<?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>204619</bug_id>
          
          <creation_ts>2019-11-26 06:56:17 -0800</creation_ts>
          <short_desc>[GTK][WPE] Web Inspector: Add new tab for GStreamer pipelines inspection</short_desc>
          <delta_ts>2020-09-09 11:51:07 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>annulen</cc>
    
    <cc>aperez</cc>
    
    <cc>bburg</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>cturner</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>menard</cc>
    
    <cc>msaboff</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>tzagallo</cc>
    
    <cc>vjaquez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1593659</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-11-26 06:56:17 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593661</commentid>
    <comment_count>1</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-11-26 06:56:45 -0800</bug_when>
    <thetext>*** Bug 204273 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593666</commentid>
    <comment_count>2</comment_count>
      <attachid>384353</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-11-26 07:18:39 -0800</bug_when>
    <thetext>Created attachment 384353
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593667</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-11-26 07:20:07 -0800</bug_when>
    <thetext>This patch modifies the inspector protocol. Please ensure that any frontend changes appropriately use feature checks for new protocol features.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593675</commentid>
    <comment_count>4</comment_count>
      <attachid>384353</attachid>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2019-11-26 08:14:13 -0800</bug_when>
    <thetext>Comment on attachment 384353
Patch

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

I don&apos;t have much to say, but this looks fantastic! :-)
I have built the inspector and it&apos;s definitely functional and useful.

&gt; Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl:360
&gt; +           &apos;--output-script-name&apos;, &apos;Three.js&apos;);

Is this still used somewhere? It looks like you remove it above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593678</commentid>
    <comment_count>5</comment_count>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2019-11-26 08:24:15 -0800</bug_when>
    <thetext>UX wise, there&apos;s a few obvious issues that I know you are aware of like the janky scrolling of the SVG view. I also noticed,

  - The &quot;select:&quot; widget for available subbins doesn&apos;t respond to click events comfortably. You have to hold the button to select a subbin, which is different to other parts of the inspector UI.
  - Would be nice to alphabetically sort the pipelines list on the left for easier navigation when there are lots of them.
  - The filter widget on the bottom left could be used to slim the list down, at the moment it doesn&apos;t do anything for me.
  - If I drill down two levels into a pipeline, I can no longer go back up, i.e. the DOT graph for the parent bins no longer loads. For example, if I go pipeline &gt; playsink &gt; abin, and then from abin if I select &quot;Parent:&quot; playsink does nothing. But if I select the &quot;Select:&quot; option (that also seems like it should not be in there), the form resets and I can go back up. There&apos;s a weird bug there somewhere :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593764</commentid>
    <comment_count>6</comment_count>
      <attachid>384353</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-11-26 15:46:47 -0800</bug_when>
    <thetext>Comment on attachment 384353
Patch

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

r-, overall nice job on Web Inspector code :)

I think there was a lot of copy/paste of the frontend code that isn&apos;t correct.  I&apos;d also like to see this guarded so unnecessary resources aren&apos;t being loaded for ports that won&apos;t use them.

&gt; Source/JavaScriptCore/inspector/protocol/Page.json:153
&gt; +            &quot;name&quot;: &quot;getGStreamerPipelinesNames&quot;,

Instead of adding these to the `Page` domain (which doesn&apos;t really have anything to do with media), can we create a `GStreamer` domain (and associated agent) and have it be guarded by `USE(GSTREAMER)` (see &apos;IndexedDB.json&apos; for an example).  This way, non-GStreamer platforms don&apos;t have these commands and don&apos;t have to worry about them (which would also make feature checking in the frontend easier).

&gt; Source/JavaScriptCore/inspector/protocol/Page.json:388
&gt; +            &quot;parameters&quot;: []

No need to include this if there are no `parameters`.

&gt; Source/WebCore/inspector/InspectorInstrumentation.cpp:1276
&gt; +    if (InspectorPageAgent* inspectorPageAgent = instrumentingAgents.inspectorPageAgent())

`auto`

&gt; Source/WebCore/inspector/InspectorInstrumentation.h:316
&gt; +    static void gstreamerPipelineCacheUpdated(Page*);

Can we wrap these in `USE(GSTREAMER)`?

&gt; Source/WebCore/inspector/InspectorInstrumentation.h:1607
&gt; +

Oops.

&gt; Source/WebCore/inspector/InspectorInstrumentation.h:1618
&gt; +    if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForPage(page))

`auto`

&gt; Source/WebCore/inspector/agents/InspectorPageAgent.cpp:1018
&gt; +void InspectorPageAgent::dumpGStreamerPipeline(ErrorString&amp; errorString, const String&amp; pipeline, const String&amp; child, String* pipelineGraphRepresentation)

This should be `const String*`.

&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:387
&gt; +    static NeverDestroyed&lt;HashMap&lt;CString, GstBin*&gt;&gt; gstreamerPipelines;

Do you want to wrap accesses to this with a lock?  We&apos;ve done similar things like this in the past.  See `CanvasRenderingContext` for an example.

&gt; Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl:344
&gt; +    # Combine the svg-pan-zoom.js JavaScript files in Production builds into a single file (SvgPanZoom.js).

Is this necessary?  I&apos;d like to avoid including this on non-GStreamer ports.

&gt;&gt; Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl:360
&gt;&gt; +           &apos;--output-script-name&apos;, &apos;Three.js&apos;);
&gt; 
&gt; Is this still used somewhere? It looks like you remove it above.

This is used by the Layers Tab.

&gt; Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl:362
&gt; +    # Combine the viz.js JavaScript files in Production builds into a single file (Viz.js).

Ditto

&gt; Source/WebInspectorUI/UserInterface/Controllers/GStreamerManager.js:21
&gt; +    // Public

We put this below the `constructor`.

&gt; Source/WebInspectorUI/UserInterface/Images/GStreamer.svg:58
&gt; +

Extra newlines?

&gt; Source/WebInspectorUI/UserInterface/Models/GStreamerPipeline.js:46
&gt; +

Unnecessary newline.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.css:19
&gt; +.sidebar &gt; .panel.navigation.debugger &gt; .content {

I think you mean `.gstreamer` instead of `.debugger`?

Most of these styles also seem wrong.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.js:23
&gt; +        super(&quot;gstreamer&quot;, WI.UIString(&quot;GStreamer&quot;), true);

Do you really need `true` for `shouldAutoPruneStaleTopLevelResourceTreeElements`?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593825</commentid>
    <comment_count>7</comment_count>
      <attachid>384353</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-27 03:49:32 -0800</bug_when>
    <thetext>Comment on attachment 384353
Patch

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

I&apos;m not sure about the use of Cache here, it&apos;s not actually a cache but the list of active pipelines, no? what about using gstreamerActivePipelinesChanged for example? and then rename other like registerActivePipeline, etc. Would it be possible to add tests for this?

&gt; Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.cpp:83
&gt; +    InspectorInstrumentation::gstreamerPipelineCacheUpdated(context().document()-&gt;page());

Can document() be nullptr?

&gt; Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.cpp:97
&gt; +    InspectorInstrumentation::gstreamerPipelineCacheUpdated(context().document()-&gt;page());

Ditto.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:177
&gt; +#if USE(GSTREAMER)
&gt; +#include &quot;GStreamerCommon.h&quot;
&gt; +#endif

What do you need this for?

&gt; Source/WebCore/html/HTMLMediaElement.cpp:7221
&gt; +void HTMLMediaElement::gstreamerPipelinesCacheUpdated()

gstreamerPipelineCacheUpdated for consistency with InspectorInstrumentation

&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:385
&gt; +HashMap&lt;CString, GstBin*&gt;&amp; gstreamerPipelinesMap()

This should be static. It&apos;s private inside GStreamerCommon, so we can remove the gstreamer prefix and simply use pipelinesMap() or activePipelinesMap()

&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:394
&gt; +

We indeed need a lock if pipelines can be registered/unregistered from any thread, otherwise add isMainThread() asserts

&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:407
&gt; +    gstreamerPipelinesMap().take(name.get());

use remove since you are not getting the value

&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:415
&gt; +    for (auto name : map.keys())

auto&amp;

&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:425
&gt; +        return CString();

return { }

&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:429
&gt; +        return CString(data.get());

You don&apos;t need the CString() I think.

&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:435
&gt; +        return CString(data.get());

Ditto.

&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:438
&gt; +    return CString();

{ }

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:3072
&gt; +        unregisterGStreamerPipeline(m_pipeline.get());

You need to notify the player here too, no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594543</commentid>
    <comment_count>8</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-12-02 02:55:27 -0800</bug_when>
    <thetext>Thanks for the reviews, I&apos;ll try to update the patch soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597167</commentid>
    <comment_count>9</comment_count>
      <attachid>384353</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-12-10 07:21:15 -0800</bug_when>
    <thetext>Comment on attachment 384353
Patch

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

&gt;&gt; Source/WebCore/inspector/agents/InspectorPageAgent.cpp:1018
&gt;&gt; +void InspectorPageAgent::dumpGStreamerPipeline(ErrorString&amp; errorString, const String&amp; pipeline, const String&amp; child, String* pipelineGraphRepresentation)
&gt; 
&gt; This should be `const String*`.

Which argument? The last one? Doesn&apos;t seem to work. The virtual method doesn&apos;t use const String*.

&gt;&gt; Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl:344
&gt;&gt; +    # Combine the svg-pan-zoom.js JavaScript files in Production builds into a single file (SvgPanZoom.js).
&gt; 
&gt; Is this necessary?  I&apos;d like to avoid including this on non-GStreamer ports.

I now use d3.js ... I don&apos;t know how to conditionally process these scripts though and I&apos;d like to avoid to touch Perl code ;)

&gt;&gt;&gt; Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl:360
&gt;&gt;&gt; +           &apos;--output-script-name&apos;, &apos;Three.js&apos;);
&gt;&gt; 
&gt;&gt; Is this still used somewhere? It looks like you remove it above.
&gt; 
&gt; This is used by the Layers Tab.

It&apos;s not removed.

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.js:23
&gt;&gt; +        super(&quot;gstreamer&quot;, WI.UIString(&quot;GStreamer&quot;), true);
&gt; 
&gt; Do you really need `true` for `shouldAutoPruneStaleTopLevelResourceTreeElements`?

Hum, I think so? That would enable clean-up of the tab eg when a &lt;video&gt; element disappears, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597527</commentid>
    <comment_count>10</comment_count>
      <attachid>384353</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-12-10 22:54:33 -0800</bug_when>
    <thetext>Comment on attachment 384353
Patch

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

&gt;&gt;&gt; Source/WebCore/inspector/agents/InspectorPageAgent.cpp:1018
&gt;&gt;&gt; +void InspectorPageAgent::dumpGStreamerPipeline(ErrorString&amp; errorString, const String&amp; pipeline, const String&amp; child, String* pipelineGraphRepresentation)
&gt;&gt; 
&gt;&gt; This should be `const String*`.
&gt; 
&gt; Which argument? The last one? Doesn&apos;t seem to work. The virtual method doesn&apos;t use const String*.

Ah, this is an out parameter.  My mistake.

&gt;&gt;&gt; Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl:344
&gt;&gt;&gt; +    # Combine the svg-pan-zoom.js JavaScript files in Production builds into a single file (SvgPanZoom.js).
&gt;&gt; 
&gt;&gt; Is this necessary?  I&apos;d like to avoid including this on non-GStreamer ports.
&gt; 
&gt; I now use d3.js ... I don&apos;t know how to conditionally process these scripts though and I&apos;d like to avoid to touch Perl code ;)

Similar to the `COMBINE_INSPECTOR_RESOURCES` environment variable, I think maybe we should have something like `INCLUDE_GSTREAMER` that could be set on a platform-by-platform basis and would determine whether certain files are included in the built Main.html.

&gt;&gt;&gt;&gt; Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl:360
&gt;&gt;&gt;&gt; +           &apos;--output-script-name&apos;, &apos;Three.js&apos;);
&gt;&gt;&gt; 
&gt;&gt;&gt; Is this still used somewhere? It looks like you remove it above.
&gt;&gt; 
&gt;&gt; This is used by the Layers Tab.
&gt; 
&gt; It&apos;s not removed.

I think this shows as added because you used 8 spaces instead of 4 for the indentation.  Please use 4 spaces of indent like the rest of this file.

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.js:23
&gt;&gt;&gt; +        super(&quot;gstreamer&quot;, WI.UIString(&quot;GStreamer&quot;), true);
&gt;&gt; 
&gt;&gt; Do you really need `true` for `shouldAutoPruneStaleTopLevelResourceTreeElements`?
&gt; 
&gt; Hum, I think so? That would enable clean-up of the tab eg when a &lt;video&gt; element disappears, right?

Every `WI.NavigationSidebarPanel` has a `WI.TreeOutline` that is used to show the navigation hierarchy/tree for the content of that tab.  `shouldAutoPruneStaleTopLevelResourceTreeElements` indicates that if the immediate (first-level) children of that `WI.TreeOutline` are `instanceof WI.ResourceTreeElement`, remove the tree element if the `WI.Frame` of the related `WI.Resource` is no longer attached to the inspected page.  Seeing as how you&apos;re not using `WI.ResourceTreeElement`, passing this won&apos;t do anything.  It also has nothing to do with whether the tab is shown/hidden.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599413</commentid>
    <comment_count>11</comment_count>
      <attachid>385887</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-12-17 07:37:56 -0800</bug_when>
    <thetext>Created attachment 385887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599419</commentid>
    <comment_count>12</comment_count>
      <attachid>385888</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-12-17 07:57:18 -0800</bug_when>
    <thetext>Created attachment 385888
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599421</commentid>
    <comment_count>13</comment_count>
      <attachid>385889</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-12-17 08:06:55 -0800</bug_when>
    <thetext>Created attachment 385889
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599426</commentid>
    <comment_count>14</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-12-17 08:16:46 -0800</bug_when>
    <thetext>GTK &amp; WPE EWS would need Graphviz-dev libs installed...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599755</commentid>
    <comment_count>15</comment_count>
      <attachid>385889</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-12-18 04:32:46 -0800</bug_when>
    <thetext>Comment on attachment 385889
Patch

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

&gt; Source/cmake/GStreamerChecks.cmake:13
&gt; +    find_package(GraphViz 2.43 REQUIRED)

We can&apos;t add new deps, you need to make the feature conditional to the presence of the library.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599759</commentid>
    <comment_count>16</comment_count>
      <attachid>385960</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-12-18 04:55:36 -0800</bug_when>
    <thetext>Created attachment 385960
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599760</commentid>
    <comment_count>17</comment_count>
      <attachid>385961</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-12-18 04:58:08 -0800</bug_when>
    <thetext>Created attachment 385961
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599762</commentid>
    <comment_count>18</comment_count>
      <attachid>385963</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-12-18 05:13:32 -0800</bug_when>
    <thetext>Created attachment 385963
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599898</commentid>
    <comment_count>19</comment_count>
      <attachid>385963</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-12-18 11:36:50 -0800</bug_when>
    <thetext>Comment on attachment 385963
Patch

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

Nice progress!  This is looking much better :)

There are still some style/layering issues, but I think those can mostly be solved with the comments I mentioned, as well as if you installed/used &lt;https://eslint.org&gt; in each of the files you added.

Could you please include some screenshots too?

&gt; Source/JavaScriptCore/inspector/protocol/GStreamer.json:6
&gt; +    &quot;types&quot;: [],

You can drop this if it&apos;s empty

&gt; Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.cpp:84
&gt; +    auto* document = context().document();
&gt; +    if (document)

Style: you can combine these:
```
    if (auto* document = context().document())
```

&gt; Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.cpp:85
&gt; +        InspectorInstrumentation::gstreamerActivePipelinesChanged(document-&gt;page());

I think it would be better to just pass the `Document*` to `InspectorInstrumentation::gstreamerActivePipelinesChanged` so that the `FAST_RETURN_IF_NO_FRONTENDS` can avoid the `document` pointer check and the `-&gt;page()` access.  You&apos;d also want to benefit from the logic inside `InspectorInstrumentation::instrumentingAgentsForDocument` that deals with template documents.

&gt; Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.cpp:100
&gt; +    auto* document = context().document();
&gt; +    if (document)

Ditto (83)

&gt; Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.cpp:101
&gt; +        InspectorInstrumentation::gstreamerActivePipelinesChanged(document-&gt;page());

Ditto (85)

&gt; Source/WebCore/html/HTMLMediaElement.cpp:7231
&gt; +    InspectorInstrumentation::gstreamerActivePipelinesChanged(document().page());

Ditto (DefaultAudioDestinationNode.cpp:85), although you may need to get the address of `document()` or add an overload of `InspectorInstrumentation::gstreamerActivePipelinesChanged` for `Document&amp;`.

&gt; Source/WebCore/inspector/InspectorController.cpp:182
&gt; +    m_agents.append(makeUnique&lt;InspectorGStreamerAgent&gt;(pageContext));

Unless this is needed by one of the other agents below, please put this at the end of the list (after `InspectorAnimationAgent` but before the `commandLineAPIHost` stuff).

&gt; Source/WebCore/inspector/InspectorInstrumentation.h:488
&gt; +#if USE(GSTREAMER)
&gt; +    static void gstreamerActivePipelinesChangedImpl(InstrumentingAgents&amp;);
&gt; +#endif

Please match the relative positioning of the Impl with the non-Impl by moving this below `renderLayerDestroyedImpl`.

&gt; Source/WebCore/inspector/InstrumentingAgents.h:204
&gt; +    InspectorGStreamerAgent* m_inspectorGStreamerAgent { nullptr };

I know that many of the other agents follow this naming convention, but I&apos;d like Web Inspector to move in a different direction for the sake of clarity:
 - &quot;persistent*&quot; for if the agent should be reachable so long as Web Inspector is connected
 - &quot;enabled*&quot; for if the agent should be reachable after that domain&apos;s `enable` command is invoked (assuming the corresponding `disable` has not been called)
 - &quot;tracking*&quot; for if the agent should be reachable during a timeline recording (similar to &quot;enabled*&quot; but instead gated by that domain&apos;s `startTracking` and `stopTracking` commands)
This way, callers can reason about the state of the agent at the callsite.  Take a look at the way `inspectorTimelineAgent` (which should be `enabledInspectorTimelineAgent`) is used vs `trackingInspectorTimelineAgent` for an example.

As such, please name this `m_persistentInspectorGStreamerAgent`.

&gt; Source/WebCore/inspector/agents/InspectorGStreamerAgent.cpp:51
&gt; +    UNUSED_PARAM(errorString);

If you&apos;re not using the `errorString`, you can just omit the parameter name:
```
    void InspectorGStreamerAgent::getActivePipelinesNames(ErrorString&amp;, RefPtr&lt;JSON::ArrayOf&lt;String&gt;&gt;&amp; pipelines)
```

&gt; Source/WebCore/inspector/agents/InspectorGStreamerAgent.cpp:59
&gt; +    UNUSED_PARAM(errorString);

Ditto (51)

&gt; Source/WebInspectorUI/UserInterface/Controllers/GStreamerManager.js:40
&gt; +    get agent() {

This should be done at the callsite, not in the manager.  The manager is effectively a singleton for the purposes of bridging controls between the single UI and the potentially multiple targets it&apos;s connected to.  We should not have the manager assume that there&apos;s only a single target.

&gt; Source/WebInspectorUI/UserInterface/Controllers/GStreamerManager.js:50
&gt; +        WI.FileUtilities.save(object.saveData);

Please do this at the callsite.  The manager shouldn&apos;t be concerned with IO or anything like that.  If you must do it here, at least add an assertion that the `object` is an expected type.

&gt; Source/WebInspectorUI/UserInterface/Controllers/GStreamerManager.js:53
&gt; +    renderSVGElement(graphRepresentation)

This feels like a layering violation, in that it generates view content (a DOM node) in the controller &quot;layer&quot;.  Can you move this outside the manager?  Perhaps have this as a static method on `WI.GStreamerView`?

&gt; Source/WebInspectorUI/UserInterface/Controllers/GStreamerManager.js:62
&gt; +        this.dispatchEventToListeners(WI.GStreamerManager.Event.ActivePipelinesChanged, {});

If there is no data to send with the event, there&apos;s no need to include the `{}`.

&gt; Source/WebInspectorUI/UserInterface/Models/GStreamerPipeline.js:35
&gt; +    get svgElement() { return this._svgDocument.getElementsByTagName(&quot;svg&quot;)[0]; }

Style: we only use single-line getters if the body is simple (e.g. return a variable with the same (or similar) name as the getter name), so please put this on separate lines.

&gt; Source/WebInspectorUI/UserInterface/Models/GStreamerPipeline.js:39
&gt; +        let name = this._name;

You can inline this in the template string.

&gt; Source/WebInspectorUI/UserInterface/Models/GStreamerPipeline.js:40
&gt; +        let filename = WI.unlocalizedString(`GStreamer-pipeline-dump-${name}.dot`);

You can now use `suggestedName` instead of `filename`.

&gt; Source/WebInspectorUI/UserInterface/Protocol/GStreamerObserver.js:27
&gt; +

Style: extra newline

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.css:88
&gt; +    display: block;

CSS rules that have the same properties should be merged together with a comma-separated list of CSS selectors.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.js:23
&gt; +        super(&quot;gstreamer&quot;, WI.UIString(&quot;GStreamer&quot;), false);

You can omit falsy values in function calls if they are the trailing argument.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.js:76
&gt; +            this.contentTreeOutline.removeChildren(true);

We prefer creating a `const` variable when including non-obvious constants as arguments to function calls.  That way, it&apos;s more understandable at the callsite and doesn&apos;t require the reader to have to find and read the function&apos;s definition.
```
    const suppressOnDeselect = true;
    this.contentTreeOutline.removeChildren(suppressOnDeselect);
```

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.js:78
&gt; +                let elt = new WI.TreeElement(name, null);

Ditto (23)

We don&apos;t use abbreviated names like this for variable names.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.js:97
&gt; +        target.GStreamerAgent.dumpActivePipeline(pipelineName, &quot;&quot;).then((payload) =&gt; {

Ditto (76)

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.js:99
&gt; +            let representedObject = new WI.GStreamerPipeline(pipelineName, &quot;&quot;, &quot;&quot;, payload.pipelineGraphRepresentation, documentFragment);

Ditto (76)

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerTabContentView.css:28
&gt; +    background-color: white;

Do you care about supporting dark mode (assuming it exists on GTK/WPE)?

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerTabContentView.css:33
&gt; +.content-view.gstreamer .navigation-bar.invisible {
&gt; +    visibility: hidden;
&gt; +}

Why is this needed?

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerTabContentView.js:24
&gt; +        let detailsSidebarPanelConstructors = [];

This can be omitted.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerTabContentView.js:27
&gt; +              detailsSidebarPanelConstructors);

Style: we don&apos;t do this kind of wrapping in Web Inspector

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerTabContentView.js:42
&gt; +        return WI.Platform.port === &quot;gtk&quot; || WI.Platform.port === &quot;wpe&quot;;

We should also only allow this if `InspectorBackend.hasDomain(&quot;GStreamer&quot;)`.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerTabContentView.js:56
&gt; +        return representedObject instanceof WI.GStreamerPipeline;

You&apos;ll also want to add something like this to `WI.tabContentViewClassForRepresentedObject` so that if the user closes the GStreamer Tab, we know how to reopen it.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerTabContentView.js:66
&gt; +    initialLayout()

Please include a `super.initialLayout()` call as well.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:36
&gt; +        this._exportButtonNavigationItem.tooltip = WI.UIString(&quot;Export pipeline dot representation (%s)&quot;).format(WI.saveKeyboardShortcut.displayName);

This probably needs a comment explaining what &quot;pipeline dot&quot; means.  `WI.UIString` accepts additional arguments so that the comment you specify is included in the &apos;localizedStrings.js&apos; file for localizers.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:39
&gt; +        this._exportButtonNavigationItem.addEventListener(WI.ButtonNavigationItem.Event.Clicked, this._handleExportButtonNavigationItemClicked.bind(this));

When using Web Inspector&apos;s event listener system, you don&apos;t (and shouldn&apos;t) need to `bind` the function.  Instead, you should provide the `thisObject` as a third argument:
```
    this._exportButtonNavigationItem.addEventListener(WI.ButtonNavigationItem.Event.Clicked, this._handleExportButtonNavigationItemClicked, this);
```

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:47
&gt; +        this._containerElement.id = &quot;pipeline-container&quot;;

Please avoid using id selectors unless you&apos;re using them with a `for` attribute.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:72
&gt; +            this._scopeBar.removeEventListener(WI.ScopeBar.Event.SelectionChanged, this._scopeBarSelectionDidChange);

You&apos;ll also need to specify the `thisObject` if it was specified in `addEventListener`.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:76
&gt; +        if (this._label) {

Style: we don&apos;t add braces to single-line control flow

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:78
&gt; +        }

Style: please add a newline after

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:79
&gt; +        var name = gstreamerPipeline.binName || gstreamerPipeline.name;

Please use `let`

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:80
&gt; +        this._label = new WI.TextNavigationItem(&quot;gst-pipeline-bin-name&quot;, &quot;Displaying &quot; + name + &quot;. Available sub-bins: &quot;);

Should this be localized?

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:88
&gt; +            var scopeBarItems = [];

Ditto (79)

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:89
&gt; +            var defaultItem = new WI.ScopeBarItem(&quot;&lt;placeholder&gt;&quot;, &quot;Select...&quot;);

Ditto (79)

Also, please make the identifier name more specific like `gst-pipeline-scope-bar-placeholder`, as we keep `WI.Setting` objects per scope bar item to preserve the selected state.  Also, there&apos;s no reason to include &quot;&lt;&quot; and &quot;&gt;&quot; with a better naming scheme.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:90
&gt; +            defaultItem.__parent = &quot;&quot;;

Adding an expando property that is inherently falsy is discouraged.  It&apos;s preferable to have a fallback `|| &quot;&quot;` at the callsite instead.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:94
&gt; +            var scopeBarItem = new WI.ScopeBarItem(gstreamerPipeline.parentBinName, &quot;Parent: &quot; + gstreamerPipeline.parentBinName);

Ditto (79)

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:96
&gt; +            scopeBarItem.__parent = &quot;&quot;;

Ditto (90)

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:99
&gt; +            for (var binName of payload.binNames) {

Ditto (79)

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:100
&gt; +                var scopeBarItem = new WI.ScopeBarItem(binName, binName);

Ditto (79)

Also, this name shadows the name from outside this scope, so please rename it (or the outer one).

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:117
&gt; +        var svg = d3.select(&quot;#pipeline-container&quot;),

Ditto (79)

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:118
&gt; +            g = svg.select(&quot;g&quot;);

Style: we don&apos;t use comma initialization for variables, and instead include a `let` for each variable

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:121
&gt; +            g.attr(&quot;transform&quot;, d3.event.transform)

Style: missing semicolon

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:129
&gt; +        for (var it of event.target.items) {

Ditto (79)

Also, please use a more descriptive name than `it`.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:130
&gt; +            if ((it.id !== &quot;&lt;placeholder&gt;&quot;) &amp;&amp; it.selected) {

Style: extra parenthesis are not needed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605787</commentid>
    <comment_count>20</comment_count>
      <attachid>385963</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-13 03:39:13 -0800</bug_when>
    <thetext>Comment on attachment 385963
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.css:88
&gt;&gt; +    display: block;
&gt; 
&gt; CSS rules that have the same properties should be merged together with a comma-separated list of CSS selectors.

I think I&apos;ve copied that from an existing stylesheet. I&apos;m sorry I don&apos;t understand what you mean though, I&apos;m generally not very fluent in CSS :)

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerTabContentView.css:28
&gt;&gt; +    background-color: white;
&gt; 
&gt; Do you care about supporting dark mode (assuming it exists on GTK/WPE)?

In GTK yes, but not in WPE.

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:47
&gt;&gt; +        this._containerElement.id = &quot;pipeline-container&quot;;
&gt; 
&gt; Please avoid using id selectors unless you&apos;re using them with a `for` attribute.

I don&apos;t understand what you mean here with `for` attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629554</commentid>
    <comment_count>21</comment_count>
      <attachid>393471</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-13 03:15:23 -0700</bug_when>
    <thetext>Created attachment 393471
screenshot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629555</commentid>
    <comment_count>22</comment_count>
      <attachid>393472</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-13 03:18:52 -0700</bug_when>
    <thetext>Created attachment 393472
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629556</commentid>
    <comment_count>23</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-13 03:25:16 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #21)
&gt; Created attachment 393471 [details]
&gt; screenshot

As the SVG can potentially be huge, the user can zoom (alt + mouse wheel) and pan with the mouse as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629557</commentid>
    <comment_count>24</comment_count>
      <attachid>393472</attachid>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2020-03-13 03:26:59 -0700</bug_when>
    <thetext>Comment on attachment 393472
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:450
&gt; +    if (gvRenderData(context, graph, &quot;svg&quot;_s, &amp;svgData, &amp;length)) {

Linking to graphviz libraries makes them yet another run-time dependency which must be distributed alongside with WebKit. Wouldn&apos;t it be a better idea to invoke external &quot;dot&quot; program and read SVG from its stdout?

&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:465
&gt; +    return &quot;&lt;svg height=\&quot;30\&quot; width=\&quot;200\&quot;&gt;&lt;text x=\&quot;0\&quot; y=\&quot;15\&quot; fill=\&quot;red\&quot;&gt;Pipeline cannot be diplayed. Please install Graphviz along with its development headers and recompile WebKit. Â¯\\_(ã)_/Â¯&lt;/text&gt;&lt;/svg&gt;&quot;;

This could sound like &quot;install dot and try again&quot;, no recompilation or even WebKit restart.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629569</commentid>
    <comment_count>25</comment_count>
      <attachid>393472</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-13 04:09:16 -0700</bug_when>
    <thetext>Comment on attachment 393472
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:450
&gt;&gt; +    if (gvRenderData(context, graph, &quot;svg&quot;_s, &amp;svgData, &amp;length)) {
&gt; 
&gt; Linking to graphviz libraries makes them yet another run-time dependency which must be distributed alongside with WebKit. Wouldn&apos;t it be a better idea to invoke external &quot;dot&quot; program and read SVG from its stdout?

I&apos;m not a big fan of spawning an external process if it can be avoided. Could also be an issue if the WebProcess is sandboxed? I don&apos;t know. No strong opposition though, I defer that to the reviewers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629574</commentid>
    <comment_count>26</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-03-13 04:59:05 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #25)
&gt; Comment on attachment 393472 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=393472&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:450
&gt; &gt;&gt; +    if (gvRenderData(context, graph, &quot;svg&quot;_s, &amp;svgData, &amp;length)) {
&gt; &gt; 
&gt; &gt; Linking to graphviz libraries makes them yet another run-time dependency which must be distributed alongside with WebKit. Wouldn&apos;t it be a better idea to invoke external &quot;dot&quot; program and read SVG from its stdout?
&gt; 
&gt; I&apos;m not a big fan of spawning an external process if it can be avoided.
&gt; Could also be an issue if the WebProcess is sandboxed? I don&apos;t know. No
&gt; strong opposition though, I defer that to the reviewers.

Then the “dot” program will need to be available inside the sandbox. In
general I would prefer to avoid spawning an external process, but I can
empathize for not wanting yet another runtime dependency linked in...

How about building a small loadable shared library which links against
Graphviz and exports a convertGStreamerBinToSVG() function, and then
make exportBinToSVG() load that using dlopen()? If loading the library
fails at runtime, the exportBinToSVG() would also return the SVG which
tells that Graphviz is not available. This way we would not need the
WebKit library to link to Graphviz, only the loadable .so would, and
distributors can choose to build the support at build time, but provide
the .so in a separate package without needing to make their main WebKit
package depend on Graphviz 🤔
dependency would be required at build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629576</commentid>
    <comment_count>27</comment_count>
      <attachid>393472</attachid>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2020-03-13 05:10:48 -0700</bug_when>
    <thetext>Comment on attachment 393472
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:450
&gt;&gt;&gt;&gt; +    if (gvRenderData(context, graph, &quot;svg&quot;_s, &amp;svgData, &amp;length)) {
&gt;&gt;&gt; 
&gt;&gt;&gt; Linking to graphviz libraries makes them yet another run-time dependency which must be distributed alongside with WebKit. Wouldn&apos;t it be a better idea to invoke external &quot;dot&quot; program and read SVG from its stdout?
&gt;&gt; 
&gt;&gt; I&apos;m not a big fan of spawning an external process if it can be avoided. Could also be an issue if the WebProcess is sandboxed? I don&apos;t know. No strong opposition though, I defer that to the reviewers.
&gt; 
&gt; Then the “dot” program will need to be available inside the sandbox. In
&gt; general I would prefer to avoid spawning an external process, but I can
&gt; empathize for not wanting yet another runtime dependency linked in...
&gt; 
&gt; How about building a small loadable shared library which links against
&gt; Graphviz and exports a convertGStreamerBinToSVG() function, and then
&gt; make exportBinToSVG() load that using dlopen()? If loading the library
&gt; fails at runtime, the exportBinToSVG() would also return the SVG which
&gt; tells that Graphviz is not available. This way we would not need the
&gt; WebKit library to link to Graphviz, only the loadable .so would, and
&gt; distributors can choose to build the support at build time, but provide
&gt; the .so in a separate package without needing to make their main WebKit
&gt; package depend on Graphviz 🤔
&gt; dependency would be required at build

This sounds more complicated then just making dot available in sandbox</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629578</commentid>
    <comment_count>28</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-03-13 05:43:25 -0700</bug_when>
    <thetext>I don&apos;t see any problem with the dependency as long as it&apos;s optional.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629579</commentid>
    <comment_count>29</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2020-03-13 05:46:18 -0700</bug_when>
    <thetext>What about license? AFAIK Graphviz is not GPL-compatible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629591</commentid>
    <comment_count>30</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-03-13 06:38:13 -0700</bug_when>
    <thetext>(In reply to Konstantin Tokarev from comment #24)
&gt; Comment on attachment 393472 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=393472&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:450
&gt; &gt; +    if (gvRenderData(context, graph, &quot;svg&quot;_s, &amp;svgData, &amp;length)) {
&gt; 
&gt; Linking to graphviz libraries makes them yet another run-time dependency
&gt; which must be distributed alongside with WebKit. Wouldn&apos;t it be a better
&gt; idea to invoke external &quot;dot&quot; program and read SVG from its stdout?

In the end you have to also distribute graphviz one way or the other.

But if you call dot externally you have to also distribute the dot program on top of graphviz.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629592</commentid>
    <comment_count>31</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2020-03-13 06:46:53 -0700</bug_when>
    <thetext>&gt;But if you call dot externally you have to also distribute the dot program on top of graphviz.

The don&apos;t have to be distributed together, if user installs graphviz and GPL program starts calling it, it doesn&apos;t violate GPL. AFAIK Linux distros with binary packages are fine with such loose coupling, but they will likely disable graphviz if it&apos;s linked to WebKit and will have to be installed as a dependency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629593</commentid>
    <comment_count>32</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2020-03-13 06:48:10 -0700</bug_when>
    <thetext>And if we speak about WebKit-using software distributed directly, it also can invoke dot installed from system packages without any troubles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629596</commentid>
    <comment_count>33</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-03-13 07:28:39 -0700</bug_when>
    <thetext>(In reply to Konstantin Tokarev from comment #31)
&gt; &gt;But if you call dot externally you have to also distribute the dot program on top of graphviz.
&gt; 
&gt; The don&apos;t have to be distributed together, if user installs graphviz and GPL
&gt; program starts calling it, it doesn&apos;t violate GPL. AFAIK Linux distros with
&gt; binary packages are fine with such loose coupling, but they will likely
&gt; disable graphviz if it&apos;s linked to WebKit and will have to be installed as a
&gt; dependency.

Yeah right. 

Graphviz is EPL-1.0, which its not GPL compatible according to https://en.wikipedia.org/wiki/Eclipse_Public_License


So it looks the best way forward is calling the dot program externally.

If this program its not available (not installed, etc) then this can show (instead of the graph) a warning asking the user to install it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629616</commentid>
    <comment_count>34</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-13 08:40:39 -0700</bug_when>
    <thetext>Devin, can you review the Inspector bits please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629627</commentid>
    <comment_count>35</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-13 09:01:17 -0700</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #33)
&gt; (In reply to Konstantin Tokarev from comment #31)
&gt; &gt; &gt;But if you call dot externally you have to also distribute the dot program on top of graphviz.
&gt; &gt; 
&gt; &gt; The don&apos;t have to be distributed together, if user installs graphviz and GPL
&gt; &gt; program starts calling it, it doesn&apos;t violate GPL. AFAIK Linux distros with
&gt; &gt; binary packages are fine with such loose coupling, but they will likely
&gt; &gt; disable graphviz if it&apos;s linked to WebKit and will have to be installed as a
&gt; &gt; dependency.
&gt; 
&gt; Yeah right. 
&gt; 
&gt; Graphviz is EPL-1.0, which its not GPL compatible according to
&gt; https://en.wikipedia.org/wiki/Eclipse_Public_License
&gt; 
&gt; 
&gt; So it looks the best way forward is calling the dot program externally.
&gt; 
&gt; If this program its not available (not installed, etc) then this can show
&gt; (instead of the graph) a warning asking the user to install it

Awesome, so I need to make this asynchronous too now...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629652</commentid>
    <comment_count>36</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-03-13 09:46:46 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #35)
&gt; (In reply to Carlos Alberto Lopez Perez from comment #33)
&gt; &gt; (In reply to Konstantin Tokarev from comment #31)
&gt; &gt; &gt; &gt;But if you call dot externally you have to also distribute the dot program on top of graphviz.
&gt; &gt; &gt; 
&gt; &gt; &gt; The don&apos;t have to be distributed together, if user installs graphviz and GPL
&gt; &gt; &gt; program starts calling it, it doesn&apos;t violate GPL. AFAIK Linux distros with
&gt; &gt; &gt; binary packages are fine with such loose coupling, but they will likely
&gt; &gt; &gt; disable graphviz if it&apos;s linked to WebKit and will have to be installed as a
&gt; &gt; &gt; dependency.
&gt; &gt; 
&gt; &gt; Yeah right. 
&gt; &gt; 
&gt; &gt; Graphviz is EPL-1.0, which its not GPL compatible according to
&gt; &gt; https://en.wikipedia.org/wiki/Eclipse_Public_License
&gt; &gt; 
&gt; &gt; 
&gt; &gt; So it looks the best way forward is calling the dot program externally.
&gt; &gt; 
&gt; &gt; If this program its not available (not installed, etc) then this can show
&gt; &gt; (instead of the graph) a warning asking the user to install it
&gt; 
&gt; Awesome, so I need to make this asynchronous too now...


Or you can wait for the command dot to finish processing and give you the image file. How is this any different than waiting for the graphviz call? (likely its a bit slower because of the overhead of calling an external program, but not fundamentally different)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631602</commentid>
    <comment_count>37</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-19 04:14:06 -0700</bug_when>
    <thetext>Of course I can wait, but as the inspector agent can execute tasks asynchronously, in theory it should be possible to chain this down to the `dot` program execution. Is it worth?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632127</commentid>
    <comment_count>38</comment_count>
      <attachid>394093</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-20 09:30:07 -0700</bug_when>
    <thetext>Created attachment 394093
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632208</commentid>
    <comment_count>39</comment_count>
      <attachid>394093</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-03-20 12:22:53 -0700</bug_when>
    <thetext>Comment on attachment 394093
Patch

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

Is the GStreamer information you&apos;re exposing in Web Inspector aimed at WebKit/GStreamer engineers, or the wider web developer audience?  If the former, I&apos;d ask that you add a setting so that this isn&apos;t shown to web developers, possibly confusing them as to what they&apos;re looking at (you could even make it an engineering setting, if this UI is not something you&apos;d ever want to ship to customers, meaning that it would only be accessible in local builds).

&gt; Source/JavaScriptCore/inspector/protocol/GStreamer.json:11
&gt; +                { &quot;name&quot;: &quot;pipelines&quot;, &quot;type&quot;: &quot;array&quot;, &quot;items&quot;: { &quot;$ref&quot;: &quot;string&quot;}, &quot;description&quot;: &quot;Array of pipeline names.&quot; }

This should just be `&quot;type&quot;: &quot;string&quot;`.

NIT: there should be a space after the `&quot;string&quot;` and before the `}`

&gt; Source/JavaScriptCore/inspector/protocol/GStreamer.json:22
&gt; +                { &quot;name&quot;: &quot;binNames&quot;, &quot;type&quot;: &quot;array&quot;, &quot;items&quot;: { &quot;$ref&quot;: &quot;string&quot;}, &quot;description&quot;: &quot;Array of bin names.&quot; }

Ditto (11)

&gt; Source/JavaScriptCore/inspector/protocol/GStreamer.json:41
&gt; +            &quot;description&quot;: &quot;Fired when the internal registry of active GStreamer pipelines was updated, eg when a new pipeline was registered or when a pipeline was removed from the registry.&quot;

NIT: `e.g.`

&gt; Source/WebCore/inspector/agents/InspectorGStreamerAgent.cpp:58
&gt; +    for (auto item : activePipelinesNames())

Should you use `auto&amp;`?

&gt; Source/WebCore/inspector/agents/InspectorGStreamerAgent.cpp:65
&gt; +    for (auto item : getBinChildren(pipeline, child))

Ditto (58)

&gt; Source/WebCore/inspector/agents/InspectorGStreamerAgent.cpp:74
&gt; +    if (m_instrumentingAgents.persistentInspectorGStreamerAgent() != this) {
&gt; +        dumpCallback-&gt;sendFailure(&quot;GStreamer domain must be enabled&quot;_s);
&gt; +        return;
&gt; +    }

This shouldn&apos;t be possible/necessary, because making this agent &quot;persistent&quot; means that the frontend should _always_ be able to invoke any `GStreamer` commands (this is identified by the fact that there are no `GStreamer.enable` or `GStreamer.disable` commands).

If you don&apos;t want this (which is usually a better approach), please add `GStreamer.enable` and `GStreamer.disable` commands to &apos;GStreamer.json&apos; which set and unset the `m_instrumentingAgents.enabledInspectorGStreamerAgent`.  The main reason that you may want to do this is so that the frontend isn&apos;t notified about `GStreamer.activePipelinesChanged` when the GStreamer Tab is not open (see `WI.GraphicsTabContentView` or `WI.StorageTabContentView` or `WI.TimelineTabContentView` for examples of what I mean).

&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:397
&gt; +static HashMap&lt;CString, GstBin*&gt;&amp; activePipelinesMap()

Is there any need to worry about multiple threads?

&gt; Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js:178
&gt; +localizedStrings[&quot;Automatically refresh the pipeline&quot;] = &quot;Automatically refresh the pipeline&quot;;

Please include localization comments for each of these strings, especially for the more generic ones (e.g. &quot;Pipelines&quot;).  Comments can be added by calling `WI.UIString` with additional arguments: `WI.UIString(string, key, comment)` where `string` is the text to be displayed/localized, `key` is the identifier in the `localizedStrings` object in this file, and `comment` is a comment that gets added on the line before in this file.  Our recent style has been to make the `key` somewhat descriptive of the location that this string will be seen (e.g. `&quot;Automatically refresh the pipeline @ Navigation Item in GStreamer Pipeline View&quot;`) and `comment` would describe that and what it does (e.g. `&quot;Text toggle navigation item in GStreamer views that controls whether the shown pipeline is automatically refreshed on an interval&quot;`).

&gt; Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl:356
&gt; +        system($perl, $combineResourcesCmd,

Would it be possible to move _all_ of the GStreamer related files to be behind this flag?  I&apos;d prefer to avoid shipping code that will never be used :(

&gt; Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl:434
&gt; +        seedFile($targetPanZoomJS, &quot;&quot;);

Why is this needed?

&gt; Source/WebInspectorUI/UserInterface/Base/Main.js:504
&gt; +    if (WI.Platform.port === &quot;gtk&quot; || WI.Platform.port === &quot;wpe&quot;) {
&gt; +        productionTabClasses.push(WI.GStreamerTabContentView);
&gt; +    }

Style: we omit the `{ }` when the body of the `if` is only one line

&gt; Source/WebInspectorUI/UserInterface/Controllers/GStreamerManager.js:4
&gt; + *  This library is free software; you can redistribute it and/or

This is a different license than what Web Inspector ends up shipping with.  See &apos;copy-user-interface-resource.pl&apos;.

&gt; Source/WebInspectorUI/UserInterface/Controllers/GStreamerManager.js:25
&gt; +        this._enabled = WI.Platform.port === &quot;gtk&quot; || WI.Platform.port === &quot;wpe&quot;;

This is never used.

&gt; Source/WebInspectorUI/UserInterface/Controllers/GStreamerManager.js:30
&gt; +    get domains() { return [&quot;GStreamer&quot;]; }

Style: we usually only put &quot;redundant&quot; getters on one line (e.g. `get element() { return this._element; }`)

&gt; Source/WebInspectorUI/UserInterface/Controllers/GStreamerManager.js:32
&gt; +    activateExtraDomain(domain)

This shouldn&apos;t be necessary, as this path is only used by TVML, which doesn&apos;t use GStreamer :)

&gt; Source/WebInspectorUI/UserInterface/Controllers/GStreamerManager.js:43
&gt; +

Style: extra newline

&gt; Source/WebInspectorUI/UserInterface/Controllers/GStreamerManager.js:47
&gt; +    ActivePipelinesChanged: &quot;gstreamer-manager-active-pipelines-were-changed&quot;,

NIT: drop the `were`

&gt; Source/WebInspectorUI/UserInterface/Images/GStreamer.svg:5
&gt; +   xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;

This is a LOT of extra/unnecessary attributes.  Can we clean this up a bit?

&gt; Source/WebInspectorUI/UserInterface/Models/GStreamerPipeline.js:35
&gt; +    get binName() { return this._binName; }
&gt; +    get svgElement()

Style: missing newline

&gt; Source/WebInspectorUI/UserInterface/Models/GStreamerPipeline.js:44
&gt; +            url: WI.FileUtilities.inspectorURLForFilename(suggestedName),

Rather than provide a `url`, you can just use the `suggestedName` in the returned object.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.css:34
&gt; +}
&gt; +.sidebar &gt; .panel.navigation.gstreamer &gt; .navigation-bar .gstreamer-breakpoints.activated {

Style: missing newline

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.css:43
&gt; +}
&gt; +.sidebar &gt; .panel.navigation.gstreamer &gt; .navigation-bar .gstreamer-pause-resume.activated {

Ditto (33)

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.css:58
&gt; +.sidebar &gt; .panel.navigation.gstreamer .tree-outline.single-thread &gt; .item.thread {

Where does this come from?  It seems like you just copy/paste part of &apos;SourcesNavigationSidebarPanel.css&apos; :(

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.css:63
&gt; +    --tree-outline-single-thread-margin-start: -10px;

You can probably just use `-webkit-margin-start` instead of a variable and two `body[dir=ltr]` and `body[dir=rtl]` CSS rules.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.js:19
&gt; +WI.GStreamerSidebarPanel = class GStreamerSidebarPanel extends WI.NavigationSidebarPanel

NIT: I&apos;ve been trying to shift us such that subclasses of `WI.NavigationSidebarPanel` also have &quot;Navigation&quot; in the name, so please rename this class/file to `WI.GStreamerNavigationSidebarPanel`.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.js:25
&gt; +        this.contentTreeOutline.addEventListener(WI.TreeOutline.Event.SelectionDidChange, this._treeSelectionDidChange, this);

NIT: I usually try to have any event listener callbacks have `_handle` as the prefix (`this._handleTreeSelectionDidChange`) so that it&apos;s immediately obvious what it&apos;s for

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.js:27
&gt; +        WI.gstreamerManager.addEventListener(WI.GStreamerManager.Event.ActivePipelinesChanged, this._refreshPipelinesList, this);

These event listeners should be moved to `initialLayout()`, as there&apos;s no reason to listen for tree selection changes or the event to update the tree itself when we haven&apos;t even shown the tree yet.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.js:51
&gt; +    matchTreeElementAgainstCustomFilters(treeElement, flags)

Why is this needed?  The default behavior of the filter in any `WI.NavigationSidebarPanel` is to do a `simpleGlobStringToRegExp` search on every `WI.TreeElement`, so this code is doing basically the same thing again as the default.  Is our default implementation missing some edge-case?

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.js:73
&gt; +        if (target.hasDomain(&quot;GStreamer&quot;))

It shouldn&apos;t be possible to reach this point unless `InspectorBackend.hasDomain(&quot;GStreamer&quot;)`.  I realize you&apos;re testing against the specific target instead of the debuggable,  but for things like tabs and sidebar panels, there only exists one for the entirety of Web Inspector, so they aren&apos;t tied to a specific target.  Furthermore, you&apos;re testing the main target in this code, which _is_ the debuggable, meaning that it will have the exact same result as `InspectorBackend.hasDomain(&quot;GStreamer&quot;)` as that&apos;s basically where it&apos;s result is derived from.

```js
    let target = WI.assumingMainTarget();
    target.GStreamerAgent.getActivePipelineNames((error, pipelines) =&gt; {
        if (error) {
            WI.reportInternalError(error);
            return;
        }

        this.contentTreeOutline.removeChildren();
        
        for (let name of pipelines) {
            const className = &quot;gstreamer-pipeline&quot;;
            this.contentTreeOutline.appendChild(new WI.GeneralTreeElement(className, name));
        }
    });
```

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.js:93
&gt; +        if (!this.selected)
&gt; +            return;

This shouldn&apos;t be necessary because there is only ever one `WI.NavigationSidebarPanel`, so it will always be selected by default.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.js:101
&gt; +        let child = &quot;&quot;;

Why not make `child` optional in the protocol?

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerTabContentView.js:26
&gt; +        });
&gt; +        this._gstreamerView = null;

Style: missing newline

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerTabContentView.js:45
&gt; +    get type() { return WI.GStreamerTabContentView.Type; }

Style: we usually only put &quot;redundant&quot; getters on one line (e.g. `get element() { return this._element; }`)

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerTabContentView.js:59
&gt; +        this._gstreamerView.displayPipeline(representedObject);

By doing this, you&apos;re skipping over all of the mechanisms already in place for doing model&lt;-&gt;view linking.  Normally, we attach a single `WI.ContentView` to any given `representedObject` and reuse that `WI.ContentView` whenever attempting to show that `WI.ContentView`.  This is one of the ways that we keep UI/DOM code out of our models, as we can effectively preserve UI/DOM related values in the view, which is kept alive so long as the model exists.  In your case specifically, this could be used to eliminate `WI.GStreamerView.renderSVGElement` and instead have that logic be added to `WI.GStreamerPipelineView.prototype.initialLayout` (which you&apos;d want to rename), which makes `WI.GStreamerPipeline` a much &quot;cleaner&quot; object.  Furthermore, you could also remove some of the logic inside `WI.GStreamerNavigationSidebarPanel` if you link the `WI.GStreamerPipeline` model object to the `WI.TreeElement` you create for it&apos;s name, as we default to showing any associated `WI.ContentView` for the `representedObject` of the newly selected `WI.TreeElement`.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerTabContentView.js:67
&gt; +        super.initialLayout();
&gt; +        this._gstreamerView = new WI.GStreamerView(&quot;general&quot;, WI.UIString(&quot;General&quot;));

Style: missing newline

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:21
&gt; +    constructor(identifier, displayName)

Why are these two arguments needed?  They don&apos;t appear to be used anywhere.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:40
&gt; +        this._exportButtonNavigationItem.tooltip = WI.UIString(&quot;Export pipeline representation to Graphviz dot file (%s)&quot;, &quot;The Graphviz dot file format can then be converted to PNG and other picture formats with third-party tools.&quot;).format(WI.saveKeyboardShortcut.displayName);

Are you expecting that using two arguments will add a newline?  If so, that is unfortunately not how `WI.UIString` works 😅

Please see my comment on &apos;localizedStrings.js:178&apos;.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:98
&gt; +            this._label = new WI.TextNavigationItem(&quot;gst-pipeline-bin-name&quot;, WI.UIString(&quot;Displaying %s.&quot;, &quot;&quot;).format(name));

It really seems to me like this should really be in the `WI.TreeOutline` in the `WI.GStreamerNavigationSidebarPanel`.  That&apos;s Web Inspector&apos;s normal pattern.  Typically, our flow is to have the navigation sidebar be used for choosing what is shown in the main content area, and then use the details sidebar to show additional information (usually related or &quot;meta&quot; data) about what is selected.

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:121
&gt; +                innerScopeBarItem.__parent = gstreamerPipeline.binName;

We really prefer avoiding using expando properties like this, as it&apos;s harder to track where things are being used and can possibly cause naming collisions in the future if a different class (or `WI.ScopeBarItem` itself) does something similar.  Perhaps use a `Map` on `this`?

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:135
&gt; +    static renderSVGElement(graphRepresentation)

Style: please put any `static` functions in a `// Static` section above the `// Public` section

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:174
&gt; +    async _displayBin(binName, parentBinName)

Why is this marked as `async` if you don&apos;t ever use `await` or return a `Promise`?

&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerView.js:178
&gt; +        if (target.hasDomain(&quot;GStreamer&quot;))

Ditto (GStreamerSidebarPanel.js:73)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632812</commentid>
    <comment_count>40</comment_count>
      <attachid>394093</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-23 06:12:01 -0700</bug_when>
    <thetext>Comment on attachment 394093
Patch

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

&gt;&gt; Source/WebCore/inspector/agents/InspectorGStreamerAgent.cpp:74
&gt;&gt; +    }
&gt; 
&gt; This shouldn&apos;t be possible/necessary, because making this agent &quot;persistent&quot; means that the frontend should _always_ be able to invoke any `GStreamer` commands (this is identified by the fact that there are no `GStreamer.enable` or `GStreamer.disable` commands).
&gt; 
&gt; If you don&apos;t want this (which is usually a better approach), please add `GStreamer.enable` and `GStreamer.disable` commands to &apos;GStreamer.json&apos; which set and unset the `m_instrumentingAgents.enabledInspectorGStreamerAgent`.  The main reason that you may want to do this is so that the frontend isn&apos;t notified about `GStreamer.activePipelinesChanged` when the GStreamer Tab is not open (see `WI.GraphicsTabContentView` or `WI.StorageTabContentView` or `WI.TimelineTabContentView` for examples of what I mean).

OK I think this agent shouldn&apos;t be persistent.

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:397
&gt;&gt; +static HashMap&lt;CString, GstBin*&gt;&amp; activePipelinesMap()
&gt; 
&gt; Is there any need to worry about multiple threads?

I don&apos;t think so. Pipelines should be always disposed from the WebProcess main thread, but I&apos;ll check and possibly add an ASSERT.

&gt;&gt; Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl:356
&gt;&gt; +        system($perl, $combineResourcesCmd,
&gt; 
&gt; Would it be possible to move _all_ of the GStreamer related files to be behind this flag?  I&apos;d prefer to avoid shipping code that will never be used :(

There&apos;s already an environment variable, isn&apos;t that enough?

&gt;&gt; Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl:434
&gt;&gt; +        seedFile($targetPanZoomJS, &quot;&quot;);
&gt; 
&gt; Why is this needed?

For no reason ;)

&gt;&gt; Source/WebInspectorUI/UserInterface/Controllers/GStreamerManager.js:4
&gt;&gt; + *  This library is free software; you can redistribute it and/or
&gt; 
&gt; This is a different license than what Web Inspector ends up shipping with.  See &apos;copy-user-interface-resource.pl&apos;.

Is it a requirement that the WebInspector has to use a single license?

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/GStreamerSidebarPanel.css:58
&gt;&gt; +.sidebar &gt; .panel.navigation.gstreamer .tree-outline.single-thread &gt; .item.thread {
&gt; 
&gt; Where does this come from?  It seems like you just copy/paste part of &apos;SourcesNavigationSidebarPanel.css&apos; :(

I remember copying another stylesheet indeed... I&apos;ll try to clean this up a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632815</commentid>
    <comment_count>41</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-23 06:26:42 -0700</bug_when>
    <thetext>(In reply to Devin Rousso from comment #39)
&gt; Comment on attachment 394093 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=394093&amp;action=review
&gt; 
&gt; Is the GStreamer information you&apos;re exposing in Web Inspector aimed at
&gt; WebKit/GStreamer engineers, or the wider web developer audience?  If the
&gt; former, I&apos;d ask that you add a setting so that this isn&apos;t shown to web
&gt; developers, possibly confusing them as to what they&apos;re looking at (you could
&gt; even make it an engineering setting, if this UI is not something you&apos;d ever
&gt; want to ship to customers, meaning that it would only be accessible in local
&gt; builds).
&gt; 

The audience wouldn&apos;t be web developers indeed, but rather multimedia engineers. What are engineering builds BTW? This seems to be an XCode concept?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632817</commentid>
    <comment_count>42</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2020-03-23 06:34:30 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #41)
&gt; The audience wouldn&apos;t be web developers indeed, but rather multimedia
&gt; engineers.

Also end users, trying to fix their multimedia issues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1633044</commentid>
    <comment_count>43</comment_count>
      <attachid>394093</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-03-23 14:51:52 -0700</bug_when>
    <thetext>Comment on attachment 394093
Patch

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

(In reply to Konstantin Tokarev from comment #42)
&gt; (In reply to Philippe Normand from comment #41)
&gt; &gt; (In reply to Devin Rousso from comment #39)
&gt; &gt; &gt; Is the GStreamer information you&apos;re exposing in Web Inspector aimed at WebKit/GStreamer engineers, or the wider web developer audience?  If the former, I&apos;d ask that you add a setting so that this isn&apos;t shown to web developers, possibly confusing them as to what they&apos;re looking at (you could even make it an engineering setting, if this UI is not something you&apos;d ever want to ship to customers, meaning that it would only be accessible in local builds)
&gt; &gt; The audience wouldn&apos;t be web developers indeed, but rather multimedia engineers.
&gt; Also end users, trying to fix their multimedia issues
So it seems that although this isn&apos;t necessarily geared at web developers, it is something that may be used by non-WebKit engineers in a shipping browser (i.e. this is not just something for the benefit of GTK/WPE WebKit maintainers).  Is that correct?  If so, this should _not_ be behind a setting, but instead just be gated on the existence of the `GStreamer` domain (which is gated by `USE(GSTREAMER)`).

(In reply to Philippe Normand from comment #41)
&gt; What are engineering builds BTW? This seems to be an XCode concept?
I understood the term &quot;engineering build&quot; to mean a build done by an engineer (i.e. a local build from having downloaded and built the source not intended for shipping/production).  Web Inspector already has some &quot;engineering&quot; settings that are intended to assist WebKit engineers in the process of building new features or debugging existing ones, but are not intended to be released with a shipping browser (e.g. Safari Technology Preview).

&gt;&gt;&gt; Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl:356
&gt;&gt;&gt; +        system($perl, $combineResourcesCmd,
&gt;&gt; 
&gt;&gt; Would it be possible to move _all_ of the GStreamer related files to be behind this flag?  I&apos;d prefer to avoid shipping code that will never be used :(
&gt; 
&gt; There&apos;s already an environment variable, isn&apos;t that enough?

Sorry, I wasn&apos;t clear.  What you have right now is great, but I&apos;m wondering if we could take it a step further by making it so that _all_ of the new files included in &apos;WebInspectorUI/UserInterface/Main.html&apos; could be guarded by this environment variable, not just &apos;PanZoom.js&apos;.  I think this is the first time that Web Inspector will add something port specific (i.e. unlikely to be used by any other port).  Basically, I&apos;m trying to avoid having extra unnecessary/unused code be shipped on ports that don&apos;t use GStreamer.  This would likely involve having to have more checks in the frontend as to whether certain types existing (e.g. checking that `WI.GStreamerManager` exists before using it), but I think that that is an OK tradeoff to make in order to avoid having to ship the entire source file that is guaranteed to not be used.

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Controllers/GStreamerManager.js:4
&gt;&gt;&gt; + *  This library is free software; you can redistribute it and/or
&gt;&gt; 
&gt;&gt; This is a different license than what Web Inspector ends up shipping with.  See &apos;copy-user-interface-resource.pl&apos;.
&gt; 
&gt; Is it a requirement that the WebInspector has to use a single license?

I don&apos;t know what the rules are for this 😅

I&apos;d suggest asking in #WebKit #dev or sending an email to &lt;webkit-dev@lists.webkit.org&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687085</commentid>
    <comment_count>44</comment_count>
      <attachid>394093</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-09-09 11:51:07 -0700</bug_when>
    <thetext>Comment on attachment 394093
Patch

Clearing r? from stale Web Inspector patches. Please address outstanding feedback and send a new patch :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384353</attachid>
            <date>2019-11-26 07:18:39 -0800</date>
            <delta_ts>2019-12-17 07:37:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204619-20191126151834.patch</filename>
            <type>text/plain</type>
            <size>3535150</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyODg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
Y2FkMDE1YmMzYTI2YzZmOWU1YzYwZGFkNTEyNmJhOTgyMWI0NDI5Li5kMTQ0Mzc3OTIxYjc5Zjgy
NTQ4MzhlOGFkZTg0NGZlOTJhNGQ4Yjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBm
b3IgR1N0cmVhbWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb246
IEFkZCBHU3RyZWFtZXIgQVBJIGZvciBwaXBlbGluZSBpbnNwZWN0aW9uIGluIHRoZSBwYWdlIHBy
b3RvY29sLgorCiAyMDE5LTExLTI2ICBUdW9tYXMgS2Fya2thaW5lbiAgPHR1b21hcy53ZWJraXRA
YXBwbGUuY29tPgogCiAgICAgICAgIEF0dGVtcHRpbmcgdG8gZW5hYmxlIG1vcmUgdGhhbiBvbmUg
RnV6emVyQWdlbnQgc2hvdWxkIHJlc3VsdCBpbiBhbiBlcnJvcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDg4Mzhk
M2UxMzg2Y2M5ZjJmMTk3ODQ4YzE2ZGFmZDkyZWUyNTViMTkuLjQ5MTVkMWNhOTg2NTAyYmMyOTVm
MjA4NzEyYjZmYmQ4NTMxMjkxZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NSBAQAorMjAxOS0x
MS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBmb3IgR1N0cmVhbWVyIHBpcGVs
aW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBLZWVwIHRyYWNrIG9mIHRoZSBHU3RyZWFtZXIgcGlwZWxpbmVzLCB0aGlzIHdpbGwg
YWxsb3cgdGhlCisgICAgICAgIFdlYkluc3BlY3RvciB0byBsaXN0IGFuZCBkaXNwbGF5IHRoZW0g
aW4gYSBkZWRpY2F0ZWQgdGFiLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lc24ndCBjb3ZlciB0
aGUgcGlwZWxpbmVzIGNyZWF0ZWQgYnkgdGhlIEdTdHJlYW1lcgorICAgICAgICBMaWJXZWJSVEMg
YmFja2VuZC4gU3VwcG9ydCBmb3IgdGhhdCB3b3VsZCBiZSBhZGRlZCBsYXRlciwgaWYgdGhlCisg
ICAgICAgIGN1cnJlbnQgYXBwcm9hY2ggaXMgZGVlbWVkIGFjY2VwdGFibGUuCisKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHA6CisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjp1bmluaXRpYWxpemUpOgorICAgICAgICAo
V2ViQ29yZTo6RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjpjcmVhdGVEZXN0aW5hdGlvbik6
CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OmdzdHJlYW1lclBpcGVsaW5lc0NhY2hlVXBkYXRlZCk6CisgICAg
ICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVu
ZEhvc3Q6OnBvcnQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3Ry
ZWFtZXJQaXBlbGluZUNhY2hlVXBkYXRlZEltcGwpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6Z3N0cmVhbWVyUGlwZWxpbmVDYWNoZVVwZGF0ZWQpOgorICAgICAgICAqIGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvclBhZ2VBZ2VudDo6Z2V0R1N0cmVhbWVyUGlwZWxpbmVzTmFtZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpnZXRHU3RyZWFtZXJQaXBlbGluZUJpbk5h
bWVzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6ZHVtcEdTdHJlYW1l
clBpcGVsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6Z3N0cmVh
bWVyUGlwZWxpbmVDYWNoZVVwZGF0ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yUGFnZUFnZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1
ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9EZXN0
aW5hdGlvbkdTdHJlYW1lcjo6QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcik6CisgICAgICAgIChX
ZWJDb3JlOjpBdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyOjp+QXVkaW9EZXN0aW5hdGlvbkdTdHJl
YW1lcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyQ2xpZW50Ojpnc3RyZWFtZXJQaXBlbGluZXNDYWNoZVVw
ZGF0ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJD
b21tb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJHU3RyZWFtZXJQaXBlbGluZSk6
CisgICAgICAgIChXZWJDb3JlOjp1bnJlZ2lzdGVyR1N0cmVhbWVyUGlwZWxpbmUpOgorICAgICAg
ICAoV2ViQ29yZTo6Z3N0UGlwZWxpbmVzTmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6ZHVtcEdT
dHJlYW1lclBpcGVsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OmdldEJpbkNoaWxkcmVuKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6OnNldFBpcGVsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBl
bmRQaXBlbGluZTo6QXBwZW5kUGlwZWxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6QXBwZW5kUGlw
ZWxpbmU6On5BcHBlbmRQaXBlbGluZSk6CisKIDIwMTktMTEtMjYgIE1hbnVlbCBSZWdvIENhc2Fz
bm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBBdm9pZCBzZXJp
YWxpemluZyBbXSBpbiBncmlkLXRlbXBsYXRlLSogc3BlY2lmaWVkIHZhbHVlcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9DaGFuZ2VMb2cKaW5kZXggOGRkOGIxMDdjMGM4YWFlY2EwNzJkNWQ1YzAzMzY5ODkzZDY5ODJl
Yi4uYmRlMWIwNWNhZTUzNzFhNGNjYWIzMzliZTJhODliOTBiYzU4ZTAyMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODUgQEAKKzIwMTktMTEtMjYgIFBoaWxpcHBlIE5vcm1h
bmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gV2ViIEluc3Bl
Y3RvcjogQWRkIG5ldyB0YWIgZm9yIEdTdHJlYW1lciBwaXBlbGluZXMgaW5zcGVjdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NjE5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRm9yIHRoZSBXUEUg
YW5kIEdUSyBwb3J0cyBhIG5ldyBJbnNwZWN0b3IgdGFiIGlzIG5vdyBhdmFpbGFibGUuIE9uCisg
ICAgICAgIHRoZSBsZWZ0IGhhbmQtc2lkZSB0aGUgY3VycmVudGx5IGFsaXZlIHBpcGVsaW5lcyBh
cmUgbGlzdGVkLiBXaGVuCisgICAgICAgIGEgcGlwZWxpbmUgaXMgc2VsZWN0ZWQsIGl0cyBncmFw
aCByZXByZXNlbnRhdGlvbiBpcyBleHBvcnRlZCB0bworICAgICAgICBTVkcgYW5kIGRpc3BsYXll
ZCBvbiB0aGUgcmlnaHQgaGFuZC1zaWRlIG9mIHRoZSB0YWIgdmlldy4gU3ViIGJpbnMKKyAgICAg
ICAgb2YgdGhlIHBpcGVsaW5lcyBjYW4gYmUgc2VsZWN0ZWQgYW5kIHRoZSBncmFwaCB3aWxsIGJl
IHVwZGF0ZWQKKyAgICAgICAgYWNjb3JkaW5nbHkuIFRoZSBmdWxsIGdyYXBoIGNhbiBiZSBleHBv
cnRlZCB0byBHcmFwaFZpeiBmb3JtYXQgYW5kCisgICAgICAgIHNhdmVkIHRvIGEgZmlsZS4KKwor
ICAgICAgICBUaGUgdml6LmpzIGFuZCBzdmctcGFuLXpvb20gSlMgbGlicmFyaWVzIGFyZSBub3cg
YnVuZGxlZCBhcworICAgICAgICB0aGlyZC1wYXJ0eSBtb2R1bGVzLiBMYXRlciBvbiB0aGUgZDMs
IGRhZ3JlLWQzIGFuZCBncmFwaGxpYi1kb3QKKyAgICAgICAgbGlicmFyaWVzIGNvdWxkIGJlIHVz
ZWQuIEZvciB0aGUgdGltZSBiZWluZyB0aGUgZ3JhcGhsaWItZG90CisgICAgICAgIHBhcnNlciBk
b2Vzbid0IGhhbmRsZSB0aGUgR3JhcGh2aXogbW9kZWxzIGV4cG9ydGVkIGJ5IEdTdHJlYW1lci4K
KworICAgICAgICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoK
KyAgICAgICAgKiBTY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBsOgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvQmFzZS9QbGF0Zm9ybS5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJz
L0dTdHJlYW1lck1hbmFnZXIuanM6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRXh0
ZXJuYWwvc3ZnLXBhbi16b29tLmpzL0xJQ0VOU0U6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvRXh0ZXJuYWwvc3ZnLXBhbi16b29tLmpzL3N2Zy1wYW4tem9vbS5taW4uanM6IEFkZGVk
LgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvdml6LmpzL0xJQ0VOU0U6IEFkZGVk
LgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvdml6LmpzL2Z1bGwucmVuZGVyLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0V4dGVybmFsL3Zpei5qcy9saXRlLnJl
bmRlci5qczogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9FeHRlcm5hbC92aXouanMv
dml6LmpzOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0ltYWdlcy9HU3RyZWFtZXIu
c3ZnOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01haW4uaHRtbDoKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL01vZGVscy9HU3RyZWFtZXJQaXBlbGluZS5qczogQWRkZWQuCisgICAg
ICAgICogVXNlckludGVyZmFjZS9Qcm90b2NvbC9QYWdlT2JzZXJ2ZXIuanM6CisgICAgICAgICog
VXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJTaWRlYmFyUGFuZWwuY3NzOiBBZGRlZC4KKyAg
ICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgPiAuY29udGVudCk6
CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyID4gLm5hdmln
YXRpb24tYmFyKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdn
ZXIgPiAubmF2aWdhdGlvbi1iYXIgLmRlYnVnZ2VyLWJyZWFrcG9pbnRzKToKKyAgICAgICAgKC5z
aWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgPiAubmF2aWdhdGlvbi1iYXIgLmRl
YnVnZ2VyLWJyZWFrcG9pbnRzLmFjdGl2YXRlZCk6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5l
bC5uYXZpZ2F0aW9uLmRlYnVnZ2VyID4gLm5hdmlnYXRpb24tYmFyIC5kZWJ1Z2dlci1wYXVzZS1y
ZXN1bWUpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciA+
IC5uYXZpZ2F0aW9uLWJhciAuZGVidWdnZXItcGF1c2UtcmVzdW1lLmFjdGl2YXRlZCk6CisgICAg
ICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC53YXJuaW5nLWJhbm5l
cik6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC50cmVl
LW91dGxpbmUuc2luZ2xlLXRocmVhZCA+IC5pdGVtLnRocmVhZCk6CisgICAgICAgICguc2lkZWJh
ciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC50cmVlLW91dGxpbmUuc2luZ2xlLXRocmVh
ZCk6CisgICAgICAgIChib2R5W2Rpcj1sdHJdIC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24u
ZGVidWdnZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkKToKKyAgICAgICAgKGJvZHlbZGly
PXJ0bF0gLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAudHJlZS1vdXRsaW5l
LnNpbmdsZS10aHJlYWQpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5k
ZWJ1Z2dlciAud2FybmluZy1iYW5uZXIgPiBhKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVs
Lm5hdmlnYXRpb24uZGVidWdnZXIgLmRldGFpbHMtc2VjdGlvbik6CisgICAgICAgICguc2lkZWJh
ciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC5kZXRhaWxzLXNlY3Rpb24ucGF1c2VkLXJl
YXNvbi5jb2xsYXBzZWQgPiAuaGVhZGVyID4gLm9wdGlvbnMpOgorICAgICAgICAoLnNpZGViYXIg
PiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0YWlscy1zZWN0aW9uID4gLmNvbnRlbnQp
OgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0YWls
cy1zZWN0aW9uLmNvbGxhcHNlZCA+IC5jb250ZW50KToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBh
bmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLmRldGFpbHMtc2VjdGlvbiA+IC5jb250ZW50ID4gLmdy
b3VwKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLmRl
dGFpbHMtc2VjdGlvbi5zY3JpcHRzOm5vdCguY29sbGFwc2VkKSk6CisgICAgICAgIChAbWVkaWEg
KHByZWZlcnMtZGFyay1pbnRlcmZhY2UpKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L0dTdHJlYW1lclNpZGViYXJQYW5lbC5qczogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5jc3M6IEFkZGVkLgorICAgICAgICAoLmNv
bnRlbnQtdmlldy5nc3RyZWFtZXIpOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIg
Lm5hdmlnYXRpb24tYmFyKToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyIC5uYXZp
Z2F0aW9uLWJhci5pbnZpc2libGUpOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIg
Lm5hdmlnYXRpb24tYmFyIC5pdGVtLnJhZGlvLmJ1dHRvbi50ZXh0LW9ubHkpOgorICAgICAgICAo
LmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgLm5hdmlnYXRpb24tYmFyIC5pdGVtLnJhZGlvLmJ1dHRv
bi50ZXh0LW9ubHkuc2VsZWN0ZWQpOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIg
PiAuZ3N0cmVhbWVyLXZpZXcgPiAuc2VwYXJhdG9yKToKKyAgICAgICAgKC5jb250ZW50LXZpZXcu
Z3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lcik6CisgICAgICAgICguY29u
dGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIuaGlkZGVu
KToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4g
LmNvbnRhaW5lci1jZW50ZXJlZCk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+
IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgYnV0dG9uKToKKyAgICAgICAgKC5jb250ZW50
LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC50aXRsZSk6
CisgICAgICAgIChib2R5W2Rpcj1sdHJdIC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJl
YW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC50aXRsZSk6CisgICAgICAgIChib2R5W2Rpcj1ydGxd
IC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+
IC50aXRsZSk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXIt
dmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3VwKToKKyAgICAgICAgKC5jb250ZW50LXZp
ZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3Jv
dXAgPiAuZWRpdG9yIGlucHV0KToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4g
LmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAgPiAuZWRpdG9yIGlu
cHV0W3R5cGU9ImNoZWNrYm94Il0pOgorICAgICAgICAoYm9keVtkaXI9bHRyXSAuY29udGVudC12
aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdy
b3VwID4gLmVkaXRvciBpbnB1dFt0eXBlPSJjaGVja2JveCJdKToKKyAgICAgICAgKGJvZHlbZGly
PXJ0bF0gLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFp
bmVyID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0iY2hlY2tib3giXSk6Cisg
ICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250
YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRvciBzZWxlY3QpOgorICAgICAgICAoLmNvbnRl
bnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLmVkaXRv
ci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0ibnVtYmVyIl0pOgorICAgICAgICAoYm9keVtk
aXI9bHRyXSAuY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250
YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRvciBpbnB1dFt0eXBlPSJudW1iZXIiXSk6Cisg
ICAgICAgIChib2R5W2Rpcj1ydGxdIC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1l
ci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAgPiAuZWRpdG9yIGlucHV0W3R5cGU9
Im51bWJlciJdKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNv
bnRlbnRWaWV3LmpzOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJl
YW1lclZpZXcuanM6IEFkZGVkLgorCiAyMDE5LTExLTIyICBEZXZpbiBSb3Vzc28gIDxkcm91c3Nv
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBVbmNhdWdodCBFeGNlcHRpb246
IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3Rhcmdl
dC5QYWdlQWdlbnQuZ2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZScpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhl
NGQwODAyZDZjYTNlOGIwOGM3MDBhZWU4ZjFiZWNhODIxMzBlOWUuLjIxNDRkODQ3ZGU4MWMxZjY3
NDI3Y2NjZjdmM2MxYmE3ODFkOTFmMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTkt
MTEtMjYgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAg
IFtHVEtdW1dQRV0gV2ViIEluc3BlY3RvcjogQWRkIG5ldyB0YWIgZm9yIEdTdHJlYW1lciBwaXBl
bGluZXMgaW5zcGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA0NjE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBJbnNwZWN0b3JHUmVzb3VyY2VzLmNtYWtlOiBCdW5kbGUgc3ZnLXBhbi16b29t
IGFuZCB2aXogSmF2YVNjcmlwdCBtb2R1bGVzLgorCiAyMDE5LTExLTI2ICBDYXJsb3MgR2FyY2lh
IENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKDIuMjcu
Mik6IFtHVEtdIEluY29nbml0byBtb2RlIGlzIGJyb2tlbiB1bmRlciBmbGF0cGFrCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1BhZ2UuanNvbiBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uCmluZGV4
IDM2N2QxZjIzNWE4MjEzZjEzNjBmNjAxYmM5ZTY0YzA5NDlmNDc3YjQuLmJkODliNmFjMTE5N2Y4
MzEzZGUxNjQwMmU0MTg4NDcxYjYyYjg3YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uCkBAIC0xNDksNiArMTQ5LDM1IEBACiAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ2YWx1ZSIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0
aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVmFsdWUgdG8gb3ZlcnJpZGUgdGhlIHNldHRp
bmcgd2l0aC4gSWYgdGhpcyB2YWx1ZSBpcyBub3QgcHJvdmlkZWQsIHRoZSBvdmVycmlkZSBpcyBy
ZW1vdmVkLiBPdmVycmlkZXMgYXJlIHJlbW92ZWQgd2hlbiBXZWIgSW5zcGVjdG9yIGNsb3Nlcy9k
aXNjb25uZWN0cy4iIH0KICAgICAgICAgICAgIF0KICAgICAgICAgfSwKKyAgICAgICAgeworICAg
ICAgICAgICAgIm5hbWUiOiAiZ2V0R1N0cmVhbWVyUGlwZWxpbmVzTmFtZXMiLAorICAgICAgICAg
ICAgImRlc2NyaXB0aW9uIjogIlJldHVybnMgdGhlIGxpc3Qgb2YgY3VycmVudGx5IHJ1bm5pbmcg
R1N0cmVhbWVyIHBpcGVsaW5lcy4iLAorICAgICAgICAgICAgInJldHVybnMiOiBbCisgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJwaXBlbGluZXMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6
IHsgIiRyZWYiOiAic3RyaW5nIn0sICJkZXNjcmlwdGlvbiI6ICJBcnJheSBvZiBwaXBlbGluZSBu
YW1lcy4iIH0KKyAgICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAg
ICAgIm5hbWUiOiAiZ2V0R1N0cmVhbWVyUGlwZWxpbmVCaW5OYW1lcyIsCisgICAgICAgICAgICAi
ZGVzY3JpcHRpb24iOiAiUmV0dXJucyB0aGUgbGlzdCBvZiBiaW5zIGluIHRoZSBnaXZlbiBHU3Ry
ZWFtZXIgcGlwZWxpbmUuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAicGlwZWxpbmUiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRp
b24iOiAiTmFtZSBvZiB0aGUgR1N0cmVhbWVyIHBpcGVsaW5lIHRvIGR1bXAuIiB9LAorICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAiY2hpbGQiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRp
b24iOiAiTmFtZSBvZiB0aGUgY2hpbGQgYmluIHRvIGR1bXAuIiB9CisgICAgICAgICAgICBdLAor
ICAgICAgICAgICAgInJldHVybnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJiaW5O
YW1lcyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJzdHJpbmcifSwgImRl
c2NyaXB0aW9uIjogIkFycmF5IG9mIGJpbiBuYW1lcy4iIH0KKyAgICAgICAgICAgIF0KKyAgICAg
ICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZHVtcEdTdHJlYW1lclBpcGVs
aW5lIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHRoZSBHcmFwaHZpeiBy
ZXByZXNlbnRhdGlvbiBvZiB0aGUgZ2l2ZW4gR1N0cmVhbWVyIHBpcGVsaW5lLiIsCisgICAgICAg
ICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBpcGVsaW5l
IiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIk5hbWUgb2YgdGhlIEdTdHJlYW1l
ciBwaXBlbGluZSB0byBkdW1wLiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImNoaWxk
IiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIk5hbWUgb2YgdGhlIGNoaWxkIGJp
biB0byBkdW1wLiIgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJyZXR1cm5zIjogWwor
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uIiwg
InR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIkdyYXBodml6IHJlcHJlc2VudGF0aW9u
IG9mIHRoZSBwaXBlbGluZSIgfQorICAgICAgICAgICAgXQorICAgICAgICB9LAogICAgICAgICB7
CiAgICAgICAgICAgICAibmFtZSI6ICJnZXRDb29raWVzIiwKICAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJSZXR1cm5zIGFsbCBicm93c2VyIGNvb2tpZXMuIERlcGVuZGluZyBvbiB0aGUgYmFj
a2VuZCBzdXBwb3J0LCB3aWxsIHJldHVybiBkZXRhaWxlZCBjb29raWUgaW5mb3JtYXRpb24gaW4g
dGhlIDxjb2RlPmNvb2tpZXM8L2NvZGU+IGZpZWxkLiIsCkBAIC0zNTIsNiArMzgxLDExIEBACiAg
ICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImFw
cGVhcmFuY2UiLCAiJHJlZiI6ICJBcHBlYXJhbmNlIiwgImRlc2NyaXB0aW9uIjogIk5hbWUgb2Yg
dGhlIGFwcGVhcmFuY2UgdGhhdCBpcyBhY3RpdmUgKG5vdCBjb25zaWRlcmluZyBhbnkgZm9yY2Vk
IGFwcGVhcmFuY2UuKSIgfQogICAgICAgICAgICAgXQorICAgICAgICB9LAorICAgICAgICB7Cisg
ICAgICAgICAgICAibmFtZSI6ICJnc3RyZWFtZXJQaXBlbGluZUNhY2hlVXBkYXRlZCIsCisgICAg
ICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmlyZWQgd2hlbiB0aGUgaW50ZXJuYWwgcmVnaXN0cnkg
b2YgR1N0cmVhbWVyIHBpcGVsaW5lcyB3YXMgdXBkYXRlZCwgZWcgd2hlbiBhIG5ldyBwaXBlbGlu
ZSB3YXMgcmVnaXN0ZXJlZCBvciB3aGVuIGEgcGlwZWxpbmUgd2FzIHJlbW92ZWQgZnJvbSB0aGUg
cmVnaXN0cnkuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogW10KICAgICAgICAgfQogICAg
IF0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0
LmNwcAppbmRleCBkNjE1Yzk3OWJiNTc1NDAxZTc3ODMyZTQ5YzU2MzhkNzk5OGU2Mzc0Li4yNGNk
ZWZiZjIzNDQ5NDI0ZTc5NmM3YTYyNzEyYWFiNGYzZDc2YTNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCkBAIC04NCwxMCArODQsNiBA
QAogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjZW5kaWYKIAotI2lmIFVTRShHU1RSRUFNRVIpCi0jaW5j
bHVkZSAiR1N0cmVhbWVyQ29tbW9uLmgiCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRp
b0Rlc3RpbmF0aW9uTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Rl
ZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKaW5kZXggMjY3MmQ2NWU2OGZlYjAxNjI4YmVm
MGYwZTBiMGFkNGQzMWY0NWI3Yy4uMGNlYWI3YWEzMjcyZGMyZTc3NDhmMjNlYjUyYTg4ZGNkMDRj
YThjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0
QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcApAQCAtMzAsNiArMzAsOCBAQAog
CiAjaW5jbHVkZSAiQXVkaW9Db250ZXh0LmgiCiAjaW5jbHVkZSAiQXVkaW9EZXN0aW5hdGlvbi5o
IgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpAQCAtNzcsNiArNzks
MTAgQEAgdm9pZCBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGU6OnVuaW5pdGlhbGl6ZSgpCiAg
ICAgbV9kZXN0aW5hdGlvbiA9IG51bGxwdHI7CiAgICAgbV9udW1iZXJPZklucHV0Q2hhbm5lbHMg
PSAwOwogCisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmdzdHJlYW1lclBpcGVsaW5lQ2FjaGVVcGRhdGVkKGNvbnRleHQoKS5kb2N1bWVudCgpLT5wYWdl
KCkpOworI2VuZGlmCisKICAgICBBdWRpb05vZGU6OnVuaW5pdGlhbGl6ZSgpOwogfQogCkBAIC04
NCw4ICs5MCwxMiBAQCB2b2lkIERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6Y3JlYXRlRGVz
dGluYXRpb24oKQogewogICAgIGZsb2F0IGhhcmR3YXJlU2FtcGxlUmF0ZSA9IEF1ZGlvRGVzdGlu
YXRpb246OmhhcmR3YXJlU2FtcGxlUmF0ZSgpOwogICAgIExPRyhXZWJBdWRpbywgIj4+Pj4gaGFy
ZHdhcmVTYW1wbGVSYXRlID0gJWZcbiIsIGhhcmR3YXJlU2FtcGxlUmF0ZSk7Ci0gICAgCisKICAg
ICBtX2Rlc3RpbmF0aW9uID0gQXVkaW9EZXN0aW5hdGlvbjo6Y3JlYXRlKCp0aGlzLCBtX2lucHV0
RGV2aWNlSWQsIG1fbnVtYmVyT2ZJbnB1dENoYW5uZWxzLCBjaGFubmVsQ291bnQoKSwgaGFyZHdh
cmVTYW1wbGVSYXRlKTsKKworI2lmIFVTRShHU1RSRUFNRVIpCisgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpnc3RyZWFtZXJQaXBlbGluZUNhY2hlVXBkYXRlZChjb250ZXh0KCkuZG9jdW1l
bnQoKS0+cGFnZSgpKTsKKyNlbmRpZgogfQogCiB2b2lkIERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9u
Tm9kZTo6ZW5hYmxlSW5wdXQoY29uc3QgU3RyaW5nJiBpbnB1dERldmljZUlkKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggM2Y4N2FlZTQwMjUyZTI5ZWQwNjQz
ZmFjOWU3OTRjZGIxYWI2Mjk5NS4uM2MxM2IyODExNmY4YWQ5ZTYwMjRjZWRmNjE3NTM0NTE2ZTUz
MzUyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xNzIs
NiArMTcyLDEwIEBACiAjaW5jbHVkZSAiVmlkZW9GdWxsc2NyZWVuTW9kZWwuaCIKICNlbmRpZgog
CisjaWYgVVNFKEdTVFJFQU1FUikKKyNpbmNsdWRlICJHU3RyZWFtZXJDb21tb24uaCIKKyNlbmRp
ZgorCiBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlIDw+CiBzdHJ1Y3QgTG9nQXJndW1lbnQ8VVJM
PiB7CkBAIC03MjEzLDYgKzcyMTcsMTEgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpyZXF1ZXN0
SW5zdGFsbE1pc3NpbmdQbHVnaW5zKGNvbnN0IFN0cmluZyYgZGV0YWlscywgY29uc3QKIAogICAg
IGRvY3VtZW50KCkucGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5yZXF1ZXN0SW5zdGFsbE1pc3Np
bmdNZWRpYVBsdWdpbnMoZGV0YWlscywgZGVzY3JpcHRpb24sIGNhbGxiYWNrKTsKIH0KKwordm9p
ZCBIVE1MTWVkaWFFbGVtZW50Ojpnc3RyZWFtZXJQaXBlbGluZXNDYWNoZVVwZGF0ZWQoKQorewor
ICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Z3N0cmVhbWVyUGlwZWxpbmVDYWNoZVVwZGF0
ZWQoZG9jdW1lbnQoKS5wYWdlKCkpOworfQogI2VuZGlmCiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6cmVtb3ZlQmVoYXZpb3JSZXN0cmljdGlvbnNBZnRlckZpcnN0VXNlckdlc3R1cmUoTWVkaWFF
bGVtZW50U2Vzc2lvbjo6QmVoYXZpb3JSZXN0cmljdGlvbnMgbWFzaykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggYTY5Y2ViYjJmZjMzYzEzMDdjM2UwYmQwMDY4MzVj
MTc2YWMyMzQ2NC4uNDM0NjExOWY1MzM5N2MzYTZjM2Q2NDE5YTUyMTVlNjY1NDM3NGQxNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTc2NCw2ICs3NjQsNyBAQCBw
cml2YXRlOgogCiAjaWYgVVNFKEdTVFJFQU1FUikKICAgICB2b2lkIHJlcXVlc3RJbnN0YWxsTWlz
c2luZ1BsdWdpbnMoY29uc3QgU3RyaW5nJiBkZXRhaWxzLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0
aW9uLCBNZWRpYVBsYXllclJlcXVlc3RJbnN0YWxsTWlzc2luZ1BsdWdpbnNDYWxsYmFjayYpIGZp
bmFsOworICAgIHZvaWQgZ3N0cmVhbWVyUGlwZWxpbmVzQ2FjaGVVcGRhdGVkKCkgZmluYWw7CiAj
ZW5kaWYKIAogICAgIHZvaWQgcGVuZGluZ0FjdGlvblRpbWVyRmlyZWQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKaW5kZXggZTcy
MDRjYjMzNTNlOTI1MTAwMGZhNTIyYTI0Nzc4YWJiNjYyMTdiNS4uNDY3ODViM2QwNGNiNzQwMzRi
NWUwOTA4NjQ2MDQ3MjAxOGIyNjc2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKQEAgLTMxNSw2ICszMTUsOCBAQCBTdHJpbmcg
SW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojpwb3J0KCkKIHsKICNpZiBQTEFURk9STShHVEspCiAgICAg
cmV0dXJuICJndGsiX3M7CisjZWxpZiBQTEFURk9STShXUEUpCisgICAgcmV0dXJuICJ3cGUiX3M7
CiAjZWxzZQogICAgIHJldHVybiAidW5rbm93biJfczsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCBj
YjZlZDlmNmM4NGQyNWVhOTI3MmQxZTNlYTRmMTU1YjZkZWNkNTU0Li5mNDNkYzUzOTNjZDVmYzBi
YTNkNWYzMzMzMjEwNDYxOWVmNzYxZTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtMTI3MSw0ICsxMjcxLDEw
IEBAIEluc3RydW1lbnRpbmdBZ2VudHMqIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aW5zdHJ1
bWVudGluZ0FnZW50c0ZvckNvbnRleHQoU2NyCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKK3Zv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFtZXJQaXBlbGluZUNhY2hlVXBkYXRl
ZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cykKK3sKKyAgICBp
ZiAoSW5zcGVjdG9yUGFnZUFnZW50KiBpbnNwZWN0b3JQYWdlQWdlbnQgPSBpbnN0cnVtZW50aW5n
QWdlbnRzLmluc3BlY3RvclBhZ2VBZ2VudCgpKQorICAgICAgICBpbnNwZWN0b3JQYWdlQWdlbnQt
PmdzdHJlYW1lclBpcGVsaW5lQ2FjaGVVcGRhdGVkKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaAppbmRleCA2Njk4NDMxZjMxNjQ4NDZkZmY3NzkyZTBiMWNkYTE3OTUzYzllYjQ2
Li43MWUwZGZiNmNlMWViNTA5OWUzYTU5ZjQyMjIzMjkxOTFlODhlYmNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0z
MTMsNiArMzEzLDggQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGxheWVyVHJlZURpZENoYW5n
ZShQYWdlKik7CiAgICAgc3RhdGljIHZvaWQgcmVuZGVyTGF5ZXJEZXN0cm95ZWQoUGFnZSosIGNv
bnN0IFJlbmRlckxheWVyJik7CiAKKyAgICBzdGF0aWMgdm9pZCBnc3RyZWFtZXJQaXBlbGluZUNh
Y2hlVXBkYXRlZChQYWdlKik7CisKICAgICBzdGF0aWMgdm9pZCBmcm9udGVuZENyZWF0ZWQoKTsK
ICAgICBzdGF0aWMgdm9pZCBmcm9udGVuZERlbGV0ZWQoKTsKICAgICBzdGF0aWMgYm9vbCBoYXNG
cm9udGVuZHMoKSB7IHJldHVybiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25QdWJsaWM6Omhhc0Zy
b250ZW5kcygpOyB9CkBAIC00NzcsNiArNDc5LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoUkVT
T1VSQ0VfVVNBR0UpCiAgICAgc3RhdGljIHZvaWQgZGlkSGFuZGxlTWVtb3J5UHJlc3N1cmVJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMmLCBDcml0aWNhbCk7CiAjZW5kaWYKKyAgICBzdGF0aWMgdm9p
ZCBnc3RyZWFtZXJQaXBlbGluZUNhY2hlVXBkYXRlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYp
OwogCiAgICAgc3RhdGljIHZvaWQgbmV0d29ya1N0YXRlQ2hhbmdlZEltcGwoSW5zdHJ1bWVudGlu
Z0FnZW50cyYpOwogICAgIHN0YXRpYyB2b2lkIHVwZGF0ZUFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNJ
bXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBGcmFtZSYpOwpAQCAtMTYwMSw2ICsxNjA0LDcgQEAg
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDYW5jZWxBbmltYXRpb25G
cmFtZShEb2N1bWVudCYgZG9jdW1lbnQKICAgICAgICAgZGlkQ2FuY2VsQW5pbWF0aW9uRnJhbWVJ
bXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBjYWxsYmFja0lkLCBkb2N1bWVudCk7CiB9CiAKKwog
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRmlyZUFuaW1hdGlvbkZy
YW1lKERvY3VtZW50JiBkb2N1bWVudCwgaW50IGNhbGxiYWNrSWQpCiB7CiAgICAgRkFTVF9SRVRV
Uk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CkBAIC0xNjA4LDYgKzE2MTIsMTMgQEAgaW5saW5l
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRmlyZUFuaW1hdGlvbkZyYW1lKERv
Y3VtZW50JiBkb2N1bWVudCwKICAgICAgICAgd2lsbEZpcmVBbmltYXRpb25GcmFtZUltcGwoKmlu
c3RydW1lbnRpbmdBZ2VudHMsIGNhbGxiYWNrSWQsIGRvY3VtZW50KTsKIH0KIAoraW5saW5lIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFtZXJQaXBlbGluZUNhY2hlVXBkYXRl
ZChQYWdlKiBwYWdlKQoreworICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkp
OworICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5z
dHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCisgICAgICAgIGdzdHJlYW1lclBpcGVsaW5l
Q2FjaGVVcGRhdGVkSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cyk7Cit9CisKIGlubGluZSB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmlyZUFuaW1hdGlvbkZyYW1lKERvY3VtZW50
JiBkb2N1bWVudCkKIHsKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcAppbmRleCBmMmUyMjhiN2Y3NDQyZDg0M2Y4YjZmZWNlNzA0Y2M0MDAzNGNiYjAy
Li40NWZjYjJkNTBmZGE1OTBhM2YwZTAzNTgxYzJlZGNiZDVlZjRiNDA0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3Bw
CkBAIC04MCw2ICs4MCw5IEBACiAjaW5jbHVkZSAiTGVnYWN5V2ViQXJjaGl2ZS5oIgogI2VuZGlm
CiAKKyNpZiBVU0UoR1NUUkVBTUVSKQorI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgorI2Vu
ZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtOTg2LDQgKzk4OSw1MSBAQCB2b2lkIElu
c3BlY3RvclBhZ2VBZ2VudDo6YXJjaGl2ZShFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIFN0cmlu
ZyogZGF0YSkKICNlbmRpZgogfQogCit2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6Z2V0R1N0cmVh
bWVyUGlwZWxpbmVzTmFtZXMoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBSZWZQdHI8SlNPTjo6
QXJyYXlPZjxTdHJpbmc+PiYgcGlwZWxpbmVzKQoreworICAgIHBpcGVsaW5lcyA9IEpTT046OkFy
cmF5T2Y8U3RyaW5nPjo6Y3JlYXRlKCk7CisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBVTlVTRURf
UEFSQU0oZXJyb3JTdHJpbmcpOworICAgIGZvciAoYXV0byBpdGVtIDogZ3N0UGlwZWxpbmVzTmFt
ZXMoKSkKKyAgICAgICAgcGlwZWxpbmVzLT5hZGRJdGVtKFN0cmluZzo6ZnJvbVVURjgoaXRlbSkp
OworI2Vsc2UKKyAgICBlcnJvclN0cmluZyA9ICJOb3Qgc3VwcG9ydGVkIl9zOworI2VuZGlmCit9
CisKK3ZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpnZXRHU3RyZWFtZXJQaXBlbGluZUJpbk5hbWVz
KEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBwaXBlbGluZSwgY29uc3Qg
U3RyaW5nJiBjaGlsZCwgUmVmUHRyPEpTT046OkFycmF5T2Y8U3RyaW5nPj4mIG5hbWVzKQorewor
ICAgIG5hbWVzID0gSlNPTjo6QXJyYXlPZjxTdHJpbmc+OjpjcmVhdGUoKTsKKyNpZiBVU0UoR1NU
UkVBTUVSKQorICAgIFVOVVNFRF9QQVJBTShlcnJvclN0cmluZyk7CisgICAgZm9yIChhdXRvIGl0
ZW0gOiBnZXRCaW5DaGlsZHJlbihwaXBlbGluZSwgY2hpbGQpKQorICAgICAgICBuYW1lcy0+YWRk
SXRlbShTdHJpbmc6OmZyb21VVEY4KGl0ZW0pKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBp
cGVsaW5lKTsKKyAgICBVTlVTRURfUEFSQU0oY2hpbGQpOworICAgIGVycm9yU3RyaW5nID0gIk5v
dCBzdXBwb3J0ZWQiX3M7CisjZW5kaWYKK30KKwordm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmR1
bXBHU3RyZWFtZXJQaXBlbGluZShFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmlu
ZyYgcGlwZWxpbmUsIGNvbnN0IFN0cmluZyYgY2hpbGQsIFN0cmluZyogcGlwZWxpbmVHcmFwaFJl
cHJlc2VudGF0aW9uKQoreworI2lmIFVTRShHU1RSRUFNRVIpCisgICAgYXV0byBkb3REYXRhID0g
V2ViQ29yZTo6ZHVtcEdTdHJlYW1lclBpcGVsaW5lKHBpcGVsaW5lLCBjaGlsZCk7CisgICAgaWYg
KGRvdERhdGEuaXNOdWxsKCkpCisgICAgICAgIGVycm9yU3RyaW5nID0gIkludmFsaWQgcGlwZWxp
bmUgb3IgYmluIl9zOworICAgIGVsc2UKKyAgICAgICAgKnBpcGVsaW5lR3JhcGhSZXByZXNlbnRh
dGlvbiA9IFN0cmluZzo6ZnJvbVVURjgoZG90RGF0YSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TShwaXBlbGluZSk7CisgICAgVU5VU0VEX1BBUkFNKGNoaWxkKTsKKyAgICBlcnJvclN0cmluZyA9
ICJOb3Qgc3VwcG9ydGVkIl9zOworICAgICpwaXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24gPSBu
dWxsU3RyaW5nKCk7CisjZW5kaWYKK30KKwordm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmdzdHJl
YW1lclBpcGVsaW5lQ2FjaGVVcGRhdGVkKCkKK3sKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+
Z3N0cmVhbWVyUGlwZWxpbmVDYWNoZVVwZGF0ZWQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JQYWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
UGFnZUFnZW50LmgKaW5kZXggNGZkOGMwYjEwMTZlNWFiNDc1MjU1OGQ2NTMwYWJiNTIwZWNlYTI2
YS4uMjNkM2Q5MTU4YjA4MDcyNzQ4NzdjYzBkNzlkMjVkMjRlYjY3NjM4ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5oCkBA
IC0xMTYsNiArMTE2LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNuYXBzaG90UmVjdChFcnJvclN0
cmluZyYsIGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBjb25zdCBTdHJpbmcm
IGNvb3JkaW5hdGVTeXN0ZW0sIFN0cmluZyogb3V0RGF0YVVSTCkgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBhcmNoaXZlKEVycm9yU3RyaW5nJiwgU3RyaW5nKiBkYXRhKSBvdmVycmlkZTsKIAorICAgIHZv
aWQgZ2V0R1N0cmVhbWVyUGlwZWxpbmVzTmFtZXMoRXJyb3JTdHJpbmcmLCBSZWZQdHI8SlNPTjo6
QXJyYXlPZjxTdHJpbmc+PiYgcGlwZWxpbmVzKTsKKyAgICB2b2lkIGdldEdTdHJlYW1lclBpcGVs
aW5lQmluTmFtZXMoRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIHBpcGVsaW5lLCBjb25zdCBT
dHJpbmcmIGNoaWxkLCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxTdHJpbmc+PiYgbmFtZXMpOworICAg
IHZvaWQgZHVtcEdTdHJlYW1lclBpcGVsaW5lKEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBw
aXBlbGluZSwgY29uc3QgU3RyaW5nJiBjaGlsZCwgU3RyaW5nKiBwaXBlbGluZUdyYXBoUmVwcmVz
ZW50YXRpb24pOworCiAgICAgLy8gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uCiAgICAgdm9pZCBk
b21Db250ZW50RXZlbnRGaXJlZCgpOwogICAgIHZvaWQgbG9hZEV2ZW50RmlyZWQoKTsKQEAgLTEz
NCw2ICsxMzgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRMYXlvdXQoKTsKICAgICB2b2lkIGRp
ZFNjcm9sbCgpOwogICAgIHZvaWQgZGlkUmVjYWxjdWxhdGVTdHlsZSgpOworICAgIHZvaWQgZ3N0
cmVhbWVyUGlwZWxpbmVDYWNoZVVwZGF0ZWQoKTsKIAogICAgIEZyYW1lKiBmcmFtZUZvcklkKGNv
bnN0IFN0cmluZyYgZnJhbWVJZCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGZyYW1lSWQo
RnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJl
YW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyLmNwcAppbmRleCAx
YTU0OTVmZDc2NGQ5YzNjYzZlZGI1ODFmYTQ4MGVhZWFkMTQ1OWJmLi43YmVmZTY2ODQ2OGM3NDUz
MWY0OWVmZmFmYjMyMjk1OWYyMTAxN2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9nc3RyZWFtZXIvQXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25H
U3RyZWFtZXIuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiQXVkaW9DaGFubmVsLmgi
CiAjaW5jbHVkZSAiQXVkaW9Tb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkdSZWZQdHJHU3Ry
ZWFtZXIuaCIKKyNpbmNsdWRlICJHU3RyZWFtZXJDb21tb24uaCIKICNpbmNsdWRlICJMb2dnaW5n
LmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViQXVkaW9Tb3VyY2VHU3RyZWFtZXIuaCIKICNpbmNsdWRl
IDxnc3QvYXVkaW8vZ3N0YXVkaW9iYXNlc2luay5oPgpAQCAtODMsNyArODQsOCBAQCBBdWRpb0Rl
c3RpbmF0aW9uR1N0cmVhbWVyOjpBdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyKEF1ZGlvSU9DYWxs
YmFjayYgY2FsbGJhY2ssCiAgICAgLCBtX3NhbXBsZVJhdGUoc2FtcGxlUmF0ZSkKICAgICAsIG1f
aXNQbGF5aW5nKGZhbHNlKQogewotICAgIG1fcGlwZWxpbmUgPSBnc3RfcGlwZWxpbmVfbmV3KCJw
bGF5Iik7CisgICAgbV9waXBlbGluZSA9IGdzdF9waXBlbGluZV9uZXcoIndlYmF1ZGlvLXBsYXli
YWNrIik7CisgICAgcmVnaXN0ZXJHU3RyZWFtZXJQaXBlbGluZShtX3BpcGVsaW5lKTsKICAgICBH
UmVmUHRyPEdzdEJ1cz4gYnVzID0gYWRvcHRHUmVmKGdzdF9waXBlbGluZV9nZXRfYnVzKEdTVF9Q
SVBFTElORShtX3BpcGVsaW5lKSkpOwogICAgIEFTU0VSVChidXMpOwogICAgIGdzdF9idXNfYWRk
X3NpZ25hbF93YXRjaF9mdWxsKGJ1cy5nZXQoKSwgUnVuTG9vcFNvdXJjZVByaW9yaXR5OjpSdW5M
b29wRGlzcGF0Y2hlcik7CkBAIC0xMzAsOCArMTMyLDggQEAgQXVkaW9EZXN0aW5hdGlvbkdTdHJl
YW1lcjo6fkF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIoKQogICAgIEdSZWZQdHI8R3N0QnVzPiBi
dXMgPSBhZG9wdEdSZWYoZ3N0X3BpcGVsaW5lX2dldF9idXMoR1NUX1BJUEVMSU5FKG1fcGlwZWxp
bmUpKSk7CiAgICAgQVNTRVJUKGJ1cyk7CiAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVj
dF9ieV9mdW5jKGJ1cy5nZXQoKSwgcmVpbnRlcnByZXRfY2FzdDxncG9pbnRlcj4obWVzc2FnZUNh
bGxiYWNrKSwgdGhpcyk7CisgICAgdW5yZWdpc3RlckdTdHJlYW1lclBpcGVsaW5lKG1fcGlwZWxp
bmUpOwogICAgIGdzdF9idXNfcmVtb3ZlX3NpZ25hbF93YXRjaChidXMuZ2V0KCkpOwotCiAgICAg
Z3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGlwZWxpbmUsIEdTVF9TVEFURV9OVUxMKTsKICAgICBn
c3Rfb2JqZWN0X3VucmVmKG1fcGlwZWxpbmUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggZGJiYzQ1NjM3NGE2OTcwOTg3MzczNTI2
OWEyMDlkOTg0NGE2NmMzNy4uZjRhZTJkNTcwYWFmMjRjMGNlYTc5YWZjZDg3ZThhYmY2OGYzYWRm
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5o
CkBAIC0yMzIsNiArMjMyLDcgQEAgcHVibGljOgogCiAjaWYgVVNFKEdTVFJFQU1FUikKICAgICB2
aXJ0dWFsIHZvaWQgcmVxdWVzdEluc3RhbGxNaXNzaW5nUGx1Z2lucyhjb25zdCBTdHJpbmcmLCBj
b25zdCBTdHJpbmcmLCBNZWRpYVBsYXllclJlcXVlc3RJbnN0YWxsTWlzc2luZ1BsdWdpbnNDYWxs
YmFjayYpIHsgfTsKKyAgICB2aXJ0dWFsIHZvaWQgZ3N0cmVhbWVyUGlwZWxpbmVzQ2FjaGVVcGRh
dGVkKCkgeyB9OwogI2VuZGlmCiAKICAgICB2aXJ0dWFsIGJvb2wgbWVkaWFQbGF5ZXJTaG91bGRE
aXNhYmxlU2xlZXAoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29t
bW9uLmNwcAppbmRleCAyMDkxNzc2MDNhOTg3NDViNWVkOWViMjgyZThjMTE0YTIwMTkzYjE0Li42
ZDY4MTJiOTMxMDIzNzI1ZThmMzg4NTdhNGJjMjgxNDYzNjMxYjU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVh
bWVyQ29tbW9uLmNwcApAQCAtMjksOSArMjksMTIgQEAKICNpbmNsdWRlIDxnc3QvYXVkaW8vYXVk
aW8taW5mby5oPgogI2luY2x1ZGUgPGdzdC9nc3QuaD4KICNpbmNsdWRlIDxtdXRleD4KKyNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5p
cXVlUHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvUnVuTG9vcFNvdXJjZVByaW9yaXR5Lmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNL
KSAmJiBVU0UoR1NUUkVBTUVSX01QRUdUUykKICNkZWZpbmUgR1NUX1VTRV9VTlNUQUJMRV9BUEkK
QEAgLTM3OSw2ICszODIsODkgQEAgUmVmPFNoYXJlZEJ1ZmZlcj4gR3N0TWFwcGVkQnVmZmVyOjpj
cmVhdGVTaGFyZWRCdWZmZXIoKQogICAgIHJldHVybiBTaGFyZWRCdWZmZXI6OmNyZWF0ZSgqdGhp
cyk7CiB9CiAKK0hhc2hNYXA8Q1N0cmluZywgR3N0QmluKj4mIGdzdHJlYW1lclBpcGVsaW5lc01h
cCgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8Q1N0cmluZywgR3N0Qmlu
Kj4+IGdzdHJlYW1lclBpcGVsaW5lczsKKyAgICByZXR1cm4gZ3N0cmVhbWVyUGlwZWxpbmVzLmdl
dCgpOworfQorCit2b2lkIHJlZ2lzdGVyR1N0cmVhbWVyUGlwZWxpbmUoR3N0RWxlbWVudCogcGlw
ZWxpbmUpCit7CisgICAgQVNTRVJUKEdTVF9JU19FTEVNRU5UKHBpcGVsaW5lKSk7CisKKyAgICBH
VW5pcXVlUHRyPGdjaGFyPiBuYW1lKGdzdF9vYmplY3RfZ2V0X25hbWUoR1NUX09CSkVDVF9DQVNU
KHBpcGVsaW5lKSkpOworICAgIGF1dG8gYWRkUmVzdWx0ID0gZ3N0cmVhbWVyUGlwZWxpbmVzTWFw
KCkuYWRkKG5hbWUuZ2V0KCksIG51bGxwdHIpOworICAgIGlmICghYWRkUmVzdWx0LmlzTmV3RW50
cnkpCisgICAgICAgIHJldHVybjsKKyAgICBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlID0gR1NU
X0JJTl9DQVNUKHBpcGVsaW5lKTsKK30KKwordm9pZCB1bnJlZ2lzdGVyR1N0cmVhbWVyUGlwZWxp
bmUoR3N0RWxlbWVudCogcGlwZWxpbmUpCit7CisgICAgQVNTRVJUKEdTVF9JU19FTEVNRU5UKHBp
cGVsaW5lKSk7CisKKyAgICBHVW5pcXVlUHRyPGdjaGFyPiBuYW1lKGdzdF9vYmplY3RfZ2V0X25h
bWUoR1NUX09CSkVDVF9DQVNUKHBpcGVsaW5lKSkpOworICAgIGdzdHJlYW1lclBpcGVsaW5lc01h
cCgpLnRha2UobmFtZS5nZXQoKSk7Cit9CisKK1ZlY3RvcjxDU3RyaW5nPiBnc3RQaXBlbGluZXNO
YW1lcygpCit7CisgICAgVmVjdG9yPENTdHJpbmc+IG5hbWVzOworICAgIGF1dG8mIG1hcCA9IGdz
dHJlYW1lclBpcGVsaW5lc01hcCgpOworICAgIG5hbWVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHko
bWFwLnNpemUoKSk7CisgICAgZm9yIChhdXRvIG5hbWUgOiBtYXAua2V5cygpKQorICAgICAgICBu
YW1lcy51bmNoZWNrZWRBcHBlbmQobmFtZSk7CisKKyAgICByZXR1cm4gbmFtZXM7Cit9CisKK0NT
dHJpbmcgZHVtcEdTdHJlYW1lclBpcGVsaW5lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiBzdWJCaW5OYW1lKQoreworICAgIEdzdEJpbiogcGlwZWxpbmUgPSBnc3RyZWFtZXJQaXBl
bGluZXNNYXAoKS5nZXQobmFtZS51dGY4KCkpOworICAgIGlmICghcGlwZWxpbmUpCisgICAgICAg
IHJldHVybiBDU3RyaW5nKCk7CisKKyAgICBpZiAoc3ViQmluTmFtZS5pc0VtcHR5KCkpIHsKKyAg
ICAgICAgR1VuaXF1ZVB0cjxnY2hhcj4gZGF0YShnc3RfZGVidWdfYmluX3RvX2RvdF9kYXRhKHBp
cGVsaW5lLCBHU1RfREVCVUdfR1JBUEhfU0hPV19BTEwpKTsKKyAgICAgICAgcmV0dXJuIENTdHJp
bmcoZGF0YS5nZXQoKSk7CisgICAgfQorCisgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBjaGlsZCA9
IGFkb3B0R1JlZihnc3RfYmluX2dldF9ieV9uYW1lKHBpcGVsaW5lLCBzdWJCaW5OYW1lLnV0Zjgo
KS5kYXRhKCkpKTsKKyAgICBpZiAoR1NUX0lTX0JJTihjaGlsZC5nZXQoKSkpIHsKKyAgICAgICAg
R1VuaXF1ZVB0cjxnY2hhcj4gZGF0YShnc3RfZGVidWdfYmluX3RvX2RvdF9kYXRhKEdTVF9CSU5f
Q0FTVChjaGlsZC5nZXQoKSksIEdTVF9ERUJVR19HUkFQSF9TSE9XX0FMTCkpOworICAgICAgICBy
ZXR1cm4gQ1N0cmluZyhkYXRhLmdldCgpKTsKKyAgICB9CisKKyAgICByZXR1cm4gQ1N0cmluZygp
OworfQorCitWZWN0b3I8Q1N0cmluZz4gZ2V0QmluQ2hpbGRyZW4oY29uc3QgU3RyaW5nJiBwaXBl
bGluZU5hbWUsIGNvbnN0IFN0cmluZyYgYmluTmFtZSkKK3sKKyAgICBWZWN0b3I8Q1N0cmluZz4g
Y2hpbGRyZW47CisgICAgR3N0QmluKiBwaXBlbGluZSA9IGdzdHJlYW1lclBpcGVsaW5lc01hcCgp
LmdldChwaXBlbGluZU5hbWUudXRmOCgpKTsKKyAgICBpZiAoIXBpcGVsaW5lKQorICAgICAgICBy
ZXR1cm4gY2hpbGRyZW47CisKKyAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IHBhcmVudDsKKworICAg
IGlmIChiaW5OYW1lLmlzRW1wdHkoKSkKKyAgICAgICAgcGFyZW50ID0gR1NUX0VMRU1FTlRfQ0FT
VChnc3Rfb2JqZWN0X3JlZihwaXBlbGluZSkpOworICAgIGVsc2UKKyAgICAgICAgcGFyZW50ID0g
YWRvcHRHUmVmKGdzdF9iaW5fZ2V0X2J5X25hbWUocGlwZWxpbmUsIGJpbk5hbWUudXRmOCgpLmRh
dGEoKSkpOworCisgICAgaWYgKCFwYXJlbnQgfHwgIUdTVF9JU19CSU4ocGFyZW50LmdldCgpKSkK
KyAgICAgICAgcmV0dXJuIGNoaWxkcmVuOworCisgICAgZm9yIChHTGlzdCogaXRlbSA9IEdTVF9C
SU5fQ0hJTERSRU4oR1NUX0JJTl9DQVNUKHBhcmVudC5nZXQoKSkpOyBpdGVtOyBpdGVtID0gaXRl
bS0+bmV4dCkgeworICAgICAgICBpZiAoR1NUX0lTX0JJTihpdGVtLT5kYXRhKSkgeworICAgICAg
ICAgICAgR1VuaXF1ZVB0cjxnY2hhcj4gbmFtZShnc3RfZWxlbWVudF9nZXRfbmFtZShHU1RfRUxF
TUVOVF9DQVNUKGl0ZW0tPmRhdGEpKSk7CisgICAgICAgICAgICBjaGlsZHJlbi5hcHBlbmQoQ1N0
cmluZyhuYW1lLmdldCgpKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gY2hpbGRy
ZW47Cit9CisKIH0KIAogI2VuZGlmIC8vIFVTRShHU1RSRUFNRVIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29t
bW9uLmgKaW5kZXggYzgxM2I3OGMzMjI5Zjk4NGVlOTQ1ZjA0YjRkYmE5MGNhZTJjMDM1Yy4uNjQ0
NGEzODQ5NTY1NWI2NWJkMzA3ZGQ2MGFkNDE3MzZkZmI3MDA2ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJD
b21tb24uaApAQCAtMjIxLDYgKzIyMSwxMiBAQCB2b2lkIGRpc2Nvbm5lY3RTaW1wbGVCdXNNZXNz
YWdlQ2FsbGJhY2soR3N0RWxlbWVudCogcGlwZWxpbmUpOwogCiBlbnVtIGNsYXNzIEdzdFZpZGVv
RGVjb2RlclBsYXRmb3JtIHsgSW14VlBVLCBWaWRlbzRMaW51eCB9OwogCit2b2lkIHJlZ2lzdGVy
R1N0cmVhbWVyUGlwZWxpbmUoR3N0RWxlbWVudCopOwordm9pZCB1bnJlZ2lzdGVyR1N0cmVhbWVy
UGlwZWxpbmUoR3N0RWxlbWVudCopOworVmVjdG9yPENTdHJpbmc+IGdzdFBpcGVsaW5lc05hbWVz
KCk7CitDU3RyaW5nIGR1bXBHU3RyZWFtZXJQaXBlbGluZShjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgc3ViQmluTmFtZSk7CitWZWN0b3I8Q1N0cmluZz4gZ2V0QmluQ2hpbGRyZW4o
Y29uc3QgU3RyaW5nJiBwaXBlbGluZU5hbWUsIGNvbnN0IFN0cmluZyYgYmluTmFtZSk7CisKIH0K
IAogI2lmbmRlZiBHU1RfQlVGRkVSX0RUU19PUl9QVFMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggZTIyNDljZGM5Njc0Yzc1MTJlMmVjN2Ix
MmZiMTZiOWI0MmJmOTc3Yi4uYmE0MjkxODYyMzZkMGJiZTM0NDU1OWQ3NTlkMDI5YmM3ODBmNTUy
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAK
QEAgLTE3MzMsNiArMTczMyw5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp2
aWRlb0NoYW5nZWRDYWxsYmFjayhNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtCiB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0UGlwZWxpbmUoR3N0RWxlbWVudCogcGlwZWxpbmUp
CiB7CiAgICAgbV9waXBlbGluZSA9IHBpcGVsaW5lOworICAgIHJlZ2lzdGVyR1N0cmVhbWVyUGlw
ZWxpbmUobV9waXBlbGluZS5nZXQoKSk7CisgICAgaWYgKG1fcGxheWVyKQorICAgICAgICBtX3Bs
YXllci0+Y2xpZW50KCkuZ3N0cmVhbWVyUGlwZWxpbmVzQ2FjaGVVcGRhdGVkKCk7CiAKICAgICBH
UmVmUHRyPEdzdEJ1cz4gYnVzID0gYWRvcHRHUmVmKGdzdF9waXBlbGluZV9nZXRfYnVzKEdTVF9Q
SVBFTElORShtX3BpcGVsaW5lLmdldCgpKSkpOwogICAgIGdzdF9idXNfc2V0X3N5bmNfaGFuZGxl
cihidXMuZ2V0KCksIFtdKEdzdEJ1cyosIEdzdE1lc3NhZ2UqIG1lc3NhZ2UsIGdwb2ludGVyIHVz
ZXJEYXRhKSB7CkBAIC0zMDY2LDYgKzMwNjksNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbihjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJgog
ICAgICAgICB9CiAKICAgICAgICAgR1NUX0lORk9fT0JKRUNUKHBpcGVsaW5lKCksICJUZWFyaW5n
IGRvd24gYXMgd2UgbmVlZCB0byB1c2UgJXMgbm93LiIsIHBsYXliaW5OYW1lKTsKKyAgICAgICAg
dW5yZWdpc3RlckdTdHJlYW1lclBpcGVsaW5lKG1fcGlwZWxpbmUuZ2V0KCkpOwogICAgICAgICBj
aGFuZ2VQaXBlbGluZVN0YXRlKEdTVF9TVEFURV9OVUxMKTsKICAgICAgICAgbV9waXBlbGluZSA9
IG51bGxwdHI7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcAppbmRleCA1
YTJiZGVkYTFiODdhMWRlYThjNmJiZjVmNjk4NDFkN2U5ZjY2YzBiLi5iMWIzZDhlOTM2YjQwZDE1
YTY4ZmIwMmZlYmI4MGY3NWFiZTZjMWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5l
LmNwcApAQCAtMTE1LDkgKzExNSwxMSBAQCBBcHBlbmRQaXBlbGluZTo6QXBwZW5kUGlwZWxpbmUo
UmVmPE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFPiBtZWRpYVNvdXJjZUNsaQogICAgIC8v
IEZJWE1FOiBnaXZlIGEgbmFtZSB0byB0aGUgcGlwZWxpbmUsIG1heWJlIHJlbGF0ZWQgd2l0aCB0
aGUgdHJhY2sgaXQncyBtYW5hZ2luZy4KICAgICAvLyBUaGUgdHJhY2sgbmFtZSBpcyBzdGlsbCB1
bmtub3duIGF0IHRoaXMgdGltZSwgdGhvdWdoLgogICAgIHN0YXRpYyBzaXplX3QgYXBwZW5kUGlw
ZWxpbmVDb3VudCA9IDA7Ci0gICAgU3RyaW5nIHBpcGVsaW5lTmFtZSA9IG1ha2VTdHJpbmcoImFw
cGVuZC1waXBlbGluZS0iLAorICAgIFN0cmluZyBwaXBlbGluZU5hbWUgPSBtYWtlU3RyaW5nKCJt
c2UtYXBwZW5kLXBpcGVsaW5lLSIsCiAgICAgICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZS0+dHlw
ZSgpLmNvbnRhaW5lclR5cGUoKS5yZXBsYWNlKCIvIiwgIi0iKSwgJy0nLCBhcHBlbmRQaXBlbGlu
ZUNvdW50KyspOwogICAgIG1fcGlwZWxpbmUgPSBnc3RfcGlwZWxpbmVfbmV3KHBpcGVsaW5lTmFt
ZS51dGY4KCkuZGF0YSgpKTsKKyAgICByZWdpc3RlckdTdHJlYW1lclBpcGVsaW5lKG1fcGlwZWxp
bmUuZ2V0KCkpOworICAgIG1fcGxheWVyUHJpdmF0ZS0+bWVkaWFQbGF5ZXIoKS0+Y2xpZW50KCku
Z3N0cmVhbWVyUGlwZWxpbmVzQ2FjaGVVcGRhdGVkKCk7CiAKICAgICBtX2J1cyA9IGFkb3B0R1Jl
Zihnc3RfcGlwZWxpbmVfZ2V0X2J1cyhHU1RfUElQRUxJTkUobV9waXBlbGluZS5nZXQoKSkpKTsK
ICAgICBnc3RfYnVzX2FkZF9zaWduYWxfd2F0Y2hfZnVsbChtX2J1cy5nZXQoKSwgUnVuTG9vcFNv
dXJjZVByaW9yaXR5OjpSdW5Mb29wRGlzcGF0Y2hlcik7CkBAIC0yNDIsNiArMjQ0LDkgQEAgQXBw
ZW5kUGlwZWxpbmU6On5BcHBlbmRQaXBlbGluZSgpCiAgICAgLy8gd2hlbiBjaGFuZ2luZyB0aGUg
cGlwZWxpbmUgc3RhdGUuCiAKICAgICBpZiAobV9waXBlbGluZSkgeworICAgICAgICB1bnJlZ2lz
dGVyR1N0cmVhbWVyUGlwZWxpbmUobV9waXBlbGluZS5nZXQoKSk7CisgICAgICAgIGlmIChtX3Bs
YXllclByaXZhdGUpCisgICAgICAgICAgICBtX3BsYXllclByaXZhdGUtPm1lZGlhUGxheWVyKCkt
PmNsaWVudCgpLmdzdHJlYW1lclBpcGVsaW5lc0NhY2hlVXBkYXRlZCgpOwogICAgICAgICBBU1NF
UlQobV9idXMpOwogICAgICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2RhdGEo
bV9idXMuZ2V0KCksIHRoaXMpOwogICAgICAgICBnc3RfYnVzX2Rpc2FibGVfc3luY19tZXNzYWdl
X2VtaXNzaW9uKG1fYnVzLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmlu
ZGV4IDljNDlhZDdkNzFkYTM3M2FlOWQ2MDgyZjlmMGE4ODNkZmE1MGUzZjMuLmU2YzI2OGNiNWI2
OGZkYWYwMDk2YmNkZTc5OTlhOWE1NDA2MTFiM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3Ry
aW5ncy5qcwpAQCAtNTA3LDYgKzUwNyw3IEBAIGxvY2FsaXplZFN0cmluZ3NbIkV4cG9ydCAoJXMp
Il0gPSAiRXhwb3J0ICglcykiOwogbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IEhBUiJdID0gIkV4
cG9ydCBIQVIiOwogbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IFJlc3VsdCJdID0gIkV4cG9ydCBS
ZXN1bHQiOwogbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IFRlc3QiXSA9ICJFeHBvcnQgVGVzdCI7
Citsb2NhbGl6ZWRTdHJpbmdzWyJFeHBvcnQgcGlwZWxpbmUgZG90IHJlcHJlc2VudGF0aW9uICgl
cykiXSA9ICJFeHBvcnQgcGlwZWxpbmUgZG90IHJlcHJlc2VudGF0aW9uICglcykiOwogbG9jYWxp
emVkU3RyaW5nc1siRXhwb3J0IHJlY29yZGluZyAoJXMpIl0gPSAiRXhwb3J0IHJlY29yZGluZyAo
JXMpIjsKIGxvY2FsaXplZFN0cmluZ3NbIkV4cG9ydCByZWNvcmRpbmcgKCVzKVxuU2hpZnQtY2xp
Y2sgdG8gZXhwb3J0IGEgSFRNTCByZWR1Y3Rpb24iXSA9ICJFeHBvcnQgcmVjb3JkaW5nICglcylc
blNoaWZ0LWNsaWNrIHRvIGV4cG9ydCBhIEhUTUwgcmVkdWN0aW9uIjsKIGxvY2FsaXplZFN0cmlu
Z3NbIkV4cG9ydCByZXN1bHQgKCVzKSJdID0gIkV4cG9ydCByZXN1bHQgKCVzKSI7CkBAIC01NjMs
NiArNTY0LDcgQEAgbG9jYWxpemVkU3RyaW5nc1siRnVsbC1TY3JlZW4gZnJvbSBcdTIwMUMlc1x1
MjAxRCJdID0gIkZ1bGwtU2NyZWVuIGZyb20gXHUyMDFDJXMKIGxvY2FsaXplZFN0cmluZ3NbIkZ1
bmN0aW9uIl0gPSAiRnVuY3Rpb24iOwogbG9jYWxpemVkU3RyaW5nc1siRnVuY3Rpb24gTmFtZSBW
YXJpYWJsZSJdID0gIkZ1bmN0aW9uIE5hbWUgVmFyaWFibGUiOwogbG9jYWxpemVkU3RyaW5nc1si
R0lGIl0gPSAiR0lGIjsKK2xvY2FsaXplZFN0cmluZ3NbIkdTdHJlYW1lciJdID0gIkdTdHJlYW1l
ciI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJHYXJiYWdlIENvbGxlY3Rpb24iXSA9ICJHYXJiYWdlIENv
bGxlY3Rpb24iOwogbG9jYWxpemVkU3RyaW5nc1siR2VuZXJhbCJdID0gIkdlbmVyYWwiOwogbG9j
YWxpemVkU3RyaW5nc1siR2V0dGVyIl0gPSAiR2V0dGVyIjsKQEAgLTgzOCw2ICs4NDAsNyBAQCBs
b2NhbGl6ZWRTdHJpbmdzWyJQZXJpb2RzIG9mIGhpZ2ggQ1BVIHV0aWxpemF0aW9uIHdpbGwgcmFw
aWRseSBkcmFpbiBiYXR0ZXJ5LiBTdAogbG9jYWxpemVkU3RyaW5nc1siUGluZyJdID0gIlBpbmci
OwogbG9jYWxpemVkU3RyaW5nc1siUGluZyBGcmFtZSJdID0gIlBpbmcgRnJhbWUiOwogbG9jYWxp
emVkU3RyaW5nc1siUGluZ3MiXSA9ICJQaW5ncyI7Citsb2NhbGl6ZWRTdHJpbmdzWyJQaXBlbGlu
ZXMiXSA9ICJQaXBlbGluZXMiOwogbG9jYWxpemVkU3RyaW5nc1siUGxheSBTb3VuZCJdID0gIlBs
YXkgU291bmQiOwogLyogVG9vbHRpcCBmb3IgYSB0aW1lIHJhbmdlIGJhciB0aGF0IHJlcHJlc2Vu
dHMgd2hlbiB0aGUgcGxheWJhY2sgb2YgYSBhdWRpby92aWRlbyBlbGVtZW50IGlzIHJ1bm5pbmcg
Ki8KIGxvY2FsaXplZFN0cmluZ3NbIlBsYXlpbmciXSA9ICJQbGF5aW5nIjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9TY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3Vy
Y2VzLnBsIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFj
ZS1yZXNvdXJjZXMucGwKaW5kZXggZmRiYWQzODNiMmVmYjZjMmJiOTU0Zjc1ZTVlMzE3M2YzYzQ2
MTZlOC4uMmQ3Zjc1ZmY4ZDE0NDc1OWFkNGU3MDM4OGI1MzUzOGYwYmIyOTAyYSAxMDA3NTUKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFjZS1yZXNv
dXJjZXMucGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWlu
dGVyZmFjZS1yZXNvdXJjZXMucGwKQEAgLTE2NiwxMyArMTY2LDE3IEBAIG15ICRwcm90b2NvbERp
ciA9IEZpbGU6OlNwZWMtPmNhdGRpcigkdGFyZ2V0UmVzb3VyY2VQYXRoLCAnUHJvdG9jb2wnKTsK
IG15ICR3b3JrZXJzRGlyID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCR0YXJnZXRSZXNvdXJjZVBhdGgs
ICdXb3JrZXJzJyk7CiBteSAkY29kZU1pcnJvclBhdGggPSBGaWxlOjpTcGVjLT5jYXRkaXIoJHVp
Um9vdCwgJ0V4dGVybmFsJywgJ0NvZGVNaXJyb3InKTsKIG15ICRlc3ByaW1hUGF0aCA9IEZpbGU6
OlNwZWMtPmNhdGRpcigkdWlSb290LCAnRXh0ZXJuYWwnLCAnRXNwcmltYScpOworbXkgJHN2Z1Bh
blpvb21qc1BhdGggPSBGaWxlOjpTcGVjLT5jYXRkaXIoJHVpUm9vdCwgJ0V4dGVybmFsJywgJ3N2
Zy1wYW4tem9vbS5qcycpOwogbXkgJHRocmVlanNQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCR1
aVJvb3QsICdFeHRlcm5hbCcsICd0aHJlZS5qcycpOworbXkgJHZpempzUGF0aCA9IEZpbGU6OlNw
ZWMtPmNhdGRpcigkdWlSb290LCAnRXh0ZXJuYWwnLCAndml6LmpzJyk7CiAKICR3ZWJJbnNwZWN0
b3JVSUFkZGl0aW9uc0RpciA9ICZ3ZWJJbnNwZWN0b3JVSUFkZGl0aW9uc0RpcigpOwogCiBteSAk
Y29kZU1pcnJvckxpY2Vuc2UgPSByZWFkTGljZW5zZUZpbGUoRmlsZTo6U3BlYy0+Y2F0ZmlsZSgk
Y29kZU1pcnJvclBhdGgsICdMSUNFTlNFJykpOwogbXkgJGVzcHJpbWFMaWNlbnNlID0gcmVhZExp
Y2Vuc2VGaWxlKEZpbGU6OlNwZWMtPmNhdGZpbGUoJGVzcHJpbWFQYXRoLCAnTElDRU5TRScpKTsK
K215ICRzdmdQYW5ab29tanNMaWNlbnNlID0gcmVhZExpY2Vuc2VGaWxlKEZpbGU6OlNwZWMtPmNh
dGZpbGUoJHN2Z1Bhblpvb21qc1BhdGgsICdMSUNFTlNFJykpOwogbXkgJHRocmVlanNMaWNlbnNl
ID0gcmVhZExpY2Vuc2VGaWxlKEZpbGU6OlNwZWMtPmNhdGZpbGUoJHRocmVlanNQYXRoLCAnTElD
RU5TRScpKTsKK215ICR2aXpqc0xpY2Vuc2UgPSByZWFkTGljZW5zZUZpbGUoRmlsZTo6U3BlYy0+
Y2F0ZmlsZSgkdml6anNQYXRoLCAnTElDRU5TRScpKTsKIG1ha2VfcGF0aCgkcHJvdG9jb2xEaXIs
ICR0YXJnZXRSZXNvdXJjZVBhdGgpOwogCiAkcHl0aG9uID0gJEVOVnsiUFlUSE9OIn0gaWYgZGVm
aW5lZCgkRU5WeyJQWVRIT04ifSk7CkBAIC0zMzcsMTQgKzM0MSwzMiBAQCBpZiAoJHNob3VsZENv
bWJpbmVNYWluKSB7CiAgICAgICAgJy0tb3V0cHV0LWRpcicsICRkZXJpdmVkU291cmNlc0RpciwK
ICAgICAgICAnLS1vdXRwdXQtc2NyaXB0LW5hbWUnLCAnRXNwcmltYS5qcycpOwogCi0gICAgIyBD
b21iaW5lIHRoZSB0aHJlZS5qcyBKYXZhU2NyaXB0IGZpbGVzIGluIFByb2R1Y3Rpb24gYnVpbGRz
IGludG8gYSBzaW5nbGUgZmlsZSAoVGhyZWUuanMpLgorICAgICMgQ29tYmluZSB0aGUgc3ZnLXBh
bi16b29tLmpzIEphdmFTY3JpcHQgZmlsZXMgaW4gUHJvZHVjdGlvbiBidWlsZHMgaW50byBhIHNp
bmdsZSBmaWxlIChTdmdQYW5ab29tLmpzKS4KICAgICBzeXN0ZW0oJHBlcmwsICRjb21iaW5lUmVz
b3VyY2VzQ21kLAotICAgICAgICctLWlucHV0LWRpcicsICdFeHRlcm5hbC90aHJlZS5qcycsCisg
ICAgICAgJy0taW5wdXQtZGlyJywgJ0V4dGVybmFsL3N2Zy1wYW4tem9vbS5qcycsCiAgICAgICAg
Jy0taW5wdXQtaHRtbCcsICRkZXJpdmVkU291cmNlc01haW5IVE1MLAogICAgICAgICctLWlucHV0
LWh0bWwtZGlyJywgJHVpUm9vdCwKICAgICAgICAnLS1kZXJpdmVkLXNvdXJjZXMtZGlyJywgJGRl
cml2ZWRTb3VyY2VzRGlyLAogICAgICAgICctLW91dHB1dC1kaXInLCAkZGVyaXZlZFNvdXJjZXNE
aXIsCi0gICAgICAgJy0tb3V0cHV0LXNjcmlwdC1uYW1lJywgJ1RocmVlLmpzJyk7CisgICAgICAg
Jy0tb3V0cHV0LXNjcmlwdC1uYW1lJywgJ1N2Z1Bhblpvb20uanMnKTsKKworICAgICMgQ29tYmlu
ZSB0aGUgdGhyZWUuanMgSmF2YVNjcmlwdCBmaWxlcyBpbiBQcm9kdWN0aW9uIGJ1aWxkcyBpbnRv
IGEgc2luZ2xlIGZpbGUgKFRocmVlLmpzKS4KKyAgICBzeXN0ZW0oJHBlcmwsICRjb21iaW5lUmVz
b3VyY2VzQ21kLAorICAgICAgICAgICAnLS1pbnB1dC1kaXInLCAnRXh0ZXJuYWwvdGhyZWUuanMn
LAorICAgICAgICAgICAnLS1pbnB1dC1odG1sJywgJGRlcml2ZWRTb3VyY2VzTWFpbkhUTUwsCisg
ICAgICAgICAgICctLWlucHV0LWh0bWwtZGlyJywgJHVpUm9vdCwKKyAgICAgICAgICAgJy0tZGVy
aXZlZC1zb3VyY2VzLWRpcicsICRkZXJpdmVkU291cmNlc0RpciwKKyAgICAgICAgICAgJy0tb3V0
cHV0LWRpcicsICRkZXJpdmVkU291cmNlc0RpciwKKyAgICAgICAgICAgJy0tb3V0cHV0LXNjcmlw
dC1uYW1lJywgJ1RocmVlLmpzJyk7CisKKyAgICAjIENvbWJpbmUgdGhlIHZpei5qcyBKYXZhU2Ny
aXB0IGZpbGVzIGluIFByb2R1Y3Rpb24gYnVpbGRzIGludG8gYSBzaW5nbGUgZmlsZSAoVml6Lmpz
KS4KKyAgICBzeXN0ZW0oJHBlcmwsICRjb21iaW5lUmVzb3VyY2VzQ21kLAorICAgICAgICAgICAn
LS1pbnB1dC1kaXInLCAnRXh0ZXJuYWwvdml6LmpzJywKKyAgICAgICAgICAgJy0taW5wdXQtaHRt
bCcsICRkZXJpdmVkU291cmNlc01haW5IVE1MLAorICAgICAgICAgICAnLS1pbnB1dC1odG1sLWRp
cicsICR1aVJvb3QsCisgICAgICAgICAgICctLWRlcml2ZWQtc291cmNlcy1kaXInLCAkZGVyaXZl
ZFNvdXJjZXNEaXIsCisgICAgICAgICAgICctLW91dHB1dC1kaXInLCAkZGVyaXZlZFNvdXJjZXNE
aXIsCisgICAgICAgICAgICctLW91dHB1dC1zY3JpcHQtbmFtZScsICdWaXouanMnKTsKIAogICAg
ICMgUmVtb3ZlIGNvbnNvbGUuYXNzZXJ0IGNhbGxzIGZyb20gdGhlIE1haW4uanMgZmlsZS4KICAg
ICBteSAkZGVyaXZlZFNvdXJjZXNNYWluSlMgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCRkZXJpdmVk
U291cmNlc0RpciwgJ01haW4uanMnKTsKQEAgLTM4MiwxMCArNDA0LDE4IEBAIGlmICgkc2hvdWxk
Q29tYmluZU1haW4pIHsKICAgICBteSAkdGFyZ2V0RXNwcmltYUpTID0gRmlsZTo6U3BlYy0+Y2F0
ZmlsZSgkdGFyZ2V0UmVzb3VyY2VQYXRoLCAnRXNwcmltYS5qcycpOwogICAgIHNlZWRGaWxlKCR0
YXJnZXRFc3ByaW1hSlMsICRlc3ByaW1hTGljZW5zZSk7CiAKKyAgICAjIEV4cG9ydCB0aGUgbGlj
ZW5zZSBpbnRvIFN2Z1Bhblpvb20uanMuCisgICAgbXkgJHRhcmdldFN2Z1Bhblpvb21qc0pTID0g
RmlsZTo6U3BlYy0+Y2F0ZmlsZSgkdGFyZ2V0UmVzb3VyY2VQYXRoLCAnU3ZnUGFuWm9vbS5qcycp
OworICAgIHNlZWRGaWxlKCR0YXJnZXRTdmdQYW5ab29tanNKUywgJHN2Z1Bhblpvb21qc0xpY2Vu
c2UpOworCiAgICAgIyBFeHBvcnQgdGhlIGxpY2Vuc2UgaW50byBUaHJlZS5qcy4KICAgICBteSAk
dGFyZ2V0VGhyZWVqc0pTID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkdGFyZ2V0UmVzb3VyY2VQYXRo
LCAnVGhyZWUuanMnKTsKICAgICBzZWVkRmlsZSgkdGFyZ2V0VGhyZWVqc0pTLCAkdGhyZWVqc0xp
Y2Vuc2UpOwogCisgICAgIyBFeHBvcnQgdGhlIGxpY2Vuc2UgaW50byBWaXouanMuCisgICAgbXkg
JHRhcmdldFZpempzSlMgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCR0YXJnZXRSZXNvdXJjZVBhdGgs
ICdWaXouanMnKTsKKyAgICBzZWVkRmlsZSgkdGFyZ2V0Vml6anNKUywgJHZpempzTGljZW5zZSk7
CisKICAgICAjIE1pbmlmeSB0aGUgTWFpbi5qcyBhbmQgTWFpbi5jc3MgZmlsZXMsIHdpdGggTWFp
bi5qcyBhcHBlbmRpbmcgdG8gdGhlIGxpY2Vuc2UgdGhhdCB3YXMgZXhwb3J0ZWQgYWJvdmUuCiAg
ICAgbXkgJGpzTWluU2NyaXB0ID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkc2hhcmVkU2NyaXB0c1Jv
b3QsICdqc21pbi5weScpOwogICAgIG15ICRjc3NNaW5TY3JpcHQgPSBGaWxlOjpTcGVjLT5jYXRm
aWxlKCRzaGFyZWRTY3JpcHRzUm9vdCwgJ2Nzc21pbi5weScpOwpAQCAtNDAyLDEwICs0MzIsMTgg
QEAgaWYgKCRzaG91bGRDb21iaW5lTWFpbikgewogICAgIG15ICRkZXJpdmVkU291cmNlc0VzcHJp
bWFKUyA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJGRlcml2ZWRTb3VyY2VzRGlyLCAnRXNwcmltYS5q
cycpOwogICAgIHN5c3RlbShxcSgiJHB5dGhvbiIgIiRqc01pblNjcmlwdCIgPCAiJGRlcml2ZWRT
b3VyY2VzRXNwcmltYUpTIiA+PiAiJHRhcmdldEVzcHJpbWFKUyIpKSBhbmQgZGllICJGYWlsZWQg
dG8gbWluaWZ5ICRkZXJpdmVkU291cmNlc0VzcHJpbWFKUzogJCEiOwogCisgICAgIyBNaW5pZnkg
dGhlIFN2Z1Bhblpvb20uanMgZmlsZSwgYXBwZW5kaW5nIHRvIHRoZSBsaWNlbnNlIHRoYXQgd2Fz
IGV4cG9ydGVkIGFib3ZlLgorICAgIG15ICRkZXJpdmVkU291cmNlc1N2Z1Bhblpvb21qc0pTID0g
RmlsZTo6U3BlYy0+Y2F0ZmlsZSgkZGVyaXZlZFNvdXJjZXNEaXIsICdTdmdQYW5ab29tLmpzJyk7
CisgICAgc3lzdGVtKHFxKCIkcHl0aG9uIiAiJGpzTWluU2NyaXB0IiA8ICIkZGVyaXZlZFNvdXJj
ZXNTdmdQYW5ab29tanNKUyIgPj4gIiR0YXJnZXRTdmdQYW5ab29tanNKUyIpKSBhbmQgZGllICJG
YWlsZWQgdG8gbWluaWZ5ICRkZXJpdmVkU291cmNlc1N2Z1Bhblpvb21qc0pTOiAkISI7CisKICAg
ICAjIE1pbmlmeSB0aGUgVGhyZWUuanMgZmlsZSwgYXBwZW5kaW5nIHRvIHRoZSBsaWNlbnNlIHRo
YXQgd2FzIGV4cG9ydGVkIGFib3ZlLgogICAgIG15ICRkZXJpdmVkU291cmNlc1RocmVlanNKUyA9
IEZpbGU6OlNwZWMtPmNhdGZpbGUoJGRlcml2ZWRTb3VyY2VzRGlyLCAnVGhyZWUuanMnKTsKICAg
ICBzeXN0ZW0ocXEoIiRweXRob24iICIkanNNaW5TY3JpcHQiIDwgIiRkZXJpdmVkU291cmNlc1Ro
cmVlanNKUyIgPj4gIiR0YXJnZXRUaHJlZWpzSlMiKSkgYW5kIGRpZSAiRmFpbGVkIHRvIG1pbmlm
eSAkZGVyaXZlZFNvdXJjZXNUaHJlZWpzSlM6ICQhIjsKIAorICAgICMgTWluaWZ5IHRoZSBWaXou
anMgZmlsZSwgYXBwZW5kaW5nIHRvIHRoZSBsaWNlbnNlIHRoYXQgd2FzIGV4cG9ydGVkIGFib3Zl
LgorICAgIG15ICRkZXJpdmVkU291cmNlc1ZpempzSlMgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCRk
ZXJpdmVkU291cmNlc0RpciwgJ1Zpei5qcycpOworICAgIHN5c3RlbShxcSgiJHB5dGhvbiIgIiRq
c01pblNjcmlwdCIgPCAiJGRlcml2ZWRTb3VyY2VzVml6anNKUyIgPj4gIiR0YXJnZXRWaXpqc0pT
IikpIGFuZCBkaWUgIkZhaWxlZCB0byBtaW5pZnkgJGRlcml2ZWRTb3VyY2VzVml6anNKUzogJCEi
OworCiAgICAgIyBDb3B5IG92ZXIgdGhlIEltYWdlcyBkaXJlY3RvcnkuCiAgICAgZGl0dG8oRmls
ZTo6U3BlYy0+Y2F0ZGlyKCR1aVJvb3QsICdJbWFnZXMnKSwgRmlsZTo6U3BlYy0+Y2F0ZGlyKCR0
YXJnZXRSZXNvdXJjZVBhdGgsICdJbWFnZXMnKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwppbmRleCAzNzExYjJhZWIzMGU2N2I2MDIw
NzA3ZmQ2OWY4MmQwZTk0YjA1ZTZlLi45ZjE5NWZlZWZkZWE3Zjg1MzZkMjY0NDY3ZDFlZGQ2NzMy
MDZmN2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9C
YXNlL01haW4uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFz
ZS9NYWluLmpzCkBAIC0xMjMsNiArMTIzLDcgQEAgV0kubG9hZGVkID0gZnVuY3Rpb24oKQogICAg
ICAgICBXSS53b3JrZXJNYW5hZ2VyID0gbmV3IFdJLldvcmtlck1hbmFnZXIsCiAgICAgICAgIFdJ
LmRvbURlYnVnZ2VyTWFuYWdlciA9IG5ldyBXSS5ET01EZWJ1Z2dlck1hbmFnZXIsCiAgICAgICAg
IFdJLmNhbnZhc01hbmFnZXIgPSBuZXcgV0kuQ2FudmFzTWFuYWdlciwKKyAgICAgICAgV0kuZ3N0
cmVhbWVyTWFuYWdlciA9IG5ldyBXSS5HU3RyZWFtZXJNYW5hZ2VyLAogICAgIF07CiAKICAgICAv
LyBSZWdpc3RlciBmb3IgZXZlbnRzLgpAQCAtNDc1LDYgKzQ3NiwxMSBAQCBXSS5jb250ZW50TG9h
ZGVkID0gZnVuY3Rpb24oKQogICAgIF07CiAKICAgICBXSS5fa25vd25UYWJDbGFzc2VzQnlUeXBl
ID0gbmV3IE1hcDsKKworICAgIGlmIChXSS5QbGF0Zm9ybS5wb3J0ID09PSAiZ3RrIiB8fCBXSS5Q
bGF0Zm9ybS5wb3J0ID09PSAid3BlIikgeworICAgICAgICBwcm9kdWN0aW9uVGFiQ2xhc3Nlcy5w
dXNoKFdJLkdTdHJlYW1lclRhYkNvbnRlbnRWaWV3KTsKKyAgICB9CisKICAgICAvLyBTZXQgdGFi
IGNsYXNzZXMgZGlyZWN0bHkuIFRoZSBwdWJsaWMgQVBJIHRyaWdnZXJzIG90aGVyIHVwZGF0ZXMg
YW5kCiAgICAgLy8gbm90aWZpY2F0aW9ucyB0aGF0IHdvbid0IHdvcmsgb3IgaGF2ZSBubyBsaXN0
ZW5lcnMgYXQgV0kgcG9pbnQuCiAgICAgZm9yIChsZXQgdGFiQ2xhc3Mgb2YgcHJvZHVjdGlvblRh
YkNsYXNzZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9CYXNlL1BsYXRmb3JtLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
QmFzZS9QbGF0Zm9ybS5qcwppbmRleCBmZmI1YTc3ZTJjM2FkYzc0Y2YyYmJlOTg2MDk2Y2E3MGFm
YTBiNjk2Li41NzNkYjg5YTllM2E1MWZlMTY4NzZlZmU3YzA1ODI2N2RlMWM3MDdjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1BsYXRmb3JtLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvUGxhdGZvcm0u
anMKQEAgLTI1LDYgKzI1LDcgQEAKIAogV0kuUGxhdGZvcm0gPSB7CiAgICAgbmFtZTogSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LnBsYXRmb3JtKCksCisgICAgcG9ydDogSW5zcGVjdG9yRnJvbnRlbmRI
b3N0LnBvcnQoKSwKICAgICBpc05pZ2h0bHlCdWlsZDogZmFsc2UsCiAgICAgdmVyc2lvbjogewog
ICAgICAgICBiYXNlOiAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQ29udHJvbGxlcnMvR1N0cmVhbWVyTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0dTdHJlYW1lck1hbmFnZXIuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZWRhNGFkYWE3Zjg4NWExNDY0N2MxYjg3NDNjOGM4MmI5YTE3OTczNQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL0dTdHJlYW1lck1hbmFnZXIuanMKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqICBDb3B5cmln
aHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExl
c3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRl
IHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKwor
V0kuR1N0cmVhbWVyTWFuYWdlciA9IGNsYXNzIEdTdHJlYW1lck1hbmFnZXIgZXh0ZW5kcyBXSS5P
YmplY3QKK3sKKyAgICAvLyBQdWJsaWMKKworICAgIGNvbnN0cnVjdG9yKCkKKyAgICB7CisgICAg
ICAgIHN1cGVyKCk7CisKKyAgICAgICAgdGhpcy5fdml6ID0gbmV3IFZpeigpOworICAgIH0KKwor
ICAgIGNhY2hlQ2hhbmdlZCgpCisgICAgeworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xp
c3RlbmVycyhXSS5HU3RyZWFtZXJNYW5hZ2VyLkV2ZW50LkNhY2hlQ2hhbmdlZCwge30pOworICAg
IH0KKworICAgIGV4cG9ydChvYmplY3QpCisgICAgeworICAgICAgICBXSS5GaWxlVXRpbGl0aWVz
LnNhdmUob2JqZWN0LnNhdmVEYXRhKTsKKyAgICB9CisKKyAgICByZW5kZXJTVkdFbGVtZW50KGdy
YXBoUmVwcmVzZW50YXRpb24pCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fdml6LnJlbmRl
clNWR0VsZW1lbnQoZ3JhcGhSZXByZXNlbnRhdGlvbik7CisgICAgfQorCit9OworCitXSS5HU3Ry
ZWFtZXJNYW5hZ2VyLkV2ZW50ID0geworICAgIENhY2hlQ2hhbmdlZDogImdzdHJlYW1lci1tYW5h
Z2VyLWNhY2hlLXdhcy1jaGFuZ2VkIiwKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9zdmctcGFuLXpvb20uanMvTElDRU5TRSBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL3N2Zy1wYW4tem9vbS5q
cy9MSUNFTlNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzNjg3MjZmZDBkOWM2M2E1NzM1OTIwNzdiZDgyYTFkMmI5
MmFmOTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9FeHRlcm5hbC9zdmctcGFuLXpvb20uanMvTElDRU5TRQpAQCAtMCwwICsxLDIzIEBACitD
b3B5cmlnaHQgMjAwOS0yMDEwIEFuZHJlYSBMZW9mcmVkZGkgPGEubGVvZnJlZGRpQGl0Y2hhcm0u
Y29tPgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwKK2Fy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDoKKworKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMKKyAgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzCisgIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vcgorICBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUworKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvc3ZnLXBhbi16b29tLmpzL3N2Zy1w
YW4tem9vbS5taW4uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRl
cm5hbC9zdmctcGFuLXpvb20uanMvc3ZnLXBhbi16b29tLm1pbi5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MDdm
MGU0NDJlYzU3ZTlhNmMzZTQ3M2IwMDExZjYwNjg5MGI0OTUxCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvc3ZnLXBhbi16b29t
LmpzL3N2Zy1wYW4tem9vbS5taW4uanMKQEAgLTAsMCArMSwzIEBACisvLyBzdmctcGFuLXpvb20g
djMuNi4wCisvLyBodHRwczovL2dpdGh1Yi5jb20vYXJpdXR0YS9zdmctcGFuLXpvb20KKyFmdW5j
dGlvbiB0KGUsbyxuKXtmdW5jdGlvbiBpKHIsYSl7aWYoIW9bcl0pe2lmKCFlW3JdKXt2YXIgbD0i
ZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighYSYmbClyZXR1cm4gbChyLCEw
KTtpZihzKXJldHVybiBzKHIsITApO3ZhciB1PW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxl
ICciK3IrIiciKTt0aHJvdyB1LmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLHV9dmFyIGg9b1tyXT17
ZXhwb3J0czp7fX07ZVtyXVswXS5jYWxsKGguZXhwb3J0cyxmdW5jdGlvbih0KXt2YXIgbz1lW3Jd
WzFdW3RdO3JldHVybiBpKG8/bzp0KX0saCxoLmV4cG9ydHMsdCxlLG8sbil9cmV0dXJuIG9bcl0u
ZXhwb3J0c31mb3IodmFyIHM9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUscj0w
O3I8bi5sZW5ndGg7cisrKWkobltyXSk7cmV0dXJuIGl9KHsxOltmdW5jdGlvbih0LGUsbyl7dmFy
IG49dCgiLi9zdmctcGFuLXpvb20uanMiKTshZnVuY3Rpb24odCxvKXsiZnVuY3Rpb24iPT10eXBl
b2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZSgic3ZnLXBhbi16b29tIixmdW5jdGlvbigpe3Jl
dHVybiBufSk6InVuZGVmaW5lZCIhPXR5cGVvZiBlJiZlLmV4cG9ydHMmJihlLmV4cG9ydHM9bix0
LnN2Z1Bhblpvb209bil9KHdpbmRvdyxkb2N1bWVudCl9LHsiLi9zdmctcGFuLXpvb20uanMiOjR9
XSwyOltmdW5jdGlvbih0LGUsbyl7dmFyIG49dCgiLi9zdmctdXRpbGl0aWVzIik7ZS5leHBvcnRz
PXtlbmFibGU6ZnVuY3Rpb24odCl7dmFyIGU9dC5zdmcucXVlcnlTZWxlY3RvcigiZGVmcyIpO2V8
fChlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhuLnN2Z05TLCJkZWZzIiksdC5zdmcuYXBwZW5k
Q2hpbGQoZSkpO3ZhciBvPWUucXVlcnlTZWxlY3Rvcigic3R5bGUjc3ZnLXBhbi16b29tLWNvbnRy
b2xzLXN0eWxlcyIpO2lmKCFvKXt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMobi5zdmdO
Uywic3R5bGUiKTtpLnNldEF0dHJpYnV0ZSgiaWQiLCJzdmctcGFuLXpvb20tY29udHJvbHMtc3R5
bGVzIiksaS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJ0ZXh0L2NzcyIpLGkudGV4dENvbnRlbnQ9Ii5z
dmctcGFuLXpvb20tY29udHJvbCB7IGN1cnNvcjogcG9pbnRlcjsgZmlsbDogYmxhY2s7IGZpbGwt
b3BhY2l0eTogMC4zMzM7IH0gLnN2Zy1wYW4tem9vbS1jb250cm9sOmhvdmVyIHsgZmlsbC1vcGFj
aXR5OiAwLjg7IH0gLnN2Zy1wYW4tem9vbS1jb250cm9sLWJhY2tncm91bmQgeyBmaWxsOiB3aGl0
ZTsgZmlsbC1vcGFjaXR5OiAwLjU7IH0gLnN2Zy1wYW4tem9vbS1jb250cm9sLWJhY2tncm91bmQg
eyBmaWxsLW9wYWNpdHk6IDAuODsgfSIsZS5hcHBlbmRDaGlsZChpKX12YXIgcz1kb2N1bWVudC5j
cmVhdGVFbGVtZW50TlMobi5zdmdOUywiZyIpO3Muc2V0QXR0cmlidXRlKCJpZCIsInN2Zy1wYW4t
em9vbS1jb250cm9scyIpLHMuc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIiso
dC53aWR0aC03MCkrIiAiKyh0LmhlaWdodC03NikrIikgc2NhbGUoMC43NSkiKSxzLnNldEF0dHJp
YnV0ZSgiY2xhc3MiLCJzdmctcGFuLXpvb20tY29udHJvbCIpLHMuYXBwZW5kQ2hpbGQodGhpcy5f
Y3JlYXRlWm9vbUluKHQpKSxzLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZVpvb21SZXNldCh0KSks
cy5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVab29tT3V0KHQpKSx0LnN2Zy5hcHBlbmRDaGlsZChz
KSx0LmNvbnRyb2xJY29ucz1zfSxfY3JlYXRlWm9vbUluOmZ1bmN0aW9uKHQpe3ZhciBlPWRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnROUyhuLnN2Z05TLCJnIik7ZS5zZXRBdHRyaWJ1dGUoImlkIiwic3Zn
LXBhbi16b29tLXpvb20taW4iKSxlLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiwidHJhbnNsYXRl
KDMwLjUgNSkgc2NhbGUoMC4wMTUpIiksZS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwic3ZnLXBhbi16
b29tLWNvbnRyb2wiKSxlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3QuZ2V0
UHVibGljSW5zdGFuY2UoKS56b29tSW4oKX0sITEpLGUuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hz
dGFydCIsZnVuY3Rpb24oKXt0LmdldFB1YmxpY0luc3RhbmNlKCkuem9vbUluKCl9LCExKTt2YXIg
bz1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMobi5zdmdOUywicmVjdCIpO28uc2V0QXR0cmlidXRl
KCJ4IiwiMCIpLG8uc2V0QXR0cmlidXRlKCJ5IiwiMCIpLG8uc2V0QXR0cmlidXRlKCJ3aWR0aCIs
IjE1MDAiKSxvLnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwiMTQwMCIpLG8uc2V0QXR0cmlidXRlKCJj
bGFzcyIsInN2Zy1wYW4tem9vbS1jb250cm9sLWJhY2tncm91bmQiKSxlLmFwcGVuZENoaWxkKG8p
O3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhuLnN2Z05TLCJwYXRoIik7cmV0dXJuIGku
c2V0QXR0cmlidXRlKCJkIiwiTTEyODAgNTc2djEyOHEwIDI2IC0xOSA0NXQtNDUgMTloLTMyMHYz
MjBxMCAyNiAtMTkgNDV0LTQ1IDE5aC0xMjhxLTI2IDAgLTQ1IC0xOXQtMTkgLTQ1di0zMjBoLTMy
MHEtMjYgMCAtNDUgLTE5dC0xOSAtNDV2LTEyOHEwIC0yNiAxOSAtNDV0NDUgLTE5aDMyMHYtMzIw
cTAgLTI2IDE5IC00NXQ0NSAtMTloMTI4cTI2IDAgNDUgMTl0MTkgNDV2MzIwaDMyMHEyNiAwIDQ1
IDE5dDE5IDQ1ek0xNTM2IDExMjB2LTk2MCBxMCAtMTE5IC04NC41IC0yMDMuNXQtMjAzLjUgLTg0
LjVoLTk2MHEtMTE5IDAgLTIwMy41IDg0LjV0LTg0LjUgMjAzLjV2OTYwcTAgMTE5IDg0LjUgMjAz
LjV0MjAzLjUgODQuNWg5NjBxMTE5IDAgMjAzLjUgLTg0LjV0ODQuNSAtMjAzLjV6IiksaS5zZXRB
dHRyaWJ1dGUoImNsYXNzIiwic3ZnLXBhbi16b29tLWNvbnRyb2wtZWxlbWVudCIpLGUuYXBwZW5k
Q2hpbGQoaSksZX0sX2NyZWF0ZVpvb21SZXNldDpmdW5jdGlvbih0KXt2YXIgZT1kb2N1bWVudC5j
cmVhdGVFbGVtZW50TlMobi5zdmdOUywiZyIpO2Uuc2V0QXR0cmlidXRlKCJpZCIsInN2Zy1wYW4t
em9vbS1yZXNldC1wYW4tem9vbSIpLGUuc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xh
dGUoNSAzNSkgc2NhbGUoMC40KSIpLGUuc2V0QXR0cmlidXRlKCJjbGFzcyIsInN2Zy1wYW4tem9v
bS1jb250cm9sIiksZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt0LmdldFB1
YmxpY0luc3RhbmNlKCkucmVzZXQoKX0sITEpLGUuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFy
dCIsZnVuY3Rpb24oKXt0LmdldFB1YmxpY0luc3RhbmNlKCkucmVzZXQoKX0sITEpO3ZhciBvPWRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnROUyhuLnN2Z05TLCJyZWN0Iik7by5zZXRBdHRyaWJ1dGUoIngi
LCIyIiksby5zZXRBdHRyaWJ1dGUoInkiLCIyIiksby5zZXRBdHRyaWJ1dGUoIndpZHRoIiwiMTgy
Iiksby5zZXRBdHRyaWJ1dGUoImhlaWdodCIsIjU4Iiksby5zZXRBdHRyaWJ1dGUoImNsYXNzIiwi
c3ZnLXBhbi16b29tLWNvbnRyb2wtYmFja2dyb3VuZCIpLGUuYXBwZW5kQ2hpbGQobyk7dmFyIGk9
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG4uc3ZnTlMsInBhdGgiKTtpLnNldEF0dHJpYnV0ZSgi
ZCIsIk0zMy4wNTEsMjAuNjMyYy0wLjc0Mi0wLjQwNi0xLjg1NC0wLjYwOS0zLjMzOC0wLjYwOWgt
Ny45Njl2OS4yODFoNy43NjljMS41NDMsMCwyLjcwMS0wLjE4OCwzLjQ3My0wLjU2MmMxLjM2NS0w
LjY1NiwyLjA0OC0xLjk1MywyLjA0OC0zLjg5MUMzNS4wMzIsMjIuNzU3LDM0LjM3MiwyMS4zNTEs
MzMuMDUxLDIwLjYzMnoiKSxpLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCJzdmctcGFuLXpvb20tY29u
dHJvbC1lbGVtZW50IiksZS5hcHBlbmRDaGlsZChpKTt2YXIgcz1kb2N1bWVudC5jcmVhdGVFbGVt
ZW50TlMobi5zdmdOUywicGF0aCIpO3JldHVybiBzLnNldEF0dHJpYnV0ZSgiZCIsIk0xNzAuMjMx
LDAuNUgxNS44NDdDNy4xMDIsMC41LDAuNSw1LjcwOCwwLjUsMTEuODR2MzguODYxQzAuNSw1Ni44
MzMsNy4xMDIsNjEuNSwxNS44NDcsNjEuNWgxNTQuMzg0YzguNzQ1LDAsMTUuMjY5LTQuNjY3LDE1
LjI2OS0xMC43OThWMTEuODRDMTg1LjUsNS43MDgsMTc4Ljk3NiwwLjUsMTcwLjIzMSwwLjV6IE00
Mi44MzcsNDguNTY5aC03Ljk2OWMtMC4yMTktMC43NjYtMC4zNzUtMS4zODMtMC40NjktMS44NTJj
LTAuMTg4LTAuOTY5LTAuMjg5LTEuOTYxLTAuMzA1LTIuOTc3bC0wLjA0Ny0zLjIxMWMtMC4wMy0y
LjIwMy0wLjQxLTMuNjcyLTEuMTQyLTQuNDA2Yy0wLjczMi0wLjczNC0yLjEwMy0xLjEwMi00LjEx
My0xLjEwMmgtNy4wNXYxMy41NDdoLTcuMDU1VjE0LjAyMmgxNi41MjRjMi4zNjEsMC4wNDcsNC4x
NzgsMC4zNDQsNS40NSwwLjg5MWMxLjI3MiwwLjU0NywyLjM1MSwxLjM1MiwzLjIzNCwyLjQxNGMw
LjczMSwwLjg3NSwxLjMxLDEuODQ0LDEuNzM3LDIuOTA2czAuNjQsMi4yNzMsMC42NCwzLjYzM2Mw
LDEuNjQxLTAuNDE0LDMuMjU0LTEuMjQyLDQuODRzLTIuMTk1LDIuNzA3LTQuMTAyLDMuMzYzYzEu
NTk0LDAuNjQxLDIuNzIzLDEuNTUxLDMuMzg3LDIuNzNzMC45OTYsMi45OCwwLjk5Niw1LjQwMnYy
LjMyYzAsMS41NzgsMC4wNjMsMi42NDgsMC4xOSwzLjIxMWMwLjE5LDAuODkxLDAuNjM1LDEuNTQ3
LDEuMzMzLDEuOTY5VjQ4LjU2OXogTTc1LjU3OSw0OC41NjloLTI2LjE4VjE0LjAyMmgyNS4zMzZ2
Ni4xMTdINTYuNDU0djcuMzM2aDE2Ljc4MXY2SDU2LjQ1NHY4Ljg4M2gxOS4xMjVWNDguNTY5eiBN
MTA0LjQ5Nyw0Ni4zMzFjLTIuNDQsMi4wODYtNS44ODcsMy4xMjktMTAuMzQsMy4xMjljLTQuNTQ4
LDAtOC4xMjUtMS4wMjctMTAuNzMxLTMuMDgycy0zLjkwOS00Ljg3OS0zLjkwOS04LjQ3M2g2Ljg5
MWMwLjIyNCwxLjU3OCwwLjY2MiwyLjc1OCwxLjMxNiwzLjUzOWMxLjE5NiwxLjQyMiwzLjI0Niwy
LjEzMyw2LjE1LDIuMTMzYzEuNzM5LDAsMy4xNTEtMC4xODgsNC4yMzYtMC41NjJjMi4wNTgtMC43
MTksMy4wODctMi4wNTUsMy4wODctNC4wMDhjMC0xLjE0MS0wLjUwNC0yLjAyMy0xLjUxMi0yLjY0
OGMtMS4wMDgtMC42MDktMi42MDctMS4xNDgtNC43OTYtMS42MTdsLTMuNzQtMC44MmMtMy42NzYt
MC44MTItNi4yMDEtMS42OTUtNy41NzYtMi42NDhjLTIuMzI4LTEuNTk0LTMuNDkyLTQuMDg2LTMu
NDkyLTcuNDc3YzAtMy4wOTQsMS4xMzktNS42NjQsMy40MTctNy43MTFzNS42MjMtMy4wNywxMC4w
MzYtMy4wN2MzLjY4NSwwLDYuODI5LDAuOTY1LDkuNDMxLDIuODk1YzIuNjAyLDEuOTMsMy45NjYs
NC43Myw0LjA5Myw4LjQwMmgtNi45MzhjLTAuMTI4LTIuMDc4LTEuMDU3LTMuNTU1LTIuNzg3LTQu
NDNjLTEuMTU0LTAuNTc4LTIuNTg3LTAuODY3LTQuMzAxLTAuODY3Yy0xLjkwNywwLTMuNDI4LDAu
Mzc1LTQuNTY1LDEuMTI1Yy0xLjEzOCwwLjc1LTEuNzA2LDEuNzk3LTEuNzA2LDMuMTQxYzAsMS4y
MzQsMC41NjEsMi4xNTYsMS42ODIsMi43NjZjMC43MjEsMC40MDYsMi4yNSwwLjg4Myw0LjU4OSwx
LjQzbDYuMDYzLDEuNDNjMi42NTcsMC42MjUsNC42NDgsMS40NjEsNS45NzUsMi41MDhjMi4wNTks
MS42MjUsMy4wODksMy45NzcsMy4wODksNy4wNTVDMTA4LjE1Nyw0MS42MjQsMTA2LjkzNyw0NC4y
NDUsMTA0LjQ5Nyw0Ni4zMzF6IE0xMzkuNjEsNDguNTY5aC0yNi4xOFYxNC4wMjJoMjUuMzM2djYu
MTE3aC0xOC4yODF2Ny4zMzZoMTYuNzgxdjZoLTE2Ljc4MXY4Ljg4M2gxOS4xMjVWNDguNTY5eiBN
MTcwLjMzNywyMC4xNGgtMTAuMzM2djI4LjQzaC03LjI2NlYyMC4xNGgtMTAuMzgzdi02LjExN2gy
Ny45ODRWMjAuMTR6Iikscy5zZXRBdHRyaWJ1dGUoImNsYXNzIiwic3ZnLXBhbi16b29tLWNvbnRy
b2wtZWxlbWVudCIpLGUuYXBwZW5kQ2hpbGQocyksZX0sX2NyZWF0ZVpvb21PdXQ6ZnVuY3Rpb24o
dCl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG4uc3ZnTlMsImciKTtlLnNldEF0dHJp
YnV0ZSgiaWQiLCJzdmctcGFuLXpvb20tem9vbS1vdXQiKSxlLnNldEF0dHJpYnV0ZSgidHJhbnNm
b3JtIiwidHJhbnNsYXRlKDMwLjUgNzApIHNjYWxlKDAuMDE1KSIpLGUuc2V0QXR0cmlidXRlKCJj
bGFzcyIsInN2Zy1wYW4tem9vbS1jb250cm9sIiksZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
ZnVuY3Rpb24oKXt0LmdldFB1YmxpY0luc3RhbmNlKCkuem9vbU91dCgpfSwhMSksZS5hZGRFdmVu
dExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixmdW5jdGlvbigpe3QuZ2V0UHVibGljSW5zdGFuY2UoKS56
b29tT3V0KCl9LCExKTt2YXIgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMobi5zdmdOUywicmVj
dCIpO28uc2V0QXR0cmlidXRlKCJ4IiwiMCIpLG8uc2V0QXR0cmlidXRlKCJ5IiwiMCIpLG8uc2V0
QXR0cmlidXRlKCJ3aWR0aCIsIjE1MDAiKSxvLnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwiMTQwMCIp
LG8uc2V0QXR0cmlidXRlKCJjbGFzcyIsInN2Zy1wYW4tem9vbS1jb250cm9sLWJhY2tncm91bmQi
KSxlLmFwcGVuZENoaWxkKG8pO3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhuLnN2Z05T
LCJwYXRoIik7cmV0dXJuIGkuc2V0QXR0cmlidXRlKCJkIiwiTTEyODAgNTc2djEyOHEwIDI2IC0x
OSA0NXQtNDUgMTloLTg5NnEtMjYgMCAtNDUgLTE5dC0xOSAtNDV2LTEyOHEwIC0yNiAxOSAtNDV0
NDUgLTE5aDg5NnEyNiAwIDQ1IDE5dDE5IDQ1ek0xNTM2IDExMjB2LTk2MHEwIC0xMTkgLTg0LjUg
LTIwMy41dC0yMDMuNSAtODQuNWgtOTYwcS0xMTkgMCAtMjAzLjUgODQuNXQtODQuNSAyMDMuNXY5
NjBxMCAxMTkgODQuNSAyMDMuNXQyMDMuNSA4NC41aDk2MHExMTkgMCAyMDMuNSAtODQuNSB0ODQu
NSAtMjAzLjV6IiksaS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwic3ZnLXBhbi16b29tLWNvbnRyb2wt
ZWxlbWVudCIpLGUuYXBwZW5kQ2hpbGQoaSksZX0sZGlzYWJsZTpmdW5jdGlvbih0KXt0LmNvbnRy
b2xJY29ucyYmKHQuY29udHJvbEljb25zLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodC5jb250cm9s
SWNvbnMpLHQuY29udHJvbEljb25zPW51bGwpfX19LHsiLi9zdmctdXRpbGl0aWVzIjo1fV0sMzpb
ZnVuY3Rpb24odCxlLG8pe3ZhciBuPXQoIi4vc3ZnLXV0aWxpdGllcyIpLGk9dCgiLi91dGlsaXRp
ZXMiKSxzPWZ1bmN0aW9uKHQsZSl7dGhpcy5pbml0KHQsZSl9O3MucHJvdG90eXBlLmluaXQ9ZnVu
Y3Rpb24odCxlKXt0aGlzLnZpZXdwb3J0PXQsdGhpcy5vcHRpb25zPWUsdGhpcy5vcmlnaW5hbFN0
YXRlPXt6b29tOjEseDowLHk6MH0sdGhpcy5hY3RpdmVTdGF0ZT17em9vbToxLHg6MCx5OjB9LHRo
aXMudXBkYXRlQ1RNQ2FjaGVkPWkucHJveHkodGhpcy51cGRhdGVDVE0sdGhpcyksdGhpcy5yZXF1
ZXN0QW5pbWF0aW9uRnJhbWU9aS5jcmVhdGVSZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5vcHRp
b25zLnJlZnJlc2hSYXRlKSx0aGlzLnZpZXdCb3g9e3g6MCx5OjAsd2lkdGg6MCxoZWlnaHQ6MH0s
dGhpcy5jYWNoZVZpZXdCb3goKTt2YXIgbz10aGlzLnByb2Nlc3NDVE0oKTt0aGlzLnNldENUTShv
KSx0aGlzLnVwZGF0ZUNUTSgpfSxzLnByb3RvdHlwZS5jYWNoZVZpZXdCb3g9ZnVuY3Rpb24oKXt2
YXIgdD10aGlzLm9wdGlvbnMuc3ZnLmdldEF0dHJpYnV0ZSgidmlld0JveCIpO2lmKHQpe3ZhciBl
PXQuc3BsaXQoL1tcc1wsXS8pLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdH0pLm1hcChwYXJz
ZUZsb2F0KTt0aGlzLnZpZXdCb3gueD1lWzBdLHRoaXMudmlld0JveC55PWVbMV0sdGhpcy52aWV3
Qm94LndpZHRoPWVbMl0sdGhpcy52aWV3Qm94LmhlaWdodD1lWzNdO3ZhciBvPU1hdGgubWluKHRo
aXMub3B0aW9ucy53aWR0aC90aGlzLnZpZXdCb3gud2lkdGgsdGhpcy5vcHRpb25zLmhlaWdodC90
aGlzLnZpZXdCb3guaGVpZ2h0KTt0aGlzLmFjdGl2ZVN0YXRlLnpvb209byx0aGlzLmFjdGl2ZVN0
YXRlLng9KHRoaXMub3B0aW9ucy53aWR0aC10aGlzLnZpZXdCb3gud2lkdGgqbykvMix0aGlzLmFj
dGl2ZVN0YXRlLnk9KHRoaXMub3B0aW9ucy5oZWlnaHQtdGhpcy52aWV3Qm94LmhlaWdodCpvKS8y
LHRoaXMudXBkYXRlQ1RNT25OZXh0RnJhbWUoKSx0aGlzLm9wdGlvbnMuc3ZnLnJlbW92ZUF0dHJp
YnV0ZSgidmlld0JveCIpfWVsc2UgdGhpcy5zaW1wbGVWaWV3Qm94Q2FjaGUoKX0scy5wcm90b3R5
cGUuc2ltcGxlVmlld0JveENhY2hlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy52aWV3cG9ydC5nZXRC
Qm94KCk7dGhpcy52aWV3Qm94Lng9dC54LHRoaXMudmlld0JveC55PXQueSx0aGlzLnZpZXdCb3gu
d2lkdGg9dC53aWR0aCx0aGlzLnZpZXdCb3guaGVpZ2h0PXQuaGVpZ2h0fSxzLnByb3RvdHlwZS5n
ZXRWaWV3Qm94PWZ1bmN0aW9uKCl7cmV0dXJuIGkuZXh0ZW5kKHt9LHRoaXMudmlld0JveCl9LHMu
cHJvdG90eXBlLnByb2Nlc3NDVE09ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdldENUTSgpO2lmKHRo
aXMub3B0aW9ucy5maXR8fHRoaXMub3B0aW9ucy5jb250YWluKXt2YXIgZTtlPXRoaXMub3B0aW9u
cy5maXQ/TWF0aC5taW4odGhpcy5vcHRpb25zLndpZHRoL3RoaXMudmlld0JveC53aWR0aCx0aGlz
Lm9wdGlvbnMuaGVpZ2h0L3RoaXMudmlld0JveC5oZWlnaHQpOk1hdGgubWF4KHRoaXMub3B0aW9u
cy53aWR0aC90aGlzLnZpZXdCb3gud2lkdGgsdGhpcy5vcHRpb25zLmhlaWdodC90aGlzLnZpZXdC
b3guaGVpZ2h0KSx0LmE9ZSx0LmQ9ZSx0LmU9LXRoaXMudmlld0JveC54KmUsdC5mPS10aGlzLnZp
ZXdCb3gueSplfWlmKHRoaXMub3B0aW9ucy5jZW50ZXIpe3ZhciBvPS41Kih0aGlzLm9wdGlvbnMu
d2lkdGgtKHRoaXMudmlld0JveC53aWR0aCsyKnRoaXMudmlld0JveC54KSp0LmEpLG49LjUqKHRo
aXMub3B0aW9ucy5oZWlnaHQtKHRoaXMudmlld0JveC5oZWlnaHQrMip0aGlzLnZpZXdCb3gueSkq
dC5hKTt0LmU9byx0LmY9bn1yZXR1cm4gdGhpcy5vcmlnaW5hbFN0YXRlLnpvb209dC5hLHRoaXMu
b3JpZ2luYWxTdGF0ZS54PXQuZSx0aGlzLm9yaWdpbmFsU3RhdGUueT10LmYsdH0scy5wcm90b3R5
cGUuZ2V0T3JpZ2luYWxTdGF0ZT1mdW5jdGlvbigpe3JldHVybiBpLmV4dGVuZCh7fSx0aGlzLm9y
aWdpbmFsU3RhdGUpfSxzLnByb3RvdHlwZS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiBpLmV4
dGVuZCh7fSx0aGlzLmFjdGl2ZVN0YXRlKX0scy5wcm90b3R5cGUuZ2V0Wm9vbT1mdW5jdGlvbigp
e3JldHVybiB0aGlzLmFjdGl2ZVN0YXRlLnpvb219LHMucHJvdG90eXBlLmdldFJlbGF0aXZlWm9v
bT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmFjdGl2ZVN0YXRlLnpvb20vdGhpcy5vcmlnaW5hbFN0
YXRlLnpvb219LHMucHJvdG90eXBlLmNvbXB1dGVSZWxhdGl2ZVpvb209ZnVuY3Rpb24odCl7cmV0
dXJuIHQvdGhpcy5vcmlnaW5hbFN0YXRlLnpvb219LHMucHJvdG90eXBlLmdldFBhbj1mdW5jdGlv
bigpe3JldHVybnt4OnRoaXMuYWN0aXZlU3RhdGUueCx5OnRoaXMuYWN0aXZlU3RhdGUueX19LHMu
cHJvdG90eXBlLmdldENUTT1mdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucy5zdmcuY3JlYXRl
U1ZHTWF0cml4KCk7cmV0dXJuIHQuYT10aGlzLmFjdGl2ZVN0YXRlLnpvb20sdC5iPTAsdC5jPTAs
dC5kPXRoaXMuYWN0aXZlU3RhdGUuem9vbSx0LmU9dGhpcy5hY3RpdmVTdGF0ZS54LHQuZj10aGlz
LmFjdGl2ZVN0YXRlLnksdH0scy5wcm90b3R5cGUuc2V0Q1RNPWZ1bmN0aW9uKHQpe3ZhciBlPXRo
aXMuaXNab29tRGlmZmVyZW50KHQpLG89dGhpcy5pc1BhbkRpZmZlcmVudCh0KTtpZihlfHxvKXtp
ZihlJiYodGhpcy5vcHRpb25zLmJlZm9yZVpvb20odGhpcy5nZXRSZWxhdGl2ZVpvb20oKSx0aGlz
LmNvbXB1dGVSZWxhdGl2ZVpvb20odC5hKSk9PT0hMT8odC5hPXQuZD10aGlzLmFjdGl2ZVN0YXRl
Lnpvb20sZT0hMSk6KHRoaXMudXBkYXRlQ2FjaGUodCksdGhpcy5vcHRpb25zLm9uWm9vbSh0aGlz
LmdldFJlbGF0aXZlWm9vbSgpKSkpLG8pe3ZhciBuPXRoaXMub3B0aW9ucy5iZWZvcmVQYW4odGhp
cy5nZXRQYW4oKSx7eDp0LmUseTp0LmZ9KSxzPSExLHI9ITE7bj09PSExPyh0LmU9dGhpcy5nZXRQ
YW4oKS54LHQuZj10aGlzLmdldFBhbigpLnkscz1yPSEwKTppLmlzT2JqZWN0KG4pJiYobi54PT09
ITE/KHQuZT10aGlzLmdldFBhbigpLngscz0hMCk6aS5pc051bWJlcihuLngpJiYodC5lPW4ueCks
bi55PT09ITE/KHQuZj10aGlzLmdldFBhbigpLnkscj0hMCk6aS5pc051bWJlcihuLnkpJiYodC5m
PW4ueSkpLHMmJnJ8fCF0aGlzLmlzUGFuRGlmZmVyZW50KHQpP289ITE6KHRoaXMudXBkYXRlQ2Fj
aGUodCksdGhpcy5vcHRpb25zLm9uUGFuKHRoaXMuZ2V0UGFuKCkpKX0oZXx8bykmJnRoaXMudXBk
YXRlQ1RNT25OZXh0RnJhbWUoKX19LHMucHJvdG90eXBlLmlzWm9vbURpZmZlcmVudD1mdW5jdGlv
bih0KXtyZXR1cm4gdGhpcy5hY3RpdmVTdGF0ZS56b29tIT09dC5hfSxzLnByb3RvdHlwZS5pc1Bh
bkRpZmZlcmVudD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5hY3RpdmVTdGF0ZS54IT09dC5lfHx0
aGlzLmFjdGl2ZVN0YXRlLnkhPT10LmZ9LHMucHJvdG90eXBlLnVwZGF0ZUNhY2hlPWZ1bmN0aW9u
KHQpe3RoaXMuYWN0aXZlU3RhdGUuem9vbT10LmEsdGhpcy5hY3RpdmVTdGF0ZS54PXQuZSx0aGlz
LmFjdGl2ZVN0YXRlLnk9dC5mfSxzLnByb3RvdHlwZS5wZW5kaW5nVXBkYXRlPSExLHMucHJvdG90
eXBlLnVwZGF0ZUNUTU9uTmV4dEZyYW1lPWZ1bmN0aW9uKCl7dGhpcy5wZW5kaW5nVXBkYXRlfHwo
dGhpcy5wZW5kaW5nVXBkYXRlPSEwLHRoaXMucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmNhbGwod2lu
ZG93LHRoaXMudXBkYXRlQ1RNQ2FjaGVkKSl9LHMucHJvdG90eXBlLnVwZGF0ZUNUTT1mdW5jdGlv
bigpe3ZhciB0PXRoaXMuZ2V0Q1RNKCk7bi5zZXRDVE0odGhpcy52aWV3cG9ydCx0LHRoaXMuZGVm
cyksdGhpcy5wZW5kaW5nVXBkYXRlPSExLHRoaXMub3B0aW9ucy5vblVwZGF0ZWRDVE0mJnRoaXMu
b3B0aW9ucy5vblVwZGF0ZWRDVE0odCl9LGUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBu
ZXcgcyh0LGUpfX0seyIuL3N2Zy11dGlsaXRpZXMiOjUsIi4vdXRpbGl0aWVzIjo3fV0sNDpbZnVu
Y3Rpb24odCxlLG8pe3ZhciBuPXQoIi4vdW5pd2hlZWwiKSxpPXQoIi4vY29udHJvbC1pY29ucyIp
LHM9dCgiLi91dGlsaXRpZXMiKSxyPXQoIi4vc3ZnLXV0aWxpdGllcyIpLGE9dCgiLi9zaGFkb3ct
dmlld3BvcnQiKSxsPWZ1bmN0aW9uKHQsZSl7dGhpcy5pbml0KHQsZSl9LHU9e3ZpZXdwb3J0U2Vs
ZWN0b3I6Ii5zdmctcGFuLXpvb21fdmlld3BvcnQiLHBhbkVuYWJsZWQ6ITAsY29udHJvbEljb25z
RW5hYmxlZDohMSx6b29tRW5hYmxlZDohMCxkYmxDbGlja1pvb21FbmFibGVkOiEwLG1vdXNlV2hl
ZWxab29tRW5hYmxlZDohMCxwcmV2ZW50TW91c2VFdmVudHNEZWZhdWx0OiEwLHpvb21TY2FsZVNl
bnNpdGl2aXR5Oi4xLG1pblpvb206LjUsbWF4Wm9vbToxMCxmaXQ6ITAsY29udGFpbjohMSxjZW50
ZXI6ITAscmVmcmVzaFJhdGU6ImF1dG8iLGJlZm9yZVpvb206bnVsbCxvblpvb206bnVsbCxiZWZv
cmVQYW46bnVsbCxvblBhbjpudWxsLGN1c3RvbUV2ZW50c0hhbmRsZXI6bnVsbCxldmVudHNMaXN0
ZW5lckVsZW1lbnQ6bnVsbCxvblVwZGF0ZWRDVE06bnVsbH0saD17cGFzc2l2ZTohMH07bC5wcm90
b3R5cGUuaW5pdD1mdW5jdGlvbih0LGUpe3ZhciBvPXRoaXM7dGhpcy5zdmc9dCx0aGlzLmRlZnM9
dC5xdWVyeVNlbGVjdG9yKCJkZWZzIiksci5zZXR1cFN2Z0F0dHJpYnV0ZXModGhpcy5zdmcpLHRo
aXMub3B0aW9ucz1zLmV4dGVuZChzLmV4dGVuZCh7fSx1KSxlKSx0aGlzLnN0YXRlPSJub25lIjt2
YXIgbj1yLmdldEJvdW5kaW5nQ2xpZW50UmVjdE5vcm1hbGl6ZWQodCk7dGhpcy53aWR0aD1uLndp
ZHRoLHRoaXMuaGVpZ2h0PW4uaGVpZ2h0LHRoaXMudmlld3BvcnQ9YShyLmdldE9yQ3JlYXRlVmll
d3BvcnQodGhpcy5zdmcsdGhpcy5vcHRpb25zLnZpZXdwb3J0U2VsZWN0b3IpLHtzdmc6dGhpcy5z
dmcsd2lkdGg6dGhpcy53aWR0aCxoZWlnaHQ6dGhpcy5oZWlnaHQsZml0OnRoaXMub3B0aW9ucy5m
aXQsY29udGFpbjp0aGlzLm9wdGlvbnMuY29udGFpbixjZW50ZXI6dGhpcy5vcHRpb25zLmNlbnRl
cixyZWZyZXNoUmF0ZTp0aGlzLm9wdGlvbnMucmVmcmVzaFJhdGUsYmVmb3JlWm9vbTpmdW5jdGlv
bih0LGUpe2lmKG8udmlld3BvcnQmJm8ub3B0aW9ucy5iZWZvcmVab29tKXJldHVybiBvLm9wdGlv
bnMuYmVmb3JlWm9vbSh0LGUpfSxvblpvb206ZnVuY3Rpb24odCl7aWYoby52aWV3cG9ydCYmby5v
cHRpb25zLm9uWm9vbSlyZXR1cm4gby5vcHRpb25zLm9uWm9vbSh0KX0sYmVmb3JlUGFuOmZ1bmN0
aW9uKHQsZSl7aWYoby52aWV3cG9ydCYmby5vcHRpb25zLmJlZm9yZVBhbilyZXR1cm4gby5vcHRp
b25zLmJlZm9yZVBhbih0LGUpfSxvblBhbjpmdW5jdGlvbih0KXtpZihvLnZpZXdwb3J0JiZvLm9w
dGlvbnMub25QYW4pcmV0dXJuIG8ub3B0aW9ucy5vblBhbih0KX0sb25VcGRhdGVkQ1RNOmZ1bmN0
aW9uKHQpe2lmKG8udmlld3BvcnQmJm8ub3B0aW9ucy5vblVwZGF0ZWRDVE0pcmV0dXJuIG8ub3B0
aW9ucy5vblVwZGF0ZWRDVE0odCl9fSk7dmFyIGw9dGhpcy5nZXRQdWJsaWNJbnN0YW5jZSgpO2wu
c2V0QmVmb3JlWm9vbSh0aGlzLm9wdGlvbnMuYmVmb3JlWm9vbSksbC5zZXRPblpvb20odGhpcy5v
cHRpb25zLm9uWm9vbSksbC5zZXRCZWZvcmVQYW4odGhpcy5vcHRpb25zLmJlZm9yZVBhbiksbC5z
ZXRPblBhbih0aGlzLm9wdGlvbnMub25QYW4pLGwuc2V0T25VcGRhdGVkQ1RNKHRoaXMub3B0aW9u
cy5vblVwZGF0ZWRDVE0pLHRoaXMub3B0aW9ucy5jb250cm9sSWNvbnNFbmFibGVkJiZpLmVuYWJs
ZSh0aGlzKSx0aGlzLmxhc3RNb3VzZVdoZWVsRXZlbnRUaW1lPURhdGUubm93KCksdGhpcy5zZXR1
cEhhbmRsZXJzKCl9LGwucHJvdG90eXBlLnNldHVwSGFuZGxlcnM9ZnVuY3Rpb24oKXt2YXIgdD10
aGlzLGU9bnVsbDtpZih0aGlzLmV2ZW50TGlzdGVuZXJzPXttb3VzZWRvd246ZnVuY3Rpb24obyl7
dmFyIG49dC5oYW5kbGVNb3VzZURvd24obyxlKTtyZXR1cm4gZT1vLG59LHRvdWNoc3RhcnQ6ZnVu
Y3Rpb24obyl7dmFyIG49dC5oYW5kbGVNb3VzZURvd24obyxlKTtyZXR1cm4gZT1vLG59LG1vdXNl
dXA6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuaGFuZGxlTW91c2VVcChlKX0sdG91Y2hlbmQ6ZnVuY3Rp
b24oZSl7cmV0dXJuIHQuaGFuZGxlTW91c2VVcChlKX0sbW91c2Vtb3ZlOmZ1bmN0aW9uKGUpe3Jl
dHVybiB0LmhhbmRsZU1vdXNlTW92ZShlKX0sdG91Y2htb3ZlOmZ1bmN0aW9uKGUpe3JldHVybiB0
LmhhbmRsZU1vdXNlTW92ZShlKX0sbW91c2VsZWF2ZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5oYW5k
bGVNb3VzZVVwKGUpfSx0b3VjaGxlYXZlOmZ1bmN0aW9uKGUpe3JldHVybiB0LmhhbmRsZU1vdXNl
VXAoZSl9LHRvdWNoY2FuY2VsOmZ1bmN0aW9uKGUpe3JldHVybiB0LmhhbmRsZU1vdXNlVXAoZSl9
fSxudWxsIT10aGlzLm9wdGlvbnMuY3VzdG9tRXZlbnRzSGFuZGxlcil7dGhpcy5vcHRpb25zLmN1
c3RvbUV2ZW50c0hhbmRsZXIuaW5pdCh7c3ZnRWxlbWVudDp0aGlzLnN2ZyxldmVudHNMaXN0ZW5l
ckVsZW1lbnQ6dGhpcy5vcHRpb25zLmV2ZW50c0xpc3RlbmVyRWxlbWVudCxpbnN0YW5jZTp0aGlz
LmdldFB1YmxpY0luc3RhbmNlKCl9KTt2YXIgbz10aGlzLm9wdGlvbnMuY3VzdG9tRXZlbnRzSGFu
ZGxlci5oYWx0RXZlbnRMaXN0ZW5lcnM7aWYobyYmby5sZW5ndGgpZm9yKHZhciBuPW8ubGVuZ3Ro
LTE7bj49MDtuLS0pdGhpcy5ldmVudExpc3RlbmVycy5oYXNPd25Qcm9wZXJ0eShvW25dKSYmZGVs
ZXRlIHRoaXMuZXZlbnRMaXN0ZW5lcnNbb1tuXV19Zm9yKHZhciBpIGluIHRoaXMuZXZlbnRMaXN0
ZW5lcnMpKHRoaXMub3B0aW9ucy5ldmVudHNMaXN0ZW5lckVsZW1lbnR8fHRoaXMuc3ZnKS5hZGRF
dmVudExpc3RlbmVyKGksdGhpcy5ldmVudExpc3RlbmVyc1tpXSwhdGhpcy5vcHRpb25zLnByZXZl
bnRNb3VzZUV2ZW50c0RlZmF1bHQmJmgpO3RoaXMub3B0aW9ucy5tb3VzZVdoZWVsWm9vbUVuYWJs
ZWQmJih0aGlzLm9wdGlvbnMubW91c2VXaGVlbFpvb21FbmFibGVkPSExLHRoaXMuZW5hYmxlTW91
c2VXaGVlbFpvb20oKSl9LGwucHJvdG90eXBlLmVuYWJsZU1vdXNlV2hlZWxab29tPWZ1bmN0aW9u
KCl7aWYoIXRoaXMub3B0aW9ucy5tb3VzZVdoZWVsWm9vbUVuYWJsZWQpe3ZhciB0PXRoaXM7dGhp
cy53aGVlbExpc3RlbmVyPWZ1bmN0aW9uKGUpe3JldHVybiB0LmhhbmRsZU1vdXNlV2hlZWwoZSl9
O3ZhciBlPSF0aGlzLm9wdGlvbnMucHJldmVudE1vdXNlRXZlbnRzRGVmYXVsdDtuLm9uKHRoaXMu
b3B0aW9ucy5ldmVudHNMaXN0ZW5lckVsZW1lbnR8fHRoaXMuc3ZnLHRoaXMud2hlZWxMaXN0ZW5l
cixlKSx0aGlzLm9wdGlvbnMubW91c2VXaGVlbFpvb21FbmFibGVkPSEwfX0sbC5wcm90b3R5cGUu
ZGlzYWJsZU1vdXNlV2hlZWxab29tPWZ1bmN0aW9uKCl7aWYodGhpcy5vcHRpb25zLm1vdXNlV2hl
ZWxab29tRW5hYmxlZCl7dmFyIHQ9IXRoaXMub3B0aW9ucy5wcmV2ZW50TW91c2VFdmVudHNEZWZh
dWx0O24ub2ZmKHRoaXMub3B0aW9ucy5ldmVudHNMaXN0ZW5lckVsZW1lbnR8fHRoaXMuc3ZnLHRo
aXMud2hlZWxMaXN0ZW5lcix0KSx0aGlzLm9wdGlvbnMubW91c2VXaGVlbFpvb21FbmFibGVkPSEx
fX0sbC5wcm90b3R5cGUuaGFuZGxlTW91c2VXaGVlbD1mdW5jdGlvbih0KXtpZih0aGlzLm9wdGlv
bnMuem9vbUVuYWJsZWQmJiJub25lIj09PXRoaXMuc3RhdGUpe3RoaXMub3B0aW9ucy5wcmV2ZW50
TW91c2VFdmVudHNEZWZhdWx0JiYodC5wcmV2ZW50RGVmYXVsdD90LnByZXZlbnREZWZhdWx0KCk6
dC5yZXR1cm5WYWx1ZT0hMSk7dmFyIGU9dC5kZWx0YVl8fDEsbz1EYXRlLm5vdygpLXRoaXMubGFz
dE1vdXNlV2hlZWxFdmVudFRpbWUsbj0zK01hdGgubWF4KDAsMzAtbyk7dGhpcy5sYXN0TW91c2VX
aGVlbEV2ZW50VGltZT1EYXRlLm5vdygpLCJkZWx0YU1vZGUiaW4gdCYmMD09PXQuZGVsdGFNb2Rl
JiZ0LndoZWVsRGVsdGEmJihlPTA9PT10LmRlbHRhWT8wOk1hdGguYWJzKHQud2hlZWxEZWx0YSkv
dC5kZWx0YVkpLGU9LS4zPGUmJmU8LjM/ZTooZT4wPzE6LTEpKk1hdGgubG9nKE1hdGguYWJzKGUp
KzEwKS9uO3ZhciBpPXRoaXMuc3ZnLmdldFNjcmVlbkNUTSgpLmludmVyc2UoKSxzPXIuZ2V0RXZl
bnRQb2ludCh0LHRoaXMuc3ZnKS5tYXRyaXhUcmFuc2Zvcm0oaSksYT1NYXRoLnBvdygxK3RoaXMu
b3B0aW9ucy56b29tU2NhbGVTZW5zaXRpdml0eSwtMSplKTt0aGlzLnpvb21BdFBvaW50KGEscyl9
fSxsLnByb3RvdHlwZS56b29tQXRQb2ludD1mdW5jdGlvbih0LGUsbyl7dmFyIG49dGhpcy52aWV3
cG9ydC5nZXRPcmlnaW5hbFN0YXRlKCk7bz8odD1NYXRoLm1heCh0aGlzLm9wdGlvbnMubWluWm9v
bSpuLnpvb20sTWF0aC5taW4odGhpcy5vcHRpb25zLm1heFpvb20qbi56b29tLHQpKSx0Lz10aGlz
LmdldFpvb20oKSk6dGhpcy5nZXRab29tKCkqdDx0aGlzLm9wdGlvbnMubWluWm9vbSpuLnpvb20/
dD10aGlzLm9wdGlvbnMubWluWm9vbSpuLnpvb20vdGhpcy5nZXRab29tKCk6dGhpcy5nZXRab29t
KCkqdD50aGlzLm9wdGlvbnMubWF4Wm9vbSpuLnpvb20mJih0PXRoaXMub3B0aW9ucy5tYXhab29t
Km4uem9vbS90aGlzLmdldFpvb20oKSk7dmFyIGk9dGhpcy52aWV3cG9ydC5nZXRDVE0oKSxzPWUu
bWF0cml4VHJhbnNmb3JtKGkuaW52ZXJzZSgpKSxyPXRoaXMuc3ZnLmNyZWF0ZVNWR01hdHJpeCgp
LnRyYW5zbGF0ZShzLngscy55KS5zY2FsZSh0KS50cmFuc2xhdGUoLXMueCwtcy55KSxhPWkubXVs
dGlwbHkocik7YS5hIT09aS5hJiZ0aGlzLnZpZXdwb3J0LnNldENUTShhKX0sbC5wcm90b3R5cGUu
em9vbT1mdW5jdGlvbih0LGUpe3RoaXMuem9vbUF0UG9pbnQodCxyLmdldFN2Z0NlbnRlclBvaW50
KHRoaXMuc3ZnLHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpLGUpfSxsLnByb3RvdHlwZS5wdWJsaWNa
b29tPWZ1bmN0aW9uKHQsZSl7ZSYmKHQ9dGhpcy5jb21wdXRlRnJvbVJlbGF0aXZlWm9vbSh0KSks
dGhpcy56b29tKHQsZSl9LGwucHJvdG90eXBlLnB1YmxpY1pvb21BdFBvaW50PWZ1bmN0aW9uKHQs
ZSxvKXtpZihvJiYodD10aGlzLmNvbXB1dGVGcm9tUmVsYXRpdmVab29tKHQpKSwiU1ZHUG9pbnQi
IT09cy5nZXRUeXBlKGUpKXtpZighKCJ4ImluIGUmJiJ5ImluIGUpKXRocm93IG5ldyBFcnJvcigi
R2l2ZW4gcG9pbnQgaXMgaW52YWxpZCIpO2U9ci5jcmVhdGVTVkdQb2ludCh0aGlzLnN2ZyxlLngs
ZS55KX10aGlzLnpvb21BdFBvaW50KHQsZSxvKX0sbC5wcm90b3R5cGUuZ2V0Wm9vbT1mdW5jdGlv
bigpe3JldHVybiB0aGlzLnZpZXdwb3J0LmdldFpvb20oKX0sbC5wcm90b3R5cGUuZ2V0UmVsYXRp
dmVab29tPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmlld3BvcnQuZ2V0UmVsYXRpdmVab29tKCl9
LGwucHJvdG90eXBlLmNvbXB1dGVGcm9tUmVsYXRpdmVab29tPWZ1bmN0aW9uKHQpe3JldHVybiB0
KnRoaXMudmlld3BvcnQuZ2V0T3JpZ2luYWxTdGF0ZSgpLnpvb219LGwucHJvdG90eXBlLnJlc2V0
Wm9vbT1mdW5jdGlvbigpe3ZhciB0PXRoaXMudmlld3BvcnQuZ2V0T3JpZ2luYWxTdGF0ZSgpO3Ro
aXMuem9vbSh0Lnpvb20sITApfSxsLnByb3RvdHlwZS5yZXNldFBhbj1mdW5jdGlvbigpe3RoaXMu
cGFuKHRoaXMudmlld3BvcnQuZ2V0T3JpZ2luYWxTdGF0ZSgpKX0sbC5wcm90b3R5cGUucmVzZXQ9
ZnVuY3Rpb24oKXt0aGlzLnJlc2V0Wm9vbSgpLHRoaXMucmVzZXRQYW4oKX0sbC5wcm90b3R5cGUu
aGFuZGxlRGJsQ2xpY2s9ZnVuY3Rpb24odCl7aWYodGhpcy5vcHRpb25zLnByZXZlbnRNb3VzZUV2
ZW50c0RlZmF1bHQmJih0LnByZXZlbnREZWZhdWx0P3QucHJldmVudERlZmF1bHQoKTp0LnJldHVy
blZhbHVlPSExKSx0aGlzLm9wdGlvbnMuY29udHJvbEljb25zRW5hYmxlZCl7dmFyIGU9dC50YXJn
ZXQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIjtpZihlLmluZGV4T2YoInN2Zy1wYW4tem9vbS1j
b250cm9sIik+LTEpcmV0dXJuITF9dmFyIG87bz10LnNoaWZ0S2V5PzEvKDIqKDErdGhpcy5vcHRp
b25zLnpvb21TY2FsZVNlbnNpdGl2aXR5KSk6MiooMSt0aGlzLm9wdGlvbnMuem9vbVNjYWxlU2Vu
c2l0aXZpdHkpO3ZhciBuPXIuZ2V0RXZlbnRQb2ludCh0LHRoaXMuc3ZnKS5tYXRyaXhUcmFuc2Zv
cm0odGhpcy5zdmcuZ2V0U2NyZWVuQ1RNKCkuaW52ZXJzZSgpKTt0aGlzLnpvb21BdFBvaW50KG8s
bil9LGwucHJvdG90eXBlLmhhbmRsZU1vdXNlRG93bj1mdW5jdGlvbih0LGUpe3RoaXMub3B0aW9u
cy5wcmV2ZW50TW91c2VFdmVudHNEZWZhdWx0JiYodC5wcmV2ZW50RGVmYXVsdD90LnByZXZlbnRE
ZWZhdWx0KCk6dC5yZXR1cm5WYWx1ZT0hMSkscy5tb3VzZUFuZFRvdWNoTm9ybWFsaXplKHQsdGhp
cy5zdmcpLHRoaXMub3B0aW9ucy5kYmxDbGlja1pvb21FbmFibGVkJiZzLmlzRGJsQ2xpY2sodCxl
KT90aGlzLmhhbmRsZURibENsaWNrKHQpOih0aGlzLnN0YXRlPSJwYW4iLHRoaXMuZmlyc3RFdmVu
dENUTT10aGlzLnZpZXdwb3J0LmdldENUTSgpLHRoaXMuc3RhdGVPcmlnaW49ci5nZXRFdmVudFBv
aW50KHQsdGhpcy5zdmcpLm1hdHJpeFRyYW5zZm9ybSh0aGlzLmZpcnN0RXZlbnRDVE0uaW52ZXJz
ZSgpKSl9LGwucHJvdG90eXBlLmhhbmRsZU1vdXNlTW92ZT1mdW5jdGlvbih0KXtpZih0aGlzLm9w
dGlvbnMucHJldmVudE1vdXNlRXZlbnRzRGVmYXVsdCYmKHQucHJldmVudERlZmF1bHQ/dC5wcmV2
ZW50RGVmYXVsdCgpOnQucmV0dXJuVmFsdWU9ITEpLCJwYW4iPT09dGhpcy5zdGF0ZSYmdGhpcy5v
cHRpb25zLnBhbkVuYWJsZWQpe3ZhciBlPXIuZ2V0RXZlbnRQb2ludCh0LHRoaXMuc3ZnKS5tYXRy
aXhUcmFuc2Zvcm0odGhpcy5maXJzdEV2ZW50Q1RNLmludmVyc2UoKSksbz10aGlzLmZpcnN0RXZl
bnRDVE0udHJhbnNsYXRlKGUueC10aGlzLnN0YXRlT3JpZ2luLngsZS55LXRoaXMuc3RhdGVPcmln
aW4ueSk7dGhpcy52aWV3cG9ydC5zZXRDVE0obyl9fSxsLnByb3RvdHlwZS5oYW5kbGVNb3VzZVVw
PWZ1bmN0aW9uKHQpe3RoaXMub3B0aW9ucy5wcmV2ZW50TW91c2VFdmVudHNEZWZhdWx0JiYodC5w
cmV2ZW50RGVmYXVsdD90LnByZXZlbnREZWZhdWx0KCk6dC5yZXR1cm5WYWx1ZT0hMSksInBhbiI9
PT10aGlzLnN0YXRlJiYodGhpcy5zdGF0ZT0ibm9uZSIpfSxsLnByb3RvdHlwZS5maXQ9ZnVuY3Rp
b24oKXt2YXIgdD10aGlzLnZpZXdwb3J0LmdldFZpZXdCb3goKSxlPU1hdGgubWluKHRoaXMud2lk
dGgvdC53aWR0aCx0aGlzLmhlaWdodC90LmhlaWdodCk7dGhpcy56b29tKGUsITApfSxsLnByb3Rv
dHlwZS5jb250YWluPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy52aWV3cG9ydC5nZXRWaWV3Qm94KCks
ZT1NYXRoLm1heCh0aGlzLndpZHRoL3Qud2lkdGgsdGhpcy5oZWlnaHQvdC5oZWlnaHQpO3RoaXMu
em9vbShlLCEwKX0sbC5wcm90b3R5cGUuY2VudGVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy52aWV3
cG9ydC5nZXRWaWV3Qm94KCksZT0uNSoodGhpcy53aWR0aC0odC53aWR0aCsyKnQueCkqdGhpcy5n
ZXRab29tKCkpLG89LjUqKHRoaXMuaGVpZ2h0LSh0LmhlaWdodCsyKnQueSkqdGhpcy5nZXRab29t
KCkpO3RoaXMuZ2V0UHVibGljSW5zdGFuY2UoKS5wYW4oe3g6ZSx5Om99KX0sbC5wcm90b3R5cGUu
dXBkYXRlQkJveD1mdW5jdGlvbigpe3RoaXMudmlld3BvcnQuc2ltcGxlVmlld0JveENhY2hlKCl9
LGwucHJvdG90eXBlLnBhbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnZpZXdwb3J0LmdldENUTSgp
O2UuZT10LngsZS5mPXQueSx0aGlzLnZpZXdwb3J0LnNldENUTShlKX0sbC5wcm90b3R5cGUucGFu
Qnk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy52aWV3cG9ydC5nZXRDVE0oKTtlLmUrPXQueCxlLmYr
PXQueSx0aGlzLnZpZXdwb3J0LnNldENUTShlKX0sbC5wcm90b3R5cGUuZ2V0UGFuPWZ1bmN0aW9u
KCl7dmFyIHQ9dGhpcy52aWV3cG9ydC5nZXRTdGF0ZSgpO3JldHVybnt4OnQueCx5OnQueX19LGwu
cHJvdG90eXBlLnJlc2l6ZT1mdW5jdGlvbigpe3ZhciB0PXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0
Tm9ybWFsaXplZCh0aGlzLnN2Zyk7dGhpcy53aWR0aD10LndpZHRoLHRoaXMuaGVpZ2h0PXQuaGVp
Z2h0O3ZhciBlPXRoaXMudmlld3BvcnQ7ZS5vcHRpb25zLndpZHRoPXRoaXMud2lkdGgsZS5vcHRp
b25zLmhlaWdodD10aGlzLmhlaWdodCxlLnByb2Nlc3NDVE0oKSx0aGlzLm9wdGlvbnMuY29udHJv
bEljb25zRW5hYmxlZCYmKHRoaXMuZ2V0UHVibGljSW5zdGFuY2UoKS5kaXNhYmxlQ29udHJvbElj
b25zKCksdGhpcy5nZXRQdWJsaWNJbnN0YW5jZSgpLmVuYWJsZUNvbnRyb2xJY29ucygpKX0sbC5w
cm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5iZWZvcmVab29tPW51
bGwsdGhpcy5vblpvb209bnVsbCx0aGlzLmJlZm9yZVBhbj1udWxsLHRoaXMub25QYW49bnVsbCx0
aGlzLm9uVXBkYXRlZENUTT1udWxsLG51bGwhPXRoaXMub3B0aW9ucy5jdXN0b21FdmVudHNIYW5k
bGVyJiZ0aGlzLm9wdGlvbnMuY3VzdG9tRXZlbnRzSGFuZGxlci5kZXN0cm95KHtzdmdFbGVtZW50
OnRoaXMuc3ZnLGV2ZW50c0xpc3RlbmVyRWxlbWVudDp0aGlzLm9wdGlvbnMuZXZlbnRzTGlzdGVu
ZXJFbGVtZW50LGluc3RhbmNlOnRoaXMuZ2V0UHVibGljSW5zdGFuY2UoKX0pO2Zvcih2YXIgZSBp
biB0aGlzLmV2ZW50TGlzdGVuZXJzKSh0aGlzLm9wdGlvbnMuZXZlbnRzTGlzdGVuZXJFbGVtZW50
fHx0aGlzLnN2ZykucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHRoaXMuZXZlbnRMaXN0ZW5lcnNbZV0s
IXRoaXMub3B0aW9ucy5wcmV2ZW50TW91c2VFdmVudHNEZWZhdWx0JiZoKTt0aGlzLmRpc2FibGVN
b3VzZVdoZWVsWm9vbSgpLHRoaXMuZ2V0UHVibGljSW5zdGFuY2UoKS5kaXNhYmxlQ29udHJvbElj
b25zKCksdGhpcy5yZXNldCgpLGM9Yy5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3ZnIT09
dC5zdmd9KSxkZWxldGUgdGhpcy5vcHRpb25zLGRlbGV0ZSB0aGlzLnZpZXdwb3J0LGRlbGV0ZSB0
aGlzLnB1YmxpY0luc3RhbmNlLGRlbGV0ZSB0aGlzLnBpLHRoaXMuZ2V0UHVibGljSW5zdGFuY2U9
ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19LGwucHJvdG90eXBlLmdldFB1YmxpY0luc3RhbmNlPWZ1
bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gdGhpcy5wdWJsaWNJbnN0YW5jZXx8KHRoaXMucHVi
bGljSW5zdGFuY2U9dGhpcy5waT17ZW5hYmxlUGFuOmZ1bmN0aW9uKCl7cmV0dXJuIHQub3B0aW9u
cy5wYW5FbmFibGVkPSEwLHQucGl9LGRpc2FibGVQYW46ZnVuY3Rpb24oKXtyZXR1cm4gdC5vcHRp
b25zLnBhbkVuYWJsZWQ9ITEsdC5waX0saXNQYW5FbmFibGVkOmZ1bmN0aW9uKCl7cmV0dXJuISF0
Lm9wdGlvbnMucGFuRW5hYmxlZH0scGFuOmZ1bmN0aW9uKGUpe3JldHVybiB0LnBhbihlKSx0LnBp
fSxwYW5CeTpmdW5jdGlvbihlKXtyZXR1cm4gdC5wYW5CeShlKSx0LnBpfSxnZXRQYW46ZnVuY3Rp
b24oKXtyZXR1cm4gdC5nZXRQYW4oKX0sc2V0QmVmb3JlUGFuOmZ1bmN0aW9uKGUpe3JldHVybiB0
Lm9wdGlvbnMuYmVmb3JlUGFuPW51bGw9PT1lP251bGw6cy5wcm94eShlLHQucHVibGljSW5zdGFu
Y2UpLHQucGl9LHNldE9uUGFuOmZ1bmN0aW9uKGUpe3JldHVybiB0Lm9wdGlvbnMub25QYW49bnVs
bD09PWU/bnVsbDpzLnByb3h5KGUsdC5wdWJsaWNJbnN0YW5jZSksdC5waX0sZW5hYmxlWm9vbTpm
dW5jdGlvbigpe3JldHVybiB0Lm9wdGlvbnMuem9vbUVuYWJsZWQ9ITAsdC5waX0sZGlzYWJsZVpv
b206ZnVuY3Rpb24oKXtyZXR1cm4gdC5vcHRpb25zLnpvb21FbmFibGVkPSExLHQucGl9LGlzWm9v
bUVuYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIXQub3B0aW9ucy56b29tRW5hYmxlZH0sZW5hYmxl
Q29udHJvbEljb25zOmZ1bmN0aW9uKCl7cmV0dXJuIHQub3B0aW9ucy5jb250cm9sSWNvbnNFbmFi
bGVkfHwodC5vcHRpb25zLmNvbnRyb2xJY29uc0VuYWJsZWQ9ITAsaS5lbmFibGUodCkpLHQucGl9
LGRpc2FibGVDb250cm9sSWNvbnM6ZnVuY3Rpb24oKXtyZXR1cm4gdC5vcHRpb25zLmNvbnRyb2xJ
Y29uc0VuYWJsZWQmJih0Lm9wdGlvbnMuY29udHJvbEljb25zRW5hYmxlZD0hMSxpLmRpc2FibGUo
dCkpLHQucGl9LGlzQ29udHJvbEljb25zRW5hYmxlZDpmdW5jdGlvbigpe3JldHVybiEhdC5vcHRp
b25zLmNvbnRyb2xJY29uc0VuYWJsZWR9LGVuYWJsZURibENsaWNrWm9vbTpmdW5jdGlvbigpe3Jl
dHVybiB0Lm9wdGlvbnMuZGJsQ2xpY2tab29tRW5hYmxlZD0hMCx0LnBpfSxkaXNhYmxlRGJsQ2xp
Y2tab29tOmZ1bmN0aW9uKCl7cmV0dXJuIHQub3B0aW9ucy5kYmxDbGlja1pvb21FbmFibGVkPSEx
LHQucGl9LGlzRGJsQ2xpY2tab29tRW5hYmxlZDpmdW5jdGlvbigpe3JldHVybiEhdC5vcHRpb25z
LmRibENsaWNrWm9vbUVuYWJsZWR9LGVuYWJsZU1vdXNlV2hlZWxab29tOmZ1bmN0aW9uKCl7cmV0
dXJuIHQuZW5hYmxlTW91c2VXaGVlbFpvb20oKSx0LnBpfSxkaXNhYmxlTW91c2VXaGVlbFpvb206
ZnVuY3Rpb24oKXtyZXR1cm4gdC5kaXNhYmxlTW91c2VXaGVlbFpvb20oKSx0LnBpfSxpc01vdXNl
V2hlZWxab29tRW5hYmxlZDpmdW5jdGlvbigpe3JldHVybiEhdC5vcHRpb25zLm1vdXNlV2hlZWxa
b29tRW5hYmxlZH0sc2V0Wm9vbVNjYWxlU2Vuc2l0aXZpdHk6ZnVuY3Rpb24oZSl7cmV0dXJuIHQu
b3B0aW9ucy56b29tU2NhbGVTZW5zaXRpdml0eT1lLHQucGl9LHNldE1pblpvb206ZnVuY3Rpb24o
ZSl7cmV0dXJuIHQub3B0aW9ucy5taW5ab29tPWUsdC5waX0sc2V0TWF4Wm9vbTpmdW5jdGlvbihl
KXtyZXR1cm4gdC5vcHRpb25zLm1heFpvb209ZSx0LnBpfSxzZXRCZWZvcmVab29tOmZ1bmN0aW9u
KGUpe3JldHVybiB0Lm9wdGlvbnMuYmVmb3JlWm9vbT1udWxsPT09ZT9udWxsOnMucHJveHkoZSx0
LnB1YmxpY0luc3RhbmNlKSx0LnBpfSxzZXRPblpvb206ZnVuY3Rpb24oZSl7cmV0dXJuIHQub3B0
aW9ucy5vblpvb209bnVsbD09PWU/bnVsbDpzLnByb3h5KGUsdC5wdWJsaWNJbnN0YW5jZSksdC5w
aX0sem9vbTpmdW5jdGlvbihlKXtyZXR1cm4gdC5wdWJsaWNab29tKGUsITApLHQucGl9LHpvb21C
eTpmdW5jdGlvbihlKXtyZXR1cm4gdC5wdWJsaWNab29tKGUsITEpLHQucGl9LHpvb21BdFBvaW50
OmZ1bmN0aW9uKGUsbyl7cmV0dXJuIHQucHVibGljWm9vbUF0UG9pbnQoZSxvLCEwKSx0LnBpfSx6
b29tQXRQb2ludEJ5OmZ1bmN0aW9uKGUsbyl7cmV0dXJuIHQucHVibGljWm9vbUF0UG9pbnQoZSxv
LCExKSx0LnBpfSx6b29tSW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy56b29tQnkoMSt0Lm9wdGlv
bnMuem9vbVNjYWxlU2Vuc2l0aXZpdHkpLHQucGl9LHpvb21PdXQ6ZnVuY3Rpb24oKXtyZXR1cm4g
dGhpcy56b29tQnkoMS8oMSt0Lm9wdGlvbnMuem9vbVNjYWxlU2Vuc2l0aXZpdHkpKSx0LnBpfSxn
ZXRab29tOmZ1bmN0aW9uKCl7cmV0dXJuIHQuZ2V0UmVsYXRpdmVab29tKCl9LHNldE9uVXBkYXRl
ZENUTTpmdW5jdGlvbihlKXtyZXR1cm4gdC5vcHRpb25zLm9uVXBkYXRlZENUTT1udWxsPT09ZT9u
dWxsOnMucHJveHkoZSx0LnB1YmxpY0luc3RhbmNlKSx0LnBpfSxyZXNldFpvb206ZnVuY3Rpb24o
KXtyZXR1cm4gdC5yZXNldFpvb20oKSx0LnBpfSxyZXNldFBhbjpmdW5jdGlvbigpe3JldHVybiB0
LnJlc2V0UGFuKCksdC5waX0scmVzZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdC5yZXNldCgpLHQucGl9
LGZpdDpmdW5jdGlvbigpe3JldHVybiB0LmZpdCgpLHQucGl9LGNvbnRhaW46ZnVuY3Rpb24oKXty
ZXR1cm4gdC5jb250YWluKCksdC5waX0sY2VudGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHQuY2VudGVy
KCksdC5waX0sdXBkYXRlQkJveDpmdW5jdGlvbigpe3JldHVybiB0LnVwZGF0ZUJCb3goKSx0LnBp
fSxyZXNpemU6ZnVuY3Rpb24oKXtyZXR1cm4gdC5yZXNpemUoKSx0LnBpfSxnZXRTaXplczpmdW5j
dGlvbigpe3JldHVybnt3aWR0aDp0LndpZHRoLGhlaWdodDp0LmhlaWdodCxyZWFsWm9vbTp0Lmdl
dFpvb20oKSx2aWV3Qm94OnQudmlld3BvcnQuZ2V0Vmlld0JveCgpfX0sZGVzdHJveTpmdW5jdGlv
bigpe3JldHVybiB0LmRlc3Ryb3koKSx0LnBpfX0pLHRoaXMucHVibGljSW5zdGFuY2V9O3ZhciBj
PVtdLHA9ZnVuY3Rpb24odCxlKXt2YXIgbz1zLmdldFN2Zyh0KTtpZihudWxsPT09bylyZXR1cm4g
bnVsbDtmb3IodmFyIG49Yy5sZW5ndGgtMTtuPj0wO24tLSlpZihjW25dLnN2Zz09PW8pcmV0dXJu
IGNbbl0uaW5zdGFuY2UuZ2V0UHVibGljSW5zdGFuY2UoKTtyZXR1cm4gYy5wdXNoKHtzdmc6byxp
bnN0YW5jZTpuZXcgbChvLGUpfSksY1tjLmxlbmd0aC0xXS5pbnN0YW5jZS5nZXRQdWJsaWNJbnN0
YW5jZSgpfTtlLmV4cG9ydHM9cH0seyIuL2NvbnRyb2wtaWNvbnMiOjIsIi4vc2hhZG93LXZpZXdw
b3J0IjozLCIuL3N2Zy11dGlsaXRpZXMiOjUsIi4vdW5pd2hlZWwiOjYsIi4vdXRpbGl0aWVzIjo3
fV0sNTpbZnVuY3Rpb24odCxlLG8pe3ZhciBuPXQoIi4vdXRpbGl0aWVzIiksaT0idW5rbm93biI7
ZG9jdW1lbnQuZG9jdW1lbnRNb2RlJiYoaT0iaWUiKSxlLmV4cG9ydHM9e3N2Z05TOiJodHRwOi8v
d3d3LnczLm9yZy8yMDAwL3N2ZyIseG1sTlM6Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25h
bWVzcGFjZSIseG1sbnNOUzoiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8iLHhsaW5rTlM6
Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLGV2TlM6Imh0dHA6Ly93d3cudzMub3JnLzIw
MDEveG1sLWV2ZW50cyIsZ2V0Qm91bmRpbmdDbGllbnRSZWN0Tm9ybWFsaXplZDpmdW5jdGlvbih0
KXtpZih0LmNsaWVudFdpZHRoJiZ0LmNsaWVudEhlaWdodClyZXR1cm57d2lkdGg6dC5jbGllbnRX
aWR0aCxoZWlnaHQ6dC5jbGllbnRIZWlnaHR9O2lmKHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkp
cmV0dXJuIHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qg
Z2V0IEJvdW5kaW5nQ2xpZW50UmVjdCBmb3IgU1ZHLiIpfSxnZXRPckNyZWF0ZVZpZXdwb3J0OmZ1
bmN0aW9uKHQsZSl7dmFyIG89bnVsbDtpZihvPW4uaXNFbGVtZW50KGUpP2U6dC5xdWVyeVNlbGVj
dG9yKGUpLCFvKXt2YXIgaT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0LmNoaWxkTm9kZXN8
fHQuY2hpbGRyZW4pLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4iZGVmcyIhPT10Lm5vZGVOYW1l
JiYiI3RleHQiIT09dC5ub2RlTmFtZX0pOzE9PT1pLmxlbmd0aCYmImciPT09aVswXS5ub2RlTmFt
ZSYmbnVsbD09PWlbMF0uZ2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iKSYmKG89aVswXSl9aWYoIW8p
e3ZhciBzPSJ2aWV3cG9ydC0iKyhuZXcgRGF0ZSkudG9JU09TdHJpbmcoKS5yZXBsYWNlKC9cRC9n
LCIiKTtvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyh0aGlzLnN2Z05TLCJnIiksby5zZXRBdHRy
aWJ1dGUoImlkIixzKTt2YXIgcj10LmNoaWxkTm9kZXN8fHQuY2hpbGRyZW47aWYociYmci5sZW5n
dGg+MClmb3IodmFyIGE9ci5sZW5ndGg7YT4wO2EtLSkiZGVmcyIhPT1yW3IubGVuZ3RoLWFdLm5v
ZGVOYW1lJiZvLmFwcGVuZENoaWxkKHJbci5sZW5ndGgtYV0pO3QuYXBwZW5kQ2hpbGQobyl9dmFy
IGw9W107cmV0dXJuIG8uZ2V0QXR0cmlidXRlKCJjbGFzcyIpJiYobD1vLmdldEF0dHJpYnV0ZSgi
Y2xhc3MiKS5zcGxpdCgiICIpKSx+bC5pbmRleE9mKCJzdmctcGFuLXpvb21fdmlld3BvcnQiKXx8
KGwucHVzaCgic3ZnLXBhbi16b29tX3ZpZXdwb3J0Iiksby5zZXRBdHRyaWJ1dGUoImNsYXNzIixs
LmpvaW4oIiAiKSkpLG99LHNldHVwU3ZnQXR0cmlidXRlczpmdW5jdGlvbih0KXtpZih0LnNldEF0
dHJpYnV0ZSgieG1sbnMiLHRoaXMuc3ZnTlMpLHQuc2V0QXR0cmlidXRlTlModGhpcy54bWxuc05T
LCJ4bWxuczp4bGluayIsdGhpcy54bGlua05TKSx0LnNldEF0dHJpYnV0ZU5TKHRoaXMueG1sbnNO
UywieG1sbnM6ZXYiLHRoaXMuZXZOUyksbnVsbCE9PXQucGFyZW50Tm9kZSl7dmFyIGU9dC5nZXRB
dHRyaWJ1dGUoInN0eWxlIil8fCIiO2UudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJvdmVyZmxvdyIp
PT09LTEmJnQuc2V0QXR0cmlidXRlKCJzdHlsZSIsIm92ZXJmbG93OiBoaWRkZW47ICIrZSl9fSxp
bnRlcm5ldEV4cGxvcmVyUmVkaXNwbGF5SW50ZXJ2YWw6MzAwLHJlZnJlc2hEZWZzR2xvYmFsOm4u
dGhyb3R0bGUoZnVuY3Rpb24oKXtmb3IodmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
ZGVmcyIpLGU9dC5sZW5ndGgsbz0wO288ZTtvKyspe3ZhciBuPXRbb107bi5wYXJlbnROb2RlLmlu
c2VydEJlZm9yZShuLG4pfX0sdGhpcz90aGlzLmludGVybmV0RXhwbG9yZXJSZWRpc3BsYXlJbnRl
cnZhbDpudWxsKSxzZXRDVE06ZnVuY3Rpb24odCxlLG8pe3ZhciBuPXRoaXMscz0ibWF0cml4KCIr
ZS5hKyIsIitlLmIrIiwiK2UuYysiLCIrZS5kKyIsIitlLmUrIiwiK2UuZisiKSI7dC5zZXRBdHRy
aWJ1dGVOUyhudWxsLCJ0cmFuc2Zvcm0iLHMpLCJ0cmFuc2Zvcm0iaW4gdC5zdHlsZT90LnN0eWxl
LnRyYW5zZm9ybT1zOiItbXMtdHJhbnNmb3JtImluIHQuc3R5bGU/dC5zdHlsZVsiLW1zLXRyYW5z
Zm9ybSJdPXM6Ii13ZWJraXQtdHJhbnNmb3JtImluIHQuc3R5bGUmJih0LnN0eWxlWyItd2Via2l0
LXRyYW5zZm9ybSJdPXMpLCJpZSI9PT1pJiZvJiYoby5wYXJlbnROb2RlLmluc2VydEJlZm9yZShv
LG8pLHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bi5yZWZyZXNoRGVmc0dsb2JhbCgpfSxu
LmludGVybmV0RXhwbG9yZXJSZWRpc3BsYXlJbnRlcnZhbCkpfSxnZXRFdmVudFBvaW50OmZ1bmN0
aW9uKHQsZSl7dmFyIG89ZS5jcmVhdGVTVkdQb2ludCgpO3JldHVybiBuLm1vdXNlQW5kVG91Y2hO
b3JtYWxpemUodCxlKSxvLng9dC5jbGllbnRYLG8ueT10LmNsaWVudFksb30sZ2V0U3ZnQ2VudGVy
UG9pbnQ6ZnVuY3Rpb24odCxlLG8pe3JldHVybiB0aGlzLmNyZWF0ZVNWR1BvaW50KHQsZS8yLG8v
Mil9LGNyZWF0ZVNWR1BvaW50OmZ1bmN0aW9uKHQsZSxvKXt2YXIgbj10LmNyZWF0ZVNWR1BvaW50
KCk7cmV0dXJuIG4ueD1lLG4ueT1vLG59fX0seyIuL3V0aWxpdGllcyI6N31dLDY6W2Z1bmN0aW9u
KHQsZSxvKXtlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSl7dmFyIG89ZnVuY3Rp
b24odCl7IXQmJih0PXdpbmRvdy5ldmVudCk7dmFyIG89e29yaWdpbmFsRXZlbnQ6dCx0YXJnZXQ6
dC50YXJnZXR8fHQuc3JjRWxlbWVudCx0eXBlOiJ3aGVlbCIsZGVsdGFNb2RlOiJNb3pNb3VzZVBp
eGVsU2Nyb2xsIj09dC50eXBlPzA6MSxkZWx0YVg6MCxkZWxhdFo6MCxwcmV2ZW50RGVmYXVsdDpm
dW5jdGlvbigpe3QucHJldmVudERlZmF1bHQ/dC5wcmV2ZW50RGVmYXVsdCgpOnQucmV0dXJuVmFs
dWU9ITF9fTtyZXR1cm4ibW91c2V3aGVlbCI9PXU/KG8uZGVsdGFZPS0uMDI1KnQud2hlZWxEZWx0
YSx0LndoZWVsRGVsdGFYJiYoby5kZWx0YVg9LS4wMjUqdC53aGVlbERlbHRhWCkpOm8uZGVsdGFZ
PXQuZGV0YWlsLGUobyl9O3JldHVybiBjLnB1c2goe2VsZW1lbnQ6dCxmbjpvfSksb31mdW5jdGlv
biBlKHQpe2Zvcih2YXIgZT0wO2U8Yy5sZW5ndGg7ZSsrKWlmKGNbZV0uZWxlbWVudD09PXQpcmV0
dXJuIGNbZV0uZm47cmV0dXJuIGZ1bmN0aW9uKCl7fX1mdW5jdGlvbiBvKHQpe2Zvcih2YXIgZT0w
O2U8Yy5sZW5ndGg7ZSsrKWlmKGNbZV0uZWxlbWVudD09PXQpcmV0dXJuIGMuc3BsaWNlKGUsMSl9
ZnVuY3Rpb24gbihlLG8sbixpKXt2YXIgcztzPSJ3aGVlbCI9PT11P246dChlLG4pLGVbYV0oaCtv
LHMsISFpJiZwKX1mdW5jdGlvbiBpKHQsbixpLHMpe3ZhciByO3I9IndoZWVsIj09PXU/aTplKHQp
LHRbbF0oaCtuLHIsISFzJiZwKSxvKHQpfWZ1bmN0aW9uIHModCxlLG8pe24odCx1LGUsbyksIkRP
TU1vdXNlU2Nyb2xsIj09dSYmbih0LCJNb3pNb3VzZVBpeGVsU2Nyb2xsIixlLG8pfWZ1bmN0aW9u
IHIodCxlLG8pe2kodCx1LGUsbyksIkRPTU1vdXNlU2Nyb2xsIj09dSYmaSh0LCJNb3pNb3VzZVBp
eGVsU2Nyb2xsIixlLG8pfXZhciBhLGwsdSxoPSIiLGM9W10scD17cGFzc2l2ZTohMH07cmV0dXJu
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyPyhhPSJhZGRFdmVudExpc3RlbmVyIixsPSJyZW1vdmVF
dmVudExpc3RlbmVyIik6KGE9ImF0dGFjaEV2ZW50IixsPSJkZXRhY2hFdmVudCIsaD0ib24iKSx1
PSJvbndoZWVsImluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpPyJ3aGVlbCI6dm9pZCAw
IT09ZG9jdW1lbnQub25tb3VzZXdoZWVsPyJtb3VzZXdoZWVsIjoiRE9NTW91c2VTY3JvbGwiLHtv
bjpzLG9mZjpyfX0oKX0se31dLDc6W2Z1bmN0aW9uKHQsZSxvKXtmdW5jdGlvbiBuKHQpe3JldHVy
biBmdW5jdGlvbihlKXt3aW5kb3cuc2V0VGltZW91dChlLHQpfX1lLmV4cG9ydHM9e2V4dGVuZDpm
dW5jdGlvbih0LGUpe3Q9dHx8e307Zm9yKHZhciBvIGluIGUpdGhpcy5pc09iamVjdChlW29dKT90
W29dPXRoaXMuZXh0ZW5kKHRbb10sZVtvXSk6dFtvXT1lW29dO3JldHVybiB0fSxpc0VsZW1lbnQ6
ZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudHx8dCBpbnN0YW5jZW9m
IFNWR0VsZW1lbnR8fHQgaW5zdGFuY2VvZiBTVkdTVkdFbGVtZW50fHx0JiYib2JqZWN0Ij09dHlw
ZW9mIHQmJm51bGwhPT10JiYxPT09dC5ub2RlVHlwZSYmInN0cmluZyI9PXR5cGVvZiB0Lm5vZGVO
YW1lfSxpc09iamVjdDpmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PU9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0saXNOdW1iZXI6ZnVuY3Rpb24odCl7cmV0dXJu
IWlzTmFOKHBhcnNlRmxvYXQodCkpJiZpc0Zpbml0ZSh0KX0sZ2V0U3ZnOmZ1bmN0aW9uKHQpe3Zh
ciBlLG87aWYodGhpcy5pc0VsZW1lbnQodCkpZT10O2Vsc2V7aWYoISgic3RyaW5nIj09dHlwZW9m
IHR8fHQgaW5zdGFuY2VvZiBTdHJpbmcpKXRocm93IG5ldyBFcnJvcigiUHJvdmlkZWQgc2VsZWN0
b3IgaXMgbm90IGFuIEhUTUwgb2JqZWN0IG5vciBTdHJpbmciKTtpZihlPWRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IodCksIWUpdGhyb3cgbmV3IEVycm9yKCJQcm92aWRlZCBzZWxlY3RvciBkaWQgbm90
IGZpbmQgYW55IGVsZW1lbnRzLiBTZWxlY3RvcjogIit0KX1pZigic3ZnIj09PWUudGFnTmFtZS50
b0xvd2VyQ2FzZSgpKW89ZTtlbHNlIGlmKCJvYmplY3QiPT09ZS50YWdOYW1lLnRvTG93ZXJDYXNl
KCkpbz1lLmNvbnRlbnREb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZWxzZXtpZigiZW1iZWQiIT09
ZS50YWdOYW1lLnRvTG93ZXJDYXNlKCkpdGhyb3ciaW1nIj09PWUudGFnTmFtZS50b0xvd2VyQ2Fz
ZSgpP25ldyBFcnJvcignQ2Fubm90IHNjcmlwdCBhbiBTVkcgaW4gYW4gImltZyIgZWxlbWVudC4g
UGxlYXNlIHVzZSBhbiAib2JqZWN0IiBlbGVtZW50IG9yIGFuIGluLWxpbmUgU1ZHLicpOm5ldyBF
cnJvcigiQ2Fubm90IGdldCBTVkcuIik7bz1lLmdldFNWR0RvY3VtZW50KCkuZG9jdW1lbnRFbGVt
ZW50fXJldHVybiBvfSxwcm94eTpmdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVy
biB0LmFwcGx5KGUsYXJndW1lbnRzKX19LGdldFR5cGU6ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcuYXBwbHkodCkucmVwbGFjZSgvXlxbb2JqZWN0XHMvLCIiKS5y
ZXBsYWNlKC9cXSQvLCIiKX0sbW91c2VBbmRUb3VjaE5vcm1hbGl6ZTpmdW5jdGlvbih0LGUpe2lm
KHZvaWQgMD09PXQuY2xpZW50WHx8bnVsbD09PXQuY2xpZW50WClpZih0LmNsaWVudFg9MCx0LmNs
aWVudFk9MCx2b2lkIDAhPT10LnRvdWNoZXMmJnQudG91Y2hlcy5sZW5ndGgpe2lmKHZvaWQgMCE9
PXQudG91Y2hlc1swXS5jbGllbnRYKXQuY2xpZW50WD10LnRvdWNoZXNbMF0uY2xpZW50WCx0LmNs
aWVudFk9dC50b3VjaGVzWzBdLmNsaWVudFk7ZWxzZSBpZih2b2lkIDAhPT10LnRvdWNoZXNbMF0u
cGFnZVgpe3ZhciBvPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dC5jbGllbnRYPXQudG91Y2hl
c1swXS5wYWdlWC1vLmxlZnQsdC5jbGllbnRZPXQudG91Y2hlc1swXS5wYWdlWS1vLnRvcH19ZWxz
ZSB2b2lkIDAhPT10Lm9yaWdpbmFsRXZlbnQmJnZvaWQgMCE9PXQub3JpZ2luYWxFdmVudC5jbGll
bnRYJiYodC5jbGllbnRYPXQub3JpZ2luYWxFdmVudC5jbGllbnRYLHQuY2xpZW50WT10Lm9yaWdp
bmFsRXZlbnQuY2xpZW50WSl9LGlzRGJsQ2xpY2s6ZnVuY3Rpb24odCxlKXtpZigyPT09dC5kZXRh
aWwpcmV0dXJuITA7aWYodm9pZCAwIT09ZSYmbnVsbCE9PWUpe3ZhciBvPXQudGltZVN0YW1wLWUu
dGltZVN0YW1wLG49TWF0aC5zcXJ0KE1hdGgucG93KHQuY2xpZW50WC1lLmNsaWVudFgsMikrTWF0
aC5wb3codC5jbGllbnRZLWUuY2xpZW50WSwyKSk7cmV0dXJuIG88MjUwJiZuPDEwfXJldHVybiEx
fSxub3c6RGF0ZS5ub3d8fGZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCl9LHRo
cm90dGxlOmZ1bmN0aW9uKHQsZSxvKXt2YXIgbixpLHMscj10aGlzLGE9bnVsbCxsPTA7b3x8KG89
e30pO3ZhciB1PWZ1bmN0aW9uKCl7bD1vLmxlYWRpbmc9PT0hMT8wOnIubm93KCksYT1udWxsLHM9
dC5hcHBseShuLGkpLGF8fChuPWk9bnVsbCl9O3JldHVybiBmdW5jdGlvbigpe3ZhciBoPXIubm93
KCk7bHx8by5sZWFkaW5nIT09ITF8fChsPWgpO3ZhciBjPWUtKGgtbCk7cmV0dXJuIG49dGhpcyxp
PWFyZ3VtZW50cyxjPD0wfHxjPmU/KGNsZWFyVGltZW91dChhKSxhPW51bGwsbD1oLHM9dC5hcHBs
eShuLGkpLGF8fChuPWk9bnVsbCkpOmF8fG8udHJhaWxpbmc9PT0hMXx8KGE9c2V0VGltZW91dCh1
LGMpKSxzfX0sY3JlYXRlUmVxdWVzdEFuaW1hdGlvbkZyYW1lOmZ1bmN0aW9uKHQpe3ZhciBlPW51
bGw7cmV0dXJuImF1dG8iIT09dCYmdDw2MCYmdD4xJiYoZT1NYXRoLmZsb29yKDFlMy90KSksbnVs
bD09PWU/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZXx8bigzMyk6bihlKX19fSx7fV19LHt9
LFsxXSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvdml6LmpzL0xJQ0VOU0UgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC92aXouanMvTElDRU5TRQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hZmQyMGUwOWIzZWUxNDllMWQwMDIwNjUzNmU0ZGQyYmE0ZTYwNmMwCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJu
YWwvdml6LmpzL0xJQ0VOU0UKQEAgLTAsMCArMSw3IEBACitDb3B5cmlnaHQgKGMpIDIwMTQtMjAx
OCBNaWNoYWVsIERhaW5lcworCitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m
IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUg
YW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBk
ZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91
dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs
aXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNv
ZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVy
bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKwor
VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hh
bGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQg
Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO
WSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ
TkdTIElOIFRIRSBTT0ZUV0FSRS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0V4dGVybmFsL3Zpei5qcy9mdWxsLnJlbmRlci5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL3Zpei5qcy9mdWxsLnJlbmRlci5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YmJiNzU5NTM2NmQ3ZDc0NWRjNzFhYTAwYzEyN2UyMTc2YjVlZjU0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJu
YWwvdml6LmpzL2Z1bGwucmVuZGVyLmpzCkBAIC0wLDAgKzEsOTMgQEAKKy8qCitWaXouanMgMi4w
LjAgKEdyYXBodml6IDIuNDAuMSwgRXhwYXQgMi4yLjUsIEVtc2NyaXB0ZW4gMS4zOC4xMykKKyov
CisoZnVuY3Rpb24oZ2xvYmFsKSB7Cit2YXIgTW9kdWxlID0gZnVuY3Rpb24oTW9kdWxlKSB7Cisg
IE1vZHVsZSA9IE1vZHVsZSB8fCB7fTsKK3ZhciBNb2R1bGU9dHlwZW9mIE1vZHVsZSE9PSJ1bmRl
ZmluZWQiP01vZHVsZTp7fTt2YXIgbW9kdWxlT3ZlcnJpZGVzPXt9O3ZhciBrZXk7Zm9yKGtleSBp
biBNb2R1bGUpe2lmKE1vZHVsZS5oYXNPd25Qcm9wZXJ0eShrZXkpKXttb2R1bGVPdmVycmlkZXNb
a2V5XT1Nb2R1bGVba2V5XX19TW9kdWxlWyJhcmd1bWVudHMiXT1bXTtNb2R1bGVbInRoaXNQcm9n
cmFtIl09Ii4vdGhpcy5wcm9ncmFtIjtNb2R1bGVbInF1aXQiXT0oZnVuY3Rpb24oc3RhdHVzLHRv
VGhyb3cpe3Rocm93IHRvVGhyb3d9KTtNb2R1bGVbInByZVJ1biJdPVtdO01vZHVsZVsicG9zdFJ1
biJdPVtdO3ZhciBFTlZJUk9OTUVOVF9JU19XRUI9ZmFsc2U7dmFyIEVOVklST05NRU5UX0lTX1dP
UktFUj1mYWxzZTt2YXIgRU5WSVJPTk1FTlRfSVNfTk9ERT1mYWxzZTt2YXIgRU5WSVJPTk1FTlRf
SVNfU0hFTEw9ZmFsc2U7RU5WSVJPTk1FTlRfSVNfV0VCPXR5cGVvZiB3aW5kb3c9PT0ib2JqZWN0
IjtFTlZJUk9OTUVOVF9JU19XT1JLRVI9dHlwZW9mIGltcG9ydFNjcmlwdHM9PT0iZnVuY3Rpb24i
O0VOVklST05NRU5UX0lTX05PREU9dHlwZW9mIHByb2Nlc3M9PT0ib2JqZWN0IiYmdHlwZW9mIHJl
cXVpcmU9PT0iZnVuY3Rpb24iJiYhRU5WSVJPTk1FTlRfSVNfV0VCJiYhRU5WSVJPTk1FTlRfSVNf
V09SS0VSO0VOVklST05NRU5UX0lTX1NIRUxMPSFFTlZJUk9OTUVOVF9JU19XRUImJiFFTlZJUk9O
TUVOVF9JU19OT0RFJiYhRU5WSVJPTk1FTlRfSVNfV09SS0VSO3ZhciBzY3JpcHREaXJlY3Rvcnk9
IiI7ZnVuY3Rpb24gbG9jYXRlRmlsZShwYXRoKXtpZihNb2R1bGVbImxvY2F0ZUZpbGUiXSl7cmV0
dXJuIE1vZHVsZVsibG9jYXRlRmlsZSJdKHBhdGgsc2NyaXB0RGlyZWN0b3J5KX1lbHNle3JldHVy
biBzY3JpcHREaXJlY3RvcnkrcGF0aH19aWYoRU5WSVJPTk1FTlRfSVNfTk9ERSl7c2NyaXB0RGly
ZWN0b3J5PV9fZGlybmFtZSsiLyI7dmFyIG5vZGVGUzt2YXIgbm9kZVBhdGg7TW9kdWxlWyJyZWFk
Il09ZnVuY3Rpb24gc2hlbGxfcmVhZChmaWxlbmFtZSxiaW5hcnkpe3ZhciByZXQ7cmV0PXRyeVBh
cnNlQXNEYXRhVVJJKGZpbGVuYW1lKTtpZighcmV0KXtpZighbm9kZUZTKW5vZGVGUz1yZXF1aXJl
KCJmcyIpO2lmKCFub2RlUGF0aClub2RlUGF0aD1yZXF1aXJlKCJwYXRoIik7ZmlsZW5hbWU9bm9k
ZVBhdGhbIm5vcm1hbGl6ZSJdKGZpbGVuYW1lKTtyZXQ9bm9kZUZTWyJyZWFkRmlsZVN5bmMiXShm
aWxlbmFtZSl9cmV0dXJuIGJpbmFyeT9yZXQ6cmV0LnRvU3RyaW5nKCl9O01vZHVsZVsicmVhZEJp
bmFyeSJdPWZ1bmN0aW9uIHJlYWRCaW5hcnkoZmlsZW5hbWUpe3ZhciByZXQ9TW9kdWxlWyJyZWFk
Il0oZmlsZW5hbWUsdHJ1ZSk7aWYoIXJldC5idWZmZXIpe3JldD1uZXcgVWludDhBcnJheShyZXQp
fWFzc2VydChyZXQuYnVmZmVyKTtyZXR1cm4gcmV0fTtpZihwcm9jZXNzWyJhcmd2Il0ubGVuZ3Ro
PjEpe01vZHVsZVsidGhpc1Byb2dyYW0iXT1wcm9jZXNzWyJhcmd2Il1bMV0ucmVwbGFjZSgvXFwv
ZywiLyIpfU1vZHVsZVsiYXJndW1lbnRzIl09cHJvY2Vzc1siYXJndiJdLnNsaWNlKDIpO2lmKHR5
cGVvZiBtb2R1bGUhPT0idW5kZWZpbmVkIil7bW9kdWxlWyJleHBvcnRzIl09TW9kdWxlfXByb2Nl
c3NbIm9uIl0oInVuY2F1Z2h0RXhjZXB0aW9uIiwoZnVuY3Rpb24oZXgpe2lmKCEoZXggaW5zdGFu
Y2VvZiBFeGl0U3RhdHVzKSl7dGhyb3cgZXh9fSkpO3Byb2Nlc3NbIm9uIl0oInVuaGFuZGxlZFJl
amVjdGlvbiIsYWJvcnQpO01vZHVsZVsicXVpdCJdPShmdW5jdGlvbihzdGF0dXMpe3Byb2Nlc3Nb
ImV4aXQiXShzdGF0dXMpfSk7TW9kdWxlWyJpbnNwZWN0Il09KGZ1bmN0aW9uKCl7cmV0dXJuIltF
bXNjcmlwdGVuIE1vZHVsZSBvYmplY3RdIn0pfWVsc2UgaWYoRU5WSVJPTk1FTlRfSVNfU0hFTEwp
e2lmKHR5cGVvZiByZWFkIT0idW5kZWZpbmVkIil7TW9kdWxlWyJyZWFkIl09ZnVuY3Rpb24gc2hl
bGxfcmVhZChmKXt2YXIgZGF0YT10cnlQYXJzZUFzRGF0YVVSSShmKTtpZihkYXRhKXtyZXR1cm4g
aW50QXJyYXlUb1N0cmluZyhkYXRhKX1yZXR1cm4gcmVhZChmKX19TW9kdWxlWyJyZWFkQmluYXJ5
Il09ZnVuY3Rpb24gcmVhZEJpbmFyeShmKXt2YXIgZGF0YTtkYXRhPXRyeVBhcnNlQXNEYXRhVVJJ
KGYpO2lmKGRhdGEpe3JldHVybiBkYXRhfWlmKHR5cGVvZiByZWFkYnVmZmVyPT09ImZ1bmN0aW9u
Iil7cmV0dXJuIG5ldyBVaW50OEFycmF5KHJlYWRidWZmZXIoZikpfWRhdGE9cmVhZChmLCJiaW5h
cnkiKTthc3NlcnQodHlwZW9mIGRhdGE9PT0ib2JqZWN0Iik7cmV0dXJuIGRhdGF9O2lmKHR5cGVv
ZiBzY3JpcHRBcmdzIT0idW5kZWZpbmVkIil7TW9kdWxlWyJhcmd1bWVudHMiXT1zY3JpcHRBcmdz
fWVsc2UgaWYodHlwZW9mIGFyZ3VtZW50cyE9InVuZGVmaW5lZCIpe01vZHVsZVsiYXJndW1lbnRz
Il09YXJndW1lbnRzfWlmKHR5cGVvZiBxdWl0PT09ImZ1bmN0aW9uIil7TW9kdWxlWyJxdWl0Il09
KGZ1bmN0aW9uKHN0YXR1cyl7cXVpdChzdGF0dXMpfSl9fWVsc2UgaWYoRU5WSVJPTk1FTlRfSVNf
V0VCfHxFTlZJUk9OTUVOVF9JU19XT1JLRVIpe2lmKEVOVklST05NRU5UX0lTX1dPUktFUil7c2Ny
aXB0RGlyZWN0b3J5PXNlbGYubG9jYXRpb24uaHJlZn1lbHNlIGlmKGRvY3VtZW50LmN1cnJlbnRT
Y3JpcHQpe3NjcmlwdERpcmVjdG9yeT1kb2N1bWVudC5jdXJyZW50U2NyaXB0LnNyY31pZihzY3Jp
cHREaXJlY3RvcnkuaW5kZXhPZigiYmxvYjoiKSE9PTApe3NjcmlwdERpcmVjdG9yeT1zY3JpcHRE
aXJlY3Rvcnkuc3Vic3RyKDAsc2NyaXB0RGlyZWN0b3J5Lmxhc3RJbmRleE9mKCIvIikrMSl9ZWxz
ZXtzY3JpcHREaXJlY3Rvcnk9IiJ9TW9kdWxlWyJyZWFkIl09ZnVuY3Rpb24gc2hlbGxfcmVhZCh1
cmwpe3RyeXt2YXIgeGhyPW5ldyBYTUxIdHRwUmVxdWVzdDt4aHIub3BlbigiR0VUIix1cmwsZmFs
c2UpO3hoci5zZW5kKG51bGwpO3JldHVybiB4aHIucmVzcG9uc2VUZXh0fWNhdGNoKGVycil7dmFy
IGRhdGE9dHJ5UGFyc2VBc0RhdGFVUkkodXJsKTtpZihkYXRhKXtyZXR1cm4gaW50QXJyYXlUb1N0
cmluZyhkYXRhKX10aHJvdyBlcnJ9fTtpZihFTlZJUk9OTUVOVF9JU19XT1JLRVIpe01vZHVsZVsi
cmVhZEJpbmFyeSJdPWZ1bmN0aW9uIHJlYWRCaW5hcnkodXJsKXt0cnl7dmFyIHhocj1uZXcgWE1M
SHR0cFJlcXVlc3Q7eGhyLm9wZW4oIkdFVCIsdXJsLGZhbHNlKTt4aHIucmVzcG9uc2VUeXBlPSJh
cnJheWJ1ZmZlciI7eGhyLnNlbmQobnVsbCk7cmV0dXJuIG5ldyBVaW50OEFycmF5KHhoci5yZXNw
b25zZSl9Y2F0Y2goZXJyKXt2YXIgZGF0YT10cnlQYXJzZUFzRGF0YVVSSSh1cmwpO2lmKGRhdGEp
e3JldHVybiBkYXRhfXRocm93IGVycn19fU1vZHVsZVsicmVhZEFzeW5jIl09ZnVuY3Rpb24gcmVh
ZEFzeW5jKHVybCxvbmxvYWQsb25lcnJvcil7dmFyIHhocj1uZXcgWE1MSHR0cFJlcXVlc3Q7eGhy
Lm9wZW4oIkdFVCIsdXJsLHRydWUpO3hoci5yZXNwb25zZVR5cGU9ImFycmF5YnVmZmVyIjt4aHIu
b25sb2FkPWZ1bmN0aW9uIHhocl9vbmxvYWQoKXtpZih4aHIuc3RhdHVzPT0yMDB8fHhoci5zdGF0
dXM9PTAmJnhoci5yZXNwb25zZSl7b25sb2FkKHhoci5yZXNwb25zZSk7cmV0dXJufXZhciBkYXRh
PXRyeVBhcnNlQXNEYXRhVVJJKHVybCk7aWYoZGF0YSl7b25sb2FkKGRhdGEuYnVmZmVyKTtyZXR1
cm59b25lcnJvcigpfTt4aHIub25lcnJvcj1vbmVycm9yO3hoci5zZW5kKG51bGwpfTtNb2R1bGVb
InNldFdpbmRvd1RpdGxlIl09KGZ1bmN0aW9uKHRpdGxlKXtkb2N1bWVudC50aXRsZT10aXRsZX0p
fWVsc2V7fXZhciBvdXQ9TW9kdWxlWyJwcmludCJdfHwodHlwZW9mIGNvbnNvbGUhPT0idW5kZWZp
bmVkIj9jb25zb2xlLmxvZy5iaW5kKGNvbnNvbGUpOnR5cGVvZiBwcmludCE9PSJ1bmRlZmluZWQi
P3ByaW50Om51bGwpO3ZhciBlcnI9TW9kdWxlWyJwcmludEVyciJdfHwodHlwZW9mIHByaW50RXJy
IT09InVuZGVmaW5lZCI/cHJpbnRFcnI6dHlwZW9mIGNvbnNvbGUhPT0idW5kZWZpbmVkIiYmY29u
c29sZS53YXJuLmJpbmQoY29uc29sZSl8fG91dCk7Zm9yKGtleSBpbiBtb2R1bGVPdmVycmlkZXMp
e2lmKG1vZHVsZU92ZXJyaWRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKXtNb2R1bGVba2V5XT1tb2R1
bGVPdmVycmlkZXNba2V5XX19bW9kdWxlT3ZlcnJpZGVzPXVuZGVmaW5lZDt2YXIgU1RBQ0tfQUxJ
R049MTY7ZnVuY3Rpb24gc3RhdGljQWxsb2Moc2l6ZSl7dmFyIHJldD1TVEFUSUNUT1A7U1RBVElD
VE9QPVNUQVRJQ1RPUCtzaXplKzE1Ji0xNjtyZXR1cm4gcmV0fWZ1bmN0aW9uIGR5bmFtaWNBbGxv
YyhzaXplKXt2YXIgcmV0PUhFQVAzMltEWU5BTUlDVE9QX1BUUj4+Ml07dmFyIGVuZD1yZXQrc2l6
ZSsxNSYtMTY7SEVBUDMyW0RZTkFNSUNUT1BfUFRSPj4yXT1lbmQ7aWYoZW5kPj1UT1RBTF9NRU1P
Ulkpe3ZhciBzdWNjZXNzPWVubGFyZ2VNZW1vcnkoKTtpZighc3VjY2Vzcyl7SEVBUDMyW0RZTkFN
SUNUT1BfUFRSPj4yXT1yZXQ7cmV0dXJuIDB9fXJldHVybiByZXR9ZnVuY3Rpb24gYWxpZ25NZW1v
cnkoc2l6ZSxmYWN0b3Ipe2lmKCFmYWN0b3IpZmFjdG9yPVNUQUNLX0FMSUdOO3ZhciByZXQ9c2l6
ZT1NYXRoLmNlaWwoc2l6ZS9mYWN0b3IpKmZhY3RvcjtyZXR1cm4gcmV0fWZ1bmN0aW9uIGdldE5h
dGl2ZVR5cGVTaXplKHR5cGUpe3N3aXRjaCh0eXBlKXtjYXNlImkxIjpjYXNlImk4IjpyZXR1cm4g
MTtjYXNlImkxNiI6cmV0dXJuIDI7Y2FzZSJpMzIiOnJldHVybiA0O2Nhc2UiaTY0IjpyZXR1cm4g
ODtjYXNlImZsb2F0IjpyZXR1cm4gNDtjYXNlImRvdWJsZSI6cmV0dXJuIDg7ZGVmYXVsdDp7aWYo
dHlwZVt0eXBlLmxlbmd0aC0xXT09PSIqIil7cmV0dXJuIDR9ZWxzZSBpZih0eXBlWzBdPT09Imki
KXt2YXIgYml0cz1wYXJzZUludCh0eXBlLnN1YnN0cigxKSk7YXNzZXJ0KGJpdHMlOD09PTApO3Jl
dHVybiBiaXRzLzh9ZWxzZXtyZXR1cm4gMH19fX1mdW5jdGlvbiB3YXJuT25jZSh0ZXh0KXtpZigh
d2Fybk9uY2Uuc2hvd24pd2Fybk9uY2Uuc2hvd249e307aWYoIXdhcm5PbmNlLnNob3duW3RleHRd
KXt3YXJuT25jZS5zaG93blt0ZXh0XT0xO2Vycih0ZXh0KX19dmFyIGpzQ2FsbFN0YXJ0SW5kZXg9
MTt2YXIgZnVuY3Rpb25Qb2ludGVycz1uZXcgQXJyYXkoMCk7dmFyIGZ1bmNXcmFwcGVycz17fTtm
dW5jdGlvbiBkeW5DYWxsKHNpZyxwdHIsYXJncyl7aWYoYXJncyYmYXJncy5sZW5ndGgpe3JldHVy
biBNb2R1bGVbImR5bkNhbGxfIitzaWddLmFwcGx5KG51bGwsW3B0cl0uY29uY2F0KGFyZ3MpKX1l
bHNle3JldHVybiBNb2R1bGVbImR5bkNhbGxfIitzaWddLmNhbGwobnVsbCxwdHIpfX12YXIgR0xP
QkFMX0JBU0U9ODt2YXIgQUJPUlQ9ZmFsc2U7dmFyIEVYSVRTVEFUVVM9MDtmdW5jdGlvbiBhc3Nl
cnQoY29uZGl0aW9uLHRleHQpe2lmKCFjb25kaXRpb24pe2Fib3J0KCJBc3NlcnRpb24gZmFpbGVk
OiAiK3RleHQpfX1mdW5jdGlvbiBnZXRDRnVuYyhpZGVudCl7dmFyIGZ1bmM9TW9kdWxlWyJfIitp
ZGVudF07YXNzZXJ0KGZ1bmMsIkNhbm5vdCBjYWxsIHVua25vd24gZnVuY3Rpb24gIitpZGVudCsi
LCBtYWtlIHN1cmUgaXQgaXMgZXhwb3J0ZWQiKTtyZXR1cm4gZnVuY312YXIgSlNmdW5jcz17InN0
YWNrU2F2ZSI6KGZ1bmN0aW9uKCl7c3RhY2tTYXZlKCl9KSwic3RhY2tSZXN0b3JlIjooZnVuY3Rp
b24oKXtzdGFja1Jlc3RvcmUoKX0pLCJhcnJheVRvQyI6KGZ1bmN0aW9uKGFycil7dmFyIHJldD1z
dGFja0FsbG9jKGFyci5sZW5ndGgpO3dyaXRlQXJyYXlUb01lbW9yeShhcnIscmV0KTtyZXR1cm4g
cmV0fSksInN0cmluZ1RvQyI6KGZ1bmN0aW9uKHN0cil7dmFyIHJldD0wO2lmKHN0ciE9PW51bGwm
JnN0ciE9PXVuZGVmaW5lZCYmc3RyIT09MCl7dmFyIGxlbj0oc3RyLmxlbmd0aDw8MikrMTtyZXQ9
c3RhY2tBbGxvYyhsZW4pO3N0cmluZ1RvVVRGOChzdHIscmV0LGxlbil9cmV0dXJuIHJldH0pfTt2
YXIgdG9DPXsic3RyaW5nIjpKU2Z1bmNzWyJzdHJpbmdUb0MiXSwiYXJyYXkiOkpTZnVuY3NbImFy
cmF5VG9DIl19O2Z1bmN0aW9uIGNjYWxsKGlkZW50LHJldHVyblR5cGUsYXJnVHlwZXMsYXJncyxv
cHRzKXtmdW5jdGlvbiBjb252ZXJ0UmV0dXJuVmFsdWUocmV0KXtpZihyZXR1cm5UeXBlPT09InN0
cmluZyIpcmV0dXJuIFBvaW50ZXJfc3RyaW5naWZ5KHJldCk7aWYocmV0dXJuVHlwZT09PSJib29s
ZWFuIilyZXR1cm4gQm9vbGVhbihyZXQpO3JldHVybiByZXR9dmFyIGZ1bmM9Z2V0Q0Z1bmMoaWRl
bnQpO3ZhciBjQXJncz1bXTt2YXIgc3RhY2s9MDtpZihhcmdzKXtmb3IodmFyIGk9MDtpPGFyZ3Mu
bGVuZ3RoO2krKyl7dmFyIGNvbnZlcnRlcj10b0NbYXJnVHlwZXNbaV1dO2lmKGNvbnZlcnRlcil7
aWYoc3RhY2s9PT0wKXN0YWNrPXN0YWNrU2F2ZSgpO2NBcmdzW2ldPWNvbnZlcnRlcihhcmdzW2ld
KX1lbHNle2NBcmdzW2ldPWFyZ3NbaV19fX12YXIgcmV0PWZ1bmMuYXBwbHkobnVsbCxjQXJncyk7
cmV0PWNvbnZlcnRSZXR1cm5WYWx1ZShyZXQpO2lmKHN0YWNrIT09MClzdGFja1Jlc3RvcmUoc3Rh
Y2spO3JldHVybiByZXR9ZnVuY3Rpb24gc2V0VmFsdWUocHRyLHZhbHVlLHR5cGUsbm9TYWZlKXt0
eXBlPXR5cGV8fCJpOCI7aWYodHlwZS5jaGFyQXQodHlwZS5sZW5ndGgtMSk9PT0iKiIpdHlwZT0i
aTMyIjtzd2l0Y2godHlwZSl7Y2FzZSJpMSI6SEVBUDhbcHRyPj4wXT12YWx1ZTticmVhaztjYXNl
Imk4IjpIRUFQOFtwdHI+PjBdPXZhbHVlO2JyZWFrO2Nhc2UiaTE2IjpIRUFQMTZbcHRyPj4xXT12
YWx1ZTticmVhaztjYXNlImkzMiI6SEVBUDMyW3B0cj4+Ml09dmFsdWU7YnJlYWs7Y2FzZSJpNjQi
OnRlbXBJNjQ9W3ZhbHVlPj4+MCwodGVtcERvdWJsZT12YWx1ZSwrTWF0aF9hYnModGVtcERvdWJs
ZSk+PSsxP3RlbXBEb3VibGU+KzA/KE1hdGhfbWluKCtNYXRoX2Zsb29yKHRlbXBEb3VibGUvKzQy
OTQ5NjcyOTYpLCs0Mjk0OTY3Mjk1KXwwKT4+PjA6fn4rTWF0aF9jZWlsKCh0ZW1wRG91YmxlLSAr
KH5+dGVtcERvdWJsZT4+PjApKS8rNDI5NDk2NzI5Nik+Pj4wOjApXSxIRUFQMzJbcHRyPj4yXT10
ZW1wSTY0WzBdLEhFQVAzMltwdHIrND4+Ml09dGVtcEk2NFsxXTticmVhaztjYXNlImZsb2F0IjpI
RUFQRjMyW3B0cj4+Ml09dmFsdWU7YnJlYWs7Y2FzZSJkb3VibGUiOkhFQVBGNjRbcHRyPj4zXT12
YWx1ZTticmVhaztkZWZhdWx0OmFib3J0KCJpbnZhbGlkIHR5cGUgZm9yIHNldFZhbHVlOiAiK3R5
cGUpfX12YXIgQUxMT0NfU1RBVElDPTI7dmFyIEFMTE9DX05PTkU9NDtmdW5jdGlvbiBnZXRNZW1v
cnkoc2l6ZSl7aWYoIXN0YXRpY1NlYWxlZClyZXR1cm4gc3RhdGljQWxsb2Moc2l6ZSk7aWYoIXJ1
bnRpbWVJbml0aWFsaXplZClyZXR1cm4gZHluYW1pY0FsbG9jKHNpemUpO3JldHVybiBfbWFsbG9j
KHNpemUpfWZ1bmN0aW9uIFBvaW50ZXJfc3RyaW5naWZ5KHB0cixsZW5ndGgpe2lmKGxlbmd0aD09
PTB8fCFwdHIpcmV0dXJuIiI7dmFyIGhhc1V0Zj0wO3ZhciB0O3ZhciBpPTA7d2hpbGUoMSl7dD1I
RUFQVThbcHRyK2k+PjBdO2hhc1V0Znw9dDtpZih0PT0wJiYhbGVuZ3RoKWJyZWFrO2krKztpZihs
ZW5ndGgmJmk9PWxlbmd0aClicmVha31pZighbGVuZ3RoKWxlbmd0aD1pO3ZhciByZXQ9IiI7aWYo
aGFzVXRmPDEyOCl7dmFyIE1BWF9DSFVOSz0xMDI0O3ZhciBjdXJyO3doaWxlKGxlbmd0aD4wKXtj
dXJyPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLEhFQVBVOC5zdWJhcnJheShwdHIs
cHRyK01hdGgubWluKGxlbmd0aCxNQVhfQ0hVTkspKSk7cmV0PXJldD9yZXQrY3VycjpjdXJyO3B0
cis9TUFYX0NIVU5LO2xlbmd0aC09TUFYX0NIVU5LfXJldHVybiByZXR9cmV0dXJuIFVURjhUb1N0
cmluZyhwdHIpfXZhciBVVEY4RGVjb2Rlcj10eXBlb2YgVGV4dERlY29kZXIhPT0idW5kZWZpbmVk
Ij9uZXcgVGV4dERlY29kZXIoInV0ZjgiKTp1bmRlZmluZWQ7ZnVuY3Rpb24gVVRGOEFycmF5VG9T
dHJpbmcodThBcnJheSxpZHgpe3ZhciBlbmRQdHI9aWR4O3doaWxlKHU4QXJyYXlbZW5kUHRyXSkr
K2VuZFB0cjtpZihlbmRQdHItaWR4PjE2JiZ1OEFycmF5LnN1YmFycmF5JiZVVEY4RGVjb2Rlcil7
cmV0dXJuIFVURjhEZWNvZGVyLmRlY29kZSh1OEFycmF5LnN1YmFycmF5KGlkeCxlbmRQdHIpKX1l
bHNle3ZhciB1MCx1MSx1Mix1Myx1NCx1NTt2YXIgc3RyPSIiO3doaWxlKDEpe3UwPXU4QXJyYXlb
aWR4KytdO2lmKCF1MClyZXR1cm4gc3RyO2lmKCEodTAmMTI4KSl7c3RyKz1TdHJpbmcuZnJvbUNo
YXJDb2RlKHUwKTtjb250aW51ZX11MT11OEFycmF5W2lkeCsrXSY2MztpZigodTAmMjI0KT09MTky
KXtzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoKHUwJjMxKTw8Nnx1MSk7Y29udGludWV9dTI9dThB
cnJheVtpZHgrK10mNjM7aWYoKHUwJjI0MCk9PTIyNCl7dTA9KHUwJjE1KTw8MTJ8dTE8PDZ8dTJ9
ZWxzZXt1Mz11OEFycmF5W2lkeCsrXSY2MztpZigodTAmMjQ4KT09MjQwKXt1MD0odTAmNyk8PDE4
fHUxPDwxMnx1Mjw8Nnx1M31lbHNle3U0PXU4QXJyYXlbaWR4KytdJjYzO2lmKCh1MCYyNTIpPT0y
NDgpe3UwPSh1MCYzKTw8MjR8dTE8PDE4fHUyPDwxMnx1Mzw8Nnx1NH1lbHNle3U1PXU4QXJyYXlb
aWR4KytdJjYzO3UwPSh1MCYxKTw8MzB8dTE8PDI0fHUyPDwxOHx1Mzw8MTJ8dTQ8PDZ8dTV9fX1p
Zih1MDw2NTUzNil7c3RyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHUwKX1lbHNle3ZhciBjaD11MC02
NTUzNjtzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8Y2g+PjEwLDU2MzIwfGNoJjEwMjMp
fX19fWZ1bmN0aW9uIFVURjhUb1N0cmluZyhwdHIpe3JldHVybiBVVEY4QXJyYXlUb1N0cmluZyhI
RUFQVTgscHRyKX1mdW5jdGlvbiBzdHJpbmdUb1VURjhBcnJheShzdHIsb3V0VThBcnJheSxvdXRJ
ZHgsbWF4Qnl0ZXNUb1dyaXRlKXtpZighKG1heEJ5dGVzVG9Xcml0ZT4wKSlyZXR1cm4gMDt2YXIg
c3RhcnRJZHg9b3V0SWR4O3ZhciBlbmRJZHg9b3V0SWR4K21heEJ5dGVzVG9Xcml0ZS0xO2Zvcih2
YXIgaT0wO2k8c3RyLmxlbmd0aDsrK2kpe3ZhciB1PXN0ci5jaGFyQ29kZUF0KGkpO2lmKHU+PTU1
Mjk2JiZ1PD01NzM0Myl7dmFyIHUxPXN0ci5jaGFyQ29kZUF0KCsraSk7dT02NTUzNisoKHUmMTAy
Myk8PDEwKXx1MSYxMDIzfWlmKHU8PTEyNyl7aWYob3V0SWR4Pj1lbmRJZHgpYnJlYWs7b3V0VThB
cnJheVtvdXRJZHgrK109dX1lbHNlIGlmKHU8PTIwNDcpe2lmKG91dElkeCsxPj1lbmRJZHgpYnJl
YWs7b3V0VThBcnJheVtvdXRJZHgrK109MTkyfHU+PjY7b3V0VThBcnJheVtvdXRJZHgrK109MTI4
fHUmNjN9ZWxzZSBpZih1PD02NTUzNSl7aWYob3V0SWR4KzI+PWVuZElkeClicmVhaztvdXRVOEFy
cmF5W291dElkeCsrXT0yMjR8dT4+MTI7b3V0VThBcnJheVtvdXRJZHgrK109MTI4fHU+PjYmNjM7
b3V0VThBcnJheVtvdXRJZHgrK109MTI4fHUmNjN9ZWxzZSBpZih1PD0yMDk3MTUxKXtpZihvdXRJ
ZHgrMz49ZW5kSWR4KWJyZWFrO291dFU4QXJyYXlbb3V0SWR4KytdPTI0MHx1Pj4xODtvdXRVOEFy
cmF5W291dElkeCsrXT0xMjh8dT4+MTImNjM7b3V0VThBcnJheVtvdXRJZHgrK109MTI4fHU+PjYm
NjM7b3V0VThBcnJheVtvdXRJZHgrK109MTI4fHUmNjN9ZWxzZSBpZih1PD02NzEwODg2Myl7aWYo
b3V0SWR4KzQ+PWVuZElkeClicmVhaztvdXRVOEFycmF5W291dElkeCsrXT0yNDh8dT4+MjQ7b3V0
VThBcnJheVtvdXRJZHgrK109MTI4fHU+PjE4JjYzO291dFU4QXJyYXlbb3V0SWR4KytdPTEyOHx1
Pj4xMiY2MztvdXRVOEFycmF5W291dElkeCsrXT0xMjh8dT4+NiY2MztvdXRVOEFycmF5W291dElk
eCsrXT0xMjh8dSY2M31lbHNle2lmKG91dElkeCs1Pj1lbmRJZHgpYnJlYWs7b3V0VThBcnJheVtv
dXRJZHgrK109MjUyfHU+PjMwO291dFU4QXJyYXlbb3V0SWR4KytdPTEyOHx1Pj4yNCY2MztvdXRV
OEFycmF5W291dElkeCsrXT0xMjh8dT4+MTgmNjM7b3V0VThBcnJheVtvdXRJZHgrK109MTI4fHU+
PjEyJjYzO291dFU4QXJyYXlbb3V0SWR4KytdPTEyOHx1Pj42JjYzO291dFU4QXJyYXlbb3V0SWR4
KytdPTEyOHx1JjYzfX1vdXRVOEFycmF5W291dElkeF09MDtyZXR1cm4gb3V0SWR4LXN0YXJ0SWR4
fWZ1bmN0aW9uIHN0cmluZ1RvVVRGOChzdHIsb3V0UHRyLG1heEJ5dGVzVG9Xcml0ZSl7cmV0dXJu
IHN0cmluZ1RvVVRGOEFycmF5KHN0cixIRUFQVTgsb3V0UHRyLG1heEJ5dGVzVG9Xcml0ZSl9ZnVu
Y3Rpb24gbGVuZ3RoQnl0ZXNVVEY4KHN0cil7dmFyIGxlbj0wO2Zvcih2YXIgaT0wO2k8c3RyLmxl
bmd0aDsrK2kpe3ZhciB1PXN0ci5jaGFyQ29kZUF0KGkpO2lmKHU+PTU1Mjk2JiZ1PD01NzM0Myl1
PTY1NTM2KygodSYxMDIzKTw8MTApfHN0ci5jaGFyQ29kZUF0KCsraSkmMTAyMztpZih1PD0xMjcp
eysrbGVufWVsc2UgaWYodTw9MjA0Nyl7bGVuKz0yfWVsc2UgaWYodTw9NjU1MzUpe2xlbis9M31l
bHNlIGlmKHU8PTIwOTcxNTEpe2xlbis9NH1lbHNlIGlmKHU8PTY3MTA4ODYzKXtsZW4rPTV9ZWxz
ZXtsZW4rPTZ9fXJldHVybiBsZW59dmFyIFVURjE2RGVjb2Rlcj10eXBlb2YgVGV4dERlY29kZXIh
PT0idW5kZWZpbmVkIj9uZXcgVGV4dERlY29kZXIoInV0Zi0xNmxlIik6dW5kZWZpbmVkO2Z1bmN0
aW9uIGFsbG9jYXRlVVRGOChzdHIpe3ZhciBzaXplPWxlbmd0aEJ5dGVzVVRGOChzdHIpKzE7dmFy
IHJldD1fbWFsbG9jKHNpemUpO2lmKHJldClzdHJpbmdUb1VURjhBcnJheShzdHIsSEVBUDgscmV0
LHNpemUpO3JldHVybiByZXR9ZnVuY3Rpb24gZGVtYW5nbGUoZnVuYyl7cmV0dXJuIGZ1bmN9ZnVu
Y3Rpb24gZGVtYW5nbGVBbGwodGV4dCl7dmFyIHJlZ2V4PS9fX1pbXHdcZF9dKy9nO3JldHVybiB0
ZXh0LnJlcGxhY2UocmVnZXgsKGZ1bmN0aW9uKHgpe3ZhciB5PWRlbWFuZ2xlKHgpO3JldHVybiB4
PT09eT94OnkrIiBbIit4KyJdIn0pKX1mdW5jdGlvbiBqc1N0YWNrVHJhY2UoKXt2YXIgZXJyPW5l
dyBFcnJvcjtpZighZXJyLnN0YWNrKXt0cnl7dGhyb3cgbmV3IEVycm9yKDApfWNhdGNoKGUpe2Vy
cj1lfWlmKCFlcnIuc3RhY2spe3JldHVybiIobm8gc3RhY2sgdHJhY2UgYXZhaWxhYmxlKSJ9fXJl
dHVybiBlcnIuc3RhY2sudG9TdHJpbmcoKX1mdW5jdGlvbiBzdGFja1RyYWNlKCl7dmFyIGpzPWpz
U3RhY2tUcmFjZSgpO2lmKE1vZHVsZVsiZXh0cmFTdGFja1RyYWNlIl0panMrPSJcbiIrTW9kdWxl
WyJleHRyYVN0YWNrVHJhY2UiXSgpO3JldHVybiBkZW1hbmdsZUFsbChqcyl9dmFyIFBBR0VfU0la
RT0xNjM4NDt2YXIgV0FTTV9QQUdFX1NJWkU9NjU1MzY7dmFyIEFTTUpTX1BBR0VfU0laRT0xNjc3
NzIxNjt2YXIgTUlOX1RPVEFMX01FTU9SWT0xNjc3NzIxNjtmdW5jdGlvbiBhbGlnblVwKHgsbXVs
dGlwbGUpe2lmKHglbXVsdGlwbGU+MCl7eCs9bXVsdGlwbGUteCVtdWx0aXBsZX1yZXR1cm4geH12
YXIgYnVmZmVyLEhFQVA4LEhFQVBVOCxIRUFQMTYsSEVBUFUxNixIRUFQMzIsSEVBUFUzMixIRUFQ
RjMyLEhFQVBGNjQ7ZnVuY3Rpb24gdXBkYXRlR2xvYmFsQnVmZmVyKGJ1Zil7TW9kdWxlWyJidWZm
ZXIiXT1idWZmZXI9YnVmfWZ1bmN0aW9uIHVwZGF0ZUdsb2JhbEJ1ZmZlclZpZXdzKCl7TW9kdWxl
WyJIRUFQOCJdPUhFQVA4PW5ldyBJbnQ4QXJyYXkoYnVmZmVyKTtNb2R1bGVbIkhFQVAxNiJdPUhF
QVAxNj1uZXcgSW50MTZBcnJheShidWZmZXIpO01vZHVsZVsiSEVBUDMyIl09SEVBUDMyPW5ldyBJ
bnQzMkFycmF5KGJ1ZmZlcik7TW9kdWxlWyJIRUFQVTgiXT1IRUFQVTg9bmV3IFVpbnQ4QXJyYXko
YnVmZmVyKTtNb2R1bGVbIkhFQVBVMTYiXT1IRUFQVTE2PW5ldyBVaW50MTZBcnJheShidWZmZXIp
O01vZHVsZVsiSEVBUFUzMiJdPUhFQVBVMzI9bmV3IFVpbnQzMkFycmF5KGJ1ZmZlcik7TW9kdWxl
WyJIRUFQRjMyIl09SEVBUEYzMj1uZXcgRmxvYXQzMkFycmF5KGJ1ZmZlcik7TW9kdWxlWyJIRUFQ
RjY0Il09SEVBUEY2ND1uZXcgRmxvYXQ2NEFycmF5KGJ1ZmZlcil9dmFyIFNUQVRJQ19CQVNFLFNU
QVRJQ1RPUCxzdGF0aWNTZWFsZWQ7dmFyIFNUQUNLX0JBU0UsU1RBQ0tUT1AsU1RBQ0tfTUFYO3Zh
ciBEWU5BTUlDX0JBU0UsRFlOQU1JQ1RPUF9QVFI7U1RBVElDX0JBU0U9U1RBVElDVE9QPVNUQUNL
X0JBU0U9U1RBQ0tUT1A9U1RBQ0tfTUFYPURZTkFNSUNfQkFTRT1EWU5BTUlDVE9QX1BUUj0wO3N0
YXRpY1NlYWxlZD1mYWxzZTtmdW5jdGlvbiBhYm9ydE9uQ2Fubm90R3Jvd01lbW9yeSgpe2Fib3J0
KCJDYW5ub3QgZW5sYXJnZSBtZW1vcnkgYXJyYXlzLiBFaXRoZXIgKDEpIGNvbXBpbGUgd2l0aCAg
LXMgVE9UQUxfTUVNT1JZPVggIHdpdGggWCBoaWdoZXIgdGhhbiB0aGUgY3VycmVudCB2YWx1ZSAi
K1RPVEFMX01FTU9SWSsiLCAoMikgY29tcGlsZSB3aXRoICAtcyBBTExPV19NRU1PUllfR1JPV1RI
PTEgIHdoaWNoIGFsbG93cyBpbmNyZWFzaW5nIHRoZSBzaXplIGF0IHJ1bnRpbWUgYnV0IHByZXZl
bnRzIHNvbWUgb3B0aW1pemF0aW9ucywgKDMpIHNldCBNb2R1bGUuVE9UQUxfTUVNT1JZIHRvIGEg
aGlnaGVyIHZhbHVlIGJlZm9yZSB0aGUgcHJvZ3JhbSBydW5zLCBvciAoNCkgaWYgeW91IHdhbnQg
bWFsbG9jIHRvIHJldHVybiBOVUxMICgwKSBpbnN0ZWFkIG9mIHRoaXMgYWJvcnQsIGNvbXBpbGUg
d2l0aCAgLXMgQUJPUlRJTkdfTUFMTE9DPTAgIil9aWYoIU1vZHVsZVsicmVhbGxvY0J1ZmZlciJd
KU1vZHVsZVsicmVhbGxvY0J1ZmZlciJdPShmdW5jdGlvbihzaXplKXt2YXIgcmV0O3RyeXt2YXIg
b2xkSEVBUDg9SEVBUDg7cmV0PW5ldyBBcnJheUJ1ZmZlcihzaXplKTt2YXIgdGVtcD1uZXcgSW50
OEFycmF5KHJldCk7dGVtcC5zZXQob2xkSEVBUDgpfWNhdGNoKGUpe3JldHVybiBmYWxzZX12YXIg
c3VjY2Vzcz1fZW1zY3JpcHRlbl9yZXBsYWNlX21lbW9yeShyZXQpO2lmKCFzdWNjZXNzKXJldHVy
biBmYWxzZTtyZXR1cm4gcmV0fSk7ZnVuY3Rpb24gZW5sYXJnZU1lbW9yeSgpe3ZhciBQQUdFX01V
TFRJUExFPU1vZHVsZVsidXNpbmdXYXNtIl0/V0FTTV9QQUdFX1NJWkU6QVNNSlNfUEFHRV9TSVpF
O3ZhciBMSU1JVD0yMTQ3NDgzNjQ4LVBBR0VfTVVMVElQTEU7aWYoSEVBUDMyW0RZTkFNSUNUT1Bf
UFRSPj4yXT5MSU1JVCl7cmV0dXJuIGZhbHNlfXZhciBPTERfVE9UQUxfTUVNT1JZPVRPVEFMX01F
TU9SWTtUT1RBTF9NRU1PUlk9TWF0aC5tYXgoVE9UQUxfTUVNT1JZLE1JTl9UT1RBTF9NRU1PUlkp
O3doaWxlKFRPVEFMX01FTU9SWTxIRUFQMzJbRFlOQU1JQ1RPUF9QVFI+PjJdKXtpZihUT1RBTF9N
RU1PUlk8PTUzNjg3MDkxMil7VE9UQUxfTUVNT1JZPWFsaWduVXAoMipUT1RBTF9NRU1PUlksUEFH
RV9NVUxUSVBMRSl9ZWxzZXtUT1RBTF9NRU1PUlk9TWF0aC5taW4oYWxpZ25VcCgoMypUT1RBTF9N
RU1PUlkrMjE0NzQ4MzY0OCkvNCxQQUdFX01VTFRJUExFKSxMSU1JVCl9fXZhciByZXBsYWNlbWVu
dD1Nb2R1bGVbInJlYWxsb2NCdWZmZXIiXShUT1RBTF9NRU1PUlkpO2lmKCFyZXBsYWNlbWVudHx8
cmVwbGFjZW1lbnQuYnl0ZUxlbmd0aCE9VE9UQUxfTUVNT1JZKXtUT1RBTF9NRU1PUlk9T0xEX1RP
VEFMX01FTU9SWTtyZXR1cm4gZmFsc2V9dXBkYXRlR2xvYmFsQnVmZmVyKHJlcGxhY2VtZW50KTt1
cGRhdGVHbG9iYWxCdWZmZXJWaWV3cygpO3JldHVybiB0cnVlfXZhciBieXRlTGVuZ3RoO3RyeXti
eXRlTGVuZ3RoPUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmJpbmQoT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihBcnJheUJ1ZmZlci5wcm90b3R5cGUsImJ5dGVMZW5ndGgiKS5nZXQpO2J5
dGVMZW5ndGgobmV3IEFycmF5QnVmZmVyKDQpKX1jYXRjaChlKXtieXRlTGVuZ3RoPShmdW5jdGlv
bihidWZmZXIpe3JldHVybiBidWZmZXIuYnl0ZUxlbmd0aH0pfXZhciBUT1RBTF9TVEFDSz1Nb2R1
bGVbIlRPVEFMX1NUQUNLIl18fDUyNDI4ODA7dmFyIFRPVEFMX01FTU9SWT1Nb2R1bGVbIlRPVEFM
X01FTU9SWSJdfHwxNjc3NzIxNjtpZihUT1RBTF9NRU1PUlk8VE9UQUxfU1RBQ0spZXJyKCJUT1RB
TF9NRU1PUlkgc2hvdWxkIGJlIGxhcmdlciB0aGFuIFRPVEFMX1NUQUNLLCB3YXMgIitUT1RBTF9N
RU1PUlkrIiEgKFRPVEFMX1NUQUNLPSIrVE9UQUxfU1RBQ0srIikiKTtpZihNb2R1bGVbImJ1ZmZl
ciJdKXtidWZmZXI9TW9kdWxlWyJidWZmZXIiXX1lbHNle3tidWZmZXI9bmV3IEFycmF5QnVmZmVy
KFRPVEFMX01FTU9SWSl9TW9kdWxlWyJidWZmZXIiXT1idWZmZXJ9dXBkYXRlR2xvYmFsQnVmZmVy
Vmlld3MoKTtmdW5jdGlvbiBnZXRUb3RhbE1lbW9yeSgpe3JldHVybiBUT1RBTF9NRU1PUll9ZnVu
Y3Rpb24gY2FsbFJ1bnRpbWVDYWxsYmFja3MoY2FsbGJhY2tzKXt3aGlsZShjYWxsYmFja3MubGVu
Z3RoPjApe3ZhciBjYWxsYmFjaz1jYWxsYmFja3Muc2hpZnQoKTtpZih0eXBlb2YgY2FsbGJhY2s9
PSJmdW5jdGlvbiIpe2NhbGxiYWNrKCk7Y29udGludWV9dmFyIGZ1bmM9Y2FsbGJhY2suZnVuYztp
Zih0eXBlb2YgZnVuYz09PSJudW1iZXIiKXtpZihjYWxsYmFjay5hcmc9PT11bmRlZmluZWQpe01v
ZHVsZVsiZHluQ2FsbF92Il0oZnVuYyl9ZWxzZXtNb2R1bGVbImR5bkNhbGxfdmkiXShmdW5jLGNh
bGxiYWNrLmFyZyl9fWVsc2V7ZnVuYyhjYWxsYmFjay5hcmc9PT11bmRlZmluZWQ/bnVsbDpjYWxs
YmFjay5hcmcpfX19dmFyIF9fQVRQUkVSVU5fXz1bXTt2YXIgX19BVElOSVRfXz1bXTt2YXIgX19B
VE1BSU5fXz1bXTt2YXIgX19BVEVYSVRfXz1bXTt2YXIgX19BVFBPU1RSVU5fXz1bXTt2YXIgcnVu
dGltZUluaXRpYWxpemVkPWZhbHNlO3ZhciBydW50aW1lRXhpdGVkPWZhbHNlO2Z1bmN0aW9uIHBy
ZVJ1bigpe2lmKE1vZHVsZVsicHJlUnVuIl0pe2lmKHR5cGVvZiBNb2R1bGVbInByZVJ1biJdPT0i
ZnVuY3Rpb24iKU1vZHVsZVsicHJlUnVuIl09W01vZHVsZVsicHJlUnVuIl1dO3doaWxlKE1vZHVs
ZVsicHJlUnVuIl0ubGVuZ3RoKXthZGRPblByZVJ1bihNb2R1bGVbInByZVJ1biJdLnNoaWZ0KCkp
fX1jYWxsUnVudGltZUNhbGxiYWNrcyhfX0FUUFJFUlVOX18pfWZ1bmN0aW9uIGVuc3VyZUluaXRS
dW50aW1lKCl7aWYocnVudGltZUluaXRpYWxpemVkKXJldHVybjtydW50aW1lSW5pdGlhbGl6ZWQ9
dHJ1ZTtjYWxsUnVudGltZUNhbGxiYWNrcyhfX0FUSU5JVF9fKX1mdW5jdGlvbiBwcmVNYWluKCl7
Y2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVE1BSU5fXyl9ZnVuY3Rpb24gZXhpdFJ1bnRpbWUoKXtj
YWxsUnVudGltZUNhbGxiYWNrcyhfX0FURVhJVF9fKTtydW50aW1lRXhpdGVkPXRydWV9ZnVuY3Rp
b24gcG9zdFJ1bigpe2lmKE1vZHVsZVsicG9zdFJ1biJdKXtpZih0eXBlb2YgTW9kdWxlWyJwb3N0
UnVuIl09PSJmdW5jdGlvbiIpTW9kdWxlWyJwb3N0UnVuIl09W01vZHVsZVsicG9zdFJ1biJdXTt3
aGlsZShNb2R1bGVbInBvc3RSdW4iXS5sZW5ndGgpe2FkZE9uUG9zdFJ1bihNb2R1bGVbInBvc3RS
dW4iXS5zaGlmdCgpKX19Y2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVFBPU1RSVU5fXyl9ZnVuY3Rp
b24gYWRkT25QcmVSdW4oY2Ipe19fQVRQUkVSVU5fXy51bnNoaWZ0KGNiKX1mdW5jdGlvbiBhZGRP
blBvc3RSdW4oY2Ipe19fQVRQT1NUUlVOX18udW5zaGlmdChjYil9ZnVuY3Rpb24gd3JpdGVBcnJh
eVRvTWVtb3J5KGFycmF5LGJ1ZmZlcil7SEVBUDguc2V0KGFycmF5LGJ1ZmZlcil9ZnVuY3Rpb24g
d3JpdGVBc2NpaVRvTWVtb3J5KHN0cixidWZmZXIsZG9udEFkZE51bGwpe2Zvcih2YXIgaT0wO2k8
c3RyLmxlbmd0aDsrK2kpe0hFQVA4W2J1ZmZlcisrPj4wXT1zdHIuY2hhckNvZGVBdChpKX1pZigh
ZG9udEFkZE51bGwpSEVBUDhbYnVmZmVyPj4wXT0wfWlmKCFNYXRoWyJpbXVsIl18fE1hdGhbImlt
dWwiXSg0Mjk0OTY3Mjk1LDUpIT09LTUpTWF0aFsiaW11bCJdPWZ1bmN0aW9uIGltdWwoYSxiKXt2
YXIgYWg9YT4+PjE2O3ZhciBhbD1hJjY1NTM1O3ZhciBiaD1iPj4+MTY7dmFyIGJsPWImNjU1MzU7
cmV0dXJuIGFsKmJsKyhhaCpibCthbCpiaDw8MTYpfDB9O01hdGguaW11bD1NYXRoWyJpbXVsIl07
aWYoIU1hdGhbImNsejMyIl0pTWF0aFsiY2x6MzIiXT0oZnVuY3Rpb24oeCl7dmFyIG49MzI7dmFy
IHk9eD4+MTY7aWYoeSl7bi09MTY7eD15fXk9eD4+ODtpZih5KXtuLT04O3g9eX15PXg+PjQ7aWYo
eSl7bi09NDt4PXl9eT14Pj4yO2lmKHkpe24tPTI7eD15fXk9eD4+MTtpZih5KXJldHVybiBuLTI7
cmV0dXJuIG4teH0pO01hdGguY2x6MzI9TWF0aFsiY2x6MzIiXTtpZighTWF0aFsidHJ1bmMiXSlN
YXRoWyJ0cnVuYyJdPShmdW5jdGlvbih4KXtyZXR1cm4geDwwP01hdGguY2VpbCh4KTpNYXRoLmZs
b29yKHgpfSk7TWF0aC50cnVuYz1NYXRoWyJ0cnVuYyJdO3ZhciBNYXRoX2Ficz1NYXRoLmFiczt2
YXIgTWF0aF9jZWlsPU1hdGguY2VpbDt2YXIgTWF0aF9mbG9vcj1NYXRoLmZsb29yO3ZhciBNYXRo
X21pbj1NYXRoLm1pbjt2YXIgcnVuRGVwZW5kZW5jaWVzPTA7dmFyIHJ1bkRlcGVuZGVuY3lXYXRj
aGVyPW51bGw7dmFyIGRlcGVuZGVuY2llc0Z1bGZpbGxlZD1udWxsO2Z1bmN0aW9uIGdldFVuaXF1
ZVJ1bkRlcGVuZGVuY3koaWQpe3JldHVybiBpZH1mdW5jdGlvbiBhZGRSdW5EZXBlbmRlbmN5KGlk
KXtydW5EZXBlbmRlbmNpZXMrKztpZihNb2R1bGVbIm1vbml0b3JSdW5EZXBlbmRlbmNpZXMiXSl7
TW9kdWxlWyJtb25pdG9yUnVuRGVwZW5kZW5jaWVzIl0ocnVuRGVwZW5kZW5jaWVzKX19ZnVuY3Rp
b24gcmVtb3ZlUnVuRGVwZW5kZW5jeShpZCl7cnVuRGVwZW5kZW5jaWVzLS07aWYoTW9kdWxlWyJt
b25pdG9yUnVuRGVwZW5kZW5jaWVzIl0pe01vZHVsZVsibW9uaXRvclJ1bkRlcGVuZGVuY2llcyJd
KHJ1bkRlcGVuZGVuY2llcyl9aWYocnVuRGVwZW5kZW5jaWVzPT0wKXtpZihydW5EZXBlbmRlbmN5
V2F0Y2hlciE9PW51bGwpe2NsZWFySW50ZXJ2YWwocnVuRGVwZW5kZW5jeVdhdGNoZXIpO3J1bkRl
cGVuZGVuY3lXYXRjaGVyPW51bGx9aWYoZGVwZW5kZW5jaWVzRnVsZmlsbGVkKXt2YXIgY2FsbGJh
Y2s9ZGVwZW5kZW5jaWVzRnVsZmlsbGVkO2RlcGVuZGVuY2llc0Z1bGZpbGxlZD1udWxsO2NhbGxi
YWNrKCl9fX1Nb2R1bGVbInByZWxvYWRlZEltYWdlcyJdPXt9O01vZHVsZVsicHJlbG9hZGVkQXVk
aW9zIl09e307dmFyIG1lbW9yeUluaXRpYWxpemVyPW51bGw7dmFyIGRhdGFVUklQcmVmaXg9ImRh
dGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCwiO2Z1bmN0aW9uIGlzRGF0YVVSSShm
aWxlbmFtZSl7cmV0dXJuIFN0cmluZy5wcm90b3R5cGUuc3RhcnRzV2l0aD9maWxlbmFtZS5zdGFy
dHNXaXRoKGRhdGFVUklQcmVmaXgpOmZpbGVuYW1lLmluZGV4T2YoZGF0YVVSSVByZWZpeCk9PT0w
fXZhciBBU01fQ09OU1RTPVsoZnVuY3Rpb24oJDAsJDEpe3ZhciBwYXRoPVBvaW50ZXJfc3RyaW5n
aWZ5KCQwKTt2YXIgZGF0YT1Qb2ludGVyX3N0cmluZ2lmeSgkMSk7RlMuY3JlYXRlUGF0aCgiLyIs
UEFUSC5kaXJuYW1lKHBhdGgpKTtGUy53cml0ZUZpbGUoUEFUSC5qb2luKCIvIixwYXRoKSxkYXRh
KX0pXTtmdW5jdGlvbiBfZW1zY3JpcHRlbl9hc21fY29uc3RfaWlpKGNvZGUsYTAsYTEpe3JldHVy
biBBU01fQ09OU1RTW2NvZGVdKGEwLGExKX1TVEFUSUNfQkFTRT1HTE9CQUxfQkFTRTtTVEFUSUNU
T1A9U1RBVElDX0JBU0UrMTk0ODgwO19fQVRJTklUX18ucHVzaCh7ZnVuYzooZnVuY3Rpb24oKXtf
X19lbXNjcmlwdGVuX2Vudmlyb25fY29uc3RydWN0b3IoKX0pfSk7bWVtb3J5SW5pdGlhbGl6ZXI9
ImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCxBQUFBQUFBQUFBQURBQUFBb0FF
QUFBTUFBQUNRQXdBQUF3QUFBUEFEQUFBREFBQUE0QVFBQUFNQUFBRHdCd0FBQXdBQUFNQUtBQUFE
QUFBQTBBSUFBQU1BQUFBZ0N3QUFBd0FBQU1BTEFBQURBQUFBb0E4QUFBTUFBQUFRRGdBQUFBQUFB
R0FCQUFBQUFBQUFZQU1BQUFBQUFBREFBd0FBQUFBQUFMQUVBQUFBQUFBQUVBVUFBQUFBQUFDUUNn
QUFBQUFBQUdBQ0FBQUFBQUFBOEFvQUFBQUFBQUNRQ3dBQUFBQUFBSEFQQUFBQUFBQUE0QTBBQUFR
QUFBRFFEd0FBQUFBQUFBQUFBQUFBQUFBQUFBRHdQd0FBQUFBQUFQQS9BQUFBQUFBQThEOEFBQUFB
QUFEd1B3QUFBQUFBQVBBL0FBQUFBQUFBOEQ4QUFBQUFBQUR3UHdBQUFBQUFBUEEvQUFBQUFBQUE4
RDhBQUFBQUFBRHdQd0FBQUFBQUFQQS9BQUFBQUFBQThEL3dUZ0lBQUU4Q0FCQlBBZ0FnVHdJQU1F
OENBRUJQQWdCUVR3SUFZRThDQUFCUEFnQUFUd0lBUUU4Q0FFQlBBZ0FBQUFBQUtLWUJBQUVBQUFE
b0VRRUFnQUlCQUFRQUFBRGROd0VBQVFBQUFHQVNBUUNnQWdFQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFIZzBBUUFCQUFBQUFBQUFBUGdDQVFBQUFBQUFnRFFCQUFFQUFBQUFB
QUFBK0FJQkFBRUFBQUNITkFFQUFRQUFBQUFBQUFEQUFnRUFBZ0FBQUpFMEFRQUJBQUFBQUFBQUFQ
Z0NBUUFEQUFBQW16UUJBQUVBQUFBQUFBQUErQUlCQUFRQUFBQ3BOQUVBQVFBQUFBQUFBQUQ0QWdF
QUJRQUFBTE0wQVFBQkFBQUFBQUFBQVBnQ0FRQUdBQUFBd0RRQkFBRUFBQUFBQUFBQStBSUJBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT0kzQVFBQkFBQUE1
QklCQURBREFRQUJBQUFBNXpjQkFBRUFBQURrRWdFQU1BTUJBQUlBQUFEdE53RUFBUUFBQU9RU0FR
QXdBd0VBQXdBQUFQWTNBUUFCQUFBQTVCSUJBREFEQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU9BRUFBUUFBQUFBQUFBQ0lBd0VBQVFBQUFBbzRBUUFC
QUFBQUFBQUFBSWdEQVFBQ0FBQUFGVGdCQUFFQUFBQUFBQUFBVUFNQkFBTUFBQUFqT0FFQUFRQUFB
QUFBQUFCUUF3RUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDd09B
SUF0U0VDQUVZakFnQ0dLUUlBZlRBQ0FMdzBBZ0E4T0FJQVRUZ0NBQUFBQUFCcU9BRUFBUUFBQUlB
VEFRREFBd0VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQnVPQUVB
QVFBQUFBQUFBQURnQXdFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFB
QUIyT0FFQUFRQUFBUGdUQVFBWUJBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUVBQUFDdU9RRUFBUUFBQUFBQUFBQTRCQUVBQWdBQUFMZzVBUUFCQUFBQUFBQUFBSEFFQVFB
QUFBQUF3VGtCQUFFQUFBQUFBQUFBY0FRQkFBTUFBQURLT1FFQUFRQUFBQUFBQUFCd0JBRUFBQUFB
QU5RNUFRQUJBQUFBQUFBQUFEZ0VBUUFEQUFBQTREa0JBQUVBQUFBQUFBQUFPQVFCQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBTEE0QWdDMUlRSUFoaWtDQUVZakFnQzhOQUlBZlRBQ0FF
MDRBZ0E4T0FJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ2RPd0VBLy8vLy8zQVVBUUNvQkFF
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNnT3dFQS8vLy8vd0FB
QUFESUJBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBdXJnRUFB
UUFBQU9nVUFRQUFCUUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUowL0FR
Q3JQd0VBd1Q4QkFEYjVBZ0RQUHdFQTNqOEJBT00vQVFBQlFBRUFOdmtDQUJOQUFRQkRRQUVBTnZr
Q0FHRkFBUUNKUUFFQWwwQUJBTVpBQVFENlFBRUFDMEVCQURCQkFRQlRRUUVBV1VFQkFIVkJBUUNT
UVFFQXJVRUJBTTVCQVFEb1FRRUFDa0lCQUNsQ0FRQlBRZ0VBWjBJQkFJZENBUUNrUWdFQXlFSUJB
TlJDQVFBMitRSUEzMElCQUFWREFRQXBRd0VBVDBNQkFEYjVBZ0NGUXdFQW5VTUJBS3BEQVFEWlF3
RUExRUlCQURiNUFnRG1Rd0VBNzBNQkFCQkVBUUJMUkFFQWxrUUJBT3BFQVFBTVJRRUFJVVVCQURo
RkFRQk9SUUVBWmtVQkFEYjVBZ0I4UlFFQWwwVUJBTHRGQVFEZlJRRUFCRVlCQURiNUFnQWxSZ0VB
UDBZQkFGRkdBUUJlUmdFQWEwWUJBSDlHQVFDT1JnRUFsa1lCQUt0R0FRQzVSZ0VBOTBZQkFBSkhB
UURVUWdFQU52a0NBQWhIQVFBVVJ3RUFJMGNCQUZOQkFRQTIrUUlBTmtjQkFGOUhBUUI5UndFQWpV
Y0JBSjVIQVFDbFJ3RUF0RWNCQU1SSEFRQUlTQUVBRDBnQkFGTkJBUUEyK1FJQUdVZ0JBRVZJQVFC
UVNBRUFXVWdCQUdKSUFRQnpTQUVBaEVnQkFKaElBUURVUWdFQU52a0NBS1JJQVFDMFNBRUF3a2dC
QU5CSUFRRGRTQUVBNmtnQkFBQkpBUUFKU1FFQUdFa0JBQ1ZKQVFBMlNRRUExRUlCQURiNUFnQkJT
UUVBWUVrQkFEYjVBZ0J5U1FFQWdVa0JBTEZKQVFDN1NRRUF5RWtCQU5WSkFRRGlTUUVBNzBrQkFQ
SkpBUUEyK1FJQTlra0JBRGI1QWdBWlNnRUFTa29CQUhsS0FRQ1FTZ0VBcTBvQkFNWktBUURVUWdF
QU52a0NBT0pLQVFBMitRSUFDa3NCQUJaTEFRQXBTd0VBUEVzQkFGRkxBUUJtU3dFQWFrc0JBRk5C
QVFBMitRSUFka3NCQURiNUFnQ0dTd0VBbEVzQkFLQkxBUUN0U3dFQXpVc0JBT05MQVFBMitRSUE5
MHNCQUVCTUFRQ0dUQUVBdGt3QkFPbE1BUUR3VEFFQUYwMEJBRDVOQVFBMitRSUFRMDBCQUFBQUFB
QUFBQUFBOEhZQkFBRUFBQUFBQUFBQUlBVUJBQUVBQUFDM1RRRUFBUUFBQUFBQUFBQWdCUUVBQWdB
QUFPbDJBUUFCQUFBQUFBQUFBRmdGQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFNMGdBZ0RY
SUFJQWdXQUJBQndoQWdCWElRSUFlU0VDQUg4aEFnQ3dPQUlBcGlFQ0FMVWhBZ0RTSVFJQTNTRUNB
UDhoQWdBMUlnSUFheUlDQUtZaUFnRGNJZ0lBL2lJQ0FBMGpBZ0ErSXdJQVJpTUNBRWRVQVFCUVZB
RUFZeU1DQUZsVUFRQ3RJd0lBWWxRQkFMY2pBZ0JyVkFFQXdTTUNBQkFrQWdCTEpBSUFkMVFCQUlZ
a0FnQ1JKQUlBMWlRQ0FPUWtBZ0F1SlFJQVBDVUNBRW9sQWdCVkpRSUFoaVVDQU1ZbEFnRE9KUUlB
MWlVQ0FCRW1BZ0JISmdJQVV5WUNBSVpnQVFCZkpnSUFhU1lDQUhRbUFnQ1JKZ0lBeHlZQ0FJWXBB
Z0NvS1FJQXRDa0NBSE1zQWdDa0xBSUEwQ3dDQUFZdEFnQVRMUUlBTlMwQ0FGY3RBZ0JnTFFJQXFp
MENBTFF0QWdENUxRSUFMeTRDQURvdUFnQy9MZ0lBMUM0Q0FIOVVBUURlTGdJQTZDNENBQjR2QWdC
ZUx3SUFiQzhDQU1BdkFnRFBMd0lBM2k4Q0FDMHdBZ0NPWUFFQWJUQUNBSGN3QWdCOU1BSUFxVEFD
QU5Bd0FnRGhNQUlBN0RBQ0FERXhBZ0IyTVFJQWhURUNBSlV4QWdDbk1RSUF0ekVDQU1jeEFnRFVN
UUlBM2pFQ0FCUXlBZ0FkTWdJQVhUSUNBSEF5QWdDVFlBRUFlRElDQUs0eUFnRFZNZ0lBQ3pNQ0FE
SXpBZ0JBTXdJQWRqTUNBTUF6QWdBS05BSUFGVFFDQUVzMEFnQlFOQUlBYlRRQ0FJbzBBZ0NWTkFJ
QXZEUUNBTlEwQWdBS05RSUFRRFVDQUV3MUFnQnpOUUlBZmpVQ0FLODFBZ0RnTlFJQWdHc0JBQWMy
QWdBek5nSUFhVFlDQUo4MkFnQ3BOZ0lBeGpZQ0FBWTNBZ0E4TndJQW1XQUJBRlEzQWdDQU53SUFw
emNDQU4wM0FnQWFPQUlBUERnQ0FFSTRBZ0JOT0FJQWREZ0NBQUFBQUFBQUFBQUFNYTRCQUFFQUFB
QmdGUUVBa0FVQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBeDNj
QkFBRUFBQUFBQUFBQXNBVUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQXRWVUJBQUVBQUFEWUZRRUE2QVVCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUF1RlVCQUFFQUFBQUFBQUFBQ0FZQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQ0JZQUVBc0RnQ0FMVWhBZ0NHWUFFQXh5WUNBSVlwQWdDT1lBRUFxVEFDQUYw
eUFnQ1RZQUVBbFRRQ0FMdzBBZ0NBYXdFQW1XQUJBRHc0QWdCTk9BSUFBQUFBQUo1Z0FRQUJBQUFB
VUJZQkFFQUdBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLSmdB
UUFCQUFBQUFBQUFBR0FHQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUhD
RUNBQlpxQVFDd09BSUF0U0VDQU5JaEFnQWhhZ0VBSjJvQkFESnFBUUE1YWdFQTNTRUNBRFVpQWdC
QmFnRUFSMm9CQUZKcUFRRGNJZ0lBL2lJQ0FFWWpBZ0JaYWdFQXJTTUNBTUVqQWdCTEpBSUFZMm9C
QU5Za0FnRGtKQUlBTGlVQ0FHNXFBUUE4SlFJQWRtb0JBSDlxQVFDTmFnRUFsMm9CQUJFbUFnQ2dh
Z0VBVXlZQ0FIUW1BZ0NSSmdJQXBtb0JBTmdtQWdBREp3SUFMQ2NDQUU4bkFnQjRKd0lBbXljQ0FN
UW5BZ0RuSndJQUVDZ0NBRE1vQWdCY0tBSUFmeWdDQUtnb0FnRExLQUlBOUNnQ0FCY3BBZ0JBS1FJ
QVl5a0NBSVlwQWdDdGFnRUFxQ2tDQUxscUFRRFFMQUlBTlMwQ0FQa3RBZ0RHYWdFQTNpOENBTk5x
QVFCdE1BSUFmVEFDQU4xcUFRQ3BNQUlBMERBQ0FPRXdBZ0RzYWdFQS9tb0JBT3d3QWdCMk1RSUFo
VEVDQUpVeEFnQ25NUUlBdHpFQ0FBNXJBUUFaYXdFQUpHc0JBTWN4QWdCZE1nSUFZaklDQUNsckFR
QXlhd0VBTzJzQkFFdHJBUUJTYXdFQXJqSUNBTlV5QWdBTE13SUFRRE1DQUZBMEFnQnROQUlBV21z
QkFMdzBBZ0JoYXdFQVREVUNBR3ByQVFCK05RSUFjbXNCQU9BMUFnQ0Fhd0VBQnpZQ0FETTJBZ0NI
YXdFQXhqWUNBQVkzQWdDUmF3RUFQRGNDQUZRM0FnQ25Od0lBbTJzQkFLbHJBUURkTndJQTVEY0NB
Qm80QWdBOE9BSUFUVGdDQUhRNEFnQUFBQUFBQUFBQUFBQUFBQUM3YXdFQUFRQUFBTWdXQVFDWUJn
RUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDL2F3RUFBUUFBQUFB
QUFBQzRCZ0VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVGQ0FBQTJ3Z0VB
UVVrQUFCRENBUUJCVWdBQTQ4RUJBRUZZQUFCTHdnRUFRaUFBQUlmRUFRQkNTUUFBbU1RQkFFTkNB
QURRd2dFQVEwOEFBTDdDQVFCRFdBQUEzY0lCQUVnZ0FBQUJ3d0VBU0VJQUFBdkRBUUJJU1FBQWw4
TUJBRWhZQUFBYXd3RUFTR0lBQUV2REFRQklhUUFBZnNNQkFFaHlBQUF3d3dFQVNIZ0FBR0hEQVFC
SklBQUFxY1FCQUV0Q0FBQml3Z0VBUzBrQUFLckNBUUJMVWdBQWxzSUJBRXRZQUFDRHdnRUFUa0lB
QUtuREFRQk9TUUFBOE1NQkFFNVNBQUFJeEFFQVRsZ0FBTlREQVFCUVFRQUFhY1FCQUZCQ0FBQWx4
QUVBVUVrQUFGbkVBUUJRV0FBQVJjUUJBRklnQUFCZ3hnRUFVeUFBQUhqRUFRQmFSQUFBNXNRQkFB
QUFBQUFBQUFBQVpHOTBJSEJwWXlCd2JIVm5hVzQ2SUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QVhYWUJBUC8vLy85QUZ3RUE4QVlCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFZWFlCQVAvLy8vOEFBQUFBRUFjQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQVBBQUFBYVhZQkFBRUFBQUM4RndFQUFBQUFBQkFBQUFCeGRnRUFBUUFBQUx3WEFR
QUFBQUFBRVFBQUFIbDJBUUFCQUFBQXZCY0JBQUFBQUFBUkFBQUFnbllCQUFFQUFBQzhGd0VBQUFB
QUFCRUFBQUNLZGdFQUFRQUFBTHdYQVFBQUFBQUFFd0FBQUpKMkFRQUJBQUFBd0JjQkFBQUFBQUFV
QUFBQW1uWUJBQUVBQUFEQUZ3RUFBQUFBQUJVQUFBQ2lkZ0VBQVFBQUFNQVhBUUFBQUFBQUZRQUFB
S3QyQVFBQkFBQUF3QmNCQUFBQUFBQVZBQUFBczNZQkFBRUFBQURBRndFQUFBQUFBQllBQUFDN2Rn
RUFBUUFBQU1RWEFRQUFBQUFBRndBQUFNUjJBUUFCQUFBQXhCY0JBQUFBQUFBWUFBQUF6WFlCQUFF
QUFBREVGd0VBQUFBQUFCZ0FBQURYZGdFQUFRQUFBTVFYQVFBQUFBQUFHQUFBQU9CMkFRQUJBQUFB
eEJjQkFBQUFBQUFaQUFBQTZYWUJBQUVBQUFESUZ3RUFBQUFBQUJrQUFBRHdkZ0VBQVFBQUFNZ1hB
UUFBQUFBQUdnQUFBUFoyQVFBQkFBQUF6QmNCQUFBQUFBQUtBQUFBLzNZQkFBRUFBQURRRndFQUFB
QUFBQXNBQUFBSGR3RUFBUUFBQU5BWEFRQUFBQUFBREFBQUFBOTNBUUFCQUFBQTBCY0JBQUFBQUFB
TUFBQUFHSGNCQUFFQUFBRFFGd0VBQUFBQUFBd0FBQUFnZHdFQUFRQUFBTkFYQVFBQUFBQUFEZ0FB
QUNoM0FRQUJBQUFBMEJjQkFBQUFBQUFPQUFBQUwzY0JBQUVBQUFEUUZ3RUFBQUFBQUEwQUFBQTNk
d0VBQVFBQUFOQVhBUUFBQUFBQUJRQUFBRDkzQVFBQkFBQUEwQmNCQUFBQUFBQUdBQUFBUjNjQkFB
RUFBQURRRndFQUFBQUFBQWNBQUFCUGR3RUFBUUFBQU5BWEFRQUFBQUFBQndBQUFGaDNBUUFCQUFB
QTBCY0JBQUFBQUFBSEFBQUFZSGNCQUFFQUFBRFFGd0VBQUFBQUFBa0FBQUJvZHdFQUFRQUFBTkFY
QVFBQUFBQUFDUUFBQUc5M0FRQUJBQUFBMEJjQkFBQUFBQUFJQUFBQWQzY0JBQUVBQUFEUUZ3RUFB
QUFBQUFBQUFBQi9kd0VBQVFBQUFOUVhBUUFBQUFBQUFRQUFBSWgzQVFBQkFBQUExQmNCQUFBQUFB
QUNBQUFBa1hjQkFBRUFBQURVRndFQUFBQUFBQUlBQUFDYmR3RUFBUUFBQU5RWEFRQUFBQUFBQWdB
QUFLUjNBUUFCQUFBQTFCY0JBQUFBQUFBRUFBQUFyWGNCQUFFQUFBRFVGd0VBQUFBQUFBUUFBQUMx
ZHdFQUFRQUFBTlFYQVFBQUFBQUFBd0FBQUw1M0FRQUJBQUFBMUJjQkFBQUFBQUFTQUFBQXgzY0JB
QUVBQUFDOEZ3RUFBQUFBQUJzQUFBRFBkd0VBQVFBQUFOZ1hBUUFBQUFBQUhBQUFBTmQzQVFBQkFB
QUEyQmNCQUFBQUFBQWRBQUFBMzNjQkFBRUFBQURZRndFQUFBQUFBQjBBQUFEb2R3RUFBUUFBQU5n
WEFRQUFBQUFBSFFBQUFQQjNBUUFCQUFBQTJCY0JBQUFBQUFBZUFBQUErSGNCQUFFQUFBRGNGd0VB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBMEJNQUFBQUFB
QUFBQUFBQUFBQUFBQ2ltQVFBQUFBQUE2QmNCQVBBWEFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBUUFBQUFFQUFBQUJBQUFBQVFBQUFBSUFBQUFDQUFBQUFRQUFBQUlBQUFB
RUFBQUFBQUFBQUFBQUFBQUFBQUFBaUlNQkFJMkRBUUNSZ3dFQW1JTUJBSnlEQVFBQUFBQUFBQUFB
QUFBQUFBQUJBQUFBQWdBQUFBTUFBQUFFQUFBQUJRQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQ0FG
QUFBQUFBQUFBQUFBQUFBQUFBQW5vZ0JBQUFBQUFBNEdBRUFuUEFDQUFFQUFBQ2tpQUVBQUFBQUFF
QVlBUUNjOEFJQUF3QUFBS2lJQVFBQUFBQUFTQmdCQUp6d0FnQUVBQUFBcm9nQkFBQUFBQUJRR0FF
QW5QQUNBQVVBQUFDMGlBRUFBQUFBQUdnWUFRQ2M4QUlBQmdBQUFMNklBUUFBQUFBQWNCZ0JBSnp3
QWdBSEFBQUF4SWdCQUFBQUFBQllHQUVBblBBQ0FBY0FBQURJaUFFQUFBQUFBRmdZQVFDYzhBSUFC
d0FBQU0ySUFRQUFBQUFBWUJnQkFKendBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFEYjVBZ0FBQUFBQWF6SUNBQUVBQUFEVGt3RUFCd0FBQUplVEFRQURBQUFBcFVF
Q0FBVUFBQURia3dFQUR3QUFBQmF1QVFBSUFBQUFGcTRCQUJBQUFBRGprd0VBQkFBQUFPT1RBUUFS
QUFBQTZKTUJBQVVBQUFEb2t3RUFBZ0FBQU82VEFRQUdBQUFBOVpNQkFBUUFBQUFCbEFFQUJ3QUFB
QW1VQVFBSEFBQUFHWlFCQUFVQUFBQWZsQUVBQ0FBQUFEYVVBUUFJQUFBQUg1UUJBQWtBQUFBL2xB
RUFCd0FBQUVlVUFRQUtBQUFBWVpRQkFBY0FBQUJwbEFFQUN3QUFBSU9VQVFBR0FBQUFpcFFCQUF3
QUFBQ29sQUVBQ1FBQUFJcVVBUUFOQUFBQXNwUUJBQWdBQUFDN2xBRUFEZ0FBQU55VUFRQUlBQUFB
NVpRQkFCSUFBQUFHbFFFQUJRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFB
QUFCQUFBQUFRQUFBQUVBQUFBQkFBQUFBUUFBQUFFQUFBQUJBQUFBQWdBQUFBTUFBQUFCQUFBQUFR
QUFBQUlBQUFBQkFBQUFBUUFBQUFFQUFBQUJBQUFBQVFBQUFBRUFBQUFCQUFBQUFRQUFBQUVBQUFB
QkFBQUFBUUFBQUFFQUFBQUJBQUFBQVFBQUFBRUFBQUFCQUFBQUFRQUFBQUVBQUFBQ0FBQUFBUUFB
QUFRQUFBQUZBQUFBQVFBQUFBRUFBQUFCQUFBQUFRQUFBQUVBQUFBQkFBQUFCZ0FBQUFFQUFBQUJB
QUFBQndBQUFBZ0FBQUFKQUFBQUNnQUFBQW9BQUFBS0FBQUFDZ0FBQUFvQUFBQUtBQUFBQ2dBQUFB
b0FBQUFLQUFBQUNnQUFBQUVBQUFBQkFBQUFDd0FBQUFFQUFBQU1BQUFBQVFBQUFBMEFBQUFPQUFB
QUR3QUFBQkFBQUFBUkFBQUFFZ0FBQUJNQUFBQVVBQUFBRlFBQUFCWUFBQUFUQUFBQUV3QUFBQk1B
QUFBVEFBQUFGd0FBQUJnQUFBQVpBQUFBRXdBQUFCb0FBQUFiQUFBQUhBQUFBQjBBQUFBVEFBQUFF
d0FBQUJNQUFBQVRBQUFBRXdBQUFBRUFBQUFlQUFBQUFRQUFBQUVBQUFBVEFBQUFBUUFBQUI4QUFB
QWdBQUFBSVFBQUFDSUFBQUFqQUFBQUV3QUFBQ1FBQUFBbEFBQUFKZ0FBQUJNQUFBQVRBQUFBRXdB
QUFCTUFBQUFuQUFBQUtBQUFBQ2tBQUFBVEFBQUFLZ0FBQUNzQUFBQXNBQUFBTFFBQUFCTUFBQUFU
QUFBQUV3QUFBQk1BQUFBVEFBQUFBUUFBQUFFQUFBQUJBQUFBQVFBQUFBRUFBQUFUQUFBQUV3QUFB
Qk1BQUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFBQk1BQUFBVEFB
QUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFBQk1BQUFBVEFBQUFFd0FBQUJN
QUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFBQk1BQUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFB
RXdBQUFCTUFBQUFUQUFBQUV3QUFBQk1BQUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFB
QUFUQUFBQUV3QUFBQk1BQUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3
QUFBQk1BQUFBVEFBQUFFd0FBQUM0QUFBQVRBQUFBRXdBQUFCTUFBQUF2QUFBQUV3QUFBQk1BQUFB
VEFBQUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFBQk1BQUFBVEFBQUFFd0FB
QUJNQUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFBQk1BQUFBVEFBQUFFd0FBQUJNQUFBQVRB
QUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFBQk1BQUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFC
TUFBQUFUQUFBQUV3QUFBQk1BQUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFB
QUV3QUFBQk1BQUFBd0FBQUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFBQk1B
QUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFBQUFBQUFBQUFBUUFC
QUFiQUJzQUlBQWdBQ01BSVFBS0FBSUFGZ0FKQUNFQUlRQWhBQlVBSEFBQkFCUUFGQUFVQUJRQUZB
QVVBQlFBQ0FBRUFBVUFHd0FDQUJjQUd3QWdBQjhBSGdBZEFBa0FFd0FBQUJVQUVnQVZBQU1BQndB
VkFCVUFGQUFVQUJRQUZBQVVBQlFBRkFBVUFBZ0FCQUFGQUFVQUJnQWJBQm9BR0FBWkFDQUFCd0FW
QUJRQUZBQVVBQlFBRkFBVUFBc0FGQUFOQUJRQURBQVVBQlFBRkFBT0FCUUFGQUFVQUJBQUZBQVBB
QlFBRVFBQUFBQUFBQUFBQUFBQUFBQ3VBQzRBTHdBekFEVUFNQUEzQUtvQTJ3RGJBTnNBMndBQUFE
MEFod0EzQURjQTJ3RGJBQUFBS0FBMUFDNEFNZ0F2QUdJQUFBQUFBRWNBQUFBQUFOc0FVUUFBQU5z
QTJ3RGJBQUFBMndDRUFGVUEyd0NDQU5zQUFBQ0JBTnNBQUFBK0FFSUFRUUJJQUVRQVVnQmJBQUFB
QUFCZUFGOEEyd0FBQU5zQTJ3RGJBQUFBQUFCN0FFa0FWd0JTQUZvQVdnQmRBQUFBWHdBQUFGOEFB
QUJsQUYwQVh3QUFBRjBBYmdCcUFBQUFhUUFBQUc0QUFBRGJBSk1BbWdDaEFLZ0Fxd0J3QUxFQXVB
Qy9BTVlBelFEVEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBRUFBUUFCQUFFQUFRQUJBQUVBQVFB
QkFBRUFBUUFCQUFFQUFRQUJBQUVBQVFBQkFBRUFBUUFCQUFFQUFRQUJBQUVBQVFBQkFBRUFBUUFC
QUFFQUFRQUJBQUVBQVFBQkFBRUFBUUFCQUFFQUFRQUJBQUVBQVFBQkFBRUFBUUFEQUFRQUJ3QURB
QVFBQlFBRkFBWUFCZ0FJQUFjQUJ3QVJBQllBRWdBUkFCSUFDQUFJQUE4QUR3QVhBQThBR0FBUEFC
a0FHZ0FhQUI0QUZnQTBBQjRBQlFBeUFBWUFJZ0FpQURNQUZ3QVlBRFVBR1FBYUFCb0FLZ0EyQUNv
QU5BQTNBRElBUlFBN0FEd0FNd0E3QUR3QVJnQTFBRWNBU0FCTUFEWUFJZ0JKQUVvQU53QkZBRTRB
VUFCaUFGRUFVZ0JVQUVZQVJ3QlZBRWdBVEFCV0FFa0FTZ0JZQUZvQVRnQkVBRkFBVVFCU0FGUUFP
QUF2QUN3QVZRQXBBRllBR3dBUUFGZ0FXZ0JkQUYwQVhRQmRBRjBBWFFCZEFGNEFYZ0JlQUY0QVhn
QmVBRjRBWHdCZkFGOEFYd0JmQUY4QVh3QmdBQWtBWUFCZ0FHQUFZQUJnQUdFQVlRQmpBQUlBWXdC
akFHTUFZd0JqQUdRQUFBQmtBQUFBWkFCa0FHUUFaUUFBQUdVQVpRQmxBR1VBWlFCbUFHWUFBQUJt
QUdZQVpnQm1BR2NBQUFCbkFHY0Fad0JuQUdnQUFBQm9BR2dBYUFCb0FHZ0FYQUJjQUZ3QVhBQmNB
RndBWEFCY0FGd0FYQUJjQUZ3QVhBQmNBRndBWEFCY0FGd0FYQUJjQUZ3QVhBQmNBRndBWEFCY0FG
d0FYQUJjQUZ3QVhBQmNBRndBWEFCY0FGd0FYQUJjQUZ3QVhBQmNBRndBWEFCY0FGd0FYQUJjQUZ3
QVhBQUFBQUFBQUFBQUFBQUFYQUFCQUYwQVhRQmVBRjRBWHdCZkFGd0FYQUJjQUZ3QVhBQmdBRndB
WEFCY0FHRUFYQUJjQUdJQVlnQmlBR0lBWWdCaUFHSUFZd0JrQUdVQVpnQm1BRndBWEFCbkFGd0FY
QUJjQUdBQVhBQmNBR0VBWEFCaEFGd0FhQUJoQUZ3QVlnQmlBR0lBWWdCaUFHSUFZZ0JpQUdNQVpB
QmxBR1VBWEFCbUFGd0FYQUJjQUdjQWFBQmhBR0lBWWdCaUFHSUFZZ0JpQUdJQVlnQmlBR0lBWWdC
aUFHSUFZZ0JpQUdJQVlnQmlBR0lBWWdCaUFHSUFZZ0FBQUZ3QVhBQmNBRndBWEFCY0FGd0FYQUJj
QUZ3QVhBQmNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQkFBQUFBZ0FBQUFNQUFBQUJB
QUFBQkFBQUFBRUFBQUFGQUFBQUFRQUFBQVlBQUFBSEFBQUFCd0FBQUFFQUFBQUdBQUFBQmdBQUFB
WUFBQUFHQUFBQUJnQUFBQVlBQUFBR0FBQUFCZ0FBQUFZQUFBQUdBQUFBQmdBQUFBWUFBQUFHQUFB
QUJnQUFBQVlBQUFBR0FBQUFBd0FBQUFZQUFBQUdBQUFBQmdBQUFBWUFBQUFHQUFBQUJnQUFBQVlB
QUFBR0FBQUFCZ0FBQUFZQUFBQUdBQUFBQmdBQUFBWUFBQUFHQUFBQUJnQUFBQVlBQUFBR0FBQUFC
Z0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFDZ0FMQUF3QURRQU9BQW9BRHdBUUFCRUFFZ0FUQUFvQUZB
QVZBQlVBRlFBV0FCY0FGUUFZQUJVQUZRQVpBQlVBRlFBVkFCb0FGUUFWQUFvQUZRQVZBQlVBRmdB
WEFCZ0FGUUFWQUJrQUZRQVZBQlVBR2dBVkFCVUFGUUFWQUJzQURBQU1BQ1FBSGdBZUFDQUFJUUFn
QUNFQUpBQWxBQ1lBTFFBeUFDOEFMZ0FxQUNVQUpnQW9BQ2tBTXdBcUFEUUFLd0ExQURZQU53QThB
RElBUndBOUFDSUFSUUFpQUQ4QVFBQkdBRE1BTkFCSUFEVUFOZ0EzQUM4QVNRQXFBRWNBU2dCRkFF
d0FYQUE4QUVZQVhBQTlBRTBBU0FCT0FFOEFVZ0JKQUVFQVVBQlJBRW9BVEFCVEFGUUFNUUJWQUZZ
QVZ3Qk5BRTRBV0FCUEFGSUFXUUJRQUZFQVdnQmJBRk1BUkFCVUFGVUFWZ0JYQUVzQVJBQXNBRmdB
TEFCWkFEZ0FMQUJhQUZzQUhRQWRBQjBBSFFBZEFCMEFIUUFmQUI4QUh3QWZBQjhBSHdBZkFDTUFJ
d0FqQUNNQUl3QWpBQ01BSndCY0FDY0FKd0FuQUNjQUp3QXdBREFBT1FBY0FEa0FPUUE1QURrQU9R
QTZBRndBT2dCY0FEb0FPZ0E2QURzQVhBQTdBRHNBT3dBN0FEc0FQZ0ErQUZ3QVBnQStBRDRBUGdC
Q0FGd0FRZ0JDQUVJQVFnQkRBRndBUXdCREFFTUFRd0JEQUFrQVhBQmNBRndBWEFCY0FGd0FYQUJj
QUZ3QVhBQmNBRndBWEFCY0FGd0FYQUJjQUZ3QVhBQmNBRndBWEFCY0FGd0FYQUJjQUZ3QVhBQmNB
RndBWEFCY0FGd0FYQUJjQUZ3QVhBQmNBRndBWEFCY0FGd0FYQUJjQUZ3QVhBQmNBRndBQUFBQUFB
QUFBQURIMHdFQXFOTUJBSFdmQVFEVTB3RUF6Tk1CQU5yVEFRQUFBQUFBQUFBQUFCTHU3aFFKQSs3
Kzd1N3VBZTd1N2dIdTdncis3aE1aRmU0VEFlN3U3dTRMRWU3dTd1N3U3dTd1N2dIdTdoWUpBUUVk
RHhmdTdob1hHKzd1SE83dTd1NEJHZnZ1N3U0QjdoRHU3aDd1N3U3dUFBSUNBZ0lDQWdJQ0FnSUNB
Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWhjUkFnSUNBZ0lDQWdJQ0Fn
SUNBaElRQWhNQ0FoWUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FoUUNGUUlDQWdJ
Q0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDRGdJUEFnSUNBZ0lDQWdJQ0FnSUNBZ0lD
QWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNB
Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0Fn
SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0VDQXdRRkJnY0lDUW9MREEw
QUFBQUxBd1FGRHdjRERBMEdEQTBPREEwYUZSWUFBUUFEQnc0R0R3Z01EUklUS2hBUkNSQXZNQkV5
RnhNTkZCSXVFaFJCRXpJVExFQXFRaGtzUWtZQUFBQUFJZ3dORGlNUENSQVJDaEFSeVJBUkxVVkcv
QUVHOWc4SDlpUUNFQkV2TURaTlRpZ21PendxTmpFNVBUOHZPa0RZUkRBK0pUZEROVXNyT0VsTUFB
QUFBQUFEQ1FBQUFBRU9BZ3NNQ0NNa0pUWTdQUUFORUJJYkZod1NKeklpRnpNZVBBWUhOUVVQRVJR
WUtRQVRLUUFBQUFBQU54VW9IUjRBSVNZMEh6QStHU3dBR3dBZ0dpb0FLem91THdBeE9Ea3RBQUlD
QVFBREF3RUFBUUFCQVFFQUFnRUJBQUlDQXdFQkFBQUZBQUVEQVFNRkF3RUJBUUVDQUFFQUJBSUFB
Z0VCQXdJQkFBTUNBUUFCQVFBQkFRRURBQUFZR1JrWkdoc2NIQjBkSGg0Zkh5QWdJU0VpSWlNa0pD
WW5KU1VvS0NrcEtTb3FLeXNyTEN3dExTNHZMekF4TVRJek5EWTFOemMzT0RnNE9UazZPZ0R1N3Yv
dTd1N3U3dTRmSU80QTcrN3U3Z3p1N3U0SURlN3U3dmp1N3U3dTd1NzE3Z0FBQUFBQUFBQUFBQUFB
QUFEL0F3Z0VJUVVMRWhNbkZCVVdLVEpCRnhnWkdpd3pORUpIU0J0S0hCMHVIazhmSUFBQUFBQUFB
QUFBQUFBQUFBQXRPVGs1T1RrNU9UazVPVGs1T1RrNUxqazVBQUFBQUFBQUFBQUFBQUFBQUp5Z0FR
Q2pvQUVBOE5NQkFLcWdBUUN4b0FFQUFBQUFBQUFBQUFBQUFBQUFSYUlCQUFnQUFBQURBQUFBVHFJ
QkFGS2lBUUFMQUFBQUJnQUFBQzZ1QVFCZW9nRUFBZ0FBQUFFQUFBQmhvZ0VBWmFJQkFBUUFBQUFD
QUFBQWFxSUJBRzZpQVFBRUFBQUFCQUFBQUhPaUFRQjRvZ0VBQlFBQUFBVUFBQUIrb2dFQWdxSUJB
QVFBQUFBSEFBQUFoNklCQUl1aUFRQUZBQUFBQ1FBQUFKR2lBUUNWb2dFQUJBQUFBQW9BQUFDYW9n
RUFuNklCQUFRQUFBQU1BQUFBcEtJQkFHaW5BUUFBQUFBQUFRQUFBSENuQVFBQkFBQUFBQUFBQVB2
U0FRQUJBQUFBQVFBQUFHc3lBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQlJwZ0VB
TVFBQUFBQUFBQUFBQUFBQUtjNEJBQkFBQUFDVFBnSUFnQUFBQUVxbUFRQkFBQUFBbE1BQkFCQUFB
QUJNcGdFQVFBQUFBQUFBQUFBQUFBQUFHS1lCQUFFQUFBQWZwZ0VBQWdBQUFDU21BUUFEQUFBQVVz
Y0JBQVFBQUFDMnZRRUFCUUFBQUNpbUFRQUdBQUFBYXpJQ0FBZ0FBQUFzcGdFQUlRQUFBRENtQVFB
aUFBQUFOS1lCQUNJQUFBQTRwZ0VBQVFBQUFEMm1BUUFIQUFBQVE2WUJBQ2NBQUFBQUFBQUFBQUFB
QUFFQUFBQUFBQUFBQUFBQUFBQUE4RDhCQUFBQUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQThEOENB
QUFBQUFBQUFBTUFBQUFBQUFBQUFBQUFBQUFBNEQ4REFBQUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFB
QUE4RDhFQUFBQUFBQUFBQVVBQUFBQUFBQUFNek16TXpNejh6OEZBQUFBQUFBQUFBWUFBQUFBQUFB
QW1wbVptWm1aNlQ4R0FBQUFBQUFBQUFjQUFBQUFBQUFBQUFBQUFBQUE4RDhIQUFBQUFBQUFBQWdB
QUFBQUFBQUFBQUFBQUFBQTREOElBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBSzY0QkFDNnVBUUF4cmdFQUFBQUFBQUFBQUFBQkFBQUFBZ0FBQVAvLy8v
L3VyUUVBOUswQkFHc3lBZ0FBQUFBQVpBQUFBR1VBQUFCbUFBQUFaQUFBQUZMSEFRQmdIQUVBd0Fj
QkFBQUFBQUIvdlFFQVlCd0JBUEFIQVFBQUFBQUFXTVlCQUdBY0FRQWdDQUVBQUFBQUFJZTlBUUJn
SEFFQUlBZ0JBQUFBQUFDTXZRRUFZQndCQUZBSUFRQUFBQUFBazcwQkFIZ2NBUUJRQ0FFQUFBQUFB
Sm05QVFCZ0hBRUFnQWdCQUFBQUFBQ2R2UUVBWUJ3QkFMQUlBUUFBQUFBQWF6SUNBR0FjQVFEZ0NB
RUFBQUFBQUthOUFRQmdIQUVBNEFnQkFBQUFBQUN3dlFFQVlCd0JBSkFIQVFBQUFBQUF0cjBCQUdB
Y0FRQVFDUUVBQUFBQUFMNjlBUUJnSEFFQVFBa0JBQUFBQUFESXZRRUFZQndCQUhBSkFRQUFBQUFB
MXIwQkFHQWNBUUNnQ1FFQUFBQUFBTnk5QVFCZ0hBRUEwQWtCQUFBQUFBRGx2UUVBWUJ3QkFBQUtB
UUFBQUFBQTdiMEJBR0FjQVFBd0NnRUFBQUFBQVBhOUFRQmdIQUVBWUFvQkFBQUFBQUQrdlFFQVlC
d0JBSkFLQVFBQUFBQUFBNzRCQUdBY0FRREFDZ0VBQUFBQUFBZStBUUJnSEFFQThBb0JBQUFBQUFB
T3ZnRUFZQndCQUNBTEFRQUFBQUFBRkw0QkFHQWNBUUJRQ3dFQUFBQUFBQjYrQVFDUUhBRUFnQXNC
QUFBQUFBQW52Z0VBWUJ3QkFNQUhBUUFBQUFBQUxMNEJBR0FjQVFEQUJ3RUFBQUFBQURhK0FRQmdI
QUVBc0FzQkFBQUFBQUE5dmdFQVlCd0JBT0FMQVFBQUFBQUFTcjRCQUdBY0FRQVFEQUVBQUFBQUFG
aStBUUJnSEFFQVFBd0JBQUFBQUFCbXZnRUFZQndCQUhBTUFRQUFBQUFBY3I0QkFHQWNBUUNnREFF
QUFBQUFBSCsrQVFCZ0hBRUEwQXdCQUFBQUFBQ0l2Z0VBWUJ3QkFBQU5BUUFBQUFBQWtyNEJBR0Fj
QVFBd0RRRUFBQUFBQUp1K0FRQmdIQUVBWUEwQkFBQUFBQUNqdmdFQVlCd0JBSkFOQVFBQUFBQUFx
NzRCQUdBY0FRREFEUUVBQUFBQUFMUytBUUJnSEFFQThBMEJBQUFBQUFDNHZnRUFZQndCQUNBT0FR
QUFBQUFBdzc0QkFHQWNBUUJRRGdFQUFBQUFBTWUrQVFCZ0hBRUFnQTRCQUFBQUFBRFJ2Z0VBWUJ3
QkFMQU9BUUFBQUFBQTJyNEJBR0FjQVFEZ0RnRUFBQUFBQU9LK0FRQmdIQUVBRUE4QkFBQUFBQUR2
dmdFQVlCd0JBRUFQQVFBQUFBQUErNzRCQUdBY0FRQndEd0VBQUFBQUFBYS9BUUJnSEFFQW9BOEJB
QUFBQUFBV3Z3RUFZQndCQU5BUEFRQUFBQUFBSkw4QkFHQWNBUUFBRUFFQUFBQUFBRE8vQVFCZ0hB
RUFNQkFCQUFBQUFBQTl2d0VBWUJ3QkFHQVFBUUFBQUFBQVJyOEJBR0FjQVFDUUVBRUFBQUFBQUZD
L0FRQmdIQUVBd0JBQkFBQUFBQUJhdndFQVlCd0JBUEFRQVFBQUFBQUFZYjhCQUdBY0FRQWdFUUVB
QUFBQUFHaS9BUUJnSEFFQVVCRUJBQUFBQUFCeXZ3RUFxQndCQUFBQUFBQUFBQUFBZWI4QkFLZ2NB
UUFBQUFBQUFBQUFBRnU5QVFEQUhBRUFBQUFBQUFBQUFBQ0J2d0VBMkJ3QkFJQVJBUUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUpMQUFRQ1V3QUVBelQ0Q0FKYkFBUUFNQUFBQUJBQUFBQVlBQUFB
Q0FBQUFBd0FBQUFFQUFBQUpBQUFBQ0FBQUFBc0FBQUFNQUFBQURRQUFBQTRBQUFBUEFBQUFFQUFB
QUJFQUFBQVNBQUFBRlFBQUFCWUFBQUFYQUFBQUdBQUFBQmtBQUFBYUFBQUFHd0FBQUJ3QUFBQWZB
QUFBSUFBQUFDRUFBQUFpQUFBQUl3QUFBQ1FBQUFBbEFBQUFKZ0FBQUNrQUFBQXFBQUFBS3dBQUFD
d0FBQUF0QUFBQUxnQUFBQzhBQUFBd0FBQUFNd0FBQURRQUFBQTFBQUFBTmdBQUFEY0FBQUE0QUFB
QU9RQUFBRG9BQUFBOUFBQUFQZ0FBQUQ4QUFBQkFBQUFBUVFBQUFFSUFBQUJEQUFBQVJBQUFBRWNB
QUFCSUFBQUFTUUFBQUVvQUFBQkxBQUFBVEFBQUFFMEFBQUJPQUFBQVVRQUFBRklBQUFCVEFBQUFW
QUFBQUZVQUFBQldBQUFBVndBQUFGZ0FBQUFBQUFBQUFBRFFQd0FBQUFBQUFOQS9BQUFBQUFBQTBE
OEFBQUFBQUFEUVB3QUFBQUFBQU5BL0FBQUFBQUFBMEQ4QUFBQUFBQURRUHdBQUFBQUFBTkEvQUFB
QUFBQUEwRDhBQUFBQUFBRFFQd0FBQUFBQUFOQS9BQUFBQUFBQTBEOEFBQUFBQUFEUVB3QUFBQUFB
QU5BL0FBQUFBQUFBMEQ4QUFBQUFBQURRUHdBQUFBQUFBTkEvQUFBQUFBQUEwRDhBQUFBQUFBRFFQ
d0FBQUFBQUFOQS9BQUFBQUFBQTBEOEFBQUFBQUFEUVB3QUFBQUFBQU5BL0FBQUFBQUFBMEQ4QUFB
QUFBQURRUHdBQUFBQUFBTkEvQUFBQUFBQUEwRDhBQUFBQUFBRFFQd0FBQUFBQUFOQS9BQUFBQUFB
QTBEOEFBQUFBQUFEUVB3QUFBQUFBQU5BL0FBQUFBQUFBMEQ5WXFEWE5PMDdWUHlWMUFwb0lHOW8v
QUFBQUFBQUE0RDhBQUFBQUFBRGdQeXpVbXVZZHArby9hdDV4aW83azZEOVlxRFhOTzA3VlAxaW9O
YzA3VHRVL1dLZzF6VHRPMVQ4QUFBQUFBQURnUDEzY1JnTjRDK0kvQUFBQUFBQUEwRDlZcURYTk8w
N1ZQd0FBQUFBQUFOQS8wN3pqRkIzSjBUOEFBQUFBQUFEZ1B3QUFBQUFBQU9BL0FBQUFBQUFBNEQ4
QUFBQUFBQURnUHdBQUFBQUFBT0EvQUFBQUFBQUE0RDhBQUFBQUFBRGdQd0FBQUFBQUFPQS9BQUFB
QUFBQTREOEFBQUFBQUFEZ1A5Tzg0eFFkeWRFLzA3empGQjNKMFQ5ZDNFWURlQXZpUDEzY1JnTjRD
K0kvWGR4R0EzZ0w0ajhOY2F5TDIyamNQMlJkM0VZRGVPMC8wbTlmQjg0WjV6OFFlamFyUGxmbFB4
QjZOcXMrVitVLzBtOWZCODRaNXo5NEN5UW9mb3pqUDdVVis4dnV5ZUUvMG05ZkI4NFo1ei9TYjE4
SHpobm5QMWlvTmMwN1R0VS9pSVZhMDd6ajJEL1NiMThIemhublAzZ0xKQ2grak9NL3hFS3RhZDV4
N0QvU2IxOEh6aG5uUDlKdlh3Zk9HZWMvdFJYN3krN0o0VC9TYjE4SHpobm5QeEI2TnFzK1YrVS90
Ulg3eSs3SjRUOTRDeVFvZm96alA5SnZYd2ZPR2VjLzBtOWZCODRaNXorR09OYkZiVFR1UDlKdlh3
Zk9HZWMvMG05ZkI4NFo1ejk0Q3lRb2ZvempQMWlvTmMwN1R0VS8wN3pqRkIzSjBUOVlxRFhOTzA3
VlA2WUtSaVYxQXQ0L0FBQUFBQUFBNEQ5WXFEWE5PMDdWUHcxeHJJdmJhTncvQUFBQUFBQUE0RDhO
Y2F5TDIyamNQd0FBQUFBQUFPQS9EWEdzaTl0bzNEOVlxRFhOTzA3VlB3QUFBQUFBQU9BL0FBQUFB
QUFBNEQvVHZPTVVIY25SUDlPODR4UWR5ZEUvQUFBQUFBQUE0RC9Udk9NVUhjblJQMnJlY1lxTzVP
Zy9BQUFBQUFBQTREOEFBQUFBQUFEZ1B3QUFBQUFBQU9BL0FBQUFBQUFBNEQ5WXFEWE5PMDdWUDRp
Rld0Tzg0OWcvMDd6akZCM0owVDhBQUFBQUFBRGdQd0FBQUFBQUFPQS8wbTlmQjg0WjV6OEFBQUFB
QUFEZ1B3QUFBQUFBQU9BL0RYR3NpOXRvM0QvMGJGWjlycmJlUHhFMlBMMVNsc2svOUd4V2ZhNjIz
ajg3QVUyRURVL2hQd0FBQUFBQUFOQS9BQUFBQUFBQTBEOEFBQUFBQUFEUVB3QUFBQUFBQU5BL0FB
QUFBQUFBMEQ4QUFBQUFBQURRUHdBQUFBQUFBTkEvQUFBQUFBQUEwRDhBQUFBQUFBRFFQd0FBQUFB
QUFOQS9BQUFBQUFBQTBEOEFBQUFBQUFEUVB3QUFBQUFBQU5BL0FBQUFBQUFBMEQ4QUFBQUFBQURR
UHdBQUFBQUFBTkEvQUFBQUFBQUEwRDhBQUFBQUFBRFFQd0FBQUFBQUFOQS9BQUFBQUFBQTBEOEFB
QUFBQUFEUVB3QUFBQUFBQU5BL0FBQUFBQUFBMEQ4QUFBQUFBQURRUHdBQUFBQUFBTkEvQUFBQUFB
QUEwRDhBQUFBQUFBRFFQd0FBQUFBQUFOQS9BQUFBQUFBQTBEOEFBQUFBQUFEUVB3QUFBQUFBQU5B
L0FBQUFBQUFBMEQ4QUFBQUFBQURRUHdBQUFBQUFBTkEvV0tnMXpUdE8xVDhBQUFBQUFBRGdQd0FB
QUFBQUFPQS9QdWpaclBwY3hUOEFBQUFBQUFEZ1B3QUFBQUFBQU9BL0FBQUFBQUFBNEQ4QUFBQUFB
QURnUDRKelJwVDJCc2MvRFhHc2k5dG8zRDhBQUFBQUFBRGdQMWlvTmMwN1R0VS9XS2cxelR0TzFU
KzFGZnZMN3NuaFA3VVYrOHZ1eWVFL0FBQUFBQUFBMEQ4QUFBQUFBQURnUHdBQUFBQUFBT0EvQUFB
QUFBQUE0RDhBQUFBQUFBRFFQd0FBQUFBQUFOQS9CL0FXU0ZEODNEK2l0RGY0d21UV1AxaW9OYzA3
VHRVL0RYR3NpOXRvM0Q4TmNheUwyMmpjUHdBQUFBQUFBT0EvQUFBQUFBQUE4RDhBQUFBQUFBRHdQ
d0FBQUFBQUFOQS9EWEdzaTl0bzNEOEFBQUFBQUFEUVAxaW9OYzA3VHRVL1dLZzF6VHRPMVQ5WXFE
WE5PMDdWUDFpb05jMDdUdFUvV0tnMXpUdE8xVDlZcURYTk8wN1ZQMWlvTmMwN1R0VS9XS2cxelR0
TzFUOEFBQUFBQUFEUVAxaW9OYzA3VHRVL1dLZzF6VHRPMVQ4QUFBQUFBQURRUDFpb05jMDdUdFUv
V0tnMXpUdE8xVDlZcURYTk8wN1ZQd0FBQUFBQUFQQS9BQUFBQUFBQTBEOEFBQUFBQUFEUVB3QUFB
QUFBQU5BL0FBQUFBQUFBMEQ4QUFBQUFBQURRUHdBQUFBQUFBTkEvQUFBQUFBQUEwRDhBQUFBQUFB
RFFQd0FBQUFBQUFOQS9BQUFBQUFBQTBEOEFBQUFBQUFEUVB3QUFBQUFBQU5BL0FBQUFBQUFBMEQ4
QUFBQUFBQURRUHdBQUFBQUFBTkEvQUFBQUFBQUEwRC9FUXExcDNuSHNQd0FBQUFBQUFOQS9mOWs5
ZVZpbzBUOEFBQUFBQUFEUVB3QUFBQUFBQU5BL0FBQUFBQUFBMEQ4QUFBQUFBQURRUDNnTEpDaCtq
T00vMG05ZkI4NFo1ei9FUXExcDNuSHNQeFB5UWM5bTFkTS9BQUFBQUFBQTBEOEFBQUFBQUFEUVB3
QUFBQUFBQU5BL0FBQUFBQUFBMEQ4QUFBQUFBQURRUHhCNk5xcytWK1UvQUFBQUFBQUEwRDhBQUFB
QUFBRFFQd0FBQUFBQUFOQS8wN3pqRkIzSjBUOEFBQUFBQUFEUVB3QUFBQUFBQU5BLzA3empGQjNK
MFQ4QUFBQUFBQURnUDlKdlh3Zk9HZWMvQUFBQUFBQUE0RDhBQUFBQUFBRFFQd0FBQUFBQUFOQS9B
QUFBQUFBQTBEOEFBQUFBQUFEUVAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUcz
eGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRM
alAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlS
Mmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2Jm
R0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11
TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFI
YUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4
WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0
ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vk
b2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4
aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExq
UDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIy
aHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZH
RXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVN
L1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhh
RzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZ
VExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6
OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRv
YmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3ho
TXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQ
MUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJo
dDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdF
eTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0v
VWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFH
M3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlU
TGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5
UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9i
ZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhN
dU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAx
SGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0
OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5
NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9V
ZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUcz
eGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRM
alAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlS
Mmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2Jm
R0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11
TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFI
YUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4
WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0
ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vk
b2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4
aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExq
UDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIy
aHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZH
RXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVN
L1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhh
RzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZ
VExqUDFIYUczeGhNdU0vMDd6akZCM0owVC9Udk9NVUhjblJQOU84NHhRZHlkRS8wN3pqRkIzSjBU
L1R2T01VSGNuUlA5Tzg0eFFkeWRFLzA3empGQjNKMFQvVHZPTVVIY25SUDlPODR4UWR5ZEUvMDd6
akZCM0owVC9Udk9NVUhjblJQOU84NHhRZHlkRS8wN3pqRkIzSjBUL1R2T01VSGNuUlA5Tzg0eFFk
eWRFLzA3empGQjNKMFQvVHZPTVVIY25SUDlPODR4UWR5ZEUvMDd6akZCM0owVC9Udk9NVUhjblJQ
OU84NHhRZHlkRS8wN3pqRkIzSjBUL1R2T01VSGNuUlA5Tzg0eFFkeWRFLzA3empGQjNKMFQvVHZP
TVVIY25SUDlPODR4UWR5ZEUvMDd6akZCM0owVC9Udk9NVUhjblJQOU84NHhRZHlkRS8wN3pqRkIz
SjBUL1R2T01VSGNuUlA5Tzg0eFFkeWRFLzA3empGQjNKMFQvMGJGWjlycmJXUDdVVis4dnV5ZUUv
dFJYN3krN0o0VC9FUXExcDNuSHNQeEI2TnFzK1YrVS85ZHZYZ1hOR3pEOVlxRFhOTzA3VlAxaW9O
YzA3VHRVL2lJVmEwN3pqMkQ4QlRZUU5UNi9pUDlPODR4UWR5ZEUvV0tnMXpUdE8xVC9Udk9NVUhj
blJQOU84NHhRZHlkRS90Ulg3eSs3SjRUKzFGZnZMN3NuaFA3VVYrOHZ1eWVFL3RSWDd5KzdKNFQr
MUZmdkw3c25oUDdVVis4dnV5ZUUvdFJYN3krN0o0VCsxRmZ2TDdzbmhQN1VWKzh2dXllRS90Ulg3
eSs3SjRUL1R2T01VSGNuUlA5Tzg0eFFkeWRFL0FVMkVEVSt2NGo4QlRZUU5UNi9pUHdGTmhBMVBy
K0kvdFJYN3krN0o0VC9NWFV2SUJ6M3dQeEI2TnFzK1YrVS9FSG8ycXo1WDVUL1NiMThIemhublA5
SnZYd2ZPR2VjL0VIbzJxejVYNVQ5NEN5UW9mb3pqUDJyZWNZcU81T2cvMG05ZkI4NFo1ei9Udk9N
VUhjblJQd0FBQUFBQUFPQS9FSG8ycXo1WDVUKzFGZnZMN3NuaFB5elVtdVlkcCtvLzBtOWZCODRa
NXo5cTNuR0tqdVRvUHhCNk5xcytWK1UvYXQ1eGlvN2s2RC9TYjE4SHpobm5QeEI2TnFzK1YrVS9l
QXNrS0g2TTR6L1NiMThIemhublB4QjZOcXMrVitVL2hqald4VzAwN2o4UWVqYXJQbGZsUHhCNk5x
cytWK1UvZUFza0tINk00ei9Udk9NVUhjblJQOU84NHhRZHlkRS8wN3pqRkIzSjBUK21Da1lsZFFM
ZVA3VVYrOHZ1eWVFL1NMOTlIVGhuekQrMUZmdkw3c25oUDdVVis4dnV5ZUUvQUFBQUFBQUE0RCsx
RmZ2TDdzbmhQN1VWKzh2dXllRS8wN3pqRkIzSjBUKzFGZnZMN3NuaFA3VVYrOHZ1eWVFL1NMOTlI
VGhuekQ5SXYzMGRPR2ZNUHdBQUFBQUFBT0EvU0w5OUhUaG56RDhzMUpybUhhZnFQN1VWKzh2dXll
RS90Ulg3eSs3SjRUKzFGZnZMN3NuaFA3VVYrOHZ1eWVFL1dLZzF6VHRPMVQ4QUFBQUFBQURnUDlP
ODR4UWR5ZEUvdFJYN3krN0o0VDhBQUFBQUFBRGdQOUp2WHdmT0dlYy9BQUFBQUFBQTREOEFBQUFB
QUFEZ1B3QUFBQUFBQU9BL0Fwb0lHNTVlMVQvZ3ZnNmNNNkxRUHdLYUNCdWVYdFUvQVUyRURVK3Y0
ai9Udk9NVUhjblJQOU84NHhRZHlkRS8wN3pqRkIzSjBUL1R2T01VSGNuUlA5Tzg0eFFkeWRFLzA3
empGQjNKMFQvVHZPTVVIY25SUDlPODR4UWR5ZEUvMDd6akZCM0owVC9Udk9NVUhjblJQOU84NHhR
ZHlkRS8wN3pqRkIzSjBUL1R2T01VSGNuUlA5Tzg0eFFkeWRFLzA3empGQjNKMFQvVHZPTVVIY25S
UDlPODR4UWR5ZEUvMDd6akZCM0owVC9Udk9NVUhjblJQOU84NHhRZHlkRS8wN3pqRkIzSjBUL1R2
T01VSGNuUlA5Tzg0eFFkeWRFLzA3empGQjNKMFQvVHZPTVVIY25SUDlPODR4UWR5ZEUvMDd6akZC
M0owVC9Udk9NVUhjblJQOU84NHhRZHlkRS8wN3pqRkIzSjBUL1R2T01VSGNuUlA5Tzg0eFFkeWRF
LzA3empGQjNKMFQvVHZPTVVIY25SUDFpb05jMDdUdFUvdFJYN3krN0o0VCsxRmZ2TDdzbmhQejdv
MmF6NlhNVS90Ulg3eSs3SjRUKzFGZnZMN3NuaFA3VVYrOHZ1eWVFL3RSWDd5KzdKNFQ4ZE9HZEVh
Vy9JUDFpb05jMDdUdFUvdFJYN3krN0o0VDlZcURYTk8wN1ZQMWlvTmMwN1R0VS9BQUFBQUFBQTRE
OEFBQUFBQUFEZ1A5Tzg0eFFkeWRFL3RSWDd5KzdKNFQrMUZmdkw3c25oUDdVVis4dnV5ZUUvMDd6
akZCM0owVC9Udk9NVUhjblJQK2NkcCtoSUx1RS9vclEzK01KazFqOUl2MzBkT0dmTVAxaW9OYzA3
VHRVL1dLZzF6VHRPMVQrMUZmdkw3c25oUHdBQUFBQUFBUEEvQUFBQUFBQUE4RC9Udk9NVUhjblJQ
M2dMSkNoK2pPTS8wN3pqRkIzSjBUOVlxRFhOTzA3VlAxaW9OYzA3VHRVL1dLZzF6VHRPMVQ5WXFE
WE5PMDdWUDFpb05jMDdUdFUvV0tnMXpUdE8xVDlZcURYTk8wN1ZQMWlvTmMwN1R0VS8wN3pqRkIz
SjBUOVlxRFhOTzA3VlAxaW9OYzA3VHRVLzA3empGQjNKMFQ5WXFEWE5PMDdWUDFpb05jMDdUdFUv
V0tnMXpUdE8xVDhBQUFBQUFBRHdQOU84NHhRZHlkRS8wN3pqRkIzSjBUL1R2T01VSGNuUlA5Tzg0
eFFkeWRFLzA3empGQjNKMFQvVHZPTVVIY25SUDlPODR4UWR5ZEUvMDd6akZCM0owVC9Udk9NVUhj
blJQOU84NHhRZHlkRS8wN3pqRkIzSjBUL1R2T01VSGNuUlA5Tzg0eFFkeWRFLzA3empGQjNKMFQv
VHZPTVVIY25SUDlPODR4UWR5ZEUvQUFBQUFBQUE4RC9Udk9NVUhjblJQK3FWc2d4eHJOYy8wN3pq
RkIzSjBUL1R2T01VSGNuUlA5Tzg0eFFkeWRFLzA3empGQjNKMFQrMUZmdkw3c25oUDJyZWNZcU81
T2cvQUFBQUFBQUE4RCtZM1pPSGhWclhQOU84NHhRZHlkRS8wN3pqRkIzSjBUL1R2T01VSGNuUlA5
Tzg0eFFkeWRFLzA3empGQjNKMFQvRVFxMXAzbkhzUDlPODR4UWR5ZEUvMDd6akZCM0owVC9Udk9N
VUhjblJQOU84NHhRZHlkRS8wN3pqRkIzSjBUL1R2T01VSGNuUlAwaS9mUjA0Wjh3L2VBc2tLSDZN
NHorR09OYkZiVFR1UDNnTEpDaCtqT00vMDd6akZCM0owVC9Udk9NVUhjblJQOU84NHhRZHlkRS8w
N3pqRkIzSjBUL2p3UUVBODhFQkFBRENBUUFBQUFBQUFBQUFBQVFBQUFBRndnRUFBQUFBQUFBQUFB
QVF3Z0VBODhFQkFBRENBUUFBQUFBQUo4SUJBQVVBQUFBRndnRUFBQUFBQUMvQ0FRQTJ3Z0VBODhF
QkFFYkNBUUFBQUFBQUFBQUFBQVlBQUFBRndnRUFjZElCQUFBQUFBQkx3Z0VBODhFQkFFYkNBUUFB
QUFBQUo4SUJBQWNBQUFBRndnRUFjZElCQUMvQ0FRQml3Z0VBYjhJQkFFYkNBUUFBQUFBQUFBQUFB
QW9BQUFCOXdnRUFjZElCQUFBQUFBQ0R3Z0VBYjhJQkFFYkNBUUFBQUFBQUw4SUJBQXNBQUFCOXdn
RUFjZElCQUMvQ0FRQ1d3Z0VBYjhJQkFLVENBUUFBQUFBQUFBQUFBQWdBQUFCOXdnRUFBQUFBQUFB
QUFBQ3F3Z0VBYjhJQkFLVENBUUFBQUFBQUw4SUJBQWtBQUFCOXdnRUFBQUFBQUMvQ0FRQyt3Z0VB
dnNJQkFBQUFBQUFBQUFBQUFBQUFBQXdBQUFER3dnRUFBQUFBQUFBQUFBRFF3Z0VBdnNJQkFISFNB
UUFBQUFBQUFBQUFBQTRBQUFER3dnRUFjZElCQUFBQUFBRGR3Z0VBdnNJQkFISFNBUUFBQUFBQUo4
SUJBQThBQUFER3dnRUFjZElCQUMvQ0FRRHh3Z0VBdnNJQkFBQUFBQUFBQUFBQUo4SUJBQTBBQUFE
R3dnRUFBQUFBQUMvQ0FRQUJ3d0VBQWNNQkFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBRndnRUFBQUFB
QUFBQUFBQUx3d0VBQWNNQkFISFNBUUFBQUFBQUFBQUFBQklBQUFBRndnRUFjZElCQUFBQUFBQWF3
d0VBQWNNQkFISFNBUUFBQUFBQUo4SUJBQk1BQUFBRndnRUFjZElCQUMvQ0FRQXd3d0VBQWNNQkFB
QUFBQUJCd3dFQUFBQUFBQlFBQUFBRndnRUFBQUFBQUFBQUFBQkx3d0VBQWNNQkFISFNBUUJCd3dF
QUFBQUFBQllBQUFBRndnRUFjZElCQUFBQUFBQmh3d0VBQWNNQkFISFNBUUJCd3dFQUo4SUJBQmNB
QUFBRndnRUFjZElCQUMvQ0FRQit3d0VBQWNNQkFBQUFBQUJCd3dFQUo4SUJBQlVBQUFBRndnRUFB
QUFBQUMvQ0FRQ1h3d0VBQWNNQkFBQUFBQUFBQUFBQUo4SUJBQkVBQUFBRndnRUFBQUFBQUMvQ0FR
Q3B3d0VBdjhNQkFISFNBUUFBQUFBQUFBQUFBQm9BQUFCOXdnRUFjZElCQUFBQUFBRFV3d0VBdjhN
QkFISFNBUUFBQUFBQUw4SUJBQnNBQUFCOXdnRUFjZElCQUMvQ0FRRHd3d0VBdjhNQkFBQUFBQUFB
QUFBQUw4SUJBQmtBQUFCOXdnRUFBQUFBQUMvQ0FRQUl4QUVBdjhNQkFCL0VBUUFBQUFBQUFBQUFB
QmdBQUFCOXdnRUFBQUFBQUFBQUFBQWx4QUVBTThRQkFISFNBUUFBQUFBQUFBQUFBQjRBQUFCOXdn
RUFjZElCQUFBQUFBQkZ4QUVBTThRQkFISFNBUUFBQUFBQUw4SUJBQjhBQUFCOXdnRUFjZElCQUMv
Q0FRQlp4QUVBTThRQkFBQUFBQUFBQUFBQUw4SUJBQjBBQUFCOXdnRUFBQUFBQUMvQ0FRQnB4QUVB
TThRQkFCL0VBUUFBQUFBQUFBQUFBQndBQUFCOXdnRUFBQUFBQUFBQUFBQjR4QUVBZU1RQkFBQUFB
QUFBQUFBQUFBQUFBQ0FBQUFCL3hBRUFBQUFBQUFBQUFBQ0h4QUVBa3NRQkFISFNBUUFBQUFBQUFB
QUFBQUlBQUFCOXdnRUFjZElCQUFBQUFBQ1l4QUVBa3NRQkFISFNBUUFBQUFBQUw4SUJBQU1BQUFC
OXdnRUFjZElCQUMvQ0FRQ3B4QUVBa3NRQkFBQUFBQUFBQUFBQUw4SUJBQUVBQUFCOXdnRUFBQUFB
QUMvQ0FRQmd4Z0VBa3NRQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCOXdnRUFBQUFBQUFBQUFBQzJ4
QUVBME1RQkFOL0VBUUFBQUFBQUw4SUJBQ0VBQUFCOXdnRUFBQUFBQUMvQ0FRRG14QUVBODhRQkFB
QUFBQUFBQUFBQUFBQUFBQ0lBQUFCL3hBRUFBQUFBQUFBQUFBQUFBQUFBajhjQkFNWUFBQUNWeHdF
QXdRQUFBSnpIQVFEQ0FBQUFvc2NCQU1BQUFBQ3B4d0VBa1FNQUFLL0hBUURGQUFBQXRjY0JBTU1B
QUFDOHh3RUF4QUFBQU1ISEFRQ1NBd0FBeHNjQkFNY0FBQUROeHdFQXB3TUFBTkhIQVFBaElBQUEy
TWNCQUpRREFBRGV4d0VBMEFBQUFPTEhBUURKQUFBQTZjY0JBTW9BQUFEdnh3RUF5QUFBQVBiSEFR
Q1ZBd0FBL3NjQkFKY0RBQUFDeUFFQXl3QUFBQWZJQVFDVEF3QUFEY2dCQU0wQUFBQVV5QUVBemdB
QUFCcklBUURNQUFBQUljZ0JBSmtEQUFBbXlBRUF6d0FBQUN2SUFRQ2FBd0FBTWNnQkFKc0RBQUE0
eUFFQW5BTUFBRHZJQVFEUkFBQUFRc2dCQUowREFBQkZ5QUVBVWdFQUFFdklBUURUQUFBQVVzZ0JB
TlFBQUFCWXlBRUEwZ0FBQUYvSUFRQ3BBd0FBWmNnQkFKOERBQUJ0eUFFQTJBQUFBSFRJQVFEVkFB
QUFlOGdCQU5ZQUFBQ0F5QUVBcGdNQUFJVElBUUNnQXdBQWg4Z0JBRE1nQUFDTnlBRUFxQU1BQUpI
SUFRQ2hBd0FBbGNnQkFHQUJBQUNjeUFFQW93TUFBS0xJQVFEZUFBQUFxTWdCQUtRREFBQ3N5QUVB
bUFNQUFMTElBUURhQUFBQXVjZ0JBTnNBQUFDL3lBRUEyUUFBQU1iSUFRQ2xBd0FBenNnQkFOd0FB
QURUeUFFQW5nTUFBTmJJQVFEZEFBQUEzY2dCQUhnQkFBRGl5QUVBbGdNQUFPZklBUURoQUFBQTdz
Z0JBT0lBQUFEMHlBRUF0QUFBQVBySUFRRG1BQUFBQU1rQkFPQUFBQUFIeVFFQU5TRUFBQS9KQVFD
eEF3QUFGY2tCQUNZQUFBQVp5UUVBSnlJQUFCM0pBUUFnSWdBQUlja0JBT1VBQUFBbnlRRUFTQ0lB
QUMzSkFRRGpBQUFBTk1rQkFPUUFBQUE1eVFFQUhpQUFBRC9KQVFDeUF3QUFSTWtCQUtZQUFBQkx5
UUVBSWlBQUFGREpBUUFwSWdBQVZNa0JBT2NBQUFCYnlRRUF1QUFBQUdISkFRQ2lBQUFBWnNrQkFN
Y0RBQUJxeVFFQXhnSUFBRy9KQVFCakpnQUFkY2tCQUVVaUFBQjZ5UUVBcVFBQUFIL0pBUUMxSVFB
QWhja0JBQ29pQUFDSnlRRUFwQUFBQUpESkFRRFRJUUFBbGNrQkFDQWdBQUNjeVFFQWt5RUFBS0hK
QVFDd0FBQUFwY2tCQUxRREFBQ3J5UUVBWmlZQUFMSEpBUUQzQUFBQXVNa0JBT2tBQUFDL3lRRUE2
Z0FBQU1YSkFRRG9BQUFBek1rQkFBVWlBQURTeVFFQUF5QUFBTmZKQVFBQ0lBQUEzTWtCQUxVREFB
RGt5UUVBWVNJQUFPckpBUUMzQXdBQTdza0JBUEFBQUFEeXlRRUE2d0FBQVBmSkFRQ3NJQUFBL01r
QkFBTWlBQUFDeWdFQWtnRUFBQWZLQVFBQUlnQUFEc29CQUwwQUFBQVZ5Z0VBdkFBQUFCektBUUMr
QUFBQUk4b0JBRVFnQUFBcHlnRUFzd01BQUMvS0FRQmxJZ0FBTXNvQkFENEFBQUExeWdFQTFDRUFB
RHJLQVFDVUlRQUFQOG9CQUdVbUFBQkd5Z0VBSmlBQUFFM0tBUUR0QUFBQVZNb0JBTzRBQUFCYXln
RUFvUUFBQUdES0FRRHNBQUFBWjhvQkFCRWhBQUJ0eWdFQUhpSUFBSFBLQVFBcklnQUFkOG9CQUxr
REFBQjh5Z0VBdndBQUFJUEtBUUFJSWdBQWlNb0JBTzhBQUFDTnlnRUF1Z01BQUpQS0FRRFFJUUFB
bU1vQkFMc0RBQUNmeWdFQUtTTUFBS1RLQVFDckFBQUFxc29CQUpBaEFBQ3Z5Z0VBQ0NNQUFMWEtB
UUFjSUFBQXU4b0JBR1FpQUFDK3lnRUFDaU1BQU1YS0FRQVhJZ0FBek1vQkFNb2xBQURReWdFQURp
QUFBTlRLQVFBNUlBQUEyOG9CQUJnZ0FBRGh5Z0VBUEFBQUFPVEtBUUN2QUFBQTZjb0JBQlFnQUFE
dnlnRUF0UUFBQVBYS0FRQzNBQUFBbE5NQkFCSWlBQUQ4eWdFQXZBTUFBUC9LQVFBSElnQUFCY3NC
QUtBQUFBQUt5d0VBRXlBQUFCRExBUUJnSWdBQUU4c0JBQXNpQUFBV3l3RUFyQUFBQUJyTEFRQUpJ
Z0FBSU1zQkFJUWlBQUFseXdFQThRQUFBQ3pMQVFDOUF3QUFMOHNCQVBNQUFBQTJ5d0VBOUFBQUFE
ekxBUUJUQVFBQVFzc0JBUElBQUFCSnl3RUFQaUFBQUUvTEFRREpBd0FBVmNzQkFMOERBQUJkeXdF
QWxTSUFBR1BMQVFBb0lnQUFac3NCQUtvQUFBQnJ5d0VBdWdBQUFIRExBUUQ0QUFBQWQ4c0JBUFVB
QUFCK3l3RUFseUlBQUlYTEFRRDJBQUFBaXNzQkFMWUFBQUNQeXdFQUFpSUFBSlRMQVFBd0lBQUFt
OHNCQUtVaUFBQ2d5d0VBeGdNQUFLVExBUURBQXdBQXA4c0JBTllEQUFDcnl3RUFzUUFBQUxMTEFR
Q2pBQUFBdU1zQkFESWdBQUMreXdFQUR5SUFBTVBMQVFBZElnQUF5TXNCQU1nREFBRE15d0VBSWdB
QUFOSExBUURTSVFBQTFzc0JBQm9pQUFEY3l3RUFLaU1BQU9ITEFRQzdBQUFBNThzQkFKSWhBQURz
eXdFQUNTTUFBUExMQVFBZElBQUErTXNCQUJ3aEFBRDl5d0VBcmdBQUFBSE1BUUFMSXdBQUNNd0JB
TUVEQUFBTXpBRUFEeUFBQUJETUFRQTZJQUFBRjh3QkFCa2dBQUFkekFFQUdpQUFBQ1BNQVFCaEFR
QUFLc3dCQU1VaUFBQXZ6QUVBcHdBQUFEVE1BUUN0QUFBQU9Nd0JBTU1EQUFBK3pBRUF3Z01BQUVY
TUFRQThJZ0FBU2N3QkFHQW1BQUJRekFFQWdpSUFBRlRNQVFDR0lnQUFXY3dCQUJFaUFBQmR6QUVB
Z3lJQUFHSE1BUUM1QUFBQVpzd0JBTElBQUFCcnpBRUFzd0FBQUhETUFRQ0hJZ0FBZGN3QkFOOEFB
QUI3ekFFQXhBTUFBSC9NQVFBMElnQUFoc3dCQUxnREFBQ016QUVBMFFNQUFKWE1BUUFKSUFBQW5N
d0JBUDRBQUFDaXpBRUEzQUlBQUtqTUFRRFhBQUFBcnN3QkFDSWhBQUMwekFFQTBTRUFBTG5NQVFE
NkFBQUF3TXdCQUpFaEFBREZ6QUVBK3dBQUFNdk1BUUQ1QUFBQTBzd0JBS2dBQUFEV3pBRUEwZ01B
QU56TUFRREZBd0FBNU13QkFQd0FBQURwekFFQUdDRUFBUERNQVFDK0F3QUE4OHdCQVAwQUFBRDZ6
QUVBcFFBQUFQN01BUUQvQUFBQUE4MEJBTFlEQUFBSXpRRUFEU0FBQUF6TkFRQU1JQUFBVk5NQkFB
a0FBQUJXMHdFQUNnQUFBRnZUQVFBS0FBQUFZOU1CQUFzQUFBQnAwd0VBQ3dBQUFITFRBUUFNQUFB
QWRkTUJBQXdBQUFCNzB3RUFEUUFBQUlEVEFRQU5BQUFBaU5NQkFBNEFBQUNOMHdFQURnQUFBSlRU
QVFBUEFBQUFtdE1CQUE4QUFBQ20wd0VBRUFBQUFQSFVBUUJWWGNsL3lYLy9BUHpVQVFDN0xkUyty
dFQvQUFmVkFRQVVkLzM5d0liL0FCTFZBUUJWWGNsL3lYLy9BQjNWQVFDN0xkUytydFQvQUNqVkFR
QVVkLzM5d0liL0FEUFZBUUFxWnYvLy81bi9BRDdWQVFCVlhjbC95WC8vQUVuVkFRQzdMZFMrcnRU
L0FGVFZBUUFVZC8zOXdJYi9BRi9WQVFBcVp2Ly8vNW4vQUdyVkFRQ1hyYkE0YkxEL0FIWFZBUUJW
WGNsL3lYLy9BSURWQVFDN0xkUytydFQvQUl2VkFRQVVkLzM5d0liL0FKYlZBUUFxWnYvLy81bi9B
S0hWQVFDWHJiQTRiTEQvQUt6VkFRRG8vUER3QW4vL0FMZlZBUUJWWGNsL3lYLy9BTUxWQVFDN0xk
UytydFQvQU0zVkFRQVVkLzM5d0liL0FOalZBUUFxWnYvLy81bi9BT1BWQVFDWHJiQTRiTEQvQU83
VkFRRG8vUER3QW4vL0FQblZBUUFSNEwrL1d4Zi9BQVRXQVFCVlhjbC95WC8vQUEvV0FRQzdMZFMr
cnRUL0FCcldBUUFVZC8zOXdJYi9BQ1hXQVFBcVp2Ly8vNW4vQUREV0FRQ1hyYkE0YkxEL0FEdldB
UURvL1BEd0FuLy9BRWJXQVFBUjRMKy9XeGYvQUZIV0FRQUFBR1ptWm1iL0FGeldBUUNUR2ZmZTYv
Zi9BR2JXQVFDT1MrR2V5dUgvQUhEV0FRQ1J2TDB4Z3IzL0FIcldBUUNmRVAvdjgvLy9BSVRXQVFD
UEx1ZTkxK2YvQUk3V0FRQ1BmOVpycnRiL0FKaldBUUNUMExVaGNiWC9BS0xXQVFDZkVQL3Y4Ly8v
QUt6V0FRQ1BMdWU5MStmL0FMYldBUUNQZjlacnJ0Yi9BTURXQVFDUnZMMHhncjMvQU1yV0FRQ1Y4
WndJVVp6L0FOVFdBUUNmRVAvdjgvLy9BTjdXQVFDVUsrL0cyKy8vQU9qV0FRQ09TK0dleXVIL0FQ
TFdBUUNQZjlacnJ0Yi9BUHpXQVFDUnZMMHhncjMvQUFiWEFRQ1Y4WndJVVp6L0FCRFhBUUNmRVAv
djgvLy9BQnJYQVFDVUsrL0cyKy8vQUNUWEFRQ09TK0dleXVIL0FDN1hBUUNQZjlacnJ0Yi9BRGpY
QVFDUXFjWkNrc2IvQUVMWEFRQ1QwTFVoY2JYL0FFelhBUUNYOFpRSVJaVC9BRmJYQVFDVUNQLzMr
Ly8vQUdEWEFRQ1RHZmZlNi9mL0FHclhBUUNVSysvRzIrLy9BSFRYQVFDT1MrR2V5dUgvQUg3WEFR
Q1BmOVpycnRiL0FJalhBUUNRcWNaQ2tzYi9BSkxYQVFDVDBMVWhjYlgvQUp6WEFRQ1g4WlFJUlpU
L0FLYlhBUUNVQ1AvMysvLy9BTERYQVFDVEdmZmU2L2YvQUxyWEFRQ1VLKy9HMisvL0FNVFhBUUNP
UytHZXl1SC9BTTdYQVFDUGY5WnJydGIvQU5qWEFRQ1FxY1pDa3NiL0FPTFhBUUNUMExVaGNiWC9B
T3pYQVFDVjhad0lVWnovQVBiWEFRQ1k2MnNJTUd2L0FBRFlBUUFYNzFSVU1BWC9BQXJZQVFCMy96
d0FQREQvQUJYWUFRQVg3SXlNVVFyL0FCL1lBUUFZd3IrL2dTMy9BQ25ZQVFBZGNOL2Z3bjMvQURQ
WUFRQWVOUGIyNk1QL0FEM1lBUUI1SnVySDZ1WC9BRWZZQVFCNFg4MkF6Y0gvQUZIWUFRQjhwWmMx
bDQvL0FGdllBUUI4L0dZQlpsNy9BR1hZQVFBWDcxUlVNQVgvQUcvWUFRQjgvR1lCWmw3L0FIcllB
UUIzL3p3QVBERC9BSVhZQVFBWDdJeU1VUXIvQUkvWUFRQVl3cisvZ1MzL0FKbllBUUFkY04vZndu
My9BS1BZQVFBZU5QYjI2TVAvQUszWUFRQUFBUFgxOWZYL0FMZllBUUI1SnVySDZ1WC9BTUhZQVFC
NFg4MkF6Y0gvQU12WUFRQjhwWmMxbDQvL0FOWFlBUUFjaDlqWXMyWC9BTjdZQVFBQUFQWDE5Zlgv
QU9mWUFRQjdmN1JhdEt6L0FQRFlBUUFWMTZhbVlSci9BUG5ZQVFBZGNOL2Z3bjMvQUFMWkFRQjRY
ODJBemNIL0FBdlpBUUI1L1lVQmhYSC9BQlRaQVFBVjE2YW1ZUnIvQUIzWkFRQWRjTi9md24zL0FD
YlpBUUFBQVBYMTlmWC9BQy9aQVFCNFg4MkF6Y0gvQURqWkFRQjUvWVVCaFhIL0FFSFpBUUFYN0l5
TVVRci9BRXJaQVFBY2g5allzMlgvQUZQWkFRQWVOUGIyNk1QL0FGelpBUUI1SnVySDZ1WC9BR1ha
QVFCN2Y3UmF0S3ovQUc3WkFRQjgvR1lCWmw3L0FIZlpBUUFYN0l5TVVRci9BSURaQVFBY2g5allz
MlgvQUluWkFRQWVOUGIyNk1QL0FKTFpBUUFBQVBYMTlmWC9BSnZaQVFCNUp1ckg2dVgvQUtUWkFR
QjdmN1JhdEt6L0FLM1pBUUI4L0dZQlpsNy9BTGJaQVFBWDdJeU1VUXIvQUwvWkFRQVl3cisvZ1Mz
L0FNalpBUUFkY04vZnduMy9BTkhaQVFBZU5QYjI2TVAvQU5yWkFRQjVKdXJINnVYL0FPUFpBUUI0
WDgyQXpjSC9BT3paQVFCOHBaYzFsNC8vQVBYWkFRQjgvR1lCWmw3L0FQN1pBUUFYN0l5TVVRci9B
QWZhQVFBWXdyKy9nUzMvQUJEYUFRQWRjTi9md24zL0FCbmFBUUFlTlBiMjZNUC9BQ0xhQVFBQUFQ
WDE5ZlgvQUN2YUFRQjVKdXJINnVYL0FEVGFBUUI0WDgyQXpjSC9BRDNhQVFCOHBaYzFsNC8vQUVi
YUFRQjgvR1lCWmw3L0FFL2FBUUNIRlBubDlmbi9BRmphQVFCMVN0aVoyTW4vQUdIYUFRQm51YUlz
b2wvL0FHcmFBUUNJRHZ2dCtQdi9BSFBhQVFCL051S3k0dUwvQUh6YUFRQnhlTUptd3FUL0FJWGFB
UUJpdm9zamkwWC9BSTdhQVFDSUR2dnQrUHYvQUpmYUFRQi9OdUt5NHVML0FLRGFBUUJ4ZU1KbXdx
VC9BS25hQVFCbnVhSXNvbC8vQUxMYUFRQm0vMjBBYlN6L0FMdmFBUUNJRHZ2dCtQdi9BTVRhQVFC
M0l1ek03T2IvQU0zYUFRQjFTdGlaMk1uL0FOYmFBUUJ4ZU1KbXdxVC9BTi9hQVFCbnVhSXNvbC8v
QU9qYUFRQm0vMjBBYlN6L0FQSGFBUUNJRHZ2dCtQdi9BUHJhQVFCM0l1ek03T2IvQUFQYkFRQjFT
dGlaMk1uL0FBemJBUUJ4ZU1KbXdxVC9BQlhiQVFCcG42NUJybmIvQUI3YkFRQml2b3NqaTBYL0FD
ZmJBUUJtLzFnQVdDVC9BRERiQVFDR0J2MzMvUDMvQURuYkFRQ0hGUG5sOWZuL0FFTGJBUUIzSXV6
TTdPYi9BRXZiQVFCMVN0aVoyTW4vQUZUYkFRQnhlTUptd3FUL0FGM2JBUUJwbjY1QnJuYi9BR2Ji
QVFCaXZvc2ppMFgvQUcvYkFRQm0vMWdBV0NUL0FIamJBUUNHQnYzMy9QMy9BSUhiQVFDSEZQbmw5
Zm4vQUlyYkFRQjNJdXpNN09iL0FKUGJBUUIxU3RpWjJNbi9BSnpiQVFCeGVNSm13cVQvQUtYYkFR
QnBuNjVCcm5iL0FLN2JBUUJpdm9zamkwWC9BTGZiQVFCbS8yMEFiU3ovQU1EYkFRQmwvMFFBUkJ2
L0FNbmJBUUNRRlBUZzdQVC9BTkxiQVFDVVJ0cWV2TnIvQU52YkFRREVlNmVJVnFmL0FPVGJBUUNJ
RHZ2dCtQdi9BTzNiQVFDU05lT3p6ZVAvQVBiYkFRQ2lTc2FNbHNiL0FQL2JBUURLbFoySVFaMy9B
QWpjQVFDSUR2dnQrUHYvQUJIY0FRQ1NOZU96emVQL0FCcmNBUUNpU3NhTWxzYi9BQ1BjQVFERWU2
ZUlWcWYvQUN6Y0FRRFc0WUdCRDN6L0FEWGNBUUNJRHZ2dCtQdi9BRDdjQVFDVUsrYS8wK2IvQUVm
Y0FRQ1VSdHFldk5yL0FGRGNBUUNpU3NhTWxzYi9BRm5jQVFERWU2ZUlWcWYvQUdMY0FRRFc0WUdC
RDN6L0FHdmNBUUNJRHZ2dCtQdi9BSFRjQVFDVUsrYS8wK2IvQUgzY0FRQ1VSdHFldk5yL0FJYmNB
UUNpU3NhTWxzYi9BSS9jQVFDK1pMR01hN0gvQUpqY0FRREtsWjJJUVozL0FLSGNBUURWL0c1dUFX
di9BS3JjQVFDR0J2MzMvUDMvQUxQY0FRQ1FGUFRnN1BUL0FMemNBUUNVSythLzArYi9BTVhjQVFD
VVJ0cWV2TnIvQU03Y0FRQ2lTc2FNbHNiL0FOZmNBUUMrWkxHTWE3SC9BT0RjQVFES2xaMklRWjMv
QU9uY0FRRFYvRzV1QVd2L0FQTGNBUUNHQnYzMy9QMy9BUHZjQVFDUUZQVGc3UFQvQUFUZEFRQ1VL
K2EvMCtiL0FBM2RBUUNVUnRxZXZOci9BQmJkQVFDaVNzYU1sc2IvQUIvZEFRQytaTEdNYTdIL0FD
amRBUURLbFoySVFaMy9BREhkQVFEVzRZR0JEM3ovQURyZEFRRFYvMDFOQUV2L0FFUGRBUUJ5MDU0
Ym5uZi9BRTNkQVFBUy9OblpYd0wvQUZmZEFRQ3RYN04xY0xQL0FHSGRBUUJ5MDU0Ym5uZi9BR3Zk
QVFBUy9OblpYd0wvQUhYZEFRQ3RYN04xY0xQL0FIL2RBUURwMGVmbktZci9BSW5kQVFCeTA1NGJu
bmYvQUpQZEFRQVMvTm5aWHdML0FKM2RBUUN0WDdOMWNMUC9BS2ZkQVFEcDBlZm5LWXIvQUxIZEFR
QSswS1ptcGg3L0FMdmRBUUJ5MDU0Ym5uZi9BTVhkQVFBUy9OblpYd0wvQU0vZEFRQ3RYN04xY0xQ
L0FObmRBUURwMGVmbktZci9BT1BkQVFBKzBLWm1waDcvQU8zZEFRQWYvT2JtcXdML0FQZmRBUUJ5
MDU0Ym5uZi9BQUhlQVFBUy9OblpYd0wvQUF2ZUFRQ3RYN04xY0xQL0FCWGVBUURwMGVmbktZci9B
Qi9lQVFBKzBLWm1waDcvQUNuZUFRQWYvT2JtcXdML0FEUGVBUUFiMHFhbWRoMy9BRDNlQVFCeTA1
NGJubmYvQUVmZUFRQVMvTm5aWHdML0FGSGVBUUN0WDdOMWNMUC9BRnZlQVFEcDBlZm5LWXIvQUdY
ZUFRQSswS1ptcGg3L0FHL2VBUUFmL09ibXF3TC9BSG5lQVFBYjBxYW1kaDMvQUlQZUFRQUFBR1pt
Wm1iL0FJM2VBUUJNR2ZQZzg5di9BSmJlQVFCZlBkMm8zYlgvQUovZUFRQ01xc3BEb3NyL0FLamVB
UUJCRWZudytlai9BTEhlQVFCWEx1UzY1THovQUxyZUFRQjdaY3g3ek1UL0FNUGVBUUNOeGI0cmpM
Ny9BTXplQVFCQkVmbncrZWovQU5YZUFRQlhMdVM2NUx6L0FON2VBUUI3WmN4N3pNVC9BT2ZlQVFD
TXFzcERvc3IvQVBEZUFRQ1I4NndJYUt6L0FQbmVBUUJCRWZudytlai9BQUxmQVFCTktldk02OFgv
QUF2ZkFRQmZQZDJvM2JYL0FCVGZBUUI3WmN4N3pNVC9BQjNmQVFDTXFzcERvc3IvQUNiZkFRQ1I4
NndJYUt6L0FDL2ZBUUJCRWZudytlai9BRGpmQVFCTktldk02OFgvQUVIZkFRQmZQZDJvM2JYL0FF
cmZBUUI3WmN4N3pNVC9BRlBmQVFDSm9OTk9zOVAvQUZ6ZkFRQ054YjRyakw3L0FHWGZBUUNUOHA0
SVdKNy9BRzdmQVFBOERQejMvUEQvQUhmZkFRQk1HZlBnODl2L0FJRGZBUUJOS2V2TTY4WC9BSW5m
QVFCZlBkMm8zYlgvQUpMZkFRQjdaY3g3ek1UL0FKdmZBUUNKb05OT3M5UC9BS1RmQVFDTnhiNHJq
TDcvQUszZkFRQ1Q4cDRJV0o3L0FMYmZBUUE4RFB6My9QRC9BTC9mQVFCTUdmUGc4OXYvQU1qZkFR
Qk5LZXZNNjhYL0FOSGZBUUJmUGQybzNiWC9BTnJmQVFCN1pjeDd6TVQvQU9QZkFRQ0pvTk5PczlQ
L0FPemZBUUNOeGI0cmpMNy9BUFhmQVFDUjg2d0lhS3ovQVA3ZkFRQ1c3NEVJUUlIL0FBZmdBUUJL
RmZYbDllRC9BQkxnQVFCUVNObWgyWnYvQUIzZ0FRQmlzcU14bzFUL0FDamdBUUJKRC9qdCtPbi9B
RFBnQVFCT051UzY1TFAvQUQ3Z0FRQldhTVIweEhiL0FFbmdBUUJpdm9zamkwWC9BRlRnQVFCSkQv
anQrT24vQUYvZ0FRQk9OdVM2NUxQL0FHcmdBUUJXYU1SMHhIYi9BSFhnQVFCaXNxTXhvMVQvQUlE
Z0FRQm0vMjBBYlN6L0FJdmdBUUJKRC9qdCtPbi9BSmJnQVFCTkxPbkg2Y0QvQUtIZ0FRQlFTTm1o
Mlp2L0FLemdBUUJXYU1SMHhIYi9BTGZnQVFCaXNxTXhvMVQvQU1MZ0FRQm0vMjBBYlN6L0FNM2dB
UUJKRC9qdCtPbi9BTmpnQVFCTkxPbkg2Y0QvQU9QZ0FRQlFTTm1oMlp2L0FPN2dBUUJXYU1SMHhI
Yi9BUG5nQVFCZ25xdEJxMTMvQUFUaEFRQml2b3NqaTBYL0FBL2hBUUJzLzFvQVdqTC9BQnJoQVFC
SUIvejMvUFgvQUNYaEFRQktGZlhsOWVEL0FERGhBUUJOTE9uSDZjRC9BRHZoQVFCUVNObWgyWnYv
QUViaEFRQldhTVIweEhiL0FGSGhBUUJnbnF0QnExMy9BRnpoQVFCaXZvc2ppMFgvQUdmaEFRQnMv
MW9BV2pML0FITGhBUUJJQi96My9QWC9BSDNoQVFCS0ZmWGw5ZUQvQUlqaEFRQk5MT25INmNEL0FK
UGhBUUJRU05taDJadi9BSjdoQVFCV2FNUjB4SGIvQUtuaEFRQmducXRCcTEzL0FMVGhBUUJpdm9z
amkwWC9BTC9oQVFCbS8yMEFiU3ovQU1yaEFRQmwvMFFBUkJ2L0FOWGhBUUFBQVBEdzhQRC9BTi9o
QVFBQUFMMjl2YjMvQU9uaEFRQUFBR05qWTJQL0FQUGhBUUFBQVBmMzkvZi9BUDNoQVFBQUFNek16
TXovQUFmaUFRQUFBSmFXbHBiL0FCSGlBUUFBQUZKU1VsTC9BQnZpQVFBQUFQZjM5L2YvQUNYaUFR
QUFBTXpNek16L0FDL2lBUUFBQUphV2xwYi9BRG5pQVFBQUFHTmpZMlAvQUVQaUFRQUFBQ1VsSlNY
L0FFM2lBUUFBQVBmMzkvZi9BRmZpQVFBQUFObloyZG4vQUdIaUFRQUFBTDI5dmIzL0FHdmlBUUFB
QUphV2xwYi9BSFhpQVFBQUFHTmpZMlAvQUgvaUFRQUFBQ1VsSlNYL0FJbmlBUUFBQVBmMzkvZi9B
SlBpQVFBQUFObloyZG4vQUozaUFRQUFBTDI5dmIzL0FLZmlBUUFBQUphV2xwYi9BTEhpQVFBQUFI
TnpjM1AvQUx2aUFRQUFBRkpTVWxML0FNWGlBUUFBQUNVbEpTWC9BTS9pQVFBQUFQLy8vLy8vQU5u
aUFRQUFBUER3OFBEL0FPUGlBUUFBQU5uWjJkbi9BTzNpQVFBQUFMMjl2YjMvQVBmaUFRQUFBSmFX
bHBiL0FBSGpBUUFBQUhOemMzUC9BQXZqQVFBQUFGSlNVbEwvQUJYakFRQUFBQ1VsSlNYL0FCL2pB
UUFBQVAvLy8vLy9BQ25qQVFBQUFQRHc4UEQvQURQakFRQUFBTm5aMmRuL0FEM2pBUUFBQUwyOXZi
My9BRWZqQVFBQUFKYVdscGIvQUZIakFRQUFBSE56YzNQL0FGdmpBUUFBQUZKU1VsTC9BR1hqQVFB
QUFDVWxKU1gvQUcvakFRQUFBQUFBQUFEL0FIbmpBUUFWTVA3KzVzNy9BSVhqQVFBVGsvMzlybXYv
QUpIakFRQU84T2JtVlEzL0FKM2pBUUFUSVA3KzdkNy9BS25qQVFBVWVQMzl2b1gvQUxYakFRQVJ3
djM5alR6L0FNSGpBUUFOL2RuWlJ3SC9BTTNqQVFBVElQNys3ZDcvQU5uakFRQVVlUDM5dm9YL0FP
WGpBUUFSd3YzOWpUei9BUEhqQVFBTzhPYm1WUTMvQVAzakFRQU4rcWFtTmdQL0FBbmtBUUFUSVA3
KzdkNy9BQlhrQVFBVlcvMzkwS0wvQUNIa0FRQVRrLzM5cm12L0FDM2tBUUFSd3YzOWpUei9BRG5r
QVFBTzhPYm1WUTMvQUVYa0FRQU4rcWFtTmdQL0FGSGtBUUFUSVA3KzdkNy9BRjNrQVFBVlcvMzkw
S0wvQUdua0FRQVRrLzM5cm12L0FIWGtBUUFSd3YzOWpUei9BSUhrQVFBUTZ2SHhhUlAvQUkza0FR
QU4vZG5aU0FIL0FKbmtBUUFNOTR5TUxRVC9BS1hrQVFBVkZQLy85ZXYvQUxIa0FRQVZNUDcrNXM3
L0FMM2tBUUFWVy8zOTBLTC9BTW5rQVFBVGsvMzlybXYvQU5Ya0FRQVJ3djM5alR6L0FPSGtBUUFR
NnZIeGFSUC9BTzNrQVFBTi9kblpTQUgvQVBua0FRQU05NHlNTFFUL0FBWGxBUUFWRlAvLzlldi9B
QkhsQVFBVk1QNys1czcvQUIzbEFRQVZXLzM5MEtML0FDbmxBUUFUay8zOXJtdi9BRFhsQVFBUnd2
MzlqVHovQUVIbEFRQVE2dkh4YVJQL0FFM2xBUUFOL2RuWlNBSC9BRm5sQVFBTitxYW1OZ1AvQUdY
bEFRQU05bjkvSndUL0FISGxBUUFaTnY3KzZNai9BSHJsQVFBVGVmMzl1NFQvQUlQbEFRQUZ4ZVBq
U2pQL0FJemxBUUFhSmY3KzhObi9BSlhsQVFBWWMvMzl6SXIvQUo3bEFRQU5wUHo4alZuL0FLZmxB
UUFEMnRmWE1CLy9BTERsQVFBYUpmNys4Tm4vQUxubEFRQVljLzM5eklyL0FNTGxBUUFOcFB6OGpW
bi9BTXZsQVFBRnhlUGpTalAvQU5UbEFRQUEvN096QUFEL0FOM2xBUUFhSmY3KzhObi9BT2JsQVFB
WVgvMzkxSjcvQU8vbEFRQVRlZjM5dTRUL0FQamxBUUFOcFB6OGpWbi9BQUhtQVFBRnhlUGpTalAv
QUFybUFRQUEvN096QUFEL0FCUG1BUUFhSmY3KzhObi9BQnptQVFBWVgvMzkxSjcvQUNYbUFRQVRl
ZjM5dTRUL0FDN21BUUFOcFB6OGpWbi9BRGZtQVFBSHN1L3ZaVWovQUVEbUFRQUQydGZYTUIvL0FF
bm1BUUFBLzVtWkFBRC9BRkxtQVFBWUV2Ly85K3ovQUZ2bUFRQVpOdjcrNk1qL0FHVG1BUUFZWC8z
OTFKNy9BRzNtQVFBVGVmMzl1NFQvQUhibUFRQU5wUHo4alZuL0FIL21BUUFIc3UvdlpVai9BSWpt
QVFBRDJ0ZlhNQi8vQUpIbUFRQUEvNW1aQUFEL0FKcm1BUUFZRXYvLzkrei9BS1BtQVFBWk52Nys2
TWovQUt6bUFRQVlYLzM5MUo3L0FMWG1BUUFUZWYzOXU0VC9BTDdtQVFBTnBQejhqVm4vQU1mbUFR
QUhzdS92WlVqL0FORG1BUUFEMnRmWE1CLy9BTm5tQVFBQS83T3pBQUQvQU9MbUFRQUEvMzkvQUFE
L0FPdm1BUUNPUk9PbXp1UC9BUGZtQVFDK21acHFQWnIvQUFUbkFRQ1EwN1FmZUxUL0FCRG5BUUJC
WWQreTM0ci9BQnpuQVFCU3VLQXpvQ3ovQUNqbkFRQUFZL3Y3bXBuL0FEVG5BUUQrNGVQakdoei9B
RURuQVFBWGovMzl2Mi8vQUV6bkFRQVYvLy8vZndEL0FGam5BUURHS3RiS3N0Yi9BR1RuQVFDT1JP
T216dVAvQUhEbkFRQyttWnBxUFpyL0FIM25BUUFxWnYvLy81bi9BSXJuQVFDUTA3UWZlTFQvQUpi
bkFRQkJZZCt5MzRyL0FLTG5BUUJTdUtBem9Dei9BSzduQVFBQVkvdjdtcG4vQUxybkFRRCs0ZVBq
R2h6L0FNYm5BUUFYai8zOXYyLy9BTkxuQVFBVi8vLy9md0QvQU43bkFRREdLdGJLc3RiL0FPcm5B
UUNPUk9PbXp1UC9BUGJuQVFDK21acHFQWnIvQUFQb0FRQXFadi8vLzVuL0FCRG9BUUFQeGJHeFdT
ai9BQjNvQVFDUTA3UWZlTFQvQUNub0FRQkJZZCt5MzRyL0FEWG9BUUJTdUtBem9Dei9BRUhvQVFB
QVkvdjdtcG4vQUUzb0FRRCs0ZVBqR2h6L0FGbm9BUUFYai8zOXYyLy9BR1hvQVFBVi8vLy9md0Qv
QUhIb0FRREdLdGJLc3RiL0FIM29BUUNPUk9PbXp1UC9BSWpvQVFDUTA3UWZlTFQvQUpQb0FRQkJZ
ZCt5MzRyL0FKN29BUUNPUk9PbXp1UC9BS25vQVFDUTA3UWZlTFQvQUxUb0FRQkJZZCt5MzRyL0FM
L29BUUJTdUtBem9Dei9BTXJvQVFDT1JPT216dVAvQU5Yb0FRQ1EwN1FmZUxUL0FPRG9BUUJCWWQr
eTM0ci9BT3ZvQVFCU3VLQXpvQ3ovQVBib0FRQUFZL3Y3bXBuL0FBSHBBUUNPUk9PbXp1UC9BQXpw
QVFDUTA3UWZlTFQvQUJmcEFRQkJZZCt5MzRyL0FDTHBBUUJTdUtBem9Dei9BQzNwQVFBQVkvdjdt
cG4vQURqcEFRRCs0ZVBqR2h6L0FFUHBBUUNPUk9PbXp1UC9BRTdwQVFDUTA3UWZlTFQvQUZucEFR
QkJZZCt5MzRyL0FHVHBBUUJTdUtBem9Dei9BRy9wQVFBQVkvdjdtcG4vQUhycEFRRCs0ZVBqR2h6
L0FJWHBBUUFYai8zOXYyLy9BSkRwQVFDT1JPT216dVAvQUp2cEFRQ1EwN1FmZUxUL0FLYnBBUUJC
WWQreTM0ci9BTEhwQVFCU3VLQXpvQ3ovQUx6cEFRQUFZL3Y3bXBuL0FNZnBBUUQrNGVQakdoei9B
TkxwQVFBWGovMzl2Mi8vQU4zcEFRQVYvLy8vZndEL0FPanBBUUNPUk9PbXp1UC9BUFBwQVFDUTA3
UWZlTFQvQVA3cEFRQkJZZCt5MzRyL0FBbnFBUUJTdUtBem9Dei9BQlRxQVFBQVkvdjdtcG4vQUIv
cUFRRCs0ZVBqR2h6L0FDcnFBUUFYai8zOXYyLy9BRFhxQVFBVi8vLy9md0QvQUVEcUFRREdLdGJL
c3RiL0FFdnFBUUFEVHZ2N3RLNy9BRmZxQVFDU05lT3p6ZVAvQUdQcUFRQk5LZXZNNjhYL0FHL3FB
UUFEVHZ2N3RLNy9BSHZxQVFDU05lT3p6ZVAvQUlmcUFRQk5LZXZNNjhYL0FKUHFBUURLRytUZXkr
VC9BSi9xQVFBRFR2djd0SzcvQUt2cUFRQ1NOZU96emVQL0FMZnFBUUJOS2V2TTY4WC9BTVBxQVFE
S0crVGV5K1QvQU0vcUFRQVlXUDcrMmFiL0FOdnFBUUFEVHZ2N3RLNy9BT2ZxQVFDU05lT3p6ZVAv
QVBQcUFRQk5LZXZNNjhYL0FQL3FBUURLRytUZXkrVC9BQXZyQVFBWVdQNysyYWIvQUJmckFRQXFN
di8vLzh6L0FDUHJBUUFEVHZ2N3RLNy9BQy9yQVFDU05lT3p6ZVAvQUR2ckFRQk5LZXZNNjhYL0FF
ZnJBUURLRytUZXkrVC9BRlByQVFBWVdQNysyYWIvQUYvckFRQXFNdi8vLzh6L0FHdnJBUUFjTE9Y
bDJMMy9BSGZyQVFBRFR2djd0SzcvQUlQckFRQ1NOZU96emVQL0FJL3JBUUJOS2V2TTY4WC9BSnZy
QVFES0crVGV5K1QvQUtmckFRQVlXUDcrMmFiL0FMUHJBUUFxTXYvLy84ei9BTC9yQVFBY0xPWGwy
TDMvQU12ckFRRHBJLzM5MnV6L0FOZnJBUUFEVHZ2N3RLNy9BT1ByQVFDU05lT3p6ZVAvQU8vckFR
Qk5LZXZNNjhYL0FQdnJBUURLRytUZXkrVC9BQWZzQVFBWVdQNysyYWIvQUJQc0FRQXFNdi8vLzh6
L0FCL3NBUUFjTE9YbDJMMy9BQ3ZzQVFEcEkvMzkydXovQURmc0FRQUFBUEx5OHZML0FFUHNBUUJz
TmVLejRzMy9BRS9zQVFBUlVmMzl6YXovQUZ2c0FRQ2JIK2pMMWVqL0FHZnNBUUJzTmVLejRzMy9B
SFBzQVFBUlVmMzl6YXovQUgvc0FRQ2JIK2pMMWVqL0FJdnNBUURrSy9UMHl1VC9BSmZzQVFCc05l
S3o0czMvQUtQc0FRQVJVZjM5emF6L0FLL3NBUUNiSCtqTDFlai9BTHZzQVFEa0svVDB5dVQvQU1m
c0FRQTRMZlhtOWNuL0FOUHNBUUJzTmVLejRzMy9BTi9zQVFBUlVmMzl6YXovQU92c0FRQ2JIK2pM
MWVqL0FQZnNBUURrSy9UMHl1VC9BQVB0QVFBNExmWG05Y24vQUEvdEFRQWpVZi8vOHE3L0FCdnRB
UUJzTmVLejRzMy9BQ2Z0QVFBUlVmMzl6YXovQURQdEFRQ2JIK2pMMWVqL0FEL3RBUURrSy9UMHl1
VC9BRXZ0QVFBNExmWG05Y24vQUZmdEFRQWpVZi8vOHE3L0FHUHRBUUFaSi9IeDRzei9BRy90QVFC
c05lS3o0czMvQUh2dEFRQVJVZjM5emF6L0FJZnRBUUNiSCtqTDFlai9BSlB0QVFEa0svVDB5dVQv
QUovdEFRQTRMZlhtOWNuL0FLdnRBUUFqVWYvLzhxNy9BTGZ0QVFBWkovSHg0c3ovQU1QdEFRQUFB
TXpNek16L0FNL3RBUURtL1k2T0FWTC9BTm50QVFCTnYyUW5aQm4vQU9UdEFRRG0zTVhGRzMzL0FP
N3RBUURvZHQ3ZWQ2Ny9BUGp0QVFEbFB2SHh0dHIvQUFMdUFRRHBIZjM5NE8vL0FBenVBUUE3SnZY
bTlkRC9BQmJ1QVFBOVorRzQ0WWIvQUNEdUFRQS9wcngvdkVIL0FDcnVBUUJFeFpKTmtpSC9BRFR1
QVFEbS9ZNk9BVkwvQUQ3dUFRQkV4WkpOa2lIL0FFbnVBUUJOdjJRblpCbi9BRlR1QVFEbTNNWEZH
MzMvQUY3dUFRRG9kdDdlZDY3L0FHanVBUURsUHZIeHR0ci9BSEx1QVFEcEhmMzk0Ty8vQUh6dUFR
QUFBUGYzOS9mL0FJYnVBUUE3SnZYbTlkRC9BSkR1QVFBOVorRzQ0WWIvQUpydUFRQS9wcngvdkVI
L0FLVHVBUURuVE9ucG84bi9BSzN1QVFBQUFQZjM5L2YvQUxidUFRQS9nZGVoMTJyL0FML3VBUURr
M05EUUhJdi9BTWp1QVFEbFB2SHh0dHIvQU5IdUFRQTlaK0c0NFliL0FOcnVBUUJJeHF4TnJDYi9B
T1B1QVFEazNORFFISXYvQU96dUFRRGxQdkh4dHRyL0FQWHVBUUFBQVBmMzkvZi9BUDd1QVFBOVor
RzQ0WWIvQUFmdkFRQkl4cXhOckNiL0FCRHZBUURtM01YRkczMy9BQm52QVFEblRPbnBvOG4vQUNM
dkFRRHBIZjM5NE8vL0FDdnZBUUE3SnZYbTlkRC9BRFR2QVFBL2dkZWgxMnIvQUQzdkFRQkV4WkpO
a2lIL0FFYnZBUURtM01YRkczMy9BRS92QVFEblRPbnBvOG4vQUZqdkFRRHBIZjM5NE8vL0FHSHZB
UUFBQVBmMzkvZi9BR3J2QVFBN0p2WG05ZEQvQUhQdkFRQS9nZGVoMTJyL0FIenZBUUJFeFpKTmtp
SC9BSVh2QVFEbTNNWEZHMzMvQUk3dkFRRG9kdDdlZDY3L0FKZnZBUURsUHZIeHR0ci9BS0R2QVFE
cEhmMzk0Ty8vQUtudkFRQTdKdlhtOWREL0FMTHZBUUE5WitHNDRZYi9BTHZ2QVFBL3ByeC92RUgv
QU1UdkFRQkV4WkpOa2lIL0FNM3ZBUURtM01YRkczMy9BTmJ2QVFEb2R0N2VkNjcvQU4vdkFRRGxQ
dkh4dHRyL0FPanZBUURwSGYzOTRPLy9BUEh2QVFBQUFQZjM5L2YvQVBydkFRQTdKdlhtOWREL0FB
UHdBUUE5WitHNDRZYi9BQXp3QVFBL3ByeC92RUgvQUJYd0FRQkV4WkpOa2lIL0FCN3dBUURPLzB0
QUFFdi9BQ2p3QVFCbC8wUUFSQnYvQURQd0FRRE9yWU4yS29QL0FEM3dBUURIVjZ1WmNLdi9BRWZ3
QVFESE04L0NwYy8vQUZId0FRRFNGZWpuMU9qL0FGdndBUUJNSHZEWjhOUC9BR1h3QVFCUVJOdW0y
NkQvQUcvd0FRQlllNjVhcm1IL0FIbndBUUJoeFhnYmVEZi9BSVB3QVFETy8wdEFBRXYvQUkzd0FR
Qmh4WGdiZURmL0FKandBUUJsLzBRQVJCdi9BS1B3QVFET3JZTjJLb1AvQUszd0FRREhWNnVaY0t2
L0FMZndBUURITTgvQ3BjLy9BTUh3QVFEU0Zlam4xT2ovQU12d0FRQUFBUGYzOS9mL0FOWHdBUUJN
SHZEWjhOUC9BTi93QVFCUVJOdW0yNkQvQU9ud0FRQlllNjVhcm1IL0FQUHdBUURFUnNPdmpjUC9B
UHp3QVFBQUFQZjM5L2YvQUFYeEFRQlNXcjkvdjN2L0FBN3hBUURKcUpSN01wVC9BQmZ4QVFESE04
L0NwYy8vQUNEeEFRQlFSTnVtMjZEL0FDbnhBUUJtLzRnQWlEZi9BREx4QVFESnFKUjdNcFQvQUR2
eEFRREhNOC9DcGMvL0FFVHhBUUFBQVBmMzkvZi9BRTN4QVFCUVJOdW0yNkQvQUZieEFRQm0vNGdB
aURmL0FGL3hBUURPcllOMktvUC9BR2p4QVFERVJzT3ZqY1AvQUhIeEFRRFNGZWpuMU9qL0FIcnhB
UUJNSHZEWjhOUC9BSVB4QVFCU1dyOS92M3YvQUl6eEFRQmh4WGdiZURmL0FKWHhBUURPcllOMktv
UC9BSjd4QVFERVJzT3ZqY1AvQUtmeEFRRFNGZWpuMU9qL0FMRHhBUUFBQVBmMzkvZi9BTG54QVFC
TUh2RFo4TlAvQU1MeEFRQlNXcjkvdjN2L0FNdnhBUUJoeFhnYmVEZi9BTlR4QVFET3JZTjJLb1Av
QU4zeEFRREhWNnVaY0t2L0FPYnhBUURITTgvQ3BjLy9BTy94QVFEU0Zlam4xT2ovQVBqeEFRQk1I
dkRaOE5QL0FBSHlBUUJRUk51bTI2RC9BQXJ5QVFCWWU2NWFybUgvQUJQeUFRQmh4WGdiZURmL0FC
enlBUURPcllOMktvUC9BQ1h5QVFESFY2dVpjS3YvQUM3eUFRREhNOC9DcGMvL0FEZnlBUURTRmVq
bjFPai9BRUR5QVFBQUFQZjM5L2YvQUVueUFRQk1IdkRaOE5QL0FGTHlBUUJRUk51bTI2RC9BRnZ5
QVFCWWU2NWFybUgvQUdUeUFRQmh4WGdiZURmL0FHM3lBUUM5Qy9MczUvTC9BSGJ5QVFDWFBkdW12
ZHYvQUgveUFRQ054YjRyakw3L0FJanlBUUM1Q1BieDd2Yi9BSkh5QVFDYktPRzl5ZUgvQUpyeUFR
Q1JjTTkwcWMvL0FLUHlBUUNQOTdBRmNMRC9BS3p5QVFDNUNQYng3dmIvQUxYeUFRQ2JLT0c5eWVI
L0FMN3lBUUNSY005MHFjLy9BTWZ5QVFDTnhiNHJqTDcvQU5EeUFRQ1A5NDBFV28zL0FObnlBUUM1
Q1BieDd2Yi9BT0x5QVFDb0dPYlEwZWIvQU92eUFRQ1hQZHVtdmR2L0FQVHlBUUNSY005MHFjLy9B
UDN5QVFDTnhiNHJqTDcvQUFiekFRQ1A5NDBFV28zL0FBL3pBUUM1Q1BieDd2Yi9BQmp6QVFDb0dP
YlEwZWIvQUNIekFRQ1hQZHVtdmR2L0FDcnpBUUNSY005MHFjLy9BRFB6QVFDT3Q4QTJrTUQvQUR6
ekFRQ1A5N0FGY0xEL0FFWHpBUUNQK0hzRFRudi9BRTd6QVFEcENQLy85L3YvQUZmekFRQzlDL0xz
NS9ML0FHRHpBUUNvR09iUTBlYi9BR256QVFDWFBkdW12ZHYvQUhMekFRQ1JjTTkwcWMvL0FIdnpB
UUNPdDhBMmtNRC9BSVR6QVFDUDk3QUZjTEQvQUkzekFRQ1ArSHNEVG52L0FKYnpBUURwQ1AvLzkv
di9BSi96QVFDOUMvTHM1L0wvQUtqekFRQ29HT2JRMGViL0FMSHpBUUNYUGR1bXZkdi9BTHJ6QVFD
UmNNOTBxYy8vQU1QekFRQ090OEEya01EL0FNenpBUUNQOTdBRmNMRC9BTlh6QVFDUDk0MEVXbzMv
QU43ekFRQ1ArVmdDT0ZqL0FPZnpBUURJRHZEczR2RC9BUEx6QVFDWFBkdW12ZHYvQVAzekFRQ0Mw
Smtja0puL0FBajBBUURQQ1BmMjcvZi9BQlAwQVFDYktPRzl5ZUgvQUI3MEFRQ1BnTTlucWMvL0FD
bjBBUUNDKzRvQ2dZci9BRFQwQVFEUENQZjI3L2YvQUQvMEFRQ2JLT0c5eWVIL0FFcjBBUUNQZ005
bnFjLy9BRlgwQVFDQzBKa2NrSm4vQUdEMEFRQjMvR3dCYkZuL0FHdjBBUURQQ1BmMjcvZi9BSGIw
QVFDb0dPYlEwZWIvQUlIMEFRQ1hQZHVtdmR2L0FJejBBUUNQZ005bnFjLy9BSmYwQVFDQzBKa2Nr
Sm4vQUtMMEFRQjMvR3dCYkZuL0FLMzBBUURQQ1BmMjcvZi9BTGowQVFDb0dPYlEwZWIvQU1QMEFR
Q1hQZHVtdmR2L0FNNzBBUUNQZ005bnFjLy9BTm4wQVFDT3Q4QTJrTUQvQU9UMEFRQ0MrNG9DZ1ly
L0FPLzBBUUIyL0dRQlpGRC9BUHIwQVFEcENQLy85L3YvQUFYMUFRRElEdkRzNHZEL0FCRDFBUUNv
R09iUTBlYi9BQnYxQVFDWFBkdW12ZHYvQUNiMUFRQ1BnTTlucWMvL0FESDFBUUNPdDhBMmtNRC9B
RHoxQVFDQys0b0NnWXIvQUVmMUFRQjIvR1FCWkZEL0FGTDFBUURwQ1AvLzkvdi9BRjMxQVFESUR2
RHM0dkQvQUdqMUFRQ29HT2JRMGViL0FIUDFBUUNYUGR1bXZkdi9BSDcxQVFDUGdNOW5xYy8vQUlu
MUFRQ090OEEya01EL0FKVDFBUUNDKzRvQ2dZci9BSi8xQVFCMy9Hd0JiRm4vQUtyMUFRQjErMFlC
UmpiL0FMWDFBUUFTN245L093ai9BTC8xQVFERC8wc3RBRXYvQU1yMUFRQVU5ck96V0FiL0FOVDFB
UUFXNk9EZ2doVC9BTjcxQVFBWG0vMzl1R1AvQU9qMUFRQVlTUDcrNExiL0FQTDFBUUNsRk92WTJ1
di9BUHoxQVFDeEw5S3lxOUwvQUFiMkFRQ3pWS3lBYzZ6L0FCRDJBUUM5dFloVUo0ai9BQnIyQVFB
UzduOS9Pd2ovQUNUMkFRQzl0WWhVSjRqL0FDLzJBUURELzBzdEFFdi9BRHIyQVFBVTlyT3pXQWIv
QUVUMkFRQVc2T0RnZ2hUL0FFNzJBUUFYbS8zOXVHUC9BRmoyQVFBWVNQNys0TGIvQUdMMkFRQUFB
UGYzOS9mL0FHejJBUUNsRk92WTJ1di9BSGIyQVFDeEw5S3lxOUwvQUlEMkFRQ3pWS3lBYzZ6L0FJ
cjJBUUFYdS9IeG8wRC9BSlAyQVFBQUFQZjM5L2YvQUp6MkFRQ3lSY09aanNQL0FLWDJBUUFSL2Vi
bVlRSC9BSzcyQVFBWG0vMzl1R1AvQUxmMkFRQ3hMOUt5cTlML0FNRDJBUUM1bTVsZVBKbi9BTW4y
QVFBUi9lYm1ZUUgvQU5MMkFRQVhtLzM5dUdQL0FOdjJBUUFBQVBmMzkvZi9BT1QyQVFDeEw5S3lx
OUwvQU8zMkFRQzVtNWxlUEpuL0FQYjJBUUFVOXJPeldBYi9BUC8yQVFBWHUvSHhvMEQvQUFqM0FR
QVlTUDcrNExiL0FCSDNBUUNsRk92WTJ1di9BQnIzQVFDeVJjT1pqc1AvQUNQM0FRQzl0WWhVSjRq
L0FDejNBUUFVOXJPeldBYi9BRFgzQVFBWHUvSHhvMEQvQUQ3M0FRQVlTUDcrNExiL0FFZjNBUUFB
QVBmMzkvZi9BRkQzQVFDbEZPdlkydXYvQUZuM0FRQ3lSY09aanNQL0FHTDNBUUM5dFloVUo0ai9B
R3YzQVFBVTlyT3pXQWIvQUhUM0FRQVc2T0RnZ2hUL0FIMzNBUUFYbS8zOXVHUC9BSWIzQVFBWVNQ
Nys0TGIvQUkvM0FRQ2xGT3ZZMnV2L0FKajNBUUN4TDlLeXE5TC9BS0gzQVFDelZLeUFjNnovQUty
M0FRQzl0WWhVSjRqL0FMUDNBUUFVOXJPeldBYi9BTHozQVFBVzZPRGdnaFQvQU1YM0FRQVhtLzM5
dUdQL0FNNzNBUUFZU1A3KzRMYi9BTmYzQVFBQUFQZjM5L2YvQU9EM0FRQ2xGT3ZZMnV2L0FPbjNB
UUN4TDlLeXE5TC9BUEwzQVFDelZLeUFjNnovQVB2M0FRQzl0WWhVSjRqL0FBVDRBUUM4RHUvbjRl
Ly9BQTM0QVFEV1E4bkpsTWYvQUJiNEFRRHEzdDNkSEhmL0FCLzRBUUM1Q1BieDd2Yi9BQ2o0QVFE
VEtkalh0ZGovQURINEFRRGtpOS9mWmJEL0FEcjRBUUR2Nk03T0VsYi9BRVA0QVFDNUNQYng3dmIv
QUV6NEFRRFRLZGpYdGRqL0FGWDRBUURraTkvZlpiRC9BRjc0QVFEcTN0M2RISGYvQUdmNEFRRHMv
NWlZQUVQL0FIRDRBUUM1Q1BieDd2Yi9BSG40QVFETUp0clV1ZHIvQUlMNEFRRFdROG5KbE1mL0FJ
djRBUURraTkvZlpiRC9BSlQ0QVFEcTN0M2RISGYvQUozNEFRRHMvNWlZQUVQL0FLYjRBUUM1Q1Bi
eDd2Yi9BSy80QVFETUp0clV1ZHIvQUxqNEFRRFdROG5KbE1mL0FNSDRBUURraTkvZlpiRC9BTXI0
QVFEcDBlZm5LWXIvQU5QNEFRRHY2TTdPRWxiL0FOejRBUURzLzVHUkFELy9BT1g0QVFEREJmbjM5
UG4vQU83NEFRQzhEdS9uNGUvL0FQZjRBUURNSnRyVXVkci9BQUQ1QVFEV1E4bkpsTWYvQUFuNUFR
RGtpOS9mWmJEL0FCTDVBUURwMGVmbktZci9BQnY1QVFEdjZNN09FbGIvQUNUNUFRRHMvNUdSQUQv
L0FDMzVBUUREQmZuMzlQbi9BRGI1QVFDOER1L240ZS8vQUQvNUFRRE1KdHJVdWRyL0FFajVBUURX
UThuSmxNZi9BRkg1QVFEa2k5L2ZaYkQvQUZyNUFRRHAwZWZuS1lyL0FHUDVBUUR2Nk03T0VsYi9B
R3o1QVFEcy81aVlBRVAvQUhYNUFRRHkvMmRuQUIvL0FINzVBUUMwQ1BYdjdmWC9BSXI1QVFDb0pk
eTh2ZHovQUpiNUFRQ3daTEYxYTdIL0FLTDVBUUMyQi9meThQZi9BSzc1QVFDdEhPTEx5ZUwvQUxy
NUFRQ3RPc2llbXNqL0FNYjVBUUMyZ0tOcVVhUC9BTkw1QVFDMkIvZnk4UGYvQU43NUFRQ3RIT0xM
eWVML0FPcjVBUUN0T3NpZW1zai9BUGI1QVFDd1pMRjFhN0gvQUFMNkFRQzh1WTlVSjQvL0FBNzZB
UUMyQi9meThQZi9BQnI2QVFDcUV1dmEydXYvQUNiNkFRQ29KZHk4dmR6L0FETDZBUUN0T3NpZW1z
ai9BRDc2QVFDd1pMRjFhN0gvQUVyNkFRQzh1WTlVSjQvL0FGYjZBUUMyQi9meThQZi9BR0w2QVFD
cUV1dmEydXYvQUc3NkFRQ29KZHk4dmR6L0FIcjZBUUN0T3NpZW1zai9BSWI2QVFDc1U3cUFmYnIv
QUpMNkFRQzJnS05xVWFQL0FKNzZBUUMrMklaS0ZJYi9BS3I2QVFDL0F2MzgrLzMvQUxiNkFRQzBD
UFh2N2ZYL0FNTDZBUUNxRXV2YTJ1di9BTTc2QVFDb0pkeTh2ZHovQU5yNkFRQ3RPc2llbXNqL0FP
YjZBUUNzVTdxQWZici9BUEw2QVFDMmdLTnFVYVAvQVA3NkFRQysySVpLRkliL0FBcjdBUUMvQXYz
OCsvMy9BQmI3QVFDMENQWHY3ZlgvQUNMN0FRQ3FFdXZhMnV2L0FDNzdBUUNvSmR5OHZkei9BRHI3
QVFDdE9zaWVtc2ovQUViN0FRQ3NVN3FBZmJyL0FGTDdBUUMyZ0tOcVVhUC9BRjc3QVFDOHVZOVVK
NC8vQUdyN0FRQy8vMzAvQUgzL0FIYjdBUUR5LzJkbkFCLy9BSUQ3QVFDVzhXRUZNR0gvQUl2N0FR
RDUzTEt5R0N2L0FKWDdBUUFGbzliV1lFMy9BSi83QVFBTmQvVDBwWUwvQUtuN0FRQVBOdjM5Mjhm
L0FMUDdBUUNPSVBEUjVmRC9BTDM3QVFDTlY5NlN4ZDcvQU1mN0FRQ1BwOE5EazhQL0FOSDdBUUNV
enF3aFpxei9BTnY3QVFEeS8yZG5BQi8vQU9YN0FRQ1V6cXdoWnF6L0FQRDdBUUNXOFdFRk1HSC9B
UHY3QVFENTNMS3lHQ3YvQUFYOEFRQUZvOWJXWUUzL0FBLzhBUUFOZC9UMHBZTC9BQm44QVFBUE52
MzkyOGYvQUNQOEFRQUFBUGYzOS9mL0FDMzhBUUNPSVBEUjVmRC9BRGY4QVFDTlY5NlN4ZDcvQUVI
OEFRQ1BwOE5EazhQL0FFdjhBUUFNbHUvdmltTC9BRlQ4QVFBQUFQZjM5L2YvQUYzOEFRQ1BnTTlu
cWMvL0FHYjhBUUQ0LzhyS0FDRC9BRy84QVFBTmQvVDBwWUwvQUhqOEFRQ05WOTZTeGQ3L0FJSDhB
UUNQOTdBRmNiRC9BSXI4QVFENC84cktBQ0QvQUpQOEFRQU5kL1QwcFlML0FKejhBUUFBQVBmMzkv
Zi9BS1g4QVFDTlY5NlN4ZDcvQUs3OEFRQ1A5N0FGY2JEL0FMZjhBUUQ1M0xLeUdDdi9BTUQ4QVFB
TWx1L3ZpbUwvQU1uOEFRQVBOdjM5MjhmL0FOTDhBUUNPSVBEUjVmRC9BTnY4QVFDUGdNOW5xYy8v
QU9UOEFRQ1V6cXdoWnF6L0FPMzhBUUQ1M0xLeUdDdi9BUGI4QVFBTWx1L3ZpbUwvQVAvOEFRQVBO
djM5MjhmL0FBajlBUUFBQVBmMzkvZi9BQkg5QVFDT0lQRFI1ZkQvQUJyOUFRQ1BnTTlucWMvL0FD
UDlBUUNVenF3aFpxei9BQ3o5QVFENTNMS3lHQ3YvQURYOUFRQUZvOWJXWUUzL0FENzlBUUFOZC9U
MHBZTC9BRWY5QVFBUE52MzkyOGYvQUZEOUFRQ09JUERSNWZEL0FGbjlBUUNOVjk2U3hkNy9BR0w5
QVFDUHA4TkRrOFAvQUd2OUFRQ1V6cXdoWnF6L0FIVDlBUUQ1M0xLeUdDdi9BSDM5QVFBRm85YldZ
RTMvQUliOUFRQU5kL1QwcFlML0FJLzlBUUFQTnYzOTI4Zi9BSmo5QVFBQUFQZjM5L2YvQUtIOUFR
Q09JUERSNWZEL0FLcjlBUUNOVjk2U3hkNy9BTFA5QVFDUHA4TkRrOFAvQUx6OUFRQ1V6cXdoWnF6
L0FNWDlBUUR5LzJkbkFCLy9BTS85QVFBQUFCb2FHaHIvQU5yOUFRRDUzTEt5R0N2L0FPVDlBUUFG
bzliV1lFMy9BTzc5QVFBTmQvVDBwWUwvQVBqOUFRQVBOdjM5MjhmL0FBTCtBUUFBQU9EZzRPRC9B
QXorQVFBQUFMcTZ1cnIvQUJiK0FRQUFBSWVIaDRmL0FDRCtBUUFBQUUxTlRVMy9BQ3IrQVFEeS8y
ZG5BQi8vQURUK0FRQUFBRTFOVFUzL0FELytBUUFBQUJvYUdoci9BRXIrQVFENTNMS3lHQ3YvQUZU
K0FRQUZvOWJXWUUzL0FGNytBUUFOZC9UMHBZTC9BR2orQVFBUE52MzkyOGYvQUhMK0FRQUFBUC8v
Ly8vL0FIeitBUUFBQU9EZzRPRC9BSWIrQVFBQUFMcTZ1cnIvQUpEK0FRQUFBSWVIaDRmL0FKcitB
UUFNbHUvdmltTC9BS1ArQVFBQUFQLy8vLy8vQUt6K0FRQUFBSm1abVpuL0FMWCtBUUQ0LzhyS0FD
RC9BTDcrQVFBTmQvVDBwWUwvQU1mK0FRQUFBTHE2dXJyL0FORCtBUUFBQUVCQVFFRC9BTm4rQVFE
NC84cktBQ0QvQU9MK0FRQU5kL1QwcFlML0FPditBUUFBQVAvLy8vLy9BUFQrQVFBQUFMcTZ1cnIv
QVAzK0FRQUFBRUJBUUVEL0FBYi9BUUQ1M0xLeUdDdi9BQS8vQVFBTWx1L3ZpbUwvQUJqL0FRQVBO
djM5MjhmL0FDSC9BUUFBQU9EZzRPRC9BQ3IvQVFBQUFKbVptWm4vQURQL0FRQUFBRTFOVFUzL0FE
ei9BUUQ1M0xLeUdDdi9BRVgvQVFBTWx1L3ZpbUwvQUU3L0FRQVBOdjM5MjhmL0FGZi9BUUFBQVAv
Ly8vLy9BR0QvQVFBQUFPRGc0T0QvQUduL0FRQUFBSm1abVpuL0FITC9BUUFBQUUxTlRVMy9BSHYv
QVFENTNMS3lHQ3YvQUlUL0FRQUZvOWJXWUUzL0FJMy9BUUFOZC9UMHBZTC9BSmIvQVFBUE52Mzky
OGYvQUovL0FRQUFBT0RnNE9EL0FLai9BUUFBQUxxNnVyci9BTEgvQVFBQUFJZUhoNGYvQUxyL0FR
QUFBRTFOVFUzL0FNUC9BUUQ1M0xLeUdDdi9BTXovQVFBRm85YldZRTMvQU5YL0FRQU5kL1QwcFlM
L0FONy9BUUFQTnYzOTI4Zi9BT2YvQVFBQUFQLy8vLy8vQVBEL0FRQUFBT0RnNE9EL0FQbi9BUUFB
QUxxNnVyci9BQUlBQWdBQUFJZUhoNGYvQUFzQUFnQUFBRTFOVFUzL0FCUUFBZ0FESVAzOTROMy9B
QjBBQWdEMFhQcjZuN1gvQUNZQUFnRGozTVhGRzRyL0FDOEFBZ0FOSFA3KzYrTC9BRGdBQWdEOFNQ
djd0TG4vQUVFQUFnRHVrL2YzYUtIL0FFb0FBZ0RnL2E2dUFYNy9BRk1BQWdBTkhQNys2K0wvQUZ3
QUFnRDhTUHY3dExuL0FHVUFBZ0R1ay9mM2FLSC9BRzRBQWdEajNNWEZHNHIvQUhjQUFnRFYvSHA2
QVhmL0FJQUFBZ0FOSFA3KzYrTC9BSWtBQWdBRFBQejh4Y0QvQUpJQUFnRDBYUHI2bjdYL0FKc0FB
Z0R1ay9mM2FLSC9BS1FBQWdEajNNWEZHNHIvQUswQUFnRFYvSHA2QVhmL0FMWUFBZ0FOSFA3KzYr
TC9BTDhBQWdBRFBQejh4Y0QvQU1nQUFnRDBYUHI2bjdYL0FORUFBZ0R1ay9mM2FLSC9BTm9BQWdE
bXc5M2ROSmYvQU9NQUFnRGcvYTZ1QVg3L0FPd0FBZ0RWL0hwNkFYZi9BUFVBQWdBT0RQLy85L1Av
QVA0QUFnQURJUDM5NE4zL0FBY0JBZ0FEUFB6OHhjRC9BQkFCQWdEMFhQcjZuN1gvQUJrQkFnRHVr
L2YzYUtIL0FDSUJBZ0RtdzkzZE5KZi9BQ3NCQWdEZy9hNnVBWDcvQURRQkFnRFYvSHA2QVhmL0FE
MEJBZ0FPRFAvLzkvUC9BRVlCQWdBRElQMzk0TjMvQUU4QkFnQURQUHo4eGNEL0FGZ0JBZ0QwWFBy
Nm43WC9BR0VCQWdEdWsvZjNhS0gvQUdvQkFnRG13OTNkTkpmL0FITUJBZ0RnL2E2dUFYNy9BSHdC
QWdEVi9IcDZBWGYvQUlVQkFnREgvMnBKQUdyL0FJNEJBZ0QxLzZXbEFDYi9BSm9CQWdDbnE1VXhO
cFgvQUtjQkFnQUMwTmZYTUNmL0FMTUJBZ0FLdVBUMGJVUC9BTDhCQWdBVW5mMzlybUgvQU1zQkFn
QWVidjcrNEpEL0FOY0JBZ0NJR1BqZzgvai9BT01CQWdDS1ErbXIyZW4vQU84QkFnQ1BjZEYwcmRI
L0FQc0JBZ0NYbmJSRmRiVC9BQWNDQWdEMS82V2xBQ2IvQUJNQ0FnQ1huYlJGZGJUL0FDQUNBZ0Nu
cTVVeE5wWC9BQzBDQWdBQzBOZlhNQ2YvQURrQ0FnQUt1UFQwYlVQL0FFVUNBZ0FVbmYzOXJtSC9B
RkVDQWdBZWJ2Nys0SkQvQUYwQ0FnQXFRUC8vLzcvL0FHa0NBZ0NJR1BqZzgvai9BSFVDQWdDS1Er
bXIyZW4vQUlFQ0FnQ1BjZEYwcmRIL0FJMENBZ0FOcFB6OGpWbi9BSmdDQWdBcVFQLy8vNy8vQUtN
Q0FnQ1BWdHVSdjl2L0FLNENBZ0QrNGRmWEdSei9BTGtDQWdBVW5mMzlybUgvQU1RQ0FnQ0tRK21y
MmVuL0FNOENBZ0NSd2JZc2U3Yi9BTm9DQWdEKzRkZlhHUnovQU9VQ0FnQVVuZjM5cm1IL0FQQUNB
Z0FxUVAvLy83Ly9BUHNDQWdDS1ErbXIyZW4vQUFZREFnQ1J3YllzZTdiL0FCRURBZ0FDME5mWE1D
Zi9BQndEQWdBTnBQejhqVm4vQUNjREFnQWVidjcrNEpEL0FESURBZ0NJR1BqZzgvai9BRDBEQWdD
UFZ0dVJ2OXYvQUVnREFnQ1huYlJGZGJUL0FGTURBZ0FDME5mWE1DZi9BRjREQWdBTnBQejhqVm4v
QUdrREFnQWVidjcrNEpEL0FIUURBZ0FxUVAvLy83Ly9BSDhEQWdDSUdQamc4L2ovQUlvREFnQ1BW
dHVSdjl2L0FKVURBZ0NYbmJSRmRiVC9BS0FEQWdBQzBOZlhNQ2YvQUtzREFnQUt1UFQwYlVQL0FM
WURBZ0FVbmYzOXJtSC9BTUVEQWdBZWJ2Nys0SkQvQU13REFnQ0lHUGpnOC9qL0FOY0RBZ0NLUStt
cjJlbi9BT0lEQWdDUGNkRjByZEgvQU8wREFnQ1huYlJGZGJUL0FQZ0RBZ0FDME5mWE1DZi9BQU1F
QWdBS3VQVDBiVVAvQUE0RUFnQVVuZjM5cm1IL0FCa0VBZ0FlYnY3KzRKRC9BQ1FFQWdBcVFQLy8v
Ny8vQUM4RUFnQ0lHUGpnOC9qL0FEb0VBZ0NLUSttcjJlbi9BRVVFQWdDUGNkRjByZEgvQUZBRUFn
Q1huYlJGZGJUL0FGc0VBZ0QxLzZXbEFDYi9BR2NFQWdCci8yZ0FhRGYvQUhRRUFnQUMwTmZYTUNm
L0FJQUVBZ0FLdVBUMGJVUC9BSXdFQWdBVW5mMzlybUgvQUpnRUFnQWZjLzcrNEl2L0FLUUVBZ0F6
YXUvWjc0di9BTEFFQWdBK2d0bW0yV3IvQUx3RUFnQlRlYjFtdldQL0FNZ0VBZ0JuMDVnYW1GRC9B
TlFFQWdEMS82V2xBQ2IvQU9BRUFnQm4wNWdhbUZEL0FPMEVBZ0JyLzJnQWFEZi9BUG9FQWdBQzBO
ZlhNQ2YvQUFZRkFnQUt1UFQwYlVQL0FCSUZBZ0FVbmYzOXJtSC9BQjRGQWdBZmMvNys0SXYvQUNv
RkFnQXFRUC8vLzcvL0FEWUZBZ0F6YXUvWjc0di9BRUlGQWdBK2d0bW0yV3IvQUU0RkFnQlRlYjFt
dldQL0FGb0ZBZ0FOcFB6OGpWbi9BR1VGQWdBcVFQLy8vNy8vQUhBRkFnQkNpTStSejJEL0FIc0ZB
Z0QrNGRmWEdSei9BSVlGQWdBVW5mMzlybUgvQUpFRkFnQStndG1tMldyL0FKd0ZBZ0JpMHBZYWxr
SC9BS2NGQWdEKzRkZlhHUnovQUxJRkFnQVVuZjM5cm1IL0FMMEZBZ0FxUVAvLy83Ly9BTWdGQWdB
K2d0bW0yV3IvQU5NRkFnQmkwcFlhbGtIL0FONEZBZ0FDME5mWE1DZi9BT2tGQWdBTnBQejhqVm4v
QVBRRkFnQWZjLzcrNEl2L0FQOEZBZ0F6YXUvWjc0di9BQW9HQWdCQ2lNK1J6MkQvQUJVR0FnQm4w
NWdhbUZEL0FDQUdBZ0FDME5mWE1DZi9BQ3NHQWdBTnBQejhqVm4vQURZR0FnQWZjLzcrNEl2L0FF
RUdBZ0FxUVAvLy83Ly9BRXdHQWdBemF1L1o3NHYvQUZjR0FnQkNpTStSejJEL0FHSUdBZ0JuMDVn
YW1GRC9BRzBHQWdBQzBOZlhNQ2YvQUhnR0FnQUt1UFQwYlVQL0FJTUdBZ0FVbmYzOXJtSC9BSTRH
QWdBZmMvNys0SXYvQUprR0FnQXphdS9aNzR2L0FLUUdBZ0ErZ3RtbTJXci9BSzhHQWdCVGViMW12
V1AvQUxvR0FnQm4wNWdhbUZEL0FNVUdBZ0FDME5mWE1DZi9BTkFHQWdBS3VQVDBiVVAvQU5zR0Fn
QVVuZjM5cm1IL0FPWUdBZ0FmYy83KzRJdi9BUEVHQWdBcVFQLy8vNy8vQVB3R0FnQXphdS9aNzR2
L0FBY0hBZ0ErZ3RtbTJXci9BQklIQWdCVGViMW12V1AvQUIwSEFnQm4wNWdhbUZEL0FDZ0hBZ0FO
TFA3KzROTC9BREVIQWdBSmkvejhrbkwvQURvSEFnQUIwOTdlTFNiL0FFTUhBZ0FOSmY3KzVkbi9B
RXdIQWdBTGJQejhycEgvQUZVSEFnQUhzL3Y3YWtyL0FGNEhBZ0Q5NE12TEdCMy9BR2NIQWdBTkpm
Nys1ZG4vQUhBSEFnQUxiUHo4cnBIL0FIa0hBZ0FIcy92N2Frci9BSUlIQWdBQjA5N2VMU2IvQUlz
SEFnRDk1NldsRHhYL0FKUUhBZ0FOSmY3KzVkbi9BSjBIQWdBTVhQejh1NkgvQUtZSEFnQUppL3o4
a25ML0FLOEhBZ0FIcy92N2Frci9BTGdIQWdBQjA5N2VMU2IvQU1FSEFnRDk1NldsRHhYL0FNb0hB
Z0FOSmY3KzVkbi9BTk1IQWdBTVhQejh1NkgvQU53SEFnQUppL3o4a25ML0FPVUhBZ0FIcy92N2Fr
ci9BTzRIQWdBRDBPL3ZPeXovQVBjSEFnRDk0TXZMR0IzL0FBQUlBZ0Q3LzVtWkFBMy9BQWtJQWdB
T0QvLy85ZkQvQUJJSUFnQU5MUDcrNE5ML0FCc0lBZ0FNWFB6OHU2SC9BQ1FJQWdBSmkvejhrbkwv
QUMwSUFnQUhzL3Y3YWtyL0FEWUlBZ0FEME8vdk95ei9BRDhJQWdEOTRNdkxHQjMvQUVnSUFnRDcv
NW1aQUEzL0FGRUlBZ0FPRC8vLzlmRC9BRm9JQWdBTkxQNys0TkwvQUdNSUFnQU1YUHo4dTZIL0FH
d0lBZ0FKaS96OGtuTC9BSFVJQWdBSHMvdjdha3IvQUg0SUFnQUQwTy92T3l6L0FJY0lBZ0Q5NE12
TEdCMy9BSkFJQWdEOTU2V2xEeFgvQUprSUFnRDUvMmRuQUEzL0FLSUlBZ0QrNGVUa0doei9BS3NJ
QWdDU3NyZzNmcmovQUxRSUFnQlRrNjlOcjByL0FMMElBZ0QrNGVUa0doei9BTVlJQWdDU3NyZzNm
cmovQU04SUFnQlRrNjlOcjByL0FOZ0lBZ0RQaEtPWVRxUC9BT0VJQWdEKzRlVGtHaHovQU9vSUFn
Q1NzcmczZnJqL0FQTUlBZ0JUazY5TnIwci9BUHdJQWdEUGhLT1lUcVAvQUFVSkFnQVYvLy8vZndE
L0FBNEpBZ0QrNGVUa0doei9BQmNKQWdDU3NyZzNmcmovQUNBSkFnQlRrNjlOcjByL0FDa0pBZ0RQ
aEtPWVRxUC9BRElKQWdBVi8vLy9md0QvQURzSkFnQXF6UC8vL3pQL0FFUUpBZ0QrNGVUa0doei9B
RTBKQWdDU3NyZzNmcmovQUZZSkFnQlRrNjlOcjByL0FGOEpBZ0RQaEtPWVRxUC9BR2dKQWdBVi8v
Ly9md0QvQUhFSkFnQXF6UC8vL3pQL0FIb0pBZ0FQd2FhbVZpai9BSU1KQWdEKzRlVGtHaHovQUl3
SkFnQ1NzcmczZnJqL0FKVUpBZ0JUazY5TnIwci9BSjRKQWdEUGhLT1lUcVAvQUtjSkFnQVYvLy8v
ZndEL0FMQUpBZ0FxelAvLy96UC9BTGtKQWdBUHdhYW1WaWovQU1JSkFnRG9lZmYzZ2IvL0FNc0pB
Z0QrNGVUa0doei9BTlFKQWdDU3NyZzNmcmovQU4wSkFnQlRrNjlOcjByL0FPWUpBZ0RQaEtPWVRx
UC9BTzhKQWdBVi8vLy9md0QvQVBnSkFnQXF6UC8vL3pQL0FBRUtBZ0FQd2FhbVZpai9BQW9LQWdE
b2VmZjNnYi8vQUJNS0FnQUFBSm1abVpuL0FCd0tBZ0J5ZU1KbXdxWC9BQ1VLQWdBTG0vejhqV0wv
QUM0S0FnQ2NUY3VOb012L0FEY0tBZ0J5ZU1KbXdxWC9BRUFLQWdBTG0vejhqV0wvQUVrS0FnQ2NU
Y3VOb012L0FGSUtBZ0RrWnVmbmlzUC9BRnNLQWdCeWVNSm13cVgvQUdRS0FnQUxtL3o4aldML0FH
MEtBZ0NjVGN1Tm9Ndi9BSFlLQWdEa1p1Zm5pc1AvQUg4S0FnQTZtOWltMkZUL0FJZ0tBZ0J5ZU1K
bXdxWC9BSkVLQWdBTG0vejhqV0wvQUpvS0FnQ2NUY3VOb012L0FLTUtBZ0RrWnVmbmlzUC9BS3dL
QWdBNm05aW0yRlQvQUxVS0FnQWkwUC8vMlMvL0FMNEtBZ0J5ZU1KbXdxWC9BTWNLQWdBTG0vejhq
V0wvQU5BS0FnQ2NUY3VOb012L0FOa0tBZ0RrWnVmbmlzUC9BT0lLQWdBNm05aW0yRlQvQU9zS0Fn
QWkwUC8vMlMvL0FQUUtBZ0FaV3VYbHhKVC9BUDBLQWdCeWVNSm13cVgvQUFZTEFnQUxtL3o4aldM
L0FBOExBZ0NjVGN1Tm9Ndi9BQmdMQWdEa1p1Zm5pc1AvQUNFTEFnQTZtOWltMkZUL0FDb0xBZ0Fp
MFAvLzJTLy9BRE1MQWdBWld1WGx4SlQvQUR3TEFnQUFBTE96czdQL0FFVUxBZ0I0Vk5PTjA4Zi9B
RThMQWdEVFVyMjhnTDMvQUZvTEFnQXFUUC8vLzdQL0FHUUxBZ0N2SmRxK3V0ci9BRzRMQWdBRWkv
djdnSEwvQUhnTEFnQ1FaTk9Bc2RQL0FJSUxBZ0FXblAzOXRHTC9BSXdMQWdBNmh0NnozbW4vQUpZ
TEFnRHBML3o4emVYL0FLQUxBZ0FBQU5uWjJkbi9BS29MQWdCNFZOT04wOGYvQUxRTEFnRFRVcjI4
Z0wzL0FMOExBZ0JOS2V2TTY4WC9BTW9MQWdBcVRQLy8vN1AvQU5RTEFnQ3ZKZHErdXRyL0FONExB
Z0FFaS92N2dITC9BT2dMQWdDUVpOT0FzZFAvQVBJTEFnQVduUDM5dEdML0FQd0xBZ0E2aHQ2ejNt
bi9BQVlNQWdEcEwvejh6ZVgvQUJBTUFnQUFBTm5aMmRuL0FCb01BZ0I0Vk5PTjA4Zi9BQ1FNQWdE
VFVyMjhnTDMvQUM4TUFnQk5LZXZNNjhYL0FEb01BZ0Fsa1AvLzdXLy9BRVVNQWdBcVRQLy8vN1Av
QUU4TUFnQ3ZKZHErdXRyL0FGa01BZ0FFaS92N2dITC9BR01NQWdDUVpOT0FzZFAvQUcwTUFnQVdu
UDM5dEdML0FIY01BZ0E2aHQ2ejNtbi9BSUVNQWdEcEwvejh6ZVgvQUlzTUFnQUFBTm5aMmRuL0FK
VU1BZ0I0Vk5PTjA4Zi9BSjRNQWdBcVRQLy8vN1AvQUtjTUFnQ3ZKZHErdXRyL0FMQU1BZ0I0Vk5P
TjA4Zi9BTGtNQWdBcVRQLy8vN1AvQU1JTUFnQ3ZKZHErdXRyL0FNc01BZ0FFaS92N2dITC9BTlFN
QWdCNFZOT04wOGYvQU4wTUFnQXFUUC8vLzdQL0FPWU1BZ0N2SmRxK3V0ci9BTzhNQWdBRWkvdjdn
SEwvQVBnTUFnQ1FaTk9Bc2RQL0FBRU5BZ0I0Vk5PTjA4Zi9BQW9OQWdBcVRQLy8vN1AvQUJNTkFn
Q3ZKZHErdXRyL0FCd05BZ0FFaS92N2dITC9BQ1VOQWdDUVpOT0FzZFAvQUM0TkFnQVduUDM5dEdM
L0FEY05BZ0I0Vk5PTjA4Zi9BRUFOQWdBcVRQLy8vN1AvQUVrTkFnQ3ZKZHErdXRyL0FGSU5BZ0FF
aS92N2dITC9BRnNOQWdDUVpOT0FzZFAvQUdRTkFnQVduUDM5dEdML0FHME5BZ0E2aHQ2ejNtbi9B
SFlOQWdCNFZOT04wOGYvQUg4TkFnQXFUUC8vLzdQL0FJZ05BZ0N2SmRxK3V0ci9BSkVOQWdBRWkv
djdnSEwvQUpvTkFnQ1FaTk9Bc2RQL0FLTU5BZ0FXblAzOXRHTC9BS3dOQWdBNmh0NnozbW4vQUxV
TkFnRHBML3o4emVYL0FMNE5BZ0I0Vk5PTjA4Zi9BTWNOQWdBcVRQLy8vN1AvQU5BTkFnQ3ZKZHEr
dXRyL0FOa05BZ0FFaS92N2dITC9BT0lOQWdDUVpOT0FzZFAvQU9zTkFnQVduUDM5dEdML0FQUU5B
Z0E2aHQ2ejNtbi9BUDBOQWdEcEwvejh6ZVgvQUFZT0FnQUFBTm5aMmRuL0FBOE9BZ0R0L1o2ZUFV
TC9BQjBPQWdDeGdxSmVUNkwvQUN3T0FnRDZ0TlhWUGsvL0FEb09BZ0FLdVBUMGJVUC9BRWdPQWdB
VW5mMzlybUgvQUZZT0FnQWZjLzcrNEl2L0FHUU9BZ0F4WVBYbTlaai9BSElPQWdCUFFkMnIzYVQv
QUlBT0FnQnllTUptd3FYL0FJNE9BZ0NQdTcweWlMMy9BSndPQWdEdC9aNmVBVUwvQUtvT0FnQ1B1
NzB5aUwzL0FMa09BZ0N4Z3FKZVQ2TC9BTWdPQWdENnROWFZQay8vQU5ZT0FnQUt1UFQwYlVQL0FP
UU9BZ0FVbmYzOXJtSC9BUElPQWdBZmMvNys0SXYvQUFBUEFnQXFRUC8vLzcvL0FBNFBBZ0F4WVBY
bTlaai9BQndQQWdCUFFkMnIzYVQvQUNvUEFnQnllTUptd3FYL0FEZ1BBZ0FOcFB6OGpWbi9BRVVQ
QWdBcVFQLy8vNy8vQUZJUEFnQlJUZFdaMVpUL0FGOFBBZ0QrNGRmWEdSei9BR3dQQWdBVW5mMzly
bUgvQUhrUEFnQlBRZDJyM2FUL0FJWVBBZ0NQeExvcmc3ci9BSk1QQWdEKzRkZlhHUnovQUtBUEFn
QVVuZjM5cm1IL0FLMFBBZ0FxUVAvLy83Ly9BTG9QQWdCUFFkMnIzYVQvQU1jUEFnQ1B4TG9yZzdy
L0FOUVBBZ0Q2dE5YVlBrLy9BT0VQQWdBTnBQejhqVm4vQU80UEFnQWZjLzcrNEl2L0FQc1BBZ0F4
WVBYbTlaai9BQWdRQWdCUlRkV1oxWlQvQUJVUUFnQ1B1NzB5aUwzL0FDSVFBZ0Q2dE5YVlBrLy9B
QzhRQWdBTnBQejhqVm4vQUR3UUFnQWZjLzcrNEl2L0FFa1FBZ0FxUVAvLy83Ly9BRllRQWdBeFlQ
WG05WmovQUdNUUFnQlJUZFdaMVpUL0FIQVFBZ0NQdTcweWlMMy9BSDBRQWdENnROWFZQay8vQUlv
UUFnQUt1UFQwYlVQL0FKY1FBZ0FVbmYzOXJtSC9BS1FRQWdBZmMvNys0SXYvQUxFUUFnQXhZUFht
OVpqL0FMNFFBZ0JQUWQycjNhVC9BTXNRQWdCeWVNSm13cVgvQU5nUUFnQ1B1NzB5aUwzL0FPVVFB
Z0Q2dE5YVlBrLy9BUElRQWdBS3VQVDBiVVAvQVA4UUFnQVVuZjM5cm1IL0FBd1JBZ0FmYy83KzRJ
di9BQmtSQWdBcVFQLy8vNy8vQUNZUkFnQXhZUFhtOVpqL0FETVJBZ0JQUWQycjNhVC9BRUFSQWdC
eWVNSm13cVgvQUUwUkFnQ1B1NzB5aUwzL0FGb1JBZ0NURC8vdytQLy9BR2tSQWdBWUkvcjY2OWYv
QUhzUkFnQi8vLzhBLy8vL0FJVVJBZ0J4Z1A5Ly85VC9BSlVSQWdCL0QvL3cvLy8vQUtBUkFnQXFH
dlgxOWR6L0FLc1JBZ0FYT3YvLzVNVC9BTGNSQWdBQUFBQUFBQUQvQU1JUkFnQVpNZi8vNjgzL0FO
WVJBZ0NxLy84QUFQLy9BT0FSQWdEQXp1S0tLK0wvQVBBUkFnQUF2cVdsS2lyL0FQc1JBZ0FYWTk3
ZXVJZi9BQW9TQWdDQVo2QmZucUQvQUJrU0FnQS8vLzkvL3dEL0FDa1NBZ0FSMnRMU2FSNy9BRGdT
QWdBTHIvLy9mMUQvQUVNU0FnQ2FrKzFrbGUzL0FGY1NBZ0FoSXYvLytOei9BR1VTQWdEMjU5emNG
RHovQUhJU0FnQi8vLzhBLy8vL0FId1NBZ0NxLzRzQUFJdi9BSW9TQWdCLy80c0FpNHYvQUpnU0Fn
QWU3N2k0aGd2L0FLc1NBZ0FBQUttcHFhbi9BTGtTQWdCVi8yUUFaQUQvQU1nU0FnQUFBS21wcWFu
L0FOWVNBZ0FuYnIyOXQydi9BT1VTQWdEVS80dUxBSXYvQVBZU0FnQTZqbXRWYXkvL0FBb1RBZ0FY
Ly8vL2pBRC9BQm9UQWdER3dNeVpNc3ovQUNvVEFnQUEvNHVMQUFEL0FEY1RBZ0FLZWVucGxuci9B
RWNUQWdCVlBieVB2SS8vQUZrVEFnQ3ZqNHRJUFl2L0FHd1RBZ0IvWjA4dlQwLy9BSDhUQWdCL1ow
OHZUMC8vQUpJVEFnQ0EvOUVBenRIL0FLVVRBZ0RILzlPVUFOUC9BTFVUQWdEbzYvLy9GSlAvQU1N
VEFnQ0svLzhBdi8vL0FOUVRBZ0FBQUdscGFXbi9BT0VUQWdBQUFHbHBhV24vQU80VEFnQ1U0Zjhl
a1AvL0FQNFRBZ0FBenJLeUlpTC9BQTBVQWdBY0QvLy8rdkQvQUI0VUFnQlZ3SXNpaXlML0FDOFVB
Z0RVLy8vL0FQLy9BRHdVQWdBQUFOemMzTnovQUVzVUFnQ3FCLy80K1AvL0FGc1VBZ0FqLy8vLzF3
RC9BR1VVQWdBZTJkcmFwU0QvQUhRVUFnQUFBSUNBZ0lEL0FINFVBZ0JWLzRBQWdBRC9BSWtVQWdB
NzBQK3QveS8vQUpvVUFnQUFBSUNBZ0lEL0FLUVVBZ0JWRC8vdy8vRC9BTElVQWdEcGx2Ly9hYlQv
QUw4VUFnQUFqTTNOWEZ6L0FNNFVBZ0RDLzRKTEFJTC9BTm9VQWdBcUQvLy8vL0QvQU9VVUFnQW1h
dkR3NW96L0FQQVVBZ0NxRlBybTV2ci9BUDRVQWdEd0QvLy84UFgvQUJFVkFnQkEvL3g4L0FEL0FD
QVZBZ0FtTWYvLytzMy9BRElWQWdDSlArYXQyT2IvQUVFVkFnQUFkL0R3Z0lEL0FGRVZBZ0IvSC8v
Zy8vLy9BR0FWQWdBcUtQcjYrdEwvQUhvVkFnQUFBTlBUMDlQL0FJa1ZBZ0JWWk82UTdwRC9BSmtW
QWdBQUFOUFQwOVAvQUtnVkFnRDRTZi8vdHNIL0FMY1ZBZ0FNaFAvL29Ici9BTWdWQWdCOTBiSWdz
cXIvQU5zVkFnQ1BkZnFIenZyL0FPMFZBZ0NVT0psM2lKbi9BQUVXQWdDVU9KbDNpSm4vQUJVV0Fn
Q1hOTjZ3eE43L0FDa1dBZ0FxSC8vLy8rRC9BRG9XQWdCVi8vOEEvd0QvQUVRV0FnQlZ3TTB5elRM
L0FGTVdBZ0FWRlByNjhPYi9BRjRXQWdEVS8vLy9BUC8vQUdzV0FnQUEvNENBQUFEL0FIY1dBZ0J4
Z00xbXphci9BSTBXQWdDcS84MEFBTTMvQUowV0FnRE1tTk82VmRQL0FLOFdBZ0MzZk51VGNOdi9B
TUVXQWdCbnFiTThzM0gvQU5VV0FnQ3dqKzU3YU83L0FPb1dBZ0J2Ly9vQStwci9BQUVYQWdCOXA5
RkkwY3ovQUJZWEFnRGs1TWZIRllYL0FDc1hBZ0NxeG5BWkdYRC9BRDBYQWdCcUNmLzEvL3IvQUV3
WEFnQUVIdi8vNU9IL0FGc1hBZ0FhU2YvLzVMWC9BR2tYQWdBWlVmLy8zcTMvQUhvWEFnQ3EvNEFB
QUlEL0FJUVhBZ0FiRi8zOTllYi9BSkVYQWdBcS80Q0FnQUQvQUp3WEFnQTR3STVyamlQL0FLc1hB
Z0FiLy8vL3BRRC9BTGNYQWdBTC8vLy9SUUQvQU1ZWEFnRFdlOXJhY05iL0FOSVhBZ0FtU083dTZL
ci9BT1VYQWdCVlpQdVkrNWovQVBRWEFnQi9RKzZ2N3U3L0FBY1lBZ0R4Zk52YmNKUC9BQm9ZQWdB
YUtmLy83OVgvQUNvWUFnQVVSdi8vMnJuL0FEa1lBZ0FVc00zTmhULy9BRU1ZQWdEM1AvLy93TXYv
QUUwWUFnRFVSdDNkb04zL0FGY1lBZ0NFTythdzRPYi9BR2NZQWdEVS80Q0FBSUQvQUhNWUFnQUEv
Ly8vQUFEL0FId1lBZ0FBUGJ5OGo0Ly9BSXNZQWdDZnRlRkJhZUgvQUpvWUFnQVIzSXVMUlJQL0FL
c1lBZ0FFaXZyNmdITC9BTGNZQWdBVG12VDBwR0QvQU1jWUFnQm5xb3N1aTFmL0FOVVlBZ0FSRVAv
LzllNy9BT01ZQWdBTnQ2Q2dVaTMvQU84WUFnQUFBTURBd01EL0FQc1lBZ0NMYk91SHp1di9BQWda
QWdDdmo4MXFXczMvQUJjWkFnQ1VPSkJ3Z0pEL0FDWVpBZ0NVT0pCd2dKRC9BRFVaQWdBQUJmLy8r
dnIvQUQ4WkFnQnEvLzhBLzMvL0FGQVpBZ0NTbTdSR2dyVC9BRjhaQWdBWVZOTFN0SXovQUdnWkFn
Qi8vNEFBZ0lEL0FISVpBZ0RVSGRqWXY5ai9BSDhaQWdBR3VQLy9ZMGYvQUlzWkFnQjd0dUJBNE5E
L0FKb1pBZ0RVYys3dWd1Ny9BS1laQWdBYlJQWDEzclAvQUxFWkFnQUFBUC8vLy8vL0FMd1pBZ0FB
QVBYMTlmWC9BTXdaQWdBcS8vLy8vd0QvQU5nWkFnQTR3TTJhelRML0FPa1pBZ0F0US96My9Mbi9B
UElaQWdCRVc5MnQzWTcvQVBzWkFnQmlzcU14bzFUL0FBUWFBZ0FxTXYvLy84ei9BQTBhQWdBK1Zl
YkM1cG4vQUJZYUFnQlZaTVo0eG5uL0FCOGFBZ0JqdTRRamhFUC9BQ2dhQWdBcU12Ly8vOHovQURF
YUFnQStWZWJDNXBuL0FEb2FBZ0JWWk1aNHhubi9BRU1hQWdCaXNxTXhvMVQvQUV3YUFnQnIvMmdB
YURmL0FGVWFBZ0FxTXYvLy84ei9BRjRhQWdBM1VmRFo4S1AvQUdjYUFnQkVXOTJ0M1k3L0FIQWFB
Z0JWWk1aNHhubi9BSGthQWdCaXNxTXhvMVQvQUlJYUFnQnIvMmdBYURmL0FJc2FBZ0FxTXYvLy84
ei9BSlFhQWdBM1VmRFo4S1AvQUowYUFnQkVXOTJ0M1k3L0FLWWFBZ0JWWk1aNHhubi9BSzhhQWdC
Z25xdEJxMTMvQUxnYUFnQmp1NFFqaEVQL0FNRWFBZ0JzLzFvQVdqTC9BTW9hQWdBcUdmLy8vK1gv
QU5NYUFnQXRRL3ozL0xuL0FOd2FBZ0EzVWZEWjhLUC9BT1VhQWdCRVc5MnQzWTcvQU80YUFnQlZa
TVo0eG5uL0FQY2FBZ0JnbnF0QnExMy9BQUFiQWdCanU0UWpoRVAvQUFrYkFnQnMvMW9BV2pML0FC
SWJBZ0FxR2YvLy8rWC9BQnNiQWdBdFEvejMvTG4vQUNRYkFnQTNVZkRaOEtQL0FDMGJBZ0JFVzky
dDNZNy9BRFliQWdCVlpNWjR4bm4vQUQ4YkFnQmducXRCcTEzL0FFZ2JBZ0JqdTRRamhFUC9BRkVi
QWdCci8yZ0FhRGYvQUZvYkFnQnUvMFVBUlNuL0FHTWJBZ0F4U2ZqdCtMSC9BRzRiQWdCMVljMS96
YnYvQUhrYkFnQ1F3cmdzZjdqL0FJUWJBZ0FxTXYvLy84ei9BSThiQWdCalF0cWgyclQvQUpvYkFn
Q0Vxc1JCdHNUL0FLVWJBZ0NXeTZnaVhxai9BTEFiQWdBcU12Ly8vOHovQUxzYkFnQmpRdHFoMnJU
L0FNWWJBZ0NFcXNSQnRzVC9BTkViQWdDUXdyZ3NmN2ovQU53YkFnQ2t2NVFsTkpUL0FPY2JBZ0Fx
TXYvLy84ei9BUEliQWdCRk91bkg2YlQvQVAwYkFnQjFZYzEvemJ2L0FBZ2NBZ0NFcXNSQnRzVC9B
Qk1jQWdDUXdyZ3NmN2ovQUI0Y0FnQ2t2NVFsTkpUL0FDa2NBZ0FxTXYvLy84ei9BRFFjQWdCRk91
bkg2YlQvQUQ4Y0FnQjFZYzEvemJ2L0FFb2NBZ0NFcXNSQnRzVC9BRlVjQWdDTDJNQWRrY0QvQUdB
Y0FnQ1d5NmdpWHFqL0FHc2NBZ0NlNTRRTUxJVC9BSFljQWdBcUp2Ly8vOW4vQUlFY0FnQXhTZmp0
K0xIL0FJd2NBZ0JGT3VuSDZiVC9BSmNjQWdCMVljMS96YnYvQUtJY0FnQ0Vxc1JCdHNUL0FLMGNB
Z0NMMk1BZGtjRC9BTGdjQWdDV3k2Z2lYcWovQU1NY0FnQ2U1NFFNTElUL0FNNGNBZ0FxSnYvLy85
bi9BTmtjQWdBeFNmanQrTEgvQU9RY0FnQkZPdW5INmJUL0FPOGNBZ0IxWWMxL3pidi9BUG9jQWdD
RXFzUkJ0c1QvQUFVZEFnQ0wyTUFka2NEL0FCQWRBZ0NXeTZnaVhxai9BQnNkQWdDa3Y1UWxOSlQv
QUNZZEFnQ2U1MWdJSFZqL0FERWRBZ0FsUXYvLzk3ei9BRHdkQWdBY3IvNyt4RS8vQUVjZEFnQVE3
dG5aWHc3L0FGSWRBZ0FxS3YvLy85VC9BRjBkQWdBY2NQNysyWTcvQUdnZEFnQVcxZjcrbVNuL0FI
TWRBZ0FQL016TVRBTC9BSDRkQWdBcUt2Ly8vOVQvQUlrZEFnQWNjUDcrMlk3L0FKUWRBZ0FXMWY3
K21Tbi9BSjhkQWdBUTd0blpYdzcvQUtvZEFnQU4rSm1aTkFUL0FMVWRBZ0FxS3YvLy85VC9BTUFk
QWdBZmJmNys0NUgvQU1zZEFnQWNyLzcreEUvL0FOWWRBZ0FXMWY3K21Tbi9BT0VkQWdBUTd0blpY
dzcvQU93ZEFnQU4rSm1aTkFUL0FQY2RBZ0FxS3YvLy85VC9BQUllQWdBZmJmNys0NUgvQUEwZUFn
QWNyLzcreEUvL0FCZ2VBZ0FXMWY3K21Tbi9BQ01lQWdBUzZlenNjQlQvQUM0ZUFnQVAvTXpNVEFM
L0FEa2VBZ0FNOTR5TUxRVC9BRVFlQWdBcUdmLy8vK1gvQUU4ZUFnQWxRdi8vOTd6L0FGb2VBZ0Fm
YmY3KzQ1SC9BR1VlQWdBY3IvNyt4RS8vQUhBZUFnQVcxZjcrbVNuL0FIc2VBZ0FTNmV6c2NCVC9B
SVllQWdBUC9Nek1UQUwvQUpFZUFnQU05NHlNTFFUL0FKd2VBZ0FxR2YvLy8rWC9BS2NlQWdBbFF2
Ly85N3ovQUxJZUFnQWZiZjcrNDVIL0FMMGVBZ0Fjci83K3hFLy9BTWdlQWdBVzFmNyttU24vQU5N
ZUFnQVM2ZXpzY0JUL0FONGVBZ0FQL016TVRBTC9BT2tlQWdBTitKbVpOQVQvQVBRZUFnQU44R1pt
SlFiL0FQOGVBZ0FpWC8vLzdhRC9BQW9mQWdBWXN2Nytza3ovQUJVZkFnQUYzZkR3T3lEL0FDQWZB
Z0FxVGYvLy83TC9BQ3NmQWdBZG92Nyt6RnovQURZZkFnQVJ3djM5alR6L0FFRWZBZ0QrNGVQakdo
ei9BRXdmQWdBcVRmLy8vN0wvQUZjZkFnQWRvdjcrekZ6L0FHSWZBZ0FSd3YzOWpUei9BRzBmQWdB
RjNmRHdPeUQvQUhnZkFnRDIvNzI5QUNiL0FJTWZBZ0FxVGYvLy83TC9BSTRmQWdBZWlQNysyWGIv
QUprZkFnQVlzdjcrc2t6L0FLUWZBZ0FSd3YzOWpUei9BSzhmQWdBRjNmRHdPeUQvQUxvZkFnRDIv
NzI5QUNiL0FNVWZBZ0FxVGYvLy83TC9BTkFmQWdBZWlQNysyWGIvQU5zZkFnQVlzdjcrc2t6L0FP
WWZBZ0FSd3YzOWpUei9BUEVmQWdBSDFQejhUaXIvQVB3ZkFnRCs0ZVBqR2h6L0FBY2dBZ0QxLzdH
eEFDYi9BQklnQWdBcU12Ly8vOHovQUIwZ0FnQWlYLy8vN2FEL0FDZ2dBZ0FlaVA3KzJYYi9BRE1n
QWdBWXN2Nytza3ovQUQ0Z0FnQVJ3djM5alR6L0FFa2dBZ0FIMVB6OFRpci9BRlFnQWdEKzRlUGpH
aHovQUY4Z0FnRDEvN0d4QUNiL0FHb2dBZ0FxTXYvLy84ei9BSFVnQWdBaVgvLy83YUQvQUlBZ0Fn
QWVpUDcrMlhiL0FJc2dBZ0FZc3Y3K3Nrei9BSllnQWdBUnd2MzlqVHovQUtFZ0FnQUgxUHo4VGly
L0FLd2dBZ0QrNGVQakdoei9BTGNnQWdEMi83MjlBQ2IvQU1JZ0FnRHkvNENBQUNiL0FNMGdBZ0NU
RC8vdytQLy9BTmNnQWdBWUkvcjY2OWYvQU9RZ0FnQVhKUC8vNzl2L0FQSWdBZ0FYSk83dTM4ei9B
QUFoQWdBWEpNM053TEQvQUE0aEFnQVlJb3VMZzNqL0FCd2hBZ0J4Z1A5Ly85VC9BQ2NoQWdCeGdQ
OS8vOVQvQURNaEFnQnhnTzUyN3NiL0FEOGhBZ0J4Z00xbXphci9BRXNoQWdCeGdJdEZpM1QvQUZj
aEFnQi9ELy93Ly8vL0FGMGhBZ0IvRC8vdy8vLy9BR1FoQWdCL0QrN2c3dTcvQUdzaEFnQi9EczNC
emMzL0FISWhBZ0IvRG91RGk0di9BSGtoQWdBcUd2WDE5ZHovQUg4aEFnQVhPdi8vNU1UL0FJWWhB
Z0FYT3YvLzVNVC9BSTRoQWdBWE91N3UxYmYvQUpZaEFnQVdPczNOdDU3L0FKNGhBZ0FYT291TGZX
di9BTEE0QWdBQUFBQUFBQUQvQUtZaEFnQVpNZi8vNjgzL0FMVWhBZ0NxLy84QUFQLy9BTG9oQWdD
cS8vOEFBUC8vQU1BaEFnQ3EvKzRBQU83L0FNWWhBZ0NxLzgwQUFNMy9BTXdoQWdDcS80c0FBSXYv
QU5JaEFnREF6dUtLSytML0FOMGhBZ0FBdnFXbEtpci9BT01oQWdBQXYvLy9RRUQvQU9vaEFnQUF2
Kzd1T3p2L0FQRWhBZ0FBdjgzTk16UC9BUGdoQWdBQXZvdUxJeVAvQVA4aEFnQVhZOTdldUlmL0FB
a2lBZ0FYWlAvLzA1di9BQlFpQWdBWFkrN3V4WkgvQUI4aUFnQVhZODNOcW4zL0FDb2lBZ0FYWTR1
TGMxWC9BRFVpQWdDQVo2QmZucUQvQUQ4aUFnQ0RaLytZOWYvL0FFb2lBZ0NEWnU2TzVlNy9BRlVp
QWdDRFo4MTZ4YzMvQUdBaUFnQ0Rab3RUaG92L0FHc2lBZ0EvLy85Ly93RC9BSFlpQWdBLy8vOS8v
d0QvQUlJaUFnQS8vKzUyN2dEL0FJNGlBZ0EvLzgxbXpRRC9BSm9pQWdBLy80dEZpd0QvQUtZaUFn
QVIydExTYVI3L0FMQWlBZ0FSMi8vL2Z5VC9BTHNpQWdBUjIrN3VkaUgvQU1ZaUFnQVIyczNOWmgz
L0FORWlBZ0FSM0l1TFJSUC9BTndpQWdBTHIvLy9mMUQvQU9JaUFnQUhxZi8vY2xiL0FPa2lBZ0FH
cWU3dWFsRC9BUEFpQWdBR3FjM05XMFgvQVBjaUFnQUdxSXVMUGkvL0FQNGlBZ0Nhaysxa2xlMy9B
QTBqQWdBaEl2Ly8rTnovQUJZakFnQWhJdi8vK056L0FDQWpBZ0FpSSs3dTZNMy9BQ29qQWdBaUlz
M055TEgvQURRakFnQWpJb3VMaUhqL0FENGpBZ0QyNTl6Y0ZEei9BRVlqQWdCLy8vOEEvLy8vQUVz
akFnQi8vLzhBLy8vL0FGRWpBZ0IvLys0QTd1Ny9BRmNqQWdCLy84MEF6YzMvQUYwakFnQi8vNHNB
aTR2L0FHTWpBZ0FlNzdpNGhndi9BSEVqQWdBZThQLy91US8vQUlBakFnQWU4Tzd1clE3L0FJOGpB
Z0FlOE0zTmxRei9BSjRqQWdBZThJdUxaUWovQUswakFnQlYvMlFBWkFEL0FMY2pBZ0FuYnIyOXQy
di9BTUVqQWdBNmptdFZheS8vQU5BakFnQTZqLy9LLzNEL0FPQWpBZ0E2ais2ODdtai9BUEFqQWdB
Nmo4Mml6VnIvQUFBa0FnQTZqNHR1aXozL0FCQWtBZ0FYLy8vL2pBRC9BQnNrQWdBVi8vLy9md0Qv
QUNja0FnQVYvKzd1ZGdEL0FETWtBZ0FWLzgzTlpnRC9BRDhrQWdBVi80dUxSUUQvQUVza0FnREd3
TXlaTXN6L0FGWWtBZ0RHd2YrL1B2Ly9BR0lrQWdER3dPNnlPdTcvQUc0a0FnREd3TTJhTXMzL0FI
b2tBZ0RHd0l0b0lvdi9BSVlrQWdBS2VlbnBsbnIvQUpFa0FnQlZQYnlQdkkvL0FKNGtBZ0JWUHYv
Qi84SC9BS3drQWdCVlB1NjA3clQvQUxva0FnQlZQczJielp2L0FNZ2tBZ0JWUG90cGkybi9BTllr
QWdDdmo0dElQWXYvQU9Ra0FnQi9aMDh2VDAvL0FQSWtBZ0IvYVArWC8vLy9BQUVsQWdCL1orNk43
dTcvQUJBbEFnQi9hTTE1emMzL0FCOGxBZ0IvYUl0U2k0di9BQzRsQWdCL1owOHZUMC8vQUR3bEFn
Q0EvOUVBenRIL0FFb2xBZ0RILzlPVUFOUC9BRlVsQWdEbzYvLy9GSlAvQUY0bEFnRG82Ly8vRkpQ
L0FHZ2xBZ0RvNis3dUVvbi9BSElsQWdEbzY4M05FSGIvQUh3bEFnRG43SXVMQ2xEL0FJWWxBZ0NL
Ly84QXYvLy9BSklsQWdDSy8vOEF2Ly8vQUo4bEFnQ0svKzRBc3U3L0FLd2xBZ0NLLzgwQW1zMy9B
TGtsQWdDSy80c0FhSXYvQU1ZbEFnQUFBR2xwYVduL0FNNGxBZ0FBQUdscGFXbi9BTllsQWdDVTRm
OGVrUC8vQU9FbEFnQ1U0Zjhla1AvL0FPMGxBZ0NVNGU0Y2h1Ny9BUGtsQWdDVTRjMFlkTTMvQUFV
bUFnQ1U0WXNRVG92L0FCRW1BZ0FBenJLeUlpTC9BQnNtQWdBQXovLy9NREQvQUNZbUFnQUF6Kzd1
TEN6L0FERW1BZ0FBejgzTkppYi9BRHdtQWdBQXo0dUxHaHIvQUVjbUFnQWNELy8vK3ZEL0FGTW1B
Z0JWd0lzaWl5TC9BRjhtQWdBQUFOemMzTnovQUdrbUFnQ3FCLy80K1AvL0FIUW1BZ0FqLy8vLzF3
RC9BSGttQWdBai8vLy8xd0QvQUg4bUFnQWovKzd1eVFEL0FJVW1BZ0FqLzgzTnJRRC9BSXNtQWdB
ai80dUxkUUQvQUpFbUFnQWUyZHJhcFNEL0FKc21BZ0FlMnYvL3dTWC9BS1ltQWdBZTJ1N3V0Q0wv
QUxFbUFnQWUyczNObXgzL0FMd21BZ0FlMm91TGFSVC9BTWNtQWdBQUFNREF3TUQvQU13bUFnQUFB
QUFBQUFEL0FOSW1BZ0FBQUFNREF3UC9BTmdtQWdBQUFCb2FHaHIvQU44bUFnQUFBUC8vLy8vL0FP
Y21BZ0FBQUJ3Y0hCei9BTzRtQWdBQUFCOGZIeC8vQVBVbUFnQUFBQ0VoSVNIL0FQd21BZ0FBQUNR
a0pDVC9BQU1uQWdBQUFDWW1KaWIvQUFvbkFnQUFBQ2twS1NuL0FCRW5BZ0FBQUNzckt5di9BQmdu
QWdBQUFDNHVMaTcvQUI4bkFnQUFBREF3TUREL0FDWW5BZ0FBQUFVRkJRWC9BQ3duQWdBQUFETXpN
elAvQURNbkFnQUFBRFkyTmpiL0FEb25BZ0FBQURnNE9Eai9BRUVuQWdBQUFEczdPenYvQUVnbkFn
QUFBRDA5UFQzL0FFOG5BZ0FBQUVCQVFFRC9BRlluQWdBQUFFSkNRa0wvQUYwbkFnQUFBRVZGUlVY
L0FHUW5BZ0FBQUVkSFIwZi9BR3NuQWdBQUFFcEtTa3IvQUhJbkFnQUFBQWdJQ0FqL0FIZ25BZ0FB
QUUxTlRVMy9BSDhuQWdBQUFFOVBUMC8vQUlZbkFnQUFBRkpTVWxML0FJMG5BZ0FBQUZSVVZGVC9B
SlFuQWdBQUFGZFhWMWYvQUpzbkFnQUFBRmxaV1ZuL0FLSW5BZ0FBQUZ4Y1hGei9BS2tuQWdBQUFG
NWVYbDcvQUxBbkFnQUFBR0ZoWVdIL0FMY25BZ0FBQUdOalkyUC9BTDRuQWdBQUFBb0tDZ3IvQU1R
bkFnQUFBR1ptWm1iL0FNc25BZ0FBQUdscGFXbi9BTkluQWdBQUFHdHJhMnYvQU5rbkFnQUFBRzV1
Ym03L0FPQW5BZ0FBQUhCd2NIRC9BT2NuQWdBQUFITnpjM1AvQU80bkFnQUFBSFYxZFhYL0FQVW5B
Z0FBQUhoNGVIai9BUHduQWdBQUFIcDZlbnIvQUFNb0FnQUFBSDE5ZlgzL0FBb29BZ0FBQUEwTkRR
My9BQkFvQWdBQUFIOS9mMy8vQUJjb0FnQUFBSUtDZ29ML0FCNG9BZ0FBQUlXRmhZWC9BQ1VvQWdB
QUFJZUhoNGYvQUN3b0FnQUFBSXFLaW9yL0FETW9BZ0FBQUl5TWpJei9BRG9vQWdBQUFJK1BqNC8v
QUVFb0FnQUFBSkdSa1pIL0FFZ29BZ0FBQUpTVWxKVC9BRThvQWdBQUFKYVdscGIvQUZZb0FnQUFB
QThQRHcvL0FGd29BZ0FBQUptWm1abi9BR01vQWdBQUFKeWNuSnovQUdvb0FnQUFBSjZlbnA3L0FI
RW9BZ0FBQUtHaG9hSC9BSGdvQWdBQUFLT2pvNlAvQUg4b0FnQUFBS2FtcHFiL0FJWW9BZ0FBQUtp
b3FLai9BSTBvQWdBQUFLdXJxNnYvQUpRb0FnQUFBSzJ0cmEzL0FKc29BZ0FBQUxDd3NMRC9BS0lv
QWdBQUFCSVNFaEwvQUtnb0FnQUFBTE96czdQL0FLOG9BZ0FBQUxXMXRiWC9BTFlvQWdBQUFMaTR1
TGovQUwwb0FnQUFBTHE2dXJyL0FNUW9BZ0FBQUwyOXZiMy9BTXNvQWdBQUFMKy92Ny8vQU5Jb0Fn
QUFBTUxDd3NML0FOa29BZ0FBQU1URXhNVC9BT0FvQWdBQUFNZkh4OGYvQU9jb0FnQUFBTW5KeWNu
L0FPNG9BZ0FBQUJRVUZCVC9BUFFvQWdBQUFNek16TXovQVBzb0FnQUFBTS9QejgvL0FBSXBBZ0FB
QU5IUjBkSC9BQWtwQWdBQUFOVFUxTlQvQUJBcEFnQUFBTmJXMXRiL0FCY3BBZ0FBQU5uWjJkbi9B
QjRwQWdBQUFOdmIyOXYvQUNVcEFnQUFBTjdlM3Q3L0FDd3BBZ0FBQU9EZzRPRC9BRE1wQWdBQUFP
UGo0K1AvQURvcEFnQUFBQmNYRnhmL0FFQXBBZ0FBQU9YbDVlWC9BRWNwQWdBQUFPam82T2ovQUU0
cEFnQUFBT3ZyNit2L0FGVXBBZ0FBQU8zdDdlMy9BRndwQWdBQUFQRHc4UEQvQUdNcEFnQUFBUEx5
OHZML0FHb3BBZ0FBQVBYMTlmWC9BSEVwQWdBQUFQZjM5L2YvQUhncEFnQUFBUHI2K3ZyL0FIOHBB
Z0FBQVB6OC9Qei9BSVlwQWdCVi8vOEEvd0QvQUl3cEFnQlYvLzhBL3dEL0FKTXBBZ0JWLys0QTdn
RC9BSm9wQWdCVi84MEF6UUQvQUtFcEFnQlYvNHNBaXdEL0FLZ3BBZ0E3MFArdC95Ly9BTFFwQWdB
QUFNREF3TUQvQUxrcEFnQUFBQUFBQUFEL0FMOHBBZ0FBQUFNREF3UC9BTVVwQWdBQUFCb2FHaHIv
QU13cEFnQUFBUC8vLy8vL0FOUXBBZ0FBQUJ3Y0hCei9BTnNwQWdBQUFCOGZIeC8vQU9JcEFnQUFB
Q0VoSVNIL0FPa3BBZ0FBQUNRa0pDVC9BUEFwQWdBQUFDWW1KaWIvQVBjcEFnQUFBQ2twS1NuL0FQ
NHBBZ0FBQUNzckt5di9BQVVxQWdBQUFDNHVMaTcvQUF3cUFnQUFBREF3TUREL0FCTXFBZ0FBQUFV
RkJRWC9BQmtxQWdBQUFETXpNelAvQUNBcUFnQUFBRFkyTmpiL0FDY3FBZ0FBQURnNE9Eai9BQzRx
QWdBQUFEczdPenYvQURVcUFnQUFBRDA5UFQzL0FEd3FBZ0FBQUVCQVFFRC9BRU1xQWdBQUFFSkNR
a0wvQUVvcUFnQUFBRVZGUlVYL0FGRXFBZ0FBQUVkSFIwZi9BRmdxQWdBQUFFcEtTa3IvQUY4cUFn
QUFBQWdJQ0FqL0FHVXFBZ0FBQUUxTlRVMy9BR3dxQWdBQUFFOVBUMC8vQUhNcUFnQUFBRkpTVWxM
L0FIb3FBZ0FBQUZSVVZGVC9BSUVxQWdBQUFGZFhWMWYvQUlncUFnQUFBRmxaV1ZuL0FJOHFBZ0FB
QUZ4Y1hGei9BSllxQWdBQUFGNWVYbDcvQUowcUFnQUFBR0ZoWVdIL0FLUXFBZ0FBQUdOalkyUC9B
S3NxQWdBQUFBb0tDZ3IvQUxFcUFnQUFBR1ptWm1iL0FMZ3FBZ0FBQUdscGFXbi9BTDhxQWdBQUFH
dHJhMnYvQU1ZcUFnQUFBRzV1Ym03L0FNMHFBZ0FBQUhCd2NIRC9BTlFxQWdBQUFITnpjM1AvQU5z
cUFnQUFBSFYxZFhYL0FPSXFBZ0FBQUhoNGVIai9BT2txQWdBQUFIcDZlbnIvQVBBcUFnQUFBSDE5
ZlgzL0FQY3FBZ0FBQUEwTkRRMy9BUDBxQWdBQUFIOS9mMy8vQUFRckFnQUFBSUtDZ29ML0FBc3JB
Z0FBQUlXRmhZWC9BQklyQWdBQUFJZUhoNGYvQUJrckFnQUFBSXFLaW9yL0FDQXJBZ0FBQUl5TWpJ
ei9BQ2NyQWdBQUFJK1BqNC8vQUM0ckFnQUFBSkdSa1pIL0FEVXJBZ0FBQUpTVWxKVC9BRHdyQWdB
QUFKYVdscGIvQUVNckFnQUFBQThQRHcvL0FFa3JBZ0FBQUptWm1abi9BRkFyQWdBQUFKeWNuSnov
QUZjckFnQUFBSjZlbnA3L0FGNHJBZ0FBQUtHaG9hSC9BR1VyQWdBQUFLT2pvNlAvQUd3ckFnQUFB
S2FtcHFiL0FITXJBZ0FBQUtpb3FLai9BSG9yQWdBQUFLdXJxNnYvQUlFckFnQUFBSzJ0cmEzL0FJ
Z3JBZ0FBQUxDd3NMRC9BSThyQWdBQUFCSVNFaEwvQUpVckFnQUFBTE96czdQL0FKd3JBZ0FBQUxX
MXRiWC9BS01yQWdBQUFMaTR1TGovQUtvckFnQUFBTHE2dXJyL0FMRXJBZ0FBQUwyOXZiMy9BTGdy
QWdBQUFMKy92Ny8vQUw4ckFnQUFBTUxDd3NML0FNWXJBZ0FBQU1URXhNVC9BTTByQWdBQUFNZkh4
OGYvQU5RckFnQUFBTW5KeWNuL0FOc3JBZ0FBQUJRVUZCVC9BT0VyQWdBQUFNek16TXovQU9nckFn
QUFBTS9QejgvL0FPOHJBZ0FBQU5IUjBkSC9BUFlyQWdBQUFOVFUxTlQvQVAwckFnQUFBTmJXMXRi
L0FBUXNBZ0FBQU5uWjJkbi9BQXNzQWdBQUFOdmIyOXYvQUJJc0FnQUFBTjdlM3Q3L0FCa3NBZ0FB
QU9EZzRPRC9BQ0FzQWdBQUFPUGo0K1AvQUNjc0FnQUFBQmNYRnhmL0FDMHNBZ0FBQU9YbDVlWC9B
RFFzQWdBQUFPam82T2ovQURzc0FnQUFBT3ZyNit2L0FFSXNBZ0FBQU8zdDdlMy9BRWtzQWdBQUFQ
RHc4UEQvQUZBc0FnQUFBUEx5OHZML0FGY3NBZ0FBQVBYMTlmWC9BRjRzQWdBQUFQZjM5L2YvQUdV
c0FnQUFBUHI2K3ZyL0FHd3NBZ0FBQVB6OC9Qei9BSE1zQWdCVkQvL3cvL0QvQUh3c0FnQlZELy93
Ly9EL0FJWXNBZ0JWRCs3Zzd1RC9BSkFzQWdCVkRzM0J6Y0gvQUpvc0FnQlZEb3VEaTRQL0FLUXNB
Z0RwbHYvL2FiVC9BS3dzQWdEcWtmLy9iclQvQUxVc0FnRHJqZTd1YXFmL0FMNHNBZ0RzaDgzTllK
RC9BTWNzQWdEcWxJdUxPbUwvQU5Bc0FnQUFqTTNOWEZ6L0FOb3NBZ0FBbFAvL2Ftci9BT1VzQWdB
QWxPN3VZMlAvQVBBc0FnQUFsYzNOVlZYL0FQc3NBZ0FBbEl1TE9qci9BQVl0QWdEQy80SkxBSUwv
QUEwdEFnQXFBUC8vLy80QUFCTXRBZ0FxRC8vLy8vRC9BQmt0QWdBcUQvLy8vL0QvQUNBdEFnQXFE
Kzd1N3VEL0FDY3RBZ0FxRHMzTnpjSC9BQzR0QWdBcURvdUxpNFAvQURVdEFnQW1hdkR3NW96L0FE
c3RBZ0FuY1AvLzlvLy9BRUl0QWdBbmNPN3U1b1gvQUVrdEFnQW5iODNOeG5QL0FGQXRBZ0FuYjR1
TGhrNy9BRmN0QWdDcUZQcm01dnIvQUdBdEFnRHdELy8vOFBYL0FHNHRBZ0R3RC8vLzhQWC9BSDB0
QWdEdkQrN3U0T1gvQUl3dEFnRHdEczNOd2NYL0FKc3RBZ0R2RG91TGc0Yi9BS290QWdCQS8veDgv
QUQvQUxRdEFnQW1NZi8vK3MzL0FNRXRBZ0FtTWYvLytzMy9BTTh0QWdBbE11N3U2Yi8vQU4wdEFn
QW1NYzNOeWFYL0FPc3RBZ0FuTVl1TGlYRC9BUGt0QWdDSlArYXQyT2IvQUFNdUFnQ0tRUCsvNy8v
L0FBNHVBZ0NLUU82eTMrNy9BQmt1QWdDS1A4MmF3TTMvQUNRdUFnQ0pRSXRvZzR2L0FDOHVBZ0FB
ZC9Ed2dJRC9BRG91QWdCL0gvL2cvLy8vQUVRdUFnQi9ILy9nLy8vL0FFOHVBZ0IvSCs3Ujd1Ny9B
Rm91QWdCL0g4MjB6YzMvQUdVdUFnQi9INHQ2aTR2L0FIQXVBZ0FqYys3dTNZTC9BSDh1QWdBamRQ
Ly83SXYvQUk4dUFnQWpjKzd1M0lML0FKOHVBZ0FqYzgzTnZuRC9BSzh1QWdBamM0dUxnVXovQUw4
dUFnQXFLUHI2K3RML0FOUXVBZ0FBQU5QVDA5UC9BTjR1QWdBQUFOUFQwOVAvQU9ndUFnRDRTZi8v
dHNIL0FQSXVBZ0Q1VWYvL3Jybi9BUDB1QWdENFVlN3VvcTMvQUFndkFnRDVVTTNOakpYL0FCTXZB
Z0Q1VUl1TFgyWC9BQjR2QWdBTWhQLy9vSHIvQUNvdkFnQU1oUC8vb0hyL0FEY3ZBZ0FMaE83dWxY
TC9BRVF2QWdBTWhjM05nV0wvQUZFdkFnQU1oWXVMVjBML0FGNHZBZ0I5MGJJZ3Nxci9BR3d2QWdD
UGRmcUh6dnIvQUhrdkFnQ1BULyt3NHYvL0FJY3ZBZ0NQVCs2azArNy9BSlV2QWdDT1Q4Mk50czMv
QUtNdkFnQ1BUb3RnZTR2L0FMRXZBZ0N2ai8rRWNQLy9BTUF2QWdDVU9KbDNpSm4vQU04dkFnQ1VP
SmwzaUpuL0FONHZBZ0NYTk42d3hONy9BTzB2QWdDWE5mL0s0Zi8vQVAwdkFnQ1hOZTY4MHU3L0FB
MHdBZ0NYTmMyaXRjMy9BQjB3QWdDV05ZdHVlNHYvQUMwd0FnQXFILy8vLytEL0FEa3dBZ0FxSC8v
Ly8rRC9BRVl3QWdBcUgrN3U3dEgvQUZNd0FnQXFIODNOemJUL0FHQXdBZ0FxSDR1TGkzci9BRzB3
QWdCVndNMHl6VEwvQUhjd0FnQVZGUHI2OE9iL0FIMHdBZ0RVLy8vL0FQLy9BSVV3QWdEVS8vLy9B
UC8vQUk0d0FnRFUvKzd1QU83L0FKY3dBZ0RVLzgzTkFNMy9BS0F3QWdEVS80dUxBSXYvQUtrd0Fn
RHZ1YkN3TUdEL0FMQXdBZ0RreS8vL05MUC9BTGd3QWdEa3krN3VNS2YvQU1Bd0FnRGt6TTNOS1pE
L0FNZ3dBZ0RreTR1TEhHTC9BTkF3QWdCeGdNMW16YXIvQU9Fd0FnQ3EvODBBQU0zL0FPd3dBZ0RN
bU5PNlZkUC9BUGt3QWdETG1mL2dadi8vQUFjeEFnRExtZTdSWCs3L0FCVXhBZ0RMbWMyMFVzMy9B
Q014QWdETG1vdDZONHYvQURFeEFnQzNmTnVUY052L0FENHhBZ0MzZmYrcmd2Ly9BRXd4QWdDM2Zl
NmZlZTcvQUZveEFnQzNmYzJKYU0zL0FHZ3hBZ0MzZkl0ZFI0di9BSFl4QWdCbnFiTThzM0gvQUlV
eEFnQ3dqKzU3YU83L0FKVXhBZ0J2Ly9vQStwci9BS2N4QWdCOXA5RkkwY3ovQUxjeEFnRGs1TWZI
RllYL0FNY3hBZ0NxeG5BWkdYRC9BTlF4QWdCcUNmLzEvL3IvQU40eEFnQUVIdi8vNU9IL0FPZ3hB
Z0FFSHYvLzVPSC9BUE14QWdBRUh1N3UxZEwvQVA0eEFnQURIYzNOdDdYL0FBa3lBZ0FGSFl1TGZY
di9BQlF5QWdBYVNmLy81TFgvQUIweUFnQVpVZi8vM3EzL0FDa3lBZ0FaVWYvLzNxMy9BRFl5QWdB
WlV1N3V6NkgvQUVNeUFnQVpVczNOczR2L0FGQXlBZ0FaVW91TGVWNy9BRjB5QWdDcS80QUFBSUQv
QUdJeUFnQ3EvNEFBQUlEL0FHc3lBZ0FxQVAvLy8vNEFBSEF5QWdBYkYvMzk5ZWIvQUhneUFnQTR3
STVyamlQL0FJSXlBZ0E0d2YvQS96Ny9BSTB5QWdBNHdPNno3anIvQUpneUFnQTR3TTJhelRML0FL
TXlBZ0E0d0l0cGl5TC9BSzR5QWdBYi8vLy9wUUQvQUxVeUFnQWIvLy8vcFFEL0FMMHlBZ0FiLys3
dW1nRC9BTVV5QWdBYi84M05oUUQvQU0weUFnQWIvNHVMV2dEL0FOVXlBZ0FMLy8vL1JRRC9BTjh5
QWdBTC8vLy9SUUQvQU9veUFnQUwvKzd1UUFEL0FQVXlBZ0FMLzgzTk53RC9BQUF6QWdBTC80dUxK
UUQvQUFzekFnRFdlOXJhY05iL0FCSXpBZ0RXZlAvL2cvci9BQm96QWdEV2ZPN3VldW4vQUNJekFn
RFdmTTNOYWNuL0FDb3pBZ0RWZkl1TFI0bi9BREl6QWdBbVNPN3U2S3IvQUVBekFnQlZaUHVZKzVq
L0FFb3pBZ0JWWmYrYS81ci9BRlV6QWdCVlpPNlE3cEQvQUdBekFnQlZaTTE4elh6L0FHc3pBZ0JW
Wkl0VWkxVC9BSFl6QWdCL1ErNnY3dTcvQUlRekFnQi9SUCs3Ly8vL0FKTXpBZ0IvUk82dTd1Ny9B
S0l6QWdCL1JNMld6YzMvQUxFekFnQi9RNHRtaTR2L0FNQXpBZ0R4Zk52YmNKUC9BTTR6QWdEeGZm
Ly9ncXYvQU4wekFnRHhmZTd1ZVovL0FPd3pBZ0R4ZmMzTmFJbi9BUHN6QWdEeGZJdUxSMTMvQUFv
MEFnQWFLZi8vNzlYL0FCVTBBZ0FVUnYvLzJybi9BQjgwQWdBVVJ2Ly8ycm4vQUNvMEFnQVRSZTd1
eTYzL0FEVTBBZ0FUUmMzTnI1WC9BRUEwQWdBVVJZdUxkMlgvQUVzMEFnQVVzTTNOaFQvL0FGQTBB
Z0QzUC8vL3dNdi9BRlUwQWdEMVNmLy90Y1gvQUZzMEFnRDFTZTd1cWJqL0FHRTBBZ0QxU3MzTmta
Ny9BR2MwQWdEMVNZdUxZMnovQUcwMEFnRFVSdDNkb04zL0FISTBBZ0RVUlAvL3UvLy9BSGcwQWdE
VVJPN3VydTcvQUg0MEFnRFVSTTNObHMzL0FJUTBBZ0RVUTR1TFpvdi9BSW8wQWdDRU8rYXc0T2Iv
QUpVMEFnREUzZkNnSVBEL0FKdzBBZ0Mvei8rYk1QLy9BS1EwQWdEQXorNlJMTzcvQUt3MEFnREF6
ODE5SnMzL0FMUTBBZ0RBejR0Vkdvdi9BTHcwQWdBQS8vLy9BQUQvQU1BMEFnQUEvLy8vQUFEL0FN
VTBBZ0FBLys3dUFBRC9BTW8wQWdBQS84M05BQUQvQU04MEFnQUEvNHVMQUFEL0FOUTBBZ0FBUGJ5
OGo0Ly9BTjQwQWdBQVB2Ly93Y0gvQU9rMEFnQUFQdTd1dExUL0FQUTBBZ0FBUHMzTm01di9BUDgw
QWdBQVBvdUxhV24vQUFvMUFnQ2Z0ZUZCYWVIL0FCUTFBZ0NmdC85SWR2Ly9BQjgxQWdDZnQrNURi
dTcvQUNvMUFnQ2Z0czA2WDgzL0FEVTFBZ0NmdDRzblFJdi9BRUExQWdBUjNJdUxSUlAvQUV3MUFn
QUVpdnI2Z0hML0FGTTFBZ0FKbHYvL2pHbi9BRnMxQWdBSmx1N3VnbUwvQUdNMUFnQUpsczNOY0ZU
L0FHczFBZ0FKbG91TFREbi9BSE0xQWdBVG12VDBwR0QvQUg0MUFnQm5xb3N1aTFmL0FJYzFBZ0Ju
cS85VS81Ly9BSkUxQWdCbnErNU83cFQvQUpzMUFnQm5xODFEellEL0FLVTFBZ0JucW9zdWkxZi9B
SzgxQWdBUkVQLy85ZTcvQUxnMUFnQVJFUC8vOWU3L0FNSTFBZ0FTRWU3dTVkNy9BTXcxQWdBU0Vj
M054Yi8vQU5ZMUFnQVNFSXVMaG9ML0FPQTFBZ0FOdDZDZ1VpMy9BT2MxQWdBTnVQLy9na2YvQU84
MUFnQU51Tzd1ZVVML0FQYzFBZ0FOdU0zTmFEbi9BUDgxQWdBTnVZdUxSeWIvQUFjMkFnQ0xiT3VI
enV2L0FBODJBZ0NRZVArSHp2Ly9BQmcyQWdDUWVPNSt3TzcvQUNFMkFnQ1FlTTFzcHMzL0FDbzJB
Z0NSZDR0S2NJdi9BRE0yQWdDdmo4MXFXczMvQUQwMkFnQ3ZrUCtEYi8vL0FFZzJBZ0N2a081Nlor
Ny9BRk0yQWdDdmtNMXBXYzMvQUY0MkFnQ3ZrSXRIUEl2L0FHazJBZ0NVT0pCd2dKRC9BSE0yQWdD
Vk9QL0c0di8vQUg0MkFnQ1ZPTzY1MCs3L0FJazJBZ0NVT2MyZnRzMy9BSlEyQWdDVk9JdHNlNHYv
QUo4MkFnQ1VPSkJ3Z0pEL0FLazJBZ0FBQmYvLyt2ci9BSzQyQWdBQUJmLy8rdnIvQUxRMkFnQUFC
ZTd1NmVuL0FMbzJBZ0FBQk0zTnljbi9BTUEyQWdBQUE0dUxpWW4vQU1ZMkFnQnEvLzhBLzMvL0FO
STJBZ0JxLy84QS8zLy9BTjgyQWdCcS8rNEE3bmIvQU93MkFnQnEvODBBeldiL0FQazJBZ0JxLzRz
QWkwWC9BQVkzQWdDU203UkdnclQvQUJBM0FnQ1NuUDlqdVAvL0FCczNBZ0NTbk81Y3JPNy9BQ1kz
QWdDU25NMVBsTTMvQURFM0FnQ1RtNHMyWkl2L0FEdzNBZ0FZVk5MU3RJei9BRUEzQWdBVXNQLy9w
VS8vQUVVM0FnQVVzTzd1bWtuL0FFbzNBZ0FVc00zTmhULy9BRTgzQWdBVXNJdUxXaXYvQUZRM0Fn
RFVIZGpZdjlqL0FGdzNBZ0RVSHYvLzRmLy9BR1UzQWdEVUh1N3UwdTcvQUc0M0FnRFVIYzNOdGMz
L0FIYzNBZ0RVSFl1TGU0di9BSUEzQWdBR3VQLy9ZMGYvQUljM0FnQUd1UC8vWTBmL0FJODNBZ0FH
dU83dVhFTC9BSmMzQWdBR3VNM05Uem4vQUo4M0FnQUd1WXVMTmliL0FQRTRBZ0FxQVAvLy8vNEFB
S2MzQWdCN3R1QkE0TkQvQUxFM0FnQ0IvLzhBOWYvL0FMdzNBZ0NCLys0QTVlNy9BTWMzQWdDQi84
MEF4YzMvQU5JM0FnQ0IvNHNBaG92L0FOMDNBZ0RVYys3dWd1Ny9BT1EzQWdEajE5RFFJSkQvQU80
M0FnRHJ3Zi8vUHBiL0FQazNBZ0Ryd083dU9vei9BQVE0QWdEcndNM05NbmovQUE4NEFnRHJ3SXVM
SWxML0FCbzRBZ0FiUlBYMTNyUC9BQ0E0QWdBYlJmLy81N3IvQUNjNEFnQWJSTzd1Mks3L0FDNDRB
Z0FiUk0zTnVwYi9BRFU0QWdBYlE0dUxmbWIvQUR3NEFnQUFBUC8vLy8vL0FFSTRBZ0FBQVBYMTlm
WC9BRTA0QWdBcS8vLy8vd0QvQUZRNEFnQXEvLy8vL3dEL0FGdzRBZ0FxLys3dTdnRC9BR1E0QWdB
cS84M056UUQvQUd3NEFnQXEvNHVMaXdEL0FIUTRBZ0E0d00yYXpUTC9BQUFBQUFBQUFBQUFBQUFB
QUZHZ1QrUkowZzVBdE1oMnZwODZOY0E2SXQrbDFDWFZ2L09DUGtlYUxvby9uK1Y1Y0hmVytiOSsv
UkFiTEp6bVA1YnMyQWpFNjh3L3pjNmlkeXJnMEQrdzQ3OUFFQ0R0djYyaDFGNUUyOWcvTzZGODVs
R1dkai9UYm5ENWVvUjdQNEhNenFKM0t1Uy8wYTNYOUtDZ3lEOXEzemNac0QrRVA3N0trQmxlLzRR
L0hKWUdmbFREeEwrbFNTbm85dUlqUUtuWkE2M0FrTUUvQ01TUVFaTnBpVC82Uko0a1hUUFF2d0h3
bVRZdHdsNC9EWng5TDgrVWx6K0p0ZmdVQU9PSlArV3BXRVkweTdHL2p3REp6NkZucHI5Y3RjYjd6
TFNJUDAya2oxUTZzNUEvNXNjRW9XSFdvTC9IYVdjY0UvZUN2eXAvYStVdGNGeS81RmRpVkFpYWRU
L1I4WWRWY2dTM1A1WFVDV2dpUERQQVpDTVFyK3QzRU1DbklhcndaM2pIUDlyL0FHdlZyc0UvVGlo
RXdDRlU5NytxU0lXeGhTRDFQNTFvVnlIbEovWS9UUzdHd0RxT3pUOVpheWkxRjlIY3Z3TS9xbUcv
Sjh3L3BrZFRQWmwvMmorMmdUdFFwenl1UDFGTTNnQXozN20vOVhhVi85b0xwai9VcFRXOEQvYVVQ
eCt0SUx3czNKQS9LQ3p4Z0xMSkkwQWpXdUZNQW9xM1AwaWpaVkdXS1g4L3U3U0c5OEdla3o4WHFI
dFRSMzJndnlFcnJ1QnRsSXMvTTNQY2hOWWV0YitnZUlTSjlmeVBQMmsxSk82eDlKRy91TTB6ZWw2
L2FqK1NQcTJpUHpUTnYzNnc1OFpQUHBpL0J5T2JVQzNIcEQ4K0dNSjdXTG1SdnkxOGZhMUxqY1kv
NkR3Q0FQSkhBZ0FFT1FJQUJqa0NBQWc1QWdBS09RSUFERGtDQUE0NUFnQVFPUUlBRWprQ0FCUTVB
Z0FYT1FJQUdqa0NBQjA1QWdBZ09RSUFJemtDQUNZNUFnQXBPUUlBTERrQ0FDODVBZ0F5T1FJQUFB
QUFBQUFBQUFBQUFBQUFDQUN1LzlFQUNnQ3UvNjcvQ3dDdS82Ny9ydit1LzY3L3J2K3UvNjcvQlFE
UkFLNy8wUURSQU5FQTBRRFJBTkVBMFFEUkFLNy8rLyt1L3c0QTdQK3UvNjcvcnYrdS85RUEwUURS
QU5FQTBRQU5BQ1VBREFCQ0FCQUFVQUFUQUcwQWV3QVVBSmdBRHdDbUFNTUFydit1LzY3L3J2K3Uv
NjcvcnYrdS82Ny9ydit1LzY3L3J2K3UvNjcvcnYrdS82Ny9ydit1LzY3L3J2K3UvNjcvRndDdS8z
Y0FydjhIQUM0QXJ2OG1BSzcvRndBUkFDTUFydjhOQUs3L3J2K3UvNjcvT2dDdS82Ny9OUUN1LzY3
L3J2OG9BSzcvQndDdS96c0FSUUN1LzBnQXJ2K3UvNjcvcnYrdS93QUFBQUFBQUFBQUFBSUNBZ0lD
QWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNB
Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0Fn
SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJ
Q0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lD
QWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNB
Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0VDQXdRRkJn
Y0lDUW9MREEwT0R4QVJFaE1VRlJZWEdCa2FHeHdkSGg4Z0lTSWpKQ1VtSnlnQUFBQUFBQUFBQUFJ
Q0FnSUNBaEFNV1FFQUgxQUlBd2NTRXhSWEZoY0lDMmtNSHdvRkRBNHBFU3NQTFJBdk1DQXlCalEx
R3h3ZEhnc01JU0lqSkNVbUp5Z01HQmtYQkFvYkhCb2dLZ29oSWlNa0pTWW5LQXdLRGxNS0xGZ3hX
RmhZV0ZoWURCc2NEeTVZTXlFaUl5UWxKaWNvR3h6L1UvLy9JU0lqSkNVbUp5Z00vLzhGLy8vL0NS
VC8vLy8vL3d3YkhQOFFGUlloSWlNa0pTWW5LQnNjLy8vLy95RWlJeVFsSmljb0RQOFNFeFFSRmhm
Ly8vLy8vLzhNR3h6Ly8vOFNJU0lqSkNVbUp5Z2JIUC8vLy84aElpTWtKU1luS0F6Ly8vLy8vLzhU
Ly8vLy8vLy9EQnNjLy8vLy95RWlJeVFsSmljb0d4ei8vLy8vSVNJakpDVW1KeWdTRXhRVkZoY1lH
Zi8vLy8vLy8vLy8veU1rSlNZbkd4SVRGQllYSWpab0FSODRWaUVnQWhzYkcxNGJHemM1Y0RiU3dr
OEVQQ0pISWo4aVJDSWlXQ0psSWlJRkJsOWdPUVFIQ0FrS0N3d05EZ1JtWjExcWJRVUdiMWc3Y1Fj
SUNRb0xEQTBPQkhJOFczTStZVVliRWhNVUZoY0VCUVkvUVdKSkJ3Z0pDZ3NNRFE0RkJnQmNBQUFI
Q0FrS0N3d05EZ1FBQUU4QUFBQlRRZ0FBQUFBQUJBVUdBRVJVVlFjSUNRb0xEQTBPQlFZQUFBQUFC
d2dKQ2dzTURRNEVBQ29zTGtjeE13QUFBQUFBQUFRRkJnQUFBRW9IQ0FrS0N3d05EZ1VHQUFBQUFB
Y0lDUW9MREEwT0JBQUFBQUFBQUV3QUFBQUFBQUFFQlFZQUFBQUFCd2dKQ2dzTURRNEZCZ0FBQUFB
SENBa0tDd3dORGlrckxTOHdNalExQUFBQUFBQUFBQUFBS1NzdE1ESUFCQzhBSkNNQUVoUVdHaHdl
SUJnQUJRY3ZMeThBTHk4QUFBa0lLQUFBQVNJQ0JnQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQWxB
eVlUQ2lrVkN5b1hEaTBaRVJzTUt4ME5MQjhQSVJBQU13QXdBQzlEQURFQUx3QTFMaWRDTWtFQU9q
Z0FQRFJGQURZQVFBQUFQd0JFTnpzNVBRQUFBQUFBQUFBQUFBQUFBQUFDQXdNQkFRSUJBUUVEQXdN
REF3TURBd0VCQVFFQkFRRUJBUUVCQVFFQkFRRUNBUUVDQUFZQkF3TURBd01CQUFFQ0F3QUVBUUlE
QUFRQUJBQUVBQU1DQVFJQkFnRUFBQUFBQUFBQUFBQUFBQ2txS2lvckxDd3RMUzB0TFMwdExTMHRM
aTh3TVRJek5EVTJOemc1T2pzOFBUNCtQejlCUUVKQ1FrSkNRa05EUkVSRVJrVkhSMGRKU0VwSVMw
aE1TRTFOVGs1UFR3QUFBQUFBQUFBQUFBQ3UvNjcvL1Avb0FQYi8vLzhhQUFBQUp3QUJBRElBcnYr
dS93SUFKQUFEQUM4QXJ2K3UvNjcvcnYrdS8vNy9sQUN1L3drQUd3Q3UvN3ovcnYrdS82Ly9ydit1
LzY3L3J2K3UvNjcvcnY4QUFQOEREeEFSSXpva1BTVkFGVU1tUlNkSUdFc1pUUm9vSEU0ZEhsQlJV
bGxhYkd0dVkyUlhhUUFBQUFBQUFBQUFBS1ZCQWdBSkFBQUFxMEVDQUFvQUFBRDJRUUlBREFBQUFQ
eEJBZ0FOQUFBQUFVSUNBQTRBQUFBQUFBQUFBQUFBQUxSQkFnQVBBQUFBaVVJQ0FCQUFBQUNRUWdJ
QUVRQUFBSmhDQWdBU0FBQUFuMElDQUJNQUFBQ3JRZ0lBRkFBQUFQWkJBZ0FWQUFBQXQwSUNBQllB
QUFDL1FnSUFGd0FBQU1sQ0FnQVlBQUFBMTBJQ0FCa0FBQURlUWdJQUdnQUFBT05DQWdBYkFBQUE1
a0lDQUJ3QUFBRHJRZ0lBSFFBQUFQTkNBZ0FlQUFBQStVSUNBQjhBQUFEL1FnSUFJQUFBQUFaREFn
QWhBQUFBREVNQ0FDRUFBQUFVUXdJQUlnQUFBQnREQWdBakFBQUF0RUVDQUNRQUFBQ1FRZ0lBRVFB
QUFKaENBZ0FTQUFBQUVrVUNBQ1VBQUFDZlFnSUFFd0FBQUt0Q0FnQVVBQUFBOWtFQ0FCVUFBQUFk
UlFJQUpnQUFBTDlDQWdBWEFBQUF5VUlDQUJnQUFBRFhRZ0lBR1FBQUFONUNBZ0FhQUFBQTQwSUNB
QnNBQUFEbVFnSUFIQUFBQUNWRkFnQW5BQUFBODBJQ0FCNEFBQUQ1UWdJQUh3QUFBUDlDQWdBZ0FB
QUFCa01DQUNFQUFBQU1Rd0lBSVFBQUFCUkRBZ0FpQUFBQUcwTUNBQ01BQUFCb2RIUndPaTh2ZDNk
M0xuY3pMbTl5Wnk5WVRVd3ZNVGs1T0M5dVlXMWxjM0JoWTJVQUFBQUFBQUFBQUFBQUFBQm9kSFJ3
T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNodGJHNXpMd0FBQUhodGJEMW9kSFJ3T2k4dmQzZDNM
bmN6TG05eVp5OVlUVXd2TVRrNU9DOXVZVzFsYzNCaFkyVUFBQUFBQUFBQUFBSURCQVVHQndnQUFB
a0tDd3dORGc4UUVRQUFBQUFBQUFBQUFBQUFBQklUQUJRQUFBQUFBQUFBQUFBQUFBQUFBQlVXQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQkFRRUJBUUVCQVFFQkFRRUJBUUVC
QVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJB
UUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVJjQUFBQUFBQUFBQUFBQUFBQUJBUUVCQVFFQkFR
RUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkdBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vQUFBQUFBQUFBQVQrLy8rSC92Ly9Cd0FBQUFBQUFBQUEvLzkvLy8vL2Yv
Ly8vLy8vLy8vemYvNzkvLy8vLy85Ly8vLy8vLy8vLy84UDRQLy8vLzh4L1AvLy93QUFBQUFBQUFE
Ly8vLy8vLy8vLy8vLy93RUErQU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFRFgvLy83
Ly8vLy8zOS9WUDMvRHdEKzMvLy8vLy8vLy8vLy90Ly8vLy8vQXdELy8vLy8vLytmR2YvLy84OC9B
d0FBQUFBQUFQNy8vLzkvQXY3Ly8vOS9BQUFBQUFBQUFBQUEvLy8vQndjQUFBQUFBUDcvL3dmK0J3
QUFBQUQrLy8vLy8vLy8vLzk4LzM4dkFHQUFBQURnLy8vLy8vLy9Jd0FBQVA4REFBQUE0Si81Ly8v
OXhRTUFBQUN3QXdBREFPQ0grZi8vL1cwREFBQUFYZ0FBSEFEZ3Ivdi8vLzN0SXdBQUFBQUJBQUFB
NEovNS8vLzl6U01BQUFDd0F3QUFBT0RIUGRZWXg3OERBQUFBQUFBQUFBRGczLzMvLy8zdkF3QUFB
QUFEQUFBQTROLzkvLy85N3dNQUFBQkFBd0FBQU9EZi9mLy8vZjhEQUFBQUFBTUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUEvdi8vLy85L0RRQS9BQUFBQUFBQUFKWWw4UDZ1YkEwZ0h3QUFBQUFBQUFB
QUFBQUFBQUFBQVAvKy8vLy9Bd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBLy8vLy96OEEvLy8vLzM4QTdkb0hBQUFBQUZBQlVER0NxMklzQUFBQUFFQUF5
WUQxQndBQUFBQUlBUUwvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vRC8vLy8vLy8vLy8vLy8vL0Ev
Ly9Qei8vLy8vL1B6Ly9xdi8vL3ovLy8vLy8vLy9mWDl3Znp3Ly9IOXdmQUFBQUFFQk1BQUFBQUFB
QUFBQUFBQWNBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUFBL2dNQUFQNy8vLy8vLy8vLy8vOGZBUDcv
Ly8vLy8vLy8vLy8vQitELy8vLy9Id0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEv
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLzgvQUFBQUFBQUFBQUFBQUFELy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy93OEFBQUFBQUFBQUFBQUFBQUFBQUFBQVlQOEgvdi8vaC83Ly93Y0FBQUFBQUFD
QUFQLy9mLy8vLzMvLy8vLy9BQUFBQUFBQUFQLy8vLy8vLy8vLy8vLy9BUUQ0QXdBREFBQUFBQUQv
Ly8vLy8vLy8vejhBQUFBREFBQUF3TmYvLy92Ly8vLy9mMzlVL2Y4UEFQN2YvLy8vLy8vLy8vLysz
Ly8vLy85N0FQLy8vLy8vLzU4Wi8vLy96ejhEQUFBQUFBQUEvdi8vLzM4Qy92Ly8vMzhBL3YvNy8v
KzdGZ0QvLy84SEJ3QUFBQUFBL3YvL0IvLy9Cd0QvQS8vLy8vLy8vLy8vLzN6L2YrLy8vejMvQSs3
Ly8vLy8vLy96L3o4ZS84Ly9BQUR1bi9uLy8vM0YwNTg1Z0xEUC93TUE1SWY1Ly8vOWJkT0hPUUJl
d1A4ZkFPNnYrLy8vL2UzenZ6c0FBTUgvQUFEdW4vbi8vLzNOODQ4NXdMREQvd0FBN01jOTFoakh2
OFBIUFlBQWdQOEFBTzdmL2YvLy9lL0QzejFnQU1QL0FBRHMzLzMvLy8zdnc5ODlZRUREL3dBQTdO
LzkvLy85LzhQUFBZQUF3LzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQrLy8vLy8zLy9CLzkvL3dN
QUFBQUFsaVh3L3E1cy96dGZQLzhEQUFBQUFBQUFBQVAvQTZEQy8vNy8vLzhEL3YvZkQ3Lysvei8r
QWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvSHdJQUFBQ2dB
QUFBL3Y4K0FQNy8vLy8vLy8vLy8vOGZadjcvLy8vLy8vLy8vLy8vZHhrREdoc2NIUjRBQUI4Z0lT
SWpKQ1VRRVFBQUFBQUFBQUFBQUFBQUFCSVRKaFFBQUFBQUFBQUFBQUFBQUFBQUFDY1dBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVC
QVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJB
UUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUmNBQUFBQUFBQUFBQUFBQUFBQkFRRUJBUUVCQVFFQkFR
RUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCR0FBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDBIZ0VBT0NNQkFNd2hBUUNr
SkFFQXBDUUJBQkFtQVFETUlRRUFBQUFBQUZXdUFRQWxUUUlBMmE0QkFDNU5BZ0ExVFFJQVBrMENB
QUFBQUFBQUFBQUFmQ2NCQU9nb0FRQlVLZ0VBd0NzQkFNQXJBUUFzTFFFQVZDb0JBQUFBQUFEUVRR
SUExazBDQU5sTkFnRGZUUUlBZVUwQ0FPWk5BZ0R2VFFJQTkwMENBQUlBQU1BREFBREFCQUFBd0FV
QUFNQUdBQURBQndBQXdBZ0FBTUFKQUFEQUNnQUF3QXNBQU1BTUFBREFEUUFBd0E0QUFNQVBBQURB
RUFBQXdCRUFBTUFTQUFEQUV3QUF3QlFBQU1BVkFBREFGZ0FBd0JjQUFNQVlBQURBR1FBQXdCb0FB
TUFiQUFEQUhBQUF3QjBBQU1BZUFBREFId0FBd0FBQUFMTUJBQUREQWdBQXd3TUFBTU1FQUFEREJR
QUF3d1lBQU1NSEFBRERDQUFBd3drQUFNTUtBQUREQ3dBQXd3d0FBTU1OQUFEVERnQUF3dzhBQU1N
QUFBeTdBUUFNd3dJQURNTURBQXpEQkFBTTB3QUFBQURlRWdTVkFBQUFBUC8vLy8vLy8vLy8vLy8v
L3dBQUFBQUFBQUFBQUFBQUFCRUFDZ0FSRVJFQUFBQUFCUUFBQUFBQUFBa0FBQUFBQ3dBQUFBQUFB
QUFBRVFBUENoRVJFUU1LQndBQkV3a0xDd0FBQ1FZTEFBQUxBQVlSQUFBQUVSRVJBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBc0FBQUFBQUFBQUFCRUFDZ29SRVJFQUNnQUFBZ0FKQ3dBQUFBa0FDd0FBQ3dB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFNQUFBQUFBQUFBQUFBQUFBTUFBQUFBQXdB
QUFBQUNRd0FBQUFBQUF3QUFBd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURnQUFB
QUFBQUFBQUFBQUFEUUFBQUFRTkFBQUFBQWtPQUFBQUFBQU9BQUFPQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUE4QUFBQUFEd0FBQUFBSkVBQUFBQUFBRUFB
QUVBQUFFZ0FBQUJJU0VnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBU0FBQUFFaElT
QUFBQUFBQUFDUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFD
d0FBQUFBQUFBQUFBQUFBQ2dBQUFBQUtBQUFBQUFrTEFBQUFBQUFMQUFBTEFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUF3QUFBQUFBQUFBQUFBQUFBd0FBQUFBREFBQUFBQUpEQUFBQUFB
QURBQUFEQUFBTURFeU16UTFOamM0T1VGQ1EwUkZSbFFoSWhrTkFRSURFVXNjREJBRUN4MFNIaWRv
Ym05d2NXSWdCUVlQRXhRVkdnZ1dCeWdrRnhnSkNnNGJIeVVqZzRKOUppb3JQRDArUDBOSFNrMVlX
VnBiWEYxZVgyQmhZMlJsWm1kcGFtdHNjbk4wZVhwN2ZBQUFBQUFBQUFBQUFFbHNiR1ZuWVd3Z1lu
bDBaU0J6WlhGMVpXNWpaUUJFYjIxaGFXNGdaWEp5YjNJQVVtVnpkV3gwSUc1dmRDQnlaWEJ5WlhO
bGJuUmhZbXhsQUU1dmRDQmhJSFIwZVFCUVpYSnRhWE56YVc5dUlHUmxibWxsWkFCUGNHVnlZWFJw
YjI0Z2JtOTBJSEJsY20xcGRIUmxaQUJPYnlCemRXTm9JR1pwYkdVZ2IzSWdaR2x5WldOMGIzSjVB
RTV2SUhOMVkyZ2djSEp2WTJWemN3QkdhV3hsSUdWNGFYTjBjd0JXWVd4MVpTQjBiMjhnYkdGeVoy
VWdabTl5SUdSaGRHRWdkSGx3WlFCT2J5QnpjR0ZqWlNCc1pXWjBJRzl1SUdSbGRtbGpaUUJQZFhR
Z2IyWWdiV1Z0YjNKNUFGSmxjMjkxY21ObElHSjFjM2tBU1c1MFpYSnlkWEIwWldRZ2MzbHpkR1Z0
SUdOaGJHd0FVbVZ6YjNWeVkyVWdkR1Z0Y0c5eVlYSnBiSGtnZFc1aGRtRnBiR0ZpYkdVQVNXNTJZ
V3hwWkNCelpXVnJBRU55YjNOekxXUmxkbWxqWlNCc2FXNXJBRkpsWVdRdGIyNXNlU0JtYVd4bElI
TjVjM1JsYlFCRWFYSmxZM1J2Y25rZ2JtOTBJR1Z0Y0hSNUFFTnZibTVsWTNScGIyNGdjbVZ6WlhR
Z1lua2djR1ZsY2dCUGNHVnlZWFJwYjI0Z2RHbHRaV1FnYjNWMEFFTnZibTVsWTNScGIyNGdjbVZt
ZFhObFpBQkliM04wSUdseklHUnZkMjRBU0c5emRDQnBjeUIxYm5KbFlXTm9ZV0pzWlFCQlpHUnla
WE56SUdsdUlIVnpaUUJDY205clpXNGdjR2x3WlFCSkwwOGdaWEp5YjNJQVRtOGdjM1ZqYUNCa1pY
WnBZMlVnYjNJZ1lXUmtjbVZ6Y3dCQ2JHOWpheUJrWlhacFkyVWdjbVZ4ZFdseVpXUUFUbThnYzNW
amFDQmtaWFpwWTJVQVRtOTBJR0VnWkdseVpXTjBiM0o1QUVseklHRWdaR2x5WldOMGIzSjVBRlJs
ZUhRZ1ptbHNaU0JpZFhONUFFVjRaV01nWm05eWJXRjBJR1Z5Y205eUFFbHVkbUZzYVdRZ1lYSm5k
VzFsYm5RQVFYSm5kVzFsYm5RZ2JHbHpkQ0IwYjI4Z2JHOXVad0JUZVcxaWIyeHBZeUJzYVc1cklH
eHZiM0FBUm1sc1pXNWhiV1VnZEc5dklHeHZibWNBVkc5dklHMWhibmtnYjNCbGJpQm1hV3hsY3lC
cGJpQnplWE4wWlcwQVRtOGdabWxzWlNCa1pYTmpjbWx3ZEc5eWN5QmhkbUZwYkdGaWJHVUFRbUZr
SUdacGJHVWdaR1Z6WTNKcGNIUnZjZ0JPYnlCamFHbHNaQ0J3Y205alpYTnpBRUpoWkNCaFpHUnla
WE56QUVacGJHVWdkRzl2SUd4aGNtZGxBRlJ2YnlCdFlXNTVJR3hwYm10ekFFNXZJR3h2WTJ0eklH
RjJZV2xzWVdKc1pRQlNaWE52ZFhKalpTQmtaV0ZrYkc5amF5QjNiM1ZzWkNCdlkyTjFjZ0JUZEdG
MFpTQnViM1FnY21WamIzWmxjbUZpYkdVQVVISmxkbWx2ZFhNZ2IzZHVaWElnWkdsbFpBQlBjR1Z5
WVhScGIyNGdZMkZ1WTJWc1pXUUFSblZ1WTNScGIyNGdibTkwSUdsdGNHeGxiV1Z1ZEdWa0FFNXZJ
RzFsYzNOaFoyVWdiMllnWkdWemFYSmxaQ0IwZVhCbEFFbGtaVzUwYVdacFpYSWdjbVZ0YjNabFpB
QkVaWFpwWTJVZ2JtOTBJR0VnYzNSeVpXRnRBRTV2SUdSaGRHRWdZWFpoYVd4aFlteGxBRVJsZG1s
alpTQjBhVzFsYjNWMEFFOTFkQ0J2WmlCemRISmxZVzF6SUhKbGMyOTFjbU5sY3dCTWFXNXJJR2ho
Y3lCaVpXVnVJSE5sZG1WeVpXUUFVSEp2ZEc5amIyd2daWEp5YjNJQVFtRmtJRzFsYzNOaFoyVUFS
bWxzWlNCa1pYTmpjbWx3ZEc5eUlHbHVJR0poWkNCemRHRjBaUUJPYjNRZ1lTQnpiMk5yWlhRQVJH
VnpkR2x1WVhScGIyNGdZV1JrY21WemN5QnlaWEYxYVhKbFpBQk5aWE56WVdkbElIUnZieUJzWVhK
blpRQlFjbTkwYjJOdmJDQjNjbTl1WnlCMGVYQmxJR1p2Y2lCemIyTnJaWFFBVUhKdmRHOWpiMndn
Ym05MElHRjJZV2xzWVdKc1pRQlFjbTkwYjJOdmJDQnViM1FnYzNWd2NHOXlkR1ZrQUZOdlkydGxk
Q0IwZVhCbElHNXZkQ0J6ZFhCd2IzSjBaV1FBVG05MElITjFjSEJ2Y25SbFpBQlFjbTkwYjJOdmJD
Qm1ZVzFwYkhrZ2JtOTBJSE4xY0hCdmNuUmxaQUJCWkdSeVpYTnpJR1poYldsc2VTQnViM1FnYzNW
d2NHOXlkR1ZrSUdKNUlIQnliM1J2WTI5c0FFRmtaSEpsYzNNZ2JtOTBJR0YyWVdsc1lXSnNaUUJP
WlhSM2IzSnJJR2x6SUdSdmQyNEFUbVYwZDI5eWF5QjFibkpsWVdOb1lXSnNaUUJEYjI1dVpXTjBh
Vzl1SUhKbGMyVjBJR0o1SUc1bGRIZHZjbXNBUTI5dWJtVmpkR2x2YmlCaFltOXlkR1ZrQUU1dklH
SjFabVpsY2lCemNHRmpaU0JoZG1GcGJHRmliR1VBVTI5amEyVjBJR2x6SUdOdmJtNWxZM1JsWkFC
VGIyTnJaWFFnYm05MElHTnZibTVsWTNSbFpBQkRZVzV1YjNRZ2MyVnVaQ0JoWm5SbGNpQnpiMk5y
WlhRZ2MyaDFkR1J2ZDI0QVQzQmxjbUYwYVc5dUlHRnNjbVZoWkhrZ2FXNGdjSEp2WjNKbGMzTUFU
M0JsY21GMGFXOXVJR2x1SUhCeWIyZHlaWE56QUZOMFlXeGxJR1pwYkdVZ2FHRnVaR3hsQUZKbGJX
OTBaU0JKTDA4Z1pYSnliM0lBVVhWdmRHRWdaWGhqWldWa1pXUUFUbThnYldWa2FYVnRJR1p2ZFc1
a0FGZHliMjVuSUcxbFpHbDFiU0IwZVhCbEFFNXZJR1Z5Y205eUlHbHVabTl5YldGMGFXOXVBQUFB
QUFBQS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vd0FCQWdNRUJRWUhDQW4vLy8vLy8vLy9DZ3NNRFE0UEVCRVNFeFFWRmhjWUdS
b2JIQjBlSHlBaElpUC8vLy8vLy84S0N3d05EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSS8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLzhBQUFBQUFBQUFBQUFBQUFBQUFBQkJBQ0Fhd0FBZ0h3QUJBUzh5QVFFRk9RRUJEMG9CQVMx
NUFRRUZjQU1CQTVFRElCR2pBeUFKQUFSUUVCQUVJQ0JnQkFFaGlnUUJOY0VFQVEzUUJBRS9GQVVC
RXpFRk1DYWdBUUVGc3dFQkE4MEJBUS9lQVFFUitBRUJKeUlDQVJIWUF3RVhBQjRCbGFBZUFWOElI
L2dJR0IvNEJpZ2YrQWc0SC9nSVNCLzRCbWdmK0FpSUgvZ0ltQi80Q0tnZitBaTRIL2dDdWgrMkFz
Z2ZxZ1RZSC9nQzJoK2NBdWdmK0FMcUg1QUMrQitBQXZvZmdnSkdBZ0VKRUFVQkEyQWhFQkFBTERB
dlp5d0JCWUFzQVdQckxBRURRS1lCTFlDbUFSY2lwd0VOTXFjQlBYbW5BUU4rcHdFSmtLY0JBNkNu
QVFraC95QWFBQUFBQUFBQUFBQUFBQUFBU1FBeEFWTUFmd0V3QVdrQWVBSC9BSUVCVXdLQ0FZTUJo
QUdGQVlZQlZBS0hBWWdCaVFGV0Fvb0JWd0tMQVl3QmpnSGRBWThCV1FLUUFWc0NrUUdTQVpNQllB
S1VBV01DbGdGcEFwY0JhQUtZQVprQm5BRnZBcDBCY2dLZkFYVUNwZ0dBQXFjQnFBR3BBWU1DckFH
dEFhNEJpQUt2QWJBQnNRR0tBcklCaXdLM0FaSUN1QUc1QWJ3QnZRSEVBY1lCeEFIRkFjVUJ4Z0hI
QWNrQnh3SElBY2dCeVFIS0Fjd0J5Z0hMQWNzQnpBSHhBZk1COFFIeUFmSUI4d0gwQWZVQjlnR1ZB
ZmNCdndFZ0FwNEJoZ09zQTRnRHJRT0pBNjREaWdPdkE0d0R6QU9PQTgwRGp3UE9BNWtEUlFPWkE3
NGZvd1BDQS9jRCtBUDZBL3NEWUI2YkhwNGUzd0JaSDFFZld4OVRIMTBmVlI5ZkgxY2Z2Qit6SDh3
Znd4L3NIK1VmL0Ivekh6b0NaU3c3QWp3Q1BRS2FBVDRDWml4QkFrSUNRd0tBQVVRQ2lRSkZBb3dD
OUFPNEEva0Q4Z1A5QTNzRC9nTjhBLzhEZlFQQUJNOEVKaUhKQXlvaGF3QXJJZVVBTWlGT0lZTWho
Q0ZnTEdFc1lpeHJBbU1zZlIxa0xIMENiU3hSQW00c2NRSnZMRkFDY0N4U0FuSXNjeXgxTEhZc2Zp
dy9BbjhzUUFMeUxQTXNmYWQ1SFl1bmpLZU5wMlVDcXFkbUFzY1FKeTNORUMwdGRnTjNBNXdEdFFD
U0E5QURtQVBSQTZZRDFRT2dBOVlEbWdQd0E2RUQ4UU9WQS9VRHp3UFhBd0FBQUFBQUFBQUFBQUFB
QUJJUkV4UVZGaGNZR1JvYkhCMGVIeUFoRVNJakpCRWxKaWNvS1NvckxCRXRMaThRRURBUUVCQVFF
QkFRTVRJekVEUTFFQkFSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJOaEVSRVJFUkVS
RVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJF
UkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFVGNSRVJFUk9CRTVPanM4
UFQ0UkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJF
UkVSUHhBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkZBUVJGQ1Ew
UkZSa2RJU1JBUUVFcExURTFPRUJBUVQxQVFFQkFRVVJBUUVCQVFFQkFRRUJFUkVWSlRFQkFRRUJB
UUVCQVFFQkFSRVJFUlZCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFR
RUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJFUlZSQVFFQkJXRUJBUUVCQVFFQkFRRUJBUUVCQVFF
QkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVC
QVFFQkFRRUZjUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUZo
Wldsc1FFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRWEJBUUVCQVFFQkFRRUJBUUVCQVFFQkFR
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL3dBQUFBQUFBQUFBL3YvL0IvNy8vd2NBQUFBQUFB
UWdCUC8vZi8vLy8zLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL3cvOERBQjlRQUFB
QUFBQUFBQUFBQUNBQUFBQUFBTjg4UU5mLy8vdi8vLy8vLy8vLy8vKy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vOEQvUC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLzhBL3YvLy8zOEMvdi8vLy84QUFBQUFB
UCsvdGdELy8vOEhCd0FBQVA4SC8vLy8vLy8vLy83L3cvLy8vLy8vLy8vLy8vLy8vKzhmL3VIL253
QUEvLy8vLy8vL0FPRC8vLy8vLy8vLy8vLy8vLzhEQVAvLy8vLy9CekFFLy8vLy9QOGZBQUQvLy84
QkFBQUFBQUFBQUFEOUh3QUFBQUFBQVBBRC8zLy8vLy8vLy8vLzcvL2Y0Zi9QLy83KzdwLzUvLy85
eGVPZldZQ3d6LzhEQU82SCtmLy8vVzNEaHhrQ1hzRC9Qd0R1di92Ly8vM3Q0NzhiQVFEUC93QUE3
cC81Ly8vOTdlT2ZHY0N3ei84Q0FPekhQZFlZeC8vRHh4MkJBTUQvQUFEdTMvMy8vLzN2NDk4ZFlB
UFAvd0FBN04vOS8vLzk3K1BmSFdCQXovOEdBT3pmL2YvLy8vL24zMTJBQU0vL0FQenMvMy84Ly8v
N0wzK0FYLzhBQUF3QS92Ly8vLzkvL3djL0lQOERBQUFBQUpZbDhQNnU3UDg3WHlELzh3QUFBQUFC
QUFBQS93TUFBUC8rLy8vL0gvNy9BLy8vL3YvLy94OEFBQUFBQUFBQUFQLy8vLy8vLzMvNS93UC8v
K2ZCLy85L1FQOHovLy8vLzc4Zy8vLy8vLy8zLy8vLy8vLy8vLy8vUFg4OS8vLy8vLzg5Ly8vLy96
MS9QZjkvLy8vLy8vLy8vejMvLy8vLy8vLy8vNGNBQUFBQS8vOEFBUC8vLy8vLy8vLy8vLzhmQVA3
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
LzUvLy8vNy8vd2YvLy8vLy8vLy8vLy9IQVFELzN3OEEvLzhQQVAvL0R3RC8zdzBBLy8vLy8vLy96
Ly8vQVlBUS93TUFBQUFBL3dQLy8vLy8vLy8vLy8vLy93RC8vLy8vL3dmLy8vLy8vLy8vL3o4QS8v
Ly9ILzhQL3dIQS8vLy8vejhmQVAvLy8vLy9ELy8vL3dQL0F3QUFBQUQvLy84UC8vLy8vLy8vLzMv
Ky94OEEvd1AvQTRBQUFBQUFBQUFBQUFBQUFQLy8vLy8vLysvLzd3Ly9Bd0FBQUFELy8vLy8vL1Av
Ly8vLy8vKy8vd01BLy8vLy8vLy9Qd0QvNC8vLy8vLy9Qd0FBQUFBQUFBQUFBQUFBQUFEZWJ3RC8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy84QUFBQUFBQUFBQVAvL1B6Ly8vLy8vUHovL3F2
Ly8vei8vLy8vLy8vL2ZYOXdmencvL0g5d2ZBQUFBQUFBQUFBQUFBQUFBQUFBQ2dBQUEveDhBQUFB
QUFBQUFBQUFBQUFDRS9DOCtVTDMvOCtCREFBRC8vLy8vL3dFQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEQS8vLy8vLy8vQXdBQS8vLy8vLzkvLy8vLy8vOS8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy94OTREQUQvLy8vL3Z5RC8vLy8vLy8vL2dBQUEvLzkvQUg5L2Yz
OS9mMzkvLy8vLy93QUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBNEFB
QUFQNERQaC8rLy8vLy8vLy8vLy8vZitEKy8vLy8vLy8vLy8vLy8vZmcvLy8vL3ovKy8vLy8vLy8v
Ly8vLy8zOEFBUC8vL3djQUFBQUFBQUQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vOC9B
QUFBQUFBQUFBQUEvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy94OEFBQUFBQUFELy8v
Ly8vLy8vLy8vLy8vLy8vLy8vL3g4QUFBQUFBQUFBQVAvLy8vLy9QLzhmLy8vL0R3QUEvLy8vLy85
LzhJLy8vLytBLy8vLy8vLy8vLy8vL3dBQUFBQ0EvL3ovLy8vLy8vLy8vLy8vLy85NUR3RC9Cd0FB
QUFBQUFBQUFBUCs3OS8vLy93QUFBUC8vLy8vLy93OEEvLy8vLy8vLy8vOFBBUDhEQUFEOENQLy8v
Ly8vQi8vLy8vOEhBUC8vL3gvLy8vLy8vLy8zL3dDQS93TUFBQUFBLy8vLy8vLy9md0QvUC84RC8v
OS9CUC8vLy8vLy8vOS9CUUFBT1AvL1BBQitmbjRBZjM4QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFE
Ly8vLy8vd2YvQS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0R3RC8vMy80Ly8vLy8vOFAvLy8v
Ly8vLy8vLy8vLy8vL3ovLy8vLy8vLy8vLy8vLy8vLy9Bd0FBQUFCL0FQamcvLzEvWDl2Ly8vLy8v
Ly8vLy8vLy8vLy9Bd0FBQVBqLy8vLy8vLy8vLy8vLy8vOC9BQUQvLy8vLy8vLy8vL3ovLy8vLy8v
OEFBQUFBQVA4UEFBQUFBQUFBQUFBQUFBQUFBQURmLy8vLy8vLy8vLy8vLy8vLy8vLy8veDhBQVA4
RC92Ly9CLzcvL3dmQS8vLy8vLy8vLy8vLy8zLzgvUHdjQUFBQUFQL3YvLzkvLy8rMy96Ly9Qd0FB
QUFELy8vLy8vLy8vLy8vLy8vLy8vLzhIQUFBQUFBQUFBQUQvLy8vLy8vOGZBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy9ILy8vLy8vLy93RUFBQUFBQVAvLy8z
OEFBUC8vL3djQUFBQUFBQUQvLy84Ly8vLy8vdy8vUGdBQUFBQUEvLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vei8vQXdBQUFBQUFBQUFBQUFBLy9mLy8vLysva2YvL1B3QUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBUC8vUHdELy8vOERBQUFBQUFBQUFBRC8vLy8vLy8vL3dBQUFBQUFBQUFBQWIvRHYv
di8vRHdBQUFBQUEvLy8vSHdBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOC9BUC8vUHdELy93
Y0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8vLy8vLy93RUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBLy8vLy8vLy8vLzgvQUFBQXdQOEFBUHovLy8vLy8vOEJBQUQvLy84Qi93UC8vLy8v
Ly8vSC93QUFBQUFBQUFBQS8vLy8vLy8vLy84ZUFQOERBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUQvLy8vLy8vOC9BUDhEQUFBQUFBQUEvLy8vLy8vLy8vLy8vLy8vLzM4QUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFELy8vLy8vLy8vLy8vLy8vOEhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy8v
L2Z3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8vLy8vL3dFQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vLy8veDhBLy8vLy8vOS9BQUQ0L3dBQUFBQUFB
QUFBQUFBQUFBTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8v
Ly8vLy8vLzkvLy8vLy8vLy8vLzk5azN2L3I3Ly8vLy8vLy8vKy81OS9mLy8vL2UxLzgvZi8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1AvLy8vLzMv
Ly9mLy8vLzMvLy9mLy8vLzMvLy9mLy8vLzMvLy8vLzkvLy8vL2YvLzk4Ly8vLy8vLy8vdi8vLy9s
djczQ29UcWxxcVc5L2RlLy92L0QrNzcvdzhBQUFBQUFBQUFBSFFBQUFCUVRnSUFiZ0FBQUZKT0Fn
QnlBQUFBVkU0Q0FHWUFBQUJXVGdJQVlRQUFBRmhPQWdCbEFBQUFXazRDQUhjQUFBQmNUZ0lBVndB
QUFHbE9BZ0J6QUFBQWQwNENBRk1BQUFDRFRnSUFaQUFBQUpCT0FnQkVBQUFBbkU0Q0FBQUFBQUFB
QUFBQUFBQUFBQUFBQUFCaGJHNTFiUUJoYkhCb1lRQmliR0Z1YXdCamJuUnliQUJrYVdkcGRBQm5j
bUZ3YUFCc2IzZGxjZ0J3Y21sdWRBQndkVzVqZEFCemNHRmpaUUIxY0hCbGNnQjRaR2xuYVhRQUFB
QUFBQUFBQUNBQUFBQUpBQUFBQ2dBQUFBMEFBQUFMQUFBQURBQUFBSVVBQUFBQUlBQUFBU0FBQUFJ
Z0FBQURJQUFBQkNBQUFBVWdBQUFHSUFBQUNDQUFBQWtnQUFBS0lBQUFLQ0FBQUNrZ0FBQmZJQUFB
QURBQUFBQUFBQUFBQUFBQUFBQUFBQklRRXhRVkZoY1lHUm9iSEIwZUh5QWhFQkFpSXhBa0pTWW5L
Q2txS3hBc0xTNFJMekFSRVRFUkVSRXlNelExTmpjNE9SRVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVC
QVFFQkFRRUJBUU9oQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJB
UUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFR
RUJBUUVCQVFFQkFRT3hBOFBUNC9RRUVRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFF
QkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFRaEFRRUJBUUVCQVFFQkFRRUJBUUVC
QVFFQkFRRUJBUVF4QVFSQkJGUmtjUVNCQkpFQkFRRUVwTFRFMFFFRTRRVDFBUUVCQVFVUkFRRUJB
UUVCQVFFQkFRRUJCU0VCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFR
RUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQlRF
QkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVC
QVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJB
UUVCQVFFQkFRRUJBUVZGVldWeEFRV0ZrUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFXaEJi
WEYxZVgyQmhZaEFRRUJBUUVCQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFELy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vd0FBQUFEKy93
RDhBUUFBK0FFQUFIZ0FBQUFBLy92Zit3QUFnQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBUEFEOC8rQ3YvLy8vLy8vLy8vLy8vOS8vLy8vLy95QkFzQUFBQUFBQUFBQUFBQUFB
QUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOEF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFEOEFBQUFBQUNHL3YvLy93QkFTUUFBQUFBQUdBRGYvd0RJQUFBQUFBQUFBQUVBUEFBQUFB
QUFBQUFBQUFBQUFCRGdBUjRBWVArL0FBQUFBQUFBL3djQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QStNOERBQUFBQXdBZy8zOEFBQUJPQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ4QUFBQUFBQUFBQUFB
RUFBZ0hnQXdBQUVBQUFBQUFBQUFBQkFBSUFBQUFBRDhEd0FBQUFBQUFBQVFBQ0FBQUFBQUFBQUFB
QUFBQUFBQUVBQWdBQUFBQUFNQUFBQUFBQUFBQUJBQUlBQUFBQUQ5QUFBQUFBQUFBQUFBQUNBQUFB
QUEvd2NBQUFBQUFBQUFBQUFnQUFBQUFBRC9BQUFBQUFBQUFCQUFJQUFBQUFBQUFBQUFBQUFBQUFB
QUFDQUFBQUFBUHdJQUFBQUFBQUFBQUFBRUFBQUFBQkFBQUFBQUFBQ0FBSURBM3dBTUFBQUFBQUFB
QUFBQUFBQUFBQjhBQUFBQUFBRCsvLy8vQVB6Ly93QUFBQUFBQUFBQS9BQUFBQUFBQU1ELzMvOEhB
QUFBQUFBQUFBQUFBSUFHQVB3QUFCZytBQUNBdndETUFBQUFBQUFBQUFBQUFBQUlBQUFBQUFBQUFB
QUFBQUJnLy8vL0h3QUEvd01BQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCZ0FBQUJBQUFZQUFBQUFBQUFBQUFB
T0FBQUFBQVFBQUFBY0FBQUFBQUFBQUFBQUFBQUFBQUFBREFBQVA1L0x3QUEvd1AvZndBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT01RQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFNVC8vLy8vQUFBQXdBQUFBQUFBQUFBQUFRRGdud0FBQUFCL1B3QUFBQUFBQUFB
QUFBQUFBQUFBQUFBUUFCQUFBUHovLy84ZkFBQUFBQUFNQUFBQUFBQUFRQUFNOEFBQUFBQUFBTUQ0
QUFBQUFBQUFBTUFBQUFBQUFBQUFBUDhBLy8vL0lSQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQS8vLy8vMzhBQVBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBS0FENEFEZ0FP
QUFZSUQ0Ly8vLy9QLy8vLy8vZngvODhYLy9md0FBLy8vL0F3QUEvLy8vL3dFQWV3UFF3YTlDQUF3
ZnZQLy9BQUFBQUFBQy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy84UEFQLy8vLzkvQUFBQS93Y0FBUC8vLy8vLy8vLy8vLzgvQUFBQUFBQUEv
UC8vL3YvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
OGYvd01BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFEZ2h3UCtBQUFBQUFBQUFBQUFBQUFBQUFBQmdBQUFBQUFBQUFBQUFBQUFBQUFB
QUFELy8vLy8vMy8vRHdBQUFBQUFBQUFBLy8vLysvLy8vLy8vLy8vLy8vOFBBUC8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy9Qd0FBQVA4UEh2Ly8vd0g4d2VBQUFBQUFBQUFBQUFBQUFC
NEJBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvL3dBQUFBRC8vLy8vRHdB
QUFQLy8vMy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLzkvQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUEvLy8vLy8vLy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8v
Ly8vLy85L0FBQUFBQUFBd0FEZ0FBQUFBQUFBQUFBQUFBQ0FEM0FBQUFBQUFBQUFBQUFBQUFBQUFQ
OEEvLzkvQUFNQUFBQUFBQUFBQUFBQUFBQUdBQUFBQUFBQUFBQUFBQUFBQUFCRUNBQUFBQS8vQXdB
QUFBQUFBUEFBQUFBQUFBQUFBQUFRd0FBQS8vOERCd0FBQUFBQStBQUFBQUFJZ0FBQUFBQUFBQUFB
QUFBSUFQOC9BTUFBQUFBQUFBQUFBQUFBQUFBQUFBRHdBQUNBQ3dBQUFBQUFBQUNBQWdBQXdBQUFR
d0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURnQUFBRUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFJQUFBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBL1A4REFBQUFBQUFB
QUFBQUFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXcvLy8vQTM4QS8vLy8v
L2YvZnc4QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlEKy93RDhBUUFBK0FFQUFQZy9BQUFBQUFBQUFB
QUFBQUFBQUFBQWYzOEFNSWYvLy8vLy80Ly9BQUFBQUFBQTRQLy9CLzhQQUFBQUFBQUEvLy8vLy84
L0FBQUFBQThBQUFBQUFBQUFBQUFBQUFBQUFJQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFB
Z1A4QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3SThBQUFDQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSWYvQVA4QkFBQUE0QUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQS9nQUFBUDhBQUFEL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFQLy8vMzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBREFQL3ovUHdBQUFBTUFBQUFB
QUFEK0F3QUFBQUFBQUFBQUFBQUFBQUFZQUE4QUFBQUFBQUFBQUFBQUFBQUFBQURoQVFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFQQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFIQUFB
QUFBQUFBQUFBQUFBQUFQLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vejhB
Ly8vLy8zLysvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vUHdBQUFBRC8vLy8vLy8vLy96OEFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vLy8vLy85L0FQLy9Bd0FBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnQUFDQUFBQUFn
QUFDQUFBQUFnQUFDQUFBQUFnQUFBQUFJQUFBQUNBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFNQS8vLy8vLzhQLy8vLy8vLy8vLy8vLy8vL0R3RC9m
LzUvL3YvKy93QUFBQUQvQi8vLy8zLy8vLy8vLy8vL0QvLy8vLy8vQndBQUFBQUFBQUFBd1AvLy93
Y0EvLy8vLy84SC93RURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy93RUF2Ly8vLy8v
Ly8vLy9ILy8vRHdELy8vLy8zd2NBQVAvL0FRRC8vLy8vLy8vL2YvMy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vSHYvLy8vLy8vLzgvRHdELy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDQv
Ly8vLy8vLy8vL2gvd0FBQUFBQUFQLy8vLy8vLy8vL1B3QUFBQUFBQUFELy8vLy8vLy8vLy8vLy8v
Ly8vdzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQW9BQUFCa0FBQUE2QU1BQUJBbkFBQ2doZ0VBUUVJ
UEFJQ1dtQUFBNGZVRkwzUnRjQzkwYlhCbWFXeGxYMWhZV0ZoWVdBQUFBQUFBQUFBQUFBQUFBQUJN
UTE5RFZGbFFSUUFBQUFCTVExOU9WVTFGVWtsREFBQk1RMTlVU1UxRkFBQUFBQUJNUTE5RFQweE1R
VlJGQUFCTVExOU5UMDVGVkVGU1dRQk1RMTlOUlZOVFFVZEZVd0FBQUFBQUFBQUFBRU11VlZSR0xU
Z0FBQUFBQUFBQUFBQURBQUFBQkFBQUFBUUFBQUFHQUFBQWcvbWlBRVJPYmdEOEtSVUEwVmNuQU4w
MDlRQmkyOEFBUEptVkFFR1FRd0JqVWY0QXU5NnJBTGRoeFFBNmJpUUEwazFDQUVrRzRBQUo2aTRB
SEpMUkFPc2QvZ0Fwc1J3QTZENm5BUFUxZ2dCRXV5NEFuT21FQUxRbWNBQkJmbDhBMXBFNUFGT0RP
UUNjOURrQWkxK0VBQ2o1dlFENEh6c0EzditYQUErWUJRQVJMKzhBQ2xxTEFHMGZiUURQZmpZQUNj
c25BRVpQdHdDZVpqOEFMZXBmQUxvbmRRRGw2OGNBUFh2eEFQYzVCd0NTVW9vQSsydnFBQit4WHdB
SVhZMEFNQU5XQUh2OFJnRHdxMnNBSUx6UEFEYjBtZ0RqcVIwQVhtR1JBQWdiNWdDRm1XVUFvQlJm
QUkxQWFBQ0EyUDhBSjNOTkFBWUdNUURLVmhVQXlhaHpBSHZpWUFCcmpNQUFBQUFBQUFBQUFBQUFB
QUJBK3lINVB3QUFBQUF0UkhRK0FBQUFnSmhHK0R3QUFBQmdVY3g0T3dBQUFJQ0RHL0E1QUFBQVFD
QWxlamdBQUFDQUlvTGpOZ0FBQUFBZDgyazFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUJRQUFBQUFBQUFBQUlNRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUFB
QUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUJTUUFBQUFBQUFBRkpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUZKQUFBQUFBQUFBVWtBQUlNRUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFGQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJTUUFBQUFBQUFBRkpBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZKQUFBQUFBQUFBVWtBQ0VB
QUFBQUFBQUFBQUFBQUFBQkJBUUFNQUFBZ0FBQUFCQUFBQUFBQUFBQUlRQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUNXUUFBQUFBQUFnSlpB
QkpEREFBQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFXRUFBQUFBQUFB
QllRQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUJZUUFBQUFBQUFBRmhBQUFBQUFBQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFVa0FBQUFBQUFBQlNRQUFnQXdJQUFBQUFBQUFBQUFBQUVFQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQVlBQUFBQUFBQUFBQUFBQUFBQUJDUUFBQUFBQUFBRUpBQUFBQUFBQWdnMEFBQUFB
QUFNQ0lRQUFBQUFBQUFGSkFBQUFBQUFBQVVrQUFBQUFBQUFBQUFBQUFBQUFBQUVKQUFBQUFBQUFB
UWtBQUFBQUFBQ0NEUUFBQUFBQUF3SWhBQUFBQUFBQUFVa0FBQUFBQUFBQlNRQUN3d1FBQUFBQUFB
QUFBQUFBQUVFQkFDQUFBa3dBQUFBRUFBQUFBQUFBQVFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGSkFBQUFBQUFBQVVrQUFFQUFDQUFB
QUFBQUFBQUFBQUJCQUFBQUFBQUFBQUFBRkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCWVFBQUFBQUFBQUZoQUFMREJB
QUFBQUFBQUFBQUFBQUFBQUZBTEFBQVFBQUFBQVFBQUFBQUFBQUFBQVFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBV0VBQUFBQUFBQUJZUUVB
Z1BnTUFBQUFBQUFBQUFBQUFFRUR3Q3dBQWVnQUFBQUVBQUFBQUFBQUFBQUVBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRkpBQUFBQUFBQUFV
a0FBQUFBQUFBQUFBQUFBQUFBQUFCQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQlNRQUFBQUFB
QUFGSkEvLy8vLy8vLzczLy8vLy8vLy8vdmYvLy8vLy8vLysvLy8vLy8vLy8vNy84QUFBQUFBQUQ0
UHpNek16TXpNOU0vUEFBQUFBQUFBQUNhbVptWm1abXBQd0VBQUFBQUFBQUFBQUFBQUFBQUFBQUVB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
RUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFFQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQVFBQUFBRUFBQUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBTXpN
ek16TXowNzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQURBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBRUFB
QUFBQUFBQUFBQUFBQUFnRVpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFF
QUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQW1wbVptWm1aMmI4QUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBRUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXpNek16TXpQalB3QUFB
QUFBQUFBQUFBQUFBQUVBQUFBRkFBQUFBQUFBQUFBQUFBQUFBQUFBZXhTdVIrRjY1TDhBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUZBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFHQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBSEFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUlBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFFQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBQUVB
QUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQUFBQUFB
QUFBQUFFQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
TUFBQUFBQUFBQUFBRUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQVFBQUFBQUFBQUFBQUVBQUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFVQUFBQUFBQUFBQUFFQUFBQVRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFCcjRIQUVBQVFBQUFBRUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUlBQUFBQkFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQUFBQUlBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBTUFB
QUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUVBQUFBREFBQUFBQUFBQUFBQUFBQUFnR1pBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFFQUFBQUVBQUFBQUFBQUFBQUFBQUFBZ0daQW1wbVptWm1aMmI4QUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFGQUFBQUFBQUFBQUFBQUFBQWdHWkFleFN1UitGNjVMOEFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQUFBQUFFQUFBQUVBQUFBQUFBQUFBQUFBQUFBZ0Va
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJnQUFBQUFBQUFBQVFBQUFBRUFBQUFFQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFBQUFRQUFBQUVBQUFBQkFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQmdBQUFBQUFBQUFBQUFBQUFFQUFB
QUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBWUFBQUFBQUFB
QUFBRUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWNB
QUFBQUFBQUFBQUVBQUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFnQUFBQUFBQUFBQUFFQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBa0FBQUFBQUFBQUFBRUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUVBQUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJJQUFBQUFBQUFBQUFFQUFBQUVBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCTUFBQUFBQUFBQUFBRUFBQUFFQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQlFBQUFBQUFBQUFBQUVBQUFB
RUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJVQUFBQUFBQUFB
QUFFQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBb0FB
QUFBQUFBQUFBRUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQXNBQUFBQUFBQUFBQUVBQUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUF3QUFBQUFBQUFBQUFFQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBMEFBQUFBQUFBQUFBRUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTRBQUFBQUFBQUFBQUVBQUFBRUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE4QUFBQUFBQUFBQUFFQUFBQUVBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUFBRUFBQUFF
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQllBQUFBQUFBQUFB
QUVBQUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJnQUFB
QUFBQUFBQUFFQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFCY0FBQUFBQUFBQUFBRUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQmtBQUFBQUFBQUFBQUVBQUFBS0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFEd0hBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVBDL0FB
QUFBQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBUEMveERNQkFCQUFBQUFBQUFBQUFBQUFBQUVBQUFB
Q0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUNBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFB
QUFBQUFBQVVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFRQUFBQUVB
QUFBREFBQUFBQUFBQUFBQUFBQWZBQUFBUHdBQUFIOEFBQUFBQUFBQUFBQUFBQVlBQUFBSEFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFBQUEvLy8vL3dBQUFBQUFBQUFBQkFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnQUFBQUpBQUFBQUFBQUFBQUFBQUFLQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBc0FBQUFNQUFBQURRQUFBQTRBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQlFBQUFBRUFBQUFHQUFBQUFnQUFBQUlBQUFBSEFBQUFBZ0FBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUEFBQUFFQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQkVBQUFBU0FBQUFBQUFBQUFBQUFBQVRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUJRQUFBQVZBQUFBRmdBQUFCY0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFB
QUFNQUFBQUpBQUFBQXdBQUFBTUFBQUFLQUFBQUJBQUFBQUFBQUFBWUFBQUFHUUFBQUJvQUFBQUFB
QUFBQkFBQUFBQUFBQUFiQUFBQUhBQUFBQjBBQUFBZUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFC
OEFBQUFnQUFBQUlRQUFBQ0lBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQ3dBQUFBQUFBQUFNQUFB
QUJRQUFBQVFBQUFBTkFBQUFCUUFBQUFNQUFBQWpBQUFBQUFBQUFDUUFBQUFsQUFBQUJnQUFBQ1lB
QUFBbkFBQUFLQUFBQUNrQUFBQXFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ3NBQUFBc0FBQUFM
UUFBQUM0QUFBQUVBQUFBTHdBQUFBQUFBQUFBQUFBQURnQUFBQUFBQUFBUEFBQUFCd0FBQUFVQUFB
QVFBQUFBQmdBQUFBQUFBQUF3QUFBQUFBQUFBREVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURJQUFBQUFBQUFBTXdBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFFUUFBQUFBQUFBQVNBQUFBQ0FBQUFBWUFBQUFUQUFBQUJ3QUFB
QUFBQUFBMEFBQUFBQUFBQURVQUFBQTJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRkFBQUFOd0FBQUFB
QUFBQUFBQUFBRkFBQUFBQUFBQUFWQUFBQUNRQUFBQWNBQUFBV0FBQUFDQUFBQUFBQUFBQTRBQUFB
QUFBQUFEa0FBQUE2QUFBQUNnQUFBRHNBQUFBOEFBQUFQUUFBQUQ0QUFBQS9BQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBRUFBQUFCQkFBQUFRZ0FBQUVNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZ3
QUFBQUFBQUFBWUFBQUFDd0FBQUFnQUFBQVpBQUFBQ1FBQUFBQUFBQUFBQUFBQUFBQUFBRVFBQUFC
RkFBQUFBQUFBQUFBQUFBQkdBQUFBUndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFHZ0FBQUFBQUFBQWJB
QUFBREFBQUFBa0FBQUFjQUFBQUNnQUFBQUFBQUFBQkFBQUFEUUFBQUE0QUFBQVBBQUFBRUFBQUFC
RUFBQUFTQUFBQUV3QUFBQlFBQUFBVkFBQUFZM3NCQU1BVEFBQklBQUFBU1FBQUFBRUFBQUFCQUFB
QUFnQUFBQUFBQUFBWUFRQUFNQUVBQUxBQUFBQWRBQUFBQUFBQUFBQUFBQUFlQUFBQUFBQUFBQUFB
QUFBZkFBQUFBQUFBQUFBQUFBQ1JpQUVBY0JRQUFFb0FBQUJMQUFBQVRBQUFBRTBBQUFCT0FBQUFU
d0FBQUZBQUFBQlJBQUFBVWdBQUFFc0FBQUJUQUFBQVN3QUFBRlFBQUFCVkFBQUFWZ0FBQUZjQUFB
QUlBQUFBTUFBQUFBQUFBQUFCQUFBQUlBQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQURBQUFBQkFB
QUFBQUFBQUFJQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUNBQUFBQXdBQUFBQ0FBQUFBQUFBQUFNQUFBQUFBQUFBQUFBQUFBQUFBQUFJQUFBQUJBQUFB
QUFBQUFBREFBQUFJUUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFJQUFBQUJBQUFBQUFBQUFBRUFB
QUFJZ0FBQUFVQUFBQUFBQUFBQUFBQUFBQUFBQUFGQUFBQVFBQUFBRGdaQVFCSUdRRUFCZ0FBQUFR
QUFBQlVHUUVBQmdBQUFBZ0FBQUFHQUFBQUJBQUFBRndaQVFBQUJBQUFDQUFBQVAvLy8vOEFBQUFB
QUFBQUFDTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFOUUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFB
QUFBQUFBQUJnQUFBQUFBQUFBSEFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy93QUFBQUFBQUFBQUJn
QUFBQUFBQUFBSEFBQUFBQUFBQUFBQUFBQUFBQUFBR0FBQUFBQUFBQUFBQUFBQUNBQUFBQUFBQUFB
SEFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy93QUFBQUFBQUFBQUNBQUFBQUFBQUFBSEFBQUFBQUFB
QUFBQUFBQUFBQUFBSEFBQUFBQUFBQUFBQUFBQUNRQUFBQUFBQUFBSEFBQUFBQUFBQUFrQUFBQUxB
QUFBQ0FBQUFBb0FBQURnR2dFQVpCb0JBTWdhQVFBQkFBQUFBUUFBQUFvQUFBQVdBQUFBQ3dBQUFG
Z0FBQUFrQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU1BQUFBQUFBQUFBY0FBQUFBQUFB
QUFBQUFBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQU5BQUFBQUFBQUFBY0FBQUFBQUFBQUJ3QUFBQUlB
QUFBRkFBQUFDQUFBQUFBQUFBQUFBQUFBQmdBQUFBTUFBQUFPQUFBQUN3QUFBQUFBQUFBQUFBQUFB
QUFBQUFnQUFBQUFBQUFBQUFBQUFBOEFBQUFBQUFBQUJ3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBSlFBQUFCQUFBQUFBQUFBQUJ3QUFBQUFBQUFBSUFBQUFDQUFBQUFBQUFBQUFBQUFBSmdB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUEvLy8vL3dBQUFBQUFBQUFBSndBQUFBQUFBQUFB
QUFBQUJ3QUFBQUFBQUFBQkFBQUFnQUFBQUg2Z0FRQ0hvQUVBanFBQkFBRUFBQUFJQUFBQS8vLy8v
d0FBQUFBQUFBQUFLQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFELy8v
Ly9BQUFBQUNrQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWc2c0JBSXFyQVFBQUFBQUFDQUFBQUFn
QUFBQUFBQUFBQUFBQUFDb0FBQUFSQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQUFnQUFBQUFBQUFB
Q1FBQUFDc0FBQUFSQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQVAvLy8vOEFBQUFBQUFBQUFDd0FB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFXUUFBQUZvQUFBQVhBQUFBQkFBQUFBSUFBQUFNQUFBQVd3
QUFBRm9BQUFBWEFBQUFCUUFBQUFBQUFBQU5BQUFBV1FBQUFGb0FBQUFYQUFBQUJBQUFBQUlBQUFB
TUFBQUFYQUFBQUYwQUFBQVlBQUFBQmdBQUFBTUFBQUFPQUFBQVhnQUFBRjhBQUFBWEFBQUFCd0FB
QUFBQUFBQVBBQUFBV1FBQUFGb0FBQUFYQUFBQUNBQUFBQUlBQUFBTUFBQUFFQUFBQUJFQUFBQVNB
QUFBRXdBQUFJUEFBUUNLd0FFQUFBQUFBQWdBQUFBRUFBQUFBQUFBQUFvQUFBQXRBQUFBRWdBQUFB
QUFBQUFBQUFBQUFBQUFBQWdBQUFELy8vLy9BQUFBQUFBQUFBQXVBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQWNBQUFBSUFBQUFBUUVBQUFnQUFBQUlBQUFBQUFBQUFBQUFBQUF2QUFBQUV3QUFBQUFB
QUFBQUFBQUFBQUFBQUFnQUFBQVFBQUFBQUFBQUFBQUFBQUF3QUFBQUZBQUFBQUFBQUFBQUFBQUFB
QUFBQUdBQUFBQXhBQUFBTWdBQUFCUUFBQUF6QUFBQVlRQUFBRFFBQUFBVkFBQUFOUUFBQUFnQUFB
QUVBQUFBLy8vLy93QUFBQUFBQUFBQUZRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQkFB
QUFBc0FBQUEyQUFBQUZnQUFBQUFBQUFBQUFBQUFBQUFBQUFnQUFBQVFBQUFBR0FBQUFBQUFBQUFB
QUFBQUZ3QUFBQUFBQUFBQUFBQUFBQUFBQUFnQUFBQVFBQUFBR0FBQUFBQUFBQUFBQUFBQUdBQUFB
QUFBQUFBQUFBQUFBQUFBQUFnQUFBQUVBQUFBQUFBQUFBQUFBQUEzQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFnQUFBQUVBQUFBQUFBQUFBQUFBQUE0QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUE0QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUE0QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUxSQkFnQUxBQUFBR1FBQUFCb0FB
QUFiQUFBQUhBQUFBQjBBQUFBZUFBQUFId0FBQUNnQUFBQXBBQUFBSUFBQUFDb0FBQUFNQUFBQUdR
QUFBQ0VBQUFBRUFBQUFCUUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBRlFvQUFBa0FBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQVZFQXdUSEI0RERSOGdJU0lqR3hvUkdSa1pHUmtaR1JrWkdSWVNBZzRM
RHh3WUdCZ1lHQmdXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhRY0JCd1dIQmdZR0JnWUdCWVdG
aFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdIQ1FjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hC
d2NIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndXSEJ3Y0hCd2NIQndjSEJZY0dod2NGaHdjSEJ3
Y0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFljRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlX
RmhZV0ZoWVdGaFlXRmhZV0Zod1dGaFlXRmhZV0ZnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFCa0FBQUFhQUFBQUd3QUFBQndBQUFBZEFBQUFIZ0FBQUI4QUFB
QW9BQUFBS1FBQUFDQUFBQUFxQUFBQURBQUFBQmtBQUFBaEFBQUFCZ0FBQUFjQUFBQUJBQUFBQVFB
QUFBQUFBQUFBQUFBQUFCVUtBQUFWQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRlJBTUV4d2VBdzBm
SUNFaUl4c2FFUmtaR1JrWkdSa1pHUmtXRWdJT0N3OGNHQmdZR0JnWUZoWVdGaFlXRmhZV0ZoWVdG
aFlXRmhZV0ZoWVVIQVFjRmh3WUdCZ1lHQmdXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmh3a0hC
d2NDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0Fn
SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG
QlFVRkJRVUZCUVVGQlFVRkJnWUdCZ1lHQmdZR0JnWUdCZ1lHQmdjSEJ3Y0hBQUFBQUFBQUFBQUFB
UUVyQUFBQUxBQUFBQzBBQUFBdUFBQUFMd0FBQUMwQUFBQXdBQUFBTVFBQUFESUFBQUFaQUFBQUdn
QUFBQnNBQUFBY0FBQUFIUUFBQUI0QUFBQWZBQUFBS0FBQUFDa0FBQUFnQUFBQUtnQUFBQXdBQUFB
WkFBQUFJUUFBQUFZQUFBQUhBQUFBQVFBQUFBRUFBQUFBQUFBQUFBQUFBQUFWQ2dBQUNRQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFCVVFEQk1jSGdNTkh5QWhJaU1iR2hFWkdSa1pHUmtaR1JrWkZoSUNE
Z3NQSEJnWUdCZ1lHQllXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRkJ3RUhCWWNHQmdZR0JnWUZo
WVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWWNKQndjSEFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0Fn
SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJ
Q0FnRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVlHQmdZR0JnWUdC
Z1lHQmdZR0JnWUhCd2NIQndBQUFBQUFBQUFBQUFFQkt3QUFBQ3dBQUFBdEFBQUFMZ0FBQUM4QUFB
QXRBQUFBTUFBQUFERUFBQUF5QUFBQUdRQUFBQm9BQUFBYkFBQUFIQUFBQUIwQUFBQWVBQUFBSHdB
QUFDZ0FBQUFwQUFBQUlBQUFBQ29BQUFBTUFBQUFHUUFBQUNFQUFBQUlBQUFBQlFBQUFBRUFBQUFC
QUFBQUFBQUFBQUFBQUFBQUZRb0FBQWtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFWRUF3VEhCNERE
UjhnSVNJakd4b1JHUmtaR1JrWkdSa1pHUllTQWc0TER4d1lHQmdZR0JnV0ZoWVdGaFlXRmhZV0Zo
WVdGaFlXRmhZV0ZoUWNCQndXSEJnWUdCZ1lHQllXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXSENR
Y0hCd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0lBQUFB
akFBQUFKQUFBQUNVQUFBQW1BQUFBSndBQUFDZ0FBQUF6QUFBQU5BQUFBQ2tBQUFBMUFBQUFEUUFB
QUJvQUFBQXFBQUFBQ1FBQUFBb0FBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQlVLQUFBSkFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUZSQU1FeHdlQXcwZklDRWlJeHNhRVJrWkdSa1pHUmtaR1JrV0Vn
SU9DdzhjR0JnWUdCZ1lGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlVSEFRY0Zod1lHQmdZR0Jn
V0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0Zod2tIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndj
SEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NGaHdjSEJ3Y0hCd2NIQndXSEJvY0hCWWNI
QndjSEJZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdIQllXRmhZV0ZoWVdGaFlXRmhZV0Zo
WVdGaFlXRmhZV0ZoWVdGaFlXRmhZY0ZoWVdGaFlXRmhZQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBckFBQUFMQUFBQUMwQUFBQXVBQUFBTHdBQUFEQUFBQUF4
QUFBQU5nQUFBRGNBQUFBeUFBQUFPQUFBQUE0QUFBQWJBQUFBTXdBQUFBc0FBQUFNQUFBQUFnQUFB
QUFCQUFBQUFBQUFBQUFBQUFBVkNnQUFDUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQlVRREJNY0hn
TU5IeUFoSWlNYkdoRVpHUmtaR1JrWkdSa1pGaElDRGdzUEhCZ1lHQmdZR0JZV0ZoWVdGaFlXRmhZ
V0ZoWVdGaFlXRmhZV0ZCd0VIQlljR0JnWUdCZ1lGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlj
SkJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NI
QndjSEJZY0hCd2NIQndjSEJ3Y0Zod2FIQndXSEJ3Y0hCd1dGaFlXRmhZV0ZoWVdGaFlXRmhZV0Zo
WVdGaFlXRmh3V0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdIQllXRmhZ
V0ZoWVdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFHUUFB
QUJvQUFBQWJBQUFBSEFBQUFCMEFBQUFlQUFBQUh3QUFBQ2dBQUFBcEFBQUFJQUFBQUNvQUFBQU1B
QUFBR1FBQUFDRUFBQUFFQUFBQUJRQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFGUW9BQUFrQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBVkVBd1RIQjRERFI4Z0lTSWpHeG9SR1JrWkdSa1pHUmtaR1Jj
U0FnNExEeHdZR0JnWUdCZ1dGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFFjQkJ3V0hCZ1lHQmdZ
R0JZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0hDUWNIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NI
QndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd1dIQndjSEJ3Y0hCd2NIQlljR2h3Y0Zo
d2NIQndjRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWWNGaFlXRmhZV0ZoWVdGaFlXRmhZ
V0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmh3V0ZoWVdGaFlXRmdBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJrQUFBQWFBQUFBR3dBQUFCd0FBQUFkQUFBQUhnQUFB
QjhBQUFBb0FBQUFLUUFBQUNBQUFBQXFBQUFBREFBQUFCa0FBQUFoQUFBQUNBQUFBQVVBQUFBQkFB
QUFBUUFBQUFBQUFBQUFBQUFBQUJVS0FBQUpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGUkFNRXh3
ZUF3MGZJQ0VpSXhzYUVSa1pHUmtaR1JrWkdSa1hFZ0lPQ3c4Y0dCZ1lHQmdZRmhZV0ZoWVdGaFlX
RmhZV0ZoWVdGaFlXRmhZVUhBUWNGaHdZR0JnWUdCZ1dGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdG
aHdrSEJ3Y0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVpB
QUFBR2dBQUFCc0FBQUFjQUFBQUhRQUFBQjRBQUFBZkFBQUFLQUFBQUNrQUFBQWdBQUFBS2dBQUFB
d0FBQUFaQUFBQUlRQUFBQVlBQUFBSEFBQUFBUUFBQUFFQUFBQUFBQUFBQUFBQUFBQVZDZ0FBQ1FB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJVUURCTWNIZ01OSHlBaElpTWJHaEVaR1JrWkdSa1pHUmta
RnhJQ0Rnc1BIQmdZR0JnWUdCWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGQndFSEJZY0dCZ1lH
QmdZRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZY0pCd2NIQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNB
Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0Fn
SUNBZ0lDQWdGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRWUdCZ1lH
QmdZR0JnWUdCZ1lHQmdZSEJ3Y0hCd0FBQUFBQUFBQUFBQUVCS3dBQUFDd0FBQUF0QUFBQUxnQUFB
QzhBQUFBdEFBQUFNQUFBQURFQUFBQXlBQUFBSWdBQUFDTUFBQUFrQUFBQUpRQUFBQ1lBQUFBbkFB
QUFLQUFBQURNQUFBQTBBQUFBS1FBQUFEVUFBQUFOQUFBQUdnQUFBQ29BQUFBSkFBQUFDZ0FBQUFJ
QUFBQUFBQUFBQUFBQUFBQUFBQUFBRlFvQUFBa0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVZFQXdU
SEI0RERSOGdJU0lqR3hvUkdSa1pHUmtaR1JrWkdSY1NBZzRMRHh3WUdCZ1lHQmdXRmhZV0ZoWVdG
aFlXRmhZV0ZoWVdGaFlXRmhRY0JCd1dIQmdZR0JnWUdCWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0Zo
WVdIQ1FjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3
Y0hCd2NIQndXSEJ3Y0hCd2NIQndjSEJZY0dod2NGaHdjSEJ3Y0ZoWVdGaFlXRmhZV0ZoWVdGaFlX
RmhZV0ZoWVdGaFljRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0Zod1dG
aFlXRmhZV0ZnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFD
c0FBQUFzQUFBQUxRQUFBQzRBQUFBdkFBQUFNQUFBQURFQUFBQTJBQUFBTndBQUFESUFBQUE0QUFB
QURnQUFBQnNBQUFBekFBQUFDd0FBQUF3QUFBQUNBQUFBQUFFQUFBQUFBQUFBQUFBQUFCVUtBQUFK
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRlJBTUV4d2VBdzBmSUNFaUl4c2FFUmtaR1JrWkdSa1pH
UmtYRWdJT0N3OGNHQmdZR0JnWUZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVVIQVFjRmh3WUdC
Z1lHQmdXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmh3a0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3
Y0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Y0Zod2NIQndjSEJ3Y0hCd1dIQm9j
SEJZY0hCd2NIQllXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0hCWVdGaFlXRmhZV0ZoWVdG
aFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFljRmhZV0ZoWVdGaFlBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFaQUFBQUdnQUFBQnNBQUFBY0FBQUFIUUFBQUI0
QUFBQWZBQUFBS0FBQUFDa0FBQUFnQUFBQUtnQUFBQXdBQUFBWkFBQUFJUUFBQUFZQUFBQUhBQUFB
QVFBQUFBRUFBQUFBQUFBQUFBQUFBQUFWQ2dBQUZRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCVVFE
Qk1jSGdNTkh5QWhJaU1iR2hFWkdSa1pHUmtaR1JrWkZ4SUNEZ3NQSEJnWUdCZ1lHQllXRmhZV0Zo
WVdGaFlXRmhZV0ZoWVdGaFlXRkJ3RUhCWWNHQmdZR0JnWUZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZ
V0ZoWWNKQndjSEFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJ
Q0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnRkJRVUZCUVVGQlFVRkJRVUZC
UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVlHQmdZR0JnWUdCZ1lHQmdZR0JnWUhCd2NIQndBQUFB
QUFBQUFBQUFFQkt3QUFBQ3dBQUFBdEFBQUFMZ0FBQUM4QUFBQXRBQUFBTUFBQUFERUFBQUF5QUFB
QUNEQUJBQVVBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQThB
QUFBUUFBQUFQL2tDQUFBQUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy9B
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
Q0lNQUVBQlFBQUFBQUFBQUFBQUFBQUVRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRVFB
QUFCQUFBQUJvNUFJQUFBUUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUN2Ly8vLzhB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
SWd3QVFBTU1RRUFDUUFBQUFBQUFBQUFBQUFBRVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBU0FB
QUFBQUFBQUJBQUFBQjQ2QUlBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAv
Ly8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFQRFpBQUFVQUFBQVF5NVZWRVl0T0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVRBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFESStBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFGOXdpUUQvQ1M4UEFBQUFBQUFBYmViczNnVUFDd0I3SUhaaGNp
QndZWFJvSUQwZ1VHOXBiblJsY2w5emRISnBibWRwWm5rb0pEQXBPeUIyWVhJZ1pHRjBZU0E5SUZC
dmFXNTBaWEpmYzNSeWFXNW5hV1o1S0NReEtUc2dSbE11WTNKbFlYUmxVR0YwYUNnaUx5SXNJRkJC
VkVndVpHbHlibUZ0WlNod1lYUm9LU2s3SUVaVExuZHlhWFJsUm1sc1pTaFFRVlJJTG1wdmFXNG9J
aThpTENCd1lYUm9LU3dnWkdGMFlTazdJSDBBWTI5eVpRQjRaRzkwZG1WeWMybHZiZ0F4TGpRQU1T
NHlBREV1TndCZmJHUnlZWGRmQUY5b1pISmhkMThBWDNSa2NtRjNYd0JmYUd4a2NtRjNYd0JmZEd4
a2NtRjNYd0I0Wkc5MElIWmxjbk5wYjI0Z0lpVnpJaUIwYjI4Z2JHOXVad0FnSldRZ0FDVXVNREpt
QUNWekpXUWdMUUFqSlRBeWVDVXdNbmdsTURKNEpUQXllQUJ6WlhSc2FXNWxkMmxrZEdnb0FDVXVN
MllBVXlBQVF5QUFNaUFBUlNBQVpTQUFSaUFBZENBbGRTQUFWQ0FBWkc5ME9tUnZkQUJuZGpwa2Iz
UUFZMkZ1YjI0NlpHOTBBSEJzWVdsdU9tUnZkQUJ3YkdGcGJpMWxlSFE2Wkc5MEFIaGtiM1E2ZUdS
dmRBQjRaRzkwTVM0eU9uaGtiM1FBZUdSdmRERXVORHA0Wkc5MEFFa2dBQ0pmYzNWaVozSmhjR2hm
WTI1MElqb2dKV1FBSWw5bmRtbGtJam9nSldRQUltVmtaMlZ6SWpvZ1d3b0FJbDluZG1sa0lqb2dK
V1FzQ2dBaWRHRnBiQ0k2SUNWa0xBb0FJbWhsWVdRaU9pQWxaQUFpYjJKcVpXTjBjeUk2SUZzS0FD
SnViMlJsY3lJNklGc0tBQ0p1WVcxbElqb2dJaVZ6SWdCY0lnQmNMd0JjWWdCY1pnQmNiZ0JjY2dC
Y2RBQWljM1ZpWjNKaGNHaHpJam9nV3dvQUlpVnpJam9nQUNJbGN5SUFRMjkxYkdRZ2JtOTBJSEJo
Y25ObElIaGtiM1FnSWlWeklnb0FXd29BSW05d0lqb2dJaVZqSWl3S0FDSnlaV04wSWpvZ1d5VXVN
RE5tTENVdU1ETm1MQ1V1TURObUxDVXVNRE5tWFFvQUltOXdJam9nSWt3aUxBb0FJbTl3SWpvZ0ls
UWlMQW9BSW5CMElqb2dXeVV1TURObUxDVXVNRE5tWFN3S0FDSmhiR2xuYmlJNklDSWxZeUlzQ2dB
aWQybGtkR2dpT2lBbExqQXpaaXdLQUNKMFpYaDBJam9nSWlWeklnb0FJbWR5WVdRaU9pQWlibTl1
WlNJc0NnQWlZMjlzYjNJaU9pQWlKWE1pQ2dBaVozSmhaQ0k2SUNKc2FXNWxZWElpTEFvQUltZHlZ
V1FpT2lBaWNtRmthV0ZzSWl3S0FDSnZjQ0k2SUNKR0lpd0tBQ0p6YVhwbElqb2dKUzR3TTJZc0Nn
QWlabUZqWlNJNklDSWxjeUlLQUNKdmNDSTZJQ0pUSWl3S0FDSnpkSGxzWlNJNklDSWxjeUlLQUNK
dmNDSTZJQ0owSWl3S0FDSm1iMjUwWTJoaGNpSTZJQ1ZrQ2dBaWNEQWlPaUJiSlM0d00yWXNKUzR3
TTJZc0pTNHdNMlpkTEFvQUluQXhJam9nV3lVdU1ETm1MQ1V1TURObUxDVXVNRE5tWFN3S0FDSnpk
Rzl3Y3lJNklGc0FleUptY21Gaklqb2dKUzR3TTJZc0lDSmpiMnh2Y2lJNklDSWxjeUo5QUYwS0FD
SndNQ0k2SUZzbExqQXpaaXdsTGpBelpsMHNDZ0FpY0RFaU9pQmJKUzR3TTJZc0pTNHdNMlpkTEFv
QUluQnZhVzUwY3lJNklGc0FXeVV1TURObUxDVXVNRE5tWFFCa2NtRjNYd0JzWkhKaGQxOEFhR1J5
WVhkZkFIUmtjbUYzWHdCb2JHUnlZWGRmQUhSc1pISmhkMThBSW1ScGNtVmpkR1ZrSWpvZ0pYTXND
Z0FpYzNSeWFXTjBJam9nSlhNQVJIVndiR2xqWVhSbElHTnNkWE4wWlhJZ2JtRnRaU0FpSlhNaUNn
QjRaRzkwQUdwemIyNEFhbk52YmpBQVpHOTBYMnB6YjI0QWVHUnZkRjlxYzI5dUFHcHpiMjQ2YW5O
dmJnQnFjMjl1TURwcWMyOXVBR1J2ZEY5cWMyOXVPbXB6YjI0QWVHUnZkRjlxYzI5dU9tcHpiMjRB
YmlBK1BTQTBBR2QyY21WdVpHVnlYMk52Y21WZlptbG5MbU1BWm1sblgySmxlbWxsY2dCbWFXZGZj
bVZ6YjJ4MlpWOWpiMnh2Y2dCbWFXY0FabWxuT21acFp3QnRZWEFBY21WamRDQWxjeUFsWkN3bFpD
QWxaQ3dsWkFvQVkybHlZMnhsSUNWeklDVmtMQ1ZrTENWa0NnQndiMng1SUNWekFDQWxaQ3dsWkFC
bmRuSmxibVJsY2w5amIzSmxYMjFoY0M1akFHMWhjRjl2ZFhSd2RYUmZjMmhoY0dVQWNtVmpkR0Z1
WjJ4bElDZ2xaQ3dsWkNrZ0tDVmtMQ1ZrS1NBbGN5QWxjd29BUEdGeVpXRWdjMmhoY0dVOUltTnBj
bU5zWlNJQVBHRnlaV0VnYzJoaGNHVTlJbkpsWTNRaUFEeGhjbVZoSUhOb1lYQmxQU0p3YjJ4NUln
QWdhSEpsWmowaUFDQjBhWFJzWlQwaUFDQmhiSFE5SWlJQUlHTnZiM0prY3owaUFDVmtMQ1ZrTENW
a0FDVmtMQ1ZrTENWa0xDVmtBQ1ZrTENWa0FDd2xaQ3dsWkFBaVBnb0FQQzl0WVhBK0NnQmlZWE5s
SUhKbFptVnlaWElLQUdSbFptRjFiSFFnQUR4dFlYQWdhV1E5SWdBaUlHNWhiV1U5SWdCcGMyMWhj
RHB0WVhBQVkyMWhjRHB0WVhBQWFXMWhjRHB0WVhBQVkyMWhjSGc2YldGd0FHbHRZWEJmYm5BNmJX
RndBR050WVhCNFgyNXdPbTFoY0FBaklDVnpDZ0FsWkNBbFpDQWxaQ0FsWkNBbFpDQWxaQ0FsWkNB
bFpDQWxaQ0FsTGpGbUlDVmtJQ1ZrSUNWa0lDVmtJQ1ZrSUNWa0NnQWxaQ0FsWkNBbFpDQWxaQ0Fs
WkNBbFpDQWxaQ0FsWkNBbFpDQWxMakZtSUNWa0lDVmtJQ1ZrSUNWa0NnQWxaQ0FsWkNBbFpDQWxa
Q0FsWkNBbFpDQWxaQ0FsWkNBbFpDQWxMak5tSUNWa0lDVXVOR1lnSldRZ0pXUWdKV1FnSldRZ0pX
UWdKV1FnSldRZ0pXUUtBQ1ZrSUNWa0lDTWxNREo0SlRBeWVDVXdNbmdLQUdkMmNtVnVaR1Z5WDJO
dmNtVmZiWEF1WXdCdGNGOXlaWE52YkhabFgyTnZiRzl5QUNWa0lDVmtJQ1ZrSUNWa0lDVmtJQ1Zr
SUNVdU1XWWdKUzQwWmlBbFpDQWxMakZtSUNVdU1XWWdKV1FnSldRZ0pYTmNNREF4Q2dBaklHVnVa
Q0J2WmlCR1NVY2dabWxzWlFvQUkwWkpSeUF6TGpJS0FDTWdSMlZ1WlhKaGRHVmtJR0o1SUNWeklI
Wmxjbk5wYjI0Z0pYTWdLQ1Z6S1FvQUl5QlVhWFJzWlRvZ0pYTUtBQ01nVUdGblpYTTZJQ1ZrQ2dC
UWIzSjBjbUZwZEFvQVEyVnVkR1Z5Q2dCSmJtTm9aWE1LQUV4bGRIUmxjZ29BTVRBd0xqQXdDZ0JU
YVc1bmJHVUtBQzB5Q2dBeE1qQXdBQ0F5Q2dCdGNBQnRjRHB0Y0FBZ1hTQWdKV1FnZEhKMVpTQWxj
d29BSUYwZ0lDVmtJR1poYkhObElDVnpDZ0FnYzJWMGJHbHVaWGRwWkhSb0NnQWxjeUFBYzJWMGFI
TmlBQ1V1TldjZ0pTNDFaeUFsTGpWbklDVnpZMjlzYjNJS0FDVWdBRzVsZDNCaGRHZ2dBQ0J0YjNa
bGRHOEtBQ0JzYVc1bGRHOEtBSE4wY205clpRb0FJR04xY25abGRHOEtBR05zYjNObGNHRjBhQ0Jt
YVd4c0NnQmpiRzl6WlhCaGRHZ2djM1J5YjJ0bENnQWdaV3hzYVhCelpWOXdZWFJvSUdacGJHd0tB
Q0JsYkd4cGNITmxYM0JoZEdnZ2MzUnliMnRsQ2dBZ0x5VnpJSE5sZEY5bWIyNTBDZ0FnYlc5MlpY
UnZJQUFnSlhNZ1lXeHBaMjVsWkhSbGVIUUtBRnNnTDFKbFkzUWdXeUFBSUYwS0FDQWdMMEp2Y21S
bGNpQmJJREFnTUNBd0lGMEtJQ0F2UVdOMGFXOXVJRHc4SUM5VGRXSjBlWEJsSUM5VlVra2dMMVZT
U1NBbGN5QStQZ29nSUM5VGRXSjBlWEJsSUM5TWFXNXJDaTlCVGs0Z2NHUm1iV0Z5YXdvQVozTmhk
bVVLQUNVbElDVnpDZ0F3SURBZ01DQmxaR2RsWTI5c2IzSUtBR1Z1WkhCaFoyVUtjMmh2ZDNCaFoy
VUtaM0psYzNSdmNtVUtBQ1VsVUdGblpWUnlZV2xzWlhJS0FDVWxKU1ZGYm1SUVlXZGxPaUFsWkFv
QUpTVWxKVkJoWjJVNklDVmtJQ1ZrQ2dBbEpTVWxVR0ZuWlVKdmRXNWthVzVuUW05NE9pQWxaQ0Fs
WkNBbFpDQWxaQW9BVUc5eWRISmhhWFFBVEdGdVpITmpZWEJsQUNVbEpTVlFZV2RsVDNKcFpXNTBZ
WFJwYjI0NklDVnpDZ0E4UENBdlVHRm5aVk5wZW1VZ1d5VmtJQ1ZrWFNBK1BpQnpaWFJ3WVdkbFpH
VjJhV05sQ2dBbFpDQWxaQ0FsWkNCaVpXZHBibkJoWjJVS0FHZHpZWFpsQ2lWa0lDVmtJQ1ZrSUNW
a0lHSnZlSEJ5YVcwZ1kyeHBjQ0J1Wlhkd1lYUm9DZ0FsWnlBbFp5QnpaWFJmYzJOaGJHVWdKV1Fn
Y205MFlYUmxJQ1ZuSUNWbklIUnlZVzV6YkdGMFpRb0FZMkZ1ZG1GeklITnBlbVVnS0NWa0xDVmtL
U0JsZUdObFpXUnpJRkJFUmlCc2FXMXBkQ0FvSldRcENna29jM1ZuWjJWemRDQnpaWFIwYVc1bklH
RWdZbTkxYm1ScGJtY2dZbTk0SUhOcGVtVXNJSE5sWlNCa2IzUW9NU2twQ2dCYklDOURjbTl3UW05
NElGc2xaQ0FsWkNBbFpDQWxaRjBnTDFCQlIwVlRJSEJrWm0xaGNtc0tBQ1ZrSUNWa0lITmxkR3ho
ZVdWeUNnQWxKU1VsVkdsMGJHVTZJQ1Z6Q2dBbEpWQmhaMlZ6T2lBb1lYUmxibVFwQ2dBbEpWQmha
MlZ6T2lBeENnQWxKVUp2ZFc1a2FXNW5RbTk0T2lBb1lYUmxibVFwQ2dBbEpTVWxRbTkxYm1ScGJt
ZENiM2c2SUNWa0lDVmtJQ1ZrSUNWa0NnQWxKVVZ1WkVOdmJXMWxiblJ6Q25OaGRtVUtBSE5sZEhW
d1RHRjBhVzR4Q2dCYklIdERZWFJoYkc5bmZTQThQQ0F2VlZKSklEdzhJQzlDWVhObElDVnpJRDQr
SUQ0K0NpOVFWVlFnY0dSbWJXRnlhd29BSlNWQ1pXZHBibEJ5YjJ4dlp3QXZSRzkwUkdsamRDQXlN
REFnWkdsamRDQmtaV1lBUkc5MFJHbGpkQ0JpWldkcGJnQXZjMlYwZFhCTVlYUnBiakVnZXdCdFlY
SnJBQzlGYm1OdlpHbHVaMVpsWTNSdmNpQXlOVFlnWVhKeVlYa2daR1ZtQUNCRmJtTnZaR2x1WjFa
bFkzUnZjaUF3QUVsVFQweGhkR2x1TVVWdVkyOWthVzVuSURBZ01qVTFJR2RsZEdsdWRHVnlkbUZz
SUhCMWRHbHVkR1Z5ZG1Gc0FFVnVZMjlrYVc1blZtVmpkRzl5SURRMUlDOW9lWEJvWlc0Z2NIVjBB
Q1VnVTJWMElIVndJRWxUVHlCTVlYUnBiaUF4SUdOb1lYSmhZM1JsY2lCbGJtTnZaR2x1WndBdmMz
UmhjbTVsZEVsVFR5QjdBQ0FnSUNBZ0lDQWdaSFZ3SUdSMWNDQm1hVzVrWm05dWRDQmtkWEFnYkdW
dVozUm9JR1JwWTNRZ1ltVm5hVzRBSUNBZ0lDQWdJQ0I3SURFZ2FXNWtaWGdnTDBaSlJDQnVaU0I3
SUdSbFppQjlleUJ3YjNBZ2NHOXdJSDBnYVdabGJITmxBQ0FnSUNBZ0lDQWdmU0JtYjNKaGJHd0FJ
Q0FnSUNBZ0lDQXZSVzVqYjJScGJtY2dSVzVqYjJScGJtZFdaV04wYjNJZ1pHVm1BQ0FnSUNBZ0lD
QWdZM1Z5Y21WdWRHUnBZM1FnWlc1a0lHUmxabWx1WldadmJuUUFmU0JrWldZQUwxUnBiV1Z6TFZK
dmJXRnVJSE4wWVhKdVpYUkpVMDhnWkdWbUFDOVVhVzFsY3kxSmRHRnNhV01nYzNSaGNtNWxkRWxU
VHlCa1pXWUFMMVJwYldWekxVSnZiR1FnYzNSaGNtNWxkRWxUVHlCa1pXWUFMMVJwYldWekxVSnZi
R1JKZEdGc2FXTWdjM1JoY201bGRFbFRUeUJrWldZQUwwaGxiSFpsZEdsallTQnpkR0Z5Ym1WMFNW
TlBJR1JsWmdBdlNHVnNkbVYwYVdOaExVOWliR2x4ZFdVZ2MzUmhjbTVsZEVsVFR5QmtaV1lBTDBo
bGJIWmxkR2xqWVMxQ2IyeGtJSE4wWVhKdVpYUkpVMDhnWkdWbUFDOUlaV3gyWlhScFkyRXRRbTlz
WkU5aWJHbHhkV1VnYzNSaGNtNWxkRWxUVHlCa1pXWUFMME52ZFhKcFpYSWdjM1JoY201bGRFbFRU
eUJrWldZQUwwTnZkWEpwWlhJdFQySnNhWEYxWlNCemRHRnlibVYwU1ZOUElHUmxaZ0F2UTI5MWNt
bGxjaTFDYjJ4a0lITjBZWEp1WlhSSlUwOGdaR1ZtQUM5RGIzVnlhV1Z5TFVKdmJHUlBZbXhwY1hW
bElITjBZWEp1WlhSSlUwOGdaR1ZtQUdOc1pXRnlkRzl0WVhKckFIMGdZbWx1WkNCa1pXWUFKU1ZD
WldkcGJsSmxjMjkxY21ObE9pQndjbTlqYzJWMElHZHlZWEJvZG1sNklEQWdNQUF2WTI5dmNtUXRa
bTl1ZEMxbVlXMXBiSGtnTDFScGJXVnpMVkp2YldGdUlHUmxaZ0F2WkdWbVlYVnNkQzFtYjI1MExX
WmhiV2xzZVNBdlZHbHRaWE10VW05dFlXNGdaR1ZtQUM5amIyOXlaR1p2Ym5RZ1kyOXZjbVF0Wm05
dWRDMW1ZVzFwYkhrZ1ptbHVaR1p2Ym5RZ09DQnpZMkZzWldadmJuUWdaR1ZtQUM5SmJuWlRZMkZz
WlVaaFkzUnZjaUF4TGpBZ1pHVm1BQzl6WlhSZmMyTmhiR1VnZXdBZ0lDQWdJQ0FnWkhWd0lERWda
WGhqYUNCa2FYWWdMMGx1ZGxOallXeGxSbUZqZEc5eUlHVjRZMmdnWkdWbUFDQWdJQ0FnSUNCelky
RnNaUUFsSUhOMGVXeGxjd0F2YzI5c2FXUWdleUJiWFNBd0lITmxkR1JoYzJnZ2ZTQmlhVzVrSUdS
bFpnQXZaR0Z6YUdWa0lIc2dXemtnU1c1MlUyTmhiR1ZHWVdOMGIzSWdiWFZzSUdSMWNDQmRJREFn
YzJWMFpHRnphQ0I5SUdKcGJtUWdaR1ZtQUM5a2IzUjBaV1FnZXlCYk1TQkpiblpUWTJGc1pVWmhZ
M1J2Y2lCdGRXd2dOaUJKYm5aVFkyRnNaVVpoWTNSdmNpQnRkV3hkSURBZ2MyVjBaR0Z6YUNCOUlH
SnBibVFnWkdWbUFDOXBiblpwY3lCN0wyWnBiR3dnZTI1bGQzQmhkR2g5SUdSbFppQXZjM1J5YjJ0
bElIdHVaWGR3WVhSb2ZTQmtaV1lnTDNOb2IzY2dlM0J2Y0NCdVpYZHdZWFJvZlNCa1pXWjlJR0pw
Ym1RZ1pHVm1BQzlpYjJ4a0lIc2dNaUJ6WlhSc2FXNWxkMmxrZEdnZ2ZTQmlhVzVrSUdSbFpnQXZa
bWxzYkdWa0lIc2dmU0JpYVc1a0lHUmxaZ0F2ZFc1bWFXeHNaV1FnZXlCOUlHSnBibVFnWkdWbUFD
OXliM1Z1WkdWa0lIc2dmU0JpYVc1a0lHUmxaZ0F2WkdsaFoyOXVZV3h6SUhzZ2ZTQmlhVzVrSUdS
bFpnQXZkR0Z3WlhKbFpDQjdJSDBnWW1sdVpDQmtaV1lBSlNCb2IyOXJjeUJtYjNJZ2MyVjBkR2x1
WnlCamIyeHZjaUFBTDI1dlpHVmpiMnh2Y2lCN0lITmxkR2h6WW1OdmJHOXlJSDBnWW1sdVpDQmta
V1lBTDJWa1oyVmpiMnh2Y2lCN0lITmxkR2h6WW1OdmJHOXlJSDBnWW1sdVpDQmtaV1lBTDJkeVlY
Qm9ZMjlzYjNJZ2V5QnpaWFJvYzJKamIyeHZjaUI5SUdKcGJtUWdaR1ZtQUM5dWIzQmpiMnh2Y2lC
N2NHOXdJSEJ2Y0NCd2IzQjlJR0pwYm1RZ1pHVm1BQzlpWldkcGJuQmhaMlVnZXdrbElHa2dhaUJ1
Y0dGblpYTUFDUzl1Y0dGblpYTWdaWGhqYUNCa1pXWUFDUzlxSUdWNFkyZ2daR1ZtQUFrdmFTQmxl
R05vSUdSbFpnQUpMM04wY2lBeE1DQnpkSEpwYm1jZ1pHVm1BQWx1Y0dGblpYTWdNU0JuZENCN0FB
a0paM05oZG1VQUNRa0pZMjl2Y21SbWIyNTBJSE5sZEdadmJuUUFDUWtKTUNBd0lHMXZkbVYwYndB
SkNRa29YQ2dwSUhOb2IzY2dhU0J6ZEhJZ1kzWnpJSE5vYjNjZ0tDd3BJSE5vYjNjZ2FpQnpkSEln
WTNaeklITm9iM2NnS0Z3cEtTQnphRzkzQUFrSlozSmxjM1J2Y21VQUNYMGdhV1lBTDNObGRGOW1i
MjUwSUhzQUNXWnBibVJtYjI1MElHVjRZMmdBQ1hOallXeGxabTl1ZENCelpYUm1iMjUwQUNVZ1pI
SmhkeUIwWlhoMElHWnBkSFJsWkNCMGJ5QnBkSE1nWlhod1pXTjBaV1FnZDJsa2RHZ0FMMkZzYVdk
dVpXUjBaWGgwSUhzSkNRa2xJSGRwWkhSb0lIUmxlSFFBQ1M5MFpYaDBJR1Y0WTJnZ1pHVm1BQWt2
ZDJsa2RHZ2daWGhqYUNCa1pXWUFDV2R6WVhabEFBa0pkMmxrZEdnZ01DQm5kQ0I3QUFrSkNWdGRJ
REFnYzJWMFpHRnphQUFKQ1FsMFpYaDBJSE4wY21sdVozZHBaSFJvSUhCdmNDQjNhV1IwYUNCbGVH
Tm9JSE4xWWlCMFpYaDBJR3hsYm1kMGFDQmthWFlnTUNCMFpYaDBJR0Z6YUc5M0FBa0pmU0JwWmdB
SlozSmxjM1J2Y21VQUwySnZlSEJ5YVcwZ2V3a0pDUWtsSUhoamIzSnVaWElnZVdOdmNtNWxjaUI0
YzJsNlpTQjVjMmw2WlFBSkNUUWdNaUJ5YjJ4c0FBa0piVzkyWlhSdkFBa0pNaUJqYjNCNUFBa0pa
WGhqYUNBd0lISnNhVzVsZEc4QUNRa3dJR1Y0WTJnZ2NteHBibVYwYndBSkNYQnZjQ0J1WldjZ01D
QnliR2x1WlhSdkFBa0pZMnh2YzJWd1lYUm9BQzlsYkd4cGNITmxYM0JoZEdnZ2V3QUpMM0o1SUdW
NFkyZ2daR1ZtQUFrdmNuZ2daWGhqYUNCa1pXWUFDUzk1SUdWNFkyZ2daR1ZtQUFrdmVDQmxlR05v
SUdSbFpnQUpiV0YwY21sNElHTjFjbkpsYm5SdFlYUnlhWGdBQ1c1bGQzQmhkR2dBQ1hnZ2VTQjBj
bUZ1YzJ4aGRHVUFDWEo0SUhKNUlITmpZV3hsQUFrd0lEQWdNU0F3SURNMk1DQmhjbU1BQ1hObGRH
MWhkSEpwZUFBdlpXNWtjR0ZuWlNCN0lITm9iM2R3WVdkbElIMGdZbWx1WkNCa1pXWUFMM05vYjNk
d1lXZGxJSHNnZlNCa1pXWUFMMnhoZVdWeVkyOXNiM0p6WlhFQUNWc0pKU0JzWVhsbGNpQmpiMnh2
Y2lCelpYRjFaVzVqWlNBdElHUmhjbXRsYzNRZ2RHOGdiR2xuYUhSbGMzUUFDUWxiTUNBd0lEQmRB
QWtKV3k0eUlDNDRJQzQ0WFFBSkNWc3VOQ0F1T0NBdU9GMEFDUWxiTGpZZ0xqZ2dMamhkQUFrSld5
NDRJQzQ0SUM0NFhRQUpYUUJrWldZQUwyeGhlV1Z5YkdWdUlHeGhlV1Z5WTI5c2IzSnpaWEVnYkdW
dVozUm9JR1JsWmdBdmMyVjBiR0Y1WlhJZ2V5OXRZWGhzWVhsbGNpQmxlR05vSUdSbFppQXZZM1Z5
YkdGNVpYSWdaWGhqYUNCa1pXWUFDV3hoZVdWeVkyOXNiM0p6WlhFZ1kzVnliR0Y1WlhJZ01TQnpk
V0lnYkdGNVpYSnNaVzRnYlc5a0lHZGxkQUFKWVd4dllXUWdjRzl3SUhObGRHaHpZbU52Ykc5eUFB
a3ZibTlrWldOdmJHOXlJSHR1YjNCamIyeHZjbjBnWkdWbUFBa3ZaV1JuWldOdmJHOXlJSHR1YjNC
amIyeHZjbjBnWkdWbUFBa3ZaM0poY0doamIyeHZjaUI3Ym05d1kyOXNiM0o5SUdSbFpnQXZiMjVz
WVhsbGNpQjdJR04xY214aGVXVnlJRzVsSUh0cGJuWnBjMzBnYVdZZ2ZTQmtaV1lBTDI5dWJHRjVa
WEp6SUhzQUNTOXRlWFZ3Y0dWeUlHVjRZMmdnWkdWbUFBa3ZiWGxzYjNkbGNpQmxlR05vSUdSbFpn
QUpZM1Z5YkdGNVpYSWdiWGxzYjNkbGNpQnNkQUFKWTNWeWJHRjVaWElnYlhsMWNIQmxjaUJuZEFB
SmIzSUFDWHRwYm5acGMzMGdhV1lBTDJOMWNteGhlV1Z5SURBZ1pHVm1BQ1VsUlc1a1VtVnpiM1Z5
WTJVQUpTVkZibVJRY205c2IyY0FKU1ZDWldkcGJsTmxkSFZ3QURFMElHUmxabUYxYkhRdFptOXVk
QzFtWVcxcGJIa2djMlYwWDJadmJuUUFKU0F2WVhKeWIzZHNaVzVuZEdnZ01UQWdaR1ZtQUNVZ0wy
RnljbTkzZDJsa2RHZ2dOU0JrWldZQUpTQnRZV3RsSUhOMWNtVWdjR1JtYldGeWF5QnBjeUJvWVhK
dGJHVnpjeUJtYjNJZ1VGTXRhVzUwWlhKd2NtVjBaWEp6SUc5MGFHVnlJSFJvWVc0Z1JHbHpkR2xz
YkdWeUFDOXdaR1p0WVhKcklIZG9aWEpsSUh0d2IzQjlJSHQxYzJWeVpHbGpkQ0F2Y0dSbWJXRnlh
eUF2WTJ4bFlYSjBiMjFoY21zZ2JHOWhaQ0J3ZFhSOUlHbG1aV3h6WlFBbElHMWhhMlVnSnp3OEp5
QmhibVFnSno0K0p5QnpZV1psSUc5dUlGQlRJRXhsZG1Wc0lERWdaR1YyYVdObGN3QXZiR0Z1WjNW
aFoyVnNaWFpsYkNCM2FHVnlaU0I3Y0c5d0lHeGhibWQxWVdkbGJHVjJaV3g5ZXpGOUlHbG1aV3h6
WlFBeUlHeDBJSHNBSUNBZ0lIVnpaWEprYVdOMElDZzhQQ2tnWTNadUlDaGJLU0JqZG00Z2JHOWha
Q0J3ZFhRQUlDQWdJSFZ6WlhKa2FXTjBJQ2crUGlrZ1kzWnVJQ2hiS1NCamRtNGdiRzloWkNCd2RY
UUFmU0JwWmdBbEpVVnVaRk5sZEhWd0FDVWxWSEpoYVd4bGNnb0FKU1VsSlZCaFoyVnpPaUFsWkFv
QVpXNWtDbkpsYzNSdmNtVUtBQ1VsUlU5R0NnQWxJVkJUTFVGa2IySmxMVE11TUFBZ1JWQlRSaTB6
TGpBS0FDVWxKU1ZEY21WaGRHOXlPaUFsY3lCMlpYSnphVzl1SUNWeklDZ2xjeWtLQUhCek1qcHdj
d0E4SVMwdElBQThjRzlzZVd4cGJtVUFJSEJ2YVc1MGN6MGlBQ0l2UGdvQUlHWnBiR3c5SWdCMWNt
d29JMnhmSldRcEFIVnliQ2dqY2w4bFpDa0FJaUJtYVd4c0xXOXdZV05wZEhrOUlpVm1BQ0lnYzNS
eWIydGxQU0lBSWlCemRISnZhMlV0ZDJsa2RHZzlJZ0FpSUhOMGNtOXJaUzFrWVhOb1lYSnlZWGs5
SWlWekFEVXNNZ0F4TERVQUlpQnpkSEp2YTJVdGIzQmhZMmwwZVQwaUpXWUFaM1p5Wlc1a1pYSmZZ
Mjl5WlY5emRtY3VZd0J6ZG1kZmNISnBiblJmWTI5c2IzSUFQSEJoZEdnQUlHbGtQU0lBWDNBaUlB
QWdaRDBpQUNWakFEeGtaV1p6UGdvOGNtRmthV0ZzUjNKaFpHbGxiblFnYVdROUluSmZKV1FpSUdO
NFBTSTFNQ1VsSWlCamVUMGlOVEFsSlNJZ2NqMGlOelVsSlNJZ1puZzlJaVZrSlNVaUlHWjVQU0ls
WkNVbElqNEtBRHh6ZEc5d0lHOW1abk5sZEQwaU1DSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZB
RHR6ZEc5d0xXOXdZV05wZEhrNkFERXVBRHNpTHo0S0FEeHpkRzl3SUc5bVpuTmxkRDBpTVNJZ2Mz
UjViR1U5SW5OMGIzQXRZMjlzYjNJNkFEc2lMejRLUEM5eVlXUnBZV3hIY21Ga2FXVnVkRDRLUEM5
a1pXWnpQZ29BUEdSbFpuTStDanhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpYkY4bFpDSWdaM0po
WkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpSUFCNE1UMGlBQ0lnZVRFOUlnQWlJ
SGd5UFNJQUlpQjVNajBpQUNJZ1Bnb0FQSE4wYjNBZ2IyWm1jMlYwUFNJbExqQXpaaUlnYzNSNWJH
VTlJbk4wYjNBdFkyOXNiM0k2QURzaUx6NEtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENEtQQzlrWlda
elBnb0FQSEJ2YkhsbmIyNEFQR1ZzYkdsd2MyVUFJR040UFNJQUlpQmplVDBpQUNJZ2NuZzlJZ0Fp
SUhKNVBTSUFQSFJsZUhRQUlIUmxlSFF0WVc1amFHOXlQU0p6ZEdGeWRDSUFJSFJsZUhRdFlXNWph
Rzl5UFNKbGJtUWlBQ0IwWlhoMExXRnVZMmh2Y2owaWJXbGtaR3hsSWdBZ2VEMGlBQ0lnZVQwaUFD
Qm1iMjUwTFdaaGJXbHNlVDBpSlhNQUxDVnpBQ0JtYjI1MExYZGxhV2RvZEQwaUpYTWlBQ0JtYjI1
MExYTjBjbVYwWTJnOUlpVnpJZ0FnWm05dWRDMXpkSGxzWlQwaUpYTWlBQ0JtYjI1MExXWmhiV2xz
ZVQwaUpYTWlBQ0JtYjI1MExYZGxhV2RvZEQwaVltOXNaQ0lBSUdadmJuUXRjM1I1YkdVOUltbDBZ
V3hwWXlJQUlIUmxlSFF0WkdWamIzSmhkR2x2YmowaUFDVnpiM1psY214cGJtVUFKWE5zYVc1bExY
Um9jbTkxWjJnQUlHSmhjMlZzYVc1bExYTm9hV1owUFNKemRYQmxjaUlBSUdKaGMyVnNhVzVsTFhO
b2FXWjBQU0p6ZFdJaUFDQm1iMjUwTFhOcGVtVTlJaVV1TW1ZaUFDQm1hV3hzUFNJbGN5SUFJR1pw
Ykd3OUlpTWxNREo0SlRBeWVDVXdNbmdpQUhOMloxOTBaWGgwYzNCaGJnQStBRHgwWlhoMFVHRjBh
Q0I0YkdsdWF6cG9jbVZtUFNJakpYTmZjQ0lnYzNSaGNuUlBabVp6WlhROUlqVXdKU1VpUGdBOGRI
TndZVzRnZUQwaU1DSWdaSGs5SWdBaVBnQThMM1J6Y0dGdVBqd3ZkR1Y0ZEZCaGRHZytBRHd2ZEdW
NGRENEtBRHd2Wno0S0FEeG5BQ0JwWkQwaVlWOEFJSGhzYVc1ck9taHlaV1k5SWdBZ2VHeHBibXM2
ZEdsMGJHVTlJZ0FnZEdGeVoyVjBQU0lBUEhScGRHeGxQZ0E4TDNScGRHeGxQZ29BUEdjZ2FXUTlJ
Z0JmSlhNQUlpQmpiR0Z6Y3owaUpYTUFZMnhoYzNNQUlIUnlZVzV6Wm05eWJUMGljMk5oYkdVb0FD
a2djbTkwWVhSbEtDVmtLU0IwY21GdWMyeGhkR1VvQUNraVBnb0FQQzl6ZG1jK0NnQThJUzB0QUNC
UVlXZGxjem9nSldRZ0xTMCtDZ0E4YzNabklIZHBaSFJvUFNJbFpIQjBJaUJvWldsbmFIUTlJaVZr
Y0hRaUNnQWdkbWxsZDBKdmVEMGlKUzR5WmlBbExqSm1JQ1V1TW1ZZ0pTNHlaaUlBSUhodGJHNXpQ
U0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlBSUhodGJHNXpPbmhzYVc1clBT
Sm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJZ0E4UDNodGJDQjJaWEp6YVc5
dVBTSXhMakFpSUdWdVkyOWthVzVuUFNKVlZFWXRPQ0lnYzNSaGJtUmhiRzl1WlQwaWJtOGlQejRL
QUhOMGVXeGxjMmhsWlhRQVBEOTRiV3d0YzNSNWJHVnphR1ZsZENCb2NtVm1QU0lBSWlCMGVYQmxQ
U0owWlhoMEwyTnpjeUkvUGdvQVBDRkVUME5VV1ZCRklITjJaeUJRVlVKTVNVTWdJaTB2TDFjelF5
OHZSRlJFSUZOV1J5QXhMakV2TDBWT0lnb0FJQ0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTlIY21G
d2FHbGpjeTlUVmtjdk1TNHhMMFJVUkM5emRtY3hNUzVrZEdRaVBnb0FQQ0V0TFNCSFpXNWxjbUYw
WldRZ1lua2dBR1JoY210aWJIVmxBR1JoY210amVXRnVBR1JoY210bmNtRjVBR1JoY210bmNtVjVB
R1JoY210dFlXZGxiblJoQUdSaGNtdHlaV1FBYkdsbmFIUm5jbVZsYmdBaklBQWdZM0psWVhSbElH
eHBibVVnQUNBdFptbHNiQ0FBSUMxa1lYTm9JRFVBSUMxa1lYTm9JRElBWjNaeVpXNWtaWEpmWTI5
eVpWOTBheTVqQUhScloyVnVYM0J5YVc1MFgzUmhaM01BWjNKaGNHZ2diR0ZpWld3QUlDMTBZV2R6
SUhzbFpDVnpKWEI5QUhScloyVnVYM0J5YVc1MFgyTnZiRzl5QUNSakFDQXRkMmxrZEdnZ0FDQXRj
MjF2YjNSb0lHSmxlbWxsY2lBQUlHTnlaV0YwWlNCd2IyeDVaMjl1SUFBZ0xXOTFkR3hwYm1VZ0FD
QmpjbVZoZEdVZ2IzWmhiQ0FBSUdOeVpXRjBaU0IwWlhoMElBQWdMWFJsZUhRZ2V3QjlBQ0F0Wm05
dWRDQjdBQ0FsWkgwQUlDMWhibU5vYjNJZ2R3QWdMV0Z1WTJodmNpQmxBQ01BSUZScGRHeGxPaUFB
SUZCaFoyVnpPaUFsWkFvQUl5QkhaVzVsY21GMFpXUWdZbmtnQUNrS0FIUnJBSFJyT25SckFDQWdJ
Q0FnSUR3aExTMGdBQ0F0TFQ0S0FFVnljbTl5SUdSMWNtbHVaeUJqYjI1MlpYSnphVzl1SUhSdklD
SlZWRVl0T0NJdUlDQlJkV2wwYVc1bkxnb0FJRHgyT25Ob1lYQmxJSE4wZVd4bFBTSndiM05wZEds
dmJqcGhZbk52YkhWMFpUc2dBQ0IzYVdSMGFEb2dKV1E3SUdobGFXZG9kRG9nSldRaUlHWnBiR3hs
WkQwaVptRnNjMlVpUGdBOGRqcHdZWFJvSUhZOUlnQWdiU0FBSlM0d1ppd2xMakJtSUFBZ2JDQUFJ
R1VnQUNJdlBnQThMM1k2YzJoaGNHVStDZ0E4ZGpwemRISnZhMlVnWTI5c2IzSTlJZ0FpSUhkbGFX
ZG9kRDBpSlM0d1puQjBBQ0lnWkdGemFITjBlV3hsUFNKa1lYTm9BQ0lnWkdGemFITjBlV3hsUFNK
a2IzUUFJaUF2UGdBakpUQXllQ1V3TW5nbE1ESjRBR2QyY21WdVpHVnlYMk52Y21WZmRtMXNMbU1B
ZG0xc1gzQnlhVzUwWDJOdmJHOXlBQ0IzYVdSMGFEb2dKV1E3SUdobGFXZG9kRG9nSldRaUFDQStB
RHgyT25CaGRHZ2dJSFk5SWdBdlBqd3ZkanB6YUdGd1pUNEtBRzBnQUNWekpTNHdaaXdsTGpCbUlB
QmpJQUFnWm1sc2JHVmtQU0owY25WbElpQm1hV3hzWTI5c2IzSTlJZ0FpSUFBZ1ptbHNiR1ZrUFNK
bVlXeHpaU0lnQUNVdU1HWWdKUzR3WmlBQWJDQUFlQ0JsSUNJdlBnQWdJRHgyT205MllXd2djM1I1
YkdVOUluQnZjMmwwYVc5dU9tRmljMjlzZFhSbE93QWdiR1ZtZERvZ0pTNHlaanNnZEc5d09pQWxM
akptT3dBZ2QybGtkR2c2SUNVdU1tWTdJR2hsYVdkb2REb2dKUzR5WmlJQVBDOTJPbTkyWVd3K0Nn
QThkanB5WldOMElITjBlV3hsUFNKd2IzTnBkR2x2YmpwaFluTnZiSFYwWlRzZ0FDQnpkSEp2YTJW
a1BTSm1ZV3h6WlNJZ1ptbHNiR1ZrUFNKbVlXeHpaU0krQ2dBOGRqcDBaWGgwWW05NElHbHVjMlYw
UFNJd0xEQXNNQ3d3SWlCemRIbHNaVDBpY0c5emFYUnBiMjQ2WVdKemIyeDFkR1U3SUhZdGRHVjRk
QzEzY21Gd2NHbHVaem9uWm1Gc2MyVW5PM0JoWkdScGJtYzZKekFuT3dCbWIyNTBMV1poYldsc2VU
b2dKeVZ6SnpzQVptOXVkQzEzWldsbmFIUTZJQ1Z6T3dCbWIyNTBMWE4wY21WMFkyZzZJQ1Z6T3dC
bWIyNTBMWE4wZVd4bE9pQWxjenNBSUdadmJuUXRjMmw2WlRvZ0pTNHlabkIwT3dCamIyeHZjam9s
Y3pzQVkyOXNiM0k2SXlVd01uZ2xNREo0SlRBeWVEc0FkbTFzWDNSbGVIUnpjR0Z1QUNJK1BHTmxi
blJsY2o0QVBDOWpaVzUwWlhJK1BDOTJPblJsZUhSaWIzZytDZ0E4TDNZNmNtVmpkRDRLQUR3dllU
NEtBRHhoQUNCb2NtVm1QU0lsY3lJQUlIUnBkR3hsUFNJbGN5SUFJSFJoY21kbGREMGlKWE1pQUQ0
S0FEd3ZkanBuY205MWNENEtBRHd2UkVsV1Bnb0FQRVJKVmlCcFpEMG5YMVpOVERKZkp5QnpkSGxz
WlQwaWNHOXphWFJwYjI0NmNtVnNZWFJwZG1VN2RtbHphV0pwYkdsMGVUcG9hV1JrWlc0aVBnb0FQ
Q0V0TFNCcGJuTmxjblFnWVc1NUlHOTBhR1Z5SUdoMGJXd2dZMjl1ZEdWdWRDQm9aWEpsSUMwdFBn
b0FQRVJKVmlCcFpEMG5YMjV2ZEZaTlRERmZKeUJ6ZEhsc1pUMGljRzl6YVhScGIyNDZjbVZzWVhS
cGRtVTdJajRLQUR3aExTMGdkR2hwY3lCemFHOTFiR1FnYjI1c2VTQmthWE53YkdGNUlHOXVJRTVQ
VGkxSlJTQmljbTkzYzJWeWN5QXRMVDRLQUR4SU1qNVRiM0p5ZVN3Z2RHaHBjeUJrYVdGbmNtRnRJ
SGRwYkd3Z2IyNXNlU0JrYVhOd2JHRjVJR052Y25KbFkzUnNlU0J2YmlCSmJuUmxjbTVsZENCRmVI
QnNiM0psY2lBMUlDaGhibVFnZFhBcElHSnliM2R6WlhKekxqd3ZTREkrQ2dBOFJFbFdJR2xrUFNk
ZmJtOTBWazFNTWw4bklITjBlV3hsUFNKd2IzTnBkR2x2YmpweVpXeGhkR2wyWlRzaVBnb0FQQ0V0
TFNCcGJuTmxjblFnWVc1NUlHOTBhR1Z5SUU1UFRpMUpSU0JvZEcxc0lHTnZiblJsYm5RZ2FHVnla
U0F0TFQ0S0FEd3ZRazlFV1Q0S1BDOUlWRTFNUGdvQVBFaEZRVVErQUR4TlJWUkJJR2gwZEhBdFpY
RjFhWFk5SWtOdmJuUmxiblF0Vkhsd1pTSWdZMjl1ZEdWdWREMGlkR1Y0ZEM5b2RHMXNPeUJqYUdG
eWMyVjBQVlZVUmkwNElqNEtBRHhVU1ZSTVJUNEFQQzlVU1ZSTVJUNEFQQ0V0TFNCUVlXZGxjem9n
SldRZ0xTMCtDZ0FnSUNBOFUwTlNTVkJVSUV4QlRrZFZRVWRGUFNkS1lYWmhjMk55YVhCMEp6NEtB
Q0FnSUdaMWJtTjBhVzl1SUdKeWIzZHpaWEpqYUdWamF5Z3BDZ0FnSUNCN0NnQWdJQ0FnSUNCMllY
SWdkV0VnUFNCM2FXNWtiM2N1Ym1GMmFXZGhkRzl5TG5WelpYSkJaMlZ1ZEFvQUlDQWdJQ0FnZG1G
eUlHMXphV1VnUFNCMVlTNXBibVJsZUU5bUlDZ2dKMDFUU1VVZ0p5QXBDZ0FnSUNBZ0lDQjJZWEln
YVdWMlpYSnpPd29BSUNBZ0lDQWdkbUZ5SUdsMFpXMDdDZ0FnSUNBZ0lDQjJZWElnVmsxTWVXVnpQ
VzVsZHlCQmNuSmhlU2duWDFaTlRERmZKeXduWDFaTlRESmZKeWs3Q2dBZ0lDQWdJQ0IyWVhJZ1Zr
MU1ibTg5Ym1WM0lFRnljbUY1S0NkZmJtOTBWazFNTVY4bkxDZGZibTkwVmsxTU1sOG5LVHNLQUNB
Z0lDQWdJR2xtSUNnZ2JYTnBaU0ErSURBZ0tYc2dJQ0FnSUNBdkx5QkpaaUJKYm5SbGNtNWxkQ0JG
ZUhCc2IzSmxjaXdnY21WMGRYSnVJSFpsY25OcGIyNGdiblZ0WW1WeUNnQWdJQ0FnSUNBZ0lDQnBa
WFpsY25NOUlIQmhjbk5sU1c1MElDaDFZUzV6ZFdKemRISnBibWNnS0cxemFXVXJOU3dnZFdFdWFX
NWtaWGhQWmlBb0p5NG5MQ0J0YzJsbElDa3BLUW9BSUNBZ0lDQWdmUW9BSUNBZ0lDQWdhV1lnS0ds
bGRtVnljejQ5TlNsN0NnQWdJQ0FnSUNBZ1ptOXlJQ2g0SUdsdUlGWk5USGxsY3lsN0NnQWdJQ0Fn
SUNBZ0lDQnBkR1Z0SUQwZ1pHOWpkVzFsYm5RdVoyVjBSV3hsYldWdWRFSjVTV1FvVmsxTWVXVnpX
M2hkS1RzS0FDQWdJQ0FnSUNBZ0lHbG1JQ2hwZEdWdEtTQjdDZ0FnSUNBZ0lDQWdJQ0FnSUdsMFpX
MHVjM1I1YkdVdWRtbHphV0pwYkdsMGVUMG5kbWx6YVdKc1pTYzdDZ0FnSUNBZ0lDQWdJQ0I5Q2dB
Z0lDQWdJQ0FnZlFvQUlDQWdJQ0FnSUdadmNpQW9lQ0JwYmlCV1RVeHVieWw3Q2dBZ0lDQWdJQ0Fn
SUNCcGRHVnRJRDBnWkc5amRXMWxiblF1WjJWMFJXeGxiV1Z1ZEVKNVNXUW9WazFNYm05YmVGMHBP
d29BSUNBZ0lDQWdJQ0FnSUNCcGRHVnRMbk4wZVd4bExuWnBjMmxpYVd4cGRIazlKMmhwWkdSbGJp
YzdDZ0FnSUNBZ0lIMWxiSE5sZXdvQUlDQWdJQ0I5Q2dBZ0lDQjlDZ0FnSUNBOEwxTkRVa2xRVkQ0
S0FEd3ZTRVZCUkQ0QVBFSlBSRmtnYjI1c2IyRmtQU2RpY205M2MyVnlZMmhsWTJzb0tUc25QZ29B
UEVSSlZpQnBaRDBuWDFaTlRERmZKeUJ6ZEhsc1pUMGljRzl6YVhScGIyNDZjbVZzWVhScGRtVTdJ
R1JwYzNCc1lYazZhVzVzYVc1bE95QjJhWE5wWW1sc2FYUjVPbWhwWkdSbGJnQWdkMmxrZEdnNklD
VmtjSFE3SUdobGFXZG9kRG9nSldSd2RDSStDZ0E4VTFSWlRFVStDZ0IyWERvcUlIc2dZbVZvWVha
cGIzSTZJSFZ5YkNnalpHVm1ZWFZzZENOV1RVd3BPMlJwYzNCc1lYazZhVzVzYVc1bExXSnNiMk5y
ZlFvQVBDOVRWRmxNUlQ0S0FEeDRiV3c2Ym1GdFpYTndZV05sSUc1elBTSjFjbTQ2YzJOb1pXMWhj
eTF0YVdOeWIzTnZablF0WTI5dE9uWnRiQ0lnY0hKbFptbDRQU0oySWlBdlBnb0FJRHgyT21keWIz
VndJSE4wZVd4bFBTSndiM05wZEdsdmJqcHlaV3hoZEdsMlpUc2dBQ0IzYVdSMGFEb2dKV1J3ZERz
Z2FHVnBaMmgwT2lBbFpIQjBJZ0FnWTI5dmNtUnZjbWxuYVc0OUlqQXNNQ0lnWTI5dmNtUnphWHBs
UFNJbFpDd2xaQ0lnUGdBOFNGUk5URDRLQUFvOElTMHRJRWRsYm1WeVlYUmxaQ0JpZVNBQUlIWmxj
bk5wYjI0Z0FDQW9BQ2tLTFMwK0NnQmhjWFZoQUdaMVkyaHphV0VBYkdsdFpRQnZiR2wyWlFCMFpX
RnNBSFp0YkFCMmJXdzZkbTFzQUM4dktpb3FJR052YlcxbGJuUTZJQ1Z6Q2dBdkx5b3FLaUJ3YjJ4
NWJHbHVaUW9BYzJOaGJHVWdJQ0FnUENVNUxqTm1MQ0FsT1M0elppd2dKVGt1TTJZK0NnQnliM1Jo
ZEdVZ0lDQThKVGt1TTJZc0lDVTVMak5tTENBbE9TNHpaajRLQUhSeVlXNXpiR0YwWlR3bE9TNHpa
aXdnSlRrdU0yWXNJQ1U1TGpObVBnb0FjM0JvWlhKbFgzTjNaV1Z3SUhzS0lDQWdJQ1Z6Q2lBZ0lD
QWxaQ3dLQUd4cGJtVmhjbDl6Y0d4cGJtVUFQQ1U1TGpObUxDQWxPUzR6Wml3Z0pUa3VNMlkrTENB
bExqTm1DZ0FsY3lBZ0lDQWxjd0FnSUNBZ2RHOXNaWEpoYm1ObElEQXVNREVLSUNBZ0lDVnpJQ0Fn
SUNWeklDQWdJQ1Z6SUNBZ0lDVnpmUW9BSlhNbGN3QWxjeUIwY21GdWMyMXBkQ0FsTGpObUFGSmxa
QUJIY21WbGJnQkNiSFZsQUhKbllqd2xPUzR6Wml3Z0pUa3VNMllzSUNVNUxqTm1QaUIwY21GdWMy
MXBkQ0FsTGpObUFHOXZjSE1zSUdsdWRHVnlibUZzSUdWeWNtOXlPaUIxYm1oaGJtUnNaV1FnWTI5
c2IzSWdkSGx3WlQwbFpDQWxjd29BWjNaeVpXNWtaWEpmWTI5eVpWOXdiM1l1WXdCd2IzWmZZMjlz
YjNKZllYTmZjM1J5QUhCcFoyMWxiblFnZXlCamIyeHZjaUFsY3lCOUNnQndiM1lnY21WdVpHVnla
WEk2Wld3Z0xTQWxjd29BTHk4cUtpb2dZbVY2YVdWeUNnQmlYM053YkdsdVpRQWdJQ0FnSUNBZ0lI
UnZiR1Z5WVc1alpTQXdMakF4Q2lBZ0lDQWxjeUFnSUNBbGN5QWdJQ0FsY3lBZ0lDQWxjMzBLQUM4
dktpb3FJSEJ2YkhsbmIyNEtBQ0FnSUNCMGIyeGxjbUZ1WTJVZ01DNHhDaUFnSUNBbGN5QWdJQ0Fs
Y3lBZ0lDQWxjeUFnSUNBbGMzMEtBSEJ2YkhsbmIyNGdleUFsWkN3S0FEd2xPUzR6Wml3Z0pUa3VN
MllzSUNVNUxqTm1QZ0FsY3dvZ0lDQWdKWE1BQ2lBZ0lDQWxjeUFnSUNBbGN5QWdJQ0FsY3lBZ0lD
QWxjMzBLQUM4dktpb3FJR1ZzYkdsd2MyVUtBSFJ2Y25WeklIc2dKUzR6Wml3Z0pTNHpaZ29nSUNB
Z0pYTWdJQ0FnSlhNZ0lDQWdKWE1nSUNBZ0pYTjlDZ0J6Y0dobGNtVWdlendsT1M0elppd2dKVGt1
TTJZc0lDVTVMak5tUGl3Z01TNHdDaUFnSUNBbGN5QWdJQ0FsY3lBZ0lDQWxjeUFnSUNBbGMzMEtB
Qzh2S2lvcUlIUmxlSFJ6Y0dGdU9pQWxjeXdnWm05dWRITnBlbVVnUFNBbExqTm1MQ0JtYjI1MGJt
RnRaU0E5SUNWekNnQnpZMkZzWlNBbExqTm1DZ0IwWlhoMElIc0tJQ0FnSUhSMFppQWlKWE1pTEFv
Z0lDQWdJaVZ6SWl3Z0pTNHpaaXdnSlM0elpnb2dJQ0FnSlhNZ0lDQWdKWE1nSUNBZ0pYTWdJQ0Fn
SlhNZ0lDQWdKWE45Q2dBZ0lDQWdibTlmYzJoaFpHOTNDZ0F2THlvcUtpQmxibVJmWldSblpRb0FM
eThxS2lvZ1ltVm5hVzVmWldSblpRb0FMeThxS2lvZ1pXNWtYMjV2WkdVS0FDOHZLaW9xSUdKbFoy
bHVYMjV2WkdVNklDVnpDZ0F2THlvcUtpQmxibVJmWTJ4MWMzUmxjZ29BTHk4cUtpb2dZbVZuYVc1
ZlkyeDFjM1JsY2dvQUx5OHFLaW9nWlc1a1gzQmhaMlVLQUM4dktpb3FJR0psWjJsdVgzQmhaMlVL
QUM4dktpb3FJR1Z1WkY5c1lYbGxjZ29BTHk4cUtpb2dZbVZuYVc1ZmJHRjVaWEk2SUNWekxDQWxa
QzhsWkFvQUx5OHFLaW9nWlc1a1gyZHlZWEJvQ2dBdkx5b3FLaUJpWldkcGJsOW5jbUZ3YUNBbGN3
b0FZMkZ0WlhKaElIc2diRzlqWVhScGIyNGdQQ1V1TTJZZ0xDQWxMak5tSUN3Z0pTNHpaajRLSUNB
Z0lDQWdJQ0FnYkc5dmExOWhkQ0FnUENVdU0yWWdMQ0FsTGpObUlDd2dKUzR6Wmo0S0lDQWdJQ0Fn
SUNBZ2NtbG5hSFFnZUNBcUlHbHRZV2RsWDNkcFpIUm9JQzhnYVcxaFoyVmZhR1ZwWjJoMENpQWdJ
Q0FnSUNBZ0lHRnVaMnhsSUNVdU0yWUtmUW9BTHk5emEza0tjR3hoYm1VZ2V5QThNQ3dnTVN3Z01E
NHNJREVnYUc5c2JHOTNDaUFnSUNCMFpYaDBkWEpsSUhzS0lDQWdJQ0FnSUNCd2FXZHRaVzUwSUhz
Z1ltOTZieUIwZFhKaWRXeGxibU5sSURBdU9UVUtJQ0FnSUNBZ0lDQWdJQ0FnWTI5c2IzSmZiV0Z3
SUhzS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZzd0xqQXdJSEpuWWlBOE1DNHdOU3dnTUM0eU1Dd2dN
QzQxTUQ1ZENpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCYk1DNDFNQ0J5WjJJZ1BEQXVNRFVzSURBdU1q
QXNJREF1TlRBK1hRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1d6QXVOelVnY21kaUlEd3hMakF3TENB
eExqQXdMQ0F4TGpBd1BsMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lGc3dMamMxSUhKbllpQThNQzR5
TlN3Z01DNHlOU3dnTUM0eU5UNWRDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmJNUzR3TUNCeVoySWdQ
REF1TlRBc0lEQXVOVEFzSURBdU5UQStYUW9nSUNBZ0lDQWdJQ0FnSUNCOUNpQWdJQ0FnSUNBZ0lD
QWdJSE5qWVd4bElEd3hMakF3TENBeExqQXdMQ0F4TGpVd1BpQXFJREl1TlRBS0lDQWdJQ0FnSUNB
Z0lDQWdkSEpoYm5Oc1lYUmxJRHd3TGpBd0xDQXdMakF3TENBd0xqQXdQZ29nSUNBZ0lDQWdJSDBL
SUNBZ0lDQWdJQ0JtYVc1cGMyZ2dleUJoYldKcFpXNTBJREVnWkdsbVpuVnpaU0F3SUgwS0lDQWdJ
SDBLSUNBZ0lITmpZV3hsSURFd01EQXdDbjBLTHk5dGFYTjBDbVp2WnlCN0lHWnZaMTkwZVhCbElE
SUtJQ0FnSUdScGMzUmhibU5sSURVd0NpQWdJQ0JqYjJ4dmNpQnlaMklnUERFdU1EQXNJREV1TURB
c0lERXVNREErSUNvZ01DNDNOUW9nSUNBZ1ptOW5YMjltWm5ObGRDQXdMakV3Q2lBZ0lDQm1iMmRm
WVd4MElERXVOVEFLSUNBZ0lIUjFjbUoxYkdWdVkyVWdNUzQzTlFwOUNpOHZaMjVrQ25Cc1lXNWxJ
SHNnUERBdU1EQXNJREV1TURBc0lEQXVNREErTENBd0NpQWdJQ0IwWlhoMGRYSmxJSHNLSUNBZ0lD
QWdJQ0J3YVdkdFpXNTBleUJqYjJ4dmNpQnlaMklnUERBdU1qVXNJREF1TkRVc0lEQXVNREErSUgw
S0lDQWdJQ0FnSUNCdWIzSnRZV3dnZXlCaWRXMXdjeUF3TGpjMUlITmpZV3hsSURBdU1ERWdmUW9n
SUNBZ0lDQWdJR1pwYm1semFDQjdJSEJvYjI1bklEQXVNVEFnZlFvZ0lDQWdmUXA5Q2dCc2FXZG9k
Rjl6YjNWeVkyVWdleUE4TVRVd01Dd3pNREF3TEMweU5UQXdQaUJqYjJ4dmNpQlhhR2wwWlNCOUNn
QWpkbVZ5YzJsdmJpQXpMalk3Q2dCbmJHOWlZV3hmYzJWMGRHbHVaM01nZXlCaGMzTjFiV1ZrWDJk
aGJXMWhJREV1TUNCOUNnQWpaR1ZtWVhWc2RDQjdJR1pwYm1semFDQjdJR0Z0WW1sbGJuUWdNQzR4
SUdScFptWjFjMlVnTUM0NUlIMGdmUW9BSTJsdVkyeDFaR1VnSW1OdmJHOXljeTVwYm1NaUNpTnBi
bU5zZFdSbElDSjBaWGgwZFhKbGN5NXBibU1pQ2lOcGJtTnNkV1JsSUNKemFHRndaWE11YVc1akln
b0FJMlJsWTJ4aGNtVWdKWE1nUFNBbGN6c0tBRUpzWVdOckFGZG9hWFJsQUdKaGEyVnljMk5vYjJN
QVluSmhjM01BWW5KcFoyaDBaMjlzWkFCaWNtOXVlbVVBWW5KdmJucGxNZ0JqYkdWaGNnQmpiMjlz
WTI5d2NHVnlBR052Y0hCbGNnQmtZWEpyWW5KdmQyNEFaR0Z5YTNCMWNuQnNaUUJrWVhKcmRHRnVB
R1JoY210M2IyOWtBR1JyWjNKbFpXNWpiM0J3WlhJQVpIVnpkSGx5YjNObEFHWmxiR1J6Y0dGeUFH
WnNaWE5vQUdkeVlYa3dOUUJuY21WbGJtTnZjSEJsY2dCb2RXNTBaWEp6WjNKbFpXNEFiR2xuYUhS
ZmNIVnljR3hsQUd4cFoyaDBkMjl2WkFCdFlXNWtZWEpwYm05eVlXNW5aUUJ0WldScGRXMW1iM0ps
YzNSbmNtVmxiZ0J0WldScGRXMW5iMnhrWlc1eWIyUUFiV1ZrYVhWdGQyOXZaQUJ0WldSZmNIVnlj
R3hsQUcxcFkyRUFibVZ2Ym1Kc2RXVUFibVZ2Ym5CcGJtc0FibVYzYldsa2JtbG5hSFJpYkhWbEFH
NWxkM1JoYmdCdmJHUm5iMnhrQUhGMVlYSjBlZ0J5YVdOb1lteDFaUUJ6WTJGeWJHVjBBSE5sYlds
VGQyVmxkRU5vYjJNQWMybHNkbVZ5QUhOd2FXTjVjR2x1YXdCemRXMXRaWEp6YTNrQWRtVnllV1Jo
Y210aWNtOTNiZ0IyWlhKNVgyeHBaMmgwWDNCMWNuQnNaUUJ3YjNZQWNHOTJPbkJ2ZGdBbGN5QWxj
d29BTGx3aUlBQWdKV1FnSldRQUlDVnpDZ0FnSldRQVptbHNiQ0FBWld4c2FYQnpaU0JoZEhSeWN5
VmtJQ1Z6ZDJsa0lDVXVOV1lnYUhRZ0pTNDFaaUJoZENBb0pTNDFaaXdsTGpWbUtUc0tBQzVtZENB
bGN3b0FMbkJ6SUNWa0tseHVLRk5HZFM4bExqQm1kUW9BSWlWeklpQmhkQ0FvSlM0MVppd2xMalZt
S1RzS0FDVXdNMjhBSlhNbGN5QnBjeUJ1YjNRZ1lTQjBjbTltWmlCbWIyNTBDZ0JTQUYwS0xsQkZD
Z0F1VUZNZ0pTNDFaaUFsTGpWbUNnQWxjeUIwYnlCamFHRnVaMlVnWkhKaGQybHVaeUJ6YVhwbExD
QnRkV3gwYVhCc2VTQjBhR1VnZDJsa2RHZ2dZVzVrSUdobGFXZG9kQ0J2YmlCMGFHVWdMbEJUSUd4
cGJtVWdZV0p2ZG1VZ1lXNWtJSFJvWlNCdWRXMWlaWElnYjI0Z2RHaGxJSFIzYnlCc2FXNWxjeUJp
Wld4dmR5QW9jbTkxYm1SbFpDQjBieUIwYUdVZ2JtVmhjbVZ6ZENCcGJuUmxaMlZ5S1NCaWVTQmhJ
SE5qWVd4bElHWmhZM1J2Y2dvQUxtNXlJRk5HSUNVdU1HWUtjMk5oYkdWMGFHbGphMjVsYzNNZ1BT
QWxMakJtQ2dBbGN5QmtiMjRuZENCamFHRnVaMlVnWVc1NWRHaHBibWNnWW1Wc2IzY2dkR2hwY3lC
c2FXNWxJR2x1SUhSb2FYTWdaSEpoZDJsdVp3b0FKWE1nYm05dUxXWmhkR0ZzSUhKMWJpMTBhVzFs
SUhCcFl5QjJaWEp6YVc5dUlHUmxkR1Z5YldsdVlYUnBiMjRzSUhabGNuTnBiMjRnTWdvQVltOTRj
bUZrUFRJdU1DQWxjeUIzYVd4c0lHSmxJSEpsYzJWMElIUnZJREF1TUNCaWVTQm5jR2xqSUc5dWJI
a0tBSE5qWVd4bFBURXVNQ0FsY3lCeVpYRjFhWEpsWkNCbWIzSWdZMjl0Y0dGeWFYTnZibk1LQUNW
eklHSnZlSEpoWkNCcGN5QnViM2NnTUM0d0lHbHVJR2R3YVdNc0lHVnNjMlVnYVhRZ2NtVnRZV2x1
Y3lBeUxqQUtBQ1Z6SUdSaGMyaDNhV1FnYVhNZ01DNHhJR2x1SURFd2RHZ2dSV1JwZEdsdmJpd2dN
QzR3TlNCcGJpQkVWMElnTWlCaGJtUWdhVzRnWjNCcFl3b0FKWE1nWm1sc2JIWmhiQ0JwY3lBd0xq
TWdhVzRnTVRCMGFDQkZaR2wwYVc5dUlDaG1hV3hzSURBZ2JXVmhibk1nWW14aFkyc3BMQ0F3TGpV
Z2FXNGdaM0JwWXlBb1ptbHNiQ0F3SUcxbFlXNXpJSGRvYVhSbEtTd2dkVzVrWldacGJtVmtJR2x1
SUVSWFFpQXlDZ0FsY3lCbWFXeHNJR2hoY3lCdWJ5QnRaV0Z1YVc1bklHbHVJRVJYUWlBeUxDQm5j
R2xqSUdOaGJpQjFjMlVnWm1sc2JDQnZjaUJtYVd4c1pXUXNJREV3ZEdnZ1JXUnBkR2x2YmlCMWMy
VnpJR1pwYkd3Z2IyNXNlUW9BSlhNZ1JGZENJRElnWkc5bGMyNG5kQ0IxYzJVZ1ptbHNiQ0JoYm1R
Z1pHOWxjMjRuZENCa1pXWnBibVVnWm1sc2JIWmhiQW9BSlhNZ2NtVnpaWFFnZDI5eWEzTWdhVzRn
WjNCcFl5QmhibVFnTVRCMGFDQmxaR2wwYVc5dUxDQmlkWFFnYVhOdUozUWdaR1ZtYVc1bFpDQnBi
aUJFVjBJZ01nb0FKWE1nUkZkQ0lESWdZMjl0Y0dGMGFXSnBiR2wwZVNCa1pXWnBibWwwYVc5dWN3
b0FhV1lnWW05NGNtRmtJRDRnTVM0d0lDWW1JR1JoYzJoM2FXUWdQQ0F3TGpBM05TQjBhR1Z1SUZn
S0NXWnBiR3gyWVd3Z1BTQXhPd29KWkdWbWFXNWxJR1pwYkd3Z1dTQlpPd29KWkdWbWFXNWxJSE52
Ykdsa0lGa2dXVHNLQ1dSbFptbHVaU0J5WlhObGRDQlpJSE5qWVd4bFBURXVNQ0JaT3dwWUNnQnla
WE5sZENBbGN5QnpaWFFnZEc4Z2EyNXZkMjRnYzNSaGRHVUtBQ1Z6SUVkT1ZTQndhV01nZG5NdUlE
RXdkR2dnUldScGRHbHZiaUJrWENobEozUmxiblJsQ2dCcFppQm1hV3hzZG1Gc0lENGdNQzQwSUhS
b1pXNGdXQW9KWkdWbWFXNWxJSE5sZEdacGJHeDJZV3dnV1NCbWFXeHNkbUZzSUQwZ01TQXRJRms3
Q2dsa1pXWnBibVVnWW05c1pDQlpJSFJvYVdOcmJtVnpjeUF5SUZrN0NnQUpKWE1nYVdZZ2VXOTFJ
SFZ6WlNCbmNHbGpJR0Z1WkNCcGRDQmlZWEptY3lCdmJpQmxibU52ZFc1MFpYSnBibWNnSW5OdmJH
bGtJaXdLQUFrbGN3bHBibk4wWVd4c0lHRWdiVzl5WlNCeVpXTmxiblFnZG1WeWMybHZiaUJ2WmlC
bmNHbGpJRzl5SUhOM2FYUmphQ0IwYnlCRVYwSWdiM0lnTVRCMGFDQkZaR2wwYVc5dUlIQnBZenNL
QUFrbGN3bHpiM0p5ZVN3Z2RHaGxJR2R5YjJabUlHWnZiR3R6SUdOb1lXNW5aV1FnWjNCcFl6c2dj
MlZ1WkNCaGJua2dZMjl0Y0d4aGFXNTBJSFJ2SUhSb1pXMDdDZ0JZSUdWc2MyVWdXZ29KWkdWbWFX
NWxJSE5sZEdacGJHeDJZV3dnV1NCbWFXeHNkbUZzSUQwZ1dUc0tDV1JsWm1sdVpTQmliMnhrSUZr
Z1dUc0tDV1JsWm1sdVpTQm1hV3hzWldRZ1dTQm1hV3hzSUZrN0Nsb0tBQ1Z6SUdGeWNtOTNhR1Zo
WkNCb1lYTWdibThnYldWaGJtbHVaeUJwYmlCRVYwSWdNaXdnWVhKeWIzZG9aV0ZrSUQwZ055QnRZ
V3RsY3lCbWFXeHNaV1FnWVhKeWIzZG9aV0ZrY3lCcGJpQm5jR2xqSUdGdVpDQnBiaUF4TUhSb0lF
VmthWFJwYjI0S0FDVnpJR0Z5Y205M2FHVmhaQ0JwY3lCMWJtUmxabWx1WldRZ2FXNGdSRmRDSURJ
c0lHbHVhWFJwWVd4c2VTQXhJR2x1SUdkd2FXTXNJRElnYVc0Z01UQjBhQ0JGWkdsMGFXOXVDZ0Jo
Y25KdmQyaGxZV1FnUFNBM0lDVnpJRzV2ZENCMWMyVmtJR0o1SUdkeVlYQm9kbWw2Q2dBbGN5QkhU
bFVnY0dsaklITjFjSEJ2Y25SeklHRWdZbTk0Y21Ga0lIWmhjbWxoWW14bElIUnZJR1J5WVhjZ1lt
OTRaWE1nZDJsMGFDQnliM1Z1WkdWa0lHTnZjbTVsY25NN0lFUlhRaUJoYm1RZ01UQjBhQ0JGWkM0
Z1pHOGdibTkwQ2dCaWIzaHlZV1FnUFNBd0lDVnpJRzV2SUhKdmRXNWtaV1FnWTI5eWJtVnljeUJw
YmlCbmNtRndhSFpwZWdvQUpYTWdSMDVWSUhCcFl5QnpkWEJ3YjNKMGN5QmhJR3hwYm1WMGFHbGph
eUIyWVhKcFlXSnNaU0IwYnlCelpYUWdiR2x1WlNCMGFHbGphMjVsYzNNN0lFUlhRaUJoYm1RZ01U
QjBhQ0JGWkM0Z1pHOGdibTkwQ2dCc2FXNWxkR2hwWTJzZ1BTQXdPeUJ2YkdSc2FXNWxkR2hwWTJz
Z1BTQnNhVzVsZEdocFkyc0tBQ1Z6SUM1UVV5QjNMMjhnWVhKbmN5QmpZWFZ6WlhNZ1IwNVZJSEJw
WXlCMGJ5QnpZMkZzWlNCa2NtRjNhVzVuSUhSdklHWnBkQ0E0TGpWNE1URWdjR0Z3WlhJN0lFUlhR
aUJrYjJWeklHNXZkQW9BSlhNZ2JXRjRjSE5vZENCaGJtUWdiV0Y0Y0hOM2FXUWdhR0YyWlNCdWJ5
QnRaV0Z1YVc1bklHbHVJRVJYUWlBeUxqQXNJSE5sZENCd1lXZGxJR0p2ZFc1a1lYSnBaWE1nYVc0
Z1ozQnBZeUJoYm1RZ2FXNGdNVEIwYUNCRlpHbDBhVzl1Q2dBbGN5QnRZWGh3YzJoMElHRnVaQ0J0
WVhod2MzZHBaQ0JoY21VZ2NISmxaR1ZtYVc1bFpDQjBieUF4TVM0d0lHRnVaQ0E0TGpVZ2FXNGda
M0JwWXdvQWJXRjRjSE5vZENBOUlDVm1DbTFoZUhCemQybGtJRDBnSldZS0FFUnZkRG9nV3dvQVpH
Vm1hVzVsSUdGMGRISnpNQ0FsSlNBbEpUc2daR1ZtYVc1bElIVnVabWxzYkdWa0lDVWxJQ1VsT3lC
a1pXWnBibVVnY205MWJtUmxaQ0FsSlNBbEpUc2daR1ZtYVc1bElHUnBZV2R2Ym1Gc2N5QWxKU0Fs
SlFvQUpYTWxjeUIxYm5OMWNIQnZjblJsWkFvQWNtOTBZWFJwYjI0QUpYTWdjbVZ6ZEc5eVpTQndi
Mmx1ZENCemFYcGxJR0Z1WkNCbWIyNTBDaTV3Y3lCY2JpZ3VVd291Wm5RZ1hHNG9SRVlLQUNWeklF
TnlaV0YwYjNJNklDVnpJSFpsY25OcGIyNGdKWE1nS0NWektRb0FKWE1nVkdsMGJHVTZJQ1Z6Q2dB
bGN5QnpZWFpsSUhCdmFXNTBJSE5wZW1VZ1lXNWtJR1p2Ym5RS0xtNXlJQzVUSUZ4dUtDNXpDaTV1
Y2lCRVJpQmNiaWd1WmdvQWNHbGpBSEJwWXpwd2FXTUFjRzVuT25OMlp3Qm5hV1k2YzNabkFHcHda
V2M2YzNabkFHcHdaVHB6ZG1jQWFuQm5Pbk4yWndCd2JtYzZabWxuQUdkcFpqcG1hV2NBYW5CbFp6
cG1hV2NBYW5CbE9tWnBad0JxY0djNlptbG5BSEJ1WnpwMmNtMXNBR2RwWmpwMmNtMXNBR3B3Wldj
NmRuSnRiQUJxY0dVNmRuSnRiQUJxY0djNmRuSnRiQUJsY0hNNmNITUFjSE02Y0hNQUtHeHBZaWs2
Y0hNQWNHNW5PbTFoY0FCbmFXWTZiV0Z3QUdwd1pXYzZiV0Z3QUdwd1pUcHRZWEFBYW5Cbk9tMWhj
QUJ3Y3pwdFlYQUFaWEJ6T20xaGNBQnpkbWM2YldGd0FIQnVaenBrYjNRQVoybG1PbVJ2ZEFCcWNH
Vm5PbVJ2ZEFCcWNHVTZaRzkwQUdwd1p6cGtiM1FBY0hNNlpHOTBBR1Z3Y3pwa2IzUUFjM1puT21S
dmRBQndibWM2ZUdSdmRBQm5hV1k2ZUdSdmRBQnFjR1ZuT25oa2IzUUFhbkJsT25oa2IzUUFhbkJu
T25oa2IzUUFjSE02ZUdSdmRBQmxjSE02ZUdSdmRBQnpkbWM2ZUdSdmRBQnpkbWM2YzNabkFIQnVa
enAyYld3QVoybG1Pblp0YkFCcWNHVm5Pblp0YkFCcWNHVTZkbTFzQUdwd1p6cDJiV3dBWjJsbU9u
UnJBR2x0WVdkbElHTnlaV0YwWlNCd2FHOTBieUFpY0dodmRHOWZKWE1pSUMxbWFXeGxJQ0lsY3lJ
S0FDUmpJR055WldGMFpTQnBiV0ZuWlNBbExqSm1JQ1V1TW1ZZ0xXbHRZV2RsSUNKd2FHOTBiMThs
Y3lJS0FEeDJPbWx0WVdkbElITnlZejBpSlhNaUlITjBlV3hsUFNJZ2NHOXphWFJwYjI0NllXSnpi
MngxZEdVN0lIZHBaSFJvT2lVdU1tWTdJR2hsYVdkb2REb2xMakptT3lCc1pXWjBPaVV1TW1ZZ095
QjBiM0E2SlM0eVppSUFJQzgrQ2dCbmRteHZZV1JwYldGblpWOWpiM0psTG1NQVkyOXlaVjlzYjJG
a2FXMWhaMlZmY0hOc2FXSUFXeUFBSldjZ0pXY2dBRjBnSUNWa0lIUnlkV1VnSlhNS0FGMGdJQ1Zr
SUdaaGJITmxJQ1Z6Q2dCamIzSmxYMnh2WVdScGJXRm5aVjl3Y3dCbmMyRjJaU0FsWnlBbFp5QjBj
bUZ1YzJ4aGRHVWdibVYzY0dGMGFBb0FkWE5sY2w5emFHRndaVjhsWkFvQVozSmxjM1J2Y21VS0FH
TnZjbVZmYkc5aFpHbHRZV2RsWDNaeWJXd0FVMmhoY0dVZ2V3b0FJQ0JoY0hCbFlYSmhibU5sSUVG
d2NHVmhjbUZ1WTJVZ2V3b0FJQ0FnSUcxaGRHVnlhV0ZzSUUxaGRHVnlhV0ZzSUhzS0FDQWdJQ0Fn
SUdGdFltbGxiblJKYm5SbGJuTnBkSGtnTUM0ek13b0FJQ0FnSUNBZ0lDQmthV1ptZFhObFEyOXNi
M0lnTVNBeElERUtBQ0FnSUNCOUNnQWdJQ0FnZEdWNGRIVnlaU0JKYldGblpWUmxlSFIxY21VZ2V5
QjFjbXdnSWlWeklpQjlDZ0FnSUgwS0FHTnZjbVZmYkc5aFpHbHRZV2RsWDJacFp3QWxaQ0FsWkNB
bFpDQWxaQ0FsWkNBbFpDQWxaQ0FsWkNBbFpDQWxMakZtSUNWa0lDVmtJQ1ZrSUNWa0lDVmtJQ1Zr
Q2lBbFpDQWxjd29BSUNWa0lDVmtJQ1ZrSUNWa0lDVmtJQ1ZrSUNWa0lDVmtJQ1ZrSUNWa0NnQmpi
M0psWDJ4dllXUnBiV0ZuWlY5emRtY0FQR2x0WVdkbElIaHNhVzVyT21oeVpXWTlJZ0FpSUhkcFpI
Um9QU0lsWjNCNElpQm9aV2xuYUhROUlpVm5jSGdpSUhCeVpYTmxjblpsUVhOd1pXTjBVbUYwYVc4
OUluaE5hV1JaVFdsa0lHMWxaWFFpSUhnOUlpVm5JaUI1UFNJbFp5SUFJSFJ5WVc1elptOXliVDBp
Y205MFlYUmxLQ1ZrSUNWbklDVm5LU0lBSWlCM2FXUjBhRDBpSldkd2VDSWdhR1ZwWjJoMFBTSWxa
M0I0SWlCd2NtVnpaWEoyWlVGemNHVmpkRkpoZEdsdlBTSjRUV2x1V1UxcGJpQnRaV1YwSWlCNFBT
SWxaeUlnZVQwaUpXY2lBQzgrQ2dCa2IzUmZiR0Y1YjNWMEFIQm9ZWE5sQUdSdmRDQmtiMlZ6SUc1
dmRDQnpkWEJ3YjNKMElIUm9aU0JoYzNCbFkzUWdZWFIwY21saWRYUmxJR1p2Y2lCa2FYTmpiMjV1
WldOMFpXUWdaM0poY0doeklHOXlJR2R5WVhCb2N5QjNhWFJvSUdOc2RYTjBaWEp6Q2dCamIyMXdi
M1Z1WkFCMklEMDlJRzRBWkc5MGFXNXBkQzVqQUhKbGJXOTJaVjltY205dFgzSmhibXNBYjNKa1pY
SUFaV1JuWlNCc1lXSmxiSE1nZDJsMGFDQnpjR3hwYm1WelBXTjFjblpsWkNCdWIzUWdjM1Z3Y0c5
eWRHVmtJR2x1SUdSdmRDQXRJSFZ6WlNCNGJHRmlaV3h6Q2dCRlJGOXNZV0psYkNobVpTa0FaRzkw
YzNCc2FXNWxjeTVqQUY5a2IzUmZjM0JzYVc1bGN3Qm1iR0YwSUdWa1oyVWdZbVYwZDJWbGJpQmha
R3BoWTJWdWRDQnViMlJsY3lCdmJtVWdiMllnZDJocFkyZ2dhR0Z6SUdFZ2NtVmpiM0prSUhOb1lY
QmxJQzBnY21Wd2JHRmpaU0J5WldOdmNtUnpJSGRwZEdnZ1NGUk5UQzFzYVd0bElHeGhZbVZzY3dv
QUlDQkZaR2RsSUNWeklDVnpJQ1Z6Q2dCNGVIZ0FNVEF3TURBQWV5VnpmUUJoZFhobkFHeGhZbVZz
WDJac2IyRjBBR1pwZUdWa0FDaHNJRDBnUlVSZmJHRmlaV3dvWm1VcEtRQnpaWFJGWkdkbFRHRmla
V3hRYjNNQVpTQWhQU0JPVlV4TUFHWmhjM1JuY2k1akFHUmxiR1YwWlY5bVlYTjBYMlZrWjJVQWJp
QWhQU0JPUkY5dVpYaDBLRzRwQUdaaGMzUmZibTlrWlFCMUlDRTlJSFlBWm1GemRGOXViMlJsWVhC
d0FFNUVYMjVsZUhRb2Rpa2dQVDBnVGxWTVRBQm1hVzVrWDJaaGMzUmZibTlrWlNobkxDQnVLUUJr
Wld4bGRHVmZabUZ6ZEY5dWIyUmxBR1JsYkdWMFpWOW1iR0YwWDJWa1oyVUFiV1Z5WjJWZmIyNWxk
MkY1SUdkc2FYUmphQW9BYldWeVoyVmZiMjVsZDJGNUFITmhabVZmWkdWc1pYUmxYMlpoYzNSZlpX
Um5aUUJzWndCamIyMXdBR051ZENBOVBTQnplZ0J0YVc1amNtOXpjeTVqQUdacGVFeGhZbVZzVDNK
a1pYSUFjbVZ0YVc1amNtOXpjd0J0YVc1amNtOXpjeUFsY3pvZ0pXUWdZM0p2YzNOcGJtZHpMQ0Fs
TGpKbUlITmxZM011Q2dCMkFHNWxhV2RvWW05eUFDaHlkaUE5UFNBd0tTQjhmQ0FvVGtSZmIzSmta
WElvY25ZcExVNUVYMjl5WkdWeUtIWXBLU3BrYVhJZ1BpQXdBR052Ym5OMGNtRnBibWx1WjE5bWJH
RjBYMlZrWjJVb1p5eDJMR1VwSUQwOUlFWkJURk5GQUdac1lYUmZjbVZ2Y21SbGNnQk9SRjl5WVc1
cktIWXBJRDA5SUhJQWNHOXpkRzl5WkdWeUFHWnNZWFJwYm1SbGVDaGhaMmhsWVdRb1pTa3BJRHdn
VFMwK2JuSnZkM01BWm14aGRGOXpaV0Z5WTJnQVpteGhkR2x1WkdWNEtHRm5kR0ZwYkNobEtTa2dQ
Q0JOTFQ1dVkyOXNjd0J2ZFhRQWIzSmtaWEpwYm1jZ0p5VnpKeUJ1YjNRZ2NtVmpiMmR1YVhwbFpD
NEtBRzl5WkdWeWFXNW5JQ2NsY3ljZ2JtOTBJSEpsWTI5bmJtbDZaV1FnWm05eUlHNXZaR1VnSnlW
ekp5NEtBRzFsY21kbE1qb2daM0poY0dnZ0pYTXNJSEpoYm1zZ0pXUWdhR0Z6SUc5dWJIa2dKV1Fn
UENBbFpDQnViMlJsY3dvQWJXbHVZM0p2YzNNNklIQmhjM01nSldRZ2FYUmxjaUFsWkNCMGNubHBi
bWNnSldRZ1kzVnlYMk55YjNOeklDVmtJR0psYzNSZlkzSnZjM01nSldRS0FFNUVYMjl5WkdWeUtI
WXBJRHdnVGtSZmIzSmtaWElvZHlrQVltRnNZVzVqWlFCMGNtRnVjM0J2YzJWZmMzUmxjQUJ6ZFhK
d2NtbHpaUW9BYVc1emRHRnNiRjlwYmw5eVlXNXJMQ0JzYVc1bElDVmtPaUFsY3lBbGN5QnlZVzVy
SUNWa0lHa2dQU0FsWkNCaGJpQTlJREFLQUVkRVgzSmhibXNvWnlsYmNsMHViaUE4UFNCSFJGOXlZ
VzVyS0djcFczSmRMbUZ1QUdsdWMzUmhiR3hmYVc1ZmNtRnVhd0JwYm5OMFlXeHNYMmx1WDNKaGJt
c3NJR3hwYm1VZ0pXUTZJRTVFWDI5eVpHVnlLQ1Z6S1NCYkpXUmRJRDRnUjBSZmNtRnVheWhTYjI5
MEtWc2xaRjB1WVc0Z1d5VmtYUW9BYVc1emRHRnNiRjlwYmw5eVlXNXJMQ0JzYVc1bElDVmtPaUJ5
WVc1cklDVmtJRzV2ZENCcGJpQnlZVzVySUhKaGJtZGxJRnNsWkN3bFpGMEtBR2x1YzNSaGJHeGZh
VzVmY21GdWF5d2diR2x1WlNBbFpEb2dSMFJmY21GdWF5aG5LVnNsWkYwdWRpQXJJRTVFWDI5eVpH
VnlLQ1Z6S1NCYkpXUmRJRDRnUjBSZmNtRnVheWhuS1ZzbFpGMHVZWFlnS3lCSFJGOXlZVzVyS0ZK
dmIzUXBXeVZrWFM1aGJpQmJKV1JkQ2dCZmJtVjNYM0poYm1zQWJXTnNhVzFwZEFCeVlXNXJLR2Nz
SURJc0lHNXphWFJsY2pJb1p5a3BJRDA5SURBQWNHOXphWFJwYjI0dVl3QmtiM1JmY0c5emFYUnBi
MjRBUVZJOUpUQXVOR3htQ1NCQmNtVmhQU0FsTUM0MGJHWUpBRVIxYlcxNVBTVmtDZ0JIYjJsdVp5
QjBieUJoY0hCc2VTQmhibTkwYUdWeUlHVjRjR0Z1YzJsdmJpNEtBRzVsZUhRamFYUmxjajBsWkFv
QWFIQUFZMjl1Ym1WamRFZHlZWEJvQUVWa1oyVWdiR1Z1WjNSb0lDVm1JR3hoY21kbGNpQjBhR0Z1
SUcxaGVHbHRkVzBnSlhVZ1lXeHNiM2RsWkM0S1EyaGxZMnNnWm05eUlHOTJaWEozYVdSbElHNXZa
R1VvY3lrdUNnQnVjMnhwYldsMEFHTnZiblJoYVc1ZmJtOWtaWE1nWTJ4MWMzUWdKWE1nY21GdWF5
QWxaQ0J0YVhOemFXNW5JRzV2WkdVS0FHNXpiR2x0YVhReEFHNWxkM0poYm1zQVRXRjRjbUZ1YXlB
OUlDVmtMQ0J0YVc1eVlXNXJJRDBnSldRS0FHeGxZV1JsY2lBaFBTQk9WVXhNQUhKaGJtc3VZd0Jq
YkhWemRHVnlYMnhsWVdSbGNnQW9Ua1JmVlVaZmMybDZaU2h1S1NBOFBTQXhLU0I4ZkNBb2JpQTlQ
U0JzWldGa1pYSXBBR0ZuYUdWaFpDaGxLU0E5UFNCVlJsOW1hVzVrS0dGbmFHVmhaQ2hsS1NrQWJX
bHViV0Y0WDJWa1oyVnpBR0ZuZEdGcGJDaGxLU0E5UFNCVlJsOW1hVzVrS0dGbmRHRnBiQ2hsS1Nr
QWNtRnVhd0J6WVcxbEFHMXBiZ0J6YjNWeVkyVUFiV0Y0QUhOcGJtc0FiR1YyWld3Z1lYTnphV2R1
YldWdWRDQmpiMjV6ZEhKaGFXNTBjd0JzWlhabGJDQm5jbUZ3YUNCeVpXTUFmM0p2YjNRQWYzUnZj
QUIvWW05MEFHTnZiWEJoWTNRQVgzZGxZV3RmSldRQWNtRnVhMmx1WnpvZ1ptRnBiSFZ5WlNCMGJ5
QmpjbVZoZEdVZ2MzUnliMjVuSUdOdmJuTjBjbUZwYm5RZ1pXUm5aU0JpWlhSM1pXVnVJRzV2WkdW
eklDVnpJR0Z1WkNBbGN3b0FKWE1nYUdGeklIVnVjbVZqYjJkdWFYcGxaQ0J5WVc1clBTVnpBR3hs
ZG1Wc0lHVmtaMlVnY21WakFHeGxkbVZzSUc1dlpHVWdjbVZqQUhOaGJXVm9aV0ZrQUhOaGJXVjBZ
V2xzQUhSdmJ5QnRZVzU1SUNnK0lDVmtLU0J6WVcxbGUyaGxZV1FzZEdGcGJIMGdaM0p2ZFhCeklH
WnZjaUJ1YjJSbElDVnpDZ0JqYjIxaWFVRlNJRDBnSld4bUNnQWxiR1lzSldRQWRHaGxJR0Z6Y0dW
amRDQmhkSFJ5YVdKMWRHVWdhR0Z6SUdKbFpXNGdaR2x6WVdKc1pXUWdaSFZsSUhSdklHbHRjR3hs
YldWdWRHRjBhVzl1SUdac1lYZHpJQzBnWVhSMGNtbGlkWFJsSUdsbmJtOXlaV1F1Q2dCRlJGOTBi
MTkyYVhKMEtHVXBJRDA5SUU1VlRFd0FZMnhoYzNNeUxtTUFiV1Z5WjJWZlkyaGhhVzRBUlVSZmRH
OWZkbWx5ZENodmNtbG5LU0E5UFNCT1ZVeE1BRzFoYTJWZlkyaGhhVzRBUlVSZmRHOWZkbWx5ZENo
dmNtbG5LU0FoUFNCT1ZVeE1BRTVFWDNKaGJtc29abkp2YlNrZ1BDQk9SRjl5WVc1cktIUnZLUUJq
YkhWemRHVnlMbU1BYldGd1gzQmhkR2dBSlhNZ2QyRnpJR0ZzY21WaFpIa2dhVzRnWVNCeVlXNXJj
MlYwTENCa1pXeGxkR1ZrSUdaeWIyMGdZMngxYzNSbGNpQWxjd29BYkdobFlXUUFiSFJoYVd3QUpY
TWdMVDRnSlhNNklITndiR2x1WlNCemFYcGxJRDRnTVNCdWIzUWdjM1Z3Y0c5eWRHVmtDZ0FsY3lB
dFBpQWxjem9nYUdWaFpDQnViM1FnYVc1emFXUmxJR2hsWVdRZ1kyeDFjM1JsY2lBbGN3b0FKWE1n
TFQ0Z0pYTTZJSFJoYVd3Z2FYTWdhVzV6YVdSbElHaGxZV1FnWTJ4MWMzUmxjaUFsY3dvQVltVjZM
VDV6Wm14aFp3QmpiMjF3YjNWdVpDNWpBRzFoYTJWRGIyMXdiM1Z1WkVWa1oyVUFZbVY2TFQ1bFpt
eGhad0FsY3lBdFBpQWxjem9nZEdGcGJDQnViM1FnYVc1emFXUmxJSFJoYVd3Z1kyeDFjM1JsY2lB
bGN3b0FKWE1nTFQ0Z0pYTTZJR2hsWVdRZ2FYTWdhVzV6YVdSbElIUmhhV3dnWTJ4MWMzUmxjaUFs
Y3dvQWMyVm5iV1Z1ZENCYkpYTXNKWE5kSUdSdlpYTWdibTkwSUdsdWRHVnljMlZqZENCaWIzZ2di
R3c5SlhNc2RYSTlKWE1LQUdKdmVFbHVkR1Z5YzJWamRHWUFLQ1V1Tldjc0pTNDFaeWtBWTJ4MWMz
UmxjaUJ1WVcxbFpDQWxjeUJ1YjNRZ1ptOTFibVFLQUdOdmJtTmxiblJ5WVhSbFBYUnlkV1VnYldG
NUlHNXZkQ0IzYjNKcklHTnZjbkpsWTNSc2VTNEtBSEpsWW5WcGJIUmtYM1pzYVhOMGN6b2djbUZ1
YXlCc1pXRmtJQ1Z6SUc1dmRDQnBiaUJ2Y21SbGNpQWxaQ0J2WmlCeVlXNXJJQ1ZrQ2dCa1pXZGxi
bVZ5WVhSbElHTnZibU5sYm5SeVlYUmxaQ0J5WVc1cklDVnpMQ1ZrQ2dCT1JGOXBiaWh5YVdkb2RD
a3VjMmw2WlNBcklFNUVYMjkxZENoeWFXZG9kQ2t1YzJsNlpTQTlQU0F3QUdOdmJtTXVZd0J0WlhK
blpYWnBjblIxWVd3QVpHOTBPaUJQZFhRZ2IyWWdiV1Z0YjNKNUNnQk9SRjl2ZFhRb2Rpa3VjMmw2
WlNBOVBTQXlBR1pzWVhRdVl3QnpaWFJpYjNWdVpITUFSMFJmYldsdWNtRnVheWhuS1NBOVBTQXdB
R0ZpYjIxcGJtRjBhVzl1QUc1bFlYUnZYMnhoZVc5MWRBQnVaV0YwYndCbVpIQUFkSGR2Y0drQVky
bHlZMjhBY0dGMFkyaDNiM0pyQUc5ellXZGxBRzV2Y0FCdWIzQXhBRzV2Y0RJQUpXeG1MQ1ZzWml3
bGJHWWxZd0J1YjJSbElDVnpMQ0J3YjNOcGRHbHZiaUFsY3l3Z1pYaHdaV04wWldRZ2RIZHZJR1J2
ZFdKc1pYTUtBRzV2ZEhKaGJuTnNZWFJsQUc1dlpHVWdKWE1nYVc0Z1ozSmhjR2dnSlhNZ2FHRnpJ
RzV2SUhCdmMybDBhVzl1Q2dCekxDVnNaaXdsYkdZbGJnQWdaU3dsYkdZc0pXeG1KVzRBY0c5eklH
RjBkSEpwWW5WMFpTQm1iM0lnWldSblpTQW9KWE1zSlhNcElHUnZaWE51SjNRZ2FHRjJaU0F6Ymlz
eElIQnZhVzUwY3dvQUpXeG1MQ1ZzWmlWdUFITjViblJoZUNCbGNuSnZjaUJwYmlCd2IzTWdZWFIw
Y21saWRYUmxJR1p2Y2lCbFpHZGxJQ2dsY3l3bGN5a0tBQ1ZzWml3bGJHWXNKV3htTENWc1pnQnpk
R0Z5ZEFCelpXeG1BSEpoYm1SdmJRQnViMlJsSUhCdmMybDBhVzl1Y3lCaGNtVWdhV2R1YjNKbFpD
QjFibXhsYzNNZ2MzUmhjblE5Y21GdVpHOXRDZ0JoY3lCeVpYRjFhWEpsWkNCaWVTQjBhR1VnTFc0
Z1pteGhad29BWDI1bFlYUnZYMk5qQUdkeVlYQm9JQ1Z6SUdseklHUnBjMk52Ym01bFkzUmxaQzRn
U0dWdVkyVXNJSFJvWlNCamFYSmpkV2wwSUcxdlpHVnNDZ0JCYkhSbGNtNWhkR2wyWld4NUxDQmpi
MjV6YVdSbGNpQnlkVzV1YVc1bklHNWxZWFJ2SUhWemFXNW5JQzFIY0dGamF6MTBjblZsSUc5eUlH
UmxZMjl0Y0c5emFXNW5DZ0IwYUdVZ1ozSmhjR2dnYVc1MGJ5QmpiMjV1WldOMFpXUWdZMjl0Y0c5
dVpXNTBjeTRLQUZOdmJIWnBibWNnYlc5a1pXd2dKV1FnYVhSbGNtRjBhVzl1Y3lBbFpDQjBiMndn
SldZS0FFNUVYMmxrS0c1d0tTQTlQU0JwQUc1bFlYUnZhVzVwZEM1akFHMWhhMlZIY21Gd2FFUmhk
R0VBWmlBOElHZHlZWEJvVzJwZExtNWxaR2RsY3dCa1puTkRlV05zWlFCdGIyUmxiQ0FsWkNCemJX
RnlkRjlwYm1sMElDVmtJSE4wY21WemMzZDBJQ1ZrSUdsMFpYSmhkR2x2Ym5NZ0pXUWdkRzlzSUNW
bUNnQmpiMjUyWlhKMElHZHlZWEJvT2lBQWJXRnFiM0pwZW1GMGFXOXVDZ0FsWkNCdWIyUmxjeUFs
TGpKbUlITmxZd29BYkdWMlpXeHpaMkZ3QUd4aGVXOTFkQ0JoWW05eWRHVmtDZ0J6ZEhKbGMzTjNk
QUFsY3lCaGRIUnlhV0oxZEdVZ2RtRnNkV1VnYlhWemRDQmlaU0F4SUc5eUlESWdMU0JwWjI1dmNt
bHVad29BYlc5a1pXd0FZMmx5WTNWcGRBQnpkV0p6WlhRQWMyaHZjblJ3WVhSb0FHMWtjd0JsWkdk
bGN5QnBiaUJuY21Gd2FDQWxjeUJvWVhabElHNXZJR3hsYmlCaGRIUnlhV0oxZEdVdUlFaGxibU5s
TENCMGFHVWdiV1J6SUcxdlpHVnNDZ0JwY3lCcGJtRndjSEp2Y0hKcFlYUmxMaUJTWlhabGNuUnBi
bWNnZEc4Z2RHaGxJSE5vYjNKMFpYTjBJSEJoZEdnZ2JXOWtaV3d1Q2dCVmJtdHViM2R1SUhaaGJI
VmxJQ1Z6SUdadmNpQmhkSFJ5YVdKMWRHVWdJbTF2WkdWc0lpQnBiaUJuY21Gd2FDQWxjeUF0SUds
bmJtOXlaV1FLQUcxdlpHVUFTMHNBYldGcWIzSUFhR2xsY2dCSmJHeGxaMkZzSUhaaGJIVmxJQ1Z6
SUdadmNpQmhkSFJ5YVdKMWRHVWdJbTF2WkdVaUlHbHVJR2R5WVhCb0lDVnpJQzBnYVdkdWIzSmxa
QW9BWkdsdFpXNEFiV0ZyWlZOd2JHbHVaVG9nWm1GcGJHVmtJSFJ2SUcxaGEyVWdjM0JzYVc1bElH
VmtaMlVnS0NWekxDVnpLUW9BYzNCc2FXNWxJQ1Z6SUNWekNnQmlJRDA5SUc0QWJtVmhkRzl6Y0d4
cGJtVnpMbU1BYldGclpWOWlZWEp5YVdWeWN3QjBhR1VnWW05MWJtUnBibWNnWW05NFpYTWdiMlln
YzI5dFpTQnViMlJsY3lCMGIzVmphQ0F0SUdaaGJHeHBibWNnWW1GamF5QjBieUJ6ZEhKaGFXZG9k
Q0JzYVc1bElHVmtaMlZ6Q2dCemIyMWxJRzV2WkdWeklIZHBkR2dnYldGeVoybHVJQ2dsTGpBeVpp
d2xMakF5WmlrZ2RHOTFZMmdnTFNCbVlXeHNhVzVuSUdKaFkyc2dkRzhnYzNSeVlXbG5hSFFnYkds
dVpTQmxaR2RsY3dvQWNHOXNlV3hwYm1WekFHeHBibVVnYzJWbmJXVnVkSE1BYjNKMGFHOW5iMjVo
YkNCc2FXNWxjd0JEY21WaGRHbHVaeUJsWkdkbGN5QjFjMmx1WnlBbGN3b0FjRzlzZVd4cGJtVWdK
WE1nSlhNS0FHMWtjMDF2WkdWc09pQmtaV3gwWVNBOUlDVm1DZ0JUWlhSMGFXNW5JSFZ3SUhOMGNt
VnpjeUJtZFc1amRHbHZiZ0JUYjJ4MmFXNW5JRzF2WkdWc09pQUFDbVpwYm1Gc0lHVWdQU0FsWmlB
bFpDQnBkR1Z5WVhScGIyNXpJQ1V1TW1ZZ2MyVmpDZ0JFWVcxd2FXNW5BR1JsWm1GMWJIUmthWE4w
QUNCcGJpQWxjeUF0SUhObGRIUnBibWNnZEc4Z0pTNHdNbVlLQUdKaFpDQmxaR2RsSUd4bGJpQWlK
WE1pQUZObGRIUnBibWNnYVc1cGRHbGhiQ0J3YjNOcGRHbHZibk1LQUhOMFlYSjBQU1Z6SUc1dmRD
QnpkWEJ3YjNKMFpXUWdkMmwwYUNCdGIyUmxQWE5sYkdZZ0xTQnBaMjV2Y21Wa0NnQlRaWFIwYVc1
bklIVndJSE53Y21sdVp5QnRiMlJsYkRvZ0FDVXVNbVlnYzJWakNnQUtabWx1WVd3Z1pTQTlJQ1Zt
QUNFQUlDVmtKWE1nYVhSbGNtRjBhVzl1Y3lBbExqSm1JSE5sWXdvQVRXRjRMaUJwZEdWeVlYUnBi
MjV6SUNnbFpDa2djbVZoWTJobFpDQnZiaUJuY21Gd2FDQWxjd29BSlhNZ0pTNHpaZ29BSlM0elpp
QUFUa1JmYUdWaGNHbHVaR1Y0S0hZcElEd2dNQUJ6ZEhWbVppNWpBRzVsWVhSdlgyVnVjWFZsZFdV
QVEyRnNZM1ZzWVhScGJtY2djMmh2Y25SbGMzUWdjR0YwYUhNNklBQnpjR1ZqYVdacFpXUWdjbTl2
ZENCdWIyUmxJQ0lsY3lJZ2QyRnpJRzV2ZENCbWIzVnVaQzRBVlhOcGJtY2daR1ZtWVhWc2RDQmpZ
V3hqZFd4aGRHbHZiaUJtYjNJZ2NtOXZkQ0J1YjJSbENnQnlaWEJ2YzJsMGFXOXVJQ1Z6Q2dBbGN5
QTZJQ1ZtSUNWbUNnQWxjeUE2SUNWbUlDVm1JQ1ZtSUNWbUNnQWdJQUJIY21Gd2FDQWxjeUJvWVhN
Z1lYSnlZWGtnY0dGamEybHVaeUIzYVhSb0lIVnpaWElnZG1Gc2RXVnpJR0oxZENCdWJ5QWljMjl5
ZEhZaUlHRjBkSEpwWW5WMFpYTWdZWEpsSUdSbFptbHVaV1F1QUd4bGJnQndhVzRBVjJGeWJtbHVa
em9nYm05a1pTQWxjeXdnY0c5emFYUnBiMjRnSlhNc0lHVjRjR1ZqZEdWa0lIUjNieUJtYkc5aGRI
TUtBR052YjNKa2N3QmthVzBBYkdGNWIzVjBJQ1Z6Q2dCbGJtUWdKWE1LQUdsa2VDQTlQU0J6ZWdC
c1lYbHZkWFF1WXdCbGVIQmhibVJEYkhWemRHVnlBR2tnUFQwZ1pHVm5BR2RsZEVWa1oyVk1hWE4w
QUY5a1oxOGxaQUJrWlhKcGRtVWdaM0poY0dnZ0pYTWdiMllnSlhNS0FHNXZaR1VnSWlWeklpQnBj
eUJqYjI1MFlXbHVaV1FnYVc0Z2RIZHZJRzV2YmkxamIyMXdZWEpoWW14bElHTnNkWE4wWlhKeklD
SWxjeUlnWVc1a0lDSWxjeUlLQUY5d2IzSjBYeVZ6WHlWelh5VnpYeVZzWkFCZmNHOXlkRjhsYzE4
b0pXUXBYeWdsWkNsZkpXeGtBQ1ZzWml3bGJHWXNKV3htTENWc1ppVmpBR2R5WVhCb0lDVnpMQ0Jq
YjI5eVpDQWxjeXdnWlhod1pXTjBaV1FnWm05MWNpQmtiM1ZpYkdWekNnQnpjR3hwYm1WeklHRnVa
Q0JqYkhWemRHVnlJR1ZrWjJWeklHNXZkQ0J6ZFhCd2IzSjBaV1FnTFNCMWMybHVaeUJzYVc1bElI
TmxaMjFsYm5SekNnQnRZWGhwZEdWeUFFc0FWREFBWm1Sd0lHUnZaWE1nYm05MElITjFjSEJ2Y25R
Z2MzUmhjblE5YzJWc1ppQXRJR2xuYm05eWFXNW5DZ0I0VEdGNWIzVjBJQUE1T25CeWFYTnRBSFJ5
YVdWeklEMGdKV1FzSUcxdlpHVWdQU0FsY3dvQVpHVnlhWFpsWkFCcGJtWnZBRzV2Y20xaGJHbDZa
UUJ2ZG1WeWJHRndBRTkyWlhKc1lYQWdkbUZzZFdVZ0lpVnpJaUIxYm5OMWNIQnZjblJsWkNBdElH
bG5ibTl5WldRS0FGVnVjbVZqYjJkdWFYcGxaQ0J2ZG1WeWJHRndJSFpoYkhWbElDSWxjeUlnTFNC
MWMybHVaeUJtWVd4elpRb0FWbTl5YjI1dmFRQnZkbVZ5YkdGd09pQWxjeUIyWVd4MVpTQWxaQ0J6
WTJGc2FXNW5JQ1V1TURSbUNnQnZkbVZ5YkdGd1gzTmpZV3hwYm1jQWRtOXliMjV2YVFCelkyRnNh
VzVuQUhad2MyTUFhWEJ6WlhBQWIzTmpZV3hsQUc5c1pDQnpZMkZzYVc1bkFITmpZV3hsZUhrQWVD
QmhibVFnZVNCelkyRnNhVzVuQUc5eWRHaHZBRzl5ZEdodloyOXVZV3dnWTI5dWMzUnlZV2x1ZEhN
QWIzSjBhRzlmZVhnQWIzSjBhRzk0ZVFCNGVTQnZjblJvYjJkdmJtRnNJR052Ym5OMGNtRnBiblJ6
QUc5eWRHaHZlWGdBZVhnZ2IzSjBhRzluYjI1aGJDQmpiMjV6ZEhKaGFXNTBjd0J3YjNKMGFHOEFj
SE5sZFdSdkxXOXlkR2h2WjI5dVlXd2dZMjl1YzNSeVlXbHVkSE1BY0c5eWRHaHZYM2w0QUhCdmNu
Um9iM2g1QUhoNUlIQnpaWFZrYnkxdmNuUm9iMmR2Ym1Gc0lHTnZibk4wY21GcGJuUnpBSEJ2Y25S
b2IzbDRBSGw0SUhCelpYVmtieTF2Y25Sb2IyZHZibUZzSUdOdmJuTjBjbUZwYm5SekFIQnlhWE50
QUVGa2FuVnpkR2x1WnlBbGN5QjFjMmx1WnlBbGN3b0FWVzVvWVc1a2JHVmtJR0ZrYW5WemRDQnZj
SFJwYjI0Z0pYTUtBRTUxYldKbGNpQnZaaUJwZEdWeVlYUnBiMjV6SUQwZ0pXUUtBRTUxYldKbGNp
QnZaaUJwYm1OeVpXRnpaWE1nUFNBbFpBb0FiM1psY214aGNDQmJKV1JkSURvZ0pXUUtBSFp2Y205
ZmJXRnlaMmx1QUhObGNBQmxjMlZ3QUU1dlpHVWdjMlZ3WVhKaGRHbHZiam9nWVdSa1BTVmtJQ2ds
Wml3bFppa0tBQ1ZtTENWbUFITmpZV3hsSUQwZ0tDVXVNRE5tTENVdU1ETm1LUW9BUldSblpTQnpa
WEJoY21GMGFXOXVPaUJoWkdROUpXUWdLQ1ZtTENWbUtRb0FRMkZzWTNWc1lYUnBibWNnWTJseVkz
VnBkQ0J0YjJSbGJBQmpiMjVxZFdkaGRHVmZaM0poWkdsbGJuUTZJSFZ1Wlhod1pXTjBaV1FnYkdW
dVozUm9JREFnZG1WamRHOXlDZ0JEWVd4amRXeGhkR2x1WnlCemRXSnpaWFFnYlc5a1pXd0FaM0po
Y0dnZ2FYTWdaR2x6WTI5dWJtVmpkR1ZrTGlCSVpXNWpaU3dnZEdobElHTnBjbU4xYVhRZ2JXOWta
V3dLQUdseklIVnVaR1ZtYVc1bFpDNGdVbVYyWlhKMGFXNW5JSFJ2SUhSb1pTQnphRzl5ZEdWemRD
QndZWFJvSUcxdlpHVnNMZ29BUTJGc1kzVnNZWFJwYm1jZ1RVUlRJRzF2WkdWc0FFTmhiR04xYkdG
MGFXNW5JSE5vYjNKMFpYTjBJSEJoZEdoekFEb2dKUzR5WmlCelpXTUtBRk5sZEhScGJtY2dhVzVw
ZEdsaGJDQndiM05wZEdsdmJuTUFPaUFsTGpKbUlITmxZd0JqWndCa1pXeDBZU0E4UFNBd2VFWkdS
a1lBWTI5dWMzUnlZV2x1ZEM1akFHMXJUa052Ym5OMGNtRnBiblJIQUhabkFHTnZiWEJ5WlhOeklD
Vm5JQW9BYzJOaGJHVWdZbmtnSldjc0pXY2dDZ0JpWlhOMFkyOXpkQ0E4SUVoVlIwVmZWa0ZNQUdO
dmJYQjFkR1ZUWTJGc1pWaFpBSFJ5ZVdsdVp5QjBieUJrWld4bGRHVWdZU0J1YjI0dGJHbHVaUW9B
Q21sdWRHVnljMlZqZEdsdmJpQmhkQ0FsTGpObUlDVXVNMllLQUhObFp5TWxaQ0E2SUNnbExqTm1M
Q0FsTGpObUtTQW9KUzR6Wml3Z0pTNHpaaWtLQUcxaGEyVkJaR1JRYjJ4NU9pQjFibXR1YjNkdUlI
Tm9ZWEJsSUhSNWNHVWdKWE1LQUcxaGEyVlFiMng1T2lCMWJtdHViM2R1SUhOb1lYQmxJSFI1Y0dV
Z0pYTUtBSGdoUFU1VlRFd0FjMjFoY25SZmFXNXBYM2d1WXdCSlRVUlRYMmRwZG1WdVgyUnBiUUJw
Ykd3dFkyOXVaR2wwYVc5dVpXUUFjbTl2ZENBOUlDVnpJRzFoZUNCemRHVndjeUIwYnlCeWIyOTBJ
RDBnSldRS0FIUjNiM0JwT2lCMWMyVWdiMllnZDJWcFoyaDBQVEFnWTNKbFlYUmxjeUJrYVhOamIy
NXVaV04wWldRZ1kyOXRjRzl1Wlc1MExnb0FVbUZ1YXlCelpYQmhjbUYwYVc5dUlEMGdBQ1V1TURO
c1ppQUFZWEpsWVFCcGJuTmxkQUFsY3lCamIyOXlaQ0FsTGpWbklDVXVOV2NnYUhRZ0pXWWdkMmxr
ZEdnZ0pXWUtBQ1V1TURObUFISmxZeUFsWmlBbFppQWxaaUFsWmdvQUpXWWdMU0FsWmlBbFppQWxa
aUFsWmlBOUlDVm1JQ2dsWmlBbFppQWxaaUFsWmlrS0FIUnllV2x1WnlCMGJ5QmhaR1FnZEc4Z2Nt
VmpkQ0I3SldZZ0t5OHRJQ1ZtTENBbFppQXJMeTBnSldaOUNnQjBiM1JoYkNCaFpHUmxaQ0J6YnlC
bVlYSWdQU0FsWkFvQVlXUmthVzVuSUNWa0lHbDBaVzF6TENCMGIzUmhiQ0JoY21WaElEMGdKV1lz
SUhjZ1BTQWxaaXdnWVhKbFlTOTNQU1ZtQ2dCamIyMXdiM1Z1WkVWa1oyVnpPaUJqYjNWc1pDQnVi
M1FnWTI5dWMzUnlkV04wSUc5aWMzUmhZMnhsY3lBdElHWmhiR3hwYm1jZ1ltRmpheUIwYnlCemRI
SmhhV2RvZENCc2FXNWxJR1ZrWjJWekNnQmpiMjF3YjNWdVpFVmtaMlZ6T2lCdWIyUmxjeUIwYjNW
amFDQXRJR1poYkd4cGJtY2dZbUZqYXlCMGJ5QnpkSEpoYVdkb2RDQnNhVzVsSUdWa1oyVnpDZ0J3
WVdOcklIWmhiSFZsSUNWa0lHbHpJSE50WVd4c1pYSWdkR2hoYmlCbGMyVndJQ2dsTGpBelppd2xM
akF6WmlrS0FITmxjQ0IyWVd4MVpTQW9KUzR3TTJZc0pTNHdNMllwSUdseklITnRZV3hzWlhJZ2RH
aGhiaUJsYzJWd0lDZ2xMakF6Wml3bExqQXpaaWtLQUdOakpYTmZKV1FBWTJNbGN5c2xaQUJqWDJO
dWRDQTlQU0F3QUdOdmJYQXVZd0JtYVc1a1EwTnZiWEFBWjNKcFpDZ2xaQ3dsWkNrNklDVnpDZ0J2
Ym1WaWJHOWphd0J0YVc1a2FYTjBBR0Z5ZEdsamRXeGhkR2x2Ymw5d2IzTUFjbTl2ZEFCeWIyOTBJ
RDBnSlhNS0FGOWliRzlqYTE4bFpBQnpMVDV6ZWlBK0lEQUFZbXh2WTJ0MGNtVmxMbU1BY0c5d0FH
RmpkSFZoYkFCdWIyUmxiR2x6ZEM1akFHbHVjMlZ5ZEU1dlpHVnNhWE4wQUY5emNHRnVYeVZrQUY5
amJHOXVaVjhsWkFCcGNBQmtaV2RzYVhOMExtTUFjbVZ0YjNabFJHVm5iR2x6ZEFCRmNuSnZjZ0JY
WVhKdWFXNW5BQ1Z6T2lBQWRYTmxjbTkxZERvZ1kyOTFiR1FnYm05MElHRnNiRzlqWVhSbElHMWxi
Vzl5ZVFvQVgwRkhYM04wY21SaGRHRUFYMEZIWDJSaGRHRmthV04wQUdGblpHbGpkRzltT2lCMWJt
dHViM2R1SUd0cGJtUWdKV1FLQUNWakpXeGtBRzFsYlc5eWVTQmhiR3h2WTJGMGFXOXVJR1poYVd4
MWNtVUFZV2RrWld4bGRHVWdiMjRnZDNKdmJtY2daM0poY0dnQVgwRkhYM0JsYm1ScGJtY0FZV2R5
WldOdmNtUmZZMkZzYkdKaFkyc2diMllnWVNCaVlXUWdiMkpxWldOMEFIQmxibVFnWkdsamRHOW1J
R0VnWW1Ga0lHOWlhbVZqZEFCdGIzWmxJSFJ2SUdaeWIyNTBJR3h2WTJzZ2FXNWpiMjV6YVhOMFpX
NWplUUJjWEFCbVlYUmhiQ0JtYkdWNElITmpZVzV1WlhJZ2FXNTBaWEp1WVd3Z1pYSnliM0l0TFc1
dklHRmpkR2x2YmlCbWIzVnVaQUFsY3dvQVptRjBZV3dnWm14bGVDQnpZMkZ1Ym1WeUlHbHVkR1Z5
Ym1Gc0lHVnljbTl5TFMxbGJtUWdiMllnWW5WbVptVnlJRzFwYzNObFpBQm1ZWFJoYkNCbGNuSnZj
aUF0SUhOallXNXVaWElnYVc1d2RYUWdZblZtWm1WeUlHOTJaWEptYkc5M0FHOTFkQ0J2WmlCa2VX
NWhiV2xqSUcxbGJXOXllU0JwYmlCaFlXZGZaMlYwWDI1bGVIUmZZblZtWm1WeUtDa0FhVzV3ZFhR
QWMzbHVkR0Y0SUdGdFltbG5kV2wwZVNBdElHSmhaR3g1SUdSbGJHbHRhWFJsWkNCdWRXMWlaWEln
SndBbklHbHVJR3hwYm1VZ0pXUWdiMllnQUNCemNHeHBkSE1nYVc1MGJ5QjBkMjhnZEc5clpXNXpD
Z0FsY3dCc2FXNWxBQ1ZrSUNVeFd5SmRKVzRBYjNWMElHOW1JR1I1Ym1GdGFXTWdiV1Z0YjNKNUlH
bHVJR0ZoWjE5amNtVmhkR1ZmWW5WbVptVnlLQ2tBYjNWMElHOW1JR1I1Ym1GdGFXTWdiV1Z0YjNK
NUlHbHVJR0ZoWjJWdWMzVnlaVjlpZFdabVpYSmZjM1JoWTJzb0tRQTZJQUFnYVc0Z2JHbHVaU0Fs
WkFBZ2JtVmhjaUFuQUNCelkyRnVibWx1WnlCaElIRjFiM1JsWkNCemRISnBibWNnS0cxcGMzTnBi
bWNnWlc1a2NYVnZkR1UvSUd4dmJtZGxjaUIwYUdGdUlDVmtQeWtBQ2xOMGNtbHVaeUJ6ZEdGeWRH
bHVaem9pQUNCelkyRnVibWx1WnlCaElFaFVUVXdnYzNSeWFXNW5JQ2h0YVhOemFXNW5JQ2MrSno4
Z1ltRmtJRzVsYzNScGJtYy9JR3h2Ym1kbGNpQjBhR0Z1SUNWa1B5a0FDbE4wY21sdVp5QnpkR0Z5
ZEdsdVp6bzhBQ0J6WTJGdWJtbHVaeUJoSUM4cUxpNHVLaThnWTI5dGJXVnVkQ0FvYldsemMybHVa
eUFuS2k4L0lHeHZibWRsY2lCMGFHRnVJQ1ZrUHlrQVpteGxlQ0J6WTJGdWJtVnlJSEIxYzJndFlt
RmpheUJ2ZG1WeVpteHZkd0FpSWdCemRISnBZM1FBYkdsdVpXeGxibWQwYUFBN0NnQWdXMnRsZVQw
QVhRQWdXd0FzQ2dBOUFGOGxiR1JmVTFWVFVFVkRWQUJrYVFCemRISnBZM1FnQUhzS0FGMDdDZ0Jy
WlhrQVlYUjBjbWxpZFhSbElHMWhZM0p2Y3lCdWIzUWdhVzF3YkdWdFpXNTBaV1FBSlhNNkpYTUFR
MjkxYkdRZ2JtOTBJRzl3Wlc0Z0lpVnpJaUJtYjNJZ2QzSnBkR2x1WnlBNklDVnpDZ0JPYnlCc2FX
SjZJSE4xY0hCdmNuUXVDZ0F1SldRQWJtOXVZVzFsTG1kMkFHZDJkM0pwZEdWZmJtOWZlaUJ3Y205
aWJHVnRJQ1ZrQ2dCdFpXMXZjbmtnWVd4c2IyTmhkR2x2YmlCbVlXbHNkWEpsQ2dCT2J5QnNhV0o2
SUhOMWNIQnZjblFLQUdkMmNISnBiblJtT2lBbGN3b0FaM0poY0doMmFYb0FNaTQwTUM0eEFESXdN
VFl4TWpJMUxqQXpNRFFBY21WdVpHVnlBR3hoZVc5MWRBQmtaWFpwWTJVQWJHOWhaR2x0WVdkbEFH
UjVibUZ0YVdNZ2JHOWhaR2x1WnlCdWIzUWdZWFpoYVd4aFlteGxDZ0JWYzJsdVp5QWxjem9nSlhN
NkpYTUtBR2QyZFhObGNuTm9ZWEJsTG1NQVozWjFjMlZ5YzJoaGNHVmZabWx1WkFCbmRuVnpaWEp6
YUdGd1pWOW1hV3hsWDJGalkyVnpjd0JHYVd4bGJtRnRaU0FpSlhNaUlHbHpJSFZ1YzJGbVpRb0FK
WE1nZDJocGJHVWdiM0JsYm1sdVp5QWxjd29BZFhNdFBtWUFaM1oxYzJWeWMyaGhjR1ZmYjNCbGJn
QWlKWE1pSUhkaGN5QnViM1FnWm05MWJtUWdZWE1nWVNCbWFXeGxJRzl5SUdGeklHRWdjMmhoY0dV
Z2JHbGljbUZ5ZVNCdFpXMWlaWElLQUM5TlpXUnBZVUp2ZUFBb1cyRXRlbDFiWVMxNlFTMWFYU29w
UFNJb1cxNGlYU29wSWdCallXNXViM1FnWTI5dGNHbHNaU0J5WldkMWJHRnlJR1Y0Y0hKbGMzTnBi
MjRnSlhNQUpXeG1KVEp6QUhCMEFIWnBaWGRDYjNnQUpXeG1JQ1ZzWmlBbGJHWWdKV3htQUdsdUFI
QjRBSEJqQUNJQVkyMEFiVzBBSlNWQ2IzVnVaR2x1WjBKdmVEb0FBZERSMHRQVTFkYlgyTmtBZDJW
aWNBQW9iR2xpS1FDSlVFNUhEUW9hQ2dCd2JtY0FKU0ZRVXkxQlpHOWlaUzBBUWswQVltMXdBRWRK
UmpnQVoybG1BUC9ZLytBQWFuQmxad0FsVUVSR0xRQndaR1lBeGREVHhnQmxjSE1BUEQ5NGJXd0Fl
RzFzQUZKSlJrWUFjbWxtWmdBQUFBRUFBR2xqYndCTVlYbHZkWFFnZEhsd1pUb2dJaVZ6SWlCdWIz
UWdjbVZqYjJkdWFYcGxaQzRnVlhObElHOXVaU0J2WmpvbGN3b0FKV1FnSldRZ0pXUWdKV1FBVEdG
NWIzVjBJSGRoY3lCdWIzUWdaRzl1WlFvQVptRnBiSFZ5WlNCdFlXeHNiMk1uYVc1bklHWnZjaUJ5
WlhOMWJIUWdjM1J5YVc1bkFHZGpPaUJQZFhRZ2IyWWdiV1Z0YjNKNUNnQmZZMk5mQUc5eWFXY0Fi
M0FBWTJOdmJYQnpMbU1BYldGd1EyeDFjM1FBWTJObmNtRndhR2x1Wm04QVkyTm5ibTlrWldsdVpt
OEFLQ1UwYkdRcElDVTNiR1FnYm05a1pYTWdKVGRzWkNCbFpHZGxjd29BSUNBZ0lDQWdJQ1UzWkNC
dWIyUmxjeUFsTjJRZ1pXUm5aWE1nSlRkc1pDQmpiMjF3YjI1bGJuUnpJQ1Z6Q2dCa1p3QkZjbkp2
Y2pvZ2JtOWtaU0FpSlhNaUlHSmxiRzl1WjNNZ2RHOGdkSGR2SUc1dmJpMXVaWE4wWldRZ1kyeDFj
M1JsY25NZ0lpVnpJaUJoYm1RZ0lpVnpJZ29BYzI5eWRIWUFZMjlzZFcxdUlHMWhhbTl5QUhKdmR5
QnRZV3B2Y2dCaGNuSmhlU0J3WVdOcmFXNW5PaUFsY3lBbFpDQnliM2R6SUNWa0lHTnZiSFZ0Ym5N
S0FHSmlXeVZ6WFNBbExqVm5JQ1V1TldjZ0pTNDFaeUFsTGpWbkNnQnpkR1Z3SUhOcGVtVWdQU0Fs
WkFvQWNHOXpXeVZrWFNBbFpDQWxaQW9BWTJNZ0tDVmtJR05sYkd4ektTQmhkQ0FvSldRc0pXUXBJ
Q2dsWkN3bFpDa0tBR05qSUNnbFpDQmpaV3hzY3lrZ1lYUWdLQ1ZrTENWa0tRb0FKWE1nYm04dUlH
TmxiR3h6SUNWa0lGY2dKV1FnU0NBbFpBb0FJQ0FsWkNBbFpDQmpaV3hzQ2dCc2FXSndZV05yT2lC
a2FYTmpJRDBnSldZZ0tDQThJREFwQ2dCUVlXTnJhVzVuT2lCamIyMXdkWFJsSUdkeWFXUWdjMmw2
WlFvQVlTQWxaaUJpSUNWbUlHTWdKV1lnWkNBbFppQnlJQ1ZtQ2dCeWIyOTBJQ1ZrSUNnbFppa2dK
V1FnS0NWbUtRb0FJSEl4SUNWbUlISXlJQ1ZtQ2dCd2FXNW1id0J3WVdOckxtTUFaMlYwVUdGamEw
bHVabThBSUNCdFlYSm5hVzRnSldRS0FIQmhZMnR0YjJSbEFIQmhjbk5sVUdGamEwMXZaR1ZKYm1a
dkFHRnljbUY1QUdGemNHVmpkQUFsWmdCd1lXTnJJR2x1Wm04NkNnQWdJRzF2WkdVZ0lDQWxjd29B
SUNCaGMzQmxZM1FnSldZS0FDQWdjMmw2WlNBZ0lDVmtDZ0FnSUdac1lXZHpJQ0FsWkFvQWRXNWta
V1pwYm1Wa0FIQmhZMnNBUVhKeWIzY2dkSGx3WlNBaUpYTWlJSFZ1YTI1dmQyNGdMU0JwWjI1dmNt
bHVad29BYm05eWJXRnNBR055YjNjQWRHVmxBR1J2ZEFCcGJuWUFkbVZsQUhCbGJnQnRjSFI1QUdO
MWNuWmxBR2xqZFhKMlpRQnNBR2hoYkdZQWFXNTJaVzF3ZEhrQVgySmhZMnRuY205MWJtUUFYMlJ5
WVhkZkFFTnZkV3hrSUc1dmRDQndZWEp6WlNBaVgySmhZMnRuY205MWJtUWlJR0YwZEhKcFluVjBa
U0JwYmlCbmNtRndhQ0FsY3dvQUlDQWlKWE1pQ2dCdWJ5QnRaVzF2Y25rZ1puSnZiU0I2YldGc2JH
OWpLQ2tLQUc5aWFnQmxiV2wwTG1NQWNHOXdYMjlpYWw5emRHRjBaUUJqYkhWemRBQWxiR1FBY0dG
blpTVmtMQ1ZrWHdCVWIzUmhiQ0J6YVhwbElENGdNU0JwYmlBaUpYTWlJR052Ykc5eUlITndaV01n
QUVsc2JHVm5ZV3dnYkdWdVozUm9JSFpoYkhWbElHbHVJQ0lsY3lJZ1kyOXNiM0lnWVhSMGNtbGlk
WFJsSUFCc2JuSmpiMnh2Y25OamFHVnRaUUJsYldsMFgyVmtaMlZmYkdGaVpXd0FKWE10SlhNQVpt
OXlkMkZ5WkFCaVlXTnJBQ0F0TFNBQUlDMCtJQUJwYmlCbFpHZGxJQ1Z6SlhNbGN3b0FiR0ZpWld4
aGJHbG5ibVZrQUdWa1oyVm9jbVZtQUdWa1oyVlZVa3dBYkdGaVpXeG9jbVZtQUd4aFltVnNWVkpN
QUhSaGFXeG9jbVZtQUhSaGFXeFZVa3dBYUdWaFpHaHlaV1lBYUdWaFpGVlNUQUJsWkdkbGRHRnla
MlYwQUd4aFltVnNkR0Z5WjJWMEFIUmhhV3gwWVhKblpYUUFhR1ZoWkhSaGNtZGxkQUJsWkdkbGRH
OXZiSFJwY0FCc1lXSmxiSFJ2YjJ4MGFYQUFkR0ZwYkhSdmIyeDBhWEFBYUdWaFpIUnZiMngwYVhB
QUFXNWxjM1JwYm1jZ2JtOTBJR0ZzYkc5M1pXUWdhVzRnYzNSNWJHVTZJQ1Z6Q2dCMWJtMWhkR05v
WldRZ0p5a25JR2x1SUhOMGVXeGxPaUFsY3dvQWRISjFibU5oZEdsdVp5QnpkSGxzWlNBbkpYTW5D
Z0IxYm0xaGRHTm9aV1FnSnlnbklHbHVJSE4wZVd4bE9pQWxjd29BWVd4c0FHbHVJR05zZFhOMFpY
SWdKWE1LQUUxdmNtVWdkR2hoYmlBeUlHTnZiRzl5Y3lCemNHVmphV1pwWldRZ1ptOXlJR0VnWjNK
aFpHbGxiblFnTFNCcFoyNXZjbWx1WnlCeVpXMWhhVzVwYm1jS0FHZHlZV1JwWlc1MElIQmxiaUJq
YjJ4dmNuTWdibTkwSUhsbGRDQnpkWEJ3YjNKMFpXUXVDZ0JKYldGblpYTWdkVzV6ZFhCd2IzSjBa
V1FnYVc0Z0ltSmhZMnRuY205MWJtUWlJR0YwZEhKcFluVjBaUW9BYkdGNVpYSnpJRzV2ZENCemRY
QndiM0owWldRZ2FXNGdKWE1nYjNWMGNIVjBDZ0JNWVhsdmRYUWdkMkZ6SUc1dmRDQmtiMjVsTGlB
Z1RXbHpjMmx1WnlCc1lYbHZkWFFnY0d4MVoybHVjejhnQ2dCbmRsSmxibVJsY2twdlluTWdKWE02
SUNVdU1tWWdjMlZqY3k0S0FHeGhlVzkxZENCM1lYTWdibTkwSUdSdmJtVUtBSEpsYm1SbGNtVnlJ
R1p2Y2lBbGN5QnBjeUIxYm1GMllXbHNZV0pzWlFvQWNHRm5aV1JwY2owbGN5QnBaMjV2Y21Wa0Nn
QjJhV1YzY0c5eWRBQWxiR1lzSld4bUxDVnNaaXduSlZ0ZUoxMG5BQ1ZzWml3bGJHWXNKV3htTENW
YlhpeGRKWE1BSld4bUxDVnNaaXdsYkdZc0pXeG1MQ1ZzWmdCdmRYUndkWFJ2Y21SbGNnQnZaR1Z6
Wm1seWMzUUFaR2RsYzJacGNuTjBBR3hoZVdWeWN3QnNZWGxsY25ObGJHVmpkQUJVYUdVZ2JHRjVa
WEp6Wld4bFkzUWdZWFIwY21saWRYUmxJQ0lsY3lJZ1pHOWxjeUJ1YjNRZ2JXRjBZMmdnWVc1NUlH
eGhlV1Z5SUhOd1pXTnBabVZrSUdKNUlIUm9aU0JzWVhsbGNuTWdZWFIwY21saWRYUmxJQzBnYVdk
dWIzSmxaQzRLQUd4aGVXVnljMlZ3QURvSklBQnNZWGxsY214cGMzUnpaWEFBTEFCVWFHVWdZMmho
Y21GamRHVnlJQ2NsWXljZ1lYQndaV0Z5Y3lCcGJpQmliM1JvSUhSb1pTQnNZWGxsY25ObGNDQmhi
bVFnYkdGNVpYSnNhWE4wYzJWd0lHRjBkSEpwWW5WMFpYTWdMU0JzWVhsbGNteHBjM1J6WlhBZ2FX
ZHViM0psWkM0S0FIQmhaQUJDVEFCd1lXZGxaR2x5QUhOdmJHbGtBQUJ6WlhSc2FXNWxkMmxrZEdn
QU1RQUFjM0JzTFQ1emFYcGxJRDRnTUFCcGJtbDBYM053YkdsdVpYTmZZbUlBWW5vdWMybDZaU0Er
SURBQVltVjZhV1Z5WDJKaUFHSjZMbk5wZW1VZ0pTQXpJRDA5SURFQUpXeG1BR1p2Ym5Sd1lYUm9B
RVJQVkVaUFRsUlFRVlJJQUVkRVJrOU9WRkJCVkVnQWFXMWhaMlZ3WVhSb0FIRjFZVzUwZFcwQWNt
RnVhMlJwY2dCTVVnQkNWQUJTVEFCdWIyUmxjMlZ3QUhKaGJtdHpaWEFBWlhGMVlXeHNlUUJ6YUc5
M1ltOTRaWE1BWm05dWRHNWhiV1Z6QUhOcGVtVUFjR0ZuWlFCalpXNTBaWElBY205MFlYUmxBRzl5
YVdWdWRHRjBhVzl1QUd4aGJtUnpZMkZ3WlFCamJIVnpkR1Z5Y21GdWF3QmpiMjVqWlc1MGNtRjBa
UUJrY0drQWNtVnpiMngxZEdsdmJnQnZjbVJsY21sdVp3Qm1hV3hzWTI5c2IzSUFabTl1ZEhOcGVt
VUFabTl1ZEc1aGJXVUFabTl1ZEdOdmJHOXlBSGhzWVdKbGJBQndaVzUzYVdSMGFBQndaWEpwY0do
bGNtbGxjd0J6YTJWM0FHUnBjM1J2Y25ScGIyNEFibTlxZFhOMGFXWjVBR3hoZVdWeUFHZHliM1Z3
QUdOdmJXMWxiblFBZG1WeWRHbGpaWE1BZWdCM1pXbG5hSFFBYkdGaVpXeG1iRzloZEFCa2FYSUFZ
WEp5YjNkb1pXRmtBR0Z5Y205M2RHRnBiQUJvWldGa2JHRmlaV3dBZEdGcGJHeGhZbVZzQUd4aFlt
VnNabTl1ZEhOcGVtVUFiR0ZpWld4bWIyNTBibUZ0WlFCc1lXSmxiR1p2Ym5SamIyeHZjZ0JzWVdK
bGJHUnBjM1JoYm1ObEFHeGhZbVZzWVc1bmJHVUFiV2x1YkdWdUFHUmxZMjl5WVhSbEFHRnljbTkz
YzJsNlpRQmpiMjV6ZEhKaGFXNTBBSFJoYVd4amJHbHdBR2hsWVdSamJHbHdBR3hoWW1Wc2FuVnpk
QUJzYjJOaGJBQm5iRzlpWVd3QUpXeG1MQ1ZzWmlWakFDVnNaaVZqQUhKaGRHbHZBR0YxZEc4QVky
OXRjSEpsYzNNQVpYaHdZVzVrQUdacGJHd0FaMlFBY0hNQWMzWm5BR05vWVhKelpYUUFkWFJtTFRn
QWJHRjBhVzR0TVFCc1lYUnBiakVBYkRFQVNWTlBMVGc0TlRrdE1RQkpVMDlmT0RnMU9TMHhBRWxU
VHpnNE5Ua3RNUUJKVTA4dFNWSXRNVEF3QUdKcFp5MDFBR0pwWnpVQWRYUm1PQUJWYm5OMWNIQnZj
blJsWkNCamFHRnljMlYwSUNJbGN5SWdMU0JoYzNOMWJXbHVaeUIxZEdZdE9Bb0FWVzV6ZFhCd2Iz
SjBaV1FnWTJoaGNuTmxkQ0IyWVd4MVpTQWxaQW9BVlZSR0xUZ0FRa2xITFRVQWFXNGdiR0ZpWld3
Z2IyWWdaM0poY0dnZ0pYTUtBR2x1SUd4aFltVnNJRzltSUc1dlpHVWdKWE1LQUdsdUlHeGhZbVZz
SUc5bUlHVmtaMlVnSlhNZ0pYTWdKWE1LQUd0cGJtUWdQVDBnVEZSZlRrOU9SUUJzWVdKbGJITXVZ
d0J0WVd0bFgyeGhZbVZzQUZ4TUFGeEhBRnhGQUZ4SUFGeFVBQ1lqTVRNN0FDWm5kRHNBSmlNME5U
c0FKaU16T1RzQUptRnRjRHNBSmlNeE5qQTdBQ1p4ZFc5ME93QW1JekV3T3dBbWJIUTdBQ1Z6SUNW
a0lHNXZaR1Z6SUNWa0lHVmtaMlZ6SUcxaGVHbDBaWEk5SldRZ1ltRnNZVzVqWlQwbFpBb0FibVYw
ZDI5eWF5QnphVzF3YkdWNE9pQUFKV1FnQUNWekpXUWdibTlrWlhNZ0pXUWdaV1JuWlhNZ0pXUWdh
WFJsY2lBbExqSm1JSE5sWXdvQWRYQmtZWFJsT2lCdGFYTnRZWFJqYUdWa0lHeGpZU0JwYmlCMGNt
VmxkWEJrWVhSbGN3b0FWSEpsWlY5bFpHZGxMbk5wZW1VZ1BUMGdUbDl1YjJSbGN5QXRJREVBYm5N
dVl3Qm1aV0Z6YVdKc1pWOTBjbVZsQUNGVVVrVkZYMFZFUjBVb1pTa0FiV1Z5WjJWZmRISmxaWE1B
S0hJd0xUNW9aV0Z3WDJsdVpHVjRJRDRnTFRFcElIeDhJQ2h5TVMwK2FHVmhjRjlwYm1SbGVDQStJ
QzB4S1FCVFZITmxkRlZ1YVc5dUFISXRQbWhsWVhCZmFXNWtaWGdnUGowZ01BQmhaR1JmZEhKbFpW
OWxaR2RsT2lCdGFYTnphVzVuSUhSeVpXVWdaV1JuWlFvQVlXUmtYM1J5WldWZlpXUm5aVG9nWlcx
d2RIa2diM1YwWldSblpTQnNhWE4wQ2dCaFpHUmZkSEpsWlY5bFpHZGxPaUJsYlhCMGVTQnBibVZr
WjJVZ2JHbHpkQW9BZEhKdmRXSnNaU0JwYmlCcGJtbDBYM0poYm1zS0FBa2xjeUFsWkFvQWMyVmhj
bU5vYzJsNlpRQm5jbUZ3YUNBQUlBQnViMlJsSUFCemRHOXdDZ0FsTGpWbkFIQnZjd0J5WldOMGN3
QjRiSEFBYkhBQWFHVmhaRjlzY0FCMFlXbHNYMnh3QUd4M2FXUjBhQUJzYUdWcFoyaDBBR0ppQUNV
dU5XY3NKUzQxWnl3bExqVm5BQ3dsTGpWbkFDVXVOV2NzSlM0MVp3QnpZVzF3YkdWd2IybHVkSE1B
SlM0MVp5QWxMalZuQUhNc0pTNDFaeXdsTGpWbklBQmxMQ1V1Tldjc0pTNDFaeUFBSlM0MVp5d2xM
alZuTENVdU5XY3NKUzQxWndBbExqSm1BQ1V1Tldjc0pTNDFaeXdsTGpWbkxDVXVOV2NnQUM5d1lY
Um9ZbTk0SUhzS0lDQWdJQzlZSUdWNFkyZ2dibVZuSUNVdU5XY2djM1ZpSUdSbFpnb2dJQ0FnTDFr
Z1pYaGphQ0FsTGpWbklITjFZaUJrWldZS0lDQWdJQzk0SUdWNFkyZ2dibVZuSUNVdU5XY2djM1Zp
SUdSbFpnb2dJQ0FnTDNrZ1pYaGphQ0FsTGpWbklITjFZaUJrWldZS0lDQWdJRzVsZDNCaGRHZ2dl
Q0I1SUcxdmRtVjBid29nSUNBZ1dDQjVJR3hwYm1WMGJ3b2dJQ0FnV0NCWklHeHBibVYwYndvZ0lD
QWdlQ0JaSUd4cGJtVjBid29nSUNBZ1kyeHZjMlZ3WVhSb0lITjBjbTlyWlFwOUlHUmxaZ29BTDNC
aGRHaGliM2dnZXdvZ0lDQWdMMWtnWlhoamFDQWxMalZuSUhOMVlpQmtaV1lLSUNBZ0lDOVlJR1Y0
WTJnZ0pTNDFaeUJ6ZFdJZ1pHVm1DaUFnSUNBdmVTQmxlR05vSUNVdU5XY2djM1ZpSUdSbFpnb2dJ
Q0FnTDNnZ1pYaGphQ0FsTGpWbklITjFZaUJrWldZS0lDQWdJRzVsZDNCaGRHZ2dlQ0I1SUcxdmRt
VjBid29nSUNBZ1dDQjVJR3hwYm1WMGJ3b2dJQ0FnV0NCWklHeHBibVYwYndvZ0lDQWdlQ0JaSUd4
cGJtVjBid29nSUNBZ1kyeHZjMlZ3WVhSb0lITjBjbTlyWlFvZ2ZTQmtaV1lLTDJSaVozTjBZWEow
SUhzZ1ozTmhkbVVnSlM0MVp5QWxMalZuSUhSeVlXNXpiR0YwWlNCOUlHUmxaZ292WVhKeWIzZHNa
VzVuZEdnZ01UQWdaR1ZtQ2k5aGNuSnZkM2RwWkhSb0lHRnljbTkzYkdWdVozUm9JRElnWkdsMklH
UmxaZ292WVhKeWIzZG9aV0ZrSUhzS0lDQWdJR2R6WVhabENpQWdJQ0J5YjNSaGRHVUtJQ0FnSUdO
MWNuSmxiblJ3YjJsdWRBb2dJQ0FnYm1WM2NHRjBhQW9nSUNBZ2JXOTJaWFJ2Q2lBZ0lDQmhjbkp2
ZDJ4bGJtZDBhQ0JoY25KdmQzZHBaSFJvSURJZ1pHbDJJSEpzYVc1bGRHOEtJQ0FnSURBZ1lYSnli
M2QzYVdSMGFDQnVaV2NnY214cGJtVjBid29nSUNBZ1kyeHZjMlZ3WVhSb0lHWnBiR3dLSUNBZ0lH
ZHlaWE4wYjNKbENuMGdZbWx1WkNCa1pXWUtMMjFoYTJWaGNuSnZkeUI3Q2lBZ0lDQmpkWEp5Wlc1
MGNHOXBiblFnWlhoamFDQndiM0FnYzNWaUlHVjRZMmdnWTNWeWNtVnVkSEJ2YVc1MElIQnZjQ0J6
ZFdJZ1lYUmhiZ29nSUNBZ1lYSnliM2RvWldGa0NuMGdZbWx1WkNCa1pXWUtMM0J2YVc1MElIc2dJ
Q0FnYm1WM2NHRjBhQ0FnSUNBeUlEQWdNell3SUdGeVl5Qm1hV3hzZlNCa1pXWXZiV0ZyWlhabFl5
QjdDaUFnSUNBdldTQmxlR05vSUdSbFpnb2dJQ0FnTDFnZ1pYaGphQ0JrWldZS0lDQWdJQzk1SUdW
NFkyZ2daR1ZtQ2lBZ0lDQXZlQ0JsZUdOb0lHUmxaZ29nSUNBZ2JtVjNjR0YwYUNCNElIa2diVzky
WlhSdkNpQWdJQ0JZSUZrZ2JHbHVaWFJ2SUhOMGNtOXJaUW9nSUNBZ1dDQlpJRzF2ZG1WMGJ3b2dJ
Q0FnZUNCNUlHMWhhMlZoY25KdmR3cDlJR1JsWmdvQWJHOXpkQ0FsY3lBbGN5QmxaR2RsQ2dCdWJ5
QndiM05wZEdsdmJpQm1iM0lnWldSblpTQjNhWFJvSUd4aFltVnNJQ1Z6QUc1dklIQnZjMmwwYVc5
dUlHWnZjaUJsWkdkbElIZHBkR2dnZEdGcGJDQnNZV0psYkNBbGN3QnVieUJ3YjNOcGRHbHZiaUJt
YjNJZ1pXUm5aU0IzYVhSb0lHaGxZV1FnYkdGaVpXd2dKWE1BYm04Z2NHOXphWFJwYjI0Z1ptOXlJ
R1ZrWjJVZ2QybDBhQ0I0YkdGaVpXd2dKWE1BWm05eVkyVnNZV0psYkhNQUpXUWdiM1YwSUc5bUlD
VmtJR3hoWW1Wc2N5QndiM05wZEdsdmJtVmtMZ29BSldRZ2IzVjBJRzltSUNWa0lHVjRkR1Z5YVc5
eUlHeGhZbVZzY3lCd2IzTnBkR2x2Ym1Wa0xnb0FKV1FnYjJKcWN5QWxaQ0I0YkdGaVpXeHpJR1p2
Y21ObFBTVmtJR0ppUFNnbExqQXlaaXdsTGpBeVppa2dLQ1V1TURKbUxDVXVNREptS1FvQWIySnFa
V04wY3dvQUlGc2xaRjBnS0NVdU1ESm1MQ1V1TURKbUtTQW9KUzR3TW1Zc0pTNHdNbVlwSUNWd0lD
SWxjeUlLQUhoc1lXSmxiSE1LQUNCYkpXUmRJQ1Z3SUhObGRDQWxaQ0FvSlM0d01tWXNKUzR3TW1Z
cElDZ2xMakF5Wml3bExqQXlaaWtnSlhNS0FITm9ZWEJsWm1sc1pTQnViM1FnYzJWMElHOXlJRzV2
ZENCbWIzVnVaQ0JtYjNJZ1pYQnpaaUJ1YjJSbElDVnpDZ0JqYjNWc1pHNG5kQ0J2Y0dWdUlHVndj
MllnWm1sc1pTQWxjd29BSlNVbEpVSnZkVzVrYVc1blFtOTRPaUFsWkNBbFpDQWxaQ0FsWkFCeVpX
RmtBRUp2ZFc1a2FXNW5RbTk0SUc1dmRDQm1iM1Z1WkNCcGJpQmxjSE5tSUdacGJHVWdKWE1LQUdO
aGJpZDBJR1pwYm1RZ2JHbGljbUZ5ZVNCbWFXeGxJQ1Z6Q2dCallXNG5kQ0J2Y0dWdUlHeHBZbkpo
Y25rZ1ptbHNaU0FsY3dvQVJVOUdBRUpGUjBsT0FFVk9SQUJVVWtGSlRFVlNBQzkxYzJWeVgzTm9Z
WEJsWHlWa0lIc0tBQ1VsUW1WbmFXNUViMk4xYldWdWREb0tBQ1VsUlc1a1JHOWpkVzFsYm5RS0FI
MGdZbWx1WkNCa1pXWUtBRlZVUmkwNElHbHVjSFYwSUhWelpYTWdibTl1TFV4aGRHbHVNU0JqYUdG
eVlXTjBaWEp6SUhkb2FXTm9JR05oYm01dmRDQmlaU0JvWVc1a2JHVmtJR0o1SUhSb2FYTWdVRzl6
ZEZOamNtbHdkQ0JrY21sMlpYSUtBR05oYm01dmRDQnlaUzFoYkd4dlkyRjBaU0J3Y3dvQWNtOTFk
R1Z6Y0d4cGJtVnphVzVwZERvZ1kyRnVibTkwSUdGc2JHOWpZWFJsSUhCekNnQnliM1YwWlhOd2JH
bHVaWE02SUNWa0lHVmtaMlZ6TENBbFpDQmliM2hsY3lBbExqSm1JSE5sWXdvQWFXNGdjbTkxZEdW
emNHeHBibVZ6TENCallXNXViM1FnWm1sdVpDQk9UMUpOUVV3Z1pXUm5aUW9BYVc0Z2NtOTFkR1Z6
Y0d4cGJtVnpMQ0JwYkd4bFoyRnNJSFpoYkhWbGN5QnZaaUJ3Y21WMklDVmtJR0Z1WkNCdVpYaDBJ
Q1ZrTENCc2FXNWxJQ1ZrQ2dCcGJpQnliM1YwWlhOd2JHbHVaWE1zSUdWa1oyVWdhWE1nWVNCc2Iy
OXdJR0YwSUNWekNnQnBiaUJ5YjNWMFpYTndiR2x1WlhNc0lGQnphRzl5ZEdWemRIQmhkR2dnWm1G
cGJHVmtDZ0JwYmlCeWIzVjBaWE53YkdsdVpYTXNJRkJ5YjNWMFpYTndiR2x1WlNCbVlXbHNaV1FL
QUZWdVlXSnNaU0IwYnlCeVpXTnNZV2x0SUdKdmVDQnpjR0ZqWlNCcGJpQnpjR3hwYm1VZ2NtOTFk
R2x1WnlCbWIzSWdaV1JuWlNBaUpYTWlJQzArSUNJbGN5SXVJRk52YldWMGFHbHVaeUJwY3lCd2Nt
OWlZV0pzZVNCelpYSnBiM1Z6YkhrZ2QzSnZibWN1Q2dCcGJpQmphR1ZqYTNCaGRHZ3NJR0p2ZUNB
d0lHaGhjeUJNVENCamIyOXlaQ0ErSUZWU0lHTnZiM0prQ2dCcGJpQmphR1ZqYTNCaGRHZ3NJR0p2
ZUNBbFpDQm9ZWE1nVEV3Z1kyOXZjbVFnUGlCVlVpQmpiMjl5WkFvQWFXNGdZMmhsWTJ0d1lYUm9M
Q0JpYjNobGN5QWxaQ0JoYm1RZ0pXUWdaRzl1SjNRZ2RHOTFZMmdLQUdsdUlHTm9aV05yY0dGMGFD
d2djM1JoY25RZ2NHOXlkQ0J1YjNRZ2FXNGdabWx5YzNRZ1ltOTRDZ0JwYmlCamFHVmphM0JoZEdn
c0lHVnVaQ0J3YjNKMElHNXZkQ0JwYmlCc1lYTjBJR0p2ZUFvQUpXUWdZbTk0WlhNNkNnQWxaQ0Fv
SlM0MVp5d2dKUzQxWnlrc0lDZ2xMalZuTENBbExqVm5LUW9BYm05MElHTnZibk4wY21GcGJtVmtB
R052Ym5OMGNtRnBibVZrQUhOMFlYSjBJSEJ2Y25RNklDZ2xMalZuTENBbExqVm5LU3dnZEdGdVoy
VnVkQ0JoYm1kc1pUb2dKUzQxWnl3Z0pYTUtBR1Z1WkNCd2IzSjBPaUFvSlM0MVp5d2dKUzQxWnlr
c0lIUmhibWRsYm5RZ1lXNW5iR1U2SUNVdU5XY3NJQ1Z6Q2dCemFXUmxjeUE5UFNBMEFITm9ZWEJs
Y3k1akFISnZkVzVrWDJOdmNtNWxjbk1BWW1Ga0lHeGhZbVZzSUdadmNtMWhkQ0FsY3dvQVhFNEFi
V0Z5WjJsdUFDVnNaaXdsYkdZQWNtVm5kV3hoY2dCamRYTjBiMjBBYzJoaGNHVm1hV3hsQUR4dWFX
dytBRTV2SUc5eUlHbHRjSEp2Y0dWeUlITm9ZWEJsWm1sc1pUMGlKWE1pSUdadmNpQnViMlJsSUNJ
bGN5SUtBRTV2SUc5eUlHbHRjSEp2Y0dWeUlHbHRZV2RsUFNJbGN5SWdabTl5SUc1dlpHVWdJaVZ6
SWdvQWJHRmlaV3hzYjJNQWJtOWtaU0FuSlhNbkxDQm5jbUZ3YUNBbkpYTW5JSE5wZW1VZ2RHOXZJ
SE50WVd4c0lHWnZjaUJzWVdKbGJBb0FaWEJ6WmdCMWMybHVaeUFsY3lCbWIzSWdkVzVyYm05M2Jp
QnphR0Z3WlNBbGN3b0FjRzlzZVdkdmJnQnZkbUZzQUdOcGNtTnNaUUJ3YjJsdWRBQmxaMmNBZEhK
cFlXNW5iR1VBY0d4aGFXNTBaWGgwQUhCc1lXbHVBR1JwWVcxdmJtUUFkSEpoY0dWNmFYVnRBSEJo
Y21Gc2JHVnNiMmR5WVcwQWFHOTFjMlVBY0dWdWRHRm5iMjRBYUdWNFlXZHZiZ0J6WlhCMFlXZHZi
Z0J2WTNSaFoyOXVBRzV2ZEdVQWRHRmlBR1p2YkdSbGNnQmliM2d6WkFCamIyMXdiMjVsYm5RQVkz
bHNhVzVrWlhJQWNtVmpkQUJ5WldOMFlXNW5iR1VBYzNGMVlYSmxBR1J2ZFdKc1pXTnBjbU5zWlFC
a2IzVmliR1Z2WTNSaFoyOXVBSFJ5YVhCc1pXOWpkR0ZuYjI0QWFXNTJkSEpwWVc1bmJHVUFhVzUy
ZEhKaGNHVjZhWFZ0QUdsdWRtaHZkWE5sQUhWdVpHVnliR2x1WlFCTlpHbGhiVzl1WkFCTmMzRjFZ
WEpsQUUxamFYSmpiR1VBY0hKdmJXOTBaWElBWTJSekFIUmxjbTFwYm1GMGIzSUFkWFJ5QUdsdWMz
VnNZWFJ2Y2dCeWFXSnZjMmwwWlFCeWJtRnpkR0ZpQUhCeWIzUmxZWE5sYzJsMFpRQndjbTkwWlds
dWMzUmhZZ0J3Y21sdFpYSnphWFJsQUhKbGMzUnlhV04wYVc5dWMybDBaUUJtYVhabGNHOTJaWEpv
WVc1bkFIUm9jbVZsY0c5MlpYSm9ZVzVuQUc1dmRtVnlhR0Z1WndCaGMzTmxiV0pzZVFCemFXZHVZ
WFIxY21VQWNuQnliMjF2ZEdWeUFHeGhjbkp2ZHdCeVlYSnliM2NBYkhCeWIyMXZkR1Z5QUhKbFky
OXlaQUJOY21WamIzSmtBSE4wWVhJQUl6Z3dPREE0TUFBalptTm1ZMlpqQUNNek1ETXdNekFBSTJV
NFpUaGxPQUFqWlRCbE1HVXdBQ05tTUdZd1pqQUFJekV3TVRBeE1BQWpaamhtT0dZNEFHbHVJRzV2
WkdVZ0pYTUtBSEp2ZFc1a1pXUUFaR2xoWjI5dVlXeHpBSEpoWkdsaGJBQnpkSEpwY0dWa0FIZGxa
R2RsWkFCZkFHNXZaR1VnSlhNc0lIQnZjblFnSlhNc0lIVnVjbVZqYjJkdWFYcGxaQ0JqYjIxd1lY
TnpJSEJ2YVc1MElDY2xjeWNnTFNCcFoyNXZjbVZrQ2dCdWIyUmxJQ1Z6TENCd2IzSjBJQ1Z6SUhW
dWNtVmpiMmR1YVhwbFpBb0FKUzQxWnlBbExqVm5JSFJ5WVc1emJHRjBaU0J1Wlhkd1lYUm9JSFZ6
WlhKZmMyaGhjR1ZmSldRS0FHbHVkbWx6QUFCbWFXeHNaV1FBQUhNQVpRQjNBSE53YkdsdVpYTXVZ
d0JpWldkcGJuQmhkR2dBVUMwK1pXNWtMblJvWlhSaElEd2dNaUFxSUUxZlVFa0FaVzVrY0dGMGFB
QnRZV3RsVTJWc1prVmtaMlVBWjJWMGMzQnNhVzVsY0c5cGJuUnpPaUJ1YnlCemNHeHBibVVnY0c5
cGJuUnpJR0YyWVdsc1lXSnNaU0JtYjNJZ1pXUm5aU0FvSlhNc0pYTXBDZ0J3YjJ4NWJHbHVaVTFw
WkhCdmFXNTBBSE53WVc0dFBtWnZiblFBZEdWNGRITndZVzR1WXdCMFpYaDBjM0JoYmw5emFYcGxB
R1p2Ym5RdFBtNWhiV1VBWm05dWRHNWhiV1U2SUNJbGN5SWdjbVZ6YjJ4MlpXUWdkRzg2SUNWekNn
Qm1iMjUwYm1GdFpUb2dkVzVoWW14bElIUnZJSEpsYzI5c2RtVWdJaVZ6SWdvQVkyOTFjZ0JoY21s
aGJBQm9aV3gyWlhScFkyRUFXMmx1ZEdWeWJtRnNJSFJwYldWelhRQmJhVzUwWlhKdVlXd2dZMjkx
Y21sbGNsMEFXMmx1ZEdWeWJtRnNJR0Z5YVdGc1hRQkJkbUZ1ZEVkaGNtUmxMVUp2YjJzQVZWSlhJ
RWR2ZEdocFl5Qk1BR0p2YjJzQWMyRnVjeTFUWlhKcFpnQkJkbUZ1ZEVkaGNtUmxMVUp2YjJ0UFlt
eHBjWFZsQUc5aWJHbHhkV1VBYVhSaGJHbGpBRUYyWVc1MFIyRnlaR1V0UkdWdGFRQmtaVzFwQUVG
MllXNTBSMkZ5WkdVdFJHVnRhVTlpYkdseGRXVUFRbTl2YTIxaGJpMUVaVzFwQUZWU1Z5QkNiMjly
YldGdUlFd0FjMlZ5YVdZQVFtOXZhMjFoYmkxRVpXMXBTWFJoYkdsakFFSnZiMnR0WVc0dFRHbG5h
SFFBYkdsbmFIUUFRbTl2YTIxaGJpMU1hV2RvZEVsMFlXeHBZd0JEYjNWeWFXVnlBRzF2Ym05emNH
RmpaUUJEYjNWeWFXVnlMVUp2YkdRQVEyOTFjbWxsY2kxQ2IyeGtUMkpzYVhGMVpRQkRiM1Z5YVdW
eUxVOWliR2x4ZFdVQVNHVnNkbVYwYVdOaEFFaGxiSFpsZEdsallTMUNiMnhrQUVobGJIWmxkR2xq
WVMxQ2IyeGtUMkpzYVhGMVpRQklaV3gyWlhScFkyRXRUbUZ5Y205M0FHTnZibVJsYm5ObFpBQkla
V3gyWlhScFkyRXRUbUZ5Y205M0xVSnZiR1FBU0dWc2RtVjBhV05oTFU1aGNuSnZkeTFDYjJ4a1Qy
SnNhWEYxWlFCSVpXeDJaWFJwWTJFdFRtRnljbTkzTFU5aWJHbHhkV1VBU0dWc2RtVjBhV05oTFU5
aWJHbHhkV1VBVG1WM1EyVnVkSFZ5ZVZOamFHeGlheTFDYjJ4a0FFTmxiblIxY25rZ1UyTm9iMjlz
WW05dmF5Qk1BRTVsZDBObGJuUjFjbmxUWTJoc1ltc3RRbTlzWkVsMFlXeHBZd0JPWlhkRFpXNTBk
WEo1VTJOb2JHSnJMVWwwWVd4cFl3Qk9aWGREWlc1MGRYSjVVMk5vYkdKckxWSnZiV0Z1QUhKdmJX
RnVBRkJoYkdGMGFXNXZMVUp2YkdRQVVHRnNZWFJwYm04Z1RHbHViM1I1Y0dVQVVHRnNZWFJwYm04
dFFtOXNaRWwwWVd4cFl3QlFZV3hoZEdsdWJ5MUpkR0ZzYVdNQVVHRnNZWFJwYm04dFVtOXRZVzRB
VTNsdFltOXNBR1poYm5SaGMza0FWR2x0WlhNdFFtOXNaQUJVYVcxbGN3QlVhVzFsY3kxQ2IyeGtT
WFJoYkdsakFGUnBiV1Z6TFVsMFlXeHBZd0JhWVhCbVEyaGhibU5sY25rdFRXVmthWFZ0U1hSaGJH
bGpBRlZTVnlCRGFHRnVZMlZ5ZVNCTUFHMWxaR2wxYlFCYVlYQm1SR2x1WjJKaGRITUFSR2x1WjJK
aGRITUFhVzV3ZFhSelkyRnNaUUJ1YndCMGNuVmxBSGxsY3dCMWRHbHNjeTVqQUhVZ1BUMGdWVVpm
Wm1sdVpDaDFLUUJWUmw5elpYUnVZVzFsQUFGbWFXeGxJR3h2WVdScGJtY2dhWE1nWkdsellXSnNa
V1FnWW1WallYVnpaU0IwYUdVZ1pXNTJhWEp2Ym0xbGJuUWdZMjl1ZEdGcGJuTWdVMFZTVmtWU1gw
NUJUVVU5SWlWeklncGhibVFnZEdobElFZFdYMFpKVEVWZlVFRlVTQ0IyWVhKcFlXSnNaU0JwY3lC
MWJuTmxkQ0J2Y2lCbGJYQjBlUzRLQUZCaGRHZ2djSEp2ZG1sa1pXUWdkRzhnWm1sc1pUb2dJaVZ6
SWlCb1lYTWdZbVZsYmlCcFoyNXZjbVZrSUdKbFkyRjFjMlVnWm1sc1pYTWdZWEpsSUc5dWJIa2dj
R1Z5YldsMGRHVmtJSFJ2SUdKbElHeHZZV1JsWkNCbWNtOXRJSFJvWlNCa2FYSmxZM1J2Y21sbGN5
QnBiaUFpSlhNaUlIZG9aVzRnY25WdWJtbHVaeUJwYmlCaGJpQm9kSFJ3SUhObGNuWmxjaTRLQUNW
ekpYTWxjd0F2QURvQVpXeHNhWEJ6WlFCVWFXMWxjeTFTYjIxaGJnQmpiSFZ6ZEdWeUFGOWZZMngx
YzNSbGNtNXZaR1Z6QUdOc2RYTjBaWElnWTNsamJHVWdKWE1nTFMwZ0pYTWdibTkwSUhOMWNIQnZj
blJsWkFvQWRHRnBiQ0JqYkhWemRHVnlJQ1Z6SUdsdWMybGtaU0JvWldGa0lHTnNkWE4wWlhJZ0pY
TUtBR2hsWVdRZ1kyeDFjM1JsY2lBbGN5QnBibk5wWkdVZ2RHRnBiQ0JqYkhWemRHVnlJQ1Z6Q2dC
MFlXbHNJRzV2WkdVZ0pYTWdhVzV6YVdSbElHaGxZV1FnWTJ4MWMzUmxjaUFsY3dvQWFHVmhaQ0J1
YjJSbElDVnpJR2x1YzJsa1pTQjBZV2xzSUdOc2RYTjBaWElnSlhNS0FGOWZBR3hoWW1Wc0FITm9Z
WEJsQUdKdmVBQlVkMjhnWTJ4MWMzUmxjbk1nYm1GdFpXUWdKWE1nTFNCMGFHVWdjMlZqYjI1a0lI
ZHBiR3dnWW1VZ2FXZHViM0psWkFvQWJXRndUZ0JCUld4cFp3QkJZV04xZEdVQVFXTnBjbU1BUVdk
eVlYWmxBRUZzY0doaEFFRnlhVzVuQUVGMGFXeGtaUUJCZFcxc0FFSmxkR0VBUTJObFpHbHNBRU5v
YVFCRVlXZG5aWElBUkdWc2RHRUFSVlJJQUVWaFkzVjBaUUJGWTJseVl3QkZaM0poZG1VQVJYQnph
V3h2YmdCRmRHRUFSWFZ0YkFCSFlXMXRZUUJKWVdOMWRHVUFTV05wY21NQVNXZHlZWFpsQUVsdmRH
RUFTWFZ0YkFCTFlYQndZUUJNWVcxaVpHRUFUWFVBVG5ScGJHUmxBRTUxQUU5RmJHbG5BRTloWTNW
MFpRQlBZMmx5WXdCUFozSmhkbVVBVDIxbFoyRUFUMjFwWTNKdmJnQlBjMnhoYzJnQVQzUnBiR1Js
QUU5MWJXd0FVR2hwQUZCcEFGQnlhVzFsQUZCemFRQlNhRzhBVTJOaGNtOXVBRk5wWjIxaEFGUklU
MUpPQUZSaGRRQlVhR1YwWVFCVllXTjFkR1VBVldOcGNtTUFWV2R5WVhabEFGVndjMmxzYjI0QVZY
VnRiQUJZYVFCWllXTjFkR1VBV1hWdGJBQmFaWFJoQUdGaFkzVjBaUUJoWTJseVl3QmhZM1YwWlFC
aFpXeHBad0JoWjNKaGRtVUFZV3hsWm5ONWJRQmhiSEJvWVFCaGJYQUFZVzVrQUdGdVp3QmhjbWx1
WndCaGMzbHRjQUJoZEdsc1pHVUFZWFZ0YkFCaVpIRjFid0JpWlhSaEFHSnlkbUpoY2dCaWRXeHNB
R05oY0FCalkyVmthV3dBWTJWa2FXd0FZMlZ1ZEFCamFHa0FZMmx5WXdCamJIVmljd0JqYjI1bkFH
TnZjSGtBWTNKaGNuSUFZM1Z3QUdOMWNuSmxiZ0JrUVhKeUFHUmhaMmRsY2dCa1lYSnlBR1JsWndC
a1pXeDBZUUJrYVdGdGN3QmthWFpwWkdVQVpXRmpkWFJsQUdWamFYSmpBR1ZuY21GMlpRQmxiWEIw
ZVFCbGJYTndBR1Z1YzNBQVpYQnphV3h2YmdCbGNYVnBkZ0JsZEdFQVpYUm9BR1YxYld3QVpYVnli
d0JsZUdsemRBQm1ibTltQUdadmNtRnNiQUJtY21Gak1USUFabkpoWXpFMEFHWnlZV016TkFCbWNt
RnpiQUJuWVcxdFlRQm5aUUJuZEFCb1FYSnlBR2hoY25JQWFHVmhjblJ6QUdobGJHeHBjQUJwWVdO
MWRHVUFhV05wY21NQWFXVjRZMndBYVdkeVlYWmxBR2x0WVdkbEFHbHVabWx1QUdsdWRBQnBiM1Jo
QUdseGRXVnpkQUJwYzJsdUFHbDFiV3dBYTJGd2NHRUFiRUZ5Y2dCc1lXMWlaR0VBYkdGdVp3QnNZ
WEYxYndCc1lYSnlBR3hqWldsc0FHeGtjWFZ2QUd4bEFHeG1iRzl2Y2dCc2IzZGhjM1FBYkc5NkFH
eHliUUJzYzJGeGRXOEFiSE54ZFc4QWJIUUFiV0ZqY2dCdFpHRnphQUJ0YVdOeWJ3QnRhV1JrYjNR
QWJYVUFibUZpYkdFQWJtSnpjQUJ1WkdGemFBQnVaUUJ1YVFCdWIzUUFibTkwYVc0QWJuTjFZZ0J1
ZEdsc1pHVUFiblVBYjJGamRYUmxBRzlqYVhKakFHOWxiR2xuQUc5bmNtRjJaUUJ2YkdsdVpRQnZi
V1ZuWVFCdmJXbGpjbTl1QUc5d2JIVnpBRzl5QUc5eVpHWUFiM0prYlFCdmMyeGhjMmdBYjNScGJH
UmxBRzkwYVcxbGN3QnZkVzFzQUhCaGNtRUFjR0Z5ZEFCd1pYSnRhV3dBY0dWeWNBQndhR2tBY0dr
QWNHbDJBSEJzZFhOdGJnQndiM1Z1WkFCd2NtbHRaUUJ3Y205a0FIQnliM0FBY0hOcEFIRjFiM1FB
Y2tGeWNnQnlZV1JwWXdCeVlXNW5BSEpoY1hWdkFISmhjbklBY21ObGFXd0FjbVJ4ZFc4QWNtVmhi
QUJ5WldjQWNtWnNiMjl5QUhKb2J3QnliRzBBY25OaGNYVnZBSEp6Y1hWdkFITmljWFZ2QUhOallY
SnZiZ0J6Wkc5MEFITmxZM1FBYzJoNUFITnBaMjFoQUhOcFoyMWhaZ0J6YVcwQWMzQmhaR1Z6QUhO
MVlnQnpkV0psQUhOMWJRQnpkWEFBYzNWd01RQnpkWEF5QUhOMWNETUFjM1Z3WlFCemVteHBad0Iw
WVhVQWRHaGxjbVUwQUhSb1pYUmhBSFJvWlhSaGMzbHRBSFJvYVc1emNBQjBhRzl5YmdCMGFXeGta
UUIwYVcxbGN3QjBjbUZrWlFCMVFYSnlBSFZoWTNWMFpRQjFZWEp5QUhWamFYSmpBSFZuY21GMlpR
QjFiV3dBZFhCemFXZ0FkWEJ6YVd4dmJnQjFkVzFzQUhkbGFXVnljQUI0YVFCNVlXTjFkR1VBZVdW
dUFIbDFiV3dBZW1WMFlRQjZkMm9BZW5kdWFnQlZWRVk0SUdOdlpHVnpJRDRnTkNCaWVYUmxjeUJo
Y21VZ2JtOTBJR04xY25KbGJuUnNlU0J6ZFhCd2IzSjBaV1FnS0dkeVlYQm9JQ1Z6S1NBdElIUnla
V0YwWldRZ1lYTWdUR0YwYVc0dE1TNGdVR1Z5YUdGd2N5QWlMVWRqYUdGeWMyVjBQV3hoZEdsdU1T
SWdhWE1nYm1WbFpHVmtQd29BU1c1MllXeHBaQ0FsWkMxaWVYUmxJRlZVUmpnZ1ptOTFibVFnYVc0
Z2FXNXdkWFFnYjJZZ1ozSmhjR2dnSlhNZ0xTQjBjbVZoZEdWa0lHRnpJRXhoZEdsdUxURXVJRkJs
Y21oaGNITWdJaTFIWTJoaGNuTmxkRDFzWVhScGJqRWlJR2x6SUc1bFpXUmxaRDhLQUdKNkxuTnBl
bVVBYjNabGNteGhjRjlpWlhwcFpYSUFkWEoyWldRQWIyMXdiM1Z1WkFCaGJITmxBR2x1WlFCdmJt
VUFid0J5ZEdodkFHOXNlV3hwYm1VQWNHeHBibVVBY25WbEFHVnpBRlZ1YTI1dmQyNGdJbk53Ykds
dVpYTWlJSFpoYkhWbE9pQWlKWE1pSUMwZ2FXZHViM0psWkFvQWMzQnNhVzVsY3dCdlpHSUFUM0ow
YUc5bmIyNWhiQ0JsWkdkbGN5QmtieUJ1YjNRZ1kzVnljbVZ1ZEd4NUlHaGhibVJzWlNCbFpHZGxJ
R3hoWW1Wc2N5NGdWSEo1SUhWemFXNW5JSGhzWVdKbGJITXVDZ0J2Y25Sb2J5QWxjeUFsY3dvQVky
aGhibWtBYjNKMGFHOHVZd0JqYUdGdVUyVmhjbU5vQUdOd0FDVWxJVkJUTFVGa2IySmxMVEl1TUFv
bEpTVWxRbTkxYm1ScGJtZENiM2c2SUNoaGRHVnVaQ2tLTDNCdmFXNTBJSHNLSUNBdldTQmxlR05v
SUdSbFpnb2dJQzlZSUdWNFkyZ2daR1ZtQ2lBZ2JtVjNjR0YwYUFvZ0lGZ2dXU0F6SURBZ016WXdJ
R0Z5WXlCbWFXeHNDbjBnWkdWbUNpOWpaV3hzSUhzS0lDQXZXU0JsZUdOb0lHUmxaZ29nSUM5WUlH
VjRZMmdnWkdWbUNpQWdMM2tnWlhoamFDQmtaV1lLSUNBdmVDQmxlR05vSUdSbFpnb2dJRzVsZDNC
aGRHZ0tJQ0I0SUhrZ2JXOTJaWFJ2Q2lBZ2VDQlpJR3hwYm1WMGJ3b2dJRmdnV1NCc2FXNWxkRzhL
SUNCWUlIa2diR2x1WlhSdkNpQWdZMnh2YzJWd1lYUm9JSE4wY205clpRcDlJR1JsWmdvdmJtOWta
U0I3Q2lBdmRTQmxlR05vSUdSbFpnb2dMM0lnWlhoamFDQmtaV1lLSUM5a0lHVjRZMmdnWkdWbUNp
QXZiQ0JsZUdOb0lHUmxaZ29nYm1WM2NHRjBhQ0JzSUdRZ2JXOTJaWFJ2Q2lCeUlHUWdiR2x1WlhS
dklISWdkU0JzYVc1bGRHOGdiQ0IxSUd4cGJtVjBid29nWTJ4dmMyVndZWFJvSUdacGJHd0tmU0Jr
WldZS0NnQWxaQ0FsWkNCMGNtRnVjMnhoZEdVS0FEQXVPQ0F3TGpnZ01DNDRJSE5sZEhKblltTnZi
Rzl5Q2dCemFHOTNjR0ZuWlFvbEpTVWxWSEpoYVd4bGNnb2xKU1VsUW05MWJtUnBibWRDYjNnNklD
VmtJQ1ZrSUNWa0lDVmtDZ0J1Wlhkd1lYUm9JQ1ZrSUNWa0lHMXZkbVYwYndvQUpXUWdKV1FnYkds
dVpYUnZDZ0FsWkNBbFpDQnNhVzVsZEc4Z2MzUnliMnRsQ2dCamFHRnVibVZzSUNWa0lDZ2xaaXds
WmlrS0FDQXRQZ29BSUNBZ0lDQUFLQ2dsWml3bFppa3NLQ1ZtTENWbUtTa2dKWE1nSlhNQVFsOVNT
VWRJVkFCQ1gwUlBWMDRBUWw5TVJVWlVBRUpmVlZBQVFsOU9UMFJGQUhObFp3QnVaWGgwWDNObFp3
QmtaV05wWkdWZmNHOXBiblFBYVc1amIyMXdZWEpoWW14bElITmxaMjFsYm5SeklDRWhJQzB0SUVG
aWIzSjBhVzVuQ2dCek1TMCtZMjl0YlY5amIyOXlaRDA5Y3pJdFBtTnZiVzFmWTI5dmNtUUFhWE5m
Y0dGeVlXeHNaV3dBWjNKaGNHZ2dSeUI3Q2dBZ2JtOWtaVnR6YUdGd1pUMXdiMmx1ZEYwS0FDQWdK
V1FnVzNCdmN6MGlKV1FzSldRaVhRb0FJQ0FsWkNBdExTQWxaRnRzWlc0OUlpVm1JbDBLQUgwS0FH
TnZiRzl5SUNWekFDVnpJR2x6SUc1dmRDQmhJR3R1YjNkdUlHTnZiRzl5TGdvQVpYSnliM0lnYVc0
Z1kyOXNlR3hoZEdVb0tRb0FjMjlzYVdRQWFXNTJhWE5wWW14bEFHSnZiR1FBYzJWMGJHbHVaWGRw
WkhSb0FHWnBiR3hsWkFCMWJtWnBiR3hsWkFCMFlYQmxjbVZrQUdkMmNtVnVaR1Z5WDNObGRGOXpk
SGxzWlRvZ2RXNXpkWEJ3YjNKMFpXUWdjM1I1YkdVZ0pYTWdMU0JwWjI1dmNtbHVad29BWjNaeVpX
NWtaWEl1WXdCbmRuSmxibVJsY2w5MWMyVnljMmhoY0dVQWJtRnRaUUJ1WVcxbFd6QmRBR0p2ZEdn
QWFtOWlBR2QyYkc5aFpHbHRZV2RsTG1NQVozWnNiMkZrYVcxaFoyVUFkWE1BZFhNdFBtNWhiV1VB
ZFhNdFBtNWhiV1ZiTUYwQVRtOGdiRzloWkdsdFlXZGxJSEJzZFdkcGJpQm1iM0lnSWlWeklnb0FV
UUJNWldaMEFFdFFYMHhsWm5RQVVtbG5hSFFBUzFCZlVtbG5hSFFBVlhBQVMxQmZWWEFBUkc5M2Jn
QkxVRjlFYjNkdUFIQnNkWE1BUzFCZlFXUmtBRzFwYm5WekFFdFFYMU4xWW5SeVlXTjBBRVlBWldS
blpRQjBZV2xzY0c5eWRBQm9aV0ZrY0c5eWRBQnJaWGtBVlZKTUFHNXZaR1VBWkdsbmNtRndhQUJu
Y21Gd2FBQnpkV0puY21Gd2FBQmZURlJZWDJ4cFluSmhjbmtBZEdWNGRHeGhlVzkxZEFCdlltcHdM
VDVzWW13QWVHeGhZbVZzY3k1akFIaHNZV1JxZFhOMEFIaHNhVzUwWlhKelpXTjBhVzl1Y3dCc2ND
QWhQU0JqYkhBQVoyVjBhVzUwY25ONGFRQnZZbXB3TVMwK2Mzb3VlQ0E5UFNBd0lDWW1JRzlpYW5B
eExUNXplaTU1SUQwOUlEQUFiR0pzWlc1amJHOXphVzVuQUhad0FIaHNhR1I0ZFc1c2IyRmtBSE5w
ZW1VOVBXWnlaV1ZrQUhKbFkzUXVZbTkxYm1SaGNubGJNbDBnUENCSlRsUmZUVUZZQUc5aWFuQnNj
RzFyY3dCeVpXTjBMbUp2ZFc1a1lYSjVXek5kSUR3Z1NVNVVYMDFCV0FCdmRYUWdiMllnYldWdGIz
SjVDZ0FqSlRKNEpUSjRKVEo0SlRKNEFDVnNaaVZzWmlWc1pnQXZZV05qWlc1ME15OHhBQzloWTJO
bGJuUXpMeklBTDJGalkyVnVkRE12TXdBdllXTmpaVzUwTkM4eEFDOWhZMk5sYm5RMEx6SUFMMkZq
WTJWdWREUXZNd0F2WVdOalpXNTBOQzgwQUM5aFkyTmxiblExTHpFQUwyRmpZMlZ1ZERVdk1nQXZZ
V05qWlc1ME5TOHpBQzloWTJObGJuUTFMelFBTDJGalkyVnVkRFV2TlFBdllXTmpaVzUwTmk4eEFD
OWhZMk5sYm5RMkx6SUFMMkZqWTJWdWREWXZNd0F2WVdOalpXNTBOaTgwQUM5aFkyTmxiblEyTHpV
QUwyRmpZMlZ1ZERZdk5nQXZZV05qWlc1ME55OHhBQzloWTJObGJuUTNMeklBTDJGalkyVnVkRGN2
TXdBdllXTmpaVzUwTnk4MEFDOWhZMk5sYm5RM0x6VUFMMkZqWTJWdWREY3ZOZ0F2WVdOalpXNTBO
eTgzQUM5aFkyTmxiblE0THpFQUwyRmpZMlZ1ZERndk1nQXZZV05qWlc1ME9DOHpBQzloWTJObGJu
UTRMelFBTDJGalkyVnVkRGd2TlFBdllXTmpaVzUwT0M4MkFDOWhZMk5sYm5RNEx6Y0FMMkZqWTJW
dWREZ3ZPQUF2WW14MVpYTXpMekVBTDJKc2RXVnpNeTh5QUM5aWJIVmxjek12TXdBdllteDFaWE0w
THpFQUwySnNkV1Z6TkM4eUFDOWliSFZsY3pRdk13QXZZbXgxWlhNMEx6UUFMMkpzZFdWek5TOHhB
QzlpYkhWbGN6VXZNZ0F2WW14MVpYTTFMek1BTDJKc2RXVnpOUzgwQUM5aWJIVmxjelV2TlFBdllt
eDFaWE0yTHpFQUwySnNkV1Z6Tmk4eUFDOWliSFZsY3pZdk13QXZZbXgxWlhNMkx6UUFMMkpzZFdW
ek5pODFBQzlpYkhWbGN6WXZOZ0F2WW14MVpYTTNMekVBTDJKc2RXVnpOeTh5QUM5aWJIVmxjemN2
TXdBdllteDFaWE0zTHpRQUwySnNkV1Z6Tnk4MUFDOWliSFZsY3pjdk5nQXZZbXgxWlhNM0x6Y0FM
MkpzZFdWek9DOHhBQzlpYkhWbGN6Z3ZNZ0F2WW14MVpYTTRMek1BTDJKc2RXVnpPQzgwQUM5aWJI
Vmxjemd2TlFBdllteDFaWE00THpZQUwySnNkV1Z6T0M4M0FDOWliSFZsY3pndk9BQXZZbXgxWlhN
NUx6RUFMMkpzZFdWek9TOHlBQzlpYkhWbGN6a3ZNd0F2WW14MVpYTTVMelFBTDJKc2RXVnpPUzgx
QUM5aWJIVmxjemt2TmdBdllteDFaWE01THpjQUwySnNkV1Z6T1M4NEFDOWliSFZsY3prdk9RQXZZ
bkppWnpFd0x6RUFMMkp5WW1jeE1DOHhNQUF2WW5KaVp6RXdMeklBTDJKeVltY3hNQzh6QUM5aWNt
Sm5NVEF2TkFBdlluSmlaekV3THpVQUwySnlZbWN4TUM4MkFDOWljbUpuTVRBdk53QXZZbkppWnpF
d0x6Z0FMMkp5WW1jeE1DODVBQzlpY21Kbk1URXZNUUF2WW5KaVp6RXhMekV3QUM5aWNtSm5NVEV2
TVRFQUwySnlZbWN4TVM4eUFDOWljbUpuTVRFdk13QXZZbkppWnpFeEx6UUFMMkp5WW1jeE1TODFB
QzlpY21Kbk1URXZOZ0F2WW5KaVp6RXhMemNBTDJKeVltY3hNUzg0QUM5aWNtSm5NVEV2T1FBdllu
Smlaek12TVFBdlluSmlaek12TWdBdlluSmlaek12TXdBdlluSmlaelF2TVFBdlluSmlaelF2TWdB
dlluSmlaelF2TXdBdlluSmlaelF2TkFBdlluSmlaelV2TVFBdlluSmlaelV2TWdBdlluSmlaelV2
TXdBdlluSmlaelV2TkFBdlluSmlaelV2TlFBdlluSmlaell2TVFBdlluSmlaell2TWdBdlluSmla
ell2TXdBdlluSmlaell2TkFBdlluSmlaell2TlFBdlluSmlaell2TmdBdlluSmlaemN2TVFBdllu
SmlaemN2TWdBdlluSmlaemN2TXdBdlluSmlaemN2TkFBdlluSmlaemN2TlFBdlluSmlaemN2TmdB
dlluSmlaemN2TndBdlluSmlaemd2TVFBdlluSmlaemd2TWdBdlluSmlaemd2TXdBdlluSmlaemd2
TkFBdlluSmlaemd2TlFBdlluSmlaemd2TmdBdlluSmlaemd2TndBdlluSmlaemd2T0FBdlluSmla
emt2TVFBdlluSmlaemt2TWdBdlluSmlaemt2TXdBdlluSmlaemt2TkFBdlluSmlaemt2TlFBdllu
Smlaemt2TmdBdlluSmlaemt2TndBdlluSmlaemt2T0FBdlluSmlaemt2T1FBdlluVm5iak12TVFB
dlluVm5iak12TWdBdlluVm5iak12TXdBdlluVm5ialF2TVFBdlluVm5ialF2TWdBdlluVm5ialF2
TXdBdlluVm5ialF2TkFBdlluVm5ialV2TVFBdlluVm5ialV2TWdBdlluVm5ialV2TXdBdlluVm5i
alV2TkFBdlluVm5ialV2TlFBdlluVm5iall2TVFBdlluVm5iall2TWdBdlluVm5iall2TXdBdllu
Vm5iall2TkFBdlluVm5iall2TlFBdlluVm5iall2TmdBdlluVm5iamN2TVFBdlluVm5iamN2TWdB
dlluVm5iamN2TXdBdlluVm5iamN2TkFBdlluVm5iamN2TlFBdlluVm5iamN2TmdBdlluVm5iamN2
TndBdlluVm5iamd2TVFBdlluVm5iamd2TWdBdlluVm5iamd2TXdBdlluVm5iamd2TkFBdlluVm5i
amd2TlFBdlluVm5iamd2TmdBdlluVm5iamd2TndBdlluVm5iamd2T0FBdlluVm5iamt2TVFBdllu
Vm5iamt2TWdBdlluVm5iamt2TXdBdlluVm5iamt2TkFBdlluVm5iamt2TlFBdlluVm5iamt2TmdB
dlluVm5iamt2TndBdlluVm5iamt2T0FBdlluVm5iamt2T1FBdlluVndkVE12TVFBdlluVndkVE12
TWdBdlluVndkVE12TXdBdlluVndkVFF2TVFBdlluVndkVFF2TWdBdlluVndkVFF2TXdBdlluVndk
VFF2TkFBdlluVndkVFV2TVFBdlluVndkVFV2TWdBdlluVndkVFV2TXdBdlluVndkVFV2TkFBdllu
VndkVFV2TlFBdlluVndkVFl2TVFBdlluVndkVFl2TWdBdlluVndkVFl2TXdBdlluVndkVFl2TkFB
dlluVndkVFl2TlFBdlluVndkVFl2TmdBdlluVndkVGN2TVFBdlluVndkVGN2TWdBdlluVndkVGN2
TXdBdlluVndkVGN2TkFBdlluVndkVGN2TlFBdlluVndkVGN2TmdBdlluVndkVGN2TndBdlluVndk
VGd2TVFBdlluVndkVGd2TWdBdlluVndkVGd2TXdBdlluVndkVGd2TkFBdlluVndkVGd2TlFBdllu
VndkVGd2TmdBdlluVndkVGd2TndBdlluVndkVGd2T0FBdlluVndkVGt2TVFBdlluVndkVGt2TWdB
dlluVndkVGt2TXdBdlluVndkVGt2TkFBdlluVndkVGt2TlFBdlluVndkVGt2TmdBdlluVndkVGt2
TndBdlluVndkVGt2T0FBdlluVndkVGt2T1FBdlpHRnlhekl6THpFQUwyUmhjbXN5TXk4eUFDOWtZ
WEpyTWpNdk13QXZaR0Z5YXpJMEx6RUFMMlJoY21zeU5DOHlBQzlrWVhKck1qUXZNd0F2WkdGeWF6
STBMelFBTDJSaGNtc3lOUzh4QUM5a1lYSnJNalV2TWdBdlpHRnlhekkxTHpNQUwyUmhjbXN5TlM4
MEFDOWtZWEpyTWpVdk5RQXZaR0Z5YXpJMkx6RUFMMlJoY21zeU5pOHlBQzlrWVhKck1qWXZNd0F2
WkdGeWF6STJMelFBTDJSaGNtc3lOaTgxQUM5a1lYSnJNall2TmdBdlpHRnlhekkzTHpFQUwyUmhj
bXN5Tnk4eUFDOWtZWEpyTWpjdk13QXZaR0Z5YXpJM0x6UUFMMlJoY21zeU55ODFBQzlrWVhKck1q
Y3ZOZ0F2WkdGeWF6STNMemNBTDJSaGNtc3lPQzh4QUM5a1lYSnJNamd2TWdBdlpHRnlhekk0THpN
QUwyUmhjbXN5T0M4MEFDOWtZWEpyTWpndk5RQXZaR0Z5YXpJNEx6WUFMMlJoY21zeU9DODNBQzlr
WVhKck1qZ3ZPQUF2WjI1aWRUTXZNUUF2WjI1aWRUTXZNZ0F2WjI1aWRUTXZNd0F2WjI1aWRUUXZN
UUF2WjI1aWRUUXZNZ0F2WjI1aWRUUXZNd0F2WjI1aWRUUXZOQUF2WjI1aWRUVXZNUUF2WjI1aWRU
VXZNZ0F2WjI1aWRUVXZNd0F2WjI1aWRUVXZOQUF2WjI1aWRUVXZOUUF2WjI1aWRUWXZNUUF2WjI1
aWRUWXZNZ0F2WjI1aWRUWXZNd0F2WjI1aWRUWXZOQUF2WjI1aWRUWXZOUUF2WjI1aWRUWXZOZ0F2
WjI1aWRUY3ZNUUF2WjI1aWRUY3ZNZ0F2WjI1aWRUY3ZNd0F2WjI1aWRUY3ZOQUF2WjI1aWRUY3ZO
UUF2WjI1aWRUY3ZOZ0F2WjI1aWRUY3ZOd0F2WjI1aWRUZ3ZNUUF2WjI1aWRUZ3ZNZ0F2WjI1aWRU
Z3ZNd0F2WjI1aWRUZ3ZOQUF2WjI1aWRUZ3ZOUUF2WjI1aWRUZ3ZOZ0F2WjI1aWRUZ3ZOd0F2WjI1
aWRUZ3ZPQUF2WjI1aWRUa3ZNUUF2WjI1aWRUa3ZNZ0F2WjI1aWRUa3ZNd0F2WjI1aWRUa3ZOQUF2
WjI1aWRUa3ZOUUF2WjI1aWRUa3ZOZ0F2WjI1aWRUa3ZOd0F2WjI1aWRUa3ZPQUF2WjI1aWRUa3ZP
UUF2WjNKbFpXNXpNeTh4QUM5bmNtVmxibk16THpJQUwyZHlaV1Z1Y3pNdk13QXZaM0psWlc1ek5D
OHhBQzluY21WbGJuTTBMeklBTDJkeVpXVnVjelF2TXdBdlozSmxaVzV6TkM4MEFDOW5jbVZsYm5N
MUx6RUFMMmR5WldWdWN6VXZNZ0F2WjNKbFpXNXpOUzh6QUM5bmNtVmxibk0xTHpRQUwyZHlaV1Z1
Y3pVdk5RQXZaM0psWlc1ek5pOHhBQzluY21WbGJuTTJMeklBTDJkeVpXVnVjell2TXdBdlozSmxa
VzV6Tmk4MEFDOW5jbVZsYm5NMkx6VUFMMmR5WldWdWN6WXZOZ0F2WjNKbFpXNXpOeTh4QUM5bmNt
Vmxibk0zTHpJQUwyZHlaV1Z1Y3pjdk13QXZaM0psWlc1ek55ODBBQzluY21WbGJuTTNMelVBTDJk
eVpXVnVjemN2TmdBdlozSmxaVzV6Tnk4M0FDOW5jbVZsYm5NNEx6RUFMMmR5WldWdWN6Z3ZNZ0F2
WjNKbFpXNXpPQzh6QUM5bmNtVmxibk00THpRQUwyZHlaV1Z1Y3pndk5RQXZaM0psWlc1ek9DODJB
QzluY21WbGJuTTRMemNBTDJkeVpXVnVjemd2T0FBdlozSmxaVzV6T1M4eEFDOW5jbVZsYm5NNUx6
SUFMMmR5WldWdWN6a3ZNd0F2WjNKbFpXNXpPUzgwQUM5bmNtVmxibk01THpVQUwyZHlaV1Z1Y3pr
dk5nQXZaM0psWlc1ek9TODNBQzluY21WbGJuTTVMemdBTDJkeVpXVnVjemt2T1FBdlozSmxlWE16
THpFQUwyZHlaWGx6TXk4eUFDOW5jbVY1Y3pNdk13QXZaM0psZVhNMEx6RUFMMmR5Wlhsek5DOHlB
QzluY21WNWN6UXZNd0F2WjNKbGVYTTBMelFBTDJkeVpYbHpOUzh4QUM5bmNtVjVjelV2TWdBdloz
SmxlWE0xTHpNQUwyZHlaWGx6TlM4MEFDOW5jbVY1Y3pVdk5RQXZaM0psZVhNMkx6RUFMMmR5Wlhs
ek5pOHlBQzluY21WNWN6WXZNd0F2WjNKbGVYTTJMelFBTDJkeVpYbHpOaTgxQUM5bmNtVjVjell2
TmdBdlozSmxlWE0zTHpFQUwyZHlaWGx6Tnk4eUFDOW5jbVY1Y3pjdk13QXZaM0psZVhNM0x6UUFM
MmR5Wlhsek55ODFBQzluY21WNWN6Y3ZOZ0F2WjNKbGVYTTNMemNBTDJkeVpYbHpPQzh4QUM5bmNt
VjVjemd2TWdBdlozSmxlWE00THpNQUwyZHlaWGx6T0M4MEFDOW5jbVY1Y3pndk5RQXZaM0psZVhN
NEx6WUFMMmR5Wlhsek9DODNBQzluY21WNWN6Z3ZPQUF2WjNKbGVYTTVMekVBTDJkeVpYbHpPUzh5
QUM5bmNtVjVjemt2TXdBdlozSmxlWE01THpRQUwyZHlaWGx6T1M4MUFDOW5jbVY1Y3prdk5nQXZa
M0psZVhNNUx6Y0FMMmR5Wlhsek9TODRBQzluY21WNWN6a3ZPUUF2YjNKaGJtZGxjek12TVFBdmIz
SmhibWRsY3pNdk1nQXZiM0poYm1kbGN6TXZNd0F2YjNKaGJtZGxjelF2TVFBdmIzSmhibWRsY3pR
dk1nQXZiM0poYm1kbGN6UXZNd0F2YjNKaGJtZGxjelF2TkFBdmIzSmhibWRsY3pVdk1RQXZiM0po
Ym1kbGN6VXZNZ0F2YjNKaGJtZGxjelV2TXdBdmIzSmhibWRsY3pVdk5BQXZiM0poYm1kbGN6VXZO
UUF2YjNKaGJtZGxjell2TVFBdmIzSmhibWRsY3pZdk1nQXZiM0poYm1kbGN6WXZNd0F2YjNKaGJt
ZGxjell2TkFBdmIzSmhibWRsY3pZdk5RQXZiM0poYm1kbGN6WXZOZ0F2YjNKaGJtZGxjemN2TVFB
dmIzSmhibWRsY3pjdk1nQXZiM0poYm1kbGN6Y3ZNd0F2YjNKaGJtZGxjemN2TkFBdmIzSmhibWRs
Y3pjdk5RQXZiM0poYm1kbGN6Y3ZOZ0F2YjNKaGJtZGxjemN2TndBdmIzSmhibWRsY3pndk1RQXZi
M0poYm1kbGN6Z3ZNZ0F2YjNKaGJtZGxjemd2TXdBdmIzSmhibWRsY3pndk5BQXZiM0poYm1kbGN6
Z3ZOUUF2YjNKaGJtZGxjemd2TmdBdmIzSmhibWRsY3pndk53QXZiM0poYm1kbGN6Z3ZPQUF2YjNK
aGJtZGxjemt2TVFBdmIzSmhibWRsY3prdk1nQXZiM0poYm1kbGN6a3ZNd0F2YjNKaGJtZGxjemt2
TkFBdmIzSmhibWRsY3prdk5RQXZiM0poYm1kbGN6a3ZOZ0F2YjNKaGJtZGxjemt2TndBdmIzSmhi
bWRsY3prdk9BQXZiM0poYm1kbGN6a3ZPUUF2YjNKeVpETXZNUUF2YjNKeVpETXZNZ0F2YjNKeVpE
TXZNd0F2YjNKeVpEUXZNUUF2YjNKeVpEUXZNZ0F2YjNKeVpEUXZNd0F2YjNKeVpEUXZOQUF2YjNK
eVpEVXZNUUF2YjNKeVpEVXZNZ0F2YjNKeVpEVXZNd0F2YjNKeVpEVXZOQUF2YjNKeVpEVXZOUUF2
YjNKeVpEWXZNUUF2YjNKeVpEWXZNZ0F2YjNKeVpEWXZNd0F2YjNKeVpEWXZOQUF2YjNKeVpEWXZO
UUF2YjNKeVpEWXZOZ0F2YjNKeVpEY3ZNUUF2YjNKeVpEY3ZNZ0F2YjNKeVpEY3ZNd0F2YjNKeVpE
Y3ZOQUF2YjNKeVpEY3ZOUUF2YjNKeVpEY3ZOZ0F2YjNKeVpEY3ZOd0F2YjNKeVpEZ3ZNUUF2YjNK
eVpEZ3ZNZ0F2YjNKeVpEZ3ZNd0F2YjNKeVpEZ3ZOQUF2YjNKeVpEZ3ZOUUF2YjNKeVpEZ3ZOZ0F2
YjNKeVpEZ3ZOd0F2YjNKeVpEZ3ZPQUF2YjNKeVpEa3ZNUUF2YjNKeVpEa3ZNZ0F2YjNKeVpEa3ZN
d0F2YjNKeVpEa3ZOQUF2YjNKeVpEa3ZOUUF2YjNKeVpEa3ZOZ0F2YjNKeVpEa3ZOd0F2YjNKeVpE
a3ZPQUF2YjNKeVpEa3ZPUUF2Y0dGcGNtVmtNVEF2TVFBdmNHRnBjbVZrTVRBdk1UQUFMM0JoYVhK
bFpERXdMeklBTDNCaGFYSmxaREV3THpNQUwzQmhhWEpsWkRFd0x6UUFMM0JoYVhKbFpERXdMelVB
TDNCaGFYSmxaREV3THpZQUwzQmhhWEpsWkRFd0x6Y0FMM0JoYVhKbFpERXdMemdBTDNCaGFYSmxa
REV3THprQUwzQmhhWEpsWkRFeEx6RUFMM0JoYVhKbFpERXhMekV3QUM5d1lXbHlaV1F4TVM4eE1R
QXZjR0ZwY21Wa01URXZNZ0F2Y0dGcGNtVmtNVEV2TXdBdmNHRnBjbVZrTVRFdk5BQXZjR0ZwY21W
a01URXZOUUF2Y0dGcGNtVmtNVEV2TmdBdmNHRnBjbVZrTVRFdk53QXZjR0ZwY21Wa01URXZPQUF2
Y0dGcGNtVmtNVEV2T1FBdmNHRnBjbVZrTVRJdk1RQXZjR0ZwY21Wa01USXZNVEFBTDNCaGFYSmxa
REV5THpFeEFDOXdZV2x5WldReE1pOHhNZ0F2Y0dGcGNtVmtNVEl2TWdBdmNHRnBjbVZrTVRJdk13
QXZjR0ZwY21Wa01USXZOQUF2Y0dGcGNtVmtNVEl2TlFBdmNHRnBjbVZrTVRJdk5nQXZjR0ZwY21W
a01USXZOd0F2Y0dGcGNtVmtNVEl2T0FBdmNHRnBjbVZrTVRJdk9RQXZjR0ZwY21Wa015OHhBQzl3
WVdseVpXUXpMeklBTDNCaGFYSmxaRE12TXdBdmNHRnBjbVZrTkM4eEFDOXdZV2x5WldRMEx6SUFM
M0JoYVhKbFpEUXZNd0F2Y0dGcGNtVmtOQzgwQUM5d1lXbHlaV1ExTHpFQUwzQmhhWEpsWkRVdk1n
QXZjR0ZwY21Wa05TOHpBQzl3WVdseVpXUTFMelFBTDNCaGFYSmxaRFV2TlFBdmNHRnBjbVZrTmk4
eEFDOXdZV2x5WldRMkx6SUFMM0JoYVhKbFpEWXZNd0F2Y0dGcGNtVmtOaTgwQUM5d1lXbHlaV1Ey
THpVQUwzQmhhWEpsWkRZdk5nQXZjR0ZwY21Wa055OHhBQzl3WVdseVpXUTNMeklBTDNCaGFYSmxa
RGN2TXdBdmNHRnBjbVZrTnk4MEFDOXdZV2x5WldRM0x6VUFMM0JoYVhKbFpEY3ZOZ0F2Y0dGcGNt
VmtOeTgzQUM5d1lXbHlaV1E0THpFQUwzQmhhWEpsWkRndk1nQXZjR0ZwY21Wa09DOHpBQzl3WVds
eVpXUTRMelFBTDNCaGFYSmxaRGd2TlFBdmNHRnBjbVZrT0M4MkFDOXdZV2x5WldRNEx6Y0FMM0Jo
YVhKbFpEZ3ZPQUF2Y0dGcGNtVmtPUzh4QUM5d1lXbHlaV1E1THpJQUwzQmhhWEpsWkRrdk13QXZj
R0ZwY21Wa09TODBBQzl3WVdseVpXUTVMelVBTDNCaGFYSmxaRGt2TmdBdmNHRnBjbVZrT1M4M0FD
OXdZV2x5WldRNUx6Z0FMM0JoYVhKbFpEa3ZPUUF2Y0dGemRHVnNNVE12TVFBdmNHRnpkR1ZzTVRN
dk1nQXZjR0Z6ZEdWc01UTXZNd0F2Y0dGemRHVnNNVFF2TVFBdmNHRnpkR1ZzTVRRdk1nQXZjR0Z6
ZEdWc01UUXZNd0F2Y0dGemRHVnNNVFF2TkFBdmNHRnpkR1ZzTVRVdk1RQXZjR0Z6ZEdWc01UVXZN
Z0F2Y0dGemRHVnNNVFV2TXdBdmNHRnpkR1ZzTVRVdk5BQXZjR0Z6ZEdWc01UVXZOUUF2Y0dGemRH
VnNNVFl2TVFBdmNHRnpkR1ZzTVRZdk1nQXZjR0Z6ZEdWc01UWXZNd0F2Y0dGemRHVnNNVFl2TkFB
dmNHRnpkR1ZzTVRZdk5RQXZjR0Z6ZEdWc01UWXZOZ0F2Y0dGemRHVnNNVGN2TVFBdmNHRnpkR1Zz
TVRjdk1nQXZjR0Z6ZEdWc01UY3ZNd0F2Y0dGemRHVnNNVGN2TkFBdmNHRnpkR1ZzTVRjdk5RQXZj
R0Z6ZEdWc01UY3ZOZ0F2Y0dGemRHVnNNVGN2TndBdmNHRnpkR1ZzTVRndk1RQXZjR0Z6ZEdWc01U
Z3ZNZ0F2Y0dGemRHVnNNVGd2TXdBdmNHRnpkR1ZzTVRndk5BQXZjR0Z6ZEdWc01UZ3ZOUUF2Y0dG
emRHVnNNVGd2TmdBdmNHRnpkR1ZzTVRndk53QXZjR0Z6ZEdWc01UZ3ZPQUF2Y0dGemRHVnNNVGt2
TVFBdmNHRnpkR1ZzTVRrdk1nQXZjR0Z6ZEdWc01Ua3ZNd0F2Y0dGemRHVnNNVGt2TkFBdmNHRnpk
R1ZzTVRrdk5RQXZjR0Z6ZEdWc01Ua3ZOZ0F2Y0dGemRHVnNNVGt2TndBdmNHRnpkR1ZzTVRrdk9B
QXZjR0Z6ZEdWc01Ua3ZPUUF2Y0dGemRHVnNNak12TVFBdmNHRnpkR1ZzTWpNdk1nQXZjR0Z6ZEdW
c01qTXZNd0F2Y0dGemRHVnNNalF2TVFBdmNHRnpkR1ZzTWpRdk1nQXZjR0Z6ZEdWc01qUXZNd0F2
Y0dGemRHVnNNalF2TkFBdmNHRnpkR1ZzTWpVdk1RQXZjR0Z6ZEdWc01qVXZNZ0F2Y0dGemRHVnNN
alV2TXdBdmNHRnpkR1ZzTWpVdk5BQXZjR0Z6ZEdWc01qVXZOUUF2Y0dGemRHVnNNall2TVFBdmNH
RnpkR1ZzTWpZdk1nQXZjR0Z6ZEdWc01qWXZNd0F2Y0dGemRHVnNNall2TkFBdmNHRnpkR1ZzTWpZ
dk5RQXZjR0Z6ZEdWc01qWXZOZ0F2Y0dGemRHVnNNamN2TVFBdmNHRnpkR1ZzTWpjdk1nQXZjR0Z6
ZEdWc01qY3ZNd0F2Y0dGemRHVnNNamN2TkFBdmNHRnpkR1ZzTWpjdk5RQXZjR0Z6ZEdWc01qY3ZO
Z0F2Y0dGemRHVnNNamN2TndBdmNHRnpkR1ZzTWpndk1RQXZjR0Z6ZEdWc01qZ3ZNZ0F2Y0dGemRH
VnNNamd2TXdBdmNHRnpkR1ZzTWpndk5BQXZjR0Z6ZEdWc01qZ3ZOUUF2Y0dGemRHVnNNamd2TmdB
dmNHRnpkR1ZzTWpndk53QXZjR0Z6ZEdWc01qZ3ZPQUF2Y0dsNVp6RXdMekVBTDNCcGVXY3hNQzh4
TUFBdmNHbDVaekV3THpJQUwzQnBlV2N4TUM4ekFDOXdhWGxuTVRBdk5BQXZjR2w1WnpFd0x6VUFM
M0JwZVdjeE1DODJBQzl3YVhsbk1UQXZOd0F2Y0dsNVp6RXdMemdBTDNCcGVXY3hNQzg1QUM5d2FY
bG5NVEV2TVFBdmNHbDVaekV4THpFd0FDOXdhWGxuTVRFdk1URUFMM0JwZVdjeE1TOHlBQzl3YVhs
bk1URXZNd0F2Y0dsNVp6RXhMelFBTDNCcGVXY3hNUzgxQUM5d2FYbG5NVEV2TmdBdmNHbDVaekV4
THpjQUwzQnBlV2N4TVM4NEFDOXdhWGxuTVRFdk9RQXZjR2w1WnpNdk1RQXZjR2w1WnpNdk1nQXZj
R2w1WnpNdk13QXZjR2w1WnpRdk1RQXZjR2w1WnpRdk1nQXZjR2w1WnpRdk13QXZjR2w1WnpRdk5B
QXZjR2w1WnpVdk1RQXZjR2w1WnpVdk1nQXZjR2w1WnpVdk13QXZjR2w1WnpVdk5BQXZjR2w1WnpV
dk5RQXZjR2w1WnpZdk1RQXZjR2w1WnpZdk1nQXZjR2w1WnpZdk13QXZjR2w1WnpZdk5BQXZjR2w1
WnpZdk5RQXZjR2w1WnpZdk5nQXZjR2w1Wnpjdk1RQXZjR2w1Wnpjdk1nQXZjR2w1Wnpjdk13QXZj
R2w1Wnpjdk5BQXZjR2w1Wnpjdk5RQXZjR2w1Wnpjdk5nQXZjR2w1Wnpjdk53QXZjR2w1Wnpndk1R
QXZjR2w1Wnpndk1nQXZjR2w1Wnpndk13QXZjR2w1Wnpndk5BQXZjR2w1Wnpndk5RQXZjR2w1Wnpn
dk5nQXZjR2w1Wnpndk53QXZjR2w1Wnpndk9BQXZjR2w1Wnprdk1RQXZjR2w1Wnprdk1nQXZjR2w1
Wnprdk13QXZjR2w1Wnprdk5BQXZjR2w1Wnprdk5RQXZjR2w1Wnprdk5nQXZjR2w1Wnprdk53QXZj
R2w1Wnprdk9BQXZjR2w1Wnprdk9RQXZjSEpuYmpFd0x6RUFMM0J5WjI0eE1DOHhNQUF2Y0hKbmJq
RXdMeklBTDNCeVoyNHhNQzh6QUM5d2NtZHVNVEF2TkFBdmNISm5iakV3THpVQUwzQnlaMjR4TUM4
MkFDOXdjbWR1TVRBdk53QXZjSEpuYmpFd0x6Z0FMM0J5WjI0eE1DODVBQzl3Y21kdU1URXZNUUF2
Y0hKbmJqRXhMekV3QUM5d2NtZHVNVEV2TVRFQUwzQnlaMjR4TVM4eUFDOXdjbWR1TVRFdk13QXZj
SEpuYmpFeEx6UUFMM0J5WjI0eE1TODFBQzl3Y21kdU1URXZOZ0F2Y0hKbmJqRXhMemNBTDNCeVoy
NHhNUzg0QUM5d2NtZHVNVEV2T1FBdmNISm5iak12TVFBdmNISm5iak12TWdBdmNISm5iak12TXdB
dmNISm5ialF2TVFBdmNISm5ialF2TWdBdmNISm5ialF2TXdBdmNISm5ialF2TkFBdmNISm5ialV2
TVFBdmNISm5ialV2TWdBdmNISm5ialV2TXdBdmNISm5ialV2TkFBdmNISm5ialV2TlFBdmNISm5i
all2TVFBdmNISm5iall2TWdBdmNISm5iall2TXdBdmNISm5iall2TkFBdmNISm5iall2TlFBdmNI
Sm5iall2TmdBdmNISm5iamN2TVFBdmNISm5iamN2TWdBdmNISm5iamN2TXdBdmNISm5iamN2TkFB
dmNISm5iamN2TlFBdmNISm5iamN2TmdBdmNISm5iamN2TndBdmNISm5iamd2TVFBdmNISm5iamd2
TWdBdmNISm5iamd2TXdBdmNISm5iamd2TkFBdmNISm5iamd2TlFBdmNISm5iamd2TmdBdmNISm5i
amd2TndBdmNISm5iamd2T0FBdmNISm5iamt2TVFBdmNISm5iamt2TWdBdmNISm5iamt2TXdBdmNI
Sm5iamt2TkFBdmNISm5iamt2TlFBdmNISm5iamt2TmdBdmNISm5iamt2TndBdmNISm5iamt2T0FB
dmNISm5iamt2T1FBdmNIVmlkVE12TVFBdmNIVmlkVE12TWdBdmNIVmlkVE12TXdBdmNIVmlkVFF2
TVFBdmNIVmlkVFF2TWdBdmNIVmlkVFF2TXdBdmNIVmlkVFF2TkFBdmNIVmlkVFV2TVFBdmNIVmlk
VFV2TWdBdmNIVmlkVFV2TXdBdmNIVmlkVFV2TkFBdmNIVmlkVFV2TlFBdmNIVmlkVFl2TVFBdmNI
VmlkVFl2TWdBdmNIVmlkVFl2TXdBdmNIVmlkVFl2TkFBdmNIVmlkVFl2TlFBdmNIVmlkVFl2TmdB
dmNIVmlkVGN2TVFBdmNIVmlkVGN2TWdBdmNIVmlkVGN2TXdBdmNIVmlkVGN2TkFBdmNIVmlkVGN2
TlFBdmNIVmlkVGN2TmdBdmNIVmlkVGN2TndBdmNIVmlkVGd2TVFBdmNIVmlkVGd2TWdBdmNIVmlk
VGd2TXdBdmNIVmlkVGd2TkFBdmNIVmlkVGd2TlFBdmNIVmlkVGd2TmdBdmNIVmlkVGd2TndBdmNI
VmlkVGd2T0FBdmNIVmlkVGt2TVFBdmNIVmlkVGt2TWdBdmNIVmlkVGt2TXdBdmNIVmlkVGt2TkFB
dmNIVmlkVGt2TlFBdmNIVmlkVGt2TmdBdmNIVmlkVGt2TndBdmNIVmlkVGt2T0FBdmNIVmlkVGt2
T1FBdmNIVmlkV2R1TXk4eEFDOXdkV0oxWjI0ekx6SUFMM0IxWW5WbmJqTXZNd0F2Y0hWaWRXZHVO
Qzh4QUM5d2RXSjFaMjQwTHpJQUwzQjFZblZuYmpRdk13QXZjSFZpZFdkdU5DODBBQzl3ZFdKMVoy
NDFMekVBTDNCMVluVm5ialV2TWdBdmNIVmlkV2R1TlM4ekFDOXdkV0oxWjI0MUx6UUFMM0IxWW5W
bmJqVXZOUUF2Y0hWaWRXZHVOaTh4QUM5d2RXSjFaMjQyTHpJQUwzQjFZblZuYmpZdk13QXZjSFZp
ZFdkdU5pODBBQzl3ZFdKMVoyNDJMelVBTDNCMVluVm5iall2TmdBdmNIVmlkV2R1Tnk4eEFDOXdk
V0oxWjI0M0x6SUFMM0IxWW5WbmJqY3ZNd0F2Y0hWaWRXZHVOeTgwQUM5d2RXSjFaMjQzTHpVQUwz
QjFZblZuYmpjdk5nQXZjSFZpZFdkdU55ODNBQzl3ZFdKMVoyNDRMekVBTDNCMVluVm5iamd2TWdB
dmNIVmlkV2R1T0M4ekFDOXdkV0oxWjI0NEx6UUFMM0IxWW5WbmJqZ3ZOUUF2Y0hWaWRXZHVPQzgy
QUM5d2RXSjFaMjQ0THpjQUwzQjFZblZuYmpndk9BQXZjSFZpZFdkdU9TOHhBQzl3ZFdKMVoyNDVM
eklBTDNCMVluVm5iamt2TXdBdmNIVmlkV2R1T1M4MEFDOXdkV0oxWjI0NUx6VUFMM0IxWW5WbmJq
a3ZOZ0F2Y0hWaWRXZHVPUzgzQUM5d2RXSjFaMjQ1THpnQUwzQjFZblZuYmprdk9RQXZjSFZ2Y2pF
d0x6RUFMM0IxYjNJeE1DOHhNQUF2Y0hWdmNqRXdMeklBTDNCMWIzSXhNQzh6QUM5d2RXOXlNVEF2
TkFBdmNIVnZjakV3THpVQUwzQjFiM0l4TUM4MkFDOXdkVzl5TVRBdk53QXZjSFZ2Y2pFd0x6Z0FM
M0IxYjNJeE1DODVBQzl3ZFc5eU1URXZNUUF2Y0hWdmNqRXhMekV3QUM5d2RXOXlNVEV2TVRFQUwz
QjFiM0l4TVM4eUFDOXdkVzl5TVRFdk13QXZjSFZ2Y2pFeEx6UUFMM0IxYjNJeE1TODFBQzl3ZFc5
eU1URXZOZ0F2Y0hWdmNqRXhMemNBTDNCMWIzSXhNUzg0QUM5d2RXOXlNVEV2T1FBdmNIVnZjak12
TVFBdmNIVnZjak12TWdBdmNIVnZjak12TXdBdmNIVnZjalF2TVFBdmNIVnZjalF2TWdBdmNIVnZj
alF2TXdBdmNIVnZjalF2TkFBdmNIVnZjalV2TVFBdmNIVnZjalV2TWdBdmNIVnZjalV2TXdBdmNI
VnZjalV2TkFBdmNIVnZjalV2TlFBdmNIVnZjall2TVFBdmNIVnZjall2TWdBdmNIVnZjall2TXdB
dmNIVnZjall2TkFBdmNIVnZjall2TlFBdmNIVnZjall2TmdBdmNIVnZjamN2TVFBdmNIVnZjamN2
TWdBdmNIVnZjamN2TXdBdmNIVnZjamN2TkFBdmNIVnZjamN2TlFBdmNIVnZjamN2TmdBdmNIVnZj
amN2TndBdmNIVnZjamd2TVFBdmNIVnZjamd2TWdBdmNIVnZjamd2TXdBdmNIVnZjamd2TkFBdmNI
VnZjamd2TlFBdmNIVnZjamd2TmdBdmNIVnZjamd2TndBdmNIVnZjamd2T0FBdmNIVnZjamt2TVFB
dmNIVnZjamt2TWdBdmNIVnZjamt2TXdBdmNIVnZjamt2TkFBdmNIVnZjamt2TlFBdmNIVnZjamt2
TmdBdmNIVnZjamt2TndBdmNIVnZjamt2T0FBdmNIVnZjamt2T1FBdmNIVnlaRE12TVFBdmNIVnla
RE12TWdBdmNIVnlaRE12TXdBdmNIVnlaRFF2TVFBdmNIVnlaRFF2TWdBdmNIVnlaRFF2TXdBdmNI
VnlaRFF2TkFBdmNIVnlaRFV2TVFBdmNIVnlaRFV2TWdBdmNIVnlaRFV2TXdBdmNIVnlaRFV2TkFB
dmNIVnlaRFV2TlFBdmNIVnlaRFl2TVFBdmNIVnlaRFl2TWdBdmNIVnlaRFl2TXdBdmNIVnlaRFl2
TkFBdmNIVnlaRFl2TlFBdmNIVnlaRFl2TmdBdmNIVnlaRGN2TVFBdmNIVnlaRGN2TWdBdmNIVnla
RGN2TXdBdmNIVnlaRGN2TkFBdmNIVnlaRGN2TlFBdmNIVnlaRGN2TmdBdmNIVnlaRGN2TndBdmNI
VnlaRGd2TVFBdmNIVnlaRGd2TWdBdmNIVnlaRGd2TXdBdmNIVnlaRGd2TkFBdmNIVnlaRGd2TlFB
dmNIVnlaRGd2TmdBdmNIVnlaRGd2TndBdmNIVnlaRGd2T0FBdmNIVnlaRGt2TVFBdmNIVnlaRGt2
TWdBdmNIVnlaRGt2TXdBdmNIVnlaRGt2TkFBdmNIVnlaRGt2TlFBdmNIVnlaRGt2TmdBdmNIVnla
RGt2TndBdmNIVnlaRGt2T0FBdmNIVnlaRGt2T1FBdmNIVnljR3hsY3pNdk1RQXZjSFZ5Y0d4bGN6
TXZNZ0F2Y0hWeWNHeGxjek12TXdBdmNIVnljR3hsY3pRdk1RQXZjSFZ5Y0d4bGN6UXZNZ0F2Y0hW
eWNHeGxjelF2TXdBdmNIVnljR3hsY3pRdk5BQXZjSFZ5Y0d4bGN6VXZNUUF2Y0hWeWNHeGxjelV2
TWdBdmNIVnljR3hsY3pVdk13QXZjSFZ5Y0d4bGN6VXZOQUF2Y0hWeWNHeGxjelV2TlFBdmNIVnlj
R3hsY3pZdk1RQXZjSFZ5Y0d4bGN6WXZNZ0F2Y0hWeWNHeGxjell2TXdBdmNIVnljR3hsY3pZdk5B
QXZjSFZ5Y0d4bGN6WXZOUUF2Y0hWeWNHeGxjell2TmdBdmNIVnljR3hsY3pjdk1RQXZjSFZ5Y0d4
bGN6Y3ZNZ0F2Y0hWeWNHeGxjemN2TXdBdmNIVnljR3hsY3pjdk5BQXZjSFZ5Y0d4bGN6Y3ZOUUF2
Y0hWeWNHeGxjemN2TmdBdmNIVnljR3hsY3pjdk53QXZjSFZ5Y0d4bGN6Z3ZNUUF2Y0hWeWNHeGxj
emd2TWdBdmNIVnljR3hsY3pndk13QXZjSFZ5Y0d4bGN6Z3ZOQUF2Y0hWeWNHeGxjemd2TlFBdmNI
VnljR3hsY3pndk5nQXZjSFZ5Y0d4bGN6Z3ZOd0F2Y0hWeWNHeGxjemd2T0FBdmNIVnljR3hsY3pr
dk1RQXZjSFZ5Y0d4bGN6a3ZNZ0F2Y0hWeWNHeGxjemt2TXdBdmNIVnljR3hsY3prdk5BQXZjSFZ5
Y0d4bGN6a3ZOUUF2Y0hWeWNHeGxjemt2TmdBdmNIVnljR3hsY3prdk53QXZjSFZ5Y0d4bGN6a3ZP
QUF2Y0hWeWNHeGxjemt2T1FBdmNtUmlkVEV3THpFQUwzSmtZblV4TUM4eE1BQXZjbVJpZFRFd0x6
SUFMM0prWW5VeE1DOHpBQzl5WkdKMU1UQXZOQUF2Y21SaWRURXdMelVBTDNKa1luVXhNQzgyQUM5
eVpHSjFNVEF2TndBdmNtUmlkVEV3THpnQUwzSmtZblV4TUM4NUFDOXlaR0oxTVRFdk1RQXZjbVJp
ZFRFeEx6RXdBQzl5WkdKMU1URXZNVEVBTDNKa1luVXhNUzh5QUM5eVpHSjFNVEV2TXdBdmNtUmlk
VEV4THpRQUwzSmtZblV4TVM4MUFDOXlaR0oxTVRFdk5nQXZjbVJpZFRFeEx6Y0FMM0prWW5VeE1T
ODRBQzl5WkdKMU1URXZPUUF2Y21SaWRUTXZNUUF2Y21SaWRUTXZNZ0F2Y21SaWRUTXZNd0F2Y21S
aWRUUXZNUUF2Y21SaWRUUXZNZ0F2Y21SaWRUUXZNd0F2Y21SaWRUUXZOQUF2Y21SaWRUVXZNUUF2
Y21SaWRUVXZNZ0F2Y21SaWRUVXZNd0F2Y21SaWRUVXZOQUF2Y21SaWRUVXZOUUF2Y21SaWRUWXZN
UUF2Y21SaWRUWXZNZ0F2Y21SaWRUWXZNd0F2Y21SaWRUWXZOQUF2Y21SaWRUWXZOUUF2Y21SaWRU
WXZOZ0F2Y21SaWRUY3ZNUUF2Y21SaWRUY3ZNZ0F2Y21SaWRUY3ZNd0F2Y21SaWRUY3ZOQUF2Y21S
aWRUY3ZOUUF2Y21SaWRUY3ZOZ0F2Y21SaWRUY3ZOd0F2Y21SaWRUZ3ZNUUF2Y21SaWRUZ3ZNZ0F2
Y21SaWRUZ3ZNd0F2Y21SaWRUZ3ZOQUF2Y21SaWRUZ3ZOUUF2Y21SaWRUZ3ZOZ0F2Y21SaWRUZ3ZO
d0F2Y21SaWRUZ3ZPQUF2Y21SaWRUa3ZNUUF2Y21SaWRUa3ZNZ0F2Y21SaWRUa3ZNd0F2Y21SaWRU
a3ZOQUF2Y21SaWRUa3ZOUUF2Y21SaWRUa3ZOZ0F2Y21SaWRUa3ZOd0F2Y21SaWRUa3ZPQUF2Y21S
aWRUa3ZPUUF2Y21SbmVURXdMekVBTDNKa1oza3hNQzh4TUFBdmNtUm5lVEV3THpJQUwzSmtaM2t4
TUM4ekFDOXlaR2Q1TVRBdk5BQXZjbVJuZVRFd0x6VUFMM0prWjNreE1DODJBQzl5WkdkNU1UQXZO
d0F2Y21SbmVURXdMemdBTDNKa1oza3hNQzg1QUM5eVpHZDVNVEV2TVFBdmNtUm5lVEV4THpFd0FD
OXlaR2Q1TVRFdk1URUFMM0prWjNreE1TOHlBQzl5WkdkNU1URXZNd0F2Y21SbmVURXhMelFBTDNK
a1oza3hNUzgxQUM5eVpHZDVNVEV2TmdBdmNtUm5lVEV4THpjQUwzSmtaM2t4TVM4NEFDOXlaR2Q1
TVRFdk9RQXZjbVJuZVRNdk1RQXZjbVJuZVRNdk1nQXZjbVJuZVRNdk13QXZjbVJuZVRRdk1RQXZj
bVJuZVRRdk1nQXZjbVJuZVRRdk13QXZjbVJuZVRRdk5BQXZjbVJuZVRVdk1RQXZjbVJuZVRVdk1n
QXZjbVJuZVRVdk13QXZjbVJuZVRVdk5BQXZjbVJuZVRVdk5RQXZjbVJuZVRZdk1RQXZjbVJuZVRZ
dk1nQXZjbVJuZVRZdk13QXZjbVJuZVRZdk5BQXZjbVJuZVRZdk5RQXZjbVJuZVRZdk5nQXZjbVJu
ZVRjdk1RQXZjbVJuZVRjdk1nQXZjbVJuZVRjdk13QXZjbVJuZVRjdk5BQXZjbVJuZVRjdk5RQXZj
bVJuZVRjdk5nQXZjbVJuZVRjdk53QXZjbVJuZVRndk1RQXZjbVJuZVRndk1nQXZjbVJuZVRndk13
QXZjbVJuZVRndk5BQXZjbVJuZVRndk5RQXZjbVJuZVRndk5nQXZjbVJuZVRndk53QXZjbVJuZVRn
dk9BQXZjbVJuZVRrdk1RQXZjbVJuZVRrdk1nQXZjbVJuZVRrdk13QXZjbVJuZVRrdk5BQXZjbVJu
ZVRrdk5RQXZjbVJuZVRrdk5nQXZjbVJuZVRrdk53QXZjbVJuZVRrdk9BQXZjbVJuZVRrdk9RQXZj
bVJ3ZFRNdk1RQXZjbVJ3ZFRNdk1nQXZjbVJ3ZFRNdk13QXZjbVJ3ZFRRdk1RQXZjbVJ3ZFRRdk1n
QXZjbVJ3ZFRRdk13QXZjbVJ3ZFRRdk5BQXZjbVJ3ZFRVdk1RQXZjbVJ3ZFRVdk1nQXZjbVJ3ZFRV
dk13QXZjbVJ3ZFRVdk5BQXZjbVJ3ZFRVdk5RQXZjbVJ3ZFRZdk1RQXZjbVJ3ZFRZdk1nQXZjbVJ3
ZFRZdk13QXZjbVJ3ZFRZdk5BQXZjbVJ3ZFRZdk5RQXZjbVJ3ZFRZdk5nQXZjbVJ3ZFRjdk1RQXZj
bVJ3ZFRjdk1nQXZjbVJ3ZFRjdk13QXZjbVJ3ZFRjdk5BQXZjbVJ3ZFRjdk5RQXZjbVJ3ZFRjdk5n
QXZjbVJ3ZFRjdk53QXZjbVJ3ZFRndk1RQXZjbVJ3ZFRndk1nQXZjbVJ3ZFRndk13QXZjbVJ3ZFRn
dk5BQXZjbVJ3ZFRndk5RQXZjbVJ3ZFRndk5nQXZjbVJ3ZFRndk53QXZjbVJ3ZFRndk9BQXZjbVJ3
ZFRrdk1RQXZjbVJ3ZFRrdk1nQXZjbVJ3ZFRrdk13QXZjbVJ3ZFRrdk5BQXZjbVJ3ZFRrdk5RQXZj
bVJ3ZFRrdk5nQXZjbVJ3ZFRrdk53QXZjbVJ3ZFRrdk9BQXZjbVJ3ZFRrdk9RQXZjbVI1YkdKMU1U
QXZNUUF2Y21SNWJHSjFNVEF2TVRBQUwzSmtlV3hpZFRFd0x6SUFMM0prZVd4aWRURXdMek1BTDNK
a2VXeGlkVEV3THpRQUwzSmtlV3hpZFRFd0x6VUFMM0prZVd4aWRURXdMellBTDNKa2VXeGlkVEV3
THpjQUwzSmtlV3hpZFRFd0x6Z0FMM0prZVd4aWRURXdMemtBTDNKa2VXeGlkVEV4THpFQUwzSmtl
V3hpZFRFeEx6RXdBQzl5Wkhsc1luVXhNUzh4TVFBdmNtUjViR0oxTVRFdk1nQXZjbVI1YkdKMU1U
RXZNd0F2Y21SNWJHSjFNVEV2TkFBdmNtUjViR0oxTVRFdk5RQXZjbVI1YkdKMU1URXZOZ0F2Y21S
NWJHSjFNVEV2TndBdmNtUjViR0oxTVRFdk9BQXZjbVI1YkdKMU1URXZPUUF2Y21SNWJHSjFNeTh4
QUM5eVpIbHNZblV6THpJQUwzSmtlV3hpZFRNdk13QXZjbVI1YkdKMU5DOHhBQzl5Wkhsc1luVTBM
eklBTDNKa2VXeGlkVFF2TXdBdmNtUjViR0oxTkM4MEFDOXlaSGxzWW5VMUx6RUFMM0prZVd4aWRU
VXZNZ0F2Y21SNWJHSjFOUzh6QUM5eVpIbHNZblUxTHpRQUwzSmtlV3hpZFRVdk5RQXZjbVI1YkdK
MU5pOHhBQzl5Wkhsc1luVTJMeklBTDNKa2VXeGlkVFl2TXdBdmNtUjViR0oxTmk4MEFDOXlaSGxz
WW5VMkx6VUFMM0prZVd4aWRUWXZOZ0F2Y21SNWJHSjFOeTh4QUM5eVpIbHNZblUzTHpJQUwzSmtl
V3hpZFRjdk13QXZjbVI1YkdKMU55ODBBQzl5Wkhsc1luVTNMelVBTDNKa2VXeGlkVGN2TmdBdmNt
UjViR0oxTnk4M0FDOXlaSGxzWW5VNEx6RUFMM0prZVd4aWRUZ3ZNZ0F2Y21SNWJHSjFPQzh6QUM5
eVpIbHNZblU0THpRQUwzSmtlV3hpZFRndk5RQXZjbVI1YkdKMU9DODJBQzl5Wkhsc1luVTRMemNB
TDNKa2VXeGlkVGd2T0FBdmNtUjViR0oxT1M4eEFDOXlaSGxzWW5VNUx6SUFMM0prZVd4aWRUa3ZN
d0F2Y21SNWJHSjFPUzgwQUM5eVpIbHNZblU1THpVQUwzSmtlV3hpZFRrdk5nQXZjbVI1YkdKMU9T
ODNBQzl5Wkhsc1luVTVMemdBTDNKa2VXeGlkVGt2T1FBdmNtUjViR2R1TVRBdk1RQXZjbVI1Ykdk
dU1UQXZNVEFBTDNKa2VXeG5iakV3THpJQUwzSmtlV3huYmpFd0x6TUFMM0prZVd4bmJqRXdMelFB
TDNKa2VXeG5iakV3THpVQUwzSmtlV3huYmpFd0x6WUFMM0prZVd4bmJqRXdMemNBTDNKa2VXeG5i
akV3THpnQUwzSmtlV3huYmpFd0x6a0FMM0prZVd4bmJqRXhMekVBTDNKa2VXeG5iakV4THpFd0FD
OXlaSGxzWjI0eE1TOHhNUUF2Y21SNWJHZHVNVEV2TWdBdmNtUjViR2R1TVRFdk13QXZjbVI1Ykdk
dU1URXZOQUF2Y21SNWJHZHVNVEV2TlFBdmNtUjViR2R1TVRFdk5nQXZjbVI1YkdkdU1URXZOd0F2
Y21SNWJHZHVNVEV2T0FBdmNtUjViR2R1TVRFdk9RQXZjbVI1YkdkdU15OHhBQzl5Wkhsc1oyNHpM
eklBTDNKa2VXeG5iak12TXdBdmNtUjViR2R1TkM4eEFDOXlaSGxzWjI0MEx6SUFMM0prZVd4bmJq
UXZNd0F2Y21SNWJHZHVOQzgwQUM5eVpIbHNaMjQxTHpFQUwzSmtlV3huYmpVdk1nQXZjbVI1Ykdk
dU5TOHpBQzl5Wkhsc1oyNDFMelFBTDNKa2VXeG5ialV2TlFBdmNtUjViR2R1Tmk4eEFDOXlaSGxz
WjI0Mkx6SUFMM0prZVd4bmJqWXZNd0F2Y21SNWJHZHVOaTgwQUM5eVpIbHNaMjQyTHpVQUwzSmtl
V3huYmpZdk5nQXZjbVI1YkdkdU55OHhBQzl5Wkhsc1oyNDNMeklBTDNKa2VXeG5iamN2TXdBdmNt
UjViR2R1Tnk4MEFDOXlaSGxzWjI0M0x6VUFMM0prZVd4bmJqY3ZOZ0F2Y21SNWJHZHVOeTgzQUM5
eVpIbHNaMjQ0THpFQUwzSmtlV3huYmpndk1nQXZjbVI1YkdkdU9DOHpBQzl5Wkhsc1oyNDRMelFB
TDNKa2VXeG5iamd2TlFBdmNtUjViR2R1T0M4MkFDOXlaSGxzWjI0NEx6Y0FMM0prZVd4bmJqZ3ZP
QUF2Y21SNWJHZHVPUzh4QUM5eVpIbHNaMjQ1THpJQUwzSmtlV3huYmprdk13QXZjbVI1YkdkdU9T
ODBBQzl5Wkhsc1oyNDVMelVBTDNKa2VXeG5iamt2TmdBdmNtUjViR2R1T1M4M0FDOXlaSGxzWjI0
NUx6Z0FMM0prZVd4bmJqa3ZPUUF2Y21Wa2N6TXZNUUF2Y21Wa2N6TXZNZ0F2Y21Wa2N6TXZNd0F2
Y21Wa2N6UXZNUUF2Y21Wa2N6UXZNZ0F2Y21Wa2N6UXZNd0F2Y21Wa2N6UXZOQUF2Y21Wa2N6VXZN
UUF2Y21Wa2N6VXZNZ0F2Y21Wa2N6VXZNd0F2Y21Wa2N6VXZOQUF2Y21Wa2N6VXZOUUF2Y21Wa2N6
WXZNUUF2Y21Wa2N6WXZNZ0F2Y21Wa2N6WXZNd0F2Y21Wa2N6WXZOQUF2Y21Wa2N6WXZOUUF2Y21W
a2N6WXZOZ0F2Y21Wa2N6Y3ZNUUF2Y21Wa2N6Y3ZNZ0F2Y21Wa2N6Y3ZNd0F2Y21Wa2N6Y3ZOQUF2
Y21Wa2N6Y3ZOUUF2Y21Wa2N6Y3ZOZ0F2Y21Wa2N6Y3ZOd0F2Y21Wa2N6Z3ZNUUF2Y21Wa2N6Z3ZN
Z0F2Y21Wa2N6Z3ZNd0F2Y21Wa2N6Z3ZOQUF2Y21Wa2N6Z3ZOUUF2Y21Wa2N6Z3ZOZ0F2Y21Wa2N6
Z3ZOd0F2Y21Wa2N6Z3ZPQUF2Y21Wa2N6a3ZNUUF2Y21Wa2N6a3ZNZ0F2Y21Wa2N6a3ZNd0F2Y21W
a2N6a3ZOQUF2Y21Wa2N6a3ZOUUF2Y21Wa2N6a3ZOZ0F2Y21Wa2N6a3ZOd0F2Y21Wa2N6a3ZPQUF2
Y21Wa2N6a3ZPUUF2YzJWME1UTXZNUUF2YzJWME1UTXZNZ0F2YzJWME1UTXZNd0F2YzJWME1UUXZN
UUF2YzJWME1UUXZNZ0F2YzJWME1UUXZNd0F2YzJWME1UUXZOQUF2YzJWME1UVXZNUUF2YzJWME1U
VXZNZ0F2YzJWME1UVXZNd0F2YzJWME1UVXZOQUF2YzJWME1UVXZOUUF2YzJWME1UWXZNUUF2YzJW
ME1UWXZNZ0F2YzJWME1UWXZNd0F2YzJWME1UWXZOQUF2YzJWME1UWXZOUUF2YzJWME1UWXZOZ0F2
YzJWME1UY3ZNUUF2YzJWME1UY3ZNZ0F2YzJWME1UY3ZNd0F2YzJWME1UY3ZOQUF2YzJWME1UY3ZO
UUF2YzJWME1UY3ZOZ0F2YzJWME1UY3ZOd0F2YzJWME1UZ3ZNUUF2YzJWME1UZ3ZNZ0F2YzJWME1U
Z3ZNd0F2YzJWME1UZ3ZOQUF2YzJWME1UZ3ZOUUF2YzJWME1UZ3ZOZ0F2YzJWME1UZ3ZOd0F2YzJW
ME1UZ3ZPQUF2YzJWME1Ua3ZNUUF2YzJWME1Ua3ZNZ0F2YzJWME1Ua3ZNd0F2YzJWME1Ua3ZOQUF2
YzJWME1Ua3ZOUUF2YzJWME1Ua3ZOZ0F2YzJWME1Ua3ZOd0F2YzJWME1Ua3ZPQUF2YzJWME1Ua3ZP
UUF2YzJWME1qTXZNUUF2YzJWME1qTXZNZ0F2YzJWME1qTXZNd0F2YzJWME1qUXZNUUF2YzJWME1q
UXZNZ0F2YzJWME1qUXZNd0F2YzJWME1qUXZOQUF2YzJWME1qVXZNUUF2YzJWME1qVXZNZ0F2YzJW
ME1qVXZNd0F2YzJWME1qVXZOQUF2YzJWME1qVXZOUUF2YzJWME1qWXZNUUF2YzJWME1qWXZNZ0F2
YzJWME1qWXZNd0F2YzJWME1qWXZOQUF2YzJWME1qWXZOUUF2YzJWME1qWXZOZ0F2YzJWME1qY3ZN
UUF2YzJWME1qY3ZNZ0F2YzJWME1qY3ZNd0F2YzJWME1qY3ZOQUF2YzJWME1qY3ZOUUF2YzJWME1q
Y3ZOZ0F2YzJWME1qY3ZOd0F2YzJWME1qZ3ZNUUF2YzJWME1qZ3ZNZ0F2YzJWME1qZ3ZNd0F2YzJW
ME1qZ3ZOQUF2YzJWME1qZ3ZOUUF2YzJWME1qZ3ZOZ0F2YzJWME1qZ3ZOd0F2YzJWME1qZ3ZPQUF2
YzJWME16RXdMekVBTDNObGRETXhNQzh4TUFBdmMyVjBNekV3THpJQUwzTmxkRE14TUM4ekFDOXpa
WFF6TVRBdk5BQXZjMlYwTXpFd0x6VUFMM05sZERNeE1DODJBQzl6WlhRek1UQXZOd0F2YzJWME16
RXdMemdBTDNObGRETXhNQzg1QUM5elpYUXpNVEV2TVFBdmMyVjBNekV4THpFd0FDOXpaWFF6TVRF
dk1URUFMM05sZERNeE1TOHlBQzl6WlhRek1URXZNd0F2YzJWME16RXhMelFBTDNObGRETXhNUzgx
QUM5elpYUXpNVEV2TmdBdmMyVjBNekV4THpjQUwzTmxkRE14TVM4NEFDOXpaWFF6TVRFdk9RQXZj
MlYwTXpFeUx6RUFMM05sZERNeE1pOHhNQUF2YzJWME16RXlMekV4QUM5elpYUXpNVEl2TVRJQUwz
TmxkRE14TWk4eUFDOXpaWFF6TVRJdk13QXZjMlYwTXpFeUx6UUFMM05sZERNeE1pODFBQzl6WlhR
ek1USXZOZ0F2YzJWME16RXlMemNBTDNObGRETXhNaTg0QUM5elpYUXpNVEl2T1FBdmMyVjBNek12
TVFBdmMyVjBNek12TWdBdmMyVjBNek12TXdBdmMyVjBNelF2TVFBdmMyVjBNelF2TWdBdmMyVjBN
elF2TXdBdmMyVjBNelF2TkFBdmMyVjBNelV2TVFBdmMyVjBNelV2TWdBdmMyVjBNelV2TXdBdmMy
VjBNelV2TkFBdmMyVjBNelV2TlFBdmMyVjBNell2TVFBdmMyVjBNell2TWdBdmMyVjBNell2TXdB
dmMyVjBNell2TkFBdmMyVjBNell2TlFBdmMyVjBNell2TmdBdmMyVjBNemN2TVFBdmMyVjBNemN2
TWdBdmMyVjBNemN2TXdBdmMyVjBNemN2TkFBdmMyVjBNemN2TlFBdmMyVjBNemN2TmdBdmMyVjBN
emN2TndBdmMyVjBNemd2TVFBdmMyVjBNemd2TWdBdmMyVjBNemd2TXdBdmMyVjBNemd2TkFBdmMy
VjBNemd2TlFBdmMyVjBNemd2TmdBdmMyVjBNemd2TndBdmMyVjBNemd2T0FBdmMyVjBNemt2TVFB
dmMyVjBNemt2TWdBdmMyVjBNemt2TXdBdmMyVjBNemt2TkFBdmMyVjBNemt2TlFBdmMyVjBNemt2
TmdBdmMyVjBNemt2TndBdmMyVjBNemt2T0FBdmMyVjBNemt2T1FBdmMzQmxZM1J5WVd3eE1DOHhB
Qzl6Y0dWamRISmhiREV3THpFd0FDOXpjR1ZqZEhKaGJERXdMeklBTDNOd1pXTjBjbUZzTVRBdk13
QXZjM0JsWTNSeVlXd3hNQzgwQUM5emNHVmpkSEpoYkRFd0x6VUFMM053WldOMGNtRnNNVEF2TmdB
dmMzQmxZM1J5WVd3eE1DODNBQzl6Y0dWamRISmhiREV3THpnQUwzTndaV04wY21Gc01UQXZPUUF2
YzNCbFkzUnlZV3d4TVM4eEFDOXpjR1ZqZEhKaGJERXhMekV3QUM5emNHVmpkSEpoYkRFeEx6RXhB
Qzl6Y0dWamRISmhiREV4THpJQUwzTndaV04wY21Gc01URXZNd0F2YzNCbFkzUnlZV3d4TVM4MEFD
OXpjR1ZqZEhKaGJERXhMelVBTDNOd1pXTjBjbUZzTVRFdk5nQXZjM0JsWTNSeVlXd3hNUzgzQUM5
emNHVmpkSEpoYkRFeEx6Z0FMM053WldOMGNtRnNNVEV2T1FBdmMzQmxZM1J5WVd3ekx6RUFMM053
WldOMGNtRnNNeTh5QUM5emNHVmpkSEpoYkRNdk13QXZjM0JsWTNSeVlXdzBMekVBTDNOd1pXTjBj
bUZzTkM4eUFDOXpjR1ZqZEhKaGJEUXZNd0F2YzNCbFkzUnlZV3cwTHpRQUwzTndaV04wY21Gc05T
OHhBQzl6Y0dWamRISmhiRFV2TWdBdmMzQmxZM1J5WVd3MUx6TUFMM053WldOMGNtRnNOUzgwQUM5
emNHVmpkSEpoYkRVdk5RQXZjM0JsWTNSeVlXdzJMekVBTDNOd1pXTjBjbUZzTmk4eUFDOXpjR1Zq
ZEhKaGJEWXZNd0F2YzNCbFkzUnlZV3cyTHpRQUwzTndaV04wY21Gc05pODFBQzl6Y0dWamRISmhi
RFl2TmdBdmMzQmxZM1J5WVd3M0x6RUFMM053WldOMGNtRnNOeTh5QUM5emNHVmpkSEpoYkRjdk13
QXZjM0JsWTNSeVlXdzNMelFBTDNOd1pXTjBjbUZzTnk4MUFDOXpjR1ZqZEhKaGJEY3ZOZ0F2YzNC
bFkzUnlZV3czTHpjQUwzTndaV04wY21Gc09DOHhBQzl6Y0dWamRISmhiRGd2TWdBdmMzQmxZM1J5
WVd3NEx6TUFMM053WldOMGNtRnNPQzgwQUM5emNHVmpkSEpoYkRndk5RQXZjM0JsWTNSeVlXdzRM
ellBTDNOd1pXTjBjbUZzT0M4M0FDOXpjR1ZqZEhKaGJEZ3ZPQUF2YzNCbFkzUnlZV3c1THpFQUwz
TndaV04wY21Gc09TOHlBQzl6Y0dWamRISmhiRGt2TXdBdmMzQmxZM1J5WVd3NUx6UUFMM053WldO
MGNtRnNPUzgxQUM5emNHVmpkSEpoYkRrdk5nQXZjM0JsWTNSeVlXdzVMemNBTDNOd1pXTjBjbUZz
T1M4NEFDOXpjR1ZqZEhKaGJEa3ZPUUF2YzNabkwyRnNhV05sWW14MVpRQXZjM1puTDJGdWRHbHhk
V1YzYUdsMFpRQXZjM1puTDJGeGRXRUFMM04yWnk5aGNYVmhiV0Z5YVc1bEFDOXpkbWN2WVhwMWNt
VUFMM04yWnk5aVpXbG5aUUF2YzNabkwySnBjM0YxWlFBdmMzWm5MMkpzWVdOckFDOXpkbWN2WW14
aGJtTm9aV1JoYkcxdmJtUUFMM04yWnk5aWJIVmxBQzl6ZG1jdllteDFaWFpwYjJ4bGRBQXZjM1pu
TDJKeWIzZHVBQzl6ZG1jdlluVnliSGwzYjI5a0FDOXpkbWN2WTJGa1pYUmliSFZsQUM5emRtY3ZZ
MmhoY25SeVpYVnpaUUF2YzNabkwyTm9iMk52YkdGMFpRQXZjM1puTDJOdmNtRnNBQzl6ZG1jdlky
OXlibVpzYjNkbGNtSnNkV1VBTDNOMlp5OWpiM0p1YzJsc2F3QXZjM1puTDJOeWFXMXpiMjRBTDNO
Mlp5OWplV0Z1QUM5emRtY3ZaR0Z5YTJKc2RXVUFMM04yWnk5a1lYSnJZM2xoYmdBdmMzWm5MMlJo
Y210bmIyeGtaVzV5YjJRQUwzTjJaeTlrWVhKclozSmhlUUF2YzNabkwyUmhjbXRuY21WbGJnQXZj
M1puTDJSaGNtdG5jbVY1QUM5emRtY3ZaR0Z5YTJ0b1lXdHBBQzl6ZG1jdlpHRnlhMjFoWjJWdWRH
RUFMM04yWnk5a1lYSnJiMnhwZG1WbmNtVmxiZ0F2YzNabkwyUmhjbXR2Y21GdVoyVUFMM04yWnk5
a1lYSnJiM0pqYUdsa0FDOXpkbWN2WkdGeWEzSmxaQUF2YzNabkwyUmhjbXR6WVd4dGIyNEFMM04y
Wnk5a1lYSnJjMlZoWjNKbFpXNEFMM04yWnk5a1lYSnJjMnhoZEdWaWJIVmxBQzl6ZG1jdlpHRnlh
M05zWVhSbFozSmhlUUF2YzNabkwyUmhjbXR6YkdGMFpXZHlaWGtBTDNOMlp5OWtZWEpyZEhWeWNY
VnZhWE5sQUM5emRtY3ZaR0Z5YTNacGIyeGxkQUF2YzNabkwyUmxaWEJ3YVc1ckFDOXpkbWN2WkdW
bGNITnJlV0pzZFdVQUwzTjJaeTlrYVcxbmNtRjVBQzl6ZG1jdlpHbHRaM0psZVFBdmMzWm5MMlJ2
WkdkbGNtSnNkV1VBTDNOMlp5OW1hWEpsWW5KcFkyc0FMM04yWnk5bWJHOXlZV3gzYUdsMFpRQXZj
M1puTDJadmNtVnpkR2R5WldWdUFDOXpkbWN2Wm5WamFITnBZUUF2YzNabkwyZGhhVzV6WW05eWJ3
QXZjM1puTDJkb2IzTjBkMmhwZEdVQUwzTjJaeTluYjJ4a0FDOXpkbWN2WjI5c1pHVnVjbTlrQUM5
emRtY3ZaM0poZVFBdmMzWm5MMmR5WldWdUFDOXpkbWN2WjNKbFpXNTVaV3hzYjNjQUwzTjJaeTlu
Y21WNUFDOXpkbWN2YUc5dVpYbGtaWGNBTDNOMlp5OW9iM1J3YVc1ckFDOXpkbWN2YVc1a2FXRnVj
bVZrQUM5emRtY3ZhVzVrYVdkdkFDOXpkbWN2YVhadmNua0FMM04yWnk5cmFHRnJhUUF2YzNabkwy
eGhkbVZ1WkdWeUFDOXpkbWN2YkdGMlpXNWtaWEppYkhWemFBQXZjM1puTDJ4aGQyNW5jbVZsYmdB
dmMzWm5MMnhsYlc5dVkyaHBabVp2YmdBdmMzWm5MMnhwWjJoMFlteDFaUUF2YzNabkwyeHBaMmgw
WTI5eVlXd0FMM04yWnk5c2FXZG9kR041WVc0QUwzTjJaeTlzYVdkb2RHZHZiR1JsYm5KdlpIbGxi
R3h2ZHdBdmMzWm5MMnhwWjJoMFozSmhlUUF2YzNabkwyeHBaMmgwWjNKbFpXNEFMM04yWnk5c2FX
ZG9kR2R5WlhrQUwzTjJaeTlzYVdkb2RIQnBibXNBTDNOMlp5OXNhV2RvZEhOaGJHMXZiZ0F2YzNa
bkwyeHBaMmgwYzJWaFozSmxaVzRBTDNOMlp5OXNhV2RvZEhOcmVXSnNkV1VBTDNOMlp5OXNhV2Rv
ZEhOc1lYUmxaM0poZVFBdmMzWm5MMnhwWjJoMGMyeGhkR1ZuY21WNUFDOXpkbWN2YkdsbmFIUnpk
R1ZsYkdKc2RXVUFMM04yWnk5c2FXZG9kSGxsYkd4dmR3QXZjM1puTDJ4cGJXVUFMM04yWnk5c2FX
MWxaM0psWlc0QUwzTjJaeTlzYVc1bGJnQXZjM1puTDIxaFoyVnVkR0VBTDNOMlp5OXRZWEp2YjI0
QUwzTjJaeTl0WldScGRXMWhjWFZoYldGeWFXNWxBQzl6ZG1jdmJXVmthWFZ0WW14MVpRQXZjM1pu
TDIxbFpHbDFiVzl5WTJocFpBQXZjM1puTDIxbFpHbDFiWEIxY25Cc1pRQXZjM1puTDIxbFpHbDFi
WE5sWVdkeVpXVnVBQzl6ZG1jdmJXVmthWFZ0YzJ4aGRHVmliSFZsQUM5emRtY3ZiV1ZrYVhWdGMz
QnlhVzVuWjNKbFpXNEFMM04yWnk5dFpXUnBkVzEwZFhKeGRXOXBjMlVBTDNOMlp5OXRaV1JwZFcx
MmFXOXNaWFJ5WldRQUwzTjJaeTl0YVdSdWFXZG9kR0pzZFdVQUwzTjJaeTl0YVc1MFkzSmxZVzBB
TDNOMlp5OXRhWE4wZVhKdmMyVUFMM04yWnk5dGIyTmpZWE5wYmdBdmMzWm5MMjVoZG1GcWIzZG9h
WFJsQUM5emRtY3ZibUYyZVFBdmMzWm5MMjlzWkd4aFkyVUFMM04yWnk5dmJHbDJaUUF2YzNabkwy
OXNhWFpsWkhKaFlnQXZjM1puTDI5eVlXNW5aUUF2YzNabkwyOXlZVzVuWlhKbFpBQXZjM1puTDI5
eVkyaHBaQUF2YzNabkwzQmhiR1ZuYjJ4a1pXNXliMlFBTDNOMlp5OXdZV3hsWjNKbFpXNEFMM04y
Wnk5d1lXeGxkSFZ5Y1hWdmFYTmxBQzl6ZG1jdmNHRnNaWFpwYjJ4bGRISmxaQUF2YzNabkwzQmhj
R0Y1WVhkb2FYQUFMM04yWnk5d1pXRmphSEIxWm1ZQUwzTjJaeTl3WlhKMUFDOXpkbWN2Y0dsdWF3
QXZjM1puTDNCc2RXMEFMM04yWnk5d2IzZGtaWEppYkhWbEFDOXpkbWN2Y0hWeWNHeGxBQzl6ZG1j
dmNtVmtBQzl6ZG1jdmNtOXplV0p5YjNkdUFDOXpkbWN2Y205NVlXeGliSFZsQUM5emRtY3ZjMkZr
Wkd4bFluSnZkMjRBTDNOMlp5OXpZV3h0YjI0QUwzTjJaeTl6WVc1a2VXSnliM2R1QUM5emRtY3Zj
MlZoWjNKbFpXNEFMM04yWnk5elpXRnphR1ZzYkFBdmMzWm5MM05wWlc1dVlRQXZjM1puTDNOcGJI
WmxjZ0F2YzNabkwzTnJlV0pzZFdVQUwzTjJaeTl6YkdGMFpXSnNkV1VBTDNOMlp5OXpiR0YwWldk
eVlYa0FMM04yWnk5emJHRjBaV2R5WlhrQUwzTjJaeTl6Ym05M0FDOXpkbWN2YzNCeWFXNW5aM0ps
Wlc0QUwzTjJaeTl6ZEdWbGJHSnNkV1VBTDNOMlp5OTBZVzRBTDNOMlp5OTBaV0ZzQUM5emRtY3Zk
R2hwYzNSc1pRQXZjM1puTDNSdmJXRjBid0F2YzNabkwzUjFjbkYxYjJselpRQXZjM1puTDNacGIy
eGxkQUF2YzNabkwzZG9aV0YwQUM5emRtY3ZkMmhwZEdVQUwzTjJaeTkzYUdsMFpYTnRiMnRsQUM5
emRtY3ZlV1ZzYkc5M0FDOXpkbWN2ZVdWc2JHOTNaM0psWlc0QUwzbHNaMjR6THpFQUwzbHNaMjR6
THpJQUwzbHNaMjR6THpNQUwzbHNaMjQwTHpFQUwzbHNaMjQwTHpJQUwzbHNaMjQwTHpNQUwzbHNa
MjQwTHpRQUwzbHNaMjQxTHpFQUwzbHNaMjQxTHpJQUwzbHNaMjQxTHpNQUwzbHNaMjQxTHpRQUwz
bHNaMjQxTHpVQUwzbHNaMjQyTHpFQUwzbHNaMjQyTHpJQUwzbHNaMjQyTHpNQUwzbHNaMjQyTHpR
QUwzbHNaMjQyTHpVQUwzbHNaMjQyTHpZQUwzbHNaMjQzTHpFQUwzbHNaMjQzTHpJQUwzbHNaMjQz
THpNQUwzbHNaMjQzTHpRQUwzbHNaMjQzTHpVQUwzbHNaMjQzTHpZQUwzbHNaMjQzTHpjQUwzbHNa
MjQ0THpFQUwzbHNaMjQ0THpJQUwzbHNaMjQ0THpNQUwzbHNaMjQ0THpRQUwzbHNaMjQ0THpVQUwz
bHNaMjQ0THpZQUwzbHNaMjQ0THpjQUwzbHNaMjQ0THpnQUwzbHNaMjQ1THpFQUwzbHNaMjQ1THpJ
QUwzbHNaMjQ1THpNQUwzbHNaMjQ1THpRQUwzbHNaMjQ1THpVQUwzbHNaMjQ1THpZQUwzbHNaMjQ1
THpjQUwzbHNaMjQ1THpnQUwzbHNaMjQ1THprQUwzbHNaMjVpZFRNdk1RQXZlV3huYm1KMU15OHlB
Qzk1YkdkdVluVXpMek1BTDNsc1oyNWlkVFF2TVFBdmVXeG5ibUoxTkM4eUFDOTViR2R1WW5VMEx6
TUFMM2xzWjI1aWRUUXZOQUF2ZVd4bmJtSjFOUzh4QUM5NWJHZHVZblUxTHpJQUwzbHNaMjVpZFRV
dk13QXZlV3huYm1KMU5TODBBQzk1YkdkdVluVTFMelVBTDNsc1oyNWlkVFl2TVFBdmVXeG5ibUox
Tmk4eUFDOTViR2R1WW5VMkx6TUFMM2xzWjI1aWRUWXZOQUF2ZVd4bmJtSjFOaTgxQUM5NWJHZHVZ
blUyTHpZQUwzbHNaMjVpZFRjdk1RQXZlV3huYm1KMU55OHlBQzk1YkdkdVluVTNMek1BTDNsc1oy
NWlkVGN2TkFBdmVXeG5ibUoxTnk4MUFDOTViR2R1WW5VM0x6WUFMM2xzWjI1aWRUY3ZOd0F2ZVd4
bmJtSjFPQzh4QUM5NWJHZHVZblU0THpJQUwzbHNaMjVpZFRndk13QXZlV3huYm1KMU9DODBBQzk1
YkdkdVluVTRMelVBTDNsc1oyNWlkVGd2TmdBdmVXeG5ibUoxT0M4M0FDOTViR2R1WW5VNEx6Z0FM
M2xzWjI1aWRUa3ZNUUF2ZVd4bmJtSjFPUzh5QUM5NWJHZHVZblU1THpNQUwzbHNaMjVpZFRrdk5B
QXZlV3huYm1KMU9TODFBQzk1YkdkdVluVTVMellBTDNsc1oyNWlkVGt2TndBdmVXeG5ibUoxT1M4
NEFDOTViR2R1WW5VNUx6a0FMM2xzYjNKaWNqTXZNUUF2ZVd4dmNtSnlNeTh5QUM5NWJHOXlZbkl6
THpNQUwzbHNiM0ppY2pRdk1RQXZlV3h2Y21KeU5DOHlBQzk1Ykc5eVluSTBMek1BTDNsc2IzSmlj
alF2TkFBdmVXeHZjbUp5TlM4eEFDOTViRzl5WW5JMUx6SUFMM2xzYjNKaWNqVXZNd0F2ZVd4dmNt
SnlOUzgwQUM5NWJHOXlZbkkxTHpVQUwzbHNiM0ppY2pZdk1RQXZlV3h2Y21KeU5pOHlBQzk1Ykc5
eVluSTJMek1BTDNsc2IzSmljall2TkFBdmVXeHZjbUp5Tmk4MUFDOTViRzl5WW5JMkx6WUFMM2xz
YjNKaWNqY3ZNUUF2ZVd4dmNtSnlOeTh5QUM5NWJHOXlZbkkzTHpNQUwzbHNiM0ppY2pjdk5BQXZl
V3h2Y21KeU55ODFBQzk1Ykc5eVluSTNMellBTDNsc2IzSmljamN2TndBdmVXeHZjbUp5T0M4eEFD
OTViRzl5WW5JNEx6SUFMM2xzYjNKaWNqZ3ZNd0F2ZVd4dmNtSnlPQzgwQUM5NWJHOXlZbkk0THpV
QUwzbHNiM0ppY2pndk5nQXZlV3h2Y21KeU9DODNBQzk1Ykc5eVluSTRMemdBTDNsc2IzSmljamt2
TVFBdmVXeHZjbUp5T1M4eUFDOTViRzl5WW5JNUx6TUFMM2xzYjNKaWNqa3ZOQUF2ZVd4dmNtSnlP
UzgxQUM5NWJHOXlZbkk1THpZQUwzbHNiM0ppY2prdk53QXZlV3h2Y21KeU9TODRBQzk1Ykc5eVlu
STVMemtBTDNsc2IzSnlaRE12TVFBdmVXeHZjbkprTXk4eUFDOTViRzl5Y21Rekx6TUFMM2xzYjNK
eVpEUXZNUUF2ZVd4dmNuSmtOQzh5QUM5NWJHOXljbVEwTHpNQUwzbHNiM0p5WkRRdk5BQXZlV3h2
Y25Ka05TOHhBQzk1Ykc5eWNtUTFMeklBTDNsc2IzSnlaRFV2TXdBdmVXeHZjbkprTlM4MEFDOTVi
Rzl5Y21RMUx6VUFMM2xzYjNKeVpEWXZNUUF2ZVd4dmNuSmtOaTh5QUM5NWJHOXljbVEyTHpNQUwz
bHNiM0p5WkRZdk5BQXZlV3h2Y25Ka05pODFBQzk1Ykc5eWNtUTJMellBTDNsc2IzSnlaRGN2TVFB
dmVXeHZjbkprTnk4eUFDOTViRzl5Y21RM0x6TUFMM2xzYjNKeVpEY3ZOQUF2ZVd4dmNuSmtOeTgx
QUM5NWJHOXljbVEzTHpZQUwzbHNiM0p5WkRjdk53QXZlV3h2Y25Ka09DOHhBQzk1Ykc5eWNtUTRM
eklBTDNsc2IzSnlaRGd2TXdBdmVXeHZjbkprT0M4MEFDOTViRzl5Y21RNEx6VUFMM2xzYjNKeVpE
Z3ZOZ0F2ZVd4dmNuSmtPQzgzQUM5NWJHOXljbVE0THpnQUwzbHNiM0p5WkRrdk1RQXZlV3h2Y25K
a09TOHlBQzk1Ykc5eWNtUTVMek1BTDNsc2IzSnlaRGt2TkFBdmVXeHZjbkprT1M4MUFDOTViRzl5
Y21RNUx6WUFMM2xzYjNKeVpEa3ZOd0F2ZVd4dmNuSmtPUzg0QUM5NWJHOXljbVE1THprQVlXeHBZ
MlZpYkhWbEFHRnVkR2x4ZFdWM2FHbDBaUUJoYm5ScGNYVmxkMmhwZEdVeEFHRnVkR2x4ZFdWM2FH
bDBaVElBWVc1MGFYRjFaWGRvYVhSbE13QmhiblJwY1hWbGQyaHBkR1UwQUdGeGRXRnRZWEpwYm1V
QVlYRjFZVzFoY21sdVpURUFZWEYxWVcxaGNtbHVaVElBWVhGMVlXMWhjbWx1WlRNQVlYRjFZVzFo
Y21sdVpUUUFZWHAxY21VQVlYcDFjbVV4QUdGNmRYSmxNZ0JoZW5WeVpUTUFZWHAxY21VMEFHSmxh
V2RsQUdKcGMzRjFaUUJpYVhOeGRXVXhBR0pwYzNGMVpUSUFZbWx6Y1hWbE13QmlhWE54ZFdVMEFH
SnNZVzVqYUdWa1lXeHRiMjVrQUdKc2RXVUFZbXgxWlRFQVlteDFaVElBWW14MVpUTUFZbXgxWlRR
QVlteDFaWFpwYjJ4bGRBQmljbTkzYmdCaWNtOTNiakVBWW5KdmQyNHlBR0p5YjNkdU13QmljbTkz
YmpRQVluVnliSGwzYjI5a0FHSjFjbXg1ZDI5dlpERUFZblZ5YkhsM2IyOWtNZ0JpZFhKc2VYZHZi
MlF6QUdKMWNteDVkMjl2WkRRQVkyRmtaWFJpYkhWbEFHTmhaR1YwWW14MVpURUFZMkZrWlhSaWJI
VmxNZ0JqWVdSbGRHSnNkV1V6QUdOaFpHVjBZbXgxWlRRQVkyaGhjblJ5WlhWelpRQmphR0Z5ZEhK
bGRYTmxNUUJqYUdGeWRISmxkWE5sTWdCamFHRnlkSEpsZFhObE13QmphR0Z5ZEhKbGRYTmxOQUJq
YUc5amIyeGhkR1VBWTJodlkyOXNZWFJsTVFCamFHOWpiMnhoZEdVeUFHTm9iMk52YkdGMFpUTUFZ
Mmh2WTI5c1lYUmxOQUJqYjNKaGJBQmpiM0poYkRFQVkyOXlZV3d5QUdOdmNtRnNNd0JqYjNKaGJE
UUFZMjl5Ym1ac2IzZGxjbUpzZFdVQVkyOXlibk5wYkdzQVkyOXlibk5wYkdzeEFHTnZjbTV6YVd4
ck1nQmpiM0p1YzJsc2F6TUFZMjl5Ym5OcGJHczBBR055YVcxemIyNEFZM2xoYmdCamVXRnVNUUJq
ZVdGdU1nQmplV0Z1TXdCamVXRnVOQUJrWVhKcloyOXNaR1Z1Y205a0FHUmhjbXRuYjJ4a1pXNXli
MlF4QUdSaGNtdG5iMnhrWlc1eWIyUXlBR1JoY210bmIyeGtaVzV5YjJRekFHUmhjbXRuYjJ4a1pX
NXliMlEwQUdSaGNtdG5jbVZsYmdCa1lYSnJhMmhoYTJrQVpHRnlhMjlzYVhabFozSmxaVzRBWkdG
eWEyOXNhWFpsWjNKbFpXNHhBR1JoY210dmJHbDJaV2R5WldWdU1nQmtZWEpyYjJ4cGRtVm5jbVZs
YmpNQVpHRnlhMjlzYVhabFozSmxaVzQwQUdSaGNtdHZjbUZ1WjJVQVpHRnlhMjl5WVc1blpURUFa
R0Z5YTI5eVlXNW5aVElBWkdGeWEyOXlZVzVuWlRNQVpHRnlhMjl5WVc1blpUUUFaR0Z5YTI5eVky
aHBaQUJrWVhKcmIzSmphR2xrTVFCa1lYSnJiM0pqYUdsa01nQmtZWEpyYjNKamFHbGtNd0JrWVhK
cmIzSmphR2xrTkFCa1lYSnJjMkZzYlc5dUFHUmhjbXR6WldGbmNtVmxiZ0JrWVhKcmMyVmhaM0ps
Wlc0eEFHUmhjbXR6WldGbmNtVmxiaklBWkdGeWEzTmxZV2R5WldWdU13QmtZWEpyYzJWaFozSmxa
VzQwQUdSaGNtdHpiR0YwWldKc2RXVUFaR0Z5YTNOc1lYUmxaM0poZVFCa1lYSnJjMnhoZEdWbmNt
RjVNUUJrWVhKcmMyeGhkR1ZuY21GNU1nQmtZWEpyYzJ4aGRHVm5jbUY1TXdCa1lYSnJjMnhoZEdW
bmNtRjVOQUJrWVhKcmMyeGhkR1ZuY21WNUFHUmhjbXQwZFhKeGRXOXBjMlVBWkdGeWEzWnBiMnhs
ZEFCa1pXVndjR2x1YXdCa1pXVndjR2x1YXpFQVpHVmxjSEJwYm1zeUFHUmxaWEJ3YVc1ck13Qmta
V1Z3Y0dsdWF6UUFaR1ZsY0hOcmVXSnNkV1VBWkdWbGNITnJlV0pzZFdVeEFHUmxaWEJ6YTNsaWJI
VmxNZ0JrWldWd2MydDVZbXgxWlRNQVpHVmxjSE5yZVdKc2RXVTBBR1JwYldkeVlYa0FaR2x0WjNK
bGVRQmtiMlJuWlhKaWJIVmxBR1J2WkdkbGNtSnNkV1V4QUdSdlpHZGxjbUpzZFdVeUFHUnZaR2Rs
Y21Kc2RXVXpBR1J2WkdkbGNtSnNkV1UwQUdacGNtVmljbWxqYXdCbWFYSmxZbkpwWTJzeEFHWnBj
bVZpY21samF6SUFabWx5WldKeWFXTnJNd0JtYVhKbFluSnBZMnMwQUdac2IzSmhiSGRvYVhSbEFH
WnZjbVZ6ZEdkeVpXVnVBR2RoYVc1elltOXlid0JuYUc5emRIZG9hWFJsQUdkdmJHUUFaMjlzWkRF
QVoyOXNaRElBWjI5c1pETUFaMjlzWkRRQVoyOXNaR1Z1Y205a0FHZHZiR1JsYm5KdlpERUFaMjlz
WkdWdWNtOWtNZ0JuYjJ4a1pXNXliMlF6QUdkdmJHUmxibkp2WkRRQVozSmhlUUJuY21GNU1BQm5j
bUY1TVFCbmNtRjVNVEFBWjNKaGVURXdNQUJuY21GNU1URUFaM0poZVRFeUFHZHlZWGt4TXdCbmNt
RjVNVFFBWjNKaGVURTFBR2R5WVhreE5nQm5jbUY1TVRjQVozSmhlVEU0QUdkeVlYa3hPUUJuY21G
NU1nQm5jbUY1TWpBQVozSmhlVEl4QUdkeVlYa3lNZ0JuY21GNU1qTUFaM0poZVRJMEFHZHlZWGt5
TlFCbmNtRjVNallBWjNKaGVUSTNBR2R5WVhreU9BQm5jbUY1TWprQVozSmhlVE1BWjNKaGVUTXdB
R2R5WVhrek1RQm5jbUY1TXpJQVozSmhlVE16QUdkeVlYa3pOQUJuY21GNU16VUFaM0poZVRNMkFH
ZHlZWGt6TndCbmNtRjVNemdBWjNKaGVUTTVBR2R5WVhrMEFHZHlZWGswTUFCbmNtRjVOREVBWjNK
aGVUUXlBR2R5WVhrME13Qm5jbUY1TkRRQVozSmhlVFExQUdkeVlYazBOZ0JuY21GNU5EY0FaM0po
ZVRRNEFHZHlZWGswT1FCbmNtRjVOUUJuY21GNU5UQUFaM0poZVRVeEFHZHlZWGsxTWdCbmNtRjVO
VE1BWjNKaGVUVTBBR2R5WVhrMU5RQm5jbUY1TlRZQVozSmhlVFUzQUdkeVlYazFPQUJuY21GNU5U
a0FaM0poZVRZQVozSmhlVFl3QUdkeVlYazJNUUJuY21GNU5qSUFaM0poZVRZekFHZHlZWGsyTkFC
bmNtRjVOalVBWjNKaGVUWTJBR2R5WVhrMk53Qm5jbUY1TmpnQVozSmhlVFk1QUdkeVlYazNBR2R5
WVhrM01BQm5jbUY1TnpFQVozSmhlVGN5QUdkeVlYazNNd0JuY21GNU56UUFaM0poZVRjMUFHZHlZ
WGszTmdCbmNtRjVOemNBWjNKaGVUYzRBR2R5WVhrM09RQm5jbUY1T0FCbmNtRjVPREFBWjNKaGVU
Z3hBR2R5WVhrNE1nQm5jbUY1T0RNQVozSmhlVGcwQUdkeVlYazROUUJuY21GNU9EWUFaM0poZVRn
M0FHZHlZWGs0T0FCbmNtRjVPRGtBWjNKaGVUa0FaM0poZVRrd0FHZHlZWGs1TVFCbmNtRjVPVElB
WjNKaGVUa3pBR2R5WVhrNU5BQm5jbUY1T1RVQVozSmhlVGsyQUdkeVlYazVOd0JuY21GNU9UZ0Fa
M0poZVRrNUFHZHlaV1Z1QUdkeVpXVnVNUUJuY21WbGJqSUFaM0psWlc0ekFHZHlaV1Z1TkFCbmNt
VmxibmxsYkd4dmR3Qm5jbVY1QUdkeVpYa3dBR2R5WlhreEFHZHlaWGt4TUFCbmNtVjVNVEF3QUdk
eVpYa3hNUUJuY21WNU1USUFaM0psZVRFekFHZHlaWGt4TkFCbmNtVjVNVFVBWjNKbGVURTJBR2R5
WlhreE53Qm5jbVY1TVRnQVozSmxlVEU1QUdkeVpYa3lBR2R5WlhreU1BQm5jbVY1TWpFQVozSmxl
VEl5QUdkeVpYa3lNd0JuY21WNU1qUUFaM0psZVRJMUFHZHlaWGt5TmdCbmNtVjVNamNBWjNKbGVU
STRBR2R5WlhreU9RQm5jbVY1TXdCbmNtVjVNekFBWjNKbGVUTXhBR2R5Wlhrek1nQm5jbVY1TXpN
QVozSmxlVE0wQUdkeVpYa3pOUUJuY21WNU16WUFaM0psZVRNM0FHZHlaWGt6T0FCbmNtVjVNemtB
WjNKbGVUUUFaM0psZVRRd0FHZHlaWGswTVFCbmNtVjVORElBWjNKbGVUUXpBR2R5WlhrME5BQm5j
bVY1TkRVQVozSmxlVFEyQUdkeVpYazBOd0JuY21WNU5EZ0FaM0psZVRRNUFHZHlaWGsxQUdkeVpY
azFNQUJuY21WNU5URUFaM0psZVRVeUFHZHlaWGsxTXdCbmNtVjVOVFFBWjNKbGVUVTFBR2R5Wlhr
MU5nQm5jbVY1TlRjQVozSmxlVFU0QUdkeVpYazFPUUJuY21WNU5nQm5jbVY1TmpBQVozSmxlVFl4
QUdkeVpYazJNZ0JuY21WNU5qTUFaM0psZVRZMEFHZHlaWGsyTlFCbmNtVjVOallBWjNKbGVUWTNB
R2R5WlhrMk9BQm5jbVY1TmprQVozSmxlVGNBWjNKbGVUY3dBR2R5WlhrM01RQm5jbVY1TnpJQVoz
SmxlVGN6QUdkeVpYazNOQUJuY21WNU56VUFaM0psZVRjMkFHZHlaWGszTndCbmNtVjVOemdBWjNK
bGVUYzVBR2R5WlhrNEFHZHlaWGs0TUFCbmNtVjVPREVBWjNKbGVUZ3lBR2R5WlhrNE13Qm5jbVY1
T0RRQVozSmxlVGcxQUdkeVpYazROZ0JuY21WNU9EY0FaM0psZVRnNEFHZHlaWGs0T1FCbmNtVjVP
UUJuY21WNU9UQUFaM0psZVRreEFHZHlaWGs1TWdCbmNtVjVPVE1BWjNKbGVUazBBR2R5WlhrNU5R
Qm5jbVY1T1RZQVozSmxlVGszQUdkeVpYazVPQUJuY21WNU9Ua0FhRzl1Wlhsa1pYY0FhRzl1Wlhs
a1pYY3hBR2h2Ym1WNVpHVjNNZ0JvYjI1bGVXUmxkek1BYUc5dVpYbGtaWGMwQUdodmRIQnBibXNB
YUc5MGNHbHVhekVBYUc5MGNHbHVheklBYUc5MGNHbHVhek1BYUc5MGNHbHVhelFBYVc1a2FXRnVj
bVZrQUdsdVpHbGhibkpsWkRFQWFXNWthV0Z1Y21Wa01nQnBibVJwWVc1eVpXUXpBR2x1WkdsaGJu
SmxaRFFBYVc1a2FXZHZBR2x1ZG1sekFHbDJiM0o1QUdsMmIzSjVNUUJwZG05eWVUSUFhWFp2Y25r
ekFHbDJiM0o1TkFCcmFHRnJhUUJyYUdGcmFURUFhMmhoYTJreUFHdG9ZV3RwTXdCcmFHRnJhVFFB
YkdGMlpXNWtaWElBYkdGMlpXNWtaWEppYkhWemFBQnNZWFpsYm1SbGNtSnNkWE5vTVFCc1lYWmxi
bVJsY21Kc2RYTm9NZ0JzWVhabGJtUmxjbUpzZFhOb013QnNZWFpsYm1SbGNtSnNkWE5vTkFCc1lY
ZHVaM0psWlc0QWJHVnRiMjVqYUdsbVptOXVBR3hsYlc5dVkyaHBabVp2YmpFQWJHVnRiMjVqYUds
bVptOXVNZ0JzWlcxdmJtTm9hV1ptYjI0ekFHeGxiVzl1WTJocFptWnZialFBYkdsbmFIUmliSFZs
QUd4cFoyaDBZbXgxWlRFQWJHbG5hSFJpYkhWbE1nQnNhV2RvZEdKc2RXVXpBR3hwWjJoMFlteDFa
VFFBYkdsbmFIUmpiM0poYkFCc2FXZG9kR041WVc0QWJHbG5hSFJqZVdGdU1RQnNhV2RvZEdONVlX
NHlBR3hwWjJoMFkzbGhiak1BYkdsbmFIUmplV0Z1TkFCc2FXZG9kR2R2YkdSbGJuSnZaQUJzYVdk
b2RHZHZiR1JsYm5KdlpERUFiR2xuYUhSbmIyeGtaVzV5YjJReUFHeHBaMmgwWjI5c1pHVnVjbTlr
TXdCc2FXZG9kR2R2YkdSbGJuSnZaRFFBYkdsbmFIUm5iMnhrWlc1eWIyUjVaV3hzYjNjQWJHbG5h
SFJuY21GNUFHeHBaMmgwWjNKbGVRQnNhV2RvZEhCcGJtc0FiR2xuYUhSd2FXNXJNUUJzYVdkb2RI
QnBibXN5QUd4cFoyaDBjR2x1YXpNQWJHbG5hSFJ3YVc1ck5BQnNhV2RvZEhOaGJHMXZiZ0JzYVdk
b2RITmhiRzF2YmpFQWJHbG5hSFJ6WVd4dGIyNHlBR3hwWjJoMGMyRnNiVzl1TXdCc2FXZG9kSE5o
YkcxdmJqUUFiR2xuYUhSelpXRm5jbVZsYmdCc2FXZG9kSE5yZVdKc2RXVUFiR2xuYUhSemEzbGli
SFZsTVFCc2FXZG9kSE5yZVdKc2RXVXlBR3hwWjJoMGMydDVZbXgxWlRNQWJHbG5hSFJ6YTNsaWJI
VmxOQUJzYVdkb2RITnNZWFJsWW14MVpRQnNhV2RvZEhOc1lYUmxaM0poZVFCc2FXZG9kSE5zWVhS
bFozSmxlUUJzYVdkb2RITjBaV1ZzWW14MVpRQnNhV2RvZEhOMFpXVnNZbXgxWlRFQWJHbG5hSFJ6
ZEdWbGJHSnNkV1V5QUd4cFoyaDBjM1JsWld4aWJIVmxNd0JzYVdkb2RITjBaV1ZzWW14MVpUUUFi
R2xuYUhSNVpXeHNiM2NBYkdsbmFIUjVaV3hzYjNjeEFHeHBaMmgwZVdWc2JHOTNNZ0JzYVdkb2RI
bGxiR3h2ZHpNQWJHbG5hSFI1Wld4c2IzYzBBR3hwYldWbmNtVmxiZ0JzYVc1bGJnQnRZV2RsYm5S
aEFHMWhaMlZ1ZEdFeEFHMWhaMlZ1ZEdFeUFHMWhaMlZ1ZEdFekFHMWhaMlZ1ZEdFMEFHMWhjbTl2
YmdCdFlYSnZiMjR4QUcxaGNtOXZiaklBYldGeWIyOXVNd0J0WVhKdmIyNDBBRzFsWkdsMWJXRnhk
V0Z0WVhKcGJtVUFiV1ZrYVhWdFlteDFaUUJ0WldScGRXMXZjbU5vYVdRQWJXVmthWFZ0YjNKamFH
bGtNUUJ0WldScGRXMXZjbU5vYVdReUFHMWxaR2wxYlc5eVkyaHBaRE1BYldWa2FYVnRiM0pqYUds
a05BQnRaV1JwZFcxd2RYSndiR1VBYldWa2FYVnRjSFZ5Y0d4bE1RQnRaV1JwZFcxd2RYSndiR1V5
QUcxbFpHbDFiWEIxY25Cc1pUTUFiV1ZrYVhWdGNIVnljR3hsTkFCdFpXUnBkVzF6WldGbmNtVmxi
Z0J0WldScGRXMXpiR0YwWldKc2RXVUFiV1ZrYVhWdGMzQnlhVzVuWjNKbFpXNEFiV1ZrYVhWdGRI
VnljWFZ2YVhObEFHMWxaR2wxYlhacGIyeGxkSEpsWkFCdGFXUnVhV2RvZEdKc2RXVUFiV2x1ZEdO
eVpXRnRBRzFwYzNSNWNtOXpaUUJ0YVhOMGVYSnZjMlV4QUcxcGMzUjVjbTl6WlRJQWJXbHpkSGx5
YjNObE13QnRhWE4wZVhKdmMyVTBBRzF2WTJOaGMybHVBRzVoZG1GcWIzZG9hWFJsQUc1aGRtRnFi
M2RvYVhSbE1RQnVZWFpoYW05M2FHbDBaVElBYm1GMllXcHZkMmhwZEdVekFHNWhkbUZxYjNkb2FY
UmxOQUJ1WVhaNUFHNWhkbmxpYkhWbEFHNXZibVVBYjJ4a2JHRmpaUUJ2YkdsMlpXUnlZV0lBYjJ4
cGRtVmtjbUZpTVFCdmJHbDJaV1J5WVdJeUFHOXNhWFpsWkhKaFlqTUFiMnhwZG1Wa2NtRmlOQUJ2
Y21GdVoyVUFiM0poYm1kbE1RQnZjbUZ1WjJVeUFHOXlZVzVuWlRNQWIzSmhibWRsTkFCdmNtRnVa
MlZ5WldRQWIzSmhibWRsY21Wa01RQnZjbUZ1WjJWeVpXUXlBRzl5WVc1blpYSmxaRE1BYjNKaGJt
ZGxjbVZrTkFCdmNtTm9hV1FBYjNKamFHbGtNUUJ2Y21Ob2FXUXlBRzl5WTJocFpETUFiM0pqYUds
a05BQndZV3hsWjI5c1pHVnVjbTlrQUhCaGJHVm5jbVZsYmdCd1lXeGxaM0psWlc0eEFIQmhiR1Zu
Y21WbGJqSUFjR0ZzWldkeVpXVnVNd0J3WVd4bFozSmxaVzQwQUhCaGJHVjBkWEp4ZFc5cGMyVUFj
R0ZzWlhSMWNuRjFiMmx6WlRFQWNHRnNaWFIxY25GMWIybHpaVElBY0dGc1pYUjFjbkYxYjJselpU
TUFjR0ZzWlhSMWNuRjFiMmx6WlRRQWNHRnNaWFpwYjJ4bGRISmxaQUJ3WVd4bGRtbHZiR1YwY21W
a01RQndZV3hsZG1sdmJHVjBjbVZrTWdCd1lXeGxkbWx2YkdWMGNtVmtNd0J3WVd4bGRtbHZiR1Yw
Y21Wa05BQndZWEJoZVdGM2FHbHdBSEJsWVdOb2NIVm1aZ0J3WldGamFIQjFabVl4QUhCbFlXTm9j
SFZtWmpJQWNHVmhZMmh3ZFdabU13QndaV0ZqYUhCMVptWTBBSEJsY25VQWNHbHVhd0J3YVc1ck1R
QndhVzVyTWdCd2FXNXJNd0J3YVc1ck5BQndiSFZ0QUhCc2RXMHhBSEJzZFcweUFIQnNkVzB6QUhC
c2RXMDBBSEJ2ZDJSbGNtSnNkV1VBY0hWeWNHeGxBSEIxY25Cc1pURUFjSFZ5Y0d4bE1nQndkWEp3
YkdVekFIQjFjbkJzWlRRQWNtVmtBSEpsWkRFQWNtVmtNZ0J5WldRekFISmxaRFFBY205emVXSnli
M2R1QUhKdmMzbGljbTkzYmpFQWNtOXplV0p5YjNkdU1nQnliM041WW5KdmQyNHpBSEp2YzNsaWNt
OTNialFBY205NVlXeGliSFZsQUhKdmVXRnNZbXgxWlRFQWNtOTVZV3hpYkhWbE1nQnliM2xoYkdK
c2RXVXpBSEp2ZVdGc1lteDFaVFFBYzJGa1pHeGxZbkp2ZDI0QWMyRnNiVzl1QUhOaGJHMXZiakVB
YzJGc2JXOXVNZ0J6WVd4dGIyNHpBSE5oYkcxdmJqUUFjMkZ1WkhsaWNtOTNiZ0J6WldGbmNtVmxi
Z0J6WldGbmNtVmxiakVBYzJWaFozSmxaVzR5QUhObFlXZHlaV1Z1TXdCelpXRm5jbVZsYmpRQWMy
VmhjMmhsYkd3QWMyVmhjMmhsYkd3eEFITmxZWE5vWld4c01nQnpaV0Z6YUdWc2JETUFjMlZoYzJo
bGJHdzBBSE5wWlc1dVlRQnphV1Z1Ym1FeEFITnBaVzV1WVRJQWMybGxibTVoTXdCemFXVnVibUUw
QUhOcmVXSnNkV1VBYzJ0NVlteDFaVEVBYzJ0NVlteDFaVElBYzJ0NVlteDFaVE1BYzJ0NVlteDFa
VFFBYzJ4aGRHVmliSFZsQUhOc1lYUmxZbXgxWlRFQWMyeGhkR1ZpYkhWbE1nQnpiR0YwWldKc2RX
VXpBSE5zWVhSbFlteDFaVFFBYzJ4aGRHVm5jbUY1QUhOc1lYUmxaM0poZVRFQWMyeGhkR1ZuY21G
NU1nQnpiR0YwWldkeVlYa3pBSE5zWVhSbFozSmhlVFFBYzJ4aGRHVm5jbVY1QUhOdWIzY0FjMjV2
ZHpFQWMyNXZkeklBYzI1dmR6TUFjMjV2ZHpRQWMzQnlhVzVuWjNKbFpXNEFjM0J5YVc1blozSmxa
VzR4QUhOd2NtbHVaMmR5WldWdU1nQnpjSEpwYm1kbmNtVmxiak1BYzNCeWFXNW5aM0psWlc0MEFI
TjBaV1ZzWW14MVpRQnpkR1ZsYkdKc2RXVXhBSE4wWldWc1lteDFaVElBYzNSbFpXeGliSFZsTXdC
emRHVmxiR0pzZFdVMEFIUmhiZ0IwWVc0eEFIUmhiaklBZEdGdU13QjBZVzQwQUhSb2FYTjBiR1VB
ZEdocGMzUnNaVEVBZEdocGMzUnNaVElBZEdocGMzUnNaVE1BZEdocGMzUnNaVFFBZEc5dFlYUnZB
SFJ2YldGMGJ6RUFkRzl0WVhSdk1nQjBiMjFoZEc4ekFIUnZiV0YwYnpRQWRIVnljWFZ2YVhObEFI
UjFjbkYxYjJselpURUFkSFZ5Y1hWdmFYTmxNZ0IwZFhKeGRXOXBjMlV6QUhSMWNuRjFiMmx6WlRR
QWRtbHZiR1YwQUhacGIyeGxkSEpsWkFCMmFXOXNaWFJ5WldReEFIWnBiMnhsZEhKbFpESUFkbWx2
YkdWMGNtVmtNd0IyYVc5c1pYUnlaV1EwQUhkb1pXRjBBSGRvWldGME1RQjNhR1ZoZERJQWQyaGxZ
WFF6QUhkb1pXRjBOQUIzYUdsMFpRQjNhR2wwWlhOdGIydGxBSGxsYkd4dmR3QjVaV3hzYjNjeEFI
bGxiR3h2ZHpJQWVXVnNiRzkzTXdCNVpXeHNiM2MwQUhsbGJHeHZkMmR5WldWdUFHeGhZMnNBYUds
MFpRQnBaMmgwWjNKbGVRQllNVEV2QUM4bGN5OGxjd0JwYldGblpYTmpZV3hsQUdaaGJITmxBR0pz
WVdOckFHUmhjMmhsWkFCa2IzUjBaV1FBWTNBdFBuTnlZd0JvZEcxc2RHRmliR1V1WXdCbGJXbDBY
MmgwYld4ZmFXMW5BR053TFQ1emNtTmJNRjBBZEhKaGJuTndZWEpsYm5RQVh5VmtBQ1ZrQURJQU13
QTBBRFVBTmdBM0FEZ0FPUUF4TUFBeE1RQXhNZ0F4TXdBeE5BQXhOUUF4TmdBeE53QXhPQUF4T1FB
eU1BQkJaMjV2WkdWcGJtWnZYM1FBUVdkbFpHZGxhVzVtYjE5MEFISnZkMmNBWTI5c1p3QkJaM0po
Y0docGJtWnZYM1FBWkdWc2VDQStQU0F3QUhCdmMxOW9kRzFzWDNSaWJBQmtaV3g1SUQ0OUlEQUFk
R0ZpYkdVZ2MybDZaU0IwYjI4Z2MyMWhiR3dnWm05eUlHTnZiblJsYm5RS0FHWnBlR1ZrSUhSaFlt
eGxJSE5wZW1VZ2QybDBhQ0IxYm5Od1pXTnBabWxsWkNCM2FXUjBhQ0J2Y2lCb1pXbG5hSFFLQUdO
bGJHd2djMmw2WlNCMGIyOGdjMjFoYkd3Z1ptOXlJR052Ym5SbGJuUUtBR1pwZUdWa0lHTmxiR3dn
YzJsNlpTQjNhWFJvSUhWdWMzQmxZMmxtYVdWa0lIZHBaSFJvSUc5eUlHaGxhV2RvZEFvQVRtOGdi
M0lnYVcxd2NtOXdaWElnYVcxaFoyVWdabWxzWlQwaUpYTWlDZ0J3Wlc1amIyeHZjZ0F0UGdCbVVG
RXVZd0JRVVdOb1pXTnJBRWhsWVhBZ2IzWmxjbVpzYjNjS0FDVWhVRk10UVdSdlltVXRNaTR3Q2k5
dWIyUmxJSHNLSUNBdldTQmxlR05vSUdSbFpnb2dJQzlZSUdWNFkyZ2daR1ZtQ2lBZ0wza2daWGhq
YUNCa1pXWUtJQ0F2ZUNCbGVHTm9JR1JsWmdvZ0lHNWxkM0JoZEdnS0lDQjRJSGtnYlc5MlpYUnZD
aUFnZUNCWklHeHBibVYwYndvZ0lGZ2dXU0JzYVc1bGRHOEtJQ0JZSUhrZ2JHbHVaWFJ2Q2lBZ1ky
eHZjMlZ3WVhSb0lHWnBiR3dLZlNCa1pXWUtMMk5sYkd3Z2V3b2dJQzlaSUdWNFkyZ2daR1ZtQ2lB
Z0wxZ2daWGhqYUNCa1pXWUtJQ0F2ZVNCbGVHTm9JR1JsWmdvZ0lDOTRJR1Y0WTJnZ1pHVm1DaUFn
Ym1WM2NHRjBhQW9nSUhnZ2VTQnRiM1psZEc4S0lDQjRJRmtnYkdsdVpYUnZDaUFnV0NCWklHeHBi
bVYwYndvZ0lGZ2dlU0JzYVc1bGRHOEtJQ0JqYkc5elpYQmhkR2dnYzNSeWIydGxDbjBnWkdWbUNn
QnphRzkzY0dGblpRb0FabUZwYkdWa0lHRjBJRzV2WkdVZ0pXUmJNRjBLQUc1d0xUNWpaV3hzYzFz
d1hRQnRZWHBsTG1NQVkyaHJVMmR5WVhCb0FHWmhhV3hsWkNCaGRDQnViMlJsSUNWa1d6RmRDZ0J1
Y0MwK1kyVnNiSE5iTVYwQVpHbDBaVzF6QUdacGJtUlRWbVZ5ZEFBbEpTVWxVR0ZuWlRvZ01TQXhD
aVVsSlNWUVlXZGxRbTkxYm1ScGJtZENiM2c2SUNWa0lDVmtJQ1ZrSUNWa0NnQWxaaUFsWmlCMGNt
RnVjMnhoZEdVS0FEQWdNQ0F4SUhObGRISm5ZbU52Ykc5eUNnQWxaaUFsWmlBbFppQWxaaUJ1YjJS
bENnQXdJREFnTUNCelpYUnlaMkpqYjJ4dmNnb0FKV1lnSldZZ0pXWWdKV1lnWTJWc2JBb0FNU0F3
SURBZ2MyVjBjbWRpWTI5c2IzSUtBSFZ1Wlhod1pXTjBaV1FnWTJGelpTQnBiaUJzYjJOaGRHVmZa
VzVrY0c5cGJuUUtBREFBZEhKaGNHVjZiMmxrTG1NQWJHOWpZWFJsWDJWdVpIQnZhVzUwQUdGa1pG
OXpaV2R0Wlc1ME9pQmxjbkp2Y2dvQWJtVjNibTlrWlRvZ1VYVmxjbmt0ZEdGaWJHVWdiM1psY21a
c2IzY0tBRzVsZDI1dlpHVUFibVYzZEhKaGNEb2dWSEpoY0dWNmIybGtMWFJoWW14bElHOTJaWEpt
Ykc5M0lDVmtDZ0J1WlhkMGNtRndBR2x1WkdWNExtTUFVbFJ5WldWVFpXRnlZMmdBYmkwK2JHVjJa
V3dnUGowZ01BQlNWSEpsWlVsdWMyVnlkQUJzWlhabGJDQStQU0F3SUNZbUlHeGxkbVZzSUR3OUlD
Z3FiaWt0UG14bGRtVnNBSEl0UG1KdmRXNWtZWEo1VzJsZElEdzlJSEl0UG1KdmRXNWtZWEo1VzA1
VlRVUkpUVk1nS3lCcFhRQnlJQ1ltSUc0Z0ppWWdibVYzQUZKVWNtVmxTVzV6WlhKME1nQnNaWFps
YkNBK1BTQXdJQ1ltSUd4bGRtVnNJRHc5SUc0dFBteGxkbVZzQUVaQlRGTkZBRzV2WkdVdVl3Qk9i
MlJsUTI5MlpYSUFjaUFtSmlCdUFGQnBZMnRDY21GdVkyZ0FRV1JrUW5KaGJtTm9BR2tnUENCT1Qw
UkZRMEZTUkFCdVpYY0FiaUFtSmlCcElENDlJREFnSmlZZ2FTQThJRTVQUkVWRFFWSkVBRVJwYzJO
dmJrSnlZVzVqYUFCeUFISmxZM1JoYm1kc1pTNWpBRkpsWTNSQmNtVmhBSElnSmlZZ2NuSUFRMjl0
WW1sdVpWSmxZM1FBY2lBbUppQnpBRTkyWlhKc1lYQUFiZ0J6Y0d4cGRDNXhMbU1BVTNCc2FYUk9i
MlJsQUdJQWJpMCtZMjkxYm5RZ0t5QW9LbTV1S1MwK1kyOTFiblFnUFQwZ1RrOUVSVU5CVWtRZ0t5
QXhBRXh2WVdST2IyUmxjd0J4QUhBQWNuUndMVDV6Y0d4cGRDNVFZWEowYVhScGIyNXpXekJkTG5C
aGNuUnBkR2x2Ymx0cFhTQTlQU0F3SUh4OElISjBjQzArYzNCc2FYUXVVR0Z5ZEdsMGFXOXVjMXN3
WFM1d1lYSjBhWFJwYjI1YmFWMGdQVDBnTVFCeWRIQXRQbk53YkdsMExsQmhjblJwZEdsdmJuTmJN
RjB1WTI5MWJuUmJNRjBnS3lCeWRIQXRQbk53YkdsMExsQmhjblJwZEdsdmJuTmJNRjB1WTI5MWJu
UmJNVjBnUFQwZ1RrOUVSVU5CVWtRZ0t5QXhBRTFsZEdodlpGcGxjbThBY25Sd0xUNXpjR3hwZEM1
UVlYSjBhWFJwYjI1eld6QmRMbU52ZFc1MFd6QmRJRDQ5SUhKMGNDMCtUV2x1Um1sc2JDQW1KaUJ5
ZEhBdFBuTndiR2wwTGxCaGNuUnBkR2x2Ym5OYk1GMHVZMjkxYm5SYk1WMGdQajBnY25Sd0xUNU5h
VzVHYVd4c0FDRnlkSEF0UG5Od2JHbDBMbEJoY25ScGRHbHZibk5iTUYwdWRHRnJaVzViYVYwQVEy
eGhjM05wWm5rQVIyVjBRbkpoYm1Ob1pYTUFiaTArWW5KaGJtTm9XMmxkTG1Ob2FXeGtBRk41Ym5S
aGVDQmxjbkp2Y2pvZ2JtOXVMWE53WVdObElITjBjbWx1WnlCMWMyVmtJR0psWm05eVpTQThWRUZD
VEVVK0FGTjViblJoZUNCbGNuSnZjam9nYm05dUxYTndZV05sSUhOMGNtbHVaeUIxYzJWa0lHRm1k
R1Z5SUR3dlZFRkNURVUrQUcxbGJXOXllU0JsZUdoaGRYTjBaV1FBSlhNZ2FXNGdiR2x1WlNBbFpD
QUtBQzR1TGlBbGN5QXVMaTRLQUZSQlFreEZBRlJTQUZSSUFGUkVBRWhVVFV3QVJrOU9WQUJDQUZV
QVR3QkpBRk5WVUFCVFZVSUFVd0JDVWdCSVVnQldVZ0JKVFVjQVZXNXJibTkzYmlCSVZFMU1JR1Zz
WlcxbGJuUWdQQ1Z6UGlCdmJpQnNhVzVsSUNWa0lBb0FQRWxOUno0QVNXeHNaV2RoYkNCaGRIUnlh
V0oxZEdVZ0pYTWdhVzRnSlhNZ0xTQnBaMjV2Y21Wa0NnQnpZMkZzWlFCemNtTUFQRUpTUGdCaGJH
bG5iZ0JKUjBoVUFFVkdWQUJGVGxSRlVnQkpiR3hsWjJGc0lIWmhiSFZsSUNWeklHWnZjaUJCVEVs
SFRpQXRJR2xuYm05eVpXUUtBRHhHVDA1VVBnQmpiMnh2Y2dCbVlXTmxBSEJ2YVc1MExYTnBlbVVB
VUU5SlRsUXRVMGxhUlFCSmJYQnliM0JsY2lBbGN5QjJZV3gxWlNBbGN5QXRJR2xuYm05eVpXUUFK
WE1nZG1Gc2RXVWdKWE1nUGlBbFpDQXRJSFJ2YnlCc1lYSm5aU0F0SUdsbmJtOXlaV1FBSlhNZ2Rt
RnNkV1VnSlhNZ1BDQWxaQ0F0SUhSdmJ5QnpiV0ZzYkNBdElHbG5ibTl5WldRQVBGUkVQZ0JpWVd4
cFoyNEFZbWRqYjJ4dmNnQmliM0prWlhJQVkyVnNiSEJoWkdScGJtY0FZMlZzYkhOd1lXTnBibWNB
WTI5c2MzQmhiZ0JtYVhobFpITnBlbVVBWjNKaFpHbGxiblJoYm1kc1pRQm9aV2xuYUhRQWFISmxa
Z0JwWkFCd2IzSjBBSEp2ZDNOd1lXNEFjMmxrWlhNQWMzUjViR1VBZEdGeVoyVjBBSFJwZEd4bEFI
UnZiMngwYVhBQWRtRnNhV2R1QUhkcFpIUm9BRmRKUkZSSUFFOVVWRTlOQUU5UUFFbEVSRXhGQUVs
c2JHVm5ZV3dnZG1Gc2RXVWdKWE1nWm05eUlGWkJURWxIVGlBdElHbG5ibTl5WldRS0FDQXNBRTlW
VGtSRlJBQkJSRWxCVEFCSmJHeGxaMkZzSUhaaGJIVmxJQ1Z6SUdadmNpQlRWRmxNUlNBdElHbG5i
bTl5WldRS0FGTlBURWxFQUVsT1ZrbFRTVUpNUlFCSlRsWkpVd0JFVDFSVVJVUUFSRUZUU0VWRUFG
VnVjbVZqYjJkdWFYcGxaQ0JqYUdGeVlXTjBaWElnSnlWakp5QW9KV1FwSUdsdUlITnBaR1Z6SUdG
MGRISnBZblYwWlFvQVVrOVhVMUJCVGdCU1QxZFRVRUZPSUhaaGJIVmxJR05oYm01dmRDQmlaU0F3
SUMwZ2FXZHViM0psWkFvQVNFVkpSMGhVQUVkU1FVUkpSVTVVUVU1SFRFVUFVbFZGQUVGTVUwVUFT
V3hzWldkaGJDQjJZV3gxWlNBbGN5Qm1iM0lnUmtsWVJVUlRTVnBGSUMwZ2FXZHViM0psWkFvQVEw
OU1VMUJCVGdCRFQweFRVRUZPSUhaaGJIVmxJR05oYm01dmRDQmlaU0F3SUMwZ2FXZHViM0psWkFv
QVEwVk1URk5RUVVOSlRrY0FRMFZNVEZCQlJFUkpUa2NBUWs5U1JFVlNBRWxzYkdWbllXd2dkbUZz
ZFdVZ0pYTWdabTl5SUVKQlRFbEhUaUJwYmlCVVJDQXRJR2xuYm05eVpXUUtBRVZZVkFCSmJHeGxa
MkZzSUhaaGJIVmxJQ1Z6SUdadmNpQkJURWxIVGlCcGJpQlVSQ0F0SUdsbmJtOXlaV1FLQUR4VVFV
Sk1SVDRBWTJWc2JHSnZjbVJsY2dCamIyeDFiVzV6QUhKdmQzTUFWVzVyYm05M2JpQjJZV3gxWlNB
bGN5Qm1iM0lnVWs5WFV5QXRJR2xuYm05eVpXUUtBRlZ1YTI1dmQyNGdkbUZzZFdVZ0pYTWdabTl5
SUVOUFRGVk5UbE1nTFNCcFoyNXZjbVZrQ2dCRFJVeE1VMEpQVWtSRlVnQThTRlJOVEQ0QVBDOUlW
RTFNUGdBdExRQk1ZV0psYkNCamJHOXpaV1FnWW1WbWIzSmxJR1Z1WkNCdlppQklWRTFNSUdWc1pX
MWxiblFLQUZWdVkyeHZjMlZrSUdOdmJXMWxiblFLQUdvZ1BUMGdNQUJqZG5RdVl3QlFiMkp6Y0dG
MGFBQnliM1YwWlM1akFHeHBZbkJoZEdndkpYTTZKV1E2SUNWekNnQnphRzl5ZEdWemRDNWpBSE52
ZFhKalpTQndiMmx1ZENCdWIzUWdhVzRnWVc1NUlIUnlhV0Z1WjJ4bEFHUmxjM1JwYm1GMGFXOXVJ
SEJ2YVc1MElHNXZkQ0JwYmlCaGJua2dkSEpwWVc1bmJHVUFZMkZ1Ym05MElHWnBibVFnZEhKcFlX
NW5iR1VnY0dGMGFBQmpZVzV1YjNRZ2JXRnNiRzlqSUc5d2N3QmpZVzV1YjNRZ2NtVmhiR3h2WXlC
dmNITUFkSEpwWVc1bmRXeGhkR2x2YmlCbVlXbHNaV1FBWTJGdWJtOTBJRzFoYkd4dll5QjBjbWx6
QUdOaGJtNXZkQ0J5WldGc2JHOWpJSFJ5YVhNQVkyRnVibTkwSUcxaGJHeHZZeUJrY1M1d2JteHpB
R05oYm01dmRDQnlaV0ZzYkc5aklHUnhMbkJ1YkhNQVkyRnVibTkwSUcxaGJHeHZZeUJ3Ym14ekFH
TmhibTV2ZENCdFlXeHNiMk1nY0c1c2NITUFZMkZ1Ym05MElISmxZV3hzYjJNZ2NHNXNjd0JqWVc1
dWIzUWdjbVZoYkd4dll5QndibXh3Y3dCRFJFRlVRUUJKUkFCSlJGSkZSZ0JKUkZKRlJsTUFSVTVV
U1ZSWkFFVk9WRWxVU1VWVEFFNU5WRTlMUlU0QVRrMVVUMHRGVGxNQVRrOVVRVlJKVDA0b0FDZ0Fm
QUF2WkdWMkwzVnlZVzVrYjIwQVptRnNiR0poWTJzb05Da0FaMlYwZEdsdFpXOW1aR0Y1WDNKbGN5
QTlQU0F3QUhodGJIQmhjbk5sTG1NQVoyRjBhR1Z5WDNScGJXVmZaVzUwY205d2VRQkZXRkJCVkY5
RlRsUlNUMUJaWDBSRlFsVkhBREVBUlc1MGNtOXdlVG9nSlhNZ0xTMCtJREI0SlRBcWJIZ2dLQ1Zz
ZFNCaWVYUmxjeWtLQUdsdWRtRnNhV1FnWVhKbmRXMWxiblFBY0hKbFptbDRJRzExYzNRZ2JtOTBJ
R0psSUdKdmRXNWtJSFJ2SUc5dVpTQnZaaUIwYUdVZ2NtVnpaWEoyWldRZ2JtRnRaWE53WVdObElH
NWhiV1Z6QUhKbGMyVnlkbVZrSUhCeVpXWnBlQ0FvZUcxc2JuTXBJRzExYzNRZ2JtOTBJR0psSUdS
bFkyeGhjbVZrSUc5eUlIVnVaR1ZqYkdGeVpXUUFjbVZ6WlhKMlpXUWdjSEpsWm1sNElDaDRiV3dw
SUcxMWMzUWdibTkwSUdKbElIVnVaR1ZqYkdGeVpXUWdiM0lnWW05MWJtUWdkRzhnWVc1dmRHaGxj
aUJ1WVcxbGMzQmhZMlVnYm1GdFpRQmpZVzV1YjNRZ2MzVnpjR1Z1WkNCcGJpQmxlSFJsY201aGJD
QndZWEpoYldWMFpYSWdaVzUwYVhSNUFIQmhjbk5wYm1jZ1ptbHVhWE5vWldRQWNHRnljMmx1WnlC
aFltOXlkR1ZrQUhCaGNuTmxjaUJ1YjNRZ2MzVnpjR1Z1WkdWa0FIQmhjbk5sY2lCemRYTndaVzVr
WldRQWFXeHNaV2RoYkNCamFHRnlZV04wWlhJb2N5a2dhVzRnY0hWaWJHbGpJR2xrQUhSbGVIUWda
R1ZqYkdGeVlYUnBiMjRnYm05MElIZGxiR3d0Wm05eWJXVmtBRmhOVENCa1pXTnNZWEpoZEdsdmJp
QnViM1FnZDJWc2JDMW1iM0p0WldRQWFXNWpiMjF3YkdWMFpTQnRZWEpyZFhBZ2FXNGdjR0Z5WVcx
bGRHVnlJR1Z1ZEdsMGVRQnRkWE4wSUc1dmRDQjFibVJsWTJ4aGNtVWdjSEpsWm1sNEFIVnVZbTkx
Ym1RZ2NISmxabWw0QUdOaGJtNXZkQ0JqYUdGdVoyVWdjMlYwZEdsdVp5QnZibU5sSUhCaGNuTnBi
bWNnYUdGeklHSmxaM1Z1QUhKbGNYVmxjM1JsWkNCbVpXRjBkWEpsSUhKbGNYVnBjbVZ6SUZoTlRG
OUVWRVFnYzNWd2NHOXlkQ0JwYmlCRmVIQmhkQUJsYm5ScGRIa2daR1ZqYkdGeVpXUWdhVzRnY0dG
eVlXMWxkR1Z5SUdWdWRHbDBlUUIxYm1WNGNHVmpkR1ZrSUhCaGNuTmxjaUJ6ZEdGMFpTQXRJSEJz
WldGelpTQnpaVzVrSUdFZ1luVm5JSEpsY0c5eWRBQmtiMk4xYldWdWRDQnBjeUJ1YjNRZ2MzUmhi
bVJoYkc5dVpRQmxjbkp2Y2lCcGJpQndjbTlqWlhOemFXNW5JR1Y0ZEdWeWJtRnNJR1Z1ZEdsMGVT
QnlaV1psY21WdVkyVUFkVzVqYkc5elpXUWdRMFJCVkVFZ2MyVmpkR2x2YmdCbGJtTnZaR2x1WnlC
emNHVmphV1pwWldRZ2FXNGdXRTFNSUdSbFkyeGhjbUYwYVc5dUlHbHpJR2x1WTI5eWNtVmpkQUIx
Ym10dWIzZHVJR1Z1WTI5a2FXNW5BRmhOVENCdmNpQjBaWGgwSUdSbFkyeGhjbUYwYVc5dUlHNXZk
Q0JoZENCemRHRnlkQ0J2WmlCbGJuUnBkSGtBY21WbVpYSmxibU5sSUhSdklHVjRkR1Z5Ym1Gc0lH
VnVkR2wwZVNCcGJpQmhkSFJ5YVdKMWRHVUFjbVZtWlhKbGJtTmxJSFJ2SUdKcGJtRnllU0JsYm5S
cGRIa0FjbVZtWlhKbGJtTmxJSFJ2SUdsdWRtRnNhV1FnWTJoaGNtRmpkR1Z5SUc1MWJXSmxjZ0Jo
YzNsdVkyaHliMjV2ZFhNZ1pXNTBhWFI1QUhKbFkzVnljMmwyWlNCbGJuUnBkSGtnY21WbVpYSmxi
bU5sQUhWdVpHVm1hVzVsWkNCbGJuUnBkSGtBYVd4c1pXZGhiQ0J3WVhKaGJXVjBaWElnWlc1MGFY
UjVJSEpsWm1WeVpXNWpaUUJxZFc1cklHRm1kR1Z5SUdSdlkzVnRaVzUwSUdWc1pXMWxiblFBWkhW
d2JHbGpZWFJsSUdGMGRISnBZblYwWlFCdGFYTnRZWFJqYUdWa0lIUmhad0J3WVhKMGFXRnNJR05v
WVhKaFkzUmxjZ0IxYm1Oc2IzTmxaQ0IwYjJ0bGJnQnViM1FnZDJWc2JDMW1iM0p0WldRZ0tHbHVk
bUZzYVdRZ2RHOXJaVzRwQUc1dklHVnNaVzFsYm5RZ1ptOTFibVFBYzNsdWRHRjRJR1Z5Y205eUFH
OTFkQ0J2WmlCdFpXMXZjbmtBUTBSQlZFRmJWVk10UVZORFNVa0FWVlJHTFRFMkFGVlVSaTB4TmtK
RkFGVlVSaTB4Tmt4RkFIWmxjbk5wYjI0QVpXNWpiMlJwYm1jQWMzUmhibVJoYkc5dVpRQkVUME5V
V1ZCRkFGTlpVMVJGVFFCUVZVSk1TVU1BUlU1VVNWUlpBRUZVVkV4SlUxUUFSVXhGVFVWT1ZBQk9U
MVJCVkVsUFRnQkpUa05NVlVSRkFFbEhUazlTUlFCRlRWQlVXUUJCVGxrQVVFTkVRVlJCQUVsTlVF
eEpSVVFBVWtWUlZVbFNSVVFBUmtsWVJVUUFRMFJCVkVFQVNVUUFTVVJTUlVZQVNVUlNSVVpUQUVW
T1ZFbFVTVVZUQUU1TlZFOUxSVTRBVGsxVVQwdEZUbE1BVGtSQlZFRUFMU3NnSUNBd1dEQjRBQ2h1
ZFd4c0tRQXRNRmdyTUZnZ01GZ3RNSGdyTUhnZ01IZ0FhVzVtQUVsT1JnQk9RVTRBTGdBQUFRSUVC
d01HQlFBdmNISnZZeTl6Wld4bUwyWmtMd0FKQUFvQURRQU1BQWNBR3dCYld6cGhiRzUxYlRwZFgx
MEFXMTViT21Gc2JuVnRPbDFmWFFCYld6cHpjR0ZqWlRwZFhRQmJYbHM2YzNCaFkyVTZYVjBBVzFz
NlpHbG5hWFE2WFYwQVcxNWJPbVJwWjJsME9sMWRBSEozWVFCcGJtWnBibWwwZVFCdVlXNEFkeXNB
VEVOZlFVeE1BRXhCVGtjQVF5NVZWRVl0T0FCUVQxTkpXQUJOVlZOTVgweFBRMUJCVkVnQVF3PT0i
O3ZhciB0ZW1wRG91YmxlUHRyPVNUQVRJQ1RPUDtTVEFUSUNUT1ArPTE2O2Z1bmN0aW9uIF9fX2Fz
c2VydF9mYWlsKGNvbmRpdGlvbixmaWxlbmFtZSxsaW5lLGZ1bmMpe2Fib3J0KCJBc3NlcnRpb24g
ZmFpbGVkOiAiK1BvaW50ZXJfc3RyaW5naWZ5KGNvbmRpdGlvbikrIiwgYXQ6ICIrW2ZpbGVuYW1l
P1BvaW50ZXJfc3RyaW5naWZ5KGZpbGVuYW1lKToidW5rbm93biBmaWxlbmFtZSIsbGluZSxmdW5j
P1BvaW50ZXJfc3RyaW5naWZ5KGZ1bmMpOiJ1bmtub3duIGZ1bmN0aW9uIl0pfXZhciBFTlY9e307
ZnVuY3Rpb24gX19fYnVpbGRFbnZpcm9ubWVudChlbnZpcm9uKXt2YXIgTUFYX0VOVl9WQUxVRVM9
NjQ7dmFyIFRPVEFMX0VOVl9TSVpFPTEwMjQ7dmFyIHBvb2xQdHI7dmFyIGVudlB0cjtpZighX19f
YnVpbGRFbnZpcm9ubWVudC5jYWxsZWQpe19fX2J1aWxkRW52aXJvbm1lbnQuY2FsbGVkPXRydWU7
RU5WWyJVU0VSIl09RU5WWyJMT0dOQU1FIl09IndlYl91c2VyIjtFTlZbIlBBVEgiXT0iLyI7RU5W
WyJQV0QiXT0iLyI7RU5WWyJIT01FIl09Ii9ob21lL3dlYl91c2VyIjtFTlZbIkxBTkciXT0iQy5V
VEYtOCI7RU5WWyJfIl09TW9kdWxlWyJ0aGlzUHJvZ3JhbSJdO3Bvb2xQdHI9Z2V0TWVtb3J5KFRP
VEFMX0VOVl9TSVpFKTtlbnZQdHI9Z2V0TWVtb3J5KE1BWF9FTlZfVkFMVUVTKjQpO0hFQVAzMltl
bnZQdHI+PjJdPXBvb2xQdHI7SEVBUDMyW2Vudmlyb24+PjJdPWVudlB0cn1lbHNle2VudlB0cj1I
RUFQMzJbZW52aXJvbj4+Ml07cG9vbFB0cj1IRUFQMzJbZW52UHRyPj4yXX12YXIgc3RyaW5ncz1b
XTt2YXIgdG90YWxTaXplPTA7Zm9yKHZhciBrZXkgaW4gRU5WKXtpZih0eXBlb2YgRU5WW2tleV09
PT0ic3RyaW5nIil7dmFyIGxpbmU9a2V5KyI9IitFTlZba2V5XTtzdHJpbmdzLnB1c2gobGluZSk7
dG90YWxTaXplKz1saW5lLmxlbmd0aH19aWYodG90YWxTaXplPlRPVEFMX0VOVl9TSVpFKXt0aHJv
dyBuZXcgRXJyb3IoIkVudmlyb25tZW50IHNpemUgZXhjZWVkZWQgVE9UQUxfRU5WX1NJWkUhIil9
dmFyIHB0clNpemU9NDtmb3IodmFyIGk9MDtpPHN0cmluZ3MubGVuZ3RoO2krKyl7dmFyIGxpbmU9
c3RyaW5nc1tpXTt3cml0ZUFzY2lpVG9NZW1vcnkobGluZSxwb29sUHRyKTtIRUFQMzJbZW52UHRy
K2kqcHRyU2l6ZT4+Ml09cG9vbFB0cjtwb29sUHRyKz1saW5lLmxlbmd0aCsxfUhFQVAzMltlbnZQ
dHIrc3RyaW5ncy5sZW5ndGgqcHRyU2l6ZT4+Ml09MH1mdW5jdGlvbiBfZW1zY3JpcHRlbl9nZXRf
bm93KCl7YWJvcnQoKX1mdW5jdGlvbiBfZW1zY3JpcHRlbl9nZXRfbm93X2lzX21vbm90b25pYygp
e3JldHVybiBFTlZJUk9OTUVOVF9JU19OT0RFfHx0eXBlb2YgZGF0ZU5vdyE9PSJ1bmRlZmluZWQi
fHwoRU5WSVJPTk1FTlRfSVNfV0VCfHxFTlZJUk9OTUVOVF9JU19XT1JLRVIpJiZzZWxmWyJwZXJm
b3JtYW5jZSJdJiZzZWxmWyJwZXJmb3JtYW5jZSJdWyJub3ciXX12YXIgRVJSTk9fQ09ERVM9e0VQ
RVJNOjEsRU5PRU5UOjIsRVNSQ0g6MyxFSU5UUjo0LEVJTzo1LEVOWElPOjYsRTJCSUc6NyxFTk9F
WEVDOjgsRUJBREY6OSxFQ0hJTEQ6MTAsRUFHQUlOOjExLEVXT1VMREJMT0NLOjExLEVOT01FTTox
MixFQUNDRVM6MTMsRUZBVUxUOjE0LEVOT1RCTEs6MTUsRUJVU1k6MTYsRUVYSVNUOjE3LEVYREVW
OjE4LEVOT0RFVjoxOSxFTk9URElSOjIwLEVJU0RJUjoyMSxFSU5WQUw6MjIsRU5GSUxFOjIzLEVN
RklMRToyNCxFTk9UVFk6MjUsRVRYVEJTWToyNixFRkJJRzoyNyxFTk9TUEM6MjgsRVNQSVBFOjI5
LEVST0ZTOjMwLEVNTElOSzozMSxFUElQRTozMixFRE9NOjMzLEVSQU5HRTozNCxFTk9NU0c6NDIs
RUlEUk06NDMsRUNIUk5HOjQ0LEVMMk5TWU5DOjQ1LEVMM0hMVDo0NixFTDNSU1Q6NDcsRUxOUk5H
OjQ4LEVVTkFUQ0g6NDksRU5PQ1NJOjUwLEVMMkhMVDo1MSxFREVBRExLOjM1LEVOT0xDSzozNyxF
QkFERTo1MixFQkFEUjo1MyxFWEZVTEw6NTQsRU5PQU5POjU1LEVCQURSUUM6NTYsRUJBRFNMVDo1
NyxFREVBRExPQ0s6MzUsRUJGT05UOjU5LEVOT1NUUjo2MCxFTk9EQVRBOjYxLEVUSU1FOjYyLEVO
T1NSOjYzLEVOT05FVDo2NCxFTk9QS0c6NjUsRVJFTU9URTo2NixFTk9MSU5LOjY3LEVBRFY6Njgs
RVNSTU5UOjY5LEVDT01NOjcwLEVQUk9UTzo3MSxFTVVMVElIT1A6NzIsRURPVERPVDo3MyxFQkFE
TVNHOjc0LEVOT1RVTklROjc2LEVCQURGRDo3NyxFUkVNQ0hHOjc4LEVMSUJBQ0M6NzksRUxJQkJB
RDo4MCxFTElCU0NOOjgxLEVMSUJNQVg6ODIsRUxJQkVYRUM6ODMsRU5PU1lTOjM4LEVOT1RFTVBU
WTozOSxFTkFNRVRPT0xPTkc6MzYsRUxPT1A6NDAsRU9QTk9UU1VQUDo5NSxFUEZOT1NVUFBPUlQ6
OTYsRUNPTk5SRVNFVDoxMDQsRU5PQlVGUzoxMDUsRUFGTk9TVVBQT1JUOjk3LEVQUk9UT1RZUEU6
OTEsRU5PVFNPQ0s6ODgsRU5PUFJPVE9PUFQ6OTIsRVNIVVRET1dOOjEwOCxFQ09OTlJFRlVTRUQ6
MTExLEVBRERSSU5VU0U6OTgsRUNPTk5BQk9SVEVEOjEwMyxFTkVUVU5SRUFDSDoxMDEsRU5FVERP
V046MTAwLEVUSU1FRE9VVDoxMTAsRUhPU1RET1dOOjExMixFSE9TVFVOUkVBQ0g6MTEzLEVJTlBS
T0dSRVNTOjExNSxFQUxSRUFEWToxMTQsRURFU1RBRERSUkVROjg5LEVNU0dTSVpFOjkwLEVQUk9U
T05PU1VQUE9SVDo5MyxFU09DS1ROT1NVUFBPUlQ6OTQsRUFERFJOT1RBVkFJTDo5OSxFTkVUUkVT
RVQ6MTAyLEVJU0NPTk46MTA2LEVOT1RDT05OOjEwNyxFVE9PTUFOWVJFRlM6MTA5LEVVU0VSUzo4
NyxFRFFVT1Q6MTIyLEVTVEFMRToxMTYsRU5PVFNVUDo5NSxFTk9NRURJVU06MTIzLEVJTFNFUTo4
NCxFT1ZFUkZMT1c6NzUsRUNBTkNFTEVEOjEyNSxFTk9UUkVDT1ZFUkFCTEU6MTMxLEVPV05FUkRF
QUQ6MTMwLEVTVFJQSVBFOjg2fTtmdW5jdGlvbiBfX19zZXRFcnJObyh2YWx1ZSl7aWYoTW9kdWxl
WyJfX19lcnJub19sb2NhdGlvbiJdKUhFQVAzMltNb2R1bGVbIl9fX2Vycm5vX2xvY2F0aW9uIl0o
KT4+Ml09dmFsdWU7cmV0dXJuIHZhbHVlfWZ1bmN0aW9uIF9jbG9ja19nZXR0aW1lKGNsa19pZCx0
cCl7dmFyIG5vdztpZihjbGtfaWQ9PT0wKXtub3c9RGF0ZS5ub3coKX1lbHNlIGlmKGNsa19pZD09
PTEmJl9lbXNjcmlwdGVuX2dldF9ub3dfaXNfbW9ub3RvbmljKCkpe25vdz1fZW1zY3JpcHRlbl9n
ZXRfbm93KCl9ZWxzZXtfX19zZXRFcnJObyhFUlJOT19DT0RFUy5FSU5WQUwpO3JldHVybi0xfUhF
QVAzMlt0cD4+Ml09bm93LzFlM3wwO0hFQVAzMlt0cCs0Pj4yXT1ub3clMWUzKjFlMyoxZTN8MDty
ZXR1cm4gMH1mdW5jdGlvbiBfX19jbG9ja19nZXR0aW1lKCl7cmV0dXJuIF9jbG9ja19nZXR0aW1l
LmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBfX19sb2NrKCl7fWZ1bmN0aW9uIF9fX21h
cF9maWxlKHBhdGhuYW1lLHNpemUpe19fX3NldEVyck5vKEVSUk5PX0NPREVTLkVQRVJNKTtyZXR1
cm4tMX12YXIgRVJSTk9fTUVTU0FHRVM9ezA6IlN1Y2Nlc3MiLDE6Ik5vdCBzdXBlci11c2VyIiwy
OiJObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IiwzOiJObyBzdWNoIHByb2Nlc3MiLDQ6IkludGVy
cnVwdGVkIHN5c3RlbSBjYWxsIiw1OiJJL08gZXJyb3IiLDY6Ik5vIHN1Y2ggZGV2aWNlIG9yIGFk
ZHJlc3MiLDc6IkFyZyBsaXN0IHRvbyBsb25nIiw4OiJFeGVjIGZvcm1hdCBlcnJvciIsOToiQmFk
IGZpbGUgbnVtYmVyIiwxMDoiTm8gY2hpbGRyZW4iLDExOiJObyBtb3JlIHByb2Nlc3NlcyIsMTI6
Ik5vdCBlbm91Z2ggY29yZSIsMTM6IlBlcm1pc3Npb24gZGVuaWVkIiwxNDoiQmFkIGFkZHJlc3Mi
LDE1OiJCbG9jayBkZXZpY2UgcmVxdWlyZWQiLDE2OiJNb3VudCBkZXZpY2UgYnVzeSIsMTc6IkZp
bGUgZXhpc3RzIiwxODoiQ3Jvc3MtZGV2aWNlIGxpbmsiLDE5OiJObyBzdWNoIGRldmljZSIsMjA6
Ik5vdCBhIGRpcmVjdG9yeSIsMjE6IklzIGEgZGlyZWN0b3J5IiwyMjoiSW52YWxpZCBhcmd1bWVu
dCIsMjM6IlRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtIiwyNDoiVG9vIG1hbnkgb3BlbiBm
aWxlcyIsMjU6Ik5vdCBhIHR5cGV3cml0ZXIiLDI2OiJUZXh0IGZpbGUgYnVzeSIsMjc6IkZpbGUg
dG9vIGxhcmdlIiwyODoiTm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UiLDI5OiJJbGxlZ2FsIHNlZWsi
LDMwOiJSZWFkIG9ubHkgZmlsZSBzeXN0ZW0iLDMxOiJUb28gbWFueSBsaW5rcyIsMzI6IkJyb2tl
biBwaXBlIiwzMzoiTWF0aCBhcmcgb3V0IG9mIGRvbWFpbiBvZiBmdW5jIiwzNDoiTWF0aCByZXN1
bHQgbm90IHJlcHJlc2VudGFibGUiLDM1OiJGaWxlIGxvY2tpbmcgZGVhZGxvY2sgZXJyb3IiLDM2
OiJGaWxlIG9yIHBhdGggbmFtZSB0b28gbG9uZyIsMzc6Ik5vIHJlY29yZCBsb2NrcyBhdmFpbGFi
bGUiLDM4OiJGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQiLDM5OiJEaXJlY3Rvcnkgbm90IGVtcHR5
Iiw0MDoiVG9vIG1hbnkgc3ltYm9saWMgbGlua3MiLDQyOiJObyBtZXNzYWdlIG9mIGRlc2lyZWQg
dHlwZSIsNDM6IklkZW50aWZpZXIgcmVtb3ZlZCIsNDQ6IkNoYW5uZWwgbnVtYmVyIG91dCBvZiBy
YW5nZSIsNDU6IkxldmVsIDIgbm90IHN5bmNocm9uaXplZCIsNDY6IkxldmVsIDMgaGFsdGVkIiw0
NzoiTGV2ZWwgMyByZXNldCIsNDg6IkxpbmsgbnVtYmVyIG91dCBvZiByYW5nZSIsNDk6IlByb3Rv
Y29sIGRyaXZlciBub3QgYXR0YWNoZWQiLDUwOiJObyBDU0kgc3RydWN0dXJlIGF2YWlsYWJsZSIs
NTE6IkxldmVsIDIgaGFsdGVkIiw1MjoiSW52YWxpZCBleGNoYW5nZSIsNTM6IkludmFsaWQgcmVx
dWVzdCBkZXNjcmlwdG9yIiw1NDoiRXhjaGFuZ2UgZnVsbCIsNTU6Ik5vIGFub2RlIiw1NjoiSW52
YWxpZCByZXF1ZXN0IGNvZGUiLDU3OiJJbnZhbGlkIHNsb3QiLDU5OiJCYWQgZm9udCBmaWxlIGZt
dCIsNjA6IkRldmljZSBub3QgYSBzdHJlYW0iLDYxOiJObyBkYXRhIChmb3Igbm8gZGVsYXkgaW8p
Iiw2MjoiVGltZXIgZXhwaXJlZCIsNjM6Ik91dCBvZiBzdHJlYW1zIHJlc291cmNlcyIsNjQ6Ik1h
Y2hpbmUgaXMgbm90IG9uIHRoZSBuZXR3b3JrIiw2NToiUGFja2FnZSBub3QgaW5zdGFsbGVkIiw2
NjoiVGhlIG9iamVjdCBpcyByZW1vdGUiLDY3OiJUaGUgbGluayBoYXMgYmVlbiBzZXZlcmVkIiw2
ODoiQWR2ZXJ0aXNlIGVycm9yIiw2OToiU3Jtb3VudCBlcnJvciIsNzA6IkNvbW11bmljYXRpb24g
ZXJyb3Igb24gc2VuZCIsNzE6IlByb3RvY29sIGVycm9yIiw3MjoiTXVsdGlob3AgYXR0ZW1wdGVk
Iiw3MzoiQ3Jvc3MgbW91bnQgcG9pbnQgKG5vdCByZWFsbHkgZXJyb3IpIiw3NDoiVHJ5aW5nIHRv
IHJlYWQgdW5yZWFkYWJsZSBtZXNzYWdlIiw3NToiVmFsdWUgdG9vIGxhcmdlIGZvciBkZWZpbmVk
IGRhdGEgdHlwZSIsNzY6IkdpdmVuIGxvZy4gbmFtZSBub3QgdW5pcXVlIiw3NzoiZi5kLiBpbnZh
bGlkIGZvciB0aGlzIG9wZXJhdGlvbiIsNzg6IlJlbW90ZSBhZGRyZXNzIGNoYW5nZWQiLDc5OiJD
YW4gICBhY2Nlc3MgYSBuZWVkZWQgc2hhcmVkIGxpYiIsODA6IkFjY2Vzc2luZyBhIGNvcnJ1cHRl
ZCBzaGFyZWQgbGliIiw4MToiLmxpYiBzZWN0aW9uIGluIGEub3V0IGNvcnJ1cHRlZCIsODI6IkF0
dGVtcHRpbmcgdG8gbGluayBpbiB0b28gbWFueSBsaWJzIiw4MzoiQXR0ZW1wdGluZyB0byBleGVj
IGEgc2hhcmVkIGxpYnJhcnkiLDg0OiJJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UiLDg2OiJTdHJlYW1z
IHBpcGUgZXJyb3IiLDg3OiJUb28gbWFueSB1c2VycyIsODg6IlNvY2tldCBvcGVyYXRpb24gb24g
bm9uLXNvY2tldCIsODk6IkRlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQiLDkwOiJNZXNzYWdl
IHRvbyBsb25nIiw5MToiUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0Iiw5MjoiUHJvdG9j
b2wgbm90IGF2YWlsYWJsZSIsOTM6IlVua25vd24gcHJvdG9jb2wiLDk0OiJTb2NrZXQgdHlwZSBu
b3Qgc3VwcG9ydGVkIiw5NToiTm90IHN1cHBvcnRlZCIsOTY6IlByb3RvY29sIGZhbWlseSBub3Qg
c3VwcG9ydGVkIiw5NzoiQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbCBm
YW1pbHkiLDk4OiJBZGRyZXNzIGFscmVhZHkgaW4gdXNlIiw5OToiQWRkcmVzcyBub3QgYXZhaWxh
YmxlIiwxMDA6Ik5ldHdvcmsgaW50ZXJmYWNlIGlzIG5vdCBjb25maWd1cmVkIiwxMDE6Ik5ldHdv
cmsgaXMgdW5yZWFjaGFibGUiLDEwMjoiQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrIiwxMDM6
IkNvbm5lY3Rpb24gYWJvcnRlZCIsMTA0OiJDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIiLDEwNToi
Tm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZSIsMTA2OiJTb2NrZXQgaXMgYWxyZWFkeSBjb25uZWN0
ZWQiLDEwNzoiU29ja2V0IGlzIG5vdCBjb25uZWN0ZWQiLDEwODoiQ2FuJ3Qgc2VuZCBhZnRlciBz
b2NrZXQgc2h1dGRvd24iLDEwOToiVG9vIG1hbnkgcmVmZXJlbmNlcyIsMTEwOiJDb25uZWN0aW9u
IHRpbWVkIG91dCIsMTExOiJDb25uZWN0aW9uIHJlZnVzZWQiLDExMjoiSG9zdCBpcyBkb3duIiwx
MTM6Ikhvc3QgaXMgdW5yZWFjaGFibGUiLDExNDoiU29ja2V0IGFscmVhZHkgY29ubmVjdGVkIiwx
MTU6IkNvbm5lY3Rpb24gYWxyZWFkeSBpbiBwcm9ncmVzcyIsMTE2OiJTdGFsZSBmaWxlIGhhbmRs
ZSIsMTIyOiJRdW90YSBleGNlZWRlZCIsMTIzOiJObyBtZWRpdW0gKGluIHRhcGUgZHJpdmUpIiwx
MjU6Ik9wZXJhdGlvbiBjYW5jZWxlZCIsMTMwOiJQcmV2aW91cyBvd25lciBkaWVkIiwxMzE6IlN0
YXRlIG5vdCByZWNvdmVyYWJsZSJ9O3ZhciBQQVRIPXtzcGxpdFBhdGg6KGZ1bmN0aW9uKGZpbGVu
YW1lKXt2YXIgc3BsaXRQYXRoUmU9L14oXC8/fCkoW1xzXFNdKj8pKCg/OlwuezEsMn18W15cL10r
P3wpKFwuW14uXC9dKnwpKSg/OltcL10qKSQvO3JldHVybiBzcGxpdFBhdGhSZS5leGVjKGZpbGVu
YW1lKS5zbGljZSgxKX0pLG5vcm1hbGl6ZUFycmF5OihmdW5jdGlvbihwYXJ0cyxhbGxvd0Fib3Zl
Um9vdCl7dmFyIHVwPTA7Zm9yKHZhciBpPXBhcnRzLmxlbmd0aC0xO2k+PTA7aS0tKXt2YXIgbGFz
dD1wYXJ0c1tpXTtpZihsYXN0PT09Ii4iKXtwYXJ0cy5zcGxpY2UoaSwxKX1lbHNlIGlmKGxhc3Q9
PT0iLi4iKXtwYXJ0cy5zcGxpY2UoaSwxKTt1cCsrfWVsc2UgaWYodXApe3BhcnRzLnNwbGljZShp
LDEpO3VwLS19fWlmKGFsbG93QWJvdmVSb290KXtmb3IoO3VwO3VwLS0pe3BhcnRzLnVuc2hpZnQo
Ii4uIil9fXJldHVybiBwYXJ0c30pLG5vcm1hbGl6ZTooZnVuY3Rpb24ocGF0aCl7dmFyIGlzQWJz
b2x1dGU9cGF0aC5jaGFyQXQoMCk9PT0iLyIsdHJhaWxpbmdTbGFzaD1wYXRoLnN1YnN0cigtMSk9
PT0iLyI7cGF0aD1QQVRILm5vcm1hbGl6ZUFycmF5KHBhdGguc3BsaXQoIi8iKS5maWx0ZXIoKGZ1
bmN0aW9uKHApe3JldHVybiEhcH0pKSwhaXNBYnNvbHV0ZSkuam9pbigiLyIpO2lmKCFwYXRoJiYh
aXNBYnNvbHV0ZSl7cGF0aD0iLiJ9aWYocGF0aCYmdHJhaWxpbmdTbGFzaCl7cGF0aCs9Ii8ifXJl
dHVybihpc0Fic29sdXRlPyIvIjoiIikrcGF0aH0pLGRpcm5hbWU6KGZ1bmN0aW9uKHBhdGgpe3Zh
ciByZXN1bHQ9UEFUSC5zcGxpdFBhdGgocGF0aCkscm9vdD1yZXN1bHRbMF0sZGlyPXJlc3VsdFsx
XTtpZighcm9vdCYmIWRpcil7cmV0dXJuIi4ifWlmKGRpcil7ZGlyPWRpci5zdWJzdHIoMCxkaXIu
bGVuZ3RoLTEpfXJldHVybiByb290K2Rpcn0pLGJhc2VuYW1lOihmdW5jdGlvbihwYXRoKXtpZihw
YXRoPT09Ii8iKXJldHVybiIvIjt2YXIgbGFzdFNsYXNoPXBhdGgubGFzdEluZGV4T2YoIi8iKTtp
ZihsYXN0U2xhc2g9PT0tMSlyZXR1cm4gcGF0aDtyZXR1cm4gcGF0aC5zdWJzdHIobGFzdFNsYXNo
KzEpfSksZXh0bmFtZTooZnVuY3Rpb24ocGF0aCl7cmV0dXJuIFBBVEguc3BsaXRQYXRoKHBhdGgp
WzNdfSksam9pbjooZnVuY3Rpb24oKXt2YXIgcGF0aHM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNh
bGwoYXJndW1lbnRzLDApO3JldHVybiBQQVRILm5vcm1hbGl6ZShwYXRocy5qb2luKCIvIikpfSks
am9pbjI6KGZ1bmN0aW9uKGwscil7cmV0dXJuIFBBVEgubm9ybWFsaXplKGwrIi8iK3IpfSkscmVz
b2x2ZTooZnVuY3Rpb24oKXt2YXIgcmVzb2x2ZWRQYXRoPSIiLHJlc29sdmVkQWJzb2x1dGU9ZmFs
c2U7Zm9yKHZhciBpPWFyZ3VtZW50cy5sZW5ndGgtMTtpPj0tMSYmIXJlc29sdmVkQWJzb2x1dGU7
aS0tKXt2YXIgcGF0aD1pPj0wP2FyZ3VtZW50c1tpXTpGUy5jd2QoKTtpZih0eXBlb2YgcGF0aCE9
PSJzdHJpbmciKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudHMgdG8gcGF0aC5yZXNvbHZl
IG11c3QgYmUgc3RyaW5ncyIpfWVsc2UgaWYoIXBhdGgpe3JldHVybiIifXJlc29sdmVkUGF0aD1w
YXRoKyIvIityZXNvbHZlZFBhdGg7cmVzb2x2ZWRBYnNvbHV0ZT1wYXRoLmNoYXJBdCgwKT09PSIv
In1yZXNvbHZlZFBhdGg9UEFUSC5ub3JtYWxpemVBcnJheShyZXNvbHZlZFBhdGguc3BsaXQoIi8i
KS5maWx0ZXIoKGZ1bmN0aW9uKHApe3JldHVybiEhcH0pKSwhcmVzb2x2ZWRBYnNvbHV0ZSkuam9p
bigiLyIpO3JldHVybihyZXNvbHZlZEFic29sdXRlPyIvIjoiIikrcmVzb2x2ZWRQYXRofHwiLiJ9
KSxyZWxhdGl2ZTooZnVuY3Rpb24oZnJvbSx0byl7ZnJvbT1QQVRILnJlc29sdmUoZnJvbSkuc3Vi
c3RyKDEpO3RvPVBBVEgucmVzb2x2ZSh0bykuc3Vic3RyKDEpO2Z1bmN0aW9uIHRyaW0oYXJyKXt2
YXIgc3RhcnQ9MDtmb3IoO3N0YXJ0PGFyci5sZW5ndGg7c3RhcnQrKyl7aWYoYXJyW3N0YXJ0XSE9
PSIiKWJyZWFrfXZhciBlbmQ9YXJyLmxlbmd0aC0xO2Zvcig7ZW5kPj0wO2VuZC0tKXtpZihhcnJb
ZW5kXSE9PSIiKWJyZWFrfWlmKHN0YXJ0PmVuZClyZXR1cm5bXTtyZXR1cm4gYXJyLnNsaWNlKHN0
YXJ0LGVuZC1zdGFydCsxKX12YXIgZnJvbVBhcnRzPXRyaW0oZnJvbS5zcGxpdCgiLyIpKTt2YXIg
dG9QYXJ0cz10cmltKHRvLnNwbGl0KCIvIikpO3ZhciBsZW5ndGg9TWF0aC5taW4oZnJvbVBhcnRz
Lmxlbmd0aCx0b1BhcnRzLmxlbmd0aCk7dmFyIHNhbWVQYXJ0c0xlbmd0aD1sZW5ndGg7Zm9yKHZh
ciBpPTA7aTxsZW5ndGg7aSsrKXtpZihmcm9tUGFydHNbaV0hPT10b1BhcnRzW2ldKXtzYW1lUGFy
dHNMZW5ndGg9aTticmVha319dmFyIG91dHB1dFBhcnRzPVtdO2Zvcih2YXIgaT1zYW1lUGFydHNM
ZW5ndGg7aTxmcm9tUGFydHMubGVuZ3RoO2krKyl7b3V0cHV0UGFydHMucHVzaCgiLi4iKX1vdXRw
dXRQYXJ0cz1vdXRwdXRQYXJ0cy5jb25jYXQodG9QYXJ0cy5zbGljZShzYW1lUGFydHNMZW5ndGgp
KTtyZXR1cm4gb3V0cHV0UGFydHMuam9pbigiLyIpfSl9O3ZhciBUVFk9e3R0eXM6W10saW5pdDoo
ZnVuY3Rpb24oKXt9KSxzaHV0ZG93bjooZnVuY3Rpb24oKXt9KSxyZWdpc3RlcjooZnVuY3Rpb24o
ZGV2LG9wcyl7VFRZLnR0eXNbZGV2XT17aW5wdXQ6W10sb3V0cHV0OltdLG9wczpvcHN9O0ZTLnJl
Z2lzdGVyRGV2aWNlKGRldixUVFkuc3RyZWFtX29wcyl9KSxzdHJlYW1fb3BzOntvcGVuOihmdW5j
dGlvbihzdHJlYW0pe3ZhciB0dHk9VFRZLnR0eXNbc3RyZWFtLm5vZGUucmRldl07aWYoIXR0eSl7
dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5PREVWKX1zdHJlYW0udHR5PXR0
eTtzdHJlYW0uc2Vla2FibGU9ZmFsc2V9KSxjbG9zZTooZnVuY3Rpb24oc3RyZWFtKXtzdHJlYW0u
dHR5Lm9wcy5mbHVzaChzdHJlYW0udHR5KX0pLGZsdXNoOihmdW5jdGlvbihzdHJlYW0pe3N0cmVh
bS50dHkub3BzLmZsdXNoKHN0cmVhbS50dHkpfSkscmVhZDooZnVuY3Rpb24oc3RyZWFtLGJ1ZmZl
cixvZmZzZXQsbGVuZ3RoLHBvcyl7aWYoIXN0cmVhbS50dHl8fCFzdHJlYW0udHR5Lm9wcy5nZXRf
Y2hhcil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5YSU8pfXZhciBieXRl
c1JlYWQ9MDtmb3IodmFyIGk9MDtpPGxlbmd0aDtpKyspe3ZhciByZXN1bHQ7dHJ5e3Jlc3VsdD1z
dHJlYW0udHR5Lm9wcy5nZXRfY2hhcihzdHJlYW0udHR5KX1jYXRjaChlKXt0aHJvdyBuZXcgRlMu
RXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU8pfWlmKHJlc3VsdD09PXVuZGVmaW5lZCYmYnl0ZXNS
ZWFkPT09MCl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUFHQUlOKX1pZihy
ZXN1bHQ9PT1udWxsfHxyZXN1bHQ9PT11bmRlZmluZWQpYnJlYWs7Ynl0ZXNSZWFkKys7YnVmZmVy
W29mZnNldCtpXT1yZXN1bHR9aWYoYnl0ZXNSZWFkKXtzdHJlYW0ubm9kZS50aW1lc3RhbXA9RGF0
ZS5ub3coKX1yZXR1cm4gYnl0ZXNSZWFkfSksd3JpdGU6KGZ1bmN0aW9uKHN0cmVhbSxidWZmZXIs
b2Zmc2V0LGxlbmd0aCxwb3Mpe2lmKCFzdHJlYW0udHR5fHwhc3RyZWFtLnR0eS5vcHMucHV0X2No
YXIpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOWElPKX1mb3IodmFyIGk9
MDtpPGxlbmd0aDtpKyspe3RyeXtzdHJlYW0udHR5Lm9wcy5wdXRfY2hhcihzdHJlYW0udHR5LGJ1
ZmZlcltvZmZzZXQraV0pfWNhdGNoKGUpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NP
REVTLkVJTyl9fWlmKGxlbmd0aCl7c3RyZWFtLm5vZGUudGltZXN0YW1wPURhdGUubm93KCl9cmV0
dXJuIGl9KX0sZGVmYXVsdF90dHlfb3BzOntnZXRfY2hhcjooZnVuY3Rpb24odHR5KXtpZighdHR5
LmlucHV0Lmxlbmd0aCl7dmFyIHJlc3VsdD1udWxsO2lmKEVOVklST05NRU5UX0lTX05PREUpe3Zh
ciBCVUZTSVpFPTI1Njt2YXIgYnVmPW5ldyBCdWZmZXIoQlVGU0laRSk7dmFyIGJ5dGVzUmVhZD0w
O3ZhciBpc1Bvc2l4UGxhdGZvcm09cHJvY2Vzcy5wbGF0Zm9ybSE9IndpbjMyIjt2YXIgZmQ9cHJv
Y2Vzcy5zdGRpbi5mZDtpZihpc1Bvc2l4UGxhdGZvcm0pe3ZhciB1c2luZ0RldmljZT1mYWxzZTt0
cnl7ZmQ9ZnMub3BlblN5bmMoIi9kZXYvc3RkaW4iLCJyIik7dXNpbmdEZXZpY2U9dHJ1ZX1jYXRj
aChlKXt9fXRyeXtieXRlc1JlYWQ9ZnMucmVhZFN5bmMoZmQsYnVmLDAsQlVGU0laRSxudWxsKX1j
YXRjaChlKXtpZihlLnRvU3RyaW5nKCkuaW5kZXhPZigiRU9GIikhPS0xKWJ5dGVzUmVhZD0wO2Vs
c2UgdGhyb3cgZX1pZih1c2luZ0RldmljZSl7ZnMuY2xvc2VTeW5jKGZkKX1pZihieXRlc1JlYWQ+
MCl7cmVzdWx0PWJ1Zi5zbGljZSgwLGJ5dGVzUmVhZCkudG9TdHJpbmcoInV0Zi04Iil9ZWxzZXty
ZXN1bHQ9bnVsbH19ZWxzZSBpZih0eXBlb2Ygd2luZG93IT0idW5kZWZpbmVkIiYmdHlwZW9mIHdp
bmRvdy5wcm9tcHQ9PSJmdW5jdGlvbiIpe3Jlc3VsdD13aW5kb3cucHJvbXB0KCJJbnB1dDogIik7
aWYocmVzdWx0IT09bnVsbCl7cmVzdWx0Kz0iXG4ifX1lbHNlIGlmKHR5cGVvZiByZWFkbGluZT09
ImZ1bmN0aW9uIil7cmVzdWx0PXJlYWRsaW5lKCk7aWYocmVzdWx0IT09bnVsbCl7cmVzdWx0Kz0i
XG4ifX1pZighcmVzdWx0KXtyZXR1cm4gbnVsbH10dHkuaW5wdXQ9aW50QXJyYXlGcm9tU3RyaW5n
KHJlc3VsdCx0cnVlKX1yZXR1cm4gdHR5LmlucHV0LnNoaWZ0KCl9KSxwdXRfY2hhcjooZnVuY3Rp
b24odHR5LHZhbCl7aWYodmFsPT09bnVsbHx8dmFsPT09MTApe291dChVVEY4QXJyYXlUb1N0cmlu
Zyh0dHkub3V0cHV0LDApKTt0dHkub3V0cHV0PVtdfWVsc2V7aWYodmFsIT0wKXR0eS5vdXRwdXQu
cHVzaCh2YWwpfX0pLGZsdXNoOihmdW5jdGlvbih0dHkpe2lmKHR0eS5vdXRwdXQmJnR0eS5vdXRw
dXQubGVuZ3RoPjApe291dChVVEY4QXJyYXlUb1N0cmluZyh0dHkub3V0cHV0LDApKTt0dHkub3V0
cHV0PVtdfX0pfSxkZWZhdWx0X3R0eTFfb3BzOntwdXRfY2hhcjooZnVuY3Rpb24odHR5LHZhbCl7
aWYodmFsPT09bnVsbHx8dmFsPT09MTApe2VycihVVEY4QXJyYXlUb1N0cmluZyh0dHkub3V0cHV0
LDApKTt0dHkub3V0cHV0PVtdfWVsc2V7aWYodmFsIT0wKXR0eS5vdXRwdXQucHVzaCh2YWwpfX0p
LGZsdXNoOihmdW5jdGlvbih0dHkpe2lmKHR0eS5vdXRwdXQmJnR0eS5vdXRwdXQubGVuZ3RoPjAp
e2VycihVVEY4QXJyYXlUb1N0cmluZyh0dHkub3V0cHV0LDApKTt0dHkub3V0cHV0PVtdfX0pfX07
dmFyIE1FTUZTPXtvcHNfdGFibGU6bnVsbCxtb3VudDooZnVuY3Rpb24obW91bnQpe3JldHVybiBN
RU1GUy5jcmVhdGVOb2RlKG51bGwsIi8iLDE2Mzg0fDUxMSwwKX0pLGNyZWF0ZU5vZGU6KGZ1bmN0
aW9uKHBhcmVudCxuYW1lLG1vZGUsZGV2KXtpZihGUy5pc0Jsa2Rldihtb2RlKXx8RlMuaXNGSUZP
KG1vZGUpKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FUEVSTSl9aWYoIU1F
TUZTLm9wc190YWJsZSl7TUVNRlMub3BzX3RhYmxlPXtkaXI6e25vZGU6e2dldGF0dHI6TUVNRlMu
bm9kZV9vcHMuZ2V0YXR0cixzZXRhdHRyOk1FTUZTLm5vZGVfb3BzLnNldGF0dHIsbG9va3VwOk1F
TUZTLm5vZGVfb3BzLmxvb2t1cCxta25vZDpNRU1GUy5ub2RlX29wcy5ta25vZCxyZW5hbWU6TUVN
RlMubm9kZV9vcHMucmVuYW1lLHVubGluazpNRU1GUy5ub2RlX29wcy51bmxpbmsscm1kaXI6TUVN
RlMubm9kZV9vcHMucm1kaXIscmVhZGRpcjpNRU1GUy5ub2RlX29wcy5yZWFkZGlyLHN5bWxpbms6
TUVNRlMubm9kZV9vcHMuc3ltbGlua30sc3RyZWFtOntsbHNlZWs6TUVNRlMuc3RyZWFtX29wcy5s
bHNlZWt9fSxmaWxlOntub2RlOntnZXRhdHRyOk1FTUZTLm5vZGVfb3BzLmdldGF0dHIsc2V0YXR0
cjpNRU1GUy5ub2RlX29wcy5zZXRhdHRyfSxzdHJlYW06e2xsc2VlazpNRU1GUy5zdHJlYW1fb3Bz
Lmxsc2VlayxyZWFkOk1FTUZTLnN0cmVhbV9vcHMucmVhZCx3cml0ZTpNRU1GUy5zdHJlYW1fb3Bz
LndyaXRlLGFsbG9jYXRlOk1FTUZTLnN0cmVhbV9vcHMuYWxsb2NhdGUsbW1hcDpNRU1GUy5zdHJl
YW1fb3BzLm1tYXAsbXN5bmM6TUVNRlMuc3RyZWFtX29wcy5tc3luY319LGxpbms6e25vZGU6e2dl
dGF0dHI6TUVNRlMubm9kZV9vcHMuZ2V0YXR0cixzZXRhdHRyOk1FTUZTLm5vZGVfb3BzLnNldGF0
dHIscmVhZGxpbms6TUVNRlMubm9kZV9vcHMucmVhZGxpbmt9LHN0cmVhbTp7fX0sY2hyZGV2Ontu
b2RlOntnZXRhdHRyOk1FTUZTLm5vZGVfb3BzLmdldGF0dHIsc2V0YXR0cjpNRU1GUy5ub2RlX29w
cy5zZXRhdHRyfSxzdHJlYW06RlMuY2hyZGV2X3N0cmVhbV9vcHN9fX12YXIgbm9kZT1GUy5jcmVh
dGVOb2RlKHBhcmVudCxuYW1lLG1vZGUsZGV2KTtpZihGUy5pc0Rpcihub2RlLm1vZGUpKXtub2Rl
Lm5vZGVfb3BzPU1FTUZTLm9wc190YWJsZS5kaXIubm9kZTtub2RlLnN0cmVhbV9vcHM9TUVNRlMu
b3BzX3RhYmxlLmRpci5zdHJlYW07bm9kZS5jb250ZW50cz17fX1lbHNlIGlmKEZTLmlzRmlsZShu
b2RlLm1vZGUpKXtub2RlLm5vZGVfb3BzPU1FTUZTLm9wc190YWJsZS5maWxlLm5vZGU7bm9kZS5z
dHJlYW1fb3BzPU1FTUZTLm9wc190YWJsZS5maWxlLnN0cmVhbTtub2RlLnVzZWRCeXRlcz0wO25v
ZGUuY29udGVudHM9bnVsbH1lbHNlIGlmKEZTLmlzTGluayhub2RlLm1vZGUpKXtub2RlLm5vZGVf
b3BzPU1FTUZTLm9wc190YWJsZS5saW5rLm5vZGU7bm9kZS5zdHJlYW1fb3BzPU1FTUZTLm9wc190
YWJsZS5saW5rLnN0cmVhbX1lbHNlIGlmKEZTLmlzQ2hyZGV2KG5vZGUubW9kZSkpe25vZGUubm9k
ZV9vcHM9TUVNRlMub3BzX3RhYmxlLmNocmRldi5ub2RlO25vZGUuc3RyZWFtX29wcz1NRU1GUy5v
cHNfdGFibGUuY2hyZGV2LnN0cmVhbX1ub2RlLnRpbWVzdGFtcD1EYXRlLm5vdygpO2lmKHBhcmVu
dCl7cGFyZW50LmNvbnRlbnRzW25hbWVdPW5vZGV9cmV0dXJuIG5vZGV9KSxnZXRGaWxlRGF0YUFz
UmVndWxhckFycmF5OihmdW5jdGlvbihub2RlKXtpZihub2RlLmNvbnRlbnRzJiZub2RlLmNvbnRl
bnRzLnN1YmFycmF5KXt2YXIgYXJyPVtdO2Zvcih2YXIgaT0wO2k8bm9kZS51c2VkQnl0ZXM7Kytp
KWFyci5wdXNoKG5vZGUuY29udGVudHNbaV0pO3JldHVybiBhcnJ9cmV0dXJuIG5vZGUuY29udGVu
dHN9KSxnZXRGaWxlRGF0YUFzVHlwZWRBcnJheTooZnVuY3Rpb24obm9kZSl7aWYoIW5vZGUuY29u
dGVudHMpcmV0dXJuIG5ldyBVaW50OEFycmF5O2lmKG5vZGUuY29udGVudHMuc3ViYXJyYXkpcmV0
dXJuIG5vZGUuY29udGVudHMuc3ViYXJyYXkoMCxub2RlLnVzZWRCeXRlcyk7cmV0dXJuIG5ldyBV
aW50OEFycmF5KG5vZGUuY29udGVudHMpfSksZXhwYW5kRmlsZVN0b3JhZ2U6KGZ1bmN0aW9uKG5v
ZGUsbmV3Q2FwYWNpdHkpe2lmKG5vZGUuY29udGVudHMmJm5vZGUuY29udGVudHMuc3ViYXJyYXkm
Jm5ld0NhcGFjaXR5Pm5vZGUuY29udGVudHMubGVuZ3RoKXtub2RlLmNvbnRlbnRzPU1FTUZTLmdl
dEZpbGVEYXRhQXNSZWd1bGFyQXJyYXkobm9kZSk7bm9kZS51c2VkQnl0ZXM9bm9kZS5jb250ZW50
cy5sZW5ndGh9aWYoIW5vZGUuY29udGVudHN8fG5vZGUuY29udGVudHMuc3ViYXJyYXkpe3ZhciBw
cmV2Q2FwYWNpdHk9bm9kZS5jb250ZW50cz9ub2RlLmNvbnRlbnRzLmxlbmd0aDowO2lmKHByZXZD
YXBhY2l0eT49bmV3Q2FwYWNpdHkpcmV0dXJuO3ZhciBDQVBBQ0lUWV9ET1VCTElOR19NQVg9MTAy
NCoxMDI0O25ld0NhcGFjaXR5PU1hdGgubWF4KG5ld0NhcGFjaXR5LHByZXZDYXBhY2l0eSoocHJl
dkNhcGFjaXR5PENBUEFDSVRZX0RPVUJMSU5HX01BWD8yOjEuMTI1KXwwKTtpZihwcmV2Q2FwYWNp
dHkhPTApbmV3Q2FwYWNpdHk9TWF0aC5tYXgobmV3Q2FwYWNpdHksMjU2KTt2YXIgb2xkQ29udGVu
dHM9bm9kZS5jb250ZW50cztub2RlLmNvbnRlbnRzPW5ldyBVaW50OEFycmF5KG5ld0NhcGFjaXR5
KTtpZihub2RlLnVzZWRCeXRlcz4wKW5vZGUuY29udGVudHMuc2V0KG9sZENvbnRlbnRzLnN1YmFy
cmF5KDAsbm9kZS51c2VkQnl0ZXMpLDApO3JldHVybn1pZighbm9kZS5jb250ZW50cyYmbmV3Q2Fw
YWNpdHk+MClub2RlLmNvbnRlbnRzPVtdO3doaWxlKG5vZGUuY29udGVudHMubGVuZ3RoPG5ld0Nh
cGFjaXR5KW5vZGUuY29udGVudHMucHVzaCgwKX0pLHJlc2l6ZUZpbGVTdG9yYWdlOihmdW5jdGlv
bihub2RlLG5ld1NpemUpe2lmKG5vZGUudXNlZEJ5dGVzPT1uZXdTaXplKXJldHVybjtpZihuZXdT
aXplPT0wKXtub2RlLmNvbnRlbnRzPW51bGw7bm9kZS51c2VkQnl0ZXM9MDtyZXR1cm59aWYoIW5v
ZGUuY29udGVudHN8fG5vZGUuY29udGVudHMuc3ViYXJyYXkpe3ZhciBvbGRDb250ZW50cz1ub2Rl
LmNvbnRlbnRzO25vZGUuY29udGVudHM9bmV3IFVpbnQ4QXJyYXkobmV3IEFycmF5QnVmZmVyKG5l
d1NpemUpKTtpZihvbGRDb250ZW50cyl7bm9kZS5jb250ZW50cy5zZXQob2xkQ29udGVudHMuc3Vi
YXJyYXkoMCxNYXRoLm1pbihuZXdTaXplLG5vZGUudXNlZEJ5dGVzKSkpfW5vZGUudXNlZEJ5dGVz
PW5ld1NpemU7cmV0dXJufWlmKCFub2RlLmNvbnRlbnRzKW5vZGUuY29udGVudHM9W107aWYobm9k
ZS5jb250ZW50cy5sZW5ndGg+bmV3U2l6ZSlub2RlLmNvbnRlbnRzLmxlbmd0aD1uZXdTaXplO2Vs
c2Ugd2hpbGUobm9kZS5jb250ZW50cy5sZW5ndGg8bmV3U2l6ZSlub2RlLmNvbnRlbnRzLnB1c2go
MCk7bm9kZS51c2VkQnl0ZXM9bmV3U2l6ZX0pLG5vZGVfb3BzOntnZXRhdHRyOihmdW5jdGlvbihu
b2RlKXt2YXIgYXR0cj17fTthdHRyLmRldj1GUy5pc0NocmRldihub2RlLm1vZGUpP25vZGUuaWQ6
MTthdHRyLmlubz1ub2RlLmlkO2F0dHIubW9kZT1ub2RlLm1vZGU7YXR0ci5ubGluaz0xO2F0dHIu
dWlkPTA7YXR0ci5naWQ9MDthdHRyLnJkZXY9bm9kZS5yZGV2O2lmKEZTLmlzRGlyKG5vZGUubW9k
ZSkpe2F0dHIuc2l6ZT00MDk2fWVsc2UgaWYoRlMuaXNGaWxlKG5vZGUubW9kZSkpe2F0dHIuc2l6
ZT1ub2RlLnVzZWRCeXRlc31lbHNlIGlmKEZTLmlzTGluayhub2RlLm1vZGUpKXthdHRyLnNpemU9
bm9kZS5saW5rLmxlbmd0aH1lbHNle2F0dHIuc2l6ZT0wfWF0dHIuYXRpbWU9bmV3IERhdGUobm9k
ZS50aW1lc3RhbXApO2F0dHIubXRpbWU9bmV3IERhdGUobm9kZS50aW1lc3RhbXApO2F0dHIuY3Rp
bWU9bmV3IERhdGUobm9kZS50aW1lc3RhbXApO2F0dHIuYmxrc2l6ZT00MDk2O2F0dHIuYmxvY2tz
PU1hdGguY2VpbChhdHRyLnNpemUvYXR0ci5ibGtzaXplKTtyZXR1cm4gYXR0cn0pLHNldGF0dHI6
KGZ1bmN0aW9uKG5vZGUsYXR0cil7aWYoYXR0ci5tb2RlIT09dW5kZWZpbmVkKXtub2RlLm1vZGU9
YXR0ci5tb2RlfWlmKGF0dHIudGltZXN0YW1wIT09dW5kZWZpbmVkKXtub2RlLnRpbWVzdGFtcD1h
dHRyLnRpbWVzdGFtcH1pZihhdHRyLnNpemUhPT11bmRlZmluZWQpe01FTUZTLnJlc2l6ZUZpbGVT
dG9yYWdlKG5vZGUsYXR0ci5zaXplKX19KSxsb29rdXA6KGZ1bmN0aW9uKHBhcmVudCxuYW1lKXt0
aHJvdyBGUy5nZW5lcmljRXJyb3JzW0VSUk5PX0NPREVTLkVOT0VOVF19KSxta25vZDooZnVuY3Rp
b24ocGFyZW50LG5hbWUsbW9kZSxkZXYpe3JldHVybiBNRU1GUy5jcmVhdGVOb2RlKHBhcmVudCxu
YW1lLG1vZGUsZGV2KX0pLHJlbmFtZTooZnVuY3Rpb24ob2xkX25vZGUsbmV3X2RpcixuZXdfbmFt
ZSl7aWYoRlMuaXNEaXIob2xkX25vZGUubW9kZSkpe3ZhciBuZXdfbm9kZTt0cnl7bmV3X25vZGU9
RlMubG9va3VwTm9kZShuZXdfZGlyLG5ld19uYW1lKX1jYXRjaChlKXt9aWYobmV3X25vZGUpe2Zv
cih2YXIgaSBpbiBuZXdfbm9kZS5jb250ZW50cyl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJS
Tk9fQ09ERVMuRU5PVEVNUFRZKX19fWRlbGV0ZSBvbGRfbm9kZS5wYXJlbnQuY29udGVudHNbb2xk
X25vZGUubmFtZV07b2xkX25vZGUubmFtZT1uZXdfbmFtZTtuZXdfZGlyLmNvbnRlbnRzW25ld19u
YW1lXT1vbGRfbm9kZTtvbGRfbm9kZS5wYXJlbnQ9bmV3X2Rpcn0pLHVubGluazooZnVuY3Rpb24o
cGFyZW50LG5hbWUpe2RlbGV0ZSBwYXJlbnQuY29udGVudHNbbmFtZV19KSxybWRpcjooZnVuY3Rp
b24ocGFyZW50LG5hbWUpe3ZhciBub2RlPUZTLmxvb2t1cE5vZGUocGFyZW50LG5hbWUpO2Zvcih2
YXIgaSBpbiBub2RlLmNvbnRlbnRzKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RF
Uy5FTk9URU1QVFkpfWRlbGV0ZSBwYXJlbnQuY29udGVudHNbbmFtZV19KSxyZWFkZGlyOihmdW5j
dGlvbihub2RlKXt2YXIgZW50cmllcz1bIi4iLCIuLiJdO2Zvcih2YXIga2V5IGluIG5vZGUuY29u
dGVudHMpe2lmKCFub2RlLmNvbnRlbnRzLmhhc093blByb3BlcnR5KGtleSkpe2NvbnRpbnVlfWVu
dHJpZXMucHVzaChrZXkpfXJldHVybiBlbnRyaWVzfSksc3ltbGluazooZnVuY3Rpb24ocGFyZW50
LG5ld25hbWUsb2xkcGF0aCl7dmFyIG5vZGU9TUVNRlMuY3JlYXRlTm9kZShwYXJlbnQsbmV3bmFt
ZSw1MTF8NDA5NjAsMCk7bm9kZS5saW5rPW9sZHBhdGg7cmV0dXJuIG5vZGV9KSxyZWFkbGluazoo
ZnVuY3Rpb24obm9kZSl7aWYoIUZTLmlzTGluayhub2RlLm1vZGUpKXt0aHJvdyBuZXcgRlMuRXJy
bm9FcnJvcihFUlJOT19DT0RFUy5FSU5WQUwpfXJldHVybiBub2RlLmxpbmt9KX0sc3RyZWFtX29w
czp7cmVhZDooZnVuY3Rpb24oc3RyZWFtLGJ1ZmZlcixvZmZzZXQsbGVuZ3RoLHBvc2l0aW9uKXt2
YXIgY29udGVudHM9c3RyZWFtLm5vZGUuY29udGVudHM7aWYocG9zaXRpb24+PXN0cmVhbS5ub2Rl
LnVzZWRCeXRlcylyZXR1cm4gMDt2YXIgc2l6ZT1NYXRoLm1pbihzdHJlYW0ubm9kZS51c2VkQnl0
ZXMtcG9zaXRpb24sbGVuZ3RoKTthc3NlcnQoc2l6ZT49MCk7aWYoc2l6ZT44JiZjb250ZW50cy5z
dWJhcnJheSl7YnVmZmVyLnNldChjb250ZW50cy5zdWJhcnJheShwb3NpdGlvbixwb3NpdGlvbitz
aXplKSxvZmZzZXQpfWVsc2V7Zm9yKHZhciBpPTA7aTxzaXplO2krKylidWZmZXJbb2Zmc2V0K2ld
PWNvbnRlbnRzW3Bvc2l0aW9uK2ldfXJldHVybiBzaXplfSksd3JpdGU6KGZ1bmN0aW9uKHN0cmVh
bSxidWZmZXIsb2Zmc2V0LGxlbmd0aCxwb3NpdGlvbixjYW5Pd24pe2Nhbk93bj1mYWxzZTtpZigh
bGVuZ3RoKXJldHVybiAwO3ZhciBub2RlPXN0cmVhbS5ub2RlO25vZGUudGltZXN0YW1wPURhdGUu
bm93KCk7aWYoYnVmZmVyLnN1YmFycmF5JiYoIW5vZGUuY29udGVudHN8fG5vZGUuY29udGVudHMu
c3ViYXJyYXkpKXtpZihjYW5Pd24pe25vZGUuY29udGVudHM9YnVmZmVyLnN1YmFycmF5KG9mZnNl
dCxvZmZzZXQrbGVuZ3RoKTtub2RlLnVzZWRCeXRlcz1sZW5ndGg7cmV0dXJuIGxlbmd0aH1lbHNl
IGlmKG5vZGUudXNlZEJ5dGVzPT09MCYmcG9zaXRpb249PT0wKXtub2RlLmNvbnRlbnRzPW5ldyBV
aW50OEFycmF5KGJ1ZmZlci5zdWJhcnJheShvZmZzZXQsb2Zmc2V0K2xlbmd0aCkpO25vZGUudXNl
ZEJ5dGVzPWxlbmd0aDtyZXR1cm4gbGVuZ3RofWVsc2UgaWYocG9zaXRpb24rbGVuZ3RoPD1ub2Rl
LnVzZWRCeXRlcyl7bm9kZS5jb250ZW50cy5zZXQoYnVmZmVyLnN1YmFycmF5KG9mZnNldCxvZmZz
ZXQrbGVuZ3RoKSxwb3NpdGlvbik7cmV0dXJuIGxlbmd0aH19TUVNRlMuZXhwYW5kRmlsZVN0b3Jh
Z2Uobm9kZSxwb3NpdGlvbitsZW5ndGgpO2lmKG5vZGUuY29udGVudHMuc3ViYXJyYXkmJmJ1ZmZl
ci5zdWJhcnJheSlub2RlLmNvbnRlbnRzLnNldChidWZmZXIuc3ViYXJyYXkob2Zmc2V0LG9mZnNl
dCtsZW5ndGgpLHBvc2l0aW9uKTtlbHNle2Zvcih2YXIgaT0wO2k8bGVuZ3RoO2krKyl7bm9kZS5j
b250ZW50c1twb3NpdGlvbitpXT1idWZmZXJbb2Zmc2V0K2ldfX1ub2RlLnVzZWRCeXRlcz1NYXRo
Lm1heChub2RlLnVzZWRCeXRlcyxwb3NpdGlvbitsZW5ndGgpO3JldHVybiBsZW5ndGh9KSxsbHNl
ZWs6KGZ1bmN0aW9uKHN0cmVhbSxvZmZzZXQsd2hlbmNlKXt2YXIgcG9zaXRpb249b2Zmc2V0O2lm
KHdoZW5jZT09PTEpe3Bvc2l0aW9uKz1zdHJlYW0ucG9zaXRpb259ZWxzZSBpZih3aGVuY2U9PT0y
KXtpZihGUy5pc0ZpbGUoc3RyZWFtLm5vZGUubW9kZSkpe3Bvc2l0aW9uKz1zdHJlYW0ubm9kZS51
c2VkQnl0ZXN9fWlmKHBvc2l0aW9uPDApe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NP
REVTLkVJTlZBTCl9cmV0dXJuIHBvc2l0aW9ufSksYWxsb2NhdGU6KGZ1bmN0aW9uKHN0cmVhbSxv
ZmZzZXQsbGVuZ3RoKXtNRU1GUy5leHBhbmRGaWxlU3RvcmFnZShzdHJlYW0ubm9kZSxvZmZzZXQr
bGVuZ3RoKTtzdHJlYW0ubm9kZS51c2VkQnl0ZXM9TWF0aC5tYXgoc3RyZWFtLm5vZGUudXNlZEJ5
dGVzLG9mZnNldCtsZW5ndGgpfSksbW1hcDooZnVuY3Rpb24oc3RyZWFtLGJ1ZmZlcixvZmZzZXQs
bGVuZ3RoLHBvc2l0aW9uLHByb3QsZmxhZ3Mpe2lmKCFGUy5pc0ZpbGUoc3RyZWFtLm5vZGUubW9k
ZSkpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT0RFVil9dmFyIHB0cjt2
YXIgYWxsb2NhdGVkO3ZhciBjb250ZW50cz1zdHJlYW0ubm9kZS5jb250ZW50cztpZighKGZsYWdz
JjIpJiYoY29udGVudHMuYnVmZmVyPT09YnVmZmVyfHxjb250ZW50cy5idWZmZXI9PT1idWZmZXIu
YnVmZmVyKSl7YWxsb2NhdGVkPWZhbHNlO3B0cj1jb250ZW50cy5ieXRlT2Zmc2V0fWVsc2V7aWYo
cG9zaXRpb24+MHx8cG9zaXRpb24rbGVuZ3RoPHN0cmVhbS5ub2RlLnVzZWRCeXRlcyl7aWYoY29u
dGVudHMuc3ViYXJyYXkpe2NvbnRlbnRzPWNvbnRlbnRzLnN1YmFycmF5KHBvc2l0aW9uLHBvc2l0
aW9uK2xlbmd0aCl9ZWxzZXtjb250ZW50cz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChjb250
ZW50cyxwb3NpdGlvbixwb3NpdGlvbitsZW5ndGgpfX1hbGxvY2F0ZWQ9dHJ1ZTtwdHI9X21hbGxv
YyhsZW5ndGgpO2lmKCFwdHIpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVO
T01FTSl9YnVmZmVyLnNldChjb250ZW50cyxwdHIpfXJldHVybntwdHI6cHRyLGFsbG9jYXRlZDph
bGxvY2F0ZWR9fSksbXN5bmM6KGZ1bmN0aW9uKHN0cmVhbSxidWZmZXIsb2Zmc2V0LGxlbmd0aCxt
bWFwRmxhZ3Mpe2lmKCFGUy5pc0ZpbGUoc3RyZWFtLm5vZGUubW9kZSkpe3Rocm93IG5ldyBGUy5F
cnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT0RFVil9aWYobW1hcEZsYWdzJjIpe3JldHVybiAwfXZh
ciBieXRlc1dyaXR0ZW49TUVNRlMuc3RyZWFtX29wcy53cml0ZShzdHJlYW0sYnVmZmVyLDAsbGVu
Z3RoLG9mZnNldCxmYWxzZSk7cmV0dXJuIDB9KX19O3ZhciBJREJGUz17ZGJzOnt9LGluZGV4ZWRE
QjooZnVuY3Rpb24oKXtpZih0eXBlb2YgaW5kZXhlZERCIT09InVuZGVmaW5lZCIpcmV0dXJuIGlu
ZGV4ZWREQjt2YXIgcmV0PW51bGw7aWYodHlwZW9mIHdpbmRvdz09PSJvYmplY3QiKXJldD13aW5k
b3cuaW5kZXhlZERCfHx3aW5kb3cubW96SW5kZXhlZERCfHx3aW5kb3cud2Via2l0SW5kZXhlZERC
fHx3aW5kb3cubXNJbmRleGVkREI7YXNzZXJ0KHJldCwiSURCRlMgdXNlZCwgYnV0IGluZGV4ZWRE
QiBub3Qgc3VwcG9ydGVkIik7cmV0dXJuIHJldH0pLERCX1ZFUlNJT046MjEsREJfU1RPUkVfTkFN
RToiRklMRV9EQVRBIixtb3VudDooZnVuY3Rpb24obW91bnQpe3JldHVybiBNRU1GUy5tb3VudC5h
cHBseShudWxsLGFyZ3VtZW50cyl9KSxzeW5jZnM6KGZ1bmN0aW9uKG1vdW50LHBvcHVsYXRlLGNh
bGxiYWNrKXtJREJGUy5nZXRMb2NhbFNldChtb3VudCwoZnVuY3Rpb24oZXJyLGxvY2FsKXtpZihl
cnIpcmV0dXJuIGNhbGxiYWNrKGVycik7SURCRlMuZ2V0UmVtb3RlU2V0KG1vdW50LChmdW5jdGlv
bihlcnIscmVtb3RlKXtpZihlcnIpcmV0dXJuIGNhbGxiYWNrKGVycik7dmFyIHNyYz1wb3B1bGF0
ZT9yZW1vdGU6bG9jYWw7dmFyIGRzdD1wb3B1bGF0ZT9sb2NhbDpyZW1vdGU7SURCRlMucmVjb25j
aWxlKHNyYyxkc3QsY2FsbGJhY2spfSkpfSkpfSksZ2V0REI6KGZ1bmN0aW9uKG5hbWUsY2FsbGJh
Y2spe3ZhciBkYj1JREJGUy5kYnNbbmFtZV07aWYoZGIpe3JldHVybiBjYWxsYmFjayhudWxsLGRi
KX12YXIgcmVxO3RyeXtyZXE9SURCRlMuaW5kZXhlZERCKCkub3BlbihuYW1lLElEQkZTLkRCX1ZF
UlNJT04pfWNhdGNoKGUpe3JldHVybiBjYWxsYmFjayhlKX1pZighcmVxKXtyZXR1cm4gY2FsbGJh
Y2soIlVuYWJsZSB0byBjb25uZWN0IHRvIEluZGV4ZWREQiIpfXJlcS5vbnVwZ3JhZGVuZWVkZWQ9
KGZ1bmN0aW9uKGUpe3ZhciBkYj1lLnRhcmdldC5yZXN1bHQ7dmFyIHRyYW5zYWN0aW9uPWUudGFy
Z2V0LnRyYW5zYWN0aW9uO3ZhciBmaWxlU3RvcmU7aWYoZGIub2JqZWN0U3RvcmVOYW1lcy5jb250
YWlucyhJREJGUy5EQl9TVE9SRV9OQU1FKSl7ZmlsZVN0b3JlPXRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKElEQkZTLkRCX1NUT1JFX05BTUUpfWVsc2V7ZmlsZVN0b3JlPWRiLmNyZWF0ZU9iamVjdFN0
b3JlKElEQkZTLkRCX1NUT1JFX05BTUUpfWlmKCFmaWxlU3RvcmUuaW5kZXhOYW1lcy5jb250YWlu
cygidGltZXN0YW1wIikpe2ZpbGVTdG9yZS5jcmVhdGVJbmRleCgidGltZXN0YW1wIiwidGltZXN0
YW1wIix7dW5pcXVlOmZhbHNlfSl9fSk7cmVxLm9uc3VjY2Vzcz0oZnVuY3Rpb24oKXtkYj1yZXEu
cmVzdWx0O0lEQkZTLmRic1tuYW1lXT1kYjtjYWxsYmFjayhudWxsLGRiKX0pO3JlcS5vbmVycm9y
PShmdW5jdGlvbihlKXtjYWxsYmFjayh0aGlzLmVycm9yKTtlLnByZXZlbnREZWZhdWx0KCl9KX0p
LGdldExvY2FsU2V0OihmdW5jdGlvbihtb3VudCxjYWxsYmFjayl7dmFyIGVudHJpZXM9e307ZnVu
Y3Rpb24gaXNSZWFsRGlyKHApe3JldHVybiBwIT09Ii4iJiZwIT09Ii4uIn1mdW5jdGlvbiB0b0Fi
c29sdXRlKHJvb3Qpe3JldHVybihmdW5jdGlvbihwKXtyZXR1cm4gUEFUSC5qb2luMihyb290LHAp
fSl9dmFyIGNoZWNrPUZTLnJlYWRkaXIobW91bnQubW91bnRwb2ludCkuZmlsdGVyKGlzUmVhbERp
cikubWFwKHRvQWJzb2x1dGUobW91bnQubW91bnRwb2ludCkpO3doaWxlKGNoZWNrLmxlbmd0aCl7
dmFyIHBhdGg9Y2hlY2sucG9wKCk7dmFyIHN0YXQ7dHJ5e3N0YXQ9RlMuc3RhdChwYXRoKX1jYXRj
aChlKXtyZXR1cm4gY2FsbGJhY2soZSl9aWYoRlMuaXNEaXIoc3RhdC5tb2RlKSl7Y2hlY2sucHVz
aC5hcHBseShjaGVjayxGUy5yZWFkZGlyKHBhdGgpLmZpbHRlcihpc1JlYWxEaXIpLm1hcCh0b0Fi
c29sdXRlKHBhdGgpKSl9ZW50cmllc1twYXRoXT17dGltZXN0YW1wOnN0YXQubXRpbWV9fXJldHVy
biBjYWxsYmFjayhudWxsLHt0eXBlOiJsb2NhbCIsZW50cmllczplbnRyaWVzfSl9KSxnZXRSZW1v
dGVTZXQ6KGZ1bmN0aW9uKG1vdW50LGNhbGxiYWNrKXt2YXIgZW50cmllcz17fTtJREJGUy5nZXRE
Qihtb3VudC5tb3VudHBvaW50LChmdW5jdGlvbihlcnIsZGIpe2lmKGVycilyZXR1cm4gY2FsbGJh
Y2soZXJyKTt0cnl7dmFyIHRyYW5zYWN0aW9uPWRiLnRyYW5zYWN0aW9uKFtJREJGUy5EQl9TVE9S
RV9OQU1FXSwicmVhZG9ubHkiKTt0cmFuc2FjdGlvbi5vbmVycm9yPShmdW5jdGlvbihlKXtjYWxs
YmFjayh0aGlzLmVycm9yKTtlLnByZXZlbnREZWZhdWx0KCl9KTt2YXIgc3RvcmU9dHJhbnNhY3Rp
b24ub2JqZWN0U3RvcmUoSURCRlMuREJfU1RPUkVfTkFNRSk7dmFyIGluZGV4PXN0b3JlLmluZGV4
KCJ0aW1lc3RhbXAiKTtpbmRleC5vcGVuS2V5Q3Vyc29yKCkub25zdWNjZXNzPShmdW5jdGlvbihl
dmVudCl7dmFyIGN1cnNvcj1ldmVudC50YXJnZXQucmVzdWx0O2lmKCFjdXJzb3Ipe3JldHVybiBj
YWxsYmFjayhudWxsLHt0eXBlOiJyZW1vdGUiLGRiOmRiLGVudHJpZXM6ZW50cmllc30pfWVudHJp
ZXNbY3Vyc29yLnByaW1hcnlLZXldPXt0aW1lc3RhbXA6Y3Vyc29yLmtleX07Y3Vyc29yLmNvbnRp
bnVlKCl9KX1jYXRjaChlKXtyZXR1cm4gY2FsbGJhY2soZSl9fSkpfSksbG9hZExvY2FsRW50cnk6
KGZ1bmN0aW9uKHBhdGgsY2FsbGJhY2spe3ZhciBzdGF0LG5vZGU7dHJ5e3ZhciBsb29rdXA9RlMu
bG9va3VwUGF0aChwYXRoKTtub2RlPWxvb2t1cC5ub2RlO3N0YXQ9RlMuc3RhdChwYXRoKX1jYXRj
aChlKXtyZXR1cm4gY2FsbGJhY2soZSl9aWYoRlMuaXNEaXIoc3RhdC5tb2RlKSl7cmV0dXJuIGNh
bGxiYWNrKG51bGwse3RpbWVzdGFtcDpzdGF0Lm10aW1lLG1vZGU6c3RhdC5tb2RlfSl9ZWxzZSBp
ZihGUy5pc0ZpbGUoc3RhdC5tb2RlKSl7bm9kZS5jb250ZW50cz1NRU1GUy5nZXRGaWxlRGF0YUFz
VHlwZWRBcnJheShub2RlKTtyZXR1cm4gY2FsbGJhY2sobnVsbCx7dGltZXN0YW1wOnN0YXQubXRp
bWUsbW9kZTpzdGF0Lm1vZGUsY29udGVudHM6bm9kZS5jb250ZW50c30pfWVsc2V7cmV0dXJuIGNh
bGxiYWNrKG5ldyBFcnJvcigibm9kZSB0eXBlIG5vdCBzdXBwb3J0ZWQiKSl9fSksc3RvcmVMb2Nh
bEVudHJ5OihmdW5jdGlvbihwYXRoLGVudHJ5LGNhbGxiYWNrKXt0cnl7aWYoRlMuaXNEaXIoZW50
cnkubW9kZSkpe0ZTLm1rZGlyKHBhdGgsZW50cnkubW9kZSl9ZWxzZSBpZihGUy5pc0ZpbGUoZW50
cnkubW9kZSkpe0ZTLndyaXRlRmlsZShwYXRoLGVudHJ5LmNvbnRlbnRzLHtjYW5Pd246dHJ1ZX0p
fWVsc2V7cmV0dXJuIGNhbGxiYWNrKG5ldyBFcnJvcigibm9kZSB0eXBlIG5vdCBzdXBwb3J0ZWQi
KSl9RlMuY2htb2QocGF0aCxlbnRyeS5tb2RlKTtGUy51dGltZShwYXRoLGVudHJ5LnRpbWVzdGFt
cCxlbnRyeS50aW1lc3RhbXApfWNhdGNoKGUpe3JldHVybiBjYWxsYmFjayhlKX1jYWxsYmFjayhu
dWxsKX0pLHJlbW92ZUxvY2FsRW50cnk6KGZ1bmN0aW9uKHBhdGgsY2FsbGJhY2spe3RyeXt2YXIg
bG9va3VwPUZTLmxvb2t1cFBhdGgocGF0aCk7dmFyIHN0YXQ9RlMuc3RhdChwYXRoKTtpZihGUy5p
c0RpcihzdGF0Lm1vZGUpKXtGUy5ybWRpcihwYXRoKX1lbHNlIGlmKEZTLmlzRmlsZShzdGF0Lm1v
ZGUpKXtGUy51bmxpbmsocGF0aCl9fWNhdGNoKGUpe3JldHVybiBjYWxsYmFjayhlKX1jYWxsYmFj
ayhudWxsKX0pLGxvYWRSZW1vdGVFbnRyeTooZnVuY3Rpb24oc3RvcmUscGF0aCxjYWxsYmFjayl7
dmFyIHJlcT1zdG9yZS5nZXQocGF0aCk7cmVxLm9uc3VjY2Vzcz0oZnVuY3Rpb24oZXZlbnQpe2Nh
bGxiYWNrKG51bGwsZXZlbnQudGFyZ2V0LnJlc3VsdCl9KTtyZXEub25lcnJvcj0oZnVuY3Rpb24o
ZSl7Y2FsbGJhY2sodGhpcy5lcnJvcik7ZS5wcmV2ZW50RGVmYXVsdCgpfSl9KSxzdG9yZVJlbW90
ZUVudHJ5OihmdW5jdGlvbihzdG9yZSxwYXRoLGVudHJ5LGNhbGxiYWNrKXt2YXIgcmVxPXN0b3Jl
LnB1dChlbnRyeSxwYXRoKTtyZXEub25zdWNjZXNzPShmdW5jdGlvbigpe2NhbGxiYWNrKG51bGwp
fSk7cmVxLm9uZXJyb3I9KGZ1bmN0aW9uKGUpe2NhbGxiYWNrKHRoaXMuZXJyb3IpO2UucHJldmVu
dERlZmF1bHQoKX0pfSkscmVtb3ZlUmVtb3RlRW50cnk6KGZ1bmN0aW9uKHN0b3JlLHBhdGgsY2Fs
bGJhY2spe3ZhciByZXE9c3RvcmUuZGVsZXRlKHBhdGgpO3JlcS5vbnN1Y2Nlc3M9KGZ1bmN0aW9u
KCl7Y2FsbGJhY2sobnVsbCl9KTtyZXEub25lcnJvcj0oZnVuY3Rpb24oZSl7Y2FsbGJhY2sodGhp
cy5lcnJvcik7ZS5wcmV2ZW50RGVmYXVsdCgpfSl9KSxyZWNvbmNpbGU6KGZ1bmN0aW9uKHNyYyxk
c3QsY2FsbGJhY2spe3ZhciB0b3RhbD0wO3ZhciBjcmVhdGU9W107T2JqZWN0LmtleXMoc3JjLmVu
dHJpZXMpLmZvckVhY2goKGZ1bmN0aW9uKGtleSl7dmFyIGU9c3JjLmVudHJpZXNba2V5XTt2YXIg
ZTI9ZHN0LmVudHJpZXNba2V5XTtpZighZTJ8fGUudGltZXN0YW1wPmUyLnRpbWVzdGFtcCl7Y3Jl
YXRlLnB1c2goa2V5KTt0b3RhbCsrfX0pKTt2YXIgcmVtb3ZlPVtdO09iamVjdC5rZXlzKGRzdC5l
bnRyaWVzKS5mb3JFYWNoKChmdW5jdGlvbihrZXkpe3ZhciBlPWRzdC5lbnRyaWVzW2tleV07dmFy
IGUyPXNyYy5lbnRyaWVzW2tleV07aWYoIWUyKXtyZW1vdmUucHVzaChrZXkpO3RvdGFsKyt9fSkp
O2lmKCF0b3RhbCl7cmV0dXJuIGNhbGxiYWNrKG51bGwpfXZhciBjb21wbGV0ZWQ9MDt2YXIgZGI9
c3JjLnR5cGU9PT0icmVtb3RlIj9zcmMuZGI6ZHN0LmRiO3ZhciB0cmFuc2FjdGlvbj1kYi50cmFu
c2FjdGlvbihbSURCRlMuREJfU1RPUkVfTkFNRV0sInJlYWR3cml0ZSIpO3ZhciBzdG9yZT10cmFu
c2FjdGlvbi5vYmplY3RTdG9yZShJREJGUy5EQl9TVE9SRV9OQU1FKTtmdW5jdGlvbiBkb25lKGVy
cil7aWYoZXJyKXtpZighZG9uZS5lcnJvcmVkKXtkb25lLmVycm9yZWQ9dHJ1ZTtyZXR1cm4gY2Fs
bGJhY2soZXJyKX1yZXR1cm59aWYoKytjb21wbGV0ZWQ+PXRvdGFsKXtyZXR1cm4gY2FsbGJhY2so
bnVsbCl9fXRyYW5zYWN0aW9uLm9uZXJyb3I9KGZ1bmN0aW9uKGUpe2RvbmUodGhpcy5lcnJvcik7
ZS5wcmV2ZW50RGVmYXVsdCgpfSk7Y3JlYXRlLnNvcnQoKS5mb3JFYWNoKChmdW5jdGlvbihwYXRo
KXtpZihkc3QudHlwZT09PSJsb2NhbCIpe0lEQkZTLmxvYWRSZW1vdGVFbnRyeShzdG9yZSxwYXRo
LChmdW5jdGlvbihlcnIsZW50cnkpe2lmKGVycilyZXR1cm4gZG9uZShlcnIpO0lEQkZTLnN0b3Jl
TG9jYWxFbnRyeShwYXRoLGVudHJ5LGRvbmUpfSkpfWVsc2V7SURCRlMubG9hZExvY2FsRW50cnko
cGF0aCwoZnVuY3Rpb24oZXJyLGVudHJ5KXtpZihlcnIpcmV0dXJuIGRvbmUoZXJyKTtJREJGUy5z
dG9yZVJlbW90ZUVudHJ5KHN0b3JlLHBhdGgsZW50cnksZG9uZSl9KSl9fSkpO3JlbW92ZS5zb3J0
KCkucmV2ZXJzZSgpLmZvckVhY2goKGZ1bmN0aW9uKHBhdGgpe2lmKGRzdC50eXBlPT09ImxvY2Fs
Iil7SURCRlMucmVtb3ZlTG9jYWxFbnRyeShwYXRoLGRvbmUpfWVsc2V7SURCRlMucmVtb3ZlUmVt
b3RlRW50cnkoc3RvcmUscGF0aCxkb25lKX19KSl9KX07dmFyIE5PREVGUz17aXNXaW5kb3dzOmZh
bHNlLHN0YXRpY0luaXQ6KGZ1bmN0aW9uKCl7Tk9ERUZTLmlzV2luZG93cz0hIXByb2Nlc3MucGxh
dGZvcm0ubWF0Y2goL153aW4vKTt2YXIgZmxhZ3M9cHJvY2Vzc1siYmluZGluZyJdKCJjb25zdGFu
dHMiKTtpZihmbGFnc1siZnMiXSl7ZmxhZ3M9ZmxhZ3NbImZzIl19Tk9ERUZTLmZsYWdzRm9yTm9k
ZU1hcD17IjEwMjQiOmZsYWdzWyJPX0FQUEVORCJdLCI2NCI6ZmxhZ3NbIk9fQ1JFQVQiXSwiMTI4
IjpmbGFnc1siT19FWENMIl0sIjAiOmZsYWdzWyJPX1JET05MWSJdLCIyIjpmbGFnc1siT19SRFdS
Il0sIjQwOTYiOmZsYWdzWyJPX1NZTkMiXSwiNTEyIjpmbGFnc1siT19UUlVOQyJdLCIxIjpmbGFn
c1siT19XUk9OTFkiXX19KSxidWZmZXJGcm9tOihmdW5jdGlvbihhcnJheUJ1ZmZlcil7cmV0dXJu
IEJ1ZmZlci5hbGxvYz9CdWZmZXIuZnJvbShhcnJheUJ1ZmZlcik6bmV3IEJ1ZmZlcihhcnJheUJ1
ZmZlcil9KSxtb3VudDooZnVuY3Rpb24obW91bnQpe2Fzc2VydChFTlZJUk9OTUVOVF9JU19OT0RF
KTtyZXR1cm4gTk9ERUZTLmNyZWF0ZU5vZGUobnVsbCwiLyIsTk9ERUZTLmdldE1vZGUobW91bnQu
b3B0cy5yb290KSwwKX0pLGNyZWF0ZU5vZGU6KGZ1bmN0aW9uKHBhcmVudCxuYW1lLG1vZGUsZGV2
KXtpZighRlMuaXNEaXIobW9kZSkmJiFGUy5pc0ZpbGUobW9kZSkmJiFGUy5pc0xpbmsobW9kZSkp
e3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTlZBTCl9dmFyIG5vZGU9RlMu
Y3JlYXRlTm9kZShwYXJlbnQsbmFtZSxtb2RlKTtub2RlLm5vZGVfb3BzPU5PREVGUy5ub2RlX29w
cztub2RlLnN0cmVhbV9vcHM9Tk9ERUZTLnN0cmVhbV9vcHM7cmV0dXJuIG5vZGV9KSxnZXRNb2Rl
OihmdW5jdGlvbihwYXRoKXt2YXIgc3RhdDt0cnl7c3RhdD1mcy5sc3RhdFN5bmMocGF0aCk7aWYo
Tk9ERUZTLmlzV2luZG93cyl7c3RhdC5tb2RlPXN0YXQubW9kZXwoc3RhdC5tb2RlJjI5Mik+PjJ9
fWNhdGNoKGUpe2lmKCFlLmNvZGUpdGhyb3cgZTt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJO
T19DT0RFU1tlLmNvZGVdKX1yZXR1cm4gc3RhdC5tb2RlfSkscmVhbFBhdGg6KGZ1bmN0aW9uKG5v
ZGUpe3ZhciBwYXJ0cz1bXTt3aGlsZShub2RlLnBhcmVudCE9PW5vZGUpe3BhcnRzLnB1c2gobm9k
ZS5uYW1lKTtub2RlPW5vZGUucGFyZW50fXBhcnRzLnB1c2gobm9kZS5tb3VudC5vcHRzLnJvb3Qp
O3BhcnRzLnJldmVyc2UoKTtyZXR1cm4gUEFUSC5qb2luLmFwcGx5KG51bGwscGFydHMpfSksZmxh
Z3NGb3JOb2RlOihmdW5jdGlvbihmbGFncyl7ZmxhZ3MmPX4yMDk3MTUyO2ZsYWdzJj1+MjA0ODtm
bGFncyY9fjMyNzY4O2ZsYWdzJj1+NTI0Mjg4O3ZhciBuZXdGbGFncz0wO2Zvcih2YXIgayBpbiBO
T0RFRlMuZmxhZ3NGb3JOb2RlTWFwKXtpZihmbGFncyZrKXtuZXdGbGFnc3w9Tk9ERUZTLmZsYWdz
Rm9yTm9kZU1hcFtrXTtmbGFnc149a319aWYoIWZsYWdzKXtyZXR1cm4gbmV3RmxhZ3N9ZWxzZXt0
aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU5WQUwpfX0pLG5vZGVfb3BzOntn
ZXRhdHRyOihmdW5jdGlvbihub2RlKXt2YXIgcGF0aD1OT0RFRlMucmVhbFBhdGgobm9kZSk7dmFy
IHN0YXQ7dHJ5e3N0YXQ9ZnMubHN0YXRTeW5jKHBhdGgpfWNhdGNoKGUpe2lmKCFlLmNvZGUpdGhy
b3cgZTt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFU1tlLmNvZGVdKX1pZihOT0RF
RlMuaXNXaW5kb3dzJiYhc3RhdC5ibGtzaXplKXtzdGF0LmJsa3NpemU9NDA5Nn1pZihOT0RFRlMu
aXNXaW5kb3dzJiYhc3RhdC5ibG9ja3Mpe3N0YXQuYmxvY2tzPShzdGF0LnNpemUrc3RhdC5ibGtz
aXplLTEpL3N0YXQuYmxrc2l6ZXwwfXJldHVybntkZXY6c3RhdC5kZXYsaW5vOnN0YXQuaW5vLG1v
ZGU6c3RhdC5tb2RlLG5saW5rOnN0YXQubmxpbmssdWlkOnN0YXQudWlkLGdpZDpzdGF0LmdpZCxy
ZGV2OnN0YXQucmRldixzaXplOnN0YXQuc2l6ZSxhdGltZTpzdGF0LmF0aW1lLG10aW1lOnN0YXQu
bXRpbWUsY3RpbWU6c3RhdC5jdGltZSxibGtzaXplOnN0YXQuYmxrc2l6ZSxibG9ja3M6c3RhdC5i
bG9ja3N9fSksc2V0YXR0cjooZnVuY3Rpb24obm9kZSxhdHRyKXt2YXIgcGF0aD1OT0RFRlMucmVh
bFBhdGgobm9kZSk7dHJ5e2lmKGF0dHIubW9kZSE9PXVuZGVmaW5lZCl7ZnMuY2htb2RTeW5jKHBh
dGgsYXR0ci5tb2RlKTtub2RlLm1vZGU9YXR0ci5tb2RlfWlmKGF0dHIudGltZXN0YW1wIT09dW5k
ZWZpbmVkKXt2YXIgZGF0ZT1uZXcgRGF0ZShhdHRyLnRpbWVzdGFtcCk7ZnMudXRpbWVzU3luYyhw
YXRoLGRhdGUsZGF0ZSl9aWYoYXR0ci5zaXplIT09dW5kZWZpbmVkKXtmcy50cnVuY2F0ZVN5bmMo
cGF0aCxhdHRyLnNpemUpfX1jYXRjaChlKXtpZighZS5jb2RlKXRocm93IGU7dGhyb3cgbmV3IEZT
LkVycm5vRXJyb3IoRVJSTk9fQ09ERVNbZS5jb2RlXSl9fSksbG9va3VwOihmdW5jdGlvbihwYXJl
bnQsbmFtZSl7dmFyIHBhdGg9UEFUSC5qb2luMihOT0RFRlMucmVhbFBhdGgocGFyZW50KSxuYW1l
KTt2YXIgbW9kZT1OT0RFRlMuZ2V0TW9kZShwYXRoKTtyZXR1cm4gTk9ERUZTLmNyZWF0ZU5vZGUo
cGFyZW50LG5hbWUsbW9kZSl9KSxta25vZDooZnVuY3Rpb24ocGFyZW50LG5hbWUsbW9kZSxkZXYp
e3ZhciBub2RlPU5PREVGUy5jcmVhdGVOb2RlKHBhcmVudCxuYW1lLG1vZGUsZGV2KTt2YXIgcGF0
aD1OT0RFRlMucmVhbFBhdGgobm9kZSk7dHJ5e2lmKEZTLmlzRGlyKG5vZGUubW9kZSkpe2ZzLm1r
ZGlyU3luYyhwYXRoLG5vZGUubW9kZSl9ZWxzZXtmcy53cml0ZUZpbGVTeW5jKHBhdGgsIiIse21v
ZGU6bm9kZS5tb2RlfSl9fWNhdGNoKGUpe2lmKCFlLmNvZGUpdGhyb3cgZTt0aHJvdyBuZXcgRlMu
RXJybm9FcnJvcihFUlJOT19DT0RFU1tlLmNvZGVdKX1yZXR1cm4gbm9kZX0pLHJlbmFtZTooZnVu
Y3Rpb24ob2xkTm9kZSxuZXdEaXIsbmV3TmFtZSl7dmFyIG9sZFBhdGg9Tk9ERUZTLnJlYWxQYXRo
KG9sZE5vZGUpO3ZhciBuZXdQYXRoPVBBVEguam9pbjIoTk9ERUZTLnJlYWxQYXRoKG5ld0Rpciks
bmV3TmFtZSk7dHJ5e2ZzLnJlbmFtZVN5bmMob2xkUGF0aCxuZXdQYXRoKX1jYXRjaChlKXtpZigh
ZS5jb2RlKXRocm93IGU7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVNbZS5jb2Rl
XSl9fSksdW5saW5rOihmdW5jdGlvbihwYXJlbnQsbmFtZSl7dmFyIHBhdGg9UEFUSC5qb2luMihO
T0RFRlMucmVhbFBhdGgocGFyZW50KSxuYW1lKTt0cnl7ZnMudW5saW5rU3luYyhwYXRoKX1jYXRj
aChlKXtpZighZS5jb2RlKXRocm93IGU7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09E
RVNbZS5jb2RlXSl9fSkscm1kaXI6KGZ1bmN0aW9uKHBhcmVudCxuYW1lKXt2YXIgcGF0aD1QQVRI
LmpvaW4yKE5PREVGUy5yZWFsUGF0aChwYXJlbnQpLG5hbWUpO3RyeXtmcy5ybWRpclN5bmMocGF0
aCl9Y2F0Y2goZSl7aWYoIWUuY29kZSl0aHJvdyBlO3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVS
Uk5PX0NPREVTW2UuY29kZV0pfX0pLHJlYWRkaXI6KGZ1bmN0aW9uKG5vZGUpe3ZhciBwYXRoPU5P
REVGUy5yZWFsUGF0aChub2RlKTt0cnl7cmV0dXJuIGZzLnJlYWRkaXJTeW5jKHBhdGgpfWNhdGNo
KGUpe2lmKCFlLmNvZGUpdGhyb3cgZTt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RF
U1tlLmNvZGVdKX19KSxzeW1saW5rOihmdW5jdGlvbihwYXJlbnQsbmV3TmFtZSxvbGRQYXRoKXt2
YXIgbmV3UGF0aD1QQVRILmpvaW4yKE5PREVGUy5yZWFsUGF0aChwYXJlbnQpLG5ld05hbWUpO3Ry
eXtmcy5zeW1saW5rU3luYyhvbGRQYXRoLG5ld1BhdGgpfWNhdGNoKGUpe2lmKCFlLmNvZGUpdGhy
b3cgZTt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFU1tlLmNvZGVdKX19KSxyZWFk
bGluazooZnVuY3Rpb24obm9kZSl7dmFyIHBhdGg9Tk9ERUZTLnJlYWxQYXRoKG5vZGUpO3RyeXtw
YXRoPWZzLnJlYWRsaW5rU3luYyhwYXRoKTtwYXRoPU5PREVKU19QQVRILnJlbGF0aXZlKE5PREVK
U19QQVRILnJlc29sdmUobm9kZS5tb3VudC5vcHRzLnJvb3QpLHBhdGgpO3JldHVybiBwYXRofWNh
dGNoKGUpe2lmKCFlLmNvZGUpdGhyb3cgZTt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19D
T0RFU1tlLmNvZGVdKX19KX0sc3RyZWFtX29wczp7b3BlbjooZnVuY3Rpb24oc3RyZWFtKXt2YXIg
cGF0aD1OT0RFRlMucmVhbFBhdGgoc3RyZWFtLm5vZGUpO3RyeXtpZihGUy5pc0ZpbGUoc3RyZWFt
Lm5vZGUubW9kZSkpe3N0cmVhbS5uZmQ9ZnMub3BlblN5bmMocGF0aCxOT0RFRlMuZmxhZ3NGb3JO
b2RlKHN0cmVhbS5mbGFncykpfX1jYXRjaChlKXtpZighZS5jb2RlKXRocm93IGU7dGhyb3cgbmV3
IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVNbZS5jb2RlXSl9fSksY2xvc2U6KGZ1bmN0aW9uKHN0
cmVhbSl7dHJ5e2lmKEZTLmlzRmlsZShzdHJlYW0ubm9kZS5tb2RlKSYmc3RyZWFtLm5mZCl7ZnMu
Y2xvc2VTeW5jKHN0cmVhbS5uZmQpfX1jYXRjaChlKXtpZighZS5jb2RlKXRocm93IGU7dGhyb3cg
bmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVNbZS5jb2RlXSl9fSkscmVhZDooZnVuY3Rpb24o
c3RyZWFtLGJ1ZmZlcixvZmZzZXQsbGVuZ3RoLHBvc2l0aW9uKXtpZihsZW5ndGg9PT0wKXJldHVy
biAwO3RyeXtyZXR1cm4gZnMucmVhZFN5bmMoc3RyZWFtLm5mZCxOT0RFRlMuYnVmZmVyRnJvbShi
dWZmZXIuYnVmZmVyKSxvZmZzZXQsbGVuZ3RoLHBvc2l0aW9uKX1jYXRjaChlKXt0aHJvdyBuZXcg
RlMuRXJybm9FcnJvcihFUlJOT19DT0RFU1tlLmNvZGVdKX19KSx3cml0ZTooZnVuY3Rpb24oc3Ry
ZWFtLGJ1ZmZlcixvZmZzZXQsbGVuZ3RoLHBvc2l0aW9uKXt0cnl7cmV0dXJuIGZzLndyaXRlU3lu
YyhzdHJlYW0ubmZkLE5PREVGUy5idWZmZXJGcm9tKGJ1ZmZlci5idWZmZXIpLG9mZnNldCxsZW5n
dGgscG9zaXRpb24pfWNhdGNoKGUpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVT
W2UuY29kZV0pfX0pLGxsc2VlazooZnVuY3Rpb24oc3RyZWFtLG9mZnNldCx3aGVuY2Upe3ZhciBw
b3NpdGlvbj1vZmZzZXQ7aWYod2hlbmNlPT09MSl7cG9zaXRpb24rPXN0cmVhbS5wb3NpdGlvbn1l
bHNlIGlmKHdoZW5jZT09PTIpe2lmKEZTLmlzRmlsZShzdHJlYW0ubm9kZS5tb2RlKSl7dHJ5e3Zh
ciBzdGF0PWZzLmZzdGF0U3luYyhzdHJlYW0ubmZkKTtwb3NpdGlvbis9c3RhdC5zaXplfWNhdGNo
KGUpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTW2UuY29kZV0pfX19aWYocG9z
aXRpb248MCl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKX1yZXR1
cm4gcG9zaXRpb259KX19O3ZhciBXT1JLRVJGUz17RElSX01PREU6MTY4OTUsRklMRV9NT0RFOjMz
Mjc5LHJlYWRlcjpudWxsLG1vdW50OihmdW5jdGlvbihtb3VudCl7YXNzZXJ0KEVOVklST05NRU5U
X0lTX1dPUktFUik7aWYoIVdPUktFUkZTLnJlYWRlcilXT1JLRVJGUy5yZWFkZXI9bmV3IEZpbGVS
ZWFkZXJTeW5jO3ZhciByb290PVdPUktFUkZTLmNyZWF0ZU5vZGUobnVsbCwiLyIsV09SS0VSRlMu
RElSX01PREUsMCk7dmFyIGNyZWF0ZWRQYXJlbnRzPXt9O2Z1bmN0aW9uIGVuc3VyZVBhcmVudChw
YXRoKXt2YXIgcGFydHM9cGF0aC5zcGxpdCgiLyIpO3ZhciBwYXJlbnQ9cm9vdDtmb3IodmFyIGk9
MDtpPHBhcnRzLmxlbmd0aC0xO2krKyl7dmFyIGN1cnI9cGFydHMuc2xpY2UoMCxpKzEpLmpvaW4o
Ii8iKTtpZighY3JlYXRlZFBhcmVudHNbY3Vycl0pe2NyZWF0ZWRQYXJlbnRzW2N1cnJdPVdPUktF
UkZTLmNyZWF0ZU5vZGUocGFyZW50LHBhcnRzW2ldLFdPUktFUkZTLkRJUl9NT0RFLDApfXBhcmVu
dD1jcmVhdGVkUGFyZW50c1tjdXJyXX1yZXR1cm4gcGFyZW50fWZ1bmN0aW9uIGJhc2UocGF0aCl7
dmFyIHBhcnRzPXBhdGguc3BsaXQoIi8iKTtyZXR1cm4gcGFydHNbcGFydHMubGVuZ3RoLTFdfUFy
cmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwobW91bnQub3B0c1siZmlsZXMiXXx8W10sKGZ1bmN0
aW9uKGZpbGUpe1dPUktFUkZTLmNyZWF0ZU5vZGUoZW5zdXJlUGFyZW50KGZpbGUubmFtZSksYmFz
ZShmaWxlLm5hbWUpLFdPUktFUkZTLkZJTEVfTU9ERSwwLGZpbGUsZmlsZS5sYXN0TW9kaWZpZWRE
YXRlKX0pKTsobW91bnQub3B0c1siYmxvYnMiXXx8W10pLmZvckVhY2goKGZ1bmN0aW9uKG9iail7
V09SS0VSRlMuY3JlYXRlTm9kZShlbnN1cmVQYXJlbnQob2JqWyJuYW1lIl0pLGJhc2Uob2JqWyJu
YW1lIl0pLFdPUktFUkZTLkZJTEVfTU9ERSwwLG9ialsiZGF0YSJdKX0pKTsobW91bnQub3B0c1si
cGFja2FnZXMiXXx8W10pLmZvckVhY2goKGZ1bmN0aW9uKHBhY2spe3BhY2tbIm1ldGFkYXRhIl0u
ZmlsZXMuZm9yRWFjaCgoZnVuY3Rpb24oZmlsZSl7dmFyIG5hbWU9ZmlsZS5maWxlbmFtZS5zdWJz
dHIoMSk7V09SS0VSRlMuY3JlYXRlTm9kZShlbnN1cmVQYXJlbnQobmFtZSksYmFzZShuYW1lKSxX
T1JLRVJGUy5GSUxFX01PREUsMCxwYWNrWyJibG9iIl0uc2xpY2UoZmlsZS5zdGFydCxmaWxlLmVu
ZCkpfSkpfSkpO3JldHVybiByb290fSksY3JlYXRlTm9kZTooZnVuY3Rpb24ocGFyZW50LG5hbWUs
bW9kZSxkZXYsY29udGVudHMsbXRpbWUpe3ZhciBub2RlPUZTLmNyZWF0ZU5vZGUocGFyZW50LG5h
bWUsbW9kZSk7bm9kZS5tb2RlPW1vZGU7bm9kZS5ub2RlX29wcz1XT1JLRVJGUy5ub2RlX29wcztu
b2RlLnN0cmVhbV9vcHM9V09SS0VSRlMuc3RyZWFtX29wcztub2RlLnRpbWVzdGFtcD0obXRpbWV8
fG5ldyBEYXRlKS5nZXRUaW1lKCk7YXNzZXJ0KFdPUktFUkZTLkZJTEVfTU9ERSE9PVdPUktFUkZT
LkRJUl9NT0RFKTtpZihtb2RlPT09V09SS0VSRlMuRklMRV9NT0RFKXtub2RlLnNpemU9Y29udGVu
dHMuc2l6ZTtub2RlLmNvbnRlbnRzPWNvbnRlbnRzfWVsc2V7bm9kZS5zaXplPTQwOTY7bm9kZS5j
b250ZW50cz17fX1pZihwYXJlbnQpe3BhcmVudC5jb250ZW50c1tuYW1lXT1ub2RlfXJldHVybiBu
b2RlfSksbm9kZV9vcHM6e2dldGF0dHI6KGZ1bmN0aW9uKG5vZGUpe3JldHVybntkZXY6MSxpbm86
dW5kZWZpbmVkLG1vZGU6bm9kZS5tb2RlLG5saW5rOjEsdWlkOjAsZ2lkOjAscmRldjp1bmRlZmlu
ZWQsc2l6ZTpub2RlLnNpemUsYXRpbWU6bmV3IERhdGUobm9kZS50aW1lc3RhbXApLG10aW1lOm5l
dyBEYXRlKG5vZGUudGltZXN0YW1wKSxjdGltZTpuZXcgRGF0ZShub2RlLnRpbWVzdGFtcCksYmxr
c2l6ZTo0MDk2LGJsb2NrczpNYXRoLmNlaWwobm9kZS5zaXplLzQwOTYpfX0pLHNldGF0dHI6KGZ1
bmN0aW9uKG5vZGUsYXR0cil7aWYoYXR0ci5tb2RlIT09dW5kZWZpbmVkKXtub2RlLm1vZGU9YXR0
ci5tb2RlfWlmKGF0dHIudGltZXN0YW1wIT09dW5kZWZpbmVkKXtub2RlLnRpbWVzdGFtcD1hdHRy
LnRpbWVzdGFtcH19KSxsb29rdXA6KGZ1bmN0aW9uKHBhcmVudCxuYW1lKXt0aHJvdyBuZXcgRlMu
RXJybm9FcnJvcihFUlJOT19DT0RFUy5FTk9FTlQpfSksbWtub2Q6KGZ1bmN0aW9uKHBhcmVudCxu
YW1lLG1vZGUsZGV2KXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FUEVSTSl9
KSxyZW5hbWU6KGZ1bmN0aW9uKG9sZE5vZGUsbmV3RGlyLG5ld05hbWUpe3Rocm93IG5ldyBGUy5F
cnJub0Vycm9yKEVSUk5PX0NPREVTLkVQRVJNKX0pLHVubGluazooZnVuY3Rpb24ocGFyZW50LG5h
bWUpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVQRVJNKX0pLHJtZGlyOihm
dW5jdGlvbihwYXJlbnQsbmFtZSl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMu
RVBFUk0pfSkscmVhZGRpcjooZnVuY3Rpb24obm9kZSl7dmFyIGVudHJpZXM9WyIuIiwiLi4iXTtm
b3IodmFyIGtleSBpbiBub2RlLmNvbnRlbnRzKXtpZighbm9kZS5jb250ZW50cy5oYXNPd25Qcm9w
ZXJ0eShrZXkpKXtjb250aW51ZX1lbnRyaWVzLnB1c2goa2V5KX1yZXR1cm4gZW50cmllc30pLHN5
bWxpbms6KGZ1bmN0aW9uKHBhcmVudCxuZXdOYW1lLG9sZFBhdGgpe3Rocm93IG5ldyBGUy5FcnJu
b0Vycm9yKEVSUk5PX0NPREVTLkVQRVJNKX0pLHJlYWRsaW5rOihmdW5jdGlvbihub2RlKXt0aHJv
dyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FUEVSTSl9KX0sc3RyZWFtX29wczp7cmVh
ZDooZnVuY3Rpb24oc3RyZWFtLGJ1ZmZlcixvZmZzZXQsbGVuZ3RoLHBvc2l0aW9uKXtpZihwb3Np
dGlvbj49c3RyZWFtLm5vZGUuc2l6ZSlyZXR1cm4gMDt2YXIgY2h1bms9c3RyZWFtLm5vZGUuY29u
dGVudHMuc2xpY2UocG9zaXRpb24scG9zaXRpb24rbGVuZ3RoKTt2YXIgYWI9V09SS0VSRlMucmVh
ZGVyLnJlYWRBc0FycmF5QnVmZmVyKGNodW5rKTtidWZmZXIuc2V0KG5ldyBVaW50OEFycmF5KGFi
KSxvZmZzZXQpO3JldHVybiBjaHVuay5zaXplfSksd3JpdGU6KGZ1bmN0aW9uKHN0cmVhbSxidWZm
ZXIsb2Zmc2V0LGxlbmd0aCxwb3NpdGlvbil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9f
Q09ERVMuRUlPKX0pLGxsc2VlazooZnVuY3Rpb24oc3RyZWFtLG9mZnNldCx3aGVuY2Upe3ZhciBw
b3NpdGlvbj1vZmZzZXQ7aWYod2hlbmNlPT09MSl7cG9zaXRpb24rPXN0cmVhbS5wb3NpdGlvbn1l
bHNlIGlmKHdoZW5jZT09PTIpe2lmKEZTLmlzRmlsZShzdHJlYW0ubm9kZS5tb2RlKSl7cG9zaXRp
b24rPXN0cmVhbS5ub2RlLnNpemV9fWlmKHBvc2l0aW9uPDApe3Rocm93IG5ldyBGUy5FcnJub0Vy
cm9yKEVSUk5PX0NPREVTLkVJTlZBTCl9cmV0dXJuIHBvc2l0aW9ufSl9fTtTVEFUSUNUT1ArPTE2
O1NUQVRJQ1RPUCs9MTY7U1RBVElDVE9QKz0xNjt2YXIgRlM9e3Jvb3Q6bnVsbCxtb3VudHM6W10s
ZGV2aWNlczp7fSxzdHJlYW1zOltdLG5leHRJbm9kZToxLG5hbWVUYWJsZTpudWxsLGN1cnJlbnRQ
YXRoOiIvIixpbml0aWFsaXplZDpmYWxzZSxpZ25vcmVQZXJtaXNzaW9uczp0cnVlLHRyYWNraW5n
RGVsZWdhdGU6e30sdHJhY2tpbmc6e29wZW5GbGFnczp7UkVBRDoxLFdSSVRFOjJ9fSxFcnJub0Vy
cm9yOm51bGwsZ2VuZXJpY0Vycm9yczp7fSxmaWxlc3lzdGVtczpudWxsLHN5bmNGU1JlcXVlc3Rz
OjAsaGFuZGxlRlNFcnJvcjooZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgRlMuRXJybm9F
cnJvcikpdGhyb3cgZSsiIDogIitzdGFja1RyYWNlKCk7cmV0dXJuIF9fX3NldEVyck5vKGUuZXJy
bm8pfSksbG9va3VwUGF0aDooZnVuY3Rpb24ocGF0aCxvcHRzKXtwYXRoPVBBVEgucmVzb2x2ZShG
Uy5jd2QoKSxwYXRoKTtvcHRzPW9wdHN8fHt9O2lmKCFwYXRoKXJldHVybntwYXRoOiIiLG5vZGU6
bnVsbH07dmFyIGRlZmF1bHRzPXtmb2xsb3dfbW91bnQ6dHJ1ZSxyZWN1cnNlX2NvdW50OjB9O2Zv
cih2YXIga2V5IGluIGRlZmF1bHRzKXtpZihvcHRzW2tleV09PT11bmRlZmluZWQpe29wdHNba2V5
XT1kZWZhdWx0c1trZXldfX1pZihvcHRzLnJlY3Vyc2VfY291bnQ+OCl7dGhyb3cgbmV3IEZTLkVy
cm5vRXJyb3IoRVJSTk9fQ09ERVMuRUxPT1ApfXZhciBwYXJ0cz1QQVRILm5vcm1hbGl6ZUFycmF5
KHBhdGguc3BsaXQoIi8iKS5maWx0ZXIoKGZ1bmN0aW9uKHApe3JldHVybiEhcH0pKSxmYWxzZSk7
dmFyIGN1cnJlbnQ9RlMucm9vdDt2YXIgY3VycmVudF9wYXRoPSIvIjtmb3IodmFyIGk9MDtpPHBh
cnRzLmxlbmd0aDtpKyspe3ZhciBpc2xhc3Q9aT09PXBhcnRzLmxlbmd0aC0xO2lmKGlzbGFzdCYm
b3B0cy5wYXJlbnQpe2JyZWFrfWN1cnJlbnQ9RlMubG9va3VwTm9kZShjdXJyZW50LHBhcnRzW2ld
KTtjdXJyZW50X3BhdGg9UEFUSC5qb2luMihjdXJyZW50X3BhdGgscGFydHNbaV0pO2lmKEZTLmlz
TW91bnRwb2ludChjdXJyZW50KSl7aWYoIWlzbGFzdHx8aXNsYXN0JiZvcHRzLmZvbGxvd19tb3Vu
dCl7Y3VycmVudD1jdXJyZW50Lm1vdW50ZWQucm9vdH19aWYoIWlzbGFzdHx8b3B0cy5mb2xsb3cp
e3ZhciBjb3VudD0wO3doaWxlKEZTLmlzTGluayhjdXJyZW50Lm1vZGUpKXt2YXIgbGluaz1GUy5y
ZWFkbGluayhjdXJyZW50X3BhdGgpO2N1cnJlbnRfcGF0aD1QQVRILnJlc29sdmUoUEFUSC5kaXJu
YW1lKGN1cnJlbnRfcGF0aCksbGluayk7dmFyIGxvb2t1cD1GUy5sb29rdXBQYXRoKGN1cnJlbnRf
cGF0aCx7cmVjdXJzZV9jb3VudDpvcHRzLnJlY3Vyc2VfY291bnR9KTtjdXJyZW50PWxvb2t1cC5u
b2RlO2lmKGNvdW50Kys+NDApe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVM
T09QKX19fX1yZXR1cm57cGF0aDpjdXJyZW50X3BhdGgsbm9kZTpjdXJyZW50fX0pLGdldFBhdGg6
KGZ1bmN0aW9uKG5vZGUpe3ZhciBwYXRoO3doaWxlKHRydWUpe2lmKEZTLmlzUm9vdChub2RlKSl7
dmFyIG1vdW50PW5vZGUubW91bnQubW91bnRwb2ludDtpZighcGF0aClyZXR1cm4gbW91bnQ7cmV0
dXJuIG1vdW50W21vdW50Lmxlbmd0aC0xXSE9PSIvIj9tb3VudCsiLyIrcGF0aDptb3VudCtwYXRo
fXBhdGg9cGF0aD9ub2RlLm5hbWUrIi8iK3BhdGg6bm9kZS5uYW1lO25vZGU9bm9kZS5wYXJlbnR9
fSksaGFzaE5hbWU6KGZ1bmN0aW9uKHBhcmVudGlkLG5hbWUpe3ZhciBoYXNoPTA7Zm9yKHZhciBp
PTA7aTxuYW1lLmxlbmd0aDtpKyspe2hhc2g9KGhhc2g8PDUpLWhhc2grbmFtZS5jaGFyQ29kZUF0
KGkpfDB9cmV0dXJuKHBhcmVudGlkK2hhc2g+Pj4wKSVGUy5uYW1lVGFibGUubGVuZ3RofSksaGFz
aEFkZE5vZGU6KGZ1bmN0aW9uKG5vZGUpe3ZhciBoYXNoPUZTLmhhc2hOYW1lKG5vZGUucGFyZW50
LmlkLG5vZGUubmFtZSk7bm9kZS5uYW1lX25leHQ9RlMubmFtZVRhYmxlW2hhc2hdO0ZTLm5hbWVU
YWJsZVtoYXNoXT1ub2RlfSksaGFzaFJlbW92ZU5vZGU6KGZ1bmN0aW9uKG5vZGUpe3ZhciBoYXNo
PUZTLmhhc2hOYW1lKG5vZGUucGFyZW50LmlkLG5vZGUubmFtZSk7aWYoRlMubmFtZVRhYmxlW2hh
c2hdPT09bm9kZSl7RlMubmFtZVRhYmxlW2hhc2hdPW5vZGUubmFtZV9uZXh0fWVsc2V7dmFyIGN1
cnJlbnQ9RlMubmFtZVRhYmxlW2hhc2hdO3doaWxlKGN1cnJlbnQpe2lmKGN1cnJlbnQubmFtZV9u
ZXh0PT09bm9kZSl7Y3VycmVudC5uYW1lX25leHQ9bm9kZS5uYW1lX25leHQ7YnJlYWt9Y3VycmVu
dD1jdXJyZW50Lm5hbWVfbmV4dH19fSksbG9va3VwTm9kZTooZnVuY3Rpb24ocGFyZW50LG5hbWUp
e3ZhciBlcnI9RlMubWF5TG9va3VwKHBhcmVudCk7aWYoZXJyKXt0aHJvdyBuZXcgRlMuRXJybm9F
cnJvcihlcnIscGFyZW50KX12YXIgaGFzaD1GUy5oYXNoTmFtZShwYXJlbnQuaWQsbmFtZSk7Zm9y
KHZhciBub2RlPUZTLm5hbWVUYWJsZVtoYXNoXTtub2RlO25vZGU9bm9kZS5uYW1lX25leHQpe3Zh
ciBub2RlTmFtZT1ub2RlLm5hbWU7aWYobm9kZS5wYXJlbnQuaWQ9PT1wYXJlbnQuaWQmJm5vZGVO
YW1lPT09bmFtZSl7cmV0dXJuIG5vZGV9fXJldHVybiBGUy5sb29rdXAocGFyZW50LG5hbWUpfSks
Y3JlYXRlTm9kZTooZnVuY3Rpb24ocGFyZW50LG5hbWUsbW9kZSxyZGV2KXtpZighRlMuRlNOb2Rl
KXtGUy5GU05vZGU9KGZ1bmN0aW9uKHBhcmVudCxuYW1lLG1vZGUscmRldil7aWYoIXBhcmVudCl7
cGFyZW50PXRoaXN9dGhpcy5wYXJlbnQ9cGFyZW50O3RoaXMubW91bnQ9cGFyZW50Lm1vdW50O3Ro
aXMubW91bnRlZD1udWxsO3RoaXMuaWQ9RlMubmV4dElub2RlKys7dGhpcy5uYW1lPW5hbWU7dGhp
cy5tb2RlPW1vZGU7dGhpcy5ub2RlX29wcz17fTt0aGlzLnN0cmVhbV9vcHM9e307dGhpcy5yZGV2
PXJkZXZ9KTtGUy5GU05vZGUucHJvdG90eXBlPXt9O3ZhciByZWFkTW9kZT0yOTJ8NzM7dmFyIHdy
aXRlTW9kZT0xNDY7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoRlMuRlNOb2RlLnByb3RvdHlwZSx7
cmVhZDp7Z2V0OihmdW5jdGlvbigpe3JldHVybih0aGlzLm1vZGUmcmVhZE1vZGUpPT09cmVhZE1v
ZGV9KSxzZXQ6KGZ1bmN0aW9uKHZhbCl7dmFsP3RoaXMubW9kZXw9cmVhZE1vZGU6dGhpcy5tb2Rl
Jj1+cmVhZE1vZGV9KX0sd3JpdGU6e2dldDooZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5tb2RlJndy
aXRlTW9kZSk9PT13cml0ZU1vZGV9KSxzZXQ6KGZ1bmN0aW9uKHZhbCl7dmFsP3RoaXMubW9kZXw9
d3JpdGVNb2RlOnRoaXMubW9kZSY9fndyaXRlTW9kZX0pfSxpc0ZvbGRlcjp7Z2V0OihmdW5jdGlv
bigpe3JldHVybiBGUy5pc0Rpcih0aGlzLm1vZGUpfSl9LGlzRGV2aWNlOntnZXQ6KGZ1bmN0aW9u
KCl7cmV0dXJuIEZTLmlzQ2hyZGV2KHRoaXMubW9kZSl9KX19KX12YXIgbm9kZT1uZXcgRlMuRlNO
b2RlKHBhcmVudCxuYW1lLG1vZGUscmRldik7RlMuaGFzaEFkZE5vZGUobm9kZSk7cmV0dXJuIG5v
ZGV9KSxkZXN0cm95Tm9kZTooZnVuY3Rpb24obm9kZSl7RlMuaGFzaFJlbW92ZU5vZGUobm9kZSl9
KSxpc1Jvb3Q6KGZ1bmN0aW9uKG5vZGUpe3JldHVybiBub2RlPT09bm9kZS5wYXJlbnR9KSxpc01v
dW50cG9pbnQ6KGZ1bmN0aW9uKG5vZGUpe3JldHVybiEhbm9kZS5tb3VudGVkfSksaXNGaWxlOihm
dW5jdGlvbihtb2RlKXtyZXR1cm4obW9kZSY2MTQ0MCk9PT0zMjc2OH0pLGlzRGlyOihmdW5jdGlv
bihtb2RlKXtyZXR1cm4obW9kZSY2MTQ0MCk9PT0xNjM4NH0pLGlzTGluazooZnVuY3Rpb24obW9k
ZSl7cmV0dXJuKG1vZGUmNjE0NDApPT09NDA5NjB9KSxpc0NocmRldjooZnVuY3Rpb24obW9kZSl7
cmV0dXJuKG1vZGUmNjE0NDApPT09ODE5Mn0pLGlzQmxrZGV2OihmdW5jdGlvbihtb2RlKXtyZXR1
cm4obW9kZSY2MTQ0MCk9PT0yNDU3Nn0pLGlzRklGTzooZnVuY3Rpb24obW9kZSl7cmV0dXJuKG1v
ZGUmNjE0NDApPT09NDA5Nn0pLGlzU29ja2V0OihmdW5jdGlvbihtb2RlKXtyZXR1cm4obW9kZSY0
OTE1Mik9PT00OTE1Mn0pLGZsYWdNb2Rlczp7InIiOjAsInJzIjoxMDUyNjcyLCJyKyI6MiwidyI6
NTc3LCJ3eCI6NzA1LCJ4dyI6NzA1LCJ3KyI6NTc4LCJ3eCsiOjcwNiwieHcrIjo3MDYsImEiOjEw
ODksImF4IjoxMjE3LCJ4YSI6MTIxNywiYSsiOjEwOTAsImF4KyI6MTIxOCwieGErIjoxMjE4fSxt
b2RlU3RyaW5nVG9GbGFnczooZnVuY3Rpb24oc3RyKXt2YXIgZmxhZ3M9RlMuZmxhZ01vZGVzW3N0
cl07aWYodHlwZW9mIGZsYWdzPT09InVuZGVmaW5lZCIpe3Rocm93IG5ldyBFcnJvcigiVW5rbm93
biBmaWxlIG9wZW4gbW9kZTogIitzdHIpfXJldHVybiBmbGFnc30pLGZsYWdzVG9QZXJtaXNzaW9u
U3RyaW5nOihmdW5jdGlvbihmbGFnKXt2YXIgcGVybXM9WyJyIiwidyIsInJ3Il1bZmxhZyYzXTtp
ZihmbGFnJjUxMil7cGVybXMrPSJ3In1yZXR1cm4gcGVybXN9KSxub2RlUGVybWlzc2lvbnM6KGZ1
bmN0aW9uKG5vZGUscGVybXMpe2lmKEZTLmlnbm9yZVBlcm1pc3Npb25zKXtyZXR1cm4gMH1pZihw
ZXJtcy5pbmRleE9mKCJyIikhPT0tMSYmIShub2RlLm1vZGUmMjkyKSl7cmV0dXJuIEVSUk5PX0NP
REVTLkVBQ0NFU31lbHNlIGlmKHBlcm1zLmluZGV4T2YoInciKSE9PS0xJiYhKG5vZGUubW9kZSYx
NDYpKXtyZXR1cm4gRVJSTk9fQ09ERVMuRUFDQ0VTfWVsc2UgaWYocGVybXMuaW5kZXhPZigieCIp
IT09LTEmJiEobm9kZS5tb2RlJjczKSl7cmV0dXJuIEVSUk5PX0NPREVTLkVBQ0NFU31yZXR1cm4g
MH0pLG1heUxvb2t1cDooZnVuY3Rpb24oZGlyKXt2YXIgZXJyPUZTLm5vZGVQZXJtaXNzaW9ucyhk
aXIsIngiKTtpZihlcnIpcmV0dXJuIGVycjtpZighZGlyLm5vZGVfb3BzLmxvb2t1cClyZXR1cm4g
RVJSTk9fQ09ERVMuRUFDQ0VTO3JldHVybiAwfSksbWF5Q3JlYXRlOihmdW5jdGlvbihkaXIsbmFt
ZSl7dHJ5e3ZhciBub2RlPUZTLmxvb2t1cE5vZGUoZGlyLG5hbWUpO3JldHVybiBFUlJOT19DT0RF
Uy5FRVhJU1R9Y2F0Y2goZSl7fXJldHVybiBGUy5ub2RlUGVybWlzc2lvbnMoZGlyLCJ3eCIpfSks
bWF5RGVsZXRlOihmdW5jdGlvbihkaXIsbmFtZSxpc2Rpcil7dmFyIG5vZGU7dHJ5e25vZGU9RlMu
bG9va3VwTm9kZShkaXIsbmFtZSl9Y2F0Y2goZSl7cmV0dXJuIGUuZXJybm99dmFyIGVycj1GUy5u
b2RlUGVybWlzc2lvbnMoZGlyLCJ3eCIpO2lmKGVycil7cmV0dXJuIGVycn1pZihpc2Rpcil7aWYo
IUZTLmlzRGlyKG5vZGUubW9kZSkpe3JldHVybiBFUlJOT19DT0RFUy5FTk9URElSfWlmKEZTLmlz
Um9vdChub2RlKXx8RlMuZ2V0UGF0aChub2RlKT09PUZTLmN3ZCgpKXtyZXR1cm4gRVJSTk9fQ09E
RVMuRUJVU1l9fWVsc2V7aWYoRlMuaXNEaXIobm9kZS5tb2RlKSl7cmV0dXJuIEVSUk5PX0NPREVT
LkVJU0RJUn19cmV0dXJuIDB9KSxtYXlPcGVuOihmdW5jdGlvbihub2RlLGZsYWdzKXtpZighbm9k
ZSl7cmV0dXJuIEVSUk5PX0NPREVTLkVOT0VOVH1pZihGUy5pc0xpbmsobm9kZS5tb2RlKSl7cmV0
dXJuIEVSUk5PX0NPREVTLkVMT09QfWVsc2UgaWYoRlMuaXNEaXIobm9kZS5tb2RlKSl7aWYoRlMu
ZmxhZ3NUb1Blcm1pc3Npb25TdHJpbmcoZmxhZ3MpIT09InIifHxmbGFncyY1MTIpe3JldHVybiBF
UlJOT19DT0RFUy5FSVNESVJ9fXJldHVybiBGUy5ub2RlUGVybWlzc2lvbnMobm9kZSxGUy5mbGFn
c1RvUGVybWlzc2lvblN0cmluZyhmbGFncykpfSksTUFYX09QRU5fRkRTOjQwOTYsbmV4dGZkOihm
dW5jdGlvbihmZF9zdGFydCxmZF9lbmQpe2ZkX3N0YXJ0PWZkX3N0YXJ0fHwwO2ZkX2VuZD1mZF9l
bmR8fEZTLk1BWF9PUEVOX0ZEUztmb3IodmFyIGZkPWZkX3N0YXJ0O2ZkPD1mZF9lbmQ7ZmQrKyl7
aWYoIUZTLnN0cmVhbXNbZmRdKXtyZXR1cm4gZmR9fXRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVS
Uk5PX0NPREVTLkVNRklMRSl9KSxnZXRTdHJlYW06KGZ1bmN0aW9uKGZkKXtyZXR1cm4gRlMuc3Ry
ZWFtc1tmZF19KSxjcmVhdGVTdHJlYW06KGZ1bmN0aW9uKHN0cmVhbSxmZF9zdGFydCxmZF9lbmQp
e2lmKCFGUy5GU1N0cmVhbSl7RlMuRlNTdHJlYW09KGZ1bmN0aW9uKCl7fSk7RlMuRlNTdHJlYW0u
cHJvdG90eXBlPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEZTLkZTU3RyZWFtLnByb3RvdHlw
ZSx7b2JqZWN0OntnZXQ6KGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZX0pLHNldDooZnVuY3Rp
b24odmFsKXt0aGlzLm5vZGU9dmFsfSl9LGlzUmVhZDp7Z2V0OihmdW5jdGlvbigpe3JldHVybih0
aGlzLmZsYWdzJjIwOTcxNTUpIT09MX0pfSxpc1dyaXRlOntnZXQ6KGZ1bmN0aW9uKCl7cmV0dXJu
KHRoaXMuZmxhZ3MmMjA5NzE1NSkhPT0wfSl9LGlzQXBwZW5kOntnZXQ6KGZ1bmN0aW9uKCl7cmV0
dXJuIHRoaXMuZmxhZ3MmMTAyNH0pfX0pfXZhciBuZXdTdHJlYW09bmV3IEZTLkZTU3RyZWFtO2Zv
cih2YXIgcCBpbiBzdHJlYW0pe25ld1N0cmVhbVtwXT1zdHJlYW1bcF19c3RyZWFtPW5ld1N0cmVh
bTt2YXIgZmQ9RlMubmV4dGZkKGZkX3N0YXJ0LGZkX2VuZCk7c3RyZWFtLmZkPWZkO0ZTLnN0cmVh
bXNbZmRdPXN0cmVhbTtyZXR1cm4gc3RyZWFtfSksY2xvc2VTdHJlYW06KGZ1bmN0aW9uKGZkKXtG
Uy5zdHJlYW1zW2ZkXT1udWxsfSksY2hyZGV2X3N0cmVhbV9vcHM6e29wZW46KGZ1bmN0aW9uKHN0
cmVhbSl7dmFyIGRldmljZT1GUy5nZXREZXZpY2Uoc3RyZWFtLm5vZGUucmRldik7c3RyZWFtLnN0
cmVhbV9vcHM9ZGV2aWNlLnN0cmVhbV9vcHM7aWYoc3RyZWFtLnN0cmVhbV9vcHMub3Blbil7c3Ry
ZWFtLnN0cmVhbV9vcHMub3BlbihzdHJlYW0pfX0pLGxsc2VlazooZnVuY3Rpb24oKXt0aHJvdyBu
ZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FU1BJUEUpfSl9LG1ham9yOihmdW5jdGlvbihk
ZXYpe3JldHVybiBkZXY+Pjh9KSxtaW5vcjooZnVuY3Rpb24oZGV2KXtyZXR1cm4gZGV2JjI1NX0p
LG1ha2VkZXY6KGZ1bmN0aW9uKG1hLG1pKXtyZXR1cm4gbWE8PDh8bWl9KSxyZWdpc3RlckRldmlj
ZTooZnVuY3Rpb24oZGV2LG9wcyl7RlMuZGV2aWNlc1tkZXZdPXtzdHJlYW1fb3BzOm9wc319KSxn
ZXREZXZpY2U6KGZ1bmN0aW9uKGRldil7cmV0dXJuIEZTLmRldmljZXNbZGV2XX0pLGdldE1vdW50
czooZnVuY3Rpb24obW91bnQpe3ZhciBtb3VudHM9W107dmFyIGNoZWNrPVttb3VudF07d2hpbGUo
Y2hlY2subGVuZ3RoKXt2YXIgbT1jaGVjay5wb3AoKTttb3VudHMucHVzaChtKTtjaGVjay5wdXNo
LmFwcGx5KGNoZWNrLG0ubW91bnRzKX1yZXR1cm4gbW91bnRzfSksc3luY2ZzOihmdW5jdGlvbihw
b3B1bGF0ZSxjYWxsYmFjayl7aWYodHlwZW9mIHBvcHVsYXRlPT09ImZ1bmN0aW9uIil7Y2FsbGJh
Y2s9cG9wdWxhdGU7cG9wdWxhdGU9ZmFsc2V9RlMuc3luY0ZTUmVxdWVzdHMrKztpZihGUy5zeW5j
RlNSZXF1ZXN0cz4xKXtjb25zb2xlLmxvZygid2FybmluZzogIitGUy5zeW5jRlNSZXF1ZXN0cysi
IEZTLnN5bmNmcyBvcGVyYXRpb25zIGluIGZsaWdodCBhdCBvbmNlLCBwcm9iYWJseSBqdXN0IGRv
aW5nIGV4dHJhIHdvcmsiKX12YXIgbW91bnRzPUZTLmdldE1vdW50cyhGUy5yb290Lm1vdW50KTt2
YXIgY29tcGxldGVkPTA7ZnVuY3Rpb24gZG9DYWxsYmFjayhlcnIpe2Fzc2VydChGUy5zeW5jRlNS
ZXF1ZXN0cz4wKTtGUy5zeW5jRlNSZXF1ZXN0cy0tO3JldHVybiBjYWxsYmFjayhlcnIpfWZ1bmN0
aW9uIGRvbmUoZXJyKXtpZihlcnIpe2lmKCFkb25lLmVycm9yZWQpe2RvbmUuZXJyb3JlZD10cnVl
O3JldHVybiBkb0NhbGxiYWNrKGVycil9cmV0dXJufWlmKCsrY29tcGxldGVkPj1tb3VudHMubGVu
Z3RoKXtkb0NhbGxiYWNrKG51bGwpfX1tb3VudHMuZm9yRWFjaCgoZnVuY3Rpb24obW91bnQpe2lm
KCFtb3VudC50eXBlLnN5bmNmcyl7cmV0dXJuIGRvbmUobnVsbCl9bW91bnQudHlwZS5zeW5jZnMo
bW91bnQscG9wdWxhdGUsZG9uZSl9KSl9KSxtb3VudDooZnVuY3Rpb24odHlwZSxvcHRzLG1vdW50
cG9pbnQpe3ZhciByb290PW1vdW50cG9pbnQ9PT0iLyI7dmFyIHBzZXVkbz0hbW91bnRwb2ludDt2
YXIgbm9kZTtpZihyb290JiZGUy5yb290KXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19D
T0RFUy5FQlVTWSl9ZWxzZSBpZighcm9vdCYmIXBzZXVkbyl7dmFyIGxvb2t1cD1GUy5sb29rdXBQ
YXRoKG1vdW50cG9pbnQse2ZvbGxvd19tb3VudDpmYWxzZX0pO21vdW50cG9pbnQ9bG9va3VwLnBh
dGg7bm9kZT1sb29rdXAubm9kZTtpZihGUy5pc01vdW50cG9pbnQobm9kZSkpe3Rocm93IG5ldyBG
Uy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVCVVNZKX1pZighRlMuaXNEaXIobm9kZS5tb2RlKSl7
dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5PVERJUil9fXZhciBtb3VudD17
dHlwZTp0eXBlLG9wdHM6b3B0cyxtb3VudHBvaW50Om1vdW50cG9pbnQsbW91bnRzOltdfTt2YXIg
bW91bnRSb290PXR5cGUubW91bnQobW91bnQpO21vdW50Um9vdC5tb3VudD1tb3VudDttb3VudC5y
b290PW1vdW50Um9vdDtpZihyb290KXtGUy5yb290PW1vdW50Um9vdH1lbHNlIGlmKG5vZGUpe25v
ZGUubW91bnRlZD1tb3VudDtpZihub2RlLm1vdW50KXtub2RlLm1vdW50Lm1vdW50cy5wdXNoKG1v
dW50KX19cmV0dXJuIG1vdW50Um9vdH0pLHVubW91bnQ6KGZ1bmN0aW9uKG1vdW50cG9pbnQpe3Zh
ciBsb29rdXA9RlMubG9va3VwUGF0aChtb3VudHBvaW50LHtmb2xsb3dfbW91bnQ6ZmFsc2V9KTtp
ZighRlMuaXNNb3VudHBvaW50KGxvb2t1cC5ub2RlKSl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3Io
RVJSTk9fQ09ERVMuRUlOVkFMKX12YXIgbm9kZT1sb29rdXAubm9kZTt2YXIgbW91bnQ9bm9kZS5t
b3VudGVkO3ZhciBtb3VudHM9RlMuZ2V0TW91bnRzKG1vdW50KTtPYmplY3Qua2V5cyhGUy5uYW1l
VGFibGUpLmZvckVhY2goKGZ1bmN0aW9uKGhhc2gpe3ZhciBjdXJyZW50PUZTLm5hbWVUYWJsZVto
YXNoXTt3aGlsZShjdXJyZW50KXt2YXIgbmV4dD1jdXJyZW50Lm5hbWVfbmV4dDtpZihtb3VudHMu
aW5kZXhPZihjdXJyZW50Lm1vdW50KSE9PS0xKXtGUy5kZXN0cm95Tm9kZShjdXJyZW50KX1jdXJy
ZW50PW5leHR9fSkpO25vZGUubW91bnRlZD1udWxsO3ZhciBpZHg9bm9kZS5tb3VudC5tb3VudHMu
aW5kZXhPZihtb3VudCk7YXNzZXJ0KGlkeCE9PS0xKTtub2RlLm1vdW50Lm1vdW50cy5zcGxpY2Uo
aWR4LDEpfSksbG9va3VwOihmdW5jdGlvbihwYXJlbnQsbmFtZSl7cmV0dXJuIHBhcmVudC5ub2Rl
X29wcy5sb29rdXAocGFyZW50LG5hbWUpfSksbWtub2Q6KGZ1bmN0aW9uKHBhdGgsbW9kZSxkZXYp
e3ZhciBsb29rdXA9RlMubG9va3VwUGF0aChwYXRoLHtwYXJlbnQ6dHJ1ZX0pO3ZhciBwYXJlbnQ9
bG9va3VwLm5vZGU7dmFyIG5hbWU9UEFUSC5iYXNlbmFtZShwYXRoKTtpZighbmFtZXx8bmFtZT09
PSIuInx8bmFtZT09PSIuLiIpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJ
TlZBTCl9dmFyIGVycj1GUy5tYXlDcmVhdGUocGFyZW50LG5hbWUpO2lmKGVycil7dGhyb3cgbmV3
IEZTLkVycm5vRXJyb3IoZXJyKX1pZighcGFyZW50Lm5vZGVfb3BzLm1rbm9kKXt0aHJvdyBuZXcg
RlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FUEVSTSl9cmV0dXJuIHBhcmVudC5ub2RlX29wcy5t
a25vZChwYXJlbnQsbmFtZSxtb2RlLGRldil9KSxjcmVhdGU6KGZ1bmN0aW9uKHBhdGgsbW9kZSl7
bW9kZT1tb2RlIT09dW5kZWZpbmVkP21vZGU6NDM4O21vZGUmPTQwOTU7bW9kZXw9MzI3Njg7cmV0
dXJuIEZTLm1rbm9kKHBhdGgsbW9kZSwwKX0pLG1rZGlyOihmdW5jdGlvbihwYXRoLG1vZGUpe21v
ZGU9bW9kZSE9PXVuZGVmaW5lZD9tb2RlOjUxMTttb2RlJj01MTF8NTEyO21vZGV8PTE2Mzg0O3Jl
dHVybiBGUy5ta25vZChwYXRoLG1vZGUsMCl9KSxta2RpclRyZWU6KGZ1bmN0aW9uKHBhdGgsbW9k
ZSl7dmFyIGRpcnM9cGF0aC5zcGxpdCgiLyIpO3ZhciBkPSIiO2Zvcih2YXIgaT0wO2k8ZGlycy5s
ZW5ndGg7KytpKXtpZighZGlyc1tpXSljb250aW51ZTtkKz0iLyIrZGlyc1tpXTt0cnl7RlMubWtk
aXIoZCxtb2RlKX1jYXRjaChlKXtpZihlLmVycm5vIT1FUlJOT19DT0RFUy5FRVhJU1QpdGhyb3cg
ZX19fSksbWtkZXY6KGZ1bmN0aW9uKHBhdGgsbW9kZSxkZXYpe2lmKHR5cGVvZiBkZXY9PT0idW5k
ZWZpbmVkIil7ZGV2PW1vZGU7bW9kZT00Mzh9bW9kZXw9ODE5MjtyZXR1cm4gRlMubWtub2QocGF0
aCxtb2RlLGRldil9KSxzeW1saW5rOihmdW5jdGlvbihvbGRwYXRoLG5ld3BhdGgpe2lmKCFQQVRI
LnJlc29sdmUob2xkcGF0aCkpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVO
T0VOVCl9dmFyIGxvb2t1cD1GUy5sb29rdXBQYXRoKG5ld3BhdGgse3BhcmVudDp0cnVlfSk7dmFy
IHBhcmVudD1sb29rdXAubm9kZTtpZighcGFyZW50KXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihF
UlJOT19DT0RFUy5FTk9FTlQpfXZhciBuZXduYW1lPVBBVEguYmFzZW5hbWUobmV3cGF0aCk7dmFy
IGVycj1GUy5tYXlDcmVhdGUocGFyZW50LG5ld25hbWUpO2lmKGVycil7dGhyb3cgbmV3IEZTLkVy
cm5vRXJyb3IoZXJyKX1pZighcGFyZW50Lm5vZGVfb3BzLnN5bWxpbmspe3Rocm93IG5ldyBGUy5F
cnJub0Vycm9yKEVSUk5PX0NPREVTLkVQRVJNKX1yZXR1cm4gcGFyZW50Lm5vZGVfb3BzLnN5bWxp
bmsocGFyZW50LG5ld25hbWUsb2xkcGF0aCl9KSxyZW5hbWU6KGZ1bmN0aW9uKG9sZF9wYXRoLG5l
d19wYXRoKXt2YXIgb2xkX2Rpcm5hbWU9UEFUSC5kaXJuYW1lKG9sZF9wYXRoKTt2YXIgbmV3X2Rp
cm5hbWU9UEFUSC5kaXJuYW1lKG5ld19wYXRoKTt2YXIgb2xkX25hbWU9UEFUSC5iYXNlbmFtZShv
bGRfcGF0aCk7dmFyIG5ld19uYW1lPVBBVEguYmFzZW5hbWUobmV3X3BhdGgpO3ZhciBsb29rdXAs
b2xkX2RpcixuZXdfZGlyO3RyeXtsb29rdXA9RlMubG9va3VwUGF0aChvbGRfcGF0aCx7cGFyZW50
OnRydWV9KTtvbGRfZGlyPWxvb2t1cC5ub2RlO2xvb2t1cD1GUy5sb29rdXBQYXRoKG5ld19wYXRo
LHtwYXJlbnQ6dHJ1ZX0pO25ld19kaXI9bG9va3VwLm5vZGV9Y2F0Y2goZSl7dGhyb3cgbmV3IEZT
LkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUJVU1kpfWlmKCFvbGRfZGlyfHwhbmV3X2Rpcil0aHJv
dyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FTk9FTlQpO2lmKG9sZF9kaXIubW91bnQh
PT1uZXdfZGlyLm1vdW50KXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FWERF
Vil9dmFyIG9sZF9ub2RlPUZTLmxvb2t1cE5vZGUob2xkX2RpcixvbGRfbmFtZSk7dmFyIHJlbGF0
aXZlPVBBVEgucmVsYXRpdmUob2xkX3BhdGgsbmV3X2Rpcm5hbWUpO2lmKHJlbGF0aXZlLmNoYXJB
dCgwKSE9PSIuIil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKX1y
ZWxhdGl2ZT1QQVRILnJlbGF0aXZlKG5ld19wYXRoLG9sZF9kaXJuYW1lKTtpZihyZWxhdGl2ZS5j
aGFyQXQoMCkhPT0iLiIpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT1RF
TVBUWSl9dmFyIG5ld19ub2RlO3RyeXtuZXdfbm9kZT1GUy5sb29rdXBOb2RlKG5ld19kaXIsbmV3
X25hbWUpfWNhdGNoKGUpe31pZihvbGRfbm9kZT09PW5ld19ub2RlKXtyZXR1cm59dmFyIGlzZGly
PUZTLmlzRGlyKG9sZF9ub2RlLm1vZGUpO3ZhciBlcnI9RlMubWF5RGVsZXRlKG9sZF9kaXIsb2xk
X25hbWUsaXNkaXIpO2lmKGVycil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoZXJyKX1lcnI9bmV3
X25vZGU/RlMubWF5RGVsZXRlKG5ld19kaXIsbmV3X25hbWUsaXNkaXIpOkZTLm1heUNyZWF0ZShu
ZXdfZGlyLG5ld19uYW1lKTtpZihlcnIpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKGVycil9aWYo
IW9sZF9kaXIubm9kZV9vcHMucmVuYW1lKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19D
T0RFUy5FUEVSTSl9aWYoRlMuaXNNb3VudHBvaW50KG9sZF9ub2RlKXx8bmV3X25vZGUmJkZTLmlz
TW91bnRwb2ludChuZXdfbm9kZSkpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVT
LkVCVVNZKX1pZihuZXdfZGlyIT09b2xkX2Rpcil7ZXJyPUZTLm5vZGVQZXJtaXNzaW9ucyhvbGRf
ZGlyLCJ3Iik7aWYoZXJyKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihlcnIpfX10cnl7aWYoRlMu
dHJhY2tpbmdEZWxlZ2F0ZVsid2lsbE1vdmVQYXRoIl0pe0ZTLnRyYWNraW5nRGVsZWdhdGVbIndp
bGxNb3ZlUGF0aCJdKG9sZF9wYXRoLG5ld19wYXRoKX19Y2F0Y2goZSl7Y29uc29sZS5sb2coIkZT
LnRyYWNraW5nRGVsZWdhdGVbJ3dpbGxNb3ZlUGF0aCddKCciK29sZF9wYXRoKyInLCAnIituZXdf
cGF0aCsiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiAiK2UubWVzc2FnZSl9RlMuaGFzaFJlbW92ZU5v
ZGUob2xkX25vZGUpO3RyeXtvbGRfZGlyLm5vZGVfb3BzLnJlbmFtZShvbGRfbm9kZSxuZXdfZGly
LG5ld19uYW1lKX1jYXRjaChlKXt0aHJvdyBlfWZpbmFsbHl7RlMuaGFzaEFkZE5vZGUob2xkX25v
ZGUpfXRyeXtpZihGUy50cmFja2luZ0RlbGVnYXRlWyJvbk1vdmVQYXRoIl0pRlMudHJhY2tpbmdE
ZWxlZ2F0ZVsib25Nb3ZlUGF0aCJdKG9sZF9wYXRoLG5ld19wYXRoKX1jYXRjaChlKXtjb25zb2xl
LmxvZygiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25Nb3ZlUGF0aCddKCciK29sZF9wYXRoKyInLCAn
IituZXdfcGF0aCsiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiAiK2UubWVzc2FnZSl9fSkscm1kaXI6
KGZ1bmN0aW9uKHBhdGgpe3ZhciBsb29rdXA9RlMubG9va3VwUGF0aChwYXRoLHtwYXJlbnQ6dHJ1
ZX0pO3ZhciBwYXJlbnQ9bG9va3VwLm5vZGU7dmFyIG5hbWU9UEFUSC5iYXNlbmFtZShwYXRoKTt2
YXIgbm9kZT1GUy5sb29rdXBOb2RlKHBhcmVudCxuYW1lKTt2YXIgZXJyPUZTLm1heURlbGV0ZShw
YXJlbnQsbmFtZSx0cnVlKTtpZihlcnIpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKGVycil9aWYo
IXBhcmVudC5ub2RlX29wcy5ybWRpcil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09E
RVMuRVBFUk0pfWlmKEZTLmlzTW91bnRwb2ludChub2RlKSl7dGhyb3cgbmV3IEZTLkVycm5vRXJy
b3IoRVJSTk9fQ09ERVMuRUJVU1kpfXRyeXtpZihGUy50cmFja2luZ0RlbGVnYXRlWyJ3aWxsRGVs
ZXRlUGF0aCJdKXtGUy50cmFja2luZ0RlbGVnYXRlWyJ3aWxsRGVsZXRlUGF0aCJdKHBhdGgpfX1j
YXRjaChlKXtjb25zb2xlLmxvZygiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnd2lsbERlbGV0ZVBhdGgn
XSgnIitwYXRoKyInKSB0aHJldyBhbiBleGNlcHRpb246ICIrZS5tZXNzYWdlKX1wYXJlbnQubm9k
ZV9vcHMucm1kaXIocGFyZW50LG5hbWUpO0ZTLmRlc3Ryb3lOb2RlKG5vZGUpO3RyeXtpZihGUy50
cmFja2luZ0RlbGVnYXRlWyJvbkRlbGV0ZVBhdGgiXSlGUy50cmFja2luZ0RlbGVnYXRlWyJvbkRl
bGV0ZVBhdGgiXShwYXRoKX1jYXRjaChlKXtjb25zb2xlLmxvZygiRlMudHJhY2tpbmdEZWxlZ2F0
ZVsnb25EZWxldGVQYXRoJ10oJyIrcGF0aCsiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiAiK2UubWVz
c2FnZSl9fSkscmVhZGRpcjooZnVuY3Rpb24ocGF0aCl7dmFyIGxvb2t1cD1GUy5sb29rdXBQYXRo
KHBhdGgse2ZvbGxvdzp0cnVlfSk7dmFyIG5vZGU9bG9va3VwLm5vZGU7aWYoIW5vZGUubm9kZV9v
cHMucmVhZGRpcil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5PVERJUil9
cmV0dXJuIG5vZGUubm9kZV9vcHMucmVhZGRpcihub2RlKX0pLHVubGluazooZnVuY3Rpb24ocGF0
aCl7dmFyIGxvb2t1cD1GUy5sb29rdXBQYXRoKHBhdGgse3BhcmVudDp0cnVlfSk7dmFyIHBhcmVu
dD1sb29rdXAubm9kZTt2YXIgbmFtZT1QQVRILmJhc2VuYW1lKHBhdGgpO3ZhciBub2RlPUZTLmxv
b2t1cE5vZGUocGFyZW50LG5hbWUpO3ZhciBlcnI9RlMubWF5RGVsZXRlKHBhcmVudCxuYW1lLGZh
bHNlKTtpZihlcnIpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKGVycil9aWYoIXBhcmVudC5ub2Rl
X29wcy51bmxpbmspe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVQRVJNKX1p
ZihGUy5pc01vdW50cG9pbnQobm9kZSkpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NP
REVTLkVCVVNZKX10cnl7aWYoRlMudHJhY2tpbmdEZWxlZ2F0ZVsid2lsbERlbGV0ZVBhdGgiXSl7
RlMudHJhY2tpbmdEZWxlZ2F0ZVsid2lsbERlbGV0ZVBhdGgiXShwYXRoKX19Y2F0Y2goZSl7Y29u
c29sZS5sb2coIkZTLnRyYWNraW5nRGVsZWdhdGVbJ3dpbGxEZWxldGVQYXRoJ10oJyIrcGF0aCsi
JykgdGhyZXcgYW4gZXhjZXB0aW9uOiAiK2UubWVzc2FnZSl9cGFyZW50Lm5vZGVfb3BzLnVubGlu
ayhwYXJlbnQsbmFtZSk7RlMuZGVzdHJveU5vZGUobm9kZSk7dHJ5e2lmKEZTLnRyYWNraW5nRGVs
ZWdhdGVbIm9uRGVsZXRlUGF0aCJdKUZTLnRyYWNraW5nRGVsZWdhdGVbIm9uRGVsZXRlUGF0aCJd
KHBhdGgpfWNhdGNoKGUpe2NvbnNvbGUubG9nKCJGUy50cmFja2luZ0RlbGVnYXRlWydvbkRlbGV0
ZVBhdGgnXSgnIitwYXRoKyInKSB0aHJldyBhbiBleGNlcHRpb246ICIrZS5tZXNzYWdlKX19KSxy
ZWFkbGluazooZnVuY3Rpb24ocGF0aCl7dmFyIGxvb2t1cD1GUy5sb29rdXBQYXRoKHBhdGgpO3Zh
ciBsaW5rPWxvb2t1cC5ub2RlO2lmKCFsaW5rKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJO
T19DT0RFUy5FTk9FTlQpfWlmKCFsaW5rLm5vZGVfb3BzLnJlYWRsaW5rKXt0aHJvdyBuZXcgRlMu
RXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU5WQUwpfXJldHVybiBQQVRILnJlc29sdmUoRlMuZ2V0
UGF0aChsaW5rLnBhcmVudCksbGluay5ub2RlX29wcy5yZWFkbGluayhsaW5rKSl9KSxzdGF0Oihm
dW5jdGlvbihwYXRoLGRvbnRGb2xsb3cpe3ZhciBsb29rdXA9RlMubG9va3VwUGF0aChwYXRoLHtm
b2xsb3c6IWRvbnRGb2xsb3d9KTt2YXIgbm9kZT1sb29rdXAubm9kZTtpZighbm9kZSl7dGhyb3cg
bmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5PRU5UKX1pZighbm9kZS5ub2RlX29wcy5n
ZXRhdHRyKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FUEVSTSl9cmV0dXJu
IG5vZGUubm9kZV9vcHMuZ2V0YXR0cihub2RlKX0pLGxzdGF0OihmdW5jdGlvbihwYXRoKXtyZXR1
cm4gRlMuc3RhdChwYXRoLHRydWUpfSksY2htb2Q6KGZ1bmN0aW9uKHBhdGgsbW9kZSxkb250Rm9s
bG93KXt2YXIgbm9kZTtpZih0eXBlb2YgcGF0aD09PSJzdHJpbmciKXt2YXIgbG9va3VwPUZTLmxv
b2t1cFBhdGgocGF0aCx7Zm9sbG93OiFkb250Rm9sbG93fSk7bm9kZT1sb29rdXAubm9kZX1lbHNl
e25vZGU9cGF0aH1pZighbm9kZS5ub2RlX29wcy5zZXRhdHRyKXt0aHJvdyBuZXcgRlMuRXJybm9F
cnJvcihFUlJOT19DT0RFUy5FUEVSTSl9bm9kZS5ub2RlX29wcy5zZXRhdHRyKG5vZGUse21vZGU6
bW9kZSY0MDk1fG5vZGUubW9kZSZ+NDA5NSx0aW1lc3RhbXA6RGF0ZS5ub3coKX0pfSksbGNobW9k
OihmdW5jdGlvbihwYXRoLG1vZGUpe0ZTLmNobW9kKHBhdGgsbW9kZSx0cnVlKX0pLGZjaG1vZDoo
ZnVuY3Rpb24oZmQsbW9kZSl7dmFyIHN0cmVhbT1GUy5nZXRTdHJlYW0oZmQpO2lmKCFzdHJlYW0p
e3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVCQURGKX1GUy5jaG1vZChzdHJl
YW0ubm9kZSxtb2RlKX0pLGNob3duOihmdW5jdGlvbihwYXRoLHVpZCxnaWQsZG9udEZvbGxvdyl7
dmFyIG5vZGU7aWYodHlwZW9mIHBhdGg9PT0ic3RyaW5nIil7dmFyIGxvb2t1cD1GUy5sb29rdXBQ
YXRoKHBhdGgse2ZvbGxvdzohZG9udEZvbGxvd30pO25vZGU9bG9va3VwLm5vZGV9ZWxzZXtub2Rl
PXBhdGh9aWYoIW5vZGUubm9kZV9vcHMuc2V0YXR0cil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3Io
RVJSTk9fQ09ERVMuRVBFUk0pfW5vZGUubm9kZV9vcHMuc2V0YXR0cihub2RlLHt0aW1lc3RhbXA6
RGF0ZS5ub3coKX0pfSksbGNob3duOihmdW5jdGlvbihwYXRoLHVpZCxnaWQpe0ZTLmNob3duKHBh
dGgsdWlkLGdpZCx0cnVlKX0pLGZjaG93bjooZnVuY3Rpb24oZmQsdWlkLGdpZCl7dmFyIHN0cmVh
bT1GUy5nZXRTdHJlYW0oZmQpO2lmKCFzdHJlYW0pe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVS
Uk5PX0NPREVTLkVCQURGKX1GUy5jaG93bihzdHJlYW0ubm9kZSx1aWQsZ2lkKX0pLHRydW5jYXRl
OihmdW5jdGlvbihwYXRoLGxlbil7aWYobGVuPDApe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVS
Uk5PX0NPREVTLkVJTlZBTCl9dmFyIG5vZGU7aWYodHlwZW9mIHBhdGg9PT0ic3RyaW5nIil7dmFy
IGxvb2t1cD1GUy5sb29rdXBQYXRoKHBhdGgse2ZvbGxvdzp0cnVlfSk7bm9kZT1sb29rdXAubm9k
ZX1lbHNle25vZGU9cGF0aH1pZighbm9kZS5ub2RlX29wcy5zZXRhdHRyKXt0aHJvdyBuZXcgRlMu
RXJybm9FcnJvcihFUlJOT19DT0RFUy5FUEVSTSl9aWYoRlMuaXNEaXIobm9kZS5tb2RlKSl7dGhy
b3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlTRElSKX1pZighRlMuaXNGaWxlKG5v
ZGUubW9kZSkpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTlZBTCl9dmFy
IGVycj1GUy5ub2RlUGVybWlzc2lvbnMobm9kZSwidyIpO2lmKGVycil7dGhyb3cgbmV3IEZTLkVy
cm5vRXJyb3IoZXJyKX1ub2RlLm5vZGVfb3BzLnNldGF0dHIobm9kZSx7c2l6ZTpsZW4sdGltZXN0
YW1wOkRhdGUubm93KCl9KX0pLGZ0cnVuY2F0ZTooZnVuY3Rpb24oZmQsbGVuKXt2YXIgc3RyZWFt
PUZTLmdldFN0cmVhbShmZCk7aWYoIXN0cmVhbSl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJS
Tk9fQ09ERVMuRUJBREYpfWlmKChzdHJlYW0uZmxhZ3MmMjA5NzE1NSk9PT0wKXt0aHJvdyBuZXcg
RlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU5WQUwpfUZTLnRydW5jYXRlKHN0cmVhbS5ub2Rl
LGxlbil9KSx1dGltZTooZnVuY3Rpb24ocGF0aCxhdGltZSxtdGltZSl7dmFyIGxvb2t1cD1GUy5s
b29rdXBQYXRoKHBhdGgse2ZvbGxvdzp0cnVlfSk7dmFyIG5vZGU9bG9va3VwLm5vZGU7bm9kZS5u
b2RlX29wcy5zZXRhdHRyKG5vZGUse3RpbWVzdGFtcDpNYXRoLm1heChhdGltZSxtdGltZSl9KX0p
LG9wZW46KGZ1bmN0aW9uKHBhdGgsZmxhZ3MsbW9kZSxmZF9zdGFydCxmZF9lbmQpe2lmKHBhdGg9
PT0iIil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5PRU5UKX1mbGFncz10
eXBlb2YgZmxhZ3M9PT0ic3RyaW5nIj9GUy5tb2RlU3RyaW5nVG9GbGFncyhmbGFncyk6ZmxhZ3M7
bW9kZT10eXBlb2YgbW9kZT09PSJ1bmRlZmluZWQiPzQzODptb2RlO2lmKGZsYWdzJjY0KXttb2Rl
PW1vZGUmNDA5NXwzMjc2OH1lbHNle21vZGU9MH12YXIgbm9kZTtpZih0eXBlb2YgcGF0aD09PSJv
YmplY3QiKXtub2RlPXBhdGh9ZWxzZXtwYXRoPVBBVEgubm9ybWFsaXplKHBhdGgpO3RyeXt2YXIg
bG9va3VwPUZTLmxvb2t1cFBhdGgocGF0aCx7Zm9sbG93OiEoZmxhZ3MmMTMxMDcyKX0pO25vZGU9
bG9va3VwLm5vZGV9Y2F0Y2goZSl7fX12YXIgY3JlYXRlZD1mYWxzZTtpZihmbGFncyY2NCl7aWYo
bm9kZSl7aWYoZmxhZ3MmMTI4KXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5F
RVhJU1QpfX1lbHNle25vZGU9RlMubWtub2QocGF0aCxtb2RlLDApO2NyZWF0ZWQ9dHJ1ZX19aWYo
IW5vZGUpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT0VOVCl9aWYoRlMu
aXNDaHJkZXYobm9kZS5tb2RlKSl7ZmxhZ3MmPX41MTJ9aWYoZmxhZ3MmNjU1MzYmJiFGUy5pc0Rp
cihub2RlLm1vZGUpKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FTk9URElS
KX1pZighY3JlYXRlZCl7dmFyIGVycj1GUy5tYXlPcGVuKG5vZGUsZmxhZ3MpO2lmKGVycil7dGhy
b3cgbmV3IEZTLkVycm5vRXJyb3IoZXJyKX19aWYoZmxhZ3MmNTEyKXtGUy50cnVuY2F0ZShub2Rl
LDApfWZsYWdzJj1+KDEyOHw1MTIpO3ZhciBzdHJlYW09RlMuY3JlYXRlU3RyZWFtKHtub2RlOm5v
ZGUscGF0aDpGUy5nZXRQYXRoKG5vZGUpLGZsYWdzOmZsYWdzLHNlZWthYmxlOnRydWUscG9zaXRp
b246MCxzdHJlYW1fb3BzOm5vZGUuc3RyZWFtX29wcyx1bmdvdHRlbjpbXSxlcnJvcjpmYWxzZX0s
ZmRfc3RhcnQsZmRfZW5kKTtpZihzdHJlYW0uc3RyZWFtX29wcy5vcGVuKXtzdHJlYW0uc3RyZWFt
X29wcy5vcGVuKHN0cmVhbSl9aWYoTW9kdWxlWyJsb2dSZWFkRmlsZXMiXSYmIShmbGFncyYxKSl7
aWYoIUZTLnJlYWRGaWxlcylGUy5yZWFkRmlsZXM9e307aWYoIShwYXRoIGluIEZTLnJlYWRGaWxl
cykpe0ZTLnJlYWRGaWxlc1twYXRoXT0xO2VycigicmVhZCBmaWxlOiAiK3BhdGgpfX10cnl7aWYo
RlMudHJhY2tpbmdEZWxlZ2F0ZVsib25PcGVuRmlsZSJdKXt2YXIgdHJhY2tpbmdGbGFncz0wO2lm
KChmbGFncyYyMDk3MTU1KSE9PTEpe3RyYWNraW5nRmxhZ3N8PUZTLnRyYWNraW5nLm9wZW5GbGFn
cy5SRUFEfWlmKChmbGFncyYyMDk3MTU1KSE9PTApe3RyYWNraW5nRmxhZ3N8PUZTLnRyYWNraW5n
Lm9wZW5GbGFncy5XUklURX1GUy50cmFja2luZ0RlbGVnYXRlWyJvbk9wZW5GaWxlIl0ocGF0aCx0
cmFja2luZ0ZsYWdzKX19Y2F0Y2goZSl7Y29uc29sZS5sb2coIkZTLnRyYWNraW5nRGVsZWdhdGVb
J29uT3BlbkZpbGUnXSgnIitwYXRoKyInLCBmbGFncykgdGhyZXcgYW4gZXhjZXB0aW9uOiAiK2Uu
bWVzc2FnZSl9cmV0dXJuIHN0cmVhbX0pLGNsb3NlOihmdW5jdGlvbihzdHJlYW0pe2lmKEZTLmlz
Q2xvc2VkKHN0cmVhbSkpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVCQURG
KX1pZihzdHJlYW0uZ2V0ZGVudHMpc3RyZWFtLmdldGRlbnRzPW51bGw7dHJ5e2lmKHN0cmVhbS5z
dHJlYW1fb3BzLmNsb3NlKXtzdHJlYW0uc3RyZWFtX29wcy5jbG9zZShzdHJlYW0pfX1jYXRjaChl
KXt0aHJvdyBlfWZpbmFsbHl7RlMuY2xvc2VTdHJlYW0oc3RyZWFtLmZkKX1zdHJlYW0uZmQ9bnVs
bH0pLGlzQ2xvc2VkOihmdW5jdGlvbihzdHJlYW0pe3JldHVybiBzdHJlYW0uZmQ9PT1udWxsfSks
bGxzZWVrOihmdW5jdGlvbihzdHJlYW0sb2Zmc2V0LHdoZW5jZSl7aWYoRlMuaXNDbG9zZWQoc3Ry
ZWFtKSl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUJBREYpfWlmKCFzdHJl
YW0uc2Vla2FibGV8fCFzdHJlYW0uc3RyZWFtX29wcy5sbHNlZWspe3Rocm93IG5ldyBGUy5FcnJu
b0Vycm9yKEVSUk5PX0NPREVTLkVTUElQRSl9c3RyZWFtLnBvc2l0aW9uPXN0cmVhbS5zdHJlYW1f
b3BzLmxsc2VlayhzdHJlYW0sb2Zmc2V0LHdoZW5jZSk7c3RyZWFtLnVuZ290dGVuPVtdO3JldHVy
biBzdHJlYW0ucG9zaXRpb259KSxyZWFkOihmdW5jdGlvbihzdHJlYW0sYnVmZmVyLG9mZnNldCxs
ZW5ndGgscG9zaXRpb24pe2lmKGxlbmd0aDwwfHxwb3NpdGlvbjwwKXt0aHJvdyBuZXcgRlMuRXJy
bm9FcnJvcihFUlJOT19DT0RFUy5FSU5WQUwpfWlmKEZTLmlzQ2xvc2VkKHN0cmVhbSkpe3Rocm93
IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVCQURGKX1pZigoc3RyZWFtLmZsYWdzJjIw
OTcxNTUpPT09MSl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUJBREYpfWlm
KEZTLmlzRGlyKHN0cmVhbS5ub2RlLm1vZGUpKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJO
T19DT0RFUy5FSVNESVIpfWlmKCFzdHJlYW0uc3RyZWFtX29wcy5yZWFkKXt0aHJvdyBuZXcgRlMu
RXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU5WQUwpfXZhciBzZWVraW5nPXR5cGVvZiBwb3NpdGlv
biE9PSJ1bmRlZmluZWQiO2lmKCFzZWVraW5nKXtwb3NpdGlvbj1zdHJlYW0ucG9zaXRpb259ZWxz
ZSBpZighc3RyZWFtLnNlZWthYmxlKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RF
Uy5FU1BJUEUpfXZhciBieXRlc1JlYWQ9c3RyZWFtLnN0cmVhbV9vcHMucmVhZChzdHJlYW0sYnVm
ZmVyLG9mZnNldCxsZW5ndGgscG9zaXRpb24pO2lmKCFzZWVraW5nKXN0cmVhbS5wb3NpdGlvbis9
Ynl0ZXNSZWFkO3JldHVybiBieXRlc1JlYWR9KSx3cml0ZTooZnVuY3Rpb24oc3RyZWFtLGJ1ZmZl
cixvZmZzZXQsbGVuZ3RoLHBvc2l0aW9uLGNhbk93bil7aWYobGVuZ3RoPDB8fHBvc2l0aW9uPDAp
e3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTlZBTCl9aWYoRlMuaXNDbG9z
ZWQoc3RyZWFtKSl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUJBREYpfWlm
KChzdHJlYW0uZmxhZ3MmMjA5NzE1NSk9PT0wKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJO
T19DT0RFUy5FQkFERil9aWYoRlMuaXNEaXIoc3RyZWFtLm5vZGUubW9kZSkpe3Rocm93IG5ldyBG
Uy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJU0RJUil9aWYoIXN0cmVhbS5zdHJlYW1fb3BzLndy
aXRlKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU5WQUwpfWlmKHN0cmVh
bS5mbGFncyYxMDI0KXtGUy5sbHNlZWsoc3RyZWFtLDAsMil9dmFyIHNlZWtpbmc9dHlwZW9mIHBv
c2l0aW9uIT09InVuZGVmaW5lZCI7aWYoIXNlZWtpbmcpe3Bvc2l0aW9uPXN0cmVhbS5wb3NpdGlv
bn1lbHNlIGlmKCFzdHJlYW0uc2Vla2FibGUpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5P
X0NPREVTLkVTUElQRSl9dmFyIGJ5dGVzV3JpdHRlbj1zdHJlYW0uc3RyZWFtX29wcy53cml0ZShz
dHJlYW0sYnVmZmVyLG9mZnNldCxsZW5ndGgscG9zaXRpb24sY2FuT3duKTtpZighc2Vla2luZylz
dHJlYW0ucG9zaXRpb24rPWJ5dGVzV3JpdHRlbjt0cnl7aWYoc3RyZWFtLnBhdGgmJkZTLnRyYWNr
aW5nRGVsZWdhdGVbIm9uV3JpdGVUb0ZpbGUiXSlGUy50cmFja2luZ0RlbGVnYXRlWyJvbldyaXRl
VG9GaWxlIl0oc3RyZWFtLnBhdGgpfWNhdGNoKGUpe2NvbnNvbGUubG9nKCJGUy50cmFja2luZ0Rl
bGVnYXRlWydvbldyaXRlVG9GaWxlJ10oJyIrcGF0aCsiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiAi
K2UubWVzc2FnZSl9cmV0dXJuIGJ5dGVzV3JpdHRlbn0pLGFsbG9jYXRlOihmdW5jdGlvbihzdHJl
YW0sb2Zmc2V0LGxlbmd0aCl7aWYoRlMuaXNDbG9zZWQoc3RyZWFtKSl7dGhyb3cgbmV3IEZTLkVy
cm5vRXJyb3IoRVJSTk9fQ09ERVMuRUJBREYpfWlmKG9mZnNldDwwfHxsZW5ndGg8PTApe3Rocm93
IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTlZBTCl9aWYoKHN0cmVhbS5mbGFncyYy
MDk3MTU1KT09PTApe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVCQURGKX1p
ZighRlMuaXNGaWxlKHN0cmVhbS5ub2RlLm1vZGUpJiYhRlMuaXNEaXIoc3RyZWFtLm5vZGUubW9k
ZSkpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT0RFVil9aWYoIXN0cmVh
bS5zdHJlYW1fb3BzLmFsbG9jYXRlKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RF
Uy5FT1BOT1RTVVBQKX1zdHJlYW0uc3RyZWFtX29wcy5hbGxvY2F0ZShzdHJlYW0sb2Zmc2V0LGxl
bmd0aCl9KSxtbWFwOihmdW5jdGlvbihzdHJlYW0sYnVmZmVyLG9mZnNldCxsZW5ndGgscG9zaXRp
b24scHJvdCxmbGFncyl7aWYoKHN0cmVhbS5mbGFncyYyMDk3MTU1KT09PTEpe3Rocm93IG5ldyBG
Uy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVBQ0NFUyl9aWYoIXN0cmVhbS5zdHJlYW1fb3BzLm1t
YXApe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT0RFVil9cmV0dXJuIHN0
cmVhbS5zdHJlYW1fb3BzLm1tYXAoc3RyZWFtLGJ1ZmZlcixvZmZzZXQsbGVuZ3RoLHBvc2l0aW9u
LHByb3QsZmxhZ3MpfSksbXN5bmM6KGZ1bmN0aW9uKHN0cmVhbSxidWZmZXIsb2Zmc2V0LGxlbmd0
aCxtbWFwRmxhZ3Mpe2lmKCFzdHJlYW18fCFzdHJlYW0uc3RyZWFtX29wcy5tc3luYyl7cmV0dXJu
IDB9cmV0dXJuIHN0cmVhbS5zdHJlYW1fb3BzLm1zeW5jKHN0cmVhbSxidWZmZXIsb2Zmc2V0LGxl
bmd0aCxtbWFwRmxhZ3MpfSksbXVubWFwOihmdW5jdGlvbihzdHJlYW0pe3JldHVybiAwfSksaW9j
dGw6KGZ1bmN0aW9uKHN0cmVhbSxjbWQsYXJnKXtpZighc3RyZWFtLnN0cmVhbV9vcHMuaW9jdGwp
e3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT1RUWSl9cmV0dXJuIHN0cmVh
bS5zdHJlYW1fb3BzLmlvY3RsKHN0cmVhbSxjbWQsYXJnKX0pLHJlYWRGaWxlOihmdW5jdGlvbihw
YXRoLG9wdHMpe29wdHM9b3B0c3x8e307b3B0cy5mbGFncz1vcHRzLmZsYWdzfHwiciI7b3B0cy5l
bmNvZGluZz1vcHRzLmVuY29kaW5nfHwiYmluYXJ5IjtpZihvcHRzLmVuY29kaW5nIT09InV0Zjgi
JiZvcHRzLmVuY29kaW5nIT09ImJpbmFyeSIpe3Rocm93IG5ldyBFcnJvcignSW52YWxpZCBlbmNv
ZGluZyB0eXBlICInK29wdHMuZW5jb2RpbmcrJyInKX12YXIgcmV0O3ZhciBzdHJlYW09RlMub3Bl
bihwYXRoLG9wdHMuZmxhZ3MpO3ZhciBzdGF0PUZTLnN0YXQocGF0aCk7dmFyIGxlbmd0aD1zdGF0
LnNpemU7dmFyIGJ1Zj1uZXcgVWludDhBcnJheShsZW5ndGgpO0ZTLnJlYWQoc3RyZWFtLGJ1Ziww
LGxlbmd0aCwwKTtpZihvcHRzLmVuY29kaW5nPT09InV0ZjgiKXtyZXQ9VVRGOEFycmF5VG9TdHJp
bmcoYnVmLDApfWVsc2UgaWYob3B0cy5lbmNvZGluZz09PSJiaW5hcnkiKXtyZXQ9YnVmfUZTLmNs
b3NlKHN0cmVhbSk7cmV0dXJuIHJldH0pLHdyaXRlRmlsZTooZnVuY3Rpb24ocGF0aCxkYXRhLG9w
dHMpe29wdHM9b3B0c3x8e307b3B0cy5mbGFncz1vcHRzLmZsYWdzfHwidyI7dmFyIHN0cmVhbT1G
Uy5vcGVuKHBhdGgsb3B0cy5mbGFncyxvcHRzLm1vZGUpO2lmKHR5cGVvZiBkYXRhPT09InN0cmlu
ZyIpe3ZhciBidWY9bmV3IFVpbnQ4QXJyYXkobGVuZ3RoQnl0ZXNVVEY4KGRhdGEpKzEpO3ZhciBh
Y3R1YWxOdW1CeXRlcz1zdHJpbmdUb1VURjhBcnJheShkYXRhLGJ1ZiwwLGJ1Zi5sZW5ndGgpO0ZT
LndyaXRlKHN0cmVhbSxidWYsMCxhY3R1YWxOdW1CeXRlcyx1bmRlZmluZWQsb3B0cy5jYW5Pd24p
fWVsc2UgaWYoQXJyYXlCdWZmZXIuaXNWaWV3KGRhdGEpKXtGUy53cml0ZShzdHJlYW0sZGF0YSww
LGRhdGEuYnl0ZUxlbmd0aCx1bmRlZmluZWQsb3B0cy5jYW5Pd24pfWVsc2V7dGhyb3cgbmV3IEVy
cm9yKCJVbnN1cHBvcnRlZCBkYXRhIHR5cGUiKX1GUy5jbG9zZShzdHJlYW0pfSksY3dkOihmdW5j
dGlvbigpe3JldHVybiBGUy5jdXJyZW50UGF0aH0pLGNoZGlyOihmdW5jdGlvbihwYXRoKXt2YXIg
bG9va3VwPUZTLmxvb2t1cFBhdGgocGF0aCx7Zm9sbG93OnRydWV9KTtpZihsb29rdXAubm9kZT09
PW51bGwpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT0VOVCl9aWYoIUZT
LmlzRGlyKGxvb2t1cC5ub2RlLm1vZGUpKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19D
T0RFUy5FTk9URElSKX12YXIgZXJyPUZTLm5vZGVQZXJtaXNzaW9ucyhsb29rdXAubm9kZSwieCIp
O2lmKGVycil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoZXJyKX1GUy5jdXJyZW50UGF0aD1sb29r
dXAucGF0aH0pLGNyZWF0ZURlZmF1bHREaXJlY3RvcmllczooZnVuY3Rpb24oKXtGUy5ta2Rpcigi
L3RtcCIpO0ZTLm1rZGlyKCIvaG9tZSIpO0ZTLm1rZGlyKCIvaG9tZS93ZWJfdXNlciIpfSksY3Jl
YXRlRGVmYXVsdERldmljZXM6KGZ1bmN0aW9uKCl7RlMubWtkaXIoIi9kZXYiKTtGUy5yZWdpc3Rl
ckRldmljZShGUy5tYWtlZGV2KDEsMykse3JlYWQ6KGZ1bmN0aW9uKCl7cmV0dXJuIDB9KSx3cml0
ZTooZnVuY3Rpb24oc3RyZWFtLGJ1ZmZlcixvZmZzZXQsbGVuZ3RoLHBvcyl7cmV0dXJuIGxlbmd0
aH0pfSk7RlMubWtkZXYoIi9kZXYvbnVsbCIsRlMubWFrZWRldigxLDMpKTtUVFkucmVnaXN0ZXIo
RlMubWFrZWRldig1LDApLFRUWS5kZWZhdWx0X3R0eV9vcHMpO1RUWS5yZWdpc3RlcihGUy5tYWtl
ZGV2KDYsMCksVFRZLmRlZmF1bHRfdHR5MV9vcHMpO0ZTLm1rZGV2KCIvZGV2L3R0eSIsRlMubWFr
ZWRldig1LDApKTtGUy5ta2RldigiL2Rldi90dHkxIixGUy5tYWtlZGV2KDYsMCkpO3ZhciByYW5k
b21fZGV2aWNlO2lmKHR5cGVvZiBjcnlwdG8hPT0idW5kZWZpbmVkIil7dmFyIHJhbmRvbUJ1ZmZl
cj1uZXcgVWludDhBcnJheSgxKTtyYW5kb21fZGV2aWNlPShmdW5jdGlvbigpe2NyeXB0by5nZXRS
YW5kb21WYWx1ZXMocmFuZG9tQnVmZmVyKTtyZXR1cm4gcmFuZG9tQnVmZmVyWzBdfSl9ZWxzZSBp
ZihFTlZJUk9OTUVOVF9JU19OT0RFKXtyYW5kb21fZGV2aWNlPShmdW5jdGlvbigpe3JldHVybiBy
ZXF1aXJlKCJjcnlwdG8iKVsicmFuZG9tQnl0ZXMiXSgxKVswXX0pfWVsc2V7cmFuZG9tX2Rldmlj
ZT0oZnVuY3Rpb24oKXthYm9ydCgicmFuZG9tX2RldmljZSIpfSl9RlMuY3JlYXRlRGV2aWNlKCIv
ZGV2IiwicmFuZG9tIixyYW5kb21fZGV2aWNlKTtGUy5jcmVhdGVEZXZpY2UoIi9kZXYiLCJ1cmFu
ZG9tIixyYW5kb21fZGV2aWNlKTtGUy5ta2RpcigiL2Rldi9zaG0iKTtGUy5ta2RpcigiL2Rldi9z
aG0vdG1wIil9KSxjcmVhdGVTcGVjaWFsRGlyZWN0b3JpZXM6KGZ1bmN0aW9uKCl7RlMubWtkaXIo
Ii9wcm9jIik7RlMubWtkaXIoIi9wcm9jL3NlbGYiKTtGUy5ta2RpcigiL3Byb2Mvc2VsZi9mZCIp
O0ZTLm1vdW50KHttb3VudDooZnVuY3Rpb24oKXt2YXIgbm9kZT1GUy5jcmVhdGVOb2RlKCIvcHJv
Yy9zZWxmIiwiZmQiLDE2Mzg0fDUxMSw3Myk7bm9kZS5ub2RlX29wcz17bG9va3VwOihmdW5jdGlv
bihwYXJlbnQsbmFtZSl7dmFyIGZkPStuYW1lO3ZhciBzdHJlYW09RlMuZ2V0U3RyZWFtKGZkKTtp
Zighc3RyZWFtKXRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVCQURGKTt2YXIg
cmV0PXtwYXJlbnQ6bnVsbCxtb3VudDp7bW91bnRwb2ludDoiZmFrZSJ9LG5vZGVfb3BzOntyZWFk
bGluazooZnVuY3Rpb24oKXtyZXR1cm4gc3RyZWFtLnBhdGh9KX19O3JldC5wYXJlbnQ9cmV0O3Jl
dHVybiByZXR9KX07cmV0dXJuIG5vZGV9KX0se30sIi9wcm9jL3NlbGYvZmQiKX0pLGNyZWF0ZVN0
YW5kYXJkU3RyZWFtczooZnVuY3Rpb24oKXtpZihNb2R1bGVbInN0ZGluIl0pe0ZTLmNyZWF0ZURl
dmljZSgiL2RldiIsInN0ZGluIixNb2R1bGVbInN0ZGluIl0pfWVsc2V7RlMuc3ltbGluaygiL2Rl
di90dHkiLCIvZGV2L3N0ZGluIil9aWYoTW9kdWxlWyJzdGRvdXQiXSl7RlMuY3JlYXRlRGV2aWNl
KCIvZGV2Iiwic3Rkb3V0IixudWxsLE1vZHVsZVsic3Rkb3V0Il0pfWVsc2V7RlMuc3ltbGluaygi
L2Rldi90dHkiLCIvZGV2L3N0ZG91dCIpfWlmKE1vZHVsZVsic3RkZXJyIl0pe0ZTLmNyZWF0ZURl
dmljZSgiL2RldiIsInN0ZGVyciIsbnVsbCxNb2R1bGVbInN0ZGVyciJdKX1lbHNle0ZTLnN5bWxp
bmsoIi9kZXYvdHR5MSIsIi9kZXYvc3RkZXJyIil9dmFyIHN0ZGluPUZTLm9wZW4oIi9kZXYvc3Rk
aW4iLCJyIik7YXNzZXJ0KHN0ZGluLmZkPT09MCwiaW52YWxpZCBoYW5kbGUgZm9yIHN0ZGluICgi
K3N0ZGluLmZkKyIpIik7dmFyIHN0ZG91dD1GUy5vcGVuKCIvZGV2L3N0ZG91dCIsInciKTthc3Nl
cnQoc3Rkb3V0LmZkPT09MSwiaW52YWxpZCBoYW5kbGUgZm9yIHN0ZG91dCAoIitzdGRvdXQuZmQr
IikiKTt2YXIgc3RkZXJyPUZTLm9wZW4oIi9kZXYvc3RkZXJyIiwidyIpO2Fzc2VydChzdGRlcnIu
ZmQ9PT0yLCJpbnZhbGlkIGhhbmRsZSBmb3Igc3RkZXJyICgiK3N0ZGVyci5mZCsiKSIpfSksZW5z
dXJlRXJybm9FcnJvcjooZnVuY3Rpb24oKXtpZihGUy5FcnJub0Vycm9yKXJldHVybjtGUy5FcnJu
b0Vycm9yPWZ1bmN0aW9uIEVycm5vRXJyb3IoZXJybm8sbm9kZSl7dGhpcy5ub2RlPW5vZGU7dGhp
cy5zZXRFcnJubz0oZnVuY3Rpb24oZXJybm8pe3RoaXMuZXJybm89ZXJybm87Zm9yKHZhciBrZXkg
aW4gRVJSTk9fQ09ERVMpe2lmKEVSUk5PX0NPREVTW2tleV09PT1lcnJubyl7dGhpcy5jb2RlPWtl
eTticmVha319fSk7dGhpcy5zZXRFcnJubyhlcnJubyk7dGhpcy5tZXNzYWdlPUVSUk5PX01FU1NB
R0VTW2Vycm5vXTtpZih0aGlzLnN0YWNrKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJzdGFj
ayIse3ZhbHVlOihuZXcgRXJyb3IpLnN0YWNrLHdyaXRhYmxlOnRydWV9KX07RlMuRXJybm9FcnJv
ci5wcm90b3R5cGU9bmV3IEVycm9yO0ZTLkVycm5vRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9y
PUZTLkVycm5vRXJyb3I7W0VSUk5PX0NPREVTLkVOT0VOVF0uZm9yRWFjaCgoZnVuY3Rpb24oY29k
ZSl7RlMuZ2VuZXJpY0Vycm9yc1tjb2RlXT1uZXcgRlMuRXJybm9FcnJvcihjb2RlKTtGUy5nZW5l
cmljRXJyb3JzW2NvZGVdLnN0YWNrPSI8Z2VuZXJpYyBlcnJvciwgbm8gc3RhY2s+In0pKX0pLHN0
YXRpY0luaXQ6KGZ1bmN0aW9uKCl7RlMuZW5zdXJlRXJybm9FcnJvcigpO0ZTLm5hbWVUYWJsZT1u
ZXcgQXJyYXkoNDA5Nik7RlMubW91bnQoTUVNRlMse30sIi8iKTtGUy5jcmVhdGVEZWZhdWx0RGly
ZWN0b3JpZXMoKTtGUy5jcmVhdGVEZWZhdWx0RGV2aWNlcygpO0ZTLmNyZWF0ZVNwZWNpYWxEaXJl
Y3RvcmllcygpO0ZTLmZpbGVzeXN0ZW1zPXsiTUVNRlMiOk1FTUZTLCJJREJGUyI6SURCRlMsIk5P
REVGUyI6Tk9ERUZTLCJXT1JLRVJGUyI6V09SS0VSRlN9fSksaW5pdDooZnVuY3Rpb24oaW5wdXQs
b3V0cHV0LGVycm9yKXthc3NlcnQoIUZTLmluaXQuaW5pdGlhbGl6ZWQsIkZTLmluaXQgd2FzIHBy
ZXZpb3VzbHkgY2FsbGVkLiBJZiB5b3Ugd2FudCB0byBpbml0aWFsaXplIGxhdGVyIHdpdGggY3Vz
dG9tIHBhcmFtZXRlcnMsIHJlbW92ZSBhbnkgZWFybGllciBjYWxscyAobm90ZSB0aGF0IG9uZSBp
cyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBnZW5lcmF0ZWQgY29kZSkiKTtGUy5pbml0Lmlu
aXRpYWxpemVkPXRydWU7RlMuZW5zdXJlRXJybm9FcnJvcigpO01vZHVsZVsic3RkaW4iXT1pbnB1
dHx8TW9kdWxlWyJzdGRpbiJdO01vZHVsZVsic3Rkb3V0Il09b3V0cHV0fHxNb2R1bGVbInN0ZG91
dCJdO01vZHVsZVsic3RkZXJyIl09ZXJyb3J8fE1vZHVsZVsic3RkZXJyIl07RlMuY3JlYXRlU3Rh
bmRhcmRTdHJlYW1zKCl9KSxxdWl0OihmdW5jdGlvbigpe0ZTLmluaXQuaW5pdGlhbGl6ZWQ9ZmFs
c2U7dmFyIGZmbHVzaD1Nb2R1bGVbIl9mZmx1c2giXTtpZihmZmx1c2gpZmZsdXNoKDApO2Zvcih2
YXIgaT0wO2k8RlMuc3RyZWFtcy5sZW5ndGg7aSsrKXt2YXIgc3RyZWFtPUZTLnN0cmVhbXNbaV07
aWYoIXN0cmVhbSl7Y29udGludWV9RlMuY2xvc2Uoc3RyZWFtKX19KSxnZXRNb2RlOihmdW5jdGlv
bihjYW5SZWFkLGNhbldyaXRlKXt2YXIgbW9kZT0wO2lmKGNhblJlYWQpbW9kZXw9MjkyfDczO2lm
KGNhbldyaXRlKW1vZGV8PTE0NjtyZXR1cm4gbW9kZX0pLGpvaW5QYXRoOihmdW5jdGlvbihwYXJ0
cyxmb3JjZVJlbGF0aXZlKXt2YXIgcGF0aD1QQVRILmpvaW4uYXBwbHkobnVsbCxwYXJ0cyk7aWYo
Zm9yY2VSZWxhdGl2ZSYmcGF0aFswXT09Ii8iKXBhdGg9cGF0aC5zdWJzdHIoMSk7cmV0dXJuIHBh
dGh9KSxhYnNvbHV0ZVBhdGg6KGZ1bmN0aW9uKHJlbGF0aXZlLGJhc2Upe3JldHVybiBQQVRILnJl
c29sdmUoYmFzZSxyZWxhdGl2ZSl9KSxzdGFuZGFyZGl6ZVBhdGg6KGZ1bmN0aW9uKHBhdGgpe3Jl
dHVybiBQQVRILm5vcm1hbGl6ZShwYXRoKX0pLGZpbmRPYmplY3Q6KGZ1bmN0aW9uKHBhdGgsZG9u
dFJlc29sdmVMYXN0TGluayl7dmFyIHJldD1GUy5hbmFseXplUGF0aChwYXRoLGRvbnRSZXNvbHZl
TGFzdExpbmspO2lmKHJldC5leGlzdHMpe3JldHVybiByZXQub2JqZWN0fWVsc2V7X19fc2V0RXJy
Tm8ocmV0LmVycm9yKTtyZXR1cm4gbnVsbH19KSxhbmFseXplUGF0aDooZnVuY3Rpb24ocGF0aCxk
b250UmVzb2x2ZUxhc3RMaW5rKXt0cnl7dmFyIGxvb2t1cD1GUy5sb29rdXBQYXRoKHBhdGgse2Zv
bGxvdzohZG9udFJlc29sdmVMYXN0TGlua30pO3BhdGg9bG9va3VwLnBhdGh9Y2F0Y2goZSl7fXZh
ciByZXQ9e2lzUm9vdDpmYWxzZSxleGlzdHM6ZmFsc2UsZXJyb3I6MCxuYW1lOm51bGwscGF0aDpu
dWxsLG9iamVjdDpudWxsLHBhcmVudEV4aXN0czpmYWxzZSxwYXJlbnRQYXRoOm51bGwscGFyZW50
T2JqZWN0Om51bGx9O3RyeXt2YXIgbG9va3VwPUZTLmxvb2t1cFBhdGgocGF0aCx7cGFyZW50OnRy
dWV9KTtyZXQucGFyZW50RXhpc3RzPXRydWU7cmV0LnBhcmVudFBhdGg9bG9va3VwLnBhdGg7cmV0
LnBhcmVudE9iamVjdD1sb29rdXAubm9kZTtyZXQubmFtZT1QQVRILmJhc2VuYW1lKHBhdGgpO2xv
b2t1cD1GUy5sb29rdXBQYXRoKHBhdGgse2ZvbGxvdzohZG9udFJlc29sdmVMYXN0TGlua30pO3Jl
dC5leGlzdHM9dHJ1ZTtyZXQucGF0aD1sb29rdXAucGF0aDtyZXQub2JqZWN0PWxvb2t1cC5ub2Rl
O3JldC5uYW1lPWxvb2t1cC5ub2RlLm5hbWU7cmV0LmlzUm9vdD1sb29rdXAucGF0aD09PSIvIn1j
YXRjaChlKXtyZXQuZXJyb3I9ZS5lcnJub31yZXR1cm4gcmV0fSksY3JlYXRlRm9sZGVyOihmdW5j
dGlvbihwYXJlbnQsbmFtZSxjYW5SZWFkLGNhbldyaXRlKXt2YXIgcGF0aD1QQVRILmpvaW4yKHR5
cGVvZiBwYXJlbnQ9PT0ic3RyaW5nIj9wYXJlbnQ6RlMuZ2V0UGF0aChwYXJlbnQpLG5hbWUpO3Zh
ciBtb2RlPUZTLmdldE1vZGUoY2FuUmVhZCxjYW5Xcml0ZSk7cmV0dXJuIEZTLm1rZGlyKHBhdGgs
bW9kZSl9KSxjcmVhdGVQYXRoOihmdW5jdGlvbihwYXJlbnQscGF0aCxjYW5SZWFkLGNhbldyaXRl
KXtwYXJlbnQ9dHlwZW9mIHBhcmVudD09PSJzdHJpbmciP3BhcmVudDpGUy5nZXRQYXRoKHBhcmVu
dCk7dmFyIHBhcnRzPXBhdGguc3BsaXQoIi8iKS5yZXZlcnNlKCk7d2hpbGUocGFydHMubGVuZ3Ro
KXt2YXIgcGFydD1wYXJ0cy5wb3AoKTtpZighcGFydCljb250aW51ZTt2YXIgY3VycmVudD1QQVRI
LmpvaW4yKHBhcmVudCxwYXJ0KTt0cnl7RlMubWtkaXIoY3VycmVudCl9Y2F0Y2goZSl7fXBhcmVu
dD1jdXJyZW50fXJldHVybiBjdXJyZW50fSksY3JlYXRlRmlsZTooZnVuY3Rpb24ocGFyZW50LG5h
bWUscHJvcGVydGllcyxjYW5SZWFkLGNhbldyaXRlKXt2YXIgcGF0aD1QQVRILmpvaW4yKHR5cGVv
ZiBwYXJlbnQ9PT0ic3RyaW5nIj9wYXJlbnQ6RlMuZ2V0UGF0aChwYXJlbnQpLG5hbWUpO3ZhciBt
b2RlPUZTLmdldE1vZGUoY2FuUmVhZCxjYW5Xcml0ZSk7cmV0dXJuIEZTLmNyZWF0ZShwYXRoLG1v
ZGUpfSksY3JlYXRlRGF0YUZpbGU6KGZ1bmN0aW9uKHBhcmVudCxuYW1lLGRhdGEsY2FuUmVhZCxj
YW5Xcml0ZSxjYW5Pd24pe3ZhciBwYXRoPW5hbWU/UEFUSC5qb2luMih0eXBlb2YgcGFyZW50PT09
InN0cmluZyI/cGFyZW50OkZTLmdldFBhdGgocGFyZW50KSxuYW1lKTpwYXJlbnQ7dmFyIG1vZGU9
RlMuZ2V0TW9kZShjYW5SZWFkLGNhbldyaXRlKTt2YXIgbm9kZT1GUy5jcmVhdGUocGF0aCxtb2Rl
KTtpZihkYXRhKXtpZih0eXBlb2YgZGF0YT09PSJzdHJpbmciKXt2YXIgYXJyPW5ldyBBcnJheShk
YXRhLmxlbmd0aCk7Zm9yKHZhciBpPTAsbGVuPWRhdGEubGVuZ3RoO2k8bGVuOysraSlhcnJbaV09
ZGF0YS5jaGFyQ29kZUF0KGkpO2RhdGE9YXJyfUZTLmNobW9kKG5vZGUsbW9kZXwxNDYpO3ZhciBz
dHJlYW09RlMub3Blbihub2RlLCJ3Iik7RlMud3JpdGUoc3RyZWFtLGRhdGEsMCxkYXRhLmxlbmd0
aCwwLGNhbk93bik7RlMuY2xvc2Uoc3RyZWFtKTtGUy5jaG1vZChub2RlLG1vZGUpfXJldHVybiBu
b2RlfSksY3JlYXRlRGV2aWNlOihmdW5jdGlvbihwYXJlbnQsbmFtZSxpbnB1dCxvdXRwdXQpe3Zh
ciBwYXRoPVBBVEguam9pbjIodHlwZW9mIHBhcmVudD09PSJzdHJpbmciP3BhcmVudDpGUy5nZXRQ
YXRoKHBhcmVudCksbmFtZSk7dmFyIG1vZGU9RlMuZ2V0TW9kZSghIWlucHV0LCEhb3V0cHV0KTtp
ZighRlMuY3JlYXRlRGV2aWNlLm1ham9yKUZTLmNyZWF0ZURldmljZS5tYWpvcj02NDt2YXIgZGV2
PUZTLm1ha2VkZXYoRlMuY3JlYXRlRGV2aWNlLm1ham9yKyssMCk7RlMucmVnaXN0ZXJEZXZpY2Uo
ZGV2LHtvcGVuOihmdW5jdGlvbihzdHJlYW0pe3N0cmVhbS5zZWVrYWJsZT1mYWxzZX0pLGNsb3Nl
OihmdW5jdGlvbihzdHJlYW0pe2lmKG91dHB1dCYmb3V0cHV0LmJ1ZmZlciYmb3V0cHV0LmJ1ZmZl
ci5sZW5ndGgpe291dHB1dCgxMCl9fSkscmVhZDooZnVuY3Rpb24oc3RyZWFtLGJ1ZmZlcixvZmZz
ZXQsbGVuZ3RoLHBvcyl7dmFyIGJ5dGVzUmVhZD0wO2Zvcih2YXIgaT0wO2k8bGVuZ3RoO2krKyl7
dmFyIHJlc3VsdDt0cnl7cmVzdWx0PWlucHV0KCl9Y2F0Y2goZSl7dGhyb3cgbmV3IEZTLkVycm5v
RXJyb3IoRVJSTk9fQ09ERVMuRUlPKX1pZihyZXN1bHQ9PT11bmRlZmluZWQmJmJ5dGVzUmVhZD09
PTApe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVBR0FJTil9aWYocmVzdWx0
PT09bnVsbHx8cmVzdWx0PT09dW5kZWZpbmVkKWJyZWFrO2J5dGVzUmVhZCsrO2J1ZmZlcltvZmZz
ZXQraV09cmVzdWx0fWlmKGJ5dGVzUmVhZCl7c3RyZWFtLm5vZGUudGltZXN0YW1wPURhdGUubm93
KCl9cmV0dXJuIGJ5dGVzUmVhZH0pLHdyaXRlOihmdW5jdGlvbihzdHJlYW0sYnVmZmVyLG9mZnNl
dCxsZW5ndGgscG9zKXtmb3IodmFyIGk9MDtpPGxlbmd0aDtpKyspe3RyeXtvdXRwdXQoYnVmZmVy
W29mZnNldCtpXSl9Y2F0Y2goZSl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMu
RUlPKX19aWYobGVuZ3RoKXtzdHJlYW0ubm9kZS50aW1lc3RhbXA9RGF0ZS5ub3coKX1yZXR1cm4g
aX0pfSk7cmV0dXJuIEZTLm1rZGV2KHBhdGgsbW9kZSxkZXYpfSksY3JlYXRlTGluazooZnVuY3Rp
b24ocGFyZW50LG5hbWUsdGFyZ2V0LGNhblJlYWQsY2FuV3JpdGUpe3ZhciBwYXRoPVBBVEguam9p
bjIodHlwZW9mIHBhcmVudD09PSJzdHJpbmciP3BhcmVudDpGUy5nZXRQYXRoKHBhcmVudCksbmFt
ZSk7cmV0dXJuIEZTLnN5bWxpbmsodGFyZ2V0LHBhdGgpfSksZm9yY2VMb2FkRmlsZTooZnVuY3Rp
b24ob2JqKXtpZihvYmouaXNEZXZpY2V8fG9iai5pc0ZvbGRlcnx8b2JqLmxpbmt8fG9iai5jb250
ZW50cylyZXR1cm4gdHJ1ZTt2YXIgc3VjY2Vzcz10cnVlO2lmKHR5cGVvZiBYTUxIdHRwUmVxdWVz
dCE9PSJ1bmRlZmluZWQiKXt0aHJvdyBuZXcgRXJyb3IoIkxhenkgbG9hZGluZyBzaG91bGQgaGF2
ZSBiZWVuIHBlcmZvcm1lZCAoY29udGVudHMgc2V0KSBpbiBjcmVhdGVMYXp5RmlsZSwgYnV0IGl0
IHdhcyBub3QuIExhenkgbG9hZGluZyBvbmx5IHdvcmtzIGluIHdlYiB3b3JrZXJzLiBVc2UgLS1l
bWJlZC1maWxlIG9yIC0tcHJlbG9hZC1maWxlIGluIGVtY2Mgb24gdGhlIG1haW4gdGhyZWFkLiIp
fWVsc2UgaWYoTW9kdWxlWyJyZWFkIl0pe3RyeXtvYmouY29udGVudHM9aW50QXJyYXlGcm9tU3Ry
aW5nKE1vZHVsZVsicmVhZCJdKG9iai51cmwpLHRydWUpO29iai51c2VkQnl0ZXM9b2JqLmNvbnRl
bnRzLmxlbmd0aH1jYXRjaChlKXtzdWNjZXNzPWZhbHNlfX1lbHNle3Rocm93IG5ldyBFcnJvcigi
Q2Fubm90IGxvYWQgd2l0aG91dCByZWFkKCkgb3IgWE1MSHR0cFJlcXVlc3QuIil9aWYoIXN1Y2Nl
c3MpX19fc2V0RXJyTm8oRVJSTk9fQ09ERVMuRUlPKTtyZXR1cm4gc3VjY2Vzc30pLGNyZWF0ZUxh
enlGaWxlOihmdW5jdGlvbihwYXJlbnQsbmFtZSx1cmwsY2FuUmVhZCxjYW5Xcml0ZSl7ZnVuY3Rp
b24gTGF6eVVpbnQ4QXJyYXkoKXt0aGlzLmxlbmd0aEtub3duPWZhbHNlO3RoaXMuY2h1bmtzPVtd
fUxhenlVaW50OEFycmF5LnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24gTGF6eVVpbnQ4QXJyYXlfZ2V0
KGlkeCl7aWYoaWR4PnRoaXMubGVuZ3RoLTF8fGlkeDwwKXtyZXR1cm4gdW5kZWZpbmVkfXZhciBj
aHVua09mZnNldD1pZHgldGhpcy5jaHVua1NpemU7dmFyIGNodW5rTnVtPWlkeC90aGlzLmNodW5r
U2l6ZXwwO3JldHVybiB0aGlzLmdldHRlcihjaHVua051bSlbY2h1bmtPZmZzZXRdfTtMYXp5VWlu
dDhBcnJheS5wcm90b3R5cGUuc2V0RGF0YUdldHRlcj1mdW5jdGlvbiBMYXp5VWludDhBcnJheV9z
ZXREYXRhR2V0dGVyKGdldHRlcil7dGhpcy5nZXR0ZXI9Z2V0dGVyfTtMYXp5VWludDhBcnJheS5w
cm90b3R5cGUuY2FjaGVMZW5ndGg9ZnVuY3Rpb24gTGF6eVVpbnQ4QXJyYXlfY2FjaGVMZW5ndGgo
KXt2YXIgeGhyPW5ldyBYTUxIdHRwUmVxdWVzdDt4aHIub3BlbigiSEVBRCIsdXJsLGZhbHNlKTt4
aHIuc2VuZChudWxsKTtpZighKHhoci5zdGF0dXM+PTIwMCYmeGhyLnN0YXR1czwzMDB8fHhoci5z
dGF0dXM9PT0zMDQpKXRocm93IG5ldyBFcnJvcigiQ291bGRuJ3QgbG9hZCAiK3VybCsiLiBTdGF0
dXM6ICIreGhyLnN0YXR1cyk7dmFyIGRhdGFsZW5ndGg9TnVtYmVyKHhoci5nZXRSZXNwb25zZUhl
YWRlcigiQ29udGVudC1sZW5ndGgiKSk7dmFyIGhlYWRlcjt2YXIgaGFzQnl0ZVNlcnZpbmc9KGhl
YWRlcj14aHIuZ2V0UmVzcG9uc2VIZWFkZXIoIkFjY2VwdC1SYW5nZXMiKSkmJmhlYWRlcj09PSJi
eXRlcyI7dmFyIHVzZXNHemlwPShoZWFkZXI9eGhyLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50
LUVuY29kaW5nIikpJiZoZWFkZXI9PT0iZ3ppcCI7dmFyIGNodW5rU2l6ZT0xMDI0KjEwMjQ7aWYo
IWhhc0J5dGVTZXJ2aW5nKWNodW5rU2l6ZT1kYXRhbGVuZ3RoO3ZhciBkb1hIUj0oZnVuY3Rpb24o
ZnJvbSx0byl7aWYoZnJvbT50byl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcmFuZ2UgKCIrZnJv
bSsiLCAiK3RvKyIpIG9yIG5vIGJ5dGVzIHJlcXVlc3RlZCEiKTtpZih0bz5kYXRhbGVuZ3RoLTEp
dGhyb3cgbmV3IEVycm9yKCJvbmx5ICIrZGF0YWxlbmd0aCsiIGJ5dGVzIGF2YWlsYWJsZSEgcHJv
Z3JhbW1lciBlcnJvciEiKTt2YXIgeGhyPW5ldyBYTUxIdHRwUmVxdWVzdDt4aHIub3BlbigiR0VU
Iix1cmwsZmFsc2UpO2lmKGRhdGFsZW5ndGghPT1jaHVua1NpemUpeGhyLnNldFJlcXVlc3RIZWFk
ZXIoIlJhbmdlIiwiYnl0ZXM9Iitmcm9tKyItIit0byk7aWYodHlwZW9mIFVpbnQ4QXJyYXkhPSJ1
bmRlZmluZWQiKXhoci5yZXNwb25zZVR5cGU9ImFycmF5YnVmZmVyIjtpZih4aHIub3ZlcnJpZGVN
aW1lVHlwZSl7eGhyLm92ZXJyaWRlTWltZVR5cGUoInRleHQvcGxhaW47IGNoYXJzZXQ9eC11c2Vy
LWRlZmluZWQiKX14aHIuc2VuZChudWxsKTtpZighKHhoci5zdGF0dXM+PTIwMCYmeGhyLnN0YXR1
czwzMDB8fHhoci5zdGF0dXM9PT0zMDQpKXRocm93IG5ldyBFcnJvcigiQ291bGRuJ3QgbG9hZCAi
K3VybCsiLiBTdGF0dXM6ICIreGhyLnN0YXR1cyk7aWYoeGhyLnJlc3BvbnNlIT09dW5kZWZpbmVk
KXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoeGhyLnJlc3BvbnNlfHxbXSl9ZWxzZXtyZXR1cm4gaW50
QXJyYXlGcm9tU3RyaW5nKHhoci5yZXNwb25zZVRleHR8fCIiLHRydWUpfX0pO3ZhciBsYXp5QXJy
YXk9dGhpcztsYXp5QXJyYXkuc2V0RGF0YUdldHRlcigoZnVuY3Rpb24oY2h1bmtOdW0pe3ZhciBz
dGFydD1jaHVua051bSpjaHVua1NpemU7dmFyIGVuZD0oY2h1bmtOdW0rMSkqY2h1bmtTaXplLTE7
ZW5kPU1hdGgubWluKGVuZCxkYXRhbGVuZ3RoLTEpO2lmKHR5cGVvZiBsYXp5QXJyYXkuY2h1bmtz
W2NodW5rTnVtXT09PSJ1bmRlZmluZWQiKXtsYXp5QXJyYXkuY2h1bmtzW2NodW5rTnVtXT1kb1hI
UihzdGFydCxlbmQpfWlmKHR5cGVvZiBsYXp5QXJyYXkuY2h1bmtzW2NodW5rTnVtXT09PSJ1bmRl
ZmluZWQiKXRocm93IG5ldyBFcnJvcigiZG9YSFIgZmFpbGVkISIpO3JldHVybiBsYXp5QXJyYXku
Y2h1bmtzW2NodW5rTnVtXX0pKTtpZih1c2VzR3ppcHx8IWRhdGFsZW5ndGgpe2NodW5rU2l6ZT1k
YXRhbGVuZ3RoPTE7ZGF0YWxlbmd0aD10aGlzLmdldHRlcigwKS5sZW5ndGg7Y2h1bmtTaXplPWRh
dGFsZW5ndGg7Y29uc29sZS5sb2coIkxhenlGaWxlcyBvbiBnemlwIGZvcmNlcyBkb3dubG9hZCBv
ZiB0aGUgd2hvbGUgZmlsZSB3aGVuIGxlbmd0aCBpcyBhY2Nlc3NlZCIpfXRoaXMuX2xlbmd0aD1k
YXRhbGVuZ3RoO3RoaXMuX2NodW5rU2l6ZT1jaHVua1NpemU7dGhpcy5sZW5ndGhLbm93bj10cnVl
fTtpZih0eXBlb2YgWE1MSHR0cFJlcXVlc3QhPT0idW5kZWZpbmVkIil7aWYoIUVOVklST05NRU5U
X0lTX1dPUktFUil0aHJvdyJDYW5ub3QgZG8gc3luY2hyb25vdXMgYmluYXJ5IFhIUnMgb3V0c2lk
ZSB3ZWJ3b3JrZXJzIGluIG1vZGVybiBicm93c2Vycy4gVXNlIC0tZW1iZWQtZmlsZSBvciAtLXBy
ZWxvYWQtZmlsZSBpbiBlbWNjIjt2YXIgbGF6eUFycmF5PW5ldyBMYXp5VWludDhBcnJheTtPYmpl
Y3QuZGVmaW5lUHJvcGVydGllcyhsYXp5QXJyYXkse2xlbmd0aDp7Z2V0OihmdW5jdGlvbigpe2lm
KCF0aGlzLmxlbmd0aEtub3duKXt0aGlzLmNhY2hlTGVuZ3RoKCl9cmV0dXJuIHRoaXMuX2xlbmd0
aH0pfSxjaHVua1NpemU6e2dldDooZnVuY3Rpb24oKXtpZighdGhpcy5sZW5ndGhLbm93bil7dGhp
cy5jYWNoZUxlbmd0aCgpfXJldHVybiB0aGlzLl9jaHVua1NpemV9KX19KTt2YXIgcHJvcGVydGll
cz17aXNEZXZpY2U6ZmFsc2UsY29udGVudHM6bGF6eUFycmF5fX1lbHNle3ZhciBwcm9wZXJ0aWVz
PXtpc0RldmljZTpmYWxzZSx1cmw6dXJsfX12YXIgbm9kZT1GUy5jcmVhdGVGaWxlKHBhcmVudCxu
YW1lLHByb3BlcnRpZXMsY2FuUmVhZCxjYW5Xcml0ZSk7aWYocHJvcGVydGllcy5jb250ZW50cyl7
bm9kZS5jb250ZW50cz1wcm9wZXJ0aWVzLmNvbnRlbnRzfWVsc2UgaWYocHJvcGVydGllcy51cmwp
e25vZGUuY29udGVudHM9bnVsbDtub2RlLnVybD1wcm9wZXJ0aWVzLnVybH1PYmplY3QuZGVmaW5l
UHJvcGVydGllcyhub2RlLHt1c2VkQnl0ZXM6e2dldDooZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5j
b250ZW50cy5sZW5ndGh9KX19KTt2YXIgc3RyZWFtX29wcz17fTt2YXIga2V5cz1PYmplY3Qua2V5
cyhub2RlLnN0cmVhbV9vcHMpO2tleXMuZm9yRWFjaCgoZnVuY3Rpb24oa2V5KXt2YXIgZm49bm9k
ZS5zdHJlYW1fb3BzW2tleV07c3RyZWFtX29wc1trZXldPWZ1bmN0aW9uIGZvcmNlTG9hZExhenlG
aWxlKCl7aWYoIUZTLmZvcmNlTG9hZEZpbGUobm9kZSkpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9y
KEVSUk5PX0NPREVTLkVJTyl9cmV0dXJuIGZuLmFwcGx5KG51bGwsYXJndW1lbnRzKX19KSk7c3Ry
ZWFtX29wcy5yZWFkPWZ1bmN0aW9uIHN0cmVhbV9vcHNfcmVhZChzdHJlYW0sYnVmZmVyLG9mZnNl
dCxsZW5ndGgscG9zaXRpb24pe2lmKCFGUy5mb3JjZUxvYWRGaWxlKG5vZGUpKXt0aHJvdyBuZXcg
RlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU8pfXZhciBjb250ZW50cz1zdHJlYW0ubm9kZS5j
b250ZW50cztpZihwb3NpdGlvbj49Y29udGVudHMubGVuZ3RoKXJldHVybiAwO3ZhciBzaXplPU1h
dGgubWluKGNvbnRlbnRzLmxlbmd0aC1wb3NpdGlvbixsZW5ndGgpO2Fzc2VydChzaXplPj0wKTtp
Zihjb250ZW50cy5zbGljZSl7Zm9yKHZhciBpPTA7aTxzaXplO2krKyl7YnVmZmVyW29mZnNldCtp
XT1jb250ZW50c1twb3NpdGlvbitpXX19ZWxzZXtmb3IodmFyIGk9MDtpPHNpemU7aSsrKXtidWZm
ZXJbb2Zmc2V0K2ldPWNvbnRlbnRzLmdldChwb3NpdGlvbitpKX19cmV0dXJuIHNpemV9O25vZGUu
c3RyZWFtX29wcz1zdHJlYW1fb3BzO3JldHVybiBub2RlfSksY3JlYXRlUHJlbG9hZGVkRmlsZToo
ZnVuY3Rpb24ocGFyZW50LG5hbWUsdXJsLGNhblJlYWQsY2FuV3JpdGUsb25sb2FkLG9uZXJyb3Is
ZG9udENyZWF0ZUZpbGUsY2FuT3duLHByZUZpbmlzaCl7QnJvd3Nlci5pbml0KCk7dmFyIGZ1bGxu
YW1lPW5hbWU/UEFUSC5yZXNvbHZlKFBBVEguam9pbjIocGFyZW50LG5hbWUpKTpwYXJlbnQ7dmFy
IGRlcD1nZXRVbmlxdWVSdW5EZXBlbmRlbmN5KCJjcCAiK2Z1bGxuYW1lKTtmdW5jdGlvbiBwcm9j
ZXNzRGF0YShieXRlQXJyYXkpe2Z1bmN0aW9uIGZpbmlzaChieXRlQXJyYXkpe2lmKHByZUZpbmlz
aClwcmVGaW5pc2goKTtpZighZG9udENyZWF0ZUZpbGUpe0ZTLmNyZWF0ZURhdGFGaWxlKHBhcmVu
dCxuYW1lLGJ5dGVBcnJheSxjYW5SZWFkLGNhbldyaXRlLGNhbk93bil9aWYob25sb2FkKW9ubG9h
ZCgpO3JlbW92ZVJ1bkRlcGVuZGVuY3koZGVwKX12YXIgaGFuZGxlZD1mYWxzZTtNb2R1bGVbInBy
ZWxvYWRQbHVnaW5zIl0uZm9yRWFjaCgoZnVuY3Rpb24ocGx1Z2luKXtpZihoYW5kbGVkKXJldHVy
bjtpZihwbHVnaW5bImNhbkhhbmRsZSJdKGZ1bGxuYW1lKSl7cGx1Z2luWyJoYW5kbGUiXShieXRl
QXJyYXksZnVsbG5hbWUsZmluaXNoLChmdW5jdGlvbigpe2lmKG9uZXJyb3Ipb25lcnJvcigpO3Jl
bW92ZVJ1bkRlcGVuZGVuY3koZGVwKX0pKTtoYW5kbGVkPXRydWV9fSkpO2lmKCFoYW5kbGVkKWZp
bmlzaChieXRlQXJyYXkpfWFkZFJ1bkRlcGVuZGVuY3koZGVwKTtpZih0eXBlb2YgdXJsPT0ic3Ry
aW5nIil7QnJvd3Nlci5hc3luY0xvYWQodXJsLChmdW5jdGlvbihieXRlQXJyYXkpe3Byb2Nlc3NE
YXRhKGJ5dGVBcnJheSl9KSxvbmVycm9yKX1lbHNle3Byb2Nlc3NEYXRhKHVybCl9fSksaW5kZXhl
ZERCOihmdW5jdGlvbigpe3JldHVybiB3aW5kb3cuaW5kZXhlZERCfHx3aW5kb3cubW96SW5kZXhl
ZERCfHx3aW5kb3cud2Via2l0SW5kZXhlZERCfHx3aW5kb3cubXNJbmRleGVkREJ9KSxEQl9OQU1F
OihmdW5jdGlvbigpe3JldHVybiJFTV9GU18iK3dpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX0pLERC
X1ZFUlNJT046MjAsREJfU1RPUkVfTkFNRToiRklMRV9EQVRBIixzYXZlRmlsZXNUb0RCOihmdW5j
dGlvbihwYXRocyxvbmxvYWQsb25lcnJvcil7b25sb2FkPW9ubG9hZHx8KGZ1bmN0aW9uKCl7fSk7
b25lcnJvcj1vbmVycm9yfHwoZnVuY3Rpb24oKXt9KTt2YXIgaW5kZXhlZERCPUZTLmluZGV4ZWRE
QigpO3RyeXt2YXIgb3BlblJlcXVlc3Q9aW5kZXhlZERCLm9wZW4oRlMuREJfTkFNRSgpLEZTLkRC
X1ZFUlNJT04pfWNhdGNoKGUpe3JldHVybiBvbmVycm9yKGUpfW9wZW5SZXF1ZXN0Lm9udXBncmFk
ZW5lZWRlZD1mdW5jdGlvbiBvcGVuUmVxdWVzdF9vbnVwZ3JhZGVuZWVkZWQoKXtjb25zb2xlLmxv
ZygiY3JlYXRpbmcgZGIiKTt2YXIgZGI9b3BlblJlcXVlc3QucmVzdWx0O2RiLmNyZWF0ZU9iamVj
dFN0b3JlKEZTLkRCX1NUT1JFX05BTUUpfTtvcGVuUmVxdWVzdC5vbnN1Y2Nlc3M9ZnVuY3Rpb24g
b3BlblJlcXVlc3Rfb25zdWNjZXNzKCl7dmFyIGRiPW9wZW5SZXF1ZXN0LnJlc3VsdDt2YXIgdHJh
bnNhY3Rpb249ZGIudHJhbnNhY3Rpb24oW0ZTLkRCX1NUT1JFX05BTUVdLCJyZWFkd3JpdGUiKTt2
YXIgZmlsZXM9dHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoRlMuREJfU1RPUkVfTkFNRSk7dmFyIG9r
PTAsZmFpbD0wLHRvdGFsPXBhdGhzLmxlbmd0aDtmdW5jdGlvbiBmaW5pc2goKXtpZihmYWlsPT0w
KW9ubG9hZCgpO2Vsc2Ugb25lcnJvcigpfXBhdGhzLmZvckVhY2goKGZ1bmN0aW9uKHBhdGgpe3Zh
ciBwdXRSZXF1ZXN0PWZpbGVzLnB1dChGUy5hbmFseXplUGF0aChwYXRoKS5vYmplY3QuY29udGVu
dHMscGF0aCk7cHV0UmVxdWVzdC5vbnN1Y2Nlc3M9ZnVuY3Rpb24gcHV0UmVxdWVzdF9vbnN1Y2Nl
c3MoKXtvaysrO2lmKG9rK2ZhaWw9PXRvdGFsKWZpbmlzaCgpfTtwdXRSZXF1ZXN0Lm9uZXJyb3I9
ZnVuY3Rpb24gcHV0UmVxdWVzdF9vbmVycm9yKCl7ZmFpbCsrO2lmKG9rK2ZhaWw9PXRvdGFsKWZp
bmlzaCgpfX0pKTt0cmFuc2FjdGlvbi5vbmVycm9yPW9uZXJyb3J9O29wZW5SZXF1ZXN0Lm9uZXJy
b3I9b25lcnJvcn0pLGxvYWRGaWxlc0Zyb21EQjooZnVuY3Rpb24ocGF0aHMsb25sb2FkLG9uZXJy
b3Ipe29ubG9hZD1vbmxvYWR8fChmdW5jdGlvbigpe30pO29uZXJyb3I9b25lcnJvcnx8KGZ1bmN0
aW9uKCl7fSk7dmFyIGluZGV4ZWREQj1GUy5pbmRleGVkREIoKTt0cnl7dmFyIG9wZW5SZXF1ZXN0
PWluZGV4ZWREQi5vcGVuKEZTLkRCX05BTUUoKSxGUy5EQl9WRVJTSU9OKX1jYXRjaChlKXtyZXR1
cm4gb25lcnJvcihlKX1vcGVuUmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQ9b25lcnJvcjtvcGVuUmVx
dWVzdC5vbnN1Y2Nlc3M9ZnVuY3Rpb24gb3BlblJlcXVlc3Rfb25zdWNjZXNzKCl7dmFyIGRiPW9w
ZW5SZXF1ZXN0LnJlc3VsdDt0cnl7dmFyIHRyYW5zYWN0aW9uPWRiLnRyYW5zYWN0aW9uKFtGUy5E
Ql9TVE9SRV9OQU1FXSwicmVhZG9ubHkiKX1jYXRjaChlKXtvbmVycm9yKGUpO3JldHVybn12YXIg
ZmlsZXM9dHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoRlMuREJfU1RPUkVfTkFNRSk7dmFyIG9rPTAs
ZmFpbD0wLHRvdGFsPXBhdGhzLmxlbmd0aDtmdW5jdGlvbiBmaW5pc2goKXtpZihmYWlsPT0wKW9u
bG9hZCgpO2Vsc2Ugb25lcnJvcigpfXBhdGhzLmZvckVhY2goKGZ1bmN0aW9uKHBhdGgpe3ZhciBn
ZXRSZXF1ZXN0PWZpbGVzLmdldChwYXRoKTtnZXRSZXF1ZXN0Lm9uc3VjY2Vzcz1mdW5jdGlvbiBn
ZXRSZXF1ZXN0X29uc3VjY2Vzcygpe2lmKEZTLmFuYWx5emVQYXRoKHBhdGgpLmV4aXN0cyl7RlMu
dW5saW5rKHBhdGgpfUZTLmNyZWF0ZURhdGFGaWxlKFBBVEguZGlybmFtZShwYXRoKSxQQVRILmJh
c2VuYW1lKHBhdGgpLGdldFJlcXVlc3QucmVzdWx0LHRydWUsdHJ1ZSx0cnVlKTtvaysrO2lmKG9r
K2ZhaWw9PXRvdGFsKWZpbmlzaCgpfTtnZXRSZXF1ZXN0Lm9uZXJyb3I9ZnVuY3Rpb24gZ2V0UmVx
dWVzdF9vbmVycm9yKCl7ZmFpbCsrO2lmKG9rK2ZhaWw9PXRvdGFsKWZpbmlzaCgpfX0pKTt0cmFu
c2FjdGlvbi5vbmVycm9yPW9uZXJyb3J9O29wZW5SZXF1ZXN0Lm9uZXJyb3I9b25lcnJvcn0pfTt2
YXIgU1lTQ0FMTFM9e0RFRkFVTFRfUE9MTE1BU0s6NSxtYXBwaW5nczp7fSx1bWFzazo1MTEsY2Fs
Y3VsYXRlQXQ6KGZ1bmN0aW9uKGRpcmZkLHBhdGgpe2lmKHBhdGhbMF0hPT0iLyIpe3ZhciBkaXI7
aWYoZGlyZmQ9PT0tMTAwKXtkaXI9RlMuY3dkKCl9ZWxzZXt2YXIgZGlyc3RyZWFtPUZTLmdldFN0
cmVhbShkaXJmZCk7aWYoIWRpcnN0cmVhbSl0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19D
T0RFUy5FQkFERik7ZGlyPWRpcnN0cmVhbS5wYXRofXBhdGg9UEFUSC5qb2luMihkaXIscGF0aCl9
cmV0dXJuIHBhdGh9KSxkb1N0YXQ6KGZ1bmN0aW9uKGZ1bmMscGF0aCxidWYpe3RyeXt2YXIgc3Rh
dD1mdW5jKHBhdGgpfWNhdGNoKGUpe2lmKGUmJmUubm9kZSYmUEFUSC5ub3JtYWxpemUocGF0aCkh
PT1QQVRILm5vcm1hbGl6ZShGUy5nZXRQYXRoKGUubm9kZSkpKXtyZXR1cm4tRVJSTk9fQ09ERVMu
RU5PVERJUn10aHJvdyBlfUhFQVAzMltidWY+PjJdPXN0YXQuZGV2O0hFQVAzMltidWYrND4+Ml09
MDtIRUFQMzJbYnVmKzg+PjJdPXN0YXQuaW5vO0hFQVAzMltidWYrMTI+PjJdPXN0YXQubW9kZTtI
RUFQMzJbYnVmKzE2Pj4yXT1zdGF0Lm5saW5rO0hFQVAzMltidWYrMjA+PjJdPXN0YXQudWlkO0hF
QVAzMltidWYrMjQ+PjJdPXN0YXQuZ2lkO0hFQVAzMltidWYrMjg+PjJdPXN0YXQucmRldjtIRUFQ
MzJbYnVmKzMyPj4yXT0wO0hFQVAzMltidWYrMzY+PjJdPXN0YXQuc2l6ZTtIRUFQMzJbYnVmKzQw
Pj4yXT00MDk2O0hFQVAzMltidWYrNDQ+PjJdPXN0YXQuYmxvY2tzO0hFQVAzMltidWYrNDg+PjJd
PXN0YXQuYXRpbWUuZ2V0VGltZSgpLzFlM3wwO0hFQVAzMltidWYrNTI+PjJdPTA7SEVBUDMyW2J1
Zis1Nj4+Ml09c3RhdC5tdGltZS5nZXRUaW1lKCkvMWUzfDA7SEVBUDMyW2J1Zis2MD4+Ml09MDtI
RUFQMzJbYnVmKzY0Pj4yXT1zdGF0LmN0aW1lLmdldFRpbWUoKS8xZTN8MDtIRUFQMzJbYnVmKzY4
Pj4yXT0wO0hFQVAzMltidWYrNzI+PjJdPXN0YXQuaW5vO3JldHVybiAwfSksZG9Nc3luYzooZnVu
Y3Rpb24oYWRkcixzdHJlYW0sbGVuLGZsYWdzKXt2YXIgYnVmZmVyPW5ldyBVaW50OEFycmF5KEhF
QVBVOC5zdWJhcnJheShhZGRyLGFkZHIrbGVuKSk7RlMubXN5bmMoc3RyZWFtLGJ1ZmZlciwwLGxl
bixmbGFncyl9KSxkb01rZGlyOihmdW5jdGlvbihwYXRoLG1vZGUpe3BhdGg9UEFUSC5ub3JtYWxp
emUocGF0aCk7aWYocGF0aFtwYXRoLmxlbmd0aC0xXT09PSIvIilwYXRoPXBhdGguc3Vic3RyKDAs
cGF0aC5sZW5ndGgtMSk7RlMubWtkaXIocGF0aCxtb2RlLDApO3JldHVybiAwfSksZG9Na25vZDoo
ZnVuY3Rpb24ocGF0aCxtb2RlLGRldil7c3dpdGNoKG1vZGUmNjE0NDApe2Nhc2UgMzI3Njg6Y2Fz
ZSA4MTkyOmNhc2UgMjQ1NzY6Y2FzZSA0MDk2OmNhc2UgNDkxNTI6YnJlYWs7ZGVmYXVsdDpyZXR1
cm4tRVJSTk9fQ09ERVMuRUlOVkFMfUZTLm1rbm9kKHBhdGgsbW9kZSxkZXYpO3JldHVybiAwfSks
ZG9SZWFkbGluazooZnVuY3Rpb24ocGF0aCxidWYsYnVmc2l6ZSl7aWYoYnVmc2l6ZTw9MClyZXR1
cm4tRVJSTk9fQ09ERVMuRUlOVkFMO3ZhciByZXQ9RlMucmVhZGxpbmsocGF0aCk7dmFyIGxlbj1N
YXRoLm1pbihidWZzaXplLGxlbmd0aEJ5dGVzVVRGOChyZXQpKTt2YXIgZW5kQ2hhcj1IRUFQOFti
dWYrbGVuXTtzdHJpbmdUb1VURjgocmV0LGJ1ZixidWZzaXplKzEpO0hFQVA4W2J1ZitsZW5dPWVu
ZENoYXI7cmV0dXJuIGxlbn0pLGRvQWNjZXNzOihmdW5jdGlvbihwYXRoLGFtb2RlKXtpZihhbW9k
ZSZ+Nyl7cmV0dXJuLUVSUk5PX0NPREVTLkVJTlZBTH12YXIgbm9kZTt2YXIgbG9va3VwPUZTLmxv
b2t1cFBhdGgocGF0aCx7Zm9sbG93OnRydWV9KTtub2RlPWxvb2t1cC5ub2RlO3ZhciBwZXJtcz0i
IjtpZihhbW9kZSY0KXBlcm1zKz0iciI7aWYoYW1vZGUmMilwZXJtcys9InciO2lmKGFtb2RlJjEp
cGVybXMrPSJ4IjtpZihwZXJtcyYmRlMubm9kZVBlcm1pc3Npb25zKG5vZGUscGVybXMpKXtyZXR1
cm4tRVJSTk9fQ09ERVMuRUFDQ0VTfXJldHVybiAwfSksZG9EdXA6KGZ1bmN0aW9uKHBhdGgsZmxh
Z3Msc3VnZ2VzdEZEKXt2YXIgc3VnZ2VzdD1GUy5nZXRTdHJlYW0oc3VnZ2VzdEZEKTtpZihzdWdn
ZXN0KUZTLmNsb3NlKHN1Z2dlc3QpO3JldHVybiBGUy5vcGVuKHBhdGgsZmxhZ3MsMCxzdWdnZXN0
RkQsc3VnZ2VzdEZEKS5mZH0pLGRvUmVhZHY6KGZ1bmN0aW9uKHN0cmVhbSxpb3YsaW92Y250LG9m
ZnNldCl7dmFyIHJldD0wO2Zvcih2YXIgaT0wO2k8aW92Y250O2krKyl7dmFyIHB0cj1IRUFQMzJb
aW92K2kqOD4+Ml07dmFyIGxlbj1IRUFQMzJbaW92KyhpKjgrNCk+PjJdO3ZhciBjdXJyPUZTLnJl
YWQoc3RyZWFtLEhFQVA4LHB0cixsZW4sb2Zmc2V0KTtpZihjdXJyPDApcmV0dXJuLTE7cmV0Kz1j
dXJyO2lmKGN1cnI8bGVuKWJyZWFrfXJldHVybiByZXR9KSxkb1dyaXRldjooZnVuY3Rpb24oc3Ry
ZWFtLGlvdixpb3ZjbnQsb2Zmc2V0KXt2YXIgcmV0PTA7Zm9yKHZhciBpPTA7aTxpb3ZjbnQ7aSsr
KXt2YXIgcHRyPUhFQVAzMltpb3YraSo4Pj4yXTt2YXIgbGVuPUhFQVAzMltpb3YrKGkqOCs0KT4+
Ml07dmFyIGN1cnI9RlMud3JpdGUoc3RyZWFtLEhFQVA4LHB0cixsZW4sb2Zmc2V0KTtpZihjdXJy
PDApcmV0dXJuLTE7cmV0Kz1jdXJyfXJldHVybiByZXR9KSx2YXJhcmdzOjAsZ2V0OihmdW5jdGlv
bih2YXJhcmdzKXtTWVNDQUxMUy52YXJhcmdzKz00O3ZhciByZXQ9SEVBUDMyW1NZU0NBTExTLnZh
cmFyZ3MtND4+Ml07cmV0dXJuIHJldH0pLGdldFN0cjooZnVuY3Rpb24oKXt2YXIgcmV0PVBvaW50
ZXJfc3RyaW5naWZ5KFNZU0NBTExTLmdldCgpKTtyZXR1cm4gcmV0fSksZ2V0U3RyZWFtRnJvbUZE
OihmdW5jdGlvbigpe3ZhciBzdHJlYW09RlMuZ2V0U3RyZWFtKFNZU0NBTExTLmdldCgpKTtpZigh
c3RyZWFtKXRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVCQURGKTtyZXR1cm4g
c3RyZWFtfSksZ2V0U29ja2V0RnJvbUZEOihmdW5jdGlvbigpe3ZhciBzb2NrZXQ9U09DS0ZTLmdl
dFNvY2tldChTWVNDQUxMUy5nZXQoKSk7aWYoIXNvY2tldCl0aHJvdyBuZXcgRlMuRXJybm9FcnJv
cihFUlJOT19DT0RFUy5FQkFERik7cmV0dXJuIHNvY2tldH0pLGdldFNvY2tldEFkZHJlc3M6KGZ1
bmN0aW9uKGFsbG93TnVsbCl7dmFyIGFkZHJwPVNZU0NBTExTLmdldCgpLGFkZHJsZW49U1lTQ0FM
TFMuZ2V0KCk7aWYoYWxsb3dOdWxsJiZhZGRycD09PTApcmV0dXJuIG51bGw7dmFyIGluZm89X19y
ZWFkX3NvY2thZGRyKGFkZHJwLGFkZHJsZW4pO2lmKGluZm8uZXJybm8pdGhyb3cgbmV3IEZTLkVy
cm5vRXJyb3IoaW5mby5lcnJubyk7aW5mby5hZGRyPUROUy5sb29rdXBfYWRkcihpbmZvLmFkZHIp
fHxpbmZvLmFkZHI7cmV0dXJuIGluZm99KSxnZXQ2NDooZnVuY3Rpb24oKXt2YXIgbG93PVNZU0NB
TExTLmdldCgpLGhpZ2g9U1lTQ0FMTFMuZ2V0KCk7aWYobG93Pj0wKWFzc2VydChoaWdoPT09MCk7
ZWxzZSBhc3NlcnQoaGlnaD09PS0xKTtyZXR1cm4gbG93fSksZ2V0WmVybzooZnVuY3Rpb24oKXth
c3NlcnQoU1lTQ0FMTFMuZ2V0KCk9PT0wKX0pfTtmdW5jdGlvbiBfX19zeXNjYWxsMTAod2hpY2gs
dmFyYXJncyl7U1lTQ0FMTFMudmFyYXJncz12YXJhcmdzO3RyeXt2YXIgcGF0aD1TWVNDQUxMUy5n
ZXRTdHIoKTtGUy51bmxpbmsocGF0aCk7cmV0dXJuIDB9Y2F0Y2goZSl7aWYodHlwZW9mIEZTPT09
InVuZGVmaW5lZCJ8fCEoZSBpbnN0YW5jZW9mIEZTLkVycm5vRXJyb3IpKWFib3J0KGUpO3JldHVy
bi1lLmVycm5vfX1mdW5jdGlvbiBfX19zeXNjYWxsMTQwKHdoaWNoLHZhcmFyZ3Mpe1NZU0NBTExT
LnZhcmFyZ3M9dmFyYXJnczt0cnl7dmFyIHN0cmVhbT1TWVNDQUxMUy5nZXRTdHJlYW1Gcm9tRkQo
KSxvZmZzZXRfaGlnaD1TWVNDQUxMUy5nZXQoKSxvZmZzZXRfbG93PVNZU0NBTExTLmdldCgpLHJl
c3VsdD1TWVNDQUxMUy5nZXQoKSx3aGVuY2U9U1lTQ0FMTFMuZ2V0KCk7dmFyIG9mZnNldD1vZmZz
ZXRfbG93O0ZTLmxsc2VlayhzdHJlYW0sb2Zmc2V0LHdoZW5jZSk7SEVBUDMyW3Jlc3VsdD4+Ml09
c3RyZWFtLnBvc2l0aW9uO2lmKHN0cmVhbS5nZXRkZW50cyYmb2Zmc2V0PT09MCYmd2hlbmNlPT09
MClzdHJlYW0uZ2V0ZGVudHM9bnVsbDtyZXR1cm4gMH1jYXRjaChlKXtpZih0eXBlb2YgRlM9PT0i
dW5kZWZpbmVkInx8IShlIGluc3RhbmNlb2YgRlMuRXJybm9FcnJvcikpYWJvcnQoZSk7cmV0dXJu
LWUuZXJybm99fWZ1bmN0aW9uIF9fX3N5c2NhbGwxNDUod2hpY2gsdmFyYXJncyl7U1lTQ0FMTFMu
dmFyYXJncz12YXJhcmdzO3RyeXt2YXIgc3RyZWFtPVNZU0NBTExTLmdldFN0cmVhbUZyb21GRCgp
LGlvdj1TWVNDQUxMUy5nZXQoKSxpb3ZjbnQ9U1lTQ0FMTFMuZ2V0KCk7cmV0dXJuIFNZU0NBTExT
LmRvUmVhZHYoc3RyZWFtLGlvdixpb3ZjbnQpfWNhdGNoKGUpe2lmKHR5cGVvZiBGUz09PSJ1bmRl
ZmluZWQifHwhKGUgaW5zdGFuY2VvZiBGUy5FcnJub0Vycm9yKSlhYm9ydChlKTtyZXR1cm4tZS5l
cnJub319ZnVuY3Rpb24gX19fc3lzY2FsbDE0Nih3aGljaCx2YXJhcmdzKXtTWVNDQUxMUy52YXJh
cmdzPXZhcmFyZ3M7dHJ5e3ZhciBzdHJlYW09U1lTQ0FMTFMuZ2V0U3RyZWFtRnJvbUZEKCksaW92
PVNZU0NBTExTLmdldCgpLGlvdmNudD1TWVNDQUxMUy5nZXQoKTtyZXR1cm4gU1lTQ0FMTFMuZG9X
cml0ZXYoc3RyZWFtLGlvdixpb3ZjbnQpfWNhdGNoKGUpe2lmKHR5cGVvZiBGUz09PSJ1bmRlZmlu
ZWQifHwhKGUgaW5zdGFuY2VvZiBGUy5FcnJub0Vycm9yKSlhYm9ydChlKTtyZXR1cm4tZS5lcnJu
b319ZnVuY3Rpb24gX19fc3lzY2FsbDE5Mih3aGljaCx2YXJhcmdzKXtTWVNDQUxMUy52YXJhcmdz
PXZhcmFyZ3M7dHJ5e3ZhciBhZGRyPVNZU0NBTExTLmdldCgpLGxlbj1TWVNDQUxMUy5nZXQoKSxw
cm90PVNZU0NBTExTLmdldCgpLGZsYWdzPVNZU0NBTExTLmdldCgpLGZkPVNZU0NBTExTLmdldCgp
LG9mZj1TWVNDQUxMUy5nZXQoKTtvZmY8PD0xMjt2YXIgcHRyO3ZhciBhbGxvY2F0ZWQ9ZmFsc2U7
aWYoZmQ9PT0tMSl7cHRyPV9tZW1hbGlnbihQQUdFX1NJWkUsbGVuKTtpZighcHRyKXJldHVybi1F
UlJOT19DT0RFUy5FTk9NRU07X21lbXNldChwdHIsMCxsZW4pO2FsbG9jYXRlZD10cnVlfWVsc2V7
dmFyIGluZm89RlMuZ2V0U3RyZWFtKGZkKTtpZighaW5mbylyZXR1cm4tRVJSTk9fQ09ERVMuRUJB
REY7dmFyIHJlcz1GUy5tbWFwKGluZm8sSEVBUFU4LGFkZHIsbGVuLG9mZixwcm90LGZsYWdzKTtw
dHI9cmVzLnB0cjthbGxvY2F0ZWQ9cmVzLmFsbG9jYXRlZH1TWVNDQUxMUy5tYXBwaW5nc1twdHJd
PXttYWxsb2M6cHRyLGxlbjpsZW4sYWxsb2NhdGVkOmFsbG9jYXRlZCxmZDpmZCxmbGFnczpmbGFn
c307cmV0dXJuIHB0cn1jYXRjaChlKXtpZih0eXBlb2YgRlM9PT0idW5kZWZpbmVkInx8IShlIGlu
c3RhbmNlb2YgRlMuRXJybm9FcnJvcikpYWJvcnQoZSk7cmV0dXJuLWUuZXJybm99fWZ1bmN0aW9u
IF9fX3N5c2NhbGwxOTUod2hpY2gsdmFyYXJncyl7U1lTQ0FMTFMudmFyYXJncz12YXJhcmdzO3Ry
eXt2YXIgcGF0aD1TWVNDQUxMUy5nZXRTdHIoKSxidWY9U1lTQ0FMTFMuZ2V0KCk7cmV0dXJuIFNZ
U0NBTExTLmRvU3RhdChGUy5zdGF0LHBhdGgsYnVmKX1jYXRjaChlKXtpZih0eXBlb2YgRlM9PT0i
dW5kZWZpbmVkInx8IShlIGluc3RhbmNlb2YgRlMuRXJybm9FcnJvcikpYWJvcnQoZSk7cmV0dXJu
LWUuZXJybm99fWZ1bmN0aW9uIF9fX3N5c2NhbGwxOTcod2hpY2gsdmFyYXJncyl7U1lTQ0FMTFMu
dmFyYXJncz12YXJhcmdzO3RyeXt2YXIgc3RyZWFtPVNZU0NBTExTLmdldFN0cmVhbUZyb21GRCgp
LGJ1Zj1TWVNDQUxMUy5nZXQoKTtyZXR1cm4gU1lTQ0FMTFMuZG9TdGF0KEZTLnN0YXQsc3RyZWFt
LnBhdGgsYnVmKX1jYXRjaChlKXtpZih0eXBlb2YgRlM9PT0idW5kZWZpbmVkInx8IShlIGluc3Rh
bmNlb2YgRlMuRXJybm9FcnJvcikpYWJvcnQoZSk7cmV0dXJuLWUuZXJybm99fXZhciBQUk9DSU5G
Tz17cHBpZDoxLHBpZDo0MixzaWQ6NDIscGdpZDo0Mn07ZnVuY3Rpb24gX19fc3lzY2FsbDIwKHdo
aWNoLHZhcmFyZ3Mpe1NZU0NBTExTLnZhcmFyZ3M9dmFyYXJnczt0cnl7cmV0dXJuIFBST0NJTkZP
LnBpZH1jYXRjaChlKXtpZih0eXBlb2YgRlM9PT0idW5kZWZpbmVkInx8IShlIGluc3RhbmNlb2Yg
RlMuRXJybm9FcnJvcikpYWJvcnQoZSk7cmV0dXJuLWUuZXJybm99fWZ1bmN0aW9uIF9fX3N5c2Nh
bGwyMjEod2hpY2gsdmFyYXJncyl7U1lTQ0FMTFMudmFyYXJncz12YXJhcmdzO3RyeXt2YXIgc3Ry
ZWFtPVNZU0NBTExTLmdldFN0cmVhbUZyb21GRCgpLGNtZD1TWVNDQUxMUy5nZXQoKTtzd2l0Y2go
Y21kKXtjYXNlIDA6e3ZhciBhcmc9U1lTQ0FMTFMuZ2V0KCk7aWYoYXJnPDApe3JldHVybi1FUlJO
T19DT0RFUy5FSU5WQUx9dmFyIG5ld1N0cmVhbTtuZXdTdHJlYW09RlMub3BlbihzdHJlYW0ucGF0
aCxzdHJlYW0uZmxhZ3MsMCxhcmcpO3JldHVybiBuZXdTdHJlYW0uZmR9O2Nhc2UgMTpjYXNlIDI6
cmV0dXJuIDA7Y2FzZSAzOnJldHVybiBzdHJlYW0uZmxhZ3M7Y2FzZSA0Ont2YXIgYXJnPVNZU0NB
TExTLmdldCgpO3N0cmVhbS5mbGFnc3w9YXJnO3JldHVybiAwfTtjYXNlIDEyOmNhc2UgMTI6e3Zh
ciBhcmc9U1lTQ0FMTFMuZ2V0KCk7dmFyIG9mZnNldD0wO0hFQVAxNlthcmcrb2Zmc2V0Pj4xXT0y
O3JldHVybiAwfTtjYXNlIDEzOmNhc2UgMTQ6Y2FzZSAxMzpjYXNlIDE0OnJldHVybiAwO2Nhc2Ug
MTY6Y2FzZSA4OnJldHVybi1FUlJOT19DT0RFUy5FSU5WQUw7Y2FzZSA5Ol9fX3NldEVyck5vKEVS
Uk5PX0NPREVTLkVJTlZBTCk7cmV0dXJuLTE7ZGVmYXVsdDp7cmV0dXJuLUVSUk5PX0NPREVTLkVJ
TlZBTH19fWNhdGNoKGUpe2lmKHR5cGVvZiBGUz09PSJ1bmRlZmluZWQifHwhKGUgaW5zdGFuY2Vv
ZiBGUy5FcnJub0Vycm9yKSlhYm9ydChlKTtyZXR1cm4tZS5lcnJub319ZnVuY3Rpb24gX19fc3lz
Y2FsbDMod2hpY2gsdmFyYXJncyl7U1lTQ0FMTFMudmFyYXJncz12YXJhcmdzO3RyeXt2YXIgc3Ry
ZWFtPVNZU0NBTExTLmdldFN0cmVhbUZyb21GRCgpLGJ1Zj1TWVNDQUxMUy5nZXQoKSxjb3VudD1T
WVNDQUxMUy5nZXQoKTtyZXR1cm4gRlMucmVhZChzdHJlYW0sSEVBUDgsYnVmLGNvdW50KX1jYXRj
aChlKXtpZih0eXBlb2YgRlM9PT0idW5kZWZpbmVkInx8IShlIGluc3RhbmNlb2YgRlMuRXJybm9F
cnJvcikpYWJvcnQoZSk7cmV0dXJuLWUuZXJybm99fWZ1bmN0aW9uIF9fX3N5c2NhbGwzMyh3aGlj
aCx2YXJhcmdzKXtTWVNDQUxMUy52YXJhcmdzPXZhcmFyZ3M7dHJ5e3ZhciBwYXRoPVNZU0NBTExT
LmdldFN0cigpLGFtb2RlPVNZU0NBTExTLmdldCgpO3JldHVybiBTWVNDQUxMUy5kb0FjY2Vzcyhw
YXRoLGFtb2RlKX1jYXRjaChlKXtpZih0eXBlb2YgRlM9PT0idW5kZWZpbmVkInx8IShlIGluc3Rh
bmNlb2YgRlMuRXJybm9FcnJvcikpYWJvcnQoZSk7cmV0dXJuLWUuZXJybm99fWZ1bmN0aW9uIF9f
X3N5c2NhbGw1KHdoaWNoLHZhcmFyZ3Mpe1NZU0NBTExTLnZhcmFyZ3M9dmFyYXJnczt0cnl7dmFy
IHBhdGhuYW1lPVNZU0NBTExTLmdldFN0cigpLGZsYWdzPVNZU0NBTExTLmdldCgpLG1vZGU9U1lT
Q0FMTFMuZ2V0KCk7dmFyIHN0cmVhbT1GUy5vcGVuKHBhdGhuYW1lLGZsYWdzLG1vZGUpO3JldHVy
biBzdHJlYW0uZmR9Y2F0Y2goZSl7aWYodHlwZW9mIEZTPT09InVuZGVmaW5lZCJ8fCEoZSBpbnN0
YW5jZW9mIEZTLkVycm5vRXJyb3IpKWFib3J0KGUpO3JldHVybi1lLmVycm5vfX1mdW5jdGlvbiBf
X19zeXNjYWxsNTQod2hpY2gsdmFyYXJncyl7U1lTQ0FMTFMudmFyYXJncz12YXJhcmdzO3RyeXt2
YXIgc3RyZWFtPVNZU0NBTExTLmdldFN0cmVhbUZyb21GRCgpLG9wPVNZU0NBTExTLmdldCgpO3N3
aXRjaChvcCl7Y2FzZSAyMTUwOTpjYXNlIDIxNTA1OntpZighc3RyZWFtLnR0eSlyZXR1cm4tRVJS
Tk9fQ09ERVMuRU5PVFRZO3JldHVybiAwfTtjYXNlIDIxNTEwOmNhc2UgMjE1MTE6Y2FzZSAyMTUx
MjpjYXNlIDIxNTA2OmNhc2UgMjE1MDc6Y2FzZSAyMTUwODp7aWYoIXN0cmVhbS50dHkpcmV0dXJu
LUVSUk5PX0NPREVTLkVOT1RUWTtyZXR1cm4gMH07Y2FzZSAyMTUxOTp7aWYoIXN0cmVhbS50dHkp
cmV0dXJuLUVSUk5PX0NPREVTLkVOT1RUWTt2YXIgYXJncD1TWVNDQUxMUy5nZXQoKTtIRUFQMzJb
YXJncD4+Ml09MDtyZXR1cm4gMH07Y2FzZSAyMTUyMDp7aWYoIXN0cmVhbS50dHkpcmV0dXJuLUVS
Uk5PX0NPREVTLkVOT1RUWTtyZXR1cm4tRVJSTk9fQ09ERVMuRUlOVkFMfTtjYXNlIDIxNTMxOnt2
YXIgYXJncD1TWVNDQUxMUy5nZXQoKTtyZXR1cm4gRlMuaW9jdGwoc3RyZWFtLG9wLGFyZ3ApfTtj
YXNlIDIxNTIzOntpZighc3RyZWFtLnR0eSlyZXR1cm4tRVJSTk9fQ09ERVMuRU5PVFRZO3JldHVy
biAwfTtjYXNlIDIxNTI0OntpZighc3RyZWFtLnR0eSlyZXR1cm4tRVJSTk9fQ09ERVMuRU5PVFRZ
O3JldHVybiAwfTtkZWZhdWx0OmFib3J0KCJiYWQgaW9jdGwgc3lzY2FsbCAiK29wKX19Y2F0Y2go
ZSl7aWYodHlwZW9mIEZTPT09InVuZGVmaW5lZCJ8fCEoZSBpbnN0YW5jZW9mIEZTLkVycm5vRXJy
b3IpKWFib3J0KGUpO3JldHVybi1lLmVycm5vfX1mdW5jdGlvbiBfX19zeXNjYWxsNih3aGljaCx2
YXJhcmdzKXtTWVNDQUxMUy52YXJhcmdzPXZhcmFyZ3M7dHJ5e3ZhciBzdHJlYW09U1lTQ0FMTFMu
Z2V0U3RyZWFtRnJvbUZEKCk7RlMuY2xvc2Uoc3RyZWFtKTtyZXR1cm4gMH1jYXRjaChlKXtpZih0
eXBlb2YgRlM9PT0idW5kZWZpbmVkInx8IShlIGluc3RhbmNlb2YgRlMuRXJybm9FcnJvcikpYWJv
cnQoZSk7cmV0dXJuLWUuZXJybm99fWZ1bmN0aW9uIF9fX3N5c2NhbGw5MSh3aGljaCx2YXJhcmdz
KXtTWVNDQUxMUy52YXJhcmdzPXZhcmFyZ3M7dHJ5e3ZhciBhZGRyPVNZU0NBTExTLmdldCgpLGxl
bj1TWVNDQUxMUy5nZXQoKTt2YXIgaW5mbz1TWVNDQUxMUy5tYXBwaW5nc1thZGRyXTtpZighaW5m
bylyZXR1cm4gMDtpZihsZW49PT1pbmZvLmxlbil7dmFyIHN0cmVhbT1GUy5nZXRTdHJlYW0oaW5m
by5mZCk7U1lTQ0FMTFMuZG9Nc3luYyhhZGRyLHN0cmVhbSxsZW4saW5mby5mbGFncyk7RlMubXVu
bWFwKHN0cmVhbSk7U1lTQ0FMTFMubWFwcGluZ3NbYWRkcl09bnVsbDtpZihpbmZvLmFsbG9jYXRl
ZCl7X2ZyZWUoaW5mby5tYWxsb2MpfX1yZXR1cm4gMH1jYXRjaChlKXtpZih0eXBlb2YgRlM9PT0i
dW5kZWZpbmVkInx8IShlIGluc3RhbmNlb2YgRlMuRXJybm9FcnJvcikpYWJvcnQoZSk7cmV0dXJu
LWUuZXJybm99fWZ1bmN0aW9uIF9fX3VubG9jaygpe31mdW5jdGlvbiBfX2V4aXQoc3RhdHVzKXtl
eGl0KHN0YXR1cyl9ZnVuY3Rpb24gX2V4aXQoc3RhdHVzKXtfX2V4aXQoc3RhdHVzKX1mdW5jdGlv
biBfZ2V0ZW52KG5hbWUpe2lmKG5hbWU9PT0wKXJldHVybiAwO25hbWU9UG9pbnRlcl9zdHJpbmdp
ZnkobmFtZSk7aWYoIUVOVi5oYXNPd25Qcm9wZXJ0eShuYW1lKSlyZXR1cm4gMDtpZihfZ2V0ZW52
LnJldClfZnJlZShfZ2V0ZW52LnJldCk7X2dldGVudi5yZXQ9YWxsb2NhdGVVVEY4KEVOVltuYW1l
XSk7cmV0dXJuIF9nZXRlbnYucmV0fWZ1bmN0aW9uIF9nZXR0aW1lb2ZkYXkocHRyKXt2YXIgbm93
PURhdGUubm93KCk7SEVBUDMyW3B0cj4+Ml09bm93LzFlM3wwO0hFQVAzMltwdHIrND4+Ml09bm93
JTFlMyoxZTN8MDtyZXR1cm4gMH12YXIgX2xsdm1fY2VpbF9mNjQ9TWF0aF9jZWlsO3ZhciBfbGx2
bV9mYWJzX2YzMj1NYXRoX2Ficzt2YXIgX2xsdm1fZmFic19mNjQ9TWF0aF9hYnM7dmFyIF9sbHZt
X2Zsb29yX2Y2ND1NYXRoX2Zsb29yO2Z1bmN0aW9uIF9sbHZtX2xvZzEwX2YzMih4KXtyZXR1cm4g
TWF0aC5sb2coeCkvTWF0aC5MTjEwfWZ1bmN0aW9uIF9sbHZtX2xvZzEwX2Y2NCgpe3JldHVybiBf
bGx2bV9sb2cxMF9mMzIuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIF9sbHZtX2xvZzJf
ZjMyKHgpe3JldHVybiBNYXRoLmxvZyh4KS9NYXRoLkxOMn1mdW5jdGlvbiBfbGx2bV9sb2cyX2Y2
NCgpe3JldHVybiBfbGx2bV9sb2cyX2YzMi5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24g
X2xsdm1fdHJhcCgpe2Fib3J0KCJ0cmFwISIpfWZ1bmN0aW9uIF9sb25nam1wKGVudix2YWx1ZSl7
TW9kdWxlWyJzZXRUaHJldyJdKGVudix2YWx1ZXx8MSk7dGhyb3cibG9uZ2ptcCJ9ZnVuY3Rpb24g
X2Vtc2NyaXB0ZW5fbWVtY3B5X2JpZyhkZXN0LHNyYyxudW0pe0hFQVBVOC5zZXQoSEVBUFU4LnN1
YmFycmF5KHNyYyxzcmMrbnVtKSxkZXN0KTtyZXR1cm4gZGVzdH1mdW5jdGlvbiBfc2V0ZW52KGVu
dm5hbWUsZW52dmFsLG92ZXJ3cml0ZSl7aWYoZW52bmFtZT09PTApe19fX3NldEVyck5vKEVSUk5P
X0NPREVTLkVJTlZBTCk7cmV0dXJuLTF9dmFyIG5hbWU9UG9pbnRlcl9zdHJpbmdpZnkoZW52bmFt
ZSk7dmFyIHZhbD1Qb2ludGVyX3N0cmluZ2lmeShlbnZ2YWwpO2lmKG5hbWU9PT0iInx8bmFtZS5p
bmRleE9mKCI9IikhPT0tMSl7X19fc2V0RXJyTm8oRVJSTk9fQ09ERVMuRUlOVkFMKTtyZXR1cm4t
MX1pZihFTlYuaGFzT3duUHJvcGVydHkobmFtZSkmJiFvdmVyd3JpdGUpcmV0dXJuIDA7RU5WW25h
bWVdPXZhbDtfX19idWlsZEVudmlyb25tZW50KF9fZ2V0X2Vudmlyb24oKSk7cmV0dXJuIDB9ZnVu
Y3Rpb24gX3RpbWUocHRyKXt2YXIgcmV0PURhdGUubm93KCkvMWUzfDA7aWYocHRyKXtIRUFQMzJb
cHRyPj4yXT1yZXR9cmV0dXJuIHJldH1mdW5jdGlvbiBfdGltZXMoYnVmZmVyKXtpZihidWZmZXIh
PT0wKXtfbWVtc2V0KGJ1ZmZlciwwLDE2KX1yZXR1cm4gMH1pZihFTlZJUk9OTUVOVF9JU19OT0RF
KXtfZW1zY3JpcHRlbl9nZXRfbm93PWZ1bmN0aW9uIF9lbXNjcmlwdGVuX2dldF9ub3dfYWN0dWFs
KCl7dmFyIHQ9cHJvY2Vzc1siaHJ0aW1lIl0oKTtyZXR1cm4gdFswXSoxZTMrdFsxXS8xZTZ9fWVs
c2UgaWYodHlwZW9mIGRhdGVOb3chPT0idW5kZWZpbmVkIil7X2Vtc2NyaXB0ZW5fZ2V0X25vdz1k
YXRlTm93fWVsc2UgaWYodHlwZW9mIHNlbGY9PT0ib2JqZWN0IiYmc2VsZlsicGVyZm9ybWFuY2Ui
XSYmdHlwZW9mIHNlbGZbInBlcmZvcm1hbmNlIl1bIm5vdyJdPT09ImZ1bmN0aW9uIil7X2Vtc2Ny
aXB0ZW5fZ2V0X25vdz0oZnVuY3Rpb24oKXtyZXR1cm4gc2VsZlsicGVyZm9ybWFuY2UiXVsibm93
Il0oKX0pfWVsc2UgaWYodHlwZW9mIHBlcmZvcm1hbmNlPT09Im9iamVjdCImJnR5cGVvZiBwZXJm
b3JtYW5jZVsibm93Il09PT0iZnVuY3Rpb24iKXtfZW1zY3JpcHRlbl9nZXRfbm93PShmdW5jdGlv
bigpe3JldHVybiBwZXJmb3JtYW5jZVsibm93Il0oKX0pfWVsc2V7X2Vtc2NyaXB0ZW5fZ2V0X25v
dz1EYXRlLm5vd31GUy5zdGF0aWNJbml0KCk7X19BVElOSVRfXy51bnNoaWZ0KChmdW5jdGlvbigp
e2lmKCFNb2R1bGVbIm5vRlNJbml0Il0mJiFGUy5pbml0LmluaXRpYWxpemVkKUZTLmluaXQoKX0p
KTtfX0FUTUFJTl9fLnB1c2goKGZ1bmN0aW9uKCl7RlMuaWdub3JlUGVybWlzc2lvbnM9ZmFsc2V9
KSk7X19BVEVYSVRfXy5wdXNoKChmdW5jdGlvbigpe0ZTLnF1aXQoKX0pKTtfX0FUSU5JVF9fLnVu
c2hpZnQoKGZ1bmN0aW9uKCl7VFRZLmluaXQoKX0pKTtfX0FURVhJVF9fLnB1c2goKGZ1bmN0aW9u
KCl7VFRZLnNodXRkb3duKCl9KSk7aWYoRU5WSVJPTk1FTlRfSVNfTk9ERSl7dmFyIGZzPXJlcXVp
cmUoImZzIik7dmFyIE5PREVKU19QQVRIPXJlcXVpcmUoInBhdGgiKTtOT0RFRlMuc3RhdGljSW5p
dCgpfURZTkFNSUNUT1BfUFRSPXN0YXRpY0FsbG9jKDQpO1NUQUNLX0JBU0U9U1RBQ0tUT1A9YWxp
Z25NZW1vcnkoU1RBVElDVE9QKTtTVEFDS19NQVg9U1RBQ0tfQkFTRStUT1RBTF9TVEFDSztEWU5B
TUlDX0JBU0U9YWxpZ25NZW1vcnkoU1RBQ0tfTUFYKTtIRUFQMzJbRFlOQU1JQ1RPUF9QVFI+PjJd
PURZTkFNSUNfQkFTRTtzdGF0aWNTZWFsZWQ9dHJ1ZTt2YXIgQVNTRVJUSU9OUz1mYWxzZTtmdW5j
dGlvbiBpbnRBcnJheUZyb21TdHJpbmcoc3RyaW5neSxkb250QWRkTnVsbCxsZW5ndGgpe3ZhciBs
ZW49bGVuZ3RoPjA/bGVuZ3RoOmxlbmd0aEJ5dGVzVVRGOChzdHJpbmd5KSsxO3ZhciB1OGFycmF5
PW5ldyBBcnJheShsZW4pO3ZhciBudW1CeXRlc1dyaXR0ZW49c3RyaW5nVG9VVEY4QXJyYXkoc3Ry
aW5neSx1OGFycmF5LDAsdThhcnJheS5sZW5ndGgpO2lmKGRvbnRBZGROdWxsKXU4YXJyYXkubGVu
Z3RoPW51bUJ5dGVzV3JpdHRlbjtyZXR1cm4gdThhcnJheX1mdW5jdGlvbiBpbnRBcnJheVRvU3Ry
aW5nKGFycmF5KXt2YXIgcmV0PVtdO2Zvcih2YXIgaT0wO2k8YXJyYXkubGVuZ3RoO2krKyl7dmFy
IGNocj1hcnJheVtpXTtpZihjaHI+MjU1KXtpZihBU1NFUlRJT05TKXthc3NlcnQoZmFsc2UsIkNo
YXJhY3RlciBjb2RlICIrY2hyKyIgKCIrU3RyaW5nLmZyb21DaGFyQ29kZShjaHIpKyIpICBhdCBv
ZmZzZXQgIitpKyIgbm90IGluIDB4MDAtMHhGRi4iKX1jaHImPTI1NX1yZXQucHVzaChTdHJpbmcu
ZnJvbUNoYXJDb2RlKGNocikpfXJldHVybiByZXQuam9pbigiIil9dmFyIGRlY29kZUJhc2U2ND10
eXBlb2YgYXRvYj09PSJmdW5jdGlvbiI/YXRvYjooZnVuY3Rpb24oaW5wdXQpe3ZhciBrZXlTdHI9
IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIz
NDU2Nzg5Ky89Ijt2YXIgb3V0cHV0PSIiO3ZhciBjaHIxLGNocjIsY2hyMzt2YXIgZW5jMSxlbmMy
LGVuYzMsZW5jNDt2YXIgaT0wO2lucHV0PWlucHV0LnJlcGxhY2UoL1teQS1aYS16MC05XCtcL1w9
XS9nLCIiKTtkb3tlbmMxPWtleVN0ci5pbmRleE9mKGlucHV0LmNoYXJBdChpKyspKTtlbmMyPWtl
eVN0ci5pbmRleE9mKGlucHV0LmNoYXJBdChpKyspKTtlbmMzPWtleVN0ci5pbmRleE9mKGlucHV0
LmNoYXJBdChpKyspKTtlbmM0PWtleVN0ci5pbmRleE9mKGlucHV0LmNoYXJBdChpKyspKTtjaHIx
PWVuYzE8PDJ8ZW5jMj4+NDtjaHIyPShlbmMyJjE1KTw8NHxlbmMzPj4yO2NocjM9KGVuYzMmMyk8
PDZ8ZW5jNDtvdXRwdXQ9b3V0cHV0K1N0cmluZy5mcm9tQ2hhckNvZGUoY2hyMSk7aWYoZW5jMyE9
PTY0KXtvdXRwdXQ9b3V0cHV0K1N0cmluZy5mcm9tQ2hhckNvZGUoY2hyMil9aWYoZW5jNCE9PTY0
KXtvdXRwdXQ9b3V0cHV0K1N0cmluZy5mcm9tQ2hhckNvZGUoY2hyMyl9fXdoaWxlKGk8aW5wdXQu
bGVuZ3RoKTtyZXR1cm4gb3V0cHV0fSk7ZnVuY3Rpb24gaW50QXJyYXlGcm9tQmFzZTY0KHMpe2lm
KHR5cGVvZiBFTlZJUk9OTUVOVF9JU19OT0RFPT09ImJvb2xlYW4iJiZFTlZJUk9OTUVOVF9JU19O
T0RFKXt2YXIgYnVmO3RyeXtidWY9QnVmZmVyLmZyb20ocywiYmFzZTY0Iil9Y2F0Y2goXyl7YnVm
PW5ldyBCdWZmZXIocywiYmFzZTY0Iil9cmV0dXJuIG5ldyBVaW50OEFycmF5KGJ1Zi5idWZmZXIs
YnVmLmJ5dGVPZmZzZXQsYnVmLmJ5dGVMZW5ndGgpfXRyeXt2YXIgZGVjb2RlZD1kZWNvZGVCYXNl
NjQocyk7dmFyIGJ5dGVzPW5ldyBVaW50OEFycmF5KGRlY29kZWQubGVuZ3RoKTtmb3IodmFyIGk9
MDtpPGRlY29kZWQubGVuZ3RoOysraSl7Ynl0ZXNbaV09ZGVjb2RlZC5jaGFyQ29kZUF0KGkpfXJl
dHVybiBieXRlc31jYXRjaChfKXt0aHJvdyBuZXcgRXJyb3IoIkNvbnZlcnRpbmcgYmFzZTY0IHN0
cmluZyB0byBieXRlcyBmYWlsZWQuIil9fWZ1bmN0aW9uIHRyeVBhcnNlQXNEYXRhVVJJKGZpbGVu
YW1lKXtpZighaXNEYXRhVVJJKGZpbGVuYW1lKSl7cmV0dXJufXJldHVybiBpbnRBcnJheUZyb21C
YXNlNjQoZmlsZW5hbWUuc2xpY2UoZGF0YVVSSVByZWZpeC5sZW5ndGgpKX1mdW5jdGlvbiBpbnZv
a2VfZChpbmRleCl7dmFyIHNwPXN0YWNrU2F2ZSgpO3RyeXtyZXR1cm4gTW9kdWxlWyJkeW5DYWxs
X2QiXShpbmRleCl9Y2F0Y2goZSl7c3RhY2tSZXN0b3JlKHNwKTtpZih0eXBlb2YgZSE9PSJudW1i
ZXIiJiZlIT09ImxvbmdqbXAiKXRocm93IGU7TW9kdWxlWyJzZXRUaHJldyJdKDEsMCl9fWZ1bmN0
aW9uIGludm9rZV9kZGRkKGluZGV4LGExLGEyLGEzKXt2YXIgc3A9c3RhY2tTYXZlKCk7dHJ5e3Jl
dHVybiBNb2R1bGVbImR5bkNhbGxfZGRkZCJdKGluZGV4LGExLGEyLGEzKX1jYXRjaChlKXtzdGFj
a1Jlc3RvcmUoc3ApO2lmKHR5cGVvZiBlIT09Im51bWJlciImJmUhPT0ibG9uZ2ptcCIpdGhyb3cg
ZTtNb2R1bGVbInNldFRocmV3Il0oMSwwKX19ZnVuY3Rpb24gaW52b2tlX2RpKGluZGV4LGExKXt2
YXIgc3A9c3RhY2tTYXZlKCk7dHJ5e3JldHVybiBNb2R1bGVbImR5bkNhbGxfZGkiXShpbmRleCxh
MSl9Y2F0Y2goZSl7c3RhY2tSZXN0b3JlKHNwKTtpZih0eXBlb2YgZSE9PSJudW1iZXIiJiZlIT09
ImxvbmdqbXAiKXRocm93IGU7TW9kdWxlWyJzZXRUaHJldyJdKDEsMCl9fWZ1bmN0aW9uIGludm9r
ZV9pKGluZGV4KXt2YXIgc3A9c3RhY2tTYXZlKCk7dHJ5e3JldHVybiBNb2R1bGVbImR5bkNhbGxf
aSJdKGluZGV4KX1jYXRjaChlKXtzdGFja1Jlc3RvcmUoc3ApO2lmKHR5cGVvZiBlIT09Im51bWJl
ciImJmUhPT0ibG9uZ2ptcCIpdGhyb3cgZTtNb2R1bGVbInNldFRocmV3Il0oMSwwKX19ZnVuY3Rp
b24gaW52b2tlX2lpKGluZGV4LGExKXt2YXIgc3A9c3RhY2tTYXZlKCk7dHJ5e3JldHVybiBNb2R1
bGVbImR5bkNhbGxfaWkiXShpbmRleCxhMSl9Y2F0Y2goZSl7c3RhY2tSZXN0b3JlKHNwKTtpZih0
eXBlb2YgZSE9PSJudW1iZXIiJiZlIT09ImxvbmdqbXAiKXRocm93IGU7TW9kdWxlWyJzZXRUaHJl
dyJdKDEsMCl9fWZ1bmN0aW9uIGludm9rZV9paWkoaW5kZXgsYTEsYTIpe3ZhciBzcD1zdGFja1Nh
dmUoKTt0cnl7cmV0dXJuIE1vZHVsZVsiZHluQ2FsbF9paWkiXShpbmRleCxhMSxhMil9Y2F0Y2go
ZSl7c3RhY2tSZXN0b3JlKHNwKTtpZih0eXBlb2YgZSE9PSJudW1iZXIiJiZlIT09ImxvbmdqbXAi
KXRocm93IGU7TW9kdWxlWyJzZXRUaHJldyJdKDEsMCl9fWZ1bmN0aW9uIGludm9rZV9paWlkZChp
bmRleCxhMSxhMixhMyxhNCl7dmFyIHNwPXN0YWNrU2F2ZSgpO3RyeXtyZXR1cm4gTW9kdWxlWyJk
eW5DYWxsX2lpaWRkIl0oaW5kZXgsYTEsYTIsYTMsYTQpfWNhdGNoKGUpe3N0YWNrUmVzdG9yZShz
cCk7aWYodHlwZW9mIGUhPT0ibnVtYmVyIiYmZSE9PSJsb25nam1wIil0aHJvdyBlO01vZHVsZVsi
c2V0VGhyZXciXSgxLDApfX1mdW5jdGlvbiBpbnZva2VfaWlpaShpbmRleCxhMSxhMixhMyl7dmFy
IHNwPXN0YWNrU2F2ZSgpO3RyeXtyZXR1cm4gTW9kdWxlWyJkeW5DYWxsX2lpaWkiXShpbmRleCxh
MSxhMixhMyl9Y2F0Y2goZSl7c3RhY2tSZXN0b3JlKHNwKTtpZih0eXBlb2YgZSE9PSJudW1iZXIi
JiZlIT09ImxvbmdqbXAiKXRocm93IGU7TW9kdWxlWyJzZXRUaHJldyJdKDEsMCl9fWZ1bmN0aW9u
IGludm9rZV9paWlpaShpbmRleCxhMSxhMixhMyxhNCl7dmFyIHNwPXN0YWNrU2F2ZSgpO3RyeXty
ZXR1cm4gTW9kdWxlWyJkeW5DYWxsX2lpaWlpIl0oaW5kZXgsYTEsYTIsYTMsYTQpfWNhdGNoKGUp
e3N0YWNrUmVzdG9yZShzcCk7aWYodHlwZW9mIGUhPT0ibnVtYmVyIiYmZSE9PSJsb25nam1wIil0
aHJvdyBlO01vZHVsZVsic2V0VGhyZXciXSgxLDApfX1mdW5jdGlvbiBpbnZva2VfaWlpaWlpKGlu
ZGV4LGExLGEyLGEzLGE0LGE1KXt2YXIgc3A9c3RhY2tTYXZlKCk7dHJ5e3JldHVybiBNb2R1bGVb
ImR5bkNhbGxfaWlpaWlpIl0oaW5kZXgsYTEsYTIsYTMsYTQsYTUpfWNhdGNoKGUpe3N0YWNrUmVz
dG9yZShzcCk7aWYodHlwZW9mIGUhPT0ibnVtYmVyIiYmZSE9PSJsb25nam1wIil0aHJvdyBlO01v
ZHVsZVsic2V0VGhyZXciXSgxLDApfX1mdW5jdGlvbiBpbnZva2VfaWlpaWlpaShpbmRleCxhMSxh
MixhMyxhNCxhNSxhNil7dmFyIHNwPXN0YWNrU2F2ZSgpO3RyeXtyZXR1cm4gTW9kdWxlWyJkeW5D
YWxsX2lpaWlpaWkiXShpbmRleCxhMSxhMixhMyxhNCxhNSxhNil9Y2F0Y2goZSl7c3RhY2tSZXN0
b3JlKHNwKTtpZih0eXBlb2YgZSE9PSJudW1iZXIiJiZlIT09ImxvbmdqbXAiKXRocm93IGU7TW9k
dWxlWyJzZXRUaHJldyJdKDEsMCl9fWZ1bmN0aW9uIGludm9rZV9paWlpaWlpaWlpaShpbmRleCxh
MSxhMixhMyxhNCxhNSxhNixhNyxhOCxhOSxhMTApe3ZhciBzcD1zdGFja1NhdmUoKTt0cnl7cmV0
dXJuIE1vZHVsZVsiZHluQ2FsbF9paWlpaWlpaWlpaSJdKGluZGV4LGExLGEyLGEzLGE0LGE1LGE2
LGE3LGE4LGE5LGExMCl9Y2F0Y2goZSl7c3RhY2tSZXN0b3JlKHNwKTtpZih0eXBlb2YgZSE9PSJu
dW1iZXIiJiZlIT09ImxvbmdqbXAiKXRocm93IGU7TW9kdWxlWyJzZXRUaHJldyJdKDEsMCl9fWZ1
bmN0aW9uIGludm9rZV92KGluZGV4KXt2YXIgc3A9c3RhY2tTYXZlKCk7dHJ5e01vZHVsZVsiZHlu
Q2FsbF92Il0oaW5kZXgpfWNhdGNoKGUpe3N0YWNrUmVzdG9yZShzcCk7aWYodHlwZW9mIGUhPT0i
bnVtYmVyIiYmZSE9PSJsb25nam1wIil0aHJvdyBlO01vZHVsZVsic2V0VGhyZXciXSgxLDApfX1m
dW5jdGlvbiBpbnZva2VfdmkoaW5kZXgsYTEpe3ZhciBzcD1zdGFja1NhdmUoKTt0cnl7TW9kdWxl
WyJkeW5DYWxsX3ZpIl0oaW5kZXgsYTEpfWNhdGNoKGUpe3N0YWNrUmVzdG9yZShzcCk7aWYodHlw
ZW9mIGUhPT0ibnVtYmVyIiYmZSE9PSJsb25nam1wIil0aHJvdyBlO01vZHVsZVsic2V0VGhyZXci
XSgxLDApfX1mdW5jdGlvbiBpbnZva2VfdmlpKGluZGV4LGExLGEyKXt2YXIgc3A9c3RhY2tTYXZl
KCk7dHJ5e01vZHVsZVsiZHluQ2FsbF92aWkiXShpbmRleCxhMSxhMil9Y2F0Y2goZSl7c3RhY2tS
ZXN0b3JlKHNwKTtpZih0eXBlb2YgZSE9PSJudW1iZXIiJiZlIT09ImxvbmdqbXAiKXRocm93IGU7
TW9kdWxlWyJzZXRUaHJldyJdKDEsMCl9fWZ1bmN0aW9uIGludm9rZV92aWlpKGluZGV4LGExLGEy
LGEzKXt2YXIgc3A9c3RhY2tTYXZlKCk7dHJ5e01vZHVsZVsiZHluQ2FsbF92aWlpIl0oaW5kZXgs
YTEsYTIsYTMpfWNhdGNoKGUpe3N0YWNrUmVzdG9yZShzcCk7aWYodHlwZW9mIGUhPT0ibnVtYmVy
IiYmZSE9PSJsb25nam1wIil0aHJvdyBlO01vZHVsZVsic2V0VGhyZXciXSgxLDApfX1mdW5jdGlv
biBpbnZva2VfdmlpaWRkaShpbmRleCxhMSxhMixhMyxhNCxhNSxhNil7dmFyIHNwPXN0YWNrU2F2
ZSgpO3RyeXtNb2R1bGVbImR5bkNhbGxfdmlpaWRkaSJdKGluZGV4LGExLGEyLGEzLGE0LGE1LGE2
KX1jYXRjaChlKXtzdGFja1Jlc3RvcmUoc3ApO2lmKHR5cGVvZiBlIT09Im51bWJlciImJmUhPT0i
bG9uZ2ptcCIpdGhyb3cgZTtNb2R1bGVbInNldFRocmV3Il0oMSwwKX19ZnVuY3Rpb24gaW52b2tl
X3ZpaWlpKGluZGV4LGExLGEyLGEzLGE0KXt2YXIgc3A9c3RhY2tTYXZlKCk7dHJ5e01vZHVsZVsi
ZHluQ2FsbF92aWlpaSJdKGluZGV4LGExLGEyLGEzLGE0KX1jYXRjaChlKXtzdGFja1Jlc3RvcmUo
c3ApO2lmKHR5cGVvZiBlIT09Im51bWJlciImJmUhPT0ibG9uZ2ptcCIpdGhyb3cgZTtNb2R1bGVb
InNldFRocmV3Il0oMSwwKX19ZnVuY3Rpb24gaW52b2tlX3ZpaWlpaShpbmRleCxhMSxhMixhMyxh
NCxhNSl7dmFyIHNwPXN0YWNrU2F2ZSgpO3RyeXtNb2R1bGVbImR5bkNhbGxfdmlpaWlpIl0oaW5k
ZXgsYTEsYTIsYTMsYTQsYTUpfWNhdGNoKGUpe3N0YWNrUmVzdG9yZShzcCk7aWYodHlwZW9mIGUh
PT0ibnVtYmVyIiYmZSE9PSJsb25nam1wIil0aHJvdyBlO01vZHVsZVsic2V0VGhyZXciXSgxLDAp
fX1mdW5jdGlvbiBpbnZva2VfdmlpaWlpaShpbmRleCxhMSxhMixhMyxhNCxhNSxhNil7dmFyIHNw
PXN0YWNrU2F2ZSgpO3RyeXtNb2R1bGVbImR5bkNhbGxfdmlpaWlpaSJdKGluZGV4LGExLGEyLGEz
LGE0LGE1LGE2KX1jYXRjaChlKXtzdGFja1Jlc3RvcmUoc3ApO2lmKHR5cGVvZiBlIT09Im51bWJl
ciImJmUhPT0ibG9uZ2ptcCIpdGhyb3cgZTtNb2R1bGVbInNldFRocmV3Il0oMSwwKX19ZnVuY3Rp
b24gaW52b2tlX3ZpaWlpaWlpaWkoaW5kZXgsYTEsYTIsYTMsYTQsYTUsYTYsYTcsYTgsYTkpe3Zh
ciBzcD1zdGFja1NhdmUoKTt0cnl7TW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWlpaWkiXShpbmRleCxh
MSxhMixhMyxhNCxhNSxhNixhNyxhOCxhOSl9Y2F0Y2goZSl7c3RhY2tSZXN0b3JlKHNwKTtpZih0
eXBlb2YgZSE9PSJudW1iZXIiJiZlIT09ImxvbmdqbXAiKXRocm93IGU7TW9kdWxlWyJzZXRUaHJl
dyJdKDEsMCl9fU1vZHVsZS5hc21HbG9iYWxBcmc9eyJNYXRoIjpNYXRoLCJJbnQ4QXJyYXkiOklu
dDhBcnJheSwiSW50MTZBcnJheSI6SW50MTZBcnJheSwiSW50MzJBcnJheSI6SW50MzJBcnJheSwi
VWludDhBcnJheSI6VWludDhBcnJheSwiVWludDE2QXJyYXkiOlVpbnQxNkFycmF5LCJVaW50MzJB
cnJheSI6VWludDMyQXJyYXksIkZsb2F0MzJBcnJheSI6RmxvYXQzMkFycmF5LCJGbG9hdDY0QXJy
YXkiOkZsb2F0NjRBcnJheSwiTmFOIjpOYU4sIkluZmluaXR5IjpJbmZpbml0eSwiYnl0ZUxlbmd0
aCI6Ynl0ZUxlbmd0aH07TW9kdWxlLmFzbUxpYnJhcnlBcmc9eyJhYm9ydCI6YWJvcnQsImFzc2Vy
dCI6YXNzZXJ0LCJlbmxhcmdlTWVtb3J5IjplbmxhcmdlTWVtb3J5LCJnZXRUb3RhbE1lbW9yeSI6
Z2V0VG90YWxNZW1vcnksImFib3J0T25DYW5ub3RHcm93TWVtb3J5IjphYm9ydE9uQ2Fubm90R3Jv
d01lbW9yeSwiaW52b2tlX2QiOmludm9rZV9kLCJpbnZva2VfZGRkZCI6aW52b2tlX2RkZGQsImlu
dm9rZV9kaSI6aW52b2tlX2RpLCJpbnZva2VfaSI6aW52b2tlX2ksImludm9rZV9paSI6aW52b2tl
X2lpLCJpbnZva2VfaWlpIjppbnZva2VfaWlpLCJpbnZva2VfaWlpZGQiOmludm9rZV9paWlkZCwi
aW52b2tlX2lpaWkiOmludm9rZV9paWlpLCJpbnZva2VfaWlpaWkiOmludm9rZV9paWlpaSwiaW52
b2tlX2lpaWlpaSI6aW52b2tlX2lpaWlpaSwiaW52b2tlX2lpaWlpaWkiOmludm9rZV9paWlpaWlp
LCJpbnZva2VfaWlpaWlpaWlpaWkiOmludm9rZV9paWlpaWlpaWlpaSwiaW52b2tlX3YiOmludm9r
ZV92LCJpbnZva2VfdmkiOmludm9rZV92aSwiaW52b2tlX3ZpaSI6aW52b2tlX3ZpaSwiaW52b2tl
X3ZpaWkiOmludm9rZV92aWlpLCJpbnZva2VfdmlpaWRkaSI6aW52b2tlX3ZpaWlkZGksImludm9r
ZV92aWlpaSI6aW52b2tlX3ZpaWlpLCJpbnZva2VfdmlpaWlpIjppbnZva2VfdmlpaWlpLCJpbnZv
a2VfdmlpaWlpaSI6aW52b2tlX3ZpaWlpaWksImludm9rZV92aWlpaWlpaWlpIjppbnZva2Vfdmlp
aWlpaWlpaSwiX19fYXNzZXJ0X2ZhaWwiOl9fX2Fzc2VydF9mYWlsLCJfX19idWlsZEVudmlyb25t
ZW50IjpfX19idWlsZEVudmlyb25tZW50LCJfX19jbG9ja19nZXR0aW1lIjpfX19jbG9ja19nZXR0
aW1lLCJfX19sb2NrIjpfX19sb2NrLCJfX19tYXBfZmlsZSI6X19fbWFwX2ZpbGUsIl9fX3NldEVy
ck5vIjpfX19zZXRFcnJObywiX19fc3lzY2FsbDEwIjpfX19zeXNjYWxsMTAsIl9fX3N5c2NhbGwx
NDAiOl9fX3N5c2NhbGwxNDAsIl9fX3N5c2NhbGwxNDUiOl9fX3N5c2NhbGwxNDUsIl9fX3N5c2Nh
bGwxNDYiOl9fX3N5c2NhbGwxNDYsIl9fX3N5c2NhbGwxOTIiOl9fX3N5c2NhbGwxOTIsIl9fX3N5
c2NhbGwxOTUiOl9fX3N5c2NhbGwxOTUsIl9fX3N5c2NhbGwxOTciOl9fX3N5c2NhbGwxOTcsIl9f
X3N5c2NhbGwyMCI6X19fc3lzY2FsbDIwLCJfX19zeXNjYWxsMjIxIjpfX19zeXNjYWxsMjIxLCJf
X19zeXNjYWxsMyI6X19fc3lzY2FsbDMsIl9fX3N5c2NhbGwzMyI6X19fc3lzY2FsbDMzLCJfX19z
eXNjYWxsNSI6X19fc3lzY2FsbDUsIl9fX3N5c2NhbGw1NCI6X19fc3lzY2FsbDU0LCJfX19zeXNj
YWxsNiI6X19fc3lzY2FsbDYsIl9fX3N5c2NhbGw5MSI6X19fc3lzY2FsbDkxLCJfX191bmxvY2si
Ol9fX3VubG9jaywiX19leGl0IjpfX2V4aXQsIl9jbG9ja19nZXR0aW1lIjpfY2xvY2tfZ2V0dGlt
ZSwiX2Vtc2NyaXB0ZW5fYXNtX2NvbnN0X2lpaSI6X2Vtc2NyaXB0ZW5fYXNtX2NvbnN0X2lpaSwi
X2Vtc2NyaXB0ZW5fZ2V0X25vdyI6X2Vtc2NyaXB0ZW5fZ2V0X25vdywiX2Vtc2NyaXB0ZW5fZ2V0
X25vd19pc19tb25vdG9uaWMiOl9lbXNjcmlwdGVuX2dldF9ub3dfaXNfbW9ub3RvbmljLCJfZW1z
Y3JpcHRlbl9tZW1jcHlfYmlnIjpfZW1zY3JpcHRlbl9tZW1jcHlfYmlnLCJfZXhpdCI6X2V4aXQs
Il9nZXRlbnYiOl9nZXRlbnYsIl9nZXR0aW1lb2ZkYXkiOl9nZXR0aW1lb2ZkYXksIl9sbHZtX2Nl
aWxfZjY0IjpfbGx2bV9jZWlsX2Y2NCwiX2xsdm1fZmFic19mMzIiOl9sbHZtX2ZhYnNfZjMyLCJf
bGx2bV9mYWJzX2Y2NCI6X2xsdm1fZmFic19mNjQsIl9sbHZtX2Zsb29yX2Y2NCI6X2xsdm1fZmxv
b3JfZjY0LCJfbGx2bV9sb2cxMF9mMzIiOl9sbHZtX2xvZzEwX2YzMiwiX2xsdm1fbG9nMTBfZjY0
IjpfbGx2bV9sb2cxMF9mNjQsIl9sbHZtX2xvZzJfZjMyIjpfbGx2bV9sb2cyX2YzMiwiX2xsdm1f
bG9nMl9mNjQiOl9sbHZtX2xvZzJfZjY0LCJfbGx2bV90cmFwIjpfbGx2bV90cmFwLCJfbG9uZ2pt
cCI6X2xvbmdqbXAsIl9zZXRlbnYiOl9zZXRlbnYsIl90aW1lIjpfdGltZSwiX3RpbWVzIjpfdGlt
ZXMsIkRZTkFNSUNUT1BfUFRSIjpEWU5BTUlDVE9QX1BUUiwidGVtcERvdWJsZVB0ciI6dGVtcERv
dWJsZVB0ciwiU1RBQ0tUT1AiOlNUQUNLVE9QLCJTVEFDS19NQVgiOlNUQUNLX01BWH07Ly8gRU1T
Q1JJUFRFTl9TVEFSVF9BU00KK3ZhciBhc209KC8qKiBAc3VwcHJlc3Mge3VzZWxlc3NDb2RlfSAq
LyBmdW5jdGlvbihnbG9iYWwsZW52LGJ1ZmZlcikgeworImFsbW9zdCBhc20iO3ZhciBhPWdsb2Jh
bC5JbnQ4QXJyYXk7dmFyIGI9bmV3IGEoYnVmZmVyKTt2YXIgYz1nbG9iYWwuSW50MTZBcnJheTt2
YXIgZD1uZXcgYyhidWZmZXIpO3ZhciBlPWdsb2JhbC5JbnQzMkFycmF5O3ZhciBmPW5ldyBlKGJ1
ZmZlcik7dmFyIGc9Z2xvYmFsLlVpbnQ4QXJyYXk7dmFyIGg9bmV3IGcoYnVmZmVyKTt2YXIgaT1n
bG9iYWwuVWludDE2QXJyYXk7dmFyIGo9bmV3IGkoYnVmZmVyKTt2YXIgaz1nbG9iYWwuVWludDMy
QXJyYXk7dmFyIGw9bmV3IGsoYnVmZmVyKTt2YXIgbT1nbG9iYWwuRmxvYXQzMkFycmF5O3ZhciBu
PW5ldyBtKGJ1ZmZlcik7dmFyIG89Z2xvYmFsLkZsb2F0NjRBcnJheTt2YXIgcD1uZXcgbyhidWZm
ZXIpO3ZhciBxPWdsb2JhbC5ieXRlTGVuZ3RoO3ZhciByPWVudi5EWU5BTUlDVE9QX1BUUnwwO3Zh
ciBzPWVudi50ZW1wRG91YmxlUHRyfDA7dmFyIHQ9ZW52LlNUQUNLVE9QfDA7dmFyIHU9ZW52LlNU
QUNLX01BWHwwO3ZhciB2PTA7dmFyIHc9MDt2YXIgeD0wO3ZhciB5PTA7dmFyIHo9Z2xvYmFsLk5h
TixBPWdsb2JhbC5JbmZpbml0eTt2YXIgQj0wLEM9MCxEPTAsRT0wLEY9MC4wO3ZhciBHPTA7dmFy
IEg9Z2xvYmFsLk1hdGguZmxvb3I7dmFyIEk9Z2xvYmFsLk1hdGguYWJzO3ZhciBKPWdsb2JhbC5N
YXRoLnNxcnQ7dmFyIEs9Z2xvYmFsLk1hdGgucG93O3ZhciBMPWdsb2JhbC5NYXRoLmNvczt2YXIg
TT1nbG9iYWwuTWF0aC5zaW47dmFyIE49Z2xvYmFsLk1hdGgudGFuO3ZhciBPPWdsb2JhbC5NYXRo
LmFjb3M7dmFyIFA9Z2xvYmFsLk1hdGguYXNpbjt2YXIgUT1nbG9iYWwuTWF0aC5hdGFuO3ZhciBS
PWdsb2JhbC5NYXRoLmF0YW4yO3ZhciBTPWdsb2JhbC5NYXRoLmV4cDt2YXIgVD1nbG9iYWwuTWF0
aC5sb2c7dmFyIFU9Z2xvYmFsLk1hdGguY2VpbDt2YXIgVj1nbG9iYWwuTWF0aC5pbXVsO3ZhciBX
PWdsb2JhbC5NYXRoLm1pbjt2YXIgWD1nbG9iYWwuTWF0aC5tYXg7dmFyIFk9Z2xvYmFsLk1hdGgu
Y2x6MzI7dmFyIFo9ZW52LmFib3J0O3ZhciBfPWVudi5hc3NlcnQ7dmFyICQ9ZW52LmVubGFyZ2VN
ZW1vcnk7dmFyIGFhPWVudi5nZXRUb3RhbE1lbW9yeTt2YXIgYmE9ZW52LmFib3J0T25DYW5ub3RH
cm93TWVtb3J5O3ZhciBjYT1lbnYuaW52b2tlX2Q7dmFyIGRhPWVudi5pbnZva2VfZGRkZDt2YXIg
ZWE9ZW52Lmludm9rZV9kaTt2YXIgZmE9ZW52Lmludm9rZV9pO3ZhciBnYT1lbnYuaW52b2tlX2lp
O3ZhciBoYT1lbnYuaW52b2tlX2lpaTt2YXIgaWE9ZW52Lmludm9rZV9paWlkZDt2YXIgamE9ZW52
Lmludm9rZV9paWlpO3ZhciBrYT1lbnYuaW52b2tlX2lpaWlpO3ZhciBsYT1lbnYuaW52b2tlX2lp
aWlpaTt2YXIgbWE9ZW52Lmludm9rZV9paWlpaWlpO3ZhciBuYT1lbnYuaW52b2tlX2lpaWlpaWlp
aWlpO3ZhciBvYT1lbnYuaW52b2tlX3Y7dmFyIHBhPWVudi5pbnZva2Vfdmk7dmFyIHFhPWVudi5p
bnZva2VfdmlpO3ZhciByYT1lbnYuaW52b2tlX3ZpaWk7dmFyIHNhPWVudi5pbnZva2VfdmlpaWRk
aTt2YXIgdGE9ZW52Lmludm9rZV92aWlpaTt2YXIgdWE9ZW52Lmludm9rZV92aWlpaWk7dmFyIHZh
PWVudi5pbnZva2VfdmlpaWlpaTt2YXIgd2E9ZW52Lmludm9rZV92aWlpaWlpaWlpO3ZhciB4YT1l
bnYuX19fYXNzZXJ0X2ZhaWw7dmFyIHlhPWVudi5fX19idWlsZEVudmlyb25tZW50O3ZhciB6YT1l
bnYuX19fY2xvY2tfZ2V0dGltZTt2YXIgQWE9ZW52Ll9fX2xvY2s7dmFyIEJhPWVudi5fX19tYXBf
ZmlsZTt2YXIgQ2E9ZW52Ll9fX3NldEVyck5vO3ZhciBEYT1lbnYuX19fc3lzY2FsbDEwO3ZhciBF
YT1lbnYuX19fc3lzY2FsbDE0MDt2YXIgRmE9ZW52Ll9fX3N5c2NhbGwxNDU7dmFyIEdhPWVudi5f
X19zeXNjYWxsMTQ2O3ZhciBIYT1lbnYuX19fc3lzY2FsbDE5Mjt2YXIgSWE9ZW52Ll9fX3N5c2Nh
bGwxOTU7dmFyIEphPWVudi5fX19zeXNjYWxsMTk3O3ZhciBLYT1lbnYuX19fc3lzY2FsbDIwO3Zh
ciBMYT1lbnYuX19fc3lzY2FsbDIyMTt2YXIgTWE9ZW52Ll9fX3N5c2NhbGwzO3ZhciBOYT1lbnYu
X19fc3lzY2FsbDMzO3ZhciBPYT1lbnYuX19fc3lzY2FsbDU7dmFyIFBhPWVudi5fX19zeXNjYWxs
NTQ7dmFyIFFhPWVudi5fX19zeXNjYWxsNjt2YXIgUmE9ZW52Ll9fX3N5c2NhbGw5MTt2YXIgU2E9
ZW52Ll9fX3VubG9jazt2YXIgVGE9ZW52Ll9fZXhpdDt2YXIgVWE9ZW52Ll9jbG9ja19nZXR0aW1l
O3ZhciBWYT1lbnYuX2Vtc2NyaXB0ZW5fYXNtX2NvbnN0X2lpaTt2YXIgV2E9ZW52Ll9lbXNjcmlw
dGVuX2dldF9ub3c7dmFyIFhhPWVudi5fZW1zY3JpcHRlbl9nZXRfbm93X2lzX21vbm90b25pYzt2
YXIgWWE9ZW52Ll9lbXNjcmlwdGVuX21lbWNweV9iaWc7dmFyIFphPWVudi5fZXhpdDt2YXIgX2E9
ZW52Ll9nZXRlbnY7dmFyICRhPWVudi5fZ2V0dGltZW9mZGF5O3ZhciBhYj1lbnYuX2xsdm1fY2Vp
bF9mNjQ7dmFyIGJiPWVudi5fbGx2bV9mYWJzX2YzMjt2YXIgY2I9ZW52Ll9sbHZtX2ZhYnNfZjY0
O3ZhciBkYj1lbnYuX2xsdm1fZmxvb3JfZjY0O3ZhciBlYj1lbnYuX2xsdm1fbG9nMTBfZjMyO3Zh
ciBmYj1lbnYuX2xsdm1fbG9nMTBfZjY0O3ZhciBnYj1lbnYuX2xsdm1fbG9nMl9mMzI7dmFyIGhi
PWVudi5fbGx2bV9sb2cyX2Y2NDt2YXIgaWI9ZW52Ll9sbHZtX3RyYXA7dmFyIGpiPWVudi5fbG9u
Z2ptcDt2YXIga2I9ZW52Ll9zZXRlbnY7dmFyIGxiPWVudi5fdGltZTt2YXIgbWI9ZW52Ll90aW1l
czt2YXIgbmI9MC4wO2Z1bmN0aW9uIG9iKG5ld0J1ZmZlcil7aWYocShuZXdCdWZmZXIpJjE2Nzc3
MjE1fHxxKG5ld0J1ZmZlcik8PTE2Nzc3MjE1fHxxKG5ld0J1ZmZlcik+MjE0NzQ4MzY0OClyZXR1
cm4gZmFsc2U7Yj1uZXcgYShuZXdCdWZmZXIpO2Q9bmV3IGMobmV3QnVmZmVyKTtmPW5ldyBlKG5l
d0J1ZmZlcik7aD1uZXcgZyhuZXdCdWZmZXIpO2o9bmV3IGkobmV3QnVmZmVyKTtsPW5ldyBrKG5l
d0J1ZmZlcik7bj1uZXcgbShuZXdCdWZmZXIpO3A9bmV3IG8obmV3QnVmZmVyKTtidWZmZXI9bmV3
QnVmZmVyO3JldHVybiB0cnVlfQorLy8gRU1TQ1JJUFRFTl9TVEFSVF9GVU5DUworZnVuY3Rpb24g
alIoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wO2Q9ZlthKzQ+PjJdfDA7aWYoISgoZHwwKSE9MD8o
YjMoZCxjKXwwKT09MDowKSlpZigoYlthKzkyPj4wXXwwKT09MSlhPWlSKGZbYSs4OD4+Ml18MCxj
KXwwO2Vsc2UgYT0wO3JldHVybiBhfDB9ZnVuY3Rpb24ga1IoYSxiLGMsZCxlKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPWR8MDtlPWV8MDtyZXR1cm4gMH1mdW5jdGlvbiBsUihhKXthPWF8MDt2YXIgYz0w
LjAsZT0wLGc9MCxoPTAsaT0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MDttPURIKChmW2Er
MTAwPj4yXTw8MikrNHwwKXwwO289YSs5MnwwO2Zbbz4+Ml09bTttPURIKChmW2ErMTA0Pj4yXTw8
MikrNHwwKXwwO2ZbYSs5Nj4+Ml09bTtuPWErMzJ8MDtsPWZbYSs4ND4+Ml18MDt3aGlsZSgxKXtr
PWZbbD4+Ml18MDtpZighaylicmVhazthPWRbays4Mj4+MV18MDtjPStwW2srNzI+PjNdO2lmKGE8
PDE2Pj4xNj09MSlnPX5+YztlbHNle2c9fn4oKGMtKyhWKChiW24+PjBdfDApKy0xfDAsKGEmNjU1
MzUpKy0xfDApfDApKS8rKGEmNjU1MzUpKTtnPShnfDApPjE/ZzoxfWg9ZFtrKzgwPj4xXXwwO2M9
K3Bbays2ND4+M107aWYoaDw8MTY+PjE2PT0xKWk9fn5jO2Vsc2V7aT1+figoYy0rKFYoKGJbbj4+
MF18MCkrLTF8MCwoaCY2NTUzNSkrLTF8MCl8MCkpLysoaCY2NTUzNSkpO2k9KGl8MCk+MT9pOjF9
cT1qW2srODY+PjFdfDA7ZT1xKyhhJjY1NTM1KXwwO2E9cTt3aGlsZSgxKXtpZihhPj4+MD49ZT4+
PjApYnJlYWs7cT0oZltvPj4yXXwwKSsoYTw8Mil8MDtyPWZbcT4+Ml18MDtmW3E+PjJdPShyfDAp
PihnfDApP3I6ZzthPWErMXwwfWE9altrKzg0Pj4xXXwwO2U9YSsoaCY2NTUzNSl8MDt3aGlsZSgx
KXtpZihhPj4+MD49ZT4+PjApYnJlYWs7cj1tKyhhPDwyKXwwO3E9ZltyPj4yXXwwO2Zbcj4+Ml09
KHF8MCk+KGl8MCk/cTppO2E9YSsxfDB9bD1sKzR8MH1yZXR1cm59ZnVuY3Rpb24gbVIoYSl7YT1h
fDA7dmFyIGI9MCxjPTA7Yz10O3Q9dCsxNnwwO2I9YztpZihhPj4+MDwyMSlhPWZbNTE1MzYrKGE8
PDIpPj4yXXwwO2Vsc2V7ZltiPj4yXT1hO2QkKDE4OTEwNCwxNDU2NjUsYil8MDthPTE4OTEwNH10
PWM7cmV0dXJuIGF8MH1mdW5jdGlvbiBuUihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9
MCxlPTAsZz0wLGg9MCxpPTAsaz0wLGw9MCxtPTAsbj0wO2k9YSsxMDR8MDtrPWErMTAwfDA7Zz1j
KzE2fDA7ZD0wO2U9MDt3aGlsZSgxKXtpZigoZHwwKT4oZltpPj4yXXwwKSlicmVhaztoPWp6KGMs
bVIoZCl8MCwxKXwwO0p6KGgsMTQ1NzE3LDMwNCwxKXwwO2w9aCsxNnwwO2ZbKGZbbD4+Ml18MCkr
MTc2Pj4yXT0wO249REgoKGZbaz4+Ml08PDIpKzR8MCl8MDttPWZbbD4+Ml18MDtmW20rMTcyPj4y
XT1uO2ZbbSsxODQ+PjJdPTA7bT1ESCgoZltrPj4yXTw8MikrNHwwKXwwO2ZbKGZbbD4+Ml18MCkr
MTgwPj4yXT1tO2lmKCFlKWZbKGZbZz4+Ml18MCkrMTkyPj4yXT1oO2Vsc2UgZlsoZltlKzE2Pj4y
XXwwKSsxNjQ+PjJdPWg7ZD1kKzF8MDtlPWh9Zz1iKzE2fDA7ZD0wO2U9MDt3aGlsZSgxKXtpZigo
ZHwwKT4oZltrPj4yXXwwKSlicmVhaztoPWp6KGIsbVIoZCl8MCwxKXwwO0p6KGgsMTQ1NzE3LDMw
NCwxKXwwO249aCsxNnwwO2ZbKGZbbj4+Ml18MCkrMTc2Pj4yXT0wO2w9REgoKGZbaT4+Ml08PDIp
KzR8MCl8MDttPWZbbj4+Ml18MDtmW20rMTcyPj4yXT1sO2ZbbSsxODQ+PjJdPTA7bT1ESCgoZltp
Pj4yXTw8MikrNHwwKXwwO2ZbKGZbbj4+Ml18MCkrMTgwPj4yXT1tO2lmKCFlKWZbKGZbZz4+Ml18
MCkrMTkyPj4yXT1oO2Vsc2UgZlsoZltlKzE2Pj4yXXwwKSsxNjQ+PjJdPWg7ZD1kKzF8MDtlPWh9
ZD1mW2ErODQ+PjJdfDA7d2hpbGUoMSl7ZT1mW2Q+PjJdfDA7aWYoIWUpYnJlYWs7bj1lKzg0fDA7
bT1qeihjLG1SKGpbbj4+MV18MCl8MCwwKXwwO249anooYyxtUigoaltlKzgwPj4xXXwwKSsoaltu
Pj4xXXwwKXwwKXwwLDApfDA7b1IoYyxtLG4sfn4rcFtlKzY0Pj4zXSk7bj1lKzg2fDA7bT1qeihi
LG1SKGpbbj4+MV18MCl8MCwwKXwwO249anooYixtUigoaltlKzgyPj4xXXwwKSsoaltuPj4xXXww
KXwwKXwwLDApfDA7b1IoYixtLG4sfn4rcFtlKzcyPj4zXSk7ZD1kKzR8MH1wUihjKTtwUihiKTty
ZXR1cm59ZnVuY3Rpb24gb1IoYSxiLGMsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZT1lfDA7dmFyIGc9
MCxoPTA7Zz1feChhLGIsYywwLDApfDA7aWYoIWcpe2g9X3goYSxiLGMsMCwxKXwwO0p6KGgsMTQ1
NzMwLDE3NiwxKXwwO2RbKGZbaCsxNj4+Ml18MCkrMTcwPj4xXT1lO2I9YisxNnwwO2E9ZltiPj4y
XXwwO2c9ZlthKzE4MD4+Ml18MDtpZighZylhPUVIKChmW2ErMTg0Pj4yXTw8MikrOHwwKXwwO2Vs
c2UgYT1HSChnLChmW2ErMTg0Pj4yXTw8MikrOHwwKXwwO2U9ZltiPj4yXXwwO2ZbZSsxODA+PjJd
PWE7ZT1lKzE4NHwwO2c9ZltlPj4yXXwwO2ZbZT4+Ml09ZysxO2ZbYSsoZzw8Mik+PjJdPWg7Yj1m
W2I+PjJdfDA7ZlsoZltiKzE4MD4+Ml18MCkrKGZbYisxODQ+PjJdPDwyKT4+Ml09MDtiPWMrMTZ8
MDthPWZbYj4+Ml18MDtnPWZbYSsxNzI+PjJdfDA7aWYoIWcpYT1FSCgoZlthKzE3Nj4+Ml08PDIp
Kzh8MCl8MDtlbHNlIGE9R0goZywoZlthKzE3Nj4+Ml08PDIpKzh8MCl8MDtlPWZbYj4+Ml18MDtm
W2UrMTcyPj4yXT1hO2U9ZSsxNzZ8MDtjPWZbZT4+Ml18MDtmW2U+PjJdPWMrMTtmW2ErKGM8PDIp
Pj4yXT1oO2g9ZltiPj4yXXwwO2ZbKGZbaCsxNzI+PjJdfDApKyhmW2grMTc2Pj4yXTw8Mik+PjJd
PTB9ZWxzZXtoPShmW2crMTY+PjJdfDApKzE3MHwwO2M9altoPj4xXXwwO2RbaD4+MV09KGN8MCk+
KGV8MCk/YzplfXJldHVybn1mdW5jdGlvbiBwUihhKXthPWF8MDt2YXIgYj0wLGM9MCxlPTAsZz0w
LGg9MCxpPTA7Yj1mWyhmW2ErMTY+PjJdfDApKzE5Mj4+Ml18MDt3aGlsZSgxKXtlPWIrMTZ8MDto
PWZbKGZbZT4+Ml18MCkrMTY0Pj4yXXwwO2lmKCFoKWJyZWFrO2lmKCEoX3goYSxiLGgsMCwwKXww
KSl7Zz1feChhLGIsaCwwLDEpfDA7SnooZywxNDU3MzAsMTc2LDEpfDA7ZFsoZltnKzE2Pj4yXXww
KSsxNzA+PjFdPTA7Yj1mW2U+PjJdfDA7Yz1mW2IrMTgwPj4yXXwwO2lmKCFjKWI9RUgoKGZbYisx
ODQ+PjJdPDwyKSs4fDApfDA7ZWxzZSBiPUdIKGMsKGZbYisxODQ+PjJdPDwyKSs4fDApfDA7aT1m
W2U+PjJdfDA7ZltpKzE4MD4+Ml09YjtpPWkrMTg0fDA7Yz1mW2k+PjJdfDA7ZltpPj4yXT1jKzE7
ZltiKyhjPDwyKT4+Ml09ZztlPWZbZT4+Ml18MDtmWyhmW2UrMTgwPj4yXXwwKSsoZltlKzE4ND4+
Ml08PDIpPj4yXT0wO2U9aCsxNnwwO2I9ZltlPj4yXXwwO2M9ZltiKzE3Mj4+Ml18MDtpZighYyli
PUVIKChmW2IrMTc2Pj4yXTw8MikrOHwwKXwwO2Vsc2UgYj1HSChjLChmW2IrMTc2Pj4yXTw8Mikr
OHwwKXwwO2M9ZltlPj4yXXwwO2ZbYysxNzI+PjJdPWI7Yz1jKzE3NnwwO2k9ZltjPj4yXXwwO2Zb
Yz4+Ml09aSsxO2ZbYisoaTw8Mik+PjJdPWc7aT1mW2U+PjJdfDA7ZlsoZltpKzE3Mj4+Ml18MCkr
KGZbaSsxNzY+PjJdPDwyKT4+Ml09MH1iPWh9cmV0dXJufWZ1bmN0aW9uIHFSKGEsYixjKXthPWF8
MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wO2c9YSs5MnwwO2Q9MDtlPTA7Yj1mWyhm
WyhmW2IrMTY+PjJdfDApKzE5Mj4+Ml18MCkrMTY+PjJdfDA7d2hpbGUoMSl7Yj1mW2IrMTY0Pj4y
XXwwO2lmKCFiKWJyZWFrO2I9ZltiKzE2Pj4yXXwwO2g9YisyMzJ8MDtmWyhmW2c+PjJdfDApKyhl
PDwyKT4+Ml09KGZbaD4+Ml18MCktZDtkPWZbaD4+Ml18MDtlPWUrMXwwfWE9YSs5NnwwO2Q9MDtl
PTA7Yj1mWyhmWyhmW2MrMTY+PjJdfDApKzE5Mj4+Ml18MCkrMTY+PjJdfDA7d2hpbGUoMSl7Yj1m
W2IrMTY0Pj4yXXwwO2lmKCFiKWJyZWFrO2I9ZltiKzE2Pj4yXXwwO2g9YisyMzJ8MDtmWyhmW2E+
PjJdfDApKyhlPDwyKT4+Ml09KGZbaD4+Ml18MCktZDtkPWZbaD4+Ml18MDtlPWUrMXwwfXJldHVy
bn1mdW5jdGlvbiByUihhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MDtoPXQ7dD10KzE2
fDA7Zz1oKzR8MDtjPWg7ZltjPj4yXT1mWzE4MDY3XTtkPWZbYSsxMDA+PjJdfDA7aWYoKGR8MCkh
PTE/KGU9YSsxMDR8MCwoZltlPj4yXXwwKSE9MSk6MCl7ZD1ESCgoZDw8MikrNHwwKXwwO2ZbYSs5
Mj4+Ml09ZDtlPURIKChmW2U+PjJdPDwyKSs0fDApfDA7ZlthKzk2Pj4yXT1lO2JbZz4+MF09Yltj
Pj4wXXwwO2JbZysxPj4wXT1iW2MrMT4+MF18MDtiW2crMj4+MF09YltjKzI+PjBdfDA7YltnKzM+
PjBdPWJbYyszPj4wXXwwO2U9ZXkoMTQ1NzQzLGcsMCl8MDtiW2c+PjBdPWJbYz4+MF18MDtiW2cr
MT4+MF09YltjKzE+PjBdfDA7YltnKzI+PjBdPWJbYysyPj4wXXwwO2JbZyszPj4wXT1iW2MrMz4+
MF18MDtnPWV5KDE0NTc0OCxnLDApfDA7SnooZSwxNDU3NTMsMjgwLDEpfDA7SnooZywxNDU3NTMs
MjgwLDEpfDA7blIoYSxlLGcpO29JKGUsMiwyMTQ3NDgzNjQ3KXwwO29JKGcsMiwyMTQ3NDgzNjQ3
KXwwO3FSKGEsZSxnKTtzUihlLGcpfWVsc2UgbFIoYSk7dD1oO3JldHVybn1mdW5jdGlvbiBzUihh
LGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MDtjPShmW2IrMTY+PjJdfDApKzE5MnwwO3do
aWxlKDEpe2M9ZltjPj4yXXwwO2lmKCFjKWJyZWFrO2U9YysxNnwwO2M9ZltlPj4yXXwwO2Q9Zltj
KzE3Mj4+Ml18MDtpZihkKXtNXyhkKTtjPWZbZT4+Ml18MH1kPWZbYysxODA+PjJdfDA7aWYoZCl7
TV8oZCk7Yz1mW2U+PjJdfDB9Yz1jKzE2NHwwfWl5KGEpfDA7aXkoYil8MDtyZXR1cm59ZnVuY3Rp
b24gdFIoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9
MCxtPTAsbj0wLG89MC4wLHE9MC4wO249dDt0PXQrMjcyfDA7bD1uKzIzMnwwO209bisyNjR8MDtp
PW4rMjAwfDA7aj1uKzEyOHwwO2c9bjtmW2orNDg+PjJdPWE7c3dpdGNoKHl6KGEpfDApe2Nhc2Ug
MDp7ZD1mW2ErNjA+PjJdfDA7aD1qKzUyfDA7ZltoPj4yXT1kO2JyZWFrfWNhc2UgMTp7ZD1ueihh
KXwwO2g9ais1MnwwO2ZbaD4+Ml09ZDticmVha31jYXNlIDI6e2Q9bnooZlsoKGZbYT4+Ml0mM3ww
KT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwKXwwO2g9ais1MnwwO2ZbaD4+Ml09ZDticmVha31kZWZh
dWx0Ont9fWs9ZltkKzYwPj4yXXwwO3BbaiszMj4+M109K3BbYysxNj4+M107ZltqKzE2Pj4yXT1m
W2MrND4+Ml07ZltqKzIwPj4yXT1mW2MrOD4+Ml07ZltqKzQwPj4yXT0wO2U9RFQoZltjPj4yXXww
LG0sail8MDtpZighZSl7YXgobCwxMjgsZyk7YltjKzgyPj4wXT0wO2Q9djIodVIoYSxsKXwwKXww
O2ZbYz4+Ml09ZDtpZigoZltjKzEyPj4yXXwwKT09MSlkPV9NKGQpfDA7ZWxzZSBkPVhNKGQsZlto
Pj4yXXwwKXwwO01fKGZbYz4+Ml18MCk7ZltjPj4yXT1kO3JIKGZbKGZbaysxNj4+Ml18MCkrMTQ0
Pj4yXXwwLGMpO2V4KGwpO2Q9ZlttPj4yXXwwfWVsc2V7ZD1lKzR8MDtpZigoYltkPj4wXXwwKT09
MSl7aWYoKGZbKGZbZT4+Ml18MCkrMjQ+PjJdfDApPT0wP3ZSKGEpfDA6MCl7YT12Mih2UihhKXww
KXwwO2ZbKGZbZT4+Ml18MCkrMjQ+PjJdPWF9az13UihrLGZbZT4+Ml18MCwwLGopfDA7ZlttPj4y
XT1mW20+PjJdfGs7az1mW2U+PjJdfDA7cT0rcFtrKzY0Pj4zXSouNTtvPStwW2srNzI+PjNdKi41
O3hSKGksLXEsLW8scSxvKTtrPWZbZT4+Ml18MDtmW2w+PjJdPWZbaT4+Ml07ZltsKzQ+PjJdPWZb
aSs0Pj4yXTtmW2wrOD4+Ml09ZltpKzg+PjJdO2ZbbCsxMj4+Ml09ZltpKzEyPj4yXTtmW2wrMTY+
PjJdPWZbaSsxNj4+Ml07ZltsKzIwPj4yXT1mW2krMjA+PjJdO2ZbbCsyND4+Ml09ZltpKzI0Pj4y
XTtmW2wrMjg+PjJdPWZbaSsyOD4+Ml07eVIoayxsLDE1KX1lbHNle3pSKGZbKGZbaysxNj4+Ml18
MCkrMTQ0Pj4yXXwwLGZbZT4+Ml18MCxqKTtsPWZbZT4+Ml18MDtvPStwW2wrMjQ+PjNdKi41O3E9
K3BbbCszMj4+M10qLjU7eFIoaSwtbywtcSxvLHEpO2w9KGZbZT4+Ml18MCkrOHwwO2ZbbD4+Ml09
ZltpPj4yXTtmW2wrND4+Ml09ZltpKzQ+PjJdO2ZbbCs4Pj4yXT1mW2krOD4+Ml07ZltsKzEyPj4y
XT1mW2krMTI+PjJdO2ZbbCsxNj4+Ml09ZltpKzE2Pj4yXTtmW2wrMjA+PjJdPWZbaSsyMD4+Ml07
ZltsKzI0Pj4yXT1mW2krMjQ+PjJdO2ZbbCsyOD4+Ml09ZltpKzI4Pj4yXX1wW2MrMjQ+PjNdPStw
W2krMTY+PjNdLStwW2k+PjNdO3BbYyszMj4+M109K3BbaSsyND4+M10tK3BbaSs4Pj4zXTtmW2Mr
NzI+PjJdPWU7aWYoKGJbZD4+MF18MCk9PTEpe01fKGZbYz4+Ml18MCk7bD12MigxNDg3NDYpfDA7
ZltjPj4yXT1sfWQ9ZlttPj4yXXwwfXQ9bjtyZXR1cm4gZHwwfWZ1bmN0aW9uIHVSKGEsYyl7YT1h
fDA7Yz1jfDA7dmFyIGQ9MDthOmRvIHN3aXRjaCh5eihhKXwwKXtjYXNlIDA6e2R4KGMsQXkoYSl8
MCl8MDticmVha31jYXNlIDE6e2R4KGMsQXkoYSl8MCl8MDticmVha31jYXNlIDI6e2R4KGMsQXko
ZlsoKGZbYT4+Ml0mM3wwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDApfDApfDA7ZD1hKy00OHwwO2R4
KGMsQXkoZlsoKGZbYT4+Ml0mM3wwKT09Mj9hOmQpKzQwPj4yXXwwKXwwKXwwO2lmKCEobnkobnoo
ZlsoKGZbYT4+Ml0mM3wwKT09Mj9hOmQpKzQwPj4yXXwwKXwwKXwwKSl7ZHgoYywxNDg4ODIpfDA7
YnJlYWsgYX1lbHNle2R4KGMsMTQ2MDA4KXwwO2JyZWFrIGF9fWRlZmF1bHQ6e319d2hpbGUoMCk7
ZD1jKzR8MDthPWZbZD4+Ml18MDtpZihhPj4+MD49KGZbYys4Pj4yXXwwKT4+PjApe2J4KGMsMSl8
MDthPWZbZD4+Ml18MH1iW2E+PjBdPTA7Yz1mW2M+PjJdfDA7ZltkPj4yXT1jO3JldHVybiBjfDB9
ZnVuY3Rpb24gdlIoYSl7YT1hfDA7dmFyIGM9MCxkPTA7Yz1HeChhLDE0NTk5OSl8MDtpZighKChj
fDApIT0wPyhiW2M+PjBdfDApIT0wOjApKWQ9MztkbyBpZigoZHwwKT09Myl7Yz1HeChhLDE0Nzk1
OCl8MDtpZihjfDA/YltjPj4wXXwwOjApYnJlYWs7Yz0wfXdoaWxlKDApO3JldHVybiBjfDB9ZnVu
Y3Rpb24gd1IoYSxjLGUsZyl7YT1hfDA7Yz1jfDA7ZT1lfDA7Zz1nfDA7dmFyIGk9MCxrPTAsbD0w
LG09MCxuPTAsbz0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wO3c9dDt0PXQrMTZ8MDt1PXcrOHww
O3M9dzt2PWMrMTA4fDA7aT1mW3Y+PjJdfDA7aWYoaXwwKVJRKGcsaSwxOTI0MDApO2ZbYys4MD4+
Ml09ZTtpPURSKGEsYyxnKXwwO3E9YyszNnwwO2E9ZFtxPj4xXXwwO2lmKCEoYSYxMjgpKWJbYysz
Mj4+MF09MjtlPWMrMzN8MDtpZighKGEmMzIpKWJbZT4+MF09MTtyUihjKTtsPWZbYysxMDQ+PjJd
fDA7bj1iW2MrMzI+PjBdfDA7YT1WKGwrMXwwLG4pfDA7bT1oW2U+PjBdPDwxO289ZltjKzEwMD4+
Ml18MDtuPVYobysxfDAsbil8MDtrPWMrOTZ8MDthPW0rYXwwO2U9MDt3aGlsZSgxKXtpZigoZXww
KT49KGx8MCkpYnJlYWs7YT0oZlsoZltrPj4yXXwwKSsoZTw8Mik+PjJdfDApK2F8MDtlPWUrMXww
fWw9Yys5MnwwO2U9bittfDA7az0wO3doaWxlKDEpe2lmKChrfDApPj0ob3wwKSlicmVhaztlPShm
WyhmW2w+PjJdfDApKyhrPDwyKT4+Ml18MCkrZXwwO2s9aysxfDB9bD1jKzM4fDA7ZG8gaWYoZFtx
Pj4xXSYxKXtxPWRbbD4+MV18MDtrPXEmNjU1MzU7aWYocTw8MTY+PjE2PyhyPWRbYys0MD4+MV18
MCxyPDwxNj4+MTYpOjApe2lmKCEoKGF8MCk+KGt8MCl8KGV8MCk+KHImNjU1MzV8MCkpKXtlPTA7
YT0wO2JyZWFrfVl3KDAsMTQ1Nzk5LHMpfDA7aT0xO2U9MDthPTA7YnJlYWt9WXcoMCwxNDU4MzMs
dSl8MDtpPTF9d2hpbGUoMCk7dT1qW2w+PjFdfDA7cFtjKzY0Pj4zXT0rKCgoYXwwKT4odXwwKT9h
OnUpfDApO3U9altjKzQwPj4xXXwwO3BbYys3Mj4+M109KygoKGV8MCk+KHV8MCk/ZTp1KXwwKTtp
ZihmW3Y+PjJdfDApWlEoZywxOTI0MDApO3Q9dztyZXR1cm4gaXwwfWZ1bmN0aW9uIHhSKGEsYixj
LGQsZSl7YT1hfDA7Yj0rYjtjPStjO2Q9K2Q7ZT0rZTtwW2E+PjNdPWI7cFthKzg+PjNdPWM7cFth
KzE2Pj4zXT1kO3BbYSsyND4+M109ZTtyZXR1cm59ZnVuY3Rpb24geVIoYSxjLGUpe2E9YXwwO2M9
Y3wwO2U9ZXwwO3ZhciBnPTAsaT0wLGs9MCxsPTAuMCxtPTAuMCxuPTAsbz0wLHE9MC4wLHI9MC4w
LHM9MCx1PTAsdj0wLjAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9
MCxIPTAsST0wLEo9MCxLPTAuMCxMPTA7Sj10O3Q9dCs2NHwwO0g9SiszMnwwO0k9SjtGPWZbYSs4
ND4+Ml18MDtrPWZbYSs4MD4+Ml18MDtpZigoa3wwPyhnPWZbaysyND4+Ml18MCxnfDApOjApPyhp
PWErMjR8MCwoZltpPj4yXXwwKT09MCk6MCl7Rz12MihnKXwwO2ZbaT4+Ml09R31HPWErNDh8MDtp
PWMrMTZ8MDttPStwW2k+PjNdO2w9K3BbYz4+M107Zz1+fihtLWwtKyh+fitwW2ErNjQ+PjNdfDAp
KTtpZigoZ3wwKTw9LTEpeGEoMTQ1NzY2LDE0NTYxMiwxNzYxLDE0NTc3Nik7bj1jKzI0fDA7dj0r
cFtuPj4zXTtvPWMrOHwwO3E9K3Bbbz4+M107cj0rKH5+K3BbYSs3Mj4+M118MCk7cz1+fih2LXEt
cik7aWYoKHN8MCk8PS0xKXhhKDE0NTc4OSwxNDU2MTIsMTc2NCwxNDU3NzYpO3U9ZFthKzM2Pj4x
XXwwO2s9dSY2NTUzNTthOmRvIGlmKGsmMSl7YjpkbyBpZigoZ3wwKT4wKXN3aXRjaChrJjYpe2Nh
c2UgNDp7cFtpPj4zXT1sK3I7YnJlYWsgYn1jYXNlIDI6e0s9KyhnfDApO3BbaT4+M109bStLO2w9
bCtLO3BbYz4+M109bDticmVhayBifWRlZmF1bHQ6e0s9KyhnPj4+MXwwKTtsPWwrSztwW2M+PjNd
PWw7cFtpPj4zXT1tLUs7YnJlYWsgYn19d2hpbGUoMCk7aWYoKHN8MCk+MClzd2l0Y2godSYyNCl7
Y2FzZSAxNjp7dj1xK3I7cFtuPj4zXT12O3M9MDtnPTA7YnJlYWsgYX1jYXNlIDg6e0s9KyhzfDAp
O3Y9ditLO3Bbbj4+M109djtwW28+PjNdPXErSztzPTA7Zz0wO2JyZWFrIGF9ZGVmYXVsdDp7Sz0r
KHM+Pj4xfDApO3Bbbz4+M109cStLO3Y9di1LO3Bbbj4+M109djtzPTA7Zz0wO2JyZWFrIGF9fWVs
c2V7cz0wO2c9MH19d2hpbGUoMCk7bT0rKGhbYSszMz4+MF18MCk7RD1hKzMyfDA7dT1iW0Q+PjBd
fDA7cT0rKHU8PDI0Pj4yNCk7RT1hKzEwNHwwO2s9ZltFPj4yXXwwO289KGd8MCkvKGt8MCl8MDtu
PWctKFYobyxrKXwwKXwwO249fn4oKChufDApPi0xPy41Oi0uNSkrICsobnwwKSk7Qz1hKzk2fDA7
dT11PDwyND4+MjQ7bz1vK3V8MDtnPX5+KGwrbStxKTtpPTA7d2hpbGUoMSl7aWYoKGl8MCk+KGt8
MCkpYnJlYWs7Qj0oZltDPj4yXXwwKSsoaTw8Mil8MDtrPWZbQj4+Ml18MDtmW0I+PjJdPWc7Zz1v
K2crKChpfDApPChufDApJjEpK2t8MDtpPWkrMXwwO2s9ZltFPj4yXXwwfUI9YSsxMDB8MDtrPWZb
Qj4+Ml18MDtuPShzfDApLyhrfDApfDA7bz1zLShWKG4sayl8MCl8MDtvPX5+KCgob3wwKT4tMT8u
NTotLjUpKyArKG98MCkpO0E9YSs5MnwwO249bit1fDA7Zz1+figtbS1xK3YpO2k9MDt3aGlsZSgx
KXtpZigoaXwwKT4oa3wwKSlicmVhazt6PShmW0E+PjJdfDApKyhpPDwyKXwwO2s9Zlt6Pj4yXXww
O2Zbej4+Ml09ZztnPWctbisoKChpfDApPChvfDApKTw8MzE+PjMxKS1rfDA7aT1pKzF8MDtrPWZb
Qj4+Ml18MH13PShlfDApPT0wO3g9SSsxNnwwO3k9SSsyNHwwO3o9SSs4fDA7cz1GO3doaWxlKDEp
e3U9ZltzPj4yXXwwO2lmKCF1KWJyZWFrO2c9ZFt1Kzg0Pj4xXXwwO2lmKHcpe2s9ZyY2NTUzNTtv
PWpbdSs4Nj4+MV18MDtnPTA7aT1rO2s9KGpbdSs4MD4+MV18MCkra3wwO249bztvPShqW3UrODI+
PjFdfDApK298MH1lbHNle0Y9Zzw8MTY+PjE2PT0wPzg6MDtuPWRbdSs4Nj4+MV18MDtGPW48PDE2
Pj4xNj09MD9GfDQ6RjtpPWcmNjU1MzU7az0oalt1KzgwPj4xXXwwKStpfDA7bj1uJjY1NTM1O289
KGpbdSs4Mj4+MV18MCkrbnwwO2c9KChrfDApPT0oZltFPj4yXXwwKT9GfDI6Ril8KG98MCk9PShm
W0I+PjJdfDApfUw9ZltDPj4yXXwwO3BbST4+M109KyhmW0wrKGk8PDIpPj4yXXwwKTtGPWJbRD4+
MF18MDtwW3g+PjNdPSsoKGZbTCsoazw8Mik+PjJdfDApLUZ8MCk7az1mW0E+PjJdfDA7cFt5Pj4z
XT0rKGZbaysobjw8Mik+PjJdfDApO3Bbej4+M109KygoZltrKyhvPDwyKT4+Ml18MCkrRnwwKTtm
W0g+PjJdPWZbST4+Ml07ZltIKzQ+PjJdPWZbSSs0Pj4yXTtmW0grOD4+Ml09ZltJKzg+PjJdO2Zb
SCsxMj4+Ml09ZltJKzEyPj4yXTtmW0grMTY+PjJdPWZbSSsxNj4+Ml07ZltIKzIwPj4yXT1mW0kr
MjA+PjJdO2ZbSCsyND4+Ml09ZltJKzI0Pj4yXTtmW0grMjg+PjJdPWZbSSsyOD4+Ml07QVIodSxI
LGcmZSk7cz1zKzR8MH1iW2ErMzU+PjBdPWU7ZltHPj4yXT1mW2M+PjJdO2ZbRys0Pj4yXT1mW2Mr
ND4+Ml07ZltHKzg+PjJdPWZbYys4Pj4yXTtmW0crMTI+PjJdPWZbYysxMj4+Ml07ZltHKzE2Pj4y
XT1mW2MrMTY+PjJdO2ZbRysyMD4+Ml09ZltjKzIwPj4yXTtmW0crMjQ+PjJdPWZbYysyND4+Ml07
ZltHKzI4Pj4yXT1mW2MrMjg+PjJdO3Q9SjtyZXR1cm59ZnVuY3Rpb24gelIoYSxjLGUpe2E9YXww
O2M9Y3wwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MC4wLGo9MC4wLGs9MCxsPTAsbT0wLjAsbj0wLjAs
bz0wLHE9MC4wLHI9MC4wLHM9MC4wLHU9MC4wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxD
PTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9
MC4wLFI9MC4wLFM9MC4wO1A9dDt0PXQrMTEyfDA7ST1QKzQ4fDA7Sj1QKzE2fDA7Sz1QO2ZbSj4+
Ml09MDtmW0orND4+Ml09MDtmW0orOD4+Ml09MDtmW0orMTI+PjJdPTA7ZltKKzE2Pj4yXT0wO2Zb
SisyMD4+Ml09MDtmW0orMjQ+PjJdPTA7ZltKKzI4Pj4yXT0wO0w9Yys0fDA7TT1lKzMyfDA7Tj1K
KzE2fDA7Tz1lKzE2fDA7bz1kW0w+PjFdfDA7bD1vPDwxNj4+MTY7Zz0wO2k9LTEuMDtrPTA7YTp3
aGlsZSgxKXtpZigoa3wwKT49KGx8MCkpe2c9MTticmVha31oPWZbYz4+Ml18MDtpZigoZFtoKyhr
KjI0fDApKzQ+PjFdfDApPjEpe2c9MDticmVha31oPWZbKGZbaCsoayoyNHwwKT4+Ml18MCkrND4+
Ml18MDtkbyBpZihoKXtpZihmW2grMjQ+PjJdJjEyN3wwKXtnPTA7YnJlYWsgYX1qPStwW2grMTY+
PjNdO2lmKCEoaj4wLjApKWo9K3BbTT4+M107cFtOPj4zXT1qO2g9ZltoPj4yXXwwO2lmKCFoKXto
PWZbTz4+Ml18MDtmW0o+PjJdPWg7YnJlYWt9ZWxzZXtmW0o+PjJdPWg7YnJlYWt9fWVsc2V7aj0r
cFtNPj4zXTtwW04+PjNdPWo7aD1mW08+PjJdfDA7ZltKPj4yXT1ofXdoaWxlKDApO2lmKCEoaT09
LTEuMCkpe2lmKGohPWkpe2c9MDticmVha319ZWxzZSBpPWo7aWYoZyl7aWYoSCQoaCxnKXwwKXtn
PTA7YnJlYWt9fWVsc2UgZz1oO2s9aysxfDB9YltjKzY+PjBdPWc7RT1lKzQ4fDA7Rj1lKzE2fDA7
Rz1lKzIwfDA7SD1KKzR8MDt3PWUrNDB8MDt4PUorMjR8MDt5PWErMTQ0fDA7ej1JKzR8MDt2PUsr
OHwwO0E9SSsxNnwwO0I9SSsyNHwwO0M9SSs4fDA7RD1JKzEyfDA7ZT0oZ3wwKT09MDtqPTAuMDty
PTAuMDtzPTAuMDt1PTAuMDtsPTA7Zz1vO3doaWxlKDEpe2lmKChsfDApPj0oZzw8MTY+PjE2fDAp
KWJyZWFrO249MC4wO3E9MC4wO2s9MDtpPTAuMDtqPTAuMDtnPWZbYz4+Ml18MDt3aGlsZSgxKXtp
Zigoa3wwKT49KGRbZysobCoyNHwwKSs0Pj4xXXwwKSlicmVhaztoPXlIKGZbKGZbZysobCoyNHww
KT4+Ml18MCkrKGsqNTZ8MCk+PjJdfDAsZltFPj4yXXwwKXwwO2ZbST4+Ml09aDtoPShmW2M+PjJd
fDApKyhsKjI0fDApfDA7Zz1mWyhmW2g+PjJdfDApKyhrKjU2fDApKzQ+PjJdfDA7ZG8gaWYoZyl7
Zz1mW2crMjQ+PjJdJjEyNztpZighZylnPWZbeD4+Ml0mLTEyOHxmW3c+PjJdJjEyNztlbHNlIGc9
Zlt4Pj4yXSYtMTI4fGc7Zlt4Pj4yXT1nO2g9ZlsoZltoPj4yXXwwKSsoayo1NnwwKSs0Pj4yXXww
O209K3BbaCsxNj4+M107aWYoIShtPjAuMCkpbT0rcFtNPj4zXTtwW04+PjNdPW07Zz1mW2g+PjJd
fDA7aWYoIWcpZltKPj4yXT1mW08+PjJdO2Vsc2UgZltKPj4yXT1nO2c9ZltoKzQ+PjJdfDA7aWYo
IWcpe2ZbSD4+Ml09ZltHPj4yXTticmVha31lbHNle2ZbSD4+Ml09ZzticmVha319ZWxzZXtwW04+
PjNdPStwW00+PjNdO2ZbSj4+Ml09ZltGPj4yXTtmW0g+PjJdPWZbRz4+Ml07Zlt4Pj4yXT1mW3g+
PjJdJi0xMjh8Zlt3Pj4yXSYxMjd9d2hpbGUoMCk7Zz1mW3k+PjJdfDA7Zz13YltmW2c+PjJdJjYz
XShnLEosMSl8MDtmW3o+PjJdPWc7RkwoSyxhLEkpO1I9K3BbSz4+M107bT0rcFt2Pj4zXTtNXyhm
WyhmWyhmW2M+PjJdfDApKyhsKjI0fDApPj4yXXwwKSsoayo1NnwwKT4+Ml18MCk7Zz1mW2M+PjJd
fDA7bz1mW2crKGwqMjR8MCk+PjJdfDA7ZltvKyhrKjU2fDApPj4yXT1mW0k+PjJdO3Bbbysoayo1
NnwwKSszMj4+M109UjtwW28rKGsqNTZ8MCkrMTY+PjNdPStwW0E+PjNdO3Bbbysoayo1NnwwKSsy
ND4+M109K3BbQj4+M107ZltvKyhrKjU2fDApKzQ+PjJdPWZbej4+Ml07ZltvKyhrKjU2fDApKzg+
PjJdPWZbQz4+Ml07ZltvKyhrKjU2fDApKzEyPj4yXT1mW0Q+PjJdO1E9K3BbTj4+M107Uz0rcFtC
Pj4zXTtuPVM+bj9TOm47cT1SK3E7az1rKzF8MDtpPVE+aT9ROmk7aj1tPmo/bTpqfXBbZysobCoy
NHwwKSs4Pj4zXT1xO2g9KGx8MCk9PTA7ZG8gaWYoZSlpZihoKXtTPWktbjtwW2crMTY+PjNdPVM7
bT1pO2k9UzticmVha31lbHNle1M9cy11K2ktbjtwW2crKGwqMjR8MCkrMTY+PjNdPVM7bT1pO2k9
UzticmVha31lbHNle2c9ZysobCoyNHwwKSsxNnwwO2lmKGgpe3BbZz4+M109aTttPWo7YnJlYWt9
ZWxzZXtwW2c+PjNdPWo7bT1qO2k9ajticmVha319d2hpbGUoMCk7cj1xPnI/cTpyO3M9bStzO3U9
aSt1O2w9bCsxfDA7Zz1kW0w+PjFdfDB9cFtjKzI0Pj4zXT1yO3BbYyszMj4+M109Zzw8MTY+PjE2
PT0xP2o6czt0PVA7cmV0dXJufWZ1bmN0aW9uIEFSKGEsYyxlKXthPWF8MDtjPWN8MDtlPWV8MDt2
YXIgZz0wLGk9MCxqPTAuMCxrPTAuMCxsPTAuMCxtPTAuMCxuPTAuMCxvPTAuMCxxPTAscj0wLHM9
MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MC4wLEE9MC4wO3k9dDt0PXQrNjR8MDt2PXkrMzJ8MDt4
PXk7aT1hKzI0fDA7aWYoKGZbaT4+Ml18MCk9PTA/KGc9ZlsoZlthKzk2Pj4yXXwwKSsyND4+Ml18
MCxnfDApOjApe3c9djIoZyl8MDtmW2k+PjJdPXd9cz1hKzM2fDA7dz1kW3M+PjFdfDA7Zz13JjY1
NTM1O2E6ZG8gaWYoZyYxKXtqPStwW2ErNjQ+PjNdO289K3BbYSs3Mj4+M107aT1jKzE2fDA7az0r
cFtpPj4zXTttPStwW2M+PjNdO2w9ay1tLWo7YjpkbyBpZihsPjAuMClzd2l0Y2goZyY2KXtjYXNl
IDQ6e2s9bStqO3BbaT4+M109aztqPW07YnJlYWsgYn1jYXNlIDI6e2s9bCtrO3BbaT4+M109aztq
PWwrbTtwW2M+PjNdPWo7YnJlYWsgYn1kZWZhdWx0OntuPWwqLjU7aj1uK207cFtjPj4zXT1qO2s9
ay1uO3BbaT4+M109azticmVhayBifX1lbHNlIGo9bTt3aGlsZSgwKTtnPWMrMjR8MDtuPStwW2c+
PjNdO2k9Yys4fDA7bD0rcFtpPj4zXTttPW4tbC1vO2lmKG0+MC4wKXN3aXRjaCh3JjI0KXtjYXNl
IDE2OnttPWwrbztwW2c+PjNdPW07YnJlYWsgYX1jYXNlIDg6e289bStuO3BbZz4+M109bztsPW0r
bDtwW2k+PjNdPWw7bT1vO2JyZWFrIGF9ZGVmYXVsdDp7bT1tKi41O2w9bStsO3BbaT4+M109bDtt
PW4tbTtwW2c+PjNdPW07YnJlYWsgYX19ZWxzZSBtPW59ZWxzZXtqPStwW2M+PjNdO2w9K3BbYys4
Pj4zXTtrPStwW2MrMTY+PjNdO209K3BbYysyND4+M119d2hpbGUoMCk7cj1hKzQ4fDA7ZltyPj4y
XT1mW2M+PjJdO2Zbcis0Pj4yXT1mW2MrND4+Ml07ZltyKzg+PjJdPWZbYys4Pj4yXTtmW3IrMTI+
PjJdPWZbYysxMj4+Ml07ZltyKzE2Pj4yXT1mW2MrMTY+PjJdO2ZbcisyMD4+Ml09ZltjKzIwPj4y
XTtmW3IrMjQ+PjJdPWZbYysyND4+Ml07ZltyKzI4Pj4yXT1mW2MrMjg+PjJdO2JbYSszNT4+MF09
ZTtBPSsoaFthKzMzPj4wXXwwKTt6PSsoaFthKzM0Pj4wXXwwKTtvPXorQTtuPW8rajtwW3g+PjNd
PW47bz1vK2w7cj14Kzh8MDtwW3I+PjNdPW87bD1rLUEtejtjPXgrMTZ8MDtwW2M+PjNdPWw7bT1t
LUEtejtxPXgrMjR8MDtwW3E+PjNdPW07aT1hKzg4fDA7c3dpdGNoKGJbYSs5Mj4+MF18MCl7Y2Fz
ZSAxOnt3PWZbaT4+Ml18MDtmW3Y+PjJdPWZbeD4+Ml07Zlt2KzQ+PjJdPWZbeCs0Pj4yXTtmW3Yr
OD4+Ml09Zlt4Kzg+PjJdO2ZbdisxMj4+Ml09Zlt4KzEyPj4yXTtmW3YrMTY+PjJdPWZbeCsxNj4+
Ml07Zlt2KzIwPj4yXT1mW3grMjA+PjJdO2ZbdisyND4+Ml09Zlt4KzI0Pj4yXTtmW3YrMjg+PjJd
PWZbeCsyOD4+Ml07eVIodyx2LGUpO2JyZWFrfWNhc2UgMzp7Zz1mW2k+PjJdfDA7aj0rcFtnKzI0
Pj4zXTtrPWwtbi0rcFtnKzE2Pj4zXTtjOmRvIGlmKGs+MC4wKXN3aXRjaCh3JjYpe2Nhc2UgNDp7
cFtjPj4zXT1sLWs7YnJlYWsgY31jYXNlIDI6e3BbeD4+M109aytuO2JyZWFrIGN9ZGVmYXVsdDpi
cmVhayBjfXdoaWxlKDApO2o9bS1vLWo7ZDpkbyBpZihqPjAuMClzd2l0Y2godyYyNCl7Y2FzZSAx
Njp7cFtxPj4zXT1tLWo7YnJlYWsgZH1jYXNlIDg6e3Bbcj4+M109aitvO2JyZWFrIGR9ZGVmYXVs
dDpicmVhayBkfXdoaWxlKDApO2Zbdj4+Ml09Zlt4Pj4yXTtmW3YrND4+Ml09Zlt4KzQ+PjJdO2Zb
dis4Pj4yXT1mW3grOD4+Ml07Zlt2KzEyPj4yXT1mW3grMTI+PjJdO2ZbdisxNj4+Ml09Zlt4KzE2
Pj4yXTtmW3YrMjA+PjJdPWZbeCsyMD4+Ml07Zlt2KzI0Pj4yXT1mW3grMjQ+PjJdO2ZbdisyOD4+
Ml09Zlt4KzI4Pj4yXTtCUihnLHYpO2JyZWFrfWRlZmF1bHQ6e2c9ZltpPj4yXXwwO2o9K3BbZysz
Mj4+M107az1sLW4tK3BbZysyND4+M107ZTpkbyBpZihrPjAuMD8odT13JjYsdTw8MTY+PjE2IT02
KTowKXN3aXRjaCh1Jjcpe2Nhc2UgNDp7cFtjPj4zXT1sLWs7YnJlYWsgZX1jYXNlIDI6e3BbeD4+
M109aytuO2JyZWFrIGV9ZGVmYXVsdDp7QT1rKi41O3BbeD4+M109QStuO3BbYz4+M109bC1BO2Jy
ZWFrIGV9fXdoaWxlKDApO2o9bS1vLWo7ZjpkbyBpZihqPjAuMClzd2l0Y2godyYyNCl7Y2FzZSAx
Njp7cFtxPj4zXT1tLWo7YnJlYWsgZn1jYXNlIDg6e3Bbcj4+M109aitvO2JyZWFrIGZ9ZGVmYXVs
dDp7QT1qKi41O3Bbcj4+M109QStvO3BbcT4+M109bS1BO2JyZWFrIGZ9fXdoaWxlKDApO3c9Zys4
fDA7Zlt3Pj4yXT1mW3g+PjJdO2Zbdys0Pj4yXT1mW3grND4+Ml07Zlt3Kzg+PjJdPWZbeCs4Pj4y
XTtmW3crMTI+PjJdPWZbeCsxMj4+Ml07Zlt3KzE2Pj4yXT1mW3grMTY+PjJdO2ZbdysyMD4+Ml09
Zlt4KzIwPj4yXTtmW3crMjQ+PjJdPWZbeCsyND4+Ml07Zlt3KzI4Pj4yXT1mW3grMjg+PjJdO3g9
ZFtzPj4xXSY3Njg7Q1IoZltpPj4yXXwwLCh4JjEwMjMpPT01MTI/MTA4Oih4JjEwMjMpPT0yNTY/
MTE0OjExMCl9fXQ9eTtyZXR1cm59ZnVuY3Rpb24gQlIoYSxiKXthPWF8MDtiPWJ8MDtmW2E+PjJd
PWZbYj4+Ml07ZlthKzQ+PjJdPWZbYis0Pj4yXTtmW2ErOD4+Ml09ZltiKzg+PjJdO2ZbYSsxMj4+
Ml09ZltiKzEyPj4yXTtmW2ErMTY+PjJdPWZbYisxNj4+Ml07ZlthKzIwPj4yXT1mW2IrMjA+PjJd
O2ZbYSsyND4+Ml09ZltiKzI0Pj4yXTtmW2ErMjg+PjJdPWZbYisyOD4+Ml07cmV0dXJufWZ1bmN0
aW9uIENSKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGU9MCxnPTAsaD0wO2c9ZFthKzQ+PjFdfDA7ZT0w
O3doaWxlKDEpe2lmKChlfDApPj0oZ3wwKSlicmVhaztoPShmW2E+PjJdfDApKyhlKjI0fDApKzZ8
MDtpZighKGJbaD4+MF18MCkpYltoPj4wXT1jO2U9ZSsxfDB9cmV0dXJufWZ1bmN0aW9uIERSKGEs
YyxlKXthPWF8MDtjPWN8MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTAsaz0wLGw9MCxtPTAsbj0wLG89
MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTA7bD1jKzg0fDA7dD1mW2w+PjJdfDA7dT1FSSgp
fDA7dj1IUigpfDA7aD0wO2c9MDtrPUp3KHQpfDA7d2hpbGUoMSl7aWYoIWspYnJlYWs7aT1Kdyhm
W2srOD4+Ml18MCl8MDt3aGlsZSgxKXtpZighaSlicmVhaztpPWZbaT4+Ml18MDtoPWgrMXwwfWc9
ZysxfDA7aWYoYltrKzEyPj4wXXwwKUxSKHYsZyk7az1mW2s+PjJdfDB9Zz1ESCgoaDw8MikrNHww
KXwwO2ZbbD4+Ml09ZztoPTA7aT0wO2s9MDtxPTA7cj1Kdyh0KXwwO3doaWxlKDEpe2lmKCFyKWJy
ZWFrO3M9cSY2NTUzNTtwPTA7bz1KdyhmW3IrOD4+Ml18MCl8MDt3aGlsZSgxKXtpZighbylicmVh
aztuPWZbbys4Pj4yXXwwO2ZbZz4+Ml09bjtrPUVSKGEsbixjLGUpfDB8aztsPUZSKHUscSxwLG4p
fDA7ZFtuKzg2Pj4xXT1zO2Rbbis4ND4+MV09bDtsPWwrKGpbbis4MD4+MV18MCl8MDttPXErKGpb
bis4Mj4+MV18MCl8MDtpZihNUih2LG0pfDApe3A9bisxMDB8MDtiW3A+PjBdPWJbcD4+MF18Mn1w
PWw7Zz1nKzR8MDtvPWZbbz4+Ml18MDtoPShsfDApPihofDApP2w6aDtpPShtfDApPihpfDApP206
aX1xPXErMXwwO3I9ZltyPj4yXXwwfWZbYysxMDA+PjJdPWk7ZltjKzEwND4+Ml09aDtIdyh0KXww
O0h3KHYpfDA7SEkodSk7cmV0dXJuIGt8MH1mdW5jdGlvbiBFUihhLGMsZSxnKXthPWF8MDtjPWN8
MDtlPWV8MDtnPWd8MDt2YXIgaT0wLjAsaz0wLjAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0w
LHU9MCx2PTAuMDt1PXQ7dD10KzE2fDA7cz11Kzh8MDtyPXU7ZltjKzk2Pj4yXT1lO289YyszNnww
O209ZFtvPj4xXXwwO2lmKCEobSY2NCkpe2lmKCEoZFtlKzM2Pj4xXSY2NCkpbD0yO2Vsc2UgbD1i
W2UrMzQ+PjBdfDA7YltjKzM0Pj4wXT1sfWlmKCEobSYzMikpe2w9YltlKzg4Pj4wXXwwO2lmKGw8
PDI0Pj4yNDw9LTEpaWYoIShkW2UrMzY+PjFdJjMyKSlsPTE7ZWxzZSBsPWJbZSszMz4+MF18MDti
W2MrMzM+PjBdPWx9bD1jKzg4fDA7bj1jKzkyfDA7c3dpdGNoKGJbbj4+MF18MCl7Y2FzZSAxOntt
PXdSKGEsZltsPj4yXXwwLGMsZyl8MDtlPWZbbD4+Ml18MDtsPW07bT1lKzY0fDA7ZT1lKzcyfDA7
YnJlYWt9Y2FzZSAzOnttPUdSKGZbbD4+Ml18MCxnKXwwO2U9ZltsPj4yXXwwO2w9bTttPWUrMTZ8
MDtlPWUrMjR8MDticmVha31kZWZhdWx0Ont6UihmWyhmW2ErMTY+PjJdfDApKzE0ND4+Ml18MCxm
W2w+PjJdfDAsZyk7ZT1mW2w+PjJdfDA7bD0wO209ZSsyNHwwO2U9ZSszMnwwfX1pPSsoKGhbYysz
Mz4+MF18MCkrKGhbYyszND4+MF18MCk8PDF8MCk7az0rcFttPj4zXStpO2k9K3BbZT4+M10raTtl
PWMrMzh8MDtkbyBpZihkW28+PjFdJjEpe209ZFtlPj4xXXwwO2lmKG08PDE2Pj4xNj8ocT1kW2Mr
NDA+PjFdfDAscTw8MTY+PjE2KTowKXtpZighKGs+KyhtJjY1NTM1KXxpPisocSY2NTUzNSkpKXtr
PTAuMDtpPTAuMDticmVha31pZigoYltuPj4wXXwwKT09Myl7az0wLjA7aT0wLjA7YnJlYWt9WXco
MCwxNDU4ODQscil8MDtsPTE7az0wLjA7aT0wLjA7YnJlYWt9WXcoMCwxNDU5MTcscyl8MDtsPTF9
d2hpbGUoMCk7dj0rKGpbZT4+MV18MCk7cFtjKzY0Pj4zXT1rPnY/azp2O2s9KyhqW2MrNDA+PjFd
fDApO3BbYys3Mj4+M109aT5rP2k6azt0PXU7cmV0dXJuIGx8MH1mdW5jdGlvbiBGUihhLGIsYyxk
KXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wO2g9ZCs4MHwwO2c9
KGpbaD4+MV18MCkrLTF8MDtlPTE7YTp3aGlsZSgxKXtmPShlfDApPT0wO2I6d2hpbGUoMSl7aWYo
ZilicmVhayBhO2U9ZytjfDA7d2hpbGUoMSl7aWYoKGV8MCk8KGN8MCkpYnJlYWsgYjtpZihNSShh
LGUsYil8MClicmVhaztlPWUrLTF8MH1jPWUrMXwwfWU9MH1kPWQrODJ8MDtlPWM7d2hpbGUoMSl7
aWYoKGV8MCk+PShjKyhqW2g+PjFdfDApfDApKWJyZWFrO2Y9Yjt3aGlsZSgxKXtpZigoZnwwKT49
KChqW2Q+PjFdfDApK2J8MCkpYnJlYWs7S0koYSxlLGYpO2Y9ZisxfDB9ZT1lKzF8MH1yZXR1cm4g
Y3wwfWZ1bmN0aW9uIEdSKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MC4wLGU9MC4wLGc9MCxoPTAs
aT0wLGo9MCxrPTA7az10O3Q9dCsxNnwwO2k9aztoPWsrOHwwO2M9Yys1MnwwO2c9YSszMnwwO0xD
KGgsZltjPj4yXXwwLGZbZz4+Ml18MCk7aj1mW2g+PjJdfDA7aD1mW2grND4+Ml18MDtpZigoaCZq
fDApPT0tMSl7ZltpPj4yXT1mW2c+PjJdO1l3KDEsMTQ1OTY3LGkpfDA7Yz0xO2U9MC4wO2Q9MC4w
fWVsc2V7YlsoZlsoZltjPj4yXXwwKSsxNj4+Ml18MCkrMTE0Pj4wXT0xO2M9MDtlPSsoaHwwKTtk
PSsoanwwKX1mW2E+PjJdPTA7ZlthKzQ+PjJdPTA7ZlthKzg+PjJdPTA7ZlthKzEyPj4yXT0wO3Bb
YSsxNj4+M109ZDtwW2ErMjQ+PjNdPWU7dD1rO3JldHVybiBjfDB9ZnVuY3Rpb24gSFIoKXtyZXR1
cm4gTHcoNzMyMDAsZlsxODAwMV18MCl8MH1mdW5jdGlvbiBJUihhLGIsYyl7YT1hfDA7Yj1ifDA7
Yz1jfDA7Yz1ESCgxMil8MDtmW2M+PjJdPWZbYj4+Ml07cmV0dXJuIGN8MH1mdW5jdGlvbiBKUihh
LGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7TV8oYik7cmV0dXJufWZ1bmN0aW9uIEtSKGEsYixjLGQp
e2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2I9ZltiPj4yXXwwO2Q9ZltjPj4yXXwwO3JldHVybiAo
KGJ8MCk+KGR8MCk/MTooKGJ8MCk8KGR8MCkpPDwzMT4+MzEpfDB9ZnVuY3Rpb24gTFIoYSxiKXth
PWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MDtjPXQ7dD10KzE2fDA7ZD1jO2ZbZD4+Ml09Yjt3YltmW2E+
PjJdJjYzXShhLGQsMSl8MDt0PWM7cmV0dXJufWZ1bmN0aW9uIE1SKGEsYil7YT1hfDA7Yj1ifDA7
dmFyIGM9MCxkPTA7Yz10O3Q9dCsxNnwwO2Q9YztmW2Q+PjJdPWI7Yj0od2JbZlthPj4yXSY2M10o
YSxkLDUxMil8MCkhPTAmMTt0PWM7cmV0dXJuIGJ8MH1mdW5jdGlvbiBOUihhKXthPWF8MDt2YXIg
Yj0wO2lmKCEoZls0ODQ4OV18MCkpe2I9REgoKGE8PDIpKzR8MCl8MDtmWzQ4NDg5XT1iO2ZbYj4+
Ml09MTkzOTYwO2ZbNDg1MDBdPWF9Zls0ODUwMV09MDtyZXR1cm59ZnVuY3Rpb24gT1IoKXtNXyhm
WzQ4NDg5XXwwKTtmWzQ4NDg5XT0wO2ZbNDg1MDFdPTA7cmV0dXJufWZ1bmN0aW9uIFBSKCl7Zls0
ODUwMV09MDtyZXR1cm59ZnVuY3Rpb24gUVIoKXt2YXIgYT0wLGI9MCxjPTA7Yj1mWzQ4NTAxXXww
O2M9Zls0ODQ4OV18MDthPTE7d2hpbGUoMSl7aWYoKGF8MCk+KGJ8MCkpe2E9NTticmVha31pZigo
ZlsoZltjKyhhPDwyKT4+Ml18MCkrND4+Ml18MCk9PShhfDApKWE9YSsxfDA7ZWxzZXthPTQ7YnJl
YWt9fWlmKChhfDApPT00KXhhKDE0NjY2NCwxNDYwMTEsNTksMTQ2MDE3KTtlbHNlIGlmKChhfDAp
PT01KXJldHVybn1mdW5jdGlvbiBSUihhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wLGc9MCxo
PTA7ZT1mWzQ4NDg5XXwwO2c9ZltlKyhhPDwyKT4+Ml18MDtoPWZbZz4+Ml18MDt3aGlsZSgxKXti
PShhfDApLzJ8MDtjPWZbZSsoYjw8Mik+PjJdfDA7ZD1lKyhhPDwyKXwwO2lmKChmW2M+PjJdfDAp
Pj0oaHwwKSlicmVhaztmW2Q+PjJdPWM7ZltjKzQ+PjJdPWE7YT1ifWZbZD4+Ml09ZztmW2crND4+
Ml09YTtyZXR1cm59ZnVuY3Rpb24gU1IoYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yz10O3Q9dCsxNnww
O2I9Zls0ODUwMV18MDtpZigoYnwwKT09KGZbNDg1MDBdfDApKXtZdygxLDE0NjAyNSxjKXwwO2E9
MX1lbHNle2I9YisxfDA7Zls0ODUwMV09YjtmWyhmWzQ4NDg5XXwwKSsoYjw8Mik+PjJdPWE7UlIo
Yik7UVIoKTthPTB9dD1jO3JldHVybiBhfDB9ZnVuY3Rpb24gVFIoYSl7YT1hfDA7dmFyIGI9MCxj
PTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtkPWZbNDg0ODldfDA7ZT1mW2QrKGE8
PDIpPj4yXXwwO2c9ZltlPj4yXXwwO2g9Zls0ODUwMV18MDtpPShofDApLzJ8MDt3aGlsZSgxKXtp
ZigoYXwwKT4oaXwwKSlicmVhaztjPWE8PDE7Yj1mW2QrKGM8PDIpPj4yXXwwO2lmKChjfDApPCho
fDApKXtsPWN8MTtqPWZbZCsobDw8Mik+PjJdfDA7az0oZltiPj4yXXwwKTwoZltqPj4yXXwwKTtj
PWs/bDpjO2I9az9qOmJ9aWYoKGd8MCk+PShmW2I+PjJdfDApKWJyZWFrO2ZbZCsoYTw8Mik+PjJd
PWI7ZltiKzQ+PjJdPWE7YT1jfWZbZCsoYTw8Mik+PjJdPWU7ZltlKzQ+PjJdPWE7cmV0dXJufWZ1
bmN0aW9uIFVSKCl7dmFyIGE9MCxiPTAsYz0wLGQ9MDtiPWZbNDg1MDFdfDA7aWYoIWIpYT0wO2Vs
c2V7ZD1mWzQ4NDg5XXwwO2M9ZCs0fDA7YT1mW2M+PjJdfDA7ZltjPj4yXT1mW2QrKGI8PDIpPj4y
XTtiPWIrLTF8MDtmWzQ4NTAxXT1iO2lmKGJ8MClUUigxKTtRUigpfXJldHVybiBhfDB9ZnVuY3Rp
b24gVlIoYSxiKXthPWF8MDtiPWJ8MDtmW2E+PjJdPWI7UlIoZlthKzQ+PjJdfDApO1FSKCk7cmV0
dXJufWZ1bmN0aW9uIFdSKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAs
aT0wLGo9MCxrPTAsbD0wLG09MCxuPTA7bD1hKzE2fDA7aT1mW2w+PjJdfDA7aT0oYltpKygoZltk
KzEyPj4yXXwwKSo0MHwwKSszNj4+MF18MCkhPShiW2krKChmW2QrMTY+PjJdfDApKjQwfDApKzM2
Pj4wXXwwKTtqPX5+KCgrcFtjKzY0Pj4zXSstMy4wLStwW2MrNDg+PjNdKSouNSk7az1+figoK3Bb
Yys1Nj4+M10rLTMuMC0rcFtjKzQwPj4zXSkqLjUpO2c9KGp8MCk8KGt8MCk/ajprO209Yys0fDA7
ZT0wO3doaWxlKDEpe2E9ZlttPj4yXXwwO2lmKChlfDApPj0oYXwwKSlicmVhaztoPWZbYys4Kyhl
PDwyKT4+Ml18MDtuPWZbbD4+Ml18MDtpZigoYltuKygoZltoKzEyPj4yXXwwKSo0MHwwKSszNj4+
MF18MCk9PShiW24rKChmW2grMTY+PjJdfDApKjQwfDApKzM2Pj4wXXwwKSlicmVhaztYUihoLGcp
O2U9ZSsxfDB9Zz1lO3doaWxlKDEpe2lmKChnfDApPj0oYXwwKSlicmVhaztlPWZbYys4KyhnPDwy
KT4+Ml18MDtpZihpfChlfDApPT0oZHwwKSl7WFIoZSwoYlsoZltsPj4yXXwwKSsoKGZbZSsxMj4+
Ml18MCkqNDB8MCkrMzY+PjBdfDApPT0wP2s6aik7YT1mW20+PjJdfDB9Zz1nKzF8MH1yZXR1cm59
ZnVuY3Rpb24gWFIoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MDtjPWErOHwwO2Q9ZltjPj4y
XXwwO2ZbYz4+Ml09ZCsxO2lmKChkfDApPj0oYnwwKSl7ZltjPj4yXT0wO3BbYT4+M109K3BbYT4+
M10rMTYzODQuMH1yZXR1cm59ZnVuY3Rpb24gWVIoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9
MCxlPTAsZz0wLGg9MC4wLGk9MC4wLGo9MC4wLGs9MC4wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0w
LHM9MCx1PTAuMCx2PTAuMCx3PTAuMCx4PTAuMCx5PTAsej0wLjAsQT0wLjAsQj0wLjAsQz0wLjAs
RD0wO3M9dDt0PXQrODB8MDtvPXMrMzJ8MDtuPXMrNjR8MDtxPXM7cj1ESCgyOCl8MDtjPWp5KGEp
fDA7bD1yKzR8MDtmW2w+PjJdPWM7Yz1ESChjKjcyfDApfDA7bT1yKzEyfDA7ZlttPj4yXT1jO2Q9
cSs4fDA7cFtkPj4zXT0xNzk3NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0LjBlMjg0O3BbcT4+M109MTc5
NzY5MzEzNDg2MjMxNTcwODE0NTI3NC4wZTI4NDtlPXErMjR8MDtwW2U+PjNdPS0xNzk3NjkzMTM0
ODYyMzE1NzA4MTQ1Mjc0LjBlMjg0O2c9cSsxNnwwO3BbZz4+M109LTE3OTc2OTMxMzQ4NjIzMTU3
MDgxNDUyNzQuMGUyODQ7Yj0keShhKXwwO2g9MTc5NzY5MzEzNDg2MjMxNTcwODE0NTI3NC4wZTI4
NDtpPTE3OTc2OTMxMzQ4NjIzMTU3MDgxNDUyNzQuMGUyODQ7aj0tMTc5NzY5MzEzNDg2MjMxNTcw
ODE0NTI3NC4wZTI4NDtrPS0xNzk3NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0LjBlMjg0O3doaWxlKDEp
e2lmKCFiKWJyZWFrO3k9YisxNnwwO0Q9Zlt5Pj4yXXwwO3o9KCtwW0QrOTY+PjNdKyArcFtEKzg4
Pj4zXSkqLjU7ej16PDEuMD8xLjA6ejt4PStwW0QrODA+PjNdKi41O3g9eDwxLjA/MS4wOng7QT0r
cFtEKzE2Pj4zXTtDPUEtejtBPXorQTt6PStwW0QrMjQ+PjNdO0I9ei14O3o9eCt6O3g9aDxDP2g6
QztwW3E+PjNdPXg7dz1pPEI/aTpCO3BbZD4+M109dzt2PWo+QT9qOkE7cFtnPj4zXT12O3U9az56
P2s6ejtwW2U+PjNdPXU7cFtjKzQwPj4zXT1DO3BbYys0OD4+M109QjtwW2MrNTY+PjNdPUE7cFtj
KzY0Pj4zXT16O2ZbYz4+Ml09ZltjPj4yXXwxO2ZbKGZbeT4+Ml18MCkrMTEyPj4yXT1jO2I9YXoo
YSxiKXwwO2M9Yys3MnwwO2g9eDtpPXc7aj12O2s9dX1wW3E+PjNdPWgrLTM2LjA7cFtkPj4zXT1p
Ky0zNi4wO3BbZz4+M109aiszNi4wO3BbZT4+M109ayszNi4wO0Q9ZlttPj4yXXwwO2U9ZltsPj4y
XXwwO2Zbbz4+Ml09ZltxPj4yXTtmW28rND4+Ml09ZltxKzQ+PjJdO2Zbbys4Pj4yXT1mW3ErOD4+
Ml07ZltvKzEyPj4yXT1mW3ErMTI+PjJdO2ZbbysxNj4+Ml09ZltxKzE2Pj4yXTtmW28rMjA+PjJd
PWZbcSsyMD4+Ml07ZltvKzI0Pj4yXT1mW3ErMjQ+PjJdO2ZbbysyOD4+Ml09ZltxKzI4Pj4yXTtl
PWdTKEQsZSxuLG8pfDA7aWYoZls0ODQ3Nl0mMXwwKXttPWZbbT4+Ml18MDt5PWZbbD4+Ml18MDtE
PWZbbj4+Ml18MDtmW28+PjJdPWZbcT4+Ml07ZltvKzQ+PjJdPWZbcSs0Pj4yXTtmW28rOD4+Ml09
ZltxKzg+PjJdO2ZbbysxMj4+Ml09ZltxKzEyPj4yXTtmW28rMTY+PjJdPWZbcSsxNj4+Ml07Zltv
KzIwPj4yXT1mW3ErMjA+PjJdO2ZbbysyND4+Ml09ZltxKzI0Pj4yXTtmW28rMjg+PjJdPWZbcSsy
OD4+Ml07WlIobSx5LG8sZSxEKX1jPURIKChmW24+PjJdfDApKjcyfDApfDA7ZD1yKzh8MDtmW2Q+
PjJdPWM7ZltyPj4yXT1mW24+PjJdO2M9ZltuPj4yXXwwO2I9MDt3aGlsZSgxKXtpZigoYnwwKT49
KGN8MCkpYnJlYWs7RD0oZltkPj4yXXwwKSsoYio3MnwwKSs0MHwwO3k9ZSsoYjw8NSl8MDtmW0Q+
PjJdPWZbeT4+Ml07ZltEKzQ+PjJdPWZbeSs0Pj4yXTtmW0QrOD4+Ml09Zlt5Kzg+PjJdO2ZbRCsx
Mj4+Ml09Zlt5KzEyPj4yXTtmW0QrMTY+PjJdPWZbeSsxNj4+Ml07ZltEKzIwPj4yXT1mW3krMjA+
PjJdO2ZbRCsyND4+Ml09Zlt5KzI0Pj4yXTtmW0QrMjg+PjJdPWZbeSsyOD4+Ml07Yj1iKzF8MH1N
XyhlKTtmW28+PjJdPWZbcT4+Ml07ZltvKzQ+PjJdPWZbcSs0Pj4yXTtmW28rOD4+Ml09ZltxKzg+
PjJdO2ZbbysxMj4+Ml09ZltxKzEyPj4yXTtmW28rMTY+PjJdPWZbcSsxNj4+Ml07ZltvKzIwPj4y
XT1mW3ErMjA+PjJdO2ZbbysyND4+Ml09ZltxKzI0Pj4yXTtmW28rMjg+PjJdPWZbcSsyOD4+Ml07
RD1fUihyLG8pfDA7ZltyKzE2Pj4yXT1EO3Q9cztyZXR1cm4gcnwwfWZ1bmN0aW9uIFpSKGEsYixj
LGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MC4wLGg9MCxpPTAsaj0w
LjAsaz0wLjAsbD0wLjAsbT0wLG49MCxvPTAscT0wLHI9MCxzPTAuMCx1PTAuMCx2PTAuMDtvPXQ7
dD10KzEyOHwwO249bys5NnwwO209bys2NHwwO2k9byszMnwwO3E9bysxNnwwO3I9bztrPStwW2Mr
MTY+PjNdO2w9K3BbYz4+M107aj0rcFtjKzI0Pj4zXTtnPStwW2MrOD4+M107aD1mWzE5NDU3XXww
O3AyKDE0NjA0MCxoKXwwO2Zbcj4+Ml09MTA7ZltyKzQ+PjJdPTEwO2Zbcis4Pj4yXT1+fihrKzEw
LjAtbCk7ZltyKzEyPj4yXT1+fihqKzEwLjAtZyk7ZzIoaCwxNDY0NzAscil8MDtwW3E+PjNdPTEw
LjAtbDtwW3ErOD4+M109MTAuMC1nO2cyKGgsMTQ2NTE4LHEpfDA7cDIoMTQ2NTM1LGgpfDA7Yz0w
O3doaWxlKDEpe2lmKChjfDApPj0oYnwwKSlicmVhazt2PStwW2ErKGMqNzJ8MCkrNDg+PjNdO3U9
K3BbYSsoYyo3MnwwKSs1Nj4+M107cz0rcFthKyhjKjcyfDApKzY0Pj4zXTtwW2k+PjNdPStwW2Er
KGMqNzJ8MCkrNDA+PjNdO3BbaSs4Pj4zXT12O3BbaSsxNj4+M109dTtwW2krMjQ+PjNdPXM7ZzIo
aCwxNDY1NTQsaSl8MDtjPWMrMXwwfXAyKDE0NjU3MixoKXwwO2M9MDt3aGlsZSgxKXtpZigoY3ww
KT49KGV8MCkpYnJlYWs7cz0rcFtkKyhjPDw1KSs4Pj4zXTt1PStwW2QrKGM8PDUpKzE2Pj4zXTt2
PStwW2QrKGM8PDUpKzI0Pj4zXTtwW20+PjNdPStwW2QrKGM8PDUpPj4zXTtwW20rOD4+M109cztw
W20rMTY+PjNdPXU7cFttKzI0Pj4zXT12O2cyKGgsMTQ2NTkxLG0pfDA7Yz1jKzF8MH1wMigxNDY2
MDksaCl8MDtwW24+PjNdPWw7cFtuKzg+PjNdPWc7cFtuKzE2Pj4zXT1rO3BbbisyND4+M109ajtn
MihoLDE0NjU5MSxuKXwwO3AyKDE0NjM1NixoKXwwO3Q9bztyZXR1cm59ZnVuY3Rpb24gX1IoYSxi
KXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MC4wLGU9MC4wLGc9MCxoPTAsaT0wLGo9MCxrPTAuMCxs
PTAsbT0wLG49MC4wLG89MC4wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9
MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTA7RT10O3Q9dCszMnwwO3g9RSsxNnwwO209RTtB
PWZbYT4+Ml18MDtDPXdPKEE8PDJ8Mil8MDtEPUx3KDczMjM2LGZbMTgwMDFdfDApfDA7ej1Mdyg3
MzI3MixmWzE4MDAxXXwwKXwwO0E9REgoQTw8Nyl8MDtqPURIKGZbYT4+Ml08PDQpfDA7Qj1hKzh8
MDtrPStwW2IrMTY+PjNdO2w9bSs4fDA7bj0rcFtiKzI0Pj4zXTtvPStwW2I+PjNdO2U9K3BbYis4
Pj4zXTtiPTA7d2hpbGUoMSl7aWYoKGJ8MCk+PShmW2E+PjJdfDApKWJyZWFrO2M9ZltCPj4yXXww
O2c9YysoYio3MnwwKXwwO2ZbYysoYio3MnwwKSszMj4+Ml09NDtoPWMrKGIqNzJ8MCkrMzZ8MDtm
W2g+PjJdPWorKGI8PDI8PDIpO2k9YysoYio3MnwwKSs0MHwwO2Q9K3BbYysoYio3MnwwKSs1Nj4+
M107aWYoZDxrKXtwW20+PjNdPWQ7cFtsPj4zXT0rcFtjKyhiKjcyfDApKzQ4Pj4zXTtmW3g+PjJd
PWZbbT4+Ml07Zlt4KzQ+PjJdPWZbbSs0Pj4yXTtmW3grOD4+Ml09ZlttKzg+PjJdO2ZbeCsxMj4+
Ml09ZlttKzEyPj4yXTt3PSRSKEMsRCx4LEEsMSl8MDtmW3crMjA+PjJdPWc7ZltmW2g+PjJdPj4y
XT13fWQ9K3BbYysoYio3MnwwKSs2ND4+M107aWYoZDxuKXtwW20+PjNdPStwW2k+PjNdO3BbbD4+
M109ZDtmW3g+PjJdPWZbbT4+Ml07Zlt4KzQ+PjJdPWZbbSs0Pj4yXTtmW3grOD4+Ml09ZlttKzg+
PjJdO2ZbeCsxMj4+Ml09ZlttKzEyPj4yXTt3PSRSKEMseix4LEEsMCl8MDtmW3crMjA+PjJdPWc7
ZlsoZltoPj4yXXwwKSs0Pj4yXT13fWlmKCtwW2k+PjNdPm8pe2ZbeD4+Ml09ZltpPj4yXTtmW3gr
ND4+Ml09ZltpKzQ+PjJdO2ZbeCs4Pj4yXT1mW2krOD4+Ml07Zlt4KzEyPj4yXT1mW2krMTI+PjJd
O3c9JFIoQyxELHgsQSwxKXwwO2ZbdysyND4+Ml09ZztmWyhmW2g+PjJdfDApKzg+PjJdPXd9aWYo
K3BbYysoYio3MnwwKSs0OD4+M10+ZSl7Zlt4Pj4yXT1mW2k+PjJdO2ZbeCs0Pj4yXT1mW2krND4+
Ml07Zlt4Kzg+PjJdPWZbaSs4Pj4yXTtmW3grMTI+PjJdPWZbaSsxMj4+Ml07dz0kUihDLHoseCxB
LDApfDA7Zlt3KzI0Pj4yXT1nO2ZbKGZbaD4+Ml18MCkrMTI+PjJdPXd9Yj1iKzF8MH1yPURIKGZb
Qz4+Ml08PDIpfDA7dj1hKzR8MDt3PWErMTJ8MDtzPXgrOHwwO209MDt1PTA7cT0wO3doaWxlKDEp
e2I9Zlt2Pj4yXXwwO2lmKChxfDApPj0oYnwwKSlicmVhaztoPWZbdz4+Ml18MDtpPWgrKHEqNzJ8
MCl8MDtqPWgrKHEqNzJ8MCkrMzZ8MDtmW2o+PjJdPXIrKG08PDIpO2M9aCsocSo3MnwwKSs0MHww
O2ZbeD4+Ml09ZltjPj4yXTtmW3grND4+Ml09ZltjKzQ+PjJdO2ZbeCs4Pj4yXT1mW2MrOD4+Ml07
Zlt4KzEyPj4yXT1mW2MrMTI+PjJdO2M9aCsocSo3MnwwKSs1NnwwO2w9aCsocSo3MnwwKSszMnww
O2I9d2JbZlt6Pj4yXSY2M10oeix4LDUxMil8MDt3aGlsZSgxKXtpZighYilicmVhaztpZighKCtw
W2IrOD4+M108K3BbYz4+M10pKWJyZWFrO0c9ZltiPj4yXXwwO0Y9ZltqPj4yXXwwO2c9ZltsPj4y
XXwwO2ZbbD4+Ml09ZysxO2ZbRisoZzw8Mik+PjJdPUc7ZlsoZltiPj4yXXwwKSsyND4+Ml09aTti
PXdiW2Zbej4+Ml0mNjNdKHosYiw4KXwwfWc9aCsocSo3MnwwKSs2NHwwO2I9d2JbZltEPj4yXSY2
M10oRCx4LDUxMil8MDt3aGlsZSgxKXtpZighYil7eT0yMTticmVha31kPStwW2c+PjNdO2lmKCEo
K3BbYisxNj4+M108ZCkpYnJlYWs7Yz1mW2I+PjJdfDA7Rj1mW2o+PjJdfDA7Rz1mW2w+PjJdfDA7
ZltsPj4yXT1HKzE7ZltGKyhHPDwyKT4+Ml09YztmWyhmW2I+PjJdfDApKzI0Pj4yXT1pO2I9d2Jb
ZltEPj4yXSY2M10oRCxiLDgpfDB9aWYoKHl8MCk9PTIxKXt5PTA7ZD0rcFtnPj4zXX1wW3M+PjNd
PWQ7Yz1oKyhxKjcyfDApKzU2fDA7Yj13YltmW3o+PjJdJjYzXSh6LHgsNTEyKXwwO3doaWxlKDEp
e2lmKCFiKXt5PTI2O2JyZWFrfWQ9K3BbYz4+M107aWYoISgrcFtiKzg+PjNdPGQpKWJyZWFrO0g9
ZltiPj4yXXwwO0Y9ZltqPj4yXXwwO0c9ZltsPj4yXXwwO2ZbbD4+Ml09RysxO2ZbRisoRzw8Mik+
PjJdPUg7ZlsoZltiPj4yXXwwKSsyMD4+Ml09aTtiPXdiW2Zbej4+Ml0mNjNdKHosYiw4KXwwfWlm
KCh5fDApPT0yNil7eT0wO2Q9K3BbYz4+M119cFt4Pj4zXT1kO3Bbcz4+M109K3BbaCsocSo3Mnww
KSs0OD4+M107Yj13YltmW0Q+PjJdJjYzXShELHgsNTEyKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFr
O2lmKCEoK3BbYisxNj4+M108K3BbZz4+M10pKWJyZWFrO0Y9ZltiPj4yXXwwO0c9ZltqPj4yXXww
O0g9ZltsPj4yXXwwO2ZbbD4+Ml09SCsxO2ZbRysoSDw8Mik+PjJdPUY7ZlsoZltiPj4yXXwwKSsy
MD4+Ml09aTtiPXdiW2ZbRD4+Ml0mNjNdKEQsYiw4KXwwfUg9ZltsPj4yXXwwO209SCttfDA7dT0o
SHwwKT4odXwwKT9IOnU7cT1xKzF8MH1jPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShifDApKWJyZWFr
O2FTKChmW3c+PjJdfDApKyhjKjcyfDApfDApO2M9YysxfDA7Yj1mW3Y+PjJdfDB9Yj1mW0M+PjJd
fDA7SD1mW0MrMTY+PjJdfDA7ZltIKyhiKjQwfDApKzMyPj4yXT1iO2I9YisxfDA7ZltIKyhiKjQw
fDApKzMyPj4yXT1iO3ZPKEMsdSk7Yj0wO3doaWxlKDEpe2lmKChifDApPj0oZlthPj4yXXwwKSli
cmVhaztiUygoZltCPj4yXXwwKSsoYio3MnwwKXwwLEMpO2I9YisxfDB9SHcoRCl8MDtIdyh6KXww
O01fKEEpO2NTKEMpO3RPKEMpO3Q9RTtyZXR1cm4gQ3wwfWZ1bmN0aW9uICRSKGEsYyxkLGUsZyl7
YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MCxpPTA7aD13YltmW2M+PjJdJjYz
XShjLGQsNTEyKXwwO2RvIGlmKCFoKXthPXhPKGEpfDA7aWYoIWUpeGEoMTQ2NDUzLDE0NjQwMSwy
OTEsMTQ2NDYwKTtlbHNle2g9ZlthKzMyPj4yXXwwO2k9ZSsoaDw8NSl8MDtlPWUrKGg8PDUpKzh8
MDtmW2U+PjJdPWZbZD4+Ml07ZltlKzQ+PjJdPWZbZCs0Pj4yXTtmW2UrOD4+Ml09ZltkKzg+PjJd
O2ZbZSsxMj4+Ml09ZltkKzEyPj4yXTtmW2k+PjJdPWE7YlthKzM2Pj4wXT1nO3diW2ZbYz4+Ml0m
NjNdKGMsaSwxKXwwO2JyZWFrfX1lbHNlIGk9aDt3aGlsZSgwKTtyZXR1cm4gZltpPj4yXXwwfWZ1
bmN0aW9uIGFTKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTA7YTpkbyBp
ZigoK3BbYSs2ND4+M10rLTMuMC0rcFthKzQ4Pj4zXSkqLjU8Mi4wKXtpPWZbYSszMj4+Ml18MDtq
PWErMzZ8MDtoPTA7d2hpbGUoMSl7aWYoKGh8MCk+PShpfDApKWJyZWFrIGE7Yz1mWyhmW2o+PjJd
fDApKyhoPDwyKT4+Ml18MDtiOmRvIGlmKGJbYyszNj4+MF18MCl7ZD1mW2MrMjA+PjJdfDA7aWYo
KGR8MCk9PShhfDApKXtjPWZbYysyND4+Ml18MDtlPWM7ZD1jO2M9ZltjPj4yXXwwO3doaWxlKDEp
e2ZbZD4+Ml09Y3w4O2M9ZltmW2UrMzY+PjJdPj4yXXwwO2lmKCFjKWJyZWFrIGI7ZD1mW2MrMjQ+
PjJdfDA7Yz1mW2Q+PjJdfDA7aWYoIShjJjEpKWU9ZDtlbHNlIGJyZWFrfX1lbHNle2c9ZDtlPWQ7
Yz1mW2Q+PjJdfDA7d2hpbGUoMSl7ZltlPj4yXT1jfDg7Yz1mWyhmW2crMzY+PjJdfDApKzg+PjJd
fDA7aWYoIWMpYnJlYWsgYjtkPWZbYysyMD4+Ml18MDtjPWZbZD4+Ml18MDtpZighKGMmMSkpe2c9
ZDtlPWR9ZWxzZSBicmVha319fXdoaWxlKDApO2g9aCsxfDB9fXdoaWxlKDApO2M6ZG8gaWYoKCtw
W2ErNTY+PjNdKy0zLjAtK3BbYSs0MD4+M10pKi41PDIuMCl7aT1mW2ErMzI+PjJdfDA7aj1hKzM2
fDA7aD0wO3doaWxlKDEpe2lmKChofDApPj0oaXwwKSlicmVhayBjO2M9ZlsoZltqPj4yXXwwKSso
aDw8Mik+PjJdfDA7ZDpkbyBpZighKGJbYyszNj4+MF18MCkpe2Q9ZltjKzIwPj4yXXwwO2lmKChk
fDApPT0oYXwwKSl7Yz1mW2MrMjQ+PjJdfDA7ZT1jO2Q9YztjPWZbYz4+Ml18MDt3aGlsZSgxKXtm
W2Q+PjJdPWN8MTY7Yz1mWyhmW2UrMzY+PjJdfDApKzQ+PjJdfDA7aWYoIWMpYnJlYWsgZDtkPWZb
YysyND4+Ml18MDtjPWZbZD4+Ml18MDtpZighKGMmMSkpZT1kO2Vsc2UgYnJlYWt9fWVsc2V7Zz1k
O2U9ZDtjPWZbZD4+Ml18MDt3aGlsZSgxKXtmW2U+PjJdPWN8MTY7Yz1mWyhmW2crMzY+PjJdfDAp
KzEyPj4yXXwwO2lmKCFjKWJyZWFrIGQ7ZD1mW2MrMjA+PjJdfDA7Yz1mW2Q+PjJdfDA7aWYoIShj
JjEpKXtnPWQ7ZT1kfWVsc2UgYnJlYWt9fX13aGlsZSgwKTtoPWgrMXwwfX13aGlsZSgwKTtyZXR1
cm59ZnVuY3Rpb24gYlMoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAuMCxnPTAuMCxo
PTAuMCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAuMCxxPTA7Zz0rcFthKzU2Pj4zXS0rcFth
KzQwPj4zXTtoPStwW2ErNjQ+PjNdLStwW2ErNDg+PjNdO2U9KGgrZykqLjUrNTAwLjA7aWYoKGgr
LTMuMCkqLjU8Mi4wKXtrPShmW2E+PjJdJjh8MCk9PTA7ZT1rPzE2Mzg0LjA6ZTtvPWs/MTYzODQu
MDpnfWVsc2Ugbz1nO2lmKChnKy0zLjApKi41PDIuMCl7az0oZlthPj4yXSYxNnwwKT09MDtoPWs/
MTYzODQuMDpoO2U9az8xNjM4NC4wOmV9az1hKzM2fDA7Yz1mW2s+PjJdfDA7ZD1mW2MrOD4+Ml18
MDtpZigoZHwwKSE9MD8oaT1mW2MrND4+Ml18MCwoaXwwKSE9MCk6MCl7aT15TyhiLGQsaSxlKXww
O2Q9YSs0fDA7Yz1mW2Q+PjJdfDA7ZltkPj4yXT1jKzE7ZlthKzgrKGM8PDIpPj4yXT1pO2M9Zltr
Pj4yXXwwfWQ9ZltjKzQ+PjJdfDA7aWYoKGR8MCkhPTA/KGo9ZltjPj4yXXwwLChqfDApIT0wKTow
KXtqPXlPKGIsZCxqLGUpfDA7aT1hKzR8MDtjPWZbaT4+Ml18MDtmW2k+PjJdPWMrMTtmW2ErOCso
Yzw8Mik+PjJdPWo7Yz1mW2s+PjJdfDB9ZD1mW2MrOD4+Ml18MDtpZigoZHwwKSE9MD8obD1mW2Mr
MTI+PjJdfDAsKGx8MCkhPTApOjApe2w9eU8oYixkLGwsZSl8MDtqPWErNHwwO2M9ZltqPj4yXXww
O2Zbaj4+Ml09YysxO2ZbYSs4KyhjPDwyKT4+Ml09bDtjPWZbaz4+Ml18MH1kPWZbYysxMj4+Ml18
MDtpZigoZHwwKSE9MD8obT1mW2M+PjJdfDAsKG18MCkhPTApOjApe209eU8oYixkLG0sZSl8MDts
PWErNHwwO2M9ZltsPj4yXXwwO2ZbbD4+Ml09YysxO2ZbYSs4KyhjPDwyKT4+Ml09bTtjPWZbaz4+
Ml18MH1kPWZbYys0Pj4yXXwwO2lmKChkfDApIT0wPyhuPWZbYysxMj4+Ml18MCwobnwwKSE9MCk6
MCl7bj15TyhiLGQsbixoKXwwO209YSs0fDA7Yz1mW20+PjJdfDA7ZlttPj4yXT1jKzE7ZlthKzgr
KGM8PDIpPj4yXT1uO2M9ZltrPj4yXXwwfWQ9ZltjKzg+PjJdfDA7aWYoZHwwPyhxPWZbYz4+Ml18
MCxxfDApOjApe2I9eU8oYixkLHEsbyl8MDtuPWErNHwwO3E9ZltuPj4yXXwwO2Zbbj4+Ml09cSsx
O2ZbYSs4KyhxPDwyKT4+Ml09Yn1yZXR1cm59ZnVuY3Rpb24gY1MoYSl7YT1hfDA7dmFyIGI9MCxj
PTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTA7aj10O3Q9dCsxNnwwO2k9ais4fDA7aD1qO2U9YSsx
NnwwO2c9ZlsxOTQ1N118MDtkPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShmW2E+PjJdfDApKXtiPTEw
O2JyZWFrfWI9ZltlPj4yXXwwO2M9YisoZCo0MHwwKSsyMHwwO2lmKChmW2M+PjJdfDApPT0wPyhm
W2g+PjJdPWQsZzIoZywxNDYzNjYsaCl8MCwoZltjPj4yXXwwKT09MCk6MCl7Yj01O2JyZWFrfWI9
YisoZCo0MHwwKSsyNHwwO2lmKChmW2I+PjJdfDApPT0wPyhmW2k+PjJdPWQsZzIoZywxNDY0MTgs
aSl8MCwoZltiPj4yXXwwKT09MCk6MCl7Yj04O2JyZWFrfWQ9ZCsxfDB9aWYoKGJ8MCk9PTUpeGEo
MTQ2Mzg4LDE0NjQwMSwzMTEsMTQ2NDA4KTtlbHNlIGlmKChifDApPT04KXhhKDE0NjQ0MCwxNDY0
MDEsMzEzLDE0NjQwOCk7ZWxzZSBpZigoYnwwKT09MTApe3Q9ajtyZXR1cm59fWZ1bmN0aW9uIGRT
KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAuMCxmPTAuMDtlPStwW2Ir
OD4+M107Zj0rcFtjKzg+PjNdO2lmKCEoZT5mKSlpZighKGU8Zikpe2Y9K3BbYj4+M107ZT0rcFtj
Pj4zXTtpZihmPmUpYT0xO2Vsc2UgYT0oZjxlKTw8MzE+PjMxfWVsc2UgYT0tMTtlbHNlIGE9MTty
ZXR1cm4gYXwwfWZ1bmN0aW9uIGVTKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3Zh
ciBlPTAuMCxmPTAuMDtlPStwW2I+PjNdO2Y9K3BbYz4+M107aWYoIShlPmYpKWlmKCEoZTxmKSl7
Zj0rcFtiKzg+PjNdO2U9K3BbYys4Pj4zXTtpZihmPmUpYT0xO2Vsc2UgYT0oZjxlKTw8MzE+PjMx
fWVsc2UgYT0tMTtlbHNlIGE9MTtyZXR1cm4gYXwwfWZ1bmN0aW9uIGZTKGEpe2E9YXwwO3ZhciBi
PTAsYz0wO2M9YSs4fDA7TV8oZlsoZltjPj4yXXwwKSszNj4+Ml18MCk7Yj1hKzEyfDA7TV8oZlso
ZltiPj4yXXwwKSszNj4+Ml18MCk7TV8oZltjPj4yXXwwKTtNXyhmW2I+PjJdfDApO0FPKGZbYSsx
Nj4+Ml18MCk7SHcoZlthKzIwPj4yXXwwKXwwO0h3KGZbYSsyND4+Ml18MCl8MDtNXyhhKTtyZXR1
cm59ZnVuY3Rpb24gZ1MoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxn
PTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTA7bz10O3Q9dCszMnwwO2g9bztp
PWI8PDI7ZT1pKzR8MDtpPWkrNXwwO249RUgoaSo1NnwwKXwwO2k9REgoaTw8Mil8MDtnPWUqNXwx
O2o9RUgoZyo3MnwwKXwwO2w9Zzw8NTtrPURIKGwpfDA7bD1ESChsKXwwO2ZbaD4+Ml09ZltkPj4y
XTtmW2grND4+Ml09ZltkKzQ+PjJdO2ZbaCs4Pj4yXT1mW2QrOD4+Ml07ZltoKzEyPj4yXT1mW2Qr
MTI+PjJdO2ZbaCsxNj4+Ml09ZltkKzE2Pj4yXTtmW2grMjA+PjJdPWZbZCsyMD4+Ml07ZltoKzI0
Pj4yXT1mW2QrMjQ+PjJdO2ZbaCsyOD4+Ml09ZltkKzI4Pj4yXTtoUyhhLGIsaCxuLDApO2YzKDE3
Myk7aVMoZSxpKTtzUyhlLG4saSxnLGopfDA7bT1qUyhlLG4saiwwLGspfDA7ZltoPj4yXT1mW2Q+
PjJdO2ZbaCs0Pj4yXT1mW2QrND4+Ml07ZltoKzg+PjJdPWZbZCs4Pj4yXTtmW2grMTI+PjJdPWZb
ZCsxMj4+Ml07ZltoKzE2Pj4yXT1mW2QrMTY+PjJdO2ZbaCsyMD4+Ml09ZltkKzIwPj4yXTtmW2gr
MjQ+PjJdPWZbZCsyND4+Ml07ZltoKzI4Pj4yXT1mW2QrMjg+PjJdO2hTKGEsYixoLG4sMSk7aVMo
ZSxpKTtzUyhlLG4saSxnLGopfDA7ZT1qUyhlLG4saiwxLGwpfDA7Zz1ESChWKG08PDUsZSl8MCl8
MDtiPTA7YT0wO3doaWxlKDEpe2lmKChifDApPj0oZXwwKSlicmVhaztoPWwrKGI8PDUpfDA7ZD0w
O3doaWxlKDEpe2lmKChkfDApPj0obXwwKSlicmVhaztwPWErKChrUyhnKyhhPDw1KXwwLGgsayso
ZDw8NSl8MCl8MCkhPTAmMSl8MDtkPWQrMXwwO2E9cH1iPWIrMXwwfXA9R0goZyxhPDw1KXwwO01f
KG4pO01fKGkpO01fKGopO01fKGspO01fKGwpO2ZbYz4+Ml09YTt0PW87cmV0dXJuIHB8MH1mdW5j
dGlvbiBoUyhhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAs
aD0wLGk9MCxqPTAsaz0wO2o9dDt0PXQrOTZ8MDtoPWorNjR8MDtpPWo7ZltoPj4yXT1mW2M+PjJd
O2ZbaCs0Pj4yXT1mW2MrND4+Ml07ZltoKzg+PjJdPWZbYys4Pj4yXTtmW2grMTI+PjJdPWZbYysx
Mj4+Ml07ZltoKzE2Pj4yXT1mW2MrMTY+PjJdO2ZbaCsyMD4+Ml09ZltjKzIwPj4yXTtmW2grMjQ+
PjJdPWZbYysyND4+Ml07ZltoKzI4Pj4yXT1mW2MrMjg+PjJdO3FTKGgsZSwxLGkpO2M9clMoZCwx
LGkpfDA7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oYnwwKSlicmVhaztrPWErKGcqNzJ8MCkrNDB8
MDtmW2g+PjJdPWZbaz4+Ml07ZltoKzQ+PjJdPWZbays0Pj4yXTtmW2grOD4+Ml09ZltrKzg+PjJd
O2ZbaCsxMj4+Ml09ZltrKzEyPj4yXTtmW2grMTY+PjJdPWZbaysxNj4+Ml07ZltoKzIwPj4yXT1m
W2srMjA+PjJdO2ZbaCsyND4+Ml09ZltrKzI0Pj4yXTtmW2grMjg+PjJdPWZbaysyOD4+Ml07cVMo
aCxlLDAsaSk7Yz1yUyhkLGMsaSl8MDtnPWcrMXwwfXQ9ajtyZXR1cm59ZnVuY3Rpb24gaVMoYSxi
KXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MDtjPTA7d2hpbGUoMSl7aWYoKGN8
MCk+KGF8MCkpYnJlYWs7ZltiKyhjPDwyKT4+Ml09YztjPWMrMXwwfWc9YSsxfDA7Yz0xO3doaWxl
KDEpe2lmKChjfDApPihhfDApKWJyZWFrO2g9fn4oK2ozKCkqKyhnLWN8MCkrICsoY3wwKSk7ZD1i
KyhjPDwyKXwwO2U9YisoaDw8Mil8MDtpZigoY3wwKSE9KGh8MCkpe2g9ZltkPj4yXXwwO2ZbZD4+
Ml09ZltlPj4yXTtmW2U+PjJdPWh9Yz1jKzF8MH1yZXR1cm59ZnVuY3Rpb24galMoYSxiLGMsZCxl
KXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxs
PTAsbT0wLG49MCxvPTA7Zz1hKjV8MDtqPWcrMXwwO2w9REgoajw8Mil8MDtqPURIKGo8PDQpfDA7
Zls0ODUwMl09ajtqPURIKChhKjU2fDApKzU2fDApfDA7Zls0ODUwM109ajtqPURIKGE8PDIpfDA7
Zls0ODUwNF09ajtrPTA7d2hpbGUoMSl7aWYoKGt8MCk+KGd8MCkpYnJlYWs7aWYobFMoYysoayo3
MnwwKXwwLGIpfDApYnJlYWs7az1rKzF8MH1oPWZbNDg1MDJdfDA7aT1mWzQ4NTAzXXwwO2c9MTt3
aGlsZSgxKXtpZigoZ3wwKT4oYXwwKSlicmVhaztmW2grKGc8PDQpKzg+PjJdPWZbYisoZyo1Nnww
KSs0OD4+Ml07bT1iKyhnKjU2fDApKzQ0fDA7ZltoKyhnPDw0KSs0Pj4yXT1mW20+PjJdO2ZbaCso
Zzw8NCk+PjJdPWc7bj1pKyhnKjU2fDApfDA7bz1iKyhnKjU2fDApfDA7ZltuPj4yXT1mW28+PjJd
O2Zbbis0Pj4yXT1mW28rND4+Ml07ZltuKzg+PjJdPWZbbys4Pj4yXTtmW24rMTI+PjJdPWZbbysx
Mj4+Ml07ZltpKyhnKjU2fDApKzE2Pj4yXT1mW20+PjJdO2ZbaSsoZyo1NnwwKSszMj4+Ml09Zztm
W2krKGcqNTZ8MCkrNDg+PjJdPTE7Zz1nKzF8MH1mWzQ4NTA1XT1hO2ZbNDg1MDZdPTA7ZltqPj4y
XT0xO2c9ZltjKyhrKjcyfDApKzQwPj4yXXwwO2lmKChnfDApPD0wKXtnPWZbYysoayo3MnwwKSs0
OD4+Ml18MDtpZigoZ3wwKT4wKWc9bVMobCxlLDAsYixjLDAsayxnLGQsMil8MDtlbHNlIGc9MH1l
bHNlIGc9bVMobCxlLDAsYixjLDAsayxnLGQsMSl8MDtNXyhsKTtNXyhmWzQ4NTAyXXwwKTtNXyhm
WzQ4NTAzXXwwKTtNXyhmWzQ4NTA0XXwwKTtyZXR1cm4gZ3wwfWZ1bmN0aW9uIGtTKGEsYixjKXth
PWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLjAsZT0wLjAsZj0wLjAsZz0wLjAsaD0wLjA7aD0rcFti
Pj4zXTtnPStwW2M+PjNdO2c9aD5nP2g6ZztoPStwW2IrMTY+PjNdO2Y9K3BbYysxNj4+M107Zj1o
PGY/aDpmO3BbYSsxNj4+M109ZjtwW2E+PjNdPWc7aD0rcFtiKzg+PjNdO2U9K3BbYys4Pj4zXTtl
PWg+ZT9oOmU7aD0rcFtiKzI0Pj4zXTtkPStwW2MrMjQ+PjNdO2Q9aDxkP2g6ZDtwW2ErMjQ+PjNd
PWQ7cFthKzg+PjNdPWU7cmV0dXJuICEoZz49ZikmIShlPj1kKSYxfDB9ZnVuY3Rpb24gbFMoYSxi
KXthPWF8MDtiPWJ8MDt2YXIgYz0wLjAsZD0wLjAsZT0wO2U9ZlthKzQ+PjJdfDA7ZG8gaWYoKGZb
YSs2OD4+Ml18MCkhPTI/ISgoZXwwKTwxfChmW2E+PjJdfDApPDEpOjApe2lmKCEoKGZbYSs0MD4+
Ml18MCk8MT8oZlthKzQ0Pj4yXXwwKTwxOjApKXtpZigoZlthKzQ4Pj4yXXwwKT49MSl7YT0wO2Jy
ZWFrfWlmKChmW2ErNTI+PjJdfDApPj0xKXthPTA7YnJlYWt9fWM9K3BbYisoZSo1NnwwKSsyND4+
M107ZD0rcFtiKyhlKjU2fDApKzg+PjNdO2lmKCEoYz5kKzEuMGUtMDcpKWlmKGM8ZCstMS4wZS0w
NylhPTA7ZWxzZSBhPStwW2IrKGUqNTZ8MCkrMTY+PjNdPitwW2IrKGUqNTZ8MCk+PjNdJjE7ZWxz
ZSBhPTF9ZWxzZSBhPTA7d2hpbGUoMCk7cmV0dXJuIGF8MH1mdW5jdGlvbiBtUyhhLGIsYyxkLGUs
ZyxoLGksaixrKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8MDtoPWh8MDtpPWl8
MDtqPWp8MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAuMCxvPTAuMCxxPTAuMCxyPTAscz0wLHQ9MCx1
PTAuMCx2PTAsdz0wLjAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9
MC4wLEo9MCxLPTAuMCxMPTAsTT0wLE49MCxPPTAsUD0wO0M9KGp8MCk9PTA7Qj1oO2E6d2hpbGUo
MSl7eD1lKyhCKjcyfDApfDA7aWYoKEJ8MCk8MSlicmVhaztoPWErKEI8PDIpfDA7aWYoZltoPj4y
XXwwKWJyZWFrO2ZbaD4+Ml09MTt0PWUrKEIqNzJ8MCkrOHwwO3U9K3BbZSsoQio3MnwwKSsxNj4+
M107dj1lKyhCKjcyfDApKzI0fDA7dz0rcFtlKyhCKjcyfDApKzMyPj4zXTtpZigodT53PyhBPWZb
eD4+Ml18MCxIPStwW2QrKEEqNTZ8MCk+PjNdLEg9PStwW2QrKEEqNTZ8MCkrMTY+PjNdKTowKT8o
QT1mW2UrKEIqNzJ8MCkrND4+Ml18MCxLPStwW2QrKEEqNTZ8MCk+PjNdLEs9PStwW2QrKEEqNTZ8
MCkrMTY+PjNdKTowKXtoPWIrKGM8PDUpfDA7aWYoQyl7cFtoPj4zXT1IO249dTtvPUs7cT13fWVs
c2V7cFtoPj4zXT13O249LUg7bz11O3E9LUt9cFtiKyhjPDw1KSs4Pj4zXT1xO3BbYisoYzw8NSkr
MTY+PjNdPW87cFtiKyhjPDw1KSsyND4+M109bjtjPWMrMXwwfWg9ZSsoQio3MnwwKSs0MHwwO3k9
ZltoPj4yXXwwO2RvIGlmKCh5fDApPDE/KEw9ZSsoQio3MnwwKSs0NHwwLChmW0w+PjJdfDApPDEp
OjApe2g9ZSsoQio3MnwwKSs0OHwwO209ZSsoQio3MnwwKSs1MnwwO2lmKChmW2g+PjJdfDApPjA/
KE09ZlttPj4yXXwwLChNfDApPjApOjApe2w9ZltlKyhNKjcyfDApPj4yXXwwO2s9Zlt4Pj4yXXww
O2lmKChNfDApPT0oaXwwKSl7az1uUyhnLGssbCl8MDtjPW1TKGEsYixjLGQsZSxnLGZbbT4+Ml18
MCxCLGosMSl8MDtnPWs7az0xO2JyZWFrfWVsc2V7az1uUyhnLGwsayl8MDtjPW1TKGEsYixjLGQs
ZSxnLGZbaD4+Ml18MCxCLGosMSl8MDtnPWs7aD1tO2s9MTticmVha319Yz1tUyhhLGIsYyxkLGUs
Zyx5LEIsaiwyKXwwO2M9bVMoYSxiLGMsZCxlLGcsZltMPj4yXXwwLEIsaiwyKXwwO2M9bVMoYSxi
LGMsZCxlLGcsZltoPj4yXXwwLEIsaiwxKXwwO2g9bTtrPTF9ZWxzZSBQPTE5O3doaWxlKDApO2Rv
IGlmKChQfDApPT0xOSl7UD0wO0E9ZSsoQio3MnwwKSs0OHwwO3I9ZltBPj4yXXwwO2lmKChyfDAp
PDE/KE49ZSsoQio3MnwwKSs1MnwwLChmW04+PjJdfDApPDEpOjApe209ZSsoQio3MnwwKSs0NHww
O2lmKCh5fDApPjA/KE89ZlttPj4yXXwwLChPfDApPjApOjApe2w9ZltlKyhCKjcyfDApKzQ+PjJd
fDA7az1mW2UrKHkqNzJ8MCkrND4+Ml18MDtpZigoT3wwKT09KGl8MCkpe2s9blMoZyxrLGwpfDA7
Yz1tUyhhLGIsYyxkLGUsZyxmW20+PjJdfDAsQixqLDIpfDA7Zz1rO2s9MjticmVha31lbHNle2s9
blMoZyxsLGspfDA7Yz1tUyhhLGIsYyxkLGUsZyxmW2g+PjJdfDAsQixqLDIpfDA7Zz1rO2g9bTtr
PTI7YnJlYWt9fWM9bVMoYSxiLGMsZCxlLGcseSxCLGosMil8MDtjPW1TKGEsYixjLGQsZSxnLGZb
bT4+Ml18MCxCLGosMil8MDtjPW1TKGEsYixjLGQsZSxnLGZbQT4+Ml18MCxCLGosMSl8MDtoPU47
az0xO2JyZWFrfXo9ZSsoQio3MnwwKSs0NHwwO3M9Zlt6Pj4yXXwwO2w9KHN8MCk+MDtpZigoeXww
KT4wKXtpZihsKXtpZigocnwwKT4wPyhEPWUrKEIqNzJ8MCkrNTJ8MCxFPWZbRD4+Ml18MCwoRXww
KT4wKTowKXttPWZbZSsoRSo3MnwwKT4+Ml18MDtsPWZbZSsoeSo3MnwwKSs0Pj4yXXwwO2lmKCEo
KGt8MCk9PTImKEV8MCk9PShpfDApKT8hKChrfDApPT0xJihzfDApPT0oaXwwKSk6MCl7az1uUyhn
LG0sbCl8MDtjPW1TKGEsYixjLGQsZSxnLGZbaD4+Ml18MCxCLGosMil8MDtjPW1TKGEsYixjLGQs
ZSxnLGZbQT4+Ml18MCxCLGosMSl8MDtjPW1TKGEsYixjLGQsZSxrLGZbej4+Ml18MCxCLGosMil8
MDtnPWs7aD1EO2s9MTticmVha31rPW5TKGcsbCxtKXwwO2M9bVMoYSxiLGMsZCxlLGcsZlt6Pj4y
XXwwLEIsaiwyKXwwO2M9bVMoYSxiLGMsZCxlLGcsZltEPj4yXXwwLEIsaiwxKXwwO2M9bVMoYSxi
LGMsZCxlLGssZltoPj4yXXwwLEIsaiwyKXwwO2c9aztoPUE7az0xO2JyZWFrfWw9Zlt4Pj4yXXww
O2lmKCtJKCsody0rcFtkKyhsKjU2fDApKzI0Pj4zXSkpPD0xLjBlLTA3PytJKCsoK3Bbdj4+M10t
K3BbZCsobCo1NnwwKSsxNj4+M10pKTw9MS4wZS0wNzowKXttPWZbZSsoeSo3MnwwKSs0Pj4yXXww
O2w9ZltkKyhsKjU2fDApKzQ0Pj4yXXwwO2lmKChrfDApPT0xJih5fDApPT0oaXwwKSl7az1uUyhn
LGwsbSl8MDtjPW1TKGEsYixjLGQsZSxnLGZbaD4+Ml18MCxCLGosMil8MDtjPW1TKGEsYixjLGQs
ZSxrLGZbQT4+Ml18MCxCLGosMSl8MDtjPW1TKGEsYixjLGQsZSxrLGZbej4+Ml18MCxCLGosMil8
MDtnPWs7aD1lKyhCKjcyfDApKzUyfDA7az0xO2JyZWFrfWVsc2V7az1uUyhnLG0sbCl8MDtjPW1T
KGEsYixjLGQsZSxnLGZbej4+Ml18MCxCLGosMil8MDtjPW1TKGEsYixjLGQsZSxnLGZbQT4+Ml18
MCxCLGosMSl8MDtjPW1TKGEsYixjLGQsZSxnLGZbZSsoQio3MnwwKSs1Mj4+Ml18MCxCLGosMSl8
MDtnPWs7az0yO2JyZWFrfX1tPWZbZSsoQio3MnwwKSs0Pj4yXXwwO2w9ZltlKyh5KjcyfDApKzQ+
PjJdfDA7aWYoKGt8MCk9PTEmKHN8MCk9PShpfDApKXtrPW5TKGcsbCxtKXwwO2M9bVMoYSxiLGMs
ZCxlLGcsZlt6Pj4yXXwwLEIsaiwyKXwwO2M9bVMoYSxiLGMsZCxlLGssZltlKyhCKjcyfDApKzUy
Pj4yXXwwLEIsaiwxKXwwO2M9bVMoYSxiLGMsZCxlLGssZltBPj4yXXwwLEIsaiwxKXwwO2c9aztr
PTI7YnJlYWt9ZWxzZXtrPW5TKGcsbSxsKXwwO2M9bVMoYSxiLGMsZCxlLGcsZltoPj4yXXwwLEIs
aiwyKXwwO2M9bVMoYSxiLGMsZCxlLGcsZltBPj4yXXwwLEIsaiwxKXwwO2M9bVMoYSxiLGMsZCxl
LGcsZltlKyhCKjcyfDApKzUyPj4yXXwwLEIsaiwxKXwwO2c9aztoPXo7az0yO2JyZWFrfX19ZWxz
ZSBpZighbClicmVhayBhO2lmKChyfDApPjA/KEY9ZSsoQio3MnwwKSs1MnwwLEc9ZltGPj4yXXww
LChHfDApPjApOjApe209Zlt4Pj4yXXwwO2lmKCtJKCsodS0rcFtkKyhtKjU2fDApKzg+PjNdKSk8
PTEuMGUtMDc/K0koKygrcFt0Pj4zXS0rcFtkKyhtKjU2fDApPj4zXSkpPD0xLjBlLTA3OjApe2w9
ZltlKyhHKjcyfDApPj4yXXwwO2lmKChrfDApPT0yJihyfDApPT0oaXwwKSl7az1uUyhnLGwsbSl8
MDtjPW1TKGEsYixjLGQsZSxnLGZbQT4+Ml18MCxCLGosMSl8MDtjPW1TKGEsYixjLGQsZSxrLGZb
aD4+Ml18MCxCLGosMil8MDtjPW1TKGEsYixjLGQsZSxrLGZbej4+Ml18MCxCLGosMil8MDtnPWs7
aD1GO2s9MTticmVha31lbHNle2s9blMoZyxtLGwpfDA7Yz1tUyhhLGIsYyxkLGUsZyxmW3o+PjJd
fDAsQixqLDIpfDA7Yz1tUyhhLGIsYyxkLGUsZyxmW0Y+PjJdfDAsQixqLDEpfDA7Yz1tUyhhLGIs
YyxkLGUsZyxmW2g+PjJdfDAsQixqLDIpfDA7Zz1rO2g9QTtrPTE7YnJlYWt9fWw9ZltlKyhHKjcy
fDApPj4yXXwwO209ZltkKygoZltlKyhCKjcyfDApKzQ+PjJdfDApKjU2fDApKzQ0Pj4yXXwwO2lm
KChrfDApPT0yJihHfDApPT0oaXwwKSl7az1uUyhnLG0sbCl8MDtjPW1TKGEsYixjLGQsZSxnLGZb
Rj4+Ml18MCxCLGosMSl8MDtjPW1TKGEsYixjLGQsZSxrLGZbej4+Ml18MCxCLGosMil8MDtjPW1T
KGEsYixjLGQsZSxrLGZbaD4+Ml18MCxCLGosMil8MDtnPWs7aD1BO2s9MTticmVha31lbHNle2s9
blMoZyxsLG0pfDA7Yz1tUyhhLGIsYyxkLGUsZyxmW2g+PjJdfDAsQixqLDIpfDA7Yz1tUyhhLGIs
YyxkLGUsZyxmW0E+PjJdfDAsQixqLDEpfDA7Yz1tUyhhLGIsYyxkLGUsZyxmW3o+PjJdfDAsQixq
LDIpfDA7Zz1rO2g9RjtrPTE7YnJlYWt9fW09Zlt4Pj4yXXwwO2lmKCgoK0koKyh1LStwW2QrKG0q
NTZ8MCkrOD4+M10pKTw9MS4wZS0wNz8rSSgrKCtwW3Q+PjNdLStwW2QrKG0qNTZ8MCk+PjNdKSk8
PTEuMGUtMDc6MCk/KEo9ZltlKyhCKjcyfDApKzQ+PjJdfDAsK0koKyh3LStwW2QrKEoqNTZ8MCkr
OD4+M10pKTw9MS4wZS0wNyk6MCk/K0koKygrcFt2Pj4zXS0rcFtkKyhKKjU2fDApPj4zXSkpPD0x
LjBlLTA3OjApaWYoKGt8MCk9PTEpe2s9blMoZyxtLEopfDA7Yz1tUyhhLGIsYyxkLGUsZyxmW2g+
PjJdfDAsQixqLDIpfDA7Yz1tUyhhLGIsYyxkLGUsZyxmW3o+PjJdfDAsQixqLDIpfDA7Yz1tUyhh
LGIsYyxkLGUsayxmW2UrKEIqNzJ8MCkrNTI+PjJdfDAsQixqLDEpfDA7Zz1rO2g9QTtrPTE7YnJl
YWt9ZWxzZXtrPW5TKGcsSixtKXwwO2M9bVMoYSxiLGMsZCxlLGcsZltlKyhCKjcyfDApKzUyPj4y
XXwwLEIsaiwxKXwwO2M9bVMoYSxiLGMsZCxlLGcsZltBPj4yXXwwLEIsaiwxKXwwO2M9bVMoYSxi
LGMsZCxlLGssZltoPj4yXXwwLEIsaiwyKXwwO2c9aztoPXo7az0yO2JyZWFrfWk9ZltlKyhCKjcy
fDApKzQ+PjJdfDA7aWYoKCgrSSgrKHUtK3BbZCsoaSo1NnwwKSsyND4+M10pKTw9MS4wZS0wNz8r
SSgrKCtwW3Q+PjNdLStwW2QrKGkqNTZ8MCkrMTY+PjNdKSk8PTEuMGUtMDc6MCk/K0koKyh3LStw
W2QrKG0qNTZ8MCkrMjQ+PjNdKSk8PTEuMGUtMDc6MCk/K0koKygrcFt2Pj4zXS0rcFtkKyhtKjU2
fDApKzE2Pj4zXSkpPD0xLjBlLTA3OjApe2w9ZltkKyhpKjU2fDApKzQ0Pj4yXXwwO2k9ZltkKyht
KjU2fDApKzQ0Pj4yXXwwO2lmKChrfDApPT0xKXtrPW5TKGcsaSxsKXwwO2M9bVMoYSxiLGMsZCxl
LGcsZltoPj4yXXwwLEIsaiwyKXwwO2M9bVMoYSxiLGMsZCxlLGcsZlt6Pj4yXXwwLEIsaiwyKXww
O2M9bVMoYSxiLGMsZCxlLGssZltlKyhCKjcyfDApKzUyPj4yXXwwLEIsaiwxKXwwO2c9aztoPUE7
az0xO2JyZWFrfWVsc2V7az1uUyhnLGwsaSl8MDtjPW1TKGEsYixjLGQsZSxnLGZbZSsoQio3Mnww
KSs1Mj4+Ml18MCxCLGosMSl8MDtjPW1TKGEsYixjLGQsZSxnLGZbQT4+Ml18MCxCLGosMSl8MDtj
PW1TKGEsYixjLGQsZSxrLGZbaD4+Ml18MCxCLGosMil8MDtnPWs7aD16O2s9MjticmVha319Yz1t
UyhhLGIsYyxkLGUsZyx5LEIsaiwyKXwwO2M9bVMoYSxiLGMsZCxlLGcsZltBPj4yXXwwLEIsaiwx
KXwwO2M9bVMoYSxiLGMsZCxlLGcsZlt6Pj4yXXwwLEIsaiwyKXwwO2g9ZSsoQio3MnwwKSs1Mnww
O2s9MX13aGlsZSgwKTtpPUI7Qj1mW2g+PjJdfDB9cmV0dXJuIGN8MH1mdW5jdGlvbiBuUyhhLGIs
Yyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAs
bT0wLG49MCxvPTAscD0wLHE9MDtlPXQ7dD10KzE2fDA7cT1lKzR8MDtpPWU7ZD0oZls0ODUwNl18
MCkrMXwwO2ZbNDg1MDZdPWQ7bD1mWzQ4NTAzXXwwO29TKGIsYyxxLGkpO3E9ZltxPj4yXXwwO2g9
ZltsKyhiKjU2fDApKzMyKyhxPDwyKT4+Ml18MDtpPWZbbCsoYyo1NnwwKSszMisoZltpPj4yXTw8
Mik+PjJdfDA7bT1mWzQ4NTA1XXwwO2c9bSsxfDA7bT1tKzJ8MDtmWzQ4NTA1XT1tO3A9Zls0ODUw
Ml18MDtmW3ArKGc8PDQpPj4yXT1iO2ZbcCsobTw8NCk+PjJdPWM7bj1wKyhoPDw0KSs0fDA7bz1w
KyhnPDw0KSs0fDA7ZltvPj4yXT1mW24+PjJdO2ZbcCsoZltuPj4yXTw8NCkrOD4+Ml09ZztmW3Ar
KGc8PDQpKzg+PjJdPW07ZltwKyhtPDw0KSs0Pj4yXT1nO2o9cCsoaTw8NCkrOHwwO2ZbcCsobTw8
NCkrOD4+Ml09ZltqPj4yXTtmW3ArKGZbaj4+Ml08PDQpKzQ+PjJdPW07ZltuPj4yXT1pO2Zbaj4+
Ml09aDtqPWwrKGIqNTZ8MCkrNDh8MDtuPWZbaj4+Ml18MDtpPWwrKGMqNTZ8MCkrNDh8MDtrPWZb
aT4+Ml18MDtmW2wrKGIqNTZ8MCkrMTYrKHE8PDIpPj4yXT1jO2ZbbCsoYio1NnwwKSszMisobjw8
Mik+PjJdPWc7ZltsKyhiKjU2fDApKzE2KyhuPDwyKT4+Ml09ZltwKyhmW28+PjJdPDw0KT4+Ml07
ZltsKyhjKjU2fDApKzMyKyhrPDwyKT4+Ml09bTtmW2wrKGMqNTZ8MCkrMTYrKGs8PDIpPj4yXT1i
O2Zbaj4+Ml09KGZbaj4+Ml18MCkrMTtmW2k+PjJdPShmW2k+PjJdfDApKzE7Yz1mWzQ4NTA0XXww
O2ZbYysoYTw8Mik+PjJdPWg7ZltjKyhkPDwyKT4+Ml09Zzt0PWU7cmV0dXJuIGR8MH1mdW5jdGlv
biBvUyhhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MC4wLGg9MCxp
PTAsaj0wLjAsaz0wLjAsbD0wLG09MCxuPTA7bD1mWzQ4NTAzXXwwO209bCsoYSo1NnwwKXwwO249
bCsoYio1NnwwKXwwO2U9MDtnPS00LjA7aT0wO3doaWxlKDEpe2lmKChpfDApPT00KWJyZWFrO2g9
ZltsKyhhKjU2fDApKzE2KyhpPDwyKT4+Ml18MDtpZigoaHwwKT49MT8oaj0rcFMobSxsKyhoKjU2
fDApfDAsbiksaj5nKTowKXtlPWk7Zz1qfWk9aSsxfDB9ZltjPj4yXT1lO2U9MDtpPTA7Zz0tNC4w
O3doaWxlKDEpe2lmKChpfDApPT00KWJyZWFrO2g9ZltsKyhiKjU2fDApKzE2KyhpPDwyKT4+Ml18
MDtpZigoaHwwKT49MT8oaz0rcFMobixsKyhoKjU2fDApfDAsbSksaz5nKTowKXtlPWk7Zz1rfWk9
aSsxfDB9ZltkPj4yXT1lO3JldHVybn1mdW5jdGlvbiBwUyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1j
fDA7dmFyIGQ9MC4wLGU9MC4wLGY9MC4wLGc9MC4wLGg9MC4wO2c9K3BbYT4+M107aD0rcFtiPj4z
XS1nO2Q9K3BbYSs4Pj4zXTtmPStwW2IrOD4+M10tZDtnPStwW2M+PjNdLWc7ZD0rcFtjKzg+PjNd
LWQ7ZT1kKmYrZypoO2lmKCEoZCpoLWcqZj49MC4wKSlkPS1lLytKKCsoKGQqZCtnKmcpKihmKmYr
aCpoKSkpKy0yLjA7ZWxzZSBkPWUvK0ooKygoZCpkK2cqZykqKGYqZitoKmgpKSk7cmV0dXJuICtk
fWZ1bmN0aW9uIHFTKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0w
LGg9MCxpPTAsaj0wLjAsaz0wLjAsbD0wLjA7ZltkPj4yXT1mW2E+PjJdO2ZbZCs0Pj4yXT1mW2Er
ND4+Ml07ZltkKzg+PjJdPWZbYSs4Pj4yXTtmW2QrMTI+PjJdPWZbYSsxMj4+Ml07aD1kKzMyfDA7
aT1hKzE2fDA7ZltoPj4yXT1mW2k+PjJdO2ZbaCs0Pj4yXT1mW2krND4+Ml07ZltoKzg+PjJdPWZb
aSs4Pj4yXTtmW2grMTI+PjJdPWZbaSsxMj4+Ml07aWYoIWMpe2U9YSs4fDA7Zz1pO2g9YSsyNHww
O2M9YX1lbHNle2U9YSsyNHwwO2c9YTtoPWErOHwwO2M9aX1qPStwW2U+PjNdO2s9K3BbZz4+M107
bD0rcFtoPj4zXTtwW2QrMTY+PjNdPStwW2M+PjNdO3BbZCsyND4+M109bDtwW2QrNDg+PjNdPWs7
cFtkKzU2Pj4zXT1qO2E6ZG8gaWYoYnwwKXtjPTA7d2hpbGUoMSl7aWYoKGN8MCk9PTQpYnJlYWsg
YTtpPWQrKGM8PDQpKzh8MDtsPStwW2k+PjNdO2I9ZCsoYzw8NCl8MDtwW2k+PjNdPStwW2I+PjNd
O3BbYj4+M109LWw7Yz1jKzF8MH19d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIHJTKGEsYixjKXth
PWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAs
bj0wLG89MCxwPTA7Zz1iKzN8MDtoPWIrMXwwO2k9YisyfDA7aj1hKyhiKjU2fDApKzQ0fDA7az1h
KyhiKjU2fDApKzQ4fDA7bD1hKyhnKjU2fDApKzQ0fDA7bT1hKyhnKjU2fDApKzQ4fDA7ZD0wO2U9
Yjt3aGlsZSgxKXtpZigoZXwwKT4oZ3wwKSlicmVhaztkbyBpZigoZXwwKSE9KGJ8MCkpaWYoKGV8
MCk9PShnfDApKXtmW2w+PjJdPWI7ZlttPj4yXT1pO2JyZWFrfWVsc2V7ZlthKyhlKjU2fDApKzQ0
Pj4yXT1lKzE7ZlthKyhlKjU2fDApKzQ4Pj4yXT1lKy0xO2JyZWFrfWVsc2V7ZltqPj4yXT1oO2Zb
az4+Ml09Z313aGlsZSgwKTtmW2ErKGUqNTZ8MCkrMzI+PjJdPTA7bz1hKygoZlthKyhlKjU2fDAp
KzQ4Pj4yXXwwKSo1NnwwKSsxNnwwO3A9YSsoZSo1NnwwKXwwO249YysoZDw8NCl8MDtmW3A+PjJd
PWZbbj4+Ml07ZltwKzQ+PjJdPWZbbis0Pj4yXTtmW3ArOD4+Ml09ZltuKzg+PjJdO2ZbcCsxMj4+
Ml09ZltuKzEyPj4yXTtSMyhvfDAsbnwwLDE2KXwwO2Q9ZCsxfDA7ZT1lKzF8MH1yZXR1cm4gYis0
fDB9ZnVuY3Rpb24gc1MoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2
YXIgZz0wLGg9MCxpPTAsaj0wLGs9MDtmWzQ4NTA3XT1kPDwxO2ZbNDg1MDhdPWQ7az1ESChkKjgw
fDApfDA7Zls0ODUwOV09MTtmWzQ4NTEwXT0xO1MzKGV8MCwwLGQqNzJ8MCl8MDtnPXRTKGZbYys0
Pj4yXXwwLGIsZSxrKXwwO2Q9MTt3aGlsZSgxKXtpZigoZHwwKT4oYXwwKSlicmVhaztmW2IrKGQq
NTZ8MCkrNDA+PjJdPWc7ZltiKyhkKjU2fDApKzM2Pj4yXT1nO2Q9ZCsxfDB9aj11UyhhKXwwO2c9
MjtpPTE7d2hpbGUoMSl7aWYoKGl8MCk+KGp8MCkpYnJlYWs7ZD12UyhhLGkrLTF8MCl8MDtoPXZT
KGEsaSl8MDt3aGlsZSgxKXtpZigoZHwwKT49KGh8MCkpYnJlYWs7d1MoZltjKyhnPDwyKT4+Ml18
MCxiLGUsayk7ZD1kKzF8MDtnPWcrMXwwfWQ9MTt3aGlsZSgxKXtpZigoZHwwKT4oYXwwKSlicmVh
azt4UyhkLGIsZSxrKTtkPWQrMXwwfWk9aSsxfDB9ZD12UyhhLGopfDA7d2hpbGUoMSl7aWYoKGR8
MCk+PShhfDApKWJyZWFrO3dTKGZbYysoZzw8Mik+PjJdfDAsYixlLGspO2c9ZysxfDA7ZD1kKzF8
MH1NXyhrKTtyZXR1cm4gZls0ODUwOV18MH1mdW5jdGlvbiB0UyhhLGIsYyxkKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0w
LHE9MCxyPTAscz0wLHQ9MDtlPUNTKCl8MDtmW2QrKGUqNDB8MCk+PjJdPTI7cz1kKyhlKjQwfDAp
Kzh8MDtqPWIrKGEqNTZ8MCl8MDtrPWIrKGEqNTZ8MCkrMTZ8MDtHUyhzLGosayk7bT1DUygpfDA7
ZltkKyhlKjQwfDApKzM2Pj4yXT1tO2ZbZCsobSo0MHwwKT4+Ml09MztmW2QrKG0qNDB8MCkrMjg+
PjJdPWU7aT1DUygpfDA7ZltkKyhlKjQwfDApKzMyPj4yXT1pO2ZbZCsoaSo0MHwwKT4+Ml09Mjty
PWQrKGkqNDB8MCkrOHwwO0hTKHIsaixrKTtmW2QrKGkqNDB8MCkrMjg+PjJdPWU7az1DUygpfDA7
ZltkKyhpKjQwfDApKzMyPj4yXT1rO2ZbZCsoayo0MHwwKT4+Ml09MztmW2QrKGsqNDB8MCkrMjg+
PjJdPWk7aj1DUygpfDA7ZltkKyhpKjQwfDApKzM2Pj4yXT1qO2ZbZCsoaio0MHwwKT4+Ml09MTtm
W2QrKGoqNDB8MCkrND4+Ml09YTtmW2QrKGoqNDB8MCkrMjg+PjJdPWk7aT1DUygpfDA7ZltkKyhq
KjQwfDApKzMyPj4yXT1pO2ZbZCsoaSo0MHwwKT4+Ml09MztmW2QrKGkqNDB8MCkrMjg+PjJdPWo7
Zz1DUygpfDA7ZltkKyhqKjQwfDApKzM2Pj4yXT1nO2ZbZCsoZyo0MHwwKT4+Ml09MztmW2QrKGcq
NDB8MCkrMjg+PjJdPWo7aj1CUyhjKXwwO2g9QlMoYyl8MDtsPUJTKGMpfDA7bj1CUyhjKXwwO289
Yysoaio3MnwwKSs4fDA7cT1jKyhoKjcyfDApKzh8MDt0PWMrKG4qNzJ8MCkrMjR8MDtmW3Q+PjJd
PWZbcz4+Ml07Zlt0KzQ+PjJdPWZbcys0Pj4yXTtmW3QrOD4+Ml09ZltzKzg+PjJdO2ZbdCsxMj4+
Ml09ZltzKzEyPj4yXTtSMyhxfDAsc3wwLDE2KXwwO2Zbbz4+Ml09ZltxPj4yXTtmW28rND4+Ml09
ZltxKzQ+PjJdO2Zbbys4Pj4yXT1mW3ErOD4+Ml07ZltvKzEyPj4yXT1mW3ErMTI+PjJdO289Yyso
aio3MnwwKSsyNHwwO3E9YysoaCo3MnwwKSsyNHwwO3M9YysobCo3MnwwKSs4fDA7ZltzPj4yXT1m
W3I+PjJdO2Zbcys0Pj4yXT1mW3IrND4+Ml07ZltzKzg+PjJdPWZbcis4Pj4yXTtmW3MrMTI+PjJd
PWZbcisxMj4+Ml07UjMocXwwLHJ8MCwxNil8MDtmW28+PjJdPWZbcT4+Ml07ZltvKzQ+PjJdPWZb
cSs0Pj4yXTtmW28rOD4+Ml09ZltxKzg+PjJdO2ZbbysxMj4+Ml09ZltxKzEyPj4yXTtwW2MrKG4q
NzJ8MCkrMTY+PjNdPTEwNzM3NDE4MjQuMDtwW2MrKG4qNzJ8MCkrOD4+M109MTA3Mzc0MTgyNC4w
O3BbYysobCo3MnwwKSszMj4+M109LTEwNzM3NDE4MjQuMDtwW2MrKGwqNzJ8MCkrMjQ+PjNdPS0x
MDczNzQxODI0LjA7ZltjKyhoKjcyfDApPj4yXT1hO2ZbYysoaio3MnwwKSs0Pj4yXT1hO2ZbYyso
aCo3MnwwKSs0MD4+Ml09bjtmW2MrKGoqNzJ8MCkrNDA+PjJdPW47ZltjKyhoKjcyfDApKzQ4Pj4y
XT1sO2ZbYysoaio3MnwwKSs0OD4+Ml09bDtmW2MrKGwqNzJ8MCkrNDA+PjJdPWo7ZltjKyhuKjcy
fDApKzQ4Pj4yXT1qO2ZbYysobCo3MnwwKSs0ND4+Ml09aDtmW2MrKG4qNzJ8MCkrNTI+PjJdPWg7
ZltjKyhqKjcyfDApKzU2Pj4yXT1pO2ZbYysoaCo3MnwwKSs1Nj4+Ml09ZztmW2MrKGwqNzJ8MCkr
NTY+PjJdPWs7ZltjKyhuKjcyfDApKzU2Pj4yXT1tO2ZbYysoaCo3MnwwKSs2OD4+Ml09MTtmW2Mr
KGoqNzJ8MCkrNjg+PjJdPTE7ZltjKyhuKjcyfDApKzY4Pj4yXT0xO2ZbYysobCo3MnwwKSs2OD4+
Ml09MTtmW2QrKG0qNDB8MCkrMjQ+PjJdPW47ZltkKyhrKjQwfDApKzI0Pj4yXT1sO2ZbZCsoaSo0
MHwwKSsyND4+Ml09ajtmW2QrKGcqNDB8MCkrMjQ+PjJdPWg7ZltiKyhhKjU2fDApKzMyPj4yXT0x
O3JldHVybiBlfDB9ZnVuY3Rpb24gdVMoYSl7YT1hfDA7dmFyIGI9MC4wO2I9KyhhfDApO2E9MDt3
aGlsZSgxKXtpZighKGI+PTEuMCkpYnJlYWs7Yj0raGIoK2IpO2E9YSsxfDB9cmV0dXJuIGErLTF8
MH1mdW5jdGlvbiB2UyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAuMDtkPSsoYXwwKTtj
PWQ7YT0wO3doaWxlKDEpe2lmKChhfDApPj0oYnwwKSlicmVhaztjPStoYigrYyk7YT1hKzF8MH1y
ZXR1cm4gfn4rVSgrKGQvYykpfDB9ZnVuY3Rpb24gd1MoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1j
fDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLjAsaT0wLjAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAs
cT0wLHI9MC4wLHM9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0w
LEY9MCxHPTAsSD0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAs
VT0wLFY9MCxXPTAuMDtWPXQ7dD10Kzk2fDA7Uj1WKzMyfDA7ZT1WKzE2fDA7Uz1WO3M9UjtqPWIr
KGEqNTZ8MCl8MDtxPXMrNTZ8MDtkb3tmW3M+PjJdPWZbaj4+Ml07cz1zKzR8MDtqPWorNHwwfXdo
aWxlKChzfDApPChxfDApKTtUPVIrMTZ8MDtVPVIrMjR8MDtoPStwW1U+PjNdO0g9Uis4fDA7aT0r
cFtIPj4zXTtkbyBpZighKGg+aSsxLjBlLTA3KSl7aWYoIShoPGkrLTEuMGUtMDcpPytwW1Q+PjNd
PitwW1I+PjNdOjApe0c9NDticmVha31HPShBUyhhLGIsMSl8MCk9PTA7ZT1mW1IrMzY+PjJdfDA7
aWYoRyl7bD0wO0c9N31lbHNle2U9eVMoUixULGUsYixkKXwwO0c9MjB9fWVsc2UgRz00O3doaWxl
KDApO2lmKChHfDApPT00KXtmW2U+PjJdPWZbUj4+Ml07ZltlKzQ+PjJdPWZbUis0Pj4yXTtmW2Ur
OD4+Ml09ZltSKzg+PjJdO2ZbZSsxMj4+Ml09ZltSKzEyPj4yXTtmW1I+PjJdPWZbVD4+Ml07ZltS
KzQ+PjJdPWZbVCs0Pj4yXTtmW1IrOD4+Ml09ZltUKzg+PjJdO2ZbUisxMj4+Ml09ZltUKzEyPj4y
XTtmW1Q+PjJdPWZbZT4+Ml07ZltUKzQ+PjJdPWZbZSs0Pj4yXTtmW1QrOD4+Ml09ZltlKzg+PjJd
O2ZbVCsxMj4+Ml09ZltlKzEyPj4yXTtFPVIrMzZ8MDtGPWZbRT4+Ml18MDtHPVIrNDB8MDtlPWZb
Rz4+Ml18MDtmW0U+PjJdPWU7ZltHPj4yXT1GO2lmKCEoQVMoYSxiLDIpfDApKXtsPTE7Rz03fWVs
c2V7ZT15UyhSLFQsZSxiLGQpfDA7Rz0xOX19aWYoKEd8MCk9PTcpe2s9eVMoUixULGUsYixkKXww
O2U9QlMoYyl8MDtmW2MrKGUqNzJ8MCkrNjg+PjJdPTE7cz1jKyhlKjcyfDApfDA7aj1jKyhrKjcy
fDApfDA7cT1zKzcyfDA7ZG97ZltzPj4yXT1mW2o+PjJdO3M9cys0fDA7aj1qKzR8MH13aGlsZSgo
c3wwKTwocXwwKSk7cj0rcFtIPj4zXTtwW2MrKGUqNzJ8MCkrMTY+PjNdPXI7cFtjKyhrKjcyfDAp
KzMyPj4zXT1yO3I9K3BbUj4+M107cFtjKyhlKjcyfDApKzg+PjNdPXI7cFtjKyhrKjcyfDApKzI0
Pj4zXT1yO2ZbYysoayo3MnwwKSs0OD4+Ml09ZTtmW2MrKGsqNzJ8MCkrNTI+PjJdPTA7ZltjKyhl
KjcyfDApKzQwPj4yXT1rO2ZbYysoZSo3MnwwKSs0ND4+Ml09MDtnPWZbYysoZSo3MnwwKSs0OD4+
Ml18MDtpZigoZ3wwKT4wKXtqPWMrKGcqNzJ8MCkrNDB8MDtpZigoZltqPj4yXXwwKT09KGt8MCkp
ZltqPj4yXT1lO2c9YysoZyo3MnwwKSs0NHwwO2lmKChmW2c+PjJdfDApPT0oa3wwKSlmW2c+PjJd
PWV9Zz1mW2MrKGUqNzJ8MCkrNTI+PjJdfDA7aWYoKGd8MCk+MCl7aj1jKyhnKjcyfDApKzQwfDA7
aWYoKGZbaj4+Ml18MCk9PShrfDApKWZbaj4+Ml09ZTtnPWMrKGcqNzJ8MCkrNDR8MDtpZigoZltn
Pj4yXXwwKT09KGt8MCkpZltnPj4yXT1lfUU9Q1MoKXwwO0c9Q1MoKXwwO0Y9Yysoayo3MnwwKSs1
NnwwO0Q9ZltGPj4yXXwwO2ZbZCsoRCo0MHwwKT4+Ml09MjtDPWQrKEQqNDB8MCkrOHwwO2ZbQz4+
Ml09ZltSPj4yXTtmW0MrND4+Ml09ZltSKzQ+PjJdO2ZbQys4Pj4yXT1mW1IrOD4+Ml07ZltDKzEy
Pj4yXT1mW1IrMTI+PjJdO2ZbZCsoRCo0MHwwKSs0Pj4yXT1hO2ZbZCsoRCo0MHwwKSszMj4+Ml09
RztmW2QrKEQqNDB8MCkrMzY+PjJdPUU7ZltkKyhFKjQwfDApPj4yXT0zO2ZbZCsoRSo0MHwwKSsy
ND4+Ml09aztmW2QrKEUqNDB8MCkrMjg+PjJdPUQ7ZltkKyhHKjQwfDApPj4yXT0zO2ZbZCsoRyo0
MHwwKSsyND4+Ml09ZTtmW2QrKEcqNDB8MCkrMjg+PjJdPUQ7ZltGPj4yXT1FO2ZbYysoZSo3Mnww
KSs1Nj4+Ml09RztpZihsKUc9MTk7ZWxzZSBHPTIwfWlmKChHfDApPT0xOSlpZighKEFTKGEsYiwx
KXwwKSl7Zz0xO0c9MjF9ZWxzZXtnPTE7Rz0zMn1lbHNlIGlmKChHfDApPT0yMClpZighKEFTKGEs
YiwyKXwwKSl7Zz0wO0c9MjF9ZWxzZXtnPTA7Rz0zMn1pZigoR3wwKT09MjEpe209eVMoVCxSLGZb
Uis0MD4+Ml18MCxiLGQpfDA7bD1CUyhjKXwwO2ZbYysobCo3MnwwKSs2OD4+Ml09MTtzPWMrKGwq
NzJ8MCl8MDtqPWMrKG0qNzJ8MCl8MDtxPXMrNzJ8MDtkb3tmW3M+PjJdPWZbaj4+Ml07cz1zKzR8
MDtqPWorNHwwfXdoaWxlKChzfDApPChxfDApKTtyPStwW1U+PjNdO3BbYysobCo3MnwwKSsxNj4+
M109cjtuPWMrKG0qNzJ8MCkrMzJ8MDtwW24+PjNdPXI7cj0rcFtUPj4zXTtwW2MrKGwqNzJ8MCkr
OD4+M109cjtwW2MrKG0qNzJ8MCkrMjQ+PjNdPXI7ZltjKyhtKjcyfDApKzQ4Pj4yXT1sO2ZbYyso
bSo3MnwwKSs1Mj4+Ml09MDtmW2MrKGwqNzJ8MCkrNDA+PjJdPW07ZltjKyhsKjcyfDApKzQ0Pj4y
XT0wO2o9ZltjKyhsKjcyfDApKzQ4Pj4yXXwwO2lmKChqfDApPjApe2s9Yysoaio3MnwwKSs0MHww
O2lmKChmW2s+PjJdfDApPT0obXwwKSlmW2s+PjJdPWw7aj1jKyhqKjcyfDApKzQ0fDA7aWYoKGZb
aj4+Ml18MCk9PShtfDApKWZbaj4+Ml09bH1qPWZbYysobCo3MnwwKSs1Mj4+Ml18MDtpZigoanww
KT4wKXtrPWMrKGoqNzJ8MCkrNDB8MDtpZigoZltrPj4yXXwwKT09KG18MCkpZltrPj4yXT1sO2o9
Yysoaio3MnwwKSs0NHwwO2lmKChmW2o+PjJdfDApPT0obXwwKSlmW2o+PjJdPWx9Qj1DUygpfDA7
Rj1DUygpfDA7RT1jKyhtKjcyfDApKzU2fDA7RD1mW0U+PjJdfDA7ZltkKyhEKjQwfDApPj4yXT0y
O0M9ZCsoRCo0MHwwKSs4fDA7ZltDPj4yXT1mW1Q+PjJdO2ZbQys0Pj4yXT1mW1QrND4+Ml07ZltD
Kzg+PjJdPWZbVCs4Pj4yXTtmW0MrMTI+PjJdPWZbVCsxMj4+Ml07ZltkKyhEKjQwfDApKzQ+PjJd
PWE7ZltkKyhEKjQwfDApKzMyPj4yXT1GO2ZbZCsoRCo0MHwwKSszNj4+Ml09QjtmW2QrKEIqNDB8
MCk+PjJdPTM7ZltkKyhCKjQwfDApKzI0Pj4yXT1tO2ZbZCsoQio0MHwwKSsyOD4+Ml09RDtmW2Qr
KEYqNDB8MCk+PjJdPTM7ZltkKyhGKjQwfDApKzI0Pj4yXT1sO2ZbZCsoRio0MHwwKSsyOD4+Ml09
RDtmW0U+PjJdPUI7ZltjKyhsKjcyfDApKzU2Pj4yXT1GO0Y9ZTtFPTA7Qj1UfWVsc2UgaWYoKEd8
MCk9PTMyKXtuPXlTKFQsUixmW1IrNDA+PjJdfDAsYixkKXwwO0Y9ZTttPW47RT0xO249Yysobio3
MnwwKSszMnwwO0I9VH1DPWMrKG0qNzJ8MCkrMjR8MDtEPVMrOHwwO3o9Zz9iKyhhKjU2fDApKzQ4
fDA6YisoYSo1NnwwKSs0NHwwO2c9MDtlPTA7eT1GO2E6d2hpbGUoMSl7aWYoKHl8MCk8PTApYnJl
YWs7aj1jKyh5KjcyfDApfDA7dz1jKyh5KjcyfDApKzI0fDA7aWYoIShEUyh3LEMpfDApKWJyZWFr
O2s9YysoeSo3MnwwKSs1NnwwO3U9ZltrPj4yXXwwO2w9Q1MoKXwwO289Q1MoKXwwO2ZbZCsodSo0
MHwwKT4+Ml09MTtmW2QrKHUqNDB8MCkrND4+Ml09YTtmW2QrKHUqNDB8MCkrMzI+PjJdPWw7Zltk
Kyh1KjQwfDApKzM2Pj4yXT1vO2ZbZCsobCo0MHwwKT4+Ml09MztmW2QrKGwqNDB8MCkrMjQ+PjJd
PXk7ZltkKyhsKjQwfDApKzI4Pj4yXT11O2ZbZCsobyo0MHwwKT4+Ml09Mzt4PUJTKGMpfDA7Zltk
KyhvKjQwfDApKzI0Pj4yXT14O0E9YysoeCo3MnwwKXwwO2ZbYysoeCo3MnwwKSs2OD4+Ml09MTtm
W2QrKG8qNDB8MCkrMjg+PjJdPXU7Zz0oeXwwKT09KEZ8MCk/eDpnO3U9YysoeSo3MnwwKSszMnww
O2lmKCtJKCsoK3BbdT4+M10tK3Bbbj4+M10pKTw9MS4wZS0wNz8rSSgrKCtwW3c+PjNdLStwW0M+
PjNdKSk8PTEuMGUtMDc6MCllPXg7cz1BO3E9cys3MnwwO2Rve2Zbcz4+Ml09ZltqPj4yXTtzPXMr
NHwwO2o9ais0fDB9d2hpbGUoKHN8MCk8KHF8MCkpO2Zbaz4+Ml09bDtmW2MrKHgqNzJ8MCkrNTY+
PjJdPW87cz1jKyh5KjcyfDApKzQ4fDA7dj1jKyh5KjcyfDApKzUyfDA7aj0oZlt2Pj4yXXwwKTwx
O2RvIGlmKChmW3M+PjJdfDApPDEpe2lmKGope0c9MTIxO2JyZWFrIGF9bz1jKyh5KjcyfDApKzQw
fDA7aj1mW28+PjJdfDA7ZG8gaWYoKGp8MCk+MD8oTT1jKyh5KjcyfDApKzQ0fDAsTj1mW00+PjJd
fDAsKE58MCk+MCk6MCl7az1jKyh5KjcyfDApKzYwfDA7aj1mW2s+PjJdfDA7aWYoKGp8MCk8PTAp
e2ZbYysoeCo3MnwwKSs0MD4+Ml09TjtmW2MrKHgqNzJ8MCkrNDQ+PjJdPS0xO2ZbTT4+Ml09LTE7
ZltjKyhOKjcyfDApKzQ4Pj4yXT14O2JyZWFrfWlmKChmW2MrKHkqNzJ8MCkrNjQ+PjJdfDApPT0x
KXtmW2MrKHgqNzJ8MCkrNDA+PjJdPU47ZltNPj4yXT0tMTtmW2MrKHgqNzJ8MCkrNDQ+PjJdPWo7
ZltjKygoZltvPj4yXXwwKSo3MnwwKSs0OD4+Ml09eTtmW2MrKE4qNzJ8MCkrNDg+PjJdPXh9ZWxz
ZXtmW2MrKHgqNzJ8MCkrNDQ+PjJdPS0xO3E9YysoeCo3MnwwKSs0MHwwO2ZbcT4+Ml09ZltNPj4y
XTtsPWZbbz4+Ml18MDtmW00+PjJdPWw7ZltvPj4yXT1qO2ZbYysoaio3MnwwKSs0OD4+Ml09eTtm
W2MrKGwqNzJ8MCkrNDg+PjJdPXk7aj1mW3E+PjJdfDB9ZltjKyhqKjcyfDApKzQ4Pj4yXT14O2Zb
YysoeCo3MnwwKSs2MD4+Ml09MDtmW2s+PjJdPTB9ZWxzZSBHPTc3O3doaWxlKDApO2RvIGlmKChH
fDApPT03Nyl7Rz0wO2s9Yysoaio3MnwwKSs0OHwwO2w9ZltrPj4yXXwwO2o9Yysoaio3MnwwKSs1
MnwwO2lmKChsfDApPjA/KGZbaj4+Ml18MCk+MDowKXtqPWZbYysobCo3MnwwKSs0Pj4yXXwwO2lm
KChqfDApPjA/KHpTKGosYixUKXwwKT09MDowKXtmW2MrKHgqNzJ8MCkrNDQ+PjJdPS0xO2ZbYyso
eSo3MnwwKSs0ND4+Ml09LTE7ZltvPj4yXT0tMTtmW2MrKChmW2MrKHgqNzJ8MCkrNDA+PjJdfDAp
KjcyfDApKzUyPj4yXT14O2JyZWFrfWZbYysoeSo3MnwwKSs0ND4+Ml09LTE7ZltjKyh4KjcyfDAp
KzQ0Pj4yXT0tMTtmW2MrKHgqNzJ8MCkrNDA+PjJdPS0xO2ZbYysoKGZbbz4+Ml18MCkqNzJ8MCkr
NDg+PjJdPXk7YnJlYWt9ZltrPj4yXT15O2Zbaj4+Ml09eH13aGlsZSgwKTtpZigrSSgrKCtwW3U+
PjNdLStwW24+PjNdKSk8PTEuMGUtMDc/RSYrSSgrKCtwW3c+PjNdLStwW0M+PjNdKSk8PTEuMGUt
MDc6MCl7aj1mW3o+PjJdfDA7aWYoKGp8MCk+MD96UyhqLGIsUil8MDowKXtmW2MrKChmW3Y+PjJd
fDApKjcyfDApKzQwPj4yXT15O2ZbYysoeCo3MnwwKSs1Mj4+Ml09LTE7ZltjKyh4KjcyfDApKzQ4
Pj4yXT0tMTtqPWZbdj4+Ml18MDticmVha31mW2MrKChmW2MrKHgqNzJ8MCkrNTI+PjJdfDApKjcy
fDApKzQ0Pj4yXT14O2Zbdj4+Ml09LTE7ZltzPj4yXT0tMTtqPS0xO2JyZWFrfWo9Zlt2Pj4yXXww
O2s9Yysoaio3MnwwKSs0MHwwO2w9ZltrPj4yXXwwO289Yysoaio3MnwwKSs0NHwwO2RvIGlmKChs
fDApPjA/KE89ZltvPj4yXXwwLChPfDApPjApOjApe3E9Yysoaio3MnwwKSs2MHwwO2lmKChsfDAp
PT0oeXwwKSl7ZltxPj4yXT1PO2ZbYysoaio3MnwwKSs2ND4+Ml09MTticmVha31lbHNle2ZbcT4+
Ml09bDtmW2MrKGoqNzJ8MCkrNjQ+PjJdPTI7YnJlYWt9fXdoaWxlKDApO2Zbaz4+Ml09eTtmW28+
PjJdPXh9ZWxzZXtpZighail7cj0rcFt1Pj4zXTtoPStwW0g+PjNdO2k9ci1oO2lmKCEoK0koK2kp
PD0xLjBlLTA3KSl7cFtEPj4zXT1yO1c9K3BbUj4+M107cFtTPj4zXT0oK3BbQj4+M10tVykqKGkv
KCtwW1U+PjNdLWgpKStXO3E9KEVTKFMsdyl8MCkhPTB9ZWxzZSBxPStwW3c+PjNdPitwW1I+PjNd
O289YysoeSo3MnwwKSs0MHwwO2o9ZltvPj4yXXwwO2RvIGlmKChqfDApPjA/KFA9YysoeSo3Mnww
KSs0NHwwLFE9ZltQPj4yXXwwLChRfDApPjApOjApe2s9YysoeSo3MnwwKSs2MHwwO2o9ZltrPj4y
XXwwO2lmKChqfDApPD0wKXtmW2MrKHgqNzJ8MCkrNDA+PjJdPVE7ZltjKyh4KjcyfDApKzQ0Pj4y
XT0tMTtmW1A+PjJdPS0xO2ZbYysoUSo3MnwwKSs0OD4+Ml09eDticmVha31pZigoZltjKyh5Kjcy
fDApKzY0Pj4yXXwwKT09MSl7ZltjKyh4KjcyfDApKzQwPj4yXT1RO2ZbUD4+Ml09LTE7ZltjKyh4
KjcyfDApKzQ0Pj4yXT1qO2ZbYysoKGZbbz4+Ml18MCkqNzJ8MCkrNDg+PjJdPXk7ZltjKyhRKjcy
fDApKzQ4Pj4yXT14fWVsc2V7ZltjKyh4KjcyfDApKzQ0Pj4yXT0tMTt1PWMrKHgqNzJ8MCkrNDB8
MDtmW3U+PjJdPWZbUD4+Ml07bD1mW28+PjJdfDA7ZltQPj4yXT1sO2Zbbz4+Ml09ajtmW2MrKGoq
NzJ8MCkrNDg+PjJdPXk7ZltjKyhsKjcyfDApKzQ4Pj4yXT15O2o9Zlt1Pj4yXXwwfWZbYysoaio3
MnwwKSs0OD4+Ml09eDtmW2MrKHgqNzJ8MCkrNjA+PjJdPTA7ZltrPj4yXT0wfWVsc2UgRz0xMDc7
d2hpbGUoMCk7ZG8gaWYoKEd8MCk9PTEwNyl7Rz0wO2s9Yysoaio3MnwwKSs0OHwwO2w9ZltrPj4y
XXwwO2o9Yysoaio3MnwwKSs1MnwwO2lmKChsfDApPjA/KGZbaj4+Ml18MCk+MDowKXtqPWZbYyso
bCo3MnwwKSs0Pj4yXXwwO2lmKChqfDApPjA/KHpTKGosYixUKXwwKT09MDowKXtmW2MrKHgqNzJ8
MCkrNDQ+PjJdPS0xO2ZbYysoeSo3MnwwKSs0ND4+Ml09LTE7ZltvPj4yXT0tMTtmW2MrKChmW2Mr
KHgqNzJ8MCkrNDA+PjJdfDApKjcyfDApKzUyPj4yXT14O2JyZWFrfWZbYysoeSo3MnwwKSs0ND4+
Ml09LTE7ZltjKyh4KjcyfDApKzQ0Pj4yXT0tMTtmW2MrKHgqNzJ8MCkrNDA+PjJdPS0xO2ZbYyso
KGZbbz4+Ml18MCkqNzJ8MCkrNDg+PjJdPXk7YnJlYWt9ZltrPj4yXT15O2Zbaj4+Ml09eH13aGls
ZSgwKTtpZigrSSgrKHItK3Bbbj4+M10pKTw9MS4wZS0wNz9FJitJKCsoK3Bbdz4+M10tK3BbQz4+
M10pKTw9MS4wZS0wNzowKXtqPWZbcz4+Ml18MDtmW2MrKGoqNzJ8MCkrNDA+PjJdPXk7ZltjKyhq
KjcyfDApKzQ0Pj4yXT0tMTtqPWZbdj4+Ml18MDtmW2MrKGoqNzJ8MCkrNDA+PjJdPXg7ZltjKyhq
KjcyfDApKzQ0Pj4yXT0tMTtmW2MrKHgqNzJ8MCkrNDg+PjJdPWo7ZltjKyh4KjcyfDApKzUyPj4y
XT0tMTtmW3Y+PjJdPS0xO2o9LTF9ZWxzZSBHPTExNztkbyBpZigoR3wwKT09MTE3KXtHPTA7aj1m
W3M+PjJdfDA7ZltjKyhqKjcyfDApKzQwPj4yXT15O2s9Yysoaio3MnwwKSs0NHwwO2lmKHEpe2Zb
az4+Ml09eDt3PWZbdj4+Ml18MDtmW2MrKHcqNzJ8MCkrNDA+PjJdPXg7ZltjKyh3KjcyfDApKzQ0
Pj4yXT0tMTtmW3Y+PjJdPS0xO2JyZWFrfWVsc2V7ZltrPj4yXT0tMTtqPWZbdj4+Ml18MDtmW2Mr
KGoqNzJ8MCkrNDA+PjJdPXk7ZltjKyhqKjcyfDApKzQ0Pj4yXT14O2ZbYysoeCo3MnwwKSs0OD4+
Ml09ajtmW2MrKHgqNzJ8MCkrNTI+PjJdPS0xO2o9Zlt2Pj4yXXwwO2JyZWFrfX13aGlsZSgwKTti
cmVha31vPWMrKHkqNzJ8MCkrNDB8MDtqPWZbbz4+Ml18MDtkbyBpZigoanwwKT4wPyhKPWMrKHkq
NzJ8MCkrNDR8MCxLPWZbSj4+Ml18MCwoS3wwKT4wKTowKXtrPWMrKHkqNzJ8MCkrNjB8MDtqPWZb
az4+Ml18MDtpZigoanwwKTw9MCl7ZltjKyh4KjcyfDApKzQwPj4yXT1LO2ZbYysoeCo3MnwwKSs0
ND4+Ml09LTE7ZltKPj4yXT0tMTtmW2MrKEsqNzJ8MCkrNDg+PjJdPXg7YnJlYWt9aWYoKGZbYyso
eSo3MnwwKSs2ND4+Ml18MCk9PTEpe2ZbYysoeCo3MnwwKSs0MD4+Ml09SztmW0o+PjJdPS0xO2Zb
YysoeCo3MnwwKSs0ND4+Ml09ajtmW2MrKChmW28+PjJdfDApKjcyfDApKzQ4Pj4yXT15O2ZbYyso
Syo3MnwwKSs0OD4+Ml09eH1lbHNle2ZbYysoeCo3MnwwKSs0ND4+Ml09LTE7cT1jKyh4KjcyfDAp
KzQwfDA7ZltxPj4yXT1mW0o+PjJdO2w9ZltvPj4yXXwwO2ZbSj4+Ml09bDtmW28+PjJdPWo7Zltj
KyhqKjcyfDApKzQ4Pj4yXT15O2ZbYysobCo3MnwwKSs0OD4+Ml09eTtqPWZbcT4+Ml18MH1mW2Mr
KGoqNzJ8MCkrNDg+PjJdPXg7ZltjKyh4KjcyfDApKzYwPj4yXT0wO2Zbaz4+Ml09MH1lbHNlIEc9
NTA7d2hpbGUoMCk7ZG8gaWYoKEd8MCk9PTUwKXtHPTA7az1jKyhqKjcyfDApKzQ4fDA7bD1mW2s+
PjJdfDA7aj1jKyhqKjcyfDApKzUyfDA7aWYoKGx8MCk+MD8oZltqPj4yXXwwKT4wOjApe2o9Zltj
KyhsKjcyfDApKzQ+PjJdfDA7aWYoKGp8MCk+MD8oelMoaixiLFQpfDApPT0wOjApe2ZbYysoeCo3
MnwwKSs0ND4+Ml09LTE7ZltjKyh5KjcyfDApKzQ0Pj4yXT0tMTtmW28+PjJdPS0xO2ZbYysoKGZb
YysoeCo3MnwwKSs0MD4+Ml18MCkqNzJ8MCkrNTI+PjJdPXg7YnJlYWt9ZltjKyh5KjcyfDApKzQ0
Pj4yXT0tMTtmW2MrKHgqNzJ8MCkrNDQ+PjJdPS0xO2ZbYysoeCo3MnwwKSs0MD4+Ml09LTE7Zltj
KygoZltvPj4yXXwwKSo3MnwwKSs0OD4+Ml09eTticmVha31mW2s+PjJdPXk7ZltqPj4yXT14fXdo
aWxlKDApO2lmKCtJKCsoK3BbdT4+M10tK3Bbbj4+M10pKTw9MS4wZS0wNz9FJitJKCsoK3Bbdz4+
M10tK3BbQz4+M10pKTw9MS4wZS0wNzowKXtqPWZbej4+Ml18MDtpZigoanwwKT4wP3pTKGosYixS
KXwwOjApe2ZbYysoKGZbcz4+Ml18MCkqNzJ8MCkrNDA+PjJdPXk7ZltjKyh4KjcyfDApKzUyPj4y
XT0tMTtmW2MrKHgqNzJ8MCkrNDg+PjJdPS0xO2o9ZltzPj4yXXwwO2JyZWFrfWZbYysoKGZbYyso
eCo3MnwwKSs0OD4+Ml18MCkqNzJ8MCkrNDQ+PjJdPXg7Zlt2Pj4yXT0tMTtmW3M+PjJdPS0xO2o9
LTE7YnJlYWt9aj1mW3M+PjJdfDA7az1jKyhqKjcyfDApKzQwfDA7bD1mW2s+PjJdfDA7bz1jKyhq
KjcyfDApKzQ0fDA7ZG8gaWYoKGx8MCk+MD8oTD1mW28+PjJdfDAsKEx8MCk+MCk6MCl7cT1jKyhq
KjcyfDApKzYwfDA7aWYoKGx8MCk9PSh5fDApKXtmW3E+PjJdPUw7ZltjKyhqKjcyfDApKzY0Pj4y
XT0xO2JyZWFrfWVsc2V7ZltxPj4yXT1sO2ZbYysoaio3MnwwKSs2ND4+Ml09MjticmVha319d2hp
bGUoMCk7ZltrPj4yXT15O2Zbbz4+Ml09eH13aGlsZSgwKTtmW0E+PjJdPWE7ZltjKyh5KjcyfDAp
KzQ+PjJdPWE7eT1qfWlmKChHfDApPT0xMjEpcTIoMTQ2Njk0LDE5LDEsZlsxOTQ1N118MCl8MDtG
UyhhLEYsbSwxLGMsZCk7RlMoYSxnLGUsMixjLGQpO2ZbYisoYSo1NnwwKSszMj4+Ml09MTt0PVY7
cmV0dXJufWZ1bmN0aW9uIHhTKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBl
PTAsZz0wLGg9MCxpPTA7aWYoIShmW2IrKGEqNTZ8MCkrMzI+PjJdfDApKXtlPWIrKGEqNTZ8MCl8
MDtnPWIrKGEqNTZ8MCkrMTZ8MDtoPWIrKGEqNTZ8MCkrMzZ8MDtpPWMrKCh5UyhlLGcsZltoPj4y
XXwwLGIsZCl8MCkqNzJ8MCkrNTZ8MDtmW2g+PjJdPWZbaT4+Ml07YT1iKyhhKjU2fDApKzQwfDA7
ZD1jKygoeVMoZyxlLGZbYT4+Ml18MCxiLGQpfDApKjcyfDApKzU2fDA7ZlthPj4yXT1mW2Q+PjJd
fXJldHVybn1mdW5jdGlvbiB5UyhhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9
ZXwwO3ZhciBnPTAuMCxoPTAsaT0wLjAsaj0wLjAsaz0wLjAsbD0wLjAsbT0wLjAsbj0wLG89MC4w
LHE9MCxyPTA7bj1hKzh8MDtxPWIrOHwwO2E6d2hpbGUoMSl7YjpkbyBzd2l0Y2goZltlKyhjKjQw
fDApPj4yXXwwKXtjYXNlIDM6e3I9MzticmVhayBhfWNhc2UgMjp7Zz0rcFtuPj4zXTtoPWUrKGMq
NDB8MCkrOHwwO2k9K3BbZSsoYyo0MHwwKSsxNj4+M107aj1pKzEuMGUtMDc7ZG8gaWYoIShnPmop
KXtrPWkrLTEuMGUtMDc7aWYoIShnPGspPytwW2E+PjNdPitwW2g+PjNdOjApYnJlYWs7aWYoK0ko
KyhnLWkpKTw9MS4wZS0wNz8obD0rcFtoPj4zXSwrSSgrKCtwW2E+PjNdLWwpKTw9MS4wZS0wNyk6
MCl7Zz0rcFtxPj4zXTtkbyBpZighKGc+aikpe2lmKCEoZzxrKT8rcFtiPj4zXT5sOjApYnJlYWs7
Yz1lKyhjKjQwfDApKzMyfDA7YnJlYWsgYn13aGlsZSgwKTtjPWUrKGMqNDB8MCkrMzZ8MDticmVh
ayBifWM9ZSsoYyo0MHwwKSszMnwwO2JyZWFrIGJ9d2hpbGUoMCk7Yz1lKyhjKjQwfDApKzM2fDA7
YnJlYWt9Y2FzZSAxOntnPStwW24+PjNdO2g9ZltlKyhjKjQwfDApKzQ+PjJdfDA7aWYoK0koKyhn
LStwW2QrKGgqNTZ8MCkrOD4+M10pKTw9MS4wZS0wNz8obT0rcFthPj4zXSwrSSgrKG0tK3BbZCso
aCo1NnwwKT4+M10pKTw9MS4wZS0wNyk6MClpPW07ZWxzZSByPTE5O2RvIGlmKChyfDApPT0xOSl7
cj0wO2lmKCtJKCsoZy0rcFtkKyhoKjU2fDApKzI0Pj4zXSkpPD0xLjBlLTA3PyhvPStwW2E+PjNd
LCtJKCsoby0rcFtkKyhoKjU2fDApKzE2Pj4zXSkpPD0xLjBlLTA3KTowKXtpPW87YnJlYWt9aWYo
ISh6UyhoLGQsYSl8MCkpe2M9ZSsoYyo0MHwwKSszNnwwO2JyZWFrIGJ9ZWxzZXtjPWUrKGMqNDB8
MCkrMzJ8MDticmVhayBifX13aGlsZSgwKTtpZighKCtJKCsoZy0rcFtxPj4zXSkpPD0xLjBlLTA3
KSlpZighKHpTKGgsZCxiKXwwKSl7Yz1lKyhjKjQwfDApKzM2fDA7YnJlYWsgYn1lbHNle2M9ZSso
Yyo0MHwwKSszMnwwO2JyZWFrIGJ9ZWxzZSBpZigrcFtiPj4zXTxpKXtjPWUrKGMqNDB8MCkrMzJ8
MDticmVhayBifWVsc2V7Yz1lKyhjKjQwfDApKzM2fDA7YnJlYWsgYn19ZGVmYXVsdDp7cj0zMTti
cmVhayBhfX13aGlsZSgwKTtjPWZbYz4+Ml18MH1pZigocnwwKT09MylyZXR1cm4gZltlKyhjKjQw
fDApKzI0Pj4yXXwwO2Vsc2UgaWYoKHJ8MCk9PTMxKXtxMigxNDY2MjgsMzUsMSxmWzE5NDU3XXww
KXwwO3hhKDE0NjY2NCwxNDY2NjYsMzQ5LDE0NjY3OCl9cmV0dXJuIDB9ZnVuY3Rpb24gelMoYSxi
LGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMCxlPTAuMCxmPTAsZz0wLjAsaD0wLGk9MCxq
PTAuMDtmPWIrKGEqNTZ8MCkrMTZ8MDtnPStwW2IrKGEqNTZ8MCkrMjQ+PjNdO2g9YisoYSo1Nnww
KXwwO2U9K3BbYisoYSo1NnwwKSs4Pj4zXTtkbyBpZighKGc+ZSsxLjBlLTA3KSl7aWYoIShnPGUr
LTEuMGUtMDcpPytwW2Y+PjNdPitwW2g+PjNdOjApe2k9NDticmVha31kPStwW2MrOD4+M107aWYo
K0koKyhnLWQpKTw9MS4wZS0wNyl7ZD0rcFtjPj4zXTwrcFtmPj4zXT8xLjA6LTEuMDticmVha31p
ZighKCtJKCsoZS1kKSk8PTEuMGUtMDcpKXtqPStwW2Y+PjNdO2Q9KCtwW2g+PjNdLWopKihkLWcp
LSgrcFtjPj4zXS1qKSooZS1nKTticmVha31lbHNle2Q9K3BbYz4+M108K3BbaD4+M10/MS4wOi0x
LjA7YnJlYWt9fWVsc2UgaT00O3doaWxlKDApO2RvIGlmKChpfDApPT00KXtkPStwW2MrOD4+M107
aWYoK0koKyhnLWQpKTw9MS4wZS0wNyl7ZD0rcFtjPj4zXTwrcFtmPj4zXT8xLjA6LTEuMDticmVh
a31pZighKCtJKCsoZS1kKSk8PTEuMGUtMDcpKXtqPStwW2g+PjNdO2Q9KCtwW2Y+PjNdLWopKihk
LWUpLSgrcFtjPj4zXS1qKSooZy1lKTticmVha31lbHNle2Q9K3BbYz4+M108K3BbaD4+M10/MS4w
Oi0xLjA7YnJlYWt9fXdoaWxlKDApO3JldHVybiBkPjAuMHwwfWZ1bmN0aW9uIEFTKGEsYixjKXth
PWF8MDtiPWJ8MDtjPWN8MDtyZXR1cm4gZltiKygoZlsoKGN8MCk9PTE/YisoYSo1NnwwKSs0OHww
OmIrKGEqNTZ8MCkrNDR8MCk+PjJdfDApKjU2fDApKzMyPj4yXXwwfWZ1bmN0aW9uIEJTKGEpe2E9
YXwwO3ZhciBiPTAsYz0wLGQ9MDtkPXQ7dD10KzE2fDA7Yz1kO2I9Zls0ODUwOV18MDtpZigoYnww
KTwoZls0ODUwOF18MCkpe2ZbYSsoYio3MnwwKT4+Ml09LTE7ZlthKyhiKjcyfDApKzQ+PjJdPS0x
O2ZbYSsoYio3MnwwKSs2OD4+Ml09MTtmWzQ4NTA5XT1iKzE7dD1kO3JldHVybiBifDB9ZWxzZXtk
PWZbMTk0NTddfDA7ZltjPj4yXT1iO2cyKGQsMTQ2NzUzLGMpfDA7eGEoMTQ2NjY0LDE0NjY2Niw4
OCwxNDY3OTEpfXJldHVybiAwfWZ1bmN0aW9uIENTKCl7dmFyIGE9MDthPWZbNDg1MTBdfDA7aWYo
KGF8MCk8KGZbNDg1MDddfDApKXtmWzQ4NTEwXT1hKzE7cmV0dXJuIGF8MH1lbHNle3EyKDE0Njcx
NCwzMCwxLGZbMTk0NTddfDApfDA7eGEoMTQ2NjY0LDE0NjY2Niw3MiwxNDY3NDUpfXJldHVybiAw
fWZ1bmN0aW9uIERTKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MC4wLGQ9MC4wO2M9K3BbYSs4Pj4z
XTtkPStwW2IrOD4+M107aWYoIShjPmQrMS4wZS0wNykpaWYoYzxkKy0xLjBlLTA3KWE9MDtlbHNl
IGE9K3BbYT4+M10+PStwW2I+PjNdJjE7ZWxzZSBhPTE7cmV0dXJuIGF8MH1mdW5jdGlvbiBFUyhh
LGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAuMDtjPStwW2ErOD4+M107ZD0rcFtiKzg+PjNd
O2lmKCEoYzxkKy0xLjBlLTA3KSlpZihjPmQrMS4wZS0wNylhPTA7ZWxzZSBhPStwW2E+PjNdPCtw
W2I+PjNdJjE7ZWxzZSBhPTE7cmV0dXJuIGF8MH1mdW5jdGlvbiBGUyhhLGIsYyxkLGUsZyl7YT1h
fDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0wLGs9MCxsPTAs
bT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTA7dD1lKyhjKjcyfDApKzI0fDA7cz0o
ZHwwKT09MTthOndoaWxlKDEpe3E9KGJ8MCk+MDtyPWUrKGIqNzJ8MCkrMjR8MDtqPWUrKGIqNzJ8
MCkrNDh8MDtrPWUrKGIqNzJ8MCl8MDtsPWUrKGIqNzJ8MCkrNTJ8MDttPWUrKGIqNzJ8MCkrNHww
O249ZSsoYio3MnwwKSs1MnwwO289ZSsoYio3MnwwKSs1NnwwO3A9ZSsoYio3MnwwKSs1MnwwO2I6
d2hpbGUoMSl7aWYoIXEpYnJlYWsgYTtpZighKERTKHIsdCl8MCkpYnJlYWsgYTtjPWZbaj4+Ml18
MDtkPShjfDApPjA7ZG8gaWYocyl7aWYoZD8oZltlKyhjKjcyfDApKzQ+PjJdfDApPT0oYXwwKTow
KWJyZWFrO2M9ZltsPj4yXXwwO2lmKChjfDApPD0wKXtiPWM7YnJlYWsgYn1pZigoZltlKyhjKjcy
fDApKzQ+PjJdfDApIT0oYXwwKSl7Yj1jO2JyZWFrIGJ9fWVsc2V7aWYoZD8oZltlKyhjKjcyfDAp
Pj4yXXwwKT09KGF8MCk6MClicmVhaztjPWZbbj4+Ml18MDtpZigoY3wwKTw9MCl7Yj1jO2JyZWFr
IGJ9aWYoKGZbZSsoYyo3MnwwKT4+Ml18MCkhPShhfDApKXtiPWM7YnJlYWsgYn19d2hpbGUoMCk7
aWYoKGZbaz4+Ml18MCkhPShmW2UrKGMqNzJ8MCk+PjJdfDApKXtiPWM7YnJlYWt9aWYoKGZbbT4+
Ml18MCkhPShmW2UrKGMqNzJ8MCkrND4+Ml18MCkpe2I9YzticmVha311PWZbZSsoYyo3MnwwKSs1
Nj4+Ml18MDtkPWZbZysodSo0MHwwKSsyOD4+Ml18MDtoPWcrKGQqNDB8MCkrMzJ8MDtpPWZbbz4+
Ml18MDtpZigoZltoPj4yXXwwKT09KHV8MCkpZltoPj4yXT1pO2Vsc2UgZltnKyhkKjQwfDApKzM2
Pj4yXT1pO2Q9ZltlKyhjKjcyfDApKzQ4Pj4yXXwwO2Zbaj4+Ml09ZDtkbyBpZigoZHwwKT4wKXto
PWUrKGQqNzJ8MCkrNDB8MDtpZigoZltoPj4yXXwwKT09KGN8MCkpe2ZbaD4+Ml09YjticmVha31k
PWUrKGQqNzJ8MCkrNDR8MDtpZigoZltkPj4yXXwwKT09KGN8MCkpZltkPj4yXT1ifXdoaWxlKDAp
O2Q9ZltlKyhjKjcyfDApKzUyPj4yXXwwO2ZbcD4+Ml09ZDtkbyBpZigoZHwwKT4wKXtoPWUrKGQq
NzJ8MCkrNDB8MDtpZigoZltoPj4yXXwwKT09KGN8MCkpe2ZbaD4+Ml09YjticmVha31kPWUrKGQq
NzJ8MCkrNDR8MDtpZigoZltkPj4yXXwwKT09KGN8MCkpZltkPj4yXT1ifXdoaWxlKDApO3U9ZSso
Yyo3MnwwKSsyNHwwO2Zbcj4+Ml09Zlt1Pj4yXTtmW3IrND4+Ml09Zlt1KzQ+PjJdO2Zbcis4Pj4y
XT1mW3UrOD4+Ml07ZltyKzEyPj4yXT1mW3UrMTI+PjJdO2ZbZSsoYyo3MnwwKSs2OD4+Ml09Mn19
cmV0dXJufWZ1bmN0aW9uIEdTKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLjAsZT0w
LjA7ZD0rcFtiKzg+PjNdO2U9K3BbYys4Pj4zXTtkbyBpZighKGQ+ZSsxLjBlLTA3KSl7aWYoISgr
SSgrKGQtZSkpPD0xLjBlLTA3KSl7ZlthPj4yXT1mW2M+PjJdO2ZbYSs0Pj4yXT1mW2MrND4+Ml07
ZlthKzg+PjJdPWZbYys4Pj4yXTtmW2ErMTI+PjJdPWZbYysxMj4+Ml07YnJlYWt9aWYoK3BbYj4+
M10+K3BbYz4+M10rMS4wZS0wNyl7ZlthPj4yXT1mW2I+PjJdO2ZbYSs0Pj4yXT1mW2IrND4+Ml07
ZlthKzg+PjJdPWZbYis4Pj4yXTtmW2ErMTI+PjJdPWZbYisxMj4+Ml07YnJlYWt9ZWxzZXtmW2E+
PjJdPWZbYz4+Ml07ZlthKzQ+PjJdPWZbYys0Pj4yXTtmW2ErOD4+Ml09ZltjKzg+PjJdO2ZbYSsx
Mj4+Ml09ZltjKzEyPj4yXTticmVha319ZWxzZXtmW2E+PjJdPWZbYj4+Ml07ZlthKzQ+PjJdPWZb
Yis0Pj4yXTtmW2ErOD4+Ml09ZltiKzg+PjJdO2ZbYSsxMj4+Ml09ZltiKzEyPj4yXX13aGlsZSgw
KTtyZXR1cm59ZnVuY3Rpb24gSFMoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMCxl
PTAuMDtkPStwW2IrOD4+M107ZT0rcFtjKzg+PjNdO2RvIGlmKCEoZDxlKy0xLjBlLTA3KSl7aWYo
ISgrSSgrKGQtZSkpPD0xLjBlLTA3KSl7ZlthPj4yXT1mW2M+PjJdO2ZbYSs0Pj4yXT1mW2MrND4+
Ml07ZlthKzg+PjJdPWZbYys4Pj4yXTtmW2ErMTI+PjJdPWZbYysxMj4+Ml07YnJlYWt9aWYoK3Bb
Yj4+M108K3BbYz4+M10pe2ZbYT4+Ml09ZltiPj4yXTtmW2ErND4+Ml09ZltiKzQ+PjJdO2ZbYSs4
Pj4yXT1mW2IrOD4+Ml07ZlthKzEyPj4yXT1mW2IrMTI+PjJdO2JyZWFrfWVsc2V7ZlthPj4yXT1m
W2M+PjJdO2ZbYSs0Pj4yXT1mW2MrND4+Ml07ZlthKzg+PjJdPWZbYys4Pj4yXTtmW2ErMTI+PjJd
PWZbYysxMj4+Ml07YnJlYWt9fWVsc2V7ZlthPj4yXT1mW2I+PjJdO2ZbYSs0Pj4yXT1mW2IrND4+
Ml07ZlthKzg+PjJdPWZbYis4Pj4yXTtmW2ErMTI+PjJdPWZbYisxMj4+Ml19d2hpbGUoMCk7cmV0
dXJufWZ1bmN0aW9uIElTKGEpe2E9YXwwO3ZhciBiPTA7Yj1ESCg4KXwwO2lmKGJ8MCl7ZltiKzQ+
PjJdPWE7ZltiPj4yXT0wfXJldHVybiBifDB9ZnVuY3Rpb24gSlMoYSxiKXthPWF8MDtiPWJ8MDtp
ZihiKXtiPUlTKGIpfDA7ZltiPj4yXT1hO2E9Yn1yZXR1cm4gYXwwfWZ1bmN0aW9uIEtTKGEpe2E9
YXwwO3ZhciBiPTA7ZG97Yj1hO2E9ZlthPj4yXXwwO01fKGIpfXdoaWxlKChhfDApIT0wKTtyZXR1
cm59ZnVuY3Rpb24gTFMoKXt2YXIgYT0wLGI9MDthPURIKDE5OTIpfDA7aWYoYXwwKXtiPU1TKGEp
fDA7ZlthPj4yXT1ifXJldHVybiBhfDB9ZnVuY3Rpb24gTVMoYSl7YT1hfDA7dmFyIGI9MDtiPVNT
KGEpfDA7ZltiKzQ+PjJdPTA7YT1hKzE5NzJ8MDtmW2E+PjJdPShmW2E+PjJdfDApKzE7cmV0dXJu
IGJ8MH1mdW5jdGlvbiBOUyhhKXthPWF8MDtPUyhhLGZbYT4+Ml18MCk7TV8oZlthPj4yXXwwKTtN
XyhhKTtyZXR1cm4gMH1mdW5jdGlvbiBPUyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9
MCxnPTAsaD0wLGk9MDtnPWErMTk4MHwwO2g9YSsxOTEyfDA7aT1hKzE5MzZ8MDthOmRvIGlmKChm
W2IrND4+Ml18MCk+MCl7Yz0wO3doaWxlKDEpe2lmKChjfDApPT02NClicmVhayBhO2Q9Yis4Kyhj
KjIwfDApKzE2fDA7ZT1mW2Q+PjJdfDA7aWYoZXwwPyhPUyhhLGUpLE1fKGZbZD4+Ml18MCksWVMo
YixjKSxmW2c+PjJdPShmW2c+PjJdfDApKy0xLGZbaD4+Ml18MCk6MClmW2k+PjJdPShmW2k+PjJd
fDApKzE7Yz1jKzF8MH19ZWxzZXtjPTA7d2hpbGUoMSl7aWYoKGN8MCk9PTY0KWJyZWFrIGE7aWYo
ZltiKzgrKGMqMjB8MCkrMTY+PjJdfDA/KFlTKGIsYyksZltnPj4yXT0oZltnPj4yXXwwKSstMSxm
W2g+PjJdfDApOjApZltpPj4yXT0oZltpPj4yXXwwKSsxO2M9YysxfDB9fXdoaWxlKDApO3JldHVy
bn1mdW5jdGlvbiBQUyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9
MCxpPTA7aWYoIWIpeGEoMTQ3MTQ5LDE0Njc5OSwxOTQsMTQ2ODA3KTtkPWZbYis0Pj4yXXwwO2lm
KChkfDApPD0tMSl4YSgxNDY4MTksMTQ2Nzk5LDE5NSwxNDY4MDcpO2lmKCFjKXhhKDE0NzA5MSwx
NDY3OTksMTk2LDE0NjgwNyk7aT1hKzE5NTJ8MDtmW2k+PjJdPShmW2k+PjJdfDApKzE7YTpkbyBp
ZigoZHwwKT4wKXtpPTA7ZD0wO3doaWxlKDEpe2lmKChpfDApPT02NClicmVhayBhO2U9Yis4Kyhp
KjIwfDApKzE2fDA7aWYoKGZbZT4+Ml18MCkhPTA/KGJUKGMsYis4KyhpKjIwfDApfDApfDApIT0w
OjApe2c9UFMoYSxmW2U+PjJdfDAsYyl8MDtpZighZClkPWc7ZWxzZXtlPWQ7d2hpbGUoMSl7aD1m
W2U+PjJdfDA7aWYoIWgpYnJlYWs7ZWxzZSBlPWh9ZltlPj4yXT1nfX1pPWkrMXwwfX1lbHNle2c9
MDtkPTA7d2hpbGUoMSl7aWYoKGd8MCk9PTY0KWJyZWFrIGE7ZT1iKzgrKGcqMjB8MCl8MDtpZigo
ZltiKzgrKGcqMjB8MCkrMTY+PjJdfDApIT0wPyhiVChjLGUpfDApIT0wOjApZD1KUyhkLGUpfDA7
Zz1nKzF8MH19d2hpbGUoMCk7cmV0dXJuIGR8MH1mdW5jdGlvbiBRUyhhLGIsYyxkLGUpe2E9YXww
O2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAs
bj0wLG89MDtuPXQ7dD10KzY0fDA7aj1uKzUyfDA7az1uKzMyfDA7bD1uKzE2fDA7bT1uO2Zbaj4+
Ml09MDtpZighKChifDApIT0wJihkfDApIT0wKSl4YSgxNDcwMDUsMTQ2Nzk5LDI0NywxNDY4MzMp
O2lmKChlfDApPi0xPyhpPWZbZD4+Ml18MCwoZltpKzQ+PjJdfDApPj0oZXwwKSk6MCl7Zz0wO3do
aWxlKDEpe2lmKGc+Pj4wPj0yKWJyZWFrO2lmKChmW2IrKGc8PDIpPj4yXXwwKT4oZltiKyhnKzI8
PDIpPj4yXXwwKSl7aD05O2JyZWFrfWVsc2UgZz1nKzF8MH1pZigoaHwwKT09OSl4YSgxNDY4ODAs
MTQ2Nzk5LDI1MCwxNDY4MzMpO2g9YSsxOTEyfDA7Zz1hKzE5MDh8MDtpZihmW2g+PjJdfDApe289
KGZbZz4+Ml18MCk9PTA/YSsxOTE2fDA6YSsxOTI0fDA7ZltvPj4yXT0oZltvPj4yXXwwKSsxfWlm
KCEoZltnPj4yXXwwKSl7bz1hKzE5NjR8MDtmW28+PjJdPShmW28+PjJdfDApKzF9aWYoIShSUyhh
LGIsYyxpLGosZSl8MCkpZz0wO2Vsc2V7aWYoZltoPj4yXXwwKXtvPShmW2c+PjJdfDApPT0wP2Er
MTk0NHwwOmErMTk0OHwwO2Zbbz4+Ml09KGZbbz4+Ml18MCkrMX1nPVNTKGEpfDA7bz1hKzE5NzZ8
MDtmW28+PjJdPShmW28+PjJdfDApKzE7bz1mW2Q+PjJdfDA7ZltnKzQ+PjJdPShmW28rND4+Ml18
MCkrMTtWUyhsLG8pO2Zbaz4+Ml09ZltsPj4yXTtmW2srND4+Ml09ZltsKzQ+PjJdO2Zbays4Pj4y
XT1mW2wrOD4+Ml07ZltrKzEyPj4yXT1mW2wrMTI+PjJdO289aysxNnwwO2Zbbz4+Ml09ZltkPj4y
XTtYUyhhLGssZywwKXwwO1ZTKG0sZltqPj4yXXwwKTtmW2s+PjJdPWZbbT4+Ml07ZltrKzQ+PjJd
PWZbbSs0Pj4yXTtmW2srOD4+Ml09ZlttKzg+PjJdO2ZbaysxMj4+Ml09ZlttKzEyPj4yXTtmW28+
PjJdPWZbaj4+Ml07WFMoYSxrLGcsMCl8MDtmW2Q+PjJdPWc7Zz1hKzE5ODB8MDtmW2c+PjJdPShm
W2c+PjJdfDApKzI7Zz0xfXQ9bjtyZXR1cm4gZ3wwfXhhKDE0Njg0NSwxNDY3OTksMjQ4LDE0Njgz
Myk7cmV0dXJuIDB9ZnVuY3Rpb24gUlMoYSxiLGMsZCxlLGcpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9
ZHwwO2U9ZXwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MDtv
PXQ7dD10KzgwfDA7az1vKzUyfDA7bD1vKzQ4fDA7bT1vKzMyfDA7bj1vKzE2fDA7aj1vO2ZbbD4+
Ml09MDtpZighKChifDApIT0wJihkfDApIT0wJihlfDApIT0wKSl4YSgxNDY5MjMsMTQ2Nzk5LDMx
MSwxNDY5MzcpO2lmKChnfDApPi0xPyhpPWZbZCs0Pj4yXXwwLChpfDApPj0oZ3wwKSk6MCl7aWYo
ZlthKzE5MTI+PjJdfDApe3A9KGZbYSsxOTA4Pj4yXXwwKT09MD9hKzE5NDR8MDphKzE5NDh8MDtm
W3A+PjJdPShmW3A+PjJdfDApKzF9ZG8gaWYoKGl8MCk+KGd8MCkpe2k9V1MoYixkKXwwO2g9ZCs4
KyhpKjIwfDApKzE2fDA7aT1kKzgrKGkqMjB8MCl8MDtpZighKFJTKGEsYixjLGZbaD4+Ml18MCxs
LGcpfDApKXthVChtLGIsaSk7ZltpPj4yXT1mW20+PjJdO2ZbaSs0Pj4yXT1mW20rND4+Ml07Zltp
Kzg+PjJdPWZbbSs4Pj4yXTtmW2krMTI+PjJdPWZbbSsxMj4+Ml07aD0wO2JyZWFrfWVsc2V7VlMo
bixmW2g+PjJdfDApO2ZbaT4+Ml09ZltuPj4yXTtmW2krND4+Ml09ZltuKzQ+PjJdO2ZbaSs4Pj4y
XT1mW24rOD4+Ml07ZltpKzEyPj4yXT1mW24rMTI+PjJdO2g9ZltsPj4yXXwwO2ZbaysxNj4+Ml09
aDtWUyhqLGgpO2Zbaz4+Ml09ZltqPj4yXTtmW2srND4+Ml09ZltqKzQ+PjJdO2Zbays4Pj4yXT1m
W2orOD4+Ml07ZltrKzEyPj4yXT1mW2orMTI+PjJdO2g9YSsxOTgwfDA7ZltoPj4yXT0oZltoPj4y
XXwwKSsxO2g9WFMoYSxrLGQsZSl8MDticmVha319ZWxzZSBpZigoaXwwKT09KGd8MCkpe2Zbaz4+
Ml09ZltiPj4yXTtmW2srND4+Ml09ZltiKzQ+PjJdO2Zbays4Pj4yXT1mW2IrOD4+Ml07ZltrKzEy
Pj4yXT1mW2IrMTI+PjJdO2ZbaysxNj4+Ml09YztoPWErMTk4MHwwO2ZbaD4+Ml09KGZbaD4+Ml18
MCkrMTtoPVhTKGEsayxkLGUpfDA7YnJlYWt9ZWxzZSB4YSgxNDY5ODIsMTQ2Nzk5LDM0MSwxNDY5
MzcpO3doaWxlKDApO3Q9bztyZXR1cm4gaHwwfXhhKDE0Njk1MCwxNDY3OTksMzEyLDE0NjkzNyk7
cmV0dXJuIDB9ZnVuY3Rpb24gU1MoYSl7YT1hfDA7YT1hKzE5Njh8MDtmW2E+PjJdPShmW2E+PjJd
fDApKzE7YT1MXygxMjg4KXwwO1RTKGEpO3JldHVybiBhfDB9ZnVuY3Rpb24gVFMoYSl7YT1hfDA7
dmFyIGI9MDtmW2E+PjJdPTA7ZlthKzQ+PjJdPS0xO2I9MDt3aGlsZSgxKXtpZigoYnwwKT09NjQp
YnJlYWs7VVMoYSs4KyhiKjIwfDApfDApO2I9YisxfDB9cmV0dXJufWZ1bmN0aW9uIFVTKGEpe2E9
YXwwO1pTKGEpO2ZbYSsxNj4+Ml09MDtyZXR1cm59ZnVuY3Rpb24gVlMoYSxiKXthPWF8MDtiPWJ8
MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTA7aT10O3Q9dCszMnwwO2c9aSsxNnwwO2g9aTtp
ZighYil4YSgxNDcxNDksMTQ2OTg4LDk5LDE0Njk5NSk7WlMoZyk7Yz0xO2U9MDt3aGlsZSgxKXtp
ZigoZXwwKT09NjQpYnJlYWs7ZG8gaWYoZltiKzgrKGUqMjB8MCkrMTY+PjJdfDApe2Q9Yis4Kyhl
KjIwfDApfDA7aWYoIWMpe2FUKGgsZyxkKTtmW2c+PjJdPWZbaD4+Ml07ZltnKzQ+PjJdPWZbaCs0
Pj4yXTtmW2crOD4+Ml09ZltoKzg+PjJdO2ZbZysxMj4+Ml09ZltoKzEyPj4yXTtjPTA7YnJlYWt9
ZWxzZXtmW2c+PjJdPWZbZD4+Ml07ZltnKzQ+PjJdPWZbZCs0Pj4yXTtmW2crOD4+Ml09ZltkKzg+
PjJdO2ZbZysxMj4+Ml09ZltkKzEyPj4yXTtjPTA7YnJlYWt9fXdoaWxlKDApO2U9ZSsxfDB9Zlth
Pj4yXT1mW2c+PjJdO2ZbYSs0Pj4yXT1mW2crND4+Ml07ZlthKzg+PjJdPWZbZys4Pj4yXTtmW2Er
MTI+PjJdPWZbZysxMj4+Ml07dD1pO3JldHVybn1mdW5jdGlvbiBXUyhhLGIpe2E9YXwwO2I9Ynww
O3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7az10O3Q9dCszMnww
O2k9aysxNnwwO2o9aztpZighKChhfDApIT0wJihifDApIT0wKSl4YSgxNDcwMDUsMTQ2OTg4LDEy
NSwxNDcwMTIpO2M9MDtkPTA7ZT0wO2c9MTtoPTA7d2hpbGUoMSl7aWYoKGh8MCk9PTY0KWJyZWFr
O2lmKGZbYis4KyhoKjIwfDApKzE2Pj4yXXwwKXtsPWIrOCsoaCoyMHwwKXwwO209JFMobCl8MDth
VChqLGEsbCk7ZltpPj4yXT1mW2o+PjJdO2ZbaSs0Pj4yXT1mW2orND4+Ml07ZltpKzg+PjJdPWZb
ais4Pj4yXTtmW2krMTI+PjJdPWZbaisxMj4+Ml07bD0oJFMoaSl8MCktbXwwO2c9KGd8MCkhPTB8
KGx8MCk8KGV8MCl8KG18MCk8KGR8MCkmKGx8MCk9PShlfDApO2M9Zz9oOmM7ZD1nP206ZDtlPWc/
bDplO2c9MH1oPWgrMXwwfXQ9aztyZXR1cm4gY3wwfWZ1bmN0aW9uIFhTKGEsYixjLGQpe2E9YXww
O2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTA7aWYoIWIpeGEoMTQ3MTcxLDE0
Njk4OCwxNjcsMTQ3MDIzKTtpZighYyl4YSgxNDcxNDksMTQ2OTg4LDE2OCwxNDcwMjMpO2k9Zltj
Pj4yXXwwO2RvIGlmKChpfDApPDY0KXthPTA7d2hpbGUoMSl7aWYoYT4+PjA+PTY0KXtkPTExO2Jy
ZWFrfWlmKCEoZltjKzgrKGEqMjB8MCkrMTY+PjJdfDApKXtkPTk7YnJlYWt9YT1hKzF8MH1pZigo
ZHwwKT09OSl7ZT1jKzgrKGEqMjB8MCl8MDtmW2U+PjJdPWZbYj4+Ml07ZltlKzQ+PjJdPWZbYis0
Pj4yXTtmW2UrOD4+Ml09ZltiKzg+PjJdO2ZbZSsxMj4+Ml09ZltiKzEyPj4yXTtmW2UrMTY+PjJd
PWZbYisxNj4+Ml07ZT0wO2c9YztoPWk7YnJlYWt9ZWxzZSBpZigoZHwwKT09MTEpeGEoMTQ3MDMz
LDE0Njk4OCwxNzgsMTQ3MDIzKX1lbHNle2lmKGZbYSsxOTEyPj4yXXwwKXtpPShmW2ErMTkwOD4+
Ml18MCk9PTA/YSsxOTQ0fDA6YSsxOTQ4fDA7ZltpPj4yXT0oZltpPj4yXXwwKSsxfWlmKCFkKXhh
KDE0NzA0NiwxNDY5ODgsMTg3LDE0NzAyMyk7Y1QoYSxjLGIsZCk7aWYoIShmW2MrND4+Ml18MCkp
e2g9YSsxOTcyfDA7ZT0xO2c9aDtoPWZbaD4+Ml18MDticmVha31lbHNle2g9YSsxOTc2fDA7ZT0x
O2c9aDtoPWZbaD4+Ml18MDticmVha319d2hpbGUoMCk7ZltnPj4yXT1oKzE7cmV0dXJuIGV8MH1m
dW5jdGlvbiBZUyhhLGIpe2E9YXwwO2I9YnwwO2lmKCEoKGF8MCkhPTAmYj4+PjA8NjQpKXhhKDE0
NzA1MCwxNDY5ODgsMjAxLDE0NzA3OCk7aWYoIShmW2ErOCsoYioyMHwwKSsxNj4+Ml18MCkpeGEo
MTQ3NTcyLDE0Njk4OCwyMDIsMTQ3MDc4KTtlbHNle1VTKGErOCsoYioyMHwwKXwwKTtmW2E+PjJd
PShmW2E+PjJdfDApKy0xO3JldHVybn19ZnVuY3Rpb24gWlMoYSl7YT1hfDA7dmFyIGI9MDtiPTA7
d2hpbGUoMSl7aWYoKGJ8MCk9PTQpYnJlYWs7ZlthKyhiPDwyKT4+Ml09MDtiPWIrMXwwfXJldHVy
bn1mdW5jdGlvbiBfUyhhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTA7ZD10O3Q9dCsxNnwwO2M9ZDtm
W2M+PjJdPTE7ZltjKzg+PjJdPS0xO2I9MTt3aGlsZSgxKXtpZigoYnwwKT09MilicmVhaztmW2Mr
KGIrMjw8Mik+PjJdPTA7ZltjKyhiPDwyKT4+Ml09MDtiPWIrMXwwfWZbYT4+Ml09ZltjPj4yXTtm
W2ErND4+Ml09ZltjKzQ+PjJdO2ZbYSs4Pj4yXT1mW2MrOD4+Ml07ZlthKzEyPj4yXT1mW2MrMTI+
PjJdO3Q9ZDtyZXR1cm59ZnVuY3Rpb24gJFMoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO2lmKCFh
KXhhKDE0NzA5MSwxNDcwOTMsMTI4LDE0NzEwNSk7YTpkbyBpZigoZlthPj4yXXwwKT4oZlthKzg+
PjJdfDApKWI9MDtlbHNle2I9MTtjPTA7d2hpbGUoMSl7aWYoKGN8MCk9PTIpYnJlYWsgYTtkPVYo
ZlthKyhjKzI8PDIpPj4yXXwwLGIpfDA7Yj1kLShmW2ErKGM8PDIpPj4yXXwwKXwwO2M9YysxfDB9
fXdoaWxlKDApO3JldHVybiBifDB9ZnVuY3Rpb24gYVQoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3ww
O3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MDtnPXQ7dD10KzE2fDA7ZT1nO2lmKCEoKGJ8MCkh
PTAmKGN8MCkhPTApKXhhKDE0NzExNCwxNDcwOTMsMTk1LDE0NzEyMik7ZG8gaWYoKGZbYj4+Ml18
MCk+KGZbYis4Pj4yXXwwKSl7ZlthPj4yXT1mW2M+PjJdO2ZbYSs0Pj4yXT1mW2MrND4+Ml07Zlth
Kzg+PjJdPWZbYys4Pj4yXTtmW2ErMTI+PjJdPWZbYysxMj4+Ml19ZWxzZXtpZigoZltjPj4yXXww
KT4oZltjKzg+PjJdfDApKXtmW2E+PjJdPWZbYj4+Ml07ZlthKzQ+PjJdPWZbYis0Pj4yXTtmW2Er
OD4+Ml09ZltiKzg+PjJdO2ZbYSsxMj4+Ml09ZltiKzEyPj4yXTticmVha31kPTA7d2hpbGUoMSl7
aWYoKGR8MCk9PTIpYnJlYWs7aj1mW2IrKGQ8PDIpPj4yXXwwO2g9ZltjKyhkPDwyKT4+Ml18MDtm
W2UrKGQ8PDIpPj4yXT0oanwwKTwoaHwwKT9qOmg7aD1kKzJ8MDtqPWZbYisoaDw8Mik+PjJdfDA7
aT1mW2MrKGg8PDIpPj4yXXwwO2ZbZSsoaDw8Mik+PjJdPShqfDApPihpfDApP2o6aTtkPWQrMXww
fWZbYT4+Ml09ZltlPj4yXTtmW2ErND4+Ml09ZltlKzQ+PjJdO2ZbYSs4Pj4yXT1mW2UrOD4+Ml07
ZlthKzEyPj4yXT1mW2UrMTI+PjJdfXdoaWxlKDApO3Q9ZztyZXR1cm59ZnVuY3Rpb24gYlQoYSxi
KXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MDtpZighKChhfDApIT0wJihifDApIT0wKSl4YSgxNDcx
MzQsMTQ3MDkzLDIxNiwxNDcxNDEpO2M9MDt3aGlsZSgxKXtpZihjPj4+MD49Mil7Yz0xO2JyZWFr
fWQ9YysyfDA7aWYoKGZbYSsoYzw8Mik+PjJdfDApPihmW2IrKGQ8PDIpPj4yXXwwKSl7Yz0wO2Jy
ZWFrfWlmKChmW2IrKGM8PDIpPj4yXXwwKT4oZlthKyhkPDwyKT4+Ml18MCkpe2M9MDticmVha31l
bHNlIGM9YysxfDB9cmV0dXJuIGN8MH1mdW5jdGlvbiBjVChhLGIsYyxkKXthPWF8MDtiPWJ8MDtj
PWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wO2lmKCFiKXhhKDE0NzE0OSwxNDcxNTEsNDAs
MTQ3MTYxKTtpZighYyl4YSgxNDcxNzEsMTQ3MTUxLDQxLDE0NzE2MSk7aT1hKzE5MTJ8MDtpZihm
W2k+PjJdfDApe2g9KGZbYSsxOTA4Pj4yXXwwKT09MD9hKzE5Mjh8MDphKzE5MzJ8MDtmW2g+PjJd
PShmW2g+PjJdfDApKzF9Zz1iKzR8MDtoPWZbZz4+Ml18MDtkVChhLGIsYyk7Yz1hKzEzMjR8MDtl
VChhKTtlPSRTKGErMTg1MnwwKXwwO2U9KCRTKGErMTg2OHwwKXwwKStlfDA7aWYoZltpPj4yXXww
PyhlfDApIT0wJihmW2ErMTkwOD4+Ml18MCk9PTA6MCl7aT1hKzE5NjB8MDtuW2k+PjJdPSsoKGZb
YSsxMzIwPj4yXXwwKT4+PjApLysoZXwwKSsgK25baT4+Ml19aT1TUyhhKXwwO2ZbZD4+Ml09aTtm
W2c+PjJdPWg7ZltpKzQ+PjJdPWg7ZlQoYSxiLGksYyk7aWYoKChmW2ZbZD4+Ml0+PjJdfDApKyhm
W2I+PjJdfDApfDApPT02NSlyZXR1cm47ZWxzZSB4YSgxNDcxNzMsMTQ3MTUxLDg2LDE0NzE2MSl9
ZnVuY3Rpb24gZFQoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAs
aT0wLGo9MDtoPXQ7dD10KzE2fDA7Zz1oO2lmKCFiKXhhKDE0NzE0OSwxNDcxNTEsMTA2LDE0NzU2
MCk7aWYoIWMpeGEoMTQ3MTcxLDE0NzE1MSwxMDcsMTQ3NTYwKTtkPTA7d2hpbGUoMSl7aWYoZD4+
PjA+PTY0KWJyZWFrO2lmKCEoZltiKzgrKGQqMjB8MCkrMTY+PjJdfDApKXtlPTg7YnJlYWt9aj1i
KzgrKGQqMjB8MCl8MDtpPWErNCsoZCoyMHwwKXwwO2ZbaT4+Ml09ZltqPj4yXTtmW2krND4+Ml09
ZltqKzQ+PjJdO2ZbaSs4Pj4yXT1mW2orOD4+Ml07ZltpKzEyPj4yXT1mW2orMTI+PjJdO2ZbaSsx
Nj4+Ml09ZltqKzE2Pj4yXTtkPWQrMXwwfWlmKChlfDApPT04KXhhKDE0NzU3MiwxNDcxNTEsMTEx
LDE0NzU2MCk7ZD1hKzR8MDtqPWErMTI4NHwwO2Zbaj4+Ml09ZltjPj4yXTtmW2orND4+Ml09Zltj
KzQ+PjJdO2Zbais4Pj4yXT1mW2MrOD4+Ml07ZltqKzEyPj4yXT1mW2MrMTI+PjJdO2ZbaisxNj4+
Ml09ZltjKzE2Pj4yXTtjPWErMTMwNHwwO2ZbYz4+Ml09ZltkPj4yXTtmW2MrND4+Ml09ZltkKzQ+
PjJdO2ZbYys4Pj4yXT1mW2QrOD4+Ml07ZltjKzEyPj4yXT1mW2QrMTI+PjJdO2Q9MTt3aGlsZSgx
KXtpZigoZHwwKT09NjUpYnJlYWs7YVQoZyxjLGErNCsoZCoyMHwwKXwwKTtmW2M+PjJdPWZbZz4+
Ml07ZltjKzQ+PjJdPWZbZys0Pj4yXTtmW2MrOD4+Ml09ZltnKzg+PjJdO2ZbYysxMj4+Ml09Zltn
KzEyPj4yXTtkPWQrMXwwfWo9JFMoYyl8MDtmW2ErMTMyMD4+Ml09ajtUUyhiKTt0PWg7cmV0dXJu
fWZ1bmN0aW9uIGVUKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0w
LGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHU9MCx2PTA7dj10O3Q9dCs0OHww
O2o9diszMnwwO2w9disxNnwwO209djtnVChhKTtoVChhKTtxPWErMTg0NHwwO3M9YSsxODQ4fDA7
dT1hKzE4OTJ8MDtuPWErMTg1MnwwO289YSsxODg0fDA7cD1hKzE4Njh8MDtrPWErMTg4OHwwO2U9
MDtnPTA7d2hpbGUoMSl7Yz1mW3E+PjJdfDA7Yj1mW3M+PjJdfDA7aWYoKGIrY3wwKT49NjUpYnJl
YWs7ZD02NS0oZlt1Pj4yXXwwKXwwO2lmKCEoKGN8MCk8KGR8MCkmKGJ8MCk8KGR8MCkpKXtyPTEz
O2JyZWFrfWg9LTE7aT0wO2Q9Zzt3aGlsZSgxKXtpZigoaXwwKT09NjUpYnJlYWs7aWYoIShmW2Er
MTU4NCsoaTw8Mik+PjJdfDApKXtnPWErNCsoaSoyMHwwKXwwO2FUKGwsZyxuKTtmW2o+PjJdPWZb
bD4+Ml07ZltqKzQ+PjJdPWZbbCs0Pj4yXTtmW2orOD4+Ml09ZltsKzg+PjJdO2ZbaisxMj4+Ml09
ZltsKzEyPj4yXTtiPSRTKGopfDA7Yz1mW28+PjJdfDA7YVQobSxnLHApO2Zbaj4+Ml09ZlttPj4y
XTtmW2orND4+Ml09ZlttKzQ+PjJdO2Zbais4Pj4yXT1mW20rOD4+Ml07ZltqKzEyPj4yXT1mW20r
MTI+PjJdO2c9JFMoail8MDtiPWctKGZbaz4+Ml18MCkrKGMtYil8MDtjPShifDApPi0xO2I9Yz9i
OjAtYnwwO2M9KGNeMSkmMTtpZigoYnwwKTw9KGh8MCkpaWYoKGJ8MCk9PShofDApKXtnPShmW2Er
MTg0NCsoYzw8Mik+PjJdfDApPChmW2ErMTg0NCsoZTw8Mik+PjJdfDApO2I9aDtjPWc/YzplO2Q9
Zz9pOmR9ZWxzZXtiPWg7Yz1lfWVsc2UgZD1pfWVsc2V7Yj1oO2M9ZX1oPWI7aT1pKzF8MDtlPWN9
aVQoYSxkLGUpO2c9ZH1pZigocnwwKT09MTMpe2M9KGN8MCk+PShkfDApJjE7Yj0wO3doaWxlKDEp
e2lmKChifDApPT02NSlicmVhaztpZighKGZbYSsxNTg0KyhiPDwyKT4+Ml18MCkpaVQoYSxiLGMp
O2I9YisxfDB9Yz1mW3E+PjJdfDA7Yj1mW3M+PjJdfDB9aWYoKGIrY3wwKSE9NjUpeGEoMTQ3MzE2
LDE0NzE1MSwyMTAsMTQ3NDAyKTt1PWZbdT4+Ml18MDtpZigoY3wwKTwodXwwKXwoYnwwKTwodXww
KSl4YSgxNDc0MTMsMTQ3MTUxLDIxMiwxNDc0MDIpO2Vsc2V7dD12O3JldHVybn19ZnVuY3Rpb24g
ZlQoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MDtpZighYil4YSgxNDcx
NDksMTQ3MTUxLDI5NywxNDcyMTMpO2lmKCFjKXhhKDE0NzIyMywxNDcxNTEsMjk4LDE0NzIxMyk7
aWYoIWQpeGEoMTQ3MjI1LDE0NzE1MSwyOTksMTQ3MjEzKTtkPTA7d2hpbGUoMSl7aWYoZD4+PjA+
PTY1KXtkPTE1O2JyZWFrfWU9ZlthKzEzMjQrKGQ8PDIpPj4yXXwwO2lmKGU+Pj4wPj0yKXtkPTEw
O2JyZWFrfXN3aXRjaChlfDApe2Nhc2UgMDp7WFMoYSxhKzQrKGQqMjB8MCl8MCxiLDApfDA7YnJl
YWt9Y2FzZSAxOntYUyhhLGErNCsoZCoyMHwwKXwwLGMsMCl8MDticmVha31kZWZhdWx0Ont9fWQ9
ZCsxfDB9aWYoKGR8MCk9PTEwKXhhKDE0NzIyNywxNDcxNTEsMzAzLDE0NzIxMyk7ZWxzZSBpZigo
ZHwwKT09MTUpcmV0dXJufWZ1bmN0aW9uIGdUKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTA7
Yz10O3Q9dCsxNnwwO2Q9YztmW2ErMTg0OD4+Ml09MDtmW2ErMTg0ND4+Ml09MDtiPWErMTg1Mnww
O2U9YSsxODY4fDA7X1MoZCk7ZltlPj4yXT1mW2Q+PjJdO2ZbZSs0Pj4yXT1mW2QrND4+Ml07Zltl
Kzg+PjJdPWZbZCs4Pj4yXTtmW2UrMTI+PjJdPWZbZCsxMj4+Ml07ZltiPj4yXT1mW2Q+PjJdO2Zb
Yis0Pj4yXT1mW2QrND4+Ml07ZltiKzg+PjJdPWZbZCs4Pj4yXTtmW2IrMTI+PjJdPWZbZCsxMj4+
Ml07ZlthKzE4ODg+PjJdPTA7ZlthKzE4ODQ+PjJdPTA7Yj0wO3doaWxlKDEpe2lmKChifDApPT02
NSlicmVhaztmW2ErMTU4NCsoYjw8Mik+PjJdPTA7ZlthKzEzMjQrKGI8PDIpPj4yXT0tMTtiPWIr
MXwwfXQ9YztyZXR1cm59ZnVuY3Rpb24gaFQoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxn
PTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wO249dDt0PXQrMzA0fDA7
az1uO2w9bisyODB8MDttPW4rMjY0fDA7Yj0wO3doaWxlKDEpe2lmKChifDApPT02NSlicmVhaztq
PSRTKGErNCsoYioyMHwwKXwwKXwwO2ZbaysoYjw8Mik+PjJdPWo7Yj1iKzF8MH1iPTA7Yz0wO2Q9
MDtnPTA7d2hpbGUoMSl7aWYoKGd8MCk9PTY0KWJyZWFrO2k9ZysxfDA7aj1hKzQrKGcqMjB8MCl8
MDtoPWsrKGc8PDIpfDA7ZT1pO3doaWxlKDEpe2lmKChlfDApPT02NSlicmVhazthVChtLGosYSs0
KyhlKjIwfDApfDApO2ZbbD4+Ml09ZlttPj4yXTtmW2wrND4+Ml09ZlttKzQ+PjJdO2ZbbCs4Pj4y
XT1mW20rOD4+Ml07ZltsKzEyPj4yXT1mW20rMTI+PjJdO289JFMobCl8MDtvPW8tKGZbaD4+Ml18
MCktKGZbaysoZTw8Mik+PjJdfDApfDA7cD1vPj4+MD5kPj4+MDtxPXA/ZTpiO2U9ZSsxfDA7Yj1x
O2M9cD9nOmM7ZD1wP286ZH1nPWl9aVQoYSxjLDApO2lUKGEsYiwxKTt0PW47cmV0dXJufWZ1bmN0
aW9uIGlUKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MDtp
PXQ7dD10KzE2fDA7aD1pO2Q9YSsxNTg0KyhiPDwyKXwwO2lmKGZbZD4+Ml18MCl4YSgxNDc1MTYs
MTQ3MTUxLDI1NywxNDc1NTEpO2ZbYSsxMzI0KyhiPDwyKT4+Ml09YztmW2Q+PjJdPTE7Zz1hKzE4
NDQrKGM8PDIpfDA7ZT1hKzE4NTIrKGM8PDQpfDA7ZD1hKzQrKGIqMjB8MCl8MDtpZighKGZbZz4+
Ml18MCkpe2ZbZT4+Ml09ZltkPj4yXTtmW2UrND4+Ml09ZltkKzQ+PjJdO2ZbZSs4Pj4yXT1mW2Qr
OD4+Ml07ZltlKzEyPj4yXT1mW2QrMTI+PjJdfWVsc2V7YVQoaCxkLGUpO2ZbZT4+Ml09ZltoPj4y
XTtmW2UrND4+Ml09ZltoKzQ+PjJdO2ZbZSs4Pj4yXT1mW2grOD4+Ml07ZltlKzEyPj4yXT1mW2gr
MTI+PjJdfWg9JFMoZSl8MDtmW2ErMTg4NCsoYzw8Mik+PjJdPWg7ZltnPj4yXT0oZltnPj4yXXww
KSsxO3Q9aTtyZXR1cm59ZnVuY3Rpb24galQoKXt2YXIgYT0wLGM9MCxlPTAsZz0wLGk9MCxqPTAs
az0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTA7cz10O3Q9dCsxMjAwfDA7cT1zKzgw
MHwwO2U9cztmWzQ4NTExXT0wO2ZbNDg1MTJdPS0yO2M9cTtpPTIwMDttPWU7bz0wO3A9MDtuPXE7
YTp3aGlsZSgxKXtkW24+PjFdPW87aWYoKGMrKGk8PDEpKy0yfDApPj4+MD5uPj4+MClrPWk7ZWxz
ZXtsPW4tYz4+MTthPWwrMXwwO2lmKGk+Pj4wPjk5OTkpe3I9OTY7YnJlYWt9az1pPDwxO2s9az4+
PjA8MWU0P2s6MWU0O2c9TF8oayo2fDMpfDA7aWYoZyl7UTMoZ3wwLGN8MCxhPDwxfDApfDA7aT1n
KyhrPj4+MTw8Mil8MDtRMyhpfDAsbXwwLGE8PDJ8MCl8MDtpZigoY3wwKT09KHF8MCkpe2E9MDtj
PWd9ZWxzZXtNXyhjKTthPTA7Yz1nfX1lbHNle2E9NDtpPW19aj0oYXwwKT09MDtnPWMrKGw8PDEp
fDA7c3dpdGNoKChqPygoYysoazw8MSkrLTJ8MCk+Pj4wPmc+Pj4wPzA6OSk6YSkmMTUpe2Nhc2Ug
OTp7YT0xO3I9OTc7YnJlYWsgYX1jYXNlIDQ6e3I9OTY7YnJlYWsgYX1jYXNlIDA6e2U9aj9pKyhs
PDwyKXwwOmU7bT1pO249aj9nOm47YnJlYWt9ZGVmYXVsdDp7YT0wO2JyZWFrIGF9fX1pZigob3ww
KT09MzEpe2E9MDtyPTk3O2JyZWFrfWE9ZFs1MTYzMisobzw8MSk+PjFdfDA7aj1hPDwxNj4+MTY7
ZG8gaWYoYTw8MTY+PjE2IT0tODIpe2c9Zls0ODUxMl18MDtpZigoZ3wwKT09LTIpe2c9eVUoKXww
O2ZbNDg1MTJdPWd9aWYoKGd8MCk+PTEpaWYoZz4+PjA8Mjk2KWk9aFs1MTg3MitnPj4wXXwwO2Vs
c2UgaT0yO2Vsc2V7Zls0ODUxMl09MDtpPTB9Zz1pK2p8MDtpZihnPj4+MDw9MjcxPyhpfDApPT0o
Yls1MjE3NitnPj4wXXwwKTowKXtvPWJbNTI0NDgrZz4+MF18MDthPW88PDI0Pj4yNDtpZihvPDwy
ND4+MjQ8MSl7Zz0wLWF8MDtyPTIzO2JyZWFrfWVsc2V7Zls0ODUxMl09LTI7ZT1lKzR8MDtmW2U+
PjJdPWZbNDg1MTNdO2o9KHB8MCk9PTA/MDpwKy0xfDA7Zz1uO2JyZWFrfX1lbHNlIHI9MjJ9ZWxz
ZSByPTIyO3doaWxlKDApO2lmKChyfDApPT0yMil7cj0wO289Yls1MjcyMCtvPj4wXXwwO2c9byYy
NTU7aWYoIShvPDwyND4+MjQpKXtnPWZbNDg1MTJdfDA7YjpkbyBzd2l0Y2gocHwwKXtjYXNlIDA6
e2ZbNDg1MTFdPShmWzQ4NTExXXwwKSsxO0VUKDE1MDc4OCk7YnJlYWt9Y2FzZSAzOmlmKChnfDAp
PDEpaWYoIWcpe2E9MTtyPTk3O2JyZWFrIGF9ZWxzZSBicmVhayBiO2Vsc2V7Zls0ODUxMl09LTI7
YnJlYWsgYn1kZWZhdWx0Ont9fXdoaWxlKDApO2c9bjt3aGlsZSgxKXtpZihhPDwxNj4+MTY9PTgp
YnJlYWs7aWYoKGd8MCk9PShjfDApKXthPTE7cj05NzticmVhayBhfWE9ZystMnwwO2U9ZSstNHww
O2c9YTthPWRbNTE2MzIrKGRbYT4+MV08PDEpPj4xXXwwfWU9ZSs0fDA7ZltlPj4yXT1mWzQ4NTEz
XTthPTE7aj0zfWVsc2Ugcj0yM31kbyBpZigocnwwKT09MjMpe3I9MDtsPWhbNTI4NDgrZz4+MF18
MDthPWZbZSsoMS1sPDwyKT4+Ml18MDtkbyBzd2l0Y2goZ3wwKXtjYXNlIDQ6e3I9MjY7YnJlYWsg
YX1jYXNlIDI6e289a1QoZltlKy00Pj4yXXwwLDIpfDA7Zls0ODUxNF09bzticmVha31jYXNlIDM6
e289a1QoZltlKy00Pj4yXXwwLDEpfDA7Zls0ODUxNF09bzticmVha31jYXNlIDU6e2E9bVQoKXww
O2JyZWFrfWNhc2UgODp7blQoZls0ODUxNV18MCk7YnJlYWt9Y2FzZSA5OntvVChmW2U+PjJdfDAp
O2JyZWFrfWNhc2UgMTg6e3BUKGZbZT4+Ml18MCk7YnJlYWt9Y2FzZSAxOTp7cVQoKTticmVha31j
YXNlIDIwOntwVChmW2U+PjJdfDApO2JyZWFrfWNhc2UgMjE6e3FUKCk7YnJlYWt9Y2FzZSAyMjp7
cFQoZltlPj4yXXwwKTticmVha31jYXNlIDIzOntxVCgpO2JyZWFrfWNhc2UgMjQ6e3BUKGZbZT4+
Ml18MCk7YnJlYWt9Y2FzZSAyNTp7cVQoKTticmVha31jYXNlIDI2OntwVChmW2U+PjJdfDApO2Jy
ZWFrfWNhc2UgMjc6e3FUKCk7YnJlYWt9Y2FzZSAyODp7cFQoZltlPj4yXXwwKTticmVha31jYXNl
IDI5OntxVCgpO2JyZWFrfWNhc2UgMzA6e3BUKGZbZT4+Ml18MCk7YnJlYWt9Y2FzZSAzMTp7cVQo
KTticmVha31jYXNlIDMyOntwVChmW2U+PjJdfDApO2JyZWFrfWNhc2UgMzM6e3FUKCk7YnJlYWt9
Y2FzZSAzNDp7YT1mW2UrLTQ+PjJdfDA7YnJlYWt9Y2FzZSAzNTp7YT1mW2U+PjJdfDA7YnJlYWt9
Y2FzZSAzODp7aT1mWzQ4NTE1XXwwO2E9aSs0fDA7aj1mW2E+PjJdfDA7aWYoaj4+PjA+PShmW2kr
OD4+Ml18MCk+Pj4wKXtieChpLDEpfDA7aT1mWzQ4NTE1XXwwO2o9aSs0fDA7YT1qO2o9ZltqPj4y
XXwwfWJbaj4+MF09MDtvPWZbaT4+Ml18MDtmW2E+PjJdPW87aWYoclQobyl8MCl7cj01MTticmVh
ayBhfWZbKGZbZT4+Ml18MCkrODA+PjJdPWZbNDg1MTZdO2E9THcoNzMzMDgsZlsxOGUzXXwwKXww
O2ZbKGZbZT4+Ml18MCkrODQ+PjJdPWE7Zls0ODUxNl09ZltlPj4yXTtmWyhmW2U+PjJdfDApKzEw
OD4+Ml09ZltmWzQ4NTE3XT4+Ml07YT1mW2U+PjJdfDA7YnJlYWt9Y2FzZSAzOTp7aT1mWzQ4NTE1
XXwwO2E9aSs0fDA7aj1mW2E+PjJdfDA7aWYoaj4+PjA+PShmW2krOD4+Ml18MCk+Pj4wKXtieChp
LDEpfDA7aT1mWzQ4NTE1XXwwO2o9aSs0fDA7YT1qO2o9ZltqPj4yXXwwfWJbaj4+MF09MDtvPWZb
aT4+Ml18MDtmW2E+PjJdPW87aWYoclQobyl8MCl7cj01NjticmVhayBhfWE9Zls0ODUxNl18MDtm
WzQ4NTE2XT1mW2ErODA+PjJdO2JyZWFrfWNhc2UgNDA6e2E9ZltlPj4yXXwwO2JyZWFrfWNhc2Ug
NDE6e2E9ZltlKy00Pj4yXXwwO2JyZWFrfWNhc2UgNDI6e2E9ZltlKy00Pj4yXXwwO2JyZWFrfWNh
c2UgNDM6e2E9ZltlKy00Pj4yXXwwO2JyZWFrfWNhc2UgNDQ6e2E9ZltlKy00Pj4yXXwwO2JyZWFr
fWNhc2UgNDU6e2E9ZltlKy00Pj4yXXwwO2JyZWFrfWNhc2UgNDg6e2E9ZltlPj4yXXwwO2JyZWFr
fWNhc2UgNDk6e2E9ZltlPj4yXXwwO2JyZWFrfWNhc2UgNTA6e2JbKGZbZSstOD4+Ml18MCkrMTI+
PjBdPTE7YT1mW2U+PjJdfDA7YnJlYWt9Y2FzZSA1MTp7c1QoKTticmVha31jYXNlIDUyOnthPXRU
KCl8MDticmVha31jYXNlIDUzOnthPWZbZT4+Ml18MDticmVha31jYXNlIDU0OnthPWZbZT4+Ml18
MDticmVha31jYXNlIDU1OnthPShmW2UrLTg+PjJdfDApKzEwMHwwO2JbYT4+MF09YlthPj4wXXwx
O2E9ZltlPj4yXXwwO2JyZWFrfWNhc2UgNTY6e3VUKGZbZSstND4+Ml18MCxmW2U+PjJdfDAsMSk7
YnJlYWt9Y2FzZSA1Nzp7YT1mW2UrLTEyPj4yXXwwO2JyZWFrfWNhc2UgNTg6e3VUKGZbZSstND4+
Ml18MCxmW2U+PjJdfDAsMik7YnJlYWt9Y2FzZSA1OTp7YT1mW2UrLTEyPj4yXXwwO2JyZWFrfWNh
c2UgNjA6e3VUKGZbZSstND4+Ml18MCxmW2U+PjJdfDAsMyk7YnJlYWt9Y2FzZSA2MTp7YT1mW2Ur
LTEyPj4yXXwwO2JyZWFrfWNhc2UgNjI6e3VUKGZbZT4+Ml18MCxtVCgpfDAsMik7YnJlYWt9Y2Fz
ZSA2Mzp7YT1mW2UrLTg+PjJdfDA7YnJlYWt9Y2FzZSA2NDp7YT1mW2UrLTQ+PjJdfDA7YnJlYWt9
Y2FzZSA2NTp7YT1mW2U+PjJdfDA7YnJlYWt9ZGVmYXVsdDp7fX13aGlsZSgwKTtpPTAtbHwwO289
ZSsoaTw8Mil8MDtpPW4rKGk8PDEpfDA7ZT1vKzR8MDtmW28rND4+Ml09YTthPShoWzUyOTI4K2c+
PjBdfDApKy00MXwwO289ZFtpPj4xXXwwO2c9bysoZFs1MzAwOCsoYTw8MSk+PjFdfDApfDA7aWYo
Zz4+PjA8MjcyPyhiWzUyMTc2K2c+PjBdfDApPT0ob3wwKTowKXthPWJbNTI0NDgrZz4+MF18MDtq
PXA7Zz1pO2JyZWFrfWE9Yls1MzA4OCthPj4wXXwwO2o9cDtnPWl9d2hpbGUoMCk7aT1rO289YTtw
PWo7bj1nKzJ8MH1pZigocnwwKT09MjYpe2xUKCk7YT0xO3I9OTd9ZWxzZSBpZigocnwwKT09NTEp
e0VUKDE0NzU5MSk7bFQoKTthPTE7cj05N31lbHNlIGlmKChyfDApPT01Nil7RVQoMTQ3NjQyKTts
VCgpO2E9MTtyPTk3fWVsc2UgaWYoKHJ8MCk9PTk2KXtFVCgxNDc2OTMpO2E9MjtyPTk3fWlmKChy
fDApPT05NylpZigoY3wwKSE9KHF8MCkpTV8oYyk7dD1zO3JldHVybiBhfDB9ZnVuY3Rpb24ga1Qo
YSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wO2Q9REgoOCl8MDtiW2QrND4+MF09YztmW2Q+PjJdPWE7
cmV0dXJuIGR8MH1mdW5jdGlvbiBsVCgpe3ZhciBhPTAsYj0wO2E9Zls0ODUxNl18MDtiPWZbNDg1
MTRdfDA7aWYoYnwwKXtlUihiLDEpO2ZbNDg1MTRdPTB9ZlsxODM0MF09Njc7d2hpbGUoMSl7aWYo
IWEpYnJlYWs7Yj1mW2ErODA+PjJdfDA7eVQoYSk7YT1ifWZbMTgzNDBdPTU2O2ZbMTgzNDldPTY4
O2I9Zls0ODUxOV18MDt3YltmW2I+PjJdJjYzXShiLDAsNjQpfDA7ZlsxODM0OV09NTY7ZlsxODM1
OF09Njk7Yj1mWzQ4NTIwXXwwO3diW2ZbYj4+Ml0mNjNdKGIsMCw2NCl8MDtmWzE4MzU4XT01NjtC
VCgpO3JldHVybn1mdW5jdGlvbiBtVCgpe3ZhciBhPTAsYj0wLGM9MCxlPTAsZz0wLGg9MDtjPWZb
NDg1MjBdfDA7ZT1ESCg0MCl8MDtpZihOdyhmWzQ4NTE5XXwwKXwwKW9UKDApO2E9TncoYyl8MDtk
W2UrND4+MV09YTthOmRvIGlmKCFhKWE9YztlbHNle2E9REgoYSoyNHwwKXwwO2ZbZT4+Ml09YTth
PTA7Yj13YltmW2M+PjJdJjYzXShjLDAsMTI4KXwwO3doaWxlKDEpe2lmKCFiKXthPWM7YnJlYWsg
YX1nPShmW2U+PjJdfDApKyhhKjI0fDApfDA7aD1iKzh8MDtmW2c+PjJdPWZbaD4+Ml07ZltnKzQ+
PjJdPWZbaCs0Pj4yXTtmW2crOD4+Ml09ZltoKzg+PjJdO2ZbZysxMj4+Ml09ZltoKzEyPj4yXTtm
W2crMTY+PjJdPWZbaCsxNj4+Ml07ZltnKzIwPj4yXT1mW2grMjA+PjJdO2E9YSsxfDA7Yj13Yltm
W2M+PjJdJjYzXShjLGIsOCl8MH19d2hpbGUoMCk7d2JbZlthPj4yXSY2M10oYywwLDY0KXwwO3Jl
dHVybiBlfDB9ZnVuY3Rpb24gblQoYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wO2Q9REgoNjQpfDA7
ZT1hKzR8MDtjPWZbZT4+Ml18MDtpZihjPj4+MD49KGZbYSs4Pj4yXXwwKT4+PjApe2J4KGEsMSl8
MDtjPWZbZT4+Ml18MH1iW2M+PjBdPTA7YT1mW2E+PjJdfDA7ZltlPj4yXT1hO2U9djIoYSl8MDtm
W2QrOD4+Ml09ZTtmW2QrMTI+PjJdPWZbZls0ODUxN10+PjJdO2U9Zls0ODUxOV18MDt3YltmW2U+
PjJdJjYzXShlLGQsMSl8MDtyZXR1cm59ZnVuY3Rpb24gb1QoYSl7YT1hfDA7dmFyIGM9MCxlPTAs
Zz0wLGg9MCxpPTAsaj0wLGs9MDtpPURIKDMyKXwwO2o9Zls0ODUxOV18MDtjPU53KGopfDA7az1p
Kzh8MDtiW2krMTQ+PjBdPWE7YTpkbyBpZighYyl7aD1ESCg1Nil8MDtmW2s+PjJdPWg7ZFtpKzEy
Pj4xXT0xO2g9djIoMTk0ODcwKXwwO2s9ZltrPj4yXXwwO2Zbaz4+Ml09aDtmW2srND4+Ml09Zltm
WzQ4NTE3XT4+Ml19ZWxzZXtkW2krMTI+PjFdPWM7YT1ESChjKjU2fDApfDA7ZltrPj4yXT1hO2E9
MDtjPUp3KGopfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWsgYTtlPShmW2s+PjJdfDApKyhhKjU2fDAp
fDA7Zz1jKzh8MDtoPWUrNTZ8MDtkb3tmW2U+PjJdPWZbZz4+Ml07ZT1lKzR8MDtnPWcrNHwwfXdo
aWxlKChlfDApPChofDApKTthPWErMXwwO2M9ZltjPj4yXXwwfX13aGlsZSgwKTt3YltmW2o+PjJd
JjYzXShqLDAsNjQpfDA7az1mWzQ4NTIwXXwwO3diW2Zbaz4+Ml0mNjNdKGssaSwxKXwwO3JldHVy
bn1mdW5jdGlvbiBwVChhKXthPWF8MDt2YXIgYj0wLGM9MC4wLGQ9MCxlPTAsZz0wLGg9MCxpPTA7
aT10O3Q9dCszMnwwO2c9aTtoPURIKDgpfDA7ZT1mW2ZbNDg1MTddPj4yXXwwO2ZbZz4+Ml09Zlth
Pj4yXTtmW2crND4+Ml09ZlthKzQ+PjJdO2ZbZys4Pj4yXT1mW2ErOD4+Ml07ZltnKzEyPj4yXT1m
W2ErMTI+PjJdO2ZbZysxNj4+Ml09ZlthKzE2Pj4yXTtmW2crMjA+PjJdPWZbYSsyMD4+Ml07Zltn
KzI0Pj4yXT1mW2ErMjQ+PjJdO2ZbZysyOD4+Ml09ZlthKzI4Pj4yXTtpZihlfDApe2E9Zys0fDA7
aWYoKGZbYT4+Ml18MCk9PTA/KGI9ZltlKzQ+PjJdfDAsYnwwKTowKWZbYT4+Ml09YjthPWcrMTZ8
MDtpZigrcFthPj4zXTwwLjA/KGM9K3BbZSsxNj4+M10sYz49MC4wKTowKXBbYT4+M109YztpZigo
ZltnPj4yXXwwKT09MD8oZD1mW2U+PjJdfDAsZHwwKTowKWZbZz4+Ml09ZDthPWZbZSsyND4+Ml0m
MTI3O2lmKGF8MCl7ZT1nKzI0fDA7ZD1mW2U+PjJdfDA7ZltlPj4yXT1kJjEyN3xhfGQmLTEyOH19
ZT1mWyhmWzQ4NTE4XXwwKSsxNDQ+PjJdfDA7Zz13YltmW2U+PjJdJjYzXShlLGcsMSl8MDtmW2g+
PjJdPWc7ZltoKzQ+PjJdPWZbNDg1MTddO2ZbNDg1MTddPWg7dD1pO3JldHVybn1mdW5jdGlvbiBx
VCgpe3ZhciBhPTAsYj0wO2I9Zls0ODUxN118MDthPWZbYis0Pj4yXXwwO01fKGIpO2ZbNDg1MTdd
PWE7cmV0dXJufWZ1bmN0aW9uIHJUKGEpe2E9YXwwO3ZhciBjPTA7YTp3aGlsZSgxKXtzd2l0Y2go
YlthPj4wXXwwKXtjYXNlIDA6e2E9MDticmVhayBhfWNhc2UgMzI6YnJlYWs7ZGVmYXVsdDp7Yz00
O2JyZWFrIGF9fWE9YSsxfDB9aWYoKGN8MCk9PTQpYT0xO3JldHVybiBhfDB9ZnVuY3Rpb24gc1Qo
KXt2YXIgYT0wLGM9MCxkPTA7ZD1Mdyg3MzM0NCxmWzE4ZTNdfDApfDA7YT1mWzQ4NTE2XXwwO2M9
REgoMTYpfDA7ZltjKzg+PjJdPWQ7aWYoYlthKzExMj4+MF0mMiliW2MrMTI+PjBdPTE7ZD1mW2Er
ODQ+PjJdfDA7d2JbZltkPj4yXSY2M10oZCxjLDEpfDA7cmV0dXJufWZ1bmN0aW9uIHRUKCl7dmFy
IGE9MDthPWZbKGZbNDg1MTZdfDApKzg0Pj4yXXwwO3JldHVybiB3YltmW2E+PjJdJjYzXShhLDAs
MjU2KXwwfWZ1bmN0aW9uIHVUKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxo
PTA7Zz1ESCgxNil8MDtlPWZbNDg1MTZdfDA7aD1mW2UrODQ+PjJdfDA7aD0od2JbZltoPj4yXSY2
M10oaCwwLDI1Nil8MCkrOHwwO2g9ZltoPj4yXXwwO2ZbZys4Pj4yXT1hO3diW2ZbaD4+Ml0mNjNd
KGgsZywxKXwwO2JbYSs5Mj4+MF09ZDtpZihiW2UrMTEyPj4wXSYxKWJbYSsxMDA+PjBdPTE7Zlth
Kzg4Pj4yXT1jO3JldHVybn1mdW5jdGlvbiB2VChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7TV8o
Yik7cmV0dXJufWZ1bmN0aW9uIHdUKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtIdyhmW2IrOD4+
Ml18MCl8MDtNXyhiKTtyZXR1cm59ZnVuY3Rpb24geFQoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3ww
O0NUKGZbYis4Pj4yXXwwKTtNXyhiKTtyZXR1cm59ZnVuY3Rpb24geVQoYSl7YT1hfDA7SHcoZlth
Kzg0Pj4yXXwwKXwwO2JSKGEpO01fKGEpO3JldHVybn1mdW5jdGlvbiB6VChhLGIsYyl7YT1hfDA7
Yj1ifDA7Yz1jfDA7TV8oZltiKzg+PjJdfDApO01fKGIpO3JldHVybn1mdW5jdGlvbiBBVChhLGIs
Yyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGU9MCxnPTAsaD0wO2c9YisxMnwwO2E9ZFtnPj4xXXww
O2lmKGE8PDE2Pj4xNil7aD1iKzh8MDtjPTA7ZT1mW2g+PjJdfDA7d2hpbGUoMSl7aWYoKGN8MCk+
PShhPDwxNj4+MTZ8MCkpYnJlYWs7TV8oZltlPj4yXXwwKTtjPWMrMXwwO2U9ZSs1NnwwO2E9ZFtn
Pj4xXXwwfU1fKGZbaD4+Ml18MCl9TV8oYik7cmV0dXJufWZ1bmN0aW9uIEJUKCl7dmFyIGE9MCxi
PTA7YT1mWzQ4NTE3XXwwO3doaWxlKDEpe2I9ZlthKzQ+PjJdfDA7aWYoIWIpYnJlYWs7TV8oYSk7
YT1ifXJldHVybn1mdW5jdGlvbiBDVChhKXthPWF8MDt2YXIgYz0wO2M9YSs4OHwwO3N3aXRjaChi
W2ErOTI+PjBdfDApe2Nhc2UgMTp7eVQoZltjPj4yXXwwKTticmVha31jYXNlIDI6e2NSKGZbYz4+
Ml18MCk7YnJlYWt9ZGVmYXVsdDp7fX1iUihhKTtNXyhhKTtyZXR1cm59ZnVuY3Rpb24gRFQoYSxi
LGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MDtlPXQ7dD10KzE2MHwwO2Q9ZSsx
MzZ8MDtnPWUrMTI4fDA7ZltnPj4yXT0wO2ZbZys0Pj4yXT0wO2ZbNDg1MTddPWc7Zls0ODUxNl09
MDtmWzQ4NTE0XT0wO2ZbNDg1MThdPWZbKGZbKGZbYys1Mj4+Ml18MCkrMTY+PjJdfDApKzE0ND4+
Ml07Zz1Mdyg3MzM4MCxmWzE4ZTNdfDApfDA7Zls0ODUxOV09ZztnPUx3KDczNDE2LGZbMThlM118
MCl8MDtmWzQ4NTIwXT1nO2F4KGQsMTI4LGUpO2ZbNDg1MTVdPWQ7aWYoIShIVChhLGQsYyl8MCkp
e2pUKCl8MDthPXhVKCl8MDtmW2I+PjJdPWE7YT1mWzQ4NTE0XXwwfWVsc2V7ZltiPj4yXT0yO2E9
MH1IdyhmWzQ4NTE5XXwwKXwwO0h3KGZbNDg1MjBdfDApfDA7Zls0ODUxOV09MDtmWzQ4NTIwXT0w
O2ZbNDg1MTddPTA7ZXgoZCk7dD1lO3JldHVybiBhfDB9ZnVuY3Rpb24gRVQoYSl7YT1hfDA7dmFy
IGM9MCxkPTAsZT0wO2Q9dDt0PXQrMTZ8MDtjPWQ7aWYoIShiWzE5NDExN118MCkpe2JbMTk0MTE3
XT0xO2U9RlQoKXwwO2ZbYz4+Ml09YTtmW2MrND4+Ml09ZTtZdygxLDE0NzcxMCxjKXwwO0dUKCl9
dD1kO3JldHVybn1mdW5jdGlvbiBGVCgpe3JldHVybiBtWChmWzQ4NTIxXXwwKXwwfWZ1bmN0aW9u
IEdUKCl7dmFyIGE9MCxjPTAsZD0wLGU9MCxnPTA7Zz10O3Q9dCsxNnwwO2U9ZzthPWZbNDg1MjRd
fDA7ZlthKzQ+PjJdPWZbYT4+Ml07Yz1mWzQ4NTMzXXwwO2lmKChjfDApPjApe2N4KGEsZls0ODUz
MV18MCxjKXwwO2E9Zls0ODUyNF18MH1jeChhLGZbNDg1MzBdfDAsZls0ODUzMl18MCl8MDtkPWZb
NDg1MjRdfDA7Yz1kKzR8MDthPWZbYz4+Ml18MDtpZihhPj4+MD49KGZbZCs4Pj4yXXwwKT4+PjAp
e2J4KGQsMSl8MDthPShmWzQ4NTI0XXwwKSs0fDA7Yz1hO2E9ZlthPj4yXXwwfWZbYz4+Ml09YSsx
O2JbYT4+MF09MDtjPWZbNDg1MjRdfDA7ZD1mW2M+PjJdfDA7ZltjKzQ+PjJdPWQ7ZltlPj4yXT1k
O1l3KDMsMTQ3NzI2LGUpfDA7dD1nO3JldHVybn1mdW5jdGlvbiBIVChhLGMsZCl7YT1hfDA7Yz1j
fDA7ZD1kfDA7Zls0ODUyNF09YztheCgxOTQxMDAsMTI4LDApO2ZbNDg1MjJdPWE7YlsxOTQxMTld
PTA7YlsxOTQxMTZdPTA7YlsxOTQxMTddPTA7Zls0ODUzMl09MDtmWzQ4NTMzXT0wO2JbMTk0MTE4
XT0xO2Q9ZCs1MnwwO2M9TVYocUgoaFsoZlsoZltkPj4yXXwwKSsxNj4+Ml18MCkrMTE1Pj4wXXww
KXwwKXwwO2ZbNDg1MjFdPWM7JFcoYyxmWyhmWyhmW2Q+PjJdfDApKzE2Pj4yXXwwKSsxNDQ+PjJd
fDApO2FYKGZbNDg1MjFdfDAsNzAsMjcpO2JYKGZbNDg1MjFdfDAsNzEpO3JldHVybiAwfWZ1bmN0
aW9uIElUKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDtkbyBpZighKGIzKGMsMTQ3NzM4KXwwKSl7
ZD1NVChkKXwwO2ZbNDg1MTNdPWQ7YlsxOTQxMThdPTA7Zls0ODUyM109Mjg2fWVsc2V7aWYoYjMo
YywxNDc3NDQpfDA/YjMoYywxNDc3NDcpfDA6MCl7aWYoIShiMyhjLDE0Nzc1MCl8MCkpe2JbMTk0
MTE4XT0xO2Q9TlQoZCl8MDtmWzQ4NTEzXT1kO2ZbNDg1MjNdPTI4NzticmVha31pZighKGIzKGMs
MTQ3NzU4KXwwKSl7ZD1PVChhLGQsMCl8MDtmWzQ4NTEzXT1kO2ZbNDg1MjNdPTI4ODticmVha31p
ZighKGIzKGMsMTQ3NzYzKXwwKSl7ZD1PVChhLDAsMSl8MDtmWzQ4NTEzXT1kO2ZbNDg1MjNdPTI5
MDticmVha31pZighKGIzKGMsMTQ3Nzc5KXwwKSl7ZD1PVChhLDAsMzIpfDA7Zls0ODUxM109ZDtm
WzQ4NTIzXT0yOTU7YnJlYWt9aWYoIShiMyhjLDE0Nzc2NSl8MCkpe2Q9T1QoYSwwLDQpfDA7Zls0
ODUxM109ZDtmWzQ4NTIzXT0yOTE7YnJlYWt9aWYoIShiMyhjLDE0Nzc2Nyl8MCkpe2Q9T1QoYSww
LDY0KXwwO2ZbNDg1MTNdPWQ7Zls0ODUyM109MjkyO2JyZWFrfWlmKCEoYjMoYywxNDc3NjkpfDAp
KXtkPU9UKGEsMCwyKXwwO2ZbNDg1MTNdPWQ7Zls0ODUyM109Mjg5O2JyZWFrfWlmKCEoYjMoYywx
NDc3NzEpfDApKXtkPU9UKGEsMCw4KXwwO2ZbNDg1MTNdPWQ7Zls0ODUyM109MjkzO2JyZWFrfWlm
KCEoYjMoYywxNDc3NzUpfDApKXtkPU9UKGEsMCwxNil8MDtmWzQ4NTEzXT1kO2ZbNDg1MjNdPTI5
NDticmVha31pZighKGIzKGMsMTQ3NzgxKXwwKSl7UFQoZCk7Zls0ODUyM109MjgzO2JyZWFrfWlm
KCEoYjMoYywxNDc3ODQpfDApKXtmWzQ4NTIzXT0yNzc7YnJlYWt9aWYoIShiMyhjLDE0Nzc4Nyl8
MCkpe2ZbNDg1MjNdPTI4MDticmVha31pZighKGIzKGMsMTQ3NzkwKXwwKSl7ZD1RVChkKXwwO2Zb
NDg1MTNdPWQ7Zls0ODUyM109Mjg1O2JyZWFrfWlmKCEoYjMoYywxNDc3NTMpfDApKXtmWzQ4NTIz
XT0yNjI7YnJlYWt9ZWxzZXtMVChjKTticmVha319YlsxOTQxMThdPTA7Zls0ODUyM109MjYwfXdo
aWxlKDApO3JldHVybn1mdW5jdGlvbiBKVChhLGMpe2E9YXwwO2M9Y3wwO2RvIGlmKCEoYjMoYywx
NDc3MzgpfDApKXtmWzQ4NTIzXT0yNjQ7YlsxOTQxMThdPTF9ZWxzZXtpZihiMyhjLDE0Nzc0NCl8
MD9iMyhjLDE0Nzc0Nyl8MDowKXtpZighKGIzKGMsMTQ3NzUwKXwwKSl7Zls0ODUyM109MjY1O2Jb
MTk0MTE4XT0wO2JyZWFrfWlmKCEoYjMoYywxNDc3NTMpfDApKXtmWzQ4NTIzXT0yNjM7YnJlYWt9
aWYoIShiMyhjLDE0Nzc1OCl8MCkpe2ZbNDg1MjNdPTI2NjticmVha31pZighKGIzKGMsMTQ3NzYz
KXwwKSl7Zls0ODUyM109MjcwO2JyZWFrfWlmKCEoYjMoYywxNDc3NjUpfDApKXtmWzQ4NTIzXT0y
NzE7YnJlYWt9aWYoIShiMyhjLDE0Nzc2Nyl8MCkpe2ZbNDg1MjNdPTI3MjticmVha31pZighKGIz
KGMsMTQ3NzY5KXwwKSl7Zls0ODUyM109MjY5O2JyZWFrfWlmKCEoYjMoYywxNDc3NzEpfDApKXtm
WzQ4NTIzXT0yNzM7YnJlYWt9aWYoIShiMyhjLDE0Nzc3NSl8MCkpe2ZbNDg1MjNdPTI3NDticmVh
a31pZighKGIzKGMsMTQ3Nzc5KXwwKSl7Zls0ODUyM109Mjc1O2JyZWFrfWlmKCEoYjMoYywxNDc3
ODEpfDApKWlmKChmWzQ4NTIzXXwwKT09MjgzKXtmWzQ4NTIzXT0yODI7YnJlYWt9ZWxzZXtmWzQ4
NTIzXT0yNTg7YnJlYWt9aWYoIShiMyhjLDE0Nzc4NCl8MCkpaWYoKGZbNDg1MjNdfDApPT0yNzcp
e2ZbNDg1MjNdPTI3NjticmVha31lbHNle2ZbNDg1MjNdPTI3ODticmVha31pZighKGIzKGMsMTQ3
Nzg3KXwwKSlpZigoZls0ODUyM118MCk9PTI4MCl7Zls0ODUyM109Mjc5O2JyZWFrfWVsc2V7Zls0
ODUyM109MjgxO2JyZWFrfWlmKGIzKGMsMTQ3NzkwKXwwKXtMVChjKTticmVha31pZigoZls0ODUy
M118MCk9PTI4NSl7Zls0ODUyM109Mjg0O2JyZWFrfWVsc2V7Zls0ODUyM109MjU5O2JyZWFrfX1m
WzQ4NTIzXT0yNjF9d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIEtUKGEsYyxkKXthPWF8MDtjPWN8
MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wO2lmKGJbMTk0MTE4XXwwKXthPTA7d2hpbGUoMSl7
aWYoIWQpYnJlYWs7aT1jKzF8MDtoPWJbYz4+MF18MDtpZigoaCYyNTUpPjMxKXtnPWZbNDg1MjRd
fDA7ZT1nKzR8MDtjPWZbZT4+Ml18MDtpZihjPj4+MD49KGZbZys4Pj4yXXwwKT4+PjApe2J4KGcs
MSl8MDtjPShmWzQ4NTI0XXwwKSs0fDA7ZT1jO2M9ZltjPj4yXXwwfWZbZT4+Ml09YysxO2JbYz4+
MF09aDthPWErMXwwfWM9aTtkPWQrLTF8MH1pZihhfDApZls0ODUyM109MjY3fXJldHVybn1mdW5j
dGlvbiBMVChhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTA7Yz10O3Q9dCsxNnwwO2Q9YztmWzQ4NTIz
XT0yNjg7YlsxOTQxMTddPTE7ZT1GVCgpfDA7ZltkPj4yXT1hO2ZbZCs0Pj4yXT1lO1l3KDEsMTQ3
Nzk0LGQpfDA7dD1jO3JldHVybn1mdW5jdGlvbiBNVChhKXthPWF8MDt2YXIgYz0wO2M9REgoMTIw
KXwwO2ZbYysxMDA+PjJdPS0xO2JbYys4OD4+MF09LTE7UlQoYyw1MzM2MCwyMixhLDE0ODc0Nik7
cmV0dXJuIGN8MH1mdW5jdGlvbiBOVChhKXthPWF8MDt2YXIgYj0wO2I9REgoMTA0KXwwO2RbYis4
MD4+MV09MTtkW2IrODI+PjFdPTE7UlQoYiw1MzE4NCwyMixhLDE0ODEwMCk7cmV0dXJuIGJ8MH1m
dW5jdGlvbiBPVChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZT10O3Q9dCsz
MnwwO2Q9ZTtmW2Q+PjJdPTA7ZltkKzQ+PjJdPTA7ZltkKzg+PjJdPTA7ZltkKzEyPj4yXT0wO2Zb
ZCsxNj4+Ml09MDtmW2QrMjA+PjJdPTA7ZltkKzI0Pj4yXT0wO2ZbZCsyOD4+Ml09MDtwW2QrMTY+
PjNdPS0xLjA7ZltkKzI0Pj4yXT1jJjEyNztpZihifDApUlQoZCw1MzE1MiwzLGIsMTQ3OTUxKTtj
PWZbYSsxNDQ+PjJdfDA7ZD13YltmW2M+PjJdJjYzXShjLGQsMSl8MDt0PWU7cmV0dXJuIGR8MH1m
dW5jdGlvbiBQVChhKXthPWF8MDtmWzQ4NTEzXT0wO1JUKDE5NDA1Miw3MzQ1MiwxLGEsMTQ3ODg3
KTtyZXR1cm59ZnVuY3Rpb24gUVQoYSl7YT1hfDA7dmFyIGI9MDtiPURIKDQwKXwwO1JUKGIsNTMx
MzYsMixhLDE0NzgzMyk7cmV0dXJuIGJ8MH1mdW5jdGlvbiBSVChhLGMsZCxlLGcpe2E9YXwwO2M9
Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO3ZhciBpPTAsaj0wLGs9MCxsPTAsbT0wLG49MDtuPXQ7dD10
KzE2fDA7bT1uO2w9bis4fDA7d2hpbGUoMSl7az1mW2U+PjJdfDA7aWYoIWspYnJlYWs7aT1mW2Ur
ND4+Ml18MDtmW2w+PjJdPWs7aj15MihsLGMsZCw4LDEwMil8MDtpZighail7ZlttPj4yXT1rO2Zb
bSs0Pj4yXT1nO1l3KDAsMTQ3ODM5LG0pfDA7aT0xfWVsc2V7aT11YltmW2orND4+Ml0mMTI3XShh
LGkpfDA7aT0oaXwoaFsxOTQxMTZdfDApKSYyNTV9YlsxOTQxMTZdPWk7ZT1lKzh8MH10PW47cmV0
dXJufWZ1bmN0aW9uIFNUKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuIGIzKGZbYT4+Ml18MCxmW2I+
PjJdfDApfDB9ZnVuY3Rpb24gVFQoYSxiKXthPWF8MDtiPWJ8MDtiPXYyKGIpfDA7ZlthKzM2Pj4y
XT1iO3JldHVybiAwfWZ1bmN0aW9uIFVUKGEsYil7YT1hfDA7Yj1ifDA7Yj12MihiKXwwO2ZbYSsz
Mj4+Ml09YjtyZXR1cm4gMH1mdW5jdGlvbiBWVChhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0w
LGc9MCxoPTAsaT0wO2k9dDt0PXQrMTZ8MDtnPWk7ZT0oVTIoYltjPj4wXXwwKXwwKTw8MjQ7YTpk
byBpZigoZXwwKT49MTM3NTczMTcxMil7c3dpdGNoKGV8MCl7Y2FzZSAxMzc1NzMxNzEyOmJyZWFr
O2RlZmF1bHQ6e2g9MjticmVhayBhfX1kPWMrMXwwO2lmKCEoYjMoZCwxNDc4OTgpfDApKXtmW2E+
PjJdPTExNDtkPTB9ZWxzZSBoPTV9ZWxzZSBzd2l0Y2goZXwwKXtjYXNlIDEyNzUwNjg0MTY6e2g9
NjticmVha31kZWZhdWx0Omg9Mn13aGlsZSgwKTtpZigoaHwwKT09Mil7ZD1jKzF8MDtoPTV9ZG8g
aWYoKGh8MCk9PTUpaWYoIShiMyhkLDE0NzkwMyl8MCkpaD02O2Vsc2V7aWYoKGV8MCkhPTExMjQw
NzM0NzI/KGIzKGQsMTQ3OTA3KXwwKT09MDowKXtmW2c+PjJdPWM7WXcoMCwxNDc5MTMsZyl8MDtk
PTE7YnJlYWt9ZlthPj4yXT0xMTA7ZD0wfXdoaWxlKDApO2lmKChofDApPT02KXtmW2E+PjJdPTEw
ODtkPTB9dD1pO3JldHVybiBkfDB9ZnVuY3Rpb24gV1QoYSxiKXthPWF8MDtiPWJ8MDtmW2ErND4+
Ml09YjtyZXR1cm4gMH1mdW5jdGlvbiBYVChhLGIpe2E9YXwwO2I9YnwwO2ZbYT4+Ml09YjtyZXR1
cm4gMH1mdW5jdGlvbiBZVChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wO2Q9dDt0PXQrMTZ8
MDtjPWQ7aWYoIShaVChiLDE0Nzk4MCwwLDI1NSxjKXwwKSl7cFthKzE2Pj4zXT0rKGZbYz4+Ml18
MCk7YT0wfWVsc2UgYT0xO3Q9ZDtyZXR1cm4gYXwwfWZ1bmN0aW9uIFpUKGEsYixjLGQsZSl7YT1h
fDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wO2s9
dDt0PXQrNDh8MDtqPWsrMjR8MDtpPWsrOHwwO2g9aztsPWsrMzZ8MDtnPXoyKGEsbCwxMCl8MDtk
byBpZigoZltsPj4yXXwwKSE9KGF8MCkpe2lmKChnfDApPihkfDApKXtmW2k+PjJdPWI7ZltpKzQ+
PjJdPWE7ZltpKzg+PjJdPWQ7WXcoMCwxNDgwMjIsaSl8MDthPTE7YnJlYWt9aWYoKGd8MCk8KGN8
MCkpe2Zbaj4+Ml09YjtmW2orND4+Ml09YTtmW2orOD4+Ml09YztZdygwLDE0ODA2MSxqKXwwO2E9
MTticmVha31lbHNle2ZbZT4+Ml09ZzthPTA7YnJlYWt9fWVsc2V7ZltoPj4yXT1iO2ZbaCs0Pj4y
XT1hO1l3KDAsMTQ3OTkxLGgpfDA7YT0xfXdoaWxlKDApO3Q9aztyZXR1cm4gYXwwfWZ1bmN0aW9u
IF9UKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGU9MCxnPTAsaD0wLGk9MDtpPXQ7dD10KzE2fDA7Zz1p
O2U9KFUyKGJbYz4+MF18MCl8MCk8PDI0O2E6ZG8gaWYoKGV8MCk8MTM3NTczMTcxMil7aWYoKGV8
MCk8MTI3NTA2ODQxNil7c3dpdGNoKGV8MCl7Y2FzZSAxMTI0MDczNDcyOmJyZWFrO2RlZmF1bHQ6
e2g9OTticmVhayBhfX1pZighKGIzKGMrMXwwLDE0NzkwNyl8MCkpe2E9MDticmVha31lbHNle2g9
OTticmVha319c3dpdGNoKGV8MCl7Y2FzZSAxMjc1MDY4NDE2OmJyZWFrO2RlZmF1bHQ6e2g9OTti
cmVhayBhfX1pZighKGIzKGMrMXwwLDE0NzkwMyl8MCkpe2E9YSszNnwwO2RbYT4+MV09ZFthPj4x
XXw0O2E9MH1lbHNlIGg9OX1lbHNlIGlmKChlfDApPDE0MDkyODYxNDQpe3N3aXRjaChlfDApe2Nh
c2UgMTM3NTczMTcxMjpicmVhaztkZWZhdWx0OntoPTk7YnJlYWsgYX19aWYoYjMoYysxfDAsMTQ3
ODk4KXwwKXtoPTk7YnJlYWt9YT1hKzM2fDA7ZFthPj4xXT1kW2E+PjFdfDI7YT0wO2JyZWFrfWVs
c2V7c3dpdGNoKGV8MCl7Y2FzZSAxNDA5Mjg2MTQ0OmJyZWFrO2RlZmF1bHQ6e2g9OTticmVhayBh
fX1pZihiMyhjKzF8MCwxNDg2OTgpfDApe2g9OTticmVha31hPWErMzZ8MDtkW2E+PjFdPWRbYT4+
MV18NjthPTA7YnJlYWt9d2hpbGUoMCk7aWYoKGh8MCk9PTkpe2ZbZz4+Ml09YztZdygwLDE0ODcw
MixnKXwwO2E9MX10PWk7cmV0dXJuIGF8MH1mdW5jdGlvbiAkVChhLGMpe2E9YXwwO2M9Y3wwO3Zh
ciBlPTAsZz0wLGg9MCxpPTA7aT10O3Q9dCsxNnwwO2c9aTtlPShVMihiW2M+PjBdfDApfDApPDwy
NDthOmRvIGlmKChlfDApPDEyNzUwNjg0MTYpe3N3aXRjaChlfDApe2Nhc2UgMTEyNDA3MzQ3Mjpi
cmVhaztkZWZhdWx0OntoPTc7YnJlYWsgYX19aWYoIShiMyhjKzF8MCwxNDc5MDcpfDApKWE9MDtl
bHNlIGg9N31lbHNlIGlmKChlfDApPDEzNzU3MzE3MTIpe3N3aXRjaChlfDApe2Nhc2UgMTI3NTA2
ODQxNjpicmVhaztkZWZhdWx0OntoPTc7YnJlYWsgYX19aWYoYjMoYysxfDAsMTQ3OTAzKXwwKXto
PTc7YnJlYWt9YT1hKzM2fDA7ZFthPj4xXT1kW2E+PjFdfDUxMjthPTA7YnJlYWt9ZWxzZXtzd2l0
Y2goZXwwKXtjYXNlIDEzNzU3MzE3MTI6YnJlYWs7ZGVmYXVsdDp7aD03O2JyZWFrIGF9fWlmKGIz
KGMrMXwwLDE0Nzg5OCl8MCl7aD03O2JyZWFrfWE9YSszNnwwO2RbYT4+MV09ZFthPj4xXXwyNTY7
YT0wO2JyZWFrfXdoaWxlKDApO2lmKChofDApPT03KXtmW2c+PjJdPWM7WXcoMCwxNDg2NTMsZyl8
MDthPTF9dD1pO3JldHVybiBhfDB9ZnVuY3Rpb24gYVUoYSxiKXthPWF8MDtiPWJ8MDtiPXYyKGIp
fDA7ZlthKzIwPj4yXT1iO3JldHVybiAwfWZ1bmN0aW9uIGJVKGEsYyl7YT1hfDA7Yz1jfDA7dmFy
IGU9MCxnPTA7Zz10O3Q9dCsxNnwwO2U9ZztpZighKFpUKGMsMTQ4NjQ2LDAsMjU1LGUpfDApKXti
W2ErMzM+PjBdPWZbZT4+Ml07YT1hKzM2fDA7ZFthPj4xXT1kW2E+PjFdfDMyO2E9MH1lbHNlIGE9
MTt0PWc7cmV0dXJuIGF8MH1mdW5jdGlvbiBjVShhLGMpe2E9YXwwO2M9Y3wwO3ZhciBlPTAsZz0w
O2c9dDt0PXQrMTZ8MDtlPWc7aWYoIShaVChjLDE0ODYzNCwwLDI1NSxlKXwwKSl7YlthKzM0Pj4w
XT1mW2U+PjJdO2E9YSszNnwwO2RbYT4+MV09ZFthPj4xXXw2NDthPTB9ZWxzZSBhPTE7dD1nO3Jl
dHVybiBhfDB9ZnVuY3Rpb24gZFUoYSxjKXthPWF8MDtjPWN8MDt2YXIgZT0wLGc9MDtnPXQ7dD10
KzE2fDA7ZT1nO2lmKCEoWlQoYywxNDg2MjIsLTEyOCwxMjcsZSl8MCkpe2JbYSszMj4+MF09Zltl
Pj4yXTthPWErMzZ8MDtkW2E+PjFdPWRbYT4+MV18MTI4O2E9MH1lbHNlIGE9MTt0PWc7cmV0dXJu
IGF8MH1mdW5jdGlvbiBlVShhLGIpe2E9YXwwO2I9YnwwO2I9djIoYil8MDtmW2ErMjQ+PjJdPWI7
cmV0dXJuIDB9ZnVuY3Rpb24gZlUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGU9MCxnPTA7Zz10
O3Q9dCsxNnwwO2U9ZztjPWcrNHwwO2RvIGlmKCEoWlQoYiwxNDg1NzcsMCw2NTUzNSxjKXwwKSl7
Yj1mW2M+PjJdfDA7aWYoIWIpe1l3KDAsMTQ4NTg1LGUpfDA7Yj0xO2JyZWFrfWVsc2V7ZFthKzgw
Pj4xXT1iO2I9MDticmVha319ZWxzZSBiPTE7d2hpbGUoMCk7dD1nO3JldHVybiBifDB9ZnVuY3Rp
b24gZ1UoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGU9MCxnPTAsaT0wO2k9dDt0PXQrMTZ8MDtl
PWk7Yz0oVTIoaFtiPj4wXXwwKXwwKTw8MjQ7YTpkbyBpZigoY3wwKTwxNDA5Mjg2MTQ0KXtzd2l0
Y2goY3wwKXtjYXNlIDExNzQ0MDUxMjA6YnJlYWs7ZGVmYXVsdDp7Zz01O2JyZWFrIGF9fWlmKCEo
YjMoYisxfDAsMTQ4NTMwKXwwKSlhPTA7ZWxzZSBnPTV9ZWxzZXtzd2l0Y2goY3wwKXtjYXNlIDE0
MDkyODYxNDQ6YnJlYWs7ZGVmYXVsdDp7Zz01O2JyZWFrIGF9fWlmKCEoYjMoYisxfDAsMTQ4NTI2
KXwwKSl7YT1hKzM2fDA7ZFthPj4xXT1kW2E+PjFdfDE7YT0wfWVsc2UgZz01fXdoaWxlKDApO2lm
KChnfDApPT01KXtmW2U+PjJdPWI7WXcoMCwxNDg1MzUsZSl8MDthPTF9dD1pO3JldHVybiBhfDB9
ZnVuY3Rpb24gaFUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MDtkPXQ7dD10KzE2fDA7Yz1k
O2lmKCEoWlQoYiwxNDg1MTIsMCwzNjAsYyl8MCkpe2ZbYSsyOD4+Ml09ZltjPj4yXSY2NTUzNTth
PTB9ZWxzZSBhPTE7dD1kO3JldHVybiBhfDB9ZnVuY3Rpb24gaVUoYSxiKXthPWF8MDtiPWJ8MDt2
YXIgYz0wLGU9MDtlPXQ7dD10KzE2fDA7Yz1lO2lmKCEoWlQoYiwxNDg1MDUsMCw2NTUzNSxjKXww
KSl7ZFthKzQwPj4xXT1mW2M+PjJdO2E9MH1lbHNlIGE9MTt0PWU7cmV0dXJuIGF8MH1mdW5jdGlv
biBqVShhLGIpe2E9YXwwO2I9YnwwO2I9djIoYil8MDtmW2E+PjJdPWI7cmV0dXJuIDB9ZnVuY3Rp
b24ga1UoYSxiKXthPWF8MDtiPWJ8MDtiPXYyKGIpfDA7ZlthKzE2Pj4yXT1iO3JldHVybiAwfWZ1
bmN0aW9uIGxVKGEsYil7YT1hfDA7Yj1ifDA7Yj12MihiKXwwO2ZbYSs0Pj4yXT1iO3JldHVybiAw
fWZ1bmN0aW9uIG1VKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxlPTAsZz0wO2c9dDt0PXQrMTZ8
MDtlPWc7Yz1nKzR8MDtkbyBpZighKFpUKGIsMTQ4NDYwLDAsNjU1MzUsYyl8MCkpe2I9ZltjPj4y
XXwwO2lmKCFiKXtZdygwLDE0ODQ2OCxlKXwwO2I9MTticmVha31lbHNle2RbYSs4Mj4+MV09Yjti
PTA7YnJlYWt9fWVsc2UgYj0xO3doaWxlKDApO3Q9ZztyZXR1cm4gYnwwfWZ1bmN0aW9uIG5VKGEs
Yyl7YT1hfDA7Yz1jfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTA7aT10O3Q9dCsxNnwwO2g9aTtl
PTA7YTp3aGlsZSgxKXtiOndoaWxlKDEpe2c9YysxfDA7Yz1iW2M+PjBdfDA7aWYoIShjPDwyND4+
MjQpKWJyZWFrIGE7Yz1jPDwyND4+MjQ7aj0oUzIoYyl8MCkrLTk4fDA7c3dpdGNoKGo+Pj4xfGo8
PDMxfDApe2Nhc2UgNTp7Yz01O2JyZWFrIGJ9Y2FzZSA5OntjPTY7YnJlYWsgYn1jYXNlIDg6e2M9
NzticmVhayBifWNhc2UgMDp7Yz04O2JyZWFrIGJ9ZGVmYXVsdDp7fX1mW2g+PjJdPWM7ZltoKzQ+
PjJdPWM7WXcoMCwxNDg0MDcsaCl8MDtjPWd9aWYoKGN8MCk9PTUpZT1lfDEwMjQ7ZWxzZSBpZigo
Y3wwKT09NillPWV8MjA0ODtlbHNlIGlmKChjfDApPT03KWU9ZXw0MDk2O2Vsc2UgaWYoKGN8MCk9
PTgpZT1lfDgxOTI7Yz1nfWlmKGU8PDE2Pj4xNiE9MTUzNjApe2o9YSszNnwwO2Rbaj4+MV09ZFtq
Pj4xXXxlfXQ9aTtyZXR1cm4gMH1mdW5jdGlvbiBvVShhLGMpe2E9YXwwO2M9Y3wwO3ZhciBlPTAs
Zz0wLGg9MCxpPTAsaj0wLGs9MDtrPXQ7dD10KzE2fDA7aj1rKzh8MDtpPWs7aD12MihjKXwwO2c9
YSs0MnwwO2M9MDthPWQzKGgsMTQ4MzE3KXwwO3doaWxlKDEpe2lmKCFhKWJyZWFrO2RvIGlmKCgo
VTIoYlthPj4wXXwwKXwwKSYyNTV8MCk9PTgyKXtlPWErMXwwO2lmKCEoYjMoZSwxNDgzMjApfDAp
KXtkW2c+PjFdPWRbZz4+MV18NDticmVha31pZighKGIzKGUsMTQ4MzI3KXwwKSl7ZFtnPj4xXT1k
W2c+PjFdfDI7YnJlYWt9ZWxzZXtmW2k+PjJdPWE7WXcoMCwxNDgzMzMsaSl8MDtjPTE7YnJlYWt9
fWVsc2V7aWYoIShiMyhhLDE0ODM3MSl8MCkpe2RbZz4+MV09ZFtnPj4xXSYtMzg1O2JyZWFrfWlm
KGIzKGEsMTQ4Mzc3KXwwP2IzKGEsMTQ4Mzg3KXwwOjApe2lmKCEoYjMoYSwxNDgzOTMpfDApKXtk
W2c+PjFdPWRbZz4+MV18MTI4O2JyZWFrfWlmKCEoYjMoYSwxNDg0MDApfDApKXtkW2c+PjFdPWRb
Zz4+MV18MjU2O2JyZWFrfWVsc2V7ZltqPj4yXT1hO1l3KDAsMTQ4MzMzLGopfDA7Yz0xO2JyZWFr
fX1kW2c+PjFdPWRbZz4+MV18MzJ9d2hpbGUoMCk7YT1kMygwLDE0ODMxNyl8MH1NXyhoKTt0PWs7
cmV0dXJuIGN8MH1mdW5jdGlvbiBwVShhLGIpe2E9YXwwO2I9YnwwO2I9djIoYil8MDtmW2ErOD4+
Ml09YjtyZXR1cm4gMH1mdW5jdGlvbiBxVShhLGIpe2E9YXwwO2I9YnwwO2I9djIoYil8MDtmW2Er
MTI+PjJdPWI7cmV0dXJuIDB9ZnVuY3Rpb24gclUoYSxjKXthPWF8MDtjPWN8MDt2YXIgZT0wLGc9
MCxoPTAsaT0wO2k9dDt0PXQrMTZ8MDtnPWk7ZT0oVTIoYltjPj4wXXwwKXwwKTw8MjQ7YTpkbyBp
ZigoZXwwKTwxMjkxODQ1NjMyKXtzd2l0Y2goZXwwKXtjYXNlIDExMDcyOTYyNTY6YnJlYWs7ZGVm
YXVsdDp7aD03O2JyZWFrIGF9fWlmKCEoYjMoYysxfDAsMTQ4MjYzKXwwKSl7YT1hKzM2fDA7ZFth
Pj4xXT1kW2E+PjFdfDE2O2E9MH1lbHNlIGg9N31lbHNle2lmKChlfDApPDE0MDkyODYxNDQpe3N3
aXRjaChlfDApe2Nhc2UgMTI5MTg0NTYzMjpicmVhaztkZWZhdWx0OntoPTc7YnJlYWsgYX19aWYo
IShiMyhjKzF8MCwxNDgyNzIpfDApKXthPTA7YnJlYWt9ZWxzZXtoPTc7YnJlYWt9fXN3aXRjaChl
fDApe2Nhc2UgMTQwOTI4NjE0NDpicmVhaztkZWZhdWx0OntoPTc7YnJlYWsgYX19aWYoIShiMyhj
KzF8MCwxNDgyNjkpfDApKXthPWErMzZ8MDtkW2E+PjFdPWRbYT4+MV18ODthPTB9ZWxzZSBoPTd9
d2hpbGUoMCk7aWYoKGh8MCk9PTcpe2ZbZz4+Ml09YztZdygwLDE0ODI3OCxnKXwwO2E9MX10PWk7
cmV0dXJuIGF8MH1mdW5jdGlvbiBzVShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZT0wO2U9dDt0
PXQrMTZ8MDtjPWU7aWYoIShaVChiLDE0ODI1NywwLDY1NTM1LGMpfDApKXtkW2ErMzg+PjFdPWZb
Yz4+Ml07YT0wfWVsc2UgYT0xO3Q9ZTtyZXR1cm4gYXwwfWZ1bmN0aW9uIHRVKGEsYyl7YT1hfDA7
Yz1jfDA7dmFyIGU9MCxnPTAsaD0wLGk9MDtpPXQ7dD10KzE2fDA7Zz1pO2U9KFUyKGJbYz4+MF18
MCl8MCk8PDI0O2E6ZG8gaWYoKGV8MCk8MTI3NTA2ODQxNil7c3dpdGNoKGV8MCl7Y2FzZSAxMTI0
MDczNDcyOmJyZWFrO2RlZmF1bHQ6e2g9NzticmVhayBhfX1pZighKGIzKGMrMXwwLDE0NzkwNyl8
MCkpYT0wO2Vsc2UgaD03fWVsc2UgaWYoKGV8MCk8MTM3NTczMTcxMil7c3dpdGNoKGV8MCl7Y2Fz
ZSAxMjc1MDY4NDE2OmJyZWFrO2RlZmF1bHQ6e2g9NzticmVhayBhfX1pZihiMyhjKzF8MCwxNDc5
MDMpfDApe2g9NzticmVha31hPWErMzZ8MDtkW2E+PjFdPWRbYT4+MV18NDthPTA7YnJlYWt9ZWxz
ZXtzd2l0Y2goZXwwKXtjYXNlIDEzNzU3MzE3MTI6YnJlYWs7ZGVmYXVsdDp7aD03O2JyZWFrIGF9
fWlmKGIzKGMrMXwwLDE0Nzg5OCl8MCl7aD03O2JyZWFrfWE9YSszNnwwO2RbYT4+MV09ZFthPj4x
XXwyO2E9MDticmVha313aGlsZSgwKTtpZigoaHwwKT09Nyl7ZltnPj4yXT1jO1l3KDAsMTQ3OTEz
LGcpfDA7YT0xfXQ9aTtyZXR1cm4gYXwwfWZ1bmN0aW9uIHVVKGEsYyl7YT1hfDA7Yz1jfDA7dmFy
IGQ9MCxlPTA7ZT10O3Q9dCsxNnwwO2Q9ZTtpZighKFpUKGMsMTQ4ODU1LDAsMTI3LGQpfDApKXti
W2ErODg+PjBdPWZbZD4+Ml07YT0wfWVsc2UgYT0xO3Q9ZTtyZXR1cm4gYXwwfWZ1bmN0aW9uIHZV
KGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZT10O3Q9dCsxNnwwO2Q9ZTtpZigoYltjPj4w
XXwwKT09NDIpe2E9YSsxMTJ8MDtiW2E+PjBdPWJbYT4+MF18MTthPTB9ZWxzZXtmW2Q+PjJdPWM7
WXcoMCwxNDg4MTUsZCl8MDthPTF9dD1lO3JldHVybiBhfDB9ZnVuY3Rpb24gd1UoYSxjKXthPWF8
MDtjPWN8MDt2YXIgZD0wLGU9MDtlPXQ7dD10KzE2fDA7ZD1lO2lmKChiW2M+PjBdfDApPT00Mil7
YT1hKzExMnwwO2JbYT4+MF09YlthPj4wXXwyO2E9MH1lbHNle2ZbZD4+Ml09YztZdygwLDE0ODc3
OCxkKXwwO2E9MX10PWU7cmV0dXJuIGF8MH1mdW5jdGlvbiB4VSgpe3ZhciBhPTA7YT0oYlsxOTQx
MTddfGJbMTk0MTE2XSk8PDI0Pj4yNDtTVihmWzQ4NTIxXXwwKTtleCgxOTQxMDApO3JldHVybiBh
fDB9ZnVuY3Rpb24geVUoKXt2YXIgYT0wLGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MDtqPXQ7
dD10KzE2fDA7aT1qO2ZbNDg1MjNdPTA7Yz0wO2E6ZG97YjpkbyBzd2l0Y2goYlsxOTQxMTldfDAp
e2Nhc2UgMjp7YT0tMTticmVhayBhfWNhc2UgMDp7YlsxOTQxMTldPTE7aD02O2E9MTQ4ODY3O2M9
MDticmVha31kZWZhdWx0OnthPWZbNDg1MjJdfDA7aWYoIShiW2E+PjBdfDApKXtiWzE5NDExOV09
MjtoPTc7YT0xNDg4NzQ7YnJlYWsgYn1lbHNle2M9elUoYSl8MDtoPWMtYXwwO2JyZWFrIGJ9fX13
aGlsZSgwKTtmWzQ4NTMxXT1mWzQ4NTMwXTtmWzQ4NTMzXT1mWzQ4NTMyXTtmWzQ4NTMwXT1hO2Zb
NDg1MzJdPWg7ZD1mWzQ4NTI2XXwwO2U9ZC0oZls0ODUyNV18MCl8MDtnPWZbNDg1MjFdfDA7aWYo
IWUpYT1jWChnLGEsaCwoaHwwKT09MCYxKXwwO2Vsc2V7aWYoZD4+PjA8KGZbNDg1MjddfDApPj4+
MClhPWQ7ZWxzZXtieCgxOTQxMDAsMSl8MDthPWZbNDg1MjZdfDB9YlthPj4wXT0wO2E9Zls0ODUy
NV18MDtmWzQ4NTI2XT1hO2E9Y1goZyxhLGUsMCl8MH1pZighKChhfDApIT0wfChiWzE5NDExN118
MCkhPTApKXtnPW5YKGxYKGZbNDg1MjFdfDApfDApfDA7aD1GVCgpfDA7ZltpPj4yXT1nO2ZbaSs0
Pj4yXT1oO1l3KDEsMTQ3NzEwLGkpfDA7R1QoKTtiWzE5NDExN109MTtmWzQ4NTIzXT0yNjh9aWYo
Y3wwKWZbNDg1MjJdPWM7YT1mWzQ4NTIzXXwwfXdoaWxlKChhfDApPT0wKTt0PWo7cmV0dXJuIGF8
MH1mdW5jdGlvbiB6VShhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MDtoPXQ7dD10KzE2
fDA7ZT1oO2M9YSsxfDA7ZD1iW2E+PjBdfDA7YTpkbyBpZihkPDwyND4+MjQ9PTYwKXtkPWJbYz4+
MF18MDtpZihkPDwyND4+MjQ9PTMzPyhhJChhKzJ8MCwxNDg4ODIsMil8MCk9PTA6MCl7ZD1BVShh
KzR8MCl8MDtjPWQ7ZD1iW2Q+PjBdfDB9ZWxzZSBnPTQ7YjpkbyBpZigoZ3wwKT09NCl3aGlsZSgx
KXtzd2l0Y2goZDw8MjQ+PjI0KXtjYXNlIDYyOmNhc2UgMDpicmVhayBiO2RlZmF1bHQ6e319ZD1j
KzF8MDtjPWQ7ZD1iW2Q+PjBdfDB9d2hpbGUoMCk7aWYoZDw8MjQ+PjI0PT02Mil7Yz1jKzF8MDti
cmVha31lbHNle1l3KDAsMTQ4ODg1LGUpfDA7YlsxOTQxMTZdPTE7YnJlYWt9fWVsc2V7Yz1hO2E9
ZDt3aGlsZSgxKXtzd2l0Y2goYTw8MjQ+PjI0KXtjYXNlIDA6Y2FzZSA2MDpicmVhayBhO2Nhc2Ug
Mzg6e2Q9YysxfDA7aWYoKGJbZD4+MF18MCk9PTM1KWc9MTU7ZWxzZSBkPVZNKGQsMTk0MTAwKXww
O2JyZWFrfWRlZmF1bHQ6Zz0xNX1pZigoZ3wwKT09MTUpe2c9MDtkPWZbNDg1MjZdfDA7aWYoZD4+
PjA+PShmWzQ4NTI3XXwwKT4+PjApe2J4KDE5NDEwMCwxKXwwO2Q9Zls0ODUyNl18MH1mWzQ4NTI2
XT1kKzE7YltkPj4wXT1hO2Q9YysxfDB9Yz1kO2E9YltkPj4wXXwwfX13aGlsZSgwKTt0PWg7cmV0
dXJuIGN8MH1mdW5jdGlvbiBBVShhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZj0wLGc9MCxoPTA7
aD10O3Q9dCsxNnwwO2c9aDtlPTE7Yz1hO2E6d2hpbGUoMSl7ZD0oZXwwKT09MDtiOndoaWxlKDEp
e2lmKGQpYnJlYWsgYTtmPWMrMXwwO3N3aXRjaChiW2M+PjBdfDApe2Nhc2UgMDp7Yz1mO2JyZWFr
IGF9Y2FzZSA2MDp7ZD01O2JyZWFrIGJ9Y2FzZSA2Mjp7ZD02O2JyZWFrIGJ9ZGVmYXVsdDpjPWZ9
fWlmKChkfDApPT01KWM9ZSsxfDA7ZWxzZSBpZigoZHwwKT09NiljPWUrLTF8MDtlPWM7Yz1mfWQ9
YystMXwwO2RvIGlmKGJbZD4+MF18MCl7Yz1jKy0zfDA7aWYoYz4+PjA+PWE+Pj4wPyhhJChjLDE0
ODg4MiwyKXwwKT09MDowKWJyZWFrO1l3KDAsMTQ4OTI2LGcpfDA7YlsxOTQxMTZdPTF9d2hpbGUo
MCk7dD1oO3JldHVybiBkfDB9ZnVuY3Rpb24gQlUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9
MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0w
O2M9TF8oMjgpfDA7aWYoIWMpYz0wO2Vsc2V7ZD0wO2U9MDt3aGlsZSgxKXtpZigoZHwwKT49KGJ8
MCkpYnJlYWs7cj0oZlsoZlthKyhkPDwyKT4+Ml18MCkrND4+Ml18MCkrZXwwO2Q9ZCsxfDA7ZT1y
fWQ9Q1UoZTw8NCl8MDtvPWMrOHwwO2Zbbz4+Ml09ZDtkPUNVKChiPDwyKSs0fDApfDA7cD1jKzEy
fDA7ZltwPj4yXT1kO2Q9ZTw8MjtyPUNVKGQpfDA7cT1jKzE2fDA7ZltxPj4yXT1yO2Q9Q1UoZCl8
MDtyPWMrMjB8MDtmW3I+PjJdPWQ7ZltjKzQ+PjJdPWU7ZltjPj4yXT1iO2U9MDtoPTA7d2hpbGUo
MSl7ZlsoZltwPj4yXXwwKSsoaDw8Mik+PjJdPWU7aWYoKGh8MCk+PShifDApKWJyZWFrO2o9YSso
aDw8Mil8MDtuPWZbaj4+Ml18MDtrPWZbbis0Pj4yXXwwO2w9ZSstMXwwO2c9MDtpPWU7bT1rO3do
aWxlKDEpe2lmKChnfDApPj0obXwwKSlicmVhazttPShmW28+PjJdfDApKyhpPDw0KXwwO2Q9KGZb
bj4+Ml18MCkrKGc8PDQpfDA7ZlttPj4yXT1mW2Q+PjJdO2ZbbSs0Pj4yXT1mW2QrND4+Ml07Zltt
Kzg+PjJdPWZbZCs4Pj4yXTtmW20rMTI+PjJdPWZbZCsxMj4+Ml07bT1pKzF8MDtmWyhmW3E+PjJd
fDApKyhpPDwyKT4+Ml09bTtkPWZbcj4+Ml18MDtmW2QrKGk8PDIpPj4yXT1pKy0xO3M9ZltqPj4y
XXwwO2c9ZysxfDA7aT1tO209ZltzKzQ+PjJdfDA7bj1zfXM9bCtrfDA7ZlsoZltxPj4yXXwwKSso
czw8Mik+PjJdPWU7ZltkKyhlPDwyKT4+Ml09cztlPWk7aD1oKzF8MH1DVihjKX1yZXR1cm4gY3ww
fWZ1bmN0aW9uIENVKGEpe2E9YXwwO2lmKCFhKWE9MDtlbHNlIGE9TF8oYSl8MDtyZXR1cm4gYXww
fWZ1bmN0aW9uIERVKGEpe2E9YXwwO3ZhciBiPTAsYz0wO01fKGZbYSs4Pj4yXXwwKTtNXyhmW2Er
MTI+PjJdfDApO01fKGZbYSsxNj4+Ml18MCk7TV8oZlthKzIwPj4yXXwwKTtjPWErMjR8MDtiPWZb
Yz4+Ml18MDtpZihifDApe01fKGZbYj4+Ml18MCk7TV8oZltjPj4yXXwwKX1NXyhhKTtyZXR1cm59
ZnVuY3Rpb24gRVUoYSxiLGMsZCxlLGcpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9
Z3wwO3ZhciBoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wO289dDt0PXQrMzJ8MDtsPW8r
MTZ8MDtqPW87ZltsPj4yXT1mW2I+PjJdO2ZbbCs0Pj4yXT1mW2IrND4+Ml07ZltsKzg+PjJdPWZb
Yis4Pj4yXTtmW2wrMTI+PjJdPWZbYisxMj4+Ml07bT1KVihhLGMsbCl8MDtmW2w+PjJdPWZbZD4+
Ml07ZltsKzQ+PjJdPWZbZCs0Pj4yXTtmW2wrOD4+Ml09ZltkKzg+PjJdO2ZbbCsxMj4+Ml09Zltk
KzEyPj4yXTtuPUpWKGEsZSxsKXwwO2Zbaj4+Ml09ZltiPj4yXTtmW2orND4+Ml09ZltiKzQ+PjJd
O2Zbais4Pj4yXT1mW2IrOD4+Ml07ZltqKzEyPj4yXT1mW2IrMTI+PjJdO2ZbbD4+Ml09ZltkPj4y
XTtmW2wrND4+Ml09ZltkKzQ+PjJdO2ZbbCs4Pj4yXT1mW2QrOD4+Ml07ZltsKzEyPj4yXT1mW2Qr
MTI+PjJdO2w9c1YoaixjLG0sbCxlLG4sYSl8MDtjPWZbYSs0Pj4yXXwwO2o9YysxfDA7ZT0xO2g9
Yzt3aGlsZSgxKXtoPWZbbCsoaDw8Mik+PjJdfDA7az1lKzF8MDtpZigoaHwwKT09KGp8MCkpYnJl
YWs7ZWxzZSBlPWt9aT1MXyhrPDw0KXwwO2g9aSsoZTw8NCl8MDtmW2g+PjJdPWZbZD4+Ml07Zlto
KzQ+PjJdPWZbZCs0Pj4yXTtmW2grOD4+Ml09ZltkKzg+PjJdO2ZbaCsxMj4+Ml09ZltkKzEyPj4y
XTthPWErOHwwO3doaWxlKDEpe2M9ZltsKyhjPDwyKT4+Ml18MDtlPWUrLTF8MDtoPWkrKGU8PDQp
fDA7aWYoKGN8MCk9PShqfDApKWJyZWFrO2Q9KGZbYT4+Ml18MCkrKGM8PDQpfDA7ZltoPj4yXT1m
W2Q+PjJdO2ZbaCs0Pj4yXT1mW2QrND4+Ml07ZltoKzg+PjJdPWZbZCs4Pj4yXTtmW2grMTI+PjJd
PWZbZCsxMj4+Ml19ZltoPj4yXT1mW2I+PjJdO2ZbaCs0Pj4yXT1mW2IrND4+Ml07ZltoKzg+PjJd
PWZbYis4Pj4yXTtmW2grMTI+PjJdPWZbYisxMj4+Ml07aWYoZXwwKXhhKDE0ODk0NCwxNDg5NTEs
MTQ4LDE0ODk1Nyk7aWYobXwwKU1fKG0pO2lmKG58MClNXyhuKTtmW2crND4+Ml09aztmW2c+PjJd
PWk7TV8obCk7dD1vO3JldHVybiAxfWZ1bmN0aW9uIEZVKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9
MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wO2o9dDt0PXQrNDh8MDtoPWorMzJ8MDtn
PWorMTZ8MDtlPWo7aT1mW2E+PjJdfDA7Yz1mW2ErND4+Ml18MDtkPWMrLTF8MDthPTA7d2hpbGUo
MSl7aWYoKGF8MCk+PShjfDApKXthPTE7YnJlYWt9bD1pKygoKGQrYXwwKSUoY3wwKXwwKTw8NCl8
MDtrPWkrKGE8PDQpfDA7ZltlPj4yXT1mW2w+PjJdO2ZbZSs0Pj4yXT1mW2wrND4+Ml07ZltlKzg+
PjJdPWZbbCs4Pj4yXTtmW2UrMTI+PjJdPWZbbCsxMj4+Ml07ZltnPj4yXT1mW2s+PjJdO2ZbZys0
Pj4yXT1mW2srND4+Ml07ZltnKzg+PjJdPWZbays4Pj4yXTtmW2crMTI+PjJdPWZbaysxMj4+Ml07
ZltoPj4yXT1mW2I+PjJdO2ZbaCs0Pj4yXT1mW2IrND4+Ml07ZltoKzg+PjJdPWZbYis4Pj4yXTtm
W2grMTI+PjJdPWZbYisxMj4+Ml07aWYoKHlWKGUsZyxoKXwwKT09MSl7YT0wO2JyZWFrfWVsc2Ug
YT1hKzF8MH10PWo7cmV0dXJuIGF8MH1mdW5jdGlvbiBHVShhLGIsYyxkLGUpe2E9YXwwO2I9Ynww
O2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89
MCxwPTAscT0wLHI9MDtyPXQ7dD10KzY0fDA7bD1yKzQ4fDA7az1yKzMyfDA7cD00O2o9TF8oNDAp
fDA7ZltqPj4yXT0wO209cisxNnwwO249cjtvPWZbYz4+Ml18MDtpPWZbYys0Pj4yXXwwO3A9TzMo
MTg5MjE2LDEsanwwLHB8MCl8MDtqPUc7dj0wO2M9djt2PTA7aWYoKGN8MCkhPTAmKHd8MCkhPTAp
e2c9UDMoZltjPj4yXXwwLHB8MCxqfDApfDA7aWYoIWcpamIoY3wwLHd8MCk7Rz13fWVsc2UgZz0t
MTtpZigoZ3wwKT09MSljPUc7ZWxzZSBjPTA7d2hpbGUoMSl7aWYoY3wwKXtjPS0xO2JyZWFrfXY9
MDtmW2w+PjJdPWZbZD4+Ml07ZltsKzQ+PjJdPWZbZCs0Pj4yXTtmW2wrOD4+Ml09ZltkKzg+PjJd
O2ZbbCsxMj4+Ml09ZltkKzEyPj4yXTtxYSgyOCxtfDAsbHwwKTtjPXY7dj0wO2lmKChjfDApIT0w
Jih3fDApIT0wKXtnPVAzKGZbYz4+Ml18MCxwfDAsanwwKXwwO2lmKCFnKWpiKGN8MCx3fDApO0c9
d31lbHNlIGc9LTE7aWYoKGd8MCk9PTEpe2M9Rztjb250aW51ZX07ZltkPj4yXT1mW20+PjJdO2Zb
ZCs0Pj4yXT1mW20rND4+Ml07ZltkKzg+PjJdPWZbbSs4Pj4yXTtmW2QrMTI+PjJdPWZbbSsxMj4+
Ml07aD1kKzE2fDA7dj0wO2ZbbD4+Ml09ZltoPj4yXTtmW2wrND4+Ml09ZltoKzQ+PjJdO2ZbbCs4
Pj4yXT1mW2grOD4+Ml07ZltsKzEyPj4yXT1mW2grMTI+PjJdO3FhKDI4LG58MCxsfDApO2M9djt2
PTA7aWYoKGN8MCkhPTAmKHd8MCkhPTApe2c9UDMoZltjPj4yXXwwLHB8MCxqfDApfDA7aWYoIWcp
amIoY3wwLHd8MCk7Rz13fWVsc2UgZz0tMTtpZigoZ3wwKT09MSl7Yz1HO2NvbnRpbnVlfTtmW2g+
PjJdPWZbbj4+Ml07ZltoKzQ+PjJdPWZbbis0Pj4yXTtmW2grOD4+Ml09ZltuKzg+PjJdO2ZbaCsx
Mj4+Ml09ZltuKzEyPj4yXTtmWzQ4NTM0XT0wO3Y9MDtwYSgxMTIsNCk7Yz12O3Y9MDtpZigoY3ww
KSE9MCYod3wwKSE9MCl7Zz1QMyhmW2M+PjJdfDAscHwwLGp8MCl8MDtpZighZylqYihjfDAsd3ww
KTtHPXd9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtjPUc7Y29udGludWV9Zz1mWzQ4NTM1XXwwO2M9
Zls0ODUzNF18MDtmWzQ4NTM0XT1jKzE7Yz1nKyhjPDw0KXwwO2ZbYz4+Ml09ZltvPj4yXTtmW2Mr
ND4+Ml09ZltvKzQ+PjJdO2ZbYys4Pj4yXT1mW28rOD4+Ml07ZltjKzEyPj4yXT1mW28rMTI+PjJd
O3Y9MDtmW2s+PjJdPWZbZD4+Ml07ZltrKzQ+PjJdPWZbZCs0Pj4yXTtmW2srOD4+Ml09ZltkKzg+
PjJdO2ZbaysxMj4+Ml09ZltkKzEyPj4yXTtmW2w+PjJdPWZbaD4+Ml07ZltsKzQ+PjJdPWZbaCs0
Pj4yXTtmW2wrOD4+Ml09ZltoKzg+PjJdO2ZbbCsxMj4+Ml09ZltoKzEyPj4yXTtjPW1hKDEsYXww
LGJ8MCxvfDAsaXwwLGt8MCxsfDApfDA7Zz12O3Y9MDtpZigoZ3wwKSE9MCYod3wwKSE9MCl7aD1Q
MyhmW2c+PjJdfDAscHwwLGp8MCl8MDtpZighaClqYihnfDAsd3wwKTtHPXd9ZWxzZSBoPS0xO2lm
KChofDApPT0xKWM9RztlbHNle3E9ODticmVha319aWYoKHF8MCk9PTgpaWYoKGN8MCk9PS0xKWM9
LTE7ZWxzZXtmW2UrND4+Ml09Zls0ODUzNF07ZltlPj4yXT1mWzQ4NTM1XTtjPTB9TV8ocHwwKTt0
PXI7cmV0dXJuIGN8MH1mdW5jdGlvbiBIVShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAs
ZT0wLjAsZz0wLjA7Yz0rcFtiPj4zXTtkPWIrOHwwO2U9K3BbZD4+M107Zz1lKmUrYypjO2lmKGc+
MS4wZS0wNil7Zz0rSigrZyk7cFtiPj4zXT1jL2c7cFtkPj4zXT1lL2d9O2ZbYT4+Ml09ZltiPj4y
XTtmW2ErND4+Ml09ZltiKzQ+PjJdO2ZbYSs4Pj4yXT1mW2IrOD4+Ml07ZlthKzEyPj4yXT1mW2Ir
MTI+PjJdO3JldHVybn1mdW5jdGlvbiBJVShhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wO2U9
dDt0PXQrMzJ8MDtkPWUrMTZ8MDtjPWU7aWYoKGZbNDg1MzhdfDApPChhfDApKXtiPWZbNDg1MzVd
fDA7aWYoIWIpe2Q9TF8oYTw8NCl8MDtmWzQ4NTM1XT1kO2lmKCFkKXtkPWZbMTk0NTddfDA7Zltj
Pj4yXT0xNDg5NjY7ZltjKzQ+PjJdPTUzMTtmW2MrOD4+Ml09MTQ5MTAxO2cyKGQsMTQ4OTc0LGMp
fDA7amIoMTg5MjE2LDEpfX1lbHNle2M9T18oYixhPDw0KXwwO2ZbNDg1MzVdPWM7aWYoIWMpe2M9
ZlsxOTQ1N118MDtmW2Q+PjJdPTE0ODk2NjtmW2QrND4+Ml09NTM3O2ZbZCs4Pj4yXT0xNDkxMTk7
ZzIoYywxNDg5NzQsZCl8MDtqYigxODkyMTYsMSl9fWZbNDg1MzhdPWF9dD1lO3JldHVybn1mdW5j
dGlvbiBKVShhLGIsYyxkLGUsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7
dmFyIGg9MCxpPTAuMCxqPTAsaz0wLjAsbD0wLG09MC4wLG49MC4wLG89MCxxPTAuMCxyPTAuMCxz
PTAuMCx1PTAuMCx2PTAuMCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAs
Rz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MC4w
LFU9MC4wLFY9MC4wLFc9MC4wO1I9dDt0PXQrMzM2fDA7Sj1SKzMyMHwwO0k9UiszMDR8MDt3PVIr
MTQ0fDA7bz1SKzEyOHwwO0c9UisxMTJ8MDtIPVIrOTZ8MDtRPVIrODB8MDtBPVIrNjR8MDtDPVIr
NDh8MDtLPVIrMzJ8MDtMPVIrMTZ8MDtNPVI7eD1SKzI4OHwwO3k9UisyNzJ8MDt6PVIrMjU2fDA7
Qj1SKzI0MHwwO0Q9UisyMjR8MDtFPVIrMjA4fDA7Tj1SKzE5MnwwO089UisxNzZ8MDtQPVIrMTYw
fDA7aD1mWzQ4NTM3XXwwO2RvIGlmKChmWzQ4NTM2XXwwKTwoZHwwKSl7aWYoIWgpe2g9TF8oZCo0
MHwwKXwwO2ZbNDg1MzddPWg7aWYoIWgpe2g9LTE7YnJlYWt9fWVsc2V7aD1PXyhoLGQqNDB8MCl8
MDtmWzQ4NTM3XT1oO2lmKCFoKXtoPS0xO2JyZWFrfX1mWzQ4NTM2XT1kO2o9Nn1lbHNlIGo9Njt3
aGlsZSgwKTtpZigoanwwKT09Nil7cFtoPj4zXT0wLjA7aj0xO2k9MC4wO3doaWxlKDEpe2lmKChq
fDApPj0oZHwwKSlicmVhaztsPWMrKGo8PDQpfDA7Rj1jKyhqKy0xPDw0KXwwO2ZbST4+Ml09Zlts
Pj4yXTtmW0krND4+Ml09ZltsKzQ+PjJdO2ZbSSs4Pj4yXT1mW2wrOD4+Ml07ZltJKzEyPj4yXT1m
W2wrMTI+PjJdO2ZbSj4+Ml09ZltGPj4yXTtmW0orND4+Ml09ZltGKzQ+PjJdO2ZbSis4Pj4yXT1m
W0YrOD4+Ml07ZltKKzEyPj4yXT1mW0YrMTI+PjJdO3Y9K0tVKEksSikraTtwW2grKGoqNDB8MCk+
PjNdPXY7aj1qKzF8MDtpPXZ9Rj1kKy0xfDA7bD1oKyhGKjQwfDApfDA7aj0xO3doaWxlKDEpe2lm
KChqfDApPj0oZHwwKSlicmVhaztTPWgrKGoqNDB8MCl8MDtwW1M+PjNdPStwW1M+PjNdLytwW2w+
PjNdO2o9aisxfDB9aj0wO3doaWxlKDEpe2lmKChqfDApPj0oZHwwKSlicmVhaztTPWgrKGoqNDB8
MCkrOHwwO2w9aCsoaio0MHwwKXwwO3Y9K0xVKCtwW2w+PjNdKTtmW0o+PjJdPWZbZT4+Ml07ZltK
KzQ+PjJdPWZbZSs0Pj4yXTtmW0orOD4+Ml09ZltlKzg+PjJdO2ZbSisxMj4+Ml09ZltlKzEyPj4y
XTtNVSh4LEosdik7ZltTPj4yXT1mW3g+PjJdO2ZbUys0Pj4yXT1mW3grND4+Ml07ZltTKzg+PjJd
PWZbeCs4Pj4yXTtmW1MrMTI+PjJdPWZbeCsxMj4+Ml07Uz1oKyhqKjQwfDApKzI0fDA7dj0rTlUo
K3BbbD4+M10pO2ZbSj4+Ml09ZltnPj4yXTtmW0orND4+Ml09ZltnKzQ+PjJdO2ZbSis4Pj4yXT1m
W2crOD4+Ml07ZltKKzEyPj4yXT1mW2crMTI+PjJdO01VKHksSix2KTtmW1M+PjJdPWZbeT4+Ml07
ZltTKzQ+PjJdPWZbeSs0Pj4yXTtmW1MrOD4+Ml09Zlt5Kzg+PjJdO2ZbUysxMj4+Ml09Zlt5KzEy
Pj4yXTtqPWorMXwwfWZbST4+Ml09ZltlPj4yXTtmW0krND4+Ml09ZltlKzQ+PjJdO2ZbSSs4Pj4y
XT1mW2UrOD4+Ml07ZltJKzEyPj4yXT1mW2UrMTI+PjJdO2ZbSj4+Ml09ZltnPj4yXTtmW0orND4+
Ml09ZltnKzQ+PjJdO2ZbSis4Pj4yXT1mW2crOD4+Ml07ZltKKzEyPj4yXT1mW2crMTI+PjJdO09V
KGMsZCxoLEksSixHLEEsSCxDKTtmW28+PjJdPWZbRz4+Ml07ZltvKzQ+PjJdPWZbRys0Pj4yXTtm
W28rOD4+Ml09ZltHKzg+PjJdO2ZbbysxMj4+Ml09ZltHKzEyPj4yXTtmW3c+PjJdPWZbQT4+Ml07
Zlt3KzQ+PjJdPWZbQSs0Pj4yXTtmW3crOD4+Ml09ZltBKzg+PjJdO2ZbdysxMj4+Ml09ZltBKzEy
Pj4yXTtmW0k+PjJdPWZbSD4+Ml07ZltJKzQ+PjJdPWZbSCs0Pj4yXTtmW0krOD4+Ml09ZltIKzg+
PjJdO2ZbSSsxMj4+Ml09ZltIKzEyPj4yXTtmW0o+PjJdPWZbQz4+Ml07ZltKKzQ+PjJdPWZbQys0
Pj4yXTtmW0orOD4+Ml09ZltDKzg+PjJdO2ZbSisxMj4+Ml09ZltDKzEyPj4yXTtpZighKFBVKGEs
YixvLHcsSSxKLGMsZCl8MCkpe2ZbSj4+Ml09ZltBPj4yXTtmW0orND4+Ml09ZltBKzQ+PjJdO2Zb
Sis4Pj4yXT1mW0ErOD4+Ml07ZltKKzEyPj4yXT1mW0ErMTI+PjJdO01VKHosSiwuMzMzMzMzMzMz
MzMzMzMzMyk7ZltJPj4yXT1mW0c+PjJdO2ZbSSs0Pj4yXT1mW0crND4+Ml07ZltJKzg+PjJdPWZb
Rys4Pj4yXTtmW0krMTI+PjJdPWZbRysxMj4+Ml07ZltKPj4yXT1mW3o+PjJdO2ZbSis0Pj4yXT1m
W3orND4+Ml07ZltKKzg+PjJdPWZbeis4Pj4yXTtmW0orMTI+PjJdPWZbeisxMj4+Ml07UVUoQixJ
LEopO3Y9K3BbQj4+M107dT0rcFtCKzg+PjNdO2ZbSj4+Ml09ZltDPj4yXTtmW0orND4+Ml09ZltD
KzQ+PjJdO2ZbSis4Pj4yXT1mW0MrOD4+Ml07ZltKKzEyPj4yXT1mW0MrMTI+PjJdO01VKEQsSiwu
MzMzMzMzMzMzMzMzMzMzMyk7ZltJPj4yXT1mW0g+PjJdO2ZbSSs0Pj4yXT1mW0grND4+Ml07ZltJ
Kzg+PjJdPWZbSCs4Pj4yXTtmW0krMTI+PjJdPWZbSCsxMj4+Ml07ZltKPj4yXT1mW0Q+PjJdO2Zb
Sis0Pj4yXT1mW0QrND4+Ml07ZltKKzg+PjJdPWZbRCs4Pj4yXTtmW0orMTI+PjJdPWZbRCsxMj4+
Ml07UlUoRSxJLEopO3M9K3BbRT4+M107bj0rcFtFKzg+PjNdO289Zls0ODUzN118MDtxPStwW0c+
PjNdO3I9K3BbSD4+M107bT0rcFtHKzg+PjNdO2s9K3BbSCs4Pj4zXTtsPVErOHwwO2g9LTE7aT0t
MS4wO2o9MTt3aGlsZSgxKXtpZigoanwwKT49KEZ8MCkpYnJlYWs7VD0rcFtvKyhqKjQwfDApPj4z
XTtVPStTVShUKTtWPStMVShUKTtXPStOVShUKTtUPStUVShUKTtwW1E+PjNdPVYqditxKlUrVypz
K3IqVDtwW2w+PjNdPVcqbitWKnUrbSpVK2sqVDtTPWMrKGo8PDQpfDA7ZltJPj4yXT1mW1E+PjJd
O2ZbSSs0Pj4yXT1mW1ErND4+Ml07ZltJKzg+PjJdPWZbUSs4Pj4yXTtmW0krMTI+PjJdPWZbUSsx
Mj4+Ml07ZltKPj4yXT1mW1M+PjJdO2ZbSis0Pj4yXT1mW1MrND4+Ml07ZltKKzg+PjJdPWZbUys4
Pj4yXTtmW0orMTI+PjJdPWZbUysxMj4+Ml07VD0rS1UoSSxKKTtTPVQ+aTtoPVM/ajpoO2k9Uz9U
Omk7aj1qKzF8MH1TPWMrKGg8PDQpfDA7UT1jKyhoKy0xPDw0KXwwO2ZbST4+Ml09ZltTPj4yXTtm
W0krND4+Ml09ZltTKzQ+PjJdO2ZbSSs4Pj4yXT1mW1MrOD4+Ml07ZltJKzEyPj4yXT1mW1MrMTI+
PjJdO2ZbSj4+Ml09ZltRPj4yXTtmW0orND4+Ml09ZltRKzQ+PjJdO2ZbSis4Pj4yXT1mW1ErOD4+
Ml07ZltKKzEyPj4yXT1mW1ErMTI+PjJdO1JVKE4sSSxKKTtmW0o+PjJdPWZbTj4+Ml07ZltKKzQ+
PjJdPWZbTis0Pj4yXTtmW0orOD4+Ml09ZltOKzg+PjJdO2ZbSisxMj4+Ml09ZltOKzEyPj4yXTtI
VShMLEopO1E9aCsxfDA7Tj1jKyhRPDw0KXwwO2ZbST4+Ml09ZltOPj4yXTtmW0krND4+Ml09ZltO
KzQ+PjJdO2ZbSSs4Pj4yXT1mW04rOD4+Ml07ZltJKzEyPj4yXT1mW04rMTI+PjJdO2ZbSj4+Ml09
ZltTPj4yXTtmW0orND4+Ml09ZltTKzQ+PjJdO2ZbSis4Pj4yXT1mW1MrOD4+Ml07ZltKKzEyPj4y
XT1mW1MrMTI+PjJdO1JVKE8sSSxKKTtmW0o+PjJdPWZbTz4+Ml07ZltKKzQ+PjJdPWZbTys0Pj4y
XTtmW0orOD4+Ml09ZltPKzg+PjJdO2ZbSisxMj4+Ml09ZltPKzEyPj4yXTtIVShNLEopO2ZbST4+
Ml09ZltMPj4yXTtmW0krND4+Ml09ZltMKzQ+PjJdO2ZbSSs4Pj4yXT1mW0wrOD4+Ml07ZltJKzEy
Pj4yXT1mW0wrMTI+PjJdO2ZbSj4+Ml09ZltNPj4yXTtmW0orND4+Ml09ZltNKzQ+PjJdO2ZbSis4
Pj4yXT1mW00rOD4+Ml07ZltKKzEyPj4yXT1mW00rMTI+PjJdO1FVKFAsSSxKKTtmW0o+PjJdPWZb
UD4+Ml07ZltKKzQ+PjJdPWZbUCs0Pj4yXTtmW0orOD4+Ml09ZltQKzg+PjJdO2ZbSisxMj4+Ml09
ZltQKzEyPj4yXTtIVShLLEopO2ZbST4+Ml09ZltlPj4yXTtmW0krND4+Ml09ZltlKzQ+PjJdO2Zb
SSs4Pj4yXT1mW2UrOD4+Ml07ZltJKzEyPj4yXT1mW2UrMTI+PjJdO2ZbSj4+Ml09ZltLPj4yXTtm
W0orND4+Ml09ZltLKzQ+PjJdO2ZbSis4Pj4yXT1mW0srOD4+Ml07ZltKKzEyPj4yXT1mW0srMTI+
PjJdO0pVKGEsYixjLFEsSSxKKXwwO2ZbST4+Ml09ZltLPj4yXTtmW0krND4+Ml09ZltLKzQ+PjJd
O2ZbSSs4Pj4yXT1mW0srOD4+Ml07ZltJKzEyPj4yXT1mW0srMTI+PjJdO2ZbSj4+Ml09ZltnPj4y
XTtmW0orND4+Ml09ZltnKzQ+PjJdO2ZbSis4Pj4yXT1mW2crOD4+Ml07ZltKKzEyPj4yXT1mW2cr
MTI+PjJdO0pVKGEsYixTLGQtaHwwLEksSil8MDtoPTB9ZWxzZSBoPTB9dD1SO3JldHVybiBofDB9
ZnVuY3Rpb24gS1UoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLjAsZD0wLjA7Yz0rcFtiPj4zXS0r
cFthPj4zXTtkPStwW2IrOD4+M10tK3BbYSs4Pj4zXTtyZXR1cm4gKygrSigrKGQqZCtjKmMpKSl9
ZnVuY3Rpb24gTFUoYSl7YT0rYTt2YXIgYj0wLjA7Yj0xLjAtYTtyZXR1cm4gKyhiKmIqKGEqMy4w
KSl9ZnVuY3Rpb24gTVUoYSxiLGMpe2E9YXwwO2I9YnwwO2M9K2M7dmFyIGQ9MDtwW2I+PjNdPStw
W2I+PjNdKmM7ZD1iKzh8MDtwW2Q+PjNdPStwW2Q+PjNdKmM7ZlthPj4yXT1mW2I+PjJdO2ZbYSs0
Pj4yXT1mW2IrND4+Ml07ZlthKzg+PjJdPWZbYis4Pj4yXTtmW2ErMTI+PjJdPWZbYisxMj4+Ml07
cmV0dXJufWZ1bmN0aW9uIE5VKGEpe2E9K2E7cmV0dXJuICsoYSphKjMuMCooMS4wLWEpKX1mdW5j
dGlvbiBPVShhLGIsYyxkLGUsZyxoLGksail7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7
Zz1nfDA7aD1ofDA7aT1pfDA7aj1qfDA7dmFyIGs9MC4wLGw9MC4wLG09MC4wLG49MC4wLG89MCxx
PTAscj0wLHM9MCx1PTAsdj0wLHc9MC4wLHg9MC4wLHk9MC4wLHo9MC4wLEE9MC4wLEI9MCxDPTAs
RD0wLEU9MCxGPTAsRz0wLEg9MC4wLEk9MC4wLEo9MCxLPTAsTD0wLE09MDtHPXQ7dD10KzEyOHww
O0I9RysxMTJ8MDt2PUcrODB8MDt1PUc7cT1HKzk2fDA7cj1HKzY0fDA7cz1HKzQ4fDA7Qz1HKzMy
fDA7RD1HKzE2fDA7RT1hKyhiKy0xPDw0KXwwO289MDt3PTAuMDt4PTAuMDt5PTAuMDt6PTAuMDtB
PTAuMDt3aGlsZSgxKXtpZigob3wwKT49KGJ8MCkpYnJlYWs7Sz1jKyhvKjQwfDApKzh8MDtmW3Y+
PjJdPWZbSz4+Ml07Zlt2KzQ+PjJdPWZbSys0Pj4yXTtmW3YrOD4+Ml09ZltLKzg+PjJdO2Zbdisx
Mj4+Ml09ZltLKzEyPj4yXTtmW0I+PjJdPWZbSz4+Ml07ZltCKzQ+PjJdPWZbSys0Pj4yXTtmW0Ir
OD4+Ml09ZltLKzg+PjJdO2ZbQisxMj4+Ml09ZltLKzEyPj4yXTtIPStaVSh2LEIpK3g7Sj1jKyhv
KjQwfDApKzI0fDA7Zlt2Pj4yXT1mW0s+PjJdO2Zbdis0Pj4yXT1mW0srND4+Ml07Zlt2Kzg+PjJd
PWZbSys4Pj4yXTtmW3YrMTI+PjJdPWZbSysxMj4+Ml07ZltCPj4yXT1mW0o+PjJdO2ZbQis0Pj4y
XT1mW0orND4+Ml07ZltCKzg+PjJdPWZbSis4Pj4yXTtmW0IrMTI+PjJdPWZbSisxMj4+Ml07bj0r
WlUodixCKStBO2Zbdj4+Ml09ZltKPj4yXTtmW3YrND4+Ml09ZltKKzQ+PjJdO2Zbdis4Pj4yXT1m
W0orOD4+Ml07Zlt2KzEyPj4yXT1mW0orMTI+PjJdO2ZbQj4+Ml09ZltKPj4yXTtmW0IrND4+Ml09
ZltKKzQ+PjJdO2ZbQis4Pj4yXT1mW0orOD4+Ml07ZltCKzEyPj4yXT1mW0orMTI+PjJdO209K1pV
KHYsQikreTtMPWErKG88PDQpfDA7TT1jKyhvKjQwfDApfDA7ST0rX1UoK3BbTT4+M10pO2ZbQj4+
Ml09ZlthPj4yXTtmW0IrND4+Ml09ZlthKzQ+PjJdO2ZbQis4Pj4yXT1mW2ErOD4+Ml07ZltCKzEy
Pj4yXT1mW2ErMTI+PjJdO01VKHIsQixJKTtJPSskVSgrcFtNPj4zXSk7ZltCPj4yXT1mW0U+PjJd
O2ZbQis0Pj4yXT1mW0UrND4+Ml07ZltCKzg+PjJdPWZbRSs4Pj4yXTtmW0IrMTI+PjJdPWZbRSsx
Mj4+Ml07TVUocyxCLEkpO2Zbdj4+Ml09ZltyPj4yXTtmW3YrND4+Ml09ZltyKzQ+PjJdO2Zbdis4
Pj4yXT1mW3IrOD4+Ml07Zlt2KzEyPj4yXT1mW3IrMTI+PjJdO2ZbQj4+Ml09ZltzPj4yXTtmW0Ir
ND4+Ml09ZltzKzQ+PjJdO2ZbQis4Pj4yXT1mW3MrOD4+Ml07ZltCKzEyPj4yXT1mW3MrMTI+PjJd
O1FVKHEsdixCKTtmW3Y+PjJdPWZbTD4+Ml07Zlt2KzQ+PjJdPWZbTCs0Pj4yXTtmW3YrOD4+Ml09
ZltMKzg+PjJdO2ZbdisxMj4+Ml09ZltMKzEyPj4yXTtmW0I+PjJdPWZbcT4+Ml07ZltCKzQ+PjJd
PWZbcSs0Pj4yXTtmW0IrOD4+Ml09ZltxKzg+PjJdO2ZbQisxMj4+Ml09ZltxKzEyPj4yXTtSVSh1
LHYsQik7Zlt2Pj4yXT1mW0s+PjJdO2Zbdis0Pj4yXT1mW0srND4+Ml07Zlt2Kzg+PjJdPWZbSys4
Pj4yXTtmW3YrMTI+PjJdPWZbSysxMj4+Ml07ZltCPj4yXT1mW3U+PjJdO2ZbQis0Pj4yXT1mW3Ur
ND4+Ml07ZltCKzg+PjJdPWZbdSs4Pj4yXTtmW0IrMTI+PjJdPWZbdSsxMj4+Ml07ST0rWlUodixC
KSt3O2Zbdj4+Ml09ZltKPj4yXTtmW3YrND4+Ml09ZltKKzQ+PjJdO2Zbdis4Pj4yXT1mW0orOD4+
Ml07Zlt2KzEyPj4yXT1mW0orMTI+PjJdO2ZbQj4+Ml09Zlt1Pj4yXTtmW0IrND4+Ml09Zlt1KzQ+
PjJdO2ZbQis4Pj4yXT1mW3UrOD4+Ml07ZltCKzEyPj4yXT1mW3UrMTI+PjJdO289bysxfDA7dz1J
O3g9SDt5PW07ej0rWlUodixCKSt6O0E9bn1tPXkqeC1BKkE7bj1tPj0wLjA/bTotbTtpZighKG4+
PTEuMGUtMDY/KGs9KHkqdy1BKnopL20sbD0oeCp6LUEqdykvbSwhKG48MS4wZS0wNnxrPD0wLjB8
bDw9MC4wKSk6MCkpRj02O2lmKChGfDApPT02KXtmW3Y+PjJdPWZbYT4+Ml07Zlt2KzQ+PjJdPWZb
YSs0Pj4yXTtmW3YrOD4+Ml09ZlthKzg+PjJdO2ZbdisxMj4+Ml09ZlthKzEyPj4yXTtmW0I+PjJd
PWZbRT4+Ml07ZltCKzQ+PjJdPWZbRSs0Pj4yXTtmW0IrOD4+Ml09ZltFKzg+PjJdO2ZbQisxMj4+
Ml09ZltFKzEyPj4yXTtrPStLVSh2LEIpKi4zMzMzMzMzMzMzMzMzMzMzO2w9a307ZltnPj4yXT1m
W2E+PjJdO2ZbZys0Pj4yXT1mW2ErND4+Ml07ZltnKzg+PjJdPWZbYSs4Pj4yXTtmW2crMTI+PjJd
PWZbYSsxMj4+Ml07ZltCPj4yXT1mW2Q+PjJdO2ZbQis0Pj4yXT1mW2QrND4+Ml07ZltCKzg+PjJd
PWZbZCs4Pj4yXTtmW0IrMTI+PjJdPWZbZCsxMj4+Ml07TVUoQyxCLGspO2ZbaD4+Ml09ZltDPj4y
XTtmW2grND4+Ml09ZltDKzQ+PjJdO2ZbaCs4Pj4yXT1mW0MrOD4+Ml07ZltoKzEyPj4yXT1mW0Mr
MTI+PjJdO2ZbaT4+Ml09ZltFPj4yXTtmW2krND4+Ml09ZltFKzQ+PjJdO2ZbaSs4Pj4yXT1mW0Ur
OD4+Ml07ZltpKzEyPj4yXT1mW0UrMTI+PjJdO2ZbQj4+Ml09ZltlPj4yXTtmW0IrND4+Ml09Zltl
KzQ+PjJdO2ZbQis4Pj4yXT1mW2UrOD4+Ml07ZltCKzEyPj4yXT1mW2UrMTI+PjJdO01VKEQsQixs
KTtmW2o+PjJdPWZbRD4+Ml07ZltqKzQ+PjJdPWZbRCs0Pj4yXTtmW2orOD4+Ml09ZltEKzg+PjJd
O2ZbaisxMj4+Ml09ZltEKzEyPj4yXTt0PUc7cmV0dXJufWZ1bmN0aW9uIFBVKGEsYixjLGQsZSxn
LGgsaSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7aD1ofDA7aT1pfDA7dmFy
IGo9MC4wLGs9MC4wLGw9MC4wLG09MC4wLG49MC4wLG89MCxxPTAuMCxyPTAuMCxzPTAsdT0wLjAs
dj0wLHc9MC4wLHg9MCx5PTAuMCx6PTAsQT0wLEI9MCxDPTAsRD0wLjAsRT0wO0M9dDt0PXQrNjR8
MDtCPUM7ej0oaXwwKT09Mjt5PStwW2M+PjNdO3U9K3BbYys4Pj4zXTt2PUIrOHwwO3c9K3BbZD4+
M107eD1CKzE2fDA7bj0rcFtkKzg+PjNdO289QisyNHwwO3E9K3BbZT4+M107cj0rcFtnPj4zXTtz
PUIrMzJ8MDttPStwW2UrOD4+M107bD0rcFtnKzg+PjNdO2Q9Qis0MHwwO2U9Qis0OHwwO2c9Qis1
NnwwO2M9MTtqPTQuMDtrPTQuMDt3aGlsZSgxKXtwW0I+PjNdPXk7cFt2Pj4zXT11O0Q9ayouMzMz
MzMzMzMzMzMzMzMzMztwW3g+PjNdPUQqdyt5O3Bbbz4+M109RCpuK3U7RD1qKi4zMzMzMzMzMzMz
MzMzMzMzO3Bbcz4+M109cS1EKnI7cFtkPj4zXT1tLUQqbDtwW2U+PjNdPXE7cFtnPj4zXT1tO2lm
KGM/KEQ9K1VVKEIsNCksRDwrVVUoaCxpKSstLjAwMSk6MCl7Yz0wO2JyZWFrfWlmKFZVKGEsYixC
KXwwKXtBPTU7YnJlYWt9aWYoaz09MC4wJmo9PTAuMCl7QT05O2JyZWFrfUU9az4uMDE7Yz0wO2o9
RT9qKi41OjAuMDtrPUU/ayouNTowLjB9YTpkbyBpZigoQXwwKT09NSl7SVUoKGZbNDg1MzRdfDAp
KzR8MCk7ZD1mWzQ4NTM1XXwwO2M9MTt3aGlsZSgxKXtpZigoY3wwKT09NCl7Yz0xO2JyZWFrIGF9
RT1mWzQ4NTM0XXwwO3BbZCsoRTw8NCk+PjNdPStwW0IrKGM8PDQpPj4zXTtEPStwW0IrKGM8PDQp
Kzg+PjNdO2ZbNDg1MzRdPUUrMTtwW2QrKEU8PDQpKzg+PjNdPUQ7Yz1jKzF8MH19ZWxzZSBpZigo
QXwwKT09OSlpZih6KXtJVSgoZls0ODUzNF18MCkrNHwwKTtkPWZbNDg1MzVdfDA7Yz0xO3doaWxl
KDEpe2lmKChjfDApPT00KXtjPTE7YnJlYWsgYX1FPWZbNDg1MzRdfDA7cFtkKyhFPDw0KT4+M109
K3BbQisoYzw8NCk+PjNdO0Q9K3BbQisoYzw8NCkrOD4+M107Zls0ODUzNF09RSsxO3BbZCsoRTw8
NCkrOD4+M109RDtjPWMrMXwwfX1lbHNlIGM9MDt3aGlsZSgwKTt0PUM7cmV0dXJuIGN8MH1mdW5j
dGlvbiBRVShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MDtwW2I+PjNdPStwW2I+PjNd
KyArcFtjPj4zXTtkPWIrOHwwO3BbZD4+M109K3BbZD4+M10rICtwW2MrOD4+M107ZlthPj4yXT1m
W2I+PjJdO2ZbYSs0Pj4yXT1mW2IrND4+Ml07ZlthKzg+PjJdPWZbYis4Pj4yXTtmW2ErMTI+PjJd
PWZbYisxMj4+Ml07cmV0dXJufWZ1bmN0aW9uIFJVKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2
YXIgZD0wO3BbYj4+M109K3BbYj4+M10tK3BbYz4+M107ZD1iKzh8MDtwW2Q+PjNdPStwW2Q+PjNd
LStwW2MrOD4+M107ZlthPj4yXT1mW2I+PjJdO2ZbYSs0Pj4yXT1mW2IrND4+Ml07ZlthKzg+PjJd
PWZbYis4Pj4yXTtmW2ErMTI+PjJdPWZbYisxMj4+Ml07cmV0dXJufWZ1bmN0aW9uIFNVKGEpe2E9
K2E7YT0xLjAtYTtyZXR1cm4gKyhhKmEqYSl9ZnVuY3Rpb24gVFUoYSl7YT0rYTtyZXR1cm4gKyhh
KmEqYSl9ZnVuY3Rpb24gVVUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLjAsZD0wLGU9MC4wLGY9
MC4wLGc9MDtjPTAuMDtkPTE7d2hpbGUoMSl7aWYoKGR8MCk+PShifDApKWJyZWFrO2c9ZCstMXww
O2U9K3BbYSsoZDw8NCk+PjNdLStwW2ErKGc8PDQpPj4zXTtmPStwW2ErKGQ8PDQpKzg+PjNdLStw
W2ErKGc8PDQpKzg+PjNdO2M9K0ooKyhmKmYrZSplKSkrYztkPWQrMXwwfXJldHVybiArY31mdW5j
dGlvbiBWVShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxpPTAs
aj0wLGs9MCxsPTAsbT0wLjAsbj0wLjAsbz0wLjAscT0wLjAscj0wLjAscz0wLHU9MCx2PTAuMCx3
PTAseD0wLjAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAuMCxFPTAuMDtDPXQ7dD10KzY0fDA7cz1D
KzMyfDA7dT1DO3c9dSsxNnwwO3k9YysxNnwwO3o9YyszMnwwO0E9Yys0OHwwO0I9Yys4fDA7Zz1j
KzI0fDA7aD1jKzQwfDA7aT1jKzU2fDA7aj11Kzh8MDtrPXUrMjR8MDtlPTA7YTp3aGlsZSgxKXtp
ZigoZXwwKT49KGJ8MCkpe2Q9MTticmVha31sPWErKGU8PDUpfDA7Zlt1Pj4yXT1mW2w+PjJdO2Zb
dSs0Pj4yXT1mW2wrND4+Ml07Zlt1Kzg+PjJdPWZbbCs4Pj4yXTtmW3UrMTI+PjJdPWZbbCsxMj4+
Ml07bD1hKyhlPDw1KSsxNnwwO2Zbdz4+Ml09ZltsPj4yXTtmW3crND4+Ml09ZltsKzQ+PjJdO2Zb
dys4Pj4yXT1mW2wrOD4+Ml07Zlt3KzEyPj4yXT1mW2wrMTI+PjJdO2w9V1UoYyx1LHMpfDA7Yjpk
byBpZigobHwwKSE9NCl7bT0rcFt1Pj4zXTtuPStwW2o+PjNdO289K3Bbdz4+M107cT0rcFtrPj4z
XTtkPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShsfDApKWJyZWFrIGI7cj0rcFtzKyhkPDwzKT4+M107
aWYoKCEocjwxLjBlLTA2fHI+Ljk5OTk5OSk/KHg9cipyKnIsRT1yKjMuMCxEPTEuMC1yLHI9RSpy
KkQsdj1EKkQsRT12KkUsRD12KkQsdj0rcFt5Pj4zXSpFKyArcFtjPj4zXSpEKyArcFt6Pj4zXSpy
KyArcFtBPj4zXSp4LHg9K3BbZz4+M10qRSsgK3BbQj4+M10qRCsgK3BbaD4+M10qcisgK3BbaT4+
M10qeCxyPXYtbSxEPXgtbiwhKEQqRCtyKnI8LjAwMSkpOjApPyhFPXYtbyxEPXgtcSwhKEQqRCtF
KkU8LjAwMSkpOjApe2Q9MDticmVhayBhfWQ9ZCsxfDB9fXdoaWxlKDApO2U9ZSsxfDB9dD1DO3Jl
dHVybiBkfDB9ZnVuY3Rpb24gV1UoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0w
LGc9MC4wLGg9MCxpPTAuMCxqPTAsaz0wLGw9MCxtPTAsbj0wLjAsbz0wLjAscT0wLHI9MCxzPTAs
dT0wLHY9MDt2PXQ7dD10KzExMnwwO3I9dis2NHwwO3M9diszMnwwO2o9djt1PXYrOTZ8MDtuPStw
W2I+PjNdO2c9K3BbYisxNj4+M10tbjtvPStwW2IrOD4+M107aT0rcFtiKzI0Pj4zXS1vO2ZbdT4+
Ml09MDthOmRvIGlmKCEoZz09MC4wKSl7aT1pL2c7az1hKzE2fDA7bD1hKzMyfDA7bT1hKzQ4fDA7
WFUoK3BbYSs4Pj4zXS0rcFthPj4zXSppLCtwW2ErMjQ+PjNdLStwW2s+PjNdKmksK3BbYSs0MD4+
M10tK3BbbD4+M10qaSwrcFthKzU2Pj4zXS0rcFttPj4zXSppLHIpO3Bbcj4+M109aSpuLW8rICtw
W3I+PjNdO2Q9dFYocixzKXwwO2lmKChkfDApPT00KWI9NDtlbHNle2U9cis4fDA7aD1yKzE2fDA7
aj1yKzI0fDA7Zz0xLjAvZztiPTA7d2hpbGUoMSl7aWYoKGJ8MCk+PShkfDApKWJyZWFrO2k9K3Bb
cysoYjw8Myk+PjNdO2lmKGk+PTAuMCZpPD0xLjA/KFhVKCtwW2E+PjNdLCtwW2s+PjNdLCtwW2w+
PjNdLCtwW20+PjNdLHIpLG89KCtwW3I+PjNdLW4rKCgrcFtqPj4zXSppKyArcFtoPj4zXSkqaSsg
K3BbZT4+M10pKmkpKmcsbz49MC4wJm88PTEuMCk6MClZVShpLGMsdSk7Yj1iKzF8MH1iPWZbdT4+
Ml18MH19ZWxzZXtYVSgrcFthPj4zXSwrcFthKzE2Pj4zXSwrcFthKzMyPj4zXSwrcFthKzQ4Pj4z
XSxyKTtwW3I+PjNdPStwW3I+PjNdLW47cT10VihyLHMpfDA7aWYoIShpPT0wLjApKXtpZigocXww
KT09NCl7Yj00O2JyZWFrfWs9YSs4fDA7bD1hKzI0fDA7bT1hKzQwfDA7ZD1hKzU2fDA7ZT1yKzh8
MDtoPXIrMTZ8MDtqPXIrMjR8MDtnPTEuMC9pO2I9MDt3aGlsZSgxKXtpZigoYnwwKT49KHF8MCkp
YnJlYWs7aT0rcFtzKyhiPDwzKT4+M107aWYoaT49MC4wJmk8PTEuMD8oWFUoK3Bbaz4+M10sK3Bb
bD4+M10sK3BbbT4+M10sK3BbZD4+M10sciksbj0oK3Bbcj4+M10tbysoKCtwW2o+PjNdKmkrICtw
W2g+PjNdKSppKyArcFtlPj4zXSkqaSkqZyxuPj0wLjAmbjw9MS4wKTowKVlVKGksYyx1KTtiPWIr
MXwwfWI9Zlt1Pj4yXXwwO2JyZWFrfVhVKCtwW2ErOD4+M10sK3BbYSsyND4+M10sK3BbYSs0MD4+
M10sK3BbYSs1Nj4+M10scik7cFtyPj4zXT0rcFtyPj4zXS1vO2g9dFYocixqKXwwO2I9KGh8MCk9
PTQ7YjpkbyBpZigocXwwKT09NCl7aWYoYil7Yj00O2JyZWFrIGF9Yj0wO3doaWxlKDEpe2lmKChi
fDApPj0oaHwwKSlicmVhayBiO1lVKCtwW2orKGI8PDMpPj4zXSxjLHUpO2I9YisxfDB9fWVsc2V7
aWYoYil7Yj0wO3doaWxlKDEpe2lmKChifDApPj0ocXwwKSlicmVhayBiO1lVKCtwW3MrKGI8PDMp
Pj4zXSxjLHUpO2I9YisxfDB9fWQ9MDt3aGlsZSgxKXtpZigoZHwwKT49KHF8MCkpYnJlYWsgYjtl
PXMrKGQ8PDMpfDA7Yj0wO3doaWxlKDEpe2lmKChifDApPj0oaHwwKSlicmVhaztnPStwW2U+PjNd
O2lmKGc9PStwW2orKGI8PDMpPj4zXSlZVShnLGMsdSk7Yj1iKzF8MH1kPWQrMXwwfX13aGlsZSgw
KTtiPWZbdT4+Ml18MH13aGlsZSgwKTt0PXY7cmV0dXJuIGJ8MH1mdW5jdGlvbiBYVShhLGIsYyxk
LGUpe2E9K2E7Yj0rYjtjPStjO2Q9K2Q7ZT1lfDA7cFtlKzI0Pj4zXT1kLWErKGItYykqMy4wO3Bb
ZSsxNj4+M109KGMrYSkqMy4wLWIqNi4wO3BbZSs4Pj4zXT0oYi1hKSozLjA7cFtlPj4zXT1hO3Jl
dHVybn1mdW5jdGlvbiBZVShhLGIsYyl7YT0rYTtiPWJ8MDtjPWN8MDt2YXIgZD0wO2lmKGE+PTAu
MCZhPD0xLjApe2Q9ZltjPj4yXXwwO3BbYisoZDw8Myk+PjNdPWE7ZltjPj4yXT1kKzF9cmV0dXJu
fWZ1bmN0aW9uIFpVKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuICsoK3BbYis4Pj4zXSorcFthKzg+
PjNdKyArcFtiPj4zXSorcFthPj4zXSl9ZnVuY3Rpb24gX1UoYSl7YT0rYTt2YXIgYj0wLjA7Yj0x
LjAtYTtyZXR1cm4gKyhiKmIqKGIrYSozLjApKX1mdW5jdGlvbiAkVShhKXthPSthO3JldHVybiAr
KGEqYSooKDEuMC1hKSozLjArYSkpfWZ1bmN0aW9uIGFWKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8
MDt2YXIgZD0wLGU9MCxnPTAsaD0wLjAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxy
PTAscz0wLHU9MCx4PTAseT0wLHo9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEg9MCxJPTAuMDtIPXQ7
dD10KzExMnwwO0Q9SCs5NnwwO0M9SCs4MHwwO0I9SCs2NHwwO0Y9NDtFPUxfKDQwKXwwO2ZbRT4+
Ml09MDtzPUgrNDh8MDt1PUgrMzJ8MDt4PUgrMTZ8MDt5PUg7Rj1PMygxODkzNzYsMSxFfDAsRnww
KXwwO0U9Rzt2PTA7ZD12O3Y9MDtpZigoZHwwKSE9MCYod3wwKSE9MCl7ZT1QMyhmW2Q+PjJdfDAs
RnwwLEV8MCl8MDtpZighZSlqYihkfDAsd3wwKTtHPXd9ZWxzZSBlPS0xO2lmKChlfDApPT0xKWQ9
RztlbHNlIGQ9MDthOndoaWxlKDEpe2lmKGR8MCl7ZD0tMjticmVha31nPWErNHwwO3Y9MDtwYSgx
MTMsZltnPj4yXXwwKTtkPXY7dj0wO2lmKChkfDApIT0wJih3fDApIT0wKXtlPVAzKGZbZD4+Ml18
MCxGfDAsRXwwKXwwO2lmKCFlKWpiKGR8MCx3fDApO0c9d31lbHNlIGU9LTE7aWYoKGV8MCk9PTEp
e2Q9Rztjb250aW51ZX1mWzQ4NTM5XT0wO2ZbNDg1NDBdPTA7dj0wO3BhKDExNCxmW2c+PjJdPDwx
fDApO2Q9djt2PTA7aWYoKGR8MCkhPTAmKHd8MCkhPTApe2U9UDMoZltkPj4yXXwwLEZ8MCxFfDAp
fDA7aWYoIWUpamIoZHwwLHd8MCk7Rz13fWVsc2UgZT0tMTtpZigoZXwwKT09MSl7ZD1HO2NvbnRp
bnVlfWs9KGZbNDg1NDFdfDApLzJ8MDtmWzQ4NTQyXT1rO2ZbNDg1NDNdPWsrLTE7az1mW2c+PjJd
fDA7Zz1mW2E+PjJdfDA7ZD0wO2U9LTE7aD1BO3doaWxlKDEpe2lmKChkfDApPj0oa3wwKSlicmVh
aztJPStwW2crKGQ8PDQpPj4zXTtyPWg+STtxPXI/ZDplO2Q9ZCsxfDA7ZT1xO2g9cj9JOmh9cj1n
KyhlPDw0KXwwO2ZbdT4+Ml09ZltyPj4yXTtmW3UrND4+Ml09ZltyKzQ+PjJdO2ZbdSs4Pj4yXT1m
W3IrOD4+Ml07Zlt1KzEyPj4yXT1mW3IrMTI+PjJdO3I9ZysoKChlfDApPT0wP2s6ZSkrLTE8PDQp
fDA7ZltzPj4yXT1mW3I+PjJdO2Zbcys0Pj4yXT1mW3IrND4+Ml07ZltzKzg+PjJdPWZbcis4Pj4y
XTtmW3MrMTI+PjJdPWZbcisxMj4+Ml07cj1nKygoKGV8MCk9PShrKy0xfDApPzA6ZSsxfDApPDw0
KXwwO2ZbeD4+Ml09ZltyPj4yXTtmW3grND4+Ml09ZltyKzQ+PjJdO2ZbeCs4Pj4yXT1mW3IrOD4+
Ml07Zlt4KzEyPj4yXT1mW3IrMTI+PjJdO0k9K3BbdT4+M107aWYoKCtwW3M+PjNdPT1JP0k9PStw
W3g+PjNdOjApPytwW3grOD4+M10+K3BbdSs4Pj4zXTowKXI9MTQ7ZWxzZSByPTEyO2I6ZG8gaWYo
KHJ8MCk9PTEyKXtyPTA7dj0wO2Q9amEoMzMsc3wwLHV8MCx4fDApfDA7ZT12O3Y9MDtpZigoZXww
KSE9MCYod3wwKSE9MCl7Zz1QMyhmW2U+PjJdfDAsRnwwLEV8MCl8MDtpZighZylqYihlfDAsd3ww
KTtHPXd9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtkPUc7Y29udGludWUgYX1pZigoZHwwKT09MSl7
aT1mWzQ4NTQ0XXwwO2Q9Zls0ODU0NV18MDtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+PShrfDApKWJy
ZWFrIGI7Zz1mW2E+PjJdfDA7aWYoISgoKGV8MCkhPTA/KHo9ZSstMXwwLCtwW2crKGU8PDQpPj4z
XT09K3BbZysoejw8NCk+PjNdKTowKT8rcFtnKyhlPDw0KSs4Pj4zXT09K3BbZysoejw8NCkrOD4+
M106MCkpe3E9Zls0ODUzOV18MDtmW2krKHE8PDMpPj4yXT1nKyhlPDw0KTtmW2krKHE8PDMpKzQ+
PjJdPWkrKCgocXwwKSUoa3wwKXwwKTw8Myk7ZltkKyhxPDwyKT4+Ml09aSsocTw8Myk7Zls0ODUz
OV09cSsxfWU9ZSsxfDB9fWVsc2Ugcj0xNH13aGlsZSgwKTtjOmRvIGlmKChyfDApPT0xNCl7cj0w
O2k9Zls0ODU0NF18MDtkPWZbNDg1NDVdfDA7Zz1rO3doaWxlKDEpe2U9ZystMXwwO2lmKChnfDAp
PD0wKWJyZWFrIGM7aj1mW2E+PjJdfDA7aWYoISgoKGd8MCk8KGt8MCk/K3BbaisoZTw8NCk+PjNd
PT0rcFtqKyhnPDw0KT4+M106MCk/K3BbaisoZTw8NCkrOD4+M109PStwW2orKGc8PDQpKzg+PjNd
OjApKXtxPWZbNDg1MzldfDA7ZltpKyhxPDwzKT4+Ml09aisoZTw8NCk7ZltpKyhxPDwzKSs0Pj4y
XT1pKygoKHF8MCklKGt8MCl8MCk8PDMpO2ZbZCsocTw8Mik+PjJdPWkrKHE8PDMpO2ZbNDg1Mzld
PXErMX1nPWV9fXdoaWxlKDApO3Y9MDtxYSgyOSxkfDAsZls0ODUzOV18MCk7ZD12O3Y9MDtpZigo
ZHwwKSE9MCYod3wwKSE9MCl7ZT1QMyhmW2Q+PjJdfDAsRnwwLEV8MCl8MDtpZighZSlqYihkfDAs
d3wwKTtHPXd9ZWxzZSBlPS0xO2lmKChlfDApPT0xKXtkPUc7Y29udGludWV9aT0wO2Q9Zls0ODU0
MF18MDt3aGlsZSgxKXtpZigoaXwwKT49KGR8MCkpYnJlYWs7aj1pKzF8MDtnPWo7d2hpbGUoMSl7
aWYoKGd8MCk+PShkfDApKWJyZWFrO3Y9MDtxYSgzMCxpfDAsZ3wwKTtkPXY7dj0wO2lmKChkfDAp
IT0wJih3fDApIT0wKXtlPVAzKGZbZD4+Ml18MCxGfDAsRXwwKXwwO2lmKCFlKWpiKGR8MCx3fDAp
O0c9d31lbHNlIGU9LTE7aWYoKGV8MCk9PTEpe2Q9Rztjb250aW51ZSBhfWc9ZysxfDA7ZD1mWzQ4
NTQwXXwwfWk9an1vPTA7d2hpbGUoMSl7aWYoKG98MCk+PShkfDApKWJyZWFrO3Y9MDtlPWhhKDEw
MyxvfDAsYnwwKXwwO2c9djt2PTA7aWYoKGd8MCkhPTAmKHd8MCkhPTApe2k9UDMoZltnPj4yXXww
LEZ8MCxFfDApfDA7aWYoIWkpamIoZ3wwLHd8MCk7Rz13fWVsc2UgaT0tMTtpZigoaXwwKT09MSl7
ZD1HO2NvbnRpbnVlIGF9aWYoZXwwKWJyZWFrO289bysxfDB9aWYoKG98MCk9PShkfDApKXtkPWZb
MTk0NTddfDA7dj0wO2ZbQj4+Ml09MTQ4OTkzO2ZbQis0Pj4yXT0xOTI7ZltCKzg+PjJdPTE0OTAw
NDtqYSgyOSxkfDAsMTQ4OTc0LEJ8MCl8MDtkPXY7dj0wO2lmKChkfDApIT0wJih3fDApIT0wKXtl
PVAzKGZbZD4+Ml18MCxGfDAsRXwwKXwwO2lmKCFlKWpiKGR8MCx3fDApO0c9d31lbHNlIGU9LTE7
aWYoKGV8MCk9PTEpe2Q9Rztjb250aW51ZX1lbHNle3I9NDM7YnJlYWt9fXE9YisxNnwwO2o9MDt3
aGlsZSgxKXtpZigoanwwKT49KGR8MCkpYnJlYWs7dj0wO2U9aGEoMTAzLGp8MCxxfDApfDA7Zz12
O3Y9MDtpZigoZ3wwKSE9MCYod3wwKSE9MCl7aT1QMyhmW2c+PjJdfDAsRnwwLEV8MCl8MDtpZigh
aSlqYihnfDAsd3wwKTtHPXd9ZWxzZSBpPS0xO2lmKChpfDApPT0xKXtkPUc7Y29udGludWUgYX1p
ZihlfDApYnJlYWs7aj1qKzF8MH1pZigoanwwKT09KGR8MCkpe2Q9ZlsxOTQ1N118MDt2PTA7ZltD
Pj4yXT0xNDg5OTM7ZltDKzQ+PjJdPTIwMDtmW0MrOD4+Ml09MTQ5MDM3O2phKDI5LGR8MCwxNDg5
NzQsQ3wwKXwwO2Q9djt2PTA7aWYoKGR8MCkhPTAmKHd8MCkhPTApe2U9UDMoZltkPj4yXXwwLEZ8
MCxFfDApfDA7aWYoIWUpamIoZHwwLHd8MCk7Rz13fWVsc2UgZT0tMTtpZigoZXwwKT09MSl7ZD1H
O2NvbnRpbnVlfWVsc2V7cj01MTticmVha319dj0wO2Q9aGEoMTA0LG98MCxqfDApfDA7ZT12O3Y9
MDtpZigoZXwwKSE9MCYod3wwKSE9MCl7Zz1QMyhmW2U+PjJdfDAsRnwwLEV8MCl8MDtpZighZylq
YihlfDAsd3wwKTtHPXd9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtkPUc7Y29udGludWV9aWYoIWQp
e2Q9ZlsxOTQ1N118MDt2PTA7ZltEPj4yXT0xNDg5OTM7ZltEKzQ+PjJdPTIwNztmW0QrOD4+Ml09
MTQ5MDc1O2phKDI5LGR8MCwxNDg5NzQsRHwwKXwwO2Q9djt2PTA7aWYoKGR8MCkhPTAmKHd8MCkh
PTApe2U9UDMoZltkPj4yXXwwLEZ8MCxFfDApfDA7aWYoIWUpamIoZHwwLHd8MCk7Rz13fWVsc2Ug
ZT0tMTtpZigoZXwwKT09MSl7ZD1HO2NvbnRpbnVlfXY9MDtwYSgxMTUsMik7ZD12O3Y9MDtpZigo
ZHwwKSE9MCYod3wwKSE9MCl7ZT1QMyhmW2Q+PjJdfDAsRnwwLEV8MCl8MDtpZighZSlqYihkfDAs
d3wwKTtHPXd9ZWxzZSBlPS0xO2lmKChlfDApPT0xKXtkPUc7Y29udGludWV9ZWxzZXtyPTU2O2Jy
ZWFrfX1pZigob3wwKT09KGp8MCkpe3Y9MDtwYSgxMTUsMik7ZD12O3Y9MDtpZigoZHwwKSE9MCYo
d3wwKSE9MCl7ZT1QMyhmW2Q+PjJdfDAsRnwwLEV8MCl8MDtpZighZSlqYihkfDAsd3wwKTtHPXd9
ZWxzZSBlPS0xO2lmKChlfDApPT0xKXtkPUc7Y29udGludWV9ZWxzZXtyPTU5O2JyZWFrfX1mW3k+
PjJdPWI7Zlt5KzQ+PjJdPTA7ZT15Kzh8MDtmW2U+PjJdPXE7Zlt5KzEyPj4yXT0wO3Y9MDtxYSgz
MSwxLHl8MCk7ZD12O3Y9MDtpZigoZHwwKSE9MCYod3wwKSE9MCl7Zz1QMyhmW2Q+PjJdfDAsRnww
LEV8MCl8MDtpZighZylqYihkfDAsd3wwKTtHPXd9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtkPUc7
Y29udGludWV9Zls0ODU0N109Zls0ODU0Ml07ZD1vO3doaWxlKDEpe2lmKChkfDApPT0tMSlicmVh
aztuPWZbNDg1NDhdfDA7ZltuKyhkKjUyfDApPj4yXT0yO2c9MDt3aGlsZSgxKXtpZihnPj4+MD49
Myl7cj02OTticmVha31yPWZbbisoZCo1MnwwKSs0KyhnPDw0KSsxMj4+Ml18MDtpZihyfDA/KGZb
cj4+Ml18MCk9PTE6MCl7cj03MjticmVha31nPWcrMXwwfWlmKChyfDApPT02OSl7cj0wO2lmKChn
fDApPT0zKXtnPWZbNDg1NDldfDA7az1mW2crKGZbNDg1NDNdPDwyKT4+Ml18MDt2PTA7Zz1qYSgz
MyxxfDAsZltmW2crKGZbNDg1NDJdPDwyKT4+Ml0+PjJdfDAsZltrPj4yXXwwKXwwO2k9djt2PTA7
aWYoKGl8MCkhPTAmKHd8MCkhPTApe2o9UDMoZltpPj4yXXwwLEZ8MCxFfDApfDA7aWYoIWopamIo
aXwwLHd8MCk7Rz13fWVsc2Ugaj0tMTtpZigoanwwKT09MSl7ZD1HO2NvbnRpbnVlIGF9aj0oZ3ww
KT09MTttPWo/ZTprO2o9aj9rOmV9ZWxzZSByPTcyfWlmKChyfDApPT03Mil7cj0wO2s9ZltuKyhk
KjUyfDApKzQrKGc8PDQpPj4yXXwwO2w9ZltuKyhkKjUyfDApKzQrKGc8PDQpKzQ+PjJdfDA7dj0w
O2c9amEoMzMsZltrPj4yXXwwLGZbZltuKyhkKjUyfDApKzQrKCgoKGcrMXwwKT4+PjApJTN8MCk8
PDQpKzQ+PjJdPj4yXXwwLGZbbD4+Ml18MCl8MDtpPXY7dj0wO2lmKChpfDApIT0wJih3fDApIT0w
KXtqPVAzKGZbaT4+Ml18MCxGfDAsRXwwKXwwO2lmKCFqKWpiKGl8MCx3fDApO0c9d31lbHNlIGo9
LTE7aWYoKGp8MCk9PTEpe2Q9Rztjb250aW51ZSBhfWo9KGd8MCk9PTE7bT1qP2s6bDtqPWo/bDpr
fWRvIGlmKChkfDApPT0ob3wwKSl7dj0wO3FhKDMxLDIsanwwKTtnPXY7dj0wO2lmKChnfDApIT0w
Jih3fDApIT0wKXtpPVAzKGZbZz4+Ml18MCxGfDAsRXwwKXwwO2lmKCFpKWpiKGd8MCx3fDApO0c9
d31lbHNlIGk9LTE7aWYoKGl8MCk9PTEpe2Q9Rztjb250aW51ZSBhfXY9MDtxYSgzMSwxLG18MCk7
Zz12O3Y9MDtpZigoZ3wwKSE9MCYod3wwKSE9MCl7aT1QMyhmW2c+PjJdfDAsRnwwLEV8MCl8MDtp
ZighaSlqYihnfDAsd3wwKTtHPXd9ZWxzZSBpPS0xO2lmKChpfDApPT0xKXtkPUc7Y29udGludWUg
YX19ZWxzZXtsPWZbNDg1NDldfDA7aWYoKGZbbCsoZls0ODU0Ml08PDIpPj4yXXwwKSE9KG18MCk/
KGZbbCsoZls0ODU0M108PDIpPj4yXXwwKSE9KG18MCk6MCl7dj0wO2o9Z2EoMzQsbXwwKXwwO2c9
djt2PTA7aWYoKGd8MCkhPTAmKHd8MCkhPTApe2k9UDMoZltnPj4yXXwwLEZ8MCxFfDApfDA7aWYo
IWkpamIoZ3wwLHd8MCk7Rz13fWVsc2UgaT0tMTtpZigoaXwwKT09MSl7ZD1HO2NvbnRpbnVlIGF9
dj0wO3FhKDMyLDIsanwwKTtnPXY7dj0wO2lmKChnfDApIT0wJih3fDApIT0wKXtpPVAzKGZbZz4+
Ml18MCxGfDAsRXwwKXwwO2lmKCFpKWpiKGd8MCx3fDApO0c9d31lbHNlIGk9LTE7aWYoKGl8MCk9
PTEpe2Q9Rztjb250aW51ZSBhfXY9MDtxYSgzMSwxLG18MCk7Zz12O3Y9MDtpZigoZ3wwKSE9MCYo
d3wwKSE9MCl7aT1QMyhmW2c+PjJdfDAsRnwwLEV8MCl8MDtpZighaSlqYihnfDAsd3wwKTtHPXd9
ZWxzZSBpPS0xO2lmKChpfDApPT0xKXtkPUc7Y29udGludWUgYX1pZigoanwwKTw9KGZbNDg1NDdd
fDApKWJyZWFrO2ZbNDg1NDddPWo7YnJlYWt9dj0wO2s9Z2EoMzQsanwwKXwwO2c9djt2PTA7aWYo
KGd8MCkhPTAmKHd8MCkhPTApe2k9UDMoZltnPj4yXXwwLEZ8MCxFfDApfDA7aWYoIWkpamIoZ3ww
LHd8MCk7Rz13fWVsc2UgaT0tMTtpZigoaXwwKT09MSl7ZD1HO2NvbnRpbnVlIGF9dj0wO3FhKDMy
LDEsa3wwKTtnPXY7dj0wO2lmKChnfDApIT0wJih3fDApIT0wKXtpPVAzKGZbZz4+Ml18MCxGfDAs
RXwwKXwwO2lmKCFpKWpiKGd8MCx3fDApO0c9d31lbHNlIGk9LTE7aWYoKGl8MCk9PTEpe2Q9Rztj
b250aW51ZSBhfXY9MDtxYSgzMSwyLGp8MCk7Zz12O3Y9MDtpZigoZ3wwKSE9MCYod3wwKSE9MCl7
aT1QMyhmW2c+PjJdfDAsRnwwLEV8MCl8MDtpZighaSlqYihnfDAsd3wwKTtHPXd9ZWxzZSBpPS0x
O2lmKChpfDApPT0xKXtkPUc7Y29udGludWUgYX1pZigoa3wwKT49KGZbNDg1NDddfDApKWJyZWFr
O2ZbNDg1NDddPWt9d2hpbGUoMCk7Zz0wO3doaWxlKDEpe2lmKGc+Pj4wPj0zKXtkPS0xO2JyZWFr
fWk9ZltuKyhkKjUyfDApKzQrKGc8PDQpKzEyPj4yXXwwO2lmKGl8MD8oZltpPj4yXXwwKT09MTow
KXtyPTk0O2JyZWFrfWc9ZysxfDB9aWYoKHJ8MCk9PTk0KXtyPTA7ZD0oaS0oZls0ODU0OF18MCl8
MCkvNTJ8MH19Zz1lO2Q9MDt3aGlsZSgxKXtpZighZylicmVhaztnPWZbZys0Pj4yXXwwO2Q9ZCsx
fDB9dj0wO3BhKDExNSxkfDApO2c9djt2PTA7aWYoKGd8MCkhPTAmKHd8MCkhPTApe2k9UDMoZltn
Pj4yXXwwLEZ8MCxFfDApfDA7aWYoIWkpamIoZ3wwLHd8MCk7Rz13fWVsc2UgaT0tMTtpZigoaXww
KT09MSlkPUc7ZWxzZXtyPTEwMDticmVha319aWYoKHJ8MCk9PTQzKWQ9LTE7ZWxzZSBpZigocnww
KT09NTEpZD0tMTtlbHNlIGlmKChyfDApPT01Nil7ZltjKzQ+PjJdPTI7ZD1mWzQ4NTQ2XXwwO2Zb
ZD4+Ml09ZltiPj4yXTtmW2QrND4+Ml09ZltiKzQ+PjJdO2ZbZCs4Pj4yXT1mW2IrOD4+Ml07Zltk
KzEyPj4yXT1mW2IrMTI+PjJdO0U9ZCsxNnwwO2ZbRT4+Ml09ZltxPj4yXTtmW0UrND4+Ml09Zltx
KzQ+PjJdO2ZbRSs4Pj4yXT1mW3ErOD4+Ml07ZltFKzEyPj4yXT1mW3ErMTI+PjJdO2ZbYz4+Ml09
ZDtkPTB9ZWxzZSBpZigocnwwKT09NTkpe2ZbYys0Pj4yXT0yO2Q9Zls0ODU0Nl18MDtmW2Q+PjJd
PWZbYj4+Ml07ZltkKzQ+PjJdPWZbYis0Pj4yXTtmW2QrOD4+Ml09ZltiKzg+PjJdO2ZbZCsxMj4+
Ml09ZltiKzEyPj4yXTtFPWQrMTZ8MDtmW0U+PjJdPWZbcT4+Ml07ZltFKzQ+PjJdPWZbcSs0Pj4y
XTtmW0UrOD4+Ml09ZltxKzg+PjJdO2ZbRSsxMj4+Ml09ZltxKzEyPj4yXTtmW2M+PjJdPWQ7ZD0w
fWVsc2UgaWYoKHJ8MCk9PTEwMCl7ZltjKzQ+PjJdPWQ7Zz1mWzQ4NTQ2XXwwO3doaWxlKDEpe2Q9
ZCstMXwwO2lmKCFlKWJyZWFrO0U9ZysoZDw8NCl8MDtEPWZbZT4+Ml18MDtmW0U+PjJdPWZbRD4+
Ml07ZltFKzQ+PjJdPWZbRCs0Pj4yXTtmW0UrOD4+Ml09ZltEKzg+PjJdO2ZbRSsxMj4+Ml09ZltE
KzEyPj4yXTtlPWZbZSs0Pj4yXXwwfWZbYz4+Ml09ZztkPTB9TV8oRnwwKTt0PUg7cmV0dXJuIGR8
MH1mdW5jdGlvbiBiVihhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wLGc9MCxoPTA7aD10O3Q9
dCs2NHwwO2Q9aCs0OHwwO2c9aCszMnwwO2U9aCsxNnwwO2M9aDtpZigoZls0ODU1Ml18MCk8KGF8
MCkpe2I9Zls0ODU0NF18MDtpZighYil7Zz1MXyhhPDwzKXwwO2ZbNDg1NDRdPWc7aWYoIWcpe2c9
ZlsxOTQ1N118MDtmW2M+PjJdPTE0ODk5MztmW2MrND4+Ml09NTIzO2ZbYys4Pj4yXT0xNDkyNDM7
ZzIoZywxNDg5NzQsYyl8MDtqYigxODkzNzYsMSl9Zz1MXyhhPDwyKXwwO2ZbNDg1NDVdPWc7aWYo
IWcpe2c9ZlsxOTQ1N118MDtmW2U+PjJdPTE0ODk5MztmW2UrND4+Ml09NTI3O2ZbZSs4Pj4yXT0x
NDkyNjI7ZzIoZywxNDg5NzQsZSl8MDtqYigxODkzNzYsMSl9fWVsc2V7ZT1PXyhiLGE8PDMpfDA7
Zls0ODU0NF09ZTtpZighZSl7ZT1mWzE5NDU3XXwwO2ZbZz4+Ml09MTQ4OTkzO2ZbZys0Pj4yXT01
MzM7ZltnKzg+PjJdPTE0OTI4MjtnMihlLDE0ODk3NCxnKXwwO2piKDE4OTM3NiwxKX1nPU9fKGZb
NDg1NDVdfDAsYTw8Mil8MDtmWzQ4NTQ1XT1nO2lmKCFnKXtnPWZbMTk0NTddfDA7ZltkPj4yXT0x
NDg5OTM7ZltkKzQ+PjJdPTUzOTtmW2QrOD4+Ml09MTQ5MzAyO2cyKGcsMTQ4OTc0LGQpfDA7amIo
MTg5Mzc2LDEpfX1mWzQ4NTUyXT1hfXQ9aDtyZXR1cm59ZnVuY3Rpb24gY1YoYSl7YT1hfDA7dmFy
IGI9MCxjPTAsZD0wLGU9MDtlPXQ7dD10KzMyfDA7ZD1lKzE2fDA7Yz1lO2lmKChmWzQ4NTQxXXww
KTwoYXwwKSl7Yj1mWzQ4NTQ5XXwwO2lmKCFiKXtkPUxfKGE8PDIpfDA7Zls0ODU0OV09ZDtpZigh
ZCl7ZD1mWzE5NDU3XXwwO2ZbYz4+Ml09MTQ4OTkzO2ZbYys0Pj4yXT01NzM7ZltjKzg+PjJdPTE0
OTE5ODtnMihkLDE0ODk3NCxjKXwwO2piKDE4OTM3NiwxKX19ZWxzZXtjPU9fKGIsYTw8Mil8MDtm
WzQ4NTQ5XT1jO2lmKCFjKXtjPWZbMTk0NTddfDA7ZltkPj4yXT0xNDg5OTM7ZltkKzQ+PjJdPTU4
MDtmW2QrOD4+Ml09MTQ5MjIwO2cyKGMsMTQ4OTc0LGQpfDA7amIoMTg5Mzc2LDEpfX1mWzQ4NTQx
XT1hfXQ9ZTtyZXR1cm59ZnVuY3Rpb24gZFYoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBk
PTAuMCxlPTAuMDtkPStwW2IrOD4+M107ZT0rcFtiPj4zXTtkPSgrcFtjPj4zXS1lKSooK3BbYSs4
Pj4zXS1kKS0oK3BbYT4+M10tZSkqKCtwW2MrOD4+M10tZCk7cmV0dXJuIChkPjAuMD8xOmQ8MC4w
PzI6Myl8MH1mdW5jdGlvbiBlVihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAs
aD0wLGk9MDtpPXQ7dD10KzE2fDA7aD1pO2E6d2hpbGUoMSl7aWYoKGJ8MCk8PTMpe2I9MTE7YnJl
YWt9ZD0wO3doaWxlKDEpe2lmKChkfDApPj0oYnwwKSl7Yj0xMDticmVhayBhfWU9ZCsxfDA7Yz0o
ZXwwKSUoYnwwKXwwO2c9KGQrMnwwKSUoYnwwKXwwO2lmKCEobVYoZCxnLGEsYil8MCkpZD1lO2Vs
c2UgYnJlYWt9blYoZlthKyhkPDwyKT4+Ml18MCxmW2ErKGM8PDIpPj4yXXwwLGZbYSsoZzw8Mik+
PjJdfDApO2I9YistMXwwO3doaWxlKDEpe2lmKChjfDApPj0oYnwwKSlicmVhaztnPWMrMXwwO2Zb
YSsoYzw8Mik+PjJdPWZbYSsoZzw8Mik+PjJdO2M9Z319aWYoKGJ8MCk9PTEwKXthPWZbMTk0NTdd
fDA7ZltoPj4yXT0xNDg5OTM7ZltoKzQ+PjJdPTMyNDtmW2grOD4+Ml09MTQ5MTM4O2cyKGEsMTQ4
OTc0LGgpfDB9ZWxzZSBpZigoYnwwKT09MTEpblYoZlthPj4yXXwwLGZbYSs0Pj4yXXwwLGZbYSs4
Pj4yXXwwKTt0PWk7cmV0dXJufWZ1bmN0aW9uIGZWKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxk
PTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wO2k9Zls0ODU0OF18MDtq
PWkrKGEqNTJ8MCl8MDtrPWkrKGIqNTJ8MCl8MDtnPTA7d2hpbGUoMSl7aWYoKGd8MCk9PTMpYnJl
YWs7bD1pKyhhKjUyfDApKzQrKGc8PDQpfDA7bT1pKyhhKjUyfDApKzQrKGc8PDQpKzR8MDtuPWkr
KGEqNTJ8MCkrNCsoZzw8NCkrMTJ8MDtlPTA7d2hpbGUoMSl7aWYoKGV8MCk9PTMpYnJlYWs7bz1m
W2ZbbD4+Ml0+PjJdfDA7aD1mW2ZbaSsoYio1MnwwKSs0KyhlPDw0KT4+Ml0+PjJdfDA7aWYoKG98
MCk9PShofDApKXtjPWZbZltpKyhiKjUyfDApKzQrKGU8PDQpKzQ+PjJdPj4yXXwwO2lmKChmW2Zb
bT4+Ml0+PjJdfDApPT0oY3wwKSlkPTEwO2Vsc2UgZD04fWVsc2V7Yz1mW2ZbaSsoYio1MnwwKSs0
KyhlPDw0KSs0Pj4yXT4+Ml18MDtkPTh9aWYoKChkfDApPT04PyhkPTAsKG98MCk9PShjfDApKTow
KT8oZltmW20+PjJdPj4yXXwwKT09KGh8MCk6MClkPTEwO2lmKChkfDApPT0xMCl7ZltuPj4yXT1r
O2ZbaSsoYio1MnwwKSs0KyhlPDw0KSsxMj4+Ml09an1lPWUrMXwwfWc9ZysxfDB9cmV0dXJufWZ1
bmN0aW9uIGdWKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wO2U9Zls0ODU0OF18MDtj
PTA7ZD0wO3doaWxlKDEpe2lmKChkfDApPT0zKWJyZWFrO2M9YysoKGRWKGZbZltlKyhhKjUyfDAp
KzQrKGQ8PDQpPj4yXT4+Ml18MCxmW2ZbZSsoYSo1MnwwKSs0KyhkPDw0KSs0Pj4yXT4+Ml18MCxi
KXwwKSE9MiYxKXwwO2Q9ZCsxfDB9cmV0dXJuICgoY3wwKT09M3woY3wwKT09MCkmMXwwfWZ1bmN0
aW9uIGhWKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wO2M9Zls0ODU0OF18MDtkPWMr
KGEqNTJ8MCl8MDthOmRvIGlmKCEoZltkPj4yXXwwKSl7ZltkPj4yXT0xO2lmKChhfDApPT0oYnww
KSljPTE7ZWxzZXtlPTA7d2hpbGUoMSl7aWYoZT4+PjA+PTMpYnJlYWs7ZD1mW2MrKGEqNTJ8MCkr
NCsoZTw8NCkrMTI+PjJdfDA7aWYoZCl7aWYoaFYoKGQtY3wwKS81MnwwLGIpfDApe2M9MTticmVh
ayBhfWM9Zls0ODU0OF18MH1lPWUrMXwwfWZbYysoYSo1MnwwKT4+Ml09MDtjPTB9fWVsc2UgYz0w
O3doaWxlKDApO3JldHVybiBjfDB9ZnVuY3Rpb24gaVYoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0w
LGU9MDtlPXQ7dD10KzMyfDA7ZD1lKzE2fDA7Yz1lO2lmKChmWzQ4NTUwXXwwKTwoYXwwKSl7Yj1m
WzQ4NTQ2XXwwO2lmKCFiKXtkPUxfKGE8PDQpfDA7Zls0ODU0Nl09ZDtpZighZCl7ZD1mWzE5NDU3
XXwwO2ZbYz4+Ml09MTQ4OTkzO2ZbYys0Pj4yXT01OTM7ZltjKzg+PjJdPTE0OTEwMTtnMihkLDE0
ODk3NCxjKXwwO2piKDE4OTM3NiwxKX19ZWxzZXtjPU9fKGIsYTw8NCl8MDtmWzQ4NTQ2XT1jO2lm
KCFjKXtjPWZbMTk0NTddfDA7ZltkPj4yXT0xNDg5OTM7ZltkKzQ+PjJdPTU5OTtmW2QrOD4+Ml09
MTQ5MTE5O2cyKGMsMTQ4OTc0LGQpfDA7amIoMTg5Mzc2LDEpfX1mWzQ4NTUwXT1hfXQ9ZTtyZXR1
cm59ZnVuY3Rpb24galYoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wO2M9Zls0
ODU0M118MDtkPWZbNDg1NDJdfDA7ZT0oY3wwKT49KGR8MCk7Zz1mWzQ4NTQ5XXwwO2lmKChhfDAp
PT0xKXtpZihlKWZbYis0Pj4yXT1mW2crKGQ8PDIpPj4yXTthPWQrLTF8MDtmWzQ4NTQyXT1hfWVs
c2V7aWYoZSlmW2IrND4+Ml09ZltnKyhjPDwyKT4+Ml07YT1jKzF8MDtmWzQ4NTQzXT1hfWZbZyso
YTw8Mik+PjJdPWI7cmV0dXJufWZ1bmN0aW9uIGtWKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxl
PTAsZz0wO2U9Zls0ODU0N118MDtnPWZbNDg1NDldfDA7Yj1mWzQ4NTQyXXwwO3doaWxlKDEpe2lm
KChifDApPj0oZXwwKSl7ZD00O2JyZWFrfWM9YisxfDA7aWYoKGRWKGZbZltnKyhjPDwyKT4+Ml0+
PjJdfDAsZltmW2crKGI8PDIpPj4yXT4+Ml18MCxmW2E+PjJdfDApfDApPT0xKWJyZWFrO2Vsc2Ug
Yj1jfWE6ZG8gaWYoKGR8MCk9PTQpe2I9Zls0ODU0M118MDt3aGlsZSgxKXtpZigoYnwwKTw9KGV8
MCkpe2I9ZTticmVhayBhfWM9YistMXwwO2lmKChkVihmW2ZbZysoYzw8Mik+PjJdPj4yXXwwLGZb
ZltnKyhiPDwyKT4+Ml0+PjJdfDAsZlthPj4yXXwwKXwwKT09MilicmVhaztlbHNlIGI9Y319d2hp
bGUoMCk7cmV0dXJuIGJ8MH1mdW5jdGlvbiBsVihhLGIpe2E9YXwwO2I9YnwwO2ZbKChhfDApPT0x
PzE5NDE3MjoxOTQxNjgpPj4yXT1iO3JldHVybn1mdW5jdGlvbiBtVihhLGIsYyxkKXthPWF8MDti
PWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7ZT1mW2ZbYysoKChh
Ky0xK2R8MCklKGR8MCl8MCk8PDIpPj4yXT4+Ml18MDtpPWZbZltjKyhhPDwyKT4+Ml0+PjJdfDA7
Zz1mW2ZbYysoKChhKzF8MCklKGR8MCl8MCk8PDIpPj4yXT4+Ml18MDtrPShkVihlLGksZyl8MCk9
PTE7aj1mW2ZbYysoYjw8Mik+PjJdPj4yXXwwO2lmKGspaWYoKGRWKGksaixlKXwwKT09MT8oZFYo
aixpLGcpfDApPT0xOjApaD01O2Vsc2UgZT0wO2Vsc2UgaWYoKGRWKGksaixnKXwwKT09MiloPTU7
ZWxzZSBlPTA7YTpkbyBpZigoaHwwKT09NSl7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oZHwwKSl7
ZT0xO2JyZWFrIGF9Zz1lKzF8MDtoPShnfDApJShkfDApfDA7aWYoISgoaHwwKT09KGJ8MCl8KChl
fDApPT0oYnwwKXwoKGV8MCk9PShhfDApfChofDApPT0oYXwwKSkpKT9wVihpLGosZltmW2MrKGU8
PDIpPj4yXT4+Ml18MCxmW2ZbYysoaDw8Mik+PjJdPj4yXXwwKXwwOjApe2U9MDticmVhayBhfWU9
Z319d2hpbGUoMCk7cmV0dXJuIGV8MH1mdW5jdGlvbiBuVihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1j
fDA7dmFyIGQ9MCxlPTAsZz0wLGg9MDtkPWZbNDg1NDBdfDA7ZT1mWzQ4NTUxXXwwO2lmKChkfDAp
PChlfDApKWg9ZDtlbHNle29WKGUrMjB8MCk7aD1mWzQ4NTQwXXwwfWc9Zls0ODU0OF18MDtmWzQ4
NTQwXT1oKzE7ZT1nKyhoKjUyfDApfDA7ZltlPj4yXT0wO2ZbZysoaCo1MnwwKSs0Pj4yXT1hO2Zb
ZysoaCo1MnwwKSs4Pj4yXT1iO2ZbZysoaCo1MnwwKSsxNj4+Ml09MDtmW2crKGgqNTJ8MCkrMjA+
PjJdPWI7ZltnKyhoKjUyfDApKzI0Pj4yXT1jO2ZbZysoaCo1MnwwKSszMj4+Ml09MDtmW2crKGgq
NTJ8MCkrMzY+PjJdPWM7ZltnKyhoKjUyfDApKzQwPj4yXT1hO2ZbZysoaCo1MnwwKSs0OD4+Ml09
MDtkPTA7d2hpbGUoMSl7aWYoKGR8MCk9PTMpYnJlYWs7ZltnKyhoKjUyfDApKzQrKGQ8PDQpKzg+
PjJdPWU7ZD1kKzF8MH1yZXR1cm59ZnVuY3Rpb24gb1YoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0w
LGU9MDtlPXQ7dD10KzMyfDA7ZD1lKzE2fDA7Yz1lO2lmKChmWzQ4NTUxXXwwKTwoYXwwKSl7Yj1m
WzQ4NTQ4XXwwO2lmKCFiKXtkPUxfKGEqNTJ8MCl8MDtmWzQ4NTQ4XT1kO2lmKCFkKXtkPWZbMTk0
NTddfDA7ZltjPj4yXT0xNDg5OTM7ZltjKzQ+PjJdPTU1MjtmW2MrOD4+Ml09MTQ5MTU5O2cyKGQs
MTQ4OTc0LGMpfDA7amIoMTg5Mzc2LDEpfX1lbHNle2M9T18oYixhKjUyfDApfDA7Zls0ODU0OF09
YztpZighYyl7Yz1mWzE5NDU3XXwwO2ZbZD4+Ml09MTQ4OTkzO2ZbZCs0Pj4yXT01NTg7ZltkKzg+
PjJdPTE0OTE3ODtnMihjLDE0ODk3NCxkKXwwO2piKDE4OTM3NiwxKX19Zls0ODU1MV09YX10PWU7
cmV0dXJufWZ1bmN0aW9uIHBWKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBl
PTAsZj0wLGc9MCxoPTA7Zj1kVihhLGIsYyl8MDtpZigoKChmfDApIT0zPyhnPWRWKGEsYixkKXww
LChnfDApIT0zKTowKT8oaD1kVihjLGQsYSl8MCwoaHwwKSE9Myk6MCk/KGU9ZFYoYyxkLGIpfDAs
KGV8MCkhPTMpOjApcmV0dXJuICgoZnwwKT09MV4oZ3wwKT09MSkmKChofDApPT0xXihlfDApPT0x
KSYxfDA7aWYoKChxVihhLGIsYyl8MCk9PTA/KHFWKGEsYixkKXwwKT09MDowKT8ocVYoYyxkLGEp
fDApPT0wOjApcmV0dXJuIChxVihjLGQsYil8MCkhPTB8MDtyZXR1cm4gMX1mdW5jdGlvbiBxVihh
LGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MC4wLGU9MC4wLGY9MC4wLGc9MC4wO2U9K3Bb
YT4+M107Zz0rcFtiPj4zXS1lO2Y9K3BbYSs4Pj4zXTtkPStwW2IrOD4+M10tZjtlPStwW2M+PjNd
LWU7Zj0rcFtjKzg+PjNdLWY7aWYoKGRWKGEsYixjKXwwKT09Mz9mKmQrZSpnPj0wLjA6MClhPWYq
ZitlKmU8PWQqZCtnKmcmMTtlbHNlIGE9MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIHJWKGEsYixjLGQp
e2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLjAsaD0wLGk9MC4wLGo9MCxrPTAs
bD0wLG09MCxuPTAsbz0wLHE9MC4wLHI9MDttPUxfKGM8PDIpfDA7bj1MXygoYzw8MykrOHwwKXww
O289bis4fDA7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oY3wwKSlicmVhaztmW20rKGU8PDIpPj4y
XT0tMTtwW28rKGU8PDMpPj4zXT0tMjE0NzQ4MzY0Ny4wO2U9ZSsxfDB9cFtuPj4zXT0tMjE0NzQ4
MzY0OC4wO3doaWxlKDEpe2lmKChhfDApPT0oYnwwKSlicmVhaztrPW8rKGE8PDMpfDA7aT0rcFtr
Pj4zXTtwW2s+PjNdPWk9PS0yMTQ3NDgzNjQ3LjA/MC4wOi1pO2w9ZCsoYTw8Mil8MDtqPTA7ZT0t
MTt3aGlsZSgxKXtpZigoanwwKT49KGN8MCkpYnJlYWs7aD1vKyhqPDwzKXwwO2c9K3BbaD4+M107
aWYoZzwwLjApe3I9KGF8MCk8KGp8MCk7cT0rcFsoZlsocj9kKyhqPDwyKXwwOmwpPj4yXXwwKSso
KHI/YTpqKTw8Myk+PjNdO2k9LShxKyArcFtrPj4zXSk7aWYocSE9MC4wJmc8aSl7cFtoPj4zXT1p
O2ZbbSsoajw8Mik+PjJdPWE7Zz1pfWU9Zz4rcFtvKyhlPDwzKT4+M10/ajplfWo9aisxfDB9YT1l
fU1fKG4pO3JldHVybiBtfDB9ZnVuY3Rpb24gc1YoYSxiLGMsZCxlLGcsaCl7YT1hfDA7Yj1ifDA7
Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7aD1ofDA7dmFyIGk9MCxqPTAsaz0wLGw9MDtqPXQ7dD10
KzMyfDA7az1qKzE2fDA7bD1qO2k9ZltoKzQ+PjJdfDA7ZltsPj4yXT1mW2E+PjJdO2ZbbCs0Pj4y
XT1mW2ErND4+Ml07ZltsKzg+PjJdPWZbYSs4Pj4yXTtmW2wrMTI+PjJdPWZbYSsxMj4+Ml07Zltr
Pj4yXT1mW2Q+PjJdO2Zbays0Pj4yXT1mW2QrND4+Ml07ZltrKzg+PjJdPWZbZCs4Pj4yXTtmW2sr
MTI+PjJdPWZbZCsxMj4+Ml07aWYoIShMVihsLGIsayxlLGgpfDApKXthPWZbaCsyND4+Ml18MDtm
W2ErKGk8PDIpPj4yXT1nO2w9aSsxfDA7ZlthKyhsPDwyKT4+Ml09YzthPXJWKGwsaSxpKzJ8MCxh
KXwwfWVsc2V7YT1MXygoaTw8MikrOHwwKXwwO2w9aSsxfDA7ZlthKyhpPDwyKT4+Ml09bDtmW2Er
KGw8PDIpPj4yXT0tMX10PWo7cmV0dXJuIGF8MH1mdW5jdGlvbiB0VihhLGIpe2E9YXwwO2I9Ynww
O3ZhciBjPTAsZD0wLjAsZT0wLjAsZj0wLjAsZz0wLjAsaD0wLjAsaT0wO2Q9K3BbYSsyND4+M107
YTpkbyBpZihkPDEuMGUtMDcmZD4tMS4wZS0wNylhPXVWKGEsYil8MDtlbHNle2c9K3BbYSsxNj4+
M10vKGQqMy4wKTtmPStwW2ErOD4+M10vZDtlPWcqZztkPWcqMi4wKmUtZypmKyArcFthPj4zXS9k
O2U9ZiouMzMzMzMzMzMzMzMzMzMzMy1lO2U9ZSplKjQuMCplO2Y9ZCpkK2U7aWYoIShmPDAuMCkp
e2g9KCtKKCtmKS1kKSouNTtlPSt2MyhoKTtkPSt2MygtZC1oKStlO3BbYj4+M109ZDtkPWQqLS41
O2lmKGY+MC4wKWE9MTtlbHNle3BbYisxNj4+M109ZDtwW2IrOD4+M109ZDthPTN9fWVsc2V7Zj0r
UigrKCtKKCstZikpLCstZCk7aD0rdjMoK0ooKy1lKSouNSkqMi4wO2U9aCorTCgrKGYqLjMzMzMz
MzMzMzMzMzMzMzMpKTtwW2I+PjNdPWU7ZT0rTCgrKChmKzYuMjgzMTg1MzA3MTc5NTg2KSouMzMz
MzMzMzMzMzMzMzMzMykpKmg7cFtiKzg+PjNdPWU7aD0rTCgrKChmKy02LjI4MzE4NTMwNzE3OTU4
NikqLjMzMzMzMzMzMzMzMzMzMzMpKSpoO3BbYisxNj4+M109aDthPTN9Yz0wO3doaWxlKDEpe2lm
KChjfDApPT0oYXwwKSlicmVhayBhO2k9YisoYzw8Myl8MDtwW2k+PjNdPStwW2k+PjNdLWc7Yz1j
KzF8MH19d2hpbGUoMCk7cmV0dXJuIGF8MH1mdW5jdGlvbiB1VihhLGIpe2E9YXwwO2I9YnwwO3Zh
ciBjPTAuMCxkPTAuMDtjPStwW2ErMTY+PjNdO2RvIGlmKCEoYzwxLjBlLTA3JmM+LTEuMGUtMDcp
KXtkPStwW2ErOD4+M10vKGMqMi4wKTtjPWQqZC0rcFthPj4zXS9jO2lmKCEoYzwwLjApKWlmKGM9
PTAuMCl7cFtiPj4zXT0tZDthPTE7YnJlYWt9ZWxzZXtjPStKKCtjKS1kO3BbYj4+M109YztwW2Ir
OD4+M109ZCotMi4wLWM7YT0yO2JyZWFrfWVsc2UgYT0wfWVsc2UgYT12VihhLGIpfDA7d2hpbGUo
MCk7cmV0dXJuIGF8MH1mdW5jdGlvbiB2VihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAu
MDtkPStwW2ErOD4+M107Yz0rcFthPj4zXTtpZihkPDEuMGUtMDcmZD4tMS4wZS0wNylhPWM8MS4w
ZS0wNyZjPi0xLjBlLTA3PzQ6MDtlbHNle3BbYj4+M109LWMvZDthPTF9cmV0dXJuIGF8MH1mdW5j
dGlvbiB3VihhKXthPWF8MDtNXyhmW2E+PjJdfDApO01fKGEpO3JldHVybn1mdW5jdGlvbiB4Vihh
LGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxt
PTA7ZD1mW2ErND4+Ml18MDtpPShkKjN8MCkrLTJ8MDtjPWZbNDg1NTRdfDA7aWYoKGl8MCk+KGZb
NDg1NTNdfDApKXtpZighYyljPUxfKGk8PDQpfDA7ZWxzZSBjPU9fKGMsaTw8NCl8MDtmWzQ4NTU0
XT1jO2ZbNDg1NTNdPWk7aD1jO2c9Y31lbHNle2g9YztnPWN9ZT1mW2E+PjJdfDA7ZltoPj4yXT1m
W2U+PjJdO2ZbaCs0Pj4yXT1mW2UrND4+Ml07ZltoKzg+PjJdPWZbZSs4Pj4yXTtmW2grMTI+PjJd
PWZbZSsxMj4+Ml07UjMoaCsxNnwwLGV8MCwxNil8MDtkPWQrLTF8MDtjPTE7YT0yO3doaWxlKDEp
e2lmKChjfDApPj0oZHwwKSlicmVhaztqPWgrKGErMjw8NCl8MDtrPWgrKGErMTw8NCl8MDttPWgr
KGE8PDQpfDA7bD1lKyhjPDw0KXwwO2ZbbT4+Ml09ZltsPj4yXTtmW20rND4+Ml09ZltsKzQ+PjJd
O2ZbbSs4Pj4yXT1mW2wrOD4+Ml07ZlttKzEyPj4yXT1mW2wrMTI+PjJdO1IzKGt8MCxsfDAsMTYp
fDA7ZltqPj4yXT1mW2s+PjJdO2Zbais0Pj4yXT1mW2srND4+Ml07ZltqKzg+PjJdPWZbays4Pj4y
XTtmW2orMTI+PjJdPWZbaysxMj4+Ml07Yz1jKzF8MDthPWErM3wwfWw9aCsoYTw8NCl8MDttPWUr
KGM8PDQpfDA7ZltsPj4yXT1mW20+PjJdO2ZbbCs0Pj4yXT1mW20rND4+Ml07ZltsKzg+PjJdPWZb
bSs4Pj4yXTtmW2wrMTI+PjJdPWZbbSsxMj4+Ml07UjMoaCsoYSsxPDw0KXwwLG18MCwxNil8MDtm
W2IrND4+Ml09aTtmW2I+PjJdPWc7cmV0dXJufWZ1bmN0aW9uIHlWKGEsYixjKXthPWF8MDtiPWJ8
MDtjPWN8MDt2YXIgZD0wLjAsZT0wLjA7ZD0rcFtiKzg+PjNdO2U9K3BbYj4+M107ZD0oK3BbYz4+
M10tZSkqKCtwW2ErOD4+M10tZCktKCtwW2E+PjNdLWUpKigrcFtjKzg+PjNdLWQpO3JldHVybiAo
ZD4uMDAwMT8xOihkPC0uMDAwMSk8PDMxPj4zMSl8MH1mdW5jdGlvbiB6VihhLGIsYyl7YT1hfDA7
Yj1ifDA7Yz1jfDA7dmFyIGQ9MC4wLGU9MC4wLGY9MC4wO2U9K3BbYT4+M107Zj0rcFtiPj4zXTtp
ZihlIT1mKXtkPStwW2M+PjNdO2lmKCEoZTxkJmQ8ZikpaWYoZjxkKWE9ZDxlO2Vsc2UgYT0wO2Vs
c2UgYT0xfWVsc2V7Zj0rcFthKzg+PjNdO2U9K3BbYys4Pj4zXTtkPStwW2IrOD4+M107aWYoIShm
PGUmZTxkKSlpZihkPGUpYT1lPGY7ZWxzZSBhPTA7ZWxzZSBhPTF9cmV0dXJuIGEmMXwwfWZ1bmN0
aW9uIEFWKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxp
PTAsaj0wLGs9MCxsPTA7bD10O3Q9dCs0OHwwO2k9bCszMnwwO2g9bCsxNnwwO2c9bDtmW2c+PjJd
PWZbYT4+Ml07ZltnKzQ+PjJdPWZbYSs0Pj4yXTtmW2crOD4+Ml09ZlthKzg+PjJdO2ZbZysxMj4+
Ml09ZlthKzEyPj4yXTtmW2g+PjJdPWZbYj4+Ml07ZltoKzQ+PjJdPWZbYis0Pj4yXTtmW2grOD4+
Ml09ZltiKzg+PjJdO2ZbaCsxMj4+Ml09ZltiKzEyPj4yXTtmW2k+PjJdPWZbYz4+Ml07ZltpKzQ+
PjJdPWZbYys0Pj4yXTtmW2krOD4+Ml09ZltjKzg+PjJdO2ZbaSsxMj4+Ml09ZltjKzEyPj4yXTtq
PXlWKGcsaCxpKXwwO2lmKChqfDApPT0wPyhmW2c+PjJdPWZbYT4+Ml0sZltnKzQ+PjJdPWZbYSs0
Pj4yXSxmW2crOD4+Ml09ZlthKzg+PjJdLGZbZysxMj4+Ml09ZlthKzEyPj4yXSxmW2g+PjJdPWZb
Yj4+Ml0sZltoKzQ+PjJdPWZbYis0Pj4yXSxmW2grOD4+Ml09ZltiKzg+PjJdLGZbaCsxMj4+Ml09
ZltiKzEyPj4yXSxmW2k+PjJdPWZbYz4+Ml0sZltpKzQ+PjJdPWZbYys0Pj4yXSxmW2krOD4+Ml09
ZltjKzg+PjJdLGZbaSsxMj4+Ml09ZltjKzEyPj4yXSwoelYoZyxoLGkpfDApIT0wKTowKWU9MTtl
bHNlIGs9MztkbyBpZigoa3wwKT09Myl7ZltnPj4yXT1mW2E+PjJdO2ZbZys0Pj4yXT1mW2ErND4+
Ml07ZltnKzg+PjJdPWZbYSs4Pj4yXTtmW2crMTI+PjJdPWZbYSsxMj4+Ml07ZltoPj4yXT1mW2I+
PjJdO2ZbaCs0Pj4yXT1mW2IrND4+Ml07ZltoKzg+PjJdPWZbYis4Pj4yXTtmW2grMTI+PjJdPWZb
YisxMj4+Ml07ZltpPj4yXT1mW2Q+PjJdO2ZbaSs0Pj4yXT1mW2QrND4+Ml07ZltpKzg+PjJdPWZb
ZCs4Pj4yXTtmW2krMTI+PjJdPWZbZCsxMj4+Ml07ZT15VihnLGgsaSl8MDtpZigoZXwwKT09MD8o
ZltnPj4yXT1mW2E+PjJdLGZbZys0Pj4yXT1mW2ErND4+Ml0sZltnKzg+PjJdPWZbYSs4Pj4yXSxm
W2crMTI+PjJdPWZbYSsxMj4+Ml0sZltoPj4yXT1mW2I+PjJdLGZbaCs0Pj4yXT1mW2IrND4+Ml0s
ZltoKzg+PjJdPWZbYis4Pj4yXSxmW2grMTI+PjJdPWZbYisxMj4+Ml0sZltpPj4yXT1mW2Q+PjJd
LGZbaSs0Pj4yXT1mW2QrND4+Ml0sZltpKzg+PjJdPWZbZCs4Pj4yXSxmW2krMTI+PjJdPWZbZCsx
Mj4+Ml0selYoZyxoLGkpfDApOjApe2U9MTticmVha307ZltnPj4yXT1mW2M+PjJdO2ZbZys0Pj4y
XT1mW2MrND4+Ml07ZltnKzg+PjJdPWZbYys4Pj4yXTtmW2crMTI+PjJdPWZbYysxMj4+Ml07Zlto
Pj4yXT1mW2Q+PjJdO2ZbaCs0Pj4yXT1mW2QrND4+Ml07ZltoKzg+PjJdPWZbZCs4Pj4yXTtmW2gr
MTI+PjJdPWZbZCsxMj4+Ml07ZltpPj4yXT1mW2E+PjJdO2ZbaSs0Pj4yXT1mW2ErND4+Ml07Zltp
Kzg+PjJdPWZbYSs4Pj4yXTtmW2krMTI+PjJdPWZbYSsxMj4+Ml07YT15VihnLGgsaSl8MDtmW2c+
PjJdPWZbYz4+Ml07ZltnKzQ+PjJdPWZbYys0Pj4yXTtmW2crOD4+Ml09ZltjKzg+PjJdO2ZbZysx
Mj4+Ml09ZltjKzEyPj4yXTtmW2g+PjJdPWZbZD4+Ml07ZltoKzQ+PjJdPWZbZCs0Pj4yXTtmW2gr
OD4+Ml09ZltkKzg+PjJdO2ZbaCsxMj4+Ml09ZltkKzEyPj4yXTtmW2k+PjJdPWZbYj4+Ml07Zltp
KzQ+PjJdPWZbYis0Pj4yXTtmW2krOD4+Ml09ZltiKzg+PjJdO2ZbaSsxMj4+Ml09ZltiKzEyPj4y
XTtrPShWKGUsail8MCk8MDtlPShWKHlWKGcsaCxpKXwwLGEpfDApPj4+MzE7ZT1rP2U6MH13aGls
ZSgwKTt0PWw7cmV0dXJuIGV8MH1mdW5jdGlvbiBCVihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAu
MCxkPTAuMDtjPStwW2E+PjNdLStwW2I+PjNdO2Q9K3BbYSs4Pj4zXS0rcFtiKzg+PjNdO3JldHVy
biArKGQqZCtjKmMpfWZ1bmN0aW9uIENWKGEpe2E9YXwwO3ZhciBiPTA7Yj1EVihmW2ErND4+Ml18
MCl8MDtmW2ErMjQ+PjJdPWI7RVYoYSk7cmV0dXJufWZ1bmN0aW9uIERWKGEpe2E9YXwwO3ZhciBi
PTAsYz0wLGQ9MCxlPTA7ZD1hKzJ8MDtlPUxfKGQ8PDIpfDA7Yj1OXyhWKGEsYSl8MCw4KXwwO2M9
MDt3aGlsZSgxKXtpZigoY3wwKT49KGF8MCkpYnJlYWs7ZltlKyhjPDwyKT4+Ml09YjtiPWIrKGE8
PDMpfDA7Yz1jKzF8MH13aGlsZSgxKXtpZigoYXwwKT49KGR8MCkpYnJlYWs7ZltlKyhhPDwyKT4+
Ml09MDthPWErMXwwfXJldHVybiBlfDB9ZnVuY3Rpb24gRVYoYSl7YT1hfDA7dmFyIGI9MCxjPTAs
ZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAuMDtuPXQ7dD10
KzMyfDA7aD1uKzE2fDA7Zz1uO2k9ZlthKzQ+PjJdfDA7az1mW2ErOD4+Ml18MDtsPWZbYSsxNj4+
Ml18MDttPWZbYSsyMD4+Ml18MDtjPWZbYSsyND4+Ml18MDthPTA7d2hpbGUoMSl7aWYoKGF8MCk+
PShpfDApKWJyZWFrO289ZlttKyhhPDwyKT4+Ml18MDtkPWsrKGE8PDQpfDA7ZT1rKyhvPDw0KXww
O2ZbZz4+Ml09ZltkPj4yXTtmW2crND4+Ml09ZltkKzQ+PjJdO2ZbZys4Pj4yXT1mW2QrOD4+Ml07
ZltnKzEyPj4yXT1mW2QrMTI+PjJdO2ZbaD4+Ml09ZltlPj4yXTtmW2grND4+Ml09ZltlKzQ+PjJd
O2ZbaCs4Pj4yXT1mW2UrOD4+Ml07ZltoKzEyPj4yXT1mW2UrMTI+PjJdO3E9K0ZWKGcsaCk7ZT1m
W2MrKGE8PDIpPj4yXXwwO3BbZSsobzw8Myk+PjNdPXE7cFsoZltjKyhvPDwyKT4+Ml18MCkrKGE8
PDMpPj4zXT1xO2I9YSstMXwwO2I9KG98MCk9PShifDApP2ErLTJ8MDpiO3doaWxlKDEpe2lmKChi
fDApPD0tMSlicmVhaztpZigoR1YoYSxiLGssbCxtKXwwP0dWKGIsYSxrLGwsbSl8MDowKT8oaj1r
KyhiPDw0KXwwLGZbZz4+Ml09ZltkPj4yXSxmW2crND4+Ml09ZltkKzQ+PjJdLGZbZys4Pj4yXT1m
W2QrOD4+Ml0sZltnKzEyPj4yXT1mW2QrMTI+PjJdLGZbaD4+Ml09ZltqPj4yXSxmW2grND4+Ml09
ZltqKzQ+PjJdLGZbaCs4Pj4yXT1mW2orOD4+Ml0sZltoKzEyPj4yXT1mW2orMTI+PjJdLEhWKGcs
aCxpLGksaSxrLGwpfDApOjApe2ZbZz4+Ml09ZltkPj4yXTtmW2crND4+Ml09ZltkKzQ+PjJdO2Zb
Zys4Pj4yXT1mW2QrOD4+Ml07ZltnKzEyPj4yXT1mW2QrMTI+PjJdO2ZbaD4+Ml09ZltqPj4yXTtm
W2grND4+Ml09ZltqKzQ+PjJdO2ZbaCs4Pj4yXT1mW2orOD4+Ml07ZltoKzEyPj4yXT1mW2orMTI+
PjJdO3E9K0ZWKGcsaCk7cFtlKyhiPDwzKT4+M109cTtwWyhmW2MrKGI8PDIpPj4yXXwwKSsoYTw8
Myk+PjNdPXF9Yj1iKy0xfDB9YT1hKzF8MH10PW47cmV0dXJufWZ1bmN0aW9uIEZWKGEsYil7YT1h
fDA7Yj1ifDA7dmFyIGM9MC4wLGQ9MCxlPTAsZz0wO2Q9dDt0PXQrMzJ8MDtlPWQrMTZ8MDtnPWQ7
ZltnPj4yXT1mW2E+PjJdO2ZbZys0Pj4yXT1mW2ErND4+Ml07ZltnKzg+PjJdPWZbYSs4Pj4yXTtm
W2crMTI+PjJdPWZbYSsxMj4+Ml07ZltlPj4yXT1mW2I+PjJdO2ZbZSs0Pj4yXT1mW2IrND4+Ml07
ZltlKzg+PjJdPWZbYis4Pj4yXTtmW2UrMTI+PjJdPWZbYisxMj4+Ml07Yz0rSigrKCtCVihnLGUp
KSk7dD1kO3JldHVybiArY31mdW5jdGlvbiBHVihhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3ww
O2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7Zz10O3Q9dCs2NHww
O2g9Zys0OHwwO2k9ZyszMnwwO2o9ZysxNnwwO2s9ZzttPWMrKGZbZSsoYTw8Mik+PjJdPDw0KXww
O2w9YysoYTw8NCl8MDtkPWMrKGZbZCsoYTw8Mik+PjJdPDw0KXwwO2U9YysoYjw8NCl8MDtmW2s+
PjJdPWZbbT4+Ml07ZltrKzQ+PjJdPWZbbSs0Pj4yXTtmW2srOD4+Ml09ZlttKzg+PjJdO2Zbaysx
Mj4+Ml09ZlttKzEyPj4yXTtmW2o+PjJdPWZbbD4+Ml07ZltqKzQ+PjJdPWZbbCs0Pj4yXTtmW2or
OD4+Ml09ZltsKzg+PjJdO2ZbaisxMj4+Ml09ZltsKzEyPj4yXTtmW2k+PjJdPWZbZD4+Ml07Zltp
KzQ+PjJdPWZbZCs0Pj4yXTtmW2krOD4+Ml09ZltkKzg+PjJdO2ZbaSsxMj4+Ml09ZltkKzEyPj4y
XTtmW2g+PjJdPWZbZT4+Ml07ZltoKzQ+PjJdPWZbZSs0Pj4yXTtmW2grOD4+Ml09ZltlKzg+PjJd
O2ZbaCsxMj4+Ml09ZltlKzEyPj4yXTtlPUlWKGssaixpLGgpfDA7dD1nO3JldHVybiBlfDB9ZnVu
Y3Rpb24gSFYoYSxiLGMsZCxlLGcsaCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1n
fDA7aD1ofDA7dmFyIGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wO289dDt0PXQr
NjR8MDttPW8rNDh8MDtsPW8rMzJ8MDtrPW8rMTZ8MDtqPW87aT0wO3doaWxlKDEpe2lmKChpfDAp
Pj0oY3wwKSl7bj0zO2JyZWFrfXE9ZysoaTw8NCl8MDtwPWcrKGZbaCsoaTw8Mik+PjJdPDw0KXww
O2Zbaj4+Ml09ZlthPj4yXTtmW2orND4+Ml09ZlthKzQ+PjJdO2Zbais4Pj4yXT1mW2ErOD4+Ml07
ZltqKzEyPj4yXT1mW2ErMTI+PjJdO2Zbaz4+Ml09ZltiPj4yXTtmW2srND4+Ml09ZltiKzQ+PjJd
O2Zbays4Pj4yXT1mW2IrOD4+Ml07ZltrKzEyPj4yXT1mW2IrMTI+PjJdO2ZbbD4+Ml09ZltxPj4y
XTtmW2wrND4+Ml09ZltxKzQ+PjJdO2ZbbCs4Pj4yXT1mW3ErOD4+Ml07ZltsKzEyPj4yXT1mW3Er
MTI+PjJdO2ZbbT4+Ml09ZltwPj4yXTtmW20rND4+Ml09ZltwKzQ+PjJdO2ZbbSs4Pj4yXT1mW3Ar
OD4+Ml07ZlttKzEyPj4yXT1mW3ArMTI+PjJdO2lmKCEoQVYoaixrLGwsbSl8MCkpaT1pKzF8MDtl
bHNle2Q9MDticmVha319YTpkbyBpZigobnwwKT09Myl3aGlsZSgxKXtpZigoZHwwKT49KGV8MCkp
e2Q9MTticmVhayBhfXA9ZysoZDw8NCl8MDtxPWcrKGZbaCsoZDw8Mik+PjJdPDw0KXwwO2Zbaj4+
Ml09ZlthPj4yXTtmW2orND4+Ml09ZlthKzQ+PjJdO2Zbais4Pj4yXT1mW2ErOD4+Ml07ZltqKzEy
Pj4yXT1mW2ErMTI+PjJdO2Zbaz4+Ml09ZltiPj4yXTtmW2srND4+Ml09ZltiKzQ+PjJdO2Zbays4
Pj4yXT1mW2IrOD4+Ml07ZltrKzEyPj4yXT1mW2IrMTI+PjJdO2ZbbD4+Ml09ZltwPj4yXTtmW2wr
ND4+Ml09ZltwKzQ+PjJdO2ZbbCs4Pj4yXT1mW3ArOD4+Ml07ZltsKzEyPj4yXT1mW3ArMTI+PjJd
O2ZbbT4+Ml09ZltxPj4yXTtmW20rND4+Ml09ZltxKzQ+PjJdO2ZbbSs4Pj4yXT1mW3ErOD4+Ml07
ZlttKzEyPj4yXT1mW3ErMTI+PjJdO2lmKCEoQVYoaixrLGwsbSl8MCkpZD1kKzF8MDtlbHNle2Q9
MDticmVha319d2hpbGUoMCk7dD1vO3JldHVybiBkfDB9ZnVuY3Rpb24gSVYoYSxiLGMsZCl7YT1h
fDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTA7Zz10O3Q9dCs0OHww
O2g9ZyszMnwwO2k9ZysxNnwwO2o9ZztmW2o+PjJdPWZbZD4+Ml07ZltqKzQ+PjJdPWZbZCs0Pj4y
XTtmW2orOD4+Ml09ZltkKzg+PjJdO2ZbaisxMj4+Ml09ZltkKzEyPj4yXTtmW2k+PjJdPWZbYT4+
Ml07ZltpKzQ+PjJdPWZbYSs0Pj4yXTtmW2krOD4+Ml09ZlthKzg+PjJdO2ZbaSsxMj4+Ml09Zlth
KzEyPj4yXTtmW2g+PjJdPWZbYj4+Ml07ZltoKzQ+PjJdPWZbYis0Pj4yXTtmW2grOD4+Ml09Zlti
Kzg+PjJdO2ZbaCsxMj4+Ml09ZltiKzEyPj4yXTtlPXlWKGosaSxoKXwwO2Zbaj4+Ml09ZltkPj4y
XTtmW2orND4+Ml09ZltkKzQ+PjJdO2Zbais4Pj4yXT1mW2QrOD4+Ml07ZltqKzEyPj4yXT1mW2Qr
MTI+PjJdO2ZbaT4+Ml09ZltiPj4yXTtmW2krND4+Ml09ZltiKzQ+PjJdO2ZbaSs4Pj4yXT1mW2Ir
OD4+Ml07ZltpKzEyPj4yXT1mW2IrMTI+PjJdO2ZbaD4+Ml09ZltjPj4yXTtmW2grND4+Ml09Zltj
KzQ+PjJdO2ZbaCs4Pj4yXT1mW2MrOD4+Ml07ZltoKzEyPj4yXT1mW2MrMTI+PjJdO2Q9eVYoaixp
LGgpfDA7ZltqPj4yXT1mW2E+PjJdO2Zbais0Pj4yXT1mW2ErND4+Ml07ZltqKzg+PjJdPWZbYSs4
Pj4yXTtmW2orMTI+PjJdPWZbYSsxMj4+Ml07ZltpPj4yXT1mW2I+PjJdO2ZbaSs0Pj4yXT1mW2Ir
ND4+Ml07ZltpKzg+PjJdPWZbYis4Pj4yXTtmW2krMTI+PjJdPWZbYisxMj4+Ml07ZltoPj4yXT1m
W2M+PjJdO2ZbaCs0Pj4yXT1mW2MrND4+Ml07ZltoKzg+PjJdPWZbYys4Pj4yXTtmW2grMTI+PjJd
PWZbYysxMj4+Ml07Yz0oeVYoaixpLGgpfDApPjA7dD1nO3JldHVybiAoYz9kfGU6ZCZlKT4+PjMx
XjF8MH1mdW5jdGlvbiBKVihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MC4wLGU9MCxn
PTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLHM9MCx1PTA7cj10O3Q9
dCs4MHwwO2k9cis2NHwwO2g9cis0OHwwO2c9ciszMnwwO2o9cisxNnwwO209cjtuPWZbYSs0Pj4y
XXwwO289ZlthKzg+PjJdfDA7cT1mW2ErMTY+PjJdfDA7az1mW2ErMjA+PjJdfDA7bD1MXygobjw8
MykrMTZ8MCl8MDtpZigoYnwwKT09LTIyMjIpe2ZbaT4+Ml09ZltjPj4yXTtmW2krND4+Ml09Zltj
KzQ+PjJdO2ZbaSs4Pj4yXT1mW2MrOD4+Ml07ZltpKzEyPj4yXT1mW2MrMTI+PjJdO2I9S1YoYSxp
KXwwfWlmKChifDApPi0xKXthPWZbYSsxMj4+Ml18MDtlPWZbYSsoYisxPDwyKT4+Ml18MDthPWZb
YSsoYjw8Mik+PjJdfDB9ZWxzZXtlPW47YT1ufWI9MDt3aGlsZSgxKXtpZigoYnwwKT49KGF8MCkp
YnJlYWs7dT1vKyhiPDw0KXwwO2ZbbT4+Ml09Zlt1Pj4yXTtmW20rND4+Ml09Zlt1KzQ+PjJdO2Zb
bSs4Pj4yXT1mW3UrOD4+Ml07ZlttKzEyPj4yXT1mW3UrMTI+PjJdO3U9bysoZltrKyhiPDwyKT4+
Ml08PDQpfDA7cz1vKyhmW3ErKGI8PDIpPj4yXTw8NCl8MDtmW2o+PjJdPWZbdT4+Ml07ZltqKzQ+
PjJdPWZbdSs0Pj4yXTtmW2orOD4+Ml09Zlt1Kzg+PjJdO2ZbaisxMj4+Ml09Zlt1KzEyPj4yXTtm
W2c+PjJdPWZbbT4+Ml07ZltnKzQ+PjJdPWZbbSs0Pj4yXTtmW2crOD4+Ml09ZlttKzg+PjJdO2Zb
ZysxMj4+Ml09ZlttKzEyPj4yXTtmW2g+PjJdPWZbcz4+Ml07ZltoKzQ+PjJdPWZbcys0Pj4yXTtm
W2grOD4+Ml09ZltzKzg+PjJdO2ZbaCsxMj4+Ml09ZltzKzEyPj4yXTtmW2k+PjJdPWZbYz4+Ml07
ZltpKzQ+PjJdPWZbYys0Pj4yXTtmW2krOD4+Ml09ZltjKzg+PjJdO2ZbaSsxMj4+Ml09ZltjKzEy
Pj4yXTtpZigoSVYoaixnLGgsaSl8MCkhPTA/KGZbaD4+Ml09ZltjPj4yXSxmW2grND4+Ml09Zltj
KzQ+PjJdLGZbaCs4Pj4yXT1mW2MrOD4+Ml0sZltoKzEyPj4yXT1mW2MrMTI+PjJdLGZbaT4+Ml09
ZlttPj4yXSxmW2krND4+Ml09ZlttKzQ+PjJdLGZbaSs4Pj4yXT1mW20rOD4+Ml0sZltpKzEyPj4y
XT1mW20rMTI+PjJdLChIVihoLGksYSxlLG4sbyxxKXwwKSE9MCk6MCl7ZltoPj4yXT1mW2M+PjJd
O2ZbaCs0Pj4yXT1mW2MrND4+Ml07ZltoKzg+PjJdPWZbYys4Pj4yXTtmW2grMTI+PjJdPWZbYysx
Mj4+Ml07ZltpPj4yXT1mW20+PjJdO2ZbaSs0Pj4yXT1mW20rND4+Ml07ZltpKzg+PjJdPWZbbSs4
Pj4yXTtmW2krMTI+PjJdPWZbbSsxMj4+Ml07ZD0rRlYoaCxpKX1lbHNlIGQ9MC4wO3BbbCsoYjw8
Myk+PjNdPWQ7Yj1iKzF8MH1iPWE7d2hpbGUoMSl7aWYoKGJ8MCk+PShlfDApKWJyZWFrO3BbbCso
Yjw8Myk+PjNdPTAuMDtiPWIrMXwwfWI9ZTt3aGlsZSgxKXtpZigoYnwwKT49KG58MCkpYnJlYWs7
cz1vKyhiPDw0KXwwO2ZbbT4+Ml09ZltzPj4yXTtmW20rND4+Ml09ZltzKzQ+PjJdO2ZbbSs4Pj4y
XT1mW3MrOD4+Ml07ZlttKzEyPj4yXT1mW3MrMTI+PjJdO3M9bysoZltrKyhiPDwyKT4+Ml08PDQp
fDA7dT1vKyhmW3ErKGI8PDIpPj4yXTw8NCl8MDtmW2o+PjJdPWZbcz4+Ml07ZltqKzQ+PjJdPWZb
cys0Pj4yXTtmW2orOD4+Ml09ZltzKzg+PjJdO2ZbaisxMj4+Ml09ZltzKzEyPj4yXTtmW2c+PjJd
PWZbbT4+Ml07ZltnKzQ+PjJdPWZbbSs0Pj4yXTtmW2crOD4+Ml09ZlttKzg+PjJdO2ZbZysxMj4+
Ml09ZlttKzEyPj4yXTtmW2g+PjJdPWZbdT4+Ml07ZltoKzQ+PjJdPWZbdSs0Pj4yXTtmW2grOD4+
Ml09Zlt1Kzg+PjJdO2ZbaCsxMj4+Ml09Zlt1KzEyPj4yXTtmW2k+PjJdPWZbYz4+Ml07ZltpKzQ+
PjJdPWZbYys0Pj4yXTtmW2krOD4+Ml09ZltjKzg+PjJdO2ZbaSsxMj4+Ml09ZltjKzEyPj4yXTtp
ZigoSVYoaixnLGgsaSl8MCkhPTA/KGZbaD4+Ml09ZltjPj4yXSxmW2grND4+Ml09ZltjKzQ+PjJd
LGZbaCs4Pj4yXT1mW2MrOD4+Ml0sZltoKzEyPj4yXT1mW2MrMTI+PjJdLGZbaT4+Ml09ZlttPj4y
XSxmW2krND4+Ml09ZlttKzQ+PjJdLGZbaSs4Pj4yXT1mW20rOD4+Ml0sZltpKzEyPj4yXT1mW20r
MTI+PjJdLChIVihoLGksYSxlLG4sbyxxKXwwKSE9MCk6MCl7ZltoPj4yXT1mW2M+PjJdO2ZbaCs0
Pj4yXT1mW2MrND4+Ml07ZltoKzg+PjJdPWZbYys4Pj4yXTtmW2grMTI+PjJdPWZbYysxMj4+Ml07
ZltpPj4yXT1mW20+PjJdO2ZbaSs0Pj4yXT1mW20rND4+Ml07ZltpKzg+PjJdPWZbbSs4Pj4yXTtm
W2krMTI+PjJdPWZbbSsxMj4+Ml07ZD0rRlYoaCxpKX1lbHNlIGQ9MC4wO3BbbCsoYjw8Myk+PjNd
PWQ7Yj1iKzF8MH1wW2wrKG48PDMpPj4zXT0wLjA7cFtsKyhuKzE8PDMpPj4zXT0wLjA7dD1yO3Jl
dHVybiBsfDB9ZnVuY3Rpb24gS1YoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0w
LGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MDtsPXQ7dD10KzMyfDA7ZT1sKzh8MDtkPWw7aD1s
KzI0fDA7aT1hKzh8MDtqPWErMTJ8MDtrPWgrNHwwO2M9MDt3aGlsZSgxKXtpZigoY3wwKT49KGZb
YT4+Ml18MCkpe2M9LTExMTE7YnJlYWt9bj1mW2o+PjJdfDA7bT1mW24rKGM8PDIpPj4yXXwwO2Zb
aD4+Ml09KGZbaT4+Ml18MCkrKG08PDQpO2c9YysxfDA7ZltrPj4yXT0oZltuKyhnPDwyKT4+Ml18
MCktbTtmW2Q+PjJdPWZbaD4+Ml07ZltkKzQ+PjJdPWZbaCs0Pj4yXTtmW2U+PjJdPWZbYj4+Ml07
ZltlKzQ+PjJdPWZbYis0Pj4yXTtmW2UrOD4+Ml09ZltiKzg+PjJdO2ZbZSsxMj4+Ml09ZltiKzEy
Pj4yXTtpZighKEZVKGQsZSl8MCkpYz1nO2Vsc2UgYnJlYWt9dD1sO3JldHVybiBjfDB9ZnVuY3Rp
b24gTFYoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9
MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wO3M9dDt0PXQrNjR8
MDttPXMrNDh8MDtsPXMrMzJ8MDtvPXMrMTZ8MDtuPXM7cT1mW2UrND4+Ml18MDtyPWZbZSs4Pj4y
XXwwO3A9ZltlKzE2Pj4yXXwwO2c9KGR8MCk8MDtkbyBpZigoYnwwKTwwKWlmKGcpe2c9MDtpPTA7
ZT0wO2g9MH1lbHNle2I9ZltlKzEyPj4yXXwwO2U9MDtoPTA7aT1kO2o9YjtiPWIrKGQ8PDIpfDA7
az05fWVsc2V7aWYoZyl7az1mW2UrMTI+PjJdfDA7ZT0wO2g9MDtpPWI7aj1rO2I9aysoYjw8Mil8
MDtrPTk7YnJlYWt9Zz1mW2UrMTI+PjJdfDA7aWYoKGJ8MCk+KGR8MCkpe2U9ZltnKyhkKzE8PDIp
Pj4yXXwwO2g9ZltnKyhkPDwyKT4+Ml18MDtpPWI7aj1nO2I9ZysoYjw8Mil8MDtrPTk7YnJlYWt9
ZWxzZXtlPWZbZysoYisxPDwyKT4+Ml18MDtoPWZbZysoYjw8Mik+PjJdfDA7aT1kO2o9ZztiPWcr
KGQ8PDIpfDA7az05O2JyZWFrfX13aGlsZSgwKTtpZigoa3wwKT09OSl7Zz1mW2orKGkrMTw8Mik+
PjJdfDA7aT1mW2I+PjJdfDB9Yj0wO3doaWxlKDEpe2lmKChifDApPj0oaHwwKSl7az0xMjticmVh
a31qPXIrKGI8PDQpfDA7ZD1yKyhmW3ArKGI8PDIpPj4yXTw8NCl8MDtmW24+PjJdPWZbYT4+Ml07
ZltuKzQ+PjJdPWZbYSs0Pj4yXTtmW24rOD4+Ml09ZlthKzg+PjJdO2ZbbisxMj4+Ml09ZlthKzEy
Pj4yXTtmW28+PjJdPWZbYz4+Ml07ZltvKzQ+PjJdPWZbYys0Pj4yXTtmW28rOD4+Ml09ZltjKzg+
PjJdO2ZbbysxMj4+Ml09ZltjKzEyPj4yXTtmW2w+PjJdPWZbaj4+Ml07ZltsKzQ+PjJdPWZbais0
Pj4yXTtmW2wrOD4+Ml09ZltqKzg+PjJdO2ZbbCsxMj4+Ml09ZltqKzEyPj4yXTtmW20+PjJdPWZb
ZD4+Ml07ZlttKzQ+PjJdPWZbZCs0Pj4yXTtmW20rOD4+Ml09ZltkKzg+PjJdO2ZbbSsxMj4+Ml09
ZltkKzEyPj4yXTtpZighKEFWKG4sbyxsLG0pfDApKWI9YisxfDA7ZWxzZXtnPTA7YnJlYWt9fWE6
ZG8gaWYoKGt8MCk9PTEyKXt3aGlsZSgxKXtpZigoZXwwKT49KGl8MCkpYnJlYWs7ZD1yKyhlPDw0
KXwwO2s9cisoZltwKyhlPDwyKT4+Ml08PDQpfDA7ZltuPj4yXT1mW2E+PjJdO2Zbbis0Pj4yXT1m
W2ErND4+Ml07ZltuKzg+PjJdPWZbYSs4Pj4yXTtmW24rMTI+PjJdPWZbYSsxMj4+Ml07ZltvPj4y
XT1mW2M+PjJdO2Zbbys0Pj4yXT1mW2MrND4+Ml07ZltvKzg+PjJdPWZbYys4Pj4yXTtmW28rMTI+
PjJdPWZbYysxMj4+Ml07ZltsPj4yXT1mW2Q+PjJdO2ZbbCs0Pj4yXT1mW2QrND4+Ml07ZltsKzg+
PjJdPWZbZCs4Pj4yXTtmW2wrMTI+PjJdPWZbZCsxMj4+Ml07ZlttPj4yXT1mW2s+PjJdO2ZbbSs0
Pj4yXT1mW2srND4+Ml07ZlttKzg+PjJdPWZbays4Pj4yXTtmW20rMTI+PjJdPWZbaysxMj4+Ml07
aWYoIShBVihuLG8sbCxtKXwwKSllPWUrMXwwO2Vsc2V7Zz0wO2JyZWFrIGF9fXdoaWxlKDEpe2lm
KChnfDApPj0ocXwwKSl7Zz0xO2JyZWFrIGF9ZD1yKyhnPDw0KXwwO2s9cisoZltwKyhnPDwyKT4+
Ml08PDQpfDA7ZltuPj4yXT1mW2E+PjJdO2Zbbis0Pj4yXT1mW2ErND4+Ml07ZltuKzg+PjJdPWZb
YSs4Pj4yXTtmW24rMTI+PjJdPWZbYSsxMj4+Ml07ZltvPj4yXT1mW2M+PjJdO2Zbbys0Pj4yXT1m
W2MrND4+Ml07ZltvKzg+PjJdPWZbYys4Pj4yXTtmW28rMTI+PjJdPWZbYysxMj4+Ml07ZltsPj4y
XT1mW2Q+PjJdO2ZbbCs0Pj4yXT1mW2QrND4+Ml07ZltsKzg+PjJdPWZbZCs4Pj4yXTtmW2wrMTI+
PjJdPWZbZCsxMj4+Ml07ZlttPj4yXT1mW2s+PjJdO2ZbbSs0Pj4yXT1mW2srND4+Ml07ZlttKzg+
PjJdPWZbays4Pj4yXTtmW20rMTI+PjJdPWZbaysxMj4+Ml07aWYoIShBVihuLG8sbCxtKXwwKSln
PWcrMXwwO2Vsc2V7Zz0wO2JyZWFrfX19d2hpbGUoMCk7dD1zO3JldHVybiBnfDB9ZnVuY3Rpb24g
TVYoYSl7YT1hfDA7cmV0dXJuIE5WKGEsMCwwKXwwfWZ1bmN0aW9uIE5WKGEsYixjKXthPWF8MDti
PWJ8MDtjPWN8MDtyZXR1cm4gT1YoYSxiLGMsMCl8MH1mdW5jdGlvbiBPVihhLGMsZCxlKXthPWF8
MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTAsaj0wO2lmKCFjKXtnPUxfKDQ5Nil8
MDtpZighZylnPTA7ZWxzZXtqPWcrMTJ8MDtmW2o+PjJdPTM1O2ZbZysxNj4+Ml09MTA1O2ZbZysy
MD4+Ml09MTAzO2g9ajtjPTM1O2k9Nn19ZWxzZXtnPXRiW2ZbYz4+Ml0mNjNdKDQ5Nil8MDtpZigh
ZylnPTA7ZWxzZXtqPWcrMTJ8MDtpPWZbYz4+Ml18MDtmW2o+PjJdPWk7ZltnKzE2Pj4yXT1mW2Mr
ND4+Ml07ZltnKzIwPj4yXT1mW2MrOD4+Ml07aD1qO2M9aTtpPTZ9fWRvIGlmKChpfDApPT02KXtm
W2crOD4+Ml09MDtmW2crMzI+PjJdPTA7ZltnKzM3Nj4+Ml09MTY7Yz10YltjJjYzXSgyNTYpfDA7
aT1nKzM4OHwwO2ZbaT4+Ml09YztpZighYyl7Q2JbZltnKzIwPj4yXSYxMjddKGcpO2c9MDticmVh
a31jPXRiW2ZbaD4+Ml0mNjNdKDEwMjQpfDA7aD1nKzQ0fDA7ZltoPj4yXT1jO2lmKCFjKXtkPWcr
MjB8MDtDYltmW2Q+PjJdJjEyN10oZltpPj4yXXwwKTtDYltmW2Q+PjJdJjEyN10oZyk7Zz0wO2Jy
ZWFrfWZbZys0OD4+Ml09YysxMDI0O2lmKCFlKXtlPVBWKGopfDA7ZltnKzM1Mj4+Ml09ZTtpZigh
ZSl7ZD1nKzIwfDA7Q2JbZltkPj4yXSYxMjddKGZbaD4+Ml18MCk7Q2JbZltkPj4yXSYxMjddKGZb
aT4+Ml18MCk7Q2JbZltkPj4yXSYxMjddKGcpO2c9MDticmVha319ZWxzZSBmW2crMzUyPj4yXT1l
O2ZbZyszNzI+PjJdPTA7ZltnKzM2ND4+Ml09MDtmW2crMzAwPj4yXT0wO2ZbZys0NjQ+PjJdPTA7
ZltnKzQ2MD4+Ml09MDtmW2crMTI0Pj4yXT0wO2ZbZysyNDQ+PjJdPTA7Yz1nKzQ2OHwwO2JbYz4+
MF09MzM7aD1nKzIzMnwwO2JbaD4+MF09MDtiW2crMjMzPj4wXT0wO2ZbZyszOTI+PjJdPTA7Zltn
KzM5Nj4+Ml09MDtiW2crNDAwPj4wXT0wO2U9ZysyMjh8MDtmW2U+PjJdPTA7UVYoZys0MTJ8MCxq
KTtRVihnKzQzNnwwLGopO1JWKGcsYSk7aWYoYXwwPyhmW2U+PjJdfDApPT0wOjApe1NWKGcpO2c9
MDticmVha31pZighZCl7ZD1hWSgpfDA7ZltnKzIyND4+Ml09ZDticmVha31lbHNle2JbaD4+MF09
MTthPUhaKCl8MDtmW2crMjI0Pj4yXT1hO2JbYz4+MF09YltkPj4wXXwwO2JyZWFrfX13aGlsZSgw
KTtyZXR1cm4gZ3wwfWZ1bmN0aW9uIFBWKGEpe2E9YXwwO3ZhciBjPTA7Yz10YltmW2E+PjJdJjYz
XSgxODgpfDA7aWYoY3wwKXtRVihjKzgwfDAsYSk7UVYoYysxMDR8MCxhKTtaVyhjLGEpO1pXKGMr
MjB8MCxhKTtaVyhjKzQwfDAsYSk7WlcoYys2MHwwLGEpO2JbYysxMzE+PjBdPTA7WlcoYysxMzJ8
MCxhKTtmW2MrMTUyPj4yXT0wO2ZbYysxNTY+PjJdPTA7YltjKzE2MD4+MF09MDthPWMrMTY0fDA7
ZlthPj4yXT0wO2ZbYSs0Pj4yXT0wO2ZbYSs4Pj4yXT0wO2ZbYSsxMj4+Ml09MDtmW2ErMTY+PjJd
PTA7ZlthKzIwPj4yXT0wO2JbYysxMjg+PjBdPTE7YltjKzEyOT4+MF09MDtiW2MrMTMwPj4wXT0w
fXJldHVybiBjfDB9ZnVuY3Rpb24gUVYoYSxiKXthPWF8MDtiPWJ8MDtmW2E+PjJdPTA7ZlthKzQ+
PjJdPTA7ZlthKzg+PjJdPTA7ZlthKzEyPj4yXT0wO2ZbYSsxNj4+Ml09MDtmW2ErMjA+PjJdPWI7
cmV0dXJufWZ1bmN0aW9uIFJWKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGU9MCxnPTAsaD0wO2ZbYSsy
NzY+PjJdPTU2O05aKGErMjUyfDApO2lmKGN8MCl7aD1fVihjLGErMTJ8MCl8MDtmW2ErMjI4Pj4y
XT1ofWZbYSszNTY+PjJdPTA7UVkoYSsxNDh8MCxhKzE0NHwwLDApfDA7ZlthPj4yXT0wO2ZbYSs0
Pj4yXT0wO2M9YSsxMTZ8MDtnPWErNTJ8MDtoPWcrNjR8MDtkb3tmW2c+PjJdPTA7Zz1nKzR8MH13
aGlsZSgoZ3wwKTwoaHwwKSk7ZltjPj4yXT1hO2ZbYSsxMjA+PjJdPTA7Yz1hKzEyOHwwO2ZbYz4+
Ml09MDtmW2MrND4+Ml09MDtmW2MrOD4+Ml09MDtmW2MrMTI+PjJdPTA7Yz1mW2ErOD4+Ml18MDtm
W2ErMjQ+PjJdPWM7ZlthKzI4Pj4yXT1jO2ZbYSszNj4+Ml09MDtmW2ErNDA+PjJdPTA7Yz1hKzMx
MnwwO2c9YSs0MDR8MDtmW2c+PjJdPTA7ZltnKzQ+PjJdPTA7Zz1hKzI4MHwwO2U9YSszMDR8MDtm
W2c+PjJdPTA7ZltnKzQ+PjJdPTA7ZltnKzg+PjJdPTA7ZltnKzEyPj4yXT0wO2ZbZysxNj4+Ml09
MDtnPWM7aD1nKzM2fDA7ZG97ZltnPj4yXT0wO2c9Zys0fDB9d2hpbGUoKGd8MCk8KGh8MCkpO2Rb
YyszNj4+MV09MDtiW2U+PjBdPTE7ZlthKzMwOD4+Ml09MDtmW2ErMzYwPj4yXT0wO2ZbYSszNjg+
PjJdPTA7ZlthKzM4MD4+Ml09MDtmW2ErMjM2Pj4yXT0wO2ZbYSsyNDg+PjJdPTA7ZlthKzI0MD4+
Ml09MDtmW2ErNDcyPj4yXT0wO2ZbYSs0NzY+PjJdPTA7YlthKzQ4ND4+MF09MDtiW2ErNDg1Pj4w
XT0wO2ZbYSs0ODg+PjJdPTA7ZlthKzQ5Mj4+Ml09MDtyZXR1cm59ZnVuY3Rpb24gU1YoYSl7YT1h
fDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTA7aWYoYXwwKXtkPWErMzY0fDA7Zz1hKzIwfDA7Yz1m
W2ErMzYwPj4yXXwwO3doaWxlKDEpe2lmKCFjKXtjPWZbZD4+Ml18MDtpZighYylicmVhaztmW2Q+
PjJdPTB9aD1mW2M+PjJdfDA7Q2JbZltnPj4yXSYxMjddKGZbYyszNj4+Ml18MCk7VFYoZltjKzQ0
Pj4yXXwwLGEpO0NiW2ZbZz4+Ml0mMTI3XShjKTtjPWh9ZD1hKzMwMHwwO2M9ZlthKzI5Nj4+Ml18
MDt3aGlsZSgxKXtpZighYyl7Yz1mW2Q+PjJdfDA7aWYoIWMpYnJlYWs7ZltkPj4yXT0wfWg9Zltj
Kzg+PjJdfDA7Q2JbZltnPj4yXSYxMjddKGMpO2M9aH1UVihmW2ErMzcyPj4yXXwwLGEpO1RWKGZb
YSszNjg+PjJdfDAsYSk7VVYoYSs0MTJ8MCk7VVYoYSs0MzZ8MCk7Yz1hKzEyfDA7Q2JbZltnPj4y
XSYxMjddKGZbYSsyMjg+PjJdfDApO2lmKChiW2ErNDg0Pj4wXXwwKT09MD8oZT1mW2ErMzUyPj4y
XXwwLGV8MCk6MClWVihlLChmW2ErNDcyPj4yXXwwKT09MCYxLGMpO0NiW2ZbZz4+Ml0mMTI3XShm
W2ErMzg4Pj4yXXwwKTtDYltmW2c+PjJdJjEyN10oZlthKzQ2MD4+Ml18MCk7Q2JbZltnPj4yXSYx
MjddKGZbYSs4Pj4yXXwwKTtDYltmW2c+PjJdJjEyN10oZlthKzQ0Pj4yXXwwKTtDYltmW2c+PjJd
JjEyN10oZlthKzM5Mj4+Ml18MCk7Q2JbZltnPj4yXSYxMjddKGZbYSsyMzY+PjJdfDApO2M9Zlth
KzI0OD4+Ml18MDtpZihjfDApQ2JbYyYxMjddKGZbYSsyNDA+PjJdfDApO0NiW2ZbZz4+Ml0mMTI3
XShhKX1yZXR1cm59ZnVuY3Rpb24gVFYoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wO2I9YisyMHww
O3doaWxlKDEpe2lmKCFhKWJyZWFrO2M9ZlthKzQ+PjJdfDA7Q2JbZltiPj4yXSYxMjddKGZbYSsx
Nj4+Ml18MCk7Q2JbZltiPj4yXSYxMjddKGEpO2E9Y31yZXR1cm59ZnVuY3Rpb24gVVYoYSl7YT1h
fDA7dmFyIGI9MCxjPTAsZD0wO2M9YSsyMHwwO2I9ZlthPj4yXXwwO3doaWxlKDEpe2lmKCFiKWJy
ZWFrO2Q9ZltiPj4yXXwwO0NiW2ZbKGZbYz4+Ml18MCkrOD4+Ml0mMTI3XShiKTtiPWR9Yj1mW2Er
ND4+Ml18MDt3aGlsZSgxKXtpZighYilicmVhaztkPWZbYj4+Ml18MDtDYltmWyhmW2M+PjJdfDAp
Kzg+PjJdJjEyN10oYik7Yj1kfXJldHVybn1mdW5jdGlvbiBWVihhLGIsYyl7YT1hfDA7Yj1ifDA7
Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MDtoPXQ7dD10KzE2fDA7ZT1oO2c9YSsyMHwwO1dWKGUs
Zyk7Yz1jKzh8MDt3aGlsZSgxKXtkPVhWKGUpfDA7aWYoIWQpYnJlYWs7aWYoZltkKzE2Pj4yXXww
KUNiW2ZbYz4+Ml0mMTI3XShmW2QrMjA+PjJdfDApfVlWKGEpO1lWKGErMTMyfDApO1lWKGcpO1lW
KGErNDB8MCk7WVYoYSs2MHwwKTtVVihhKzgwfDApO1VWKGErMTA0fDApO2lmKGI8PDI0Pj4yNCl7
Q2JbZltjPj4yXSYxMjddKGZbYSsxODQ+PjJdfDApO0NiW2ZbYz4+Ml0mMTI3XShmW2ErMTY0Pj4y
XXwwKX1DYltmW2M+PjJdJjEyN10oYSk7dD1oO3JldHVybn1mdW5jdGlvbiBXVihhLGIpe2E9YXww
O2I9YnwwO3ZhciBjPTA7Yz1mW2I+PjJdfDA7ZlthPj4yXT1jO2ZbYSs0Pj4yXT1jKyhmW2IrOD4+
Ml08PDIpO3JldHVybn1mdW5jdGlvbiBYVihhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTA7Yz1mW2Er
ND4+Ml18MDtkPWZbYT4+Ml18MDtkb3tpZigoZHwwKT09KGN8MCkpe2I9MDticmVha31iPWQ7ZD1k
KzR8MDtmW2E+PjJdPWQ7Yj1mW2I+PjJdfDB9d2hpbGUoIShifDApKTtyZXR1cm4gYnwwfWZ1bmN0
aW9uIFlWKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wO2M9YSs4fDA7ZD1hKzE2fDA7
Yj0wO3doaWxlKDEpe2U9ZlsoZltkPj4yXXwwKSs4Pj4yXXwwO2c9ZlthPj4yXXwwO2lmKGI+Pj4w
Pj0oZltjPj4yXXwwKT4+PjApYnJlYWs7Q2JbZSYxMjddKGZbZysoYjw8Mik+PjJdfDApO2I9Yisx
fDB9Q2JbZSYxMjddKGcpO3JldHVybn1mdW5jdGlvbiBaVihhLGIsYyxkKXthPWF8MDtiPWJ8MDtj
PWN8MDtkPWR8MDt2YXIgZT0wO2U9JFYoYSl8MDtpZighZSl7ZlthKzI3Nj4+Ml09NTc7ZT1hVyhh
LGIsYyxkKXwwfXJldHVybiBlfDB9ZnVuY3Rpb24gX1YoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0w
LGU9MDtkPTA7ZG97ZT1kO2Q9ZCsxfDB9d2hpbGUoKGJbYStlPj4wXXwwKSE9MCk7Yz10YltmW2M+
PjJdJjYzXShkKXwwO2lmKCFjKWM9MDtlbHNlIFEzKGN8MCxhfDAsZHwwKXwwO3JldHVybiBjfDB9
ZnVuY3Rpb24gJFYoYSl7YT1hfDA7dmFyIGM9MDtjPWErMjI4fDA7aWYoISh3YlsoYlthKzIzMj4+
MF08PDI0Pj4yND09MD8zNTozNCkmNjNdKGErMTQ4fDAsYSsxNDR8MCxmW2M+PjJdfDApfDApKWE9
WVcoYSxmW2M+PjJdfDApfDA7ZWxzZSBhPTA7cmV0dXJuIGF8MH1mdW5jdGlvbiBhVyhhLGMsZCxl
KXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTAsaj0wO2c9dDt0PXQrMTZ8
MDtoPWc7ZltoPj4yXT1jO2o9YSsxNDR8MDtpPWZbaj4+Ml18MDtpPXhiW2ZbaT4+Ml0mMTI3XShp
LGMsZCxoKXwwO2U9YlcoYSxmW2o+PjJdfDAsYyxkLGksZltoPj4yXXwwLGUsKGJbYSs0ODA+PjBd
fDApPT0wJjEpfDA7dD1nO3JldHVybiBlfDB9CitmdW5jdGlvbiBLYihhKXthPWF8MDt2YXIgYj0w
O2I9dDt0PXQrYXwwO3Q9dCsxNSYtMTY7cmV0dXJuIGJ8MH1mdW5jdGlvbiBMYigpe3JldHVybiB0
fDB9ZnVuY3Rpb24gTWIoYSl7YT1hfDA7dD1hfWZ1bmN0aW9uIE5iKGEsYil7YT1hfDA7Yj1ifDA7
dD1hO3U9Yn1mdW5jdGlvbiBPYihhLGIpe2E9YXwwO2I9YnwwO2lmKCF2KXt2PWE7dz1ifX1mdW5j
dGlvbiBQYihhKXthPWF8MDtHPWF9ZnVuY3Rpb24gUWIoKXtyZXR1cm4gR3wwfWZ1bmN0aW9uIFJi
KGEpe2E9YXwwO2ZbNDgxMTBdPWE7cmV0dXJuIDB9ZnVuY3Rpb24gU2IoKXtyZXR1cm4gZls0ODEx
MF18MH1mdW5jdGlvbiBUYihhLGIpe2E9YXwwO2I9YnwwO1ZhKDAsYXwwLGJ8MCl8MDtyZXR1cm59
ZnVuY3Rpb24gVWIoYSl7YT1hfDA7Zls0ODMzMV09YTtyZXR1cm59ZnVuY3Rpb24gVmIoYSl7YT1h
fDA7aWYoYXwwKWZbNDgzMjVdPWE7cmV0dXJufWZ1bmN0aW9uIFdiKGEsYixjKXthPWF8MDtiPWJ8
MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MDtpPXQ7dD10KzE2fDA7ZT1pKzR8MDtnPWk7
ZltlPj4yXT0wO2g9Z0QoKXwwO2xEKGgsNzAxMTIpO2xEKGgsNzE2NDgpO2xEKGgsNzE3MjgpO1h3
KDEpfDA7V3coMTgpfDA7YUEoMSk7d2hpbGUoMSl7YT1QeShhKXwwO2Q9ZltlPj4yXXwwO2lmKCFh
KWJyZWFrO2lmKCFkKXtoRChoLGEsYyl8MDtrRChoLGEsYixlLGcpfDA7ZEMoaCxhKXwwfWl5KGEp
fDA7YT0xOTQ4NzB9dD1pO3JldHVybiBkfDB9ZnVuY3Rpb24gWGIoYSl7YT1hfDA7dmFyIGI9MCxj
PTAsZT0wLGc9MDtnPXQ7dD10KzE2fDA7Yj1nKzR8MDtjPWc7ZT1mWyhmW2ErMTY+PjJdfDApKzg+
PjJdfDA7YT1hKzY0fDA7c3dpdGNoKGZbYT4+Ml18MCl7Y2FzZSAwOntESShlKTticmVha31jYXNl
IDE6e2lmKGRbKGZbZSsxNj4+Ml18MCkrMTM2Pj4xXSYxKU9NKGUpO2JyZWFrfWNhc2UgNDpjYXNl
IDU6Y2FzZSA2OntBSShlLGMsYik7X2IoZSxmW2M+PjJdfDAsZltiPj4yXXwwLGZbYT4+Ml18MCk7
YnJlYWt9ZGVmYXVsdDp7fX10PWc7cmV0dXJufWZ1bmN0aW9uIFliKGEpe2E9YXwwO3ZhciBiPTAs
Yz0wLGQ9MCxlPTA7Yz1mWyhmW2ErMTY+PjJdfDApKzg+PjJdfDA7aWYoIShmWzQ4MTExXXwwKSl7
Zls0ODExMV09ZlsxODA5OF07Zls0ODExMl09NTc7Zls0ODExM109MTl9ZD1jKzY0fDA7ZT0oZltk
Pj4yXXwwKSs4fDA7Yj1mW2U+PjJdfDA7ZltlPj4yXT0xOTI0NDQ7c3dpdGNoKGZbYSs2ND4+Ml18
MCl7Y2FzZSAyOntxSShhLGMsYSwwKTticmVha31jYXNlIDM6e3FJKGEsYyxhLDEpO2JyZWFrfWNh
c2UgMTpjYXNlIDA6e2lmKCEoZlthKzE1Mj4+Ml0mMTM0MjE3NzI4KSlXQShjLGEpfDA7YnJlYWt9
Y2FzZSA2OmNhc2UgNTpjYXNlIDQ6e1piKGMpO2lmKCEoZlthKzE1Mj4+Ml0mMTM0MjE3NzI4KSlX
QShjLGEpfDA7YnJlYWt9ZGVmYXVsdDp7fX1mWyhmW2Q+PjJdfDApKzg+PjJdPWI7cmV0dXJufWZ1
bmN0aW9uIFpiKGEpe2E9YXwwO3ZhciBjPTAsZD0wO2M9ZlszNzgyMV18MDtpZigoY3wwKSE9KGZb
Mzc4MjBdfDApKXtkPWZbZls0ODExNF0+PjJdfDA7aWYoIWQpe2Q9VU0oYSwwLDEwODEzNCwxOTQ4
NzApfDA7ZltmWzQ4MTE0XT4+Ml09ZDtjPWZbMzc4MjFdfDB9aWYoYz4+PjA+PShmWzM3ODIyXXww
KT4+PjApe2J4KDE1MTI4MCwxKXwwO2M9ZlszNzgyMV18MH1iW2M+PjBdPTA7Yz1mWzM3ODIwXXww
O2ZbMzc4MjFdPWM7QXgoYSxkLGMpfDB9aWYoZlsoZlthKzE2Pj4yXXwwKSsxMj4+Ml18MCl7ZD1m
WyhmWzQ4MTE0XXwwKSs0Pj4yXXwwO2M9ZlszNzgzN118MDtpZihjPj4+MD49KGZbMzc4MzhdfDAp
Pj4+MCl7YngoMTUxMzQ0LDEpfDA7Yz1mWzM3ODM3XXwwfWJbYz4+MF09MDtjPWZbMzc4MzZdfDA7
ZlszNzgzN109YztBeChhLGQsYyl8MH1KeChhLDc4NzkzLGZbKGZbNDgxMTRdfDApKzgyMzY+PjJd
fDAsMTk0ODcwKXwwO2M9MDt3aGlsZSgxKXtpZigoY3wwKT09OClicmVhaztleCgxNTEyODArKGM8
PDQpfDApO2M9YysxfDB9TV8oZls0ODExNF18MCk7cFsyNl09MS4wO3BbMzBdPTEuMDtmWzM3ODUy
XT0wO2ZbMzc4NTZdPTA7cmV0dXJufWZ1bmN0aW9uIF9iKGEsYyxlLGcpe2E9YXwwO2M9Y3wwO2U9
ZXwwO2c9Z3wwO3ZhciBoPTAsaT0wO2g9TF8oODI0MCl8MDtmWzQ4MTE0XT1oO2E6ZG8gc3dpdGNo
KGd8MCl7Y2FzZSA2OntkW2grODIzMj4+MV09MTQ7ZltoKzgyMzY+PjJdPTc4ODA1O2JyZWFrfWNh
c2UgNTp7ZFtoKzgyMzI+PjFdPTEyO2ZbaCs4MjM2Pj4yXT03ODgwOTticmVha31kZWZhdWx0Onto
PUd4KGEsNzg3OTMpfDA7aWYoKGh8MD9iW2g+PjBdfDA6MCk/KGk9JGIoaCl8MCwoaSY2NTUzNSk+
MTApOjApe2c9Zls0ODExNF18MDtkW2crODIzMj4+MV09aTtmW2crODIzNj4+Ml09aDtoPWc7YnJl
YWsgYX1pPSRiKDc4ODEzKXwwO2g9Zls0ODExNF18MDtkW2grODIzMj4+MV09aTtmW2grODIzNj4+
Ml09Nzg4MTN9fXdoaWxlKDApO2k9YSsxNnwwO2c9ZltpPj4yXXwwO2lmKCEoZltnKzE4MD4+Ml18
MCkpZltoPj4yXT0wO2Vsc2V7Zz1VTShhLDAsMTA4MTM0LDE5NDg3MCl8MDtoPWZbNDgxMTRdfDA7
ZltoPj4yXT1nO2c9ZltpPj4yXXwwfWlmKCEoYltnKzExMz4+MF0mOCkpZz0wO2Vsc2V7Zz1VTShh
LDAsNzg4MTcsMTk0ODcwKXwwO2g9Zls0ODExNF18MH1mW2grND4+Ml09ZztnPVVNKGEsMSwxMDgx
MzQsMTk0ODcwKXwwO2ZbKGZbNDgxMTRdfDApKzg+PjJdPWc7Zz1VTShhLDEsNzg4MTcsMTk0ODcw
KXwwO2ZbKGZbNDgxMTRdfDApKzEyPj4yXT1nO2c9VU0oYSwyLDEwODEzNCwxOTQ4NzApfDA7aD1m
WzQ4MTE0XXwwO2ZbaCsxNj4+Ml09ZztpZighZSlnPTA7ZWxzZXtnPVVNKGEsMiw3ODgyNSwxOTQ4
NzApfDA7aD1mWzQ4MTE0XXwwfWZbaCsyMD4+Ml09ZztpZighYylnPTA7ZWxzZXtnPVVNKGEsMiw3
ODgzMywxOTQ4NzApfDA7aD1mWzQ4MTE0XXwwfWZbaCsyND4+Ml09ZztnPWJbKGZbaT4+Ml18MCkr
MTEzPj4wXXwwO2lmKCEoZyYzMykpZltoKzI4Pj4yXT0wO2Vsc2V7Zz1VTShhLDIsNzg4MTcsMTk0
ODcwKXwwO2g9Zls0ODExNF18MDtmW2grMjg+PjJdPWc7Zz1iWyhmW2k+PjJdfDApKzExMz4+MF18
MH1pZighKGcmMikpZltoKzMyPj4yXT0wO2Vsc2V7Zz1VTShhLDIsNzg4NDEsMTk0ODcwKXwwO2g9
Zls0ODExNF18MDtmW2grMzI+PjJdPWc7Zz1iWyhmW2k+PjJdfDApKzExMz4+MF18MH1pZighKGcm
NCkpZz0wO2Vsc2V7Zz1VTShhLDIsNzg4NTAsMTk0ODcwKXwwO2g9Zls0ODExNF18MH1mW2grMzY+
PjJdPWc7aD0wO3doaWxlKDEpe2lmKChofDApPT04KWJyZWFrO2F4KDE1MTI4MCsoaDw8NCl8MCwx
MDI0LChmWzQ4MTE0XXwwKSs0MCsoaDw8MTApfDApO2g9aCsxfDB9cmV0dXJufWZ1bmN0aW9uICRi
KGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTA7aj10O3Q9dCsxMDQwfDA7
aD1qKzEwMjR8MDtnPWo7ZT0wO2M9YTthOndoaWxlKDEpe2Rve2Q9YztjPWMrMXwwO2Q9YltkPj4w
XXwwO2lmKCEoZDw8MjQ+PjI0KSlicmVhayBhfXdoaWxlKCgoZDw8MjQ+PjI0KSstNDh8MCk+Pj4w
Pj0xMCk7aWYoZT4+PjA+PTEwMjMpe2k9NzticmVha31iW2crZT4+MF09ZDtlPWUrMXwwfWlmKChp
fDApPT03KXtmW2g+PjJdPWE7WXcoMCw3ODg1OSxoKXwwfWJbZytlPj4wXT0wO2k9KEQyKGcpfDAp
JjY1NTM1O3Q9ajtyZXR1cm4gaXwwfWZ1bmN0aW9uIGFjKGEpe2E9YXwwO3ZhciBjPTAsZD0wO2Q9
ZlsoZlthKzE2Pj4yXXwwKSs4Pj4yXXwwO2M9ZltmWzQ4MTE0XT4+Ml18MDthPWZbMzc4MjVdfDA7
aWYoYT4+PjA+PShmWzM3ODI2XXwwKT4+PjApe2J4KDE1MTI5NiwxKXwwO2E9ZlszNzgyNV18MH1i
W2E+PjBdPTA7YT1mWzM3ODI0XXwwO2ZbMzc4MjVdPWE7QXgoZCxjLGEpfDA7aWYoZlsoZltkKzE2
Pj4yXXwwKSsxMj4+Ml18MCl7Yz1mWyhmWzQ4MTE0XXwwKSs0Pj4yXXwwO2E9ZlszNzg0MV18MDtp
ZihhPj4+MD49KGZbMzc4NDJdfDApPj4+MCl7YngoMTUxMzYwLDEpfDA7YT1mWzM3ODQxXXwwfWJb
YT4+MF09MDthPWZbMzc4NDBdfDA7ZlszNzg0MV09YTtBeChkLGMsYSl8MH1wWzI3XT0xLjA7cFsz
MV09MS4wO2ZbMzc4NTNdPTA7ZlszNzg1N109MDtyZXR1cm59ZnVuY3Rpb24gYmMoYSl7YT1hfDA7
dmFyIGM9MCxkPTA7ZD1mWyhmW2ErMTY+PjJdfDApKzg+PjJdfDA7YT1mWzM3ODI1XXwwO2lmKChm
WzM3ODI0XXwwKSE9KGF8MCkpe2M9ZlsoZls0ODExNF18MCkrOD4+Ml18MDtpZihhPj4+MD49KGZb
Mzc4MjZdfDApPj4+MCl7YngoMTUxMjk2LDEpfDA7YT1mWzM3ODI1XXwwfWJbYT4+MF09MDthPWZb
Mzc4MjRdfDA7ZlszNzgyNV09YTtBeChkLGMsYSl8MH1hPWZbMzc4NDFdfDA7aWYoKGZbMzc4NDBd
fDApIT0oYXwwKSl7Yz1mWyhmWzQ4MTE0XXwwKSsxMj4+Ml18MDtpZihhPj4+MD49KGZbMzc4NDJd
fDApPj4+MCl7YngoMTUxMzYwLDEpfDA7YT1mWzM3ODQxXXwwfWJbYT4+MF09MDthPWZbMzc4NDBd
fDA7ZlszNzg0MV09YTtBeChkLGMsYSl8MH1wWzM0XT0xLjA7cFszNl09MS4wO2ZbMzc4NjBdPTA7
ZlszNzg2Ml09MDtyZXR1cm59ZnVuY3Rpb24gY2MoYSl7YT1hfDA7dmFyIGM9MCxkPTA7ZD1mWyhm
W2ErMTY+PjJdfDApKzg+PjJdfDA7YT1mWzM3ODI1XXwwO2lmKChmWzM3ODI0XXwwKSE9KGF8MCkp
e2M9ZlsoZls0ODExNF18MCkrMTY+PjJdfDA7aWYoYT4+PjA+PShmWzM3ODI2XXwwKT4+PjApe2J4
KDE1MTI5NiwxKXwwO2E9ZlszNzgyNV18MH1iW2E+PjBdPTA7YT1mWzM3ODI0XXwwO2ZbMzc4MjVd
PWE7QXgoZCxjLGEpfDB9YT1mWzM3ODI5XXwwO2lmKChmWzM3ODI4XXwwKSE9KGF8MCkpe2M9Zlso
Zls0ODExNF18MCkrMjQ+PjJdfDA7aWYoYT4+PjA+PShmWzM3ODMwXXwwKT4+PjApe2J4KDE1MTMx
MiwxKXwwO2E9ZlszNzgyOV18MH1iW2E+PjBdPTA7YT1mWzM3ODI4XXwwO2ZbMzc4MjldPWE7QXgo
ZCxjLGEpfDB9YT1mWzM3ODMzXXwwO2lmKChmWzM3ODMyXXwwKSE9KGF8MCkpe2M9ZlsoZls0ODEx
NF18MCkrMjA+PjJdfDA7aWYoYT4+PjA+PShmWzM3ODM0XXwwKT4+PjApe2J4KDE1MTMyOCwxKXww
O2E9ZlszNzgzM118MH1iW2E+PjBdPTA7YT1mWzM3ODMyXXwwO2ZbMzc4MzNdPWE7QXgoZCxjLGEp
fDB9YT1mWzM3ODQxXXwwO2lmKChmWzM3ODQwXXwwKSE9KGF8MCkpe2M9ZlsoZls0ODExNF18MCkr
Mjg+PjJdfDA7aWYoYT4+PjA+PShmWzM3ODQyXXwwKT4+PjApe2J4KDE1MTM2MCwxKXwwO2E9Zlsz
Nzg0MV18MH1iW2E+PjBdPTA7YT1mWzM3ODQwXXwwO2ZbMzc4NDFdPWE7QXgoZCxjLGEpfDB9YT1m
WzM3ODQ1XXwwO2lmKChmWzM3ODQ0XXwwKSE9KGF8MCkpe2M9ZlsoZls0ODExNF18MCkrMzY+PjJd
fDA7aWYoYT4+PjA+PShmWzM3ODQ2XXwwKT4+PjApe2J4KDE1MTM3NiwxKXwwO2E9ZlszNzg0NV18
MH1iW2E+PjBdPTA7YT1mWzM3ODQ0XXwwO2ZbMzc4NDVdPWE7QXgoZCxjLGEpfDB9YT1mWzM3ODQ5
XXwwO2lmKChmWzM3ODQ4XXwwKSE9KGF8MCkpe2M9ZlsoZls0ODExNF18MCkrMzI+PjJdfDA7aWYo
YT4+PjA+PShmWzM3ODUwXXwwKT4+PjApe2J4KDE1MTM5MiwxKXwwO2E9ZlszNzg0OV18MH1iW2E+
PjBdPTA7YT1mWzM3ODQ4XXwwO2ZbMzc4NDldPWE7QXgoZCxjLGEpfDB9cFszNV09MS4wO3BbMzdd
PTEuMDtwWzI4XT0xLjA7cFsyOV09MS4wO3BbMzJdPTEuMDtwWzMzXT0xLjA7ZlszNzg2MV09MDtm
WzM3ODYzXT0wO2ZbMzc4NTRdPTA7ZlszNzg1NV09MDtmWzM3ODU4XT0wO2ZbMzc4NTldPTA7cmV0
dXJufWZ1bmN0aW9uIGRjKGEsYyxlKXthPWF8MDtjPWN8MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTAs
aj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MCxzPTA7cz10O3Q9dCsxMDU2fDA7aT1zKzEw
NDB8MDtyPXMrMTAzMnwwO3E9cysxMDI0fDA7aj1zO209ZlsoZlthKzE2Pj4yXXwwKSsxMj4+Ml18
MDtuPWZbMzA0KyhtPDwyKT4+Ml18MDtkeChuLDc4OTU2KXwwO2c9ZSs0fDA7bWMoaiwrcFsoZltn
Pj4yXXwwKSsxNj4+M10pO2R4KG4sail8MDtwYyhhLDE5NDg3MCxmW2ZbZz4+Ml0+PjJdfDApO2pj
KGEpO289YltlKzQ4Pj4wXXwwO289bzw8MjQ+PjI0PT0xMDg/LTE6bzw8MjQ+PjI0PT0xMTQmMTtn
PWZbZz4+Ml18MDtpZighZylnPTA7ZWxzZSBnPWZbZysyND4+Ml0mMTI3O2g9ZFsoZls0ODExNF18
MCkrODIzMj4+MV18MDtpZigoaCY2NTUzNSk+MTQ/KGs9Zls3MDM2MCsoKGgmNjU1MzUpKy0xNTw8
Mik+PjJdJmcsbD0xNTE0MDgrKG08PDIpfDAsKGZbbD4+Ml18MCkhPShrfDApKTowKXtmW3E+PjJd
PWs7ZCQoaiw3ODk1OSxxKXwwO2R4KG4sail8MDtmW2w+PjJdPWt9cT1jKzh8MDtwW3E+PjNdPStw
W3E+PjNdKyArcFtlKzI0Pj4zXTtkeChuLDc4OTY1KXwwO2ZbaT4+Ml09ZltjPj4yXTtmW2krND4+
Ml09ZltjKzQ+PjJdO2ZbaSs4Pj4yXT1mW2MrOD4+Ml07ZltpKzEyPj4yXT1mW2MrMTI+PjJdO2xj
KG4saSk7ZltyPj4yXT1vO2QkKGosMTEwNTQ2LHIpfDA7ZHgobixqKXwwO21jKGosK3BbZSszMj4+
M10pO2R4KG4sail8MDtwYyhhLDE5NDg3MCxmW2U+PjJdfDApO3Q9cztyZXR1cm59ZnVuY3Rpb24g
ZWMoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTA7aD10O3Q9dCsx
MDQwfDA7ZT1oKzEwMjR8MDtnPWg7ZD1mWyhmW2ErMTY+PjJdfDApKzEyPj4yXXwwO2ljKGEpO2pj
KGEpO2lmKCFjKXthPWZbMzA0KyhkPDwyKT4+Ml18MDtkeChhLDc4OTUzKXwwfWVsc2V7aWYoKGN8
MXwwKT09MylyYyhhLGMsYiwyKTtlbHNlIHNjKGEpO2E9ZlszMDQrKGQ8PDIpPj4yXXwwO2R4KGEs
Nzg5NTApfDB9O2ZbZT4+Ml09ZltiPj4yXTtmW2UrND4+Ml09ZltiKzQ+PjJdO2ZbZSs4Pj4yXT1m
W2IrOD4+Ml07ZltlKzEyPj4yXT1mW2IrMTI+PjJdO2xjKGEsZSk7bWMoZywrcFtiKzE2Pj4zXS0r
cFtiPj4zXSk7ZHgoYSxnKXwwO21jKGcsK3BbYisyND4+M10tK3BbYis4Pj4zXSk7ZHgoYSxnKXww
O3Q9aDtyZXR1cm59ZnVuY3Rpb24gZmMoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7
aWMoYSk7amMoYSk7aWYoIWQpa2MoYSwxMTIsYixjKTtlbHNle2lmKChkfDF8MCk9PTMpcmMoYSxk
LGIsYyk7ZWxzZSBzYyhhKTtrYyhhLDgwLGIsYyl9cmV0dXJufWZ1bmN0aW9uIGdjKGEsYixjLGQs
ZSxmKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtmPWZ8MDtpYyhhKTtqYyhhKTtpZigh
ZilrYyhhLDY2LGIsYyk7ZWxzZXtpZigoZnwxfDApPT0zKXJjKGEsZixiLGMpO2Vsc2Ugc2MoYSk7
a2MoYSw5OCxiLGMpfXJldHVybn1mdW5jdGlvbiBoYyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7
aWMoYSk7amMoYSk7a2MoYSw3NixiLGMpO3JldHVybn1mdW5jdGlvbiBpYyhhKXthPWF8MDt2YXIg
Yz0wLGQ9MCxlPTAsZz0wLjAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7bT10O3Q9dCsxMTg0fDA7
aD1tKzExNTJ8MDtlPW07az1tKzExNjB8MDtheChrLDEwMjQsbSsxMjh8MCk7aT1hKzE2fDA7Yz1m
W2k+PjJdfDA7Zz0rcFtjKzE1Mj4+M107ZD0yMDgrKGZbYysxMj4+Ml08PDMpfDA7aWYoZyE9K3Bb
ZD4+M10pe3BbZD4+M109ZztkeChrLDc4OTIyKXwwO3BbaD4+M109K3BbKGZbaT4+Ml18MCkrMTUy
Pj4zXTtkJChlLDc4OTM2LGgpfDA7bmMoZSwwKTtkeChrLGUpfDA7ZT1rKzR8MDtjPWZbZT4+Ml18
MDtkPWsrOHwwO2lmKGM+Pj4wPj0oZltkPj4yXXwwKT4+PjApe2J4KGssMSl8MDtjPWZbZT4+Ml18
MH1mW2U+PjJdPWMrMTtiW2M+PjBdPTQxO2M9ZltlPj4yXXwwO2lmKGM+Pj4wPj0oZltkPj4yXXww
KT4+PjApe2J4KGssMSl8MDtjPWZbZT4+Ml18MH1iW2M+PjBdPTA7Yz1mW2s+PjJdfDA7ZltlPj4y
XT1jO3BjKGEsNzg5NDEsYyk7Yz1mW2k+PjJdfDB9Yz1mW2MrMTYwPj4yXXwwO2lmKGN8MCl7aT1r
KzR8MDtqPWsrOHwwO3doaWxlKDEpe2g9Yys0fDA7Yz1mW2M+PjJdfDA7aWYoIWMpYnJlYWs7c3dp
dGNoKGJbYz4+MF18MCl7Y2FzZSAxMDI6e2lmKEgkKGMsMTE5NDI3KXwwKWw9MTU7YnJlYWt9Y2Fz
ZSA5ODp7aWYoSCQoYywxMTk0MDkpfDApbD0xNTticmVha31jYXNlIDExNTp7aWYoSCQoYywxMTk0
MTQpfDApbD0xNTticmVha31kZWZhdWx0Omw9MTV9aWYoKGx8MCk9PTE1KXtsPTA7ZHgoayxjKXww
O2Rve2U9YztjPWMrMXwwfXdoaWxlKChiW2U+PjBdfDApIT0wKTtpZihiW2M+PjBdfDApe2Q9Zltp
Pj4yXXwwO2lmKGQ+Pj4wPj0oZltqPj4yXXwwKT4+PjApe2J4KGssMSl8MDtkPWZbaT4+Ml18MH1m
W2k+PjJdPWQrMTtiW2Q+PjBdPTQwO2U9MDt3aGlsZSgxKXtpZighKGJbYz4+MF18MCkpYnJlYWs7
aWYoZXwwKXtkPWZbaT4+Ml18MDtpZihkPj4+MD49KGZbaj4+Ml18MCk+Pj4wKXtieChrLDEpfDA7
ZD1mW2k+PjJdfDB9ZltpPj4yXT1kKzE7YltkPj4wXT00NH1keChrLGMpfDA7ZG97ZD1jO2M9Yysx
fDB9d2hpbGUoKGJbZD4+MF18MCkhPTApO2U9ZSsxfDB9Yz1mW2k+PjJdfDA7aWYoYz4+PjA+PShm
W2o+PjJdfDApPj4+MCl7YngoaywxKXwwO2M9ZltpPj4yXXwwfWZbaT4+Ml09YysxO2JbYz4+MF09
NDF9Yz1mW2k+PjJdfDA7aWYoYz4+PjA+PShmW2o+PjJdfDApPj4+MCl7YngoaywxKXwwO2M9Zltp
Pj4yXXwwfWJbYz4+MF09MDtlPWZbaz4+Ml18MDtmW2k+PjJdPWU7cGMoYSw3ODk0MSxlKX1jPWh9
ZXgoayl9dD1tO3JldHVybn1mdW5jdGlvbiBqYyhhKXthPWF8MDtvYygoZlthKzE2Pj4yXXwwKSsx
NnwwKTtwYyhhLDg3ODc0LDE5NDg1MCk7cmV0dXJufWZ1bmN0aW9uIGtjKGEsYyxkLGUpe2E9YXww
O2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wO2s9dDt0PXQrMTA0MHww
O2o9aysxMDI0fDA7aT1rO2g9ZlszMDQrKGZbKGZbYSsxNj4+Ml18MCkrMTI+PjJdPDwyKT4+Ml18
MDtnPWgrNHwwO2E9ZltnPj4yXXwwO2lmKGE+Pj4wPj0oZltoKzg+PjJdfDApPj4+MCl7YngoaCwx
KXwwO2E9ZltnPj4yXXwwfWZbZz4+Ml09YSsxO2JbYT4+MF09YztmW2o+PjJdPWU7ZCQoaSw3ODg4
NixqKXwwO2R4KGgsaSl8MDthPTA7d2hpbGUoMSl7aWYoKGF8MCk+PShlfDApKWJyZWFrO2k9ZCso
YTw8NCl8MDtmW2o+PjJdPWZbaT4+Ml07ZltqKzQ+PjJdPWZbaSs0Pj4yXTtmW2orOD4+Ml09Zltp
Kzg+PjJdO2ZbaisxMj4+Ml09ZltpKzEyPj4yXTtsYyhoLGopO2E9YSsxfDB9dD1rO3JldHVybn1m
dW5jdGlvbiBsYyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wO2M9dDt0PXQrMTAyNHwwO2Q9
YzttYyhkLCtwW2I+PjNdKTtkeChhLGQpfDA7bWMoZCwrcEkoK3BbYis4Pj4zXSkpO2R4KGEsZCl8
MDt0PWM7cmV0dXJufWZ1bmN0aW9uIG1jKGEsYil7YT1hfDA7Yj0rYjt2YXIgYz0wLGQ9MDtjPXQ7
dD10KzE2fDA7ZD1jO3BbZD4+M109Yj4tMS4wZS0wOCZiPDEuMGUtMDg/MC4wOmI7ZCQoYSw3ODg5
MSxkKXwwO25jKGEsMSk7dD1jO3JldHVybn1mdW5jdGlvbiBuYyhhLGMpe2E9YXwwO2M9Y3wwO3Zh
ciBkPTAsZT0wO2Q9eDEoYSw0Nil8MDtpZighZCl7aWYoY3wwKXtkPWErKGMwKGEpfDApfDA7ZT0x
Mn19ZWxzZXt3aGlsZSgxKXthPWQrMXwwO2lmKCEoYlthPj4wXXwwKSlicmVhaztlbHNlIGQ9YX1h
OndoaWxlKDEpe3N3aXRjaChiW2Q+PjBdfDApe2Nhc2UgNDY6e2U9NzticmVhayBhfWNhc2UgNDg6
YnJlYWs7ZGVmYXVsdDp7ZT04O2JyZWFrIGF9fWJbZD4+MF09MDtkPWQrLTF8MH1pZigoZXwwKT09
NyliW2Q+PjBdPTA7ZWxzZSBpZigoZXwwKT09OClkPWQrMXwwO2lmKGN8MCllPTEyfWlmKChlfDAp
PT0xMil7YltkPj4wXT0zMjtiW2QrMT4+MF09MH1yZXR1cm59ZnVuY3Rpb24gb2MoYSl7YT1hfDA7
dmFyIGM9MCxkPTAsZT0wLGc9MCxpPTAsaj0wO2o9dDt0PXQrMzJ8MDtpPWorMTZ8MDtnPWo7Yz1i
W2ErMz4+MF18MDtkPWhbYT4+MF18MDtlPWhbYSsxPj4wXXwwO2E9aFthKzI+PjBdfDA7aWYoYzw8
MjQ+PjI0PT0tMSl7ZltnPj4yXT1kO2ZbZys0Pj4yXT1lO2ZbZys4Pj4yXT1hO2QkKDE5NDg1MCw4
Nzc1NCxnKXwwfWVsc2V7ZltpPj4yXT1kO2ZbaSs0Pj4yXT1lO2ZbaSs4Pj4yXT1hO2ZbaSsxMj4+
Ml09YyYyNTU7ZCQoMTk0ODUwLDc4OTA0LGkpfDB9dD1qO3JldHVybn1mdW5jdGlvbiBwYyhhLGIs
Yyl7YT1hfDA7Yj1ifDA7Yz1jfDA7cWMoZlszMDQrKGZbKGZbYSsxNj4+Ml18MCkrMTI+PjJdPDwy
KT4+Ml18MCxiLGMpO3JldHVybn1mdW5jdGlvbiBxYyhhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7
dmFyIGU9MCxnPTAsaD0wLGk9MDtlPXQ7dD10KzEwNDB8MDtoPWUrMTAyNHwwO2c9ZTtpPWMwKGQp
fDA7ZltoPj4yXT1jO2ZbaCs0Pj4yXT1pO2QkKGcsNzg4OTcsaCl8MDtkeChhLGcpfDA7ZHgoYSxk
KXwwO2Q9YSs0fDA7Yz1mW2Q+PjJdfDA7aWYoYz4+PjA+PShmW2ErOD4+Ml18MCk+Pj4wKXtieChh
LDEpfDA7Yz1mW2Q+PjJdfDB9ZltkPj4yXT1jKzE7YltjPj4wXT0zMjt0PWU7cmV0dXJufWZ1bmN0
aW9uIHJjKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAuMCxoPTAsaT0w
LjAsaz0wLjAsbD0wLjAsbT0wLjAsbz0wLjAscT0wLHI9MCxzPTAsdT0wLHY9MCx3PTAseD0wLHk9
MC4wO3g9dDt0PXQrMTEyMHwwO3M9eCsxMDg4fDA7dz14KzExMDR8MDtoPXg7cT14KzEwNzJ8MDty
PXgrMTA1NnwwO3U9ZlthKzE2Pj4yXXwwO2c9KyhmW3UrMTM2Pj4yXXwwKSouMDE3NDUzMjkyNTE5
OTQzMjk1O2lmKChqWyhmWzQ4MTE0XXwwKSs4MjMyPj4xXXwwKTwxNClzYyhhKTtlbHNle2F4KHcs
MTAyNCx4KzMyfDApO3Y9KGN8MCk9PTI7aWYodil7ak4oZCxoLGUsZywyKTtkPXcrNHwwO2M9Zltk
Pj4yXXwwO2lmKGM+Pj4wPj0oZlt3Kzg+PjJdfDApPj4+MCl7YngodywxKXwwO2M9ZltkPj4yXXww
fWZbZD4+Ml09YysxO2JbYz4+MF09OTE7ZltzPj4yXT1mW2g+PjJdO2Zbcys0Pj4yXT1mW2grND4+
Ml07ZltzKzg+PjJdPWZbaCs4Pj4yXTtmW3MrMTI+PjJdPWZbaCsxMj4+Ml07bGModyxzKTtyPWgr
MTZ8MDtmW3M+PjJdPWZbcj4+Ml07ZltzKzQ+PjJdPWZbcis0Pj4yXTtmW3MrOD4+Ml09ZltyKzg+
PjJdO2ZbcysxMj4+Ml09ZltyKzEyPj4yXTtsYyh3LHMpfWVsc2V7ak4oZCxoLGUsMC4wLDMpO289
K3BbaCsyND4+M107bD0rcFtoPj4zXTtpZihnPT0wLjApe2s9K3BbaCs4Pj4zXTttPW8qLjI1O2c9
aztpPWx9ZWxzZXttPW8qLjI1O3k9bTtpPStMKCtnKSp5K2w7az0rcFtoKzg+PjNdO2c9aysgK00o
K2cpKnl9cFtxPj4zXT1pO3BbcSs4Pj4zXT1nO3Bbcj4+M109bDtwW3IrOD4+M109aztkPXcrNHww
O2M9ZltkPj4yXXwwO2lmKGM+Pj4wPj0oZlt3Kzg+PjJdfDApPj4+MCl7YngodywxKXwwO2M9Zltk
Pj4yXXwwfWZbZD4+Ml09YysxO2JbYz4+MF09NDA7ZltzPj4yXT1mW3E+PjJdO2Zbcys0Pj4yXT1m
W3ErND4+Ml07ZltzKzg+PjJdPWZbcSs4Pj4yXTtmW3MrMTI+PjJdPWZbcSsxMj4+Ml07bGModyxz
KTt0Yyh3LG0pO2Zbcz4+Ml09ZltyPj4yXTtmW3MrND4+Ml09ZltyKzQ+PjJdO2Zbcys4Pj4yXT1m
W3IrOD4+Ml07ZltzKzEyPj4yXT1mW3IrMTI+PjJdO2xjKHcscyk7dGModyxvKX1keCh3LDc4OTQ3
KXwwO2M9dSsxNDB8MDtnPStuW2M+PjJdO2Q9dSs1NnwwO2lmKGc+MC4wKXt1Yyh3LGcsZCk7dWMo
dywrbltjPj4yXSx1Kzk2fDApfWVsc2V7dWModywwLjAsZCk7dWModywxLjAsdSs5NnwwKX1meCh3
KXwwO2g9dys0fDA7Yz1mW2g+PjJdfDA7ZT13Kzh8MDtkPWM+Pj4wPj0oZltlPj4yXXwwKT4+PjA7
aWYodil7aWYoZCl7YngodywxKXwwO2M9ZltoPj4yXXwwfWZbaD4+Ml09YysxO2JbYz4+MF09OTN9
ZWxzZXtpZihkKXtieCh3LDEpfDA7Yz1mW2g+PjJdfDB9ZltoPj4yXT1jKzE7YltjPj4wXT00MX1j
PWZbaD4+Ml18MDtpZihjPj4+MD49KGZbZT4+Ml18MCk+Pj4wKXtieCh3LDEpfDA7Yz1mW2g+PjJd
fDB9YltjPj4wXT0wO3Y9Zlt3Pj4yXXwwO2ZbaD4+Ml09djtwYyhhLDc4OTQ0LHYpO2V4KHcpfXQ9
eDtyZXR1cm59ZnVuY3Rpb24gc2MoYSl7YT1hfDA7b2MoKGZbYSsxNj4+Ml18MCkrNTZ8MCk7cGMo
YSw3ODk0NCwxOTQ4NTApO3JldHVybn1mdW5jdGlvbiB0YyhhLGIpe2E9YXwwO2I9K2I7dmFyIGM9
MCxkPTA7Yz10O3Q9dCsxMDI0fDA7ZD1jO21jKGQsYik7ZHgoYSxkKXwwO3Q9YztyZXR1cm59ZnVu
Y3Rpb24gdWMoYSxiLGMpe2E9YXwwO2I9K2I7Yz1jfDA7dmFyIGQ9MCxlPTAsZj0wO2Q9dDt0PXQr
MTA0MHwwO2Y9ZCsxMDI0fDA7ZT1kO3BbZj4+M109YjtkJChlLDEwNDcyNCxmKXwwO25jKGUsMSk7
b2MoYyk7cWMoYSxlLDE5NDg1MCk7dD1kO3JldHVybn1mdW5jdGlvbiB2YyhhLGIsYyxkKXthPWF8
MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTA7ZD10O3Q9dCsxMDQwfDA7aD1kKzEw
MjR8MDtlPWQ7Zz1mWzMwNCsoZlsoZlthKzE2Pj4yXXwwKSsxMj4+Ml08PDIpPj4yXXwwO2R4KGcs
NzkwNTMpfDA7ZltoPj4yXT1mW2M+PjJdO2ZbaCs0Pj4yXT1mW2MrND4+Ml07ZltoKzg+PjJdPWZb
Yys4Pj4yXTtmW2grMTI+PjJdPWZbYysxMj4+Ml07bGMoZyxoKTttYyhlLCtwW2MrMTY+PjNdLStw
W2M+PjNdKTtkeChnLGUpfDA7bWMoZSwrcFtjKzI0Pj4zXS0rcFtjKzg+PjNdKTtkeChnLGUpfDA7
cGMoYSwxOTQ4NzAsZltiKzg+PjJdfDApO3Q9ZDtyZXR1cm59ZnVuY3Rpb24gd2MoYSl7YT1hfDA7
dmFyIGI9MDtzd2l0Y2goZlthKzY0Pj4yXXwwKXtjYXNlIDA6e2I9dUMoZlthPj4yXXwwKXwwO2lE
KGIsZlsoZlthKzE2Pj4yXXwwKSs4Pj4yXXwwLDc5ODM3LDApfDA7dkMoYik7YnJlYWt9Y2FzZSAx
OntESShmWyhmW2E+PjJdfDApKzE2OD4+Ml18MCk7YnJlYWt9ZGVmYXVsdDp7fX1yZXR1cm59ZnVu
Y3Rpb24geGMoYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MDtlPXQ7dD10KzE2fDA7Yz1lO2Q9
ZlsoZlthKzE2Pj4yXXwwKSs4Pj4yXXwwO2lmKCEoZls0ODExNV18MCkpe2ZbNDgxMTVdPWZbMTgw
OThdO2ZbNDgxMTZdPTU3O2ZbNDgxMTddPTE5fWZbKGZbZCs2ND4+Ml18MCkrOD4+Ml09MTkyNDYw
O3ljKGQsMSk7ZltjPj4yXT0wO2JbYys0Pj4wXT0oYlsoZltkKzE2Pj4yXXwwKSsxMTU+PjBdfDAp
PT0xJjE7Zz1mW2ErNjQ+PjJdfDA7YltjKzU+PjBdPSgoZ3wwKT09MHwoZ3wwKT09MykmMTtiW2Mr
Nj4+MF09MDt6YyhkLGEsMSxjKTt0PWU7cmV0dXJufWZ1bmN0aW9uIHljKGEsYil7YT1hfDA7Yj1i
fDA7dmFyIGM9MDtmW2E+PjJdPWZbYT4+Ml0mLTk7Yz1GQShhKXwwO3doaWxlKDEpe2lmKCFjKWJy
ZWFrO3ljKGMsMCk7Yz1HQShjKXwwfWE6ZG8gaWYoYnwwKXtiPSR5KGEpfDA7d2hpbGUoMSl7aWYo
IWIpYnJlYWsgYTtmW2I+PjJdPWZbYj4+Ml0mLTk7Yz1OeChhLGIpfDA7d2hpbGUoMSl7aWYoIWMp
YnJlYWs7ZltjPj4yXT1mW2M+PjJdJi05O2M9UHgoYSxjKXwwfWI9YXooYSxiKXwwfX13aGlsZSgw
KTtyZXR1cm59ZnVuY3Rpb24gemMoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFy
IGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTA7cD10O3Q9dCsxNnww
O289cCs4fDA7bj1wO209KGN8MCkhPTA7aWYobSl7bD1Mdyg3MDQ5MixmWzE4MDAxXXwwKXwwO096
KGEsMSwxNDgxOTUsMTIsMCk7T3ooYSwyLDE0ODE5NSwxMiwwKTtPeihhLDAsMTQ4MTk1LC0xMiww
KTtlPUFjKGEsMCxsKXwwO2o9JHkoYSl8MDtpPTA7Zz0wO3doaWxlKDEpe2lmKCFqKWJyZWFrO2lm
KCEoYSQoQXkoail8MCwxMTYzMzIsNyl8MCkpe2s9ZztnPUJjKGwsQXkoail8MCl8MH1lbHNle2s9
ZysxfDA7Zz1nK2V8MH1oPShIeihqLDE0ODE5NSwwKXwwKSs4fDA7ZltoPj4yXT1nO2g9TngoYSxq
KXwwO2c9aTt3aGlsZSgxKXtpZighaClicmVhaztpPShIeihoLDE0ODE5NSwwKXwwKSs4fDA7Zltp
Pj4yXT1nO2g9UHgoYSxoKXwwO2c9ZysxfDB9aj1heihhLGopfDA7aT1nO2c9a31IdyhsKXwwfWVs
c2UgZT0wO2w9ZltkPj4yXXwwO2ZbZD4+Ml09bCsxO0NjKGIsbCk7aUMoYiwxMDY0MTkpfDA7RGMo
YSxiLGMsZCk7RWMoYSxiLGQpO2lDKGIsMTA2MzkwKXwwO0NjKGIsZltkPj4yXXwwKTtpZihtKXtm
W24+PjJdPWU7b0MoYiw3OTA1NixuKX1lbHNle249KEh6KGEsMTQ4MTk1LDApfDApKzh8MDtmW28+
PjJdPWZbbj4+Ml07b0MoYiw3OTA3NixvKX1HYyhhLGIsYyxGYyhhLGIsYyxkKXwwLGQpO0hjKGEs
YixjLGQpO2lDKGIsMTUxMTIyKXwwO289KGZbZD4+Ml18MCkrLTF8MDtmW2Q+PjJdPW87Q2MoYixv
KTtpZihtKWlDKGIsMTE5MzM0KXwwO2Vsc2UgaUMoYiw4NzM5Nyl8MDt0PXA7cmV0dXJufWZ1bmN0
aW9uIEFjKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MDtpZigob3ooYSl8MCkh
PShhfDApKXtkPWIrMXwwO2U9KEh6KGEsMTQ4MTk1LDApfDApKzh8MDtmW2U+PjJdPWI7aWYoIShh
JChBeShhKXwwLDExNjMzMiw3KXwwKSl7ZT1BeShhKXwwO2I9KEh6KGEsMTQ4MTk1LDApfDApKzh8
MDtUYyhjLGUsZltiPj4yXXwwKTtiPWR9ZWxzZSBiPWR9ZD1GQShhKXwwO3doaWxlKDEpe2lmKCFk
KWJyZWFrO2U9QWMoZCxiLGMpfDA7ZD1HQShkKXwwO2I9ZX1yZXR1cm4gYnwwfWZ1bmN0aW9uIEJj
KGEsYil7YT1hfDA7Yj1ifDA7YT13YltmW2E+PjJdJjYzXShhLGIsNTEyKXwwO2lmKCFhKWE9LTE7
ZWxzZSBhPWZbYSsxMj4+Ml18MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIENjKGEsYil7YT1hfDA7Yj1i
fDA7d2hpbGUoMSl7aWYoKGJ8MCk8PTApYnJlYWs7aUMoYSwxMDI2MDcpfDA7Yj1iKy0xfDB9cmV0
dXJufWZ1bmN0aW9uIERjKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAs
Zz0wLGg9MCxpPTAsaj0wO2g9dDt0PXQrMzJ8MDtnPWgrMTZ8MDtlPWgrOHwwO2k9aDtqPUF5KGEp
fDA7Q2MoYixmW2Q+PjJdfDApO2o9S2MoaixkKXwwO2ZbaT4+Ml09ajtvQyhiLDc5MTY0LGkpO2lm
KGN8MCl7aUMoYiwxMDYzOTApfDA7Q2MoYixmW2Q+PjJdfDApO2o9KG55KGEpfDApPT0wO2ZbZT4+
Ml09aj8xNDU1Nzg6MTE1OTc4O29DKGIsNzk3NzgsZSk7Q2MoYixmW2Q+PjJdfDApO2o9KHB5KGEp
fDApPT0wO2ZbZz4+Ml09aj8xNDU1Nzg6MTE1OTc4O29DKGIsNzk3OTUsZyl9dD1oO3JldHVybn1m
dW5jdGlvbiBFYyhhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxq
PTAsaz0wLGw9MCxtPTAsbj0wO249dDt0PXQrMTZ8MDttPW4rOHwwO2w9bjtpPW96KGEpfDA7aj1m
W2E+PjJdJjM7ZT1CeChpLGosMCl8MDthOmRvIGlmKGV8MCl7az1kKzV8MDt3aGlsZSgxKXtpZigh
ZSlicmVhayBhO2c9SHgoYSxlKXwwO2RvIGlmKGd8MCl7aD1lKzh8MDtpZighKGJbZz4+MF18MCkp
e2c9ZltoPj4yXXwwO2lmKChiW2c+PjBdfDApIT0xMDgpYnJlYWs7aWYoSCQoZywxMTY1NTApfDAp
YnJlYWt9aUMoYywxMDYzOTApfDA7Q2MoYyxmW2Q+PjJdfDApO2c9S2MoZltoPj4yXXwwLGQpfDA7
ZltsPj4yXT1nO29DKGMsNzkyMTQsbCk7aWYoYltrPj4wXXwwP01jKGZbaD4+Ml18MCl8MDowKXtO
YyhIeChhLGUpfDAsYyxkKTticmVha31oPUtjKEh4KGEsZSl8MCxkKXwwO2ZbbT4+Ml09aDtvQyhj
LDc5MjIxLG0pfXdoaWxlKDApO2U9QngoaSxqLGUpfDB9fXdoaWxlKDApO3Q9bjtyZXR1cm59ZnVu
Y3Rpb24gRmMoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0w
LGk9MDtpPXQ7dD10KzE2fDA7aD1pO2U9RkEoYSl8MDtpZihlKXtpQyhiLDEwNjM5MCl8MDtnPWZb
ZD4+Ml18MDtmW2Q+PjJdPWcrMTtDYyhiLGcpO2c9KGN8MCkhPTA7aWYoZylpQyhiLDc5MTM4KXww
O2Vsc2V7aUMoYiw3OTE5OCl8MDtDYyhiLGZbZD4+Ml18MCl9YT0wO2M9ZTt3aGlsZSgxKXtpZigh
YylicmVhaztpZighYSlhPTE7ZWxzZSBpQyhiLDEwNjM5MCl8MDtpZihnKUxjKGMsYixkKTtlbHNl
e2U9KEh6KGMsMTQ4MTk1LDApfDApKzh8MDtmW2g+PjJdPWZbZT4+Ml07b0MoYiwxNDU2NjUsaCl9
Yz1HQShjKXwwfWlmKGcpYT0xO2Vsc2V7ZltkPj4yXT0oZltkPj4yXXwwKSstMTtpQyhiLDE1MTEy
Mil8MDtDYyhiLGZbZD4+Ml18MCk7aUMoYiwxMDYzODUpfDA7YT0xfX1lbHNlIGE9MDt0PWk7cmV0
dXJuIGF8MH1mdW5jdGlvbiBHYyhhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9
ZXwwO3ZhciBnPTAsaD0wO2c9JHkoYSl8MDtpZighZyl7aWYoKGN8MCkhPTAmKGR8MCkhPTApe2Zb
ZT4+Ml09KGZbZT4+Ml18MCkrLTE7aUMoYiwxNTExMjIpfDA7Q2MoYixmW2U+PjJdfDApO2lDKGIs
MTA2Mzg1KXwwfX1lbHNle2lDKGIsMTA2MzkwKXwwO2g9KGN8MCkhPTA7aWYoaCl7aWYoIWQpe2Q9
ZltlPj4yXXwwO2ZbZT4+Ml09ZCsxO0NjKGIsZCk7aUMoYiw3OTEzOCl8MH19ZWxzZXtkPWZbZT4+
Ml18MDtmW2U+PjJdPWQrMTtDYyhiLGQpO2lDKGIsNzkxNTIpfDA7Q2MoYixmW2U+PjJdfDApfWQ9
MDt3aGlsZSgxKXtpZighZylicmVhaztpZihhJChBeShnKXwwLDExNjMzMiw3KXwwKXtkbyBpZihk
KWlmKGgpe2lDKGIsMTA2MzkwKXwwO2JyZWFrfWVsc2V7aUMoYiwxMDkzMjUpfDA7YnJlYWt9ZWxz
ZSBkPTE7d2hpbGUoMCk7SmMoZyxiLGMsZSl9Zz1heihhLGcpfDB9ZltlPj4yXT0oZltlPj4yXXww
KSstMTtpQyhiLDE1MTEyMil8MDtDYyhiLGZbZT4+Ml18MCk7aUMoYiwxMDYzODUpfDB9cmV0dXJu
fWZ1bmN0aW9uIEhjKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0w
LGg9MCxpPTA7ZT0keShhKXwwO2E6ZG8gaWYoZXwwKXt3aGlsZSgxKXtpZighZSlicmVhayBhO2lm
KE54KGEsZSl8MClicmVhaztlPWF6KGEsZSl8MH1pQyhiLDEwNjM5MCl8MDtpPWZbZD4+Ml18MDtm
W2Q+PjJdPWkrMTtDYyhiLGkpO2lDKGIsNzkwODgpfDA7aT0oY3wwKSE9MDtpZighaSlDYyhiLGZb
ZD4+Ml18MCk7Zz0wO3doaWxlKDEpe2lmKCFlKWJyZWFrO2g9TngoYSxlKXwwO3doaWxlKDEpe2lm
KCFoKWJyZWFrO2RvIGlmKGcpaWYoaSl7aUMoYiwxMDYzOTApfDA7YnJlYWt9ZWxzZXtpQyhiLDEw
OTMyNSl8MDticmVha31lbHNlIGc9MTt3aGlsZSgwKTtJYyhoLGIsYyxkKTtoPVB4KGEsaCl8MH1l
PWF6KGEsZSl8MH1mW2Q+PjJdPShmW2Q+PjJdfDApKy0xO2lDKGIsMTUxMTIyKXwwO0NjKGIsZltk
Pj4yXXwwKTtpQyhiLDEwNjM4NSl8MH13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gSWMoYSxiLGMs
ZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTA7aj10O3Q9
dCszMnwwO2k9aisyNHwwO2g9aisxNnwwO2c9ais4fDA7ZT1qO2lmKCFjKXtoPShIeihhLDE0ODE5
NSwwKXwwKSs4fDA7ZltpPj4yXT1mW2g+PjJdO29DKGIsMTQ1NjY1LGkpfWVsc2V7aT1mW2Q+PjJd
fDA7ZltkPj4yXT1pKzE7Q2MoYixpKTtpQyhiLDEwNjQxOSl8MDtDYyhiLGZbZD4+Ml18MCk7aT0o
SHooYSwxNDgxOTUsMCl8MCkrOHwwO2ZbZT4+Ml09ZltpPj4yXTtvQyhiLDc5MTAwLGUpO0NjKGIs
ZltkPj4yXXwwKTtpPShIeihmWygoZlthPj4yXSYzfDApPT0zP2E6YSs0OHwwKSs0MD4+Ml18MCwx
NDgxOTUsMCl8MCkrOHwwO2ZbZz4+Ml09ZltpPj4yXTtvQyhiLDc5MTE0LGcpO0NjKGIsZltkPj4y
XXwwKTtpPShIeihmWygoZlthPj4yXSYzfDApPT0yP2E6YSstNDh8MCkrNDA+PjJdfDAsMTQ4MTk1
LDApfDApKzh8MDtmW2g+PjJdPWZbaT4+Ml07b0MoYiw3OTEyNyxoKTtFYyhhLGIsZCk7aUMoYiwx
NTExMjIpfDA7aT0oZltkPj4yXXwwKSstMXwwO2ZbZD4+Ml09aTtDYyhiLGkpO2lDKGIsODczOTcp
fDB9dD1qO3JldHVybn1mdW5jdGlvbiBKYyhhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8
MDt2YXIgZT0wLGc9MCxoPTAsaT0wO2k9dDt0PXQrMzJ8MDtoPWkrMTZ8MDtnPWkrOHwwO2U9aTtp
ZighYyl7Zz0oSHooYSwxNDgxOTUsMCl8MCkrOHwwO2ZbaD4+Ml09ZltnPj4yXTtvQyhiLDE0NTY2
NSxoKX1lbHNle2g9ZltkPj4yXXwwO2ZbZD4+Ml09aCsxO0NjKGIsaCk7aUMoYiwxMDY0MTkpfDA7
Q2MoYixmW2Q+PjJdfDApO2g9KEh6KGEsMTQ4MTk1LDApfDApKzh8MDtmW2U+PjJdPWZbaD4+Ml07
b0MoYiw3OTEwMCxlKTtDYyhiLGZbZD4+Ml18MCk7aD1LYyhBeShhKXwwLGQpfDA7ZltnPj4yXT1o
O29DKGIsNzkxNjQsZyk7RWMoYSxiLGQpO2lDKGIsMTUxMTIyKXwwO2g9KGZbZD4+Ml18MCkrLTF8
MDtmW2Q+PjJdPWg7Q2MoYixoKTtpQyhiLDg3Mzk3KXwwfXQ9aTtyZXR1cm59ZnVuY3Rpb24gS2Mo
YSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTA7Zz1jKzR8MDtpZihiW2c+PjBdfDApYT1f
TShhKXwwO2lmKCEoZls0ODExOF18MCkpYXgoMTkyNDcyLDEwMjQsMCk7ZD1hO2E6d2hpbGUoMSl7
ZT1iW2Q+PjBdfDA7c3dpdGNoKGU8PDI0Pj4yNCl7Y2FzZSAwOmJyZWFrIGE7Y2FzZSAzNDp7ZHgo
MTkyNDcyLDc5MTc3KXwwO2JyZWFrfWNhc2UgOTI6e2R4KDE5MjQ3MiwxMDU2NjEpfDA7YnJlYWt9
Y2FzZSA0Nzp7ZHgoMTkyNDcyLDc5MTgwKXwwO2JyZWFrfWNhc2UgODp7ZHgoMTkyNDcyLDc5MTgz
KXwwO2JyZWFrfWNhc2UgMTI6e2R4KDE5MjQ3Miw3OTE4Nil8MDticmVha31jYXNlIDEwOntkeCgx
OTI0NzIsNzkxODkpfDA7YnJlYWt9Y2FzZSAxMzp7ZHgoMTkyNDcyLDc5MTkyKXwwO2JyZWFrfWNh
c2UgOTp7ZHgoMTkyNDcyLDc5MTk1KXwwO2JyZWFrfWRlZmF1bHQ6e2M9Zls0ODExOV18MDtpZihj
Pj4+MD49KGZbNDgxMjBdfDApPj4+MCl7YngoMTkyNDcyLDEpfDA7Yz1mWzQ4MTE5XXwwfWZbNDgx
MTldPWMrMTtiW2M+PjBdPWV9fWQ9ZCsxfDB9Yz1mWzQ4MTE5XXwwO2lmKGM+Pj4wPj0oZls0ODEy
MF18MCk+Pj4wKXtieCgxOTI0NzIsMSl8MDtjPWZbNDgxMTldfDB9YltjPj4wXT0wO2M9Zls0ODEx
OF18MDtmWzQ4MTE5XT1jO2lmKGJbZz4+MF18MClNXyhhKTtyZXR1cm4gY3wwfWZ1bmN0aW9uIExj
KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt6YyhhLGIsMCxjKTthPUZBKGEpfDA7d2hpbGUoMSl7
aWYoIWEpYnJlYWs7aUMoYiwxMDYzOTApfDA7TGMoYSxiLGMpO2E9R0EoYSl8MH1yZXR1cm59ZnVu
Y3Rpb24gTWMoYSl7YT1hfDA7dmFyIGM9MDtjPWErMXwwO2E6ZG8gaWYoKGJbYT4+MF18MCk9PTk1
KXthPShiW2M+PjBdfDApKy0xMDA8PDI0Pj4yNDtzd2l0Y2goKChhJjI1NSk+Pj4yfGE8PDYmMjU1
KTw8MjQ+PjI0KXtjYXNlIDA6e2lmKCEoSCQoYyw3OTczNSl8MCkpe2E9MTticmVhayBhfWJyZWFr
fWNhc2UgMjp7aWYoIShIJChjLDc5NzQxKXwwKSl7YT0xO2JyZWFrIGF9YnJlYWt9Y2FzZSAxOntp
ZighKEgkKGMsNzk3NDgpfDApKXthPTE7YnJlYWsgYX1yZXR1cm4gKEgkKGMsNzk3NjIpfDApPT0w
fDB9Y2FzZSA0OntpZighKEgkKGMsNzk3NTUpfDApKXthPTE7YnJlYWsgYX1hPShIJChjLDc5Nzcw
KXwwKT09MCYxO2JyZWFrIGF9ZGVmYXVsdDp7YT0wO2JyZWFrIGF9fWE9MH1lbHNlIGE9MDt3aGls
ZSgwKTtyZXR1cm4gYXwwfWZ1bmN0aW9uIE5jKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIg
ZT0wLGc9MCxoPTAsaT0wO2k9dDt0PXQrMTZ8MDtlPWk7ZG8gaWYoYXwwP2JbYT4+MF18MDowKXto
PXhFKGEpfDA7aWYoIWgpe2ZbZT4+Ml09YTtZdygwLDc5MjI2LGUpfDA7YnJlYWt9aUMoYywxNTEx
MjIpfDA7Zz1mW2Q+PjJdfDA7ZltkPj4yXT1nKzE7Q2MoYyxnKTtpQyhjLDc5MjUzKXwwO2c9aCs4
fDA7YT0wO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KGZbaD4+Ml18MCkpYnJlYWs7aWYoIWEpYT0x
O2Vsc2UgaUMoYywxMDYzOTApfDA7T2MoKGZbZz4+Ml18MCkrKGUqODB8MCl8MCxjLGQpO2U9ZSsx
fDB9ZltkPj4yXT0oZltkPj4yXXwwKSstMTtpQyhjLDE1MTEyMil8MDtDYyhjLGZbZD4+Ml18MCk7
aUMoYywxMDYzODUpfDA7eUUoaCl9d2hpbGUoMCk7dD1pO3JldHVybn1mdW5jdGlvbiBPYyhhLGIs
Yyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAs
bT0wLG49MCxvPTAscT0wLHI9MCxzPTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MC4w
LEM9MC4wLEQ9MC4wO0E9dDt0PXQrMjQwfDA7eT1BKzIyNHwwO3g9QSsyMTZ8MDt3PUErMjA4fDA7
dj1BKzIwMHwwO3U9QSsxOTJ8MDtzPUErMTg0fDA7cj1BKzE3NnwwO3E9QSsxNTJ8MDtvPUErMTM2
fDA7bj1BKzEyOHwwO209QSsxMTJ8MDtsPUErMTA0fDA7az1BKzk2fDA7aj1BKzg4fDA7aT1BKzcy
fDA7aD1BKzQ4fDA7ej1BKzQwfDA7Zz1BKzh8MDtlPUE7ZD1mW2M+PjJdfDA7ZltjPj4yXT1kKzE7
Q2MoYixkKTtpQyhiLDEwNjQxOSl8MDtDYyhiLGZbYz4+Ml18MCk7ZD1mW2E+PjJdfDA7YTpkbyBz
d2l0Y2goZHwwKXtjYXNlIDE6Y2FzZSAwOntmW2U+PjJdPShkfDApPT0wPzY5OjEwMTtvQyhiLDc5
MjU2LGUpO0NjKGIsZltjPj4yXXwwKTtEPStwW2ErMTY+PjNdO0M9K3BbYSsyND4+M107Qj0rcFth
KzMyPj4zXTtwW2c+PjNdPStwW2ErOD4+M107cFtnKzg+PjNdPUQ7cFtnKzE2Pj4zXT1DO3BbZysy
ND4+M109QjtvQyhiLDc5MjY5LGcpO2JyZWFrfWNhc2UgMzpjYXNlIDI6e2Zbej4+Ml09KGR8MCk9
PTI/ODA6MTEyO29DKGIsNzkyNTYseik7Q2MoYixmW2M+PjJdfDApO1BjKGIsYSs4fDApO2JyZWFr
fWNhc2UgNTpjYXNlIDQ6e2ZbaD4+Ml09KGR8MCk9PTQ/NjY6OTg7b0MoYiw3OTI1NixoKTtDYyhi
LGZbYz4+Ml18MCk7UGMoYixhKzh8MCk7YnJlYWt9Y2FzZSA2OntvQyhiLDc5MzA0LEErNTZ8MCk7
Q2MoYixmW2M+PjJdfDApO1BjKGIsYSs4fDApO2JyZWFrfWNhc2UgNzp7b0MoYiw3OTMxNixBKzY0
fDApO0NjKGIsZltjPj4yXXwwKTtEPStwW2ErMTY+PjNdO3BbaT4+M109K3BbYSs4Pj4zXTtwW2kr
OD4+M109RDtvQyhiLDc5MzI4LGkpO0NjKGIsZltjPj4yXXwwKTt6PWZbYSsyND4+Ml18MDtmW2o+
PjJdPSh6fDApPT0wPzEwODooenwwKT09MT85OToxMTQ7b0MoYiw3OTM1MCxqKTtDYyhiLGZbYz4+
Ml18MCk7cFtrPj4zXT0rcFthKzMyPj4zXTtvQyhiLDc5MzY2LGspO0NjKGIsZltjPj4yXXwwKTt6
PUtjKGZbYSs0MD4+Ml18MCxjKXwwO2ZbbD4+Ml09ejtvQyhiLDc5MzgzLGwpO2JyZWFrfWNhc2Ug
OTpjYXNlIDg6e2ZbbT4+Ml09KGR8MCk9PTg/Njc6OTk7b0MoYiw3OTI1NixtKTtDYyhiLGZbYz4+
Ml18MCk7b0MoYiw3OTM5NyxBKzEyMHwwKTtDYyhiLGZbYz4+Ml18MCk7ej1LYyhmW2ErOD4+Ml18
MCxjKXwwO2Zbbj4+Ml09ejtvQyhiLDc5NDE0LG4pO2JyZWFrfWNhc2UgMTM6Y2FzZSAxNDp7Zltv
Pj4yXT0oZHwwKT09MTM/Njc6OTk7b0MoYiw3OTI1NixvKTtDYyhiLGZbYz4+Ml18MCk7c3dpdGNo
KGZbYSs4Pj4yXXwwKXtjYXNlIDA6e29DKGIsNzkzOTcsQSsxNDR8MCk7Q2MoYixmW2M+PjJdfDAp
O3o9S2MoZlthKzE2Pj4yXXwwLGMpfDA7ZltxPj4yXT16O29DKGIsNzk0MTQscSk7YnJlYWsgYX1j
YXNlIDE6e29DKGIsNzk0MjksQSsxNjB8MCk7Q2MoYixmW2M+PjJdfDApO1FjKGIsYSsxNnwwLGMp
O2JyZWFrIGF9ZGVmYXVsdDp7b0MoYiw3OTQ0OCxBKzE2OHwwKTtDYyhiLGZbYz4+Ml18MCk7UmMo
YixhKzE2fDAsYyk7YnJlYWsgYX19fWNhc2UgMTA6e29DKGIsNzk0Njcscik7Q2MoYixmW2M+PjJd
fDApO3Bbcz4+M109K3BbYSs4Pj4zXTtvQyhiLDc5NDc5LHMpO0NjKGIsZltjPj4yXXwwKTt6PUtj
KGZbYSsxNj4+Ml18MCxjKXwwO2ZbdT4+Ml09ejtvQyhiLDc5NDk1LHUpO2JyZWFrfWNhc2UgMTE6
e29DKGIsNzk1MDksdik7Q2MoYixmW2M+PjJdfDApO3o9S2MoZlthKzg+PjJdfDAsYyl8MDtmW3c+
PjJdPXo7b0MoYiw3OTUyMSx3KTticmVha31jYXNlIDE1OntvQyhiLDc5NTM2LHgpO0NjKGIsZltj
Pj4yXXwwKTtmW3k+PjJdPWZbYSs4Pj4yXTtvQyhiLDc5NTQ4LHkpO2JyZWFrfWRlZmF1bHQ6e319
d2hpbGUoMCk7ej0oZltjPj4yXXwwKSstMXwwO2ZbYz4+Ml09ejtDYyhiLHopO2lDKGIsODczOTcp
fDA7dD1BO3JldHVybn1mdW5jdGlvbiBQYyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9
MCxnPTAsaD0wLGk9MCxqPTAuMDtpPXQ7dD10KzQ4fDA7aD1pKzMyfDA7Zz1pKzE2fDA7ZT1pKzh8
MDtkPWZbYj4+Ml18MDtjPWZbYis0Pj4yXXwwO29DKGEsNzk3MDksaSk7Yj0wO3doaWxlKDEpe2lm
KChifDApPj0oZHwwKSlicmVhaztpZihifDApb0MoYSwxMDkzMjUsZSk7aj0rcFtjKyhiKjI0fDAp
Kzg+PjNdO3BbZz4+M109K3BbYysoYioyNHwwKT4+M107cFtnKzg+PjNdPWo7b0MoYSw3OTcyMSxn
KTtiPWIrMXwwfW9DKGEsNzk2NjIsaCk7dD1pO3JldHVybn1mdW5jdGlvbiBRYyhhLGIsYyl7YT1h
fDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLjAsaD0wO2Q9dDt0PXQrMzJ8MDtlPWQrMTZ8
MDtoPWQ7Q2MoYSxmW2M+PjJdfDApO2c9K3BbYis4Pj4zXTtwW2g+PjNdPStwW2I+PjNdO3BbaCs4
Pj4zXT1nO29DKGEsNzk2NjUsaCk7Q2MoYSxmW2M+PjJdfDApO2c9K3BbYisyND4+M107cFtlPj4z
XT0rcFtiKzE2Pj4zXTtwW2UrOD4+M109ZztvQyhhLDc5Njg3LGUpO0NjKGEsZltjPj4yXXwwKTtT
YyhhLGZbYiszMj4+Ml18MCxmW2IrMzY+PjJdfDAsYyk7dD1kO3JldHVybn1mdW5jdGlvbiBSYyhh
LGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLjAsaD0wLjAsaT0wO2Q9dDt0
PXQrNDh8MDtlPWQrMjR8MDtpPWQ7Q2MoYSxmW2M+PjJdfDApO2c9K3BbYis4Pj4zXTtoPStwW2Ir
MTY+PjNdO3BbaT4+M109K3BbYj4+M107cFtpKzg+PjNdPWc7cFtpKzE2Pj4zXT1oO29DKGEsNzk1
NjQsaSk7Q2MoYSxmW2M+PjJdfDApO2g9K3BbYiszMj4+M107Zz0rcFtiKzQwPj4zXTtwW2U+PjNd
PStwW2IrMjQ+PjNdO3BbZSs4Pj4zXT1oO3BbZSsxNj4+M109ZztvQyhhLDc5NTkyLGUpO0NjKGEs
ZltjPj4yXXwwKTtTYyhhLGZbYis0OD4+Ml18MCxmW2IrNTI+PjJdfDAsYyk7dD1kO3JldHVybn1m
dW5jdGlvbiBTYyhhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxo
PTAsaT0wLGo9MCxrPTAsbD0wLjA7aj10O3Q9dCs0OHwwO2k9aiszMnwwO2g9aisxNnwwO2c9ais4
fDA7b0MoYSw3OTYyMCxqKTtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+PShifDApKWJyZWFrO2lmKGV8
MClvQyhhLDEwOTMyNSxnKTtsPStuW2MrKGU8PDMpPj4yXTtrPUtjKGZbYysoZTw8MykrND4+Ml18
MCxkKXwwO3BbaD4+M109bDtmW2grOD4+Ml09aztvQyhhLDc5NjMxLGgpO2U9ZSsxfDB9b0MoYSw3
OTY2MixpKTt0PWo7cmV0dXJufWZ1bmN0aW9uIFRjKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2
YXIgZD0wLGU9MCxnPTA7Zz10O3Q9dCsxNnwwO2U9ZztkPXdiW2ZbYT4+Ml0mNjNdKGEsYiw1MTIp
fDA7aWYoZCl7aWYoKGZbZCsxMj4+Ml18MCkhPShjfDApKXtmW2U+PjJdPWI7WXcoMCw3OTgwOCxl
KXwwfX1lbHNle2U9Tl8oMSwxNil8MDtkPXYyKGIpfDA7ZltlKzg+PjJdPWQ7ZltlKzEyPj4yXT1j
O3diW2ZbYT4+Ml0mNjNdKGEsZSwxKXwwfXQ9ZztyZXR1cm59ZnVuY3Rpb24gVWMoYSxiLGMpe2E9
YXwwO2I9YnwwO2M9Y3wwO01fKGZbYis4Pj4yXXwwKTtNXyhiKTtyZXR1cm59ZnVuY3Rpb24gVmMo
YSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTA7Yj10O3Q9dCszMnww
O2M9YisyNHwwO2Q9YisxNnwwO2c9YjtlPWZbYSsxNj4+Ml18MDtpQyhhLDgwNjYzKXwwO2o9Zltm
W2ErMTI+PjJdPj4yXXwwO2k9ZltqKzQ+PjJdfDA7aD1mW2orOD4+Ml18MDtmW2c+PjJdPWZbaj4+
Ml07ZltnKzQ+PjJdPWk7ZltnKzg+PjJdPWg7b0MoYSw4MDY3MyxnKTtlPUF5KGZbZSs4Pj4yXXww
KXwwO2ZbZD4+Ml09ZTtvQyhhLDgwNzA4LGQpO2Q9VihmW2ErMTY4Pj4yXXwwLGZbYSsxNjQ+PjJd
fDApfDA7ZltjPj4yXT1kO29DKGEsODA3MjEsYyk7aUMoYSw4MDczNCl8MDtpQyhhLDgwNzQ0KXww
O2lDKGEsODA3NTIpfDA7aUMoYSw4MDc2MCl8MDtpQyhhLDgwNzY4KXwwO2lDKGEsODA3NzYpfDA7
aUMoYSw4MDc4NCl8MDtpQyhhLDgwNzg4KXwwO2lDKGEsODA3OTMpfDA7dD1iO3JldHVybn1mdW5j
dGlvbiBXYyhhKXthPWF8MDtpQyhhLDgwNjQ0KXwwO3JldHVybn1mdW5jdGlvbiBYYyhhKXthPWF8
MDtmWzQ4MTIyXT0yO3JldHVybn1mdW5jdGlvbiBZYyhhKXthPWF8MDtmWzQ4MTIyXT0xO3JldHVy
bn1mdW5jdGlvbiBaYyhhKXthPWF8MDtmWzQ4MTIyXT0yO3JldHVybn1mdW5jdGlvbiBfYyhhKXth
PWF8MDtmWzQ4MTIyXT0wO3JldHVybn1mdW5jdGlvbiAkYyhhKXthPWF8MDtmWzQ4MTIyXT0yO3Jl
dHVybn1mdW5jdGlvbiBhZChhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAuMCxo
PTAuMCxpPTAsaj0wLjAsaz0wLGw9MCxtPTAsbj0wLG89MC4wLHE9MC4wLHI9MDtuPXQ7dD10Kzgw
fDA7bT1uO2s9ZlsoZlthKzE2Pj4yXXwwKSsxNj4+Ml18MDtsPWZbNDgxMjJdfDA7ZT1mW2QrND4+
Ml18MDtnPStwW2ErMzUyPj4zXSorcFtlKzE2Pj4zXTtoPShmW2ErMzYwPj4yXXwwKT09MD8wLjA6
MS41NzA3OTYzMjY3OTQ4OTY2O2k9ZltkPj4yXXwwO2o9ZyouMzMzMzMzMzMzMzMzMzMzMyorKChj
MChpKXwwKT4+PjApO2U9ZltlKzg+PjJdfDA7aWYoIWUpZT0tMTtlbHNlIGU9ZltlKzIwPj4yXXww
O3I9YltkKzQ4Pj4wXXwwO3E9K3BbYz4+M107bz0rcFtjKzg+PjNdO2Q9a2QoaSl8MDtmW20+PjJd
PTQ7ZlttKzQ+PjJdPXI8PDI0Pj4yND09MTA4PzA6cjw8MjQ+PjI0PT0xMTQ/MjoxO2ZbbSs4Pj4y
XT1rO2ZbbSsxMj4+Ml09bDtmW20rMTY+PjJdPTA7ZlttKzIwPj4yXT1lO3BbbSsyND4+M109Zztw
W20rMzI+PjNdPWg7ZlttKzQwPj4yXT02O3BbbSs0OD4+M109ZztwW20rNTY+PjNdPWo7ZlttKzY0
Pj4yXT1+fihxKyhxPj0wLjA/LjU6LS41KSk7ZlttKzY4Pj4yXT1+fihvKyhvKy03Mi4wPj0wLjA/
LTcxLjU6LTcyLjUpKTtmW20rNzI+PjJdPWQ7b0MoYSw4MDU4OSxtKTt0PW47cmV0dXJufWZ1bmN0
aW9uIGJkKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGk9MCxqPTAsaz0wLGw9MCxt
PTAsbj0wO209dDt0PXQrMzJ8MDtqPW07aT1tKzIwfDA7bD1jKzMyfDA7YTpkbyBzd2l0Y2goZlts
Pj4yXXwwKXtjYXNlIDU6e2Q9MDt3aGlsZSgxKXtlPWZbMTE1MisoZDw8Mik+PjJdfDA7aWYoKGR8
MCk9PTgpYnJlYWsgYTtnPWZbYz4+Ml18MDtpZigoYltlPj4wXXwwKT09KGJbZz4+MF18MCk/KEgk
KGUsZyl8MCk9PTA6MCl7az0xMDticmVhayBhfWQ9ZCsxfDB9fWNhc2UgMTp7ZT1jKzF8MDtnPWMr
MnwwO2Q9KGpkKGksaFtjPj4wXXwwLGhbZT4+MF18MCxoW2c+PjBdfDApfDApKzMyfDA7aWYoIShm
W2k+PjJdfDApKWs9MTA7ZWxzZXtuPWhbYz4+MF18MDtpPWhbZT4+MF18MDtrPWhbZz4+MF18MDtm
W2o+PjJdPTA7ZltqKzQ+PjJdPWQ7ZltqKzg+PjJdPW47ZltqKzEyPj4yXT1pO2ZbaisxNj4+Ml09
aztvQyhhLDgwNTMyLGopO2s9MTB9YnJlYWt9ZGVmYXVsdDp4YSgxNDY2NjQsNzk5MjksMTYzLDc5
OTYwKX13aGlsZSgwKTtpZigoa3wwKT09MTApZltjPj4yXT1kO2ZbbD4+Ml09Njt0PW07cmV0dXJu
fWZ1bmN0aW9uIGNkKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAuMCxo
PTAuMCxpPTAsaj0wLGs9MC4wLGw9MC4wLG09MC4wLG49MCxvPTAscT0wLHI9MCxzPTAsdT0wO2Q9
dDt0PXQrMTEyfDA7ZT1kKzh8MDt1PWQrMTA0fDA7cz1kO2o9ZlthKzE2Pj4yXXwwO3I9fn4rcFtq
KzE1Mj4+M107cT1mW2orMTY+PjJdfDA7bz1mW2orNTY+PjJdfDA7bj1mWzQ4MTIyXXwwO2hkKGos
dSxzKTtsPStwW2I+PjNdO2o9fn4obCsobD49MC4wPy41Oi0uNSkpO2s9K3BbYis4Pj4zXTtpPX5+
KGsrKGs+PTAuMD8uNTotLjUpKTtoPStwW2IrMTY+PjNdO2w9aC1sO2c9K3BbYisyND4+M107az1n
LWs7Yj1mW3U+PjJdfDA7bT0rcFtzPj4zXTtmW2U+PjJdPTE7ZltlKzQ+PjJdPTE7ZltlKzg+PjJd
PWI7ZltlKzEyPj4yXT1yO2ZbZSsxNj4+Ml09cTtmW2UrMjA+PjJdPW87ZltlKzI0Pj4yXT1uO2Zb
ZSsyOD4+Ml09MDtmW2UrMzI+PjJdPShjfDApPT0wPy0xOjIwO3BbZSs0MD4+M109bTtmW2UrNDg+
PjJdPTA7cFtlKzU2Pj4zXT0wLjA7ZltlKzY0Pj4yXT1qO2ZbZSs2OD4+Ml09aTtmW2UrNzI+PjJd
PX5+KGwrKGw+PTAuMD8uNTotLjUpKTtmW2UrNzY+PjJdPX5+KGsrKGs+PTAuMD8uNTotLjUpKTtm
W2UrODA+PjJdPWo7ZltlKzg0Pj4yXT1pO2ZbZSs4OD4+Ml09fn4oaCsoaD49MC4wPy41Oi0uNSkp
O2ZbZSs5Mj4+Ml09fn4oZysoZz49MC4wPy41Oi0uNSkpO29DKGEsODA0NjcsZSk7dD1kO3JldHVy
bn1mdW5jdGlvbiBkZChhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9
MCxoPTAuMCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7ZT10O3Q9dCs5NnwwO2c9ZSs4fDA7
bT1lKzgwfDA7bj1lO289ZlthKzE2Pj4yXXwwO2w9fn4rcFtvKzE1Mj4+M107az1mW28rMTY+PjJd
fDA7aj1mW28rNTY+PjJdfDA7aT1mWzQ4MTIyXXwwO2hkKG8sbSxuKTttPWZbbT4+Ml18MDtoPStw
W24+PjNdO2ZbZz4+Ml09MjtmW2crND4+Ml09MztmW2crOD4+Ml09bTtmW2crMTI+PjJdPWw7Zltn
KzE2Pj4yXT1rO2ZbZysyMD4+Ml09ajtmW2crMjQ+PjJdPWk7ZltnKzI4Pj4yXT0wO2ZbZyszMj4+
Ml09KGR8MCk9PTA/LTE6MjA7cFtnKzQwPj4zXT1oO2ZbZys0OD4+Ml09MDtmW2crNTI+PjJdPTA7
ZltnKzU2Pj4yXT0wO2ZbZys2MD4+Ml09MDtmW2crNjQ+PjJdPTA7ZltnKzY4Pj4yXT1jKzE7b0Mo
YSw4MDM3MSxnKTtpZChhLGIsYywxKTt0PWU7cmV0dXJufWZ1bmN0aW9uIGVkKGEsYixjLGQsZSxn
KXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8MDt2YXIgaD0wLGk9MCxqPTAsaz0w
LGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAs
Qj0wLEM9MCxEPTAuMCxFPTAuMCxGPTA7Qz10O3Q9dCsxOTJ8MDtCPUMrMTc2fDA7ej1DKzE2OHww
O0E9QysxMDR8MDt5PUMrOTZ8MDtoPUMrODh8MDt1PUMrMTgwfDA7dj1DKzgwfDA7dz1DO3g9Qys2
NHwwO2U9YSsxNnwwO2Q9ZltlPj4yXXwwO289fn4rcFtkKzE1Mj4+M107cT1mW2QrMTY+PjJdfDA7
cj1mWzQ4MTIyXXwwO2lmKChjfDApPD0zKXhhKDc5OTIyLDc5OTI5LDM2MCw3OTk0OSk7cz1MXygo
YyoxNDB8MCkrMTQwfDApfDA7aGQoZCx1LHYpO2lmKCFnKXttPTQ7aT0wO2o9LTF9ZWxzZXttPTU7
aT1mWyhmW2U+PjJdfDApKzU2Pj4yXXwwO2o9MjB9RT0rcFtiPj4zXTtsPXcrNDh8MDtwW2w+PjNd
PUU7RD0rcFtiKzg+PjNdO3Bbdys1Nj4+M109RDtmW2g+PjJdPX5+KEUrKEU+PTAuMD8uNTotLjUp
KTtmW2grND4+Ml09fn4oRCsoRD49MC4wPy41Oi0uNSkpO2s9eCs4fDA7ZD1zKyhkJChzLDkzMTM5
LGgpfDApfDA7bj0xO2c9MDt3aGlsZSgxKXtoPWcrM3wwO2lmKChofDApPj0oY3wwKSlicmVhaztm
W3c+PjJdPWZbbD4+Ml07Zlt3KzQ+PjJdPWZbbCs0Pj4yXTtmW3crOD4+Ml09ZltsKzg+PjJdO2Zb
dysxMj4+Ml09ZltsKzEyPj4yXTtlPTE7d2hpbGUoMSl7aWYoKGV8MCk9PTQpYnJlYWs7Rj1lK2d8
MDtwW3crKGU8PDQpPj4zXT0rcFtiKyhGPDw0KT4+M107cFt3KyhlPDw0KSs4Pj4zXT0rcFtiKyhG
PDw0KSs4Pj4zXTtlPWUrMXwwfWU9MTt3aGlsZSgxKXtpZigoZXwwKT09NylicmVhaztlTSh4LHcs
MywrKGV8MCkqLjE2NjY2NjY2NjY2NjY2NjY2LDAsMCk7RD0rcFt4Pj4zXTtFPStwW2s+PjNdO2Zb
eT4+Ml09fn4oRCsoRD49MC4wPy41Oi0uNSkpO2ZbeSs0Pj4yXT1+fihFKyhFPj0wLjA/LjU6LS41
KSk7ZT1lKzF8MDtkPWQrKGQkKGQsOTMxMzkseSl8MCl8MH1uPW4rNnwwO2c9aH1lPWZbdT4+Ml18
MDtFPStwW3Y+PjNdO2ZbQT4+Ml09MztmW0ErND4+Ml09bTtmW0ErOD4+Ml09ZTtmW0ErMTI+PjJd
PW87ZltBKzE2Pj4yXT1xO2ZbQSsyMD4+Ml09aTtmW0ErMjQ+PjJdPXI7ZltBKzI4Pj4yXT0wO2Zb
QSszMj4+Ml09ajtwW0ErNDA+PjNdPUU7ZltBKzQ4Pj4yXT0wO2ZbQSs1Mj4+Ml09MDtmW0ErNTY+
PjJdPTA7ZltBKzYwPj4yXT1uO29DKGEsODA0MjIsQSk7Zlt6Pj4yXT1zO29DKGEsOTMxNDYseik7
TV8ocyk7ZT1uKy0xfDA7ZD0wO3doaWxlKDEpe2lmKChkfDApPj0obnwwKSlicmVhaztmW0I+PjJd
PSgoZHwwKSUoZXwwKXwwfDApIT0wJjE7b0MoYSw5MzE1MSxCKTtkPWQrMXwwfWlDKGEsMTUxMTIy
KXwwO3Q9QztyZXR1cm59ZnVuY3Rpb24gZmQoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBk
PTAsZT0wLGc9MC4wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wO2Q9dDt0PXQrOTZ8MDtlPWQrOHww
O2s9ZCs4MHwwO2w9ZDttPWZbYSsxNj4+Ml18MDtqPX5+K3BbbSsxNTI+PjNdO2k9ZlttKzE2Pj4y
XXwwO2g9Zls0ODEyMl18MDtoZChtLGssbCk7az1mW2s+PjJdfDA7Zz0rcFtsPj4zXTtmW2U+PjJd
PTI7ZltlKzQ+PjJdPTE7ZltlKzg+PjJdPWs7ZltlKzEyPj4yXT1qO2ZbZSsxNj4+Ml09aTtmW2Ur
MjA+PjJdPTA7ZltlKzI0Pj4yXT1oO2ZbZSsyOD4+Ml09MDtmW2UrMzI+PjJdPTA7cFtlKzQwPj4z
XT1nO2ZbZSs0OD4+Ml09MDtmW2UrNTI+PjJdPTA7ZltlKzU2Pj4yXT0wO2ZbZSs2MD4+Ml09MDtm
W2UrNjQ+PjJdPTA7ZltlKzY4Pj4yXT1jO29DKGEsODAzNzEsZSk7aWQoYSxiLGMsMCk7dD1kO3Jl
dHVybn1mdW5jdGlvbiBnZChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wO2M9dDt0PXQrMTZ8
MDtkPWM7ZltkPj4yXT1iO29DKGEsODAzNjUsZCk7dD1jO3JldHVybn1mdW5jdGlvbiBoZChhLGIs
Yyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MDtkPWZbYSsxNDQ+PjJdfDA7YT0oZCstMXwwKT4+
PjA8MjtmW2I+PjJdPWE/ZDowO3BbYz4+M109YT8xMC4wOjAuMDtyZXR1cm59ZnVuY3Rpb24gaWQo
YSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAu
MCxrPTAuMDtpPXQ7dD10KzE2fDA7aD1pKzh8MDtnPWk7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0o
Y3wwKSlicmVhaztrPStwW2IrKGU8PDQpPj4zXTtqPStwW2IrKGU8PDQpKzg+PjNdO2ZbZz4+Ml09
fn4oaysoaz49MC4wPy41Oi0uNSkpO2ZbZys0Pj4yXT1+fihqKyhqPj0wLjA/LjU6LS41KSk7b0Mo
YSw5MzEzOSxnKTtlPWUrMXwwfWlmKGR8MCl7aj0rcFtiPj4zXTtrPStwW2IrOD4+M107ZltoPj4y
XT1+fihqKyhqPj0wLjA/LjU6LS41KSk7ZltoKzQ+PjJdPX5+KGsrKGs+PTAuMD8uNTotLjUpKTtv
QyhhLDkzMTM5LGgpfWlDKGEsMTUxMTIyKXwwO3Q9aTtyZXR1cm59ZnVuY3Rpb24gamQoYSxiLGMs
ZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09
MCxuPTA7ZlthPj4yXT0wO2s9Zls0ODEyM118MDtoPTE5NTA3NTtnPTA7aT0tMTt3aGlsZSgxKXtp
ZigoZ3wwKT49KGt8MCkpe2w9NjticmVha31tPShkWzE1MTQ1NisoZzw8MSk+PjFdfDApLWJ8MDtu
PShkWzE1MTk2OCsoZzw8MSk+PjFdfDApLWN8MDtqPShkWzE1MjQ4MCsoZzw8MSk+PjFdfDApLWV8
MDtqPShWKG4sbil8MCkrKFYobSxtKXwwKSsoVihqLGopfDApfDA7aWYoKGp8MCk8KGh8MCkpaWYo
IWopYnJlYWs7ZWxzZXtoPWo7aT1nfWc9ZysxfDB9aWYoKGx8MCk9PTYpe2ZbNDgxMjNdPWsrMTtp
Zigoa3wwKT09MjU2KWc9aTtlbHNle2RbMTUxNDU2KyhnPDwxKT4+MV09YjtkWzE1MTk2OCsoZzw8
MSk+PjFdPWM7ZFsxNTI0ODArKGc8PDEpPj4xXT1lO2ZbYT4+Ml09MX19cmV0dXJuIGd8MH1mdW5j
dGlvbiBrZChhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTA7aT10O3Q9dCsxNnww
O2g9aTtjPWZbNDgxMjRdfDA7aWYoIWMpe2ZbNDgxMjVdPTY0O2M9TF8oNjQpfDA7Zls0ODEyNF09
Y31kPTA7d2hpbGUoMSl7Zz1hKzF8MDtlPWJbYT4+MF18MDtpZighKGU8PDI0Pj4yNCkpYnJlYWs7
YT1mWzQ4MTI1XXwwO2lmKChkfDApPihhKy04fDApKXtjPWE8PDE7Zls0ODEyNV09YztjPU9fKGZb
NDgxMjRdfDAsYyl8MDtmWzQ4MTI0XT1jO2M9YytkfDB9aWYoZTw8MjQ+PjI0Pi0xKXtpZihlPDwy
ND4+MjQ9PTkyKXtiW2M+PjBdPTkyO2Q9ZCsxfDA7Yz1jKzF8MH1iW2M+PjBdPWU7Yz1jKzF8MDtk
PWQrMXwwfWVsc2V7YltjPj4wXT05MjtmW2g+PjJdPWUmMjU1O2QkKGMrMXwwLDkzMjY0LGgpfDA7
Yz1jKzR8MDtkPWQrNHwwfWE9Z31iW2M+PjBdPTA7dD1pO3JldHVybiBmWzQ4MTI0XXwwfWZ1bmN0
aW9uIGxkKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MDtkPWZbYSsxNj4+Ml18MDtzd2l0Y2goZlth
KzY0Pj4yXXwwKXtjYXNlIDA6e2lDKGEsODAyNjApfDA7Yz1kKzIwOHwwO2Q9ZltjPj4yXXwwO2lm
KGR8MD9iW2Q+PjBdfDA6MCl7aUMoYSw4MDI3NCl8MDtpQyhhLHpIKGZbYz4+Ml18MCl8MCl8MDtp
QyhhLDE1MTEyMil8MH1icmVha31jYXNlIDE6e2M9ZCsyMDh8MDtlPWZbYz4+Ml18MDtpZihlfDA/
YltlPj4wXXwwOjApe2lDKGEsODAyNzQpfDA7aUMoYSx6SChmW2M+PjJdfDApfDApfDA7aUMoYSwx
MTA5MzApfDA7aUMoYSx6SChBeShmW2QrOD4+Ml18MCl8MCl8MCl8MDtpQyhhLDE1MTEyMil8MH1i
cmVha31jYXNlIDM6e2U9ekgoQXkoZltkKzg+PjJdfDApfDApfDA7aUMoYSw4MDI4Myl8MDtpQyhh
LGUpfDA7aUMoYSw4MDI5Myl8MDtpQyhhLGUpfDA7aUMoYSw4MDI0OCl8MDticmVha31kZWZhdWx0
Ont9fXJldHVybn1mdW5jdGlvbiBtZChhKXthPWF8MDt2YXIgYj0wO2I9ZlthKzE2Pj4yXXwwO3N3
aXRjaChmW2ErNjQ+PjJdfDApe2Nhc2UgMjp7b2QoYSxmW2IrMjY0Pj4yXXwwLGZbYisyNzI+PjJd
fDAsZltiKzI2OD4+Ml18MCxmW2IrMjA4Pj4yXXwwLGZbYisyMjg+PjJdfDAsZltiKzI0ND4+Ml18
MCxmW2IrMjEyPj4yXXwwKTticmVha31jYXNlIDM6e29kKGEsZltiKzI2ND4+Ml18MCxmW2IrMjcy
Pj4yXXwwLGZbYisyNjg+PjJdfDAsZltiKzIwOD4+Ml18MCxmW2IrMjI4Pj4yXXwwLGZbYisyNDQ+
PjJdfDAsZltiKzIxMj4+Ml18MCk7aUMoYSw4MDI1Mil8MDticmVha31kZWZhdWx0Ont9fXJldHVy
bn1mdW5jdGlvbiBuZChhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3Zh
ciBnPTA7Zz1mW2ErMTY+PjJdfDA7b2QoYSxmW2crMjY0Pj4yXXwwLGZbZysyNzI+PjJdfDAsZltn
KzI2OD4+Ml18MCxiLGMsZCxlKTtyZXR1cm59ZnVuY3Rpb24gb2QoYSxjLGQsZSxnLGgsaSxqKXth
PWF8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8MDtoPWh8MDtpPWl8MDtqPWp8MDt2YXIgaz0wLGw9
MCxtPTAsbj0wLG89MCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MC4wO3k9dDt0
PXQrMTI4fDA7eD15KzEyMHwwO3U9eSsxMTJ8MDtzPXkrOTZ8MDtyPXkrODB8MDtxPXkrNTZ8MDt3
PXkrNDh8MDtvPXkrNDB8MDt2PXkrMjR8MDtuPXk7YTpkbyBpZigoZHwwKSE9MCYoZXwwKSE9MCl7
az1lKzEwfDA7aWYoKGZbNDgxMjZdfDApPChlfDApKXtmWzQ4MTI2XT1rO209T18oZls0ODEyN118
MCxrPDwzKXwwO2ZbNDgxMjddPW19ZWxzZSBtPWZbNDgxMjddfDA7az0wO3doaWxlKDEpe2lmKChr
fDApPj0oZXwwKSlicmVhazt6PStwW2QrKGs8PDQpPj4zXTtmW20rKGs8PDMpPj4yXT1+fih6Kyh6
Pj0wLjA/LjU6LS41KSk7ej0rcFtkKyhrPDw0KSs4Pj4zXTtmW20rKGs8PDMpKzQ+PjJdPX5+KHor
KHo+PTAuMD8uNTotLjUpKTtrPWsrMXwwfWw9YSs2NHwwO2s9ZltsPj4yXXwwO2Q9KGd8MCkhPTA7
aWYoZCYoa3wwKT09MCl7aWYoIShiW2c+PjBdfDApKWJyZWFrO3N3aXRjaChjfDApe2Nhc2UgMDp7
dj1mW20+PjJdfDA7dz1mW20rMTI+PjJdfDA7eD1mW20rOD4+Ml18MDtlPWZbbSs0Pj4yXXwwO2Zb
bj4+Ml09ZztmW24rND4+Ml09djtmW24rOD4+Ml09dztmW24rMTI+PjJdPXg7ZltuKzE2Pj4yXT1l
O29DKGEsNzk5OTQsbik7YnJlYWsgYX1jYXNlIDE6e3c9ZlttPj4yXXwwO3g9ZlttKzQ+PjJdfDA7
ZT0oZlttKzg+PjJdfDApLXd8MDtmW3Y+PjJdPWc7Zlt2KzQ+PjJdPXc7Zlt2Kzg+PjJdPXg7Zlt2
KzEyPj4yXT1lO29DKGEsODAwMTUsdik7YnJlYWsgYX1jYXNlIDI6e2Zbbz4+Ml09ZztvQyhhLDgw
MDM1LG8pO2s9MDt3aGlsZSgxKXtpZigoa3wwKT49KGV8MCkpYnJlYWs7dj1mWzQ4MTI3XXwwO3g9
Zlt2KyhrPDwzKSs0Pj4yXXwwO2Zbdz4+Ml09Zlt2KyhrPDwzKT4+Ml07Zlt3KzQ+PjJdPXg7b0Mo
YSw4MDA0Myx3KTtrPWsrMXwwfWlDKGEsMTUxMTIyKXwwO2JyZWFrIGF9ZGVmYXVsdDp4YSgxNDY2
NjQsODAwNTAsNjMsODAwNzApfX1pZihkJihrfDApPT0xKXtpZighKGJbZz4+MF18MCkpYnJlYWs7
aWYoIWMpe3c9ZlttKzEyPj4yXXwwO3g9ZlttKzg+PjJdfDA7ZT1mW20rND4+Ml18MDtmW3E+PjJd
PWZbbT4+Ml07ZltxKzQ+PjJdPXc7ZltxKzg+PjJdPXg7ZltxKzEyPj4yXT1lO2ZbcSsxNj4+Ml09
ZztmW3ErMjA+PjJdPWg7b0MoYSw4MDA4NyxxKTticmVha31lbHNlIHhhKDE0NjY2NCw4MDA1MCw3
NSw4MDA3MCl9aWYoKGsmLTJ8MCk9PTIpe3N3aXRjaChjfDApe2Nhc2UgMTp7aUMoYSw4MDEyMCl8
MDticmVha31jYXNlIDA6e2lDKGEsODAxNDEpfDA7YnJlYWt9Y2FzZSAyOntpQyhhLDgwMTYwKXww
O2JyZWFrfWRlZmF1bHQ6eGEoMTQ2NjY0LDgwMDUwLDkxLDgwMDcwKX1pZihqfDA/YltqPj4wXXww
OjApe2lDKGEsODU2NDApfDA7aUMoYSxDSChqKXwwKXwwO2lDKGEsMTA3MDMxKXwwfWlmKGQ/Yltn
Pj4wXXwwOjApe2lDKGEsODAxNzkpfDA7aUMoYSxDSChnKXwwKXwwO2lDKGEsMTA3MDMxKXwwfWlm
KGl8MD9iW2k+PjBdfDA6MCl7aUMoYSw4NjU5OSl8MDtpQyhhLHpIKGkpfDApfDA7aUMoYSwxMDcw
MzEpfDB9aWYoaHwwP2JbaD4+MF18MDowKXtpQyhhLDgwMTg3KXwwO2lDKGEsekgoaCl8MCl8MDtp
QyhhLDEwNzAzMSl8MH1pQyhhLDgwMTk2KXwwO2lDKGEsODAyMDQpfDA7YjpkbyBzd2l0Y2goY3ww
KXtjYXNlIDE6e2U9Zls0ODEyN118MDt3PWZbZT4+Ml18MDt4PWZbZSs0Pj4yXXwwO2U9KGZbZSs4
Pj4yXXwwKS13fDA7ZltyPj4yXT13O2Zbcis0Pj4yXT14O2Zbcis4Pj4yXT1lO29DKGEsODAyMTQs
cik7YnJlYWt9Y2FzZSAwOnt2PWZbNDgxMjddfDA7dz1mW3YrMTI+PjJdfDA7eD1mW3YrOD4+Ml18
MDtlPWZbdis0Pj4yXXwwO2Zbcz4+Ml09Zlt2Pj4yXTtmW3MrND4+Ml09dztmW3MrOD4+Ml09eDtm
W3MrMTI+PjJdPWU7b0MoYSw4MDIyMyxzKTticmVha31jYXNlIDI6e3c9Zls0ODEyN118MDtrPWZb
dys0Pj4yXXwwO2ZbdT4+Ml09Zlt3Pj4yXTtmW3UrND4+Ml09aztvQyhhLDgwMjM1LHUpO2s9MTt3
aGlsZSgxKXtpZigoa3wwKT49KGV8MCkpYnJlYWsgYjt2PWZbNDgxMjddfDA7dz1mW3YrKGs8PDMp
KzQ+PjJdfDA7Zlt4Pj4yXT1mW3YrKGs8PDMpPj4yXTtmW3grND4+Ml09dztvQyhhLDgwMjQxLHgp
O2s9aysxfDB9fWRlZmF1bHQ6e319d2hpbGUoMCk7aWYoKGZbbD4+Ml18MCk9PTMpe2lDKGEsODU0
NjQpfDA7YnJlYWt9ZWxzZXtpQyhhLDgwMjQ4KXwwO2JyZWFrfX19d2hpbGUoMCk7dD15O3JldHVy
bn1mdW5jdGlvbiBwZChhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9
MDtiPXQ7dD10KzMyfDA7Yz1iKzI0fDA7ZD1iKzE2fDA7Zz1iO2U9ZlthKzE2Pj4yXXwwO2lDKGEs
ODA2NjMpfDA7aj1mW2ZbYSsxMj4+Ml0+PjJdfDA7aT1mW2orND4+Ml18MDtoPWZbais4Pj4yXXww
O2ZbZz4+Ml09ZltqPj4yXTtmW2crND4+Ml09aTtmW2crOD4+Ml09aDtvQyhhLDgwNjczLGcpO2U9
QXkoZltlKzg+PjJdfDApfDA7ZltkPj4yXT1lO29DKGEsODA3MDgsZCk7ZD1WKGZbYSsxNjg+PjJd
fDAsZlthKzE2ND4+Ml18MCl8MDtmW2M+PjJdPWQ7b0MoYSw4MDcyMSxjKTtpQyhhLDgwNzM0KXww
O2lDKGEsODA3NDQpfDA7aUMoYSw4MDc1Mil8MDtpQyhhLDgwNzYwKXwwO2lDKGEsODA3NjgpfDA7
aUMoYSw4MDc3Nil8MDtpQyhhLDgwNzg0KXwwO2lDKGEsODA3ODgpfDA7aUMoYSw4MDc5Myl8MDt0
PWI7cmV0dXJufWZ1bmN0aW9uIHFkKGEpe2E9YXwwO2lDKGEsODA2NDQpfDA7cmV0dXJufWZ1bmN0
aW9uIHJkKGEpe2E9YXwwO2ZbNDgxMjhdPTI7cmV0dXJufWZ1bmN0aW9uIHNkKGEpe2E9YXwwO2Zb
NDgxMjhdPTE7cmV0dXJufWZ1bmN0aW9uIHRkKGEpe2E9YXwwO2ZbNDgxMjhdPTI7cmV0dXJufWZ1
bmN0aW9uIHVkKGEpe2E9YXwwO2ZbNDgxMjhdPTA7cmV0dXJufWZ1bmN0aW9uIHZkKGEpe2E9YXww
O2ZbNDgxMjhdPTI7cmV0dXJufWZ1bmN0aW9uIHdkKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2
YXIgZT0wLGc9MC4wLGg9MC4wLGk9MCxqPTAsaz0wLGw9MCxtPTAuMCxuPTAuMCxvPTA7bD10O3Q9
dCs4MHwwO2s9bDtpPWZbKGZbYSsxNj4+Ml18MCkrMTY+PjJdfDA7aj1mWzQ4MTI4XXwwO2U9Zltk
KzQ+PjJdfDA7Zz0rcFthKzM1Mj4+M10qK3BbZSsxNj4+M107aD0oZlthKzM2MD4+Ml18MCk9PTA/
MC4wOjEuNTcwNzk2MzI2Nzk0ODk2NjtlPWZbZSs4Pj4yXXwwO2lmKCFlKWU9LTE7ZWxzZSBlPWZb
ZSsyMD4+Ml18MDtvPWJbZCs0OD4+MF18MDtuPStwW2M+PjNdO209K3BbYys4Pj4zXTtkPUdkKGZb
ZD4+Ml18MCl8MDtmW2s+PjJdPTQ7ZltrKzQ+PjJdPW88PDI0Pj4yND09MTA4PzA6bzw8MjQ+PjI0
PT0xMTQ/MjoxO2Zbays4Pj4yXT1pO2ZbaysxMj4+Ml09ajtmW2srMTY+PjJdPTA7ZltrKzIwPj4y
XT1lO3BbaysyND4+M109ZztwW2srMzI+PjNdPWg7ZltrKzQwPj4yXT00O3Bbays0OD4+M109MC4w
O3Bbays1Nj4+M109MC4wO2Zbays2ND4+Ml09fn4obisobj49MC4wPy41Oi0uNSkpO2Zbays2OD4+
Ml09fn4obSsobT49MC4wPy41Oi0uNSkpO2Zbays3Mj4+Ml09ZDtvQyhhLDgwNTg5LGspO3Q9bDty
ZXR1cm59ZnVuY3Rpb24geGQoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaT0wLGo9
MCxrPTAsbD0wLG09MCxuPTA7bT10O3Q9dCszMnwwO2o9bTtpPW0rMjB8MDtsPWMrMzJ8MDtkPWZb
bD4+Ml18MDthOmRvIHN3aXRjaChkfDApe2Nhc2UgNTp7ZD0wO3doaWxlKDEpe2U9ZlsxMTUyKyhk
PDwyKT4+Ml18MDtpZigoZHwwKT09OClicmVhayBhO2c9ZltjPj4yXXwwO2lmKChiW2U+PjBdfDAp
PT0oYltnPj4wXXwwKT8oSCQoZSxnKXwwKT09MDowKXtrPTEwO2JyZWFrIGF9ZD1kKzF8MH19Y2Fz
ZSAxOntlPWMrMXwwO2c9YysyfDA7ZD0oRmQoaSxoW2M+PjBdfDAsaFtlPj4wXXwwLGhbZz4+MF18
MCl8MCkrMzJ8MDtpZighKGZbaT4+Ml18MCkpaz0xMDtlbHNle249aFtjPj4wXXwwO2k9aFtlPj4w
XXwwO2s9aFtnPj4wXXwwO2Zbaj4+Ml09MDtmW2orND4+Ml09ZDtmW2orOD4+Ml09bjtmW2orMTI+
PjJdPWk7ZltqKzE2Pj4yXT1rO29DKGEsODA1MzIsaik7az0xMH1icmVha31jYXNlIDA6e2s9MTA7
YnJlYWt9ZGVmYXVsdDp4YSgxNDY2NjQsODA1NTMsMTY4LDgwNTcyKX13aGlsZSgwKTtpZigoa3ww
KT09MTApZltjPj4yXT1kO2ZbbD4+Ml09Njt0PW07cmV0dXJufWZ1bmN0aW9uIHlkKGEsYixjKXth
PWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAuMCxoPTAuMCxpPTAsaj0wLGs9MC4wLGw9
MC4wLG09MC4wLG49MCxvPTAscT0wLHI9MCxzPTAsdT0wO2Q9dDt0PXQrMTEyfDA7ZT1kKzh8MDt1
PWQrMTA0fDA7cz1kO2o9ZlthKzE2Pj4yXXwwO3I9fn4rcFtqKzE1Mj4+M107cT1mW2orMTY+PjJd
fDA7bz1mW2orNTY+PjJdfDA7bj1mWzQ4MTI4XXwwO0RkKGosdSxzKTtsPStwW2I+PjNdO2o9fn4o
bCsobD49MC4wPy41Oi0uNSkpO2s9K3BbYis4Pj4zXTtpPX5+KGsrKGs+PTAuMD8uNTotLjUpKTto
PStwW2IrMTY+PjNdO2w9aC1sO2c9K3BbYisyND4+M107az1nLWs7Yj1mW3U+PjJdfDA7bT0rcFtz
Pj4zXTtmW2U+PjJdPTE7ZltlKzQ+PjJdPTE7ZltlKzg+PjJdPWI7ZltlKzEyPj4yXT1yO2ZbZSsx
Nj4+Ml09cTtmW2UrMjA+PjJdPW87ZltlKzI0Pj4yXT1uO2ZbZSsyOD4+Ml09MDtmW2UrMzI+PjJd
PShjfDApPT0wPy0xOjIwO3BbZSs0MD4+M109bTtmW2UrNDg+PjJdPTA7cFtlKzU2Pj4zXT0wLjA7
ZltlKzY0Pj4yXT1qO2ZbZSs2OD4+Ml09aTtmW2UrNzI+PjJdPX5+KGwrKGw+PTAuMD8uNTotLjUp
KTtmW2UrNzY+PjJdPX5+KGsrKGs+PTAuMD8uNTotLjUpKTtmW2UrODA+PjJdPWo7ZltlKzg0Pj4y
XT1pO2ZbZSs4OD4+Ml09fn4oaCsoaD49MC4wPy41Oi0uNSkpO2ZbZSs5Mj4+Ml09fn4oZysoZz49
MC4wPy41Oi0uNSkpO29DKGEsODA0NjcsZSk7dD1kO3JldHVybn1mdW5jdGlvbiB6ZChhLGIsYyxk
KXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAuMCxpPTAsaj0wLGs9MCxs
PTAsbT0wLG49MCxvPTA7ZT10O3Q9dCs5NnwwO2c9ZSs4fDA7bT1lKzgwfDA7bj1lO289ZlthKzE2
Pj4yXXwwO2w9fn4rcFtvKzE1Mj4+M107az1mW28rMTY+PjJdfDA7aj1mW28rNTY+PjJdfDA7aT1m
WzQ4MTI4XXwwO0RkKG8sbSxuKTttPWZbbT4+Ml18MDtoPStwW24+PjNdO2ZbZz4+Ml09MjtmW2cr
ND4+Ml09MztmW2crOD4+Ml09bTtmW2crMTI+PjJdPWw7ZltnKzE2Pj4yXT1rO2ZbZysyMD4+Ml09
ajtmW2crMjQ+PjJdPWk7ZltnKzI4Pj4yXT0wO2ZbZyszMj4+Ml09KGR8MCk9PTA/LTE6MjA7cFtn
KzQwPj4zXT1oO2ZbZys0OD4+Ml09MDtmW2crNTI+PjJdPTA7ZltnKzU2Pj4yXT0wO2ZbZys2MD4+
Ml09MDtmW2crNjQ+PjJdPTA7ZltnKzY4Pj4yXT1jKzE7b0MoYSw4MDM3MSxnKTtFZChhLGIsYywx
KTt0PWU7cmV0dXJufWZ1bmN0aW9uIEFkKGEsYixjLGQsZSxnKXthPWF8MDtiPWJ8MDtjPWN8MDtk
PWR8MDtlPWV8MDtnPWd8MDt2YXIgaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAs
cj0wLHM9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAuMCxFPTAuMCxG
PTA7Qz10O3Q9dCsxOTJ8MDtCPUMrMTc2fDA7ej1DKzE2OHwwO0E9QysxMDR8MDt5PUMrOTZ8MDtl
PUMrODh8MDt1PUMrMTgwfDA7dj1DKzgwfDA7dz1DO3g9Qys2NHwwO2Q9YSsxNnwwO249ZltkPj4y
XXwwO289fn4rcFtuKzE1Mj4+M107cT1mW24rMTY+PjJdfDA7cj1mWzQ4MTI4XXwwO3M9TF8oKGMq
MTQwfDApKzE0MHwwKXwwO0RkKG4sdSx2KTtpZighZyl7bT00O2k9MDtqPS0xfWVsc2V7bT01O2k9
ZlsoZltkPj4yXXwwKSs1Nj4+Ml18MDtqPTIwfUU9K3BbYj4+M107bD13KzQ4fDA7cFtsPj4zXT1F
O0Q9K3BbYis4Pj4zXTtwW3crNTY+PjNdPUQ7ZltlPj4yXT1+fihFKyhFPj0wLjA/LjU6LS41KSk7
ZltlKzQ+PjJdPX5+KEQrKEQ+PTAuMD8uNTotLjUpKTtrPXgrOHwwO2Q9cysoZCQocyw5MzEzOSxl
KXwwKXwwO249MTtnPTA7d2hpbGUoMSl7aD1nKzN8MDtpZigoaHwwKT49KGN8MCkpYnJlYWs7Zlt3
Pj4yXT1mW2w+PjJdO2Zbdys0Pj4yXT1mW2wrND4+Ml07Zlt3Kzg+PjJdPWZbbCs4Pj4yXTtmW3cr
MTI+PjJdPWZbbCsxMj4+Ml07ZT0xO3doaWxlKDEpe2lmKChlfDApPT00KWJyZWFrO0Y9ZStnfDA7
cFt3KyhlPDw0KT4+M109K3BbYisoRjw8NCk+PjNdO3BbdysoZTw8NCkrOD4+M109K3BbYisoRjw8
NCkrOD4+M107ZT1lKzF8MH1lPTE7d2hpbGUoMSl7aWYoKGV8MCk9PTcpYnJlYWs7ZU0oeCx3LDMs
KyhlfDApKi4xNjY2NjY2NjY2NjY2NjY2NiwwLDApO0Q9K3BbeD4+M107RT0rcFtrPj4zXTtmW3k+
PjJdPX5+KEQrKEQ+PTAuMD8uNTotLjUpKTtmW3krND4+Ml09fn4oRSsoRT49MC4wPy41Oi0uNSkp
O2U9ZSsxfDA7ZD1kKyhkJChkLDkzMTM5LHkpfDApfDB9bj1uKzZ8MDtnPWh9ZT1mW3U+PjJdfDA7
RT0rcFt2Pj4zXTtmW0E+PjJdPTM7ZltBKzQ+PjJdPW07ZltBKzg+PjJdPWU7ZltBKzEyPj4yXT1v
O2ZbQSsxNj4+Ml09cTtmW0ErMjA+PjJdPWk7ZltBKzI0Pj4yXT1yO2ZbQSsyOD4+Ml09MDtmW0Er
MzI+PjJdPWo7cFtBKzQwPj4zXT1FO2ZbQSs0OD4+Ml09MDtmW0ErNTI+PjJdPTA7ZltBKzU2Pj4y
XT0wO2ZbQSs2MD4+Ml09bjtvQyhhLDgwNDIyLEEpO2Zbej4+Ml09cztvQyhhLDkzMTQ2LHopO01f
KHMpO2U9bistMXwwO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KG58MCkpYnJlYWs7ZltCPj4yXT0o
KGR8MCklKGV8MCl8MHwwKSE9MCYxO29DKGEsOTMxNTEsQik7ZD1kKzF8MH1pQyhhLDE1MTEyMil8
MDt0PUM7cmV0dXJufWZ1bmN0aW9uIEJkKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0w
LGU9MCxnPTAuMCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDtkPXQ7dD10Kzk2fDA7ZT1kKzh8MDtr
PWQrODB8MDtsPWQ7bT1mW2ErMTY+PjJdfDA7aj1+fitwW20rMTUyPj4zXTtpPWZbbSsxNj4+Ml18
MDtoPWZbNDgxMjhdfDA7RGQobSxrLGwpO2s9ZltrPj4yXXwwO2c9K3BbbD4+M107ZltlPj4yXT0y
O2ZbZSs0Pj4yXT0xO2ZbZSs4Pj4yXT1rO2ZbZSsxMj4+Ml09ajtmW2UrMTY+PjJdPWk7ZltlKzIw
Pj4yXT0wO2ZbZSsyND4+Ml09aDtmW2UrMjg+PjJdPTA7ZltlKzMyPj4yXT0wO3BbZSs0MD4+M109
ZztmW2UrNDg+PjJdPTA7ZltlKzUyPj4yXT0wO2ZbZSs1Nj4+Ml09MDtmW2UrNjA+PjJdPTA7Zltl
KzY0Pj4yXT0wO2ZbZSs2OD4+Ml09YztvQyhhLDgwMzcxLGUpO0VkKGEsYixjLDApO3Q9ZDtyZXR1
cm59ZnVuY3Rpb24gQ2QoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MDtjPXQ7dD10KzE2fDA7
ZD1jO2ZbZD4+Ml09YjtvQyhhLDgwMzY1LGQpO3Q9YztyZXR1cm59ZnVuY3Rpb24gRGQoYSxiLGMp
e2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTA7ZD1mW2ErMTQ0Pj4yXXwwO2E9KGQrLTF8MCk+Pj4w
PDI7ZltiPj4yXT1hP2Q6MDtwW2M+PjNdPWE/MTAuMDowLjA7cmV0dXJufWZ1bmN0aW9uIEVkKGEs
YixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0wLjAs
az0wLjA7aT10O3Q9dCsxNnwwO2g9aSs4fDA7Zz1pO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KGN8
MCkpYnJlYWs7az0rcFtiKyhlPDw0KT4+M107aj0rcFtiKyhlPDw0KSs4Pj4zXTtmW2c+PjJdPX5+
KGsrKGs+PTAuMD8uNTotLjUpKTtmW2crND4+Ml09fn4oaisoaj49MC4wPy41Oi0uNSkpO29DKGEs
OTMxMzksZyk7ZT1lKzF8MH1pZihkfDApe2o9K3BbYj4+M107az0rcFtiKzg+PjNdO2ZbaD4+Ml09
fn4oaisoaj49MC4wPy41Oi0uNSkpO2ZbaCs0Pj4yXT1+fihrKyhrPj0wLjA/LjU6LS41KSk7b0Mo
YSw5MzEzOSxoKX1pQyhhLDE1MTEyMil8MDt0PWk7cmV0dXJufWZ1bmN0aW9uIEZkKGEsYixjLGUp
e2E9YXwwO2I9YnwwO2M9Y3wwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAs
bj0wO2ZbYT4+Ml09MDtrPWZbNDgxMjldfDA7aD0xOTUwNzU7Zz0wO2k9LTE7d2hpbGUoMSl7aWYo
KGd8MCk+PShrfDApKXtsPTY7YnJlYWt9bT0oZFsxNTI5OTIrKGc8PDEpPj4xXXwwKS1ifDA7bj0o
ZFsxNTM1MDQrKGc8PDEpPj4xXXwwKS1jfDA7aj0oZFsxNTQwMTYrKGc8PDEpPj4xXXwwKS1lfDA7
aj0oVihuLG4pfDApKyhWKG0sbSl8MCkrKFYoaixqKXwwKXwwO2lmKChqfDApPChofDApKWlmKCFq
KWJyZWFrO2Vsc2V7aD1qO2k9Z31nPWcrMXwwfWlmKChsfDApPT02KXtmWzQ4MTI5XT1rKzE7aWYo
KGt8MCk9PTI1NilnPWk7ZWxzZXtkWzE1Mjk5MisoZzw8MSk+PjFdPWI7ZFsxNTM1MDQrKGc8PDEp
Pj4xXT1jO2RbMTU0MDE2KyhnPDwxKT4+MV09ZTtmW2E+PjJdPTF9fXJldHVybiBnfDB9ZnVuY3Rp
b24gR2QoYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wO2k9dDt0PXQrMTZ8MDto
PWk7Yz1mWzQ4MTMwXXwwO2lmKCFjKXtmWzQ4MTMxXT02NDtjPUxfKDY0KXwwO2ZbNDgxMzBdPWN9
ZD0wO3doaWxlKDEpe2c9YSsxfDA7ZT1iW2E+PjBdfDA7aWYoIShlPDwyND4+MjQpKWJyZWFrO2E9
Zls0ODEzMV18MDtpZigoZHwwKT4oYSstOHwwKSl7Yz1hPDwxO2ZbNDgxMzFdPWM7Yz1PXyhmWzQ4
MTMwXXwwLGMpfDA7Zls0ODEzMF09YztjPWMrZHwwfWlmKGU8PDI0Pj4yND4tMSl7aWYoZTw8MjQ+
PjI0PT05Mil7YltjPj4wXT05MjtkPWQrMXwwO2M9YysxfDB9YltjPj4wXT1lO2M9YysxfDA7ZD1k
KzF8MH1lbHNle2JbYz4+MF09OTI7ZltoPj4yXT1lJjI1NTtkJChjKzF8MCw5MzI2NCxoKXwwO2M9
Yys0fDA7ZD1kKzR8MH1hPWd9YltjPj4wXT0wO3Q9aTtyZXR1cm4gZls0ODEzMF18MH1mdW5jdGlv
biBIZChhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wLGc9MDtjPXQ7dD10KzE2fDA7Yj1jO2lD
KGEsODUzNzIpfDA7aWYoKGZbYSs2ND4+Ml18MCk9PTIpaUMoYSw4NTM4Nyl8MDtlbHNlIGlDKGEs
MTUxMTIyKXwwO2c9ZltmW2ErMTI+PjJdPj4yXXwwO2U9ZltnKzQ+PjJdfDA7ZD1mW2crOD4+Ml18
MDtmW2I+PjJdPWZbZz4+Ml07ZltiKzQ+PjJdPWU7ZltiKzg+PjJdPWQ7b0MoYSw4NTM5OCxiKTt0
PWM7cmV0dXJufWZ1bmN0aW9uIElkKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wO2c9
dDt0PXQrMzJ8MDtlPWcrOHwwO2Q9ZztpQyhhLDg1MzI2KXwwO2M9YSs2NHwwO2I9YSsxMnwwO2lm
KChmW2M+PjJdfDApIT0yKXtmW2Q+PjJdPWZbKGZbYj4+Ml18MCkrMjg+PjJdO29DKGEsODUzMzcs
ZCl9aWYoKGZbKGZbYj4+Ml18MCkrMjA+PjJdfDApPT0wPyhmW2M+PjJdfDApIT0yOjApe2I9Zlth
KzQ3Nj4+Ml18MDtjPWZbYSs0ODA+PjJdfDA7ZD1mW2ErNDg0Pj4yXXwwO2ZbZT4+Ml09ZlthKzQ3
Mj4+Ml07ZltlKzQ+PjJdPWI7ZltlKzg+PjJdPWM7ZltlKzEyPj4yXT1kO29DKGEsODE3MDYsZSl9
aUMoYSw4NTM1Mil8MDtpQyhhLDg1MzY1KXwwO3Q9ZztyZXR1cm59ZnVuY3Rpb24gSmQoYSl7YT1h
fDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDtrPXQ7dD10KzMy
fDA7aj1rKzI0fDA7ZT1rKzh8MDtpPWs7Zz1mW2ErMTY+PjJdfDA7YlsxOTQ4NjBdPTA7ZD1hKzEy
fDA7aD1nKzh8MDtpZighKGZbKGZbZD4+Ml18MCkrMjg+PjJdfDApKXtjPUF5KGZbaD4+Ml18MCl8
MDtmW2k+PjJdPWM7b0MoYSw4MTYzNyxpKTtjPWErNjR8MDtpZigoZltjPj4yXXwwKT09MilpQyhh
LDgxNjcwKXwwO2Vsc2UgaUMoYSw4MTY1Mil8MDtkbyBpZighKGZbKGZbZD4+Ml18MCkrMjA+PjJd
fDApKWlmKChmW2M+PjJdfDApPT0yKXttPWZbYSs0NjA+PjJdfDA7bD1mW2ErNDY0Pj4yXXwwO2M9
ZlthKzQ2OD4+Ml18MDtmW2U+PjJdPWZbYSs0NTY+PjJdO2ZbZSs0Pj4yXT1tO2ZbZSs4Pj4yXT1s
O2ZbZSsxMj4+Ml09YztvQyhhLDgxNzA2LGUpO2JyZWFrfWVsc2V7aUMoYSw4MTY4Mil8MDticmVh
a313aGlsZSgwKTtpQyhhLDgxNzM2KXwwO3NKKGEsZlsoZltkPj4yXXwwKSsyND4+Ml18MCwxMzQ0
KTt1SihhKTtjPWZbKGZbZD4+Ml18MCkrMjA+PjJdfDA7aWYoY3wwKXtmW2k+PjJdPWZbYz4+Ml07
ZltpKzQ+PjJdPTA7c0ooYSwwLGkpfX1mWzQ4MTMyXT0oYlsoZlsoZltoPj4yXXwwKSsxNj4+Ml18
MCkrMTE1Pj4wXXwwKT09MT8xOi0xO2lmKCEoYlsxOTQ4NjBdfDApKXtpQyhhLDgxNzU2KXwwO2Jb
MTk0ODYwXT0xfWM9ZltnKzIwOD4+Ml18MDtpZihjfDApe209dkooYyxmWzQ4MTMyXXwwKXwwO2Zb
aj4+Ml09bTtvQyhhLDgxNzY5LGopfXQ9aztyZXR1cm59ZnVuY3Rpb24gS2QoYSxiLGMsZCl7YT1h
fDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MDtiPXQ7dD10KzE2fDA7ZT1iO2ZbZT4+Ml09Yztm
W2UrND4+Ml09ZDtvQyhhLDgxNjIxLGUpO3Q9YjtyZXR1cm59ZnVuY3Rpb24gTGQoYSl7YT1hfDA7
dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxx
PTAscj0wLHM9MCx1PTAuMCx2PTAuMCx3PTAuMDtyPXQ7dD10KzE0NHwwO3E9cisxMjh8MDtvPXIr
MTEyfDA7bj1yKzcyfDA7bT1yKzU2fDA7bD1yKzQwfDA7az1yKzMyfDA7ZD1yKzI0fDA7Yj1yKzh8
MDtjPXI7ZT1mW2ErNDU2Pj4yXXwwO2k9ZlthKzQ2MD4+Ml18MDtnPWZbYSs0NjQ+PjJdfDA7aD1m
W2ErNDY4Pj4yXXwwO2o9YSsxMnwwO3M9KGZbKGZbaj4+Ml18MCkrMjg+PjJdfDApKzF8MDtmW2M+
PjJdPXM7ZltjKzQ+PjJdPXM7b0MoYSw4MTI0OCxjKTtpZighKGZbKGZbaj4+Ml18MCkrMjA+PjJd
fDApKXtmW2I+PjJdPWU7ZltiKzQ+PjJdPWk7ZltiKzg+PjJdPWc7ZltiKzEyPj4yXT1oO29DKGEs
ODEyNjUsYil9Yz1hKzM2MHwwO2ZbZD4+Ml09KGZbYz4+Ml18MCk9PTA/ODEyOTk6ODEzMDg7b0Mo
YSw4MTMxOCxkKTtiPWErNjR8MDtpZigoZltiPj4yXXwwKT09MSl7ZltrPj4yXT1nO2Zbays0Pj4y
XT1oO29DKGEsODEzNDMsayl9az1mW2ErMjAwPj4yXXwwO3M9ZlthKzIwND4+Ml18MDtmW2w+PjJd
PWZbYSsxOTY+PjJdO2ZbbCs0Pj4yXT1rO2ZbbCs4Pj4yXT1zO29DKGEsODEzODIsbCk7aWYoIShm
WyhmW2o+PjJdfDApKzIwPj4yXXwwKSl7ZlttPj4yXT1lO2ZbbSs0Pj4yXT1pO2ZbbSs4Pj4yXT1n
LWU7ZlttKzEyPj4yXT1oLWk7b0MoYSw4MTQwMixtKX13PStwW2ErNDk2Pj4zXTtzPWZbYz4+Ml18
MDt2PStwW2ErNTA0Pj4zXTt1PStwW2ErNTEyPj4zXTtwW24+PjNdPStwW2ErNDg4Pj4zXTtwW24r
OD4+M109dztmW24rMTY+PjJdPXM7cFtuKzI0Pj4zXT12O3BbbiszMj4+M109dTtvQyhhLDgxNDQy
LG4pO2lmKChmW2I+PjJdfDApPT0xKXtpZigoZ3wwKT4xNDM5OXwoaHwwKT4xNDM5OSl7cz1mWyhm
W2o+PjJdfDApKzE2Pj4yXXwwO2Zbbz4+Ml09ZztmW28rND4+Ml09aDtmW28rOD4+Ml09MTQ0MDA7
RGJbcyY2M10oODE0ODUsbyl9ZltxPj4yXT1lO2ZbcSs0Pj4yXT1pO2ZbcSs4Pj4yXT1nO2ZbcSsx
Mj4+Ml09aDtvQyhhLDgxNTgwLHEpfXQ9cjtyZXR1cm59ZnVuY3Rpb24gTWQoYSl7YT1hfDA7dmFy
IGI9MCxjPTAsZD0wO2Q9dDt0PXQrMTZ8MDtjPWQ7Yj1hKzEyfDA7aWYoZlsoZltiPj4yXXwwKSsy
MD4+Ml18MCl7aUMoYSw4MTE3Mil8MDtzSihhLDAsKGZbKGZbYj4+Ml18MCkrMjA+PjJdfDApKzR8
MCl9aUMoYSw4MTE4OSl8MDtpQyhhLDgxMjE2KXwwO2ZbYz4+Ml09ZlsoZltiPj4yXXwwKSsyOD4+
Ml07b0MoYSw4MTIzMSxjKTt0PWQ7cmV0dXJufWZ1bmN0aW9uIE5kKGEpe2E9YXwwO3ZhciBiPTAs
Yz0wLGQ9MDtiPXQ7dD10KzE2fDA7Yz1iO2Q9QXkoZlsoZlthKzE2Pj4yXXwwKSs4Pj4yXXwwKXww
O2ZbYz4+Ml09ZDtvQyhhLDgxMTY1LGMpO2lDKGEsODExNTgpfDA7dD1iO3JldHVybn1mdW5jdGlv
biBPZChhKXthPWF8MDtpQyhhLDk2NTg0KXwwO3JldHVybn1mdW5jdGlvbiBQZChhKXthPWF8MDtp
QyhhLDgxMTU4KXwwO3JldHVybn1mdW5jdGlvbiBRZChhKXthPWF8MDtpQyhhLDk2NTg0KXwwO3Jl
dHVybn1mdW5jdGlvbiBSZChhKXthPWF8MDtpQyhhLDgxMTU4KXwwO3JldHVybn1mdW5jdGlvbiBT
ZChhKXthPWF8MDtpQyhhLDk2NTg0KXwwO3JldHVybn1mdW5jdGlvbiBUZChhLGIsYyxkLGUpe2E9
YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTA7ZD10O3Q9dCsxNnwwO2M9ZDtpZihi
fDA/KGc9KGZbYSsxNj4+Ml18MCkrMjcyfDAsZltnPj4yXXwwKTowKXtpQyhhLDgxMDU0KXwwO3ND
KGEsZltnPj4yXXwwLDIpO2lDKGEsODEwNjUpfDA7Zz12SihiLGZbNDgxMzJdfDApfDA7ZltjPj4y
XT1nO29DKGEsODEwNjksYyl9dD1kO3JldHVybn1mdW5jdGlvbiBVZChhLGMsZCl7YT1hfDA7Yz1j
fDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2o9dDt0PXQrMzJ8MDtoPWorOHww
O2k9ajtlPWZbYSsxNj4+Ml18MDtpZighKCtwW2UrNDA+PjNdPC41KSl7JGQoYSxlKzE2fDApO2c9
ZCs0fDA7cEMoYSwrcFsoZltnPj4yXXwwKSsxNj4+M10pO2ZbaD4+Ml09ZltmW2c+PjJdPj4yXTtv
QyhhLDgxMDEzLGgpO2c9dkooZltkPj4yXXwwLGZbNDgxMzJdfDApfDA7c3dpdGNoKGJbZCs0OD4+
MF18MCl7Y2FzZSAxMTQ6e2U9ZCszMnwwO3BbYz4+M109K3BbYz4+M10tK3BbZT4+M107YnJlYWt9
Y2FzZSAxMDg6e2U9ZCszMnwwO2JyZWFrfWRlZmF1bHQ6e2U9ZCszMnwwO3BbYz4+M109K3BbYz4+
M10tK3BbZT4+M10qLjV9fWs9Yys4fDA7cFtrPj4zXT0rcFtrPj4zXSsgK3BbZCsyND4+M107Zlto
Pj4yXT1mW2M+PjJdO2ZbaCs0Pj4yXT1mW2MrND4+Ml07ZltoKzg+PjJdPWZbYys4Pj4yXTtmW2gr
MTI+PjJdPWZbYysxMj4+Ml07ckMoYSxoKTtpQyhhLDgxMDI4KXwwO3BDKGEsK3BbZT4+M10pO2Zb
aT4+Ml09ZztvQyhhLDgxMDM3LGkpfXQ9ajtyZXR1cm59ZnVuY3Rpb24gVmQoYSxiLGMpe2E9YXww
O2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MDtnPXQ7dD10KzMyfDA7ZT1nO2ZbZT4+Ml09Zlti
Pj4yXTtmW2UrND4+Ml09ZltiKzQ+PjJdO2ZbZSs4Pj4yXT1mW2IrOD4+Ml07ZltlKzEyPj4yXT1m
W2IrMTI+PjJdO3BbZSsxNj4+M109K3BbYisxNj4+M10tK3BbYj4+M107cFtlKzI0Pj4zXT0rcFti
KzI0Pj4zXS0rcFtiKzg+PjNdO2I9YSsxNnwwO2lmKGN8MD8oZD1mW2I+PjJdfDAsK3BbZCs4MD4+
M10+LjUpOjApeyRkKGEsZCs1NnwwKTtzQyhhLGUsMik7aUMoYSw4MDk3MSl8MH1pZigrcFsoZlti
Pj4yXXwwKSs0MD4+M10+LjUpe2FlKGEpOyRkKGEsKGZbYj4+Ml18MCkrMTZ8MCk7c0MoYSxlLDIp
O2lDKGEsODA5OTEpfDB9dD1nO3JldHVybn1mdW5jdGlvbiBXZChhLGIsYyxkKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wO2k9dDt0PXQrMTZ8MDtoPWk7Zz1hKzE2
fDA7aWYoZHwwPyhlPWZbZz4+Ml18MCwrcFtlKzgwPj4zXT4uNSk6MCl7JGQoYSxlKzU2fDApO2lD
KGEsODA4OTIpfDA7ZltoPj4yXT1mW2I+PjJdO2ZbaCs0Pj4yXT1mW2IrND4+Ml07ZltoKzg+PjJd
PWZbYis4Pj4yXTtmW2grMTI+PjJdPWZbYisxMj4+Ml07ckMoYSxoKTtpQyhhLDgwOTAxKXwwO2Q9
MTt3aGlsZSgxKXtpZigoZHwwKT49KGN8MCkpYnJlYWs7ZT1iKyhkPDw0KXwwO2ZbaD4+Ml09Zltl
Pj4yXTtmW2grND4+Ml09ZltlKzQ+PjJdO2ZbaCs4Pj4yXT1mW2UrOD4+Ml07ZltoKzEyPj4yXT1m
W2UrMTI+PjJdO3JDKGEsaCk7aUMoYSw4MDkxMCl8MDtkPWQrMXwwfWlDKGEsODA5MzcpfDB9aWYo
K3BbKGZbZz4+Ml18MCkrNDA+PjNdPi41KXthZShhKTskZChhLChmW2c+PjJdfDApKzE2fDApO2lD
KGEsODA4OTIpfDA7ZltoPj4yXT1mW2I+PjJdO2ZbaCs0Pj4yXT1mW2IrND4+Ml07ZltoKzg+PjJd
PWZbYis4Pj4yXTtmW2grMTI+PjJdPWZbYisxMj4+Ml07ckMoYSxoKTtpQyhhLDgwOTAxKXwwO2Q9
MTt3aGlsZSgxKXtpZigoZHwwKT49KGN8MCkpYnJlYWs7Zz1iKyhkPDw0KXwwO2ZbaD4+Ml09Zltn
Pj4yXTtmW2grND4+Ml09ZltnKzQ+PjJdO2ZbaCs4Pj4yXT1mW2crOD4+Ml07ZltoKzEyPj4yXT1m
W2crMTI+PjJdO3JDKGEsaCk7aUMoYSw4MDkxMCl8MDtkPWQrMXwwfWlDKGEsODA5NTMpfDB9dD1p
O3JldHVybn1mdW5jdGlvbiBYZChhLGIsYyxkLGUsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7
ZT1lfDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0wO2o9dDt0PXQrMTZ8MDtlPWo7aD1hKzE2fDA7aWYo
Z3wwPyhpPWZbaD4+Ml18MCwrcFtpKzgwPj4zXT4uNSk6MCl7JGQoYSxpKzU2fDApO2lDKGEsODA4
OTIpfDA7ZltlPj4yXT1mW2I+PjJdO2ZbZSs0Pj4yXT1mW2IrND4+Ml07ZltlKzg+PjJdPWZbYis4
Pj4yXTtmW2UrMTI+PjJdPWZbYisxMj4+Ml07ckMoYSxlKTtpQyhhLDgwOTAxKXwwO2Q9MTt3aGls
ZSgxKXtpZigoZHwwKT49KGN8MCkpYnJlYWs7c0MoYSxiKyhkPDw0KXwwLDMpO2lDKGEsODA5Mjcp
fDA7ZD1kKzN8MH1pQyhhLDgwOTM3KXwwfWlmKCtwWyhmW2g+PjJdfDApKzQwPj4zXT4uNSl7YWUo
YSk7JGQoYSwoZltoPj4yXXwwKSsxNnwwKTtpQyhhLDgwODkyKXwwO2ZbZT4+Ml09ZltiPj4yXTtm
W2UrND4+Ml09ZltiKzQ+PjJdO2ZbZSs4Pj4yXT1mW2IrOD4+Ml07ZltlKzEyPj4yXT1mW2IrMTI+
PjJdO3JDKGEsZSk7aUMoYSw4MDkwMSl8MDtkPTE7d2hpbGUoMSl7aWYoKGR8MCk+PShjfDApKWJy
ZWFrO3NDKGEsYisoZDw8NCl8MCwzKTtpQyhhLDgwOTI3KXwwO2Q9ZCszfDB9aUMoYSw4MDkxOSl8
MH10PWo7cmV0dXJufWZ1bmN0aW9uIFlkKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0w
LGU9MCxnPTAsaD0wO2c9dDt0PXQrMTZ8MDtlPWc7ZD1hKzE2fDA7aWYoK3BbKGZbZD4+Ml18MCkr
NDA+PjNdPi41KXthZShhKTskZChhLChmW2Q+PjJdfDApKzE2fDApO2lDKGEsODA4OTIpfDA7Zltl
Pj4yXT1mW2I+PjJdO2ZbZSs0Pj4yXT1mW2IrND4+Ml07ZltlKzg+PjJdPWZbYis4Pj4yXTtmW2Ur
MTI+PjJdPWZbYisxMj4+Ml07ckMoYSxlKTtpQyhhLDgwOTAxKXwwO2Q9MTt3aGlsZSgxKXtpZigo
ZHwwKT49KGN8MCkpYnJlYWs7aD1iKyhkPDw0KXwwO2ZbZT4+Ml09ZltoPj4yXTtmW2UrND4+Ml09
ZltoKzQ+PjJdO2ZbZSs4Pj4yXT1mW2grOD4+Ml07ZltlKzEyPj4yXT1mW2grMTI+PjJdO3JDKGEs
ZSk7aUMoYSw4MDkxMCl8MDtkPWQrMXwwfWlDKGEsODA5MTkpfDB9dD1nO3JldHVybn1mdW5jdGlv
biBaZChhLGIpe2E9YXwwO2I9YnwwO2lDKGEsODA4ODkpfDA7aUMoYSxiKXwwO2lDKGEsMTUxMTIy
KXwwO3JldHVybn1mdW5jdGlvbiBfZChhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHww
O2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtsPXQ7dD10KzMyfDA7Zz1sKzE2fDA7
az1sKzh8MDtqPWw7aD1hKzE2fDA7aWYoZXwwPyhpPWZbaD4+Ml18MCwrcFtpKzgwPj4zXT4uNSk6
MCl7JGQoYSxpKzU2fDApO2lDKGEsOTY0NzkpfDA7c0MoYSxjLGQpO2lDKGEsMTEwOTMwKXwwO2Zb
Zz4+Ml09ZltjPj4yXTtmW2crND4+Ml09ZltjKzQ+PjJdO2ZbZys4Pj4yXT1mW2MrOD4+Ml07Zltn
KzEyPj4yXT1mW2MrMTI+PjJdO3JDKGEsZyk7ZltqPj4yXT1kO2Zbais0Pj4yXT1iO29DKGEsODA4
MDYsail9aWYoK3BbKGZbaD4+Ml18MCkrNDA+PjNdPi41KXthZShhKTskZChhLChmW2g+PjJdfDAp
KzE2fDApO2lDKGEsOTY0NzkpfDA7c0MoYSxjLGQpO2lDKGEsMTEwOTMwKXwwO2ZbZz4+Ml09Zltj
Pj4yXTtmW2crND4+Ml09ZltjKzQ+PjJdO2ZbZys4Pj4yXT1mW2MrOD4+Ml07ZltnKzEyPj4yXT1m
W2MrMTI+PjJdO3JDKGEsZyk7ZltrPj4yXT1kO2Zbays0Pj4yXT1iO29DKGEsODA4MjIsayl9dD1s
O3JldHVybn1mdW5jdGlvbiAkZChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAu
MCxoPTAuMDtlPXQ7dD10KzMyfDA7ZD1lO2lmKGJ8MCl7c3dpdGNoKGZbKGZbYSsxNj4+Ml18MCkr
ND4+Ml18MCl7Y2FzZSAxOmNhc2UgMDp7Yz0xMTk3NjQ7YnJlYWt9Y2FzZSAyOntjPTExOTc1MTti
cmVha31jYXNlIDM6e2M9MTE5NzIwO2JyZWFrfWRlZmF1bHQ6Yz04MDg1OH1oPStwW2IrOD4+M107
Zz0rcFtiKzE2Pj4zXTtwW2Q+PjNdPStwW2I+PjNdO3BbZCs4Pj4zXT1oO3BbZCsxNj4+M109Zztm
W2QrMjQ+PjJdPWM7b0MoYSw4MDg2NSxkKX10PWU7cmV0dXJufWZ1bmN0aW9uIGFlKGEpe2E9YXww
O3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2o9dDt0PXQrMTZ8MDtpPWorOHww
O2g9ajtlPWErMTZ8MDtnPWZbZT4+Ml18MDtjPWZbZysxNjA+PjJdfDA7cEMoYSwrcFtnKzE1Mj4+
M10pO2lDKGEsODA4MzkpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7Zz1jKzR8MDtkPWZbYz4+Ml18
MDtpZighZClicmVhaztpZihIJChkLDExOTQxNCl8MCl7Yz1kO2Rve2s9YztjPWMrMXwwfXdoaWxl
KChiW2s+PjBdfDApIT0wKTt3aGlsZSgxKXtpZighKGJbYz4+MF18MCkpYnJlYWs7ZltoPj4yXT1j
O29DKGEsODA4NTQsaCk7ZG97az1jO2M9YysxfDB9d2hpbGUoKGJbaz4+MF18MCkhPTApfWlmKCEo
SCQoZCwxNDI2MDUpfDApKXBbKGZbZT4+Ml18MCkrMTUyPj4zXT0wLjA7ZltpPj4yXT1kO29DKGEs
MTA1NzE1LGkpfWM9Z310PWo7cmV0dXJufWZ1bmN0aW9uIGJlKGEpe2E9YXwwO3ZhciBjPTA7aUMo
YSw4Njg3OCl8MDtjPUd4KGZbKGZbYT4+Ml18MCkrMTY4Pj4yXXwwLDg2OTM0KXwwO2lmKGN8MD9i
W2M+PjBdfDA6MCl7aUMoYSw4Njk0NSl8MDtpQyhhLGMpfDA7aUMoYSw4Njk2OSl8MH1pQyhhLDg2
OTkwKXwwO2lDKGEsODcwMzgpfDA7aUMoYSw4NzA5Mil8MDtjPWErMTJ8MDtpQyhhLHpIKGZbZltm
W2M+PjJdPj4yXT4+Ml18MCl8MCl8MDtpQyhhLDkwMjIxKXwwO2lDKGEsekgoZlsoZltmW2M+PjJd
Pj4yXXwwKSs0Pj4yXXwwKXwwKXwwO2lDKGEsOTAyMzEpfDA7aUMoYSx6SChmWyhmW2ZbYz4+Ml0+
PjJdfDApKzg+PjJdfDApfDApfDA7aUMoYSw4NzQ3NCl8MDtpQyhhLDg3NDk4KXwwO3JldHVybn1m
dW5jdGlvbiBjZShhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLjAsaz0w
LjAsbD0wLjA7aD10O3Q9dCs0OHwwO2c9aCsxNnwwO2U9aCs4fDA7ZD1oO2M9ZlthKzE2Pj4yXXww
O2lDKGEsODY3MTMpfDA7Yz1jKzh8MDtpPUF5KGZbYz4+Ml18MCl8MDtpZihiW2k+PjBdfDApe2lD
KGEsODc0MzcpfDA7aUMoYSx6SChBeShmW2M+PjJdfDApfDApfDApfDB9aT1WKGZbYSsxNjg+PjJd
fDAsZlthKzE2ND4+Ml18MCl8MDtmW2Q+PjJdPWk7b0MoYSw4NjcxOCxkKTtpPWZbYSs0NTI+PjJd
fDA7ZltlPj4yXT1mW2ErNDQ4Pj4yXTtmW2UrND4+Ml09aTtvQyhhLDg2NzM0LGUpO2w9K3BbYSsz
OTI+PjNdO2s9K3BbYSs0MDA+PjNdO2o9K3BbYSs0MDg+PjNdO3BbZz4+M109K3BbYSszODQ+PjNd
O3BbZys4Pj4zXT1sO3BbZysxNj4+M109aztwW2crMjQ+PjNdPWo7b0MoYSw4Njc2NyxnKTtpQyhh
LDg2Nzk4KXwwO2lDKGEsODY4MzQpfDA7aUMoYSw4ODQyOCl8MDt0PWg7cmV0dXJufWZ1bmN0aW9u
IGRlKGEpe2E9YXwwO2lDKGEsODY3MDUpfDA7cmV0dXJufWZ1bmN0aW9uIGVlKGEsYixjLGQpe2E9
YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO0JlKGEsYiwwLDEwOTgzNixmWyhmW2ErMTY+PjJdfDApKzg+
PjJdfDApO2lDKGEsODg0MjgpfDA7cmV0dXJufWZ1bmN0aW9uIGZlKGEpe2E9YXwwO2lDKGEsODY1
NTMpfDA7cmV0dXJufWZ1bmN0aW9uIGdlKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTA7ZD10
O3Q9dCsxNnwwO2U9ZDtnPWZbYSsxNj4+Ml18MDtjPWcrOHwwO0JlKGEsZltnKzIxMj4+Ml18MCww
LDExOTc2NCxmW2M+PjJdfDApO2lDKGEsODY2NTcpfDA7cEMoYSwrcFthKzQ4OD4+M10pO2lDKGEs
MTEwOTMwKXwwO3BDKGEsK3BbYSs0OTY+PjNdKTtmW2U+PjJdPTAtKGZbYSszNjA+PjJdfDApO29D
KGEsODY2NzYsZSk7cEMoYSwrcFthKzUwND4+M10pO2lDKGEsMTEwOTMwKXwwO3BDKGEsLStwW2Er
NTEyPj4zXSk7aUMoYSw4NjcwMCl8MDtlPUF5KGZbYz4+Ml18MCl8MDtpZihiW2U+PjBdfDApe2lD
KGEsODY2MDkpfDA7aUMoYSx6SChBeShmW2M+PjJdfDApfDApfDApfDA7aUMoYSw4NjYxNyl8MH10
PWQ7cmV0dXJufWZ1bmN0aW9uIGhlKGEpe2E9YXwwO2lDKGEsODY1NTMpfDA7cmV0dXJufWZ1bmN0
aW9uIGllKGEpe2E9YXwwO3ZhciBiPTAsYz0wO2M9ZlthKzE2Pj4yXXwwO2I9Yys4fDA7QmUoYSxm
W2MrMjEyPj4yXXwwLDAsMTE2MzMyLGZbYj4+Ml18MCk7aUMoYSw4ODQyOCl8MDtpQyhhLDg2NjA5
KXwwO2lDKGEsekgoQXkoZltiPj4yXXwwKXwwKXwwKXwwO2lDKGEsODY2MTcpfDA7cmV0dXJufWZ1
bmN0aW9uIGplKGEpe2E9YXwwO2lDKGEsODY1NTMpfDA7cmV0dXJufWZ1bmN0aW9uIGtlKGEpe2E9
YXwwO3ZhciBiPTAsYz0wLGQ9MDtjPWZbYSsxNj4+Ml18MDtiPWZbYSsxNjA+PjJdfDA7aWYoKGJ8
MCk+MSliPWZbKGZbKGZbYT4+Ml18MCkrMzA4Pj4yXXwwKSsoYjw8Mik+PjJdfDA7ZWxzZSBiPTA7
ZD1jKzh8MDtCZShhLGZbYysyMTI+PjJdfDAsYiwxMTk3NTEsZltkPj4yXXwwKTtpQyhhLDg4NDI4
KXwwO2lDKGEsODY2MDkpfDA7aUMoYSx6SChBeShmW2Q+PjJdfDApfDApfDApfDA7aUMoYSw4NjYx
Nyl8MDtyZXR1cm59ZnVuY3Rpb24gbGUoYSl7YT1hfDA7aUMoYSw4NjU1Myl8MDtyZXR1cm59ZnVu
Y3Rpb24gbWUoYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yz1mW2ErMTY+PjJdfDA7Yj1jKzh8MDtCZShh
LGZbYysyMTI+PjJdfDAsMCwxMTk3MjAsZltiPj4yXXwwKTtpQyhhLDg4NDI4KXwwO2lDKGEsODY2
MDkpfDA7Yj15SCgxMTA0MjEsZltiPj4yXXwwKXwwO2lDKGEsekgoYil8MCl8MDtNXyhiKTtpQyhh
LDg2NjE3KXwwO3JldHVybn1mdW5jdGlvbiBuZShhKXthPWF8MDtpQyhhLDg2NTUzKXwwO3JldHVy
bn1mdW5jdGlvbiBvZShhLGMsZCxlLGYpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2lD
KGEsODY1NTkpfDA7aWYoZnwwKXtpQyhhLDg2NTYyKXwwO2lDKGEsekgoZil8MCl8MDtpQyhhLDEw
NzAzMSl8MH1pQyhhLDg2NDUyKXwwO2lDKGEsODgzODkpfDA7aWYoY3wwP2JbYz4+MF18MDowKXtp
QyhhLDg2NTcwKXwwO2lDKGEsYyl8MDtpQyhhLDEwNzAzMSl8MH1pZihkfDA/YltkPj4wXXwwOjAp
e2lDKGEsODY1ODQpfDA7aUMoYSxBSChkLDEpfDApfDA7aUMoYSwxMDcwMzEpfDB9aWYoZXwwP2Jb
ZT4+MF18MDowKXtpQyhhLDg2NTk5KXwwO2lDKGEsekgoZSl8MCl8MDtpQyhhLDEwNzAzMSl8MH1p
QyhhLDg4NDI4KXwwO3JldHVybn1mdW5jdGlvbiBwZShhKXthPWF8MDtpQyhhLDg4MzgzKXwwO2lD
KGEsODY1NTMpfDA7cmV0dXJufWZ1bmN0aW9uIHFlKGEsYyxlKXthPWF8MDtjPWN8MDtlPWV8MDt2
YXIgZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9
MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLjAsST0wLEo9MCxL
PTAsTD0wLE09MCxOPTA7Tj10O3Q9dCsxNzZ8MDtNPU4rMTYwfDA7TD1OKzE1MnwwO0c9TisxMzZ8
MDtLPU4rMTI4fDA7RT1OKzEyMHwwO0Q9TisxMTJ8MDtDPU4rMTA0fDA7Qj1OKzk2fDA7QT1OKzg4
fDA7eT1OKzgwfDA7dz1OKzcyfDA7dj1OKzY0fDA7dT1OKzU2fDA7cz1OKzQ4fDA7Zz1OKzQwfDA7
bz1OKzMyfDA7cj1OKzI0fDA7cT1OKzE2fDA7bj1OKzh8MDttPU47Sj1mW2ErMTY+PjJdfDA7aUMo
YSw4NjA4NCl8MDtzd2l0Y2goYltlKzQ4Pj4wXXwwKXtjYXNlIDEwODp7aUMoYSw4NjA5MCl8MDti
cmVha31jYXNlIDExNDp7aUMoYSw4NjExMSl8MDticmVha31kZWZhdWx0OmlDKGEsODYxMzApfDB9
ST1jKzh8MDtIPStwW0k+PjNdKyArcFtlKzI0Pj4zXTtwW0k+PjNdPUg7ST1KKzI2MHwwO2lmKCEo
ZFtJPj4xXSY1MTIpKXtpQyhhLDg2MTUyKXwwO3BDKGEsK3BbYz4+M10pO2lDKGEsODYxNTcpfDA7
cEMoYSwtSCk7aUMoYSwxMDcwMzEpfDB9eD1lKzR8MDtjPWZbeD4+Ml18MDtsPWZbYys4Pj4yXXww
O2lmKGwpe3N3aXRjaChmWyhmWyhmWyhmW2E+PjJdfDApKzE2OD4+Ml18MCkrMTY+PjJdfDApKzI0
ND4+Ml18MCl7Y2FzZSAxOntrPWw7Yz1sKzE2fDA7Zz1sKzh8MDticmVha31jYXNlIDI6e2s9bCsy
NHwwO2M9bCszMnwwO2c9bCsyOHwwO2JyZWFrfWRlZmF1bHQ6e2s9bCs0fDA7Yz1sKzE2fDA7Zz1s
Kzh8MH19aT1mW2M+PjJdfDA7Yz1mW2c+PjJdfDA7aj1mW2wrMTI+PjJdfDA7ZlttPj4yXT1mW2s+
PjJdO29DKGEsODYxNjMsbSk7Zz1mW2wrMjQ+PjJdfDA7aWYoZ3wwKXtmW24+PjJdPWc7b0MoYSw4
NjE4MCxuKX1pQyhhLDEwNzAzMSl8MDtpZihjfDApe2ZbcT4+Ml09YztvQyhhLDg2MTg0LHEpfWlm
KGp8MCl7ZltyPj4yXT1qO29DKGEsODYyMDIscil9aWYoIWkpaT0wO2Vsc2V7ZltvPj4yXT1pO29D
KGEsODYyMjEsbyl9fWVsc2V7ZltnPj4yXT1mW2M+PjJdO29DKGEsODYyMzgsZyk7aT0wO2M9MH1n
PWZbeD4+Ml18MDtpZihnfDA/KHo9ZltnKzI0Pj4yXXwwLHomMTI3fDApOjApe2lmKCEoKGN8MCkh
PTB8KHomMXwwKT09MCkpb0MoYSw4NjI1NixzKTtpZighKChpfDApIT0wfCh6JjJ8MCk9PTApKW9D
KGEsODYyNzYsdSk7aWYoeiYxMDB8MCl7b0MoYSw4NjI5Nyx2KTtpZighKHomNCkpaWYoISh6JjY0
KSl7aWYoeiYzMnwwKXtjPTE5NDg3MDtGPTM0fX1lbHNle2M9MTk0ODcwO0Y9MzF9ZWxzZXtvQyhh
LDExNDMxMix3KTtpZighKHomNjQpKUY9MzM7ZWxzZXtjPTEwOTMyNTtGPTMxfX1pZigoRnwwKT09
MzEpe2ZbeT4+Ml09YztvQyhhLDg2MzE2LHkpO0Y9MzN9aWYoKEZ8MCk9PTMzP3omMzJ8MDowKXtj
PTEwOTMyNTtGPTM0fWlmKChGfDApPT0zNCl7ZltBPj4yXT1jO29DKGEsODYzMjcsQSl9b0MoYSwx
MDcwMzEsQil9aWYoeiY4fDApb0MoYSw4NjM0MixDKTtpZih6JjE2fDApb0MoYSw4NjM2NixEKX1w
W0U+PjNdPStwWyhmW3g+PjJdfDApKzE2Pj4zXTtvQyhhLDg2Mzg4LEUpO2M9SisxNnwwO3N3aXRj
aChmW0orNDg+PjJdfDApe2Nhc2UgNTp7Yz1mW2M+PjJdfDA7aWYoYjMoYywxNDU1ODQpfDApe2Zb
Sz4+Ml09YztvQyhhLDg2NDA2LEspfWJyZWFrfWNhc2UgMTp7Rj1oW2MrMT4+MF18MDtLPWhbYysy
Pj4wXXwwO2ZbRz4+Ml09aFtjPj4wXTtmW0crND4+Ml09RjtmW0crOD4+Ml09SztvQyhhLDg2NDE3
LEcpO2JyZWFrfWRlZmF1bHQ6eGEoMTQ2NjY0LDg1NTk4LDQ4Niw4NjQzOSl9aUMoYSw4NjQ1Mil8
MDtpZihkW0k+PjFdJjUxMil7Sz16SChmW0orMjEyPj4yXXwwKXwwO2ZbTD4+Ml09SztvQyhhLDg2
NDU0LEwpO2lDKGEsODY1MDMpfDA7cEMoYSwtSCk7aUMoYSw4NjUyMSl8MH1pQyhhLEFIKGZbZT4+
Ml18MCwxKXwwKXwwO2lmKGRbST4+MV0mNTEyKW9DKGEsODY1MjQsTSk7aUMoYSw4NjU0NCl8MDt0
PU47cmV0dXJufWZ1bmN0aW9uIHJlKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wO3N3
aXRjaChjfDApe2Nhc2UgMjp7ZD15ZShhLGIsMil8MDticmVha31jYXNlIDM6e2Q9emUoYSl8MDti
cmVha31kZWZhdWx0OmQ9MH1pQyhhLDg2MDQ4KXwwO3dlKGEsYyxkKTtpQyhhLDg2MDU3KXwwO3BD
KGEsK3BbYj4+M10pO2lDKGEsODYwNjMpfDA7Yz1iKzh8MDtwQyhhLC0rcFtjPj4zXSk7aUMoYSw4
NjA3MCl8MDtwQyhhLCtwW2IrMTY+PjNdLStwW2I+PjNdKTtpQyhhLDg2MDc3KXwwO3BDKGEsK3Bb
YisyND4+M10tK3BbYz4+M10pO2lDKGEsODU0NjQpfDA7cmV0dXJufWZ1bmN0aW9uIHNlKGEsYixj
LGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTA7c3dpdGNoKGR8MCl7Y2FzZSAyOntl
PXllKGEsYixjKXwwO2JyZWFrfWNhc2UgMzp7ZT16ZShhKXwwO2JyZWFrfWRlZmF1bHQ6ZT0wfWlD
KGEsODYwMzkpfDA7d2UoYSxkLGUpO2lDKGEsODU0NTQpfDA7ZT0wO3doaWxlKDEpe2lmKChlfDAp
Pj0oY3wwKSlicmVhaztwQyhhLCtwW2IrKGU8PDQpPj4zXSk7aUMoYSwxMDkzMjUpfDA7cEMoYSwt
K3BbYisoZTw8NCkrOD4+M10pO2lDKGEsMTEwOTMwKXwwO2U9ZSsxfDB9cEMoYSwrcFtiPj4zXSk7
aUMoYSwxMDkzMjUpfDA7cEMoYSwtK3BbYis4Pj4zXSk7aUMoYSw4NTQ2NCl8MDtyZXR1cm59ZnVu
Y3Rpb24gdGUoYSxiLGMsZSxnLGgpe2E9YXwwO2I9YnwwO2M9Y3wwO2U9ZXwwO2c9Z3wwO2g9aHww
O2c9ZlthKzE2Pj4yXXwwO3N3aXRjaChofDApe2Nhc2UgMjp7ZT15ZShhLGIsYyl8MDticmVha31j
YXNlIDM6e2U9emUoYSl8MDticmVha31kZWZhdWx0OmU9MH1pQyhhLDg1NjM0KXwwO2lmKGRbZysy
NjA+PjFdJjUxMil7aUMoYSw4NTY0MCl8MDtpQyhhLHpIKGZbZysyMTI+PjJdfDApfDApfDA7aUMo
YSw4NTY0Nil8MH13ZShhLGgsZSk7aUMoYSw4NTY1MSl8MDtBZShhLGIsYyk7aUMoYSw4NTQ2NCl8
MDtyZXR1cm59ZnVuY3Rpb24gdWUoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTA7aUMo
YSw4NTQ0NCl8MDt3ZShhLDAsMCk7aUMoYSw4NTQ1NCl8MDtkPTA7d2hpbGUoMSl7aWYoKGR8MCk+
PShjfDApKWJyZWFrO3BDKGEsK3BbYisoZDw8NCk+PjNdKTtpQyhhLDEwOTMyNSl8MDtwQyhhLC0r
cFtiKyhkPDw0KSs4Pj4zXSk7aUMoYSwxMTA5MzApfDA7ZD1kKzF8MH1pQyhhLDg1NDY0KXwwO3Jl
dHVybn1mdW5jdGlvbiB2ZShhLGIpe2E9YXwwO2I9YnwwO2lDKGEsODU0MzgpfDA7aUMoYSx6SChi
KXwwKXwwO2lDKGEsODc0OTgpfDA7cmV0dXJufWZ1bmN0aW9uIHdlKGEsYyxkKXthPWF8MDtjPWN8
MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wO289dDt0
PXQrOTZ8MDtqPW8rNDh8MDtuPW8rNDB8MDtsPW8rMzJ8MDttPW8rMjR8MDtpPW8rMTZ8MDtnPW8r
OHwwO2U9bztrPWZbYSsxNj4+Ml18MDtpQyhhLDg1NDY5KXwwO2E6ZG8gc3dpdGNoKGN8MCl7Y2Fz
ZSAyOntmW2U+PjJdPWQ7b0MoYSw4NTQ3NyxlKTticmVha31jYXNlIDM6e2ZbZz4+Ml09ZDtvQyhh
LDg1NDg4LGcpO2JyZWFrfWNhc2UgMDp7aUMoYSwxNDM5NzkpfDA7YnJlYWt9ZGVmYXVsdDp7Yz1r
KzU2fDA7ZT1qO2c9YztoPWUrNDB8MDtkb3tmW2U+PjJdPWZbZz4+Ml07ZT1lKzR8MDtnPWcrNHww
fXdoaWxlKChlfDApPChofDApKTt4ZShhLGopO2lmKChmW2srODg+PjJdfDApPT0xKXtjPWJbYysz
Pj4wXXwwO3N3aXRjaChjPDwyND4+MjQpe2Nhc2UgLTE6Y2FzZSAwOmJyZWFrIGE7ZGVmYXVsdDp7
fX1wW2k+PjNdPSsoYyYyNTUpKi4wMDM5MjE1Njg2Mjc0NTA5ODtvQyhhLDg1NDk5LGkpfX19d2hp
bGUoMCk7aUMoYSw4NTUxOCl8MDtkPWsrMTZ8MDtlPWo7Zz1kO2g9ZSs0MHwwO2Rve2ZbZT4+Ml09
ZltnPj4yXTtlPWUrNHwwO2c9Zys0fDB9d2hpbGUoKGV8MCk8KGh8MCkpO3hlKGEsaik7Yz1rKzE1
MnwwO2lmKCtwW2M+PjNdIT0xLjApe2lDKGEsODU1MjkpfDA7cEMoYSwrcFtjPj4zXSl9c3dpdGNo
KGZbaysxNDQ+PjJdfDApe2Nhc2UgMTp7ZlttPj4yXT04NTU2OTtvQyhhLDg1NTQ2LG0pO2JyZWFr
fWNhc2UgMjp7ZltsPj4yXT04NTU3MztvQyhhLDg1NTQ2LGwpO2JyZWFrfWRlZmF1bHQ6e319Yjpk
byBpZigoZltrKzQ4Pj4yXXwwKT09MSl7Yz1iW2QrMz4+MF18MDtzd2l0Y2goYzw8MjQ+PjI0KXtj
YXNlIC0xOmNhc2UgMDpicmVhayBiO2RlZmF1bHQ6e319cFtuPj4zXT0rKGMmMjU1KSouMDAzOTIx
NTY4NjI3NDUwOTg7b0MoYSw4NTU3NyxuKX13aGlsZSgwKTtpQyhhLDEwNzAzMSl8MDt0PW87cmV0
dXJufWZ1bmN0aW9uIHhlKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGk9MDtlPXQ7
dD10KzE2fDA7ZD1lO2E6ZG8gc3dpdGNoKGZbYyszMj4+Ml18MCl7Y2FzZSA1OntpQyhhLGZbYz4+
Ml18MCl8MDticmVha31jYXNlIDE6aWYoIShiW2MrMz4+MF18MCkpe2lDKGEsMTQ1NjQ5KXwwO2Jy
ZWFrIGF9ZWxzZXtpPWhbYysxPj4wXXwwO2c9aFtjKzI+PjBdfDA7ZltkPj4yXT1oW2M+PjBdO2Zb
ZCs0Pj4yXT1pO2ZbZCs4Pj4yXT1nO29DKGEsODc3NTQsZCk7YnJlYWsgYX1kZWZhdWx0OnhhKDE0
NjY2NCw4NTU5OCwxMTcsODU2MTgpfXdoaWxlKDApO3Q9ZTtyZXR1cm59ZnVuY3Rpb24geWUoYSxj
LGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAuMCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxt
PTAsbz0wLHE9MCxyPTAscz0wO3M9dDt0PXQrMTEyfDA7bD1zKzY0fDA7cT1zKzU2fDA7az1zKzQ4
fDA7aj1zKzQwfDA7Zz1zKzMyfDA7aT1zO289Zls0ODEzNF18MDtmWzQ4MTM0XT1vKzE7bT1mW2Er
MTY+PjJdfDA7ZT0rKGZbbSsxMzY+PjJdfDApKi4wMTc0NTMyOTI1MTk5NDMyOTU7ZltpPj4yXT0w
O2ZbaSs0Pj4yXT0wO2ZbaSs4Pj4yXT0wO2ZbaSsxMj4+Ml09MDtmW2krMTY+PjJdPTA7ZltpKzIw
Pj4yXT0wO2ZbaSsyND4+Ml09MDtmW2krMjg+PjJdPTA7ak4oYyxpLGQsZSwwKTtmW2w+PjJdPW87
b0MoYSw4NTg3MSxsKTtpQyhhLDg1OTM2KXwwO3BDKGEsK3BbaT4+M10pO2lDKGEsODU5NDEpfDA7
cEMoYSwrcFtpKzg+PjNdKTtpQyhhLDg1OTQ4KXwwO3BDKGEsK3BbaSsxNj4+M10pO2lDKGEsODU5
NTUpfDA7cEMoYSwrcFtpKzI0Pj4zXSk7aUMoYSw4NTk2Mil8MDtpPW0rMTQwfDA7ZT0rbltpPj4y
XTtpZihlPjAuMCl7cFtnPj4zXT1lKy0uMDAxO29DKGEsODU5NjcsZyl9ZWxzZSBpQyhhLDg1NzQz
KXwwO2M9bSs1NnwwO2Q9bDtnPWM7aD1kKzQwfDA7ZG97ZltkPj4yXT1mW2c+PjJdO2Q9ZCs0fDA7
Zz1nKzR8MH13aGlsZSgoZHwwKTwoaHwwKSk7eGUoYSxsKTtpQyhhLDg1Nzc5KXwwO2E6ZG8gaWYo
KGZbbSs4OD4+Ml18MCk9PTEpe2M9YltjKzM+PjBdfDA7c3dpdGNoKGM8PDI0Pj4yNCl7Y2FzZSAt
MTpjYXNlIDA6e3I9NzticmVhayBhfWRlZmF1bHQ6e319cFtqPj4zXT0rKGMmMjU1KSouMDAzOTIx
NTY4NjI3NDUwOTg7b0MoYSwxMDc5Mzgsail9ZWxzZSByPTc7d2hpbGUoMCk7aWYoKHJ8MCk9PTcp
aUMoYSw4NTc5NCl8MDtpQyhhLDg1Nzk3KXwwO2U9K25baT4+Ml07aWYoZT4wLjApe3Bbaz4+M109
ZTtvQyhhLDg1OTY3LGspfWVsc2UgaUMoYSw4NTgwMyl8MDtjPW0rOTZ8MDtkPWw7Zz1jO2g9ZCs0
MHwwO2Rve2ZbZD4+Ml09ZltnPj4yXTtkPWQrNHwwO2c9Zys0fDB9d2hpbGUoKGR8MCk8KGh8MCkp
O3hlKGEsbCk7aUMoYSw4NTc3OSl8MDtiOmRvIGlmKChmW20rMTI4Pj4yXXwwKT09MSl7Yz1iW2Mr
Mz4+MF18MDtzd2l0Y2goYzw8MjQ+PjI0KXtjYXNlIC0xOmNhc2UgMDp7cj0xNDticmVhayBifWRl
ZmF1bHQ6e319cFtxPj4zXT0rKGMmMjU1KSouMDAzOTIxNTY4NjI3NDUwOTg7b0MoYSwxMDc5Mzgs
cSl9ZWxzZSByPTE0O3doaWxlKDApO2lmKChyfDApPT0xNClpQyhhLDg1Nzk0KXwwO2lDKGEsODYw
MDcpfDA7dD1zO3JldHVybiBvfDB9ZnVuY3Rpb24gemUoYSl7YT1hfDA7dmFyIGM9MCxkPTAuMCxl
PTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLjA7bz10O3Q9dCs2NHww
O2o9bysxNnwwO209bys4fDA7aT1vO2w9Zls0ODEzM118MDtmWzQ4MTMzXT1sKzE7az1mW2ErMTY+
PjJdfDA7cT0rKGZbaysxMzY+PjJdfDApKi4wMTc0NTMyOTI1MTk5NDMyOTU7ZD1xO2lmKHE9PTAu
MCl7ZT01MDtjPTUwfWVsc2V7ZT1+figoK0woK2QpKzEuMCkqNTAuMCk7Yz1+figoMS4wLStNKCtk
KSkqNTAuMCl9ZltqPj4yXT1sO2Zbais0Pj4yXT1lO2Zbais4Pj4yXT1jO29DKGEsODU2NTksaik7
aUMoYSw4NTc0Myl8MDtjPWsrNTZ8MDtlPWo7Zz1jO2g9ZSs0MHwwO2Rve2ZbZT4+Ml09ZltnPj4y
XTtlPWUrNHwwO2c9Zys0fDB9d2hpbGUoKGV8MCk8KGh8MCkpO3hlKGEsaik7aUMoYSw4NTc3OSl8
MDthOmRvIGlmKChmW2srODg+PjJdfDApPT0xKXtjPWJbYyszPj4wXXwwO3N3aXRjaChjPDwyND4+
MjQpe2Nhc2UgLTE6Y2FzZSAwOntuPTY7YnJlYWsgYX1kZWZhdWx0Ont9fXBbaT4+M109KyhjJjI1
NSkqLjAwMzkyMTU2ODYyNzQ1MDk4O29DKGEsMTA3OTM4LGkpfWVsc2Ugbj02O3doaWxlKDApO2lm
KChufDApPT02KWlDKGEsODU3OTQpfDA7aUMoYSw4NTc5Nyl8MDtpQyhhLDg1ODAzKXwwO2M9ays5
NnwwO2U9ajtnPWM7aD1lKzQwfDA7ZG97ZltlPj4yXT1mW2c+PjJdO2U9ZSs0fDA7Zz1nKzR8MH13
aGlsZSgoZXwwKTwoaHwwKSk7eGUoYSxqKTtpQyhhLDg1Nzc5KXwwO2I6ZG8gaWYoKGZbaysxMjg+
PjJdfDApPT0xKXtjPWJbYyszPj4wXXwwO3N3aXRjaChjPDwyND4+MjQpe2Nhc2UgLTE6Y2FzZSAw
OntuPTEwO2JyZWFrIGJ9ZGVmYXVsdDp7fX1wW20+PjNdPSsoYyYyNTUpKi4wMDM5MjE1Njg2Mjc0
NTA5ODtvQyhhLDEwNzkzOCxtKX1lbHNlIG49MTA7d2hpbGUoMCk7aWYoKG58MCk9PTEwKWlDKGEs
ODU3OTQpfDA7aUMoYSw4NTgzOSl8MDt0PW87cmV0dXJuIGx8MH1mdW5jdGlvbiBBZShhLGIsYyl7
YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MDtoPXQ7dD10KzE2fDA7Zz1oO2Q9
Nzc7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oY3wwKSlicmVhaztmW2c+PjJdPWQ7b0MoYSw4NTY1
NixnKTtwQyhhLCtwW2IrKGU8PDQpPj4zXSk7aUMoYSwxMDkzMjUpfDA7cEMoYSwtK3BbYisoZTw8
NCkrOD4+M10pO2Q9KGV8MCk9PTA/Njc6MzI7ZT1lKzF8MH10PWg7cmV0dXJufWZ1bmN0aW9uIEJl
KGEsYyxkLGUsZyl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0w
O2o9dDt0PXQrMTZ8MDtpPWorOHwwO2g9ajtpQyhhLDg2NjI3KXwwO2lDKGEsekgoYyl8MCl8MDtp
ZihkfDApe2Q9ekgoZCl8MDtmW2g+PjJdPWQ7b0MoYSw4NjYzNSxoKX1mW2k+PjJdPWU7b0MoYSw4
NjYzOSxpKTtjPUd4KGcsODY2NTEpfDA7aWYoY3wwP2JbYz4+MF18MDowKXtpQyhhLDExMDkzMCl8
MDtpQyhhLHpIKGMpfDApfDB9aUMoYSwxMDcwMzEpfDA7dD1qO3JldHVybn1mdW5jdGlvbiBDZShh
KXthPWF8MDt2YXIgYj0wO2lDKGEsODc0NTgpfDA7Yj1hKzEyfDA7aUMoYSxNZShmW2ZbZltiPj4y
XT4+Ml0+PjJdfDApfDApfDA7aUMoYSw5MDIyMSl8MDtpQyhhLE1lKGZbKGZbZltiPj4yXT4+Ml18
MCkrND4+Ml18MCl8MCl8MDtpQyhhLDkwMjMxKXwwO2lDKGEsTWUoZlsoZltmW2I+PjJdPj4yXXww
KSs4Pj4yXXwwKXwwKXwwO2lDKGEsODc0NzQpfDA7cmV0dXJufWZ1bmN0aW9uIERlKGEpe2E9YXww
O3ZhciBjPTAsZD0wLGU9MCxnPTA7ZT10O3Q9dCsxNnwwO2Q9ZTtjPWZbYSsxNj4+Ml18MDtpQyhh
LDg3NDM1KXwwO2M9Yys4fDA7Zz1BeShmW2M+PjJdfDApfDA7aWYoYltnPj4wXXwwKXtpQyhhLDg3
NDM3KXwwO2lDKGEsTWUoQXkoZltjPj4yXXwwKXwwKXwwKXwwfWc9VihmW2ErMTY4Pj4yXXwwLGZb
YSsxNjQ+PjJdfDApfDA7ZltkPj4yXT1nO29DKGEsODc0NDYsZCk7Zls0ODEzNV09MDt0PWU7cmV0
dXJufWZ1bmN0aW9uIEVlKGEpe2E9YXwwO2ZbNDgxMzVdPTE7cmV0dXJufWZ1bmN0aW9uIEZlKGEp
e2E9YXwwO2ZbNDgxMzVdPS0xO3JldHVybn1mdW5jdGlvbiBHZShhLGMsZCl7YT1hfDA7Yz1jfDA7
ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtsPXQ7dD10KzQ4fDA7aD1sKzh8
MDtrPWw7ZT1mW2ErMTY+PjJdfDA7aWYoZltlKzE0ND4+Ml18MD8oaj1kKzR8MCxpPX5+KCtwW2Er
MzUyPj4zXSorcFsoZltqPj4yXXwwKSsxNj4+M10pLGl8MCk6MCl7TmUoYSk7aUMoYSw4NzM3NCl8
MDtnPWMrOHwwO3BbZz4+M109K3BbZz4+M10tKyhpfDApKi41NTtmW2g+PjJdPWZbYz4+Ml07Zlto
KzQ+PjJdPWZbYys0Pj4yXTtmW2grOD4+Ml09ZltjKzg+PjJdO2ZbaCsxMj4+Ml09ZltjKzEyPj4y
XTtyQyhhLGgpO2lDKGEsODczODgpfDA7aUMoYSxmW2Q+PjJdfDApfDA7aUMoYSw4NzM5Nyl8MDtp
QyhhLDg3MTk1KXwwO2c9aDtjPWUrMTZ8MDtlPWcrNDB8MDtkb3tmW2c+PjJdPWZbYz4+Ml07Zz1n
KzR8MDtjPWMrNHwwfXdoaWxlKChnfDApPChlfDApKTtPZShhLGgpO2lDKGEsODczOTkpfDA7aD1m
W2o+PjJdfDA7aj1mW2grOD4+Ml18MDtqPWZbKChqfDApPT0wP2g6ais0fDApPj4yXXwwO2lDKGEs
MTA3MDMxKXwwO2lDKGEsail8MDtpQyhhLDEwNzAzMSl8MDtmW2s+PjJdPWk7b0MoYSw4NzQwOCxr
KTtzd2l0Y2goYltkKzQ4Pj4wXXwwKXtjYXNlIDEwODp7aUMoYSw4NzQxMyl8MDticmVha31jYXNl
IDExNDp7aUMoYSw4NzQyNCl8MDticmVha31kZWZhdWx0Ont9fVBlKGEpO2lDKGEsMTUxMTIyKXww
fXQ9bDtyZXR1cm59ZnVuY3Rpb24gSGUoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAs
ZT0wLGc9MCxoPTAsaT0wLGo9MC4wLGs9MC4wLGw9MC4wO2k9dDt0PXQrNDh8MDtlPWk7Zz1mW2Er
MTY+PjJdfDA7aD1nKzE0NHwwO2lmKGZbaD4+Ml18MCl7bD0rcFtiPj4zXTtrPStwW2IrMjQ+PjNd
O2Q9Yis4fDA7aj0rcFtkPj4zXTtwW2I+PjNdPWwtK3BbYisxNj4+M10rbDtwW2Q+PjNdPWotaytq
O05lKGEpO2lDKGEsODczNjApfDA7c0MoYSxiLDIpO2lDKGEsODcxOTUpfDA7ZG8gaWYoIWMpaWYo
IShmWzQ4MTM1XXwwKSl7aUMoYSwxMDYzNTQpfDA7YnJlYWt9ZWxzZXtpQyhhLDE0NTQ2OCl8MDti
cmVha31lbHNle2I9ZTtjPWcrNTZ8MDtkPWIrNDB8MDtkb3tmW2I+PjJdPWZbYz4+Ml07Yj1iKzR8
MDtjPWMrNHwwfXdoaWxlKChifDApPChkfDApKTtPZShhLGUpfXdoaWxlKDApO2lmKChmWzQ4MTM1
XXwwKT09MSlmWzQ4MTM1XT0wO2lDKGEsODczMDYpfDA7cEMoYSwrcFtnKzE1Mj4+M10pO2lDKGEs
ODczNDkpfDA7Yj1lO2M9ZysxNnwwO2Q9Yis0MHwwO2Rve2ZbYj4+Ml09ZltjPj4yXTtiPWIrNHww
O2M9Yys0fDB9d2hpbGUoKGJ8MCk8KGR8MCkpO09lKGEsZSk7Yj1mW2g+PjJdfDA7aWYoKGJ8MCk9
PTEpe2lDKGEsODcyMDMpfDA7Yj1mW2g+PjJdfDB9aWYoKGJ8MCk9PTIpaUMoYSw4NzIxMil8MDtQ
ZShhKTtpQyhhLDE1MTEyMil8MH10PWk7cmV0dXJufWZ1bmN0aW9uIEllKGEsYixjLGQpe2E9YXww
O2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTA7aT10O3Q9dCs0OHwwO2U9aTtn
PWZbYSsxNj4+Ml18MDtoPWcrMTQ0fDA7aWYoZltoPj4yXXwwKXtOZShhKTtpQyhhLDg3MzMyKXww
O3NDKGEsYixjKTtpQyhhLDg3MTk1KXwwO2RvIGlmKCFkKWlmKCEoZls0ODEzNV18MCkpe2lDKGEs
MTA2MzU0KXwwO2JyZWFrfWVsc2V7aUMoYSwxNDU0NjgpfDA7YnJlYWt9ZWxzZXtiPWU7Yz1nKzU2
fDA7ZD1iKzQwfDA7ZG97ZltiPj4yXT1mW2M+PjJdO2I9Yis0fDA7Yz1jKzR8MH13aGlsZSgoYnww
KTwoZHwwKSk7T2UoYSxlKX13aGlsZSgwKTtpZigoZls0ODEzNV18MCk9PTEpZls0ODEzNV09MDtp
QyhhLDg3MzA2KXwwO3BDKGEsK3BbZysxNTI+PjNdKTtpQyhhLDg3MzQ5KXwwO2I9ZTtjPWcrMTZ8
MDtkPWIrNDB8MDtkb3tmW2I+PjJdPWZbYz4+Ml07Yj1iKzR8MDtjPWMrNHwwfXdoaWxlKChifDAp
PChkfDApKTtPZShhLGUpO2I9ZltoPj4yXXwwO2lmKChifDApPT0xKXtpQyhhLDg3MjAzKXwwO2I9
ZltoPj4yXXwwfWlmKChifDApPT0yKWlDKGEsODcyMTIpfDA7UGUoYSk7aUMoYSwxNTExMjIpfDB9
dD1pO3JldHVybn1mdW5jdGlvbiBKZShhLGIsYyxkLGUsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1k
fDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0wLGs9MDtrPXQ7dD10KzQ4fDA7aD1rO2k9Zlth
KzE2Pj4yXXwwO2o9aSsxNDR8MDtpZihmW2o+PjJdfDApe05lKGEpO2lDKGEsODcxODEpfDA7c0Mo
YSxiLGMpO2lDKGEsODcxOTUpfDA7ZD1oO2U9aSsxNnwwO2c9ZCs0MHwwO2Rve2ZbZD4+Ml09Zltl
Pj4yXTtkPWQrNHwwO2U9ZSs0fDB9d2hpbGUoKGR8MCk8KGd8MCkpO09lKGEsaCk7aUMoYSw4NzMw
Nil8MDtwQyhhLCtwW2krMTUyPj4zXSk7ZD1mW2o+PjJdfDA7aWYoKGR8MCk9PTEpe2lDKGEsODcy
MDMpfDA7ZD1mW2o+PjJdfDB9aWYoKGR8MCk9PTIpaUMoYSw4NzIxMil8MDtpQyhhLDg3MzE1KXww
O1BlKGEpO2lDKGEsMTUxMTIyKXwwfXQ9aztyZXR1cm59ZnVuY3Rpb24gS2UoYSxiLGMpe2E9YXww
O2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wO2k9dDt0PXQrNDh8MDtnPWk7ZD1m
W2ErMTY+PjJdfDA7aD1kKzE0NHwwO2lmKGZbaD4+Ml18MCl7TmUoYSk7aUMoYSw4NzE4MSl8MDtz
QyhhLGIsYyk7aUMoYSw4NzE5NSl8MDtlPWc7Yj1kKzE2fDA7Yz1lKzQwfDA7ZG97ZltlPj4yXT1m
W2I+PjJdO2U9ZSs0fDA7Yj1iKzR8MH13aGlsZSgoZXwwKTwoY3wwKSk7T2UoYSxnKTtiPWZbaD4+
Ml18MDtpZigoYnwwKT09MSl7aUMoYSw4NzIwMyl8MDtiPWZbaD4+Ml18MH1pZigoYnwwKT09Milp
QyhhLDg3MjEyKXwwO1BlKGEpO2lDKGEsMTUxMTIyKXwwfXQ9aTtyZXR1cm59ZnVuY3Rpb24gTGUo
YSxiKXthPWF8MDtiPWJ8MDtpQyhhLDg3MTc4KXwwO2lDKGEsTWUoYil8MCl8MDtpQyhhLDE1MTEy
Mil8MDtyZXR1cm59ZnVuY3Rpb24gTWUoYSl7YT1hfDA7cmV0dXJuIGF8MH1mdW5jdGlvbiBOZShh
KXthPWF8MDtpZighKGJbYSsxNDQ+PjBdfDApKWlDKGEsODczMDMpfDA7ZWxzZSBpQyhhLGZbYSsx
NDg+PjJdfDApfDA7cmV0dXJufWZ1bmN0aW9uIE9lKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxl
PTAsZz0wLGk9MDtlPXQ7dD10KzE2fDA7ZD1lO2E6ZG8gc3dpdGNoKGZbYyszMj4+Ml18MCl7Y2Fz
ZSA1OntpQyhhLGZbYz4+Ml18MCl8MDticmVha31jYXNlIDE6aWYoIShiW2MrMz4+MF18MCkpe2lD
KGEsMTA2MzU0KXwwO2JyZWFrIGF9ZWxzZXtpPWhbYysxPj4wXXwwO2c9aFtjKzI+PjBdfDA7Zltk
Pj4yXT1oW2M+PjBdO2ZbZCs0Pj4yXT1pO2ZbZCs4Pj4yXT1nO29DKGEsODc3NTQsZCk7YnJlYWsg
YX1kZWZhdWx0OnhhKDE0NjY2NCw4NzIyMSw0OSw4NzI4NSl9d2hpbGUoMCk7dD1lO3JldHVybn1m
dW5jdGlvbiBQZShhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wLGc9MCxoPTA7aD10O3Q9dCsx
NnwwO2c9aDtlPWZbYSsxNj4+Ml18MDtzd2l0Y2goZltlKzEyPj4yXXwwKXtjYXNlIDg6e2I9MTtj
PTExOTc1MTtkPWUrOHwwO2JyZWFrfWNhc2UgMTA6e2I9MDtjPTExOTc1MTtkPWUrOHwwO2JyZWFr
fWNhc2UgMzpjYXNlIDI6Y2FzZSA5OntiPTE7Yz0xMTk3MjA7ZD1lKzh8MDticmVha31jYXNlIDc6
Y2FzZSA2OmNhc2UgMTE6e2I9MDtjPTExOTcyMDtkPWUrOHwwO2JyZWFrfWNhc2UgMDp7Yj0xO2M9
MTE5NzY0O2Q9ZSs4fDA7YnJlYWt9Y2FzZSA0OntiPTA7Yz04NzI1NztkPWUrOHwwO2JyZWFrfWNh
c2UgMTp7Yj0xO2M9MTE5NzY0O2Q9ZSs4fDA7YnJlYWt9Y2FzZSA1OntiPTA7Yz0xMTk3NjQ7ZD1l
Kzh8MDticmVha31kZWZhdWx0OnhhKDE0NjY2NCw4NzIyMSwxMDYsODcyNDApfWU9ZlsoZltkPj4y
XXwwKSs4Pj4yXXwwO2ZbZz4+Ml09YjtmW2crND4+Ml09YztmW2crOD4+Ml09ZTtvQyhhLDg3MjY5
LGcpO3Q9aDtyZXR1cm59ZnVuY3Rpb24gUWUoYSl7YT1hfDA7dmFyIGI9MDtpQyhhLDkwMTkzKXww
O2lDKGEsOTAyMDEpfDA7Yj1hKzEyfDA7aUMoYSwkZShmW2ZbZltiPj4yXT4+Ml0+PjJdfDApfDAp
fDA7aUMoYSw5MDIyMSl8MDtpQyhhLCRlKGZbKGZbZltiPj4yXT4+Ml18MCkrND4+Ml18MCl8MCl8
MDtpQyhhLDkwMjMxKXwwO2lDKGEsJGUoZlsoZltmW2I+PjJdPj4yXXwwKSs4Pj4yXXwwKXwwKXww
O2lDKGEsOTAyMzQpfDA7cmV0dXJufWZ1bmN0aW9uIFJlKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9
MCxnPTAsaD0wLGk9MDtpPXQ7dD10KzMyfDA7aD1pKzI0fDA7Zz1pKzE2fDA7ZT1pKzh8MDtkPWk7
Yz1mW2ErMTY+PjJdfDA7Zls0ODEzOV09fn4oK3BbYSsyMzI+PjNdLStwW2ErMjE2Pj4zXSk7Zls0
ODEzOF09fn4oK3BbYSsyMjQ+PjNdLStwW2ErMjA4Pj4zXSk7aUMoYSw4ODg4MCl8MDtpQyhhLDg4
ODg3KXwwO2M9QXkoZltjKzg+PjJdfDApfDA7aWYoYltjPj4wXXwwKXtpQyhhLDg4OTU2KXwwO2lD
KGEsJGUoYyl8MCl8MDtpQyhhLDg4OTY0KXwwfWM9VihmW2ErMTY4Pj4yXXwwLGZbYSsxNjQ+PjJd
fDApfDA7ZltkPj4yXT1jO29DKGEsODg5NzMsZCk7aUMoYSw4ODk5Myl8MDtpQyhhLDg5MDI4KXww
O2lDKGEsODkwNTYpfDA7aUMoYSw4OTA2Mil8MDtpQyhhLDg5MTA1KXwwO2lDKGEsODkxNDYpfDA7
aUMoYSw4OTE2NSl8MDtpQyhhLDg5MTgyKXwwO2lDKGEsODkyMzApfDA7aUMoYSw4OTI4Myl8MDtp
QyhhLDg5MzU5KXwwO2lDKGEsODk0MzUpfDA7aUMoYSw4OTQ0NCl8MDtpQyhhLDg5NDY3KXwwO2lD
KGEsODk0OTQpfDA7aUMoYSw4OTU0Nyl8MDtpQyhhLDg5NTY5KXwwO2lDKGEsODk2MTQpfDA7aUMo
YSw4OTYyNil8MDtpQyhhLDg5NjM2KXwwO2lDKGEsODk2NjIpfDA7aUMoYSw4OTU0Nyl8MDtpQyhh
LDg5NzE0KXwwO2lDKGEsODk2MTQpfDA7aUMoYSw4OTYyNil8MDtpQyhhLDg5NzU4KXwwO2lDKGEs
ODk0NjcpfDA7aUMoYSw4OTQ5NCl8MDtpQyhhLDg5NTQ3KXwwO2lDKGEsODk3MTQpfDA7aUMoYSw4
OTYxNCl8MDtpQyhhLDg5NjI2KXwwO2lDKGEsODk2MzYpfDA7aUMoYSw4OTY2Mil8MDtpQyhhLDg5
NTQ3KXwwO2lDKGEsODk1NjkpfDA7aUMoYSw4OTYxNCl8MDtpQyhhLDg5NjI2KXwwO2lDKGEsODk3
NzEpfDA7aUMoYSw4OTc3OSl8MDtpQyhhLDg5Nzg1KXwwO2lDKGEsODk3OTkpfDA7aUMoYSw4OTgw
Nyl8MDtpQyhhLDg5ODQwKXwwO2Q9KGZbNDgxMzldfDApKzEwfDA7ZltlPj4yXT1mWzQ4MTM4XTtm
W2UrND4+Ml09ZDtvQyhhLDg5OTE3LGUpO2lDKGEsODk5NDcpfDA7aUMoYSw4OTk1Nil8MDtpQyhh
LDkwMDE0KXwwO2lDKGEsOTAwMjQpfDA7aUMoYSw5MDA4OSl8MDtlPWZbNDgxMzldfDA7ZltnPj4y
XT1mWzQ4MTM4XTtmW2crND4+Ml09ZTtvQyhhLDkwMTI2LGcpO2c9Zls0ODEzOV18MDtmW2g+PjJd
PWZbNDgxMzhdO2ZbaCs0Pj4yXT1nO29DKGEsOTAxNTQsaCk7dD1pO3JldHVybn1mdW5jdGlvbiBT
ZShhKXthPWF8MDtpQyhhLDg4NDMxKXwwO2lDKGEsODg0NDMpfDA7aUMoYSw4ODQ1MSl8MDtpQyhh
LDg4NTE0KXwwO2lDKGEsODg0NDMpfDA7aUMoYSw4ODU1OSl8MDtpQyhhLDg4NjA4KXwwO2lDKGEs
ODg2NjIpfDA7aUMoYSw4ODQ0Myl8MDtpQyhhLDg4NzYyKXwwO2lDKGEsODg4MTEpfDA7aUMoYSw4
ODQ0Myl8MDtpQyhhLDg4ODYzKXwwO3JldHVybn1mdW5jdGlvbiBUZShhLGMsZCxlLGcpe2E9YXww
O2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MDtqPXQ7dD10KzMyfDA7aT1q
KzE2fDA7aD1qKzh8MDtnPWo7aUMoYSw4ODM4OSl8MDtpZihjfDA/YltjPj4wXXwwOjApe2M9JGUo
Yyl8MDtmW2c+PjJdPWM7b0MoYSw4ODM5MixnKX1pZihkfDA/YltkPj4wXXwwOjApe2Q9JGUoZCl8
MDtmW2g+PjJdPWQ7b0MoYSw4ODQwMyxoKX1pZihlfDA/YltlPj4wXXwwOjApe2U9JGUoZSl8MDtm
W2k+PjJdPWU7b0MoYSw4ODQxNSxpKX1pQyhhLDg4NDI4KXwwO3Q9ajtyZXR1cm59ZnVuY3Rpb24g
VWUoYSl7YT1hfDA7aUMoYSw4ODM4Myl8MDtyZXR1cm59ZnVuY3Rpb24gVmUoYSxjLGQpe2E9YXww
O2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLjAsaT0wLjAsaj0wLjAsaz0wLjAsbD0wLG09MCxuPTAs
bz0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAuMDtBPXQ7dD10
KzExMnwwO3k9QSs5NnwwO3o9QSs4OHwwO3c9QSs4MHwwO289QSs3MnwwO3Y9QSs2NHwwO3M9QSs1
NnwwO3I9QSs0OHwwO3E9QSs0MHwwO249QSsyNHwwO209QSs4fDA7bD1BO3g9ZlthKzE2Pj4yXXww
O3N3aXRjaChiW2QrNDg+PjBdfDApe2Nhc2UgMTA4OntpPStwW2M+PjNdO2s9K3BbZCszMj4+M107
YnJlYWt9Y2FzZSAxMTQ6e2s9K3BbZCszMj4+M107aT0rcFtjPj4zXS1rO2JyZWFrfWRlZmF1bHQ6
e2s9K3BbZCszMj4+M107aT0rcFtjPj4zXS1rKi41fX1lPWQrNDB8MDtnPStwW2U+PjNdO3U9ZCs0
fDA7aj0rcFsoZlt1Pj4yXXwwKSsxNj4+M107aWYoZzxqKXtnPWoqMS4xKzEuMDtwW2U+PjNdPWd9
Qj1pKy04LjA7aj1qKi4yKyhqPDEyLjA/MS40OjIuMCktK3BbYys4Pj4zXSsgKygoZls0ODEzOV18
MCk+Pj4wKS1nO29DKGEsODgwNDUsbCk7cFttPj4zXT1CO3BbbSs4Pj4zXT1qO29DKGEsODc5ODIs
bSk7cFtuPj4zXT1pKzguMCtrLUI7cFtuKzg+PjNdPWc7b0MoYSw4ODAwNixuKTtpQyhhLDg4MDgw
KXwwO2lDKGEsODgxMTQpfDA7ZT1mW3U+PjJdfDA7Yz1mW2UrOD4+Ml18MDtpZihjKXtmW3E+PjJd
PWZbYys0Pj4yXTtvQyhhLDg4MjA0LHEpO2U9ZltjKzg+PjJdfDA7aWYoZXwwKXtmW3I+PjJdPWU7
b0MoYSw4ODIyMyxyKX1lPWZbYysxMj4+Ml18MDtpZihlfDApe2Zbcz4+Ml09ZTtvQyhhLDg4MjQw
LHMpfWU9ZltjKzE2Pj4yXXwwO2lmKGV8MCl7Zlt2Pj4yXT1lO29DKGEsODgyNTgsdil9fWVsc2V7
ZltvPj4yXT1mW2U+PjJdO29DKGEsODgyMDQsbyl9cFt3Pj4zXT0rcFsoZlt1Pj4yXXwwKSsxNj4+
M107b0MoYSw4ODI3NCx3KTtlPXgrMTZ8MDtzd2l0Y2goZlt4KzQ4Pj4yXXwwKXtjYXNlIDU6e2U9
ZltlPj4yXXwwO2lmKGIzKGUsMTQ1NTg0KXwwKXtmW3o+PjJdPWU7b0MoYSw4ODI5NCx6KX1icmVh
a31jYXNlIDE6e3g9aFtlKzE+PjBdfDA7ej1oW2UrMj4+MF18MDtmW3k+PjJdPWhbZT4+MF07Zlt5
KzQ+PjJdPXg7Zlt5Kzg+PjJdPXo7b0MoYSw4ODMwNCx5KTticmVha31kZWZhdWx0OnhhKDE0NjY2
NCw4Nzc2OCw0MzgsODgzMjUpfWlDKGEsODgzMzgpfDA7aUMoYSwkZShmW2Q+PjJdfDApfDApfDA7
aUMoYSw4ODM0OSl8MDtpQyhhLDg4MzcyKXwwO3Q9QTtyZXR1cm59ZnVuY3Rpb24gV2UoYSxiLGMp
e2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MC4wLGg9MC4wLGk9MCxqPTAuMCxrPTAu
MDtkPXQ7dD10KzMyfDA7ZT1kKzE2fDA7aT1kO2lDKGEsODc5NDYpfDA7az0rcFtiPj4zXTtoPStw
W2IrMTY+PjNdLWs7aj0rcFtiKzI0Pj4zXTtnPWotK3BbYis4Pj4zXTtqPSsoKGZbNDgxMzldfDAp
Pj4+MCktajtwW2k+PjNdPWstaDtwW2krOD4+M109ajtvQyhhLDg3OTgyLGkpO3BbZT4+M109aCoy
LjA7cFtlKzg+PjNdPWcqMi4wO29DKGEsODgwMDYsZSk7ZGYoYSxjKTtpQyhhLDg3ODI4KXwwO2Jm
KGEpO2lDKGEsODgwMzQpfDA7dD1kO3JldHVybn1mdW5jdGlvbiBYZShhLGIsYyxkKXthPWF8MDti
PWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLjAsZz0wLGg9MC4wLGk9MCxqPTAsaz0wLGw9MDtrPXQ7
dD10KzQ4fDA7aj1rKzI0fDA7aT1rKzh8MDtnPWs7aUMoYSw4NzU1MSl8MDtsPWZbNDgxMzldfDA7
ZltnPj4yXT1mWzQ4MTM4XTtmW2crND4+Ml09bDtvQyhhLDg3ODA0LGcpO2RmKGEsZCk7aUMoYSw4
NzgyOCl8MDtiZihhKTtpQyhhLDg3ODMxKXwwO2c9YystMXwwO2Q9MDt3aGlsZSgxKXtpZigoZHww
KT49KGN8MCkpYnJlYWs7aD0rcFtiKyhkPDw0KT4+M107ZT0rKChmWzQ4MTM5XXwwKT4+PjApLStw
W2IrKGQ8PDQpKzg+PjNdO2lmKCFkKXtpQyhhLDg3ODU4KXwwO3BbaT4+M109aDtwW2krOD4+M109
ZTtvQyhhLDg3OTI0LGkpO2lDKGEsODc5MzUpfDB9ZWxzZXtwW2o+PjNdPWg7cFtqKzg+PjNdPWU7
b0MoYSw4NzkyNCxqKX1pZigoZHwwKT09KGd8MCkpaUMoYSw4NzkzOCl8MDtkPWQrMXwwfWlDKGEs
ODc2NjcpfDA7dD1rO3JldHVybn1mdW5jdGlvbiBZZShhLGIsYyxkLGUsZyl7YT1hfDA7Yj1ifDA7
Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MDtlPXQ7dD10KzE2fDA7ZD1lO2lDKGEsODc1
NTEpfDA7aD1mWzQ4MTM5XXwwO2ZbZD4+Ml09Zls0ODEzOF07ZltkKzQ+PjJdPWg7b0MoYSw4Nzgw
NCxkKTtkZihhLGcpO2lDKGEsODc4MjgpfDA7YmYoYSk7aUMoYSw4NzgzMSl8MDtlZihhLGIsYyk7
aUMoYSw4Nzg0NCl8MDt0PWU7cmV0dXJufWZ1bmN0aW9uIFplKGEsYixjKXthPWF8MDtiPWJ8MDtj
PWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLjA7aj10O3Q9dCs0OHwwO2k9aisy
NHwwO2g9ais4fDA7ZT1qO2lDKGEsODc1NTEpfDA7Zz1mWzQ4MTM5XXwwO2ZbZT4+Ml09Zls0ODEz
OF07ZltlKzQ+PjJdPWc7b0MoYSw4NzU4OCxlKTtpQyhhLDg3NjI4KXwwO2U9YystMXwwO2c9Yis4
fDA7ZD0wO3doaWxlKDEpe2lmKChkfDApPj0oY3wwKSlicmVhaztpZighZCl7aUMoYSw4NzY0MCl8
MDtrPSsoKGZbNDgxMzldfDApPj4+MCktK3BbZz4+M107cFtoPj4zXT0rcFtiPj4zXTtwW2grOD4+
M109aztvQyhhLDg3NjQ0LGgpO2lDKGEsODc2NTUpfDB9ZWxzZXtrPSsoKGZbNDgxMzldfDApPj4+
MCktK3BbYisoZDw8NCkrOD4+M107cFtpPj4zXT0rcFtiKyhkPDw0KT4+M107cFtpKzg+PjNdPWs7
b0MoYSw4NzY0NCxpKX1pZigoZHwwKT09KGV8MCkpaUMoYSw4NzY1OSl8MDtkPWQrMXwwfWlDKGEs
ODc2NjMpfDA7YmYoYSk7aUMoYSw4NzY2Nyl8MDt0PWo7cmV0dXJufWZ1bmN0aW9uIF9lKGEsYil7
YT1hfDA7Yj1ifDA7aUMoYSw4NzQ4Nil8MDtpQyhhLCRlKGIpfDApfDA7aUMoYSw4NzQ5OCl8MDty
ZXR1cm59ZnVuY3Rpb24gJGUoYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9
MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MDtzPXQ7dD10KzE2fDA7ZD1zO2M9
Zls0ODEzNl18MDtpZighYyl7Zls0ODEzN109NjQ7Yz1FSCg2NCl8MDtmWzQ4MTM2XT1jfXE9ZCsx
NXwwO3A9ZCsxNHwwO2c9MDtvPTA7bT0wO2Q9MDtlPTA7YTp3aGlsZSgxKXtsPShtfDApIT0wO2s9
ZztuPWE7aj1kO2I6d2hpbGUoMSl7aWYoIW4pe3I9MzU7YnJlYWsgYX1hPWJbbj4+MF18MDtpZigh
KGE8PDI0Pj4yNCkpe3I9MzU7YnJlYWsgYX1kPWZbNDgxMzddfDA7aWYoKG98MCk+KGQrLTh8MCkp
e2M9ZDw8MTtmWzQ4MTM3XT1jO2M9R0goZls0ODEzNl18MCxjKXwwO2ZbNDgxMzZdPWM7Yz1jK298
MDtkPWJbbj4+MF18MH1lbHNlIGQ9YTtzd2l0Y2goZDw8MjQ+PjI0KXtjYXNlIDYwOntkPTQ7YT0x
MTA0Nzk7cj0yOTticmVhayBifWNhc2UgNjI6e2Q9NDthPTExMDQzNjtyPTMwO2JyZWFrIGJ9Y2Fz
ZSAzODp7cj0xMDticmVhayBifWNhc2UgNDU6e2Q9NTthPTExMDQ0MTtnPWs7aT1qO2o9ZTticmVh
ayBifWRlZmF1bHQ6e319aWYobCZkPDwyND4+MjQ9PTMyKXtyPTEyO2JyZWFrfXN3aXRjaChkPDwy
ND4+MjQpe2Nhc2UgMzQ6e2Q9NjthPTExMDQ2NjtyPTI5O2JyZWFrIGJ9Y2FzZSAzOTp7ZD01O2E9
MTEwNDQ3O3I9MzA7YnJlYWsgYn1kZWZhdWx0Ont9fWlmKGQ8PDI0Pj4yND49MCl7ZD0xO2E9bjty
PTI5O2JyZWFrfWg9MTI3O2k9ZDtkPTA7d2hpbGUoMSl7YT1oJjI1NTtnPWkmMjU1O2lmKGE+Pj4w
Pj1nPj4+MClicmVhaztpPWgmZyYyNTU7aD1hPj4+MTtkPWQrMXwwfWlmKGQ+Pj4wPjEpe2E9aSYy
NTU7ZT0wfWVsc2V7YT1MMyhqfDAsZXwwLDYpfDA7YT1FMyhhfDAsR3wwLGkmMjU1fDAsMCl8MDtk
PWs7ZT1HfWs9ZCstMXwwO2lmKChkfDApPD0xKXtyPTI0O2JyZWFrfW49bisxfDA7aj1hfWlmKChy
fDApPT0xMCl7cj0wO2lmKCEoYWYobil8MCkpe2Q9NTthPTExMDQ1MztnPWs7aT1qO2o9ZX1lbHNl
IHI9MTN9ZWxzZSBpZigocnwwKT09MTIpe3I9MDtpZigoYlttPj4wXXwwKT09MzIpe2Q9NjthPTEx
MDQ1OTtnPWs7aT1qO2o9ZX1lbHNlIHI9MTN9ZWxzZSBpZigocnwwKT09MjQpe3I9MDtiW3E+PjBd
PTU5O2Q9MztoPXA7aT1hO2o9ZTt3aGlsZSgxKXthPWk7aT1JMyhpfDAsanwwLDEwLDApfDA7ZT1q
O2o9RzttPUQzKGl8MCxqfDAsMTAsMCl8MDttPUYzKGF8MCxlfDAsbXwwLEd8MCl8MDtnPWgrLTF8
MDtiW2g+PjBdPW18NDg7bT1kO2Q9ZCsxfDA7aWYobT4+PjA+MTEpe3I9MjY7YnJlYWsgYX1pZigh
KGU+Pj4wPjB8KGV8MCk9PTAmYT4+PjA+OSkpYnJlYWs7ZWxzZSBoPWd9YT1oKy0yfDA7YltnPj4w
XT0zNTtiW2E+PjBdPTM4O2c9a31lbHNlIGlmKChyfDApPT0yOSl7cj0wO2c9aztpPWo7aj1lfWVs
c2UgaWYoKHJ8MCk9PTMwKXtyPTA7Zz1rO2k9ajtqPWV9aWYoKHJ8MCk9PTEzKXtyPTA7ZD0xO2E9
bjtnPWs7aT1qO2o9ZX1oPWMrZHwwO2U9ZDt3aGlsZSgxKXtpZighZSlicmVhaztiW2M+PjBdPWJb
YT4+MF18MDtlPWUrLTF8MDthPWErMXwwO2M9YysxfDB9YT1uKzF8MDtvPWQrb3wwO209bjtjPWg7
ZD1pO2U9an1pZigocnwwKT09MjYpe3EyKDg3NTA0LDQ2LDEsZlsxOTQ1N118MCl8MDtaYSgxKX1l
bHNlIGlmKChyfDApPT0zNSl7YltjPj4wXT0wO3Q9cztyZXR1cm4gZls0ODEzNl18MH1yZXR1cm4g
MH1mdW5jdGlvbiBhZihhKXthPWF8MDt2YXIgYz0wLGQ9MDtkPWErMXwwO2M9YltkPj4wXXwwO2E6
ZG8gaWYoYzw8MjQ+PjI0PT0zNSl7ZD1hKzJ8MDtjPWJbZD4+MF18MDtzd2l0Y2goYzw8MjQ+PjI0
KXtjYXNlIDg4OmNhc2UgMTIwOmJyZWFrO2RlZmF1bHQ6e2E9ZDt3aGlsZSgxKXtkPWErMXwwO2lm
KChjKy00OCYyNTUpPj0xMClicmVhayBhO2E9ZDtjPWJbZD4+MF18MH19fWQ9YSszfDA7d2hpbGUo
MSl7Yz1iW2Q+PjBdfDA7aWYoKGMrLTQ4JjI1NSk+PTEwKXN3aXRjaChjPDwyND4+MjQpe2Nhc2Ug
NjU6Y2FzZSA2NjpjYXNlIDY3OmNhc2UgNjg6Y2FzZSA2OTpjYXNlIDcwOmNhc2UgOTc6Y2FzZSA5
ODpjYXNlIDk5OmNhc2UgMTAwOmNhc2UgMTAxOmNhc2UgMTAyOmJyZWFrO2RlZmF1bHQ6YnJlYWsg
YX1kPWQrMXwwfX1lbHNlIHdoaWxlKDEpe2E9ZCsxfDA7aWYoKChjJi0zMykrLTY1JjI1NSk+PTI2
KWJyZWFrIGE7ZD1hO2M9YlthPj4wXXwwfXdoaWxlKDApO3JldHVybiBjPDwyND4+MjQ9PTU5fDB9
ZnVuY3Rpb24gYmYoYSl7YT1hfDA7dmFyIGI9MC4wLGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9
MDtqPXQ7dD10KzQ4fDA7Yz1qKzh8MDtpPWo7aD1mW2ErMTY+PjJdfDA7aUMoYSw4NzY3OSl8MDtk
PWM7ZT1oKzE2fDA7Zz1kKzQwfDA7ZG97ZltkPj4yXT1mW2U+PjJdO2Q9ZCs0fDA7ZT1lKzR8MH13
aGlsZSgoZHwwKTwoZ3wwKSk7Y2YoYSxjKTtiPStwW2grMTUyPj4zXTtpZihiIT0xLjApe3BbaT4+
M109YjtvQyhhLDg3Njk3LGkpfXN3aXRjaChmW2grMTQ0Pj4yXXwwKXtjYXNlIDE6e2lDKGEsODc3
MTQpfDA7YnJlYWt9Y2FzZSAyOntpQyhhLDg3NzMyKXwwO2JyZWFrfWRlZmF1bHQ6e319aUMoYSw4
Nzc0OSl8MDt0PWo7cmV0dXJufWZ1bmN0aW9uIGNmKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxl
PTAsZz0wLGk9MDtlPXQ7dD10KzE2fDA7ZD1lO2E6ZG8gc3dpdGNoKGZbYyszMj4+Ml18MCl7Y2Fz
ZSA1OntpQyhhLGZbYz4+Ml18MCl8MDticmVha31jYXNlIDE6aWYoIShiW2MrMz4+MF18MCkpe2lD
KGEsMTQzOTc5KXwwO2JyZWFrIGF9ZWxzZXtpPWhbYysxPj4wXXwwO2c9aFtjKzI+PjBdfDA7Zltk
Pj4yXT1oW2M+PjBdO2ZbZCs0Pj4yXT1pO2ZbZCs4Pj4yXT1nO29DKGEsODc3NTQsZCk7YnJlYWsg
YX1kZWZhdWx0OnhhKDE0NjY2NCw4Nzc2OCw5NCw4Nzc4OCl9d2hpbGUoMCk7dD1lO3JldHVybn1m
dW5jdGlvbiBkZihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTA7Zz10O3Q9dCs0
OHwwO2U9ZztpZighYilpQyhhLDg3OTA3KXwwO2Vsc2V7Yz1mW2ErMTY+PjJdfDA7aUMoYSw4Nzg3
Nyl8MDtiPWU7Yz1jKzU2fDA7ZD1iKzQwfDA7ZG97ZltiPj4yXT1mW2M+PjJdO2I9Yis0fDA7Yz1j
KzR8MH13aGlsZSgoYnwwKTwoZHwwKSk7Y2YoYSxlKTtpQyhhLDg3OTA0KXwwfXQ9ZztyZXR1cm59
ZnVuY3Rpb24gZWYoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAs
aT0wLjAsaj0wLjA7aD10O3Q9dCszMnwwO2c9aDtkPTg3ODU4O2U9MDt3aGlsZSgxKXtpZigoZXww
KT49KGN8MCkpYnJlYWs7aj0rcFtiKyhlPDw0KT4+M107aT0rKChmWzQ4MTM5XXwwKT4+PjApLStw
W2IrKGU8PDQpKzg+PjNdO2ZbZz4+Ml09ZDtwW2crOD4+M109ajtwW2crMTY+PjNdPWk7b0MoYSw4
Nzg2MSxnKTtkPShlfDApPT0wPzg3ODc0OjE5NDg3MDtlPWUrMXwwfWlDKGEsMTA3MDMxKXwwO3Q9
aDtyZXR1cm59ZnVuY3Rpb24gZmYoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO2I9dDt0PXQrMTZ8
MDtjPWIrOHwwO2Q9YjtpQyhhLDkyNDkxKXwwO2lDKGEsOTI1MDYpfDA7aUMoYSw5MjU0NSl8MDtp
QyhhLDkyNTk0KXwwO2ZbZD4+Ml09MTQ1NTg0O2ZbZCs0Pj4yXT05MjY4MjtvQyhhLDkyNjYzLGQp
O2ZbYz4+Ml09MTQ1NDY4O2ZbYys0Pj4yXT05MjY4ODtvQyhhLDkyNjYzLGMpO3Q9YjtyZXR1cm59
ZnVuY3Rpb24gZ2YoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLjAsZT0wLjAsZz0wLjAsaD0wLjAs
aT0wLGo9MDtiPXQ7dD10KzY0fDA7Yz1iKzh8MDtpPWI7aj1BeShmWyhmW2ErMTY+PjJdfDApKzg+
PjJdfDApfDA7ZltpPj4yXT1qO29DKGEsOTE0NDQsaSk7aD0rcFthKzM2OD4+M10qLjUqK3BbYSs0
ODg+PjNdO2c9K3BbYSszNzY+PjNdKi41KitwW2ErNDk2Pj4zXTtlPStRKCsoaCoyLjAwMDAwMDA5
NDk5NDkwMjZlLTAzKSkqMTgwLjAqLjYzNjYxOTc3MjM2NzU4MTQ7ZD0rUSgrKGcqMi4wMDAwMDAw
OTQ5OTQ5MDI2ZS0wMykpKjE4MC4wKi42MzY2MTk3NzIzNjc1ODE0O3BbYz4+M109aDtwW2MrOD4+
M109ZztwW2MrMTY+PjNdPS01MDAuMDtwW2MrMjQ+PjNdPWg7cFtjKzMyPj4zXT1nO3BbYys0MD4+
M109MC4wO3BbYys0OD4+M109KGU+ZD9lOmQpKjEuMjtvQyhhLDkxNDY2LGMpO2lDKGEsOTE2MTMp
fDA7aUMoYSw5MjQ0Myl8MDt0PWI7cmV0dXJufWZ1bmN0aW9uIGhmKGEpe2E9YXwwO2lDKGEsOTE0
MjcpfDA7cmV0dXJufWZ1bmN0aW9uIGpmKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHww
O3ZhciBlPTAsZz0wLjAsaD0wO2U9dDt0PXQrMTZ8MDtoPWU7ZltoPj4yXT1iO2ZbaCs0Pj4yXT1j
O2ZbaCs4Pj4yXT1kO29DKGEsOTEzOTcsaCk7Zz0rKFYoYywtMTApfDApO25bNDgxNDBdPWc7dD1l
O3JldHVybn1mdW5jdGlvbiBrZihhKXthPWF8MDtpQyhhLDkxMzgwKXwwO3JldHVybn1mdW5jdGlv
biBsZihhKXthPWF8MDtpQyhhLDkxMzYyKXwwO3JldHVybn1mdW5jdGlvbiBtZihhKXthPWF8MDtp
QyhhLDkxMzQ2KXwwO3JldHVybn1mdW5jdGlvbiBuZihhKXthPWF8MDtpQyhhLDkxMzI1KXwwO25b
NDgxNDBdPStuWzQ4MTQwXSstMi4wO3JldHVybn1mdW5jdGlvbiBvZihhKXthPWF8MDtpQyhhLDkx
MzA2KXwwO3JldHVybn1mdW5jdGlvbiBwZihhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTA7Yj10O3Q9
dCsxNnwwO2M9YjtkPUF5KGZbKGZbYSsxNj4+Ml18MCkrOD4+Ml18MCl8MDtmW2M+PjJdPWQ7b0Mo
YSw5MTI4NCxjKTt0PWI7cmV0dXJufWZ1bmN0aW9uIHFmKGEpe2E9YXwwO2lDKGEsOTEyNjgpfDA7
cmV0dXJufWZ1bmN0aW9uIHJmKGEpe2E9YXwwO2lDKGEsOTEyNTApfDA7bls0ODE0MF09K25bNDgx
NDBdKy01LjA7cmV0dXJufWZ1bmN0aW9uIHNmKGEpe2E9YXwwO2lDKGEsOTEyMzQpfDA7bls0ODE0
MF09K25bNDgxNDBdKzUuMDtyZXR1cm59ZnVuY3Rpb24gdGYoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9
ZHwwO3ZhciBlPTAuMCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbz0wLHE9MCxyPTAuMCxz
PTAuMCx1PTAuMDtxPXQ7dD10KzE0NHwwO2w9cSsxMDR8MDtvPXErNTZ8MDtoPXErMzJ8MDtnPXEr
MjR8MDtrPXE7bT1kKzR8MDtqPWZbbT4+Ml18MDtlPStwW2orMTY+PjNdO2o9ZltqPj4yXXwwO2Zb
az4+Ml09ZltkPj4yXTtwW2srOD4+M109ZTtmW2srMTY+PjJdPWo7b0MoYSw5MTA4MCxrKTtuWzQ4
MTQxXT0rbls0ODE0MF0rLTkuMDtzd2l0Y2goYltkKzQ4Pj4wXXwwKXtjYXNlIDEwODp7ZT0rcFtj
Pj4zXTticmVha31jYXNlIDExNDp7ZT0rcFtjPj4zXS0rcFtkKzMyPj4zXTtwW2M+PjNdPWU7YnJl
YWt9ZGVmYXVsdDp7ZT0rcFtjPj4zXS0rcFtkKzMyPj4zXSouNTtwW2M+PjNdPWV9fXU9K3BbYSs0
ODg+PjNdO3M9KCtwW2ErNTA0Pj4zXStlKSp1O3I9KCtwW2ErNTEyPj4zXSsgK3BbYys4Pj4zXSkq
K3BbYSs0OTY+PjNdO3BbZz4+M109K3BbKGZbbT4+Ml18MCkrMTY+PjNdKnU7az16ZihhLDkxMTMy
LGcpfDA7ZT0rKGZbYSszNjA+PjJdfDApO3BbaD4+M109MC4wO3BbaCs4Pj4zXT0wLjA7cFtoKzE2
Pj4zXT1lO2M9emYoYSw5MDM0OSxoKXwwO2U9K25bNDgxNDFdO3BbbD4+M109cztwW2wrOD4+M109
cjtwW2wrMTY+PjNdPWU7Zz16ZihhLDkwMzgxLGwpfDA7aD1sO2k9KGZbYSsxNj4+Ml18MCkrMTZ8
MDtqPWgrNDB8MDtkb3tmW2g+PjJdPWZbaT4+Ml07aD1oKzR8MDtpPWkrNHwwfXdoaWxlKChofDAp
PChqfDApKTtsPUFmKGEsbCwwLjApfDA7ZD1mW2Q+PjJdfDA7ZltvPj4yXT1mW2ZbbT4+Ml0+PjJd
O3Bbbys4Pj4zXT0uMjU7cFtvKzE2Pj4zXT0wLjA7ZltvKzI0Pj4yXT1kO2ZbbysyOD4+Ml09OTEy
MTk7ZltvKzMyPj4yXT1rO2ZbbyszNj4+Ml09YztmW28rNDA+PjJdPWc7ZltvKzQ0Pj4yXT1sO289
emYoYSw5MTE0NCxvKXwwO2lDKGEsbyl8MDtNXyhvKTtNXyhjKTtNXyhsKTtNXyhnKTtNXyhrKTt0
PXE7cmV0dXJufWZ1bmN0aW9uIHVmKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9
MCxnPTAuMCxoPTAuMCxpPTAuMCxqPTAsaz0wLGw9MCxtPTAuMCxvPTAuMCxxPTAscj0wLHM9MCx1
PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAuMDt6PXQ7dD10KzI0MHwwO3g9eisxOTJ8MDt5PXor
MTUyfDA7cz16KzEyOHwwO3E9eisxMDR8MDtsPXorODB8MDtrPXorNDh8MDtkPXorMjR8MDtqPXo7
aUMoYSw5MDk1Nyl8MDtuWzQ4MTQxXT0rbls0ODE0MF0rLTYuMDtnPStwW2I+PjNdO2g9K3BbYSs0
ODg+PjNdO209KCtwW2ErNTA0Pj4zXStnKSpoO0E9K3BbYis4Pj4zXTtpPStwW2ErNDk2Pj4zXTtv
PSgrcFthKzUxMj4+M10rQSkqaTtoPSgrcFtiKzE2Pj4zXS1nKSpoO2k9KCtwW2IrMjQ+PjNdLUEp
Kmk7cj1hKzE2fDA7QT1pK2g7Zz0rcFsoZltyPj4yXXwwKSsxNTI+PjNdL0EqMi41O3Bbaj4+M109
aDtwW2orOD4+M109QSouMjU7cFtqKzE2Pj4zXT1pO2I9emYoYSw5MDMxNyxqKXwwO2o9YSszNjB8
MDtBPSsoZltqPj4yXXwwKTtwW2Q+PjNdPTkwLjA7cFtkKzg+PjNdPTAuMDtwW2QrMTY+PjNdPUE7
ZD16ZihhLDkwMzQ5LGQpfDA7QT0rbls0ODE0MV07cFt4Pj4zXT1tO3BbeCs4Pj4zXT1vO3BbeCsx
Nj4+M109QTtlPXpmKGEsOTAzODEseCl8MDt1PXg7dj0oZltyPj4yXXwwKSsxNnwwO3c9dSs0MHww
O2Rve2ZbdT4+Ml09Zlt2Pj4yXTt1PXUrNHwwO3Y9dis0fDB9d2hpbGUoKHV8MCk8KHd8MCkpO3Y9
QWYoYSx4LDAuMCl8MDtwW2s+PjNdPTEuMDtwW2srOD4+M109ZztmW2srMTY+PjJdPWI7ZltrKzIw
Pj4yXT1kO2ZbaysyND4+Ml09ZTtmW2srMjg+PjJdPXY7dz16ZihhLDkwOTcyLGspfDA7aUMoYSx3
KXwwO01fKGIpO01fKGQpO01fKGUpO01fKHYpO01fKHcpO2lmKGN8MCl7cFtsPj4zXT1oO3BbbCs4
Pj4zXT1pO3BbbCsxNj4+M109MS4wO2U9emYoYSw5MDMxNyxsKXwwO0E9KyhmW2o+PjJdfDApO3Bb
cT4+M109MC4wO3BbcSs4Pj4zXT0wLjA7cFtxKzE2Pj4zXT1BO2Q9emYoYSw5MDM0OSxxKXwwO0E9
K25bNDgxNDFdO3Bbcz4+M109bTtwW3MrOD4+M109bztwW3MrMTY+PjNdPUE7Yj16ZihhLDkwMzgx
LHMpfDA7dT14O3Y9KGZbcj4+Ml18MCkrNTZ8MDt3PXUrNDB8MDtkb3tmW3U+PjJdPWZbdj4+Ml07
dT11KzR8MDt2PXYrNHwwfXdoaWxlKCh1fDApPCh3fDApKTt4PUFmKGEseCwwLjApfDA7cFt5Pj4z
XT0wLjA7cFt5Kzg+PjNdPTAuMDtwW3krMTY+PjNdPTAuMDtmW3krMjQ+PjJdPWU7Zlt5KzI4Pj4y
XT1kO2ZbeSszMj4+Ml09YjtmW3krMzY+PjJdPXg7eT16ZihhLDkxMDE4LHkpfDA7aUMoYSx5KXww
O01fKGUpO01fKGQpO01fKGIpO01fKHgpO01fKHkpfXQ9ejtyZXR1cm59ZnVuY3Rpb24gdmYoYSxi
LGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0w
LGw9MCxtPTAsbz0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAs
Qz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLjAsTT0wLE49MC4wO0s9dDt0
PXQrMzM2fDA7Qj1LKzI5NnwwO0o9SysyODh8MDtJPUsrMjcyfDA7SD1LKzI2NHwwO0c9SysyNDB8
MDtEPUsrMjMyfDA7QT1LKzIwOHwwO3o9SysxODR8MDt3PUsrMTYwfDA7dj1LKzE1MnwwO3U9Sysx
MzZ8MDtzPUsrMTI4fDA7cj1LKzk2fDA7cT1LKzg4fDA7bz1LKzU2fDA7ZT1LKzQ4fDA7aj1LKzI0
fDA7aT1LO2lDKGEsOTA4MjIpfDA7bls0ODE0MV09K25bNDgxNDBdKy0yLjA7bD1hKzQ4OHwwO209
YSs0OTZ8MDtMPStwW20+PjNdO3BbaT4+M109K3BbbD4+M107cFtpKzg+PjNdPUw7cFtpKzE2Pj4z
XT0xLjA7aT16ZihhLDkwMzE3LGkpfDA7eT1hKzM2MHwwO0w9KyhmW3k+PjJdfDApO3Bbaj4+M109
MC4wO3Bbais4Pj4zXT0wLjA7cFtqKzE2Pj4zXT1MO2o9emYoYSw5MDM0OSxqKXwwO0w9K25bNDgx
NDFdKy0yLjA7cFtCPj4zXT0wLjA7cFtCKzg+PjNdPTAuMDtwW0IrMTY+PjNdPUw7az16ZihhLDkw
MzgxLEIpfDA7Qz1hKzE2fDA7Zz1CO2g9KGZbQz4+Ml18MCkrMTZ8MDt4PWcrNDB8MDtkb3tmW2c+
PjJdPWZbaD4+Ml07Zz1nKzR8MDtoPWgrNHwwfXdoaWxlKChnfDApPCh4fDApKTtoPUFmKGEsQiww
LjApfDA7ZltlPj4yXT05MDQ0NDtmW2UrND4+Ml09YysxO0U9YSs1MDR8MDtGPWErNTEyfDA7Zz0w
O2U9emYoYSw5MDQxMyxlKXwwO3doaWxlKDEpe2lmKChnfDApPj0oY3wwKSlicmVhaztOPStwW0Y+
PjNdKyArcFtiKyhnPDw0KSs4Pj4zXTtMPStwWyhmW0M+PjJdfDApKzE1Mj4+M107cFtvPj4zXT0r
cFtFPj4zXSsgK3BbYisoZzw8NCk+PjNdO3Bbbys4Pj4zXT1OO3BbbysxNj4+M109MC4wO3Bbbysy
ND4+M109TDtNPXpmKGEsOTA0NTgsbyl8MDtmW3E+PjJdPWU7ZltxKzQ+PjJdPU07eD16ZihhLDkw
NDg3LHEpfDA7TV8oTSk7TV8oZSk7Zz1nKzF8MDtlPXh9TD0rcFtGPj4zXSsgK3BbYis4Pj4zXTtO
PStwWyhmW0M+PjJdfDApKzE1Mj4+M107cFtyPj4zXT0rcFtFPj4zXSsgK3BbYj4+M107cFtyKzg+
PjNdPUw7cFtyKzE2Pj4zXT0wLjA7cFtyKzI0Pj4zXT1OO3g9emYoYSw5MDQ1OCxyKXwwO2Zbcz4+
Ml09ZTtmW3MrND4+Ml09eDtNPXpmKGEsOTA0ODcscyl8MDtNXyh4KTtNXyhlKTtmW3U+PjJdPWk7
Zlt1KzQ+PjJdPWo7Zlt1Kzg+PjJdPWs7Zlt1KzEyPj4yXT1oO3g9emYoYSw5MDgzNyx1KXwwO2Zb
dj4+Ml09TTtmW3YrND4+Ml09eDtNPXpmKGEsOTA1NDIsdil8MDtNXyh4KTtpQyhhLE0pfDA7TV8o
aSk7TV8oaik7TV8oayk7TV8oaCk7TV8oTSk7aWYoZHwwKXtOPStwW20+PjNdO3Bbdz4+M109K3Bb
bD4+M107cFt3Kzg+PjNdPU47cFt3KzE2Pj4zXT0xLjA7az16ZihhLDkwMzE3LHcpfDA7Tj0rKGZb
eT4+Ml18MCk7cFt6Pj4zXT0wLjA7cFt6Kzg+PjNdPTAuMDtwW3orMTY+PjNdPU47aj16ZihhLDkw
MzQ5LHopfDA7Tj0rbls0ODE0MV0rLTIuMDtwW0E+PjNdPTAuMDtwW0ErOD4+M109MC4wO3BbQSsx
Nj4+M109TjtpPXpmKGEsOTAzODEsQSl8MDtnPUI7aD0oZltDPj4yXXwwKSs1NnwwO3g9Zys0MHww
O2Rve2ZbZz4+Ml09ZltoPj4yXTtnPWcrNHwwO2g9aCs0fDB9d2hpbGUoKGd8MCk8KHh8MCkpO2g9
QWYoYSxCLC4yNSl8MDtmW0Q+PjJdPWM7Zz0wO2U9emYoYSw5MDg4MixEKXwwO3doaWxlKDEpe2lm
KChnfDApPj0oY3wwKSlicmVhaztOPStwW0Y+PjNdKyArcFtiKyhnPDw0KSs4Pj4zXTtwW0c+PjNd
PStwW0U+PjNdKyArcFtiKyhnPDw0KT4+M107cFtHKzg+PjNdPU47cFtHKzE2Pj4zXT0wLjA7RD16
ZihhLDkwODk3LEcpfDA7ZltIPj4yXT1lO2ZbSCs0Pj4yXT1EO009emYoYSw5MDkxOSxIKXwwO01f
KEQpO01fKGUpO2c9ZysxfDA7ZT1NfWZbST4+Ml09aztmW0krND4+Ml09ajtmW0krOD4+Ml09aTtm
W0krMTI+PjJdPWg7ST16ZihhLDkwOTI5LEkpfDA7ZltKPj4yXT1lO2ZbSis0Pj4yXT1JO009emYo
YSw5MDU0MixKKXwwO01fKEkpO2lDKGEsTSl8MDtNXyhrKTtNXyhqKTtNXyhpKTtNXyhoKTtNXyhN
KX10PUs7cmV0dXJufWZ1bmN0aW9uIHdmKGEsYixjLGQsZSxnKXthPWF8MDtiPWJ8MDtjPWN8MDtk
PWR8MDtlPWV8MDtnPWd8MDt2YXIgaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbz0wLHE9MCxyPTAs
cz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLjAsRD0wLjA7Qj10O3Q9dCsy
MDh8MDtkPUIrMTYwfDA7QT1CKzE1MnwwO3o9QisxMzZ8MDt5PUIrMTI4fDA7eD1CKzk2fDA7dz1C
Kzg4fDA7dj1CKzU2fDA7aT1CKzQ4fDA7cj1CKzI0fDA7cT1CO2lDKGEsOTA3NDkpfDA7bls0ODE0
MV09K25bNDgxNDBdKy00LjA7Qz0rcFthKzQ5Nj4+M107cFtxPj4zXT0rcFthKzQ4OD4+M107cFtx
Kzg+PjNdPUM7cFtxKzE2Pj4zXT0xLjA7cT16ZihhLDkwMzE3LHEpfDA7Qz0rKGZbYSszNjA+PjJd
fDApO3Bbcj4+M109MC4wO3Bbcis4Pj4zXT0wLjA7cFtyKzE2Pj4zXT1DO3I9emYoYSw5MDM0OSxy
KXwwO0M9K25bNDgxNDFdKy0yLjA7cFtkPj4zXT0wLjA7cFtkKzg+PjNdPTAuMDtwW2QrMTY+PjNd
PUM7cz16ZihhLDkwMzgxLGQpfDA7dT1hKzE2fDA7ZT1kO2c9KGZbdT4+Ml18MCkrNTZ8MDtoPWUr
NDB8MDtkb3tmW2U+PjJdPWZbZz4+Ml07ZT1lKzR8MDtnPWcrNHwwfXdoaWxlKChlfDApPChofDAp
KTtrPUFmKGEsZCwwLjApfDA7ZltpPj4yXT05MDc2MztmW2krND4+Ml09YysyO2w9YSs1MDR8MDtt
PWErNTEyfDA7bz1jKy0xfDA7aj0wO2Q9emYoYSw5MDQxMyxpKXwwO3doaWxlKDEpe2lmKChqfDAp
Pj0oY3wwKSlicmVhaztlPWIrKGo8PDQpfDA7Zz1iKyhqPDw0KSs4fDA7RD0rcFttPj4zXSsgK3Bb
Zz4+M107Qz0rcFsoZlt1Pj4yXXwwKSsxNTI+PjNdO3Bbdj4+M109K3BbbD4+M10rICtwW2U+PjNd
O3Bbdis4Pj4zXT1EO3BbdisxNj4+M109MC4wO3BbdisyND4+M109QztpPXpmKGEsOTA0NTgsdil8
MDtmW3c+PjJdPWQ7Zlt3KzQ+PjJdPWk7aD16ZihhLDkwNDg3LHcpfDA7TV8oaSk7TV8oZCk7aWYo
KGp8MCk9PTB8KGp8MCk9PShvfDApKXtDPStwW20+PjNdKyArcFtnPj4zXTtEPStwWyhmW3U+PjJd
fDApKzE1Mj4+M107cFt4Pj4zXT0rcFtsPj4zXSsgK3BbZT4+M107cFt4Kzg+PjNdPUM7cFt4KzE2
Pj4zXT0wLjA7cFt4KzI0Pj4zXT1EO2k9emYoYSw5MDQ1OCx4KXwwO2ZbeT4+Ml09aDtmW3krND4+
Ml09aTtkPXpmKGEsOTA0ODcseSl8MDtNXyhpKTtNXyhoKX1lbHNlIGQ9aDtqPWorMXwwfWZbej4+
Ml09cTtmW3orND4+Ml09cjtmW3orOD4+Ml09cztmW3orMTI+PjJdPWs7Yj16ZihhLDkwNzcyLHop
fDA7ZltBPj4yXT1kO2ZbQSs0Pj4yXT1iO2M9emYoYSw5MDU0MixBKXwwO01fKGIpO2lDKGEsYyl8
MDtNXyhxKTtNXyhyKTtNXyhzKTtNXyhrKTtNXyhjKTt0PUI7cmV0dXJufWZ1bmN0aW9uIHhmKGEs
YixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9
MCxtPTAsbz0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLjAseD0wLHk9MC4wO3Y9dDt0PXQrMTYw
fDA7ZD12KzEyMHwwO3U9disxMTJ8MDtzPXYrOTZ8MDtyPXYrODh8MDtxPXYrNTZ8MDtqPXYrNDh8
MDtrPXYrMjR8MDtvPXY7aUMoYSw5MDMwMSl8MDtuWzQ4MTQxXT0rbls0ODE0MF0rLTYuMDt3PStw
W2ErNDk2Pj4zXTtwW28+PjNdPStwW2ErNDg4Pj4zXTtwW28rOD4+M109dztwW28rMTY+PjNdPTEu
MDtvPXpmKGEsOTAzMTcsbyl8MDt3PSsoZlthKzM2MD4+Ml18MCk7cFtrPj4zXT0wLjA7cFtrKzg+
PjNdPTAuMDtwW2srMTY+PjNdPXc7az16ZihhLDkwMzQ5LGspfDA7dz0rbls0ODE0MV07cFtkPj4z
XT0wLjA7cFtkKzg+PjNdPTAuMDtwW2QrMTY+PjNdPXc7bD16ZihhLDkwMzgxLGQpfDA7bT1hKzE2
fDA7ZT1kO2c9KGZbbT4+Ml18MCkrMTZ8MDtoPWUrNDB8MDtkb3tmW2U+PjJdPWZbZz4+Ml07ZT1l
KzR8MDtnPWcrNHwwfXdoaWxlKChlfDApPChofDApKTtnPUFmKGEsZCwwLjApfDA7ZltqPj4yXT05
MDQ0NDtmW2orND4+Ml09YztoPWErNTA0fDA7aT1hKzUxMnwwO2U9MDtkPXpmKGEsOTA0MTMsail8
MDt3aGlsZSgxKXtpZigoZXwwKT49KGN8MCkpYnJlYWs7eT0rcFtpPj4zXSsgK3BbYisoZTw8NCkr
OD4+M107dz0rcFsoZlttPj4yXXwwKSsxNTI+PjNdO3BbcT4+M109K3BbaD4+M10rICtwW2IrKGU8
PDQpPj4zXTtwW3ErOD4+M109eTtwW3ErMTY+PjNdPTAuMDtwW3ErMjQ+PjNdPXc7eD16ZihhLDkw
NDU4LHEpfDA7ZltyPj4yXT1kO2Zbcis0Pj4yXT14O2o9emYoYSw5MDQ4NyxyKXwwO01fKHgpO01f
KGQpO2U9ZSsxfDA7ZD1qfWZbcz4+Ml09bztmW3MrND4+Ml09aztmW3MrOD4+Ml09bDtmW3MrMTI+
PjJdPWc7cz16ZihhLDkwNDk2LHMpfDA7Zlt1Pj4yXT1kO2ZbdSs0Pj4yXT1zO3g9emYoYSw5MDU0
Mix1KXwwO01fKHMpO2lDKGEseCl8MDtNXyhvKTtNXyhrKTtNXyhsKTtNXyhnKTtNXyh4KTt0PXY7
cmV0dXJufWZ1bmN0aW9uIHlmKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTA7Yz10O3Q9dCsx
NnwwO2Q9YztmW2Q+PjJdPWI7b0MoYSw5MDI4MixkKTt0PWM7cmV0dXJufWZ1bmN0aW9uIHpmKGEs
YixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MDtpPXQ7dD10KzEw
NTZ8MDtoPWkrMTA0MHwwO2Q9aSsxNnwwO2U9aTtmW2U+PjJdPWM7Zz1mJChkLDEwMjQsYixlKXww
O2RvIGlmKChnfDApPj0wKWlmKChnfDApPjEwMjMpe2E9TF8oZysxfDApfDA7ZltlPj4yXT1jO2Uk
KGEsYixlKXwwO2JyZWFrfWVsc2V7YT12MihkKXwwO2JyZWFrfWVsc2V7YT1mWyhmW2ErMTI+PjJd
fDApKzE2Pj4yXXwwO2M9WF8oKXwwO2M9cSQoZltjPj4yXXwwKXwwO2ZbaD4+Ml09YztEYlthJjYz
XSg5MDcyNyxoKTthPXYyKDE5NDg3MCl8MH13aGlsZSgwKTt0PWk7cmV0dXJuIGF8MH1mdW5jdGlv
biBBZihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz0rYzt2YXIgZD0wLGU9MCxnPTAsaT0wLGo9MCxrPTAs
bD0wLG09MCxuPTAsbz0wLHE9MC4wLHI9MC4wO289dDt0PXQrMTEyfDA7bT1vKzEwNHwwO2k9bys5
NnwwO2c9bys2NHwwO2w9bys0OHwwO249byszMnwwO2s9bysxNnwwO2o9bztlPWZbYiszMj4+Ml18
MDthOmRvIHN3aXRjaChlfDApe2Nhc2UgNTp7ZD1mW2I+PjJdfDA7aWYoIShIJChkLDE0NDU3Mil8
MCkpe2Zbaj4+Ml09OTA1NjQ7cFtqKzg+PjNdPWM7ZD16ZihhLDkwNTQ3LGopfDA7YnJlYWsgYX1p
ZighKEgkKGQsMTQxNzAyKXwwKSl7ZltrPj4yXT05MDU2ODtwW2srOD4+M109YztkPXpmKGEsOTA1
NDcsayl8MDticmVhayBhfWlmKCEoSCQoZCwxMzk3MDEpfDApKXtmW24+PjJdPTkwNTc0O3Bbbis4
Pj4zXT1jO2Q9emYoYSw5MDU0NyxuKXwwO2JyZWFrIGF9ZWxzZXtmW2w+PjJdPWQ7cFtsKzg+PjNd
PWM7ZD16ZihhLDkwNTQ3LGwpfDA7YnJlYWsgYX19Y2FzZSAxOntyPSsoaFtiKzE+PjBdfDApKi4w
MDM5MDYyNTtxPSsoaFtiKzI+PjBdfDApKi4wMDM5MDYyNTtwW2c+PjNdPSsoaFtiPj4wXXwwKSou
MDAzOTA2MjU7cFtnKzg+PjNdPXI7cFtnKzE2Pj4zXT1xO3BbZysyND4+M109YztkPXpmKGEsOTA1
NzksZyl8MDticmVha31kZWZhdWx0OntuPWZbMTk0NTddfDA7bD1mW2I+PjJdfDA7ZltpPj4yXT1l
O2ZbaSs0Pj4yXT1sO2cyKG4sOTA2MTgsaSl8MDt4YSgxNDY2NjQsOTA2NjgsNDM2LDkwNjg4KX19
d2hpbGUoMCk7ZlttPj4yXT1kO249emYoYSw5MDcwNSxtKXwwO01fKGQpO3Q9bztyZXR1cm4gbnww
fWZ1bmN0aW9uIEJmKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0w
O2I9dDt0PXQrMzJ8MDtjPWIrMjR8MDtkPWIrMTZ8MDtnPWI7ZT1mW2ErMTY+PjJdfDA7aD1mW2Zb
YSsxMj4+Ml0+PjJdfDA7aj1mW2g+PjJdfDA7aT1mW2grND4+Ml18MDtoPWZbaCs4Pj4yXXwwO2Zb
Zz4+Ml09OTMxMzQ7ZltnKzQ+PjJdPWo7ZltnKzg+PjJdPWk7ZltnKzEyPj4yXT1oO29DKGEsOTU3
MzYsZyk7ZT1BeShmW2UrOD4+Ml18MCl8MDtmW2Q+PjJdPTkzMTM0O2ZbZCs0Pj4yXT1lO29DKGEs
OTU3NjgsZCk7ZltjPj4yXT05MzEzNDtvQyhhLDk1NzgyLGMpO3Q9YjtyZXR1cm59ZnVuY3Rpb24g
Q2YoYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yj10O3Q9dCsxNnwwO2M9YjtmW2M+PjJdPTkzMTM0O29D
KGEsOTU2ODQsYyk7dD1iO3JldHVybn1mdW5jdGlvbiBEZihhKXthPWF8MDt2YXIgYj0wLGM9MCxk
PTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0wLHU9
MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0w
LEo9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAuMCxWPTAuMCxXPTAu
MDtUPXQ7dD10KzMwNHwwO1M9VCsyOTZ8MDtSPVQrMjg4fDA7UT1UKzI3MnwwO089VCsyNjR8MDtO
PVQrMjU2fDA7TT1UKzI0OHwwO0w9VCsyNDB8MDtKPVQrMjMyfDA7ST1UKzIyNHwwO0g9VCsyMTZ8
MDtHPVQrMjA4fDA7Rj1UKzIwMHwwO0U9VCsxOTJ8MDtEPVQrMTg0fDA7Qz1UKzE3NnwwO0I9VCsx
Njh8MDtBPVQrMTYwfDA7ej1UKzE1MnwwO3g9VCsxNDR8MDt3PVQrMTM2fDA7dj1UKzEyOHwwO3U9
VCsxMjB8MDtzPVQrMTEyfDA7cj1UKzEwNHwwO3E9VCs5NnwwO289VCs4OHwwO249VCs4MHwwO209
VCs3MnwwO2s9VCs2NHwwO2o9VCs1NnwwO2k9VCs0OHwwO1A9VCs0MHwwO3k9VCsyNHwwO2w9VCsx
NnwwO2g9VDtjPWZbYSs0NTY+PjJdfDA7ZD1mW2ErNDYwPj4yXXwwO2U9ZlthKzQ2ND4+Ml18MDtn
PWZbYSs0Njg+PjJdfDA7Yj1hKzM2MHwwO2E6ZG8gaWYoZlsxNzkwMl18MCl7c3dpdGNoKGZbYj4+
Ml18MCl7Y2FzZSA5MDpjYXNlIDA6YnJlYWsgYTtkZWZhdWx0Ont9fVBmKCk7ZlsxNzkwMl09MH13
aGlsZSgwKTtWPSgrKGd8MCktKyhkfDApKSouMDEzODg4ODg4ODg4ODg4ODg4O1c9KCsoZXwwKS0r
KGN8MCkpKi4wMTM4ODg4ODg4ODg4ODg4ODg7Zz0oZltiPj4yXXwwKT09OTA7VT1nP1Y6VztWPWc/
VzpWO3BbaD4+M109VTtwW2grOD4+M109VjtvQyhhLDkzMzA0LGgpO2ZbbD4+Ml09OTMxMzQ7b0Mo
YSw5MzMxOSxsKTtXPStmYigrVSk7Vz0rSygxMC4wLCsoVT4wLjA/VyszLjAtKyh+fld8MCk6My4w
KSk7cFsyMzk2NF09VztwW3k+PjNdPVc7cFt5Kzg+PjNdPVc7b0MoYSw5MzQ4OCx5KTtmW1A+PjJd
PTkzMTM0O29DKGEsOTM1MjMsUCk7ZltpPj4yXT05MzEzNDtvQyhhLDkzNTgxLGkpO2Zbaj4+Ml09
OTMxMzQ7b0MoYSw5MzY0MSxqKTtmW2s+PjJdPTkzMTM0O29DKGEsOTM2OTAsayk7ZlttPj4yXT05
MzEzNDtvQyhhLDkzNzI5LG0pO2Zbbj4+Ml09OTMxMzQ7b0MoYSw5Mzc4MCxuKTtmW28+PjJdPTkz
MTM0O29DKGEsOTM4NDIsbyk7ZltxPj4yXT05MzEzNDtvQyhhLDkzOTUyLHEpO2Zbcj4+Ml09OTMx
MzQ7b0MoYSw5NDA0MyxyKTtmW3M+PjJdPTkzMTM0O29DKGEsOTQwOTcscyk7Zlt1Pj4yXT05MzEz
NDtvQyhhLDk0MTY2LHUpO29DKGEsOTQyMDIsdik7Zlt3Pj4yXT05MzEzNDtvQyhhLDk0MzI3LHcp
O2ZbeD4+Ml09OTMxMzQ7b0MoYSw5NDM1Nix4KTtvQyhhLDk0Mzk2LHopO2ZbQT4+Ml09OTMxMzQ7
b0MoYSw5NDQ4OSxBKTtmW0I+PjJdPTkzMTM0O29DKGEsOTQ1NDgsQik7ZltDPj4yXT05MzEzNDtv
QyhhLDk0NjI5LEMpO29DKGEsOTQ2OTksRCk7ZltFPj4yXT05MzEzNDtvQyhhLDk0Nzg4LEUpO2Zb
Rj4+Ml09OTMxMzQ7b0MoYSw5NDg5MyxGKTtmW0c+PjJdPTkzMTM0O29DKGEsOTQ5NjksRyk7ZltI
Pj4yXT05MzEzNDtvQyhhLDk1MDA4LEgpO2ZbST4+Ml09OTMxMzQ7b0MoYSw5NTEwNyxJKTtmW0o+
PjJdPTkzMTM0O29DKGEsOTUxNTMsSik7b0MoYSw5NTI0MixMKTtmW00+PjJdPTkzMTM0O29DKGEs
OTUyODMsTSk7ZltOPj4yXT05MzEzNDtvQyhhLDk1MzY2LE4pO2ZbTz4+Ml09OTMxMzQ7b0MoYSw5
NTQ2NyxPKTtwW1E+PjNdPVY7cFtRKzg+PjNdPVU7b0MoYSw5NTUzMSxRKTtvQyhhLDk1NTU5LFIp
O29DKGEsOTU1NjcsUyk7dD1UO3JldHVybn1mdW5jdGlvbiBFZihhKXthPWF8MDt2YXIgYj0wO2I9
dDt0PXQrMTZ8MDtvQyhhLDkzMjk3LGIpO3Q9YjtyZXR1cm59ZnVuY3Rpb24gRmYoYSxjLGQpe2E9
YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAuMCxnPTAsaD0wLjAsaT0wLjAsaj0wLGs9MCxsPTAuMCxt
PTAsbj0wLG89MCxxPTA7bz10O3Q9dCs0OHwwO249bysyNHwwO209bys4fDA7az1vO3N3aXRjaChi
W2QrNDg+PjBdfDApe2Nhc2UgMTA4OntnPWM7aD0rcFtkKzMyPj4zXTtpPStwW2M+PjNdO2JyZWFr
fWNhc2UgMTE0OntoPStwW2QrMzI+PjNdO2k9K3BbYz4+M10taDtwW2M+PjNdPWk7Zz1jO2JyZWFr
fWRlZmF1bHQ6e2g9K3BbZCszMj4+M107aT0rcFtjPj4zXS1oKi41O3BbYz4+M109aTtnPWN9fWo9
ZCs0fDA7cT1mW2o+PjJdfDA7ZT0rcFtxKzE2Pj4zXTtjPWMrOHwwO2w9K3BbYz4+M10rZSouMDA0
NjI5NjI5NjI5NjI5NjI5O3BbYz4+M109bDtoPWkraCouMDA2OTQ0NDQ0NDQ0NDQ0NDQ0O3BbZz4+
M109aDtjPWZbcT4+Ml18MDtkbyBpZihjKXtnPWZbNDgxNDJdfDA7aWYoZ3wwPyhIJChnLGMpfDAp
PT0wOjApYnJlYWs7cT1OZihjKXwwO2Zbaz4+Ml09cTtvQyhhLDkzMjEzLGspO3E9ZltqPj4yXXww
O2ZbNDgxNDJdPWZbcT4+Ml07ZT0rcFtxKzE2Pj4zXX13aGlsZSgwKTtjPX5+ZTtjPShjfDApPjE/
YzoxO2lmKChjfDApIT0oZls0ODE0M118MCkpe2k9K3BbMjM5NjRdO2ZbbT4+Ml09YztwW20rOD4+
M109aTtvQyhhLDkzMjIxLG0pO2ZbNDgxNDNdPWN9cT1PZihmW2Q+PjJdfDApfDA7ZltuPj4yXT1x
O3Bbbis4Pj4zXT1oO3BbbisxNj4+M109bDtvQyhhLDkzMjQyLG4pO3Q9bztyZXR1cm59ZnVuY3Rp
b24gR2YoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MC4wLGg9MC4wLGk9
MC4wLGo9MC4wO2Q9dDt0PXQrNDh8MDtlPWQ7aD0rcFtiPj4zXTtqPSgrcFtiKzE2Pj4zXS1oKSou
MDI3Nzc3Nzc3Nzc3Nzc3Nzc2O2c9K3BbYis4Pj4zXTtpPSgrcFtiKzI0Pj4zXS1nKSouMDI3Nzc3
Nzc3Nzc3Nzc3Nzc2O2ZbZT4+Ml09MTtmW2UrND4+Ml09KGN8MCk9PTA/MTk0ODcwOjkzMTU1O3Bb
ZSs4Pj4zXT1qO3BbZSsxNj4+M109aTtwW2UrMjQ+PjNdPWgqLjAxMzg4ODg4ODg4ODg4ODg4ODtw
W2UrMzI+PjNdPWcqLjAxMzg4ODg4ODg4ODg4ODg4ODtvQyhhLDkzMTYxLGUpO3Q9ZDtyZXR1cm59
ZnVuY3Rpb24gSGYoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZD10O3Q9dCsxNnww
O0xmKGZbYSsxNj4+Ml18MCxkKzh8MCxkKTtNZihhLGIsYywxKTt0PWQ7cmV0dXJufWZ1bmN0aW9u
IElmKGEsYixjLGQsZSxnKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8MDt2YXIg
aD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLHM9MCx1PTAuMCx2PTAuMCx3
PTA7cz10O3Q9dCsxMjh8MDtyPXMrMTEyfDA7bz1zKzEwNHwwO249cys5NnwwO2Q9cys4OHwwO2w9
czttPXMrNjR8MDtqPWZbYSsxNj4+Ml18MDtpPUxfKChjKjE0MHwwKSsxNDB8MCl8MDtMZihqLHMr
MTE2fDAscys4MHwwKTt2PStwW2I+PjNdO2o9bCs0OHwwO3Bbaj4+M109djt1PStwW2IrOD4+M107
cFtsKzU2Pj4zXT11O2ZbZD4+Ml09fn4odisodj49MC4wPy41Oi0uNSkpO2ZbZCs0Pj4yXT1+fih1
Kyh1Pj0wLjA/LjU6LS41KSk7aD1tKzh8MDtkPWkrKGQkKGksOTMxMzksZCl8MCl8MDtxPTE7Zz0w
O3doaWxlKDEpe2s9ZyszfDA7aWYoKGt8MCk+PShjfDApKWJyZWFrO2ZbbD4+Ml09ZltqPj4yXTtm
W2wrND4+Ml09ZltqKzQ+PjJdO2ZbbCs4Pj4yXT1mW2orOD4+Ml07ZltsKzEyPj4yXT1mW2orMTI+
PjJdO2U9MTt3aGlsZSgxKXtpZigoZXwwKT09NClicmVhazt3PWUrZ3wwO3BbbCsoZTw8NCk+PjNd
PStwW2IrKHc8PDQpPj4zXTtwW2wrKGU8PDQpKzg+PjNdPStwW2IrKHc8PDQpKzg+PjNdO2U9ZSsx
fDB9ZT0xO3doaWxlKDEpe2lmKChlfDApPT03KWJyZWFrO2VNKG0sbCwzLCsoZXwwKSouMTY2NjY2
NjY2NjY2NjY2NjYsMCwwKTt1PStwW20+PjNdO3Y9K3BbaD4+M107ZltuPj4yXT1+fih1Kyh1Pj0w
LjA/LjU6LS41KSk7ZltuKzQ+PjJdPX5+KHYrKHY+PTAuMD8uNTotLjUpKTtlPWUrMXwwO2Q9ZCso
ZCQoZCw5MzEzOSxuKXwwKXwwfXE9cSs2fDA7Zz1rfWZbbz4+Ml09aTtvQyhhLDkzMTQ2LG8pO01f
KGkpO2U9cSstMXwwO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KHF8MCkpYnJlYWs7ZltyPj4yXT0o
KGR8MCklKGV8MCl8MHwwKSE9MCYxO29DKGEsOTMxNTEscik7ZD1kKzF8MH1pQyhhLDE1MTEyMil8
MDt0PXM7cmV0dXJufWZ1bmN0aW9uIEpmKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0w
O2Q9dDt0PXQrMTZ8MDtMZihmW2ErMTY+PjJdfDAsZCs4fDAsZCk7TWYoYSxiLGMsMCk7dD1kO3Jl
dHVybn1mdW5jdGlvbiBLZihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wO2M9dDt0PXQrMTZ8
MDtkPWM7ZltkPj4yXT05MzEzNDtmW2QrND4+Ml09YjtvQyhhLDkzMTI3LGQpO3Q9YztyZXR1cm59
ZnVuY3Rpb24gTGYoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTA7ZD1mW2ErMTQ0Pj4y
XXwwO2E9KGQrLTF8MCk+Pj4wPDI7ZltiPj4yXT1hP2Q6MDtwW2M+PjNdPWE/MTAuMDowLjA7cmV0
dXJufWZ1bmN0aW9uIE1mKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAs
Zz0wLGg9MCxpPTAsaj0wLjAsaz0wLjA7aT10O3Q9dCsxNnwwO2g9aSs4fDA7Zz1pO2U9MDt3aGls
ZSgxKXtpZigoZXwwKT49KGN8MCkpYnJlYWs7az0rcFtiKyhlPDw0KT4+M107aj0rcFtiKyhlPDw0
KSs4Pj4zXTtmW2c+PjJdPX5+KGsrKGs+PTAuMD8uNTotLjUpKTtmW2crND4+Ml09fn4oaisoaj49
MC4wPy41Oi0uNSkpO29DKGEsOTMxMzksZyk7ZT1lKzF8MH1pZihkfDApe2o9K3BbYj4+M107az0r
cFtiKzg+PjNdO2ZbaD4+Ml09fn4oaisoaj49MC4wPy41Oi0uNSkpO2ZbaCs0Pj4yXT1+fihrKyhr
Pj0wLjA/LjU6LS41KSk7b0MoYSw5MzEzOSxoKX1pQyhhLDE1MTEyMil8MDt0PWk7cmV0dXJufWZ1
bmN0aW9uIE5mKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wO2g9dDt0PXQrMTZ8MDtl
PWg7Yz0zNjQ4O3doaWxlKDEpe2Q9ZltjKzQ+PjJdfDA7aWYoIWQpe2ZbZT4+Ml09MzkyMDtmW2Ur
ND4+Ml09YTtZdygxLDkzMjY5LGUpfDA7Yz10MihhLDQ1KXwwO2lmKCFjKXtjPTkzMjk1O2JyZWFr
fWJbYz4+MF09MDtjPTM2NDh9ZWxzZXtpZighKEgkKGQsYSl8MCkpe2c9NjticmVha31jPWMrOHww
fX10PWg7cmV0dXJuIGN8MH1mdW5jdGlvbiBPZihhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZz0w
LGg9MCxpPTA7aT10O3Q9dCsxNnwwO2g9aTtjPWZbNDgxNDRdfDA7aWYoIWMpe2ZbNDgxNDVdPTY0
O2M9TF8oNjQpfDA7Zls0ODE0NF09Y31kPTA7d2hpbGUoMSl7Zz1hKzF8MDtlPWJbYT4+MF18MDtp
ZighKGU8PDI0Pj4yNCkpYnJlYWs7YT1mWzQ4MTQ1XXwwO2lmKChkfDApPihhKy04fDApKXtjPWE8
PDE7Zls0ODE0NV09YztjPU9fKGZbNDgxNDRdfDAsYyl8MDtmWzQ4MTQ0XT1jO2M9YytkfDB9aWYo
ZTw8MjQ+PjI0Pi0xKXtpZihlPDwyND4+MjQ9PTkyKXtiW2M+PjBdPTkyO2Q9ZCsxfDA7Yz1jKzF8
MH1iW2M+PjBdPWU7Yz1jKzF8MDtkPWQrMXwwfWVsc2V7YltjPj4wXT05MjtmW2g+PjJdPWUmMjU1
O2QkKGMrMXwwLDkzMjY0LGgpfDA7Yz1jKzR8MDtkPWQrNHwwfWE9Z31iW2M+PjBdPTA7dD1pO3Jl
dHVybiBmWzQ4MTQ0XXwwfWZ1bmN0aW9uIFBmKCl7dmFyIGE9MCxiPTA7YT10O3Q9dCsxNnwwO2I9
YTtmW2I+PjJdPTM5MjA7ZltiKzQ+PjJdPTk1Njc1O1l3KDAsOTU2NTcsYil8MDt0PWE7cmV0dXJu
fWZ1bmN0aW9uIFFmKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0w
LjAsaD0wLjAsaT0wLGo9MDtkPXQ7dD10KzMyfDA7ZT1kKzh8MDtpPWQ7Yj1iKzh8MDtqPWZbYj4+
Ml18MDtmW2k+PjJdPWo7ZltpKzQ+PjJdPWo7b0MoYSw5NjI1NSxpKTtoPSgrcFtjPj4zXSsgK3Bb
YysxNj4+M10pKi41O2c9KCtwW2MrOD4+M10rICtwW2MrMjQ+PjNdKSouNTtmW2U+PjJdPWZbYj4+
Ml07cFtlKzg+PjNdPWg7cFtlKzE2Pj4zXT1nO29DKGEsOTYyOTcsZSk7dD1kO3JldHVybn1mdW5j
dGlvbiBSZihhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MC4wLGg9
MC4wLGk9MC4wLGo9MC4wO2Q9dDt0PXQrNDh8MDtlPWQ7aD0rcFtjPj4zXTtqPStwW2MrMTY+PjNd
LWg7Zz0rcFtjKzI0Pj4zXTtpPWctK3BbYys4Pj4zXTtnPSsofn4oK3BbYSsyMzI+PjNdLStwW2Er
MjE2Pj4zXSk+Pj4wKS1nO2ZbZT4+Ml09ZltiKzg+PjJdO3BbZSs4Pj4zXT1qO3BbZSsxNj4+M109
aTtwW2UrMjQ+PjNdPWg7cFtlKzMyPj4zXT1nO29DKGEsOTYzNDIsZSk7aUMoYSw5NjQzNCl8MDt0
PWQ7cmV0dXJufWZ1bmN0aW9uIFNmKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3Jl
dHVybn1mdW5jdGlvbiBUZihhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0w
LjAsZz0wLjAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLHM9MCx1PTAu
MDtzPXQ7dD10KzE2MHwwO3I9cysxNTJ8MDtxPXMrMTM2fDA7bz1zKzEyMHwwO2o9cysxMTJ8MDts
PXMrMTA0fDA7az1zKzg4fDA7aT1zKzcyfDA7aD1zKzY0fDA7bT1zO2lmKCFhKXhhKDExOTU1Miw5
NjQzOSwyMTIsOTY0NTgpO2lmKCFiKXhhKDExOTU4Miw5NjQzOSwyMTMsOTY0NTgpO249Yis4fDA7
aWYoIShmW24+PjJdfDApKXhhKDExOTU4NSw5NjQzOSwyMTQsOTY0NTgpO2lmKGZbYis1Mj4+Ml18
MCl7ZlttPj4yXT1mW2M+PjJdO2ZbbSs0Pj4yXT1mW2MrND4+Ml07ZlttKzg+PjJdPWZbYys4Pj4y
XTtmW20rMTI+PjJdPWZbYysxMj4+Ml07Yj1tKzMyfDA7Yz1jKzE2fDA7ZltiPj4yXT1mW2M+PjJd
O2ZbYis0Pj4yXT1mW2MrND4+Ml07ZltiKzg+PjJdPWZbYys4Pj4yXTtmW2IrMTI+PjJdPWZbYysx
Mj4+Ml07ZT0rcFttPj4zXTtwW20rMTY+PjNdPWU7cFttKzI0Pj4zXT0rcFttKzQwPj4zXTtwW20r
NDg+PjNdPStwW2I+PjNdO2c9K3BbbSs4Pj4zXTtwW20rNTY+PjNdPWc7aWYoZDw8MjQ+PjI0KXtv
QyhhLDk2NDc5LGgpO2I9MDt3aGlsZSgxKXtpZigoYnwwKT09NClicmVhazt1PStwW20rKGI8PDQp
Kzg+PjNdO3BbaT4+M109K3BbbSsoYjw8NCk+PjNdO3BbaSs4Pj4zXT11O29DKGEsOTY0ODIsaSk7
Yj1iKzF8MH1wW2s+PjNdPWU7cFtrKzg+PjNdPWc7b0MoYSw5NjQ4MixrKTtrPWZbbj4+Ml18MDtm
W2w+PjJdPTQ7ZltsKzQ+PjJdPWs7b0MoYSw5NjQ4OSxsKX1vQyhhLDk2NDc5LGopO2I9MDt3aGls
ZSgxKXtpZigoYnwwKT09NClicmVhazt1PStwW20rKGI8PDQpKzg+PjNdO3Bbbz4+M109K3BbbSso
Yjw8NCk+PjNdO3Bbbys4Pj4zXT11O29DKGEsOTY0ODIsbyk7Yj1iKzF8MH1wW3E+PjNdPWU7cFtx
Kzg+PjNdPWc7b0MoYSw5NjQ4MixxKTtxPWZbbj4+Ml18MDtmW3I+PjJdPTQ7ZltyKzQ+PjJdPXE7
b0MoYSw5NjUwNCxyKX10PXM7cmV0dXJufWZ1bmN0aW9uIFVmKGEsYyxkLGUpe2E9YXwwO2M9Y3ww
O2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLjA7bT10O3Q9
dCsxMTJ8MDtsPW0rMjR8MDtrPW0rMTZ8MDtqPW07aD1tKzI4fDA7aWYoIWEpeGEoMTE5NTUyLDk2
NDM5LDE1Myw5NjUyMCk7aWYoIWMpeGEoMTE5NTgyLDk2NDM5LDE1NCw5NjUyMCk7aWYoIShmW2Mr
OD4+Ml18MCkpeGEoMTE5NTg1LDk2NDM5LDE1NSw5NjUyMCk7aT1jKzUyfDA7aWYoZltpPj4yXXww
KXtlPWMrNjB8MDtnPWZbZT4+Ml18MDtpZigoZ3wwKT09OTgpZz0xODtlbHNle0NiW2cmMTI3XShj
KTtmW2k+PjJdPTA7ZltlPj4yXT0wO2ZbYys1Nj4+Ml09MDtnPTEwfX1lbHNlIGc9MTA7ZG8gaWYo
KGd8MCk9PTEwKXtpZighKChJQyhjKXwwKTw8MjQ+PjI0KSlicmVhaztlPU0yKGZbYysyMD4+Ml18
MCl8MDtpZigoZltjKzI0Pj4yXSYtMnwwKT09Nil7UyQoZSxoKXwwO2g9ZltoKzM2Pj4yXXwwO2Zb
Yys1Nj4+Ml09aDtlPUkyKDAsaCwxLDEsZSwwKXwwO2ZbaT4+Ml09ZTtiW2MrMTY+PjBdPTF9ZWxz
ZSBlPWZbaT4+Ml18MDtpZihlfDApZltjKzYwPj4yXT05ODtKQyhjKTtpZihmW2k+PjJdfDApZz0x
OH13aGlsZSgwKTtpZigoZ3wwKT09MTgpe249K3BbZCs4Pj4zXS0rKGZbYyszNj4+Ml18MCk7cFtq
Pj4zXT0rcFtkPj4zXS0rKGZbYyszMj4+Ml18MCk7cFtqKzg+PjNdPW47b0MoYSw5NjUzOCxqKTtp
ZighKGJbYysxNj4+MF18MCkpe2Zbaz4+Ml09ZltjKzEyPj4yXTtvQyhhLDk2NTY5LGspfWVsc2Ug
dEooYSxjKTtvQyhhLDk2NTg0LGwpfXQ9bTtyZXR1cm59ZnVuY3Rpb24gVmYoYSl7YT1hfDA7RzIo
ZlthKzUyPj4yXXwwLGZbYSs1Nj4+Ml18MCl8MDtyZXR1cm59ZnVuY3Rpb24gV2YoYSxiLGMsZCl7
YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTA7Zz10O3Q9dCs4MHwwO2U9Zys0OHww
O2lmKCFhKXhhKDExOTU1Miw5NjQzOSwxMjEsOTY1OTQpO2Q9ZlthKzE2Pj4yXXwwO2lmKCFkKXhh
KDEwODIyOCw5NjQzOSwxMjMsOTY1OTQpO2lmKCFiKXhhKDExOTU4Miw5NjQzOSwxMjQsOTY1OTQp
O2M9Yis4fDA7aWYoIShmW2M+PjJdfDApKXhhKDExOTU4NSw5NjQzOSwxMjUsOTY1OTQpO2lmKCEo
ZltkKzg+PjJdfDApKXhhKDE0NzE0OSw5NjQzOSwxMjgsOTY1OTQpO2Vsc2V7b0MoYSw5NjYxNCxn
KTtvQyhhLDk2NjIzLGcrOHwwKTtvQyhhLDk2NjUwLGcrMTZ8MCk7b0MoYSw5NjY3NSxnKzI0fDAp
O29DKGEsOTY3MDQsZyszMnwwKTtvQyhhLDk2NzMyLGcrNDB8MCk7ZltlPj4yXT1mW2M+PjJdO29D
KGEsOTY3MzksZSk7b0MoYSw5Njc3OCxnKzU2fDApO29DKGEsMTE5MzM0LGcrNjR8MCk7dD1nO3Jl
dHVybn19ZnVuY3Rpb24gWGYoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9
MCxnPTAsaD0wLGk9MCxqPTAsaz0wLjA7aD10O3Q9dCsxMjh8MDtnPWgrODB8MDtlPWg7aWYoIWEp
eGEoMTE5NTUyLDk2NDM5LDk3LDk2NzgzKTtpZighYil4YSgxMTk1ODIsOTY0MzksOTgsOTY3ODMp
O2Q9ZltiKzg+PjJdfDA7aWYoIWQpeGEoMTE5NTg1LDk2NDM5LDk5LDk2NzgzKTtlbHNle2s9K3Bb
Yz4+M107aT1+fihrKyhrPj0wLjA/LjU6LS41KSk7az0rcFtjKzg+PjNdO2I9fn4oaysoaz49MC4w
Py41Oi0uNSkpO2s9K3BbYysxNj4+M107aj1+fihrKyhrPj0wLjA/LjU6LS41KSk7az0rcFtjKzI0
Pj4zXTtjPX5+KGsrKGs+PTAuMD8uNTotLjUpKTtmW2U+PjJdPTI7ZltlKzQ+PjJdPTU7ZltlKzg+
PjJdPTA7ZltlKzEyPj4yXT0wO2ZbZSsxNj4+Ml09MDtmW2UrMjA+PjJdPS0xO2ZbZSsyND4+Ml09
MTtmW2UrMjg+PjJdPS0xO2ZbZSszMj4+Ml09MDtwW2UrNDA+PjNdPTAuMDtmW2UrNDg+PjJdPTA7
ZltlKzUyPj4yXT0wO2ZbZSs1Nj4+Ml09MDtmW2UrNjA+PjJdPTA7ZltlKzY0Pj4yXT0wO2ZbZSs2
OD4+Ml09NTtmW2UrNzI+PjJdPTA7ZltlKzc2Pj4yXT1kO29DKGEsOTY4MDIsZSk7ZltnPj4yXT1p
O2ZbZys0Pj4yXT1iO2ZbZys4Pj4yXT1pO2ZbZysxMj4+Ml09YztmW2crMTY+PjJdPWo7ZltnKzIw
Pj4yXT1jO2ZbZysyND4+Ml09ajtmW2crMjg+PjJdPWI7ZltnKzMyPj4yXT1pO2ZbZyszNj4+Ml09
YjtvQyhhLDk2ODYwLGcpO3Q9aDtyZXR1cm59fWZ1bmN0aW9uIFlmKGEsYixjLGQpe2E9YXwwO2I9
YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAuMCxnPTAuMCxoPTAuMCxpPTAuMCxqPTAsaz0wLGw9MCxt
PTA7bT10O3Q9dCs5NnwwO2w9bSs1NnwwO2s9bSszMnwwO2o9bTtoPStwW2M+PjNdO2k9K3BbYysx
Nj4+M10taDtlPStwW2MrMjQ+PjNdO2c9ZS0rcFtjKzg+PjNdO2lmKCFhKXhhKDExOTU1Miw5NjQz
OSw1Myw5Njg5Mik7aWYoIWIpeGEoMTE5NTgyLDk2NDM5LDU0LDk2ODkyKTtkPWIrOHwwO2lmKCEo
ZltkPj4yXXwwKSl4YSgxMTk1ODUsOTY0MzksNTUsOTY4OTIpO2lDKGEsOTY5MTEpfDA7aUMoYSxm
W2Q+PjJdfDApfDA7ZD1hKzM2MHwwO2U9LWU7aWYoIShmW2Q+PjJdfDApKXtwW2w+PjNdPWk7cFts
Kzg+PjNdPWc7cFtsKzE2Pj4zXT1oO3BbbCsyND4+M109ZTtvQyhhLDk3MDQwLGwpfWVsc2V7cFtq
Pj4zXT1nO3Bbais4Pj4zXT1pO3BbaisxNj4+M109aDtwW2orMjQ+PjNdPWU7b0MoYSw5NjkzMSxq
KTtmW2s+PjJdPWZbZD4+Ml07cFtrKzg+PjNdPWg7cFtrKzE2Pj4zXT1lO29DKGEsOTcwMTAsayl9
aUMoYSw5NzExOSl8MDt0PW07cmV0dXJufWZ1bmN0aW9uIFpmKGEpe2E9YXwwO3ZhciBiPTAsYz0w
O2I9JHkoYSl8MDt3aGlsZSgxKXtpZighYilicmVhaztfZihiKTtiPWF6KGEsYil8MH1jPSR5KGEp
fDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7Yj1OeChhLGMpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7
JGYoYik7Yj1QeChhLGIpfDB9Yz1heihhLGMpfDB9cmV0dXJufWZ1bmN0aW9uIF9mKGEpe2E9YXww
O3ZhciBiPTAsYz0wO0p6KGEsMTQ1NzE3LDMwNCwxKXwwO21NKGEpO2I9KG56KGEpfDApKzE2fDA7
a04oYSxmWyhmW2I+PjJdfDApKzExNj4+Ml0mMSk7YT1hKzE2fDA7ZlsoZlthPj4yXXwwKSsxNzY+
PjJdPTA7Yj1ESCgyMCl8MDtjPWZbYT4+Ml18MDtmW2MrMTcyPj4yXT1iO2ZbYysxODQ+PjJdPTA7
Yz1ESCgyMCl8MDtiPWZbYT4+Ml18MDtmW2IrMTgwPj4yXT1jO2ZbYisyMDA+PjJdPTA7Yj1ESCgx
Mil8MDtjPWZbYT4+Ml18MDtmW2MrMTk2Pj4yXT1iO2ZbYysxOTI+PjJdPTA7Yz1ESCgxMil8MDti
PWZbYT4+Ml18MDtmW2IrMTg4Pj4yXT1jO2ZbYisyMDg+PjJdPTA7Yj1ESCgxMil8MDthPWZbYT4+
Ml18MDtmW2ErMjA0Pj4yXT1iO2ZbYSsyMTY+PjJdPTE7cmV0dXJufWZ1bmN0aW9uICRmKGEpe2E9
YXwwO3ZhciBjPTAsZT0wLGc9MCxoPTAsaT0wO0p6KGEsMTQ1NzMwLDE3NiwxKXwwO25NKGEpfDA7
aD1UTChhLGZbNDgzNjZdfDAsMSwwKXwwO2c9YSsxNnwwO2ZbKGZbZz4+Ml18MCkrMTU2Pj4yXT1o
O2g9V0woZlsoKGZbYT4+Ml0mM3wwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDAsZls0ODM2MF18MCwx
OTQ4NzApfDA7aT1XTChmWygoZlthPj4yXSYzfDApPT0yP2E6YSstNDh8MCkrNDA+PjJdfDAsZls0
ODM2MF18MCwxOTQ4NzApfDA7Yz1mW2c+PjJdfDA7ZT1jKzE1NHwwO2RbZT4+MV09MTtkW2MrMTY4
Pj4xXT0xO2lmKChofDApPT0oaXwwKSYoYltoPj4wXXwwKSE9MCl7ZFtlPj4xXT0xZTM7aT1jKzE1
NnwwO2ZbaT4+Ml09KGZbaT4+Ml18MCkqMTAwfWlmKFhrKGEpfDApe2k9ZltnPj4yXXwwO2RbaSsx
NTQ+PjFdPTA7ZltpKzE1Nj4+Ml09MH1pPShUTChhLGZbNDgzNzldfDAsMCwwKXwwKSYyNTU7Ylso
ZltnPj4yXXwwKSsxNTI+PjBdPWk7aT0oVEwoYSxmWzQ4MzY3XXwwLDEsMCl8MCkmNjU1MzU7ZFso
ZltnPj4yXXwwKSsxNzA+PjFdPWk7cmV0dXJufWZ1bmN0aW9uIGFnKGEpe2E9YXwwO3ZhciBiPTAs
Yz0wO2JnKGZbKGZbYSsxNj4+Ml18MCkrMTkyPj4yXXwwKTtjPSR5KGEpfDA7d2hpbGUoMSl7aWYo
IWMpYnJlYWs7Yj1OeChhLGMpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7U00oYik7Yj1QeChhLGIp
fDB9Y2coYyk7Yz1heihhLGMpfDB9ZGcoYSk7cmV0dXJufWZ1bmN0aW9uIGJnKGEpe2E9YXwwO3Zh
ciBjPTAsZD0wLGU9MCxnPTA7d2hpbGUoMSl7aWYoIWEpYnJlYWs7ZT1hKzE2fDA7Zz1mWyhmW2U+
PjJdfDApKzE2ND4+Ml18MDtlZyhhKTtjPWZbZT4+Ml18MDtpZigoYltjKzE1Nj4+MF18MCk9PTEp
e2Q9ZltjKzE4MD4+Ml18MDtpZihkKXtNXyhkKTtjPWZbZT4+Ml18MH1kPWZbYysxNzI+PjJdfDA7
aWYoZCl7TV8oZCk7Yz1mW2U+PjJdfDB9TV8oYyk7TV8oYSl9YT1nfXJldHVybn1mdW5jdGlvbiBj
ZyhhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTA7ZD1hKzE2fDA7Yj1mW2Q+PjJdfDA7Yz1mW2IrMTcy
Pj4yXXwwO2lmKGMpe01fKGMpO2I9ZltkPj4yXXwwfWM9ZltiKzE4MD4+Ml18MDtpZihjKXtNXyhj
KTtiPWZbZD4+Ml18MH1jPWZbYisxODg+PjJdfDA7aWYoYyl7TV8oYyk7Yj1mW2Q+PjJdfDB9Yz1m
W2IrMTk2Pj4yXXwwO2lmKGMpe01fKGMpO2I9ZltkPj4yXXwwfWM9ZltiKzIwND4+Ml18MDtpZihj
KXtNXyhjKTtiPWZbZD4+Ml18MH13SChmW2IrMTA0Pj4yXXwwKTt3SChmWyhmW2Q+PjJdfDApKzEw
OD4+Ml18MCk7Yj1mWyhmW2Q+PjJdfDApKzg+PjJdfDA7aWYoYnwwKUNiW2ZbKGZbYis0Pj4yXXww
KSs0Pj4yXSYxMjddKGEpO0x6KGEsMTQ1NzE3KXwwO3JldHVybn1mdW5jdGlvbiBkZyhhKXthPWF8
MDt2YXIgYj0wLGM9MCxlPTA7Yj1GQShhKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFrO2RnKGIpO2I9
R0EoYil8MH1pZihKeihhLDE0NTc1MywwLDEpfDApe2U9YSsxNnwwO2I9ZltlPj4yXXwwO2M9Zlti
KzE4ND4+Ml18MDtpZihjKXtNXyhjKTtiPWZbZT4+Ml18MH1jPWZbYisyNjg+PjJdfDA7aWYoYyl7
TV8oYyk7Yj1mW2U+PjJdfDB9Yz1mW2IrMjE2Pj4yXXwwO2lmKGMpe01fKGMpO2I9ZltlPj4yXXww
fWRvIGlmKGZbYisxOTY+PjJdfDApe2M9ZFtiKzIzNj4+MV18MDt3aGlsZSgxKXtpZigoY3wwKT4o
ZFtiKzIzOD4+MV18MCkpYnJlYWs7TV8oZlsoZltiKzE5Nj4+Ml18MCkrKGM8PDYpKzEyPj4yXXww
KTtjPWMrMXwwO2I9ZltlPj4yXXwwfWM9ZltiKzE5Nj4+Ml18MDtpZigoZFtiKzIzNj4+MV18MCk9
PS0xKXtNXyhjKy02NHwwKTticmVha31lbHNle01fKGMpO2JyZWFrfX13aGlsZSgwKTtpZigob3oo
YSl8MCkhPShhfDApKXt3SChmWyhmW2U+PjJdfDApKzEyPj4yXXwwKTtMeihhLDE0NTc1Myl8MH19
cmV0dXJufWZ1bmN0aW9uIGVnKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MDtkPWErMTZ8MDtjPWZb
ZD4+Ml18MDtiPWZbYysxNzY+PjJdfDA7d2hpbGUoMSl7YT1iKy0xfDA7aWYoKGJ8MCk8PTApYnJl
YWs7Yj1mWyhmW2MrMTcyPj4yXXwwKSsoYTw8Mik+PjJdfDA7dGgoYik7TV8oZltiKzE2Pj4yXXww
KTtNXyhiKTtiPWE7Yz1mW2Q+PjJdfDB9Yj1mW2MrMTg0Pj4yXXwwO3doaWxlKDEpe2E9YistMXww
O2lmKChifDApPD0wKWJyZWFrO2I9ZlsoZlsoZltkPj4yXXwwKSsxODA+PjJdfDApKyhhPDwyKT4+
Ml18MDt0aChiKTtNXyhmW2IrMTY+PjJdfDApO01fKGIpO2I9YX1yZXR1cm59ZnVuY3Rpb24gZmco
YSl7YT1hfDA7aWYoankoYSl8MClnZyhhKTtuSihhKTtyZXR1cm59ZnVuY3Rpb24gZ2coYSl7YT1h
fDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTAsaD0wO2g9dDt0PXQrNDh8MDtnPWgrMzJ8MDtlPWg7
Yj1mRShhLC0xLDgpfDA7Yz1nRShhLDAsZSl8MDtlRShhLDIsOCxlKXwwO2M9KGN8MCk9PTA7ZD0o
YnwwKTwwO2lmKGQmYyloZyhhKTtlbHNle2lmKGMpZltlKzE2Pj4yXT0zO2Vsc2UgYj1kPzg6Yjtm
W2UrOD4+Ml09YjtmW2UrMjA+PjJdPTA7ZD1BRChhLGcsMCl8MDtiPWZbZz4+Ml18MDtkbyBpZigo
YnwwKT09MSloZyhhKTtlbHNle2lmKGZbKGZbKGZbYSsxNj4+Ml18MCkrOD4+Ml18MCkrODQ+PjJd
fDApe2hnKGEpO2JyZWFrfWZbZSsxMj4+Ml09MTtjPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShifDAp
KWJyZWFrO2I9ZltkKyhjPDwyKT4+Ml18MDtpZyhiLGEpO2hnKGIpO2M9YysxfDA7Yj1mW2c+PjJd
fDB9amcoYSk7ZEUoZltnPj4yXXwwLGQsYSxlKXwwO2tnKGEpO2xnKGZbZz4+Ml18MCxkLGEpfXdo
aWxlKDApO2I9MDt3aGlsZSgxKXtpZigoYnwwKT49KGZbZz4+Ml18MCkpYnJlYWs7ZT1kKyhiPDwy
KXwwO01fKGZbKGZbKGZbZT4+Ml18MCkrMTY+PjJdfDApKzg+PjJdfDApO2RnKGZbZT4+Ml18MCk7
bXooYSxmW2U+PjJdfDApfDA7Yj1iKzF8MH1NXyhkKX10PWg7cmV0dXJufWZ1bmN0aW9uIGhnKGEp
e2E9YXwwO3ZhciBiPTAsYz0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7bD10O3Q9
dCs0OHwwO2s9bCs0MHwwO2M9bDtqPVRMKGEsd3goYSwwLDk3MTM0LDApfDAsLTEsMSl8MDtpTihh
LDEwKTtiPVdrKGEsYyl8MDtuZyhhLGEpO1pmKGEpO2U9KGp8MCk9PTE7Zz1jKzMyfDA7aD0oanww
KT09MjtpPWMrMjR8MDtqPShqfDApPT0zO2M9YysyOHwwO3doaWxlKDEpe0lqKGEsYik7aWYoZSl7
Yj0zO2JyZWFrfWlmKGZbZz4+Ml18MCl7WXcoMCw5NzE0MCxrKXwwO2ZbaT4+Ml09MDtiPTB9U2go
YSwoYnwwKSE9MCYxKTtpZihoKXtiPTc7YnJlYWt9VmkoYSxiKTtpZihqKXtiPTk7YnJlYWt9bT0o
ZltjPj4yXXwwKSstMXwwO2ZbYz4+Ml09bTtpZighKChtfDApIT0wJihmW2k+PjJdfDApIT0wKSl7
Yj0xMTticmVha319aWYoKGJ8MCk9PTMpb2coYSwxKTtlbHNlIGlmKChifDApPT03KW9nKGEsMik7
ZWxzZSBpZigoYnwwKT09OSlvZyhhLDIpO2Vsc2UgaWYoKGJ8MCk9PTExKXtpZihkWyhmW2ErMTY+
PjJdfDApKzEzNj4+MV0mMTYpcGcoYSk7Q2soYSk7dGcoYSk7aWYoKFpMKEd4KGEsOTcyMzEpfDAp
fDApPDwyND4+MjQpd2woYSl9dD1sO3JldHVybn1mdW5jdGlvbiBpZyhhLGMpe2E9YXwwO2M9Y3ww
O3ZhciBkPTAsZT0wO0p6KGEsMTQ1NzUzLDI4MCwxKXwwO2Q9REgoOTYpfDA7YT1mW2ErMTY+PjJd
fDA7ZlthKzg+PjJdPWQ7Yz1mW2MrMTY+PjJdfDA7ZT1mW2MrOD4+Ml18MDtwW2Q+PjNdPStwW2U+
PjNdO3BbZCsyND4+M109K3BbZSsyND4+M107ZlthKzE0ND4+Ml09ZltjKzE0ND4+Ml07YlthKzEx
NT4+MF09YltjKzExNT4+MF18MDtmW2ErMTE2Pj4yXT1mW2MrMTE2Pj4yXTtmW2ErMjQ4Pj4yXT1m
W2MrMjQ4Pj4yXTtmW2ErMjUyPj4yXT1mW2MrMjUyPj4yXTtmW2ErMjQ0Pj4yXT1mW2MrMjQ0Pj4y
XTtyZXR1cm59ZnVuY3Rpb24gamcoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO2I9REgoKGp5KGEp
fDApPDw0KXwwO2M9JHkoYSl8MDt3aGlsZSgxKXtpZighYylicmVhaztkPWZbYysxNj4+Ml18MDtm
W2QrMTMyPj4yXT1iO3BbYj4+M109K3BbZCsxNj4+M10qLjAxMzg4ODg4ODg4ODg4ODg4ODtwW2Ir
OD4+M109K3BbZCsyND4+M10qLjAxMzg4ODg4ODg4ODg4ODg4ODtiPWIrMTZ8MDtjPWF6KGEsYyl8
MH1yZXR1cm59ZnVuY3Rpb24ga2coYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MDtkPSgkeShh
KXwwKSsxNnwwO2Q9ZlsoZltkPj4yXXwwKSsxMzI+PjJdfDA7Yj1kO2M9JHkoYSl8MDt3aGlsZSgx
KXtpZighYylicmVhaztlPWZbYysxNj4+Ml18MDtmW2UrMTMyPj4yXT0wO3BbZSsxNj4+M109K3Bb
Yj4+M10qNzIuMDtwW2UrMjQ+PjNdPStwW2IrOD4+M10qNzIuMDtiPWIrMTZ8MDtjPWF6KGEsYyl8
MH1NXyhkKTtyZXR1cm59ZnVuY3Rpb24gbGcoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBk
PTAsZT0wLGc9MCxoPTAsaT0wO2Q9MDtlPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShhfDApKWJyZWFr
O2k9KGZbKGZbKGZbYisoZDw8Mik+PjJdfDApKzE2Pj4yXXwwKSsxODA+PjJdfDApK2V8MDtkPWQr
MXwwO2U9aX1pPWMrMTZ8MDtmWyhmW2k+PjJdfDApKzE4MD4+Ml09ZTtnPURIKChlPDwyKSs0fDAp
fDA7ZlsoZltpPj4yXXwwKSsxODQ+PjJdPWc7Zz0wO2Q9MTt3aGlsZSgxKXtpZigoZ3wwKT49KGF8
MCkpYnJlYWs7aD0oZltiKyhnPDwyKT4+Ml18MCkrMTZ8MDtlPTE7d2hpbGUoMSl7Yz1mW2g+PjJd
fDA7aWYoKGV8MCk+KGZbYysxODA+PjJdfDApKWJyZWFrO2M9ekQoZlsoZltjKzE4ND4+Ml18MCkr
KGU8PDIpPj4yXXwwKXwwO2ZbKGZbKGZbaT4+Ml18MCkrMTg0Pj4yXXwwKSsoZDw8Mik+PjJdPWM7
bWcoZlsoZlsoZltoPj4yXXwwKSsxODQ+PjJdfDApKyhlPDwyKT4+Ml18MCxjKTtlPWUrMXwwO2Q9
ZCsxfDB9Zz1nKzF8MH1yZXR1cm59ZnVuY3Rpb24gbWcoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0w
LGU9MCxnPTA7SnooYywxNDU3NTMsMjgwLDEpfDA7Zz1jKzE2fDA7Yz0oZltnPj4yXXwwKSsxNnww
O2U9YSsxNnwwO2E9KGZbZT4+Ml18MCkrMTZ8MDtmW2M+PjJdPWZbYT4+Ml07ZltjKzQ+PjJdPWZb
YSs0Pj4yXTtmW2MrOD4+Ml09ZlthKzg+PjJdO2ZbYysxMj4+Ml09ZlthKzEyPj4yXTtmW2MrMTY+
PjJdPWZbYSsxNj4+Ml07ZltjKzIwPj4yXT1mW2ErMjA+PjJdO2ZbYysyND4+Ml09ZlthKzI0Pj4y
XTtmW2MrMjg+PjJdPWZbYSsyOD4+Ml07YT1mW2U+PjJdfDA7Yz1mW2c+PjJdfDA7YltjKzI3NT4+
MF09YlthKzI3NT4+MF18MDtjPWMrNDh8MDthPWErNDh8MDtkPWMrNjR8MDtkb3tmW2M+PjJdPWZb
YT4+Ml07Yz1jKzR8MDthPWErNHwwfXdoaWxlKChjfDApPChkfDApKTthPWZbKGZbZT4+Ml18MCkr
MTgwPj4yXXwwO2ZbKGZbZz4+Ml18MCkrMTgwPj4yXT1hO2M9REgoKGE8PDIpKzR8MCl8MDtmWyhm
W2c+PjJdfDApKzE4ND4+Ml09YztjPTE7d2hpbGUoMSl7ZD1mW2U+PjJdfDA7aWYoKGN8MCk+KGF8
MCkpYnJlYWs7ZD16RChmWyhmW2QrMTg0Pj4yXXwwKSsoYzw8Mik+PjJdfDApfDA7ZlsoZlsoZltn
Pj4yXXwwKSsxODQ+PjJdfDApKyhjPDwyKT4+Ml09ZDttZyhmWyhmWyhmW2U+PjJdfDApKzE4ND4+
Ml18MCkrKGM8PDIpPj4yXXwwLGQpO2M9YysxfDB9ZT1kKzEyfDA7ZlsoZltnPj4yXXwwKSsxMj4+
Ml09ZltlPj4yXTtmW2U+PjJdPTA7cmV0dXJufWZ1bmN0aW9uIG5nKGEsYil7YT1hfDA7Yj1ifDA7
dmFyIGM9MDtpZigob3ooYSl8MCkhPShhfDApKUp6KGEsMTQ1NzUzLDI4MCwxKXwwO2lmKChhfDAp
PT0oYnwwKSl7Yz0ob3ooYSl8MCkrMTZ8MDtmWyhmW2M+PjJdfDApKzE4OD4+Ml09YX1hPUZBKGEp
fDA7d2hpbGUoMSl7aWYoIWEpYnJlYWs7bmcoYSxiKTthPUdBKGEpfDB9cmV0dXJufWZ1bmN0aW9u
IG9nKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7
az10O3Q9dCsxMDQwfDA7aj1rKzEwMzJ8MDtpPWsrMTAyNHwwO2U9aztnPXd4KGEsMSw5OTIwMywx
OTQ4NzApfDA7aD13eChhLDEsOTcyNzQsMTk0ODcwKXwwO2M9KGJ8MCk+MTtiPSR5KGEpfDA7d2hp
bGUoMSl7aWYoIWIpYnJlYWs7ZD1iKzE2fDA7ZltpPj4yXT1mWyhmW2Q+PjJdfDApKzIzMj4+Ml07
ZCQoZSwxNDU2NjUsaSl8MDtBeChiLGcsZSl8MDtpZihjKXtmW2o+PjJdPWZbKGZbZD4+Ml18MCkr
MjM2Pj4yXTtkJChlLDE0NTY2NSxqKXwwO0F4KGIsaCxlKXwwfWI9YXooYSxiKXwwfXQ9aztyZXR1
cm59ZnVuY3Rpb24gcGcoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO2M9RUEoYSw5ODcwNywwKXww
O2lmKGN8MCl7Yj0keShjKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFrO2Q9YXooYyxiKXwwO0JoKGEs
Yik7cWcoYSxiKTtjZyhiKTtseihhLGIpfDA7Yj1kfUlBKGEsYyl8MH1yZXR1cm59ZnVuY3Rpb24g
cWcoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTA7aT1mWyhmW2Ir
MTY+PjJdfDApKzIzMj4+Ml18MDtoPWErMTZ8MDthPWZbKGZbaD4+Ml18MCkrMTk2Pj4yXXwwO2M9
ZlthKyhpPDw2KT4+Ml18MDtnPWErKGk8PDYpKzR8MDtlPTA7ZD0wO3doaWxlKDEpe2lmKChkfDAp
Pj0oY3wwKSl7Zz04O2JyZWFrfWU9ZlsoZltnPj4yXXwwKSsoZDw8Mik+PjJdfDA7ZD1kKzF8MDtp
ZigoZXwwKT09KGJ8MCkpe2c9NDticmVha319aWYoKGd8MCk9PTQpe3doaWxlKDEpe2lmKChkfDAp
Pj0oY3wwKSlicmVhaztiPWZbYSsoaTw8NikrND4+Ml18MDtmW2IrKGQrLTE8PDIpPj4yXT1mW2Ir
KGQ8PDIpPj4yXTtiPWZbKGZbaD4+Ml18MCkrMTk2Pj4yXXwwO2Q9ZCsxfDA7Yz1mW2IrKGk8PDYp
Pj4yXXwwO2E9Yn1mW2ErKGk8PDYpPj4yXT1jKy0xfWVsc2UgaWYoKGd8MCk9PTg/KGV8MCkhPShi
fDApOjApeGEoOTcyNDAsOTcyNDcsMjQ4LDk3MjU3KTtyZXR1cm59ZnVuY3Rpb24gcmcoYSl7YT1h
fDA7YT0ob3ooYSl8MCkrMTZ8MDtyZXR1cm4gZlsoZlthPj4yXXwwKSsxODg+PjJdfDB9ZnVuY3Rp
b24gc2coYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wO2Q9YlthKzI4Pj4wXXwwO2lmKGJbYysyOD4+
MF18MClpZihkPDwyND4+MjQpe2Q9fn4oK3BbYT4+M10tK3BbYz4+M10pO2lmKCFkKWQ9fn4oK3Bb
YSs4Pj4zXS0rcFtjKzg+PjNdKX1lbHNlIGQ9LTE7ZWxzZSBkPWQ8PDI0Pj4yNCE9MCYxO3JldHVy
biBkfDB9ZnVuY3Rpb24gdGcoYSl7YT1hfDA7dWcoYSwxKTtyZXR1cm59ZnVuY3Rpb24gdWcoYSxj
KXthPWF8MDtjPWN8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0w
LHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MC4wLEI9MCxDPTAsRD0wLEU9
MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0w
LFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxfPTAuMDtaPXQ7dD10KzY1NnwwO089Wis1OTJ8
MDtOPVorNTUyfDA7ZT1aKzU0NHwwO1Q9Wis5NnwwO1U9WjtZPVorNjMyfDA7Vj1hKzE2fDA7WD1k
WyhmW1Y+PjJdfDApKzEzNj4+MV0mMTQ7UD1YJjY1NTM1O1E9VCsxNnwwO2ZbUT4+Ml09WiszNjg7
Uj1VKzE2fDA7ZltSPj4yXT1aKzE5MjtkbyBpZihYPDwxNj4+MTYpe1M9WDw8MTY+PjE2PT00O2Rv
IGlmKFMpe3ZnKGEpO2lmKCEoYlsoZlsoZlthKzYwPj4yXXwwKSsxNj4+Ml18MCkrMTEzPj4wXSYx
KSlKPTk7ZWxzZXtZdygwLDk3MjgwLGUpfDA7Sj05fX1lbHNlIGlmKFg8PDE2Pj4xNj09OCl7dmco
YSk7aWYoIShiWyhmWyhmW2ErNjA+PjJdfDApKzE2Pj4yXXwwKSsxMTM+PjBdJjEpKXtsTihhLDAp
O2w9MDtrPTA7aj0wO2JyZWFrfWVsc2V7d2coYSk7bE4oYSwxKTtsPTA7az0wO2o9MDticmVha319
ZWxzZSBKPTk7d2hpbGUoMCk7aWYoKEp8MCk9PTkpe3VsKGEpO2lmKHpKKCl8MClicmVhaztXPURI
KDk2KXwwO0s9ZlsoZltWPj4yXXwwKSsyNDg+PjJdfDA7ZltZKzg+PjJdPShLfDApLzR8MDtmW1kr
MTI+PjJdPUs7bj1ESCg1MTIpfDA7RT1ZKzR8MDtmW0U+PjJdPTA7ZltZPj4yXT0wO2g9ZltWPj4y
XXwwO0I9ZFtoKzIzNj4+MV18MDtDPTA7TD0wO009bjtEPW47az1uO2k9bjttPW47Rz0wO0g9MDth
OndoaWxlKDEpe2lmKChCfDApPihkW2grMjM4Pj4xXXwwKSlicmVhaztxPWZbaCsxOTY+PjJdfDA7
bz1mW3ErKEI8PDYpPj4yXXwwO0Y9bytDfDA7Zz1mW3ErKEI8PDYpKzQ+PjJdfDA7ZT1mW2c+PjJd
fDA7aWYoIWUpZT1HO2Vsc2V7Xz0rKEd8MCk7ZT1mW2UrMTY+PjJdfDA7QT0rcFtlKzE2Pj4zXS0r
cFtlKzg4Pj4zXTtlPX5+KEE+Xz9fOkEpfWlmKChvfDApIT0wPyhJPWZbZysobystMTw8Mik+PjJd
fDAsKEl8MCkhPTApOjApe0E9KyhIfDApO2c9ZltJKzE2Pj4yXXwwO189K3BbZys5Nj4+M10rICtw
W2crMTY+PjNdO2c9fn4oXzxBP0E6Xyl9ZWxzZSBnPUg7ej1lKy0xNnwwO3k9ZysxNnwwO3g9MDtz
PUw7dT1NO3I9aDtqPUQ7bD1rO3Y9aTtnPW87ZT1xO3doaWxlKDEpe2lmKCh4fDApPj0oZ3wwKSli
cmVhaztpPWZbKGZbZSsoQjw8NikrND4+Ml18MCkrKHg8PDIpPj4yXXwwO3c9aSsxNnwwO2U9Zlt3
Pj4yXXwwO2c9ZltlKzExMj4+Ml18MDtpZihnKXtnPWcrMTZ8MDtoPWZbKGZbZz4+Ml18MCkrOTY+
PjJdfDA7aWYoIWgpe0o9MjE7YnJlYWsgYX1yPWgrNTZ8MDtlPWUrMTZ8MDtmW3I+PjJdPWZbZT4+
Ml07ZltyKzQ+PjJdPWZbZSs0Pj4yXTtmW3IrOD4+Ml09ZltlKzg+PjJdO2ZbcisxMj4+Ml09Zltl
KzEyPj4yXTtiWyhmWyhmW2c+PjJdfDApKzk2Pj4yXXwwKSs4MT4+MF09MTtlPWZbdz4+Ml18MH1p
ZigoYltlKzE1Nj4+MF18MCkhPTA/KHRiW2ZbNzE2NzI+PjJdJjYzXShpKXwwKTw8MjQ+PjI0PT0w
OjApe289cztlPXU7aT12O2g9bTtnPW59ZWxzZSBKPTI1O2I6ZG8gaWYoKEp8MCk9PTI1KXtKPTA7
cj0wO289cztxPXU7Zz1uO2k9djt3aGlsZSgxKXtuPWZbdz4+Ml18MDtoPWZbKGZbbisxODA+PjJd
fDApKyhyPDwyKT4+Ml18MDtpZighaClicmVhaztzd2l0Y2goYlsoZltoKzE2Pj4yXXwwKSsxMTI+
PjBdfDApe2Nhc2UgNjpjYXNlIDQ6e2U9bztoPXE7YnJlYWt9ZGVmYXVsdDp7eGcoaCwxLDE2LDY0
KTtlPW8rMXwwO2ZbcSsobzw8Mik+PjJdPWg7aWYoIShlJjEyNykpe2c9R0goZywobzw8MikrNTE2
fDApfDA7aD1nO2o9ZztsPWc7aT1nO209Z31lbHNlIGg9cX19cj1yKzF8MDtvPWU7cT1ofWU9Zltu
KzE4OD4+Ml18MDtjOmRvIGlmKCFlKWg9bTtlbHNle3I9MDtoPW07d2hpbGUoMSl7ZT1mW2UrKHI8
PDIpPj4yXXwwO2lmKCFlKWJyZWFrIGM7eGcoZSwyLDAsMTI4KTttPW8rMXwwO2ZbcSsobzw8Mik+
PjJdPWU7aWYoIShtJjEyNykpe2c9R0goaCwobzw8MikrNTE2fDApfDA7ZT1nO2o9ZztsPWc7aT1n
O2g9Z31lbHNlIGU9cTtuPWZbdz4+Ml18MDtyPXIrMXwwO289bTtxPWU7ZT1mW24rMTg4Pj4yXXww
fX13aGlsZSgwKTtlPWZbbisyMDQ+PjJdfDA7aWYoIWUpZT1xO2Vsc2V7aWYoIShiW24rMTU2Pj4w
XXwwKSl7dT1uKzk2fDA7Xz0rcFt1Pj4zXTt2PW4rMjQwfDA7cFt1Pj4zXT0rcFt2Pj4zXTtwW3Y+
PjNdPV99cj0wO249cTt3aGlsZSgxKXtlPWZbZSsocjw8Mik+PjJdfDA7aWYoIWUpe2U9bjticmVh
ayBifXhnKGUsMCwwLDEyOCk7bT1vKzF8MDtmW24rKG88PDIpPj4yXT1lO2lmKCEobSYxMjcpKXtn
PUdIKGksKG88PDIpKzUxNnwwKXwwO2U9ZztqPWc7bD1nO2k9ZztoPWd9ZWxzZSBlPW47cj1yKzF8
MDtvPW07bj1lO2U9ZlsoZlt3Pj4yXXwwKSsyMDQ+PjJdfDB9fX13aGlsZSgwKTtyPWZbVj4+Ml18
MDt3PWZbcisxOTY+PjJdfDA7eD14KzF8MDtzPW87dT1lO3Y9aTttPWg7bj1nO2c9Zlt3KyhCPDw2
KT4+Ml18MDtlPXd9Qj1CKzF8MDtDPUY7TD1zO009dTtEPWo7aD1yO2s9bDtpPXY7Rz16O0g9eX1p
ZigoSnwwKT09MjEpeGEoOTczNDgsOTczNjEsMzEzLDk3Mzc0KTtmW1k+PjJdPUc7ZltFPj4yXT1I
O1ckKEQsTCw0LDU4KTtKPURIKChDPDw1KSsxMTUyMHwwKXwwO2ZbVys4ND4+Ml09SjtKPURIKEI8
PDUpfDA7ZltZKzE2Pj4yXT1KO2Q6ZG8gaWYoWDw8MTY+PjE2PT0yKXtlPShmW1Y+PjJdfDApKzE5
MnwwO3doaWxlKDEpe2c9ZltlPj4yXXwwO2lmKCFnKWJyZWFrIGQ7aD1nKzE2fDA7ZT1mW2g+PjJd
fDA7aWYoKGJbZSsxNTY+PjBdfDApPT0xPyhmW2UrMTA0Pj4yXXwwKSE9MDowKXt6ZyhnKTtlPWZb
aD4+Ml18MH1lPWUrMTY0fDB9fXdoaWxlKDApO0I9VSs0OHwwO0M9VSstNDh8MDtEPVQrNDh8MDtF
PVQrLTQ4fDA7QT0rKEt8MCk7ej1UKzE2fDA7eT0wO3doaWxlKDEpe2lmKCh5fDApPj0oTHwwKSli
cmVhazt3PU0rKHk8PDIpfDA7cj1mW3c+PjJdfDA7cz1BZyhyKXwwO3U9cisxNnwwO2U9Zlt1Pj4y
XXwwO2lmKCEoYltlKzQ0Pj4wXXwwKSl7aD0oYltlKzg0Pj4wXXwwKT09MD9zOnI7ZT1oKzE2fDA7
aT1lO2c9ZTtlPWZbZT4+Ml18MH1lbHNle2g9cjtpPXU7Zz11fWlmKGZbZSsxNjQ+PjJdJjMyKXtl
PWZbUT4+Ml18MDtRMyhlfDAsZltnPj4yXXwwLDE3Nil8MDtsPVQ7bT1oO249bCs0OHwwO2Rve2Zb
bD4+Ml09ZlttPj4yXTtsPWwrNHwwO209bSs0fDB9d2hpbGUoKGx8MCk8KG58MCkpO2ZbUT4+Ml09
ZTttPWZbaD4+Ml0mMztsPWZbVD4+Ml0mMztmWygobHwwKT09Mz9UOkQpKzQwPj4yXT1mWygobXww
KT09Mj9oOmgrLTQ4fDApKzQwPj4yXTtmWygobHwwKT09Mj9UOkUpKzQwPj4yXT1mWygobXwwKT09
Mz9oOmgrNDh8MCkrNDA+PjJdO2w9ZSsxNnwwO209KGZbaT4+Ml18MCkrNTZ8MDtuPWwrNDB8MDtk
b3tmW2w+PjJdPWZbbT4+Ml07bD1sKzR8MDttPW0rNHwwfXdoaWxlKChsfDApPChufDApKTtsPWUr
NTZ8MDttPShmW2k+PjJdfDApKzE2fDA7bj1sKzQwfDA7ZG97ZltsPj4yXT1mW20+PjJdO2w9bCs0
fDA7bT1tKzR8MH13aGlsZSgobHwwKTwobnwwKSk7YltlKzExMj4+MF09MTtmW2UrMTE2Pj4yXT1o
O2k9en14PTE7ZT15O3doaWxlKDEpe3Y9ZSsxfDA7aWYoKHZ8MCk+PShMfDApKWJyZWFrO289TSso
djw8Mil8MDtlPWZbbz4+Ml18MDtpZigoc3wwKSE9KEFnKGUpfDApKWJyZWFrO2lmKCEoYlsoZlt1
Pj4yXXwwKSsxMTM+PjBdfDApKXtxPWUrMTZ8MDtnPWZbcT4+Ml18MDtpZighKGJbZys0ND4+MF18
MCkpe2U9KGJbZys4ND4+MF18MCk9PTA/czplO2c9ZSsxNnwwO2g9ZztqPWc7Zz1mW2c+PjJdfDB9
ZWxzZXtoPXE7aj1xfWlmKCEoZltnKzE2ND4+Ml0mMzIpKWg9ZysxNnwwO2Vsc2V7Zz1mW1I+PjJd
fDA7UTMoZ3wwLGZbaD4+Ml18MCwxNzYpfDA7bD1VO209ZTtuPWwrNDh8MDtkb3tmW2w+PjJdPWZb
bT4+Ml07bD1sKzR8MDttPW0rNHwwfXdoaWxlKChsfDApPChufDApKTtmW1I+PjJdPWc7bD1mW2U+
PjJdJjM7aD1mW1U+PjJdJjM7ZlsoKGh8MCk9PTM/VTpCKSs0MD4+Ml09ZlsoKGx8MCk9PTI/ZTpl
Ky00OHwwKSs0MD4+Ml07ZlsoKGh8MCk9PTI/VTpDKSs0MD4+Ml09ZlsoKGx8MCk9PTM/ZTplKzQ4
fDApKzQwPj4yXTtoPWcrMTZ8MDtsPWg7bT0oZltqPj4yXXwwKSs1NnwwO249bCs0MHwwO2Rve2Zb
bD4+Ml09ZlttPj4yXTtsPWwrNHwwO209bSs0fDB9d2hpbGUoKGx8MCk8KG58MCkpO2w9Zys1Nnww
O209KGZbaj4+Ml18MCkrMTZ8MDtuPWwrNDB8MDtkb3tmW2w+PjJdPWZbbT4+Ml07bD1sKzR8MDtt
PW0rNHwwfXdoaWxlKChsfDApPChufDApKTtiW2crMTEyPj4wXT0xO2ZbZysxMTY+PjJdPWV9aj1m
W2k+PjJdfDA7bD1OO209aisxNnwwO249bCs0MHwwO2Rve2ZbbD4+Ml09ZlttPj4yXTtsPWwrNHww
O209bSs0fDB9d2hpbGUoKGx8MCk8KG58MCkpO2w9TzttPWg7bj1sKzQwfDA7ZG97ZltsPj4yXT1m
W20+PjJdO2w9bCs0fDA7bT1tKzR8MH13aGlsZSgobHwwKTwobnwwKSk7aWYoc2coTixPKXwwKWJy
ZWFrO2U9Zys1NnwwO2w9TjttPWorNTZ8MDtuPWwrNDB8MDtkb3tmW2w+PjJdPWZbbT4+Ml07bD1s
KzR8MDttPW0rNHwwfXdoaWxlKChsfDApPChufDApKTtsPU87bT1lO249bCs0MHwwO2Rve2ZbbD4+
Ml09ZlttPj4yXTtsPWwrNHwwO209bSs0fDB9d2hpbGUoKGx8MCk8KG58MCkpO2lmKHNnKE4sTyl8
MClicmVhaztLPWZbdT4+Ml18MDtpZigoZltLKzE2ND4+Ml0mMTV8MCk9PTI/KGZbSys5Nj4+Ml18
MCkhPShmWyhmW3E+PjJdfDApKzk2Pj4yXXwwKTowKWJyZWFrO2lmKGZbKGZbKGZbbz4+Ml18MCkr
MTY+PjJdfDApKzE2ND4+Ml0mNjR8MClicmVha314PXgrMXwwO2U9dn1lOmRvIGlmKFMpe2lmKCh4
fDApPT0xKWU9TztlbHNlIGU9REgoeDw8Mil8MDtnPUFnKGZbdz4+Ml18MCl8MDtmW2U+PjJdPWc7
Zz0xO3doaWxlKDEpe2lmKGc+Pj4wPj14Pj4+MClicmVhaztmW2UrKGc8PDIpPj4yXT1mW3crKGc8
PDIpPj4yXTtnPWcrMXwwfUpKKGEsZSx4LFAsNzE2NjgpO2lmKHg+Pj4wPjEpTV8oZSl9ZWxzZXtl
PWZbcj4+Ml0mMztLPWZbKChlfDApPT0zP3I6cis0OHwwKSs0MD4+Ml18MDtlPWZbKChlfDApPT0y
P3I6cistNDh8MCkrNDA+PjJdfDA7Zz1mW0srMTY+PjJdfDA7aD1mW2crMjMyPj4yXXwwO2lmKChL
fDApIT0oZXwwKSlpZigoaHwwKT09KGZbKGZbZSsxNj4+Ml18MCkrMjMyPj4yXXwwKSl7QmcoYSxZ
LFcsTSx5LHgsUCk7YnJlYWt9ZWxzZXtDZyhhLFksVyxNLHkseCxQKTticmVha31lPWZbVj4+Ml18
MDtkbyBpZigoaHwwKT09KGRbZSsyMzg+PjFdfDApKWlmKChofDApPjApe2U9fn4oK3BbKGZbKGZb
ZlsoZltlKzE5Nj4+Ml18MCkrKGgrLTE8PDYpKzQ+PjJdPj4yXXwwKSsxNj4+Ml18MCkrMjQ+PjNd
LStwW2crMjQ+PjNdKTticmVha31lbHNle2U9fn4rcFtnKzgwPj4zXTticmVha31lbHNlIGlmKCho
fDApPT0oZFtlKzIzNj4+MV18MCkpe2U9fn4oK3BbZysyND4+M10tK3BbKGZbKGZbZlsoZltlKzE5
Nj4+Ml18MCkrKGgrMTw8NikrND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyND4+M10pO2JyZWFrfWVs
c2V7ZT1mW2UrMTk2Pj4yXXwwO189K3BbZysyND4+M107Sz1+figrcFsoZlsoZltmW2UrKGgrLTE8
PDYpKzQ+PjJdPj4yXXwwKSsxNj4+Ml18MCkrMjQ+PjNdLV8pO2U9fn4oXy0rcFsoZlsoZltmW2Ur
KGgrMTw8NikrND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyND4+M10pO2U9KEt8MCk8KGV8MCk/Szpl
O2JyZWFrfXdoaWxlKDApO2ZMKFcsTSx5LHgsQSwrKChlfDApLzJ8MHwwKSw3MTY2OCk7ZT0wO3do
aWxlKDEpe2lmKChlfDApPT0oeHwwKSlicmVhayBlO2c9ZlsoZlsoZltNKyhlK3k8PDIpPj4yXXww
KSsxNj4+Ml18MCkrOTY+PjJdfDA7aWYoZ3wwKXRNKGEsZyk7ZT1lKzF8MH19d2hpbGUoMCk7eT12
fWU9KGZbVj4+Ml18MCkrMTkyfDA7d2hpbGUoMSl7Zz1mW2U+PjJdfDA7aWYoIWcpYnJlYWs7aD1n
KzE2fDA7ZT1mW2g+PjJdfDA7aWYoKGJbZSsxNTY+PjBdfDApPT0xPyhmW2UrMTA0Pj4yXXwwKSE9
MDowKXt6ZyhnKTt0TShhLGZbKGZbaD4+Ml18MCkrMTA0Pj4yXXwwKTtlPWZbaD4+Ml18MH1lPWUr
MTY0fDB9aWYoIWMpe2w9VztqPVd9ZWxzZXtEZyhhKTtsPVc7aj1XfX1mOmRvIGlmKChmWzQ4Mzg5
XXwwKSE9MHwoZls0ODM5MF18MCkhPTA/KGZbNDgzOTVdfDApIT0wfChmWzQ4Mzk0XXwwKSE9MDow
KXtpPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWkpYnJlYWsgZjtnOmRvIGlmKGZbNDgzODldfDApe2U9
UXgoYSxpKXwwO3doaWxlKDEpe2lmKCFlKWJyZWFrIGc7Zz1lKy00OHwwO2g9KGZbZT4+Ml0mM3ww
KT09Mj9lOmc7aWYoZlsoZltoKzE2Pj4yXXwwKSsxMDA+PjJdfDApe25MKGgsMSl8MDt0TShhLGZb
KGZbKChmW2U+PjJdJjN8MCk9PTI/ZTpnKSsxNj4+Ml18MCkrMTAwPj4yXXwwKX1lPVJ4KGEsZSl8
MH19d2hpbGUoMCk7aDpkbyBpZihmWzQ4MzkwXXwwKXtlPU54KGEsaSl8MDt3aGlsZSgxKXtpZigh
ZSlicmVhayBoO2c9ZSsxNnwwO2lmKGZbKGZbZz4+Ml18MCkrMTA0Pj4yXXwwP25MKGUsMCl8MDow
KXRNKGEsZlsoZltnPj4yXXwwKSsxMDQ+PjJdfDApO2U9UHgoYSxlKXwwfX13aGlsZSgwKTtpPWF6
KGEsaSl8MH19d2hpbGUoMCk7c3dpdGNoKFgmMTUpe2Nhc2UgNDpjYXNlIDg6YnJlYWs7ZGVmYXVs
dDp7TV8oayk7TV8oZltsKzg0Pj4yXXwwKTtNXyhqKTtNXyhmW1krMTY+PjJdfDApO0FKKCl9fWZb
NDgzMjldPTE7Zls0ODMzMF09MX13aGlsZSgwKTt0PVo7cmV0dXJufWZ1bmN0aW9uIHZnKGEpe2E9
YXwwO3ZhciBiPTAsYz0wLGQ9MC4wLGU9MDtiPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7
Yz1mW2IrMTY+PjJdfDA7aWYoZltjKzIwND4+Ml18MCl7ZT1jKzk2fDA7ZD0rcFtlPj4zXTtjPWMr
MjQwfDA7cFtlPj4zXT0rcFtjPj4zXTtwW2M+PjNdPWR9Yj1heihhLGIpfDB9cmV0dXJufWZ1bmN0
aW9uIHdnKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTA7Yz0oZlthKzE2Pj4yXXwwKSsxOTJ8
MDthOndoaWxlKDEpe2U9ZltjPj4yXXwwO2lmKCFlKXtjPTEyO2JyZWFrfWc9ZSsxNnwwO2M9Zltn
Pj4yXXwwO2RvIGlmKChiW2MrMTU2Pj4wXXwwKT09MSl7ZD1mW2MrMTEyPj4yXXwwO2lmKCFkKXtk
PWZbYysxMDQ+PjJdfDA7aWYoIWQpYnJlYWs7emcoZSk7Yz1kfWVsc2V7ZD1mWyhmW2QrMTY+PjJd
fDApKzk2Pj4yXXwwO2lmKCFkKXtjPTY7YnJlYWsgYX1lPWQrNTZ8MDtjPWMrMTZ8MDtmW2U+PjJd
PWZbYz4+Ml07ZltlKzQ+PjJdPWZbYys0Pj4yXTtmW2UrOD4+Ml09ZltjKzg+PjJdO2ZbZSsxMj4+
Ml09ZltjKzEyPj4yXTtiW2QrODE+PjBdPTE7Yz1kfXRNKGEsYyk7Yz1mW2c+PjJdfDB9d2hpbGUo
MCk7Yz1jKzE2NHwwfWlmKChjfDApPT02KXhhKDk3NTQ4LDk3MzYxLDIzNCw5NzU2Nyk7ZWxzZSBp
ZigoY3wwKT09MTIpcmV0dXJufWZ1bmN0aW9uIHhnKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHww
O2U9ZXwwO3ZhciBnPTA7ZG8gaWYoIWMpe2c9ZlthPj4yXSYzO2M9ZlsoKGd8MCk9PTM/YTphKzQ4
fDApKzQwPj4yXXwwO2c9ZlsoKGd8MCk9PTI/YTphKy00OHwwKSs0MD4+Ml18MDtpZigoY3wwKSE9
KGd8MCkpe2M9KGZbKGZbYysxNj4+Ml18MCkrMjMyPj4yXXwwKT09KGZbKGZbZysxNj4+Ml18MCkr
MjMyPj4yXXwwKT8yOjE7YnJlYWt9Yz1mW2ErMTY+PjJdfDA7aWYoIShiW2MrNDQ+PjBdfDApKWM9
KGJbYys4ND4+MF18MCk9PTA/ODo0O2Vsc2UgYz00fXdoaWxlKDApO2E6ZG8gaWYoIWQpc3dpdGNo
KGN8MCl7Y2FzZSAxOntkPWZbYT4+Ml0mMztkPShmWyhmWyhmWygoZHwwKT09Mz9hOmErNDh8MCkr
NDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApPChmWyhmWyhmWygoZHwwKT09Mj9hOmErLTQ4
fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKT8xNjozMjticmVhayBhfWNhc2UgMjp7
ZD1mW2E+PjJdJjM7ZD0oZlsoZlsoZlsoKGR8MCk9PTM/YTphKzQ4fDApKzQwPj4yXXwwKSsxNj4+
Ml18MCkrMjM2Pj4yXXwwKTwoZlsoZlsoZlsoKGR8MCk9PTI/YTphKy00OHwwKSs0MD4+Ml18MCkr
MTY+PjJdfDApKzIzNj4+Ml18MCk/MTY6MzI7YnJlYWsgYX1kZWZhdWx0OntkPTE2O2JyZWFrIGF9
fXdoaWxlKDApO2ZbKGZbYSsxNj4+Ml18MCkrMTY0Pj4yXT1jfGV8ZDtyZXR1cm59ZnVuY3Rpb24g
eWcoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxt
PTAsbj0wLG89MCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9
MCxEPTA7RD10O3Q9dCs2MjR8MDt6PUQrNTg0fDA7eT1EKzU0NHwwO3I9RCszNjh8MDtkPUQrMTky
fDA7cz1EKzk2fDA7dj1EO3U9cysxNnwwO2ZbdT4+Ml09cjt3PXYrMTZ8MDtmW3c+PjJdPWQ7Qz1m
W2E+PjJdfDA7Qj1mW2M+PjJdfDA7eD1DKzE2fDA7bj1mW3g+PjJdfDA7bz1mW24rMTY0Pj4yXXww
O2M9byYxNTtBPUIrMTZ8MDthPWZbQT4+Ml18MDtlPWZbYSsxNjQ+PjJdJjE1O2RvIGlmKChlfDAp
PT0oY3wwKSl7bT1BZyhDKXwwO3E9QWcoQil8MDtrPWZbbT4+Ml18MDtlPWsmMztjPWZbKGZbKChl
fDApPT0zP206bSs0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDA7ZT1mWyhmWygoZXwwKT09Mj9tOm0r
LTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MDtnPShmW2MrMjMyPj4yXXwwKS0oZltlKzIzMj4+Ml18
MCl8MDtsPWZbcT4+Ml18MDtqPWwmMztpPWZbKGZbKChqfDApPT0zP3E6cSs0OHwwKSs0MD4+Ml18
MCkrMTY+PjJdfDA7aj1mWyhmWygoanwwKT09Mj9xOnErLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18
MDtoPShmW2krMjMyPj4yXXwwKS0oZltqKzIzMj4+Ml18MCl8MDtnPShnfDApPi0xP2c6MC1nfDA7
aD0oaHwwKT4tMT9oOjAtaHwwO2lmKChnfDApIT0oaHwwKSl7YT1nLWh8MDticmVha31lPX5+KCtw
W2MrMTY+PjNdLStwW2UrMTY+PjNdKTtlPShlfDApPi0xP2U6MC1lfDA7Yz1+figrcFtpKzE2Pj4z
XS0rcFtqKzE2Pj4zXSk7Yz0oY3wwKT4tMT9jOjAtY3wwO2lmKChlfDApIT0oY3wwKSl7YT1lLWN8
MDticmVha31lPWs+Pj40O2M9bD4+PjQ7aWYoKGV8MCkhPShjfDApKXthPWUtY3wwO2JyZWFrfWlm
KCEoYltuKzQ0Pj4wXXwwKSl7Zz0oYltuKzg0Pj4wXXwwKT09MD9tOkM7Yz1nKzE2fDA7aD1jO2U9
YztjPWZbKGZbYz4+Ml18MCkrMTY0Pj4yXXwwfWVsc2V7aD14O2U9eDtjPW87Zz1DfWlmKCEoYyYz
MikpaD1nO2Vsc2V7UTMocnwwLGZbZT4+Ml18MCwxNzYpfDA7aT1zO2o9ZztrPWkrNDh8MDtkb3tm
W2k+PjJdPWZbaj4+Ml07aT1pKzR8MDtqPWorNHwwfXdoaWxlKChpfDApPChrfDApKTtmW3U+PjJd
PXI7aj1mW2c+PjJdJjM7aT1mW3M+PjJdJjM7ZlsoKGl8MCk9PTM/czpzKzQ4fDApKzQwPj4yXT1m
WygoanwwKT09Mj9nOmcrLTQ4fDApKzQwPj4yXTtmWygoaXwwKT09Mj9zOnMrLTQ4fDApKzQwPj4y
XT1mWygoanwwKT09Mz9nOmcrNDh8MCkrNDA+PjJdO2k9cisxNnwwO2o9KGZbaD4+Ml18MCkrNTZ8
MDtrPWkrNDB8MDtkb3tmW2k+PjJdPWZbaj4+Ml07aT1pKzR8MDtqPWorNHwwfXdoaWxlKChpfDAp
PChrfDApKTtpPXIrNTZ8MDtqPShmW2g+PjJdfDApKzE2fDA7az1pKzQwfDA7ZG97ZltpPj4yXT1m
W2o+PjJdO2k9aSs0fDA7aj1qKzR8MH13aGlsZSgoaXwwKTwoa3wwKSk7YltyKzExMj4+MF09MTtm
W3IrMTE2Pj4yXT1nO2g9czthPWZbQT4+Ml18MH1pZighKGJbYSs0ND4+MF18MCkpe2U9KGJbYSs4
ND4+MF18MCk9PTA/cTpCO2E9ZSsxNnwwO2M9YTtnPWE7YT1mW2E+PjJdfDB9ZWxzZXtjPUE7Zz1B
O2U9Qn1pZighKGZbYSsxNjQ+PjJdJjMyKSl7ZT1hKzE2fDA7ZD1hfWVsc2V7UTMoZHwwLGZbYz4+
Ml18MCwxNzYpfDA7aT12O2o9ZTtrPWkrNDh8MDtkb3tmW2k+PjJdPWZbaj4+Ml07aT1pKzR8MDtq
PWorNHwwfXdoaWxlKChpfDApPChrfDApKTtmW3c+PjJdPWQ7aT1mW2U+PjJdJjM7YT1mW3Y+PjJd
JjM7ZlsoKGF8MCk9PTM/djp2KzQ4fDApKzQwPj4yXT1mWygoaXwwKT09Mj9lOmUrLTQ4fDApKzQw
Pj4yXTtmWygoYXwwKT09Mj92OnYrLTQ4fDApKzQwPj4yXT1mWygoaXwwKT09Mz9lOmUrNDh8MCkr
NDA+PjJdO2E9ZCsxNnwwO2k9YTtqPShmW2c+PjJdfDApKzU2fDA7az1pKzQwfDA7ZG97ZltpPj4y
XT1mW2o+PjJdO2k9aSs0fDA7aj1qKzR8MH13aGlsZSgoaXwwKTwoa3wwKSk7aT1kKzU2fDA7aj0o
ZltnPj4yXXwwKSsxNnwwO2s9aSs0MHwwO2Rve2ZbaT4+Ml09ZltqPj4yXTtpPWkrNHwwO2o9ais0
fDB9d2hpbGUoKGl8MCk8KGt8MCkpO2JbZCsxMTI+PjBdPTE7ZltkKzExNj4+Ml09ZTtlPWF9Yz1m
W2grMTY+PjJdfDA7aT15O2o9YysxNnwwO2s9aSs0MHwwO2Rve2ZbaT4+Ml09ZltqPj4yXTtpPWkr
NHwwO2o9ais0fDB9d2hpbGUoKGl8MCk8KGt8MCkpO2k9ejtqPWU7az1pKzQwfDA7ZG97ZltpPj4y
XT1mW2o+PjJdO2k9aSs0fDA7aj1qKzR8MH13aGlsZSgoaXwwKTwoa3wwKSk7YT1zZyh5LHopfDA7
aWYoIWEpe2E9ZCs1NnwwO2k9eTtqPWMrNTZ8MDtrPWkrNDB8MDtkb3tmW2k+PjJdPWZbaj4+Ml07
aT1pKzR8MDtqPWorNHwwfXdoaWxlKChpfDApPChrfDApKTtpPXo7aj1hO2s9aSs0MHwwO2Rve2Zb
aT4+Ml09ZltqPj4yXTtpPWkrNHwwO2o9ais0fDB9d2hpbGUoKGl8MCk8KGt8MCkpO2E9c2coeSx6
KXwwO2lmKCFhKXtjPWZbKGZbeD4+Ml18MCkrMTY0Pj4yXSYxOTI7YT1mWyhmW0E+PjJdfDApKzE2
ND4+Ml0mMTkyO2lmKChjfDApPT0oYXwwKSl7YT0oKGZbQz4+Ml18MCk+Pj40KS0oKGZbQj4+Ml18
MCk+Pj40KXwwO2JyZWFrfWVsc2V7YT1jLWF8MDticmVha319fX1lbHNlIGE9ZS1jfDA7d2hpbGUo
MCk7dD1EO3JldHVybiBhfDB9ZnVuY3Rpb24gemcoYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9
MC4wLGg9MC4wO2U9YSsxNnwwO2M9ZltlPj4yXXwwO2lmKGZbYysxNzY+PjJdfDApe2M9ZltjKzE4
MD4+Ml18MDt3aGlsZSgxKXtjPShmW2M+PjJdfDApKzE2fDA7ZD1mW2M+PjJdfDA7aWYoIShiW2Qr
MTEyPj4wXXwwKSlicmVhaztlbHNlIGM9ZCsxMTZ8MH1kPWZbZCs5Nj4+Ml18MDtoPStwW2QrMjQ+
PjNdO2c9K3BbZCszMj4+M107ZD0obnooYSl8MCkrMTZ8MDthPWZbZT4+Ml18MDtlPWZbKGZbYz4+
Ml18MCkrOTY+PjJdfDA7cFtlKzU2Pj4zXT0oKGZbKGZbZD4+Ml18MCkrMTE2Pj4yXSYxfDApPT0w
P2g6ZykqLjUrICtwW2ErMTY+PjNdO3BbZSs2ND4+M109K3BbYSsyND4+M107YltlKzgxPj4wXT0x
fXJldHVybn1mdW5jdGlvbiBBZyhhKXthPWF8MDt2YXIgYj0wLGM9MDt3aGlsZSgxKXtiPWZbYSsx
Nj4+Ml18MDtjPWZbYisxNzI+PjJdfDA7aWYoIWMpYnJlYWs7ZWxzZSBhPWN9d2hpbGUoMSl7Yj1m
W2IrMTE2Pj4yXXwwO2lmKCFiKWJyZWFrO2E9YjtiPWZbYisxNj4+Ml18MH1yZXR1cm4gYXwwfWZ1
bmN0aW9uIEJnKGEsYyxkLGUsZyxoLGkpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO2g9
aHwwO2k9aXwwO3ZhciBqPTAsaz0wLjAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0wLHU9MCx2
PTAuMCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAuMCxEPTAuMCxFPTAuMCxGPTAuMCxHPTAu
MDtCPXQ7dD10KzE3MTJ8MDt4PUIrMTY2NHwwO3I9QisxNDg4fDA7cz1CKzEzOTJ8MDtBPUIrMTY5
NnwwO3k9Qis2OTZ8MDt6PUI7bj1zKzE2fDA7ZltuPj4yXT1yO289ZltlKyhnPDwyKT4+Ml18MDtx
PW8rMTZ8MDtqPWZbcT4+Ml18MDt1PWJbaisxMTM+PjBdfDA7aWYoZltqKzE2ND4+Ml0mMzIpe1Ez
KHJ8MCxqfDAsMTc2KXwwO2o9cztsPW87bT1qKzQ4fDA7ZG97ZltqPj4yXT1mW2w+PjJdO2o9ais0
fDA7bD1sKzR8MH13aGlsZSgoanwwKTwobXwwKSk7ZltuPj4yXT1yO2o9ZltzPj4yXSYzO2ZbKChq
fDApPT0zP3M6cys0OHwwKSs0MD4+Ml09ZlsoKGZbbz4+Ml0mM3wwKT09Mj9vOm8rLTQ4fDApKzQw
Pj4yXTtmWygoanwwKT09Mj9zOnMrLTQ4fDApKzQwPj4yXT1mWygoZltvPj4yXSYzfDApPT0zP286
bys0OHwwKSs0MD4+Ml07aj1yKzE2fDA7bD0oZltxPj4yXXwwKSs1NnwwO209ais0MHwwO2Rve2Zb
aj4+Ml09ZltsPj4yXTtqPWorNHwwO2w9bCs0fDB9d2hpbGUoKGp8MCk8KG18MCkpO2o9cis1Nnww
O2w9KGZbcT4+Ml18MCkrMTZ8MDttPWorNDB8MDtkb3tmW2o+PjJdPWZbbD4+Ml07aj1qKzR8MDts
PWwrNHwwfXdoaWxlKChqfDApPChtfDApKTtiW3IrMTEyPj4wXT0xO2ZbcisxMTY+PjJdPW87bz1z
fWo9MTt3aGlsZSgxKXtpZigoanwwKT49KGh8MCkpe3c9NjticmVha31pZighKGJbKGZbKGZbZSso
aitnPDwyKT4+Ml18MCkrMTY+PjJdfDApKzExMz4+MF18MCkpaj1qKzF8MDtlbHNle3c9NzticmVh
a319YTpkbyBpZigod3wwKT09NilpZighKHU8PDI0Pj4yNCkpe2o9ZltvKzE2Pj4yXXwwO2lmKGZb
ais5Nj4+Ml18MCl7JGcoYSxjLGQsbyxpKTticmVha31pZigoaXwwKT09Mil7QT1mW28+PjJdJjM7
YWgoZlsoKEF8MCk9PTM/bzpvKzQ4fDApKzQwPj4yXXwwLGZbKChBfDApPT0yP286bystNDh8MCkr
NDA+PjJdfDAsZSxnLGgsMik7YnJlYWt9cz1iW2orNDk+PjBdfDA7dT1iW2orODk+PjBdfDA7aWYo
IShzPDwyND4+MjQ9PTEmdTw8MjQ+PjI0IT00KT8hKHM8PDI0Pj4yNCE9NCZ1PDwyND4+MjQ9PTEp
OjApe249ZltvPj4yXSYzO209ZlsoKG58MCk9PTM/bzpvKzQ4fDApKzQwPj4yXXwwO249ZlsoKG58
MCk9PTI/bzpvKy00OHwwKSs0MD4+Ml18MDtqPWZbbSsxNj4+Ml18MDtsPWZbaisyMzI+PjJdfDA7
aWYoKGx8MCk+MCl7dT1mWyhmW2ErMTY+PjJdfDApKzE5Nj4+Ml18MDtzPWwrfihiWyhmWyhmW2Er
NjA+PjJdfDApKzE2Pj4yXXwwKSsxMTM+PjBdJjEpfDA7az0rcFsoZlsoZltmW3UrKHM8PDYpKzQ+
PjJdPj4yXXwwKSsxNj4+Ml18MCkrMjQ+PjNdLStwW3UrKHM8PDYpKzE2Pj4zXS0rcFtqKzI0Pj4z
XS0rcFt1KyhsPDw2KSsyND4+M119ZWxzZSBrPSsoZlsoZlthKzE2Pj4yXXwwKSsyNTI+PjJdfDAp
O0M9KyhoKzF8MCk7dj0rKGZbYysxMj4+Ml18MCkvQztrPWsvQztjaChhLGMsZCxtLG8seSwxKTtj
aChhLGMsZCxuLG8seiwwKTtyPXkrNTJ8MDtzPXorNTJ8MDtuPShpfDApPT0xMDtvPWQrODB8MDtq
PTA7d2hpbGUoMSl7aWYoKGp8MCk+PShofDApKWJyZWFrIGE7cT1mW2UrKGorZzw8Mik+PjJdfDA7
bT1mW3I+PjJdfDA7bD1tKy0xfDA7Rz0rcFt5KzU2KyhsPDw1KT4+M107Rj0rcFt5KzU2KyhsPDw1
KSsxNj4+M107RT0rcFt5KzU2KyhsPDw1KSsyND4+M107cFsxOTMxNl09RztwWzE5MzE3XT1FO2o9
aisxfDA7Qz0rKGp8MCk7RD12KkM7cFsxOTMxOF09RitEO0M9RStrKkM7cFsxOTMxOV09QztwWzE5
MzIwXT1HO3BbMTkzMjFdPUM7bD0oZltzPj4yXXwwKSstMXwwO0c9K3Bbeis1NisobDw8NSkrMTY+
PjNdO3BbMTkzMjJdPUc7cFsxOTMyM109QytrO0U9K3Bbeis1NisobDw8NSk+PjNdO0Y9K3Bbeis1
NisobDw8NSkrMjQ+PjNdO3BbMTkzMjZdPUc7cFsxOTMyNV09RjtwWzE5MzI0XT1FLUQ7cFsxOTMy
N109QztsPTA7d2hpbGUoMSl7aWYoKGx8MCk+PShtfDApKWJyZWFrO209eSs1NisobDw8NSl8MDtm
W3g+PjJdPWZbbT4+Ml07Zlt4KzQ+PjJdPWZbbSs0Pj4yXTtmW3grOD4+Ml09ZlttKzg+PjJdO2Zb
eCsxMj4+Ml09ZlttKzEyPj4yXTtmW3grMTY+PjJdPWZbbSsxNj4+Ml07Zlt4KzIwPj4yXT1mW20r
MjA+PjJdO2ZbeCsyND4+Ml09ZlttKzI0Pj4yXTtmW3grMjg+PjJdPWZbbSsyOD4+Ml07JEsoZCx4
KTtsPWwrMXwwO209ZltyPj4yXXwwfWw9MDt3aGlsZSgxKXtpZigobHwwKT09MylicmVhaztpPTE1
NDUyOCsobDw8NSl8MDtmW3g+PjJdPWZbaT4+Ml07Zlt4KzQ+PjJdPWZbaSs0Pj4yXTtmW3grOD4+
Ml09ZltpKzg+PjJdO2ZbeCsxMj4+Ml09ZltpKzEyPj4yXTtmW3grMTY+PjJdPWZbaSsxNj4+Ml07
Zlt4KzIwPj4yXT1mW2krMjA+PjJdO2ZbeCsyND4+Ml09ZltpKzI0Pj4yXTtmW3grMjg+PjJdPWZb
aSsyOD4+Ml07JEsoZCx4KTtsPWwrMXwwfW09ZltzPj4yXXwwO3doaWxlKDEpe2w9bSstMXwwO2lm
KChtfDApPD0wKWJyZWFrO209eis1NisobDw8NSl8MDtmW3g+PjJdPWZbbT4+Ml07Zlt4KzQ+PjJd
PWZbbSs0Pj4yXTtmW3grOD4+Ml09ZlttKzg+PjJdO2ZbeCsxMj4+Ml09ZlttKzEyPj4yXTtmW3gr
MTY+PjJdPWZbbSsxNj4+Ml07Zlt4KzIwPj4yXT1mW20rMjA+PjJdO2ZbeCsyND4+Ml09ZlttKzI0
Pj4yXTtmW3grMjg+PjJdPWZbbSsyOD4+Ml07JEsoZCx4KTttPWx9aWYobilsPUJKKGQsQSl8MDtl
bHNlIGw9SEooZCxBKXwwO209ZltBPj4yXXwwO2lmKCFtKWJyZWFrIGE7WksocSxmWygoZltxPj4y
XSYzfDApPT0yP3E6cSstNDh8MCkrNDA+PjJdfDAsbCxtLDcxNjY4KTtmW28+PjJdPTB9fWJoKGEs
YyxkLGUsZyxoLG8sKGl8MCk9PTEwJjEpfWVsc2Ugdz03O3doaWxlKDApO2lmKCh3fDApPT03KV9n
KGEsZSxnLGgsbyxpKTt0PUI7cmV0dXJufWZ1bmN0aW9uIENnKGEsYyxkLGUsZyxoLGkpe2E9YXww
O2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO2g9aHwwO2k9aXwwO3ZhciBqPTAsaz0wLjAsbD0wLG09
MCxuPTAsbz0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0w
LEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxRPTAs
Uj0wLFM9MCxUPTAsVT0wLFc9MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFhPTAsYmE9MCxjYT0wLGRh
PTA7Y2E9dDt0PXQrMjU3NnwwO1M9Y2ErMjUyOHwwOyQ9Y2ErMjU2OHwwO2o9Y2ErMjM1MnwwO2w9
Y2ErMjE3NnwwO3M9Y2ErMTkwNHwwO1o9Y2ErMTgwOHwwO2FhPWNhKzE3MTJ8MDtUPWNhKzEwMTZ8
MDtVPWNhKzMyMHwwO1c9Y2ErMjU2fDA7WT1jYSsyNTY0fDA7Xz1jYSsyNTYwfDA7ej1jYSsyODh8
MDtBPWNhKzIyNHwwO009Y2ErMTkyfDA7Tj1jYSsxNjB8MDtPPWNhKzEyOHwwO1A9Y2ErOTZ8MDtR
PWNhKzY0fDA7Uj1jYSszMnwwO1g9Y2E7cj1zKzE2fDA7ZltyPj4yXT1qO209WisxNnwwO2ZbbT4+
Ml09bDtiYT1hYSsxNnwwO2ZbYmE+PjJdPWNhKzJlMztpZighKGZbNDgxNDZdfDApKXtMPUVIKDMy
ZTMpfDA7Zls0ODE0Nl09TDtMPUVIKDMyZTMpfDA7Zls0ODE0N109TDtmWzQ4MTQ4XT0yZTM7Zls0
ODE0OV09MmUzfXU9ZltlKyhnPDwyKT4+Ml18MDtMPWZbdT4+Ml0mMztuPXUrNDh8MDtvPXUrLTQ4
fDA7TD0oZlsoZlsoZlsoKEx8MCk9PTM/dTpuKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18
MCktKGZbKGZbKGZbKChMfDApPT0yP3U6bykrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDAp
fDA7cT11KzE2fDA7aWYoKCgoTHwwKT4tMT9MOjAtTHwwKXwwKTw9MSl7aj1mW3E+PjJdfDA7aWYo
IShmW2orMTY0Pj4yXSYzMikpe0w9dTtsPTB9ZWxzZXtsPWZbcj4+Ml18MDtRMyhsfDAsanwwLDE3
Nil8MDt3PXM7eD11O3k9dys0OHwwO2Rve2Zbdz4+Ml09Zlt4Pj4yXTt3PXcrNHwwO3g9eCs0fDB9
d2hpbGUoKHd8MCk8KHl8MCkpO2Zbcj4+Ml09bDt3PWZbcz4+Ml0mMztmWygod3wwKT09Mz9zOnMr
NDh8MCkrNDA+PjJdPWZbKChmW3U+PjJdJjN8MCk9PTI/dTpvKSs0MD4+Ml07ZlsoKHd8MCk9PTI/
czpzKy00OHwwKSs0MD4+Ml09ZlsoKGZbdT4+Ml0mM3wwKT09Mz91Om4pKzQwPj4yXTt3PWwrMTZ8
MDt4PShmW3E+PjJdfDApKzU2fDA7eT13KzQwfDA7ZG97Zlt3Pj4yXT1mW3g+PjJdO3c9dys0fDA7
eD14KzR8MH13aGlsZSgod3wwKTwoeXwwKSk7aj1mW3I+PjJdfDA7dz1qKzU2fDA7eD0oZltxPj4y
XXwwKSsxNnwwO3k9dys0MHwwO2Rve2Zbdz4+Ml09Zlt4Pj4yXTt3PXcrNHwwO3g9eCs0fDB9d2hp
bGUoKHd8MCk8KHl8MCkpO2JbaisxMTI+PjBdPTE7bD0wO0s9MTJ9fWVsc2V7UTMoanwwLGZbcT4+
Ml18MCwxNzYpfDA7dz1zO3g9dTt5PXcrNDh8MDtkb3tmW3c+PjJdPWZbeD4+Ml07dz13KzR8MDt4
PXgrNHwwfXdoaWxlKCh3fDApPCh5fDApKTt3PXMrNDh8MDt4PW47eT13KzQ4fDA7ZG97Zlt3Pj4y
XT1mW3g+PjJdO3c9dys0fDA7eD14KzR8MH13aGlsZSgod3wwKTwoeXwwKSk7ZltyPj4yXT1qO2o9
ZltxPj4yXXwwO2lmKCEoZltqKzE2ND4+Ml0mMzIpKXtRMyhsfDAsanwwLDE3Nil8MDt3PVo7eD11
O3k9dys0OHwwO2Rve2Zbdz4+Ml09Zlt4Pj4yXTt3PXcrNHwwO3g9eCs0fDB9d2hpbGUoKHd8MCk8
KHl8MCkpO2ZbbT4+Ml09bDttPWZbcz4+Ml18MDtmWygobSYzfDApPT0zP3M6cys0OHwwKSs0MD4+
Ml09ZlsoKGZbdT4+Ml0mM3wwKT09Mz91Om4pKzQwPj4yXTt3PVorNDh8MDt4PW47eT13KzQ4fDA7
ZG97Zlt3Pj4yXT1mW3g+PjJdO3c9dys0fDA7eD14KzR8MH13aGlsZSgod3wwKTwoeXwwKSl9ZWxz
ZXtsPWZbbT4+Ml18MDtRMyhsfDAsanwwLDE3Nil8MDt3PVo7eD11O3k9dys0OHwwO2Rve2Zbdz4+
Ml09Zlt4Pj4yXTt3PXcrNHwwO3g9eCs0fDB9d2hpbGUoKHd8MCk8KHl8MCkpO2ZbbT4+Ml09bDt3
PWZbWj4+Ml0mMztmWygod3wwKT09Mz9aOlorNDh8MCkrNDA+PjJdPWZbKChmW3U+PjJdJjN8MCk9
PTI/dTpvKSs0MD4+Ml07ZlsoKHd8MCk9PTI/WjpaKy00OHwwKSs0MD4+Ml09ZlsoKGZbdT4+Ml0m
M3wwKT09Mz91Om4pKzQwPj4yXTt3PWwrMTZ8MDt4PShmW3E+PjJdfDApKzU2fDA7eT13KzQwfDA7
ZG97Zlt3Pj4yXT1mW3g+PjJdO3c9dys0fDA7eD14KzR8MH13aGlsZSgod3wwKTwoeXwwKSk7aj1m
W20+PjJdfDA7dz1qKzU2fDA7eD0oZltxPj4yXXwwKSsxNnwwO3k9dys0MHwwO2Rve2Zbdz4+Ml09
Zlt4Pj4yXTt3PXcrNHwwO3g9eCs0fDB9d2hpbGUoKHd8MCk8KHl8MCkpO2JbaisxMTI+PjBdPTE7
ZltqKzExNj4+Ml09dTttPWZbcz4+Ml18MDtmWygobSYzfDApPT0zP3M6cys0OHwwKSs0MD4+Ml09
ZlsoKGZbdT4+Ml0mM3wwKT09Mj91Om8pKzQwPj4yXTt3PShmW3I+PjJdfDApKzE2fDA7eD0oZltx
Pj4yXXwwKSs1NnwwO3k9dys0MHwwO2Rve2Zbdz4+Ml09Zlt4Pj4yXTt3PXcrNHwwO3g9eCs0fDB9
d2hpbGUoKHd8MCk8KHl8MCkpfWo9QWcodSl8MDt3aGlsZSgxKXtsPWZbKGZbaisxNj4+Ml18MCkr
MTcyPj4yXXwwO2lmKCFsKWJyZWFrO2Vsc2Ugaj1sfWZbKChtJjN8MCk9PTI/czpzKy00OHwwKSs0
MD4+Ml09ZlsoKGZbaj4+Ml0mM3wwKT09Mj9qOmorLTQ4fDApKzQwPj4yXTtqPWZbcj4+Ml18MDti
W2orODQ+PjBdPTA7YltqKzExMj4+MF09MTtsPWorNTZ8MDtmW2w+PjJdPTA7ZltsKzQ+PjJdPTA7
ZltsKzg+PjJdPTA7ZltsKzEyPj4yXT0wO2w9MTtLPTEyfWlmKChLfDApPT0xMil7ZltqKzExNj4+
Ml09dTtMPXN9ST0oaXwwKT09MjtpZihJPyh2PUdnKGEsTCxmWzQ4MTQ2XXwwLCQpfDAsZltfPj4y
XT12LCh2fDApIT0wKTowKUs9NjM7ZWxzZSBLPTE1O2E6ZG8gaWYoKEt8MCk9PTE1KXtIPShpfDAp
PT0xMDtmW18+PjJdPTA7bT1mW0w+PjJdJjM7aj1mWygobXwwKT09Mz9MOkwrNDh8MCkrNDA+PjJd
fDA7bT1mWygobXwwKT09Mj9MOkwrLTQ4fDApKzQwPj4yXXwwO2ZbJD4+Ml09bTtIZyh6LGEsYyxq
LDAsTCk7ZltUPj4yXT1mW3o+PjJdO2ZbVCs0Pj4yXT1mW3orND4+Ml07ZltUKzg+PjJdPWZbeis4
Pj4yXTtmW1QrMTI+PjJdPWZbeisxMj4+Ml07ZltUKzE2Pj4yXT1mW3orMTY+PjJdO2ZbVCsyMD4+
Ml09Zlt6KzIwPj4yXTtmW1QrMjQ+PjJdPWZbeisyND4+Ml07ZltUKzI4Pj4yXT1mW3orMjg+PjJd
O2ZbVz4+Ml09Zlt6Pj4yXTtmW1crND4+Ml09Zlt6KzQ+PjJdO2ZbVys4Pj4yXT1mW3orOD4+Ml07
ZltXKzEyPj4yXT1mW3orMTI+PjJdO2ZbVysxNj4+Ml09Zlt6KzE2Pj4yXTtmW1crMjA+PjJdPWZb
eisyMD4+Ml07YUwoZCxMLDEsVCxJZyhqKXwwKTtCPVQrNTJ8MDtDPShmW0I+PjJdfDApKy0xfDA7
RT1XKzI0fDA7cFtFPj4zXT0rcFtUKzU2KyhDPDw1KSsyND4+M107Rj1XKzh8MDtwW0Y+PjNdPStw
W1QrNTYrKEM8PDUpKzg+PjNdO0M9ZltqKzE2Pj4yXXwwO0c9YSsxNnwwO2s9K3BbQysyND4+M10t
K3BbKGZbKGZbRz4+Ml18MCkrMTk2Pj4yXXwwKSsoZltDKzIzMj4+Ml08PDYpKzE2Pj4zXTtmW1M+
PjJdPWZbVz4+Ml07ZltTKzQ+PjJdPWZbVys0Pj4yXTtmW1MrOD4+Ml09ZltXKzg+PjJdO2ZbUysx
Mj4+Ml09ZltXKzEyPj4yXTtmW1MrMTY+PjJdPWZbVysxNj4+Ml07ZltTKzIwPj4yXT1mW1crMjA+
PjJdO2ZbUysyND4+Ml09ZltXKzI0Pj4yXTtmW1MrMjg+PjJdPWZbVysyOD4+Ml07SmcoQSxTLDEs
ayk7ZltXPj4yXT1mW0E+PjJdO2ZbVys0Pj4yXT1mW0ErND4+Ml07ZltXKzg+PjJdPWZbQSs4Pj4y
XTtmW1crMTI+PjJdPWZbQSsxMj4+Ml07ZltXKzE2Pj4yXT1mW0ErMTY+PjJdO2ZbVysyMD4+Ml09
ZltBKzIwPj4yXTtmW1crMjQ+PjJdPWZbQSsyND4+Ml07ZltXKzI4Pj4yXT1mW0ErMjg+PjJdO0M9
VysxNnwwO2lmKCtwW1c+PjNdPCtwW0M+PjNdPytwW0Y+PjNdPCtwW0U+PjNdOjApe0o9ZltCPj4y
XXwwO2ZbQj4+Ml09SisxO0o9VCs1NisoSjw8NSl8MDtmW0o+PjJdPWZbVz4+Ml07ZltKKzQ+PjJd
PWZbVys0Pj4yXTtmW0orOD4+Ml09ZltXKzg+PjJdO2ZbSisxMj4+Ml09ZltXKzEyPj4yXTtmW0or
MTY+PjJdPWZbVysxNj4+Ml07ZltKKzIwPj4yXT1mW1crMjA+PjJdO2ZbSisyND4+Ml09ZltXKzI0
Pj4yXTtmW0orMjg+PjJdPWZbVysyOD4+Ml19eD1hKzYwfDA7RD1VKzUyfDA7eT1kKzU2fDA7aT1k
KzY5fDA7ej1kKzE2fDA7QT1kKzI5fDA7Sj1MO289MDtxPS0xO2I6d2hpbGUoMSl7dT1qO3Y9MDtq
PTA7dz1KO3doaWxlKDEpe249bTtyPW4rMTZ8MDtpZigoYlsoZltyPj4yXXwwKSsxNTY+PjBdfDAp
IT0xKWJyZWFrIGI7aWYoKHRiW2ZbNzE2NzI+PjJdJjYzXShuKXwwKTw8MjQ+PjI0KWJyZWFrIGI7
cz12fDE7ZGE9MTU0NTI4Kyh2PDw1KXwwO0tnKE0sYyxhLGZbKGZbdSsxNj4+Ml18MCkrMjMyPj4y
XXwwKTtmW2RhPj4yXT1mW00+PjJdO2ZbZGErND4+Ml09ZltNKzQ+PjJdO2ZbZGErOD4+Ml09ZltN
Kzg+PjJdO2ZbZGErMTI+PjJdPWZbTSsxMj4+Ml07ZltkYSsxNj4+Ml09ZltNKzE2Pj4yXTtmW2Rh
KzIwPj4yXT1mW00rMjA+PjJdO2ZbZGErMjQ+PjJdPWZbTSsyND4+Ml07ZltkYSsyOD4+Ml09ZltN
KzI4Pj4yXTtpZighail7bz1MZyhuKXwwO2o9KG98MCk8KChiWyhmWyhmW3g+PjJdfDApKzE2Pj4y
XXwwKSsxMTM+PjBdPDwxJjIpKzMmMjU1fDApO289aj9vOm8rLTJ8MDtxPWo/cToxO2o9KGpeMSkm
MX1pZighKChqfDApPT0wfChxfDApPjApKWJyZWFrO3M9MTU0NTI4KyhzPDw1KXwwO0hnKE4sYSxj
LG4sdyxmW2ZbKGZbcj4+Ml18MCkrMTgwPj4yXT4+Ml18MCk7ZltzPj4yXT1mW04+PjJdO2Zbcys0
Pj4yXT1mW04rND4+Ml07ZltzKzg+PjJdPWZbTis4Pj4yXTtmW3MrMTI+PjJdPWZbTisxMj4+Ml07
ZltzKzE2Pj4yXT1mW04rMTY+PjJdO2ZbcysyMD4+Ml09ZltOKzIwPj4yXTtmW3MrMjQ+PjJdPWZb
TisyND4+Ml07ZltzKzI4Pj4yXT1mW04rMjg+PjJdO3M9ZltmWyhmW20rMTY+PjJdfDApKzE4MD4+
Ml0+PjJdfDA7ZGE9ZltzPj4yXSYzO3U9ZlsoKGRhfDApPT0zP3M6cys0OHwwKSs0MD4+Ml18MDtk
YT1mWygoZGF8MCk9PTI/czpzKy00OHwwKSs0MD4+Ml18MDtmWyQ+PjJdPWRhO3Y9disyfDA7cT1x
Ky0xfDA7dz1zO209ZGF9SGcoTyxhLGMsbSx3LGZbZlsoZltyPj4yXXwwKSsxODA+PjJdPj4yXXww
KTtmW1U+PjJdPWZbTz4+Ml07ZltVKzQ+PjJdPWZbTys0Pj4yXTtmW1UrOD4+Ml09ZltPKzg+PjJd
O2ZbVSsxMj4+Ml09ZltPKzEyPj4yXTtmW1UrMTY+PjJdPWZbTysxNj4+Ml07ZltVKzIwPj4yXT1m
W08rMjA+PjJdO2ZbVSsyND4+Ml09ZltPKzI0Pj4yXTtmW1UrMjg+PjJdPWZbTysyOD4+Ml07ZEwo
ZCx3LDEsVSxJZyhmWygoZlt3Pj4yXSYzfDApPT0yP3c6dystNDh8MCkrNDA+PjJdfDApfDApO2Rh
PVUrNTYrKChmW0Q+PjJdfDApKy0xPDw1KXwwO3Y9bSsxNnwwO3U9Zlt2Pj4yXXwwO2s9K3BbKGZb
KGZbRz4+Ml18MCkrMTk2Pj4yXXwwKSsoZlt1KzIzMj4+Ml08PDYpKzI0Pj4zXSsgK3BbdSsyND4+
M107ZltTPj4yXT1mW2RhPj4yXTtmW1MrND4+Ml09ZltkYSs0Pj4yXTtmW1MrOD4+Ml09ZltkYSs4
Pj4yXTtmW1MrMTI+PjJdPWZbZGErMTI+PjJdO2ZbUysxNj4+Ml09ZltkYSsxNj4+Ml07ZltTKzIw
Pj4yXT1mW2RhKzIwPj4yXTtmW1MrMjQ+PjJdPWZbZGErMjQ+PjJdO2ZbUysyOD4+Ml09ZltkYSsy
OD4+Ml07SmcoVyxTLDQsayk7aWYoK3BbVz4+M108K3BbQz4+M10/K3BbRj4+M108K3BbRT4+M106
MCl7ZGE9ZltEPj4yXXwwO2ZbRD4+Ml09ZGErMTtkYT1VKzU2KyhkYTw8NSl8MDtmW2RhPj4yXT1m
W1c+PjJdO2ZbZGErND4+Ml09ZltXKzQ+PjJdO2ZbZGErOD4+Ml09ZltXKzg+PjJdO2ZbZGErMTI+
PjJdPWZbVysxMj4+Ml07ZltkYSsxNj4+Ml09ZltXKzE2Pj4yXTtmW2RhKzIwPj4yXT1mW1crMjA+
PjJdO2ZbZGErMjQ+PjJdPWZbVysyND4+Ml07ZltkYSsyOD4+Ml09ZltXKzI4Pj4yXX1wW3k+PjNd
PTEuNTcwNzk2MzI2Nzk0ODk2NjtiW2k+PjBdPTE7TWcoZCxKLHcsVCxVLHMpO2lmKCFIKXtqPUhK
KGQsWSl8MDttPWZbWT4+Ml18MDtpZihJJihtfDApPjQpe2RhPWorMzJ8MDttPWorKG0rLTE8PDQp
fDA7dz1qKzE2fDA7Zlt3Pj4yXT1mW2o+PjJdO2Zbdys0Pj4yXT1mW2orND4+Ml07Zlt3Kzg+PjJd
PWZbais4Pj4yXTtmW3crMTI+PjJdPWZbaisxMj4+Ml07ZltkYT4+Ml09ZlttPj4yXTtmW2RhKzQ+
PjJdPWZbbSs0Pj4yXTtmW2RhKzg+PjJdPWZbbSs4Pj4yXTtmW2RhKzEyPj4yXT1mW20rMTI+PjJd
O1IzKGorNDh8MCxtfDAsMTYpfDA7ZltZPj4yXT00O209NH1lbHNlIEs9MzN9ZWxzZXtqPUJKKGQs
WSl8MDttPWZbWT4+Ml18MDtLPTMzfWlmKChLfDApPT0zMyl7Sz0wO2lmKCFtKWJyZWFrIGF9dT1m
W18+PjJdfDA7bj11K218MDtpZigobnwwKT4oZls0ODE0OF18MCkpe2ZbNDgxNDhdPW48PDE7cz1H
SChmWzQ4MTQ2XXwwLG48PDUpfDA7Zls0ODE0Nl09czttPWZbWT4+Ml18MH1lbHNlIHM9Zls0ODE0
Nl18MDtyPTA7bj11O3doaWxlKDEpe2lmKChyfDApPj0obXwwKSlicmVhaztkYT1zKyhuPDw0KXww
O3c9aisocjw8NCl8MDtmW2RhPj4yXT1mW3c+PjJdO2ZbZGErND4+Ml09Zlt3KzQ+PjJdO2ZbZGEr
OD4+Ml09Zlt3Kzg+PjJdO2ZbZGErMTI+PjJdPWZbdysxMj4+Ml07cj1yKzF8MDtuPW4rMXwwfWZb
Xz4+Ml09bjttPU5nKGZbZlsoZlt2Pj4yXXwwKSsxODA+PjJdPj4yXXwwLG8scyxfKXwwO09nKEos
ZCk7bj1mW20+PjJdJjM7aj1mWygobnwwKT09Mz9tOm0rNDh8MCkrNDA+PjJdfDA7bj1mWygobnww
KT09Mj9tOm0rLTQ4fDApKzQwPj4yXXwwO2ZbJD4+Ml09bjtKPWorMTZ8MDtIZyhQLGEsYyxqLGZb
ZlsoZltKPj4yXXwwKSsxNzI+PjJdPj4yXXwwLG0pO2ZbVD4+Ml09ZltQPj4yXTtmW1QrND4+Ml09
ZltQKzQ+PjJdO2ZbVCs4Pj4yXT1mW1ArOD4+Ml07ZltUKzEyPj4yXT1mW1ArMTI+PjJdO2ZbVCsx
Nj4+Ml09ZltQKzE2Pj4yXTtmW1QrMjA+PjJdPWZbUCsyMD4+Ml07ZltUKzI0Pj4yXT1mW1ArMjQ+
PjJdO2ZbVCsyOD4+Ml09ZltQKzI4Pj4yXTthTChkLG0sMSxULElnKGopfDApO2RhPVQrNTYrKChm
W0I+PjJdfDApKy0xPDw1KXwwO0o9ZltKPj4yXXwwO2s9K3BbSisyND4+M10tK3BbKGZbKGZbRz4+
Ml18MCkrMTk2Pj4yXXwwKSsoZltKKzIzMj4+Ml08PDYpKzE2Pj4zXTtmW1M+PjJdPWZbZGE+PjJd
O2ZbUys0Pj4yXT1mW2RhKzQ+PjJdO2ZbUys4Pj4yXT1mW2RhKzg+PjJdO2ZbUysxMj4+Ml09Zltk
YSsxMj4+Ml07ZltTKzE2Pj4yXT1mW2RhKzE2Pj4yXTtmW1MrMjA+PjJdPWZbZGErMjA+PjJdO2Zb
UysyND4+Ml09ZltkYSsyND4+Ml07ZltTKzI4Pj4yXT1mW2RhKzI4Pj4yXTtKZyhXLFMsMSxrKTtp
ZigrcFtXPj4zXTwrcFtDPj4zXT8rcFtGPj4zXTwrcFtFPj4zXTowKXtkYT1mW0I+PjJdfDA7ZltC
Pj4yXT1kYSsxO2RhPVQrNTYrKGRhPDw1KXwwO2ZbZGE+PjJdPWZbVz4+Ml07ZltkYSs0Pj4yXT1m
W1crND4+Ml07ZltkYSs4Pj4yXT1mW1crOD4+Ml07ZltkYSsxMj4+Ml09ZltXKzEyPj4yXTtmW2Rh
KzE2Pj4yXT1mW1crMTY+PjJdO2ZbZGErMjA+PjJdPWZbVysyMD4+Ml07ZltkYSsyND4+Ml09ZltX
KzI0Pj4yXTtmW2RhKzI4Pj4yXT1mW1crMjg+PjJdfXBbej4+M109LTEuNTcwNzk2MzI2Nzk0ODk2
NjtiW0E+PjBdPTE7Sj1tO209bn1qPXZ8MTtxPTE1NDUyOCsodjw8NSl8MDtLZyhRLGMsYSxmWyhm
W3UrMTY+PjJdfDApKzIzMj4+Ml18MCk7ZltxPj4yXT1mW1E+PjJdO2ZbcSs0Pj4yXT1mW1ErND4+
Ml07ZltxKzg+PjJdPWZbUSs4Pj4yXTtmW3ErMTI+PjJdPWZbUSsxMj4+Ml07ZltxKzE2Pj4yXT1m
W1ErMTY+PjJdO2ZbcSsyMD4+Ml09ZltRKzIwPj4yXTtmW3ErMjQ+PjJdPWZbUSsyND4+Ml07Zltx
KzI4Pj4yXT1mW1ErMjg+PjJdO0hnKFIsYSxjLG0sdywwKTtmW1U+PjJdPWZbUj4+Ml07ZltVKzQ+
PjJdPWZbUis0Pj4yXTtmW1UrOD4+Ml09ZltSKzg+PjJdO2ZbVSsxMj4+Ml09ZltSKzEyPj4yXTtm
W1UrMTY+PjJdPWZbUisxNj4+Ml07ZltVKzIwPj4yXT1mW1IrMjA+PjJdO2ZbVSsyND4+Ml09ZltS
KzI0Pj4yXTtmW1UrMjg+PjJdPWZbUisyOD4+Ml07ZltXPj4yXT1mW1I+PjJdO2ZbVys0Pj4yXT1m
W1IrND4+Ml07ZltXKzg+PjJdPWZbUis4Pj4yXTtmW1crMTI+PjJdPWZbUisxMj4+Ml07ZltXKzE2
Pj4yXT1mW1IrMTY+PjJdO2ZbVysyMD4+Ml09ZltSKzIwPj4yXTtmW1crMjQ+PjJdPWZbUisyND4+
Ml07ZltXKzI4Pj4yXT1mW1IrMjg+PjJdO3E9KGx8MCkhPTA7cj13Ky00OHwwO2RMKGQscT9aOncs
MSxVLElnKGZbKChmW3c+PjJdJjN8MCk9PTI/dzpyKSs0MD4+Ml18MCl8MCk7ZGE9KGZbRD4+Ml18
MCkrLTF8MDtwW0U+PjNdPStwW1UrNTYrKGRhPDw1KSsyND4+M107cFtGPj4zXT0rcFtVKzU2Kyhk
YTw8NSkrOD4+M107ZGE9ZlttKzE2Pj4yXXwwO2s9K3BbKGZbKGZbRz4+Ml18MCkrMTk2Pj4yXXww
KSsoZltkYSsyMzI+PjJdPDw2KSsyND4+M10rICtwW2RhKzI0Pj4zXTtmW1M+PjJdPWZbVz4+Ml07
ZltTKzQ+PjJdPWZbVys0Pj4yXTtmW1MrOD4+Ml09ZltXKzg+PjJdO2ZbUysxMj4+Ml09ZltXKzEy
Pj4yXTtmW1MrMTY+PjJdPWZbVysxNj4+Ml07ZltTKzIwPj4yXT1mW1crMjA+PjJdO2ZbUysyND4+
Ml09ZltXKzI0Pj4yXTtmW1MrMjg+PjJdPWZbVysyOD4+Ml07SmcoWCxTLDQsayk7ZltXPj4yXT1m
W1g+PjJdO2ZbVys0Pj4yXT1mW1grND4+Ml07ZltXKzg+PjJdPWZbWCs4Pj4yXTtmW1crMTI+PjJd
PWZbWCsxMj4+Ml07ZltXKzE2Pj4yXT1mW1grMTY+PjJdO2ZbVysyMD4+Ml09ZltYKzIwPj4yXTtm
W1crMjQ+PjJdPWZbWCsyND4+Ml07ZltXKzI4Pj4yXT1mW1grMjg+PjJdO2lmKCtwW1c+PjNdPCtw
W0M+PjNdPytwW0Y+PjNdPCtwW0U+PjNdOjApe2RhPWZbRD4+Ml18MDtmW0Q+PjJdPWRhKzE7ZGE9
VSs1NisoZGE8PDUpfDA7ZltkYT4+Ml09ZltXPj4yXTtmW2RhKzQ+PjJdPWZbVys0Pj4yXTtmW2Rh
Kzg+PjJdPWZbVys4Pj4yXTtmW2RhKzEyPj4yXT1mW1crMTI+PjJdO2ZbZGErMTY+PjJdPWZbVysx
Nj4+Ml07ZltkYSsyMD4+Ml09ZltXKzIwPj4yXTtmW2RhKzI0Pj4yXT1mW1crMjQ+PjJdO2ZbZGEr
Mjg+PjJdPWZbVysyOD4+Ml19TWcoZCxKLHcsVCxVLGopO2lmKEgpbz1CSihkLFkpfDA7ZWxzZSBv
PUhKKGQsWSl8MDtqPWZbWT4+Ml18MDtpZighKEkmKGp8MCk+NCkpe2lmKCFqKWJyZWFrfWVsc2V7
ZGE9byszMnwwO2o9bysoaistMTw8NCl8MDtYPW8rMTZ8MDtmW1g+PjJdPWZbbz4+Ml07ZltYKzQ+
PjJdPWZbbys0Pj4yXTtmW1grOD4+Ml09ZltvKzg+PjJdO2ZbWCsxMj4+Ml09ZltvKzEyPj4yXTtm
W2RhPj4yXT1mW2o+PjJdO2ZbZGErND4+Ml09ZltqKzQ+PjJdO2ZbZGErOD4+Ml09ZltqKzg+PjJd
O2ZbZGErMTI+PjJdPWZbaisxMj4+Ml07UjMobys0OHwwLGp8MCwxNil8MDtmW1k+PjJdPTQ7aj00
fW09ZltfPj4yXXwwO2w9bStqfDA7aWYoKGx8MCk+KGZbNDgxNDhdfDApKXtmWzQ4MTQ4XT1sPDwx
O249R0goZls0ODE0Nl18MCxsPDw1KXwwO2ZbNDgxNDZdPW47aj1mW1k+PjJdfDB9ZWxzZSBuPWZb
NDgxNDZdfDA7bD0wO3doaWxlKDEpe2lmKChsfDApPj0oanwwKSlicmVhaztkYT1uKyhtPDw0KXww
O1k9bysobDw8NCl8MDtmW2RhPj4yXT1mW1k+PjJdO2ZbZGErND4+Ml09ZltZKzQ+PjJdO2ZbZGEr
OD4+Ml09ZltZKzg+PjJdO2ZbZGErMTI+PjJdPWZbWSsxMj4+Ml07bD1sKzF8MDttPW0rMXwwfWZb
Xz4+Ml09bTtPZyhKLGQpO2lmKHEpaj0oZltaPj4yXSYzfDApPT0yP1o6WistNDh8MDtlbHNlIGo9
KGZbdz4+Ml0mM3wwKT09Mj93OnI7ZlskPj4yXT1mW2orNDA+PjJdO3Y9bTtLPTYzfXdoaWxlKDAp
O2M6ZG8gaWYoKEt8MCk9PTYzKXtpZigoaHwwKT09MSl7WksoTCxmWyQ+PjJdfDAsZls0ODE0Nl18
MCx2LDcxNjY4KTticmVha31zPWMrMTJ8MDt1PXYrLTF8MDtrPSsoKFYoZltzPj4yXXwwLGgrLTF8
MCl8MCkvMnwwfDApO2w9Zls0ODE0Nl18MDtqPTE7d2hpbGUoMSl7aWYoKGp8MCk+PSh1fDApKWJy
ZWFrO2RhPWwrKGo8PDQpfDA7cFtkYT4+M109K3BbZGE+PjNdLWs7aj1qKzF8MH1qPWZbNDgxNDhd
fDA7aWYoKGp8MCk+KGZbNDgxNDldfDApKXtmWzQ4MTQ5XT1qO209R0goZls0ODE0N118MCxqPDw0
KXwwO2ZbNDgxNDddPW07bD1mWzQ4MTQ2XXwwfWVsc2UgbT1mWzQ4MTQ3XXwwO2o9MDt3aGlsZSgx
KXtpZigoanwwKT49KHZ8MCkpYnJlYWs7ZGE9bSsoajw8NCl8MDtjPWwrKGo8PDQpfDA7ZltkYT4+
Ml09ZltjPj4yXTtmW2RhKzQ+PjJdPWZbYys0Pj4yXTtmW2RhKzg+PjJdPWZbYys4Pj4yXTtmW2Rh
KzEyPj4yXT1mW2MrMTI+PjJdO2o9aisxfDB9WksoTCxmWyQ+PjJdfDAsbSx2LDcxNjY4KTtxPWFh
KzQ4fDA7cj1hYSstNDh8MDtvPTE7d2hpbGUoMSl7aWYoKG98MCk+PShofDApKWJyZWFrIGM7bT1m
W2UrKG8rZzw8Mik+PjJdfDA7bj1tKzE2fDA7aj1mW24+PjJdfDA7aWYoZltqKzE2ND4+Ml0mMzIp
e2w9ZltiYT4+Ml18MDtRMyhsfDAsanwwLDE3Nil8MDt3PWFhO3g9bTt5PXcrNDh8MDtkb3tmW3c+
PjJdPWZbeD4+Ml07dz13KzR8MDt4PXgrNHwwfXdoaWxlKCh3fDApPCh5fDApKTtmW2JhPj4yXT1s
O3c9ZlthYT4+Ml0mMztmWygod3wwKT09Mz9hYTpxKSs0MD4+Ml09ZlsoKGZbbT4+Ml0mM3wwKT09
Mj9tOm0rLTQ4fDApKzQwPj4yXTtmWygod3wwKT09Mj9hYTpyKSs0MD4+Ml09ZlsoKGZbbT4+Ml0m
M3wwKT09Mz9tOm0rNDh8MCkrNDA+PjJdO3c9bCsxNnwwO3g9KGZbbj4+Ml18MCkrNTZ8MDt5PXcr
NDB8MDtkb3tmW3c+PjJdPWZbeD4+Ml07dz13KzR8MDt4PXgrNHwwfXdoaWxlKCh3fDApPCh5fDAp
KTtqPWZbYmE+PjJdfDA7dz1qKzU2fDA7eD0oZltuPj4yXXwwKSsxNnwwO3k9dys0MHwwO2Rve2Zb
dz4+Ml09Zlt4Pj4yXTt3PXcrNHwwO3g9eCs0fDB9d2hpbGUoKHd8MCk8KHl8MCkpO2JbaisxMTI+
PjBdPTE7ZltqKzExNj4+Ml09bTttPWFhfW49Zls0ODE0Nl18MDtqPTE7d2hpbGUoMSl7aWYoKGp8
MCk+PSh1fDApKWJyZWFrO2RhPW4rKGo8PDQpfDA7cFtkYT4+M109K3BbZGE+PjNdKyArKGZbcz4+
Ml18MCk7aj1qKzF8MH1sPWZbNDgxNDddfDA7aj0wO3doaWxlKDEpe2lmKChqfDApPj0odnwwKSli
cmVhaztkYT1sKyhqPDw0KXwwOyQ9bisoajw8NCl8MDtmW2RhPj4yXT1mWyQ+PjJdO2ZbZGErND4+
Ml09ZlskKzQ+PjJdO2ZbZGErOD4+Ml09ZlskKzg+PjJdO2ZbZGErMTI+PjJdPWZbJCsxMj4+Ml07
aj1qKzF8MH1aSyhtLGZbKChmW20+PjJdJjN8MCk9PTI/bTptKy00OHwwKSs0MD4+Ml18MCxsLHYs
NzE2NjgpO289bysxfDB9fXdoaWxlKDApO3Q9Y2E7cmV0dXJufWZ1bmN0aW9uIERnKGEpe2E9YXww
O3ZhciBiPTAsYz0wLGQ9MDtiPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7Yz1OeChhLGIp
fDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7aWYoKHRiW2ZbMTc5MTddJjYzXShjKXwwKTw8MjQ+PjI0
PyhkPWZbKGZbYysxNj4+Ml18MCkrOD4+Ml18MCxkfDApOjApRWcoZCk7Yz1QeChhLGMpfDB9Yj1h
eihhLGIpfDB9cmV0dXJufWZ1bmN0aW9uIEVnKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAs
Zz0wO2U9ZlthKzQ+PjJdfDA7Zz1FSChlKjQ4fDApfDA7Yj1nO2M9MDtkPShmW2E+PjJdfDApKygo
ZSstMXwwKSo0OHwwKXwwO3doaWxlKDEpe2lmKChjfDApPj0oZXwwKSlicmVhaztGZyhkLGIpO2I9
Yis0OHwwO2M9YysxfDA7ZD1kKy00OHwwfWI9MDt3aGlsZSgxKXtjPWZbYT4+Ml18MDtpZigoYnww
KT49KGV8MCkpYnJlYWs7TV8oZltjKyhiKjQ4fDApPj4yXXwwKTtiPWIrMXwwfU1fKGMpO2ZbYT4+
Ml09ZztyZXR1cm59ZnVuY3Rpb24gRmcoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAs
Zz0wLGg9MDtnPWZbYSs0Pj4yXXwwO2g9RUgoZzw8NCl8MDtjPWg7ZD0wO2U9KGZbYT4+Ml18MCkr
KGcrLTE8PDQpfDA7d2hpbGUoMSl7aWYoKGR8MCk+PShnfDApKWJyZWFrO2ZbYz4+Ml09ZltlPj4y
XTtmW2MrND4+Ml09ZltlKzQ+PjJdO2ZbYys4Pj4yXT1mW2UrOD4+Ml07ZltjKzEyPj4yXT1mW2Ur
MTI+PjJdO2M9YysxNnwwO2Q9ZCsxfDA7ZT1lKy0xNnwwfWZbYj4+Ml09aDtmW2IrND4+Ml09Zztm
W2IrOD4+Ml09ZlthKzEyPj4yXTtmW2IrMTI+PjJdPWZbYSs4Pj4yXTtoPWIrMTZ8MDtnPWErMzJ8
MDtmW2g+PjJdPWZbZz4+Ml07ZltoKzQ+PjJdPWZbZys0Pj4yXTtmW2grOD4+Ml09ZltnKzg+PjJd
O2ZbaCsxMj4+Ml09ZltnKzEyPj4yXTtoPWIrMzJ8MDtnPWErMTZ8MDtmW2g+PjJdPWZbZz4+Ml07
ZltoKzQ+PjJdPWZbZys0Pj4yXTtmW2grOD4+Ml09ZltnKzg+PjJdO2ZbaCsxMj4+Ml09ZltnKzEy
Pj4yXTtyZXR1cm59ZnVuY3Rpb24gR2coYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7
dmFyIGc9MCxoPTAuMCxpPTAuMCxqPTAuMCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0w
LHU9MCx2PTAsdz0wLHg9MCx5PTA7eD10O3Q9dCs5NnwwO289eCs4MHwwO3I9eCs2NHwwO3E9eCs0
OHwwO3U9eCszMnwwO3Y9eCsxNnwwO3c9eDtrPWM7d2hpbGUoMSl7cz1rKzE2fDA7Zz1mW3M+PjJd
fDA7aWYoIShiW2crMTEyPj4wXXwwKSlicmVhaztrPWZbZysxMTY+PjJdfDB9Zz1mW2s+PjJdJjM7
bT1mWygoZ3wwKT09Mj9rOmsrLTQ4fDApKzQwPj4yXXwwO2c9ZlsoKGd8MCk9PTM/azprKzQ4fDAp
KzQwPj4yXXwwO2s9bSsxNnwwO2w9ZysxNnwwO3k9KGZbKGZbaz4+Ml18MCkrMjMyPj4yXXwwKS0o
ZlsoZltsPj4yXXwwKSsyMzI+PjJdfDApfDA7c3dpdGNoKCgoeXwwKT4tMT95OjAteXwwKXwwKXtj
YXNlIDE6e2c9MDticmVha31jYXNlIDI6e2lmKCEoYlsoZlsoZlthKzYwPj4yXXwwKSsxNj4+Ml18
MCkrMTEzPj4wXSYxKSluPTY7ZWxzZSBnPTA7YnJlYWt9ZGVmYXVsdDpuPTZ9ZG8gaWYoKG58MCk9
PTYpe2lmKChmWygoZltjPj4yXSYzfDApPT0zP2M6Yys0OHwwKSs0MD4+Ml18MCk9PShnfDApKXtm
W2U+PjJdPW07eT0oZltsPj4yXXwwKSsxNnwwO249KGZbcz4+Ml18MCkrMTZ8MDtmW3I+PjJdPWZb
eT4+Ml07ZltyKzQ+PjJdPWZbeSs0Pj4yXTtmW3IrOD4+Ml09Zlt5Kzg+PjJdO2ZbcisxMj4+Ml09
Zlt5KzEyPj4yXTtmW28+PjJdPWZbbj4+Ml07ZltvKzQ+PjJdPWZbbis0Pj4yXTtmW28rOD4+Ml09
ZltuKzg+PjJdO2ZbbysxMj4+Ml09ZltuKzEyPj4yXTtZZyh1LHIsbyk7bj0oZltrPj4yXXwwKSsx
NnwwO3k9KGZbcz4+Ml18MCkrNTZ8MDtmW3I+PjJdPWZbbj4+Ml07ZltyKzQ+PjJdPWZbbis0Pj4y
XTtmW3IrOD4+Ml09ZltuKzg+PjJdO2ZbcisxMj4+Ml09ZltuKzEyPj4yXTtmW28+PjJdPWZbeT4+
Ml07ZltvKzQ+PjJdPWZbeSs0Pj4yXTtmW28rOD4+Ml09Zlt5Kzg+PjJdO2ZbbysxMj4+Ml09Zlt5
KzEyPj4yXTtZZyh2LHIsbyl9ZWxzZXtmW2U+PjJdPWc7eT0oZltrPj4yXXwwKSsxNnwwO249KGZb
cz4+Ml18MCkrNTZ8MDtmW3I+PjJdPWZbeT4+Ml07ZltyKzQ+PjJdPWZbeSs0Pj4yXTtmW3IrOD4+
Ml09Zlt5Kzg+PjJdO2ZbcisxMj4+Ml09Zlt5KzEyPj4yXTtmW28+PjJdPWZbbj4+Ml07ZltvKzQ+
PjJdPWZbbis0Pj4yXTtmW28rOD4+Ml09ZltuKzg+PjJdO2ZbbysxMj4+Ml09ZltuKzEyPj4yXTtZ
Zyh1LHIsbyk7bj0oZltsPj4yXXwwKSsxNnwwO3k9KGZbcz4+Ml18MCkrMTZ8MDtmW3I+PjJdPWZb
bj4+Ml07ZltyKzQ+PjJdPWZbbis0Pj4yXTtmW3IrOD4+Ml09ZltuKzg+PjJdO2ZbcisxMj4+Ml09
ZltuKzEyPj4yXTtmW28+PjJdPWZbeT4+Ml07ZltvKzQ+PjJdPWZbeSs0Pj4yXTtmW28rOD4+Ml09
Zlt5Kzg+PjJdO2ZbbysxMj4+Ml09Zlt5KzEyPj4yXTtZZyh2LHIsbyl9Zz1mWyhmW3M+PjJdfDAp
Kzk2Pj4yXXwwO2lmKCFnKXtnPWQrMTZ8MDtmW2Q+PjJdPWZbdT4+Ml07ZltkKzQ+PjJdPWZbdSs0
Pj4yXTtmW2QrOD4+Ml09Zlt1Kzg+PjJdO2ZbZCsxMj4+Ml09Zlt1KzEyPj4yXTtmW2c+PjJdPWZb
dT4+Ml07ZltnKzQ+PjJdPWZbdSs0Pj4yXTtmW2crOD4+Ml09Zlt1Kzg+PjJdO2ZbZysxMj4+Ml09
Zlt1KzEyPj4yXTtnPWQrNDh8MDt5PWQrMzJ8MDtmW3k+PjJdPWZbdj4+Ml07Zlt5KzQ+PjJdPWZb
dis0Pj4yXTtmW3krOD4+Ml09Zlt2Kzg+PjJdO2ZbeSsxMj4+Ml09Zlt2KzEyPj4yXTtmW2c+PjJd
PWZbdj4+Ml07ZltnKzQ+PjJdPWZbdis0Pj4yXTtmW2crOD4+Ml09Zlt2Kzg+PjJdO2ZbZysxMj4+
Ml09Zlt2KzEyPj4yXTtnPTQ7YnJlYWt9aT0rcFtnKzI0Pj4zXTtoPStwW2crMzI+PjNdO249KG56
KG0pfDApKzE2fDA7bj0oZlsoZltuPj4yXXwwKSsxMTY+PjJdJjF8MCk9PTA7aj1uP2g6aTt5PShm
WyhmW3M+PjJdfDApKzk2Pj4yXXwwKSs1NnwwO2Zbdz4+Ml09Zlt5Pj4yXTtmW3crND4+Ml09Zlt5
KzQ+PjJdO2Zbdys4Pj4yXT1mW3krOD4+Ml07Zlt3KzEyPj4yXT1mW3krMTI+PjJdO2ZbcT4+Ml09
Zlt2Pj4yXTtmW3ErND4+Ml09Zlt2KzQ+PjJdO2ZbcSs4Pj4yXT1mW3YrOD4+Ml07ZltxKzEyPj4y
XT1mW3YrMTI+PjJdO2Zbcj4+Ml09Zlt1Pj4yXTtmW3IrND4+Ml09Zlt1KzQ+PjJdO2Zbcis4Pj4y
XT1mW3UrOD4+Ml07ZltyKzEyPj4yXT1mW3UrMTI+PjJdO2Zbbz4+Ml09Zlt5Pj4yXTtmW28rND4+
Ml09Zlt5KzQ+PjJdO2Zbbys4Pj4yXT1mW3krOD4+Ml07ZltvKzEyPj4yXT1mW3krMTI+PjJdO3k9
KFpnKHEscixvKXwwKT09MDtoPShuP2k6aCkqLjU7aT0rcFt3Pj4zXTtpZih5KXtwW3c+PjNdPWkt
aDt5PXcrOHwwO3BbeT4+M109K3BbeT4+M10raiouNX1lbHNle3Bbdz4+M109aStoO3k9dys4fDA7
cFt5Pj4zXT0rcFt5Pj4zXS1qKi41fWc9ZCsxNnwwO2ZbZD4+Ml09Zlt1Pj4yXTtmW2QrND4+Ml09
Zlt1KzQ+PjJdO2ZbZCs4Pj4yXT1mW3UrOD4+Ml07ZltkKzEyPj4yXT1mW3UrMTI+PjJdO2ZbZz4+
Ml09Zlt1Pj4yXTtmW2crND4+Ml09Zlt1KzQ+PjJdO2ZbZys4Pj4yXT1mW3UrOD4+Ml07ZltnKzEy
Pj4yXT1mW3UrMTI+PjJdO2c9ZCszMnwwO3k9ZCs0OHwwO3U9ZCs2NHwwO2ZbdT4+Ml09Zlt3Pj4y
XTtmW3UrND4+Ml09Zlt3KzQ+PjJdO2ZbdSs4Pj4yXT1mW3crOD4+Ml07Zlt1KzEyPj4yXT1mW3cr
MTI+PjJdO2ZbeT4+Ml09Zlt3Pj4yXTtmW3krND4+Ml09Zlt3KzQ+PjJdO2ZbeSs4Pj4yXT1mW3cr
OD4+Ml07Zlt5KzEyPj4yXT1mW3crMTI+PjJdO2ZbZz4+Ml09Zlt3Pj4yXTtmW2crND4+Ml09Zlt3
KzQ+PjJdO2ZbZys4Pj4yXT1mW3crOD4+Ml07ZltnKzEyPj4yXT1mW3crMTI+PjJdO2c9ZCs4MHww
O3k9ZCs5NnwwO2ZbeT4+Ml09Zlt2Pj4yXTtmW3krND4+Ml09Zlt2KzQ+PjJdO2ZbeSs4Pj4yXT1m
W3YrOD4+Ml07Zlt5KzEyPj4yXT1mW3YrMTI+PjJdO2ZbZz4+Ml09Zlt2Pj4yXTtmW2crND4+Ml09
Zlt2KzQ+PjJdO2ZbZys4Pj4yXT1mW3YrOD4+Ml07ZltnKzEyPj4yXT1mW3YrMTI+PjJdO2c9N313
aGlsZSgwKTt0PXg7cmV0dXJuIGd8MH1mdW5jdGlvbiBIZyhhLGMsZCxlLGcsaCl7YT1hfDA7Yz1j
fDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7aD1ofDA7dmFyIGk9MC4wLGo9MCxrPTAsbD0wLjAsbT0wLG49
MC4wLG89MC4wLHE9MDtxPWZbZSsxNj4+Ml18MDtvPStwW3ErMTY+PjNdO2k9by0rcFtxKzg4Pj4z
XTtsPWkrLTQuMDtrPVVnKGMsZSxnLGgsLTEpfDA7aWYoIWspe209fn4oaSsobD49MC4wPy0zLjU6
LTQuNSkpO2o9ZltkPj4yXXwwO2o9KGp8MCk+KG18MCk/bTpqfWVsc2V7aj1WZyhjLGUsayl8MDtk
byBpZighail7bT1mW2srMTY+PjJdfDA7aT0rcFttKzI0MD4+M10rICtwW20rMTY+PjNdO2lmKCEo
YlttKzE1Nj4+MF18MCkpe2k9KyhmWyhmW2MrMTY+PjJdfDApKzI0OD4+Ml18MCkqLjUraTticmVh
a31lbHNle2k9aSsgKyhmW2QrOD4+Ml18MCk7YnJlYWt9fWVsc2UgaT0rcFsoZltqKzE2Pj4yXXww
KSszMj4+M10rICsoZltkKzg+PjJdfDApO3doaWxlKDApO249aTxsP2k6bDtqPX5+KG4rKG4+PTAu
MD8uNTotLjUpKX1uPSsoanwwKTttPShiW3ErMTU2Pj4wXXwwKT09MTtpZihtPyhmW3ErMTA0Pj4y
XXwwKSE9MDowKWw9bysxMC4wO2Vsc2UgbD1vKzQuMCsgK3BbcSs5Nj4+M107az1VZyhjLGUsZyxo
LDEpfDA7aWYoIWspe2U9fn4obCsobD49MC4wPy41Oi0uNSkpO2o9ZltkKzQ+PjJdfDA7aj0oanww
KTwoZXwwKT9lOmp9ZWxzZXtqPVZnKGMsZSxrKXwwO2RvIGlmKCFqKXtlPWZbaysxNj4+Ml18MDtp
PStwW2UrMTY+PjNdLStwW2UrODg+PjNdO2lmKCEoYltlKzE1Nj4+MF18MCkpe2k9aS0rKGZbKGZb
YysxNj4+Ml18MCkrMjQ4Pj4yXXwwKSouNTticmVha31lbHNle2k9aS0rKGZbZCs4Pj4yXXwwKTti
cmVha319ZWxzZSBpPStwWyhmW2orMTY+PjJdfDApKzE2Pj4zXS0rKGZbZCs4Pj4yXXwwKTt3aGls
ZSgwKTtsPWk+bD9pOmw7aj1+fihsKyhsPj0wLjA/LjU6LS41KSl9aT0rKGp8MCk7aWYobT8oZltx
KzEwND4+Ml18MCkhPTA6MCl7aT1pLStwW3ErOTY+PjNdO2lmKGk8bilpPW99bz0rcFtxKzI0Pj4z
XTtjPWZbKGZbYysxNj4+Ml18MCkrMTk2Pj4yXXwwO3E9ZltxKzIzMj4+Ml18MDtsPW8tK3BbYyso
cTw8NikrMTY+PjNdO289K3BbYysocTw8NikrMjQ+PjNdK287cFthPj4zXT1uO3BbYSs4Pj4zXT1s
O3BbYSsxNj4+M109aTtwW2ErMjQ+PjNdPW87cmV0dXJufWZ1bmN0aW9uIElnKGEpe2E9YXwwO2E9
ZlthKzE2Pj4yXXwwO2lmKChiW2ErMTU2Pj4wXXwwKT09MSlpZigoZlthKzE3Nj4+Ml18MCk+MSlh
PTE7ZWxzZSBhPShmW2ErMTg0Pj4yXXwwKT4xJjE7ZWxzZSBhPTA7cmV0dXJuIGF8MH1mdW5jdGlv
biBKZyhhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPStkO3ZhciBlPTAsZz0wO2c9dDt0PXQr
MzJ8MDtlPWc7c3dpdGNoKGN8MCl7Y2FzZSAxOntUZyhlLCtwW2I+PjNdLGQsK3BbYisxNj4+M10s
K3BbYis4Pj4zXSk7YnJlYWt9Y2FzZSA0OntUZyhlLCtwW2I+PjNdLCtwW2IrMjQ+PjNdLCtwW2Ir
MTY+PjNdLGQpO2JyZWFrfWRlZmF1bHQ6e319ZlthPj4yXT1mW2U+PjJdO2ZbYSs0Pj4yXT1mW2Ur
ND4+Ml07ZlthKzg+PjJdPWZbZSs4Pj4yXTtmW2ErMTI+PjJdPWZbZSsxMj4+Ml07ZlthKzE2Pj4y
XT1mW2UrMTY+PjJdO2ZbYSsyMD4+Ml09ZltlKzIwPj4yXTtmW2ErMjQ+PjJdPWZbZSsyND4+Ml07
ZlthKzI4Pj4yXT1mW2UrMjg+PjJdO3Q9ZztyZXR1cm59ZnVuY3Rpb24gS2coYSxiLGMsZCl7YT1h
fDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MC4wLGc9MC4wLGg9MC4wLGk9MC4wLGo9MCxrPTAs
bD0wLG09MCxuPTA7az1mW2IrMTY+PjJdfDA7aj1rKyhkPDw1KXwwO2k9K3Bbaj4+M107bD1rKyhk
PDw1KSs4fDA7Zz0rcFtsPj4zXTttPWsrKGQ8PDUpKzE2fDA7ZT0rcFttPj4zXTtrPWsrKGQ8PDUp
KzI0fDA7aD0rcFtrPj4zXTtpZihpPT1lKXtjPWZbKGZbYysxNj4+Ml18MCkrMTk2Pj4yXXwwO249
ZCsxfDA7aT0rKGZbYj4+Ml18MCk7Zz0rcFtjKyhuPDw2KSsyND4+M10rICtwWyhmWyhmW2ZbYyso
bjw8NikrND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyND4+M107ZT0rKGZbYis0Pj4yXXwwKTtoPStw
WyhmWyhmW2ZbYysoZDw8NikrND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyND4+M10tK3BbYysoZDw8
NikrMTY+PjNdO3Bbaj4+M109aTtwW2w+PjNdPWc7cFttPj4zXT1lO3Bbaz4+M109aH1wW2E+PjNd
PWk7cFthKzg+PjNdPWc7cFthKzE2Pj4zXT1lO3BbYSsyND4+M109aDtyZXR1cm59ZnVuY3Rpb24g
TGcoYSl7YT1hfDA7dmFyIGM9MCxkPTA7YT1mW2ErMTY+PjJdfDA7ZD1hKzE2fDA7Yz0wO3doaWxl
KDEpe2E9ZltmW2ErMTgwPj4yXT4+Ml18MDthPWZbKGZbKChmW2E+PjJdJjN8MCk9PTI/YTphKy00
OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDA7aWYoKGJbYSsxNTY+PjBdfDApIT0xKWJyZWFrO2lmKChm
W2ErMTg0Pj4yXXwwKSE9MSlicmVhaztpZigoZlthKzE3Nj4+Ml18MCkhPTEpYnJlYWs7aWYoK3Bb
YSsxNj4+M10hPStwW2Q+PjNdKWJyZWFrO2M9YysxfDB9cmV0dXJuIGN8MH1mdW5jdGlvbiBNZyhh
LGIsYyxkLGUsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MCxp
PTAsaj0wLGs9MDtrPXQ7dD10KzMyfDA7aj1rO2g9UWcoYiwtMSl8MDtiPVFnKGIsMSl8MDtpZigh
KChofDApIT0wPyEob0woaCl8MCk6MCkpaT0zO2RvIGlmKChpfDApPT0zKXtpZihifDA/KG9MKGIp
fDApPT0wOjApYnJlYWs7aD1SZyhjLC0xKXwwO2I9UmcoYywxKXwwO2lmKGh8MD8ob0woaCl8MCk9
PTA6MClicmVhaztpZihifDA/KG9MKGIpfDApPT0wOjApYnJlYWs7aD1kKzUyfDA7Yj0wO3doaWxl
KDEpe2lmKChifDApPj0oZltoPj4yXXwwKSlicmVhaztjPWQrNTYrKGI8PDUpfDA7ZltqPj4yXT1m
W2M+PjJdO2Zbais0Pj4yXT1mW2MrND4+Ml07ZltqKzg+PjJdPWZbYys4Pj4yXTtmW2orMTI+PjJd
PWZbYysxMj4+Ml07ZltqKzE2Pj4yXT1mW2MrMTY+PjJdO2ZbaisyMD4+Ml09ZltjKzIwPj4yXTtm
W2orMjQ+PjJdPWZbYysyND4+Ml07ZltqKzI4Pj4yXT1mW2MrMjg+PjJdOyRLKGEsaik7Yj1iKzF8
MH1oPWZbYSs4MD4+Ml18MDtpPWcrLTN8MDtiPTA7d2hpbGUoMSl7aWYoKGJ8MCk+PShnfDApKWJy
ZWFrO2Q9MTU0NTI4KyhiPDw1KXwwO2Zbaj4+Ml09ZltkPj4yXTtmW2orND4+Ml09ZltkKzQ+PjJd
O2Zbais4Pj4yXT1mW2QrOD4+Ml07ZltqKzEyPj4yXT1mW2QrMTI+PjJdO2ZbaisxNj4+Ml09Zltk
KzE2Pj4yXTtmW2orMjA+PjJdPWZbZCsyMD4+Ml07ZltqKzI0Pj4yXT1mW2QrMjQ+PjJdO2Zbaisy
OD4+Ml09ZltkKzI4Pj4yXTskSyhhLGopO2I9YisxfDB9Yz1oKzF8MDtpPWkrY3wwO2g9ZltlKzUy
Pj4yXXwwO3doaWxlKDEpe2I9aCstMXwwO2lmKChofDApPD0wKWJyZWFrO2g9ZSs1NisoYjw8NSl8
MDtmW2o+PjJdPWZbaD4+Ml07ZltqKzQ+PjJdPWZbaCs0Pj4yXTtmW2orOD4+Ml09ZltoKzg+PjJd
O2ZbaisxMj4+Ml09ZltoKzEyPj4yXTtmW2orMTY+PjJdPWZbaCsxNj4+Ml07ZltqKzIwPj4yXT1m
W2grMjA+PjJdO2ZbaisyND4+Ml09ZltoKzI0Pj4yXTtmW2orMjg+PjJdPWZbaCsyOD4+Ml07JEso
YSxqKTtoPWJ9U2coYSxjLGkpfXdoaWxlKDApO3Q9aztyZXR1cm59ZnVuY3Rpb24gTmcoYSxiLGMs
ZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTA7ZT1mW2Q+PjJdfDA7d2hpbGUo
MSl7aWYoIWIpYnJlYWs7YT1mW2ZbKGZbKGZbKChmW2E+PjJdJjN8MCk9PTI/YTphKy00OHwwKSs0
MD4+Ml18MCkrMTY+PjJdfDApKzE4MD4+Ml0+PjJdfDA7Yj1iKy0xfDB9ZltkPj4yXT1lKzE7Zz1j
KyhlPDw0KXwwO2I9YysoZSstMTw8NCl8MDtmW2c+PjJdPWZbYj4+Ml07ZltnKzQ+PjJdPWZbYis0
Pj4yXTtmW2crOD4+Ml09ZltiKzg+PjJdO2ZbZysxMj4+Ml09ZltiKzEyPj4yXTtlPWZbZD4+Ml18
MDtmW2Q+PjJdPWUrMTtlPWMrKGU8PDQpfDA7ZltlPj4yXT1mW2I+PjJdO2ZbZSs0Pj4yXT1mW2Ir
ND4+Ml07ZltlKzg+PjJdPWZbYis4Pj4yXTtmW2UrMTI+PjJdPWZbYisxMj4+Ml07ZT1jKyhmW2Q+
PjJdPDw0KXwwO2Q9KGZbKGZbKChmW2E+PjJdJjN8MCk9PTM/YTphKzQ4fDApKzQwPj4yXXwwKSsx
Nj4+Ml18MCkrMTZ8MDtmW2U+PjJdPWZbZD4+Ml07ZltlKzQ+PjJdPWZbZCs0Pj4yXTtmW2UrOD4+
Ml09ZltkKzg+PjJdO2ZbZSsxMj4+Ml09ZltkKzEyPj4yXTtyZXR1cm4gYXwwfWZ1bmN0aW9uIE9n
KGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAuMCxnPTAuMCxoPTAsaT0wLGo9MCxrPTAsbD0w
O2w9Yys4MHwwO2s9Yys4NHwwO2Q9MDtjPShmW2E+PjJdJjN8MCk9PTI/YTphKy00OHwwO2E6d2hp
bGUoMSl7aT1mW2MrNDA+PjJdfDA7aj1pKzE2fDA7aWYoKGJbKGZbaj4+Ml18MCkrMTU2Pj4wXXww
KSE9MSlicmVhaztpZigodGJbZls3MTY3Mj4+Ml0mNjNdKGkpfDApPDwyND4+MjQpYnJlYWs7Yz1m
W2w+PjJdfDA7d2hpbGUoMSl7aWYoKGR8MCk+PShjfDApKWJyZWFrIGE7YT1mW2s+PjJdfDA7aD1m
W2o+PjJdfDA7ZT0rcFtoKzI0Pj4zXTtpZighKCtwW2ErKGQ8PDUpKzg+PjNdPmUpKWJyZWFrO2Q9
ZCsxfDB9ZG8gaWYoISgrcFthKyhkPDw1KSsyND4+M108ZSkpe2c9K3BbYSsoZDw8NSk+PjNdO2M9
fn5nO2U9K3BbYSsoZDw8NSkrMTY+PjNdO2lmKCEoZltoKzEwND4+Ml18MCkpe1BnKGksYyx+figo
ZStnKSouNSksfn5lKTticmVha31lbHNle1BnKGksYyx+fmUsfn4oK3BbaCs5Nj4+M10rZSkpO2Jy
ZWFrfX13aGlsZSgwKTtjPWZbZlsoZltqPj4yXXwwKSsxODA+PjJdPj4yXXwwO2M9KGZbYz4+Ml0m
M3wwKT09Mj9jOmMrLTQ4fDB9cmV0dXJufWZ1bmN0aW9uIFBnKGEsYixjLGQpe2E9YXwwO2I9Ynww
O2M9Y3wwO2Q9ZHwwO2E9ZlthKzE2Pj4yXXwwO3BbYSsxNj4+M109KyhjfDApO3BbYSs4OD4+M109
KyhjLWJ8MCk7cFthKzk2Pj4zXT0rKGQtY3wwKTtyZXR1cm59ZnVuY3Rpb24gUWcoYSxiKXthPWF8
MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTA7aD1mW2E+PjJdJjM7aT1mWyhmWyhm
WygoaHwwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsxODA+PjJdfDA7aD0oKGh8
MCk9PTI/YTphKy00OHwwKSs0MHwwO2c9MDthPTA7d2hpbGUoMSl7ZD1mW2krKGc8PDIpPj4yXXww
O2lmKCFkKWJyZWFrO2U9ZlsoZlsoZlsoKGZbZD4+Ml0mM3wwKT09Mj9kOmQrLTQ4fDApKzQwPj4y
XXwwKSsxNj4+Ml18MCkrMjM2Pj4yXXwwO2RvIGlmKChWKGUtKGZbKGZbKGZbaD4+Ml18MCkrMTY+
PjJdfDApKzIzNj4+Ml18MCl8MCxiKXwwKT49MSl7Yz1mW2QrMTY+PjJdfDA7aWYoIShmW2MrOD4+
Ml18MCkpe2M9ZltjKzExNj4+Ml18MDtpZighYylicmVhaztpZighKGZbKGZbYysxNj4+Ml18MCkr
OD4+Ml18MCkpYnJlYWt9aWYoYXwwPyhWKChmWyhmWyhmWygoZlthPj4yXSYzfDApPT0yP2E6YSst
NDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzY+PjJdfDApLWV8MCxiKXwwKTw9MDowKWJyZWFr
O2E9ZH13aGlsZSgwKTtnPWcrMXwwfXJldHVybiBhfDB9ZnVuY3Rpb24gUmcoYSxiKXthPWF8MDti
PWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTA7aD1mW2E+PjJdJjM7aT1mWyhmWyhmWygo
aHwwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTcyPj4yXXwwO2g9KChofDAp
PT0zP2E6YSs0OHwwKSs0MHwwO2c9MDthPTA7d2hpbGUoMSl7ZD1mW2krKGc8PDIpPj4yXXwwO2lm
KCFkKWJyZWFrO2U9ZlsoZlsoZlsoKGZbZD4+Ml0mM3wwKT09Mz9kOmQrNDh8MCkrNDA+PjJdfDAp
KzE2Pj4yXXwwKSsyMzY+PjJdfDA7ZG8gaWYoKFYoZS0oZlsoZlsoZltoPj4yXXwwKSsxNj4+Ml18
MCkrMjM2Pj4yXXwwKXwwLGIpfDApPj0xKXtjPWZbZCsxNj4+Ml18MDtpZighKGZbYys4Pj4yXXww
KSl7Yz1mW2MrMTE2Pj4yXXwwO2lmKCFjKWJyZWFrO2lmKCEoZlsoZltjKzE2Pj4yXXwwKSs4Pj4y
XXwwKSlicmVha31pZihhfDA/KFYoKGZbKGZbKGZbKChmW2E+PjJdJjN8MCk9PTM/YTphKzQ4fDAp
KzQwPj4yXXwwKSsxNj4+Ml18MCkrMjM2Pj4yXXwwKS1lfDAsYil8MCk8PTA6MClicmVhazthPWR9
d2hpbGUoMCk7Zz1nKzF8MH1yZXR1cm4gYXwwfWZ1bmN0aW9uIFNnKGEsYixjKXthPWF8MDtiPWJ8
MDtjPWN8MDt2YXIgZD0wLjAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAuMDts
PWErODR8MDtoPWIrLTF8MDt3aGlsZSgxKXtpZigoaHwwKT4oY3wwKSlicmVhaztlPWZbbD4+Ml18
MDtpPWUrKGg8PDUpfDA7ZD0rcFtpPj4zXTtpZighKGgtYiYxKSl7ZT1lKyhoPDw1KSsxNnwwO249
K3BbZT4+M107Zz1+figobitkKSouNSk7aWYoZD49bil7cFtpPj4zXT0rKGcrLTh8MCk7cFtlPj4z
XT0rKGcrOHwwKX19ZWxzZXtlPWUrKGg8PDUpKzE2fDA7bj0rcFtlPj4zXTtnPX5+KChuK2QpKi41
KTtpZihkKzE2LjA+bil7cFtpPj4zXT0rKGcrLTh8MCk7cFtlPj4zXT0rKGcrOHwwKX19aD1oKzF8
MH1qPShmW2ErODA+PjJdfDApKy0xfDA7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oanwwKSlicmVh
aztoPWZbbD4+Ml18MDthPWgrKGc8PDUpfDA7az1nKzF8MDtpPWgrKGs8PDUpfDA7aWYoISgoZ3ww
KTwoYnwwKXwoZ3wwKT4oY3wwKSk/KGctYiYxfDApPT0wOjApe2Q9K3BbYT4+M10rMTYuMDtlPWgr
KGs8PDUpKzE2fDA7aWYoZD4rcFtlPj4zXSlwW2U+PjNdPWQ7ZD0rcFtoKyhnPDw1KSsxNj4+M10r
LTE2LjA7aWYoZDwrcFtpPj4zXSlwW2k+PjNdPWR9ZWxzZSBtPTE3O2lmKCgobXwwKT09MTc/KG09
MCwoZ3wwKTwoY3wwKSYoa3wwKT49KGJ8MCkpOjApPyhrLWImMXwwKT09MDowKXtkPStwW2grKGs8
PDUpKzE2Pj4zXTtpZigrcFthPj4zXSsxNi4wPmQpcFthPj4zXT1kKy0xNi4wO2U9aCsoZzw8NSkr
MTZ8MDtkPStwW2k+PjNdO2lmKCtwW2U+PjNdKy0xNi4wPGQpcFtlPj4zXT1kKzE2LjB9Zz1rfXJl
dHVybn1mdW5jdGlvbiBUZyhhLGIsYyxkLGUpe2E9YXwwO2I9K2I7Yz0rYztkPStkO2U9K2U7cFth
Pj4zXT1iO3BbYSs4Pj4zXT1jO3BbYSsxNj4+M109ZDtwW2ErMjQ+PjNdPWU7cmV0dXJufWZ1bmN0
aW9uIFVnKGEsYyxkLGUsZyl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MCxp
PTAsaj0wLGs9MDtrPWZbKGZbYSsxNj4+Ml18MCkrMTk2Pj4yXXwwO2g9ZltjKzE2Pj4yXXwwO2o9
ZltoKzIzMj4+Ml18MDtpPWsrKGo8PDYpfDA7aj1rKyhqPDw2KSs0fDA7aD1mW2grMjM2Pj4yXXww
O2E6ZG97aD1oK2d8MDtpZigoaHwwKTw9LTEpe2E9MDticmVha31pZigoaHwwKT49KGZbaT4+Ml18
MCkpe2E9MDticmVha31hPWZbKGZbaj4+Ml18MCkrKGg8PDIpPj4yXXwwO2s9ZlthKzE2Pj4yXXww
O3N3aXRjaChiW2srMTU2Pj4wXXwwKXtjYXNlIDA6YnJlYWsgYTtjYXNlIDE6e2lmKGZbaysxMDQ+
PjJdfDApYnJlYWsgYTticmVha31kZWZhdWx0Ont9fX13aGlsZSgoWGcoYSxjLGQsZSl8MCk8PDI0
Pj4yNCE9MCk7cmV0dXJuIGF8MH1mdW5jdGlvbiBWZyhhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7
dmFyIGU9MCxnPTAsaD0wLGk9MDtjPWZbYysxNj4+Ml18MDtpZighKGJbYysxNTY+PjBdfDApKXtp
PWZbYysyMTI+PjJdfDA7aD1pfWVsc2V7aT1mWyhmWyhmW2ZbYysxODA+PjJdPj4yXXwwKSsxNj4+
Ml18MCkrMTE2Pj4yXXwwO2c9ZltpPj4yXSYzO2g9ZlsoZlsoZlsoKGd8MCk9PTI/aTppKy00OHww
KSs0MD4+Ml18MCkrMTY+PjJdfDApKzIxMj4+Ml18MDtpPWZbKGZbKGZbKChnfDApPT0zP2k6aSs0
OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIxMj4+Ml18MH1jPWZbZCsxNj4+Ml18MDtpZighKGJb
YysxNTY+PjBdfDApKXtkPWZbYysyMTI+PjJdfDA7ZD0oZHwwKT09KGF8MCk/MDpkO3JldHVybiAo
KGR8MCk9PShofDApfCgoZHwwKT09MHwoZHwwKT09KGl8MCkpPzA6ZCl8MH1lPWZbKGZbKGZbZltj
KzE4MD4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsxMTY+PjJdfDA7Zz1mW2U+PjJdJjM7Yz1mWyhmWyhm
WygoZ3wwKT09Mz9lOmUrNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMTI+PjJdfDA7Yz0oY3ww
KT09KGF8MCk/MDpjO2lmKCEoISgoY3wwKT09KGh8MCl8KChjfDApPT0wfChjfDApPT0oaXwwKSkp
PyhXZyhjLGQpfDApIT0wOjApKXtjPWZbKGZbKGZbKChnfDApPT0yP2U6ZSstNDh8MCkrNDA+PjJd
fDApKzE2Pj4yXXwwKSsyMTI+PjJdfDA7Yz0oY3wwKT09KGF8MCk/MDpjO2lmKChjfDApPT0oaHww
KXwoKGN8MCk9PTB8KGN8MCk9PShpfDApKSljPTA7ZWxzZXtkPShXZyhjLGQpfDApPT0wO3JldHVy
biAoZD8wOmMpfDB9fXJldHVybiBjfDB9ZnVuY3Rpb24gV2coYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wLGQ9MC4wLGU9MC4wO2M9ZlthKzE2Pj4yXXwwO2E9ZltiKzE2Pj4yXXwwO2U9K3BbYSsxNj4+
M107aWYoKCtwW2MrMTY+PjNdPD1lP2U8PStwW2MrMzI+PjNdOjApPyhkPStwW2ErMjQ+PjNdLCtw
W2MrMjQ+PjNdPD1kKTowKWE9ZDw9K3BbYys0MD4+M10mMTtlbHNlIGE9MDtyZXR1cm4gYXwwfQor
ZnVuY3Rpb24geEIoKXt2YXIgYT0wLGM9MCxlPTAsZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0w
LG89MCxwPTAscT0wLHI9MCxzPTA7cz10O3Q9dCsxMjAwfDA7cT1zKzgwMHwwO2U9cztmWzQ4Mjg0
XT0wO2ZbNDgyODVdPS0yO2M9cTtpPTIwMDttPWU7bz0wO3A9MDtuPXE7YTp3aGlsZSgxKXtkW24+
PjFdPW87aWYoKGMrKGk8PDEpKy0yfDApPj4+MD5uPj4+MClrPWk7ZWxzZXtsPW4tYz4+MTthPWwr
MXwwO2lmKGk+Pj4wPjk5OTkpe3I9NzY7YnJlYWt9az1pPDwxO2s9az4+PjA8MWU0P2s6MWU0O2c9
TF8oayo2fDMpfDA7aWYoZyl7UTMoZ3wwLGN8MCxhPDwxfDApfDA7aT1nKyhrPj4+MTw8Mil8MDtR
MyhpfDAsbXwwLGE8PDJ8MCl8MDtpZigoY3wwKT09KHF8MCkpe2E9MDtjPWd9ZWxzZXtNXyhjKTth
PTA7Yz1nfX1lbHNle2E9NDtpPW19aj0oYXwwKT09MDtnPWMrKGw8PDEpfDA7c3dpdGNoKChqPygo
Yysoazw8MSkrLTJ8MCk+Pj4wPmc+Pj4wPzA6OSk6YSkmMTUpe2Nhc2UgOTp7YT0xO3I9Nzc7YnJl
YWsgYX1jYXNlIDQ6e3I9NzY7YnJlYWsgYX1jYXNlIDA6e2U9aj9pKyhsPDwyKXwwOmU7bT1pO249
aj9nOm47YnJlYWt9ZGVmYXVsdDp7YT0wO2JyZWFrIGF9fX1pZigob3wwKT09Nil7YT0wO3I9Nzc7
YnJlYWt9YT1iWzg3MzYrbz4+MF18MDtqPWE8PDI0Pj4yNDtkbyBpZihhPDwyND4+MjQhPS0xOCl7
Zz1mWzQ4Mjg1XXwwO2lmKChnfDApPT0tMil7Zz1kQSgpfDA7Zls0ODI4NV09Z31pZigoZ3wwKT49
MSlpZihnPj4+MDwyNjkpaT1oWzg4MTYrZz4+MF18MDtlbHNlIGk9MjtlbHNle2ZbNDgyODVdPTA7
aT0wfWc9aStqfDA7aWYoZz4+PjA8PTU5PyhpfDApPT0oaFs5MDg4K2c+PjBdfDApOjApe289Yls5
MTUyK2c+PjBdfDA7YT1vPDwyND4+MjQ7aWYobzw8MjQ+PjI0PDEpe2c9MC1hfDA7cj0yMzticmVh
a31lbHNle2ZbNDgyODVdPS0yO2U9ZSs0fDA7ZltlPj4yXT1mWzQ4Mjg2XTtqPShwfDApPT0wPzA6
cCstMXwwO2c9bjticmVha319ZWxzZSByPTIyfWVsc2Ugcj0yMjt3aGlsZSgwKTtpZigocnwwKT09
MjIpe3I9MDtvPWJbOTIxNitvPj4wXXwwO2c9byYyNTU7aWYoIShvPDwyND4+MjQpKXtnPWZbNDgy
ODVdfDA7YjpkbyBzd2l0Y2gocHwwKXtjYXNlIDA6e2ZbNDgyODRdPShmWzQ4Mjg0XXwwKSsxO3lB
KDE1MDc4OCk7YnJlYWt9Y2FzZSAzOmlmKChnfDApPDEpaWYoIWcpe2E9MTtyPTc3O2JyZWFrIGF9
ZWxzZSBicmVhayBiO2Vsc2V7Zls0ODI4NV09LTI7YnJlYWsgYn1kZWZhdWx0Ont9fXdoaWxlKDAp
O2c9bjt3aGlsZSgxKXtpZihhPDwyND4+MjQ9PTE4KWJyZWFrO2lmKChnfDApPT0oY3wwKSl7YT0x
O3I9Nzc7YnJlYWsgYX1hPWcrLTJ8MDtlPWUrLTR8MDtnPWE7YT1iWzg3MzYrKGRbYT4+MV18MCk+
PjBdfDB9ZT1lKzR8MDtmW2U+PjJdPWZbNDgyODZdO2E9MTtqPTN9ZWxzZSByPTIzfWRvIGlmKChy
fDApPT0yMyl7cj0wO2k9aFs5Mjk2K2c+PjBdfDA7YT1mW2UrKDEtaTw8Mik+PjJdfDA7YzpkbyBz
d2l0Y2goZ3wwKXtjYXNlIDI6e3lCKCk7ekIoKTticmVha31jYXNlIDM6e2lmKGZbNDgyODddfDAp
e3lCKCk7ekIoKTtpeShmWzQ4Mjg3XXwwKXwwO2ZbNDgyMzZdPTA7Zls0ODI4N109MH1icmVha31j
YXNlIDY6e0FCKGZbZT4+Ml18MCxmW2UrLTQ+PjJdfDAsZltlKy04Pj4yXXwwKTticmVha31jYXNl
IDc6e2E9ZltlPj4yXXwwO2JyZWFrfWNhc2UgODp7YT0wO2JyZWFrfWNhc2UgOTp7YT0xO2JyZWFr
fWNhc2UgMTA6e2E9MDticmVha31jYXNlIDExOnthPTA7YnJlYWt9Y2FzZSAxMjp7YT0xO2JyZWFr
fWNhc2UgMjE6aWYoIShmW2UrLTQ+PjJdfDApKXtDQigpO2JyZWFrIGN9ZWxzZXtCQigpO2JyZWFr
IGN9Y2FzZSAyNDp7REIoKTticmVha31jYXNlIDI1OntEQigpO2JyZWFrfWNhc2UgMjY6e2E9MTti
cmVha31jYXNlIDI3OnthPTA7YnJlYWt9Y2FzZSAzMDp7RUIoZltlPj4yXXwwLDAsMCk7YnJlYWt9
Y2FzZSAzMTp7RUIoZltlKy04Pj4yXXwwLGZbZT4+Ml18MCwwKTticmVha31jYXNlIDMyOntFQihm
W2UrLTE2Pj4yXXwwLGZbZSstOD4+Ml18MCxmW2U+PjJdfDApO2JyZWFrfWNhc2UgMzM6e0ZCKGZb
ZSstOD4+Ml18MCxmW2UrLTQ+PjJdfDApO2JyZWFrfWNhc2UgMzQ6e0ZCKDI1OCwwKTticmVha31j
YXNlIDM1OnthPTI1ODticmVha31jYXNlIDM2OnthPTI1OTticmVha31jYXNlIDM3OnthPTI2MDti
cmVha31jYXNlIDM4OnthPWZbZSstND4+Ml18MDticmVha31jYXNlIDM5OnthPTA7YnJlYWt9Y2Fz
ZSA0ODp7R0IoZltlKy04Pj4yXXwwLGZbZT4+Ml18MCk7YnJlYWt9Y2FzZSA0OTp7R0IoZltlPj4y
XXwwLDApO2JyZWFrfWNhc2UgNTE6e0hCKGZbZT4+Ml18MCk7YnJlYWt9Y2FzZSA1Mjp7SUIoKTti
cmVha31jYXNlIDUzOnthPWZbZT4+Ml18MDticmVha31jYXNlIDU0OnthPTA7YnJlYWt9Y2FzZSA1
NTp7YT0wO2JyZWFrfWNhc2UgNTk6e2E9ZltlPj4yXXwwO2JyZWFrfWNhc2UgNjA6e2E9ZltlPj4y
XXwwO2JyZWFrfWNhc2UgNjE6e2E9ZltlPj4yXXwwO2JyZWFrfWNhc2UgNjI6e2E9SkIoZltlKy04
Pj4yXXwwLGZbZT4+Ml18MCl8MDticmVha31kZWZhdWx0Ont9fXdoaWxlKDApO2k9MC1pfDA7bz1l
KyhpPDwyKXwwO2k9bisoaTw8MSl8MDtlPW8rNHwwO2Zbbys0Pj4yXT1hO2E9KGhbOTM2MCtnPj4w
XXwwKSstMjR8MDtvPWRbaT4+MV18MDtnPW8rKGJbOTQyNCthPj4wXXwwKXwwO2lmKGc+Pj4wPDYw
PyhoWzkwODgrZz4+MF18MCk9PShvfDApOjApe2E9Yls5MTUyK2c+PjBdfDA7aj1wO2c9aTticmVh
a31hPWJbOTQ3MithPj4wXXwwO2o9cDtnPWl9d2hpbGUoMCk7aT1rO289YTtwPWo7bj1nKzJ8MH1p
ZigocnwwKT09NzYpe3lBKDE0NzY5Myk7YT0yO3I9Nzd9aWYoKHJ8MCk9PTc3KWlmKChjfDApIT0o
cXwwKSlNXyhjKTt0PXM7cmV0dXJuIGF8MH1mdW5jdGlvbiB5Qigpe3ZhciBhPTAsYj0wO2E9Zls0
ODI4OF18MDt3aGlsZSgxKXtpZighYSlicmVhaztSQihhKzh8MCk7UkIoKGZbNDgyODhdfDApKzI0
fDApO1JCKChmWzQ4Mjg4XXwwKSsxNnwwKTtiPUtCKGZbNDgyODhdfDApfDA7Zls0ODI4OF09Yjth
PWJ9cmV0dXJufWZ1bmN0aW9uIHpCKCl7ekEoKTtKeShmWzQ4Mjg3XXwwKTtyZXR1cm59ZnVuY3Rp
b24gQUIoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MDtoPXQ7dD10KzE2
fDA7Zz1oO2U9Zls0ODI4N118MDtpZighZSl7YlsxOTMxNTZdPWMmMXwoZCYyNTUpPDwxJjJ8Ylsx
OTMxNTZdJi0xMnw4O2U9Zls0ODI5MF18MDtiW2c+PjBdPWJbMTkzMTU2XXwwO2JbZysxPj4wXT1i
WzE5MzE1N118MDtiW2crMj4+MF09YlsxOTMxNThdfDA7YltnKzM+PjBdPWJbMTkzMTU5XXwwO2U9
ZXkoYSxnLGUpfDA7Zls0ODI4N109ZX1mWzQ4MjM2XT1lO2c9TEIoZls0ODI4OF18MCxlKXwwO2Zb
NDgyODhdPWc7WnooMCxhKXwwO3Q9aDtyZXR1cm59ZnVuY3Rpb24gQkIoKXt2YXIgYT0wLGM9MCxk
PTAsZT0wLGc9MCxoPTA7UUIoMik7ZD1mWzQ4Mjg4XXwwO2U9YlsxMDY0MjZdfDA7aD0wO2E9ZCsy
NHwwO3doaWxlKDEpe2M9ZlthPj4yXXwwO2lmKCFjKWJyZWFrO2lmKCgoZltjPj4yXXwwKT09MjY3
PyhnPWZbYys0Pj4yXXwwLChiW2c+PjBdfDApPT1lPDwyND4+MjQpOjApPyhIJChnLDEwNjQyNil8
MCk9PTA6MClhPWZbYys4Pj4yXXwwO2Vsc2UgYT1oO2g9YTthPWMrMTJ8MH1hPWQrMTZ8MDt3aGls
ZSgxKXtkPWZbYT4+Ml18MDthPWQrMTJ8MDtpZighKGZbYT4+Ml18MCkpYnJlYWs7Yz1kKzR8MDth
OmRvIGlmKChmW2Q+PjJdfDApPT0yNjIpe2Q9ZltjPj4yXXwwO2M9JHkoZCl8MDt3aGlsZSgxKXtp
ZighYylicmVhayBhO2c9ZXooZltmWzQ4Mjg4XT4+Ml18MCxjLDApfDA7WUIoZywwLGZbYT4+Ml18
MCxoKTtjPWF6KGQsYyl8MH19ZWxzZSB3aGlsZSgxKXtjPWZbYz4+Ml18MDtpZighYylicmVhayBh
O1lCKGZbYys0Pj4yXXwwLGZbYys4Pj4yXXwwLGZbYT4+Ml18MCxoKTtjPWMrMTJ8MH13aGlsZSgw
KX1SQigoZls0ODI4OF18MCkrOHwwKTtSQigoZls0ODI4OF18MCkrMTZ8MCk7UkIoKGZbNDgyODhd
fDApKzI0fDApO2ZbKGZbNDgyODhdfDApKzQ+PjJdPTA7cmV0dXJufWZ1bmN0aW9uIENCKCl7dmFy
IGE9MDtRQigxKTthPShmWzQ4Mjg4XXwwKSs4fDA7d2hpbGUoMSl7YT1mW2E+PjJdfDA7aWYoIWEp
YnJlYWs7WEIoZlthKzQ+PjJdfDApO2E9YSsxMnwwfVJCKChmWzQ4Mjg4XXwwKSs4fDApO1JCKChm
WzQ4Mjg4XXwwKSsyNHwwKTtSQigoZls0ODI4OF18MCkrMTZ8MCk7ZlsoZls0ODI4OF18MCkrND4+
Ml09MDtyZXR1cm59ZnVuY3Rpb24gREIoKXt2YXIgYT0wLGI9MCxjPTA7YT1mWzQ4Mjg4XXwwO2I9
ZlthKzg+PjJdfDA7aWYoIWIpe2M9YSs0fDA7Yj1mW2M+PjJdfDA7aWYoIWIpYj0wO2Vsc2V7Yj1X
QihiKXwwO2E9Zls0ODI4OF18MDtjPWErNHwwfWZbYz4+Ml09MH1lbHNle2I9VkIoYil8MDthPWZb
NDgyODhdfDA7ZlthKzEyPj4yXT0wO2ZbYSs4Pj4yXT0wfWlmKGJ8MClOQihhKzE2fDAsYik7cmV0
dXJufWZ1bmN0aW9uIEVCKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtpZihjKWI9VEIoYixjKXww
O2M9VUIoanooZltmWzQ4Mjg4XT4+Ml18MCxhLDEpfDAsYil8MDtOQigoZls0ODI4OF18MCkrOHww
LGMpO1p6KGZbNDgyODddfDAsYSl8MDtyZXR1cm59ZnVuY3Rpb24gRkIoYSxjKXthPWF8MDtjPWN8
MDt2YXIgZD0wLGU9MCxnPTA7aWYoY3wwKVBCKCk7Yz0oZls0ODI4OF18MCkrMjR8MDt3aGlsZSgx
KXtjPWZbYz4+Ml18MDtpZighYylicmVhaztpZighKGZbYys4Pj4yXXwwKSlQQigpO2M9YysxMnww
fWc9KGF8MCk9PTI2MD8yOihhfDApPT0yNTkmMTtRQihnKTthPWZbNDgyODhdfDA7Yz1hKzI0fDA7
d2hpbGUoMSl7ZT1mW2M+PjJdfDA7aWYoIWUpYnJlYWs7ZG8gaWYoKGZbZT4+Ml18MCkhPTI2Nyl7
Yz1mW2UrND4+Ml18MDtkPWZbYT4+Ml18MDtpZighKChiW2MrMjE+PjBdfDApIT0wJihkfDApPT0o
Zls0ODI4N118MCkpKXtjPXd4KGQsZyxmW2MrOD4+Ml18MCxmW2UrOD4+Ml18MCl8MDthPWZbNDgy
ODhdfDA7aWYoKGZbYT4+Ml18MCkhPShmWzQ4Mjg3XXwwKSlicmVha31iW2MrMjI+PjBdPTF9d2hp
bGUoMCk7Yz1lKzEyfDB9UkIoYSsyNHwwKTtyZXR1cm59ZnVuY3Rpb24gR0IoYSxiKXthPWF8MDti
PWJ8MDtiPU1CKGEsYil8MDtOQigoZls0ODI4OF18MCkrMjR8MCxiKTtyZXR1cm59ZnVuY3Rpb24g
SEIoYSl7YT1hfDA7dmFyIGI9MDtiPWZbNDgyODhdfDA7Yj1MQihiLEVBKGZbYj4+Ml18MCxhLDEp
fDApfDA7Zls0ODI4OF09YjtaeihmWzQ4Mjg3XXwwLGEpfDA7cmV0dXJufWZ1bmN0aW9uIElCKCl7
dmFyIGE9MCxiPTA7YT1mWzQ4Mjg4XXwwO2I9ZlthPj4yXXwwO2E9S0IoYSl8MDtmWzQ4Mjg4XT1h
O2ZbYSs0Pj4yXT1iO3JldHVybn1mdW5jdGlvbiBKQihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAs
ZD0wLGU9MCxnPTA7Zz10O3Q9dCsxMDI0fDA7ZT1nO2M9YzAoYSl8MDtjPWMrMSsoYzAoYil8MCl8
MDtpZihjPj4+MDwxMDI1KWM9ZTtlbHNlIGM9TF8oYyl8MDt1MShjLGEpfDA7djEoYyxiKXwwO2Q9
WHooZls0ODI4N118MCxjKXwwO1p6KGZbNDgyODddfDAsYSl8MDtaeihmWzQ4Mjg3XXwwLGIpfDA7
aWYoKGN8MCkhPShlfDApKU1fKGMpO3Q9ZztyZXR1cm4gZHwwfWZ1bmN0aW9uIEtCKGEpe2E9YXww
O3ZhciBiPTA7Yj1mWyhmWzQ4Mjg4XXwwKSszMj4+Ml18MDtXeShmWzQ4Mjg3XXwwLGEpO3JldHVy
biBifDB9ZnVuY3Rpb24gTEIoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wO2M9VnkoZls0ODI4N118
MCwzNil8MDtmW2MrMzI+PjJdPWE7ZltjPj4yXT1iO3JldHVybiBjfDB9ZnVuY3Rpb24gTUIoYSxi
KXthPWF8MDtiPWJ8MDtyZXR1cm4gT0IoMjY3LGEsYil8MH1mdW5jdGlvbiBOQihhLGIpe2E9YXww
O2I9YnwwO3ZhciBjPTAsZD0wO2M9YSs0fDA7ZD1mW2M+PjJdfDA7aWYoZHwwKWZbZCsxMj4+Ml09
YjtmW2M+PjJdPWI7aWYoIShmW2E+PjJdfDApKWZbYT4+Ml09YjtyZXR1cm59ZnVuY3Rpb24gT0Io
YSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTA7ZD1WeShmWzQ4Mjg3XXwwLDE2KXwwO2Zb
ZD4+Ml09YTtmW2QrND4+Ml09YjtmW2QrOD4+Ml09YztyZXR1cm4gZHwwfWZ1bmN0aW9uIFBCKCl7
dmFyIGE9MDthPXQ7dD10KzE2fDA7WXcoMCwxMDY0MzAsYSl8MDt0PWE7cmV0dXJufWZ1bmN0aW9u
IFFCKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wO2c9KGF8MCk9PTI7Yz0oZls0ODI4
OF18MCkrMjR8MDt3aGlsZSgxKXtjPWZbYz4+Ml18MDtpZighYylicmVhaztkPWMrNHwwO2U9Zltk
Pj4yXXwwO2lmKCEoKGc/KGJbZT4+MF18MCk9PShiWzEwNjQyNl18MCk6MCk/IShIJChlLDEwNjQy
Nil8MCk6MCkpe2g9d3goZltmWzQ4Mjg4XT4+Ml18MCxhLGUsMCl8MDtmW2Q+PjJdPWg7aWYoIWgp
e2g9d3goZltmWzQ4Mjg4XT4+Ml18MCxhLGUsMTk0ODcwKXwwO2ZbZD4+Ml09aH1mW2M+PjJdPTI2
NjtaeihmWzQ4Mjg3XXwwLGUpfDB9Yz1jKzEyfDB9cmV0dXJufWZ1bmN0aW9uIFJCKGEpe2E9YXww
O1NCKGZbYT4+Ml18MCk7ZlthKzQ+PjJdPTA7ZlthPj4yXT0wO3JldHVybn1mdW5jdGlvbiBTQihh
KXthPWF8MDt2YXIgYj0wO3doaWxlKDEpe2lmKCFhKWJyZWFrO2I9ZlthKzEyPj4yXXwwO3N3aXRj
aChmW2E+PjJdfDApe2Nhc2UgMjY1OntTQihmW2ErND4+Ml18MCk7YnJlYWt9Y2FzZSAyNjY6Y2Fz
ZSAyNjc6e1p6KGZbNDgyODddfDAsZlthKzg+PjJdfDApfDA7YnJlYWt9ZGVmYXVsdDp7fX1XeShm
WzQ4Mjg3XXwwLGEpO2E9Yn1yZXR1cm59ZnVuY3Rpb24gVEIoYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wLGQ9MCxlPTAsZz0wLGg9MDtoPXQ7dD10KzEwNDB8MDtlPWgrMTAyNHwwO2c9aDtjPWMwKGEp
fDA7Yz1jKzIrKGMwKGIpfDApfDA7aWYoYz4+PjA8MTAyNSlkPWc7ZWxzZSBkPUxfKGMpfDA7Zltl
Pj4yXT1hO2ZbZSs0Pj4yXT1iO2QkKGQsMTA2NDYzLGUpfDA7Yz1YeihmWzQ4Mjg3XXwwLGQpfDA7
WnooZls0ODI4N118MCxhKXwwO1p6KGZbNDgyODddfDAsYil8MDtpZigoZHwwKSE9KGd8MCkpTV8o
ZCk7dD1oO3JldHVybiBjfDB9ZnVuY3Rpb24gVUIoYSxiKXthPWF8MDtiPWJ8MDtyZXR1cm4gT0Io
MjU5LGEsYil8MH1mdW5jdGlvbiBWQihhKXthPWF8MDtyZXR1cm4gT0IoMjY1LGEsMCl8MH1mdW5j
dGlvbiBXQihhKXthPWF8MDtyZXR1cm4gT0IoMjYyLGEsMCl8MH1mdW5jdGlvbiBYQihhKXthPWF8
MDt2YXIgYj0wLGM9MDtiPShmWzQ4Mjg4XXwwKSsyNHwwO3doaWxlKDEpe2I9ZltiPj4yXXwwO2lm
KCFiKWJyZWFrO2lmKChmW2I+PjJdfDApPT0yNjY/KGM9ZltiKzQ+PjJdfDAsY3wwKTowKUF4KGEs
YyxmW2IrOD4+Ml18MCl8MDtiPWIrMTJ8MH1yZXR1cm59ZnVuY3Rpb24gWUIoYSxiLGMsZCl7YT1h
fDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MDtlPWMrNHwwO2E6ZG8gaWYoKGZbYz4+Ml18MCk9
PTI2Mil7Yz1mW2U+PjJdfDA7ZT0keShjKXwwO3doaWxlKDEpe2lmKCFlKWJyZWFrIGE7WkIoYSxi
LGV6KGZbZls0ODI4OF0+PjJdfDAsZSwwKXwwLDAsZCk7ZT1heihjLGUpfDB9fWVsc2Ugd2hpbGUo
MSl7ZT1mW2U+PjJdfDA7aWYoIWUpYnJlYWsgYTtjPWV6KGZbZls0ODI4OF0+PjJdfDAsZltlKzQ+
PjJdfDAsMCl8MDtaQihhLGIsYyxmW2UrOD4+Ml18MCxkKTtlPWUrMTJ8MH13aGlsZSgwKTtyZXR1
cm59ZnVuY3Rpb24gWkIoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2
YXIgZz0wO2M9X3goZltmWzQ4Mjg4XT4+Ml18MCxhLGMsZSwxKXwwO2lmKGN8MCl7Zz1mW2M+PjJd
JjM7ZT1mWygoZ3wwKT09Mj9jOmMrLTQ4fDApKzQwPj4yXXwwO2E9KGV8MCk9PShhfDApPyhmWygo
Z3wwKT09Mz9jOmMrNDh8MCkrNDA+PjJdfDApIT0oZXwwKTowO19CKGMsMTE5NzI1LGE/ZDpiKTtf
QihjLDExOTczNCxhP2I6ZCk7WEIoYyl9cmV0dXJufWZ1bmN0aW9uIF9CKGEsYixjKXthPWF8MDti
PWJ8MDtjPWN8MDt2YXIgZD0wO2lmKGN8MCl7ZD13eChmW2ZbNDgyODhdPj4yXXwwLDIsYiwwKXww
O2lmKCFkKWQ9d3goZltmWzQ4Mjg4XT4+Ml18MCwyLGIsMTk0ODcwKXwwO0F4KGEsZCxjKXwwfXJl
dHVybn1mdW5jdGlvbiAkQihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7Zls0ODI1Nl09YjtmWzQ4
Mjg3XT1hO2ZbNDgyMzZdPTA7YT0oY3wwKT09MD83MjI4MDpjO2ZbNDgyOTBdPWE7Y0EoYSxiKTt4
QigpfDA7YT1mWzQ4MjM2XXwwO2lmKCFhKXtCQSgpO2E9Zls0ODIzNl18MH1yZXR1cm4gYXwwfWZ1
bmN0aW9uIGFDKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuICRCKDAsYSxiKXwwfWZ1bmN0aW9uIGJD
KGEsYil7YT1hfDA7Yj1ifDA7Yj1GQyhhLDEsYil8MDtpZighYiliPTk5OTtlbHNle2I9ZltiKzE2
Pj4yXXwwO2ZbYSsxODQ+PjJdPWZbYis0Pj4yXTtmW2ErMTcyPj4yXT1mW2IrMTI+PjJdO2ZbYSsx
NzY+PjJdPWZbYj4+Ml07ZlthKzE4MD4+Ml09ZltiKzE2Pj4yXTtiPTMwMH1yZXR1cm4gYnwwfWZ1
bmN0aW9uIGNDKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wO2k9
dDt0PXQrMTZ8MDtlPWk7SnooYiwxNDU3NTMsMjgwLDEpfDA7Zz1iKzE2fDA7ZlsoZltnPj4yXXww
KSsxNDQ+PjJdPWE7aWYoKG96KGIpfDApIT0oYnwwKSl7ZD0ob3ooYil8MCkrMTZ8MDtmWyhmW2Q+
PjJdfDApKzE0ND4+Ml09YX1kPUd4KGIsMTA2NjU5KXwwO2M9YSsxNzJ8MDtpZigoZHwwKSE9MD8o
ZltjPj4yXT0wLChiQyhhLGQpfDApPT05OTkpOjApe2M9R0MoYSwxLGQpfDA7ZltlPj4yXT1kO2Zb
ZSs0Pj4yXT1jO1l3KDEsMTA3MTc2LGUpfDA7Yz0tMX1lbHNle2Q9ZltjPj4yXXwwO2lmKCFkKWM9
LTE7ZWxzZXtMRygxKTtrSChiLGZbZlthKzE4MD4+Ml0+PjJdJjEpO2E9ZlsoZltnPj4yXXwwKSs4
Pj4yXXwwO2M9KG96KGIpfDApKzE2fDA7ZlsoZltjPj4yXXwwKSs4Pj4yXT1hO1VLKCk7Yz1mW2Q+
PjJdfDA7aWYoY3wwPyhDYltjJjEyN10oYiksaD1mW2QrND4+Ml18MCxofDApOjApZlsoZltnPj4y
XXwwKSsxNDg+PjJdPWg7TEcoMCk7Yz0wfX10PWk7cmV0dXJuIGN8MH1mdW5jdGlvbiBkQyhhLGIp
e2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wO2lmKEp6KGIsMTQ1NzUzLDAsMSl8MCl7Yz1iKzE2fDA7
YT1mW2M+PjJdfDA7ZD1mW2ErMTQ4Pj4yXXwwO2lmKGQpe0NiW2QmMTI3XShiKTthPWZbYz4+Ml18
MDtmW2ErMTQ4Pj4yXT0wfWlmKGZbYSs4Pj4yXXwwKXBIKGIpfXJldHVybiAwfWZ1bmN0aW9uIGVD
KGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2s9dDt0PXQrMTZ8
MDtqPWsrOHwwO2k9aztjPWZbYSs3Nj4+Ml18MDtlPWZbYT4+Ml18MDtpZigoY3wwKSE9MD8oZD1m
W2M+PjJdfDAsKGR8MCkhPTApOjApe0NiW2QmMTI3XShhKTtnPTEyfWVsc2UgZz00O2RvIGlmKChn
fDApPT00KWlmKChmW2ErNDA+PjJdfDApPT0wPyhoPWErMzZ8MCwoZltoPj4yXXwwKT09MCk6MCl7
aWYoYltlKzEzPj4wXXwwKWZDKGEpO2M9YSszMnwwO2Q9ZltjPj4yXXwwO2lmKCFkKXtmW2g+PjJd
PWZbMTk0ODldO2c9MTI7YnJlYWt9ZT16MShkLDExNDgzOCl8MDtmW2g+PjJdPWU7aWYoIWUpe2o9
ZlsoZlthKzEyPj4yXXwwKSsxNj4+Ml18MDtoPWZbYz4+Ml18MDtjPVhfKCl8MDtjPXEkKGZbYz4+
Ml18MCl8MDtmW2k+PjJdPWg7ZltpKzQ+PjJdPWM7RGJbaiY2M10oMTA2NDY5LGkpO2M9MX1lbHNl
IGc9MTJ9ZWxzZSBnPTEyO3doaWxlKDApO2lmKChnfDApPT0xMilpZighKGZbYSsxNTI+PjJdJjEw
MjQpKWM9MDtlbHNle0RiW2ZbKGZbYSsxMj4+Ml18MCkrMTY+PjJdJjYzXSgxMDY1MDcsaik7Yz0x
fXQ9aztyZXR1cm4gY3wwfWZ1bmN0aW9uIGZDKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAs
aD0wLGk9MDtoPXQ7dD10KzExMnwwO2Q9aCsxMDR8MDtnPWg7Yz1mW2ErMjQ+PjJdfDA7aWYoIWMp
YltnPj4wXT0wO2Vsc2V7ZltkPj4yXT1jKzE7ZCQoZywxMDY1MjUsZCl8MH1lPWZbYSsyMD4+Ml18
MDtlPShlfDApPT0wPzEwNjUyOTplO2M9YzAoZSl8MDtpPWMwKGcpfDA7ZD1hKzUyfDA7aT1jKzEr
aSsoYzAoZltkPj4yXXwwKXwwKXwwO2M9aSsxMXwwO2lmKChmWzQ4MjkxXXwwKT4+PjA8KGkrMXww
KT4+PjApe2ZbNDgyOTFdPWM7Yz1PXyhmWzQ4MjkyXXwwLGMpfDA7Zls0ODI5Ml09Y31lbHNlIGM9
Zls0ODI5Ml18MDt1MShjLGUpfDA7djEoZls0ODI5Ml18MCxnKXwwO2M9Zls0ODI5Ml18MDtjPWMr
KGMwKGMpfDApfDA7YltjPj4wXT00NjtiW2MrMT4+MF09MDtjPXYyKGZbZD4+Ml18MCl8MDtlPWZb
NDgyOTJdfDA7d2hpbGUoMSl7ZD10MihjLDU4KXwwO2lmKCFkKWJyZWFrO3YxKGUsZCsxfDApfDA7
aT1mWzQ4MjkyXXwwO2c9aSsoYzAoaSl8MCl8MDtiW2c+PjBdPTQ2O2JbZysxPj4wXT0wO2JbZD4+
MF09MDtlPWl9djEoZSxjKXwwO01fKGMpO2ZbYSszMj4+Ml09Zls0ODI5Ml07dD1oO3JldHVybn1m
dW5jdGlvbiBnQyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MDto
PXQ7dD10KzE2fDA7Zz1oKzh8MDtlPWg7aWYoKGJ8MCkhPTAmKGN8MCkhPTApe2lmKGZbYSsxNTI+
PjJdJjEwMjR8MCl7RGJbZlsoZlthKzEyPj4yXXwwKSsxNj4+Ml0mNjNdKDEwNjUwNyxlKTtaYSgx
KX1pZigoaEMoYSxiLGMpfDApPT0oY3wwKSlkPWM7ZWxzZXtlPWZbKGZbYSsxMj4+Ml18MCkrMTY+
PjJdfDA7ZltnPj4yXT1jO0RiW2UmNjNdKDEwNjUzOSxnKTtaYSgxKX19ZWxzZSBkPTA7dD1oO3Jl
dHVybiBkfDB9ZnVuY3Rpb24gaEMoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0w
LGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MDtuPXQ7dD10KzE2fDA7bT1uO2U9ZlsoZlthPj4y
XXwwKSsxMDQ+PjJdfDA7ZG8gaWYoIWUpe2o9YSs0MHwwO2g9ZltqPj4yXXwwO2lmKCFoKXtkPXEy
KGMsMSxkLGZbYSszNj4+Ml18MCl8MDticmVha31lPWErNDR8MDtpPWErNDh8MDtnPWZbaT4+Ml18
MDtkbyBpZigoKGZbZT4+Ml18MCkrLTEtZ3wwKT4+PjA8ZD4+PjApe2c9ZCs0MDk2K2cmLTQwOTY7
ZltlPj4yXT1nO2U9T18oaCxnKXwwO2Zbaj4+Ml09ZTtpZighZSl7RGJbZlsoZlthKzEyPj4yXXww
KSsxNj4+Ml0mNjNdKDEwNjU2NCxtKTtaYSgxKX1lbHNle2s9ZTtsPWZbaT4+Ml18MDticmVha319
ZWxzZXtrPWg7bD1nfXdoaWxlKDApO1EzKGsrbHwwLGN8MCxkfDApfDA7bT0oZltpPj4yXXwwKStk
fDA7ZltpPj4yXT1tO2JbKGZbaj4+Ml18MCkrbT4+MF09MH1lbHNlIGQ9d2JbZSY2M10oYSxjLGQp
fDA7d2hpbGUoMCk7dD1uO3JldHVybiBkfDB9ZnVuY3Rpb24gaUMoYSxiKXthPWF8MDtiPWJ8MDt2
YXIgYz0wO2M9YzAoYil8MDtiPShnQyhhLGIsYyl8MCk9PShjfDApO3JldHVybiAoYj8xOi0xKXww
fWZ1bmN0aW9uIGpDKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZD10O3Q9dCsxNnwwO2U9
ZDtiW2U+PjBdPWM7YT0oZ0MoYSxlLDEpfDApPT0xO3Q9ZDtyZXR1cm4gKGE/YzotMSl8MH1mdW5j
dGlvbiBrQyhhKXthPWF8MDt2YXIgYz0wO2M9ZlthKzM2Pj4yXXwwO2lmKCgoY3wwKSE9MD8oYlth
KzE0ND4+MF18MCk9PTA6MCk/KGZbKGZbYT4+Ml18MCkrMTA0Pj4yXXwwKT09MDowKWE9SDEoYyl8
MDtlbHNlIGE9MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIGxDKGEpe2E9YXwwO3ZhciBiPTAsYz0wO2I9
ZlthKzc2Pj4yXXwwO2lmKGJ8MD8oYz1mW2IrND4+Ml18MCxjfDApOjApQ2JbYyYxMjddKGEpO2tD
KGEpfDA7cmV0dXJufWZ1bmN0aW9uIG1DKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MDtkPXQ7dD10
KzE2fDA7Yz1mW2ErNzY+PjJdfDA7aWYoZlthKzE1Mj4+Ml0mMTAyNHwwKXtEYltmWyhmW2ErMTI+
PjJdfDApKzE2Pj4yXSY2M10oMTA2NTkxLGQpO1phKDEpfWlmKChjfDApIT0wPyhiPWZbYys4Pj4y
XXwwLChifDApIT0wKTowKUNiW2ImMTI3XShhKTtlbHNle2tDKGEpfDA7bkMoYSl9dD1kO3JldHVy
bn1mdW5jdGlvbiBuQyhhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTA7Yz1hKzMyfDA7aWYoKGZbYz4+
Ml18MD8oZD1hKzM2fDAsZT1mW2Q+PjJdfDAsKGV8MCkhPShmWzE5NDg5XXwwKSk6MCk/KGJbYSsx
NDQ+PjBdfDApPT0wOjApe2lmKGV8MCl7RjEoZSl8MDtmW2Q+PjJdPTB9ZltjPj4yXT0wfXJldHVy
bn1mdW5jdGlvbiBvQyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9
MCxpPTA7aT10O3Q9dCsxMDU2fDA7ZT1pKzEwNDB8MDtoPWkrMTZ8MDtnPWk7ZltnPj4yXT1jO2Q9
ZiQoaCwxMDI0LGIsZyl8MDtpZigoZHwwKT49MCl7aWYoKGR8MCk+MTAyMyl7ZD1FSChkKzF8MCl8
MDtmW2c+PjJdPWM7ZT1kO2Q9ZSQoZCxiLGcpfDB9ZWxzZSBlPWg7Z0MoYSxlLGQpfDA7aWYoKGV8
MCkhPShofDApKU1fKGUpfWVsc2V7aD1YXygpfDA7aD1xJChmW2g+PjJdfDApfDA7ZltlPj4yXT1o
O1l3KDEsMTA2NjA4LGUpfDB9dD1pO3JldHVybn1mdW5jdGlvbiBwQyhhLGIpe2E9YXwwO2I9K2I7
dmFyIGM9MCxkPTAsZT0wO2M9dDt0PXQrMTZ8MDtkPWM7ZT1xQyhkLGIpfDA7Z0MoYSxlLGZbZD4+
Ml18MCl8MDt0PWM7cmV0dXJufWZ1bmN0aW9uIHFDKGEsYyl7YT1hfDA7Yz0rYzt2YXIgZD0wLGU9
MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2lmKCEoYzwtMS4wZTE1KSlpZighKGM+MS4wZTE1KSl7Yz1j
KjEuMGU0O2U9fn4oYysoYzwwLjA/LS41Oi41KSk7aWYoIWUpe2U9MTQ2NjY0O2Q9MX1lbHNle2s9
KGV8MCk8MDtqPTQ7aD0wO2Q9MTg4MjI4O2U9az8wLWV8MDplO3doaWxlKDEpe2lmKCEoKGV8MCkh
PTB8KGp8MCk+MCkpYnJlYWs7aT0oZXwwKS8xMHwwO2U9ZS0oaSoxMHwwKXwwO2c9ZCstMXwwO2lm
KChlfDApPT0wJmg8PDI0Pj4yND09MCllPTA7ZWxzZXtiW2c+PjBdPWV8NDg7ZT0xO2Q9Z31pZigo
anwwKT09MSlpZighKGU8PDI0Pj4yNCkpZT0xO2Vsc2V7ZD1kKy0xfDA7YltkPj4wXT00NjtlPTF9
aj1qKy0xfDA7aD1lO2U9aX1pZihrKXtkPWQrLTF8MDtiW2Q+PjBdPTQ1fWU9ZDtkPTE4ODIyOC1k
fDB9fWVsc2V7ZT05NTIxO2Q9MTh9ZWxzZXtlPTk1MjA7ZD0xOX1mW2E+PjJdPWQ7cmV0dXJuIGV8
MH1mdW5jdGlvbiByQyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MDtjPXQ7dD10KzE2
fDA7ZD1jO2U9cUMoZCwrcFtiPj4zXSl8MDtnQyhhLGUsZltkPj4yXXwwKXwwO2dDKGEsMTEwOTMw
LDEpfDA7Yj1xQyhkLCtwW2IrOD4+M10pfDA7Z0MoYSxiLGZbZD4+Ml18MCl8MDt0PWM7cmV0dXJu
fWZ1bmN0aW9uIHNDKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0w
O2c9dDt0PXQrMTZ8MDtlPWc7ZD0wO3doaWxlKDEpe2g9YisoZDw8NCl8MDtmW2U+PjJdPWZbaD4+
Ml07ZltlKzQ+PjJdPWZbaCs0Pj4yXTtmW2UrOD4+Ml09ZltoKzg+PjJdO2ZbZSsxMj4+Ml09Zlto
KzEyPj4yXTtyQyhhLGUpO2Q9ZCsxfDA7aWYoKGR8MCk+PShjfDApKWJyZWFrO2dDKGEsMTEwOTMw
LDEpfDB9dD1nO3JldHVybn1mdW5jdGlvbiB0QyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTA7Yz1E
SCgzOTIpfDA7aWYoY3wwKXtmW2M+PjJdPTcyNTg4O2ZbYysxNj4+Ml09MjM7ZltjKzMyPj4yXT1h
O2ZbYyszNj4+Ml09Yn1yZXR1cm4gY3wwfWZ1bmN0aW9uIHVDKGEpe2E9YXwwO3ZhciBiPTAsYz0w
LGQ9MCxlPTA7Yj1ESCgzOTIpfDA7Yz1iO2Q9YTtlPWMrNDB8MDtkb3tmW2M+PjJdPWZbZD4+Ml07
Yz1jKzR8MDtkPWQrNHwwfXdoaWxlKChjfDApPChlfDApKTtlPWIrNjB8MDtkPWErNjB8MDtmW2U+
PjJdPWZbZD4+Ml07ZltlKzQ+PjJdPWZbZCs0Pj4yXTtmW2UrOD4+Ml09ZltkKzg+PjJdO2ZbZSsx
Mj4+Ml09ZltkKzEyPj4yXTtmW2UrMTY+PjJdPWZbZCsxNj4+Ml07ZT1iKzgwfDA7ZD1hKzgwfDA7
ZltlPj4yXT1mW2Q+PjJdO2ZbZSs0Pj4yXT1mW2QrND4+Ml07ZltlKzg+PjJdPWZbZCs4Pj4yXTtm
W2UrMTI+PjJdPWZbZCsxMj4+Ml07ZltlKzE2Pj4yXT1mW2QrMTY+PjJdO3JldHVybiBifDB9ZnVu
Y3Rpb24gdkMoYSl7YT1hfDA7Q0MoYSk7TV8oYSk7cmV0dXJufWZ1bmN0aW9uIHdDKGEsYil7YT1h
fDA7Yj1ifDA7dmFyIGM9MCxkPTA7ZD1hKzE2MHwwO2M9ZltkPj4yXXwwO2RvIGlmKCFjKXtjPURI
KDYzMil8MDtmW2Q+PjJdPWM7ZlthKzE2ND4+Ml09YztmWzQ4MjkzXT1jfWVsc2V7ZD1mWzQ4Mjkz
XXwwO2lmKCFkKXtmWzQ4MjkzXT1jO2JyZWFrfWM9ZCs0fDA7aWYoIShmW2M+PjJdfDApKXtkPURI
KDYzMil8MDtjPShmWzQ4MjkzXXwwKSs0fDA7ZltjPj4yXT1kfWM9ZltjPj4yXXwwO2ZbNDgyOTNd
PWN9d2hpbGUoMCk7ZltjKzMyPj4yXT1iO2ZbYz4+Ml09YTtyZXR1cm59ZnVuY3Rpb24geEMoYSxi
KXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MDtkPWErMTYwfDA7Yz1mW2Q+PjJdfDA7ZG8gaWYoIWMp
e2M9REgoNjMyKXwwO2ZbZD4+Ml09YztmW2ErMTY0Pj4yXT1jO2ZbNDgyOTRdPWN9ZWxzZXtkPWZb
NDgyOTRdfDA7aWYoIWQpe2ZbNDgyOTRdPWM7YnJlYWt9Yz1kKzR8MDtpZighKGZbYz4+Ml18MCkp
e2Q9REgoNjMyKXwwO2M9KGZbNDgyOTRdfDApKzR8MDtmW2M+PjJdPWR9Yz1mW2M+PjJdfDA7Zls0
ODI5NF09Y313aGlsZSgwKTtmW2MrNTI+PjJdPWI7ZltjPj4yXT1hO3JldHVybiAoRkMoYSwzLGIp
fDApIT0wfDB9ZnVuY3Rpb24geUMoYSl7YT1hfDA7dmFyIGI9MDtiPWZbYSsxNjA+PjJdfDA7Zlth
KzE2ND4+Ml09YjtyZXR1cm4gYnwwfWZ1bmN0aW9uIHpDKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9
MDthPWErMTY0fDA7Yj1mW2E+PjJdfDA7Yz1mW2IrND4+Ml18MDtpZihjfDA/KGQ9Yys1MnwwLChm
W2Q+PjJdfDApPT0wKTowKWZbZD4+Ml09ZltiKzUyPj4yXTtmW2E+PjJdPWM7cmV0dXJuIGN8MH1m
dW5jdGlvbiBBQyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZD1hKzh8MDtl
PWIrMTB8MDtpZigoZltkPj4yXXwwKT4oYnwwKSlhPWZbYT4+Ml18MDtlbHNle2ZbZD4+Ml09ZTtl
PUdIKGZbYT4+Ml18MCxlPDwyKXwwO2ZbYT4+Ml09ZTthPWV9ZlthKyhiPDwyKT4+Ml09YztyZXR1
cm59ZnVuY3Rpb24gQkMoYSl7YT1hfDA7dmFyIGI9MDtiPWZbYT4+Ml18MDtpZihifDApTV8oYik7
ZlthPj4yXT0wO2ZbYSs4Pj4yXT0wO2ZbYSs0Pj4yXT0wO3JldHVybn1mdW5jdGlvbiBDQyhhKXth
PWF8MDt2YXIgYj0wLGM9MCxkPTA7Yz1hKzE2MHwwO2I9ZltjPj4yXXwwO3doaWxlKDEpe2lmKCFi
KWJyZWFrO2Q9ZltiKzQ+PjJdfDA7QkMoYis2MDR8MCk7QkMoYis1OTJ8MCk7TV8oZltiKzU4ND4+
Ml18MCk7TV8oZltiKzU4OD4+Ml18MCk7TV8oYik7Yj1kfWZbNDgyOTRdPTA7Zls0ODI5M109MDtm
W2ErMTkyPj4yXT0wO2ZbYSsxNjQ+PjJdPTA7ZltjPj4yXT0wO2ZbYSsyOD4+Ml09MDtyZXR1cm59
ZnVuY3Rpb24gREMoYSxjLGQsZSxnLGgpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO2g9
aHwwO3ZhciBpPTAsaj0wLGs9MCxsPTA7bD10O3Q9dCsxMjh8MDtqPWwrNjR8MDtrPWw7WTIoaixk
LDYzKXwwO2k9eDEoaiw1OCl8MDtpZihpfDApYltpPj4wXT0wO2M9YSs2MCsoYzw8Mil8MDt3aGls
ZSgxKXthPWZbYz4+Ml18MDtpZighYSlicmVhaztZMihrLGZbYSs0Pj4yXXwwLDYzKXwwO2E9eDEo
ayw1OCl8MDtpZihhfDApYlthPj4wXT0wO2lmKChIJChqLGspfDApPDEpYnJlYWs7Yz1mW2M+PjJd
fDB9d2hpbGUoMSl7YT1mW2M+PjJdfDA7aWYoIWEpYnJlYWs7WTIoayxmW2ErND4+Ml18MCw2Myl8
MDthPXgxKGssNTgpfDA7aWYoYXwwKWJbYT4+MF09MDtpZihIJChqLGspfDApYnJlYWs7YT1mW2M+
PjJdfDA7aWYoKGZbYSs4Pj4yXXwwKT4oZXwwKSljPWE7ZWxzZSBicmVha31rPUVIKDIwKXwwO2Zb
az4+Ml09ZltjPj4yXTtmW2M+PjJdPWs7ZltrKzQ+PjJdPWQ7ZltrKzg+PjJdPWU7ZltrKzEyPj4y
XT1nO2ZbaysxNj4+Ml09aDt0PWw7cmV0dXJuIDF9ZnVuY3Rpb24gRUMoYSxiKXthPWF8MDtiPWJ8
MDtiPXQ7dD10KzE2fDA7WXcoMSwxMDY2ODMsYil8MDt0PWI7cmV0dXJuIDB9ZnVuY3Rpb24gRkMo
YSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAs
bT0wLG49MCxvPTAscD0wLHE9MCxyPTA7cj10O3Q9dCsxNDR8MDtxPXIrMTI4fDA7bj1yKzY0fDA7
bz1yO209KGMrLTN8MCk+Pj4wPDI/MDpjO1kyKG4sZCw2Myl8MDtkPXgxKG4sNTgpfDA7aWYoZCl7
ZT1kKzF8MDtiW2Q+PjBdPTA7ZD14MShlLDU4KXwwO2lmKCFkKWw9MDtlbHNle2JbZD4+MF09MDts
PWQrMXwwfX1lbHNle2w9MDtlPTB9aT0oZXwwKSE9MDtqPShsfDApPT0wO2s9KG18MCk9PShjfDAp
O2g9YSs2MCsoYzw8Mil8MDthOndoaWxlKDEpe2Q9ZltoPj4yXXwwO2lmKCFkKXtkPTA7YnJlYWt9
WTIobyxmW2QrND4+Ml18MCw2Myl8MDtkPXgxKG8sNTgpfDA7aWYoIWQpZD0wO2Vsc2V7YltkPj4w
XT0wO2Q9ZCsxfDB9ZG8gaWYoIShIJChvLG4pfDApKXtnPShkfDApIT0wO2lmKGkmZz9IJChkLGUp
fDA6MClicmVhaztpZighaj9IJChsLGZbKGZbKGZbaD4+Ml18MCkrMTI+PjJdfDApKzg+PjJdfDAp
fDA6MClicmVhaztpZihrfGdeMSl7cD0xNjticmVhayBhfWlmKEZDKGEsbSxkKXwwKXtwPTE2O2Jy
ZWFrIGF9fXdoaWxlKDApO2g9ZltoPj4yXXwwfWRvIGlmKChwfDApPT0xNil7ZD1mW2g+PjJdfDA7
aWYoZCl7ZT1kKzE2fDA7aWYoKGZbZT4+Ml18MCk9PTA/KEVDKDAsMCl8MCwoZltlPj4yXXwwKT09
MCk6MCl7ZD0wO2JyZWFrfWlmKChmW2ErOD4+Ml18MCk+MCl7cD1mWzE5NDU3XXwwO249ZltkKzQ+
PjJdfDA7bz1mWyhmW2QrMTI+PjJdfDApKzg+PjJdfDA7ZltxPj4yXT1mWzk1NTIrKGM8PDIpPj4y
XTtmW3ErND4+Ml09bjtmW3ErOD4+Ml09bztnMihwLDEwNjcxNCxxKXwwfX1lbHNlIGQ9MH13aGls
ZSgwKTtmW2ErODArKGM8PDIpPj4yXT1kO3Q9cjtyZXR1cm4gZHwwfWZ1bmN0aW9uIEdDKGEsYyxk
KXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wO2RvIGlmKCFkKWQ9MDtlbHNl
e2lmKGZbMTgxNTBdfDApe2F4KDE5MzE4MCwwLDApO2ZbMTgxNTBdPTB9aD12MihkKXwwO2Q9eDEo
aCw1OCl8MDtpZihkKXtiW2Q+PjBdPTA7YT1hKzYwKyhjPDwyKXwwO2Q9MTtnPWE7d2hpbGUoMSl7
Yz1mW2c+PjJdfDA7aWYoIWMpYnJlYWs7ZT12MihmW2MrND4+Ml18MCl8MDtjPXgxKGUsNTgpfDA7
aWYoY3wwKWJbYz4+MF09MDtpZighKChiW2g+PjBdfDApIT0wPyhiMyhoLGUpfDApIT0wOjApKXtk
PWZbNDgyOTZdfDA7aWYoZD4+PjA+PShmWzQ4Mjk3XXwwKT4+PjApe2J4KDE5MzE4MCwxKXwwO2Q9
Zls0ODI5Nl18MH1mWzQ4Mjk2XT1kKzE7YltkPj4wXT0zMjtkeCgxOTMxODAsZlsoZltnPj4yXXww
KSs0Pj4yXXwwKXwwO2Q9Zls0ODI5Nl18MDtpZihkPj4+MD49KGZbNDgyOTddfDApPj4+MCl7Yngo
MTkzMTgwLDEpfDA7ZD1mWzQ4Mjk2XXwwfWZbNDgyOTZdPWQrMTtiW2Q+PjBdPTU4O2R4KDE5MzE4
MCxmWyhmWyhmW2c+PjJdfDApKzEyPj4yXXwwKSs4Pj4yXXwwKXwwO2Q9MH1NXyhlKTtnPWZbZz4+
Ml18MH1NXyhoKTtpZihkPDwyND4+MjQpaT0xOX1lbHNle01fKGgpO2E9YSs2MCsoYzw8Mil8MDtk
PTE7aT0xOX1pZigoaXwwKT09MTkpe2U9MDtnPWE7d2hpbGUoMSl7YT1mW2c+PjJdfDA7aWYoIWEp
YnJlYWs7Yz12MihmW2ErND4+Ml18MCl8MDthPXgxKGMsNTgpfDA7aWYoYXwwKWJbYT4+MF09MDtp
ZighKChlfDApIT0wPyhiMyhlLGMpfDApPT0wOjApKXtkPWZbNDgyOTZdfDA7aWYoZD4+PjA+PShm
WzQ4Mjk3XXwwKT4+PjApe2J4KDE5MzE4MCwxKXwwO2Q9Zls0ODI5Nl18MH1mWzQ4Mjk2XT1kKzE7
YltkPj4wXT0zMjtkeCgxOTMxODAsYyl8MDtkPTB9ZT1jO2c9ZltnPj4yXXwwfWlmKGQ8PDI0Pj4y
NCl7ZD0xOTQ4NzA7YnJlYWt9fWQ9Zls0ODI5Nl18MDtpZihkPj4+MD49KGZbNDgyOTddfDApPj4+
MCl7YngoMTkzMTgwLDEpfDA7ZD1mWzQ4Mjk2XXwwfWJbZD4+MF09MDtkPWZbNDgyOTVdfDA7Zls0
ODI5Nl09ZH13aGlsZSgwKTtyZXR1cm4gZHwwfWZ1bmN0aW9uIEhDKGEpe2E9YXwwO3ZhciBjPTA7
aWYoIWEpeGEoMTE5NTM0LDEwNjczMSw1NzMsMTA2NzQ1KTtpZighKGJbYT4+MF18MCkpeGEoMTE5
NTM5LDEwNjczMSw1NzQsMTA2NzQ1KTtjPWZbNDgyOTldfDA7aWYoIWMpYT0wO2Vsc2UgYT13Yltm
W2M+PjJdJjYzXShjLGEsNTEyKXwwO3JldHVybiBhfDB9ZnVuY3Rpb24gSUMoYSl7YT1hfDA7dmFy
IGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7az10O3Q9dCsxNnwwO2o9ays4fDA7aT1r
O2lmKCFhKXhhKDExOTU4MiwxMDY3MzEsNTg5LDEwNjc2Mik7Zz1hKzh8MDtkPWZbZz4+Ml18MDtp
ZighZCl4YSgxMTk1ODUsMTA2NzMxLDU5MCwxMDY3NjIpO2lmKCEoYltkPj4wXXwwKSl4YSgxMTk1
OTQsMTA2NzMxLDU5MSwxMDY3NjIpO2g9YSsyMHwwO2U9ZltoPj4yXXwwO2RvIGlmKCFlKXtjPWdN
KGQpfDA7aWYoIWMpe2ZbaT4+Ml09ZltnPj4yXTtZdygwLDEwNjc4NixpKXwwO2M9MDticmVha31p
PXoxKGMsMTQ3MDkxKXwwO2ZbaD4+Ml09aTtpZighaSl7YT1YXygpfDA7YT1xJChmW2E+PjJdfDAp
fDA7ZltqPj4yXT1hO2Zbais0Pj4yXT1jO1l3KDAsMTA2ODExLGopfDA7Yz0wO2JyZWFrfWM9Zls0
ODMwMF18MDtpZigoY3wwKT40OSl7YlthKzE3Pj4wXT0xO2M9MTticmVha31lbHNle2ZbNDgzMDBd
PWMrMTtjPTE7YnJlYWt9fWVsc2V7ZjIoZSwwLDApfDA7aWYoIShmW2g+PjJdfDApKXhhKDEwNjgz
MiwxMDY3MzEsNjE0LDEwNjc2Mik7ZWxzZSBjPTF9d2hpbGUoMCk7dD1rO3JldHVybiBjfDB9ZnVu
Y3Rpb24gSkMoYSl7YT1hfDA7dmFyIGM9MCxkPTA7aWYoYlthKzE3Pj4wXXwwPyhjPWErMjB8MCxk
PWZbYz4+Ml18MCxkfDApOjApe0YxKGQpfDA7ZltjPj4yXT0wfXJldHVybn1mdW5jdGlvbiBLQyhh
LGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAuMCxnPTAuMDtpZighYil7ZD0tMTtj
PS0xfWVsc2V7ZD1mW2IrNDg+PjJdfDA7ZT0rKGR8MCk7aWYoIWQpe2c9K3BbYz4+M107ZT0rcFtj
Kzg+PjNdfWVsc2V7cFtjKzg+PjNdPWU7cFtjPj4zXT1lO2c9ZX1kPX5+KCsoKGZbYis0MD4+Ml18
MCkqNzJ8MCkvZyk7Yz1+figrKChmW2IrNDQ+PjJdfDApKjcyfDApL2UpfWZbYT4+Ml09ZDtmW2Er
ND4+Ml09YztyZXR1cm59ZnVuY3Rpb24gTEMoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBl
PTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAuMDtrPXQ7dD10KzQ4fDA7ZT1rKzE2fDA7aT1rO2o9
ayszMnwwO2lmKChkfDApIT0wPyhiW2Q+PjBdfDApIT0wOjApe2lmKCgwPT0wPyhnPWZbNDgzMjRd
fDAsKGZbNDgzMDFdfDApIT0oZ3wwKSk6MCk/KGZbNDgzMDFdPWcsaD1mWzQ4Mjk5XXwwLGh8MCk6
MCl7SHcoaCl8MDtmWzQ4Mjk5XT0wfWw9K3BbKGZbKGZbYysxNj4+Ml18MCkrOD4+Ml18MCkrMjQ+
PjNdO2w9IShsPj0xLjApPzk2LjA6bDtwW2krOD4+M109bDtwW2k+PjNdPWw7Yz1NQyhkKXwwO2Zb
ZT4+Ml09ZltpPj4yXTtmW2UrND4+Ml09ZltpKzQ+PjJdO2ZbZSs4Pj4yXT1mW2krOD4+Ml07Zltl
KzEyPj4yXT1mW2krMTI+PjJdO0tDKGosYyxlKTtjPWZbaj4+Ml18MDtlPWZbais0Pj4yXXwwfWVs
c2V7Yz0tMTtlPS0xfWZbYT4+Ml09YztmW2ErND4+Ml09ZTt0PWs7cmV0dXJufWZ1bmN0aW9uIE1D
KGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTA7ZD10O3Q9dCsxNnwwO2M9ZDtpZighYSl4YSgx
MTk1MzQsMTA2NzMxLDYzOCwxMDY4MzgpO2lmKCEoZls0ODI5OV18MCkpe2I9THcoNzI2MDQsZlsx
ODAwOV18MCl8MDtmWzQ4Mjk5XT1ifWI9SEMoYSl8MDthOmRvIGlmKCFiKXtiPURIKDY0KXwwO2lm
KCFiKWI9MDtlbHNle2U9WHooMCxhKXwwO2E9Yis4fDA7ZlthPj4yXT1lO2lmKCEoKElDKGIpfDAp
PDwyND4+MjQpKXtOQyhiKTtiPTA7YnJlYWt9aWYoIShmW2IrMjA+PjJdfDApKXhhKDEwNjgzMiwx
MDY3MzEsNjUzLDEwNjgzOCk7ZG8gc3dpdGNoKE9DKGIpfDApe2Nhc2UgMDp7ZT1jSyhmW2E+PjJd
fDApfDA7ZltiKzUyPj4yXT1lO2lmKCFlKXtmW2M+PjJdPWZbYT4+Ml07WXcoMCwxMDY4NTUsYyl8
MDtOQyhiKTtiPTA7YnJlYWsgYX1icmVha31jYXNlIDI6e1BDKGIpO2JyZWFrfWNhc2UgMzp7UUMo
Yik7YnJlYWt9Y2FzZSAxOntSQyhiKTticmVha31jYXNlIDQ6e1NDKGIpO2JyZWFrfWNhc2UgNjp7
VEMoYik7YnJlYWt9Y2FzZSAxMTp7VUMoYik7YnJlYWt9Y2FzZSA4OntWQyhiKTticmVha31jYXNl
IDU6e1dDKGIpO2JyZWFrfWNhc2UgMTI6e1hDKGIpO2JyZWFrfWRlZmF1bHQ6e319d2hpbGUoMCk7
SkMoYik7ZT1mWzQ4Mjk5XXwwO3diW2ZbZT4+Ml0mNjNdKGUsYiwxKXwwfX1lbHNlIEpDKGIpO3do
aWxlKDApO3Q9ZDtyZXR1cm4gYnwwfWZ1bmN0aW9uIE5DKGEpe2E9YXwwO3ZhciBiPTA7Yj1mW2Er
OD4+Ml18MDtpZihifDApWnooMCxiKXwwO01fKGEpO3JldHVybn1mdW5jdGlvbiBPQyhhKXthPWF8
MDt2YXIgYj0wLGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MDtqPXQ7dD10KzI0MHwwO2U9aisy
MDh8MDtnPWo7aD1hKzIwfDA7Yj1mW2g+PjJdfDA7YTpkbyBpZigoYnwwKSE9MD8oTDIoZSwxLDIw
LGIpfDApPT0yMDowKXtkPTA7d2hpbGUoMSl7aWYoZD4+PjA+PTEwKXtpPTE1O2JyZWFrIGF9aWYo
ISgkXyhlLGZbOTU4NCsoZDw8NCk+PjJdfDAsZls5NTg0KyhkPDw0KSs0Pj4yXXwwKXwwKSlicmVh
aztkPWQrMXwwfWM9YSsyOHwwO2ZbYz4+Ml09Zls5NTg0KyhkPDw0KSsxMj4+Ml07Yj1mWzk1ODQr
KGQ8PDQpKzg+PjJdfDA7YT1hKzI0fDA7ZlthPj4yXT1iO3N3aXRjaChkJjIxNDc0ODM2NDd8MCl7
Y2FzZSA3OmJyZWFrO2Nhc2UgODp7aWYoKGZbZSs4Pj4yXXwwKSE9MTM0NjUyMDQwNylicmVhayBh
O2ZbYz4+Ml09MTA3MDY2O2ZbYT4+Ml09MTE7Yj0xMTticmVhayBhfWRlZmF1bHQ6YnJlYWsgYX13
aGlsZSgxKXtpZighKEsxKGcsMjAwLGZbaD4+Ml18MCl8MCkpe2k9MTM7YnJlYWt9aWYoKGZbZz4+
Ml18MCk9PTE3MzU4MTU5OTYpe2k9MTA7YnJlYWt9fWlmKChpfDApPT0xMCl7ZltjPj4yXT0xMTAx
Mjk7ZlthPj4yXT04O2I9ODticmVha31lbHNlIGlmKChpfDApPT0xMyl7Yj1mW2E+PjJdfDA7YnJl
YWt9fWVsc2UgaT0xNTt3aGlsZSgwKTtpZigoaXwwKT09MTUpe2ZbYSsyOD4+Ml09MTA3MDcxO2Zb
YSsyND4+Ml09MDtiPTB9dD1qO3JldHVybiBifDB9ZnVuY3Rpb24gUEMoYSl7YT1hfDA7dmFyIGI9
MCxjPTAsZD0wLGU9MDtlPXQ7dD10KzE2fDA7Yj1lKzR8MDtjPWU7ZlthKzQ4Pj4yXT0wO2Q9YSsy
MHwwO2YyKGZbZD4+Ml18MCw2LDApfDA7aWYoKGVEKGZbZD4+Ml18MCwyLGIpfDApPDwyND4+MjQ/
KGVEKGZbZD4+Ml18MCwyLGMpfDApPDwyND4+MjQ6MCl7ZlthKzQwPj4yXT1mW2I+PjJdO2ZbYSs0
ND4+Ml09ZltjPj4yXX10PWU7cmV0dXJufWZ1bmN0aW9uIFFDKGEpe2E9YXwwO3ZhciBiPTAsYz0w
LGQ9MCxlPTA7ZT10O3Q9dCsxNnwwO2I9ZSs0fDA7Yz1lO2ZbYSs0OD4+Ml09MDtkPWErMjB8MDtm
MihmW2Q+PjJdfDAsMTYsMCl8MDtpZigoWUMoZltkPj4yXXwwLDQsYil8MCk8PDI0Pj4yND8oWUMo
ZltkPj4yXXwwLDQsYyl8MCk8PDI0Pj4yNDowKXtmW2ErNDA+PjJdPWZbYj4+Ml07ZlthKzQ0Pj4y
XT1mW2M+PjJdfXQ9ZTtyZXR1cm59ZnVuY3Rpb24gUkMoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0w
LGU9MCxnPTAsaD0wO2g9dDt0PXQrMTZ8MDtiPWgrMTJ8MDtjPWgrOHwwO2Q9aCs0fDA7ZT1oO2Zb
YSs0OD4+Ml09MDtnPWErMjB8MDtmMihmW2c+PjJdfDAsMTYsMCl8MDtpZigoKChlRChmW2c+PjJd
fDAsMixiKXwwKTw8MjQ+PjI0PyhlRChmW2c+PjJdfDAsMixjKXwwKTw8MjQ+PjI0OjApPyhlRChm
W2c+PjJdfDAsMixkKXwwKTw8MjQ+PjI0OjApPyhlRChmW2c+PjJdfDAsMixlKXwwKTw8MjQ+PjI0
OjApe2ZbYSs0MD4+Ml09ZltiPj4yXTw8MTZ8ZltjPj4yXTtmW2ErNDQ+PjJdPWZbZD4+Ml08PDE2
fGZbZT4+Ml19dD1oO3JldHVybn1mdW5jdGlvbiBTQyhhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAs
ZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wO2w9dDt0PXQrMzJ8MDtiPWwrMTZ8MDtkPWwrMTJ8
MDtlPWwrOHwwO2g9bCs0fDA7aT1sO2ZbYSs0OD4+Ml09MDtqPWErMjB8MDt3aGlsZSgxKXtpZigh
KChZQyhmW2o+PjJdfDAsMSxiKXwwKTw8MjQ+PjI0KSlicmVhaztjPWZbYj4+Ml18MDtpZigoY3ww
KSE9MjU1Pyh4MSgxMDcwNTQsYyl8MCk9PTA6MCl7aWYoKGN8MCk9PTE5Mil7az03O2JyZWFrfWc9
ZltqPj4yXXwwO2lmKChjfDApPT0xOTQpe2s9MTI7YnJlYWt9aWYoISgoWUMoZywyLGQpfDApPDwy
ND4+MjQpKWJyZWFrO2YyKGZbaj4+Ml18MCwoZltkPj4yXXwwKSstMnwwLDEpfDB9fWlmKChrfDAp
PT03KXtpZigoKFlDKGZbaj4+Ml18MCwzLGkpfDApPDwyND4+MjQ/KFlDKGZbaj4+Ml18MCwyLGUp
fDApPDwyND4+MjQ6MCk/KFlDKGZbaj4+Ml18MCwyLGgpfDApPDwyND4+MjQ6MCl7ZlthKzQ0Pj4y
XT1mW2U+PjJdO2ZbYSs0MD4+Ml09ZltoPj4yXX19ZWxzZSBpZigoKChrfDApPT0xMj8oWUMoZywz
LGkpfDApPDwyND4+MjQ6MCk/KFlDKGZbaj4+Ml18MCwyLGUpfDApPDwyND4+MjQ6MCk/KFlDKGZb
aj4+Ml18MCwyLGgpfDApPDwyND4+MjQ6MCl7ZlthKzQ0Pj4yXT1mW2U+PjJdO2ZbYSs0MD4+Ml09
ZltoPj4yXX10PWw7cmV0dXJufWZ1bmN0aW9uIFRDKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxl
PTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTA7bD10O3Q9dCsxMDU2fDA7aj1sKzEwMjR8MDtiPWw7
ZD1sKzEwNTJ8MDtlPWwrMTA0OHwwO2c9bCsxMDQ0fDA7aD1sKzEwNDB8MDtmW2ErNDg+PjJdPTcy
O2k9YSsyMHwwO2YyKGZbaT4+Ml18MCwwLDApfDA7d2hpbGUoMSl7aWYoIShLMShiLDEwMjQsZltp
Pj4yXXwwKXwwKSlicmVhaztjPWoyKGIsMTA3MDM5KXwwO2lmKGN8MD8oZltqPj4yXT1kLGZbais0
Pj4yXT1lLGZbais4Pj4yXT1nLGZbaisxMj4+Ml09aCwoTTEoYywxMTI2Mzcsail8MCk9PTQpOjAp
e2s9NjticmVha319aWYoKGt8MCk9PTYpe2o9ZltkPj4yXXwwO2ZbYSszMj4+Ml09ajtrPWZbZT4+
Ml18MDtmW2ErMzY+PjJdPWs7ZlthKzQwPj4yXT0oZltnPj4yXXwwKS1qO2ZbYSs0ND4+Ml09KGZb
aD4+Ml18MCkta310PWw7cmV0dXJufWZ1bmN0aW9uIFVDKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9
MCxlPTAsZz0wLGg9MDtnPXQ7dD10KzE2fDA7Yj1nKzR8MDtjPWc7ZlthKzQ4Pj4yXT0wO2Q9YSsy
MHwwO2YyKGZbZD4+Ml18MCwxNSwwKXwwO2g9KE4yKGZbZD4+Ml18MCl8MCk9PTg4O2U9ZltkPj4y
XXwwO2lmKGgpe2YyKGUsMjQsMCl8MDtpZigoZUQoZltkPj4yXXwwLDQsYil8MCk8PDI0Pj4yND8o
ZUQoZltkPj4yXXwwLDQsYyl8MCk8PDI0Pj4yNDowKXtmW2ErNDA+PjJdPWZbYj4+Ml07ZlthKzQ0
Pj4yXT1mW2M+PjJdfX1lbHNle2YyKGUsMjYsMCl8MDtpZigoZUQoZltkPj4yXXwwLDIsYil8MCk8
PDI0Pj4yND8oZUQoZltkPj4yXXwwLDIsYyl8MCk8PDI0Pj4yNDowKXtmW2ErNDA+PjJdPWZbYj4+
Ml07ZlthKzQ0Pj4yXT1mW2M+PjJdfX10PWc7cmV0dXJufWZ1bmN0aW9uIFZDKGEpe2E9YXwwO3Zh
ciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0w
LHM9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTA7
Rz10O3Q9dCszNTJ8MDtDPUcrMzEyfDA7Qj1HKzMwNHwwO0U9RysyOTZ8MDtEPUcrMjg4fDA7QT1H
KzI4MHwwO2M9RysyNzJ8MDtyPUcrMjY0fDA7cz1HKzI1NnwwO3U9RysyNDh8MDt2PUcrMjQwfDA7
dz1HKzIzMnwwO3g9RyszMjh8MDt5PUcrMzJ8MDt6PUc7aWYoIShmWzQ4MzAyXXwwKSl7aWYoZDAo
MTkzMjEyLDEwNjkyNCwxKXwwKXtmW2M+PjJdPTEwNjkyNDtZdygxLDEwNjk1MSxjKXwwfWZbNDgz
MDJdPTE5MzIxMn1rPWErMjB8MDtmMihmW2s+PjJdfDAsMCwwKXwwO2w9eisxMnwwO209eisyMHww
O249eis4fDA7bz16KzE2fDA7cT16KzR8MDtkPTA7ZT0wO2c9MDtoPTA7d2hpbGUoMSl7aWYoIShL
MSh5LDIwMCxmW2s+PjJdfDApfDApKWJyZWFrO2lmKCEoZTw8MjQ+PjI0PT0wfGQ8PDI0Pj4yND09
MCkpYnJlYWs7Yz15O2E6d2hpbGUoMSl7Yjp3aGlsZSgxKXt3aGlsZSgxKXtpZihiMSgxOTMyMTIs
Yyw0LHosMCl8MCl7Yz1oO2JyZWFrIGF9YltjKyhmW2w+PjJdfDApPj4wXT0wO2JbYysoZlttPj4y
XXwwKT4+MF09MDtpPWMrKGZbbj4+Ml18MCl8MDtqPWMrKGZbbz4+Ml18MCl8MDtjPWMrKChmW3E+
PjJdfDApKzEpfDA7aWYoIShIJChpLDE0ODI1MSl8MCkpYnJlYWs7aWYoIShIJChpLDE0ODE4Myl8
MCkpYnJlYWsgYjtpZigoSCQoaSwxMDY5OTgpfDApPT0wPyhmW0M+PjJdPXMsZltDKzQ+PjJdPXUs
ZltDKzg+PjJdPXYsZltDKzEyPj4yXT13LChNMShqLDEwNzAwNixDKXwwKT09NCk6MCl7Rj0yNzti
cmVhayBhfX1mW0E+PjJdPXI7ZltBKzQ+PjJdPXg7aWYoKE0xKGosMTA2OTg4LEEpfDApIT0yKXtm
W0Q+PjJdPXI7aWYoKE0xKGosMTA5NTM1LEQpfDApPT0xKXtlPTE7Zz1kRCgrcFtyPj4zXSwxMDY5
OTUpfDB9fWVsc2V7ZT0xO2c9ZEQoK3Bbcj4+M10seCl8MH1pZighKGQ8PDI0Pj4yNCkpZD0wO2Vs
c2V7Yz1oO2JyZWFrIGF9fWZbRT4+Ml09cjtmW0UrND4+Ml09eDtpZigoTTEoaiwxMDY5ODgsRSl8
MCkhPTIpe2ZbQj4+Ml09cjtpZigoTTEoaiwxMDk1MzUsQil8MCk9PTEpe2Q9MTtoPWREKCtwW3I+
PjNdLDEwNjk5NSl8MH19ZWxzZXtkPTE7aD1kRCgrcFtyPj4zXSx4KXwwfWlmKCEoZTw8MjQ+PjI0
KSllPTA7ZWxzZXtjPWg7YnJlYWt9fWlmKChGfDApPT0yNyl7Rj0wO2Q9MTtlPTE7Zz1+figrcFt2
Pj4zXSsxLjAtK3Bbcz4+M10pPj4+MDtjPX5+KCtwW3c+PjNdKzEuMC0rcFt1Pj4zXSk+Pj4wfWg9
Y31mW2ErNDg+PjJdPTA7ZlthKzQwPj4yXT1nO2ZbYSs0ND4+Ml09aDt0PUc7cmV0dXJufWZ1bmN0
aW9uIFdDKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAuMCxnPTAuMDtjPXQ7dD10KzMyfDA7
Yj1jO2ZbYSs0OD4+Ml09MDtkPWErMjB8MDtmMihmW2Q+PjJdfDAsMCwwKXwwO2lmKCEoWkMoZltk
Pj4yXXwwLGIpfDApKXtnPStwW2I+PjNdO2ZbYSszMj4+Ml09fn5nO2U9K3BbYis4Pj4zXTtmW2Er
MzY+PjJdPX5+ZTtmW2ErNDA+PjJdPX5+KCtwW2IrMTY+PjNdLWcpO2ZbYSs0ND4+Ml09fn4oK3Bb
YisyND4+M10tZSl9dD1jO3JldHVybn1mdW5jdGlvbiBYQyhhKXthPWF8MDt2YXIgYj0wLGM9MCxk
PTAsZT0wO2U9dDt0PXQrMTZ8MDtiPWUrNHwwO2M9ZTtmW2ErNDg+PjJdPTA7ZD1hKzIwfDA7ZjIo
ZltkPj4yXXwwLDYsMCl8MDtpZigoWUMoZltkPj4yXXwwLDEsYil8MCk8PDI0Pj4yND8oWUMoZltk
Pj4yXXwwLDEsYyl8MCk8PDI0Pj4yNDowKXtmW2ErNDA+PjJdPWZbYj4+Ml07ZlthKzQ0Pj4yXT1m
W2M+PjJdfXQ9ZTtyZXR1cm59ZnVuY3Rpb24gWUMoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3Zh
ciBkPTAsZT0wO2ZbYz4+Ml09MDtkPTA7d2hpbGUoMSl7aWYoZD4+PjA+PWI+Pj4wKXtkPTE7YnJl
YWt9ZT1OMihhKXwwO2lmKEwxKGEpfDApe2Q9MDticmVha31mW2M+PjJdPWZbYz4+Ml08PDh8ZTtk
PWQrMXwwfXJldHVybiBkfDB9ZnVuY3Rpb24gWkMoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9
MCxlPTAsZz0wLGg9MDtoPXQ7dD10KzEwNDB8MDtjPWgrMTAyNHwwO2Q9aDt3aGlsZSgxKXtpZigh
KEsxKGQsMTAyNCxhKXwwKSl7YT0xO2JyZWFrfWU9ajIoZCwxMDY5MTQpfDA7aWYoZXwwKXtnPTQ7
YnJlYWt9fWlmKChnfDApPT00KXtmW2MrND4+Ml09ZDtmW2M+PjJdPWUrOTtmW2MrOD4+Ml09YTth
PV9DKGMsYil8MH10PWg7cmV0dXJuIGF8MH1mdW5jdGlvbiBfQyhhLGMpe2E9YXwwO2M9Y3wwO3Zh
ciBkPTAsZT0wLGc9MDtnPXQ7dD10KzEwMjR8MDtlPWc7JEMoYSk7ZD1iW2ZbYT4+Ml0+PjBdfDA7
aWYoIShkPDwyND4+MjQpKWQ9KGFEKGEpfDApJjI1NTtlbHNlIGQ9ZDw8MjQ+PjI0O2lmKCgoKGR8
MCk9PTkxPyhmW2E+PjJdPShmW2E+PjJdfDApKzEsYkQoYSxlKSwoY0QoZSxjKXwwKT09MCk6MCk/
KGJEKGEsZSksKGNEKGUsYys4fDApfDApPT0wKTowKT8oYkQoYSxlKSwoY0QoZSxjKzE2fDApfDAp
PT0wKTowKXtiRChhLGUpO2Q9KGNEKGUsYysyNHwwKXwwKSE9MCYxfWVsc2UgZD0xO3Q9ZztyZXR1
cm4gZHwwfWZ1bmN0aW9uICRDKGEpe2E9YXwwO3ZhciBjPTA7Yz1mW2E+PjJdfDA7d2hpbGUoMSl7
Yz1iW2M+PjBdfDA7aWYoIShjPDwyND4+MjQpKWM9KGFEKGEpfDApJjI1NTtlbHNlIGM9Yzw8MjQ+
PjI0O2lmKCEoKGMmMjU1KTw8MjQ+PjI0KSlicmVhaztpZighKFAkKGMmMjU1KXwwKSlicmVhaztj
PShmW2E+PjJdfDApKzF8MDtmW2E+PjJdPWN9cmV0dXJufWZ1bmN0aW9uIGFEKGEpe2E9YXwwO3Zh
ciBjPTA7Yz1hKzR8MDtpZighKEsxKGZbYz4+Ml18MCwxMDI0LGZbYSs4Pj4yXXwwKXwwKSlhPTA7
ZWxzZXtjPWZbYz4+Ml18MDtmW2E+PjJdPWM7YT1iW2M+PjBdfDB9cmV0dXJuIGF8MH1mdW5jdGlv
biBiRChhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MDskQyhhKTtkPTA7ZT1mW2E+PjJd
fDA7d2hpbGUoMSl7ZT1iW2U+PjBdfDA7aWYoIShlPDwyND4+MjQpKWU9KGFEKGEpfDApJjI1NTtl
bHNlIGU9ZTw8MjQ+PjI0O2c9ZTw8MjQ7aWYoIWcpYnJlYWs7aWYoISgoZ3wwKT09NzcxNzUxOTM2
fCgoZz4+MjQpKy00OHwwKT4+PjA8MTApKWJyZWFrO2JbYytkPj4wXT1lO2Q9ZCsxfDA7ZT0oZlth
Pj4yXXwwKSsxfDA7ZlthPj4yXT1lO2lmKChkfDApPT0xMDIzKXtkPTEwMjM7YnJlYWt9fWJbYytk
Pj4wXT0wO3JldHVybn1mdW5jdGlvbiBjRChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAs
ZT0wO2Q9dDt0PXQrMTZ8MDtlPWQ7Yz0rQjIoYSxlKTtpZigoZltlPj4yXXwwKT09KGF8MCkpYT0x
O2Vsc2V7cFtiPj4zXT1jO2E9MH10PWQ7cmV0dXJuIGF8MH1mdW5jdGlvbiBkRChhLGIpe2E9K2E7
Yj1ifDA7dmFyIGM9MC4wO2RvIGlmKCEoSCQoYiwxMDcwMjIpfDApKXthPWEqNzIuMDtjPWE7YT1h
Pj0wLjA/LjU6LS41fWVsc2V7aWYoIShIJChiLDEwNzAyNSl8MCkpe2E9YSouNzU7Yz1hO2E9YT49
MC4wPy41Oi0uNTticmVha31pZighKEgkKGIsMTA3MDI4KXwwKSl7YT1hKjEyLjA7Yz1hO2E9YT49
MC4wPy41Oi0uNTticmVha31pZihIJChiLDEwNjk5NSl8MD9IJChiLDEwNzAzMSl8MDowKWlmKCEo
SCQoYiwxMDcwMzMpfDApKXthPWEqMjguMzQ2NDU2NjY0O2M9YTthPWE+PTAuMD8uNTotLjU7YnJl
YWt9ZWxzZXtiPShIJChiLDEwNzAzNil8MCk9PTA7Yz1hKjIuODM0NjQ1NjY2Mzk5OTk5NztyZXR1
cm4gKGI/fn4oYysoYz49MC4wPy41Oi0uNSkpOjApfDB9Yz1hPj0wLjA/LjU6LS41fXdoaWxlKDAp
O3JldHVybiB+fihjK2EpfDB9ZnVuY3Rpb24gZUQoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3Zh
ciBkPTAsZT0wO2ZbYz4+Ml09MDtkPTA7d2hpbGUoMSl7aWYoZD4+PjA+PWI+Pj4wKXtkPTE7YnJl
YWt9ZT1OMihhKXwwO2lmKEwxKGEpfDApe2Q9MDticmVha31mW2M+PjJdPWZbYz4+Ml18ZTw8KGQ8
PDMpO2Q9ZCsxfDB9cmV0dXJuIGR8MH1mdW5jdGlvbiBmRChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1j
fDA7dmFyIGQ9MDthPWZbYisyMD4+Ml18MDtpZihhfDApRjEoYSl8MDtpZihmW2IrNTI+PjJdfDA/
KGQ9ZltiKzYwPj4yXXwwLGR8MCk6MClDYltkJjEyN10oYik7TV8oYik7cmV0dXJufWZ1bmN0aW9u
IGdEKCl7dmFyIGE9MDt3eCgwLDEsMTE2NTUwLDExMzgxOSl8MDthPXRDKDAsMSl8MDtVUChhLDAp
O3JldHVybiBhfDB9ZnVuY3Rpb24gaEQoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAs
Zz0wLGg9MCxpPTAsaj0wLGs9MC4wLGw9MC4wLG09MC4wLG49MC4wO2o9dDt0PXQrMzA0fDA7aT1q
KzI4MHwwO2g9aisyNjR8MDtlPWorMjU2fDA7Zz1qO2lmKChiQyhhLGQpfDApIT05OTkpaWYoKGND
KGEsYyl8MCk9PS0xKWE9LTE7ZWxzZXthPWZbYysxNj4+Ml18MDtkPWErMTZ8MDtpZighKGJbKGZb
YSs4Pj4yXXwwKSs4MT4+MF18MCkpe249K3BbZD4+M107bT0rcFthKzI0Pj4zXTtsPStwW2ErMzI+
PjNdO2s9K3BbYSs0MD4+M107ZltpPj4yXT1+fihuKyhuPj0wLjA/LjU6LS41KSk7ZltpKzQ+PjJd
PX5+KG0rKG0+PTAuMD8uNTotLjUpKTtmW2krOD4+Ml09fn4obCsobD49MC4wPy41Oi0uNSkpO2Zb
aSsxMj4+Ml09fn4oaysoaz49MC4wPy41Oi0uNSkpO2QkKGcsMTA3MjI1LGkpfDB9ZWxzZXtrPStw
W2ErMjQ+PjNdO2w9K3BbZD4+M107bT0rcFthKzQwPj4zXTtuPStwW2ErMzI+PjNdO2ZbaD4+Ml09
fn4oaysoaz49MC4wPy41Oi0uNSkpO2ZbaCs0Pj4yXT1+fihsKyhsPj0wLjA/LjU6LS41KSk7Zlto
Kzg+PjJdPX5+KG0rKG0+PTAuMD8uNTotLjUpKTtmW2grMTI+PjJdPX5+KG4rKG4+PTAuMD8uNTot
LjUpKTtkJChnLDEwNzIyNSxoKXwwfUp4KGMsMTEwOTk3LGcsMTk0ODcwKXwwO2E9MH1lbHNle2E9
R0MoYSwxLGQpfDA7ZltlPj4yXT1kO2ZbZSs0Pj4yXT1hO1l3KDEsMTA3MTc2LGUpfDA7YT0tMX10
PWo7cmV0dXJuIGF8MH1mdW5jdGlvbiBpRChhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8
MDt2YXIgZT0wLGc9MCxoPTAsaT0wO2k9dDt0PXQrMTZ8MDtnPWk7ZT1mW2IrNjA+PjJdfDA7eEMo
YSxjKXwwO2I9ZlthKzE2ND4+Ml18MDtjPURPKGIsZltiKzUyPj4yXXwwKXwwO2ZbYis1Nj4+Ml09
YztpZigoSnooZSwxNDU3NTMsMCwxKXwwKSE9MD8oZlsoZltlKzE2Pj4yXXwwKSs4Pj4yXXwwKSE9
MDowKWg9NTtlbHNlIGlmKCEoZltiKzE1Mj4+Ml0mNjcxMDg4NjQpKXskdygxMDcyMzcsZyk7Yj0t
MX1lbHNlIGg9NTtpZigoaHwwKT09NSl7ZltiKzM2Pj4yXT1kO2lmKCFkKXtoPWIrMTUyfDA7Zlto
Pj4yXT1mW2g+PjJdfDEzNDIxNzcyOH1oPU1HKGEsZSl8MDtGTyhiKTtDQyhhKTtiPWh9dD1pO3Jl
dHVybiBifDB9ZnVuY3Rpb24gakQoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFy
IGU9MCxnPTAsaD0wLGk9MDtpPXQ7dD10KzE2fDA7Zz1pO2U9ZltiKzYwPj4yXXwwO3hDKGEsYyl8
MDtiPWZbYSsxNjQ+PjJdfDA7Yz1ETyhiLGZbYis1Mj4+Ml18MCl8MDtmW2IrNTY+PjJdPWM7aWYo
KEp6KGUsMTQ1NzUzLDAsMSl8MCkhPTA/KGZbKGZbZSsxNj4+Ml18MCkrOD4+Ml18MCkhPTA6MClo
PTU7ZWxzZSBpZighKGZbYisxNTI+PjJdJjY3MTA4ODY0KSl7JHcoMTA3MjM3LGcpO2I9LTF9ZWxz
ZSBoPTU7aWYoKGh8MCk9PTUpe3dDKGEsZCk7aD1NRyhhLGUpfDA7Rk8oYik7bUMoYik7Q0MoYSk7
Yj1ofXQ9aTtyZXR1cm4gYnwwfWZ1bmN0aW9uIGtEKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1j
fDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wO2w9dDt0PXQrMTZ8MDto
PWwrOHwwO2c9bDtiPWZbYis2MD4+Ml18MDt4QyhhLGMpfDA7aj1mW2ErMTY0Pj4yXXwwO2M9RE8o
aixmW2orNTI+PjJdfDApfDA7ZltqKzU2Pj4yXT1jO2lmKChKeihiLDE0NTc1MywwLDEpfDApIT0w
PyhmWyhmW2IrMTY+PjJdfDApKzg+PjJdfDApIT0wOjApaz01O2Vsc2UgaWYoIShmW2orMTUyPj4y
XSY2NzEwODg2NCkpeyR3KDEwNzIzNyxnKTtiPS0xfWVsc2Ugaz01O2RvIGlmKChrfDApPT01KXtp
ZihkfDA/KGk9TF8oNDA5Nil8MCxmW2Q+PjJdPWksaXwwKTowKXtnPWorNDB8MDtmW2c+PjJdPWk7
ZltqKzQ0Pj4yXT00MDk2O2M9ais0OHwwO2ZbYz4+Ml09MDtiPU1HKGEsYil8MDtGTyhqKTtpZigh
Yil7ZltkPj4yXT1mW2c+PjJdO2ZbZT4+Ml09ZltjPj4yXX1DQyhhKTticmVha31ZdygxLDEwNzI1
OCxoKXwwO2I9LTF9d2hpbGUoMCk7dD1sO3JldHVybiBifDB9ZnVuY3Rpb24gbEQoYSxiKXthPWF8
MDtiPWJ8MDtTUChhLDAsYik7cmV0dXJufWZ1bmN0aW9uIG1EKGEsYyxkLGUpe2E9YXwwO2M9Y3ww
O2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAs
cT0wLHI9MCxzPTAsdT0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEg9MDtI
PXQ7dD10KzQyODh8MDtEPUgrNDIzMnwwO0M9SCs0MjI0fDA7RT00O0Y9TF8oNDApfDA7ZltGPj4y
XT0wO3o9SCs0MDk2fDA7QT1IKzQyNzZ8MDtCPUgrNDI1NnwwO2o9SCs0MjQwfDA7az1IO3Y9MDtp
PWdhKDI0LGF8MCl8MDtnPXY7dj0wO2lmKChnfDApIT0wJih3fDApIT0wKXtoPVAzKGZbZz4+Ml18
MCxGfDAsRXwwKXwwO2lmKCFoKWpiKGd8MCx3fDApO0c9d31lbHNlIGg9LTE7YTpkbyBpZigoaHww
KSE9MSl7aWYoIWkpe2ZbYz4+Ml09MDtnPTA7YnJlYWt9dj0wO209amEoMjYsZHwwLEF8MCx6fDAp
fDA7Zz12O3Y9MDtpZigoZ3wwKSE9MCYod3wwKSE9MCl7aD1QMyhmW2c+PjJdfDAsRnwwLEV8MCl8
MDtpZighaClqYihnfDAsd3wwKTtHPXd9ZWxzZSBoPS0xO2lmKChofDApIT0xKXt2PTA7bD1nYSgy
Myw0MCl8MDtnPXY7dj0wO2lmKChnfDApIT0wJih3fDApIT0wKXtoPVAzKGZbZz4+Ml18MCxGfDAs
RXwwKXwwO2lmKCFoKWpiKGd8MCx3fDApO0c9d31lbHNlIGg9LTE7aWYoKGh8MCkhPTEpe3Y9MDt1
YSg3LEJ8MCxqfDAsa3wwLDI0LDgzKTtnPXY7dj0wO2lmKChnfDApIT0wJih3fDApIT0wKXtoPVAz
KGZbZz4+Ml18MCxGfDAsRXwwKXwwO2lmKCFoKWpiKGd8MCx3fDApO0c9d31lbHNlIGg9LTE7aWYo
KGh8MCkhPTEpe3Y9MDtkPWdhKDI1LGF8MCl8MDtnPXY7dj0wO2lmKChnfDApIT0wJih3fDApIT0w
KXtoPVAzKGZbZz4+Ml18MCxGfDAsRXwwKXwwO2lmKCFoKWpiKGd8MCx3fDApO0c9d31lbHNlIGg9
LTE7aWYoKGh8MCkhPTEpe2o9QisxNnwwO2k9ZltqPj4yXXwwO2c9ZDt3aGlsZSgxKXtpZighZyli
cmVhazt2PTA7aGEoaXwwLGd8MCwwKXwwO2g9djt2PTA7aWYoKGh8MCkhPTAmKHd8MCkhPTApe2Q9
UDMoZltoPj4yXXwwLEZ8MCxFfDApfDA7aWYoIWQpamIoaHwwLHd8MCk7Rz13fWVsc2UgZD0tMTtp
ZigoZHwwKT09MSl7eT0wO3g9bDt1PW07Zz1HO2w9MTU7YnJlYWsgYX12PTA7Zz1oYSg4NCxhfDAs
Z3wwKXwwO2g9djt2PTA7aWYoKGh8MCkhPTAmKHd8MCkhPTApe2Q9UDMoZltoPj4yXXwwLEZ8MCxF
fDApfDA7aWYoIWQpamIoaHwwLHd8MCk7Rz13fWVsc2UgZD0tMTtpZigoZHwwKT09MSl7eT0wO3g9
bDt1PW07Zz1HO2w9MTU7YnJlYWsgYX19Rj1PMygxODgyNDAsMSxGfDAsRXwwKXwwO0U9Rzt2PTA7
Zz12O3Y9MDtpZigoZ3wwKSE9MCYod3wwKSE9MCl7aD1QMyhmW2c+PjJdfDAsRnwwLEV8MCl8MDtp
ZighaClqYihnfDAsd3wwKTtHPXd9ZWxzZSBoPS0xO2lmKChofDApPT0xKXt5PWw7eD1sO3U9bTtn
PUc7bD0xNX1lbHNle3k9bDt4PWw7dT1tO2c9MDtsPTE1fX1lbHNle3k9MDtqPTA7eD1sO3U9bTtn
PUc7bD0xNX19ZWxzZXt5PTA7aj0wO3g9bDt1PW07Zz1HO2w9MTV9fWVsc2V7eT0wO2o9MDt4PWw7
dT1tO2c9RztsPTE1fX1lbHNle3k9MDtqPTA7eD0wO3U9bTtnPUc7bD0xNX19ZWxzZXt5PTA7aj0w
O3g9MDt1PTA7Zz1HO2w9MTV9d2hpbGUoMCk7ZG8gaWYoKGx8MCk9PTE1KXtiOndoaWxlKDEpe2M6
ZG8gaWYoIWcpe3Y9MDtkPWdhKDI1LGF8MCl8MDtnPXY7dj0wO2lmKChnfDApIT0wJih3fDApIT0w
KXtoPVAzKGZbZz4+Ml18MCxGfDAsRXwwKXwwO2lmKCFoKWpiKGd8MCx3fDApO0c9d31lbHNlIGg9
LTE7aWYoKGh8MCk9PTEpe3E9dTtyPXg7cz1qO2w9eTtnPUc7dT1xO3g9cjtqPXM7eT1sO2w9MTU7
Y29udGludWUgYn1zPXUrKGZbQT4+Ml18MCl8MDtrPTA7bD0wO3A9MDt3aGlsZSgxKXtpZighZCli
cmVhazt2PTA7Zz1oYShmW2o+PjJdfDAsZHwwLC0xKXwwO2g9djt2PTA7aWYoKGh8MCkhPTAmKHd8
MCkhPTApe2k9UDMoZltoPj4yXXwwLEZ8MCxFfDApfDA7aWYoIWkpamIoaHwwLHd8MCk7Rz13fWVs
c2UgaT0tMTtpZigoaXwwKT09MSl7cT11O3I9eDtzPWo7bD15O2c9Rzt1PXE7eD1yO2o9czt5PWw7
bD0xNTtjb250aW51ZSBifWlmKChnfDApPT0wPyhiWyhmW2QrMTY+PjJdfDApKzExOT4+MF18MCk9
PTM6MCl7aWYoIWwpe3Y9MDtmW0M+PjJdPXA7amEoMjcsc3wwLDE0NTY2NSxDfDApfDA7Zz12O3Y9
MDtpZigoZ3wwKSE9MCYod3wwKSE9MCl7aD1QMyhmW2c+PjJdfDAsRnwwLEV8MCl8MDtpZighaClq
YihnfDAsd3wwKTtHPXd9ZWxzZSBoPS0xO2lmKChofDApPT0xKXtxPXU7cj14O3M9ajtsPXk7Zz1H
O3U9cTt4PXI7aj1zO3k9bDtsPTE1O2NvbnRpbnVlIGJ9dj0wO2w9amEoMjgsYXwwLHV8MCwxKXww
O2c9djt2PTA7aWYoKGd8MCkhPTAmKHd8MCkhPTApe2g9UDMoZltnPj4yXXwwLEZ8MCxFfDApfDA7
aWYoIWgpamIoZ3wwLHd8MCk7Rz13fWVsc2UgaD0tMTtpZigoaHwwKT09MSl7cT11O3I9eDtzPWo7
bD15O2c9Rzt1PXE7eD1yO2o9czt5PWw7bD0xNTtjb250aW51ZSBifXY9MDtrYSg1MyxsfDAsMTQ1
NzUzLDI4MCwxKXwwO2c9djt2PTA7aWYoKGd8MCkhPTAmKHd8MCkhPTApe2g9UDMoZltnPj4yXXww
LEZ8MCxFfDApfDA7aWYoIWgpamIoZ3wwLHd8MCk7Rz13fWVsc2UgaD0tMTtpZigoaHwwKT09MSl7
cT11O3I9eDtzPWo7bD15O2c9Rzt1PXE7eD1yO2o9czt5PWw7bD0xNTtjb250aW51ZSBifWZbeSso
cDw8Mik+PjJdPWw7az0xO209bDtpPXArMXwwO2c9bH1lbHNle209bDtpPXA7Zz1sfXY9MDtrYSg1
NCxhfDAsZHwwLGd8MCxCfDApfDA7Zz12O3Y9MDtpZigoZ3wwKSE9MCYod3wwKSE9MCl7aD1QMyhm
W2c+PjJdfDAsRnwwLEV8MCl8MDtpZighaClqYihnfDAsd3wwKTtHPXd9ZWxzZSBoPS0xO2lmKCho
fDApPT0xKXtxPXU7cj14O3M9ajtsPXk7Zz1HO3U9cTt4PXI7aj1zO3k9bDtsPTE1O2NvbnRpbnVl
IGJ9bD1tfWVsc2UgaT1wO3Y9MDtkPWhhKDg0LGF8MCxkfDApfDA7Zz12O3Y9MDtpZigoZ3wwKSE9
MCYod3wwKSE9MCl7aD1QMyhmW2c+PjJdfDAsRnwwLEV8MCl8MDtpZighaClqYihnfDAsd3wwKTtH
PXd9ZWxzZSBoPS0xO2lmKChofDApPT0xKXtxPXU7cj14O3M9ajtsPXk7Zz1HO3U9cTt4PXI7aj1z
O3k9bDtsPTE1O2NvbnRpbnVlIGJ9cD1pfXY9MDtkPWdhKDI1LGF8MCl8MDtnPXY7dj0wO2lmKChn
fDApIT0wJih3fDApIT0wKXtoPVAzKGZbZz4+Ml18MCxGfDAsRXwwKXwwO2lmKCFoKWpiKGd8MCx3
fDApO0c9d31lbHNlIGg9LTE7aWYoKGh8MCk9PTEpe3E9dTtyPXg7cz1qO2w9eTtnPUc7dT1xO3g9
cjtqPXM7eT1sO2w9MTU7Y29udGludWUgYn1pPTEwO209eTtuPXg7bz14O3I9eDt3aGlsZSgxKXtp
ZighZCl7bD0wO249cDtpPW87ZD1yO2JyZWFrIGN9dj0wO2c9aGEoZltqPj4yXXwwLGR8MCwtMSl8
MDtoPXY7dj0wO2lmKChofDApIT0wJih3fDApIT0wKXtsPVAzKGZbaD4+Ml18MCxGfDAsRXwwKXww
O2lmKCFsKWpiKGh8MCx3fDApO0c9d31lbHNlIGw9LTE7aWYoKGx8MCk9PTEpe3E9dTtyPXg7cz1q
O2w9eTtnPUc7dT1xO3g9cjtqPXM7eT1sO2w9MTU7Y29udGludWUgYn1pZighZyl7dj0wO2ZbRD4+
Ml09cDtqYSgyNyxzfDAsMTQ1NjY1LER8MCl8MDtnPXY7dj0wO2lmKChnfDApIT0wJih3fDApIT0w
KXtoPVAzKGZbZz4+Ml18MCxGfDAsRXwwKXwwO2lmKCFoKWpiKGd8MCx3fDApO0c9d31lbHNlIGg9
LTE7aWYoKGh8MCk9PTEpe3E9dTtyPXg7cz1qO2w9eTtnPUc7dT1xO3g9cjtqPXM7eT1sO2w9MTU7
Y29udGludWUgYn12PTA7cT1qYSgyOCxhfDAsdXwwLDEpfDA7Zz12O3Y9MDtpZigoZ3wwKSE9MCYo
d3wwKSE9MCl7aD1QMyhmW2c+PjJdfDAsRnwwLEV8MCl8MDtpZighaClqYihnfDAsd3wwKTtHPXd9
ZWxzZSBoPS0xO2lmKChofDApPT0xKXtxPXU7cj14O3M9ajtsPXk7Zz1HO3U9cTt4PXI7aj1zO3k9
bDtsPTE1O2NvbnRpbnVlIGJ9dj0wO2thKDUzLHF8MCwxNDU3NTMsMjgwLDEpfDA7aD12O3Y9MDtp
ZigoaHwwKSE9MCYod3wwKSE9MCl7Zz1QMyhmW2g+PjJdfDAsRnwwLEV8MCl8MDtpZighZylqYiho
fDAsd3wwKTtHPXd9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtxPXU7cj14O3M9ajtsPXk7Zz1HO3U9
cTt4PXI7aj1zO3k9bDtsPTE1O2NvbnRpbnVlIGJ9dj0wO2thKDU0LGF8MCxkfDAscXwwLEJ8MCl8
MDtnPXY7dj0wO2lmKChnfDApIT0wJih3fDApIT0wKXtoPVAzKGZbZz4+Ml18MCxGfDAsRXwwKXww
O2lmKCFoKWpiKGd8MCx3fDApO0c9d31lbHNlIGg9LTE7aWYoKGh8MCk9PTEpe3E9dTtyPXg7cz1q
O2w9eTtnPUc7dT1xO3g9cjtqPXM7eT1sO2w9MTU7Y29udGludWUgYn1pZigocHwwKT09KGl8MCkp
e2k9cDw8MTt2PTA7bD1oYSg4NSxufDAscDw8M3wwKXwwO2c9djt2PTA7aWYoKGd8MCkhPTAmKHd8
MCkhPTApe2g9UDMoZltnPj4yXXwwLEZ8MCxFfDApfDA7aWYoIWgpamIoZ3wwLHd8MCk7Rz13fWVs
c2UgaD0tMTtpZigoaHwwKT09MSl7cT11O3I9eDtzPWo7bD15O2c9Rzt1PXE7eD1yO2o9czt5PWw7
bD0xNTtjb250aW51ZSBifWc9bDtuPWw7bz1sO2g9bH1lbHNle2c9bTtoPXJ9ZltnKyhwPDwyKT4+
Ml09cTttPWc7cD1wKzF8MDtsPWh9ZWxzZSBsPXI7dj0wO2Q9aGEoODQsYXwwLGR8MCl8MDtnPXY7
dj0wO2lmKChnfDApIT0wJih3fDApIT0wKXtoPVAzKGZbZz4+Ml18MCxGfDAsRXwwKXwwO2lmKCFo
KWpiKGd8MCx3fDApO0c9d31lbHNlIGg9LTE7aWYoKGh8MCk9PTEpe3E9dTtyPXg7cz1qO2w9eTtn
PUc7dT1xO3g9cjtqPXM7eT1sO2w9MTU7Y29udGludWUgYn1yPWx9fWVsc2V7bD0xO2s9MDttPXk7
bj0wO2k9eDtkPXh9d2hpbGUoMCk7dj0wO3BhKDEwNSxCfDApO2c9djt2PTA7aWYoKGd8MCkhPTAm
KHd8MCkhPTApe2g9UDMoZltnPj4yXXwwLEZ8MCxFfDApfDA7aWYoIWgpamIoZ3wwLHd8MCk7Rz13
fWVsc2UgaD0tMTtpZigoaHwwKT09MSl7cT11O3I9eDtzPWo7bD15O2c9Rzt1PXE7eD1yO2o9czt5
PWw7bD0xNTtjb250aW51ZX1pZigodXwwKSE9KHp8MCkpe3Y9MDtwYSgxMDMsdXwwKTtnPXY7dj0w
O2lmKChnfDApIT0wJih3fDApIT0wKXtoPVAzKGZbZz4+Ml18MCxGfDAsRXwwKXwwO2lmKCFoKWpi
KGd8MCx3fDApO0c9d31lbHNlIGg9LTE7aWYoKGh8MCk9PTEpe3E9dTtyPXg7cz1qO2w9eTtnPUc7
dT1xO3g9cjtqPXM7eT1sO2w9MTU7Y29udGludWV9fWlmKCFsKXt2PTA7Zz1oYSg4NSxkfDAsbjw8
MnwwKXwwO2g9djt2PTA7aWYoKGh8MCkhPTAmKHd8MCkhPTApe2Q9UDMoZltoPj4yXXwwLEZ8MCxF
fDApfDA7aWYoIWQpamIoaHwwLHd8MCk7Rz13fWVsc2UgZD0tMTtpZigoZHwwKT09MSl7cT11O3I9
eDtzPWo7bD15O2c9Rzt1PXE7eD1yO2o9czt5PWw7bD0xNTtjb250aW51ZX1lbHNle2w9NTk7YnJl
YWt9fWZbYz4+Ml09MDtnPTA7d2hpbGUoMSl7aWYoKGd8MCk+PShufDApKWJyZWFrO3Y9MDtnYSgy
NixmW20rKGc8PDIpPj4yXXwwKXwwO2g9djt2PTA7aWYoKGh8MCkhPTAmKHd8MCkhPTApe2Q9UDMo
ZltoPj4yXXwwLEZ8MCxFfDApfDA7aWYoIWQpamIoaHwwLHd8MCk7Rz13fWVsc2UgZD0tMTtpZigo
ZHwwKT09MSl7cT11O3I9eDtzPWo7bD15O2c9Rzt1PXE7eD1yO2o9czt5PWw7bD0xNTtjb250aW51
ZSBifWc9ZysxfDB9dj0wO3BhKDEwMyxpfDApO2c9djt2PTA7aWYoKGd8MCkhPTAmKHd8MCkhPTAp
e2g9UDMoZltnPj4yXXwwLEZ8MCxFfDApfDA7aWYoIWgpamIoZ3wwLHd8MCk7Rz13fWVsc2UgaD0t
MTtpZigoaHwwKT09MSl7cT11O3I9eDtzPWo7bD15O2c9Rzt1PXE7eD1yO2o9czt5PWw7bD0xNX1l
bHNle2w9NTc7YnJlYWt9fWlmKChsfDApPT01Nyl7Zz0wO2JyZWFrfWVsc2UgaWYoKGx8MCk9PTU5
KXtmW2M+PjJdPW47YltlPj4wXT1rO2JyZWFrfX13aGlsZSgwKTtNXyhGfDApO3Q9SDtyZXR1cm4g
Z3wwfWZ1bmN0aW9uIG5EKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MDtpZigh
KChhfDApIT0wPyh3RChhKXwwKSE9MDowKSlhPTEwNzMxNDtkPWMwKGEpfDA7aWYoKGR8MCk+PTEw
NCl7Yz1FSChkKzI1fDApfDA7aWYoIWMpYz0wO2Vsc2UgZT02fWVsc2UgZT02O2lmKChlfDApPT02
KXt1MShjLGEpfDA7ZltiPj4yXT1kfXJldHVybiBjfDB9ZnVuY3Rpb24gb0QoYSxiKXthPWF8MDti
PWJ8MDtleihiLGEsMSl8MDtyZXR1cm59ZnVuY3Rpb24gcEQoYSxjKXthPWF8MDtjPWN8MDt2YXIg
ZD0wO2E9KGZbYSsxNj4+Ml18MCkrMTU3fDA7ZD1iW2E+PjBdfDA7aWYoKGN8MCk+PTApYlthPj4w
XT1jO3JldHVybiBkfDB9ZnVuY3Rpb24gcUQoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtk
PWR8MDtlPWV8MDtmW2I+PjJdPWM7ZltiKzQ+PjJdPWMrNDA5NjtmW2IrMTI+PjJdPTA7ZltiKzg+
PjJdPTA7ZlthPj4yXT1iO2ZbYSs0Pj4yXT1iO2ZbYSs4Pj4yXT1jO2ZbYSsxMj4+Ml09ZDtmW2Er
MTY+PjJdPWU7cmV0dXJufWZ1bmN0aW9uIHJEKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9
ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDt1RChkLGIpO2k9ZCsxMnwwO2o9ZCsxNnww
O2I9MDt3aGlsZSgxKXtrPXZEKGQpfDA7aWYoIWspYnJlYWs7Yj1iKzF8MDtlPWZbaT4+Ml18MDtp
ZihlfDApRGJbZSY2M10oayxjKTtoPVN4KGEsayl8MDt3aGlsZSgxKXtpZighaClicmVhaztnPWZb
aD4+Ml0mMztlPWZbKChnfDApPT0zP2g6aCs0OHwwKSs0MD4+Ml18MDtpZigoZXwwKT09KGt8MCkp
ZT1mWygoZ3wwKT09Mj9oOmgrLTQ4fDApKzQwPj4yXXwwO2lmKCEodWJbZltqPj4yXSYxMjddKGUs
LTEpfDApKXVEKGQsZSk7aD1UeChhLGgsayl8MH19cmV0dXJuIGJ8MH1mdW5jdGlvbiBzRChhKXth
PWF8MDt2YXIgYj0wO2E9ZlsoZlthPj4yXXwwKSsxMj4+Ml18MDt3aGlsZSgxKXtpZighYSlicmVh
aztiPWZbYSsxMj4+Ml18MDt0RChhKTthPWJ9cmV0dXJufWZ1bmN0aW9uIHREKGEpe2E9YXwwO01f
KGZbYT4+Ml18MCk7TV8oYSk7cmV0dXJufWZ1bmN0aW9uIHVEKGEsYil7YT1hfDA7Yj1ifDA7dmFy
IGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7az10O3Q9dCsxNnwwO2o9ays4fDA7ZT1r
O2c9YSs4fDA7aT1hKzR8MDtjPWZbaT4+Ml18MDtpZigoZltnPj4yXXwwKT09KGZbYys0Pj4yXXww
KSl7Yz1mW2MrMTI+PjJdfDA7ZG8gaWYoIWMpe2Q9RUgoMTYpfDA7aWYoIWQpe1l3KDEsMTA3Mjk1
LGUpfDA7amIoMTg4MjQwLDEpfWZbZCs4Pj4yXT1mW2k+PjJdO2ZbZCsxMj4+Ml09MDtjPUVIKDRl
Nil8MDtmW2Q+PjJdPWM7aWYoIWMpe1l3KDEsMTA3Mjk1LGopfDA7amIoMTg4MjQwLDEpfWVsc2V7
ZltkKzQ+PjJdPWMrNGU2O2ZbKGZbaT4+Ml18MCkrMTI+PjJdPWQ7aD1kO2JyZWFrfX1lbHNlIGg9
Yzt3aGlsZSgwKTtmW2k+PjJdPWg7ZltnPj4yXT1mW2g+PjJdfXViW2ZbYSsxNj4+Ml0mMTI3XShi
LDEpfDA7aj1mW2c+PjJdfDA7ZltnPj4yXT1qKzQ7ZltqPj4yXT1iO3Q9aztyZXR1cm59ZnVuY3Rp
b24gdkQoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTA7ZT1hKzh8MDtiPWZbZT4+Ml18
MDtjPWErNHwwO2Q9ZltjPj4yXXwwO2lmKChifDApPT0oZltkPj4yXXwwKSlpZigoZHwwKT09KGZb
YT4+Ml18MCkpYj0wO2Vsc2V7Yj1mW2QrOD4+Ml18MDtmW2M+PjJdPWI7Yj1mW2IrND4+Ml18MDtm
W2U+PjJdPWI7Zz00fWVsc2UgZz00O2lmKChnfDApPT00KXtiPWIrLTR8MDtmW2U+PjJdPWI7Yj1m
W2I+PjJdfDB9cmV0dXJuIGJ8MH1mdW5jdGlvbiB3RChhKXthPWF8MDt2YXIgYz0wO2E6d2hpbGUo
MSl7Yz1hKzF8MDthPWJbYT4+MF18MDtzd2l0Y2goYTw8MjQ+PjI0KXtjYXNlIDA6e2E9MTticmVh
ayBhfWNhc2UgOTU6YnJlYWs7ZGVmYXVsdDppZighKF8yKGEmMjU1KXwwKSl7YT0wO2JyZWFrIGF9
fWE9Y31yZXR1cm4gYXwwfWZ1bmN0aW9uIHhEKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIg
ZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxz
PTAsdT0wLHg9MCx5PTAsej0wLEE9MDtBPXQ7dD10KzQyNzJ8MDt4PUErNDIyNHwwO3k9NDt6PUxf
KDQwKXwwO2Zbej4+Ml09MDtyPUErNDA5NnwwO3M9QSs0MjY4fDA7dT1BKzQyNDh8MDtoPUErNDIz
MnwwO2k9QTt2PTA7ZT1nYSgyNCxhfDApfDA7Zz12O3Y9MDtpZigoZ3wwKSE9MCYod3wwKSE9MCl7
ZD1QMyhmW2c+PjJdfDAsenwwLHl8MCl8MDtpZighZClqYihnfDAsd3wwKTtHPXd9ZWxzZSBkPS0x
O2E6ZG8gaWYoKGR8MCkhPTEpaWYoZSl7dj0wO2s9amEoMjYsY3wwLHN8MCxyfDApfDA7ZD12O3Y9
MDtpZigoZHwwKSE9MCYod3wwKSE9MCl7Yz1QMyhmW2Q+PjJdfDAsenwwLHl8MCl8MDtpZighYylq
YihkfDAsd3wwKTtHPXd9ZWxzZSBjPS0xO2lmKChjfDApIT0xKXt2PTA7aj1nYSgyMyw0MCl8MDtk
PXY7dj0wO2lmKChkfDApIT0wJih3fDApIT0wKXtjPVAzKGZbZD4+Ml18MCx6fDAseXwwKXwwO2lm
KCFjKWpiKGR8MCx3fDApO0c9d31lbHNlIGM9LTE7aWYoKGN8MCkhPTEpe3Y9MDt1YSg3LHV8MCxo
fDAsaXwwLDI0LDgzKTtkPXY7dj0wO2lmKChkfDApIT0wJih3fDApIT0wKXtjPVAzKGZbZD4+Ml18
MCx6fDAseXwwKXwwO2lmKCFjKWpiKGR8MCx3fDApO0c9d31lbHNlIGM9LTE7aWYoKGN8MCkhPTEp
e3Y9MDtlPWdhKDI1LGF8MCl8MDtkPXY7dj0wO2lmKChkfDApIT0wJih3fDApIT0wKXtjPVAzKGZb
ZD4+Ml18MCx6fDAseXwwKXwwO2lmKCFjKWpiKGR8MCx3fDApO0c9d31lbHNlIGM9LTE7aWYoKGN8
MCkhPTEpe2g9dSsxNnwwO2c9ZltoPj4yXXwwO2Q9ZTt3aGlsZSgxKXtpZighZClicmVhazt2PTA7
aGEoZ3wwLGR8MCwwKXwwO2M9djt2PTA7aWYoKGN8MCkhPTAmKHd8MCkhPTApe2U9UDMoZltjPj4y
XXwwLHp8MCx5fDApfDA7aWYoIWUpamIoY3wwLHd8MCk7Rz13fWVsc2UgZT0tMTtpZigoZXwwKT09
MSl7cT1oO3A9ajtvPWs7ZD1HO2o9MTQ7YnJlYWsgYX12PTA7ZD1oYSg4NCxhfDAsZHwwKXwwO2M9
djt2PTA7aWYoKGN8MCkhPTAmKHd8MCkhPTApe2U9UDMoZltjPj4yXXwwLHp8MCx5fDApfDA7aWYo
IWUpamIoY3wwLHd8MCk7Rz13fWVsc2UgZT0tMTtpZigoZXwwKT09MSl7cT1oO3A9ajtvPWs7ZD1H
O2o9MTQ7YnJlYWsgYX19ej1PMygxODgyNDAsMSx6fDAseXwwKXwwO3k9Rzt2PTA7ZD12O3Y9MDtp
ZigoZHwwKSE9MCYod3wwKSE9MCl7Yz1QMyhmW2Q+PjJdfDAsenwwLHl8MCl8MDtpZighYylqYihk
fDAsd3wwKTtHPXd9ZWxzZSBjPS0xO2lmKChjfDApPT0xKXtxPWg7cD1qO289aztkPUc7aj0xNH1l
bHNle3E9aDtwPWo7bz1rO2Q9MDtqPTE0fX1lbHNle3E9MDtwPWo7bz1rO2Q9RztqPTE0fX1lbHNl
e3E9MDtwPWo7bz1rO2Q9RztqPTE0fX1lbHNle3E9MDtwPWo7bz1rO2Q9RztqPTE0fX1lbHNle3E9
MDtwPTA7bz1rO2Q9RztqPTE0fX1lbHNle2M9MDtkPTB9ZWxzZXtxPTA7cD0wO289MDtkPUc7aj0x
NH13aGlsZSgwKTtiOmRvIGlmKChqfDApPT0xNCl7Yzp3aGlsZSgxKXtpZihkfDApe3Y9MDtwYSgx
MDUsdXwwKTtkPXY7dj0wO2lmKChkfDApIT0wJih3fDApIT0wKXtjPVAzKGZbZD4+Ml18MCx6fDAs
eXwwKXwwO2lmKCFjKWpiKGR8MCx3fDApO0c9d31lbHNlIGM9LTE7aWYoKGN8MCk9PTEpe209bztu
PXA7aj1xO2Q9RztvPW07cD1uO3E9ajtqPTE0O2NvbnRpbnVlfXY9MDtwYSgxMDMscHwwKTtkPXY7
dj0wO2lmKChkfDApIT0wJih3fDApIT0wKXtjPVAzKGZbZD4+Ml18MCx6fDAseXwwKXwwO2lmKCFj
KWpiKGR8MCx3fDApO0c9d31lbHNlIGM9LTE7aWYoKGN8MCk9PTEpe209bztuPXA7aj1xO2Q9Rztv
PW07cD1uO3E9ajtqPTE0O2NvbnRpbnVlfWlmKChvfDApPT0ocnwwKSl7Yz0wO2Q9MDticmVhayBi
fXY9MDtwYSgxMDMsb3wwKTtkPXY7dj0wO2lmKChkfDApIT0wJih3fDApIT0wKXtjPVAzKGZbZD4+
Ml18MCx6fDAseXwwKXwwO2lmKCFjKWpiKGR8MCx3fDApO0c9d31lbHNlIGM9LTE7aWYoKGN8MCk9
PTEpe209bztuPXA7aj1xO2Q9RztvPW07cD1uO3E9ajtqPTE0O2NvbnRpbnVlfWVsc2V7aj0xOTti
cmVha319dj0wO2U9Z2EoMjUsYXwwKXwwO2Q9djt2PTA7aWYoKGR8MCkhPTAmKHd8MCkhPTApe2M9
UDMoZltkPj4yXXwwLHp8MCx5fDApfDA7aWYoIWMpamIoZHwwLHd8MCk7Rz13fWVsc2UgYz0tMTtp
ZigoY3wwKT09MSl7bT1vO249cDtqPXE7ZD1HO289bTtwPW47cT1qO2o9MTQ7Y29udGludWV9bj1v
KyhmW3M+PjJdfDApfDA7aD0xMDtrPXA7ZD0wO2o9cDttPXA7d2hpbGUoMSl7aWYoIWUpYnJlYWs7
dj0wO2M9aGEoZltxPj4yXXwwLGV8MCwtMSl8MDtnPXY7dj0wO2lmKChnfDApIT0wJih3fDApIT0w
KXtpPVAzKGZbZz4+Ml18MCx6fDAseXwwKXwwO2lmKCFpKWpiKGd8MCx3fDApO0c9d31lbHNlIGk9
LTE7aWYoKGl8MCk9PTEpe209bztuPXA7aj1xO2Q9RztvPW07cD1uO3E9ajtqPTE0O2NvbnRpbnVl
IGN9aWYoIWMpe3Y9MDtmW3g+PjJdPWQ7amEoMjcsbnwwLDE0NTY2NSx4fDApfDA7Yz12O3Y9MDtp
ZigoY3wwKSE9MCYod3wwKSE9MCl7Zz1QMyhmW2M+PjJdfDAsenwwLHl8MCl8MDtpZighZylqYihj
fDAsd3wwKTtHPXd9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXttPW87bj1wO2o9cTtkPUc7bz1tO3A9
bjtxPWo7aj0xNDtjb250aW51ZSBjfXY9MDtsPWphKDI4LGF8MCxvfDAsMSl8MDtjPXY7dj0wO2lm
KChjfDApIT0wJih3fDApIT0wKXtnPVAzKGZbYz4+Ml18MCx6fDAseXwwKXwwO2lmKCFnKWpiKGN8
MCx3fDApO0c9d31lbHNlIGc9LTE7aWYoKGd8MCk9PTEpe209bztuPXA7aj1xO2Q9RztvPW07cD1u
O3E9ajtqPTE0O2NvbnRpbnVlIGN9dj0wO2thKDUzLGx8MCwxNDU3NTMsMjgwLDEpfDA7Yz12O3Y9
MDtpZigoY3wwKSE9MCYod3wwKSE9MCl7Zz1QMyhmW2M+PjJdfDAsenwwLHl8MCl8MDtpZighZylq
YihjfDAsd3wwKTtHPXd9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXttPW87bj1wO2o9cTtkPUc7bz1t
O3A9bjtxPWo7aj0xNDtjb250aW51ZSBjfXY9MDtrYSg1NCxhfDAsZXwwLGx8MCx1fDApfDA7Yz12
O3Y9MDtpZigoY3wwKSE9MCYod3wwKSE9MCl7Zz1QMyhmW2M+PjJdfDAsenwwLHl8MCl8MDtpZigh
ZylqYihjfDAsd3wwKTtHPXd9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXttPW87bj1wO2o9cTtkPUc7
bz1tO3A9bjtxPWo7aj0xNDtjb250aW51ZSBjfWlmKChkfDApPT0oaHwwKSl7aD1kPDwxO3Y9MDtp
PWhhKDg1LGp8MCxkPDwzfDApfDA7Yz12O3Y9MDtpZigoY3wwKSE9MCYod3wwKSE9MCl7Zz1QMyhm
W2M+PjJdfDAsenwwLHl8MCl8MDtpZighZylqYihjfDAsd3wwKTtHPXd9ZWxzZSBnPS0xO2lmKChn
fDApPT0xKXttPW87bj1wO2o9cTtkPUc7bz1tO3A9bjtxPWo7aj0xNDtjb250aW51ZSBjfWc9aTtq
PWk7Yz1pfWVsc2V7Zz1rO2M9bX1mW2crKGQ8PDIpPj4yXT1sO2Q9ZCsxfDA7az1nO2k9Y31lbHNl
IGk9bTt2PTA7ZT1oYSg4NCxhfDAsZXwwKXwwO2M9djt2PTA7aWYoKGN8MCkhPTAmKHd8MCkhPTAp
e2c9UDMoZltjPj4yXXwwLHp8MCx5fDApfDA7aWYoIWcpamIoY3wwLHd8MCk7Rz13fWVsc2UgZz0t
MTtpZigoZ3wwKT09MSl7bT1vO249cDtqPXE7ZD1HO289bTtwPW47cT1qO2o9MTQ7Y29udGludWUg
Y31tPWl9dj0wO3BhKDEwNSx1fDApO2M9djt2PTA7aWYoKGN8MCkhPTAmKHd8MCkhPTApe2U9UDMo
ZltjPj4yXXwwLHp8MCx5fDApfDA7aWYoIWUpamIoY3wwLHd8MCk7Rz13fWVsc2UgZT0tMTtpZigo
ZXwwKT09MSl7bT1vO249cDtqPXE7ZD1HO289bTtwPW47cT1qO2o9MTQ7Y29udGludWV9dj0wO2M9
aGEoODUsbXwwLGQ8PDJ8MCl8MDtlPXY7dj0wO2lmKChlfDApIT0wJih3fDApIT0wKXtnPVAzKGZb
ZT4+Ml18MCx6fDAseXwwKXwwO2lmKCFnKWpiKGV8MCx3fDApO0c9d31lbHNlIGc9LTE7aWYoKGd8
MCk9PTEpe209bztuPXA7aj1xO2Q9RztvPW07cD1uO3E9ajtqPTE0O2NvbnRpbnVlfWlmKChvfDAp
PT0ocnwwKSlicmVhayBiO3Y9MDtwYSgxMDMsb3wwKTtlPXY7dj0wO2lmKChlfDApIT0wJih3fDAp
IT0wKXtnPVAzKGZbZT4+Ml18MCx6fDAseXwwKXwwO2lmKCFnKWpiKGV8MCx3fDApO0c9d31lbHNl
IGc9LTE7aWYoKGd8MCk9PTEpe209bztuPXA7aj1xO2Q9RztvPW07cD1uO3E9ajtqPTE0fWVsc2V7
aj0zOTticmVha319aWYoKGp8MCk9PTE5KXtjPTA7ZD0wO2JyZWFrfWVsc2UgaWYoKGp8MCk9PTM5
KWJyZWFrfXdoaWxlKDApO2ZbYj4+Ml09ZDtNXyh6fDApO3Q9QTtyZXR1cm4gY3wwfWZ1bmN0aW9u
IHlEKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wO2M9MDtlPSR5KGEpfDA7d2hpbGUo
MSl7aWYoIWUpYnJlYWs7ZD1OeChiLGUpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7aWYoZXooYSxm
WygoZltkPj4yXSYzfDApPT0yP2Q6ZCstNDh8MCkrNDA+PjJdfDAsMCl8MCl7Y3koYSxkLDEpfDA7
Yz1jKzF8MH1kPVB4KGIsZCl8MH1lPWF6KGEsZSl8MH1yZXR1cm4gY3wwfWZ1bmN0aW9uIHpEKGEp
e2E9YXwwO2E9SHooYSwxMDczMTksMCl8MDtpZighYSl4YSgxMDczMjQsMTA3MzI3LDUyOSwxMDcz
MzYpO2Vsc2UgcmV0dXJuIGZbYSs4Pj4yXXwwO3JldHVybiAwfWZ1bmN0aW9uIEFEKGEsYyxkKXth
PWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAs
bz0wLHA9MCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9MDt1PXQ7dD10KzQzMjB8MDtyPXUrNDI0OHww
O3E9dSs0MjMyfDA7cD11KzQyMjR8MDtzPXUrNDA5NnwwO289dSs0Mjg4fDA7ZT11KzQyNjR8MDtp
ZihqeShhKXwwKXtPeihhLDAsMTA3MzQ1LC0xMiwwKTtPeihhLDEsMTA3MzU3LDE2LDApO249bkQo
ZCxlLHMpfDA7az1CRChhKXwwO2w9RUgoKGp5KGspfDApPDwyKXwwO3FEKG8sdSs0MjcyfDAsdSwy
NCw4Nik7aD0keShrKXwwO209bysxNnwwO2k9bisoZltlPj4yXXwwKXwwO2o9ZlsxOTQ1N118MDtk
PTA7d2hpbGUoMSl7aWYoIWgpYnJlYWs7aWYoISh1YltmW20+PjJdJjEyN10oaCwtMSl8MCkpe2Zb
cD4+Ml09ZDtkJChpLDEwODI1OSxwKXwwO3Y9RUEoayxuLDEpfDA7dz1FQShhLG4sMSl8MDtKeih3
LDEwNzM0NSwxMiwwKXwwO2U9KEh6KHcsMTA3MzQ1LDApfDApKzh8MDtiW2U+PjBdPTE7ZT1yRChr
LGgsdixvKXwwO0REKHYsdyk7Zz1FRCh3KXwwO0ZEKGEsdyk7ZltsKyhkPDwyKT4+Ml09dztteihr
LHYpfDA7aWYoMCl7ZltxPj4yXT1kO2ZbcSs0Pj4yXT1lO2ZbcSs4Pj4yXT1nO2cyKGosMTA3MzY5
LHEpfDB9ZD1kKzF8MH1oPWF6KGssaCl8MH1pZigwKXtxPWp5KGEpfDA7dj1reShhKXwwO3c9QXko
YSl8MDtmW3I+PjJdPXE7ZltyKzQ+PjJdPXY7ZltyKzg+PjJdPWQ7ZltyKzEyPj4yXT13O2cyKGos
MTA3Mzk5LHIpfDB9aXkoayl8MDtQeihhLDAsMTA3MzQ1KTtQeihhLDEsMTA3MzU3KTtzRChvKTtl
PUdIKGwsZDw8Mil8MDtpZigobnwwKSE9KHN8MCkpTV8obil9ZWxzZXtlPTA7ZD0wfWZbYz4+Ml09
ZDt0PXU7cmV0dXJuIGV8MH1mdW5jdGlvbiBCRChhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZz0w
LGg9MCxpPTA7aT10O3Q9dCsxNnwwO2g9aTtiW2g+PjBdPWJbNzIyNzZdfDA7YltoKzE+PjBdPWJb
NzIyNzddfDA7YltoKzI+PjBdPWJbNzIyNzhdfDA7YltoKzM+PjBdPWJbNzIyNzldfDA7aD1leSgx
MDc0NDYsaCwwKXwwO0lEKGgsYSk7Yz0keShhKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO2c9KEh6
KGMsMTA3MzU3LDApfDApKzEyfDA7aWYoIShmW2c+PjJdfDApKXtlPWp6KGgsQXkoYyl8MCwxKXww
O0p6KGUsMTA3MzU3LDE2LDEpfDA7ZlsoZltlKzE2Pj4yXXwwKSsxMj4+Ml09YztnPShIeihjLDEw
NzM1NywwKXwwKSsxMnwwO2ZbZz4+Ml09ZX1jPWF6KGEsYyl8MH1kPSR5KGEpfDA7d2hpbGUoMSl7
aWYoIWQpYnJlYWs7ZT0oSHooZCwxMDczNTcsMCl8MCkrMTJ8MDtlPWZbZT4+Ml18MDtjPU54KGEs
ZCl8MDt3aGlsZSgxKXtpZighYylicmVhaztnPShIeihmWygoZltjPj4yXSYzfDApPT0yP2M6Yyst
NDh8MCkrNDA+PjJdfDAsMTA3MzU3LDApfDApKzEyfDA7Zz1mW2c+PjJdfDA7ZG8gaWYoKGd8MCkh
PShlfDApKWlmKGc+Pj4wPmU+Pj4wKXtfeChoLGUsZywwLDEpfDA7YnJlYWt9ZWxzZXtfeChoLGcs
ZSwwLDEpfDA7YnJlYWt9d2hpbGUoMCk7Yz1QeChhLGMpfDB9ZD1heihhLGQpfDB9dD1pO3JldHVy
biBofDB9ZnVuY3Rpb24gQ0QoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wO2E9KGZbYSsxNj4+Ml18
MCkrOHwwO2Q9YlthPj4wXXwwO2lmKChjfDApPj0wKWJbYT4+MF09YztyZXR1cm4gZHwwfWZ1bmN0
aW9uIEREKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wO2Q9JHkoYSl8MDt3aGlsZSgx
KXtpZighZClicmVhaztlPWZbKGZbZCsxNj4+Ml18MCkrMTI+PjJdfDA7YTpkbyBpZigoZltlPj4y
XSYzfDApPT0xKWV6KGIsZSwxKXwwO2Vsc2V7Yz0keShlKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFr
IGE7ZXooYixjLDEpfDA7Yz1heihlLGMpfDB9fXdoaWxlKDApO2Q9YXooYSxkKXwwfXJldHVybn1m
dW5jdGlvbiBFRChhKXthPWF8MDtyZXR1cm4geUQoYSxmW2ErNjA+PjJdfDApfDB9ZnVuY3Rpb24g
RkQoYSxiKXthPWF8MDtiPWJ8MDtHRChhLGIsMCk7cmV0dXJufWZ1bmN0aW9uIEdEKGEsYyxkKXth
PWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTA7Zz0oZHwwKT09MDthPUZBKGEpfDA7d2hp
bGUoMSl7aWYoIWEpYnJlYWs7ZT0oSHooYSwxMDczNDUsMCl8MCkrOHwwO2lmKChiW2U+PjBdfDAp
PT0wPyhmPUhEKGEsYyxkKXwwLGZ8MCk6MCl7aWYoZyllPShhJChBeShhKXwwLDExNjMzMiw3KXww
KT09MDtlbHNlIGU9MTtHRChhLGYsZSYxKX1hPUdBKGEpfDB9cmV0dXJufWZ1bmN0aW9uIEhEKGEs
YixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTA7ZD0wO2c9JHkoYSl8MDt3aGls
ZSgxKXtpZighZylicmVhaztlPWp6KGIsQXkoZyl8MCwwKXwwO2lmKGUpe2lmKCFkKWQ9RUEoYixB
eShhKXwwLDEpfDA7ZXooZCxlLDEpfDB9Zz1heihhLGcpfDB9aWYoKGN8MCkhPTAmKGR8MCk9PTAp
ZD1FQShiLEF5KGEpfDAsMSl8MDtpZihkfDA/KHlEKGQsYSl8MCxLeChhLGQpfDAsKGEkKEF5KGQp
fDAsMTE2MzMyLDcpfDApPT0wKTowKXtjPShKeihkLDEwNzMxOSwxMiwwKXwwKSs4fDA7ZltjPj4y
XT1hfXJldHVybiBkfDB9ZnVuY3Rpb24gSUQoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxl
PTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtoPXQ7dD10KzE2fDA7Zz1oO2M9RkEoYil8MDtkPWZbMTk0
NTddfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7YTpkbyBpZighKGEkKEF5KGMpfDAsMTE2MzMyLDcp
fDApKXtlPWp6KGEsQXkoYyl8MCwxKXwwO0p6KGUsMTA3MzU3LDE2LDEpfDA7ZlsoZltlKzE2Pj4y
XXwwKSsxMj4+Ml09YztiPSR5KGMpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWsgYTtpPShIeihiLDEw
NzM1NywwKXwwKSsxMnwwO2lmKGZbaT4+Ml18MCl7az1BeShiKXwwO2o9QXkoYyl8MDtpPShIeihi
LDEwNzM1NywwKXwwKSsxMnwwO2k9QXkoZltpPj4yXXwwKXwwO2ZbZz4+Ml09aztmW2crND4+Ml09
ajtmW2crOD4+Ml09aTtnMihkLDEwNzQ0OSxnKXwwfWs9KEh6KGIsMTA3MzU3LDApfDApKzEyfDA7
ZltrPj4yXT1lO2I9YXooYyxiKXwwfX1lbHNlIElEKGEsYyk7d2hpbGUoMCk7Yz1HQShjKXwwfXQ9
aDtyZXR1cm59ZnVuY3Rpb24gSkQoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0w
LGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAuMDttPStwW2E+PjNdO2k9fn4obSsobT49
MC4wPy41Oi0uNSkpO209K3BbYSs4Pj4zXTthPX5+KG0rKG0+PTAuMD8uNTotLjUpKTttPStwW2I+
PjNdO2c9fn4obSsobT49MC4wPy41Oi0uNSkpO209K3BbYis4Pj4zXTtmPX5+KG0rKG0+PTAuMD8u
NTotLjUpKTtrPWctaXwwO2g9KChrfDApPi0xP2s6MC1rfDApPDwxO2s9az4+MzF8MTtsPWYtYXww
O2o9KChsfDApPi0xP2w6MC1sfDApPDwxO2w9bD4+MzF8MTthOmRvIGlmKChofDApPihqfDApKXtl
PTAtaHwwO2Q9ai0oaD4+MSl8MDtiPWk7d2hpbGUoMSl7S0koYyxiLGEpO2lmKChifDApPT0oZ3ww
KSlicmVhayBhO2k9KGR8MCk+LTE7ZD1kK2orKGk/ZTowKXwwO2I9YitrfDA7YT0oaT9sOjApK2F8
MH19ZWxzZXtlPTAtanwwO2Q9aTtiPWgtKGo+PjEpfDA7d2hpbGUoMSl7S0koYyxkLGEpO2lmKChh
fDApPT0oZnwwKSlicmVhayBhO2o9KGJ8MCk+LTE7ZD0oaj9rOjApK2R8MDtiPWIraCsoaj9lOjAp
fDA7YT1hK2x8MH19d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIEtEKGEsYixjLGQpe2E9YXwwO2I9
YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wO209dDt0
PXQrMTZ8MDtrPW07aj1tKzR8MDtkbyBpZigoYXwwKTwxKWM9MDtlbHNle2U9ZCsxNnwwO2lmKChm
W2U+PjJdfDApPj4+MDw0KXtjPUxEKGEsYixjLGQpfDA7YnJlYWt9bD1FSChhPDw1KXwwO2M9MDt3
aGlsZSgxKXtpZigoY3wwKT09KGF8MCkpYnJlYWs7Zz1mW2IrKGM8PDIpPj4yXXwwO3ZNKGcpO2g9
bCsoYzw8NSl8MDtnPShmW2crMTY+PjJdfDApKzE2fDA7ZltoPj4yXT1mW2c+PjJdO2ZbaCs0Pj4y
XT1mW2crND4+Ml07ZltoKzg+PjJdPWZbZys4Pj4yXTtmW2grMTI+PjJdPWZbZysxMj4+Ml07Zlto
KzE2Pj4yXT1mW2crMTY+PjJdO2ZbaCsyMD4+Ml09ZltnKzIwPj4yXTtmW2grMjQ+PjJdPWZbZysy
ND4+Ml07ZltoKzI4Pj4yXT1mW2crMjg+PjJdO2M9YysxfDB9aWYoKGZbZT4+Ml18MCk9PTQpe2g9
ZCsyOHwwO2E6ZG8gaWYoZltoPj4yXSYyfDApe2M9REgoYTw8Mil8MDtlPWQrMjR8MDtmW2U+PjJd
PWM7Yz0wO3doaWxlKDEpe2lmKChjfDApPT0oYXwwKSlicmVhayBhO2c9R3goZltiKyhjPDwyKT4+
Ml18MCwxMDc1MTYpfDA7aWYoZ3wwPyhmW2s+PjJdPWosZz0oTTEoZywxNDU2NjUsayl8MCk+MCxp
PWZbaj4+Ml18MCxnJihpfDApPi0xKTowKWZbKGZbZT4+Ml18MCkrKGM8PDIpPj4yXT1pO2M9Yysx
fDB9fXdoaWxlKDApO2M9TUQoYSxsLGQpfDA7aWYoZltoPj4yXSYyKU1fKGZbZCsyND4+Ml18MCl9
ZWxzZSBjPTA7TV8obCl9d2hpbGUoMCk7dD1tO3JldHVybiBjfDB9ZnVuY3Rpb24gTEQoYSxjLGQs
ZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09
MCxuPTAsbz0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0w
LEQ9MC4wLEU9MC4wLEY9MC4wLEc9MC4wO0M9dDt0PXQrMTEyfDA7eD1DKzEwNHwwO3c9Qys2NHww
O0I9Qys0OHwwO3Y9Qys0MHwwO3I9Qzt5PUMrOTZ8MDt6PWZbZSsyMD4+Ml18MDthOmRvIGlmKChh
fDApPj0xKXtxPSh6fDApPT0wO0E9ZlsxOTQ1N118MDttPTA7bD0wO249MDtzPTA7aT0wO3U9MDt3
aGlsZSgxKXtpZigobXwwKT09KGF8MCkpYnJlYWs7bz1mW2MrKG08PDIpPj4yXXwwO3ZNKG8pO2lm
KCFxPyhiW3orbT4+MF18MCkhPTA6MCl7az1mW28rMTY+PjJdfDA7RD0rcFtrKzE2Pj4zXTtoPX5+
KEQrKEQ+PTAuMD8uNTotLjUpKTtEPStwW2srMjQ+PjNdO2c9fn4oRCsoRD49MC4wPy41Oi0uNSkp
O0Q9K3BbayszMj4+M107aj1+fihEKyhEPj0wLjA/LjU6LS41KSk7RD0rcFtrKzQwPj4zXTtrPX5+
KEQrKEQ+PTAuMD8uNTotLjUpKTtpZighbClpPWs7ZWxzZXtoPShufDApPihofDApP2g6bjtqPShz
fDApPChqfDApP2o6cztpPShpfDApPChrfDApP2s6aTtnPSh1fDApPihnfDApP2c6dX1rPWwrMXww
fWVsc2V7az1sO2g9bjtqPXM7Zz11fWlmKDA+Mil7dT1BeShvKXwwO3M9ZltvKzE2Pj4yXXwwO0c9
K3BbcysxNj4+M107Rj0rcFtzKzI0Pj4zXTtFPStwW3MrMzI+PjNdO0Q9K3Bbcys0MD4+M107Zlty
Pj4yXT11O3Bbcis4Pj4zXT1HO3BbcisxNj4+M109RjtwW3IrMjQ+PjNdPUU7cFtyKzMyPj4zXT1E
O2cyKEEsMTA3NTgzLHIpfDB9bT1tKzF8MDtsPWs7bj1oO3M9ajt1PWd9cT1FSChhPDw1KXwwO2c9
MDt3aGlsZSgxKXtpZigoZ3wwKT09KGF8MCkpYnJlYWs7cj1xKyhnPDw1KXwwO289KGZbKGZbYyso
Zzw8Mik+PjJdfDApKzE2Pj4yXXwwKSsxNnwwO2Zbcj4+Ml09ZltvPj4yXTtmW3IrND4+Ml09Zltv
KzQ+PjJdO2Zbcis4Pj4yXT1mW28rOD4+Ml07ZltyKzEyPj4yXT1mW28rMTI+PjJdO2ZbcisxNj4+
Ml09ZltvKzE2Pj4yXTtmW3IrMjA+PjJdPWZbbysyMD4+Ml07ZltyKzI0Pj4yXT1mW28rMjQ+PjJd
O2ZbcisyOD4+Ml09ZltvKzI4Pj4yXTtnPWcrMXwwfW09ZSs4fDA7bz1QRChhLHEsZlttPj4yXXww
KXwwO2lmKDApe2Zbdj4+Ml09bztnMihBLDEwNzYxMSx2KXwwfWlmKChvfDApPj0xKXtsPSh6fDAp
IT0wO2lmKGwpe2g9KG4rc3wwKS8yfDA7Zz0odStpfDApLzJ8MH1lbHNle2g9MDtnPTB9Zlt5KzQ+
PjJdPWc7Zlt5Pj4yXT1oO2s9REgoYTw8NCl8MDtoPWUrMTZ8MDtnPTA7d2hpbGUoMSl7aWYoKGd8
MCk+PShhfDApKWJyZWFrO2k9ZltjKyhnPDwyKT4+Ml18MDtqPWsrKGc8PDQpfDA7ZltrKyhnPDw0
KSsxMj4+Ml09ZztpZigoZltoPj4yXXwwKT09Myl7cz0oZltpKzE2Pj4yXXwwKSsxNnwwO3U9Zltt
Pj4yXXwwO3Y9QXkoaSl8MDtmW3c+PjJdPWZbcz4+Ml07Zlt3KzQ+PjJdPWZbcys0Pj4yXTtmW3cr
OD4+Ml09ZltzKzg+PjJdO2ZbdysxMj4+Ml09ZltzKzEyPj4yXTtmW3crMTY+PjJdPWZbcysxNj4+
Ml07Zlt3KzIwPj4yXT1mW3MrMjA+PjJdO2ZbdysyND4+Ml09ZltzKzI0Pj4yXTtmW3crMjg+PjJd
PWZbcysyOD4+Ml07Zlt4Pj4yXT1mW3k+PjJdO2ZbeCs0Pj4yXT1mW3krND4+Ml07UUQodyxqLG8s
dSx4LHYpfWVsc2V7Zlt4Pj4yXT1mW3k+PjJdO2ZbeCs0Pj4yXT1mW3krND4+Ml07UkQoZCxpLGos
byxlLHgpfWc9ZysxfDB9aT1ESChhPDwyKXwwO2c9MDt3aGlsZSgxKXtpZigoZ3wwKT49KGF8MCkp
YnJlYWs7ZltpKyhnPDwyKT4+Ml09aysoZzw8NCk7Zz1nKzF8MH1XJChpLGEsNCw4Nyk7aj1FSSgp
fDA7Zz1ESChhPDwzKXwwO2I6ZG8gaWYobCl7aD0wO3doaWxlKDEpe2lmKChofDApPj0oYXwwKSli
cmVhaztpZihiW3oraD4+MF18MCl7ZD1mW2krKGg8PDIpPj4yXXwwO2U9ZysoZltkKzEyPj4yXTw8
Myl8MDtmW3g+PjJdPWZbeT4+Ml07Zlt4KzQ+PjJdPWZbeSs0Pj4yXTtURChkLGosZSx4KX1oPWgr
MXwwfWg9MDt3aGlsZSgxKXtpZigoaHwwKT49KGF8MCkpYnJlYWsgYjtpZighKGJbeitoPj4wXXww
KSl7eT1mW2krKGg8PDIpPj4yXXwwO1VEKGgseSxqLGcrKGZbeSsxMj4+Ml08PDMpfDAsbyxmW20+
PjJdfDAscSl9aD1oKzF8MH19ZWxzZXtoPTA7d2hpbGUoMSl7aWYoKGh8MCk+PShhfDApKWJyZWFr
IGI7ej1mW2krKGg8PDIpPj4yXXwwO1VEKGgseixqLGcrKGZbeisxMj4+Ml08PDMpfDAsbyxmW20+
PjJdfDAscSk7aD1oKzF8MH19d2hpbGUoMCk7TV8oaSk7aD0wO3doaWxlKDEpe2lmKChofDApPj0o
YXwwKSlicmVhaztNXyhmW2srKGg8PDQpKzQ+PjJdfDApO2g9aCsxfDB9TV8oayk7SEkoaik7TV8o
cSk7aWYoMD4xKXtoPTA7d2hpbGUoMSl7aWYoKGh8MCk+PShhfDApKWJyZWFrIGE7eT1mW2crKGg8
PDMpPj4yXXwwO3o9ZltnKyhoPDwzKSs0Pj4yXXwwO2ZbQj4+Ml09aDtmW0IrND4+Ml09eTtmW0Ir
OD4+Ml09ejtnMihBLDEwNzYyNyxCKXwwO2g9aCsxfDB9fX1lbHNlIGc9MH1lbHNlIGc9MDt3aGls
ZSgwKTt0PUM7cmV0dXJuIGd8MH1mdW5jdGlvbiBNRChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7
dmFyIGQ9MCxlPTAsZz0wLGg9MC4wLGk9MCxqPTAsaz0wLGw9MC4wLG09MC4wLG49MC4wLG89MC4w
LHE9MC4wLHI9MCxzPTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTA7ej10O3Q9dCsxNnwwO2o9ejt4
PURIKGE8PDMpfDA7ZT1mW2MrND4+Ml18MDt5PWMrMjh8MDtkPShlfDApPjA7aWYoIShmW3k+PjJd
JjEpKXtpZihkKWc9ZTtlbHNlIGc9fn4rVSgrKCtKKCsoKyhhfDApKSkpKTtlPShhKy0xK2d8MCkv
KGd8MCl8MDtpZighMClyPTE7ZWxzZXtpPTE7ZD0xMDc1MzU7az04fX1lbHNle2lmKCFkKWU9fn4r
VSgrKCtKKCsoKyhhfDApKSkpKTtnPShhKy0xK2V8MCkvKGV8MCl8MDtpZighMClyPTA7ZWxzZXtp
PTA7ZD0xMDc1MjI7az04fX1pZigoa3wwKT09OCl7cj1mWzE5NDU3XXwwO2Zbaj4+Ml09ZDtmW2or
ND4+Ml09ZTtmW2orOD4+Ml09ZztnMihyLDEwNzU0NSxqKXwwO3I9aX11PURIKChnPDwzKSs4fDAp
fDA7dj1ESCgoZTw8MykrOHwwKXwwO3c9REgoYSoyNHwwKXwwO2o9Yys4fDA7ZD0wO2k9dzt3aGls
ZSgxKXtpZigoZHwwKT49KGF8MCkpYnJlYWs7bz0rcFtiKyhkPDw1KSs4Pj4zXTtuPStwW2IrKGQ8
PDUpKzI0Pj4zXTtxPSsoKGZbaj4+Ml18MCk+Pj4wKTtwW2k+PjNdPStwW2IrKGQ8PDUpKzE2Pj4z
XS0rcFtiKyhkPDw1KT4+M10rcTtwW2krOD4+M109bi1vK3E7ZltpKzE2Pj4yXT1kO2Q9ZCsxfDA7
aT1pKzI0fDB9cz1ESChhPDwyKXwwO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGF8MCkpYnJlYWs7
ZltzKyhkPDwyKT4+Ml09dysoZCoyNHwwKTtkPWQrMXwwfWQ9ZltjKzI0Pj4yXXwwO2lmKCFkKXtp
ZighKGZbeT4+Ml0mNjQpKVckKHMsYSw0LDg5KX1lbHNle2ZbNDgzMTFdPWQ7VyQocyxhLDQsODgp
fWM9KHJ8MCk9PTA7ZD0wO2k9MDtqPTA7d2hpbGUoMSl7aWYoKGp8MCk+PShhfDApKWJyZWFrO2s9
ZltzKyhqPDwyKT4+Ml18MDtyPXUrKGk8PDMpfDA7cT0rcFtyPj4zXTtvPStwW2s+PjNdO3Bbcj4+
M109cT5vP3E6bztyPXYrKGQ8PDMpfDA7bz0rcFtyPj4zXTtxPStwW2srOD4+M107cFtyPj4zXT1v
PnE/bzpxO2lmKGMpe2Q9ZCsxfDA7cj0oZHwwKT09KGV8MCk7ZD1yPzA6ZDtpPWkrKHImMSl8MH1l
bHNle2k9aSsxfDA7cj0oaXwwKT09KGd8MCk7ZD1kKyhyJjEpfDA7aT1yPzA6aX1qPWorMXwwfWg9
MC4wO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT4oZ3wwKSlicmVhaztyPXUrKGQ8PDMpfDA7cT0rcFty
Pj4zXTtwW3I+PjNdPWg7aD1xK2g7ZD1kKzF8MH1oPTAuMDtkPWU7d2hpbGUoMSl7aWYoKGR8MCk8
PTApYnJlYWs7cj1kKy0xfDA7cT0rcFt2KyhyPDwzKT4+M107cFt2KyhkPDwzKT4+M109aDtoPXEr
aDtkPXJ9cFt2Pj4zXT1oO2Q9MDtpPTA7cj0wO3doaWxlKDEpe2lmKChyfDApPj0oYXwwKSlicmVh
aztrPWZbKGZbcysocjw8Mik+PjJdfDApKzE2Pj4yXXwwO2g9K3BbYisoazw8NSk+PjNdO2w9LWg7
bz0rcFtiKyhrPDw1KSs4Pj4zXTtxPS1vO209K3BbYisoazw8NSkrMTY+PjNdO249K3BbYisoazw8
NSkrMjQ+PjNdO2o9Zlt5Pj4yXXwwO2RvIGlmKCEoaiY0KSlpZighKGomOCkpe2g9KGwtbSsgK3Bb
dSsoaTw8Myk+PjNdKyArcFt1KyhpKzE8PDMpPj4zXSkqLjU7YnJlYWt9ZWxzZXtoPWgtbSsgK3Bb
dSsoaSsxPDwzKT4+M107YnJlYWt9ZWxzZSBoPStwW3UrKGk8PDMpPj4zXTt3aGlsZSgwKTtmW3gr
KGs8PDMpPj4yXT1+fmg7ZG8gaWYoIShqJjE2KSlpZighKGomMzIpKXtoPShxLW4rICtwW3YrKGQ8
PDMpPj4zXSsgK3BbdisoZCsxPDwzKT4+M10pKi41O2JyZWFrfWVsc2V7aD0rcFt2KyhkKzE8PDMp
Pj4zXTticmVha31lbHNlIGg9by1uKyArcFt2KyhkPDwzKT4+M107d2hpbGUoMCk7Zlt4KyhrPDwz
KSs0Pj4yXT1+fmg7aWYoYyl7ZD1kKzF8MDtrPShkfDApPT0oZXwwKTtkPWs/MDpkO2k9aSsoayYx
KXwwfWVsc2V7aT1pKzF8MDtrPShpfDApPT0oZ3wwKTtkPWQrKGsmMSl8MDtpPWs/MDppfXI9cisx
fDB9TV8odyk7TV8ocyk7TV8odSk7TV8odik7dD16O3JldHVybiB4fDB9ZnVuY3Rpb24gTkQoYSxi
KXthPWF8MDtiPWJ8MDt2YXIgYz0wO2M9Zls0ODMxMV18MDthPWZbYysoZlsoZlthPj4yXXwwKSsx
Nj4+Ml08PDIpPj4yXXwwO2I9ZltjKyhmWyhmW2I+PjJdfDApKzE2Pj4yXTw8Mik+PjJdfDA7cmV0
dXJuICgoYXwwKT4oYnwwKT8xOigoYXwwKTwoYnwwKSk8PDMxPj4zMSl8MH1mdW5jdGlvbiBPRChh
LGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAuMDthPWZbYT4+Ml18MDtiPWZbYj4+Ml18MDtk
PStwW2E+PjNdKyArcFthKzg+PjNdO2M9K3BbYj4+M10rICtwW2IrOD4+M107cmV0dXJuIChkPGM/
MTooZD5jKTw8MzE+PjMxKXwwfWZ1bmN0aW9uIFBEKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2
YXIgZD0wLjAsZT0wLjAsZz0wLjAsaD0wLjAsaT0wLjAsaj0wLGs9MCxsPTAuMCxtPTAuMCxuPTAs
bz0wLHE9MCxyPTA7cj10O3Q9dCs5NnwwO289cis4MHwwO3E9cis0OHwwO249cis4fDA7az1yO2o9
KGEqMTAwfDApKy0xfDA7ZD0rKGM8PDF8MCk7bD0wLjA7bT0wLjA7Yz0wO3doaWxlKDEpe2lmKChj
fDApPj0oYXwwKSlicmVhaztpPStwW2IrKGM8PDUpKzE2Pj4zXS0rcFtiKyhjPDw1KT4+M10rZDto
PStwW2IrKGM8PDUpKzI0Pj4zXS0rcFtiKyhjPDw1KSs4Pj4zXStkO2w9bC1pLWg7bT1tLWgqaTtj
PWMrMXwwfWg9KyhqfDApO2k9bCpsLWgqNC4wKm07aWYoIShpPDAuMCkpe2Q9K0ooK2kpO2c9aCoy
LjA7ZT0oZC1sKS9nO2c9KC1sLWQpL2c7Yz1+fmU7Yz0oY3wwKT09MD8xOmM7aWYoMD4yKXtrPWZb
MTk0NTddfDA7cTIoMTA3NzcwLDI3LDEsayl8MDtwW24+PjNdPWg7cFtuKzg+PjNdPWw7cFtuKzE2
Pj4zXT1tO3BbbisyND4+M109aTtwW24rMzI+PjNdPWQ7ZzIoaywxMDc3OTgsbil8MDtmW3E+PjJd
PWM7cFtxKzg+PjNdPWU7ZltxKzE2Pj4yXT1+fmc7cFtxKzI0Pj4zXT1nO2cyKGssMTA3ODI0LHEp
fDA7cFtvPj4zXT0oZSpoK2wpKmUrbTtwW28rOD4+M109KGcqaCtsKSpnK207ZzIoaywxMDc4NDYs
byl8MH19ZWxzZXtwW2s+PjNdPWk7WXcoMSwxMDc3NDMsayl8MDtjPS0xfXQ9cjtyZXR1cm4gY3ww
fWZ1bmN0aW9uIFFEKGEsYixjLGQsZSxnKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtn
PWd8MDt2YXIgaD0wLGk9MCxqPTAsaz0wLGw9MC4wLG09MC4wLG49MC4wLG89MC4wLHE9MCxyPTAs
cz0wLHU9MCx2PTAuMCx3PTAuMDt1PXQ7dD10KzMyfDA7cz11KzE2fDA7cj11O249K3BbYT4+M107
bz0rcFthKzg+PjNdO2w9K3BbYSsxNj4+M107bT0rcFthKzI0Pj4zXTtxPUVJKCl8MDtpPWZbZT4+
Ml18MDthPWktZHwwO2o9ZltlKzQ+PjJdfDA7aD1qLWR8MDtpPWQtfn4obisobj49MC4wPy41Oi0u
NSkpK2krfn4obCsobD49MC4wPy41Oi0uNSkpfDA7aj1kLX5+KG8rKG8+PTAuMD8uNTotLjUpKStq
K35+KG0rKG0+PTAuMD8uNTotLjUpKXwwO2lmKChhfDApPi0xKWU9KGF8MCkvKGN8MCl8MDtlbHNl
IGU9KChhKzF8MCkvKGN8MCl8MCkrLTF8MDtpZigoaHwwKT4tMSlrPShofDApLyhjfDApfDA7ZWxz
ZSBrPSgoaCsxfDApLyhjfDApfDApKy0xfDA7aWYoKGl8MCk+LTEpaT0oaXwwKS8oY3wwKXwwO2Vs
c2UgaT0oKGkrMXwwKS8oY3wwKXwwKSstMXwwO2lmKChqfDApPi0xKWg9KGp8MCkvKGN8MCl8MDtl
bHNlIGg9KChqKzF8MCkvKGN8MCl8MCkrLTF8MDt3aGlsZSgxKXtpZigoZXwwKT4oaXwwKSlicmVh
azthPWs7d2hpbGUoMSl7aWYoKGF8MCk+KGh8MCkpYnJlYWs7S0kocSxlLGEpO2E9YSsxfDB9ZT1l
KzF8MH1pPU9JKHEpfDA7aj1iKzR8MDtmW2o+PjJdPWk7aT1OSShxKXwwO2s9Yis4fDA7ZltrPj4y
XT1pO3c9KyhkPDwxfDApO3Y9KyhjfDApO2g9fn4rVSgrKCh3LW4rbCkvdikpO2E9fn4rVSgrKCh3
LW8rbSkvdikpO2ZbYj4+Ml09YStoO2E6ZG8gaWYoMD4yKXtlPWZbMTk0NTddfDA7ZltyPj4yXT1n
O2Zbcis0Pj4yXT1pO2Zbcis4Pj4yXT1oO2ZbcisxMj4+Ml09YTtnMihlLDEwNzcwMixyKXwwO2E9
MDt3aGlsZSgxKXtpZigoYXwwKT49KGZbaz4+Ml18MCkpYnJlYWsgYTtnPWZbaj4+Ml18MDtyPWZb
ZysoYTw8MykrND4+Ml18MDtmW3M+PjJdPWZbZysoYTw8Myk+PjJdO2Zbcys0Pj4yXT1yO2cyKGUs
MTA3NzI5LHMpfDA7YT1hKzF8MH19d2hpbGUoMCk7SEkocSk7dD11O3JldHVybn1mdW5jdGlvbiBS
RChhLGIsYyxkLGUsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGg9
MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MCxzPTAuMCx1PTAsdj0wLHc9MCx4
PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9
MCxNPTAsTj0wLE89MCxQPTAuMCxRPTAuMDtPPXQ7dD10KzEyOHwwO0Y9TysxMTJ8MDtFPU8rMTA0
fDA7Tj1PKzE2fDA7TT1PO0g9Tys2NHwwO0k9Tys1NnwwO3o9Tys0MHwwO0E9Tys5NnwwO3k9Tys4
OHwwO3Y9TysyNHwwO3c9Tys4MHwwO3g9Tys3MnwwO0s9ZltlKzg+PjJdfDA7Rz1mW2UrMTI+PjJd
fDA7Qz0oYXwwKT09MD9iOmE7TD1FSSgpfDA7Sj1iKzE2fDA7Qj1mW0o+PjJdfDA7cz0rcFtCKzE2
Pj4zXTtEPShmW2c+PjJdfDApLX5+KHMrKHM+PTAuMD8uNTotLjUpKXwwO3M9K3BbQisyND4+M107
Qj0oZltnKzQ+PjJdfDApLX5+KHMrKHM+PTAuMD8uNTotLjUpKXwwO2E6ZG8gaWYoKGZbZSsxNj4+
Ml18MCk9PTEpe3Y9RUgoKGp5KGIpfDApPDwyKXwwO2E9MDtnPSR5KGIpfDA7d2hpbGUoMSl7aWYo
IWcpYnJlYWs7eD1nKzE2fDA7Zlt2KyhhPDwyKT4+Ml09ZlsoZlt4Pj4yXXwwKSsxMTI+PjJdO2Zb
KGZbeD4+Ml18MCkrMTEyPj4yXT0wO2E9YSsxfDA7Zz1heihiLGcpfDB9bT1ELUt8MDtuPUItS3ww
O289RCtLfDA7cT1CK0t8MDtsPTE7d2hpbGUoMSl7YT1mW0o+PjJdfDA7aWYoKGx8MCk+KGZbYSsx
ODA+PjJdfDApKWJyZWFrO2s9ZlsoZlthKzE4ND4+Ml18MCkrKGw8PDIpPj4yXXwwO2g9ZltrKzE2
Pj4yXXwwO3M9K3BbaCsxNj4+M107YT1+fihzKyhzPj0wLjA/LjU6LS41KSk7cz0rcFtoKzI0Pj4z
XTtnPX5+KHMrKHM+PTAuMD8uNTotLjUpKTtzPStwW2grMzI+PjNdO2U9fn4ocysocz49MC4wPy41
Oi0uNSkpO3M9K3BbaCs0MD4+M107aD1+fihzKyhzPj0wLjA/LjU6LS41KSk7YjpkbyBpZigoZXww
KT4oYXwwKSYoaHwwKT4oZ3wwKSl7YT1tK2F8MDtpPW4rZ3wwO2U9bytlfDA7aj1xK2h8MDtpZigo
YXwwKT4tMSlnPShhfDApLyhkfDApfDA7ZWxzZSBnPSgoYSsxfDApLyhkfDApfDApKy0xfDA7aWYo
KGl8MCk+LTEpaT0oaXwwKS8oZHwwKXwwO2Vsc2UgaT0oKGkrMXwwKS8oZHwwKXwwKSstMXwwO2lm
KChlfDApPi0xKWg9KGV8MCkvKGR8MCl8MDtlbHNlIGg9KChlKzF8MCkvKGR8MCl8MCkrLTF8MDtp
ZigoanwwKT4tMSllPShqfDApLyhkfDApfDA7ZWxzZSBlPSgoaisxfDApLyhkfDApfDApKy0xfDA7
d2hpbGUoMSl7aWYoKGd8MCk+KGh8MCkpYnJlYWs7YT1pO3doaWxlKDEpe2lmKChhfDApPihlfDAp
KWJyZWFrO0tJKEwsZyxhKTthPWErMXwwfWc9ZysxfDB9YT0keShrKXwwO3doaWxlKDEpe2lmKCFh
KWJyZWFrIGI7ZlsoZlthKzE2Pj4yXXwwKSsyMTI+PjJdPWs7YT1heihrLGEpfDB9fXdoaWxlKDAp
O2w9bCsxfDB9cT16Kzh8MDtyPUgrNHwwO3M9KyhLfDApO3U9SSs0fDA7bz1BKzR8MDtuPXkrNHww
O209JHkoYil8MDt3aGlsZSgxKXtpZighbSlicmVhaztkTSh6LG0pO1E9K3Bbej4+M107UD0rcFtx
Pj4zXTtrPUQrfn4oUSsoUT49MC4wPy41Oi0uNSkpfDA7ZltIPj4yXT1rO2w9Qit+fihQKyhQPj0w
LjA/LjU6LS41KSl8MDtmW3I+PjJdPWw7Zz1tKzE2fDA7YT1mW2c+PjJdfDA7YzpkbyBpZighKGZb
YSsyMTI+PjJdfDApKXtmW0k+PjJdPX5+KCgrcFthKzk2Pj4zXSsgK3BbYSs4OD4+M10pKi41K3Mp
O2ZbdT4+Ml09fn4oK3BbYSs4MD4+M10qLjUrcyk7ZltFPj4yXT1mW0g+PjJdO2ZbRSs0Pj4yXT1m
W0grND4+Ml07ZltGPj4yXT1mW0k+PjJdO2ZbRis0Pj4yXT1mW0krND4+Ml07V0QoQSxFLEYpO2E9
ZltBPj4yXXwwO2U9ZltvPj4yXXwwO2ZbRT4+Ml09ZltIPj4yXTtmW0UrND4+Ml09ZltIKzQ+PjJd
O2ZbRj4+Ml09ZltJPj4yXTtmW0YrND4+Ml09ZltJKzQ+PjJdO1hEKHksRSxGKTtoPWZbeT4+Ml18
MDtpPWZbbj4+Ml18MDtpZigoYXwwKT4tMSlnPShhfDApLyhkfDApfDA7ZWxzZSBnPSgoYSsxfDAp
LyhkfDApfDApKy0xfDA7aWYoKGV8MCk+LTEpaj0oZXwwKS8oZHwwKXwwO2Vsc2Ugaj0oKGUrMXww
KS8oZHwwKXwwKSstMXwwO2lmKChofDApPi0xKWg9KGh8MCkvKGR8MCl8MDtlbHNlIGg9KChoKzF8
MCkvKGR8MCl8MCkrLTF8MDtpZigoaXwwKT4tMSllPShpfDApLyhkfDApfDA7ZWxzZSBlPSgoaSsx
fDApLyhkfDApfDApKy0xfDA7d2hpbGUoMSl7aWYoKGd8MCk+KGh8MCkpYnJlYWs7YT1qO3doaWxl
KDEpe2lmKChhfDApPihlfDApKWJyZWFrO0tJKEwsZyxhKTthPWErMXwwfWc9ZysxfDB9aWYoKGt8
MCk+LTEpYT0oa3wwKS8oZHwwKXwwO2Vsc2UgYT0oKGsrMXwwKS8oZHwwKXwwKSstMXwwO2ZbSD4+
Ml09YTtpZigobHwwKT4tMSlhPShsfDApLyhkfDApfDA7ZWxzZSBhPSgobCsxfDApLyhkfDApfDAp
Ky0xfDA7ZltyPj4yXT1hO2E9TngoQyxtKXwwO3doaWxlKDEpe2lmKCFhKWJyZWFrIGM7ZltGPj4y
XT1mW0g+PjJdO2ZbRis0Pj4yXT1mW0grND4+Ml07WUQoYSxGLEwsRCxCLGQsRyk7YT1QeChDLGEp
fDB9fWVsc2V7aWYoKGt8MCk+LTEpYT0oa3wwKS8oZHwwKXwwO2Vsc2UgYT0oKGsrMXwwKS8oZHww
KXwwKSstMXwwO2ZbSD4+Ml09YTtpZigobHwwKT4tMSlhPShsfDApLyhkfDApfDA7ZWxzZSBhPSgo
bCsxfDApLyhkfDApfDApKy0xfDA7ZltyPj4yXT1hO2E9TngoQyxtKXwwO3doaWxlKDEpe2lmKCFh
KWJyZWFrIGM7aWYoKGZbKGZbZz4+Ml18MCkrMjEyPj4yXXwwKSE9KGZbKGZbKGZbKChmW2E+PjJd
JjN8MCk9PTI/YTphKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIxMj4+Ml18MCkpe2ZbRj4+
Ml09ZltIPj4yXTtmW0YrND4+Ml09ZltIKzQ+PjJdO1lEKGEsRixMLEQsQixkLEcpfWE9UHgoQyxh
KXwwfX13aGlsZSgwKTttPWF6KGIsbSl8MH1hPTA7Zz0keShiKXwwO3doaWxlKDEpe2lmKCFnKWJy
ZWFrO2ZbKGZbZysxNj4+Ml18MCkrMTEyPj4yXT1mW3YrKGE8PDIpPj4yXTthPWErMXwwO2c9YXoo
YixnKXwwfU1fKHYpfWVsc2V7cT12Kzh8MDtyPUgrNHwwO3M9KyhLfDApO3U9SSs0fDA7bz13KzR8
MDtuPXgrNHwwO209JHkoYil8MDt3aGlsZSgxKXtpZighbSlicmVhayBhO2RNKHYsbSk7UD0rcFt2
Pj4zXTtRPStwW3E+PjNdO2s9RCt+fihQKyhQPj0wLjA/LjU6LS41KSl8MDtmW0g+PjJdPWs7bD1C
K35+KFErKFE+PTAuMD8uNTotLjUpKXwwO2Zbcj4+Ml09bDthPWZbbSsxNj4+Ml18MDtmW0k+PjJd
PX5+KCgrcFthKzk2Pj4zXSsgK3BbYSs4OD4+M10pKi41K3MpO2ZbdT4+Ml09fn4oK3BbYSs4MD4+
M10qLjUrcyk7ZltFPj4yXT1mW0g+PjJdO2ZbRSs0Pj4yXT1mW0grND4+Ml07ZltGPj4yXT1mW0k+
PjJdO2ZbRis0Pj4yXT1mW0krND4+Ml07V0QodyxFLEYpO2E9Zlt3Pj4yXXwwO2U9ZltvPj4yXXww
O2ZbRT4+Ml09ZltIPj4yXTtmW0UrND4+Ml09ZltIKzQ+PjJdO2ZbRj4+Ml09ZltJPj4yXTtmW0Yr
ND4+Ml09ZltJKzQ+PjJdO1hEKHgsRSxGKTtoPWZbeD4+Ml18MDtpPWZbbj4+Ml18MDtpZigoYXww
KT4tMSlnPShhfDApLyhkfDApfDA7ZWxzZSBnPSgoYSsxfDApLyhkfDApfDApKy0xfDA7aWYoKGV8
MCk+LTEpaj0oZXwwKS8oZHwwKXwwO2Vsc2Ugaj0oKGUrMXwwKS8oZHwwKXwwKSstMXwwO2lmKCho
fDApPi0xKWg9KGh8MCkvKGR8MCl8MDtlbHNlIGg9KChoKzF8MCkvKGR8MCl8MCkrLTF8MDtpZigo
aXwwKT4tMSllPShpfDApLyhkfDApfDA7ZWxzZSBlPSgoaSsxfDApLyhkfDApfDApKy0xfDA7d2hp
bGUoMSl7aWYoKGd8MCk+KGh8MCkpYnJlYWs7YT1qO3doaWxlKDEpe2lmKChhfDApPihlfDApKWJy
ZWFrO0tJKEwsZyxhKTthPWErMXwwfWc9ZysxfDB9aWYoKGt8MCk+LTEpYT0oa3wwKS8oZHwwKXww
O2Vsc2UgYT0oKGsrMXwwKS8oZHwwKXwwKSstMXwwO2ZbSD4+Ml09YTtpZigobHwwKT4tMSlhPShs
fDApLyhkfDApfDA7ZWxzZSBhPSgobCsxfDApLyhkfDApfDApKy0xfDA7ZltyPj4yXT1hO2E9Tngo
QyxtKXwwO3doaWxlKDEpe2lmKCFhKWJyZWFrO2ZbRj4+Ml09ZltIPj4yXTtmW0YrND4+Ml09ZltI
KzQ+PjJdO1lEKGEsRixMLEQsQixkLEcpO2E9UHgoQyxhKXwwfW09YXooYixtKXwwfX13aGlsZSgw
KTtnPU9JKEwpfDA7aD1jKzR8MDtmW2g+PjJdPWc7Zz1OSShMKXwwO2k9Yys4fDA7ZltpPj4yXT1n
O2c9ZltKPj4yXXwwO1A9KyhLPDwxfDApO1E9KyhkfDApO2E9fn4rVSgrKCgrcFtnKzMyPj4zXStQ
LStwW2crMTY+PjNdKS9RKSk7Zz1+fitVKCsoKCtwW2crNDA+PjNdK1AtK3BbZysyND4+M10pL1Ep
KTtmW2M+PjJdPWcrYTtkOmRvIGlmKDA+Mil7ZT1mWzE5NDU3XXwwO2M9QXkoYil8MDtiPWZbaT4+
Ml18MDtmW00+PjJdPWM7ZltNKzQ+PjJdPWI7ZltNKzg+PjJdPWE7ZltNKzEyPj4yXT1nO2cyKGUs
MTA3NzAyLE0pfDA7YT0wO3doaWxlKDEpe2lmKChhfDApPj0oZltpPj4yXXwwKSlicmVhayBkO2I9
ZltoPj4yXXwwO009ZltiKyhhPDwzKSs0Pj4yXXwwO2ZbTj4+Ml09ZltiKyhhPDwzKT4+Ml07ZltO
KzQ+PjJdPU07ZzIoZSwxMDc3MjksTil8MDthPWErMXwwfX13aGlsZSgwKTtISShMKTt0PU87cmV0
dXJufWZ1bmN0aW9uIFNEKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuIChmW2ZbYj4+Ml0+PjJdfDAp
LShmW2ZbYT4+Ml0+PjJdfDApfDB9ZnVuY3Rpb24gVEQoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1j
fDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2o9dDt0PXQrMzJ8MDtoPWorMTZ8
MDtpPWo7az1mW2ErND4+Ml18MDtnPWZbYSs4Pj4yXXwwO2ZbYz4+Ml09MC0oZltkPj4yXXwwKTtl
PWMrNHwwO2ZbZT4+Ml09MC0oZltkKzQ+PjJdfDApO2E9MDtkPWs7d2hpbGUoMSl7aWYoKGF8MCk+
PShnfDApKWJyZWFrO2ZbaD4+Ml09ZltkPj4yXTtmW2grND4+Ml09ZltkKzQ+PjJdO0lJKGIsaCk7
YT1hKzF8MDtkPWQrOHwwfWlmKDA+MSl7az1mWzE5NDU3XXwwO2I9ZltjPj4yXXwwO2M9ZltlPj4y
XXwwO2ZbaT4+Ml09ZztmW2krND4+Ml09YjtmW2krOD4+Ml09YztnMihrLDEwNzY3NixpKXwwfXQ9
ajtyZXR1cm59ZnVuY3Rpb24gVUQoYSxiLGMsZCxlLGcsaCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1k
fDA7ZT1lfDA7Zz1nfDA7aD1ofDA7dmFyIGk9MCxqPTAsaz0wLjAsbD0wLjAsbT0wLjAsbj0wLjAs
bz0wLjAscT0wLjA7aj1mW2IrMTI+PjJdfDA7az0rcFtoKyhqPDw1KT4+M107bD0rcFtoKyhqPDw1
KSs4Pj4zXTttPStwW2grKGo8PDUpKzE2Pj4zXTtuPStwW2grKGo8PDUpKzI0Pj4zXTtpZighKChh
fDApPT0wPyhxPSsoZzw8MXwwKSxvPSsoZXwwKSwoVkQoKH5+K1UoKygocS1rK20pL28pKXwwKS8t
MnwwLCh+fitVKCsoKHEtbCtuKS9vKSl8MCkvLTJ8MCxiLGMsZCxlLGgpfDApIT0wKTowKSlpPTM7
YTpkbyBpZigoaXwwKT09Mz8oVkQoMCwwLGIsYyxkLGUsaCl8MCk9PTA6MClpZigofn4rVSgrKG0t
aykpfDApPCh+fitVKCsobi1sKSl8MCkpe2o9MTt3aGlsZSgxKXtpPTAtanwwO2E9MDt3aGlsZSgx
KXtpZigoYXwwKTw9KGl8MCkpYnJlYWs7aWYoVkQoaSxhLGIsYyxkLGUsaCl8MClicmVhayBhO2E9
YSstMXwwfWc9aTt3aGlsZSgxKXtpZigoZ3wwKT49KGp8MCkpYnJlYWs7aWYoVkQoZyxhLGIsYyxk
LGUsaCl8MClicmVhayBhO2c9ZysxfDB9d2hpbGUoMSl7aWYoKGF8MCk+PShqfDApKWJyZWFrO2lm
KFZEKGcsYSxiLGMsZCxlLGgpfDApYnJlYWsgYTthPWErMXwwfXdoaWxlKDEpe2lmKChnfDApPD0o
aXwwKSlicmVhaztpZihWRChnLGEsYixjLGQsZSxoKXwwKWJyZWFrIGE7Zz1nKy0xfDB9d2hpbGUo
MSl7aWYoKGF8MCk8PTApYnJlYWs7aWYoIShWRChnLGEsYixjLGQsZSxoKXwwKSlhPWErLTF8MDtl
bHNlIGJyZWFrIGF9aj1qKzF8MH19ZWxzZXtqPTE7d2hpbGUoMSl7aT0wLWp8MDthPTA7d2hpbGUo
MSl7aWYoYT4+PjA+PWo+Pj4wKWJyZWFrO2lmKFZEKGEsaSxiLGMsZCxlLGgpfDApYnJlYWsgYTth
PWErMXwwfWc9aTt3aGlsZSgxKXtpZigoZ3wwKT49KGp8MCkpYnJlYWs7aWYoVkQoYSxnLGIsYyxk
LGUsaCl8MClicmVhayBhO2c9ZysxfDB9d2hpbGUoMSl7aWYoKGF8MCk8PShpfDApKWJyZWFrO2lm
KFZEKGEsZyxiLGMsZCxlLGgpfDApYnJlYWsgYTthPWErLTF8MH13aGlsZSgxKXtpZigoZ3wwKTw9
KGl8MCkpYnJlYWs7aWYoVkQoYSxnLGIsYyxkLGUsaCl8MClicmVhayBhO2c9ZystMXwwfXdoaWxl
KDEpe2lmKChhfDApPj0wKWJyZWFrO2lmKCEoVkQoYSxnLGIsYyxkLGUsaCl8MCkpYT1hKzF8MDtl
bHNlIGJyZWFrIGF9aj1qKzF8MH19d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIFZEKGEsYixjLGQs
ZSxnLGgpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO2g9aHwwO3ZhciBpPTAs
aj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MCxzPTAsdT0wLHY9MCx3PTAuMCx4PTAuMDtz
PXQ7dD10KzQ4fDA7cT1zKzMyfDA7cj1zKzh8MDtvPXM7az1jKzR8MDttPWZbYys4Pj4yXXwwO249
bys0fDA7aT1mW2s+PjJdfDA7aj0wO3doaWxlKDEpe2lmKChqfDApPj0obXwwKSl7bD01O2JyZWFr
fXY9aTt1PWZbdis0Pj4yXXwwO2Zbbz4+Ml09KGZbdj4+Ml18MCkrYTtmW24+PjJdPXUrYjtmW3E+
PjJdPWZbbz4+Ml07ZltxKzQ+PjJdPWZbbys0Pj4yXTtpZihMSShkLHEpfDApe2k9MDticmVha31p
PWkrOHwwO2o9aisxfDB9aWYoKGx8MCk9PTUpe2k9ZltjKzEyPj4yXXwwO3g9K3BbaCsoaTw8NSk+
PjNdO3c9K3BbaCsoaTw8NSkrOD4+M107aT0oVihnLGEpfDApLX5+KHgrKHg+PTAuMD8uNTotLjUp
KXwwO2ZbZT4+Ml09aTtpPShWKGcsYil8MCktfn4odysodz49MC4wPy41Oi0uNSkpfDA7Yz1lKzR8
MDtmW2M+PjJdPWk7aT1mW2s+PjJdfDA7aj0wO3doaWxlKDEpe2lmKChqfDApPj0obXwwKSlicmVh
azt1PWk7dj1mW3UrND4+Ml18MDtmW28+PjJdPShmW3U+PjJdfDApK2E7ZltuPj4yXT12K2I7Zltx
Pj4yXT1mW28+PjJdO2ZbcSs0Pj4yXT1mW28rND4+Ml07SUkoZCxxKTtpPWkrOHwwO2o9aisxfDB9
aWYoMD4xKXtpPWZbMTk0NTddfDA7dT1mW2U+PjJdfDA7dj1mW2M+PjJdfDA7ZltyPj4yXT1tO2Zb
cis0Pj4yXT1hO2Zbcis4Pj4yXT1iO2ZbcisxMj4+Ml09dTtmW3IrMTY+PjJdPXY7ZzIoaSwxMDc2
NDIscil8MDtpPTF9ZWxzZSBpPTF9dD1zO3JldHVybiBpfDB9ZnVuY3Rpb24gV0QoYSxiLGMpe2E9
YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTA7ZD0oZltiKzQ+PjJdfDApLShmW2MrND4+Ml18MCl8MDtm
W2E+PjJdPShmW2I+PjJdfDApLShmW2M+PjJdfDApO2ZbYSs0Pj4yXT1kO3JldHVybn1mdW5jdGlv
biBYRChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MDtkPShmW2MrND4+Ml18MCkrKGZb
Yis0Pj4yXXwwKXwwO2ZbYT4+Ml09KGZbYz4+Ml18MCkrKGZbYj4+Ml18MCk7ZlthKzQ+PjJdPWQ7
cmV0dXJufWZ1bmN0aW9uIFlEKGEsYixjLGQsZSxnLGgpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHww
O2U9ZXwwO2c9Z3wwO2g9aHwwO3ZhciBpPTAuMCxqPTAuMCxrPTAsbD0wLG09MC4wLG49MC4wLG89
MC4wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MDtBPXQ7dD10KzExMnww
O3g9QSs5NnwwO3c9QSs4MHwwO3E9QSs0OHwwO3I9QSszMnwwO3k9QSsxNnwwO3o9QTtsPUErNjR8
MDtwW3k+PjNdPSsoZltiPj4yXXwwKTtzPXkrOHwwO3Bbcz4+M109KyhmW2IrND4+Ml18MCk7YTpk
byBpZigoaHwwKSE9MD8odT1hKzE2fDAsaz1mWyhmW3U+PjJdfDApKzg+PjJdfDAsKGt8MCkhPTAp
OjApe289KyhkfDApO249KyhlfDApO209MS4wLysoZ3wwKTtsPXorOHwwO2g9MDt3aGlsZSgxKXtp
ZigoaHwwKT49KGZbays0Pj4yXXwwKSlicmVhayBhO2U9ZltrPj4yXXwwO2E9ZltlKyhoKjQ4fDAp
Pj4yXXwwO2I9ZltlKyhoKjQ4fDApKzQ+PjJdfDA7Zz1mW2UrKGgqNDh8MCkrOD4+Ml18MDtkPWZb
ZSsoaCo0OHwwKSsxMj4+Ml18MDtrPWUrKGgqNDh8MCkrMTZ8MDtmW3E+PjJdPWZbaz4+Ml07Zltx
KzQ+PjJdPWZbays0Pj4yXTtmW3ErOD4+Ml09ZltrKzg+PjJdO2ZbcSsxMj4+Ml09ZltrKzEyPj4y
XTtlPWUrKGgqNDh8MCkrMzJ8MDtmW3I+PjJdPWZbZT4+Ml07ZltyKzQ+PjJdPWZbZSs0Pj4yXTtm
W3IrOD4+Ml09ZltlKzg+PjJdO2ZbcisxMj4+Ml09ZltlKzEyPj4yXTtpZighZyl7Zlt5Pj4yXT1m
W2E+PjJdO2ZbeSs0Pj4yXT1mW2ErND4+Ml07Zlt5Kzg+PjJdPWZbYSs4Pj4yXTtmW3krMTI+PjJd
PWZbYSsxMj4+Ml07az1hKzE2fDA7Zlt6Pj4yXT1mW2s+PjJdO2Zbeis0Pj4yXT1mW2srND4+Ml07
Zlt6Kzg+PjJdPWZbays4Pj4yXTtmW3orMTI+PjJdPWZbaysxMj4+Ml07az0yfWVsc2V7Zlt5Pj4y
XT1mW3E+PjJdO2ZbeSs0Pj4yXT1mW3ErND4+Ml07Zlt5Kzg+PjJdPWZbcSs4Pj4yXTtmW3krMTI+
PjJdPWZbcSsxMj4+Ml07Zlt6Pj4yXT1mW2E+PjJdO2Zbeis0Pj4yXT1mW2ErND4+Ml07Zlt6Kzg+
PjJdPWZbYSs4Pj4yXTtmW3orMTI+PjJdPWZbYSsxMj4+Ml07az0xfWk9K3BbeT4+M10rbztwW3k+
PjNdPWk7aj0rcFtzPj4zXStuO3Bbcz4+M109ajtpZighKGk+PTAuMCkpaT0oaSsxLjApKm0rLTEu
MDtlbHNlIGk9aSptO3BbeT4+M109aTtpZighKGo+PTAuMCkpaT0oaisxLjApKm0rLTEuMDtlbHNl
IGk9aiptO3Bbcz4+M109aTtpPStwW3o+PjNdK287cFt6Pj4zXT1pO2o9K3BbbD4+M10rbjtwW2w+
PjNdPWo7aWYoIShpPj0wLjApKWk9KGkrMS4wKSptKy0xLjA7ZWxzZSBpPWkqbTtwW3o+PjNdPWk7
aWYoIShqPj0wLjApKWk9KGorMS4wKSptKy0xLjA7ZWxzZSBpPWoqbTtwW2w+PjNdPWk7Zlt3Pj4y
XT1mW3k+PjJdO2Zbdys0Pj4yXT1mW3krND4+Ml07Zlt3Kzg+PjJdPWZbeSs4Pj4yXTtmW3crMTI+
PjJdPWZbeSsxMj4+Ml07Zlt4Pj4yXT1mW3o+PjJdO2ZbeCs0Pj4yXT1mW3orND4+Ml07Zlt4Kzg+
PjJdPWZbeis4Pj4yXTtmW3grMTI+PjJdPWZbeisxMj4+Ml07SkQodyx4LGMpO3doaWxlKDEpe2lm
KChrfDApPj0oYnwwKSlicmVhaztmW3k+PjJdPWZbej4+Ml07Zlt5KzQ+PjJdPWZbeis0Pj4yXTtm
W3krOD4+Ml09Zlt6Kzg+PjJdO2ZbeSsxMj4+Ml09Zlt6KzEyPj4yXTtnPWErKGs8PDQpfDA7Zlt6
Pj4yXT1mW2c+PjJdO2Zbeis0Pj4yXT1mW2crND4+Ml07Zlt6Kzg+PjJdPWZbZys4Pj4yXTtmW3or
MTI+PjJdPWZbZysxMj4+Ml07aT0rcFt6Pj4zXStvO3Bbej4+M109aTtqPStwW2w+PjNdK247cFts
Pj4zXT1qO2lmKCEoaT49MC4wKSlpPShpKzEuMCkqbSstMS4wO2Vsc2UgaT1pKm07cFt6Pj4zXT1p
O2lmKCEoaj49MC4wKSlpPShqKzEuMCkqbSstMS4wO2Vsc2UgaT1qKm07cFtsPj4zXT1pO2Zbdz4+
Ml09Zlt5Pj4yXTtmW3crND4+Ml09Zlt5KzQ+PjJdO2Zbdys4Pj4yXT1mW3krOD4+Ml07Zlt3KzEy
Pj4yXT1mW3krMTI+PjJdO2ZbeD4+Ml09Zlt6Pj4yXTtmW3grND4+Ml09Zlt6KzQ+PjJdO2ZbeCs4
Pj4yXT1mW3orOD4+Ml07Zlt4KzEyPj4yXT1mW3orMTI+PjJdO0pEKHcseCxjKTtrPWsrMXwwfWlm
KGR8MCl7Zlt5Pj4yXT1mW3o+PjJdO2ZbeSs0Pj4yXT1mW3orND4+Ml07Zlt5Kzg+PjJdPWZbeis4
Pj4yXTtmW3krMTI+PjJdPWZbeisxMj4+Ml07Zlt6Pj4yXT1mW3I+PjJdO2Zbeis0Pj4yXT1mW3Ir
ND4+Ml07Zlt6Kzg+PjJdPWZbcis4Pj4yXTtmW3orMTI+PjJdPWZbcisxMj4+Ml07aT0rcFt6Pj4z
XStvO3Bbej4+M109aTtqPStwW2w+PjNdK247cFtsPj4zXT1qO2lmKCEoaT49MC4wKSlpPShpKzEu
MCkqbSstMS4wO2Vsc2UgaT1pKm07cFt6Pj4zXT1pO2lmKCEoaj49MC4wKSlpPShqKzEuMCkqbSst
MS4wO2Vsc2UgaT1qKm07cFtsPj4zXT1pO2Zbdz4+Ml09Zlt5Pj4yXTtmW3crND4+Ml09Zlt5KzQ+
PjJdO2Zbdys4Pj4yXT1mW3krOD4+Ml07Zlt3KzEyPj4yXT1mW3krMTI+PjJdO2ZbeD4+Ml09Zlt6
Pj4yXTtmW3grND4+Ml09Zlt6KzQ+PjJdO2ZbeCs4Pj4yXT1mW3orOD4+Ml07Zlt4KzEyPj4yXT1m
W3orMTI+PjJdO0pEKHcseCxjKX1oPWgrMXwwO2s9ZlsoZlt1Pj4yXXwwKSs4Pj4yXXwwfX1lbHNl
IHY9Mzt3aGlsZSgwKTtpZigodnwwKT09Myl7ZE0obCxmWygoZlthPj4yXSYzfDApPT0yP2E6YSst
NDh8MCkrNDA+PjJdfDApO2Zbej4+Ml09ZltsPj4yXTtmW3orND4+Ml09ZltsKzQ+PjJdO2Zbeis4
Pj4yXT1mW2wrOD4+Ml07Zlt6KzEyPj4yXT1mW2wrMTI+PjJdO2k9K3Bbej4+M10rICsoZHwwKTtw
W3o+PjNdPWk7az16Kzh8MDtqPStwW2s+PjNdKyArKGV8MCk7cFtrPj4zXT1qO2lmKCEoaT49MC4w
KSlpPShpKzEuMCkvKyhnfDApKy0xLjA7ZWxzZSBpPWkvKyhnfDApO3Bbej4+M109aTtpZighKGo+
PTAuMCkpaT0oaisxLjApLysoZ3wwKSstMS4wO2Vsc2UgaT1qLysoZ3wwKTtwW2s+PjNdPWk7Zlt3
Pj4yXT1mW3k+PjJdO2Zbdys0Pj4yXT1mW3krND4+Ml07Zlt3Kzg+PjJdPWZbeSs4Pj4yXTtmW3cr
MTI+PjJdPWZbeSsxMj4+Ml07Zlt4Pj4yXT1mW3o+PjJdO2ZbeCs0Pj4yXT1mW3orND4+Ml07Zlt4
Kzg+PjJdPWZbeis4Pj4yXTtmW3grMTI+PjJdPWZbeisxMj4+Ml07SkQodyx4LGMpfXQ9QTtyZXR1
cm59ZnVuY3Rpb24gWkQoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2E6ZG8gaWYoKGF8MCk8MSlh
PTA7ZWxzZSBzd2l0Y2goZltjKzE2Pj4yXXwwKXtjYXNlIDQ6e2E9TUQoYSxiLGMpfDA7YnJlYWsg
YX1jYXNlIDM6e2E9X0QoYSxiLGMpfDA7YnJlYWsgYX1kZWZhdWx0OnthPTA7YnJlYWsgYX19d2hp
bGUoMCk7cmV0dXJuIGF8MH1mdW5jdGlvbiBfRChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFy
IGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MDttPXQ7dD10KzgwfDA7Zz1t
KzY0fDA7ZT1tKzI0fDA7bD1tKzh8MDtkPW07aD1tKzU2fDA7aj1jKzh8MDtrPVBEKGEsYixmW2o+
PjJdfDApfDA7aWYoMCl7aT1mWzE5NDU3XXwwO2ZbZD4+Ml09aztnMihpLDEwNzYxMSxkKXwwfWE6
ZG8gaWYoKGt8MCk+PTEpe2ZbaCs0Pj4yXT0wO2ZbaD4+Ml09MDtpPURIKGE8PDQpfDA7Yz0wO3do
aWxlKDEpe2lmKChjfDApPj0oYXwwKSlicmVhaztmW2krKGM8PDQpKzEyPj4yXT1jO249YisoYzw8
NSl8MDtkPWZbaj4+Ml18MDtmW2U+PjJdPWZbbj4+Ml07ZltlKzQ+PjJdPWZbbis0Pj4yXTtmW2Ur
OD4+Ml09ZltuKzg+PjJdO2ZbZSsxMj4+Ml09ZltuKzEyPj4yXTtmW2UrMTY+PjJdPWZbbisxNj4+
Ml07ZltlKzIwPj4yXT1mW24rMjA+PjJdO2ZbZSsyND4+Ml09ZltuKzI0Pj4yXTtmW2UrMjg+PjJd
PWZbbisyOD4+Ml07ZltnPj4yXT1mW2g+PjJdO2ZbZys0Pj4yXT1mW2grND4+Ml07UUQoZSxpKyhj
PDw0KXwwLGssZCxnLDE5NDg3MCk7Yz1jKzF8MH1lPURIKGE8PDIpfDA7Yz0wO3doaWxlKDEpe2lm
KChjfDApPj0oYXwwKSlicmVhaztmW2UrKGM8PDIpPj4yXT1pKyhjPDw0KTtjPWMrMXwwfVckKGUs
YSw0LDg3KTtnPUVJKCl8MDtjPURIKGE8PDMpfDA7ZD0wO3doaWxlKDEpe2lmKChkfDApPj0oYXww
KSlicmVhaztuPWZbZSsoZDw8Mik+PjJdfDA7VUQoZCxuLGcsYysoZltuKzEyPj4yXTw8Myl8MCxr
LGZbaj4+Ml18MCxiKTtkPWQrMXwwfU1fKGUpO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGF8MCkp
YnJlYWs7TV8oZltpKyhkPDw0KSs0Pj4yXXwwKTtkPWQrMXwwfU1fKGkpO0hJKGcpO2lmKDA+MSl7
ZT1mWzE5NDU3XXwwO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGF8MCkpYnJlYWsgYTtiPWZbYyso
ZDw8Myk+PjJdfDA7bj1mW2MrKGQ8PDMpKzQ+PjJdfDA7ZltsPj4yXT1kO2ZbbCs0Pj4yXT1iO2Zb
bCs4Pj4yXT1uO2cyKGUsMTA3NjI3LGwpfDA7ZD1kKzF8MH19fWVsc2UgYz0wO3doaWxlKDApO3Q9
bTtyZXR1cm4gY3wwfWZ1bmN0aW9uICREKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1k
fDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLjAsbT0wLjAsbj0wLjAsbz0wLjAs
cT0wLHI9MCxzPTAsdD0wO2E6ZG8gaWYoKGF8MCk8MSllPTAtYXwwO2Vsc2V7cz0oZHwwKT09MDtx
PShlfDApPT0wO2k9MDt3aGlsZSgxKXtpZigoaXwwKT09KGF8MCkpe2U9MDticmVhayBhfXI9Zlti
KyhpPDwyKT4+Ml18MDtnPXM/cjpkO2o9ZltjKyhpPDwzKT4+Ml18MDtrPWZbYysoaTw8MykrND4+
Ml18MDtsPSsoanwwKTttPWwqLjAxMzg4ODg4ODg4ODg4ODg4ODtuPSsoa3wwKTtvPW4qLjAxMzg4
ODg4ODg4ODg4ODg4ODtoPSR5KHIpfDA7d2hpbGUoMSl7aWYoIWgpYnJlYWs7ZT1mW2grMTY+PjJd
fDA7dD1mW2UrMTMyPj4yXXwwO3BbdD4+M109K3BbdD4+M10rbTt0PXQrOHwwO3BbdD4+M109K3Bb
dD4+M10rbzt0PWUrMTZ8MDtwW3Q+PjNdPStwW3Q+PjNdK2w7dD1lKzI0fDA7cFt0Pj4zXT0rcFt0
Pj4zXStuO2U9ZltlKzEwOD4+Ml18MDtpZihlfDApe3Q9ZSs1NnwwO3BbdD4+M109K3BbdD4+M10r
bDt0PWUrNjR8MDtwW3Q+PjNdPStwW3Q+PjNdK259YjpkbyBpZighcSl7ZT1OeChnLGgpfDA7d2hp
bGUoMSl7aWYoIWUpYnJlYWsgYjthRShlLGosayk7ZT1QeChnLGUpfDB9fXdoaWxlKDApO2g9YXoo
cixoKXwwfWJFKHIsaixrKTtpPWkrMXwwfX13aGlsZSgwKTtyZXR1cm4gZXwwfWZ1bmN0aW9uIGFF
KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MC4wLGo9MCxr
PTAuMCxsPTAsbT0wO2Q9ZlthKzE2Pj4yXXwwO2E9ZltkKzk2Pj4yXXwwO2lmKGF8MCl7bD1hKzU2
fDA7cFtsPj4zXT0rcFtsPj4zXSsgKyhifDApO2w9YSs2NHwwO3BbbD4+M109K3BbbD4+M10rICso
Y3wwKX1hPWZbZCsxMDg+PjJdfDA7aWYoYXwwKXtsPWErNTZ8MDtwW2w+PjNdPStwW2w+PjNdKyAr
KGJ8MCk7bD1hKzY0fDA7cFtsPj4zXT0rcFtsPj4zXSsgKyhjfDApfWE9ZltkKzEwMD4+Ml18MDtp
ZihhfDApe2w9YSs1NnwwO3BbbD4+M109K3BbbD4+M10rICsoYnwwKTtsPWErNjR8MDtwW2w+PjNd
PStwW2w+PjNdKyArKGN8MCl9YT1mW2QrMTA0Pj4yXXwwO2lmKGF8MCl7bD1hKzU2fDA7cFtsPj4z
XT0rcFtsPj4zXSsgKyhifDApO2w9YSs2NHwwO3BbbD4+M109K3BbbD4+M10rICsoY3wwKX1sPWZb
ZCs4Pj4yXXwwO2E6ZG8gaWYobHwwKXtrPSsoYnwwKTtpPSsoY3wwKTtiPWZbbCs0Pj4yXXwwO2E9
MDt3aGlsZSgxKXtpZigoYXwwKT49KGJ8MCkpYnJlYWsgYTtqPWZbbD4+Ml18MDtjPWZbaisoYSo0
OHwwKT4+Ml18MDtlPWZbaisoYSo0OHwwKSs0Pj4yXXwwO2c9ZltqKyhhKjQ4fDApKzg+PjJdfDA7
aD1mW2orKGEqNDh8MCkrMTI+PjJdfDA7ZD0wO3doaWxlKDEpe2lmKChkfDApPj0oZXwwKSlicmVh
azttPWMrKGQ8PDQpfDA7cFttPj4zXT0rcFttPj4zXStrO209YysoZDw8NCkrOHwwO3BbbT4+M109
K3BbbT4+M10raTtkPWQrMXwwfWlmKGd8MCl7bT1qKyhhKjQ4fDApKzE2fDA7cFttPj4zXT0rcFtt
Pj4zXStrO209aisoYSo0OHwwKSsyNHwwO3BbbT4+M109K3BbbT4+M10raX1pZihofDApe209aiso
YSo0OHwwKSszMnwwO3BbbT4+M109K3BbbT4+M10razttPWorKGEqNDh8MCkrNDB8MDtwW20+PjNd
PStwW20+PjNdK2l9YT1hKzF8MH19d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIGJFKGEsYyxkKXth
PWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MC4wLGg9MC4wLGk9MCxqPTAuMCxrPTAuMCxsPTAs
bT0wLjAsbj0wO2k9YSsxNnwwO2E9ZltpPj4yXXwwO249YSsxNnwwO2w9YSsyNHwwO2U9YSszMnww
O2E9YSs0MHwwO2c9KyhjfDApO2s9K3BbZT4+M10rZztoPSsoZHwwKTttPStwW2w+PjNdK2g7aj0r
cFthPj4zXStoO3Bbbj4+M109K3Bbbj4+M10rZztwW2w+PjNdPW07cFtlPj4zXT1rO3BbYT4+M109
ajthPWZbaT4+Ml18MDtlPWZbYSsxMj4+Ml18MDtpZihlfDA/YltlKzgxPj4wXXwwOjApe249ZSs1
NnwwO3Bbbj4+M109K3Bbbj4+M10rZztuPWUrNjR8MDtwW24+PjNdPStwW24+PjNdK2h9ZT0xO3do
aWxlKDEpe2lmKChlfDApPihmW2ErMTgwPj4yXXwwKSlicmVhaztiRShmWyhmW2ErMTg0Pj4yXXww
KSsoZTw8Mik+PjJdfDAsYyxkKTtlPWUrMXwwO2E9ZltpPj4yXXwwfXJldHVybn1mdW5jdGlvbiBj
RShhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wO2U9S0QoYSxiLGMsZCl8
MDtpZighZSlhPTE7ZWxzZXthPSREKGEsYixlLGMsZltkKzEyPj4yXXwwKXwwO01fKGUpfXJldHVy
biBhfDB9ZnVuY3Rpb24gZEUoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9
MC4wLGc9MC4wLGg9MC4wLGk9MC4wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAuMCxz
PTAuMCx0PTAuMCx1PTAuMCx2PTA7cT1jRShhLGIsYyxkKXwwO2lmKCFxKXt2TShjKTtsPWZbYysx
Nj4+Ml18MDtqPWwrMTZ8MDttPWwrMjR8MDtrPWwrMzJ8MDtsPWwrNDB8MDtkPTA7ZT0rcFtqPj4z
XTtnPStwW2s+PjNdO2g9K3BbbD4+M107aT0rcFttPj4zXTt3aGlsZSgxKXtpZigoZHwwKT49KGF8
MCkpYnJlYWs7bz1mWyhmW2IrKGQ8PDIpPj4yXXwwKSsxNj4+Ml18MDtuPWZbbysxODA+PjJdfDA7
bz1vKzE4NHwwO2M9MTt3aGlsZSgxKXtpZigoY3wwKT4obnwwKSlicmVhazt2PWZbKGZbKGZbbz4+
Ml18MCkrKGM8PDIpPj4yXXwwKSsxNj4+Ml18MDt1PStwW3YrMTY+PjNdO3I9K3BbdisyND4+M107
dD0rcFt2KzMyPj4zXTtzPStwW3YrNDA+PjNdO2M9YysxfDA7ZT1lPHU/ZTp1O2c9Zz50P2c6dDto
PWg+cz9oOnM7aT1pPHI/aTpyfWQ9ZCsxfDB9cFtqPj4zXT1lO3BbbT4+M109aTtwW2s+PjNdPWc7
cFtsPj4zXT1ofXJldHVybiBxfDB9ZnVuY3Rpb24gZUUoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1j
fDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wO2c9dDt0PXQrMTZ8MDtlPWc7aWYoIWQpeGEoMTA3ODYw
LDEwNzg2NiwxNDAwLDEwNzg3Myk7Yz1mRShhLGMsYyl8MDtmW2QrOD4+Ml09YztpZigwKXtoPWZb
MTk0NTddfDA7ZltlPj4yXT1jO2cyKGgsMTA3ODg1LGUpfDB9ZltkKzEyPj4yXT0wO2ZbZCsyMD4+
Ml09MDtnRShhLGIsZCl8MDt0PWc7cmV0dXJuIGZbZCsxNj4+Ml18MH1mdW5jdGlvbiBmRShhLGMs
ZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MDtpPXQ7dD10KzE2fDA7aD1p
O2U9aSs0fDA7Zz1HeChhLDEwODAxNSl8MDthOmRvIGlmKGcpe2ZbaD4+Ml09ZTtoPShNMShnLDE0
NTY2NSxoKXwwKT09MTthPWZbZT4+Ml18MDtpZihoJihhfDApPi0xKWM9YTtlbHNle3N3aXRjaChi
W2c+PjBdfDApe2Nhc2UgODQ6Y2FzZSAxMTY6YnJlYWs7ZGVmYXVsdDpicmVhayBhfWM9ZH19d2hp
bGUoMCk7dD1pO3JldHVybiBjfDB9ZnVuY3Rpb24gZ0UoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3ww
O3JldHVybiBoRShHeChhLDEwNzg5OCl8MCxiLGMpfDB9ZnVuY3Rpb24gaEUoYSxjLGQpe2E9YXww
O2M9Y3wwO2Q9ZHwwO3ZhciBlPTAuMCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbz0wLHE9
MCxyPTAscz0wLHU9MCx2PTA7dj10O3Q9dCs2NHwwO3I9dis0MHwwO3E9diszMnwwO3U9disyNHww
O3M9disxNnwwO2s9dis4fDA7aj12O2g9dis0OHwwO2k9dis0NHwwO2lmKCFkKXhhKDEwNzg2MCwx
MDc4NjYsMTI5MiwxMDc5MDcpO209ZCsyOHwwO2ZbbT4+Ml09MDtvPWQrMTZ8MDtmW28+PjJdPWM7
bD1kKzR8MDtmW2w+PjJdPTA7ZltkKzI0Pj4yXT0wO2E6ZG8gaWYoYXwwPyhnPWJbYT4+MF18MCxn
PDwyND4+MjQpOjApc3dpdGNoKGc8PDI0Pj4yNHwwKXtjYXNlIDk3OntpZighKGEkKGEsMTA3OTI1
LDUpfDApKXtmW28+PjJdPTQ7az1pRShhKzV8MCxkKXwwO2Zbaj4+Ml09aTtrPShNMShrLDE0NTY2
NSxqKXwwKT4wO2M9ZltpPj4yXXwwO2lmKCEoayYoY3wwKT4wKSlicmVhayBhO2ZbbD4+Ml09Yzti
cmVhayBhfWlmKGEkKGEsMTA3OTMxLDYpfDApYnJlYWsgYTtmW28+PjJdPTU7ZltrPj4yXT1oO2s9
KE0xKGErNXwwLDEwNzkzOCxrKXwwKT4wO2U9K25baD4+Ml07aWYoayZlPjAuMCl7bltkPj4yXT1l
O2JyZWFrIGF9ZWxzZXtuW2Q+PjJdPTEuMDticmVhayBhfX1jYXNlIDk5OntpZihnPDwyND4+MjQh
PTk5KWJyZWFrIGE7aWYoSCQoYSwxMTYzMzIpfDApYnJlYWsgYTtmW28+PjJdPTE7YnJlYWsgYX1j
YXNlIDEwMzp7aWYoZzw8MjQ+PjI0IT0xMDMpYnJlYWsgYTtpZihIJChhLDExOTc2NCl8MClicmVh
ayBhO2Zbbz4+Ml09MzticmVhayBhfWNhc2UgMTEwOntpZihnPDwyND4+MjQhPTExMClicmVhayBh
O2lmKEgkKGEsMTE5NzUxKXwwKWJyZWFrIGE7ZltvPj4yXT0yO2JyZWFrIGF9ZGVmYXVsdDpicmVh
ayBhfXdoaWxlKDApO2lmKDApe2M9ZlsxOTQ1N118MDtxMigxMDc5NDEsMTEsMSxjKXwwO2s9akUo
ZltvPj4yXXwwKXwwO2Zbcz4+Ml09aztnMihjLDEwNzk1MyxzKXwwO2lmKChmW28+PjJdfDApPT01
KXtwW3U+PjNdPStuW2Q+PjJdO2cyKGMsMTA3OTY2LHUpfDB9ZltxPj4yXT1mW2w+PjJdO2cyKGMs
MTA3OTc5LHEpfDA7ZltyPj4yXT1mW20+PjJdO2cyKGMsMTA3OTkyLHIpfDB9dD12O3JldHVybiBm
W28+PjJdfDB9ZnVuY3Rpb24gaUUoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTA7YTpk
byBpZigoYlthPj4wXXwwKT09OTUpe2U9YysyOHwwO2Q9MTt3aGlsZSgxKXthPWErMXwwO2I6d2hp
bGUoMSl7aWYoIWQpYnJlYWsgYTtjPWJbYT4+MF18MDtpZighKGM8PDI0Pj4yNCkpYnJlYWsgYTtz
d2l0Y2goYzw8MjQ+PjI0fDApe2Nhc2UgOTk6e2c9MTI7YnJlYWsgYn1jYXNlIDEwNTp7Yz02NDti
cmVhayBifWNhc2UgMTE3OntnPTc7YnJlYWsgYn1jYXNlIDExNjp7Zz04O2JyZWFrIGJ9Y2FzZSA5
ODp7Zz05O2JyZWFrIGJ9Y2FzZSAxMDg6e2c9MTA7YnJlYWsgYn1jYXNlIDExNDp7Zz0xMTticmVh
ayBifWRlZmF1bHQ6ZD0wfX1pZigoZ3wwKT09Nyl7Zz0wO2M9Mn1lbHNlIGlmKChnfDApPT04KXtn
PTA7Yz0xNn1lbHNlIGlmKChnfDApPT05KXtnPTA7Yz0zMn1lbHNlIGlmKChnfDApPT0xMCl7Zz0w
O2M9NH1lbHNlIGlmKChnfDApPT0xMSl7Zz0wO2M9OH1lbHNlIGlmKChnfDApPT0xMil7Zz0wO2M9
MX1mW2U+PjJdPWZbZT4+Ml18Y319d2hpbGUoMCk7cmV0dXJuIGF8MH1mdW5jdGlvbiBqRShhKXth
PWF8MDtzd2l0Y2goYXwwKXtjYXNlIDE6e2E9MTE2MzMyO2JyZWFrfWNhc2UgMjp7YT0xMTk3NTE7
YnJlYWt9Y2FzZSAzOnthPTExOTc2NDticmVha31jYXNlIDQ6e2E9MTA3OTI1O2JyZWFrfWNhc2Ug
NTp7YT0xMDc5MzE7YnJlYWt9ZGVmYXVsdDphPTEwODAwNX1yZXR1cm4gYXwwfWZ1bmN0aW9uIGtF
KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0w
LGs9MCxsPTAsbT0wO209dDt0PXQrOTZ8MDtrPW07bD1tKzgwfDA7ZG8gaWYoYSl7aWYoIWQpe2Q9
Tl8oMSwyMCl8MDtmW2QrND4+Ml09Yz4+PjA+ODA/Yzo4MH1jPWZbZD4+Ml18MDtqPWZbZCs0Pj4y
XXwwO2lmKCFjKXtjPTEwMDtlPU5fKDEwMCxqKXwwfWVsc2V7aT1jKzEwMHwwO2U9T18oZltkKzg+
PjJdfDAsVihpLGopfDApfDA7UzMoZSsoVihqLGMpfDApfDAsMCxqKjEwMHwwKXwwO2M9aX1pPWU7
d2hpbGUoMSl7YT1sRShrLGEsYixsKXwwO2lmKCFhKWJyZWFrO2U9ZltkPj4yXXwwO2c9Yzw8MTto
PVYoYyxqKXwwO2lmKChlfDApPT0oY3wwKSl7aT1PXyhpLFYoZyxqKXwwKXwwO1MzKGkraHwwLDAs
aHwwKXwwO2M9ZztlPWZbZD4+Ml18MH1lPWkrKFYoZSxqKXwwKXwwO2c9aztoPWUrODB8MDtkb3tm
W2U+PjJdPWZbZz4+Ml07ZT1lKzR8MDtnPWcrNHwwfXdoaWxlKChlfDApPChofDApKTtmW2Q+PjJd
PShmW2Q+PjJdfDApKzF9aWYoZltsPj4yXXwwKXtsPWQrMTZ8MDtmW2w+PjJdPWZbbD4+Ml18MX1j
PWZbZD4+Ml18MDtpZighYyl7TV8oaSk7TV8oZCk7ZD0wO2JyZWFrfWVsc2V7bD1PXyhpLFYoYyxq
KXwwKXwwO2ZbZCs4Pj4yXT1sO2JyZWFrfX13aGlsZSgwKTt0PW07cmV0dXJuIGR8MH1mdW5jdGlv
biBsRShhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTAsaj0w
O2o9dDt0PXQrODB8MDtoPWorNjR8MDtpPWo7ZltlPj4yXT0wO2Rve2c9YltjPj4wXXwwO2M9Yysx
fDB9d2hpbGUoKFAkKGc8PDI0Pj4yNCl8MCkhPTApO2E6ZG8gc3dpdGNoKGc8PDI0Pj4yNHwwKXtj
YXNlIDY5OntmW2E+PjJdPTA7Yz1tRShjLGErOHwwKXwwO2lmKCFjKXtmW2U+PjJdPTE7Yz0wO2Jy
ZWFrIGF9aWYoZClmW2ErNzI+PjJdPWZbZD4+Ml07YnJlYWt9Y2FzZSAxMDE6e2ZbYT4+Ml09MTtj
PW1FKGMsYSs4fDApfDA7aWYoIWMpe2ZbZT4+Ml09MTtjPTA7YnJlYWsgYX1pZihkKWZbYSs3Mj4+
Ml09ZltkPj4yXTticmVha31jYXNlIDgwOntmW2E+PjJdPTI7Yz1uRShjLGErOHwwKXwwO2lmKCFj
KXtmW2U+PjJdPTE7Yz0wO2JyZWFrIGF9aWYoZClmW2ErNzI+PjJdPWZbZCs0Pj4yXTticmVha31j
YXNlIDExMjp7ZlthPj4yXT0zO2M9bkUoYyxhKzh8MCl8MDtpZighYyl7ZltlPj4yXT0xO2M9MDti
cmVhayBhfWlmKGQpZlthKzcyPj4yXT1mW2QrND4+Ml07YnJlYWt9Y2FzZSA5ODp7ZlthPj4yXT00
O2M9bkUoYyxhKzh8MCl8MDtpZighYyl7ZltlPj4yXT0xO2M9MDticmVhayBhfWlmKGQpZlthKzcy
Pj4yXT1mW2QrOD4+Ml07YnJlYWt9Y2FzZSA2Njp7ZlthPj4yXT01O2M9bkUoYyxhKzh8MCl8MDtp
ZighYyl7ZltlPj4yXT0xO2M9MDticmVhayBhfWlmKGQpZlthKzcyPj4yXT1mW2QrOD4+Ml07YnJl
YWt9Y2FzZSA5OTp7Yz1vRShjLGgpfDA7aWYoIWMpe2ZbZT4+Ml09MTtjPTA7YnJlYWsgYX1nPXBF
KGZbaD4+Ml18MCxpKXwwO2ZbaD4+Ml09ZztpZighZyl7ZltlPj4yXT0xO2M9MDticmVhayBhfWlm
KCEoZltpPj4yXXwwKSl7ZlthPj4yXT05O2ZbYSs4Pj4yXT1mW2krOD4+Ml07aWYoIWQpYnJlYWsg
YTtmW2ErNzI+PjJdPWZbZCsyND4+Ml07YnJlYWsgYX1lbHNle2ZbYT4+Ml09MTQ7ZT1hKzh8MDtn
PWk7aD1lKzY0fDA7ZG97ZltlPj4yXT1mW2c+PjJdO2U9ZSs0fDA7Zz1nKzR8MH13aGlsZSgoZXww
KTwoaHwwKSk7aWYoIWQpYnJlYWsgYTtmW2ErNzI+PjJdPWZbZCs0MD4+Ml07YnJlYWsgYX19Y2Fz
ZSA2Nzp7Yz1vRShjLGgpfDA7aWYoIWMpe2ZbZT4+Ml09MTtjPTA7YnJlYWsgYX1nPXBFKGZbaD4+
Ml18MCxpKXwwO2ZbaD4+Ml09ZztpZighZyl7ZltlPj4yXT0xO2M9MDticmVhayBhfWlmKCEoZltp
Pj4yXXwwKSl7ZlthPj4yXT04O2ZbYSs4Pj4yXT1mW2krOD4+Ml07aWYoIWQpYnJlYWsgYTtmW2Er
NzI+PjJdPWZbZCsyMD4+Ml07YnJlYWsgYX1lbHNle2ZbYT4+Ml09MTM7ZT1hKzh8MDtnPWk7aD1l
KzY0fDA7ZG97ZltlPj4yXT1mW2c+PjJdO2U9ZSs0fDA7Zz1nKzR8MH13aGlsZSgoZXwwKTwoaHww
KSk7aWYoIWQpYnJlYWsgYTtmW2ErNzI+PjJdPWZbZCs0MD4+Ml07YnJlYWsgYX19Y2FzZSA3Njp7
ZlthPj4yXT02O2M9bkUoYyxhKzh8MCl8MDtpZighYyl7ZltlPj4yXT0xO2M9MDticmVhayBhfWlm
KGQpZlthKzcyPj4yXT1mW2QrMTI+PjJdO2JyZWFrfWNhc2UgODQ6e2ZbYT4+Ml09NztjPXFFKGMs
YSs4fDApfDA7aWYoIWMpe2ZbZT4+Ml09MTtjPTA7YnJlYWsgYX1jPXFFKGMsYSsxNnwwKXwwO2lm
KCFjKXtmW2U+PjJdPTE7Yz0wO2JyZWFrIGF9Yz1yRShjLGErMjR8MCl8MDtpZighYyl7ZltlPj4y
XT0xO2M9MDticmVhayBhfWM9cUUoYyxhKzMyfDApfDA7aWYoIWMpe2ZbZT4+Ml09MTtjPTA7YnJl
YWsgYX1jPW9FKGMsYSs0MHwwKXwwO2lmKCFjKXtmW2U+PjJdPTE7Yz0wO2JyZWFrIGF9aWYoZClm
W2ErNzI+PjJdPWZbZCsxNj4+Ml07YnJlYWt9Y2FzZSA3MDp7ZlthPj4yXT0xMDtjPXFFKGMsYSs4
fDApfDA7aWYoIWMpe2ZbZT4+Ml09MTtjPTA7YnJlYWsgYX1jPW9FKGMsYSsxNnwwKXwwO2lmKCFj
KXtmW2U+PjJdPTE7Yz0wO2JyZWFrIGF9aWYoZClmW2ErNzI+PjJdPWZbZCsyOD4+Ml07YnJlYWt9
Y2FzZSA4Mzp7ZlthPj4yXT0xMTtjPW9FKGMsYSs4fDApfDA7aWYoIWMpe2ZbZT4+Ml09MTtjPTA7
YnJlYWsgYX1pZihkKWZbYSs3Mj4+Ml09ZltkKzMyPj4yXTticmVha31jYXNlIDczOntmW2E+PjJd
PTEyO2M9bUUoYyxhKzh8MCl8MDtpZighYyl7ZltlPj4yXT0xO2M9MDticmVhayBhfWM9b0UoYyxh
KzQwfDApfDA7aWYoIWMpe2ZbZT4+Ml09MTtjPTA7YnJlYWsgYX1pZihkKWZbYSs3Mj4+Ml09Zltk
KzM2Pj4yXTticmVha31jYXNlIDExNjp7ZlthPj4yXT0xNTtjPXNFKGMsYSs4fDApfDA7aWYoIWMp
e2ZbZT4+Ml09MTtjPTA7YnJlYWsgYX1pZihkKWZbYSs3Mj4+Ml09ZltkKzQ0Pj4yXTticmVha31j
YXNlIDA6e2M9MDticmVha31kZWZhdWx0OntmW2U+PjJdPTE7Yz0wfX13aGlsZSgwKTt0PWo7cmV0
dXJuIGN8MH1mdW5jdGlvbiBtRShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAs
aD0wLGk9MC4wO2g9dDt0PXQrMTZ8MDtkPWg7aT0rQjIoYSxkKTtwW2I+PjNdPWk7ZT1mW2Q+PjJd
fDA7aWYoKChlfDApIT0oYXwwKT8oaT0rQjIoZSxkKSxwW2IrOD4+M109aSxnPWZbZD4+Ml18MCwo
ZXwwKSE9KGd8MCkpOjApPyhpPStCMihnLGQpLHBbYisxNj4+M109aSxjPWZbZD4+Ml18MCwoZ3ww
KSE9KGN8MCkpOjApe2k9K0IyKGMsZCk7cFtiKzI0Pj4zXT1pO2E9ZltkPj4yXXwwO2E9KGN8MCk9
PShhfDApPzA6YX1lbHNlIGE9MDt0PWg7cmV0dXJuIGF8MH1mdW5jdGlvbiBuRShhLGIpe2E9YXww
O2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLjA7aj10O3Q9dCsxNnww
O2k9ais0fDA7Zz1qO2E9dEUoYSxpKXwwO2RvIGlmKGEpe2M9ZltpPj4yXXwwO2g9Tl8oYywyNCl8
MDtmW2I+PjJdPWM7ZD1oO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KGN8MCkpe2M9OTticmVha31r
PStCMihhLGcpO3BbZD4+M109aztjPWZbZz4+Ml18MDtpZigoYXwwKT09KGN8MCkpe2M9NTticmVh
a31rPStCMihjLGcpO3BbZCs4Pj4zXT1rO2E9ZltnPj4yXXwwO2lmKChjfDApPT0oYXwwKSl7Yz03
O2JyZWFrfXBbZCsxNj4+M109MC4wO2Q9ZCsyNHwwO2M9ZltiPj4yXXwwO2U9ZSsxfDB9aWYoKGN8
MCk9PTUpe2ZbaT4+Ml09ZTtNXyhoKTthPTA7YnJlYWt9ZWxzZSBpZigoY3wwKT09Nyl7ZltpPj4y
XT1lO01fKGgpO2E9MDticmVha31lbHNlIGlmKChjfDApPT05KXtmW2k+PjJdPWU7ZltiKzQ+PjJd
PWg7YnJlYWt9fWVsc2UgYT0wO3doaWxlKDApO3Q9ajtyZXR1cm4gYXwwfWZ1bmN0aW9uIG9FKGEs
Yyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wO2o9dDt0PXQrMTZ8MDtp
PWo7YT10RShhLGkpfDA7ZT1mW2k+PjJdfDA7ZG8gaWYoISgoYXwwKT09MHwoZXwwKTwxKSl7d2hp
bGUoMSl7aD1iW2E+PjBdfDA7ZD1oPDwyND4+MjQ9PTA7aWYoZF5oPDwyND4+MjQhPTQ1KWE9YSsx
fDA7ZWxzZSBicmVha31pZighZCl7aD1OXyhlKzF8MCwxKXwwO2c9aDtkPWU7d2hpbGUoMSl7YT1h
KzF8MDtpZigoZHwwKTw9MCl7ZD0xMDticmVha31kPWJbYT4+MF18MDtpZighKGQ8PDI0Pj4yNCkp
e2Q9OTticmVha31iW2c+PjBdPWQ7ZD0oZltpPj4yXXwwKSstMXwwO2ZbaT4+Ml09ZDtnPWcrMXww
fWlmKChkfDApPT05KXtNXyhoKTthPTA7YnJlYWt9ZWxzZSBpZigoZHwwKT09MTApe2JbZz4+MF09
MDtmW2M+PjJdPWg7YnJlYWt9fWVsc2UgYT0wfWVsc2UgYT0wO3doaWxlKDApO3Q9ajtyZXR1cm4g
YXwwfWZ1bmN0aW9uIHBFKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MDtkPWJbYT4+MF18MDtzd2l0
Y2goZHwwKXtjYXNlIDkxOnthPXVFKGErMXwwLGMpfDA7YnJlYWt9Y2FzZSA0MDp7YT12RShhKzF8
MCxjKXwwO2JyZWFrfWNhc2UgNDc6Y2FzZSAzNTp7ZltjPj4yXT0wO2ZbYys4Pj4yXT1hO2JyZWFr
fWRlZmF1bHQ6aWYoIShfMihkKXwwKSlhPTA7ZWxzZXtmW2M+PjJdPTA7ZltjKzg+PjJdPWF9fXJl
dHVybiBhfDB9ZnVuY3Rpb24gcUUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MC4wLGU9MDtl
PXQ7dD10KzE2fDA7Yz1lO2Q9K0IyKGEsYyk7Yz1mW2M+PjJdfDA7aWYoKGN8MCk9PShhfDApKWM9
MDtlbHNlIHBbYj4+M109ZDt0PWU7cmV0dXJuIGN8MH1mdW5jdGlvbiByRShhLGIpe2E9YXwwO2I9
YnwwO3ZhciBjPTAsZD0wO2M9dDt0PXQrMTZ8MDtkPWM7YT10RShhLGQpfDA7ZD1mW2Q+PjJdfDA7
ZltiPj4yXT0oZHwwKTwwPzA6KGR8MCk9PTA/MToyO3Q9YztyZXR1cm4gYXwwfWZ1bmN0aW9uIHNF
KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wO2M9dDt0PXQrMTZ8MDtkPWM7ZT1jJChh
LGQsMTApfDA7ZltiPj4yXT1lO2I9ZltkPj4yXXwwO3Q9YztyZXR1cm4gKChifDApPT0oYXwwKT8w
OmIpfDB9ZnVuY3Rpb24gdEUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTA7Yz10O3Q9
dCsxNnwwO2Q9YztlPXoyKGEsZCwxMCl8MDtmW2I+PjJdPWU7Yj1mW2Q+PjJdfDA7dD1jO3JldHVy
biAoKGJ8MCk9PShhfDApPzA6Yil8MH1mdW5jdGlvbiB1RShhLGIpe2E9YXwwO2I9YnwwO3ZhciBj
PTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtsPXQ7dD10KzE2fDA7aj1sO2ZbYj4+
Ml09MTtrPWIrOHwwO2c9cUUoYSxrKXwwO2RvIGlmKCgoKChnfDApIT0wPyhoPXFFKGcsYisxNnww
KXwwLChofDApIT0wKTowKT8oZD1xRShoLGIrMjR8MCl8MCwoZHwwKSE9MCk6MCk/KGU9cUUoZCxi
KzMyfDApfDAsKGV8MCkhPTApOjApPyhpPWIrNDB8MCxjPXRFKGUsaSl8MCwoY3wwKSE9MCk6MCl7
Yj1mW2k+PjJdfDA7ZT1OXyhiLDgpfDA7ZD0wO3doaWxlKDEpe2lmKChkfDApPj0oYnwwKSl7Yz0x
MzticmVha31jPXFFKGMsail8MDtpZighYyl7Yz05O2JyZWFrfW5bZSsoZDw8Myk+PjJdPStwW2o+
PjNdO2M9b0UoYyxlKyhkPDwzKSs0fDApfDA7aWYoIWMpe2M9MTI7YnJlYWt9ZD1kKzF8MDtiPWZb
aT4+Ml18MH1pZigoY3wwKT09OSl7TV8oZSk7YT0wO2JyZWFrfWVsc2UgaWYoKGN8MCk9PTEyKXtN
XyhlKTthPTA7YnJlYWt9ZWxzZSBpZigoY3wwKT09MTMpe2ZbayszNj4+Ml09ZTticmVha319ZWxz
ZSBhPTA7d2hpbGUoMCk7dD1sO3JldHVybiBhfDB9ZnVuY3Rpb24gdkUoYSxiKXthPWF8MDtiPWJ8
MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wO209dDt0PXQrMTZ8
MDtrPW07ZltiPj4yXT0yO2k9cUUoYSxiKzh8MCl8MDtkbyBpZigoKCgoKChpfDApIT0wPyhqPXFF
KGksYisxNnwwKXwwLChqfDApIT0wKTowKT8oZD1xRShqLGIrMjR8MCl8MCwoZHwwKSE9MCk6MCk/
KGU9cUUoZCxiKzMyfDApfDAsKGV8MCkhPTApOjApPyhnPXFFKGUsYis0MHwwKXwwLChnfDApIT0w
KTowKT8oaD1xRShnLGIrNDh8MCl8MCwoaHwwKSE9MCk6MCk/KGw9Yis1NnwwLGM9dEUoaCxsKXww
LChjfDApIT0wKTowKXtkPWZbbD4+Ml18MDtnPU5fKGQsOCl8MDtlPTA7d2hpbGUoMSl7aWYoKGV8
MCk+PShkfDApKXtjPTE1O2JyZWFrfWM9cUUoYyxrKXwwO2lmKCFjKXtjPTExO2JyZWFrfW5bZyso
ZTw8Myk+PjJdPStwW2s+PjNdO2M9b0UoYyxnKyhlPDwzKSs0fDApfDA7aWYoIWMpe2M9MTQ7YnJl
YWt9ZT1lKzF8MDtkPWZbbD4+Ml18MH1pZigoY3wwKT09MTEpe01fKGcpO2E9MDticmVha31lbHNl
IGlmKChjfDApPT0xNCl7TV8oZyk7YT0wO2JyZWFrfWVsc2UgaWYoKGN8MCk9PTE1KXtmW2IrNjA+
PjJdPWc7YnJlYWt9fWVsc2UgYT0wO3doaWxlKDApO3Q9bTtyZXR1cm4gYXwwfWZ1bmN0aW9uIHdF
KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtyZXR1cm4ga0UoYSxiLGMsMCl8MH1mdW5jdGlvbiB4
RShhKXthPWF8MDtyZXR1cm4gd0UoYSwwLDApfDB9ZnVuY3Rpb24geUUoYSl7YT1hfDA7dmFyIGI9
MCxjPTAsZD0wLGU9MCxnPTAsaD0wO2Q9ZlthKzEyPj4yXXwwO2lmKGF8MCl7ZT1mW2ErOD4+Ml18
MDtnPWErNHwwO2g9KGR8MCk9PTA7Yj0wO3doaWxlKDEpe2lmKChifDApPj0oZlthPj4yXXwwKSli
cmVhaztjPWUrKFYoZltnPj4yXXwwLGIpfDApfDA7aWYoIWgpQ2JbZCYxMjddKGMpO3pFKGMpO2I9
YisxfDB9TV8oZSk7TV8oYSl9cmV0dXJufWZ1bmN0aW9uIHpFKGEpe2E9YXwwO3N3aXRjaChmW2E+
PjJdfDApe2Nhc2UgMzpjYXNlIDI6e01fKGZbYSs4KzQ+PjJdfDApO2JyZWFrfWNhc2UgNTpjYXNl
IDQ6e01fKGZbYSs4KzQ+PjJdfDApO2JyZWFrfWNhc2UgNjp7TV8oZlthKzgrND4+Ml18MCk7YnJl
YWt9Y2FzZSA3OntNXyhmW2ErNDA+PjJdfDApO2JyZWFrfWNhc2UgOTpjYXNlIDg6e01fKGZbYSs4
Pj4yXXwwKTticmVha31jYXNlIDE0OmNhc2UgMTM6e0FFKGErOHwwKTticmVha31jYXNlIDEwOntN
XyhmW2ErMTY+PjJdfDApO2JyZWFrfWNhc2UgMTE6e01fKGZbYSs4Pj4yXXwwKTticmVha31jYXNl
IDEyOntNXyhmW2ErNDA+PjJdfDApO2JyZWFrfWRlZmF1bHQ6e319cmV0dXJufWZ1bmN0aW9uIEFF
KGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MDtzd2l0Y2goZlthPj4yXXwwKXtjYXNlIDE6e2Q9YSs0
MHwwO2I9YSs4KzM2fDA7YT0wO3doaWxlKDEpe2M9ZltiPj4yXXwwO2lmKChhfDApPj0oZltkPj4y
XXwwKSlicmVhaztNXyhmW2MrKGE8PDMpKzQ+PjJdfDApO2E9YSsxfDB9TV8oYyk7YnJlYWt9Y2Fz
ZSAyOntkPWErNTZ8MDtiPWErNjB8MDthPTA7d2hpbGUoMSl7Yz1mW2I+PjJdfDA7aWYoKGF8MCk+
PShmW2Q+PjJdfDApKWJyZWFrO01fKGZbYysoYTw8MykrND4+Ml18MCk7YT1hKzF8MH1NXyhjKTti
cmVha31kZWZhdWx0Ont9fXJldHVybn1mdW5jdGlvbiBCRShhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1k
fDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO249dDt0PXQrMTZ8MDtr
PW4rNHwwO209bjtmW2M+PjJdPTA7ZT0obnkobnooYSl8MCl8MCkhPTAmMTtmW2Q+PjJdPWU7ZT1m
WzQ4Mzc2XXwwO2E6ZG8gaWYoZXwwPyhoPUh4KGEsZSl8MCxpPWJbaD4+MF18MCxpPDwyND4+MjQp
OjApe2U9OTc0NDt3aGlsZSgxKXtnPWZbZT4+Ml18MDtpZighZylicmVhayBhO2lmKGk8PDI0Pj4y
ND09KGJbZz4+MF18MCk/KEgkKGgsZyl8MCk9PTA6MClicmVhaztlPWUrMTJ8MH1mW2M+PjJdPWZb
ZSs0Pj4yXTtmW2Q+PjJdPWZbZSs4Pj4yXX13aGlsZSgwKTtlPWZbNDgzODddfDA7aWYoKGV8MD8o
ZltkPj4yXXwwKT09MTowKT8oaj1IeChhLGUpfDAsYltqPj4wXXwwKTowKUNFKGosZCk7ZT1mWzQ4
Mzg4XXwwO2lmKChlfDA/KGZbYz4+Ml18MCk9PTE6MCk/KGw9SHgoYSxlKXwwLGJbbD4+MF18MCk6
MClDRShsLGMpO2lmKGJbKGZbYSsxNj4+Ml18MCkrMTUzPj4wXXwwKXtqPWErLTQ4fDA7aT1ueihm
WygoZlthPj4yXSYzfDApPT0yP2E6aikrNDA+PjJdfDApfDA7bD1mW2E+PjJdJjM7QkUoX3goaSxm
WygobHwwKT09Mj9hOmopKzQwPj4yXXwwLGZbKChsfDApPT0zP2E6YSs0OHwwKSs0MD4+Ml18MCww
LDApfDAsayxtKTtmW2Q+PjJdPWZbaz4+Ml18ZltkPj4yXTtmW2M+PjJdPWZbbT4+Ml18ZltjPj4y
XX10PW47cmV0dXJufWZ1bmN0aW9uIENFKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0w
LGg9MCxpPTAsaj0wLGs9MDtrPXQ7dD10KzE2fDA7aT1rO2g9ays0fDA7ZltjPj4yXT0wO2Q9MDt3
aGlsZSgxKXtpZighKChkfDApPDQmKGJbYT4+MF18MCkhPTApKWJyZWFrO2ZbaD4+Ml09MDtnPURF
KGEsaCl8MDtlPWZbaD4+Ml18MDtpZighZSl7aj00O2JyZWFrfWE9KGV8MCk9PTg7ZG8gaWYoKGR8
MCk9PTMmYSl7ZltoPj4yXT0wO2Q9M31lbHNle2lmKChkfDApPT0wJmE/KGJbZz4+MF18MCk9PTA6
MCl7ZltoPj4yXT0wO2Q9MDticmVha31mW2M+PjJdPWZbYz4+Ml18ZTw8KGQ8PDMpO2Q9ZCsxfDB9
d2hpbGUoMCk7YT1nfWlmKChqfDApPT00KXtmW2k+PjJdPWE7WXcoMCwxMDgwMjAsaSl8MH10PWs7
cmV0dXJufWZ1bmN0aW9uIERFKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wO2U9dDt0
PXQrMTZ8MDtkPWU7ZltkPj4yXT0wO2M9RUUoYSw5ODA4LGQpfDA7aWYoKGN8MCk9PShhfDApKXt3
aGlsZSgxKXtjPUVFKGEsOTgyNCxkKXwwO2lmKChhfDApPT0oY3wwKSlicmVhaztlbHNlIGE9Y31j
PUVFKGEsOTg3MixkKXwwfWE9ZltkPj4yXXwwO2lmKChhfDApIT0wJihhJjE1fDApPT0wKXthPWF8
MTtmW2Q+PjJdPWF9ZltiPj4yXT1mW2I+PjJdfGE7dD1lO3JldHVybiBjfDB9ZnVuY3Rpb24gRUUo
YSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MDt3aGlsZSgxKXtkPWZbYj4+
Ml18MDtpZighZClicmVhaztlPWMwKGQpfDA7aWYoIShhJChhLGQsZSl8MCkpe2c9NDticmVha31i
PWIrOHwwfWlmKChnfDApPT00KXtmW2M+PjJdPWZbYz4+Ml18ZltiKzQ+PjJdO2E9YStlfDB9cmV0
dXJuIGF8MH1mdW5jdGlvbiBGRShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAsZT0wLGc9
MCxoPTA7Zz0wO2M9MC4wO3doaWxlKDEpe2lmKChnfDApPT00KWJyZWFrO2U9Yj4+KGc8PDMpJjE1
O2Q9OTk4NDt3aGlsZSgxKXtpZighKGZbZCsxNj4+Ml18MCkpYnJlYWs7aWYoKGV8MCk9PShmW2Q+
PjJdfDApKXtoPTY7YnJlYWt9ZD1kKzI0fDB9aWYoKGh8MCk9PTYpe2g9MDtjPStwW2QrOD4+M10r
Y31nPWcrMXwwfXJldHVybiArKGMqMTAuMCorVUwoYSxmWzQ4MzgwXXwwLDEuMCwwLjApKX1mdW5j
dGlvbiBHRShhLGIsYyxkLGUsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD0rZDtlPStlO2c9Z3wwO3Zh
ciBoPTAuMCxpPTAuMCxqPTAuMCxrPTAuMCxsPTAsbT0wO209dDt0PXQrODB8MDtsPW07aj1lPjQu
MD9lKi4wODc1Oi4zNTtpPStwW2MrOD4+M107az1pKmo7aD0rcFtjPj4zXTtqPWgqajtlPStwW2I+
PjNdO2g9ZStoO2Q9K3BbYis4Pj4zXTtpPWQraTtjPWwrNjR8MDtpZighKGcmMzIpKXtwW2wrNjQ+
PjNdPWg7cFtsKzcyPj4zXT1pO2ZbbD4+Ml09ZltjPj4yXTtmW2wrND4+Ml09ZltjKzQ+PjJdO2Zb
bCs4Pj4yXT1mW2MrOD4+Ml07ZltsKzEyPj4yXT1mW2MrMTI+PjJdO2M9bCszMnwwO2ZbYz4+Ml09
ZltiPj4yXTtmW2MrND4+Ml09ZltiKzQ+PjJdO2ZbYys4Pj4yXT1mW2IrOD4+Ml07ZltjKzEyPj4y
XT1mW2IrMTI+PjJdO2U9aDtkPWl9ZWxzZXtmW2M+PjJdPWZbYj4+Ml07ZltjKzQ+PjJdPWZbYis0
Pj4yXTtmW2MrOD4+Ml09ZltiKzg+PjJdO2ZbYysxMj4+Ml09ZltiKzEyPj4yXTtmW2w+PjJdPWZb
Yj4+Ml07ZltsKzQ+PjJdPWZbYis0Pj4yXTtmW2wrOD4+Ml09ZltiKzg+PjJdO2ZbbCsxMj4+Ml09
ZltiKzEyPj4yXTtwW2wrMzI+PjNdPWg7cFtsKzQwPj4zXT1pfXBbbCsxNj4+M109ZStrO3BbbCsy
ND4+M109ZC1qO3BbbCs0OD4+M109ZS1rO3BbbCs1Nj4+M109ZCtqO2RvIGlmKCEoZyY2NCkpaWYo
IShnJjEyOCkpe2hQKGEsbCsxNnwwLDMsZz4+PjQmMV4xKTticmVha31lbHNle2hQKGEsbCszMnww
LDMsZz4+PjQmMV4xKTticmVha31lbHNlIGhQKGEsbCwzLGc+Pj40JjFeMSk7d2hpbGUoMCk7dD1t
O3JldHVybn1mdW5jdGlvbiBIRShhLGIsYyxkLGUsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD0rZDtl
PStlO2c9Z3wwO3ZhciBoPTAuMCxpPTAuMCxqPTAuMCxrPTAuMCxsPTAuMCxtPTAuMCxuPTAuMCxv
PTAuMCxxPTAuMCxyPTAscz0wLHU9MDtzPXQ7dD10KzE0NHwwO3I9cztrPWQqNC4wO3U9KGcmMzJ8
MCk9PTA7az0hKGs8ZSl8dT8uNDU6ZS9rKi40NTttPSEoZT4xLjApfHU/MC4wOihlKy0xLjApKi4w
NS9kO289K3BbYys4Pj4zXTtsPS1vO3E9aypsO249K3BbYz4+M107az1uKms7bD1tKmw7bT1uKm07
ZT0rcFtiPj4zXTtkPWUrbjtpPStwW2IrOD4+M107aj1pK287bj1lK24qLjU7bz1pK28qLjU7Yz1y
KzEyOHwwO2lmKHUpe3BbcisxMjg+PjNdPWQ7cFtyKzEzNj4+M109ajtmW3I+PjJdPWZbYz4+Ml07
ZltyKzQ+PjJdPWZbYys0Pj4yXTtmW3IrOD4+Ml09ZltjKzg+PjJdO2ZbcisxMj4+Ml09ZltjKzEy
Pj4yXTtwW3IrMTY+PjNdPWUtcTtwW3IrMjQ+PjNdPWktaztwW3IrMzI+PjNdPW4tbDtwW3IrNDA+
PjNdPW8tbTtwW3IrNDg+PjNdPWU7cFtyKzU2Pj4zXT1pO3U9cis2NHwwO2ZbdT4+Ml09ZltiPj4y
XTtmW3UrND4+Ml09ZltiKzQ+PjJdO2ZbdSs4Pj4yXT1mW2IrOD4+Ml07Zlt1KzEyPj4yXT1mW2Ir
MTI+PjJdO3Bbcis4MD4+M109ZTtoPWk7ZD1pfWVsc2V7ZltjPj4yXT1mW2I+PjJdO2ZbYys0Pj4y
XT1mW2IrND4+Ml07ZltjKzg+PjJdPWZbYis4Pj4yXTtmW2MrMTI+PjJdPWZbYisxMj4+Ml07Zlty
Pj4yXT1mW2I+PjJdO2Zbcis0Pj4yXT1mW2IrND4+Ml07ZltyKzg+PjJdPWZbYis4Pj4yXTtmW3Ir
MTI+PjJdPWZbYisxMj4+Ml07cFtyKzE2Pj4zXT1kLXE7cFtyKzI0Pj4zXT1qLWs7cFtyKzMyPj4z
XT1uLWw7cFtyKzQwPj4zXT1vLW07cFtyKzQ4Pj4zXT1kLWw7cFtyKzU2Pj4zXT1qLW07cFtyKzY0
Pj4zXT1kO3Bbcis3Mj4+M109ajtwW3IrODA+PjNdPWQrbDtlPWQ7aD1qO2Q9aittfXBbcis4OD4+
M109ZDtwW3IrOTY+PjNdPW4rbDtwW3IrMTA0Pj4zXT1vK207cFtyKzExMj4+M109ZStxO3Bbcisx
MjA+PjNdPWgraztkbyBpZighKGcmNjQpKWlmKCEoZyYxMjgpKXtoUChhLHIsOSwxKTticmVha31l
bHNle2hQKGEscis0OHwwLDYsMSk7YnJlYWt9ZWxzZSBoUChhLHIsNiwxKTt3aGlsZSgwKTt0PXM7
cmV0dXJufWZ1bmN0aW9uIElFKGEsYixjLGQsZSxnKXthPWF8MDtiPWJ8MDtjPWN8MDtkPStkO2U9
K2U7Zz1nfDA7dmFyIGg9MCxpPTAsaj0wLGs9MCxsPTAuMCxtPTAuMCxuPTAuMCxvPTAuMCxxPTAs
cj0wLHM9MCx1PTAsdj0wLHc9MC4wLHg9MC4wO3U9dDt0PXQrNjR8MDtzPXU7eD0rcFtjKzg+PjNd
O3c9K3BbYz4+M107bj0rcFtiPj4zXTtkPW4rdztvPStwW2IrOD4+M107ZT1vK3g7bD1uK3cqLjI7
bT1vK3gqLjI7bj1uK3cqLjY7bz1vK3gqLjY7cFtzPj4zXT1sLXg7Yz1zKzh8MDtwW2M+PjNdPW0r
dztxPXMrMTZ8MDtwW3E+PjNdPWwreDtyPXMrMjR8MDtwW3I+PjNdPW0tdztpPXMrMzJ8MDtwW2k+
PjNdPW4reDtoPXMrNDB8MDtwW2g+PjNdPW8tdztrPXMrNDh8MDtwW2s+PjNdPW4teDtqPXMrNTZ8
MDtwW2o+PjNdPW8rdztpZighKGcmNjQpKXtpZihnJjEyOHwwKXtqPWg7Yz1yO2g9cTt2PTN9fWVs
c2V7aT1rO2g9czt2PTN9aWYoKHZ8MCk9PTMpe3BbaD4+M109bDtwW2M+PjNdPW07cFtpPj4zXT1u
O3Bbaj4+M109b31oUChhLHMsNCwxKTtmW3M+PjJdPWZbYj4+Ml07ZltzKzQ+PjJdPWZbYis0Pj4y
XTtmW3MrOD4+Ml09ZltiKzg+PjJdO2ZbcysxMj4+Ml09ZltiKzEyPj4yXTtwW3E+PjNdPWQ7cFty
Pj4zXT1lO2tQKGEscywyKTt0PXU7cmV0dXJufWZ1bmN0aW9uIEpFKGEsYixjLGQsZSxnKXthPWF8
MDtiPWJ8MDtjPWN8MDtkPStkO2U9K2U7Zz1nfDA7dmFyIGg9MCxpPTAsaj0wLGs9MCxsPTAuMCxt
PTAuMCxuPTAsbz0wLHE9MCxyPTAscz0wLHU9MC4wLHY9MC4wLHc9MC4wLHg9MC4wO3I9dDt0PXQr
NjR8MDtxPXI7bT0rcFtjKzg+PjNdO3Y9bSotLjQ7bD0rcFtjPj4zXTt1PWwqLjQ7eD0rcFtiPj4z
XTtkPXgrbCouODt3PStwW2IrOD4+M107ZT13K20qLjg7bD14K2w7bT13K207cFtxPj4zXT14K3Y7
bj1xKzh8MDtwW24+PjNdPXcrdTtpPXErMTZ8MDtwW2k+PjNdPXgtdjtvPXErMjR8MDtwW28+PjNd
PXctdTtjPXErMzJ8MDtwW2M+PjNdPWQtdjtoPXErNDB8MDtwW2g+PjNdPWUtdTtrPXErNDh8MDtw
W2s+PjNdPWQrdjtqPXErNTZ8MDtwW2o+PjNdPWUrdTtpZighKGcmNjQpKXtpZihnJjEyOHwwKXtm
W2k+PjJdPWZbYj4+Ml07ZltpKzQ+PjJdPWZbYis0Pj4yXTtmW2krOD4+Ml09ZltiKzg+PjJdO2Zb
aSsxMj4+Ml09ZltiKzEyPj4yXTtzPTV9fWVsc2V7ZltxPj4yXT1mW2I+PjJdO2ZbcSs0Pj4yXT1m
W2IrND4+Ml07ZltxKzg+PjJdPWZbYis4Pj4yXTtmW3ErMTI+PjJdPWZbYisxMj4+Ml07aD1qO2M9
aztzPTV9aWYoKHN8MCk9PTUpe3BbYz4+M109ZDtwW2g+PjNdPWV9aFAoYSxxLDQsZz4+PjQmMV4x
KTtwW3E+PjNdPWQ7cFtuPj4zXT1lO3BbcSsxNj4+M109bDtwW28+PjNdPW07a1AoYSxxLDIpO3Q9
cjtyZXR1cm59ZnVuY3Rpb24gS0UoYSxiLGMsZCxlLGcpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9K2Q7
ZT0rZTtnPWd8MDt2YXIgaD0wLGk9MCxqPTAuMCxrPTAuMCxsPTAuMCxtPTAuMCxuPTAuMCxvPTAu
MDtpPXQ7dD10KzgwfDA7aD1pO2w9K3BbYys4Pj4zXTtqPWwqLS4zMzMzMzMzMzMzMzMzMzMzO249
K3BbYz4+M107ZT1uKi4zMzMzMzMzMzMzMzMzMzMzO289K3BbYj4+M107az1vK24qLjU7bT0rcFti
Kzg+PjNdO2Q9bStsKi41O2M9aCs2NHwwO3BbaCs2ND4+M109bytuO3BbaCs3Mj4+M109bStsO2Zb
aD4+Ml09ZltjPj4yXTtmW2grND4+Ml09ZltjKzQ+PjJdO2ZbaCs4Pj4yXT1mW2MrOD4+Ml07Zlto
KzEyPj4yXT1mW2MrMTI+PjJdO3BbaCsxNj4+M109aytqO3BbaCsyND4+M109ZCtlO2M9aCszMnww
O2ZbYz4+Ml09ZltiPj4yXTtmW2MrND4+Ml09ZltiKzQ+PjJdO2ZbYys4Pj4yXT1mW2IrOD4+Ml07
ZltjKzEyPj4yXT1mW2IrMTI+PjJdO3BbaCs0OD4+M109ay1qO3BbaCs1Nj4+M109ZC1lO2RvIGlm
KCEoZyY2NCkpe2M9Zz4+PjQmMV4xO2lmKCEoZyYxMjgpKXtoUChhLGgsNCxjKTticmVha31lbHNl
e2hQKGEsaCwzLGMpO2JyZWFrfX1lbHNlIGhQKGEsYywzLGc+Pj40JjFeMSk7d2hpbGUoMCk7dD1p
O3JldHVybn1mdW5jdGlvbiBMRShhLGIsYyxkLGUsZil7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD0rZDtl
PStlO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MC4wO2c9dDt0PXQrMzJ8MDtoPWc7aT0rcFtjPj4zXTtk
PStwW2MrOD4+M107ZT0rSigrKGQqZCtpKmkpKSouNTtpPStwW2I+PjNdK2kqLjU7cFtoPj4zXT1p
LWU7ZD0rcFtiKzg+PjNdK2QqLjU7cFtoKzg+PjNdPWQtZTtwW2grMTY+PjNdPWUraTtwW2grMjQ+
PjNdPWQrZTtnUChhLGgsMixmPj4+NCYxXjEpO3Q9ZztyZXR1cm59ZnVuY3Rpb24gTUUoYSxiLGMs
ZCxlLGcpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9K2Q7ZT0rZTtnPWd8MDt2YXIgaD0wLjAsaT0wLjAs
aj0wLjAsaz0wLjAsbD0wLjAsbT0wLjAsbj0wLG89MCxxPTAscj0wO3I9dDt0PXQrMTEyfDA7bj1y
KzMyfDA7bz1yO3E9cis5NnwwO2s9ZT40LjA/ZSouMTI1Oi41O2Q9K3BbYj4+M107aj0rcFtjPj4z
XTtoPStwW2IrOD4+M107bT0rcFtjKzg+PjNdO2U9bSprO2w9aiprO2Zbbz4+Ml09ZltiPj4yXTtm
W28rND4+Ml09ZltiKzQ+PjJdO2Zbbys4Pj4yXT1mW2IrOD4+Ml07ZltvKzEyPj4yXT1mW2IrMTI+
PjJdO3BbbysxNj4+M109aitkO3BbbysyND4+M109bStoO2Q9bCtkO3Bbbj4+M109ZC1lO2o9ayoo
bStqKStoO3Bbbis4Pj4zXT1qO3Bbbis0OD4+M109ZCtlO2g9ZSsoaC1sKTtwW24rNTY+PjNdPWg7
bT1lKi0uOTU7az1kK207bD1sKjEuMzMzMzMzMzMzMzMzMzMzMztpZighKGcmMzIpKXtlPWUqMS4z
MzMzMzMzMzMzMzMzMzMzO2k9ZC1sO2g9aC1lO2U9ai1lO2Q9ay1sfWVsc2V7ZT1lKjEuMzMzMzMz
MzMzMzMzMzMzMztpPWQrbDtoPWgrZTtlPWUrajtkPWsrbH1wW24rMTY+PjNdPWQ7cFtuKzI0Pj4z
XT1lO3BbbiszMj4+M109aS1tO3Bbbis0MD4+M109aDtrUChhLG8sMik7aWYoIShnJjY0KSl7aWYo
ZyYxMjh8MCllTShxLG4sMywuNSxuLDApfWVsc2UgZU0ocSxuLDMsLjUsMCxuKTtqUChhLG4sNCww
LDAsMCk7dD1yO3JldHVybn1mdW5jdGlvbiBORShhLGIsYyxkLGUsZyl7YT1hfDA7Yj1ifDA7Yz1j
fDA7ZD0rZDtlPStlO2c9Z3wwO3ZhciBoPTA7Zz10O3Q9dCszMnwwO2g9ZztkPStwW2M+PjNdKyAr
cFtiPj4zXTtlPStwW2MrOD4+M10rICtwW2IrOD4+M107ZltoPj4yXT1mW2I+PjJdO2ZbaCs0Pj4y
XT1mW2IrND4+Ml07ZltoKzg+PjJdPWZbYis4Pj4yXTtmW2grMTI+PjJdPWZbYisxMj4+Ml07cFto
KzE2Pj4zXT1kO3BbaCsyND4+M109ZTtrUChhLGgsMik7dD1nO3JldHVybn1mdW5jdGlvbiBPRShh
LGIsYyxkLGUsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MC4w
LGk9MCxqPTAsaz0wLGw9MCxtPTAuMCxuPTAuMCxvPTAscT0wLHI9MDtsPXQ7dD10KzgwfDA7aT1s
KzcyfDA7aj1sO2s9bCs2NHwwO2g9K0ZFKGEsZyk7aD1oKmg7cFtrPj4zXT1oO2ZbZSsxMj4+Ml09
ZztnPWUrMzJ8MDtlPWQrM3wwO2E9YisoZTw8NCl8MDtmW2c+PjJdPWZbYT4+Ml07ZltnKzQ+PjJd
PWZbYSs0Pj4yXTtmW2crOD4+Ml09ZlthKzg+PjJdO2ZbZysxMj4+Ml09ZlthKzEyPj4yXTtpZigo
ZHwwKT4oY3wwKT8obT0rcFtiKyhkPDw0KT4+M10tK3BbYT4+M10sbj0rcFtiKyhkPDw0KSs4Pj4z
XS0rcFtiKyhlPDw0KSs4Pj4zXSxuKm4rbSptPGgpOjApe2U9ZCstM3wwO2E9YisoZDw8NCl8MH1l
bHNlIGU9ZDtyPWorNDh8MDtxPWIrKGU8PDQpfDA7ZltyPj4yXT1mW3E+PjJdO2Zbcis0Pj4yXT1m
W3ErND4+Ml07ZltyKzg+PjJdPWZbcSs4Pj4yXTtmW3IrMTI+PjJdPWZbcSsxMj4+Ml07bz1qKzMy
fDA7Yz1iKyhlKzE8PDQpfDA7ZltvPj4yXT1mW2M+PjJdO2Zbbys0Pj4yXT1mW2MrND4+Ml07Zltv
Kzg+PjJdPWZbYys4Pj4yXTtmW28rMTI+PjJdPWZbYysxMj4+Ml07ZD1qKzE2fDA7Yj1iKyhlKzI8
PDQpfDA7ZltkPj4yXT1mW2I+PjJdO2ZbZCs0Pj4yXT1mW2IrND4+Ml07ZltkKzg+PjJdPWZbYis4
Pj4yXTtmW2QrMTI+PjJdPWZbYisxMj4+Ml07ZltqPj4yXT1mW2c+PjJdO2Zbais0Pj4yXT1mW2cr
ND4+Ml07ZltqKzg+PjJdPWZbZys4Pj4yXTtmW2orMTI+PjJdPWZbZysxMj4+Ml07ZltpPj4yXT1q
O2ZbaSs0Pj4yXT1rO1ZLKGksOTAsaiwxKTtmW3E+PjJdPWZbcj4+Ml07ZltxKzQ+PjJdPWZbcis0
Pj4yXTtmW3ErOD4+Ml09ZltyKzg+PjJdO2ZbcSsxMj4+Ml09ZltyKzEyPj4yXTtmW2M+PjJdPWZb
bz4+Ml07ZltjKzQ+PjJdPWZbbys0Pj4yXTtmW2MrOD4+Ml09ZltvKzg+PjJdO2ZbYysxMj4+Ml09
ZltvKzEyPj4yXTtmW2I+PjJdPWZbZD4+Ml07ZltiKzQ+PjJdPWZbZCs0Pj4yXTtmW2IrOD4+Ml09
ZltkKzg+PjJdO2ZbYisxMj4+Ml09ZltkKzEyPj4yXTtmW2E+PjJdPWZbaj4+Ml07ZlthKzQ+PjJd
PWZbais0Pj4yXTtmW2ErOD4+Ml09ZltqKzg+PjJdO2ZbYSsxMj4+Ml09ZltqKzEyPj4yXTt0PWw7
cmV0dXJuIGV8MH1mdW5jdGlvbiBQRShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAuMCxl
PTA7ZT1mW2E+PjJdfDA7Yz0rcFtiPj4zXS0rcFtlPj4zXTtkPStwW2IrOD4+M10tK3BbZSs4Pj4z
XTtyZXR1cm4gZCpkK2MqYzw9K3BbZlthKzQ+PjJdPj4zXXwwfWZ1bmN0aW9uIFFFKGEsYixjLGQs
ZSxnKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8MDt2YXIgaD0wLjAsaT0wLGo9
MCxrPTAsbD0wLG09MCxuPTAuMCxvPTAuMCxxPTAscj0wO209dDt0PXQrODB8MDtqPW0rNzJ8MDtr
PW07bD1tKzY0fDA7aD0rRkUoYSxnKTtoPWgqaDtwW2w+PjNdPWg7ZltlKzg+PjJdPWc7ZT1lKzE2
fDA7YT1iKyhjPDw0KXwwO2ZbZT4+Ml09ZlthPj4yXTtmW2UrND4+Ml09ZlthKzQ+PjJdO2ZbZSs4
Pj4yXT1mW2ErOD4+Ml07ZltlKzEyPj4yXT1mW2ErMTI+PjJdO2lmKChkfDApPihjfDApPyhpPWMr
M3wwLG49K3BbYT4+M10tK3BbYisoaTw8NCk+PjNdLG89K3BbYisoYzw8NCkrOD4+M10tK3BbYiso
aTw8NCkrOD4+M10sbypvK24qbjxoKTowKXtjPWk7YT1iKyhpPDw0KXwwfWk9YisoYyszPDw0KXww
O2Zbaz4+Ml09ZltpPj4yXTtmW2srND4+Ml09ZltpKzQ+PjJdO2Zbays4Pj4yXT1mW2krOD4+Ml07
ZltrKzEyPj4yXT1mW2krMTI+PjJdO2c9aysxNnwwO2Q9YisoYysyPDw0KXwwO2ZbZz4+Ml09Zltk
Pj4yXTtmW2crND4+Ml09ZltkKzQ+PjJdO2ZbZys4Pj4yXT1mW2QrOD4+Ml07ZltnKzEyPj4yXT1m
W2QrMTI+PjJdO3E9ayszMnwwO2I9YisoYysxPDw0KXwwO2ZbcT4+Ml09ZltiPj4yXTtmW3ErND4+
Ml09ZltiKzQ+PjJdO2ZbcSs4Pj4yXT1mW2IrOD4+Ml07ZltxKzEyPj4yXT1mW2IrMTI+PjJdO3I9
ays0OHwwO2Zbcj4+Ml09ZltlPj4yXTtmW3IrND4+Ml09ZltlKzQ+PjJdO2Zbcis4Pj4yXT1mW2Ur
OD4+Ml07ZltyKzEyPj4yXT1mW2UrMTI+PjJdO2Zbaj4+Ml09cjtmW2orND4+Ml09bDtWSyhqLDkw
LGssMCk7ZlthPj4yXT1mW3I+PjJdO2ZbYSs0Pj4yXT1mW3IrND4+Ml07ZlthKzg+PjJdPWZbcis4
Pj4yXTtmW2ErMTI+PjJdPWZbcisxMj4+Ml07ZltiPj4yXT1mW3E+PjJdO2ZbYis0Pj4yXT1mW3Er
ND4+Ml07ZltiKzg+PjJdPWZbcSs4Pj4yXTtmW2IrMTI+PjJdPWZbcSsxMj4+Ml07ZltkPj4yXT1m
W2c+PjJdO2ZbZCs0Pj4yXT1mW2crND4+Ml07ZltkKzg+PjJdPWZbZys4Pj4yXTtmW2QrMTI+PjJd
PWZbZysxMj4+Ml07ZltpPj4yXT1mW2s+PjJdO2ZbaSs0Pj4yXT1mW2srND4+Ml07ZltpKzg+PjJd
PWZbays4Pj4yXTtmW2krMTI+PjJdPWZbaysxMj4+Ml07dD1tO3JldHVybiBjfDB9ZnVuY3Rpb24g
UkUoYSxiLGMsZCxlLGcsaCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7aD1o
fDA7dmFyIGk9MC4wLGo9MC4wLGs9MCxsPTAuMCxtPTAuMCxuPTAuMCxvPTAuMCxxPTAuMCxyPTAs
cz0wLjAsdD0wLjAsdT0wLHY9MCx3PTA7dT0oZ3wwKSE9MDtrPShofDApIT0wO2lmKCEoKGR8MCk9
PShjfDApJih1JmspKSl7aWYoayl7aT0rRkUoYSxoKTttPStwW2IrKGQ8PDQpPj4zXTtvPStwW2Ir
KGQ8PDQpKzg+PjNdO2s9ZCszfDA7cj1iKyhrPDw0KXwwO2w9K3Bbcj4+M107az1iKyhrPDw0KSs4
fDA7bj0rcFtrPj4zXTt0PW0tbDtzPW8tbjt0PStKKCsocypzK3QqdCkpKi45O2k9aT49dD90Omk7
ZG8gaWYobz09bilpZihtPGwpe2o9bC1pO2k9bzticmVha31lbHNle2o9aStsO2k9bzticmVha31l
bHNlIGlmKG88bil7aj1tO2k9bi1pO2JyZWFrfWVsc2V7aj1tO2k9aStuO2JyZWFrfXdoaWxlKDAp
O3c9ZCsxfDA7cFtiKyh3PDw0KT4+M109bTtwW2IrKHc8PDQpKzg+PjNdPW87ZD1iKyhkKzI8PDQp
fDA7cFtyPj4zXT1qO3Bbaz4+M109aTtmW2Q+PjJdPWZbcj4+Ml07ZltkKzQ+PjJdPWZbcis0Pj4y
XTtmW2QrOD4+Ml09ZltyKzg+PjJdO2ZbZCsxMj4+Ml09ZltyKzEyPj4yXTtmW2UrMTI+PjJdPWg7
cFtlKzMyPj4zXT1sO3BbZSs0MD4+M109bn1pZih1KXtsPStGRShhLGcpO2s9YisoYzw8NCl8MDtq
PStwW2s+PjNdO2k9K3BbYisoYzw8NCkrOD4+M107dz1jKzN8MDtuPStwW2IrKHc8PDQpPj4zXTtv
PStwW2IrKHc8PDQpKzg+PjNdO3Q9ai1uO3M9aS1vO3Q9K0ooKyhzKnMrdCp0KSkqLjk7bD1sPj10
P3Q6bDtkbyBpZihpPT1vKWlmKGo8bil7bT1sK2o7bD1pO2JyZWFrfWVsc2V7bT1qLWw7bD1pO2Jy
ZWFrfWVsc2UgaWYoaTxvKXttPWo7bD1sK2k7YnJlYWt9ZWxzZXttPWo7bD1pLWw7YnJlYWt9d2hp
bGUoMCk7dz1jKzF8MDt2PWIrKHc8PDQpfDA7cFt2Pj4zXT1tO3BbYisodzw8NCkrOD4+M109bDtm
W2s+PjJdPWZbdj4+Ml07ZltrKzQ+PjJdPWZbdis0Pj4yXTtmW2srOD4+Ml09Zlt2Kzg+PjJdO2Zb
aysxMj4+Ml09Zlt2KzEyPj4yXTt2PWMrMnwwO3BbYisodjw8NCk+PjNdPW47cFtiKyh2PDw0KSs4
Pj4zXT1vO3Y9Mjh9fWVsc2V7cj1iKyhkPDw0KXwwO3M9K3Bbcj4+M107dD0rcFtiKyhkPDw0KSs4
Pj4zXTtrPWQrM3wwO3U9Yisoazw8NCl8MDtqPStwW3U+PjNdO2s9Yisoazw8NCkrOHwwO2k9K3Bb
az4+M107bT0rRkUoYSxnKTtxPStGRShhLGgpO2w9cy1qO289dC1pO2w9K0ooKyhvKm8rbCpsKSk7
dz0hKHErbT49bCk7bD1sKi4zMzMzMzMzMzMzMzMzMzMzO209dz9tOmw7bD13P3E6bDtkbyBpZih0
PT1pKWlmKHM8ail7bz1qLWw7cT1tK3M7bj10O2w9dDticmVha31lbHNle289bCtqO3E9cy1tO249
dDtsPXQ7YnJlYWt9ZWxzZSBpZih0PGkpe289cztxPXM7bj1pLWw7bD1tK3Q7YnJlYWt9ZWxzZXtv
PXM7cT1zO249bCtpO2w9dC1tO2JyZWFrfXdoaWxlKDApO3c9ZCsxfDA7dj1iKyh3PDw0KXwwO3Bb
dj4+M109cTtwW2IrKHc8PDQpKzg+PjNdPWw7ZltyPj4yXT1mW3Y+PjJdO2Zbcis0Pj4yXT1mW3Yr
ND4+Ml07ZltyKzg+PjJdPWZbdis4Pj4yXTtmW3IrMTI+PjJdPWZbdisxMj4+Ml07dj1iKyhkKzI8
PDQpfDA7cFt1Pj4zXT1vO3Bbaz4+M109bjtmW3Y+PjJdPWZbdT4+Ml07Zlt2KzQ+PjJdPWZbdSs0
Pj4yXTtmW3YrOD4+Ml09Zlt1Kzg+PjJdO2ZbdisxMj4+Ml09Zlt1KzEyPj4yXTtmW2UrMTI+PjJd
PWg7cFtlKzMyPj4zXT1zO3BbZSs0MD4+M109dDt2PTI4fWlmKCh2fDApPT0yOCl7ZltlKzg+PjJd
PWc7cFtlKzE2Pj4zXT1qO3BbZSsyND4+M109aX1yZXR1cm59ZnVuY3Rpb24gU0UoYSxiLGMsZCxl
KXthPWF8MDtiPWJ8MDtjPWN8MDtkPStkO2U9ZXwwO3ZhciBmPTAuMCxnPTAuMCxoPTAuMCxpPTAu
MCxqPTAuMCxrPTAuMCxsPTAuMCxtPTAuMCxuPTAuMDttPStwW2I+PjNdO2o9K3BbYz4+M10tbTtr
PStwW2IrOD4+M107aT0rcFtjKzg+PjNdLWs7bj1kKjEwLjAvKCtKKCsoaSppK2oqaikpKy4wMDAx
KTtqPW4qKChqPj0wLjA/LjAwMDE6LS4wMDAxKStqKTtpPW4qKChpPj0wLjA/LjAwMDE6LS4wMDAx
KStpKTtuPWoqLjU7bD1pKi41O2g9bS1sO2Y9ay1uO209bCttO2s9bitrO249aCtqO2w9ZitpO2o9
bStqO2k9aytpO2c9bj5qP246ajtnPW0+Zz9tOmc7ZD1sPmk/bDppO2Q9az5kP2s6ZDtqPW48aj9u
Omo7aj1tPGo/bTpqO2k9bDxpP2w6aTtpPWs8aT9rOmk7cFthPj4zXT1oPGo/aDpqO3BbYSs4Pj4z
XT1mPGk/ZjppO3BbYSsxNj4+M109aD5nP2g6ZztwW2ErMjQ+PjNdPWY+ZD9mOmQ7cmV0dXJufWZ1
bmN0aW9uIFRFKGEsYixjLGQsZSxnLGgpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9K2U7Zz0r
ZztoPWh8MDt2YXIgaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MC4wLHI9MC4wLHM9MC4w
O289dDt0PXQrNDh8MDtrPW8rMzJ8MDtqPW8rMTZ8MDtuPW87bD0oZlthKzE2Pj4yXXwwKSsxMnww
O209ZltsPj4yXXwwO2ZbbD4+Ml09YjtmUChhLGZbKGZbYT4+Ml18MCkrMzM2Pj4yXXwwKTtvUChh
LGcpO3M9K3BbZD4+M10tK3BbYz4+M107Yj1kKzh8MDtxPStwW2I+PjNdLStwW2MrOD4+M107cj0x
MC4wLygrSigrKHEqcStzKnMpKSsuMDAwMSk7cFtkPj4zXT1yKigocz49MC4wPy4wMDAxOi0uMDAw
MSkrcyk7cFtiPj4zXT1yKigocT49MC4wPy4wMDAxOi0uMDAwMSkrcSk7Yj0wO3doaWxlKDEpe2lm
KGI+Pj4wPj00KWJyZWFrO2k9aD4+KGI8PDMpJjI1NTtpZighaSlicmVhaztmW2o+PjJdPWZbYz4+
Ml07ZltqKzQ+PjJdPWZbYys0Pj4yXTtmW2orOD4+Ml09ZltjKzg+PjJdO2ZbaisxMj4+Ml09Zltj
KzEyPj4yXTtmW2s+PjJdPWZbZD4+Ml07ZltrKzQ+PjJdPWZbZCs0Pj4yXTtmW2srOD4+Ml09Zltk
Kzg+PjJdO2ZbaysxMj4+Ml09ZltkKzEyPj4yXTtVRShuLGEsaixrLGUsZyxpKTtmW2M+PjJdPWZb
bj4+Ml07ZltjKzQ+PjJdPWZbbis0Pj4yXTtmW2MrOD4+Ml09ZltuKzg+PjJdO2ZbYysxMj4+Ml09
ZltuKzEyPj4yXTtiPWIrMXwwfWZbbD4+Ml09bTt0PW87cmV0dXJufWZ1bmN0aW9uIFVFKGEsYixj
LGQsZSxnLGgpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9K2U7Zz0rZztoPWh8MDt2YXIgaT0w
LGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MC4wO289dDt0PXQrMzJ8MDtrPW8rMTZ8MDtqPW87
bD1oJjE1O2k9OTk4NDt3aGlsZSgxKXttPWZbaT4+Ml18MDtpZighbSlicmVhaztpZigobHwwKT09
KG18MCkpe249NDticmVha31pPWkrMjR8MH1pZigobnwwKT09NCl7cT0rcFtpKzg+PjNdKmU7cFtk
Pj4zXT0rcFtkPj4zXSpxO209ZCs4fDA7cFttPj4zXT0rcFttPj4zXSpxO249ZltpKzE2Pj4yXXww
O2Zbaj4+Ml09ZltjPj4yXTtmW2orND4+Ml09ZltjKzQ+PjJdO2Zbais4Pj4yXT1mW2MrOD4+Ml07
ZltqKzEyPj4yXT1mW2MrMTI+PjJdO2Zbaz4+Ml09ZltkPj4yXTtmW2srND4+Ml09ZltkKzQ+PjJd
O2Zbays4Pj4yXT1mW2QrOD4+Ml07ZltrKzEyPj4yXT1mW2QrMTI+PjJdO0ZiW24mMTVdKGIsaixr
LGUsZyxoKTtwW2M+PjNdPStwW2Q+PjNdKyArcFtjPj4zXTtuPWMrOHwwO3Bbbj4+M109K3BbbT4+
M10rICtwW24+PjNdfTtmW2E+PjJdPWZbYz4+Ml07ZlthKzQ+PjJdPWZbYys0Pj4yXTtmW2ErOD4+
Ml09ZltjKzg+PjJdO2ZbYSsxMj4+Ml09ZltjKzEyPj4yXTt0PW87cmV0dXJufWZ1bmN0aW9uIFZF
KGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MDtpPXQ7dD10KzE2fDA7Zz1pKzh8
MDtlPWk7Yz1HeChhLDEwODEyMil8MDtpZigoY3wwKSE9MD8oYltjPj4wXXwwKSE9MDowKXtkPWM7
aD01fWVsc2V7Yz1HeChhLDEwODEzNCl8MDtpZigoY3wwKSE9MD8oYltjPj4wXXwwKSE9MDowKXtk
PWM7aD01fWVsc2UgYz0wfWlmKChofDApPT01KXtjPXdFKGQsMCwxMjApfDA7aWYoIWMpe2g9QXko
YSl8MDtmW2U+PjJdPWg7WXcoMCwxMDgxNDEsZSl8MDtmW2c+PjJdPWQ7WXcoMywxMDgxOTQsZyl8
MH19dD1pO3JldHVybiBjfDB9ZnVuY3Rpb24gV0UoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9
MCxnPTA7Zz10O3Q9dCsxNnwwO2U9REgoMzA0KXwwO2lmKCFlKVl3KDEsMTA4MjAyLGcpfDA7ZD1h
KzE2fDA7YT1mW2Q+PjJdfDA7ZltlPj4yXT1hO2ZbZD4+Ml09ZTtpZighYSl7ZltlKzE0ND4+Ml09
MztmW2UrMTQ4Pj4yXT0wO3BbZSsxNTI+PjNdPTEuMH1lbHNle2I9ZSsxNnwwO2M9YSsxNnwwO2Q9
Yis0MHwwO2Rve2ZbYj4+Ml09ZltjPj4yXTtiPWIrNHwwO2M9Yys0fDB9d2hpbGUoKGJ8MCk8KGR8
MCkpO2I9ZSs1NnwwO2M9YSs1NnwwO2Q9Yis0MHwwO2Rve2ZbYj4+Ml09ZltjPj4yXTtiPWIrNHww
O2M9Yys0fDB9d2hpbGUoKGJ8MCk8KGR8MCkpO2ZbZSsxNDQ+PjJdPWZbYSsxNDQ+PjJdO2ZbZSsx
NDg+PjJdPWZbYSsxNDg+PjJdO3BbZSsxNTI+PjNdPStwW2ErMTUyPj4zXTtmW2UrMTM2Pj4yXT1m
W2ErMTM2Pj4yXTtiPWUrOTZ8MDtjPWErOTZ8MDtkPWIrNDB8MDtkb3tmW2I+PjJdPWZbYz4+Ml07
Yj1iKzR8MDtjPWMrNHwwfXdoaWxlKChifDApPChkfDApKX10PWc7cmV0dXJuIGV8MH1mdW5jdGlv
biBYRShhKXthPWF8MDt2YXIgYj0wO2E9YSsxNnwwO2I9ZlthPj4yXXwwO2lmKCFiKXhhKDEwODIy
OCwxMDgyMzIsMTE3LDEwODIzOSk7ZWxzZXtNXyhmW2IrMjEyPj4yXXwwKTtNXyhmW2IrMjA4Pj4y
XXwwKTtNXyhmW2IrMjE2Pj4yXXwwKTtNXyhmW2IrMjIwPj4yXXwwKTtNXyhmW2IrMjI0Pj4yXXww
KTtNXyhmW2IrMjI4Pj4yXXwwKTtNXyhmW2IrMjMyPj4yXXwwKTtNXyhmW2IrMjM2Pj4yXXwwKTtN
XyhmW2IrMjQwPj4yXXwwKTtNXyhmW2IrMjQ0Pj4yXXwwKTtNXyhmW2IrMjQ4Pj4yXXwwKTtNXyhm
W2IrMjUyPj4yXXwwKTtNXyhmW2IrMjU2Pj4yXXwwKTtNXyhmW2IrMjcyPj4yXXwwKTtNXyhmW2Ir
Mjg0Pj4yXXwwKTtNXyhmW2IrMjgwPj4yXXwwKTtmW2E+PjJdPWZbYj4+Ml07TV8oYik7cmV0dXJu
fX1mdW5jdGlvbiBZRShhLGMsZSxnLGgsaSxqKXthPWF8MDtjPWN8MDtlPWV8MDtnPWd8MDtoPWh8
MDtpPWl8MDtqPWp8MDt2YXIgaz0wLGw9MDtsPWZbYSsxNj4+Ml18MDtrPWZbYSsxNTI+PjJdfDA7
aWYoKGN8MCkhPTAmKGsmMzI3Njh8MCkhPTApZltsKzE5Mj4+Ml09YztpZigoKGsmNjU1MzZ8MCkh
PTA/KGk9eUgoaSxqKXwwLGZbbCsyMTI+PjJdPWksKGV8MCkhPTApOjApPyhiW2U+PjBdfDApIT0w
OjApe2E9eUgoZSxqKXwwO2ZbbCsyMDg+PjJdPWE7YT0xfWVsc2UgYT0wO2RvIGlmKGsmNDE5NDMw
NCl7aWYoZ3wwP2JbZz4+MF18MDowKXthPXlIKGcsail8MDtmW2wrMjI4Pj4yXT1hO2E9bCsyNjB8
MDtkW2E+PjFdPWRbYT4+MV18MTthPTE7YnJlYWt9Yz1mW2wrMTkyPj4yXXwwO2lmKGMpe2E9djIo
Yyl8MDtmW2wrMjI4Pj4yXT1hO2E9MX19d2hpbGUoMCk7aWYoKGh8MCkhPTAmKGsmODM4ODYwOHww
KSE9MD8oYltoPj4wXXwwKSE9MDowKXthPXlIKGgsail8MDtmW2wrMjQ0Pj4yXT1hO2E9MX1yZXR1
cm4gYXwwfWZ1bmN0aW9uIFpFKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxo
PTAsaT0wLGo9MDtqPXQ7dD10KzgwfDA7aT1qKzY0fDA7aD1qO2c9ZlsoZlthPj4yXXwwKSsxNjg+
PjJdfDA7ZT1mWyhmWyhmW2crMTY+PjJdfDApKzg+PjJdfDApKzkyPj4yXXwwO19FKGEsZCk7YT1H
eChjLDE0ODE5NSl8MDtpZigoYXwwKSE9MD8oYlthPj4wXXwwKSE9MDowKXtkeChkLGEpfDA7ZT1k
KzR8MDthPWZbZT4+Ml18MDtpZihhPj4+MD49KGZbZCs4Pj4yXXwwKT4+PjApe2J4KGQsMSl8MDth
PWZbZT4+Ml18MH1iW2E+PjBdPTA7YT1mW2Q+PjJdfDA7ZltlPj4yXT1hfWVsc2V7aWYoKGd8MCkh
PShjfDApJihlfDApIT0wKXtkeChkLGUpfDA7ZT1kKzR8MDthPWZbZT4+Ml18MDtpZihhPj4+MD49
KGZbZCs4Pj4yXXwwKT4+PjApe2J4KGQsMSl8MDthPWZbZT4+Ml18MH1mW2U+PjJdPWErMTtiW2E+
PjBdPTk1fXN3aXRjaCh5eihjKXwwKXtjYXNlIDA6e2U9KGd8MCk9PShjfDApPzExOTc2NDoxMDgy
NTM7YT0oZltjPj4yXXwwKT4+PjQ7YnJlYWt9Y2FzZSAxOntlPTExOTc1MTthPShmW2M+PjJdfDAp
Pj4+NDticmVha31jYXNlIDI6e2U9MTE5NzIwO2E9KGZbYz4+Ml18MCk+Pj40O2JyZWFrfWRlZmF1
bHQ6e2U9MDthPTB9fWR4KGQsZSl8MDtmW2k+PjJdPWE7ZCQoaCwxMDgyNTksaSl8MDtkeChkLGgp
fDA7ZT1kKzR8MDthPWZbZT4+Ml18MDtpZihhPj4+MD49KGZbZCs4Pj4yXXwwKT4+PjApe2J4KGQs
MSl8MDthPWZbZT4+Ml18MH1iW2E+PjBdPTA7YT1mW2Q+PjJdfDA7ZltlPj4yXT1hfXQ9ajtyZXR1
cm4gYXwwfWZ1bmN0aW9uIF9FKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxp
PTA7aT10O3Q9dCsxNDR8MDtoPWkrMTI4fDA7Zz1pO2Q9ZlthKzE2MD4+Ml18MDtpZigoZHwwKT4x
P2ZbYSsxNTI+PjJdJjY0fDA6MCl7ZHgoYyxmWyhmWyhmW2E+PjJdfDApKzMwOD4+Ml18MCkrKGQ8
PDIpPj4yXXwwKXwwO2U9Yys0fDA7ZD1mW2U+PjJdfDA7aWYoZD4+PjA+PShmW2MrOD4+Ml18MCk+
Pj4wKXtieChjLDEpfDA7ZD1mW2U+PjJdfDB9ZltlPj4yXT1kKzE7YltkPj4wXT05NX1lPWZbYSsx
OTY+PjJdfDA7ZD1mW2ErMjAwPj4yXXwwO2lmKChlfDApPjB8KGR8MCk+MCl7ZltoPj4yXT1lO2Zb
aCs0Pj4yXT1kO2QkKGcsMTA4MjYzLGgpfDA7ZHgoYyxnKXwwfXQ9aTtyZXR1cm59ZnVuY3Rpb24g
JEUoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMCxlPTAsZz0wLjAsaD0wLGk9MC4w
LGo9MC4wLGs9MCxsPTAsbT0wLG89MCxxPTAuMCxyPTA7cj10O3Q9dCs0OHwwO209cisxNnwwO2U9
ciszMnwwO289cjtxPStwWyhmW2ErMTY+PjJdfDApKzE1Mj4+M107bD1hRihjLDAsZSl8MDtpZigo
bCstMXwwKT4+PjA+PTIpe2Q9K3BbYisxNj4+M107aT0oZCsgK3BbYj4+M10pKi41O3Bbbz4+M109
aTtnPStwW2IrMjQ+PjNdO2o9KGcrICtwW2IrOD4+M10pKi41O3Bbbys4Pj4zXT1qO2k9ZC1pO2o9
Zy1qO2s9cT4uNTtpZihrKW9QKGEsLjUpO2g9ZltlPj4yXXwwO2c9MC4wO2U9ZltoKzg+PjJdfDA7
d2hpbGUoMSl7Yz1mW2U+PjJdfDA7aWYoIWMpYnJlYWs7Yj1lKzR8MDtpZigrbltiPj4yXT09MC4w
KWQ9ZztlbHNle2RQKGEsYyk7aWYoIShmW2UrMTI+PjJdfDApKWQ9Ni4yODMxODUzMDcxNzk1ODY7
ZWxzZSBkPStuW2I+PjJdKjYuMjgzMTg1MzA3MTc5NTg2K2c7ZlttPj4yXT1mW28+PjJdO2ZbbSs0
Pj4yXT1mW28rND4+Ml07ZlttKzg+PjJdPWZbbys4Pj4yXTtmW20rMTI+PjJdPWZbbysxMj4+Ml07
Yj1BUShtLGksaixnLGQpfDA7alAoYSxmW2I+PjJdfDAsZltiKzQ+PjJdfDAsMCwwLDEpO3dWKGIp
fWc9ZDtlPWUrMTJ8MH1pZihrKW9QKGEscSk7YkYoaCl9dD1yO3JldHVybiBsfDB9ZnVuY3Rpb24g
YUYoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAuMCxqPTAuMCxr
PTAuMCxsPTAsbT0wLG89MCxwPTAscT0wO3E9dDt0PXQrMTZ8MDttPXErOHwwO2w9cTtwPURIKDEy
KXwwO2g9djIoYSl8MDthOmRvIGlmKCFjKXtjPTE7ZT1oO3doaWxlKDEpe3N3aXRjaChiW2U+PjBd
fDApe2Nhc2UgMDpicmVhayBhO2Nhc2UgNTg6e2M9YysxfDA7YnJlYWt9ZGVmYXVsdDp7fX1lPWUr
MXwwfX13aGlsZSgwKTtmW3ArND4+Ml09aDtvPURIKChjKjEyfDApKzEyfDApfDA7ZltwKzg+PjJd
PW87az0xLjA7Zz0wO2M9MDtlPWg7d2hpbGUoMSl7ZT1kMyhlLDExNjMxMCl8MDtpZighZSl7ZT0y
MTticmVha31pPStjRihlKTtpZighKGk+PTAuMCkpe2U9MTg7YnJlYWt9aj1pLWs7aWYoaj4wLjAp
aWYoKGZbMTgxNjBdfDApIT0wPyEoajwxLjBlLTA1Jmo+LTEuMGUtMDUpOjApe2ZbbD4+Ml09YTtZ
dygwLDEwODI3NCxsKXwwO2ZbMTgxNjBdPTA7aT1rO2M9M31lbHNlIGk9aztqPWstaTtpZihpPjAu
MCliW28rKGcqMTJ8MCkrOD4+MF09MTtpZihiW2U+PjBdfDApZltvKyhnKjEyfDApPj4yXT1lO2U9
ZysxfDA7bltvKyhnKjEyfDApKzQ+PjJdPWk7aWYoajwxLjBlLTA1Jmo+LTEuMGUtMDUpe2c9ZTtl
PTMyO2JyZWFrfWVsc2V7az1qO2c9ZTtlPTB9fWI6ZG8gaWYoKGV8MCk9PTE4KXtpZighKGZbMTgx
NjBdfDApKWM9MTtlbHNle2ZbbT4+Ml09YTtZdygxLDEwODMwOSxtKXwwO2ZbMTgxNjBdPTA7Yz0y
fWJGKHApfWVsc2UgaWYoKGV8MCk9PTIxKWlmKGs+MC4wKXtlPTA7aD0wO3doaWxlKDEpe2lmKChl
fDApPT0oZ3wwKSlicmVhazttPWgrKCtuW28rKGUqMTJ8MCkrND4+Ml09PTAuMCYxKXwwO2U9ZSsx
fDA7aD1tfWlmKCFoKXtlPW8rKChnKy0xfDApKjEyfDApKzR8MDtuW2U+PjJdPWsrICtuW2U+PjJd
O2U9MzI7YnJlYWt9aT1rLysoaHwwKTtlPTA7d2hpbGUoMSl7aWYoKGV8MCk9PShnfDApKXtlPTMy
O2JyZWFrIGJ9aD1vKyhlKjEyfDApKzR8MDtpZigrbltoPj4yXT09MC4wKW5baD4+Ml09aTtlPWUr
MXwwfX1lbHNlIGU9MzI7d2hpbGUoMCk7aWYoKGV8MCk9PTMyKXt3aGlsZSgxKXtlPWcrLTF8MDtp
ZigoZ3wwKTw9MClicmVhaztpZigrbltvKyhlKjEyfDApKzQ+PjJdPjAuMClicmVhaztlbHNlIGc9
ZX1mW28rKGcqMTJ8MCk+PjJdPTA7ZltwPj4yXT1nO2ZbZD4+Ml09cH10PXE7cmV0dXJuIGN8MH1m
dW5jdGlvbiBiRihhKXthPWF8MDtNXyhmW2ErND4+Ml18MCk7TV8oZlthKzg+PjJdfDApO01fKGEp
O3JldHVybn1mdW5jdGlvbiBjRihhKXthPWF8MDt2YXIgYz0wLjAsZD0wLGU9MCxnPTA7ZT10O3Q9
dCsxNnwwO2Q9ZTthPXgxKGEsNTkpfDA7aWYoIWEpYz0wLjA7ZWxzZXtnPWErMXwwO2JbYT4+MF09
MDtjPStCMihnLGQpO2M9KGM+PTAuMD8oZltkPj4yXXwwKSE9KGd8MCk6MCk/YzotMS4wfXQ9ZTty
ZXR1cm4gK2N9ZnVuY3Rpb24gZEYoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFy
IGU9MCxnPTAuMCxoPTAsaT0wLGo9MC4wLGs9MC4wLGw9MCxtPTAsbz0wLHE9MCxyPTAuMCxzPTA7
cz10O3Q9dCs4MHwwO2U9cys2NHwwO3E9cztyPStwWyhmW2ErMTY+PjJdfDApKzE1Mj4+M107bz1h
RihjLDAsZSl8MDtpZigobystMXwwKT4+PjA+PTIpe2lmKCFkKXtmW3E+PjJdPWZbYj4+Ml07Zltx
KzQ+PjJdPWZbYis0Pj4yXTtmW3ErOD4+Ml09ZltiKzg+PjJdO2ZbcSsxMj4+Ml09ZltiKzEyPj4y
XTttPXErMTZ8MDtsPWIrMTZ8MDtmW20+PjJdPWZbbD4+Ml07ZlttKzQ+PjJdPWZbbCs0Pj4yXTtm
W20rOD4+Ml09ZltsKzg+PjJdO2ZbbSsxMj4+Ml09ZltsKzEyPj4yXTttPXErMzJ8MDtsPWIrMzJ8
MDtmW20+PjJdPWZbbD4+Ml07ZlttKzQ+PjJdPWZbbCs0Pj4yXTtmW20rOD4+Ml09ZltsKzg+PjJd
O2ZbbSsxMj4+Ml09ZltsKzEyPj4yXTttPXErNDh8MDtsPWIrNDh8MDtmW20+PjJdPWZbbD4+Ml07
ZlttKzQ+PjJdPWZbbCs0Pj4yXTtmW20rOD4+Ml09ZltsKzg+PjJdO2ZbbSsxMj4+Ml09ZltsKzEy
Pj4yXX1lbHNle209YiszMnwwO2ZbcT4+Ml09ZlttPj4yXTtmW3ErND4+Ml09ZlttKzQ+PjJdO2Zb
cSs4Pj4yXT1mW20rOD4+Ml07ZltxKzEyPj4yXT1mW20rMTI+PjJdO209cSsxNnwwO2w9Yis0OHww
O2ZbbT4+Ml09ZltsPj4yXTtmW20rND4+Ml09ZltsKzQ+PjJdO2ZbbSs4Pj4yXT1mW2wrOD4+Ml07
ZlttKzEyPj4yXT1mW2wrMTI+PjJdO209cSszMnwwO2ZbbT4+Ml09ZltiPj4yXTtmW20rND4+Ml09
ZltiKzQ+PjJdO2ZbbSs4Pj4yXT1mW2IrOD4+Ml07ZlttKzEyPj4yXT1mW2IrMTI+PjJdO209cSs0
OHwwO2w9YisxNnwwO2ZbbT4+Ml09ZltsPj4yXTtmW20rND4+Ml09ZltsKzQ+PjJdO2ZbbSs4Pj4y
XT1mW2wrOD4+Ml07ZlttKzEyPj4yXT1mW2wrMTI+PjJdfWk9cSsxNnwwO2o9K3BbaT4+M107Zz0r
cFtxPj4zXTtrPWotZztsPXErMzJ8MDtwW2w+PjNdPWc7cFtpPj4zXT1nO209cj4uNTtpZihtKW9Q
KGEsLjUpO2U9ZltlPj4yXXwwO2g9cSs0OHwwO2Q9ZltlKzg+PjJdfDA7d2hpbGUoMSl7Yz1mW2Q+
PjJdfDA7aWYoIWMpYnJlYWs7Yj1kKzR8MDtpZighKCtuW2I+PjJdPT0wLjApKXtkUChhLGMpO2lm
KCEoZltkKzEyPj4yXXwwKSlnPWo7ZWxzZSBnPWsqK25bYj4+Ml0rICtwW3E+PjNdO3BbbD4+M109
ZztwW2k+PjNdPWc7aFAoYSxxLDQsMSk7Zz0rcFtpPj4zXTtwW2g+PjNdPWc7cFtxPj4zXT1nfWQ9
ZCsxMnwwfWlmKG0pb1AoYSxyKTtiRihlKX10PXM7cmV0dXJuIG98MH1mdW5jdGlvbiBlRihhLGIp
e2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wO2M9ZlthKzE2Pj4yXXwwO2Q9Zlth
KzE1Mj4+Ml18MDtpZihkJjQyNTk4NDB8MCl7ZT1kJjEzMTA3MjtmW2MrMjY0Pj4yXT1lPj4+MTZe
MjtoPWMrMjY4fDA7ZltoPj4yXT0oZT4+PjE2XjIpKzI7Zz1jKzI3MnwwO01fKGZbZz4+Ml18MCk7
Yz1ESChmW2g+PjJdPDw0KXwwO2ZbZz4+Ml09YztmW2M+PjJdPWZbYj4+Ml07ZltjKzQ+PjJdPWZb
Yis0Pj4yXTtmW2MrOD4+Ml09ZltiKzg+PjJdO2ZbYysxMj4+Ml09ZltiKzEyPj4yXTtnPWMrMTZ8
MDtiPWIrMTZ8MDtmW2c+PjJdPWZbYj4+Ml07ZltnKzQ+PjJdPWZbYis0Pj4yXTtmW2crOD4+Ml09
ZltiKzg+PjJdO2ZbZysxMj4+Ml09ZltiKzEyPj4yXTtpZighKGQmODE5MikpSE8oYSxjLGMsMil8
MDtpZighZSlkSChjKX1yZXR1cm59ZnVuY3Rpb24gZkYoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0w
LGQ9MC4wLGU9MCxmPTAsZz0wLGg9MC4wLGk9MC4wLGo9MC4wLGs9MC4wLGw9MC4wLG09MCxuPTAs
bz0wO289dDt0PXQrMTQ0fDA7Yz1vKzY0fDA7ZT1vO2Y9bysxMjh8MDtqPStwW2I+PjNdO209YSsx
NnwwO2s9K3BbbT4+M107aWYoISgoKCgoKCgoKCEoaj5rKT8obD0rcFthPj4zXSwhKGo8bCkpOjAp
PyhkPStwW2IrOD4+M10saD0rcFthKzI0Pj4zXSwhKGQ+aCkpOjApPyhpPStwW2ErOD4+M10sIShk
PGkpKTowKT8oaj0rcFtiKzE2Pj4zXSwhKGo+a3xqPGwpKTowKT8oaj0rcFtiKzI0Pj4zXSwhKGo+
aHxqPGkpKTowKT8oaj0rcFtiKzMyPj4zXSwhKGo+a3xqPGwpKTowKT8oaj0rcFtiKzQwPj4zXSwh
KGo+aHxqPGkpKTowKT8oaj0rcFtiKzQ4Pj4zXSwhKGo+a3xqPGwpKTowKT8obD0rcFtiKzU2Pj4z
XSwhKGw+aHxsPGkpKTowKSluPTExO2E6ZG8gaWYoKG58MCk9PTExKXtpZighKGdGKGIpfDApKXtl
TShmLGIsMywuNSxjLGUpO2ZGKGEsYyk7ZkYoYSxlKTticmVha31mPWErMjR8MDtnPWErOHwwO2U9
MDt3aGlsZSgxKXtpZigoZXwwKT09NClicmVhayBhO2Q9K3BbYisoZTw8NCk+PjNdO2lmKCEoZD4r
cFttPj4zXSkpe2lmKGQ8K3BbYT4+M10pe2M9YTtuPTE2fX1lbHNle2M9bTtuPTE2fWlmKChufDAp
PT0xNil7bj0wO3BbYz4+M109ZH1kPStwW2IrKGU8PDQpKzg+PjNdO2lmKCEoZD4rcFtmPj4zXSkp
e2lmKGQ8K3BbZz4+M10pe2M9ZztuPTE5fX1lbHNle2M9ZjtuPTE5fWlmKChufDApPT0xOSl7bj0w
O3BbYz4+M109ZH1lPWUrMXwwfX13aGlsZSgwKTt0PW87cmV0dXJufWZ1bmN0aW9uIGdGKGEpe2E9
YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLjAsaD0wLGk9MDtiPXQ7dD10KzQ4fDA7Yz1iKzMy
fDA7ZD1iKzE2fDA7ZT1iO2k9YSs0OHwwO2g9YSsxNnwwO2ZbZT4+Ml09ZlthPj4yXTtmW2UrND4+
Ml09ZlthKzQ+PjJdO2ZbZSs4Pj4yXT1mW2ErOD4+Ml07ZltlKzEyPj4yXT1mW2ErMTI+PjJdO2Zb
ZD4+Ml09ZltpPj4yXTtmW2QrND4+Ml09ZltpKzQ+PjJdO2ZbZCs4Pj4yXT1mW2krOD4+Ml07Zltk
KzEyPj4yXT1mW2krMTI+PjJdO2ZbYz4+Ml09ZltoPj4yXTtmW2MrND4+Ml09ZltoKzQ+PjJdO2Zb
Yys4Pj4yXT1mW2grOD4+Ml07ZltjKzEyPj4yXT1mW2grMTI+PjJdO2c9K2lIKGUsZCxjKTtoPWEr
MzJ8MDtmW2U+PjJdPWZbYT4+Ml07ZltlKzQ+PjJdPWZbYSs0Pj4yXTtmW2UrOD4+Ml09ZlthKzg+
PjJdO2ZbZSsxMj4+Ml09ZlthKzEyPj4yXTtmW2Q+PjJdPWZbaT4+Ml07ZltkKzQ+PjJdPWZbaSs0
Pj4yXTtmW2QrOD4+Ml09ZltpKzg+PjJdO2ZbZCsxMj4+Ml09ZltpKzEyPj4yXTtmW2M+PjJdPWZb
aD4+Ml07ZltjKzQ+PjJdPWZbaCs0Pj4yXTtmW2MrOD4+Ml09ZltoKzg+PjJdO2ZbYysxMj4+Ml09
ZltoKzEyPj4yXTthPWc8NC4wJitpSChlLGQsYyk8NC4wJjE7dD1iO3JldHVybiBhfDB9ZnVuY3Rp
b24gaEYoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAuMCxoPTAsaT0wLGo9MCxrPTAs
bD0wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxC
PTAsQz0wLEQ9MCxFPTAsRj0wLjAsRz0wLjAsSD0wLjAsST0wLjAsSj0wLEs9MDtEPXQ7dD10KzI3
MnwwO3U9RCsyNTZ8MDt2PUQ7dz1EKzIyNHwwO3g9RCsxNjB8MDt5PUQrOTZ8MDt6PUQrMzJ8MDtB
PUQrMTkyfDA7Qj1EKzEyOHwwO0M9RCs2NHwwO3M9ZltjKzE2Pj4yXXwwO3I9ZltzKzE0ND4+Ml18
MDtxPXMrMTZ8MDtmW3g+PjJdPWZbcT4+Ml07Zlt4KzQ+PjJdPWZbcSs0Pj4yXTtmW3grOD4+Ml09
ZltxKzg+PjJdO2ZbeCsxMj4+Ml09ZltxKzEyPj4yXTtmW3grMTY+PjJdPWZbcSsxNj4+Ml07Zlt4
KzIwPj4yXT1mW3ErMjA+PjJdO2ZbeCsyND4+Ml09ZltxKzI0Pj4yXTtmW3grMjg+PjJdPWZbcSsy
OD4+Ml07cz1mWyhmW3MrOD4+Ml18MCkrODg+PjJdfDA7Zlt6Pj4yXT0wO2Zbeis0Pj4yXT0wO2Zb
eis4Pj4yXT0wO2ZbeisxMj4+Ml09MDtmW3orMTY+PjJdPTA7Zlt6KzIwPj4yXT0wO2ZbeisyND4+
Ml09MDtmW3orMjg+PjJdPTA7aWYoIXMpe2ZbYT4+Ml09Zlt4Pj4yXTtmW2ErND4+Ml09Zlt4KzQ+
PjJdO2ZbYSs4Pj4yXT1mW3grOD4+Ml07ZlthKzEyPj4yXT1mW3grMTI+PjJdO2ZbYSsxNj4+Ml09
Zlt4KzE2Pj4yXTtmW2ErMjA+PjJdPWZbeCsyMD4+Ml07ZlthKzI0Pj4yXT1mW3grMjQ+PjJdO2Zb
YSsyOD4+Ml09Zlt4KzI4Pj4yXX1lbHNle2M9eCsxNnwwO2lmKCtwW3g+PjNdPT0rcFtjPj4zXT8o
ZD14Kzh8MCxlPXgrMjR8MCwrcFtkPj4zXT09K3BbZT4+M10pOjApe3BbZD4+M109MTc5NzY5MzEz
NDg2MjMxNTcwODE0NTI3NC4wZTI4NDtwW3g+PjNdPTE3OTc2OTMxMzQ4NjIzMTU3MDgxNDUyNzQu
MGUyODQ7cFtlPj4zXT0tMTc5NzY5MzEzNDg2MjMxNTcwODE0NTI3NC4wZTI4NDtwW2M+PjNdPS0x
Nzk3NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0LjBlMjg0fWk9dis4fDA7aj12KzE2fDA7az12KzI0fDA7
bD15KzE2fDA7bT15KzI0fDA7bj1yKzE0NHwwO289dysxNnwwO3E9cysxMnwwO2M9MDtlPWZbcys4
Pj4yXXwwO2Q9MDtnPTAuMDtoPTA7d2hpbGUoMSl7aWYoKGh8MCk+PShmW3M+PjJdfDApKWJyZWFr
O2ZbeT4+Ml09Zlt6Pj4yXTtmW3krND4+Ml09Zlt6KzQ+PjJdO2ZbeSs4Pj4yXT1mW3orOD4+Ml07
Zlt5KzEyPj4yXT1mW3orMTI+PjJdO2ZbeSsxNj4+Ml09Zlt6KzE2Pj4yXTtmW3krMjA+PjJdPWZb
eisyMD4+Ml07Zlt5KzI0Pj4yXT1mW3orMjQ+PjJdO2ZbeSsyOD4+Ml09Zlt6KzI4Pj4yXTtzd2l0
Y2goZltlPj4yXXwwKXtjYXNlIDE6Y2FzZSAwOntIPStwW2UrOD4+M107ST0rcFtlKzI0Pj4zXTtw
W3Y+PjNdPUgtSTtGPStwW2UrMTY+PjNdO0c9K3BbZSszMj4+M107cFtpPj4zXT1GLUc7cFtqPj4z
XT1JK0g7cFtrPj4zXT1HK0Y7RT1lKzgwfDA7ZltFPj4yXT1mW3Y+PjJdO2ZbRSs0Pj4yXT1mW3Yr
ND4+Ml07ZltFKzg+PjJdPWZbdis4Pj4yXTtmW0UrMTI+PjJdPWZbdisxMj4+Ml07RT1lKzk2fDA7
ZltFPj4yXT1mW2o+PjJdO2ZbRSs0Pj4yXT1mW2orND4+Ml07ZltFKzg+PjJdPWZbais4Pj4yXTtm
W0UrMTI+PjJdPWZbaisxMj4+Ml07Zlt1Pj4yXT1mW3Y+PjJdO2ZbdSs0Pj4yXT1mW3YrND4+Ml07
Zlt1Kzg+PjJdPWZbdis4Pj4yXTtmW3UrMTI+PjJdPWZbdisxMj4+Ml07aUYoeCx1KTtmW3U+PjJd
PWZbaj4+Ml07Zlt1KzQ+PjJdPWZbais0Pj4yXTtmW3UrOD4+Ml09ZltqKzg+PjJdO2ZbdSsxMj4+
Ml09ZltqKzEyPj4yXTtpRih4LHUpO2JyZWFrfWNhc2UgMzpjYXNlIDI6e0U9ZSs4MHwwO0o9ZSs4
fDA7akYoQSxmW0orND4+Ml18MCxmW0o+PjJdfDAseCk7ZltFPj4yXT1mW0E+PjJdO2ZbRSs0Pj4y
XT1mW0ErND4+Ml07ZltFKzg+PjJdPWZbQSs4Pj4yXTtmW0UrMTI+PjJdPWZbQSsxMj4+Ml07ZltF
KzE2Pj4yXT1mW0ErMTY+PjJdO2ZbRSsyMD4+Ml09ZltBKzIwPj4yXTtmW0UrMjQ+PjJdPWZbQSsy
ND4+Ml07ZltFKzI4Pj4yXT1mW0ErMjg+PjJdO2JyZWFrfWNhc2UgNTpjYXNlIDQ6e0o9ZSs4MHww
O0U9ZSs4fDA7akYoQixmW0UrND4+Ml18MCxmW0U+PjJdfDAseCk7ZltKPj4yXT1mW0I+PjJdO2Zb
Sis0Pj4yXT1mW0IrND4+Ml07ZltKKzg+PjJdPWZbQis4Pj4yXTtmW0orMTI+PjJdPWZbQisxMj4+
Ml07ZltKKzE2Pj4yXT1mW0IrMTY+PjJdO2ZbSisyMD4+Ml09ZltCKzIwPj4yXTtmW0orMjQ+PjJd
PWZbQisyND4+Ml07ZltKKzI4Pj4yXT1mW0IrMjg+PjJdO2JyZWFrfWNhc2UgNjp7Sj1lKzgwfDA7
RT1lKzh8MDtqRihDLGZbRSs0Pj4yXXwwLGZbRT4+Ml18MCx4KTtmW0o+PjJdPWZbQz4+Ml07ZltK
KzQ+PjJdPWZbQys0Pj4yXTtmW0orOD4+Ml09ZltDKzg+PjJdO2ZbSisxMj4+Ml09ZltDKzEyPj4y
XTtmW0orMTY+PjJdPWZbQysxNj4+Ml07ZltKKzIwPj4yXT1mW0MrMjA+PjJdO2ZbSisyND4+Ml09
ZltDKzI0Pj4yXTtmW0orMjg+PjJdPWZbQysyOD4+Ml07YnJlYWt9Y2FzZSA3OntFPURIKDU2KXww
O0o9ZSsxMTJ8MDtmW0o+PjJdPUU7RT12MihmW2UrNDA+PjJdfDApfDA7Sz1mW0o+PjJdfDA7ZltL
Pj4yXT1FO2JbSys0OD4+MF09YlsxMDgzNTUrKGZbZSsyND4+Ml18MCk+PjBdfDA7Zlt5Pj4yXT1k
O3BbbD4+M109ZztmW20+PjJdPWZbbT4+Ml0mLTEyOHxjJjEyNztLPWZbbj4+Ml18MDtLPXdiW2Zb
Sz4+Ml0mNjNdKEsseSwxKXwwO0U9ZltKPj4yXXwwO2ZbRSs0Pj4yXT1LO0ZMKHUscixFKTtrRih3
LCtwW2UrOD4+M10sK3BbZSsxNj4+M10sZltKPj4yXXwwKTtKPWUrODB8MDtmW0o+PjJdPWZbdz4+
Ml07ZltKKzQ+PjJdPWZbdys0Pj4yXTtmW0orOD4+Ml09Zlt3Kzg+PjJdO2ZbSisxMj4+Ml09Zlt3
KzEyPj4yXTtmW0orMTY+PjJdPWZbdysxNj4+Ml07ZltKKzIwPj4yXT1mW3crMjA+PjJdO2ZbSisy
ND4+Ml09Zlt3KzI0Pj4yXTtmW0orMjg+PjJdPWZbdysyOD4+Ml07Zlt1Pj4yXT1mW3c+PjJdO2Zb
dSs0Pj4yXT1mW3crND4+Ml07Zlt1Kzg+PjJdPWZbdys4Pj4yXTtmW3UrMTI+PjJdPWZbdysxMj4+
Ml07aUYoeCx1KTtmW3U+PjJdPWZbbz4+Ml07Zlt1KzQ+PjJdPWZbbys0Pj4yXTtmW3UrOD4+Ml09
ZltvKzg+PjJdO2ZbdSsxMj4+Ml09ZltvKzEyPj4yXTtpRih4LHUpO2lmKCEoZltxPj4yXXwwKSlm
W3E+PjJdPTEwNjticmVha31jYXNlIDEwOntkPWZbZSsxNj4+Ml18MDtnPStwW2UrOD4+M107YnJl
YWt9Y2FzZSAxNTp7Yz1mW2UrOD4+Ml18MDticmVha31kZWZhdWx0Ont9fWU9ZSsxMjB8MDtoPWgr
MXwwfWZbYT4+Ml09Zlt4Pj4yXTtmW2ErND4+Ml09Zlt4KzQ+PjJdO2ZbYSs4Pj4yXT1mW3grOD4+
Ml07ZlthKzEyPj4yXT1mW3grMTI+PjJdO2ZbYSsxNj4+Ml09Zlt4KzE2Pj4yXTtmW2ErMjA+PjJd
PWZbeCsyMD4+Ml07ZlthKzI0Pj4yXT1mW3grMjQ+PjJdO2ZbYSsyOD4+Ml09Zlt4KzI4Pj4yXX10
PUQ7cmV0dXJufWZ1bmN0aW9uIGlGKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MC4wLGQ9MDtjPStw
W2I+PjNdO2Q9YSsxNnwwO2lmKGM+K3BbZD4+M10pcFtkPj4zXT1jO2lmKGM8K3BbYT4+M10pcFth
Pj4zXT1jO2M9K3BbYis4Pj4zXTtiPWErMjR8MDtpZihjPitwW2I+PjNdKXBbYj4+M109YztiPWEr
OHwwO2lmKGM8K3BbYj4+M10pcFtiPj4zXT1jO3JldHVybn1mdW5jdGlvbiBqRihhLGIsYyxkKXth
PWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLjAsZz0wLjAsaD0wLjAsaT0wLjAsaj0wLjAs
az0wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLHM9MDtzPXQ7dD10KzQ4fDA7bT1zKzMyfDA7bz1z
O2c9K3BbYj4+M107cT1vKzE2fDA7cFtxPj4zXT1nO3Bbbz4+M109ZztpPStwW2IrOD4+M107cj1v
KzI0fDA7cFtyPj4zXT1pO249bys4fDA7cFtuPj4zXT1pO2w9MTtoPWc7aj1pO3doaWxlKDEpe2lm
KChsfDApPj0oY3wwKSlicmVhaztrPWIrMjR8MDtlPStwW2s+PjNdO2lmKCEoZTxoKSl7aWYoZT5n
KWc9ZX1lbHNlIGg9ZTtlPStwW2IrMzI+PjNdO2lmKCEoZTxqKSlpZihlPmkpe2k9ZTtlPWp9ZWxz
ZSBlPWo7bD1sKzF8MDtiPWs7aj1lfXBbbz4+M109aDtwW3E+PjNdPWc7cFtuPj4zXT1qO3Bbcj4+
M109aTtmW20+PjJdPWZbbz4+Ml07ZlttKzQ+PjJdPWZbbys0Pj4yXTtmW20rOD4+Ml09ZltvKzg+
PjJdO2ZbbSsxMj4+Ml09ZltvKzEyPj4yXTtpRihkLG0pO2ZbbT4+Ml09ZltxPj4yXTtmW20rND4+
Ml09ZltxKzQ+PjJdO2ZbbSs4Pj4yXT1mW3ErOD4+Ml07ZlttKzEyPj4yXT1mW3ErMTI+PjJdO2lG
KGQsbSk7ZlthPj4yXT1mW28+PjJdO2ZbYSs0Pj4yXT1mW28rND4+Ml07ZlthKzg+PjJdPWZbbys4
Pj4yXTtmW2ErMTI+PjJdPWZbbysxMj4+Ml07ZlthKzE2Pj4yXT1mW28rMTY+PjJdO2ZbYSsyMD4+
Ml09ZltvKzIwPj4yXTtmW2ErMjQ+PjJdPWZbbysyND4+Ml07ZlthKzI4Pj4yXT1mW28rMjg+PjJd
O3Q9cztyZXR1cm59ZnVuY3Rpb24ga0YoYSxjLGQsZSl7YT1hfDA7Yz0rYztkPStkO2U9ZXwwO3Zh
ciBmPTAuMCxnPTAuMCxoPTAuMDtmPStwW2UrMzI+PjNdO2g9K3BbZSs0MD4+M107c3dpdGNoKGJb
ZSs0OD4+MF18MCl7Y2FzZSAxMDg6e2c9YztjPWYrYzticmVha31jYXNlIDExMDp7Zj1mKi41O2c9
Yy1mO2M9ZitjO2JyZWFrfWNhc2UgMTE0OntnPWMtZjticmVha31kZWZhdWx0OntnPTAuMDtjPTAu
MH19ZD0rcFtlKzE2Pj4zXStkO3BbYT4+M109ZztwW2ErOD4+M109ZC1oO3BbYSsxNj4+M109Yztw
W2ErMjQ+PjNdPWQ7cmV0dXJufWZ1bmN0aW9uIGxGKGEpe2E9YXwwO2lmKChmW2E+PjJdfDApPT03
KXZIKGZbYSsxMTI+PjJdfDAsMSk7cmV0dXJufWZ1bmN0aW9uIG1GKGEsYyl7YT1hfDA7Yz1jfDA7
dmFyIGQ9MCxlPTAuMCxnPTAuMCxoPTAuMCxpPTAsaj0wLGs9MCxsPTAuMDtrPXQ7dD10KzE2fDA7
aj1rO2k9ZlthKzE1Mj4+Ml18MDtsPStwW2ErNDMyPj4zXTtoPStwW2ErMzUyPj4zXSouMDEzODg4
ODg4ODg4ODg4ODg4O2U9aCpsO3BbYSs0ODg+PjNdPWU7Zz0rcFthKzQ0MD4+M107aD1oKmc7cFth
KzQ5Nj4+M109aDtwW2ErNTIwPj4zXT1sKi4wMTM4ODg4ODg4ODg4ODg4ODg7ZD1hKzUyOHwwO3Bb
ZD4+M109ZyouMDEzODg4ODg4ODg4ODg4ODg4O2lmKGZbNDgzMzFdfGkmNDA5NnwwKXBbZD4+M109
ZyotLjAxMzg4ODg4ODg4ODg4ODg4ODtkPShmW2ErMzYwPj4yXXwwKT09MDtsPSsoKGZbYSs0NDg+
PjJdfDApPj4+MCk7Zz0rKChmW2ErNDUyPj4yXXwwKT4+PjApO3BbYSszNjg+PjNdPShkP2w6Zykv
ZTtwW2ErMzc2Pj4zXT0oZD9nOmwpL2g7bFAoYSxXTChjLHd4KGMsMCwxMDk4NDgsMCl8MCwxOTQ4
NzApfDApO2ZbYSsxNjA+PjJdPTA7bkYoYSxjKTtpZihpJjJ8MClvRihhLGMpO2Q9JHkoYyl8MDt3
aGlsZSgxKXtpZighZClicmVhaztiWyhmW2QrMTY+PjJdfDApKzExNj4+MF09MDtkPWF6KGMsZCl8
MH1wRihhLGopO3doaWxlKDEpe2lmKCEoKHFGKGEpfDApPDwyND4+MjQpKWJyZWFrO2lmKChyRihh
KXwwKT4xKU1PKGEpO3NGKGEpO3doaWxlKDEpe2lmKCEoKHRGKGEpfDApPDwyND4+MjQpKWJyZWFr
O3VGKGEsYyk7dkYoYSl9aWYoKHJGKGEpfDApPjEpTk8oYSk7d0YoYSxqKX14RihhKTt0PWs7cmV0
dXJufWZ1bmN0aW9uIG5GKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtjPVdFKGEpfDA7ZltjKzQ+
PjJdPTA7ZltjKzg+PjJdPWI7ZltjKzEyPj4yXT0wO3dHKGEsZlsoZltiKzE2Pj4yXXwwKSsxMj4+
Ml18MCxiKTtJTyhhLGIpO3JldHVybn1mdW5jdGlvbiBvRihhLGMpe2E9YXwwO2M9Y3wwO3ZhciBk
PTAsZT0wLGY9MCxnPTA7ZFAoYSwxNDMwNzApO2Q9R3goYywxNDgxMTIpfDA7aWYoZHwwP2JbZD4+
MF18MDowKWRQKGEsZCk7ZD1HeChjLDEwOTc3Mil8MDtpZihkfDA/YltkPj4wXXwwOjApYlAoYSxk
KTtJRyhhLGMpO2c9JHkoYyl8MDt3aGlsZSgxKXtpZighZylicmVhaztkPUd4KGcsMTQ3OTU4KXww
O2lmKGR8MD9iW2Q+PjBdfDA6MCliUChhLGQpO2Q9R3goZywxNDU5OTkpfDA7aWYoZHwwP2JbZD4+
MF18MDowKWRQKGEsZCk7ZD1HeChnLDEwOTc0NCl8MDtkbyBpZihkfDA/YltkPj4wXXwwOjApe2lm
KCEoeDEoZCw1OCl8MCkpe2JQKGEsZCk7YnJlYWt9ZT12MihkKXwwO2Q9ZTt3aGlsZSgxKXtkPWQz
KGQsMTE2MzEwKXwwO2lmKCFkKWJyZWFrO2lmKGJbZD4+MF18MCliUChhLGQpO2Q9MH1NXyhlKX13
aGlsZSgwKTtkPUd4KGcsMTA5NzcyKXwwO2lmKGR8MD9iW2Q+PjBdfDA6MCliUChhLGQpO2Y9Tngo
YyxnKXwwO3doaWxlKDEpe2lmKCFmKWJyZWFrO2Q9R3goZiwxNDc5NTgpfDA7ZG8gaWYoZHwwP2Jb
ZD4+MF18MDowKXtpZighKHgxKGQsNTgpfDApKXtiUChhLGQpO2JyZWFrfWU9djIoZCl8MDtkPWU7
d2hpbGUoMSl7ZD1kMyhkLDExNjMxMCl8MDtpZighZClicmVhaztpZihiW2Q+PjBdfDApYlAoYSxk
KTtkPTB9TV8oZSl9d2hpbGUoMCk7ZD1HeChmLDEwOTc3Mil8MDtpZihkfDA/YltkPj4wXXwwOjAp
YlAoYSxkKTtmPVB4KGMsZil8MH1nPWF6KGMsZyl8MH1yZXR1cm59ZnVuY3Rpb24gcEYoYSxiKXth
PWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTA7aT10O3Q9dCsxNnwwO2Q9aSs4
fDA7Zz1pO2g9ZlthPj4yXXwwO2M9ZltoKzMxMj4+Ml18MDtlPWErMTU2fDA7ZltlPj4yXT1jO2g9
ZltoKzMxNj4+Ml18MDtpZighaClpZigoY3wwKT4xPyhmW2ErMTUyPj4yXSY2NHwwKT09MDowKXtm
W2Q+PjJdPWZbYSs1Mj4+Ml07WXcoMCwxMDg4OTMsZCl8MDtmW2U+PjJdPTE7ZD0xO2M9MH1lbHNl
e2Q9MTtjPTB9ZWxzZXtjPWgrNHwwO2lmKChmW2g+PjJdfDApPjE/KGZbYSsxNTI+PjJdJjY0fDAp
PT0wOjApe2ZbZz4+Ml09ZlthKzUyPj4yXTtZdygwLDEwODg5MyxnKXwwO2ZbaCs4Pj4yXT0oZltl
Pj4yXXwwKSsxfWQ9ZltjPj4yXXwwO2M9aCs4fDB9ZlthKzE2MD4+Ml09ZDtmW2I+PjJdPWM7dD1p
O3JldHVybn1mdW5jdGlvbiBxRihhKXthPWF8MDtyZXR1cm4gKGZbYSsxNjA+PjJdfDApPD0oZlth
KzE1Nj4+Ml18MCl8MH1mdW5jdGlvbiByRihhKXthPWF8MDt2YXIgYj0wO2I9ZlsoZlthPj4yXXww
KSszMTY+PjJdfDA7cmV0dXJuIGZbKChifDApPT0wP2ErMTU2fDA6Yik+PjJdfDB9ZnVuY3Rpb24g
c0YoYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yz1hKzE3MnwwO2I9ZltjKzQ+PjJdfDA7YT1hKzE5Nnww
O2ZbYT4+Ml09ZltjPj4yXTtmW2ErND4+Ml09YjtyZXR1cm59ZnVuY3Rpb24gdEYoYSl7YT1hfDA7
dmFyIGI9MCxjPTA7Yz1mW2ErMTk2Pj4yXXwwO2lmKCgoY3wwKT4tMT8oY3wwKTwoZlthKzE2ND4+
Ml18MCk6MCk/KGI9ZlthKzIwMD4+Ml18MCwoYnwwKT4tMSk6MClhPShifDApPChmW2ErMTY4Pj4y
XXwwKSYxO2Vsc2UgYT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gdUYoYSxjKXthPWF8MDtjPWN8MDt2
YXIgZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MDtvPXQ7dD10KzE3
NnwwO2s9bysxMjh8MDtlPW87bD1vKzE2MHwwO209ZlthKzE2Pj4yXXwwO249ZlthKzE1Mj4+Ml18
MDtpZigoZlthKzE2MD4+Ml18MCk8PTE/KGZbYSsxOTY+PjJdfDApPD0wOjApaD0wO2Vsc2V7YXgo
bCwxMjgsZSk7Zz1tKzIxMnwwO2g9ZltnPj4yXXwwO19FKGEsbCk7ZHgobCxoKXwwO2k9bCs0fDA7
ZT1mW2k+PjJdfDA7aWYoZT4+PjA+PShmW2wrOD4+Ml18MCk+Pj4wKXtieChsLDEpfDA7ZT1mW2k+
PjJdfDB9YltlPj4wXT0wO2U9ZltsPj4yXXwwO2ZbaT4+Ml09ZTtmW2c+PjJdPWV9elEoR3goYywx
MDgzNTgpfDApO3pGKGEpO0tPKGEpO2JQKGEsMTQ1NTg0KTtkUChhLDE0MzA3MCk7ZG8gaWYobiY0
MjU5ODQwfDApe2lmKChmW20rMjA4Pj4yXXwwKT09MD8oZFttKzI2MD4+MV0mMSk9PTA6MClicmVh
aztpZihuJjY1NTM2MCl7aT1uJjEzMTA3MjtmW20rMjY0Pj4yXT1pPj4+MTZeMjtlPURIKChpPj4+
MTJeMzIpKzMyfDApfDA7Zz1hKzI4OHwwO2ZbZT4+Ml09ZltnPj4yXTtmW2UrND4+Ml09ZltnKzQ+
PjJdO2ZbZSs4Pj4yXT1mW2crOD4+Ml07ZltlKzEyPj4yXT1mW2crMTI+PjJdO2c9ZSsxNnwwO3A9
YSszMDR8MDtmW2c+PjJdPWZbcD4+Ml07ZltnKzQ+PjJdPWZbcCs0Pj4yXTtmW2crOD4+Ml09Zltw
Kzg+PjJdO2ZbZysxMj4+Ml09ZltwKzEyPj4yXTtpZighaSl7ZEgoZSk7Zz00fWVsc2UgZz0yfWVs
c2V7ZT0wO2c9MH1pZighKG4mODE5MikpSE8oYSxlLGUsZyl8MDtmW20rMjcyPj4yXT1lO2ZbbSsy
Njg+PjJdPWd9d2hpbGUoMCk7aWYobiYzMjc2OHwwPyhqPWZbKGZbYysxNj4+Ml18MCkrMTI+PjJd
fDAsanwwKTowKWZbbSsxOTI+PjJdPWZbaj4+Ml07Zz0obiY0fDApIT0wO2RvIGlmKCFnKXtlPW0r
MjA4fDA7aWYoKGZbZT4+Ml18MCk9PTA/KGRbbSsyNjA+PjFdJjEpPT0wOjApYnJlYWs7cD1hKzI1
NnwwO2Zbaz4+Ml09ZltwPj4yXTtmW2srND4+Ml09ZltwKzQ+PjJdO2Zbays4Pj4yXT1mW3ArOD4+
Ml07ZltrKzEyPj4yXT1mW3ArMTI+PjJdO2ZbaysxNj4+Ml09ZltwKzE2Pj4yXTtmW2srMjA+PjJd
PWZbcCsyMD4+Ml07ZltrKzI0Pj4yXT1mW3ArMjQ+PjJdO2ZbaysyOD4+Ml09ZltwKzI4Pj4yXTtl
RihhLGspO1lPKGEsZltlPj4yXXwwLGZbbSsyMjg+PjJdfDAsZlttKzI0ND4+Ml18MCxmW20rMjEy
Pj4yXXwwKX13aGlsZSgwKTtBRihhLGMpO2U9ZlsoZltjKzE2Pj4yXXwwKSsxMj4+Ml18MDtpZihl
fDApeEgoYSw0LGUpO2RvIGlmKCFnKXtpZigoZlttKzIwOD4+Ml18MCk9PTA/KGRbbSsyNjA+PjFd
JjEpPT0wOjApYnJlYWs7Wk8oYSl9d2hpbGUoMCk7QkYoYSxjLG4pO0xPKGEpO2lmKGh8MCl7ZXgo
bCk7ZlttKzIxMj4+Ml09aH10PW87cmV0dXJufWZ1bmN0aW9uIHZGKGEpe2E9YXwwO3ZhciBiPTAs
Yz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wO2g9dDt0PXQrMzJ8MDtjPWgrMjR8MDtiPWgrMTZ8
MDtqPWgrOHwwO2U9aDtnPWErMTk2fDA7aT1hKzE4OHwwO2ZbYj4+Ml09ZltnPj4yXTtmW2IrND4+
Ml09ZltnKzQ+PjJdO2ZbYz4+Ml09ZltpPj4yXTtmW2MrND4+Ml09ZltpKzQ+PjJdO3lGKGosYixj
KTtpPWZbais0Pj4yXXwwO2Q9ZztmW2Q+PjJdPWZbaj4+Ml07ZltkKzQ+PjJdPWk7aWYoISgodEYo
YSl8MCk8PDI0Pj4yNCkpe2Q9YSsxODB8MDtpZighKGZbYSsxODQ+PjJdfDApKWZbYSsyMDA+PjJd
PWZbYSsxNzY+PjJdO2Vsc2UgZltnPj4yXT1mW2ErMTcyPj4yXTtmW2I+PjJdPWZbZz4+Ml07Zlti
KzQ+PjJdPWZbZys0Pj4yXTtmW2M+PjJdPWZbZD4+Ml07ZltjKzQ+PjJdPWZbZCs0Pj4yXTt5Rihl
LGIsYyk7aT1mW2UrND4+Ml18MDtqPWc7ZltqPj4yXT1mW2U+PjJdO2Zbais0Pj4yXT1pfXQ9aDty
ZXR1cm59ZnVuY3Rpb24gd0YoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wO2M9ZltiPj4yXXwwO2lm
KCFjKXtjPWErMTYwfDA7ZltjPj4yXT0oZltjPj4yXXwwKSsxfWVsc2V7ZlthKzE2MD4+Ml09Zltj
Pj4yXTtmW2I+PjJdPWMrNH1yZXR1cm59ZnVuY3Rpb24geEYoYSl7YT1hfDA7Sk8oYSk7WEUoYSk7
cmV0dXJufWZ1bmN0aW9uIHlGKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wO2Q9KGZb
Yys0Pj4yXXwwKSsoZltiKzQ+PjJdfDApfDA7ZlthPj4yXT0oZltjPj4yXXwwKSsoZltiPj4yXXww
KTtmW2ErND4+Ml09ZDtyZXR1cm59ZnVuY3Rpb24gekYoYSl7YT1hfDA7dmFyIGI9MC4wLGM9MCxk
PTAsZT0wLGc9MC4wLGg9MC4wLGk9MC4wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MC4wLHI9
MC4wLHM9MCx1PTA7dT10O3Q9dCs0OHwwO249dSszMnwwO2U9dSsyNHwwO2s9dSs4fDA7bD11KzE2
fDA7bT11O2Q9YSsxOTZ8MDtjPWZbZD4+Ml18MDtkPWZbZCs0Pj4yXXwwO289ZTtmW28+PjJdPWM7
ZltvKzQ+PjJdPWQ7bz1hKzE2NHwwO2o9ZltvPj4yXXwwO289ZltvKzQ+PjJdfDA7cz1rO2Zbcz4+
Ml09ajtmW3MrND4+Ml09bztzPWErMzYwfDA7aWYoZltzPj4yXXwwKXtmW24+PjJdPWZbZT4+Ml07
ZltuKzQ+PjJdPWZbZSs0Pj4yXTtIRyhsLG4pO2Q9bDtjPWZbZD4+Ml18MDtkPWZbZCs0Pj4yXXww
O289ZTtmW28+PjJdPWM7ZltvKzQ+PjJdPWQ7ZltuPj4yXT1mW2s+PjJdO2Zbbis0Pj4yXT1mW2sr
ND4+Ml07SEcobSxuKTtvPW07aj1mW28+PjJdfDA7bz1mW28rND4+Ml18MDtuPWs7ZltuPj4yXT1q
O2Zbbis0Pj4yXT1vfWc9KyhjfDApO2k9K3BbYSszMjA+PjNdO2g9aSpnLStwW2ErMjQwPj4zXTtw
W2ErMjg4Pj4zXT1oO2I9KyhkfDApO3I9K3BbYSszMjg+PjNdO3E9cipiLStwW2ErMjQ4Pj4zXTtw
W2ErMjk2Pj4zXT1xO3BbYSszMDQ+PjNdPWgraTtwW2ErMzEyPj4zXT1xK3I7Yz1hKzQ3MnwwO2lm
KCEoZlsoZlthKzEyPj4yXXwwKSsyOD4+Ml18MCkpe249YSs0NTZ8MDtmW2M+PjJdPWZbbj4+Ml07
ZltjKzQ+PjJdPWZbbis0Pj4yXTtmW2MrOD4+Ml09ZltuKzg+PjJdO2ZbYysxMj4+Ml09ZltuKzEy
Pj4yXX1lbHNle2w9ZltjPj4yXXwwO249ZlthKzQ1Nj4+Ml18MDtmW2M+PjJdPShsfDApPChufDAp
P2w6bjtuPWErNDc2fDA7bD1mW24+PjJdfDA7bT1mW2ErNDYwPj4yXXwwO2Zbbj4+Ml09KGx8MCk8
KG18MCk/bDptO249YSs0ODB8MDttPWZbbj4+Ml18MDtsPWZbYSs0NjQ+PjJdfDA7ZltuPj4yXT0o
bXwwKT4obHwwKT9tOmw7bj1hKzQ4NHwwO2w9ZltuPj4yXXwwO209ZlthKzQ2OD4+Ml18MDtmW24+
PjJdPShsfDApPihtfDApP2w6bX1lPWZbYSsxNTI+PjJdfDA7aD0rcFthKzMzNj4+M107aWYoIShl
JjEyOCkpe2g9KGctKyhqfDApKi41KSppK2g7Yj0oYi0rKG98MCkqLjUpKnIrICtwW2ErMzQ0Pj4z
XTtxPWg7Zz1iO2g9aCtpO2k9YityfWVsc2V7Yj0rcFthKzM2OD4+M10qLjU7aT0rcFthKzM0ND4+
M107cj0rcFthKzM3Nj4+M10qLjU7cT1oLWI7Zz1pLXI7aD1iK2g7aT1yK2l9cFthKzI1Nj4+M109
cTtwW2ErMjY0Pj4zXT1nO3BbYSsyNzI+PjNdPWg7cFthKzI4MD4+M109aTtkbyBpZighKGZbcz4+
Ml18MCkpe2I9K3BbYSszNTI+PjNdO3BbYSs1MDQ+PjNdPStwW2ErMzg0Pj4zXS9iLXE7aWYoIShm
WzQ4MzMxXXxlJjQwOTYpKXtwW2ErNTEyPj4zXT0rcFthKzM5Mj4+M10vYi1nO2JyZWFrfWVsc2V7
cFthKzUxMj4+M109LWktK3BbYSszOTI+PjNdL2I7YnJlYWt9fWVsc2V7Yz1hKzM4NHwwO2I9K3Bb
YSszNTI+PjNdO2Q9YSs1MDR8MDtwW2ErNTEyPj4zXT0taS0rcFthKzM5Mj4+M10vYjtpZighKGZb
NDgzMzFdfGUmNDA5Nikpe3BbZD4+M109K3BbYz4+M10vYi1xO2JyZWFrfWVsc2V7cFtkPj4zXT0t
aC0rcFtjPj4zXS9iO2JyZWFrfX13aGlsZSgwKTt0PXU7cmV0dXJufWZ1bmN0aW9uIEFGKGEsYyl7
YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAuMCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbz0w
LHA9MCxxPTAscj0wO3I9dDt0PXQrNDh8MDtwPXI7bT1yKzQwfDA7bz1yKzM2fDA7cT1yKzMyfDA7
ZD1HeChjLDE0ODExMil8MDtpZighZCl7aT0xO2Q9MTQ1NDY4fWVsc2V7aD0oYltkPj4wXXwwKT09
MDtpPWgmMTtkPWg/MTQ1NDY4OmR9Zz1mW2ErMTUyPj4yXXwwO2g9KGJbZD4+MF18MCk9PTExNjtp
ZighKGcmMjU2KSlpZihoKXtrPShIJChkLDE0NTY0OSl8MCk9PTA7aj1rPzE0NTQ2ODpkO2s9az8x
Omk7bD04fWVsc2V7aj1kO2s9aTtsPTh9ZWxzZSBpZighKGg/IShIJChkLDE0NTY0OSl8MCk6MCkp
e2o9ZDtrPWk7bD04fWlmKChsfDApPT04PyEoKGcmMzM1NTQ0MzJ8MCkhPTAmKGt8MCkhPTApOjAp
aWYoISgoREcoaixtLG8pfDApPDwyND4+MjQpKXtkUChhLGopO2JQKGEsMTQ1NjQ5KTtxPWErMjU2
fDA7ZltwPj4yXT1mW3E+PjJdO2ZbcCs0Pj4yXT1mW3ErND4+Ml07ZltwKzg+PjJdPWZbcSs4Pj4y
XTtmW3ArMTI+PjJdPWZbcSsxMj4+Ml07ZltwKzE2Pj4yXT1mW3ErMTY+PjJdO2ZbcCsyMD4+Ml09
ZltxKzIwPj4yXTtmW3ArMjQ+PjJdPWZbcSsyND4+Ml07ZltwKzI4Pj4yXT1mW3ErMjg+PjJdO2lQ
KGEscCwxKX1lbHNle2ZbcT4+Ml09MDtoPWZbbT4+Ml18MDtkUChhLGgpO2JQKGEsMTQ1NjQ5KTtD
RyhjLHEpfDA7ZD1mW20rND4+Ml18MDtnPVRMKGMsZls0ODMzNV18MCwwLDApfDA7ZT0rbltvPj4y
XTtpZighZCllUChhLDE0NTU4NCxnLGUpO2Vsc2UgZVAoYSxkLGcsZSk7cT0oZltxPj4yXXwwKT4+
PjEmMXwyO289YSsyNTZ8MDtmW3A+PjJdPWZbbz4+Ml07ZltwKzQ+PjJdPWZbbys0Pj4yXTtmW3Ar
OD4+Ml09ZltvKzg+PjJdO2ZbcCsxMj4+Ml09ZltvKzEyPj4yXTtmW3ArMTY+PjJdPWZbbysxNj4+
Ml07ZltwKzIwPj4yXT1mW28rMjA+PjJdO2ZbcCsyND4+Ml09ZltvKzI0Pj4yXTtmW3ArMjg+PjJd
PWZbbysyOD4+Ml07aVAoYSxwLHEpO01fKGgpfWQ9ZlsoZlsoZltjKzE2Pj4yXXwwKSs4Pj4yXXww
KSs4OD4+Ml18MDtpZihkfDApRkcoYSxkKTt0PXI7cmV0dXJufWZ1bmN0aW9uIEJGKGEsYixjKXth
PWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTA7Zz0oZlthPj4yXXwwKSsyOHwwO2ZbZz4+
Ml09KGZbZz4+Ml18MCkrMTtnPShjJjR8MCkhPTA7aWYoIWcpQ0YoYSxiLGMpO2E6ZG8gaWYoIShj
JjEpKXtpZihjJjE2fDApe1NPKGEpO2U9JHkoYil8MDt3aGlsZSgxKXtpZighZSlicmVhaztkPU54
KGIsZSl8MDt3aGlsZSgxKXtpZighZClicmVhaztFRihhLGQpO2Q9UHgoYixkKXwwfWU9YXooYixl
KXwwfVRPKGEpO1FPKGEpO2Q9JHkoYil8MDt3aGlsZSgxKXtpZighZClicmVhaztERihhLGQpO2Q9
YXooYixkKXwwfVJPKGEpO2JyZWFrfWlmKCEoYyY4KSl7ZT0keShiKXwwO3doaWxlKDEpe2lmKCFl
KWJyZWFrIGE7REYoYSxlKTtkPU54KGIsZSl8MDt3aGlsZSgxKXtpZighZClicmVhaztERihhLGZb
KChmW2Q+PjJdJjN8MCk9PTI/ZDpkKy00OHwwKSs0MD4+Ml18MCk7RUYoYSxkKTtkPVB4KGIsZCl8
MH1lPWF6KGIsZSl8MH19UU8oYSk7ZD0keShiKXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrO2lmKChG
RihiLGQpfDApPDwyND4+MjQpREYoYSxkKTtkPWF6KGIsZCl8MH1STyhhKTtTTyhhKTtlPSR5KGIp
fDA7d2hpbGUoMSl7aWYoIWUpYnJlYWs7ZD1OeChiLGUpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7
aWYoKEdGKGIsZCl8MCk8PDI0Pj4yNClFRihhLGQpO2Q9UHgoYixkKXwwfWU9YXooYixlKXwwfVRP
KGEpfWVsc2V7UU8oYSk7ZD0keShiKXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrO0RGKGEsZCk7ZD1h
eihiLGQpfDB9Uk8oYSk7U08oYSk7ZT0keShiKXwwO3doaWxlKDEpe2lmKCFlKWJyZWFrO2Q9Tngo
YixlKXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrO0VGKGEsZCk7ZD1QeChiLGQpfDB9ZT1heihiLGUp
fDB9VE8oYSl9d2hpbGUoMCk7aWYoZylDRihhLGIsYyk7cmV0dXJufWZ1bmN0aW9uIENGKGEsYyxl
KXthPWF8MDtjPWN8MDtlPWV8MDt2YXIgZz0wLGk9MCxqPTAsaz0wLjAsbD0wLG09MCxvPTAscT0w
LHI9MCxzPTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAs
Rz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MDtQPXQ7dD10KzEyOHww
O3c9UCs3MnwwO049UCs2NHwwO0g9UCsxMTJ8MDtJPVA7Sj1QKzEwNHwwO0s9YysxNnwwO0w9KGUm
NHwwKSE9MDtNPWErMTZ8MDt4PUorNHwwO3k9SSszMnwwO0E9SSsxNnwwO0I9SSs4fDA7Qz1JKzI0
fDA7RD1JKzQ4fDA7RT1JKzQwfDA7Rj1JKzU2fDA7Rz0oZSY4fDApPT0wO3Y9MTt3aGlsZSgxKXtn
PWZbSz4+Ml18MDtpZigodnwwKT4oZltnKzE4MD4+Ml18MCkpYnJlYWs7dT1mWyhmW2crMTg0Pj4y
XXwwKSsodjw8Mik+PjJdfDA7aWYoKEFHKGEsdSl8MCk8PDI0Pj4yNCl7aWYoTClDRihhLHUsZSk7
QkcoYSx1KTtxPWZbTT4+Ml18MDtyPXErMjA4fDA7aWYoIShmW3I+PjJdfDApKXM9KGRbcSsyNjA+
PjFdJjEpIT0wO2Vsc2Ugcz0xO3pRKEd4KHUsMTA4MzU4KXwwKTtpZighKEx8c14xKSl7bz0oZlt1
KzE2Pj4yXXwwKSsxNnwwO2Zbdz4+Ml09ZltvPj4yXTtmW3crND4+Ml09ZltvKzQ+PjJdO2Zbdys4
Pj4yXT1mW28rOD4+Ml07Zlt3KzEyPj4yXT1mW28rMTI+PjJdO2ZbdysxNj4+Ml09ZltvKzE2Pj4y
XTtmW3crMjA+PjJdPWZbbysyMD4+Ml07Zlt3KzI0Pj4yXT1mW28rMjQ+PjJdO2ZbdysyOD4+Ml09
ZltvKzI4Pj4yXTtlRihhLHcpO1lPKGEsZltyPj4yXXwwLGZbcSsyMjg+PjJdfDAsZltxKzI0ND4+
Ml18MCxmW3ErMjEyPj4yXXwwKX1mW0g+PjJdPTA7Zz1DRyh1LEgpfDA7aWYoIWcpbT0wO2Vsc2V7
ZlAoYSxnKTttPWZbSD4+Ml0mMX1vPXUrMTZ8MDtnPWhbKGZbbz4+Ml18MCkrMTEyPj4wXXwwO2Rv
IGlmKCEoZyYxKSl7aWYoZyYyfDApe2k9WEwodSwwLDExNDU4Mil8MDtnPVhMKHUsMCwxMTQ1OTAp
fDA7Tz0yOTticmVha31pZihnJjh8MCl7aT1YTCh1LDAsMTE0NTk4KXwwO2c9WEwodSwwLDExNDYw
Nil8MDtPPTI5O2JyZWFrfWlmKGcmNHwwKXtpPVhMKHUsMCwxMTQ2MTQpfDA7Zz1YTCh1LDAsMTE0
NjIyKXwwO089Mjk7YnJlYWt9Zz1HeCh1LDE0Nzk1OCl8MDtpZighZylnPTA7ZWxzZSBnPShiW2c+
PjBdfDApPT0wPzA6ZztpPUd4KHUsMTQ1OTk5KXwwO2lmKCFpKWk9ZztlbHNlIGk9KGJbaT4+MF18
MCk9PTA/ZzppO2o9R3godSwxMDk3NDQpfDA7aWYoailnPShiW2o+PjBdfDApPT0wP2c6ajtpZigh
KChtfDApIT0wJihnfDApIT0wKSl7aj1HeCh1LDE0ODExMil8MDtpZihqfDA/YltqPj4wXXwwOjAp
e2c9ajtPPTI5O2JyZWFrfWw9KGl8MCk9PTA/MTQ1NTg0Omk7aT0oZ3wwKT09MD8xNDMwNzA6Zztm
W0o+PjJdPTA7aWYoIW0pZz0wO2Vsc2V7aj1pO089MzF9fWVsc2UgTz0yOX1lbHNle2k9WEwodSww
LDExNDU2Nil8MDtnPVhMKHUsMCwxMTQ1NzQpfDA7Tz0yOX13aGlsZSgwKTtpZigoT3wwKT09Mjkp
e2ZbSj4+Ml09MDtqPShnfDApPT0wPzE0MzA3MDpnO2w9KGl8MCk9PTA/MTQ1NTg0Omk7Tz0zMX1p
ZigoT3wwKT09MzEpe089MDtpZighKChERyhqLEosdyl8MCk8PDI0Pj4yNCkpe2RQKGEsaik7Zz0x
fWVsc2V7ZFAoYSxmW0o+PjJdfDApO2c9Zlt4Pj4yXXwwO2k9VEwodSxmWzQ4MzM1XXwwLDAsMCl8
MDtrPStuW3c+PjJdO2lmKCFnKWVQKGEsMTQ1NTg0LGksayk7ZWxzZSBlUChhLGcsaSxrKTtnPShm
W0g+PjJdfDApPj4+MSYxfDJ9aT1qfWo9Zls0ODMzNF18MDtpZigoanwwPyh6PUh4KHUsail8MCx6
fDApOjApP2Jbej4+MF18MDowKW9QKGEsK1VMKHUsZls0ODMzNF18MCwxLjAsMC4wKSk7aj1mW0g+
PjJdfDA7ZG8gaWYoaiY0KXtpPVRMKHUsZls0ODMzM118MCwxLDApfDA7aWYoaXxnfDApe209Zltv
Pj4yXXwwO1E9bSsxNnwwO2ZbST4+Ml09ZltRPj4yXTtmW0krND4+Ml09ZltRKzQ+PjJdO2ZbSSs4
Pj4yXT1mW1ErOD4+Ml07ZltJKzEyPj4yXT1mW1ErMTI+PjJdO209bSszMnwwO2ZbeT4+Ml09Zltt
Pj4yXTtmW3krND4+Ml09ZlttKzQ+PjJdO2ZbeSs4Pj4yXT1mW20rOD4+Ml07Zlt5KzEyPj4yXT1m
W20rMTI+PjJdO3BbQT4+M109K3BbeT4+M107cFtDPj4zXT0rcFtCPj4zXTtwW0Q+PjNdPStwW0k+
PjNdO3BbRj4+M109K3BbRT4+M107aWYoIWkpYlAoYSwxNDU2NDkpO2Vsc2UgYlAoYSxsKTtOSihh
LEksNCxqLGcpfX1lbHNle2lmKCEoaiY2NCkpe2lmKFRMKHUsZls0ODMzM118MCwxLDApfDApe2JQ
KGEsbCk7UT0oZltvPj4yXXwwKSsxNnwwO2Zbdz4+Ml09ZltRPj4yXTtmW3crND4+Ml09ZltRKzQ+
PjJdO2Zbdys4Pj4yXT1mW1ErOD4+Ml07Zlt3KzEyPj4yXT1mW1ErMTI+PjJdO2ZbdysxNj4+Ml09
ZltRKzE2Pj4yXTtmW3crMjA+PjJdPWZbUSsyMD4+Ml07Zlt3KzI0Pj4yXT1mW1ErMjQ+PjJdO2Zb
dysyOD4+Ml09ZltRKzI4Pj4yXTtpUChhLHcsZyk7YnJlYWt9aWYoIWcpYnJlYWs7YlAoYSwxNDU2
NDkpO1E9KGZbbz4+Ml18MCkrMTZ8MDtmW3c+PjJdPWZbUT4+Ml07Zlt3KzQ+PjJdPWZbUSs0Pj4y
XTtmW3crOD4+Ml09ZltRKzg+PjJdO2ZbdysxMj4+Ml09ZltRKzEyPj4yXTtmW3crMTY+PjJdPWZb
USsxNj4+Ml07Zlt3KzIwPj4yXT1mW1ErMjA+PjJdO2ZbdysyND4+Ml09ZltRKzI0Pj4yXTtmW3cr
Mjg+PjJdPWZbUSsyOD4+Ml07aVAoYSx3LGcpO2JyZWFrfVE9ZltvPj4yXXwwO209USsxNnwwO2Zb
ST4+Ml09ZlttPj4yXTtmW0krND4+Ml09ZlttKzQ+PjJdO2ZbSSs4Pj4yXT1mW20rOD4+Ml07ZltJ
KzEyPj4yXT1mW20rMTI+PjJdO1E9USszMnwwO2ZbeT4+Ml09ZltRPj4yXTtmW3krND4+Ml09ZltR
KzQ+PjJdO2ZbeSs4Pj4yXT1mW1ErOD4+Ml07Zlt5KzEyPj4yXT1mW1ErMTI+PjJdO3BbQT4+M109
K3BbeT4+M107cFtDPj4zXT0rcFtCPj4zXTtwW0Q+PjNdPStwW0k+PjNdO3BbRj4+M109K3BbRT4+
M107aWYoIShUTCh1LGZbNDgzMzNdfDAsMSwwKXwwKSliUChhLDE0NTY0OSk7ZWxzZSBiUChhLGwp
O2lmKChkRihhLEksaSwwKXwwKT4xKXtRPUF5KHUpfDA7ZltOPj4yXT1RO1l3KDMsMTA4NzI2LE4p
fDB9UT0oZltvPj4yXXwwKSsxNnwwO2Zbdz4+Ml09ZltRPj4yXTtmW3crND4+Ml09ZltRKzQ+PjJd
O2Zbdys4Pj4yXT1mW1ErOD4+Ml07Zlt3KzEyPj4yXT1mW1ErMTI+PjJdO2ZbdysxNj4+Ml09ZltR
KzE2Pj4yXTtmW3crMjA+PjJdPWZbUSsyMD4+Ml07Zlt3KzI0Pj4yXT1mW1ErMjQ+PjJdO2Zbdysy
OD4+Ml09ZltRKzI4Pj4yXTtpUChhLHcsMCl9d2hpbGUoMCk7TV8oZltKPj4yXXwwKTtnPWZbKGZb
bz4+Ml18MCkrMTI+PjJdfDA7aWYoZ3wwKXhIKGEsNSxnKTtpZihzKXtpZihMKXtRPShmW28+PjJd
fDApKzE2fDA7Zlt3Pj4yXT1mW1E+PjJdO2Zbdys0Pj4yXT1mW1ErND4+Ml07Zlt3Kzg+PjJdPWZb
USs4Pj4yXTtmW3crMTI+PjJdPWZbUSsxMj4+Ml07Zlt3KzE2Pj4yXT1mW1ErMTY+PjJdO2Zbdysy
MD4+Ml09ZltRKzIwPj4yXTtmW3crMjQ+PjJdPWZbUSsyND4+Ml07Zlt3KzI4Pj4yXT1mW1ErMjg+
PjJdO2VGKGEsdyk7WU8oYSxmW3I+PjJdfDAsZltxKzIyOD4+Ml18MCxmW3ErMjQ0Pj4yXXwwLGZb
cSsyMTI+PjJdfDApfVpPKGEpfWE6ZG8gaWYoIUcpe2k9JHkodSl8MDt3aGlsZSgxKXtpZighaSli
cmVhayBhO0RGKGEsaSk7Zz1OeCh1LGkpfDA7d2hpbGUoMSl7aWYoIWcpYnJlYWs7RUYoYSxnKTtn
PVB4KHUsZyl8MH1pPWF6KHUsaSl8MH19d2hpbGUoMCk7RUcoYSxjKTtpZighTClDRihhLHUsZSl9
dj12KzF8MH10PVA7cmV0dXJufWZ1bmN0aW9uIERGKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxl
PTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtqPXQ7dD10KzMyfDA7ZD1qO2g9ZlthPj4yXXwwO2k9Yysx
NnwwO2E6ZG8gaWYoKChmWyhmW2k+PjJdfDApKzg+PjJdfDA/KHNHKGEsbnooYyl8MCxjKXwwKTw8
MjQ+PjI0OjApPyhrPWErMjU2fDAsZltkPj4yXT1mW2s+PjJdLGZbZCs0Pj4yXT1mW2srND4+Ml0s
ZltkKzg+PjJdPWZbays4Pj4yXSxmW2QrMTI+PjJdPWZbaysxMj4+Ml0sZltkKzE2Pj4yXT1mW2sr
MTY+PjJdLGZbZCsyMD4+Ml09ZltrKzIwPj4yXSxmW2QrMjQ+PjJdPWZbaysyND4+Ml0sZltkKzI4
Pj4yXT1mW2srMjg+PjJdLCh0RyhjLGQpfDApPDwyND4+MjQpOjApPyhlPShmW2k+PjJdfDApKzEx
NnwwLGc9ZltoKzI4Pj4yXXwwLChnfDApIT0oYltlPj4wXXwwKSk6MCl7YltlPj4wXT1nO2xQKGEs
QXkoYyl8MCk7ZD1XTChjLGZbNDgzNjFdfDAsMTk0ODcwKXwwO2lmKGJbZD4+MF18MClsUChhLGQp
O2Q9V0woYyxmWzQ4MzQ5XXwwLDE5NDg3MCl8MDtiOmRvIGlmKGJbZD4+MF18MCl7SkYoZCl8MDtk
PTE4ODQwMDt3aGlsZSgxKXtlPWQrNHwwO2Q9ZltkPj4yXXwwO2lmKCFkKWJyZWFrIGI7aWYoKGJb
ZD4+MF18MCk9PTEwNT8oSCQoZCwxNDI2MDUpfDApPT0wOjApYnJlYWsgYTtkPWV9fXdoaWxlKDAp
O3VHKGEsYyk7RGJbZlsoZlsoZlsoZltpPj4yXXwwKSs4Pj4yXXwwKSs0Pj4yXXwwKSsyMD4+Ml0m
NjNdKGEsYyk7ZD1mWyhmW2k+PjJdfDApKzEwOD4+Ml18MDtpZihkfDA/YltkKzgxPj4wXXwwOjAp
eEgoYSwxMCxkKTt2RyhhKX13aGlsZSgwKTt0PWo7cmV0dXJufWZ1bmN0aW9uIEVGKGEsYyl7YT1h
fDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxpPTA7aD10O3Q9dCszMnwwO2c9aDtkPWErMjU2
fDA7ZltnPj4yXT1mW2Q+PjJdO2ZbZys0Pj4yXT1mW2QrND4+Ml07ZltnKzg+PjJdPWZbZCs4Pj4y
XTtmW2crMTI+PjJdPWZbZCsxMj4+Ml07ZltnKzE2Pj4yXT1mW2QrMTY+PjJdO2ZbZysyMD4+Ml09
ZltkKzIwPj4yXTtmW2crMjQ+PjJdPWZbZCsyND4+Ml07ZltnKzI4Pj4yXT1mW2QrMjg+PjJdO2E6
ZG8gaWYoKEhGKGMsZyl8MCk8PDI0Pj4yND8oZT1jKy00OHwwLChJRihhLGMpfDApPDwyND4+MjQp
OjApe2k9Yys0OHwwO2Q9YzAoQXkoZlsoKGZbYz4+Ml0mM3wwKT09Mz9jOmkpKzQwPj4yXXwwKXww
KXwwO2Q9TF8oZCszKyhjMChBeShmWygoZltjPj4yXSYzfDApPT0yP2M6ZSkrNDA+PjJdfDApfDAp
fDApfDApfDA7dTEoZCxBeShmWygoZltjPj4yXSYzfDApPT0zP2M6aSkrNDA+PjJdfDApfDApfDA7
aT0obnkobnooZlsoKGZbYz4+Ml0mM3wwKT09Mj9jOmUpKzQwPj4yXXwwKXwwKXwwKT09MDtnPWQr
KGMwKGQpfDApfDA7aWYoaSl7YltnPj4wXT1iWzE0ODg4Ml18MDtiW2crMT4+MF09YlsxNDg4ODNd
fDA7YltnKzI+PjBdPWJbMTQ4ODg0XXwwfWVsc2V7YltnPj4wXT1iWzE0NjAwOF18MDtiW2crMT4+
MF09YlsxNDYwMDldfDA7YltnKzI+PjBdPWJbMTQ2MDEwXXwwfXYxKGQsQXkoZlsoKGZbYz4+Ml0m
M3wwKT09Mj9jOmUpKzQwPj4yXXwwKXwwKXwwO2xQKGEsZCk7TV8oZCk7ZD1XTChjLGZbNDgzODNd
fDAsMTk0ODcwKXwwO2lmKGJbZD4+MF18MClsUChhLGQpO2Q9V0woYyxmWzQ4Mzc3XXwwLDE5NDg3
MCl8MDtiOmRvIGlmKCEoYltkPj4wXXwwKSlkPTA7ZWxzZXtKRihkKXwwO2Q9MTg4NDAwO3doaWxl
KDEpe2U9ZCs0fDA7ZD1mW2Q+PjJdfDA7aWYoIWQpe2Q9MTg4NDAwO2JyZWFrIGJ9aWYoKGJbZD4+
MF18MCk9PTEwNT8oSCQoZCwxNDI2MDUpfDApPT0wOjApYnJlYWsgYTtkPWV9fXdoaWxlKDApO0tG
KGEsYyxkKTtMRihhLGMsZCk7TUYoYSl9d2hpbGUoMCk7dD1oO3JldHVybn1mdW5jdGlvbiBGRihh
LGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wO2M9YSsxNnwwO2E9MTt3aGlsZSgxKXtkPWZbYz4+
Ml18MDtpZigoYXwwKT4oZltkKzE4MD4+Ml18MCkpe2E9MTticmVha31pZighKHh6KGZbKGZbZCsx
ODQ+PjJdfDApKyhhPDwyKT4+Ml18MCxiKXwwKSlhPWErMXwwO2Vsc2V7YT0wO2JyZWFrfX1yZXR1
cm4gYXwwfWZ1bmN0aW9uIEdGKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTA7Yz1hKzE2fDA7
YT0xO3doaWxlKDEpe2Q9ZltjPj4yXXwwO2lmKChhfDApPihmW2QrMTgwPj4yXXwwKSl7YT0xO2Jy
ZWFrfWlmKCEoeHooZlsoZltkKzE4ND4+Ml18MCkrKGE8PDIpPj4yXXwwLGIpfDApKWE9YSsxfDA7
ZWxzZXthPTA7YnJlYWt9fXJldHVybiBhfDB9ZnVuY3Rpb24gSEYoYSxjKXthPWF8MDtjPWN8MDt2
YXIgZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTA7aj10O3Q9dCs2NHwwO2k9aiszMnwwO2U9ajtnPWEr
MTZ8MDthPWZbZz4+Ml18MDtkPWZbYSs4Pj4yXXwwO2lmKChkfDApIT0wPyhkPWQrOHwwLGZbZT4+
Ml09ZltkPj4yXSxmW2UrND4+Ml09ZltkKzQ+PjJdLGZbZSs4Pj4yXT1mW2QrOD4+Ml0sZltlKzEy
Pj4yXT1mW2QrMTI+PjJdLGZbZSsxNj4+Ml09ZltkKzE2Pj4yXSxmW2UrMjA+PjJdPWZbZCsyMD4+
Ml0sZltlKzI0Pj4yXT1mW2QrMjQ+PjJdLGZbZSsyOD4+Ml09ZltkKzI4Pj4yXSxmW2k+PjJdPWZb
Yz4+Ml0sZltpKzQ+PjJdPWZbYys0Pj4yXSxmW2krOD4+Ml09ZltjKzg+PjJdLGZbaSsxMj4+Ml09
ZltjKzEyPj4yXSxmW2krMTY+PjJdPWZbYysxNj4+Ml0sZltpKzIwPj4yXT1mW2MrMjA+PjJdLGZb
aSsyND4+Ml09ZltjKzI0Pj4yXSxmW2krMjg+PjJdPWZbYysyOD4+Ml0sKHJHKGUsaSl8MCkhPTAp
OjApYT0xO2Vsc2UgaD0zO2RvIGlmKChofDApPT0zKXtkPWZbYSs5Nj4+Ml18MDtpZihkKXtmW2k+
PjJdPWZbYz4+Ml07ZltpKzQ+PjJdPWZbYys0Pj4yXTtmW2krOD4+Ml09ZltjKzg+PjJdO2ZbaSsx
Mj4+Ml09ZltjKzEyPj4yXTtmW2krMTY+PjJdPWZbYysxNj4+Ml07ZltpKzIwPj4yXT1mW2MrMjA+
PjJdO2ZbaSsyND4+Ml09ZltjKzI0Pj4yXTtmW2krMjg+PjJdPWZbYysyOD4+Ml07aWYoKGNOKGQs
aSl8MCk8PDI0Pj4yNCl7YT0xO2JyZWFrfWE9ZltnPj4yXXwwfWE9ZlthKzEwOD4+Ml18MDtpZigo
YXwwP2JbYSs4MT4+MF18MDowKT8oZltpPj4yXT1mW2M+PjJdLGZbaSs0Pj4yXT1mW2MrND4+Ml0s
ZltpKzg+PjJdPWZbYys4Pj4yXSxmW2krMTI+PjJdPWZbYysxMj4+Ml0sZltpKzE2Pj4yXT1mW2Mr
MTY+PjJdLGZbaSsyMD4+Ml09ZltjKzIwPj4yXSxmW2krMjQ+PjJdPWZbYysyND4+Ml0sZltpKzI4
Pj4yXT1mW2MrMjg+PjJdLChjTihhLGkpfDApPDwyND4+MjQpOjApe2E9MTticmVha31hPTB9d2hp
bGUoMCk7dD1qO3JldHVybiBhfDB9ZnVuY3Rpb24gSUYoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0w
LGU9MCxnPTAsaD0wO2E6ZG8gaWYoKGZbYSsxNTY+PjJdfDApPj0yPyhkPVdMKGMsZls0ODM4Ml18
MCwxOTQ4NzApfDAsKG5HKGEsZCl8MCk8PDI0Pj4yND09MCk6MClpZighKGJbZD4+MF18MCkpe2U9
Yys0OHwwO2c9YystNDh8MDtkPTA7d2hpbGUoMSl7aWYoZD4+PjA+PTIpe2Q9MDticmVhayBhfWg9
ZltjPj4yXSYzO2g9V0woZlsoKGR8MCk9PTA/KChofDApPT0zP2M6ZSk6KGh8MCk9PTI/YzpnKSs0
MD4+Ml18MCxmWzQ4MzU5XXwwLDE5NDg3MCl8MDtpZighKGJbaD4+MF18MCkpe2Q9MTticmVhayBh
fWlmKCEoKG5HKGEsaCl8MCk8PDI0Pj4yNCkpZD1kKzF8MDtlbHNle2Q9MTticmVha319fWVsc2Ug
ZD0wO2Vsc2UgZD0xO3doaWxlKDApO3JldHVybiBkfDB9ZnVuY3Rpb24gSkYoYSl7YT1hfDA7dmFy
IGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wO289dDt0PXQr
MTkyfDA7bj1vKzE1MnwwO209bysxNDR8MDtsPW8rMTM2fDA7az1vKzEyOHwwO2c9bysxNzZ8MDtq
PW8rMTYwfDA7aWYoYlsxMDg2MDhdfDApe2F4KDE5MzI1NiwxMjgsMTg4NjU2KTtiWzEwODYwOF09
MH1heChqLDEyOCxvKTtmW2c+PjJdPWE7aD1qKzR8MDtpPWorOHwwO2M9MDtkPTA7YTp3aGlsZSgx
KXtlPWM7Yjp3aGlsZSgxKXtzd2l0Y2gobEcoZyxqKXwwKXtjYXNlIDA6e2M9MjI7YnJlYWsgYX1j
YXNlIDQwOntpZighKGU8PDI0Pj4yNCkpYz0xO2Vsc2V7Yz03O2JyZWFrIGF9YnJlYWt9Y2FzZSA0
MTp7aWYoIShlPDwyND4+MjQpKXtjPTEwO2JyZWFrIGF9ZWxzZSBjPTA7YnJlYWt9ZGVmYXVsdDpi
cmVhayBifWU9Y31pZighKGU8PDI0Pj4yNCkpe2lmKChkfDApPT02Myl7Yz0xMzticmVha31jPWZb
NDgzMTVdfDA7aWYoYz4+PjA+PShmWzQ4MzE2XXwwKT4+PjApe2J4KDE5MzI1NiwxKXwwO2M9Zls0
ODMxNV18MH1mWzQ4MzE1XT1jKzE7YltjPj4wXT0wO2ZbMTg4NDAwKyhkPDwyKT4+Ml09Zls0ODMx
NV07ZD1kKzF8MH1jPWZbaD4+Ml18MDtpZihjPj4+MD49KGZbaT4+Ml18MCk+Pj4wKXtieChqLDEp
fDA7Yz1mW2g+PjJdfDB9YltjPj4wXT0wO2M9ZltqPj4yXXwwO2ZbaD4+Ml09YztkeCgxOTMyNTYs
Yyl8MDtjPWZbNDgzMTVdfDA7aWYoYz4+PjA+PShmWzQ4MzE2XXwwKT4+PjApe2J4KDE5MzI1Niwx
KXwwO2M9Zls0ODMxNV18MH1mWzQ4MzE1XT1jKzE7YltjPj4wXT0wO2M9ZX1kbyBpZigoY3wwKT09
Nyl7ZltrPj4yXT1hO1l3KDEsMTA4NjA5LGspfDA7Zls0NzEwMF09MDtleChqKX1lbHNlIGlmKChj
fDApPT0xMCl7ZltsPj4yXT1hO1l3KDEsMTA4NjQzLGwpfDA7Zls0NzEwMF09MDtleChqKX1lbHNl
IGlmKChjfDApPT0xMyl7ZlttPj4yXT1hO1l3KDAsMTA4NjcxLG0pfDA7Zls0NzE2M109MDtleChq
KX1lbHNlIGlmKChjfDApPT0yMil7aWYoZTw8MjQ+PjI0KXtmW24+PjJdPWE7WXcoMSwxMDg2OTQs
bil8MDtmWzQ3MTAwXT0wO2V4KGopO2JyZWFrfWZbMTg4NDAwKyhkPDwyKT4+Ml09MDtleChqKTtj
PWZbNDgzMTVdfDA7aWYoYz4+PjA+PShmWzQ4MzE2XXwwKT4+PjApe2J4KDE5MzI1NiwxKXwwO2M9
Zls0ODMxNV18MH1iW2M+PjBdPTA7Zls0ODMxNV09Zls0ODMxNF19d2hpbGUoMCk7dD1vO3JldHVy
biAxODg0MDB9ZnVuY3Rpb24gS0YoYSxjLGUpe2E9YXwwO2M9Y3wwO2U9ZXwwO3ZhciBnPTAsaD0w
LGk9MCxrPTAuMCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MCxzPTAsdT0wLHY9MCx3PTAseD0wLHk9
MCx6PTAsQT0wO0E9dDt0PXQrMTYwfDA7eT1BKzE1MnwwO3c9QSsxNDh8MDt2PUErMTQ0fDA7bT1B
KzEyOHwwO249QTt4PWZbYSsxNTI+PjJdfDA7Zlt5Pj4yXT0wO2Zbdz4+Ml09MDtmW3Y+PjJdPTA7
ej1XRShhKXwwO2Zbeis0Pj4yXT0zO2Zbeis4Pj4yXT1jO2ZbeisxMj4+Ml09OTtzPWMrMTZ8MDts
PWZbKGZbcz4+Ml18MCkrOTY+PjJdfDA7aWYoKGx8MD8oYltsKzgyPj4wXXwwKT09MDowKT8oX0wo
R3goYywxMDg0MzEpfDAsMCl8MCk8PDI0Pj4yNDowKXtsPXorMjYwfDA7ZFtsPj4xXT1kW2w+PjFd
fDUxMn1pZihlfDA/ZlsoZltzPj4yXXwwKSs4Pj4yXXwwOjApZlAoYSxlKTtlPWZbNDgzOThdfDA7
aWYoKGV8MD8oZz1IeChjLGUpfDAsZ3wwKTowKT9iW2c+PjBdfDA6MClvUChhLCtVTChjLGZbNDgz
OThdfDAsMS4wLDAuMCkpO2RvIGlmKHgmMTY3NzcyMTZ8MCl7ZT1jKzQ4fDA7bD0obnooZlsoKGZb
Yz4+Ml0mM3wwKT09Mz9jOmUpKzQwPj4yXXwwKXwwKSsxNnwwO2lmKChqWyhmW2w+PjJdfDApKzE3
OD4+MV18MCk+Mil7az0rcFsoZlsoZlsoZlsoKGZbYz4+Ml0mM3wwKT09Mz9jOmUpKzQwPj4yXXww
KSsxNj4+Ml18MCkrMTMyPj4yXXwwKSsxNj4+M10qNzIuMDtwW3orMTc2Pj4zXT0rKH5+KGsrKGs+
PTAuMD8uNTotLjUpKXwwKTtrPStwWyhmWyhmWyhmWygoZltjPj4yXSYzfDApPT0yP2M6YystNDh8
MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsxMzI+PjJdfDApKzE2Pj4zXSo3Mi4wO3BbeisxODQ+PjNd
PSsofn4oaysoaz49MC4wPy41Oi0uNSkpfDApO2JyZWFrfWVsc2V7bD16KzE3NnwwO2ZbbD4+Ml09
MDtmW2wrND4+Ml09MDtmW2wrOD4+Ml09MDtmW2wrMTI+PjJdPTA7YnJlYWt9fXdoaWxlKDApO2lm
KHgmMzI3Njh8MCl7bD1mW3M+PjJdfDA7ZT1mW2wrOTY+PjJdfDA7aWYoIWUpZT1mW3orMTkyPj4y
XXwwO2Vsc2V7ZT1mW2U+PjJdfDA7Zlt6KzE5Mj4+Ml09ZX1nPXorMTk2fDA7ZltnPj4yXT1lO2k9
eisyMDR8MDtmW2k+PjJdPWU7aD16KzIwMHwwO2ZbaD4+Ml09ZTtlPWZbbCsxMDg+PjJdfDA7aWYo
ZXwwKWZbZz4+Ml09ZltlPj4yXTtlPWZbbCsxMDQ+PjJdfDA7aWYoZXwwKWZbaD4+Ml09ZltlPj4y
XTtlPWZbbCsxMDA+PjJdfDA7aWYoZXwwKWZbaT4+Ml09ZltlPj4yXX1pZighKHgmNjU1MzYpKWg9
MDtlbHNle2F4KG0sMTI4LG4pO2U9eUgoWkUoYSxjLG0pfDAsYyl8MDtmW3orMjEyPj4yXT1lO2V4
KG0pO2U9R3goYywxNDgxOTApfDA7aWYoKGV8MCkhPTA/KGJbZT4+MF18MCkhPTA6MClvPTMxO2Vs
c2V7ZT1HeChjLDExOTc0Nyl8MDtpZigoZXwwKSE9MD8oYltlPj4wXXwwKSE9MDowKW89MzE7ZWxz
ZSBnPTB9aWYoKG98MCk9PTMxKWc9eUgoZSxjKXwwO2U9R3goYywxMDg0NDQpfDA7aWYoKGV8MCkh
PTA/KGJbZT4+MF18MCkhPTA6MClvPTM2O2Vsc2Ugbz0zNDtkbyBpZigob3wwKT09MzQpe2U9R3go
YywxMDg0NTMpfDA7aWYoZXwwP2JbZT4+MF18MDowKXtvPTM2O2JyZWFrfWlmKGd8MCl7ZT12Mihn
KXwwO289Mzl9fXdoaWxlKDApO2lmKChvfDApPT0zNil7ZT15SChlLGMpfDA7bz0zOX1pZigob3ww
KT09MzkpZlt6KzIwOD4+Ml09ZTtlPUd4KGMsMTA4NDYxKXwwO2lmKChlfDApIT0wPyhiW2U+PjBd
fDApIT0wOjApbz00NDtlbHNlIG89NDI7ZG8gaWYoKG98MCk9PTQyKXtlPUd4KGMsMTA4NDcxKXww
O2lmKGV8MD9iW2U+PjBdfDA6MCl7bz00NDticmVha31pZihnfDApe2U9djIoZyl8MDtvPTQ3fX13
aGlsZSgwKTtpZigob3wwKT09NDQpe2U9eUgoZSxjKXwwO289NDd9aWYoKG98MCk9PTQ3KWZbeisy
MTY+PjJdPWU7ZT1HeChjLDEwODQ4MCl8MDtpZigoZXwwKSE9MD8oYltlPj4wXXwwKSE9MDowKW89
NTI7ZWxzZSBvPTUwO2RvIGlmKChvfDApPT01MCl7ZT1HeChjLDEwODQ4OSl8MDtpZihlfDA/Yltl
Pj4wXXwwOjApe289NTI7YnJlYWt9aWYoZ3wwKXtuPXYyKGcpfDA7Zlt6KzIyMD4+Ml09bn19d2hp
bGUoMCk7aWYoKG98MCk9PTUyKXtvPXlIKGUsYyl8MDtmW3orMjIwPj4yXT1vO289eisyNjB8MDtk
W28+PjFdPWRbbz4+MV18MTI4fWU9R3goYywxMDg0OTcpfDA7aWYoKGV8MCkhPTA/KGJbZT4+MF18
MCkhPTA6MClvPTU5O2Vsc2Ugbz01NztkbyBpZigob3wwKT09NTcpe2U9R3goYywxMDg1MDYpfDA7
aWYoZXwwP2JbZT4+MF18MDowKXtvPTU5O2JyZWFrfWlmKGd8MCl7bj12MihnKXwwO2ZbeisyMjQ+
PjJdPW59fXdoaWxlKDApO2lmKChvfDApPT01OSl7bz15SChlLGMpfDA7Zlt6KzIyND4+Ml09bztv
PXorMjYwfDA7ZFtvPj4xXT1kW28+PjFdfDI1Nn1oPWd9ZG8gaWYoeCY4Mzg4NjA4KXtlPUd4KGMs
MTQ4MjIzKXwwO2lmKChlfDApIT0wPyhiW2U+PjBdfDApIT0wOjApZz15SChlLGMpfDA7ZWxzZSBn
PTA7ZT1HeChjLDEwODUxNCl8MDtpZigoZXwwKSE9MD8oYltlPj4wXXwwKSE9MDowKXtvPXorMjYw
fDA7ZFtvPj4xXT1kW28+PjFdfDY0O2U9eUgoZSxjKXwwO289NzJ9ZWxzZSBvPTcwO2lmKChvfDAp
PT03MD9nfDA6MCl7ZT12MihnKXwwO289NzJ9aWYoKG98MCk9PTcyKWZbeisyNDQ+PjJdPWU7ZT1H
eChjLDEwODUyNSl8MDtpZigoZXwwKSE9MD8oYltlPj4wXXwwKSE9MDowKXtlPXlIKGUsYyl8MDtv
PTc4fWVsc2Ugbz03NjtpZigob3wwKT09NzY/Z3wwOjApe2U9djIoZyl8MDtvPTc4fWlmKChvfDAp
PT03OClmW3orMjQ4Pj4yXT1lO2U9R3goYywxMDg1MzcpfDA7aWYoKGV8MCkhPTA/KGJbZT4+MF18
MCkhPTA6MCl7bj15SChlLGMpfDA7Zlt6KzI1Mj4+Ml09bjtuPXorMjYwfDA7ZFtuPj4xXT1kW24+
PjFdfDE2fWVsc2Ugbz04MjtpZigob3wwKT09ODI/Z3wwOjApe289djIoZyl8MDtmW3orMjUyPj4y
XT1vfWU9R3goYywxMDg1NDgpfDA7aWYoZXwwP2JbZT4+MF18MDowKXtvPXorMjYwfDA7ZFtvPj4x
XT1kW28+PjFdfDMyO289eUgoZSxjKXwwO2ZbeisyNTY+PjJdPW87YnJlYWt9aWYoZyl7bz12Mihn
KXwwO2ZbeisyNTY+PjJdPW99ZWxzZSBnPTB9ZWxzZSBnPTA7d2hpbGUoMCk7ZG8gaWYoeCY0MTk0
MzA0fDApe2U9R3goYywxNDgyMzYpfDA7aWYoKGV8MCkhPTA/KGJbZT4+MF18MCkhPTA6MClvPTk0
O2Vsc2Ugbz05MjtkbyBpZigob3wwKT09OTIpe2U9R3goYywxMDg1NTkpfDA7aWYoZXwwP2JbZT4+
MF18MDowKXtvPTk0O2JyZWFrfWU9Zlt6KzE5Mj4+Ml18MDtpZihlfDApe249djIoZSl8MDtmW3or
MjI4Pj4yXT1ufX13aGlsZSgwKTtpZigob3wwKT09OTQpe249ZEcoZSxjKXwwO209eUgobixjKXww
O2ZbeisyMjg+PjJdPW07TV8obik7bj16KzI2MHwwO2Rbbj4+MV09ZFtuPj4xXXwxfWU9R3goYywx
MDg1NzEpfDA7aWYoKGV8MCkhPTA/KGJbZT4+MF18MCkhPTA6MCl7bj1kRyhlLGMpfDA7bT15SChu
LGMpfDA7Zlt6KzIzMj4+Ml09bTtNXyhuKTtuPXorMjYwfDA7ZFtuPj4xXT1kW24+PjFdfDh9ZWxz
ZSBvPTEwMDtpZigob3wwKT09MTAwPyhxPWZbeisxOTI+PjJdfDAscXwwKTowKXtxPXYyKHEpfDA7
Zlt6KzIzMj4+Ml09cX1lPUd4KGMsMTA4NTg0KXwwO2lmKChlfDApIT0wPyhiW2U+PjBdfDApIT0w
OjApe3E9ZEcoZSxjKXwwO249eUgocSxjKXwwO2ZbeisyMzY+PjJdPW47TV8ocSk7cT16KzI2MHww
O2RbcT4+MV09ZFtxPj4xXXwyfWVsc2Ugbz0xMDU7aWYoKG98MCk9PTEwNT8ocj1mW3orMjAwPj4y
XXwwLHJ8MCk6MCl7cj12MihyKXwwO2ZbeisyMzY+PjJdPXJ9ZT1HeChjLDEwODU5Nil8MDtpZihl
fDA/YltlPj4wXXwwOjApe3I9ZEcoZSxjKXwwO3E9eUgocixjKXwwO2ZbeisyNDA+PjJdPXE7TV8o
cik7cj16KzI2MHwwO2Rbcj4+MV09ZFtyPj4xXXw0O2JyZWFrfWU9Zlt6KzIwND4+Ml18MDtpZihl
fDApe3I9djIoZSl8MDtmW3orMjQwPj4yXT1yfX13aGlsZSgwKTtNXyhoKTtNXyhnKTtkbyBpZih4
JjQyNTk4NDB8MD8odT1mWyhmW3M+PjJdfDApKzg+PjJdfDAsdXwwKTowKXtpZighKGZbeisyMDg+
PjJdfDApKXtpZigoeCY1MjQyODh8MCk9PTB8KGZbeisyMjg+PjJdfDApPT0wKWJyZWFrfWVsc2Ug
aWYoISh4JjUyNDI4OCkpYnJlYWs7az0rcFsoZlthKzE2Pj4yXXwwKSsxNTI+PjNdKi41O2s9az4y
LjA/azoyLjA7Zz1mW3UrND4+Ml18MDtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+PShnfDApKWJyZWFr
O2VHKHksdyx2LChmW3U+PjJdfDApKyhlKjQ4fDApfDAsayk7ZT1lKzF8MH1oPWZbdj4+Ml18MDtm
W3orMjc2Pj4yXT1oO2k9Zlt3Pj4yXXwwO2ZbeisyODA+PjJdPWk7aWYoISh4JjgxOTIpKXtlPTA7
Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oaHwwKSlicmVhaztlPShmW2krKGc8PDIpPj4yXXwwKStl
fDA7Zz1nKzF8MH15PWZbeT4+Ml18MDtITyhhLHkseSxlKXwwO2U9eX1lbHNlIGU9Zlt5Pj4yXXww
O2ZbeisyODQ+PjJdPWU7Zlt6KzI2ND4+Ml09MjtmW3orMjcyPj4yXT1lO2ZbeisyNjg+PjJdPWZb
aT4+Ml19d2hpbGUoMCk7V08oYSxjKTtlPWZbeisyMDg+PjJdfDA7aWYoISgoZXwwKT09MD8hKGRb
eisyNjA+PjFdJjEpOjApKVlPKGEsZSxmW3orMjI4Pj4yXXwwLGZbeisyNDQ+PjJdfDAsZlt6KzIx
Mj4+Ml18MCk7dD1BO3JldHVybn1mdW5jdGlvbiBMRihhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7
dmFyIGU9MCxnPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0wLjAsdT0w
LHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAs
Sj0wLEs9MCxMPTAsTT0wLjAsTj0wLjAsTz0wLFA9MCxRPTAsUj0wLFM9MDtQPXQ7dD10KzI0MHww
O0w9UCsyMjR8MDtLPVArMjA4fDA7QT1QKzEyOHwwO3o9UCsxMTJ8MDtPPVArNjR8MDtEPVArNDh8
MDtFPVArMzJ8MDtGPVArMTZ8MDtHPVA7SD1QKzE5MnwwO0k9UCsxNzZ8MDtCPVArMTYwfDA7Qz1Q
KzE0NHwwO2ZbRj4+Ml09MDtmW0YrND4+Ml09MDtmW0YrOD4+Ml09MDtmW0YrMTI+PjJdPTA7TT0r
cFsoZlthKzE2Pj4yXXwwKSsxNTI+PjNdO3pRKEd4KGMsMTA4MzU4KXwwKTtKPWMrMTZ8MDthOmRv
IGlmKGZbKGZbSj4+Ml18MCkrOD4+Ml18MCl7Tj0rVUwoYyxmWzQ4MzgwXXwwLDEuMCwwLjApO2o9
V0woYyxmWzQ4MzY4XXwwLDE5NDg3MCl8MDt2PShkfDApIT0wO2I6ZG8gaWYodil7ZT1kO3doaWxl
KDEpe2c9ZSs0fDA7ZT1mW2U+PjJdfDA7aWYoIWUpe209MDticmVhayBifWlmKChiW2U+PjBdfDAp
PT0xMTY/KEgkKGUsMTE5NDQzKXwwKT09MDowKXttPTE7YnJlYWsgYn1lPWd9fWVsc2UgbT0wO3do
aWxlKDApO2k9ajtvPTA7Zz0wO2M6d2hpbGUoMSl7c3dpdGNoKGJbaT4+MF18MCl7Y2FzZSAwOmJy
ZWFrIGM7Y2FzZSA1ODp7ZT1vKzF8MDticmVha31jYXNlIDU5OntlPW87Zz1nKzF8MDticmVha31k
ZWZhdWx0OmU9b31pPWkrMXwwO289ZX1sPShvfDApIT0wO2lmKChnfDApIT0wJmwpaWYoIShURihh
LGMsZCxqLG8rMXwwLE4sTSl8MCkpYnJlYWs7ZWxzZSBrPTE0NTU4NDtlbHNlIGs9ajtlPWhbKGZb
Sj4+Ml18MCkrMTE1Pj4wXXwwO2lmKCEoZSYxKSlpZighKGUmMikpaWYoIShlJjgpKWlmKCEoZSY0
KSl7Zz1rO2k9WEwoYyxmWzQ4MzY5XXwwLGspfDB9ZWxzZXtpPTExNDYyMjtlPTExNDYxNDtqPTE5
MzQ4MDtnPTE5MzQ4MDtuPTIwfWVsc2V7aT0xMTQ2MDY7ZT0xMTQ1OTg7aj0xOTM0ODA7Zz0xOTM0
ODA7bj0yMH1lbHNle2k9MTE0NTkwO2U9MTE0NTgyO2o9MTkzNDgwO2c9MTkzNDgwO249MjB9ZWxz
ZXtpPTExNDU3NDtlPTExNDU2NjtqPTE5MzQ4MDtnPTE5MzQ4MDtuPTIwfWlmKChufDApPT0yMCl7
Zz1mW2c+PjJdfDA7Zz1YTChjLGcsVUYoayxlKXwwKXwwO2U9WEwoYyxmW2o+PjJdfDAsaSl8MDtp
ZigoZ3wwKT09KGt8MCkpe2c9aztpPWV9ZWxzZXtiUChhLGcpO2k9ZX19aWYoKGl8MCkhPShrfDAp
KWRQKGEsaSk7aWYobTw8MjQ+PjI0KXtnPShiW2c+PjBdfDApPT0wPzE0NTU4NDpnO2U9KGJbaT4+
MF18MCk9PTA/MTQ1NTg0Omk7YlAoYSwxNDU2NDkpO2RQKGEsZyk7dT1PO3E9ZltmWyhmW0o+PjJd
fDApKzg+PjJdPj4yXXwwO3I9dSs0OHwwO2Rve2ZbdT4+Ml09ZltxPj4yXTt1PXUrNHwwO3E9cSs0
fDB9d2hpbGUoKHV8MCk8KHJ8MCkpO0o9dEwoTyxWRihjKXwwLE0sMCwwKXwwO2hQKGEsZltKKzg+
PjJdfDAsZltKPj4yXXwwLDEpO1dGKEopO2JQKGEsZyk7aWYoKGV8MCkhPShnfDApKWRQKGEsZSk7
ZT1mW08rOD4+Ml18MDtpZihlfDApe0k9TysxNnwwO0o9ZltPPj4yXXwwO2ZbSz4+Ml09ZltJPj4y
XTtmW0srND4+Ml09ZltJKzQ+PjJdO2ZbSys4Pj4yXT1mW0krOD4+Ml07ZltLKzEyPj4yXT1mW0kr
MTI+PjJdO2ZbTD4+Ml09ZltKPj4yXTtmW0wrND4+Ml09ZltKKzQ+PjJdO2ZbTCs4Pj4yXT1mW0or
OD4+Ml07ZltMKzEyPj4yXT1mW0orMTI+PjJdO1RFKGEsMixLLEwsTixNLGUpfWU9ZltPKzEyPj4y
XXwwO2lmKCFlKWJyZWFrO0o9TyszMnwwO089KGZbTz4+Ml18MCkrKChmW08rND4+Ml18MCkrLTE8
PDQpfDA7ZltLPj4yXT1mW0o+PjJdO2ZbSys0Pj4yXT1mW0orND4+Ml07ZltLKzg+PjJdPWZbSis4
Pj4yXTtmW0srMTI+PjJdPWZbSisxMj4+Ml07ZltMPj4yXT1mW08+PjJdO2ZbTCs0Pj4yXT1mW08r
ND4+Ml07ZltMKzg+PjJdPWZbTys4Pj4yXTtmW0wrMTI+PjJdPWZbTysxMj4+Ml07VEUoYSwzLEss
TCxOLE0sZSk7YnJlYWt9ZT1mW0o+PjJdfDA7aWYoIWwpe2RvIGlmKCEoYltlKzExNT4+MF0mMykp
e2lmKGJbZz4+MF18MCl7YlAoYSxnKTtkUChhLGkpO2JyZWFrfWJQKGEsMTQ1NTg0KTtpZighKGJb
aT4+MF18MCkpe2RQKGEsMTQ1NTg0KTticmVha31lbHNle2RQKGEsaSk7YnJlYWt9fXdoaWxlKDAp
O2o9YSsxNTJ8MDtrPU8rNHwwO2w9Tys4fDA7bT1PKzEyfDA7bj1PKzE2fDA7bz1PKzMyfDA7aT0w
O3doaWxlKDEpe2U9ZlsoZltKPj4yXXwwKSs4Pj4yXXwwO2lmKChpfDApPj0oZltlKzQ+PjJdfDAp
KWJyZWFrIGE7dT1PO3E9KGZbZT4+Ml18MCkrKGkqNDh8MCl8MDtyPXUrNDh8MDtkb3tmW3U+PjJd
PWZbcT4+Ml07dT11KzR8MDtxPXErNHwwfXdoaWxlKCh1fDApPChyfDApKTtlPWZbTz4+Ml18MDtn
PWZbaz4+Ml18MDtkbyBpZighKGZbaj4+Ml0mMTYzODQpKXtqUChhLGUsZywwLDAsMCk7ZT1mW2w+
PjJdfDA7aWYoZXwwKXtJPWZbTz4+Ml18MDtmW0s+PjJdPWZbbj4+Ml07ZltLKzQ+PjJdPWZbbis0
Pj4yXTtmW0srOD4+Ml09ZltuKzg+PjJdO2ZbSysxMj4+Ml09ZltuKzEyPj4yXTtmW0w+PjJdPWZb
ST4+Ml07ZltMKzQ+PjJdPWZbSSs0Pj4yXTtmW0wrOD4+Ml09ZltJKzg+PjJdO2ZbTCsxMj4+Ml09
ZltJKzEyPj4yXTtURShhLDIsSyxMLE4sTSxlKX1lPWZbbT4+Ml18MDtpZihlfDApe0k9KGZbTz4+
Ml18MCkrKChmW2s+PjJdfDApKy0xPDw0KXwwO2ZbSz4+Ml09ZltvPj4yXTtmW0srND4+Ml09Zltv
KzQ+PjJdO2ZbSys4Pj4yXT1mW28rOD4+Ml07ZltLKzEyPj4yXT1mW28rMTI+PjJdO2ZbTD4+Ml09
ZltJPj4yXTtmW0wrND4+Ml09ZltJKzQ+PjJdO2ZbTCs4Pj4yXT1mW0krOD4+Ml07ZltMKzEyPj4y
XT1mW0krMTI+PjJdO1RFKGEsMyxLLEwsTixNLGUpfWlmKChmWyhmWyhmW0o+PjJdfDApKzg+PjJd
fDApKzQ+PjJdfDApPjEpe2lmKCEoZltsPj4yXXwwKSl7aWYoISh2JihmW20+PjJdfDApIT0wKSli
cmVha31lbHNlIGlmKCF2KWJyZWFrO2ZQKGEsZCl9fWVsc2UgalAoYSxlLGcsZltsPj4yXXwwLGZb
bT4+Ml18MCwwKTt3aGlsZSgwKTtpPWkrMXwwfX14PWZbKGZbZSs4Pj4yXXwwKSs0Pj4yXXwwO3c9
eCo0OHwwO3k9TF8odyl8MDt3PUxfKHcpfDA7cz0rKG8rMnwwKSouNTt2PU8rNHwwO249RCs4fDA7
bz1FKzh8MDtjPUYrOHwwO2Q9Rys4fDA7bT0wO3doaWxlKDEpe2lmKChtfDApPj0oeHwwKSlicmVh
azt1PU87cT0oZltmWyhmW0o+PjJdfDApKzg+PjJdPj4yXXwwKSsobSo0OHwwKXwwO3I9dSs0OHww
O2Rve2ZbdT4+Ml09ZltxPj4yXTt1PXUrNHwwO3E9cSs0fDB9d2hpbGUoKHV8MCk8KHJ8MCkpO2U9
Zlt2Pj4yXXwwO2ZbeSsobSo0OHwwKSs0Pj4yXT1lO2ZbdysobSo0OHwwKSs0Pj4yXT1lO2w9ZTw8
NDtrPUxfKGwpfDA7Zlt5KyhtKjQ4fDApPj4yXT1rO2w9TF8obCl8MDtmW3crKG0qNDh8MCk+PjJd
PWw7aj1mW08+PjJdfDA7ZltHPj4yXT1mW2o+PjJdO2ZbRys0Pj4yXT1mW2orND4+Ml07ZltHKzg+
PjJdPWZbais4Pj4yXTtmW0crMTI+PjJdPWZbaisxMj4+Ml07aj0wO3doaWxlKDEpe2lmKChqfDAp
Pj0oZSstMXwwKSlicmVhaztmW0Q+PjJdPWZbRz4+Ml07ZltEKzQ+PjJdPWZbRys0Pj4yXTtmW0Qr
OD4+Ml09ZltHKzg+PjJdO2ZbRCsxMj4+Ml09ZltHKzEyPj4yXTtlPWorMXwwO2k9KGZbTz4+Ml18
MCkrKGU8PDQpfDA7ZltFPj4yXT1mW2k+PjJdO2ZbRSs0Pj4yXT1mW2krND4+Ml07ZltFKzg+PjJd
PWZbaSs4Pj4yXTtmW0UrMTI+PjJdPWZbaSsxMj4+Ml07aT1rKyhqPDw0KXwwO2lmKCFqKXtmW0s+
PjJdPWZbRD4+Ml07ZltLKzQ+PjJdPWZbRCs0Pj4yXTtmW0srOD4+Ml09ZltEKzg+PjJdO2ZbSysx
Mj4+Ml09ZltEKzEyPj4yXTtmW0w+PjJdPWZbRT4+Ml07ZltMKzQ+PjJdPWZbRSs0Pj4yXTtmW0wr
OD4+Ml09ZltFKzg+PjJdO2ZbTCsxMj4+Ml09ZltFKzEyPj4yXTtYRihILEssTCk7ZltpPj4yXT1m
W0g+PjJdO2ZbaSs0Pj4yXT1mW0grND4+Ml07ZltpKzg+PjJdPWZbSCs4Pj4yXTtmW2krMTI+PjJd
PWZbSCsxMj4+Ml19ZWxzZXtmW0s+PjJdPWZbRj4+Ml07ZltLKzQ+PjJdPWZbRis0Pj4yXTtmW0sr
OD4+Ml09ZltGKzg+PjJdO2ZbSysxMj4+Ml09ZltGKzEyPj4yXTtmW0w+PjJdPWZbRT4+Ml07ZltM
KzQ+PjJdPWZbRSs0Pj4yXTtmW0wrOD4+Ml09ZltFKzg+PjJdO2ZbTCsxMj4+Ml09ZltFKzEyPj4y
XTtYRihJLEssTCk7ZltpPj4yXT1mW0k+PjJdO2ZbaSs0Pj4yXT1mW0krND4+Ml07ZltpKzg+PjJd
PWZbSSs4Pj4yXTtmW2krMTI+PjJdPWZbSSsxMj4+Ml19Uj1mW08+PjJdfDA7cj1qKzJ8MDtTPVIr
KHI8PDQpfDA7ZltGPj4yXT1mW1M+PjJdO2ZbRis0Pj4yXT1mW1MrND4+Ml07ZltGKzg+PjJdPWZb
Uys4Pj4yXTtmW0YrMTI+PjJdPWZbUysxMj4+Ml07dT1qKzN8MDtSPVIrKHU8PDQpfDA7ZltHPj4y
XT1mW1I+PjJdO2ZbRys0Pj4yXT1mW1IrND4+Ml07ZltHKzg+PjJdPWZbUis4Pj4yXTtmW0crMTI+
PjJdPWZbUisxMj4+Ml07UT1rKyhlPDw0KXwwO3E9aysocjw8NCl8MDtmW3o+PjJdPWZbRD4+Ml07
Zlt6KzQ+PjJdPWZbRCs0Pj4yXTtmW3orOD4+Ml09ZltEKzg+PjJdO2ZbeisxMj4+Ml09ZltEKzEy
Pj4yXTtmW0E+PjJdPWZbRT4+Ml07ZltBKzQ+PjJdPWZbRSs0Pj4yXTtmW0ErOD4+Ml09ZltFKzg+
PjJdO2ZbQSsxMj4+Ml09ZltFKzEyPj4yXTtmW0s+PjJdPWZbUz4+Ml07ZltLKzQ+PjJdPWZbUys0
Pj4yXTtmW0srOD4+Ml09ZltTKzg+PjJdO2ZbSysxMj4+Ml09ZltTKzEyPj4yXTtmW0w+PjJdPWZb
Uj4+Ml07ZltMKzQ+PjJdPWZbUis0Pj4yXTtmW0wrOD4+Ml09ZltSKzg+PjJdO2ZbTCsxMj4+Ml09
ZltSKzEyPj4yXTtZRihCLHosQSxLLEwpO2ZbcT4+Ml09ZltCPj4yXTtmW3ErND4+Ml09ZltCKzQ+
PjJdO2ZbcSs4Pj4yXT1mW0IrOD4+Ml07ZltxKzEyPj4yXT1mW0IrMTI+PjJdO2ZbUT4+Ml09ZltC
Pj4yXTtmW1ErND4+Ml09ZltCKzQ+PjJdO2ZbUSs4Pj4yXT1mW0IrOD4+Ml07ZltRKzEyPj4yXT1m
W0IrMTI+PjJdO3BbbCsoajw8NCk+PjNdPStwW0Q+PjNdLStwW2k+PjNdKnM7cFtsKyhqPDw0KSs4
Pj4zXT0rcFtuPj4zXS0rcFtrKyhqPDw0KSs4Pj4zXSpzO3BbbCsoZTw8NCk+PjNdPStwW0U+PjNd
LStwW1E+PjNdKnM7cFtsKyhlPDw0KSs4Pj4zXT0rcFtvPj4zXS0rcFtrKyhlPDw0KSs4Pj4zXSpz
O3BbbCsocjw8NCk+PjNdPStwW0Y+PjNdLStwW3E+PjNdKnM7cFtsKyhyPDw0KSs4Pj4zXT0rcFtj
Pj4zXS0rcFtrKyhyPDw0KSs4Pj4zXSpzO2o9dTtlPWZbdj4+Ml18MH1TPWsrKGo8PDQpfDA7ZltL
Pj4yXT1mW0Y+PjJdO2ZbSys0Pj4yXT1mW0YrND4+Ml07ZltLKzg+PjJdPWZbRis4Pj4yXTtmW0sr
MTI+PjJdPWZbRisxMj4+Ml07ZltMPj4yXT1mW0c+PjJdO2ZbTCs0Pj4yXT1mW0crND4+Ml07ZltM
Kzg+PjJdPWZbRys4Pj4yXTtmW0wrMTI+PjJdPWZbRysxMj4+Ml07WEYoQyxLLEwpO2ZbUz4+Ml09
ZltDPj4yXTtmW1MrND4+Ml09ZltDKzQ+PjJdO2ZbUys4Pj4yXT1mW0MrOD4+Ml07ZltTKzEyPj4y
XT1mW0MrMTI+PjJdO3BbbCsoajw8NCk+PjNdPStwW0c+PjNdLStwW1M+PjNdKnM7cFtsKyhqPDw0
KSs4Pj4zXT0rcFtkPj4zXS0rcFtrKyhqPDw0KSs4Pj4zXSpzO209bSsxfDB9cj12MihnKXwwO2Q9
MDtxPWc7ZT1nO2k9ZztnPXI7d2hpbGUoMSl7Zz1kMyhnLDExNjMxMCl8MDtpZighZylicmVhaztj
PShiW2c+PjBdfDApPT0wPzE0NTU4NDpnO2lmKChjfDApIT0oaXwwKSlpZighKGJbKGZbSj4+Ml18
MCkrMTE1Pj4wXSYzKSl7YlAoYSxjKTtkUChhLGMpO2k9Y31lbHNlIGk9YztrPShkfDApPT0wO2w9
ZD4+PjA8MjtnPTA7d2hpbGUoMSl7aWYoKGd8MCk+PSh4fDApKWJyZWFrO209Zlt3KyhnKjQ4fDAp
Pj4yXXwwO249Zlt5KyhnKjQ4fDApPj4yXXwwO289Zlt3KyhnKjQ4fDApKzQ+PjJdfDA7aj0wO3do
aWxlKDEpe2lmKChqfDApPj0ob3wwKSlicmVhaztTPW0rKGo8PDQpfDA7cFtTPj4zXT0rcFtTPj4z
XSsgK3Bbbisoajw8NCk+PjNdO1M9bSsoajw8NCkrOHwwO3BbUz4+M109K3BbUz4+M10rICtwW24r
KGo8PDQpKzg+PjNdO2o9aisxfDB9alAoYSxtLG8sMCwwLDApO2c9ZysxfDB9ZD1kKzF8MDtxPWs/
YzpxO2U9bD9jOmU7Zz0wfWc9ZltPKzg+PjJdfDA7aWYoIWcpZz0wO2Vsc2V7aWYoZSl7aWYoIShi
WyhmW0o+PjJdfDApKzExNT4+MF0mMykpe2JQKGEsZSk7ZFAoYSxlKX19ZWxzZSBlPTA7Uj1PKzE2
fDA7Uz1mW08+PjJdfDA7ZltLPj4yXT1mW1I+PjJdO2ZbSys0Pj4yXT1mW1IrND4+Ml07ZltLKzg+
PjJdPWZbUis4Pj4yXTtmW0srMTI+PjJdPWZbUisxMj4+Ml07ZltMPj4yXT1mW1M+PjJdO2ZbTCs0
Pj4yXT1mW1MrND4+Ml07ZltMKzg+PjJdPWZbUys4Pj4yXTtmW0wrMTI+PjJdPWZbUysxMj4+Ml07
VEUoYSwyLEssTCxOLE0sZyk7Zz1lfWk9TysxMnwwO2U9ZltpPj4yXXwwO2lmKGV8MCl7aWYoKGd8
MCkhPShxfDApPyhiWyhmW0o+PjJdfDApKzExNT4+MF0mMyk9PTA6MCl7YlAoYSxxKTtkUChhLHEp
O2U9ZltpPj4yXXwwfVI9TyszMnwwO1M9KGZbTz4+Ml18MCkrKChmW3Y+PjJdfDApKy0xPDw0KXww
O2ZbSz4+Ml09ZltSPj4yXTtmW0srND4+Ml09ZltSKzQ+PjJdO2ZbSys4Pj4yXT1mW1IrOD4+Ml07
ZltLKzEyPj4yXT1mW1IrMTI+PjJdO2ZbTD4+Ml09ZltTPj4yXTtmW0wrND4+Ml09ZltTKzQ+PjJd
O2ZbTCs4Pj4yXT1mW1MrOD4+Ml07ZltMKzEyPj4yXT1mW1MrMTI+PjJdO1RFKGEsMyxLLEwsTixN
LGUpfU1fKHIpO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KHh8MCkpYnJlYWs7TV8oZlt5KyhlKjQ4
fDApPj4yXXwwKTtNXyhmW3crKGUqNDh8MCk+PjJdfDApO2U9ZSsxfDB9TV8oeSk7TV8odyl9d2hp
bGUoMCk7dD1QO3JldHVybn0KK2Z1bmN0aW9uIGJXKGEsYyxkLGUsZyxpLGosayl7YT1hfDA7Yz1j
fDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7aT1pfDA7aj1qfDA7az1rfDA7dmFyIGw9MCxtPTAsbj0wLG89
MCxwPTAscT0wLHI9MCxzPTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0w
LEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAs
Uz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFhPTAsYmE9MCxjYT0wLGRh
PTAsZWE9MCxmYT0wLGdhPTAsaGE9MCxpYT0wLGphPTAsa2E9MCxsYT0wLG1hPTAsbmE9MCxvYT0w
LHBhPTAscWE9MCxyYT0wLHNhPTAsdGE9MCx1YT0wLHZhPTAsd2E9MCx4YT0wLHlhPTAsemE9MCxB
YT0wLEJhPTAsQ2E9MCxEYT0wLEVhPTAsRmE9MCxHYT0wO0dhPXQ7dD10KzE2fDA7RGE9R2E7ZltE
YT4+Ml09aTtxPWZbYSszNTI+PjJdfDA7cj1hKzE0NHwwO2lmKChmW3I+PjJdfDApPT0oY3wwKSl7
bz1hKzI4NHwwO3A9YSsyODh8MDtuYT1hKzI5NnwwfWVsc2V7bmE9YSsyOTZ8MDtwPWZbbmE+PjJd
fDA7bz1wO3A9cCs0fDB9cz1rPDwyND4+MjQhPTA7cGE9YSsyNTJ8MDt1PWErODB8MDt2PWErNDc2
fDA7dz1hKzg0fDA7eD1hKzQ4NXwwO3k9cSsxMzJ8MDt6PWErMzEyfDA7QT1xKzEyOHwwO0I9YSsz
MTZ8MDtDPWErMzQwfDA7RD1hKzM0NHwwO0U9YSszNDh8MDtGPWErMzI4fDA7Rz1hKzM0OXwwO3Nh
PXErMTI5fDA7SD1hKzMzNnwwO0k9YSszMzJ8MDtKPWErOTZ8MDtLPWErMjU2fDA7TD1hKzQ2NHww
O009YSs0NjB8MDtOPWErNDg4fDA7Tz1hKzEyOHwwO1A9cSsxNjB8MDtRPWErMzIwfDA7Uj1hKzQx
MnwwO3VhPWErNHwwO1M9YSszMjR8MDtUPWErMTMyfDA7VT1xKzgwfDA7Vj1xKzEyMHwwO3ZhPXEr
MTMwfDA7Vz1xKzk2fDA7WD1xKzkyfDA7WT1xKzE2NHwwO1o9cSsxODR8MDtfPXErMTgwfDA7JD1h
KzEzNnwwO2FhPWErNDI0fDA7YmE9YSs0Mjh8MDtjYT1hKzg4fDA7ZGE9cSsxMTZ8MDt3YT1hKzM1
NnwwO2VhPWErMTJ8MDtmYT1hKzE2fDA7eGE9YSsxMDh8MDtnYT1hKzI2OHwwO2hhPXErMTc2fDA7
emE9YSsxMTJ8MDtpYT1hKzkyfDA7amE9cSsxNjh8MDtrYT1hKzQ3MnwwO2xhPWErNDIwfDA7bWE9
YSsxMjB8MDtCYT1xKzEzMXwwO0NhPWErMTE2fDA7bj1jO209ZDtjPWc7YTp3aGlsZSgxKXtmW28+
PjJdPW07ZD1mW0RhPj4yXXwwO2ZbcD4+Ml09ZDtpPWQ7YjpkbyBpZigoY3wwKTwxKXtpZihzJihj
fDApIT0wKXtsPTc7YnJlYWsgYX1zd2l0Y2goY3wwKXtjYXNlIC0xOntpPTU7bD0yODA7YnJlYWsg
YX1jYXNlIDA6e2w9OTticmVhayBhfWNhc2UgLTI6e2k9NjticmVhayBhfWNhc2UgLTQ6e2w9MTA7
YnJlYWsgYX1jYXNlIC0xNTp7Yz0xNTticmVhayBifWRlZmF1bHQ6e319ZltEYT4+Ml09ZTtjPTAt
Y3wwO2k9ZX13aGlsZSgwKTtnPXliW2ZbcGE+PjJdJjEyN10ocGEsYyxtLGksbil8MDtjOmRvIHN3
aXRjaChnfDApe2Nhc2UgMjp7bD01ODticmVhayBhfWNhc2UgLTE6e2w9MTg0O2JyZWFrIGF9Y2Fz
ZSAxOntpPWNXKGEsMCxtLGZbRGE+PjJdfDApfDA7aWYoaXwwKXtsPTI4MDticmVhayBhfWk9Zlty
Pj4yXXwwO2JyZWFrfWNhc2UgNDp7aWYoIShmW3c+PjJdfDApKWk9MTtlbHNle2w9ZFcoUixuLG0s
ZltEYT4+Ml18MCl8MDtmW0I+PjJdPWw7aWYoIWwpe2k9MTtsPTI4MDticmVhayBhfWZbYmE+PjJd
PWZbYWE+PjJdO2ZbUz4+Ml09MDtpPTB9ZltRPj4yXT0wO2w9Mjc0O2JyZWFrfWNhc2UgNzp7aT1m
W3c+PjJdfDA7aWYoIWkpbD0yNzU7ZWxzZXtIYltpJjE1XShmW3VhPj4yXXwwLGZbQj4+Ml18MCxm
W1E+PjJdfDAsZltTPj4yXXwwLDEpO2ZbQj4+Ml09MDtlVyhSKTtpPW59YnJlYWt9Y2FzZSA1Nzp7
aT1jVyhhLDEsbSxmW0RhPj4yXXwwKXwwO2lmKGl8MCl7bD0yODA7YnJlYWsgYX1pPWZbcj4+Ml18
MDticmVha31jYXNlIDY6e2JbeD4+MF09MDtsPWZXKGEseSw4NzQzNSwzNil8MDtmW3o+PjJdPWw7
aWYoIWwpe2k9MTtsPTI4MDticmVhayBhfWJbc2E+PjBdPTE7aWYoIShmW3c+PjJdfDApKWw9MzM7
ZWxzZXtpZighKHhiW2Zbbis1Mj4+Ml0mMTI3XShuLG0sZltEYT4+Ml18MCxvKXwwKSl7aT0zMjts
PTI4MDticmVhayBhfWk9ZltuKzY0Pj4yXXwwO2k9ZFcoUixuLG0raXwwLChmW0RhPj4yXXwwKSso
MC1pKXwwKXwwO2lmKCFpKXtpPTE7bD0yODA7YnJlYWsgYX1nVyhpKTtmW2JhPj4yXT1mW2FhPj4y
XTtmW1M+PjJdPWk7aT0wO2w9MzR9YnJlYWt9Y2FzZSAxNDp7bD0zMzticmVha31jYXNlIDg6e2k9
ZltCPj4yXXwwO2lmKCFpKWk9MTtlbHNle0hiW2Zbdz4+Ml0mMTVdKGZbdWE+PjJdfDAsaSxmW1E+
PjJdfDAsZltTPj4yXXwwLDApO2VXKFIpO2k9MH1pZighKChmW1E+PjJdfDApPT0wPyEoYlt4Pj4w
XXwwKTowKSl7ZD1iW3NhPj4wXXwwO2Jbc2E+PjBdPTE7ZG8gaWYoZltOPj4yXXwwP2ZbemE+PjJd
fDA6MCl7Zz1mVyhhLHksODc0MzUsMzYpfDA7aWYoIWcpe2k9MTtsPTI4MDticmVhayBhfWlmKCEo
Ylt4Pj4wXXwwKSljPWcrMjB8MDtlbHNle2M9ZysyMHwwO2ZbYz4+Ml09Zlt3YT4+Ml19YltCYT4+
MF09MDtpZighKHliW2ZbemE+PjJdJjEyN10oZltDYT4+Ml18MCwwLGZbYz4+Ml18MCxmW2crMTY+
PjJdfDAsZltnKzI0Pj4yXXwwKXwwKSl7aT0yMTtsPTI4MDticmVhayBhfWlmKCEoYltCYT4+MF18
MCkpe2lmKGZbUT4+Ml18MClicmVhaztiW3NhPj4wXT1kO2JyZWFrfWlmKCgoYlt2YT4+MF18MCk9
PTA/KG9hPWZbeGE+PjJdfDAsb2F8MCk6MCk/KHRiW29hJjYzXShmW3VhPj4yXXwwKXwwKT09MDow
KXtpPTIyO2w9MjgwO2JyZWFrIGF9fXdoaWxlKDApO2JbeD4+MF09MH1jPWZbY2E+PjJdfDA7aWYo
IWMpbD0yNzQ7ZWxzZXtDYltjJjEyN10oZlt1YT4+Ml18MCk7aT1ufWJyZWFrfWNhc2UgMzQ6e2w9
aVcoYSxuLG0sZltEYT4+Ml18MCl8MDtmW0M+PjJdPWw7aWYoIWwpe2k9MTtsPTI4MDticmVhayBh
fWVsc2UgbD04MDticmVha31jYXNlIDIyOntsPWpXKGEsbixtLGZbRGE+PjJdfDApfDA7ZltEPj4y
XT1sO2lmKCFsKXtpPTE7bD0yODA7YnJlYWsgYX1iW0U+PjBdPTA7ZltGPj4yXT0wO2JbRz4+MF09
MDtsPTgwO2JyZWFrfWNhc2UgMjM6e2JbRT4+MF09MTtmW0Y+PjJdPTE0OTMyMztsPTgwO2JyZWFr
fWNhc2UgMjQ6e2JbRz4+MF09MTtmW0Y+PjJdPTE0OTMyOTtsPTgwO2JyZWFrfWNhc2UgMjU6e2Zb
Rj4+Ml09MTQ5MzMyO2w9ODA7YnJlYWt9Y2FzZSAyNjp7ZltGPj4yXT0xNDkzMzg7bD04MDticmVh
a31jYXNlIDI3OntmW0Y+PjJdPTE0OTM0NTtsPTgwO2JyZWFrfWNhc2UgMjg6e2ZbRj4+Ml09MTQ5
MzUyO2w9ODA7YnJlYWt9Y2FzZSAyOTp7ZltGPj4yXT0xNDkzNjE7bD04MDticmVha31jYXNlIDMw
OntmW0Y+PjJdPTE0OTM2OTtsPTgwO2JyZWFrfWNhc2UgMzI6Y2FzZSAzMTp7aWYoKGJbQT4+MF18
MCkhPTA/KGZbVD4+Ml18MCkhPTA6MCl7aWYoIShrVyhSLChmW0Y+PjJdfDApPT0wPygoZ3wwKT09
MzI/MTQ5Mzc4OjE0OTM4OCk6MTQ5MzkwKXwwKSl7aT0xO2w9MjgwO2JyZWFrIGF9aWYoIShsVyhS
LG4sbSxmW0RhPj4yXXwwKXwwKSl7aT0xO2w9MjgwO2JyZWFrIGF9ZltGPj4yXT1mW2JhPj4yXTtp
PW59ZWxzZSBsPTI3NTticmVha31jYXNlIDM2OmNhc2UgMzU6e2lmKGJbQT4+MF18MCl7aWYoISht
VyhmW0M+PjJdfDAsZltEPj4yXXwwLGJbRT4+MF18MCxiW0c+PjBdfDAsMCxhKXwwKSl7aT0xO2w9
MjgwO2JyZWFrIGF9aWYoKGZbVD4+Ml18MCkhPTA/KHFhPWZbRj4+Ml18MCwocWF8MCkhPTApOjAp
e3N3aXRjaChiW3FhPj4wXXwwKXtjYXNlIDQwOntsPTkzO2JyZWFrfWNhc2UgNzg6e2lmKChiW3Fh
KzE+PjBdfDApPT03OSlsPTkzO2JyZWFrfWRlZmF1bHQ6e319aWYoKGx8MCk9PTkzKXtsPTA7aT1m
W2FhPj4yXXwwO2lmKChpfDApPT0oZltsYT4+Ml18MCkpe2lmKCEoKG5XKFIpfDApPDwyND4+MjQp
KXtpPTE7bD0yODA7YnJlYWsgYX1pPWZbYWE+PjJdfDB9ZlthYT4+Ml09aSsxO2JbaT4+MF09NDE7
aT1mW2FhPj4yXXwwO2lmKChpfDApPT0oZltsYT4+Ml18MCkpe2lmKCEoKG5XKFIpfDApPDwyND4+
MjQpKXtpPTE7bD0yODA7YnJlYWsgYX1pPWZbYWE+PjJdfDB9ZlthYT4+Ml09aSsxO2JbaT4+MF09
MDtmW0Y+PjJdPWZbYmE+PjJdO2ZbYmE+PjJdPWZbYWE+PjJdfWZbcD4+Ml09bTtJYltmW1Q+PjJd
JjE1XShmW3VhPj4yXXwwLGZbZltDPj4yXT4+Ml18MCxmW2ZbRD4+Ml0+PjJdfDAsZltGPj4yXXww
LDAsKGd8MCk9PTM2JjEpO2VXKFIpO2k9bn1lbHNlIGw9Mjc1fWVsc2UgbD0yNzU7YnJlYWt9Y2Fz
ZSAzODpjYXNlIDM3OntpZihiW0E+PjBdfDApe2k9ZltuKzY0Pj4yXXwwO2k9b1coYSxuLGJbRT4+
MF18MCxtK2l8MCwoZltEYT4+Ml18MCkrKDAtaSl8MCxVKXwwO2lmKGl8MCl7bD0yODA7YnJlYWsg
YX1jPWZbVz4+Ml18MDtmW1c+PjJdPWZbWD4+Ml07aWYoIShtVyhmW0M+PjJdfDAsZltEPj4yXXww
LGJbRT4+MF18MCwwLGMsYSl8MCkpe2k9MTtsPTI4MDticmVhayBhfWlmKChmW1Q+PjJdfDApIT0w
PyhyYT1mW0Y+PjJdfDAsKHJhfDApIT0wKTowKXtzd2l0Y2goYltyYT4+MF18MCl7Y2FzZSA0MDp7
bD0xMDg7YnJlYWt9Y2FzZSA3ODp7aWYoKGJbcmErMT4+MF18MCk9PTc5KWw9MTA4O2JyZWFrfWRl
ZmF1bHQ6e319aWYoKGx8MCk9PTEwOCl7bD0wO2k9ZlthYT4+Ml18MDtpZigoaXwwKT09KGZbbGE+
PjJdfDApKXtpZighKChuVyhSKXwwKTw8MjQ+PjI0KSl7aT0xO2w9MjgwO2JyZWFrIGF9aT1mW2Fh
Pj4yXXwwfWZbYWE+PjJdPWkrMTtiW2k+PjBdPTQxO2k9ZlthYT4+Ml18MDtpZigoaXwwKT09KGZb
bGE+PjJdfDApKXtpZighKChuVyhSKXwwKTw8MjQ+PjI0KSl7aT0xO2w9MjgwO2JyZWFrIGF9aT1m
W2FhPj4yXXwwfWZbYWE+PjJdPWkrMTtiW2k+PjBdPTA7ZltGPj4yXT1mW2JhPj4yXTtmW2JhPj4y
XT1mW2FhPj4yXX1mW3A+PjJdPW07SWJbZltUPj4yXSYxNV0oZlt1YT4+Ml18MCxmW2ZbQz4+Ml0+
PjJdfDAsZltmW0Q+PjJdPj4yXXwwLGZbRj4+Ml18MCxjLChnfDApPT0zOCYxKTtlVyhSKTtpPW59
ZWxzZSBsPTI3NX1lbHNlIGw9Mjc1O2JyZWFrfWNhc2UgMTI6e2lmKGJbQT4+MF18MCl7aT1mW24r
NjQ+PjJdfDA7aT1wVyhhLG4sbStpfDAsKGZbRGE+PjJdfDApKygwLWkpfDApfDA7Yz1mW3o+PjJd
fDA7ZD1mW1Y+PjJdfDA7aWYoYyl7ZltjKzQ+PjJdPWQ7ZlsoZlt6Pj4yXXwwKSs4Pj4yXT0oZltk
YT4+Ml18MCktKGZbVj4+Ml18MCk7ZltWPj4yXT1mW2RhPj4yXTtpZighKGZbJD4+Ml18MCkpYz0x
O2Vsc2V7ZltwPj4yXT1tO2M9Zlt6Pj4yXXwwO0piW2ZbJD4+Ml0mMF0oZlt1YT4+Ml18MCxmW2M+
PjJdfDAsaFtjKzMzPj4wXXwwLGZbYys0Pj4yXXwwLGZbYys4Pj4yXXwwLGZbd2E+PjJdfDAsMCww
LDApO2M9MH19ZWxzZXtmW2RhPj4yXT1kO2M9MX1pZighaSl7aT1jO2w9Mjc0fWVsc2V7bD0yODA7
YnJlYWsgYX19ZWxzZSBsPTI3NTticmVha31jYXNlIDU6e2JbeD4+MF09MDtiW3NhPj4wXT0xO2lm
KCEoZlt3Pj4yXXwwKSl7ZltRPj4yXT04NzQzNTtpPTF9ZWxzZXtsPWZbbis2ND4+Ml18MDtsPWRX
KFIsbixtK2x8MCwoZltEYT4+Ml18MCkrKDAtbCl8MCl8MDtmW1E+PjJdPWw7aWYoIWwpe2k9MTts
PTI4MDticmVhayBhfWZbYmE+PjJdPWZbYWE+PjJdO2k9MH1pZigoKChiW3ZhPj4wXXwwKT09MD8o
ZltOPj4yXXwwKT09MDowKT8odGE9Zlt4YT4+Ml18MCx0YXwwKTowKT8odGJbdGEmNjNdKGZbdWE+
PjJdfDApfDApPT0wOjApe2k9MjI7bD0yODA7YnJlYWsgYX1pZighKGZbej4+Ml18MCkpe2M9Zlco
YSx5LDg3NDM1LDM2KXwwO2Zbej4+Ml09YztpZighYyl7aT0xO2w9MjgwO2JyZWFrIGF9ZltjKzI0
Pj4yXT0wO2w9MTMzfWVsc2UgbD0xMzM7YnJlYWt9Y2FzZSAxMzp7aT0xO2w9MTMzO2JyZWFrfWNh
c2UgMTU6e2lmKCgoYltBPj4wXXwwKSE9MD8oZlt6Pj4yXXwwKSE9MDowKT8oZlskPj4yXXwwKSE9
MDowKXtmW3A+PjJdPW07aT1mW3o+PjJdfDA7SmJbZlskPj4yXSYwXShmW3VhPj4yXXwwLGZbaT4+
Ml18MCxoW2krMzM+PjBdfDAsMCwwLGZbaSsyMD4+Ml18MCxmW2krMTY+PjJdfDAsZltpKzI0Pj4y
XXwwLDApO2k9bn1lbHNlIGw9Mjc1O2JyZWFrfWNhc2UgMTY6e2lmKChiW0E+PjBdfDApIT0wPyhm
W3o+PjJdfDApIT0wOjApe2c9ZFcoVSxuLG0sZltEYT4+Ml18MCl8MDtmWyhmW3o+PjJdfDApKzI4
Pj4yXT1nO2lmKCEoZlsoZlt6Pj4yXXwwKSsyOD4+Ml18MCkpe2k9MTtsPTI4MDticmVhayBhfWZb
Vz4+Ml09ZltYPj4yXTtpZihmW2lhPj4yXXwwKXtmW3A+PjJdPW07aT1mW3o+PjJdfDA7SWJbZltp
YT4+Ml0mMTVdKGZbdWE+PjJdfDAsZltpPj4yXXwwLGZbaSsyMD4+Ml18MCxmW2krMTY+PjJdfDAs
ZltpKzI0Pj4yXXwwLGZbaSsyOD4+Ml18MCk7aT1uO2JyZWFrIGN9aWYoZlskPj4yXXwwKXtmW3A+
PjJdPW07aT1mW3o+PjJdfDA7SmJbZlskPj4yXSYwXShmW3VhPj4yXXwwLGZbaT4+Ml18MCwwLDAs
MCxmW2krMjA+PjJdfDAsZltpKzE2Pj4yXXwwLGZbaSsyND4+Ml18MCxmW2krMjg+PjJdfDApO2k9
bn1lbHNlIGw9Mjc1fWVsc2UgbD0yNzU7YnJlYWt9Y2FzZSA5OntpZih3YltmW24rNDQ+PjJdJjYz
XShuLG0sZltEYT4+Ml18MCl8MCl7Zlt6Pj4yXT0wO2w9Mjc1O2JyZWFrIGN9aWYoIShiW0E+PjBd
fDApKXtmW1g+PjJdPWZbVz4+Ml07Zlt6Pj4yXT0wO2w9Mjc1O2JyZWFrIGN9aT1kVyhVLG4sbSxm
W0RhPj4yXXwwKXwwO2lmKCFpKXtpPTE7bD0yODA7YnJlYWsgYX1jPWZXKGEscSxpLDM2KXwwO2Zb
ej4+Ml09YztpZighYyl7aT0xO2w9MjgwO2JyZWFrIGF9aWYoKGZbYz4+Ml18MCkhPShpfDApKXtm
W1g+PjJdPWZbVz4+Ml07Zlt6Pj4yXT0wO2w9Mjc1O2JyZWFrIGN9ZltXPj4yXT1mW1g+PjJdO2Zb
KGZbej4+Ml18MCkrMjQ+PjJdPTA7YlsoZlt6Pj4yXXwwKSszMz4+MF09MDtpZighKGZba2E+PjJd
fDApKWk9KGZbbmE+PjJdfDApIT0wO2Vsc2UgaT0xO2JbKGZbej4+Ml18MCkrMzQ+PjBdPShpXjEp
JjE7aWYoIShmWyQ+PjJdfDApKWw9Mjc1O2Vsc2UgaT1uO2JyZWFrfWNhc2UgMTA6e2lmKCEoYltB
Pj4wXXwwKSl7ZltYPj4yXT1mW1c+PjJdO2Zbej4+Ml09MDtsPTI3NTticmVhayBjfWk9ZFcoVSxu
LG0sZltEYT4+Ml18MCl8MDtpZighaSl7aT0xO2w9MjgwO2JyZWFrIGF9Yz1mVyhhLHksaSwzNil8
MDtmW3o+PjJdPWM7aWYoIWMpe2k9MTtsPTI4MDticmVhayBhfWlmKChmW2M+PjJdfDApIT0oaXww
KSl7ZltYPj4yXT1mW1c+PjJdO2Zbej4+Ml09MDtsPTI3NTticmVhayBjfWZbVz4+Ml09ZltYPj4y
XTtmWyhmW3o+PjJdfDApKzI0Pj4yXT0wO2JbKGZbej4+Ml18MCkrMzM+PjBdPTE7aWYoIShmW2th
Pj4yXXwwKSlpPShmW25hPj4yXXwwKSE9MDtlbHNlIGk9MTtiWyhmW3o+PjJdfDApKzM0Pj4wXT0o
aV4xKSYxO2lmKCEoZlskPj4yXXwwKSlsPTI3NTtlbHNlIGk9bjticmVha31jYXNlIDE4OntmW0g+
PjJdPTA7ZltJPj4yXT0wO2lmKCEoZltKPj4yXXwwKSlsPTI3NTtlbHNle209ZFcoUixuLG0sZltE
YT4+Ml18MCl8MDtmW0k+PjJdPW07aWYoIW0pe2k9MTtsPTI4MDticmVhayBhfWZbYmE+PjJdPWZb
YWE+PjJdO2k9bn1icmVha31jYXNlIDIxOntpZighKHhiW2Zbbis1Mj4+Ml0mMTI3XShuLG0sZltE
YT4+Ml18MCxvKXwwKSl7aT0zMjtsPTI4MDticmVhayBhfWlmKCEoZltJPj4yXXwwKSlsPTI3NTtl
bHNle2k9ZltuKzY0Pj4yXXwwO2k9ZFcoUixuLG0raXwwLChmW0RhPj4yXXwwKSsoMC1pKXwwKXww
O2lmKCFpKXtpPTE7bD0yODA7YnJlYWsgYX1nVyhpKTtmW0g+PjJdPWk7ZltiYT4+Ml09ZlthYT4+
Ml07aT1ufWJyZWFrfWNhc2UgMTk6e2lmKChmW0k+PjJdfDApIT0wPyhmW0o+PjJdfDApIT0wOjAp
e2k9ZltuKzY0Pj4yXXwwO2k9ZFcoUixuLG0raXwwLChmW0RhPj4yXXwwKSsoMC1pKXwwKXwwO2lm
KCFpKXtpPTE7bD0yODA7YnJlYWsgYX1mW3A+PjJdPW07SGJbZltKPj4yXSYxNV0oZlt1YT4+Ml18
MCxmW0k+PjJdfDAsZlt3YT4+Ml18MCxpLGZbSD4+Ml18MCk7aT0wfWVsc2UgaT0xO2VXKFIpO2w9
Mjc0O2JyZWFrfWNhc2UgMjA6e2lmKChmW0g+PjJdfDApIT0wPyhmW0o+PjJdfDApIT0wOjApe2Zb
cD4+Ml09bTtIYltmW0o+PjJdJjE1XShmW3VhPj4yXXwwLGZbST4+Ml18MCxmW3dhPj4yXXwwLDAs
ZltIPj4yXXwwKTtpPTB9ZWxzZSBpPTE7ZVcoUik7bD0yNzQ7YnJlYWt9Y2FzZSA1ODp7aWYoZlt1
Pj4yXXwwKXFXKGEsbixtLGZbRGE+PjJdfDApO2k9clcoYSxuLERhLGUsaixrKXwwO2lmKGl8MCl7
bD0yODA7YnJlYWsgYX1pZighKGZbRGE+PjJdfDApKXtsPTE4OTticmVhayBhfWVsc2UgaT1uO2Jy
ZWFrfWNhc2UgNDQ6e2k9ZltMPj4yXXwwO2RvIGlmKChmW0s+PjJdfDApPj4+MD49aT4+PjApe2lm
KCFpKXtnPWZbZWE+PjJdfDA7ZltMPj4yXT0zMjtnPXRiW2cmNjNdKDMyKXwwO2ZbTT4+Ml09Zztp
ZighZyl7bD0xOTg7YnJlYWsgYX1lbHNlIGJyZWFrfWQ9ZltmYT4+Ml18MDtnPWZbTT4+Ml18MDtp
PWk8PDE7ZltMPj4yXT1pO2k9dWJbZCYxMjddKGcsaSl8MDtpZighaSl7bD0xOTM7YnJlYWsgYX1m
W00+PjJdPWk7aT1mW1o+PjJdfDA7aWYoaXwwKXtpPXViW2ZbZmE+PjJdJjEyN10oaSxmW0w+PjJd
PDwyKXwwO2lmKCFpKXtpPTE7bD0yODA7YnJlYWsgYX1mW1o+PjJdPWl9fXdoaWxlKDApO2JbKGZb
TT4+Ml18MCkrKGZbSz4+Ml18MCk+PjBdPTA7aWYoYltQPj4wXXwwKXtpPXRXKGEpfDA7aWYoKGl8
MCk8MCl7aT0xO2w9MjgwO2JyZWFrIGF9ZlsoZltaPj4yXXwwKSsoZltfPj4yXTw8Mik+PjJdPWk7
ZltfPj4yXT0oZltfPj4yXXwwKSsxO2ZbKGZbWT4+Ml18MCkrKGkqMjh8MCk+PjJdPTY7aWYoZltP
Pj4yXXwwKWk9bjtlbHNlIGw9Mjc1fWVsc2UgbD0yNzU7YnJlYWt9Y2FzZSA1MDp7aT0oZltNPj4y
XXwwKSsoZltLPj4yXXwwKXwwO2lmKChiW2k+PjBdfDApPT0xMjQpe2k9MjtsPTI4MDticmVhayBh
fWJbaT4+MF09NDQ7aWYoKGJbUD4+MF18MCkhPTA/KGZbTz4+Ml18MCkhPTA6MClpPW47ZWxzZSBs
PTI3NTticmVha31jYXNlIDQ5OntjPShmW00+PjJdfDApKyhmW0s+PjJdfDApfDA7aT1iW2M+PjBd
fDA7aWYoaTw8MjQ+PjI0PT00NCl7aT0yO2w9MjgwO2JyZWFrIGF9aWYoaTw8MjQ+PjI0PT0wJihi
W1A+PjBdfDApIT0wPyh5YT0oZltZPj4yXXwwKSsoKGZbKGZbWj4+Ml18MCkrKChmW18+PjJdfDAp
Ky0xPDwyKT4+Ml18MCkqMjh8MCl8MCwoZlt5YT4+Ml18MCkhPTMpOjApe2ZbeWE+PjJdPTU7aT0o
ZltPPj4yXXwwKT09MCYxO2M9KGZbTT4+Ml18MCkrKGZbSz4+Ml18MCl8MH1lbHNlIGk9MTtiW2M+
PjBdPTEyNDtsPTI3NDticmVha31jYXNlIDU5OmNhc2UgNjA6e2Jbc2E+PjBdPTE7aWYoZltOPj4y
XXwwKXtjPWZbbis2ND4+Ml18MDtjPWRXKFUsbixtK2N8MCwoZltEYT4+Ml18MCkrKDAtYyl8MCl8
MDtpZighYyl7aT0xO2w9MjgwO2JyZWFrIGF9ZD1mVyhhLHksYywwKXwwO2ZbWD4+Ml09ZltXPj4y
XTtkbyBpZihmW2dhPj4yXXwwKXtpZighKGJbdmE+PjBdfDApKXtpZihiW3NhPj4wXXwwKXtsPTIx
OTticmVha319ZWxzZSBpZihmW25hPj4yXXwwKXtsPTIxOTticmVha31pZighZCl7aT0xMTtsPTI4
MDticmVhayBhfWlmKCEoYltkKzM0Pj4wXXwwKSl7aT0yNDtsPTI4MDticmVhayBhfX1lbHNlIGw9
MjE5O3doaWxlKDApO2lmKChsfDApPT0yMTk/KGw9MCwoZHwwKT09MCk6MCl7YltBPj4wXT1iW3Zh
Pj4wXXwwO2lmKChnfDApIT02MCl7bD0yNzU7YnJlYWsgY31pPWZbbWE+PjJdfDA7aWYoIWkpe2w9
Mjc1O2JyZWFrIGN9RWJbaSYxMjddKGZbdWE+PjJdfDAsYywxKTtpPW47YnJlYWsgY31pPWQrMzJ8
MDtpZihiW2k+PjBdfDApe2k9MTI7bD0yODA7YnJlYWsgYX1pZihmW2QrND4+Ml18MCl7aT11Vyhh
LGQsKGd8MCk9PTYwJjEpfDA7Yz0oaXwwKT09MDtpZihjKXtpPShjXjEpJjE7bD0yNzQ7YnJlYWsg
Y31lbHNle2w9MjgwO2JyZWFrIGF9fWlmKCEoZlt6YT4+Ml18MCkpe2JbQT4+MF09Ylt2YT4+MF18
MDtsPTI3NTticmVhayBjfWJbQmE+PjBdPTA7YltpPj4wXT0xO2c9KHliW2ZbemE+PjJdJjEyN10o
ZltDYT4+Ml18MCwwLGZbZCsyMD4+Ml18MCxmW2QrMTY+PjJdfDAsZltkKzI0Pj4yXXwwKXwwKT09
MDtiW2k+PjBdPTA7aWYoZyl7aT0yMTtsPTI4MDticmVhayBhfWM9Ylt2YT4+MF18MDtpZighKGJb
QmE+PjBdfDApKXtiW0E+PjBdPWM7aT1uO2JyZWFrIGN9ZWxzZSBpPTB9ZWxzZXtjPWJbdmE+PjBd
fDA7YltBPj4wXT1jO2k9MX1pZigoYzw8MjQ+PjI0PT0wPyhBYT1mW3hhPj4yXXwwLChBYXwwKSE9
MCk6MCk/KHRiW0FhJjYzXShmW3VhPj4yXXwwKXwwKT09MDowKXtpPTIyO2w9MjgwO2JyZWFrIGF9
ZWxzZSBsPTI3NDticmVha31jYXNlIDQwOntpZighKGZbTz4+Ml18MCkpbD0yNzU7ZWxzZXttPWlX
KGEsbixtLGZbRGE+PjJdfDApfDA7ZltDPj4yXT1tO2lmKCFtKXtpPTE7bD0yODA7YnJlYWsgYX1m
W18+PjJdPTA7ZltoYT4+Ml09MDtiW1A+PjBdPTE7aT1ufWJyZWFrfWNhc2UgNDI6Y2FzZSA0MTp7
aWYoIShiW1A+PjBdfDApKWw9Mjc1O2Vsc2V7aWYoIShmW08+PjJdfDApKWk9MTtlbHNle2k9dGJb
ZltlYT4+Ml0mNjNdKDIwKXwwO2lmKCFpKXtpPTE7bD0yODA7YnJlYWsgYX1sPWkrNHwwO2ZbbD4+
Ml09MDtmW2wrND4+Ml09MDtmW2wrOD4+Ml09MDtmW2wrMTI+PjJdPTA7ZltpPj4yXT0oZ3wwKT09
NDE/MjoxO2ZbcD4+Ml09bTtFYltmW08+PjJdJjEyN10oZlt1YT4+Ml18MCxmW2ZbQz4+Ml0+PjJd
fDAsaSk7aT0wfWJbUD4+MF09MDtsPTI3NH1icmVha31jYXNlIDQzOntpZigoYltQPj4wXXwwKSE9
MD8oZlsoZltZPj4yXXwwKSsoKGZbKGZbWj4+Ml18MCkrKChmW18+PjJdfDApKy0xPDwyKT4+Ml18
MCkqMjh8MCk+PjJdPTMsKGZbTz4+Ml18MCkhPTApOjApaT1uO2Vsc2UgbD0yNzU7YnJlYWt9Y2Fz
ZSA1MTp7Yz0wO2w9MjQ3O2JyZWFrfWNhc2UgNTM6e2M9MTtsPTI0NzticmVha31jYXNlIDUyOntj
PTI7bD0yNDc7YnJlYWt9Y2FzZSA1NDp7Yz0zO2w9MjQ3O2JyZWFrfWNhc2UgNDU6e2Q9MDtsPTI1
ODticmVha31jYXNlIDQ3OntkPTE7bD0yNTg7YnJlYWt9Y2FzZSA0Njp7ZD0yO2w9MjU4O2JyZWFr
fWNhc2UgNDg6e2Q9MztsPTI1ODticmVha31jYXNlIDU1OntpZighKHdXKGEsbixtLGZbRGE+PjJd
fDApfDApKXtpPTE7bD0yODA7YnJlYWsgYX1lbHNlIGk9bjticmVha31jYXNlIDU2OntpZighKHhX
KGEsbixtLGZbRGE+PjJdfDApfDApKXtpPTE7bD0yODA7YnJlYWsgYX1lbHNlIGk9bjticmVha31j
YXNlIDA6e2lmKChjfDApPT0xNClpPW47ZWxzZSBsPTI3NTticmVha31jYXNlIDM6e2lmKCEoZlt3
Pj4yXXwwKSlsPTI3NTtlbHNlIGk9bjticmVha31jYXNlIDExOntpZigoYltBPj4wXXwwKSE9MD8o
ZlskPj4yXXwwKSE9MDowKWk9bjtlbHNlIGw9Mjc1O2JyZWFrfWNhc2UgMTc6e2lmKCEoZltKPj4y
XXwwKSlsPTI3NTtlbHNlIGk9bjticmVha31jYXNlIDMzOntpZigoYltBPj4wXXwwKSE9MD8oZltU
Pj4yXXwwKSE9MDowKWk9bjtlbHNlIGw9Mjc1O2JyZWFrfWNhc2UgMzk6e2lmKCEoZltPPj4yXXww
KSlsPTI3NTtlbHNlIGk9bjticmVha31kZWZhdWx0Omw9Mjc1fXdoaWxlKDApO2lmKChsfDApPT0z
MylpZighKHhiW2Zbbis1Mj4+Ml0mMTI3XShuLG0sZltEYT4+Ml18MCxvKXwwKSl7aT0zMjtsPTI4
MDticmVha31lbHNle2k9MTtsPTM0fWVsc2UgaWYoKGx8MCk9PTgwKXtsPTA7aWYoKGJbQT4+MF18
MCkhPTA/KGZbVD4+Ml18MCkhPTA6MClpPW47ZWxzZSBsPTI3NX1lbHNlIGlmKChsfDApPT0xMzMp
e2w9MDtpZigoYltBPj4wXXwwKSE9MD8oZlt6Pj4yXXwwKSE9MDowKXtjPWZbbis2ND4+Ml18MDtj
PWRXKFUsbixtK2N8MCwoZltEYT4+Ml18MCkrKDAtYyl8MCl8MDtmWyhmW3o+PjJdfDApKzE2Pj4y
XT1jO2M9Zlt6Pj4yXXwwO2lmKCEoZltjKzE2Pj4yXXwwKSl7aT0xO2w9MjgwO2JyZWFrfWZbYysy
MD4+Ml09Zlt3YT4+Ml07ZltXPj4yXT1mW1g+PjJdO2lmKChnfDApPT0xMyYoZlskPj4yXXwwKSE9
MClpPW47ZWxzZSBsPTI3NH1lbHNlIGw9Mjc0fWVsc2UgaWYoKGx8MCk9PTI0Nyl7bD0wO2lmKGJb
UD4+MF18MCl7aT1mW0RhPj4yXXwwO2lmKGMpaT1pKygwLShmW24rNjQ+PjJdfDApKXwwO2Q9dFco
YSl8MDtpZigoZHwwKTwwKXtpPTE7bD0yODA7YnJlYWt9ZlsoZltZPj4yXXwwKSsoZCoyOHwwKT4+
Ml09NDtmWyhmW1k+PjJdfDApKyhkKjI4fDApKzQ+PjJdPWM7aT1pVyhhLG4sbSxpKXwwO2lmKCFp
KXtpPTE7bD0yODA7YnJlYWt9Yz1mW2k+PjJdfDA7ZlsoZltZPj4yXXwwKSsoZCoyOHwwKSs4Pj4y
XT1jO2k9MDtkb3tnPWk7aT1pKzF8MH13aGlsZSgoYltjK2c+PjBdfDApIT0wKTtmW2phPj4yXT0o
ZltqYT4+Ml18MCkraTtpZihmW08+PjJdfDApaT1uO2Vsc2UgbD0yNzV9ZWxzZSBsPTI3NX1lbHNl
IGlmKChsfDApPT0yNTgpaWYoYltQPj4wXXwwKXtjPShmW08+PjJdfDApPT0wO2k9YyYxO2w9KGZb
Xz4+Ml18MCkrLTF8MDtmW18+PjJdPWw7ZlsoZltZPj4yXXwwKSsoKGZbKGZbWj4+Ml18MCkrKGw8
PDIpPj4yXXwwKSoyOHwwKSs0Pj4yXT1kO2lmKCEoZltfPj4yXXwwKSl7aWYoIWMpe2M9dlcoYSl8
MDtpZighYyl7aT0xO2w9MjgwO2JyZWFrfWZbcD4+Ml09bTtFYltmW08+PjJdJjEyN10oZlt1YT4+
Ml18MCxmW2ZbQz4+Ml0+PjJdfDAsYyl9YltQPj4wXT0wO2ZbamE+PjJdPTA7bD0yNzR9ZWxzZSBs
PTI3NH1lbHNlIGw9Mjc1O2lmKChsfDApPT0zNCl7bD0wO2lmKChiW0E+PjBdfDApIT0wPyhmW3o+
PjJdfDApIT0wOjApe2M9ZltuKzY0Pj4yXXwwO2M9ZFcoVSxuLG0rY3wwLChmW0RhPj4yXXwwKSso
MC1jKXwwKXwwO2lmKCFjKXtpPTE7bD0yODA7YnJlYWt9Z1coYyk7ZlsoZlt6Pj4yXXwwKSsyND4+
Ml09YztmW1c+PjJdPWZbWD4+Ml07aWYoKGd8MCk9PTE0JihmWyQ+PjJdfDApIT0wKWk9bjtlbHNl
IGw9Mjc0fWVsc2UgbD0yNzR9aWYoKGx8MCk9PTI3NCl7bD0wO2lmKCEoaTw8MjQ+PjI0KSlpPW47
ZWxzZSBsPTI3NX1pZigobHwwKT09Mjc1KXtsPTA7aWYoIShmW3U+PjJdfDApKWk9bjtlbHNle3FX
KGEsbixtLGZbRGE+PjJdfDApO2k9bn19c3dpdGNoKGZbdj4+Ml18MCl7Y2FzZSAzOntsPTI3ODti
cmVhayBhfWNhc2UgMjp7aT0zNTtsPTI4MDticmVhayBhfWRlZmF1bHQ6e319Yz1mW0RhPj4yXXww
O249aTttPWM7Yz14YltmW2k+PjJdJjEyN10oaSxjLGUsRGEpfDB9ZDpzd2l0Y2gobHwwKXtjYXNl
IDc6e2Zbaj4+Ml09bTtpPTA7YnJlYWt9Y2FzZSA5OntmW28+PjJdPWQ7aT00O2JyZWFrfWNhc2Ug
MTA6e2k9KG58MCk9PShmW3I+PjJdfDApO2lmKGkpe2lmKCEoKGJbYSs0ODQ+PjBdfDApIT0wfGle
MSkpe2k9MzticmVha319ZWxzZSBpZighKGJbKGZbbmE+PjJdfDApKzIwPj4wXXwwKSl7ZltqPj4y
XT1tO2k9MDticmVha31pZigoeWJbZltwYT4+Ml0mMTI3XShwYSwtNCxlLGUsbil8MCk9PS0xKWk9
Mjk7ZWxzZXtmW2o+PjJdPW07aT0wfWJyZWFrfWNhc2UgNTg6e2RvIGlmKChiW3g+PjBdfDA/KEVh
PWJbc2E+PjBdfDAsYltzYT4+MF09MSxmW04+PjJdfDApOjApP2ZbemE+PjJdfDA6MCl7aT1mVyhh
LHksODc0MzUsMzYpfDA7aWYoIWkpe2k9MTticmVhayBkfURhPWkrMjB8MDtmW0RhPj4yXT1mW3dh
Pj4yXTtiW0JhPj4wXT0wO2lmKCEoeWJbZlt6YT4+Ml0mMTI3XShmW0NhPj4yXXwwLDAsZltEYT4+
Ml18MCxmW2krMTY+PjJdfDAsZltpKzI0Pj4yXXwwKXwwKSl7aT0yMTticmVhayBkfWlmKCEoYltC
YT4+MF18MCkpe2Jbc2E+PjBdPUVhO2JyZWFrfWlmKCgoYlt2YT4+MF18MCk9PTA/KEZhPWZbeGE+
PjJdfDAsRmF8MCk6MCk/KHRiW0ZhJjYzXShmW3VhPj4yXXwwKXwwKT09MDowKXtpPTIyO2JyZWFr
IGR9fXdoaWxlKDApO2ZbYSsyNzY+PjJdPTU4O2k9aFcoYSxtLGUsail8MDticmVha31jYXNlIDE4
NDp7aT0oY3wwKT09Mjg/MTA6KGN8MCk9PTEyPzE3OjI7YnJlYWt9Y2FzZSAxODk6e2ZbYSsyNzY+
PjJdPTU5O2k9MDticmVha31jYXNlIDE5Mzp7ZltMPj4yXT0oZltMPj4yXXwwKT4+PjE7aT0xO2Jy
ZWFrfWNhc2UgMTk4OntmW0w+PjJdPTA7aT0xO2JyZWFrfWNhc2UgMjc4OntmW2o+PjJdPWZbRGE+
PjJdO2k9MDticmVha31jYXNlIDI4MDpicmVha310PUdhO3JldHVybiBpfDB9ZnVuY3Rpb24gY1co
YSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAs
bD0wLG09MCxuPTAsbz0wLHA9MDtwPXQ7dD10KzMyfDA7bz1wKzE2fDA7bD1wKzEyfDA7aT1wKzh8
MDtqPXArNHwwO2s9cDtmW28+PjJdPTA7ZltsPj4yXT0wO2ZbaT4+Ml09MDtmW2s+PjJdPS0xO209
YSsxNDR8MDtuPWErMjg0fDA7Zz0oY3wwKSE9MDthOmRvIGlmKEFiWyhiW2ErMjMyPj4wXTw8MjQ+
PjI0PT0wPzI6MSkmM10oYyxmW20+PjJdfDAsZCxlLG4saSxqLG8sbCxrKXwwKXtpZigoZltrPj4y
XXwwKT09MSYoZ14xKT8oYlsoZlthKzM1Mj4+Ml18MCkrMTMwPj4wXT0xLGg9YSs0ODh8MCwoZlto
Pj4yXXwwKT09MSk6MClmW2g+PjJdPTA7aD1hKzE0MHwwO2lmKCEoZltoPj4yXXwwKSlpZighKGZb
YSs4MD4+Ml18MCkpe2Q9MDtjPTB9ZWxzZXtxVyhhLGZbbT4+Ml18MCxkLGUpO2Q9MDtjPTB9ZWxz
ZXtjPWZbbz4+Ml18MDtpZighYyljPTA7ZWxzZXtlPWZbbT4+Ml18MDtjPWRXKGErNDM2fDAsZSxj
LGMrKHViW2ZbZSsyOD4+Ml0mMTI3XShlLGMpfDApfDApfDA7aWYoIWMpe2M9MTticmVha31mW2Er
NDUyPj4yXT1mW2ErNDQ4Pj4yXX1nPWZbaT4+Ml18MDtpZihnKXtpPWZbbT4+Ml18MDtnPWRXKGEr
NDM2fDAsaSxnLChmW2o+PjJdfDApKygwLShmW2krNjQ+PjJdfDApKXwwKXwwO2lmKCFnKXtjPTE7
YnJlYWt9fWVsc2UgZz0wO0diW2ZbaD4+Ml0mMzFdKGZbYSs0Pj4yXXwwLGcsYyxmW2s+PjJdfDAp
O2Q9Z31kbyBpZighKGZbYSsyMjg+PjJdfDApKXtnPWZbbD4+Ml18MDtoPWc7aWYoZ3wwKXtrPWZb
Zys2ND4+Ml18MDtsPWZbbT4+Ml18MDtpZigoa3wwKT09KGZbbCs2ND4+Ml18MCk/KGt8MCkhPTJ8
KGd8MCk9PShsfDApOjApe2ZbbT4+Ml09aDticmVha31mW24+PjJdPWZbbz4+Ml07Yz0xOTticmVh
ayBhfWc9ZltvPj4yXXwwO2lmKGd8MCl7aD1hKzQzNnwwO2lmKCFjKXtjPWZbbT4+Ml18MDtjPWRX
KGgsYyxnLGcrKHViW2ZbYysyOD4+Ml0mMTI3XShjLGcpfDApfDApfDA7aWYoIWMpe2M9MTticmVh
ayBhfX1jPVlXKGEsYyl8MDtlVyhoKTtpZigoY3wwKSE9MTgpYnJlYWsgYTtmW24+PjJdPWZbbz4+
Ml07Yz0xODticmVhayBhfX13aGlsZSgwKTtpZigoY3wwKSE9MHwoZHwwKSE9MCl7ZVcoYSs0MzZ8
MCk7Yz0wfWVsc2UgYz0wfWVsc2UgYz1nPzMxOjMwO3doaWxlKDApO3Q9cDtyZXR1cm4gY3wwfWZ1
bmN0aW9uIGRXKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2RvIGlmKCEobFcoYSxj
LGQsZSl8MCkpYz0wO2Vsc2V7ZD1hKzEyfDA7Yz1mW2Q+PjJdfDA7aWYoKGN8MCk9PShmW2ErOD4+
Ml18MCkpe2lmKCEoKG5XKGEpfDApPDwyND4+MjQpKXtjPTA7YnJlYWt9Yz1mW2Q+PjJdfDB9Zltk
Pj4yXT1jKzE7YltjPj4wXT0wO2M9ZlthKzE2Pj4yXXwwfXdoaWxlKDApO3JldHVybiBjfDB9ZnVu
Y3Rpb24gZVcoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTA7ZD1hKzR8MDtiPWZbZD4+
Ml18MDthOmRvIGlmKCFiKXtmW2Q+PjJdPWZbYT4+Ml07Yj1hfWVsc2V7Yz1mW2E+PjJdfDA7d2hp
bGUoMSl7aWYoIWMpe2I9YTticmVhayBhfWc9ZltjPj4yXXwwO2ZbYz4+Ml09YjtmW2Q+PjJdPWM7
ZT1jO2M9ZztiPWV9fXdoaWxlKDApO2ZbYj4+Ml09MDtmW2ErMTY+PjJdPTA7ZlthKzEyPj4yXT0w
O2ZbYSs4Pj4yXT0wO3JldHVybn1mdW5jdGlvbiBmVyhhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8
MDtlPWV8MDt2YXIgZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxz
PTAsdD0wLHU9MCx2PTAsdz0wLHg9MDt3PWMrOHwwO2E6ZG8gaWYoIShmW3c+PjJdfDApKWlmKGUp
e2JbYys0Pj4wXT02O2Zbdz4+Ml09NjQ7Zz1jKzE2fDA7aT10YltmW2ZbZz4+Ml0+PjJdJjYzXSgy
NTYpfDA7ZltjPj4yXT1pO2lmKCFpKXtmW3c+PjJdPTA7Zz0wO2JyZWFrfWVsc2V7UzMoaXwwLDAs
MjU2KXwwO2o9V1coYSxkKXwwO2o9KGZbdz4+Ml18MCkrLTEmajtpPWM7bz0yNzticmVha319ZWxz
ZSBnPTA7ZWxzZXt2PVdXKGEsZCl8MDtrPWZbdz4+Ml18MDtqPWsrLTF8MDtsPWZbYz4+Ml18MDtt
PXYmMC1rO3U9Yys0fDA7bj1qPj4+MjtpPTA7aj1qJnY7d2hpbGUoMSl7Zz1mW2wrKGo8PDIpPj4y
XXwwO2lmKCFnKWJyZWFrO2lmKChYVyhkLGZbZz4+Ml18MCl8MCk8PDI0Pj4yNClicmVhayBhO2lm
KCEoaTw8MjQ+PjI0KSlnPShtPj4+KChoW3U+PjBdfDApKy0xfDApJm58MSkmMjU1O2Vsc2UgZz1p
O3Q9ZyYyNTU7aT1nO2o9ai10KyhqPj4+MDx0Pj4+MD9rOjApfDB9aWYoZSl7aT1iW3U+PjBdfDA7
Zz1pJjI1NTtpZighKChmW2MrMTI+PjJdfDApPj4+KGcrLTF8MCkpKXtnPWMrMTZ8MDtpPWM7bz0y
NzticmVha31xPWcrMSYyNTU7aj1pKzEmMjU1O3M9MTw8ajtyPXMrLTF8MDtpPXM8PDI7Zz1jKzE2
fDA7dD10YltmW2ZbZz4+Ml0+PjJdJjYzXShpKXwwO2lmKHQpe1MzKHR8MCwwLGl8MCl8MDtwPTAt
c3wwO249aistMXwwO289cj4+PjI7bT0wO3doaWxlKDEpe2lmKG0+Pj4wPj0oZlt3Pj4yXXwwKT4+
PjApYnJlYWs7aT1mWyhmW2M+PjJdfDApKyhtPDwyKT4+Ml18MDtpZihpfDApe2k9V1coYSxmW2k+
PjJdfDApfDA7az0oKGkmcCk+Pj5uJm98MSkmMjU1O2k9aSZyO2o9MDt3aGlsZSgxKXtsPXQrKGk8
PDIpfDA7aWYoIShmW2w+PjJdfDApKWJyZWFrO2w9ajw8MjQ+PjI0PT0wP2s6ajt4PWwmMjU1O2k9
aS14KyhpPj4+MDx4Pj4+MD9zOjApfDA7aj1sfWZbbD4+Ml09ZlsoZltjPj4yXXwwKSsobTw8Mik+
PjJdfW09bSsxfDB9Q2JbZlsoZltnPj4yXXwwKSs4Pj4yXSYxMjddKGZbYz4+Ml18MCk7ZltjPj4y
XT10O2JbdT4+MF09cTtmW3c+PjJdPXM7az0oKHYmcCk+Pj5uJm98MSkmMjU1O2k9ciZ2O2o9MDt3
aGlsZSgxKXtpZighKGZbdCsoaTw8Mik+PjJdfDApKXtqPWk7aT1jO289Mjc7YnJlYWsgYX14PWo8
PDI0Pj4yND09MD9rOmo7dz14JjI1NTtpPWktdysoaT4+PjA8dz4+PjA/czowKXwwO2o9eH19ZWxz
ZSBnPTB9ZWxzZSBnPTB9d2hpbGUoMCk7aWYoKG98MCk9PTI3KXtnPXRiW2ZbZltnPj4yXT4+Ml0m
NjNdKGUpfDA7ZlsoZltpPj4yXXwwKSsoajw8Mik+PjJdPWc7Zz1mWyhmW2k+PjJdfDApKyhqPDwy
KT4+Ml18MDtpZighZylnPTA7ZWxzZXtTMyhnfDAsMCxlfDApfDA7ZltmWyhmW2k+PjJdfDApKyhq
PDwyKT4+Ml0+PjJdPWQ7Zz1jKzEyfDA7ZltnPj4yXT0oZltnPj4yXXwwKSsxO2c9ZlsoZltpPj4y
XXwwKSsoajw8Mik+PjJdfDB9fXJldHVybiBnfDB9ZnVuY3Rpb24gZ1coYSl7YT1hfDA7dmFyIGM9
MCxkPTAsZT0wO2U9YTtjPWE7d2hpbGUoMSl7ZD1iW2U+PjBdfDA7aWYoIShkPDwyND4+MjQpKWJy
ZWFrO3N3aXRjaChkPDwyND4+MjR8MCl7Y2FzZSAxMDpjYXNlIDEzOmNhc2UgMzI6e2lmKChjfDAp
IT0oYXwwKSl7aWYoKGJbYystMT4+MF18MCkhPTMyKXtiW2M+PjBdPTMyO2M9YysxfDB9fWVsc2Ug
Yz1hO2JyZWFrfWRlZmF1bHQ6e2JbYz4+MF09ZDtjPWMrMXwwfX1lPWUrMXwwfWlmKChjfDApIT0o
YXwwKSl7YT1jKy0xfDA7YT0oYlthPj4wXXwwKT09MzI/YTpjfWJbYT4+MF09MDtyZXR1cm59ZnVu
Y3Rpb24gaFcoYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Yz1BVyhhLDAsZlthKzE0
ND4+Ml18MCxjLGQsZSwoYlthKzQ4MD4+MF18MCk9PTAmMSl8MDtpZigoY3wwKT09MD8oSlcoYSl8
MCk8PDI0Pj4yND09MDowKWM9MTtyZXR1cm4gY3wwfWZ1bmN0aW9uIGlXKGEsYixjLGQpe2E9YXww
O2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wO2c9ZlthKzM1Mj4+Ml18MDtiPWRXKGcrODB8
MCxiLGMsZCl8MDtkbyBpZigoYnwwKSE9MD8oZT1mVyhhLGcrMjB8MCxiLDI0KXwwLChlfDApIT0w
KTowKWlmKChmW2U+PjJdfDApPT0oYnwwKSl7ZltnKzk2Pj4yXT1mW2crOTI+PjJdO2lmKCEoTFco
YSxlKXwwKSl7ZT0wO2JyZWFrfX1lbHNlIGZbZys5Mj4+Ml09ZltnKzk2Pj4yXTtlbHNlIGU9MDt3
aGlsZSgwKTtyZXR1cm4gZXwwfWZ1bmN0aW9uIGpXKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHww
O2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO209ZlthKzM1Mj4+Ml18
MDtrPW0rODB8MDtuPW0rOTJ8MDtoPWZbbj4+Ml18MDtsPW0rODh8MDtpZigoaHwwKT09KGZbbD4+
Ml18MCkpaWYoISgoblcoayl8MCk8PDI0Pj4yNCkpZz0wO2Vsc2V7aD1mW24+PjJdfDA7aT00fWVs
c2UgaT00O2E6ZG8gaWYoKGl8MCk9PTQpe2Zbbj4+Ml09aCsxO2JbaD4+MF09MDtjPWRXKGssYyxk
LGUpfDA7aWYoKGN8MCkhPTA/KGo9YysxfDAsZz1mVyhhLG0rNDB8MCxqLDEyKXwwLChnfDApIT0w
KTowKXtpZigoZltnPj4yXXwwKSE9KGp8MCkpe2Zbbj4+Ml09ZlttKzk2Pj4yXTticmVha31oPWZb
bj4+Ml18MDtpPW0rOTZ8MDtmW2k+PjJdPWg7aWYoYlthKzIzMj4+MF18MCl7ZD1iW2o+PjBdfDA7
YjpkbyBpZigoKChkPDwyND4+MjQ9PTEyMD8oYltjKzI+PjBdfDApPT0xMDk6MCk/KGJbYyszPj4w
XXwwKT09MTA4OjApPyhiW2MrND4+MF18MCk9PTExMDowKT8oYltjKzU+PjBdfDApPT0xMTU6MCl7
c3dpdGNoKGJbYys2Pj4wXXwwKXtjYXNlIDA6e2ZbZys0Pj4yXT1tKzE1MjticmVha31jYXNlIDU4
OntuPWZXKGEsbSs2MHwwLGMrN3wwLDgpfDA7ZltnKzQ+PjJdPW47YnJlYWt9ZGVmYXVsdDpicmVh
ayBifWJbZys5Pj4wXT0xO2JyZWFrIGF9d2hpbGUoMCk7ZT0wO2M9ZDtjOndoaWxlKDEpe3N3aXRj
aChjPDwyND4+MjQpe2Nhc2UgMDpicmVhayBhO2Nhc2UgNTg6YnJlYWsgYztkZWZhdWx0Ont9fWM9
ZSsxfDA7ZT1jO2M9YltqK2M+PjBdfDB9ZD0wO3doaWxlKDEpe2M9KGh8MCk9PShmW2w+PjJdfDAp
O2lmKGQ+Pj4wPj1lPj4+MClicmVhaztpZihjKXtpZighKChuVyhrKXwwKTw8MjQ+PjI0KSl7Zz0w
O2JyZWFrIGF9aD1mW24+PjJdfDB9Yz1iW2orZD4+MF18MDtmW24+PjJdPWgrMTtiW2g+PjBdPWM7
ZD1kKzF8MDtoPWZbbj4+Ml18MH1pZihjKXtpZighKChuVyhrKXwwKTw8MjQ+PjI0KSl7Zz0wO2Jy
ZWFrfWg9ZltuPj4yXXwwfWZbbj4+Ml09aCsxO2JbaD4+MF09MDtoPWZXKGEsbSs2MHwwLGZbaT4+
Ml18MCw4KXwwO2ZbZys0Pj4yXT1oO2lmKGgpe2M9ZltpPj4yXXwwO2lmKChmW2g+PjJdfDApPT0o
Y3wwKSl7ZltpPj4yXT1mW24+PjJdO2JyZWFrfWVsc2V7ZltuPj4yXT1jO2JyZWFrfX1lbHNlIGc9
MH19ZWxzZSBnPTB9d2hpbGUoMCk7cmV0dXJuIGd8MH1mdW5jdGlvbiBrVyhhLGMpe2E9YXwwO2M9
Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wO2c9YSsxMnwwO2g9YSs4fDA7d2hpbGUoMSl7ZD1i
W2M+PjBdfDA7aWYoIShkPDwyND4+MjQpKXtpPTc7YnJlYWt9ZT1mW2c+PjJdfDA7aWYoKGV8MCk9
PShmW2g+PjJdfDApKXtpZighKChuVyhhKXwwKTw8MjQ+PjI0KSl7Yz0wO2JyZWFrfWU9ZltnPj4y
XXwwO2Q9YltjPj4wXXwwfWZbZz4+Ml09ZSsxO2JbZT4+MF09ZDtjPWMrMXwwfWlmKChpfDApPT03
KWM9ZlthKzE2Pj4yXXwwO3JldHVybiBjfDB9ZnVuY3Rpb24gbFcoYSxiLGMsZCl7YT1hfDA7Yj1i
fDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MDtpPXQ7dD10KzE2fDA7aD1pO2ZbaD4+
Ml09YztnPWErMTJ8MDtpZigoZltnPj4yXXwwKT09MD8oblcoYSl8MCk8PDI0Pj4yND09MDowKWM9
MDtlbHNlIGU9MzthOmRvIGlmKChlfDApPT0zKXtjPWIrNTZ8MDtlPWErOHwwO3doaWxlKDEpe2lm
KCh5YltmW2M+PjJdJjEyN10oYixoLGQsZyxmW2U+PjJdfDApfDApPj4+MDwyKWJyZWFrO2lmKCEo
KG5XKGEpfDApPDwyND4+MjQpKXtjPTA7YnJlYWsgYX19Yz1mW2ErMTY+PjJdfDB9d2hpbGUoMCk7
dD1pO3JldHVybiBjfDB9ZnVuY3Rpb24gbVcoYSxjLGQsZSxnLGgpe2E9YXwwO2M9Y3wwO2Q9ZHww
O2U9ZXwwO2c9Z3wwO2g9aHwwO3ZhciBpPTAsaj0wLGs9MCxsPTAsbT0wLG49MDtpPWU8PDI0Pj4y
ND09MDtuPWErMTJ8MDttPWZbbj4+Ml18MDthOmRvIGlmKCEoaSYoZ3wwKT09MCkpe2o9YSsyMHww
O2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KG18MCkpYnJlYWs7aWYoKGZbKGZbaj4+Ml18MCkrKGUq
MTJ8MCk+PjJdfDApPT0oY3wwKSl7ZT0xO2JyZWFrIGF9ZWxzZSBlPWUrMXwwfWlmKCghaT8oaz1h
Kzh8MCwoZltrPj4yXXwwKT09MCk6MCk/KGJbYys5Pj4wXXwwKT09MDowKXtmW2s+PjJdPWM7bD05
fWVsc2UgbD05fWVsc2UgbD05O3doaWxlKDApO2I6ZG8gaWYoKGx8MCk9PTkpe2o9YSsxNnwwO2Rv
IGlmKChtfDApPT0oZltqPj4yXXwwKSlpZighbSl7ZltqPj4yXT04O2U9dGJbZltoKzEyPj4yXSY2
M10oOTYpfDA7ZlthKzIwPj4yXT1lO2lmKGV8MClicmVhaztmW2o+PjJdPTA7ZT0wO2JyZWFrIGJ9
ZWxzZXtpPWErMjB8MDtlPXViW2ZbaCsxNj4+Ml0mMTI3XShmW2k+PjJdfDAsbSoyNHwwKXwwO2lm
KCFlKXtlPTA7YnJlYWsgYn1mW2o+PjJdPW08PDE7ZltpPj4yXT1lO2JyZWFrfWVsc2UgZT1mW2Er
MjA+PjJdfDA7d2hpbGUoMCk7aD1mW24+PjJdfDA7ZltlKyhoKjEyfDApPj4yXT1jO2ZbZSsoaCox
MnwwKSs4Pj4yXT1nO2JbZSsoaCoxMnwwKSs0Pj4wXT1kO2lmKCEoZDw8MjQ+PjI0KSliW2MrOD4+
MF09MTtmW24+PjJdPShmW24+PjJdfDApKzE7ZT0xfXdoaWxlKDApO3JldHVybiBlfDB9ZnVuY3Rp
b24gblcoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9
MDtiPWErNHwwO2Q9ZltiPj4yXXwwO2RvIGlmKGQpe2U9YSsxNnwwO2c9ZltlPj4yXXwwO2lmKCFn
KXtmW2E+PjJdPWQ7ZltiPj4yXT1mW2Q+PjJdO2ZbZD4+Ml09MDtsPWZbYT4+Ml18MDtiPWwrOHww
O2ZbZT4+Ml09YjtmW2ErOD4+Ml09KGZbbCs0Pj4yXXwwKSsobCs4KTtmW2ErMTI+PjJdPWI7Yj0x
O2JyZWFrfWM9YSs4fDA7aWYoKChmW2M+PjJdfDApLWd8MCk8KGZbZCs0Pj4yXXwwKSl7az1mW2Q+
PjJdfDA7ZltkPj4yXT1mW2E+PjJdO2w9ZltiPj4yXXwwO2ZbYT4+Ml09bDtmW2I+PjJdPWs7Yj1m
W2U+PjJdfDA7UTMobCs4fDAsYnwwLChmW2M+PjJdfDApLWJ8MCl8MDtiPWZbYT4+Ml18MDtsPWEr
MTJ8MDtmW2w+PjJdPShmW2w+PjJdfDApLShmW2U+PjJdfDApKyhiKzgpO2ZbZT4+Ml09Yis4O2Zb
Yz4+Ml09KGZbYis0Pj4yXXwwKSsoYis4KTtiPTF9ZWxzZSBoPTZ9ZWxzZSBoPTY7d2hpbGUoMCk7
YTpkbyBpZigoaHwwKT09Nil7ZD1mW2E+PjJdfDA7az1hKzE2fDA7ZG8gaWYoIWQpe2k9aztiPWZb
az4+Ml18MH1lbHNle2o9ZltrPj4yXXwwO2I9ajtpZigoanwwKSE9KGQrOHwwKSl7aT1rO2JyZWFr
fWU9YSs4fDA7Zz0oZltlPj4yXXwwKS1iPDwxO2g9YSsxMnwwO2M9KGZbaD4+Ml18MCktYnwwO2lm
KChnfDApPDApe2I9MDticmVhayBhfWI9VlcoZyl8MDtpZighYil7Yj0wO2JyZWFrIGF9Yj11Yltm
WyhmW2ErMjA+PjJdfDApKzQ+PjJdJjEyN10oZCxiKXwwO2lmKCFiKXtiPTA7YnJlYWsgYX1mW2E+
PjJdPWI7ZltiKzQ+PjJdPWc7Yj1mW2E+PjJdfDA7ZltoPj4yXT1iKzgrYztmW2s+PjJdPWIrODtm
W2U+PjJdPWIrOCtnO2I9MTticmVhayBhfXdoaWxlKDApO2o9YSs4fDA7Yj0oZltqPj4yXXwwKS1i
fDA7aWYoKGJ8MCk+PTApe2lmKChifDApPj0xMDI0KXtiPWI8PDE7aWYoKGJ8MCk8MCl7Yj0wO2Jy
ZWFrfX1lbHNlIGI9MTAyNDtjPVZXKGIpfDA7aWYoKGN8MCkhPTA/KGw9dGJbZltmW2ErMjA+PjJd
Pj4yXSY2M10oYyl8MCwobHwwKSE9MCk6MCl7ZltsKzQ+PjJdPWI7ZltsPj4yXT1mW2E+PjJdO2Zb
YT4+Ml09bDtoPWErMTJ8MDthPWZbaD4+Ml18MDtkPWZbaz4+Ml18MDtjPWE7ZT1kO2lmKChhfDAp
PT0oZHwwKSl7Zz1sKzh8MDtkPWV9ZWxzZXtnPWwrOHwwO1EzKGd8MCxkfDAsYy1lfDApfDA7ZD1m
W2k+PjJdfDA7Yz1mW2g+PjJdfDB9ZltoPj4yXT1sKzgrKGMtZCk7ZltrPj4yXT1nO2Zbaj4+Ml09
bCs4K2I7Yj0xfWVsc2UgYj0wfWVsc2UgYj0wfXdoaWxlKDApO3JldHVybiBifDB9ZnVuY3Rpb24g
b1coYSxjLGQsZSxnLGgpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO2g9aHwwO3ZhciBp
PTA7YT1VVyhhLGMsZCxlLGcsaCl8MDtkbyBpZighYSl7Yz1oKzEyfDA7YT1mW2M+PjJdfDA7aWYo
KGQ8PDI0Pj4yND09MD8oZltoKzE2Pj4yXXwwKSE9KGF8MCk6MCk/KGk9YSstMXwwLChiW2k+PjBd
fDApPT0zMik6MCl7ZltjPj4yXT1pO2E9aX1pZigoYXwwKT09KGZbaCs4Pj4yXXwwKSl7aWYoISgo
blcoaCl8MCk8PDI0Pj4yNCkpe2E9MTticmVha31hPWZbYz4+Ml18MH1mW2M+PjJdPWErMTtiW2E+
PjBdPTA7YT0wfXdoaWxlKDApO3JldHVybiBhfDB9ZnVuY3Rpb24gcFcoYSxjLGQsZSl7YT1hfDA7
Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0w
LHA9MCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAs
RT0wLEY9MCxHPTAsSD0wO0g9dDt0PXQrMTZ8MDtCPUg7Qz1IKzR8MDtnPWZbYSszNTI+PjJdfDA7
RD1nKzEwNHwwO0Y9YSsyNzJ8MDtFPWZbRj4+Ml18MDtmW0Y+PjJdPTE7aWYoKGZbRD4+Ml18MCk9
PTA/KG5XKEQpfDApPDwyND4+MjQ9PTA6MClnPTE7ZWxzZXtsPWMrMjB8MDttPWErNDg0fDA7bj1j
KzY0fDA7bz1nKzExMnwwO3A9ZysxMTZ8MDtxPWMrNDB8MDtyPWErMTQ0fDA7cz1hKzQxMnwwO3U9
ZysxMzJ8MDt2PWErNDI4fDA7dz1hKzQyNHwwO3g9YSsyMjR8MDt5PWErMTEyfDA7ej1nKzEzMHww
O0E9ZysxMjh8MDtqPWcrMTMxfDA7az1hKzExNnwwO2E6d2hpbGUoMSl7YjpkbyBzd2l0Y2goeGJb
ZltsPj4yXSYxMjddKGMsZCxlLEIpfDApe2Nhc2UgLTQ6e2c9MDticmVhayBhfWNhc2UgLTE6e0c9
Mzg7YnJlYWsgYX1jYXNlIDA6e0c9NDA7YnJlYWsgYX1jYXNlIDI4OntpZigoYlttPj4wXXwwKT09
MD8oZltyPj4yXXwwKT09KGN8MCk6MCl7Rz0yMDticmVhayBhfWc9ZltuPj4yXXwwO2c9ZFcocyxj
LGQrZ3wwLChmW0I+PjJdfDApKygwLWcpfDApfDA7aWYoIWcpe2c9MTticmVhayBhfWg9ZlcoYSx1
LGcsMCl8MDtmW3c+PjJdPWZbdj4+Ml07aWYoIWgpe0c9OTticmVhayBhfWk9aCszMnwwO2lmKGJb
aT4+MF18MCl7Rz0xMTticmVhayBhfWc9aCsxNnwwO2lmKCEoZltnPj4yXXwwKSl7YltpPj4wXT0x
O2c9ZltoKzQ+PjJdfDA7Zz1wVyhhLGZbeD4+Ml18MCxnLGcrKGZbaCs4Pj4yXXwwKXwwKXwwO2Jb
aT4+MF09MDtpZighZylicmVhayBiO2Vsc2UgYnJlYWsgYX1pZighKGZbeT4+Ml18MCkpe2JbQT4+
MF09Ylt6Pj4wXXwwO2JyZWFrIGJ9YltqPj4wXT0wO2JbaT4+MF09MTtoPSh5YltmW3k+PjJdJjEy
N10oZltrPj4yXXwwLDAsZltoKzIwPj4yXXwwLGZbZz4+Ml18MCxmW2grMjQ+PjJdfDApfDApPT0w
O2JbaT4+MF09MDtpZihoKXtnPTIxO2JyZWFrIGF9aWYoIShiW2o+PjBdfDApKWJbQT4+MF09Ylt6
Pj4wXXwwO2JyZWFrfWNhc2UgNjpjYXNlIDk6e2lmKCEobFcoRCxjLGQsZltCPj4yXXwwKXwwKSl7
Zz0xO2JyZWFrIGF9YnJlYWt9Y2FzZSAtMzp7ZltCPj4yXT1kKyhmW24+PjJdfDApO0c9MjM7YnJl
YWt9Y2FzZSA3OntHPTIzO2JyZWFrfWNhc2UgMTA6e2c9dWJbZltxPj4yXSYxMjddKGMsZCl8MDtp
ZigoZ3wwKTwwKXtHPTI4O2JyZWFrIGF9aD1wWChnLEMpfDA7ZD0wO3doaWxlKDEpe2lmKChkfDAp
Pj0oaHwwKSlicmVhaztnPWZbcD4+Ml18MDtpZigoZltvPj4yXXwwKT09KGd8MCkpe2lmKCEoKG5X
KEQpfDApPDwyND4+MjQpKXtnPTE7Rz0zNjticmVhayBhfWc9ZltwPj4yXXwwfWk9YltDK2Q+PjBd
fDA7ZltwPj4yXT1nKzE7YltnPj4wXT1pO2Q9ZCsxfDB9YnJlYWt9ZGVmYXVsdDp7Rz00MjticmVh
ayBhfX13aGlsZSgwKTtpZigoR3wwKT09MjMpe0c9MDtnPWZbcD4+Ml18MDtpZigoZltvPj4yXXww
KT09KGd8MCkpe2lmKCEoKG5XKEQpfDApPDwyND4+MjQpKXtnPTE7YnJlYWt9Zz1mW3A+PjJdfDB9
ZltwPj4yXT1nKzE7YltnPj4wXT0xMH1kPWZbQj4+Ml18MH1pZigoR3wwKT09OSl7YltBPj4wXT1i
W3o+PjBdfDA7Zz0wfWVsc2UgaWYoKEd8MCk9PTExKWlmKChmW3I+PjJdfDApPT0oY3wwKSl7Zlth
KzI4ND4+Ml09ZDtnPTEyfWVsc2UgZz0xMjtlbHNlIGlmKChHfDApPT0yMCl7ZlthKzI4ND4+Ml09
ZDtnPTEwfWVsc2UgaWYoKEd8MCk9PTI4KWlmKChmW3I+PjJdfDApPT0oY3wwKSl7ZlthKzI4ND4+
Ml09ZDtnPTE0O0c9MzZ9ZWxzZXtnPTE0O0c9MzZ9ZWxzZSBpZigoR3wwKT09MzgpaWYoKGZbcj4+
Ml18MCk9PShjfDApKXtmW2ErMjg0Pj4yXT1kO2c9NH1lbHNlIGc9NDtlbHNlIGlmKChHfDApPT00
MClpZigoZltyPj4yXXwwKT09KGN8MCkpe2ZbYSsyODQ+PjJdPWZbQj4+Ml07Zz00fWVsc2UgZz00
O2Vsc2UgaWYoKEd8MCk9PTQyKWlmKChmW3I+PjJdfDApPT0oY3wwKSl7ZlthKzI4ND4+Ml09ZDtn
PTIzfWVsc2UgZz0yMztmW0Y+PjJdPUV9dD1IO3JldHVybiBnfDB9ZnVuY3Rpb24gcVcoYSxjLGQs
ZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09
MCxuPTAsbz0wLHA9MDtvPXQ7dD10KzE2fDA7bT1vO249bys0fDA7ZlttPj4yXT1kO2lmKCEoYltj
KzY4Pj4wXXwwKSl7aWYoKGZbYSsxNDQ+PjJdfDApPT0oY3wwKSl7Zz1hKzI4OHwwO2g9YSsyODR8
MH1lbHNle2g9ZlthKzI5Nj4+Ml18MDtnPWgrNHwwfWk9YSs0NHwwO2o9Yys1NnwwO2s9YSs0OHww
O2w9YSs4MHwwO2Q9YSs0fDA7ZG97ZltuPj4yXT1mW2k+PjJdO2E9eWJbZltqPj4yXSYxMjddKGMs
bSxlLG4sZltrPj4yXXwwKXwwO2ZbZz4+Ml09ZlttPj4yXTtwPWZbaT4+Ml18MDtFYltmW2w+PjJd
JjEyN10oZltkPj4yXXwwLHAsKGZbbj4+Ml18MCktcHwwKTtmW2g+PjJdPWZbbT4+Ml19d2hpbGUo
YT4+PjA+MSl9ZWxzZSBFYltmW2ErODA+PjJdJjEyN10oZlthKzQ+PjJdfDAsZCxlLWR8MCk7dD1v
O3JldHVybn1mdW5jdGlvbiByVyhhLGIsYyxkLGUsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7
ZT1lfDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wO2w9dDt0PXQrMTZ8MDtqPWw7
az1mW2M+PjJdfDA7aWYoKGZbYSsxNDQ+PjJdfDApPT0oYnwwKSl7aT1hKzI4NHwwO2ZbaT4+Ml09
aztoPWErMjg4fDB9ZWxzZXtpPWZbYSsyOTY+PjJdfDA7aD1pKzR8MH1mW2k+PjJdPWs7ZltjPj4y
XT0wO209eGJbZltiKzEyPj4yXSYxMjddKGIsayxkLGopfDA7ZD1mW2o+PjJdfDA7ZltoPj4yXT1k
O3N3aXRjaChtfDApe2Nhc2UgNDI6e2lmKGZbYSs4MD4+Ml18MCl7cVcoYSxiLGssZCk7ZD1mW2o+
PjJdfDB9ZltjPj4yXT1kO2ZbZT4+Ml09ZDtkPShmW2ErNDc2Pj4yXXwwKT09Mj8zNTowO2JyZWFr
fWNhc2UgMDp7ZltpPj4yXT1kO2Q9NDticmVha31jYXNlIC0yOntpZighKGc8PDI0Pj4yNCkpZD02
O2Vsc2V7ZltlPj4yXT1rO2Q9MH1icmVha31jYXNlIC00OmNhc2UgLTE6e2lmKCEoZzw8MjQ+PjI0
KSlkPTI7ZWxzZXtmW2U+PjJdPWs7ZD0wfWJyZWFrfWRlZmF1bHQ6e2ZbaT4+Ml09ZDtkPTIzfX10
PWw7cmV0dXJuIGR8MH1mdW5jdGlvbiBzVyhhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8
MDt2YXIgZz0wLGg9MDtoPXQ7dD10KzE2fDA7Zz1oO2ZbZz4+Ml09YztjPXJXKGEsZlthKzE0ND4+
Ml18MCxnLGQsZSwoYlthKzQ4MD4+MF18MCk9PTAmMSl8MDtnPWZbZz4+Ml18MDtpZighKChjfDAp
IT0wfChnfDApPT0wKSl7ZlthKzI3Nj4+Ml09NTc7Yz1hVyhhLGcsZCxlKXwwfXQ9aDtyZXR1cm4g
Y3wwfWZ1bmN0aW9uIHRXKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAs
aj0wO2k9ZlthKzM1Mj4+Ml18MDtqPWkrMTg0fDA7aWYoIShmW2o+PjJdfDApKXtiPXRiW2ZbYSsx
Mj4+Ml0mNjNdKGZbYSs0NjQ+PjJdPDwyKXwwO2Zbaj4+Ml09YjtpZighYiliPS0xO2Vsc2V7Zlti
Pj4yXT0wO2M9NH19ZWxzZSBjPTQ7ZG8gaWYoKGN8MCk9PTQpe2g9aSsxNzZ8MDtiPWZbaD4+Ml18
MDtnPWkrMTcyfDA7Yz1mW2c+PjJdfDA7ZT1pKzE2NHwwO2Q9ZltlPj4yXXwwO2lmKGI+Pj4wPGM+
Pj4wKWc9ZDtlbHNle2lmKCFkKXtiPXRiW2ZbYSsxMj4+Ml0mNjNdKDg5Nil8MDtpZighYil7Yj0t
MTticmVha31lbHNle2M9YjtiPTMyfX1lbHNle2I9dWJbZlthKzE2Pj4yXSYxMjddKGQsYyo1Nnww
KXwwO2lmKCFiKXtiPS0xO2JyZWFrfWM9YjtiPWZbZz4+Ml08PDF9ZltnPj4yXT1iO2ZbZT4+Ml09
YztiPWZbaD4+Ml18MDtnPWN9ZltoPj4yXT1iKzE7Yz1mW2krMTgwPj4yXXwwO2lmKGN8MCl7YT1m
WyhmW2o+PjJdfDApKyhjKy0xPDwyKT4+Ml18MDtlPWcrKGEqMjh8MCkrMTZ8MDtjPWZbZT4+Ml18
MDtpZihjfDApZltnKyhjKjI4fDApKzI0Pj4yXT1iO2M9ZysoYSoyOHwwKSsyMHwwO2Q9ZltjPj4y
XXwwO2lmKCFkKWZbZysoYSoyOHwwKSsxMj4+Ml09YjtmW2U+PjJdPWI7ZltjPj4yXT1kKzF9aj1n
KyhiKjI4fDApKzEyfDA7ZltqPj4yXT0wO2Zbais0Pj4yXT0wO2Zbais4Pj4yXT0wO2ZbaisxMj4+
Ml09MH13aGlsZSgwKTtyZXR1cm4gYnwwfWZ1bmN0aW9uIHVXKGEsYyxkKXthPWF8MDtjPWN8MDtk
PWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wO289dDt0PXQr
MTZ8MDttPW87bj1hKzMwMHwwO2U9ZltuPj4yXXwwO2lmKCFlKXtlPXRiW2ZbYSsxMj4+Ml0mNjNd
KDI0KXwwO2lmKCFlKWU9MTtlbHNle2w9ZTtrPWUrOHwwO2c9NX19ZWxzZXtrPWUrOHwwO2Zbbj4+
Ml09ZltrPj4yXTtsPWU7Zz01fWRvIGlmKChnfDApPT01KXtoPWMrMzJ8MDtiW2g+PjBdPTE7aT1j
KzEyfDA7ZltpPj4yXT0wO2o9YSsyOTZ8MDtmW2s+PjJdPWZbaj4+Ml07ZltqPj4yXT1sO2ZbbCsx
Mj4+Ml09YztlPWErMzA4fDA7ZltsKzE2Pj4yXT1mW2U+PjJdO2JbbCsyMD4+MF09ZDtmW2w+PjJd
PTA7ZltsKzQ+PjJdPTA7Zz1mW2MrND4+Ml18MDtkPWcrKGZbYys4Pj4yXXwwKXwwO2ZbbT4+Ml09
ZztpZighKGJbYyszMz4+MF18MCkpZT1BVyhhLGZbZT4+Ml18MCxmW2ErMjI0Pj4yXXwwLGcsZCxt
LDApfDA7ZWxzZXtjPWErMjI0fDA7ZT1mW2M+PjJdfDA7ZT14YltmW2U+PjJdJjEyN10oZSxnLGQs
bSl8MDtlPWJXKGEsZltjPj4yXXwwLGcsZCxlLGZbbT4+Ml18MCxtLDApfDB9aWYoIWUpe2U9Zltt
Pj4yXXwwO2lmKChkfDApIT0oZXwwKT8oZlthKzQ3Nj4+Ml18MCk9PTM6MCl7ZltpPj4yXT1lLWc7
ZlthKzI3Nj4+Ml09NjA7ZT0wO2JyZWFrfWJbaD4+MF09MDtmW2o+PjJdPWZbaz4+Ml07ZltrPj4y
XT1mW24+PjJdO2Zbbj4+Ml09bDtlPTB9fXdoaWxlKDApO3Q9bztyZXR1cm4gZXwwfWZ1bmN0aW9u
IHZXKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wO2c9dDt0PXQrMTZ8MDtjPWcrNHww
O2Q9ZztiPWZbYSszNTI+PjJdfDA7ZT1iKzE3NnwwO2I9dGJbZlthKzEyPj4yXSY2M10oKChmW2U+
PjJdfDApKjIwfDApKyhmW2IrMTY4Pj4yXXwwKXwwKXwwO2lmKCFiKWI9MDtlbHNle2ZbZD4+Ml09
YisoKGZbZT4+Ml18MCkqMjB8MCk7ZltjPj4yXT1iKzIwO3pXKGEsMCxiLGMsZCl9dD1nO3JldHVy
biBifDB9ZnVuY3Rpb24gd1coYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9
MCxnPTAsaD0wLGk9MCxqPTA7aj1hKzY0fDA7aWYoIShmW2o+PjJdfDApKWlmKCEoZlthKzgwPj4y
XXwwKSljPTE7ZWxzZXtxVyhhLGIsYyxkKTtjPTF9ZWxzZXtoPWIrNjR8MDtnPWMrKGZbaD4+Ml08
PDEpfDA7Yz1nKyh1YltmW2IrMjg+PjJdJjEyN10oYixnKXwwKXwwO2U9YSs0MTJ8MDtnPWRXKGUs
YixnLGMpfDA7aWYoKGd8MCkhPTA/KGZbYSs0Mjg+PjJdPWZbYSs0MjQ+PjJdLGk9dWJbZltiKzMy
Pj4yXSYxMjddKGIsYyl8MCxpPWRXKGUsYixpLGQrKDAtKGZbaD4+Ml08PDEpKXwwKXwwLChpfDAp
IT0wKTowKXt5VyhpKTtFYltmW2o+PjJdJjEyN10oZlthKzQ+PjJdfDAsZyxpKTtlVyhlKTtjPTF9
ZWxzZSBjPTB9cmV0dXJuIGN8MH1mdW5jdGlvbiB4VyhhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8
MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTA7Zz1hKzY4fDA7aWYoIShmW2c+PjJdfDApKWlmKCEoZlth
KzgwPj4yXXwwKSliPTE7ZWxzZXtxVyhhLGIsYyxkKTtiPTF9ZWxzZXtlPWErNDEyfDA7aD1mW2Ir
NjQ+PjJdfDA7Yj1kVyhlLGIsYysoaDw8Mil8MCxkKyhWKGgsLTMpfDApfDApfDA7aWYoIWIpYj0w
O2Vsc2V7eVcoYik7RGJbZltnPj4yXSY2M10oZlthKzQ+PjJdfDAsYik7ZVcoZSk7Yj0xfX1yZXR1
cm4gYnwwfWZ1bmN0aW9uIHlXKGEpe2E9YXwwO3ZhciBjPTAsZD0wO2E6d2hpbGUoMSl7Yz1iW2E+
PjBdfDA7c3dpdGNoKGM8PDI0Pj4yNCl7Y2FzZSAwOmJyZWFrIGE7Y2FzZSAxMzp7ZD0zO2JyZWFr
IGF9ZGVmYXVsdDp7fX1hPWErMXwwfWlmKChkfDApPT0zKXtkPWE7ZG97aWYoYzw8MjQ+PjI0PT0x
Myl7YltkPj4wXT0xMDtjPWErMXwwO2E9KGJbYz4+MF18MCk9PTEwP2ErMnwwOmN9ZWxzZXtiW2Q+
PjBdPWM7YT1hKzF8MH1kPWQrMXwwO2M9YlthPj4wXXwwfXdoaWxlKGM8PDI0Pj4yNCE9MCk7Yltk
Pj4wXT0wfXJldHVybn1mdW5jdGlvbiB6VyhhLGMsZCxlLGcpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9
ZXwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MCxrPTA7az0oZlthKzM1Mj4+Ml18MCkrMTY0fDA7aj1m
WyhmW2s+PjJdfDApKyhjKjI4fDApPj4yXXwwO2ZbZD4+Ml09ajtmW2QrND4+Ml09ZlsoZltrPj4y
XXwwKSsoYyoyOHwwKSs0Pj4yXTtpZigoanwwKT09NCl7ZltkKzg+PjJdPWZbZz4+Ml07Yz1mWyhm
W2s+PjJdfDApKyhjKjI4fDApKzg+PjJdfDA7d2hpbGUoMSl7aj1iW2M+PjBdfDA7az1mW2c+PjJd
fDA7ZltnPj4yXT1rKzE7YltrPj4wXT1qO2lmKCEoYltjPj4wXXwwKSlicmVhaztlbHNlIGM9Yysx
fDB9ZltkKzEyPj4yXT0wO2ZbZCsxNj4+Ml09MH1lbHNle2g9ZlsoZltrPj4yXXwwKSsoYyoyOHww
KSsyMD4+Ml18MDtpPWQrMTJ8MDtmW2k+PjJdPWg7aj1kKzE2fDA7ZltqPj4yXT1mW2U+PjJdO2Zb
ZT4+Ml09KGZbZT4+Ml18MCkrKGgqMjB8MCk7Yz0oZltrPj4yXXwwKSsoYyoyOHwwKSsxMnwwO2g9
MDt3aGlsZSgxKXtjPWZbYz4+Ml18MDtpZihoPj4+MD49KGZbaT4+Ml18MCk+Pj4wKWJyZWFrO3pX
KGEsYywoZltqPj4yXXwwKSsoaCoyMHwwKXwwLGUsZyk7Yz0oZltrPj4yXXwwKSsoYyoyOHwwKSsy
NHwwO2g9aCsxfDB9ZltkKzg+PjJdPTB9cmV0dXJufWZ1bmN0aW9uIEFXKGEsYyxkLGUsZyxoLGkp
e2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO2g9aHwwO2k9aXwwO3ZhciBqPTAsaz0wLGw9
MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0w
LEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAs
UD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFhPTAs
YmE9MCxjYT0wLGRhPTAsZWE9MCxmYT0wLGdhPTAsaGE9MCxpYT0wLGphPTAsa2E9MCxsYT0wLG1h
PTAsbmE9MDttYT10O3Q9dCs0OHwwO2phPW1hKzI4fDA7ZWE9bWErMzJ8MDtrYT1tYSsyNHwwO1o9
bWE7ZltqYT4+Ml09ZTtfPWZbYSszNTI+PjJdfDA7aWYoKGZbYSsxNDQ+PjJdfDApPT0oZHwwKSl7
ZmE9YSsyODR8MDtZPWErMjg4fDB9ZWxzZXtZPWZbYSsyOTY+PjJdfDA7ZmE9WTtZPVkrNHwwfWZb
ZmE+PjJdPWU7cz1kKzR8MDtnYT1hKzgwfDA7dT1hKzQ3NnwwO3Y9ZCs0NHwwO3c9ZCs2NHwwO3g9
YSszNjR8MDt5PWErNDEyfDA7ej1kKzI4fDA7aGE9YSszMDh8MDtBPWQrNDB8MDskPWErNjB8MDtC
PWErNzJ8MDtDPV8rODB8MDtEPWErMTJ8MDtFPWErMzYwfDA7YWE9ZCs1NnwwO0Y9YSsxNnwwO0c9
YSs0MjR8MDtIPWErNDI4fDA7aWE9YSs0fDA7YmE9ZCs2OHwwO0k9Xys5NnwwO0o9Xys5MnwwO0s9
XysxMjl8MDtMPWErNTJ8MDtjYT1hKzQ0fDA7ZGE9YSs0OHwwO009XysxMzB8MDtOPWErNTZ8MDtP
PWErMzg4fDA7UD1hKzEwNHwwO1E9YSszNzJ8MDtSPWErMjMyfDA7Uz1hKzEyMHwwO1Q9YSsxMTJ8
MDtVPWErMzA0fDA7Vj1hKzIzM3wwO1c9YSsxMTZ8MDtYPWErNDY4fDA7YTp3aGlsZSgxKXtyPWZb
amE+PjJdfDA7ZltlYT4+Ml09cjtyPXhiW2Zbcz4+Ml0mMTI3XShkLHIsZyxlYSl8MDtlPWZbZWE+
PjJdfDA7ZltZPj4yXT1lO2s9ZTtiOmRvIHN3aXRjaChyfDApe2Nhc2UgLTM6e2xhPTY7YnJlYWsg
YX1jYXNlIC00OntsYT0xNTticmVhayBhfWNhc2UgMDp7bGE9MjA7YnJlYWsgYX1jYXNlIC0xOnts
YT0yMTticmVhayBhfWNhc2UgLTI6e2xhPTIzO2JyZWFrIGF9Y2FzZSAxMjp7ZT0xNzticmVhayBh
fWNhc2UgLTU6e2xhPTEzNDticmVhayBhfWNhc2UgOTp7cj1mW3c+PjJdfDA7cj0od2JbZlt2Pj4y
XSY2M10oZCwoZltqYT4+Ml18MCkrcnwwLGsrKDAtcil8MCl8MCkmMjU1O2Jba2E+PjBdPXI7ZG8g
aWYocjw8MjQ+PjI0KXtlPWZbJD4+Ml18MDtpZihlfDApe0ViW2UmMTI3XShmW2lhPj4yXXwwLGth
LDEpO2JyZWFrfWlmKGZbZ2E+PjJdfDApcVcoYSxkLGZbamE+PjJdfDAsZltlYT4+Ml18MCl9ZWxz
ZXtqPWZbdz4+Ml18MDtqPWRXKEMsZCwoZltqYT4+Ml18MCkranwwLChmW2VhPj4yXXwwKSsoMC1q
KXwwKXwwO2lmKCFqKXtlPTE7bGE9NTY7YnJlYWsgYX1rPWZXKGEsXyxqLDApfDA7ZltKPj4yXT1m
W0k+PjJdO2lmKChiW0s+PjBdfDApIT0wPyhiW00+PjBdfDApPT0wOjApe2lmKCFrKXtlPWZbUz4+
Ml18MDtpZihlfDApe0ViW2UmMTI3XShmW2lhPj4yXXwwLGosMCk7YnJlYWt9aWYoIShmW2dhPj4y
XXwwKSlicmVhaztxVyhhLGQsZltqYT4+Ml18MCxmW2VhPj4yXXwwKTticmVha319ZWxzZXtpZigh
ayl7ZT0xMTtsYT01NjticmVhayBhfWlmKCEoYltrKzM0Pj4wXXwwKSl7ZT0yNDtsYT01NjticmVh
ayBhfX1lPWsrMzJ8MDtpZihiW2U+PjBdfDApe2U9MTI7bGE9NTY7YnJlYWsgYX1pZihmW2srMjg+
PjJdfDApe2U9MTU7bGE9NTY7YnJlYWsgYX1pZighKGZbays0Pj4yXXwwKSl7aWYoIShmW1Q+PjJd
fDApKXtpZighKGZbZ2E+PjJdfDApKWJyZWFrO3FXKGEsZCxmW2phPj4yXXwwLGZbZWE+PjJdfDAp
O2JyZWFrfWJbZT4+MF09MTtqPUNXKGEpfDA7YltlPj4wXT0wO2lmKCFqKXtlPTE7bGE9NTY7YnJl
YWsgYX1pZighKHliW2ZbVD4+Ml0mMTI3XShmW1c+PjJdfDAsaixmW2srMjA+PjJdfDAsZltrKzE2
Pj4yXXwwLGZbaysyND4+Ml18MCl8MCkpe2U9MjE7bGE9NTY7YnJlYWsgYX1mW0c+PjJdPWZbSD4+
Ml07YnJlYWt9aWYoYltVPj4wXXwwKXtlPXVXKGEsaywwKXwwO2lmKCFlKWJyZWFrO2Vsc2V7bGE9
NTg7YnJlYWsgYX19ZT1mW1M+PjJdfDA7aWYoIWUpe2lmKGZbZ2E+PjJdfDApcVcoYSxkLGZbamE+
PjJdfDAsZltlYT4+Ml18MCl9ZWxzZSBFYltlJjEyN10oZltpYT4+Ml18MCxmW2s+PjJdfDAsMCk7
YnJlYWsgYn13aGlsZSgwKTticmVha31jYXNlIDE6Y2FzZSAyOntlPWZbeD4+Ml18MDtpZighZSl7
aj10YltmW0Q+PjJdJjYzXSg0OCl8MDtpZighail7ZT0xO2xhPTc1O2JyZWFrIGF9ZT10YltmW0Q+
PjJdJjYzXSgzMil8MDtmW2orMzY+PjJdPWU7aWYoIWUpe2xhPTYzO2JyZWFrIGF9ZltqKzQwPj4y
XT1lKzMyO3I9ajtlPWp9ZWxzZXtmW3g+PjJdPWZbZT4+Ml07cj1lfXA9cis0NHwwO2ZbcD4+Ml09
MDtmW2U+PjJdPWZbRT4+Ml07ZltFPj4yXT1yO3E9cisxMnwwO2ZbcisxNj4+Ml09MDtmW3IrMjA+
PjJdPTA7bz0oZltqYT4+Ml18MCkrKGZbdz4+Ml18MCl8MDtuPXIrNHwwO2Zbbj4+Ml09bztvPXVi
W2Zbej4+Ml0mMTI3XShkLG8pfDA7bT1yKzh8MDtmW20+PjJdPW87ZltoYT4+Ml09KGZbaGE+PjJd
fDApKzE7bj1mW24+PjJdfDA7bT1uKyhmW20+PjJdfDApfDA7ZltaPj4yXT1uO249ciszNnwwO2Zb
a2E+PjJdPWZbbj4+Ml07bz1yKzQwfDA7ZT1mW28+PjJdfDA7d2hpbGUoMSl7bmE9eWJbZlthYT4+
Ml0mMTI3XShkLFosbSxrYSxlKy0xfDApfDA7ZT1mW2thPj4yXXwwO2s9ZltuPj4yXXwwO2o9azts
PWUtanwwO2lmKChuYXwwKT09MT8xOihmW1o+PjJdfDApPj4+MD49bT4+PjApYnJlYWs7aj0oZltv
Pj4yXXwwKS1qPDwxO2U9dWJbZltGPj4yXSYxMjddKGssail8MDtpZighZSl7bGE9Njk7YnJlYWsg
YX1mW24+PjJdPWU7bmE9ZStqfDA7ZltvPj4yXT1uYTtmW2thPj4yXT1lK2w7ZT1uYX1mW3IrMjQ+
PjJdPWw7ZltxPj4yXT1rO2JbZT4+MF09MDtlPURXKGEsZCxmW2phPj4yXXwwLHEscCl8MDtpZihl
fDApe2xhPTc1O2JyZWFrIGF9ZT1mW0w+PjJdfDA7aWYoIWUpe2lmKGZbZ2E+PjJdfDApcVcoYSxk
LGZbamE+PjJdfDAsZltlYT4+Ml18MCl9ZWxzZSBFYltlJjEyN10oZltpYT4+Ml18MCxmW3E+PjJd
fDAsZltPPj4yXXwwKTtlVyh5KTticmVha31jYXNlIDM6Y2FzZSA0OntuYT0oZltqYT4+Ml18MCkr
KGZbdz4+Ml18MCl8MDtmW2thPj4yXT0wO25hPWRXKHksZCxuYSxuYSsodWJbZlt6Pj4yXSYxMjdd
KGQsbmEpfDApfDApfDA7ZltaPj4yXT1uYTtpZighbmEpe2U9MTtsYT04OTticmVhayBhfWZbSD4+
Ml09ZltHPj4yXTtlPURXKGEsZCxmW2phPj4yXXwwLFosa2EpfDA7aWYoZXwwKXtsYT03OTticmVh
ayBhfWZbSD4+Ml09ZltHPj4yXTtlPWZbTD4+Ml18MDtpZighZSlqPTE7ZWxzZXtFYltlJjEyN10o
ZltpYT4+Ml18MCxmW1o+PjJdfDAsZltPPj4yXXwwKTtqPTB9ZT1mW04+PjJdfDA7aWYoIWUpe2lm
KGp8MD9mW2dhPj4yXXwwOjApcVcoYSxkLGZbamE+PjJdfDAsZltlYT4+Ml18MCl9ZWxzZXtpZihm
W0w+PjJdfDApe2ZbZmE+PjJdPWZbWT4+Ml07ZT1mW04+PjJdfDB9RGJbZSY2M10oZltpYT4+Ml18
MCxmW1o+PjJdfDApfWVXKHkpO0VXKGEsZltrYT4+Ml18MCk7aWYoKGZbaGE+PjJdfDApPT0wPyhm
W3U+PjJdJi0yfDApIT0yOjApe2xhPTkyO2JyZWFrIGF9YnJlYWt9Y2FzZSA1OntpZigoZltoYT4+
Ml18MCk9PShjfDApKXtlPTEzO2JyZWFrIGF9bT1mW0U+PjJdfDA7ZltFPj4yXT1mW20+PjJdO2Zb
bT4+Ml09Zlt4Pj4yXTtmW3g+PjJdPW07ZT0oZltqYT4+Ml18MCkrKGZbdz4+Ml08PDEpfDA7aj11
YltmW3o+PjJdJjEyN10oZCxlKXwwO2lmKChqfDApIT0oZlttKzg+PjJdfDApKXtsYT05NjticmVh
ayBhfWlmKCRfKGZbbSs0Pj4yXXwwLGUsail8MCl7bGE9OTY7YnJlYWsgYX1mW2hhPj4yXT0oZlto
YT4+Ml18MCkrLTE7ZT1mW04+PjJdfDA7aWYoIWUpe2lmKGZbZ2E+PjJdfDApcVcoYSxkLGZbamE+
PjJdfDAsZltlYT4+Ml18MCl9ZWxzZXtqPWZbbSsxNj4+Ml18MDtsPW0rMTJ8MDtpZigoanwwKSE9
MCYoYltSPj4wXXwwKSE9MCl7ZT0oZltsPj4yXXwwKSsoZlttKzI4Pj4yXXwwKXwwO3doaWxlKDEp
e2s9YltqPj4wXXwwO2lmKCEoazw8MjQ+PjI0KSlicmVhaztiW2U+PjBdPWs7ZT1lKzF8MDtqPWor
MXwwfWo9ZlttKzIwPj4yXXwwO2M6ZG8gaWYoKGp8MCkhPTAmKGJbVj4+MF18MCkhPTApe2JbZT4+
MF09YltYPj4wXXwwO3doaWxlKDEpe2U9ZSsxfDA7az1iW2o+PjBdfDA7aWYoIShrPDwyND4+MjQp
KWJyZWFrIGM7YltlPj4wXT1rO2o9aisxfDB9fXdoaWxlKDApO2JbZT4+MF09MDtlPWZbTj4+Ml18
MH1EYltlJjYzXShmW2lhPj4yXXwwLGZbbD4+Ml18MCl9az1tKzQ0fDA7d2hpbGUoMSl7bD1mW2s+
PjJdfDA7aWYoIWwpYnJlYWs7ZT1mW1A+PjJdfDA7aWYoIWUpe2U9bDtqPWx9ZWxzZXtEYltlJjYz
XShmW2lhPj4yXXwwLGZbZltsPj4yXT4+Ml18MCk7ZT1sO2o9ZltrPj4yXXwwfWZbaz4+Ml09Zltq
KzQ+PjJdO2ZbbCs0Pj4yXT1mW1E+PjJdO2ZbUT4+Ml09bDtmWyhmW2U+PjJdfDApKzQ+PjJdPWZb
bCs4Pj4yXX1pZighKGZbaGE+PjJdfDApKXtsYT0xMTc7YnJlYWsgYX1icmVha31jYXNlIDEwOntl
PXViW2ZbQT4+Ml0mMTI3XShkLGZbamE+PjJdfDApfDA7aWYoKGV8MCk8MCl7ZT0xNDticmVhayBh
fWo9ZlskPj4yXXwwO2lmKGp8MCl7cj1mW2lhPj4yXXwwO25hPXBYKGUsa2EpfDA7RWJbaiYxMjdd
KHIsa2EsbmEpO2JyZWFrIGJ9aWYoZltnYT4+Ml18MClxVyhhLGQsZltqYT4+Ml18MCxmW2VhPj4y
XXwwKTticmVha31jYXNlIDc6e2U9ZlskPj4yXXwwO2lmKGV8MCl7YltrYT4+MF09MTA7RWJbZSYx
MjddKGZbaWE+PjJdfDAsa2EsMSk7YnJlYWsgYn1pZihmW2dhPj4yXXwwKXFXKGEsZCxmW2phPj4y
XXwwLGspO2JyZWFrfWNhc2UgODp7ZT1mW0I+PjJdfDA7aWYoIWUpe2lmKGZbZ2E+PjJdfDApcVco
YSxkLGZbamE+PjJdfDAsayl9ZWxzZSBDYltlJjEyN10oZltpYT4+Ml18MCk7ZT1HVyhhLGQsZWEs
ZyxoLGkpfDA7aWYoZXwwKWJyZWFrIGE7aWYoIShmW2VhPj4yXXwwKSl7bGE9MTMzO2JyZWFrIGF9
YnJlYWt9Y2FzZSA2OntqPWZbJD4+Ml18MDtpZighail7aWYoIShmW2dhPj4yXXwwKSlicmVhayBi
O3FXKGEsZCxmW2phPj4yXXwwLGspO2JyZWFrIGJ9aWYoYltiYT4+MF18MCl7bmE9ZltqYT4+Ml18
MDtFYltqJjEyN10oZltpYT4+Ml18MCxuYSxlLW5hfDApO2JyZWFrIGJ9ZT1rO3doaWxlKDEpe2Zb
a2E+PjJdPWZbY2E+PjJdO25hPXliW2ZbYWE+PjJdJjEyN10oZCxqYSxlLGthLGZbZGE+PjJdfDAp
fDA7ZltZPj4yXT1mW2phPj4yXTtyPWZbY2E+PjJdfDA7RWJbaiYxMjddKGZbaWE+PjJdfDAsciwo
ZltrYT4+Ml18MCktcnwwKTtpZihuYT4+PjA8MilicmVhaztmW2ZhPj4yXT1mW2phPj4yXTtlPWZb
ZWE+PjJdfDB9YnJlYWt9Y2FzZSAxMTp7aWYoISh3VyhhLGQsZltqYT4+Ml18MCxrKXwwKSl7ZT0x
O2JyZWFrIGF9YnJlYWt9Y2FzZSAxMzp7aWYoISh4VyhhLGQsZltqYT4+Ml18MCxrKXwwKSl7ZT0x
O2JyZWFrIGF9YnJlYWt9ZGVmYXVsdDppZihmW2dhPj4yXXwwKXFXKGEsZCxmW2phPj4yXXwwLGsp
fXdoaWxlKDApO25hPWZbZWE+PjJdfDA7ZltqYT4+Ml09bmE7ZltmYT4+Ml09bmE7c3dpdGNoKGZb
dT4+Ml18MCl7Y2FzZSAyOntlPTM1O2JyZWFrIGF9Y2FzZSAzOntsYT0xNjE7YnJlYWsgYX1kZWZh
dWx0Ont9fX1zd2l0Y2gobGF8MCl7Y2FzZSA2OntpZihpPDwyND4+MjQpe2ZbaD4+Ml09ZltqYT4+
Ml07ZT0wO2JyZWFrfWZbWT4+Ml09ZztlPWZbJD4+Ml18MDtpZighZSl7aWYoZltnYT4+Ml18MClx
VyhhLGQsZltqYT4+Ml18MCxnKX1lbHNle2Jba2E+PjBdPTEwO0ViW2UmMTI3XShmW2lhPj4yXXww
LGthLDEpfWlmKGMpaWYoKGZbaGE+PjJdfDApPT0oY3wwKSl7ZltoPj4yXT1nO2U9MH1lbHNlIGU9
MTM7ZWxzZSBlPTM7YnJlYWt9Y2FzZSAxNTp7aWYoaTw8MjQ+PjI0KXtmW2g+PjJdPWZbamE+PjJd
O2U9MDticmVha31pZigoY3wwKT4wKWlmKChmW2hhPj4yXXwwKT09KGN8MCkpe2ZbaD4+Ml09Zltq
YT4+Ml07ZT0wfWVsc2UgZT0xMztlbHNlIGU9MzticmVha31jYXNlIDIwOntmW2ZhPj4yXT1lO2U9
NDticmVha31jYXNlIDIxOntpZighKGk8PDI0Pj4yNCkpZT01O2Vsc2V7ZltoPj4yXT1mW2phPj4y
XTtlPTB9YnJlYWt9Y2FzZSAyMzp7aWYoIShpPDwyND4+MjQpKWU9NjtlbHNle2ZbaD4+Ml09Zltq
YT4+Ml07ZT0wfWJyZWFrfWNhc2UgNTY6YnJlYWs7Y2FzZSA1ODpicmVhaztjYXNlIDYzOntDYltm
W2ErMjA+PjJdJjEyN10oaik7ZT0xO2xhPTc1O2JyZWFrfWNhc2UgNjk6e2U9MTtsYT03NTticmVh
a31jYXNlIDc5OntFVyhhLGZba2E+PjJdfDApO2xhPTg5O2JyZWFrfWNhc2UgOTI6e2U9RlcoYSxm
W2VhPj4yXXwwLGcsaCl8MDticmVha31jYXNlIDk2OntmW2ZhPj4yXT1lO2U9NzticmVha31jYXNl
IDExNzp7ZT1GVyhhLGZbZWE+PjJdfDAsZyxoKXwwO2JyZWFrfWNhc2UgMTMzOntmW2ErMjc2Pj4y
XT02MTtlPTA7YnJlYWt9Y2FzZSAxMzQ6e2lmKGk8PDI0Pj4yNCl7ZltoPj4yXT1mW2phPj4yXTtl
PTA7YnJlYWt9ZT1mWyQ+PjJdfDA7ZG8gaWYoIWUpe2lmKGZbZ2E+PjJdfDApcVcoYSxkLGZbamE+
PjJdfDAsZyl9ZWxzZSBpZighKGJbYmE+PjBdfDApKXtmW2thPj4yXT1mW2NhPj4yXTt5YltmW2Fh
Pj4yXSYxMjddKGQsamEsZyxrYSxmW2RhPj4yXXwwKXwwO25hPWZbY2E+PjJdfDA7RWJbZlskPj4y
XSYxMjddKGZbaWE+PjJdfDAsbmEsKGZba2E+PjJdfDApLW5hfDApO2JyZWFrfWVsc2V7bmE9Zltq
YT4+Ml18MDtFYltlJjEyN10oZltpYT4+Ml18MCxuYSxnLW5hfDApO2JyZWFrfXdoaWxlKDApO2lm
KCFjKXtmW2ZhPj4yXT1nO2U9MzticmVha31pZigoZltoYT4+Ml18MCk9PShjfDApKXtmW2g+PjJd
PWc7ZT0wO2JyZWFrfWVsc2V7ZltmYT4+Ml09ZztlPTEzO2JyZWFrfX1jYXNlIDE2MTp7ZltoPj4y
XT1mW2VhPj4yXTtlPTA7YnJlYWt9fXQ9bWE7cmV0dXJuIGV8MH1mdW5jdGlvbiBCVyhhLGMsZCxl
KXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0w
LG49MCxvPTAscD0wLHE9MCxyPTA7cD10O3Q9dCsxNnwwO289cDtrPWErMjk2fDA7bD1mW2s+PjJd
fDA7ZG8gaWYobCl7bT1mW2wrMTI+PjJdfDA7aD1tKzR8MDtqPWZbaD4+Ml18MDtpPW0rMTJ8MDtn
PWorKGZbaT4+Ml18MCl8MDtqPWorKGZbbSs4Pj4yXXwwKXwwO2Zbbz4+Ml09ZztuPW0rMzN8MDtp
ZighKGJbbj4+MF18MCkpZz1BVyhhLGZbbCsxNj4+Ml18MCxmW2ErMjI0Pj4yXXwwLGcsaixvLDAp
fDA7ZWxzZXtyPWErMjI0fDA7cT1mW3I+PjJdfDA7cT14YltmW3E+PjJdJjEyN10ocSxnLGosbyl8
MDtnPWJXKGEsZltyPj4yXXwwLGcsaixxLGZbbz4+Ml18MCxvLDApfDB9aWYoIWcpe2c9ZltvPj4y
XXwwO2lmKChqfDApIT0oZ3wwKT8oZlthKzQ3Nj4+Ml18MCk9PTM6MCl7ZltpPj4yXT1nLShmW2g+
PjJdfDApO2c9MDticmVha31iW20rMzI+PjBdPTA7cj1sKzh8MDtmW2s+PjJdPWZbcj4+Ml07Zz1h
KzMwMHwwO2Zbcj4+Ml09ZltnPj4yXTtmW2c+PjJdPWw7Zz1hKzI3NnwwO2lmKCEoYltuPj4wXXww
KSl7ZltnPj4yXT01ODtnPUFXKGEsKGZbYSs0NzI+PjJdfDApIT0wJjEsZlthKzE0ND4+Ml18MCxj
LGQsZSwoYlthKzQ4MD4+MF18MCk9PTAmMSl8MDticmVha31lbHNle2ZbZz4+Ml09NTc7cj1hKzE0
NHwwO2c9ZltyPj4yXXwwO2c9eGJbZltnPj4yXSYxMjddKGcsYyxkLG8pfDA7Zz1iVyhhLGZbcj4+
Ml18MCxjLGQsZyxmW28+PjJdfDAsZSwoYlthKzQ4MD4+MF18MCk9PTAmMSl8MDticmVha319fWVs
c2UgZz0yMzt3aGlsZSgwKTt0PXA7cmV0dXJuIGd8MH1mdW5jdGlvbiBDVyhhKXthPWF8MDt2YXIg
Yz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wO3A9dDt0
PXQrMTZ8MDttPXA7bD1mW2ErMzUyPj4yXXwwO2g9bCsxNTZ8MDtuPWErNDEyfDA7bz1hKzQyNHww
O2E6ZG8gaWYoIShmW2g+PjJdfDApKXtjPTA7aT1hKzQyMHwwO2s9YSs0Njh8MDtqPTEyfWVsc2V7
Yz1mW28+PjJdfDA7aT1hKzQyMHwwO2lmKChjfDApPT0oZltpPj4yXXwwKSl7aWYoISgoblcobil8
MCk8PDI0Pj4yNCkpe2M9MDticmVha31jPWZbbz4+Ml18MH1mW28+PjJdPWMrMTtiW2M+PjBdPTYx
O2c9YSs0Njh8MDtlPShmWyhmW2g+PjJdfDApKzIwPj4yXXwwKSsoKChiW2c+PjBdfDApIT0wKTw8
MzE+PjMxKXwwO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGV8MCkpe2M9MTtrPWc7aj0xMjticmVh
ayBhfWM9ZltvPj4yXXwwO2lmKChjfDApPT0oZltpPj4yXXwwKSl7aWYoISgoblcobil8MCk8PDI0
Pj4yNCkpe2M9MDticmVhayBhfWM9ZltvPj4yXXwwfWs9YlsoZlsoZltoPj4yXXwwKSsxNj4+Ml18
MCkrZD4+MF18MDtmW28+PjJdPWMrMTtiW2M+PjBdPWs7ZD1kKzF8MH19d2hpbGUoMCk7YjpkbyBp
ZigoanwwKT09MTIpe1dWKG0sbCs2MHwwKTtjOndoaWxlKDEpe2Rve2Q9WFYobSl8MDtpZighZCli
cmVhayBjO2g9ZCs0fDB9d2hpbGUoIShmW2g+PjJdfDApKTtpZihjPDwyND4+MjQpe2M9ZltvPj4y
XXwwO2lmKChjfDApPT0oZltpPj4yXXwwKSl7aWYoISgoblcobil8MCk8PDI0Pj4yNCkpe2M9MDti
cmVhayBifWM9ZltvPj4yXXwwfWZbbz4+Ml09YysxO2JbYz4+MF09MTJ9Zz1mW2Q+PjJdfDA7d2hp
bGUoMSl7ZD1iW2c+PjBdfDA7Yz1mW28+PjJdfDA7ZT0oY3wwKT09KGZbaT4+Ml18MCk7aWYoIShk
PDwyND4+MjQpKWJyZWFrO2lmKGUpe2lmKCEoKG5XKG4pfDApPDwyND4+MjQpKXtjPTA7YnJlYWsg
Yn1jPWZbbz4+Ml18MDtkPWJbZz4+MF18MH1mW28+PjJdPWMrMTtiW2M+PjBdPWQ7Zz1nKzF8MH1p
ZihlKXtpZighKChuVyhuKXwwKTw8MjQ+PjI0KSl7Yz0wO2JyZWFrIGJ9Yz1mW28+PjJdfDB9Zltv
Pj4yXT1jKzE7YltjPj4wXT02MTtlPShmWyhmW2g+PjJdfDApKzIwPj4yXXwwKSsoKChiW2s+PjBd
fDApIT0wKTw8MzE+PjMxKXwwO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGV8MCkpYnJlYWs7Yz1m
W28+PjJdfDA7aWYoKGN8MCk9PShmW2k+PjJdfDApKXtpZighKChuVyhuKXwwKTw8MjQ+PjI0KSl7
Yz0wO2JyZWFrIGJ9Yz1mW28+PjJdfDB9aj1iWyhmWyhmW2g+PjJdfDApKzE2Pj4yXXwwKStkPj4w
XXwwO2Zbbz4+Ml09YysxO2JbYz4+MF09ajtkPWQrMXwwfWM9MX1XVihtLGwpO2Q6d2hpbGUoMSl7
ZG97ZD1YVihtKXwwO2lmKCFkKWJyZWFrIGR9d2hpbGUoIShiW2QrMzI+PjBdfDApKTtpZihjPDwy
ND4+MjQpe2M9ZltvPj4yXXwwO2lmKChjfDApPT0oZltpPj4yXXwwKSl7aWYoISgoblcobil8MCk8
PDI0Pj4yNCkpe2M9MDticmVhayBifWM9ZltvPj4yXXwwfWZbbz4+Ml09YysxO2JbYz4+MF09MTJ9
ZT1mW2Q+PjJdfDA7d2hpbGUoMSl7ZD1iW2U+PjBdfDA7aWYoIShkPDwyND4+MjQpKWJyZWFrO2M9
ZltvPj4yXXwwO2lmKChjfDApPT0oZltpPj4yXXwwKSl7aWYoISgoblcobil8MCk8PDI0Pj4yNCkp
e2M9MDticmVhayBifWM9ZltvPj4yXXwwO2Q9YltlPj4wXXwwfWZbbz4+Ml09YysxO2JbYz4+MF09
ZDtlPWUrMXwwfWM9MX1jPWZbbz4+Ml18MDtpZigoY3wwKT09KGZbaT4+Ml18MCkpe2lmKCEoKG5X
KG4pfDApPDwyND4+MjQpKXtjPTA7YnJlYWt9Yz1mW28+PjJdfDB9ZltvPj4yXT1jKzE7YltjPj4w
XT0wO2M9ZlthKzQyOD4+Ml18MH13aGlsZSgwKTt0PXA7cmV0dXJuIGN8MH1mdW5jdGlvbiBEVyhh
LGMsZCxlLGcpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO3ZhciBpPTAsaj0wLGs9MCxs
PTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9
MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0w
LFA9MDtPPXQ7dD10KzgwfDA7Sz1PKzE2fDA7TD1PO009ZlthKzM1Mj4+Ml18MDtrPU0rMjB8MDtp
PWZXKGEsayxmW2U+PjJdfDAsMCl8MDtpZighaSl7aT1LVyhNKzgwfDAsZltlPj4yXXwwKXwwO2lm
KChpfDApIT0wPyhqPWZXKGEsayxpLDI0KXwwLChqfDApIT0wKTowKWlmKChiW2ErMjMyPj4wXXww
KSE9MD8oTFcoYSxqKXwwKT09MDowKWk9MTtlbHNlIHo9NjtlbHNlIGk9MX1lbHNle2o9aTt6PTZ9
YTpkbyBpZigoenwwKT09Nil7dz1mW2orMTI+PjJdfDA7az1jKzM2fDA7bD1hKzM3NnwwO3I9YSsz
ODh8MDtzPXhiW2Zbaz4+Ml0mMTI3XShjLGQsZltsPj4yXXwwLGZbcj4+Ml18MCl8MDtpPXMrd3ww
O209ZltsPj4yXXwwO2lmKChpfDApPihtfDApKXtpPWkrMTZ8MDtmW2w+PjJdPWk7aT11YltmW2Er
MTY+PjJdJjEyN10oZltyPj4yXXwwLGk8PDQpfDA7aWYoIWkpe2ZbbD4+Ml09bTtpPTE7YnJlYWt9
ZltyPj4yXT1pO2lmKChzfDApPihtfDApKXhiW2Zbaz4+Ml0mMTI3XShjLGQscyxpKXwwfUo9Zlty
Pj4yXXwwO3A9YysyOHwwO0c9YSs0MTJ8MDtIPWErNDI4fDA7dj1qKzIwfDA7ST1hKzQyNHwwO3E9
MDtvPTA7az0wO3doaWxlKDEpe2lmKChvfDApPj0oc3wwKSlicmVhaztuPWZbKGZbcj4+Ml18MCkr
KG88PDQpPj4yXXwwO249alcoYSxjLG4sbisodWJbZltwPj4yXSYxMjddKGMsbil8MCl8MCl8MDtp
Zighbil7aT0xO2JyZWFrIGF9aT0oZltuPj4yXXwwKSstMXwwO2lmKGJbaT4+MF18MCl7ej0xNTti
cmVha31iW2k+PjBdPTE7ZD1xKzF8MDtmW0orKHE8PDIpPj4yXT1mW24+PjJdO209ZltyPj4yXXww
O2lmKGJbbSsobzw8NCkrMTI+PjBdfDApe0Y9ZFcoRyxjLGZbbSsobzw8NCkrND4+Ml18MCxmW20r
KG88PDQpKzg+PjJdfDApfDA7ZltKKyhkPDwyKT4+Ml09RjtpZighRil7aT0xO2JyZWFrIGF9fWVs
c2V7YjpkbyBpZighKGJbbis4Pj4wXXwwKSlpPTE7ZWxzZXtpPTA7d2hpbGUoMSl7aWYoKGl8MCk+
PSh3fDApKXtpPTE7YnJlYWsgYn1sPWZbdj4+Ml18MDtpZigobnwwKT09KGZbbCsoaSoxMnwwKT4+
Ml18MCkpYnJlYWs7aT1pKzF8MH1pPWJbbCsoaSoxMnwwKSs0Pj4wXXwwfXdoaWxlKDApO2k9b1co
YSxjLGksZlttKyhvPDw0KSs0Pj4yXXwwLGZbbSsobzw8NCkrOD4+Ml18MCxHKXwwO2lmKGl8MCli
cmVhayBhO2ZbSisoZDw8Mik+PjJdPWZbSD4+Ml19ZltIPj4yXT1mW0k+PjJdO2k9ZltuKzQ+PjJd
fDA7ZG8gaWYoaSlpZihiW24rOT4+MF18MCl7aT1NVyhhLGksbixmW0orKGQ8PDIpPj4yXXwwLGcp
fDA7aWYoIWkpe2k9cTticmVha31lbHNlIGJyZWFrIGF9ZWxzZXtiWyhmW24+PjJdfDApKy0xPj4w
XT0yO2s9aysxfDA7aT1xKzJ8MDticmVha31lbHNlIGk9cSsyfDA7d2hpbGUoMCk7cT1pO289bysx
fDB9aWYoKHp8MCk9PTE1KXtpZigoZlthKzE0ND4+Ml18MCkhPShjfDApKXtpPTg7YnJlYWt9Zlth
KzI4ND4+Ml09ZlsoZltyPj4yXXwwKSsobzw8NCk+PjJdO2k9ODticmVha31mW2ErMzgwPj4yXT1x
O2k9ZltqKzg+PjJdfDA7YzpkbyBpZigoaXwwKSE9MD8odT1mW2k+PjJdfDAsKGJbdSstMT4+MF18
MCkhPTApOjApe2k9MDt3aGlsZSgxKXtpZigoaXwwKT49KHF8MCkpYnJlYWsgYztpZigoZltKKyhp
PDwyKT4+Ml18MCk9PSh1fDApKXt6PTM5O2JyZWFrIGN9aT1pKzJ8MH19ZWxzZXtpPS0xO3o9Mzl9
d2hpbGUoMCk7aWYoKHp8MCk9PTM5KWZbYSszODQ+PjJdPWk7ZD0wO289aztGPXE7d2hpbGUoMSl7
aWYoKGR8MCk+PSh3fDApKWJyZWFrO2k9Zlt2Pj4yXXwwO2s9aSsoZCoxMnwwKXwwO2w9ZltrPj4y
XXwwO209KGZbbD4+Ml18MCkrLTF8MDtkbyBpZigoYlttPj4wXXwwKT09MD8oeD1pKyhkKjEyfDAp
Kzh8MCx5PWZbeD4+Ml18MCwoeXwwKSE9MCk6MCl7aT1mW2wrND4+Ml18MDtpZighaSl7YlttPj4w
XT0xO2ZbSisoRjw8Mik+PjJdPWZbZltrPj4yXT4+Ml07ZltKKyhGKzE8PDIpPj4yXT1mW3g+PjJd
O2k9bztrPUYrMnwwO2JyZWFrfWlmKGJbbCs5Pj4wXXwwKXtpPU1XKGEsaSxsLHksZyl8MDtpZigh
aSl7aT1vO2s9RjticmVha31lbHNlIGJyZWFrIGF9ZWxzZXtiW20+PjBdPTI7ZltKKyhGPDwyKT4+
Ml09ZltmW2s+PjJdPj4yXTtmW0orKEYrMTw8Mik+PjJdPWZbeD4+Ml07aT1vKzF8MDtrPUYrMnww
O2JyZWFrfX1lbHNle2k9bztrPUZ9d2hpbGUoMCk7ZD1kKzF8MDtvPWk7Rj1rfWZbSisoRjw8Mik+
PjJdPTA7ZDpkbyBpZihvKXtuPWErMzk2fDA7bT1mW24+PjJdfDA7RT1hKzQwMHwwO2Q9YltFPj4w
XXwwO2k9ZCYyNTU7ZG8gaWYoIShvPDwxPj5pKSl7aT0xPDxpO2w9YSszOTJ8MDtpZighbSl7az1p
O3o9NTh9ZWxzZXtrPWk7aT1tfX1lbHNle2k9ZDtkb3tEPWk7aT1pKzE8PDI0Pj4yNH13aGlsZSgo
bz4+KEQmMjU1KXwwKSE9MCk7aT0oaSYyNTUpPjM/aTozO2JbRT4+MF09aTtpPWkmMjU1O2w9YSsz
OTJ8MDtrPXViW2ZbYSsxNj4+Ml0mMTI3XShmW2w+PjJdfDAsMTI8PGkpfDA7aWYoIWspe2JbRT4+
MF09ZDtpPTE7YnJlYWsgYX1lbHNle2ZbbD4+Ml09aztrPTE8PGk7ej01ODticmVha319d2hpbGUo
MCk7ZTpkbyBpZigoenwwKT09NTgpe2k9azt3aGlsZSgxKXtpZighaSl7aT0tMTticmVhayBlfUQ9
aSstMXwwO2ZbKGZbbD4+Ml18MCkrKEQqMTJ8MCk+PjJdPS0xO2k9RH19d2hpbGUoMCk7RD1pKy0x
fDA7ZltuPj4yXT1EO3c9TSs0MHwwO3g9YSs0MjB8MDt5PWsrLTF8MDt6PTAta3wwO0E9eT4+PjI7
Qj1hKzIzM3wwO0M9YSs0Njh8MDtpPTA7bT1vO2Y6d2hpbGUoMSl7aWYoKGl8MCk+PShGfDApKWJy
ZWFrIGQ7dj1KKyhpPDwyKXwwO2Q9Zlt2Pj4yXXwwO249ZCstMXwwO2lmKChiW24+PjBdfDApPT0y
KXtOVyhhLEwpO09XKEssTCk7YltuPj4wXT0wO249ZlcoYSx3LGQsMCl8MDtpZighbil7aT0xO3o9
OTg7YnJlYWt9bj1mW24rND4+Ml18MDtpZighbil7aT0xO3o9OTg7YnJlYWt9dT1mW24rND4+Ml18
MDtpZighdSl7aT0yNzt6PTk4O2JyZWFrfXE9dSsyMHwwO3I9dSsxNnwwO3A9MDt3aGlsZSgxKXtu
PWZbcT4+Ml18MDtvPWZbcj4+Ml18MDtpZigocHwwKT49KG58MCkpYnJlYWs7bz1iW28rcD4+MF18
MDtuPWZbST4+Ml18MDtpZigobnwwKT09KGZbeD4+Ml18MCkpe2lmKCEoKG5XKEcpfDApPDwyND4+
MjQpKXtpPTE7ej05ODticmVhayBmfW49ZltJPj4yXXwwfWZbST4+Ml09bisxO2Jbbj4+MF09bztw
PXArMXwwfVBXKEssbyxuKTtkb3tjPWQ7ZD1kKzF8MH13aGlsZSgoYltjPj4wXXwwKSE9NTgpO1BX
KEssZCxRVyhkKXwwKTt3aGlsZSgxKXtuPWZbST4+Ml18MDtpZigobnwwKT09KGZbeD4+Ml18MCkp
e2lmKCEoKG5XKEcpfDApPDwyND4+MjQpKXtpPTE7ej05ODticmVhayBmfW49ZltJPj4yXXwwfWM9
YltkPj4wXXwwO2ZbST4+Ml09bisxO2Jbbj4+MF09YztpZighKGJbZD4+MF18MCkpYnJlYWs7ZWxz
ZSBkPWQrMXwwfWM9UlcoSyl8MDtxPWZbbD4+Ml18MDtyPWMmejtkPTA7cz15JmM7d2hpbGUoMSl7
aWYoKGZbcSsocyoxMnwwKT4+Ml18MCkhPShEfDApKWJyZWFrO2lmKChmW3ErKHMqMTJ8MCkrND4+
Ml18MCk9PShjfDApKXtuPWZbcSsocyoxMnwwKSs4Pj4yXXwwO289ZltIPj4yXXwwO3doaWxlKDEp
e1A9YltvPj4wXXwwO3A9UDw8MjQ+PjI0PT0wO2lmKHB8UDw8MjQ+PjI0IT0oYltuPj4wXXwwKSli
cmVhaztuPW4rMXwwO289bysxfDB9aWYocCl7aT04O3o9OTg7YnJlYWsgZn19aWYoIShkPDwyND4+
MjQpKWQ9KHI+Pj4oKGhbRT4+MF18MCkrLTF8MCkmQXwxKSYyNTU7UD1kJjI1NTtzPXMtUCsoKHN8
MCk8KFB8MCk/azowKXwwfWlmKGJbQj4+MF18MCl7YlsoZltJPj4yXXwwKSstMT4+MF09YltDPj4w
XXwwO249ZltmW3U+PjJdPj4yXXwwO3doaWxlKDEpe2Q9ZltJPj4yXXwwO2lmKChkfDApPT0oZlt4
Pj4yXXwwKSl7aWYoISgoblcoRyl8MCk8PDI0Pj4yNCkpe2k9MTt6PTk4O2JyZWFrIGZ9ZD1mW0k+
PjJdfDB9UD1iW24+PjBdfDA7ZltJPj4yXT1kKzE7YltkPj4wXT1QO2lmKCEoYltuPj4wXXwwKSli
cmVhaztlbHNlIG49bisxfDB9fVA9ZltIPj4yXXwwO2ZbSD4+Ml09ZltJPj4yXTtmW3Y+PjJdPVA7
ZlsoZltsPj4yXXwwKSsocyoxMnwwKT4+Ml09RDtmWyhmW2w+PjJdfDApKyhzKjEyfDApKzQ+PjJd
PWM7ZlsoZltsPj4yXXwwKSsocyoxMnwwKSs4Pj4yXT1QO209bSstMXwwO2lmKCFtKXt6PTEwMDti
cmVha319ZWxzZSBiW24+PjBdPTA7aT1pKzJ8MH1pZigoenwwKT09OTgpYnJlYWsgYTtlbHNlIGlm
KCh6fDApPT0xMDApe2k9aSsyfDA7YnJlYWt9fWVsc2UgaT0wO3doaWxlKDApO3doaWxlKDEpe2lm
KChpfDApPj0oRnwwKSlicmVhaztiWyhmW0orKGk8PDIpPj4yXXwwKSstMT4+MF09MDtpPWkrMnww
fWk9Zzt3aGlsZSgxKXtpPWZbaT4+Ml18MDtpZighaSlicmVhaztiWyhmW2ZbaSsxMj4+Ml0+PjJd
fDApKy0xPj4wXT0wO2k9aSs0fDB9aWYoIShiW2ErMjMyPj4wXXwwKSlpPTA7ZWxzZXtpPWZbais0
Pj4yXXwwO2lmKCFpKXtpPWZbTSsxNTY+PjJdfDA7aWYoIWkpe2k9MDticmVha31rPWZbZT4+Ml18
MH1lbHNle2k9ZltpKzQ+PjJdfDA7aWYoIWkpe2k9Mjc7YnJlYWt9aj1mW2U+PjJdfDA7d2hpbGUo
MSl7az1qKzF8MDtpZigoYltqPj4wXXwwKT09NTgpYnJlYWs7ZWxzZSBqPWt9fWlmKChiW2ErMjMz
Pj4wXXwwKSE9MD8oTj1mW2ZbaT4+Ml0+PjJdfDAsKE58MCkhPTApOjApe2o9MDt3aGlsZSgxKXts
PWorMXwwO2lmKCEoYltOK2o+PjBdfDApKWJyZWFrO2Vsc2Ugaj1sfX1lbHNlIGw9MDtmW2UrND4+
Ml09aztvPWkrMjB8MDtmW2UrMTY+PjJdPWZbbz4+Ml07ZltlKzg+PjJdPWZbZltpPj4yXT4+Ml07
ZltlKzIwPj4yXT1sO3A9MDt3aGlsZSgxKXtxPXArMXwwO2lmKCEoYltrK3A+PjBdfDApKWJyZWFr
O2Vsc2UgcD1xfWo9ZltvPj4yXXwwO209cStsK2p8MDtkPWkrMjR8MDtpZigobXwwKT4oZltkPj4y
XXwwKSl7aj1tKzI0fDA7bj10YltmW2ErMTI+PjJdJjYzXShqKXwwO2lmKCFuKXtpPTE7YnJlYWt9
ZltkPj4yXT1qO2Q9aSsxNnwwO1EzKG58MCxmW2Q+PjJdfDAsZltvPj4yXXwwKXwwO2o9YSszNjB8
MDt3aGlsZSgxKXtqPWZbaj4+Ml18MDtpZighailicmVhazttPWorMTJ8MDtpZigoZlttPj4yXXww
KT09KGZbZD4+Ml18MCkpZlttPj4yXT1ufUNiW2ZbYSsyMD4+Ml0mMTI3XShmW2Q+PjJdfDApO2Zb
ZD4+Ml09bjttPW47aj1mW28+PjJdfDB9ZWxzZXttPWkrMTZ8MDtkPW07bT1mW20+PjJdfDB9aj1t
K2p8MDtRMyhqfDAsa3wwLHF8MCl8MDtpZihsfDApe1A9aitwfDA7YltQPj4wXT1iW2ErNDY4Pj4w
XXwwO1EzKFArMXwwLGZbZltpPj4yXT4+Ml18MCxsfDApfDB9ZltlPj4yXT1mW2Q+PjJdO2k9MH19
d2hpbGUoMCk7dD1PO3JldHVybiBpfDB9ZnVuY3Rpb24gRVcoYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wLGQ9MCxlPTAsZz0wLGg9MDtkPWErMTA0fDA7ZT1hKzM3MnwwO2M9YSs0fDA7d2hpbGUoMSl7
aWYoIWIpYnJlYWs7YT1mW2Q+PjJdfDA7aWYoIWEpYT1iO2Vsc2V7RGJbYSY2M10oZltjPj4yXXww
LGZbZltiPj4yXT4+Ml18MCk7YT1ifWg9Yis0fDA7Zz1mW2g+PjJdfDA7ZltoPj4yXT1mW2U+PjJd
O2ZbZT4+Ml09YjtmWyhmW2E+PjJdfDApKzQ+PjJdPWZbYis4Pj4yXTtiPWd9cmV0dXJufWZ1bmN0
aW9uIEZXKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxq
PTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wO3A9dDt0PXQrMTZ8MDtqPXA7ZlthKzI3Nj4+
Ml09NjI7az1hKzI4NHwwO2Zbaz4+Ml09YztsPWErMTQ0fDA7bT1hKzI4OHwwO249YSs4MHwwO2k9
YSs0NzZ8MDtnPWM7YTp3aGlsZSgxKXtmW2o+PjJdPTA7cT1mW2w+PjJdfDA7cT14YltmW3E+PjJd
JjEyN10ocSxnLGQsail8MDtjPWZbaj4+Ml18MDtmW20+PjJdPWM7aD1jO3N3aXRjaChxfDApe2Nh
c2UgLTE1OntvPTM7YnJlYWsgYX1jYXNlIC00OntvPTc7YnJlYWsgYX1jYXNlIDA6e289MTI7YnJl
YWsgYX1jYXNlIC0xOntvPTEzO2JyZWFrIGF9Y2FzZSAtMjp7bz0xNTticmVhayBhfWNhc2UgMTU6
e2lmKGZbbj4+Ml18MClxVyhhLGZbbD4+Ml18MCxnLGgpO2JyZWFrfWNhc2UgMTE6e2lmKCEod1co
YSxmW2w+PjJdfDAsZyxoKXwwKSl7Yz0xO2JyZWFrIGF9YnJlYWt9Y2FzZSAxMzp7aWYoISh4Vyhh
LGZbbD4+Ml18MCxnLGgpfDApKXtjPTE7YnJlYWsgYX1icmVha31kZWZhdWx0OntjPTk7YnJlYWsg
YX19Yz1mW2o+PjJdfDA7ZltrPj4yXT1jO3N3aXRjaChmW2k+PjJdfDApe2Nhc2UgMjp7Yz0zNTti
cmVhayBhfWNhc2UgMzp7bz0xODticmVhayBhfWRlZmF1bHQ6e319Zz1jfWRvIGlmKChvfDApPT0z
KXtpZihmW24+PjJdfDApe3FXKGEsZltsPj4yXXwwLGcsYyk7aWYoKGZbaT4+Ml18MCk9PTIpe2M9
MzU7YnJlYWt9Yz1mW2o+PjJdfDB9ZltlPj4yXT1jO2M9MH1lbHNlIGlmKChvfDApPT03KXtmW2U+
PjJdPWc7Yz0wfWVsc2UgaWYoKG98MCk9PTEyKXtmW2s+PjJdPWM7Yz00fWVsc2UgaWYoKG98MCk9
PTEzKWlmKCEoYlthKzQ4MD4+MF18MCkpe2ZbZT4+Ml09ZztjPTB9ZWxzZSBjPTU7ZWxzZSBpZigo
b3wwKT09MTUpaWYoIShiW2ErNDgwPj4wXXwwKSl7ZltlPj4yXT1nO2M9MH1lbHNlIGM9NjtlbHNl
IGlmKChvfDApPT0xOCl7ZltlPj4yXT1jO2M9MH13aGlsZSgwKTt0PXA7cmV0dXJuIGN8MH1mdW5j
dGlvbiBHVyhhLGMsZCxlLGcsaCl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7aD1ofDA7
dmFyIGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdT0wLHY9MCx3
PTAseD0wLHk9MCx6PTAsQT0wLEI9MDtCPXQ7dD10KzE2fDA7ej1CKzh8MDtBPUIrNHwwO3U9Qjtp
PWZbZD4+Ml18MDtmW3o+PjJdPWk7aWYoKGZbYSsxNDQ+PjJdfDApPT0oY3wwKSl7cz1hKzI4NHww
O2Zbcz4+Ml09aTtyPWErMjg4fDB9ZWxzZXtzPWZbYSsyOTY+PjJdfDA7cj1zKzR8MH1mW3M+PjJd
PWk7ZltkPj4yXT0wO2w9Yys4fDA7bT1hKzYwfDA7dj1hKzQ3NnwwO3c9YSs4MHwwO3g9YSs0fDA7
bj1jKzY4fDA7bz1hKzQ0fDA7cD1jKzU2fDA7cT1hKzQ4fDA7YTp3aGlsZSgxKXtrPXhiW2ZbbD4+
Ml0mMTI3XShjLGZbej4+Ml18MCxlLEEpfDA7aT1mW0E+PjJdfDA7ZltyPj4yXT1pO2o9aTtiOmRv
IHN3aXRjaChrfDApe2Nhc2UgNDA6e3k9NjticmVhayBhfWNhc2UgMDp7eT0yNDticmVhayBhfWNh
c2UgLTI6e3k9MjU7YnJlYWsgYX1jYXNlIC00OmNhc2UgLTE6e3k9Mjc7YnJlYWsgYX1jYXNlIDc6
e2k9ZlttPj4yXXwwO2lmKGl8MCl7Ylt1Pj4wXT0xMDtFYltpJjEyN10oZlt4Pj4yXXwwLHUsMSk7
YnJlYWsgYn1pZihmW3c+PjJdfDApcVcoYSxjLGZbej4+Ml18MCxqKTticmVha31jYXNlIDY6e2s9
ZlttPj4yXXwwO2lmKCFrKXtpZighKGZbdz4+Ml18MCkpYnJlYWsgYjtxVyhhLGMsZlt6Pj4yXXww
LGopO2JyZWFrIGJ9aWYoYltuPj4wXXwwKXtqPWZbej4+Ml18MDtFYltrJjEyN10oZlt4Pj4yXXww
LGosaS1qfDApO2JyZWFrIGJ9aT1qO3doaWxlKDEpe2ZbdT4+Ml09ZltvPj4yXTtqPXliW2ZbcD4+
Ml0mMTI3XShjLHosaSx1LGZbcT4+Ml18MCl8MDtmW3I+PjJdPWZbQT4+Ml07aT1mW28+PjJdfDA7
RWJbayYxMjddKGZbeD4+Ml18MCxpLChmW3U+PjJdfDApLWl8MCk7aWYoaj4+PjA8MilicmVhaztm
W3M+PjJdPWZbej4+Ml07aT1mW0E+PjJdfDB9YnJlYWt9ZGVmYXVsdDp7eT0yOTticmVhayBhfX13
aGlsZSgwKTtrPWZbQT4+Ml18MDtmW3o+PjJdPWs7ZltzPj4yXT1rO3N3aXRjaChmW3Y+PjJdfDAp
e2Nhc2UgMzp7eT0zMTticmVhayBhfWNhc2UgMjp7aT0zNTticmVhayBhfWRlZmF1bHQ6e319fWlm
KCh5fDApPT02KXtqPWZbYSs3Nj4+Ml18MDtpZighail7aWYoZlt3Pj4yXXwwKXFXKGEsYyxmW3o+
PjJdfDAsaSl9ZWxzZSBDYltqJjEyN10oZlt4Pj4yXXwwKTtpPWZbQT4+Ml18MDtmW2Q+PjJdPWk7
ZltnPj4yXT1pO2k9KGZbdj4+Ml18MCk9PTI/MzU6MH1lbHNlIGlmKCh5fDApPT0yNCl7ZltzPj4y
XT1pO2k9NH1lbHNlIGlmKCh5fDApPT0yNSlpZighKGg8PDI0Pj4yNCkpaT02O2Vsc2V7ZltnPj4y
XT1mW3o+PjJdO2k9MH1lbHNlIGlmKCh5fDApPT0yNylpZighKGg8PDI0Pj4yNCkpaT0yMDtlbHNl
e2ZbZz4+Ml09Zlt6Pj4yXTtpPTB9ZWxzZSBpZigoeXwwKT09Mjkpe2Zbcz4+Ml09aTtpPTIzfWVs
c2UgaWYoKHl8MCk9PTMxKXtmW2c+PjJdPWZbQT4+Ml07aT0wfXQ9QjtyZXR1cm4gaXwwfWZ1bmN0
aW9uIEhXKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wO2g9dDt0
PXQrMTZ8MDtnPWg7ZltnPj4yXT1jO2M9R1coYSxmW2ErMTQ0Pj4yXXwwLGcsZCxlLChiW2ErNDgw
Pj4wXXwwKT09MCYxKXwwO2c9ZltnPj4yXXwwO2RvIGlmKCEoKGN8MCkhPTB8KGd8MCk9PTApKXtj
PWErMjc2fDA7aWYoIShmW2ErNDcyPj4yXXwwKSl7ZltjPj4yXT01ODtjPWhXKGEsZyxkLGUpfDA7
YnJlYWt9ZWxzZXtmW2M+PjJdPTYzO2M9SVcoYSxnLGQsZSl8MDticmVha319d2hpbGUoMCk7dD1o
O3JldHVybiBjfDB9ZnVuY3Rpb24gSVcoYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7
Yz1BVyhhLDEsZlthKzE0ND4+Ml18MCxjLGQsZSwoYlthKzQ4MD4+MF18MCk9PTAmMSl8MDtpZigo
Y3wwKT09MD8oSlcoYSl8MCk8PDI0Pj4yND09MDowKWM9MTtyZXR1cm4gY3wwfWZ1bmN0aW9uIEpX
KGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0w
O209YSsxNnwwO2E9YSszNjB8MDt3aGlsZSgxKXthPWZbYT4+Ml18MDtpZighYSl7YT0xO2JyZWFr
fWk9KGZbYSsyND4+Ml18MCkrMXwwO2o9YSszNnwwO2U9ZltqPj4yXXwwO2Q9ZStpfDA7bD1hKzR8
MDtjPWZbbD4+Ml18MDtpZigoY3wwKT09KGR8MCkpe2E9MTticmVha31rPWErOHwwO2I9ZltrPj4y
XXwwO2c9YitpfDA7aD1hKzQwfDA7aWYoKGd8MCk+KChmW2g+PjJdfDApLWV8MCkpe2Q9dWJbZltt
Pj4yXSYxMjddKGUsZyl8MDtpZighZCl7YT0wO2JyZWFrfWI9YSsxMnwwO2U9ZltqPj4yXXwwO2lm
KChmW2I+PjJdfDApPT0oZXwwKSlmW2I+PjJdPWQ7Yj1hKzE2fDA7Yz1mW2I+PjJdfDA7aWYoY3ww
KWZbYj4+Ml09ZCsoYy1lKTtmW2o+PjJdPWQ7ZltoPj4yXT1kK2c7ZD1kK2l8MDtjPWZbbD4+Ml18
MDtiPWZbaz4+Ml18MH1RMyhkfDAsY3wwLGJ8MCl8MDtmW2w+PjJdPWR9cmV0dXJuIGF8MH1mdW5j
dGlvbiBLVyhhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wO2U9YSsxMnww
O2c9YSs4fDA7d2hpbGUoMSl7ZD1mW2U+PjJdfDA7aWYoKGR8MCk9PShmW2c+PjJdfDApKXtpZigh
KChuVyhhKXwwKTw8MjQ+PjI0KSl7Yz0wO2JyZWFrfWQ9ZltlPj4yXXwwfWk9YltjPj4wXXwwO2Zb
ZT4+Ml09ZCsxO2JbZD4+MF09aTtpZighKGJbYz4+MF18MCkpe2g9NjticmVha31lbHNlIGM9Yysx
fDB9aWYoKGh8MCk9PTYpe2k9YSsxNnwwO2M9ZltpPj4yXXwwO2ZbaT4+Ml09ZltlPj4yXX1yZXR1
cm4gY3wwfWZ1bmN0aW9uIExXKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxp
PTAsaj0wLGs9MCxsPTAsbT0wLG49MDtuPWZbYSszNTI+PjJdfDA7aj1uKzgwfDA7az1uKzkyfDA7
bD1uKzg4fDA7bT1uKzYwfDA7bj1uKzk2fDA7aT1jKzR8MDtoPWZbYz4+Ml18MDthOndoaWxlKDEp
e3N3aXRjaChiW2g+PjBdfDApe2Nhc2UgMDp7ZD0xO2JyZWFrIGF9Y2FzZSA1ODp7Zz1mW2M+PjJd
fDA7d2hpbGUoMSl7ZD1mW2s+PjJdfDA7ZT0oZHwwKT09KGZbbD4+Ml18MCk7aWYoKGd8MCk9PSho
fDApKWJyZWFrO2lmKGUpe2lmKCEoKG5XKGopfDApPDwyND4+MjQpKXtkPTA7YnJlYWsgYX1kPWZb
az4+Ml18MH1lPWJbZz4+MF18MDtmW2s+PjJdPWQrMTtiW2Q+PjBdPWU7Zz1nKzF8MH1pZihlKXtp
ZighKChuVyhqKXwwKTw8MjQ+PjI0KSl7ZD0wO2JyZWFrIGF9ZD1mW2s+PjJdfDB9ZltrPj4yXT1k
KzE7YltkPj4wXT0wO2Q9ZlcoYSxtLGZbbj4+Ml18MCw4KXwwO2lmKCFkKXtkPTA7YnJlYWsgYX1l
PWZbbj4+Ml18MDtpZigoZltkPj4yXXwwKT09KGV8MCkpZltuPj4yXT1mW2s+PjJdO2Vsc2UgZltr
Pj4yXT1lO2ZbaT4+Ml09ZDticmVha31kZWZhdWx0Ont9fWg9aCsxfDB9cmV0dXJuIGR8MH1mdW5j
dGlvbiBNVyhhLGMsZCxlLGcpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO3ZhciBoPTAs
aT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MDtrPWJbZT4+MF18MDtpPWZbYz4+Ml18MDto
PShpfDApPT0wO2RvIGlmKCEoazw8MjQ+PjI0KSlpZihoKXttPTA7aj0xMX1lbHNlIGg9Mjg7ZWxz
ZSBpZigoKCFoPyhiW2k+PjBdfDApPT0xMjA6MCk/KGJbaSsxPj4wXXwwKT09MTA5OjApPyhiW2kr
Mj4+MF18MCk9PTEwODowKXtoPWJbaSszPj4wXXwwO2lmKChoPDwyND4+MjQ9PTExMD8oYltpKzQ+
PjBdfDApPT0xMTU6MCk/KGJbaSs1Pj4wXXwwKT09MDowKXtoPTM5O2JyZWFrfW09aDw8MjQ+PjI0
PT0wJjE7aj0xMX1lbHNle209MDtqPTExfXdoaWxlKDApO2E6ZG8gaWYoKGp8MCk9PTExKXtsPW08
PDI0Pj4yNCE9MDtpPTE7bj0wO2g9MTt3aGlsZSgxKXtqPWk8PDI0Pj4yNCE9MDtpZighKGs8PDI0
Pj4yNCkpYnJlYWs7ZG8gaWYoail7aWYobj4+PjA8PTM2P2s8PDI0Pj4yND09KGJbNTM1MzYrbj4+
MF18MCk6MClicmVhaztpPTB9ZWxzZSBpPTA7d2hpbGUoMCk7ZG8gaWYoIShsfGg8PDI0Pj4yND09
MCkpe2lmKG4+Pj4wPD0yOT9rPDwyND4+MjQ9PShiWzUzNTg0K24+PjBdfDApOjApYnJlYWs7aD0w
fXdoaWxlKDApO2s9bisxfDA7bj1rO2s9YltlK2s+PjBdfDB9aWYoKG0mMjU1fDApIT0oaiYobnww
KT09MzYmMXwwKSl7aD1tPDwyND4+MjQ9PTA/NDA6Mzg7YnJlYWt9aWYoIShoPDwyND4+MjQhPTAm
KG58MCk9PTI5KSl7bz1hKzQ2OHwwO249bisoKGJbbz4+MF18MCkhPTAmMSl8MDtoPWErMzcyfDA7
aj1mW2g+PjJdfDA7ZG8gaWYoIWope2g9YSsxMnwwO2k9dGJbZltoPj4yXSY2M10oMjgpfDA7aWYo
IWkpe2g9MTticmVhayBhfWo9bisyNHwwO209dGJbZltoPj4yXSY2M10oail8MDtmW2krMTY+PjJd
PW07aWYoIW0pe0NiW2ZbYSsyMD4+Ml0mMTI3XShpKTtoPTE7YnJlYWsgYX1lbHNle2ZbaSsyND4+
Ml09ajtqPWk7YnJlYWt9fWVsc2V7aT1qKzI0fDA7aWYoKG58MCk+KGZbaT4+Ml18MCkpe2s9aisx
NnwwO2w9bisyNHwwO209dWJbZlthKzE2Pj4yXSYxMjddKGZbaz4+Ml18MCxsKXwwO2lmKCFtKXto
PTE7YnJlYWsgYX1mW2s+PjJdPW07ZltpPj4yXT1sfWZbaD4+Ml09ZltqKzQ+PjJdfXdoaWxlKDAp
O2ZbaisyMD4+Ml09bjtpPWorMTZ8MDtRMyhmW2k+PjJdfDAsZXwwLG58MCl8MDtoPWJbbz4+MF18
MDtpZihoPDwyND4+MjQpYlsoZltpPj4yXXwwKSsobistMSk+PjBdPWg7ZltqPj4yXT1jO2Zbaisx
Mj4+Ml09ZDtoPWMrNHwwO2Zbais4Pj4yXT1mW2g+PjJdO2lmKChiW2U+PjBdfDApPT0wPygoZlth
KzM1Mj4+Ml18MCkrMTUyfDApPT0oY3wwKTowKWk9MDtlbHNlIGk9ajtmW2g+PjJdPWk7ZltqKzQ+
PjJdPWZbZz4+Ml07ZltnPj4yXT1qO2lmKChkfDApIT0wPyhwPWZbYSsxMDA+PjJdfDAsKHB8MCkh
PTApOjApe0ViW3AmMTI3XShmW2ErND4+Ml18MCxmW2M+PjJdfDAsKGZbaD4+Ml18MCk9PTA/MDpl
KTtoPTB9ZWxzZSBoPTB9ZWxzZSBoPTQwfXdoaWxlKDApO3JldHVybiBofDB9ZnVuY3Rpb24gTlco
YSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wO2M9YjtmW2M+PjJdPTA7ZltjKzQ+PjJdPTA7YT1UVyhh
KXwwO2I9Yis4fDA7ZltiPj4yXT1hO2ZbYis0Pj4yXT0wO3JldHVybn1mdW5jdGlvbiBPVyhhLGIp
e2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTA7Yz1iO2c9ZltjKzQ+PjJdXjE5MzY2ODIz
NDE7ZD1hO2ZbZD4+Ml09ZltjPj4yXV4xODg2NjEwODA1O2ZbZCs0Pj4yXT1nO2Q9Yis4fDA7Zz1k
O2M9ZltnKzQ+PjJdXjE2ODUwMjUzNzc7ZT1hKzh8MDtmW2U+PjJdPWZbZz4+Ml1eMTg1MjA3NTg4
NTtmW2UrND4+Ml09YztlPWI7Yj1mW2UrND4+Ml1eMTgxOTg5NTY1MztjPWErMTZ8MDtmW2M+PjJd
PWZbZT4+Ml1eMTg1MjE0MjE3NztmW2MrND4+Ml09YjtjPWZbZCs0Pj4yXV4xOTUyODAxODkwO2I9
YSsyNHwwO2ZbYj4+Ml09ZltkPj4yXV4yMDM3NjcxMjgzO2ZbYis0Pj4yXT1jO2ZbYSs0MD4+Ml09
YSszMjtiPWErNDh8MDtmW2I+PjJdPTA7ZltiKzQ+PjJdPTA7cmV0dXJufWZ1bmN0aW9uIFBXKGEs
YyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49
MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0w
O289YytkfDA7cD1hKzQwfDA7cT1hKzQwfDA7cj1hKzMyfDA7cz1hKzMzfDA7dD1hKzM0fDA7dT1h
KzM1fDA7aT1hKzM2fDA7aj1hKzM3fDA7az1hKzM4fDA7bD1hKzM5fDA7bT1hKzI0fDA7bj1hKzQ4
fDA7YTp3aGlsZSgxKXtlPWM+Pj4wPG8+Pj4wO3doaWxlKDEpe2c9ZltwPj4yXXwwO2lmKGUpaWYo
Zz4+PjA8cT4+PjApYnJlYWs7ZWxzZSBkPTE7ZWxzZSBkPTA7aWYoZz4+PjA8cT4+PjApYnJlYWsg
YTtBPWhbcj4+MF18MDtCPUwzKGhbcz4+MF18MHwwLDAsOCl8MDtnPUc7ej1MMyhoW3Q+PjBdfDB8
MCwwLDE2KXwwO2c9Z3xHO3g9TDMoaFt1Pj4wXXwwfDAsMCwyNCl8MDtnPWd8R3woaFtpPj4wXXww
KTt2PUwzKGhbaj4+MF18MHwwLDAsNDApfDA7Zz1nfEc7eT1MMyhoW2s+PjBdfDB8MCwwLDQ4KXww
O2c9Z3xHO3c9TDMoaFtsPj4wXXwwfDAsMCw1Nil8MDt3PUJ8QXx6fHh8dnx5fHc7Zz1nfEc7eT1t
O3Y9Z15mW3krND4+Ml07eD1tO2ZbeD4+Ml09d15mW3k+PjJdO2ZbeCs0Pj4yXT12O1NXKGEsMik7
eD1hO2c9Zlt4KzQ+PjJdXmc7dj1hO2Zbdj4+Ml09Zlt4Pj4yXV53O2Zbdis0Pj4yXT1nO2ZbcD4+
Ml09cjt2PW47dj1FMyhmW3Y+PjJdfDAsZlt2KzQ+PjJdfDAsOCwwKXwwO2c9bjtmW2c+PjJdPXY7
ZltnKzQ+PjJdPUc7aWYoIWQpYnJlYWsgYX1CPWJbYz4+MF18MDtmW3A+PjJdPWcrMTtiW2c+PjBd
PUI7Yz1jKzF8MH1yZXR1cm59ZnVuY3Rpb24gUVcoYSl7YT1hfDA7dmFyIGM9MDtjPTA7d2hpbGUo
MSl7aWYoIShiW2E+PjBdfDApKWJyZWFrO2M9YysxfDA7YT1hKzF8MH1yZXR1cm4gY3wwfWZ1bmN0
aW9uIFJXKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLGk9MDtkPWErMzJ8MDtnPShm
W2ErNDA+PjJdfDApLWR8MDtjPWErNDh8MDtjPUUzKGZbYz4+Ml18MCxmW2MrND4+Ml18MCxnfDAs
MCl8MDtjPUwzKGN8MCxHfDAsNTYpfDA7Yj1HO3N3aXRjaChnPDwyND4+MjR8MCl7Y2FzZSA3Ontj
PUwzKGhbYSszOD4+MF18MHwwLDAsNDgpfDB8YztiPUd8YjtlPTM7YnJlYWt9Y2FzZSA2OntlPTM7
YnJlYWt9Y2FzZSA1OntlPTQ7YnJlYWt9Y2FzZSA0OntlPTU7YnJlYWt9Y2FzZSAzOntlPTY7YnJl
YWt9Y2FzZSAyOntlPTc7YnJlYWt9Y2FzZSAxOntlPTg7YnJlYWt9ZGVmYXVsdDp7fX1pZigoZXww
KT09Myl7Zz1MMyhoW2ErMzc+PjBdfDB8MCwwLDQwKXwwO2M9Z3xjO2I9R3xiO2U9NH1pZigoZXww
KT09NCl7Yj1oW2ErMzY+PjBdfDB8YjtlPTV9aWYoKGV8MCk9PTUpe2c9TDMoaFthKzM1Pj4wXXww
fDAsMCwyNCl8MDtjPWd8YztiPUd8YjtlPTZ9aWYoKGV8MCk9PTYpe2c9TDMoaFthKzM0Pj4wXXww
fDAsMCwxNil8MDtjPWd8YztiPUd8YjtlPTd9aWYoKGV8MCk9PTcpe2c9TDMoaFthKzMzPj4wXXww
fDAsMCw4KXwwO2I9R3xiO2M9Z3xjO2U9OH1pZigoZXwwKT09OCljPWN8KGhbZD4+MF18MCk7Zz1h
KzI0fDA7aT1nO2U9ZltpKzQ+PjJdXmI7ZD1nO2ZbZD4+Ml09ZltpPj4yXV5jO2ZbZCs0Pj4yXT1l
O1NXKGEsMik7ZD1hO2I9ZltkKzQ+PjJdXmI7ZT1hO2ZbZT4+Ml09ZltkPj4yXV5jO2ZbZSs0Pj4y
XT1iO2U9YSsxNnwwO2I9ZTtjPWZbYis0Pj4yXXwwO2Q9ZTtmW2Q+PjJdPWZbYj4+Ml1eMjU1O2Zb
ZCs0Pj4yXT1jO1NXKGEsNCk7ZD1hO2E9YSs4fDA7Rz1mW2ErND4+Ml1eZltkKzQ+PjJdXmZbZSs0
Pj4yXV5mW2crND4+Ml07cmV0dXJuIGZbYT4+Ml1eZltkPj4yXV5mW2U+PjJdXmZbZz4+Ml18MH1m
dW5jdGlvbiBTVyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxq
PTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wO2Q9YSs4fDA7ZT1hKzI0fDA7Zz1hKzE2fDA7
Yz0wO3doaWxlKDEpe2lmKChjfDApPj0oYnwwKSlicmVhaztoPWQ7bj1mW2g+PjJdfDA7aD1mW2gr
ND4+Ml18MDtvPWE7bz1FMyhmW28+PjJdfDAsZltvKzQ+PjJdfDAsbnwwLGh8MCl8MDtrPUc7bT1M
MyhufDAsaHwwLDEzKXwwO2w9RztoPUszKG58MCxofDAsNTEpfDA7aD0obXxoKV5vO2w9KGx8Ryle
azttPWU7bj1mW20+PjJdfDA7bT1mW20rND4+Ml18MDtqPWc7aj1FMyhmW2o+PjJdfDAsZltqKzQ+
PjJdfDAsbnwwLG18MCl8MDtpPUc7cT1MMyhufDAsbXwwLDE2KXwwO3A9RzttPUszKG58MCxtfDAs
NDgpfDA7bT0ocXxtKV5qO3A9KHB8RyleaTtvPUUzKG18MCxwfDAsa3wwLG98MCl8MDtrPUc7cT1h
O2ZbcT4+Ml09bztmW3ErND4+Ml09aztxPUwzKG18MCxwfDAsMjEpfDA7bj1HO3A9SzMobXwwLHB8
MCw0Myl8MDttPWU7ZlttPj4yXT0ocXxwKV5vO2ZbbSs0Pj4yXT0obnxHKV5rO2k9RTMoanwwLGl8
MCxofDAsbHwwKXwwO2o9RzttPUwzKGh8MCxsfDAsMTcpfDA7az1HO2w9SzMoaHwwLGx8MCw0Nyl8
MDtoPWQ7ZltoPj4yXT1pXihtfGwpO2ZbaCs0Pj4yXT1qXihrfEcpO2g9ZztmW2g+PjJdPWo7Zlto
KzQ+PjJdPWk7Yz1jKzF8MH1yZXR1cm59ZnVuY3Rpb24gVFcoYSl7YT1hfDA7dmFyIGI9MDt3aGls
ZSgxKXtiPWZbYSs0NzI+PjJdfDA7aWYoIWIpYnJlYWs7ZWxzZSBhPWJ9cmV0dXJuIGZbYSs0OTI+
PjJdfDB9ZnVuY3Rpb24gVVcoYSxjLGQsZSxnLGgpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9
Z3wwO2g9aHwwO3ZhciBpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0w
LHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAs
ST0wLEo9MCxLPTAsTD0wLE09MDtMPXQ7dD10KzE2fDA7ST1MO0o9TCs0fDA7Sz1mW2ErMzUyPj4y
XXwwO249YysxNnwwO289Yys0MHwwO3A9Yys2NHwwO3E9ZDw8MjQ+PjI0PT0wO3I9Yys0NHwwO3M9
YSsxNDR8MDt2PWgrMTJ8MDt3PWgrMTZ8MDt4PWgrOHwwO3k9YSs0MzZ8MDt6PWErMjg0fDA7QT1h
KzQ1MnwwO0I9YSs0NDh8MDtDPShLKzgwfDApPT0oaHwwKTtEPWErMjY4fDA7RT1LKzEyOXwwO0Y9
SysxMzB8MDtHPWErMjk2fDA7SD1hKzIyNHwwO2k9MDthOndoaWxlKDEpe2I6d2hpbGUoMSl7c3dp
dGNoKHhiW2Zbbj4+Ml0mMTI3XShjLGUsZyxJKXwwKXtjYXNlIC00OntpPTA7bT02MTticmVhayBh
fWNhc2UgMDp7bT00O2JyZWFrIGF9Y2FzZSAtMTp7bT02O2JyZWFrIGF9Y2FzZSA2OnttPTIxO2Jy
ZWFrIGJ9Y2FzZSAtMzp7bT0yMjticmVhayBifWNhc2UgNzpjYXNlIDM5OnttPTIzO2JyZWFrIGJ9
Y2FzZSAxMDp7aj11YltmW28+PjJdJjEyN10oYyxlKXwwO2M6ZG8gaWYoKGp8MCk8MClpZigoZltz
Pj4yXXwwKT09KGN8MCkpe2Zbej4+Ml09ZTtqPTE7aT0xNH1lbHNle2o9MTtpPTE0fWVsc2V7aWYo
cSYoanwwKT09MzIpe2s9Zlt2Pj4yXXwwO2lmKChmW3c+PjJdfDApPT0oa3wwKSl7aj00O2JyZWFr
fWlmKChiW2srLTE+PjBdfDApPT0zMil7aj00O2JyZWFrfX1sPXBYKGosSil8MDtrPTA7d2hpbGUo
MSl7aWYoKGt8MCk+PShsfDApKXtqPTA7YnJlYWsgY31qPWZbdj4+Ml18MDtpZigoanwwKT09KGZb
eD4+Ml18MCkpe2lmKCEoKG5XKGgpfDApPDwyND4+MjQpKXtqPTE7aT0xO2JyZWFrIGN9aj1mW3Y+
PjJdfDB9TT1iW0oraz4+MF18MDtmW3Y+PjJdPWorMTtiW2o+PjBdPU07az1rKzF8MH19d2hpbGUo
MCk7c3dpdGNoKGomNyl7Y2FzZSA0OmNhc2UgMDpicmVhayBiO2RlZmF1bHQ6e319YnJlYWt9Y2Fz
ZSA5OntqPWZbcD4+Ml18MDtqPSh3YltmW3I+PjJdJjYzXShjLGUranwwLChmW0k+PjJdfDApKygw
LWopfDApfDApJjI1NTtpZihqPDwyND4+MjQpe209MzE7YnJlYWsgYn1qPWZbcD4+Ml18MDtqPWRX
KHksYyxlK2p8MCwoZltJPj4yXXwwKSsoMC1qKXwwKXwwO2lmKCFqKXtpPTE7bT02MTticmVhayBh
fWw9ZlcoYSxLLGosMCl8MDtmW0I+PjJdPWZbQT4+Ml07ZG8gaWYoQyl7aWYoIShmW0Q+PjJdfDAp
KWlmKCFsKWJyZWFrIGI7ZWxzZSBicmVhaztpZighKGJbRj4+MF18MCkpe2o9KGx8MCkhPTA7aWYo
IShiW0U+PjBdfDApKXttPTQ1O2JyZWFrfWVsc2V7dT1qO209NDc7YnJlYWt9fWVsc2V7aj0obHww
KSE9MDtpZighKGZbRz4+Ml18MCkpe209NDU7YnJlYWt9ZWxzZXt1PWo7bT00NzticmVha319fWVs
c2UgaWYoIShiW0U+PjBdfDApKWlmKCFsKXtpPTExO209NjE7YnJlYWsgYX1lbHNle209NDY7YnJl
YWt9ZWxzZXtqPShsfDApIT0wO2lmKCEoYltGPj4wXXwwKSl7dT1qO209NDc7YnJlYWt9ZWxzZXtt
PTQ1O2JyZWFrfX13aGlsZSgwKTtpZigobXwwKT09NDUpaWYoailtPTQ2O2Vsc2V7aT0xMTttPTYx
O2JyZWFrIGF9ZWxzZSBpZigobXwwKT09NDc/KG09MCwhdSk6MClicmVhayBiO2lmKChtfDApPT00
Nj8obT0wLChiW2wrMzQ+PjBdfDApPT0wKTowKXtpPTI0O209NjE7YnJlYWsgYX1rPWwrMzJ8MDtp
ZihiW2s+PjBdfDApe209NDk7YnJlYWsgYX1pZihmW2wrMjg+PjJdfDApe209NTI7YnJlYWsgYX1q
PWZbbCs0Pj4yXXwwO2lmKCFqKXttPTU1O2JyZWFrIGF9bD1qKyhmW2wrOD4+Ml18MCl8MDtiW2s+
PjBdPTE7bD1VVyhhLGZbSD4+Ml18MCxkLGosbCxoKXwwO2Jbaz4+MF09MDtqPShsfDApPT0wO2lm
KGopYnJlYWsgYjtlbHNle2o9KGpeMSkmMTtpPWx9YnJlYWt9ZGVmYXVsdDp7bT01ODticmVhayBh
fX1pZihqKWJyZWFrIGF9aWYoKG18MCk9PTIxKXttPTA7aWYoIShsVyhoLGMsZSxmW0k+PjJdfDAp
fDApKXtpPTE7bT02MTticmVha319ZWxzZSBpZigobXwwKT09MjIpe2ZbST4+Ml09ZSsoZltwPj4y
XXwwKTttPTIzfWVsc2UgaWYoKG18MCk9PTMxKXttPTA7ZT1mW3Y+PjJdfDA7aWYoKGV8MCk9PShm
W3g+PjJdfDApKXtpZighKChuVyhoKXwwKTw8MjQ+PjI0KSl7aT0xO209NjE7YnJlYWt9ZT1mW3Y+
PjJdfDB9Zlt2Pj4yXT1lKzE7YltlPj4wXT1qfWRvIGlmKChtfDApPT0yMyl7bT0wO2U9Zlt2Pj4y
XXwwO2lmKHEpe2lmKChmW3c+PjJdfDApPT0oZXwwKSlicmVhaztpZigoYltlKy0xPj4wXXwwKT09
MzIpYnJlYWt9aWYoKGV8MCk9PShmW3g+PjJdfDApKXtpZighKChuVyhoKXwwKTw8MjQ+PjI0KSl7
aT0xO209NjE7YnJlYWsgYX1lPWZbdj4+Ml18MH1mW3Y+PjJdPWUrMTtiW2U+PjBdPTMyfXdoaWxl
KDApO2U9ZltJPj4yXXwwfWlmKChtfDApPT00KWlmKChmW3M+PjJdfDApPT0oY3wwKSl7Zlt6Pj4y
XT1mW0k+PjJdO2k9NDttPTYxfWVsc2V7aT00O209NjF9ZWxzZSBpZigobXwwKT09NilpZigoZltz
Pj4yXXwwKT09KGN8MCkpe2Zbej4+Ml09ZTtpPTQ7bT02MX1lbHNle2k9NDttPTYxfWVsc2UgaWYo
KG18MCk9PTQ5KWlmKChmW3M+PjJdfDApPT0oY3wwKSl7Zlt6Pj4yXT1lO2k9MTI7bT02MX1lbHNl
e2k9MTI7bT02MX1lbHNlIGlmKChtfDApPT01MilpZigoZltzPj4yXXwwKT09KGN8MCkpe2Zbej4+
Ml09ZTtpPTE1O209NjF9ZWxzZXtpPTE1O209NjF9ZWxzZSBpZigobXwwKT09NTUpaWYoKGZbcz4+
Ml18MCk9PShjfDApKXtmW3o+PjJdPWU7aT0xNjttPTYxfWVsc2V7aT0xNjttPTYxfWVsc2UgaWYo
KG18MCk9PTU4KWlmKChmW3M+PjJdfDApPT0oY3wwKSl7Zlt6Pj4yXT1lO2k9MjM7bT02MX1lbHNl
e2k9MjM7bT02MX10PUw7cmV0dXJuIGl8MH1mdW5jdGlvbiBWVyhhKXthPWF8MDt2YXIgYj0wO2I9
YSs4fDA7cmV0dXJuICgoYXwwKTwxPzA6KGJ8MCk+MD9iOjApfDB9ZnVuY3Rpb24gV1coYSxiKXth
PWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTA7Yz10O3Q9dCs4MHwwO2Q9YysxNnwwO2U9YztOVyhh
LGUpO09XKGQsZSk7UFcoZCxiLFFXKGIpfDApO2I9UlcoZCl8MDt0PWM7cmV0dXJuIGJ8MH1mdW5j
dGlvbiBYVyhhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTA7d2hpbGUoMSl7ZD1iW2E+PjBdfDA7aWYo
ZDw8MjQ+PjI0IT0oYltjPj4wXXwwKSl7Yz0wO2JyZWFrfWlmKCEoZDw8MjQ+PjI0KSl7Yz0xO2Jy
ZWFrfWM9YysxfDA7YT1hKzF8MH1yZXR1cm4gY3wwfWZ1bmN0aW9uIFlXKGEsYyl7YT1hfDA7Yz1j
fDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtrPXQ7dD10KzEwNDB8MDtpPWs7ZT1m
W2ErMTI0Pj4yXXwwO2E6ZG8gaWYoIWUpZD0xODtlbHNle2Q9MDt3aGlsZSgxKXtpZigoZHwwKT09
MjU2KWJyZWFrO2ZbaSsoZDw8Mik+PjJdPS0xO2Q9ZCsxfDB9Zz1pKzEwMjh8MDtmW2c+PjJdPTA7
aj1pKzEwMjR8MDtmW2o+PjJdPTA7aD1pKzEwMzJ8MDtmW2g+PjJdPTA7ZG8gaWYod2JbZSY2M10o
ZlthKzI0ND4+Ml18MCxjLGkpfDApe2U9ZlthKzEyPj4yXXwwO2Q9cVgoKXwwO2Q9dGJbZSY2M10o
ZCl8MDtmW2ErMjM2Pj4yXT1kO2lmKCFkKXtkPWZbaD4+Ml18MDtpZighZClkPTE7ZWxzZXtDYltk
JjEyN10oZltqPj4yXXwwKTtkPTF9fWVsc2V7ZD14YlsoYlthKzIzMj4+MF08PDI0Pj4yND09MD82
NTo2NCkmMTI3XShkLGksZltnPj4yXXwwLGZbaj4+Ml18MCl8MDtpZighZClicmVhaztmW2ErMjQw
Pj4yXT1mW2o+PjJdO2ZbYSsyNDg+PjJdPWZbaD4+Ml07ZlthKzE0ND4+Ml09ZDtkPTB9YnJlYWsg
YX13aGlsZSgwKTtkPWZbaD4+Ml18MDtpZihkfDApQ2JbZCYxMjddKGZbaj4+Ml18MCk7ZD0xOH13
aGlsZSgwKTt0PWs7cmV0dXJuIGR8MH1mdW5jdGlvbiBaVyhhLGMpe2E9YXwwO2M9Y3wwO2JbYSs0
Pj4wXT0wO2ZbYSs4Pj4yXT0wO2ZbYSsxMj4+Ml09MDtmW2E+PjJdPTA7ZlthKzE2Pj4yXT1jO3Jl
dHVybn1mdW5jdGlvbiBfVyhhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0w
LGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wO2w9ZlthKzM1Mj4+Ml18MDttPWEr
NDI0fDA7bj1hKzQyMHwwO289YSs0MTJ8MDtwPWErNDI4fDA7cT1sKzE1MnwwO3I9bCs2MHwwO2o9
YSszNjh8MDtrPWwrODB8MDthOndoaWxlKDEpe2g9YztiOndoaWxlKDEpe2lmKCEoYltjPj4wXXww
KSl7Yz0xO2JyZWFrIGF9ZT1iW2g+PjBdfDA7c3dpdGNoKGU8PDI0Pj4yNCl7Y2FzZSAwOmNhc2Ug
MTI6e2Q9NTticmVhayBifWNhc2UgNjE6e2Q9MTE7YnJlYWsgYn1kZWZhdWx0Ont9fWQ9ZlttPj4y
XXwwO2lmKChkfDApPT0oZltuPj4yXXwwKSl7aWYoISgoblcobyl8MCk8PDI0Pj4yNCkpe2M9MDti
cmVhayBhfWQ9ZlttPj4yXXwwO2U9YltoPj4wXXwwfWZbbT4+Ml09ZCsxO2JbZD4+MF09ZTtoPWgr
MXwwfWlmKChkfDApPT01KXtjPWZbbT4+Ml18MDtpZigoY3wwKT09KGZbbj4+Ml18MCkpe2lmKCEo
KG5XKG8pfDApPDwyND4+MjQpKXtjPTA7YnJlYWt9Yz1mW20+PjJdfDB9ZlttPj4yXT1jKzE7Yltj
Pj4wXT0wO2M9ZlcoYSxsLGZbcD4+Ml18MCwwKXwwO2lmKGN8MCliW2MrMzI+PjBdPTE7Yz0oYlto
Pj4wXXwwKT09MD9oOmgrMXwwO2ZbbT4+Ml09ZltwPj4yXX1lbHNlIGlmKChkfDApPT0xMSl7Yz1m
W20+PjJdfDA7aWYoKGZbcD4+Ml18MCk9PShjfDApKWU9cTtlbHNle2lmKChjfDApPT0oZltuPj4y
XXwwKSl7aWYoISgoblcobyl8MCk8PDI0Pj4yNCkpe2M9MDticmVha31jPWZbbT4+Ml18MH1mW20+
PjJdPWMrMTtiW2M+PjBdPTA7ZT1mVyhhLHIsZltwPj4yXXwwLDgpfDA7aWYoIWUpe2M9MDticmVh
a31kPWZbZT4+Ml18MDtpPWZbcD4+Ml18MDtjPWk7aWYoKGR8MCk9PShpfDApKXtpPUtXKGssZCl8
MDtmW2U+PjJdPWk7aWYoIWkpe2M9MDticmVha31jPWZbcD4+Ml18MH1mW20+PjJdPWN9Yzp3aGls
ZSgxKXtpPWgrMXwwO2Q9YltpPj4wXXwwO2c9KGN8MCk9PShmW24+PjJdfDApO3N3aXRjaChkPDwy
ND4+MjQpe2Nhc2UgMDpjYXNlIDEyOmJyZWFrIGM7ZGVmYXVsdDp7fX1pZihnKXtpZighKChuVyhv
KXwwKTw8MjQ+PjI0KSl7Yz0wO2JyZWFrIGF9Yz1mW20+PjJdfDA7ZD1iW2k+PjBdfDB9ZlttPj4y
XT1jKzE7YltjPj4wXT1kO2g9aTtjPWZbbT4+Ml18MH1pZihnKXtpZighKChuVyhvKXwwKTw8MjQ+
PjI0KSl7Yz0wO2JyZWFrfWM9ZlttPj4yXXwwfWZbbT4+Ml09YysxO2JbYz4+MF09MDtpZihNVyhh
LGUsMCxmW3A+PjJdfDAsail8MCl7Yz0wO2JyZWFrfWZbbT4+Ml09ZltwPj4yXTtjPShiW2k+PjBd
fDApPT0wP2k6aCsyfDB9fXJldHVybiBjfDB9ZnVuY3Rpb24gJFcoYSxiKXthPWF8MDtiPWJ8MDt2
YXIgYz0wLGQ9MDtpZihhfDA/KGM9YSs0fDAsZD0oZltjPj4yXXwwKT09KGZbYT4+Ml18MCksZlth
Pj4yXT1iLGQpOjApZltjPj4yXT1iO3JldHVybn1mdW5jdGlvbiBhWChhLGIsYyl7YT1hfDA7Yj1i
fDA7Yz1jfDA7aWYoYXwwKXtmW2ErNTI+PjJdPWI7ZlthKzU2Pj4yXT1jfXJldHVybn1mdW5jdGlv
biBiWChhLGIpe2E9YXwwO2I9YnwwO2lmKGF8MClmW2ErNjA+PjJdPWI7cmV0dXJufWZ1bmN0aW9u
IGNYKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTA7
Zz0oYXwwKT09MDthOmRvIGlmKCEoZ3woZHwwKTwwKT8hKChjfDApPT0wJihkfDApIT0wKTowKXto
PWErNDc2fDA7c3dpdGNoKGZbaD4+Ml18MCl7Y2FzZSAzOntmW2ErMjgwPj4yXT0zMztnPTA7YnJl
YWsgYX1jYXNlIDI6e2ZbYSsyODA+PjJdPTM2O2c9MDticmVhayBhfWNhc2UgMDp7aWYoKGZbYSs0
NzI+PjJdfDApPT0wPyhkWChhKXwwKTw8MjQ+PjI0PT0wOjApe2ZbYSsyODA+PjJdPTE7Zz0wO2Jy
ZWFrIGF9YnJlYWt9ZGVmYXVsdDp7fX1mW2g+PjJdPTE7aWYoZHwwKXtnPWZYKGEsZCl8MDtpZigh
Zyl7Zz0wO2JyZWFrfVEzKGd8MCxjfDAsZHwwKXwwO2c9Z1goYSxkLGUpfDA7YnJlYWt9YlthKzQ4
MD4+MF09ZTtpZighZSlnPTE7ZWxzZXtnPWErMjR8MDtqPWZbZz4+Ml18MDtjPWErMjkyfDA7Zltj
Pj4yXT1qO2U9ZlthKzI4Pj4yXXwwO2ZbYSs0MD4+Ml09ZTtkPWErMjc2fDA7ZT14YltmW2Q+PjJd
JjEyN10oYSxqLGUsZyl8MDtmW2ErMjgwPj4yXT1lO2lmKGV8MCl7ZlthKzI4OD4+Ml09ZlthKzI4
ND4+Ml07ZltkPj4yXT02NjtnPTA7YnJlYWt9c3dpdGNoKGZbaD4+Ml18MCl7Y2FzZSAzOntqPWZb
YSsxNDQ+PjJdfDA7R2JbZltqKzQ4Pj4yXSYzMV0oaixmW2M+PjJdfDAsZltnPj4yXXwwLGErNDA0
fDApO2ZbYz4+Ml09ZltnPj4yXTtnPTI7YnJlYWsgYX1jYXNlIDE6Y2FzZSAwOntmW2g+PjJdPTI7
Zz0xO2JyZWFrIGF9ZGVmYXVsdDp7Zz0xO2JyZWFrIGF9fX19ZWxzZSBpPTM7d2hpbGUoMCk7aWYo
KGl8MCk9PTMpaWYoZylnPTA7ZWxzZXtmW2ErMjgwPj4yXT00MTtnPTB9cmV0dXJuIGd8MH1mdW5j
dGlvbiBkWChhKXthPWF8MDt2YXIgYz0wLGQ9MDtjPWErNDkyfDA7aWYoIShmW2M+PjJdfDApKXtk
PWhYKCl8MDtmW2M+PjJdPWR9aWYoIShiW2ErMjMyPj4wXXwwKSlhPTE7ZWxzZSBhPV9XKGEsNTM2
MTYpfDA7cmV0dXJuIGF8MH1mdW5jdGlvbiBlWChhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtk
PWR8MDtyZXR1cm4gZlthKzI4MD4+Ml18MH1mdW5jdGlvbiBmWChhLGIpe2E9YXwwO2I9YnwwO3Zh
ciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0w
O2E6ZG8gaWYoIWEpYz0wO2Vsc2V7aWYoKGJ8MCk8MCl7ZlthKzI4MD4+Ml09MTtjPTA7YnJlYWt9
c3dpdGNoKGZbYSs0NzY+PjJdfDApe2Nhc2UgMzp7ZlthKzI4MD4+Ml09MzM7Yz0wO2JyZWFrIGF9
Y2FzZSAyOntmW2ErMjgwPj4yXT0zNjtjPTA7YnJlYWsgYX1kZWZhdWx0OnttPWErMzJ8MDtqPWZb
bT4+Ml18MDtuPWErMjh8MDtkPWZbbj4+Ml18MDtjPWQ7aWYoKGotZHwwKT49KGJ8MCkpYnJlYWsg
YTtwPWErMjR8MDtrPWZbcD4+Ml18MDtpPWQta3wwO2Q9aStifDA7aWYoKGR8MCk8MCl7ZlthKzI4
MD4+Ml09MTtjPTA7YnJlYWsgYX1sPWErOHwwO2I9ZltsPj4yXXwwO3E9YjtlPWstcXwwO2c9KGV8
MCk+MTAyNDtoPWc/MTAyNDplO2Q9aCtkfDA7ZG8gaWYoKGR8MCk+KGotcXwwKSl7Yz1qLWt8MDtj
PShjfDApPT0wPzEwMjQ6YztkbyBjPWM8PDE7d2hpbGUoKGN8MCk8KGR8MCkmKGN8MCk+MCk7aWYo
KGN8MCk8MSl7ZlthKzI4MD4+Ml09MTtjPTA7YnJlYWsgYX1kPXRiW2ZbYSsxMj4+Ml0mNjNdKGMp
fDA7aWYoIWQpe2ZbYSsyODA+PjJdPTE7Yz0wO2JyZWFrIGF9ZlttPj4yXT1kK2M7Yz1mW3A+PjJd
fDA7aWYoIWMpe2M9ZCsoZltuPj4yXXwwKXwwO2Zbbj4+Ml09YztmW2w+PjJdPWQ7bz0yMjticmVh
a31lbHNle3E9YztvPXEtKGZbbD4+Ml18MCl8MDtvPShvfDApPDEwMjQ/bzoxMDI0O1EzKGR8MCxj
KygwLW8pfDAsKGZbbj4+Ml18MCktcStvfDApfDA7Q2JbZlthKzIwPj4yXSYxMjddKGZbbD4+Ml18
MCk7ZltsPj4yXT1kO2M9ZCsoKGZbbj4+Ml18MCktKGZbcD4+Ml18MCkpK298MDtmW24+PjJdPWM7
ZD1kK298MDtvPTIyO2JyZWFrfX1lbHNlIGlmKGcpe2Q9ZS1ofDA7UjMoYnwwLGIrZHwwLGgraXww
KXwwO2Q9MC1kfDA7Yz0oZltuPj4yXXwwKStkfDA7ZltuPj4yXT1jO2Q9KGZbcD4+Ml18MCkrZHww
O289MjJ9d2hpbGUoMCk7aWYoKG98MCk9PTIyKWZbcD4+Ml09ZDtmW2ErMjg4Pj4yXT0wO2ZbYSsy
ODQ+PjJdPTA7ZlthKzI5Mj4+Ml09MDticmVhayBhfX19d2hpbGUoMCk7cmV0dXJuIGN8MH1mdW5j
dGlvbiBnWChhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAs
az0wO2E6ZG8gaWYoIWEpYz0wO2Vsc2V7ZT1hKzQ3NnwwO3N3aXRjaChmW2U+PjJdfDApe2Nhc2Ug
Mzp7ZlthKzI4MD4+Ml09MzM7Yz0wO2JyZWFrIGF9Y2FzZSAyOntmW2ErMjgwPj4yXT0zNjtjPTA7
YnJlYWsgYX1jYXNlIDA6e2lmKChmW2ErNDcyPj4yXXwwKT09MD8oZFgoYSl8MCk8PDI0Pj4yND09
MDowKXtmW2ErMjgwPj4yXT0xO2M9MDticmVhayBhfWJyZWFrfWRlZmF1bHQ6e319ZltlPj4yXT0x
O2c9YSsyNHwwO2o9ZltnPj4yXXwwO2g9YSsyOTJ8MDtmW2g+PjJdPWo7az1hKzI4fDA7aT0oZltr
Pj4yXXwwKStjfDA7ZltrPj4yXT1pO2ZbYSs0MD4+Ml09aTtrPWErMzZ8MDtmW2s+PjJdPShmW2s+
PjJdfDApK2M7YlthKzQ4MD4+MF09ZDtjPWErMjc2fDA7aT14YltmW2M+PjJdJjEyN10oYSxqLGks
Zyl8MDtmW2ErMjgwPj4yXT1pO2lmKGl8MCl7ZlthKzI4OD4+Ml09ZlthKzI4ND4+Ml07ZltjPj4y
XT02NjtjPTA7YnJlYWt9c3dpdGNoKGZbZT4+Ml18MCl7Y2FzZSAzOntjPTI7YnJlYWt9Y2FzZSAx
OmNhc2UgMDp7aWYoIWQpYz0xO2Vsc2V7ZltlPj4yXT0yO2M9MTticmVhayBhfWJyZWFrfWRlZmF1
bHQ6Yz0xfWs9ZlthKzE0ND4+Ml18MDtHYltmW2srNDg+PjJdJjMxXShrLGZbaD4+Ml18MCxmW2c+
PjJdfDAsYSs0MDR8MCk7ZltoPj4yXT1mW2c+PjJdfXdoaWxlKDApO3JldHVybiBjfDB9ZnVuY3Rp
b24gaFgoKXt2YXIgYT0wLGI9MCxjPTA7Yj10O3Q9dCsxNnwwO2E9YjtpZighKGlYKGEpfDApKXtj
PWtYKCl8MDtjPShvMigpfDApXmM7ZlthPj4yXT1jO2E9algoMTQ5NDA1LFYoYywyMTQ3NDgzNjQ3
KXwwKXwwfWVsc2UgYT1qWCgxNDkzOTIsZlthPj4yXXwwKXwwO3Q9YjtyZXR1cm4gYXwwfWZ1bmN0
aW9uIGlYKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTA7aT10O3Q9dCsx
NnwwO2c9VSQoMTQ5MzkyLDAsaSl8MDtpZigoZ3wwKTwwKWI9MDtlbHNle2I9MDt3aGlsZSgxKXtk
PXcyKGcsYStifDAsNC1ifDApfDA7Yz0oZHwwKTwxO2Q9ZCtifDA7ZT1kPj4+MD4zO2lmKCEoY3xl
XjEpKXtoPTU7YnJlYWt9ZT1YXygpfDA7aWYoKGZbZT4+Ml18MCk9PTQpYj1jP2I6ZDtlbHNle2I9
MDticmVha319aWYoKGh8MCk9PTUpYj1lJjE7ViQoZyl8MH10PWk7cmV0dXJuIGJ8MH1mdW5jdGlv
biBqWChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MDtlPXQ7dD10KzE2fDA7ZD1lO2M9
X2EoMTQ5NDcwKXwwO2lmKGN8MD8oSCQoYywxNDk0OTApfDApPT0wOjApe2M9ZlsxOTQ1N118MDtm
W2Q+PjJdPWE7ZltkKzQ+PjJdPTg7ZltkKzg+PjJdPWI7ZltkKzEyPj4yXT00O2cyKGMsMTQ5NDky
LGQpfDB9dD1lO3JldHVybiBifDB9ZnVuY3Rpb24ga1goKXt2YXIgYT0wLGI9MDtiPXQ7dD10KzE2
fDA7YT1iO2lmKCEoJGEoYXwwLDApfDApKXt0PWI7cmV0dXJuIGZbYSs0Pj4yXXwwfWVsc2UgeGEo
MTQ5NDE3LDE0OTQzOSw4MTksMTQ5NDUwKTtyZXR1cm4gMH1mdW5jdGlvbiBsWChhKXthPWF8MDtp
ZighYSlhPTQxO2Vsc2UgYT1mW2ErMjgwPj4yXXwwO3JldHVybiBhfDB9ZnVuY3Rpb24gbVgoYSl7
YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTA7aWYoIWEpYT0wO2Vsc2V7Yj1hKzI4NHwwO2M9
ZltiPj4yXXwwO2lmKGN8MD8oZD1hKzI5MnwwLGU9ZltkPj4yXXwwLGM+Pj4wPj1lPj4+MCk6MCl7
Zz1mW2ErMTQ0Pj4yXXwwO0diW2ZbZys0OD4+Ml0mMzFdKGcsZSxjLGErNDA0fDApO2ZbZD4+Ml09
ZltiPj4yXX1hPShmW2ErNDA0Pj4yXXwwKSsxfDB9cmV0dXJuIGF8MH1mdW5jdGlvbiBuWChhKXth
PWF8MDtkbyBzd2l0Y2goYXwwKXtjYXNlIDQxOnthPTE0OTUyOTticmVha31jYXNlIDE6e2E9MTUw
ODAxO2JyZWFrfWNhc2UgMjp7YT0xNTA3ODg7YnJlYWt9Y2FzZSAzOnthPTE1MDc3MTticmVha31j
YXNlIDQ6e2E9MTUwNzM5O2JyZWFrfWNhc2UgNTp7YT0xNTA3MjQ7YnJlYWt9Y2FzZSA2OnthPTE1
MDcwNjticmVha31jYXNlIDc6e2E9MTUwNjkxO2JyZWFrfWNhc2UgODp7YT0xNTA2NzE7YnJlYWt9
Y2FzZSA5OnthPTE1MDY0MzticmVha31jYXNlIDEwOnthPTE1MDYwODticmVha31jYXNlIDExOnth
PTE1MDU5MTticmVha31jYXNlIDEyOnthPTE1MDU2NDticmVha31jYXNlIDEzOnthPTE1MDU0NDti
cmVha31jYXNlIDE0OnthPTE1MDUwNjticmVha31jYXNlIDE1OnthPTE1MDQ3OTticmVha31jYXNl
IDE2OnthPTE1MDQzNzticmVha31jYXNlIDE3OnthPTE1MDM5MDticmVha31jYXNlIDE4OnthPTE1
MDM3MzticmVha31jYXNlIDE5OnthPTE1MDMyMjticmVha31jYXNlIDIwOnthPTE1MDI5OTticmVh
a31jYXNlIDIxOnthPTE1MDI1MzticmVha31jYXNlIDIyOnthPTE1MDIyNjticmVha31jYXNlIDIz
OnthPTE1MDE3NTticmVha31jYXNlIDI0OnthPTE1MDEzOTticmVha31jYXNlIDI1OnthPTE1MDA4
NzticmVha31jYXNlIDI2OnthPTE1MDA0MjticmVha31jYXNlIDI3OnthPTE1MDAyNzticmVha31j
YXNlIDI4OnthPTE1MDAwMTticmVha31jYXNlIDI5OnthPTE0OTk2MzticmVha31jYXNlIDMwOnth
PTE0OTkzMTticmVha31jYXNlIDMxOnthPTE0OTg5ODticmVha31jYXNlIDMyOnthPTE0OTg2NDti
cmVha31jYXNlIDMzOnthPTE0OTg0NzticmVha31jYXNlIDM0OnthPTE0OTgyNjticmVha31jYXNl
IDM1OnthPTE0OTgxMDticmVha31jYXNlIDM2OnthPTE0OTc5MzticmVha31jYXNlIDM3OnthPTE0
OTc0OTticmVha31jYXNlIDM4OnthPTE0OTY2OTticmVha31jYXNlIDM5OnthPTE0OTYxMDticmVh
a31jYXNlIDQwOnthPTE0OTU0NjticmVha31kZWZhdWx0OmE9MH13aGlsZSgwKTtyZXR1cm4gYXww
fWZ1bmN0aW9uIG9YKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxpPTA7Yz1m
W2I+PjJdfDA7ZD0wO2E6d2hpbGUoMSl7aWYoYz4+PjA8PWE+Pj4wKWJyZWFrO2c9YystMXwwO2U9
aFtnPj4wXXwwO2RvIGlmKChlJjI0OHwwKT09MjQwKWlmKChkKzF8MCk+Pj4wPjMpe2k9NTticmVh
ayBhfWVsc2UgZD0wO2Vsc2V7aWYoKGUmMjQwfDApPT0yMjQpaWYoKGQrMXwwKT4+PjA+Mil7aT04
O2JyZWFrIGF9ZWxzZXtkPTA7YnJlYWt9aWYoKGUmMjI0fDApPT0xOTIpaWYoKGQrMXwwKT4+PjA+
MSl7aT0xMTticmVhayBhfWVsc2V7ZD0wO2JyZWFrfWVsc2UgaWYoIShlJjEyOCkpYnJlYWsgYTtl
bHNlIGJyZWFrfXdoaWxlKDApO2M9ZztkPWQrMXwwfWlmKChpfDApPT01KWM9YyszfDA7ZWxzZSBp
ZigoaXwwKT09OCljPWMrMnwwO2Vsc2UgaWYoKGl8MCk9PTExKWM9YysxfDA7ZltiPj4yXT1jO3Jl
dHVybn1mdW5jdGlvbiBwWChhLGMpe2E9YXwwO2M9Y3wwO2RvIGlmKChhfDApPj0wKXtpZigoYXww
KTwxMjgpe2JbYz4+MF09YTthPTE7YnJlYWt9aWYoKGF8MCk8MjA0OCl7YltjPj4wXT1hPj4+Nnwx
OTI7YltjKzE+PjBdPWEmNjN8MTI4O2E9MjticmVha31pZigoYXwwKTw2NTUzNil7YltjPj4wXT1h
Pj4+MTJ8MjI0O2JbYysxPj4wXT1hPj4+NiY2M3wxMjg7YltjKzI+PjBdPWEmNjN8MTI4O2E9Mzti
cmVha31pZigoYXwwKTwxMTE0MTEyKXtiW2M+PjBdPWE+Pj4xOHwyNDA7YltjKzE+PjBdPWE+Pj4x
MiY2M3wxMjg7YltjKzI+PjBdPWE+Pj42JjYzfDEyODtiW2MrMz4+MF09YSY2M3wxMjg7YT00fWVs
c2UgYT0wfWVsc2UgYT0wO3doaWxlKDApO3JldHVybiBhfDB9ZnVuY3Rpb24gcVgoKXtyZXR1cm4g
MTkwOH1mdW5jdGlvbiByWChhLGMsZSxnKXthPWF8MDtjPWN8MDtlPWV8MDtnPWd8MDt2YXIgaT0w
LGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wO2k9MDt3aGlsZSgxKXtpZigoaXww
KT09MzY0KWJyZWFrO2JbYStpPj4wXT1iWzczNDYwK2k+PjBdfDA7aT1pKzF8MH1pPTA7YTp3aGls
ZSgxKXtpZihpPj4+MD49MTI4KXtqPTk7YnJlYWt9c3dpdGNoKGJbNzM1MzIraT4+MF18MCl7Y2Fz
ZSAwOmNhc2UgMjg6YnJlYWs7ZGVmYXVsdDppZigoZltjKyhpPDwyKT4+Ml18MCkhPShpfDApKXth
PTA7YnJlYWsgYX19aT1pKzF8MH1iOmRvIGlmKChqfDApPT05KXtuPWErNzJ8MDtvPWErMzcyfDA7
cD1hKzg4NHwwO3E9KGV8MCk9PTA7bT0wO3doaWxlKDEpe2lmKG0+Pj4wPj0yNTYpYnJlYWs7cj1m
W2MrKG08PDIpPj4yXXwwO2RvIGlmKChyfDApPT0tMSl7YltuK20+PjBdPTE7ZFtvKyhtPDwxKT4+
MV09LTE7YltwKyhtPDwyKT4+MF09MTtiW3ArKG08PDIpKzE+PjBdPTB9ZWxzZXtpZigocnwwKTww
KXtpZihxfChyfDApPC00KXthPTA7YnJlYWsgYn1iW24rbT4+MF09My1yO2JbcCsobTw8Mik+PjBd
PTA7ZFtvKyhtPDwxKT4+MV09MDticmVha31pZigocnwwKTwxMjgpe2k9Yls3MzUzMityPj4wXXww
O3N3aXRjaChpPDwyND4+MjQpe2Nhc2UgMDpjYXNlIDI4OmJyZWFrO2RlZmF1bHQ6aWYoKHJ8MCkh
PShtfDApKXthPTA7YnJlYWsgYn19YltuK20+PjBdPWk7YltwKyhtPDwyKT4+MF09MTtiW3ArKG08
PDIpKzE+PjBdPXI7ZFtvKyhtPDwxKT4+MV09KHJ8MCk9PTA/LTE6ciY2NTUzNTticmVha31pZigo
c1gocil8MCk8MCl7YltuK20+PjBdPTA7ZFtvKyhtPDwxKT4+MV09LTE7YltwKyhtPDwyKT4+MF09
MTtiW3ArKG08PDIpKzE+PjBdPTA7YnJlYWt9aWYoKHJ8MCk+NjU1MzUpe2E9MDticmVhayBifWk9
cj4+Pjg7aj1yPj4+NSY3O2s9MTw8KHImMzEpO2RvIGlmKCEoZls1MzkyMCsoKGhbNTM2NjQraT4+
MF08PDN8aik8PDIpPj4yXSZrKSl7bD1uK218MDtpZighKGZbNTM5MjArKChoWzU1MjAwK2k+PjBd
PDwzfGopPDwyKT4+Ml0maykpe2JbbD4+MF09Mjg7YnJlYWt9ZWxzZXtiW2w+PjBdPTI2O2JyZWFr
fX1lbHNlIGJbbittPj4wXT0yMjt3aGlsZSgwKTtsPShwWChyLHArKG08PDIpKzF8MCl8MCkmMjU1
O2JbcCsobTw8Mik+PjBdPWw7ZFtvKyhtPDwxKT4+MV09cn13aGlsZSgwKTttPW0rMXwwfWZbYSsz
Njg+PjJdPWc7ZlthKzM2ND4+Ml09ZTtpZighcSl7ZlthKzMyOD4+Ml09MTA2O2ZbYSszMzI+PjJd
PTEwNjtmW2ErMzM2Pj4yXT0xMDY7ZlthKzM0MD4+Ml09MTA3O2ZbYSszNDQ+PjJdPTEwNztmW2Er
MzQ4Pj4yXT0xMDc7ZlthKzM1Mj4+Ml09MTA4O2ZbYSszNTY+PjJdPTEwODtmW2ErMzYwPj4yXT0x
MDh9ZlthKzU2Pj4yXT0xMztmW2ErNjA+PjJdPTE0fXdoaWxlKDApO3JldHVybiBhfDB9ZnVuY3Rp
b24gc1goYSl7YT1hfDA7dmFyIGM9MDtzd2l0Y2goYT4+OHwwKXtjYXNlIDIyMzpjYXNlIDIyMjpj
YXNlIDIyMTpjYXNlIDIyMDpjYXNlIDIxOTpjYXNlIDIxODpjYXNlIDIxNzpjYXNlIDIxNjp7YT0t
MTticmVha31jYXNlIDA6e2lmKCEoYls3MzUzMithPj4wXXwwKSlhPS0xO2Vsc2UgYz00O2JyZWFr
fWNhc2UgMjU1OntpZigoYXwxfDApPT02NTUzNSlhPS0xO2Vsc2UgYz00O2JyZWFrfWRlZmF1bHQ6
Yz00fXJldHVybiBhfDB9ZnVuY3Rpb24gdFgoYSxiKXthPWF8MDtiPWJ8MDthPXViW2ZbYSszNjQ+
PjJdJjEyN10oZlthKzM2OD4+Ml18MCxiKXwwO2lmKGE+Pj4wPjY1NTM1KWE9MDtlbHNlIGE9Zls1
MzkyMCsoKChoWzU1MjAwKyhhPj4+OCk+PjBdfDApPDwzfGE+Pj41JjcpPDwyKT4+Ml0mMTw8KGEm
MzEpO3JldHVybiBhfDB9ZnVuY3Rpb24gdVgoYSxiKXthPWF8MDtiPWJ8MDthPXViW2ZbYSszNjQ+
PjJdJjEyN10oZlthKzM2OD4+Ml18MCxiKXwwO2lmKGE+Pj4wPjY1NTM1KWE9MDtlbHNlIGE9Zls1
MzkyMCsoKChoWzUzNjY0KyhhPj4+OCk+PjBdfDApPDwzfGE+Pj41JjcpPDwyKT4+Ml0mMTw8KGEm
MzEpO3JldHVybiBhfDB9ZnVuY3Rpb24gdlgoYSxiKXthPWF8MDtiPWJ8MDthPXViW2ZbYSszNjQ+
PjJdJjEyN10oZlthKzM2OD4+Ml18MCxiKXwwO2lmKGE+Pj4wPjY1NTM1KWE9MTtlbHNlIGE9KHNY
KGEpfDApPj4+MzE7cmV0dXJuIGF8MH1mdW5jdGlvbiB3WChhLGMsZCxlLGcpe2E9YXwwO2M9Y3ww
O2Q9ZHwwO2U9ZXwwO2c9Z3wwO3ZhciBpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9
MDtwPXQ7dD10KzE2fDA7bD1wO209YSszNjR8MDtuPWErODg0fDA7bz1hKzM2OHwwO2s9YSs3Mnww
O3doaWxlKDEpe2k9ZltjPj4yXXwwO2lmKChpfDApPT0oZHwwKSl7Zz0wO2JyZWFrfXE9aFtpPj4w
XXwwO2o9bisocTw8MikrMXwwO3E9YltuKyhxPDwyKT4+MF18MDthPXE8PDI0Pj4yNDtpZighKHE8
PDI0Pj4yNCkpe2E9cFgodWJbZlttPj4yXSYxMjddKGZbbz4+Ml18MCxpKXwwLGwpfDA7aWYoKGF8
MCk+KGctKGZbZT4+Ml18MCl8MCkpe2c9MjticmVha31pPWZbYz4+Ml18MDtqPWw7aT1pKygoaFtr
KyhoW2k+PjBdfDApPj4wXXwwKSstMyl8MH1lbHNle2lmKChnLShmW2U+PjJdfDApfDApPChhfDAp
KXtnPTI7YnJlYWt9aT1pKzF8MH1mW2M+PjJdPWk7UTMoZltlPj4yXXwwLGp8MCxhfDApfDA7Zltl
Pj4yXT0oZltlPj4yXXwwKSthfXQ9cDtyZXR1cm4gZ3wwfWZ1bmN0aW9uIHhYKGEsYixjLGUsZyl7
YT1hfDA7Yj1ifDA7Yz1jfDA7ZT1lfDA7Zz1nfDA7dmFyIGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0w
O2w9YSszNzJ8MDttPWErMzY0fDA7bj1hKzM2OHwwO2s9YSs3MnwwO3doaWxlKDEpe2o9ZltiPj4y
XXwwO2k9ZltlPj4yXXwwO2lmKGo+Pj4wPj1jPj4+MCl7YT0xO2JyZWFrfWlmKGk+Pj4wPj1nPj4+
MCl7YT0wO2JyZWFrfWE9ZFtsKygoaFtqPj4wXXwwKTw8MSk+PjFdfDA7aWYoIShhPDwxNj4+MTYp
KXthPSh1YltmW20+PjJdJjEyN10oZltuPj4yXXwwLGopfDApJjY1NTM1O2k9ZltiPj4yXXwwO2k9
aSsoKGhbaysoaFtpPj4wXXwwKT4+MF18MCkrLTMpfDB9ZWxzZSBpPWorMXwwO2ZbYj4+Ml09aTtq
PWZbZT4+Ml18MDtmW2U+PjJdPWorMjtkW2o+PjFdPWF9cmV0dXJuICgoaXwwKSE9KGd8MCl8YT8w
OjIpfDB9ZnVuY3Rpb24geVgoYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9
MCxpPTAsaj0wLGs9MCxsPTAsbT0wO2E6ZG8gaWYoYz4+PjA8ZD4+PjApe209YSs3MnwwO2RvIHN3
aXRjaChiW20rKGhbYz4+MF18MCk+PjBdfDApe2Nhc2UgMTI6e2c9WlgoMTIsYSxjKzF8MCxkLGUp
fDA7YnJlYWsgYX1jYXNlIDEzOntnPVpYKDEzLGEsYysxfDAsZCxlKXwwO2JyZWFrIGF9Y2FzZSAy
OntnPWMrMXwwO2lmKChkLWd8MCk8PTApe2c9LTE7YnJlYWsgYX1zd2l0Y2goYlttKyhoW2c+PjBd
fDApPj4wXXwwKXtjYXNlIDE2OntnPV9YKGEsYysyfDAsZCxlKXwwO2JyZWFrIGF9Y2FzZSAxNTp7
Zz1WWChhLGMrMnwwLGQsZSl8MDticmVhayBhfWNhc2UgNzpjYXNlIDY6Y2FzZSA1OmNhc2UgMjk6
Y2FzZSAyNDpjYXNlIDIyOntmW2U+PjJdPWM7Zz0yOTticmVhayBhfWRlZmF1bHQ6e2ZbZT4+Ml09
ZztnPTA7YnJlYWsgYX19fWNhc2UgOTp7aWYoKGMrMXwwKT09KGR8MCkpe2ZbZT4+Ml09ZDtnPS0x
NTticmVhayBhfWVsc2Ugaj0xMzticmVha31jYXNlIDEwOmNhc2UgMjE6e2o9MTM7YnJlYWt9Y2Fz
ZSAzMDp7Zz1QWChhLGMrMXwwLGQsZSl8MDticmVhayBhfWNhc2UgMzU6e2ZbZT4+Ml09YysxO2c9
Mzg7YnJlYWsgYX1jYXNlIDIwOntmW2U+PjJdPWMrMTtnPTI1O2JyZWFrIGF9Y2FzZSA0OntpPWMr
MXwwO2c9ZC1pfDA7aWYoKGd8MCk8PTApe2c9LTI2O2JyZWFrIGF9aWYoKGJbaT4+MF18MCk9PTkz
KXtpZigoZ3wwKTw9MSl7Zz0tMTticmVhayBhfWlmKChiW2MrMj4+MF18MCk9PTYyKXtmW2U+PjJd
PWMrMztnPTM0O2JyZWFrIGF9fWZbZT4+Ml09aTtnPTI2O2JyZWFrIGF9Y2FzZSAzMTp7ZltlPj4y
XT1jKzE7Zz0yMzticmVhayBhfWNhc2UgMzI6e2c9YysxfDA7aWYoKGQtZ3wwKTw9MCl7Zz0tMjQ7
YnJlYWsgYX1zd2l0Y2goYlttKyhoW2c+PjBdfDApPj4wXXwwKXtjYXNlIDMzOntmW2U+PjJdPWMr
MjtnPTM2O2JyZWFrIGF9Y2FzZSAxNTp7ZltlPj4yXT1jKzI7Zz0zNTticmVhayBhfWNhc2UgMzQ6
e2ZbZT4+Ml09YysyO2c9Mzc7YnJlYWsgYX1jYXNlIDMyOmNhc2UgMzY6Y2FzZSAzNTpjYXNlIDEx
OmNhc2UgMjE6Y2FzZSAxMDpjYXNlIDk6e2ZbZT4+Ml09ZztnPTI0O2JyZWFrIGF9ZGVmYXVsdDp7
ZltlPj4yXT1nO2c9MDticmVhayBhfX19Y2FzZSAzNjp7ZltlPj4yXT1jKzE7Zz0yMTticmVhayBh
fWNhc2UgMTE6e2ZbZT4+Ml09YysxO2c9MTc7YnJlYWsgYX1jYXNlIDE5OntnPSRYKGEsYysxfDAs
ZCxlKXwwO2JyZWFrIGF9Y2FzZSA1OntpZigoZC1jfDApPDIpe2c9LTI7YnJlYWsgYX1pZighKHVi
W2ZbYSszNDA+PjJdJjEyN10oYSxjKXwwKSlpZighKHViW2ZbYSszMjg+PjJdJjEyN10oYSxjKXww
KSl7ZltlPj4yXT1jO2c9MDticmVhayBhfWVsc2V7Zz0xOTtpPTJ9ZWxzZXtnPTE4O2k9Mn1icmVh
a31jYXNlIDY6e2lmKChkLWN8MCk8Myl7Zz0tMjticmVhayBhfWlmKCEodWJbZlthKzM0ND4+Ml0m
MTI3XShhLGMpfDApKWlmKCEodWJbZlthKzMzMj4+Ml0mMTI3XShhLGMpfDApKXtmW2U+PjJdPWM7
Zz0wO2JyZWFrIGF9ZWxzZXtnPTE5O2k9M31lbHNle2c9MTg7aT0zfWJyZWFrfWNhc2UgNzp7aWYo
KGQtY3wwKTw0KXtnPS0yO2JyZWFrIGF9aWYoISh1YltmW2ErMzQ4Pj4yXSYxMjddKGEsYyl8MCkp
aWYoISh1YltmW2ErMzM2Pj4yXSYxMjddKGEsYyl8MCkpe2ZbZT4+Ml09YztnPTA7YnJlYWsgYX1l
bHNle2c9MTk7aT00fWVsc2V7Zz0xODtpPTR9YnJlYWt9Y2FzZSAyNDpjYXNlIDIyOntnPTE4O2k9
MTticmVha31jYXNlIDIzOmNhc2UgMjc6Y2FzZSAyNjpjYXNlIDI1OntnPTE5O2k9MTticmVha31k
ZWZhdWx0OntmW2U+PjJdPWM7Zz0wO2JyZWFrIGF9fXdoaWxlKDApO2lmKChqfDApPT0xMyl7aT1k
O2c9YztiOndoaWxlKDEpe2M9ZysxfDA7aWYoKGktY3wwKTw9MCl7aj0xOTticmVha31zd2l0Y2go
YlttKyhoW2M+PjBdfDApPj4wXXwwKXtjYXNlIDEwOmNhc2UgMjE6YnJlYWs7Y2FzZSA5OntpZigo
ZysyfDApPT0oZHwwKSl7aj0xODticmVhayBifWJyZWFrfWRlZmF1bHQ6e2o9MTg7YnJlYWsgYn19
Zz1jfWlmKChqfDApPT0xOCl7ZltlPj4yXT1jO2c9MTU7YnJlYWt9ZWxzZSBpZigoanwwKT09MTkp
e2ZbZT4+Ml09YztnPTE1O2JyZWFrfX1qPWErMzI4fDA7az1hKzMzMnwwO2w9YSszMzZ8MDtpPWMr
aXwwO2M6d2hpbGUoMSl7Yz1kLWl8MDtpZigoY3wwKTw9MCl7aj0xMDE7YnJlYWt9ZDpkbyBzd2l0
Y2goYlttKyhoW2k+PjBdfDApPj4wXXwwKXtjYXNlIDI5OntqPTU3O2JyZWFrIGN9Y2FzZSAxMDpj
YXNlIDk6Y2FzZSAyMTpjYXNlIDMwOmNhc2UgMjA6Y2FzZSAzNjpjYXNlIDM1OmNhc2UgMzI6Y2Fz
ZSAxMTp7aj03MTticmVhayBjfWNhc2UgMzQ6e2o9OTE7YnJlYWsgY31jYXNlIDMzOntqPTk0O2Jy
ZWFrIGN9Y2FzZSAxNTp7aj05NzticmVhayBjfWNhc2UgMjc6Y2FzZSAyNjpjYXNlIDI1OmNhc2Ug
MjQ6Y2FzZSAyMjp7aT1pKzF8MDticmVha31jYXNlIDU6e2lmKChjfDApPDIpe2c9LTI7YnJlYWsg
YX1pZighKHViW2Zbaj4+Ml0mMTI3XShhLGkpfDApKXtqPTYxO2JyZWFrIGN9aT1pKzJ8MDticmVh
a31jYXNlIDY6e2lmKChjfDApPDMpe2c9LTI7YnJlYWsgYX1pZighKHViW2Zbaz4+Ml0mMTI3XShh
LGkpfDApKXtqPTY1O2JyZWFrIGN9aT1pKzN8MDticmVha31jYXNlIDc6e2lmKChjfDApPDQpe2c9
LTI7YnJlYWsgYX1pZighKHViW2ZbbD4+Ml0mMTI3XShhLGkpfDApKXtqPTY5O2JyZWFrIGN9aT1p
KzR8MDticmVha31jYXNlIDIzOntjPWkrMXwwO3N3aXRjaChnfDApe2Nhc2UgMTg6YnJlYWs7Y2Fz
ZSA0MTp7Zz0xOTtpPWM7YnJlYWsgZH1kZWZhdWx0OntpPWM7YnJlYWsgZH19Zz1kLWN8MDtpZigo
Z3wwKTw9MCl7Zz0tMTticmVhayBhfXN3aXRjaChiW20rKGhbYz4+MF18MCk+PjBdfDApe2Nhc2Ug
Mjk6e2o9NzY7YnJlYWsgY31jYXNlIDI3OmNhc2UgMjY6Y2FzZSAyNTpjYXNlIDI0OmNhc2UgMjI6
e2c9NDE7aT1pKzJ8MDticmVhayBkfWNhc2UgNTp7aWYoKGd8MCk8Mil7Zz0tMjticmVhayBhfWlm
KCEodWJbZltqPj4yXSYxMjddKGEsYyl8MCkpe2o9ODA7YnJlYWsgY31nPTQxO2k9aSszfDA7YnJl
YWsgZH1jYXNlIDY6e2lmKChnfDApPDMpe2c9LTI7YnJlYWsgYX1pZighKHViW2Zbaz4+Ml0mMTI3
XShhLGMpfDApKXtqPTg0O2JyZWFrIGN9Zz00MTtpPWkrNHwwO2JyZWFrIGR9Y2FzZSA3OntpZigo
Z3wwKTw0KXtnPS0yO2JyZWFrIGF9aWYoISh1YltmW2w+PjJdJjEyN10oYSxjKXwwKSl7aj04ODti
cmVhayBjfWc9NDE7aT1pKzV8MDticmVhayBkfWRlZmF1bHQ6e2c9MTk7aT1jO2JyZWFrIGR9fX1k
ZWZhdWx0OntqPTEwMDticmVhayBjfX13aGlsZSgwKX1zd2l0Y2goanwwKXtjYXNlIDU3OntmW2U+
PjJdPWk7Zz0wO2JyZWFrIGF9Y2FzZSA2MTp7ZltlPj4yXT1pO2c9MDticmVhayBhfWNhc2UgNjU6
e2ZbZT4+Ml09aTtnPTA7YnJlYWsgYX1jYXNlIDY5OntmW2U+PjJdPWk7Zz0wO2JyZWFrIGF9Y2Fz
ZSA3MTp7ZltlPj4yXT1pO2JyZWFrIGF9Y2FzZSA3Njp7ZltlPj4yXT1jO2c9MDticmVhayBhfWNh
c2UgODA6e2ZbZT4+Ml09YztnPTA7YnJlYWsgYX1jYXNlIDg0OntmW2U+PjJdPWM7Zz0wO2JyZWFr
IGF9Y2FzZSA4ODp7ZltlPj4yXT1jO2c9MDticmVhayBhfWNhc2UgOTE6aWYoKGd8MCk9PTE5KXtm
W2U+PjJdPWk7Zz0wO2JyZWFrIGF9ZWxzZXtmW2U+PjJdPWkrMTtnPTMyO2JyZWFrIGF9Y2FzZSA5
NDppZigoZ3wwKT09MTkpe2ZbZT4+Ml09aTtnPTA7YnJlYWsgYX1lbHNle2ZbZT4+Ml09aSsxO2c9
MzE7YnJlYWsgYX1jYXNlIDk3OmlmKChnfDApPT0xOSl7ZltlPj4yXT1pO2c9MDticmVhayBhfWVs
c2V7ZltlPj4yXT1pKzE7Zz0zMDticmVhayBhfWNhc2UgMTAwOntmW2U+PjJdPWk7Zz0wO2JyZWFr
IGF9Y2FzZSAxMDE6e2c9MC1nfDA7YnJlYWsgYX19fWVsc2UgZz0tNDt3aGlsZSgwKTtyZXR1cm4g
Z3wwfWZ1bmN0aW9uIHpYKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAs
aT0wLGo9MCxrPTAsbD0wLG09MDthOmRvIGlmKGM+Pj4wPGQ+Pj4wKXttPWErNzJ8MDtiOmRvIHN3
aXRjaChiW20rKGhbYz4+MF18MCk+PjBdfDApe2Nhc2UgMjp7Zz1TWChhLGMrMXwwLGQsZSl8MDti
cmVhayBhfWNhc2UgMzp7Zz1PWChhLGMrMXwwLGQsZSl8MDticmVhayBhfWNhc2UgOTp7Zz1jKzF8
MDtpZigoZC1nfDApPD0wKXtnPS0zO2JyZWFrIGF9ZltlPj4yXT0oYlttKyhoW2c+PjBdfDApPj4w
XXwwKT09MTA/YysyfDA6ZztnPTc7YnJlYWsgYX1jYXNlIDEwOntmW2U+PjJdPWMrMTtnPTc7YnJl
YWsgYX1jYXNlIDQ6e2k9YysxfDA7aWYoKGQtaXwwKTw9MCl7Zz0tNTticmVhayBhfWlmKChiW2k+
PjBdfDApPT05Myl7Zz1jKzJ8MDtpZigoZC1nfDApPD0wKXtnPS01O2JyZWFrIGF9aWYoKGJbZz4+
MF18MCk9PTYyKXtmW2U+PjJdPWc7Zz0wO2JyZWFrIGF9ZWxzZSBnPWR9ZWxzZSBnPWQ7YnJlYWt9
Y2FzZSA1OntnPWQ7aWYoKGctY3wwKTwyKXtnPS0yO2JyZWFrIGF9aWYoISh1YltmW2ErMzUyPj4y
XSYxMjddKGEsYyl8MCkpe2k9YysyfDA7YnJlYWsgYn1lbHNle2ZbZT4+Ml09YztnPTA7YnJlYWsg
YX19Y2FzZSA2OntnPWQ7aWYoKGctY3wwKTwzKXtnPS0yO2JyZWFrIGF9aWYoISh1YltmW2ErMzU2
Pj4yXSYxMjddKGEsYyl8MCkpe2k9YyszfDA7YnJlYWsgYn1lbHNle2ZbZT4+Ml09YztnPTA7YnJl
YWsgYX19Y2FzZSA3OntnPWQ7aWYoKGctY3wwKTw0KXtnPS0yO2JyZWFrIGF9aWYoISh1YltmW2Er
MzYwPj4yXSYxMjddKGEsYyl8MCkpe2k9Yys0fDA7YnJlYWsgYn1lbHNle2ZbZT4+Ml09YztnPTA7
YnJlYWsgYX19Y2FzZSA4OmNhc2UgMTpjYXNlIDA6e2ZbZT4+Ml09YztnPTA7YnJlYWsgYX1kZWZh
dWx0OntpPWMrMXwwO2c9ZH19d2hpbGUoMCk7aj1hKzM1MnwwO2s9YSszNTZ8MDtsPWErMzYwfDA7
Yzp3aGlsZSgxKXtjPWctaXwwO2lmKChjfDApPD0wKXtkPTUwO2JyZWFrfXN3aXRjaChiW20rKGhb
aT4+MF18MCk+PjBdfDApe2Nhc2UgMTA6Y2FzZSA5OmNhc2UgODpjYXNlIDE6Y2FzZSAwOmNhc2Ug
MjpjYXNlIDM6e2Q9NDg7YnJlYWsgY31jYXNlIDU6e2lmKChjfDApPDIpe2Q9MzI7YnJlYWsgY31p
Zih1YltmW2o+PjJdJjEyN10oYSxpKXwwKXtkPTMyO2JyZWFrIGN9ZD1pKzJ8MDticmVha31jYXNl
IDY6e2lmKChjfDApPDMpe2Q9MzY7YnJlYWsgY31pZih1YltmW2s+PjJdJjEyN10oYSxpKXwwKXtk
PTM2O2JyZWFrIGN9ZD1pKzN8MDticmVha31jYXNlIDc6e2lmKChjfDApPDQpe2Q9NDA7YnJlYWsg
Y31pZih1YltmW2w+PjJdJjEyN10oYSxpKXwwKXtkPTQwO2JyZWFrIGN9ZD1pKzR8MDticmVha31j
YXNlIDQ6e2lmKChjfDApPD0xKXtkPTQ4O2JyZWFrIGN9ZD1pKzF8MDtpZigoYltkPj4wXXwwKT09
OTMpe2lmKChjfDApPD0yKXtkPTQ4O2JyZWFrIGN9aWYoKGJbaSsyPj4wXXwwKT09NjIpe2Q9NDc7
YnJlYWsgY319YnJlYWt9ZGVmYXVsdDpkPWkrMXwwfWk9ZH1pZigoZHwwKT09MzIpe2ZbZT4+Ml09
aTtnPTY7YnJlYWt9ZWxzZSBpZigoZHwwKT09MzYpe2ZbZT4+Ml09aTtnPTY7YnJlYWt9ZWxzZSBp
ZigoZHwwKT09NDApe2ZbZT4+Ml09aTtnPTY7YnJlYWt9ZWxzZSBpZigoZHwwKT09NDcpe2ZbZT4+
Ml09aSsyO2c9MDticmVha31lbHNlIGlmKChkfDApPT00OCl7ZltlPj4yXT1pO2c9NjticmVha31l
bHNlIGlmKChkfDApPT01MCl7ZltlPj4yXT1pO2c9NjticmVha319ZWxzZSBnPS00O3doaWxlKDAp
O3JldHVybiBnfDB9ZnVuY3Rpb24gQVgoYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7
dmFyIGc9MCxpPTAsaj0wLGs9MCxsPTA7YTpkbyBpZihjPj4+MDxkPj4+MCl7bD1hKzcyfDA7Yjpk
byBzd2l0Y2goYltsKyhoW2M+PjBdfDApPj4wXXwwKXtjYXNlIDQ6e2k9YysxfDA7Zz1kO2lmKChn
LWl8MCk8PTApe2c9LTE7YnJlYWsgYX1pZigoYltpPj4wXXwwKT09OTMpe2Q9YysyfDA7aWYoKGct
ZHwwKTw9MCl7Zz0tMTticmVhayBhfWlmKChiW2Q+PjBdfDApPT02Mil7ZltlPj4yXT1jKzM7Zz00
MDticmVhayBhfX1icmVha31jYXNlIDk6e2c9YysxfDA7aWYoKGQtZ3wwKTw9MCl7Zz0tMTticmVh
ayBhfWZbZT4+Ml09KGJbbCsoaFtnPj4wXXwwKT4+MF18MCk9PTEwP2MrMnwwOmc7Zz03O2JyZWFr
IGF9Y2FzZSAxMDp7ZltlPj4yXT1jKzE7Zz03O2JyZWFrIGF9Y2FzZSA1OntnPWQ7aWYoKGctY3ww
KTwyKXtnPS0yO2JyZWFrIGF9aWYoISh1YltmW2ErMzUyPj4yXSYxMjddKGEsYyl8MCkpe2k9Yysy
fDA7YnJlYWsgYn1lbHNle2ZbZT4+Ml09YztnPTA7YnJlYWsgYX19Y2FzZSA2OntnPWQ7aWYoKGct
Y3wwKTwzKXtnPS0yO2JyZWFrIGF9aWYoISh1YltmW2ErMzU2Pj4yXSYxMjddKGEsYyl8MCkpe2k9
YyszfDA7YnJlYWsgYn1lbHNle2ZbZT4+Ml09YztnPTA7YnJlYWsgYX19Y2FzZSA3OntnPWQ7aWYo
KGctY3wwKTw0KXtnPS0yO2JyZWFrIGF9aWYoISh1YltmW2ErMzYwPj4yXSYxMjddKGEsYyl8MCkp
e2k9Yys0fDA7YnJlYWsgYn1lbHNle2ZbZT4+Ml09YztnPTA7YnJlYWsgYX19Y2FzZSA4OmNhc2Ug
MTpjYXNlIDA6e2ZbZT4+Ml09YztnPTA7YnJlYWsgYX1kZWZhdWx0OntpPWMrMXwwO2c9ZH19d2hp
bGUoMCk7Yz1hKzM1MnwwO2o9YSszNTZ8MDtrPWErMzYwfDA7Yzp3aGlsZSgxKXtkPWctaXwwO2lm
KChkfDApPD0wKXtkPTM5O2JyZWFrfXN3aXRjaChiW2wrKGhbaT4+MF18MCk+PjBdfDApe2Nhc2Ug
NDpjYXNlIDEwOmNhc2UgOTpjYXNlIDg6Y2FzZSAxOmNhc2UgMDp7ZD0zNzticmVhayBjfWNhc2Ug
NTp7aWYoKGR8MCk8Mil7ZD0zMDticmVhayBjfWlmKCEodWJbZltjPj4yXSYxMjddKGEsaSl8MCkp
ZD0yO2Vsc2V7ZD0zMDticmVhayBjfWJyZWFrfWNhc2UgNjp7aWYoKGR8MCk8Myl7ZD0zMzticmVh
ayBjfWlmKCEodWJbZltqPj4yXSYxMjddKGEsaSl8MCkpZD0zO2Vsc2V7ZD0zMzticmVhayBjfWJy
ZWFrfWNhc2UgNzp7aWYoKGR8MCk8NCl7ZD0zNjticmVhayBjfWlmKCEodWJbZltrPj4yXSYxMjdd
KGEsaSl8MCkpZD00O2Vsc2V7ZD0zNjticmVhayBjfWJyZWFrfWRlZmF1bHQ6ZD0xfWk9aStkfDB9
aWYoKGR8MCk9PTMwKXtmW2U+PjJdPWk7Zz02O2JyZWFrfWVsc2UgaWYoKGR8MCk9PTMzKXtmW2U+
PjJdPWk7Zz02O2JyZWFrfWVsc2UgaWYoKGR8MCk9PTM2KXtmW2U+PjJdPWk7Zz02O2JyZWFrfWVs
c2UgaWYoKGR8MCk9PTM3KXtmW2U+PjJdPWk7Zz02O2JyZWFrfWVsc2UgaWYoKGR8MCk9PTM5KXtm
W2U+PjJdPWk7Zz02O2JyZWFrfX1lbHNlIGc9LTQ7d2hpbGUoMCk7cmV0dXJuIGd8MH1mdW5jdGlv
biBCWChhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGk9MCxqPTAsaz0w
LGw9MCxtPTAsbj0wLG89MDtqPWErNzJ8MDtrPWErMzUyfDA7bD1hKzM1NnwwO209YSszNjB8MDtp
PTA7YTp3aGlsZSgxKXtnPWQtY3wwO2lmKChnfDApPD0wKXtkPS0xO2JyZWFrfXN3aXRjaChiW2or
KGhbYz4+MF18MCk+PjBdfDApe2Nhc2UgODpjYXNlIDE6Y2FzZSAwOntuPTE2O2JyZWFrIGF9Y2Fz
ZSA1OntpZigoZ3wwKTwyKXtkPS0yO2JyZWFrIGF9aWYodWJbZltrPj4yXSYxMjddKGEsYyl8MCl7
bj02O2JyZWFrIGF9Yz1jKzJ8MDticmVha31jYXNlIDY6e2lmKChnfDApPDMpe2Q9LTI7YnJlYWsg
YX1pZih1YltmW2w+PjJdJjEyN10oYSxjKXwwKXtuPTEwO2JyZWFrIGF9Yz1jKzN8MDticmVha31j
YXNlIDc6e2lmKChnfDApPDQpe2Q9LTI7YnJlYWsgYX1pZih1YltmW20+PjJdJjEyN10oYSxjKXww
KXtuPTE0O2JyZWFrIGF9Yz1jKzR8MDticmVha31jYXNlIDI6e2c9YysxfDA7aWYoKGQtZ3wwKTw9
MCl7ZD0tMTticmVhayBhfWlmKChiW2c+PjBdfDApPT0zMyl7Zz1jKzJ8MDtpZigoZC1nfDApPD0w
KXtkPS0xO2JyZWFrIGF9bz0oYltnPj4wXXwwKT09OTE7aT1pKyhvJjEpfDA7Yz1vP2MrM3wwOmd9
ZWxzZSBjPWc7YnJlYWt9Y2FzZSA0OntnPWMrMXwwO2lmKChkLWd8MCk8PTApe2Q9LTE7YnJlYWsg
YX1pZigoYltnPj4wXXwwKT09OTMpe2c9YysyfDA7aWYoKGQtZ3wwKTw9MCl7ZD0tMTticmVhayBh
fWlmKChiW2c+PjBdfDApPT02Mil7Yz1jKzN8MDtpZighaSl7bj0yNzticmVhayBhfWk9aSstMXww
fWVsc2UgYz1nfWVsc2UgYz1nO2JyZWFrfWRlZmF1bHQ6Yz1jKzF8MH19aWYoKG58MCk9PTYpe2Zb
ZT4+Ml09YztkPTB9ZWxzZSBpZigobnwwKT09MTApe2ZbZT4+Ml09YztkPTB9ZWxzZSBpZigobnww
KT09MTQpe2ZbZT4+Ml09YztkPTB9ZWxzZSBpZigobnwwKT09MTYpe2ZbZT4+Ml09YztkPTB9ZWxz
ZSBpZigobnwwKT09Mjcpe2ZbZT4+Ml09YztkPTQyfXJldHVybiBkfDB9ZnVuY3Rpb24gQ1goYSxj
LGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxpPTAsaj0wLGs9MCxsPTA7ZG8g
aWYoYz4+PjA8ZD4+PjApe2s9ZDtpZigoay1jfDApPjApe2w9YSs3MnwwO2k9YzthOndoaWxlKDEp
e2lmKChrLWl8MCk8PTApe2o9MjQ7YnJlYWt9c3dpdGNoKGJbbCsoaFtpPj4wXXwwKT4+MF18MCl7
Y2FzZSAzOntqPTg7YnJlYWsgYX1jYXNlIDI6e2o9MTE7YnJlYWsgYX1jYXNlIDEwOntqPTEyO2Jy
ZWFrIGF9Y2FzZSA5OntqPTE1O2JyZWFrIGF9Y2FzZSAyMTp7aj0xOTticmVhayBhfWNhc2UgNTp7
Zz0yO2JyZWFrfWNhc2UgNjp7Zz0zO2JyZWFrfWNhc2UgNzp7Zz00O2JyZWFrfWRlZmF1bHQ6Zz0x
fWk9aStnfDB9aWYoKGp8MCk9PTgpaWYoKGl8MCk9PShjfDApKXtnPU9YKGEsYysxfDAsZCxlKXww
O2JyZWFrfWVsc2V7ZltlPj4yXT1pO2c9NjticmVha31lbHNlIGlmKChqfDApPT0xMSl7ZltlPj4y
XT1pO2c9MDticmVha31lbHNlIGlmKChqfDApPT0xMilpZigoaXwwKT09KGN8MCkpe2ZbZT4+Ml09
YysxO2c9NzticmVha31lbHNle2ZbZT4+Ml09aTtnPTY7YnJlYWt9ZWxzZSBpZigoanwwKT09MTUp
e2lmKChpfDApIT0oY3wwKSl7ZltlPj4yXT1pO2c9NjticmVha31nPWMrMXwwO2lmKChrLWd8MCk8
PTApe2c9LTM7YnJlYWt9ZltlPj4yXT0oYltsKyhoW2c+PjBdfDApPj4wXXwwKT09MTA/YysyfDA6
ZztnPTc7YnJlYWt9ZWxzZSBpZigoanwwKT09MTkpaWYoKGl8MCk9PShjfDApKXtmW2U+PjJdPWMr
MTtnPTM5O2JyZWFrfWVsc2V7ZltlPj4yXT1pO2c9NjticmVha31lbHNlIGlmKChqfDApPT0yNCl7
ZltlPj4yXT1pO2c9NjticmVha319ZWxzZSBnPS0xfWVsc2UgZz0tNDt3aGlsZSgwKTtyZXR1cm4g
Z3wwfWZ1bmN0aW9uIERYKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAs
aT0wLGo9MCxrPTAsbD0wO2RvIGlmKGM+Pj4wPGQ+Pj4wKXtrPWQ7aWYoKGstY3wwKT4wKXtsPWEr
NzJ8MDtpPWM7YTp3aGlsZSgxKXtpZigoay1pfDApPD0wKXtqPTIzO2JyZWFrfXN3aXRjaChiW2wr
KGhbaT4+MF18MCk+PjBdfDApe2Nhc2UgMzp7aj04O2JyZWFrIGF9Y2FzZSAzMDp7aj0xMTticmVh
ayBhfWNhc2UgMTA6e2o9MTQ7YnJlYWsgYX1jYXNlIDk6e2o9MTc7YnJlYWsgYX1jYXNlIDU6e2c9
MjticmVha31jYXNlIDY6e2c9MzticmVha31jYXNlIDc6e2c9NDticmVha31kZWZhdWx0Omc9MX1p
PWkrZ3wwfWlmKChqfDApPT04KWlmKChpfDApPT0oY3wwKSl7Zz1PWChhLGMrMXwwLGQsZSl8MDti
cmVha31lbHNle2ZbZT4+Ml09aTtnPTY7YnJlYWt9ZWxzZSBpZigoanwwKT09MTEpaWYoKGl8MCk9
PShjfDApKXtnPVBYKGEsYysxfDAsZCxlKXwwO2c9KGd8MCk9PTIyPzA6ZzticmVha31lbHNle2Zb
ZT4+Ml09aTtnPTY7YnJlYWt9ZWxzZSBpZigoanwwKT09MTQpaWYoKGl8MCk9PShjfDApKXtmW2U+
PjJdPWMrMTtnPTc7YnJlYWt9ZWxzZXtmW2U+PjJdPWk7Zz02O2JyZWFrfWVsc2UgaWYoKGp8MCk9
PTE3KXtpZigoaXwwKSE9KGN8MCkpe2ZbZT4+Ml09aTtnPTY7YnJlYWt9Zz1jKzF8MDtpZigoay1n
fDApPD0wKXtnPS0zO2JyZWFrfWZbZT4+Ml09KGJbbCsoaFtnPj4wXXwwKT4+MF18MCk9PTEwP2Mr
MnwwOmc7Zz03O2JyZWFrfWVsc2UgaWYoKGp8MCk9PTIzKXtmW2U+PjJdPWk7Zz02O2JyZWFrfX1l
bHNlIGc9LTF9ZWxzZSBnPS00O3doaWxlKDApO3JldHVybiBnfDB9ZnVuY3Rpb24gRVgoYSxjLGQs
ZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTA7Zj1kO2E9Yzt3aGlsZSgxKXtj
PWJbZT4+MF18MDtpZighKGM8PDI0Pj4yNCkpe2c9NjticmVha31pZigoZi1hfDApPDEpe2E9MDti
cmVha31pZigoYlthPj4wXXwwKSE9Yzw8MjQ+PjI0KXthPTA7YnJlYWt9ZT1lKzF8MDthPWErMXww
fWlmKChnfDApPT02KWE9KGF8MCk9PShkfDApJjE7cmV0dXJuIGF8MH1mdW5jdGlvbiBGWChhLGMp
e2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wO2U9YSs3MnwwO2E9YzthOndoaWxlKDEpe3N3aXRjaChi
W2UrKGhbYT4+MF18MCk+PjBdfDApe2Nhc2UgNTp7ZD0yO2JyZWFrfWNhc2UgNjp7ZD0zO2JyZWFr
fWNhc2UgNzp7ZD00O2JyZWFrfWNhc2UgMjc6Y2FzZSAyNjpjYXNlIDI1OmNhc2UgMjQ6Y2FzZSAy
MzpjYXNlIDIyOmNhc2UgMjk6e2Q9MTticmVha31kZWZhdWx0OmJyZWFrIGF9YT1hK2R8MH1yZXR1
cm4gYS1jfDB9ZnVuY3Rpb24gR1goYSxjKXthPWF8MDtjPWN8MDthPWErNzJ8MDthOndoaWxlKDEp
e3N3aXRjaChiW2ErKGhbYz4+MF18MCk+PjBdfDApe2Nhc2UgMjE6Y2FzZSA5OmNhc2UgMTA6YnJl
YWs7ZGVmYXVsdDpicmVhayBhfWM9YysxfDB9cmV0dXJuIGN8MH1mdW5jdGlvbiBIWChhLGMsZCxl
KXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0w
O2w9YSs3MnwwO2s9MDtqPTA7YT0xO2E6d2hpbGUoMSl7aT1jKzF8MDtnPWJbaT4+MF18MDtiOmRv
IHN3aXRjaChiW2wrKGcmMjU1KT4+MF18MCl7Y2FzZSA1OntpZighYSlpZigoanwwKTwoZHwwKSl7
ZltlKyhqPDw0KT4+Ml09aTtiW2UrKGo8PDQpKzEyPj4wXT0xO2E9MX1lbHNlIGE9MTtnPWs7Yz1j
KzJ8MDticmVha31jYXNlIDY6e2lmKCFhKWlmKChqfDApPChkfDApKXtmW2UrKGo8PDQpPj4yXT1p
O2JbZSsoajw8NCkrMTI+PjBdPTE7YT0xfWVsc2UgYT0xO2c9aztjPWMrM3wwO2JyZWFrfWNhc2Ug
Nzp7aWYoIWEpaWYoKGp8MCk8KGR8MCkpe2ZbZSsoajw8NCk+PjJdPWk7YltlKyhqPDw0KSsxMj4+
MF09MTthPTF9ZWxzZSBhPTE7Zz1rO2M9Yys0fDA7YnJlYWt9Y2FzZSAyNDpjYXNlIDIyOmNhc2Ug
Mjk6e2lmKCFhKWlmKChqfDApPChkfDApKXtmW2UrKGo8PDQpPj4yXT1pO2JbZSsoajw8NCkrMTI+
PjBdPTE7Zz1rO2E9MTtjPWl9ZWxzZXtnPWs7YT0xO2M9aX1lbHNle2c9aztjPWl9YnJlYWt9Y2Fz
ZSAxMjp7aWYoKGF8MCkhPTIpe2lmKChqfDApPj0oZHwwKSl7Zz0xMjthPTI7Yz1pO2JyZWFrIGJ9
ZltlKyhqPDw0KSs0Pj4yXT1jKzI7Zz0xMjthPTI7Yz1pO2JyZWFrIGJ9aWYoKGt8MCk9PTEyKXtp
ZigoanwwKTwoZHwwKSlmW2UrKGo8PDQpKzg+PjJdPWk7Zz0xMjtqPWorMXwwO2E9MDtjPWl9ZWxz
ZXtnPWs7YT0yO2M9aX1icmVha31jYXNlIDEzOntpZigoYXwwKSE9Mil7aWYoKGp8MCk+PShkfDAp
KXtnPTEzO2E9MjtjPWk7YnJlYWsgYn1mW2UrKGo8PDQpKzQ+PjJdPWMrMjtnPTEzO2E9MjtjPWk7
YnJlYWsgYn1pZigoa3wwKT09MTMpe2lmKChqfDApPChkfDApKWZbZSsoajw8NCkrOD4+Ml09aTtn
PTEzO2o9aisxfDA7YT0wO2M9aX1lbHNle2c9azthPTI7Yz1pfWJyZWFrfWNhc2UgMzp7aWYoKGp8
MCk8KGR8MCkpe2JbZSsoajw8NCkrMTI+PjBdPTA7Zz1rO2M9aX1lbHNle2c9aztjPWl9YnJlYWt9
Y2FzZSAyMTp7c3dpdGNoKGF8MCl7Y2FzZSAxOntnPWs7YT0wO2M9aTticmVhayBifWNhc2UgMjpi
cmVhaztkZWZhdWx0OntnPWs7Yz1pO2JyZWFrIGJ9fWlmKChqfDApPChkfDApPyhtPWUrKGo8PDQp
KzEyfDAsKGJbbT4+MF18MCkhPTApOjApe2lmKCgoZzw8MjQ+PjI0PT0zMj8oaXwwKSE9KGZbZSso
ajw8NCkrND4+Ml18MCk6MCk/KG49YltjKzI+PjBdfDAsbjw8MjQ+PjI0IT0zMik6MCk/KGt8MCkh
PShoW2wrKG4mMjU1KT4+MF18MCk6MCl7Zz1rO2E9MjtjPWk7YnJlYWsgYn1iW20+PjBdPTA7Zz1r
O2E9MjtjPWl9ZWxzZXtnPWs7YT0yO2M9aX1icmVha31jYXNlIDEwOmNhc2UgOTp7c3dpdGNoKGF8
MCl7Y2FzZSAxOntnPWs7YT0wO2M9aTticmVhayBifWNhc2UgMjpicmVhaztkZWZhdWx0OntnPWs7
Yz1pO2JyZWFrIGJ9fWlmKChqfDApPChkfDApKXtiW2UrKGo8PDQpKzEyPj4wXT0wO2c9azthPTI7
Yz1pfWVsc2V7Zz1rO2E9MjtjPWl9YnJlYWt9Y2FzZSAxNzpjYXNlIDExOntpZigoYXwwKT09Mil7
Zz1rO2E9MjtjPWl9ZWxzZSBicmVhayBhO2JyZWFrfWRlZmF1bHQ6e2c9aztjPWl9fXdoaWxlKDAp
O2s9Z31yZXR1cm4ganwwfWZ1bmN0aW9uIElYKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAs
Zj0wO2E9YysyfDA7ZD1iW2E+PjBdfDA7YTpkbyBpZihkPDwyND4+MjQ9PTEyMCl7Yz1jKzN8MDth
PTA7d2hpbGUoMSl7Zj1iW2M+PjBdfDA7ZD1mPDwyND4+MjQ7aWYoZjw8MjQ+PjI0PT01OSl7ZT0x
MzticmVhayBhfXN3aXRjaChkfDApe2Nhc2UgNTc6Y2FzZSA1NjpjYXNlIDU1OmNhc2UgNTQ6Y2Fz
ZSA1MzpjYXNlIDUyOmNhc2UgNTE6Y2FzZSA1MDpjYXNlIDQ5OmNhc2UgNDg6e2E9ZCstNDh8YTw8
NDticmVha31jYXNlIDcwOmNhc2UgNjk6Y2FzZSA2ODpjYXNlIDY3OmNhc2UgNjY6Y2FzZSA2NTp7
YT0oYTw8NCkrLTU1K2R8MDticmVha31jYXNlIDEwMjpjYXNlIDEwMTpjYXNlIDEwMDpjYXNlIDk5
OmNhc2UgOTg6Y2FzZSA5Nzp7YT0oYTw8NCkrLTg3K2R8MDticmVha31kZWZhdWx0Ont9fWlmKChh
fDApPDExMTQxMTIpYz1jKzF8MDtlbHNle2E9LTE7YnJlYWsgYX19fWVsc2V7Yz1hO2E9MDt3aGls
ZSgxKXtpZihkPDwyND4+MjQ9PTU5KXtlPTEzO2JyZWFrIGF9YT0oZDw8MjQ+PjI0KSstNDgrKGEq
MTB8MCl8MDtpZigoYXwwKT49MTExNDExMil7YT0tMTticmVhayBhfWQ9YysxfDA7Yz1kO2Q9Yltk
Pj4wXXwwfX13aGlsZSgwKTtpZigoZXwwKT09MTMpYT1zWChhKXwwO3JldHVybiBhfDB9ZnVuY3Rp
b24gSlgoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTA7YTpkbyBzd2l0Y2goZC1jfDAp
e2Nhc2UgMjp7aWYoKGJbYysxPj4wXXwwKT09MTE2KXthPWJbYz4+MF18MDthPWE8PDI0Pj4yND09
MTA4PzYwOmE8PDI0Pj4yND09MTAzPzYyOjB9ZWxzZSBlPTE0O2JyZWFrfWNhc2UgMzp7aWYoKChi
W2M+PjBdfDApPT05Nz8oYltjKzE+PjBdfDApPT0xMDk6MCk/KGJbYysyPj4wXXwwKT09MTEyOjAp
YT0zODtlbHNlIGU9MTQ7YnJlYWt9Y2FzZSA0OnN3aXRjaChiW2M+PjBdfDApe2Nhc2UgMTEzOntp
ZigoYltjKzE+PjBdfDApIT0xMTcpe2U9MTQ7YnJlYWsgYX1pZigoYltjKzI+PjBdfDApIT0xMTEp
e2U9MTQ7YnJlYWsgYX1pZigoYltjKzM+PjBdfDApPT0xMTYpe2E9MzQ7YnJlYWsgYX1lbHNle2U9
MTQ7YnJlYWsgYX19Y2FzZSA5Nzp7aWYoKGJbYysxPj4wXXwwKSE9MTEyKXtlPTE0O2JyZWFrIGF9
aWYoKGJbYysyPj4wXXwwKSE9MTExKXtlPTE0O2JyZWFrIGF9aWYoKGJbYyszPj4wXXwwKT09MTE1
KXthPTM5O2JyZWFrIGF9ZWxzZXtlPTE0O2JyZWFrIGF9fWRlZmF1bHQ6e2U9MTQ7YnJlYWsgYX19
ZGVmYXVsdDplPTE0fXdoaWxlKDApO2lmKChlfDApPT0xNClhPTA7cmV0dXJuIGF8MH1mdW5jdGlv
biBLWChhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGk9MDtnPWErNzJ8
MDtpPWUrNHwwO3doaWxlKDEpe2lmKChkLWN8MCk8PTApYnJlYWs7c3dpdGNoKGJbZysoaFtjPj4w
XXwwKT4+MF18MCl7Y2FzZSA1OntjPWMrMnwwO2JyZWFrfWNhc2UgNjp7Yz1jKzN8MDticmVha31j
YXNlIDc6e2M9Yys0fDA7YnJlYWt9Y2FzZSAxMDp7ZltpPj4yXT0tMTtmW2U+PjJdPShmW2U+PjJd
fDApKzE7Yz1jKzF8MDticmVha31jYXNlIDk6e2ZbZT4+Ml09KGZbZT4+Ml18MCkrMTthPWMrMXww
O2lmKChkLWF8MCk+MCljPShiW2crKGhbYT4+MF18MCk+PjBdfDApPT0xMD9jKzJ8MDphO2Vsc2Ug
Yz1hO2ZbaT4+Ml09LTE7YnJlYWt9ZGVmYXVsdDpjPWMrMXwwfWZbaT4+Ml09KGZbaT4+Ml18MCkr
MX1yZXR1cm59ZnVuY3Rpb24gTFgoYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFy
IGc9MCxoPTA7Zz1kKy0xfDA7YT1hKzcyfDA7YTp3aGlsZSgxKXtjPWMrMXwwO2lmKChnLWN8MCk8
PTApe2M9MTticmVha31kPWJbYz4+MF18MDtzd2l0Y2goYlthKyhkJjI1NSk+PjBdfDApe2Nhc2Ug
MjM6Y2FzZSAxOTpjYXNlIDMwOmNhc2UgMzM6Y2FzZSAxNjpjYXNlIDE4OmNhc2UgMTA6Y2FzZSA5
OmNhc2UgMTU6Y2FzZSAxNDpjYXNlIDE3OmNhc2UgMzU6Y2FzZSAzNDpjYXNlIDMyOmNhc2UgMzE6
Y2FzZSAxMzpjYXNlIDI3OmNhc2UgMjQ6Y2FzZSAyNTpicmVhaztjYXNlIDIxOntpZihkPDwyND4+
MjQ9PTkpe2g9ODticmVhayBhfWJyZWFrfWNhc2UgMjI6Y2FzZSAyNjp7aWYoZDw8MjQ+PjI0PDAp
aD03O2JyZWFrfWRlZmF1bHQ6aD03fWlmKChofDApPT03KXtoPTA7c3dpdGNoKGQ8PDI0Pj4yNHww
KXtjYXNlIDY0OmNhc2UgMzY6YnJlYWs7ZGVmYXVsdDp7aD04O2JyZWFrIGF9fX19aWYoKGh8MCk9
PTgpe2ZbZT4+Ml09YztjPTB9cmV0dXJuIGN8MH1mdW5jdGlvbiBNWChhLGMsZCxlLGcpe2E9YXww
O2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO3ZhciBpPTAsaj0wLGs9MDtpPWc7d2hpbGUoMSl7aj1m
W2M+PjJdfDA7aWYoKGp8MCk9PShkfDApKXthPTA7YnJlYWt9az1oW2o+PjBdfDA7YT1mW2U+PjJd
fDA7aWYoIShrJjEyOCkpe2lmKChhfDApPT0oZ3wwKSl7YT0yO2JyZWFrfWZbYz4+Ml09aisxO2o9
YltqPj4wXXwwO2s9ZltlPj4yXXwwO2ZbZT4+Ml09aysxO2Jbaz4+MF09an1lbHNle2lmKChpLWF8
MCk8Mil7YT0yO2JyZWFrfWZbZT4+Ml09YSsxO2JbYT4+MF09az4+PjZ8MTkyO2o9ZltlPj4yXXww
O2ZbZT4+Ml09aisxO2Jbaj4+MF09ayY2M3wxMjg7ZltjPj4yXT0oZltjPj4yXXwwKSsxfX1yZXR1
cm4gYXwwfWZ1bmN0aW9uIE5YKGEsYixjLGUsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZT1lfDA7Zz1n
fDA7dmFyIGk9MDt3aGlsZSgxKXthPWZbYj4+Ml18MDtpPWZbZT4+Ml18MDtpZihhPj4+MD49Yz4+
PjApe2E9MTticmVha31pZihpPj4+MD49Zz4+PjApe2E9MDticmVha31mW2I+PjJdPWErMTthPWhb
YT4+MF18MDtpPWZbZT4+Ml18MDtmW2U+PjJdPWkrMjtkW2k+PjFdPWF9cmV0dXJuICgoaXwwKSE9
KGd8MCl8YT8wOjIpfDB9ZnVuY3Rpb24gT1goYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1l
fDA7dmFyIGc9MCxpPTAsaj0wLGs9MCxsPTA7az1kO2c9ay1jfDA7YTpkbyBpZigoZ3wwKT4wKXts
PWErNzJ8MDtzd2l0Y2goYltsKyhoW2M+PjBdfDApPj4wXXwwKXtjYXNlIDI5OntmW2U+PjJdPWM7
ZD0wO2JyZWFrIGF9Y2FzZSAyNDpjYXNlIDIyOntkPTE7YnJlYWt9Y2FzZSA1OntpZigoZ3wwKTwy
KXtkPS0yO2JyZWFrIGF9aWYoISh1YltmW2ErMzQwPj4yXSYxMjddKGEsYyl8MCkpe2ZbZT4+Ml09
YztkPTA7YnJlYWsgYX1lbHNlIGQ9MjticmVha31jYXNlIDY6e2lmKChnfDApPDMpe2Q9LTI7YnJl
YWsgYX1pZighKHViW2ZbYSszNDQ+PjJdJjEyN10oYSxjKXwwKSl7ZltlPj4yXT1jO2Q9MDticmVh
ayBhfWVsc2UgZD0zO2JyZWFrfWNhc2UgNzp7aWYoKGd8MCk8NCl7ZD0tMjticmVhayBhfWlmKCEo
dWJbZlthKzM0OD4+Ml0mMTI3XShhLGMpfDApKXtmW2U+PjJdPWM7ZD0wO2JyZWFrIGF9ZWxzZSBk
PTQ7YnJlYWt9Y2FzZSAxOTp7ZD1RWChhLGMrMXwwLGQsZSl8MDticmVhayBhfWRlZmF1bHQ6e2Zb
ZT4+Ml09YztkPTA7YnJlYWsgYX19Zz1hKzMyOHwwO2k9YSszMzJ8MDtqPWErMzM2fDA7Yz1jK2R8
MDtiOndoaWxlKDEpe2Q9ay1jfDA7aWYoKGR8MCk8PTApe2Q9LTE7YnJlYWsgYX1zd2l0Y2goYlts
KyhoW2M+PjBdfDApPj4wXXwwKXtjYXNlIDI5OntnPTE4O2JyZWFrIGJ9Y2FzZSAxODp7Zz0yODti
cmVhayBifWNhc2UgMjc6Y2FzZSAyNjpjYXNlIDI1OmNhc2UgMjQ6Y2FzZSAyMjp7ZD0xO2JyZWFr
fWNhc2UgNTp7aWYoKGR8MCk8Mil7ZD0tMjticmVhayBhfWlmKCEodWJbZltnPj4yXSYxMjddKGEs
Yyl8MCkpe2c9MjE7YnJlYWsgYn1lbHNlIGQ9MjticmVha31jYXNlIDY6e2lmKChkfDApPDMpe2Q9
LTI7YnJlYWsgYX1pZighKHViW2ZbaT4+Ml0mMTI3XShhLGMpfDApKXtnPTI0O2JyZWFrIGJ9ZWxz
ZSBkPTM7YnJlYWt9Y2FzZSA3OntpZigoZHwwKTw0KXtkPS0yO2JyZWFrIGF9aWYoISh1YltmW2o+
PjJdJjEyN10oYSxjKXwwKSl7Zz0yNzticmVhayBifWVsc2UgZD00O2JyZWFrfWRlZmF1bHQ6e2c9
Mjk7YnJlYWsgYn19Yz1jK2R8MH1pZigoZ3wwKT09MTgpe2ZbZT4+Ml09YztkPTA7YnJlYWt9ZWxz
ZSBpZigoZ3wwKT09MjEpe2ZbZT4+Ml09YztkPTA7YnJlYWt9ZWxzZSBpZigoZ3wwKT09MjQpe2Zb
ZT4+Ml09YztkPTA7YnJlYWt9ZWxzZSBpZigoZ3wwKT09Mjcpe2ZbZT4+Ml09YztkPTA7YnJlYWt9
ZWxzZSBpZigoZ3wwKT09Mjgpe2ZbZT4+Ml09YysxO2Q9OTticmVha31lbHNlIGlmKChnfDApPT0y
OSl7ZltlPj4yXT1jO2Q9MDticmVha319ZWxzZSBkPS0xO3doaWxlKDApO3JldHVybiBkfDB9ZnVu
Y3Rpb24gUFgoYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxpPTAsaj0w
LGs9MCxsPTA7Zz1kLWN8MDthOmRvIGlmKChnfDApPjApe2w9YSs3MnwwO3N3aXRjaChiW2wrKGhb
Yz4+MF18MCk+PjBdfDApe2Nhc2UgMjk6e2ZbZT4+Ml09YztkPTA7YnJlYWsgYX1jYXNlIDI0OmNh
c2UgMjI6e2c9MTticmVha31jYXNlIDU6e2lmKChnfDApPDIpe2Q9LTI7YnJlYWsgYX1pZighKHVi
W2ZbYSszNDA+PjJdJjEyN10oYSxjKXwwKSl7ZltlPj4yXT1jO2Q9MDticmVhayBhfWVsc2UgZz0y
O2JyZWFrfWNhc2UgNjp7aWYoKGd8MCk8Myl7ZD0tMjticmVhayBhfWlmKCEodWJbZlthKzM0ND4+
Ml0mMTI3XShhLGMpfDApKXtmW2U+PjJdPWM7ZD0wO2JyZWFrIGF9ZWxzZSBnPTM7YnJlYWt9Y2Fz
ZSA3OntpZigoZ3wwKTw0KXtkPS0yO2JyZWFrIGF9aWYoISh1YltmW2ErMzQ4Pj4yXSYxMjddKGEs
Yyl8MCkpe2ZbZT4+Ml09YztkPTA7YnJlYWsgYX1lbHNlIGc9NDticmVha31jYXNlIDMwOmNhc2Ug
OTpjYXNlIDEwOmNhc2UgMjE6e2ZbZT4+Ml09YztkPTIyO2JyZWFrIGF9ZGVmYXVsdDp7ZltlPj4y
XT1jO2Q9MDticmVhayBhfX1pPWErMzI4fDA7aj1hKzMzMnwwO2s9YSszMzZ8MDtjPWMrZ3wwO2I6
d2hpbGUoMSl7Zz1kLWN8MDtpZigoZ3wwKTw9MCl7ZD0tMTticmVhayBhfXN3aXRjaChiW2wrKGhb
Yz4+MF18MCk+PjBdfDApe2Nhc2UgMjk6e2c9MTg7YnJlYWsgYn1jYXNlIDE4OntnPTI4O2JyZWFr
IGJ9Y2FzZSAyNzpjYXNlIDI2OmNhc2UgMjU6Y2FzZSAyNDpjYXNlIDIyOntnPTE7YnJlYWt9Y2Fz
ZSA1OntpZigoZ3wwKTwyKXtkPS0yO2JyZWFrIGF9aWYoISh1YltmW2k+PjJdJjEyN10oYSxjKXww
KSl7Zz0yMTticmVhayBifWVsc2UgZz0yO2JyZWFrfWNhc2UgNjp7aWYoKGd8MCk8Myl7ZD0tMjti
cmVhayBhfWlmKCEodWJbZltqPj4yXSYxMjddKGEsYyl8MCkpe2c9MjQ7YnJlYWsgYn1lbHNlIGc9
MzticmVha31jYXNlIDc6e2lmKChnfDApPDQpe2Q9LTI7YnJlYWsgYX1pZighKHViW2Zbaz4+Ml0m
MTI3XShhLGMpfDApKXtnPTI3O2JyZWFrIGJ9ZWxzZSBnPTQ7YnJlYWt9ZGVmYXVsdDp7Zz0yOTti
cmVhayBifX1jPWMrZ3wwfWlmKChnfDApPT0xOCl7ZltlPj4yXT1jO2Q9MDticmVha31lbHNlIGlm
KChnfDApPT0yMSl7ZltlPj4yXT1jO2Q9MDticmVha31lbHNlIGlmKChnfDApPT0yNCl7ZltlPj4y
XT1jO2Q9MDticmVha31lbHNlIGlmKChnfDApPT0yNyl7ZltlPj4yXT1jO2Q9MDticmVha31lbHNl
IGlmKChnfDApPT0yOCl7ZltlPj4yXT1jKzE7ZD0yODticmVha31lbHNlIGlmKChnfDApPT0yOSl7
ZltlPj4yXT1jO2Q9MDticmVha319ZWxzZSBkPS0xO3doaWxlKDApO3JldHVybiBkfDB9ZnVuY3Rp
b24gUVgoYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxpPTA7aT1kO2E6
ZG8gaWYoKGktY3wwKT4wKXtnPWJbYz4+MF18MDtpZihnPDwyND4+MjQ9PTEyMCl7YT1SWChhLGMr
MXwwLGQsZSl8MDticmVha31kPWErNzJ8MDtpZigoYltkKyhnJjI1NSk+PjBdfDApIT0yNSl7Zltl
Pj4yXT1jO2E9MDticmVha31iOndoaWxlKDEpe2E9YysxfDA7aWYoKGktYXwwKTw9MCl7YT0tMTti
cmVhayBhfXN3aXRjaChiW2QrKGhbYT4+MF18MCk+PjBdfDApe2Nhc2UgMjU6e2M9YTticmVha31j
YXNlIDE4OntkPTk7YnJlYWsgYn1kZWZhdWx0OntkPTEwO2JyZWFrIGJ9fX1pZigoZHwwKT09OSl7
ZltlPj4yXT1jKzI7YT0xMDticmVha31lbHNlIGlmKChkfDApPT0xMCl7ZltlPj4yXT1hO2E9MDti
cmVha319ZWxzZSBhPS0xO3doaWxlKDApO3JldHVybiBhfDB9ZnVuY3Rpb24gUlgoYSxjLGQsZSl7
YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MDthOmRvIGlmKChkLWN8MCk+MCl7YT1hKzcy
fDA7aWYoKGJbYSsoaFtjPj4wXXwwKT4+MF0mLTIpPDwyND4+MjQhPTI0KXtmW2U+PjJdPWM7ZD0w
O2JyZWFrfWI6d2hpbGUoMSl7Zz1jKzF8MDtpZigoZC1nfDApPD0wKXtkPS0xO2JyZWFrIGF9c3dp
dGNoKGJbYSsoaFtnPj4wXXwwKT4+MF18MCl7Y2FzZSAxODp7YT04O2JyZWFrIGJ9Y2FzZSAyNDpj
YXNlIDI1OmJyZWFrO2RlZmF1bHQ6e2E9OTticmVhayBifX1jPWd9aWYoKGF8MCk9PTgpe2ZbZT4+
Ml09YysyO2Q9MTA7YnJlYWt9ZWxzZSBpZigoYXwwKT09OSl7ZltlPj4yXT1nO2Q9MDticmVha319
ZWxzZSBkPS0xO3doaWxlKDApO3JldHVybiBkfDB9ZnVuY3Rpb24gU1goYSxjLGQsZSl7YT1hfDA7
Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0w
LHE9MCxyPTA7cT1kO2c9cS1jfDA7YTpkbyBpZigoZ3wwKT4wKXtwPWErNzJ8MDtzd2l0Y2goYltw
KyhoW2M+PjBdfDApPj4wXXwwKXtjYXNlIDI5OntmW2U+PjJdPWM7Zz0wO2JyZWFrIGF9Y2FzZSAy
NDpjYXNlIDIyOntnPTE7YnJlYWt9Y2FzZSA1OntpZigoZ3wwKTwyKXtnPS0yO2JyZWFrIGF9aWYo
ISh1YltmW2ErMzQwPj4yXSYxMjddKGEsYyl8MCkpe2ZbZT4+Ml09YztnPTA7YnJlYWsgYX1lbHNl
IGc9MjticmVha31jYXNlIDY6e2lmKChnfDApPDMpe2c9LTI7YnJlYWsgYX1pZighKHViW2ZbYSsz
NDQ+PjJdJjEyN10oYSxjKXwwKSl7ZltlPj4yXT1jO2c9MDticmVhayBhfWVsc2UgZz0zO2JyZWFr
fWNhc2UgNzp7aWYoKGd8MCk8NCl7Zz0tMjticmVhayBhfWlmKCEodWJbZlthKzM0OD4+Ml0mMTI3
XShhLGMpfDApKXtmW2U+PjJdPWM7Zz0wO2JyZWFrIGF9ZWxzZSBnPTQ7YnJlYWt9Y2FzZSAxNjp7
Zz1jKzF8MDtpZigocS1nfDApPD0wKXtnPS0xO2JyZWFrIGF9c3dpdGNoKGJbcCsoaFtnPj4wXXww
KT4+MF18MCl7Y2FzZSAyNzp7Zz1UWChhLGMrMnwwLGQsZSl8MDticmVhayBhfWNhc2UgMjA6e2c9
VVgoYysyfDAsZCxlKXwwO2JyZWFrIGF9ZGVmYXVsdDp7ZltlPj4yXT1nO2c9MDticmVhayBhfX19
Y2FzZSAxNTp7Zz1WWChhLGMrMXwwLGQsZSl8MDticmVhayBhfWNhc2UgMTc6e2c9V1goYSxjKzF8
MCxkLGUpfDA7YnJlYWsgYX1kZWZhdWx0OntmW2U+PjJdPWM7Zz0wO2JyZWFrIGF9fWo9YSszMjh8
MDtrPWErMzMyfDA7bD1hKzMzNnwwO209YSszNDB8MDtuPWErMzQ0fDA7bz1hKzM0OHwwO2k9MDtn
PWMrZ3wwO2I6d2hpbGUoMSl7Yz1xLWd8MDtpZigoY3wwKTw9MCl7Zz0tMTticmVhayBhfWM6ZG8g
c3dpdGNoKGJbcCsoaFtnPj4wXXwwKT4+MF18MCl7Y2FzZSAyOTp7cj0yNTticmVhayBifWNhc2Ug
MTA6Y2FzZSA5OmNhc2UgMjE6e3I9MjQ7YnJlYWsgYn1jYXNlIDExOntyPTY1O2JyZWFrIGJ9Y2Fz
ZSAxNzpicmVhayBiO2Nhc2UgMjc6Y2FzZSAyNjpjYXNlIDI1OmNhc2UgMjQ6Y2FzZSAyMjp7Yz0x
O2JyZWFrfWNhc2UgNTp7aWYoKGN8MCk8Mil7Zz0tMjticmVhayBhfWlmKCEodWJbZltqPj4yXSYx
MjddKGEsZyl8MCkpe3I9Mjg7YnJlYWsgYn1lbHNlIGM9MjticmVha31jYXNlIDY6e2lmKChjfDAp
PDMpe2c9LTI7YnJlYWsgYX1pZighKHViW2Zbaz4+Ml0mMTI3XShhLGcpfDApKXtyPTMxO2JyZWFr
IGJ9ZWxzZSBjPTM7YnJlYWt9Y2FzZSA3OntpZigoY3wwKTw0KXtnPS0yO2JyZWFrIGF9aWYoISh1
YltmW2w+PjJdJjEyN10oYSxnKXwwKSl7cj0zNDticmVhayBifWVsc2UgYz00O2JyZWFrfWNhc2Ug
MjM6e2lmKGl8MCl7cj0zNjticmVhayBifWk9ZysxfDA7Yz1xLWl8MDtpZigoY3wwKTw9MCl7Zz0t
MTticmVhayBhfXN3aXRjaChiW3ArKGhbaT4+MF18MCk+PjBdfDApe2Nhc2UgMjk6e3I9Mzk7YnJl
YWsgYn1jYXNlIDI0OmNhc2UgMjI6e2k9MTtjPTI7YnJlYWsgY31jYXNlIDU6e2lmKChjfDApPDIp
e2c9LTI7YnJlYWsgYX1pZighKHViW2ZbbT4+Ml0mMTI3XShhLGkpfDApKXtyPTQyO2JyZWFrIGJ9
ZWxzZXtpPTE7Yz0zO2JyZWFrIGN9fWNhc2UgNjp7aWYoKGN8MCk8Myl7Zz0tMjticmVhayBhfWlm
KCEodWJbZltuPj4yXSYxMjddKGEsaSl8MCkpe3I9NDU7YnJlYWsgYn1lbHNle2k9MTtjPTQ7YnJl
YWsgY319Y2FzZSA3OntpZigoY3wwKTw0KXtnPS0yO2JyZWFrIGF9aWYoISh1YltmW28+PjJdJjEy
N10oYSxpKXwwKSl7cj00ODticmVhayBifWVsc2V7aT0xO2M9NTticmVhayBjfX1kZWZhdWx0Onty
PTQ5O2JyZWFrIGJ9fX1kZWZhdWx0OntyPTcwO2JyZWFrIGJ9fXdoaWxlKDApO2c9ZytjfDB9ZDpz
d2l0Y2gocnwwKXtjYXNlIDI0OntlOndoaWxlKDEpe2k9ZysxfDA7Yz1xLWl8MDtpZigoY3wwKTw9
MCl7Zz0tMTticmVhayBhfXN3aXRjaChiW3ArKGhbaT4+MF18MCk+PjBdfDApe2Nhc2UgMTE6e2c9
aTtyPTY1O2JyZWFrIGR9Y2FzZSAxNzp7Zz1pO2JyZWFrIGR9Y2FzZSAyOTp7cj01MzticmVhayBl
fWNhc2UgMjQ6Y2FzZSAyMjp7aT0yO2JyZWFrIGV9Y2FzZSA1OntyPTU0O2JyZWFrIGV9Y2FzZSA2
OntyPTU3O2JyZWFrIGV9Y2FzZSA3OntyPTYwO2JyZWFrIGV9Y2FzZSAxMDpjYXNlIDk6Y2FzZSAy
MTpicmVhaztkZWZhdWx0OntyPTYzO2JyZWFrIGV9fWc9aX1pZigocnwwKT09NTMpe2ZbZT4+Ml09
aTtnPTA7YnJlYWsgYX1lbHNlIGlmKChyfDApPT01NCl7aWYoKGN8MCk8Mil7Zz0tMjticmVhayBh
fWlmKCEodWJbZlttPj4yXSYxMjddKGEsaSl8MCkpe2ZbZT4+Ml09aTtnPTA7YnJlYWsgYX1lbHNl
IGk9M31lbHNlIGlmKChyfDApPT01Nyl7aWYoKGN8MCk8Myl7Zz0tMjticmVhayBhfWlmKCEodWJb
ZltuPj4yXSYxMjddKGEsaSl8MCkpe2ZbZT4+Ml09aTtnPTA7YnJlYWsgYX1lbHNlIGk9NH1lbHNl
IGlmKChyfDApPT02MCl7aWYoKGN8MCk8NCl7Zz0tMjticmVhayBhfWlmKCEodWJbZltvPj4yXSYx
MjddKGEsaSl8MCkpe2ZbZT4+Ml09aTtnPTA7YnJlYWsgYX1lbHNlIGk9NX1lbHNlIGlmKChyfDAp
PT02Myl7ZltlPj4yXT1pO2c9MDticmVhayBhfWc9WFgoYSxnK2l8MCxkLGUpfDA7YnJlYWsgYX1j
YXNlIDI1OntmW2U+PjJdPWc7Zz0wO2JyZWFrIGF9Y2FzZSAyODp7ZltlPj4yXT1nO2c9MDticmVh
ayBhfWNhc2UgMzE6e2ZbZT4+Ml09ZztnPTA7YnJlYWsgYX1jYXNlIDM0OntmW2U+PjJdPWc7Zz0w
O2JyZWFrIGF9Y2FzZSAzNjp7ZltlPj4yXT1nO2c9MDticmVhayBhfWNhc2UgMzk6e2ZbZT4+Ml09
aTtnPTA7YnJlYWsgYX1jYXNlIDQyOntmW2U+PjJdPWk7Zz0wO2JyZWFrIGF9Y2FzZSA0NTp7Zltl
Pj4yXT1pO2c9MDticmVhayBhfWNhc2UgNDg6e2ZbZT4+Ml09aTtnPTA7YnJlYWsgYX1jYXNlIDQ5
OntmW2U+PjJdPWk7Zz0wO2JyZWFrIGF9Y2FzZSA3MDp7ZltlPj4yXT1nO2c9MDticmVhayBhfX1p
ZigocnwwKT09NjUpe2ZbZT4+Ml09ZysxO2c9MjticmVha31pPWcrMXwwO2lmKChxLWl8MCk+MClp
ZigoYltpPj4wXXwwKT09NjIpe2ZbZT4+Ml09ZysyO2c9NDticmVha31lbHNle2ZbZT4+Ml09aTtn
PTA7YnJlYWt9ZWxzZSBnPS0xfWVsc2UgZz0tMTt3aGlsZSgwKTtyZXR1cm4gZ3wwfWZ1bmN0aW9u
IFRYKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaT0wLGo9MCxrPTAs
bD0wO2E6ZG8gaWYoKGQtY3wwKT4wKXtpZigoYltjPj4wXXwwKSE9NDUpe2ZbZT4+Ml09YztkPTA7
YnJlYWt9aT1hKzcyfDA7aj1hKzM1MnwwO2s9YSszNTZ8MDtsPWErMzYwfDA7Zz1jKzF8MDtiOndo
aWxlKDEpe2M9ZC1nfDA7aWYoKGN8MCk8PTApe2Q9LTE7YnJlYWsgYX1zd2l0Y2goYltpKyhoW2c+
PjBdfDApPj4wXXwwKXtjYXNlIDg6Y2FzZSAxOmNhc2UgMDp7Yz0xOTticmVhayBifWNhc2UgNTp7
aWYoKGN8MCk8Mil7ZD0tMjticmVhayBhfWlmKHViW2Zbaj4+Ml0mMTI3XShhLGcpfDApe2M9OTti
cmVhayBifWM9ZysyfDA7YnJlYWt9Y2FzZSA2OntpZigoY3wwKTwzKXtkPS0yO2JyZWFrIGF9aWYo
dWJbZltrPj4yXSYxMjddKGEsZyl8MCl7Yz0xMzticmVhayBifWM9ZyszfDA7YnJlYWt9Y2FzZSA3
OntpZigoY3wwKTw0KXtkPS0yO2JyZWFrIGF9aWYodWJbZltsPj4yXSYxMjddKGEsZyl8MCl7Yz0x
NzticmVhayBifWM9Zys0fDA7YnJlYWt9Y2FzZSAyNzp7Yz1nKzF8MDtpZigoZC1jfDApPD0wKXtk
PS0xO2JyZWFrIGF9aWYoKGJbYz4+MF18MCk9PTQ1KXtjPTIzO2JyZWFrIGJ9YnJlYWt9ZGVmYXVs
dDpjPWcrMXwwfWc9Y31pZigoY3wwKT09OSl7ZltlPj4yXT1nO2Q9MDticmVha31lbHNlIGlmKChj
fDApPT0xMyl7ZltlPj4yXT1nO2Q9MDticmVha31lbHNlIGlmKChjfDApPT0xNyl7ZltlPj4yXT1n
O2Q9MDticmVha31lbHNlIGlmKChjfDApPT0xOSl7ZltlPj4yXT1nO2Q9MDticmVha31lbHNlIGlm
KChjfDApPT0yMyl7Yz1nKzJ8MDtpZigoZC1jfDApPD0wKXtkPS0xO2JyZWFrfWlmKChiW2M+PjBd
fDApPT02Mil7ZltlPj4yXT1nKzM7ZD0xMzticmVha31lbHNle2ZbZT4+Ml09YztkPTA7YnJlYWt9
fX1lbHNlIGQ9LTE7d2hpbGUoMCk7cmV0dXJuIGR8MH1mdW5jdGlvbiBVWChhLGMsZCl7YT1hfDA7
Yz1jfDA7ZD1kfDA7aWYoKGMtYXwwKT41KXtjPTA7d2hpbGUoMSl7aWYoYz4+PjA+PTYpe2M9ODti
cmVha31pZigoYlthPj4wXXwwKSE9KGJbMTUwODE1K2M+PjBdfDApKXtjPTA7YnJlYWt9Yz1jKzF8
MDthPWErMXwwfWZbZD4+Ml09YX1lbHNlIGM9LTE7cmV0dXJuIGN8MH1mdW5jdGlvbiBWWChhLGMs
ZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAs
bj0wLG89MCxwPTA7cD10O3Q9dCsxNnwwO289cDtuPWQ7ZD1uLWN8MDthOmRvIGlmKChkfDApPjAp
e209YSs3MnwwO3N3aXRjaChiW20rKGhbYz4+MF18MCk+PjBdfDApe2Nhc2UgMjk6e2ZbZT4+Ml09
YztkPTA7YnJlYWsgYX1jYXNlIDI0OmNhc2UgMjI6e2Q9MTticmVha31jYXNlIDU6e2lmKChkfDAp
PDIpe2Q9LTI7YnJlYWsgYX1pZighKHViW2ZbYSszNDA+PjJdJjEyN10oYSxjKXwwKSl7ZltlPj4y
XT1jO2Q9MDticmVhayBhfWVsc2UgZD0yO2JyZWFrfWNhc2UgNjp7aWYoKGR8MCk8Myl7ZD0tMjti
cmVhayBhfWlmKCEodWJbZlthKzM0ND4+Ml0mMTI3XShhLGMpfDApKXtmW2U+PjJdPWM7ZD0wO2Jy
ZWFrIGF9ZWxzZSBkPTM7YnJlYWt9Y2FzZSA3OntpZigoZHwwKTw0KXtkPS0yO2JyZWFrIGF9aWYo
ISh1YltmW2ErMzQ4Pj4yXSYxMjddKGEsYyl8MCkpe2ZbZT4+Ml09YztkPTA7YnJlYWsgYX1lbHNl
IGQ9NDticmVha31kZWZhdWx0OntmW2U+PjJdPWM7ZD0wO2JyZWFrIGF9fWk9YSszMjh8MDtqPWEr
MzMyfDA7az1hKzMzNnwwO2Q9YytkfDA7Yjp3aGlsZSgxKXtnPW4tZHwwO2lmKChnfDApPD0wKXtk
PS0xO2JyZWFrIGF9c3dpdGNoKGJbbSsoaFtkPj4wXXwwKT4+MF18MCl7Y2FzZSAyOTp7bD0xNzti
cmVhayBifWNhc2UgMTA6Y2FzZSA5OmNhc2UgMjE6e2w9Mjc7YnJlYWsgYn1jYXNlIDE1OntsPTUw
O2JyZWFrIGJ9Y2FzZSAyNzpjYXNlIDI2OmNhc2UgMjU6Y2FzZSAyNDpjYXNlIDIyOntnPTE7YnJl
YWt9Y2FzZSA1OntpZigoZ3wwKTwyKXtkPS0yO2JyZWFrIGF9aWYoISh1YltmW2k+PjJdJjEyN10o
YSxkKXwwKSl7bD0yMDticmVhayBifWVsc2UgZz0yO2JyZWFrfWNhc2UgNjp7aWYoKGd8MCk8Myl7
ZD0tMjticmVhayBhfWlmKCEodWJbZltqPj4yXSYxMjddKGEsZCl8MCkpe2w9MjM7YnJlYWsgYn1l
bHNlIGc9MzticmVha31jYXNlIDc6e2lmKChnfDApPDQpe2Q9LTI7YnJlYWsgYX1pZighKHViW2Zb
az4+Ml0mMTI3XShhLGQpfDApKXtsPTI2O2JyZWFrIGJ9ZWxzZSBnPTQ7YnJlYWt9ZGVmYXVsdDpi
cmVhayBifWQ9ZCtnfDB9aWYoKGx8MCk9PTE3KXtmW2U+PjJdPWQ7ZD0wO2JyZWFrfWVsc2UgaWYo
KGx8MCk9PTIwKXtmW2U+PjJdPWQ7ZD0wO2JyZWFrfWVsc2UgaWYoKGx8MCk9PTIzKXtmW2U+PjJd
PWQ7ZD0wO2JyZWFrfWVsc2UgaWYoKGx8MCk9PTI2KXtmW2U+PjJdPWQ7ZD0wO2JyZWFrfWVsc2Ug
aWYoKGx8MCk9PTI3KXtpZighKFlYKGMsZCxvKXwwKSl7ZltlPj4yXT1kO2Q9MDticmVha31pPWEr
MzUyfDA7aj1hKzM1NnwwO2s9YSszNjB8MDtkPWQrMXwwO2M6d2hpbGUoMSl7Zz1uLWR8MDtpZigo
Z3wwKTw9MCl7ZD0tMTticmVhayBhfXN3aXRjaChiW20rKGhbZD4+MF18MCk+PjBdfDApe2Nhc2Ug
ODpjYXNlIDE6Y2FzZSAwOntsPTQ0O2JyZWFrIGN9Y2FzZSA1OntpZigoZ3wwKTwyKXtkPS0yO2Jy
ZWFrIGF9aWYodWJbZltpPj4yXSYxMjddKGEsZCl8MCl7bD0zNDticmVhayBjfWQ9ZCsyfDA7YnJl
YWt9Y2FzZSA2OntpZigoZ3wwKTwzKXtkPS0yO2JyZWFrIGF9aWYodWJbZltqPj4yXSYxMjddKGEs
ZCl8MCl7bD0zODticmVhayBjfWQ9ZCszfDA7YnJlYWt9Y2FzZSA3OntpZigoZ3wwKTw0KXtkPS0y
O2JyZWFrIGF9aWYodWJbZltrPj4yXSYxMjddKGEsZCl8MCl7bD00MjticmVhayBjfWQ9ZCs0fDA7
YnJlYWt9Y2FzZSAxNTp7Zz1kKzF8MDtpZigobi1nfDApPD0wKXtkPS0xO2JyZWFrIGF9aWYoKGJb
Zz4+MF18MCk9PTYyKXtsPTQ4O2JyZWFrIGN9ZWxzZSBkPWc7YnJlYWt9ZGVmYXVsdDpkPWQrMXww
fX1pZigobHwwKT09MzQpe2ZbZT4+Ml09ZDtkPTA7YnJlYWt9ZWxzZSBpZigobHwwKT09Mzgpe2Zb
ZT4+Ml09ZDtkPTA7YnJlYWt9ZWxzZSBpZigobHwwKT09NDIpe2ZbZT4+Ml09ZDtkPTA7YnJlYWt9
ZWxzZSBpZigobHwwKT09NDQpe2ZbZT4+Ml09ZDtkPTA7YnJlYWt9ZWxzZSBpZigobHwwKT09NDgp
e2ZbZT4+Ml09ZCsyO2Q9ZltvPj4yXXwwO2JyZWFrfX1lbHNlIGlmKChsfDApPT01MCl7aWYoIShZ
WChjLGQsbyl8MCkpe2ZbZT4+Ml09ZDtkPTA7YnJlYWt9Zz1kKzF8MDtpZigobi1nfDApPD0wKXtk
PS0xO2JyZWFrfWlmKChiW2c+PjBdfDApPT02Mil7ZltlPj4yXT1kKzI7ZD1mW28+PjJdfDA7YnJl
YWt9ZWxzZSBkPWd9ZltlPj4yXT1kO2Q9MH1lbHNlIGQ9LTE7d2hpbGUoMCk7dD1wO3JldHVybiBk
fDB9ZnVuY3Rpb24gV1goYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxp
PTAsaj0wLGs9MCxsPTA7Zz1kLWN8MDthOmRvIGlmKChnfDApPjApe2w9YSs3MnwwO3N3aXRjaChi
W2wrKGhbYz4+MF18MCk+PjBdfDApe2Nhc2UgMjk6e2ZbZT4+Ml09YztkPTA7YnJlYWsgYX1jYXNl
IDI0OmNhc2UgMjI6e2c9MTticmVha31jYXNlIDU6e2lmKChnfDApPDIpe2Q9LTI7YnJlYWsgYX1p
ZighKHViW2ZbYSszNDA+PjJdJjEyN10oYSxjKXwwKSl7ZltlPj4yXT1jO2Q9MDticmVhayBhfWVs
c2UgZz0yO2JyZWFrfWNhc2UgNjp7aWYoKGd8MCk8Myl7ZD0tMjticmVhayBhfWlmKCEodWJbZlth
KzM0ND4+Ml0mMTI3XShhLGMpfDApKXtmW2U+PjJdPWM7ZD0wO2JyZWFrIGF9ZWxzZSBnPTM7YnJl
YWt9Y2FzZSA3OntpZigoZ3wwKTw0KXtkPS0yO2JyZWFrIGF9aWYoISh1YltmW2ErMzQ4Pj4yXSYx
MjddKGEsYyl8MCkpe2ZbZT4+Ml09YztkPTA7YnJlYWsgYX1lbHNlIGc9NDticmVha31kZWZhdWx0
OntmW2U+PjJdPWM7ZD0wO2JyZWFrIGF9fWk9YSszMjh8MDtqPWErMzMyfDA7az1hKzMzNnwwO2c9
YytnfDA7Yjp3aGlsZSgxKXtjPWQtZ3wwO2lmKChjfDApPD0wKXtkPS0xO2JyZWFrIGF9c3dpdGNo
KGJbbCsoaFtnPj4wXXwwKT4+MF18MCl7Y2FzZSAyOTp7aT0xODticmVhayBifWNhc2UgMTA6Y2Fz
ZSA5OmNhc2UgMjE6e2k9MTc7YnJlYWsgYn1jYXNlIDExOntpPTMzO2JyZWFrIGJ9Y2FzZSAyMzpj
YXNlIDI3OmNhc2UgMjY6Y2FzZSAyNTpjYXNlIDI0OmNhc2UgMjI6e2M9MTticmVha31jYXNlIDU6
e2lmKChjfDApPDIpe2Q9LTI7YnJlYWsgYX1pZighKHViW2ZbaT4+Ml0mMTI3XShhLGcpfDApKXtp
PTIxO2JyZWFrIGJ9ZWxzZSBjPTI7YnJlYWt9Y2FzZSA2OntpZigoY3wwKTwzKXtkPS0yO2JyZWFr
IGF9aWYoISh1YltmW2o+PjJdJjEyN10oYSxnKXwwKSl7aT0yNDticmVhayBifWVsc2UgYz0zO2Jy
ZWFrfWNhc2UgNzp7aWYoKGN8MCk8NCl7ZD0tMjticmVhayBhfWlmKCEodWJbZltrPj4yXSYxMjdd
KGEsZyl8MCkpe2k9Mjc7YnJlYWsgYn1lbHNlIGM9NDticmVha31kZWZhdWx0OntpPTM0O2JyZWFr
IGJ9fWc9ZytjfDB9aWYoKGl8MCk9PTE3KXtjOndoaWxlKDEpe2M9ZysxfDA7aWYoKGQtY3wwKTw9
MCl7ZD0tMTticmVhayBhfXN3aXRjaChiW2wrKGhbYz4+MF18MCk+PjBdfDApe2Nhc2UgMTE6e2k9
MzE7YnJlYWsgY31jYXNlIDEwOmNhc2UgOTpjYXNlIDIxOmJyZWFrO2RlZmF1bHQ6e2k9MzI7YnJl
YWsgY319Zz1jfWlmKChpfDApPT0zMSl7ZltlPj4yXT1nKzI7ZD01O2JyZWFrfWVsc2UgaWYoKGl8
MCk9PTMyKXtmW2U+PjJdPWM7ZD0wO2JyZWFrfX1lbHNlIGlmKChpfDApPT0xOCl7ZltlPj4yXT1n
O2Q9MDticmVha31lbHNlIGlmKChpfDApPT0yMSl7ZltlPj4yXT1nO2Q9MDticmVha31lbHNlIGlm
KChpfDApPT0yNCl7ZltlPj4yXT1nO2Q9MDticmVha31lbHNlIGlmKChpfDApPT0yNyl7ZltlPj4y
XT1nO2Q9MDticmVha31lbHNlIGlmKChpfDApPT0zMyl7ZltlPj4yXT1nKzE7ZD01O2JyZWFrfWVs
c2UgaWYoKGl8MCk9PTM0KXtmW2U+PjJdPWc7ZD0wO2JyZWFrfX1lbHNlIGQ9LTE7d2hpbGUoMCk7
cmV0dXJuIGR8MH1mdW5jdGlvbiBYWChhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2
YXIgZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdT0wLHY9
MCx3PTAseD0wLHk9MDt5PXQ7dD10KzE2fDA7dj15O2Zbdj4+Ml09Yzt3PWQ7cT1hKzcyfDA7cj1h
KzMyOHwwO3M9YSszMzJ8MDt1PWErMzM2fDA7az1hKzM1MnwwO2w9YSszNTZ8MDttPWErMzYwfDA7
bj1hKzM0MHwwO289YSszNDR8MDtwPWErMzQ4fDA7Zz0wO2E6d2hpbGUoMSl7aT13LWN8MDtpZigo
aXwwKTw9MCl7Yz0tMTticmVha31iOmRvIHN3aXRjaChiW3ErKGhbYz4+MF18MCk+PjBdfDApe2Nh
c2UgMjk6e3g9NjticmVhayBhfWNhc2UgMjc6Y2FzZSAyNjpjYXNlIDI1OmNhc2UgMjQ6Y2FzZSAy
Mjp7Yz1jKzF8MDtmW3Y+PjJdPWM7YnJlYWt9Y2FzZSA1OntpZigoaXwwKTwyKXtjPS0yO2JyZWFr
IGF9aWYoISh1YltmW3I+PjJdJjEyN10oYSxjKXwwKSl7eD0xMDticmVhayBhfWM9YysyfDA7Zlt2
Pj4yXT1jO2JyZWFrfWNhc2UgNjp7aWYoKGl8MCk8Myl7Yz0tMjticmVhayBhfWlmKCEodWJbZltz
Pj4yXSYxMjddKGEsYyl8MCkpe3g9MTQ7YnJlYWsgYX1jPWMrM3wwO2Zbdj4+Ml09YzticmVha31j
YXNlIDc6e2lmKChpfDApPDQpe2M9LTI7YnJlYWsgYX1pZighKHViW2ZbdT4+Ml0mMTI3XShhLGMp
fDApKXt4PTE4O2JyZWFrIGF9Yz1jKzR8MDtmW3Y+PjJdPWM7YnJlYWt9Y2FzZSAyMzp7aWYoZ3ww
KXt4PTIxO2JyZWFrIGF9Zz1jKzF8MDtmW3Y+PjJdPWc7aT13LWd8MDtpZigoaXwwKTw9MCl7Yz0t
MTticmVhayBhfXN3aXRjaChiW3ErKGhbZz4+MF18MCk+PjBdfDApe2Nhc2UgMjk6e3g9MjQ7YnJl
YWsgYX1jYXNlIDI0OmNhc2UgMjI6e2M9YysyfDA7Zlt2Pj4yXT1jO2c9MTticmVhayBifWNhc2Ug
NTp7aWYoKGl8MCk8Mil7Yz0tMjticmVhayBhfWlmKCEodWJbZltuPj4yXSYxMjddKGEsZyl8MCkp
e3g9Mjg7YnJlYWsgYX1jPWMrM3wwO2Zbdj4+Ml09YztnPTE7YnJlYWsgYn1jYXNlIDY6e2lmKChp
fDApPDMpe2M9LTI7YnJlYWsgYX1pZighKHViW2Zbbz4+Ml0mMTI3XShhLGcpfDApKXt4PTMyO2Jy
ZWFrIGF9Yz1jKzR8MDtmW3Y+PjJdPWM7Zz0xO2JyZWFrIGJ9Y2FzZSA3OntpZigoaXwwKTw0KXtj
PS0yO2JyZWFrIGF9aWYoISh1YltmW3A+PjJdJjEyN10oYSxnKXwwKSl7eD0zNjticmVhayBhfWM9
Yys1fDA7Zlt2Pj4yXT1jO2c9MTticmVhayBifWRlZmF1bHQ6e3g9Mzg7YnJlYWsgYX19fWNhc2Ug
MTA6Y2FzZSA5OmNhc2UgMjE6d2hpbGUoMSl7Yz1jKzF8MDtmW3Y+PjJdPWM7aWYoKHctY3wwKTw9
MCl7Yz0tMTticmVhayBhfXN3aXRjaChiW3ErKGhbYz4+MF18MCk+PjBdfDApe2Nhc2UgMTQ6e3g9
NTticmVhayBifWNhc2UgOTpjYXNlIDEwOmNhc2UgMjE6YnJlYWs7ZGVmYXVsdDp7eD00MjticmVh
ayBhfX19Y2FzZSAxNDp7eD01O2JyZWFrfWRlZmF1bHQ6e3g9MTAwO2JyZWFrIGF9fXdoaWxlKDAp
O2RvIGlmKCh4fDApPT01KXt4PTA7d2hpbGUoMSl7Zz1jKzF8MDtmW3Y+PjJdPWc7aWYoKHctZ3ww
KTw9MCl7Yz0tMTticmVhayBhfWo9YltxKyhoW2c+PjBdfDApPj4wXXwwO2lmKChqfDEpPDwyND4+
MjQ9PTEzKWJyZWFrO3N3aXRjaChqPDwyND4+MjQpe2Nhc2UgOTpjYXNlIDEwOmNhc2UgMjE6YnJl
YWs7ZGVmYXVsdDp7eD00NzticmVhayBhfX1jPWd9Yz1jKzJ8MDtmW3Y+PjJdPWM7d2hpbGUoMSl7
Zz13LWN8MDtpZigoZ3wwKTw9MCl7Yz0tMTticmVhayBhfWk9YltxKyhoW2M+PjBdfDApPj4wXXww
O2lmKGk8PDI0Pj4yND09ajw8MjQ+PjI0KWJyZWFrO3N3aXRjaChpPDwyND4+MjQpe2Nhc2UgODpj
YXNlIDE6Y2FzZSAwOnt4PTY0O2JyZWFrIGF9Y2FzZSAyOnt4PTcwO2JyZWFrIGF9Y2FzZSA1Ontp
ZigoZ3wwKTwyKXtjPS0yO2JyZWFrIGF9aWYodWJbZltrPj4yXSYxMjddKGEsYyl8MCl7eD01NDti
cmVhayBhfWM9YysyfDA7Zlt2Pj4yXT1jO2JyZWFrfWNhc2UgNjp7aWYoKGd8MCk8Myl7Yz0tMjti
cmVhayBhfWlmKHViW2ZbbD4+Ml0mMTI3XShhLGMpfDApe3g9NTg7YnJlYWsgYX1jPWMrM3wwO2Zb
dj4+Ml09YzticmVha31jYXNlIDc6e2lmKChnfDApPDQpe2M9LTI7YnJlYWsgYX1pZih1YltmW20+
PjJdJjEyN10oYSxjKXwwKXt4PTYyO2JyZWFrIGF9Yz1jKzR8MDtmW3Y+PjJdPWM7YnJlYWt9Y2Fz
ZSAzOntjPU9YKGEsYysxfDAsZCx2KXwwO2lmKChjfDApPDEpe3g9Njg7YnJlYWsgYX1jPWZbdj4+
Ml18MDticmVha31kZWZhdWx0OntjPWMrMXwwO2Zbdj4+Ml09Y319fWc9YysxfDA7Zlt2Pj4yXT1n
O2lmKCh3LWd8MCk8PTApe2M9LTE7YnJlYWsgYX1zd2l0Y2goYltxKyhoW2c+PjBdfDApPj4wXXww
KXtjYXNlIDExOnt4PTk0O2JyZWFrIGF9Y2FzZSAxNzp7eD05NTticmVhayBhfWNhc2UgMTA6Y2Fz
ZSA5OmNhc2UgMjE6YnJlYWs7ZGVmYXVsdDp7eD03NTticmVhayBhfX1jPWc7Yzp3aGlsZSgxKXtn
PWMrMXwwO2Zbdj4+Ml09ZztpPXctZ3wwO2lmKChpfDApPD0wKXtjPS0xO2JyZWFrIGF9c3dpdGNo
KGJbcSsoaFtnPj4wXXwwKT4+MF18MCl7Y2FzZSAyOTp7eD03OTticmVhayBhfWNhc2UgMTE6e3g9
OTQ7YnJlYWsgYX1jYXNlIDE3Ont4PTk1O2JyZWFrIGF9Y2FzZSAyNDpjYXNlIDIyOnt4PTgwO2Jy
ZWFrIGN9Y2FzZSA1Ont4PTgyO2JyZWFrIGN9Y2FzZSA2Ont4PTg2O2JyZWFrIGN9Y2FzZSA3Ont4
PTkwO2JyZWFrIGN9Y2FzZSAxMDpjYXNlIDk6Y2FzZSAyMTpicmVhaztkZWZhdWx0Ont4PTk5O2Jy
ZWFrIGF9fWM9Z31pZigoeHwwKT09ODApe3g9MDtjPWMrMnwwO2Zbdj4+Ml09YztnPTA7YnJlYWt9
ZWxzZSBpZigoeHwwKT09ODIpe3g9MDtpZigoaXwwKTwyKXtjPS0yO2JyZWFrIGF9aWYoISh1Yltm
W24+PjJdJjEyN10oYSxnKXwwKSl7eD04NDticmVhayBhfWM9YyszfDA7Zlt2Pj4yXT1jO2c9MDti
cmVha31lbHNlIGlmKCh4fDApPT04Nil7eD0wO2lmKChpfDApPDMpe2M9LTI7YnJlYWsgYX1pZigh
KHViW2Zbbz4+Ml0mMTI3XShhLGcpfDApKXt4PTg4O2JyZWFrIGF9Yz1jKzR8MDtmW3Y+PjJdPWM7
Zz0wO2JyZWFrfWVsc2UgaWYoKHh8MCk9PTkwKXt4PTA7aWYoKGl8MCk8NCl7Yz0tMjticmVhayBh
fWlmKCEodWJbZltwPj4yXSYxMjddKGEsZyl8MCkpe3g9OTI7YnJlYWsgYX1jPWMrNXwwO2Zbdj4+
Ml09YztnPTA7YnJlYWt9fXdoaWxlKDApfXN3aXRjaCh4fDApe2Nhc2UgNjp7ZltlPj4yXT1jO2M9
MDticmVha31jYXNlIDEwOntmW2U+PjJdPWM7Yz0wO2JyZWFrfWNhc2UgMTQ6e2ZbZT4+Ml09Yztj
PTA7YnJlYWt9Y2FzZSAxODp7ZltlPj4yXT1jO2M9MDticmVha31jYXNlIDIxOntmW2U+PjJdPWM7
Yz0wO2JyZWFrfWNhc2UgMjQ6e2ZbZT4+Ml09ZztjPTA7YnJlYWt9Y2FzZSAyODp7ZltlPj4yXT1n
O2M9MDticmVha31jYXNlIDMyOntmW2U+PjJdPWc7Yz0wO2JyZWFrfWNhc2UgMzY6e2ZbZT4+Ml09
ZztjPTA7YnJlYWt9Y2FzZSAzODp7ZltlPj4yXT1nO2M9MDticmVha31jYXNlIDQyOntmW2U+PjJd
PWM7Yz0wO2JyZWFrfWNhc2UgNDc6e2ZbZT4+Ml09ZztjPTA7YnJlYWt9Y2FzZSA1NDp7ZltlPj4y
XT1jO2M9MDticmVha31jYXNlIDU4OntmW2U+PjJdPWM7Yz0wO2JyZWFrfWNhc2UgNjI6e2ZbZT4+
Ml09YztjPTA7YnJlYWt9Y2FzZSA2NDp7ZltlPj4yXT1jO2M9MDticmVha31jYXNlIDY4OntpZigh
Yyl7ZltlPj4yXT1mW3Y+PjJdO2M9MH1icmVha31jYXNlIDcwOntmW2U+PjJdPWM7Yz0wO2JyZWFr
fWNhc2UgNzU6e2ZbZT4+Ml09ZztjPTA7YnJlYWt9Y2FzZSA3OTp7ZltlPj4yXT1nO2M9MDticmVh
a31jYXNlIDg0OntmW2U+PjJdPWc7Yz0wO2JyZWFrfWNhc2UgODg6e2ZbZT4+Ml09ZztjPTA7YnJl
YWt9Y2FzZSA5Mjp7ZltlPj4yXT1nO2M9MDticmVha31jYXNlIDk0OntmW2U+PjJdPWMrMjtjPTE7
YnJlYWt9Y2FzZSA5NTp7Yz1nKzF8MDtmW3Y+PjJdPWM7aWYoKHctY3wwKT4wKWlmKChiW2M+PjBd
fDApPT02Mil7ZltlPj4yXT1nKzI7Yz0zO2JyZWFrfWVsc2V7ZltlPj4yXT1jO2M9MDticmVha31l
bHNlIGM9LTE7YnJlYWt9Y2FzZSA5OTp7ZltlPj4yXT1nO2M9MDticmVha31jYXNlIDEwMDp7Zltl
Pj4yXT1jO2M9MDticmVha319dD15O3JldHVybiBjfDB9ZnVuY3Rpb24gWVgoYSxjLGQpe2E9YXww
O2M9Y3wwO2Q9ZHwwO2ZbZD4+Ml09MTE7YTpkbyBpZigoYy1hfDApPT0zKXtzd2l0Y2goYlthPj4w
XXwwKXtjYXNlIDEyMDp7Yz0wO2JyZWFrfWNhc2UgODg6e2M9MTticmVha31kZWZhdWx0OntjPTE7
YnJlYWsgYX19c3dpdGNoKGJbYSsxPj4wXXwwKXtjYXNlIDEwOTpicmVhaztjYXNlIDc3OntjPTE7
YnJlYWt9ZGVmYXVsdDp7Yz0xO2JyZWFrIGF9fXN3aXRjaChiW2ErMj4+MF18MCl7Y2FzZSAxMDg6
YnJlYWs7Y2FzZSA3Njp7Yz0wO2JyZWFrIGF9ZGVmYXVsdDp7Yz0xO2JyZWFrIGF9fWlmKCFjKXtm
W2Q+PjJdPTEyO2M9MX1lbHNlIGM9MH1lbHNlIGM9MTt3aGlsZSgwKTtyZXR1cm4gY3wwfWZ1bmN0
aW9uIFpYKGEsYyxkLGUsZyl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGk9MCxq
PTAsaz0wLGw9MCxtPTAsbj0wLG89MDtrPWMrNzJ8MDtsPWMrMzUyfDA7bT1jKzM1NnwwO249Yysz
NjB8MDthOndoaWxlKDEpe2k9ZS1kfDA7aWYoKGl8MCk8PTApe2U9LTE7YnJlYWt9aj1iW2srKGhb
ZD4+MF18MCk+PjBdfDA7c3dpdGNoKGo8PDI0Pj4yNCl7Y2FzZSA4OmNhc2UgMTpjYXNlIDA6e289
MTY7YnJlYWsgYX1jYXNlIDU6e2lmKChpfDApPDIpe2U9LTI7YnJlYWsgYX1pZih1YltmW2w+PjJd
JjEyN10oYyxkKXwwKXtvPTY7YnJlYWsgYX1kPWQrMnwwO2JyZWFrfWNhc2UgNjp7aWYoKGl8MCk8
Myl7ZT0tMjticmVhayBhfWlmKHViW2ZbbT4+Ml0mMTI3XShjLGQpfDApe289MTA7YnJlYWsgYX1k
PWQrM3wwO2JyZWFrfWNhc2UgNzp7aWYoKGl8MCk8NCl7ZT0tMjticmVhayBhfWlmKHViW2Zbbj4+
Ml0mMTI3XShjLGQpfDApe289MTQ7YnJlYWsgYX1kPWQrNHwwO2JyZWFrfWNhc2UgMTM6Y2FzZSAx
Mjp7ZD1kKzF8MDtpZigoaiYyNTV8MCk9PShhfDApKXtvPTE5O2JyZWFrIGF9YnJlYWt9ZGVmYXVs
dDpkPWQrMXwwfX1iOmRvIGlmKChvfDApPT02KXtmW2c+PjJdPWQ7ZT0wfWVsc2UgaWYoKG98MCk9
PTEwKXtmW2c+PjJdPWQ7ZT0wfWVsc2UgaWYoKG98MCk9PTE0KXtmW2c+PjJdPWQ7ZT0wfWVsc2Ug
aWYoKG98MCk9PTE2KXtmW2c+PjJdPWQ7ZT0wfWVsc2UgaWYoKG98MCk9PTE5KWlmKChlLWR8MCk+
MCl7ZltnPj4yXT1kO3N3aXRjaChiW2srKGhbZD4+MF18MCk+PjBdfDApe2Nhc2UgMjA6Y2FzZSAz
MDpjYXNlIDExOmNhc2UgMTA6Y2FzZSA5OmNhc2UgMjE6e2U9Mjc7YnJlYWsgYn1kZWZhdWx0Ont9
fWU9MH1lbHNlIGU9LTI3O3doaWxlKDApO3JldHVybiBlfDB9ZnVuY3Rpb24gX1goYSxjLGQsZSl7
YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxpPTAsaj0wO2c9ZDthOmRvIGlmKChnLWN8
MCk+MCl7aT1hKzcyfDA7c3dpdGNoKGJbaSsoaFtjPj4wXXwwKT4+MF18MCl7Y2FzZSAyNzp7YT1U
WChhLGMrMXwwLGQsZSl8MDticmVhayBhfWNhc2UgMjA6e2ZbZT4+Ml09YysxO2E9MzM7YnJlYWsg
YX1jYXNlIDI0OmNhc2UgMjI6e2I6d2hpbGUoMSl7YT1jKzF8MDtkPWctYXwwO2lmKChkfDApPD0w
KXthPS0xO2JyZWFrIGF9c3dpdGNoKGJbaSsoaFthPj4wXXwwKT4+MF18MCl7Y2FzZSAzMDp7aj0x
MDticmVhayBifWNhc2UgMTA6Y2FzZSA5OmNhc2UgMjE6YnJlYWsgYjtjYXNlIDI0OmNhc2UgMjI6
YnJlYWs7ZGVmYXVsdDp7aj0xNDticmVhayBifX1jPWF9aWYoKGp8MCk9PTE0KXtmW2U+PjJdPWE7
YT0wO2JyZWFrIGF9YzpkbyBpZigoanwwKT09MTApe2lmKChkfDApPD0xKXthPS0xO2JyZWFrIGF9
c3dpdGNoKGJbaSsoaFtjKzI+PjBdfDApPj4wXXwwKXtjYXNlIDMwOmNhc2UgMTA6Y2FzZSA5OmNh
c2UgMjE6YnJlYWs7ZGVmYXVsdDpicmVhayBjfWZbZT4+Ml09YTthPTA7YnJlYWsgYX13aGlsZSgw
KTtmW2U+PjJdPWE7YT0xNjticmVhayBhfWRlZmF1bHQ6e2ZbZT4+Ml09YzthPTA7YnJlYWsgYX19
fWVsc2UgYT0tMTt3aGlsZSgwKTtyZXR1cm4gYXwwfWZ1bmN0aW9uICRYKGEsYyxkLGUpe2E9YXww
O2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaT0wLGo9MCxrPTAsbD0wO2c9ZC1jfDA7YTpkbyBp
ZigoZ3wwKT4wKXtsPWErNzJ8MDtzd2l0Y2goYltsKyhoW2M+PjBdfDApPj4wXXwwKXtjYXNlIDI5
OntmW2U+PjJdPWM7ZD0wO2JyZWFrIGF9Y2FzZSAyNDpjYXNlIDIyOntnPTE7YnJlYWt9Y2FzZSA1
OntpZigoZ3wwKTwyKXtkPS0yO2JyZWFrIGF9aWYoISh1YltmW2ErMzQwPj4yXSYxMjddKGEsYyl8
MCkpe2ZbZT4+Ml09YztkPTA7YnJlYWsgYX1lbHNlIGc9MjticmVha31jYXNlIDY6e2lmKChnfDAp
PDMpe2Q9LTI7YnJlYWsgYX1pZighKHViW2ZbYSszNDQ+PjJdJjEyN10oYSxjKXwwKSl7ZltlPj4y
XT1jO2Q9MDticmVhayBhfWVsc2UgZz0zO2JyZWFrfWNhc2UgNzp7aWYoKGd8MCk8NCl7ZD0tMjti
cmVhayBhfWlmKCEodWJbZlthKzM0OD4+Ml0mMTI3XShhLGMpfDApKXtmW2U+PjJdPWM7ZD0wO2Jy
ZWFrIGF9ZWxzZSBnPTQ7YnJlYWt9ZGVmYXVsdDp7ZltlPj4yXT1jO2Q9MDticmVhayBhfX1pPWEr
MzI4fDA7aj1hKzMzMnwwO2s9YSszMzZ8MDtjPWMrZ3wwO2I6d2hpbGUoMSl7Zz1kLWN8MDtpZigo
Z3wwKTw9MCl7ZD0tMjA7YnJlYWsgYX1zd2l0Y2goYltsKyhoW2M+PjBdfDApPj4wXXwwKXtjYXNl
IDI5OntnPTE3O2JyZWFrIGJ9Y2FzZSAzNjpjYXNlIDMwOmNhc2UgMTE6Y2FzZSAzMjpjYXNlIDIx
OmNhc2UgMTA6Y2FzZSA5OntnPTI3O2JyZWFrIGJ9Y2FzZSAyNzpjYXNlIDI2OmNhc2UgMjU6Y2Fz
ZSAyNDpjYXNlIDIyOntnPTE7YnJlYWt9Y2FzZSA1OntpZigoZ3wwKTwyKXtkPS0yO2JyZWFrIGF9
aWYoISh1YltmW2k+PjJdJjEyN10oYSxjKXwwKSl7Zz0yMDticmVhayBifWVsc2UgZz0yO2JyZWFr
fWNhc2UgNjp7aWYoKGd8MCk8Myl7ZD0tMjticmVhayBhfWlmKCEodWJbZltqPj4yXSYxMjddKGEs
Yyl8MCkpe2c9MjM7YnJlYWsgYn1lbHNlIGc9MzticmVha31jYXNlIDc6e2lmKChnfDApPDQpe2Q9
LTI7YnJlYWsgYX1pZighKHViW2Zbaz4+Ml0mMTI3XShhLGMpfDApKXtnPTI2O2JyZWFrIGJ9ZWxz
ZSBnPTQ7YnJlYWt9ZGVmYXVsdDp7Zz0yODticmVhayBifX1jPWMrZ3wwfWlmKChnfDApPT0xNyl7
ZltlPj4yXT1jO2Q9MDticmVha31lbHNlIGlmKChnfDApPT0yMCl7ZltlPj4yXT1jO2Q9MDticmVh
a31lbHNlIGlmKChnfDApPT0yMyl7ZltlPj4yXT1jO2Q9MDticmVha31lbHNlIGlmKChnfDApPT0y
Nil7ZltlPj4yXT1jO2Q9MDticmVha31lbHNlIGlmKChnfDApPT0yNyl7ZltlPj4yXT1jO2Q9MjA7
YnJlYWt9ZWxzZSBpZigoZ3wwKT09Mjgpe2ZbZT4+Ml09YztkPTA7YnJlYWt9fWVsc2UgZD0tMTt3
aGlsZSgwKTtyZXR1cm4gZHwwfWZ1bmN0aW9uIGFZKCl7cmV0dXJuIDczODI0fWZ1bmN0aW9uIGJZ
KGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0w
O2k9dDt0PXQrMTZ8MDtnPWk7ZltnPj4yXT1jO2g9ZltiPj4yXXwwO2E9ZS0oZltkPj4yXXwwKXww
O2lmKChjLWh8MCk+KGF8MCkpe2E9aCthfDA7ZltnPj4yXT1hO2U9MX1lbHNle2U9MDthPWN9b1go
aCxnKTtoPWZbZz4+Ml18MDtjPWZbYj4+Ml18MDtnPWgtY3wwO1EzKGZbZD4+Ml18MCxjfDAsZ3ww
KXwwO2ZbYj4+Ml09KGZbYj4+Ml18MCkrZztmW2Q+PjJdPShmW2Q+PjJdfDApK2c7dD1pO3JldHVy
biAoZT8yOmg+Pj4wPGE+Pj4wJjEpfDB9ZnVuY3Rpb24gY1koYSxjLGUsZyxoKXthPWF8MDtjPWN8
MDtlPWV8MDtnPWd8MDtoPWh8MDt2YXIgaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wO2w9YSs3
MnwwO209ZTtuPWg7az1mW2M+PjJdfDA7aT1mW2c+PjJdfDA7YTp3aGlsZSgxKXthPWs+Pj4wPGU+
Pj4wO2lmKCEoaT4+PjA8aD4+PjAmYSkpe289MTM7YnJlYWt9YT1iW2s+PjBdfDA7aj1hJjI1NTtz
d2l0Y2goYltsK2o+PjBdfDApe2Nhc2UgNTp7aWYoKG0ta3wwKTwyKXthPTE7YnJlYWsgYX1kW2k+
PjFdPShhJjMxKTw8NnxiW2srMT4+MF0mNjM7YT1rKzJ8MDtpPWkrMnwwO2JyZWFrfWNhc2UgNjp7
aWYoKG0ta3wwKTwzKXthPTE7YnJlYWsgYX1kW2k+PjFdPShiW2srMT4+MF0mNjMpPDw2fGo8PDEy
fGJbaysyPj4wXSY2MzthPWsrM3wwO2k9aSsyfDA7YnJlYWt9Y2FzZSA3OntpZigobi1pfDApPDQp
e2E9MjticmVhayBhfWlmKChtLWt8MCk8NCl7YT0xO2JyZWFrIGF9YT0oKGJbaysxPj4wXSY2Myk8
PDEyfChhJjcpPDwxOHwoYltrKzI+PjBdJjYzKTw8NnxiW2srMz4+MF0mNjMpKy02NTUzNnwwO2Rb
aT4+MV09YT4+PjEwfDU1Mjk2O2RbaSsyPj4xXT1hJjEwMjN8NTYzMjA7YT1rKzR8MDtpPWkrNHww
O2JyZWFrfWRlZmF1bHQ6e2RbaT4+MV09YTw8MjQ+PjI0O2E9aysxfDA7aT1pKzJ8MH19az1hfWlm
KChvfDApPT0xMylhPWE/MjowO2ZbYz4+Ml09aztmW2c+PjJdPWk7cmV0dXJuIGF8MH1mdW5jdGlv
biBkWShhLGIpe2E9YXwwO2I9YnwwO2E9aFtiPj4wXXwwO2I9aFtiKzE+PjBdfDA7cmV0dXJuIDE8
PChiJjMxKSZmWzUzOTIwKygoKGhbNTUyMDArKGE+Pj4yJjcpPj4wXXwwKTw8M3xhPDwxJjZ8Yj4+
PjUmMSk8PDIpPj4yXXwwfWZ1bmN0aW9uIGVZKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MDtkPWhb
YysxPj4wXXwwO2E9aFtjKzI+PjBdfDA7cmV0dXJuIDE8PChhJjMxKSZmWzUzOTIwKygoKGhbNTUy
MDArKGQ+Pj4yJjE1fGJbYz4+MF08PDQmMjU1KT4+MF18MCk8PDN8ZDw8MSY2fGE+Pj41JjEpPDwy
KT4+Ml18MH1mdW5jdGlvbiBmWShhLGIpe2E9YXwwO2I9YnwwO3JldHVybiAwfWZ1bmN0aW9uIGdZ
KGEsYil7YT1hfDA7Yj1ifDA7YT1oW2I+PjBdfDA7Yj1oW2IrMT4+MF18MDtyZXR1cm4gMTw8KGIm
MzEpJmZbNTM5MjArKCgoaFs1MzY2NCsoYT4+PjImNyk+PjBdfDApPDwzfGE8PDEmNnxiPj4+NSYx
KTw8Mik+PjJdfDB9ZnVuY3Rpb24gaFkoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wO2Q9aFtjKzE+
PjBdfDA7YT1oW2MrMj4+MF18MDtyZXR1cm4gMTw8KGEmMzEpJmZbNTM5MjArKCgoaFs1MzY2NCso
ZD4+PjImMTV8YltjPj4wXTw8NCYyNTUpPj4wXXwwKTw8M3xkPDwxJjZ8YT4+PjUmMSk8PDIpPj4y
XXwwfWZ1bmN0aW9uIGlZKGEsYil7YT1hfDA7Yj1ifDA7aWYoKGhbYj4+MF18MCk8MTk0KXJldHVy
biAxO2Vsc2V7Yj1oW2IrMT4+MF18MDtyZXR1cm4gYj4+PjdeMXwoYiYxOTJ8MCk9PTE5MnwwfXJl
dHVybiAwfWZ1bmN0aW9uIGpZKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTA7YT1iW2MrMj4+
MF18MDtkbyBpZihhPDwyND4+MjQ+LTEpYT0xO2Vsc2V7ZD1iW2M+PjBdfDA7aWYoZDw8MjQ+PjI0
PT0tMTc/KGJbYysxPj4wXXwwKT09LTY1OjApaWYoKGEmMjU1KT4xODkpe2E9MTticmVha31lbHNl
e2E9MTkxO2M9LTY1O2U9OH1lbHNle2lmKChhJjI1NSk+MTkxKXthPTE7YnJlYWt9Yz1iW2MrMT4+
MF18MDthPWMmMjU1O2lmKGQ8PDI0Pj4yND09LTMyKWE9KGMmMjU1KTwxNjB8KGEmMTkyfDApPT0x
OTI7ZWxzZSBlPTh9aWYoKGV8MCk9PTgpYT0oYSYxMjh8MCk9PTA/MTpkPDwyND4+MjQ9PS0xOT8o
YyYyNTUpPjE1OTooYSYxOTJ8MCk9PTE5MjthPWEmMX13aGlsZSgwKTtyZXR1cm4gYXwwfWZ1bmN0
aW9uIGtZKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MDtkPWhbYyszPj4wXXwwO2lmKCEoKGQmMTI4
fDApPT0wfChkJjE5MnwwKT09MTkyKT8oZD1oW2MrMj4+MF18MCwhKChkJjEyOHwwKT09MHwoZCYx
OTJ8MCk9PTE5MikpOjApe2Q9YltjPj4wXXwwO2E9YltjKzE+PjBdfDA7Yz1hJjI1NTtpZihkPDwy
ND4+MjQ9PS0xNilhPShhJjI1NSk8MTQ0fChjJjE5MnwwKT09MTkyO2Vsc2UgYT0oYyYxMjh8MCk9
PTA/MTpkPDwyND4+MjQ9PS0xMj8oYSYyNTUpPjE0MzooYyYxOTJ8MCk9PTE5MjthPWEmMX1lbHNl
IGE9MTtyZXR1cm4gYXwwfWZ1bmN0aW9uIGxZKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9
ZXwwO3ZhciBnPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTA7YTpkbyBpZihjPj4+MDxkPj4+MCl7
aT1jO209ZC1pfDA7bD0obSYxfDApPT0wO209bSYtMjtuPShtfDApPT0wO209bHxuP2Q6YyttfDA7
aWYobHxuXjEpe2Q9YltjKzE+PjBdfDA7aWYoIShkPDwyND4+MjQpKXtnPWJbYz4+MF18MDtqPWc7
Zz1oW2ErNzIrKGcmMjU1KT4+MF18MH1lbHNle2c9YltjPj4wXXwwO2o9ZztnPUJZKGQsZyl8MH1k
byBzd2l0Y2goZ3wwKXtjYXNlIDEyOntkPU5ZKDEyLGEsYysyfDAsbSxlKXwwO2JyZWFrIGF9Y2Fz
ZSAxMzp7ZD1OWSgxMyxhLGMrMnwwLG0sZSl8MDticmVhayBhfWNhc2UgMjp7Zz1jKzJ8MDtpZigo
bS1nfDApPD0xKXtkPS0xO2JyZWFrIGF9ZD1iW2MrMz4+MF18MDtpZighKGQ8PDI0Pj4yNCkpZD1o
W2ErNzIrKGhbZz4+MF18MCk+PjBdfDA7ZWxzZSBkPUJZKGQsYltnPj4wXXwwKXwwO3N3aXRjaChk
fDApe2Nhc2UgMTY6e2Q9T1koYSxjKzR8MCxtLGUpfDA7YnJlYWsgYX1jYXNlIDE1OntkPUpZKGEs
Yys0fDAsbSxlKXwwO2JyZWFrIGF9Y2FzZSA3OmNhc2UgNjpjYXNlIDU6Y2FzZSAyOTpjYXNlIDI0
OmNhc2UgMjI6e2ZbZT4+Ml09YztkPTI5O2JyZWFrIGF9ZGVmYXVsdDp7ZltlPj4yXT1nO2Q9MDti
cmVhayBhfX19Y2FzZSA5OntpZigoYysyfDApPT0obXwwKSl7ZltlPj4yXT1tO2Q9LTE1O2JyZWFr
IGF9ZWxzZSBuPTIwO2JyZWFrfWNhc2UgMTA6Y2FzZSAyMTp7bj0yMDticmVha31jYXNlIDMwOntk
PURZKGEsYysyfDAsbSxlKXwwO2JyZWFrIGF9Y2FzZSAzNTp7ZltlPj4yXT1jKzI7ZD0zODticmVh
ayBhfWNhc2UgMjA6e2ZbZT4+Ml09YysyO2Q9MjU7YnJlYWsgYX1jYXNlIDQ6e2c9YysyfDA7ZD1t
LWd8MDtpZigoZHwwKTw9MSl7ZD0tMjY7YnJlYWsgYX1pZigoYltjKzM+PjBdfDApPT0wPyhiW2c+
PjBdfDApPT05MzowKXtpZigoZHwwKTw9Myl7ZD0tMTticmVhayBhfWlmKChiW2MrNT4+MF18MCk9
PTA/KGJbYys0Pj4wXXwwKT09NjI6MCl7ZltlPj4yXT1jKzY7ZD0zNDticmVhayBhfX1mW2U+PjJd
PWc7ZD0yNjticmVhayBhfWNhc2UgMzE6e2ZbZT4+Ml09YysyO2Q9MjM7YnJlYWsgYX1jYXNlIDMy
OntnPWMrMnwwO2lmKChtLWd8MCk8PTEpe2Q9LTI0O2JyZWFrIGF9ZD1iW2MrMz4+MF18MDtpZigh
KGQ8PDI0Pj4yNCkpZD1oW2ErNzIrKGhbZz4+MF18MCk+PjBdfDA7ZWxzZSBkPUJZKGQsYltnPj4w
XXwwKXwwO3N3aXRjaChkfDApe2Nhc2UgMzM6e2ZbZT4+Ml09Yys0O2Q9MzY7YnJlYWsgYX1jYXNl
IDE1OntmW2U+PjJdPWMrNDtkPTM1O2JyZWFrIGF9Y2FzZSAzNDp7ZltlPj4yXT1jKzQ7ZD0zNzti
cmVhayBhfWNhc2UgMzI6Y2FzZSAzNjpjYXNlIDM1OmNhc2UgMTE6Y2FzZSAyMTpjYXNlIDEwOmNh
c2UgOTp7ZltlPj4yXT1nO2Q9MjQ7YnJlYWsgYX1kZWZhdWx0OntmW2U+PjJdPWc7ZD0wO2JyZWFr
IGF9fX1jYXNlIDM2OntmW2U+PjJdPWMrMjtkPTIxO2JyZWFrIGF9Y2FzZSAxMTp7ZltlPj4yXT1j
KzI7ZD0xNzticmVhayBhfWNhc2UgMTk6e2Q9UFkoYSxjKzJ8MCxtLGUpfDA7YnJlYWsgYX1jYXNl
IDU6e2lmKChtLWl8MCk8Mil7ZD0tMjticmVhayBhfWZbZT4+Ml09YztkPTA7YnJlYWsgYX1jYXNl
IDY6e2lmKChtLWl8MCk8Myl7ZD0tMjticmVhayBhfWZbZT4+Ml09YztkPTA7YnJlYWsgYX1jYXNl
IDc6e2lmKChtLWl8MCk8NCl7ZD0tMjticmVhayBhfWZbZT4+Ml09YztkPTA7YnJlYWsgYX1jYXNl
IDI0OmNhc2UgMjI6e2Q9MTg7bj02NTticmVha31jYXNlIDIzOmNhc2UgMjc6Y2FzZSAyNjpjYXNl
IDI1OntkPTE5O249NjU7YnJlYWt9Y2FzZSAyOTp7aT1kJjI1NTtnPWomMjU1O2Q9Zz4+PjU7Zz0x
PDwoZyYzMSk7aWYoIShnJmZbNTM5MjArKChkfGhbNTM2NjQraT4+MF08PDMpPDwyKT4+Ml0pKWlm
KCEoZls1MzkyMCsoKGhbNTUyMDAraT4+MF08PDN8ZCk8PDIpPj4yXSZnKSluPTY0O2Vsc2V7ZD0x
OTtuPTY1fWVsc2V7ZD0xODtuPTY1fWJyZWFrfWRlZmF1bHQ6bj02NH13aGlsZSgwKTtpZigobnww
KT09MjApe2s9bTtqPWErNzJ8MDtpPWM7Yjp3aGlsZSgxKXthPWkrMnwwO2lmKChrLWF8MCk8PTEp
e249Mjk7YnJlYWt9ZD1iW2krMz4+MF18MDtnPWJbYT4+MF18MDtpZighKGQ8PDI0Pj4yNCkpZD1o
W2orKGcmMjU1KT4+MF18MDtlbHNlIGQ9QlkoZCxnKXwwO3N3aXRjaChkfDApe2Nhc2UgMTA6Y2Fz
ZSAyMTpicmVhaztjYXNlIDk6e2lmKChpKzR8MCk9PShtfDApKXtuPTI4O2JyZWFrIGJ9YnJlYWt9
ZGVmYXVsdDp7bj0yODticmVhayBifX1pPWF9aWYoKG58MCk9PTI4KXtmW2U+PjJdPWE7ZD0xNTti
cmVha31lbHNlIGlmKChufDApPT0yOSl7ZltlPj4yXT1hO2Q9MTU7YnJlYWt9fWVsc2UgaWYoKG58
MCk9PTY0KXtmW2U+PjJdPWM7ZD0wO2JyZWFrfWVsc2UgaWYoKG58MCk9PTY1KXtsPWErNzJ8MDtn
PWMrMnwwO2M6d2hpbGUoMSl7ZDp3aGlsZSgxKXtpPW0tZ3wwO2lmKChpfDApPD0xKXtuPTEwNzti
cmVhayBjfWo9YltnKzE+PjBdfDA7YT1iW2c+PjBdfDA7aWYoIShqPDwyND4+MjQpKWs9aFtsKyhh
JjI1NSk+PjBdfDA7ZWxzZSBrPUJZKGosYSl8MDtzd2l0Y2goa3wwKXtjYXNlIDU6e249NzU7YnJl
YWsgY31jYXNlIDY6e249NzY7YnJlYWsgY31jYXNlIDc6e249Nzg7YnJlYWsgY31jYXNlIDEwOmNh
c2UgOTpjYXNlIDIxOmNhc2UgMzA6Y2FzZSAyMDpjYXNlIDM2OmNhc2UgMzU6Y2FzZSAzMjpjYXNl
IDExOntuPTgwO2JyZWFrIGN9Y2FzZSAzNDp7bj05NzticmVhayBjfWNhc2UgMzM6e249MTAwO2Jy
ZWFrIGN9Y2FzZSAxNTp7bj0xMDM7YnJlYWsgY31jYXNlIDI5OntjPWEmMjU1O2lmKCEoMTw8KGMm
MzEpJmZbNTM5MjArKChjPj4+NXxoWzU1MjAwKyhqJjI1NSk+PjBdPDwzKTw8Mik+PjJdKSl7bj03
MzticmVhayBjfWVsc2Ugbj03NDticmVha31jYXNlIDI3OmNhc2UgMjY6Y2FzZSAyNTpjYXNlIDI0
OmNhc2UgMjI6e249NzQ7YnJlYWt9Y2FzZSAyMzp7az1nKzJ8MDtzd2l0Y2goZHwwKXtjYXNlIDE4
OntuPTgzO2JyZWFrIGR9Y2FzZSA0MTp7ZD0xOTtnPWs7YnJlYWsgZH1kZWZhdWx0Omc9a31icmVh
a31kZWZhdWx0OntuPTEwNjticmVhayBjfX1pZigobnwwKT09NzQpe249MDtnPWcrMnwwfX1lOmRv
IGlmKChufDApPT04Myl7bj0wO2Q9bS1rfDA7aWYoKGR8MCk8PTEpe2Q9LTE7YnJlYWsgYX1pPWJb
ZyszPj4wXXwwO2o9YltrPj4wXXwwO2lmKCEoaTw8MjQ+PjI0KSlhPWhbbCsoaiYyNTUpPj4wXXww
O2Vsc2UgYT1CWShpLGopfDA7c3dpdGNoKGF8MCl7Y2FzZSA1OntuPTkxO2JyZWFrIGN9Y2FzZSA2
OntuPTkyO2JyZWFrIGN9Y2FzZSA3OntuPTk0O2JyZWFrIGN9Y2FzZSAyOTp7Yz1qJjI1NTtpZigh
KDE8PChjJjMxKSZmWzUzOTIwKygoYz4+PjV8aFs1NTIwMCsoaSYyNTUpPj4wXTw8Myk8PDIpPj4y
XSkpe249ODk7YnJlYWsgY31icmVha31jYXNlIDI3OmNhc2UgMjY6Y2FzZSAyNTpjYXNlIDI0OmNh
c2UgMjI6YnJlYWs7ZGVmYXVsdDp7ZD0xOTtnPWs7YnJlYWsgZX19ZD00MTtnPWcrNHwwfXdoaWxl
KDApfXN3aXRjaChufDApe2Nhc2UgNzM6e2ZbZT4+Ml09ZztkPTA7YnJlYWsgYX1jYXNlIDc1Ontm
W2U+PjJdPWc7ZD0wO2JyZWFrIGF9Y2FzZSA3Njp7aWYoKGl8MCk8Myl7ZD0tMjticmVhayBhfWZb
ZT4+Ml09ZztkPTA7YnJlYWsgYX1jYXNlIDc4OntpZigoaXwwKTw0KXtkPS0yO2JyZWFrIGF9Zltl
Pj4yXT1nO2Q9MDticmVhayBhfWNhc2UgODA6e2ZbZT4+Ml09ZzticmVhayBhfWNhc2UgODk6e2Zb
ZT4+Ml09aztkPTA7YnJlYWsgYX1jYXNlIDkxOntmW2U+PjJdPWs7ZD0wO2JyZWFrIGF9Y2FzZSA5
Mjp7aWYoKGR8MCk8Myl7ZD0tMjticmVhayBhfWZbZT4+Ml09aztkPTA7YnJlYWsgYX1jYXNlIDk0
OntpZigoZHwwKTw0KXtkPS0yO2JyZWFrIGF9ZltlPj4yXT1rO2Q9MDticmVhayBhfWNhc2UgOTc6
aWYoKGR8MCk9PTE5KXtmW2U+PjJdPWc7ZD0wO2JyZWFrIGF9ZWxzZXtmW2U+PjJdPWcrMjtkPTMy
O2JyZWFrIGF9Y2FzZSAxMDA6aWYoKGR8MCk9PTE5KXtmW2U+PjJdPWc7ZD0wO2JyZWFrIGF9ZWxz
ZXtmW2U+PjJdPWcrMjtkPTMxO2JyZWFrIGF9Y2FzZSAxMDM6aWYoKGR8MCk9PTE5KXtmW2U+PjJd
PWc7ZD0wO2JyZWFrIGF9ZWxzZXtmW2U+PjJdPWcrMjtkPTMwO2JyZWFrIGF9Y2FzZSAxMDY6e2Zb
ZT4+Ml09ZztkPTA7YnJlYWsgYX1jYXNlIDEwNzp7ZD0wLWR8MDticmVhayBhfX19fWVsc2UgZD0t
MX1lbHNlIGQ9LTQ7d2hpbGUoMCk7cmV0dXJuIGR8MH1mdW5jdGlvbiBtWShhLGMsZCxlKXthPWF8
MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGk9MCxqPTAsaz0wO2E6ZG8gaWYoYz4+PjA8ZD4+
PjApe2k9YztnPWQtaXwwO2s9KGcmMXwwKT09MDtnPWcmLTI7aj0oZ3wwKT09MDtnPWt8aj9kOmMr
Z3wwO2lmKGt8al4xKXtkPWJbYysxPj4wXXwwO2lmKCEoZDw8MjQ+PjI0KSlkPWhbYSs3MisoaFtj
Pj4wXXwwKT4+MF18MDtlbHNlIGQ9QlkoZCxiW2M+PjBdfDApfDA7ZG8gc3dpdGNoKGR8MCl7Y2Fz
ZSAyOntkPUdZKGEsYysyfDAsZyxlKXwwO2JyZWFrIGF9Y2FzZSAzOntkPUNZKGEsYysyfDAsZyxl
KXwwO2JyZWFrIGF9Y2FzZSA5OntpPWMrMnwwO2lmKChnLWl8MCk8PTEpe2Q9LTM7YnJlYWsgYX1k
PWJbYyszPj4wXXwwO2lmKCEoZDw8MjQ+PjI0KSlkPWhbYSs3MisoaFtpPj4wXXwwKT4+MF18MDtl
bHNlIGQ9QlkoZCxiW2k+PjBdfDApfDA7ZltlPj4yXT0oZHwwKT09MTA/Yys0fDA6aTtkPTc7YnJl
YWsgYX1jYXNlIDEwOntmW2U+PjJdPWMrMjtkPTc7YnJlYWsgYX1jYXNlIDQ6e2Q9YysyfDA7aT1n
O2lmKChpLWR8MCk8PTEpe2Q9LTU7YnJlYWsgYX1pZigoYltjKzM+PjBdfDApPT0wPyhiW2Q+PjBd
fDApPT05MzowKXtnPWMrNHwwO2lmKChpLWd8MCk8PTEpe2Q9LTU7YnJlYWsgYX1pZigoYltjKzU+
PjBdfDApPT0wPyhiW2c+PjBdfDApPT02MjowKXtmW2U+PjJdPWc7ZD0wO2JyZWFrIGF9ZWxzZSBn
PWl9ZWxzZSBnPWk7YnJlYWt9Y2FzZSA1OntpZigoZy1pfDApPDIpe2Q9LTI7YnJlYWsgYX1kPWMr
MnwwO2JyZWFrfWNhc2UgNjp7aWYoKGctaXwwKTwzKXtkPS0yO2JyZWFrIGF9ZD1jKzN8MDticmVh
a31jYXNlIDc6e2lmKChnLWl8MCk8NCl7ZD0tMjticmVhayBhfWQ9Yys0fDA7YnJlYWt9Y2FzZSA4
OmNhc2UgMTpjYXNlIDA6e2ZbZT4+Ml09YztkPTA7YnJlYWsgYX1kZWZhdWx0OmQ9YysyfDB9d2hp
bGUoMCk7aj1hKzcyfDA7Yjp3aGlsZSgxKXthPWctZHwwO2lmKChhfDApPD0xKXtnPTUzO2JyZWFr
fWk9YltkKzE+PjBdfDA7Yz1iW2Q+PjBdfDA7aWYoIShpPDwyND4+MjQpKWk9aFtqKyhjJjI1NSk+
PjBdfDA7ZWxzZSBpPUJZKGksYyl8MDtzd2l0Y2goaXwwKXtjYXNlIDEwOmNhc2UgOTpjYXNlIDg6
Y2FzZSAxOmNhc2UgMDpjYXNlIDI6Y2FzZSAzOntnPTUxO2JyZWFrIGJ9Y2FzZSA1OntkPWQrMnww
O2JyZWFrfWNhc2UgNjp7aWYoKGF8MCk8Myl7Zz0zODticmVhayBifWQ9ZCszfDA7YnJlYWt9Y2Fz
ZSA3OntpZigoYXwwKTw0KXtnPTQxO2JyZWFrIGJ9ZD1kKzR8MDticmVha31jYXNlIDQ6e2lmKChh
fDApPD0zKXtnPTUxO2JyZWFrIGJ9aT1kKzJ8MDtpZigoYltkKzM+PjBdfDApPT0wPyhiW2k+PjBd
fDApPT05MzowKXtpZigoYXwwKTw9NSl7Zz01MTticmVhayBifWM9ZCs0fDA7aWYoKGJbZCs1Pj4w
XXwwKT09MD8oYltjPj4wXXwwKT09NjI6MCl7Zz01MDticmVhayBifWVsc2UgZD1pfWVsc2UgZD1p
O2JyZWFrfWRlZmF1bHQ6ZD1kKzJ8MH19aWYoKGd8MCk9PTM4KXtmW2U+PjJdPWQ7ZD02O2JyZWFr
fWVsc2UgaWYoKGd8MCk9PTQxKXtmW2U+PjJdPWQ7ZD02O2JyZWFrfWVsc2UgaWYoKGd8MCk9PTUw
KXtmW2U+PjJdPWM7ZD0wO2JyZWFrfWVsc2UgaWYoKGd8MCk9PTUxKXtmW2U+PjJdPWQ7ZD02O2Jy
ZWFrfWVsc2UgaWYoKGd8MCk9PTUzKXtmW2U+PjJdPWQ7ZD02O2JyZWFrfX1lbHNlIGQ9LTF9ZWxz
ZSBkPS00O3doaWxlKDApO3JldHVybiBkfDB9ZnVuY3Rpb24gblkoYSxjLGQsZSl7YT1hfDA7Yz1j
fDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxpPTAsaj0wLGs9MDthOmRvIGlmKGM+Pj4wPGQ+Pj4wKXtn
PWM7aT1kLWd8MDtrPShpJjF8MCk9PTA7aT1pJi0yO2o9KGl8MCk9PTA7aT1rfGo/ZDpjK2l8MDtp
ZihrfGpeMSl7ZD1iW2MrMT4+MF18MDtpZighKGQ8PDI0Pj4yNCkpZD1oW2ErNzIrKGhbYz4+MF18
MCk+PjBdfDA7ZWxzZSBkPUJZKGQsYltjPj4wXXwwKXwwO3N3aXRjaChkfDApe2Nhc2UgNDp7Zz1j
KzJ8MDtpZigoaS1nfDApPD0xKXtkPS0xO2JyZWFrIGF9aWYoKGJbYyszPj4wXXwwKT09MD8oYltn
Pj4wXXwwKT09OTM6MCl7ZD1jKzR8MDtpZigoaS1kfDApPD0xKXtkPS0xO2JyZWFrIGF9aWYoKGJb
Yys1Pj4wXXwwKT09MD8oYltkPj4wXXwwKT09NjI6MCl7ZltlPj4yXT1jKzY7ZD00MDticmVhayBh
fX1icmVha31jYXNlIDk6e2c9YysyfDA7aWYoKGktZ3wwKTw9MSl7ZD0tMTticmVhayBhfWQ9Yltj
KzM+PjBdfDA7aWYoIShkPDwyND4+MjQpKWQ9aFthKzcyKyhoW2c+PjBdfDApPj4wXXwwO2Vsc2Ug
ZD1CWShkLGJbZz4+MF18MCl8MDtmW2U+PjJdPShkfDApPT0xMD9jKzR8MDpnO2Q9NzticmVhayBh
fWNhc2UgMTA6e2ZbZT4+Ml09YysyO2Q9NzticmVhayBhfWNhc2UgNTp7ZD1pO2lmKChkLWd8MCk8
Mil7ZD0tMjticmVhayBhfWc9YysyfDA7aT1kO2JyZWFrfWNhc2UgNjp7ZD1pO2lmKChkLWd8MCk8
Myl7ZD0tMjticmVhayBhfWc9YyszfDA7aT1kO2JyZWFrfWNhc2UgNzp7ZD1pO2lmKChkLWd8MCk8
NCl7ZD0tMjticmVhayBhfWc9Yys0fDA7aT1kO2JyZWFrfWNhc2UgODpjYXNlIDE6Y2FzZSAwOntm
W2U+PjJdPWM7ZD0wO2JyZWFrIGF9ZGVmYXVsdDpnPWMrMnwwfWo9YSs3MnwwO2E9ZztiOndoaWxl
KDEpe2M9aS1hfDA7aWYoKGN8MCk8PTEpe2c9NDA7YnJlYWt9ZD1iW2ErMT4+MF18MDtnPWJbYT4+
MF18MDtpZighKGQ8PDI0Pj4yNCkpZD1oW2orKGcmMjU1KT4+MF18MDtlbHNlIGQ9QlkoZCxnKXww
O3N3aXRjaChkfDApe2Nhc2UgMTA6Y2FzZSA5OmNhc2UgODpjYXNlIDE6Y2FzZSAwOmNhc2UgNDp7
Zz0zODticmVhayBifWNhc2UgNjp7aWYoKGN8MCk8Myl7Zz0zNTticmVhayBifWVsc2UgZD0zO2Jy
ZWFrfWNhc2UgNzp7aWYoKGN8MCk8NCl7Zz0zNzticmVhayBifWVsc2UgZD00O2JyZWFrfWRlZmF1
bHQ6ZD0yfWE9YStkfDB9aWYoKGd8MCk9PTM1KXtmW2U+PjJdPWE7ZD02O2JyZWFrfWVsc2UgaWYo
KGd8MCk9PTM3KXtmW2U+PjJdPWE7ZD02O2JyZWFrfWVsc2UgaWYoKGd8MCk9PTM4KXtmW2U+PjJd
PWE7ZD02O2JyZWFrfWVsc2UgaWYoKGd8MCk9PTQwKXtmW2U+PjJdPWE7ZD02O2JyZWFrfX1lbHNl
IGQ9LTF9ZWxzZSBkPS00O3doaWxlKDApO3JldHVybiBkfDB9ZnVuY3Rpb24gb1koYSxjLGQsZSl7
YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxpPTAsaj0wLGs9MCxsPTA7az1kLWN8MDtr
PShrJjF8MCk9PTA/ZDpjKyhrJi0yKXwwO2o9YSs3MnwwO2k9MDtkPWM7YTp3aGlsZSgxKXtnPWst
ZHwwO2lmKChnfDApPD0xKXtkPS0xO2JyZWFrfWE9YltkKzE+PjBdfDA7Yz1iW2Q+PjBdfDA7aWYo
IShhPDwyND4+MjQpKWE9aFtqKyhjJjI1NSk+PjBdfDA7ZWxzZSBhPUJZKGEsYyl8MDtzd2l0Y2go
YXwwKXtjYXNlIDg6Y2FzZSAxOmNhc2UgMDp7bD0xMjticmVhayBhfWNhc2UgNTp7Yz1pO2Q9ZCsy
fDA7YnJlYWt9Y2FzZSA2OntpZigoZ3wwKTwzKXtkPS0yO2JyZWFrIGF9Yz1pO2Q9ZCszfDA7YnJl
YWt9Y2FzZSA3OntpZigoZ3wwKTw0KXtkPS0yO2JyZWFrIGF9Yz1pO2Q9ZCs0fDA7YnJlYWt9Y2Fz
ZSAyOnthPWQrMnwwO2lmKChrLWF8MCk8PTEpe2Q9LTE7YnJlYWsgYX1pZigoYltkKzM+PjBdfDAp
PT0wPyhiW2E+PjBdfDApPT0zMzowKXthPWQrNHwwO2lmKChrLWF8MCk8PTEpe2Q9LTE7YnJlYWsg
YX1pZighKGJbZCs1Pj4wXXwwKSl7Zz0oYlthPj4wXXwwKT09OTE7Yz1pKyhnJjEpfDA7ZD1nP2Qr
NnwwOmF9ZWxzZXtjPWk7ZD1hfX1lbHNle2M9aTtkPWF9YnJlYWt9Y2FzZSA0OnthPWQrMnwwO2lm
KChrLWF8MCk8PTEpe2Q9LTE7YnJlYWsgYX1pZigoYltkKzM+PjBdfDApPT0wPyhiW2E+PjBdfDAp
PT05MzowKXthPWQrNHwwO2lmKChrLWF8MCk8PTEpe2Q9LTE7YnJlYWsgYX1pZigoYltkKzU+PjBd
fDApPT0wPyhiW2E+PjBdfDApPT02MjowKXtkPWQrNnwwO2lmKCFpKXtsPTI3O2JyZWFrIGF9Yz1p
Ky0xfDB9ZWxzZXtjPWk7ZD1hfX1lbHNle2M9aTtkPWF9YnJlYWt9ZGVmYXVsdDp7Yz1pO2Q9ZCsy
fDB9fWk9Y31pZigobHwwKT09MTIpe2ZbZT4+Ml09ZDtkPTB9ZWxzZSBpZigobHwwKT09Mjcpe2Zb
ZT4+Ml09ZDtkPTQyfXJldHVybiBkfDB9ZnVuY3Rpb24gcFkoYSxjLGQsZSl7YT1hfDA7Yz1jfDA7
ZD1kfDA7ZT1lfDA7dmFyIGc9MCxpPTAsaj0wLGs9MCxsPTA7ZG8gaWYoYz4+PjA8ZD4+PjApe2s9
ZDtpZigoay1jfDApPjEpe2w9YSs3MnwwO2o9YzthOndoaWxlKDEpe2lmKChrLWp8MCk8PTEpe2k9
Mjk7YnJlYWt9Zz1iW2orMT4+MF18MDtpPWJbaj4+MF18MDtpZighKGc8PDI0Pj4yNCkpZz1oW2wr
KGkmMjU1KT4+MF18MDtlbHNlIGc9QlkoZyxpKXwwO3N3aXRjaChnfDApe2Nhc2UgMjE6e2k9MjU7
YnJlYWsgYX1jYXNlIDM6e2k9MTE7YnJlYWsgYX1jYXNlIDI6e2k9MTQ7YnJlYWsgYX1jYXNlIDEw
OntpPTE1O2JyZWFrIGF9Y2FzZSA5OntpPTE4O2JyZWFrIGF9Y2FzZSA2OntnPTM7YnJlYWt9Y2Fz
ZSA3OntnPTQ7YnJlYWt9ZGVmYXVsdDpnPTJ9aj1qK2d8MH1pZigoaXwwKT09MTEpaWYoKGp8MCk9
PShjfDApKXtnPUNZKGEsYysyfDAsZCxlKXwwO2JyZWFrfWVsc2V7ZltlPj4yXT1qO2c9NjticmVh
a31lbHNlIGlmKChpfDApPT0xNCl7ZltlPj4yXT1qO2c9MDticmVha31lbHNlIGlmKChpfDApPT0x
NSlpZigoanwwKT09KGN8MCkpe2ZbZT4+Ml09YysyO2c9NzticmVha31lbHNle2ZbZT4+Ml09ajtn
PTY7YnJlYWt9ZWxzZSBpZigoaXwwKT09MTgpe2lmKChqfDApIT0oY3wwKSl7ZltlPj4yXT1qO2c9
NjticmVha31qPWMrMnwwO2lmKChrLWp8MCk8PTEpe2c9LTM7YnJlYWt9Zz1iW2MrMz4+MF18MDtp
PWJbaj4+MF18MDtpZighKGc8PDI0Pj4yNCkpZz1oW2wrKGkmMjU1KT4+MF18MDtlbHNlIGc9Qlko
ZyxpKXwwO2ZbZT4+Ml09KGd8MCk9PTEwP2MrNHwwOmo7Zz03O2JyZWFrfWVsc2UgaWYoKGl8MCk9
PTI1KWlmKChqfDApPT0oY3wwKSl7ZltlPj4yXT1jKzI7Zz0zOTticmVha31lbHNle2ZbZT4+Ml09
ajtnPTY7YnJlYWt9ZWxzZSBpZigoaXwwKT09Mjkpe2ZbZT4+Ml09ajtnPTY7YnJlYWt9fWVsc2Ug
Zz0tMX1lbHNlIGc9LTQ7d2hpbGUoMCk7cmV0dXJuIGd8MH1mdW5jdGlvbiBxWShhLGMsZCxlKXth
PWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGk9MCxqPTAsaz0wLGw9MDtkbyBpZihjPj4+
MDxkPj4+MCl7az1kO2lmKChrLWN8MCk+MSl7bD1hKzcyfDA7aj1jO2E6d2hpbGUoMSl7aWYoKGst
anwwKTw9MSl7aT0yODticmVha31nPWJbaisxPj4wXXwwO2k9YltqPj4wXXwwO2lmKCEoZzw8MjQ+
PjI0KSlnPWhbbCsoaSYyNTUpPj4wXXwwO2Vsc2UgZz1CWShnLGkpfDA7c3dpdGNoKGd8MCl7Y2Fz
ZSA5OntpPTIwO2JyZWFrIGF9Y2FzZSAzOntpPTExO2JyZWFrIGF9Y2FzZSAzMDp7aT0xNDticmVh
ayBhfWNhc2UgMTA6e2k9MTc7YnJlYWsgYX1jYXNlIDY6e2c9MzticmVha31jYXNlIDc6e2c9NDti
cmVha31kZWZhdWx0Omc9Mn1qPWorZ3wwfWlmKChpfDApPT0xMSlpZigoanwwKT09KGN8MCkpe2c9
Q1koYSxjKzJ8MCxkLGUpfDA7YnJlYWt9ZWxzZXtmW2U+PjJdPWo7Zz02O2JyZWFrfWVsc2UgaWYo
KGl8MCk9PTE0KWlmKChqfDApPT0oY3wwKSl7Zz1EWShhLGMrMnwwLGQsZSl8MDtnPShnfDApPT0y
Mj8wOmc7YnJlYWt9ZWxzZXtmW2U+PjJdPWo7Zz02O2JyZWFrfWVsc2UgaWYoKGl8MCk9PTE3KWlm
KChqfDApPT0oY3wwKSl7ZltlPj4yXT1jKzI7Zz03O2JyZWFrfWVsc2V7ZltlPj4yXT1qO2c9Njti
cmVha31lbHNlIGlmKChpfDApPT0yMCl7aWYoKGp8MCkhPShjfDApKXtmW2U+PjJdPWo7Zz02O2Jy
ZWFrfWo9YysyfDA7aWYoKGstanwwKTw9MSl7Zz0tMzticmVha31nPWJbYyszPj4wXXwwO2k9Yltq
Pj4wXXwwO2lmKCEoZzw8MjQ+PjI0KSlnPWhbbCsoaSYyNTUpPj4wXXwwO2Vsc2UgZz1CWShnLGkp
fDA7ZltlPj4yXT0oZ3wwKT09MTA/Yys0fDA6ajtnPTc7YnJlYWt9ZWxzZSBpZigoaXwwKT09Mjgp
e2ZbZT4+Ml09ajtnPTY7YnJlYWt9fWVsc2UgZz0tMX1lbHNlIGc9LTQ7d2hpbGUoMCk7cmV0dXJu
IGd8MH1mdW5jdGlvbiByWShhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZj0w
LGc9MDtmPWQ7YT1jO3doaWxlKDEpe2M9YltlPj4wXXwwO2lmKCEoYzw8MjQ+PjI0KSl7Zz03O2Jy
ZWFrfWlmKChmLWF8MCk8Mil7YT0wO2JyZWFrfWlmKGJbYSsxPj4wXXwwKXthPTA7YnJlYWt9aWYo
KGJbYT4+MF18MCkhPWM8PDI0Pj4yNCl7YT0wO2JyZWFrfWU9ZSsxfDA7YT1hKzJ8MH1pZigoZ3ww
KT09NylhPShhfDApPT0oZHwwKSYxO3JldHVybiBhfDB9ZnVuY3Rpb24gc1koYSxjKXthPWF8MDtj
PWN8MDt2YXIgZD0wLGU9MCxmPTA7Zj1hKzcyfDA7ZT1jO2E6d2hpbGUoMSl7YT1iW2UrMT4+MF18
MDtkPWJbZT4+MF18MDtpZighKGE8PDI0Pj4yNCkpYT1oW2YrKGQmMjU1KT4+MF18MDtlbHNlIGE9
QlkoYSxkKXwwO3N3aXRjaChhfDApe2Nhc2UgMjc6Y2FzZSAyNjpjYXNlIDI1OmNhc2UgMjQ6Y2Fz
ZSAyMzpjYXNlIDIyOmNhc2UgMjk6Y2FzZSA1OnthPTI7YnJlYWt9Y2FzZSA2OnthPTM7YnJlYWt9
Y2FzZSA3OnthPTQ7YnJlYWt9ZGVmYXVsdDpicmVhayBhfWU9ZSthfDB9cmV0dXJuIGUtY3wwfWZ1
bmN0aW9uIHRZKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZT1hKzcyfDA7YTp3aGlsZSgx
KXthPWJbYysxPj4wXXwwO2Q9YltjPj4wXXwwO2lmKCEoYTw8MjQ+PjI0KSlhPWhbZSsoZCYyNTUp
Pj4wXXwwO2Vsc2UgYT1CWShhLGQpfDA7c3dpdGNoKGF8MCl7Y2FzZSAyMTpjYXNlIDk6Y2FzZSAx
MDpicmVhaztkZWZhdWx0OmJyZWFrIGF9Yz1jKzJ8MH1yZXR1cm4gY3wwfWZ1bmN0aW9uIHVZKGEs
YyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaT0wLGo9MCxrPTAsbD0wLG09
MCxuPTAsbz0wLHA9MDtvPWErNzJ8MDtuPTA7aT0wO2E9MTthOndoaWxlKDEpe209YysyfDA7bD1j
KzN8MDtnPWJbbD4+MF18MDtqPWc8PDI0Pj4yND09MDtrPWJbbT4+MF18MDtpZihqKWc9aFtvKyhr
JjI1NSk+PjBdfDA7ZWxzZSBnPUJZKGcsayl8MDtiOmRvIHN3aXRjaChnfDApe2Nhc2UgNTp7aWYo
IWEpaWYoKGl8MCk8KGR8MCkpe2ZbZSsoaTw8NCk+PjJdPW07YltlKyhpPDw0KSsxMj4+MF09MTtn
PW47YT0xO2M9bX1lbHNle2c9bjthPTE7Yz1tfWVsc2V7Zz1uO2M9bX1icmVha31jYXNlIDY6e2lm
KCFhKWlmKChpfDApPChkfDApKXtmW2UrKGk8PDQpPj4yXT1tO2JbZSsoaTw8NCkrMTI+PjBdPTE7
Zz1uO2E9MTtjPWx9ZWxzZXtnPW47YT0xO2M9bH1lbHNle2c9bjtjPWx9YnJlYWt9Y2FzZSA3Ontp
ZighYSlpZigoaXwwKTwoZHwwKSl7ZltlKyhpPDw0KT4+Ml09bTtiW2UrKGk8PDQpKzEyPj4wXT0x
O2E9MX1lbHNlIGE9MTtnPW47Yz1jKzR8MDticmVha31jYXNlIDI0OmNhc2UgMjI6Y2FzZSAyOTp7
aWYoIWEpaWYoKGl8MCk8KGR8MCkpe2ZbZSsoaTw8NCk+PjJdPW07YltlKyhpPDw0KSsxMj4+MF09
MTtnPW47YT0xO2M9bX1lbHNle2c9bjthPTE7Yz1tfWVsc2V7Zz1uO2M9bX1icmVha31jYXNlIDEy
OntpZigoYXwwKSE9Mil7aWYoKGl8MCk+PShkfDApKXtnPTEyO2E9MjtjPW07YnJlYWsgYn1mW2Ur
KGk8PDQpKzQ+PjJdPWMrNDtnPTEyO2E9MjtjPW07YnJlYWsgYn1pZigobnwwKT09MTIpe2lmKChp
fDApPChkfDApKWZbZSsoaTw8NCkrOD4+Ml09bTtnPTEyO2k9aSsxfDA7YT0wO2M9bX1lbHNle2c9
bjthPTI7Yz1tfWJyZWFrfWNhc2UgMTM6e2lmKChhfDApIT0yKXtpZigoaXwwKT49KGR8MCkpe2c9
MTM7YT0yO2M9bTticmVhayBifWZbZSsoaTw8NCkrND4+Ml09Yys0O2c9MTM7YT0yO2M9bTticmVh
ayBifWlmKChufDApPT0xMyl7aWYoKGl8MCk8KGR8MCkpZltlKyhpPDw0KSs4Pj4yXT1tO2c9MTM7
aT1pKzF8MDthPTA7Yz1tfWVsc2V7Zz1uO2E9MjtjPW19YnJlYWt9Y2FzZSAzOntpZigoaXwwKTwo
ZHwwKSl7YltlKyhpPDw0KSsxMj4+MF09MDtnPW47Yz1tfWVsc2V7Zz1uO2M9bX1icmVha31jYXNl
IDIxOntzd2l0Y2goYXwwKXtjYXNlIDE6e2c9bjthPTA7Yz1tO2JyZWFrIGJ9Y2FzZSAyOmJyZWFr
O2RlZmF1bHQ6e2c9bjtjPW07YnJlYWsgYn19aWYoKGl8MCk8KGR8MCk/KHA9ZSsoaTw8NCkrMTJ8
MCwoYltwPj4wXXwwKSE9MCk6MCl7ZG8gaWYoaiYobXwwKSE9KGZbZSsoaTw8NCkrND4+Ml18MCkm
azw8MjQ+PjI0PT0zMil7Zz1iW2MrNT4+MF18MDthPWJbYys0Pj4wXXwwO2lmKCEoZzw8MjQ+PjI0
KSl7aWYoYTw8MjQ+PjI0PT0zMilicmVhazthPWhbbysoYSYyNTUpPj4wXXwwfWVsc2UgYT1CWShn
LGEpfDA7aWYoKGF8MCkhPShufDApKXtnPW47YT0yO2M9bTticmVhayBifX13aGlsZSgwKTtiW3A+
PjBdPTA7Zz1uO2E9MjtjPW19ZWxzZXtnPW47YT0yO2M9bX1icmVha31jYXNlIDEwOmNhc2UgOTp7
c3dpdGNoKGF8MCl7Y2FzZSAxOntnPW47YT0wO2M9bTticmVhayBifWNhc2UgMjpicmVhaztkZWZh
dWx0OntnPW47Yz1tO2JyZWFrIGJ9fWlmKChpfDApPChkfDApKXtiW2UrKGk8PDQpKzEyPj4wXT0w
O2c9bjthPTI7Yz1tfWVsc2V7Zz1uO2E9MjtjPW19YnJlYWt9Y2FzZSAxNzpjYXNlIDExOntpZigo
YXwwKT09Mil7Zz1uO2E9MjtjPW19ZWxzZSBicmVhayBhO2JyZWFrfWRlZmF1bHQ6e2c9bjtjPW19
fXdoaWxlKDApO249Z31yZXR1cm4gaXwwfWZ1bmN0aW9uIHZZKGEsYyl7YT1hfDA7Yz1jfDA7dmFy
IGQ9MCxlPTA7YT1jKzR8MDthOmRvIGlmKChiW2MrNT4+MF18MCk9PTA/KGJbYT4+MF18MCk9PTEy
MDowKXtkPWMrNnwwO2E9MDt3aGlsZSgxKXtiOmRvIGlmKCEoYltkKzE+PjBdfDApKXtjPWJbZD4+
MF18MDtpZihjPDwyND4+MjQ9PTU5KXtlPTE2O2JyZWFrIGF9Yz1jPDwyND4+MjQ7c3dpdGNoKGN8
MCl7Y2FzZSA1NzpjYXNlIDU2OmNhc2UgNTU6Y2FzZSA1NDpjYXNlIDUzOmNhc2UgNTI6Y2FzZSA1
MTpjYXNlIDUwOmNhc2UgNDk6Y2FzZSA0ODp7YT1jKy00OHxhPDw0O2JyZWFrIGJ9Y2FzZSA3MDpj
YXNlIDY5OmNhc2UgNjg6Y2FzZSA2NzpjYXNlIDY2OmNhc2UgNjU6e2E9KGE8PDQpKy01NStjfDA7
YnJlYWsgYn1jYXNlIDEwMjpjYXNlIDEwMTpjYXNlIDEwMDpjYXNlIDk5OmNhc2UgOTg6Y2FzZSA5
Nzp7YT0oYTw8NCkrLTg3K2N8MDticmVhayBifWRlZmF1bHQ6YnJlYWsgYn19d2hpbGUoMCk7aWYo
KGF8MCk8MTExNDExMilkPWQrMnwwO2Vsc2V7YT0tMTticmVha319fWVsc2UgZT0yO3doaWxlKDAp
O2M6ZG8gaWYoKGV8MCk9PTIpe2Q9YTthPTA7d2hpbGUoMSl7aWYoIShiW2QrMT4+MF18MCkpe2M9
YltkPj4wXXwwO2lmKGM8PDI0Pj4yND09NTkpe2U9MTY7YnJlYWsgY31jPWM8PDI0Pj4yNH1lbHNl
IGM9LTE7YT0oYSoxMHwwKSstNDgrY3wwO2lmKChhfDApPj0xMTE0MTEyKXthPS0xO2JyZWFrfWVs
c2UgZD1kKzJ8MH19d2hpbGUoMCk7aWYoKGV8MCk9PTE2KWE9c1goYSl8MDtyZXR1cm4gYXwwfWZ1
bmN0aW9uIHdZKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wO2E6ZG8gc3dpdGNoKChk
LWN8MCkvMnwwfDApe2Nhc2UgMjp7aWYoKGJbYyszPj4wXXwwKT09MD8oYltjKzI+PjBdfDApPT0x
MTY6MClpZighKGJbYysxPj4wXXwwKSl7YT1iW2M+PjBdfDA7YT1hPDwyND4+MjQ9PTEwMz82Mjph
PDwyND4+MjQ9PTEwOD82MDowfWVsc2UgYT0wO2Vsc2UgZT0yNjticmVha31jYXNlIDM6e2lmKCgo
KCgoYltjKzE+PjBdfDApPT0wPyhiW2M+PjBdfDApPT05NzowKT8oYltjKzM+PjBdfDApPT0wOjAp
PyhiW2MrMj4+MF18MCk9PTEwOTowKT8oYltjKzU+PjBdfDApPT0wOjApPyhiW2MrND4+MF18MCk9
PTExMjowKWE9Mzg7ZWxzZSBlPTI2O2JyZWFrfWNhc2UgNDp7aWYoIShiW2MrMT4+MF18MCkpc3dp
dGNoKGJbYz4+MF18MCl7Y2FzZSAxMTM6e2lmKGJbYyszPj4wXXwwKXtlPTI2O2JyZWFrIGF9aWYo
KGJbYysyPj4wXXwwKSE9MTE3KXtlPTI2O2JyZWFrIGF9aWYoYltjKzU+PjBdfDApe2U9MjY7YnJl
YWsgYX1pZigoYltjKzQ+PjBdfDApIT0xMTEpe2U9MjY7YnJlYWsgYX1pZihiW2MrNz4+MF18MCl7
ZT0yNjticmVhayBhfWlmKChiW2MrNj4+MF18MCk9PTExNil7YT0zNDticmVhayBhfWVsc2V7ZT0y
NjticmVhayBhfX1jYXNlIDk3OntpZihiW2MrMz4+MF18MCl7ZT0yNjticmVhayBhfWlmKChiW2Mr
Mj4+MF18MCkhPTExMil7ZT0yNjticmVhayBhfWlmKGJbYys1Pj4wXXwwKXtlPTI2O2JyZWFrIGF9
aWYoKGJbYys0Pj4wXXwwKSE9MTExKXtlPTI2O2JyZWFrIGF9aWYoYltjKzc+PjBdfDApe2U9MjY7
YnJlYWsgYX1pZigoYltjKzY+PjBdfDApPT0xMTUpe2E9Mzk7YnJlYWsgYX1lbHNle2U9MjY7YnJl
YWsgYX19ZGVmYXVsdDp7ZT0yNjticmVhayBhfX1lbHNlIGU9MjY7YnJlYWt9ZGVmYXVsdDplPTI2
fXdoaWxlKDApO2lmKChlfDApPT0yNilhPTA7cmV0dXJuIGF8MH1mdW5jdGlvbiB4WShhLGMsZCxl
KXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGk9MCxqPTAsaz0wO2o9YSs3MnwwO2s9
ZSs0fDA7d2hpbGUoMSl7aWYoKGQtY3wwKTw9MSlicmVhazthPWJbYysxPj4wXXwwO2c9YltjPj4w
XXwwO2lmKCEoYTw8MjQ+PjI0KSlhPWhbaisoZyYyNTUpPj4wXXwwO2Vsc2UgYT1CWShhLGcpfDA7
c3dpdGNoKGF8MCl7Y2FzZSA1OntjPWMrMnwwO2JyZWFrfWNhc2UgNjp7Yz1jKzN8MDticmVha31j
YXNlIDc6e2M9Yys0fDA7YnJlYWt9Y2FzZSAxMDp7ZltrPj4yXT0tMTtmW2U+PjJdPShmW2U+PjJd
fDApKzE7Yz1jKzJ8MDticmVha31jYXNlIDk6e2ZbZT4+Ml09KGZbZT4+Ml18MCkrMTtpPWMrMnww
O2lmKChkLWl8MCk+MSl7YT1iW2MrMz4+MF18MDtnPWJbaT4+MF18MDtpZighKGE8PDI0Pj4yNCkp
YT1oW2orKGcmMjU1KT4+MF18MDtlbHNlIGE9QlkoYSxnKXwwO2M9KGF8MCk9PTEwP2MrNHwwOml9
ZWxzZSBjPWk7ZltrPj4yXT0tMTticmVha31kZWZhdWx0OmM9YysyfDB9ZltrPj4yXT0oZltrPj4y
XXwwKSsxfXJldHVybn1mdW5jdGlvbiB5WShhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8
MDt2YXIgZz0wLGk9MCxqPTAsaz0wO2o9ZCstMnwwO2k9YSs3MnwwO2Q9YzthOndoaWxlKDEpe2c9
ZCsyfDA7aWYoKGotZ3wwKTw9MSl7ZD0xO2JyZWFrfWQ9YltkKzM+PjBdfDA7YT1kPDwyND4+MjQ9
PTA7Yz1iW2c+PjBdfDA7aWYoYSlkPWhbaSsoYyYyNTUpPj4wXXwwO2Vsc2UgZD1CWShkLGMpfDA7
c3dpdGNoKGR8MCl7Y2FzZSAyMzpjYXNlIDE5OmNhc2UgMzA6Y2FzZSAzMzpjYXNlIDE2OmNhc2Ug
MTg6Y2FzZSAxMDpjYXNlIDk6Y2FzZSAxNTpjYXNlIDE0OmNhc2UgMTc6Y2FzZSAzNTpjYXNlIDM0
OmNhc2UgMzI6Y2FzZSAzMTpjYXNlIDEzOmNhc2UgMjc6Y2FzZSAyNDpjYXNlIDI1OmJyZWFrO2Nh
c2UgMjE6e2lmKGEmYzw8MjQ+PjI0PT05KXtrPTEzO2JyZWFrIGF9YnJlYWt9Y2FzZSAyMjpjYXNl
IDI2OntpZighYSl7az0xMzticmVhayBhfWlmKGM8PDI0Pj4yNDwwKWs9MTI7YnJlYWt9ZGVmYXVs
dDppZihhKWs9MTI7ZWxzZXtrPTEzO2JyZWFrIGF9fWlmKChrfDApPT0xMil7az0wO3N3aXRjaChj
PDwyND4+MjR8MCl7Y2FzZSA2NDpjYXNlIDM2OmJyZWFrO2RlZmF1bHQ6e2s9MTM7YnJlYWsgYX19
fWQ9Z31pZigoa3wwKT09MTMpe2ZbZT4+Ml09ZztkPTB9cmV0dXJuIGR8MH1mdW5jdGlvbiB6WShh
LGMsZCxlLGcpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO3ZhciBpPTAsaj0wLGs9MCxs
PTAsbT0wLG49MCxvPTA7aj1mW2M+PjJdfDA7az1qKyhkLWomLTIpfDA7bD1nO209azthOndoaWxl
KDEpe2lmKGo+Pj4wPj1rPj4+MCl7YT0wO2JyZWFrfWk9YltqPj4wXXwwO2E9YltqKzE+PjBdfDA7
ZD1hJjI1NTtzd2l0Y2goYTw8MjQ+PjI0KXtjYXNlIDA6e2lmKGk8PDI0Pj4yND4tMSl7YT1mW2U+
PjJdfDA7aWYoKGF8MCk9PShnfDApKXthPTI7YnJlYWsgYX1mW2U+PjJdPWErMTtiW2E+PjBdPWk7
YT1qfWVsc2Ugbj03O2JyZWFrfWNhc2UgNzpjYXNlIDY6Y2FzZSA1OmNhc2UgNDpjYXNlIDM6Y2Fz
ZSAyOmNhc2UgMTp7bj03O2JyZWFrfWNhc2UgLTM3OmNhc2UgLTM4OmNhc2UgLTM5OmNhc2UgLTQw
OnthPWZbZT4+Ml18MDtpZigobC1hfDApPDQpe2E9MjticmVhayBhfWlmKChtLWp8MCk8NCl7YT0x
O2JyZWFrIGF9bz1pJjI1NTtpPShkPDwyJjEyfG8+Pj42KSsxfDA7ZltlPj4yXT1hKzE7YlthPj4w
XT1pPj4+MnwyNDA7YT1mW2U+PjJdfDA7ZltlPj4yXT1hKzE7YlthPj4wXT1vPj4+MiYxNXxpPDw0
JjQ4fDEyODthPWorMnwwO2k9aFthPj4wXXwwO2Q9KG88PDQmNDh8aT4+PjZ8YltqKzM+PjBdPDwy
JjEyfDEyOCkmMjU1O2o9ZltlPj4yXXwwO2ZbZT4+Ml09aisxO2Jbaj4+MF09ZDtqPWZbZT4+Ml18
MDtmW2U+PjJdPWorMTtiW2o+PjBdPWkmNjN8MTI4O2JyZWFrfWRlZmF1bHQ6e2E9ZltlPj4yXXww
O2lmKChsLWF8MCk8Myl7YT0yO2JyZWFrIGF9ZltlPj4yXT1hKzE7YlthPj4wXT1kPj4+NHwyMjQ7
bz1pJjI1NTthPWZbZT4+Ml18MDtmW2U+PjJdPWErMTtiW2E+PjBdPW8+Pj42fGQ8PDImNjB8MTI4
O2E9ZltlPj4yXXwwO2ZbZT4+Ml09YSsxO2JbYT4+MF09byY2M3wxMjg7YT1qfX1pZigobnwwKT09
Nyl7bj0wO2E9ZltlPj4yXXwwO2lmKChsLWF8MCk8Mil7YT0yO2JyZWFrfW89aSYyNTU7ZltlPj4y
XT1hKzE7YlthPj4wXT1vPj4+NnxkPDwyfDE5MjthPWZbZT4+Ml18MDtmW2U+PjJdPWErMTtiW2E+
PjBdPW8mNjN8MTI4O2E9an1qPWErMnwwfWZbYz4+Ml09ajtyZXR1cm4gYXwwfWZ1bmN0aW9uIEFZ
KGEsYyxlLGcsaSl7YT1hfDA7Yz1jfDA7ZT1lfDA7Zz1nfDA7aT1pfDA7dmFyIGo9MCxrPTAsbD0w
O2o9ZltjPj4yXXwwO2s9ZS1qJi0yO2E9aitrfDA7aWYoKGt8MCk+KGktKGZbZz4+Ml18MCl8MCkp
e2U9YSstMnwwO2w9KGJbZSsxPj4wXSYtOCk8PDI0Pj4yND09LTQwO2s9bCYxO2E9bD9lOmF9ZWxz
ZSBrPTA7ZT1qO3doaWxlKDEpe2o9ZltnPj4yXXwwO2lmKGU+Pj4wPj1hPj4+MCl7YT0xO2JyZWFr
fWlmKGo+Pj4wPj1pPj4+MCl7YT0wO2JyZWFrfWw9KChoW2UrMT4+MF18MCk8PDh8KGhbZT4+MF18
MCkpJjY1NTM1O2ZbZz4+Ml09aisyO2Rbaj4+MV09bDtsPShmW2M+PjJdfDApKzJ8MDtmW2M+PjJd
PWw7ZT1sfXJldHVybiAoKGp8MCkhPShpfDApfGE/azoyKXwwfWZ1bmN0aW9uIEJZKGEsYil7YT1h
fDA7Yj1ifDA7dmFyIGM9MDtzd2l0Y2goYTw8MjQ+PjI0KXtjYXNlIC0zNzpjYXNlIC0zODpjYXNl
IC0zOTpjYXNlIC00MDp7YT03O2JyZWFrfWNhc2UgLTMzOmNhc2UgLTM0OmNhc2UgLTM1OmNhc2Ug
LTM2OnthPTg7YnJlYWt9Y2FzZSAtMTp7aWYoKGImMjU1KT4yNTMpYT0wO2Vsc2UgYz00O2JyZWFr
fWRlZmF1bHQ6Yz00fWlmKChjfDApPT00KWE9Mjk7cmV0dXJuIGF8MH1mdW5jdGlvbiBDWShhLGMs
ZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGk9MCxqPTAsaz0wLGw9MDtsPWQ7
aj1sLWN8MDthOmRvIGlmKChqfDApPjEpe2s9YltjKzE+PjBdfDA7aWYoIShrPDwyND4+MjQpKXtp
PWJbYz4+MF18MDtnPWhbYSs3MisoaSYyNTUpPj4wXXwwfWVsc2V7aT1iW2M+PjBdfDA7Zz1CWShr
LGkpfDB9c3dpdGNoKGd8MCl7Y2FzZSAyOTp7aj1pJjI1NTtpZighKDE8PChqJjMxKSZmWzUzOTIw
Kygoaj4+PjV8KGhbNTM2NjQrKGsmMjU1KT4+MF18MCk8PDMpPDwyKT4+Ml0pKXtmW2U+PjJdPWM7
YT0wO2JyZWFrIGF9YnJlYWt9Y2FzZSAyNDpjYXNlIDIyOmJyZWFrO2Nhc2UgNTp7ZltlPj4yXT1j
O2E9MDticmVhayBhfWNhc2UgNjp7aWYoKGp8MCk8Myl7YT0tMjticmVhayBhfWZbZT4+Ml09Yzth
PTA7YnJlYWsgYX1jYXNlIDc6e2lmKChqfDApPDQpe2E9LTI7YnJlYWsgYX1mW2U+PjJdPWM7YT0w
O2JyZWFrIGF9Y2FzZSAxOTp7YT1FWShhLGMrMnwwLGQsZSl8MDticmVhayBhfWRlZmF1bHQ6e2Zb
ZT4+Ml09YzthPTA7YnJlYWsgYX19az1hKzcyfDA7aj1jO2I6d2hpbGUoMSl7aT1qKzJ8MDtjPWwt
aXwwO2lmKChjfDApPD0xKXthPS0xO2JyZWFrIGF9YT1iW2orMz4+MF18MDtnPWJbaT4+MF18MDtp
ZighKGE8PDI0Pj4yNCkpZD1oW2srKGcmMjU1KT4+MF18MDtlbHNlIGQ9QlkoYSxnKXwwO3N3aXRj
aChkfDApe2Nhc2UgNTp7Zz0yNDticmVhayBifWNhc2UgNjp7Zz0yNTticmVhayBifWNhc2UgNzp7
Zz0yNzticmVhayBifWNhc2UgMTg6e2c9Mjk7YnJlYWsgYn1jYXNlIDI5OntjPWcmMjU1O2lmKCEo
MTw8KGMmMzEpJmZbNTM5MjArKChjPj4+NXwoaFs1NTIwMCsoYSYyNTUpPj4wXXwwKTw8Myk8PDIp
Pj4yXSkpe2c9MjM7YnJlYWsgYn1icmVha31jYXNlIDI3OmNhc2UgMjY6Y2FzZSAyNTpjYXNlIDI0
OmNhc2UgMjI6YnJlYWs7ZGVmYXVsdDp7Zz0zMDticmVhayBifX1qPWl9aWYoKGd8MCk9PTIzKXtm
W2U+PjJdPWk7YT0wO2JyZWFrfWVsc2UgaWYoKGd8MCk9PTI0KXtmW2U+PjJdPWk7YT0wO2JyZWFr
fWVsc2UgaWYoKGd8MCk9PTI1KXtpZigoY3wwKTwzKXthPS0yO2JyZWFrfWZbZT4+Ml09aTthPTA7
YnJlYWt9ZWxzZSBpZigoZ3wwKT09Mjcpe2lmKChjfDApPDQpe2E9LTI7YnJlYWt9ZltlPj4yXT1p
O2E9MDticmVha31lbHNlIGlmKChnfDApPT0yOSl7ZltlPj4yXT1qKzQ7YT05O2JyZWFrfWVsc2Ug
aWYoKGd8MCk9PTMwKXtmW2U+PjJdPWk7YT0wO2JyZWFrfX1lbHNlIGE9LTE7d2hpbGUoMCk7cmV0
dXJuIGF8MH1mdW5jdGlvbiBEWShhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIg
Zz0wLGk9MCxqPTAsaz0wLGw9MDtqPWQtY3wwO2E6ZG8gaWYoKGp8MCk+MSl7az1iW2MrMT4+MF18
MDtpZighKGs8PDI0Pj4yNCkpe2k9YltjPj4wXXwwO2c9aFthKzcyKyhpJjI1NSk+PjBdfDB9ZWxz
ZXtpPWJbYz4+MF18MDtnPUJZKGssaSl8MH1zd2l0Y2goZ3wwKXtjYXNlIDI5OntsPWkmMjU1O2lm
KCEoMTw8KGwmMzEpJmZbNTM5MjArKChsPj4+NXwoaFs1MzY2NCsoayYyNTUpPj4wXXwwKTw8Myk8
PDIpPj4yXSkpe2ZbZT4+Ml09YztkPTA7YnJlYWsgYX1icmVha31jYXNlIDI0OmNhc2UgMjI6YnJl
YWs7Y2FzZSA1OntmW2U+PjJdPWM7ZD0wO2JyZWFrIGF9Y2FzZSA2OntpZigoanwwKTwzKXtkPS0y
O2JyZWFrIGF9ZltlPj4yXT1jO2Q9MDticmVhayBhfWNhc2UgNzp7aWYoKGp8MCk8NCl7ZD0tMjti
cmVhayBhfWZbZT4+Ml09YztkPTA7YnJlYWsgYX1jYXNlIDMwOmNhc2UgOTpjYXNlIDEwOmNhc2Ug
MjE6e2ZbZT4+Ml09YztkPTIyO2JyZWFrIGF9ZGVmYXVsdDp7ZltlPj4yXT1jO2Q9MDticmVhayBh
fX1sPWErNzJ8MDthPWM7Yjp3aGlsZSgxKXtrPWErMnwwO2M9ZC1rfDA7aWYoKGN8MCk8PTEpe2Q9
LTE7YnJlYWsgYX1nPWJbYSszPj4wXXwwO2k9YltrPj4wXXwwO2lmKCEoZzw8MjQ+PjI0KSlqPWhb
bCsoaSYyNTUpPj4wXXwwO2Vsc2Ugaj1CWShnLGkpfDA7c3dpdGNoKGp8MCl7Y2FzZSA1OntnPTI0
O2JyZWFrIGJ9Y2FzZSA2OntnPTI1O2JyZWFrIGJ9Y2FzZSA3OntnPTI3O2JyZWFrIGJ9Y2FzZSAx
ODp7Zz0yOTticmVhayBifWNhc2UgMjk6e2M9aSYyNTU7aWYoISgxPDwoYyYzMSkmZls1MzkyMCso
KGM+Pj41fChoWzU1MjAwKyhnJjI1NSk+PjBdfDApPDwzKTw8Mik+PjJdKSl7Zz0yMzticmVhayBi
fWJyZWFrfWNhc2UgMjc6Y2FzZSAyNjpjYXNlIDI1OmNhc2UgMjQ6Y2FzZSAyMjpicmVhaztkZWZh
dWx0OntnPTMwO2JyZWFrIGJ9fWE9a31pZigoZ3wwKT09MjMpe2ZbZT4+Ml09aztkPTA7YnJlYWt9
ZWxzZSBpZigoZ3wwKT09MjQpe2ZbZT4+Ml09aztkPTA7YnJlYWt9ZWxzZSBpZigoZ3wwKT09MjUp
e2lmKChjfDApPDMpe2Q9LTI7YnJlYWt9ZltlPj4yXT1rO2Q9MDticmVha31lbHNlIGlmKChnfDAp
PT0yNyl7aWYoKGN8MCk8NCl7ZD0tMjticmVha31mW2U+PjJdPWs7ZD0wO2JyZWFrfWVsc2UgaWYo
KGd8MCk9PTI5KXtmW2U+PjJdPWErNDtkPTI4O2JyZWFrfWVsc2UgaWYoKGd8MCk9PTMwKXtmW2U+
PjJdPWs7ZD0wO2JyZWFrfX1lbHNlIGQ9LTE7d2hpbGUoMCk7cmV0dXJuIGR8MH1mdW5jdGlvbiBF
WShhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGk9MCxqPTAsaz0wO2s9
ZDthOmRvIGlmKChrLWN8MCk+MSl7aT1iW2MrMT4+MF18MDtnPWJbYz4+MF18MDtkbyBpZighKGk8
PDI0Pj4yNCkpaWYoZzw8MjQ+PjI0PT0xMjApe2c9RlkoYSxjKzJ8MCxkLGUpfDA7YnJlYWsgYX1l
bHNle2c9aFthKzcyKyhnJjI1NSk+PjBdfDA7YnJlYWt9ZWxzZSBnPUJZKGksZyl8MDt3aGlsZSgw
KTtpZigoZ3wwKSE9MjUpe2ZbZT4+Ml09YztnPTA7YnJlYWt9aj1hKzcyfDA7YT1jO2I6d2hpbGUo
MSl7aT1hKzJ8MDtpZigoay1pfDApPD0xKXtnPS0xO2JyZWFrIGF9Zz1iW2ErMz4+MF18MDtkPWJb
aT4+MF18MDtpZighKGc8PDI0Pj4yNCkpZz1oW2orKGQmMjU1KT4+MF18MDtlbHNlIGc9QlkoZyxk
KXwwO3N3aXRjaChnfDApe2Nhc2UgMjU6e2E9aTticmVha31jYXNlIDE4OntkPTE1O2JyZWFrIGJ9
ZGVmYXVsdDp7ZD0xNjticmVhayBifX19aWYoKGR8MCk9PTE1KXtmW2U+PjJdPWErNDtnPTEwO2Jy
ZWFrfWVsc2UgaWYoKGR8MCk9PTE2KXtmW2U+PjJdPWk7Zz0wO2JyZWFrfX1lbHNlIGc9LTE7d2hp
bGUoMCk7cmV0dXJuIGd8MH1mdW5jdGlvbiBGWShhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtl
PWV8MDt2YXIgZz0wLGk9MCxqPTA7YTpkbyBpZigoZC1jfDApPjEpe2c9YltjKzE+PjBdfDA7aWYo
IShnPDwyND4+MjQpKWc9aFthKzcyKyhoW2M+PjBdfDApPj4wXXwwO2Vsc2UgZz1CWShnLGJbYz4+
MF18MCl8MDtpZigoZyYtMnwwKSE9MjQpe2ZbZT4+Ml09YztkPTA7YnJlYWt9aj1hKzcyfDA7Yjp3
aGlsZSgxKXtpPWMrMnwwO2lmKChkLWl8MCk8PTEpe2Q9LTE7YnJlYWsgYX1nPWJbYyszPj4wXXww
O2E9YltpPj4wXXwwO2lmKCEoZzw8MjQ+PjI0KSlnPWhbaisoYSYyNTUpPj4wXXwwO2Vsc2UgZz1C
WShnLGEpfDA7c3dpdGNoKGd8MCl7Y2FzZSAxODp7Zz0xNDticmVhayBifWNhc2UgMjQ6Y2FzZSAy
NTpicmVhaztkZWZhdWx0OntnPTE1O2JyZWFrIGJ9fWM9aX1pZigoZ3wwKT09MTQpe2ZbZT4+Ml09
Yys0O2Q9MTA7YnJlYWt9ZWxzZSBpZigoZ3wwKT09MTUpe2ZbZT4+Ml09aTtkPTA7YnJlYWt9fWVs
c2UgZD0tMTt3aGlsZSgwKTtyZXR1cm4gZHwwfWZ1bmN0aW9uIEdZKGEsYyxkLGUpe2E9YXwwO2M9
Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wO289ZDtq
PW8tY3wwO2E6ZG8gaWYoKGp8MCk+MSl7az1iW2MrMT4+MF18MDtpZighKGs8PDI0Pj4yNCkpe2k9
YltjPj4wXXwwO2c9aFthKzcyKyhpJjI1NSk+PjBdfDB9ZWxzZXtpPWJbYz4+MF18MDtnPUJZKGss
aSl8MH1zd2l0Y2goZ3wwKXtjYXNlIDI5OnttPWkmMjU1O2lmKCEoMTw8KG0mMzEpJmZbNTM5MjAr
KChtPj4+NXxoWzUzNjY0KyhrJjI1NSk+PjBdPDwzKTw8Mik+PjJdKSl7ZltlPj4yXT1jO2c9MDti
cmVhayBhfWJyZWFrfWNhc2UgMjQ6Y2FzZSAyMjpicmVhaztjYXNlIDU6e2ZbZT4+Ml09YztnPTA7
YnJlYWsgYX1jYXNlIDY6e2lmKChqfDApPDMpe2c9LTI7YnJlYWsgYX1mW2U+PjJdPWM7Zz0wO2Jy
ZWFrIGF9Y2FzZSA3OntpZigoanwwKTw0KXtnPS0yO2JyZWFrIGF9ZltlPj4yXT1jO2c9MDticmVh
ayBhfWNhc2UgMTY6e2k9YysyfDA7aWYoKG8taXwwKTw9MSl7Zz0tMTticmVhayBhfWc9YltjKzM+
PjBdfDA7aWYoIShnPDwyND4+MjQpKWc9aFthKzcyKyhoW2k+PjBdfDApPj4wXXwwO2Vsc2UgZz1C
WShnLGJbaT4+MF18MCl8MDtzd2l0Y2goZ3wwKXtjYXNlIDI3OntnPUhZKGEsYys0fDAsZCxlKXww
O2JyZWFrIGF9Y2FzZSAyMDp7Zz1JWShjKzR8MCxkLGUpfDA7YnJlYWsgYX1kZWZhdWx0OntmW2U+
PjJdPWk7Zz0wO2JyZWFrIGF9fX1jYXNlIDE1OntnPUpZKGEsYysyfDAsZCxlKXwwO2JyZWFrIGF9
Y2FzZSAxNzp7Zz1LWShhLGMrMnwwLGQsZSl8MDticmVhayBhfWRlZmF1bHQ6e2ZbZT4+Ml09Yztn
PTA7YnJlYWsgYX19bT1hKzcyfDA7aT0wO2c9YysyfDA7Yjp3aGlsZSgxKXtqPW8tZ3wwO2lmKChq
fDApPD0xKXtnPS0xO2JyZWFrIGF9az1iW2crMT4+MF18MDtjPWJbZz4+MF18MDtpZighKGs8PDI0
Pj4yNCkpbD1oW20rKGMmMjU1KT4+MF18MDtlbHNlIGw9QlkoayxjKXwwO2M6ZG8gc3dpdGNoKGx8
MCl7Y2FzZSA1OntuPTMzO2JyZWFrIGJ9Y2FzZSA2OntuPTM0O2JyZWFrIGJ9Y2FzZSA3OntuPTM2
O2JyZWFrIGJ9Y2FzZSAxMDpjYXNlIDk6Y2FzZSAyMTp7bj0zMDticmVhayBifWNhc2UgMTE6e249
Njg7YnJlYWsgYn1jYXNlIDE3OmJyZWFrIGI7Y2FzZSAyOTp7bD1jJjI1NTtpZighKDE8PChsJjMx
KSZmWzUzOTIwKygobD4+PjV8aFs1NTIwMCsoayYyNTUpPj4wXTw8Myk8PDIpPj4yXSkpe249MzI7
YnJlYWsgYn1lbHNlIGo9MjticmVha31jYXNlIDI3OmNhc2UgMjY6Y2FzZSAyNTpjYXNlIDI0OmNh
c2UgMjI6e2o9MjticmVha31jYXNlIDIzOntpZihpfDApe249Mzk7YnJlYWsgYn1rPWcrMnwwO2M9
by1rfDA7aWYoKGN8MCk8PTEpe2c9LTE7YnJlYWsgYX1sPWJbZyszPj4wXXwwO2k9YltrPj4wXXww
O2lmKCEobDw8MjQ+PjI0KSlqPWhbbSsoaSYyNTUpPj4wXXwwO2Vsc2Ugaj1CWShsLGkpfDA7c3dp
dGNoKGp8MCl7Y2FzZSA1OntuPTQ3O2JyZWFrIGJ9Y2FzZSA2OntuPTQ4O2JyZWFrIGJ9Y2FzZSA3
OntuPTUwO2JyZWFrIGJ9Y2FzZSAyNDpjYXNlIDIyOntpPTE7aj00O2JyZWFrIGN9Y2FzZSAyOTpi
cmVhaztkZWZhdWx0OntuPTUyO2JyZWFrIGJ9fWM9aSYyNTU7aWYoISgxPDwoYyYzMSkmZls1Mzky
MCsoKGM+Pj41fGhbNTM2NjQrKGwmMjU1KT4+MF08PDMpPDwyKT4+Ml0pKXtuPTQ2O2JyZWFrIGJ9
ZWxzZXtpPTE7aj00fWJyZWFrfWRlZmF1bHQ6e249NzQ7YnJlYWsgYn19d2hpbGUoMCk7Zz1nK2p8
MH1kOnN3aXRjaChufDApe2Nhc2UgMzA6e2U6d2hpbGUoMSl7aT1nKzJ8MDtqPW8taXwwO2lmKChq
fDApPD0xKXtnPS0xO2JyZWFrIGF9az1iW2crMz4+MF18MDtjPWJbaT4+MF18MDtpZighKGs8PDI0
Pj4yNCkpbD1oW20rKGMmMjU1KT4+MF18MDtlbHNlIGw9QlkoayxjKXwwO3N3aXRjaChsfDApe2Nh
c2UgMTE6e2c9aTtuPTY4O2JyZWFrIGR9Y2FzZSAxNzp7Zz1pO2JyZWFrIGR9Y2FzZSAyOTp7bj01
OTticmVhayBlfWNhc2UgMjQ6Y2FzZSAyMjpicmVhayBlO2Nhc2UgNTp7bj02MjticmVhayBlfWNh
c2UgNjp7bj02MzticmVhayBlfWNhc2UgNzp7bj02NTticmVhayBlfWNhc2UgMTA6Y2FzZSA5OmNh
c2UgMjE6YnJlYWs7ZGVmYXVsdDp7bj02NzticmVhayBlfX1nPWl9aWYoKG58MCk9PTU5KXtvPWMm
MjU1O2lmKCEoMTw8KG8mMzEpJmZbNTM5MjArKChvPj4+NXxoWzUzNjY0KyhrJjI1NSk+PjBdPDwz
KTw8Mik+PjJdKSl7ZltlPj4yXT1pO2c9MDticmVhayBhfX1lbHNlIGlmKChufDApPT02Mil7Zltl
Pj4yXT1pO2c9MDticmVhayBhfWVsc2UgaWYoKG58MCk9PTYzKXtpZigoanwwKTwzKXtnPS0yO2Jy
ZWFrIGF9ZltlPj4yXT1pO2c9MDticmVhayBhfWVsc2UgaWYoKG58MCk9PTY1KXtpZigoanwwKTw0
KXtnPS0yO2JyZWFrIGF9ZltlPj4yXT1pO2c9MDticmVhayBhfWVsc2UgaWYoKG58MCk9PTY3KXtm
W2U+PjJdPWk7Zz0wO2JyZWFrIGF9Zz1MWShhLGcrNHwwLGQsZSl8MDticmVhayBhfWNhc2UgMzI6
e2ZbZT4+Ml09ZztnPTA7YnJlYWsgYX1jYXNlIDMzOntmW2U+PjJdPWc7Zz0wO2JyZWFrIGF9Y2Fz
ZSAzNDp7aWYoKGp8MCk8Myl7Zz0tMjticmVhayBhfWZbZT4+Ml09ZztnPTA7YnJlYWsgYX1jYXNl
IDM2OntpZigoanwwKTw0KXtnPS0yO2JyZWFrIGF9ZltlPj4yXT1nO2c9MDticmVhayBhfWNhc2Ug
Mzk6e2ZbZT4+Ml09ZztnPTA7YnJlYWsgYX1jYXNlIDQ2OntmW2U+PjJdPWs7Zz0wO2JyZWFrIGF9
Y2FzZSA0Nzp7ZltlPj4yXT1rO2c9MDticmVhayBhfWNhc2UgNDg6e2lmKChjfDApPDMpe2c9LTI7
YnJlYWsgYX1mW2U+PjJdPWs7Zz0wO2JyZWFrIGF9Y2FzZSA1MDp7aWYoKGN8MCk8NCl7Zz0tMjti
cmVhayBhfWZbZT4+Ml09aztnPTA7YnJlYWsgYX1jYXNlIDUyOntmW2U+PjJdPWs7Zz0wO2JyZWFr
IGF9Y2FzZSA3NDp7ZltlPj4yXT1nO2c9MDticmVhayBhfX1pZigobnwwKT09Njgpe2ZbZT4+Ml09
ZysyO2c9MjticmVha31pPWcrMnwwO2lmKChvLWl8MCk+MSl7aWYoKGJbZyszPj4wXXwwKT09MD8o
YltpPj4wXXwwKT09NjI6MCl7ZltlPj4yXT1nKzQ7Zz00O2JyZWFrfWZbZT4+Ml09aTtnPTB9ZWxz
ZSBnPS0xfWVsc2UgZz0tMTt3aGlsZSgwKTtyZXR1cm4gZ3wwfWZ1bmN0aW9uIEhZKGEsYyxkLGUp
e2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaT0wLGo9MCxrPTA7aj1kO2E6ZG8gaWYo
KGotY3wwKT4xKXtpZigoYltjKzE+PjBdfDApPT0wPyhiW2M+PjBdfDApPT00NTowKXtpPWErNzJ8
MDtnPWMrMnwwO2I6d2hpbGUoMSl7Yz1qLWd8MDtpZigoY3wwKTw9MSl7ZD0tMTticmVhayBhfWQ9
YltnKzE+PjBdfDA7YT1iW2c+PjBdfDA7aWYoIShkPDwyND4+MjQpKWQ9aFtpKyhhJjI1NSk+PjBd
fDA7ZWxzZSBkPUJZKGQsYSl8MDtzd2l0Y2goZHwwKXtjYXNlIDg6Y2FzZSAxOmNhc2UgMDp7az0x
NjticmVhayBifWNhc2UgNTp7ZD1nKzJ8MDticmVha31jYXNlIDY6e2lmKChjfDApPDMpe2Q9LTI7
YnJlYWsgYX1kPWcrM3wwO2JyZWFrfWNhc2UgNzp7aWYoKGN8MCk8NCl7ZD0tMjticmVhayBhfWQ9
Zys0fDA7YnJlYWt9Y2FzZSAyNzp7ZD1nKzJ8MDtpZigoai1kfDApPD0xKXtkPS0xO2JyZWFrIGF9
aWYoKGJbZyszPj4wXXwwKT09MD8oYltkPj4wXXwwKT09NDU6MClicmVhayBiO2JyZWFrfWRlZmF1
bHQ6ZD1nKzJ8MH1nPWR9aWYoKGt8MCk9PTE2KXtmW2U+PjJdPWc7ZD0wO2JyZWFrfWQ9Zys0fDA7
aWYoKGotZHwwKTw9MSl7ZD0tMTticmVha31pZigoYltnKzU+PjBdfDApPT0wPyhiW2Q+PjBdfDAp
PT02MjowKXtmW2U+PjJdPWcrNjtkPTEzO2JyZWFrfWZbZT4+Ml09ZDtkPTA7YnJlYWt9ZltlPj4y
XT1jO2Q9MH1lbHNlIGQ9LTE7d2hpbGUoMCk7cmV0dXJuIGR8MH1mdW5jdGlvbiBJWShhLGMsZCl7
YT1hfDA7Yz1jfDA7ZD1kfDA7aWYoKGMtYXwwKT4xMSl7Yz0wO3doaWxlKDEpe2lmKGM+Pj4wPj02
KXtjPTg7YnJlYWt9aWYoYlthKzE+PjBdfDApe2M9MDticmVha31pZigoYlthPj4wXXwwKSE9KGJb
MTUwODE1K2M+PjBdfDApKXtjPTA7YnJlYWt9Yz1jKzF8MDthPWErMnwwfWZbZD4+Ml09YX1lbHNl
IGM9LTE7cmV0dXJuIGN8MH0KK2Z1bmN0aW9uIGVNKGEsYixjLGQsZSxnKXthPWF8MDtiPWJ8MDtj
PWN8MDtkPStkO2U9ZXwwO2c9Z3wwO3ZhciBoPTAsaT0wLjAsaj0wLGs9MCxsPTAsbT0wLG49MDtt
PXQ7dD10KzU3NnwwO2w9bTtoPTA7d2hpbGUoMSl7aWYoKGh8MCk+KGN8MCkpYnJlYWs7az1sKyho
PDw0KXwwO2o9YisoaDw8NCl8MDtmW2s+PjJdPWZbaj4+Ml07ZltrKzQ+PjJdPWZbais0Pj4yXTtm
W2srOD4+Ml09ZltqKzg+PjJdO2ZbaysxMj4+Ml09ZltqKzEyPj4yXTtoPWgrMXwwfWk9MS4wLWQ7
aD0xO3doaWxlKDEpe2lmKChofDApPihjfDApKWJyZWFrO2o9Yy1ofDA7az1oKy0xfDA7Yj0wO3do
aWxlKDEpe2lmKChifDApPihqfDApKWJyZWFrO249YisxfDA7cFtsKyhoKjk2fDApKyhiPDw0KT4+
M109K3BbbCsoayo5NnwwKSsobjw8NCk+PjNdKmQrICtwW2wrKGsqOTZ8MCkrKGI8PDQpPj4zXSpp
O3BbbCsoaCo5NnwwKSsoYjw8NCkrOD4+M109K3BbbCsoayo5NnwwKSsobjw8NCkrOD4+M10qZCsg
K3BbbCsoayo5NnwwKSsoYjw8NCkrOD4+M10qaTtiPW59aD1oKzF8MH1hOmRvIGlmKGV8MCl7aD0w
O3doaWxlKDEpe2lmKChofDApPihjfDApKWJyZWFrIGE7bj1lKyhoPDw0KXwwO2s9bCsoaCo5Nnww
KXwwO2Zbbj4+Ml09ZltrPj4yXTtmW24rND4+Ml09ZltrKzQ+PjJdO2Zbbis4Pj4yXT1mW2srOD4+
Ml07ZltuKzEyPj4yXT1mW2srMTI+PjJdO2g9aCsxfDB9fXdoaWxlKDApO2I6ZG8gaWYoZ3wwKXto
PTA7d2hpbGUoMSl7aWYoKGh8MCk+KGN8MCkpYnJlYWsgYjtuPWcrKGg8PDQpfDA7ZT1sKygoYy1o
fDApKjk2fDApKyhoPDw0KXwwO2Zbbj4+Ml09ZltlPj4yXTtmW24rND4+Ml09ZltlKzQ+PjJdO2Zb
bis4Pj4yXT1mW2UrOD4+Ml07ZltuKzEyPj4yXT1mW2UrMTI+PjJdO2g9aCsxfDB9fXdoaWxlKDAp
O249bCsoYyo5NnwwKXwwO2ZbYT4+Ml09ZltuPj4yXTtmW2ErND4+Ml09ZltuKzQ+PjJdO2ZbYSs4
Pj4yXT1mW24rOD4+Ml07ZlthKzEyPj4yXT1mW24rMTI+PjJdO3Q9bTtyZXR1cm59ZnVuY3Rpb24g
Zk0oYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MDtkPTA7ZG97ZT1mWzQ4NDY4XXwwO2M9ZS1k
fDA7ZT1lKzEwMjR8MDtpZigoY3wwKTwxMDI0KXtmWzQ4NDY4XT1lO2U9R0goZls0ODQ2OV18MCxl
KXwwO2ZbNDg0NjldPWU7Yz0oZls0ODQ2OF18MCktZHwwfWVsc2UgZT1mWzQ4NDY5XXwwO2M9SzEo
ZStkfDAsYyxhKXwwO2lmKCFjKXtnPTY7YnJlYWt9ZD0oYzAoYyl8MCkrZHwwO2M9Zls0ODQ2OV18
MH13aGlsZSgoYltjKyhkKy0xKT4+MF18MCkhPTEwKTtpZigoZ3wwKT09NiljPWZbNDg0NjldfDA7
cmV0dXJuICgoZHwwKT4wP2M6MCl8MH1mdW5jdGlvbiBnTShhKXthPWF8MDt2YXIgYz0wLGQ9MCxl
PTA7ZT10O3Q9dCsxNnwwO2RvIGlmKChhfDApIT0wPyhiW2E+PjBdfDApIT0wOjApaWYoITApe2M9
Zls0ODMyNF18MDtkPWZbNDg0NzFdfDA7aWYoKGZbNDg0NzBdfDApPT0oY3wwKSljPWQ7ZWxzZXtp
ZihkKXtNXyhmW2Q+PjJdfDApO01fKGZbNDg0NzFdfDApO2ZbNDg0NzFdPTA7Yz1mWzQ4MzI0XXww
fWZbNDg0NzBdPWM7aWYoIWMpYnJlYWs7aWYoIShiW2M+PjBdfDApKWJyZWFrO2M9aE0oYyl8MDtm
WzQ4NDcxXT1jfWlmKCEoKGJbYT4+MF18MCkhPTQ3JihjfDApIT0wKSlicmVhazthPWlNKGMsZls0
ODQ3Ml18MCxhKXwwO2JyZWFrfWVsc2UgWigpO2Vsc2UgYT0wO3doaWxlKDApO3Q9ZTtyZXR1cm4g
YXwwfWZ1bmN0aW9uIGhNKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wO2Q9MDtlPTA7
Zz0wO2I9djIoYSl8MDtjPTA7d2hpbGUoMSl7Yj1kMyhiLDExNjMxMCl8MDtpZighYilicmVhazth
PShnPDwyKSs4fDA7aWYoIWUpYT1FSChhKXwwO2Vsc2UgYT1HSChjLGEpfDA7ZlthKyhnPDwyKT4+
Ml09YjtlPWMwKGIpfDA7ZD1kPj4+MD5lPj4+MD9kOmU7ZT1hO2c9ZysxfDA7Yj0wO2M9YX1mW2Ur
KGc8PDIpPj4yXT0wO2ZbNDg0NzJdPWQ7cmV0dXJuIGV8MH1mdW5jdGlvbiBpTShhLGIsYyl7YT1h
fDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MDtnPXQ7dD10KzE2fDA7ZD1nO2g9Zls0
ODQ3M118MDtiPU9fKGgsYisyKyhjMChjKXwwKXwwKXwwO2ZbNDg0NzNdPWI7d2hpbGUoMSl7Yj1m
W2E+PjJdfDA7aWYoIWIpe2E9MDticmVha31oPWZbNDg0NzNdfDA7ZltkPj4yXT1iO2ZbZCs0Pj4y
XT0xMTYzMDg7ZltkKzg+PjJdPWM7ZCQoaCwxMTYzMDEsZCl8MDtpZighKHMyKGZbNDg0NzNdfDAs
NCl8MCkpe2U9NDticmVha31lbHNlIGE9YSs0fDB9aWYoKGV8MCk9PTQpYT1mWzQ4NDczXXwwO3Q9
ZztyZXR1cm4gYXwwfWZ1bmN0aW9uIGpNKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0w
LGc9MCxoPTA7Zz0oYXwwKT09MDtlPTA7d2hpbGUoMSl7aD1mW2MrKGU8PDIpPj4yXXwwO2lmKCFo
KWJyZWFrO2lmKCghZz8oYlthPj4wXXwwKT09KGJbaD4+MF18MCk6MCk/KEgkKGEsaCl8MCk9PTA6
MClicmVhaztlPWUrMXwwfXJldHVybiBmW2QrKGU8PDIpPj4yXXwwfWZ1bmN0aW9uIGtNKGEsYixj
KXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MC4wLGc9MC4wLGg9MC4wLGk9MC4wLGo9MC4w
LGs9MC4wLGw9MC4wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0wLjAsdT0wLjAsdj0wLHc9MCx4PTAs
eT0wLHo9MDt4PXQ7dD10KzgwfDA7dj14O3c9eCs2NHwwO3E9ZltiKzQ+PjJdfDA7cj1mW2I+PjJd
fDA7dT0rcFtjPj4zXTtzPStwW2MrOD4+M107ZD0wO2M9LTE7ZT0xLmUrMzg7Yj0tMTt3aGlsZSgx
KXtpZigoZHwwKT49KHF8MCkpYnJlYWs7bj1mW3IrKGQqNDh8MCk+PjJdfDA7bz1mW3IrKGQqNDh8
MCkrND4+Ml18MDttPTA7d2hpbGUoMSl7aWYoKG18MCk+PShvfDApKWJyZWFrO2w9K3BbbisobTw8
NCk+PjNdLXU7az0rcFtuKyhtPDw0KSs4Pj4zXS1zO2w9ayprK2wqbDt5PShjfDApPT0tMXxsPGU7
ej15P206YzttPW0rMXwwO2I9eT9kOmI7Yz16O2U9eT9sOmV9ZD1kKzF8MH1kPWZbcisoYio0OHww
KT4+Ml18MDtjPWMrKCgoY3wwKT09KChmW3IrKGIqNDh8MCkrND4+Ml18MCkrLTF8MCkpPDwzMT4+
MzEpfDA7Yz1jLSgoY3wwKSUzfDApfDA7Yj0wO3doaWxlKDEpe2lmKChifDApPT00KWJyZWFrO3o9
YitjfDA7cFt2KyhiPDw0KT4+M109K3BbZCsoejw8NCk+PjNdO3BbdisoYjw8NCkrOD4+M109K3Bb
ZCsoejw8NCkrOD4+M107Yj1iKzF8MH1pPStwW3Y+PjNdLXU7bD0rcFt2Kzg+PjNdLXM7aD0rcFt2
KzQ4Pj4zXS11O2s9K3Bbdis1Nj4+M10tcztiPXcrOHwwO2U9MS4wO2c9MC4wO2g9ayprK2gqaDtp
PWwqbCtpKmk7d2hpbGUoMSl7bD0oZStnKSouNTtlTSh3LHYsMyxsLDAsMCk7aj0rcFt3Pj4zXTtr
PStwW2I+PjNdO2lmKCtJKCsoaS1oKSk8MS4wKWJyZWFrO2lmKCtJKCsoZS1nKSk8MS4wZS0wNSli
cmVhazt6PWk8aDtqPWotdTtrPWstcztrPWsqaytqKmo7ZT16P2w6ZTtnPXo/ZzpsO2g9ej9rOmg7
aT16P2k6a31wW2E+PjNdPWo7cFthKzg+PjNdPWs7dD14O3JldHVybn1mdW5jdGlvbiBsTSgpe3Jl
dHVybiAwfWZ1bmN0aW9uIG1NKGEpe2E9YXwwO3ZhciBjPTAuMCxkPTAsZT0wLGc9MCxoPTAsaT0w
LGo9MCxrPTA7Yz0rVUwoYSxmWzQ4MzM4XXwwLC43NSwuMDEpO2c9YSsxNnwwO3BbKGZbZz4+Ml18
MCkrMzI+PjNdPWM7Yz0rVUwoYSxmWzQ4MzM3XXwwLC41LC4wMik7cFsoZltnPj4yXXwwKSs0MD4+
M109YztrPWRLKFhMKGEsZls0ODMzOV18MCwxMTYzMTIpfDAsYSl8MDtmWyhmW2c+PjJdfDApKzg+
PjJdPWs7az1IeChhLGZbNDgzNDZdfDApfDA7Yz0rVUwoYSxmWzQ4MzQyXXwwLDE0LjAsMS4wKTtk
PVhMKGEsZls0ODM0M118MCwxMTYzMjApfDA7ZT1YTChhLGZbNDgzNDRdfDAsMTQ1NTg0KXwwO2g9
KF96KGspfDApPT0wO2o9KFFKKGEpfDApPT0yO2g9dEgoYSxrLChqPzQ6MCl8KGg/MDoyKSxjLGQs
ZSl8MDtmWyhmW2c+PjJdfDApKzEwND4+Ml09aDtoPWZbNDgzNDddfDA7aWYoKGh8MD8oaT1IeChh
LGgpfDAsaXwwKTowKT9iW2k+PjBdfDA6MCl7az0oX3ooaSl8MCk9PTA7az10SChhLGksaz8wOjIs
YyxkLGUpfDA7ZlsoZltnPj4yXXwwKSsxMDg+PjJdPWs7az0obnooYSl8MCkrMTZ8MDtrPShmW2s+
PjJdfDApKzExM3wwO2Jbaz4+MF09YltrPj4wXXwxNn1qPShUTChhLGZbNDgzNTBdfDAsMCwwKXww
KSYyNTU7az1mW2c+PjJdfDA7YltrKzE0ND4+MF09ajtDYltmW2ZbKGZbays4Pj4yXXwwKSs0Pj4y
XT4+Ml0mMTI3XShhKTtyZXR1cm59ZnVuY3Rpb24gbk0oYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0w
LGc9MCxoPTAuMCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MCxzPTAsdT0wLHY9
MDt2PXQ7dD10KzExMnwwO2s9dis5NnwwO2w9dis4MHwwO3I9dis0MHwwO3U9djtxPWErNDh8MDtu
PW56KGZbKChmW2E+PjJdJjN8MCk9PTM/YTpxKSs0MD4+Ml18MCl8MDtnPWsrOHwwO2ZbZz4+Ml09
MDttPWwrOHwwO2ZbbT4+Ml09MDtjPWZbNDgzNzRdfDA7aWYoKChjfDApIT0wPyhkPUh4KGEsYyl8
MCwoZHwwKSE9MCk6MCk/KGJbZD4+MF18MCkhPTA6MCl7b00oYSxrKTtzPShfeihkKXwwKT09MDto
PStwW2s+PjNdO2U9ZltnPj4yXXwwO2M9ZltrKzEyPj4yXXwwO2Q9dEgoYSxkLHM/MDoyLGgsZSxj
KXwwO3M9YSsxNnwwO2ZbKGZbcz4+Ml18MCkrOTY+PjJdPWQ7ZD0oZltuKzE2Pj4yXXwwKSsxMTN8
MDtiW2Q+PjBdPWJbZD4+MF18MTtkPVpMKFdMKGEsZls0ODM4NF18MCwxNDU1NzgpfDApfDA7Ylso
ZltzPj4yXXwwKSsxMTQ+PjBdPWQ7cz0xO2Q9ZX1lbHNle3M9MDtjPTA7aD0wLjA7ZD0wfWU9Zls0
ODM3NV18MDtpZigoZXwwPyhpPUh4KGEsZSl8MCxpfDApOjApP2JbaT4+MF18MDowKXtpZighZCl7
b00oYSxrKTtoPStwW2s+PjNdO2Q9ZltnPj4yXXwwO2M9ZltrKzEyPj4yXXwwfWc9KF96KGkpfDAp
PT0wO2k9dEgoYSxpLGc/MDoyLGgsZCxjKXwwO2ZbKGZbYSsxNj4+Ml18MCkrMTA4Pj4yXT1pO2k9
KGZbbisxNj4+Ml18MCkrMTEzfDA7YltpPj4wXT1iW2k+PjBdfDMyfWM9Zls0ODM4OV18MDtpZigo
KGN8MCkhPTA/KGo9SHgoYSxjKXwwLChqfDApIT0wKTowKT8oYltqPj4wXXwwKSE9MDowKXtwTShh
LGssbCk7aT0oX3ooail8MCk9PTA7aD0rcFtsPj4zXTtjPWZbbT4+Ml18MDtkPWZbbCsxMj4+Ml18
MDtqPXRIKGEsaixpPzA6MixoLGMsZCl8MDtmWyhmW2ErMTY+PjJdfDApKzEwMD4+Ml09ajtqPShm
W24rMTY+PjJdfDApKzExM3wwO2Jbaj4+MF09YltqPj4wXXwyfWVsc2V7ZD0wO2g9MC4wO2M9MH1l
PWZbNDgzOTBdfDA7aWYoKGV8MD8obz1IeChhLGUpfDAsb3wwKTowKT9iW28+PjBdfDA6MCl7aWYo
IWMpe3BNKGEsayxsKTtkPWZbbCsxMj4+Ml18MDtoPStwW2w+PjNdO2M9ZlttPj4yXXwwfW09KF96
KG8pfDApPT0wO289dEgoYSxvLG0/MDoyLGgsYyxkKXwwO2ZbKGZbYSsxNj4+Ml18MCkrMTA0Pj4y
XT1vO289KGZbbisxNj4+Ml18MCkrMTEzfDA7YltvPj4wXT1iW28+PjBdfDR9Yz1HeChhLDExOTcy
NSl8MDtjPShjfDApPT0wPzE5NDg3MDpjO2lmKGJbYz4+MF18MCliWyhmWyhmWygoZlthPj4yXSYz
fDApPT0zP2E6cSkrNDA+PjJdfDApKzE2Pj4yXXwwKSsxNDU+PjBdPTE7Zz1hKzE2fDA7ZT0oZltn
Pj4yXXwwKSsxNnwwO2Q9ZlsoKGZbYT4+Ml0mM3wwKT09Mz9hOnEpKzQwPj4yXXwwO3FNKHIsZlso
ZlsoZlsoZltkKzE2Pj4yXXwwKSs4Pj4yXXwwKSs0Pj4yXXwwKSs4Pj4yXXwwLGQsYyk7Yz1yO2Q9
ZSs0MHwwO2Rve2ZbZT4+Ml09ZltjPj4yXTtlPWUrNHwwO2M9Yys0fDB9d2hpbGUoKGV8MCk8KGR8
MCkpO2lmKChyTShhLGZbNDgzOTZdfDApfDApPDwyND4+MjQpYlsoZltnPj4yXXwwKSs0Nj4+MF09
MDtkPUd4KGEsMTE5NzM0KXwwO2Q9KGR8MCk9PTA/MTk0ODcwOmQ7aWYoIShiW2Q+PjBdfDApKWM9
YSstNDh8MDtlbHNle2M9YSstNDh8MDtiWyhmWyhmWygoZlthPj4yXSYzfDApPT0yP2E6YykrNDA+
PjJdfDApKzE2Pj4yXXwwKSsxNDU+PjBdPTF9ZT0oZltnPj4yXXwwKSs1NnwwO2M9ZlsoKGZbYT4+
Ml0mM3wwKT09Mj9hOmMpKzQwPj4yXXwwO3FNKHUsZlsoZlsoZlsoZltjKzE2Pj4yXXwwKSs4Pj4y
XXwwKSs0Pj4yXXwwKSs4Pj4yXXwwLGMsZCk7Yz11O2Q9ZSs0MHwwO2Rve2ZbZT4+Ml09ZltjPj4y
XTtlPWUrNHwwO2M9Yys0fDB9d2hpbGUoKGV8MCk8KGR8MCkpO2lmKChyTShhLGZbNDgzOTddfDAp
fDApPDwyND4+MjQpYlsoZltnPj4yXXwwKSs4Nj4+MF09MDt0PXY7cmV0dXJuIHN8MH1mdW5jdGlv
biBvTShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLjA7ZD0rVUwoYSxmWzQ4MzcxXXwwLDE0
LjAsMS4wKTtwW2I+PjNdPWQ7Yz1YTChhLGZbNDgzNzJdfDAsMTE2MzIwKXwwO2ZbYis4Pj4yXT1j
O2E9WEwoYSxmWzQ4MzczXXwwLDE0NTU4NCl8MDtmW2IrMTI+PjJdPWE7cmV0dXJufWZ1bmN0aW9u
IHBNKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MC4wO2Q9Yis4fDA7aWYoIShm
W2Q+PjJdfDApKW9NKGEsYik7ZT0rVUwoYSxmWzQ4MzkxXXwwLCtwW2I+PjNdLDEuMCk7cFtjPj4z
XT1lO2Q9WEwoYSxmWzQ4MzkyXXwwLGZbZD4+Ml18MCl8MDtmW2MrOD4+Ml09ZDtkPVhMKGEsZls0
ODM5M118MCxmW2IrMTI+PjJdfDApfDA7ZltjKzEyPj4yXT1kO3JldHVybn1mdW5jdGlvbiBxTShh
LGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxs
PTA7bD10O3Q9dCsxMjh8MDtrPWwrODB8MDtoPWwrNDB8MDtnPWw7aWYoKGV8MCkhPTA/KGo9eDEo
ZSw1OCl8MCwoanwwKSE9MCk6MCl7YltqPj4wXT0wO2k9aisxfDA7R2JbYyYzMV0oaCxkLGUsaSk7
ZD1rO2c9aDtjPWQrMzZ8MDtkb3tmW2Q+PjJdPWZbZz4+Ml07ZD1kKzR8MDtnPWcrNHwwfXdoaWxl
KChkfDApPChjfDApKTtiW2o+PjBdPTU4O2U9aX1lbHNle0diW2MmMzFdKGcsZCxlLDApO2Q9aztj
PWQrMzZ8MDtkb3tmW2Q+PjJdPWZbZz4+Ml07ZD1kKzR8MDtnPWcrNHwwfXdoaWxlKChkfDApPChj
fDApKX1kPWE7Zz1rO2M9ZCszNnwwO2Rve2ZbZD4+Ml09ZltnPj4yXTtkPWQrNHwwO2c9Zys0fDB9
d2hpbGUoKGR8MCk8KGN8MCkpO2ZbYSszNj4+Ml09ZTt0PWw7cmV0dXJufWZ1bmN0aW9uIHJNKGEs
Yyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MDtpZigoKGN8MCkhPTA/KGQ9SHgoYSxjKXwwLChkfDApIT0w
KTowKT8oYltkPj4wXXwwKSE9MDowKWE9KFpMKGQpfDApPDwyND4+MjQ9PTAmMTtlbHNlIGE9MDty
ZXR1cm4gYXwwfWZ1bmN0aW9uIHNNKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MC4wLGQ9MC4wLGU9
MC4wLGc9MC4wLGg9MCxpPTAsaj0wLGs9MC4wLGw9MC4wO2k9ZltiKzg+PjJdfDA7aD1mW2IrND4+
Ml18MDtqPWZbYis0ND4+Ml18MDtiPVYoKGh8MCk+MT9oKy0xfDA6MCxpKXwwO2g9aisoYjw8NCl8
MDtlPStwW2g+PjNdO2c9K3BbaisoYjw8NCkrOD4+M107Yj0xO2M9ZTtkPWc7d2hpbGUoMSl7aWYo
KGJ8MCk+PShpfDApKWJyZWFrO2o9aCsoYjw8NCl8MDtsPStwW2o+PjNdO2s9K3Bbais4Pj4zXTti
PWIrMXwwO2M9YzxsP2M6bDtkPWQ8az9kOms7ZT1lPmw/ZTpsO2c9Zz5rP2c6a31wW2E+PjNdPWM7
cFthKzg+PjNdPWQ7cFthKzE2Pj4zXT1lO3BbYSsyND4+M109ZztyZXR1cm59ZnVuY3Rpb24gdE0o
YSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wO2M9dDt0PXQrNjR8MDtnPWMrMzJ8
MDtkPWM7ZT1mW2ErMTY+PjJdfDA7YT1lKzE2fDA7ZT1mW2UrMTE2Pj4yXSYxO2ZbZz4+Ml09Zlth
Pj4yXTtmW2crND4+Ml09ZlthKzQ+PjJdO2ZbZys4Pj4yXT1mW2ErOD4+Ml07ZltnKzEyPj4yXT1m
W2ErMTI+PjJdO2ZbZysxNj4+Ml09ZlthKzE2Pj4yXTtmW2crMjA+PjJdPWZbYSsyMD4+Ml07Zltn
KzI0Pj4yXT1mW2ErMjQ+PjJdO2ZbZysyOD4+Ml09ZlthKzI4Pj4yXTt1TShkLGcsYixlKTtmW2E+
PjJdPWZbZD4+Ml07ZlthKzQ+PjJdPWZbZCs0Pj4yXTtmW2ErOD4+Ml09ZltkKzg+PjJdO2ZbYSsx
Mj4+Ml09ZltkKzEyPj4yXTtmW2ErMTY+PjJdPWZbZCsxNj4+Ml07ZlthKzIwPj4yXT1mW2QrMjA+
PjJdO2ZbYSsyND4+Ml09ZltkKzI0Pj4yXTtmW2ErMjg+PjJdPWZbZCsyOD4+Ml07dD1jO3JldHVy
bn1mdW5jdGlvbiB1TShhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLjAs
Zz0wLjAsaD0wLjAsaT0wLGo9MC4wLGs9MC4wLGw9MC4wO2c9K3BbYys1Nj4+M107az0rcFtjKzY0
Pj4zXTtpPWQ8PDI0Pj4yND09MDtqPStwW2MrMjQ+PjNdO2g9K3BbYyszMj4+M107bD0oaT9qOmgp
Ki41O2U9Zy1sO2c9bCtnO2lmKGU8K3BbYj4+M10pcFtiPj4zXT1lO2Q9YisxNnwwO2lmKGc+K3Bb
ZD4+M10pcFtkPj4zXT1nO2c9KGk/aDpqKSouNTtlPWstZztnPWcraztkPWIrOHwwO2lmKGU8K3Bb
ZD4+M10pcFtkPj4zXT1lO2Q9YisyNHwwO2lmKGc+K3BbZD4+M10pcFtkPj4zXT1nO2ZbYT4+Ml09
ZltiPj4yXTtmW2ErND4+Ml09ZltiKzQ+PjJdO2ZbYSs4Pj4yXT1mW2IrOD4+Ml07ZlthKzEyPj4y
XT1mW2IrMTI+PjJdO2ZbYSsxNj4+Ml09ZltiKzE2Pj4yXTtmW2ErMjA+PjJdPWZbYisyMD4+Ml07
ZlthKzI0Pj4yXT1mW2IrMjQ+PjJdO2ZbYSsyOD4+Ml09ZltiKzI4Pj4yXTtyZXR1cm59ZnVuY3Rp
b24gdk0oYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAuMCxpPTAuMCxqPTAuMCxrPTAu
MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MCxzPTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0w
LEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAs
UD0wLjAsUT0wLjAsUj0wLFM9MC4wLFQ9MC4wO089dDt0PXQrMzY4fDA7Sz1PKzMzNnwwO3g9Tysy
NzJ8MDtOPU8rMTYwfDA7Qj1PKzExMnwwO0M9Tys2NHwwO2M9TyszMjB8MDtkPU8rMzA0fDA7RD1P
KzI4OHwwO0U9TysyNTZ8MDtGPU8rMjI0fDA7Rz1PKzE5MnwwO3k9TysxMjh8MDt6PU8rODB8MDtB
PU8rMzJ8MDtMPU87TT1hKzE2fDA7aWYoKGp5KGEpfDApPT0wPyhmWyhmW00+PjJdfDApKzE4MD4+
Ml18MCk9PTA6MCl7d00oTiwwLjAsMC4wKTtOPU4rMTZ8MDt3TShjLDAuMCwwLjApO2ZbTj4+Ml09
ZltjPj4yXTtmW04rND4+Ml09ZltjKzQ+PjJdO2ZbTis4Pj4yXT1mW2MrOD4+Ml07ZltOKzEyPj4y
XT1mW2MrMTI+PjJdfWVsc2V7d00oTiwyMTQ3NDgzNjQ3LjAsMjE0NzQ4MzY0Ny4wKTtKPU4rMTZ8
MDt3TShkLC0yMTQ3NDgzNjQ3LjAsLTIxNDc0ODM2NDcuMCk7ZltKPj4yXT1mW2Q+PjJdO2ZbSis0
Pj4yXT1mW2QrND4+Ml07ZltKKzg+PjJdPWZbZCs4Pj4yXTtmW0orMTI+PjJdPWZbZCsxMj4+Ml07
dj1DKzh8MDt1PUQrOHwwO3M9RSs4fDA7SD1OKzh8MDtJPU4rMjR8MDt3PUIrOHwwO3I9JHkoYSl8
MDt3aGlsZSgxKXtpZighcilicmVhaztkTShCLHIpO2M9cisxNnwwO3E9ZltjPj4yXXwwO3BbQz4+
M109KCtwW3ErOTY+PjNdKyArcFtxKzg4Pj4zXSkqLjU7cFt2Pj4zXT0rcFtxKzgwPj4zXSouNTtm
W3g+PjJdPWZbQj4+Ml07Zlt4KzQ+PjJdPWZbQis0Pj4yXTtmW3grOD4+Ml09ZltCKzg+PjJdO2Zb
eCsxMj4+Ml09ZltCKzEyPj4yXTtmW0s+PjJdPWZbQz4+Ml07ZltLKzQ+PjJdPWZbQys0Pj4yXTtm
W0srOD4+Ml09ZltDKzg+PjJdO2ZbSysxMj4+Ml09ZltDKzEyPj4yXTt4TShELHgsSyk7aD0rcFtE
Pj4zXTtpPStwW3U+PjNdO2ZbeD4+Ml09ZltCPj4yXTtmW3grND4+Ml09ZltCKzQ+PjJdO2ZbeCs4
Pj4yXT1mW0IrOD4+Ml07Zlt4KzEyPj4yXT1mW0IrMTI+PjJdO2ZbSz4+Ml09ZltDPj4yXTtmW0sr
ND4+Ml09ZltDKzQ+PjJdO2ZbSys4Pj4yXT1mW0MrOD4+Ml07ZltLKzEyPj4yXT1mW0MrMTI+PjJd
O3lNKEUseCxLKTtqPStwW0U+PjNdO2s9K3Bbcz4+M107UD0rcFtOPj4zXTtwW04+PjNdPVA8aD9Q
Omg7aD0rcFtIPj4zXTtwW0g+PjNdPWg8aT9oOmk7aT0rcFtKPj4zXTtwW0o+PjNdPWk+aj9pOmo7
aj0rcFtJPj4zXTtwW0k+PjNdPWo+az9qOms7Yz1mWyhmW2M+PjJdfDApKzEwOD4+Ml18MDtpZihj
fDA/YltjKzgxPj4wXXwwOjApe3E9ZlsoZltNPj4yXXwwKSsxMTY+PjJdJjE7ZltLPj4yXT1mW04+
PjJdO2ZbSys0Pj4yXT1mW04rND4+Ml07ZltLKzg+PjJdPWZbTis4Pj4yXTtmW0srMTI+PjJdPWZb
TisxMj4+Ml07ZltLKzE2Pj4yXT1mW04rMTY+PjJdO2ZbSysyMD4+Ml09ZltOKzIwPj4yXTtmW0sr
MjQ+PjJdPWZbTisyND4+Ml07ZltLKzI4Pj4yXT1mW04rMjg+PjJdO3VNKEYsSyxjLHEpO2ZbTj4+
Ml09ZltGPj4yXTtmW04rND4+Ml09ZltGKzQ+PjJdO2ZbTis4Pj4yXT1mW0YrOD4+Ml07ZltOKzEy
Pj4yXT1mW0YrMTI+PjJdO2ZbTisxNj4+Ml09ZltGKzE2Pj4yXTtmW04rMjA+PjJdPWZbRisyMD4+
Ml07ZltOKzI0Pj4yXT1mW0YrMjQ+PjJdO2ZbTisyOD4+Ml09ZltGKzI4Pj4yXX1xPU54KGEscil8
MDt3aGlsZSgxKXtpZighcSlicmVhaztvPXErMTZ8MDtjPWZbbz4+Ml18MDtnPWZbYys4Pj4yXXww
O2lmKGd8MCl7bD1mW2crND4+Ml18MDtlPTA7aD0rcFtOPj4zXTtpPStwW0g+PjNdO2o9K3BbSj4+
M107az0rcFtJPj4zXTt3aGlsZSgxKXtpZigoZXwwKT49KGx8MCkpYnJlYWs7bj1mW2c+PjJdfDA7
bT1mW24rKGUqNDh8MCkrND4+Ml18MDtuPW4rKGUqNDh8MCl8MDtkPTA7d2hpbGUoMSl7aWYoKGR8
MCk+PShtfDApKWJyZWFrO1I9KGZbbj4+Ml18MCkrKGQ8PDQpfDA7ZltCPj4yXT1mW1I+PjJdO2Zb
Qis0Pj4yXT1mW1IrND4+Ml07ZltCKzg+PjJdPWZbUis4Pj4yXTtmW0IrMTI+PjJdPWZbUisxMj4+
Ml07UT0rcFtCPj4zXTtQPStwW3c+PjNdO2Q9ZCsxfDA7aD1oPFE/aDpRO2k9aTxQP2k6UDtqPWo+
UT9qOlE7az1rPlA/azpQfWU9ZSsxfDB9cFtOPj4zXT1oO3BbSD4+M109aTtwW0o+PjNdPWo7cFtJ
Pj4zXT1rO2Q9ZltjKzk2Pj4yXXwwO2lmKChkfDApIT0wPyhiW2QrODE+PjBdfDApIT0wOjApe2M9
ZlsoZltNPj4yXXwwKSsxMTY+PjJdJjE7ZltLPj4yXT1mW04+PjJdO2ZbSys0Pj4yXT1mW04rND4+
Ml07ZltLKzg+PjJdPWZbTis4Pj4yXTtmW0srMTI+PjJdPWZbTisxMj4+Ml07ZltLKzE2Pj4yXT1m
W04rMTY+PjJdO2ZbSysyMD4+Ml09ZltOKzIwPj4yXTtmW0srMjQ+PjJdPWZbTisyND4+Ml07ZltL
KzI4Pj4yXT1mW04rMjg+PjJdO3VNKEcsSyxkLGMpO2ZbTj4+Ml09ZltHPj4yXTtmW04rND4+Ml09
ZltHKzQ+PjJdO2ZbTis4Pj4yXT1mW0crOD4+Ml07ZltOKzEyPj4yXT1mW0crMTI+PjJdO2ZbTisx
Nj4+Ml09ZltHKzE2Pj4yXTtmW04rMjA+PjJdPWZbRysyMD4+Ml07ZltOKzI0Pj4yXT1mW0crMjQ+
PjJdO2ZbTisyOD4+Ml09ZltHKzI4Pj4yXTtjPWZbbz4+Ml18MH1kPWZbYysxMDA+PjJdfDA7aWYo
KGR8MCkhPTA/KGJbZCs4MT4+MF18MCkhPTA6MCl7Yz1mWyhmW00+PjJdfDApKzExNj4+Ml0mMTtm
W0s+PjJdPWZbTj4+Ml07ZltLKzQ+PjJdPWZbTis0Pj4yXTtmW0srOD4+Ml09ZltOKzg+PjJdO2Zb
SysxMj4+Ml09ZltOKzEyPj4yXTtmW0srMTY+PjJdPWZbTisxNj4+Ml07ZltLKzIwPj4yXT1mW04r
MjA+PjJdO2ZbSysyND4+Ml09ZltOKzI0Pj4yXTtmW0srMjg+PjJdPWZbTisyOD4+Ml07dU0oeSxL
LGQsYyk7ZltOPj4yXT1mW3k+PjJdO2ZbTis0Pj4yXT1mW3krND4+Ml07ZltOKzg+PjJdPWZbeSs4
Pj4yXTtmW04rMTI+PjJdPWZbeSsxMj4+Ml07ZltOKzE2Pj4yXT1mW3krMTY+PjJdO2ZbTisyMD4+
Ml09Zlt5KzIwPj4yXTtmW04rMjQ+PjJdPWZbeSsyND4+Ml07ZltOKzI4Pj4yXT1mW3krMjg+PjJd
O2M9ZltvPj4yXXwwfWQ9ZltjKzEwND4+Ml18MDtpZigoZHwwKSE9MD8oYltkKzgxPj4wXXwwKSE9
MDowKXtjPWZbKGZbTT4+Ml18MCkrMTE2Pj4yXSYxO2ZbSz4+Ml09ZltOPj4yXTtmW0srND4+Ml09
ZltOKzQ+PjJdO2ZbSys4Pj4yXT1mW04rOD4+Ml07ZltLKzEyPj4yXT1mW04rMTI+PjJdO2ZbSysx
Nj4+Ml09ZltOKzE2Pj4yXTtmW0srMjA+PjJdPWZbTisyMD4+Ml07ZltLKzI0Pj4yXT1mW04rMjQ+
PjJdO2ZbSysyOD4+Ml09ZltOKzI4Pj4yXTt1TSh6LEssZCxjKTtmW04+PjJdPWZbej4+Ml07ZltO
KzQ+PjJdPWZbeis0Pj4yXTtmW04rOD4+Ml09Zlt6Kzg+PjJdO2ZbTisxMj4+Ml09Zlt6KzEyPj4y
XTtmW04rMTY+PjJdPWZbeisxNj4+Ml07ZltOKzIwPj4yXT1mW3orMjA+PjJdO2ZbTisyND4+Ml09
Zlt6KzI0Pj4yXTtmW04rMjg+PjJdPWZbeisyOD4+Ml07Yz1mW28+PjJdfDB9Yz1mW2MrMTA4Pj4y
XXwwO2lmKGN8MD9iW2MrODE+PjBdfDA6MCl7Uj1mWyhmW00+PjJdfDApKzExNj4+Ml0mMTtmW0s+
PjJdPWZbTj4+Ml07ZltLKzQ+PjJdPWZbTis0Pj4yXTtmW0srOD4+Ml09ZltOKzg+PjJdO2ZbSysx
Mj4+Ml09ZltOKzEyPj4yXTtmW0srMTY+PjJdPWZbTisxNj4+Ml07ZltLKzIwPj4yXT1mW04rMjA+
PjJdO2ZbSysyND4+Ml09ZltOKzI0Pj4yXTtmW0srMjg+PjJdPWZbTisyOD4+Ml07dU0oQSxLLGMs
Uik7ZltOPj4yXT1mW0E+PjJdO2ZbTis0Pj4yXT1mW0ErND4+Ml07ZltOKzg+PjJdPWZbQSs4Pj4y
XTtmW04rMTI+PjJdPWZbQSsxMj4+Ml07ZltOKzE2Pj4yXT1mW0ErMTY+PjJdO2ZbTisyMD4+Ml09
ZltBKzIwPj4yXTtmW04rMjQ+PjJdPWZbQSsyND4+Ml07ZltOKzI4Pj4yXT1mW0ErMjg+PjJdfX1x
PVB4KGEscSl8MH1yPWF6KGEscil8MH1jPWZbTT4+Ml18MDtlPWZbYysxODA+PjJdfDA7Zz1jKzE4
NHwwO2Q9MTtoPStwW04+PjNdO2k9K3BbSD4+M107aj0rcFtKPj4zXTtrPStwW0k+PjNdO3doaWxl
KDEpe2lmKChkfDApPihlfDApKWJyZWFrO1I9ZlsoZlsoZltnPj4yXXwwKSsoZDw8Mik+PjJdfDAp
KzE2Pj4yXXwwO1Q9K3BbUisxNj4+M107Uz0rcFtSKzI0Pj4zXTtQPStwW1IrMzI+PjNdO1E9K3Bb
Uis0MD4+M107ZD1kKzF8MDtoPWg8VD9oOlQ7aT1pPFM/aTpTO2o9aj5QP2o6UDtrPWs+UT9rOlF9
cFtOPj4zXT1oO3BbSD4+M109aTtwW0o+PjNdPWo7cFtJPj4zXT1rO2Q9ZltjKzEyPj4yXXwwO2lm
KChkfDApIT0wPyhiW2QrODE+PjBdfDApIT0wOjApe2M9ZltjKzExNj4+Ml0mMTtmW0s+PjJdPWZb
Tj4+Ml07ZltLKzQ+PjJdPWZbTis0Pj4yXTtmW0srOD4+Ml09ZltOKzg+PjJdO2ZbSysxMj4+Ml09
ZltOKzEyPj4yXTtmW0srMTY+PjJdPWZbTisxNj4+Ml07ZltLKzIwPj4yXT1mW04rMjA+PjJdO2Zb
SysyND4+Ml09ZltOKzI0Pj4yXTtmW0srMjg+PjJdPWZbTisyOD4+Ml07dU0oTCxLLGQsYyk7ZltO
Pj4yXT1mW0w+PjJdO2ZbTis0Pj4yXT1mW0wrND4+Ml07ZltOKzg+PjJdPWZbTCs4Pj4yXTtmW04r
MTI+PjJdPWZbTCsxMj4+Ml07ZltOKzE2Pj4yXT1mW0wrMTY+PjJdO2ZbTisyMD4+Ml09ZltMKzIw
Pj4yXTtmW04rMjQ+PjJdPWZbTCsyND4+Ml07ZltOKzI4Pj4yXT1mW0wrMjg+PjJdO2M9ZltNPj4y
XXwwfVI9YysxNnwwO2ZbUj4+Ml09ZltOPj4yXTtmW1IrND4+Ml09ZltOKzQ+PjJdO2ZbUis4Pj4y
XT1mW04rOD4+Ml07ZltSKzEyPj4yXT1mW04rMTI+PjJdO2ZbUisxNj4+Ml09ZltOKzE2Pj4yXTtm
W1IrMjA+PjJdPWZbTisyMD4+Ml07ZltSKzI0Pj4yXT1mW04rMjQ+PjJdO2ZbUisyOD4+Ml09ZltO
KzI4Pj4yXX10PU87cmV0dXJufWZ1bmN0aW9uIHdNKGEsYixjKXthPWF8MDtiPStiO2M9K2M7cFth
Pj4zXT1iO3BbYSs4Pj4zXT1jO3JldHVybn1mdW5jdGlvbiB4TShhLGIsYyl7YT1hfDA7Yj1ifDA7
Yz1jfDA7dmFyIGQ9MC4wO2Q9K3BbYis4Pj4zXS0rcFtjKzg+PjNdO3BbYT4+M109K3BbYj4+M10t
K3BbYz4+M107cFthKzg+PjNdPWQ7cmV0dXJufWZ1bmN0aW9uIHlNKGEsYixjKXthPWF8MDtiPWJ8
MDtjPWN8MDt2YXIgZD0wLjA7ZD0rcFtjKzg+PjNdKyArcFtiKzg+PjNdO3BbYT4+M109K3BbYz4+
M10rICtwW2I+PjNdO3BbYSs4Pj4zXT1kO3JldHVybn1mdW5jdGlvbiB6TShhKXthPWF8MDtpZigo
ZlthKzYwPj4yXXwwKT09KGF8MCkpYT0xO2Vsc2UgYT0oYTMoQXkoYSl8MCwxMTYzMzIsNyl8MCk9
PTAmMTtyZXR1cm4gYXwwfWZ1bmN0aW9uIEFNKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7
ZD1kfDA7ZT1lfDA7YTpkbyBpZighZSlzd2l0Y2goeXooYil8MCl7Y2FzZSAwOntlPXd4KGEsMCxj
LDE5NDg3MCl8MDticmVhayBhfWNhc2UgMTp7ZT13eChhLDEsYywxOTQ4NzApfDA7YnJlYWsgYX1j
YXNlIDI6e2U9d3goYSwyLGMsMTk0ODcwKXwwO2JyZWFrIGF9ZGVmYXVsdDp7ZT0wO2JyZWFrIGF9
fXdoaWxlKDApO0F4KGIsZSxkKXwwO3JldHVybiBlfDB9ZnVuY3Rpb24gQk0oYSl7YT1hfDA7dmFy
IGM9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtrPXQ7dD10KzE0NHwwO2c9aysxMjh8MDtpPUNN
KGEpfDA7aD1Mdyg3Mjk3MixmWzE4MDAxXXwwKXwwO2o9RUEoYSwxMTYzNDAsMSl8MDtKeihqLDE0
NTc1MywyODAsMSl8MDtheChnLDEyOCxrKTtjPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7
YTpkbyBpZighKGJbKGZbYysxNj4+Ml18MCkrMTE4Pj4wXXwwKSl7ZT1OeChhLGMpfDA7d2hpbGUo
MSl7aWYoIWUpYnJlYWsgYTtETShlLGosZyxoLGkpO2U9UHgoYSxlKXwwfX13aGlsZSgwKTtjPWF6
KGEsYyl8MH1leChnKTtIdyhoKXwwO2U9ankoail8MDtjPSR5KGopfDA7d2hpbGUoMSl7aWYoIWMp
YnJlYWs7aD1heihqLGMpfDA7bXooYSxjKXwwO2M9aH1peShqKXwwO2lmKGV8MCl7aj0oZlthKzE2
Pj4yXXwwKSsxMzZ8MDtkW2o+PjFdPWRbaj4+MV18MX1IdyhpKXwwO3Q9aztyZXR1cm4gZXwwfWZ1
bmN0aW9uIENNKGEpe2E9YXwwO3ZhciBiPTA7Yj1Mdyg3MzAwOCxmWzE4MDAxXXwwKXwwO01NKGEs
Yik7cmV0dXJuIGJ8MH1mdW5jdGlvbiBETShhLGMsZCxlLGcpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9
ZXwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0w
LHM9MDtzPXQ7dD10KzQ4fDA7cD1zKzMyfDA7bz1zKzI0fDA7cj1zKzE2fDA7cT1zKzh8MDtrPXM7
bT1mW2E+PjJdJjM7bD1mWygobXwwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDA7bT1mWygobXwwKT09
Mj9hOmErLTQ4fDApKzQwPj4yXXwwO2RvIGlmKCEoYlsoZlttKzE2Pj4yXXwwKSsxMTg+PjBdfDAp
KXtpZighKGEkKEF5KGwpfDAsMTE2MzMyLDcpfDApKW49RU0oZyxBeShsKXwwKXwwO2Vsc2Ugbj0w
O2lmKCEoYSQoQXkobSl8MCwxMTYzMzIsNyl8MCkpaT1FTShnLEF5KG0pfDApfDA7ZWxzZSBpPTA7
aD0obnwwKSE9MDtqPShpfDApIT0wO2lmKGh8ail7aWYoKG58MCk9PShpfDApKXtxPUF5KGwpfDA7
cj1BeShsKXwwO2Zbaz4+Ml09cTtmW2srND4+Ml09cjtZdygwLDExNjM1NSxrKXwwO2JyZWFrfWc9
Rk0oZSxhKXwwO2lmKGd8MCl7R00oYSxmW2crMTY+PjJdfDAsZltnKzIwPj4yXXwwKXwwO2JyZWFr
fWlmKCFqKWlmKCEoeHoobixtKXwwKSl7SU0oZSxsLG0sR00oYSxITShsLG4sZCxjKXwwLG0pfDAp
O2JyZWFrfWVsc2V7cT1BeShtKXwwO3I9QXkobil8MDtmW3A+PjJdPXE7ZltwKzQ+PjJdPXI7WXco
MCwxMTY1MTAscCl8MDticmVha31pZighaClpZighKHh6KGksbCl8MCkpe0lNKGUsbCxtLEdNKGEs
bCxITShtLGksZCxjKXwwKXwwKTticmVha31lbHNle3E9QXkobCl8MDtyPUF5KGkpfDA7ZltvPj4y
XT1xO2Zbbys0Pj4yXT1yO1l3KDAsMTE2NDczLG8pfDA7YnJlYWt9aWYoeHooaSxuKXwwKXtwPUF5
KG4pfDA7cj1BeShpKXwwO2ZbcT4+Ml09cDtmW3ErND4+Ml09cjtZdygwLDExNjM5MyxxKXwwO2Jy
ZWFrfWlmKCEoeHoobixpKXwwKSl7cj1ITShsLG4sZCxjKXwwO0lNKGUsbCxtLEdNKGEscixITSht
LGksZCxjKXwwKXwwKTticmVha31lbHNle3A9QXkoaSl8MDtxPUF5KG4pfDA7ZltyPj4yXT1wO2Zb
cis0Pj4yXT1xO1l3KDAsMTE2NDMzLHIpfDA7YnJlYWt9fX13aGlsZSgwKTt0PXM7cmV0dXJufWZ1
bmN0aW9uIEVNKGEsYil7YT1hfDA7Yj1ifDA7YT13YltmW2E+PjJdJjYzXShhLGIsNTEyKXwwO2lm
KCFhKWE9MDtlbHNlIGE9ZlthKzEyPj4yXXwwO3JldHVybiBhfDB9ZnVuY3Rpb24gRk0oYSxiKXth
PWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTA7Yz10O3Q9dCsxNnwwO2Q9YztlPWZbYj4+Ml0mMztm
W2Q+PjJdPWZbKChlfDApPT0zP2I6Yis0OHwwKSs0MD4+Ml07ZltkKzQ+PjJdPWZbKChlfDApPT0y
P2I6YistNDh8MCkrNDA+PjJdO2I9d2JbZlthPj4yXSY2M10oYSxkLDUxMil8MDt0PWM7cmV0dXJu
IGJ8MH1mdW5jdGlvbiBHTShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7Yz1feChueihiKXwwLGIs
YywwLDEpfDA7SnooYywxNDU3MzAsMTc2LDEpfDA7S3goYSxjKXwwO3JldHVybiBjfDB9ZnVuY3Rp
b24gSE0oYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9
MCxrPTA7az10O3Q9dCsxMTJ8MDtnPWsrMTA0fDA7aj1rO2R4KGQsMTE2NTQ3KXwwO2k9Zls0ODQ3
NF18MDtmWzQ4NDc0XT1pKzE7ZltnPj4yXT1pO2QkKGosMTQ1NjY1LGcpfDA7ZHgoZCxqKXwwO2o9
ZCs0fDA7Zz1mW2o+PjJdfDA7aT1kKzh8MDtpZihnPj4+MD49KGZbaT4+Ml18MCk+Pj4wKXtieChk
LDEpfDA7Zz1mW2o+PjJdfDB9ZltqPj4yXT1nKzE7YltnPj4wXT01ODtkeChkLEF5KGMpfDApfDA7
aD1veihjKXwwO2c9ZltqPj4yXXwwO2lmKGc+Pj4wPj0oZltpPj4yXXwwKT4+PjApe2J4KGQsMSl8
MDtnPWZbaj4+Ml18MH1iW2c+PjBdPTA7ZD1mW2Q+PjJdfDA7ZltqPj4yXT1kO2o9anooaCxkLDEp
fDA7SnooaiwxNDU3MTcsMzA0LDEpfDA7YlsoZltqKzE2Pj4yXXwwKSsxMTg+PjBdPTE7ZXooYyxq
LDEpfDA7ZXooZSxhLDEpfDA7ZT1ueihqKXwwO2U9QU0oZSxqLDExNjU1MCwxOTQ4NzAsZls0ODM0
Nl18MCl8MDtmWzQ4MzQ2XT1lO2U9bnooail8MDtlPUFNKGUsaiwxNDgyMTcsMTQyNjA1LGZbNDgz
NDldfDApfDA7Zls0ODM0OV09ZTtlPW56KGopfDA7ZT1BTShlLGosMTE2NTU2LDExNjU2MixmWzQ4
MzM5XXwwKXwwO2ZbNDgzMzldPWU7dD1rO3JldHVybiBqfDB9ZnVuY3Rpb24gSU0oYSxiLGMsZCl7
YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxt
PTAsbj0wO2U9dDt0PXQrMzJ8MDtnPWU7bT1nKzh8MDtmW20+PjJdPWI7bD1nKzEyfDA7ZltsPj4y
XT1jO249ZltkPj4yXSYzO2k9ZCs0OHwwO2o9ZysxNnwwO2Zbaj4+Ml09ZlsoKG58MCk9PTM/ZDpp
KSs0MD4+Ml07az1kKy00OHwwO2g9ZysyMHwwO2ZbaD4+Ml09ZlsoKG58MCk9PTI/ZDprKSs0MD4+
Ml07d2JbZlthPj4yXSY2M10oYSxnLDEpfDA7ZlttPj4yXT1jO2ZbbD4+Ml09YjtjPWZbZD4+Ml0m
MztmW2o+PjJdPWZbKChjfDApPT0yP2Q6aykrNDA+PjJdO2ZbaD4+Ml09ZlsoKGN8MCk9PTM/ZDpp
KSs0MD4+Ml07d2JbZlthPj4yXSY2M10oYSxnLDEpfDA7dD1lO3JldHVybn1mdW5jdGlvbiBKTShh
LGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7Yz1ESCgyNCl8MDtmW2MrOD4+Ml09ZltiKzg+PjJdO2Zb
YysxMj4+Ml09ZltiKzEyPj4yXTtmW2MrMTY+PjJdPWZbYisxNj4+Ml07ZltjKzIwPj4yXT1mW2Ir
MjA+PjJdO3JldHVybiBjfDB9ZnVuY3Rpb24gS00oYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO01f
KGIpO3JldHVybn1mdW5jdGlvbiBMTShhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDth
PWZbYj4+Ml18MDtkPWZbYz4+Ml18MDtpZihhPj4+MD49ZD4+PjApaWYoYT4+PjA+ZD4+PjApYT0x
O2Vsc2V7Yj1mW2IrND4+Ml18MDtjPWZbYys0Pj4yXXwwO3JldHVybiAoYj4+PjA8Yz4+PjA/LTE6
Yj4+PjA+Yz4+PjAmMSl8MH1lbHNlIGE9LTE7cmV0dXJuIGF8MH1mdW5jdGlvbiBNTShhLGIpe2E9
YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MDtoPXQ7dD10KzE2fDA7Zz1oO2U9
YSsxNnwwO2Q9MTt3aGlsZSgxKXthPWZbZT4+Ml18MDtpZigoZHwwKT4oZlthKzE4MD4+Ml18MCkp
YnJlYWs7YT1mWyhmW2ErMTg0Pj4yXXwwKSsoZDw8Mik+PjJdfDA7Yz1BeShhKXwwO2lmKCEod2Jb
ZltiPj4yXSY2M10oYixjLDUxMil8MCkpe2k9REgoMTYpfDA7ZltpKzg+PjJdPWM7ZltpKzEyPj4y
XT1hO3diW2ZbYj4+Ml0mNjNdKGIsaSwxKXwwfWVsc2V7ZltnPj4yXT1jO1l3KDAsMTE2NTY2LGcp
fDB9TU0oYSxiKTtkPWQrMXwwfXQ9aDtyZXR1cm59ZnVuY3Rpb24gTk0oYSxiLGMpe2E9YXwwO2I9
YnwwO2M9Y3wwO01fKGIpO3JldHVybn1mdW5jdGlvbiBPTShhKXthPWF8MDt2YXIgYj0wLGM9MCxk
PTA7ZD1FQShhLDExNjM0MCwxKXwwO0p6KGQsMTQ1NzUzLDI4MCwxKXwwO2I9JHkoYSl8MDt3aGls
ZSgxKXtpZighYilicmVhaztjPU54KGEsYil8MDt3aGlsZSgxKXtpZighYylicmVhaztQTShjLGQp
O2M9UHgoYSxjKXwwfWI9YXooYSxiKXwwfWI9JHkoZCl8MDt3aGlsZSgxKXtpZighYilicmVhaztj
PWF6KGQsYil8MDtRTShiKTtteihhLGIpfDA7Yj1jfWl5KGQpfDA7cmV0dXJufWZ1bmN0aW9uIFBN
KGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZD1mW2E+PjJdJjM7ZT1mWygoZHwwKT09Mz9h
OmErNDh8MCkrNDA+PjJdfDA7ZD1mWygoZHwwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwO2lmKCEo
KGJbKGZbZSsxNj4+Ml18MCkrMTE4Pj4wXXwwKT09MD8hKGJbKGZbZCsxNj4+Ml18MCkrMTE4Pj4w
XXwwKTowKSl7ZT1STShlLGMpfDA7ZD1HTShhLGUsUk0oZCxjKXwwKXwwO2U9ZlthKzE2Pj4yXXww
O2M9ZSs4fDA7ZD1mW2QrMTY+PjJdfDA7ZltkKzg+PjJdPWZbYz4+Ml07ZltjPj4yXT0wO2M9ZSs5
NnwwO2ZbZCs5Nj4+Ml09ZltjPj4yXTtmW2M+PjJdPTA7Yz1lKzEwOHwwO2ZbZCsxMDg+PjJdPWZb
Yz4+Ml07ZltjPj4yXT0wO2M9ZSsxMDB8MDtmW2QrMTAwPj4yXT1mW2M+PjJdO2ZbYz4+Ml09MDtl
PWUrMTA0fDA7ZltkKzEwND4+Ml09ZltlPj4yXTtmW2U+PjJdPTA7U00oYSl9cmV0dXJufWZ1bmN0
aW9uIFFNKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MDtkPWErMTZ8MDtiPWZbZD4+Ml18MDtjPWZb
YisxMzI+PjJdfDA7aWYoYyl7TV8oYyk7Yj1mW2Q+PjJdfDB9Yz1mW2IrOD4+Ml18MDtpZihjKXtD
YltmWyhmW2MrND4+Ml18MCkrND4+Ml0mMTI3XShhKTtiPWZbZD4+Ml18MH13SChmW2IrMTA0Pj4y
XXwwKTt3SChmWyhmW2Q+PjJdfDApKzEwOD4+Ml18MCk7THooYSwxNDU3MTcpfDA7cmV0dXJufWZ1
bmN0aW9uIFJNKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wO2U9bnooYSl8MDthOmRv
IGlmKGJbKGZbYSsxNj4+Ml18MCkrMTE4Pj4wXXwwKXtleihjLGEsMSl8MDthPXgxKEF5KGEpfDAs
NTgpfDA7aWYoIWEpeGEoMTE5NTM0LDExNTk4NywxMjI1LDExNjYxOCk7Yz1hKzF8MDthPWp6KGUs
YywwKXwwO2lmKCFhKXthPWp6KGUsYywxKXwwO0p6KGEsMTQ1NzE3LDMwNCwxKXwwO2M9QngoZSwx
LDApfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWsgYTtnPUh4KGEsYyl8MDtkPWZbYysxMj4+Ml18MDtp
ZigoZ3wwKSE9KGR8MCkpQXgoYSxjLGQpfDA7Yz1CeChlLDEsYyl8MH19fXdoaWxlKDApO3JldHVy
biBhfDB9ZnVuY3Rpb24gU00oYSl7YT1hfDA7dmFyIGI9MDtiPWErMTZ8MDtNXyhmWyhmW2I+PjJd
fDApKzE0ND4+Ml18MCk7VE0oYSk7d0goZlsoZltiPj4yXXwwKSs5Nj4+Ml18MCk7d0goZlsoZlti
Pj4yXXwwKSsxMDg+PjJdfDApO3dIKGZbKGZbYj4+Ml18MCkrMTAwPj4yXXwwKTt3SChmWyhmW2I+
PjJdfDApKzEwND4+Ml18MCk7THooYSwxNDU3MzApfDA7cmV0dXJufWZ1bmN0aW9uIFRNKGEpe2E9
YXwwO3ZhciBiPTAsYz0wLGQ9MDtkPWErMTZ8MDthPShmW2Q+PjJdfDApKzh8MDtiPWZbYT4+Ml18
MDtpZihiKXtjPTA7d2hpbGUoMSl7YT1mW2I+PjJdfDA7aWYoKGN8MCk+PShmW2IrND4+Ml18MCkp
YnJlYWs7TV8oZlthKyhjKjQ4fDApPj4yXXwwKTtjPWMrMXwwO2I9ZlsoZltkPj4yXXwwKSs4Pj4y
XXwwfU1fKGEpO01fKGZbKGZbZD4+Ml18MCkrOD4+Ml18MCk7YT0oZltkPj4yXXwwKSs4fDB9Zlth
Pj4yXT0wO3JldHVybn1mdW5jdGlvbiBVTShhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8
MDt2YXIgZT0wO2U9d3goYSxiLGMsMCl8MDtpZighZSllPXd4KGEsYixjLGQpfDA7cmV0dXJuIGV8
MH1mdW5jdGlvbiBWTShhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9
MCxrPTAsbD0wLG09MCxuPTA7bj10O3Q9dCszMnwwO2k9bjtoPW4rOHwwO2o9bisxNnwwO2w9eDEo
YSw1OSl8MDttPWMrNHwwO2Q9ZlttPj4yXXwwO2s9Yys4fDA7aWYoZD4+PjA+PShmW2s+PjJdfDAp
Pj4+MCl7YngoYywxKXwwO2Q9ZlttPj4yXXwwfWZbbT4+Ml09ZCsxO2JbZD4+MF09Mzg7aWYoKChs
fDApIT0wPyhlPWwtYXwwLChlKy0yfDApPj4+MDw9Nik6MCk/KFkyKGosYSxlKXwwLGJbaitlPj4w
XT0wLGZbaD4+Ml09aixnPXkyKGgsMTg5OTIsMjUyLDgsOTQpfDAsKGd8MCkhPTApOjApe2ZbaT4+
Ml09ZltnKzQ+PjJdO2QkKGosMTQ1NjY1LGkpfDA7YT1mW20+PjJdfDA7aWYoYT4+PjA+PShmW2s+
PjJdfDApPj4+MCl7YngoYywxKXwwO2E9ZlttPj4yXXwwfWZbbT4+Ml09YSsxO2JbYT4+MF09MzU7
ZHgoYyxqKXwwO2E9ZlttPj4yXXwwO2lmKGE+Pj4wPj0oZltrPj4yXXwwKT4+PjApe2J4KGMsMSl8
MDthPWZbbT4+Ml18MH1mW20+PjJdPWErMTtiW2E+PjBdPTU5O2E9bCsxfDB9dD1uO3JldHVybiBh
fDB9ZnVuY3Rpb24gV00oYSxiKXthPWF8MDtiPWJ8MDtyZXR1cm4gSCQoZlthPj4yXXwwLGZbYj4+
Ml18MCl8MH1mdW5jdGlvbiBYTShhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAs
aT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MDtwPXQ7dD10KzEwNzJ8MDtrPXArMTAzMnww
O2o9cCsxMDI0fDA7aT1wKzEwNDB8MDtuPXArMTA0OHwwO2ZbaT4+Ml09YTtpZigoZls0ODQ3NV18
MCkhPShjfDApKXtmWzQ4NDc1XT1jO2JbMTk0ODY5XT0wfWF4KG4sMTAyNCxwKTtvPW4rNHwwO209
bis4fDA7d2hpbGUoMSl7ZT1hKzF8MDtmW2k+PjJdPWU7ZD1iW2E+PjBdfDA7aWYoIShkPDwyND4+
MjQpKWJyZWFrO2RvIGlmKChkJjI1NSk8MTkyKWlmKGQ8PDI0Pj4yND09Mzgpe2U9Wk0oaSl8MDtp
ZighZSlkPTM4O2Vsc2V7aWYoZT4+PjA8MTI3KXtkPWUmMjU1O2JyZWFrfWE9ZltvPj4yXXwwO2Q9
YT4+PjA+PShmW20+PjJdfDApPj4+MDtpZihlPj4+MDwyMDQ3KXtpZihkKXtieChuLDEpfDA7YT1m
W28+PjJdfDB9ZltvPj4yXT1hKzE7YlthPj4wXT1lPj4+NnwxOTI7ZD0oZSY2M3wxMjgpJjI1NTti
cmVha31pZihkKXtieChuLDEpfDA7YT1mW28+PjJdfDB9ZltvPj4yXT1hKzE7YlthPj4wXT1lPj4+
MTJ8MjI0O2E9ZltvPj4yXXwwO2lmKGE+Pj4wPj0oZlttPj4yXXwwKT4+PjApe2J4KG4sMSl8MDth
PWZbbz4+Ml18MH1mW28+PjJdPWErMTtiW2E+PjBdPWU+Pj42JjYzfDEyODtkPShlJjYzfDEyOCkm
MjU1fX1lbHNle2g9MDtsPTI1fWVsc2UgaWYoKGQmMjU1KT49MjI0KWlmKChkJjI1NSk+PTI0MClp
ZigoZCYyNTUpPDI0OCl7aD0zO2w9MjV9ZWxzZXtpZighKGJbMTk0ODY5XXwwKSl7bD1BeShjKXww
O2Zbaj4+Ml09bDtZdygwLDExODAzMyxqKXwwO2JbMTk0ODY5XT0xfWg9LTE7ZD1ZTShkLG4pfDA7
bD0yNX1lbHNle2g9MjtsPTI1fWVsc2V7aD0xO2w9MjV9d2hpbGUoMCk7ZG8gaWYoKGx8MCk9PTI1
KXtsPTA7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oaHwwKSl7bD0zNDticmVha31pZigoYltlPj4w
XSYtNjQpPDwyND4+MjQhPS0xMjgpYnJlYWs7YT1mW28+PjJdfDA7aWYoYT4+PjA+PShmW20+PjJd
fDApPj4+MCl7YngobiwxKXwwO2E9ZltvPj4yXXwwfWZbbz4+Ml09YSsxO2JbYT4+MF09ZDtnPWcr
MXwwO2Q9YltlPj4wXXwwO2U9ZSsxfDB9aWYoKGx8MCk9PTM0KXtsPTA7ZltpPj4yXT1lO2JyZWFr
fWZbaT4+Ml09ZTtpZighKGJbMTk0ODY5XXwwKSl7Zz1BeShjKXwwO2Zbaz4+Ml09aCsxO2Zbays0
Pj4yXT1nO1l3KDAsMTE4MTU0LGspfDA7YlsxOTQ4NjldPTF9ZD1ZTShkLG4pfDB9d2hpbGUoMCk7
YT1mW28+PjJdfDA7aWYoYT4+PjA+PShmW20+PjJdfDApPj4+MCl7YngobiwxKXwwO2E9ZltvPj4y
XXwwfWZbbz4+Ml09YSsxO2JbYT4+MF09ZDthPWZbaT4+Ml18MH1hPWZbbz4+Ml18MDtpZihhPj4+
MD49KGZbbT4+Ml18MCk+Pj4wKXtieChuLDEpfDA7YT1mW28+PjJdfDB9YlthPj4wXT0wO209Zltu
Pj4yXXwwO2Zbbz4+Ml09bTtvPXYyKG0pfDA7ZXgobik7dD1wO3JldHVybiBvfDB9ZnVuY3Rpb24g
WU0oYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2o9dDt0
PXQrMTZ8MDtnPWo7YltnPj4wXT1hO2JbZysxPj4wXT0wO2c9X00oZyl8MDtoPWMrNHwwO2k9Yys4
fDA7ZD1jMChnKXwwO2U9Zzt3aGlsZSgxKXtpZigoZHwwKTw9MSlicmVhazthPWZbaD4+Ml18MDtp
ZihhPj4+MD49KGZbaT4+Ml18MCk+Pj4wKXtieChjLDEpfDA7YT1mW2g+PjJdfDB9az1iW2U+PjBd
fDA7ZltoPj4yXT1hKzE7YlthPj4wXT1rO2Q9ZCstMXwwO2U9ZSsxfDB9az1iW2U+PjBdfDA7TV8o
Zyk7dD1qO3JldHVybiBrfDB9ZnVuY3Rpb24gWk0oYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9
MCxoPTAsaT0wO2k9dDt0PXQrMzJ8MDtoPWk7Yz1pKzh8MDtkPWZbYT4+Ml18MDthOmRvIGlmKChi
W2Q+PjBdfDApIT0zNSl7ZltoPj4yXT1jO2c9MDtiOndoaWxlKDEpe2lmKGc+Pj4wPj04KXtjPTA7
YnJlYWsgYX1lPWJbZCtnPj4wXXwwO3N3aXRjaChlPDwyND4+MjQpe2Nhc2UgMDp7Yz0wO2JyZWFr
IGF9Y2FzZSA1OTpicmVhayBiO2RlZmF1bHQ6e319YltjPj4wXT1lO2M9YysxfDA7Zz1nKzF8MH1i
W2M+PjBdPTA7Yz15MihoLDE4OTkyLDI1Miw4LDk0KXwwO2lmKCFjKWM9MDtlbHNle2Q9ZCsoZysx
KXwwO2M9ZltjKzQ+PjJdfDB9fWVsc2V7aD1iW2QrMT4+MF18MDtjPWgmMjU1O2M6ZG8gaWYoKGh8
MzIpPDwyND4+MjQ9PTEyMCl7aD0wO2c9Mjt3aGlsZSgxKXtpZihnPj4+MD49OCl7ZT1oO2JyZWFr
IGN9ZT1iW2QrZz4+MF18MDtjPWUmMjU1O2lmKChlKy02NSYyNTUpPj02KWlmKChlKy05NyYyNTUp
Pj02KWlmKChlKy00OCYyNTUpPDEwKWU9LTQ4O2Vsc2V7ZT1oO2JyZWFrIGN9ZWxzZSBlPS04Nztl
bHNlIGU9LTU1O2M9ZStjfDA7aD1jKyhoPDw0KXwwO2c9ZysxfDB9fWVsc2V7ZT0wO2c9MTt3aGls
ZSgxKXtpZihnPj4+MD49OClicmVhayBjO2g9YltkK2c+PjBdfDA7Yz1oJjI1NTtpZigoaCstNDgm
MjU1KT49MTApYnJlYWsgYztlPShlKjEwfDApKy00OCtjfDA7Zz1nKzF8MH19d2hpbGUoMCk7Yz0o
Y3wwKT09NTk7ZD1jP2QrKGcrMSl8MDpkO2M9Yz9lOjB9d2hpbGUoMCk7ZlthPj4yXT1kO3Q9aTty
ZXR1cm4gY3wwfWZ1bmN0aW9uIF9NKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9
MCxqPTAsaz0wO2s9dDt0PXQrMTA1NnwwO2c9aysxMDI0fDA7aT1rKzEwMzJ8MDtmW2c+PjJdPWE7
YXgoaSwxMDI0LGspO2o9aSs0fDA7aD1pKzh8MDt3aGlsZSgxKXtmW2c+PjJdPWErMTtjPWJbYT4+
MF18MDtpZighKGM8PDI0Pj4yNCkpYnJlYWs7YT1jJjI1NTtpZihjPDwyND4+MjQ9PTM4KXthPVpN
KGcpfDA7aWYoIWEpe2E9Mzg7ZT02fWVsc2UgZT01fWVsc2UgZT01O2RvIGlmKChlfDApPT01KXtl
PTA7aWYoYT4+PjA8MTI3KWU9NjtlbHNle2M9ZltqPj4yXXwwO2Q9Yz4+PjA+PShmW2g+PjJdfDAp
Pj4+MDtpZihhPj4+MDwyMDQ3KXtpZihkKXtieChpLDEpfDA7Yz1mW2o+PjJdfDB9ZltqPj4yXT1j
KzE7YltjPj4wXT1hPj4+NnwxOTI7Yz1mW2o+PjJdfDA7aWYoYz4+PjA+PShmW2g+PjJdfDApPj4+
MCl7YngoaSwxKXwwO2M9ZltqPj4yXXwwfWE9YSY2M3wxMjg7YnJlYWt9aWYoZCl7YngoaSwxKXww
O2M9ZltqPj4yXXwwfWZbaj4+Ml09YysxO2JbYz4+MF09YT4+PjEyfDIyNDtjPWZbaj4+Ml18MDtp
ZihjPj4+MD49KGZbaD4+Ml18MCk+Pj4wKXtieChpLDEpfDA7Yz1mW2o+PjJdfDB9ZltqPj4yXT1j
KzE7YltjPj4wXT1hPj4+NiY2M3wxMjg7Yz1mW2o+PjJdfDA7aWYoYz4+PjA+PShmW2g+PjJdfDAp
Pj4+MCl7YngoaSwxKXwwO2M9ZltqPj4yXXwwfWE9YSY2M3wxMjh9fXdoaWxlKDApO2lmKChlfDAp
PT02KXtjPWZbaj4+Ml18MDtpZihjPj4+MD49KGZbaD4+Ml18MCk+Pj4wKXtieChpLDEpfDA7Yz1m
W2o+PjJdfDB9fWZbaj4+Ml09YysxO2JbYz4+MF09YTthPWZbZz4+Ml18MH1hPWZbaj4+Ml18MDtp
ZihhPj4+MD49KGZbaD4+Ml18MCk+Pj4wKXtieChpLDEpfDA7YT1mW2o+PjJdfDB9YlthPj4wXT0w
O2g9ZltpPj4yXXwwO2Zbaj4+Ml09aDtqPXYyKGgpfDA7ZXgoaSk7dD1rO3JldHVybiBqfDB9ZnVu
Y3Rpb24gJE0oYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wO2k9dDt0PXQrMTA0
MHwwO2c9aSsxMDI0fDA7YXgoZywxMDI0LGkpO2g9Zys0fDA7ZT1nKzh8MDt3aGlsZSgxKXtjPWEr
MXwwO2Q9YlthPj4wXXwwO2lmKCEoZDw8MjQ+PjI0KSlicmVhaztpZigoZCYyNTUpPDEyNyl7YT1m
W2g+PjJdfDA7aWYoYT4+PjA+PShmW2U+PjJdfDApPj4+MCl7YngoZywxKXwwO2E9ZltoPj4yXXww
fWZbaD4+Ml09YSsxO2JbYT4+MF09ZDthPWN9ZWxzZXtkPWJbYz4+MF0mNjN8ZDw8NiYyNTU7Yz1m
W2g+PjJdfDA7aWYoYz4+PjA+PShmW2U+PjJdfDApPj4+MCl7YngoZywxKXwwO2M9ZltoPj4yXXww
fWZbaD4+Ml09YysxO2JbYz4+MF09ZDthPWErMnwwfX1hPWZbaD4+Ml18MDtpZihhPj4+MD49KGZb
ZT4+Ml18MCk+Pj4wKXtieChnLDEpfDA7YT1mW2g+PjJdfDB9YlthPj4wXT0wO2U9ZltnPj4yXXww
O2ZbaD4+Ml09ZTtoPXYyKGUpfDA7ZXgoZyk7dD1pO3JldHVybiBofDB9ZnVuY3Rpb24gYU4oYSxi
KXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTA7bD10
O3Q9dCs4MHwwO2Q9bCs0OHwwO2M9bCszMnwwO2U9bCs2NHwwO2c9bCsxNnwwO2g9bDtpPWIrMTZ8
MDtqPWErMTZ8MDtrPWZbaj4+Ml18MDtpZigoKCtwW2k+PjNdPj0rcFtrKzQ4Pj4zXT8rcFtrKzY0
Pj4zXT49K3BbYj4+M106MCk/K3BbYisyND4+M10+PStwW2srNTY+PjNdOjApPytwW2srNzI+PjNd
Pj0rcFtiKzg+PjNdOjApe2s9aysxNnwwO2ZbYz4+Ml09ZltpPj4yXTtmW2MrND4+Ml09ZltpKzQ+
PjJdO2ZbYys4Pj4yXT1mW2krOD4+Ml07ZltjKzEyPj4yXT1mW2krMTI+PjJdO2ZbZD4+Ml09Zlti
Pj4yXTtmW2QrND4+Ml09ZltiKzQ+PjJdO2ZbZCs4Pj4yXT1mW2IrOD4+Ml07ZltkKzEyPj4yXT1m
W2IrMTI+PjJdO2JOKGcsYyxkKTtmW2M+PjJdPWZbaz4+Ml07ZltjKzQ+PjJdPWZbays0Pj4yXTtm
W2MrOD4+Ml09ZltrKzg+PjJdO2ZbYysxMj4+Ml09ZltrKzEyPj4yXTtmW2Q+PjJdPWZbZz4+Ml07
ZltkKzQ+PjJdPWZbZys0Pj4yXTtmW2QrOD4+Ml09ZltnKzg+PjJdO2ZbZCsxMj4+Ml09ZltnKzEy
Pj4yXTt4TShoLGMsZCk7ZltlPj4yXT1hO2ZbZSs0Pj4yXT0wO2M9ZlsoZlsoZlsoZltqPj4yXXww
KSs4Pj4yXXwwKSs0Pj4yXXwwKSsxMj4+Ml18MDtmW2Q+PjJdPWZbaD4+Ml07ZltkKzQ+PjJdPWZb
aCs0Pj4yXTtmW2QrOD4+Ml09ZltoKzg+PjJdO2ZbZCsxMj4+Ml09ZltoKzEyPj4yXTtjPXViW2Mm
MTI3XShlLGQpfDB9ZWxzZSBjPTA7dD1sO3JldHVybiBjfDB9ZnVuY3Rpb24gYk4oYSxiLGMpe2E9
YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMDtkPSgrcFtjKzg+PjNdKyArcFtiKzg+PjNdKSouNTtw
W2E+PjNdPSgrcFtjPj4zXSsgK3BbYj4+M10pKi41O3BbYSs4Pj4zXT1kO3JldHVybn1mdW5jdGlv
biBjTihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAsZT0wLjAsZz0wLGg9MC4wLGk9MCxq
PTAsaz0wLGw9MDtkPXQ7dD10KzgwfDA7aT1kKzY0fDA7aj1kKzQ4fDA7az1kO2w9ZCszMnwwO2c9
ZCsxNnwwO3Bbaz4+M109K3BbYSsyND4+M10qLjU7cFtrKzg+PjNdPStwW2ErMzI+PjNdKi41O2E9
YSs1NnwwO2Zbaj4+Ml09ZlthPj4yXTtmW2orND4+Ml09ZlthKzQ+PjJdO2Zbais4Pj4yXT1mW2Er
OD4+Ml07ZltqKzEyPj4yXT1mW2ErMTI+PjJdO2ZbaT4+Ml09ZltrPj4yXTtmW2krND4+Ml09Zltr
KzQ+PjJdO2ZbaSs4Pj4yXT1mW2srOD4+Ml07ZltpKzEyPj4yXT1mW2srMTI+PjJdO3hNKGwsaixp
KTtoPStwW2w+PjNdO2U9K3BbbCs4Pj4zXTtmW2o+PjJdPWZbYT4+Ml07ZltqKzQ+PjJdPWZbYSs0
Pj4yXTtmW2orOD4+Ml09ZlthKzg+PjJdO2ZbaisxMj4+Ml09ZlthKzEyPj4yXTtmW2k+PjJdPWZb
az4+Ml07ZltpKzQ+PjJdPWZbays0Pj4yXTtmW2krOD4+Ml09ZltrKzg+PjJdO2ZbaSsxMj4+Ml09
ZltrKzEyPj4yXTt5TShnLGosaSk7Yz0rcFtnKzg+PjNdO2lmKCgrcFtiKzE2Pj4zXT49aD8rcFtn
Pj4zXT49K3BbYj4+M106MCk/K3BbYisyND4+M10+PWU6MClhPWM+PStwW2IrOD4+M10mMTtlbHNl
IGE9MDt0PWQ7cmV0dXJuIGF8MH1mdW5jdGlvbiBkTihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAs
ZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7bT10O3Q9dCs4MHwwO2s9bSs0OHww
O2o9bTtoPWErMTZ8MDthPWZbaD4+Ml18MDtpPWZbYSs4Pj4yXXwwO2E6ZG8gaWYoKGl8MCkhPTA/
KGc9aSs4fDAsZltqPj4yXT1mW2c+PjJdLGZbais0Pj4yXT1mW2crND4+Ml0sZltqKzg+PjJdPWZb
Zys4Pj4yXSxmW2orMTI+PjJdPWZbZysxMj4+Ml0sZltqKzE2Pj4yXT1mW2crMTY+PjJdLGZbaisy
MD4+Ml09ZltnKzIwPj4yXSxmW2orMjQ+PjJdPWZbZysyND4+Ml0sZltqKzI4Pj4yXT1mW2crMjg+
PjJdLGZbaz4+Ml09ZltiPj4yXSxmW2srND4+Ml09ZltiKzQ+PjJdLGZbays4Pj4yXT1mW2IrOD4+
Ml0sZltrKzEyPj4yXT1mW2IrMTI+PjJdLGZbaysxNj4+Ml09ZltiKzE2Pj4yXSxmW2srMjA+PjJd
PWZbYisyMD4+Ml0sZltrKzI0Pj4yXT1mW2IrMjQ+PjJdLGZbaysyOD4+Ml09ZltiKzI4Pj4yXSwo
ZU4oaixrKXwwKSE9MCk6MCl7Yz1pKzR8MDthPTA7d2hpbGUoMSl7aWYoKGF8MCk+PShmW2M+PjJd
fDApKWJyZWFrO2Q9ajtlPShmW2k+PjJdfDApKyhhKjQ4fDApfDA7Zz1kKzQ4fDA7ZG97ZltkPj4y
XT1mW2U+PjJdO2Q9ZCs0fDA7ZT1lKzR8MH13aGlsZSgoZHwwKTwoZ3wwKSk7ZltrPj4yXT1mW2I+
PjJdO2Zbays0Pj4yXT1mW2IrND4+Ml07ZltrKzg+PjJdPWZbYis4Pj4yXTtmW2srMTI+PjJdPWZb
YisxMj4+Ml07ZltrKzE2Pj4yXT1mW2IrMTY+PjJdO2ZbaysyMD4+Ml09ZltiKzIwPj4yXTtmW2sr
MjQ+PjJdPWZbYisyND4+Ml07ZltrKzI4Pj4yXT1mW2IrMjg+PjJdO2lmKCEoKGZOKGosayl8MCk8
PDI0Pj4yNCkpYT1hKzF8MDtlbHNle2E9MTticmVhayBhfX1hPWZbaD4+Ml18MDtsPTd9ZWxzZSBs
PTc7d2hpbGUoMCk7ZG8gaWYoKGx8MCk9PTcpe2E9ZlthKzk2Pj4yXXwwO2lmKGF8MD8oZltrPj4y
XT1mW2I+PjJdLGZbays0Pj4yXT1mW2IrND4+Ml0sZltrKzg+PjJdPWZbYis4Pj4yXSxmW2srMTI+
PjJdPWZbYisxMj4+Ml0sZltrKzE2Pj4yXT1mW2IrMTY+PjJdLGZbaysyMD4+Ml09ZltiKzIwPj4y
XSxmW2srMjQ+PjJdPWZbYisyND4+Ml0sZltrKzI4Pj4yXT1mW2IrMjg+PjJdLChjTihhLGspfDAp
PDwyND4+MjQpOjApe2E9MTticmVha31hPTB9d2hpbGUoMCk7dD1tO3JldHVybiBhfDB9ZnVuY3Rp
b24gZU4oYSxiKXthPWF8MDtiPWJ8MDtpZigoK3BbYSsxNj4+M10+PStwW2I+PjNdPytwW2IrMTY+
PjNdPj0rcFthPj4zXTowKT8rcFthKzI0Pj4zXT49K3BbYis4Pj4zXTowKWE9K3BbYisyND4+M10+
PStwW2ErOD4+M10mMTtlbHNlIGE9MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIGZOKGEsYil7YT1hfDA7
Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDttPXQ7dD10
Kzk2fDA7az1tKzY0fDA7aj1tKzQ4fDA7aT1tKzMyfDA7ZT1tKzE2fDA7Zz1tO2w9YSs0fDA7Yz1m
W2w+PjJdfDA7aWYoIWMpeGEoMTE4MjYzLDExNTk4NywxNjM3LDExODI3MSk7ZD1mW2E+PjJdfDA7
ZltnPj4yXT1mW2Q+PjJdO2ZbZys0Pj4yXT1mW2QrND4+Ml07ZltnKzg+PjJdPWZbZCs4Pj4yXTtm
W2crMTI+PjJdPWZbZCsxMj4+Ml07ZD0xO3doaWxlKDEpe2lmKChkfDApPj0oY3wwKSl7aD03O2Jy
ZWFrfWM9KGZbYT4+Ml18MCkrKGQ8PDQpfDA7ZltlPj4yXT1mW2M+PjJdO2ZbZSs0Pj4yXT1mW2Mr
ND4+Ml07ZltlKzg+PjJdPWZbYys4Pj4yXTtmW2UrMTI+PjJdPWZbYysxMj4+Ml07ZltpPj4yXT1m
W2M+PjJdO2ZbaSs0Pj4yXT1mW2MrND4+Ml07ZltpKzg+PjJdPWZbYys4Pj4yXTtmW2krMTI+PjJd
PWZbYysxMj4+Ml07ZltqPj4yXT1mW2c+PjJdO2Zbais0Pj4yXT1mW2crND4+Ml07ZltqKzg+PjJd
PWZbZys4Pj4yXTtmW2orMTI+PjJdPWZbZysxMj4+Ml07ZltrPj4yXT1mW2I+PjJdO2Zbays0Pj4y
XT1mW2IrND4+Ml07ZltrKzg+PjJdPWZbYis4Pj4yXTtmW2srMTI+PjJdPWZbYisxMj4+Ml07Zltr
KzE2Pj4yXT1mW2IrMTY+PjJdO2ZbaysyMD4+Ml09ZltiKzIwPj4yXTtmW2srMjQ+PjJdPWZbYisy
ND4+Ml07ZltrKzI4Pj4yXT1mW2IrMjg+PjJdO2lmKChjSChpLGosayl8MCkhPS0xKXtjPTE7YnJl
YWt9O2ZbZz4+Ml09ZltlPj4yXTtmW2crND4+Ml09ZltlKzQ+PjJdO2ZbZys4Pj4yXT1mW2UrOD4+
Ml07ZltnKzEyPj4yXT1mW2UrMTI+PjJdO2Q9ZCsxfDA7Yz1mW2w+PjJdfDB9ZG8gaWYoKGh8MCk9
PTcpe2M9ZlthKzg+PjJdfDA7aWYoY3wwPyhnPWErMTZ8MCxoPWZbYT4+Ml18MCxmW2k+PjJdPWZb
Zz4+Ml0sZltpKzQ+PjJdPWZbZys0Pj4yXSxmW2krOD4+Ml09ZltnKzg+PjJdLGZbaSsxMj4+Ml09
ZltnKzEyPj4yXSxmW2o+PjJdPWZbaD4+Ml0sZltqKzQ+PjJdPWZbaCs0Pj4yXSxmW2orOD4+Ml09
ZltoKzg+PjJdLGZbaisxMj4+Ml09ZltoKzEyPj4yXSxmW2s+PjJdPWZbYj4+Ml0sZltrKzQ+PjJd
PWZbYis0Pj4yXSxmW2srOD4+Ml09ZltiKzg+PjJdLGZbaysxMj4+Ml09ZltiKzEyPj4yXSxmW2sr
MTY+PjJdPWZbYisxNj4+Ml0sZltrKzIwPj4yXT1mW2IrMjA+PjJdLGZbaysyND4+Ml09ZltiKzI0
Pj4yXSxmW2srMjg+PjJdPWZbYisyOD4+Ml0sKGdOKGksaixjLGspfDApPDwyND4+MjQpOjApe2M9
MTticmVha31jPWZbYSsxMj4+Ml18MDtpZihjfDA/KGg9YSszMnwwLGw9KGZbYT4+Ml18MCkrKChm
W2w+PjJdfDApKy0xPDw0KXwwLGZbaT4+Ml09ZltoPj4yXSxmW2krND4+Ml09ZltoKzQ+PjJdLGZb
aSs4Pj4yXT1mW2grOD4+Ml0sZltpKzEyPj4yXT1mW2grMTI+PjJdLGZbaj4+Ml09ZltsPj4yXSxm
W2orND4+Ml09ZltsKzQ+PjJdLGZbais4Pj4yXT1mW2wrOD4+Ml0sZltqKzEyPj4yXT1mW2wrMTI+
PjJdLGZbaz4+Ml09ZltiPj4yXSxmW2srND4+Ml09ZltiKzQ+PjJdLGZbays4Pj4yXT1mW2IrOD4+
Ml0sZltrKzEyPj4yXT1mW2IrMTI+PjJdLGZbaysxNj4+Ml09ZltiKzE2Pj4yXSxmW2srMjA+PjJd
PWZbYisyMD4+Ml0sZltrKzI0Pj4yXT1mW2IrMjQ+PjJdLGZbaysyOD4+Ml09ZltiKzI4Pj4yXSwo
Z04oaSxqLGMsayl8MCk8PDI0Pj4yNCk6MCl7Yz0xO2JyZWFrfWM9MH13aGlsZSgwKTt0PW07cmV0
dXJuIGN8MH1mdW5jdGlvbiBnTihhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIg
ZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MC4wO2s9dDt0PXQrMTYwfDA7Zz1rKzE0NHww
O2U9aysxMjh8MDtsPWsrOTZ8MDtoPWsrNjR8MDtpPWsrMzJ8MDtqPWs7bT0rcFtkKzE2Pj4zXTtm
W2U+PjJdPWZbYT4+Ml07ZltlKzQ+PjJdPWZbYSs0Pj4yXTtmW2UrOD4+Ml09ZlthKzg+PjJdO2Zb
ZSsxMj4+Ml09ZlthKzEyPj4yXTtmW2c+PjJdPWZbYj4+Ml07ZltnKzQ+PjJdPWZbYis0Pj4yXTtm
W2crOD4+Ml09ZltiKzg+PjJdO2ZbZysxMj4+Ml09ZltiKzEyPj4yXTtTRShsLGUsZywxLjAsYyk7
aWYoKChtPj0rcFtsPj4zXT8oZltlPj4yXT1mW2E+PjJdLGZbZSs0Pj4yXT1mW2ErND4+Ml0sZltl
Kzg+PjJdPWZbYSs4Pj4yXSxmW2UrMTI+PjJdPWZbYSsxMj4+Ml0sZltnPj4yXT1mW2I+PjJdLGZb
Zys0Pj4yXT1mW2IrND4+Ml0sZltnKzg+PjJdPWZbYis4Pj4yXSxmW2crMTI+PjJdPWZbYisxMj4+
Ml0sU0UoaCxlLGcsMS4wLGMpLCtwW2grMTY+PjNdPj0rcFtkPj4zXSk6MCk/KG09K3BbZCsyND4+
M10sZltlPj4yXT1mW2E+PjJdLGZbZSs0Pj4yXT1mW2ErND4+Ml0sZltlKzg+PjJdPWZbYSs4Pj4y
XSxmW2UrMTI+PjJdPWZbYSsxMj4+Ml0sZltnPj4yXT1mW2I+PjJdLGZbZys0Pj4yXT1mW2IrND4+
Ml0sZltnKzg+PjJdPWZbYis4Pj4yXSxmW2crMTI+PjJdPWZbYisxMj4+Ml0sU0UoaSxlLGcsMS4w
LGMpLG0+PStwW2krOD4+M10pOjApPyhmW2U+PjJdPWZbYT4+Ml0sZltlKzQ+PjJdPWZbYSs0Pj4y
XSxmW2UrOD4+Ml09ZlthKzg+PjJdLGZbZSsxMj4+Ml09ZlthKzEyPj4yXSxmW2c+PjJdPWZbYj4+
Ml0sZltnKzQ+PjJdPWZbYis0Pj4yXSxmW2crOD4+Ml09ZltiKzg+PjJdLGZbZysxMj4+Ml09Zlti
KzEyPj4yXSxTRShqLGUsZywxLjAsYyksK3BbaisyND4+M10+PStwW2QrOD4+M10pOjApZT0xO2Vs
c2UgZT0wO3Q9aztyZXR1cm4gZXwwfWZ1bmN0aW9uIGhOKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9
MCxlPTAsZz0wO2c9dDt0PXQrMTZ8MDtlPWc7YTpkbyBpZigoYXwwKSE9MD8oZD1iW2E+PjBdfDAs
ZDw8MjQ+PjI0IT0wKTowKXtkbyBzd2l0Y2goZDw8MjQ+PjI0fDApe2Nhc2UgNDg6e2M9MjticmVh
ayBhfWNhc2UgNTc6Y2FzZSA1NjpjYXNlIDU1OmNhc2UgNTQ6Y2FzZSA1MzpjYXNlIDUyOmNhc2Ug
NTE6Y2FzZSA1MDpjYXNlIDQ5OntjPTEwO2JyZWFrIGF9Y2FzZSA2NzpjYXNlIDk5OntkPWErMXww
O2lmKCEoYjMoZCwxMTgyODYpfDApKXtjPTQ7YnJlYWsgYX1pZighKGIzKGQsMTE4MjkyKXwwKSl7
Yz0xMjticmVhayBhfWJyZWFrfWNhc2UgNzA6Y2FzZSAxMDI6e2lmKCEoYjMoYSsxfDAsMTE4MzAw
KXwwKSl7Yz0yO2JyZWFrIGF9YnJlYWt9Y2FzZSA3NjpjYXNlIDEwODp7aWYoIShiMyhhKzF8MCwx
MTgzMDUpfDApKXtjPTI7YnJlYWsgYX1icmVha31jYXNlIDc4OmNhc2UgMTEwOntkPWErMXwwO2lm
KCEoYjMoZCwxMTgzMDkpfDApKXtjPTA7YnJlYWsgYX1pZighKGIzKGQsMTE4MzEzKXwwKSl7Yz0y
O2JyZWFrIGF9YnJlYWt9Y2FzZSA3OTpjYXNlIDExMTp7aWYoIShiMyhhKzF8MCwxMTgzMTUpfDAp
KXtjPTg7YnJlYWsgYX1icmVha31jYXNlIDgwOmNhc2UgMTEyOntpZighKGIzKGErMXwwLDExODMy
MCl8MCkpe2M9NjticmVhayBhfWJyZWFrfWNhc2UgODM6Y2FzZSAxMTU6e2lmKCEoYjMoYSsxfDAs
MTE4MzI4KXwwKSl7Yz0xMDticmVhayBhfWJyZWFrfWNhc2UgODQ6Y2FzZSAxMTY6e2lmKCEoYjMo
YSsxfDAsMTE4MzM0KXwwKSl7Yz0xMDticmVhayBhfWJyZWFrfWNhc2UgODk6Y2FzZSAxMjE6e2lm
KCEoYjMoYSsxfDAsMTE4MzM4KXwwKSl7Yz0xMDticmVhayBhfWJyZWFrfWRlZmF1bHQ6e319d2hp
bGUoMCk7ZltlPj4yXT1hO1l3KDAsMTE4MzQxLGUpfDB9d2hpbGUoMCk7dD1nO3JldHVybiBjfDB9
ZnVuY3Rpb24gaU4oYSxjKXthPWF8MDtjPWN8MDt2YXIgZT0wO2U9R3goYSwxMTgzODIpfDA7aWYo
ZSlpZighKGJbZT4+MF18MCkpYz0wO2Vsc2UgYz1oTihlLGMpfDA7YT0oZlthKzE2Pj4yXXwwKSsx
MzZ8MDtkW2E+PjFdPWN8althPj4xXTtyZXR1cm59ZnVuY3Rpb24gak4oYSxiLGMsZCxlKXthPWF8
MDtiPWJ8MDtjPWN8MDtkPStkO2U9ZXwwO3ZhciBmPTAuMCxnPTAuMCxoPTAuMCxpPTAuMCxqPTAu
MCxrPTAuMCxsPTAuMCxtPTAuMCxuPTAsbz0wO249ZSYxO289ZSYyO2E6ZG8gaWYoKGN8MCk9PTIp
e2w9K3BbYSsxNj4+M107Zj0rcFthPj4zXTtoPStwW2ErMjQ+PjNdO2c9K3BbYSs4Pj4zXTttPWw7
Zj1mLWwrZjtnPWctaCtnfWVsc2V7Zz0rcFthPj4zXTtoPStwW2ErOD4+M107ZT0wO2Y9ZztpPWg7
d2hpbGUoMSl7aWYoKGV8MCk+PShjfDApKXttPWY7Zj1nO2c9aTticmVhayBhfWw9K3BbYSsoZTw8
NCk+PjNdO209K3BbYSsoZTw8NCkrOD4+M107ZT1lKzF8MDtmPWw+Zj9sOmY7Zz1sPGc/bDpnO2k9
bTxpP206aTtoPW0+aD9tOmh9fXdoaWxlKDApO2k9KG0tZikqLjU7bD1pK2Y7aj0oaC1nKSouNTtr
PWorZztpZighbil7aD1oLWs7aT1kO2Y9K00oK2kpO2k9K0woK2kpO2lmKCFvKXtnPS1rLWoqZjtm
PWgqZi1rfWVsc2V7Zj1oKmY7Zz1mK2s7Zj1rLWZ9cFtiKzg+PjNdPWY7cFtiKzI0Pj4zXT1nO2Q9
KG0tbCkqaTtwW2I+PjNdPWwtZDtwW2IrMTY+PjNdPWQrbH1lbHNle2Q9K0ooKyhqKmoraSppKSk7
cFtiKzg+PjNdPShvfDApPT0wPy1rOms7cFtiPj4zXT1sO3BbYisxNj4+M109ZCouMjU7cFtiKzI0
Pj4zXT1kfXJldHVybn1mdW5jdGlvbiBrTihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAu
MCxlPTA7ZT1iPDwyND4+MjQ9PTA7Yj1mW2ErMTY+PjJdfDA7ZD0rcFsoZT9iKzMyfDA6Yis0MHww
KT4+M10qMzYuMDtjPStwWyhlP2IrNDB8MDpiKzMyfDApPj4zXSo3Mi4wO3BbYis5Nj4+M109ZDtw
W2IrODg+PjNdPWQ7cFtiKzgwPj4zXT1jO3JldHVybn1mdW5jdGlvbiBsTihhLGMpe2E9YXwwO2M9
Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxx
PTAscj0wLHM9MCx1PTAseD0wLHk9MCx6PTA7eT10O3Q9dCsxNnwwO2k9eSs4fDA7eD00O3U9TF8o
NDApfDA7Zlt1Pj4yXT0wO3A9eTt2PTA7ZD1nYSgyOSxhfDApfDA7ZT12O3Y9MDtpZigoZXwwKSE9
MCYod3wwKSE9MCl7Zz1QMyhmW2U+PjJdfDAsdXwwLHh8MCl8MDtpZighZylqYihlfDAsd3wwKTtH
PXd9ZWxzZSBnPS0xO2E6ZG8gaWYoKGd8MCkhPTEpe3Y9MDtzPWdhKDIzLGQ8PDN8MCl8MDtlPXY7
dj0wO2lmKChlfDApIT0wJih3fDApIT0wKXtkPVAzKGZbZT4+Ml18MCx1fDAseHwwKXwwO2lmKCFk
KWpiKGV8MCx3fDApO0c9d31lbHNlIGQ9LTE7aWYoKGR8MCkhPTEpe2lmKCEoYlsxOTQ4NjVdfDAp
KXE9MDtlbHNle3Y9MDtkPWZhKDMpfDA7ZT12O3Y9MDtpZigoZXwwKSE9MCYod3wwKSE9MCl7Zz1Q
MyhmW2U+PjJdfDAsdXwwLHh8MCl8MDtpZighZylqYihlfDAsd3wwKTtHPXd9ZWxzZSBnPS0xO2lm
KChnfDApPT0xKXttPTA7az0wO2w9MDtqPTA7Yz0wO2k9cztoPXM7ZD1HO2c9MDtyPTc2O2JyZWFr
fXE9ZH12PTA7ZD1oYSg5NSxhfDAsMTE4MzkwKXwwO2U9djt2PTA7aWYoKGV8MCkhPTAmKHd8MCkh
PTApe2c9UDMoZltlPj4yXXwwLHV8MCx4fDApfDA7aWYoIWcpamIoZXwwLHd8MCk7Rz13fWVsc2Ug
Zz0tMTtpZigoZ3wwKSE9MSl7Zls0ODQ3Nl09MDtiOmRvIGlmKGR8MD8oaD1iW2Q+PjBdfDAsaDw8
MjQ+PjI0KTowKXtnPWQ7ZT1oO2Q9MDt3aGlsZSgxKXtoPWcrMXwwO2lmKCEoZTw8MjQ+PjI0KSli
cmVhayBiO3N3aXRjaChlPDwyND4+MjR8MCl7Y2FzZSA5OTp7ZD1kfDg7cj0xNzticmVha31jYXNl
IDEwNTp7ZD1kfDE4O3I9MTc7YnJlYWt9Y2FzZSAxMDk6e2Q9ZHwxO3I9MTc7YnJlYWt9Y2FzZSAx
MTQ6e2Q9ZHw0O3I9MTc7YnJlYWt9Y2FzZSAxMTU6e2Q9ZHwyO3I9MTc7YnJlYWt9ZGVmYXVsdDp7
fX1pZigocnwwKT09MTcpe3I9MDtmWzQ4NDc2XT1kfWc9aDtlPWJbaD4+MF18MH19d2hpbGUoMCk7
aWYoY3wwKXt2PTA7amEoMjAsMCwxMTgzOTQsaXwwKXwwO2Q9djt2PTA7aWYoKGR8MCkhPTAmKHd8
MCkhPTApe2U9UDMoZltkPj4yXXwwLHV8MCx4fDApfDA7aWYoIWUpamIoZHwwLHd8MCk7Rz13fWVs
c2UgZT0tMTtpZigoZXwwKT09MSl7bT0wO2s9cTtsPTA7aj0wO2M9MDtpPXM7aD1zO2Q9RztnPTA7
cj03NjticmVha319dj0wO289aGEoOTYsYXwwLDApfDA7ZD12O3Y9MDtpZigoZHwwKSE9MCYod3ww
KSE9MCl7ZT1QMyhmW2Q+PjJdfDAsdXwwLHh8MCl8MDtpZighZSlqYihkfDAsd3wwKTtHPXd9ZWxz
ZSBlPS0xO2lmKChlfDApIT0xKXtsPWZbbysxNj4+Ml18MDtpZihmWzQ4NDc2XSYyfDApe3Y9MDtx
YSgyNixmWzE5NDU3XXwwLGx8MCk7ZD12O3Y9MDtpZigoZHwwKSE9MCYod3wwKSE9MCl7ZT1QMyhm
W2Q+PjJdfDAsdXwwLHh8MCl8MDtpZighZSlqYihkfDAsd3wwKTtHPXd9ZWxzZSBlPS0xO2lmKChl
fDApPT0xKXttPTA7az1xO2w9MDtqPTA7Yz1vO2k9cztoPXM7ZD1HO2c9MDtyPTc2O2JyZWFrfX12
PTA7Zz1nYSgyNSxhfDApfDA7ZD12O3Y9MDtpZigoZHwwKSE9MCYod3wwKSE9MCl7ZT1QMyhmW2Q+
PjJdfDAsdXwwLHh8MCl8MDtpZighZSlqYihkfDAsd3wwKTtHPXd9ZWxzZSBlPS0xO2lmKChlfDAp
IT0xKXttPTA7d2hpbGUoMSl7aWYoIWcpYnJlYWs7dj0wO2Q9aGEoOTcsYXwwLGd8MCl8MDtlPXY7
dj0wO2lmKChlfDApIT0wJih3fDApIT0wKXtoPVAzKGZbZT4+Ml18MCx1fDAseHwwKXwwO2lmKCFo
KWpiKGV8MCx3fDApO0c9d31lbHNlIGg9LTE7aWYoKGh8MCk9PTEpe2s9cTtsPTA7aj0wO2M9bztp
PXM7aD1zO2Q9RztnPTA7cj03NjticmVhayBhfWM9bTt3aGlsZSgxKXtpZighZClicmVhaztpZigh
KChmWzQ4MzI1XXwwKT09Mj8oZlsoZltkKzE2Pj4yXXwwKSs4Pj4yXXwwKSE9MDowKSlyPTM0O2M6
ZG8gaWYoKHJ8MCk9PTM0KXtyPTA7ZG8gaWYoYlsxOTQ4NjVdfDApe2s9ZltkPj4yXSYzO2o9KGZb
ZlsoKGt8MCk9PTM/ZDpkKzQ4fDApKzQwPj4yXT4+Ml18MCk+Pj40O2s9KGZbZlsoKGt8MCk9PTI/
ZDpkKy00OHwwKSs0MD4+Ml0+PjJdfDApPj4+NDtpZihqPj4+MD5rPj4+MCl7dj0wO2U9amEoMzEs
cXwwLGt8MCxqfDApfDA7aD12O3Y9MDtpZigoaHwwKSE9MCYod3wwKSE9MCl7aT1QMyhmW2g+PjJd
fDAsdXwwLHh8MCl8MDtpZighaSlqYihofDAsd3wwKTtHPXd9ZWxzZSBpPS0xO2lmKChpfDApPT0x
KXtrPXE7bD0wO2o9MDtjPW87aT1zO2g9cztkPUc7Zz0wO3I9NzY7YnJlYWsgYX1pZihlfDApYnJl
YWsgYzt2PTA7cmEoNjQscXwwLGt8MCxqfDApO2g9djt2PTA7aWYoKGh8MCkhPTAmKHd8MCkhPTAp
e2U9UDMoZltoPj4yXXwwLHV8MCx4fDApfDA7aWYoIWUpamIoaHwwLHd8MCk7Rz13fWVsc2UgZT0t
MTtpZigoZXwwKT09MSl7az1xO2w9MDtqPTA7Yz1vO2k9cztoPXM7ZD1HO2c9MDtyPTc2O2JyZWFr
IGF9YnJlYWt9ZWxzZXt2PTA7ZT1qYSgzMSxxfDAsanwwLGt8MCl8MDtoPXY7dj0wO2lmKChofDAp
IT0wJih3fDApIT0wKXtpPVAzKGZbaD4+Ml18MCx1fDAseHwwKXwwO2lmKCFpKWpiKGh8MCx3fDAp
O0c9d31lbHNlIGk9LTE7aWYoKGl8MCk9PTEpe2s9cTtsPTA7aj0wO2M9bztpPXM7aD1zO2Q9Rztn
PTA7cj03NjticmVhayBhfWlmKGV8MClicmVhayBjO3Y9MDtyYSg2NCxxfDAsanwwLGt8MCk7ZT12
O3Y9MDtpZigoZXwwKSE9MCYod3wwKSE9MCl7aD1QMyhmW2U+PjJdfDAsdXwwLHh8MCl8MDtpZigh
aClqYihlfDAsd3wwKTtHPXd9ZWxzZSBoPS0xO2lmKChofDApPT0xKXtrPXE7bD0wO2o9MDtjPW87
aT1zO2g9cztkPUc7Zz0wO3I9NzY7YnJlYWsgYX1icmVha319d2hpbGUoMCk7ZltzKyhjPDwzKSs0
Pj4yXT1kO3Y9MDtlPWdhKDMwLGR8MCl8MDtoPXY7dj0wO2lmKChofDApIT0wJih3fDApIT0wKXtp
PVAzKGZbaD4+Ml18MCx1fDAseHwwKXwwO2lmKCFpKWpiKGh8MCx3fDApO0c9d31lbHNlIGk9LTE7
aWYoKGl8MCk9PTEpe2s9cTtsPTA7aj0wO2M9bztpPXM7aD1zO2Q9RztnPTA7cj03NjticmVhayBh
fWZbcysoYzw8Myk+PjJdPWU7Yz1jKzF8MH13aGlsZSgwKTt2PTA7ZD1oYSg5OCxhfDAsZHwwKXww
O2U9djt2PTA7aWYoKGV8MCkhPTAmKHd8MCkhPTApe2g9UDMoZltlPj4yXXwwLHV8MCx4fDApfDA7
aWYoIWgpamIoZXwwLHd8MCk7Rz13fWVsc2UgaD0tMTtpZigoaHwwKT09MSl7az1xO2w9MDtqPTA7
Yz1vO2k9cztoPXM7ZD1HO2c9MDtyPTc2O2JyZWFrIGF9fXY9MDtnPWhhKDg0LGF8MCxnfDApfDA7
ZD12O3Y9MDtpZigoZHwwKSE9MCYod3wwKSE9MCl7ZT1QMyhmW2Q+PjJdfDAsdXwwLHh8MCl8MDtp
ZighZSlqYihkfDAsd3wwKTtHPXd9ZWxzZSBlPS0xO2lmKChlfDApPT0xKXtrPXE7bD0wO2o9MDtj
PW87aT1zO2g9cztkPUc7Zz0wO3I9NzY7YnJlYWsgYX1tPWN9dj0wO2o9Z2EoMzEsbTw8M3wwKXww
O2Q9djt2PTA7aWYoKGR8MCkhPTAmKHd8MCkhPTApe2U9UDMoZltkPj4yXXwwLHV8MCx4fDApfDA7
aWYoIWUpamIoZHwwLHd8MCk7Rz13fWVsc2UgZT0tMTtpZigoZXwwKSE9MSl7dj0wO3RhKDI4LHN8
MCxtfDAsOCw5OSk7ZD12O3Y9MDtpZigoZHwwKSE9MCYod3wwKSE9MCl7ZT1QMyhmW2Q+PjJdfDAs
dXwwLHh8MCl8MDtpZighZSlqYihkfDAsd3wwKTtHPXd9ZWxzZSBlPS0xO2lmKChlfDApIT0xKXtn
PWZbbD4+Ml18MDt2PTA7cGEoMTA3LGcrMnwwKTtkPXY7dj0wO2lmKChkfDApIT0wJih3fDApIT0w
KXtlPVAzKGZbZD4+Ml18MCx1fDAseHwwKXwwO2lmKCFlKWpiKGR8MCx3fDApO0c9d31lbHNlIGU9
LTE7aWYoKGV8MCkhPTEpe2M9ZltsKzE2Pj4yXXwwO2k9YysoZyo0MHwwKXwwO2M9YysoKGcrMXww
KSo0MHwwKXwwO249ZlsxOTQ1N118MDtoPTA7d2hpbGUoMSl7aWYoKGh8MCk+PShtfDApKWJyZWFr
O2lmKGh8MD9mWzQ4NDc2XSYxNnwwOjApe3Y9MDtxYSgyNixufDAsbHwwKTtkPXY7dj0wO2lmKChk
fDApIT0wJih3fDApIT0wKXtlPVAzKGZbZD4+Ml18MCx1fDAseHwwKXwwO2lmKCFlKWpiKGR8MCx3
fDApO0c9d31lbHNlIGU9LTE7aWYoKGV8MCk9PTEpe2s9cTtsPWo7Yz1vO2k9cztoPXM7ZD1HO2c9
bjtyPTc2O2JyZWFrIGF9fWQ9ZltzKyhoPDwzKSs0Pj4yXXwwO2s9ZltkPj4yXSYzO2c9ZlsoZlso
ZlsoKGt8MCk9PTM/ZDpkKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTEyPj4yXXwwO2Q9Zlso
ZlsoZlsoKGt8MCk9PTI/ZDpkKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzExMj4+Ml18MDtp
ZigoZ3wwKT09KGR8MCkpe3Y9MDt0YSgyOSxsfDAsZ3wwLGN8MCxpfDApO2Q9djt2PTA7aWYoKGR8
MCkhPTAmKHd8MCkhPTApe2U9UDMoZltkPj4yXXwwLHV8MCx4fDApfDA7aWYoIWUpamIoZHwwLHd8
MCk7Rz13fWVsc2UgZT0tMTtpZigoZXwwKT09MSl7az1xO2w9ajtjPW87aT1zO2g9cztkPUc7Zz1u
O3I9NzY7YnJlYWsgYX19ZWxzZXt2PTA7cmEoNjUsbHwwLGR8MCxjfDApO2Q9djt2PTA7aWYoKGR8
MCkhPTAmKHd8MCkhPTApe2U9UDMoZltkPj4yXXwwLHV8MCx4fDApfDA7aWYoIWUpamIoZHwwLHd8
MCk7Rz13fWVsc2UgZT0tMTtpZigoZXwwKT09MSl7az1xO2w9ajtjPW87aT1zO2g9cztkPUc7Zz1u
O3I9NzY7YnJlYWsgYX12PTA7cmEoNjUsbHwwLGd8MCxpfDApO2Q9djt2PTA7aWYoKGR8MCkhPTAm
KHd8MCkhPTApe2U9UDMoZltkPj4yXXwwLHV8MCx4fDApfDA7aWYoIWUpamIoZHwwLHd8MCk7Rz13
fWVsc2UgZT0tMTtpZigoZXwwKT09MSl7az1xO2w9ajtjPW87aT1zO2g9cztkPUc7Zz1uO3I9NzY7
YnJlYWsgYX19dj0wO2Q9amEoMzIsbHwwLGN8MCxpfDApfDA7ZT12O3Y9MDtpZigoZXwwKSE9MCYo
d3wwKSE9MCl7Zz1QMyhmW2U+PjJdfDAsdXwwLHh8MCl8MDtpZighZylqYihlfDAsd3wwKTtHPXd9
ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtrPXE7bD1qO2M9bztpPXM7aD1zO2Q9RztnPW47cj03Njti
cmVhayBhfWlmKGR8MCl7az1xO2w9ajtjPW87aT1zO2g9czticmVhayBhfWQ9aisoaDw8Myl8MDt2
PTA7dGEoMzAscHwwLGx8MCxpfDAsY3wwKTtlPXY7dj0wO2lmKChlfDApIT0wJih3fDApIT0wKXtn
PVAzKGZbZT4+Ml18MCx1fDAseHwwKXwwO2lmKCFnKWpiKGV8MCx3fDApO0c9d31lbHNlIGc9LTE7
aWYoKGd8MCk9PTEpe2s9cTtsPWo7Yz1vO2k9cztoPXM7ZD1HO2c9bjtyPTc2O2JyZWFrIGF9Zz1w
O2s9ZltnKzQ+PjJdfDA7ZltkPj4yXT1mW2c+PjJdO2ZbZCs0Pj4yXT1rO3Y9MDtwYSgxMDgsbHww
KTtkPXY7dj0wO2lmKChkfDApIT0wJih3fDApIT0wKXtlPVAzKGZbZD4+Ml18MCx1fDAseHwwKXww
O2lmKCFlKWpiKGR8MCx3fDApO0c9d31lbHNlIGU9LTE7aWYoKGV8MCk9PTEpe2s9cTtsPWo7Yz1v
O2k9cztoPXM7ZD1HO2c9bjtyPTc2O2JyZWFrIGF9aD1oKzF8MH12PTA7b2EoOCk7ZD12O3Y9MDtp
ZigoZHwwKSE9MCYod3wwKSE9MCl7ZT1QMyhmW2Q+PjJdfDAsdXwwLHh8MCl8MDtpZighZSlqYihk
fDAsd3wwKTtHPXd9ZWxzZSBlPS0xO2lmKChlfDApIT0xKXt2PTA7ZD1nYSgzMixvfDApfDA7ZT12
O3Y9MDtpZigoZXwwKSE9MCYod3wwKSE9MCl7Zz1QMyhmW2U+PjJdfDAsdXwwLHh8MCl8MDtpZigh
ZylqYihlfDAsd3wwKTtHPXd9ZWxzZSBnPS0xO2lmKChnfDApIT0xKXtmW28rMjA+PjJdPWQ7dj0w
O2Q9Z2EoMzMsb3wwKXwwO2U9djt2PTA7aWYoKGV8MCkhPTAmKHd8MCkhPTApe2c9UDMoZltlPj4y
XXwwLHV8MCx4fDApfDA7aWYoIWcpamIoZXwwLHd8MCk7Rz13fWVsc2UgZz0tMTtpZigoZ3wwKSE9
MSl7ZltvKzI0Pj4yXT1kO3Y9MDtyYSg2NixtfDAsanwwLG98MCk7ZD12O3Y9MDtpZigoZHwwKSE9
MCYod3wwKSE9MCl7ZT1QMyhmW2Q+PjJdfDAsdXwwLHh8MCl8MDtpZighZSlqYihkfDAsd3wwKTtH
PXd9ZWxzZSBlPS0xO2lmKChlfDApIT0xKXt1PU8zKDE4ODk0NCwxLHV8MCx4fDApfDA7eD1HO3Y9
MDtkPXY7dj0wO2lmKChkfDApIT0wJih3fDApIT0wKXtlPVAzKGZbZD4+Ml18MCx1fDAseHwwKXww
O2lmKCFlKWpiKGR8MCx3fDApO0c9d31lbHNlIGU9LTE7aWYoKGV8MCkhPTEpe2s9cTtsPWo7Yz1v
O2k9cztoPXM7ZD0wO2c9bjtyPTc2fWVsc2V7az1xO2w9ajtjPW87aT1zO2g9cztkPUc7Zz1uO3I9
NzZ9fWVsc2V7az1xO2w9ajtjPW87aT1zO2g9cztkPUc7Zz1uO3I9NzZ9fWVsc2V7az1xO2w9ajtj
PW87aT1zO2g9cztkPUc7Zz1uO3I9NzZ9fWVsc2V7az1xO2w9ajtjPW87aT1zO2g9cztkPUc7Zz1u
O3I9NzZ9fWVsc2V7az1xO2w9ajtjPW87aT1zO2g9cztkPUc7Zz1uO3I9NzZ9fWVsc2V7az1xO2w9
ajtjPW87aT1zO2g9cztkPUc7Zz0wO3I9NzZ9fWVsc2V7az1xO2w9ajtjPW87aT1zO2g9cztkPUc7
Zz0wO3I9NzZ9fWVsc2V7az1xO2w9MDtjPW87aT1zO2g9cztkPUc7Zz0wO3I9NzZ9fWVsc2V7bT0w
O2s9cTtsPTA7aj0wO2M9bztpPXM7aD1zO2Q9RztnPTA7cj03Nn19ZWxzZXttPTA7az1xO2w9MDtq
PTA7Yz1vO2k9cztoPXM7ZD1HO2c9MDtyPTc2fX1lbHNle209MDtrPXE7bD0wO2o9MDtjPTA7aT1z
O2g9cztkPUc7Zz0wO3I9NzZ9fWVsc2V7bT0wO2s9MDtsPTA7aj0wO2M9MDtpPTA7aD1zO2Q9Rztn
PTA7cj03Nn19ZWxzZXttPTA7az0wO2w9MDtqPTA7Yz0wO2k9MDtoPTA7ZD1HO2c9MDtyPTc2fXdo
aWxlKDApO2Q6d2hpbGUoMSl7aWYoKHJ8MCk9PTc2KXtyPTA7aWYoZHwwKXtuPWc7Y29udGludWV9
dj0wO3BhKDEwOSxjfDApO2Q9djt2PTA7aWYoKGR8MCkhPTAmKHd8MCkhPTApe2U9UDMoZltkPj4y
XXwwLHV8MCx4fDApfDA7aWYoIWUpamIoZHwwLHd8MCk7Rz13fWVsc2UgZT0tMTtpZigoZXwwKT09
MSl7ej1nO2U9aDtuPWk7bz1jO3A9ajtxPWw7cz1rO3I9bTtkPUc7Zz16O2g9ZTtpPW47Yz1vO2o9
cDtsPXE7az1zO209cjtyPTc2O2NvbnRpbnVlfWlmKGZbNDg0NzZdJjR8MCl7dj0wO3VhKDgsZ3ww
LGN8MCxtfDAsbHwwLGl8MCk7ZD12O3Y9MDtpZigoZHwwKSE9MCYod3wwKSE9MCl7ZT1QMyhmW2Q+
PjJdfDAsdXwwLHh8MCl8MDtpZighZSlqYihkfDAsd3wwKTtHPXd9ZWxzZSBlPS0xO2lmKChlfDAp
PT0xKXtlPWc7bj1oO289aTtwPWM7cT1qO3M9bDt6PWs7cj1tO2Q9RztnPWU7aD1uO2k9bztjPXA7
aj1xO2w9cztrPXo7bT1yO3I9NzY7Y29udGludWV9fXY9MDt2YSgxMCxhfDAsY3wwLG18MCxsfDAs
aXwwLDApO2Q9djt2PTA7aWYoKGR8MCkhPTAmKHd8MCkhPTApe2U9UDMoZltkPj4yXXwwLHV8MCx4
fDApfDA7aWYoIWUpamIoZHwwLHd8MCk7Rz13fWVsc2UgZT0tMTtpZigoZXwwKT09MSl7ZT1nO249
aDtvPWk7cD1jO3E9ajtzPWw7ej1rO3I9bTtkPUc7Zz1lO2g9bjtpPW87Yz1wO2o9cTtsPXM7az16
O209cjtyPTc2O2NvbnRpbnVlfW49Z31pZihiWzE5NDg2NV18MCl7dj0wO3BhKDExMCxrfDApO2Q9
djt2PTA7aWYoKGR8MCkhPTAmKHd8MCkhPTApe2U9UDMoZltkPj4yXXwwLHV8MCx4fDApfDA7aWYo
IWUpamIoZHwwLHd8MCk7Rz13fWVsc2UgZT0tMTtpZigoZXwwKT09MSl7ZD1HO2c9bjtyPTc2O2Nv
bnRpbnVlfX1kPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShtfDApKWJyZWFrO3Y9MDtwYSgxMDMsZlts
KyhkPDwzKSs0Pj4yXXwwKTtlPXY7dj0wO2lmKChlfDApIT0wJih3fDApIT0wKXtnPVAzKGZbZT4+
Ml18MCx1fDAseHwwKXwwO2lmKCFnKWpiKGV8MCx3fDApO0c9d31lbHNlIGc9LTE7aWYoKGd8MCk9
PTEpe2Q9RztnPW47cj03Njtjb250aW51ZSBkfWQ9ZCsxfDB9dj0wO3BhKDEwMyxqfDApO2Q9djt2
PTA7aWYoKGR8MCkhPTAmKHd8MCkhPTApe2U9UDMoZltkPj4yXXwwLHV8MCx4fDApfDA7aWYoIWUp
amIoZHwwLHd8MCk7Rz13fWVsc2UgZT0tMTtpZigoZXwwKT09MSl7ZD1HO2c9bjtyPTc2O2NvbnRp
bnVlfXY9MDtwYSgxMTEsY3wwKTtkPXY7dj0wO2lmKChkfDApIT0wJih3fDApIT0wKXtlPVAzKGZb
ZD4+Ml18MCx1fDAseHwwKXwwO2lmKCFlKWpiKGR8MCx3fDApO0c9d31lbHNlIGU9LTE7aWYoKGV8
MCk9PTEpe2Q9RztnPW47cj03Njtjb250aW51ZX12PTA7cGEoMTAzLGh8MCk7ZD12O3Y9MDtpZigo
ZHwwKSE9MCYod3wwKSE9MCl7ZT1QMyhmW2Q+PjJdfDAsdXwwLHh8MCl8MDtpZighZSlqYihkfDAs
d3wwKTtHPXd9ZWxzZSBlPS0xO2lmKChlfDApPT0xKXtkPUc7Zz1uO3I9NzZ9ZWxzZSBicmVha31N
Xyh1fDApO3Q9eTtyZXR1cm59ZnVuY3Rpb24gbU4oYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9
MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLjA7bz10O3Q9dCs2
NHwwO249byszMnwwO209bysxNnwwO2k9bztqPW8rNDh8MDtwMigxMTkyNjEsYSl8MDtwMigxMTky
NzIsYSl8MDtrPWIrMTZ8MDtsPWkrOHwwO2g9ais0fDA7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0o
ZltiPj4yXXwwKSlicmVhaztlPWZbaz4+Ml18MDtjPWZbZSsoZyo0MHwwKSsyMD4+Ml18MDtkPWZb
ZSsoZyo0MHwwKSsyND4+Ml18MDtpZigoY3wwKT09KGR8MCkpe2ZPKGksYyk7Yz1+fitwW2k+PjNd
O2Q9fn4rcFtsPj4zXX1lbHNle2hPKGosKGZbYz4+Ml0mMXwwKT09MD9jOmQsZSsoZyo0MHwwKXww
KTtjPWZbaj4+Ml18MDtkPWZbaD4+Ml18MH1mW20+PjJdPWc7ZlttKzQ+PjJdPWM7ZlttKzg+PjJd
PWQ7ZzIoYSwxMTkyOTIsbSl8MDtnPWcrMXwwfWU9Yis0fDA7ZD1iKzIwfDA7Yz0wO3doaWxlKDEp
e2lmKChjfDApPj0oZltlPj4yXXwwKSlicmVhazttPWZbZD4+Ml18MDtiPWZbbSsoYyoyNHwwKSsx
Nj4+Ml18MDtxPStwW20rKGMqMjR8MCk+PjNdO2Zbbj4+Ml09ZlttKyhjKjI0fDApKzEyPj4yXTtm
W24rND4+Ml09YjtwW24rOD4+M109cTtnMihhLDExOTMxMixuKXwwO2M9YysxfDB9cDIoMTE5MzM0
LGEpfDA7dD1vO3JldHVybn1mdW5jdGlvbiBuTihhKXthPWF8MDt2YXIgYj0wLjAsYz0wLjAsZD0w
LGU9MDtlPWZbYT4+Ml0mMztkPWZbKGZbKChlfDApPT0zP2E6YSs0OHwwKSs0MD4+Ml18MCkrMTY+
PjJdfDA7YT1mWyhmWygoZXwwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MDtiPStw
W2QrMTY+PjNdLStwW2ErMTY+PjNdO2M9K3BbZCsyND4+M10tK3BbYSsyND4+M107cmV0dXJuIH5+
KGMqYytiKmIpfDB9ZnVuY3Rpb24gb04oYSxiKXthPWF8MDtiPWJ8MDtyZXR1cm4gKGZbYT4+Ml18
MCktKGZbYj4+Ml18MCl8MH1mdW5jdGlvbiBwTihhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtl
PWV8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wO209dDt0PXQrMzJ8MDtqPW07Zk8o
bSsxNnwwLGMpO2s9YyszMnwwO2w9YyszNnwwO2c9MDt3aGlsZSgxKXtpZigoZ3wwKT49KGZbaz4+
Ml18MCkpYnJlYWs7aD1mWyhmW2w+PjJdfDApKyhnPDwyKT4+Ml18MDtkbyBpZighKGJbaCszNj4+
MF18MCkpe2k9ZltoKzIwPj4yXXwwO2lmKChpfDApPT0oY3wwKSl7ZE8oaixoLGZbaCsyND4+Ml18
MCk7eU8oYSxlLGgsMC4wKXwwO2JyZWFrfWVsc2V7ZE8oaixoLGkpO3lPKGEsZCxoLDAuMCl8MDti
cmVha319d2hpbGUoMCk7Zz1nKzF8MH1mW2E+PjJdPShmW2E+PjJdfDApKzI7dD1tO3JldHVybn1m
dW5jdGlvbiBxTihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxp
PTAsaj0wLGs9MDtrPXQ7dD10KzMyfDA7aD1rO2ZPKGsrMTZ8MCxiKTtpPWIrMzJ8MDtqPWIrMzZ8
MDtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+PShmW2k+PjJdfDApKWJyZWFrO2c9ZlsoZltqPj4yXXww
KSsoZTw8Mik+PjJdfDA7ZD1mW2crMjA+PjJdfDA7aWYoKGR8MCk9PShifDApKWQ9ZltnKzI0Pj4y
XXwwO2RPKGgsZyxkKTt5TyhhLGMsZywwLjApfDA7ZT1lKzF8MH1mW2E+PjJdPShmW2E+PjJdfDAp
KzE7ZltjKzI0Pj4yXT1iO2ZbYysyMD4+Ml09Yjt0PWs7cmV0dXJufWZ1bmN0aW9uIHJOKGEsYyxk
LGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAuMCxrPTAuMCxs
PTAsbT0wLjAsbj0wLjAsbz0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLjAseD0wLjAseT0wLHo9
MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTA7Sj10O3Q9dCsxMjh8MDtF
PUorNjR8MDtsPUorNDh8MDtGPUorMzJ8MDtHPUorMTZ8MDtIPUo7Zz0wO2g9ZDt3aGlsZSgxKXtp
ZighaClicmVhaztnPWcrMXwwO2g9ZltoKzg+PjJdfDB9RD1ESCgoZyo1NnwwKSstMTEyfDApfDA7
ZltFKzUyPj4yXT0wO2ZbRSs0OD4+Ml09MDtDPWQrOHwwO2Q9ZltDPj4yXXwwO2g9ZltkKzg+PjJd
fDA7Zz1mW2QrMjA+PjJdfDA7aWYoZltnPj4yXSYxKWc9ZltkKzI0Pj4yXXwwO2RPKGwsZCxnKTtB
PUYrOHwwO0I9Rys4fDA7aT1kO289ZDtuPTAuMDttPStwW2w+PjNdO3o9MDtrPTAuMDt4PStwW2wr
OD4+M107d2hpbGUoMSl7eT1oKzh8MDtpZighKGZbeT4+Ml18MCkpYnJlYWs7dj1lTyhpLGgpfDA7
V1IoYyx2LGZbbysxMj4+Ml18MCk7cz1vKzM2fDA7dT1oKzM2fDA7aWYoKGJbcz4+MF18MCk9PShi
W3U+PjBdfDApKWlmKChmW3k+PjJdfDApPT0oZXwwKSl7ZE8oRyxoLHYpO2Q9RztpPUI7ST0xMn1l
bHNle2k9bztkPXo7aj14fWVsc2V7Zk8oRix2KTtkPUY7aT1BO0k9MTJ9aWYoKEl8MCk9PTEyKXtJ
PTA7dz0rcFtkPj4zXTtqPStwW2k+PjNdO2Q9YltzPj4wXXwwO3I9ZDw8MjQ+PjI0PT0wO3E9KG98
MCk9PShmW0M+PjJdfDApO2lmKHIpe2lmKCEoYlt1Pj4wXXwwKSlkPTA7ZWxzZSBkPShmW2grMjA+
PjJdfDApPT0odnwwKT80OjI7bD12KzQ4fDA7bz1nKzQ4fDA7aT1nKzQwfDA7Zz1xPzA6bj5tPzQ6
Mn1lbHNle2lmKGQ8PDI0Pj4yND09KGJbdT4+MF18MCkpZD0wO2Vsc2UgZD0oZltoKzIwPj4yXXww
KT09KHZ8MCk/MTozO2w9dis0MHwwO289Zys0MHwwO2k9Zys0OHwwO2c9cT8wOms+eD8xOjN9Z08o
RSxyJjEsK3BbaT4+M10sK3Bbbz4+M10sK3BbbD4+M10sZyxkKTtvPXorMXwwO2c9RCsoeio1Nnww
KXwwO2Q9RTtpPWcrNTZ8MDtkb3tmW2c+PjJdPWZbZD4+Ml07Zz1nKzR8MDtkPWQrNHwwfXdoaWxl
KChnfDApPChpfDApKTtpZigoYltzPj4wXXwwKSE9KGJbdT4+MF18MCk/KGZbeT4+Ml18MCk9PShl
fDApOjApe2RPKEgsaCx2KTtsPShiW3U+PjBdfDApPT0wO2c9dis0OHwwO2Q9dis0MHwwO249K3Bb
KGw/ZzpkKT4+M107Z08oRSxsJjEsK3BbKGw/ZDpnKT4+M10sbixuLGw/KG0+dz80OjIpOng+aj8x
OjMsMCk7bD16KzJ8MDtnPUQrKG8qNTZ8MCl8MDtkPUU7aT1nKzU2fDA7ZG97ZltnPj4yXT1mW2Q+
PjJdO2c9Zys0fDA7ZD1kKzR8MH13aGlsZSgoZ3wwKTwoaXwwKSk7Zz12O2k9aDtuPW07bT13O2Q9
bDtrPXh9ZWxzZXtnPXY7aT1oO249bTttPXc7ZD1vO2s9eH19dj1oO2g9Zlt5Pj4yXXwwO289aTt6
PWQ7eD1qO2k9dn1oPU9fKEQseio1NnwwKXwwO2Q9eistMXwwO2c9MDt3aGlsZSgxKXtpZigoZ3ww
KT49KHp8MCkpYnJlYWs7aWYoZ3wwKWZbaCsoZyo1NnwwKSs0OD4+Ml09aCsoKGcrLTF8MCkqNTZ8
MCk7aWYoKGd8MCk8KGR8MCkpe0k9ZysxfDA7ZltoKyhnKjU2fDApKzUyPj4yXT1oKyhJKjU2fDAp
O2c9SX1lbHNlIGc9ZysxfDB9ZlthPj4yXT16O2ZbYSs0Pj4yXT1oO3Q9SjtyZXR1cm59ZnVuY3Rp
b24gc04oYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTA7aT1Mdyg3
MzA1NixmWzE4MDAxXXwwKXwwO2o9YSs4fDA7aD0wO3doaWxlKDEpe2lmKChofDApPj0oZlthPj4y
XXwwKSlicmVhaztiPShmW2o+PjJdfDApKyhoKjcyfDApfDA7aWYoIShmW2I+PjJdJjQpKXt3aGls
ZSgxKXtjPWZbKGZbYiszNj4+Ml18MCkrOD4+Ml18MDtpZighYylicmVhaztjPWZbYysyMD4+Ml18
MDtpZighYylicmVhaztpZighKGZbYz4+Ml0mMSkpYj1jO2Vsc2UgYnJlYWt9Zz1ESCg0MCl8MDtm
W2crMzY+PjJdPWI7cFtnKzg+PjNdPStwW2IrNDA+PjNdO2U9YjtjPWI7ZD1mW2I+PjJdfDA7d2hp
bGUoMSl7ZltjPj4yXT1kfDQ7Yz1mW2ZbZSszNj4+Ml0+PjJdfDA7aWYoIWMpYnJlYWs7Yz1mW2Mr
MjQ+PjJdfDA7aWYoIWMpYnJlYWs7ZD1mW2M+PjJdfDA7aWYoZCYxfDApYnJlYWs7ZWxzZSBlPWN9
cFtnKzE2Pj4zXT0rcFtlKzU2Pj4zXTtfTihpLGcsK3BbYis0OD4+M10pfWg9aCsxfDB9cmV0dXJu
IGl8MH1mdW5jdGlvbiB0TihhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0w
LGo9MDtpPUx3KDczMDU2LGZbMTgwMDFdfDApfDA7aj1hKzh8MDtoPTA7d2hpbGUoMSl7aWYoKGh8
MCk+PShmW2E+PjJdfDApKWJyZWFrO2I9KGZbaj4+Ml18MCkrKGgqNzJ8MCl8MDtpZighKGZbYj4+
Ml0mMikpe3doaWxlKDEpe2M9ZlsoZltiKzM2Pj4yXXwwKSsxMj4+Ml18MDtpZighYylicmVhaztj
PWZbYysyMD4+Ml18MDtpZighYylicmVhaztpZighKGZbYz4+Ml0mMSkpYj1jO2Vsc2UgYnJlYWt9
Zz1ESCg0MCl8MDtmW2crMzY+PjJdPWI7cFtnKzg+PjNdPStwW2IrNDg+PjNdO2U9YjtjPWI7ZD1m
W2I+PjJdfDA7d2hpbGUoMSl7ZltjPj4yXT1kfDI7Yz1mWyhmW2UrMzY+PjJdfDApKzQ+PjJdfDA7
aWYoIWMpYnJlYWs7Yz1mW2MrMjQ+PjJdfDA7aWYoIWMpYnJlYWs7ZD1mW2M+PjJdfDA7aWYoZCYx
fDApYnJlYWs7ZWxzZSBlPWN9cFtnKzE2Pj4zXT0rcFtlKzY0Pj4zXTtfTihpLGcsK3BbYis0MD4+
M10pfWg9aCsxfDB9cmV0dXJuIGl8MH1mdW5jdGlvbiB1TihhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1k
fDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2o9ZCsyMHwwO2k9ZCsyNHwwO2Q9MDt3aGls
ZSgxKXtpZigoZHwwKT49KGF8MCkpYnJlYWs7Zz1mW2MrKGQ8PDMpPj4yXXwwO2g9ZltjKyhkPDwz
KSs0Pj4yXXwwO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KGd8MCkpYnJlYWs7az1oKyhlKjU2fDAp
fDA7Wk4oRE4oZlsoKGJbaz4+MF18MCk9PTA/ajppKT4+Ml18MCxrKXwwLGspO2U9ZSsxfDB9ZD1k
KzF8MH1yZXR1cm59ZnVuY3Rpb24gdk4oYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yz1hKzIwfDA7Rk4o
ZltjPj4yXXwwKTtiPWErMjR8MDtGTihmW2I+PjJdfDApO0dOKGZbYz4+Ml18MCk7R04oZltiPj4y
XXwwKTtITihmW2M+PjJdfDAsYSk7SE4oZltiPj4yXXwwLGEpO0lOKGZbYz4+Ml18MCk7SU4oZlti
Pj4yXXwwKTtyZXR1cm59ZnVuY3Rpb24gd04oYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtk
PWR8MDtlPWV8MDt2YXIgZz0wLjAsaD0wLjAsaT0wLjAsaj0wLjAsaz0wLGw9MCxtPTAsbj0wLG89
MCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLjAsQz0wLjAsRD0w
LjAsRT0wLjA7ej10O3Q9dCsxOTJ8MDtxPXorMTQ0fDA7bz16KzE3NnwwO3g9eisxMjh8MDt5PXor
OTZ8MDtuPXorNjR8MDtzPXo7cj16KzMyfDA7dT1zKzh8MDtwW3U+PjNdPTE3OTc2OTMxMzQ4NjIz
MTU3MDgxNDUyNzQuMGUyODQ7cFtzPj4zXT0xNzk3NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0LjBlMjg0
O3c9cysyNHwwO3Bbdz4+M109LTE3OTc2OTMxMzQ4NjIzMTU3MDgxNDUyNzQuMGUyODQ7dj1zKzE2
fDA7cFt2Pj4zXT0tMTc5NzY5MzEzNDg2MjMxNTcwODE0NTI3NC4wZTI4NDtwMigxMTg1MDksYSl8
MDtmW3E+PjJdPTEwO2ZbcSs0Pj4yXT0xMDtnMihhLDExODkxNSxxKXwwO3AyKDE0NjUzNSxhKXww
O2w9Yis0fDA7bT1iKzEyfDA7az0wO3doaWxlKDEpe2lmKChrfDApPj0oZltsPj4yXXwwKSlicmVh
aztBPWZbbT4+Ml18MDtoPStwW0ErKGsqNzJ8MCkrNDg+PjNdO2k9K3BbQSsoayo3MnwwKSs1Nj4+
M107aj0rcFtBKyhrKjcyfDApKzY0Pj4zXTtwW24+PjNdPStwW0ErKGsqNzJ8MCkrNDA+PjNdO3Bb
bis4Pj4zXT1oO3BbbisxNj4+M109aTtwW24rMjQ+PjNdPWo7ZzIoYSwxNDY1NTQsbil8MDtrPWsr
MXwwfWs9MDt3aGlsZSgxKXtpZigoa3wwKT49KGN8MCkpYnJlYWs7QT1mW2UrKGs8PDMpKzQ+PjJd
fDA7bj1kKyhrPDwzKXwwO2Zbbz4+Ml09ZltuPj4yXTtmW28rND4+Ml09ZltuKzQ+PjJdO2ZbcT4+
Ml09ZltzPj4yXTtmW3ErND4+Ml09ZltzKzQ+PjJdO2ZbcSs4Pj4yXT1mW3MrOD4+Ml07ZltxKzEy
Pj4yXT1mW3MrMTI+PjJdO2ZbcSsxNj4+Ml09ZltzKzE2Pj4yXTtmW3ErMjA+PjJdPWZbcysyMD4+
Ml07ZltxKzI0Pj4yXT1mW3MrMjQ+PjJdO2ZbcSsyOD4+Ml09ZltzKzI4Pj4yXTtFTihyLGEsQSxv
LGIscSk7ZltzPj4yXT1mW3I+PjJdO2Zbcys0Pj4yXT1mW3IrND4+Ml07ZltzKzg+PjJdPWZbcis4
Pj4yXTtmW3MrMTI+PjJdPWZbcisxMj4+Ml07ZltzKzE2Pj4yXT1mW3IrMTY+PjJdO2ZbcysyMD4+
Ml09ZltyKzIwPj4yXTtmW3MrMjQ+PjJdPWZbcisyND4+Ml07ZltzKzI4Pj4yXT1mW3IrMjg+PjJd
O2s9aysxfDB9cDIoMTE4OTMyLGEpfDA7bD1iKzh8MDtrPTA7aj0rcFtzPj4zXTtpPStwW3U+PjNd
O2g9K3Bbdj4+M107Zz0rcFt3Pj4zXTt3aGlsZSgxKXtpZigoa3wwKT49KGZbYj4+Ml18MCkpYnJl
YWs7QT1mW2w+PjJdfDA7RT0rcFtBKyhrKjcyfDApKzQwPj4zXTtEPStwW0ErKGsqNzJ8MCkrNDg+
PjNdO0M9K3BbQSsoayo3MnwwKSs1Nj4+M107Qj0rcFtBKyhrKjcyfDApKzY0Pj4zXTtwW3k+PjNd
PUU7cFt5Kzg+PjNdPUQ7cFt5KzE2Pj4zXT1DO3BbeSsyND4+M109QjtnMihhLDE0NjU5MSx5KXww
O2s9aysxfDA7aj1qPEU/ajpFO2k9aTxEP2k6RDtoPWg+Qz9oOkM7Zz1nPkI/ZzpCfWZbeD4+Ml09
fn4oaisxMC4wKTtmW3grND4+Ml09fn4oaSsxMC4wKTtmW3grOD4+Ml09fn4oaCsxMC4wKTtmW3gr
MTI+PjJdPX5+KGcrMTAuMCk7ZzIoYSwxMTg5NTcseCl8MDt0PXo7cmV0dXJufWZ1bmN0aW9uIHhO
KGEsYyxkLGUsZyxoKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8MDtoPWh8MDt2YXIgaT0w
LjAsaj0wLjAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9MCx4PTAs
eT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxN
PTAsTj0wLE89MCxQPTAsUT0wO049dDt0PXQrMTEyfDA7RD1OKzg4fDA7Qz1OKzcyfDA7TT1OKzMy
fDA7ST1OKzE2fDA7Sj1OO0s9Tis1NnwwO0w9Tis0MHwwO0U9SSs4fDA7Rz1KKzh8MDtIPWZbMTk0
NTddfDA7dz0oaHwwKT09MDt2PTA7az0wO2w9MDttPTA7bj0wO2g9MDt3aGlsZSgxKXtpZigodnww
KT49KGR8MCkpYnJlYWs7eD1mW2crKHY8PDMpKzQ+PjJdfDA7eT14KzQ4fDA7dT0oZlsoZlsoKGZb
eD4+Ml0mM3wwKT09Mz94OnkpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTZ8MDt6PXgrMTZ8MDtBPShm
W3o+PjJdfDApKzE2fDA7ZltDPj4yXT1mW3U+PjJdO2ZbQys0Pj4yXT1mW3UrND4+Ml07ZltDKzg+
PjJdPWZbdSs4Pj4yXTtmW0MrMTI+PjJdPWZbdSsxMj4+Ml07ZltEPj4yXT1mW0E+PjJdO2ZbRCs0
Pj4yXT1mW0ErND4+Ml07ZltEKzg+PjJdPWZbQSs4Pj4yXTtmW0QrMTI+PjJdPWZbQSsxMj4+Ml07
eU4oSyxDLEQpO2ZbST4+Ml09ZltLPj4yXTtmW0krND4+Ml09ZltLKzQ+PjJdO2ZbSSs4Pj4yXT1m
W0srOD4+Ml07ZltJKzEyPj4yXT1mW0srMTI+PjJdO0E9eCstNDh8MDt1PShmWyhmWygoZlt4Pj4y
XSYzfDApPT0yP3g6QSkrNDA+PjJdfDApKzE2Pj4yXXwwKSsxNnwwO3M9KGZbej4+Ml18MCkrNTZ8
MDtmW0M+PjJdPWZbdT4+Ml07ZltDKzQ+PjJdPWZbdSs0Pj4yXTtmW0MrOD4+Ml09Zlt1Kzg+PjJd
O2ZbQysxMj4+Ml09Zlt1KzEyPj4yXTtmW0Q+PjJdPWZbcz4+Ml07ZltEKzQ+PjJdPWZbcys0Pj4y
XTtmW0QrOD4+Ml09ZltzKzg+PjJdO2ZbRCsxMj4+Ml09ZltzKzEyPj4yXTt5TihMLEMsRCk7ZltK
Pj4yXT1mW0w+PjJdO2ZbSis0Pj4yXT1mW0wrND4+Ml07ZltKKzg+PjJdPWZbTCs4Pj4yXTtmW0or
MTI+PjJdPWZbTCsxMj4+Ml07cz1mW2UrKHY8PDMpPj4yXXwwO3U9ZltlKyh2PDwzKSs0Pj4yXXww
O3I9cyozfDA7Qj1yKzF8MDtpZigocnwwKT49KGx8MCkpe2lmKGt8MClNXyhoKTtuPUVIKEI8PDQp
fDA7az1uO2w9QjttPW47aD1ufWlmKCEoYlt1Pj4wXXwwKSl7aj0rKEFOKHUsYyl8MCk7aT0rcFtJ
Pj4zXX1lbHNle2k9K3pOKHUsYyk7aj0rcFtFPj4zXX1xPWsrMTZ8MDtwW2srMTY+PjNdPWk7cFtr
KzI0Pj4zXT1qO2Zbbj4+Ml09ZltxPj4yXTtmW24rND4+Ml09ZltxKzQ+PjJdO2Zbbis4Pj4yXT1m
W3ErOD4+Ml07ZltuKzEyPj4yXT1mW3ErMTI+PjJdO3E9MTtvPXU7cj0yO3doaWxlKDEpe2lmKChx
fDApPj0oc3wwKSlicmVhaztvPXUrKHEqNTZ8MCl8MDtpZighKGJbbz4+MF18MCkpaj0rKEFOKG8s
Yyl8MCk7ZWxzZSBpPSt6TihvLGMpO089aysocisyPDw0KXwwO1E9aysocisxPDw0KXwwO1A9ayso
cjw8NCl8MDtwW1A+PjNdPWk7cFtrKyhyPDw0KSs4Pj4zXT1qO2ZbUT4+Ml09ZltQPj4yXTtmW1Er
ND4+Ml09ZltQKzQ+PjJdO2ZbUSs4Pj4yXT1mW1ArOD4+Ml07ZltRKzEyPj4yXT1mW1ArMTI+PjJd
O2ZbTz4+Ml09ZltQPj4yXTtmW08rND4+Ml09ZltQKzQ+PjJdO2ZbTys4Pj4yXT1mW1ArOD4+Ml07
ZltPKzEyPj4yXT1mW1ArMTI+PjJdO3E9cSsxfDA7cj1yKzN8MH1pZighKGJbbz4+MF18MCkpe2o9
KyhBTihvLGMpfDApO2k9K3BbSj4+M119ZWxzZXtpPSt6TihvLGMpO2o9K3BbRz4+M119UT1rKyhy
PDw0KXwwO089cisxfDA7UD1rKyhPPDw0KXwwO3BbUD4+M109aTtwW2srKE88PDQpKzg+PjNdPWo7
ZltRPj4yXT1mW1A+PjJdO2ZbUSs0Pj4yXT1mW1ArND4+Ml07ZltRKzg+PjJdPWZbUCs4Pj4yXTtm
W1ErMTI+PjJdPWZbUCsxMj4+Ml07aWYoMD4xKXtQPUF5KGZbKChmW3g+PjJdJjN8MCk9PTM/eDp5
KSs0MD4+Ml18MCl8MDtRPUF5KGZbKChmW3g+PjJdJjN8MCk9PTI/eDpBKSs0MD4+Ml18MCl8MDtm
W00+PjJdPVA7ZltNKzQ+PjJdPVE7ZzIoSCwxMTg0NjgsTSl8MH1aSyh4LGZbKChmW3g+PjJdJjN8
MCk9PTI/eDpBKSs0MD4+Ml18MCxrLEIsNzMwNDQpO2lmKCghdz8oRj1mWyhmW3o+PjJdfDApKzk2
Pj4yXXwwLEZ8MCk6MCk/KGJbRis4MT4+MF18MCk9PTA6MCl7ZltDPj4yXT1mW0k+PjJdO2ZbQys0
Pj4yXT1mW0krND4+Ml07ZltDKzg+PjJdPWZbSSs4Pj4yXTtmW0MrMTI+PjJdPWZbSSsxMj4+Ml07
ZltEPj4yXT1mW0o+PjJdO2ZbRCs0Pj4yXT1mW0orND4+Ml07ZltEKzg+PjJdPWZbSis4Pj4yXTtm
W0QrMTI+PjJdPWZbSisxMj4+Ml07c0woYSx4LEMsRCl9dj12KzF8MH1NXyhtKTt0PU47cmV0dXJu
fWZ1bmN0aW9uIHlOKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wO3BbYj4+M109K3Bb
Yj4+M10rICtwW2M+PjNdO2Q9Yis4fDA7cFtkPj4zXT0rcFtkPj4zXSsgK3BbYys4Pj4zXTtmW2E+
PjJdPWZbYj4+Ml07ZlthKzQ+PjJdPWZbYis0Pj4yXTtmW2ErOD4+Ml09ZltiKzg+PjJdO2ZbYSsx
Mj4+Ml09ZltiKzEyPj4yXTtyZXR1cm59ZnVuY3Rpb24gek4oYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wLjAsZD0wO2I9RE4oZltiKzI0Pj4yXXwwLGEpfDA7ZD1mW2IrMzY+PjJdfDA7Yz0rcFtkKzQw
Pj4zXTtyZXR1cm4gKygoK3BbZCs1Nj4+M10tYykqKCsoZlthKzQ0Pj4yXXwwKS8rKChmW2IrMjQ+
PjJdfDApKzF8MCkpK2MpfWZ1bmN0aW9uIEFOKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MC4wLGQ9
MDtkPUROKGZbYisyMD4+Ml18MCxhKXwwO2I9ZltkKzM2Pj4yXXwwO2M9K3BbYis0OD4+M107cmV0
dXJuIH5+KCgxLjAtKyhmW2ErNDQ+PjJdfDApLysoKGZbZCsyND4+Ml18MCkrMXwwKSkqKCtwW2Ir
NjQ+PjNdLWMpK2MpfDB9ZnVuY3Rpb24gQk4oYSl7YT1hfDA7cmV0dXJuIDB9ZnVuY3Rpb24gQ04o
YSl7YT1hfDA7cmV0dXJuIDB9ZnVuY3Rpb24gRE4oYSxiKXthPWF8MDtiPWJ8MDthPXdiW2ZbYT4+
Ml0mNjNdKGEsYis4fDAsNTEyKXwwO2lmKCFhKXhhKDExODQ4MSwxMTg0ODcsNDIzLDExODQ5NSk7
YT1mW2ErMTY+PjJdfDA7YT13YltmW2E+PjJdJjYzXShhLGIrMTZ8MCw1MTIpfDA7aWYoIWEpeGEo
MTE4NTA2LDExODQ4Nyw0MjUsMTE4NDk1KTtlbHNlIHJldHVybiBhfDA7cmV0dXJuIDB9ZnVuY3Rp
b24gRU4oYSxjLGQsZSxnLGgpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO2g9aHwwO3Zh
ciBpPTAsaj0wLjAsaz0wLGw9MCxtPTAsbj0wLjAsbz0wLjAscT0wLjAscj0wLjAscz0wLHU9MCx2
PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAuMCxDPTAuMCxEPTAuMDt6PXQ7dD10KzMyfDA7eT16
KzE2fDA7dT16Kzh8MDtrPXo7aT1mWyhmWyhmWygoZltkPj4yXSYzfDApPT0zP2Q6ZCs0OHwwKSs0
MD4+Ml18MCkrMTY+PjJdfDApKzExMj4+Ml18MDtzPWZbZSs0Pj4yXXwwO2lmKCEoYltzPj4wXXww
KSl7aj0rcFtpKzU2Pj4zXTtyPStwW2krNDA+PjNdO2k9QU4ocyxnKXwwO2o9KHIraikqLjV9ZWxz
ZXtqPStwW2krNjQ+PjNdO3I9K3BbaSs0OD4+M107aT1+figocitqKSouNSk7aj0rek4ocyxnKX1B
PX5+ajtuPStwW2g+PjNdO3E9KyhBfDApO249bjxxP246cTtwW2g+PjNdPW47dj1oKzh8MDtvPStw
W3Y+PjNdO3I9KyhpfDApO289bzxyP286cjtwW3Y+PjNdPW87dz1oKzE2fDA7aj0rcFt3Pj4zXTtx
PWo+cT9qOnE7cFt3Pj4zXT1xO3g9aCsyNHwwO2o9K3BbeD4+M107cj1qPnI/ajpyO3BbeD4+M109
cjtmW2s+PjJdPUE7ZltrKzQ+PjJdPWk7ZzIoYywxMTkwMDgsayl8MDttPWZbZT4+Ml18MDtrPXM7
bD0xO2U9QTt3aGlsZSgxKXtpZigobHwwKT49KG18MCkpYnJlYWs7az1zKyhsKjU2fDApfDA7aWYo
IShiW2s+PjBdfDApKWk9QU4oayxnKXwwO2Vsc2UgZT1+fit6TihrLGcpO0I9KyhlfDApO0Q9bjxC
P246QjtwW2g+PjNdPUQ7aj0rKGl8MCk7Qz1vPGo/bzpqO3Bbdj4+M109QztCPXE+Qj9xOkI7cFt3
Pj4zXT1CO2o9cj5qP3I6ajtwW3g+PjNdPWo7Zlt1Pj4yXT1lO2ZbdSs0Pj4yXT1pO2cyKGMsMTE5
MDMwLHUpfDA7bD1sKzF8MDtuPUQ7bz1DO3E9QjtyPWp9aT1mWyhmWyhmWygoZltkPj4yXSYzfDAp
PT0yP2Q6ZCstNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsxMTI+PjJdfDA7aWYoIShiW2s+PjBd
fDApKXtqPStwW2krNTY+PjNdO0Q9K3BbaSs0MD4+M107aT1BTihrLGcpfDA7aj0oRCtqKSouNX1l
bHNle2o9K3BbaSs2ND4+M107RD0rcFtpKzQ4Pj4zXTtpPX5+KChEK2opKi41KTtqPSt6TihrLGcp
fUE9fn5qO0M9KyhBfDApO3BbaD4+M109bjxDP246QztEPSsoaXwwKTtwW3Y+PjNdPW88RD9vOkQ7
cFt3Pj4zXT1xPkM/cTpDO3BbeD4+M109cj5EP3I6RDtmW3k+PjJdPUE7Zlt5KzQ+PjJdPWk7ZzIo
YywxMTkwNDQseSl8MDtmW2E+PjJdPWZbaD4+Ml07ZlthKzQ+PjJdPWZbaCs0Pj4yXTtmW2ErOD4+
Ml09ZltoKzg+PjJdO2ZbYSsxMj4+Ml09ZltoKzEyPj4yXTtmW2ErMTY+PjJdPWZbaCsxNj4+Ml07
ZlthKzIwPj4yXT1mW2grMjA+PjJdO2ZbYSsyND4+Ml09ZltoKzI0Pj4yXTtmW2ErMjg+PjJdPWZb
aCsyOD4+Ml07dD16O3JldHVybn1mdW5jdGlvbiBGTihhKXthPWF8MDt2YXIgYj0wLGM9MDthPUp3
KGEpfDA7d2hpbGUoMSl7aWYoIWEpYnJlYWs7Yj1KdyhmW2ErMTY+PjJdfDApfDA7d2hpbGUoMSl7
aWYoIWIpYnJlYWs7Yz1pTyhmW2IrMjQ+PjJdfDApfDA7ZltiKzMyPj4yXT1jO2I9ZltiPj4yXXww
fWE9ZlthPj4yXXwwfXJldHVybn1mdW5jdGlvbiBHTihhKXthPWF8MDt2YXIgYj0wO2E9SncoYSl8
MDt3aGlsZSgxKXtpZighYSlicmVhaztiPUp3KGZbYSsxNj4+Ml18MCl8MDt3aGlsZSgxKXtpZigh
YilicmVhaztpZihmW2IrMjQ+PjJdfDApWU4oYik7Yj1mW2I+PjJdfDB9YT1mW2E+PjJdfDB9cmV0
dXJufWZ1bmN0aW9uIEhOKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtjPUp3KGEpfDA7d2hpbGUo
MSl7aWYoIWMpYnJlYWs7YT1KdyhmW2MrMTY+PjJdfDApfDA7d2hpbGUoMSl7aWYoIWEpYnJlYWs7
TU4oYSxiKTthPWZbYT4+Ml18MH1jPWZbYz4+Ml18MH1yZXR1cm59ZnVuY3Rpb24gSU4oYSl7YT1h
fDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTAsaD0wO2Q9SncoYSl8MDt3aGlsZSgxKXtpZighZCli
cmVhaztoPWQrOHwwO2U9SncoZltkKzE2Pj4yXXwwKXwwO3doaWxlKDEpe2lmKCFlKWJyZWFrO2E9
ZSsyNHwwO2E6ZG8gaWYoZlthPj4yXXwwKXtpZihmWzQ4NDc2XSY4fDApSk4oZSx+fitwW2g+PjNd
KTtnPWUrMzJ8MDtuTyhmW2c+PjJdfDApO2I9ZlthPj4yXXwwO2M9ZSsyOHwwO2E9MDt3aGlsZSgx
KXtpZigoYXwwKT49KGJ8MCkpYnJlYWsgYTtmWyhmWyhmW2M+PjJdfDApKyhhPDwyKT4+Ml18MCkr
NDQ+PjJdPShmWyhmWyhmW2c+PjJdfDApKzQ+PjJdfDApKyhhKjEyfDApKzQ+PjJdfDApKzE7YT1h
KzF8MH19d2hpbGUoMCk7ZT1mW2U+PjJdfDB9ZD1mW2Q+PjJdfDB9cmV0dXJufWZ1bmN0aW9uIEpO
KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MC4wLGs9MC4w
O2k9dDt0PXQrMzJ8MDtjPWk7Zz1hKzI0fDA7YTpkbyBpZigoZltnPj4yXXwwKT49Mil7aD1mWzE5
NDU3XXwwO2s9K3BbYSs4Pj4zXTtqPStwW2ErMTY+PjNdO2ZbYz4+Ml09YjtwW2MrOD4+M109aztw
W2MrMTY+PjNdPWo7ZzIoaCwxMTkwNjUsYyl8MDtlPWErMzJ8MDthPWErMjh8MDtiPTA7d2hpbGUo
MSl7aWYoKGJ8MCk+PShmW2c+PjJdfDApKWJyZWFrIGE7ZD1mWyhmWyhmW2U+PjJdfDApKzQ+PjJd
fDApKyhiKjEyfDApKzg+PjJdfDA7YjpkbyBpZihOdyhkKXwwKXtLTihoLGZbKGZbYT4+Ml18MCkr
KGI8PDIpPj4yXXwwKTtwMigxMTkwODUsaCl8MDtjPXdiW2ZbZD4+Ml0mNjNdKGQsMCwxMjgpfDA7
d2hpbGUoMSl7aWYoIWMpYnJlYWsgYjtwMigxMTkwOTAsaCl8MDtLTihoLGZbKGZbYT4+Ml18MCkr
KGZbYz4+Ml08PDIpPj4yXXwwKTtwMigxNTExMjIsaCl8MDtjPXdiW2ZbZD4+Ml0mNjNdKGQsYyw4
KXwwfX13aGlsZSgwKTtiPWIrMXwwfX13aGlsZSgwKTt0PWk7cmV0dXJufWZ1bmN0aW9uIEtOKGEs
Yyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxpPTAuMCxqPTAuMCxrPTAuMDtnPXQ7
dD10KzgwfDA7ZT1nKzQwfDA7ZD1nO2lmKCEoYltjPj4wXXwwKSl7az0rcFtjKzE2Pj4zXTtpPStw
W2MrOD4+M107aj0rcFtjKzI0Pj4zXTtoPUxOKGZbYyszMj4+Ml18MCl8MDtkPUxOKGZbYyszNj4+
Ml18MCl8MDtwW2U+PjNdPWs7cFtlKzg+PjNdPWk7cFtlKzE2Pj4zXT1qO3BbZSsyND4+M109aTtm
W2UrMzI+PjJdPWg7ZltlKzM2Pj4yXT1kO2cyKGEsMTE5MDk2LGUpfDB9ZWxzZXtqPStwW2MrOD4+
M107aT0rcFtjKzE2Pj4zXTtrPStwW2MrMjQ+PjNdO2U9TE4oZltjKzMyPj4yXXwwKXwwO2g9TE4o
ZltjKzM2Pj4yXXwwKXwwO3BbZD4+M109ajtwW2QrOD4+M109aTtwW2QrMTY+PjNdPWo7cFtkKzI0
Pj4zXT1rO2ZbZCszMj4+Ml09ZTtmW2QrMzY+PjJdPWg7ZzIoYSwxMTkwOTYsZCl8MH10PWc7cmV0
dXJufWZ1bmN0aW9uIExOKGEpe2E9YXwwO3N3aXRjaChhfDApe2Nhc2UgMDp7YT0xMTkxNDc7YnJl
YWt9Y2FzZSAxOnthPTExOTE0MjticmVha31jYXNlIDI6e2E9MTE5MTM1O2JyZWFrfWNhc2UgMzp7
YT0xMTkxMjg7YnJlYWt9Y2FzZSA0OnthPTExOTEyMDticmVha31kZWZhdWx0OmE9MH1yZXR1cm4g
YXwwfWZ1bmN0aW9uIE1OKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAs
aT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wO3c9dDt0
PXQrMTZ8MDtxPXcrOHwwO3M9dzt1PWZbYSszMj4+Ml18MDt2PWZbYSsyOD4+Ml18MDtuPWErMjR8
MDtrPXErNHwwO2w9cys0fDA7aT0wO2E9ZltuPj4yXXwwO3doaWxlKDEpe289aSsxfDA7aWYoKG98
MCk+PShhfDApKWJyZWFrO209disoaTw8Mil8MDtqPW87d2hpbGUoMSl7aWYoKGp8MCk+PShhfDAp
KWJyZWFrO2E6ZG8gaWYoKChtTyh1LGksail8MCk9PTA/KG1PKHUsaixpKXwwKT09MDowKT8ocj12
KyhqPDwyKXwwLE5OKGZbbT4+Ml18MCxmW3I+PjJdfDApfDApOjApe2U9ZlttPj4yXXwwO2E9Zltl
KzQ4Pj4yXXwwO2g9ZltyPj4yXXwwO2M9ZltoKzQ4Pj4yXXwwO2Q9KGN8MCk9PTA7aWYoYSlpZihk
KWE9MTtlbHNlIGE9K3BbYSs4Pj4zXSE9K3BbYys4Pj4zXTtlbHNlIGE9ZF4xO2c9YSYxO09OKHEs
ZSxoLDAsZyk7YT1mW3E+PjJdfDA7aD1mW2s+PjJdfDA7ZT1nXjE7T04ocyxmW20+PjJdfDAsZlty
Pj4yXXwwLDEsZSk7Yz1mW3M+PjJdfDA7ZD1mW2w+PjJdfDA7c3dpdGNoKGh8MCl7Y2FzZSAtMTp7
UE4oZltyPj4yXXwwLGZbbT4+Ml18MCxnLDAsYSxiKTtQTihmW3I+PjJdfDAsZlttPj4yXXwwLGUs
MSxjLGIpO2lmKChkfDApIT0xKWJyZWFrIGE7UU4oZlttPj4yXXwwLGZbcj4+Ml18MCxlLGIpO2Jy
ZWFrIGF9Y2FzZSAwOnN3aXRjaChkfDApe2Nhc2UgLTE6e1BOKGZbcj4+Ml18MCxmW20+PjJdfDAs
ZywwLGEsYik7UE4oZltyPj4yXXwwLGZbbT4+Ml18MCxlLDEsYyxiKTticmVhayBhfWNhc2UgMDp7
UE4oZlttPj4yXXwwLGZbcj4+Ml18MCwwLGcsYSxiKTtQTihmW20+PjJdfDAsZltyPj4yXXwwLDEs
ZSxjLGIpO2JyZWFrIGF9Y2FzZSAxOntQTihmW20+PjJdfDAsZltyPj4yXXwwLDAsZyxhLGIpO1BO
KGZbbT4+Ml18MCxmW3I+PjJdfDAsMSxlLGMsYik7YnJlYWsgYX1kZWZhdWx0OmJyZWFrIGF9Y2Fz
ZSAxOntQTihmW20+PjJdfDAsZltyPj4yXXwwLDAsZyxhLGIpO1BOKGZbbT4+Ml18MCxmW3I+PjJd
fDAsMSxlLGMsYik7aWYoKGR8MCkhPS0xKWJyZWFrIGE7UU4oZlttPj4yXXwwLGZbcj4+Ml18MCxl
LGIpO2JyZWFrIGF9ZGVmYXVsdDpicmVhayBhfX13aGlsZSgwKTtqPWorMXwwO2E9ZltuPj4yXXww
fWk9b310PXc7cmV0dXJufWZ1bmN0aW9uIE5OKGEsYil7YT1hfDA7Yj1ifDA7aWYoISgrcFthKzg+
PjNdPT0rcFtiKzg+PjNdKSl4YSgxMTkyMTgsMTE4NDg3LDg0MywxMTkyNDkpO2lmKCgrcFthKzE2
Pj4zXT09K3BbYisxNj4+M10/K3BbYSsyND4+M109PStwW2IrMjQ+PjNdOjApPyhmW2ErMzI+PjJd
fDApPT0oZltiKzMyPj4yXXwwKTowKWE9KGZbYSszNj4+Ml18MCk9PShmW2IrMzY+PjJdfDApJjE7
ZWxzZSBhPTA7cmV0dXJuIGF8MH1mdW5jdGlvbiBPTihhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9
Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MDtnPTA7d2hpbGUoMSl7Yj1STihiLGQpfDA7
aWYoIWIpe2g9MDticmVha31jPVJOKGMsZSl8MDtpZighYyl7aT02O2JyZWFrfWlmKCEoTk4oYixj
KXwwKSl7aT03O2JyZWFrfWc9ZysxfDB9aWYoKGl8MCk9PTYpeGEoMTQ2NjY0LDExODQ4Nyw4NzEs
MTE5MTY3KTtlbHNlIGlmKChpfDApPT03KWg9VE4oYixTTihiLGMpfDAsZysxfDAsMS1kfDApfDA7
ZlthPj4yXT1nO2ZbYSs0Pj4yXT1oO3JldHVybn1mdW5jdGlvbiBQTihhLGMsZCxlLGcsaCl7YT1h
fDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7aD1ofDA7dmFyIGk9MCxqPTAsaz0wLGw9MCxtPTAs
bj0wLG89MDtpZighKGJbYT4+MF18MCkpe249aCsyMHwwO2k9RE4oZltuPj4yXXwwLGEpfDA7bT1o
KzI0fDB9ZWxzZXttPWgrMjR8MDtpPUROKGZbbT4+Ml18MCxhKXwwO249aCsyMHwwfWtPKGZbaSsz
Mj4+Ml18MCxmW2ErNDA+PjJdfDAsZltjKzQwPj4yXXwwKTtsPTE7aD1pO3doaWxlKDEpe2lmKChs
fDApPihnfDApKWJyZWFrO2o9Uk4oYSxkKXwwO2s9Uk4oYyxlKXwwO2RvIGlmKCEoYlthPj4wXXww
KSl7aT1ETihmW20+PjJdfDAsail8MDtpZigrcFtqKzg+PjNdPT0rcFthKzE2Pj4zXSl7bz0oZlth
KzMyPj4yXXwwKT09MTtoPShtTyhmW2grMzI+PjJdfDAsZlthKzQwPj4yXXwwLGZbYys0MD4+Ml18
MCl8MCkhPTA7YT1mW2krMzI+PjJdfDA7aWYobylpZihoKXtrTyhhLGZbays0MD4+Ml18MCxmW2or
NDA+PjJdfDApO2g9aTticmVha31lbHNle2tPKGEsZltqKzQwPj4yXXwwLGZbays0MD4+Ml18MCk7
aD1pO2JyZWFrfWVsc2UgaWYoaCl7a08oYSxmW2orNDA+PjJdfDAsZltrKzQwPj4yXXwwKTtoPWk7
YnJlYWt9ZWxzZXtrTyhhLGZbays0MD4+Ml18MCxmW2orNDA+PjJdfDApO2g9aTticmVha319ZWxz
ZXtvPShmW2ErMzY+PjJdfDApPT0xO2g9KG1PKGZbaCszMj4+Ml18MCxmW2ErNDA+PjJdfDAsZltj
KzQwPj4yXXwwKXwwKSE9MDthPWZbaSszMj4+Ml18MDtpZihvKWlmKGgpe2tPKGEsZltqKzQwPj4y
XXwwLGZbays0MD4+Ml18MCk7aD1pO2JyZWFrfWVsc2V7a08oYSxmW2srNDA+PjJdfDAsZltqKzQw
Pj4yXXwwKTtoPWk7YnJlYWt9ZWxzZSBpZihoKXtrTyhhLGZbays0MD4+Ml18MCxmW2orNDA+PjJd
fDApO2g9aTticmVha31lbHNle2tPKGEsZltqKzQwPj4yXXwwLGZbays0MD4+Ml18MCk7aD1pO2Jy
ZWFrfX19ZWxzZXtpPUROKGZbbj4+Ml18MCxqKXwwO2lmKCtwW2orOD4+M109PStwW2ErMTY+PjNd
KXtvPShmW2ErMzI+PjJdfDApPT0yO2g9KG1PKGZbaCszMj4+Ml18MCxmW2ErNDA+PjJdfDAsZltj
KzQwPj4yXXwwKXwwKSE9MDthPWZbaSszMj4+Ml18MDtpZihvKWlmKGgpe2tPKGEsZltqKzQwPj4y
XXwwLGZbays0MD4+Ml18MCk7aD1pO2JyZWFrfWVsc2V7a08oYSxmW2srNDA+PjJdfDAsZltqKzQw
Pj4yXXwwKTtoPWk7YnJlYWt9ZWxzZSBpZihoKXtrTyhhLGZbays0MD4+Ml18MCxmW2orNDA+PjJd
fDApO2g9aTticmVha31lbHNle2tPKGEsZltqKzQwPj4yXXwwLGZbays0MD4+Ml18MCk7aD1pO2Jy
ZWFrfX1lbHNle289KGZbYSszNj4+Ml18MCk9PTI7aD0obU8oZltoKzMyPj4yXXwwLGZbYSs0MD4+
Ml18MCxmW2MrNDA+PjJdfDApfDApIT0wO2E9ZltpKzMyPj4yXXwwO2lmKG8paWYoaCl7a08oYSxm
W2srNDA+PjJdfDAsZltqKzQwPj4yXXwwKTtoPWk7YnJlYWt9ZWxzZXtrTyhhLGZbais0MD4+Ml18
MCxmW2srNDA+PjJdfDApO2g9aTticmVha31lbHNlIGlmKGgpe2tPKGEsZltqKzQwPj4yXXwwLGZb
ays0MD4+Ml18MCk7aD1pO2JyZWFrfWVsc2V7a08oYSxmW2srNDA+PjJdfDAsZltqKzQwPj4yXXww
KTtoPWk7YnJlYWt9fX13aGlsZSgwKTthPWo7Yz1rO2w9bCsxfDB9cmV0dXJufWZ1bmN0aW9uIFFO
KGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTA7d2hpbGUoMSl7aWYoIShO
TihhLGMpfDApKWJyZWFrO2c9Uk4oYSwxKXwwO2M9Uk4oYyxkKXwwO2E9Z31nPShETihmWygoYlth
Pj4wXXwwKT09MD9lKzIwfDA6ZSsyNHwwKT4+Ml18MCxhKXwwKSszMnwwO2xPKGZbZz4+Ml18MCxm
W2ErNDA+PjJdfDAsZltjKzQwPj4yXXwwKTtyZXR1cm59ZnVuY3Rpb24gUk4oYSxiKXthPWF8MDti
PWJ8MDtpZighYSl4YSgxMTkxNTQsMTE4NDg3LDc5OCwxMTkxNTgpO2Vsc2UgcmV0dXJuIGZbKChi
fDApPT0wP2ErNDh8MDphKzUyfDApPj4yXXwwO3JldHVybiAwfWZ1bmN0aW9uIFNOKGEsYyl7YT1h
fDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZj0wO2Y9dDt0PXQrMTZ8MDtlPWY7ZD1iW2E+PjBdfDA7aWYo
ZDw8MjQ+PjI0PT0oYltjPj4wXXwwKT8hKCtwW2ErOD4+M10hPStwW2MrOD4+M10pOjApe2lmKCEo
ZDw8MjQ+PjI0KSlhPVVOKGEsYywzLDEpfDA7ZWxzZSBhPVVOKGEsYyw0LDIpfDA7dD1mO3JldHVy
biBhfDB9WXcoMSwxMTkxODAsZSl8MDtqYigxODg5NDQsMSk7cmV0dXJuIDB9ZnVuY3Rpb24gVE4o
YSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wO2k9MTt3aGls
ZSgxKXtpZigoaXwwKT4oZHwwKSlicmVhaztoPVJOKGEsZSl8MDtnPStwW2grOD4+M109PStwW2Er
MTY+PjNdO2RvIGlmKCEoYlthPj4wXXwwKSlpZihnKXtnPShmW2ErMzI+PjJdfDApPT0xO2JyZWFr
fWVsc2V7Zz0oZlthKzM2Pj4yXXwwKT09MzticmVha31lbHNlIGlmKGcpe2c9KGZbYSszMj4+Ml18
MCk9PTQ7YnJlYWt9ZWxzZXtnPShmW2ErMzY+PjJdfDApPT0yO2JyZWFrfXdoaWxlKDApO2E9aDtp
PWkrMXwwO2M9Zz8wLWN8MDpjfXJldHVybiBjfDB9ZnVuY3Rpb24gVU4oYSxiLGMsZCl7YT1hfDA7
Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAuMCxoPTAuMCxpPTAuMCxqPTAuMCxrPTAsbD0w
LG09MCxuPTA7aT0rcFthKzI0Pj4zXTtqPStwW2IrMTY+PjNdO2RvIGlmKCEoaTxqKT8oZz0rcFth
KzE2Pj4zXSxoPStwW2IrMjQ+PjNdLCEoZz5oKSk6MCl7aWYoajxpJmc8ail7Yj1WTihhLGIsYyxk
KXwwO2JyZWFrfWlmKGo8ZyZnPGgpe2I9MC0oVk4oYixhLGMsZCl8MCl8MDticmVha31pZighKGc9
PWopKWlmKGk9PWope2M9ZlthKzM2Pj4yXXwwO3JldHVybiAoKGN8MCk9PShmW2IrMzI+PjJdfDAp
PzA6KGN8MCk9PShkfDApPzE6LTEpfDB9ZWxzZXtjPWZbYSszMj4+Ml18MDtiPShjfDApPT0oZlti
KzM2Pj4yXXwwKT8wOihjfDApPT0oZHwwKT8xOi0xO2JyZWFrfWlmKCEoaT09aCkpaWYoaTxoKXtu
PShmW2ErMzY+PjJdfDApPT0oY3wwKTtjPVhOKGZbYiszMj4+Ml18MCxmW2ErMzI+PjJdfDAsYyxk
KXwwO3JldHVybiAobj9jOjAtY3wwKXwwfWVsc2V7bj0oZltiKzM2Pj4yXXwwKT09KGR8MCk7Yj1Y
TihmW2ErMzI+PjJdfDAsZltiKzMyPj4yXXwwLGMsZCl8MDtiPW4/YjowLWJ8MDticmVha31uPWZb
YSszMj4+Ml18MDttPWZbYiszMj4+Ml18MDtpZigobnwwKT09KG18MCkpe2I9ZltiKzM2Pj4yXXww
O2lmKChmW2ErMzY+PjJdfDApPT0oYnwwKSl7Yj0wO2JyZWFrfX1lbHNlIGI9ZltiKzM2Pj4yXXww
O2w9KG18MCk9PShjfDApO2lmKChtfDApPT0oYnwwKSl7aWYobCl7Yj0xO2JyZWFrfWlmKChtfDAp
PT0oZHwwKSl7Yj0tMTticmVha31pZigobnwwKSE9KGN8MCk/KGZbYSszNj4+Ml18MCkhPShjfDAp
OjApe2I9MTticmVha31pZigobnwwKSE9KGR8MCk/KGZbYSszNj4+Ml18MCkhPShkfDApOjApe2I9
LTE7YnJlYWt9Yj0wO2JyZWFrfWU9KGJ8MCk9PShkfDApO2lmKGwmZSl7Yj0oZlthKzM2Pj4yXXww
KT09KGR8MCk7aWYoKG58MCk9PShjfDApKXtpZighYil7Yj0tMTticmVha319ZWxzZSBpZihiKXti
PTE7YnJlYWt9Yj0wO2JyZWFrfWs9KGJ8MCk9PShjfDApO2lmKChtfDApPT0oZHwwKSZrKXtiPShu
fDApPT0oZHwwKTtpZigoZlthKzM2Pj4yXXwwKT09KGN8MCkpe2lmKCFiKXtiPS0xO2JyZWFrfX1l
bHNlIGlmKGIpe2I9MTticmVha31iPTA7YnJlYWt9aWYoIW0pe2lmKGspe2I9V04obixmW2ErMzY+
PjJdfDAsYyl8MDticmVha31pZihlKXtiPTAtKFdOKG4sZlthKzM2Pj4yXXwwLGQpfDApfDA7YnJl
YWt9fWU9ZlthKzM2Pj4yXXwwO2lmKGwmKGJ8MCk9PTApe2I9V04oZSxuLGMpfDA7YnJlYWt9ZWxz
ZXtiPTAtKFdOKGUsbixkKXwwKXwwO2JyZWFrfX1lbHNlIGI9MDt3aGlsZSgwKTtyZXR1cm4gYnww
fWZ1bmN0aW9uIFZOKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0w
LGg9MC4wLGk9MC4wO2g9K3BbYSsyND4+M107aT0rcFtiKzI0Pj4zXTtkbyBpZihoPGkpe2E9Zlth
KzM2Pj4yXXwwO2lmKChhfDApPT0oY3wwKT8oZltiKzMyPj4yXXwwKT09KGR8MCk6MCl7YT0tMTti
cmVha31pZigoYXwwKT09KGR8MCk/KGZbYiszMj4+Ml18MCk9PShjfDApOjApe2E9MTticmVha31h
PTB9ZWxzZXtlPWZbYiszMj4+Ml18MDtnPShlfDApPT0oZHwwKTtpZihoPT1pKWlmKGcpe2E9WE4o
ZlthKzM2Pj4yXXwwLGZbYiszNj4+Ml18MCxjLGQpfDA7YnJlYWt9ZWxzZXthPTAtKFhOKGZbYisz
Nj4+Ml18MCxmW2ErMzY+PjJdfDAsYyxkKXwwKXwwO2JyZWFrfWlmKGc/KGZbYiszNj4+Ml18MCk9
PShkfDApOjApe2E9LTE7YnJlYWt9aWYoKGV8MCk9PShjfDApPyhmW2IrMzY+PjJdfDApPT0oY3ww
KTowKXthPTE7YnJlYWt9YT0wfXdoaWxlKDApO3JldHVybiBhfDB9ZnVuY3Rpb24gV04oYSxiLGMp
e2E9YXwwO2I9YnwwO2M9Y3wwO3JldHVybiAoKGF8MCk9PShjfDApPygoYnwwKT09KGN8MCkpPDwz
MT4+MzE6MSl8MH1mdW5jdGlvbiBYTihhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtp
ZigoYXwwKT09KGR8MCkpaWYoIWEpcmV0dXJuIDA7ZWxzZSBiPTA7cmV0dXJuICgoYXwwKSE9MHwo
YnwwKSE9KGN8MCkpPDwzMT4+MzF8MH1mdW5jdGlvbiBZTihhKXthPWF8MDt2YXIgYj0wLGM9MCxk
PTAsZT0wLGc9MCxoPTA7Zz1mW2ErMjg+PjJdfDA7aD1mW2ErMjQ+PjJdfDA7Yz1mW2ErMzI+PjJd
fDA7YT0wO3doaWxlKDEpe2Q9YSsxfDA7aWYoKGR8MCk+PShofDApKWJyZWFrO2U9ZysoYTw8Mil8
MDtiPWQ7d2hpbGUoMSl7aWYoKGJ8MCk9PShofDApKWJyZWFrO3N3aXRjaChTTihmW2U+PjJdfDAs
ZltnKyhiPDwyKT4+Ml18MCl8MCl7Y2FzZSAxOntrTyhjLGEsYik7YnJlYWt9Y2FzZSAtMTp7a08o
YyxiLGEpO2JyZWFrfWRlZmF1bHQ6e319Yj1iKzF8MH1hPWR9cmV0dXJufWZ1bmN0aW9uIFpOKGEs
Yil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wO2U9YSsyNHwwO2Q9ZltlPj4yXXwwO2M9ZCsx
fDA7ZltlPj4yXT1jO2ZbYis0MD4+Ml09ZDtkPWErMjh8MDthPWZbZD4+Ml18MDtpZighYSlhPUVI
KGM8PDIpfDA7ZWxzZSBhPUdIKGEsYzw8Mil8MDtmW2Q+PjJdPWE7ZlthKygoZltlPj4yXXwwKSst
MTw8Mik+PjJdPWI7cmV0dXJufWZ1bmN0aW9uIF9OKGEsYixjKXthPWF8MDtiPWJ8MDtjPStjO3Zh
ciBkPTAsZT0wLGc9MCxoPTA7Zz10O3Q9dCsxNnwwO2U9ZztwW2U+PjNdPWM7ZD13YltmW2E+PjJd
JjYzXShhLGUsNTEyKXwwO2lmKCFkKXtoPURIKDI0KXwwO3BbaCs4Pj4zXT0rcFtlPj4zXTtlPUx3
KDczMDkyLGZbMTgwMDFdfDApfDA7ZD1oKzE2fDA7ZltkPj4yXT1lO3diW2ZbYT4+Ml0mNjNdKGEs
aCwxKXwwfWVsc2UgZD1kKzE2fDA7aD1mW2Q+PjJdfDA7d2JbZltoPj4yXSY2M10oaCxiLDEpfDA7
dD1nO3JldHVybn1mdW5jdGlvbiAkTihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ak8oZltiKzMy
Pj4yXXwwKTtNXyhmW2IrMjg+PjJdfDApO01fKGIpO3JldHVybn1mdW5jdGlvbiBhTyhhLGIsYyxk
KXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLjAsZj0wLjA7ZT0rcFtiPj4zXTtmPStw
W2M+PjNdO2lmKCEoZT5mKSlpZihlPGYpYT0hKCtwW2IrOD4+M10+PStwW2MrOD4+M10pPDwzMT4+
MzE7ZWxzZSBhPTA7ZWxzZSBhPSEoK3BbYis4Pj4zXTw9K3BbYys4Pj4zXSkmMTtyZXR1cm4gYXww
fWZ1bmN0aW9uIGJPKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtIdyhmW2IrMTY+PjJdfDApfDA7
TV8oYik7cmV0dXJufWZ1bmN0aW9uIGNPKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHww
O3ZhciBlPTAuMCxmPTAuMDtmPStwW2I+PjNdO2U9K3BbYz4+M107cmV0dXJuIChmPmU/MTooZjxl
KTw8MzE+PjMxKXwwfWZ1bmN0aW9uIGRPKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0w
LjAsZz0wLjAsaD0wLGk9MDtpPShiW2MrMzY+PjBdfDApIT0wO2g9ZCs0MHwwO2RvIGlmKChmW2Mr
MjQ+PjJdfDApPT0oZHwwKSl7Zz0rcFtoPj4zXTtpZihpKXtlPSgrcFtkKzY0Pj4zXSsgK3BbZCs0
OD4+M10pKi41O2JyZWFrfWVsc2V7Zz0oK3BbZCs1Nj4+M10rZykqLjU7ZT0rcFtkKzQ4Pj4zXTti
cmVha319ZWxzZSBpZihpKXtnPStwW2QrNTY+PjNdO2U9KCtwW2QrNjQ+PjNdKyArcFtkKzQ4Pj4z
XSkqLjU7YnJlYWt9ZWxzZXtnPSgrcFtkKzU2Pj4zXSsgK3BbaD4+M10pKi41O2U9K3BbZCs2ND4+
M107YnJlYWt9d2hpbGUoMCk7cFthPj4zXT1nO3BbYSs4Pj4zXT1lO3JldHVybn1mdW5jdGlvbiBl
TyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTA7Yz1mW2ErMjA+PjJdfDA7aWYoKGN8MCkhPShmW2Ir
MjA+PjJdfDApPyhjfDApIT0oZltiKzI0Pj4yXXwwKTowKWM9ZlthKzI0Pj4yXXwwO3JldHVybiBj
fDB9ZnVuY3Rpb24gZk8oYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLjA7Yz0oK3BbYis2ND4+M10r
ICtwW2IrNDg+PjNdKSouNTtwW2E+PjNdPSgrcFtiKzU2Pj4zXSsgK3BbYis0MD4+M10pKi41O3Bb
YSs4Pj4zXT1jO3JldHVybn1mdW5jdGlvbiBnTyhhLGMsZCxlLGcsaCxpKXthPWF8MDtjPWN8MDtk
PStkO2U9K2U7Zz0rZztoPWh8MDtpPWl8MDt2YXIgaj0wLGs9MDtiW2E+PjBdPWM7cFthKzg+PjNd
PWQ7aWYoZTxnKXtqPTA7az1oO2M9aTtkPWU7ZT1nfWVsc2V7aj0xO2s9aTtjPWg7ZD1nfXBbYSsy
ND4+M109ZTtwW2ErMTY+PjNdPWQ7ZlthKzM2Pj4yXT1jO2ZbYSszMj4+Ml09aztiW2ErMT4+MF09
ajtyZXR1cm59ZnVuY3Rpb24gaE8oYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTA7ZD1m
W2IrMzY+PjJdfDA7ZG8gaWYoKGZbZCs0Pj4yXXwwKSE9KGN8MCkpe2lmKChmW2QrMTI+PjJdfDAp
PT0oY3wwKSl7ZD1+figoK3BbYis1Nj4+M10rICtwW2IrNDA+PjNdKSouNSk7Yz1+fitwW2IrNDg+
PjNdO2JyZWFrfWlmKChmW2QrOD4+Ml18MCk9PShjfDApKXtkPX5+K3BbYis0MD4+M107Yz1+figo
K3BbYis2ND4+M10rICtwW2IrNDg+PjNdKSouNSk7YnJlYWt9aWYoKGZbZD4+Ml18MCk9PShjfDAp
KXtkPX5+K3BbYis1Nj4+M107Yz1+figoK3BbYis2ND4+M10rICtwW2IrNDg+PjNdKSouNSl9ZWxz
ZXtkPTA7Yz0wfX1lbHNle2Q9fn4oKCtwW2IrNTY+PjNdKyArcFtiKzQwPj4zXSkqLjUpO2M9fn4r
cFtiKzY0Pj4zXX13aGlsZSgwKTtmW2E+PjJdPWQ7ZlthKzQ+PjJdPWM7cmV0dXJufWZ1bmN0aW9u
IGlPKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wO2M9REgoOCl8MDtmW2M+PjJdPWE7
Yj1ESChhKjEyfDApfDA7ZD1jKzR8MDtmW2Q+PjJdPWI7Yj0wO3doaWxlKDEpe2lmKChifDApPj0o
YXwwKSlicmVhaztnPUhSKCl8MDtlPWZbZD4+Ml18MDtmW2UrKGIqMTJ8MCkrOD4+Ml09ZztmW2Ur
KGIqMTJ8MCk+PjJdPTA7Yj1iKzF8MH1yZXR1cm4gY3wwfWZ1bmN0aW9uIGpPKGEpe2E9YXwwO3Zh
ciBiPTAsYz0wLGQ9MDtjPWErNHwwO2I9MDt3aGlsZSgxKXtkPWZbYz4+Ml18MDtpZigoYnwwKT49
KGZbYT4+Ml18MCkpYnJlYWs7SHcoZltkKyhiKjEyfDApKzg+PjJdfDApfDA7Yj1iKzF8MH1NXyhk
KTtNXyhhKTtyZXR1cm59ZnVuY3Rpb24ga08oYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBk
PTAsZT0wO2Q9dDt0PXQrMTZ8MDtlPWQ7ZltlPj4yXT1jO2M9ZlsoZlthKzQ+PjJdfDApKyhiKjEy
fDApKzg+PjJdfDA7d2JbZltjPj4yXSY2M10oYyxlLDEpfDA7dD1kO3JldHVybn1mdW5jdGlvbiBs
TyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wO2Q9dDt0PXQrMTZ8MDtl
PWQ7ZltlPj4yXT1jO2E9YSs0fDA7Zz1mWyhmW2E+PjJdfDApKyhiKjEyfDApKzg+PjJdfDA7d2Jb
ZltnPj4yXSY2M10oZyxlLDIpfDA7ZltlPj4yXT1iO2M9ZlsoZlthPj4yXXwwKSsoYyoxMnwwKSs4
Pj4yXXwwO3diW2ZbYz4+Ml0mNjNdKGMsZSwyKXwwO3Q9ZDtyZXR1cm59ZnVuY3Rpb24gbU8oYSxi
LGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wO2Q9dDt0PXQrMTZ8MDtlPWQ7ZltlPj4y
XT1jO2M9ZlsoZlthKzQ+PjJdfDApKyhiKjEyfDApKzg+PjJdfDA7Yz0od2JbZltjPj4yXSY2M10o
YyxlLDUxMil8MCkhPTAmMTt0PWQ7cmV0dXJuIGN8MH1mdW5jdGlvbiBuTyhhKXthPWF8MDt2YXIg
Yj0wLGM9MCxkPTAsZT0wO2I9ZlthPj4yXXwwO3N3aXRjaChifDApe2Nhc2UgMDpicmVhaztjYXNl
IDE6e2ZbKGZbYSs0Pj4yXXwwKSs0Pj4yXT0wO2JyZWFrfWRlZmF1bHQ6e2Q9b08oYil8MDtlPWEr
NHwwO2M9MDtiPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShmW2E+PjJdfDApKWJyZWFrO2lmKCEoZlso
ZltlPj4yXXwwKSsoYyoxMnwwKT4+Ml18MCkpYj1wTyhhLGMsYixkKXwwO2M9YysxfDB9Yj0wO3do
aWxlKDEpe2M9cU8oZCl8MDtpZigoY3wwKTw9LTEpYnJlYWs7ZlsoZltlPj4yXXwwKSsoYyoxMnww
KSs0Pj4yXT1iO2I9YisxfDB9ck8oZCl9fXJldHVybn1mdW5jdGlvbiBvTyhhKXthPWF8MDt2YXIg
Yj0wO2I9REgoOCl8MDthPURIKGE8PDIpfDA7ZltiKzQ+PjJdPWE7ZltiPj4yXT0tMTtyZXR1cm4g
YnwwfWZ1bmN0aW9uIHBPKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAs
Zz0wLGg9MCxpPTAsaj0wO2k9YSs0fDA7Zz1mW2k+PjJdfDA7aj1nKyhiKjEyfDApfDA7ZltqPj4y
XT0xO2c9ZltnKyhiKjEyfDApKzg+PjJdfDA7aD1nKzR8MDtjPWMrMXwwO2c9SncoZyl8MDt3aGls
ZSgxKXtpZighZylicmVhaztlPWZbKGZbaD4+Ml18MCkrOD4+Ml18MDtpZigoZXwwKTwwKWU9Zltn
Kzg+PjJdfDA7ZWxzZSBlPWcrKDAtZSl8MDtlPWZbZT4+Ml18MDtpZighKGZbKGZbaT4+Ml18MCkr
KGUqMTJ8MCk+PjJdfDApKWM9cE8oYSxlLGMsZCl8MDtnPWZbZz4+Ml18MH1mW2o+PjJdPTI7c08o
ZCxiKTtyZXR1cm4gYysxfDB9ZnVuY3Rpb24gcU8oYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yj1mW2E+
PjJdfDA7aWYoKGJ8MCk9PS0xKWE9LTE7ZWxzZXtjPWZbKGZbYSs0Pj4yXXwwKSsoYjw8Mik+PjJd
fDA7ZlthPj4yXT1iKy0xO2E9Y31yZXR1cm4gYXwwfWZ1bmN0aW9uIHJPKGEpe2E9YXwwO01fKGZb
YSs0Pj4yXXwwKTtNXyhhKTtyZXR1cm59ZnVuY3Rpb24gc08oYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wO2M9KGZbYT4+Ml18MCkrMXwwO2ZbYT4+Ml09YztmWyhmW2ErND4+Ml18MCkrKGM8PDIpPj4y
XT1iO3JldHVybn1mdW5jdGlvbiB0TyhhKXthPWF8MDt2YXIgYj0wLGM9MCxlPTA7Yz1mW2E+PjJd
fDA7ZlthKzg+PjJdPWM7ZlthKzEyPj4yXT1mW2ErND4+Ml07Yj1hKzE2fDA7YT0wO3doaWxlKDEp
e2lmKChhfDApPj0oY3wwKSlicmVhaztlPWZbYj4+Ml18MDtkW2UrKGEqNDB8MCkrMTg+PjFdPWRb
ZSsoYSo0MHwwKSsxNj4+MV18MDthPWErMXwwfXJldHVybn1mdW5jdGlvbiB1TyhhKXthPWF8MDt2
YXIgYj0wLGM9MCxlPTA7Yj1mW2ErOD4+Ml18MDtmW2E+PjJdPWI7ZlthKzQ+PjJdPWZbYSsxMj4+
Ml07Yz1hKzE2fDA7YT0wO3doaWxlKDEpe2lmKChhfDApPj0oYnwwKSlicmVhaztlPWZbYz4+Ml18
MDtkW2UrKGEqNDB8MCkrMTY+PjFdPWRbZSsoYSo0MHwwKSsxOD4+MV18MDthPWErMXwwfWI9Yisy
fDA7d2hpbGUoMSl7aWYoKGF8MCk+PShifDApKWJyZWFrO2RbKGZbYz4+Ml18MCkrKGEqNDB8MCkr
MTY+PjFdPTA7YT1hKzF8MH1yZXR1cm59ZnVuY3Rpb24gdk8oYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wLGQ9MCxlPTA7Yz1ESCgoKGZbYT4+Ml18MCkqNnwwKSsoYjw8MSk8PDIpfDA7ZD1ESCgoKChm
W2E+PjJdfDApKjN8MCkrYnwwKSoyNHwwKXwwO2ZbYSsyMD4+Ml09ZDtkPWZbYT4+Ml18MDtlPWEr
MTZ8MDthPTA7d2hpbGUoMSl7aWYoKGF8MCk+PShkfDApKWJyZWFrO2ZbKGZbZT4+Ml18MCkrKGEq
NDB8MCkrMjg+PjJdPWM7Yz1jKzI0fDA7YT1hKzF8MH1kPWQrMnwwO3doaWxlKDEpe2lmKChhfDAp
Pj0oZHwwKSlicmVhaztmWyhmW2U+PjJdfDApKyhhKjQwfDApKzI4Pj4yXT1jO2M9YysoYjw8Mil8
MDthPWErMXwwfXJldHVybn1mdW5jdGlvbiB3TyhhKXthPWF8MDt2YXIgYj0wO2I9REgoMjQpfDA7
ZltiPj4yXT0wO2E9REgoYSo0MHwwKXwwO2ZbYisxNj4+Ml09YTtyZXR1cm4gYnwwfWZ1bmN0aW9u
IHhPKGEpe2E9YXwwO3ZhciBiPTAsYz0wO2M9ZlthKzE2Pj4yXXwwO2I9ZlthPj4yXXwwO2ZbYyso
Yio0MHwwKSszMj4+Ml09YjtmW2E+PjJdPWIrMTtyZXR1cm4gYysoYio0MHwwKXwwfWZ1bmN0aW9u
IHlPKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9K2Q7dmFyIGU9MCxnPTA7Zz1hKzR8MDtl
PWZbZz4+Ml18MDtmW2c+PjJdPWUrMTtnPWZbYSsyMD4+Ml18MDthPWcrKGUqMjR8MCl8MDtmW2cr
KGUqMjR8MCkrMTI+PjJdPWZbYiszMj4+Ml07ZltnKyhlKjI0fDApKzE2Pj4yXT1mW2MrMzI+PjJd
O3BbYT4+M109ZDtmW2crKGUqMjR8MCkrOD4+Ml09MDt6TyhiLGUpO3pPKGMsZSk7cmV0dXJuIGF8
MH1mdW5jdGlvbiB6TyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZT0wO2M9YSsxNnwwO2U9ZFtj
Pj4xXXwwO2ZbKGZbYSsyOD4+Ml18MCkrKGU8PDE2Pj4xNjw8Mik+PjJdPWI7ZFtjPj4xXT1lKzE8
PDE2Pj4xNjtyZXR1cm59ZnVuY3Rpb24gQU8oYSl7YT1hfDA7dmFyIGI9MDtiPWErMTZ8MDtNXyhm
WyhmW2I+PjJdfDApKzI4Pj4yXXwwKTtNXyhmW2I+PjJdfDApO01fKGZbYSsyMD4+Ml18MCk7TV8o
YSk7cmV0dXJufWZ1bmN0aW9uIEJPKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZT0wLGc9
MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDtnPWZbYT4+Ml18MDtoPWErMTZ8MDtlPTA7d2hpbGUo
MSl7aWYoKGV8MCk+PShnfDApKWJyZWFrO2ZbKGZbaD4+Ml18MCkrKGUqNDB8MCk+PjJdPS0yMTQ3
NDgzNjQ4O2U9ZSsxfDB9UFIoKTthOmRvIGlmKCEoU1IoYil8MCkpe2ZbYis4Pj4yXT0wO2ZbYj4+
Ml09MDtiPWErMjB8MDt3aGlsZSgxKXtnPVVSKCl8MDtpZighZyl7ZT0wO2JyZWFrIGF9ZltnPj4y
XT0wLShmW2c+PjJdfDApO2lmKChnfDApPT0oY3wwKSl7ZT0wO2JyZWFrIGF9aD1nKzE2fDA7aT1n
KzI4fDA7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oZFtoPj4xXXwwKSlicmVhaztqPShmW2I+PjJd
fDApKygoZlsoZltpPj4yXXwwKSsoZTw8Mik+PjJdfDApKjI0fDApfDA7az1DTyhhLGosZyl8MDts
PWZbaz4+Ml18MDtkbyBpZigobHwwKTwwKXttPX5+LSgrcFtqPj4zXSsgKyhmW2c+PjJdfDApKTtp
ZigobHwwKT09LTIxNDc0ODM2NDgpe2Zbaz4+Ml09bTtpZihTUihrKXwwKXtlPTE7YnJlYWsgYX1m
W2srOD4+Ml09ZztmW2srMTI+PjJdPWo7YnJlYWt9ZWxzZXtpZigobHwwKT49KG18MCkpYnJlYWs7
VlIoayxtKTtmW2srOD4+Ml09ZztmW2srMTI+PjJdPWo7YnJlYWt9fXdoaWxlKDApO2U9ZSsxfDB9
fX1lbHNlIGU9MTt3aGlsZSgwKTtyZXR1cm4gZXwwfWZ1bmN0aW9uIENPKGEsYixjKXthPWF8MDti
PWJ8MDtjPWN8MDt2YXIgZD0wO2Q9ZltiKzEyPj4yXXwwO2lmKChkfDApPT0oZltjKzMyPj4yXXww
KSlkPWZbYisxNj4+Ml18MDtyZXR1cm4gKGZbYSsxNj4+Ml18MCkrKGQqNDB8MCl8MH1mdW5jdGlv
biBETyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MDtjPWZbYT4+
Ml18MDtGQyhjLDMsYil8MDtiPWZbYys5Mj4+Ml18MDtkbyBpZihiKXtnPWZbYisxNj4+Ml18MDto
PWZbZysxMj4+Ml18MDtmW2ErNzY+PjJdPWg7ZT1mW2crMTY+PjJdfDA7ZlthKzg0Pj4yXT1lO2c9
ZltnPj4yXXwwO2ZbYSs4MD4+Ml09ZztmW2ErODg+PjJdPWZbYis0Pj4yXTtkPWErMTUyfDA7ZT1m
W2Q+PjJdfGZbZT4+Ml07ZltkPj4yXT1lO2I9ZltjKzgwPj4yXXwwO2lmKCFiKXtmW2ErNjA+PjJd
PTA7Yj05OTk7YnJlYWt9Yz1mW2IrMTY+PjJdfDA7ZlthKzYwPj4yXT1mW2MrMTI+PjJdO2k9Zltj
KzE2Pj4yXXwwO2ZbYSs2OD4+Ml09aTtmW2ErNzI+PjJdPWZbYis0Pj4yXTtmW2Q+PjJdPWZbaT4+
Ml18ZTtpZighaCl7ZlthKzY0Pj4yXT1nO2I9MzAwO2JyZWFrfWVsc2V7ZlthKzY0Pj4yXT1mW2M+
PjJdO2I9MzAwO2JyZWFrfX1lbHNlIGI9OTk5O3doaWxlKDApO3JldHVybiBifDB9ZnVuY3Rpb24g
RU8oYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yj1mW2ErNjA+PjJdfDA7aWYoIShlQyhhKXwwKSlpZigo
YnwwKSE9MD8oYz1mW2I+PjJdfDAsKGN8MCkhPTApOjApe0NiW2MmMTI3XShhKTthPTB9ZWxzZSBh
PTA7ZWxzZSBhPTE7cmV0dXJuIGF8MH1mdW5jdGlvbiBGTyhhKXthPWF8MDt2YXIgYj0wLGM9MDti
PWZbYSs2MD4+Ml18MDtpZihifDA/KGM9ZltiKzQ+PjJdfDAsY3wwKTowKUNiW2MmMTI3XShhKTtm
WyhmW2E+PjJdfDApKzI0Pj4yXT0wO21DKGEpO3JldHVybn1mdW5jdGlvbiBHTyhhLGIsYyl7YT1h
fDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MC4wLGU9MC4wLGc9MC4wLGg9MC4wO2Q9K3BbYis1MDQ+PjNd
O2U9K3BbYis1MTI+PjNdO2g9K3BbYiszNTI+PjNdO2lmKCEoZltiKzM2MD4+Ml18MCkpe2c9K3Bb
Yz4+M10rZDtjPWMrOHwwO2Q9ZX1lbHNlIGc9LShlKyArcFtjKzg+PjNdKTtlPStwW2IrNTI4Pj4z
XSpoKigrcFtjPj4zXStkKTtwW2E+PjNdPStwW2IrNTIwPj4zXSpoKmc7cFthKzg+PjNdPWU7cmV0
dXJufWZ1bmN0aW9uIEhPKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAu
MCxnPTAuMCxoPTAuMCxpPTAuMCxqPTAuMDtlPStwW2ErNTA0Pj4zXTtnPStwW2ErNTEyPj4zXTto
PStwW2ErMzUyPj4zXTtpPStwW2ErNTIwPj4zXSpoO2g9K3BbYSs1Mjg+PjNdKmg7YTpkbyBpZigh
KGZbYSszNjA+PjJdfDApKXthPTA7d2hpbGUoMSl7aWYoKGF8MCk+PShkfDApKWJyZWFrIGE7cFtj
KyhhPDw0KT4+M109KCtwW2IrKGE8PDQpPj4zXStlKSppO3BbYysoYTw8NCkrOD4+M109KCtwW2Ir
KGE8PDQpKzg+PjNdK2cpKmg7YT1hKzF8MH19ZWxzZXthPTA7d2hpbGUoMSl7aWYoKGF8MCk+PShk
fDApKWJyZWFrIGE7aj0tKGkqKCtwW2IrKGE8PDQpKzg+PjNdK2cpKTtwW2MrKGE8PDQpKzg+PjNd
PSgrcFtiKyhhPDw0KT4+M10rZSkqaDtwW2MrKGE8PDQpPj4zXT1qO2E9YSsxfDB9fXdoaWxlKDAp
O3JldHVybiBjfDB9ZnVuY3Rpb24gSU8oYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wO2I9ZlthKzYw
Pj4yXXwwO2lmKGJ8MD8oYz1mW2IrOD4+Ml18MCxjfDApOjApQ2JbYyYxMjddKGEpO3JldHVybn1m
dW5jdGlvbiBKTyhhKXthPWF8MDt2YXIgYj0wLGM9MDtiPWZbYSs2MD4+Ml18MDtpZihifDA/KGM9
ZltiKzEyPj4yXXwwLGN8MCk6MClDYltjJjEyN10oYSk7bEMoYSk7cmV0dXJufWZ1bmN0aW9uIEtP
KGEpe2E9YXwwO3ZhciBiPTAsYz0wO2I9ZlthKzYwPj4yXXwwO2lmKGJ8MD8oYz1mW2IrMjQ+PjJd
fDAsY3wwKTowKUNiW2MmMTI3XShhKTtyZXR1cm59ZnVuY3Rpb24gTE8oYSl7YT1hfDA7dmFyIGI9
MCxjPTA7Yj1mW2ErNjA+PjJdfDA7aWYoYnwwPyhjPWZbYisyOD4+Ml18MCxjfDApOjApQ2JbYyYx
MjddKGEpO3JldHVybn1mdW5jdGlvbiBNTyhhKXthPWF8MDt2YXIgYj0wLGM9MDtiPWZbYSs2MD4+
Ml18MDtpZihifDA/KGM9ZltiKzE2Pj4yXXwwLGN8MCk6MCl7Yj1mW2ErMTYwPj4yXXwwO0diW2Mm
MzFdKGEsZlsoZlsoZlthPj4yXXwwKSszMDg+PjJdfDApKyhiPDwyKT4+Ml18MCxiLGZbYSsxNTY+
PjJdfDApfXJldHVybn1mdW5jdGlvbiBOTyhhKXthPWF8MDt2YXIgYj0wLGM9MDtiPWZbYSs2MD4+
Ml18MDtpZihifDA/KGM9ZltiKzIwPj4yXXwwLGN8MCk6MClDYltjJjEyN10oYSk7cmV0dXJufWZ1
bmN0aW9uIE9PKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtiPWZbYSs2MD4+Ml18MDtpZihifDA/
KGM9ZltiKzMyPj4yXXwwLGN8MCk6MClDYltjJjEyN10oYSk7cmV0dXJufWZ1bmN0aW9uIFBPKGEs
Yil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtiPWZbYSs2MD4+Ml18MDtpZihifDA/KGM9ZltiKzM2Pj4y
XXwwLGN8MCk6MClDYltjJjEyN10oYSk7cmV0dXJufWZ1bmN0aW9uIFFPKGEpe2E9YXwwO3ZhciBi
PTAsYz0wO2I9ZlthKzYwPj4yXXwwO2lmKGJ8MD8oYz1mW2IrNDA+PjJdfDAsY3wwKTowKUNiW2Mm
MTI3XShhKTtyZXR1cm59ZnVuY3Rpb24gUk8oYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yj1mW2ErNjA+
PjJdfDA7aWYoYnwwPyhjPWZbYis0ND4+Ml18MCxjfDApOjApQ2JbYyYxMjddKGEpO3JldHVybn1m
dW5jdGlvbiBTTyhhKXthPWF8MDt2YXIgYj0wLGM9MDtiPWZbYSs2MD4+Ml18MDtpZihifDA/KGM9
ZltiKzQ4Pj4yXXwwLGN8MCk6MClDYltjJjEyN10oYSk7cmV0dXJufWZ1bmN0aW9uIFRPKGEpe2E9
YXwwO3ZhciBiPTAsYz0wO2I9ZlthKzYwPj4yXXwwO2lmKGJ8MD8oYz1mW2IrNTI+PjJdfDAsY3ww
KTowKUNiW2MmMTI3XShhKTtyZXR1cm59ZnVuY3Rpb24gVU8oYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wO2I9ZlthKzYwPj4yXXwwO2lmKGJ8MD8oYz1mW2IrNTY+PjJdfDAsY3wwKTowKUNiW2MmMTI3
XShhKTtyZXR1cm59ZnVuY3Rpb24gVk8oYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yj1mW2ErNjA+PjJd
fDA7aWYoYnwwPyhjPWZbYis2MD4+Ml18MCxjfDApOjApQ2JbYyYxMjddKGEpO3JldHVybn1mdW5j
dGlvbiBXTyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTA7Yj1mW2ErNjA+PjJdfDA7aWYoYnwwPyhj
PWZbYis2ND4+Ml18MCxjfDApOjApQ2JbYyYxMjddKGEpO3JldHVybn1mdW5jdGlvbiBYTyhhKXth
PWF8MDt2YXIgYj0wLGM9MDtiPWZbYSs2MD4+Ml18MDtpZihifDA/KGM9ZltiKzY4Pj4yXXwwLGN8
MCk6MClDYltjJjEyN10oYSk7cmV0dXJufWZ1bmN0aW9uIFlPKGEsYixjLGQsZSl7YT1hfDA7Yj1i
fDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTA7Zz1mW2ErNjA+PjJdfDA7aWYoZ3wwPyho
PWZbZys3Mj4+Ml18MCxofDApOjApSGJbaCYxNV0oYSxiLGMsZCxlKTtyZXR1cm59ZnVuY3Rpb24g
Wk8oYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yj1mW2ErNjA+PjJdfDA7aWYoYnwwPyhjPWZbYis3Nj4+
Ml18MCxjfDApOjApQ2JbYyYxMjddKGEpO3JldHVybn1mdW5jdGlvbiBfTyhhLGIpe2E9YXwwO2I9
YnwwO3ZhciBjPTAsZD0wO2M9ZlthKzYwPj4yXXwwO2lmKGN8MD8oZD1mW2MrODA+PjJdfDAsZHww
KTowKURiW2QmNjNdKGEsYik7cmV0dXJufWZ1bmN0aW9uICRPKGEpe2E9YXwwO3ZhciBiPTAsYz0w
O2I9ZlthKzYwPj4yXXwwO2lmKGJ8MD8oYz1mW2IrODQ+PjJdfDAsY3wwKTowKUNiW2MmMTI3XShh
KTtyZXR1cm59ZnVuY3Rpb24gYVAoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0w
LGg9MCxpPTAsaj0wLGs9MCxsPTA7az10O3Q9dCs0OHwwO2U9ayszMnwwO2g9aztpPWsrMTZ8MDtq
PWZbYSs2MD4+Ml18MDtsPWZbZD4+Ml18MDtkbyBpZihsfDA/YltsPj4wXXwwOjApe2w9ZlthKzE2
Pj4yXXwwO2lmKGx8MD8oZltsKzE0ND4+Ml18MCk9PTA6MClicmVhaztpZighKGZbYSsxNTI+PjJd
JjgxOTIpKXtmW2U+PjJdPWZbYz4+Ml07ZltlKzQ+PjJdPWZbYys0Pj4yXTtmW2UrOD4+Ml09Zltj
Kzg+PjJdO2ZbZSsxMj4+Ml09ZltjKzEyPj4yXTtHTyhpLGEsZSk7ZltoPj4yXT1mW2k+PjJdO2Zb
aCs0Pj4yXT1mW2krND4+Ml07ZltoKzg+PjJdPWZbaSs4Pj4yXTtmW2grMTI+PjJdPWZbaSsxMj4+
Ml19ZWxzZXtmW2g+PjJdPWZbYz4+Ml07ZltoKzQ+PjJdPWZbYys0Pj4yXTtmW2grOD4+Ml09Zltj
Kzg+PjJdO2ZbaCsxMj4+Ml09ZltjKzEyPj4yXX1pZihqfDA/KGc9ZltqKzg4Pj4yXXwwLGd8MCk6
MCl7ZltlPj4yXT1mW2g+PjJdO2ZbZSs0Pj4yXT1mW2grND4+Ml07ZltlKzg+PjJdPWZbaCs4Pj4y
XTtmW2UrMTI+PjJdPWZbaCsxMj4+Ml07RWJbZyYxMjddKGEsZSxkKX19d2hpbGUoMCk7dD1rO3Jl
dHVybn1mdW5jdGlvbiBiUChhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0w
O2U9ZlthKzYwPj4yXXwwO2c9KGZbYSsxNj4+Ml18MCkrMTZ8MDtpPXgxKGMsNTgpfDA7aD0oaXww
KSE9MDtpZihoKWJbaT4+MF09MDtpZihlfDA/KGNQKGZbYSs2OD4+Ml18MCxjLGcpLGQ9ZltlKzky
Pj4yXXwwLGR8MCk6MClEYltkJjYzXShhLGcpO2lmKGgpYltpPj4wXT01ODtyZXR1cm59ZnVuY3Rp
b24gY1AoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9
MCxrPTA7az10O3Q9dCszMnwwO2c9aysxNnwwO2o9ays4fDA7aT1rO2ZbYz4+Ml09YjtmW2MrMzI+
PjJdPTU7ZD1yUShiKXwwO2U9ZlthKzE2Pj4yXXwwO2lmKCEoKGV8MCkhPTA/KHkyKGQsZSxmW2Er
MjA+PjJdfDAsNCwxMDApfDApIT0wOjApKWg9MzthOmRvIGlmKChofDApPT0zKXtzd2l0Y2goc1Eo
YixjLGZbYSsyND4+Ml18MCl8MCl7Y2FzZSAwOmJyZWFrIGE7Y2FzZSAxOmJyZWFrO2RlZmF1bHQ6
e1l3KDEsMTE5MzcyLGcpfDA7YnJlYWsgYX19YT1FSCgoYzAoYil8MCkrMTZ8MCl8MDtmW2k+PjJd
PWI7ZCQoYSwxMTkzMzcsaSl8MDtpZihKRyhhKXwwKXtmW2o+PjJdPWI7WXcoMCwxMTkzNDYsail8
MH1NXyhhKX13aGlsZSgwKTt0PWs7cmV0dXJufWZ1bmN0aW9uIGRQKGEsYyl7YT1hfDA7Yz1jfDA7
dmFyIGQ9MCxlPTAsZz0wLGg9MCxpPTA7ZT1mW2ErNjA+PjJdfDA7Zz0oZlthKzE2Pj4yXXwwKSs1
NnwwO2k9eDEoYyw1OCl8MDtoPShpfDApIT0wO2lmKGgpYltpPj4wXT0wO2lmKGV8MD8oY1AoZlth
KzY4Pj4yXXwwLGMsZyksZD1mW2UrOTI+PjJdfDAsZHwwKTowKURiW2QmNjNdKGEsZyk7aWYoaCli
W2k+PjBdPTU4O3JldHVybn1mdW5jdGlvbiBlUChhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtk
PStkO3ZhciBlPTAsZz0wLGg9MCxpPTA7Zz1mW2ErNjA+PjJdfDA7aD1hKzE2fDA7aT0oZltoPj4y
XXwwKSs5NnwwO2lmKGd8MD8oY1AoZlthKzY4Pj4yXXwwLGIsaSksZT1mW2crOTI+PjJdfDAsZXww
KTowKURiW2UmNjNdKGEsaSk7aT1mW2g+PjJdfDA7ZltpKzEzNj4+Ml09YztuW2krMTQwPj4yXT1k
O3JldHVybn1mdW5jdGlvbiBmUChhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAs
aT0wLGo9MCxrPTAsbD0wLG09MC4wO2w9dDt0PXQrMTZ8MDtqPWw7aT1mW2ErNjA+PjJdfDA7YT1m
W2ErMTY+PjJdfDA7ZlthKzE2MD4+Ml09YzthOmRvIGlmKChjfDApIT0wJihpfDApIT0wKXtpPWEr
MTQ0fDA7aD1hKzE1MnwwO2c9YSsxNDh8MDthPWM7d2hpbGUoMSl7ZT1hKzR8MDthPWZbYT4+Ml18
MDtpZighYSlicmVhayBhO2I6ZG8gc3dpdGNoKGJbYT4+MF18MCl7Y2FzZSAxMTU6e2lmKCEoSCQo
YSwxMTkzOTMpfDApKXtmW2k+PjJdPTM7YnJlYWsgYn1pZighKEgkKGEsMTE5NDE0KXwwKSl7Yz0x
MTU7d2hpbGUoMSl7ZD1hKzF8MDtpZighKGM8PDI0Pj4yNCkpYnJlYWs7YT1kO2M9YltkPj4wXXww
fW09K0MyKGQpO3BbaD4+M109bX1lbHNlIGs9Mjc7YnJlYWt9Y2FzZSAxMDA6e2lmKCEoSCQoYSwx
NDU1OTApfDApKXtmW2k+PjJdPTE7YnJlYWsgYn1pZighKEgkKGEsMTQ1NTk3KXwwKSlmW2k+PjJd
PTI7ZWxzZSBrPTI3O2JyZWFrfWNhc2UgMTA1OntpZihIJChhLDE0MjYwNSl8MD9IJChhLDExOTM5
OSl8MDowKXtrPTI3O2JyZWFrIGJ9ZltpPj4yXT0wO2JyZWFrfWNhc2UgOTg6e2lmKCEoSCQoYSwx
MTk0MDkpfDApKXBbaD4+M109Mi4wO2Vsc2Ugaz0yNzticmVha31jYXNlIDEwMjp7aWYoIShIJChh
LDExOTQyNyl8MCkpZltnPj4yXT0xO2Vsc2Ugaz0yNzticmVha31jYXNlIDExNzp7aWYoIShIJChh
LDExOTQzNCl8MCkpZltnPj4yXT0wO2Vsc2Ugaz0yNzticmVha31jYXNlIDExNjp7aWYoSCQoYSwx
MTk0NDMpfDApaz0yNzticmVha31kZWZhdWx0Oms9Mjd9d2hpbGUoMCk7aWYoKGt8MCk9PTI3KXtr
PTA7ZltqPj4yXT1hO1l3KDAsMTE5NDUxLGopfDB9YT1lfX13aGlsZSgwKTt0PWw7cmV0dXJufWZ1
bmN0aW9uIGdQKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9
MCxpPTA7aT10O3Q9dCszMnwwO2c9aTtjPWZbYSs2MD4+Ml18MDtpZigoY3wwPyhoPWMrOTZ8MCxl
PWZbaD4+Ml18MCxlfDApOjApP2ZbKGZbYSsxNj4+Ml18MCkrMTQ0Pj4yXXwwOjApe2M9YisxNnww
O3BbZz4+M109KCtwW2M+PjNdKyArcFtiPj4zXSkqLjU7cFtnKzg+PjNdPSgrcFtiKzI0Pj4zXSsg
K3BbYis4Pj4zXSkqLjU7Yj1nKzE2fDA7ZltiPj4yXT1mW2M+PjJdO2ZbYis0Pj4yXT1mW2MrND4+
Ml07ZltiKzg+PjJdPWZbYys4Pj4yXTtmW2IrMTI+PjJdPWZbYysxMj4+Ml07aWYoIShmW2ErMTUy
Pj4yXSY4MTkyKSl7SE8oYSxnLGcsMil8MDtlPWZbaD4+Ml18MH1FYltlJjEyN10oYSxnLGQpfXQ9
aTtyZXR1cm59ZnVuY3Rpb24gaFAoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFy
IGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO249dDt0PXQrNDh8MDtsPW47ZT1m
W2ErNjA+PjJdfDA7aWYoKGV8MD8obT1lKzEwMHwwLGZbbT4+Ml18MCk6MCk/KGs9YSsxNnwwLGc9
ZltrPj4yXXwwLGZbZysxNDQ+PjJdfDApOjApe2o9ZysxNnwwO2lmKCEoZCY0KSlnPTA7ZWxzZXtp
PWcrNTZ8MDtkPWQmLTU7ZT1sO2c9ajtoPWUrNDB8MDtkb3tmW2U+PjJdPWZbZz4+Ml07ZT1lKzR8
MDtnPWcrNHwwfXdoaWxlKChlfDApPChofDApKTtlPWo7Zz1pO2g9ZSs0MHwwO2Rve2ZbZT4+Ml09
ZltnPj4yXTtlPWUrNHwwO2c9Zys0fDB9d2hpbGUoKGV8MCk8KGh8MCkpO2c9MX1pZighKGZbYSsx
NTI+PjJdJjgxOTIpKXtlPWMrMTB8MDtpZigoZls0ODQ3N118MCk8KGN8MCkpe2ZbNDg0NzddPWU7
ZT1HSChmWzQ4NDc4XXwwLGU8PDQpfDA7Zls0ODQ3OF09ZX1lbHNlIGU9Zls0ODQ3OF18MDtITyhh
LGIsZSxjKXwwO0diW2ZbbT4+Ml0mMzFdKGEsZSxjLGQpfWVsc2UgR2JbZlttPj4yXSYzMV0oYSxi
LGMsZCk7aWYoZ3wwKXtlPShmW2s+PjJdfDApKzE2fDA7Zz1sO2g9ZSs0MHwwO2Rve2ZbZT4+Ml09
ZltnPj4yXTtlPWUrNHwwO2c9Zys0fDB9d2hpbGUoKGV8MCk8KGh8MCkpfX10PW47cmV0dXJufWZ1
bmN0aW9uIGlQKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTA7ZD10O3Q9
dCs2NHwwO2U9ZDtmW2U+PjJdPWZbYj4+Ml07ZltlKzQ+PjJdPWZbYis0Pj4yXTtmW2UrOD4+Ml09
ZltiKzg+PjJdO2ZbZSsxMj4+Ml09ZltiKzEyPj4yXTtnPWUrMzJ8MDtiPWIrMTZ8MDtmW2c+PjJd
PWZbYj4+Ml07ZltnKzQ+PjJdPWZbYis0Pj4yXTtmW2crOD4+Ml09ZltiKzg+PjJdO2ZbZysxMj4+
Ml09ZltiKzEyPj4yXTtwW2UrMTY+PjNdPStwW2U+PjNdO3BbZSsyND4+M109K3BbZSs0MD4+M107
cFtlKzQ4Pj4zXT0rcFtnPj4zXTtwW2UrNTY+PjNdPStwW2UrOD4+M107aFAoYSxlLDQsYyk7dD1k
O3JldHVybn1mdW5jdGlvbiBqUChhLGIsYyxkLGUsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7
ZT1lfDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0wO2k9ZlthKzYwPj4yXXwwO2RvIGlmKChpfDA/KGo9
aSsxMDR8MCxoPWZbaj4+Ml18MCxofDApOjApP2ZbKGZbYSsxNj4+Ml18MCkrMTQ0Pj4yXXwwOjAp
e2lmKGZbYSsxNTI+PjJdJjgxOTJ8MCl7SWJbaCYxNV0oYSxiLGMsZCxlLGcmMjU1KTticmVha31o
PWMrMTB8MDtpZigoZls0ODQ3N118MCk8KGN8MCkpe2ZbNDg0NzddPWg7aD1HSChmWzQ4NDc4XXww
LGg8PDQpfDA7Zls0ODQ3OF09aH1lbHNlIGg9Zls0ODQ3OF18MDtITyhhLGIsaCxjKXwwO0liW2Zb
aj4+Ml0mMTVdKGEsaCxjLGQsZSxnJjI1NSl9d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIGtQKGEs
YixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTA7ZD1mW2ErNjA+PjJdfDA7ZG8g
aWYoKGR8MD8oZz1kKzEwOHwwLGU9ZltnPj4yXXwwLGV8MCk6MCk/ZlsoZlthKzE2Pj4yXXwwKSsx
NDQ+PjJdfDA6MCl7aWYoZlthKzE1Mj4+Ml0mODE5MnwwKXtFYltlJjEyN10oYSxiLGMpO2JyZWFr
fWQ9YysxMHwwO2lmKChmWzQ4NDc3XXwwKTwoY3wwKSl7Zls0ODQ3N109ZDtkPUdIKGZbNDg0Nzhd
fDAsZDw8NCl8MDtmWzQ4NDc4XT1kfWVsc2UgZD1mWzQ4NDc4XXwwO0hPKGEsYixkLGMpfDA7RWJb
ZltnPj4yXSYxMjddKGEsZCxjKX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gbFAoYSxjKXthPWF8
MDtjPWN8MDt2YXIgZD0wLGU9MDtkPWZbYSs2MD4+Ml18MDtpZigoY3wwPyEoKGR8MCk9PTB8KGJb
Yz4+MF18MCk9PTApOjApPyhlPWZbZCsxMTI+PjJdfDAsZXwwKTowKURiW2UmNjNdKGEsYyk7cmV0
dXJufWZ1bmN0aW9uIG1QKGEsYyxkLGUsZyxoKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8
MDtoPWh8MDt2YXIgaT0wLjAsaj0wLjAsaz0wLGw9MCxtPTAuMCxuPTAuMCxvPTAuMCxxPTAuMCxy
PTAscz0wLjAsdT0wLjAsdj0wLjAsdz0wLjAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9
MCxGPTA7Rj10O3Q9dCsxMTJ8MDtCPUYrNjR8MDtFPUY7bD1GKzk2fDA7eD1GKzQ4fDA7eT1GKzMy
fDA7Qz1mW2ErNjA+PjJdfDA7aWYoIWEpeGEoMTE5NTUyLDExOTUwNCw2OTEsMTE5NTE1KTtpZigh
Yyl4YSgxMTk1MzQsMTE5NTA0LDY5MiwxMTk1MTUpO2lmKCEoYltjPj4wXXwwKSl4YSgxMTk1Mzks
MTE5NTA0LDY5MywxMTk1MTUpO0Q9SEMoYyl8MDtpZighRCl7aWYoKEN8MCkhPTAmKGNLKGMpfDAp
IT0wPyhrPWZbQysxMTY+PjJdfDAsa3wwKTowKUhiW2smMTVdKGEsYyxkLGUsZyYyNTUpfWVsc2V7
cj1hKzQzMnwwO2ZbQj4+Ml09ZltyPj4yXTtmW0IrND4+Ml09ZltyKzQ+PjJdO2ZbQis4Pj4yXT1m
W3IrOD4+Ml07ZltCKzEyPj4yXT1mW3IrMTI+PjJdO0tDKGwsRCxCKTtyPWZbbD4+Ml18MDtrPWZb
bCs0Pj4yXXwwO2lmKCEoKHJ8MCk8MSYoa3wwKTwxKSl7bD1FKzE2fDA7ZltsPj4yXT1mW2Q+PjJd
O2ZbbCs0Pj4yXT1mW2QrND4+Ml07ZltsKzg+PjJdPWZbZCs4Pj4yXTtmW2wrMTI+PjJdPWZbZCsx
Mj4+Ml07ZltFPj4yXT1mW2Q+PjJdO2ZbRSs0Pj4yXT1mW2QrND4+Ml07ZltFKzg+PjJdPWZbZCs4
Pj4yXTtmW0UrMTI+PjJdPWZbZCsxMj4+Ml07ej1FKzh8MDtBPUUrMjR8MDtjPTE7d2hpbGUoMSl7
aWYoKGN8MCk+PShlfDApKWJyZWFrO3U9K3BbRT4+M107dj0rcFtkKyhjPDw0KT4+M107cFtFPj4z
XT11PHY/dTp2O3U9K3Bbej4+M107dz0rcFtkKyhjPDw0KSs4Pj4zXTtwW3o+PjNdPXU8dz91Onc7
dT0rcFtsPj4zXTtwW2w+PjNdPXU+dj91OnY7dj0rcFtBPj4zXTtwW0E+PjNdPXY+dz92Onc7Yz1j
KzF8MH1qPStwW2w+PjNdO2k9K3BbRT4+M107cz1qLWk7dT0rcFtBPj4zXTt2PStwW3o+PjNdO3c9
dS12O209KyhrfDApO249KyhyfDApO289cy9uO3E9dy9tO2E6ZG8gc3dpdGNoKG5QKGgpfDApe2Nh
c2UgMTppZihvPHEpe249bypuO209byptO2JyZWFrIGF9ZWxzZXtuPXEqbjttPXEqbTticmVhayBh
fWNhc2UgMjp7bj1vKm47YnJlYWt9Y2FzZSAzOnttPXEqbTticmVha31jYXNlIDQ6e249bypuO209
cSptO2JyZWFrfWRlZmF1bHQ6e319d2hpbGUoMCk7aWYobjxzKXtzPShzLW4pKi41O2k9aStzO3Bb
RT4+M109aTtqPWotcztwW2w+PjNdPWp9aWYobTx3KXt3PSh3LW0pKi41O3Bbej4+M109dit3O3Bb
QT4+M109dS13fWlmKCEoZlthKzE1Mj4+Ml0mODE5Mikpe2ZbQj4+Ml09ZltFPj4yXTtmW0IrND4+
Ml09ZltFKzQ+PjJdO2ZbQis4Pj4yXT1mW0UrOD4+Ml07ZltCKzEyPj4yXT1mW0UrMTI+PjJdO0dP
KHgsYSxCKTtmW0U+PjJdPWZbeD4+Ml07ZltFKzQ+PjJdPWZbeCs0Pj4yXTtmW0UrOD4+Ml09Zlt4
Kzg+PjJdO2ZbRSsxMj4+Ml09Zlt4KzEyPj4yXTtmW0I+PjJdPWZbbD4+Ml07ZltCKzQ+PjJdPWZb
bCs0Pj4yXTtmW0IrOD4+Ml09ZltsKzg+PjJdO2ZbQisxMj4+Ml09ZltsKzEyPj4yXTtHTyh5LGEs
Qik7ZltsPj4yXT1mW3k+PjJdO2ZbbCs0Pj4yXT1mW3krND4+Ml07ZltsKzg+PjJdPWZbeSs4Pj4y
XTtmW2wrMTI+PjJdPWZbeSsxMj4+Ml07aj0rcFtsPj4zXTtpPStwW0U+PjNdfWlmKGk+ail7cFtF
Pj4zXT1qO3BbbD4+M109aX1pPStwW3o+PjNdO2o9K3BbQT4+M107aWYoaT5qKXtwW3o+PjNdPWo7
cFtBPj4zXT1pfWlmKEN8MCl7Qz1mW2ErNzI+PjJdfDA7ZltCPj4yXT1mW0U+PjJdO2ZbQis0Pj4y
XT1mW0UrND4+Ml07ZltCKzg+PjJdPWZbRSs4Pj4yXTtmW0IrMTI+PjJdPWZbRSsxMj4+Ml07ZltC
KzE2Pj4yXT1mW0UrMTY+PjJdO2ZbQisyMD4+Ml09ZltFKzIwPj4yXTtmW0IrMjQ+PjJdPWZbRSsy
ND4+Ml07ZltCKzI4Pj4yXT1mW0UrMjg+PjJdO3BQKGEsRCxCLGcsQyl9fX10PUY7cmV0dXJufWZ1
bmN0aW9uIG5QKGEpe2E9YXwwO2lmKGJbYT4+MF18MClpZihiMyhhLDE0ODI1MSl8MClpZihiMyhh
LDE0ODE4Myl8MClpZighKGIzKGEsMTE5NTQ3KXwwKSlhPTQ7ZWxzZSBhPShaTChhKXwwKTw8MjQ+
PjI0IT0wJjE7ZWxzZSBhPTM7ZWxzZSBhPTI7ZWxzZSBhPTA7cmV0dXJuIGF8MH1mdW5jdGlvbiBv
UChhLGIpe2E9YXwwO2I9K2I7aWYoZlthKzYwPj4yXXwwKXBbKGZbYSsxNj4+Ml18MCkrMTUyPj4z
XT1iO3JldHVybn1mdW5jdGlvbiBwUChhLGMsZCxlLGcpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXww
O2c9Z3wwO3ZhciBoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDttPXQ7dD10KzE3NnwwO2s9bSsxMzZ8
MDtqPW0rMTI4fDA7aD1tO2lmKCFhKXhhKDExOTU1MiwxMTk1NTYsNTIsMTE5NTcwKTtpZighYyl4
YSgxMTk1ODIsMTE5NTU2LDUzLDExOTU3MCk7aT1mW2MrOD4+Ml18MDtpZighaSl4YSgxMTk1ODUs
MTE5NTU2LDU0LDExOTU3MCk7aWYoIShiW2k+PjBdfDApKXhhKDExOTU5NCwxMTk1NTYsNTUsMTE5
NTcwKTt1MShoLGZbYysyOD4+Ml18MCl8MDtpPWgrKGMwKGgpfDApfDA7YltpPj4wXT01ODtiW2kr
MT4+MF09MDt2MShoLGcpfDA7aWYoKHFQKGEsaCl8MCk9PTk5OSl7ZltqPj4yXT1oO1l3KDAsMTE5
NjA2LGopfDB9Zz1mW2ErOTI+PjJdfDA7aWYoZ3wwPyhsPWZbZz4+Ml18MCxsfDApOjApe2Zbaz4+
Ml09ZltkPj4yXTtmW2srND4+Ml09ZltkKzQ+PjJdO2Zbays4Pj4yXT1mW2QrOD4+Ml07ZltrKzEy
Pj4yXT1mW2QrMTI+PjJdO2ZbaysxNj4+Ml09ZltkKzE2Pj4yXTtmW2srMjA+PjJdPWZbZCsyMD4+
Ml07ZltrKzI0Pj4yXT1mW2QrMjQ+PjJdO2ZbaysyOD4+Ml09ZltkKzI4Pj4yXTtHYltsJjMxXShh
LGMsayxlKX10PW07cmV0dXJufWZ1bmN0aW9uIHFQKGEsYil7YT1hfDA7Yj1ifDA7Yj1GQyhmW2E+
PjJdfDAsNCxiKXwwO2lmKCFiKWI9OTk5O2Vsc2V7Yj1mW2IrMTY+PjJdfDA7ZlthKzkyPj4yXT1m
W2IrMTI+PjJdO2ZbYSs5Nj4+Ml09ZltiPj4yXTtiPTMwMH1yZXR1cm4gYnwwfWZ1bmN0aW9uIHJQ
KGEpe2E9YXwwO3JldHVybiAxfWZ1bmN0aW9uIHNQKGEpe2E9YXwwO3ZhciBjPTA7YlthKzUzNj4+
MF09MDtjPWErMzM2fDA7cFtjPj4zXT0rcFtjPj4zXSsxMC4wLytwW2ErMzUyPj4zXTtiW2ErNTM3
Pj4wXT0xO3JldHVybiAwfWZ1bmN0aW9uIHRQKGEpe2E9YXwwO3ZhciBjPTA7YlthKzUzNj4+MF09
MDtjPWErMzM2fDA7cFtjPj4zXT0rcFtjPj4zXS0xMC4wLytwW2ErMzUyPj4zXTtiW2ErNTM3Pj4w
XT0xO3JldHVybiAwfWZ1bmN0aW9uIHVQKGEpe2E9YXwwO3ZhciBjPTA7YlthKzUzNj4+MF09MDtj
PWErMzQ0fDA7cFtjPj4zXT0rcFtjPj4zXS0xMC4wLytwW2ErMzUyPj4zXTtiW2ErNTM3Pj4wXT0x
O3JldHVybiAwfWZ1bmN0aW9uIHZQKGEpe2E9YXwwO3ZhciBjPTA7YlthKzUzNj4+MF09MDtjPWEr
MzQ0fDA7cFtjPj4zXT0rcFtjPj4zXSsxMC4wLytwW2ErMzUyPj4zXTtiW2ErNTM3Pj4wXT0xO3Jl
dHVybiAwfWZ1bmN0aW9uIHdQKGEpe2E9YXwwO3ZhciBjPTA7YlthKzUzNj4+MF09MDtjPWErMzUy
fDA7cFtjPj4zXT0rcFtjPj4zXSoxLjE7YlthKzUzNz4+MF09MTtyZXR1cm4gMH1mdW5jdGlvbiB4
UChhKXthPWF8MDt2YXIgYz0wO2JbYSs1MzY+PjBdPTA7Yz1hKzM1MnwwO3BbYz4+M109K3BbYz4+
M10qLjkwOTA5MDkwOTA5MDkwOTE7YlthKzUzNz4+MF09MTtyZXR1cm4gMH1mdW5jdGlvbiB5UChh
KXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAuMCxnPTAuMDtkPWErNTM2fDA7Yz0oYltkPj4wXXwwKT09
MDtiW2Q+PjBdPWMmMTtpZihjKXtjPWZbYSs0NDg+PjJdfDA7ZD1mW2ErNDUyPj4yXXwwO2c9Kyhj
Pj4+MCkvKyhjfDApO2U9KyhkPj4+MCkvKyhkfDApO3BbYSszNTI+PjNdPWc8ZT9nOmU7ZD1hKzMz
NnwwO2ZbZD4+Ml09MDtmW2QrND4+Ml09MDtmW2QrOD4+Ml09MDtmW2QrMTI+PjJdPTA7YlthKzUz
Nz4+MF09MX1yZXR1cm4gMH1mdW5jdGlvbiB6UChhKXthPWF8MDt2YXIgYz0wLGQ9MDtjPWZbKGZb
YT4+Ml18MCkrMTY4Pj4yXXwwO2Q9YSs1ODB8MDtpZighKGZbZD4+Ml18MCkpe2ZbZD4+Ml09Yztk
PShmW2MrMTY+PjJdfDApKzExMnwwO2JbZD4+MF09YltkPj4wXXwyO1BQKGEsYyl9bUYoYSxjKTti
W2ErNTQwPj4wXT0xO3JldHVybn1mdW5jdGlvbiBBUChhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7
dmFyIGU9MCxnPTAuMCxoPTAuMCxpPTAsaj0wO2o9dDt0PXQrMTZ8MDtlPWo7c3dpdGNoKGN8MCl7
Y2FzZSAxOntmW2U+PjJdPWZbZD4+Ml07ZltlKzQ+PjJdPWZbZCs0Pj4yXTtmW2UrOD4+Ml09Zltk
Kzg+PjJdO2ZbZSsxMj4+Ml09ZltkKzEyPj4yXTtJUChhLGUpO09QKGEpO2JbYSs1Mzg+PjBdPTE7
YlthKzU0MT4+MF09MTtpPTEzO2JyZWFrfWNhc2UgMjp7YlthKzUzOD4+MF09MTtiW2ErNTQxPj4w
XT0yO2k9MTM7YnJlYWt9Y2FzZSAzOntmW2U+PjJdPWZbZD4+Ml07ZltlKzQ+PjJdPWZbZCs0Pj4y
XTtmW2UrOD4+Ml09ZltkKzg+PjJdO2ZbZSsxMj4+Ml09ZltkKzEyPj4yXTtJUChhLGUpO2JbYSs1
Mzg+PjBdPTE7YlthKzU0MT4+MF09MztpPTEzO2JyZWFrfWNhc2UgNDp7YlthKzUzNj4+MF09MDtp
ZighKGZbYSszNjA+PjJdfDApKXtlPWErMzUyfDA7aD0rcFtlPj4zXTtjPWErMzM2fDA7cFtjPj4z
XT0oK3BbZD4+M10tKygoZlthKzQ0OD4+Ml18MCk+Pj4wKSouNSkqLjEwMDAwMDAwMDAwMDAwMDA5
LygrcFthKzUyMD4+M10qaCkrICtwW2M+PjNdO2c9K3BbZCs4Pj4zXS0rKChmW2ErNDUyPj4yXXww
KT4+PjApKi41O2M9YSs1Mjh8MH1lbHNle2U9YSszNTJ8MDtoPStwW2U+PjNdO2M9YSszMzZ8MDtw
W2M+PjNdPStwW2M+PjNdLSgrcFtkKzg+PjNdLSsoKGZbYSs0NTI+PjJdfDApPj4+MCkqLjUpKi4x
MDAwMDAwMDAwMDAwMDAwOS8oK3BbYSs1Mjg+PjNdKmgpO2c9K3BbZD4+M10tKygoZlthKzQ0OD4+
Ml18MCk+Pj4wKSouNTtjPWErNTIwfDB9aT1hKzM0NHwwO3BbaT4+M109ZyouMTAwMDAwMDAwMDAw
MDAwMDkvKCtwW2M+PjNdKmgpKyArcFtpPj4zXTtwW2U+PjNdPWgqMS4xO2k9MTM7YnJlYWt9Y2Fz
ZSA1OntiW2ErNTM2Pj4wXT0wO2k9YSszNTJ8MDtoPStwW2k+PjNdKi45MDkwOTA5MDkwOTA5MDkx
O3BbaT4+M109aDtpZighKGZbYSszNjA+PjJdfDApKXtlPWErMzM2fDA7cFtlPj4zXT0rcFtlPj4z
XS0oK3BbZD4+M10tKygoZlthKzQ0OD4+Ml18MCk+Pj4wKSouNSkqLjEwMDAwMDAwMDAwMDAwMDA5
LygrcFthKzUyMD4+M10qaCk7Zz0rcFtkKzg+PjNdLSsoKGZbYSs0NTI+PjJdfDApPj4+MCkqLjU7
ZT1hKzUyOHwwfWVsc2V7ZT1hKzMzNnwwO3BbZT4+M109KCtwW2QrOD4+M10tKygoZlthKzQ1Mj4+
Ml18MCk+Pj4wKSouNSkqLjEwMDAwMDAwMDAwMDAwMDA5LygrcFthKzUyOD4+M10qaCkrICtwW2U+
PjNdO2c9K3BbZD4+M10tKygoZlthKzQ0OD4+Ml18MCk+Pj4wKSouNTtlPWErNTIwfDB9aT1hKzM0
NHwwO3BbaT4+M109K3BbaT4+M10tZyouMTAwMDAwMDAwMDAwMDAwMDkvKCtwW2U+PjNdKmgpO2k9
MTM7YnJlYWt9ZGVmYXVsdDp7fX1pZigoaXwwKT09MTMpYlthKzUzNz4+MF09MTthPWErNTYwfDA7
ZlthPj4yXT1mW2Q+PjJdO2ZbYSs0Pj4yXT1mW2QrND4+Ml07ZlthKzg+PjJdPWZbZCs4Pj4yXTtm
W2ErMTI+PjJdPWZbZCsxMj4+Ml07dD1qO3JldHVybn1mdW5jdGlvbiBCUChhLGMsZCl7YT1hfDA7
Yz1jfDA7ZD1kfDA7YlthKzUzOD4+MF09MDtiW2ErNTQxPj4wXT0wO3JldHVybn1mdW5jdGlvbiBD
UChhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wLjAsZz0wLjAsaD0wLGk9MC4wLGo9MDtqPXQ7
dD10KzE2fDA7ZD1qO2g9YSs1NjB8MDtpPSgrcFtjPj4zXS0rcFtoPj4zXSkvK3BbYSs1MjA+PjNd
O2c9KCtwW2MrOD4+M10tK3BbYSs1Njg+PjNdKS8rcFthKzUyOD4+M107aWYoISgrSSgraSk8LjAw
MDEmK0koK2cpPC4wMDAxKSl7c3dpdGNoKGJbYSs1NDE+PjBdfDApe2Nhc2UgMDp7ZltkPj4yXT1m
W2M+PjJdO2ZbZCs0Pj4yXT1mW2MrND4+Ml07ZltkKzg+PjJdPWZbYys4Pj4yXTtmW2QrMTI+PjJd
PWZbYysxMj4+Ml07SVAoYSxkKTticmVha31jYXNlIDI6e2U9K3BbYSszNTI+PjNdO2lmKCEoZlth
KzM2MD4+Ml18MCkpe2Q9YSszMzZ8MDtwW2Q+PjNdPStwW2Q+PjNdLWkvZTtkPWErMzQ0fDA7cFtk
Pj4zXT0rcFtkPj4zXS1nL2V9ZWxzZXtkPWErMzM2fDA7cFtkPj4zXT0rcFtkPj4zXS1nL2U7ZD1h
KzM0NHwwO3BbZD4+M109K3BbZD4+M10raS9lfWJbYSs1Mzc+PjBdPTE7YnJlYWt9ZGVmYXVsdDp7
fX1mW2g+PjJdPWZbYz4+Ml07ZltoKzQ+PjJdPWZbYys0Pj4yXTtmW2grOD4+Ml09ZltjKzg+PjJd
O2ZbaCsxMj4+Ml09ZltjKzEyPj4yXX10PWo7cmV0dXJufWZ1bmN0aW9uIERQKGEsYixjKXthPWF8
MDtiPWJ8MDtjPWN8MDtyZXR1cm59ZnVuY3Rpb24gRVAoYSl7YT1hfDA7cmV0dXJufWZ1bmN0aW9u
IEZQKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MDtqPWZb
YT4+Ml18MDtpZihjKXtjPXoxKGMsMTQ3MDkxKXwwO2lmKGN8MCl7aT1hQyhjLDApfDA7RjEoYyl8
MDtlPTV9fWVsc2V7aT1hQyhmWzE5NTIyXXwwLDApfDA7ZT01fWlmKChlfDApPT01P2l8MDowKXtn
PWorMTY4fDA7Yz1mW2c+PjJdfDA7aWYoY3wwKXtlPWZbaisxNzI+PjJdfDA7aWYoKGV8MCkhPTA/
KGg9ZltlKzQ+PjJdfDAsKGh8MCkhPTApOjApe0NiW2gmMTI3XShjKTtjPWZbZz4+Ml18MH1wSChj
KTtpeShmW2c+PjJdfDApfDB9T3ooaSwwLDE0NTc1MywyODAsMSk7T3ooaSwxLDE0NTcxNywzMDQs
MSk7T3ooaSwyLDE0NTczMCwxNzYsMSk7ZltnPj4yXT1pO2ZbKGZbaSsxNj4+Ml18MCkrMTQ0Pj4y
XT1qO2lmKChoRChqLGksZCl8MCkhPS0xKXtmW2ErNTgwPj4yXT0wO2ZbYSs1NzY+PjJdPTA7Ylth
KzUzNz4+MF09MX19cmV0dXJufWZ1bmN0aW9uIEdQKGEsYil7YT1hfDA7Yj1ifDA7YT1mW2E+PjJd
fDA7aEQoYSxmW2ErMTY4Pj4yXXwwLGIpfDA7cmV0dXJufWZ1bmN0aW9uIEhQKGEsYixjKXthPWF8
MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MDtnPWZbYT4+Ml18MDtlPWcrMTYw
fDA7ZD1mW2U+PjJdfDA7aWYoKGR8MCkhPTA/KGZbZysxNjQ+PjJdfDApPT0wOjApe2k9ZysxOTJ8
MDtoPWZbaT4+Ml18MDtmW2U+PjJdPTA7ZltpPj4yXT0wO2U9aH1lbHNle2U9MDtkPTB9akQoZyxm
W2crMTY4Pj4yXXwwLGIsYyl8MDtpZihkfDApe2k9ZlthPj4yXXwwO2ZbaSsxNjA+PjJdPWQ7Zltp
KzE5Mj4+Ml09ZX1yZXR1cm59ZnVuY3Rpb24gSVAoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9
MCxnPTAsaD0wLjAsaT0wLjAsaj0wLjAsaz0wO2U9dDt0PXQrODB8MDtkPWUrNDh8MDtnPWU7az1l
KzMyfDA7ZltkPj4yXT1mW2M+PjJdO2ZbZCs0Pj4yXT1mW2MrND4+Ml07ZltkKzg+PjJdPWZbYys4
Pj4yXTtmW2QrMTI+PjJdPWZbYysxMj4+Ml07SlAoayxhLGQpO2o9K3Bbaz4+M107aT0rcFtrKzg+
PjNdO2g9MS4wLytwW2ErMzUyPj4zXTtwW2crMTY+PjNdPWgrajtwW2crMjQ+PjNdPWgraTtwW2c+
PjNdPWotaDtwW2crOD4+M109aS1oO2M9ZlsoZlthPj4yXXwwKSsxNjg+PjJdfDA7ZltkPj4yXT1m
W2c+PjJdO2ZbZCs0Pj4yXT1mW2crND4+Ml07ZltkKzg+PjJdPWZbZys4Pj4yXTtmW2QrMTI+PjJd
PWZbZysxMj4+Ml07ZltkKzE2Pj4yXT1mW2crMTY+PjJdO2ZbZCsyMD4+Ml09ZltnKzIwPj4yXTtm
W2QrMjQ+PjJdPWZbZysyND4+Ml07ZltkKzI4Pj4yXT1mW2crMjg+PjJdO2M9S1AoYyxkKXwwO2Q9
YSs1NzZ8MDtpZigoY3wwKSE9KGZbZD4+Ml18MCkpe0xQKGEpO2ZbZD4+Ml09YztNUChhKTtiW2Er
NTM3Pj4wXT0xfXQ9ZTtyZXR1cm59ZnVuY3Rpb24gSlAoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3ww
O3ZhciBkPTAuMCxlPTAuMCxnPTAuMCxoPTA7aWYoIShmW2IrMzYwPj4yXXwwKSl7ZD0rcFtiKzM1
Mj4+M107ZT0rcFtjKzg+PjNdO2c9ZDtoPWIrNTI4fDA7ZD0rcFtjPj4zXS8oK3BbYis1MjA+PjNd
KmQpLStwW2IrNTA0Pj4zXX1lbHNle2Q9K3BbYiszNTI+PjNdO2U9LStwW2M+PjNdO2c9ZDtoPWIr
NTIwfDA7ZD0rcFtjKzg+PjNdLygrcFtiKzUyOD4+M10qZCktK3BbYis1MDQ+PjNdfWc9ZS8oK3Bb
aD4+M10qZyktK3BbYis1MTI+PjNdO3BbYT4+M109ZDtwW2ErOD4+M109ZztyZXR1cm59ZnVuY3Rp
b24gS1AoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wO2c9dDt0PXQrMzJ8MDtl
PWc7ZD0keShhKXwwO2E6d2hpbGUoMSl7aWYoIWQpe2Q9OTticmVha31jPU54KGEsZCl8MDt3aGls
ZSgxKXtpZighYylicmVhaztmW2U+PjJdPWZbYj4+Ml07ZltlKzQ+PjJdPWZbYis0Pj4yXTtmW2Ur
OD4+Ml09ZltiKzg+PjJdO2ZbZSsxMj4+Ml09ZltiKzEyPj4yXTtmW2UrMTY+PjJdPWZbYisxNj4+
Ml07ZltlKzIwPj4yXT1mW2IrMjA+PjJdO2ZbZSsyND4+Ml09ZltiKzI0Pj4yXTtmW2UrMjg+PjJd
PWZbYisyOD4+Ml07aWYoKGROKGMsZSl8MCk8PDI0Pj4yNCl7ZD02O2JyZWFrIGF9Yz1QeChhLGMp
fDB9ZD1heihhLGQpfDB9ZG8gaWYoKGR8MCkhPTYpaWYoKGR8MCk9PTkpe2M9YnooYSl8MDt3aGls
ZSgxKXtpZighYylicmVhaztmW2U+PjJdPWZbYj4+Ml07ZltlKzQ+PjJdPWZbYis0Pj4yXTtmW2Ur
OD4+Ml09ZltiKzg+PjJdO2ZbZSsxMj4+Ml09ZltiKzEyPj4yXTtmW2UrMTY+PjJdPWZbYisxNj4+
Ml07ZltlKzIwPj4yXT1mW2IrMjA+PjJdO2ZbZSsyND4+Ml09ZltiKzI0Pj4yXTtmW2UrMjg+PjJd
PWZbYisyOD4+Ml07aWYoKGFOKGMsZSl8MCk8PDI0Pj4yNCl7ZD0xMjticmVha31jPWN6KGEsYyl8
MH1pZigoZHwwKT09MTIpYnJlYWs7ZltlPj4yXT1mW2I+PjJdO2ZbZSs0Pj4yXT1mW2IrND4+Ml07
ZltlKzg+PjJdPWZbYis4Pj4yXTtmW2UrMTI+PjJdPWZbYisxMj4+Ml07ZltlKzE2Pj4yXT1mW2Ir
MTY+PjJdO2ZbZSsyMD4+Ml09ZltiKzIwPj4yXTtmW2UrMjQ+PjJdPWZbYisyND4+Ml07ZltlKzI4
Pj4yXT1mW2IrMjg+PjJdO2M9TlAoYSxlKXwwO2lmKCFjKXtjPWE7YnJlYWt9ZWxzZSBicmVha313
aGlsZSgwKTt0PWc7cmV0dXJuIGN8MH1mdW5jdGlvbiBMUChhKXthPWF8MDt2YXIgYz0wO2M9Zlth
KzU3Nj4+Ml18MDthOmRvIGlmKGN8MClzd2l0Y2goeXooYyl8MCl7Y2FzZSAwOntjPShmW2MrMTY+
PjJdfDApKzExMnwwO2JbYz4+MF09YltjPj4wXSYtMjticmVhayBhfWNhc2UgMTp7Yz0oZltjKzE2
Pj4yXXwwKSsxMTd8MDtiW2M+PjBdPWJbYz4+MF0mLTI7YnJlYWsgYX1jYXNlIDI6e2M9KGZbYysx
Nj4+Ml18MCkrMTE1fDA7YltjPj4wXT1iW2M+PjBdJi0yO2JyZWFrIGF9ZGVmYXVsdDpicmVhayBh
fXdoaWxlKDApO2ZbYSs1ODQ+PjJdPTA7cmV0dXJufWZ1bmN0aW9uIE1QKGEpe2E9YXwwO3ZhciBj
PTAsZD0wO2Q9YSs1ODR8MDtjPWZbZD4+Ml18MDtpZihjfDApe01fKGMpO2ZbZD4+Ml09MH1jPWZb
YSs1NzY+PjJdfDA7YTpkbyBpZihjfDApc3dpdGNoKHl6KGMpfDApe2Nhc2UgMDp7YT0oZltjKzE2
Pj4yXXwwKSsxMTJ8MDtiW2E+PjBdPWJbYT4+MF18MTthPXd4KGMsMCwxNDgyMzYsMCl8MDtpZigh
YSlicmVhayBhO2M9eUgoSHgoYyxhKXwwLGMpfDA7ZltkPj4yXT1jO2JyZWFrIGF9Y2FzZSAxOnth
PShmW2MrMTY+PjJdfDApKzExN3wwO2JbYT4+MF09YlthPj4wXXwxO2E9d3gobnooYyl8MCwxLDE0
ODIzNiwwKXwwO2lmKCFhKWJyZWFrIGE7Yz15SChIeChjLGEpfDAsYyl8MDtmW2Q+PjJdPWM7YnJl
YWsgYX1jYXNlIDI6e2E9KGZbYysxNj4+Ml18MCkrMTE1fDA7YlthPj4wXT1iW2E+PjBdfDE7YT13
eChueihmWygoZltjPj4yXSYzfDApPT0yP2M6YystNDh8MCkrNDA+PjJdfDApfDAsMiwxNDgyMzYs
MCl8MDtpZighYSlicmVhayBhO2M9eUgoSHgoYyxhKXwwLGMpfDA7ZltkPj4yXT1jO2JyZWFrIGF9
ZGVmYXVsdDpicmVhayBhfXdoaWxlKDApO3JldHVybn1mdW5jdGlvbiBOUChhLGIpe2E9YXwwO2I9
YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MC4wLG09MC4wO2s9dDt0
PXQrMzJ8MDtkPWs7Zz1mW2ErMTY+PjJdfDA7aD1mW2crMTgwPj4yXXwwO2k9ZysxODR8MDtjPTE7
d2hpbGUoMSl7aWYoKGN8MCk+KGh8MCkpe2o9NDticmVha31lPWZbKGZbaT4+Ml18MCkrKGM8PDIp
Pj4yXXwwO2ZbZD4+Ml09ZltiPj4yXTtmW2QrND4+Ml09ZltiKzQ+PjJdO2ZbZCs4Pj4yXT1mW2Ir
OD4+Ml07ZltkKzEyPj4yXT1mW2IrMTI+PjJdO2ZbZCsxNj4+Ml09ZltiKzE2Pj4yXTtmW2QrMjA+
PjJdPWZbYisyMD4+Ml07ZltkKzI0Pj4yXT1mW2IrMjQ+PjJdO2ZbZCsyOD4+Ml09ZltiKzI4Pj4y
XTtlPU5QKGUsZCl8MDtpZighZSljPWMrMXwwO2Vsc2V7YT1lO2JyZWFrfX1kbyBpZigoanwwKT09
NCl7bT0rcFtnKzI0Pj4zXTtsPStwW2crNDA+PjNdO2lmKCgoK3BbYisxNj4+M10+PStwW2crMTY+
PjNdPytwW2crMzI+PjNdPj0rcFtiPj4zXTowKT8rcFtiKzI0Pj4zXT49bTowKT9sPj0rcFtiKzg+
PjNdOjApYnJlYWs7YT0wfXdoaWxlKDApO3Q9aztyZXR1cm4gYXwwfWZ1bmN0aW9uIE9QKGEpe2E9
YXwwO3ZhciBjPTAsZD0wLGU9MDtlPWErNTgwfDA7Yz1mW2U+PjJdfDA7YTpkbyBpZihjfDApc3dp
dGNoKHl6KGMpfDApe2Nhc2UgMDp7ZD0oZltjKzE2Pj4yXXwwKSsxMTJ8MDtiW2Q+PjBdPWJbZD4+
MF0mLTd8NDticmVhayBhfWNhc2UgMTp7ZD0oZltjKzE2Pj4yXXwwKSsxMTd8MDtiW2Q+PjBdPWJb
ZD4+MF0mLTd8NDticmVhayBhfWNhc2UgMjp7ZD0oZltjKzE2Pj4yXXwwKSsxMTV8MDtiW2Q+PjBd
PWJbZD4+MF0mLTd8NDticmVhayBhfWRlZmF1bHQ6YnJlYWsgYX13aGlsZSgwKTtjPWErNTg4fDA7
ZD1mW2M+PjJdfDA7aWYoZHwwKXtNXyhkKTtmW2M+PjJdPTB9Yz1mW2ErNTc2Pj4yXXwwO2ZbZT4+
Ml09YztiOmRvIGlmKGN8MClzd2l0Y2goeXooYyl8MCl7Y2FzZSAwOntlPShmW2MrMTY+PjJdfDAp
KzExMnwwO2JbZT4+MF09YltlPj4wXXwyO1BQKGEsYyk7YnJlYWsgYn1jYXNlIDE6e2U9KGZbYysx
Nj4+Ml18MCkrMTE3fDA7YltlPj4wXT1iW2U+PjBdfDI7UVAoYSxjKTticmVhayBifWNhc2UgMjp7
ZT0oZltjKzE2Pj4yXXwwKSsxMTV8MDtiW2U+PjBdPWJbZT4+MF18MjtSUChhLGMpO2JyZWFrIGJ9
ZGVmYXVsdDpicmVhayBifXdoaWxlKDApO3JldHVybn1mdW5jdGlvbiBQUChhLGIpe2E9YXwwO2I9
YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTA7Yz1hKzU5MnwwO2RvIGlmKChveihiKXwwKT09KGJ8MCkp
aWYoIShueShiKXwwKSl7QUMoYywwLDExOTc2NCk7YnJlYWt9ZWxzZXtBQyhjLDAsMTE5NzU2KTti
cmVha31lbHNlIEFDKGMsMCwxMTk3NzApO3doaWxlKDApO0FDKGMsMSxBeShiKXwwKTtmW2ErNTk2
Pj4yXT0yO2U9YSs2MDR8MDtjPTA7ZD0yO3doaWxlKDEpe2M9QngoYiwwLGMpfDA7aWYoIWMpYnJl
YWs7QUMoZSxkLGZbYys4Pj4yXXwwKTtBQyhlLGQrMXwwLEh4KGIsYyl8MCk7QUMoZSxkKzJ8MCww
KTtkPWQrM3wwfWZbYSs2MDg+PjJdPWQ7Yz13eChiLDAsMTQ4MTkwLDApfDA7aWYoIWMpe2M9d3go
YiwwLDExOTc0NywwKXwwO2lmKGN8MClnPTExfWVsc2UgZz0xMTtpZigoZ3wwKT09MTEpe2c9eUgo
SHgoYixjKXwwLGIpfDA7ZlthKzU4OD4+Ml09Z31yZXR1cm59ZnVuY3Rpb24gUVAoYSxiKXthPWF8
MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MDtlPWErNTkyfDA7QUMoZSwwLDExOTc1MSk7
QUMoZSwxLEF5KGIpfDApO2ZbYSs1OTY+PjJdPTI7ZT1hKzYwNHwwO2c9b3oobnooYil8MCl8MDtk
PTI7Yz0wO3doaWxlKDEpe2M9QngoZywxLGMpfDA7aWYoIWMpYnJlYWs7QUMoZSxkLGZbYys4Pj4y
XXwwKTtBQyhlLGR8MSxIeChiLGMpfDApO2Q9ZCsyfDB9ZlthKzYwOD4+Ml09ZDtjPXd4KG56KGIp
fDAsMSwxNDgxOTAsMCl8MDtpZighYyl7Yz13eChueihiKXwwLDEsMTE5NzQ3LDApfDA7aWYoY3ww
KWg9Nn1lbHNlIGg9NjtpZigoaHwwKT09Nil7aD15SChIeChiLGMpfDAsYil8MDtmW2ErNTg4Pj4y
XT1ofXJldHVybn1mdW5jdGlvbiBSUChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxn
PTAsaD0wLGk9MCxqPTAsaz0wO2c9YSs1OTJ8MDtBQyhnLDAsMTE5NzIwKTtqPWIrNDh8MDtBQyhn
LDEsQXkoZlsoKGZbYj4+Ml0mM3wwKT09Mz9iOmopKzQwPj4yXXwwKXwwKTtqPShueShueihmWygo
ZltiPj4yXSYzfDApPT0zP2I6aikrNDA+PjJdfDApfDApfDApPT0wO0FDKGcsMyxqPzE0ODg4Mjox
NDYwMDgpO2o9YistNDh8MDtBQyhnLDQsQXkoZlsoKGZbYj4+Ml0mM3wwKT09Mj9iOmopKzQwPj4y
XXwwKXwwKTtmW2ErNTk2Pj4yXT03O2g9YSs2MDR8MDtpPW96KG56KGZbKChmW2I+PjJdJjN8MCk9
PTI/YjpqKSs0MD4+Ml18MCl8MCl8MDtlPTc7Yz0wO2E6d2hpbGUoMSl7d2hpbGUoMSl7Yz1CeChp
LDIsYyl8MDtpZighYylicmVhayBhO2Q9ZltjKzg+PjJdfDA7aWYoIShIJChkLDExOTcyNSl8MCkp
e2s9NTticmVha31pZighKEgkKGQsMTE5NzM0KXwwKSl7az03O2JyZWFrfWlmKEgkKGQsMTE5NzQz
KXwwKWJyZWFrO0FDKGcsNixIeChiLGMpfDApfWlmKChrfDApPT01KXtrPTA7QUMoZywyLEh4KGIs
Yyl8MCl9ZWxzZSBpZigoa3wwKT09Nyl7az0wO0FDKGcsNSxIeChiLGMpfDApfUFDKGgsZSxmW2Mr
OD4+Ml18MCk7QUMoaCxlKzF8MCxIeChiLGMpfDApO2U9ZSsyfDB9ZlthKzYwOD4+Ml09ZTtjPXd4
KG56KGZbKChmW2I+PjJdJjN8MCk9PTI/YjpqKSs0MD4+Ml18MCl8MCwyLDE0ODE5MCwwKXwwO2lm
KCFjKXtjPXd4KG56KGZbKChmW2I+PjJdJjN8MCk9PTI/YjpqKSs0MD4+Ml18MCl8MCwyLDExOTc0
NywwKXwwO2lmKGN8MClrPTEzfWVsc2Ugaz0xMztpZigoa3wwKT09MTMpe2s9eUgoSHgoYixjKXww
LGIpfDA7ZlthKzU4OD4+Ml09a31yZXR1cm59ZnVuY3Rpb24gU1AoYSxiLGMpe2E9YXwwO2I9Ynww
O2M9Y3wwO3ZhciBkPTAsZT0wLGc9MDtnPVRQKGEsYixmW2M+PjJdfDApfDA7Yz1mW2MrND4+Ml18
MDt3aGlsZSgxKXtlPWZbYys0Pj4yXXwwO2lmKCFlKWJyZWFrO2I9MDt3aGlsZSgxKXtkPWZbZSso
YioyMHwwKSs0Pj4yXXwwO2lmKCFkKWJyZWFrO0RDKGEsZltjPj4yXXwwLGQsZltlKyhiKjIwfDAp
Kzg+PjJdfDAsZyxlKyhiKjIwfDApfDApfDA7Yj1iKzF8MH1jPWMrOHwwfXJldHVybn1mdW5jdGlv
biBUUChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MDtkPUVIKDEyKXwwO2lmKCFiKWI9
MDtlbHNlIGI9djIoYil8MDtmW2QrND4+Ml09YjtjPXYyKGMpfDA7ZltkKzg+PjJdPWM7Yz1hKzEw
MHwwO2ZbZD4+Ml09ZltjPj4yXTtmW2M+PjJdPWQ7cmV0dXJuIGR8MH1mdW5jdGlvbiBVUChhLGMp
e2E9YXwwO2M9Y3wwO1ZQKGEpO2JbYSs0ND4+MF09MDtXUChhKXwwO0pMKGEpfDA7cmV0dXJufWZ1
bmN0aW9uIFZQKGEpe2E9YXwwO3ZhciBjPTAsZD0wO2M9ZlthKzMyPj4yXXwwO2E6ZG8gaWYoY3ww
KXdoaWxlKDEpe2Q9ZltjPj4yXXwwO2lmKCFkKWJyZWFrIGE7aWYoKGJbZD4+MF18MCk9PTEwMz9q
MihkLDExOTc3OSl8MDowKVNQKGEsMCxmW2MrND4+Ml18MCk7Yz1jKzh8MH13aGlsZSgwKTtyZXR1
cm59ZnVuY3Rpb24gV1AoYSl7YT1hfDA7dmFyIGI9MDtiPUZDKGEsMiwxMTk3OTIpfDA7aWYoIWIp
YT05OTk7ZWxzZXtmW2ErMTQ4Pj4yXT1mWyhmW2IrMTY+PjJdfDApKzEyPj4yXTthPTMwMH1yZXR1
cm4gYXwwfWZ1bmN0aW9uIFhQKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wO2E9Zlth
KzE0OD4+Ml18MDtpZigoYXwwKSE9MD8oZD1mW2E+PjJdfDAsKGR8MCkhPTApOjApYT11YltkJjEy
N10oYixjKXwwO2Vsc2UgYT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gWVAoYSxiLGMsZCl7YT1hfDA7
Yj1ifDA7Yz1jfDA7ZD1kfDA7cmV0dXJuIChmW2I+PjJdfDApLShmW2M+PjJdfDApfDB9ZnVuY3Rp
b24gWlAoYSl7YT1hfDA7dmFyIGI9MC4wLGM9MC4wO2E9ZlthKzE2Pj4yXXwwO2M9K3BbYSsxNj4+
M107Yj0rcFthKzI0Pj4zXTtyZXR1cm4gKF9QKH5+KGM+Yj9jOmIpPj4+MCl8MCkrMXwwfWZ1bmN0
aW9uIF9QKGEpe2E9YXwwO3ZhciBiPTAsYz0wO2lmKCFhKWE9LTE7ZWxzZXtjPWE+Pj4wPjY1NTM1
O2E9Yz9hPj4+MTY6YTtjPWM/MTY6MDtiPWE+Pj4wPjI1NTthPWI/YT4+Pjg6YTtjPWI/Y3w4OmM7
Yj1hPj4+MD4xNTthPWI/YT4+PjQ6YTtjPWI/Y3w0OmM7Yj1hPj4+MD4zO2E9KGI/Y3wyOmMpKygo
Yj9hPj4+MjphKT4+PjA+MSYxKXwwfXJldHVybiBhfDB9ZnVuY3Rpb24gJFAoYSxjLGQsZSxnKXth
PWF8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8MDt2YXIgaD0wLjAsaT0wLjAsaj0wLGs9MCxsPTAs
bT0wLG49MCxvPTAscT0wO3E9dDt0PXQrMzJ8MDtvPXE7bj1hUShhLGMsZCxlLGcpfDA7ZD1iUShu
KXwwO2lmKChkfDApPj0wKXtsPW8rMTZ8MDttPW8rMjR8MDtrPW8rOHwwO2o9ZyszMnwwO2Q9MDtn
PTA7d2hpbGUoMSl7aWYoKGd8MCk+PShjfDApKWJyZWFrO2U9YSsoZyo0MHwwKSszMnwwO2RvIGlm
KGZbZT4+Ml18MCl7Y1EobyxuLGErKGcqNDB8MCl8MCk7aD0rcFtsPj4zXTtpPStwW20+PjNdO2lm
KCEoZltvPj4yXXwwKSl7YlsoZltlPj4yXXwwKSszNj4+MF09MTticmVha31pZigrcFtrPj4zXT09
MC4wKXtlPWZbZT4+Ml18MDtwW2UrMTY+PjNdPWg7cFtlKzI0Pj4zXT1pO2JbZSszNj4+MF09MTti
cmVha31pZigoYltqPj4wXXwwKT09MSl7ZT1mW2U+PjJdfDA7cFtlKzE2Pj4zXT1oO3BbZSsyND4+
M109aTtiW2UrMzY+PjBdPTF9ZWxzZSBkPTF9d2hpbGUoMCk7Zz1nKzF8MH1kUShuKX10PXE7cmV0
dXJuIGR8MH1mdW5jdGlvbiBhUShhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9
ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTA7Zz1ESCgyOCl8MDtqPUx3KDczMTY0LGZbMTgwMDRdfDAp
fDA7aD1nKzIwfDA7ZltoPj4yXT1qO2RvIGlmKGope2o9TFMoKXwwO2ZbZysyND4+Ml09ajtpZigh
ail7cTIoMTIwMDEwLDE0LDEsZlsxOTQ1N118MCl8MDtpPTY7YnJlYWt9ZWxzZXtmW2c+PjJdPWE7
ZltnKzQ+PjJdPWI7ZltnKzg+PjJdPWM7ZltnKzEyPj4yXT1kO2ZbZysxNj4+Ml09ZTticmVha319
ZWxzZXtxMigxMjAwMTAsMTQsMSxmWzE5NDU3XXwwKXwwO2k9Nn13aGlsZSgwKTtpZigoaXwwKT09
Nil7YT1mW2g+PjJdfDA7aWYoYXwwKUh3KGEpfDA7YT1mW2crMjQ+PjJdfDA7aWYoYXwwKU5TKGEp
fDA7TV8oZyk7Zz0wfXJldHVybiBnfDB9ZnVuY3Rpb24gYlEoYSl7YT1hfDA7dmFyIGI9MDtiPW1R
KGEpfDA7aWYoKGJ8MCk+PTApe25RKGEpO29RKGEpO2I9SHcoZlthKzIwPj4yXXwwKXwwfXJldHVy
biBifDB9ZnVuY3Rpb24gY1EoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMCxlPTAs
Zz0wLGg9MC4wLGk9MCxqPTAuMCxrPTAsbD0wLjAsbT0wLG49MCxvPTAscT0wLHI9MCxzPTAsdT0w
LHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLjAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9
MCxKPTAsSz0wLjAsTD0wLE09MDtNPXQ7dD10KzQ2NHwwO0o9TTtMPU0rNDQwfDA7Rz1NKzQyNHww
O2s9TSszOTJ8MDttPU0rMzYwfDA7bj1NKzMyOHwwO289TSsyOTZ8MDtxPU0rMjY0fDA7cj1NKzIz
MnwwO3M9TSsyMDB8MDt1PU0rMTY4fDA7dj1NKzEzNnwwO3g9TSsxMDR8MDt5PU0rNzJ8MDtIPU0r
NDB8MDt6PWZbYyszMj4+Ml18MDtkPStwW3o+PjNdO0M9YysxNnwwO0E9KGQqMi4wKyArcFtDPj4z
XSkqLjEyNTtEPXorOHwwO0k9YysyNHwwO2g9K3BbST4+M107Sz0oK3BbRD4+M10qMi4wK2gpKi41
O2lmKCF6KXhhKDExOTgwMywxMTk4MTMsNDQ1LDExOTgyMyk7ZT1KO2c9ZSszNnwwO2Rve2ZbZT4+
Ml09MDtlPWUrNHwwfXdoaWxlKChlfDApPChnfDApKTtCPXorMTZ8MDtwW0I+PjNdPStwW2M+PjNd
LWQ7RT1jKzh8MDtGPXorMjR8MDtwW0Y+PjNdPStwW0U+PjNdK2g7ZVEoayxiLGMsSik7aT1mW2s+
PjJdfDA7ZT1mW2srND4+Ml18MDtkPStwW2srOD4+M107az1rKzE2fDA7ZltMPj4yXT1mW2s+PjJd
O2ZbTCs0Pj4yXT1mW2srND4+Ml07ZltMKzg+PjJdPWZbays4Pj4yXTtmW0wrMTI+PjJdPWZbaysx
Mj4+Ml07YTpkbyBpZighaSl7ZlthPj4yXT0wO2ZbYSs0Pj4yXT1lO3BbYSs4Pj4zXT1kO2E9YSsx
NnwwO2ZbYT4+Ml09ZltMPj4yXTtmW2ErND4+Ml09ZltMKzQ+PjJdO2ZbYSs4Pj4yXT1mW0wrOD4+
Ml07ZlthKzEyPj4yXT1mW0wrMTI+PjJdfWVsc2V7cFtGPj4zXT0rcFtFPj4zXTtlUShtLGIsYyxK
KTtnPWZbbT4+Ml18MDtrPWZbbSs0Pj4yXXwwO2g9K3BbbSs4Pj4zXTttPW0rMTZ8MDtmW0c+PjJd
PWZbbT4+Ml07ZltHKzQ+PjJdPWZbbSs0Pj4yXTtmW0crOD4+Ml09ZlttKzg+PjJdO2ZbRysxMj4+
Ml09ZlttKzEyPj4yXTtpZighZyl7ZlthPj4yXT0wO2ZbYSs0Pj4yXT1rO3BbYSs4Pj4zXT1oO2E9
YSsxNnwwO2ZbYT4+Ml09ZltHPj4yXTtmW2ErND4+Ml09ZltHKzQ+PjJdO2ZbYSs4Pj4yXT1mW0cr
OD4+Ml07ZlthKzEyPj4yXT1mW0crMTI+PjJdO2JyZWFrfWlmKGg8ZCl7ZltMPj4yXT1mW0c+PjJd
O2ZbTCs0Pj4yXT1mW0crND4+Ml07ZltMKzg+PjJdPWZbRys4Pj4yXTtmW0wrMTI+PjJdPWZbRysx
Mj4+Ml07ZT1rO2Q9aH1lbHNlIGc9aTtwW0Y+PjNdPStwW0U+PjNdLStwW0Q+PjNdO2VRKG4sYixj
LEopO2s9ZltuPj4yXXwwO2k9ZltuKzQ+PjJdfDA7aD0rcFtuKzg+PjNdO249bisxNnwwO2ZbRz4+
Ml09ZltuPj4yXTtmW0crND4+Ml09ZltuKzQ+PjJdO2ZbRys4Pj4yXT1mW24rOD4+Ml07ZltHKzEy
Pj4yXT1mW24rMTI+PjJdO2lmKCFrKXtmW2E+PjJdPTA7ZlthKzQ+PjJdPWk7cFthKzg+PjNdPWg7
YT1hKzE2fDA7ZlthPj4yXT1mW0c+PjJdO2ZbYSs0Pj4yXT1mW0crND4+Ml07ZlthKzg+PjJdPWZb
Rys4Pj4yXTtmW2ErMTI+PjJdPWZbRysxMj4+Ml07YnJlYWt9aWYoaDxkKXtmW0w+PjJdPWZbRz4+
Ml07ZltMKzQ+PjJdPWZbRys0Pj4yXTtmW0wrOD4+Ml09ZltHKzg+PjJdO2ZbTCsxMj4+Ml09ZltH
KzEyPj4yXTtlPWk7ZD1ofWVsc2Ugaz1nO3BbQj4+M109K3BbYz4+M107cFtGPj4zXT0rcFtJPj4z
XSsgK3BbRT4+M107ZVEobyxiLGMsSik7Zz1mW28+PjJdfDA7aT1mW28rND4+Ml18MDtoPStwW28r
OD4+M107bz1vKzE2fDA7ZltHPj4yXT1mW28+PjJdO2ZbRys0Pj4yXT1mW28rND4+Ml07ZltHKzg+
PjJdPWZbbys4Pj4yXTtmW0crMTI+PjJdPWZbbysxMj4+Ml07aWYoIWcpe2ZbYT4+Ml09MDtmW2Er
ND4+Ml09aTtwW2ErOD4+M109aDthPWErMTZ8MDtmW2E+PjJdPWZbRz4+Ml07ZlthKzQ+PjJdPWZb
Rys0Pj4yXTtmW2ErOD4+Ml09ZltHKzg+PjJdO2ZbYSsxMj4+Ml09ZltHKzEyPj4yXTticmVha31p
ZihoPGQpe2ZbTD4+Ml09ZltHPj4yXTtmW0wrND4+Ml09ZltHKzQ+PjJdO2ZbTCs4Pj4yXT1mW0cr
OD4+Ml07ZltMKzEyPj4yXT1mW0crMTI+PjJdO2s9ZztlPWk7ZD1ofXBbRj4+M109K3BbRT4+M10t
K3BbRD4+M107ZVEocSxiLGMsSik7Zz1mW3E+PjJdfDA7aT1mW3ErND4+Ml18MDtoPStwW3ErOD4+
M107cT1xKzE2fDA7ZltHPj4yXT1mW3E+PjJdO2ZbRys0Pj4yXT1mW3ErND4+Ml07ZltHKzg+PjJd
PWZbcSs4Pj4yXTtmW0crMTI+PjJdPWZbcSsxMj4+Ml07aWYoIWcpe2ZbYT4+Ml09MDtmW2ErND4+
Ml09aTtwW2ErOD4+M109aDthPWErMTZ8MDtmW2E+PjJdPWZbRz4+Ml07ZlthKzQ+PjJdPWZbRys0
Pj4yXTtmW2ErOD4+Ml09ZltHKzg+PjJdO2ZbYSsxMj4+Ml09ZltHKzEyPj4yXTticmVha31pZiho
PGQpe2ZbTD4+Ml09ZltHPj4yXTtmW0wrND4+Ml09ZltHKzQ+PjJdO2ZbTCs4Pj4yXT1mW0crOD4+
Ml07ZltMKzEyPj4yXT1mW0crMTI+PjJdO2s9ZztlPWk7ZD1ofXBbQj4+M109K3BbQz4+M10rICtw
W2M+PjNdO3BbRj4+M109K3BbST4+M10rICtwW0U+PjNdO2VRKHIsYixjLEopO2c9ZltyPj4yXXww
O2k9ZltyKzQ+PjJdfDA7aD0rcFtyKzg+PjNdO3I9cisxNnwwO2ZbRz4+Ml09ZltyPj4yXTtmW0cr
ND4+Ml09ZltyKzQ+PjJdO2ZbRys4Pj4yXT1mW3IrOD4+Ml07ZltHKzEyPj4yXT1mW3IrMTI+PjJd
O2lmKCFnKXtmW2E+PjJdPTA7ZlthKzQ+PjJdPWk7cFthKzg+PjNdPWg7YT1hKzE2fDA7ZlthPj4y
XT1mW0c+PjJdO2ZbYSs0Pj4yXT1mW0crND4+Ml07ZlthKzg+PjJdPWZbRys4Pj4yXTtmW2ErMTI+
PjJdPWZbRysxMj4+Ml07YnJlYWt9aWYoaDxkKXtmW0w+PjJdPWZbRz4+Ml07ZltMKzQ+PjJdPWZb
Rys0Pj4yXTtmW0wrOD4+Ml09ZltHKzg+PjJdO2ZbTCsxMj4+Ml09ZltHKzEyPj4yXTtrPWc7ZT1p
O2Q9aH1wW0Y+PjNdPStwW0U+PjNdO2VRKHMsYixjLEopO2c9ZltzPj4yXXwwO2k9ZltzKzQ+PjJd
fDA7aD0rcFtzKzg+PjNdO3M9cysxNnwwO2ZbRz4+Ml09ZltzPj4yXTtmW0crND4+Ml09ZltzKzQ+
PjJdO2ZbRys4Pj4yXT1mW3MrOD4+Ml07ZltHKzEyPj4yXT1mW3MrMTI+PjJdO2lmKCFnKXtmW2E+
PjJdPTA7ZlthKzQ+PjJdPWk7cFthKzg+PjNdPWg7YT1hKzE2fDA7ZlthPj4yXT1mW0c+PjJdO2Zb
YSs0Pj4yXT1mW0crND4+Ml07ZlthKzg+PjJdPWZbRys4Pj4yXTtmW2ErMTI+PjJdPWZbRysxMj4+
Ml07YnJlYWt9aWYoaDxkKXtmW0w+PjJdPWZbRz4+Ml07ZltMKzQ+PjJdPWZbRys0Pj4yXTtmW0wr
OD4+Ml09ZltHKzg+PjJdO2ZbTCsxMj4+Ml09ZltHKzEyPj4yXTtrPWc7ZT1pO2Q9aH1wW0Y+PjNd
PStwW0U+PjNdLStwW0Q+PjNdO2VRKHUsYixjLEopO2c9Zlt1Pj4yXXwwO2k9Zlt1KzQ+PjJdfDA7
aD0rcFt1Kzg+PjNdO3U9dSsxNnwwO2ZbRz4+Ml09Zlt1Pj4yXTtmW0crND4+Ml09Zlt1KzQ+PjJd
O2ZbRys4Pj4yXT1mW3UrOD4+Ml07ZltHKzEyPj4yXT1mW3UrMTI+PjJdO2lmKCFnKXtmW2E+PjJd
PTA7ZlthKzQ+PjJdPWk7cFthKzg+PjNdPWg7YT1hKzE2fDA7ZlthPj4yXT1mW0c+PjJdO2ZbYSs0
Pj4yXT1mW0crND4+Ml07ZlthKzg+PjJdPWZbRys4Pj4yXTtmW2ErMTI+PjJdPWZbRysxMj4+Ml07
YnJlYWt9aWYoaDxkKXtmW0w+PjJdPWZbRz4+Ml07ZltMKzQ+PjJdPWZbRys0Pj4yXTtmW0wrOD4+
Ml09ZltHKzg+PjJdO2ZbTCsxMj4+Ml09ZltHKzEyPj4yXTtlPWk7ZD1ofWVsc2UgZz1rO2k9KGZb
SisyOD4+Ml18MCk9PTA7ZG8gaWYoIShmW0orMjQ+PjJdfDApKWlmKGkpe2lmKGZbSiszMj4+Ml18
MCl7dz0zODticmVha31pZighKChmW0orMTI+PjJdfDApPT0wJihmW0o+PjJdfDApPT0wKSl3PTM4
fWVsc2Ugdz00NjtlbHNlIGlmKGkpdz0zODtlbHNlIHc9NDY7d2hpbGUoMCk7YjpkbyBpZigod3ww
KT09MzgpaWYoIShmW0orMzI+PjJdfDApKXtoPStwW2M+PjNdO2o9aC0rcFt6Pj4zXTtwW0I+PjNd
PWo7cFtGPj4zXT0rcFtJPj4zXSsgK3BbRT4+M107bT12KzR8MDtuPXYrOHwwO289disxNnwwO3do
aWxlKDEpe2lmKCEoajw9K3BbQz4+M10raCkpe3c9NDY7YnJlYWsgYn1lUSh2LGIsYyxKKTtpPWZb
dj4+Ml18MDtrPWZbbT4+Ml18MDtoPStwW24+PjNdO2ZbRz4+Ml09ZltvPj4yXTtmW0crND4+Ml09
ZltvKzQ+PjJdO2ZbRys4Pj4yXT1mW28rOD4+Ml07ZltHKzEyPj4yXT1mW28rMTI+PjJdO2lmKCFp
KWJyZWFrO2lmKGg8ZCl7ZltMPj4yXT1mW0c+PjJdO2ZbTCs0Pj4yXT1mW0crND4+Ml07ZltMKzg+
PjJdPWZbRys4Pj4yXTtmW0wrMTI+PjJdPWZbRysxMj4+Ml07Zz1pO2U9aztkPWh9aj0rcFtCPj4z
XStBO3BbQj4+M109ajtoPStwW2M+PjNdfWZbYT4+Ml09MDtmW2ErND4+Ml09aztwW2ErOD4+M109
aDthPWErMTZ8MDtmW2E+PjJdPWZbRz4+Ml07ZlthKzQ+PjJdPWZbRys0Pj4yXTtmW2ErOD4+Ml09
ZltHKzg+PjJdO2ZbYSsxMj4+Ml09ZltHKzEyPj4yXTticmVhayBhfWVsc2Ugdz00Njt3aGlsZSgw
KTtjOmRvIGlmKCh3fDApPT00NilpZigoZltKKzEyPj4yXXwwKT09MCYoZltKPj4yXXwwKT09MCl7
cFtCPj4zXT0rcFtjPj4zXS0rcFt6Pj4zXTtqPStwW0U+PjNdO209eCs0fDA7bj14Kzh8MDtvPXgr
MTZ8MDtoPWo7aj0rcFtJPj4zXStqO3doaWxlKDEpe3BbRj4+M109ajtpZighKGo+PWgtK3BbRD4+
M10pKWJyZWFrIGM7ZVEoeCxiLGMsSik7aT1mW3g+PjJdfDA7az1mW20+PjJdfDA7aD0rcFtuPj4z
XTtmW0c+PjJdPWZbbz4+Ml07ZltHKzQ+PjJdPWZbbys0Pj4yXTtmW0crOD4+Ml09ZltvKzg+PjJd
O2ZbRysxMj4+Ml09ZltvKzEyPj4yXTtpZighaSlicmVhaztpZihoPGQpe2ZbTD4+Ml09ZltHPj4y
XTtmW0wrND4+Ml09ZltHKzQ+PjJdO2ZbTCs4Pj4yXT1mW0crOD4+Ml07ZltMKzEyPj4yXT1mW0cr
MTI+PjJdO2c9aTtlPWs7ZD1ofWg9K3BbRT4+M107aj0rcFtGPj4zXS1LfWZbYT4+Ml09MDtmW2Er
ND4+Ml09aztwW2ErOD4+M109aDthPWErMTZ8MDtmW2E+PjJdPWZbRz4+Ml07ZlthKzQ+PjJdPWZb
Rys0Pj4yXTtmW2ErOD4+Ml09ZltHKzg+PjJdO2ZbYSsxMj4+Ml09ZltHKzEyPj4yXTticmVhayBh
fXdoaWxlKDApO2g9K3BbYz4+M107aj0rcFtDPj4zXStoO3BbQj4+M109ajtsPStwW0U+PjNdLStw
W0Q+PjNdO3BbRj4+M109bDtpPWZbSis0Pj4yXXwwO2RvIGlmKCEoZltKKzg+PjJdfDApKXtrPWZb
Sj4+Ml18MDtpZighKChpfDApPT0wJihrfDApPT0wKSl7dz01OTticmVha31pZihmW0orMjA+PjJd
fDApe2k9MDtrPTA7dz01OTticmVha31pZihmW0orMzI+PjJdfDApe2k9MDtrPTA7dz01OX19ZWxz
ZXtrPWZbSj4+Ml18MDt3PTU5fXdoaWxlKDApO2Q6ZG8gaWYoKHd8MCk9PTU5KXtlOmRvIGlmKChp
fDApPT0wJihrfDApPT0wKXtwW0I+PjNdPWo7cFtGPj4zXT1sO209eSs0fDA7bj15Kzh8MDtvPXkr
MTZ8MDt3aGlsZSgxKXtpZighKGo+PWgtK3Bbej4+M10pKWJyZWFrIGU7ZVEoeSxiLGMsSik7aT1m
W3k+PjJdfDA7az1mW20+PjJdfDA7aD0rcFtuPj4zXTtmW0c+PjJdPWZbbz4+Ml07ZltHKzQ+PjJd
PWZbbys0Pj4yXTtmW0crOD4+Ml09ZltvKzg+PjJdO2ZbRysxMj4+Ml09ZltvKzEyPj4yXTtpZigh
aSlicmVhaztpZihoPGQpe2ZbTD4+Ml09ZltHPj4yXTtmW0wrND4+Ml09ZltHKzQ+PjJdO2ZbTCs4
Pj4yXT1mW0crOD4+Ml07ZltMKzEyPj4yXT1mW0crMTI+PjJdO2c9aTtlPWs7ZD1ofWo9K3BbQj4+
M10tQTtwW0I+PjNdPWo7aD0rcFtjPj4zXX1mW2E+PjJdPTA7ZlthKzQ+PjJdPWs7cFthKzg+PjNd
PWg7YT1hKzE2fDA7ZlthPj4yXT1mW0c+PjJdO2ZbYSs0Pj4yXT1mW0crND4+Ml07ZlthKzg+PjJd
PWZbRys4Pj4yXTtmW2ErMTI+PjJdPWZbRysxMj4+Ml07YnJlYWsgYX13aGlsZSgwKTtpZihmW0or
MjA+PjJdfDApYnJlYWs7aWYoZltKKzMyPj4yXXwwKWJyZWFrO3BbQj4+M109K3BbQz4+M10raDto
PStwW0U+PjNdO209SCs0fDA7bj1IKzh8MDtvPUgrMTZ8MDtqPWg7aD1oLStwW0Q+PjNdO3doaWxl
KDEpe3BbRj4+M109aDtpZighKGg8PStwW0k+PjNdK2opKWJyZWFrIGQ7ZVEoSCxiLGMsSik7aT1m
W0g+PjJdfDA7az1mW20+PjJdfDA7aD0rcFtuPj4zXTtmW0c+PjJdPWZbbz4+Ml07ZltHKzQ+PjJd
PWZbbys0Pj4yXTtmW0crOD4+Ml09ZltvKzg+PjJdO2ZbRysxMj4+Ml09ZltvKzEyPj4yXTtpZigh
aSlicmVhaztpZihoPGQpe2ZbTD4+Ml09ZltHPj4yXTtmW0wrND4+Ml09ZltHKzQ+PjJdO2ZbTCs4
Pj4yXT1mW0crOD4+Ml07ZltMKzEyPj4yXT1mW0crMTI+PjJdO2c9aTtlPWs7ZD1ofWo9K3BbRT4+
M107aD0rcFtGPj4zXStLfWZbYT4+Ml09MDtmW2ErND4+Ml09aztwW2ErOD4+M109aDthPWErMTZ8
MDtmW2E+PjJdPWZbRz4+Ml07ZlthKzQ+PjJdPWZbRys0Pj4yXTtmW2ErOD4+Ml09ZltHKzg+PjJd
O2ZbYSsxMj4+Ml09ZltHKzEyPj4yXTticmVhayBhfXdoaWxlKDApO2ZbYT4+Ml09ZztmW2ErND4+
Ml09ZTtwW2ErOD4+M109ZDthPWErMTZ8MDtmW2E+PjJdPWZbTD4+Ml07ZlthKzQ+PjJdPWZbTCs0
Pj4yXTtmW2ErOD4+Ml09ZltMKzg+PjJdO2ZbYSsxMj4+Ml09ZltMKzEyPj4yXX13aGlsZSgwKTt0
PU07cmV0dXJufWZ1bmN0aW9uIGRRKGEpe2E9YXwwO05TKGZbYSsyND4+Ml18MCl8MDtNXyhhKTty
ZXR1cm59ZnVuY3Rpb24gZVEoYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9
MCxoPTAuMCxpPTAsaj0wLGs9MCxsPTAuMCxtPTAsbj0wLG89MCxxPTAuMCxyPTAscz0wO3M9dDt0
PXQrNDh8MDtvPXMrMzJ8MDtyPXMrMTZ8MDtuPXM7Zz1mW2QrMzI+PjJdfDA7aWYoIWcpeGEoMTE5
ODAzLDExOTgxMywzODIsMTE5ODMyKTttPWcrMTZ8MDtmW24+PjJdPWZbbT4+Ml07ZltuKzQ+PjJd
PWZbbSs0Pj4yXTtmW24rOD4+Ml09ZlttKzg+PjJdO2ZbbisxMj4+Ml09ZlttKzEyPj4yXTttPWMr
NHwwO2s9MDtnPTA7d2hpbGUoMSl7aWYoKGt8MCk+PShmW20+PjJdfDApKWJyZWFrO2k9ZltjPj4y
XXwwO2o9aSsoayo0MHwwKXwwO2RvIGlmKChqfDApIT0oZHwwKSl7aWYoK3BbaSsoayo0MHwwKSsx
Nj4+M10+MC4wPytwW2krKGsqNDB8MCkrMjQ+PjNdPjAuMDowKWJyZWFrO2c9ZysoKGZRKGQsail8
MCkhPTAmMSl8MH13aGlsZSgwKTtrPWsrMXwwfWdRKGQsbyk7az1mW2MrMjQ+PjJdfDA7az1QUyhr
LGZbaz4+Ml18MCxvKXwwO2lmKCFrKXtmW2E+PjJdPWc7cFthKzg+PjNdPTAuMDtyPWErMTZ8MDtm
W3I+PjJdPWZbbj4+Ml07ZltyKzQ+PjJdPWZbbis0Pj4yXTtmW3IrOD4+Ml09ZltuKzg+PjJdO2Zb
cisxMj4+Ml09ZltuKzEyPj4yXX1lbHNle2o9aztoPTAuMDt3aGlsZSgxKXtpZighailicmVhaztp
PWZbKGZbais0Pj4yXXwwKSsxNj4+Ml18MDtpZigoaXwwKSE9KGR8MCkpe2hRKGkscik7bD0raVEo
byxyKTtpZihsPjAuMCl7Zz1nKzF8MDtoPStqUShkLGksbyxsLGUpK2h9Yz1mW2krMzI+PjJdfDA7
aWYoKChjfDApIT0wPyhiW2MrMzY+PjBdfDApIT0wOjApPyhnUShpLHIpLHE9K2lRKG8scikscT4w
LjApOjApe2c9ZysxfDA7aD0ra1EoZCxpLG8scSxlKStofX1qPWZbaj4+Ml18MH1LUyhrKTtmW2E+
PjJdPWc7cFthKzg+PjNdPWg7cj1hKzE2fDA7ZltyPj4yXT1mW24+PjJdO2Zbcis0Pj4yXT1mW24r
ND4+Ml07ZltyKzg+PjJdPWZbbis4Pj4yXTtmW3IrMTI+PjJdPWZbbisxMj4+Ml19dD1zO3JldHVy
bn1mdW5jdGlvbiBmUShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAuMCxlPTAuMCxnPTAu
MDthPWZbYSszMj4+Ml18MDtpZigrcFtiKzE2Pj4zXT09MC4wPytwW2IrMjQ+PjNdPT0wLjA6MCl7
aWYoKCgoYXwwKSE9MD8oYz0rcFtiPj4zXSxkPStwW2ErMTY+PjNdLGM+ZCk6MCk/YzwrcFthPj4z
XStkOjApPyhlPStwW2IrOD4+M10sZz0rcFthKzI0Pj4zXSxlPmcpOjApYT1lPCtwW2ErOD4+M10r
ZyYxO2Vsc2UgYT0wO3JldHVybiBhfDB9eGEoMTE5ODY5LDExOTgxMywyMTksMTE5OTA2KTtyZXR1
cm4gMH1mdW5jdGlvbiBnUShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAuMDthPWZbYSsz
Mj4+Ml18MDtkPStwW2ErMTY+PjNdO2ZbYj4+Ml09fn5kO2M9K3BbYSsyND4+M107ZltiKzQ+PjJd
PX5+YztmW2IrOD4+Ml09fn4oK3BbYT4+M10rZCk7ZltiKzEyPj4yXT1+figrcFthKzg+PjNdK2Mp
O3JldHVybn1mdW5jdGlvbiBoUShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAuMDtkPStw
W2E+PjNdO2ZbYj4+Ml09fn5kO2M9K3BbYSs4Pj4zXTtmW2IrND4+Ml09fn5jO2ZbYis4Pj4yXT1+
figrcFthKzE2Pj4zXStkKTtmW2IrMTI+PjJdPX5+KCtwW2ErMjQ+PjNdK2MpO3JldHVybn1mdW5j
dGlvbiBpUShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9
MCxrPTAsbD0wO2k9ZlthKzg+PjJdfDA7aj1mW2I+PjJdfDA7aWYoKCgoaXwwKT49KGp8MCk/KGs9
ZlthPj4yXXwwLGw9ZltiKzg+PjJdfDAsKGt8MCk8PShsfDApKTowKT8oZD1mW2ErMTI+PjJdfDAs
ZT1mW2IrND4+Ml18MCwoZHwwKT49KGV8MCkpOjApPyhnPWZbYSs0Pj4yXXwwLGg9ZltiKzEyPj4y
XXwwLChnfDApPD0oaHwwKSk6MCljPSgrKCgoZHwwKTwoaHwwKT9kOmgpfDApLSsoKChnfDApPihl
fDApP2c6ZSl8MCkpKigrKCgoaXwwKTwobHwwKT9pOmwpfDApLSsoKChrfDApPihqfDApP2s6ail8
MCkpO2Vsc2UgYz0wLjA7cmV0dXJuICtjfWZ1bmN0aW9uIGpRKGEsYixjLGQsZSl7YT1hfDA7Yj1i
fDA7Yz1jfDA7ZD0rZDtlPWV8MDt2YXIgZz0wLjAsaD0wLjAsaT0wLGo9MDtqPXQ7dD10KzE2fDA7
aT1qO2E9bFEoYSxiKXwwO2U9ZSsoKChhfDApPDA/NTphKTw8Mil8MDthPWZbZT4+Ml18MDtpZigh
YSl7ZltlPj4yXT1iO2c9ZH1lbHNle2hRKGEsaSk7Zz0raVEoYyxpKTtnPWc+ZD9nOjAuMDthPWZb
ZT4+Ml18MDtpZigoZlthKzMyPj4yXXwwKSE9MD8oZ1EoYSxpKSxoPStpUShjLGkpLGg+ZCk6MCln
PWg+Zz9oOmc7aWYoIShnPjAuMCkpe2ZbZT4+Ml09YjtnPWR9fXQ9ajtyZXR1cm4gK2d9ZnVuY3Rp
b24ga1EoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPStkO2U9ZXwwO3ZhciBnPTAuMCxo
PTAuMCxpPTAsaj0wO2o9dDt0PXQrMTZ8MDtpPWo7YT1sUShhLGIpfDA7ZT1lKygoKGF8MCk8MD81
OmEpPDwyKXwwO2E9ZltlPj4yXXwwO2lmKCFhKXtmW2U+PjJdPWI7Zz1kfWVsc2V7aFEoYSxpKTtn
PStpUShjLGkpO2c9Zz5kP2c6MC4wO2E9ZltlPj4yXXwwO2lmKChmW2ErMzI+PjJdfDApIT0wPyhn
UShhLGkpLGg9K2lRKGMsaSksaD5kKTowKWc9aD5nP2g6ZztpZighKGc+MC4wKSl7ZltlPj4yXT1i
O2c9ZH19dD1qO3JldHVybiArZ31mdW5jdGlvbiBsUShhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAs
ZT0wLGc9MC4wLGg9MC4wLGk9MC4wLGo9MC4wO2Q9ZlthKzMyPj4yXXwwO2U9ZltjKzMyPj4yXXww
O2lmKChkfDApPT0oZXwwKSl4YSgxMTk4NDgsMTE5ODEzLDI3NiwxMTk4NTgpO2RvIGlmKChiW2Qr
MzY+PjBdfDApIT0wPyhiW2UrMzY+PjBdfDApIT0wOjApe2k9K3BbYT4+M107aWYoaT09MC4wPytw
W2ErOD4+M109PTAuMDowKXtkPS0xO2JyZWFrfWo9K3BbYz4+M107aD0rcFtjKzg+PjNdO2lmKCEo
aj09MC4wJmg9PTAuMCkpe2c9K3BbYSs4Pj4zXTtpZihoPGcpe2lmKGo8aSl7ZD0wO2JyZWFrfWQ9
aj5pPzI6MTticmVha31kPWo8aTtpZihoPmcpe2lmKGQpe2Q9NjticmVha31kPWo+aT84Ojc7YnJl
YWt9aWYoIWQpaWYoaj5pKWQ9NTtlbHNlIGQ9LTE7ZWxzZSBkPTN9ZWxzZSBkPS0xfWVsc2UgZD0t
MTt3aGlsZSgwKTtyZXR1cm4gZHwwfWZ1bmN0aW9uIG1RKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9
MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MDtrPXQ7dD10KzMyfDA7Yz1rKzI0
fDA7ZD1rKzE2fDA7ZT1rO2c9WlAoYSl8MDtoPWErNHwwO2k9ZCs0fDA7aj1hKzIwfDA7Yj0wO3do
aWxlKDEpe2lmKChifDApPj0oZltoPj4yXXwwKSl7Yj0wO2JyZWFrfWw9REgoMzIpfDA7bj0oZlth
Pj4yXXwwKSsoYio0MHwwKXwwO209bCsxMnwwO2ZbbCsyOD4+Ml09bjtwUShlLG4pO2ZbbT4+Ml09
ZltlPj4yXTtmW20rND4+Ml09ZltlKzQ+PjJdO2ZbbSs4Pj4yXT1mW2UrOD4+Ml07ZlttKzEyPj4y
XT1mW2UrMTI+PjJdO209ZlttPj4yXXwwO2ZbZD4+Ml09KCgoZltsKzIwPj4yXXwwKS1tfDApLzJ8
MCkrbTttPWZbbCsxNj4+Ml18MDtmW2k+PjJdPSgoKGZbbCsyND4+Ml18MCktbXwwKS8yfDApK207
ZltjPj4yXT1mW2Q+PjJdO2ZbYys0Pj4yXT1mW2QrND4+Ml07bT1xUShjLGcpfDA7ZltsKzg+PjJd
PW07bT1mW2o+PjJdfDA7aWYoISh3YltmW20+PjJdJjYzXShtLGwsMSl8MCkpe2I9LTE7YnJlYWt9
ZWxzZSBiPWIrMXwwfXQ9aztyZXR1cm4gYnwwfWZ1bmN0aW9uIG5RKGEpe2E9YXwwO3ZhciBiPTAs
Yz0wLGQ9MDtjPWErMjB8MDtkPWZbYz4+Ml18MDtiPWErMjR8MDthPXdiW2ZbZD4+Ml0mNjNdKGQs
MCwxMjgpfDA7d2hpbGUoMSl7aWYoIWEpYnJlYWs7ZD1mW2I+PjJdfDA7UVMoZCxhKzEyfDAsZlth
KzI4Pj4yXXwwLGQsMCl8MDtkPWZbYz4+Ml18MDthPXdiW2ZbZD4+Ml0mNjNdKGQsYSw4KXwwfXJl
dHVybn1mdW5jdGlvbiBvUShhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wLGc9MCxoPTA7ZD1h
KzIwfDA7ZT1OdyhmW2Q+PjJdfDApfDA7Yz0wO3doaWxlKDEpe2lmKCEoTncoZltkPj4yXXwwKXww
KSlicmVhaztnPWZbZD4+Ml18MDthPWZbKGZbZys4Pj4yXXwwKSs0Pj4yXXwwO2lmKCFhKXtoPTg7
YnJlYWt9Yj1mWyhmW2crND4+Ml18MCkrOD4+Ml18MDtpZigoYnwwKTwwKWE9ZlthKzg+PjJdfDA7
ZWxzZSBhPWErKDAtYil8MDtpZighYSl7aD04O2JyZWFrfXdiW2ZbZz4+Ml0mNjNdKGcsYSw0MDk2
KXwwO01fKGEpO2M9YysxfDB9aWYoKGh8MCk9PTgpeGEoMTE5OTE5LDExOTgxMyw2MTYsMTE5OTIy
KTtpZigoZXwwKT09KGN8MCkpcmV0dXJuO2Vsc2UgeGEoMTE5OTM0LDExOTgxMyw2MjMsMTE5OTIy
KX1mdW5jdGlvbiBwUShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLjAsZT0wLjAsZz0wLjAs
aD0wLGk9MCxqPTAsaz0wLjA7Yz1mW2IrMzI+PjJdfDA7aWYoIWMpe2Q9MC4wO2U9MC4wfWVsc2V7
ZD0rcFtjPj4zXTtlPStwW2MrOD4+M119az0rcFtiPj4zXTtqPX5+K0goKyhrLWQpKTtnPStwW2Ir
OD4+M107aT1+fitIKCsoZy1lKSk7aD1+fitVKCsoaytkKyArcFtiKzE2Pj4zXSkpO2lmKChofDAp
PT0yMTQ3NDgzNjQ3KXhhKDExOTk0NiwxMTk4MTMsMjY0LDExOTk3Myk7Yz1+fitVKCsoZytlKyAr
cFtiKzI0Pj4zXSkpO2lmKChjfDApPT0yMTQ3NDgzNjQ3KXhhKDExOTk4MywxMTk4MTMsMjY2LDEx
OTk3Myk7ZWxzZXtmW2E+PjJdPWo7ZlthKzQ+PjJdPWk7ZlthKzg+PjJdPWg7ZlthKzEyPj4yXT1j
O3JldHVybn19ZnVuY3Rpb24gcVEoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0w
LGg9MDtlPTA7ZD1mW2E+PjJdfDA7Yz1mW2ErND4+Ml18MDt3aGlsZSgxKXthPWIrLTF8MDtpZigo
YnwwKTw9MClicmVhaztoPWQ+Pj5hJjE7Yj1jPj4+YSYxO2c9YistMSYoZF5jXjAtaCk7ZT1oPDwx
fGU8PDJ8aF5iO2I9YTtkPWdeZDtjPWdeY31yZXR1cm4gZXwwfWZ1bmN0aW9uIHJRKGEpe2E9YXww
O3ZhciBjPTAsZD0wLGU9MCxnPTA7Yz1jMChhKXwwO2lmKGM+Pj4wPj0oZls0ODQ3OV18MCk+Pj4w
KXtjPWMrMTF8MDtmWzQ4NDc5XT1jO2M9R0goZls0ODQ4MF18MCxjKXwwO2ZbNDg0ODBdPWM7aWYo
IWMpYz0wO2Vsc2UgZD00fWVsc2V7Yz1mWzQ4NDgwXXwwO2Q9NH1pZigoZHwwKT09NCl7Zz1jO3do
aWxlKDEpe2Q9YlthPj4wXXwwO2lmKCEoZDw8MjQ+PjI0KSlicmVhaztlPWQmMjU1O2lmKFQyKGUp
fDApZD0oUzIoZSl8MCkmMjU1O2JbZz4+MF09ZDtnPWcrMXwwO2E9YSsxfDB9YltnPj4wXT0wfXJl
dHVybiBjfDB9ZnVuY3Rpb24gc1EoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAuMCxn
PTAsaT0wLjAsaj0wLjAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9
MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAuMDtGPXQ7dD10KzE0NHww
O3I9Ris5NnwwO249Ris4MHwwO3Y9RisxMjR8MDtzPUYrNzJ8MDt3PUYrNjR8MDt4PUYrNTZ8MDtD
PUYrNDh8MDtEPUYrNDB8MDtFPUYrMzJ8MDt5PUYrMjR8MDt6PUYrMTZ8MDtBPUYrOHwwO0I9Rjtn
PUYrMTIwfDA7az1GKzExNnwwO2w9RisxMTJ8MDttPUYrMTA4fDA7ZltjKzMyPj4yXT1kO3E9YTt3
aGlsZSgxKWlmKChiW3E+PjBdfDApPT0zMilxPXErMXwwO2Vsc2UgYnJlYWs7ZlttPj4yXT0yNTU7
YT1iW3E+PjBdfDA7YTpkbyBpZihhPDwyND4+MjQ9PTM1KXtmW24+PjJdPWc7ZltuKzQ+PjJdPWs7
ZltuKzg+PjJdPWw7ZltuKzEyPj4yXT1tO2lmKChNMShxLDEyMDAyNSxuKXwwKTw9Mil7YT1iW3E+
PjBdfDA7bz0xMjticmVha31zd2l0Y2goZHwwKXtjYXNlIDA6e0c9KygoZltnPj4yXXwwKT4+PjAp
Ki4wMDM5MjE1Njg2Mjc0NTA5ODtwW0M+PjNdPUc7ZT0rKChmW2s+PjJdfDApPj4+MCkqLjAwMzky
MTU2ODYyNzQ1MDk4O3BbRD4+M109ZTtpPSsoKGZbbD4+Ml18MCk+Pj4wKSouMDAzOTIxNTY4NjI3
NDUwOTg7cFtFPj4zXT1pO2o9KygoZlttPj4yXXwwKT4+PjApKi4wMDM5MjE1Njg2Mjc0NTA5ODt0
UShHLGUsaSxzLHcseCk7cFtjPj4zXT0rcFtzPj4zXTtwW2MrOD4+M109K3Bbdz4+M107cFtjKzE2
Pj4zXT0rcFt4Pj4zXTtwW2MrMjQ+PjNdPWo7YT0wO2JyZWFrIGF9Y2FzZSAxOntiW2M+PjBdPWZb
Zz4+Ml07YltjKzE+PjBdPWZbaz4+Ml07YltjKzI+PjBdPWZbbD4+Ml07YltjKzM+PjBdPWZbbT4+
Ml07YT0wO2JyZWFrIGF9Y2FzZSAzOntpPSsoKGZbZz4+Ml18MCk+Pj4wKSouMDAzOTIxNTY4NjI3
NDUwOTg7cFtDPj4zXT1pO2o9KygoZltrPj4yXXwwKT4+PjApKi4wMDM5MjE1Njg2Mjc0NTA5ODtw
W0Q+PjNdPWo7Rz0rKChmW2w+PjJdfDApPj4+MCkqLjAwMzkyMTU2ODYyNzQ1MDk4O3BbRT4+M109
Rzt1UShpLGosRyx5LHosQSxCKTtiW2M+PjBdPX5+K3BbeT4+M10qMjU1O2JbYysxPj4wXT1+fitw
W3o+PjNdKjI1NTtiW2MrMj4+MF09fn4rcFtBPj4zXSoyNTU7YltjKzM+PjBdPX5+K3BbQj4+M10q
MjU1O2E9MDticmVhayBhfWNhc2UgMjp7ZltjPj4yXT0oKChmW2c+PjJdfDApKjY1NTM1fDApPj4+
MCkvMjU1fDA7ZltjKzQ+PjJdPSgoKGZbaz4+Ml18MCkqNjU1MzV8MCk+Pj4wKS8yNTV8MDtmW2Mr
OD4+Ml09KCgoZltsPj4yXXwwKSo2NTUzNXwwKT4+PjApLzI1NXwwO2ZbYysxMj4+Ml09KCgoZltt
Pj4yXXwwKSo2NTUzNXwwKT4+PjApLzI1NXwwO2E9MDticmVhayBhfWNhc2UgNDp7cFtjPj4zXT0r
KChmW2c+PjJdfDApPj4+MCkqLjAwMzkyMTU2ODYyNzQ1MDk4O3BbYys4Pj4zXT0rKChmW2s+PjJd
fDApPj4+MCkqLjAwMzkyMTU2ODYyNzQ1MDk4O3BbYysxNj4+M109KygoZltsPj4yXXwwKT4+PjAp
Ki4wMDM5MjE1Njg2Mjc0NTA5ODtwW2MrMjQ+PjNdPSsoKGZbbT4+Ml18MCk+Pj4wKSouMDAzOTIx
NTY4NjI3NDUwOTg7YT0wO2JyZWFrIGF9ZGVmYXVsdDp7YT0wO2JyZWFrIGF9fX1lbHNlIG89MTI7
d2hpbGUoMCk7YjpkbyBpZigob3wwKT09MTIpe2lmKCEoYTw8MjQ+PjI0IT00Nj8oKGEmMjU1KSst
NDh8MCk+Pj4wPj0xMDowKSl7YT1jMChxKXwwO2lmKGE+Pj4wPj0oZls0ODQ4MV18MCk+Pj4wKXth
PWErMTF8MDtmWzQ4NDgxXT1hO2E9R0goZls0ODQ4Ml18MCxhKXwwO2ZbNDg0ODJdPWE7aWYoIWEp
e2E9LTE7YnJlYWt9fWVsc2UgYT1mWzQ4NDgyXXwwO2s9YTtnPXE7Yzp3aGlsZSgxKXtsPWcrMXww
O2c9YltnPj4wXXwwO3N3aXRjaChnPDwyND4+MjQpe2Nhc2UgMDpicmVhayBjO2Nhc2UgNDQ6e2c9
MzI7YnJlYWt9ZGVmYXVsdDp7fX1iW2s+PjBdPWc7az1rKzF8MDtnPWx9YltrPj4wXT0wO2Zbcj4+
Ml09cztmW3IrND4+Ml09dztmW3IrOD4+Ml09eDtpZigoTTEoYSwxMjAwMzkscil8MCk9PTMpe2o9
K3Bbcz4+M107aj1qPDEuMD9qOjEuMDtqPWo+MC4wP2o6MC4wO3Bbcz4+M109ajtpPStwW3c+PjNd
O2k9aTwxLjA/aToxLjA7aT1pPjAuMD9pOjAuMDtwW3c+PjNdPWk7ZT0rcFt4Pj4zXTtlPWU8MS4w
P2U6MS4wO2U9ZT4wLjA/ZTowLjA7cFt4Pj4zXT1lO3N3aXRjaChkfDApe2Nhc2UgMDp7cFtjPj4z
XT1qO3BbYys4Pj4zXT1pO3BbYysxNj4+M109ZTtwW2MrMjQ+PjNdPTEuMDthPTA7YnJlYWsgYn1j
YXNlIDE6e3ZRKGosaSxlLEMsRCxFKTtiW2M+PjBdPX5+KCtwW0M+PjNdKjI1NS4wKTtiW2MrMT4+
MF09fn4oK3BbRD4+M10qMjU1LjApO2JbYysyPj4wXT1+figrcFtFPj4zXSoyNTUuMCk7YltjKzM+
PjBdPS0xO2E9MDticmVhayBifWNhc2UgMzp7dlEoaixpLGUsQyxELEUpO3VRKCtwW0M+PjNdLCtw
W0Q+PjNdLCtwW0U+PjNdLHkseixBLEIpO2JbYz4+MF09fn4rcFt5Pj4zXSoyNTU7YltjKzE+PjBd
PX5+K3Bbej4+M10qMjU1O2JbYysyPj4wXT1+fitwW0E+PjNdKjI1NTtiW2MrMz4+MF09fn4rcFtC
Pj4zXSoyNTU7YT0wO2JyZWFrIGJ9Y2FzZSAyOnt2UShqLGksZSxDLEQsRSk7ZltjPj4yXT1+figr
cFtDPj4zXSo2NTUzNS4wKTtmW2MrND4+Ml09fn4oK3BbRD4+M10qNjU1MzUuMCk7ZltjKzg+PjJd
PX5+KCtwW0U+PjNdKjY1NTM1LjApO2ZbYysxMj4+Ml09NjU1MzU7YT0wO2JyZWFrIGJ9Y2FzZSA0
Ont2UShqLGksZSxDLEQsRSk7cFtjPj4zXT0rcFtDPj4zXTtwW2MrOD4+M109K3BbRD4+M107cFtj
KzE2Pj4zXT0rcFtFPj4zXTtwW2MrMjQ+PjNdPTEuMDthPTA7YnJlYWsgYn1kZWZhdWx0OnthPTA7
YnJlYWsgYn19fX1nPXdRKHEpfDA7Zlt2Pj4yXT1nO2lmKCFnKWE9LTE7ZWxzZXthPWZbNDg0ODNd
fDA7aWYoISgoKGF8MCkhPTA/KHU9ZlthPj4yXXwwLChiW3U+PjBdfDApPT0oYltnPj4wXXwwKSk6
MCk/KEgkKHUsZyl8MCk9PTA6MCkpe2E9eTIodiwyMTEyMCwyNDkxLDEyLDEwMSl8MDtmWzQ4NDgz
XT1hO2lmKCFhKXN3aXRjaChkfDApe2Nhc2UgMDp7ZltjPj4yXT0wO2ZbYys0Pj4yXT0wO2ZbYys4
Pj4yXT0wO2ZbYysxMj4+Ml09MDtmW2MrMTY+PjJdPTA7ZltjKzIwPj4yXT0wO3BbYysyND4+M109
MS4wO2E9MTticmVhayBifWNhc2UgMTp7YltjKzI+PjBdPTA7YltjKzE+PjBdPTA7YltjPj4wXT0w
O2JbYyszPj4wXT0tMTthPTE7YnJlYWsgYn1jYXNlIDM6e2ZbYz4+Ml09MDthPTE7YnJlYWsgYn1j
YXNlIDI6e2ZbYys4Pj4yXT0wO2ZbYys0Pj4yXT0wO2ZbYz4+Ml09MDtmW2MrMTI+PjJdPTY1NTM1
O2E9MTticmVhayBifWNhc2UgNDp7ZltjPj4yXT0wO2ZbYys0Pj4yXT0wO2ZbYys4Pj4yXT0wO2Zb
YysxMj4+Ml09MDtmW2MrMTY+PjJdPTA7ZltjKzIwPj4yXT0wO3BbYysyND4+M109MS4wO2E9MTti
cmVhayBifWRlZmF1bHQ6e2E9MTticmVhayBifX19c3dpdGNoKGR8MCl7Y2FzZSAwOntwW2M+PjNd
PSsoaFthKzQ+PjBdfDApKi4wMDM5MjE1Njg2Mjc0NTA5ODtwW2MrOD4+M109KyhoW2ErNT4+MF18
MCkqLjAwMzkyMTU2ODYyNzQ1MDk4O3BbYysxNj4+M109KyhoW2ErNj4+MF18MCkqLjAwMzkyMTU2
ODYyNzQ1MDk4O3BbYysyND4+M109KyhoW2ErMTA+PjBdfDApKi4wMDM5MjE1Njg2Mjc0NTA5ODth
PTA7YnJlYWsgYn1jYXNlIDE6e2JbYz4+MF09YlthKzc+PjBdfDA7YltjKzE+PjBdPWJbYSs4Pj4w
XXwwO2JbYysyPj4wXT1iW2ErOT4+MF18MDtiW2MrMz4+MF09YlthKzEwPj4wXXwwO2E9MDticmVh
ayBifWNhc2UgMzp7aT0rKGhbYSs3Pj4wXXwwKSouMDAzOTIxNTY4NjI3NDUwOTg7cFtDPj4zXT1p
O2o9KyhoW2ErOD4+MF18MCkqLjAwMzkyMTU2ODYyNzQ1MDk4O3BbRD4+M109ajtHPSsoaFthKzk+
PjBdfDApKi4wMDM5MjE1Njg2Mjc0NTA5ODtwW0U+PjNdPUc7dVEoaSxqLEcseSx6LEEsQik7Yltj
Pj4wXT1+fitwW3k+PjNdKjI1NTtiW2MrMT4+MF09fn4rcFt6Pj4zXSoyNTU7YltjKzI+PjBdPX5+
K3BbQT4+M10qMjU1O2JbYyszPj4wXT1+fitwW0I+PjNdKjI1NTthPTA7YnJlYWsgYn1jYXNlIDI6
e2ZbYz4+Ml09KGhbYSs3Pj4wXXwwKSoyNTc7ZltjKzQ+PjJdPShoW2ErOD4+MF18MCkqMjU3O2Zb
Yys4Pj4yXT0oaFthKzk+PjBdfDApKjI1NztmW2MrMTI+PjJdPShoW2ErMTA+PjBdfDApKjI1Nzth
PTA7YnJlYWsgYn1jYXNlIDQ6e3BbYz4+M109KyhoW2ErNz4+MF18MCkqLjAwMzkyMTU2ODYyNzQ1
MDk4O3BbYys4Pj4zXT0rKGhbYSs4Pj4wXXwwKSouMDAzOTIxNTY4NjI3NDUwOTg7cFtjKzE2Pj4z
XT0rKGhbYSs5Pj4wXXwwKSouMDAzOTIxNTY4NjI3NDUwOTg7cFtjKzI0Pj4zXT0rKGhbYSsxMD4+
MF18MCkqLjAwMzkyMTU2ODYyNzQ1MDk4O2E9MDticmVhayBifWRlZmF1bHQ6e2E9MDticmVhayBi
fX19fXdoaWxlKDApO3Q9RjtyZXR1cm4gYXwwfWZ1bmN0aW9uIHRRKGEsYixjLGQsZSxmKXthPSth
O2I9K2I7Yz0rYztkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLjAsaD0wLjAsaT0wLjAsaj0wLjAs
az0wLjAsbD0wLjA7aD1iPGM/YjpjO2w9Yj5jP2I6YztsPWw8YT9hOmw7aD1sLShoPmE/YTpoKTtn
PWgvbDtpZihsPjAuMClpZihnPjAuMCl7aT0obC1hKS9oO2o9KGwtYikvaDtrPShsLWMpL2g7ZG8g
aWYoIShsPT1hKSl7aWYobD09Yil7YT1pKzIuMC1rO2JyZWFrfWlmKGw9PWMpYT1qKzQuMC1pO2Vs
c2UgYT0wLjB9ZWxzZSBhPShiLWMpL2g7d2hpbGUoMCk7YT1hKjYwLjA7aWYoYTwwLjApYT1hKzM2
MC4wfWVsc2UgYT0wLjA7ZWxzZXtnPTAuMDthPTAuMH1wW2Q+PjNdPWEqLjAwMjc3Nzc3Nzc3Nzc3
Nzc3ODtwW2Y+PjNdPWw7cFtlPj4zXT1nO3JldHVybn1mdW5jdGlvbiB1UShhLGIsYyxkLGUsZixn
KXthPSthO2I9K2I7Yz0rYztkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtwW2Q+PjNdPTEuMC1hO3Bb
ZT4+M109MS4wLWI7cFtmPj4zXT0xLjAtYztiPStwW2Q+PjNdO2M9K3BbZT4+M107Yz1iPGM/Yjpj
O3BbZz4+M109YztiPStwW2Y+PjNdO2M9YjxjP2I6YztwW2c+PjNdPWM7cFtkPj4zXT0rcFtkPj4z
XS1jO3BbZT4+M109K3BbZT4+M10tK3BbZz4+M107cFtmPj4zXT0rcFtmPj4zXS0rcFtnPj4zXTty
ZXR1cm59ZnVuY3Rpb24gdlEoYSxiLGMsZCxlLGYpe2E9K2E7Yj0rYjtjPStjO2Q9ZHwwO2U9ZXww
O2Y9ZnwwO3ZhciBnPTAuMCxoPTAuMCxpPTAuMCxqPTAsaz0wO2E6ZG8gaWYoIShiPD0wLjApKXto
PSEoYT49MS4wKT9hKjYuMDowLjA7az1+fmg7aD1oLSsoa3wwKTthPSgxLjAtYikqYztpPSgxLjAt
aCpiKSpjO2I9KDEuMC0oMS4wLWgpKmIpKmM7c3dpdGNoKGt8MCl7Y2FzZSAwOntnPWE7aD1iO2E9
YztqPTg7YnJlYWsgYX1jYXNlIDE6e2c9YTtoPWM7YT1pO2o9ODticmVhayBhfWNhc2UgMjp7Zz1i
O2g9YztqPTg7YnJlYWsgYX1jYXNlIDM6e2c9YztoPWk7aj04O2JyZWFrIGF9Y2FzZSA0OntnPWM7
aD1hO2E9YjtqPTg7YnJlYWsgYX1jYXNlIDU6e2c9aTtoPWE7YT1jO2o9ODticmVhayBhfWRlZmF1
bHQ6YnJlYWsgYX19ZWxzZXtnPWM7aD1jO2E9YztqPTh9d2hpbGUoMCk7aWYoKGp8MCk9PTgpe3Bb
ZD4+M109YTtwW2U+PjNdPWg7cFtmPj4zXT1nfXJldHVybn1mdW5jdGlvbiB3UShhKXthPWF8MDt2
YXIgYz0wLGQ9MDtjPWJbYT4+MF18MDtpZigoKGM8PDI0Pj4yNCE9OTg/KGQ9YSsxfDAsIShjPDwy
ND4+MjQ9PTExOXwoYSQoZCwxNDU1MzYsNCl8MCk9PTApKTowKT8hKGM8PDI0Pj4yND09MTA4fChh
JChkLDE0NTU0MSw0KXwwKT09MCk6MCk/KGEkKGQsMTQ1NTQ2LDgpfDApIT0wOjApe2RvIGlmKGM8
PDI0Pj4yND09NDcpe2M9eDEoZCw0Nyl8MDtpZighYylhPWQ7ZWxzZXtpZigoYltkPj4wXXwwKSE9
NDcpe2Q9KGEzKDE0NTU1NSxkLDQpfDApPT0wO2E9ZD9jKzF8MDphO2JyZWFrfWM9Zls0ODQ4NF18
MDtpZigoY3wwP2JbYz4+MF18MDowKT9hMygxNDU1NTUsYywzKXwwOjApe2E9eVEoYyxhKzJ8MCl8
MDticmVha31hPWErMnwwfX1lbHNle2M9Zls0ODQ4NF18MDtpZigoKGN8MCkhPTA/KGJbYz4+MF18
MCkhPTA6MCk/KGEzKDE0NTU1NSxjLDMpfDApIT0wOjApYT15UShjLGEpfDB9d2hpbGUoMCk7YT1y
UShhKXwwfXJldHVybiBhfDB9ZnVuY3Rpb24geFEoYSxiKXthPWF8MDtiPWJ8MDtyZXR1cm4gYjMo
ZlthPj4yXXwwLGZbYj4+Ml18MCl8MH1mdW5jdGlvbiB5UShhLGIpe2E9YXwwO2I9YnwwO3ZhciBj
PTAsZD0wLGU9MCxnPTA7ZT10O3Q9dCsxNnwwO2Q9ZTtnPWMwKGEpfDA7Zz0oYzAoYil8MCkrZ3ww
O2M9ZysxM3wwO2lmKChnKzN8MCk+Pj4wPChmWzQ4NDg1XXwwKT4+PjApYz1mWzQ4NDg2XXwwO2Vs
c2V7Zls0ODQ4NV09YztjPUdIKGZbNDg0ODZdfDAsYyl8MDtmWzQ4NDg2XT1jfWZbZD4+Ml09YTtm
W2QrND4+Ml09YjtkJChjLDE0NTU2MCxkKXwwO3Q9ZTtyZXR1cm4gZls0ODQ4Nl18MH1mdW5jdGlv
biB6UShhKXthPWF8MDtmWzQ4NDg0XT1hO3JldHVybn1mdW5jdGlvbiBBUShhLGIsYyxkLGUpe2E9
YXwwO2I9K2I7Yz0rYztkPStkO2U9K2U7dmFyIGY9MCxnPTA7Zj10O3Q9dCsyMDh8MDtnPWY7QlEo
ZywrcFthPj4zXSwrcFthKzg+PjNdLGIsYyxkLGUpO2E9Q1EoZyl8MDt0PWY7cmV0dXJuIGF8MH1m
dW5jdGlvbiBCUShhLGIsYyxkLGUsZixnKXthPWF8MDtiPStiO2M9K2M7ZD0rZDtlPStlO2Y9K2Y7
Zz0rZzt2YXIgaD0wLGk9MCxqPTA7cFthPj4zXT1iO3BbYSs4Pj4zXT1jO2k9YSsxNnwwO3BbaT4+
M109ZDtoPWErMjR8MDtwW2g+PjNdPWU7cFthKzMyPj4zXT0wLjA7Yz0rUigrKCtNKCtmKS9lKSwr
KCtMKCtmKS9kKSk7cFthKzU2Pj4zXT1jO2U9K1IoKygrTSgrZykvZSksKygrTCgrZykvZCkpO2o9
YSs2NHwwO3Bbaj4+M109ZTtwW2ErNDA+PjNdPTEuMDtwW2ErNDg+PjNdPTAuMDtlPWUtK0goKygo
ZS1jKSouMTU5MTU0OTQzMDkxODk1MzUpKSo2LjI4MzE4NTMwNzE3OTU4NjtwW2o+PjNdPWctZj4z
LjE0MTU5MjY1MzU4OTc5MyZlLWM8My4xNDE1OTI2NTM1ODk3OTM/ZSs2LjI4MzE4NTMwNzE3OTU4
NjplO0lRKGEpO0pRKGEpO0tRKGEpO2c9K3BbaT4+M107Zz0oZy0rcFtoPj4zXSkvZztwW2ErMTY4
Pj4zXT1nO3BbYSsxNzY+PjNdPSgyLjAtZykqZztnPTEuMC1nO3BbYSsxODQ+PjNdPWc7cFthKzE5
Mj4+M109ZypnO3JldHVybn1mdW5jdGlvbiBDUShhKXthPWF8MDt2YXIgYj0wLGM9MC4wLGQ9MCxl
PTAuMCxmPTAuMCxnPTAuMCxoPTAuMCxpPTAsaj0wLGs9MCxsPTAsbT0wLjAsbj0wLjAsbz0wLHE9
MCxyPTAuMCxzPTAuMCx0PTAuMCx1PTAuMCx2PTAuMCx3PTAuMCx4PTAuMCx5PTAuMCx6PTAuMDtx
PURIKDgpfDA7Zj0rcFthKzU2Pj4zXTtlPStwW2ErNjQ+PjNdLWY7bz0xO2I9MDt3aGlsZSgxKXtu
PWUvKyhvfDApO2lmKCEoYjw8MjQ+PjI0PT0wJihvfDApPDEwMjQpKWJyZWFrO2E6ZG8gaWYoIShu
PD0xLjU3MDc5NjMyNjc5NDg5NjYpKWI9MDtlbHNle2M9ZjtkPTA7Yj0xO3doaWxlKDEpe2lmKCEo
Yjw8MjQ+PjI0IT0wJihkfDApPChvfDApKSlicmVhayBhO209YytuO2I9K0RRKGEsYyxtKTw9MS4w
ZS0wNSYxO2M9bTtkPWQrMXwwfX13aGlsZSgwKTtvPW88PDF9aD0rTCgrZik7dT0rTSgrZik7ZD1h
KzE2fDA7cz0rcFtkPj4zXTt2PXMqaDtpPWErMjR8MDtjPStwW2k+PjNdO2c9Yyp1O2g9YypoO2M9
K3BbYT4+M107aj1hKzQwfDA7dD0rcFtqPj4zXTtrPWErNDh8MDtyPStwW2s+PjNdO2U9dCp2K2Mt
cipnO2w9YSs4fDA7bT0rcFtsPj4zXTtnPXIqdit0KmcrbTtzPS0odSpzKTtFUShxLGMsbSk7RlEo
cSxlLGcpO209K04oKyhuKi41KSk7bT0rTSgrbikqLjMzMzMzMzMzMzMzMzMzMzMqKCtKKCsobSpt
KjMuMCs0LjApKSstMS4wKTtjPWY7Zj1nO2c9cipzK3QqaDtoPXQqcy1yKmg7Yj0wO3doaWxlKDEp
e2lmKChifDApPj0ob3wwKSlicmVhaztyPWMrbjt1PStMKCtyKTt2PStNKCtyKTt4PStwW2Q+PjNd
O3o9eCp1O3c9K3BbaT4+M107dD13KnY7dT13KnU7dz0rcFtqPj4zXTt5PStwW2s+PjNdO3M9dyp6
KyArcFthPj4zXS15KnQ7dD15Knordyp0KyArcFtsPj4zXTt4PS0odip4KTt2PXcqeC15KnU7dT15
Kngrdyp1O0dRKHEsZStoKm0sZitnKm0scy12Km0sdC11Km0scyx0KTtjPXI7ZT1zO2Y9dDtnPXU7
aD12O2I9YisxfDB9SFEocSk7cmV0dXJuIHF8MH1mdW5jdGlvbiBEUShhLGIsYyl7YT1hfDA7Yj0r
YjtjPStjO3ZhciBkPTAuMCxlPTAuMCxmPTAuMCxnPTAuMCxoPTAuMDtkPWMrYjtoPStwW2ErMTY+
PjNdO2U9K3BbYSsyND4+M10vaDtnPStMKCtkKTtmPStMKCsoZCoyLjApKTtkPStMKCsoZCozLjAp
KTthPWU8LjI1PzUxMDI0OjUxMjgwO3JldHVybiArKCgoZSouMDAxKzQuOTgpKmUrLjIwNykvKGUr
LjAwNjcpKmgqK1MoKygoKCtwW2ErMzI+PjNdKmUrICtwW2ErNDA+PjNdKSplKyArcFthKzQ4Pj4z
XSkvKCtwW2ErNTY+PjNdK2UpKmcrKChlKitwW2E+PjNdKyArcFthKzg+PjNdKSplKyArcFthKzE2
Pj4zXSkvKCtwW2ErMjQ+PjNdK2UpKygoK3BbYSs2ND4+M10qZSsgK3BbYSs3Mj4+M10pKmUrICtw
W2ErODA+PjNdKS8oK3BbYSs4OD4+M10rZSkqZisoKCtwW2ErOTY+PjNdKmUrICtwW2ErMTA0Pj4z
XSkqZSsgK3BbYSsxMTI+PjNdKS8oK3BbYSsxMjA+PjNdK2UpKmQrKCgoK3BbYSsxNjA+PjNdKmUr
ICtwW2ErMTY4Pj4zXSkqZSsgK3BbYSsxNzY+PjNdKS8oK3BbYSsxODQ+PjNdK2UpKmcrKCgrcFth
KzEyOD4+M10qZSsgK3BbYSsxMzY+PjNdKSplKyArcFthKzE0ND4+M10pLygrcFthKzE1Mj4+M10r
ZSkrKCgrcFthKzE5Mj4+M10qZSsgK3BbYSsyMDA+PjNdKSplKyArcFthKzIwOD4+M10pLygrcFth
KzIxNj4+M10rZSkqZisoKCtwW2ErMjI0Pj4zXSplKyArcFthKzIzMj4+M10pKmUrICtwW2ErMjQw
Pj4zXSkvKCtwW2ErMjQ4Pj4zXStlKSpkKSooYy1iKSkpKX1mdW5jdGlvbiBFUShhLGIsYyl7YT1h
fDA7Yj0rYjtjPStjO3ZhciBkPTA7Zls0ODQ4N109MTAwO2Q9REgoMTYwMCl8MDtmW2E+PjJdPWQ7
cFtkPj4zXT1iO3BbZCs4Pj4zXT1jO2ZbYSs0Pj4yXT0xO3JldHVybn1mdW5jdGlvbiBGUShhLGIs
Yyl7YT1hfDA7Yj0rYjtjPStjO3ZhciBkPTAsZT0wO2U9ZlthPj4yXXwwO2Q9KGZbYSs0Pj4yXXww
KSstMXwwO0dRKGEsK3BbZSsoZDw8NCk+PjNdLCtwW2UrKGQ8PDQpKzg+PjNdLGIsYyxiLGMpO3Jl
dHVybn1mdW5jdGlvbiBHUShhLGIsYyxkLGUsZyxoKXthPWF8MDtiPStiO2M9K2M7ZD0rZDtlPStl
O2c9K2c7aD0raDt2YXIgaT0wLGo9MCxrPTAsbD0wLG09MDtsPWErNHwwO2k9ZltsPj4yXXwwO2s9
aSszfDA7aj1mWzQ4NDg3XXwwO2lmKChrfDApPChqfDApKWo9ZlthPj4yXXwwO2Vsc2V7Zls0ODQ4
N109ajw8MTtqPU9fKGZbYT4+Ml18MCxqPDw1KXwwO2ZbYT4+Ml09ajtpPWZbbD4+Ml18MDtrPWkr
M3wwfXBbaisoaTw8NCk+PjNdPWI7bT1pKzF8MDtwW2orKGk8PDQpKzg+PjNdPWM7cFtqKyhtPDw0
KT4+M109ZDthPWkrMnwwO3BbaisobTw8NCkrOD4+M109ZTtwW2orKGE8PDQpPj4zXT1nO2ZbbD4+
Ml09aztwW2orKGE8PDQpKzg+PjNdPWg7cmV0dXJufWZ1bmN0aW9uIEhRKGEpe2E9YXwwO3ZhciBi
PTA7Yj1mW2E+PjJdfDA7RlEoYSwrcFtiPj4zXSwrcFtiKzg+PjNdKTtiPU9fKGZbYT4+Ml18MCxm
W2ErND4+Ml08PDQpfDA7ZlthPj4yXT1iO2ZbNDg0ODddPTA7cmV0dXJufWZ1bmN0aW9uIElRKGEp
e2E9YXwwO3ZhciBiPTAuMCxjPTAuMCxkPTAuMCxlPTAuMDtlPStwW2ErMTY+PjNdO2I9K3BbYSsy
ND4+M107Yj0rSigrKGUqZS1iKmIpKTtlPWIqK3BbYSs0MD4+M107Yj1iKitwW2ErNDg+PjNdO2Q9
K3BbYT4+M107cFthKzEwND4+M109ZC1lO2M9K3BbYSs4Pj4zXTtwW2ErMTEyPj4zXT1jLWI7cFth
KzEyMD4+M109ZStkO3BbYSsxMjg+PjNdPWMrYjtyZXR1cm59ZnVuY3Rpb24gSlEoYSl7YT1hfDA7
dmFyIGI9MC4wLGM9MC4wLGQ9MC4wLGU9MC4wLGY9MC4wLGc9MC4wLGg9MC4wLGk9MC4wO2U9K3Bb
YSsxNj4+M107aD0rcFthKzU2Pj4zXTtpPStMKCtoKSplO2Q9K3BbYSsyND4+M107aD1kKitNKCto
KTtnPStwW2ErNjQ+PjNdO2U9K0woK2cpKmU7ZD0rTSgrZykqZDtnPStwW2E+PjNdO2M9K3BbYSs0
MD4+M107Zj0rcFthKzQ4Pj4zXTtwW2ErNzI+PjNdPWMqaStnLWYqaDtiPStwW2ErOD4+M107cFth
KzgwPj4zXT1mKmkrYypoK2I7cFthKzg4Pj4zXT1lKmMrZy1mKmQ7cFthKzk2Pj4zXT1mKmUrZCpj
K2I7cmV0dXJufWZ1bmN0aW9uIEtRKGEpe2E9YXwwO3ZhciBiPTAuMCxjPTAuMCxkPTAuMCxlPTAu
MCxmPTAuMCxnPTAuMCxoPTAuMCxpPTAuMCxqPTAuMCxrPTAuMCxsPTAuMCxtPTA7aj0rcFthKzI0
Pj4zXTtrPStwW2ErMTY+PjNdO2U9ai9rO2w9K3BbYSs0OD4+M107bT0rSSgrbCk8LjE7aT0rcFth
KzQwPj4zXTtkbyBpZihtKXtiPWwvaTtjPStRKCsoYiplKSk7ZD0tYztpZihpPDAuMCl7Yj0rUSgr
KGIvZSkpO2U9ZDtkPTMuMTQxNTkyNjUzNTg5NzkzLWM7Yz00LjcxMjM4ODk4MDM4NDY5LWI7Yj0x
LjU3MDc5NjMyNjc5NDg5NjYtYjticmVha31lbHNle2I9K1EoKyhiL2UpKTtlPS0zLjE0MTU5MjY1
MzU4OTc5My1jO2M9MS41NzA3OTYzMjY3OTQ4OTY2LWI7Yj0tMS41NzA3OTYzMjY3OTQ4OTY2LWI7
YnJlYWt9fWVsc2V7Yj1pL2w7Yz0rUSgrKGIvZSkpO2Q9YysxLjU3MDc5NjMyNjc5NDg5NjY7aWYo
bDwwLjApe2I9K1EoKyhiKmUpKTtlPWMrLTEuNTcwNzk2MzI2Nzk0ODk2NjtjPWIrMy4xNDE1OTI2
NTM1ODk3OTM7YnJlYWt9ZWxzZXtiPStRKCsoYiplKSk7ZT1kO2Q9Yys0LjcxMjM4ODk4MDM4NDY5
O2M9YjtiPWIrLTMuMTQxNTkyNjUzNTg5NzkzO2JyZWFrfX13aGlsZSgwKTtnPStwW2ErNTY+PjNd
O2U9ZS0rSCgrKChlLWcpKi4xNTkxNTQ5NDMwOTE4OTUzNSkpKjYuMjgzMTg1MzA3MTc5NTg2O2I9
Yi0rSCgrKChiLWcpKi4xNTkxNTQ5NDMwOTE4OTUzNSkpKjYuMjgzMTg1MzA3MTc5NTg2O2Y9ZC0r
SCgrKChkLWcpKi4xNTkxNTQ5NDMwOTE4OTUzNSkpKjYuMjgzMTg1MzA3MTc5NTg2O2c9Yy0rSCgr
KChjLWcpKi4xNTkxNTQ5NDMwOTE4OTUzNSkpKjYuMjgzMTg1MzA3MTc5NTg2O2g9K3BbYSs2ND4+
M107aWYoIShlPD1oKSl7ZT0rcFthKzcyPj4zXTtjPStwW2ErODg+PjNdO2M9ZTxjP2U6Y31lbHNl
IGM9aSprKitMKCtlKS1sKmoqK00oK2UpKyArcFthPj4zXTtwW2ErMTM2Pj4zXT1jO2lmKCEoYjw9
aCkpe2U9K3BbYSs4MD4+M107ZD0rcFthKzk2Pj4zXTtkPWU8ZD9lOmR9ZWxzZSBkPWkqaiorTSgr
YikrbCprKitMKCtiKSsgK3BbYSs4Pj4zXTtwW2ErMTQ0Pj4zXT1kO2lmKCEoZjw9aCkpe2Y9K3Bb
YSs3Mj4+M107Yj0rcFthKzg4Pj4zXTtiPWY+Yj9mOmJ9ZWxzZSBiPWkqayorTCgrZiktbCpqKitN
KCtmKSsgK3BbYT4+M107cFthKzE1Mj4+M109Yi1jO2lmKCEoZzw9aCkpe2w9K3BbYSs4MD4+M107
Yj0rcFthKzk2Pj4zXTtiPWw+Yj9sOmJ9ZWxzZSBiPWkqaiorTSgrZykrbCprKitMKCtnKSsgK3Bb
YSs4Pj4zXTtwW2ErMTYwPj4zXT1iLWQ7cmV0dXJufWZ1bmN0aW9uIExRKGEsYyxkKXthPWF8MDtj
PWN8MDtkPWR8MDt2YXIgZT0wLGc9MC4wLGg9MC4wLGk9MCxqPTAsaz0wLjAsbD0wLG09MCxuPTAu
MDttPXQ7dD10KzgwfDA7bD1tO01RKGEpO2s9K3BbZCs1Nj4+M107Zz0rcFtkKzY0Pj4zXTtzd2l0
Y2goYltkKzgwPj4wXXwwKXtjYXNlIDExNjp7aD0uNTtlPTM7YnJlYWt9Y2FzZSA5ODp7aD0tLjU7
ZT0zO2JyZWFrfWRlZmF1bHQ6e319aWYoKGV8MCk9PTMpe249K3BbZCs0OD4+M107Zz1nKy0xLjAr
KG4tK05RKGMpKSpofXBbbD4+M109aztwW2wrOD4+M109ZztmW2wrMjA+PjJdPWZbZCs4Pj4yXTtm
W2wrMTY+PjJdPWZbZCs0Pj4yXTtwW2wrMzI+PjNdPStwW2QrMTY+PjNdO2o9YSsxNnwwO2U9R3go
ZlsoZltqPj4yXXwwKSs4Pj4yXXwwLDE0NTU2Nyl8MDtkPWwrNTZ8MDtmW2Q+PjJdPWU7aT1sKzYw
fDA7ZltpPj4yXT1mWyhmW2o+PjJdfDApKzIxMj4+Ml07aj1sKzY0fDA7YltqPj4wXT0wO2lmKCEo
KGV8MCkhPTA/KGJbZT4+MF18MCkhPTA6MCkpZltkPj4yXT0xNDU1Nzg7aWYoKGJbYys0Pj4wXXww
KT09MSl7ZD1mW2M+PjJdfDA7ZlAoYSxmWyhmW2E+PjJdfDApKzMzNj4+Ml18MCk7ZT1mW2QrMjQ+
PjJdfDA7aWYoIWUpYlAoYSwxNDU1ODQpO2Vsc2UgYlAoYSxlKTtQUShhLGQsbCk7aWYoYltqPj4w
XXwwKU1fKGZbaT4+Ml18MCl9ZWxzZSBPUShhLGZbYz4+Ml18MCxsKTtRUShhKTt0PW07cmV0dXJu
fWZ1bmN0aW9uIE1RKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGU9MDtiPVdFKGEpfDA7Yz1mW2I+PjJd
fDA7YT1mW2MrND4+Ml18MDtmW2IrND4+Ml09YTtmW2IrMTI+PjJdPWZbYysxMj4+Ml07c3dpdGNo
KGF8MCl7Y2FzZSAyOnthPWMrOHwwO2U9NjticmVha31jYXNlIDA6e2E9Yys4fDA7ZT02O2JyZWFr
fWNhc2UgMTp7YT1jKzh8MDtlPTY7YnJlYWt9Y2FzZSAzOnthPWMrOHwwO2U9NjticmVha31kZWZh
dWx0Ont9fWlmKChlfDApPT02KWZbYis4Pj4yXT1mW2E+PjJdO2ZbYisyMDg+PjJdPWZbYysyMDg+
PjJdO2ZbYisyMjg+PjJdPWZbYysyMjg+PjJdO2ZbYisyNDQ+PjJdPWZbYysyNDQ+PjJdO2U9Yisy
NjB8MDtkW2U+PjFdPWRbZT4+MV0mLTJ8ZFtjKzI2MD4+MV0mMTtyZXR1cm59ZnVuY3Rpb24gTlEo
YSl7YT1hfDA7dmFyIGM9MC4wLGQ9MCxlPTA7c3dpdGNoKGJbYSs0Pj4wXXwwKXtjYXNlIDE6e2Q9
ZlthPj4yXXwwO2E9ZCs3MnwwO2Q9ZCs1NnwwO2U9NTticmVha31jYXNlIDM6e2Q9ZlthPj4yXXww
O2E9ZCsyNHwwO2Q9ZCs4fDA7ZT01O2JyZWFrfWNhc2UgMjp7ZD1mW2E+PjJdfDA7YT1kKzMyfDA7
ZD1kKzE2fDA7ZT01O2JyZWFrfWRlZmF1bHQ6Yz0wLjB9aWYoKGV8MCk9PTUpYz0rcFthPj4zXS0r
cFtkPj4zXTtyZXR1cm4gK2N9ZnVuY3Rpb24gT1EoYSxjLGUpe2E9YXwwO2M9Y3wwO2U9ZXwwO3Zh
ciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAuMCxuPTAuMCxvPTAscT0wLHI9MDtsPXQ7dD10
Kzk2fDA7aT1sKzY0fDA7aD1sKzMyfDA7Zz1sKzE2fDA7aj1sO2s9ZFtjKzQ+PjFdfDA7aWYoazw8
MTY+PjE2Pj0xKXtxPWMrOHwwO249K3BbYysyND4+M107bT0rcFtxPj4zXTtwW2o+PjNdPShtK24p
Ki41KyArcFtlPj4zXTtwW2orOD4+M109KCtwW2MrMTY+PjNdKyArcFtjKzMyPj4zXSkqLjUrICtw
W2UrOD4+M107bz1mW2M+PjJdfDA7cj1lKzE2fDA7ZT1iW2MrNj4+MF18MDtmW2c+PjJdPWZbaj4+
Ml07ZltnKzQ+PjJdPWZbais0Pj4yXTtmW2crOD4+Ml09ZltqKzg+PjJdO2ZbZysxMj4+Ml09Zltq
KzEyPj4yXTtmW2g+PjJdPWZbcj4+Ml07ZltoKzQ+PjJdPWZbcis0Pj4yXTtmW2grOD4+Ml09Zlty
Kzg+PjJdO2ZbaCsxMj4+Ml09ZltyKzEyPj4yXTtmW2grMTY+PjJdPWZbcisxNj4+Ml07ZltoKzIw
Pj4yXT1mW3IrMjA+PjJdO2ZbaCsyND4+Ml09ZltyKzI0Pj4yXTtmW2grMjg+PjJdPWZbcisyOD4+
Ml07ZltpPj4yXT1mW3E+PjJdO2ZbaSs0Pj4yXT1mW3ErND4+Ml07ZltpKzg+PjJdPWZbcSs4Pj4y
XTtmW2krMTI+PjJdPWZbcSsxMj4+Ml07ZltpKzE2Pj4yXT1mW3ErMTY+PjJdO2ZbaSsyMD4+Ml09
ZltxKzIwPj4yXTtmW2krMjQ+PjJdPWZbcSsyND4+Ml07ZltpKzI4Pj4yXT1mW3ErMjg+PjJdO2FS
KGEsazw8MTY+PjE2LG8sZywobi1tKSouNSxoLGksZSl9dD1sO3JldHVybn1mdW5jdGlvbiBQUShh
LGMsZSl7YT1hfDA7Yz1jfDA7ZT1lfDA7dmFyIGc9MCxpPTAsaj0wLGs9MC4wLGw9MC4wLG09MCxu
PTAsbz0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTA7eT10O3Q9dCsxNzZ8MDtzPXkr
OTZ8MDt2PXkrNjR8MDt3PXkrMTM2fDA7bj15O289eSsxMjh8MDtxPWMrNDh8MDtmW3Y+PjJdPWZb
cT4+Ml07Zlt2KzQ+PjJdPWZbcSs0Pj4yXTtmW3YrOD4+Ml09ZltxKzg+PjJdO2ZbdisxMj4+Ml09
ZltxKzEyPj4yXTtmW3YrMTY+PjJdPWZbcSsxNj4+Ml07Zlt2KzIwPj4yXT1mW3ErMjA+PjJdO2Zb
disyND4+Ml09ZltxKzI0Pj4yXTtmW3YrMjg+PjJdPWZbcSsyOD4+Ml07az0rcFtlPj4zXTtsPStw
W2UrOD4+M107cT1jKzg0fDA7Zz1mW3E+PjJdfDA7aWYoIShmW2M+PjJdfDApKXg9KGZbYys4Pj4y
XXwwKSE9MDtlbHNlIHg9MTt1PWMrMTA4fDA7aT1mW3U+PjJdfDA7aWYoaXwwKVJRKGUsaSwxOTIz
NjgpO3Bbdj4+M109K3Bbdj4+M10raztyPXYrMTZ8MDtwW3I+PjNdPStwW3I+PjNdK2s7cj12Kzh8
MDtwW3I+PjNdPStwW3I+PjNdK2w7cj12KzI0fDA7cFtyPj4zXT0rcFtyPj4zXStsO2lmKHg/KGZb
YSsxNTI+PjJdJjR8MCk9PTA6MCl7ZltzPj4yXT1mW3Y+PjJdO2Zbcys0Pj4yXT1mW3YrND4+Ml07
ZltzKzg+PjJdPWZbdis4Pj4yXTtmW3MrMTI+PjJdPWZbdisxMj4+Ml07ZltzKzE2Pj4yXT1mW3Yr
MTY+PjJdO2ZbcysyMD4+Ml09Zlt2KzIwPj4yXTtmW3MrMjQ+PjJdPWZbdisyND4+Ml07ZltzKzI4
Pj4yXT1mW3YrMjg+PjJdO3I9U1EoYSxlLGMscyx3KXwwfWVsc2Ugcj0wO209Yys0MnwwO2k9ZFtt
Pj4xXXwwO2lmKCEoaSYzMikpe2o9ZltjKzIwPj4yXXwwO2lmKGp8MCl7aT1UUShhLGosZltjKzI4
Pj4yXXwwLGkmNjU1MzUsbyl8MDtpZighKGRbbT4+MV0mNCkpe2Zbcz4+Ml09Zlt2Pj4yXTtmW3Mr
ND4+Ml09Zlt2KzQ+PjJdO2Zbcys4Pj4yXT1mW3YrOD4+Ml07ZltzKzEyPj4yXT1mW3YrMTI+PjJd
O2ZbcysxNj4+Ml09Zlt2KzE2Pj4yXTtmW3MrMjA+PjJdPWZbdisyMD4+Ml07ZltzKzI0Pj4yXT1m
W3YrMjQ+PjJdO2ZbcysyOD4+Ml09Zlt2KzI4Pj4yXTtpUChhLHMsaSl9ZWxzZXttPWhbYyszMz4+
MF18MDtmW3M+PjJdPWZbdj4+Ml07ZltzKzQ+PjJdPWZbdis0Pj4yXTtmW3MrOD4+Ml09Zlt2Kzg+
PjJdO2ZbcysxMj4+Ml09Zlt2KzEyPj4yXTtmW3MrMTY+PjJdPWZbdisxNj4+Ml07ZltzKzIwPj4y
XT1mW3YrMjA+PjJdO2ZbcysyND4+Ml09Zlt2KzI0Pj4yXTtmW3MrMjg+PjJdPWZbdisyOD4+Ml07
TkooYSxVUShuLHMsbSl8MCw0LDQsaSl9TV8oZltvPj4yXXwwKX13aGlsZSgxKXtpPWZbZz4+Ml18
MDtpZighaSlicmVhaztWUShhLGksZSk7Zz1nKzR8MH1nPWZbcT4+Ml18MDtvUChhLDEuMCk7aT1j
KzI0fDA7d2hpbGUoMSl7aj1nKzR8MDtnPWZbZz4+Ml18MDtpZighZylicmVhaztpZihiW2crMTAw
Pj4wXXwwKVdRKGEsZyxlLGZbaT4+Ml18MCxmW2o+PjJdfDApO2c9an1pZihiW2MrMzM+PjBdfDAp
e2Zbcz4+Ml09Zlt2Pj4yXTtmW3MrND4+Ml09Zlt2KzQ+PjJdO2Zbcys4Pj4yXT1mW3YrOD4+Ml07
ZltzKzEyPj4yXT1mW3YrMTI+PjJdO2ZbcysxNj4+Ml09Zlt2KzE2Pj4yXTtmW3MrMjA+PjJdPWZb
disyMD4+Ml07ZltzKzI0Pj4yXT1mW3YrMjQ+PjJdO2ZbcysyOD4+Ml09Zlt2KzI4Pj4yXTtYUShh
LGMscyl9fWlmKHJ8MClZUShhLHcpO2lmKCh4P2ZbYSsxNTI+PjJdJjR8MDowKT8oZltzPj4yXT1m
W3Y+PjJdLGZbcys0Pj4yXT1mW3YrND4+Ml0sZltzKzg+PjJdPWZbdis4Pj4yXSxmW3MrMTI+PjJd
PWZbdisxMj4+Ml0sZltzKzE2Pj4yXT1mW3YrMTY+PjJdLGZbcysyMD4+Ml09Zlt2KzIwPj4yXSxm
W3MrMjQ+PjJdPWZbdisyND4+Ml0sZltzKzI4Pj4yXT1mW3YrMjg+PjJdLFNRKGEsZSxjLHMsdyl8
MCk6MClZUShhLHcpO2lmKGZbdT4+Ml18MClaUShlLDE5MjM2OCk7dD15O3JldHVybn1mdW5jdGlv
biBRUShhKXthPWF8MDt2YXIgYj0wO2I9ZlthKzE2Pj4yXXwwO2ZbYisyMDg+PjJdPTA7ZltiKzIy
OD4+Ml09MDtmW2IrMjQ0Pj4yXT0wO2ZbYisyMTI+PjJdPTA7WEUoYSk7cmV0dXJufWZ1bmN0aW9u
IFJRKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLjAsaT0wO2Q9
YSsxNnwwO2U9ZltkPj4yXXwwO2RvIGlmKGV8MClpZighKGZbYj4+Ml18MCkpe2ZbYz4+Ml09MDti
cmVha31lbHNle2ZbYz4+Ml09ZTtmW2Q+PjJdPWZbYj4+Ml07YnJlYWt9d2hpbGUoMCk7aT1hKzIw
fDA7ZD1mW2k+PjJdfDA7ZG8gaWYoZHwwKXtlPWIrNHwwO2c9Yys0fDA7aWYoIShmW2U+PjJdfDAp
KXtmW2c+PjJdPTA7YnJlYWt9ZWxzZXtmW2c+PjJdPWQ7ZltpPj4yXT1mW2U+PjJdO2JyZWFrfX13
aGlsZSgwKTtnPWErMzJ8MDtoPStwW2c+PjNdO2RvIGlmKGg+PTAuMCl7ZT1iKzE2fDA7ZD1jKzE2
fDA7aWYoISgrcFtlPj4zXT49MC4wKSl7cFtkPj4zXT0tMS4wO2JyZWFrfWVsc2V7cFtkPj4zXT1o
O3BbZz4+M109K3BbZT4+M107YnJlYWt9fXdoaWxlKDApO3JldHVybn1mdW5jdGlvbiBTUShhLGMs
ZSxnLGgpe2E9YXwwO2M9Y3wwO2U9ZXwwO2c9Z3wwO2g9aHwwO3ZhciBpPTAsaj0wLGs9MCxsPTAs
bT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHU9MDt1PXQ7dD10KzIyNHwwO209dSsxNjh8MDtr
PXUrMTYwfDA7cz11KzIwMHwwO2o9dSsxMjh8MDtpPXU7bD1mW2ErMTY+PjJdfDA7bj1sKzIwOHww
O2ZbaD4+Ml09ZltuPj4yXTtvPWwrMjI4fDA7ZltoKzQ+PjJdPWZbbz4+Ml07cD1sKzI0NHwwO2Zb
aCs4Pj4yXT1mW3A+PjJdO3E9bCsyMTJ8MDtmW2grMTI+PjJdPWZbcT4+Ml07cj1sKzI2MHwwO2Jb
aCsxNj4+MF09KGRbcj4+MV08PDE1JjY1NTM1KTw8MTY+PjE2Pj4xNTtoPWZbZSsxNj4+Ml18MDtp
ZigoaHwwKSE9MD8oYltoPj4wXXwwKSE9MDowKWk9MDtlbHNle2F4KHMsMTI4LGkpO2k9Yys2MHww
O2g9ZltpPj4yXXwwO2lmKCFoKXtoPXYyKFpFKGEsZltsKzg+PjJdfDAscyl8MCl8MDtmW2k+PjJd
PWg7YltjKzY0Pj4wXT0xfWR4KHMsaCl8MDtpPWZbNDg0ODhdfDA7Zls0ODQ4OF09aSsxO2Zbaz4+
Ml09aTtkJChqLDE0NTY2MSxrKXwwO2R4KHMsail8MDtpPXMrNHwwO2g9ZltpPj4yXXwwO2lmKGg+
Pj4wPj0oZltzKzg+PjJdfDApPj4+MCl7YngocywxKXwwO2g9ZltpPj4yXXwwfWJbaD4+MF09MDto
PWZbcz4+Ml18MDtmW2k+PjJdPWg7aT0xfWg9WUUoYSwwLGZbZT4+Ml18MCxmW2UrMTI+PjJdfDAs
ZltlKzg+PjJdfDAsaCxmW2wrOD4+Ml18MCl8MDtpZihpKWV4KHMpO2RvIGlmKGh8MCl7aWYoKGZb
bj4+Ml18MCk9PTA/KGRbcj4+MV0mMSk9PTA6MClicmVhaztmW20+PjJdPWZbZz4+Ml07ZlttKzQ+
PjJdPWZbZys0Pj4yXTtmW20rOD4+Ml09ZltnKzg+PjJdO2ZbbSsxMj4+Ml09ZltnKzEyPj4yXTtm
W20rMTY+PjJdPWZbZysxNj4+Ml07ZlttKzIwPj4yXT1mW2crMjA+PjJdO2ZbbSsyND4+Ml09Zltn
KzI0Pj4yXTtmW20rMjg+PjJdPWZbZysyOD4+Ml07ZUYoYSxtKTtZTyhhLGZbbj4+Ml18MCxmW28+
PjJdfDAsZltwPj4yXXwwLGZbcT4+Ml18MCl9d2hpbGUoMCk7dD11O3JldHVybiBofDB9ZnVuY3Rp
b24gVFEoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLjAs
aD0wLGk9MDtpPXQ7dD10KzE2fDA7aD1pO2lmKCEoKERHKGIsZSxoKXwwKTw8MjQ+PjI0KSl7ZFAo
YSxiKTtiPTF9ZWxzZXtkUChhLGZbZT4+Ml18MCk7Yj1mW2UrND4+Ml18MDtnPStuW2g+PjJdO2lm
KCFiKWVQKGEsMTQ1NTg0LGMsZyk7ZWxzZSBlUChhLGIsYyxnKTtiPWQ+Pj4xJjF8Mn1iUChhLDE0
NTY0OSk7dD1pO3JldHVybiBifDB9ZnVuY3Rpb24gVVEoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3ww
O3ZhciBkPTAsZT0wLjAsZz0wLjAsaD0wLjAsaT0wLjA7ZlthPj4yXT1mW2I+PjJdO2ZbYSs0Pj4y
XT1mW2IrND4+Ml07ZlthKzg+PjJdPWZbYis4Pj4yXTtmW2ErMTI+PjJdPWZbYisxMj4+Ml07ZD1h
KzMyfDA7Yj1iKzE2fDA7ZltkPj4yXT1mW2I+PjJdO2ZbZCs0Pj4yXT1mW2IrND4+Ml07ZltkKzg+
PjJdPWZbYis4Pj4yXTtmW2QrMTI+PjJdPWZbYisxMj4+Ml07aWYoKGN8MCk+MSl7aT0rKGN8MCkq
LjU7aD0rcFthPj4zXStpO3BbYT4+M109aDtjPWErOHwwO2c9K3BbYz4+M10raTtwW2M+PjNdPWc7
ZT0rcFtkPj4zXS1pO3BbZD4+M109ZTtkPWErNDB8MDtpPStwW2Q+PjNdLWk7cFtkPj4zXT1pfWVs
c2V7ZT0rcFtkPj4zXTtnPStwW2ErOD4+M107aD0rcFthPj4zXTtpPStwW2ErNDA+PjNdfXBbYSsx
Nj4+M109ZTtwW2ErMjQ+PjNdPWc7cFthKzQ4Pj4zXT1oO3BbYSs1Nj4+M109aTtyZXR1cm4gYXww
fWZ1bmN0aW9uIFZRKGEsYyxlKXthPWF8MDtjPWN8MDtlPWV8MDt2YXIgZz0wLGk9MC4wLGo9MC4w
LGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MCxzPTAsdT0wLHY9MDt2PXQ7dD10KzE3NnwwO3E9
dis5NnwwO3I9disxMzZ8MDtzPXYrNjR8MDtuPXY7bz12KzEyOHwwO3U9Yys0OHwwO2Zbcz4+Ml09
Zlt1Pj4yXTtmW3MrND4+Ml09Zlt1KzQ+PjJdO2Zbcys4Pj4yXT1mW3UrOD4+Ml07ZltzKzEyPj4y
XT1mW3UrMTI+PjJdO2ZbcysxNj4+Ml09Zlt1KzE2Pj4yXTtmW3MrMjA+PjJdPWZbdSsyMD4+Ml07
ZltzKzI0Pj4yXT1mW3UrMjQ+PjJdO2ZbcysyOD4+Ml09Zlt1KzI4Pj4yXTtpPStwW2U+PjNdO2o9
K3BbZSs4Pj4zXTtpZighKGZbYz4+Ml18MCkpdT0oZltjKzg+PjJdfDApIT0wO2Vsc2UgdT0xO3Bb
cz4+M109K3Bbcz4+M10raTttPXMrMTZ8MDtwW20+PjNdPStwW20+PjNdK2k7bT1zKzh8MDtwW20+
PjNdPStwW20+PjNdK2o7bT1zKzI0fDA7cFttPj4zXT0rcFttPj4zXStqO2lmKHU/KGZbYSsxNTI+
PjJdJjR8MCk9PTA6MCl7ZltxPj4yXT1mW3M+PjJdO2ZbcSs0Pj4yXT1mW3MrND4+Ml07ZltxKzg+
PjJdPWZbcys4Pj4yXTtmW3ErMTI+PjJdPWZbcysxMj4+Ml07ZltxKzE2Pj4yXT1mW3MrMTY+PjJd
O2ZbcSsyMD4+Ml09ZltzKzIwPj4yXTtmW3ErMjQ+PjJdPWZbcysyND4+Ml07ZltxKzI4Pj4yXT1m
W3MrMjg+PjJdO209U1EoYSxlLGMscSxyKXwwfWVsc2UgbT0wO2w9Yys0MnwwO2c9ZFtsPj4xXXww
O2E6ZG8gaWYoIShnJjMyKSl7az1mW2MrMjA+PjJdfDA7aWYoa3wwKXtnPVRRKGEsayxmW2MrMjg+
PjJdfDAsZyY2NTUzNSxvKXwwO2lmKCEoZFtsPj4xXSY0KSl7ZltxPj4yXT1mW3M+PjJdO2ZbcSs0
Pj4yXT1mW3MrND4+Ml07ZltxKzg+PjJdPWZbcys4Pj4yXTtmW3ErMTI+PjJdPWZbcysxMj4+Ml07
ZltxKzE2Pj4yXT1mW3MrMTY+PjJdO2ZbcSsyMD4+Ml09ZltzKzIwPj4yXTtmW3ErMjQ+PjJdPWZb
cysyND4+Ml07ZltxKzI4Pj4yXT1mW3MrMjg+PjJdO2lQKGEscSxnKX1lbHNle2w9aFtjKzMzPj4w
XXwwO2ZbcT4+Ml09ZltzPj4yXTtmW3ErND4+Ml09ZltzKzQ+PjJdO2ZbcSs4Pj4yXT1mW3MrOD4+
Ml07ZltxKzEyPj4yXT1mW3MrMTI+PjJdO2ZbcSsxNj4+Ml09ZltzKzE2Pj4yXTtmW3ErMjA+PjJd
PWZbcysyMD4+Ml07ZltxKzI0Pj4yXT1mW3MrMjQ+PjJdO2ZbcSsyOD4+Ml09ZltzKzI4Pj4yXTtO
SihhLFVRKG4scSxsKXwwLDQsNCxnKX1NXyhmW28+PjJdfDApfWlmKGJbYyszMz4+MF18MCl7Zltx
Pj4yXT1mW3M+PjJdO2ZbcSs0Pj4yXT1mW3MrND4+Ml07ZltxKzg+PjJdPWZbcys4Pj4yXTtmW3Er
MTI+PjJdPWZbcysxMj4+Ml07ZltxKzE2Pj4yXT1mW3MrMTY+PjJdO2ZbcSsyMD4+Ml09ZltzKzIw
Pj4yXTtmW3ErMjQ+PjJdPWZbcysyND4+Ml07ZltxKzI4Pj4yXT1mW3MrMjg+PjJdO1hRKGEsYyxx
KX1nPWMrODh8MDtzd2l0Y2goYltjKzkyPj4wXXwwKXtjYXNlIDE6e1BRKGEsZltnPj4yXXwwLGUp
O2JyZWFrIGF9Y2FzZSAzOnskUShhLGZbZz4+Ml18MCxlKTticmVhayBhfWRlZmF1bHQ6e09RKGEs
ZltnPj4yXXwwLGUpO2JyZWFrIGF9fX13aGlsZSgwKTtpZihtfDApWVEoYSxyKTtpZigodT9mW2Er
MTUyPj4yXSY0fDA6MCk/KGZbcT4+Ml09ZltzPj4yXSxmW3ErND4+Ml09ZltzKzQ+PjJdLGZbcSs4
Pj4yXT1mW3MrOD4+Ml0sZltxKzEyPj4yXT1mW3MrMTI+PjJdLGZbcSsxNj4+Ml09ZltzKzE2Pj4y
XSxmW3ErMjA+PjJdPWZbcysyMD4+Ml0sZltxKzI0Pj4yXT1mW3MrMjQ+PjJdLGZbcSsyOD4+Ml09
ZltzKzI4Pj4yXSxTUShhLGUsYyxxLHIpfDApOjApWVEoYSxyKTt0PXY7cmV0dXJufWZ1bmN0aW9u
IFdRKGEsYyxlLGcsaSl7YT1hfDA7Yz1jfDA7ZT1lfDA7Zz1nfDA7aT1pfDA7dmFyIGs9MC4wLGw9
MC4wLG09MCxuPTAuMCxvPTAuMCxxPTAscj0wLjAscz0wLjAsdT0wLHY9MCx3PTAuMCx4PTAuMCx5
PTAuMCx6PTAsQT0wLEI9MDtCPXQ7dD10KzMyfDA7ej1CKzE2fDA7QT1CO3I9K3BbZT4+M107eT0r
cFtlKzg+PjNdO3E9KGd8MCk9PTA/MTQ1NTg0Omc7ZFAoYSxxKTtiUChhLHEpO3c9K3BbYys0OD4+
M107bj0rcFtjKzU2Pj4zXTt4PStwW2MrNjQ+PjNdO289K3BbYys3Mj4+M107cz13K3I7cj14K3I7
eT1uK3k7cT1jKzEwMHwwO2U9YltxPj4wXXwwO2lmKChlJjEpIT0wPyhtPWZbYys5Nj4+Ml18MCwo
KGpbYys4MD4+MV18MCkrKGpbYys4ND4+MV18MCl8MCk8KGZbbSsxMDQ+PjJdfDApKTowKXtlPWRb
Yys4Nj4+MV18MDtkbyBpZihlPDwxNj4+MTYpaWYoKChqW2MrODI+PjFdfDApKyhlJjY1NTM1KXww
KT09KGZbbSsxMDA+PjJdfDApKXtnPWJbbSszMj4+MF18MDtlPShnPDwyND4+MjQpLzJ8MDttPShl
PDwyND4+MjQpKyhoW20rMzM+PjBdfDApfDA7bD0rKGU8PDI0Pj4yNCk7ZT1tO2s9bDtsPXktbC0r
KG0mMjU1fDApO2JyZWFrfWVsc2V7Zz1iW20rMzI+PjBdfDA7bD0rKCgoZzw8MjQ+PjI0KS8yfDAp
PDwyND4+MjQpO2U9MDtrPWw7bD15LWw7YnJlYWt9ZWxzZXtnPWJbbSszMj4+MF18MDtlPShnPDwy
ND4+MjQpLzJ8MDtsPSsoZTw8MjQ+PjI0KTtlPShlPDwyND4+MjQpKyhoW20rMzM+PjBdfDApfDA7
az1sO2w9eS1sfXdoaWxlKDApO3BbQSs4Pj4zXT1sO3BbQT4+M109citrO2Zbej4+Ml09ZltBPj4y
XTtmW3orND4+Ml09ZltBKzQ+PjJdO2Zbeis4Pj4yXT1mW0ErOD4+Ml07Zlt6KzEyPj4yXT1mW0Er
MTI+PjJdO19RKGEseiwwLjAsby1uKyArKGUmMjU1fDApKyArKGc8PDI0Pj4yNCkpO2U9YltxPj4w
XXwwfWlmKGUmMj8odT1kW2MrODY+PjFdfDAsdj1mW2MrOTY+PjJdfDAsKChqW2MrODI+PjFdfDAp
Kyh1JjY1NTM1KXwwKTwoZlt2KzEwMD4+Ml18MCkpOjApe2U9ZFtjKzg0Pj4xXXwwO2RvIGlmKCEo
ZTw8MTY+PjE2KSl7ZT1iW3YrMzI+PjBdfDA7cT0oZTw8MjQ+PjI0KS8yfDA7bT0ocTw8MjQ+PjI0
KSsoaFt2KzMzPj4wXXwwKXwwO2c9bSYyNTU7bT1tJjI1NTtrPSsocTw8MjQ+PjI0KTtsPS1rO3Bb
QT4+M109cy1rLSsobXwwKTtpZigoZlt2KzEwND4+Ml18MCk9PShqW2MrODA+PjFdfDApKXtnPW08
PDEmMjU1O2JyZWFrfWlmKChpfDApIT0wPyhkW2krODY+PjFdfDApIT11PDwxNj4+MTY6MClnPX5+
KGwteCsgKyhnJjI1NSkrICtwW3YrNjQ+PjNdKSYyNTV9ZWxzZXtpZigoKGpbYys4MD4+MV18MCkr
KGUmNjU1MzUpfDApPT0oZlt2KzEwND4+Ml18MCkpe2U9Ylt2KzMyPj4wXXwwO3U9KGU8PDI0Pj4y
NCkvMnwwO2c9KHUmMjU1KSsoaFt2KzMzPj4wXXwwKSYyNTU7az0rKHU8PDI0Pj4yNCk7cFtBPj4z
XT1zLWs7YnJlYWt9ZT1iW3YrMzI+PjBdfDA7az0rKCgoZTw8MjQ+PjI0KS8yfDApPDwyND4+MjQp
O3BbQT4+M109cy1rO2lmKChpfDApIT0wPyhkW2krODY+PjFdfDApIT11PDwxNj4+MTY6MClnPX5+
KC1rLXgrICtwW3YrNjQ+PjNdKSYyNTU7ZWxzZSBnPTB9d2hpbGUoMCk7cFtBKzg+PjNdPXktaztm
W3o+PjJdPWZbQT4+Ml07Zlt6KzQ+PjJdPWZbQSs0Pj4yXTtmW3orOD4+Ml09ZltBKzg+PjJdO2Zb
eisxMj4+Ml09ZltBKzEyPj4yXTtfUShhLHoseC13KyArKGcmMjU1KSsgKyhlPDwyND4+MjQpLDAu
MCl9dD1CO3JldHVybn1mdW5jdGlvbiBYUShhLGMsZSl7YT1hfDA7Yz1jfDA7ZT1lfDA7dmFyIGc9
MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAuMDtuPXQ7dD10KzE2MHwwO209bisxMTJ8MDts
PW47aT1uKzE0NHwwO2s9ZltjKzI0Pj4yXXwwO2JQKGEsKGt8MCk9PTA/MTQ1NTg0OmspO2s9Yys0
MnwwO2c9ZFtrPj4xXXwwO2lmKCEoZyYzODQpKWZQKGEsZlsoZlthPj4yXXwwKSszMzY+PjJdfDAp
O2Vsc2V7ZltpKzQ+PjJdPTA7ZltpPj4yXT0wO2c9ZyY2NTUzNTtpZighKGcmMjU2KSl7aWYoZyYx
Mjh8MCl7Zz0xNDU1OTc7aj00fX1lbHNle2c9MTQ1NTkwO2o9NH1pZigoanwwKT09NClmW2k+PjJd
PWc7ZlAoYSxpKX1qPWMrMzN8MDtvUChhLCsoaFtqPj4wXXwwKSk7YTpkbyBpZighKGRbaz4+MV0m
NCkpe2c9ZFtjKzM2Pj4xXSYxNTM2MDtpZighKGc8PDE2Pj4xNikpe2c9YltqPj4wXXwwO2lmKChn
JjI1NSk+MSl7bz0rKGcmMjU1KSouNTtwW2U+PjNdPStwW2U+PjNdK287bD1lKzh8MDtwW2w+PjNd
PStwW2w+PjNdK287bD1lKzE2fDA7cFtsPj4zXT0rcFtsPj4zXS1vO2w9ZSsyNHwwO3BbbD4+M109
K3BbbD4+M10tb307ZlttPj4yXT1mW2U+PjJdO2ZbbSs0Pj4yXT1mW2UrND4+Ml07ZlttKzg+PjJd
PWZbZSs4Pj4yXTtmW20rMTI+PjJdPWZbZSsxMj4+Ml07ZlttKzE2Pj4yXT1mW2UrMTY+PjJdO2Zb
bSsyMD4+Ml09ZltlKzIwPj4yXTtmW20rMjQ+PjJdPWZbZSsyND4+Ml07ZlttKzI4Pj4yXT1mW2Ur
Mjg+PjJdO2lQKGEsbSwwKTticmVha31pPWwrMTZ8MDtrPWhbaj4+MF18MDtmW20+PjJdPWZbZT4+
Ml07ZlttKzQ+PjJdPWZbZSs0Pj4yXTtmW20rOD4+Ml09ZltlKzg+PjJdO2ZbbSsxMj4+Ml09Zltl
KzEyPj4yXTtmW20rMTY+PjJdPWZbZSsxNj4+Ml07ZlttKzIwPj4yXT1mW2UrMjA+PjJdO2ZbbSsy
ND4+Ml09ZltlKzI0Pj4yXTtmW20rMjg+PjJdPWZbZSsyOD4+Ml07VVEoaSxtLGspfDA7ZG8gc3dp
dGNoKCgoZyY2NTUzNSkrLTEwMjR8MCk+Pj4xMCY0MTk0MzAzfDApe2Nhc2UgNzp7a1AoYSxpLDIp
O2JyZWFrIGF9Y2FzZSAzOntrUChhLGwrMzJ8MCwyKTticmVhayBhfWNhc2UgMTp7a1AoYSxsKzQ4
fDAsMik7YnJlYWsgYX1jYXNlIDA6e2U9bCs2NHwwO2ZbbD4+Ml09ZltlPj4yXTtmW2wrND4+Ml09
ZltlKzQ+PjJdO2ZbbCs4Pj4yXT1mW2UrOD4+Ml07ZltsKzEyPj4yXT1mW2UrMTI+PjJdO2tQKGEs
bCwyKTticmVhayBhfWNhc2UgMTE6e2tQKGEsaSwzKTticmVhayBhfWNhc2UgNTp7a1AoYSxsKzMy
fDAsMyk7YnJlYWsgYX1jYXNlIDI6e2U9bCs4MHwwO2ZbZT4+Ml09ZltpPj4yXTtmW2UrND4+Ml09
ZltpKzQ+PjJdO2ZbZSs4Pj4yXT1mW2krOD4+Ml07ZltlKzEyPj4yXT1mW2krMTI+PjJdO2tQKGEs
bCs0OHwwLDMpO2JyZWFrIGF9Y2FzZSA4OntlPWwrNjR8MDtmW2w+PjJdPWZbZT4+Ml07ZltsKzQ+
PjJdPWZbZSs0Pj4yXTtmW2wrOD4+Ml09ZltlKzg+PjJdO2ZbbCsxMj4+Ml09ZltlKzEyPj4yXTtr
UChhLGwsMyk7YnJlYWsgYX1jYXNlIDEzOntrUChhLGksNCk7YnJlYWsgYX1jYXNlIDY6e2U9bCs4
MHwwO2ZbZT4+Ml09ZltpPj4yXTtmW2UrND4+Ml09ZltpKzQ+PjJdO2ZbZSs4Pj4yXT1mW2krOD4+
Ml07ZltlKzEyPj4yXT1mW2krMTI+PjJdO2tQKGEsbCszMnwwLDQpO2JyZWFrIGF9Y2FzZSAxMDp7
ZT1sKzgwfDA7ZltlPj4yXT1mW2k+PjJdO2ZbZSs0Pj4yXT1mW2krND4+Ml07ZltlKzg+PjJdPWZb
aSs4Pj4yXTtmW2UrMTI+PjJdPWZbaSsxMj4+Ml07ZT1sKzk2fDA7bT1sKzMyfDA7ZltlPj4yXT1m
W20+PjJdO2ZbZSs0Pj4yXT1mW20rND4+Ml07ZltlKzg+PjJdPWZbbSs4Pj4yXTtmW2UrMTI+PjJd
PWZbbSsxMj4+Ml07a1AoYSxsKzQ4fDAsNCk7YnJlYWsgYX1jYXNlIDEyOntlPWwrNjR8MDtmW2w+
PjJdPWZbZT4+Ml07ZltsKzQ+PjJdPWZbZSs0Pj4yXTtmW2wrOD4+Ml09ZltlKzg+PjJdO2ZbbCsx
Mj4+Ml09ZltlKzEyPj4yXTtrUChhLGwsNCk7YnJlYWsgYX1jYXNlIDk6e2tQKGEsaSwyKTtrUChh
LGwrNDh8MCwyKTticmVhayBhfWNhc2UgNDp7ZT1sKzY0fDA7ZltsPj4yXT1mW2U+PjJdO2ZbbCs0
Pj4yXT1mW2UrND4+Ml07ZltsKzg+PjJdPWZbZSs4Pj4yXTtmW2wrMTI+PjJdPWZbZSsxMj4+Ml07
a1AoYSxsLDIpO2tQKGEsbCszMnwwLDIpO2JyZWFrIGF9ZGVmYXVsdDpicmVhayBhfXdoaWxlKDAp
fWVsc2V7az1oW2o+PjBdfDA7ZlttPj4yXT1mW2U+PjJdO2ZbbSs0Pj4yXT1mW2UrND4+Ml07Zltt
Kzg+PjJdPWZbZSs4Pj4yXTtmW20rMTI+PjJdPWZbZSsxMj4+Ml07ZlttKzE2Pj4yXT1mW2UrMTY+
PjJdO2ZbbSsyMD4+Ml09ZltlKzIwPj4yXTtmW20rMjQ+PjJdPWZbZSsyND4+Ml07ZlttKzI4Pj4y
XT1mW2UrMjg+PjJdO05KKGEsVVEobCxtLGspfDAsNCw0LDApfXdoaWxlKDApO3Q9bjtyZXR1cm59
ZnVuY3Rpb24gWVEoYSxjKXthPWF8MDtjPWN8MDt2YXIgZT0wLGc9MCxoPTA7aD1mW2ErMTY+PjJd
fDA7ZT1oKzIwOHwwO2lmKChmW2U+PjJdfDApPT0wPyhkW2grMjYwPj4xXSYxKT09MDowKWE9MDtl
bHNle1pPKGEpO2E9ZltlPj4yXXwwfWlmKChhfDApIT0oZltjPj4yXXwwKSl7TV8oYSk7ZltlPj4y
XT1mW2M+PjJdfWE9aCsyMjh8MDtlPWZbYT4+Ml18MDtnPWMrNHwwO2lmKChlfDApIT0oZltnPj4y
XXwwKSl7TV8oZSk7ZlthPj4yXT1mW2c+PjJdfWE9aCsyNDR8MDtlPWZbYT4+Ml18MDtnPWMrOHww
O2lmKChlfDApIT0oZltnPj4yXXwwKSl7TV8oZSk7ZlthPj4yXT1mW2c+PjJdfWE9aCsyMTJ8MDtl
PWZbYT4+Ml18MDtnPWMrMTJ8MDtpZigoZXwwKSE9KGZbZz4+Ml18MCkpe01fKGUpO2ZbYT4+Ml09
ZltnPj4yXX1oPWgrMjYwfDA7ZFtoPj4xXT1kW2g+PjFdJi0yfGJbYysxNj4+MF0mMTtyZXR1cm59
ZnVuY3Rpb24gWlEoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLjAsZD0wO2Q9ZltiPj4yXXwwO2lm
KGR8MClmW2ErMTY+PjJdPWQ7ZD1mW2IrND4+Ml18MDtpZihkfDApZlthKzIwPj4yXT1kO2M9K3Bb
YisxNj4+M107aWYoYz49MC4wKXBbYSszMj4+M109YztyZXR1cm59ZnVuY3Rpb24gX1EoYSxiLGMs
ZCl7YT1hfDA7Yj1ifDA7Yz0rYztkPStkO3ZhciBlPTAsZz0wLGg9MDtlPXQ7dD10KzY0fDA7Zz1l
KzMyfDA7aD1lO2ZbaD4+Ml09ZltiPj4yXTtmW2grND4+Ml09ZltiKzQ+PjJdO2ZbaCs4Pj4yXT1m
W2IrOD4+Ml07ZltoKzEyPj4yXT1mW2IrMTI+PjJdO3BbaCsxNj4+M109K3BbYj4+M10rYztwW2gr
MjQ+PjNdPStwW2IrOD4+M10rZDtmW2c+PjJdPWZbaD4+Ml07ZltnKzQ+PjJdPWZbaCs0Pj4yXTtm
W2crOD4+Ml09ZltoKzg+PjJdO2ZbZysxMj4+Ml09ZltoKzEyPj4yXTtmW2crMTY+PjJdPWZbaCsx
Nj4+Ml07ZltnKzIwPj4yXT1mW2grMjA+PjJdO2ZbZysyND4+Ml09ZltoKzI0Pj4yXTtmW2crMjg+
PjJdPWZbaCsyOD4+Ml07aVAoYSxnLDEpO3Q9ZTtyZXR1cm59ZnVuY3Rpb24gJFEoYSxjLGQpe2E9
YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAuMCxqPTAuMCxrPTAuMCxsPTAuMDto
PXQ7dD10KzY0fDA7Zz1oO2o9K3BbZD4+M107bD1qKyArcFtjPj4zXTtrPStwW2QrOD4+M107aT1r
KyArcFtjKzg+PjNdO2o9aisgK3BbYysxNj4+M107az1rKyArcFtjKzI0Pj4zXTtwW2c+PjNdPWo7
cFtnKzg+PjNdPWs7cFtnKzMyPj4zXT1sO3BbZys0MD4+M109aTtwW2crMTY+PjNdPWw7cFtnKzI0
Pj4zXT1rO3BbZys0OD4+M109ajtwW2crNTY+PjNdPWk7ZT1mW2MrMzY+PjJdfDA7aWYoIWUpZT1m
W2QrNTY+PjJdfDA7ZD1mW2MrMzI+PjJdfDA7aWYoIWQpeGEoMTQ1NjA0LDE0NTYxMiw2MjMsMTQ1
NjI0KTtpZighKGJbZD4+MF18MCkpeGEoMTQ1NjM4LDE0NTYxMiw2MjQsMTQ1NjI0KTtlbHNle21Q
KGEsZCxnLDQsMSxlKTt0PWg7cmV0dXJufX1mdW5jdGlvbiBhUihhLGMsZSxnLGgsaSxqLGspe2E9
YXwwO2M9Y3wwO2U9ZXwwO2c9Z3wwO2g9K2g7aT1pfDA7aj1qfDA7az1rfDA7dmFyIGw9MC4wLG09
MCxuPTAsbz0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0w
LEQ9MCxFPTAsRj0wLEc9MCxIPTAuMCxJPTAsSj0wLEs9MC4wLEw9MCxNPTAsTj0wLE89MC4wLFA9
MC4wLFE9MCxSPTAsUz0wLFQ9MDtUPXQ7dD10KzEyOHwwO009VCsxMDR8MDtRPVQrNDh8MDtSPVQr
MTZ8MDtOPVQ7TD1OO2ZbTD4+Ml09MDtmW0wrND4+Ml09MDtPPStwW2c+PjNdO1A9Ty1oO0s9Tyto
O0w9Tis4fDA7cFtMPj4zXT0oK3BbaisyND4+M10tK3Bbais4Pj4zXSkqLjUrICtwW2crOD4+M107
X08oYSwxKTtIPStwW2krMTY+PjNdO0k9UisxNnwwO0o9ZltpPj4yXXwwO0M9ZltpKzQ+PjJdfDA7
RD1SKzR8MDtFPVIrMjR8MDtGPVErNHwwO0c9USsxNnwwO3E9KGt8MCk9PTA7cj1RKzI0fDA7cz1S
Kzh8MDt1PVErOHwwO3Y9USszMnwwO3c9USs0MHwwO3g9USs0OHwwO3k9Qzt6PUM7bj0wO3doaWxl
KDEpe2lmKChufDApPj0oY3wwKSlicmVhaztzd2l0Y2goYltlKyhuKjI0fDApKzY+PjBdfDApe2Nh
c2UgMTA4OntoPVA7YnJlYWt9Y2FzZSAxMTQ6e2g9Sy0rcFtlKyhuKjI0fDApKzg+PjNdO2JyZWFr
fWRlZmF1bHQ6aD1PLStwW2UrKG4qMjR8MCkrOD4+M10qLjV9cFtnPj4zXT1oO0E9ZSsobioyNHww
KSsxNnwwO3BbTD4+M109K3BbTD4+M10tK3BbQT4+M107Qj1lKyhuKjI0fDApKzR8MDttPWZbZSso
bioyNHwwKT4+Ml18MDtvPTA7d2hpbGUoMSl7aWYoKG98MCk+PShkW0I+PjFdfDApKWJyZWFrO2s9
bSs0fDA7aT1mW2s+PjJdfDA7aWYoaSl7bD0rcFtpKzE2Pj4zXTtwW0k+PjNdPWw+MC4wP2w6SDtq
PWZbaT4+Ml18MDtpZighailmW1I+PjJdPUo7ZWxzZSBmW1I+PjJdPWo7aj1mW2krND4+Ml18MDtp
Zighail7ZltEPj4yXT1DO2o9en1lbHNlIGZbRD4+Ml09ajtpPWZbaSsyND4+Ml0mMTI3O2lmKCFp
KVM9MTg7ZWxzZSBpPWZbRT4+Ml0mLTEyOHxpfWVsc2V7cFtJPj4zXT1IO2ZbUj4+Ml09SjtmW0Q+
PjJdPUM7aj15O1M9MTh9aWYoKFN8MCk9PTE4KXtTPTA7aT1mW0U+PjJdJi0xMjh9ZltFPj4yXT1p
O2JQKGEsaik7ZltRPj4yXT1mW20+PjJdO2ZbRj4+Ml09UjtwW0c+PjNdPStwW20rMTY+PjNdO2lm
KHEpbD0xLjA7ZWxzZSBsPStwW20rMjQ+PjNdO3Bbcj4+M109bDtmW3M+PjJdPWZbKGZbaz4+Ml18
MCkrOD4+Ml07Zlt1Pj4yXT1mW20rOD4+Ml07az1tKzMyfDA7cFt2Pj4zXT0rcFtrPj4zXTtwW3c+
PjNdPStwW0E+PjNdO2JbeD4+MF09MTA4O3BbTj4+M109aDtmW00+PjJdPWZbTj4+Ml07ZltNKzQ+
PjJdPWZbTis0Pj4yXTtmW00rOD4+Ml09ZltOKzg+PjJdO2ZbTSsxMj4+Ml09ZltOKzEyPj4yXTth
UChhLE0sUSk7bD0rcFtrPj4zXStoO3BbZz4+M109bDttPW0rNTZ8MDtvPW8rMXwwO2g9bH1uPW4r
MXwwfSRPKGEpO3Q9VDtyZXR1cm59ZnVuY3Rpb24gYlIoYSl7YT1hfDA7TV8oZlthPj4yXXwwKTtN
XyhmW2ErND4+Ml18MCk7TV8oZlthKzg+PjJdfDApO01fKGZbYSsxNj4+Ml18MCk7TV8oZlthKzEy
Pj4yXXwwKTtNXyhmW2ErMjA+PjJdfDApO01fKGZbYSsyND4+Ml18MCk7cmV0dXJufWZ1bmN0aW9u
IGNSKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2lmKGF8MCl7
aj1hKzR8MDtjPTA7Zz1mW2E+PjJdfDA7d2hpbGUoMSl7aWYoKGN8MCk+PShkW2o+PjFdfDApKWJy
ZWFrO2s9Zys0fDA7Yj0wO2U9ZltnPj4yXXwwO3doaWxlKDEpe2lmKChifDApPj0oZFtrPj4xXXww
KSlicmVhaztNXyhmW2U+PjJdfDApO2g9ZltlKzg+PjJdfDA7aWYoaHwwPyhpPWZbZSsxMj4+Ml18
MCxpfDApOjApQ2JbaSYxMjddKGgpO2I9YisxfDA7ZT1lKzU2fDB9Yz1jKzF8MDtnPWcrMjR8MH1i
PWZbYT4+Ml18MDtpZihifDApTV8oYik7TV8oYSl9cmV0dXJufWZ1bmN0aW9uIGRSKGEpe2E9YXww
O01fKGZbYSszMj4+Ml18MCk7TV8oYSk7cmV0dXJufWZ1bmN0aW9uIGVSKGEsYyl7YT1hfDA7Yz1j
fDA7c3dpdGNoKGJbYSs0Pj4wXXwwKXtjYXNlIDE6e2ZSKGZbYT4+Ml18MCk7YnJlYWt9Y2FzZSAz
OntkUihmW2E+PjJdfDApO2JyZWFrfWRlZmF1bHQ6Y1IoZlthPj4yXXwwKX1pZihjfDApTV8oYSk7
cmV0dXJufWZ1bmN0aW9uIGZSKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MDtkPWErODR8MDtpZigo
ZlthKzEwMD4+Ml18MCk9PS0xKUh3KGZbZD4+Ml18MCl8MDtlbHNle2I9ZltkPj4yXXwwO01fKGZb
YSs5Mj4+Ml18MCk7TV8oZlthKzk2Pj4yXXwwKTt3aGlsZSgxKXtjPWZbYj4+Ml18MDtpZighYyli
cmVhaztnUihjKTtiPWIrNHwwfU1fKGZbZD4+Ml18MCl9YlIoYSk7TV8oYSk7cmV0dXJufWZ1bmN0
aW9uIGdSKGEpe2E9YXwwO2VSKGErODh8MCwwKTtiUihhKTtNXyhhKTtyZXR1cm59ZnVuY3Rpb24g
aFIoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTA7YT1mWyhmWyhmW2ErMTY+PjJdfDAp
KzEwND4+Ml18MCkrNzI+PjJdfDA7aWYoKGJbYSs0Pj4wXXwwKSE9Mj8oZT1pUihmW2E+PjJdfDAs
Yyl8MCwoZXwwKSE9MCk6MCl7ZltkPj4yXT1oW2UrMzU+PjBdO2E9ZSs0OHwwfWVsc2UgYT0wO3Jl
dHVybiBhfDB9ZnVuY3Rpb24gaVIoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MDtjPWZbYSs0
Pj4yXXwwO2lmKCEoKGN8MCkhPTA/KGIzKGMsYil8MCk9PTA6MCkpZD0zO2E6ZG8gaWYoKGR8MCk9
PTMpe2M9ZlthKzg0Pj4yXXwwO3doaWxlKDEpe2E9ZltjPj4yXXwwO2lmKCFhKXthPTA7YnJlYWsg
YX1hPWpSKGEsYil8MDtpZighYSljPWMrNHwwO2Vsc2UgYnJlYWt9fXdoaWxlKDApO3JldHVybiBh
fDB9CitmdW5jdGlvbiBNRihhKXthPWF8MDt2YXIgYj0wLGM9MCxlPTAsZz0wLGg9MCxpPTAsaj0w
LGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTA7
eD10O3Q9dCs2NHwwO3E9eCs0OHwwO3U9eCszMnwwO3M9eCsxNnwwO3I9eDt3PWZbYSsxNj4+Ml18
MDt2PWZbdys4Pj4yXXwwO3A9dysyMDh8MDtpZighKChmW3A+PjJdfDApPT0wPyEoZFt3KzI2MD4+
MV0mMSk6MCkpYj0zO2E6ZG8gaWYoKGJ8MCk9PTM/KFpPKGEpLG89dysyNzZ8MCxjPWZbbz4+Ml18
MCxjfDApOjApe2g9dysyODB8MDtiPWZbaD4+Ml18MDtpPXcrMjY4fDA7aj13KzI4NHwwO2s9dysy
NzJ8MDtsPXcrMjI4fDA7bT13KzI0NHwwO249dysyMTJ8MDtlPWZbYj4+Ml18MDtnPTE7d2hpbGUo
MSl7aWYoKGd8MCk+PShjfDApKWJyZWFrIGE7ZltpPj4yXT1mW2IrKGc8PDIpPj4yXTtmW2s+PjJd
PShmW2o+PjJdfDApKyhlPDw0KTtZTyhhLGZbcD4+Ml18MCxmW2w+PjJdfDAsZlttPj4yXXwwLGZb
bj4+Ml18MCk7Wk8oYSk7eT1mW2g+PjJdfDA7ZT0oZlt5KyhnPDwyKT4+Ml18MCkrZXwwO2c9Zysx
fDA7Yz1mW28+PjJdfDA7Yj15fX13aGlsZSgwKTtmW3crMjY4Pj4yXT0wO2ZbdysyNzI+PjJdPTA7
cD12KzE2fDA7Yj1mW3A+PjJdfDA7Yz1mW2IrOD4+Ml18MDtpZighYyllPXcrMjYwfDA7ZWxzZXtv
PWZbYz4+Ml18MDtiPWZbbz4+Ml18MDt5PWZbbys4Pj4yXXwwO249bysxNnwwO2Zbcz4+Ml09Zltu
Pj4yXTtmW3MrND4+Ml09ZltuKzQ+PjJdO2Zbcys4Pj4yXT1mW24rOD4+Ml07ZltzKzEyPj4yXT1m
W24rMTI+PjJdO289byszMnwwO2Zbcj4+Ml09ZltvPj4yXTtmW3IrND4+Ml09ZltvKzQ+PjJdO2Zb
cis4Pj4yXT1mW28rOD4+Ml07ZltyKzEyPj4yXT1mW28rMTI+PjJdO2lmKCF5KXtmW3U+PjJdPWZb
Yj4+Ml07Zlt1KzQ+PjJdPWZbYis0Pj4yXTtmW3UrOD4+Ml09ZltiKzg+PjJdO2ZbdSsxMj4+Ml09
ZltiKzEyPj4yXX1lbHNle2ZbdT4+Ml09ZltzPj4yXTtmW3UrND4+Ml09ZltzKzQ+PjJdO2ZbdSs4
Pj4yXT1mW3MrOD4+Ml07Zlt1KzEyPj4yXT1mW3MrMTI+PjJdfWU9dysyNjB8MDtvPWRbZT4+MV18
MDtuPWZbdysyMjA+PjJdfDA7ZltxPj4yXT1mW3U+PjJdO2ZbcSs0Pj4yXT1mW3UrND4+Ml07Zltx
Kzg+PjJdPWZbdSs4Pj4yXTtmW3ErMTI+PjJdPWZbdSsxMj4+Ml07TkYoYSxxLChvPDw4JjY1NTM1
KTw8MTY+PjE2Pj4xNSYyNTUsbiwobzw8MTQmNjU1MzUpPDwxNj4+MTY+PjE1JjI1NSk7bz1mWyhm
W3A+PjJdfDApKzg+PjJdfDA7bj1mW28+PjJdfDA7bz0oZltvKzQ+PjJdfDApKy0xfDA7Yj1mW24r
KG8qNDh8MCk+PjJdfDA7Yz1mW24rKG8qNDh8MCkrND4+Ml18MDt5PWZbbisobyo0OHwwKSsxMj4+
Ml18MDttPW4rKG8qNDh8MCkrMTZ8MDtmW3M+PjJdPWZbbT4+Ml07ZltzKzQ+PjJdPWZbbSs0Pj4y
XTtmW3MrOD4+Ml09ZlttKzg+PjJdO2ZbcysxMj4+Ml09ZlttKzEyPj4yXTtzPW4rKG8qNDh8MCkr
MzJ8MDtmW3I+PjJdPWZbcz4+Ml07ZltyKzQ+PjJdPWZbcys0Pj4yXTtmW3IrOD4+Ml09ZltzKzg+
PjJdO2ZbcisxMj4+Ml09ZltzKzEyPj4yXTtpZigheSl7eT1iKyhjKy0xPDw0KXwwO2ZbdT4+Ml09
Zlt5Pj4yXTtmW3UrND4+Ml09Zlt5KzQ+PjJdO2ZbdSs4Pj4yXT1mW3krOD4+Ml07Zlt1KzEyPj4y
XT1mW3krMTI+PjJdfWVsc2V7Zlt1Pj4yXT1mW3I+PjJdO2ZbdSs0Pj4yXT1mW3IrND4+Ml07Zlt1
Kzg+PjJdPWZbcis4Pj4yXTtmW3UrMTI+PjJdPWZbcisxMj4+Ml19Yj1kW2U+PjFdfDA7eT1mW3cr
MjI0Pj4yXXwwO2ZbcT4+Ml09Zlt1Pj4yXTtmW3ErND4+Ml09Zlt1KzQ+PjJdO2ZbcSs4Pj4yXT1m
W3UrOD4+Ml07ZltxKzEyPj4yXT1mW3UrMTI+PjJdO05GKGEscSwoYjw8NyY2NTUzNSk8PDE2Pj4x
Nj4+MTUmMjU1LHksKGI8PDEzJjY1NTM1KTw8MTY+PjE2Pj4xNSYyNTUpO2I9ZltwPj4yXXwwfWM9
ZltiKzk2Pj4yXXwwO2c9KGRbZT4+MV08PDEyJjY1NTM1KTw8MTY+PjE2Pj4xNTw8MTY+PjE2O2w9
dysyMTZ8MDtoPWZbbD4+Ml18MDttPXcrMjMyfDA7aT1mW20+PjJdfDA7bj13KzI0OHwwO2o9Zltu
Pj4yXXwwO289dysyMTJ8MDtrPWZbbz4+Ml18MDtpZighKChaTChXTCh2LGZbNDgzNzhdfDAsMTQ1
NTc4KXwwKXwwKTw8MjQ+PjI0KSliPTA7ZWxzZSBiPWZbKGZbcD4+Ml18MCkrOD4+Ml18MDtPRihh
LGMsMTEsZyxoLGksaixrLGIpO2o9ZlsoZltwPj4yXXwwKSsxMDg+PjJdfDA7az0oZFtlPj4xXTw8
MTImNjU1MzUpPDwxNj4+MTY+PjE1PDwxNj4+MTY7aT1mW2w+PjJdfDA7aD1mW20+PjJdfDA7Yz1m
W24+PjJdfDA7Zz1mW28+PjJdfDA7aWYoISgoWkwoV0wodixmWzQ4Mzc4XXwwLDE0NTU3OCl8MCl8
MCk8PDI0Pj4yNCkpYj0wO2Vsc2UgYj1mWyhmW3A+PjJdfDApKzg+PjJdfDA7T0YoYSxqLDExLGss
aSxoLGMsZyxiKTtPRihhLGZbKGZbcD4+Ml18MCkrMTAwPj4yXXwwLDcsKGRbZT4+MV08PDEzJjY1
NTM1KTw8MTY+PjE2Pj4xNTw8MTY+PjE2LGZbdysyMjQ+PjJdfDAsZlt3KzI0MD4+Ml18MCxmW3cr
MjU2Pj4yXXwwLGZbbz4+Ml18MCwwKTtPRihhLGZbKGZbcD4+Ml18MCkrMTA0Pj4yXXwwLDYsKGRb
ZT4+MV08PDE0JjY1NTM1KTw8MTY+PjE2Pj4xNTw8MTY+PjE2LGZbdysyMjA+PjJdfDAsZlt3KzIz
Nj4+Ml18MCxmW3crMjUyPj4yXXwwLGZbbz4+Ml18MCwwKTtYTyhhKTtYRShhKTt0PXg7cmV0dXJu
fWZ1bmN0aW9uIE5GKGEsYixjLGUsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZT1lfDA7Zz1nfDA7dmFy
IGg9MCxpPTAsaj0wO2o9dDt0PXQrMTZ8MDtoPWo7aT1mW2ErMTY+PjJdfDA7aWYoIShjPDwyND4+
MjQpKWU9ZltpKzIwOD4+Ml18MDtpZighKGc8PDI0Pj4yND09MD8oKGV8MCk9PTA/KGRbaSsyNjA+
PjFdJjEpPT0wOjApOjApKXtmW2g+PjJdPWZbYj4+Ml07ZltoKzQ+PjJdPWZbYis0Pj4yXTtmW2gr
OD4+Ml09ZltiKzg+PjJdO2ZbaCsxMj4+Ml09ZltiKzEyPj4yXTtTRihhLGgpfXQ9ajtyZXR1cm59
ZnVuY3Rpb24gT0YoYSxjLGQsZSxnLGgsaSxqLGspe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9
Z3wwO2g9aHwwO2k9aXwwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0wLG49MCxvPTAscD0wLHE9MDtx
PXQ7dD10KzE2fDA7bj1xO3A9ZlthKzE1Mj4+Ml18MDtpZihjfDA/YltjKzgxPj4wXXwwOjApe2lm
KCFqKW09MDtlbHNle209REgoKGMwKGopfDApKzExfDApfDA7c3dpdGNoKGR8MCl7Y2FzZSAxMTp7
bD0xMTY1NTA7YnJlYWt9Y2FzZSA3OntsPTEwOTkwOTticmVha31jYXNlIDY6e2w9MTA5OTE5O2Jy
ZWFrfWRlZmF1bHQ6eGEoMTQ2NjY0LDEwODIzMiwyNzMwLDEwODM3MCl9ZltuPj4yXT1qO2Zbbis0
Pj4yXT1sO2QkKG0sMTA4Mzg2LG4pfDB9bj1hKzE2fDA7aj0oZltuPj4yXXwwKSsxMnwwO289Zltq
Pj4yXXwwO2Zbaj4+Ml09ZDtqPShlfDApIT0wfChnfDApIT0wO2w9KHAmNHwwKT09MDtpZihqJmwp
e1BGKGEsYyk7WU8oYSxnLGgsaSxtKX14SChhLGQsYyk7aWYoa3wwKVFGKGEsYyxrKTtpZihqKXtp
ZighbCl7UEYoYSxjKTtZTyhhLGcsaCxpLG0pfVpPKGEpfU1fKG0pO2ZbKGZbbj4+Ml18MCkrMTI+
PjJdPW99dD1xO3JldHVybn1mdW5jdGlvbiBQRihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0w
LGU9MCxnPTAsaD0wLGk9MDtjPWZbYSsxNj4+Ml18MDtkPWZbYSsxNTI+PjJdfDA7aWYoZCY0MjU5
ODQwfDApe2U9ZCYxMzEwNzI7ZltjKzI2ND4+Ml09ZT4+PjE2XjI7aT1jKzI2OHwwO2ZbaT4+Ml09
KGU+Pj4xNl4yKSsyO2g9YysyNzJ8MDtNXyhmW2g+PjJdfDApO2M9REgoZltpPj4yXTw8NCl8MDtm
W2g+PjJdPWM7aD1iKzU2fDA7aT1iKzI0fDA7cFtjPj4zXT0rcFtoPj4zXS0rcFtpPj4zXSouNTtn
PWIrNjR8MDtiPWIrMzJ8MDtwW2MrOD4+M109K3BbZz4+M10tK3BbYj4+M10qLjU7cFtjKzE2Pj4z
XT0rcFtpPj4zXSouNSsgK3BbaD4+M107cFtjKzI0Pj4zXT0rcFtiPj4zXSouNSsgK3BbZz4+M107
aWYoIShkJjgxOTIpKUhPKGEsYyxjLDIpfDA7aWYoIWUpZEgoYyl9cmV0dXJufWZ1bmN0aW9uIFFG
KGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0w
LG09MCxuPTAuMDttPXQ7dD10Kzk2fDA7Zz1tKzgwfDA7aD1tO2k9bSs2NHwwO2o9bSs0OHwwO2U9
ZltjPj4yXXwwO3doaWxlKDEpe2s9YltlPj4wXXwwO2lmKCEoazw8MjQ+PjI0KSlicmVhaztpZigh
KFAkKGsmMjU1KXwwKSl7bD00O2JyZWFrfWVsc2UgZT1lKzF8MH1pZigobHwwKT09NCl7bj0rcFtj
KzI0Pj4zXTtrPWMrNTZ8MDtSRihoLCtwW2s+PjNdK24qLjUsK3BbYys2ND4+M10tK3BbYyszMj4+
M10qLjUpO2w9aCsxNnwwO1JGKGksK3BbaD4+M10tbiwrcFtoKzg+PjNdKTtmW2w+PjJdPWZbaT4+
Ml07ZltsKzQ+PjJdPWZbaSs0Pj4yXTtmW2wrOD4+Ml09ZltpKzg+PjJdO2ZbbCsxMj4+Ml09Zltp
KzEyPj4yXTtsPWgrMzJ8MDtmW2c+PjJdPWZbaz4+Ml07ZltnKzQ+PjJdPWZbays0Pj4yXTtmW2cr
OD4+Ml09ZltrKzg+PjJdO2ZbZysxMj4+Ml09ZltrKzEyPj4yXTtrTShqLGQsZyk7ZltsPj4yXT1m
W2o+PjJdO2ZbbCs0Pj4yXT1mW2orND4+Ml07ZltsKzg+PjJdPWZbais4Pj4yXTtmW2wrMTI+PjJd
PWZbaisxMj4+Ml07ZlAoYSxmWyhmW2E+PjJdfDApKzMzNj4+Ml18MCk7YlAoYSxmW2MrOD4+Ml18
MCk7a1AoYSxoLDMpfXQ9bTtyZXR1cm59ZnVuY3Rpb24gUkYoYSxiLGMpe2E9YXwwO2I9K2I7Yz0r
YztwW2E+PjNdPWI7cFthKzg+PjNdPWM7cmV0dXJufWZ1bmN0aW9uIFNGKGEsYil7YT1hfDA7Yj1i
fDA7dmFyIGM9MCxkPTAsZT0wLGc9MC4wLGg9MC4wLGk9MCxqPTA7Yz1mW2ErMTY+PjJdfDA7ZD1m
W2ErMTUyPj4yXXwwO2lmKGQmNDI1OTg0MHwwKXtlPWQmMTMxMDcyO2ZbYysyNjQ+PjJdPWU+Pj4x
Nl4yO2o9YysyNjh8MDtmW2o+PjJdPShlPj4+MTZeMikrMjtpPWMrMjcyfDA7TV8oZltpPj4yXXww
KTtjPURIKGZbaj4+Ml08PDQpfDA7ZltpPj4yXT1jO2g9K3BbYj4+M107cFtjPj4zXT1oKy0zLjA7
Zz0rcFtiKzg+PjNdO3BbYys4Pj4zXT1nKy0zLjA7cFtjKzE2Pj4zXT1oKzMuMDtwW2MrMjQ+PjNd
PWcrMy4wO2lmKCEoZCY4MTkyKSlITyhhLGMsYywyKXwwO2lmKCFlKWRIKGMpfXJldHVybn1mdW5j
dGlvbiBURihhLGIsYyxkLGUsZyxoKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPStn
O2g9K2g7dmFyIGk9MCxqPTAsaz0wLjAsbD0wLjAsbT0wLG89MCxwPTAscT0wLHI9MCxzPTAsdT0w
LHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAs
Sj0wO0o9dDt0PXQrMjU2fDA7RD1KKzIyNHwwO0M9SisyMDh8MDtpPUorMTkyfDA7Rj1KKzE0NHww
O0c9Sis5NnwwO0g9Sis0OHwwO0U9SjtqPUorMjQwfDA7ZD1hRihkLGUsail8MDtpZigoZHwwKT4x
KXt6PWIrNDh8MDtBPW56KGZbKChmW2I+PjJdJjN8MCk9PTM/Yjp6KSs0MD4+Ml18MCl8MDt6PUF5
KGZbKChmW2I+PjJdJjN8MCk9PTM/Yjp6KSs0MD4+Ml18MCl8MDtBPShueShBKXwwKT09MDtCPUF5
KGZbKChmW2I+PjJdJjN8MCk9PTI/YjpiKy00OHwwKSs0MD4+Ml18MCl8MDtmW2k+PjJdPXo7Zltp
KzQ+PjJdPUE/MTA4NDA1OjEwODQxMDtmW2krOD4+Ml09QjtZdygzLDEwODQxNSxpKXwwO2lmKChk
fDApPT0yKWQ9MTtlbHNlIEk9NH1lbHNlIGlmKChkfDApPT0xKWQ9MTtlbHNlIEk9NDtpZigoSXww
KT09NCl7Qj1iKzE2fDA7cT1mW2o+PjJdfDA7cj1xKzh8MDtzPUgrNHwwO3U9Ris4fDA7dj1GKzEy
fDA7dz1GKzE2fDA7eD1GKzMyfDA7eT1GKzR8MDt6PUUrNHwwO0E9KGN8MCkhPTA7cD0oY3wwKT09
MDtkPTA7bz0wO3doaWxlKDEpe2U9ZlsoZltCPj4yXXwwKSs4Pj4yXXwwO2lmKChvfDApPj0oZltl
KzQ+PjJdfDApKWJyZWFrO2k9RjtlPShmW2U+PjJdfDApKyhvKjQ4fDApfDA7Yj1pKzQ4fDA7ZG97
ZltpPj4yXT1mW2U+PjJdO2k9aSs0fDA7ZT1lKzR8MH13aGlsZSgoaXwwKTwoYnwwKSk7Yj0xO2s9
MS4wO209ZltyPj4yXXwwO2E6d2hpbGUoMSl7ZT1mW20+PjJdfDA7aWYoIWUpYnJlYWs7aj1tKzR8
MDtsPStuW2o+PjJdO2RvIGlmKGw8MS4wZS0wNSZsPi0xLjBlLTA1KWU9YjtlbHNle2JQKGEsZSk7
bD0rbltqPj4yXTtrPWstbDtkPWZbbT4+Ml18MDtpZihifDApe2JHKEYsbCxILEUpO2o9ZltIPj4y
XXwwO2pQKGEsaixmW3M+PjJdfDAsMCwwLDApO01fKGopO2lmKGs8MS4wZS0wNSZrPi0xLjBlLTA1
KXtJPTExO2JyZWFrIGF9ZWxzZXtlPTA7YnJlYWt9fWlmKGs8MS4wZS0wNSZrPi0xLjBlLTA1KXtJ
PTEzO2JyZWFrIGF9aT1HO2U9RTtiPWkrNDh8MDtkb3tmW2k+PjJdPWZbZT4+Ml07aT1pKzR8MDtl
PWUrNHwwfXdoaWxlKChpfDApPChifDApKTtsPStuW2o+PjJdO2JHKEcsbC8oaytsKSxILEUpO01f
KGZbRz4+Ml18MCk7ZT1mW0g+PjJdfDA7alAoYSxlLGZbcz4+Ml18MCwwLDAsMCk7TV8oZSk7ZT0w
fXdoaWxlKDApO2I9ZTttPW0rMTJ8MH1pZigoSXwwKT09MTEpe0k9MDtNXyhmW0U+PjJdfDApfWVs
c2UgaWYoKEl8MCk9PTEzKXtJPTA7bT1mW0U+PjJdfDA7alAoYSxtLGZbej4+Ml18MCwwLDAsMCk7
TV8obSl9aWYoZlt1Pj4yXXwwKXtiUChhLGZbZltyPj4yXT4+Ml18MCk7ZFAoYSxmW2Zbcj4+Ml0+
PjJdfDApO2o9ZltGPj4yXXwwO209Zlt1Pj4yXXwwO2ZbQz4+Ml09Zlt3Pj4yXTtmW0MrND4+Ml09
Zlt3KzQ+PjJdO2ZbQys4Pj4yXT1mW3crOD4+Ml07ZltDKzEyPj4yXT1mW3crMTI+PjJdO2ZbRD4+
Ml09ZltqPj4yXTtmW0QrND4+Ml09ZltqKzQ+PjJdO2ZbRCs4Pj4yXT1mW2orOD4+Ml07ZltEKzEy
Pj4yXT1mW2orMTI+PjJdO1RFKGEsMixDLEQsZyxoLG0pfWlmKGZbdj4+Ml18MCl7YlAoYSxkKTtk
UChhLGQpO2o9KGZbRj4+Ml18MCkrKChmW3k+PjJdfDApKy0xPDw0KXwwO209Zlt2Pj4yXXwwO2Zb
Qz4+Ml09Zlt4Pj4yXTtmW0MrND4+Ml09Zlt4KzQ+PjJdO2ZbQys4Pj4yXT1mW3grOD4+Ml07ZltD
KzEyPj4yXT1mW3grMTI+PjJdO2ZbRD4+Ml09ZltqPj4yXTtmW0QrND4+Ml09ZltqKzQ+PjJdO2Zb
RCs4Pj4yXT1mW2orOD4+Ml07ZltEKzEyPj4yXT1mW2orMTI+PjJdO1RFKGEsMyxDLEQsZyxoLG0p
fWRvIGlmKChmWyhmWyhmW0I+PjJdfDApKzg+PjJdfDApKzQ+PjJdfDApPjEpe2lmKCEoZlt1Pj4y
XXwwKSl7aWYoIShBJihmW3Y+PjJdfDApIT0wKSlicmVha31lbHNlIGlmKHApYnJlYWs7ZlAoYSxj
KX13aGlsZSgwKTtvPW8rMXwwfWJGKHEpO2Q9MH10PUo7cmV0dXJuIGR8MH1mdW5jdGlvbiBVRihh
LGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wO2Q9MTthOndoaWxlKDEpe3N3aXRjaChiW2E+PjBd
fDApe2Nhc2UgMDpicmVhayBhO2Nhc2UgNTg6e2Q9ZCsxfDA7YnJlYWt9ZGVmYXVsdDp7fX1hPWEr
MXwwfWU9VigoYzAoYyl8MCkrMXwwLGQpfDA7YT1lKzEwfDA7aWYoKGZbNDgzMTJdfDApPChlfDAp
KXtmWzQ4MzEyXT1hO2E9T18oZls0ODMxM118MCxhKXwwO2ZbNDgzMTNdPWF9ZWxzZSBhPWZbNDgz
MTNdfDA7dTEoYSxjKXwwO3doaWxlKDEpe2Q9ZCstMXwwO2E9Zls0ODMxM118MDtpZighZClicmVh
aztlPWErKGMwKGEpfDApfDA7YltlPj4wXT01ODtiW2UrMT4+MF09MDt2MShhLGMpfDB9cmV0dXJu
IGF8MH1mdW5jdGlvbiBWRihhKXthPWF8MDt2YXIgYz0wLGQ9MDtjPWZbNDgzNzZdfDA7YTpkbyBp
ZighYylkPTc7ZWxzZXtjPUh4KGEsYyl8MDtzd2l0Y2goYltjPj4wXXwwKXtjYXNlIDExMDppZigh
KEgkKGMsMTQzOTc5KXwwKSl7Yz0yO2JyZWFrIGF9ZWxzZXtkPTc7YnJlYWsgYX1jYXNlIDEwMjpp
ZighKEgkKGMsMTA4MzkyKXwwKSl7Yz0xO2JyZWFrIGF9ZWxzZXtkPTc7YnJlYWsgYX1jYXNlIDk4
OntpZighKEgkKGMsMTA4NDAwKXwwKSl7Yz0zO2JyZWFrIGF9aWYoIShIJChjLDExOTU0Nyl8MCkp
e2M9NDticmVhayBhfWVsc2V7ZD03O2JyZWFrIGF9fWRlZmF1bHQ6e2Q9NzticmVhayBhfX19d2hp
bGUoMCk7aWYoKGR8MCk9PTcpe2M9KG55KG56KGZbKChmW2E+PjJdJjN8MCk9PTI/YTphKy00OHww
KSs0MD4+Ml18MCl8MCl8MCk9PTA7Yz1jPzI6MX1yZXR1cm4gY3wwfWZ1bmN0aW9uIFdGKGEpe2E9
YXwwO2lmKGF8MCl7TV8oZlthKzg+PjJdfDApO01fKGEpfXJldHVybn1mdW5jdGlvbiBYRihhLGIs
Yyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MC4wLGU9MC4wLGY9MC4wO2U9K3BbYj4+M10tK3Bb
Yz4+M107Zj0rcFtiKzg+PjNdLStwW2MrOD4+M107ZD0yLjAvK0ooKyhlKmUrLjAwMDErZipmKSk7
cFthPj4zXT1kKmY7cFthKzg+PjNdPS0oZSpkKTtyZXR1cm59ZnVuY3Rpb24gWUYoYSxiLGMsZCxl
KXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLjAsZz0wLjAsaD0wLjAsaT0w
LjA7Zz0rcFtjPj4zXS0rcFtkPj4zXTtoPStwW2MrOD4+M10tK3BbZCs4Pj4zXTtmPStKKCsoaCpo
K2cqZykpO2lmKGY8LjAwMDEpe2k9K3BbYj4+M10tK3BbZT4+M107Zj0rcFtiKzg+PjNdLStwW2Ur
OD4+M107aD1mO2c9aTtmPStKKCsoaSppKy4wMDAxK2YqZikpfWk9Mi4wL2Y7cFthPj4zXT1oKmk7
cFthKzg+PjNdPS0oaSpnKTtyZXR1cm59ZnVuY3Rpb24gWkYoYSxiLGMpe2E9K2E7Yj0rYjtjPStj
O3JldHVybiArKGMqLjUpfWZ1bmN0aW9uIF9GKGEsYixjKXthPSthO2I9K2I7Yz0rYztyZXR1cm4g
KyhjKi41KigxLjAtYS9iKSl9ZnVuY3Rpb24gJEYoYSxiLGMpe2E9K2E7Yj0rYjtjPStjO3JldHVy
biArKGMqLjUqKGEvYikpfWZ1bmN0aW9uIGFHKGEsYixjKXthPSthO2I9K2I7Yz0rYztiPWEvYjty
ZXR1cm4gKygoIShiPD0uNSk/MS4wLWI6YikqYyl9ZnVuY3Rpb24gYkcoYSxiLGMsZCl7YT1hfDA7
Yj0rYjtjPWN8MDtkPWR8MDt2YXIgZT0wLjAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49
MCxvPTAuMCxxPTAscj0wO249dDt0PXQrMTZ8MDttPW47bD1mW2ErND4+Ml18MDtpPShsKy0xfDAp
LzN8MDtpZigobCstNHwwKT4+PjA8Myl7ZltjKzQ+PjJdPTQ7bD1ESCg2NCl8MDtmW2M+PjJdPWw7
ZltkKzQ+PjJdPTQ7bD1ESCg2NCl8MDtmW2Q+PjJdPWw7ZU0obSxmW2E+PjJdfDAsMyxiLGZbYz4+
Ml18MCxsKX1lbHNle2w9REgoaTw8Myl8MDtnPTA7aD1mW2E+PjJdfDA7ZT0wLjA7d2hpbGUoMSl7
aWYoKGd8MCk+PShpfDApKWJyZWFrO289K2NHKGgpO3BbbCsoZzw8Myk+PjNdPW87Zz1nKzF8MDto
PWgrNDh8MDtlPW8rZX1iPWUqYjtrPTA7ZT0wLjA7d2hpbGUoMSl7aWYoKGl8MCk8PShrfDApKWJy
ZWFrO2U9K3BbbCsoazw8Myk+PjNdK2U7aWYoZT49YilicmVhaztrPWsrMXwwfWo9ayozfDA7Zz1q
KzR8MDtoPWMrNHwwO2ZbaD4+Ml09ZztnPURIKGc8PDQpfDA7ZltjPj4yXT1nO2c9KChpLWt8MCkq
M3wwKSsxfDA7aT1kKzR8MDtmW2k+PjJdPWc7Zz1ESChnPDw0KXwwO2ZbZD4+Ml09ZztnPTA7d2hp
bGUoMSl7aWYoKGd8MCk+PShmW2g+PjJdfDApKWJyZWFrO3E9KGZbYz4+Ml18MCkrKGc8PDQpfDA7
cj0oZlthPj4yXXwwKSsoZzw8NCl8MDtmW3E+PjJdPWZbcj4+Ml07ZltxKzQ+PjJdPWZbcis0Pj4y
XTtmW3ErOD4+Ml09ZltyKzg+PjJdO2ZbcSsxMj4+Ml09ZltyKzEyPj4yXTtnPWcrMXwwfWc9Zyst
NHwwO2g9MDt3aGlsZSgxKXtpZigoaHwwKT49KGZbaT4+Ml18MCkpYnJlYWs7cj0oZltkPj4yXXww
KSsoaDw8NCl8MDtxPShmW2E+PjJdfDApKyhnPDw0KXwwO2Zbcj4+Ml09ZltxPj4yXTtmW3IrND4+
Ml09ZltxKzQ+PjJdO2Zbcis4Pj4yXT1mW3ErOD4+Ml07ZltyKzEyPj4yXT1mW3ErMTI+PjJdO2c9
ZysxfDA7aD1oKzF8MH1vPStwW2wrKGs8PDMpPj4zXTtlTShtLChmW2E+PjJdfDApKyhqPDw0KXww
LDMsKGItZStvKS9vLChmW2M+PjJdfDApKyhqPDw0KXwwLGZbZD4+Ml18MCk7TV8obCl9dD1uO3Jl
dHVybn1mdW5jdGlvbiBjRyhhKXthPWF8MDt2YXIgYj0wLjAsYz0wLjAsZD0wLjAsZT0wLjAsZj0w
LjA7ZT0rcFthKzE2Pj4zXTtkPStwW2E+PjNdLWU7Zj0rcFthKzI0Pj4zXTtiPStwW2ErOD4+M10t
ZjtkPStKKCsoYipiK2QqZCkpO2I9K3BbYSszMj4+M107ZT1lLWI7Yz0rcFthKzQwPj4zXTtmPWYt
YztkPStKKCsoZipmK2UqZSkpK2Q7Yj1iLStwW2ErNDg+PjNdO2M9Yy0rcFthKzU2Pj4zXTtyZXR1
cm4gKyhkKyArSigrKGMqYytiKmIpKSl9ZnVuY3Rpb24gZEcoYSxjKXthPWF8MDtjPWN8MDtjPW96
KGMpfDA7aWYoKGJbKGZbYysxNj4+Ml18MCkrMTE1Pj4wXXwwKT09MSljPV9NKGEpfDA7ZWxzZSBj
PVhNKGEsYyl8MDtyZXR1cm4ga0coYyl8MH1mdW5jdGlvbiBlRyhhLGIsYyxkLGUpe2E9YXwwO2I9
YnwwO2M9Y3wwO2Q9ZHwwO2U9K2U7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAs
bz0wLHA9MCxxPTAscj0wO3A9dDt0PXQrMTY2NHwwO2w9cCsxNjAwfDA7bT1wKzgwMHwwO249cDtv
PUVIKDI0KXwwO2ZbbysxNj4+Ml09MTtqPSgoZltkKzQ+PjJdfDApKy0xfDApLzN8MDtoPTA7aT1v
O3doaWxlKDEpe2lmKChofDApPj0oanwwKSlicmVhaztrPWgqM3wwO2c9MDt3aGlsZSgxKXtpZigo
Z3wwKT09NClicmVhaztxPWwrKGc8PDQpfDA7cj0oZltkPj4yXXwwKSsoZytrPDw0KXwwO2ZbcT4+
Ml09ZltyPj4yXTtmW3ErND4+Ml09ZltyKzQ+PjJdO2ZbcSs4Pj4yXT1mW3IrOD4+Ml07ZltxKzEy
Pj4yXT1mW3IrMTI+PjJdO2c9ZysxfDB9aD1oKzF8MDtpPWZHKGwsaSl8MH1nPTA7aD0wO2s9bzt3
aGlsZSgxKXtpZighaylicmVhaztkPWZbaysxNj4+Ml18MDtpPW0rKGc8PDQpfDA7aj1uKyhnPDw0
KXwwO2dHKGgsayxkLGksaixlKTtnPWcrMXwwO2lmKChnfDApPT01MHwoZHwwKT09MCl7aEcoYSxi
LGMsZyxtLG4pO2ZbbT4+Ml09ZltpPj4yXTtmW20rND4+Ml09ZltpKzQ+PjJdO2ZbbSs4Pj4yXT1m
W2krOD4+Ml07ZlttKzEyPj4yXT1mW2krMTI+PjJdO2Zbbj4+Ml09ZltqPj4yXTtmW24rND4+Ml09
ZltqKzQ+PjJdO2Zbbis4Pj4yXT1mW2orOD4+Ml07ZltuKzEyPj4yXT1mW2orMTI+PjJdO2c9MX1o
PWs7az1kfWg9bztnPW87d2hpbGUoMSl7aWYoIWgpYnJlYWs7cj1mW2grMTY+PjJdfDA7TV8oZyk7
aD1yO2c9cn10PXA7cmV0dXJufWZ1bmN0aW9uIGZHKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxk
PTAsZT0wLGc9MDtnPXQ7dD10KzE0NHwwO2U9ZysxMjh8MDtjPWcrNjR8MDtkPWc7aWYoIShnRihh
KXwwKSl7ZU0oZSxhLDMsLjUsYyxkKTtjPWZHKGQsZkcoYyxiKXwwKXwwfWVsc2V7Yz1iKzE2fDA7
aWYoKGZbYz4+Ml18MCk9PTEpe2ZbYz4+Ml09MDtmW2I+PjJdPWZbYT4+Ml07ZltiKzQ+PjJdPWZb
YSs0Pj4yXTtmW2IrOD4+Ml09ZlthKzg+PjJdO2ZbYisxMj4+Ml09ZlthKzEyPj4yXX1jPWErNDh8
MDtmW2U+PjJdPWZbYz4+Ml07ZltlKzQ+PjJdPWZbYys0Pj4yXTtmW2UrOD4+Ml09ZltjKzg+PjJd
O2ZbZSsxMj4+Ml09ZltjKzEyPj4yXTtjPWpHKGUsYil8MH10PWc7cmV0dXJuIGN8MH1mdW5jdGlv
biBnRyhhLGIsYyxkLGUsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz0rZzt2YXIg
aD0wLjAsaT0wLjAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MC4wLHM9MC4wO3E9dDt0
PXQrOTZ8MDtsPXErODB8MDtrPXErNjR8MDtqPXErNDh8MDttPXErMzJ8MDtuPXErMTZ8MDtvPXE7
ZlttPj4yXT1mW2I+PjJdO2ZbbSs0Pj4yXT1mW2IrND4+Ml07ZlttKzg+PjJdPWZbYis4Pj4yXTtm
W20rMTI+PjJdPWZbYisxMj4+Ml07ZG8gaWYoYSl7ZltuPj4yXT1mW2E+PjJdO2Zbbis0Pj4yXT1m
W2ErND4+Ml07ZltuKzg+PjJdPWZbYSs4Pj4yXTtmW24rMTI+PjJdPWZbYSsxMj4+Ml07aWYoIWMp
e2g9K3BbbT4+M107cFtvPj4zXT1oKjIuMC0rcFtuPj4zXTtpPStwW20rOD4+M107cFtvKzg+PjNd
PWkqMi4wLStwW24rOD4+M107YnJlYWt9ZWxzZXtmW28+PjJdPWZbYz4+Ml07ZltvKzQ+PjJdPWZb
Yys0Pj4yXTtmW28rOD4+Ml09ZltjKzg+PjJdO2ZbbysxMj4+Ml09ZltjKzEyPj4yXTtoPStwW20+
PjNdO2k9K3BbbSs4Pj4zXTticmVha319ZWxzZXtmW28+PjJdPWZbYz4+Ml07ZltvKzQ+PjJdPWZb
Yys0Pj4yXTtmW28rOD4+Ml09ZltjKzg+PjJdO2ZbbysxMj4+Ml09ZltjKzEyPj4yXTtoPStwW20+
PjNdO3Bbbj4+M109aCoyLjAtK3Bbbz4+M107aT0rcFttKzg+PjNdO3Bbbis4Pj4zXT1pKjIuMC0r
cFtvKzg+PjNdfXdoaWxlKDApO2Zbaj4+Ml09ZltuPj4yXTtmW2orND4+Ml09ZltuKzQ+PjJdO2Zb
ais4Pj4yXT1mW24rOD4+Ml07ZltqKzEyPj4yXT1mW24rMTI+PjJdO2Zbaz4+Ml09ZlttPj4yXTtm
W2srND4+Ml09ZlttKzQ+PjJdO2Zbays4Pj4yXT1mW20rOD4+Ml07ZltrKzEyPj4yXT1mW20rMTI+
PjJdO2ZbbD4+Ml09ZltvPj4yXTtmW2wrND4+Ml09ZltvKzQ+PjJdO2ZbbCs4Pj4yXT1mW28rOD4+
Ml07ZltsKzEyPj4yXT1mW28rMTI+PjJdO3M9K2lHKGosayxsKTtyPStMKCtzKSpnO2c9K00oK3Mp
Kmc7cFtkPj4zXT1yK2g7cFtkKzg+PjNdPWkrZztwW2U+PjNdPWgtcjtwW2UrOD4+M109aS1nO3Q9
cTtyZXR1cm59ZnVuY3Rpb24gaEcoYSxiLGMsZCxlLGcpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHww
O2U9ZXwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MCxrPTA7aT1mW2M+PjJdfDA7aD0wO2o9MDt3aGls
ZSgxKXtpZigoaHwwKT49KGl8MCkpYnJlYWs7az0oZlsoZltiPj4yXXwwKSsoaDw8Mik+PjJdfDAp
K2p8MDtoPWgrMXwwO2o9a31rPWQ8PDE7aT1pKzF8MDtmW2M+PjJdPWk7aT1HSChmW2I+PjJdfDAs
aTw8Mil8MDtmW2I+PjJdPWk7ZltpKyhoPDwyKT4+Ml09aztiPWora3wwO2g9R0goZlthPj4yXXww
LGI8PDQpfDA7ZlthPj4yXT1oO2I9YistMXwwO2g9MDt3aGlsZSgxKXtpZigoaHwwKT49KGR8MCkp
YnJlYWs7az0oZlthPj4yXXwwKSsoaCtqPDw0KXwwO2k9ZSsoaDw8NCl8MDtmW2s+PjJdPWZbaT4+
Ml07ZltrKzQ+PjJdPWZbaSs0Pj4yXTtmW2srOD4+Ml09ZltpKzg+PjJdO2ZbaysxMj4+Ml09Zltp
KzEyPj4yXTtrPShmW2E+PjJdfDApKyhiLWg8PDQpfDA7aT1nKyhoPDw0KXwwO2Zbaz4+Ml09Zltp
Pj4yXTtmW2srND4+Ml09ZltpKzQ+PjJdO2Zbays4Pj4yXT1mW2krOD4+Ml07ZltrKzEyPj4yXT1m
W2krMTI+PjJdO2g9aCsxfDB9cmV0dXJufWZ1bmN0aW9uIGlHKGEsYixjKXthPWF8MDtiPWJ8MDtj
PWN8MDt2YXIgZD0wLjAsZT0wLjAsZj0wLjA7Zj0rcFtiKzg+PjNdO2Q9K3BbYj4+M107ZT0rUigr
KCtwW2MrOD4+M10tZiksKygrcFtjPj4zXS1kKSk7ZD0rUigrKCtwW2ErOD4+M10tZiksKygrcFth
Pj4zXS1kKSk7ZT1lLWQ7cmV0dXJuICsoKGU+MC4wP2UrLTYuMjgzMTg1MzA3MTc5NTg2OmUpKi41
K2QpfWZ1bmN0aW9uIGpHKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtjPUVIKDI0KXwwO2ZbYysx
Nj4+Ml09MDtmW2M+PjJdPWZbYT4+Ml07ZltjKzQ+PjJdPWZbYSs0Pj4yXTtmW2MrOD4+Ml09Zlth
Kzg+PjJdO2ZbYysxMj4+Ml09ZlthKzEyPj4yXTtmW2IrMTY+PjJdPWM7cmV0dXJuIGN8MH1mdW5j
dGlvbiBrRyhhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZj0wLGc9MDtjPWE7Zj1hO2E6d2hpbGUo
MSl7ZT0wO3doaWxlKDEpe2Q9YztjPWMrMXwwO2Q9YltkPj4wXXwwO2lmKCEoZDw8MjQ+PjI0KSli
cmVhayBhO2lmKGU8PDI0Pj4yNCl7Zz01O2JyZWFrfWlmKGQ8PDI0Pj4yNCE9OTIpYnJlYWs7ZWxz
ZSBlPTF9YjpkbyBpZigoZ3wwKT09NSl7Zz0wO3N3aXRjaChkPDwyND4+MjR8MCl7Y2FzZSAxMDg6
Y2FzZSAxMTA6e2Q9MTA7YnJlYWsgYn1jYXNlIDExNDp7ZD0xMzticmVhayBifWRlZmF1bHQ6YnJl
YWsgYn19d2hpbGUoMCk7YltmPj4wXT1kO2Y9ZisxfDB9YltmPj4wXT0wO3JldHVybiBhfDB9ZnVu
Y3Rpb24gbEcoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MDtkPWZbYT4+
Ml18MDt3aGlsZSgxKXtnPWJbZD4+MF18MDtpZighKGc8PDI0Pj4yNCkpe2U9MDticmVha31pZigh
KGc8PDI0Pj4yND09NDR8KFAkKGc8PDI0Pj4yNCl8MCkhPTApKXtlPWc7YnJlYWt9ZD1kKzF8MH1l
PWU8PDI0Pj4yNDthOmRvIHN3aXRjaChlfDApe2Nhc2UgMDpicmVhaztjYXNlIDQxOmNhc2UgNDA6
e2Q9ZCsxfDA7YnJlYWt9ZGVmYXVsdDp7aD1jKzR8MDtpPWMrOHwwO3doaWxlKDEpe2lmKChtRyhn
PDwyND4+MjQpfDApPDwyND4+MjQpe2U9MTticmVhayBhfWU9ZltoPj4yXXwwO2lmKGU+Pj4wPj0o
ZltpPj4yXXwwKT4+PjApe2J4KGMsMSl8MDtlPWZbaD4+Ml18MH1mW2g+PjJdPWUrMTtiW2U+PjBd
PWc7ZT1kKzF8MDtkPWU7Zz1iW2U+PjBdfDB9fX13aGlsZSgwKTtmW2E+PjJdPWQ7cmV0dXJuIGV8
MH1mdW5jdGlvbiBtRyhhKXthPWF8MDtzd2l0Y2goYXwwKXtjYXNlIDA6Y2FzZSA0NDpjYXNlIDQx
OmNhc2UgNDA6e2E9MTticmVha31kZWZhdWx0OmE9MH1yZXR1cm4gYXwwfWZ1bmN0aW9uIG5HKGEs
Yil7YT1hfDA7Yj1ifDA7cmV0dXJuIG9HKGZbYT4+Ml18MCxmW2ErMTYwPj4yXXwwLGZbYSsxNTY+
PjJdfDAsYil8MH1mdW5jdGlvbiBvRyhhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2
YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MDtuPXQ7dD10KzE2MHwwO2s9bisxNDh8
MDtsPW4rMTQ0fDA7bT1uKzEyOHwwO2Zbaz4+Ml09MDtmW2w+PjJdPTA7YXgobSwxMjgsbik7ZHgo
bSxlKXwwO2c9bSs0fDA7ZT1mW2c+PjJdfDA7aWYoZT4+PjA+PShmW20rOD4+Ml18MCk+Pj4wKXti
eChtLDEpfDA7ZT1mW2c+PjJdfDB9YltlPj4wXT0wO2g9ZlttPj4yXXwwO2ZbZz4+Ml09aDtpPWEr
MzAwfDA7aj1hKzI5NnwwO2U9MDtnPWg7d2hpbGUoMSl7aWYoZTw8MjQ+PjI0KXtlPTE7YnJlYWt9
ZT1lMyhnLGZbaT4+Ml18MCxrKXwwO2lmKCFlKXtlPTA7YnJlYWt9Zz1lMyhlLGZbaj4+Ml18MCxs
KXwwO2g9KGd8MCkhPTA7aWYoaCllPWUzKDAsZltqPj4yXXwwLGwpfDA7ZWxzZSBlPTA7c3dpdGNo
KCgoZXwwKSE9MCYxKSsoaCYxKSYzKXtjYXNlIDI6e2g9cEcoYSxnLDApfDA7ZT1wRyhhLGUsZCl8
MDtnPShofDApPihlfDApO2U9KGUmaHwwKT4tMSYoKChnP2g6ZSl8MCk+PShjfDApJigoZz9lOmgp
fDApPD0oY3wwKSk7YnJlYWt9Y2FzZSAxOntlPShwRyhhLGcsYyl8MCk9PShjfDApO2JyZWFrfWRl
ZmF1bHQ6ZT0wfWU9ZSYxO2c9MH1leChtKTt0PW47cmV0dXJuIGV8MH1mdW5jdGlvbiBwRyhhLGMs
ZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wO2g9YltjPj4wXXwwO2lmKCEoaDw8
MjQ+PjI0PT05Nz8oSCQoYywxMDg3MjIpfDApPT0wOjApKWU9MzthOmRvIGlmKChlfDApPT0zKXtp
ZigocUcoYyl8MCk8PDI0Pj4yNCl7ZD1EMihjKXwwO2JyZWFrfWc9ZlthKzMwOD4+Ml18MDtpZigh
ZylkPS0xO2Vsc2V7YT1mW2ErMzEyPj4yXXwwO2Q9MTt3aGlsZSgxKXtpZigoZHwwKT4oYXwwKSl7
ZD0tMTticmVhayBhfWU9ZltnKyhkPDwyKT4+Ml18MDtpZihoPDwyND4+MjQ9PShiW2U+PjBdfDAp
PyhIJChjLGUpfDApPT0wOjApYnJlYWsgYTtkPWQrMXwwfX19d2hpbGUoMCk7cmV0dXJuIGR8MH1m
dW5jdGlvbiBxRyhhKXthPWF8MDt2YXIgYz0wO3doaWxlKDEpe2M9YlthPj4wXXwwO2lmKCEoYzw8
MjQ+PjI0KSl7YT0xO2JyZWFrfWlmKCgoYyYyNTUpKy00OHwwKT4+PjA8MTApYT1hKzF8MDtlbHNl
e2E9MDticmVha319cmV0dXJuIGF8MH1mdW5jdGlvbiByRyhhLGIpe2E9YXwwO2I9YnwwO2lmKCgr
cFthKzE2Pj4zXT49K3BbYj4+M10/K3BbYisxNj4+M10+PStwW2E+PjNdOjApPytwW2ErMjQ+PjNd
Pj0rcFtiKzg+PjNdOjApYT0rcFtiKzI0Pj4zXT49K3BbYSs4Pj4zXSYxO2Vsc2UgYT0wO3JldHVy
biBhfDB9ZnVuY3Rpb24gc0coYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wO2E6
ZG8gaWYoKGZbYSsxNTY+PjJdfDApPj0yPyhlPVdMKGQsZls0ODM1OV18MCwxOTQ4NzApfDAsKG5H
KGEsZSl8MCk8PDI0Pj4yND09MCk6MClpZighKGJbZT4+MF18MCkpaWYoIShTeChjLGQpfDApKWU9
MTtlbHNle2U9U3goYyxkKXwwO3doaWxlKDEpe2lmKCFlKXtlPTA7YnJlYWsgYX1nPVdMKGUsZls0
ODM4Ml18MCwxOTQ4NzApfDA7aWYoIShiW2c+PjBdfDApKXtlPTE7YnJlYWsgYX1pZigobkcoYSxn
KXwwKTw8MjQ+PjI0KXtlPTE7YnJlYWsgYX1lPVR4KGMsZSxkKXwwfX1lbHNlIGU9MDtlbHNlIGU9
MTt3aGlsZSgwKTtyZXR1cm4gZXwwfWZ1bmN0aW9uIHRHKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9
MCxkPTAsZT0wO2M9dDt0PXQrNjR8MDtkPWMrMzJ8MDtlPWM7YT0oZlthKzE2Pj4yXXwwKSs0OHww
O2ZbZT4+Ml09ZlthPj4yXTtmW2UrND4+Ml09ZlthKzQ+PjJdO2ZbZSs4Pj4yXT1mW2ErOD4+Ml07
ZltlKzEyPj4yXT1mW2ErMTI+PjJdO2ZbZSsxNj4+Ml09ZlthKzE2Pj4yXTtmW2UrMjA+PjJdPWZb
YSsyMD4+Ml07ZltlKzI0Pj4yXT1mW2ErMjQ+PjJdO2ZbZSsyOD4+Ml09ZlthKzI4Pj4yXTtmW2Q+
PjJdPWZbYj4+Ml07ZltkKzQ+PjJdPWZbYis0Pj4yXTtmW2QrOD4+Ml09ZltiKzg+PjJdO2ZbZCsx
Mj4+Ml09ZltiKzEyPj4yXTtmW2QrMTY+PjJdPWZbYisxNj4+Ml07ZltkKzIwPj4yXT1mW2IrMjA+
PjJdO2ZbZCsyND4+Ml09ZltiKzI0Pj4yXTtmW2QrMjg+PjJdPWZbYisyOD4+Ml07Yj0ockcoZSxk
KXwwKSYyNTU7dD1jO3JldHVybiBifDB9ZnVuY3Rpb24gdUcoYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wLjAsZT0wLGc9MCxoPTAsaT0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MC4wLHM9MCx0
PTAsdT0wLHY9MC4wLHc9MC4wO3M9ZlthKzE1Mj4+Ml18MDt0PVdFKGEpfDA7Zlt0KzQ+PjJdPTI7
Zlt0Kzg+PjJdPWI7Zlt0KzEyPj4yXT04O2lmKHMmMTY3NzcyMTZ8MCl7cT0obnooYil8MCkrMTZ8
MDtpZigoalsoZltxPj4yXXwwKSsxNzg+PjFdfDApPjIpe2M9K3BbKGZbKGZbYisxNj4+Ml18MCkr
MTMyPj4yXXwwKSsxNj4+M10qNzIuMDtjPSsofn4oYysoYz49MC4wPy41Oi0uNSkpfDApfWVsc2Ug
Yz0wLjA7cFt0KzE2OD4+M109Y31rPWIrMTZ8MDt3RyhhLGZbKGZbaz4+Ml18MCkrMTA0Pj4yXXww
LGIpO2RvIGlmKHMmNDI1OTg0MHwwKXtpZigoZlt0KzIwOD4+Ml18MCk9PTA/KGRbdCsyNjA+PjFd
JjEpPT0wOjApYnJlYWs7cT1RSihiKXwwO2w9ZltrPj4yXXwwO2M9K3BbbCsxNj4+M107cj0rcFts
KzI0Pj4zXTtsPXhHKGIpfDA7YTpkbyBpZigocXwyfDApPT0zKXtuPWZbKGZbaz4+Ml18MCkrMTI+
PjJdfDA7aWYoISgoeUcobil8MCk8PDI0Pj4yNCkpZT0wO2Vsc2UgZT0oZltuKzQ+PjJdfGx8MCkh
PTA7aWYoISgocyY1MjQyODh8MCk9PTB8KChufDApPT0wfGUpKSl7aD1uKzh8MDtlPWZbaD4+Ml18
MDtlPShlfDApPDM/MTplO2k9bis0fDA7bT1mW2k+PjJdfDA7bT0obXwwKT4xP206MTtxPWZbbis0
ND4+Ml18MDtnPUd4KGIsMTExMDMxKXwwO2lmKCFnKWc9MDtlbHNlIGc9RDIoZyl8MDtvPShnKy00
fDApPj4+MD41Nj8yMDpnO2lmKCEoZltpPj4yXXxsKSl7Zlt0KzI2ND4+Ml09MDtnPURIKDMyKXww
O2U9ZltrPj4yXXwwO3c9K3BbZSs4OD4+M107cFtnPj4zXT1jLXc7dj0rcFtlKzgwPj4zXSouNTtw
W2crOD4+M109ci12O3BbZysxNj4+M109dytjO3BbZysyND4+M109dityO2U9MjticmVha31nPWZb
aD4+Ml18MDtpZigoKGd8MCk8Mz8rcFtuKzMyPj4zXT09MC4wOjApPytwW24rMjQ+PjNdPT0wLjA6
MCl7ZT10KzI2NHwwO2lmKGZbbj4+Ml18MCl7ZltlPj4yXT0xO2c9REgoMzIpfDA7cFtnPj4zXT1j
O3BbZys4Pj4zXT1yO2U9KG08PDEpKy0xfDA7cFtnKzE2Pj4zXT0rcFtxKyhlPDw0KT4+M10rYztw
W2crMjQ+PjNdPStwW3ErKGU8PDQpKzg+PjNdK3I7ZT0yO2JyZWFrfWZbZT4+Ml09MjtnPShtPDwx
KSstMXwwO2c9ekcoK3BbcSsoZzw8NCk+PjNdLCtwW3ErKGc8PDQpKzg+PjNdLG8pfDA7ZT0wO3do
aWxlKDEpe2lmKChlfDApPj0ob3wwKSl7ZT1vO2JyZWFrIGF9cT1nKyhlPDw0KXwwO3BbcT4+M109
K3BbcT4+M10rYztxPWcrKGU8PDQpKzh8MDtwW3E+PjNdPStwW3E+PjNdK3I7ZT1lKzF8MH19az1W
KGcsbSstMXwwKXwwO2ZbdCsyNjQ+PjJdPTI7aWYoKGd8MCk8KG98MCkpe2c9REgoZTw8NCl8MDto
PTA7d2hpbGUoMSl7aWYoKGh8MCk+PShlfDApKWJyZWFrIGE7bz1oK2t8MDtwW2crKGg8PDQpPj4z
XT0rcFtxKyhvPDw0KT4+M10rYztwW2crKGg8PDQpKzg+PjNdPStwW3ErKG88PDQpKzg+PjNdK3I7
aD1oKzF8MH19ZWxzZXtpPShnfDApLyhvfDApfDA7Zz1ESChvPDw0KXwwO2U9MDtoPTA7d2hpbGUo
MSl7aWYoKGV8MCk+PShvfDApKXtlPW87YnJlYWsgYX1uPWgra3wwO3BbZysoZTw8NCk+PjNdPStw
W3ErKG48PDQpPj4zXStjO3BbZysoZTw8NCkrOD4+M109K3BbcSsobjw8NCkrOD4+M10rcjtlPWUr
MXwwO2g9aCtpfDB9fX1lbHNlIHU9MzF9ZWxzZSB1PTMxO3doaWxlKDApO2lmKCh1fDApPT0zMSl7
Zlt0KzI2ND4+Ml09MDtnPURIKDMyKXwwO2U9ZltrPj4yXXwwO3BbZz4+M109Yy0rcFtlKzg4Pj4z
XTt3PStwW2UrODA+PjNdKi41O3BbZys4Pj4zXT1yLXc7cFtnKzE2Pj4zXT0rcFtlKzk2Pj4zXStj
O3BbZysyND4+M109dytyO2U9Mn1pZighKHMmODE5MikpSE8oYSxnLGcsZSl8MDtmW3QrMjcyPj4y
XT1nO2ZbdCsyNjg+PjJdPWV9d2hpbGUoMCk7elEoR3goYiwxMDgzNTgpfDApO1VPKGEsYik7cmV0
dXJufWZ1bmN0aW9uIHZHKGEpe2E9YXwwO1ZPKGEpO1hFKGEpO3JldHVybn1mdW5jdGlvbiB3Ryhh
LGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDts
PXQ7dD10KzE0NHwwO2o9bCsxMjh8MDtlPUd4KGQsMTQ4MTkwKXwwO2k9R3goZCwxNDgyMzYpfDA7
az1HeChkLDE0ODIyMyl8MDtheChqLDEyOCxsKTtpZighYyloPTA7ZWxzZSBoPWZbYz4+Ml18MDtp
ZighKChlfDApIT0wPyhiW2U+PjBdfDApIT0wOjApKWU9R3goZCwxMTk3NDcpfDA7Zz1aRShhLGQs
ail8MDtpZighaSljPTA7ZWxzZSBjPWRHKGksZCl8MDtZRShhLGgsZSxjLGssZyxkKXwwO01fKGMp
O2V4KGopO3Q9bDtyZXR1cm59ZnVuY3Rpb24geEcoYSl7YT1hfDA7dmFyIGM9MCxkPTA7YT1YTChh
LGZbNDgzNDldfDAsMTk0ODcwKXwwO2E6ZG8gaWYoIShiW2E+PjBdfDApKWE9MDtlbHNle0pGKGEp
fDA7YT0wO2M9MTg4NDAwO3doaWxlKDEpe2Q9ZltjPj4yXXwwO2lmKCFkKWJyZWFrIGE7ZD0oSCQo
ZCwxMTk0MjcpfDApPT0wO2E9ZD8xOmE7Yz1jKzR8MH19d2hpbGUoMCk7cmV0dXJuIGF8MH1mdW5j
dGlvbiB5RyhhKXthPWF8MDt2YXIgYj0wLjA7aWYoKChmW2ErOD4+Ml18MCk9PTQ/KGI9K3BbYSsx
Nj4+M10sKCh+fihiKyhiPj0wLjA/LjU6LS41KSl8MCklOTB8MHwwKT09MCk6MCk/K3BbYSsyND4+
M109PTAuMDowKWE9K3BbYSszMj4+M109PTAuMCYxO2Vsc2UgYT0wO3JldHVybiBhfDB9ZnVuY3Rp
b24gekcoYSxiLGMpe2E9K2E7Yj0rYjtjPWN8MDt2YXIgZD0wLjAsZT0wLGY9MC4wLGc9MCxoPTAu
MDtmPTYuMjgzMTg1MzA3MTc5NTg2LysoY3wwKTtnPURIKGM8PDQpfDA7ZD0wLjA7ZT0wO3doaWxl
KDEpe2lmKChlfDApPj0oY3wwKSlicmVhaztoPStMKCtkKSphO3BbZysoZTw8NCk+PjNdPWg7aD0r
TSgrZCkqYjtwW2crKGU8PDQpKzg+PjNdPWg7ZD1kK2Y7ZT1lKzF8MH1yZXR1cm4gZ3wwfWZ1bmN0
aW9uIEFHKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MDthOmRvIGlmKChmW2ErMTU2Pj4yXXwwKT49
Mj8oZD1XTChjLHd4KGMsMCwxMDk4MzYsMCl8MCwxOTQ4NzApfDAsKG5HKGEsZCl8MCk8PDI0Pj4y
ND09MCk6MClpZighKGJbZD4+MF18MCkpe2Q9JHkoYyl8MDt3aGlsZSgxKXtpZighZCl7ZD0wO2Jy
ZWFrIGF9aWYoKHNHKGEsYyxkKXwwKTw8MjQ+PjI0KXtkPTE7YnJlYWsgYX1kPWF6KGMsZCl8MH19
ZWxzZSBkPTA7ZWxzZSBkPTE7d2hpbGUoMCk7cmV0dXJuIGR8MH1mdW5jdGlvbiBCRyhhLGIpe2E9
YXwwO2I9YnwwO3ZhciBjPTA7Yz1XRShhKXwwO2ZbYys0Pj4yXT0xO2ZbYys4Pj4yXT1iO2ZbYysx
Mj4+Ml09MTt3RyhhLGZbKGZbYisxNj4+Ml18MCkrMTI+PjJdfDAsYik7T08oYSxiKTtyZXR1cm59
ZnVuY3Rpb24gQ0coYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wO2E9R3goYSwx
NDgyMTcpfDA7YTpkbyBpZigoYXwwKSE9MD8oYlthPj4wXXwwKSE9MDowKXtKRihhKXwwO2Q9MTg4
NDAwO2E9MDt3aGlsZSgxKXtnPWQ7d2hpbGUoMSl7ZD1mW2c+PjJdfDA7aWYoIWQpe2Q9MTg4NDAw
O2JyZWFrIGF9aWYoIShIJChkLDExOTQyNyl8MCkpe2U9NzticmVha31pZighKEgkKGQsMTE0NjYw
KXwwKSl7ZT0xMDticmVha31pZighKEgkKGQsMTE0NjY3KXwwKSl7ZT0xMzticmVha31pZighKEgk
KGQsMTE0NjQyKXwwKSl7ZT0xNjticmVha31nPWcrNHwwfWlmKChlfDApPT03KXtkPWcrNHwwO2E9
YXwxfWVsc2UgaWYoKGV8MCk9PTEwKXtkPWc7ZG97aD1kO2Q9ZCs0fDA7ZT1mW2Q+PjJdfDA7Zlto
Pj4yXT1lfXdoaWxlKChlfDApIT0wKTtkPWc7YT1hfDN9ZWxzZSBpZigoZXwwKT09MTMpe2Q9Zztk
b3tlPWQ7ZD1kKzR8MDtoPWZbZD4+Ml18MDtmW2U+PjJdPWh9d2hpbGUoKGh8MCkhPTApO2Q9Zzth
PWF8NjR9ZWxzZSBpZigoZXwwKT09MTYpe2Q9Zztkb3tlPWQ7ZD1kKzR8MDtoPWZbZD4+Ml18MDtm
W2U+PjJdPWh9d2hpbGUoKGh8MCkhPTApO2Q9ZzthPWF8NH19fWVsc2V7ZD0wO2E9MH13aGlsZSgw
KTtmW2M+PjJdPWE7cmV0dXJuIGR8MH1mdW5jdGlvbiBERyhhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1k
fDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2o9dDt0PXQrMTZ8MDtoPWo7aT1qKzR8MDtm
W2k+PjJdPTA7az0oYUYoYSwwLGkpfDApPT0wO2k9ZltpPj4yXXwwO2lmKChrPyhlPWZbaT4+Ml18
MCwoZXwwKT49Mik6MCk/KGc9aSs4fDAsKGZbZltnPj4yXT4+Ml18MCkhPTApOjApe2lmKChlfDAp
PjIpWXcoMCwxMDg3NDEsaCl8MDtrPUVIKChjMChhKXwwKSsxfDApfDA7ZltjPj4yXT1rO3UxKGss
ZltmW2c+PjJdPj4yXXwwKXwwO2lmKCEoZlsoZltnPj4yXXwwKSsxMj4+Ml18MCkpZltjKzQ+PjJd
PTA7ZWxzZXtrPWZbYz4+Ml18MDtrPWsrKChjMChrKXwwKSsxKXwwO2ZbYys0Pj4yXT1rO3UxKGss
ZlsoZltnPj4yXXwwKSsxMj4+Ml18MCl8MH1hPWZbZz4+Ml18MDtkbyBpZighKGJbYSs4Pj4wXXww
KSlpZighKGJbYSsyMD4+MF18MCkpe25bZD4+Ml09MC4wO2JyZWFrfWVsc2V7bltkPj4yXT0xLjAt
K25bYSsxNj4+Ml07YnJlYWt9ZWxzZSBmW2Q+PjJdPWZbYSs0Pj4yXTt3aGlsZSgwKTtiRihpKTth
PTF9ZWxzZXtmW2M+PjJdPTA7YkYoaSk7YT0wfXQ9ajtyZXR1cm4gYXwwfWZ1bmN0aW9uIEVHKGEs
Yil7YT1hfDA7Yj1ifDA7UE8oYSxiKTtYRShhKTtyZXR1cm59ZnVuY3Rpb24gRkcoYSxiKXthPWF8
MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAuMCxqPTAuMCxrPTAsbD0wLjAsbT0w
LG89MCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTA7eD10O3Q9dCs5Nnww
O209eCs0OHwwO3I9eCsxNnwwO3c9eCs4fDA7dj14O3M9eCs4MHwwO2Zbcz4+Ml09MWUzO2U9RUgo
MTZlMyl8MDt1PWErMjU2fDA7ZD0xO2g9MTtnPTA7bz0wO3E9ZltiKzg+PjJdfDA7d2hpbGUoMSl7
aWYoKG98MCk+PShmW2I+PjJdfDApKWJyZWFrO2M9ZltxPj4yXXwwO2E6ZG8gc3dpdGNoKGN8MCl7
Y2FzZSAxOmNhc2UgMDp7az1xKzgwfDA7ZltyPj4yXT1mW2s+PjJdO2Zbcis0Pj4yXT1mW2srND4+
Ml07ZltyKzg+PjJdPWZbays4Pj4yXTtmW3IrMTI+PjJdPWZbaysxMj4+Ml07ZltyKzE2Pj4yXT1m
W2srMTY+PjJdO2ZbcisyMD4+Ml09ZltrKzIwPj4yXTtmW3IrMjQ+PjJdPWZbaysyND4+Ml07Zlty
KzI4Pj4yXT1mW2srMjg+PjJdO2ZbbT4+Ml09Zlt1Pj4yXTtmW20rND4+Ml09Zlt1KzQ+PjJdO2Zb
bSs4Pj4yXT1mW3UrOD4+Ml07ZlttKzEyPj4yXT1mW3UrMTI+PjJdO2ZbbSsxNj4+Ml09Zlt1KzE2
Pj4yXTtmW20rMjA+PjJdPWZbdSsyMD4+Ml07ZlttKzI0Pj4yXT1mW3UrMjQ+PjJdO2ZbbSsyOD4+
Ml09Zlt1KzI4Pj4yXTtpZighKHJHKHIsbSl8MCkpYz1oO2Vsc2V7ej1xKzh8MDtBPXErMjR8MDtw
W2U+PjNdPStwW3o+PjNdLStwW0E+PjNdO2s9cSsxNnwwO3k9cSszMnwwO3BbZSs4Pj4zXT0rcFtr
Pj4zXS0rcFt5Pj4zXTtwW2UrMTY+PjNdPStwW0E+PjNdKyArcFt6Pj4zXTtwW2UrMjQ+PjNdPStw
W3k+PjNdKyArcFtrPj4zXTtnUChhLGUsMiwoY3wwKT09MD9oOjApO2M9aH1icmVha31jYXNlIDM6
Y2FzZSAyOntBPXErODB8MDtmW3I+PjJdPWZbQT4+Ml07ZltyKzQ+PjJdPWZbQSs0Pj4yXTtmW3Ir
OD4+Ml09ZltBKzg+PjJdO2ZbcisxMj4+Ml09ZltBKzEyPj4yXTtmW3IrMTY+PjJdPWZbQSsxNj4+
Ml07ZltyKzIwPj4yXT1mW0ErMjA+PjJdO2ZbcisyND4+Ml09ZltBKzI0Pj4yXTtmW3IrMjg+PjJd
PWZbQSsyOD4+Ml07ZlttPj4yXT1mW3U+PjJdO2ZbbSs0Pj4yXT1mW3UrND4+Ml07ZlttKzg+PjJd
PWZbdSs4Pj4yXTtmW20rMTI+PjJdPWZbdSsxMj4+Ml07ZlttKzE2Pj4yXT1mW3UrMTY+PjJdO2Zb
bSsyMD4+Ml09Zlt1KzIwPj4yXTtmW20rMjQ+PjJdPWZbdSsyND4+Ml07ZlttKzI4Pj4yXT1mW3Ur
Mjg+PjJdO2lmKCEockcocixtKXwwKSljPWg7ZWxzZXtjPXErOHwwO2U9R0coZSxzLGZbYys0Pj4y
XXwwLGZbYz4+Ml18MCl8MDtoUChhLGUsZltjPj4yXXwwLChmW3E+PjJdfDApPT0yP2g6MCk7Yz1o
fWJyZWFrfWNhc2UgNTpjYXNlIDQ6e0E9cSs4MHwwO2Zbcj4+Ml09ZltBPj4yXTtmW3IrND4+Ml09
ZltBKzQ+PjJdO2Zbcis4Pj4yXT1mW0ErOD4+Ml07ZltyKzEyPj4yXT1mW0ErMTI+PjJdO2Zbcisx
Nj4+Ml09ZltBKzE2Pj4yXTtmW3IrMjA+PjJdPWZbQSsyMD4+Ml07ZltyKzI0Pj4yXT1mW0ErMjQ+
PjJdO2ZbcisyOD4+Ml09ZltBKzI4Pj4yXTtmW20+PjJdPWZbdT4+Ml07ZlttKzQ+PjJdPWZbdSs0
Pj4yXTtmW20rOD4+Ml09Zlt1Kzg+PjJdO2ZbbSsxMj4+Ml09Zlt1KzEyPj4yXTtmW20rMTY+PjJd
PWZbdSsxNj4+Ml07ZlttKzIwPj4yXT1mW3UrMjA+PjJdO2ZbbSsyND4+Ml09Zlt1KzI0Pj4yXTtm
W20rMjg+PjJdPWZbdSsyOD4+Ml07aWYoIShyRyhyLG0pfDApKWM9aDtlbHNle2M9cSs4fDA7ZT1H
RyhlLHMsZltjKzQ+PjJdfDAsZltjPj4yXXwwKXwwO2pQKGEsZSxmW2M+PjJdfDAsMCwwLChmW3E+
PjJdfDApPT00P2gmMjU1OjApO2M9aH1icmVha31jYXNlIDY6e0E9cSs4MHwwO2Zbcj4+Ml09ZltB
Pj4yXTtmW3IrND4+Ml09ZltBKzQ+PjJdO2Zbcis4Pj4yXT1mW0ErOD4+Ml07ZltyKzEyPj4yXT1m
W0ErMTI+PjJdO2ZbcisxNj4+Ml09ZltBKzE2Pj4yXTtmW3IrMjA+PjJdPWZbQSsyMD4+Ml07Zlty
KzI0Pj4yXT1mW0ErMjQ+PjJdO2ZbcisyOD4+Ml09ZltBKzI4Pj4yXTtmW20+PjJdPWZbdT4+Ml07
ZlttKzQ+PjJdPWZbdSs0Pj4yXTtmW20rOD4+Ml09Zlt1Kzg+PjJdO2ZbbSsxMj4+Ml09Zlt1KzEy
Pj4yXTtmW20rMTY+PjJdPWZbdSsxNj4+Ml07ZlttKzIwPj4yXT1mW3UrMjA+PjJdO2ZbbSsyND4+
Ml09Zlt1KzI0Pj4yXTtmW20rMjg+PjJdPWZbdSsyOD4+Ml07aWYoIShyRyhyLG0pfDApKWM9aDtl
bHNle2M9cSs4fDA7ZT1HRyhlLHMsZltjKzQ+PjJdfDAsZltjPj4yXXwwKXwwO2tQKGEsZSxmW2M+
PjJdfDApO2M9aH1icmVha31jYXNlIDc6e0E9cSs4MHwwO2Zbcj4+Ml09ZltBPj4yXTtmW3IrND4+
Ml09ZltBKzQ+PjJdO2Zbcis4Pj4yXT1mW0ErOD4+Ml07ZltyKzEyPj4yXT1mW0ErMTI+PjJdO2Zb
cisxNj4+Ml09ZltBKzE2Pj4yXTtmW3IrMjA+PjJdPWZbQSsyMD4+Ml07ZltyKzI0Pj4yXT1mW0Er
MjQ+PjJdO2ZbcisyOD4+Ml09ZltBKzI4Pj4yXTtmW20+PjJdPWZbdT4+Ml07ZlttKzQ+PjJdPWZb
dSs0Pj4yXTtmW20rOD4+Ml09Zlt1Kzg+PjJdO2ZbbSsxMj4+Ml09Zlt1KzEyPj4yXTtmW20rMTY+
PjJdPWZbdSsxNj4+Ml07ZlttKzIwPj4yXT1mW3UrMjA+PjJdO2ZbbSsyND4+Ml09Zlt1KzI0Pj4y
XTtmW20rMjg+PjJdPWZbdSsyOD4+Ml07aWYoIShyRyhyLG0pfDApKWM9aDtlbHNle3BbZT4+M109
K3BbcSs4Pj4zXTtwW2UrOD4+M109K3BbcSsxNj4+M107Yz1mW3ErMTEyPj4yXXwwO2ZbbT4+Ml09
ZltlPj4yXTtmW20rND4+Ml09ZltlKzQ+PjJdO2ZbbSs4Pj4yXT1mW2UrOD4+Ml07ZlttKzEyPj4y
XT1mW2UrMTI+PjJdO2FQKGEsbSxjKTtjPWh9YnJlYWt9Y2FzZSA4OntkUChhLGZbcSs4Pj4yXXww
KTtjPTE7YnJlYWt9Y2FzZSA5OntiUChhLGZbcSs4Pj4yXXwwKTtjPTE7YnJlYWt9Y2FzZSAxMzp7
aWYoKGZbcSs4Pj4yXXwwKSE9Mil7Yz1xKzE2fDA7ej1mW2MrMzY+PjJdfDA7QT1mW3orMTI+PjJd
fDA7bD0rblt6Kzg+PjJdO2M9fn4oK1IoKygrcFtxKzQwPj4zXS0rcFtxKzI0Pj4zXSksKygrcFtx
KzMyPj4zXS0rcFtjPj4zXSkpKjU3LjI5NTc3OTUxMzA4MjMyKTtkUChhLGZbeis0Pj4yXXwwKTtl
UChhLEEsYyxsKTtjPTI7YnJlYWsgYX1BPWZbcSs2OD4+Ml18MDtoPWZbQSs0Pj4yXXwwO2s9ZltB
KzEyPj4yXXwwO2w9K25bQSs4Pj4yXTtpPStwW3ErNDA+PjNdO2o9K3BbcSsxNj4+M107aWYoaT09
aj8rcFtxKzQ4Pj4zXT09K3BbcSsyND4+M106MCljPTA7ZWxzZSBjPX5+KCtPKCsoKGotaSkvK3Bb
cSszMj4+M10pKSo1Ny4yOTU3Nzk1MTMwODIzMik7ZFAoYSxoKTtlUChhLGssYyxsKTtjPTM7YnJl
YWt9Y2FzZSAxNDp7WXcoMCwxMDg4MDcsdil8MDtjPWg7YnJlYWt9Y2FzZSAxMjp7aWYoIWQpe2Q9
MDtjPWh9ZWxzZXtZdygwLDEwODg0Nyx3KXwwO2Q9MDtjPWh9YnJlYWt9Y2FzZSAxMTp7SkYoZltx
Kzg+PjJdfDApfDA7ZlAoYSwxODg0MDApO2c9MTg4NDAwO2M9aDticmVha31kZWZhdWx0OmM9aH13
aGlsZSgwKTtoPWM7bz1vKzF8MDtxPXErMTIwfDB9aWYoZ3wwKWZQKGEsZlsoZlthPj4yXXwwKSsz
MzY+PjJdfDApO01fKGUpO3Q9eDtyZXR1cm59ZnVuY3Rpb24gR0coYSxiLGMsZCl7YT1hfDA7Yj1i
fDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTA7Zz1mW2I+PjJdfDA7ZT1nPDwxO2U9KGV8MCk+KGR8
MCk/ZTpkO2lmKChnfDApPChkfDApKXthPUdIKGEsZTw8NCl8MDtmW2I+PjJdPWV9Yj0wO3doaWxl
KDEpe2lmKChifDApPj0oZHwwKSlicmVhaztwW2ErKGI8PDQpPj4zXT0rcFtjKyhiKjI0fDApPj4z
XTtwW2ErKGI8PDQpKzg+PjNdPStwW2MrKGIqMjR8MCkrOD4+M107Yj1iKzF8MH1yZXR1cm4gYXww
fWZ1bmN0aW9uIEhHKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtjPWZbYj4+Ml18MDtmW2E+PjJd
PWZbYis0Pj4yXTtmW2ErND4+Ml09YztyZXR1cm59ZnVuY3Rpb24gSUcoYSxjKXthPWF8MDtjPWN8
MDt2YXIgZD0wLGU9MCxnPTA7Zz1jKzE2fDA7ZT0xO3doaWxlKDEpe2M9ZltnPj4yXXwwO2lmKChl
fDApPihmW2MrMTgwPj4yXXwwKSlicmVhaztkPWZbKGZbYysxODQ+PjJdfDApKyhlPDwyKT4+Ml18
MDtJRyhhLGQpO2M9R3goZCwxNDc5NTgpfDA7aWYoY3wwP2JbYz4+MF18MDowKWJQKGEsYyk7Yz1H
eChkLDE0NTk5OSl8MDtpZihjfDA/YltjPj4wXXwwOjApYlAoYSxjKTtjPUd4KGQsMTQ4MTEyKXww
O2lmKGN8MD9iW2M+PjBdfDA6MCliUChhLGMpO2M9R3goZCwxMDk3NDQpfDA7aWYoY3wwP2JbYz4+
MF18MDowKWRQKGEsYyk7Yz1HeChkLDEwOTc3Mil8MDtpZihjfDA/YltjPj4wXXwwOjApYlAoYSxj
KTtlPWUrMXwwfXJldHVybn1mdW5jdGlvbiBKRyhhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTA7Yj1m
WzQ4MzE4XXwwO2lmKCFiKXtiPUx3KDcyNjQ0LGZbMTgwMDFdfDApfDA7Zls0ODMxOF09Yn1pZigh
KHdiW2ZbYj4+Ml0mNjNdKGIsYSw0KXwwKSl7Yz1mWzQ4MzE4XXwwO2Q9ZltjPj4yXXwwO2I9djIo
YSl8MDt3YltkJjYzXShjLGIsMSl8MDtiPTF9ZWxzZSBiPTA7cmV0dXJuIGJ8MH1mdW5jdGlvbiBL
RyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7TV8oYik7cmV0dXJufWZ1bmN0aW9uIExHKGEpe2E9
YXwwO3ZhciBiPTA7Yj1mWzQ4MzE5XXwwO2lmKCFhKXtpZigoYnwwKT4wPyhiPWIrLTF8MCxmWzQ4
MzE5XT1iLChifDApPT0wKTowKXtvMygxLGZbNDgzMjBdfDApfDA7TV8oZls0ODMyMF18MCl9fWVs
c2V7Zls0ODMxOV09YisxO2lmKCFiKXtiPXYyKG8zKDEsMCl8MCl8MDtmWzQ4MzIwXT1iO28zKDEs
MTUxMjY4KXwwfX1yZXR1cm59ZnVuY3Rpb24gTUcoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9
MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MCxzPTAsdT0w
LjA7cz10O3Q9dCs5NnwwO289cys3MnwwO249cys1NnwwO209cys0OHwwO3I9cyszMnwwO3E9cysy
NHwwO2Q9cys4fDA7Yz1zO2lmKDApTkwoKTtkbyBpZigoSnooYiwxNDU3NTMsMCwxKXwwKSE9MD8o
bD1iKzE2fDAsKGZbKGZbbD4+Ml18MCkrOD4+Ml18MCkhPTApOjApe05HKGIpO09HKGEsYik7UEco
YSxiKTtMRygxKTtoPWErNTZ8MDtpPWErMTg0fDA7aj1hKzE5MnwwO2s9YSsyOHwwO2c9eUMoYSl8
MDthOndoaWxlKDEpe2lmKCFnKXtlPTMzO2JyZWFrfWM9ZltoPj4yXXwwO2lmKCFjKXtmW2crMjA+
PjJdPTA7Yz0wfWVsc2V7ZltnKzIwPj4yXT1mW2MrOD4+Ml07Yz1mW2MrMTI+PjJdfDB9ZltnKzI0
Pj4yXT1jO2ZbZysxMj4+Ml09YTtmW2crMjg+PjJdPWZbaT4+Ml07ZltnKzYyMD4+Ml09MjEwMDg7
ZltnKzYyND4+Ml09MTQ7aWYoIShmWyhmW2w+PjJdfDApKzg+PjJdfDApKXtlPTEzO2JyZWFrfWQ9
Zys1MnwwO2U9RE8oZyxmW2Q+PjJdfDApfDA7ZltnKzU2Pj4yXT1lO3N3aXRjaChlfDApe2Nhc2Ug
OTk5OntlPTE2O2JyZWFrIGF9Y2FzZSAyMTp7Yz0xO2JyZWFrfWNhc2UgMjQ6e2M9NTIwO2JyZWFr
fWRlZmF1bHQ6Yz1RRyhiKXwwfWU9ZysxNTJ8MDtmW2U+PjJdPWZbZT4+Ml18YztjPWZbaj4+Ml18
MDtkbyBpZighYyllPTI2O2Vsc2V7aWYoZltjKzE1Mj4+Ml0mMzJ8MD8oSCQoZltkPj4yXXwwLGZb
Yys1Mj4+Ml18MCl8MCk9PTA6MCl7Yz1mWzQ4MzIxXXwwO2lmKCFjKXtlPTI3O2JyZWFrfWZbYys4
Pj4yXT1nO2ZbZyszNj4+Ml09ZltjKzM2Pj4yXTtlPTI5O2JyZWFrfUZPKGMpO2Zbaj4+Ml09MDtm
W2s+PjJdPTA7ZT0yNn13aGlsZSgwKTtpZigoZXwwKT09MjYpe2ZbNDgzMjFdPTA7ZT0yN31pZigo
ZXwwKT09Mjc/KGU9MCwoRU8oZyl8MCk9PTApOjApe2Zbaj4+Ml09ZztlPTI5fWlmKChlfDApPT0y
OSl7ZltnKzg+PjJdPTA7ZltnKzEwND4+Ml09NzMxMjg7UkcoZyk7U0coZyk7VEcoZyxiKTtVRyhn
LGIpO1ZHKGcsYik7aWYoIShmW2crMTUyPj4yXSYxMjgpKW1GKGcsYik7Zls0ODMyMV09Z31nPXpD
KGEpfDB9aWYoKGV8MCk9PTEzKXtZdygxLDEwOTAwNSxxKXwwO0xHKDApO2lmKCEwKXtjPS0xO2Jy
ZWFrfWM9ZlsxOTQ1N118MDtxPUF5KGIpfDA7dT0rT0woKTtmW3I+PjJdPXE7cFtyKzg+PjNdPXU7
ZzIoYywxMDg5NzYscil8MDtjPS0xO2JyZWFrfWVsc2UgaWYoKGV8MCk9PTE2KXtmW20+PjJdPWZb
ZD4+Ml07WXcoMSwxMDkwMjYsbSl8MDtMRygwKTtpZighMCl7Yz0tMTticmVha31jPWZbMTk0NTdd
fDA7cj1BeShiKXwwO3U9K09MKCk7ZltuPj4yXT1yO3Bbbis4Pj4zXT11O2cyKGMsMTA4OTc2LG4p
fDA7Yz0tMTticmVha31lbHNlIGlmKChlfDApPT0zMyl7TEcoMCk7aWYoITApe2M9MDticmVha31j
PWZbMTk0NTddfDA7cj1BeShiKXwwO3U9K09MKCk7ZltvPj4yXT1yO3Bbbys4Pj4zXT11O2cyKGMs
MTA4OTc2LG8pfDA7Yz0wO2JyZWFrfX1lbHNlIGU9NTt3aGlsZSgwKTtpZigoZXwwKT09NSl7WXco
MSwxMDg5MjgsYyl8MDtpZighMCljPS0xO2Vsc2V7Yz1mWzE5NDU3XXwwO3I9QXkoYil8MDt1PStP
TCgpO2ZbZD4+Ml09cjtwW2QrOD4+M109dTtnMihjLDEwODk3NixkKXwwO2M9LTF9fXQ9cztyZXR1
cm4gY3wwfWZ1bmN0aW9uIE5HKGEpe2E9YXwwO3ZhciBiPTA7Yj0keShhKXwwO3doaWxlKDEpe2lm
KCFiKWJyZWFrO19HKGEsYik7Yj1heihhLGIpfDB9cmV0dXJufWZ1bmN0aW9uIE9HKGEsYyl7YT1h
fDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MC4wO209
dDt0PXQrMzJ8MDtqPW0rMjR8MDtlPW0rMTZ8MDtpPW0rOHwwO2w9bTtmW2ErMTY4Pj4yXT1jO2c9
YSsyOTN8MDtiW2c+PjBdPTA7ZD1HeChjLDExMzgyMil8MDtpZihkfDA/KGZbZT4+Ml09aSxmW2Ur
ND4+Ml09bCxoPU0xKGQsMTEzODI5LGUpfDAsKGh8MCk+MCk6MCl7bj0rcFtpPj4zXSo3Mi4wO2Q9
YSsyMDh8MDtwW2Q+PjNdPW47cFthKzIwMD4+M109bjtpZigoaHwwKSE9MSlwW2Q+PjNdPStwW2w+
PjNdKjcyLjA7YltnPj4wXT0xfWU9YSsyOTJ8MDtiW2U+PjBdPTA7ZD1HeChjLDEwOTQyOCl8MDtp
ZihkfDA/KGZbaj4+Ml09aSxmW2orND4+Ml09bCxrPU0xKGQsMTEzODI5LGopfDAsKGt8MCk+MCk6
MCl7bj0rcFtpPj4zXSo3Mi4wO2Q9YSsyMjR8MDtwW2Q+PjNdPW47cFthKzIxNj4+M109bjtpZigo
a3wwKSE9MSlwW2Q+PjNdPStwW2w+PjNdKjcyLjA7YltlPj4wXT0xfWQ9YSsyOTR8MDtiW2Q+PjBd
PTA7ZT1hKzIzMnwwO2c9YysxNnwwO2w9KGZbKGZbZz4+Ml18MCkrOD4+Ml18MCkrNDh8MDtmW2U+
PjJdPWZbbD4+Ml07ZltlKzQ+PjJdPWZbbCs0Pj4yXTtmW2UrOD4+Ml09ZltsKzg+PjJdO2ZbZSsx
Mj4+Ml09ZltsKzEyPj4yXTtlPWZbKGZbZz4+Ml18MCkrOD4+Ml18MDtpZigrcFtlKzQ4Pj4zXT4u
MDAxPytwW2UrNTY+PjNdPi4wMDE6MCliW2Q+PjBdPTE7ZlthKzI4OD4+Ml09KGJbZSs4MT4+MF18
MCk9PTA/MDo5MDtkPWErMTk2fDA7ZltkPj4yXT0xMDk0MzI7ZT1HeChjLDEwOTQzNSl8MDtpZihl
fDA/YltlPj4wXXwwOjApZltkPj4yXT1lO2w9YSsyNTZ8MDtrPShmW2c+PjJdfDApKzE2fDA7Zlts
Pj4yXT1mW2s+PjJdO2ZbbCs0Pj4yXT1mW2srND4+Ml07ZltsKzg+PjJdPWZbays4Pj4yXTtmW2wr
MTI+PjJdPWZbaysxMj4+Ml07ZltsKzE2Pj4yXT1mW2srMTY+PjJdO2ZbbCsyMD4+Ml09ZltrKzIw
Pj4yXTtmW2wrMjQ+PjJdPWZbaysyND4+Ml07ZltsKzI4Pj4yXT1mW2srMjg+PjJdO2w9d3goYyww
LDEwOTc5OCwwKXwwO2ZbNDgzMzNdPWw7bD13eChjLDAsMTA5Nzg5LDApfDA7Zls0ODMzNF09bDts
PVhMKDAsZls0ODM0M118MCwxMTYzMjApfDA7ZlthKzMyMD4+Ml09bDtuPStVTCgwLGZbNDgzNDJd
fDAsMTQuMCwxLjApO3BbYSszMjg+PjNdPW47ZlthKzMzNj4+Ml09NzI2ODA7Yz1BeShjKXwwO2Zb
YSsxODg+PjJdPWM7dD1tO3JldHVybn1mdW5jdGlvbiBQRyhhLGMpe2E9YXwwO2M9Y3wwO3ZhciBk
PTAsZT0wLGc9MDtkPWErMzA0fDA7ZT1mW2Q+PjJdfDA7aWYoZXwwKXtNXyhlKTtmW2Q+PjJdPTB9
ZT1hKzMwOHwwO2Q9ZltlPj4yXXwwO2lmKGR8MCl7TV8oZCk7ZltlPj4yXT0wfWc9YSszMTZ8MDtk
PWZbZz4+Ml18MDtpZihkfDApe01fKGQpO2ZbZz4+Ml09MH1kPUd4KGMsMTA5MTc5KXwwO2lmKGQp
e2Q9WUcoYSxjLGQpfDA7ZlthKzMxMj4+Ml09ZDtkPUd4KGMsMTA5MTg2KXwwO2lmKGR8MD9iW2Q+
PjBdfDA6MCl7YT1aRyhhLGQpfDA7ZltnPj4yXT1hfX1lbHNle2ZbZT4+Ml09MDtmW2ErMzEyPj4y
XT0xfXJldHVybn1mdW5jdGlvbiBRRyhhKXthPWF8MDthPUd4KGEsMTA5MTQ3KXwwO2E6ZG8gaWYo
IWEpYT0wO2Vsc2Ugc3dpdGNoKGJbYT4+MF18MCl7Y2FzZSAxMTA6e2lmKCEoSCQoYSsxfDAsMTA5
MTU5KXwwKSlhPTE7ZWxzZXthPTA7YnJlYWsgYX1icmVha31jYXNlIDEwMTp7aWYoIShIJChhKzF8
MCwxMDkxNjkpfDApKWE9MTY7ZWxzZXthPTA7YnJlYWsgYX1icmVha31kZWZhdWx0OnthPTA7YnJl
YWsgYX19d2hpbGUoMCk7cmV0dXJuIGF8MH1mdW5jdGlvbiBSRyhhKXthPWF8MDt2YXIgYz0wLGQ9
MC4wO2M9ZlthPj4yXXwwO2RvIGlmKCEoYltjKzI5Mj4+MF18MCkpaWYoKGZbYSs1Nj4+Ml18MCk9
PTMwMCl7ZD0rcFsoZlthKzY4Pj4yXXwwKSs4Pj4zXTtwW2ErMjQ4Pj4zXT1kO3BbYSsyNDA+PjNd
PWQ7YnJlYWt9ZWxzZXtwW2ErMjQ4Pj4zXT00LjA7cFthKzI0MD4+M109NC4wO2JyZWFrfWVsc2V7
YT1hKzI0MHwwO2M9YysyMTZ8MDtmW2E+PjJdPWZbYz4+Ml07ZlthKzQ+PjJdPWZbYys0Pj4yXTtm
W2ErOD4+Ml09ZltjKzg+PjJdO2ZbYSsxMj4+Ml09ZltjKzEyPj4yXX13aGlsZSgwKTtyZXR1cm59
ZnVuY3Rpb24gU0coYSl7YT1hfDA7dmFyIGM9MDtjPWZbYT4+Ml18MDthOmRvIGlmKCEoYltjKzI5
Mz4+MF18MCkpc3dpdGNoKGZbYSs1Nj4+Ml18MCl7Y2FzZSAzMDA6e2M9YSs0MTZ8MDthPShmW2Er
ODQ+PjJdfDApKzh8MDtmW2M+PjJdPWZbYT4+Ml07ZltjKzQ+PjJdPWZbYSs0Pj4yXTtmW2MrOD4+
Ml09ZlthKzg+PjJdO2ZbYysxMj4+Ml09ZlthKzEyPj4yXTticmVhayBhfWNhc2UgMzA6Y2FzZSAy
MTpjYXNlIDIyOmNhc2UgNDpjYXNlIDM6Y2FzZSAyOntwW2ErNDI0Pj4zXT0zNi4wO3BbYSs0MTY+
PjNdPTM2LjA7YnJlYWsgYX1kZWZhdWx0OntjPWErNDE2fDA7ZltjPj4yXT0wO2ZbYys0Pj4yXT0w
O2ZbYys4Pj4yXT0wO2ZbYysxMj4+Ml09MDticmVhayBhfX1lbHNle2E9YSs0MTZ8MDtjPWMrMjAw
fDA7ZlthPj4yXT1mW2M+PjJdO2ZbYSs0Pj4yXT1mW2MrND4+Ml07ZlthKzg+PjJdPWZbYys4Pj4y
XTtmW2ErMTI+PjJdPWZbYysxMj4+Ml19d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIFRHKGEsYyl7
YT1hfDA7Yz1jfDA7dmFyIGQ9MC4wLGU9MDtlPWZbKGZbYT4+Ml18MCkrMTkyPj4yXXwwO2Q9K3Bb
KGZbKGZbYysxNj4+Ml18MCkrOD4+Ml18MCkrMjQ+PjNdO2RvIGlmKCEoZCE9MC4wKSl7aWYoZXww
P2JbZSsxMjg+PjBdfDA6MCl7YT1hKzQzMnwwO2U9ZSsxMTJ8MDtmW2E+PjJdPWZbZT4+Ml07Zlth
KzQ+PjJdPWZbZSs0Pj4yXTtmW2ErOD4+Ml09ZltlKzg+PjJdO2ZbYSsxMj4+Ml09ZltlKzEyPj4y
XTticmVha31jPWErNDMyfDA7aWYoKGZbYSs1Nj4+Ml18MCk9PTMwMCl7YT0oZlthKzg0Pj4yXXww
KSs0MHwwO2ZbYz4+Ml09ZlthPj4yXTtmW2MrND4+Ml09ZlthKzQ+PjJdO2ZbYys4Pj4yXT1mW2Er
OD4+Ml07ZltjKzEyPj4yXT1mW2ErMTI+PjJdO2JyZWFrfWVsc2V7cFthKzQ0MD4+M109OTYuMDtw
W2M+PjNdPTk2LjA7YnJlYWt9fWVsc2V7cFthKzQ0MD4+M109ZDtwW2ErNDMyPj4zXT1kfXdoaWxl
KDApO3JldHVybn1mdW5jdGlvbiBVRyhhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAuMCxlPTAuMCxn
PTAsaD0wLjAsaT0wLjAsaj0wLjAsaz0wLGw9MCxtPTAuMCxuPTAuMCxvPTAuMCxxPTAuMCxyPTAs
cz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MDtBPXQ7dD10KzExMnwwO3M9QSs4MHwwO3U9
QSs1NnwwO3I9QSs0MHwwO3Y9QSszMnwwO3c9QSsyNHwwO3g9QSsxNnwwO3k9QSs4fDA7ej1BO2s9
ZlthPj4yXXwwO209K3BbaysyNzI+PjNdO289K3BbaysyODA+PjNdO249K3BbaysyNTY+PjNdO3E9
K3BbaysyNjQ+PjNdO2U9K3BbYSsyNDA+PjNdO2Q9bi1lO3BbYSsyMDg+PjNdPWQ7aD0rcFthKzI0
OD4+M107aT1xLWg7cFthKzIxNj4+M109aTtlPWUrbTtwW2ErMjI0Pj4zXT1lO2g9aCtvO3BbYSsy
MzI+PjNdPWg7ZD1lLWQ7aT1oLWk7cFt4Pj4zXT0xLjA7Zz1mWyhmW2MrMTY+PjJdfDApKzg+PjJd
fDA7aD0rcFtnKzY0Pj4zXTtkbyBpZihoPi4wMDE/KGo9K3BbZys3Mj4+M10saj4uMDAxKTowKXtk
PWQ9PTAuMD9oOmQ7ZT1pPT0wLjA/ajppO2lmKCEoaDxkfGo8ZSk/IShqPmUmKGg+ZCYoYltnKzgw
Pj4wXXwwKSE9MCkpOjApe2o9ZDtpPWU7aD0xLjA7YnJlYWt9aT1oL2Q7aD1qL2U7aD1pPGg/aTpo
O3BbeD4+M109aDtqPWQ7aT1lfWVsc2V7aj1kO2g9MS4wfXdoaWxlKDApO2U9KG4rbSkqLjU7cFt5
Pj4zXT1lO2Q9KHErbykqLjU7cFt6Pj4zXT1kO2ZbYSszNjA+PjJdPWZbaysyODg+PjJdO2o9aCpq
O3Bbdj4+M109ajtpPWgqaTtwW3c+PjNdPWk7Zz1HeChjLDEwOTA3OCl8MDtpZihnKXtrPUxfKChj
MChnKXwwKSsxfDApfDA7bD1MXygoYzAoZyl8MCkrMXwwKXwwO2Zbcj4+Ml09djtmW3IrND4+Ml09
dztmW3IrOD4+Ml09eDtmW3IrMTI+PjJdPWs7ZG8gaWYoKE0xKGcsMTA5MDg3LHIpfDApPT00KXtn
PWp6KGZbYys2MD4+Ml18MCxrLDApfDA7aWYoZ3wwKXt1PWZbZysxNj4+Ml18MDtwW3k+PjNdPStw
W3UrMTY+PjNdO3Bbej4+M109K3BbdSsyND4+M119fWVsc2V7Zlt1Pj4yXT12O2ZbdSs0Pj4yXT13
O2ZbdSs4Pj4yXT14O2ZbdSsxMj4+Ml09aztmW3UrMTY+PjJdPWw7aWYoKE0xKGcsMTA5MTA3LHUp
fDApIT00KXtmW3M+PjJdPXY7ZltzKzQ+PjJdPXc7ZltzKzg+PjJdPXg7ZltzKzEyPj4yXT15O2Zb
cysxNj4+Ml09ejtNMShnLDEwOTEyNyxzKXwwO2JyZWFrfWc9anooZltjKzYwPj4yXXwwLGssMCl8
MDtpZihnfDApe3U9ZltnKzE2Pj4yXXwwO3BbeT4+M109K3BbdSsxNj4+M107cFt6Pj4zXT0rcFt1
KzI0Pj4zXX19d2hpbGUoMCk7TV8oayk7TV8obCk7aj0rcFt2Pj4zXTtpPStwW3c+PjNdO2g9K3Bb
eD4+M107ZT0rcFt5Pj4zXTtkPStwW3o+PjNdfXBbYSszNjg+PjNdPWo7cFthKzM3Nj4+M109aTtw
W2ErMzUyPj4zXT1oO3BbYSszMzY+PjNdPWU7cFthKzM0ND4+M109ZDt0PUE7cmV0dXJufWZ1bmN0
aW9uIFZHKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLjAsaD0wLGk9MC4wLGo9MC4w
LGs9MC4wLGw9MC4wLG09MC4wLG49MCxvPTAuMCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9MCx4PTAs
eT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxN
PTA7TT10O3Q9dCsyMjR8MDtKPU0rMjAwfDA7ej1NKzE2OHwwO0U9TSsxNDR8MDtIPU0rMTIwfDA7
Rj1NKzk2fDA7Rz1NKzY0fDA7ZD1NKzE4NHwwO3Y9TSsxNzZ8MDt3PU0rMTYwfDA7eT1NKzEzNnww
O3g9TSsxMTJ8MDtBPU0rODB8MDtCPU0rNDh8MDtDPU0rMzJ8MDtEPU0rMTZ8MDtLPU0rOHwwO0w9
TTt1PWZbYT4+Ml18MDtmW0c+PjJdPTA7ZltHKzQ+PjJdPTA7ZltHKzg+PjJdPTA7ZltHKzEyPj4y
XT0wO0k9YSszNjh8MDtmW0g+PjJdPWZbST4+Ml07ZltIKzQ+PjJdPWZbSSs0Pj4yXTtmW0grOD4+
Ml09ZltJKzg+PjJdO2ZbSCsxMj4+Ml09ZltJKzEyPj4yXTtJPWErMzYwfDA7aWYoZltJPj4yXXww
KXtmW0o+PjJdPWZbSD4+Ml07ZltKKzQ+PjJdPWZbSCs0Pj4yXTtmW0orOD4+Ml09ZltIKzg+PjJd
O2ZbSisxMj4+Ml09ZltIKzEyPj4yXTtXRyhkLEopO2ZbSD4+Ml09ZltkPj4yXTtmW0grND4+Ml09
ZltkKzQ+PjJdO2ZbSCs4Pj4yXT1mW2QrOD4+Ml07ZltIKzEyPj4yXT1mW2QrMTI+PjJdfXM9YSs0
MTZ8MDtmW0Y+PjJdPWZbcz4+Ml07ZltGKzQ+PjJdPWZbcys0Pj4yXTtmW0YrOD4+Ml09ZltzKzg+
PjJdO2ZbRisxMj4+Ml09ZltzKzEyPj4yXTtpZigoYlt1KzI5ND4+MF18MCkhPTA/KGZbYSsxNTI+
PjJdJjMyfDApIT0wOjApe2o9K3BbdSsyMzI+PjNdLStwW0Y+PjNdKjIuMDtwW0U+PjNdPWo7aT0r
cFt1KzI0MD4+M10tK3BbRis4Pj4zXSoyLjA7cFtFKzg+PjNdPWk7aWYoIShqPC4wMDAxKSl7bz0r
cFtIPj4zXTtkPX5+KG8vaik7ZT1hKzE2NHwwO2ZbZT4+Ml09ZDtpZihvLWoqKyhkfDApPi4wMDAx
KXtkPWQrMXwwO2ZbZT4+Ml09ZH19ZWxzZXtmW2ErMTY0Pj4yXT0xO2Q9MX1pZighKGk8LjAwMDEp
KXtlPUgrOHwwO2c9K3BbZT4+M107bj1+fihnL2kpO2g9YSsxNjh8MDtmW2g+PjJdPW47aWYoZy1p
KisobnwwKT4uMDAwMSl7cz1uKzF8MDtmW2g+PjJdPXM7aD1zfWVsc2UgaD1ufWVsc2V7ZlthKzE2
OD4+Ml09MTtzPUgrOHwwO2U9cztoPTE7Zz0rcFtzPj4zXX1zPVYoaCxkKXwwO2ZbYSsyMDQ+PjJd
PXM7bT0rcFtIPj4zXTttPW08aj9tOmo7cFtIPj4zXT1tO2c9ZzxpP2c6aTtwW2U+PjNdPWc7bz1p
O2k9bX1lbHNle2lmKGZbYSs2OD4+Ml18MCl7ZD1mW2ErODQ+PjJdfDA7aj0rcFtkKzI0Pj4zXS0r
cFtGPj4zXSoyLjA7aj1qPDAuMD8wLjA6ajtwW0U+PjNdPWo7Zz0rcFtkKzMyPj4zXS0rcFtGKzg+
PjNdKjIuMDtkPUUrOHwwO3BbZD4+M109ZztpZihnPDAuMCl7cFtkPj4zXT0wLjA7ZD1FO2s9MC4w
fWVsc2V7ZD1FO2s9Z319ZWxzZXtmW0U+PjJdPTA7ZltFKzQ+PjJdPTA7ZltFKzg+PjJdPTA7ZltF
KzEyPj4yXT0wO2Q9RTtrPTAuMDtqPTAuMH1mW2ErMjA0Pj4yXT0xO2ZbYSsxNjg+PjJdPTE7Zlth
KzE2ND4+Ml09MTtpPStwW0g+PjNdO2lmKGo8aSl7cFtkPj4zXT1pO2o9aX1nPStwW0grOD4+M107
aWYoazxnKXtwW0UrOD4+M109ZztvPWd9ZWxzZSBvPWt9bT0rcFtGPj4zXTtyPWErNDMyfDA7az0r
cFtyPj4zXSouMDEzODg4ODg4ODg4ODg4ODg4KihtKjIuMCtqKTtmW2ErNDQ4Pj4yXT1+fihrKyhr
Pj0wLjA/LjU6LS41KSk7cT1GKzh8MDtrPStwW3E+PjNdO3M9YSs0NDB8MDtsPStwW3M+PjNdKi4w
MTM4ODg4ODg4ODg4ODg4ODgqKGsqMi4wK28pO2ZbYSs0NTI+PjJdPX5+KGwrKGw+PTAuMD8uNTot
LjUpKTtoPWErMTg4fDA7bj1hKzE4MHwwO2Q9YSsxNzJ8MDtlPXUrMTk2fDA7ZltkPj4yXT0wO2Zb
ZCs0Pj4yXT0wO2ZbZCs4Pj4yXT0wO2ZbZCsxMj4+Ml09MDtmW2QrMTY+PjJdPTA7ZltkKzIwPj4y
XT0wO1hHKHYsYSxiW2ZbZT4+Ml0+PjBdfDApO3U9djt2PWZbdSs0Pj4yXXwwO2Q9bjtmW2Q+PjJd
PWZbdT4+Ml07ZltkKzQ+PjJdPXY7WEcodyxhLGJbKGZbZT4+Ml18MCkrMT4+MF18MCk7ZD13O3c9
ZltkPj4yXXwwO2Q9ZltkKzQ+PjJdfDA7dj1oO2Zbdj4+Ml09dztmW3YrND4+Ml09ZDt3PShmW24+
PjJdfDApK3d8MDtpZighKCgoKHd8MCk+LTE/dzowLXd8MCl8MCk9PTE/KHc9KGZbYSsxODQ+PjJd
fDApK2R8MCwoKCh3fDApPi0xP3c6MC13fDApfDApPT0xKTowKSl7WEcoeSxhLDY2KTt2PXk7eT1m
W3YrND4+Ml18MDt3PW47Zlt3Pj4yXT1mW3Y+PjJdO2Zbdys0Pj4yXT15O1hHKHgsYSw3Nik7dz14
O3g9Zlt3KzQ+PjJdfDA7eT1oO2ZbeT4+Ml09Zlt3Pj4yXTtmW3krND4+Ml09eDtmW3o+PjJdPWZb
ZT4+Ml07WXcoMCwxMDkwNTgseil8MH1pZihiWyhmWyhmW2MrMTY+PjJdfDApKzg+PjJdfDApKzgy
Pj4wXXwwKXtpZihqPmkpe2w9KGotaSkqLjU7cFtHPj4zXT1sfWVsc2UgbD0wLjA7aWYobz5nKXtq
PShvLWcpKi41O3BbRys4Pj4zXT1qfWVsc2Ugaj0wLjB9ZWxzZXtqPTAuMDtsPTAuMH1pZighKGZb
ST4+Ml18MCkpaD0xO2Vsc2V7ZltKPj4yXT1mW0g+PjJdO2ZbSis0Pj4yXT1mW0grND4+Ml07ZltK
Kzg+PjJdPWZbSCs4Pj4yXTtmW0orMTI+PjJdPWZbSCsxMj4+Ml07V0coQSxKKTtmW0g+PjJdPWZb
QT4+Ml07ZltIKzQ+PjJdPWZbQSs0Pj4yXTtmW0grOD4+Ml09ZltBKzg+PjJdO2ZbSCsxMj4+Ml09
ZltBKzEyPj4yXTtmW0o+PjJdPWZbRT4+Ml07ZltKKzQ+PjJdPWZbRSs0Pj4yXTtmW0orOD4+Ml09
ZltFKzg+PjJdO2ZbSisxMj4+Ml09ZltFKzEyPj4yXTtXRyhCLEopO2ZbRT4+Ml09ZltCPj4yXTtm
W0UrND4+Ml09ZltCKzQ+PjJdO2ZbRSs4Pj4yXT1mW0IrOD4+Ml07ZltFKzEyPj4yXT1mW0IrMTI+
PjJdO2ZbSj4+Ml09ZltGPj4yXTtmW0orND4+Ml09ZltGKzQ+PjJdO2ZbSis4Pj4yXT1mW0YrOD4+
Ml07ZltKKzEyPj4yXT1mW0YrMTI+PjJdO1dHKEMsSik7ZltGPj4yXT1mW0M+PjJdO2ZbRis0Pj4y
XT1mW0MrND4+Ml07ZltGKzg+PjJdPWZbQys4Pj4yXTtmW0YrMTI+PjJdPWZbQysxMj4+Ml07ZltK
Pj4yXT1mW0c+PjJdO2ZbSis0Pj4yXT1mW0crND4+Ml07ZltKKzg+PjJdPWZbRys4Pj4yXTtmW0or
MTI+PjJdPWZbRysxMj4+Ml07V0coRCxKKTtmW0c+PjJdPWZbRD4+Ml07ZltHKzQ+PjJdPWZbRCs0
Pj4yXTtmW0crOD4+Ml09ZltEKzg+PjJdO2ZbRysxMj4+Ml09ZltEKzEyPj4yXTttPStwW0Y+PjNd
O2w9K3BbRz4+M107az0rcFtxPj4zXTtqPStwW0crOD4+M107aT0rcFtIPj4zXTtnPStwW0grOD4+
M107aD0oZltJPj4yXXwwKT09MH1tPWwrbTtwW2ErMzg0Pj4zXT1tO2o9aitrO3BbYSszOTI+PjNd
PWo7bD1pK207cFthKzQwMD4+M109bDtvPWcrajtwW2ErNDA4Pj4zXT1vO2s9K3BbYSszNTI+PjNd
O3BbYSszMjA+PjNdPWkvaztwW2ErMzI4Pj4zXT1nL2s7az0rcFtyPj4zXSouMDEzODg4ODg4ODg4
ODg4ODg4O209ayptO2U9YSs0NTZ8MDtmW2U+PjJdPX5+KG0rKG0+PTAuMD8uNTotLjUpKTttPStw
W3M+PjNdKi4wMTM4ODg4ODg4ODg4ODg4ODg7aj1tKmo7ZlthKzQ2MD4+Ml09fn4oaisoaj49MC4w
Py41Oi0uNSkpO2w9aypsO2Q9YSs0NjR8MDtmW2Q+PjJdPX5+KGwrKGw+PTAuMD8uNTotLjUpKTtv
PW0qbztmW2ErNDY4Pj4yXT1+fihvKyhvPj0wLjA/LjU6LS41KSk7aWYoIWgpe2ZbSj4+Ml09Zltl
Pj4yXTtmW0orND4+Ml09ZltlKzQ+PjJdO0hHKEssSik7ST1LO0s9ZltJKzQ+PjJdfDA7YT1lO2Zb
YT4+Ml09ZltJPj4yXTtmW2ErND4+Ml09SztmW0o+PjJdPWZbZD4+Ml07ZltKKzQ+PjJdPWZbZCs0
Pj4yXTtIRyhMLEopO2E9TDtLPWZbYSs0Pj4yXXwwO0w9ZDtmW0w+PjJdPWZbYT4+Ml07ZltMKzQ+
PjJdPUt9dD1NO3JldHVybn1mdW5jdGlvbiBXRyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMDtj
PStwW2I+PjNdO3BbYT4+M109K3BbYis4Pj4zXTtwW2ErOD4+M109YztyZXR1cm59ZnVuY3Rpb24g
WEcoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2M9KGM8PDI0Pj4yNCkrLTY2fDA7c3dpdGNoKGM+
Pj4xfGM8PDMxfDApe2Nhc2UgOTp7ZltiKzE3Nj4+Ml09KGZbYisxNjg+PjJdfDApKy0xO2I9MDtj
PS0xO2JyZWFrfWNhc2UgMDp7Yj0wO2M9MTticmVha31jYXNlIDU6e2I9MTtjPTA7YnJlYWt9Y2Fz
ZSA4OntmW2IrMTcyPj4yXT0oZltiKzE2ND4+Ml18MCkrLTE7Yj0tMTtjPTA7YnJlYWt9ZGVmYXVs
dDp7Yj0wO2M9MH19ZlthPj4yXT1iO2ZbYSs0Pj4yXT1jO3JldHVybn1mdW5jdGlvbiBZRyhhLGMs
ZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MDtpPXQ7dD10KzE2fDA7Zz1p
O2U9R3goYywxMDkyOTkpfDA7aD1hKzI5NnwwO2ZbaD4+Ml09KGV8MCk9PTA/MTA5MzA4OmU7Yz1H
eChjLDEwOTMxMil8MDtlPWErMzAwfDA7Yz0oY3wwKT09MD8xMDkzMjU6YztmW2U+PjJdPWM7Yz1j
MyhmW2g+PjJdfDAsYyl8MDtpZihjfDApe2ZbZz4+Ml09YltjPj4wXTtZdygwLDEwOTMyNyxnKXww
O2ZbZT4+Ml09MTk0ODcwfWU9djIoZCl8MDtmW2ErMzA0Pj4yXT1lO2Q9YSszMDh8MDtjPTA7YT1k
MyhlLGZbaD4+Ml18MCl8MDtlPTA7d2hpbGUoMSl7aWYoIWEpYnJlYWs7Zz1lKzF8MDtpZigoZXww
KTwoY3wwKSllPWZbZD4+Ml18MDtlbHNle2M9YysxMjh8MDtlPWZbZD4+Ml18MDtpZighZSllPUVI
KGM8PDIpfDA7ZWxzZSBlPUdIKGUsYzw8Mil8MDtmW2Q+PjJdPWV9ZltlKyhnPDwyKT4+Ml09YTth
PWQzKDAsZltoPj4yXXwwKXwwO2U9Z31pZihlfDApe2g9R0goZltkPj4yXXwwLChlPDwyKSs4fDAp
fDA7ZltkPj4yXT1oO2ZbaD4+Ml09MDtmWyhmW2Q+PjJdfDApKyhlKzE8PDIpPj4yXT0wfXQ9aTty
ZXR1cm4gZXwwfWZ1bmN0aW9uIFpHKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9
MCxoPTAsaT0wLGo9MCxrPTA7az10O3Q9dCsxNnwwO2o9aztpPWErMzEyfDA7Yz1FSCgoZltpPj4y
XTw8MikrOHwwKXwwO2Q9MDtoPTE7d2hpbGUoMSl7Zz1mW2k+PjJdfDA7aWYoKGh8MCk+KGd8MCkp
YnJlYWs7ZT1kKzF8MDtpZigob0coYSxoLGcsYil8MCk8PDI0Pj4yNCl7ZltjKyhlPDwyKT4+Ml09
aDtkPWV9aD1oKzF8MH1pZighZCl7ZltqPj4yXT1iO1l3KDAsMTA5MTk4LGopfDA7TV8oYyk7Yz0w
fWVsc2V7ZltjPj4yXT1kO2ZbYysoZCsxPDwyKT4+Ml09KGZbaT4+Ml18MCkrMX10PWs7cmV0dXJu
IGN8MH1mdW5jdGlvbiBfRyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLjAsZT0wLjAsZz0w
LjA7Yz1mW2IrMTY+PjJdfDA7Zz0rcFtjKzE2Pj4zXTtwW2MrNDg+PjNdPWctK3BbYys4OD4+M107
ZD0rcFtjKzI0Pj4zXTtlPStwW2MrODA+PjNdKi41O3BbYys1Nj4+M109ZC1lO3BbYys2ND4+M109
K3BbYys5Nj4+M10rZztwW2MrNzI+PjNdPWUrZDtiPU54KGEsYil8MDt3aGlsZSgxKXtpZighYili
cmVhazskRyhiKTtiPVB4KGEsYil8MH1yZXR1cm59ZnVuY3Rpb24gJEcoYSl7YT1hfDA7YT1mWyhm
W2ErMTY+PjJdfDApKzg+PjJdfDA7aWYoYXwwKWFIKGEpO3JldHVybn1mdW5jdGlvbiBhSChhKXth
PWF8MDt2YXIgYj0wLGM9MC4wLGQ9MC4wLGU9MC4wLGc9MC4wLGg9MCxpPTAsaj0wLGs9MCxsPTAs
bT0wLG49MCxvPTAscT0wLHI9MCxzPTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxD
PTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MC4wLEw9MC4wLE09MC4wLE49MC4wO0o9
dDt0PXQrMjQwfDA7RD1KKzE5MnwwO0M9SisxNzZ8MDtFPUo7aD1KKzE0NHwwO0Y9SisxMTJ8MDtH
PUorODB8MDtIPUorNDh8MDtJPWErNHwwO2lmKChmW0k+PjJdfDApPD0wKXhhKDEwOTQ2NiwxMDgy
MzIsMzk5NCwxMDk0ODApO2I9ZlthPj4yXXwwO2k9RTtqPWI7az1pKzQ4fDA7ZG97ZltpPj4yXT1m
W2o+PjJdO2k9aSs0fDA7aj1qKzR8MH13aGlsZSgoaXwwKTwoa3wwKSk7aT1EO2o9YjtrPWkrNDh8
MDtkb3tmW2k+PjJdPWZbaj4+Ml07aT1pKzR8MDtqPWorNHwwfXdoaWxlKChpfDApPChrfDApKTti
SChoLEQpO3g9RSs4fDA7bT1GKzh8MDtxPUYrMTZ8MDt1PUYrMjR8MDt5PUUrMTJ8MDt6PUUrMTZ8
MDtvPUcrOHwwO3M9RysxNnwwO3c9RysyNHwwO0E9RSszMnwwO0I9RSs0fDA7bj1IKzh8MDtyPUgr
MTZ8MDt2PUgrMjR8MDtsPTA7Yz0rcFtoPj4zXTtkPStwW2grOD4+M107ZT0rcFtoKzE2Pj4zXTtn
PStwW2grMjQ+PjNdO3doaWxlKDEpe2lmKChsfDApPj0oZltJPj4yXXwwKSlicmVhaztpZihsKXti
PShmW2E+PjJdfDApKyhsKjQ4fDApfDA7aT1FO2o9YjtrPWkrNDh8MDtkb3tmW2k+PjJdPWZbaj4+
Ml07aT1pKzR8MDtqPWorNHwwfXdoaWxlKChpfDApPChrfDApKTtpPUQ7aj1iO2s9aSs0OHwwO2Rv
e2ZbaT4+Ml09ZltqPj4yXTtpPWkrNHwwO2o9ais0fDB9d2hpbGUoKGl8MCk8KGt8MCkpO2JIKEYs
RCk7Tj0rcFtGPj4zXTtNPStwW20+PjNdO0w9K3BbcT4+M107Sz0rcFt1Pj4zXTtjPWM8Tj9jOk47
ZD1kPE0/ZDpNO2U9ZT5MP2U6TDtnPWc+Sz9nOkt9Yj1mW3g+PjJdfDA7aWYoYil7az1mW0U+PjJd
fDA7ZltDPj4yXT1mW3o+PjJdO2ZbQys0Pj4yXT1mW3orND4+Ml07ZltDKzg+PjJdPWZbeis4Pj4y
XTtmW0MrMTI+PjJdPWZbeisxMj4+Ml07ZltEPj4yXT1mW2s+PjJdO2ZbRCs0Pj4yXT1mW2srND4+
Ml07ZltEKzg+PjJdPWZbays4Pj4yXTtmW0QrMTI+PjJdPWZbaysxMj4+Ml07U0UoRyxDLEQsMS4w
LGIpO0s9K3BbRz4+M107TD0rcFtvPj4zXTtNPStwW3M+PjNdO049K3Bbdz4+M107Yz1jPEs/YzpL
O2Q9ZDxMP2Q6TDtlPWU+TT9lOk07Zz1nPk4/ZzpOfWI9Zlt5Pj4yXXwwO2lmKGIpe2s9KGZbRT4+
Ml18MCkrKChmW0I+PjJdfDApKy0xPDw0KXwwO2ZbQz4+Ml09ZltBPj4yXTtmW0MrND4+Ml09ZltB
KzQ+PjJdO2ZbQys4Pj4yXT1mW0ErOD4+Ml07ZltDKzEyPj4yXT1mW0ErMTI+PjJdO2ZbRD4+Ml09
ZltrPj4yXTtmW0QrND4+Ml09ZltrKzQ+PjJdO2ZbRCs4Pj4yXT1mW2srOD4+Ml07ZltEKzEyPj4y
XT1mW2srMTI+PjJdO1NFKEgsQyxELDEuMCxiKTtLPStwW0g+PjNdO0w9K3Bbbj4+M107TT0rcFty
Pj4zXTtOPStwW3Y+PjNdO2M9YzxLP2M6SztkPWQ8TD9kOkw7ZT1lPk0/ZTpNO2c9Zz5OP2c6Tn1s
PWwrMXwwfXBbYSs4Pj4zXT1jO3BbYSsxNj4+M109ZDtwW2ErMjQ+PjNdPWU7cFthKzMyPj4zXT1n
O3Q9SjtyZXR1cm59ZnVuY3Rpb24gYkgoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLjAsZD0wLjAs
ZT0wLjAsZz0wLjAsaD0wLGk9MCxqPTAuMCxrPTAuMCxsPTAuMCxtPTAuMCxuPTAuMCxvPTAuMCxx
PTAscj0wO2k9ZltiKzQ+PjJdfDA7aWYoKGl8MCk8PTApeGEoMTA5NDk2LDEwODIzMiwzOTY4LDEw
OTUwOCk7aWYoKChpPj4+MCklM3wwfDApIT0xKXhhKDEwOTUxOCwxMDgyMzIsMzk2OSwxMDk1MDgp
O2g9ZltiPj4yXXwwO2U9K3BbaD4+M107Zz0rcFtoKzg+PjNdO2I9MTtjPWU7ZD1nO3doaWxlKDEp
e2lmKChifDApPj0oaXwwKSlicmVhaztyPWIrMXwwO3E9YisyfDA7bT0oK3BbaCsocjw8NCk+PjNd
KyArcFtoKyhiPDw0KT4+M10pKi41O2s9KCtwW2grKHI8PDQpKzg+PjNdKyArcFtoKyhiPDw0KSs4
Pj4zXSkqLjU7bz1jPG0/YzptO249ZDxrP2Q6azttPWU+bT9lOm07az1nPms/ZzprO2w9K3BbaCso
cTw8NCk+PjNdO2o9K3BbaCsocTw8NCkrOD4+M107Yj1iKzN8MDtjPW88bD9vOmw7ZD1uPGo/bjpq
O2U9bT5sP206bDtnPWs+aj9rOmp9cFthPj4zXT1jO3BbYSs4Pj4zXT1kO3BbYSsxNj4+M109ZTtw
W2ErMjQ+PjNdPWc7cmV0dXJufWZ1bmN0aW9uIGNIKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2
YXIgZD0wLGU9MC4wLGY9MC4wLGc9MC4wLGg9MCxpPTAuMCxqPTAsaz0wLGw9MC4wLG09MC4wLG49
MC4wLG89MC4wLHE9MC4wLHI9MC4wO3E9K3BbYT4+M107cj0rcFtjPj4zXTtqPSEocT49cik7aWYo
KCFqP3E8PStwW2MrMTY+PjNdOjApPyhlPStwW2ErOD4+M10sZT49K3BbYys4Pj4zXSk6MCloPWU8
PStwW2MrMjQ+PjNdO2Vsc2UgaD0wO2U9K3BbYj4+M107aWYoKGU+PXI/ZTw9K3BbYysxNj4+M106
MCk/KGY9K3BbYis4Pj4zXSxmPj0rcFtjKzg+PjNdKTowKXtkPWY8PStwW2MrMjQ+PjNdO2lmKCEo
aF5kKSlpZihoJmQpZD0xO2Vsc2Ugaz0xMTtlbHNlIGQ9MH1lbHNlIGlmKGgpZD0wO2Vsc2Ugaz0x
MTthOmRvIGlmKChrfDApPT0xMSl7bz0rcFthKzg+PjNdO2RvIGlmKHE9PWUpe3I9K3BbYys4Pj4z
XTtpZighKGp8bz49cl4rcFtiKzg+PjNdPj1yXjEpP3E8PStwW2MrMTY+PjNdOjApe2Q9MDticmVh
ayBhfX1lbHNle2k9K3BbYis4Pj4zXTtpZihvPT1pKXtpZighKHE+PXJeZT49cikpYnJlYWs7aWYo
IShvPj0rcFtjKzg+PjNdKSlicmVhaztpZighKG88PStwW2MrMjQ+PjNdKSlicmVhaztlbHNle2Q9
MDticmVhayBhfX1uPShpLW8pLyhlLXEpO2s9cTxlO2c9az9xOmU7ZT1rP2U6cTtmPW4qKHItcSkr
bztsPStwW2MrOD4+M107aWYoISghKHI+PWcpfCEocjw9ZSl8IShmPj1sKSk/Zjw9K3BbYysyND4+
M106MCl7ZD0wO2JyZWFrIGF9bT0rcFtjKzE2Pj4zXTtmPShtLXIpKm4rZjtpZihmPj1sPyEoISht
PD1lKXwobT49Zz8hKGY8PStwW2MrMjQ+PjNdKToxKSk6MCl7ZD0wO2JyZWFrIGF9az1vPGk7Zz1r
P286aTtmPWs/aTpvO2U9KGwtbykvbitxO2lmKCEoIShsPD1mKXwoIShsPj1nKXwoIShlPj1yKXwh
KGU8PW0pKSkpKXtkPTA7YnJlYWsgYX1vPStwW2MrMjQ+PjNdO3E9KG8tbCkvbitlO2lmKCEoIShv
PD1mKXwoIShvPj1nKXwoIShxPj1yKXwhKHE8PW0pKSkpKXtkPTA7YnJlYWsgYX19d2hpbGUoMCk7
ZD0tMX13aGlsZSgwKTtyZXR1cm4gZHwwfWZ1bmN0aW9uIGRIKGEpe2E9YXwwO3ZhciBiPTAsYz0w
LjA7Yj1hKzE2fDA7Yz0rcFtiPj4zXTtwW2ErMzI+PjNdPWM7cFthKzQ4Pj4zXT1jO3BbYSs0MD4+
M109K3BbYSsyND4+M107cFthKzU2Pj4zXT0rcFthKzg+PjNdO3BbYj4+M109K3BbYT4+M107cmV0
dXJufWZ1bmN0aW9uIGVIKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLjAsZT0wLjAs
Zz0wLjAsaD0wLjA7aWYoKGZbNDgzMjJdfDApIT0oY3wwKSl7czMoKyhjfDApKi4xNTkxNTQ5NDMw
OTE4OTUzNSwxOTIxNjgsMTkyMTc2KTtmWzQ4MzIyXT1jfWc9K3BbYj4+M107ZD0rcFsyNDAyMl07
ZT0rcFtiKzg+PjNdO2g9K3BbMjQwMjFdO3BbYT4+M109ZCpnLWgqZTtwW2ErOD4+M109aCpnK2Uq
ZDtyZXR1cm59ZnVuY3Rpb24gZkgoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMCxl
PTAsZz0wLjAsaD0wLGk9MCxqPTA7aj10O3Q9dCsxNnwwO2U9ajtkPStwW2I+PjNdO2g9Yis4fDA7
Zz0rcFtoPj4zXTthOmRvIHN3aXRjaChjfDApe2Nhc2UgMDp7aT0xMTticmVha31jYXNlIDkwOntw
W2I+PjNdPWc7ZD0tZDtpPTEwO2JyZWFrfWNhc2UgMTgwOntkPS1nO2k9MTA7YnJlYWt9Y2FzZSAy
NzA6e3BbYj4+M109ZztpPTEwO2JyZWFrfWRlZmF1bHQ6e2lmKChjfDApPDApe2ZbZT4+Ml09Zlti
Pj4yXTtmW2UrND4+Ml09ZltiKzQ+PjJdO2ZbZSs4Pj4yXT1mW2IrOD4+Ml07ZltlKzEyPj4yXT1m
W2IrMTI+PjJdO2dIKGEsZSwwLWN8MCk7YnJlYWsgYX1pZigoY3wwKT4zNjApe2ZbZT4+Ml09Zlti
Pj4yXTtmW2UrND4+Ml09ZltiKzQ+PjJdO2ZbZSs4Pj4yXT1mW2IrOD4+Ml07ZltlKzEyPj4yXT1m
W2IrMTI+PjJdO2ZIKGEsZSwoYz4+PjApJTM2MHwwKTticmVhayBhfWVsc2V7ZltlPj4yXT1mW2I+
PjJdO2ZbZSs0Pj4yXT1mW2IrND4+Ml07ZltlKzg+PjJdPWZbYis4Pj4yXTtmW2UrMTI+PjJdPWZb
YisxMj4+Ml07ZUgoYSxlLGMpO2JyZWFrIGF9fX13aGlsZSgwKTtpZigoaXwwKT09MTApe3BbaD4+
M109ZDtpPTExfWlmKChpfDApPT0xMSl7ZlthPj4yXT1mW2I+PjJdO2ZbYSs0Pj4yXT1mW2IrND4+
Ml07ZlthKzg+PjJdPWZbYis4Pj4yXTtmW2ErMTI+PjJdPWZbYisxMj4+Ml19dD1qO3JldHVybn1m
dW5jdGlvbiBnSChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MC4wLGU9MCxnPTAuMCxo
PTAsaT0wLGo9MDtqPXQ7dD10KzE2fDA7ZT1qO2Q9K3BbYj4+M107aD1iKzh8MDtnPStwW2g+PjNd
O2E6ZG8gc3dpdGNoKGN8MCl7Y2FzZSAwOntpPTExO2JyZWFrfWNhc2UgOTA6e3BbYj4+M109LWc7
aT0xMDticmVha31jYXNlIDE4MDp7ZD0tZztpPTEwO2JyZWFrfWNhc2UgMjcwOntwW2I+PjNdPWc7
aT0xMDticmVha31kZWZhdWx0OntpZigoY3wwKTwwKXtmW2U+PjJdPWZbYj4+Ml07ZltlKzQ+PjJd
PWZbYis0Pj4yXTtmW2UrOD4+Ml09ZltiKzg+PjJdO2ZbZSsxMj4+Ml09ZltiKzEyPj4yXTtmSChh
LGUsMC1jfDApO2JyZWFrIGF9aWYoKGN8MCk+MzYwKXtmW2U+PjJdPWZbYj4+Ml07ZltlKzQ+PjJd
PWZbYis0Pj4yXTtmW2UrOD4+Ml09ZltiKzg+PjJdO2ZbZSsxMj4+Ml09ZltiKzEyPj4yXTtnSChh
LGUsKGM+Pj4wKSUzNjB8MCk7YnJlYWsgYX1lbHNle2ZbZT4+Ml09ZltiPj4yXTtmW2UrND4+Ml09
ZltiKzQ+PjJdO2ZbZSs4Pj4yXT1mW2IrOD4+Ml07ZltlKzEyPj4yXT1mW2IrMTI+PjJdO2VIKGEs
ZSwzNjAtY3wwKTticmVhayBhfX19d2hpbGUoMCk7aWYoKGl8MCk9PTEwKXtwW2g+PjNdPWQ7aT0x
MX1pZigoaXwwKT09MTEpe2ZbYT4+Ml09ZltiPj4yXTtmW2ErND4+Ml09ZltiKzQ+PjJdO2ZbYSs4
Pj4yXT1mW2IrOD4+Ml07ZlthKzEyPj4yXT1mW2IrMTI+PjJdfXQ9ajtyZXR1cm59ZnVuY3Rpb24g
aEgoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMCxlPTAuMCxmPTAuMCxnPTAuMDtn
PStwW2M+PjNdO2Q9K3BbYys4Pj4zXTtmPWQrICtwW2I+PjNdO2U9ZysgK3BbYisyND4+M107ZD1k
KyArcFtiKzE2Pj4zXTtwW2E+PjNdPWcrICtwW2IrOD4+M107cFthKzg+PjNdPWY7cFthKzE2Pj4z
XT1lO3BbYSsyND4+M109ZDtyZXR1cm59ZnVuY3Rpb24gaUgoYSxiLGMpe2E9YXwwO2I9YnwwO2M9
Y3wwO3ZhciBkPTAuMCxlPTAuMCxmPTAuMCxnPTAuMDtmPStwW2E+PjNdO2Q9K3BbYj4+M10tZjtn
PStwW2ErOD4+M107ZT0rcFtiKzg+PjNdLWc7Zj0oK3BbYys4Pj4zXS1nKSpkLSgrcFtjPj4zXS1m
KSplO2Y9ZipmO3JldHVybiArKGY8MS4wZS0xMD8wLjA6Zi8oZSplK2QqZCkpfWZ1bmN0aW9uIGpI
KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTA7Zz10O3Q9dCsxNnwwO2U9
Zys4fDA7ZD1nO2E9R3goYSxiKXwwO2lmKGF8MD8oZltlPj4yXT1kLChNMShhLDEwOTUzNSxlKXww
KT4wKTowKXBbYz4+M109K3BbZD4+M107dD1nO3JldHVybn1mdW5jdGlvbiBrSChhLGMpe2E9YXww
O2M9Y3wwO3ZhciBkPTAsZT0wLjAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTA7bD10O3Q9dCsxNnww
O2c9bCs4fDA7aD1sO2Q9REgoOTYpfDA7az1hKzE2fDA7ZlsoZltrPj4yXXwwKSs4Pj4yXT1kO2Q9
R3goYSwxMDk1MzkpfDA7aWYoIWQpe2Q9X2EoMTA5NTQ4KXwwO2lmKGR8MClqPTN9ZWxzZSBqPTM7
aWYoKGp8MCk9PTMpa2IoMTA5NTYwLGR8MCwxKXwwO2Q9KGxIKGEpfDApJjI1NTtiWyhmW2s+PjJd
fDApKzExNT4+MF09ZDtpZigwPT0wPyhkPUd4KGEsMTA5NTcxKXwwLGZbNDgzMjRdPWQsKGR8MCk9
PTApOjApZls0ODMyNF09Zls0ODMyM107ZT0rVUwoYSx3eChhLDAsMTA5NTgxLDApfDAsMC4wLDAu
MCk7cFtmWyhmW2s+PjJdfDApKzg+PjJdPj4zXT1lO2Q9R3goYSwxMDk1ODkpfDA7YTpkbyBpZigh
ZClkPTA7ZWxzZXtzd2l0Y2goYltkPj4wXXwwKXtjYXNlIDc2OntpZighKEgkKGQsMTA5NTk3KXww
KSl7ZD0xO2JyZWFrIGF9YnJlYWt9Y2FzZSA2Njp7aWYoIShIJChkLDEwOTYwMCl8MCkpe2Q9Mjti
cmVhayBhfWJyZWFrfWNhc2UgODI6e2Q9KEgkKGQsMTA5NjAzKXwwKT09MDtkPWQ/MzowO2JyZWFr
IGF9ZGVmYXVsdDp7ZD0wO2JyZWFrIGF9fWQ9MH13aGlsZSgwKTtmWyhmW2s+PjJdfDApKzExNj4+
Ml09ZDw8MnwoYzw8MjQ+PjI0PT0wPzA6ZCk7ZT0rVUwoYSx3eChhLDAsMTA5NjA2LDApfDAsLjI1
LC4wMik7cFtoPj4zXT1lO2U9ZSo3Mi4wO2ZbKGZbaz4+Ml18MCkrMjQ4Pj4yXT1+fihlKyhlPj0w
LjA/LjU6LS41KSk7ZD1XTChhLHd4KGEsMCwxMDk2MTQsMCl8MCwwKXwwO2lmKGQpe2ZbZz4+Ml09
aDtpZihNMShkLDEwOTUzNSxnKXwwKXtlPStwW2g+PjNdO2lmKGU8LjAyKXtwW2g+PjNdPS4wMjtl
PS4wMn19ZWxzZXtwW2g+PjNdPS41O2U9LjV9aWYoajIoZCwxMDk2MjIpfDApYlsoZltrPj4yXXww
KSsyNzY+PjBdPTF9ZWxzZXtwW2g+PjNdPS41O2U9LjV9ZT1lKjcyLjA7ZlsoZltrPj4yXXwwKSsy
NTI+PjJdPX5+KGUrKGU+PTAuMD8uNTotLjUpKTtoPShUTChhLHd4KGEsMCwxMDk2MzAsMCl8MCww
LDApfDApJjI1NTtiWyhmW2s+PjJdfDApKzI0Mz4+MF09aDtoPWpNKFdMKGEsd3goYSwwLDEwOTY0
MCwwKXwwLDApfDAsMTAyMDgsMTAyMjQpfDA7ZlsoZltrPj4yXXwwKSsyNDQ+PjJdPWg7bUgoYSk7
aD1uSChhLDEwOTY1MCwoZlsoZltrPj4yXXwwKSs4Pj4yXXwwKSs2NHwwKXwwO2Q9ZlsoZltrPj4y
XXwwKSs4Pj4yXXwwO2JbZCs4MD4+MF09aDtuSChhLDEwOTY1NSxkKzQ4fDApfDA7ZD1aTChHeChh
LDEwOTY2MCl8MCl8MDtiWyhmWyhmW2s+PjJdfDApKzg+PjJdfDApKzgyPj4wXT1kO2Q9R3goYSwx
MDk2NjcpfDA7ZG8gaWYoIWQpe2Q9R3goYSwxMDk2NzQpfDA7aWYoZHwwKXtkPShiW2Q+PjBdfDMy
KTw8MjQ+PjI0PT0xMDgmMTtqPTI3O2JyZWFrfWQ9R3goYSwxMDk2ODYpfDA7aWYoZHwwKXtkPVpM
KGQpfDA7aj0yN319ZWxzZXtkPShEMihkKXwwKT09OTAmMTtqPTI3fXdoaWxlKDApO2lmKChqfDAp
PT0yNyliWyhmWyhmW2s+PjJdfDApKzg+PjJdfDApKzgxPj4wXT1kO2Q9ak0oR3goYSwxMDk2OTYp
fDAsMTAyNDAsMTAyNTYpfDA7Zls0ODMyNl09ZDtkPVpMKEd4KGEsMTA5NzA4KXwwKXwwO2JbMTk0
ODY1XT1kO2ZbNDgzMjldPTA7Zls0ODMzMF09MDtwWyhmWyhmW2s+PjJdfDApKzg+PjJdfDApKzI0
Pj4zXT0wLjA7ZD1HeChhLDEwOTcyMCl8MDtpZigoZHwwKSE9MD8oYltkPj4wXXwwKSE9MDowKWo9
MzI7ZWxzZSBqPTMwO2lmKCgoanwwKT09MzA/KGk9R3goYSwxMDk3MjQpfDAsaXwwKTowKT9iW2k+
PjBdfDA6MCl7ZD1pO2o9MzJ9aWYoKGp8MCk9PTMyKXtlPStDMihkKTtwWyhmWyhmW2s+PjJdfDAp
Kzg+PjJdfDApKzI0Pj4zXT1lfW9IKGEpO3BbMjQwMjVdPTEuZSszNztqPXd4KGEsMCwxMDk3MzUs
MCl8MDtmWzQ4MzMyXT1qO2o9d3goYSwwLDE0ODE2OSwwKXwwO2ZbNDgzMzVdPWo7aj13eChhLDAs
MTEzODIyLDApfDA7Zls0ODMzNl09ajtqPXd4KGEsMSwxNDgxODMsMCl8MDtmWzQ4MzM3XT1qO2o9
d3goYSwxLDE0ODI1MSwwKXwwO2ZbNDgzMzhdPWo7aj13eChhLDEsMTE2NTU2LDApfDA7Zls0ODMz
OV09ajtqPXd4KGEsMSwxNDc5NTgsMCl8MDtmWzQ4MzQwXT1qO2o9d3goYSwxLDEwOTc0NCwwKXww
O2ZbNDgzNDFdPWo7aj13eChhLDEsMTQ4MjE3LDApfDA7Zls0ODM0OV09ajtqPXd4KGEsMSwxMDk3
NTQsMCl8MDtmWzQ4MzQyXT1qO2o9d3goYSwxLDEwOTc2MywwKXwwO2ZbNDgzNDNdPWo7aj13eChh
LDEsMTA5NzcyLDApfDA7Zls0ODM0NF09ajtqPXd4KGEsMSwxMTY1NTAsMCl8MDtmWzQ4MzQ2XT1q
O2lmKCFqKXtqPXd4KGEsMSwxMTY1NTAsMTEzODE5KXwwO2ZbNDgzNDZdPWp9ZD13eChhLDEsMTA5
NzgyLDApfDA7Zls0ODM0N109ZDtkPXd4KGEsMSwxMDk2MzAsMCl8MDtmWzQ4MzUwXT1kO2Q9d3go
YSwxLDEwOTc4OSwwKXwwO2ZbNDgzNjRdPWQ7ZD13eChhLDEsMTA5NzM1LDApfDA7Zls0ODM1M109
ZDtkPXd4KGEsMSwxMTM4MjIsMCl8MDtmWzQ4MzQ1XT1kO2Q9d3goYSwxLDE0ODIxMSwwKXwwO2Zb
NDgzNTFdPWQ7ZD13eChhLDEsMTA5Nzk4LDApfDA7Zls0ODM1Ml09ZDtkPXd4KGEsMSwxMDk4MTAs
MCl8MDtmWzQ4MzU1XT1kO2Q9d3goYSwxLDEwOTY3NCwwKXwwO2ZbNDgzNTRdPWQ7ZD13eChhLDEs
MTA5ODE1LDApfDA7Zls0ODM1Nl09ZDtkPXd4KGEsMSwxNDgxNTksMCl8MDtmWzQ4MzU3XT1kO2Q9
d3goYSwxLDE0NTU2NywwKXwwO2ZbNDgzNThdPWQ7ZD13eChhLDEsMTA5ODI2LDApfDA7Zls0ODM0
OF09ZDtkPXd4KGEsMSwxMDk4MzYsMCl8MDtmWzQ4MzU5XT1kO2Q9d3goYSwxLDEwOTg0MiwwKXww
O2ZbNDgzNjBdPWQ7ZD13eChhLDEsMTA5ODQ4LDApfDA7Zls0ODM2MV09ZDtkPXd4KGEsMSwxMDk4
NTYsMCl8MDtmWzQ4MzYyXT1kO2Q9d3goYSwxLDEwOTg2NSwwKXwwO2ZbNDgzNjNdPWQ7ZD13eChh
LDEsMTQ4MTY5LDApfDA7Zls0ODM2NV09ZDtkPXd4KGEsMiwxMDk4NjcsMCl8MDtmWzQ4MzY2XT1k
O2Q9d3goYSwyLDE0Nzk1OCwwKXwwO2ZbNDgzNjhdPWQ7ZD13eChhLDIsMTA5NzQ0LDApfDA7Zls0
ODM2OV09ZDtkPXd4KGEsMiwxMDk3NTQsMCl8MDtmWzQ4MzcxXT1kO2Q9d3goYSwyLDEwOTc2Myww
KXwwO2ZbNDgzNzJdPWQ7ZD13eChhLDIsMTA5NzcyLDApfDA7Zls0ODM3M109ZDtkPXd4KGEsMiwx
MTY1NTAsMCl8MDtmWzQ4Mzc0XT1kO2Q9d3goYSwyLDEwOTc4MiwwKXwwO2ZbNDgzNzVdPWQ7ZD13
eChhLDIsMTA5ODc0LDApfDA7Zls0ODM4NF09ZDtkPXd4KGEsMiwxMDk4ODUsMCl8MDtmWzQ4Mzc2
XT1kO2Q9d3goYSwyLDEwOTg4OSwwKXwwO2ZbNDgzODddPWQ7ZD13eChhLDIsMTA5ODk5LDApfDA7
Zls0ODM4OF09ZDtkPXd4KGEsMiwxMDk5MDksMCl8MDtmWzQ4Mzg5XT1kO2Q9d3goYSwyLDEwOTkx
OSwwKXwwO2ZbNDgzOTBdPWQ7ZD13eChhLDIsMTA5OTI5LDApfDA7Zls0ODM5MV09ZDtkPXd4KGEs
MiwxMDk5NDMsMCl8MDtmWzQ4MzkyXT1kO2Q9d3goYSwyLDEwOTk1NywwKXwwO2ZbNDgzOTNdPWQ7
ZD13eChhLDIsMTA5OTcyLDApfDA7Zls0ODM5NF09ZDtkPXd4KGEsMiwxMDk5ODYsMCl8MDtmWzQ4
Mzk1XT1kO2Q9d3goYSwyLDEwOTk5NywwKXwwO2ZbNDgzNjddPWQ7ZD13eChhLDIsMTA5NjMwLDAp
fDA7Zls0ODM3OV09ZDtkPXd4KGEsMiwxNDgyMTcsMCl8MDtmWzQ4Mzc3XT1kO2Q9d3goYSwyLDEx
MDAwNCwwKXwwO2ZbNDgzNzhdPWQ7ZD13eChhLDIsMTEwMDEzLDApfDA7Zls0ODM4MF09ZDtkPXd4
KGEsMiwxMTAwMjMsMCl8MDtmWzQ4MzgxXT1kO2Q9d3goYSwyLDEwOTgzNiwwKXwwO2ZbNDgzODJd
PWQ7ZD13eChhLDIsMTA5ODQ4LDApfDA7Zls0ODM4M109ZDtkPXd4KGEsMiwxMTAwMzQsMCl8MDtm
WzQ4Mzk2XT1kO2Q9d3goYSwyLDExMDA0MywwKXwwO2ZbNDgzOTddPWQ7ZD13eChhLDIsMTA5Nzg5
LDApfDA7Zls0ODM5OF09ZDtkPVZFKGEpfDA7ZlsoZlsoZltrPj4yXXwwKSs4Pj4yXXwwKSs4OD4+
Ml09ZDtkPUd4KGEsMTQ4MTk1KXwwO2lmKGR8MD9iW2Q+PjBdfDA6MCl7YT15SChkLGEpfDA7Zlso
ZlsoZltrPj4yXXwwKSs4Pj4yXXwwKSs5Mj4+Ml09YX10PWw7cmV0dXJufWZ1bmN0aW9uIGxIKGEp
e2E9YXwwO3ZhciBiPTAsYz0wO2M9dDt0PXQrMTZ8MDtiPWM7YT1YTChhLHd4KGEsMCwxMTAxMzMs
MCl8MCwxMTAxNDEpfDA7aWYoKCgoKCgoYjMoYSwxMTAxNDcpfDApIT0wPyhiMyhhLDExMDE1NSl8
MCkhPTA6MCk/KGIzKGEsMTEwMTYyKXwwKSE9MDowKT8oYjMoYSwxMTAxNjUpfDApIT0wOjApPyhi
MyhhLDExMDE3Nil8MCkhPTA6MCk/KGIzKGEsMTEwMTg3KXwwKSE9MDowKT8oYjMoYSwxMTAxOTcp
fDApIT0wOjApaWYoKGIzKGEsMTEwMjA4KXwwKSE9MD8oYjMoYSwxMTAyMTQpfDApIT0wOjApaWYo
KGIzKGEsMTEwMTQxKXwwKSE9MD8oYjMoYSwxMTAyMTkpfDApIT0wOjApe2ZbYj4+Ml09YTtZdygw
LDExMDIyNCxiKXwwO2E9MH1lbHNlIGE9MDtlbHNlIGE9MjtlbHNlIGE9MTt0PWM7cmV0dXJuIGF8
MH1mdW5jdGlvbiBtSChhKXthPWF8MDt2YXIgYz0wLjAsZD0wLGU9MDtkPUd4KGEsMTEwMDkxKXww
O2E6ZG8gaWYoZHwwPyhlPWJbZD4+MF18MCxlPDwyND4+MjQpOjApc3dpdGNoKGU8PDI0Pj4yNHww
KXtjYXNlIDk3OntpZihlPDwyND4+MjQhPTk3KWJyZWFrIGE7aWYoSCQoZCwxMTAwOTcpfDApYnJl
YWsgYTtmWyhmWyhmW2ErMTY+PjJdfDApKzg+PjJdfDApKzg0Pj4yXT00O2JyZWFrIGF9Y2FzZSA5
OTp7aWYoZTw8MjQ+PjI0IT05OSlicmVhayBhO2lmKEgkKGQsMTEwMTAyKXwwKWJyZWFrIGE7Zlso
ZlsoZlthKzE2Pj4yXXwwKSs4Pj4yXXwwKSs4ND4+Ml09MzticmVhayBhfWNhc2UgMTAxOntpZihl
PDwyND4+MjQhPTEwMSlicmVhayBhO2lmKEgkKGQsMTEwMTExKXwwKWJyZWFrIGE7ZlsoZlsoZlth
KzE2Pj4yXXwwKSs4Pj4yXXwwKSs4ND4+Ml09NTticmVhayBhfWNhc2UgMTAyOntpZihlPDwyND4+
MjQhPTEwMilicmVhayBhO2lmKEgkKGQsMTEwMTE4KXwwKWJyZWFrIGE7ZlsoZlsoZlthKzE2Pj4y
XXwwKSs4Pj4yXXwwKSs4ND4+Ml09MjticmVhayBhfWRlZmF1bHQ6e2M9K0MyKGQpO2lmKCEoYz4w
LjApKWJyZWFrIGE7YT1mWyhmW2ErMTY+PjJdfDApKzg+PjJdfDA7ZlthKzg0Pj4yXT0xO3BbYSsx
Nj4+M109YzticmVhayBhfX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gbkgoYSxjLGQpe2E9YXww
O2M9Y3wwO2Q9ZHwwO3ZhciBlPTAuMCxnPTAuMCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDttPXQ7
dD10KzQ4fDA7az1tKzMyfDA7aD1tKzE2fDA7aj1tKzh8MDtpPW07bD1tKzQwfDA7YltsPj4wXT0w
O2E9R3goYSxjKXwwO2RvIGlmKGEpe2ZbaD4+Ml09ajtmW2grND4+Ml09aTtmW2grOD4+Ml09bDto
PShNMShhLDExMDA3NSxoKXwwKT4xO2c9K3Bbaj4+M107ZT0rcFtpPj4zXTtpZihoJmc+MC4wJmU+
MC4wKXtnPWcqNzIuMDtwW2Q+PjNdPSsofn4oZysoZz49MC4wPy41Oi0uNSkpfDApO2c9ZSo3Mi4w
O3BbZCs4Pj4zXT0rKH5+KGcrKGc+PTAuMD8uNTotLjUpKXwwKTthPShiW2w+PjBdfDApPT0zMzti
cmVha31iW2w+PjBdPTA7ZltrPj4yXT1qO2Zbays0Pj4yXT1sO2s9KE0xKGEsMTEwMDg1LGspfDAp
PjA7ZT0rcFtqPj4zXTtpZihrJmU+MC4wKXtnPWUqNzIuMDtnPSsofn4oZysoZz49MC4wPy41Oi0u
NSkpfDApO3BbZD4+M109ZztwW2QrOD4+M109ZzthPShiW2w+PjBdfDApPT0zM31lbHNlIGE9MH1l
bHNlIGE9MDt3aGlsZSgwKTt0PW07cmV0dXJuIGEmMXwwfWZ1bmN0aW9uIG9IKGEpe2E9YXwwO3Zh
ciBjPTAsZD0wLGU9MC4wLGc9MC4wLGg9MDtjPUd4KGEsMTE2NTUwKXwwO2RvIGlmKGN8MD9iW2M+
PjBdfDA6MCl7ZD0oZlsoZlthKzYwPj4yXXwwKSsxNj4+Ml18MCkrMTEzfDA7YltkPj4wXT1iW2Q+
PjBdfDg7ZD0oX3ooYyl8MCk9PTA7Zz0rVUwoYSx3eChhLDAsMTA5NzU0LDApfDAsMTQuMCwxLjAp
O2g9WEwoYSx3eChhLDAsMTA5NzYzLDApfDAsMTE2MzIwKXwwO2M9dEgoYSxjLGQ/MDoyLGcsaCxY
TChhLHd4KGEsMCwxMDk3NzIsMCl8MCwxNDU1ODQpfDApfDA7aD1hKzE2fDA7ZlsoZltoPj4yXXww
KSsxMj4+Ml09YztjPUd4KGEsMTEzOTU0KXwwO2Q9KGN8MCkhPTA7ZG8gaWYoKG96KGEpfDApPT0o
YXwwKSl7aWYoZD8oYltjPj4wXXwwKT09MTE2OjApe2M9MTticmVha31jPTB9ZWxzZXtpZihkPyhi
W2M+PjBdfDApPT05ODowKXtjPTA7YnJlYWt9Yz0xfXdoaWxlKDApO2Q9R3goYSwxMTAwNTIpfDA7
YTpkbyBpZihkKXN3aXRjaChiW2Q+PjBdfDApe2Nhc2UgMTA4OntjPWN8MjticmVhayBhfWNhc2Ug
MTE0OntjPWN8NDticmVhayBhfWRlZmF1bHQ6YnJlYWsgYX13aGlsZSgwKTtiWyhmW2g+PjJdfDAp
KzI3NT4+MF09YztpZigob3ooYSl8MCkhPShhfDApKXtjPWZbKGZbaD4+Ml18MCkrMTI+PjJdfDA7
ZT0rcFtjKzI0Pj4zXSsxNi4wO2c9K3BbYyszMj4+M10rOC4wO2E9KG96KGEpfDApKzE2fDA7Yz1m
W2g+PjJdfDA7ZD1iW2MrMjc1Pj4wXTw8MSYyO2lmKCEoZlsoZlthPj4yXXwwKSsxMTY+PjJdJjEp
KXthPWQmMjU1O3BbYys0OCsoYTw8NCk+PjNdPWU7cFtjKzQ4KyhhPDw0KSs4Pj4zXT1nO2JyZWFr
fWVsc2V7YT0oZF4zKSYyNTU7cFtjKzQ4KyhhPDw0KT4+M109ZztwW2MrNDgrKGE8PDQpKzg+PjNd
PWU7YnJlYWt9fX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gcEgoYSl7YT1hfDA7dmFyIGI9MCxj
PTAsZD0wO2Q9YSsxNnwwO2I9KGZbZD4+Ml18MCkrOHwwO2M9ZltiPj4yXXwwO2RvIGlmKGMpe2I9
ZltjKzg4Pj4yXXwwO2lmKGIpe3lFKGIpO2I9KGZbZD4+Ml18MCkrOHwwO2M9ZltiPj4yXXwwO2lm
KCFjKWJyZWFrO2Vsc2UgYj1jfWVsc2UgYj1jO01fKGZbYis5Mj4+Ml18MCk7Yj0oZltkPj4yXXww
KSs4fDB9d2hpbGUoMCk7TV8oZltiPj4yXXwwKTtkPWZbZD4+Ml18MDtmW2QrOD4+Ml09MDt3SChm
W2QrMTI+PjJdfDApO1B6KGEsMCwxNDU3NTMpO3JldHVybn1mdW5jdGlvbiBxSChhKXthPWF8MDt2
YXIgYj0wLGM9MDtjPXQ7dD10KzE2fDA7Yj1jO3N3aXRjaChhfDApe2Nhc2UgMDp7YT0xMTAyOTc7
YnJlYWt9Y2FzZSAxOnthPTExMDE2NTticmVha31jYXNlIDI6e2E9MTEwMzAzO2JyZWFrfWRlZmF1
bHQ6e2ZbYj4+Ml09YTtZdygxLDExMDI2NyxiKXwwO2E9MTEwMjk3fX10PWM7cmV0dXJuIGF8MH1m
dW5jdGlvbiBySChhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxr
PTAsbD0wO2U9ZltjPj4yXXwwO2w9YysyNHwwO2ZbbD4+Ml09MDtmW2wrND4+Ml09MDtmW2wrOD4+
Ml09MDtmW2wrMTI+PjJdPTA7aWYoYltlPj4wXXwwKXtqPUVIKChjMChlKXwwKSsxfDApfDA7Yltq
Pj4wXT0wO2s9YysxMnwwO2Q9ajthOndoaWxlKDEpe2I6d2hpbGUoMSl7aT1lKzF8MDtnPWJbZT4+
MF18MDtpZighKGc8PDI0Pj4yNCkpYnJlYWsgYTtpZighKGc8PDI0Pj4yND09LTF8KChnJjI1NSk8
MTYxfChmW2s+PjJdfDApIT0yKSkpe2JbZD4+MF09ZztpPWJbaT4+MF18MDtnPWQrMnwwO2JbZCsx
Pj4wXT1pO2lmKCEoaTw8MjQ+PjI0KSl7ZD1nO2JyZWFrIGF9ZWxzZXtkPWc7ZT1lKzJ8MH19ZWxz
ZXtzd2l0Y2goZzw8MjQ+PjI0KXtjYXNlIDkyOntoPTk7YnJlYWsgYn1jYXNlIDEwOntoPTEzO2Jy
ZWFrIGJ9ZGVmYXVsdDp7fX1iW2Q+PjBdPWc7ZD1kKzF8MDtlPWl9fWlmKChofDApPT05KXtnPWJb
aT4+MF18MDtzd2l0Y2goZzw8MjQ+PjI0fDApe2Nhc2UgMTE0OmNhc2UgMTA4OmNhc2UgMTEwOntn
PWQrMXwwO2JbZD4+MF09MDtzSChhLGMsaixiW2k+PjBdfDApO2Q9ZzticmVha31kZWZhdWx0Onti
W2Q+PjBdPWc7ZD1kKzF8MDtnPWp9fWU9KGJbaT4+MF18MCk9PTA/aTplKzJ8MH1lbHNlIGlmKCho
fDApPT0xMyl7Zz1kKzF8MDtiW2Q+PjBdPTA7c0goYSxjLGosMTEwKTtkPWc7ZT1pfWo9Z31pZigo
anwwKSE9KGR8MCkpe2JbZD4+MF09MDtzSChhLGMsaiwxMTApfWM9Yys0MHwwO2ZbYz4+Ml09Zlts
Pj4yXTtmW2MrND4+Ml09ZltsKzQ+PjJdO2ZbYys4Pj4yXT1mW2wrOD4+Ml07ZltjKzEyPj4yXT1m
W2wrMTI+PjJdfXJldHVybn1mdW5jdGlvbiBzSChhLGMsZSxnKXthPWF8MDtjPWN8MDtlPWV8MDtn
PWd8MDt2YXIgaD0wLjAsaT0wLjAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MC4wO3E9
dDt0PXQrMTZ8MDtuPXE7bz1jKzc2fDA7aj1kW28+PjFdfDA7bT1jKzcyfDA7az1mW20+PjJdfDA7
aWYoIWspbD1ESCgoaio1NnwwKSsxMTJ8MCl8MDtlbHNlIGw9RkgoayxqKzJ8MCw1NixqKzF8MCl8
MDtmW20+PjJdPWw7aj1kW28+PjFdfDA7az1sKyhqKjU2fDApfDA7ZltrPj4yXT1lO2JbbCsoaio1
NnwwKSs0OD4+MF09ZztpZigoZXwwKSE9MD8oYltlPj4wXXwwKSE9MDowKXtmWzQ4MDU0XT1mW2Mr
ND4+Ml07cFsyNDAyOV09K3BbYysxNj4+M107Zz1mW2ErMTQ0Pj4yXXwwO2c9d2JbZltnPj4yXSY2
M10oZywxOTIyMTYsMSl8MDtmW2wrKGoqNTZ8MCkrND4+Ml09ZztGTChuLGEsayk7aT0rcFtuPj4z
XTtoPStwW24rOD4+M119ZWxzZXtoPSsofn4oK3BbYysxNj4+M10qMS4yKXwwKTtwW2wrKGoqNTZ8
MCkrNDA+PjNdPWg7aT0wLjB9ZFtvPj4xXT0oZFtvPj4xXXwwKSsxPDwxNj4+MTY7bz1jKzI0fDA7
cj0rcFtvPj4zXTtwW28+PjNdPXI+aT9yOmk7bz1jKzMyfDA7cFtvPj4zXT0rcFtvPj4zXStoO3Q9
cTtyZXR1cm59ZnVuY3Rpb24gdEgoYSxjLGQsZSxnLGkpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9K2U7
Zz1nfDA7aT1pfDA7dmFyIGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0wLHU9MDt1
PXQ7dD10KzMyfDA7cT11KzE2fDA7bz11Kzh8MDtuPXU7cz1ESCg4OCl8MDtzd2l0Y2goeXooYSl8
MCl7Y2FzZSAwOntrPTA7cj1mW2ErNjA+PjJdfDA7bD1hO209MDticmVha31jYXNlIDE6e2s9MDty
PW96KG56KGEpfDApfDA7bD0wO209YTticmVha31jYXNlIDI6e2s9YTtyPW96KG56KGZbKChmW2E+
PjJdJjN8MCk9PTI/YTphKy00OHwwKSs0MD4+Ml18MCl8MCl8MDtsPTA7bT0wO2JyZWFrfWRlZmF1
bHQ6e2s9MDtyPTA7bD0wO209MH19ZltzKzQ+PjJdPWc7ZltzKzg+PjJdPWk7cFtzKzE2Pj4zXT1l
O2o9cisxNnwwO2k9cysxMnwwO2ZbaT4+Ml09aFsoZltqPj4yXXwwKSsxMTU+PjBdO2E6ZG8gaWYo
ZCY0KXtyPXYyKGMpfDA7ZltzPj4yXT1yO2lmKGQmMnwwKWJbcys4Mj4+MF09MX1lbHNlIHN3aXRj
aChkfDApe2Nhc2UgMjp7ZD12MihjKXwwO2Zbcz4+Ml09ZDtiW3MrODI+PjBdPTE7aWYoISh0Uihh
LHMpfDApKWJyZWFrIGE7c3dpdGNoKHl6KGEpfDApe2Nhc2UgMDp7cj1BeShsKXwwO2Zbbj4+Ml09
cjtZdygzLDExMDMwOSxuKXwwO2JyZWFrIGF9Y2FzZSAxOntyPUF5KG0pfDA7ZltvPj4yXT1yO1l3
KDMsMTEwMzMxLG8pfDA7YnJlYWsgYX1jYXNlIDI6e249QXkoZlsoKGZbaz4+Ml0mM3wwKT09Mz9r
OmsrNDh8MCkrNDA+PjJdfDApfDA7bz0obnkocil8MCk9PTA7cj1BeShmWygoZltrPj4yXSYzfDAp
PT0yP2s6aystNDh8MCkrNDA+PjJdfDApfDA7ZltxPj4yXT1uO2ZbcSs0Pj4yXT1vPzE0ODg4Mjox
NDYwMDg7ZltxKzg+PjJdPXI7WXcoMywxMTAzNTIscSl8MDticmVhayBhfWRlZmF1bHQ6YnJlYWsg
YX19Y2FzZSAwOntnPXVIKGMsYSwwKXwwO2Zbcz4+Ml09ZztpZigoZltpPj4yXXwwKT09MSlnPV9N
KGcpfDA7ZWxzZSBnPVhNKGcscil8MDtNXyhmW3M+PjJdfDApO2Zbcz4+Ml09ZztySChmWyhmW2o+
PjJdfDApKzE0ND4+Ml18MCxzKTticmVhayBhfWRlZmF1bHQ6eGEoMTEwMzc5LDExMDM5NSwxNjYs
MTEwNDA0KX13aGlsZSgwKTt0PXU7cmV0dXJuIHN8MH1mdW5jdGlvbiB1SChhLGMsZCl7YT1hfDA7
Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxw
PTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTA7c3dpdGNoKHl6KGMpfDApe2Nh
c2UgMDp7aT1BeShjKXwwO2c9YzAoaSl8MDtlPWZbKGZbYysxNj4+Ml18MCkrMTI+PjJdfDA7aWYo
ZSl7ZT1mW2U+PjJdfDA7aWYoIWEpe3Y9MDt0PTI7dT0yO3M9MjtoPTI7eT0xMTA0Mjc7bT0xMTA0
MjQ7aj0xMTM4MTk7bz0xOTQ4NzA7cT0xOTQ4NzA7cD0wO3I9MDtuPTI7dz1lO3g9MTEwNDIxfWVs
c2V7dj0wO3Q9Mjt1PTI7cz0yO2g9Mjt5PTExMDQyNzttPTExMDQyNDtqPTExMzgxOTtvPTE5NDg3
MDtxPTE5NDg3MDtwPTA7cj0wO249YzAoZSl8MDt3PWU7eD0xMTA0MjF9fWVsc2V7dj0wO3Q9Mjt1
PTI7cz0yO2g9Mjt5PTExMDQyNzttPTExMDQyNDtqPTExMzgxOTtvPTE5NDg3MDtxPTE5NDg3MDtw
PTA7cj0wO249Mjt3PTExMDQxNTt4PTExMDQyMX1icmVha31jYXNlIDE6e2k9QXkobnooYyl8MCl8
MDtnPWMwKGkpfDA7aj1BeShjKXwwO2g9YzAoail8MDtlPWZbKGZbYysxNj4+Ml18MCkrMTA0Pj4y
XXwwO2lmKGUpe2U9ZltlPj4yXXwwO2lmKCFhKXt2PTA7dD0yO3U9MjtzPTI7eT0xMTA0Mjc7bT0x
MTA0MjQ7bz0xOTQ4NzA7cT0xOTQ4NzA7cD0wO3I9MDtuPTI7dz1lO3g9MTEwNDIxfWVsc2V7dj0w
O3Q9Mjt1PTI7cz0yO3k9MTEwNDI3O209MTEwNDI0O289MTk0ODcwO3E9MTk0ODcwO3A9MDtyPTA7
bj1jMChlKXwwO3c9ZTt4PTExMDQyMX19ZWxzZXt2PTA7dD0yO3U9MjtzPTI7eT0xMTA0Mjc7bT0x
MTA0MjQ7bz0xOTQ4NzA7cT0xOTQ4NzA7cD0wO3I9MDtuPTI7dz0xMTA0MTU7eD0xMTA0MjF9YnJl
YWt9Y2FzZSAyOntoPWMrNDh8MDtpPUF5KG96KG56KGZbKChmW2M+PjJdJjN8MCk9PTM/YzpoKSs0
MD4+Ml18MCl8MCl8MCl8MDtnPWMwKGkpfDA7bD1BeShmWygoZltjPj4yXSYzfDApPT0zP2M6aCkr
NDA+PjJdfDApfDA7az1jMChsKXwwO2U9YysxNnwwO3E9ZlsoZltlPj4yXXwwKSs1Mj4+Ml18MDtp
ZighcSlyPTA7ZWxzZSByPWMwKHEpfDA7bT1BeShmWygoZltjPj4yXSYzfDApPT0yP2M6YystNDh8
MCkrNDA+PjJdfDApfDA7ZT1mW2U+PjJdfDA7bz1mW2UrOTI+PjJdfDA7aWYoIW8pcD0wO2Vsc2Ug
cD1jMChvKXwwO2o9YzAobSl8MDtlPWZbZSs5Nj4+Ml18MDtpZihlKXtlPWZbZT4+Ml18MDtpZigh
YSluPTI7ZWxzZSBuPWMwKGUpfDB9ZWxzZXtuPTI7ZT0xMTA0MTV9eD0obnkob3oobnooZlsoKGZb
Yz4+Ml0mM3wwKT09Mz9jOmgpKzQwPj4yXXwwKXwwKXwwKXwwKT09MDt2PTE7dD1rO3U9ajtzPWsr
MisoKHJ8MCk9PTA/MDpyKzF8MCkraisoKHB8MCk9PTA/MDpwKzF8MCl8MDtoPTI7eT1sO2o9MTEz
ODE5O3c9ZTt4PXg/MTQ4ODgyOjE0NjAwODticmVha31kZWZhdWx0Ont2PTA7dD0yO3U9MjtzPTI7
aD0yO2c9Mjt5PTExMDQyNzttPTExMDQyNDtqPTExMzgxOTtpPTExMDQxODtvPTE5NDg3MDtxPTE5
NDg3MDtwPTA7cj0wO249Mjt3PTExMDQxNTt4PTExMDQyMX19ZD0oZHwwKT09MDtsPTA7ZT1hO2E6
d2hpbGUoMSl7Yz1lKzF8MDtiOmRvIHN3aXRjaChiW2U+PjBdfDApe2Nhc2UgMDpicmVhayBhO2Nh
c2UgOTI6e2U9ZSsyfDA7c3dpdGNoKGJbYz4+MF18MCl7Y2FzZSA3MTp7az1nO2JyZWFrIGJ9Y2Fz
ZSA3ODp7az1oO2JyZWFrIGJ9Y2FzZSA2OTp7az1zO2JyZWFrIGJ9Y2FzZSA3Mjp7az11O2JyZWFr
IGJ9Y2FzZSA4NDp7az10O2JyZWFrIGJ9Y2FzZSA3Njp7az1uO2JyZWFrIGJ9Y2FzZSA5Mjp7aWYo
IWQpe2s9MTticmVhayBifWJyZWFrfWRlZmF1bHQ6e319az0yO2JyZWFrfWRlZmF1bHQ6e2s9MTtl
PWN9fXdoaWxlKDApO2w9bCtrfDB9cz1FSChsKzF8MCl8MDtuPSh2fDApPT0wO2w9KHJ8MCk9PTA7
Yz0ocHwwKT09MDtlPXM7Zz1hO2M6d2hpbGUoMSl7az1nKzF8MDtoPWJbZz4+MF18MDtkOmRvIHN3
aXRjaChoPDwyND4+MjQpe2Nhc2UgMDpicmVhayBjO2Nhc2UgOTI6e2c9ZysyfDA7aD1iW2s+PjBd
fDA7c3dpdGNoKGg8PDI0Pj4yNHwwKXtjYXNlIDcxOntoPWk7d2hpbGUoMSl7YT1iW2g+PjBdfDA7
YltlPj4wXT1hO2lmKCEoYTw8MjQ+PjI0KSlicmVhayBkO2g9aCsxfDA7ZT1lKzF8MH19Y2FzZSA3
ODp7aD1qO3doaWxlKDEpe2E9YltoPj4wXXwwO2JbZT4+MF09YTtpZighKGE8PDI0Pj4yNCkpYnJl
YWsgZDtoPWgrMXwwO2U9ZSsxfDB9fWNhc2UgNjk6e2lmKG4pYnJlYWsgZDtoPXk7d2hpbGUoMSl7
YT1iW2g+PjBdfDA7YltlPj4wXT1hO2lmKCEoYTw8MjQ+PjI0KSlicmVhaztoPWgrMXwwO2U9ZSsx
fDB9aWYoIWwpe2JbZT4+MF09NTg7aD1xO3doaWxlKDEpe2U9ZSsxfDA7YT1iW2g+PjBdfDA7Yltl
Pj4wXT1hO2lmKCEoYTw8MjQ+PjI0KSlicmVhaztlbHNlIGg9aCsxfDB9fWg9eDt3aGlsZSgxKXth
PWJbaD4+MF18MDtiW2U+PjBdPWE7aWYoIShhPDwyND4+MjQpKWJyZWFrO2g9aCsxfDA7ZT1lKzF8
MH1oPW07d2hpbGUoMSl7YT1iW2g+PjBdfDA7YltlPj4wXT1hO2lmKCEoYTw8MjQ+PjI0KSlicmVh
aztoPWgrMXwwO2U9ZSsxfDB9aWYoYylicmVhayBkO2JbZT4+MF09NTg7aD1vO3doaWxlKDEpe2U9
ZSsxfDA7YT1iW2g+PjBdfDA7YltlPj4wXT1hO2lmKCEoYTw8MjQ+PjI0KSlicmVhayBkO2Vsc2Ug
aD1oKzF8MH19Y2FzZSA4NDp7aD15O3doaWxlKDEpe2E9YltoPj4wXXwwO2JbZT4+MF09YTtpZigh
KGE8PDI0Pj4yNCkpYnJlYWsgZDtoPWgrMXwwO2U9ZSsxfDB9fWNhc2UgNzI6e2g9bTt3aGlsZSgx
KXthPWJbaD4+MF18MDtiW2U+PjBdPWE7aWYoIShhPDwyND4+MjQpKWJyZWFrIGQ7ZT1lKzF8MDto
PWgrMXwwfX1jYXNlIDc2OntoPXc7d2hpbGUoMSl7YT1iW2g+PjBdfDA7YltlPj4wXT1hO2lmKCEo
YTw8MjQ+PjI0KSlicmVhayBkO2U9ZSsxfDA7aD1oKzF8MH19Y2FzZSA5Mjp7aWYoIWQpe2JbZT4+
MF09OTI7ZT1lKzF8MDticmVhayBkfWJyZWFrfWRlZmF1bHQ6e319YltlPj4wXT05MjtiW2UrMT4+
MF09aDtlPWUrMnwwO2JyZWFrfWRlZmF1bHQ6e2JbZT4+MF09aDtlPWUrMXwwO2c9a319d2hpbGUo
MCl9YltlPj4wXT0wO3JldHVybiBzfDB9ZnVuY3Rpb24gdkgoYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wLGQ9MCxlPTAsZz0wO2lmKGF8MCl7Yz1hO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGJ8MCkp
YnJlYWs7aWYoIWQpTV8oZltjPj4yXXwwKTtnPWZbYys4Pj4yXXwwO2lmKGd8MD8oZT1mW2MrMTI+
PjJdfDAsZXwwKTowKUNiW2UmMTI3XShnKTtjPWMrNTZ8MDtkPWQrMXwwfU1fKGEpfXJldHVybn1m
dW5jdGlvbiB3SChhKXthPWF8MDt2YXIgYz0wO2lmKGF8MCl7TV8oZlthPj4yXXwwKTtjPWErNzJ8
MDtpZihiW2ErODI+PjBdfDApe2M9ZltjPj4yXXwwO2lmKGN8MCllUihjLDEpfWVsc2UgdkgoZltj
Pj4yXXwwLGRbYSs3Nj4+MV18MCk7TV8oYSl9cmV0dXJufWZ1bmN0aW9uIHhIKGEsYyxlKXthPWF8
MDtjPWN8MDtlPWV8MDt2YXIgZz0wLjAsaD0wLGk9MC4wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0w
LHE9MCxyPTAscz0wLHU9MDt1PXQ7dD10KzMyfDA7bz11KzE2fDA7cT11O2o9ZlthKzE2Pj4yXXww
O3I9aisxMnwwO3M9ZltyPj4yXXwwO2Zbcj4+Ml09YztpZighKGJbZSs4Mj4+MF18MCkpe249ZSs3
NnwwO2lmKChkW24+PjFdfDApPj0xKXtfTyhhLDApO2JQKGEsZltlKzg+PjJdfDApO3N3aXRjaChi
W2UrODA+PjBdfDApe2Nhc2UgMTE2OntpPStwW2UrNjQ+PjNdO2c9K3BbZSs0OD4+M10qLjUraTti
cmVha31jYXNlIDk4OntpPStwW2UrNjQ+PjNdO2c9K3BbZSs0OD4+M10qLS41K2krICtwW2UrMzI+
PjNdO2JyZWFrfWRlZmF1bHQ6e2k9K3BbZSs2ND4+M107Zz0rcFtlKzMyPj4zXSouNStpfX1nPWct
K3BbZSsxNj4+M107cFtxKzg+PjNdPWc7bT1xKzh8MDtpZihkW2orMjYwPj4xXSY1MTIpcFttPj4z
XT1nLWk7az1lKzcyfDA7bD1lKzU2fDA7aD1lKzQwfDA7Yz0wO3doaWxlKDEpe2lmKChjfDApPj0o
ZFtuPj4xXXwwKSlicmVhaztqPWZbaz4+Ml18MDtzd2l0Y2goYltqKyhjKjU2fDApKzQ4Pj4wXXww
KXtjYXNlIDEwODp7Zz0rcFtsPj4zXS0rcFtoPj4zXSouNTticmVha31jYXNlIDExNDp7Zz0rcFto
Pj4zXSouNSsgK3BbbD4+M107YnJlYWt9ZGVmYXVsdDpnPStwW2w+PjNdfXBbcT4+M109ZztmW28+
PjJdPWZbcT4+Ml07ZltvKzQ+PjJdPWZbcSs0Pj4yXTtmW28rOD4+Ml09ZltxKzg+PjJdO2Zbbysx
Mj4+Ml09ZltxKzEyPj4yXTthUChhLG8saisoYyo1NnwwKXwwKTtwW20+PjNdPStwW20+PjNdLStw
WyhmW2s+PjJdfDApKyhjKjU2fDApKzQwPj4zXTtjPWMrMXwwfSRPKGEpO2g9MTh9fWVsc2V7TFEo
YSxmW2UrNzI+PjJdfDAsZSk7aD0xOH1pZigoaHwwKT09MTgpZltyPj4yXT1zO3Q9dTtyZXR1cm59
ZnVuY3Rpb24geUgoYSxiKXthPWF8MDtiPWJ8MDtyZXR1cm4gdUgoYSxiLDEpfDB9ZnVuY3Rpb24g
ekgoYSl7YT1hfDA7cmV0dXJuIEFIKGEsMCl8MH1mdW5jdGlvbiBBSChhLGMpe2E9YXwwO2M9Y3ww
O3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7ZD1mWzQ4Mzk5XXwwO2lmKCFkKXtmWzQ4
NDAwXT02NDtkPUVIKDY0KXwwO2ZbNDgzOTldPWR9aj1jPDwyND4+MjQ9PTA7aT0wO2U9MDtoPWE7
d2hpbGUoMSl7aWYoIWgpYnJlYWs7Yz1iW2g+PjBdfDA7aWYoIShjPDwyND4+MjQpKWJyZWFrO2E9
Zls0ODQwMF18MDtpZigoaXwwKT4oYSstOHwwKSl7ZD1hPDwxO2ZbNDg0MDBdPWQ7ZD1HSChmWzQ4
Mzk5XXwwLGQpfDA7Zls0ODM5OV09ZDtkPWQraXwwO2M9YltoPj4wXXwwfWE6ZG8gc3dpdGNoKGM8
PDI0Pj4yNCl7Y2FzZSAzODp7aWYoaj8oQkgoaCl8MCkhPTA6MClrPTE4O2Vsc2V7YT01O2M9MTEw
NDUzfWJyZWFrfWNhc2UgNjA6e2E9NDtjPTExMDQ3OTticmVha31jYXNlIDYyOnthPTQ7Yz0xMTA0
MzY7YnJlYWt9Y2FzZSA0NTp7YT01O2M9MTEwNDQxO2JyZWFrfWRlZmF1bHQ6e2lmKChlfDApIT0w
JmM8PDI0Pj4yND09MzIpaWYoKGJbZT4+MF18MCk9PTMyKXthPTY7Yz0xMTA0NTk7YnJlYWsgYX1l
bHNle2s9MTg7YnJlYWsgYX1zd2l0Y2goYzw8MjQ+PjI0KXtjYXNlIDM0OnthPTY7Yz0xMTA0NjY7
YnJlYWsgYX1jYXNlIDM5OnthPTU7Yz0xMTA0NDc7YnJlYWsgYX1jYXNlIDEwOmlmKGope2s9MTg7
YnJlYWsgYX1lbHNle2E9NTtjPTExMDQ3MzticmVhayBhfWRlZmF1bHQ6e2s9MTg7YnJlYWsgYX19
fX13aGlsZSgwKTtpZigoa3wwKT09MTgpe2s9MDtjPWp8Yzw8MjQ+PjI0IT0xMzthPWM/MTo1O2M9
Yz9oOjExMDQzMH1nPWQrYXwwO2U9YTt3aGlsZSgxKXtpZighZSlicmVhaztiW2Q+PjBdPWJbYz4+
MF18MDtlPWUrLTF8MDtjPWMrMXwwO2Q9ZCsxfDB9ZT1oO2k9YStpfDA7ZD1nO2g9aCsxfDB9Yltk
Pj4wXT0wO3JldHVybiBmWzQ4Mzk5XXwwfWZ1bmN0aW9uIEJIKGEpe2E9YXwwO3ZhciBjPTAsZD0w
O2Q9YSsxfDA7Yz1iW2Q+PjBdfDA7YTpkbyBpZihjPDwyND4+MjQ9PTM1KXtkPWErMnwwO2M9Yltk
Pj4wXXwwO3N3aXRjaChjPDwyND4+MjQpe2Nhc2UgODg6Y2FzZSAxMjA6YnJlYWs7ZGVmYXVsdDp7
YT1kO3doaWxlKDEpe2Q9YSsxfDA7aWYoKGMrLTQ4JjI1NSk+PTEwKWJyZWFrIGE7YT1kO2M9Yltk
Pj4wXXwwfX19ZD1hKzN8MDt3aGlsZSgxKXtjPWJbZD4+MF18MDtpZigoYystNDgmMjU1KT49MTAp
c3dpdGNoKGM8PDI0Pj4yNCl7Y2FzZSA2NTpjYXNlIDY2OmNhc2UgNjc6Y2FzZSA2ODpjYXNlIDY5
OmNhc2UgNzA6Y2FzZSA5NzpjYXNlIDk4OmNhc2UgOTk6Y2FzZSAxMDA6Y2FzZSAxMDE6Y2FzZSAx
MDI6YnJlYWs7ZGVmYXVsdDpicmVhayBhfWQ9ZCsxfDB9fWVsc2Ugd2hpbGUoMSl7YT1kKzF8MDtp
ZigoKGMmLTMzKSstNjUmMjU1KT49MjYpYnJlYWsgYTtkPWE7Yz1iW2E+PjBdfDB9d2hpbGUoMCk7
cmV0dXJuIGM8PDI0Pj4yND09NTl8MH1mdW5jdGlvbiBDSChhKXthPWF8MDt2YXIgYz0wLGQ9MCxl
PTAsZz0wLGg9MCxpPTAsaj0wO2M9Zls0ODQwMV18MDtpZighYyl7Zls0ODQwMl09NjQ7Yz1FSCg2
NCl8MDtmWzQ4NDAxXT1jfWk9MDtoPWE7d2hpbGUoMSl7aWYoIWgpYnJlYWs7YT1iW2g+PjBdfDA7
aWYoIShhPDwyND4+MjQpKWJyZWFrO2Q9Zls0ODQwMl18MDtpZigoaXwwKT4oZCstOHwwKSl7Yz1k
PDwxO2ZbNDg0MDJdPWM7Yz1HSChmWzQ4NDAxXXwwLGMpfDA7Zls0ODQwMV09YztjPWMraXwwO2E9
YltoPj4wXXwwfXN3aXRjaChhPDwyND4+MjQpe2Nhc2UgMzg6e2lmKCEoQkgoaCl8MCkpe2Q9NTth
PTExMDQ1M31lbHNlIGo9MTM7YnJlYWt9Y2FzZSA2MDp7ZD00O2E9MTEwNDc5O2JyZWFrfWNhc2Ug
NjI6e2Q9NDthPTExMDQzNjticmVha31jYXNlIDM0OntkPTY7YT0xMTA0NjY7YnJlYWt9Y2FzZSAz
OTp7ZD01O2E9MTEwNDQ3O2JyZWFrfWRlZmF1bHQ6aj0xM31pZigoanwwKT09MTMpe2o9MDtkPTE7
YT1ofWc9YytkfDA7ZT1kO3doaWxlKDEpe2lmKCFlKWJyZWFrO2JbYz4+MF09YlthPj4wXXwwO2U9
ZSstMXwwO2E9YSsxfDA7Yz1jKzF8MH1pPWQraXwwO2M9ZztoPWgrMXwwfWJbYz4+MF09MDtyZXR1
cm4gZls0ODQwMV18MH1mdW5jdGlvbiBESChhKXthPWF8MDt2YXIgYj0wO2lmKCFhKWE9MDtlbHNl
e2I9RUgoYSl8MDtTMyhifDAsMCxhfDApfDA7YT1ifXJldHVybiBhfDB9ZnVuY3Rpb24gRUgoYSl7
YT1hfDA7aWYoYSl7YT1MXyhhKXwwO2lmKCFhKXtxMigxMjAwMTAsMTQsMSxmWzE5NDU3XXwwKXww
O2E9MH19ZWxzZSBhPTA7cmV0dXJuIGF8MH1mdW5jdGlvbiBGSChhLGIsYyxkKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPWR8MDthPU9fKGEsVihjLGIpfDApfDA7aWYoISgoYnwwKSE9MCYoYXwwKT09MCkp
e2lmKGI+Pj4wPmQ+Pj4wKVMzKGErKFYoZCxjKXwwKXwwLDAsVihiLWR8MCxjKXwwKXwwfWVsc2Ug
cTIoMTIwMDEwLDE0LDEsZlsxOTQ1N118MCl8MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIEdIKGEsYil7
YT1hfDA7Yj1ifDA7YT1PXyhhLGIpfDA7aWYoKGJ8MCkhPTAmKGF8MCk9PTApcTIoMTIwMDEwLDE0
LDEsZlsxOTQ1N118MCl8MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIEhIKGEsYixjLGQpe2E9YXwwO2I9
YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0wLjAsaz0wLGw9MCxtPTAsbj0w
LG89MCxxPTAscj0wO3I9dDt0PXQrODB8MDtuPXIrNDB8MDttPXIrMzJ8MDtsPXIrMjR8MDtrPXI7
bz00O3E9TF8oNDApfDA7ZltxPj4yXT0wO2U9cis2OHwwO2c9cis2NHwwO2lmKDApe3Y9MDtyYSg2
MixhfDAsZXwwLGd8MCk7aD12O3Y9MDtpZigoaHwwKSE9MCYod3wwKSE9MCl7aT1QMyhmW2g+PjJd
fDAscXwwLG98MCl8MDtpZighaSlqYihofDAsd3wwKTtHPXd9ZWxzZSBpPS0xO2lmKChpfDApIT0x
KXtpPWZbMTk0NTddfDA7aD1mW2U+PjJdfDA7ZT1mW2c+PjJdfDA7dj0wO2Zbaz4+Ml09MTEwNTI4
O2Zbays0Pj4yXT1oO2Zbays4Pj4yXT1lO2ZbaysxMj4+Ml09YztmW2srMTY+PjJdPWI7amEoMjks
aXwwLDExMDQ4NCxrfDApfDA7ZT12O3Y9MDtpZigoZXwwKSE9MCYod3wwKSE9MCl7Zz1QMyhmW2U+
PjJdfDAscXwwLG98MCl8MDtpZighZylqYihlfDAsd3wwKTtHPXd9ZWxzZSBnPS0xO2lmKChnfDAp
IT0xKXt2PTA7b2EoMSk7ZT12O3Y9MDtpZigoZXwwKSE9MCYod3wwKSE9MCl7Zz1QMyhmW2U+PjJd
fDAscXwwLG98MCl8MDtpZighZylqYihlfDAsd3wwKTtHPXd9ZWxzZSBnPS0xO2lmKChnfDApIT0x
KWk9NjtlbHNle2U9RztpPTE1fX1lbHNle2U9RztpPTE1fX1lbHNle2U9RztpPTE1fX1lbHNlIGk9
NjtkbyBpZigoaXwwKT09Nil7dj0wO2U9Z2EoMjcsYXwwKXwwO2c9djt2PTA7aWYoKGd8MCkhPTAm
KHd8MCkhPTApe2g9UDMoZltnPj4yXXwwLHF8MCxvfDApfDA7aWYoIWgpamIoZ3wwLHd8MCk7Rz13
fWVsc2UgaD0tMTtpZigoaHwwKSE9MSl7aWYoIWUpe3Y9MDtvYSgyKTtlPXY7dj0wO2lmKChlfDAp
IT0wJih3fDApIT0wKXtnPVAzKGZbZT4+Ml18MCxxfDAsb3wwKXwwO2lmKCFnKWpiKGV8MCx3fDAp
O0c9d31lbHNlIGc9LTE7aWYoKGd8MCk9PTEpe2U9RztpPTE1O2JyZWFrfX1pZigoY3wwKTwxKXt2
PTA7b2EoMyk7ZT12O3Y9MDtpZigoZXwwKSE9MCYod3wwKSE9MCl7Zz1QMyhmW2U+PjJdfDAscXww
LG98MCl8MDtpZighZylqYihlfDAsd3wwKTtHPXd9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtlPUc7
aT0xNTticmVha31lPTA7YnJlYWt9ZWxzZXtmWzQ4NDAzXT0oZHwwKT4tMT9kOjMwO3E9TzMoMTg4
Nzg0LDEscXwwLG98MCl8MDtvPUc7dj0wO2U9djt2PTA7aWYoKGV8MCkhPTAmKHd8MCkhPTApe2c9
UDMoZltlPj4yXXwwLHF8MCxvfDApfDA7aWYoIWcpamIoZXwwLHd8MCk7Rz13fWVsc2UgZz0tMTtp
ZigoZ3wwKT09MSl7ZT1HO2k9MTU7YnJlYWt9ZT0wO2k9MTU7YnJlYWt9fWVsc2V7ZT1HO2k9MTV9
fXdoaWxlKDApO2E6ZG8gaWYoKGl8MCk9PTE1KXtiOndoaWxlKDEpe2lmKGV8MCl7ZT0yO2JyZWFr
IGF9dj0wO29hKDQpO2U9djt2PTA7aWYoKGV8MCkhPTAmKHd8MCkhPTApe2c9UDMoZltlPj4yXXww
LHF8MCxvfDApfDA7aWYoIWcpamIoZXwwLHd8MCk7Rz13fWVsc2UgZz0tMTtpZigoZ3wwKT09MSl7
ZT1HO2k9MTU7Y29udGludWV9YT1mWzE5NDU3XXwwO2s9MDt3aGlsZSgxKXt2PTA7aT1mYSgyKXww
O2U9djt2PTA7aWYoKGV8MCkhPTAmKHd8MCkhPTApe2c9UDMoZltlPj4yXXwwLHF8MCxvfDApfDA7
aWYoIWcpamIoZXwwLHd8MCk7Rz13fWVsc2UgZz0tMTtpZigoZ3wwKT09MSl7ZT1HO2k9MTU7Y29u
dGludWUgYn1pZighaSlicmVhazt2PTA7ZT1nYSgyOCxpfDApfDA7Zz12O3Y9MDtpZigoZ3wwKSE9
MCYod3wwKSE9MCl7aD1QMyhmW2c+PjJdfDAscXwwLG98MCl8MDtpZighaClqYihnfDAsd3wwKTtH
PXd9ZWxzZSBoPS0xO2lmKChofDApPT0xKXtlPUc7aT0xNTtjb250aW51ZSBifXY9MDtxYSgyNSxp
fDAsZXwwKTtlPXY7dj0wO2lmKChlfDApIT0wJih3fDApIT0wKXtnPVAzKGZbZT4+Ml18MCxxfDAs
b3wwKXwwO2lmKCFnKWpiKGV8MCx3fDApO0c9d31lbHNlIGc9LTE7aWYoKGd8MCk9PTEpe2U9Rztp
PTE1O2NvbnRpbnVlIGJ9az1rKzF8MDtkbyBpZigoKGs+Pj4wKSUxMDB8MHwwKT09MCYwIT0wKXtl
PShrPj4+MCklMWUzfDA7aWYoKGV8MCk9PTEwMCl7dj0wO2hhKDkxLDExMDUyOCxhfDApfDA7ZT12
O3Y9MDtpZigoZXwwKSE9MCYod3wwKSE9MCl7Zz1QMyhmW2U+PjJdfDAscXwwLG98MCl8MDtpZigh
ZylqYihlfDAsd3wwKTtHPXd9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtlPUc7aT0xNTtjb250aW51
ZSBifXY9MDtmW2w+PjJdPWs7amEoMjksYXwwLDExMDU0NixsfDApfDA7ZT12O3Y9MDtpZigoZXww
KSE9MCYod3wwKSE9MCl7Zz1QMyhmW2U+PjJdfDAscXwwLG98MCl8MDtpZighZylqYihlfDAsd3ww
KTtHPXd9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtlPUc7aT0xNTtjb250aW51ZSBifWJyZWFrfXY9
MDtmW20+PjJdPWs7amEoMjksYXwwLDExMDU0NixtfDApfDA7Zz12O3Y9MDtpZigoZ3wwKSE9MCYo
d3wwKSE9MCl7aD1QMyhmW2c+PjJdfDAscXwwLG98MCl8MDtpZighaClqYihnfDAsd3wwKTtHPXd9
ZWxzZSBoPS0xO2lmKChofDApPT0xKXtlPUc7aT0xNTtjb250aW51ZSBifWlmKCFlKXt2PTA7aGEo
OTIsMTAsYXwwKXwwO2U9djt2PTA7aWYoKGV8MCkhPTAmKHd8MCkhPTApe2c9UDMoZltlPj4yXXww
LHF8MCxvfDApfDA7aWYoIWcpamIoZXwwLHd8MCk7Rz13fWVsc2UgZz0tMTtpZigoZ3wwKT09MSl7
ZT1HO2k9MTU7Y29udGludWUgYn19fXdoaWxlKDApO2lmKChrfDApPj0oY3wwKSlicmVha31zd2l0
Y2goYnwwKXtjYXNlIDE6e3Y9MDtvYSg1KTtlPXY7dj0wO2lmKChlfDApIT0wJih3fDApIT0wKXtn
PVAzKGZbZT4+Ml18MCxxfDAsb3wwKXwwO2lmKCFnKWpiKGV8MCx3fDApO0c9d31lbHNlIGc9LTE7
aWYoKGd8MCk9PTEpe2U9RztpPTE1O2NvbnRpbnVlIGJ9YnJlYWt9Y2FzZSAyOnt2PTA7b2EoNik7
ZT12O3Y9MDtpZigoZXwwKSE9MCYod3wwKSE9MCl7Zz1QMyhmW2U+PjJdfDAscXwwLG98MCl8MDtp
ZighZylqYihlfDAsd3wwKTtHPXd9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtlPUc7aT0xNTtjb250
aW51ZSBifWJyZWFrfWRlZmF1bHQ6e3Y9MDtvYSg3KTtlPXY7dj0wO2lmKChlfDApIT0wJih3fDAp
IT0wKXtnPVAzKGZbZT4+Ml18MCxxfDAsb3wwKXwwO2lmKCFnKWpiKGV8MCx3fDApO0c9d31lbHNl
IGc9LTE7aWYoKGd8MCk9PTEpe2U9RztpPTE1O2NvbnRpbnVlIGJ9dj0wO29hKDMpO2U9djt2PTA7
aWYoKGV8MCkhPTAmKHd8MCkhPTApe2c9UDMoZltlPj4yXXwwLHF8MCxvfDApfDA7aWYoIWcpamIo
ZXwwLHd8MCk7Rz13fWVsc2UgZz0tMTtpZigoZ3wwKT09MSl7ZT1HO2k9MTU7Y29udGludWUgYn19
fWlmKCEwKXtlPTA7YnJlYWsgYX1pZigoa3wwKT45OSl7dj0wO2hhKDkyLDEwLGF8MCl8MDtlPXY7
dj0wO2lmKChlfDApIT0wJih3fDApIT0wKXtnPVAzKGZbZT4+Ml18MCxxfDAsb3wwKXwwO2lmKCFn
KWpiKGV8MCx3fDApO0c9d31lbHNlIGc9LTE7aWYoKGd8MCk9PTEpe2U9RztpPTE1O2NvbnRpbnVl
fX1lPWZbNDg0MDRdfDA7Zz1mWzQ4NDA1XXwwO3Y9MDtqPStjYSgxKTtoPXY7dj0wO2lmKChofDAp
IT0wJih3fDApIT0wKXtpPVAzKGZbaD4+Ml18MCxxfDAsb3wwKXwwO2lmKCFpKWpiKGh8MCx3fDAp
O0c9d31lbHNlIGk9LTE7aWYoKGl8MCk9PTEpe2U9RztpPTE1O2NvbnRpbnVlfXY9MDtmW24+PjJd
PTExMDUyODtmW24rND4+Ml09ZTtmW24rOD4+Ml09ZztmW24rMTI+PjJdPWs7cFtuKzE2Pj4zXT1q
O2phKDI5LGF8MCwxMTA1NTAsbnwwKXwwO2U9djt2PTA7aWYoKGV8MCkhPTAmKHd8MCkhPTApe2c9
UDMoZltlPj4yXXwwLHF8MCxvfDApfDA7aWYoIWcpamIoZXwwLHd8MCk7Rz13fWVsc2UgZz0tMTtp
ZigoZ3wwKT09MSl7ZT1HO2k9MTV9ZWxzZSBicmVha31lPTB9d2hpbGUoMCk7TV8ocXwwKTt0PXI7
cmV0dXJuIGV8MH1mdW5jdGlvbiBJSChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxl
PTAsZz0wLGg9MDthPShmW2ErMTY+PjJdfDApKzE5MnwwO2Q9MDtoPTA7d2hpbGUoMSl7YT1mW2E+
PjJdfDA7aWYoIWEpYnJlYWs7Zz1mW2ErMTY+PjJdfDA7ZT1mW2crMTgwPj4yXXwwO2E9MDt3aGls
ZSgxKXtpZighKGZbZSsoYTw8Mik+PjJdfDApKWJyZWFrO2E9YSsxfDA7ZD1kKzF8MH1hPWcrMTY0
fDA7aD1oKzF8MH1mW2I+PjJdPWg7ZltjPj4yXT1kO3JldHVybn1mdW5jdGlvbiBKSChhKXthPWF8
MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaz0wLGw9MDtmWzQ4NDA3XT1hO2ZbNDg0MTRd
PTA7Zls0ODQwNV09MDtmWzQ4NDA0XT0wO2g9YSsxNnwwO2E9KGZbaD4+Ml18MCkrMTkyfDA7Zz0w
O2Q9MDt3aGlsZSgxKXthPWZbYT4+Ml18MDtpZighYSlicmVhaztlPWZbYSsxNj4+Ml18MDtiW2Ur
MTU3Pj4wXT0wO2c9ZysxfDA7Zls0ODQwNF09ZztjPWZbZSsxODA+PjJdfDA7YT0wO3doaWxlKDEp
e2lmKCEoZltjKyhhPDwyKT4+Ml18MCkpYnJlYWs7az1kKzF8MDtmWzQ4NDA1XT1rO2E9YSsxfDA7
ZD1rfWE9ZSsxNjR8MH1hPWZbNDg0MTVdfDA7aWYoIWEpYT1FSChnPDwyKXwwO2Vsc2UgYT1HSChh
LGc8PDIpfDA7Zls0ODQxNV09YTtmWzQ4NDE2XT0wO2E9Zls0ODQwOV18MDtpZighYSlhPUVIKGZb
NDg0MDRdPDwyKXwwO2Vsc2UgYT1HSChhLGZbNDg0MDRdPDwyKXwwO2ZbNDg0MDldPWE7Zls0ODQw
OF09MDtjPTE7YT0oZltoPj4yXXwwKSsxOTJ8MDt3aGlsZSgxKXthPWZbYT4+Ml18MDtpZighYSli
cmVhaztrPWErMTZ8MDtoPWZbaz4+Ml18MDtpPWgrMjkyfDA7ZltpPj4yXT0wO2g9ZltoKzE3Mj4+
Ml18MDtnPWM7ZT0wO2E9MDt3aGlsZSgxKXtjPWZbaCsoZTw8Mik+PjJdfDA7aWYoIWMpYnJlYWs7
ZD1hKzF8MDtmW2k+PjJdPWQ7YT1mW2MrMTY+PjJdfDA7ZlthKzE2MD4+Ml09MDtmW2ErMTY0Pj4y
XT0tMTtpZighZylhPTA7ZWxzZXtsPWZbYz4+Ml0mMzthPSgoZlsoZlsoZlsoKGx8MCk9PTI/Yzpj
Ky00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCktKGZbKGZbKGZbKChsfDApPT0z
P2M6Yys0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCl8MCk8KGpbYSsxNzA+PjFd
fDB8MCk/MDpnfWc9YTtlPWUrMXwwO2E9ZH1hPURIKChlPDwyKSs0fDApfDA7Yz1mW2s+PjJdfDA7
ZltjKzI2ND4+Ml09YTtmW2MrMjY4Pj4yXT0wO2M9ZltjKzE4MD4+Ml18MDthPTA7ZG97bD1hO2E9
YSsxfDB9d2hpbGUoKGZbYysobDw8Mik+PjJdfDApIT0wKTtjPURIKGE8PDIpfDA7YT1mW2s+PjJd
fDA7ZlthKzI3Mj4+Ml09YztmW2ErMjc2Pj4yXT0wO2M9ZzthPWErMTY0fDB9cmV0dXJuIGN8MH1m
dW5jdGlvbiBLSCgpe3ZhciBhPTAsYj0wLGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGs9MCxsPTAs
bT0wLG49MDtuPXQ7dD10KzE2fDA7bT1uKzh8MDtrPW47bD1QTChmWzQ4NDA0XXwwKXwwO2E9KGZb
KGZbNDg0MDddfDApKzE2Pj4yXXwwKSsxOTJ8MDt3aGlsZSgxKXtiPWZbYT4+Ml18MDtpZighYili
cmVhaztjPWIrMTZ8MDthPWZbYz4+Ml18MDtpZighKGZbYSsyOTI+PjJdfDApKXtSTChsLGIpO2E9
ZltjPj4yXXwwfWE9YSsxNjR8MH1pPTA7d2hpbGUoMSl7YT1TTChsKXwwO2lmKCFhKWJyZWFrO2g9
YSsxNnwwO2E9ZltoPj4yXXwwO2Q9YSsyMzJ8MDtmW2Q+PjJdPTA7Yz1mW2ErMTcyPj4yXXwwO2I9
MDtnPTA7d2hpbGUoMSl7ZT1mW2MrKGI8PDIpPj4yXXwwO2lmKCFlKWJyZWFrO2U9KGZbKGZbKGZb
KChmW2U+PjJdJjN8MCk9PTM/ZTplKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXww
KSsoalsoZltlKzE2Pj4yXXwwKSsxNzA+PjFdfDApfDA7ZT0oZ3wwKT4oZXwwKT9nOmU7ZltkPj4y
XT1lO2I9YisxfDA7Zz1lfWQ9MDt3aGlsZSgxKXtiPWZbKGZbYSsxODA+PjJdfDApKyhkPDwyKT4+
Ml18MDtpZighYilicmVhaztjPWIrLTQ4fDA7ZT0oZlsoZlsoKGZbYj4+Ml0mM3wwKT09Mj9iOmMp
KzQwPj4yXXwwKSsxNj4+Ml18MCkrMjkyfDA7Zz1mW2U+PjJdfDA7ZltlPj4yXT1nKy0xO2lmKChn
fDApPDIpe1JMKGwsZlsoKGZbYj4+Ml0mM3wwKT09Mj9iOmMpKzQwPj4yXXwwKTthPWZbaD4+Ml18
MH1kPWQrMXwwfWk9aSsxfDB9YTpkbyBpZigoaXwwKSE9KGZbNDg0MDRdfDApKXtZdygxLDExMDg4
MixrKXwwO2E9KGZbKGZbNDg0MDddfDApKzE2Pj4yXXwwKSsxOTJ8MDt3aGlsZSgxKXtiPWZbYT4+
Ml18MDtpZighYilicmVhayBhO2M9YisxNnwwO2E9ZltjPj4yXXwwO2lmKGZbYSsyOTI+PjJdfDAp
e2s9QXkoYil8MDthPWZbKGZbYz4+Ml18MCkrMjkyPj4yXXwwO2ZbbT4+Ml09aztmW20rND4+Ml09
YTtZdygzLDExMDkwNCxtKXwwO2E9ZltjPj4yXXwwfWE9YSsxNjR8MH19d2hpbGUoMCk7UUwobCk7
dD1uO3JldHVybn1mdW5jdGlvbiBMSCgpe3ZhciBhPTAsYz0wLGQ9MDthPShmWyhmWzQ4NDA3XXww
KSsxNj4+Ml18MCkrMTkyfDA7d2hpbGUoMSl7YT1mW2E+PjJdfDA7aWYoIWEpYnJlYWs7ZD1hKzE2
fDA7YT1mW2Q+PjJdfDA7Yz1mW2ErMjY0Pj4yXXwwO2lmKGMpe01fKGMpO2E9ZltkPj4yXXwwfWM9
ZlthKzI3Mj4+Ml18MDtpZihjKXtNXyhjKTthPWZbZD4+Ml18MH1iW2ErMTU3Pj4wXT0wO2E9YSsx
NjR8MH1yZXR1cm59ZnVuY3Rpb24gTUgoKXt2YXIgYT0wLGI9MCxjPTAsZD0wLGU9MDthPShmWyhm
WzQ4NDA3XXwwKSsxNj4+Ml18MCkrMTkyfDA7d2hpbGUoMSl7YT1mW2E+PjJdfDA7aWYoIWEpYnJl
YWs7YT1mW2ErMTY+PjJdfDA7ZlthKzI4MD4+Ml09MDthPWErMTY0fDB9ZT1ESChmWzQ4NDA0XTw8
Mil8MDtkPTA7YT0oZlsoZls0ODQwN118MCkrMTY+PjJdfDApKzE5MnwwO3doaWxlKDEpe2I9Zlth
Pj4yXXwwO2lmKCFiKWJyZWFrO2M9YisxNnwwO2E9ZltjPj4yXXwwO2lmKCEoZlthKzI4MD4+Ml18
MCkpe2I9WkgoYil8MDtmW2UrKGQ8PDIpPj4yXT1iO2I9ZCsxfDA7YT1mW2M+PjJdfDB9ZWxzZSBi
PWQ7ZD1iO2E9YSsxNjR8MH1hPV9IKGUsZCl8MDt3aGlsZSgxKXtpZigoJEgoYSl8MCk8PTEpYnJl
YWs7Yz0oY0koYkkoYUkoYSl8MCl8MCl8MCkrOHwwO2RJKGEsZltjPj4yXXwwKX1NXyhhKTthPTA7
d2hpbGUoMSl7aWYoKGF8MCk+PShkfDApKWJyZWFrO01fKGZbZSsoYTw8Mik+PjJdfDApO2E9YSsx
fDB9TV8oZSk7aWYoKGZbNDg0MDhdfDApPT0oKGZbNDg0MDRdfDApKy0xfDApKXtlSSgpO3JldHVy
bn1lbHNlIHhhKDExMDYyNywxMTA2NTcsNTIzLDExMDY2Mil9ZnVuY3Rpb24gTkgoKXt2YXIgYT0w
LGI9MCxjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2k9Zls0ODQxNF18MDtlPWZbNDg0
MDhdfDA7aj1mWzQ4NDA5XXwwO2s9Zls0ODQwM118MDtiPTA7YT0wO2c9aTt3aGlsZSgxKXtpZigo
Z3wwKT49KGV8MCkpe2g9ODticmVha31kPWZbaisoZzw8Mik+PjJdfDA7Yz1mWyhmW2QrMTY+PjJd
fDApKzE2MD4+Ml18MDtpZigoY3wwKTwwKXtpZighYSlhPWQ7ZWxzZSBhPShmWyhmW2ErMTY+PjJd
fDApKzE2MD4+Ml18MCk+KGN8MCk/ZDphO2I9YisxfDA7aWYoKGJ8MCk+PShrfDApKWJyZWFrfWQ9
ZysxfDA7Zls0ODQxNF09ZDtnPWR9aWYoKGh8MCk9PTgpaWYoKGl8MCk+MCl7ZT0wO3doaWxlKDEp
e2lmKChlfDApPj0oaXwwKSlicmVhaztjPWZbaisoZTw8Mik+PjJdfDA7ZD1mWyhmW2MrMTY+PjJd
fDApKzE2MD4+Ml18MDtpZigoZHwwKTwwKXtpZighYSlhPWM7ZWxzZSBhPShmWyhmW2ErMTY+PjJd
fDApKzE2MD4+Ml18MCk+KGR8MCk/YzphO2I9YisxfDA7aWYoKGJ8MCk+PShrfDApKWJyZWFrfWU9
ZSsxfDB9Zls0ODQxNF09ZX1yZXR1cm4gYXwwfWZ1bmN0aW9uIE9IKGEpe2E9YXwwO3ZhciBiPTAs
Yz0wO2I9ZlthPj4yXSYzO2M9ZlsoKGJ8MCk9PTM/YTphKzQ4fDApKzQwPj4yXXwwO2E9ZlsoKGJ8
MCk9PTI/YTphKy00OHwwKSs0MD4+Ml18MDtiPShmWyhmW2MrMTY+PjJdfDApKzI4OD4+Ml18MCk8
KGZbKGZbYSsxNj4+Ml18MCkrMjg4Pj4yXXwwKTthPWI/YzphO2ZbNDg0MTBdPTA7Zls0ODQxMV09
MjE0NzQ4MzY0NztjPWZbYSsxNj4+Ml18MDtmWzQ4NDEyXT1mW2MrMjg0Pj4yXTtmWzQ4NDEzXT1m
W2MrMjg4Pj4yXTtpZihiKVlIKGEpO2Vsc2UgWEgoYSk7cmV0dXJuIGZbNDg0MTBdfDB9ZnVuY3Rp
b24gUEgoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaz0wLGw9
MCxtPTAsbj0wO249dDt0PXQrMTZ8MDttPW47ZT1mW2I+PjJdJjM7bD1iKy00OHwwO2k9Yis0OHww
O2s9YisxNnwwO2U9KGZbKGZbKGZbKChlfDApPT0yP2I6bCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsy
MzI+PjJdfDApLShmWyhmWyhmWygoZXwwKT09Mz9iOmkpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMy
Pj4yXXwwKS0oalsoZltrPj4yXXwwKSsxNzA+PjFdfDApfDA7ZG8gaWYoKGV8MCk+MCl7Yz1mW2E+
PjJdJjM7Zz1mWygoY3wwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDA7aD1mW2crMTY+PjJdfDA7aWYo
KChmW2grMjc2Pj4yXXwwKSsoZltoKzI2OD4+Ml18MCl8MCk9PTEpe1RIKGcsZSk7YnJlYWt9Yz1m
WygoY3wwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwO2Q9ZltjKzE2Pj4yXXwwO2lmKCgoZltkKzI3
Nj4+Ml18MCkrKGZbZCsyNjg+PjJdfDApfDApPT0xKXtUSChjLDAtZXwwKTticmVha31pZigoZlto
KzI4OD4+Ml18MCk8KGZbZCsyODg+PjJdfDApKXtUSChnLGUpO2JyZWFrfWVsc2V7VEgoYywwLWV8
MCk7YnJlYWt9fXdoaWxlKDApO2M9YSsxNnwwO2Q9ZlsoZltjPj4yXXwwKSsxNjA+PjJdfDA7ZT1m
W2I+PjJdJjM7ZT1VSChmWygoZXwwKT09Mz9iOmkpKzQwPj4yXXwwLGZbKChlfDApPT0yP2I6bCkr
NDA+PjJdfDAsZCwxKXwwO2g9ZltiPj4yXSYzO2lmKChVSChmWygoaHwwKT09Mj9iOmwpKzQwPj4y
XXwwLGZbKChofDApPT0zP2I6aSkrNDA+PjJdfDAsZCwwKXwwKT09KGV8MCkpe2ZbKGZbaz4+Ml18
MCkrMTYwPj4yXT0wLWQ7ZlsoZltjPj4yXXwwKSsxNjA+PjJdPTA7VkgoYSxiKTttPWZbZSsxNj4+
Ml18MDtXSChlLGZbbSsyODA+PjJdfDAsZlttKzI4ND4+Ml18MCl8MDt0PW47cmV0dXJufWVsc2V7
WXcoMSwxMTA1ODgsbSl8MDtqYigxODg3ODQsMSl9fWZ1bmN0aW9uIFFIKCl7dmFyIGE9MCxjPTAs
ZD0wLGU9MCxnPTAsaD0wLGk9MCxrPTAsbD0wLG09MCxuPTAsbz0wO1NIKCk7bT1ESCgoZls0ODQw
Nl08PDIpKzR8MCl8MDtjPWZbNDg0MDZdfDA7YT0wO3doaWxlKDEpe2lmKChhfDApPihjfDApKWJy
ZWFrO2ZbbSsoYTw8Mik+PjJdPTA7YT1hKzF8MH1hPShmWyhmWzQ4NDA3XXwwKSsxNj4+Ml18MCkr
MTkyfDA7Yz1hO3doaWxlKDEpe2M9ZltjPj4yXXwwO2lmKCFjKWJyZWFrO2M9ZltjKzE2Pj4yXXww
O2lmKCEoYltjKzE1Nj4+MF18MCkpe2w9bSsoZltjKzIzMj4+Ml08PDIpfDA7ZltsPj4yXT0oZlts
Pj4yXXwwKSsxfWM9YysxNjR8MH13aGlsZSgxKXthPWZbYT4+Ml18MDtpZighYSlicmVhaztsPWEr
MTZ8MDthPWZbbD4+Ml18MDtpZighKGJbYSsxNTY+PjBdfDApKXtnPWZbNDg0MDZdfDA7ZD1mW2Er
MTcyPj4yXXwwO2s9MDtpPTA7Yz0wO3doaWxlKDEpe2U9ZltkKyhjPDwyKT4+Ml18MDtpZighZSli
cmVhaztuPWZbZSsxNj4+Ml18MDtoPShmWyhmWyhmWygoZltlPj4yXSYzfDApPT0zP2U6ZSs0OHww
KSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCkrKGpbbisxNzA+PjFdfDApfDA7az0oZltu
KzE1Nj4+Ml18MCkra3wwO2k9KGl8MCk+KGh8MCk/aTpoO2M9YysxfDB9ZT1mW2ErMTgwPj4yXXww
O2g9MDtjPTA7d2hpbGUoMSl7ZD1mW2UrKGM8PDIpPj4yXXwwO2lmKCFkKWJyZWFrO289ZltkKzE2
Pj4yXXwwO249KGZbKGZbKGZbKChmW2Q+PjJdJjN8MCk9PTI/ZDpkKy00OHwwKSs0MD4+Ml18MCkr
MTY+PjJdfDApKzIzMj4+Ml18MCktKGpbbysxNzA+PjFdfDApfDA7aD0oZltvKzE1Nj4+Ml18MCkr
aHwwO2c9KGd8MCk8KG58MCk/ZzpuO2M9YysxfDB9Yz0oaXwwKT4wP2k6MDtpZigoa3wwKT09KGh8
MCkpe2U9YztkPWM7d2hpbGUoMSl7Yz1kKzF8MDtpZigoZHwwKT49KGd8MCkpYnJlYWs7ZT0oZltt
KyhjPDwyKT4+Ml18MCk8KGZbbSsoZTw8Mik+PjJdfDApP2M6ZTtkPWN9bz1hKzIzMnwwO249bSso
ZltvPj4yXTw8Mil8MDtmW24+PjJdPShmW24+PjJdfDApKy0xO249bSsoZTw8Mil8MDtmW24+PjJd
PShmW24+PjJdfDApKzE7ZltvPj4yXT1lfWM9ZlthKzI2ND4+Ml18MDtpZihjKXtNXyhjKTthPWZb
bD4+Ml18MH1jPWZbYSsyNzI+PjJdfDA7aWYoYyl7TV8oYyk7YT1mW2w+PjJdfDB9YlthKzE1Nz4+
MF09MH1hPWErMTY0fDB9TV8obSk7cmV0dXJufWZ1bmN0aW9uIFJIKCl7dmFyIGE9MCxiPTAsYz0w
LGQ9MCxlPTAsZz0wO2I9MDt3aGlsZSgxKXtpZigoYnwwKT49KGZbNDg0MDhdfDApKWJyZWFrO2E9
ZlsoZls0ODQwOV18MCkrKGI8PDIpPj4yXXwwO2RvIGlmKCgoZlsoZlthKzE2Pj4yXXwwKSsxNjA+
PjJdfDApPT0wPyhjPU9IKGEpfDAsY3wwKTowKT8oZD1mW2M+PjJdJjMsZD0oZlsoZlsoZlsoKGR8
MCk9PTI/YzpjKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCktKGZbKGZbKGZb
KChkfDApPT0zP2M6Yys0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCktKGpbKGZb
YysxNj4+Ml18MCkrMTcwPj4xXXwwKXwwLChkfDApPj0yKTowKXtnPWZbYT4+Ml0mMztlPWZbKChn
fDApPT0zP2E6YSs0OHwwKSs0MD4+Ml18MDthPWZbKChnfDApPT0yP2E6YSstNDh8MCkrNDA+PjJd
fDA7aWYoKGZbKGZbZSsxNj4+Ml18MCkrMjg4Pj4yXXwwKTwoZlsoZlthKzE2Pj4yXXwwKSsyODg+
PjJdfDApKXtUSChlLGQ+Pj4xKTticmVha31lbHNle1RIKGEsKGR8MCkvLTJ8MCk7YnJlYWt9fXdo
aWxlKDApO2I9YisxfDB9TEgoKTtyZXR1cm59ZnVuY3Rpb24gU0goKXt2YXIgYT0wLGM9MCxkPTAs
ZT0wLGc9MDtmWzQ4NDA2XT0tMjE0NzQ4MzY0NzthPShmWyhmWzQ4NDA3XXwwKSsxNj4+Ml18MCkr
MTkyfDA7ZD1hO2c9MjE0NzQ4MzY0NztlPS0yMTQ3NDgzNjQ3O3doaWxlKDEpe2M9ZltkPj4yXXww
O2lmKCFjKWJyZWFrO2Q9ZltjKzE2Pj4yXXwwO2lmKCEoYltkKzE1Nj4+MF18MCkpe2M9ZltkKzIz
Mj4+Ml18MDtlPShlfDApPihjfDApP2U6YztmWzQ4NDA2XT1lO2M9KGd8MCk8KGN8MCk/ZzpjfWVs
c2UgYz1nO2Q9ZCsxNjR8MDtnPWN9aWYoZ3wwKXt3aGlsZSgxKXthPWZbYT4+Ml18MDtpZighYSli
cmVhazthPWZbYSsxNj4+Ml18MDtkPWErMjMyfDA7ZltkPj4yXT0oZltkPj4yXXwwKS1nO2E9YSsx
NjR8MH1mWzQ4NDA2XT1lLWd9cmV0dXJufWZ1bmN0aW9uIFRIKGEsYil7YT1hfDA7Yj1ifDA7dmFy
IGM9MCxkPTAsZT0wO2U9YSsxNnwwO2E9ZltlPj4yXXwwO2Q9YSsyMzJ8MDtmW2Q+PjJdPShmW2Q+
PjJdfDApLWI7ZD0wO3doaWxlKDEpe2M9ZlsoZlthKzI3Mj4+Ml18MCkrKGQ8PDIpPj4yXXwwO2lm
KCFjKWJyZWFrO2lmKChjfDApIT0oZlthKzI4MD4+Ml18MCkpe1RIKGZbKChmW2M+PjJdJjN8MCk9
PTI/YzpjKy00OHwwKSs0MD4+Ml18MCxiKTthPWZbZT4+Ml18MH1kPWQrMXwwfWQ9MDt3aGlsZSgx
KXtjPWZbKGZbYSsyNjQ+PjJdfDApKyhkPDwyKT4+Ml18MDtpZighYylicmVhaztpZigoY3wwKSE9
KGZbYSsyODA+PjJdfDApKXtUSChmWygoZltjPj4yXSYzfDApPT0zP2M6Yys0OHwwKSs0MD4+Ml18
MCxiKTthPWZbZT4+Ml18MH1kPWQrMXwwfXJldHVybn1mdW5jdGlvbiBVSChhLGIsYyxkKXthPWF8
MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MDtnPShkfDApPT0wJjE7
aD0wLWN8MDtlPWZbKGZbYisxNj4+Ml18MCkrMjg4Pj4yXXwwO2I9YTt3aGlsZSgxKXthPWZbYisx
Nj4+Ml18MDtpZigoZlthKzI4ND4+Ml18MCk8PShlfDApPyhlfDApPD0oZlthKzI4OD4+Ml18MCk6
MClicmVhazthPWZbYSsyODA+PjJdfDA7aT1hKzQ4fDA7aj0oZlthKzE2Pj4yXXwwKSsxNjB8MDtm
W2o+PjJdPSgoKChifDApPT0oZlsoKGZbYT4+Ml0mM3wwKT09Mz9hOmkpKzQwPj4yXXwwKT9kOmcp
fDApPT0wP2g6YykrKGZbaj4+Ml18MCk7aj1mW2E+PjJdJjM7aT1mWygoanwwKT09Mz9hOmkpKzQw
Pj4yXXwwO2E9ZlsoKGp8MCk9PTI/YTphKy00OHwwKSs0MD4+Ml18MDtiPShmWyhmW2krMTY+PjJd
fDApKzI4OD4+Ml18MCk+KGZbKGZbYSsxNj4+Ml18MCkrMjg4Pj4yXXwwKT9pOmF9cmV0dXJuIGJ8
MH1mdW5jdGlvbiBWSChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9
MDtkPWErMTZ8MDtoPShmW2Q+PjJdfDApKzE2NHwwO2ZbKGZbYisxNj4+Ml18MCkrMTY0Pj4yXT1m
W2g+PjJdO2ZbKGZbNDg0MDldfDApKyhmW2g+PjJdPDwyKT4+Ml09YjtmWyhmW2Q+PjJdfDApKzE2
ND4+Ml09LTE7ZD0oZlsoKGZbYT4+Ml0mM3wwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDApKzE2fDA7
aD1mW2Q+PjJdfDA7Yz1oKzI3NnwwO2U9ZltjPj4yXXwwO2c9ZSstMXwwO2ZbYz4+Ml09ZztoPWZb
aCsyNzI+PjJdfDA7Yz0wO3doaWxlKDEpe2k9aCsoYzw8Mil8MDtpZigoY3wwKT49KGV8MCkpYnJl
YWs7aWYoKGZbaT4+Ml18MCk9PShhfDApKWJyZWFrO2M9YysxfDB9ZltpPj4yXT1mW2grKGc8PDIp
Pj4yXTtmWyhmWyhmW2Q+PjJdfDApKzI3Mj4+Ml18MCkrKGc8PDIpPj4yXT0wO2Q9KGZbKChmW2E+
PjJdJjN8MCk9PTI/YTphKy00OHwwKSs0MD4+Ml18MCkrMTZ8MDtoPWZbZD4+Ml18MDtjPWgrMjY4
fDA7ZT1mW2M+PjJdfDA7Zz1lKy0xfDA7ZltjPj4yXT1nO2g9ZltoKzI2ND4+Ml18MDtjPTA7d2hp
bGUoMSl7aT1oKyhjPDwyKXwwO2lmKChjfDApPj0oZXwwKSlicmVhaztpZigoZltpPj4yXXwwKT09
KGF8MCkpYnJlYWs7Yz1jKzF8MH1mW2k+PjJdPWZbaCsoZzw8Mik+PjJdO2ZbKGZbKGZbZD4+Ml18
MCkrMjY0Pj4yXXwwKSsoZzw8Mik+PjJdPTA7YT0oZlsoKGZbYj4+Ml0mM3wwKT09Mz9iOmIrNDh8
MCkrNDA+PjJdfDApKzE2fDA7aT1mW2E+PjJdfDA7aD1mW2krMjcyPj4yXXwwO2k9aSsyNzZ8MDtn
PWZbaT4+Ml18MDtmW2k+PjJdPWcrMTtmW2grKGc8PDIpPj4yXT1iO2E9ZlthPj4yXXwwO2ZbKGZb
YSsyNzI+PjJdfDApKyhmW2ErMjc2Pj4yXTw8Mik+PjJdPTA7YT0oZlsoKGZbYj4+Ml0mM3wwKT09
Mj9iOmIrLTQ4fDApKzQwPj4yXXwwKSsxNnwwO2c9ZlthPj4yXXwwO2g9ZltnKzI2ND4+Ml18MDtn
PWcrMjY4fDA7aT1mW2c+PjJdfDA7ZltnPj4yXT1pKzE7ZltoKyhpPDwyKT4+Ml09YjtiPWZbYT4+
Ml18MDtmWyhmW2IrMjY0Pj4yXXwwKSsoZltiKzI2OD4+Ml08PDIpPj4yXT0wO3JldHVybn1mdW5j
dGlvbiBXSChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wO2c9YSsxNnww
O2E9ZltnPj4yXXwwO2ZbYSsyODA+PjJdPWI7ZlthKzI4ND4+Ml09YztlPTA7d2hpbGUoMSl7ZD1m
WyhmW2ErMjcyPj4yXXwwKSsoZTw8Mik+PjJdfDA7aWYoIWQpYnJlYWs7aWYoKGR8MCkhPShifDAp
KXtjPVdIKGZbKChmW2Q+PjJdJjN8MCk9PTI/ZDpkKy00OHwwKSs0MD4+Ml18MCxkLGMpfDA7YT1m
W2c+PjJdfDB9ZT1lKzF8MH1lPTA7d2hpbGUoMSl7ZD1mWyhmW2ErMjY0Pj4yXXwwKSsoZTw8Mik+
PjJdfDA7aWYoIWQpYnJlYWs7aWYoKGR8MCkhPShifDApKXtjPVdIKGZbKChmW2Q+PjJdJjN8MCk9
PTM/ZDpkKzQ4fDApKzQwPj4yXXwwLGQsYyl8MDthPWZbZz4+Ml18MH1lPWUrMXwwfWZbYSsyODg+
PjJdPWM7cmV0dXJuIGMrMXwwfWZ1bmN0aW9uIFhIKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxl
PTAsZz0wLGg9MCxpPTA7aD1hKzE2fDA7ZT0wO3doaWxlKDEpe2E9ZltoPj4yXXwwO2M9ZlsoZlth
KzE4MD4+Ml18MCkrKGU8PDIpPj4yXXwwO2lmKCFjKWJyZWFrO2Q9ZltjKzE2Pj4yXXwwO2lmKChm
W2QrMTY0Pj4yXXwwKTwwKXthPWZbYz4+Ml0mMztiPWZbKGZbKChhfDApPT0yP2M6YystNDh8MCkr
NDA+PjJdfDApKzE2Pj4yXXwwO2k9ZltiKzI4OD4+Ml18MDtpZigoZls0ODQxMl18MCk+KGl8MCl8
KGl8MCk+KGZbNDg0MTNdfDApPyhnPShmW2IrMjMyPj4yXXwwKS0oZlsoZlsoZlsoKGF8MCk9PTM/
YzpjKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKS0oaltkKzE3MD4+MV18MCl8
MCwoZ3wwKTwoZls0ODQxMV18MCl8KGZbNDg0MTBdfDApPT0wKTowKXtmWzQ4NDEwXT1jO2ZbNDg0
MTFdPWd9fWVsc2V7Yj1mWygoZltjPj4yXSYzfDApPT0yP2M6YystNDh8MCkrNDA+PjJdfDA7aWYo
KGZbKGZbYisxNj4+Ml18MCkrMjg4Pj4yXXwwKTwoZlthKzI4OD4+Ml18MCkpWEgoYil9ZT1lKzF8
MH1jPTA7d2hpbGUoMSl7Yj1mWyhmW2ErMjY0Pj4yXXwwKSsoYzw8Mik+PjJdfDA7aWYoISgoYnww
KSE9MCYoZls0ODQxMV18MCk+MCkpYnJlYWs7Yj1mWygoZltiPj4yXSYzfDApPT0zP2I6Yis0OHww
KSs0MD4+Ml18MDtpZigoZlsoZltiKzE2Pj4yXXwwKSsyODg+PjJdfDApPChmW2ErMjg4Pj4yXXww
KSl7WEgoYik7YT1mW2g+PjJdfDB9Yz1jKzF8MH1yZXR1cm59ZnVuY3Rpb24gWUgoYSl7YT1hfDA7
dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MDtoPWErMTZ8MDtlPTA7d2hpbGUoMSl7YT1m
W2g+PjJdfDA7Yz1mWyhmW2ErMTcyPj4yXXwwKSsoZTw8Mik+PjJdfDA7aWYoIWMpYnJlYWs7ZD1m
W2MrMTY+PjJdfDA7aWYoKGZbZCsxNjQ+PjJdfDApPDApe2E9ZltjPj4yXSYzO2I9ZlsoZlsoKGF8
MCk9PTM/YzpjKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MDtpPWZbYisyODg+PjJdfDA7aWYoKGZb
NDg0MTJdfDApPihpfDApfChpfDApPihmWzQ4NDEzXXwwKT8oZz0oZlsoZlsoZlsoKGF8MCk9PTI/
YzpjKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCktKGZbYisyMzI+PjJdfDAp
LShqW2QrMTcwPj4xXXwwKXwwLChnfDApPChmWzQ4NDExXXwwKXwoZls0ODQxMF18MCk9PTApOjAp
e2ZbNDg0MTBdPWM7Zls0ODQxMV09Z319ZWxzZXtiPWZbKChmW2M+PjJdJjN8MCk9PTM/YzpjKzQ4
fDApKzQwPj4yXXwwO2lmKChmWyhmW2IrMTY+PjJdfDApKzI4OD4+Ml18MCk8KGZbYSsyODg+PjJd
fDApKVlIKGIpfWU9ZSsxfDB9Yz0wO3doaWxlKDEpe2I9ZlsoZlthKzI3Mj4+Ml18MCkrKGM8PDIp
Pj4yXXwwO2lmKCEoKGJ8MCkhPTAmKGZbNDg0MTFdfDApPjApKWJyZWFrO2I9ZlsoKGZbYj4+Ml0m
M3wwKT09Mj9iOmIrLTQ4fDApKzQwPj4yXXwwO2lmKChmWyhmW2IrMTY+PjJdfDApKzI4OD4+Ml18
MCk8KGZbYSsyODg+PjJdfDApKXtZSChiKTthPWZbaD4+Ml18MH1jPWMrMXwwfXJldHVybn1mdW5j
dGlvbiBaSChhKXthPWF8MDt2YXIgYj0wO2I9REgoMTYpfDA7ZltiPj4yXT1hO2E9bkkoYSxiKXww
O2ZbYis0Pj4yXT1hO2ZbYisxMj4+Ml09YjtyZXR1cm4gYnwwfWZ1bmN0aW9uIF9IKGEsYil7YT1h
fDA7Yj1ifDA7dmFyIGM9MCxkPTA7ZD1ESCg4KXwwO2ZbZD4+Ml09YTtmW2QrND4+Ml09YjtjPTA7
d2hpbGUoMSl7aWYoKGN8MCk+PShifDApKWJyZWFrO2ZbKGZbYSsoYzw8Mik+PjJdfDApKzg+PjJd
PWM7Yz1jKzF8MH1jPShifDApLzJ8MDt3aGlsZSgxKXtpZigoY3wwKTw9LTEpYnJlYWs7ZEkoZCxj
KTtjPWMrLTF8MH1yZXR1cm4gZHwwfWZ1bmN0aW9uICRIKGEpe2E9YXwwO3JldHVybiBmW2ErND4+
Ml18MH1mdW5jdGlvbiBhSShhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wO2U9ZlthPj4yXXww
O2I9ZltlPj4yXXwwO2ZbYis4Pj4yXT0tMTtjPWErNHwwO2Q9KGZbYz4+Ml18MCkrLTF8MDtmW2U+
PjJdPWZbZSsoZDw8Mik+PjJdO2U9ZlthPj4yXXwwO2ZbKGZbZT4+Ml18MCkrOD4+Ml09MDtmW2Ur
KGQ8PDIpPj4yXT1iO2ZbYz4+Ml09ZDtkSShhLDApO3JldHVybiBifDB9ZnVuY3Rpb24gYkkoYSl7
YT1hfDA7cmV0dXJuIG1JKGZbYT4+Ml18MCwwLDApfDB9ZnVuY3Rpb24gY0koYSl7YT1hfDA7dmFy
IGI9MCxjPTAsZD0wLGU9MCxnPTAsaD0wO2I9YSsxNnwwO2lmKChmWyhmW2I+PjJdfDApKzE2ND4+
Ml18MCk+LTEpeGEoMTEwNjc2LDExMDY1Nyw0NjMsMTEwNjkwKTtlPWErNDh8MDtjPWlJKGZbKChm
W2E+PjJdJjN8MCk9PTM/YTplKSs0MD4+Ml18MCl8MDtoPWErLTQ4fDA7ZD1pSShmWygoZlthPj4y
XSYzfDApPT0yP2E6aCkrNDA+PjJdfDApfDA7Zz1mW2E+PjJdJjM7Yj0oZlsoZlsoZlsoKGd8MCk9
PTI/YTpoKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCktKGZbKGZbKGZbKChnfDApPT0z
P2E6ZSkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApLShqWyhmW2I+PjJdfDApKzE3MD4+
MV18MCl8MDtpZigoZltjKzg+PjJdfDApPT0tMSlqSShmW2M+PjJdfDAsMCxiKTtlbHNlIGpJKGZb
ZD4+Ml18MCwwLDAtYnwwKTtrSShhKTtyZXR1cm4gbEkoYyxkKXwwfWZ1bmN0aW9uIGRJKGEsYil7
YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wO2g9ZlthPj4yXXwwO2c9Zlth
KzQ+PjJdfDA7d2hpbGUoMSl7YT1iPDwxO2U9YSsyfDA7YT1hfDE7aWYoISgoYXwwKTwoZ3wwKT8o
ZlsoZltoKyhhPDwyKT4+Ml18MCkrND4+Ml18MCk8KGZbKGZbaCsoYjw8Mik+PjJdfDApKzQ+PjJd
fDApOjApKWE9YjtpZigoZXwwKT49KGd8MCkpYnJlYWs7Yz1oKyhlPDwyKXwwO2Q9ZltjPj4yXXww
O2lmKChlfDApPT0oYnwwKT8xOihmW2QrND4+Ml18MCk+PShmWyhmW2grKGE8PDIpPj4yXXwwKSs0
Pj4yXXwwKSlicmVhaztpPWgrKGI8PDIpfDA7YT1mW2k+PjJdfDA7ZltpPj4yXT1kO2ZbYz4+Ml09
YTtmWyhmW2k+PjJdfDApKzg+PjJdPWI7ZlthKzg+PjJdPWU7Yj1lfXJldHVybn1mdW5jdGlvbiBl
SSgpe1dIKGZbKGZbKGZbNDg0MDddfDApKzE2Pj4yXXwwKSsxOTI+PjJdfDAsMCwxKXwwO2ZJKGZb
KGZbKGZbNDg0MDddfDApKzE2Pj4yXXwwKSsxOTI+PjJdfDAsMCk7cmV0dXJufWZ1bmN0aW9uIGZJ
KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wO2U9YSsxNnwwO2M9MDt3aGlsZSgxKXth
PWZbZT4+Ml18MDtkPWZbKGZbYSsyNzI+PjJdfDApKyhjPDwyKT4+Ml18MDtpZighZClicmVhaztp
ZigoZHwwKSE9KGJ8MCkpZkkoZlsoKGZbZD4+Ml0mM3wwKT09Mj9kOmQrLTQ4fDApKzQwPj4yXXww
LGQpO2M9YysxfDB9ZD0wO3doaWxlKDEpe2M9ZlsoZlthKzI2ND4+Ml18MCkrKGQ8PDIpPj4yXXww
O2lmKCFjKWJyZWFrO2lmKChjfDApIT0oYnwwKSl7ZkkoZlsoKGZbYz4+Ml0mM3wwKT09Mz9jOmMr
NDh8MCkrNDA+PjJdfDAsYyk7YT1mW2U+PjJdfDB9ZD1kKzF8MH1pZihifDApZ0koYik7cmV0dXJu
fWZ1bmN0aW9uIGdJKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTA7Yj1m
W2E+PjJdJjM7Yz1mWygoYnwwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDA7ZD1mW2MrMTY+PjJdfDA7
aWYoKGZbZCsyODA+PjJdfDApPT0oYXwwKSlpPTE7ZWxzZXtkPWZbKChifDApPT0yP2E6YSstNDh8
MCkrNDA+PjJdfDA7aT0tMTtjPWQ7ZD1mW2QrMTY+PjJdfDB9Zz1mW2QrMTgwPj4yXXwwO2I9MDtl
PTA7d2hpbGUoMSl7aD1mW2crKGU8PDIpPj4yXXwwO2lmKCFoKWJyZWFrO2I9KGhJKGgsYyxpKXww
KStifDA7ZT1lKzF8MH1nPWZbZCsxNzI+PjJdfDA7ZD0wO3doaWxlKDEpe2U9ZltnKyhkPDwyKT4+
Ml18MDtpZighZSlicmVhaztiPShoSShlLGMsaSl8MCkrYnwwO2Q9ZCsxfDB9ZlsoZlthKzE2Pj4y
XXwwKSsxNjA+PjJdPWI7cmV0dXJufWZ1bmN0aW9uIGhJKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8
MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MDtpPWZbYT4+Ml0mMztlPWZbKChpfDApPT0zP2E6YSs0
OHwwKSs0MD4+Ml18MDtkPShlfDApPT0oYnwwKTtpZihkKWU9ZlsoKGl8MCk9PTI/YTphKy00OHww
KSs0MD4+Ml18MDtoPWZbYisxNj4+Ml18MDtnPWZbKGZbZSsxNj4+Ml18MCkrMjg4Pj4yXXwwO2lm
KChmW2grMjg0Pj4yXXwwKTw9KGd8MCk/KGd8MCk8PShmW2grMjg4Pj4yXXwwKTowKXtnPWZbYSsx
Nj4+Ml18MDtpZigoZltnKzE2ND4+Ml18MCk+LTEpZT1mW2crMTYwPj4yXXwwO2Vsc2UgZT0wO2g9
MDtlPWUtKGZbZysxNTY+PjJdfDApfDB9ZWxzZXtoPTE7ZT1mWyhmW2ErMTY+PjJdfDApKzE1Nj4+
Ml18MH1pZigoY3wwKT4wKWQ9KGZbKChpfDApPT0yP2E6YSstNDh8MCkrNDA+PjJdfDApPT0oYnww
KTtpPWQ/MTotMTtyZXR1cm4gKCgoKGh8MCk9PTA/aTowLWl8MCl8MCk8MD8wLWV8MDplKXwwfWZ1
bmN0aW9uIGlJKGEpe2E9YXwwO3ZhciBiPTAsYz0wO2E9ZlsoZlthKzE2Pj4yXXwwKSsyODA+PjJd
fDA7d2hpbGUoMSl7Yj1hKzEyfDA7Yz1mW2I+PjJdfDA7aWYoISgoY3wwKSE9KGF8MCkmKGN8MCkh
PTApKWJyZWFrO2E9ZltjKzEyPj4yXXwwO2lmKCFhKWE9YztlbHNlIGZbYj4+Ml09YX1yZXR1cm4g
YXwwfWZ1bmN0aW9uIGpJKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAs
aD0wO2g9YSsxNnwwO2Q9ZltoPj4yXXwwO2c9ZCsyMzJ8MDtmW2c+PjJdPShmW2c+PjJdfDApK2M7
Zz0wO3doaWxlKDEpe2U9ZlsoZltkKzI2ND4+Ml18MCkrKGc8PDIpPj4yXXwwO2lmKCFlKWJyZWFr
O2U9ZlsoKGZbZT4+Ml0mM3wwKT09Mz9lOmUrNDh8MCkrNDA+PjJdfDA7aWYoKGV8MCkhPShifDAp
KXtqSShlLGEsYyk7ZD1mW2g+PjJdfDB9Zz1nKzF8MH1nPTA7d2hpbGUoMSl7ZT1mWyhmW2QrMjcy
Pj4yXXwwKSsoZzw8Mik+PjJdfDA7aWYoIWUpYnJlYWs7ZT1mWygoZltlPj4yXSYzfDApPT0yP2U6
ZSstNDh8MCkrNDA+PjJdfDA7aWYoKGV8MCkhPShifDApKXtqSShlLGEsYyk7ZD1mW2g+PjJdfDB9
Zz1nKzF8MH1yZXR1cm59ZnVuY3Rpb24ga0koYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxo
PTAsaT0wO2g9dDt0PXQrMzJ8MDtjPShmW2ErMTY+PjJdfDApKzE2NHwwO2lmKChmW2M+PjJdfDAp
Pi0xKXtZdygxLDExMDc3OSxoKXwwO2piKDE4ODc4NCwxKX1nPWZbNDg0MDhdfDA7ZltjPj4yXT1n
O2M9Zls0ODQwOV18MDtmWzQ4NDA4XT1nKzE7ZltjKyhnPDwyKT4+Ml09YTtjPWZbYT4+Ml0mMztn
PWErNDh8MDtkPWZbKChjfDApPT0zP2E6ZykrNDA+PjJdfDA7aWYoIShiWyhmW2QrMTY+PjJdfDAp
KzE1Nz4+MF18MCkpe2U9Zls0ODQxNV18MDtjPWZbNDg0MTZdfDA7Zls0ODQxNl09YysxO2ZbZSso
Yzw8Mik+PjJdPWQ7Yz1mW2E+PjJdJjN9ZT1hKy00OHwwO2Q9ZlsoKGN8MCk9PTI/YTplKSs0MD4+
Ml18MDtpZighKGJbKGZbZCsxNj4+Ml18MCkrMTU3Pj4wXXwwKSl7aT1mWzQ4NDE1XXwwO2M9Zls0
ODQxNl18MDtmWzQ4NDE2XT1jKzE7ZltpKyhjPDwyKT4+Ml09ZDtjPWZbYT4+Ml0mM31pPShmWygo
Y3wwKT09Mz9hOmcpKzQwPj4yXXwwKSsxNnwwO2M9ZltpPj4yXXwwO2JbYysxNTc+PjBdPTE7ZD1m
W2MrMjcyPj4yXXwwO2M9YysyNzZ8MDtnPWZbYz4+Ml18MDtmW2M+PjJdPWcrMTtmW2QrKGc8PDIp
Pj4yXT1hO2c9ZltpPj4yXXwwO2ZbKGZbZysyNzI+PjJdfDApKyhmW2crMjc2Pj4yXTw8Mik+PjJd
PTA7aT1mW2k+PjJdfDA7aWYoIShmWyhmW2krMTgwPj4yXXwwKSsoKGZbaSsyNzY+PjJdfDApKy0x
PDwyKT4+Ml18MCkpe1l3KDEsMTEwODEzLGgrOHwwKXwwO2piKDE4ODc4NCwxKX1pPShmWygoZlth
Pj4yXSYzfDApPT0yP2E6ZSkrNDA+PjJdfDApKzE2fDA7ZD1mW2k+PjJdfDA7YltkKzE1Nz4+MF09
MTtlPWZbZCsyNjQ+PjJdfDA7ZD1kKzI2OHwwO2c9ZltkPj4yXXwwO2ZbZD4+Ml09ZysxO2ZbZSso
Zzw8Mik+PjJdPWE7YT1mW2k+PjJdfDA7ZlsoZlthKzI2ND4+Ml18MCkrKGZbYSsyNjg+PjJdPDwy
KT4+Ml09MDtpPWZbaT4+Ml18MDtpZighKGZbKGZbaSsxNzI+PjJdfDApKygoZltpKzI2OD4+Ml18
MCkrLTE8PDIpPj4yXXwwKSl7WXcoMSwxMTA4NDgsaCsxNnwwKXwwO2piKDE4ODc4NCwxKX1lbHNl
e3Q9aDtyZXR1cm59fWZ1bmN0aW9uIGxJKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0w
LGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDt3aGlsZSgxKXtjPWZbYSsxMj4+Ml18MDtpZigo
Y3wwKT09MHwoY3wwKT09KGF8MCkpYnJlYWs7ZWxzZSBhPWN9aT1hKzEyfDA7d2hpbGUoMSl7Yz1m
W2IrMTI+PjJdfDA7aWYoKGN8MCk9PTB8KGN8MCk9PShifDApKWJyZWFrO2Vsc2UgYj1jfWU9Yisx
MnwwO2lmKChhfDApIT0oYnwwKSl7Zz1hKzh8MDtoPWZbZz4+Ml18MDtjPWIrOHwwO2Q9ZltjPj4y
XXwwO2RvIGlmKChofDApPi0xKWlmKChkfDApPT0tMSl7aj1hO2w9Z31lbHNlIG09MTE7ZWxzZSBp
ZigoZHwwKT4tMSlpZigoaHwwKT09LTEpe2o9YjtsPWM7YnJlYWt9ZWxzZXttPTExO2JyZWFrfWVs
c2UgeGEoMTEwNzAyLDExMDY1NywzMjcsMTEwNzQ5KTt3aGlsZSgwKTtpZigobXwwKT09MTEpe2w9
KGZbYis0Pj4yXXwwKTwoZlthKzQ+PjJdfDApP2E6YjtqPWw7bD1sKzh8MH1mW2U+PjJdPWo7Zltp
Pj4yXT1qO2Zbais0Pj4yXT0oZltiKzQ+PjJdfDApKyhmW2ErND4+Ml18MCk7aWYoKGZbbD4+Ml18
MCk+LTEpaz1qO2Vsc2UgeGEoMTEwNzYwLDExMDY1NywzMzUsMTEwNzQ5KX1lbHNlIGs9YTtyZXR1
cm4ga3wwfWZ1bmN0aW9uIG1JKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxn
PTAsaD0wLGk9MCxrPTAsbD0wLG09MDtsPWlJKGEpfDA7aWYoISgoY3wwKSE9MD8oaz1mW2M+PjJd
JjMsKChmWyhmWyhmWygoa3wwKT09Mj9jOmMrLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMy
Pj4yXXwwKS0oZlsoZlsoZlsoKGt8MCk9PTM/YzpjKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkr
MjMyPj4yXXwwKXwwKT09KGpbKGZbYysxNj4+Ml18MCkrMTcwPj4xXXwwfDApKTowKSlkPTM7YTpk
byBpZigoZHwwKT09Myl7az1hKzE2fDA7aT0wO3doaWxlKDEpe2Q9ZltrPj4yXXwwO2g9ZlsoZltk
KzE4MD4+Ml18MCkrKGk8PDIpPj4yXXwwO2lmKCFoKWJyZWFrO2Q9aCsxNnwwO2U9aCstNDh8MDtn
PWZbKChmW2g+PjJdJjN8MCk9PTI/aDplKSs0MD4+Ml18MDtkbyBpZigoZlsoZltkPj4yXXwwKSsx
NjQ+PjJdfDApPi0xKXtpZigoZ3wwKSE9KGJ8MCkpYz1tSShnLGEsYyl8MH1lbHNlIGlmKChpSShn
KXwwKSE9KGx8MCkpe2lmKGN8MD8obT1mW2g+PjJdJjMsZz1mW2M+PjJdJjMsKChmWyhmWyhmWygo
bXwwKT09Mj9oOmUpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKS0oZlsoZlsoZlsoKG18
MCk9PTM/aDpoKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKS0oalsoZltkPj4y
XXwwKSsxNzA+PjFdfDApfDApPj0oKGZbKGZbKGZbKChnfDApPT0yP2M6YystNDh8MCkrNDA+PjJd
fDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApLShmWyhmWyhmWygoZ3wwKT09Mz9jOmMrNDh8MCkrNDA+
PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApLShqWyhmW2MrMTY+PjJdfDApKzE3MD4+MV18MCl8
MCkpOjApYnJlYWs7Yz1ofXdoaWxlKDApO2k9aSsxfDB9aT0wO3doaWxlKDEpe2Q9ZlsoZltkKzE3
Mj4+Ml18MCkrKGk8PDIpPj4yXXwwO2lmKCFkKWJyZWFrIGE7ZT1kKzE2fDA7Zz1kKzQ4fDA7aD1m
WygoZltkPj4yXSYzfDApPT0zP2Q6ZykrNDA+PjJdfDA7ZG8gaWYoKGZbKGZbZT4+Ml18MCkrMTY0
Pj4yXXwwKT4tMSl7aWYoKGh8MCkhPShifDApKWM9bUkoaCxhLGMpfDB9ZWxzZSBpZigoaUkoaCl8
MCkhPShsfDApKXtpZihjfDA/KGg9ZltkPj4yXSYzLG09ZltjPj4yXSYzLCgoZlsoZlsoZlsoKGh8
MCk9PTI/ZDpkKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCktKGZbKGZbKGZb
KChofDApPT0zP2Q6ZykrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApLShqWyhmW2U+PjJd
fDApKzE3MD4+MV18MCl8MCk+PSgoZlsoZlsoZlsoKG18MCk9PTI/YzpjKy00OHwwKSs0MD4+Ml18
MCkrMTY+PjJdfDApKzIzMj4+Ml18MCktKGZbKGZbKGZbKChtfDApPT0zP2M6Yys0OHwwKSs0MD4+
Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCktKGpbKGZbYysxNj4+Ml18MCkrMTcwPj4xXXwwKXww
KSk6MClicmVhaztjPWR9d2hpbGUoMCk7aT1pKzF8MDtkPWZbaz4+Ml18MH19d2hpbGUoMCk7cmV0
dXJuIGN8MH1mdW5jdGlvbiBuSShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAs
aD0wLGk9MCxrPTAsbD0wLG09MCxuPTAsbz0wO2w9YSsxNnwwO2M9ZltsPj4yXXwwO2ZbYysyODA+
PjJdPWI7YT0xO2c9MDt3aGlsZSgxKXtlPWZbKGZbYysxNzI+PjJdfDApKyhnPDwyKT4+Ml18MDtp
ZighZSlicmVhaztkPWZbZSsxNj4+Ml18MDtpZigoKGZbZCsxNjQ+PjJdfDApPD0tMT8oaD1mW2U+
PjJdJjMsaT1lKzQ4fDAsaz1mWyhmWygoaHwwKT09Mz9lOmkpKzQwPj4yXXwwKSsxNj4+Ml18MCwo
ZltrKzI4MD4+Ml18MCk9PTApOjApPygoZlsoZlsoZlsoKGh8MCk9PTI/ZTplKy00OHwwKSs0MD4+
Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCktKGZbaysyMzI+PjJdfDApfDApPT0oaltkKzE3MD4+
MV18MHwwKTowKXtrSShlKTthPShuSShmWygoZltlPj4yXSYzfDApPT0zP2U6aSkrNDA+PjJdfDAs
Yil8MCkrYXwwO2M9ZltsPj4yXXwwfWc9ZysxfDB9Zz0wO3doaWxlKDEpe2Q9ZlsoZltjKzE4MD4+
Ml18MCkrKGc8PDIpPj4yXXwwO2lmKCFkKWJyZWFrO2U9ZltkKzE2Pj4yXXwwO2lmKCgoZltlKzE2
ND4+Ml18MCk8PS0xPyhtPWZbZD4+Ml0mMyxuPWQrLTQ4fDAsbz1mWyhmWygobXwwKT09Mj9kOm4p
KzQwPj4yXXwwKSsxNj4+Ml18MCwoZltvKzI4MD4+Ml18MCk9PTApOjApPygoZltvKzIzMj4+Ml18
MCktKGZbKGZbKGZbKChtfDApPT0zP2Q6ZCs0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+
Ml18MCl8MCk9PShqW2UrMTcwPj4xXXwwfDApOjApe2tJKGQpO2E9KG5JKGZbKChmW2Q+PjJdJjN8
MCk9PTI/ZDpuKSs0MD4+Ml18MCxiKXwwKSthfDA7Yz1mW2w+PjJdfDB9Zz1nKzF8MH1yZXR1cm4g
YXwwfWZ1bmN0aW9uIG9JKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wO2Q9R3goYSwx
MTA5MTIpfDA7aWYoIWQpZD0zMDtlbHNlIGQ9RDIoZCl8MDtyZXR1cm4gSEgoYSxiLGMsZCl8MH1m
dW5jdGlvbiBwSShhKXthPSthO3JldHVybiArKChmWzQ4MzMxXXwwKT09MD9hOitwWzI0MDMxXS1h
KX1mdW5jdGlvbiBxSShhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9
MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MC4wLHM9MC4wLHU9MDtxPXQ7dD10
KzE2fDA7bz1xO2ZbNDg0MTddPWZbKGZbKGZbYys2ND4+Ml18MCkrOD4+Ml18MCkrND4+Ml07ckko
Yyk7aD1mW2MrMTY+PjJdfDA7cz0rcFtoKzMyPj4zXTtyPStwW2grNDA+PjNdO3NJKGQsMTEwOTIz
LCtwW2ErMzUyPj4zXSk7c0koZCwxMTA5MzAscyouMDEzODg4ODg4ODg4ODg4ODg4KTtzSShkLDEx
MDkzMCxyKi4wMTM4ODg4ODg4ODg4ODg4ODgpO3RJKGQpO2g9JHkoYyl8MDt3aGlsZSgxKXtpZigh
aClicmVhaztnPWgrMTZ8MDtpZighKGJbKGZbZz4+Ml18MCkrMTE4Pj4wXXwwKSl7dUkoZCwxMTA5
MzIsU0EoQXkoaCl8MCl8MCk7bj0oZltnPj4yXXwwKSsxNnwwO2Zbbz4+Ml09ZltuPj4yXTtmW28r
ND4+Ml09ZltuKzQ+PjJdO2Zbbys4Pj4yXT1mW24rOD4+Ml07ZltvKzEyPj4yXT1mW24rMTI+PjJd
O3ZJKGQsbyk7aWYoIShiWyhmWyhmW2c+PjJdfDApKzEwND4+Ml18MCkrODI+PjBdfDApKXthPW56
KGgpfDA7YT13SShhLGZbZlsoZltnPj4yXXwwKSsxMDQ+PjJdPj4yXXwwKXwwfWVsc2UgYT1TQShI
eChoLGZbNDgzNDZdfDApfDApfDA7c0koZCwxMTA5MzAsK3BbKGZbZz4+Ml18MCkrMzI+PjNdKTtz
SShkLDExMDkzMCwrcFsoZltnPj4yXXwwKSs0MD4+M10pO3VJKGQsMTEwOTMwLGEpO3VJKGQsMTEw
OTMwLFhMKGgsZls0ODM0OV18MCwxMTkzOTMpfDApO3VJKGQsMTEwOTMwLGZbZlsoZltnPj4yXXww
KSs4Pj4yXT4+Ml18MCk7dUkoZCwxMTA5MzAsWEwoaCxmWzQ4MzQwXXwwLDE0NTU4NCl8MCk7YT1Y
TChoLGZbNDgzNDFdfDAsMTk0ODcwKXwwO2lmKCEoYlthPj4wXXwwKSlhPVhMKGgsZls0ODM0MF18
MCwxNDMwNzApfDA7dUkoZCwxMTA5MzAsYSk7dEkoZCl9aD1heihjLGgpfDB9bT1lPDwyND4+MjQ9
PTA7bD0keShjKXwwO3doaWxlKDEpe2lmKCFsKWJyZWFrO2s9TngoYyxsKXwwO3doaWxlKDEpe2lm
KCFrKWJyZWFrO2lmKG0pe2U9MTk0ODcwO2k9MTk0ODcwfWVsc2V7aT1HeChrLDExOTcyNSl8MDtl
PUd4KGssMTE5NzM0KXwwO2U9KGV8MCk9PTA/MTk0ODcwOmU7aT0oaXwwKT09MD8xOTQ4NzA6aX1u
PWsrMTZ8MDthPWZbbj4+Ml18MDtqPWZbYSs4Pj4yXXwwO2E6ZG8gaWYoail7aD1mW2orND4+Ml18
MDthPTA7Zz0wO3doaWxlKDEpe2lmKChhfDApPj0oaHwwKSlicmVhazt1PShmWyhmW2o+PjJdfDAp
KyhhKjQ4fDApKzQ+PjJdfDApK2d8MDthPWErMXwwO2c9dX11SShkLDAsMTE5NzIwKTt4SShkLGZb
KChmW2s+PjJdJjN8MCk9PTM/azprKzQ4fDApKzQwPj4yXXwwLGkpO3hJKGQsZlsoKGZbaz4+Ml0m
M3wwKT09Mj9rOmsrLTQ4fDApKzQwPj4yXXwwLGUpO3lJKGQsZyk7ZT0wO3doaWxlKDEpe2E9Zltu
Pj4yXXwwO2c9ZlthKzg+PjJdfDA7aWYoKGV8MCk+PShmW2crND4+Ml18MCkpYnJlYWsgYTtoPWZb
Zz4+Ml18MDtnPWZbaCsoZSo0OHwwKT4+Ml18MDtoPWZbaCsoZSo0OHwwKSs0Pj4yXXwwO2E9MDt3
aGlsZSgxKXtpZigoYXwwKT49KGh8MCkpYnJlYWs7dT1nKyhhPDw0KXwwO2Zbbz4+Ml09Zlt1Pj4y
XTtmW28rND4+Ml09Zlt1KzQ+PjJdO2Zbbys4Pj4yXT1mW3UrOD4+Ml07ZltvKzEyPj4yXT1mW3Ur
MTI+PjJdO3ZJKGQsbyk7YT1hKzF8MH1lPWUrMXwwfX13aGlsZSgwKTtpZihmW2ErOTY+PjJdfDAp
e3U9bnooZlsoKGZbaz4+Ml0mM3wwKT09Mz9rOmsrNDh8MCkrNDA+PjJdfDApfDA7dUkoZCwxMTA5
MzAsd0kodSxmW2ZbKGZbbj4+Ml18MCkrOTY+PjJdPj4yXXwwKXwwKTt1PShmWyhmW24+PjJdfDAp
Kzk2Pj4yXXwwKSs1NnwwO2Zbbz4+Ml09Zlt1Pj4yXTtmW28rND4+Ml09Zlt1KzQ+PjJdO2Zbbys4
Pj4yXT1mW3UrOD4+Ml07ZltvKzEyPj4yXT1mW3UrMTI+PjJdO3ZJKGQsbyl9dUkoZCwxMTA5MzAs
WEwoayxmWzQ4Mzc3XXwwLDExOTM5Myl8MCk7dUkoZCwxMTA5MzAsWEwoayxmWzQ4MzY4XXwwLDE0
NTU4NCl8MCk7dEkoZCk7az1QeChjLGspfDB9bD1heihjLGwpfDB9ekkoMTEwOTM4LGQpO3Q9cTty
ZXR1cm59ZnVuY3Rpb24gckkoYSl7YT1hfDA7dmFyIGI9MC4wO2lmKGZbNDgzMzFdfDApe2E9Zlth
KzE2Pj4yXXwwO2I9K3BbYSsyND4+M10rICtwW2ErNDA+PjNdO3BbMjQwMzFdPWI7cFsyNDAzMl09
YiouMDEzODg4ODg4ODg4ODg4ODg4fXJldHVybn1mdW5jdGlvbiBzSShhLGIsYyl7YT1hfDA7Yj1i
fDA7Yz0rYzt2YXIgZD0wLGU9MCxmPTA7Zj10O3Q9dCsxMDQwfDA7ZT1mKzEwMjR8MDtkPWY7aWYo
YnwwKXpJKGIsYSk7cFtlPj4zXT1jO2QkKGQsMTEwOTQ0LGUpfDA7ekkoZCxhKTt0PWY7cmV0dXJu
fWZ1bmN0aW9uIHRJKGEpe2E9YXwwO2JbMTk0ODY2XT0xMDt1YltmWzQ4NDE3XSYxMjddKGEsMTk0
ODY2KXwwO3JldHVybn1mdW5jdGlvbiB1SShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7aWYoYnww
KXpJKGIsYSk7ekkoYyxhKTtyZXR1cm59ZnVuY3Rpb24gdkkoYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wLjA7c0koYSwxMTA5MzAsK3BbYj4+M10qLjAxMzg4ODg4ODg4ODg4ODg4OCk7aWYoIShmWzQ4
MzMxXXwwKSljPStwW2IrOD4+M107ZWxzZSBjPStwWzI0MDMxXS0rcFtiKzg+PjNdO3NJKGEsMTEw
OTMwLGMqLjAxMzg4ODg4ODg4ODg4ODg4OCk7cmV0dXJufWZ1bmN0aW9uIHdJKGEsYil7YT1hfDA7
Yj1ifDA7dmFyIGM9MDtjPVh6KGEsYil8MDtiPVNBKGMpfDA7WnooYSxjKXwwO3JldHVybiBifDB9
ZnVuY3Rpb24geEkoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTA7aWYoIShiWyhmW2Mr
MTY+PjJdfDApKzExOD4+MF18MCkpYz1TQShBeShjKXwwKXwwO2Vsc2V7ZT1ueihjKXwwO2M9d0ko
ZSwoeDEoQXkoYyl8MCw1OCl8MCkrMXwwKXwwfXVJKGEsMTEwOTMwLGMpO2lmKGR8MD9iW2Q+PjBd
fDA6MCl1SShhLDExNjMxMCxTQShkKXwwKTtyZXR1cm59ZnVuY3Rpb24geUkoYSxiKXthPWF8MDti
PWJ8MDt2YXIgYz0wLGQ9MCxlPTA7Yz10O3Q9dCsxMDQwfDA7ZT1jKzEwMjR8MDtkPWM7ekkoMTEw
OTMwLGEpO2ZbZT4+Ml09YjtkJChkLDE0NTY2NSxlKXwwO3pJKGQsYSk7dD1jO3JldHVybn1mdW5j
dGlvbiB6SShhLGIpe2E9YXwwO2I9YnwwO3ViW2ZbNDg0MTddJjEyN10oYixhKXwwO3JldHVybn1m
dW5jdGlvbiBBSShhLGMsZSl7YT1hfDA7Yz1jfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGs9MC4w
LGw9MCxtPTAuMCxuPTAsbz0wLjAscT0wLHI9MCxzPTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAs
QT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxOPTAsTz0wLFA9MCxR
PTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wLFk9MDtZPXQ7dD10KzIyODh8MDtXPVkrMjI1
NnwwO1Y9WSsyMjQwfDA7VT1ZKzIyMjR8MDtUPVkrMjIwOHwwO1M9WSsyMTkyfDA7Uj1ZKzIxNzZ8
MDtQPVkrMjE2MHwwO089WSsyMTQ0fDA7Tj1ZKzIxMjh8MDtLPVkrMjExMnwwO0o9WSsyMTA0fDA7
ST1ZKzIwOTZ8MDtYPVkrMjA4MHwwO1E9WSsyMDcyfDA7SD1ZKzIwNDh8MDtFPVkrMTAyNHwwO0Y9
WSsyMjcyfDA7Rz1hKzE2fDA7Qz0oalsoZltHPj4yXXwwKSsxNzg+PjFdfDApPjI7TEcoMSk7ckko
YSk7YXgoRiwxMDI0LFkpO1VNKGEsMSwxMTA5NDksMTk0ODcwKXwwO1VNKGEsMSwxMTA5NTMsMTk0
ODcwKXwwO2c9VU0oYSwxLDE0ODI1MSwxOTQ4NzApfDA7Zls0ODMzOF09ZztnPVVNKGEsMSwxNDgx
ODMsMTk0ODcwKXwwO2ZbNDgzMzddPWc7VU0oYSwyLDExMDk0OSwxOTQ4NzApfDA7Zz1iWyhmW0c+
PjJdfDApKzExMz4+MF18MDtpZihnJjE2KXtVTShhLDEsMTEwOTU5LDE5NDg3MCl8MDtnPWJbKGZb
Rz4+Ml18MCkrMTEzPj4wXXwwfWlmKGcmMSl7VU0oYSwyLDExMDk2MywxOTQ4NzApfDA7Zz1iWyhm
W0c+PjJdfDApKzExMz4+MF18MH1pZihnJjMyKXtVTShhLDIsMTEwOTU5LDE5NDg3MCl8MDtnPWJb
KGZbRz4+Ml18MCkrMTEzPj4wXXwwfWlmKGcmMil7VU0oYSwyLDExMDk2NiwxOTQ4NzApfDA7Zz1i
WyhmW0c+PjJdfDApKzExMz4+MF18MH1pZihnJjQpe1VNKGEsMiwxMTA5NzQsMTk0ODcwKXwwO2c9
YlsoZltHPj4yXXwwKSsxMTM+PjBdfDB9aWYoIShnJjgpKXt2PTA7dz0wO3g9MH1lbHNle3g9VU0o
YSwwLDExMDk2MywxOTQ4NzApfDA7dz1VTShhLDAsMTEwOTgyLDE5NDg3MCl8MDt2PVVNKGEsMCwx
MTA5ODksMTk0ODcwKXwwfXo9VU0oYSwwLDExMDk5NywxOTQ4NzApfDA7QT1GKzR8MDtCPUYrOHww
O3U9MDtnPTA7eT0keShhKXwwO3doaWxlKDEpe2lmKCF5KWJyZWFrO3M9eSsxNnwwO2k9ZltzPj4y
XXwwO209K3BbaSsxNj4+M107aD0oZls0ODMzMV18MCk9PTA7aWYoQyl7aWYoaClrPStwW2krMjQ+
PjNdO2Vsc2Ugaz0rcFsyNDAzMV0tK3BbaSsyND4+M107bz0rcFsoZltpKzEzMj4+Ml18MCkrMTY+
PjNdKjcyLjA7cFtIPj4zXT1tO3BbSCs4Pj4zXT1rO3BbSCsxNj4+M109bztkJChFLDExMWUzLEgp
fDA7ZHgoRixFKXwwO2g9Mzt3aGlsZSgxKXtpZihoPj4+MD49KGpbKGZbRz4+Ml18MCkrMTc4Pj4x
XXwwKT4+PjApYnJlYWs7cFtRPj4zXT0rcFsoZlsoZltzPj4yXXwwKSsxMzI+PjJdfDApKyhoPDwz
KT4+M10qNzIuMDtkJChFLDExMTAxNSxRKXwwO2R4KEYsRSl8MDtoPWgrMXwwfWg9ZltBPj4yXXww
O2lmKGg+Pj4wPj0oZltCPj4yXXwwKT4+PjApe2J4KEYsMSl8MDtoPWZbQT4+Ml18MH1iW2g+PjBd
PTA7cj1mW0Y+PjJdfDA7ZltBPj4yXT1yO0l4KHksMTEwOTQ5LHIpfDA7cj15fWVsc2V7aWYoaClr
PStwW2krMjQ+PjNdO2Vsc2Ugaz0rcFsyNDAzMV0tK3BbaSsyND4+M107cFtYPj4zXT1tO3BbWCs4
Pj4zXT1rO2QkKEUsMTExMDIxLFgpfDA7SXgoeSwxMTA5NDksRSl8MDtyPXl9cFtJPj4zXT0rcFso
ZltzPj4yXXwwKSs4MD4+M10qLjAxMzg4ODg4ODg4ODg4ODg4ODtkJChFLDExMDk0NCxJKXwwO0F4
KHIsZls0ODMzN118MCxFKXwwO2g9ZltzPj4yXXwwO3BbSj4+M109KCtwW2grOTY+PjNdKyArcFto
Kzg4Pj4zXSkqLjAxMzg4ODg4ODg4ODg4ODg4ODtkJChFLDExMDk0NCxKKXwwO0F4KHIsZls0ODMz
OF18MCxFKXwwO2g9ZltzPj4yXXwwO2k9ZltoKzEwOD4+Ml18MDtpZigoaXwwKSE9MD8oYltpKzgx
Pj4wXXwwKSE9MDowKXtvPStwW2krNjQ+PjNdO289KGZbNDgzMzFdfDApPT0wP286K3BbMjQwMzFd
LW87cFtLPj4zXT0rcFtpKzU2Pj4zXTtwW0srOD4+M109bztkJChFLDExMTAyMSxLKXwwO0l4KHIs
MTEwOTU5LEUpfDA7aD1mW3M+PjJdfDB9aWYoSCQoZltmW2grOD4+Ml0+PjJdfDAsMTE0NTQ2KXww
KXtpZihmWzQ4MzYyXXwwPyhiSyh5KXwwKTw8MjQ+PjI0OjApe2k9ZlsoZltzPj4yXXwwKSsxMj4+
Ml18MDtxPWkrOHwwO2g9ZltxPj4yXXwwO2lmKChofDApPDMpe2g9R3gociwxMTEwMzEpfDA7aWYo
IWgpaD04O2Vsc2V7aD1EMihoKXwwO2g9KGh8MCk8Mz84Omh9fW49aSs0NHwwO289MS4wLysoaHww
KTtsPTA7d2hpbGUoMSl7aWYoKGx8MCk+PShofDApKWJyZWFrO2lmKGx8MCl7aT1mW0E+PjJdfDA7
aWYoaT4+PjA+PShmW0I+PjJdfDApPj4+MCl7YngoRiwxKXwwO2k9ZltBPj4yXXwwfWZbQT4+Ml09
aSsxO2JbaT4+MF09MzJ9aWYoKGZbcT4+Ml18MCk+Mil7aT1mW24+PjJdfDA7aWYoIShmWzQ4MzMx
XXwwKSlrPStwW2krKGw8PDQpKzg+PjNdKi4wMTM4ODg4ODg4ODg4ODg4ODg7ZWxzZSBrPStwWzI0
MDMyXS0rcFtpKyhsPDw0KSs4Pj4zXSouMDEzODg4ODg4ODg4ODg4ODg4O3BbTj4+M109K3BbaSso
bDw8NCk+PjNdKi4wMTM4ODg4ODg4ODg4ODg4ODg7cFtOKzg+PjNdPWs7ZCQoRSwxMTEwNDQsTil8
MH1lbHNle2k9ZltzPj4yXXwwO2s9byorKGx8MCkqNi4yODMxODUzMDcxNzk1ODY7bT0rTCgraykq
LjUqK3BbaSszMj4+M107aWYoIShmWzQ4MzMxXXwwKSlrPStNKCtrKSouNSorcFtpKzQwPj4zXTtl
bHNlIGs9K3BbMjQwMzJdLStNKCtrKSouNSorcFtpKzQwPj4zXTtwW08+PjNdPW07cFtPKzg+PjNd
PWs7ZCQoRSwxMTEwNDQsTyl8MH1keChGLEUpfDA7bD1sKzF8MH1pPWZbNDgzNjJdfDA7aD1mW0E+
PjJdfDA7aWYoaD4+PjA+PShmW0I+PjJdfDApPj4+MCl7YngoRiwxKXwwO2g9ZltBPj4yXXwwfWJb
aD4+MF09MDtzPWZbRj4+Ml18MDtmW0E+PjJdPXM7QXgocixpLHMpfDB9fWVsc2V7QkkoeSxmW2gr
MTI+PjJdfDAsRik7ZngoRil8MDtoPWZbQT4+Ml18MDtpZihoPj4+MD49KGZbQj4+Ml18MCk+Pj4w
KXtieChGLDEpfDA7aD1mW0E+PjJdfDB9YltoPj4wXT0wO3M9ZltGPj4yXXwwO2ZbQT4+Ml09cztJ
eChyLDExMDk1MyxzKXwwfWE6ZG8gaWYoKGZbNDgzMjldfDApPjApe3M9TngoYSx5KXwwO2g9dTt3
aGlsZSgxKXtpZighcylicmVhayBhO3I9cysxNnwwO2k9ZltyPj4yXXwwO2RvIGlmKChiW2krMTEy
Pj4wXXwwKSE9Nj8oRD1mW2krOD4+Ml18MCwoRHwwKSE9MCk6MCl7cT0wO2k9RDt3aGlsZSgxKXtp
ZigocXwwKT49KGZbaSs0Pj4yXXwwKSlicmVhaztpZihxKXtpPWZbQT4+Ml18MDtpZihpPj4+MD49
KGZbQj4+Ml18MCk+Pj4wKXtieChGLDEpfDA7aT1mW0E+PjJdfDB9ZltBPj4yXT1pKzE7YltpPj4w
XT01OTtpPWZbKGZbcj4+Ml18MCkrOD4+Ml18MH1pPWZbaT4+Ml18MDtpZihmW2krKHEqNDh8MCkr
OD4+Ml18MCl7aWYoIShmWzQ4MzMxXXwwKSlrPStwW2krKHEqNDh8MCkrMjQ+PjNdO2Vsc2Ugaz0r
cFsyNDAzMV0tK3BbaSsocSo0OHwwKSsyND4+M107cFtQPj4zXT0rcFtpKyhxKjQ4fDApKzE2Pj4z
XTtwW1ArOD4+M109aztkJChFLDExMTA1NCxQKXwwO2R4KEYsRSl8MDtnPTE7aT1mW2ZbKGZbcj4+
Ml18MCkrOD4+Ml0+PjJdfDB9aWYoZltpKyhxKjQ4fDApKzEyPj4yXXwwKXtpZighKGZbNDgzMzFd
fDApKWs9K3BbaSsocSo0OHwwKSs0MD4+M107ZWxzZSBrPStwWzI0MDMxXS0rcFtpKyhxKjQ4fDAp
KzQwPj4zXTtwW1I+PjNdPStwW2krKHEqNDh8MCkrMzI+PjNdO3BbUis4Pj4zXT1rO2QkKEUsMTEx
MDY3LFIpfDA7ZHgoRixFKXwwO2g9MX1uPTA7d2hpbGUoMSl7aT1mWyhmW3I+PjJdfDApKzg+PjJd
fDA7bD1mW2k+PjJdfDA7aWYoKG58MCk+PShmW2wrKHEqNDh8MCkrND4+Ml18MCkpYnJlYWs7aWYo
IW4paT1sO2Vsc2V7aT1mW0E+PjJdfDA7aWYoaT4+PjA+PShmW0I+PjJdfDApPj4+MCl7YngoRiwx
KXwwO2k9ZltBPj4yXXwwfWZbQT4+Ml09aSsxO2JbaT4+MF09MzI7aT1mW2ZbKGZbcj4+Ml18MCkr
OD4+Ml0+PjJdfDB9dT1mW2krKHEqNDh8MCk+PjJdfDA7bz0rcFt1KyhuPDw0KSs4Pj4zXTtvPShm
WzQ4MzMxXXwwKT09MD9vOitwWzI0MDMxXS1vO3BbUz4+M109K3BbdSsobjw8NCk+PjNdO3BbUys4
Pj4zXT1vO2QkKEUsMTExMDIxLFMpfDA7ZHgoRixFKXwwO249bisxfDB9cT1xKzF8MH1pPWZbQT4+
Ml18MDtpZihpPj4+MD49KGZbQj4+Ml18MCk+Pj4wKXtieChGLDEpfDA7aT1mW0E+PjJdfDB9Yltp
Pj4wXT0wO2k9ZltGPj4yXXwwO2ZbQT4+Ml09aTtJeChzLDExMDk0OSxpKXwwO2k9ZltyPj4yXXww
O2w9ZltpKzk2Pj4yXXwwO2lmKGwpe289K3BbbCs2ND4+M107bz0oZls0ODMzMV18MCk9PTA/bzor
cFsyNDAzMV0tbztwW1Q+PjNdPStwW2wrNTY+PjNdO3BbVCs4Pj4zXT1vO2QkKEUsMTExMDIxLFQp
fDA7SXgocywxMTA5NjMsRSl8MDtpPWZbcj4+Ml18MH1sPWZbaSsxMDg+PjJdfDA7ZG8gaWYobCl7
aWYoIShiW2wrODE+PjBdfDApKWJyZWFrO289K3BbbCs2ND4+M107bz0oZls0ODMzMV18MCk9PTA/
bzorcFsyNDAzMV0tbztwW1U+PjNdPStwW2wrNTY+PjNdO3BbVSs4Pj4zXT1vO2QkKEUsMTExMDIx
LFUpfDA7SXgocywxMTA5NTksRSl8MDtpPWZbcj4+Ml18MH13aGlsZSgwKTtsPWZbaSsxMDA+PjJd
fDA7aWYobCl7bz0rcFtsKzY0Pj4zXTtvPShmWzQ4MzMxXXwwKT09MD9vOitwWzI0MDMxXS1vO3Bb
Vj4+M109K3BbbCs1Nj4+M107cFtWKzg+PjNdPW87ZCQoRSwxMTEwMjEsVil8MDtJeChzLDExMDk2
NixFKXwwO2k9ZltyPj4yXXwwfWk9ZltpKzEwND4+Ml18MDtpZighaSlicmVhaztvPStwW2krNjQ+
PjNdO289KGZbNDgzMzFdfDApPT0wP286K3BbMjQwMzFdLW87cFtXPj4zXT0rcFtpKzU2Pj4zXTtw
W1crOD4+M109bztkJChFLDExMTAyMSxXKXwwO0l4KHMsMTEwOTc0LEUpfDB9d2hpbGUoMCk7cz1Q
eChhLHMpfDB9fWVsc2UgaD11O3doaWxlKDApO3U9aDt5PWF6KGEseSl8MH1DSShhLHoseCx3LHYp
O2V4KEYpO2lmKGRbKGZbRz4+Ml18MCkrMTM2Pj4xXSYxKU9NKGEpO2ZbYz4+Ml09ZztmW2U+PjJd
PXU7TEcoMCk7dD1ZO3JldHVybn1mdW5jdGlvbiBCSShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7
dmFyIGQ9MCxlPTAuMCxnPTAuMCxoPTAuMCxpPTAsaj0wLGs9MCxsPTAsbT0wLjA7bD10O3Q9dCsx
MDU2fDA7aj1sKzEwMjR8MDtpPWw7az1iKzQ4fDA7aWYoIShmW2s+PjJdfDApKXtkPWZbYSsxNj4+
Ml18MDtoPStwW2QrMTY+PjNdO2lmKCEoZls0ODMzMV18MCkpe2c9K3BbZCsyND4+M107ZT1nKyAr
cFtiKzI0Pj4zXTtnPStwW2IrNDA+PjNdK2d9ZWxzZXttPStwWzI0MDMxXTtnPStwW2QrMjQ+PjNd
O2U9bS0rcFtiKzI0Pj4zXS1nO2c9bS0rcFtiKzQwPj4zXS1nfW09K3BbYiszMj4+M10raDtwW2o+
PjNdPWgrICtwW2IrMTY+PjNdO3Bbais4Pj4zXT1lO3BbaisxNj4+M109bTtwW2orMjQ+PjNdPWc7
ZCQoaSwxMTExMDUsail8MDtkeChjLGkpfDB9Yj1iKzU2fDA7ZD0wO3doaWxlKDEpe2lmKChkfDAp
Pj0oZltrPj4yXXwwKSlicmVhaztCSShhLGZbKGZbYj4+Ml18MCkrKGQ8PDIpPj4yXXwwLGMpO2Q9
ZCsxfDB9dD1sO3JldHVybn1mdW5jdGlvbiBDSShhLGMsZCxlLGcpe2E9YXwwO2M9Y3wwO2Q9ZHww
O2U9ZXwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MC4wLGs9MC4wLGw9MCxtPTAsbj0wLG89MCxxPTAs
cj0wLHM9MC4wO3I9dDt0PXQrMTA4OHwwO209cisxMDgwfDA7bz1yKzEwNzJ8MDtuPXIrMTA1Nnww
O2k9cisxMDI0fDA7bD1yO3E9YSsxNnwwO2g9ZltxPj4yXXwwO2lmKCEoZls0ODMzMV18MCkpe2o9
K3BbaCsyND4+M107az0rcFtoKzQwPj4zXX1lbHNle2s9K3BbMjQwMzFdO2o9ay0rcFtoKzI0Pj4z
XTtrPWstK3BbaCs0MD4+M119cz0rcFtoKzMyPj4zXTtwW2k+PjNdPStwW2grMTY+PjNdO3BbaSs4
Pj4zXT1qO3BbaSsxNj4+M109cztwW2krMjQ+PjNdPWs7ZCQobCwxMTEwODAsaSl8MDtBeChhLGMs
bCl8MDtoPWZbKGZbcT4+Ml18MCkrMTI+PjJdfDA7aWYoaHwwP2JbZltoPj4yXT4+MF18MDowKXtz
PStwW2grNjQ+PjNdO3M9KGZbNDgzMzFdfDApPT0wP3M6K3BbMjQwMzFdLXM7cFtuPj4zXT0rcFto
KzU2Pj4zXTtwW24rOD4+M109cztkJChsLDExMTAyMSxuKXwwO0F4KGEsZCxsKXwwO249ZlsoZltx
Pj4yXXwwKSsxMj4+Ml18MDtzPStwW24rMzI+PjNdO3Bbbz4+M109K3BbbisyND4+M10qLjAxMzg4
ODg4ODg4ODg4ODg4ODtkJChsLDExMTEwMCxvKXwwO0F4KGEsZSxsKXwwO3BbbT4+M109cyouMDEz
ODg4ODg4ODg4ODg4ODg4O2QkKGwsMTExMTAwLG0pfDA7QXgoYSxnLGwpfDB9aD0xO3doaWxlKDEp
e2k9ZltxPj4yXXwwO2lmKChofDApPihmW2krMTgwPj4yXXwwKSlicmVhaztDSShmWyhmW2krMTg0
Pj4yXXwwKSsoaDw8Mik+PjJdfDAsYyxkLGUsZyk7aD1oKzF8MH10PXI7cmV0dXJufWZ1bmN0aW9u
IERJKGEpe2E9YXwwO3ZhciBiPTA7Yj10O3Q9dCsxNnwwO0FJKGEsYixiKzR8MCk7dD1iO3JldHVy
bn1mdW5jdGlvbiBFSSgpe3JldHVybiBMdyg3MjY5MixmWzE4MDAxXXwwKXwwfWZ1bmN0aW9uIEZJ
KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtNXyhiKTtyZXR1cm59ZnVuY3Rpb24gR0koYSxiLGMs
ZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7YT1mW2I+PjJdfDA7ZD1mW2M+PjJdfDA7aWYoKGF8
MCk8PShkfDApKWlmKChhfDApPChkfDApKWE9LTE7ZWxzZXtiPWZbYis0Pj4yXXwwO2M9ZltjKzQ+
PjJdfDA7cmV0dXJuICgoYnwwKT4oY3wwKT8xOigoYnwwKTwoY3wwKSk8PDMxPj4zMSl8MH1lbHNl
IGE9MTtyZXR1cm4gYXwwfWZ1bmN0aW9uIEhJKGEpe2E9YXwwO0h3KGEpfDA7cmV0dXJufWZ1bmN0
aW9uIElJKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTA7Yz10O3Q9dCsxNnwwO2Q9YztmW2Q+
PjJdPWZbYj4+Ml07ZltkKzQ+PjJdPWZbYis0Pj4yXTtiPUpJKGQpfDA7aWYoKHdiW2ZbYT4+Ml0m
NjNdKGEsYiwxKXwwKSE9KGJ8MCkpTV8oYik7dD1jO3JldHVybn1mdW5jdGlvbiBKSShhKXthPWF8
MDt2YXIgYj0wLGM9MCxkPTA7Yj1ESCgxNil8MDtkPWE7Yz1mW2QrND4+Ml18MDthPWIrOHwwO2Zb
YT4+Ml09ZltkPj4yXTtmW2ErND4+Ml09YztyZXR1cm4gYnwwfWZ1bmN0aW9uIEtJKGEsYixjKXth
PWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTA7ZD10O3Q9dCsxNnwwO2U9ZCs4fDA7Zz1k
O2ZbZz4+Ml09YjtmW2crND4+Ml09YztmW2U+PjJdPWZbZz4+Ml07ZltlKzQ+PjJdPWZbZys0Pj4y
XTtiPUpJKGUpfDA7aWYoKHdiW2ZbYT4+Ml0mNjNdKGEsYiwxKXwwKSE9KGJ8MCkpTV8oYik7dD1k
O3JldHVybn1mdW5jdGlvbiBMSShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTA7
Yz10O3Q9dCsxNnwwO2Q9YztnPWI7ZT1mW2crND4+Ml18MDtiPWQrOHwwO2ZbYj4+Ml09ZltnPj4y
XTtmW2IrND4+Ml09ZTtiPSh3YltmW2E+PjJdJjYzXShhLGQsNCl8MCkhPTAmMTt0PWM7cmV0dXJu
IGJ8MH1mdW5jdGlvbiBNSShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZD10
O3Q9dCsxNnwwO2U9ZDtmW2UrOD4+Ml09YjtmW2UrMTI+PjJdPWM7Yz0od2JbZlthPj4yXSY2M10o
YSxlLDQpfDApIT0wJjE7dD1kO3JldHVybiBjfDB9ZnVuY3Rpb24gTkkoYSl7YT1hfDA7cmV0dXJu
IE53KGEpfDB9ZnVuY3Rpb24gT0koYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTA7Yz1E
SCgoTncoYSl8MCk8PDMpfDA7Yj1jO2E9SncoYSl8MDt3aGlsZSgxKXtpZighYSlicmVhaztnPWEr
OHwwO2U9ZltnKzQ+PjJdfDA7ZD1iO2ZbZD4+Ml09ZltnPj4yXTtmW2QrND4+Ml09ZTtiPWIrOHww
O2E9ZlthPj4yXXwwfXJldHVybiBjfDB9ZnVuY3Rpb24gUEkoKXt2YXIgYT0wLGI9MCxjPTAsZD0w
O2E9RUgoNDApfDA7Yj1hO2M9NzI3Mjg7ZD1iKzM2fDA7ZG97ZltiPj4yXT1mW2M+PjJdO2I9Yis0
fDA7Yz1jKzR8MH13aGlsZSgoYnwwKTwoZHwwKSk7ZlthKzM2Pj4yXT0wO3JldHVybiBMdyhhLGZb
MTgwMDFdfDApfDB9ZnVuY3Rpb24gUUkoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAs
ZT0wO2M9YyszNnwwO2E9ZltjPj4yXXwwO2lmKCFhKWE9RUgoMjApfDA7ZWxzZSBmW2M+PjJdPWZb
YT4+Ml07ZT1iKzh8MDtkPWZbZSs0Pj4yXXwwO2M9YSs4fDA7ZltjPj4yXT1mW2U+PjJdO2ZbYys0
Pj4yXT1kO2ZbYSsxNj4+Ml09ZltiKzE2Pj4yXTtyZXR1cm4gYXwwfWZ1bmN0aW9uIFJJKGEsYixj
KXthPWF8MDtiPWJ8MDtjPWN8MDtjPWMrMzZ8MDtmW2I+PjJdPWZbYz4+Ml07ZltjPj4yXT1iO3Jl
dHVybn1mdW5jdGlvbiBTSShhKXthPWF8MDt3YltmW2E+PjJdJjYzXShhLDAsNjQpfDA7cmV0dXJu
fWZ1bmN0aW9uIFRJKGEpe2E9YXwwO3ZhciBiPTAsYz0wO2I9ZlthKzQ+PjJdfDA7SHcoYSl8MDth
PWZbYiszNj4+Ml18MDt3aGlsZSgxKXtpZighYSlicmVhaztjPWZbYT4+Ml18MDtNXyhhKTthPWN9
TV8oYik7cmV0dXJufWZ1bmN0aW9uIFVJKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHww
O3ZhciBlPTAsZz0wO2U9dDt0PXQrMzJ8MDtnPWU7ZltnKzg+PjJdPWI7ZltnKzEyPj4yXT1jO2Zb
ZysxNj4+Ml09ZDtkPSh3YltmW2E+PjJdJjYzXShhLGcsMSl8MCkrMTZ8MDt0PWU7cmV0dXJuIGZb
ZD4+Ml18MH1mdW5jdGlvbiBWSShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLjAsZT0wLjAs
Zz0wLjAsaD0wLjAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0wO3M9dDt0
PXQrMTYwfDA7bz1zKzE0NHwwO2M9cys0OHwwO2k9cysxMjh8MDtqPXMrMTEyfDA7az1zKzk2fDA7
bD1zKzgwfDA7bT1zKzMyfDA7bj1zKzE2fDA7cT1zO3I9YSsxNnwwO2E9ZltyPj4yXXwwO2Q9K3Bb
YSsxNj4+M107ZT0rcFthKzI0Pj4zXTtnPStwW2ErMzI+PjNdO2g9K3BbYSs0MD4+M107aWYoKGIr
LTF8MCk+Pj4wPDIpe1dJKGksZCxoKTtmW28+PjJdPWZbaT4+Ml07ZltvKzQ+PjJdPWZbaSs0Pj4y
XTtmW28rOD4+Ml09ZltpKzg+PjJdO2ZbbysxMj4+Ml09ZltpKzEyPj4yXTtYSShjLG8pO249Yysx
NnwwO1dJKGosZyxlKTtmW28+PjJdPWZbaj4+Ml07ZltvKzQ+PjJdPWZbais0Pj4yXTtmW28rOD4+
Ml09ZltqKzg+PjJdO2ZbbysxMj4+Ml09ZltqKzEyPj4yXTtYSShrLG8pO2Zbbj4+Ml09ZltrPj4y
XTtmW24rND4+Ml09ZltrKzQ+PjJdO2Zbbis4Pj4yXT1mW2srOD4+Ml07ZltuKzEyPj4yXT1mW2sr
MTI+PjJdfWVsc2V7V0kobCxkLGUpO2Zbbz4+Ml09ZltsPj4yXTtmW28rND4+Ml09ZltsKzQ+PjJd
O2Zbbys4Pj4yXT1mW2wrOD4+Ml07ZltvKzEyPj4yXT1mW2wrMTI+PjJdO1hJKGMsbyk7bD1jKzE2
fDA7V0kobSxnLGgpO2Zbbz4+Ml09ZlttPj4yXTtmW28rND4+Ml09ZlttKzQ+PjJdO2Zbbys4Pj4y
XT1mW20rOD4+Ml07ZltvKzEyPj4yXT1mW20rMTI+PjJdO1hJKG4sbyk7ZltsPj4yXT1mW24+PjJd
O2ZbbCs0Pj4yXT1mW24rND4+Ml07ZltsKzg+PjJdPWZbbis4Pj4yXTtmW2wrMTI+PjJdPWZbbisx
Mj4+Ml19YT0oZltyPj4yXXwwKSsxNnwwO2ZbYT4+Ml09ZltjPj4yXTtmW2ErND4+Ml09ZltjKzQ+
PjJdO2ZbYSs4Pj4yXT1mW2MrOD4+Ml07ZlthKzEyPj4yXT1mW2MrMTI+PjJdO2ZbYSsxNj4+Ml09
ZltjKzE2Pj4yXTtmW2ErMjA+PjJdPWZbYysyMD4+Ml07ZlthKzI0Pj4yXT1mW2MrMjQ+PjJdO2Zb
YSsyOD4+Ml09ZltjKzI4Pj4yXTthPWZbKGZbcj4+Ml18MCkrMTI+PjJdfDA7aWYoYXwwKXtuPWEr
NTZ8MDtmW28+PjJdPWZbbj4+Ml07ZltvKzQ+PjJdPWZbbis0Pj4yXTtmW28rOD4+Ml09ZltuKzg+
PjJdO2ZbbysxMj4+Ml09ZltuKzEyPj4yXTtYSShxLG8pO2Zbbj4+Ml09ZltxPj4yXTtmW24rND4+
Ml09ZltxKzQ+PjJdO2Zbbis4Pj4yXT1mW3ErOD4+Ml07ZltuKzEyPj4yXT1mW3ErMTI+PjJdfWE9
MTt3aGlsZSgxKXtjPWZbcj4+Ml18MDtpZigoYXwwKT4oZltjKzE4MD4+Ml18MCkpYnJlYWs7Vkko
ZlsoZltjKzE4ND4+Ml18MCkrKGE8PDIpPj4yXXwwLGIpO2E9YSsxfDB9dD1zO3JldHVybn1mdW5j
dGlvbiBXSShhLGIsYyl7YT1hfDA7Yj0rYjtjPStjO3BbYT4+M109YjtwW2ErOD4+M109YztyZXR1
cm59ZnVuY3Rpb24gWEkoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wO2M9dDt0
PXQrMzJ8MDtnPWMrMTZ8MDtkPWM7ZT0oZls0ODQxOF18MCkqOTB8MDtmW2c+PjJdPWZbYj4+Ml07
ZltnKzQ+PjJdPWZbYis0Pj4yXTtmW2crOD4+Ml09ZltiKzg+PjJdO2ZbZysxMj4+Ml09ZltiKzEy
Pj4yXTtnSChkLGcsZSk7ZltiPj4yXT1mW2Q+PjJdO2ZbYis0Pj4yXT1mW2QrND4+Ml07ZltiKzg+
PjJdPWZbZCs4Pj4yXTtmW2IrMTI+PjJdPWZbZCsxMj4+Ml07cFtiPj4zXT0rcFtiPj4zXS0rcFsy
NDAzM107ZD1iKzh8MDtwW2Q+PjNdPStwW2Q+PjNdLStwWzI0MDM0XTtmW2E+PjJdPWZbYj4+Ml07
ZlthKzQ+PjJdPWZbYis0Pj4yXTtmW2ErOD4+Ml09ZltiKzg+PjJdO2ZbYSsxMj4+Ml09ZltiKzEy
Pj4yXTt0PWM7cmV0dXJufWZ1bmN0aW9uIFlJKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAu
MCxnPTAsaD0wLGk9MC4wLGo9MC4wLGs9MCxsPTAuMCxtPTAsbj0wLG89MCxxPTAscj0wLHM9MCx1
PTAsdj0wLHc9MCx4PTAuMDt3PXQ7dD10KzExNjh8MDtyPXc7dj13KzExMjB8MDt1PXcrMTA4OHww
O3M9dysxMDcyfDA7bT13KzEwNTZ8MDtuPXcrMTA0MHwwO289dysxMDI0fDA7ZltzPj4yXT0wO2Zb
cys0Pj4yXT0wO2Zbcys4Pj4yXT0wO2ZbcysxMj4+Ml09MDtxPWErMTZ8MDtrPWZbKGZbcT4+Ml18
MCkrMTE2Pj4yXXwwO2ZbNDg0MThdPWsmMztrPWsmMTtiWzE5NDg2OF09aztpZighKGs8PDI0Pj4y
NCkpX0koYSk7ZWxzZSBaSShhKTskSShhKTtrPWZbcT4+Ml18MDtkPWZbaysxMj4+Ml18MDtkbyBp
ZihkfDA/KGJbZCs4MT4+MF18MCk9PTA6MCl7Zz1kKzI0fDA7ZltzPj4yXT1mW2c+PjJdO2Zbcys0
Pj4yXT1mW2crND4+Ml07ZltzKzg+PjJdPWZbZys4Pj4yXTtmW3MrMTI+PjJdPWZbZysxMj4+Ml07
bD0rcFtzPj4zXSsxNi4wO3Bbcz4+M109bDtnPXMrOHwwO2U9K3BbZz4+M10rOC4wO3BbZz4+M109
ZTtnPShiW2srMjc1Pj4wXSYxKSE9MDtpZihiWzE5NDg2OF18MCl7aWYoZyl7aD1rKzMyfDA7cFto
Pj4zXT0rcFtoPj4zXStlfWVsc2V7aD1rKzE2fDA7cFtoPj4zXT0rcFtoPj4zXS1lfWc9ays0MHww
O2U9K3BbZz4+M107aD1rKzI0fDA7aT0rcFtoPj4zXTt4PWUtaTtqPShsLXgpKi41O2lmKCEobD54
KSlicmVhaztwW2g+PjNdPWktajtwW2c+PjNdPWorZTticmVha31oPShmWzQ4NDE4XXwwKT09MDtk
byBpZihnKWlmKGgpe2g9ays0MHwwO3BbaD4+M109K3BbaD4+M10rZTticmVha31lbHNle2g9aysy
NHwwO3BbaD4+M109K3BbaD4+M10tZTticmVha31lbHNlIGlmKGgpe2g9aysyNHwwO3BbaD4+M109
K3BbaD4+M10tZTticmVha31lbHNle2g9ays0MHwwO3BbaD4+M109K3BbaD4+M10rZTticmVha313
aGlsZSgwKTtnPWsrMzJ8MDtlPStwW2c+PjNdO2g9aysxNnwwO2k9K3BbaD4+M107eD1lLWk7aj0o
bC14KSouNTtpZihsPngpe3BbaD4+M109aS1qO3BbZz4+M109aitlfX13aGlsZSgwKTtpZihjKXtz
d2l0Y2goZls0ODQxOF18MCl7Y2FzZSAwOntvPWsrMTZ8MDtmWzQ4MDY2XT1mW28+PjJdO2ZbNDgw
NjddPWZbbys0Pj4yXTtmWzQ4MDY4XT1mW28rOD4+Ml07Zls0ODA2OV09ZltvKzEyPj4yXTticmVh
a31jYXNlIDE6e1dJKG0sLStwW2srNDA+PjNdLCtwW2srMTY+PjNdKTtmWzQ4MDY2XT1mW20+PjJd
O2ZbNDgwNjddPWZbbSs0Pj4yXTtmWzQ4MDY4XT1mW20rOD4+Ml07Zls0ODA2OV09ZlttKzEyPj4y
XTticmVha31jYXNlIDI6e1dJKG4sK3BbaysxNj4+M10sLStwW2srNDA+PjNdKTtmWzQ4MDY2XT1m
W24+PjJdO2ZbNDgwNjddPWZbbis0Pj4yXTtmWzQ4MDY4XT1mW24rOD4+Ml07Zls0ODA2OV09Zltu
KzEyPj4yXTticmVha31jYXNlIDM6e1dJKG8sK3BbaysyND4+M10sK3BbaysxNj4+M10pO2ZbNDgw
NjZdPWZbbz4+Ml07Zls0ODA2N109ZltvKzQ+PjJdO2ZbNDgwNjhdPWZbbys4Pj4yXTtmWzQ4MDY5
XT1mW28rMTI+PjJdO2JyZWFrfWRlZmF1bHQ6e319YUooYSk7ZD1mWyhmW3E+PjJdfDApKzEyPj4y
XXwwfWlmKGR8MD8oYltkKzgxPj4wXXwwKT09MDowKXtmW3I+PjJdPWZbcz4+Ml07ZltyKzQ+PjJd
PWZbcys0Pj4yXTtmW3IrOD4+Ml09ZltzKzg+PjJdO2ZbcisxMj4+Ml09ZltzKzEyPj4yXTtiSihh
LHIpfWlmKCEwKXt0PXc7cmV0dXJufWlmKCEoYlsxOTQ4NjhdfDApKXt4PStwWzI0MDM0XTtsPStw
WzI0MDMzXTtwW3Y+PjNdPXg7cFt2Kzg+PjNdPWw7cFt2KzE2Pj4zXT14O3BbdisyND4+M109bDtw
W3YrMzI+PjNdPS1sO3Bbdis0MD4+M109LXg7ZCQociwxMTEzNDEsdil8MH1lbHNle2w9K3BbMjQw
MzNdO3g9K3BbMjQwMzRdO3BbdT4+M109bDtwW3UrOD4+M109eDtwW3UrMTY+PjNdPWw7cFt1KzI0
Pj4zXT14O2QkKHIsMTExMTI2LHUpfDB9djIocil8MDtpYigpfWZ1bmN0aW9uIFpJKGEpe2E9YXww
O3ZhciBjPTAsZD0wLjAsZT0wLjAsZz0wLGg9MCxpPTA7aT1hKzE2fDA7aWYoKChveihhKXwwKSE9
KGF8MCk/KGc9ZltpPj4yXXwwLGg9ZltnKzEyPj4yXXwwLGh8MCk6MCk/KGJbaCs4MT4+MF18MCk9
PTA6MCl7Yz1iW2crMjc1Pj4wXXwwO2lmKCEoYyYxKSl7ZT0rcFtnKzE2Pj4zXSsgK3BbZys5Nj4+
M10qLjU7YT1nKzEwNHwwfWVsc2V7ZT0rcFtnKzMyPj4zXS0rcFtnKzY0Pj4zXSouNTthPWcrNzJ8
MH1kPStwW2E+PjNdO2E9Yzw8MjQ+PjI0O2RvIGlmKCEoYSY0KSlpZighKGEmMikpe2Q9KCtwW2cr
NDA+PjNdKyArcFtnKzI0Pj4zXSkqLjU7YnJlYWt9ZWxzZXtkPStwW2crNDA+PjNdLWQqLjU7YnJl
YWt9ZWxzZSBkPStwW2crMjQ+PjNdK2QqLjU7d2hpbGUoMCk7cFtoKzU2Pj4zXT1lO3BbaCs2ND4+
M109ZDtiWyhmWyhmW2k+PjJdfDApKzEyPj4yXXwwKSs4MT4+MF09MX1hPTE7d2hpbGUoMSl7Yz1m
W2k+PjJdfDA7aWYoKGF8MCk+KGZbYysxODA+PjJdfDApKWJyZWFrO1pJKGZbKGZbYysxODQ+PjJd
fDApKyhhPDwyKT4+Ml18MCk7YT1hKzF8MH1yZXR1cm59ZnVuY3Rpb24gX0koYSl7YT1hfDA7dmFy
IGM9MCxkPTAuMCxlPTAuMCxnPTAuMCxoPTAsaT0wLGo9MDtqPWErMTZ8MDtpZigoKG96KGEpfDAp
IT0oYXwwKT8oaD1mW2o+PjJdfDAsaT1mW2grMTI+PjJdfDAsaXwwKTowKT8oYltpKzgxPj4wXXww
KT09MDowKXtjPWJbaCsyNzU+PjBdfDA7aWYoIShjJjEpKXthPWgrNDh8MDtnPStwW2grMjQ+PjNd
KyArcFtoKzU2Pj4zXSouNX1lbHNle2E9aCs4MHwwO2c9K3BbaCs0MD4+M10tK3BbaCs4OD4+M10q
LjV9ZT0rcFthPj4zXTthPWM8PDI0Pj4yNDtkbyBpZighKGEmNCkpe2Q9K3BbaCsxNj4+M107aWYo
IShhJjIpKXtkPSgrcFtoKzMyPj4zXStkKSouNTticmVha31lbHNle2Q9ZCtlKi41O2JyZWFrfX1l
bHNlIGQ9K3BbaCszMj4+M10tZSouNTt3aGlsZSgwKTtwW2krNTY+PjNdPWQ7cFtpKzY0Pj4zXT1n
O2JbKGZbKGZbaj4+Ml18MCkrMTI+PjJdfDApKzgxPj4wXT0xfWE9MTt3aGlsZSgxKXtjPWZbaj4+
Ml18MDtpZigoYXwwKT4oZltjKzE4MD4+Ml18MCkpYnJlYWs7X0koZlsoZltjKzE4ND4+Ml18MCkr
KGE8PDIpPj4yXXwwKTthPWErMXwwfXJldHVybn1mdW5jdGlvbiAkSShhKXthPWF8MDt2YXIgYz0w
LGU9MCxnPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx1PTAs
dj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxK
PTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTA7Uz10O3Q9dCs1NDR8MDtMPVMr
NTA0fDA7Uj1TKzQxNnwwO1E9UyszNzZ8MDtLPVMrMzUyfDA7Sj1TKzMxMnwwO0k9UysyODh8MDtI
PVMrMjQ4fDA7TT1TKzIwMHwwO0I9UysxNTJ8MDtPPVMrOTZ8MDtvPVMrNDg4fDA7Qz1TKzQ1Nnww
O0Q9Uys0MjR8MDtFPVMrMzg0fDA7Rj1TKzM2MHwwO0c9UyszMjB8MDt3PVMrMjk2fDA7eD1TKzI1
NnwwO3k9UysyMzJ8MDt6PVMrMTY4fDA7QT1TKzEzNnwwO2M9Uys1NnwwO049UysxNnwwO1A9Uztu
PWErMTZ8MDt1PWZbbj4+Ml18MDtlPWRbdSsxMzY+PjFdJjE0O3U9aFt1KzExMz4+MF18MDtpZigh
KCh1JjU0fDApPT0wPyh1JjF8MCk9PTB8KGZbNDgzMzBdfDApIT0wOjApKXt1PWU8PDE2Pj4xNj09
MDttPSR5KGEpfDA7Zz0wO2o9MDtpPTA7d2hpbGUoMSl7aWYoIW0pYnJlYWs7ZT1mWyhmW20rMTY+
PjJdfDApKzEwOD4+Ml18MDtkbyBpZihlKWlmKCEoYltlKzgxPj4wXXwwKSl7aT1pKzF8MDticmVh
a31lbHNle2c9ZysxfDA7YnJlYWt9d2hpbGUoMCk7bD1OeChhLG0pfDA7ZT1qO3doaWxlKDEpe2lm
KCFsKWJyZWFrO2s9ZltsKzE2Pj4yXXwwO2o9ZltrKzEwOD4+Ml18MDtkbyBpZihqKXtpZihiW2or
ODE+PjBdfDApe2c9ZysxfDA7YnJlYWt9aWYoIXUpZT1lKygoZltrKzg+PjJdfDApIT0wJjEpfDB9
d2hpbGUoMCk7aj1mW2srMTAwPj4yXXwwO2RvIGlmKGope2lmKGJbais4MT4+MF18MCl7Zz1nKzF8
MDticmVha31pZighdSllPWUrKChmW2srOD4+Ml18MCkhPTAmMSl8MH13aGlsZSgwKTtqPWZbaysx
MDQ+PjJdfDA7ZG8gaWYoail7aWYoYltqKzgxPj4wXXwwKXtnPWcrMXwwO2JyZWFrfWlmKCF1KWU9
ZSsoKGZbays4Pj4yXXwwKSE9MCYxKXwwfXdoaWxlKDApO2o9ZltrKzk2Pj4yXXwwO2RvIGlmKGop
e2lmKGJbais4MT4+MF18MCl7Zz1nKzF8MDticmVha31pZighdSllPWUrKChmW2srOD4+Ml18MCkh
PTAmMSl8MH13aGlsZSgwKTtsPVB4KGEsbCl8MH1tPWF6KGEsbSl8MDtqPWV9aWYoIShiWyhmW24+
PjJdfDApKzExMz4+MF0mOCkpbj0wO2Vsc2Ugbj1kSihhKXwwO3M9aitpfDA7aWYoc3wwKXtwPWcr
aituKyhqeShhKXwwKXwwO3E9REgocCo0MHwwKXwwO3I9REgocyo0MHwwKXwwO1dJKE0sMjE0NzQ4
MzY0Ny4wLDIxNDc0ODM2NDcuMCk7ZT1NKzE2fDA7V0kobywtMjE0NzQ4MzY0Ny4wLC0yMTQ3NDgz
NjQ3LjApO2ZbZT4+Ml09ZltvPj4yXTtmW2UrND4+Ml09ZltvKzQ+PjJdO2ZbZSs4Pj4yXT1mW28r
OD4+Ml07ZltlKzEyPj4yXT1mW28rMTI+PjJdO2U9cjtpPXE7bT0keShhKXwwO3doaWxlKDEpe2lm
KCFtKWJyZWFrO2ZbTD4+Ml09ZltNPj4yXTtmW0wrND4+Ml09ZltNKzQ+PjJdO2ZbTCs4Pj4yXT1m
W00rOD4+Ml07ZltMKzEyPj4yXT1mW00rMTI+PjJdO2ZbTCsxNj4+Ml09ZltNKzE2Pj4yXTtmW0wr
MjA+PjJdPWZbTSsyMD4+Ml07ZltMKzI0Pj4yXT1mW00rMjQ+PjJdO2ZbTCsyOD4+Ml09ZltNKzI4
Pj4yXTtlSihDLG0saSxMKTtmW00+PjJdPWZbQz4+Ml07ZltNKzQ+PjJdPWZbQys0Pj4yXTtmW00r
OD4+Ml09ZltDKzg+PjJdO2ZbTSsxMj4+Ml09ZltDKzEyPj4yXTtmW00rMTY+PjJdPWZbQysxNj4+
Ml07ZltNKzIwPj4yXT1mW0MrMjA+PjJdO2ZbTSsyND4+Ml09ZltDKzI0Pj4yXTtmW00rMjg+PjJd
PWZbQysyOD4+Ml07Zz1mWyhmW20rMTY+PjJdfDApKzEwOD4+Ml18MDtkbyBpZihnKWlmKCEoYltn
KzgxPj4wXXwwKSl7ZltMPj4yXT1mW0I+PjJdO2ZbTCs0Pj4yXT1mW0IrND4+Ml07ZltMKzg+PjJd
PWZbQis4Pj4yXTtmW0wrMTI+PjJdPWZbQisxMj4+Ml07Z0ooZyxpLGUsMCxMKTtlPWUrNDB8MDti
cmVha31lbHNle2k9aSs0MHwwO2ZbTD4+Ml09ZltNPj4yXTtmW0wrND4+Ml09ZltNKzQ+PjJdO2Zb
TCs4Pj4yXT1mW00rOD4+Ml07ZltMKzEyPj4yXT1mW00rMTI+PjJdO2ZbTCsxNj4+Ml09ZltNKzE2
Pj4yXTtmW0wrMjA+PjJdPWZbTSsyMD4+Ml07ZltMKzI0Pj4yXT1mW00rMjQ+PjJdO2ZbTCsyOD4+
Ml09ZltNKzI4Pj4yXTtmSihELGcsaSxMKTtmW00+PjJdPWZbRD4+Ml07ZltNKzQ+PjJdPWZbRCs0
Pj4yXTtmW00rOD4+Ml09ZltEKzg+PjJdO2ZbTSsxMj4+Ml09ZltEKzEyPj4yXTtmW00rMTY+PjJd
PWZbRCsxNj4+Ml07ZltNKzIwPj4yXT1mW0QrMjA+PjJdO2ZbTSsyND4+Ml09ZltEKzI0Pj4yXTtm
W00rMjg+PjJdPWZbRCsyOD4+Ml07YnJlYWt9d2hpbGUoMCk7bD1OeChhLG0pfDA7aT1pKzQwfDA7
d2hpbGUoMSl7aWYoIWwpYnJlYWs7az1sKzE2fDA7Zz1mW2s+PjJdfDA7aj1mW2crOTY+PjJdfDA7
YTpkbyBpZighail2PTUyO2Vsc2V7ZG8gaWYoIShiW2orODE+PjBdfDApKXtpZighdT9mW2crOD4+
Ml18MDowKXtwTChGLGEsbCk7ZltMPj4yXT1mW0Y+PjJdO2ZbTCs0Pj4yXT1mW0YrND4+Ml07ZltM
Kzg+PjJdPWZbRis4Pj4yXTtmW0wrMTI+PjJdPWZbRisxMj4+Ml07Z0ooaixpLGUsMSxMKTtlPWUr
NDB8MDticmVha31mW0g+PjJdPWZbaj4+Ml07WXcoMCwxMTIxNTMsSCl8MDticmVhayBhfWVsc2V7
ZltMPj4yXT1mW00+PjJdO2ZbTCs0Pj4yXT1mW00rND4+Ml07ZltMKzg+PjJdPWZbTSs4Pj4yXTtm
W0wrMTI+PjJdPWZbTSsxMj4+Ml07ZltMKzE2Pj4yXT1mW00rMTY+PjJdO2ZbTCsyMD4+Ml09ZltN
KzIwPj4yXTtmW0wrMjQ+PjJdPWZbTSsyND4+Ml07ZltMKzI4Pj4yXT1mW00rMjg+PjJdO2ZKKEUs
aixpLEwpO2ZbTT4+Ml09ZltFPj4yXTtmW00rND4+Ml09ZltFKzQ+PjJdO2ZbTSs4Pj4yXT1mW0Ur
OD4+Ml07ZltNKzEyPj4yXT1mW0UrMTI+PjJdO2ZbTSsxNj4+Ml09ZltFKzE2Pj4yXTtmW00rMjA+
PjJdPWZbRSsyMD4+Ml07ZltNKzI0Pj4yXT1mW0UrMjQ+PjJdO2ZbTSsyOD4+Ml09ZltFKzI4Pj4y
XX13aGlsZSgwKTtpPWkrNDB8MDtnPWZbaz4+Ml18MDt2PTUyfXdoaWxlKDApO2I6ZG8gaWYoKHZ8
MCk9PTUyKXt2PTA7aj1mW2crMTA0Pj4yXXwwO2lmKGope2RvIGlmKCEoYltqKzgxPj4wXXwwKSl7
aWYoIXU/ZltnKzg+PjJdfDA6MCl7aEoodyxsKTtmW0w+PjJdPWZbdz4+Ml07ZltMKzQ+PjJdPWZb
dys0Pj4yXTtmW0wrOD4+Ml09Zlt3Kzg+PjJdO2ZbTCsxMj4+Ml09Zlt3KzEyPj4yXTtnSihqLGks
ZSwxLEwpO2U9ZSs0MHwwO2JyZWFrfWZbST4+Ml09ZltqPj4yXTtZdygwLDExMjE4OCxJKXwwO2Jy
ZWFrIGJ9ZWxzZXtmW0w+PjJdPWZbTT4+Ml07ZltMKzQ+PjJdPWZbTSs0Pj4yXTtmW0wrOD4+Ml09
ZltNKzg+PjJdO2ZbTCsxMj4+Ml09ZltNKzEyPj4yXTtmW0wrMTY+PjJdPWZbTSsxNj4+Ml07ZltM
KzIwPj4yXT1mW00rMjA+PjJdO2ZbTCsyND4+Ml09ZltNKzI0Pj4yXTtmW0wrMjg+PjJdPWZbTSsy
OD4+Ml07ZkooRyxqLGksTCk7ZltNPj4yXT1mW0c+PjJdO2ZbTSs0Pj4yXT1mW0crND4+Ml07ZltN
Kzg+PjJdPWZbRys4Pj4yXTtmW00rMTI+PjJdPWZbRysxMj4+Ml07ZltNKzE2Pj4yXT1mW0crMTY+
PjJdO2ZbTSsyMD4+Ml09ZltHKzIwPj4yXTtmW00rMjQ+PjJdPWZbRysyND4+Ml07ZltNKzI4Pj4y
XT1mW0crMjg+PjJdfXdoaWxlKDApO2k9aSs0MHwwO2c9ZltrPj4yXXwwfWo9ZltnKzEwMD4+Ml18
MDtpZihqKXtkbyBpZighKGJbais4MT4+MF18MCkpe2lmKCF1P2ZbZys4Pj4yXXwwOjApe2lKKHks
bCk7ZltMPj4yXT1mW3k+PjJdO2ZbTCs0Pj4yXT1mW3krND4+Ml07ZltMKzg+PjJdPWZbeSs4Pj4y
XTtmW0wrMTI+PjJdPWZbeSsxMj4+Ml07Z0ooaixpLGUsMSxMKTtlPWUrNDB8MDticmVha31mW0o+
PjJdPWZbaj4+Ml07WXcoMCwxMTIyMjgsSil8MDticmVhayBifWVsc2V7ZltMPj4yXT1mW00+PjJd
O2ZbTCs0Pj4yXT1mW00rND4+Ml07ZltMKzg+PjJdPWZbTSs4Pj4yXTtmW0wrMTI+PjJdPWZbTSsx
Mj4+Ml07ZltMKzE2Pj4yXT1mW00rMTY+PjJdO2ZbTCsyMD4+Ml09ZltNKzIwPj4yXTtmW0wrMjQ+
PjJdPWZbTSsyND4+Ml07ZltMKzI4Pj4yXT1mW00rMjg+PjJdO2ZKKHgsaixpLEwpO2ZbTT4+Ml09
Zlt4Pj4yXTtmW00rND4+Ml09Zlt4KzQ+PjJdO2ZbTSs4Pj4yXT1mW3grOD4+Ml07ZltNKzEyPj4y
XT1mW3grMTI+PjJdO2ZbTSsxNj4+Ml09Zlt4KzE2Pj4yXTtmW00rMjA+PjJdPWZbeCsyMD4+Ml07
ZltNKzI0Pj4yXT1mW3grMjQ+PjJdO2ZbTSsyOD4+Ml09Zlt4KzI4Pj4yXX13aGlsZSgwKTtpPWkr
NDB8MDtnPWZbaz4+Ml18MH1qPWZbZysxMDg+PjJdfDA7aWYoail7ZG8gaWYoIShiW2orODE+PjBd
fDApKXtpZighdT9mW2crOD4+Ml18MDowKXtwTChBLGEsbCk7ZltMPj4yXT1mW0E+PjJdO2ZbTCs0
Pj4yXT1mW0ErND4+Ml07ZltMKzg+PjJdPWZbQSs4Pj4yXTtmW0wrMTI+PjJdPWZbQSsxMj4+Ml07
Z0ooaixpLGUsMSxMKTtlPWUrNDB8MDticmVha31mW0s+PjJdPWZbaj4+Ml07WXcoMCwxMTIyNjgs
Syl8MDticmVhayBifWVsc2V7ZltMPj4yXT1mW00+PjJdO2ZbTCs0Pj4yXT1mW00rND4+Ml07ZltM
Kzg+PjJdPWZbTSs4Pj4yXTtmW0wrMTI+PjJdPWZbTSsxMj4+Ml07ZltMKzE2Pj4yXT1mW00rMTY+
PjJdO2ZbTCsyMD4+Ml09ZltNKzIwPj4yXTtmW0wrMjQ+PjJdPWZbTSsyND4+Ml07ZltMKzI4Pj4y
XT1mW00rMjg+PjJdO2ZKKHosaixpLEwpO2ZbTT4+Ml09Zlt6Pj4yXTtmW00rND4+Ml09Zlt6KzQ+
PjJdO2ZbTSs4Pj4yXT1mW3orOD4+Ml07ZltNKzEyPj4yXT1mW3orMTI+PjJdO2ZbTSsxNj4+Ml09
Zlt6KzE2Pj4yXTtmW00rMjA+PjJdPWZbeisyMD4+Ml07ZltNKzI0Pj4yXT1mW3orMjQ+PjJdO2Zb
TSsyOD4+Ml09Zlt6KzI4Pj4yXX13aGlsZSgwKTtpPWkrNDB8MH19d2hpbGUoMCk7bD1QeChhLGwp
fDB9bT1heihhLG0pfDB9aWYobnwwKXtmW2M+PjJdPWZbTT4+Ml07ZltjKzQ+PjJdPWZbTSs0Pj4y
XTtmW2MrOD4+Ml09ZltNKzg+PjJdO2ZbYysxMj4+Ml09ZltNKzEyPj4yXTtmW2MrMTY+PjJdPWZb
TSsxNj4+Ml07ZltjKzIwPj4yXT1mW00rMjA+PjJdO2ZbYysyND4+Ml09ZltNKzI0Pj4yXTtmW2Mr
Mjg+PjJdPWZbTSsyOD4+Ml07ZltjKzMyPj4yXT1pO2c9TDtlPWcrNDB8MDtkb3tmW2c+PjJdPWZb
Yz4+Ml07Zz1nKzR8MDtjPWMrNHwwfXdoaWxlKChnfDApPChlfDApKTtqSihOLGEsTCk7ZltNPj4y
XT1mW04+PjJdO2ZbTSs0Pj4yXT1mW04rND4+Ml07ZltNKzg+PjJdPWZbTis4Pj4yXTtmW00rMTI+
PjJdPWZbTisxMj4+Ml07ZltNKzE2Pj4yXT1mW04rMTY+PjJdO2ZbTSsyMD4+Ml09ZltOKzIwPj4y
XTtmW00rMjQ+PjJdPWZbTisyND4+Ml07ZltNKzI4Pj4yXT1mW04rMjg+PjJdfU49WUwoYSx3eChh
LDAsMTEyMzA0LDApfDAsMSl8MDtiW08rMzI+PjBdPU47ZltPPj4yXT1mW00+PjJdO2ZbTys0Pj4y
XT1mW00rND4+Ml07ZltPKzg+PjJdPWZbTSs4Pj4yXTtmW08rMTI+PjJdPWZbTSsxMj4+Ml07ZltP
KzE2Pj4yXT1mW00rMTY+PjJdO2ZbTysyMD4+Ml09ZltNKzIwPj4yXTtmW08rMjQ+PjJdPWZbTSsy
ND4+Ml07ZltPKzI4Pj4yXT1mW00rMjg+PjJdOyRQKHEscCxyLHMsTyl8MDtpZigwKWtKKHEscCxy
LHMsTyk7Yz0wO2U9MDtnPXI7d2hpbGUoMSl7aWYoKGV8MCk+PShzfDApKWJyZWFrO2lmKGJbZysz
Nj4+MF18MCl7Tz1mW2crMzI+PjJdfDA7YltPKzgxPj4wXT0xO049Tys1NnwwO2xKKFAsZyk7ZltO
Pj4yXT1mW1A+PjJdO2ZbTis0Pj4yXT1mW1ArND4+Ml07ZltOKzg+PjJdPWZbUCs4Pj4yXTtmW04r
MTI+PjJdPWZbUCsxMj4+Ml07dE0oYSxPKTtjPWMrMXwwfWU9ZSsxfDA7Zz1nKzQwfDB9aWYoITAp
e2lmKChjfDApIT0oc3wwKSl7ZltSPj4yXT1jO2ZbUis0Pj4yXT1zO1l3KDAsMTEyMzQ5LFIpfDB9
fWVsc2V7Uj1mWzE5NDU3XXwwO2ZbUT4+Ml09YztmW1ErND4+Ml09cztnMihSLDExMjMxNixRKXww
fU1fKHEpO01fKHIpfX10PVM7cmV0dXJufWZ1bmN0aW9uIGFKKGEpe2E9YXwwO3ZhciBiPTAsYz0w
LGQ9MCxlPTAsZz0wLGg9MCxpPTA7aD10O3Q9dCs0OHwwO2Q9aCszMnwwO2U9aCsxNnwwO2c9aDtp
ZigrcFsyNDAzM10hPTAuMHwrcFsyNDAzNF0hPTAuMHwoZls0ODQxOF18MCkhPTApe2M9JHkoYSl8
MDt3aGlsZSgxKXtpZighYylicmVhaztpZihmWzQ4NDE4XXwwKWtOKGMsMCk7Yj1jKzE2fDA7aT0o
ZltiPj4yXXwwKSsxNnwwO2ZbZD4+Ml09ZltpPj4yXTtmW2QrND4+Ml09ZltpKzQ+PjJdO2ZbZCs4
Pj4yXT1mW2krOD4+Ml07ZltkKzEyPj4yXT1mW2krMTI+PjJdO1hJKGUsZCk7ZltpPj4yXT1mW2U+
PjJdO2ZbaSs0Pj4yXT1mW2UrND4+Ml07ZltpKzg+PjJdPWZbZSs4Pj4yXTtmW2krMTI+PjJdPWZb
ZSsxMj4+Ml07Yj1mWyhmW2I+PjJdfDApKzEwOD4+Ml18MDtpZihifDApe2k9Yis1NnwwO2ZbZD4+
Ml09ZltpPj4yXTtmW2QrND4+Ml09ZltpKzQ+PjJdO2ZbZCs4Pj4yXT1mW2krOD4+Ml07ZltkKzEy
Pj4yXT1mW2krMTI+PjJdO1hJKGcsZCk7ZltpPj4yXT1mW2c+PjJdO2ZbaSs0Pj4yXT1mW2crND4+
Ml07ZltpKzg+PjJdPWZbZys4Pj4yXTtmW2krMTI+PjJdPWZbZysxMj4+Ml19YTpkbyBpZigoZls0
ODMyOV18MCk9PTEpe2I9TngoYSxjKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFrIGE7Y0ooYik7Yj1Q
eChhLGIpfDB9fXdoaWxlKDApO2M9YXooYSxjKXwwfVZJKGEsZlsoZlthKzE2Pj4yXXwwKSsxMTY+
PjJdJjMpfXQ9aDtyZXR1cm59ZnVuY3Rpb24gYkooYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLjAs
ZT0wLjAsZz0wLGg9MCxpPTA7aD1hKzE2fDA7aT1mW2g+PjJdfDA7Zz1iW2krMjc1Pj4wXXwwO2E9
Zzw8MjQ+PjI0O2RvIGlmKCEoYSY0KSl7ZD0rcFtpKzE2Pj4zXTtpZighKGEmMikpe2U9KCtwW2kr
MzI+PjNdK2QpKi41O2JyZWFrfWVsc2V7ZT0rcFtjPj4zXSouNStkO2JyZWFrfX1lbHNlIGU9K3Bb
aSszMj4+M10tK3BbYz4+M10qLjU7d2hpbGUoMCk7aWYoIShnJjEpKWQ9K3BbYys4Pj4zXSouNSsg
K3BbaSsyND4+M107ZWxzZSBkPStwW2krNDA+PjNdLStwW2MrOD4+M10qLjU7aT1mW2krMTI+PjJd
fDA7cFtpKzU2Pj4zXT1lO3BbaSs2ND4+M109ZDtiWyhmWyhmW2g+PjJdfDApKzEyPj4yXXwwKSs4
MT4+MF09MTtyZXR1cm59ZnVuY3Rpb24gY0ooYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxo
PTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MDtyPXQ7dD10KzE0
NHwwO3A9cisxMjB8MDtkPXIrMTZ8MDtpPXIrMTA0fDA7aj1yKzg4fDA7az1yKzcyfDA7bD1yKzU2
fDA7bT1yKzQwfDA7bj1yKzI0fDA7cT1yO289YSsxNnwwO2M9ZltvPj4yXXwwO2U9ZltjKzg+PjJd
fDA7aWYoIWUpe2lmKChiWzE5NDg2NV18MCk9PTA/KGJbYysxMTI+PjBdfDApIT02OjApe3A9QXko
ZlsoKGZbYT4+Ml0mM3wwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDApfDA7cT1BeShmWygoZlthPj4y
XSYzfDApPT0yP2E6YSstNDh8MCkrNDA+PjJdfDApfDA7ZltkPj4yXT1wO2ZbZCs0Pj4yXT1xO1l3
KDEsMTEyMTM2LGQpfDB9fWVsc2V7aD0wO2E9ZTt3aGlsZSgxKXtpZigoaHwwKT49KGZbYSs0Pj4y
XXwwKSlicmVhaztnPWZbYT4+Ml18MDthPWZbZysoaCo0OHwwKT4+Ml18MDtkPWZbZysoaCo0OHww
KSs0Pj4yXXwwO2U9ZltnKyhoKjQ4fDApKzg+PjJdfDA7Zz1mW2crKGgqNDh8MCkrMTI+PjJdfDA7
Yz0wO3doaWxlKDEpe2lmKChjfDApPj0oZHwwKSlicmVhaztzPWErKGM8PDQpfDA7ZltwPj4yXT1m
W3M+PjJdO2ZbcCs0Pj4yXT1mW3MrND4+Ml07ZltwKzg+PjJdPWZbcys4Pj4yXTtmW3ArMTI+PjJd
PWZbcysxMj4+Ml07WEkoaSxwKTtmW3M+PjJdPWZbaT4+Ml07ZltzKzQ+PjJdPWZbaSs0Pj4yXTtm
W3MrOD4+Ml09ZltpKzg+PjJdO2ZbcysxMj4+Ml09ZltpKzEyPj4yXTtjPWMrMXwwfWlmKGV8MCl7
cz0oZltmWyhmW28+PjJdfDApKzg+PjJdPj4yXXwwKSsoaCo0OHwwKSsxNnwwO2ZbcD4+Ml09Zltz
Pj4yXTtmW3ArND4+Ml09ZltzKzQ+PjJdO2ZbcCs4Pj4yXT1mW3MrOD4+Ml07ZltwKzEyPj4yXT1m
W3MrMTI+PjJdO1hJKGoscCk7ZltzPj4yXT1mW2o+PjJdO2Zbcys0Pj4yXT1mW2orND4+Ml07Zltz
Kzg+PjJdPWZbais4Pj4yXTtmW3MrMTI+PjJdPWZbaisxMj4+Ml19aWYoZ3wwKXtzPShmW2ZbKGZb
bz4+Ml18MCkrOD4+Ml0+PjJdfDApKyhoKjQ4fDApKzMyfDA7ZltwPj4yXT1mW3M+PjJdO2ZbcCs0
Pj4yXT1mW3MrND4+Ml07ZltwKzg+PjJdPWZbcys4Pj4yXTtmW3ArMTI+PjJdPWZbcysxMj4+Ml07
WEkoayxwKTtmW3M+PjJdPWZbaz4+Ml07ZltzKzQ+PjJdPWZbays0Pj4yXTtmW3MrOD4+Ml09Zltr
Kzg+PjJdO2ZbcysxMj4+Ml09ZltrKzEyPj4yXX1jPWZbbz4+Ml18MDtoPWgrMXwwO2E9ZltjKzg+
PjJdfDB9YT1mW2MrOTY+PjJdfDA7aWYoYSl7Yz1hKzU2fDA7ZltwPj4yXT1mW2M+PjJdO2ZbcCs0
Pj4yXT1mW2MrND4+Ml07ZltwKzg+PjJdPWZbYys4Pj4yXTtmW3ArMTI+PjJdPWZbYysxMj4+Ml07
WEkobCxwKTtmW2M+PjJdPWZbbD4+Ml07ZltjKzQ+PjJdPWZbbCs0Pj4yXTtmW2MrOD4+Ml09Zlts
Kzg+PjJdO2ZbYysxMj4+Ml09ZltsKzEyPj4yXTtjPWZbbz4+Ml18MH1hPWZbYysxMDg+PjJdfDA7
aWYoYSl7Yz1hKzU2fDA7ZltwPj4yXT1mW2M+PjJdO2ZbcCs0Pj4yXT1mW2MrND4+Ml07ZltwKzg+
PjJdPWZbYys4Pj4yXTtmW3ArMTI+PjJdPWZbYysxMj4+Ml07WEkobSxwKTtmW2M+PjJdPWZbbT4+
Ml07ZltjKzQ+PjJdPWZbbSs0Pj4yXTtmW2MrOD4+Ml09ZlttKzg+PjJdO2ZbYysxMj4+Ml09Zltt
KzEyPj4yXTtjPWZbbz4+Ml18MH1hPWZbYysxMDA+PjJdfDA7aWYoYSl7Yz1hKzU2fDA7ZltwPj4y
XT1mW2M+PjJdO2ZbcCs0Pj4yXT1mW2MrND4+Ml07ZltwKzg+PjJdPWZbYys4Pj4yXTtmW3ArMTI+
PjJdPWZbYysxMj4+Ml07WEkobixwKTtmW2M+PjJdPWZbbj4+Ml07ZltjKzQ+PjJdPWZbbis0Pj4y
XTtmW2MrOD4+Ml09ZltuKzg+PjJdO2ZbYysxMj4+Ml09ZltuKzEyPj4yXTtjPWZbbz4+Ml18MH1j
PWZbYysxMDQ+PjJdfDA7aWYoY3wwKXtzPWMrNTZ8MDtmW3A+PjJdPWZbcz4+Ml07ZltwKzQ+PjJd
PWZbcys0Pj4yXTtmW3ArOD4+Ml09ZltzKzg+PjJdO2ZbcCsxMj4+Ml09ZltzKzEyPj4yXTtYSShx
LHApO2Zbcz4+Ml09ZltxPj4yXTtmW3MrND4+Ml09ZltxKzQ+PjJdO2Zbcys4Pj4yXT1mW3ErOD4+
Ml07ZltzKzEyPj4yXT1mW3ErMTI+PjJdfX10PXI7cmV0dXJufWZ1bmN0aW9uIGRKKGEpe2E9YXww
O3ZhciBjPTAsZD0wLGU9MDtlPWErMTZ8MDtpZigob3ooYSl8MCkhPShhfDApPyhjPWZbKGZbZT4+
Ml18MCkrMTI+PjJdfDAsKGN8MCkhPTApOjApYT0oYltjKzgxPj4wXXwwKSE9MCYxO2Vsc2UgYT0w
O2Q9MTt3aGlsZSgxKXtjPWZbZT4+Ml18MDtpZigoZHwwKT4oZltjKzE4MD4+Ml18MCkpYnJlYWs7
Yz0oZEooZlsoZltjKzE4ND4+Ml18MCkrKGQ8PDIpPj4yXXwwKXwwKSthfDA7ZD1kKzF8MDthPWN9
cmV0dXJuIGF8MH1mdW5jdGlvbiBlSihhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2
YXIgZz0wLGg9MCxpPTAuMCxqPTAuMCxrPTA7Zz10O3Q9dCszMnwwO2g9ZztrPShiWzE5NDg2OF18
MCk9PTA7Yz1mW2MrMTY+PjJdfDA7aT0rcFsoaz9jKzQwfDA6YyszMnwwKT4+M107aj0rcFsoaz9j
KzMyfDA6Yys0MHwwKT4+M107cFtkKzE2Pj4zXT1qKjcyLjA7cFtkKzI0Pj4zXT1pKjcyLjA7Yz1j
KzE2fDA7ZltkPj4yXT1mW2M+PjJdO2ZbZCs0Pj4yXT1mW2MrND4+Ml07ZltkKzg+PjJdPWZbYys4
Pj4yXTtmW2QrMTI+PjJdPWZbYysxMj4+Ml07cFtkPj4zXT0rcFtkPj4zXS1qKjM2LjA7Yz1kKzh8
MDtwW2M+PjNdPStwW2M+PjNdLWkqMzYuMDtmW2g+PjJdPWZbZT4+Ml07ZltoKzQ+PjJdPWZbZSs0
Pj4yXTtmW2grOD4+Ml09ZltlKzg+PjJdO2ZbaCsxMj4+Ml09ZltlKzEyPj4yXTtmW2grMTY+PjJd
PWZbZSsxNj4+Ml07ZltoKzIwPj4yXT1mW2UrMjA+PjJdO2ZbaCsyND4+Ml09ZltlKzI0Pj4yXTtm
W2grMjg+PjJdPWZbZSsyOD4+Ml07bUooYSxkLGgpO3Q9ZztyZXR1cm59ZnVuY3Rpb24gZkooYSxj
LGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLjAsaj0wLjAsaz0w
LGw9MDtnPXQ7dD10KzMyfDA7aD1nO2w9KGJbMTk0ODY4XXwwKT09MDtrPWMrMjR8MDtpPStwWyhs
P2MrMzJ8MDprKT4+M107aj0rcFsobD9rOmMrMzJ8MCk+PjNdO3BbZCsxNj4+M109ajtwW2QrMjQ+
PjNdPWk7Yz1jKzU2fDA7ZltkPj4yXT1mW2M+PjJdO2ZbZCs0Pj4yXT1mW2MrND4+Ml07ZltkKzg+
PjJdPWZbYys4Pj4yXTtmW2QrMTI+PjJdPWZbYysxMj4+Ml07cFtkPj4zXT0rcFtkPj4zXS1qKi41
O2M9ZCs4fDA7cFtjPj4zXT0rcFtjPj4zXS1pKi41O2ZbaD4+Ml09ZltlPj4yXTtmW2grND4+Ml09
ZltlKzQ+PjJdO2ZbaCs4Pj4yXT1mW2UrOD4+Ml07ZltoKzEyPj4yXT1mW2UrMTI+PjJdO2ZbaCsx
Nj4+Ml09ZltlKzE2Pj4yXTtmW2grMjA+PjJdPWZbZSsyMD4+Ml07ZltoKzI0Pj4yXT1mW2UrMjQ+
PjJdO2ZbaCsyOD4+Ml09ZltlKzI4Pj4yXTttSihhLGQsaCk7dD1nO3JldHVybn1mdW5jdGlvbiBn
SihhLGMsZCxlLGcpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO2lmKGV8MCl7ZT1jKzE2
fDA7ZltlPj4yXT0wO2ZbZSs0Pj4yXT0wO2ZbZSs4Pj4yXT0wO2ZbZSsxMj4+Ml09MDtmW2M+PjJd
PWZbZz4+Ml07ZltjKzQ+PjJdPWZbZys0Pj4yXTtmW2MrOD4+Ml09ZltnKzg+PjJdO2ZbYysxMj4+
Ml09ZltnKzEyPj4yXX1pZighKGJbMTk0ODY4XXwwKSl7Zz1hKzI0fDA7ZltkPj4yXT1mW2c+PjJd
O2ZbZCs0Pj4yXT1mW2crND4+Ml07ZltkKzg+PjJdPWZbZys4Pj4yXTtmW2QrMTI+PjJdPWZbZysx
Mj4+Ml19ZWxzZXtwW2Q+PjNdPStwW2ErMzI+PjNdO3BbZCs4Pj4zXT0rcFthKzI0Pj4zXX1mW2Qr
MzI+PjJdPWE7YltkKzM2Pj4wXT0wO2ZbYyszMj4+Ml09ZDtyZXR1cm59ZnVuY3Rpb24gaEooYSxi
KXthPWF8MDtiPWJ8MDtiPW9MKGIpfDA7ZG8gaWYoYil7Yj1mW2I+PjJdfDA7aWYoIShmW2IrOD4+
Ml18MCkpe2I9ZltiPj4yXXwwO2ZbYT4+Ml09ZltiPj4yXTtmW2ErND4+Ml09ZltiKzQ+PjJdO2Zb
YSs4Pj4yXT1mW2IrOD4+Ml07ZlthKzEyPj4yXT1mW2IrMTI+PjJdO2JyZWFrfWVsc2V7Yj1iKzE2
fDA7ZlthPj4yXT1mW2I+PjJdO2ZbYSs0Pj4yXT1mW2IrND4+Ml07ZlthKzg+PjJdPWZbYis4Pj4y
XTtmW2ErMTI+PjJdPWZbYisxMj4+Ml07YnJlYWt9fWVsc2V7ZlthPj4yXT0wO2ZbYSs0Pj4yXT0w
O2ZbYSs4Pj4yXT0wO2ZbYSsxMj4+Ml09MH13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gaUooYSxi
KXthPWF8MDtiPWJ8MDt2YXIgYz0wO2I9b0woYil8MDtkbyBpZihiKXtjPWZbYj4+Ml18MDtiPShm
W2IrND4+Ml18MCkrLTF8MDtpZighKGZbYysoYio0OHwwKSsxMj4+Ml18MCkpe2M9KGZbYysoYio0
OHwwKT4+Ml18MCkrKChmW2MrKGIqNDh8MCkrND4+Ml18MCkrLTE8PDQpfDA7ZlthPj4yXT1mW2M+
PjJdO2ZbYSs0Pj4yXT1mW2MrND4+Ml07ZlthKzg+PjJdPWZbYys4Pj4yXTtmW2ErMTI+PjJdPWZb
YysxMj4+Ml07YnJlYWt9ZWxzZXtjPWMrKGIqNDh8MCkrMzJ8MDtmW2E+PjJdPWZbYz4+Ml07Zlth
KzQ+PjJdPWZbYys0Pj4yXTtmW2ErOD4+Ml09ZltjKzg+PjJdO2ZbYSsxMj4+Ml09ZltjKzEyPj4y
XTticmVha319ZWxzZXtmW2E+PjJdPTA7ZlthKzQ+PjJdPTA7ZlthKzg+PjJdPTA7ZlthKzEyPj4y
XT0wfXdoaWxlKDApO3JldHVybn1mdW5jdGlvbiBqSihhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7
dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTA7cD10O3Q9dCsx
MTJ8MDtrPXArNzJ8MDttPXArMzJ8MDtuPXA7bz1jKzE2fDA7aj0xO3doaWxlKDEpe2U9ZltvPj4y
XXwwO2lmKChqfDApPihmW2UrMTgwPj4yXXwwKSlicmVhaztlPWZbKGZbZSsxODQ+PjJdfDApKyhq
PDwyKT4+Ml18MDtnPWs7aD1kO2k9Zys0MHwwO2Rve2ZbZz4+Ml09ZltoPj4yXTtnPWcrNHwwO2g9
aCs0fDB9d2hpbGUoKGd8MCk8KGl8MCkpO2pKKG0sZSxrKTtnPWQ7aD1tO2k9Zys0MHwwO2Rve2Zb
Zz4+Ml09ZltoPj4yXTtnPWcrNHwwO2g9aCs0fDB9d2hpbGUoKGd8MCk8KGl8MCkpO2o9aisxfDB9
aWYoKChveihjKXwwKSE9KGN8MCk/KGw9ZlsoZltvPj4yXXwwKSsxMj4+Ml18MCxsfDApOjApP2Jb
bCs4MT4+MF18MDowKXtvPWQrMzJ8MDttPWZbbz4+Ml18MDtmW2s+PjJdPWZbZD4+Ml07ZltrKzQ+
PjJdPWZbZCs0Pj4yXTtmW2srOD4+Ml09ZltkKzg+PjJdO2ZbaysxMj4+Ml09ZltkKzEyPj4yXTtm
W2srMTY+PjJdPWZbZCsxNj4+Ml07ZltrKzIwPj4yXT1mW2QrMjA+PjJdO2ZbaysyND4+Ml09Zltk
KzI0Pj4yXTtmW2srMjg+PjJdPWZbZCsyOD4+Ml07ZkoobixsLG0sayk7ZltkPj4yXT1mW24+PjJd
O2ZbZCs0Pj4yXT1mW24rND4+Ml07ZltkKzg+PjJdPWZbbis4Pj4yXTtmW2QrMTI+PjJdPWZbbisx
Mj4+Ml07ZltkKzE2Pj4yXT1mW24rMTY+PjJdO2ZbZCsyMD4+Ml09ZltuKzIwPj4yXTtmW2QrMjQ+
PjJdPWZbbisyND4+Ml07ZltkKzI4Pj4yXT1mW24rMjg+PjJdO2Zbbz4+Ml09KGZbbz4+Ml18MCkr
NDB9Zz1hO2g9ZDtpPWcrNDB8MDtkb3tmW2c+PjJdPWZbaD4+Ml07Zz1nKzR8MDtoPWgrNHwwfXdo
aWxlKChnfDApPChpfDApKTt0PXA7cmV0dXJufWZ1bmN0aW9uIGtKKGEsYixjLGQsZSl7YT1hfDA7
Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MC4wLGk9MC4wLGo9MC4wLGs9MC4wLGw9MCxt
PTAsbj0wLG89MCxxPTAscj0wO3I9dDt0PXQrMTYwfDA7cT1yKzk2fDA7bj1yKzQ4fDA7bT1yO289
ZlsxOTQ1N118MDtsPWhbZSszMj4+MF18MDtnPStwW2U+PjNdO2k9K3BbZSs4Pj4zXTtqPStwW2Ur
MTY+PjNdO2s9K3BbZSsyND4+M107ZlttPj4yXT1iO2ZbbSs0Pj4yXT1kO2ZbbSs4Pj4yXT1sO3Bb
bSsxNj4+M109ZztwW20rMjQ+PjNdPWk7cFttKzMyPj4zXT1qO3BbbSs0MD4+M109aztnMihvLDEx
MjM5MSxtKXwwO2E6ZG8gaWYoMD49Mil7cTIoMTEyNDUxLDgsMSxvKXwwO209MDt3aGlsZSgxKXtp
ZigobXwwKT49KGJ8MCkpYnJlYWs7ZT1mW2ErMzI+PjJdfDA7Zz0rcFthPj4zXTtpPStwW2ErOD4+
M107aj0rcFthKzE2Pj4zXTtrPStwW2ErMjQ+PjNdO2lmKCFlKWw9MTk0ODcwO2Vsc2UgbD1mW2Zb
ZSszMj4+Ml0+PjJdfDA7ZltuPj4yXT1tO3Bbbis4Pj4zXT1nO3BbbisxNj4+M109aTtwW24rMjQ+
PjNdPWo7cFtuKzMyPj4zXT1rO2Zbbis0MD4+Ml09ZTtmW24rNDQ+PjJdPWw7ZzIobywxMTI0NjAs
bil8MDttPW0rMXwwO2E9YSs0MHwwfXEyKDExMjUwMyw4LDEsbyl8MDtlPTA7d2hpbGUoMSl7aWYo
KGV8MCk+PShkfDApKWJyZWFrIGE7Yj1oW2MrMzY+PjBdfDA7Zz0rcFtjKzE2Pj4zXTtpPStwW2Mr
MjQ+PjNdO2o9K3BbYz4+M107az0rcFtjKzg+PjNdO249ZltmW2MrMzI+PjJdPj4yXXwwO2ZbcT4+
Ml09ZTtmW3ErND4+Ml09YztmW3ErOD4+Ml09YjtwW3ErMTY+PjNdPWc7cFtxKzI0Pj4zXT1pO3Bb
cSszMj4+M109ajtwW3ErNDA+PjNdPWs7ZltxKzQ4Pj4yXT1uO2cyKG8sMTEyNTEyLHEpfDA7Yz1j
KzQwfDA7ZT1lKzF8MH19d2hpbGUoMCk7dD1yO3JldHVybn1mdW5jdGlvbiBsSihhLGIpe2E9YXww
O2I9YnwwO3ZhciBjPTAuMDtjPStwW2IrOD4+M10qLjUrICtwW2IrMjQ+PjNdO3BbYT4+M109K3Bb
Yj4+M10qLjUrICtwW2IrMTY+PjNdO3BbYSs4Pj4zXT1jO3JldHVybn1mdW5jdGlvbiBtSihhLGIs
Yyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MC4wLGU9MC4wLGc9MC4wLGg9MDtnPStwW2M+PjNd
O2U9K3BbYj4+M107cFtjPj4zXT1nPGU/ZzplO2g9Yys4fDA7Zz0rcFtoPj4zXTtkPStwW2IrOD4+
M107cFtoPj4zXT1nPGQ/ZzpkO2U9K3BbYisxNj4+M10rZTtkPStwW2IrMjQ+PjNdK2Q7Yj1jKzE2
fDA7Zz0rcFtiPj4zXTtwW2I+PjNdPWc+ZT9nOmU7Yj1jKzI0fDA7ZT0rcFtiPj4zXTtwW2I+PjNd
PWU+ZD9lOmQ7ZlthPj4yXT1mW2M+PjJdO2ZbYSs0Pj4yXT1mW2MrND4+Ml07ZlthKzg+PjJdPWZb
Yys4Pj4yXTtmW2ErMTI+PjJdPWZbYysxMj4+Ml07ZlthKzE2Pj4yXT1mW2MrMTY+PjJdO2ZbYSsy
MD4+Ml09ZltjKzIwPj4yXTtmW2ErMjQ+PjJdPWZbYysyND4+Ml07ZlthKzI4Pj4yXT1mW2MrMjg+
PjJdO3JldHVybn1mdW5jdGlvbiBuSihhKXthPWF8MDtZSShhLDEpO3JldHVybn1mdW5jdGlvbiBv
SihhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wLGc9MDtkPXQ7dD10KzE2fDA7Yz1kO2I9Z00o
R3goYSwxMTM4NTIpfDApfDA7aWYoYil7Yj1wSihiKXwwO2lmKGJ8MCl7ZT1mW2IrNDA+PjJdfDA7
Yz1mW2IrNDQ+PjJdfDA7Zz1hKzE2fDA7YT1mW2c+PjJdfDA7cFthKzMyPj4zXT0rKGV8MCkqLjAx
Mzg4ODg4ODg4ODg4ODg4ODtwW2ErNDA+PjNdPSsoY3wwKSouMDEzODg4ODg4ODg4ODg4ODg4O2E9
REgoMTIpfDA7ZlsoZltnPj4yXXwwKSsxMj4+Ml09YTtmW2E+PjJdPWZbYisxMj4+Ml07ZlthKzQ+
PjJdPSgoZXwwKS8tMnwwKS0oZltiKzMyPj4yXXwwKTtmW2ErOD4+Ml09KChjfDApLy0yfDApLShm
W2IrMzY+PjJdfDApfX1lbHNle2c9QXkoYSl8MDtmW2M+PjJdPWc7WXcoMCwxMTI1NjAsYyl8MH10
PWQ7cmV0dXJufWZ1bmN0aW9uIHBKKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9
MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTA7bz10O3Q9dCsxMTUyfDA7aT1vKzEwNDh8MDto
PW8rMTAzMnwwO2Q9bysxMDI0fDA7ZT1vO2o9bysxMDY4fDA7az1vKzEwNjR8MDtsPW8rMTA2MHww
O209bysxMDU2fDA7bj1vKzEwNTJ8MDtjPWZbNDg0MTldfDA7aWYoIWMpe2M9THcoNzI3NjQsZlsx
ODAwMV18MCl8MDtmWzQ4NDE5XT1jfWM9d2JbZltjPj4yXSY2M10oYyxhLDUxMil8MDtkbyBpZigh
Yyl7Zz16MShhLDE0NzA5MSl8MDtpZighZyl7ZltkPj4yXT1hO1l3KDAsMTEyNjA5LGQpfDA7Yz0w
O2JyZWFrfWM9MDtkPTA7d2hpbGUoMSl7aWYoIShLMShlLDEwMjQsZyl8MCkpe2U9MTI7YnJlYWt9
ZltoPj4yXT1rO2ZbaCs0Pj4yXT1sO2ZbaCs4Pj4yXT1tO2ZbaCsxMj4+Ml09bjtwPShNMShlLDEx
MjYzNyxoKXwwKT09NDtkPXA/MTpkO2lmKChiW2U+PjBdfDApIT0zNyl7cD0oajIoZSwxMTI2NjYp
fDApPT0wO2M9cD9jOjF9aWYoKGR8MCkhPTAmKGN8MCkhPTApe2U9MTM7YnJlYWt9fWlmKChlfDAp
PT0xMilpZighZCl7ZltpPj4yXT1hO1l3KDAsMTEyNjcxLGkpfDA7Yz0wfWVsc2UgZT0xMztpZigo
ZXwwKT09MTMpe3A9RUgoNjQpfDA7az1mW2s+PjJdfDA7ZltwKzMyPj4yXT1rO2w9ZltsPj4yXXww
O2ZbcCs0MD4+Ml09KGZbbT4+Ml18MCktaztmW3ArMzY+PjJdPShmW24+PjJdfDApLWw7ZltwKzg+
PjJdPWE7bj1mWzQ4NDIwXXwwO2ZbNDg0MjBdPW4rMTtmW3ArMTI+PjJdPW47UyQoTTIoZyl8MCxq
KXwwO249ZltqKzM2Pj4yXXwwO209RUgobisxfDApfDA7ZltwKzUyPj4yXT1tO2YyKGcsMCwwKXww
O0wyKG0sbiwxLGcpfDA7YlttK24+PjBdPTA7bj1mWzQ4NDE5XXwwO3diW2Zbbj4+Ml0mNjNdKG4s
cCwxKXwwO2JbcCsxNj4+MF09YztjPXB9RjEoZyl8MH13aGlsZSgwKTt0PW87cmV0dXJuIGN8MH1m
dW5jdGlvbiBxSihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7TV8oZltiKzUyPj4yXXwwKTtyZXR1
cm59ZnVuY3Rpb24gckooYSl7YT1hfDA7TV8oZlsoZlthKzE2Pj4yXXwwKSsxMj4+Ml18MCk7cmV0
dXJufWZ1bmN0aW9uIHNKKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAs
aT0wLGo9MCxrPTAsbD0wLG09MDttPXQ7dD10KzE2fDA7bD1tKzh8MDtrPW07aj0oY3wwKSE9MDth
OmRvIGlmKGope2g9MDtlPTA7d2hpbGUoMSl7ZG97aWYoaClicmVhayBhO2c9ZltjKyhlPDwyKT4+
Ml18MDtpZighZyl7aT0zO2JyZWFrIGF9ZT1lKzF8MH13aGlsZSgoYltnPj4wXXwwKSE9MCk7aD0x
fX1lbHNlIGk9Mzt3aGlsZSgwKTtiOmRvIGlmKChpfDApPT0zKXdoaWxlKDEpe2U9ZltkPj4yXXww
O2lmKCFlKWJyZWFrIGI7aUMoYSxlKXwwO2lDKGEsMTUxMTIyKXwwO2Q9ZCs0fDB9d2hpbGUoMCk7
YzpkbyBpZihqKXtoPTA7d2hpbGUoMSl7ZD1mW2MrKGg8PDIpPj4yXXwwO2lmKCFkKWJyZWFrIGM7
ZG8gaWYoYltkPj4wXXwwKXtlPWdNKGQpfDA7aWYoIWUpe2Zbaz4+Ml09ZDtZdygwLDExMjcxMCxr
KXwwO2JyZWFrfWc9ejEoZSwxNDcwOTEpfDA7aWYoIWcpe2ZbbD4+Ml09ZTtZdygwLDExMjczOCxs
KXwwO2JyZWFrfXdoaWxlKDEpe2Q9Zk0oZyl8MDtpZighZClicmVhaztpQyhhLGQpfDB9aUMoYSwx
NTExMjIpfDA7RjEoZyl8MH13aGlsZSgwKTtoPWgrMXwwfX13aGlsZSgwKTt0PW07cmV0dXJufWZ1
bmN0aW9uIHRKKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTA7Yz1mW2MrNTI+PjJdfDA7YTp3
aGlsZSgxKXtkPWJbYz4+MF18MDtiOmRvIHN3aXRjaChkPDwyND4+MjQpe2Nhc2UgMDpicmVhayBh
O2Nhc2UgMzc6e2lmKChiW2MrMT4+MF18MCk9PTM3KXtlPWMrMnwwO2lmKCgoYTMoZSwxMTI3NjYs
Myl8MD9hMyhlLDExMjc3MCw1KXwwOjApP2EzKGUsMTEyNzc2LDMpfDA6MCk/YTMoZSwxMTI3ODAs
Nyl8MDowKXtlPTQ7YnJlYWsgYn1kPTM3O2M6d2hpbGUoMSl7c3dpdGNoKGQ8PDI0Pj4yNCl7Y2Fz
ZSAxMzp7ZT0xMjticmVhayBjfWNhc2UgMTA6Y2FzZSAwOntlPTEzO2JyZWFrIGN9ZGVmYXVsdDp7
fX1kPWMrMXwwO2M9ZDtkPWJbZD4+MF18MH1pZigoZXwwKT09MTIpe2U9MDtkPWMrMXwwO2M9KGJb
ZD4+MF18MCk9PTEwP2MrMnwwOmQ7YnJlYWsgYn1lbHNlIGlmKChlfDApPT0xMyl7ZT0wO2M9ZDw8
MjQ+PjI0PT0wP2M6YysxfDA7YnJlYWsgYn19ZWxzZSBlPTQ7YnJlYWt9ZGVmYXVsdDplPTR9d2hp
bGUoMCk7aWYoKGV8MCk9PTQpe2Q6d2hpbGUoMSl7c3dpdGNoKGQ8PDI0Pj4yNCl7Y2FzZSAxMzp7
ZT0xNzticmVhayBkfWNhc2UgMTA6Y2FzZSAwOntlPTE4O2JyZWFrIGR9ZGVmYXVsdDp7fX1qQyhh
LGQ8PDI0Pj4yNCl8MDtlPWMrMXwwO2M9ZTtkPWJbZT4+MF18MH1pZigoZXwwKT09MTcpe2U9Yysx
fDA7Yz0oYltlPj4wXXwwKT09MTA/YysyfDA6ZX1lbHNlIGlmKChlfDApPT0xOCljPWQ8PDI0Pj4y
ND09MD9jOmMrMXwwO2pDKGEsMTApfDB9fXJldHVybn1mdW5jdGlvbiB1SihhKXthPWF8MDt2YXIg
Yz0wLGQ9MCxlPTAsZz0wO2U9dDt0PXQrMTZ8MDtkPWU7Yz1mWzQ4NDE5XXwwO2E6ZG8gaWYoY3ww
KXtjPXdiW2ZbYz4+Ml0mNjNdKGMsMCwxMjgpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWsgYTtpZigh
KGJbYysxNj4+MF18MCkpe2ZbZD4+Ml09ZltjKzEyPj4yXTtvQyhhLDExMjc4OCxkKTtpQyhhLDEx
MjgwNil8MDt0SihhLGMpO2lDKGEsMTEyODI0KXwwO2lDKGEsMTEyODM5KXwwfWc9Zls0ODQxOV18
MDtjPXdiW2ZbZz4+Ml0mNjNdKGcsYyw4KXwwfX13aGlsZSgwKTt0PWU7cmV0dXJufWZ1bmN0aW9u
IHZKKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MDtnPXQ7dD10KzE2fDA7ZD1n
O2E6ZG8gc3dpdGNoKGN8MCl7Y2FzZSAwOntlPWE7YnJlYWt9Y2FzZSAxOntlPSRNKGEpfDA7YnJl
YWt9ZGVmYXVsdDp7c3dpdGNoKHdKKGEpfDApe2Nhc2UgMjpicmVhaztjYXNlIDE6e2U9JE0oYSl8
MDticmVhayBhfWRlZmF1bHQ6e2U9YTticmVhayBhfX1pZighKGZbNDg0MjFdfDApKXtZdygwLDEx
Mjg1MSxkKXwwO2ZbNDg0MjFdPTE7ZT1hfWVsc2UgZT1hfX13aGlsZSgwKTtpZighKGZbNDg0MjJd
fDApKWF4KDE5MzY4OCwwLDApO2M9Zls0ODQyM118MDtpZihjPj4+MD49KGZbNDg0MjRdfDApPj4+
MCl7YngoMTkzNjg4LDEpfDA7Yz1mWzQ4NDIzXXwwfWZbNDg0MjNdPWMrMTtiW2M+PjBdPTQwO2Q9
ZTtiOndoaWxlKDEpe3N3aXRjaChiW2Q+PjBdfDApe2Nhc2UgMDpicmVhayBiO2Nhc2UgOTI6Y2Fz
ZSA0MTpjYXNlIDQwOntjPWZbNDg0MjNdfDA7aWYoYz4+PjA+PShmWzQ4NDI0XXwwKT4+PjApe2J4
KDE5MzY4OCwxKXwwO2M9Zls0ODQyM118MH1mWzQ4NDIzXT1jKzE7YltjPj4wXT05MjticmVha31k
ZWZhdWx0Ont9fWM9Zls0ODQyM118MDtpZihjPj4+MD49KGZbNDg0MjRdfDApPj4+MCl7YngoMTkz
Njg4LDEpfDA7Yz1mWzQ4NDIzXXwwfWg9YltkPj4wXXwwO2ZbNDg0MjNdPWMrMTtiW2M+PjBdPWg7
ZD1kKzF8MH1jPWZbNDg0MjNdfDA7aWYoYz4+PjA+PShmWzQ4NDI0XXwwKT4+PjApe2J4KDE5MzY4
OCwxKXwwO2M9Zls0ODQyM118MH1mWzQ4NDIzXT1jKzE7YltjPj4wXT00MTtpZigoZXwwKSE9KGF8
MCkpTV8oZSk7Yz1mWzQ4NDIzXXwwO2lmKGM+Pj4wPj0oZls0ODQyNF18MCk+Pj4wKXtieCgxOTM2
ODgsMSl8MDtjPWZbNDg0MjNdfDB9YltjPj4wXT0wO2g9Zls0ODQyMl18MDtmWzQ4NDIzXT1oO3Q9
ZztyZXR1cm4gaHwwfWZ1bmN0aW9uIHdKKGEpe2E9YXwwO3ZhciBjPTAsZD0wO2M9MDthOndoaWxl
KDEpe3doaWxlKDEpe2Q9YlthPj4wXXwwO2lmKCEoZDw8MjQ+PjI0KSlicmVhayBhO2lmKChkJjI1
NSk8MTI3KWE9YSsxfDA7ZWxzZSBicmVha31pZigoZCYtNCk8PDI0Pj4yND09LTY0KXtjPTE7YT1h
KzJ8MH1lbHNle2M9MjticmVha319cmV0dXJuIGN8MH1mdW5jdGlvbiB4SihhLGIsYyxkLGUpe2E9
YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxt
PTAsbj0wO2w9dDt0PXQrOTZ8MDtoPWwrODB8MDtpPWwrNzJ8MDtrPWwrNjR8MDtnPWwrMzJ8MDtq
PWw7cFtnPj4zXT0rcFthPj4zXTtwW2crOD4+M109K3BbYSs4Pj4zXTtwW2crMTY+PjNdPStwW2I+
PjNdO3BbZysyND4+M109K3BbYis4Pj4zXTtkbyBpZigoYVYoYyxnLGkpfDApPj0wKXtpZighZSl7
Yj1jKzR8MDthPWZbYj4+Ml18MDtlPWZbNDg0MjddfDA7aWYoKGF8MCk+KGZbNDg0MjZdfDApKXtp
ZighZSlhPUVIKGE8PDUpfDA7ZWxzZSBhPUdIKGUsYTw8NSl8MDtmWzQ4NDI3XT1hO2c9ZltiPj4y
XXwwO2ZbNDg0MjZdPWc7ZT1hfWVsc2UgZz1hO2I9ZltjPj4yXXwwO2E9MDt3aGlsZSgxKXtpZigo
YXwwKT49KGd8MCkpYnJlYWs7bT1lKyhhPDw1KXwwO2M9YisoYTw8NCl8MDtmW20+PjJdPWZbYz4+
Ml07ZlttKzQ+PjJdPWZbYys0Pj4yXTtmW20rOD4+Ml09ZltjKzg+PjJdO2ZbbSsxMj4+Ml09Zltj
KzEyPj4yXTttPWUrKGE8PDUpKzE2fDA7Yz1hKzF8MDtuPWIrKCgoY3wwKSUoZ3wwKXwwKTw8NCl8
MDtmW20+PjJdPWZbbj4+Ml07ZlttKzQ+PjJdPWZbbis0Pj4yXTtmW20rOD4+Ml09ZltuKzg+PjJd
O2ZbbSsxMj4+Ml09ZltuKzEyPj4yXTthPWN9ZltqPj4yXT0wO2Zbais0Pj4yXT0wO2Zbais4Pj4y
XT0wO2ZbaisxMj4+Ml09MDtmW2orMTY+PjJdPTA7ZltqKzIwPj4yXT0wO2ZbaisyND4+Ml09MDtm
W2orMjg+PjJdPTA7ZltoPj4yXT1mW2k+PjJdO2ZbaCs0Pj4yXT1mW2krND4+Ml07aWYoKEdVKGUs
ZyxoLGosayl8MCk8MCl7YT0wO2JyZWFrfX1lbHNle2ZbaD4+Ml09ZltpPj4yXTtmW2grND4+Ml09
ZltpKzQ+PjJdO3hWKGgsayl9YT1rKzR8MDtpZighKHlKKGZbYT4+Ml18MCl8MCkpe2c9ZlthPj4y
XXwwO2E9Zls0ODQyOF18MDtlPWZbaz4+Ml18MDtiPTA7d2hpbGUoMSl7aWYoKGJ8MCk+PShnfDAp
KWJyZWFrO249YSsoYjw8NCl8MDttPWUrKGI8PDQpfDA7ZltuPj4yXT1mW20+PjJdO2Zbbis0Pj4y
XT1mW20rND4+Ml07ZltuKzg+PjJdPWZbbSs4Pj4yXTtmW24rMTI+PjJdPWZbbSsxMj4+Ml07Yj1i
KzF8MH1mW2Q+PjJdPWd9ZWxzZSBhPTB9ZWxzZSBhPTA7d2hpbGUoMCk7dD1sO3JldHVybiBhfDB9
ZnVuY3Rpb24geUooYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO2Q9dDt0PXQrMTZ8MDtjPWQ7Yj1m
WzQ4NDI5XXwwO2RvIGlmKChifDApPChhfDApKXthPWErMzAwLSgoYXwwKSUzMDB8MCkrYnwwO2I9
R0goZls0ODQyOF18MCxhPDw0KXwwO2ZbNDg0MjhdPWI7aWYoIWIpe1l3KDEsMTEyOTQxLGMpfDA7
YT0xO2JyZWFrfWVsc2V7Zls0ODQyOV09YTthPTA7YnJlYWt9fWVsc2UgYT0wO3doaWxlKDApO3Q9
ZDtyZXR1cm4gYXwwfWZ1bmN0aW9uIHpKKCl7dmFyIGE9MCxiPTAsYz0wO2I9dDt0PXQrMTZ8MDth
PWI7Yz1mWzQ4NDMwXXwwO2ZbNDg0MzBdPWMrMTtkbyBpZigoY3wwKTw9MCl7Yz1FSCg0ODAwKXww
O2ZbNDg0MjhdPWM7aWYoIWMpe1l3KDEsMTEyOTY0LGEpfDA7YT0xO2JyZWFrfWZbNDg0MjldPTMw
MDtmWzQ4NDMxXT0wO2ZbNDg0MzJdPTA7aWYoMCl7TkwoKTthPTB9ZWxzZSBhPTB9ZWxzZSBhPTA7
d2hpbGUoMCk7dD1iO3JldHVybiBhfDB9ZnVuY3Rpb24gQUooKXt2YXIgYT0wLGI9MCxjPTAsZD0w
LjAsZT0wLGc9MDtiPXQ7dD10KzE2fDA7YT1iO2M9Zls0ODQzMF18MDtmWzQ4NDMwXT1jKy0xO2lm
KChjfDApPD0xPyhNXyhmWzQ4NDI4XXwwKSwwKTowKXtjPWZbMTk0NTddfDA7Zz1mWzQ4NDMxXXww
O2U9Zls0ODQzMl18MDtkPStPTCgpO2ZbYT4+Ml09ZztmW2ErND4+Ml09ZTtwW2ErOD4+M109ZDtn
MihjLDExMzAwMixhKXwwfXQ9YjtyZXR1cm59ZnVuY3Rpb24gQkooYSxiKXthPWF8MDtiPWJ8MDty
ZXR1cm4gQ0ooYSxiLDApfDB9ZnVuY3Rpb24gQ0ooYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3Zh
ciBlPTAsZz0wLGg9MCxpPTAsaj0wLjAsaz0wLjAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0w
LHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAs
ST0wLEo9MCxLPTAsTj0wO0o9dDt0PXQrMTc2fDA7RT1KKzE2OHwwO0k9SisxMjh8MDt4PUorMTIw
fDA7dj1KKzExMnwwO2g9SisxMDR8MDtyPUorODh8MDtsPUorNzJ8MDtnPUorNjR8MDtzPUorMTYw
fDA7Rz1KKzE1MnwwO3k9SisxNDR8MDt1PUorMzJ8MDt3PUo7SD1KKzEzNnwwO2ZbNDg0MzFdPShm
WzQ4NDMxXXwwKSsxO0Y9ZlthKzgwPj4yXXwwO2ZbNDg0MzJdPShmWzQ4NDMyXXwwKStGO2U9YSs4
OHwwO3doaWxlKDEpe0M9ZltlPj4yXXwwO2lmKCFDKXtEPTQ7YnJlYWt9ZT1mW0MrMTY+PjJdfDA7
aWYoIShiW2UrMTEyPj4wXXwwKSl7RD01O2JyZWFrfWVsc2UgZT1lKzExNnwwfWRvIGlmKChEfDAp
PT00KXtZdygxLDExMzA0NSxnKXwwO2U9MH1lbHNlIGlmKChEfDApPT01KXtCPWZbYSs4ND4+Ml18
MDtpZighKERKKEYsQixhKXwwKSl7Zz1GPDwzO2lmKChnfDApPihmWzQ4NDMzXXwwKSl7ZT1mWzQ4
NDM0XXwwO2lmKCFlKWU9RUgoRjw8Nyl8MDtlbHNlIGU9R0goZSxGPDw3KXwwO2ZbNDg0MzRdPWU7
Zls0ODQzM109Z31hOmRvIGlmKChGfDApPjE/K3BbQis4Pj4zXT4rcFtCKzQwPj4zXTowKXtlPTA7
d2hpbGUoMSl7aWYoKGV8MCk9PShGfDApKXtuPTE7YnJlYWsgYX16PUIrKGU8PDUpKzI0fDA7az0r
cFt6Pj4zXTtBPUIrKGU8PDUpKzh8MDtwW3o+PjNdPS0rcFtBPj4zXTtwW0E+PjNdPS1rO2U9ZSsx
fDB9fWVsc2Ugbj0wO3doaWxlKDApO3E9ZltDPj4yXSYzO3o9Qys0OHwwO2U9ZlsoKHF8MCk9PTM/
Qzp6KSs0MD4+Ml18MDtBPUMrLTQ4fDA7aWYoKGV8MCk9PShmWygocXwwKT09Mj9DOkEpKzQwPj4y
XXwwKSl7ZT1BeShlKXwwO2ZbaD4+Ml09ZTtZdygxLDExMzE1MixoKXwwO2U9MDticmVha31tPUYr
LTF8MDtvPWZbNDg0MzRdfDA7cT1vO2U9MDtpPTA7Yjp3aGlsZSgxKXtpZigoaXwwKT49KEZ8MCkp
YnJlYWs7aWYoIWkpZz0wO2Vsc2UgZz0rcFtCKyhpPDw1KSs4Pj4zXT4rcFtCKyhpKy0xPDw1KSs4
Pj4zXT8tMToxO2lmKChpfDApPChtfDApKWg9K3BbQisoaSsxPDw1KSs4Pj4zXT4rcFtCKyhpPDw1
KSs4Pj4zXT8xOi0xO2Vsc2UgaD0wO2M6ZG8gaWYoKGd8MCkhPShofDApKWlmKChnfDApPT0xfCho
fDApPT0tMSl7aD1CKyhpPDw1KXwwO3BbbysoZTw8NCk+PjNdPStwW2g+PjNdO2c9ZSsxfDA7cFtv
KyhlPDw0KSs4Pj4zXT0rcFtCKyhpPDw1KSsyND4+M107cFtvKyhnPDw0KT4+M109K3BbaD4+M107
aD1CKyhpPDw1KSs4fDA7RD0zMTticmVha31lbHNle2g9QisoaTw8NSkrMTZ8MDtwW28rKGU8PDQp
Pj4zXT0rcFtoPj4zXTtnPWUrMXwwO3BbbysoZTw8NCkrOD4+M109K3BbQisoaTw8NSkrOD4+M107
cFtvKyhnPDw0KT4+M109K3BbaD4+M107aD1CKyhpPDw1KSsyNHwwO0Q9MzE7YnJlYWt9ZWxzZXtz
d2l0Y2goZ3wwKXtjYXNlIC0xOmJyZWFrIGM7Y2FzZSAwOmJyZWFrO2RlZmF1bHQ6e0Q9MzA7YnJl
YWsgYn19aD1CKyhpPDw1KXwwO3BbbysoZTw8NCk+PjNdPStwW2g+PjNdO2c9ZSsxfDA7cFtvKyhl
PDw0KSs4Pj4zXT0rcFtCKyhpPDw1KSsyND4+M107cFtvKyhnPDw0KT4+M109K3BbaD4+M107aD1C
KyhpPDw1KSs4fDA7RD0zMX13aGlsZSgwKTtpZigoRHwwKT09MzEpe0Q9MDtwW28rKGc8PDQpKzg+
PjNdPStwW2g+PjNdO2U9ZSsyfDB9aT1pKzF8MH1pZigoRHwwKT09MzApe2ZbbD4+Ml09ZztmW2wr
ND4+Ml09ZztmW2wrOD4+Ml09NDgwO1l3KDEsMTEzMDg3LGwpfDA7ZT0wO2JyZWFrfWk9bTtsPWU7
ZDp3aGlsZSgxKXtpZigoaXwwKTw9LTEpYnJlYWs7aWYoKGl8MCk8KG18MCkpZT0rcFtCKyhpPDw1
KSs4Pj4zXT4rcFtCKyhpKzE8PDUpKzg+PjNdPy0xOjE7ZWxzZSBlPTA7aWYoKGl8MCk+MClnPStw
W0IrKGkrLTE8PDUpKzg+PjNdPitwW0IrKGk8PDUpKzg+PjNdPzE6LTE7ZWxzZSBnPTA7ZTpkbyBp
ZigoZXwwKSE9KGd8MCkpaWYoKGV8MCk9PTF8KGd8MCk9PS0xKXtnPUIrKGk8PDUpfDA7cFtvKyhs
PDw0KT4+M109K3BbZz4+M107ZT1sKzF8MDtwW28rKGw8PDQpKzg+PjNdPStwW0IrKGk8PDUpKzI0
Pj4zXTtwW28rKGU8PDQpPj4zXT0rcFtnPj4zXTtnPTI7aD1CKyhpPDw1KSs4fDA7YnJlYWt9ZWxz
ZXtnPUIrKGk8PDUpKzE2fDA7cFtvKyhsPDw0KT4+M109K3BbZz4+M107ZT1sKzF8MDtwW28rKGw8
PDQpKzg+PjNdPStwW0IrKGk8PDUpKzg+PjNdO3BbbysoZTw8NCk+PjNdPStwW2c+PjNdO2c9Mjto
PUIrKGk8PDUpKzI0fDA7YnJlYWt9ZWxzZSBzd2l0Y2goZXwwKXtjYXNlIDA6e2c9QisoaTw8NSkr
MTZ8MDtwW28rKGw8PDQpPj4zXT0rcFtnPj4zXTtlPWwrMXwwO3BbbysobDw8NCkrOD4+M109K3Bb
QisoaTw8NSkrOD4+M107cFtvKyhlPDw0KT4+M109K3BbZz4+M107Zz0yO2g9QisoaTw8NSkrMjR8
MDticmVhayBlfWNhc2UgLTE6e049QisoaTw8NSkrMTZ8MDtwW28rKGw8PDQpPj4zXT0rcFtOPj4z
XTtoPUIrKGk8PDUpKzh8MDtnPWwrMXwwO3BbbysobDw8NCkrOD4+M109K3BbaD4+M107cFtvKyhn
PDw0KT4+M109K3BbTj4+M107Tj1CKyhpPDw1KSsyNHwwO0s9bCsyfDA7cFtvKyhnPDw0KSs4Pj4z
XT0rcFtOPj4zXTtnPUIrKGk8PDUpfDA7cFtvKyhLPDw0KT4+M109K3BbZz4+M107ZT1sKzN8MDtw
W28rKEs8PDQpKzg+PjNdPStwW04+PjNdO3BbbysoZTw8NCk+PjNdPStwW2c+PjNdO2c9NDticmVh
ayBlfWRlZmF1bHQ6e0Q9NDQ7YnJlYWsgZH19d2hpbGUoMCk7cFtvKyhlPDw0KSs4Pj4zXT0rcFto
Pj4zXTtpPWkrLTF8MDtsPWwrZ3wwfWlmKChEfDApPT00NCl7ZltyPj4yXT1lO2Zbcis0Pj4yXT1l
O2Zbcis4Pj4yXT01MTM7WXcoMSwxMTMwODcscil8MDtlPTA7YnJlYWt9ZjpkbyBpZihufDApe2U9
MDt3aGlsZSgxKXtpZigoZXwwKT49KEZ8MCkpYnJlYWs7Sz1CKyhlPDw1KSsyNHwwO2s9K3BbSz4+
M107Tj1CKyhlPDw1KSs4fDA7cFtLPj4zXT0tK3BbTj4+M107cFtOPj4zXT0taztlPWUrMXwwfWU9
MDt3aGlsZSgxKXtpZigoZXwwKT49KGx8MCkpYnJlYWsgZjtOPW8rKGU8PDQpKzh8MDtwW04+PjNd
PS0rcFtOPj4zXTtlPWUrMXwwfX13aGlsZSgwKTtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+PShGfDAp
KWJyZWFrO3BbQisoZTw8NSk+PjNdPTIxNDc0ODM2NDcuMDtwW0IrKGU8PDUpKzE2Pj4zXT0tMjE0
NzQ4MzY0OC4wO2U9ZSsxfDB9ZltzPj4yXT1xO2g9cys0fDA7ZltoPj4yXT1sO3BbdT4+M109K3Bb
YT4+M107cFt1Kzg+PjNdPStwW2ErOD4+M107cFt1KzE2Pj4zXT0rcFthKzQwPj4zXTtwW3UrMjQ+
PjNdPStwW2ErNDg+PjNdO2lmKChhVihzLHUsRyl8MCk8MCl7WXcoMSwxMTMxOTEsdil8MDtlPTA7
YnJlYWt9aWYoIWQpe2c9ZltoPj4yXXwwO2U9Zls0ODQyN118MDtpZigoZ3wwKT4oZls0ODQyNl18
MCkpe2lmKCFlKWU9RUgoZzw8NSl8MDtlbHNlIGU9R0goZSxnPDw1KXwwO2ZbNDg0MjddPWU7Zz1m
W2g+PjJdfDA7Zls0ODQyNl09Z31pPWZbNDg0MzRdfDA7aD0wO3doaWxlKDEpe2lmKChofDApPj0o
Z3wwKSlicmVhaztLPWUrKGg8PDUpfDA7Tj1pKyhoPDw0KXwwO2ZbSz4+Ml09ZltOPj4yXTtmW0sr
ND4+Ml09ZltOKzQ+PjJdO2ZbSys4Pj4yXT1mW04rOD4+Ml07ZltLKzEyPj4yXT1mW04rMTI+PjJd
O0s9ZSsoaDw8NSkrMTZ8MDtOPWgrMXwwO3Y9aSsoKChOfDApJShnfDApfDApPDw0KXwwO2ZbSz4+
Ml09Zlt2Pj4yXTtmW0srND4+Ml09Zlt2KzQ+PjJdO2ZbSys4Pj4yXT1mW3YrOD4+Ml07ZltLKzEy
Pj4yXT1mW3YrMTI+PjJdO2g9Tn1pZighKGJbYSsyOT4+MF18MCkpe2o9MC4wO2s9MC4wfWVsc2V7
az0rcFthKzE2Pj4zXTtqPStMKCtrKTtrPStNKCtrKX1wW3crOD4+M109aztwW3c+PjNdPWo7aWYo
IShiW2ErNjk+PjBdfDApKXtqPTAuMDtrPTAuMH1lbHNle2s9K3BbYSs1Nj4+M107aj0tK0woK2sp
O2s9LStNKCtrKX1wW3crMjQ+PjNdPWs7cFt3KzE2Pj4zXT1qO2ZbRT4+Ml09ZltHPj4yXTtmW0Ur
ND4+Ml09ZltHKzQ+PjJdO2lmKChHVShlLGcsRSx3LHkpfDApPDApe1l3KDEsMTEzMjMwLHgpfDA7
ZT0wO2JyZWFrfX1lbHNle2ZbRT4+Ml09ZltHPj4yXTtmW0UrND4+Ml09ZltHKzQ+PjJdO3hWKEUs
eSl9bD15KzR8MDtpZighKHlKKGZbbD4+Ml18MCl8MCkpe2U9MDt3aGlsZSgxKXtpZigoZXwwKT49
KEZ8MCkpYnJlYWs7cFtCKyhlPDw1KT4+M109MjE0NzQ4MzY0Ny4wO3BbQisoZTw8NSkrMTY+PjNd
PS0yMTQ3NDgzNjQ4LjA7ZT1lKzF8MH1oPWZbbD4+Ml18MDtpPWZbNDg0MjhdfDA7Zz1mW3k+PjJd
fDA7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oaHwwKSlicmVhaztOPWkrKGU8PDQpfDA7Sz1nKyhl
PDw0KXwwO2ZbTj4+Ml09ZltLPj4yXTtmW04rND4+Ml09ZltLKzQ+PjJdO2ZbTis4Pj4yXT1mW0sr
OD4+Ml07ZltOKzEyPj4yXT1mW0srMTI+PjJdO2U9ZSsxfDB9aD0xO2U9MTA7Zz0wO3doaWxlKDEp
e2lmKCEoKGd8MCk8MTUmaDw8MjQ+PjI0IT0wKSlicmVhaztFSihCLEYsZls0ODQyOF18MCxmW2w+
PjJdfDAsZSk7aT0wO3doaWxlKDEpe2lmKChpfDApPj0oRnwwKSlicmVhaztpZigrcFtCKyhpPDw1
KT4+M109PTIxNDc0ODM2NDcuMCl7RD04OTticmVha31pZigrcFtCKyhpPDw1KSsxNj4+M109PS0y
MTQ3NDgzNjQ4LjApe0Q9ODk7YnJlYWt9aT1pKzF8MH1pZigoRHwwKT09ODkpe0Q9MDtOPWU8PDE7
ZT1OO2c9KE58MCk+KDIxNDc0ODM2NDcvKEZ8MCl8MHwwKT8xNTpnfWg9KGl8MCk9PShGfDApPzA6
aDtnPWcrMXwwfWlmKGg8PDI0Pj4yNCl7Sz1BeShmWygoZltDPj4yXSYzfDApPT0zP0M6eikrNDA+
PjJdfDApfDA7Tj1BeShmWygoZltDPj4yXSYzfDApPT0yP0M6QSkrNDA+PjJdfDApfDA7ZltJPj4y
XT1LO2ZbSSs0Pj4yXT1OO1l3KDAsMTEzMjY4LEkpfDA7ZltFPj4yXT1mW0c+PjJdO2ZbRSs0Pj4y
XT1mW0crND4+Ml07eFYoRSxIKTtFSihCLEYsZltIPj4yXXwwLGZbSCs0Pj4yXXwwLDEwKTtNXyhm
W0g+PjJdfDApfWZbYz4+Ml09ZltsPj4yXTtlPWZbNDg0MjhdfDB9ZWxzZSBlPTB9ZWxzZSBlPTB9
d2hpbGUoMCk7dD1KO3JldHVybiBlfDB9ZnVuY3Rpb24gREooYSxiLGMpe2E9YXwwO2I9YnwwO2M9
Y3wwO3ZhciBkPTAsZT0wLjAsZz0wLjAsaD0wLGk9MCxqPTAsaz0wLjAsbD0wLjAsbT0wLjAsbj0w
LjAsbz0wLjAscT0wLHI9MC4wLHM9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9
MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAuMCxLPTAsTD0wLE09MCxOPTAuMCxPPTAsUD0w
LFE9MDtRPXQ7dD10KzMyfDA7SD1RKzE2fDA7Rz1RKzh8MDtqPVE7ZD0wO2k9MDt3aGlsZSgxKXtp
ZigoaXwwKT49KGF8MCkpYnJlYWs7aD1iKyhpPDw1KXwwO3I9K3BbYisoaTw8NSkrOD4+M10tK3Bb
YisoaTw8NSkrMjQ+PjNdO2lmKCEoKHI+PTAuMD9yOi1yKTwuMDEpPyhyPStwW2g+PjNdLStwW2Ir
KGk8PDUpKzE2Pj4zXSwhKChyPj0wLjA/cjotcik8LjAxKSk6MCl7aWYoKGR8MCkhPShpfDApKXtP
PWIrKGQ8PDUpfDA7ZltPPj4yXT1mW2g+PjJdO2ZbTys0Pj4yXT1mW2grND4+Ml07ZltPKzg+PjJd
PWZbaCs4Pj4yXTtmW08rMTI+PjJdPWZbaCsxMj4+Ml07ZltPKzE2Pj4yXT1mW2grMTY+PjJdO2Zb
TysyMD4+Ml09ZltoKzIwPj4yXTtmW08rMjQ+PjJdPWZbaCsyND4+Ml07ZltPKzI4Pj4yXT1mW2gr
Mjg+PjJdfWQ9ZCsxfDB9aT1pKzF8MH1nPStwW2I+PjNdO0k9YisxNnwwO2U9K3BbST4+M107ZG8g
aWYoIShnPmUpPyhLPWIrOHwwLGw9K3BbSz4+M10sTT1iKzI0fDAsaz0rcFtNPj4zXSwhKGw+aykp
OjApe089ZCstMXwwO0w9ZlsxOTQ1N118MDt3PTA7d2hpbGUoMSl7aWYoKHd8MCk+PShPfDApKWJy
ZWFrO0Y9dysxfDA7QT1iKyhGPDw1KXwwO209K3BbQT4+M107Qj1iKyhGPDw1KSsxNnwwO249K3Bb
Qj4+M107aWYobT5uKXtQPTE2O2JyZWFrfUM9YisoRjw8NSkrOHwwO289K3BbQz4+M107RD1iKyhG
PDw1KSsyNHwwO3I9K3BbRD4+M107aWYobz5yKXtQPTE2O2JyZWFrfUU9Yisodzw8NSkrMTZ8MDt1
PWU8bTt6PWIrKHc8PDUpfDA7cz1nPm47aT1zJjE7eT1iKyh3PDw1KSsyNHwwO3E9azxvO2o9cSYx
O3g9Yisodzw8NSkrOHwwO2Q9bD5yO2E9ZCYxO3Y9aSsodSYxKStqK2F8MDtoPSh2fDApIT0wO2lm
KCEoMD09MHxoXjEpKXtmW0g+PjJdPXc7ZltIKzQ+PjJdPUY7ZzIoTCwxMTM0NjgsSCl8MDtGSihj
KX1hOmRvIGlmKGgpe2lmKCF1KWlmKCFzKWlmKCFxKWlmKGQpe2E9MDtqPTA7aT0wO2Q9RDtoPXg7
UD0yNH1lbHNle2Q9MDtoPTA7aT0wfWVsc2V7aj0wO2k9MDtkPUM7aD15O1A9MjR9ZWxzZXtpPTA7
ZD1CO2g9ejtQPTI0fWVsc2V7ZD1BO2g9RTtQPTI0fWlmKChQfDApPT0yNCl7UD0wO3c9fn4rcFto
Pj4zXTtwW2g+PjNdPStwW2Q+PjNdO3BbZD4+M109Kyh3fDApO2Q9YTtoPWp9aj12Ky0xfDA7YT0w
O3doaWxlKDEpe2lmKChhfDApPj0oanwwKSlicmVhayBhO2RvIGlmKChpfDApIT0xKXtpZigoaHww
KT09MSl7cj0rKH5+KCgrcFtDPj4zXSsgK3BbeT4+M10pKi41Ky41KXwwKTtwW0M+PjNdPXI7cFt5
Pj4zXT1yO2g9MDticmVha31pZigoZHwwKT09MSl7cj0rKH5+KCgrcFtEPj4zXSsgK3BbeD4+M10p
Ki41Ky41KXwwKTtwW0Q+PjNdPXI7cFt4Pj4zXT1yO2Q9MH19ZWxzZXtyPSsofn4oKCtwW0I+PjNd
KyArcFt6Pj4zXSkqLjUrLjUpfDApO3BbQj4+M109cjtwW3o+PjNdPXI7aT0wfXdoaWxlKDApO2E9
YSsxfDB9fXdoaWxlKDApO2U9K3Bbej4+M107Zz0rcFtFPj4zXTtvPStwW0E+PjNdO3I9K3BbQj4+
M107ZD1HSih+fmUsfn5nLH5+byx+fnIpfDA7az0rcFt4Pj4zXTtsPStwW3k+PjNdO209K3BbQz4+
M107bj0rcFtEPj4zXTtoPUdKKH5+ayx+fmwsfn5tLH5+bil8MDtkbyBpZigoZHwwKSE9MCYoaHww
KSE9MClpZigoZHwwKTwoaHwwKSl7ZD1nPHI7aWYoZy1lPnItbylpZihkKXtwW0U+PjNdPW87bD1t
O2s9bjtnPW87ZT1yO2JyZWFrfWVsc2V7cFt6Pj4zXT1yO2w9bTtrPW47Zz1vO2U9cjticmVha31l
bHNlIGlmKGQpe3BbQT4+M109ZztsPW07az1uO2U9cjticmVha31lbHNle3BbQj4+M109ZTtsPW07
az1uO2c9bzticmVha319ZWxzZXtkPWw8bjtpZihsLWs+bi1tKWlmKGQpe3BbeT4+M109bTtsPW07
az1uO2c9bztlPXI7YnJlYWt9ZWxzZXtwW3g+PjNdPW47bD1tO2s9bjtnPW87ZT1yO2JyZWFrfWVs
c2UgaWYoZCl7cFtDPj4zXT1sO2s9bjtnPW87ZT1yO2JyZWFrfWVsc2V7cFtEPj4zXT1rO2w9bTtn
PW87ZT1yO2JyZWFrfX1lbHNle2w9bTtrPW47Zz1vO2U9cn13aGlsZSgwKTt3PUZ9aWYoKFB8MCk9
PTE2KXtmW0c+PjJdPUY7WXcoMSwxMTM0MjIsRyl8MDtGSihjKTtkPTE7YnJlYWt9ZT0rcFtjPj4z
XTtnPStwW2I+PjNdO2lmKCEoKCghKGU8Zyk/IShlPitwW0k+PjNdKTowKT8oSj0rcFtjKzg+PjNd
LCEoSjwrcFtLPj4zXSkpOjApPyEoSj4rcFtNPj4zXSk6MCkpe2lmKDApe3EyKDExMzUxMSw0Miwx
LEwpfDA7RkooYyk7Zz0rcFtiPj4zXTtlPStwW2M+PjNdfWlmKGU8ZylwW2M+PjNdPWc7ZWxzZSBn
PWU7ZT0rcFtJPj4zXTtpZihnPmUpcFtjPj4zXT1lO2Q9Yys4fDA7Zz0rcFtkPj4zXTtlPStwW0s+
PjNdO2lmKGc8ZSl7cFtkPj4zXT1lO2c9ZX1lPStwW00+PjNdO2lmKGc+ZSlwW2Q+PjNdPWV9aD1j
KzQwfDA7ZT0rcFtoPj4zXTtkPWIrKE88PDUpfDA7Zz0rcFtkPj4zXTtpZigoKCEoZTxnKT8hKGU+
K3BbYisoTzw8NSkrMTY+PjNdKTowKT8oTj0rcFtjKzQ4Pj4zXSwhKE48K3BbYisoTzw8NSkrOD4+
M10pKTowKT8hKE4+K3BbYisoTzw8NSkrMjQ+PjNdKTowKXtkPTA7YnJlYWt9aWYoMCl7cTIoMTEz
NTU0LDM5LDEsTCl8MDtGSihjKTtnPStwW2Q+PjNdO2U9K3BbaD4+M119aWYoZTxnKXtwW2g+PjNd
PWc7ZT1nfWc9K3BbYisoTzw8NSkrMTY+PjNdO2lmKGU+ZylwW2g+PjNdPWc7ZD1jKzQ4fDA7ZT0r
cFtkPj4zXTtnPStwW2IrKE88PDUpKzg+PjNdO2lmKGU8ZylwW2Q+PjNdPWc7ZWxzZSBnPWU7ZT0r
cFtiKyhPPDw1KSsyND4+M107aWYoZz5lKXtwW2Q+PjNdPWU7ZD0wfWVsc2UgZD0wfWVsc2UgUD0x
MTt3aGlsZSgwKTtpZigoUHwwKT09MTEpe1l3KDEsMTEzMzc3LGopfDA7RkooYyk7ZD0xfXQ9UTty
ZXR1cm4gZHwwfWZ1bmN0aW9uIEVKKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7
ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MC4wLG09MC4wLG49MCxvPTAscT0w
LHI9MCxzPTAsdD0wLjAsdT0wLHY9MC4wLHc9MC4wLHg9MC4wLHk9MC4wLHo9MC4wO3M9VihlLGIp
fDA7dD0xLjAvKyhzfDApO2U9MDt3aGlsZSgxKXt1PWUrM3wwO2lmKCh1fDApPj0oZHwwKSlicmVh
aztuPWMrKGU8PDQpfDA7bz1jKyhlPDw0KSs4fDA7cj1lKzF8MDtxPWMrKHI8PDQpfDA7cj1jKyhy
PDw0KSs4fDA7aT1lKzJ8MDtoPWMrKGk8PDQpfDA7aT1jKyhpPDw0KSs4fDA7aj1jKyh1PDw0KXww
O2s9YysodTw8NCkrOHwwO2c9MDt3aGlsZSgxKXtpZigoZ3wwKT4oc3wwKSlicmVhazt2PXQqKyhn
fDApO2w9K3Bbbj4+M107bT0rcFtvPj4zXTt5PStwW3E+PjNdO3c9K3Bbcj4+M107ej0rcFtoPj4z
XTt4PStwW2k+PjNdO2w9KHktbCkqditsO209KHctbSkqdittO3k9KHoteSkqdit5O3c9KHgtdykq
dit3O2w9KHktbCkqditsO209KHctbSkqdittO2w9KCh6LXkrKCtwW2o+PjNdLXopKnYpKnYreS1s
KSp2K2w7bT0oKHgtdysoK3Bbaz4+M10teCkqdikqdit3LW0pKnYrbTtmPTA7d2hpbGUoMSl7aWYo
KGZ8MCk+PShifDApKWJyZWFrO2lmKG08PStwW2ErKGY8PDUpKzI0Pj4zXSsuMDAwMT9tPj0rcFth
KyhmPDw1KSs4Pj4zXSstLjAwMDE6MCl7ZT1hKyhmPDw1KXwwO2lmKCtwW2U+PjNdPmwpcFtlPj4z
XT1sO2U9YSsoZjw8NSkrMTZ8MDtpZigrcFtlPj4zXTxsKXBbZT4+M109bH1mPWYrMXwwfWc9Zysx
fDB9ZT11fXJldHVybn1mdW5jdGlvbiBGSihhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9
MCxpPTAsaj0wLGs9MCxsPTAuMCxtPTAuMCxuPTAuMCxvPTAuMCxxPTA7az10O3Q9dCsxMTJ8MDtp
PWsrODB8MDtqPWsrNDh8MDtoPWsrOHwwO2c9aztkPWZbMTk0NTddfDA7ZT1hKzgwfDA7ZltnPj4y
XT1mW2U+PjJdO2cyKGQsMTEzNTk0LGcpfDA7Zz1hKzg0fDA7Yz0wO3doaWxlKDEpe2lmKChjfDAp
Pj0oZltlPj4yXXwwKSlicmVhaztxPWZbZz4+Ml18MDtvPStwW3ErKGM8PDUpPj4zXTtuPStwW3Er
KGM8PDUpKzg+PjNdO209K3BbcSsoYzw8NSkrMTY+PjNdO2w9K3BbcSsoYzw8NSkrMjQ+PjNdO2Zb
aD4+Ml09YztwW2grOD4+M109bztwW2grMTY+PjNdPW47cFtoKzI0Pj4zXT1tO3BbaCszMj4+M109
bDtnMihkLDExMzYwNSxoKXwwO2M9YysxfDB9bz0rcFthKzg+PjNdO249K3BbYSsxNj4+M107cT0o
YlthKzI5Pj4wXXwwKT09MD8xMTM2MzY6MTEzNjUyO3Bbaj4+M109K3BbYT4+M107cFtqKzg+PjNd
PW87cFtqKzE2Pj4zXT1uO2ZbaisyND4+Ml09cTtnMihkLDExMzY2NCxqKXwwO249K3BbYSs0OD4+
M107bz0rcFthKzU2Pj4zXTtxPShiW2ErNjk+PjBdfDApPT0wPzExMzYzNjoxMTM2NTI7cFtpPj4z
XT0rcFthKzQwPj4zXTtwW2krOD4+M109bjtwW2krMTY+PjNdPW87ZltpKzI0Pj4yXT1xO2cyKGQs
MTEzNzE1LGkpfDA7dD1rO3JldHVybn1mdW5jdGlvbiBHSihhLGIsYyxkKXthPWF8MDtiPWJ8MDtj
PWN8MDtkPWR8MDtkbyBpZigoYnwwKT4oY3wwKSYoZHwwKT4oYXwwKSl7aWYoISgoY3wwKT4oYXww
KXwoZHwwKTwoYXwwKSkpe2E9ZC1hfDA7YnJlYWt9aWYoKGJ8MCk8KGN8MCl8KGJ8MCk+KGR8MCkp
e2I9Yi1hfDA7YT1kLWN8MDthPShifDApPChhfDApP2I6YTticmVha31lbHNle2E9Yi1jfDA7YnJl
YWt9fWVsc2UgYT0wO3doaWxlKDApO3JldHVybiBhfDB9ZnVuY3Rpb24gSEooYSxiKXthPWF8MDti
PWJ8MDtyZXR1cm4gQ0ooYSxiLDEpfDB9ZnVuY3Rpb24gSUooYSxiLGMsZCl7YT1hfDA7Yj1ifDA7
Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTA7aj10O3Q9dCs4MHwwO2c9ajtpPTE7
ZT1iO3doaWxlKDEpe2g9ZTtlPWZbKGZbZSsxNj4+Ml18MCkrMTcyPj4yXXwwO2lmKCEoKGV8MCkh
PTAmKGh8MCkhPShlfDApKSlicmVhaztlbHNlIGk9aSsxfDB9aWYoaT4+PjA+PTIxKWc9REgoaTw8
Mil8MDtoPTA7ZT1iO3doaWxlKDEpe2lmKChofDApPT0oaXwwKSlicmVhaztmW2crKGg8PDIpPj4y
XT1lO2g9aCsxfDA7ZT1mWyhmW2UrMTY+PjJdfDApKzE3Mj4+Ml18MH1KSihhLGcsaSxjLGQpO2lm
KGk+Pj4wPjIwKU1fKGcpO3Q9ajtyZXR1cm59CitmdW5jdGlvbiBmdShhLGMpe2E9YXwwO2M9Y3ww
O3ZhciBkPTAuMCxlPTAuMCxnPTAuMCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9
MCxyPTAscz0wLHU9MCx2PTA7cj10O3Q9dCsxNnwwO3E9cjt3cigpO1R0KCk7UnIoKTtvPXNiW2Mm
M10oKXwwO2ZbNDgyMTJdPW87VHIoKTtvPXErOHwwO249c2JbYyYzXSgpfDA7ZD0wLjA7ZT0wLjA7
YTp3aGlsZSgxKXtsPShufDApPT0wO209bis4fDA7d2hpbGUoMSl7aWYoIShOcigpfDApKXtPcihx
KTtkPStwW3E+PjNdO2U9K3Bbbz4+M119aWYoIWwpe2lmKE5yKCl8MClicmVhaztnPStwW20+PjNd
O2lmKGc8ZSlicmVhaztpZihnPT1lPytwW24+PjNdPGQ6MClicmVha31pZihOcigpfDApYnJlYWsg
YTtzPVByKCl8MDthPWFzKHMpfDA7dj0kcihzKXwwO2g9JHIodil8MDtrPWJzKHMpfDA7dT1jcyh2
KXwwO2k9ZltzKzIwPj4yXXwwO1d0KGkpO0FyKGZbcys4Pj4yXXwwLGJbcysxNj4+MF18MCxpKTtB
cihmW3YrOD4+Ml18MCxiW3YrMTY+PjBdfDAsaSk7X3Iocyk7TXIodik7X3Iodik7dj0rcFtrKzg+
PjNdPitwW3UrOD4+M107cz12JjE7aj12P3U6azt1PXhyKGosdj9rOnUpfDA7az1Vcih1LHMpfDA7
WHIoYSxrKTtBcih1LChzXjEpJjI1NSxpKTtYdChpKTtpPVZyKGEsayl8MDtpZihpfDApe01yKGEp
O0tyKGEsaSwrVnQoaSxqKSl9YT1WcihrLGgpfDA7aWYoYXwwKUtyKGssYSwrVnQoYSxqKSl9YT1Z
cihuKXwwO2o9JHIoYSl8MDtoPXhyKGNzKGEpfDAsbil8MDtrPVVyKGgsMCl8MDtYcihhLGspO2k9
VnIoYSxrKXwwO2lmKGl8MCl7TXIoYSk7S3IoYSxpLCtWdChpLG4pKX1oPVVyKGgsMSl8MDtYcihr
LGgpO2E9VnIoaCxqKXwwO2lmKGF8MClLcihoLGEsK1Z0KGEsbikpO249c2JbYyYzXSgpfDB9YT1m
WzQ4MTk0XXwwO3doaWxlKDEpe2E9JHIoYSl8MDtpZigoYXwwKT09KGZbNDgxOTVdfDApKWJyZWFr
O3lyKGZbYSs4Pj4yXXwwKX10PXI7cmV0dXJufWZ1bmN0aW9uIGd1KGEsYil7YT1hfDA7Yj1ifDA7
dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wO2c9dDt0PXQrMTZ8MDtlPWcrOHwwO2Q9ZztkbyBp
ZigoankoYSl8MCkhPTEpe2h1KGEpO2lmKCFiKWI9aXUoYSl8MDtjPWp1KGEsYil8MDtpZigwKXto
PWZbMTk0NTddfDA7aT1BeShiKXwwO2ZbZD4+Ml09aTtmW2QrND4+Ml09YztnMihoLDEwNDU2MSxk
KXwwfWlmKChjfDApPDApe1l3KDEsMTA0NTk1LGUpfDA7YnJlYWt9ZWxzZXtrdShhKTtsdShhLGIp
O211KGEsYik7bnUoYSxjKTticmVha319ZWxzZXtpPSgkeShhKXwwKSsxNnwwO2k9ZlsoZltpPj4y
XXwwKSsxMzI+PjJdfDA7ZltpPj4yXT0wO2ZbaSs0Pj4yXT0wO2ZbaSs4Pj4yXT0wO2ZbaSsxMj4+
Ml09MH13aGlsZSgwKTt0PWc7cmV0dXJuIGJ8MH1mdW5jdGlvbiBodShhKXthPWF8MDt2YXIgYj0w
LGM9MCxkPTAsZT0wLGc9MDtjPWp5KGEpfDA7Yz1WKGMsYyl8MDtiPSR5KGEpfDA7d2hpbGUoMSl7
aWYoIWIpYnJlYWs7ZD1iKzE2fDA7ZT1mWyhmW2Q+PjJdfDApKzExMj4+Ml18MDtnPWUrMjR8MDtm
W2c+PjJdPWM7ZltnKzQ+PjJdPTA7cFtlKzQ4Pj4zXT0xMC4wO2U9KHZ1KGEsYil8MCk9PTA7ZD1m
WyhmW2Q+PjJdfDApKzExMj4+Ml18MDtmW2Q+PjJdPWU/YzowO2ZbZCs0Pj4yXT1lPzA6MDtiPWF6
KGEsYil8MH1yZXR1cm59ZnVuY3Rpb24gaXUoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxn
PTAsaD0wO2Q9KGp5KGEpfDApPDM7Yj0keShhKXwwO2E6ZG8gaWYoIWQpe3doaWxlKDEpe2lmKCFi
KWJyZWFrO2Q9ZlsoZltiKzE2Pj4yXXwwKSsxMTI+PjJdfDA7aWYoKGZbZD4+Ml18MCk9PTAmKGZb
ZCs0Pj4yXXwwKT09MCl1dShhLGIsMCk7Yj1heihhLGIpfDB9Yz0wO2I9MDtkPSR5KGEpfDA7d2hp
bGUoMSl7aWYoIWQpYnJlYWsgYTtoPWZbKGZbZCsxNj4+Ml18MCkrMTEyPj4yXXwwO2c9ZltoPj4y
XXwwO2g9ZltoKzQ+PjJdfDA7ZT0oKGN8MCk8MCk8PDMxPj4zMTtlPWg+Pj4wPmU+Pj4wfChofDAp
PT0oZXwwKSZnPj4+MD5jPj4+MDtjPWU/ZzpjO2I9ZT9kOmI7ZD1heihhLGQpfDB9fXdoaWxlKDAp
O3JldHVybiBifDB9ZnVuY3Rpb24ganUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAs
Zz0wLGg9MCxpPTA7Yz1mWyhmW2IrMTY+PjJdfDApKzExMj4+Ml18MDtlPWMrMjR8MDtkPWZbZT4+
Ml18MDtmW2U+PjJdPTA7ZltlKzQ+PjJdPTA7ZltjKzMyPj4yXT0wO3J1KGEsYik7Yz0keShhKXww
O2Q9SjMoMCxkfDAsMzIpfDA7ZT1HO2I9MDt3aGlsZSgxKXtpZighYylicmVhaztoPShmWyhmW2Mr
MTY+PjJdfDApKzExMj4+Ml18MCkrMjR8MDtnPWZbaD4+Ml18MDtoPWZbaCs0Pj4yXXwwO2lmKChn
fDApPT0oZHwwKSYoaHwwKT09KGV8MCkpe2I9LTE7YnJlYWt9aT0oKGJ8MCk8MCk8PDMxPj4zMTti
PWg+Pj4wPmk+Pj4wfChofDApPT0oaXwwKSZnPj4+MD5iPj4+MD9nOmI7Yz1heihhLGMpfDB9cmV0
dXJuIGJ8MH1mdW5jdGlvbiBrdShhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wO2M9JHkoYSl8
MDt3aGlsZSgxKXtpZighYylicmVhaztiPWZbKGZbYysxNj4+Ml18MCkrMTEyPj4yXXwwO2Q9Yisx
NnwwO2E6ZG8gaWYoKGZbZD4+Ml18MCk9PTAmKGZbZCs0Pj4yXXwwKT09MCl3aGlsZSgxKXtkPWIr
OHwwO2U9ZDtlPUUzKGZbZT4+Ml18MCxmW2UrND4+Ml18MCwxLDApfDA7ZltkPj4yXT1lO2ZbZCs0
Pj4yXT1HO2I9ZltiKzMyPj4yXXwwO2lmKCFiKWJyZWFrIGE7Yj1mWyhmW2IrMTY+PjJdfDApKzEx
Mj4+Ml18MH13aGlsZSgwKTtjPWF6KGEsYyl8MH1yZXR1cm59ZnVuY3Rpb24gbHUoYSxiKXthPWF8
MDtiPWJ8MDtwWyhmWyhmW2IrMTY+PjJdfDApKzExMj4+Ml18MCkrNDA+PjNdPTYuMjgzMTg1MzA3
MTc5NTg2O3F1KGEsYik7cmV0dXJufWZ1bmN0aW9uIG11KGEsYil7YT1hfDA7Yj1ifDA7cFsoZlso
ZltiKzE2Pj4yXXwwKSsxMTI+PjJdfDApKzQ4Pj4zXT0wLjA7cHUoYSxiKTtyZXR1cm59ZnVuY3Rp
b24gbnUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAuMCxqPTAu
MDtoPXQ7dD10KzE2fDA7ZT1oO2c9b3UoYSxiKXwwO2lmKDApe2Q9ZlsxOTQ1N118MDtwMigxMDQ2
NTEsZCl8MDtjPTA7d2hpbGUoMSl7aWYoKGN8MCk+KGJ8MCkpYnJlYWs7cFtlPj4zXT0rcFtnKyhj
PDwzKT4+M107ZzIoZCwxMDQ2NzAsZSl8MDtjPWMrMXwwfXAyKDE1MTEyMixkKXwwfWM9JHkoYSl8
MDt3aGlsZSgxKXtpZighYylicmVhaztlPWZbYysxNj4+Ml18MDtkPWZbZSsxMTI+PjJdfDA7aT0r
cFtnKyhmW2QrMjQ+PjJdPDwzKT4+M107ZD1kKzQ4fDA7aj0rTCgrKCtwW2Q+PjNdKSkqaTtlPWZb
ZSsxMzI+PjJdfDA7cFtlPj4zXT1qO2k9K00oKygrcFtkPj4zXSkpKmk7cFtlKzg+PjNdPWk7Yz1h
eihhLGMpfDB9TV8oZyk7dD1oO3JldHVybn1mdW5jdGlvbiBvdShhLGMpe2E9YXwwO2M9Y3wwO3Zh
ciBkPTAuMCxlPTAuMCxnPTAsaD0wLjAsaT0wLGo9MCxrPTAsbD0wO2w9dDt0PXQrMTZ8MDtqPWw7
az1ESCgoYzw8MykrOHwwKXwwO2E9V0woYSx3eChmW2ErNjA+PjJdfDAsMCwxMDk2MTQsMCl8MCww
KXwwO2E6ZG8gaWYoIWEpe2U9MS4wO2Q9MC4wO2E9MX1lbHNle2g9MC4wO2Q9MC4wO2c9MTt3aGls
ZSgxKXtpZigoZ3wwKT4oY3wwKSl7ZT1oO2E9ZzticmVhayBhfWU9K0IyKGEsaik7aWYoIShlPjAu
MCkpe2U9aDthPWc7YnJlYWsgYX1oPWU+LjAyP2U6LjAyO2Q9aCtkO2k9ZysxfDA7cFtrKyhnPDwz
KT4+M109ZDthPWZbaj4+Ml18MDt3aGlsZSgxKXtnPWJbYT4+MF18MDtpZighKGc8PDI0Pj4yNCkp
YnJlYWs7aWYoIShnPDwyND4+MjQ9PTU4fChQJChnPDwyND4+MjQpfDApIT0wKSlicmVhazthPWEr
MXwwfWc9aX19d2hpbGUoMCk7d2hpbGUoMSl7aWYoKGF8MCk+KGN8MCkpYnJlYWs7aD1kK2U7cFtr
KyhhPDwzKT4+M109aDthPWErMXwwO2Q9aH10PWw7cmV0dXJuIGt8MH1mdW5jdGlvbiBwdShhLGIp
e2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLjAsZT0wLGc9MCxoPTAsaT0wLjA7Yz1mWyhmW2IrMTY+
PjJdfDApKzExMj4+Ml18MDtpZighKGZbYyszMj4+Ml18MCkpZD0wLjA7ZWxzZSBkPStwW2MrNDg+
PjNdLStwW2MrNDA+PjNdKi41O2c9U3goYSxiKXwwO3doaWxlKDEpe2lmKCFnKWJyZWFrO2M9Zltn
Pj4yXSYzO2U9ZlsoKGN8MCk9PTM/ZzpnKzQ4fDApKzQwPj4yXXwwO2lmKChlfDApPT0oYnwwKSll
PWZbKChjfDApPT0yP2c6ZystNDh8MCkrNDA+PjJdfDA7Yz1mWyhmW2UrMTY+PjJdfDApKzExMj4+
Ml18MDtpZigoZltjKzMyPj4yXXwwKT09KGJ8MCk/KGg9Yys0OHwwLCEoK3BbaD4+M10hPTEwLjAp
KTowKXtpPStwW2MrNDA+PjNdO3BbaD4+M109aSouNStkO2Q9aStkO2M9YysxNnwwO2lmKCEoKGZb
Yz4+Ml18MCk9PTAmKGZbYys0Pj4yXXwwKT09MCkpcHUoYSxlKX1nPVR4KGEsZyxiKXwwfXJldHVy
bn1mdW5jdGlvbiBxdShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAuMCxoPTAs
aT0wO2Q9ZlsoZltiKzE2Pj4yXXwwKSsxMTI+PjJdfDA7ZT1kKzh8MDtnPStwW2QrNDA+PjNdLygr
KChmW2U+PjJdfDApPj4+MCkrNDI5NDk2NzI5Ni4wKisoKGZbZSs0Pj4yXXwwKT4+PjApKTtlPVN4
KGEsYil8MDt3aGlsZSgxKXtpZighZSlicmVhaztkPWZbZT4+Ml0mMztjPWZbKChkfDApPT0zP2U6
ZSs0OHwwKSs0MD4+Ml18MDtpZigoY3wwKT09KGJ8MCkpYz1mWygoZHwwKT09Mj9lOmUrLTQ4fDAp
KzQwPj4yXXwwO2Q9ZlsoZltjKzE2Pj4yXXwwKSsxMTI+PjJdfDA7aWYoKChmW2QrMzI+PjJdfDAp
PT0oYnwwKT8oaD1kKzQwfDAsISgrcFtoPj4zXSE9MC4wKSk6MCk/KGk9ZCs4fDAscFtoPj4zXT1n
KigrKChmW2k+PjJdfDApPj4+MCkrNDI5NDk2NzI5Ni4wKisoKGZbaSs0Pj4yXXwwKT4+PjApKSxk
PWQrMTZ8MCwhKChmW2Q+PjJdfDApPT0wJihmW2QrND4+Ml18MCk9PTApKTowKXF1KGEsYyk7ZT1U
eChhLGUsYil8MH1yZXR1cm59ZnVuY3Rpb24gcnUoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9
MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wO289dDt0PXQrMTZ8
MDttPW87bj13eChhLDIsMTA5ODY3LDApfDA7ZlttKzQ+PjJdPTA7ZlttPj4yXT0wO3N1KG0sYyk7
aj0obnwwKT09MDt3aGlsZSgxKXtrPXR1KG0pfDA7aWYoIWspYnJlYWs7bD1rKzE2fDA7aD0oZlso
ZlsoZltsPj4yXXwwKSsxMTI+PjJdfDApKzI0Pj4yXXwwKSsxfDA7aT0oKGh8MCk8MCk8PDMxPj4z
MTtnPVN4KGEsayl8MDt3aGlsZSgxKXtpZighZylicmVhaztpZighKCghaj8oZT1IeChnLG4pfDAs
KGJbZT4+MF18MCk9PTQ4KTowKT8hKEgkKEh4KGcsbil8MCwxNDY2NjQpfDApOjApKXtjPWZbZz4+
Ml0mMztkPWZbKChjfDApPT0zP2c6Zys0OHwwKSs0MD4+Ml18MDtpZigoZHwwKT09KGt8MCkpZD1m
WygoY3wwKT09Mj9nOmcrLTQ4fDApKzQwPj4yXXwwO2M9ZlsoZltkKzE2Pj4yXXwwKSsxMTI+PjJd
fDA7ZT1jKzI0fDA7cD1lO3E9ZltwKzQ+PjJdfDA7aWYocT4+PjA+aT4+PjB8KChxfDApPT0oaXww
KT8oZltwPj4yXXwwKT4+PjA+aD4+PjA6MCkpe3E9ZTtmW3E+PjJdPWg7ZltxKzQ+PjJdPWk7Zltj
KzMyPj4yXT1rO3E9KGZbKGZbbD4+Ml18MCkrMTEyPj4yXXwwKSsxNnwwO3A9cTtwPUUzKGZbcD4+
Ml18MCxmW3ArND4+Ml18MCwxLDApfDA7ZltxPj4yXT1wO2ZbcSs0Pj4yXT1HO3N1KG0sZCl9fWc9
VHgoYSxnLGspfDB9fXQ9bztyZXR1cm59ZnVuY3Rpb24gc3UoYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wLGQ9MDtjPURIKDgpfDA7ZltjPj4yXT1iO2I9YSs0fDA7ZD1mW2I+PjJdfDA7ZlsoKGR8MCk9
PTA/YTpkKzR8MCk+PjJdPWM7ZltiPj4yXT1jO3JldHVybn1mdW5jdGlvbiB0dShhKXthPWF8MDt2
YXIgYj0wLGM9MDtjPWZbYT4+Ml18MDtpZihjKXtiPWZbYz4+Ml18MDtmW2E+PjJdPWZbYys0Pj4y
XTtNXyhjKTtpZighKGZbYT4+Ml18MCkpZlthKzQ+PjJdPTB9ZWxzZSBiPTA7cmV0dXJuIGJ8MH1m
dW5jdGlvbiB1dShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxp
PTAsaj0wLGs9MDtoPShmW2ZbKGZbYisxNj4+Ml18MCkrMTEyPj4yXT4+Ml18MCkrMXwwO2k9KCho
fDApPDApPDwzMT4+MzE7Zz1TeChhLGIpfDA7d2hpbGUoMSl7aWYoIWcpYnJlYWs7ZT1mW2c+PjJd
JjM7ZD1mWygoZXwwKT09Mz9nOmcrNDh8MCkrNDA+PjJdfDA7aWYoKGR8MCk9PShifDApKWQ9Zlso
KGV8MCk9PTI/ZzpnKy00OHwwKSs0MD4+Ml18MDtpZigoZHwwKSE9KGN8MCk/KGo9ZlsoZltkKzE2
Pj4yXXwwKSsxMTI+PjJdfDAsZT1qLGs9ZltlKzQ+PjJdfDAsaz4+PjA+aT4+PjB8KChrfDApPT0o
aXwwKT8oZltlPj4yXXwwKT4+PjA+aD4+PjA6MCkpOjApe2s9ajtmW2s+PjJdPWg7ZltrKzQ+PjJd
PWk7dXUoYSxkLGIpfWc9VHgoYSxnLGIpfDB9cmV0dXJufWZ1bmN0aW9uIHZ1KGEsYil7YT1hfDA7
Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MDtlPTA7Zz1TeChhLGIpfDA7d2hpbGUoMSl7aWYoIWcp
e2M9MTticmVha31kPWZbZz4+Ml0mMztjPWZbKChkfDApPT0zP2c6Zys0OHwwKSs0MD4+Ml18MDtp
ZigoY3wwKT09KGJ8MCkpYz1mWygoZHwwKT09Mj9nOmcrLTQ4fDApKzQwPj4yXXwwO2lmKChjfDAp
IT0oYnwwKSl7aWYoZSlpZigoZXwwKT09KGN8MCkpYz1lO2Vsc2V7Yz0wO2JyZWFrfX1lbHNlIGM9
ZTtlPWM7Zz1UeChhLGcsYil8MH1yZXR1cm4gY3wwfWZ1bmN0aW9uIHd1KGEpe2E9YXwwO3ZhciBi
PTAsYz0wLGQ9MCxlPTAuMCxnPTA7Yj10O3Q9dCszMnwwO2Q9YjtjPXd4KGEsMSwxMDQ2NzgsMCl8
MDtnPXd4KGEsMCwxMDQ2NzgsMCl8MDthPXh1KGEsZyxjLHd4KGEsMCwxMDQ2ODMsMCl8MCl8MDtj
PWErMTZ8MDtlPStKKCsoK3BbYT4+M10rLjEpKTtJdShkLDAuMCwwLjAsZSxlKTtmW2M+PjJdPWZb
ZD4+Ml07ZltjKzQ+PjJdPWZbZCs0Pj4yXTtmW2MrOD4+Ml09ZltkKzg+PjJdO2ZbYysxMj4+Ml09
ZltkKzEyPj4yXTtmW2MrMTY+PjJdPWZbZCsxNj4+Ml07ZltjKzIwPj4yXT1mW2QrMjA+PjJdO2Zb
YysyND4+Ml09ZltkKzI0Pj4yXTtmW2MrMjg+PjJdPWZbZCsyOD4+Ml07eXUoYSk7enUoYSk7QXUo
YSk7dD1iO3JldHVybn1mdW5jdGlvbiB4dShhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8
MDt2YXIgZT0wLjAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MDtuPURIKDcyKXwwO2Zb
bis2MD4+Ml09MDtmW24rNTY+PjJdPWE7aj1hKzE2fDA7ZT0wLjA7az0wO2g9MTtpPTA7bD0wO3do
aWxlKDEpe2c9ZltqPj4yXXwwO2lmKChofDApPihmW2crMTgwPj4yXXwwKSlicmVhaztnPXh1KGZb
KGZbZysxODQ+PjJdfDApKyhoPDwyKT4+Ml18MCxiLGMsZCl8MDtlPStwW2c+PjNdK2U7aWYoaXww
KWZbaSs1Mj4+Ml09ZztrPWsrMXwwO2g9aCsxfDA7aT1nO2w9KGx8MCk9PTA/ZzpsfW09JHkoYSl8
MDtnPWw7d2hpbGUoMSl7aWYoIW0pYnJlYWs7aD1tKzE2fDA7aWYoIShmW2ZbKGZbaD4+Ml18MCkr
MTEyPj4yXT4+Ml18MCkpe2o9RHUobSxjKXwwO2U9K3Bbaj4+M10rZTtpZihpfDApZltpKzUyPj4y
XT1qO2ZbZlsoZltoPj4yXXwwKSsxMTI+PjJdPj4yXT1hO2g9aysxfDA7aT1qO2c9KGd8MCk9PTA/
ajpnfWVsc2UgaD1rO209YXooYSxtKXwwO2s9aH1mW24rNjQ+PjJdPWs7aWYoIWspZT0rRnUoYSxi
KTtlbHNle3Bbbis4Pj4zXT1lO2U9K0V1KG4sZCl9cFtuPj4zXT1lO2Zbbis0OD4+Ml09ZztyZXR1
cm4gbnwwfWZ1bmN0aW9uIHl1KGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLjAsaD0w
LGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MC4wLHE9MC4wLHI9MC4wLHM9MC4wLHU9MC4wO249
dDt0PXQrMTc2fDA7ZT1uKzE0NHwwO2w9bis2NHwwO2o9biszMnwwO2g9bjttPWZbYSs2ND4+Ml18
MDthOmRvIGlmKG18MCl7az1ESChtPDwyKXwwO2I9YSs0OHwwO2Q9MDtjPWI7d2hpbGUoMSl7Yz1m
W2M+PjJdfDA7aWYoKGR8MCk+PShtfDApKWJyZWFrO2ZbaysoZDw8Mik+PjJdPWM7ZD1kKzF8MDtj
PWMrNTJ8MH1XJChrLG0sNCw3OSk7aT1ESChtPDwzKXwwO2M9MDt3aGlsZSgxKXtpZigoY3wwKT49
KG18MCkpYnJlYWs7cFtpKyhjPDwzKT4+M109K3BbZltrKyhjPDwyKT4+Ml0+PjNdO2M9YysxfDB9
Zz0rcFthKzg+PjNdO2lmKCtwW2E+PjNdPT1nKXtoPWErMTZ8MDtmW2U+PjJdPWZbaD4+Ml07Zltl
KzQ+PjJdPWZbaCs0Pj4yXTtmW2UrOD4+Ml09ZltoKzg+PjJdO2ZbZSsxMj4+Ml09ZltoKzEyPj4y
XTtmW2UrMTY+PjJdPWZbaCsxNj4+Ml07ZltlKzIwPj4yXT1mW2grMjA+PjJdO2ZbZSsyND4+Ml09
ZltoKzI0Pj4yXTtmW2UrMjg+PjJdPWZbaCsyOD4+Ml07aD1HdShtLGksZSl8MH1lbHNle289K3Bb
YSs0MD4+M107cT0rcFthKzMyPj4zXTtwW2g+PjNdPStwW2ErMTY+PjNdO3BbaCs4Pj4zXT0rcFth
KzI0Pj4zXTtyPW8tcTtnPShxK28tK0ooKyhyKnIrZyo0LjApKSkqLjU7cFtoKzE2Pj4zXT1xLWc7
cFtoKzI0Pj4zXT1vLWc7ZltlPj4yXT1mW2g+PjJdO2ZbZSs0Pj4yXT1mW2grND4+Ml07ZltlKzg+
PjJdPWZbaCs4Pj4yXTtmW2UrMTI+PjJdPWZbaCsxMj4+Ml07ZltlKzE2Pj4yXT1mW2grMTY+PjJd
O2ZbZSsyMD4+Ml09ZltoKzIwPj4yXTtmW2UrMjQ+PjJdPWZbaCsyND4+Ml07ZltlKzI4Pj4yXT1m
W2grMjg+PjJdO2g9R3UobSxpLGUpfDB9aWYoMCl7ZT1mWzE5NDU3XXwwO289K3BbYSsyND4+M107
cT0rcFthKzMyPj4zXTtyPStwW2ErNDA+PjNdO3Bbaj4+M109K3BbYSsxNj4+M107cFtqKzg+PjNd
PW87cFtqKzE2Pj4zXT1xO3BbaisyND4+M109cjtnMihlLDEwNDczMCxqKXwwfWQ9ZlsxOTQ1N118
MDtjPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShtfDApKWJyZWFrO2o9KGZbaysoYzw8Mik+PjJdfDAp
KzE2fDA7ZT1oKyhjPDw1KXwwO2Zbaj4+Ml09ZltlPj4yXTtmW2orND4+Ml09ZltlKzQ+PjJdO2Zb
ais4Pj4yXT1mW2UrOD4+Ml07ZltqKzEyPj4yXT1mW2UrMTI+PjJdO2ZbaisxNj4+Ml09ZltlKzE2
Pj4yXTtmW2orMjA+PjJdPWZbZSsyMD4+Ml07ZltqKzI0Pj4yXT1mW2UrMjQ+PjJdO2ZbaisyOD4+
Ml09ZltlKzI4Pj4yXTtpZigwKXtnPStwW2U+PjNdO3E9K3BbaCsoYzw8NSkrMTY+PjNdO3U9cSou
NTtvPStwW2grKGM8PDUpKzg+PjNdO3I9K3BbaCsoYzw8NSkrMjQ+PjNdO3M9ciouNTtwW2w+PjNd
PStwW2krKGM8PDMpPj4zXTtwW2wrOD4+M109Zy11O3BbbCsxNj4+M109by1zO3BbbCsyND4+M109
dStnO3BbbCszMj4+M109cytvO3BbbCs0MD4+M109cipxO3BbbCs0OD4+M109ZztwW2wrNTY+PjNd
PW87cFtsKzY0Pj4zXT1xO3BbbCs3Mj4+M109cjtnMihkLDEwNDc0NyxsKXwwfWM9YysxfDB9TV8o
ayk7TV8oaSk7TV8oaCk7Yz0wO3doaWxlKDEpe2I9ZltiPj4yXXwwO2lmKChjfDApPj0obXwwKSli
cmVhayBhO2lmKCEoZltiKzYwPj4yXXwwKSl5dShiKTtiPWIrNTJ8MDtjPWMrMXwwfX13aGlsZSgw
KTt0PW47cmV0dXJufWZ1bmN0aW9uIHp1KGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0w
LjAsaD0wLjAsaT0wLGo9MC4wLGs9MC4wO2U9dDt0PXQrNDh8MDtkPWU7aWYoZlthKzYwPj4yXXww
KXtqPStwW2ErMjQ+PjNdO2g9K3BbYSszMj4+M107Zz0rcFthKzQwPj4zXTtiPWZbYSs1Nj4+Ml18
MDtjPWIrMTZ8MDtpPWZbYz4+Ml18MDtwW2krMTY+PjNdPStwW2ErMTY+PjNdO3BbaSsyND4+M109
ajthPWZbYz4+Ml18MDtwW2ErMzI+PjNdPWgqLjAxMzg4ODg4ODg4ODg4ODg4ODtwW2ErNDA+PjNd
PWcqLjAxMzg4ODg4ODg4ODg4ODg4ODthPShueihiKXwwKSsxNnwwO2tOKGIsZlsoZlthPj4yXXww
KSsxMTY+PjJdJjEpO0J1KGIpO2lmKDApe2k9ZlsxOTQ1N118MDthPUF5KGIpfDA7Yz1mW2M+PjJd
fDA7az0rcFtjKzE2Pj4zXTtnPStwW2MrMjQ+PjNdO2g9K3BbYys4MD4+M107aj0rcFtjKzk2Pj4z
XSsgK3BbYys4OD4+M107ZltkPj4yXT1hO3BbZCs4Pj4zXT1rO3BbZCsxNj4+M109ZztwW2QrMjQ+
PjNdPWg7cFtkKzMyPj4zXT1qO2cyKGksMTA0Njg5LGQpfDB9fWVsc2V7Yj1hKzQ4fDA7d2hpbGUo
MSl7Yj1mW2I+PjJdfDA7aWYoIWIpYnJlYWs7enUoYik7Yj1iKzUyfDB9aD0rcFthKzMyPj4zXTtr
PStwW2ErNDA+PjNdO2c9K3BbYSsxNj4+M10taCouNTtqPStwW2ErMjQ+PjNdLWsqLjU7aT1mWyhm
W2ErNTY+PjJdfDApKzE2Pj4yXXwwO3BbaSsxNj4+M109ZztwW2krMjQ+PjNdPWo7cFtpKzMyPj4z
XT1nK2g7cFtpKzQwPj4zXT1qK2t9dD1lO3JldHVybn1mdW5jdGlvbiBBdShhKXthPWF8MDt2YXIg
Yj0wLGM9MCxkPTA7ZD1mW2ErNjQ+PjJdfDA7Yj1hKzQ4fDA7Yz0wO3doaWxlKDEpe2I9ZltiPj4y
XXwwO2lmKChjfDApPj0oZHwwKSlicmVhaztBdShiKTtiPWIrNTJ8MDtjPWMrMXwwfU1fKGEpO3Jl
dHVybn1mdW5jdGlvbiBCdShhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wO2c9dDt0PXQrNDh8
MDtlPWcrNDB8MDtjPWc7ZD1mWzQ4MzQyXXwwO2lmKGR8MD8oZD1IeChhLGQpfDAsKGJbZD4+MF18
MCk9PTApOjApe3BbZT4+M109K3BbKGZbYSsxNj4+Ml18MCkrODA+PjNdKi43O2QkKGMsMTA0NzI0
LGUpfDA7QXgoYSxmWzQ4MzQyXXwwLGMpfDB9bU0oYSk7dD1nO3JldHVybn1mdW5jdGlvbiBDdShh
LGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMDtjPStwW2ZbYT4+Ml0+PjNdLStwW2ZbYj4+Ml0+PjNd
O3JldHVybiAoYzwwLjA/MTooYz4wLjApPDwzMT4+MzEpfDB9ZnVuY3Rpb24gRHUoYSxiKXthPWF8
MDtiPWJ8MDt2YXIgYz0wLGQ9MC4wO2M9REgoNzIpfDA7ZD0rRnUoYSxiKTtwW2M+PjNdPWQ7Zltj
KzYwPj4yXT0xO2ZbYys1Nj4+Ml09YTtyZXR1cm4gY3wwfWZ1bmN0aW9uIEV1KGEsYil7YT1hfDA7
Yj1ifDA7dmFyIGM9MC4wO2M9K1VMKGZbYSs1Nj4+Ml18MCxiLDAuMCwwLjApO2lmKGM9PTAuMClj
PStwW2ErOD4+M107ZWxzZXtjPStKKCsoK3BbYSs4Pj4zXSkpK2MqMi4wO2M9YypjfXJldHVybiAr
Y31mdW5jdGlvbiBGdShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMDtjPStVTChhLGIsMS4wLDAu
MCk7cmV0dXJuICsoYz09MC4wPzEuMGUzOmMqMS4wZTMpfWZ1bmN0aW9uIEd1KGEsYixjKXthPWF8
MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MC4wLGc9MCxoPTAsaT0wLjA7aD10O3Q9dCszMnwwO2c9
aDtkPTA7ZT0wLjA7d2hpbGUoMSl7aWYoKGR8MCk+PShhfDApKWJyZWFrO2k9K3BbYisoZDw8Myk+
PjNdK2U7ZD1kKzF8MDtlPWl9aWYoZT4rcFtjKzI0Pj4zXSorcFtjKzE2Pj4zXSsuMDAxKWQ9MDtl
bHNle2Q9REgoYTw8NSl8MDtmW2c+PjJdPWZbYz4+Ml07ZltnKzQ+PjJdPWZbYys0Pj4yXTtmW2cr
OD4+Ml09ZltjKzg+PjJdO2ZbZysxMj4+Ml09ZltjKzEyPj4yXTtmW2crMTY+PjJdPWZbYysxNj4+
Ml07ZltnKzIwPj4yXT1mW2MrMjA+PjJdO2ZbZysyND4+Ml09ZltjKzI0Pj4yXTtmW2crMjg+PjJd
PWZbYysyOD4+Ml07SHUoYSxiLGQsMCwwLjAsMS4wLDAuMCwxLjAsZyl9dD1oO3JldHVybiBkfDB9
ZnVuY3Rpb24gSHUoYSxiLGMsZCxlLGcsaCxpLGope2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9
K2U7Zz0rZztoPStoO2k9K2k7aj1qfDA7dmFyIGs9MCxsPTAuMCxtPTAsbj0wLjAsbz0wLHE9MC4w
LHI9MC4wLHM9MC4wLHU9MC4wLHY9MCx3PTAuMCx4PTAseT0wLHo9MCxBPTAsQj0wLjA7ej10O3Q9
dCsxMTJ8MDt5PXorNzJ8MDt2PXorNDB8MDtvPXorMzJ8MDttPXo7eD1qKzE2fDA7cT0rcFt4Pj4z
XTtrPWorMjR8MDtyPStwW2s+PjNdO3c9cTxyP3E6cjtkbyBpZigoYXwwKT49MSl7aWYoMCl7QT1m
WzE5NDU3XXwwO0I9K3Bbais4Pj4zXTtwW20+PjNdPStwW2o+PjNdO3BbbSs4Pj4zXT1xO3BbbSsx
Nj4+M109QjtwW20rMjQ+PjNdPXI7ZzIoQSwxMDQ3ODQsbSl8MDtmW28+PjJdPWQ7ZzIoQSwxMDQ4
MzAsbyl8MH1pZighZCl7aD0rcFtiPj4zXTtCPXcqdzt3PWgvQjtCPUIvaDtmW3k+PjJdPWZbaj4+
Ml07Zlt5KzQ+PjJdPWZbais0Pj4yXTtmW3krOD4+Ml09ZltqKzg+PjJdO2ZbeSsxMj4+Ml09Zltq
KzEyPj4yXTtmW3krMTY+PjJdPWZbaisxNj4+Ml07Zlt5KzIwPj4yXT1mW2orMjA+PjJdO2ZbeSsy
ND4+Ml09ZltqKzI0Pj4yXTtmW3krMjg+PjJdPWZbaisyOD4+Ml07SHUoYSxiLGMsMSxoLGgsaCx3
PkI/dzpCLHkpO2JyZWFrfWlmKChhfDApPihkfDApPyh1PStwW2IrKGQ8PDMpPj4zXSxsPXU8ZT9l
OnUscz11Pmc/Zzp1LHU9dStoLG49dS93LG49bipuLEI9bi9zLG49bC9uLG49Qj5uP0I6bixuPD1p
KTowKXtmW3k+PjJdPWZbaj4+Ml07Zlt5KzQ+PjJdPWZbais0Pj4yXTtmW3krOD4+Ml09ZltqKzg+
PjJdO2ZbeSsxMj4+Ml09ZltqKzEyPj4yXTtmW3krMTY+PjJdPWZbaisxNj4+Ml07Zlt5KzIwPj4y
XT1mW2orMjA+PjJdO2ZbeSsyND4+Ml09ZltqKzI0Pj4yXTtmW3krMjg+PjJdPWZbaisyOD4+Ml07
SHUoYSxiLGMsZCsxfDAsbCxzLHUsbix5KTticmVha31xPWgvdztpZigwKXtBPWZbMTk0NTddfDA7
Zlt2Pj4yXT1kO3Bbdis4Pj4zXT1oO3BbdisxNj4+M109dztwW3YrMjQ+PjNdPXE7ZzIoQSwxMDQ4
NTUsdil8MH1sPStwW3g+PjNdO2lmKHc9PWwpe249MS4wL3E7bz1qKzh8MDtsPStwW2o+PjNdLWwq
LjU7bT0wO3doaWxlKDEpe2lmKChtfDApPj0oZHwwKSlicmVhaztwW2MrKG08PDUpKzI0Pj4zXT1x
O0I9K3BbYisobTw8Myk+PjNdKm47cFtjKyhtPDw1KSsxNj4+M109QjtwW2MrKG08PDUpKzg+PjNd
PSgrcFtrPj4zXS1xKSouNSsgK3Bbbz4+M107cFtjKyhtPDw1KT4+M109QiouNStsO2w9QitsO209
bSsxfDB9cFtvPj4zXT0rcFtvPj4zXS1xKi41fWVsc2V7bj0xLjAvcTtsPStwW2s+PjNdKi41KyAr
cFtqKzg+PjNdO2s9MDt3aGlsZSgxKXtpZigoa3wwKT49KGR8MCkpYnJlYWs7cFtjKyhrPDw1KSsx
Nj4+M109cTtCPStwW2IrKGs8PDMpPj4zXSpuO3BbYysoazw8NSkrMjQ+PjNdPUI7cFtjKyhrPDw1
KT4+M109KHEtK3BbeD4+M10pKi41KyArcFtqPj4zXTtwW2MrKGs8PDUpKzg+PjNdPWwtQiouNTts
PWwtQjtrPWsrMXwwfXBbaj4+M109K3Bbaj4+M10rcSouNTtrPXh9cFtrPj4zXT0rcFtrPj4zXS1x
O2ZbeT4+Ml09ZltqPj4yXTtmW3krND4+Ml09ZltqKzQ+PjJdO2ZbeSs4Pj4yXT1mW2orOD4+Ml07
Zlt5KzEyPj4yXT1mW2orMTI+PjJdO2ZbeSsxNj4+Ml09ZltqKzE2Pj4yXTtmW3krMjA+PjJdPWZb
aisyMD4+Ml07Zlt5KzI0Pj4yXT1mW2orMjQ+PjJdO2ZbeSsyOD4+Ml09ZltqKzI4Pj4yXTtIdShh
LWR8MCxiKyhkPDwzKXwwLGMrKGQ8PDUpfDAsMCwwLjAsMC4wLDAuMCwxLjAseSl9d2hpbGUoMCk7
dD16O3JldHVybn1mdW5jdGlvbiBJdShhLGIsYyxkLGUpe2E9YXwwO2I9K2I7Yz0rYztkPStkO2U9
K2U7cFthPj4zXT1iO3BbYSs4Pj4zXT1jO3BbYSsxNj4+M109ZDtwW2ErMjQ+PjNdPWU7cmV0dXJu
fWZ1bmN0aW9uIEp1KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZT0wLGc9MCxoPTAsaT0w
LGo9MC4wLGs9MC4wLGw9MC4wLG09MC4wLG89MCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9MCx4PTAs
eT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wO0Q9dDt0PXQrOTZ8MDtDPUQr
NDh8MDtCPUQrMjR8MDtBPUQrMTZ8MDt6PUQrOHwwO3U9RCs4MHwwO3Y9RDt3PWErMTZ8MDt4PWIr
NHwwO3k9dSs0fDA7cj0keShhKXwwO2M9MDtlPTA7Zz0wO2g9MDt3aGlsZSgxKXtpZighcilicmVh
aztzPU54KGEscil8MDtvPWM7cT1oO3doaWxlKDEpe2lmKCFzKWJyZWFrO2M9KGRbKGZbcysxNj4+
Ml18MCkrMTY4Pj4xXXwwKT09MDtkbyBpZigocnwwKT09KGZbKChmW3M+PjJdJjN8MCk9PTI/czpz
Ky00OHwwKSs0MD4+Ml18MCkpaWYoYyl7aD1vO2M9cX1lbHNle2lmKCFlKXtjPURIKDk2KXwwO2U9
REgoKChqeShhKXwwKTw8NSkrMTE1MjB8MCl8MDtmW2MrODQ+PjJdPWU7ZT1jfWVsc2UgYz1xO1Zt
KGUscyxmWyhmW3c+PjJdfDApKzI0OD4+Ml18MCk7aD1vfWVsc2UgaWYoIWMpe2c9S3UocyxiKXww
O2g9Zys4fDA7aWYoISh2cyhmW2g+PjJdfDAsZltnPj4yXXwwKXwwKSl7aWYob3wwKXtoPW87Yz1x
O2JyZWFrfXpxKHUsYSk7Yz1mRShhLDgsOCl8MDtZdygwLDEwNDk5MixBKXwwO2s9KyhjfDApO2w9
K25bYj4+Ml07bT0rblt4Pj4yXTtpZighKGw+PWspJiEobT49aykpe2o9K25bdT4+Ml07az0rblt5
Pj4yXTtpZighKCEoajw9bCkmIShrPD1tKSkpe3BbQz4+M109ajtwW0MrOD4+M109aztwW0MrMTY+
PjNdPWw7cFtDKzI0Pj4zXT1tO1l3KDMsMTA1MTA4LEMpfDB9fWVsc2V7ZltCPj4yXT1jO3BbQis4
Pj4zXT1sO3BbQisxNj4+M109bTtZdygzLDEwNTA1OCxCKXwwfWg9MTtjPXE7YnJlYWt9ZWxzZXtp
PUJVKGZbaD4+Ml18MCxmW2c+PjJdfDApfDA7aWYoIWkpe1l3KDAsMTA0OTA4LHopfDA7aD0xO2M9
cTticmVha31jPXM7d2hpbGUoMSl7aWYoIWMpYnJlYWs7RT1jKzE2fDA7Rj0oZltFPj4yXXwwKSsx
NDR8MDskbSh2LGMsaSwwLGZbaD4+Ml18MCxmW2c+PjJdfDApO0g9djtHPWZbSCs0Pj4yXXwwO2Zb
Rj4+Ml09ZltIPj4yXTtmW0YrND4+Ml09RztibihhLGMsZltoPj4yXXwwLGZbZz4+Ml18MCwwKTtj
PWZbKGZbRT4+Ml18MCkrMTcyPj4yXXwwfUx1KGcpO2g9bztjPXE7YnJlYWt9fWVsc2V7aD1vO2M9
cX13aGlsZSgwKTtzPVB4KGEscyl8MDtvPWg7cT1jfXI9YXooYSxyKXwwO2M9bztoPXF9TXUoZyk7
aWYoZXwwKXtNXyhmW2UrODQ+PjJdfDApO01fKGgpfXQ9RDtyZXR1cm4gY3wwfWZ1bmN0aW9uIEt1
KGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0w
LG49MCxvPTAscD0wLHE9MDtuPXQ7dD10KzE2fDA7bD1uKzR8MDttPW47ZT1mW2E+PjJdJjM7ZD1m
WygoZXwwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwO2U9ZlsoKGV8MCk9PTM/YTphKzQ4fDApKzQw
Pj4yXXwwO289ZCsxNnwwO2c9ZlsoZltvPj4yXXwwKSsyMTI+PjJdfDA7ZltsPj4yXT1nO2o9ZSsx
NnwwO2E9ZlsoZltqPj4yXXwwKSsyMTI+PjJdfDA7ZlttPj4yXT1hO2s9REgoMTIpfDA7aD1nO2k9
YTtpZihiWyhmW28+PjJdfDApKzExOD4+MF18MCl7aD1mWyhmWyhmW2grMTY+PjJdfDApKzE0MD4+
Ml18MCkrNDg+PjJdfDA7ZltsPj4yXT1oO2Q9ZztnPWh9aWYoYlsoZltqPj4yXXwwKSsxMTg+PjBd
fDApe2k9ZlsoZlsoZltpKzE2Pj4yXXwwKSsxNDA+PjJdfDApKzQ4Pj4yXXwwO2ZbbT4+Ml09aTtl
PWE7YT1pfWc9ZlsoZlsoZltnKzE2Pj4yXXwwKSsxNDA+PjJdfDApKzQ0Pj4yXXwwO2E9ZlsoZlso
ZlthKzE2Pj4yXXwwKSsxNDA+PjJdfDApKzQ0Pj4yXXwwO2lmKChnfDApPD0oYXwwKSlpZigoYXww
KT4oZ3wwKSl7TnUoayxhLGUsZyxtLGMpO2U9ZlttPj4yXXwwO2E9ZlsoZlsoZltlKzE2Pj4yXXww
KSsxNDA+PjJdfDApKzQ4Pj4yXXwwO2ZbbT4+Ml09YTtnPWh9ZWxzZXthPWk7Zz1ofWVsc2V7TnUo
ayxnLGQsYSxsLGMpO2Q9ZltsPj4yXXwwO2c9ZlsoZlsoZltkKzE2Pj4yXXwwKSsxNDA+PjJdfDAp
KzQ4Pj4yXXwwO2ZbbD4+Ml09ZzthPWl9aD1mW2w+PjJdfDA7aT1mW20+PjJdfDA7d2hpbGUoMSl7
aWYoKGd8MCk9PShhfDApKWJyZWFrO091KGssZywwLGQsYyk7T3UoayxhLGUsMCxjKTtxPWZbKGZb
KGZbZysxNj4+Ml18MCkrMTQwPj4yXXwwKSs0OD4+Ml18MDtwPWZbKGZbKGZbYSsxNj4+Ml18MCkr
MTQwPj4yXXwwKSs0OD4+Ml18MDtqPWE7bz1nO2g9cTtpPXA7Zz1xO2E9cDtlPWo7ZD1vfWZbbD4+
Ml09aDtmW20+PjJdPWk7T3UoayxhLGUsZCxjKTt0PW47cmV0dXJuIGt8MH1mdW5jdGlvbiBMdShh
KXthPWF8MDtmW2E+PjJdPTA7cmV0dXJufWZ1bmN0aW9uIE11KGEpe2E9YXwwO2lmKGF8MCl7TV8o
ZlthKzg+PjJdfDApO01fKGEpfXJldHVybn1mdW5jdGlvbiBOdShhLGIsYyxkLGUsZyl7YT1hfDA7
Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MCxpPTA7aT1lO3doaWxlKDEpe2g9
ZltpPj4yXXwwO2lmKChifDApPD0oZHwwKSlicmVhaztPdShhLGgsYywwLGcpO2I9YistMXwwO2k9
KGZbKGZbaCsxNj4+Ml18MCkrMTQwPj4yXXwwKSs0OHwwO2M9aH1mW2U+PjJdPWM7cmV0dXJufWZ1
bmN0aW9uIE91KGEsYyxkLGUsZyl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGg9
MCxpPTA7aD0keShjKXwwO3doaWxlKDEpe2lmKCFoKWJyZWFrO2k9ZltoKzE2Pj4yXXwwO2lmKCEo
KGh8MCk9PShlfDApfCgoaHwwKT09KGR8MCk/MTooZltpKzIxMj4+Ml18MCkhPShjfDApKSk/KGJb
aSsxMTg+PjBdfDApPT0wOjApUHUoYSxZbShoLGcsMCl8MCk7aD1heihjLGgpfDB9aT1jKzE2fDA7
Yz0xO3doaWxlKDEpe2g9ZltpPj4yXXwwO2lmKChjfDApPihmW2grMTgwPj4yXXwwKSlicmVhazto
PWZbKGZbaCsxODQ+PjJdfDApKyhjPDwyKT4+Ml18MDtpZighKChofDApPT0oZHwwKXwoaHwwKT09
KGV8MCkpKVB1KGEsUXUoaCxnKXwwKTtjPWMrMXwwfXJldHVybn1mdW5jdGlvbiBQdShhLGIpe2E9
YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTA7ZD1hKzR8MDtlPWZbZD4+Ml18MDtnPWErOHww
O2M9ZltnPj4yXXwwO2RvIGlmKChlfDApPT0oZlthPj4yXXwwKSlpZighYyl7Yz1FSCg0MDApfDA7
ZltnPj4yXT1jO2ZbZD4+Ml09MTAwO2JyZWFrfWVsc2V7ZltkPj4yXT1lPDwxO2M9R0goYyxlPDwz
KXwwO2ZbZz4+Ml09YzticmVha313aGlsZSgwKTtnPWZbYT4+Ml18MDtmW2E+PjJdPWcrMTtmW2Mr
KGc8PDIpPj4yXT1iO3JldHVybn1mdW5jdGlvbiBRdShhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAu
MCxlPTAuMCxnPTAuMCxoPTAuMCxpPTAuMCxqPTAuMCxrPTAsbD0wLjAsbT0wLjAsbz0wLjA7az1E
SCg4KXwwO2E9ZlthKzE2Pj4yXXwwO2Q9K3BbYSsxNj4+M107aj0rcFthKzI0Pj4zXTtlPStwW2Er
MzI+PjNdO2k9K3BbYSs0MD4+M107ZltrKzQ+PjJdPTQ7YT1ESCg2NCl8MDtmW2s+PjJdPWE7aWYo
IShiW2MrOD4+MF18MCkpe289K25bYz4+Ml07bT0rbltjKzQ+PjJdO2c9KGUrZCkqLjUqKG8rLTEu
MCk7bD0oaStqKSouNSoobSstMS4wKTtoPWQqby1nO2c9ZSpvLWc7ZT1pKm0tbDtkPWoqbS1sfWVs
c2V7Zz0rbltjPj4yXTtvPStuW2MrND4+Ml07aD1kLWc7Zz1lK2c7ZT1pK287ZD1qLW99cFthPj4z
XT1oO3BbYSs4Pj4zXT1kO3BbYSsxNj4+M109aDtwW2ErMjQ+PjNdPWU7cFthKzMyPj4zXT1nO3Bb
YSs0MD4+M109ZTtwW2ErNDg+PjNdPWc7cFthKzU2Pj4zXT1kO3JldHVybiBrfDB9ZnVuY3Rpb24g
UnUoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxs
PTAsbT0wLG49MCxvPTA7bj10O3Q9dCsxNjB8MDttPW4rMTQ0fDA7aj1uKzEzNnwwO2c9bisxMjh8
MDtrPW47bD1ESChqeShhKXwwKXwwO2g9YSsxNnwwO2U9ZltmWyhmW2g+PjJdfDApKzE0MD4+Ml0+
PjJdfDA7YTpkbyBpZighZSl7Zz0wO2U9MH1lbHNle289QXkoYSl8MDtpPWZbNDgyMTddfDA7Zltn
Pj4yXT1vO2ZbZys0Pj4yXT1pO2QkKGssMTA1MTY4LGcpfDA7aT1FQShhLGssMSl8MDtKeihpLDE0
NTc1MywyODAsMSl8MDtnPURIKDU2KXwwO2ZbKGZbaSsxNj4+Ml18MCkrMTQwPj4yXT1nO2ZbZz4+
Ml09ZTtmW2crND4+Ml09ZlsoZlsoZltoPj4yXXwwKSsxNDA+PjJdfDApKzQ+PjJdO3doaWxlKDEp
e2c9ZltlKzQ+PjJdfDA7aWYoIWcpe2c9aTtlPTE7YnJlYWsgYX1pZighKGJbbCsoZlsoZltnKzE2
Pj4yXXwwKSsxMjA+PjJdfDApPj4wXXwwKSlTdShhLGcsaSxsKTtlPWUrMTZ8MH19d2hpbGUoMCk7
aD0wO2k9JHkoYSl8MDt3aGlsZSgxKXtpZighaSlicmVhaztvPWZbaSsxNj4+Ml18MDtpZigoYlts
KyhmW28rMTIwPj4yXXwwKT4+MF18MCk9PTA/KGJbbysxMTk+PjBdfDApPT0zOjApe2lmKCFnKXtv
PUF5KGEpfDA7Zz0oZls0ODIxN118MCkrZXwwO2Zbaj4+Ml09bztmW2orND4+Ml09ZztkJChrLDEw
NTE2OCxqKXwwO2c9RUEoYSxrLDEpfDA7SnooZywxNDU3NTMsMjgwLDEpfDA7bz1ESCg1Nil8MDtm
WyhmW2crMTY+PjJdfDApKzE0MD4+Ml09bztlPWUrMXwwfVN1KGEsaSxnLGwpO2g9MX1pPWF6KGEs
aSl8MH1pZihnfDApRUQoZyl8MDtnPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWcpYnJlYWs7aWYoIShi
W2wrKGZbKGZbZysxNj4+Ml18MCkrMTIwPj4yXXwwKT4+MF18MCkpe2o9QXkoYSl8MDtvPShmWzQ4
MjE3XXwwKStlfDA7ZlttPj4yXT1qO2ZbbSs0Pj4yXT1vO2QkKGssMTA1MTc2LG0pfDA7bz1FQShh
LGssMSl8MDtKeihvLDE0NTc1MywyODAsMSl8MDtqPURIKDU2KXwwO2ZbKGZbbysxNj4+Ml18MCkr
MTQwPj4yXT1qO1N1KGEsZyxvLGwpO0VEKG8pfDA7ZT1lKzF8MH1nPWF6KGEsZyl8MH1NXyhsKTtm
WzQ4MjE3XT0oZls0ODIxN118MCkrZTtpZihjfDApZltjPj4yXT1lO2lmKGR8MClmW2Q+PjJdPWg7
aT1ESCgoZTw8MikrNHwwKXwwO2g9aTtnPUZBKGEpfDA7d2hpbGUoMSl7aWYoIWcpYnJlYWs7Zlto
Pj4yXT1nO2g9aCs0fDA7Zz1HQShnKXwwO2U9ZSstMXwwfWlmKCFlKXtmW2g+PjJdPTA7dD1uO3Jl
dHVybiBpfDB9ZWxzZSB4YSgxMDUxODQsMTA1MTk1LDEzNCwxMDUyMDIpO3JldHVybiAwfWZ1bmN0
aW9uIFN1KGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MDti
W2UrKGZbKGZbYysxNj4+Ml18MCkrMTIwPj4yXXwwKT4+MF09MTtleihkLGMsMSl8MDtpPVN4KGEs
Yyl8MDt3aGlsZSgxKXtpZighaSlicmVhaztoPWZbaT4+Ml0mMztnPWZbKChofDApPT0zP2k6aSs0
OHwwKSs0MD4+Ml18MDtpZigoZ3wwKT09KGN8MCkpZz1mWygoaHwwKT09Mj9pOmkrLTQ4fDApKzQw
Pj4yXXwwO2lmKCEoYltlKyhmWyhmW2crMTY+PjJdfDApKzEyMD4+Ml18MCk+PjBdfDApKVN1KGEs
ZyxkLGUpO2k9VHgoYSxpLGMpfDB9cmV0dXJufWZ1bmN0aW9uIFR1KGEpe2E9YXwwO3ZhciBiPTAs
Yz0wO2I9RUgoMjQpfDA7Zls0ODIxOF09YjtjPUx3KDcxODg0LGZbMTgwMDFdfDApfDA7ZltiPj4y
XT1jO2ZbYisxNj4+Ml09MDtmW2IrMTI+PjJdPTA7YT1VdShhKXwwO2ZbYis0Pj4yXT1hO3JldHVy
biBifDB9ZnVuY3Rpb24gVXUoYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yj1FSCgxNil8MDtmW2IrMTI+
PjJdPTA7Yz1FSChhKjIwfDApfDA7ZltiPj4yXT1jO2ZbYis4Pj4yXT1jKyhhKjIwfDApO2ZbYis0
Pj4yXT1jO3JldHVybiBifDB9ZnVuY3Rpb24gVnUoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2M9
WHUoZls0ODIxOF18MCl8MDtmW2M+PjJdPWZbYj4+Ml07ZltjKzQ+PjJdPWZbYis0Pj4yXTtmW2Mr
OD4+Ml09MDtyZXR1cm4gY3wwfWZ1bmN0aW9uIFd1KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3ww
O2Q9ZHwwO2E9KGZbYj4+Ml18MCktKGZbYz4+Ml18MCl8MDtpZighYSlhPShmW2IrND4+Ml18MCkt
KGZbYys0Pj4yXXwwKXwwO3JldHVybiBhfDB9ZnVuY3Rpb24gWHUoYSl7YT1hfDA7dmFyIGI9MCxj
PTAsZD0wLGU9MDtkPWErOHwwO2M9ZltkPj4yXXwwO2I9Yys0fDA7ZT1mW2I+PjJdfDA7aWYoKGV8
MCk9PShmW2MrOD4+Ml18MCkpe2I9YysxMnwwO2E9ZltiPj4yXXwwO2lmKCFhKXthPVV1KCgoZS0o
ZltjPj4yXXwwKXwwKS8yMHwwKTw8MSl8MDtmW2I+PjJdPWF9ZltkPj4yXT1hO2U9ZlthPj4yXXww
O2I9YSs0fDA7ZltiPj4yXT1lO2E9ZX1lbHNlIGE9ZTtmW2I+PjJdPWErMjA7cmV0dXJuIGF8MH1m
dW5jdGlvbiBZdShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MDtlPWErMTJ8MDtjPWZb
ZT4+Ml18MDtpZigoY3wwKTwoYnwwKSl7ZD1jPDwxO2Q9KGR8MCk8KGJ8MCk/YjpkO2I9YSsxNnww
O2M9ZltiPj4yXXwwO2lmKGN8MClNXyhjKTthPUVIKGQ8PDMpfDA7ZltiPj4yXT1hO2ZbZT4+Ml09
ZH1yZXR1cm59ZnVuY3Rpb24gWnUoYSl7YT1hfDA7dmFyIGI9MDtiPWZbYT4+Ml18MDt3YltmW2I+
PjJdJjYzXShiLDAsNjQpfDA7ZlthKzIwPj4yXT1mW2ErMTY+PjJdO2I9ZlthKzQ+PjJdfDA7Zlth
Kzg+PjJdPWI7ZltiKzQ+PjJdPWZbYj4+Ml07cmV0dXJufWZ1bmN0aW9uIF91KGEpe2E9YXwwO0h3
KGZbYT4+Ml18MCl8MDskdShmW2ErND4+Ml18MCk7TV8oZlthKzE2Pj4yXXwwKTtNXyhhKTtyZXR1
cm59ZnVuY3Rpb24gJHUoYSl7YT1hfDA7dmFyIGI9MDt3aGlsZSgxKXtpZighYSlicmVhaztiPWZb
YSsxMj4+Ml18MDtNXyhmW2E+PjJdfDApO01fKGEpO2E9Yn1yZXR1cm59ZnVuY3Rpb24gYXYoYSxi
LGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MDtnPXQ7dD10
KzMyfDA7ZT1nO2g9ZysxMnwwO2ZbaD4+Ml09YjtmW2grND4+Ml09YztpPWZbYT4+Ml18MDtoPSh3
YltmW2k+PjJdJjYzXShpLGgsMSl8MCkrOHwwO2E9YnYoYSxkLGZbaD4+Ml18MCl8MDtmW2g+PjJd
PWE7aWYoMD4yKXtpPWZbMTk0NTddfDA7aD1BeShkKXwwO2ZbZT4+Ml09YjtmW2UrND4+Ml09Yztm
W2UrOD4+Ml09aDtnMihpLDEwNTIxMixlKXwwfXQ9ZztyZXR1cm59ZnVuY3Rpb24gYnYoYSxiLGMp
e2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTA7ZD1hKzIwfDA7YT1mW2Q+PjJdfDA7ZltkPj4yXT1h
Kzg7ZlthPj4yXT1iO2ZbYSs0Pj4yXT1jO3JldHVybiBhfDB9ZnVuY3Rpb24gY3YoYSxiKXthPWF8
MDtiPWJ8MDtTdyhmW2E+PjJdfDAsYixhKXwwO3JldHVybn1mdW5jdGlvbiBkdihhLGIsYyl7YT1h
fDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZD10O3Q9dCszMnwwO2U9ZDtmW2U+PjJdPWI7Zltl
KzQ+PjJdPWM7Yz1mW2E+PjJdfDA7Yz13YltmW2M+PjJdJjYzXShjLGUsNCl8MDt0PWQ7cmV0dXJu
IGN8MH1mdW5jdGlvbiBldihhLGIpe2E9YXwwO2I9YnwwO2lmKChqeShhKXwwKT09MSl7YT0oJHko
YSl8MCkrMTZ8MDthPWZbKGZbYT4+Ml18MCkrMTMyPj4yXXwwO2ZbYT4+Ml09MDtmW2ErND4+Ml09
MDtmW2ErOD4+Ml09MDtmW2ErMTI+PjJdPTB9ZWxzZXtmdihhKTtpZighKChaTChHeChiLDEwNTIy
OSl8MCl8MCk8PDI0Pj4yNCkpYj1DdihhLDE5MjA0OCl8MDtlbHNlIGI9Z3YoYSl8MDtMdihhLGIs
MTkyMDQ4KTtodihiKX1yZXR1cm59ZnVuY3Rpb24gZnYoYSl7YT1hfDA7dmFyIGI9MCxjPTAuMDti
PSgkeShhKXwwKSsxNnwwO2I9bnooZltmWyhmW2I+PjJdfDApKzExMj4+Ml0+PjJdfDApfDA7YT1m
WzQ4MjE5XXwwO2lmKChifDApIT0oYXwwKSl7Zls0ODAxNV09MDtmWzQ4MjE5XT1iO2E9d3goYiww
LDEwNTIzOCwwKXwwO2ZbNDgyMjBdPWE7YT13eChmWzQ4MjE5XXwwLDEsMTA1MjQ2LDApfDA7Zls0
ODIyMV09YTthPXd4KGZbNDgyMTldfDAsMSwxMDUyNjMsMCl8MDtmWzQ4MjIyXT1hO2E9Zls0ODIx
OV18MH1iPUd4KGEsMTA1MjYzKXwwO2ZbNDgyMjNdPWI7d3YoMTkyMDQ4KTtmWzQ4MDE0XT0xO2M9
K1VMKGZbNDgyMTldfDAsZls0ODIyMF18MCwxLjAsMC4wKTtwWzI0MDEwXT1jO2ZbNDgwMTZdPWZb
NDgyMjFdO2ZbNDgwMTddPWZbNDgyMjJdO2ZbNDgwMThdPWZbNDgyMjNdO3JldHVybn1mdW5jdGlv
biBndihhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wO2U9dDt0PXQrMTQ0fDA7ZD1lKzEyOHww
O2M9ZTtiPWZbNDgwMTVdfDA7Zls0ODAxNV09YisxO2ZbZD4+Ml09YjtkJChjLDEwNTI3OSxkKXww
O2M9eHYoRUEoYSxjLDEpfDApfDA7ZD1jKzh8MDtiPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWIpYnJl
YWs7ZXooZltkPj4yXXwwLGIsMSl8MDtmWyhmWyhmW2IrMTY+PjJdfDApKzExMj4+Ml18MCkrMTI+
PjJdPWM7Yj1heihhLGIpfDB9dD1lO3JldHVybiBjfDB9ZnVuY3Rpb24gaHYoYSl7YT1hfDA7S3Yo
YSk7cmV0dXJufWZ1bmN0aW9uIGl2KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3Zh
ciBlPTAsZj0wO2U9dDt0PXQrMTZ8MDtmPWU7anYoZixjKTtrdihhLGIsYyxmKTtsdihiLGYsZCk7
bXYoZik7dD1lO3JldHVybn1mdW5jdGlvbiBqdihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTA7Yz1F
SChiPDw0KXwwO2ZbYT4+Ml09YztmW2ErND4+Ml09YjtmW2ErOD4+Ml09MDtyZXR1cm59ZnVuY3Rp
b24ga3YoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9
MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9MCx4PTAseT0w
LHo9MCxBPTAsQj0wLEM9MCxEPTA7RD10O3Q9dCs2NHwwO3E9RCszMnwwO3U9RCs0OHwwO3Y9RCsx
NnwwO3c9RDtzPWI8PDI7QT1FSChzKXwwO0M9RUgocyl8MDtmW3Y+PjJdPTA7Zlt2KzQ+PjJdPTA7
Zlt2Kzg+PjJdPTA7Zlt2KzEyPj4yXT0wO3I9RUgocyl8MDtzPUVIKHMpfDA7ZT0wO3doaWxlKDEp
e2lmKChlfDApPj0oYnwwKSlicmVhaztmW3IrKGU8PDIpPj4yXT1lO2U9ZSsxfDB9bz1iKy0xfDA7
c3MoYSxyLDAsbyk7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oYnwwKSlicmVhaztmW3MrKGZbciso
ZTw8Mik+PjJdPDwyKT4+Ml09ZTtlPWUrMXwwfW92KHUsYSxyLGIpO2U9MTt3aGlsZSgxKXtpZigo
ZXwwKT49KGJ8MCkpYnJlYWs7ZltBKyhmW3IrKGU8PDIpPj4yXTw8Mik+PjJdPWZbcisoZSstMTw8
Mik+PjJdO2U9ZSsxfDB9ZT0wO3doaWxlKDEpe2lmKChlfDApPj0ob3wwKSlicmVhaztuPWUrMXww
O2ZbQysoZltyKyhlPDwyKT4+Ml08PDIpPj4yXT1mW3IrKG48PDIpPj4yXTtlPW59aj1kKzh8MDtr
PWQrNHwwO2w9dis0fDA7bT13KzR8MDtuPXcrOHwwO2k9MDt3aGlsZSgxKXtpZigoaXwwKT49KGN8
MCkpYnJlYWs7aWYoISgocHYodSx2KXwwKTw8MjQ+PjI0KSlicmVhaztlPWZbaj4+Ml18MDtiPWZb
az4+Ml18MDtpZigoZXwwKTwoYnwwKSliPWZbZD4+Ml18MDtlbHNle2Zbaz4+Ml09Yjw8MTtiPU9f
KGZbZD4+Ml18MCxiPDw1KXwwO2ZbZD4+Ml09YjtlPWZbaj4+Ml18MH1mW2o+PjJdPWUrMTtlPWIr
KGU8PDQpfDA7ZltlPj4yXT1mW3Y+PjJdO2ZbZSs0Pj4yXT1mW3YrND4+Ml07ZltlKzg+PjJdPWZb
dis4Pj4yXTtmW2UrMTI+PjJdPWZbdisxMj4+Ml07ZT1mW3Y+PjJdfDA7Yj1mW3MrKGU8PDIpPj4y
XXwwO2c9ZltsPj4yXXwwO2g9ZltzKyhnPDwyKT4+Ml18MDtpZigoYnwwKT4wPyh4PWZbcisoYist
MTw8Mik+PjJdfDAseT1DKyh4PDwyKXwwLChmW3MrKGZbeT4+Ml08PDIpPj4yXXwwKTwoaHwwKSk6
MCl7Zlt3Pj4yXT14O2ZbbT4+Ml09ZztwW24+PjNdPStwW2ErKGc8PDMpPj4zXS0rcFthKyh4PDwz
KT4+M107ZltxPj4yXT1mW3c+PjJdO2ZbcSs0Pj4yXT1mW3crND4+Ml07ZltxKzg+PjJdPWZbdys4
Pj4yXTtmW3ErMTI+PjJdPWZbdysxMj4+Ml07cXYodSxxKTtmW3k+PjJdPWc7ZltBKyhnPDwyKT4+
Ml09eH1pZigoaHwwKTwob3wwKT8oej1mW3IrKGgrMTw8Mik+PjJdfDAsQj1BKyh6PDwyKXwwLChm
W3MrKGZbQj4+Ml08PDIpPj4yXXwwKT4oYnwwKSk6MCl7Zlt3Pj4yXT1lO2ZbbT4+Ml09ejtwW24+
PjNdPStwW2ErKHo8PDMpPj4zXS0rcFthKyhlPDwzKT4+M107ZltxPj4yXT1mW3c+PjJdO2ZbcSs0
Pj4yXT1mW3crND4+Ml07ZltxKzg+PjJdPWZbdys4Pj4yXTtmW3ErMTI+PjJdPWZbdysxMj4+Ml07
cXYodSxxKTtmW0I+PjJdPWU7ZltDKyhlPDwyKT4+Ml09en1pPWkrMXwwfU1fKEEpO01fKEMpO01f
KHIpO01fKHMpO3J2KHUpO3Q9RDtyZXR1cm59ZnVuY3Rpb24gbHYoYSxiLGMpe2E9YXwwO2I9Ynww
O2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDtqPUVIKGE8PDIp
fDA7az1iKzh8MDtoPWZbaz4+Ml18MDtpPShoPDwxKSthfDA7Zz1pPDwyO2Q9RUgoZyl8MDtnPUVI
KGcpfDA7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oYXwwKSlicmVhaztmW2orKGU8PDIpPj4yXT0x
O2U9ZSsxfDB9ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oaHwwKSlicmVhazttPWZbYj4+Ml18MDts
PWZbbSsoZTw8NCkrND4+Ml18MDttPWorKGZbbSsoZTw8NCk+PjJdPDwyKXwwO2ZbbT4+Ml09KGZb
bT4+Ml18MCkrMTtsPWorKGw8PDIpfDA7ZltsPj4yXT0oZltsPj4yXXwwKSsxO2U9ZSsxfDB9ZT0w
O3doaWxlKDEpe2lmKChlfDApPj0oaXwwKSlicmVhaztuW2crKGU8PDIpPj4yXT0xLjA7ZT1lKzF8
MH1oPUVIKGEqMjB8MCl8MDtmW2M+PjJdPWg7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oYXwwKSli
cmVhaztmW2grKGUqMjB8MCk+PjJdPTE7ZltoKyhlKjIwfDApKzg+PjJdPWc7ZltoKyhlKjIwfDAp
KzQ+PjJdPWQ7ZltkPj4yXT1lO25bZz4+Ml09MC4wO209ZltqKyhlPDwyKT4+Ml18MDtnPWcrKG08
PDIpfDA7ZD1kKyhtPDwyKXwwO2U9ZSsxfDB9TV8oaik7d2hpbGUoMSl7ZD1mW2s+PjJdfDA7aWYo
IWQpYnJlYWs7bT1kKy0xfDA7ZltrPj4yXT1tO2w9ZltiPj4yXXwwO252KGgsZltsKyhtPDw0KT4+
Ml18MCxmW2wrKG08PDQpKzQ+PjJdfDApfXJldHVybn1mdW5jdGlvbiBtdihhKXthPWF8MDtNXyhm
W2E+PjJdfDApO3JldHVybn1mdW5jdGlvbiBudihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFy
IGQ9MCxlPTAsZz0wLGg9MCxpPTA7ZT1hKyhiKjIwfDApfDA7Zz1mW2U+PjJdfDA7aD1mW2ErKGIq
MjB8MCkrND4+Ml18MDtkPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShnfDApKXtpPTQ7YnJlYWt9aWYo
KGZbaCsoZDw8Mik+PjJdfDApPT0oY3wwKSlicmVhaztlbHNlIGQ9ZCsxfDB9aWYoKGl8MCk9PTQ/
KGZbZT4+Ml09ZysxLGZbaCsoZzw8Mik+PjJdPWMsaD1mW2ErKGMqMjB8MCkrND4+Ml18MCxnPWEr
KGMqMjB8MCl8MCxpPWZbZz4+Ml18MCxmW2c+PjJdPWkrMSxmW2grKGk8PDIpPj4yXT1iLGZbYSs4
Pj4yXXwwKTowKXtpPWZbYSsoYioyMHwwKSs4Pj4yXXwwO25baT4+Ml09K25baT4+Ml0rLTEuMDtp
PWZbYSsoYyoyMHwwKSs4Pj4yXXwwO25baT4+Ml09K25baT4+Ml0rLTEuMH1yZXR1cm59ZnVuY3Rp
b24gb3YoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9
MC4wLGo9MCxrPTA7ZT1kKy0xfDA7ZlthKzQ+PjJdPWU7ZlthKzg+PjJdPWU7ZD1FSChlPDw0KXww
O2ZbYT4+Ml09ZDtkPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShlfDApKWJyZWFrO2s9ZltjKyhkPDwy
KT4+Ml18MDtnPWQrMXwwO2o9ZltjKyhnPDwyKT4+Ml18MDtpPStwW2IrKGo8PDMpPj4zXS0rcFti
KyhrPDwzKT4+M107aD1mW2E+PjJdfDA7ZltoKyhkPDw0KT4+Ml09aztmW2grKGQ8PDQpKzQ+PjJd
PWo7cFtoKyhkPDw0KSs4Pj4zXT1pO2Q9Z31kPShlfDApLzJ8MDt3aGlsZSgxKXtpZigoZHwwKTw9
LTEpYnJlYWs7c3YoYSxkKTtkPWQrLTF8MH1yZXR1cm59ZnVuY3Rpb24gcHYoYSxiKXthPWF8MDti
PWJ8MDt2YXIgYz0wLGQ9MDtjPWErNHwwO2lmKCEoZltjPj4yXXwwKSlhPTA7ZWxzZXtkPWZbYT4+
Ml18MDtmW2I+PjJdPWZbZD4+Ml07ZltiKzQ+PjJdPWZbZCs0Pj4yXTtmW2IrOD4+Ml09ZltkKzg+
PjJdO2ZbYisxMj4+Ml09ZltkKzEyPj4yXTtiPWZbYT4+Ml18MDtkPWIrKChmW2M+PjJdfDApKy0x
PDw0KXwwO2ZbYj4+Ml09ZltkPj4yXTtmW2IrND4+Ml09ZltkKzQ+PjJdO2ZbYis4Pj4yXT1mW2Qr
OD4+Ml07ZltiKzEyPj4yXT1mW2QrMTI+PjJdO2ZbYz4+Ml09KGZbYz4+Ml18MCkrLTE7c3YoYSww
KTthPTF9cmV0dXJuIGF8MH1mdW5jdGlvbiBxdihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0w
LjAsZT0wLjAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTA7bD10O3Q9dCsxNnwwO2s9bDtpPWErNHww
O2c9ZltpPj4yXXwwO2M9YSs4fDA7aWYoKGd8MCk9PShmW2M+PjJdfDApKXtmW2M+PjJdPWc8PDE7
Yz1PXyhmW2E+PjJdfDAsZzw8NSl8MDtmW2E+PjJdPWM7aj1hO2g9ZltpPj4yXXwwfWVsc2V7aj1h
O2g9ZztjPWZbYT4+Ml18MH1mW2k+PjJdPWgrMTtpPWMrKGc8PDQpfDA7ZltpPj4yXT1mW2I+PjJd
O2ZbaSs0Pj4yXT1mW2IrND4+Ml07ZltpKzg+PjJdPWZbYis4Pj4yXTtmW2krMTI+PjJdPWZbYisx
Mj4+Ml07d2hpbGUoMSl7aWYoKGd8MCk8PTApYnJlYWs7Yz1mW2o+PjJdfDA7ZD0rcFtjKyhnPDw0
KSs4Pj4zXTthPWc+Pj4xO2U9K3BbYysoYTw8NCkrOD4+M107aWYoIShkPGUpKXtpZighKGQ9PWUp
KWJyZWFrO2lmKCEoKGszKCl8MCkmMSkpYnJlYWs7Yz1mW2o+PjJdfDB9aT1jKyhnPDw0KXwwO2Zb
az4+Ml09ZltpPj4yXTtmW2srND4+Ml09ZltpKzQ+PjJdO2Zbays4Pj4yXT1mW2krOD4+Ml07Zltr
KzEyPj4yXT1mW2krMTI+PjJdO2I9YysoYTw8NCl8MDtmW2k+PjJdPWZbYj4+Ml07ZltpKzQ+PjJd
PWZbYis0Pj4yXTtmW2krOD4+Ml09ZltiKzg+PjJdO2ZbaSsxMj4+Ml09ZltiKzEyPj4yXTtpPShm
W2o+PjJdfDApKyhhPDw0KXwwO2ZbaT4+Ml09ZltrPj4yXTtmW2krND4+Ml09ZltrKzQ+PjJdO2Zb
aSs4Pj4yXT1mW2srOD4+Ml07ZltpKzEyPj4yXT1mW2srMTI+PjJdO2c9YX10PWw7cmV0dXJufWZ1
bmN0aW9uIHJ2KGEpe2E9YXwwO01fKGZbYT4+Ml18MCk7cmV0dXJufWZ1bmN0aW9uIHN2KGEsYil7
YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAuMCxlPTAuMCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtr
PXQ7dD10KzE2fDA7aD1rO2k9YSs0fDA7d2hpbGUoMSl7Yz1iPDwxO2c9Y3wxO2lmKChjfDApPChm
W2k+PjJdfDApKXtsPWZbYT4+Ml18MDtkPStwW2wrKGM8PDQpKzg+PjNdO2U9K3BbbCsoYjw8NCkr
OD4+M107aWYoIShkPGUpKWlmKCEoZD09ZT8oKGszKCl8MCkmMXwwKSE9MDowKSlqPTZ9ZWxzZSBq
PTY7aWYoKGp8MCk9PTYpe2o9MDtjPWJ9ZG8gaWYoKGd8MCk8KGZbaT4+Ml18MCkpe2w9ZlthPj4y
XXwwO2Q9K3BbbCsoZzw8NCkrOD4+M107ZT0rcFtsKyhjPDw0KSs4Pj4zXTtpZighKGQ8ZSkpe2lm
KCEoZD09ZSkpYnJlYWs7aWYoISgoazMoKXwwKSYxKSlicmVha31jPWd9d2hpbGUoMCk7aWYoKGN8
MCk9PShifDApKWJyZWFrO2c9ZlthPj4yXXwwO2w9ZysoYzw8NCl8MDtmW2g+PjJdPWZbbD4+Ml07
ZltoKzQ+PjJdPWZbbCs0Pj4yXTtmW2grOD4+Ml09ZltsKzg+PjJdO2ZbaCsxMj4+Ml09ZltsKzEy
Pj4yXTtnPWcrKGI8PDQpfDA7ZltsPj4yXT1mW2c+PjJdO2ZbbCs0Pj4yXT1mW2crND4+Ml07Zlts
Kzg+PjJdPWZbZys4Pj4yXTtmW2wrMTI+PjJdPWZbZysxMj4+Ml07bD0oZlthPj4yXXwwKSsoYjw8
NCl8MDtmW2w+PjJdPWZbaD4+Ml07ZltsKzQ+PjJdPWZbaCs0Pj4yXTtmW2wrOD4+Ml09ZltoKzg+
PjJdO2ZbbCsxMj4+Ml09ZltoKzEyPj4yXTtiPWN9dD1rO3JldHVybn1mdW5jdGlvbiB0dihhLGIs
YyxkLGUsZyxoLGkpe2E9YXwwO2I9YnwwO2M9K2M7ZD0rZDtlPWV8MDtnPWd8MDtoPWh8MDtpPWl8
MDt2YXIgaj0wLGs9MCxsPTAsbT0wLjA7az0oZXwwKSE9MDtpZighayl7ZT1FSChiPDwzKXwwO2lm
KCEodHQoYSxiLGUsYil8MCkpbD0zO2Vsc2V7YT0xO2w9MTd9fWVsc2UgbD0zO2lmKChsfDApPT0z
KXtqPURIKGI8PDIpfDA7ZltnPj4yXT1qO2E9MDt3aGlsZSgxKXtpZigoYXwwKT49KGJ8MCkpYnJl
YWs7ZltqKyhhPDwyKT4+Ml09YTthPWErMXwwfWE9YistMXwwO3NzKGUsaiwwLGEpO209K3BbZSso
ZltqPj4yXTw8Myk+PjNdO2Q9KCtwW2UrKGZbaisoYTw8Mik+PjJdPDwzKT4+M10tbSkqZC8rKGF8
MCk7ZD1kPGM/YzpkO2E9MDtnPTE7Yz1tO3doaWxlKDEpe2lmKChnfDApPj0oYnwwKSlicmVhaztt
PStwW2UrKGZbaisoZzw8Mik+PjJdPDwzKT4+M107YT1hKyhtLWM+ZCYxKXwwO2c9ZysxfDA7Yz1t
fWZbaT4+Ml09YTthOmRvIGlmKCFhKXtqPUVIKDQpfDA7ZltoPj4yXT1qO2Zbaj4+Ml09Yn1lbHNl
e2k9RUgoYTw8Mil8MDtmW2g+PjJdPWk7YT0wO2c9MTt3aGlsZSgxKXtpZigoZ3wwKT49KGJ8MCkp
YnJlYWsgYTtpZigrcFtlKyhmW2orKGc8PDIpPj4yXTw8Myk+PjNdLStwW2UrKGZbaisoZystMTw8
Mik+PjJdPDwzKT4+M10+ZCl7ZltpKyhhPDwyKT4+Ml09ZzthPWErMXwwfWc9ZysxfDB9fXdoaWxl
KDApO2lmKGspYT0wO2Vsc2V7YT0wO2w9MTd9fWlmKChsfDApPT0xNylNXyhlKTtyZXR1cm4gYXww
fWZ1bmN0aW9uIHV2KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLjAsZz0wLGg9MCxp
PTAuMCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTA7Yz1mWzQ4MjI0XXwwO2lmKGN8MClHbihj
KTtjPUZuKGIsYiwwLjApfDA7Zls0ODIyNF09YztjPWZbNDgyMjVdfDA7aWYoY3wwKU1fKGMpO2M9
REgoYjw8Mil8MDtmWzQ4MjI1XT1jO2M9Zls0ODIyNl18MDtpZihjfDApTV8oYyk7bT1ESChiPDwz
KXwwO2ZbNDgyMjZdPW07bj1mWzQ4MjI0XXwwO289Zls0ODIyNV18MDtoPTA7d2hpbGUoMSl7aWYo
KGh8MCk+PShifDApKXtkPTE1O2JyZWFrfWQ9YSsoaDw8Mil8MDtnPW4rKGg8PDIpfDA7ZT0wLjA7
Yz0wO3doaWxlKDEpe2lmKChjfDApPT0oYnwwKSlicmVhaztpPStwWyhmW2Q+PjJdfDApKyhjPDwz
KT4+M107cFsoZltnPj4yXXwwKSsoYzw8Myk+PjNdPWk7aT0rSSgraSk7ZT1lPGk/aTplO2M9Yysx
fDB9aWYoIShlIT0wLjApKXtkPTE0O2JyZWFrfXBbbSsoaDw8Myk+PjNdPTEuMC9lO2ZbbysoaDw8
Mik+PjJdPWg7aD1oKzF8MH1hOmRvIGlmKChkfDApPT0xNCl7cFttKyhoPDwzKT4+M109MC4wO2M9
MH1lbHNlIGlmKChkfDApPT0xNSl7bD1iKy0xfDA7Yz0wO2s9MDt3aGlsZSgxKXtpZigoa3wwKT49
KGx8MCkpYnJlYWs7ZD1rO2o9YztlPTAuMDt3aGlsZSgxKXtpZigoZHwwKT49KGJ8MCkpYnJlYWs7
YT1mW28rKGQ8PDIpPj4yXXwwO2k9K0koKygrcFsoZltuKyhhPDwyKT4+Ml18MCkrKGs8PDMpPj4z
XSkpO2k9K3BbbSsoYTw8Myk+PjNdKmk7YT1lPGk7aD1hP2Q6ajtkPWQrMXwwO2o9aDtlPWE/aTpl
fWlmKGU9PTAuMCl7Yz0wO2JyZWFrIGF9Yz1vKyhrPDwyKXwwO2lmKChqfDApIT0oa3wwKSl7aD1m
W2M+PjJdfDA7YT1vKyhqPDwyKXwwO2ZbYz4+Ml09ZlthPj4yXTtmW2E+PjJdPWh9Zz1mW24rKGZb
Yz4+Ml08PDIpPj4yXXwwO2E9aysxfDA7ZT0xLjAvK3BbZysoazw8Myk+PjNdO2Q9YTt3aGlsZSgx
KXtpZigoZHwwKT49KGJ8MCkpYnJlYWs7aD1mW24rKGZbbysoZDw8Mik+PjJdPDwyKT4+Ml18MDtj
PWgrKGs8PDMpfDA7aT0rcFtjPj4zXSplO3BbYz4+M109aTtiOmRvIGlmKGkhPTAuMCl7Yz1hO3do
aWxlKDEpe2lmKChjfDApPj0oYnwwKSlicmVhayBiO3E9aCsoYzw8Myl8MDtwW3E+PjNdPStwW3E+
PjNdLStwW2crKGM8PDMpPj4zXSppO2M9YysxfDB9fXdoaWxlKDApO2Q9ZCsxfDB9Yz1qO2s9YX1j
PStwWyhmW24rKGZbbysobDw8Mik+PjJdPDwyKT4+Ml18MCkrKGw8PDMpPj4zXSE9MC4wJjF9d2hp
bGUoMCk7cmV0dXJuIGN8MH1mdW5jdGlvbiB2dihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFy
IGQ9MCxlPTAuMCxnPTAsaD0wLGk9MCxqPTAsaz0wO2o9Zls0ODIyNF18MDtrPWZbNDgyMjVdfDA7
Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oY3wwKSlicmVhaztoPWZbaysoZzw8Mik+PjJdfDA7aT1q
KyhoPDwyKXwwO2U9MC4wO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT09KGd8MCkpYnJlYWs7ZT0rcFth
KyhkPDwzKT4+M10qK3BbKGZbaT4+Ml18MCkrKGQ8PDMpPj4zXStlO2Q9ZCsxfDB9cFthKyhnPDwz
KT4+M109K3BbYisoaDw8Myk+PjNdLWU7Zz1nKzF8MH1kPWM7d2hpbGUoMSl7Zz1kKy0xfDA7aWYo
KGR8MCk8PTApYnJlYWs7Yj1rKyhnPDwyKXwwO2U9MC4wO3doaWxlKDEpe2lmKChkfDApPj0oY3ww
KSlicmVhaztlPStwW2ErKGQ8PDMpPj4zXSorcFsoZltqKyhmW2I+PjJdPDwyKT4+Ml18MCkrKGQ8
PDMpPj4zXStlO2Q9ZCsxfDB9ZD1hKyhnPDwzKXwwO3BbZD4+M109KCtwW2Q+PjNdLWUpLytwWyhm
W2orKGZbYj4+Ml08PDIpPj4yXXwwKSsoZzw8Myk+PjNdO2Q9Z31yZXR1cm59ZnVuY3Rpb24gd3Yo
YSl7YT1hfDA7ZlthPj4yXT0wO2ZbYSs0Pj4yXT0wO3JldHVybn1mdW5jdGlvbiB4dihhKXthPWF8
MDt2YXIgYj0wO2I9REgoNjQpfDA7d3YoYiszNnwwKTtmW2IrOD4+Ml09YTtyZXR1cm4gYnwwfWZ1
bmN0aW9uIHl2KGEpe2E9YXwwO2lmKGF8MCl7VXYoZlthKzMyPj4yXXwwKTtNXyhhKX1yZXR1cm59
ZnVuY3Rpb24genYoYSl7YT1hfDA7cmV0dXJuIGp5KGZbYSs4Pj4yXXwwKXwwfWZ1bmN0aW9uIEF2
KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTA7ZltiKzQ+PjJdPTA7Yz1hKzR8MDtkPWZbYz4+
Ml18MDtmWygoZHwwKT09MD9hOmQrNHwwKT4+Ml09YjtmW2M+PjJdPWI7cmV0dXJufWZ1bmN0aW9u
IEJ2KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtjPWZbYT4+Ml18MDtpZighYyl7ZlthPj4yXT1i
O2E9YSs0fDB9ZWxzZSBmW2IrND4+Ml09YztmW2E+PjJdPWI7cmV0dXJufWZ1bmN0aW9uIEN2KGEs
Yil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7RHYoYSxi
KTtqPWZbYj4+Ml18MDtoPWZbais0Pj4yXXwwO3doaWxlKDEpe2lmKCFoKWJyZWFrO2s9ZltoKzg+
PjJdfDA7aT0keShrKXwwO2M9ZlsoZltpKzE2Pj4yXXwwKSsxMTI+PjJdfDA7YT1mW2MrMTYrND4+
Ml18MDtjPWZbYys4Pj4yXXwwO2U9aTtpPWF6KGssaSl8MDt3aGlsZSgxKXtpZighaSlicmVhaztk
PWZbKGZbaSsxNj4+Ml18MCkrMTEyPj4yXXwwO2c9ZltkKzE2KzQ+PjJdfDA7aWYoKGd8MCk8KGF8
MCkpe2U9aTtjPWZbZCs4Pj4yXXwwO2E9Z31pPWF6KGssaSl8MH1pPWZbKGZbYysxNj4+Ml18MCkr
MTEyPj4yXXwwO2s9aSs0fDA7ZltrPj4yXT1mW2s+PjJdfDg7ZltoPj4yXT1lO2s9ZltoKzQ+PjJd
fDA7QXYoKGZbaSsxMj4+Ml18MCkrMzZ8MCxoKTtoPWt9d3YoYik7cmV0dXJuIGp8MH1mdW5jdGlv
biBEdihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MDtpPXQ7dD10
KzE2fDA7aD1pO2c9aSs4fDA7ZD1mW2IrMjQ+PjJdfDA7aWYoISgoZHwwKSE9MD8oYz1qeihhLGQs
MCl8MCwoY3wwKSE9MCk6MCkpZT0zO2E6ZG8gaWYoKGV8MCk9PTMpe2Q9YisyMHwwO2I6ZG8gaWYo
ZltkPj4yXXwwKXtjPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWsgYjtpZigoWUwoZltmWyhm
W2MrMTY+PjJdfDApKzExMj4+Ml0+PjJdfDAsZltkPj4yXXwwLDApfDApPDwyND4+MjQpYnJlYWsg
YTtjPWF6KGEsYyl8MH19d2hpbGUoMCk7Yz0keShhKXwwfXdoaWxlKDApO2lmKDApe2U9ZlsxOTQ1
N118MDtkPUF5KGMpfDA7ZltoPj4yXT1kO2cyKGUsMTA1MjY4LGgpfDB9ZltnKzQ+PjJdPTA7Zltn
Pj4yXT0wO0V2KGEsYyxiLDEsZyk7dD1pO3JldHVybn1mdW5jdGlvbiBFdihhLGIsYyxkLGUpe2E9
YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDts
PWMrOHwwO2s9ZltsPj4yXXwwO2ZbbD4+Ml09aysxO2w9YisxNnwwO2ZbKGZbKGZbbD4+Ml18MCkr
MTEyPj4yXXwwKSsxNis0Pj4yXT1rO2ZbKGZbKGZbbD4+Ml18MCkrMTEyPj4yXXwwKSsyND4+Ml09
aztrPShkfDApPT0wO2o9U3goYSxiKXwwO3doaWxlKDEpe2lmKCFqKWJyZWFrO2Q9ZltqPj4yXSYz
O2c9ZlsoKGR8MCk9PTI/ajpqKy00OHwwKSs0MD4+Ml18MDtpZigoZ3wwKT09KGJ8MCkpe2Q9Zlso
KGR8MCk9PTM/ajpqKzQ4fDApKzQwPj4yXXwwO2c9ZlsoZltqKzE2Pj4yXXwwKSsxMjA+PjJdfDA7
aWYoIShmW2c+PjJdfDApKWZbZz4+Ml09LTF9ZWxzZXtkPWZbKGZbaisxNj4+Ml18MCkrMTIwPj4y
XXwwO2lmKCEoZltkPj4yXXwwKSl7ZltkPj4yXT0xO2Q9Z31lbHNlIGQ9Z31nPWQrMTZ8MDtoPWZb
KGZbZz4+Ml18MCkrMTEyPj4yXXwwO2k9ZltoKzE2KzQ+PjJdfDA7ZG8gaWYoIWkpe2ZbaCs4Pj4y
XT1iO0Z2KGUsaik7RXYoYSxkLGMsMCxlKTtpPShmWyhmW2w+PjJdfDApKzExMj4+Ml18MCkrMjR8
MDtkPWZbaT4+Ml18MDtoPWZbKGZbKGZbZz4+Ml18MCkrMTEyPj4yXXwwKSsyND4+Ml18MDtmW2k+
PjJdPShkfDApPChofDApP2Q6aDtpZigoZlsoZlsoZltnPj4yXXwwKSsxMTI+PjJdfDApKzI0Pj4y
XXwwKT49KGZbKGZbKGZbbD4+Ml18MCkrMTEyPj4yXXwwKSsxNis0Pj4yXXwwKSl7ZD0wO2Rve2g9
R3YoZSl8MDtnPWZbaD4+Ml0mMztnPWZbKChmW2ZbKGZbaCsxNj4+Ml18MCkrMTIwPj4yXT4+Ml18
MCk9PTE/KChnfDApPT0yP2g6aCstNDh8MCk6KGd8MCk9PTM/aDpoKzQ4fDApKzQwPj4yXXwwO2lm
KCEoZlsoZlsoZltnKzE2Pj4yXXwwKSsxMTI+PjJdfDApKzEyPj4yXXwwKSl7aWYoIWQpZD1Idihh
LGMpfDA7SXYoZCxnKX19d2hpbGUoKGh8MCkhPShqfDApKTtpZihkfDApe2lmKChmWyhmWyhmW2w+
PjJdfDApKzExMj4+Ml18MCkrMTI+PjJdfDApPT0wPyh6dihkKXwwKT4xOjApSXYoZCxiKTtpZigh
az8oZlsoZlsoZltsPj4yXXwwKSsxMTI+PjJdfDApKzEyPj4yXXwwKT09KGR8MCk6MCl7QnYoYyxk
KTticmVha31BdihjLGQpfX19ZWxzZXtnPWZbKGZbbD4+Ml18MCkrMTEyPj4yXXwwO2lmKChmW2cr
OD4+Ml18MCkhPShkfDApKXtoPWcrMjR8MDtnPWZbaD4+Ml18MDtmW2g+PjJdPShnfDApPChpfDAp
P2c6aX19d2hpbGUoMCk7aj1UeChhLGosYil8MH1pZighaz8oZlsoZlsoZltsPj4yXXwwKSsxMTI+
PjJdfDApKzEyPj4yXXwwKT09MDowKXtsPUh2KGEsYyl8MDtJdihsLGIpO0J2KGMsbCl9cmV0dXJu
fWZ1bmN0aW9uIEZ2KGEsYil7YT1hfDA7Yj1ifDA7ZlsoZlsoZltiKzE2Pj4yXXwwKSsxMjA+PjJd
fDApKzQ+PjJdPWZbYT4+Ml07ZlthPj4yXT1iO2I9YSs0fDA7ZltiPj4yXT0oZltiPj4yXXwwKSsx
O3JldHVybn1mdW5jdGlvbiBHdihhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTA7Yj1mW2E+PjJdfDA7
aWYoIWIpeGEoMTQ2NjY0LDEwNTI5OSw2NSwxMDUzMTEpO2M9YSs0fDA7ZD1mW2M+PjJdfDA7aWYo
KGR8MCk+MCl7ZlthPj4yXT1mWyhmWyhmW2IrMTY+PjJdfDApKzEyMD4+Ml18MCkrND4+Ml07Zltj
Pj4yXT1kKy0xO3JldHVybiBifDB9ZWxzZSB4YSgxMDUyODksMTA1Mjk5LDYxLDEwNTMxMSk7cmV0
dXJuIDB9ZnVuY3Rpb24gSHYoYSxiKXthPWF8MDtiPWJ8MDtyZXR1cm4geHYoSnYoYSxiKXwwKXww
fWZ1bmN0aW9uIEl2KGEsYil7YT1hfDA7Yj1ifDA7ZXooZlthKzg+PjJdfDAsYiwxKXwwO2ZbKGZb
KGZbYisxNj4+Ml18MCkrMTEyPj4yXXwwKSsxMj4+Ml09YTtyZXR1cm59ZnVuY3Rpb24gSnYoYSxi
KXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wO2M9dDt0PXQrMTQ0fDA7ZT1jKzEyOHww
O2Q9YztnPWIrMTJ8MDtiPWZbZz4+Ml18MDtmW2c+PjJdPWIrMTtmW2U+PjJdPWI7ZCQoZCwxMDUy
NzksZSl8MDtiPUVBKGEsZCwxKXwwO0p6KGIsMTQ1NzUzLDI4MCwxKXwwO3Q9YztyZXR1cm4gYnww
fWZ1bmN0aW9uIEt2KGEpe2E9YXwwO3ZhciBiPTAsYz0wO2I9ZlthKzM2Pj4yXXwwO3doaWxlKDEp
e2lmKCFiKWJyZWFrO2M9ZltiKzQ+PjJdfDA7S3YoYik7Yj1jfXl2KGEpO3JldHVybn1mdW5jdGlv
biBMdihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7TXYoYSxiLCtwW2MrMzI+PjNdKTtyZXR1cm59
ZnVuY3Rpb24gTXYoYSxiLGMpe2E9YXwwO2I9YnwwO2M9K2M7dmFyIGQ9MCxlPTAsZz0wLGg9MDtk
PWIrMzZ8MDtlPTA7d2hpbGUoMSl7ZD1mW2Q+PjJdfDA7aWYoIWQpYnJlYWs7TXYoYSxkLGMpO2Q9
ZCs0fDA7ZT1lKzF8MH1kPWN3KGEsYixjKXwwO2ZbYiszMj4+Ml09ZDthPSR2KGQpfDA7aWYoIWUp
Yz0zLjE0MTU5MjY1MzU4OTc5MztlbHNlIGM9K052KGUsYSxkLGIsYyk7aWYoKCgoYXwwKT09MT8o
Zz1mW2I+PjJdfDAsZ3wwKTowKT9mWyhmWyhmW2crMTY+PjJdfDApKzExMj4+Ml18MCkrOD4+Ml18
MDowKT8oaD1iKzQ4fDAscFtoPj4zXT1jLGM8MC4wKTowKXBbaD4+M109Yys2LjI4MzE4NTMwNzE3
OTU4NjtyZXR1cm59ZnVuY3Rpb24gTnYoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8
MDtlPStlO3ZhciBnPTAuMCxoPTAsaT0wLjAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9
MCxzPTAsdT0wLHY9MDt2PXQ7dD10KzQ4fDA7cz12O3U9REgoYSo1NnwwKXwwO2Zbcys0MD4+Ml09
ZltkKzM2Pj4yXTtuPWQrMTZ8MDtpPStwW24+PjNdO289cys4fDA7cFtvPj4zXT1pO3Bbcz4+M109
aTtmW3MrNDQ+PjJdPWZbZD4+Ml07aT02LjI4MzE4NTMwNzE3OTU4Ni8rKGJ8MCk7cFtzKzE2Pj4z
XT1pO3E9cysyNHwwO3BbcT4+M109LTEuMDtyPXMrMzJ8MDtwW3I+PjNdPS0xLjA7az0wO209MDtn
PTAuMDt3aGlsZSgxKXtqPWZbYz4+Ml18MDtpZighailicmVhaztjPWZbaj4+Ml18MDtoPXUrKG0q
NTZ8MCl8MDtpZighKGZbKGZbKGZbYysxNj4+Ml18MCkrMTEyPj4yXXwwKSs0Pj4yXSY4KSljPW07
ZWxzZXtmW2g+PjJdPWM7cFt1KyhtKjU2fDApKzg+PjNdPWkqKyhrfDApO2M9bSsxfDA7Zz0rT3Yo
aCxzLGUpfWs9aysxfDA7bT1jO2M9ais0fDB9YTpkbyBzd2l0Y2gobXwwKXtjYXNlIDE6e3BbdSs0
MD4+M109MS4wO2JyZWFrfWNhc2UgMjp7aT0rcFt1KzY0Pj4zXS0rcFt1Kzg+PjNdO1B2KHUsdSs1
NnwwLGk+My4xNDE1OTI2NTM1ODk3OTM/Ni4yODMxODUzMDcxNzk1ODYtaTppKTticmVha31kZWZh
dWx0OntsPXUrOHwwO2s9dTtjPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShtfDApKWJyZWFrIGE7Yz1j
KzF8MDtpZigoY3wwKT09KG18MCkpe2g9dTtpPStwW2w+PjNdKzYuMjgzMTg1MzA3MTc5NTg2LStw
W2srOD4+M107aj1rKzU2fDB9ZWxzZXtqPWsrNTZ8MDtoPWo7aT0rcFtrKzY0Pj4zXS0rcFtrKzg+
PjNdfVB2KGssaCxpKTtrPWp9fX13aGlsZSgwKTtjPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShtfDAp
KWJyZWFrO1F2KHUrKGMqNTZ8MCl8MCxzLGIsZSk7Yz1jKzF8MH1NXyh1KTtpZigoYXwwKT09MSl7
ZT1nK2UqLjU7UnYoZCwtZSwwLjAsMC4wKTtwW24+PjNdPStwW24+PjNdK2U7dT1kKzU2fDA7Zlt1
Pj4yXT1mW3U+PjJdfDF9ZWxzZSBwW24+PjNdPStwW28+PjNdO3Q9djtyZXR1cm4gKygoK3Bbcj4+
M10rICtwW3E+PjNdKSouNSstMy4xNDE1OTI2NTM1ODk3OTMpfWZ1bmN0aW9uIE92KGEsYixjKXth
PWF8MDtiPWJ8MDtjPStjO3ZhciBkPTAsZT0wLjAsZz0wLjAsaD0wLGk9MCxqPTAuMDtoPTA7ZT0w
LjA7Zz0wLjA7ZD1iKzQwfDA7d2hpbGUoMSl7aT1mW2Q+PjJdfDA7aWYoIWkpYnJlYWs7ZD1mW2k+
PjJdfDA7aWYoIWQpZD0wO2Vsc2UgZD1mWyhmWyhmW2QrMTY+PjJdfDApKzExMj4+Ml18MCkrOD4+
Ml18MDtpZigoZHwwKT09KGZbYT4+Ml18MCkpe2o9K3BbaSsxNj4+M107ZD1oKzF8MDtlPWUrYytq
KjIuMDtnPWc8aj9qOmd9ZWxzZSBkPWg7aD1kO2Q9aSs0fDB9cFthKzMyPj4zXT1lO2ZbYSs0OD4+
Ml09aDtwW2ErMTY+PjNdPWcrYysgK3BbYj4+M107cFthKzI0Pj4zXT1nO3JldHVybiArZ31mdW5j
dGlvbiBQdihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz0rYzt2YXIgZD0wLjAsZT0wLjA7ZT0rcFtiKzE2
Pj4zXTtkPStwW2ErMTY+PjNdO2M9KGQqK3BbYiszMj4+M10rZSorcFthKzMyPj4zXSkvKGMqMi4w
KmUqZCk7Yz1jPDEuMD8xLjA6YzthPWErNDB8MDtpZihjPitwW2E+PjNdKXBbYT4+M109YzthPWIr
NDB8MDtpZihjPitwW2E+PjNdKXBbYT4+M109YztyZXR1cm59ZnVuY3Rpb24gUXYoYSxiLGMsZCl7
YT1hfDA7Yj1ifDA7Yz1jfDA7ZD0rZDt2YXIgZT0wLjAsZz0wLjAsaD0wLGk9MC4wLGo9MC4wLGs9
MC4wLGw9MC4wLG09MCxuPTAsbz0wLjAscT0wLjAscj0wLHM9MCx0PTAsdT0wLjAsdj0wLjAsdz0w
LHg9MCx5PTAuMCx6PTAsQT0wLEI9MCxDPTAsRD0wLjAsRT0wLjA7ej1iKzh8MDt5PStwW3o+PjNd
O0E9YisyNHwwO2o9K3BbQT4+M107Qj1iKzMyfDA7aT0rcFtCPj4zXTtlPStwW2ErMTY+PjNdKitw
W2ErNDA+PjNdO3g9KGN8MCk9PTE7aWYoeCl7dj0rcFthKzMyPj4zXTtnPXYqLjE1OTE1NDk0MzA5
MTg5NTM1O2c9ZT5nP2U6ZztlPWcqNi4yODMxODUzMDcxNzk1ODYtdjtpZihlPjAuMCl7ZD1lLyso
ZlthKzQ4Pj4yXXwwKStkO2s9MC4wO2U9Z31lbHNle2s9MC4wO2U9Z319ZWxzZSBrPStwW2ErOD4+
M10tK3BbYSszMj4+M10vKGUqMi4wKTtxPStwW2ErMjQ+PjNdK2U7cj1xPnk7cz1hKzQ4fDA7dD0o
KGZbcz4+Ml18MCkrMXwwKS8yfDA7dT0xLjAvZTt2PWQvZSouNTt3PWErOHwwO209Yis0MHwwO249
MDtvPTAuMDtnPWs7d2hpbGUoMSl7bT1mW20+PjJdfDA7aWYoIW0pYnJlYWs7aD1mW20+PjJdfDA7
aWYoIWgpaD0wO2Vsc2UgaD1mWyhmWyhmW2grMTY+PjJdfDApKzExMj4+Ml18MCkrOD4+Ml18MDtp
ZigoaHwwKT09KGZbYT4+Ml18MCk/KCR2KGZbbSszMj4+Ml18MCl8MCk+PTE6MCl7az0rcFttKzE2
Pj4zXTtsPWsqdTtkbyBpZigheClpZigoZltzPj4yXXwwKT09MSl7Zz0rcFt3Pj4zXTticmVha31l
bHNle2c9bCtnK3Y7YnJlYWt9ZWxzZXtpZihnIT0wLjApZz0oZltzPj4yXXwwKT09Mj8zLjE0MTU5
MjY1MzU4OTc5MzpsK2c7aT1nO2o9ajwwLjA/ZzpqfXdoaWxlKDApO0U9K0woK2cpKmU7RD0rTSgr
ZykqZTtSdihtLEUsRCwrU3YobSxFLEQsZykpO2c9KHg/KGsrZCkqdTpsK3YpK2c7bj1uKzF8MDto
PW47az0obnwwKT09KHR8MCk/ZzpvfWVsc2V7aD1uO2s9b31tPW0rNHwwO249aDtvPWt9ZT1yP3E6
eTtpZigoY3wwKT4xPyhDPWZbYT4+Ml18MCwoQ3wwKT09KGZbYis0ND4+Ml18MCkpOjApcFsoZlso
ZltDKzE2Pj4yXXwwKSsxMTI+PjJdfDApKzI0Pj4zXT1vO3Bbej4+M109ZTtwW0E+PjNdPWo7cFtC
Pj4zXT1pO3JldHVybn1mdW5jdGlvbiBSdihhLGIsYyxkKXthPWF8MDtiPStiO2M9K2M7ZD0rZDt2
YXIgZT0wLGc9MC4wLGg9MC4wLGk9MC4wLGo9MCxrPTAsbD0wLG09MCxuPTAuMCxvPTAuMDtsPWZb
YSs4Pj4yXXwwO209ZCE9MC4wO249K0woK2QpO289K00oK2QpO2U9JHkobCl8MDt3aGlsZSgxKXtp
ZighZSlicmVhaztqPWZbKGZbZSsxNj4+Ml18MCkrMTMyPj4yXXwwO2g9K3Bbaj4+M107az1qKzh8
MDtnPStwW2s+PjNdO2lmKG0pe2k9aCpuLWcqbztnPWcqbitoKm99ZWxzZSBpPWg7cFtqPj4zXT1p
K2I7cFtrPj4zXT1nK2M7ZT1heihsLGUpfDB9ZT1hKzM2fDA7d2hpbGUoMSl7ZT1mW2U+PjJdfDA7
aWYoIWUpYnJlYWs7UnYoZSxiLGMsZCk7ZT1lKzR8MH1yZXR1cm59ZnVuY3Rpb24gU3YoYSxiLGMs
ZCl7YT1hfDA7Yj0rYjtjPStjO2Q9K2Q7dmFyIGU9MC4wLGc9MCxoPTAsaT0wLjAsaj0wLjAsaz0w
LGw9MCxtPTAsbj0wO2w9ZlthKzg+PjJdfDA7ZT0rcFthKzQ4Pj4zXTtkbyBpZighKGU+PTAuMCkp
e2lmKCgkdihmW2ErMzI+PjJdfDApfDApPT0yKXtlPWQrLTEuNTcwNzk2MzI2Nzk0ODk2NjticmVh
a31rPWZbYT4+Ml18MDttPWsrMTZ8MDtoPWZbKGZbbT4+Ml18MCkrMTMyPj4yXXwwO2U9K3BbaD4+
M10rYjtqPStwW2grOD4+M10rYztlPWoqaitlKmU7aD0keShsKXwwO2c9azt3aGlsZSgxKXtpZigh
aClicmVhaztpZigoaHwwKSE9KGt8MCk/KG49ZlsoZltoKzE2Pj4yXXwwKSsxMzI+PjJdfDAsaT0r
cFtuPj4zXStiLGo9K3Bbbis4Pj4zXStjLGk9aipqK2kqaSxpPGUpOjApe2U9aTtnPWh9aD1heihs
LGgpfDB9aWYoKGt8MCkhPShnfDApKXtpPStwW2ErMjQ+PjNdO2o9K3BbYSsxNj4+M10taTtnPWZb
bT4+Ml18MDtoPWZbZysxMzI+PjJdfDA7ZT0rcFtoPj4zXTtpZihlPi1qPyhmW2ErNTY+PjJdJjF8
MCkhPTA6MCl7Yz0rSigrKGMqYytiKmIpKTtiPStSKCsoK3BbaCs4Pj4zXSksKyhlK2opKTtlPStM
KCtiKTtlPWQrMS41NzA3OTYzMjY3OTQ4OTY2LWItK1AoKygoai1pL2UpL2MqZSkpO2JyZWFrfWVs
c2V7ZT0rUigrKCtwW2grOD4+M10pLCtlKTtlPWQrMy4xNDE1OTI2NTM1ODk3OTMtZS0rcFsoZltn
KzExMj4+Ml18MCkrMjQ+PjNdO2U9ZT42LjI4MzE4NTMwNzE3OTU4Nj9lKy02LjI4MzE4NTMwNzE3
OTU4NjplO2JyZWFrfX1lbHNlIGU9MC4wfWVsc2V7ZT0zLjE0MTU5MjY1MzU4OTc5My1lK2Q7ZT1l
PDAuMD9lKzYuMjgzMTg1MzA3MTc5NTg2OmV9d2hpbGUoMCk7cmV0dXJuICtlfWZ1bmN0aW9uIFR2
KCl7cmV0dXJuIERIKDEyKXwwfWZ1bmN0aW9uIFV2KGEpe2E9YXwwO3ZhciBiPTAsYz0wO2lmKGF8
MCl7Yj1mW2E+PjJdfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7Yz1mW2IrND4+Ml18MDtNXyhiKTti
PWN9TV8oYSl9cmV0dXJufWZ1bmN0aW9uIFZ2KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIg
ZD0wLGU9MDtjPVd2KGMpfDA7ZD1hKzh8MDtmW2Q+PjJdPShmW2Q+PjJdfDApKzE7ZD1hKzR8MDtl
PWZbZD4+Ml18MDtpZigoYnwwKT09MHwoZXwwKT09KGJ8MCkpe2ZbKChlfDApPT0wP2E6ZSs0fDAp
Pj4yXT1jO2ZbYys4Pj4yXT1lO2ZbYys0Pj4yXT0wO2ZbZD4+Ml09Y31lbHNle2U9Yis0fDA7YT1m
W2U+PjJdfDA7ZltlPj4yXT1jO2ZbYys4Pj4yXT1iO2ZbYSs4Pj4yXT1jO2ZbYys0Pj4yXT1hfXJl
dHVybn1mdW5jdGlvbiBXdihhKXthPWF8MDt2YXIgYj0wO2I9REgoMTIpfDA7ZltiPj4yXT1hO3Jl
dHVybiBifDB9ZnVuY3Rpb24gWHYoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTA7Yj1m
W2E+PjJdfDA7Yz1iO3doaWxlKDEpe2lmKCFiKWJyZWFrO2c9Yis0fDA7ZD1mW2c+PjJdfDA7ZT1i
Kzh8MDtmW2c+PjJdPWZbZT4+Ml07ZltlPj4yXT1kO2I9ZH1lPWErNHwwO2c9ZltlPj4yXXwwO2Zb
ZT4+Ml09YztmW2E+PjJdPWc7cmV0dXJuIGF8MH1mdW5jdGlvbiBZdihhLGIpe2E9YXwwO2I9Ynww
O3ZhciBjPTAsZD0wLGU9MDtjPWZbYT4+Ml18MDtpZigoY3wwKSE9KGJ8MCkpe2U9Yis4fDA7ZD1m
W2U+PjJdfDA7ZlthPj4yXT1iO2ZbZT4+Ml09MDtiPWErNHwwO2E9ZltiPj4yXXwwO2ZbYSs0Pj4y
XT1jO2ZbYys4Pj4yXT1hO2ZbYj4+Ml09ZDtmW2QrND4+Ml09MH1yZXR1cm59ZnVuY3Rpb24gWnYo
YSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO2M9VHYoKXwwO2Q9Yys0fDA7Yj0wO3doaWxlKDEpe2E9
ZlthPj4yXXwwO2lmKCFhKWJyZWFrO1Z2KGMsYixmW2E+PjJdfDApO2I9ZltkPj4yXXwwO2E9YSs0
fDB9cmV0dXJuIGN8MH1mdW5jdGlvbiBfdihhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8
MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7ZT1hO3doaWxlKDEpe2s9ZltlPj4yXXwwO2lm
KCFrKXtqPTY7YnJlYWt9aWYoKGZbaz4+Ml18MCk9PShifDApKWJyZWFrO2U9ays0fDB9aWYoKGp8
MCk9PTYpeGEoMTA1MzE1LDEwNTMyMiwyMTcsMTA1MzMzKTtoPWsrOHwwO2U9ZltoPj4yXXwwO2k9
ays0fDA7Yj1mW2k+PjJdfDA7ZlsoKGV8MCk9PTA/YTplKzR8MCk+PjJdPWI7ZlsoKGJ8MCk9PTA/
YSs0fDA6Yis4fDApPj4yXT1lO2I9MDtlPWE7d2hpbGUoMSl7Zz1mW2U+PjJdfDA7aWYoIWcpYnJl
YWs7aWYoKGZbZz4+Ml18MCk9PShjfDApKXtqPTk7YnJlYWt9Yj1nO2U9Zys0fDB9aWYoKGp8MCk9
PTkpe2RvIGlmKCFkKWlmKChnfDApPT0oZlthPj4yXXwwKSl7ZlthPj4yXT1rO2ZbaT4+Ml09Zztm
W2g+PjJdPTA7ZT1nKzh8MDticmVha31lbHNle2ZbYis0Pj4yXT1rO2ZbaD4+Ml09YjtmW2k+PjJd
PWc7ZT1nKzh8MDticmVha31lbHNle2U9YSs0fDA7aWYoKGd8MCk9PShmW2U+PjJdfDApKXtmW2U+
PjJdPWs7ZltpPj4yXT0wO2ZbaD4+Ml09ZztlPWcrNHwwO2JyZWFrfWVsc2V7ZltoPj4yXT1nO2U9
Zys0fDA7ZltpPj4yXT1mW2U+PjJdO2ZbKGZbZT4+Ml18MCkrOD4+Ml09azticmVha319d2hpbGUo
MCk7ZltlPj4yXT1rfXJldHVybn1mdW5jdGlvbiAkdihhKXthPWF8MDtyZXR1cm4gZlthKzg+PjJd
fDB9ZnVuY3Rpb24gYXcoYSxiKXthPWF8MDtiPWJ8MDtidyhhLFh2KGIpfDApO01fKGIpO3JldHVy
bn1mdW5jdGlvbiBidyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MDtjPWZbYj4+Ml18
MDtpZihjfDApe2Q9YSs0fDA7ZT1mW2Q+PjJdfDA7ZltlKzQ+PjJdPWM7ZltjKzg+PjJdPWU7Zltk
Pj4yXT1mW2IrND4+Ml07Yz1hKzh8MDtmW2M+PjJdPShmW2M+PjJdfDApKyhmW2IrOD4+Ml18MCl9
cmV0dXJufWZ1bmN0aW9uIGN3KGEsYixjKXthPWF8MDtiPWJ8MDtjPStjO3ZhciBkPTAsZT0wLjAs
Zz0wLjAsaD0wLjAsaT0wLjAsaj0wLGs9MCxsPTAsbT0wLG49MC4wO2w9ZltiKzg+PjJdfDA7ZHco
YSxiKTtrPWV3KGwpfDA7YT1ndyhmdyhrKXwwKXwwO2h3KGwsYSk7bD1pdyhhLGwpfDA7YT0kdihs
KXwwO2k9K2p3KGwpO2o9KGF8MCk9PTE7ZT0rKGF8MCk7Zz1lKi4xNTkxNTQ5NDMwOTE4OTUzNSoo
aStjKTtoPWo/MC4wOmc7YT1sO3doaWxlKDEpe2E9ZlthPj4yXXwwO2lmKCFhKWJyZWFrO2lmKGZb
KGZbKGZbKGZbYT4+Ml18MCkrMTY+PjJdfDApKzExMj4+Ml18MCkrND4+Ml0mOHwwKXtkPTQ7YnJl
YWt9YT1hKzR8MH1pZigoZHwwKT09NClZdihsLGEpO2M9MS4wL2U7ZD0wO2E9bDt3aGlsZSgxKXth
PWZbYT4+Ml18MDtpZighYSlicmVhazttPShmW2E+PjJdfDApKzE2fDA7ZlsoZlsoZlttPj4yXXww
KSsxMTI+PjJdfDApKzE2Pj4yXT1kO3BbKGZbKGZbbT4+Ml18MCkrMTEyPj4yXXwwKSsyND4+M109
MC4wO2U9Ni4yODMxODUzMDcxNzk1ODYqYyorKGR8MCk7bj0rTCgrZSkqaDttPWZbKGZbbT4+Ml18
MCkrMTMyPj4yXXwwO3BbbT4+M109bjtlPStNKCtlKSpoO3BbbSs4Pj4zXT1lO2Q9ZCsxfDA7YT1h
KzR8MH1uPWo/aSouNTpnO3BbYisxNj4+M109bjtwW2IrMjQ+PjNdPW47cFtiKzQ4Pj4zXT0tMS4w
O2l5KGspfDA7cmV0dXJuIGx8MH1mdW5jdGlvbiBkdyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAs
ZD0wLGU9MDtlPWZbYis4Pj4yXXwwO2M9JHkoZSl8MDt3aGlsZSgxKXtpZighYylicmVhaztkPU54
KGEsYyl8MDt3aGlsZSgxKXtpZighZClicmVhaztpZigoZlsoZlsoZlsoZlsoKGZbZD4+Ml0mM3ww
KT09Mj9kOmQrLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTEyPj4yXXwwKSsxMj4+Ml18MCk9
PShifDApKWN5KGUsZCwxKXwwO2Q9UHgoYSxkKXwwfWM9YXooZSxjKXwwfXJldHVybn1mdW5jdGlv
biBldyhhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7az10
O3Q9dCsxNnwwO2c9aztlPXB3KGEsZyl8MDtnPWZbZz4+Ml18MDtpPWp5KGcpfDA7aD1xdyhnKXww
O2k9aSstM3wwO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGl8MCkpYnJlYWs7aj16dyhoKXwwO2M9
U3goZyxqKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO2I9ZltjPj4yXSYzO2E9ZlsoKGJ8MCk9PTI/
YzpjKy00OHwwKSs0MD4+Ml18MDtpZigoanwwKT09KGF8MCkpYT1mWygoYnwwKT09Mz9jOmMrNDh8
MCkrNDA+PjJdfDA7eXcoaCxhKTtjPVR4KGcsYyxqKXwwfXJ3KGcsaixlKTtjPVN4KGcsail8MDt3
aGlsZSgxKXtpZighYylicmVhaztiPWZbYz4+Ml0mMzthPWZbKChifDApPT0yP2M6YystNDh8MCkr
NDA+PjJdfDA7aWYoKGp8MCk9PShhfDApKWE9ZlsoKGJ8MCk9PTM/YzpjKzQ4fDApKzQwPj4yXXww
O2I9KGZbYSsxNj4+Ml18MCkrMjM2fDA7ZltiPj4yXT0oZltiPj4yXXwwKSstMTt4dyhoLGEpO2M9
VHgoZyxjLGopfDB9bXooZyxqKXwwO2Q9ZCsxfDB9aXkoZyl8MDt3dyhoKTt0PWs7cmV0dXJuIGV8
MH1mdW5jdGlvbiBmdyhhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wO2U9dDt0PXQrMTQ0fDA7
Yj1lKzEyOHwwO2Q9ZTtjPWZbNDgyMjddfDA7Zls0ODIyN109YysxO2ZbYj4+Ml09YztkJChkLDEw
NTM0OCxiKXwwO2Q9RUEoYSxkLDEpfDA7SnooZCwxNDU3NTMsMjgwLDEpfDA7Yj0keShhKXwwO3do
aWxlKDEpe2lmKCFiKWJyZWFrO2V6KGQsYiwxKXwwO2M9YisxNnwwO2ZbKGZbKGZbYz4+Ml18MCkr
MTEyPj4yXXwwKSsxNisxMj4+Ml09MDtmWyhmWyhmW2M+PjJdfDApKzExMj4+Ml18MCkrMzI+PjJd
PTA7Yz0oZlsoZltjPj4yXXwwKSsxMTI+PjJdfDApKzR8MDtmW2M+PjJdPWZbYz4+Ml0mLTI7Yj1h
eihhLGIpfDB9Yj0keShhKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFrO2M9ZlsoZltiKzE2Pj4yXXww
KSsxMTI+PjJdfDA7aWYoIShmW2MrND4+Ml0mMSkpe2ZbYysxNj4+Ml09MDtvdyhhLGIsZCl9Yj1h
eihhLGIpfDB9dD1lO3JldHVybiBkfDB9ZnVuY3Rpb24gZ3coYSl7YT1hfDA7dmFyIGI9MCxjPTAs
ZD0wLGU9MCxnPTA7aWYoKGp5KGEpfDApIT0xKXtjPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJl
YWs7Yj0wO2Q9U3goYSxjKXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrO2I9YisxfDA7ZD1UeChhLGQs
Yyl8MH1pZigoYnwwKT09MSludyhjLGMsMCwwKTtjPWF6KGEsYyl8MH1iPTA7ZT0wO2M9JHkoYSl8
MDt3aGlsZSgxKXtpZighYylicmVhaztnPWZbKGZbYysxNj4+Ml18MCkrMTEyPj4yXXwwO2c9KGZb
ZyszMj4+Ml18MCkrKGZbZysxNisxMj4+Ml18MCl8MDtkPShnfDApPihifDApO2I9ZD9nOmI7ZT1k
P2M6ZTtjPWF6KGEsYyl8MH1iPVR2KCl8MDtkPWUrMTZ8MDtjPShmWyhmW2Q+PjJdfDApKzExMj4+
Ml18MCkrMTYrNHwwO3doaWxlKDEpe2M9ZltjPj4yXXwwO2lmKChjfDApPT0oZXwwKSlicmVhaztW
dihiLDAsYyk7Yz1mWyhmW2MrMTY+PjJdfDApKzExMj4+Ml18MDtnPWMrNHwwO2ZbZz4+Ml09Zltn
Pj4yXXwxNjtjPWMrMTZ8MH1WdihiLDAsZSk7Zz1mWyhmW2Q+PjJdfDApKzExMj4+Ml18MDthPWcr
NHwwO2ZbYT4+Ml09ZlthPj4yXXwxNjtpZihmW2crMzI+PjJdfDApe2E9VHYoKXwwO2M9KGZbKGZb
ZD4+Ml18MCkrMTEyPj4yXXwwKSsyNHwwO3doaWxlKDEpe2M9ZltjPj4yXXwwO2lmKChjfDApPT0o
ZXwwKSlicmVhaztWdihhLDAsYyk7Yz1mWyhmW2MrMTY+PjJdfDApKzExMj4+Ml18MDtnPWMrNHww
O2ZbZz4+Ml09ZltnPj4yXXwxNjtjPWMrMTZ8MH1hdyhiLGEpfX1lbHNle2I9VHYoKXwwO2c9JHko
YSl8MDtWdihiLDAsZyk7Zz0oZlsoZltnKzE2Pj4yXXwwKSsxMTI+PjJdfDApKzR8MDtmW2c+PjJd
PWZbZz4+Ml18MTZ9cmV0dXJuIGJ8MH1mdW5jdGlvbiBodyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBj
PTA7Yz0keShhKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO2lmKCEoZlsoZlsoZltjKzE2Pj4yXXww
KSsxMTI+PjJdfDApKzQ+PjJdJjE2KSltdyhhLGMsYik7Yz1heihhLGMpfDB9cmV0dXJufWZ1bmN0
aW9uIGl3KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTA7Zz10O3Q9dCsx
NnwwO2U9ZztjPWt3KGEsYil8MDtmW2U+PjJdPWM7YTpkbyBpZihjKXtkPTA7d2hpbGUoMSl7aWYo
ZD4+PjA+PTEwKWJyZWFrIGE7YT1sdyhhLGIsZSl8MDtoPWM7Yz1mW2U+PjJdfDA7aWYoKGh8MCk9
PShjfDApfChjfDApPT0wKWJyZWFrO2Vsc2UgZD1kKzF8MH19d2hpbGUoMCk7dD1nO3JldHVybiBh
fDB9ZnVuY3Rpb24gancoYSl7YT1hfDA7dmFyIGI9MC4wLGM9MC4wLGQ9MC4wLGU9MDtiPTAuMDt3
aGlsZSgxKXthPWZbYT4+Ml18MDtpZighYSlicmVhaztlPWZbKGZbZlsoZlsoZlthPj4yXXwwKSsx
Nj4+Ml18MCkrMTEyPj4yXT4+Ml18MCkrMTY+PjJdfDA7Yz0rcFtlKzMyPj4zXTtjPWM+Yj9jOmI7
ZD0rcFtlKzQwPj4zXTtiPWQ+Yz9kOmM7YT1hKzR8MH1yZXR1cm4gK2J9ZnVuY3Rpb24ga3coYSxi
KXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTA7az1B
dygpfDA7ZD0keShiKXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrO2M9TngoYixkKXwwO3doaWxlKDEp
e2lmKCFjKWJyZWFrO2ZbZlsoZltjKzE2Pj4yXXwwKSsxMjA+PjJdPj4yXT0wO2M9UHgoYixjKXww
fWQ9YXooYixkKXwwfWo9MTtjPTA7d2hpbGUoMSl7aD1mW2E+PjJdfDA7aWYoIWgpYnJlYWs7aT1m
W2g+PjJdfDA7Zz1TeChiLGkpfDA7d2hpbGUoMSl7aWYoIWcpYnJlYWs7ZT1nKzE2fDA7aWYoKGZb
ZlsoZltlPj4yXXwwKSsxMjA+PjJdPj4yXXwwKT4wKXthPXdiW2Zbaz4+Ml0mNjNdKGssMCwxMjgp
fDA7d2hpbGUoMSl7aWYoIWEpYnJlYWs7ZD1mW2ErOD4+Ml18MDtpZigoZltmWyhmW2QrMTY+PjJd
fDApKzEyMD4+Ml0+PjJdfDApPihmW2ZbKGZbZT4+Ml18MCkrMTIwPj4yXT4+Ml18MCk/KGw9Zltk
Pj4yXSYzLChmWygobHwwKT09Mj9kOmQrLTQ4fDApKzQwPj4yXXwwKSE9KGl8MCkpOjApYz1jKygo
ZlsoKGx8MCk9PTM/ZDpkKzQ4fDApKzQwPj4yXXwwKSE9KGl8MCkmMSl8MDthPXdiW2Zbaz4+Ml0m
NjNdKGssYSw4KXwwfUd3KGssZyl9Zz1UeChiLGcsaSl8MH1kPVN4KGIsaSl8MDt3aGlsZSgxKXtp
ZighZClicmVhazthPWZbKGZbZCsxNj4+Ml18MCkrMTIwPj4yXXwwO2lmKCEoZlthPj4yXXwwKSl7
ZlthPj4yXT1qO0Z3KGssZCl9ZD1UeChiLGQsaSl8MH1hPWgrNHwwO2o9aisxfDB9RXcoayk7cmV0
dXJuIGN8MH1mdW5jdGlvbiBsdyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAs
Zz0wLGg9MCxpPTAsaj0wLGs9MDtkPWZbYz4+Ml18MDtrPSR5KGIpfDA7YTp3aGlsZSgxKXtpZigh
aylicmVhaztqPVN4KGIsayl8MDt3aGlsZSgxKXtpZighailicmVhaztnPWZbaj4+Ml0mMztlPWZb
KChnfDApPT0zP2o6ais0OHwwKSs0MD4+Ml18MDtpZigoZXwwKT09KGt8MCkpZT1mWygoZ3wwKT09
Mj9qOmorLTQ4fDApKzQwPj4yXXwwO2k9MDt3aGlsZSgxKXtpZihpPj4+MD49MilicmVhaztoPVp2
KGEpfDA7X3YoYSxrLGUsaSk7Zz1rdyhhLGIpfDA7aWYoKGd8MCk8KGR8MCkpe1V2KGgpO2lmKCFn
KXtkPTA7YnJlYWsgYX1lbHNlIGQ9Z31lbHNle1V2KGEpO2E9aH1pPWkrMXwwfWo9VHgoYixqLGsp
fDB9az1heihiLGspfDB9ZltjPj4yXT1kO3JldHVybiBhfDB9ZnVuY3Rpb24gbXcoYSxiLGMpe2E9
YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTA7aD1UdigpfDA7ZD1OeChhLGIpfDA7
d2hpbGUoMSl7aWYoIWQpYnJlYWs7ZT1kKy00OHwwO1Z2KGgsMCxmWygoZltkPj4yXSYzfDApPT0y
P2Q6ZSkrNDA+PjJdfDApO2U9KGZbKGZbKGZbKChmW2Q+PjJdJjN8MCk9PTI/ZDplKSs0MD4+Ml18
MCkrMTY+PjJdfDApKzExMj4+Ml18MCkrNHwwO2ZbZT4+Ml09ZltlPj4yXXwzMjtkPVB4KGEsZCl8
MH1kPVF4KGEsYil8MDt3aGlsZSgxKXtpZighZClicmVhaztlPWQrNDh8MDtWdihoLDAsZlsoKGZb
ZD4+Ml0mM3wwKT09Mz9kOmUpKzQwPj4yXXwwKTtlPShmWyhmWyhmWygoZltkPj4yXSYzfDApPT0z
P2Q6ZSkrNDA+PjJdfDApKzE2Pj4yXXwwKSsxMTI+PjJdfDApKzR8MDtmW2U+PjJdPWZbZT4+Ml18
MzI7ZD1SeChhLGQpfDB9YTpkbyBpZigoJHYoaCl8MCk+MSl7ZT1jKzR8MDtkPWM7ZG97YT1mW2Q+
PjJdfDA7aWYoIWEpe2c9MTQ7YnJlYWsgYX1kPWErNHwwfXdoaWxlKCEoZlsoZlsoZlsoZlthPj4y
XXwwKSsxNj4+Ml18MCkrMTEyPj4yXXwwKSs0Pj4yXSYzMnwwP2ZbKGZbKGZbKGZbZlsoKGF8MCk9
PShmW2U+PjJdfDApP2M6ZCk+PjJdPj4yXXwwKSsxNj4+Ml18MCkrMTEyPj4yXXwwKSs0Pj4yXSYz
MnwwOjApKTtWdihjLGEsYil9ZWxzZSBnPTE0O3doaWxlKDApO2I6ZG8gaWYoKGd8MCk9PTE0KXtj
OmRvIGlmKCgkdihoKXwwKT4wKXtkPWM7d2hpbGUoMSl7ZD1mW2Q+PjJdfDA7aWYoIWQpYnJlYWsg
YztpZihmWyhmWyhmWyhmW2Q+PjJdfDApKzE2Pj4yXXwwKSsxMTI+PjJdfDApKzQ+PjJdJjMyfDAp
YnJlYWs7ZD1kKzR8MH1WdihjLGQsYik7YnJlYWsgYn13aGlsZSgwKTtWdihjLDAsYil9d2hpbGUo
MCk7ZD1oO3doaWxlKDEpe2Q9ZltkPj4yXXwwO2lmKCFkKWJyZWFrO2M9KGZbKGZbKGZbZD4+Ml18
MCkrMTY+PjJdfDApKzExMj4+Ml18MCkrNHwwO2ZbYz4+Ml09ZltjPj4yXSYtMzM7ZD1kKzR8MH1V
dihoKTtyZXR1cm59ZnVuY3Rpb24gbncoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7
dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDt3aGlsZSgxKXtoPWZbKGZbKGZbYisxNj4+
Ml18MCkrMTEyPj4yXXwwKSsxNj4+Ml18MDtpZighaClicmVhaztpPWMrMXwwO2o9aCsxNnwwO2s9
ZlsoZltqPj4yXXwwKSsxMTI+PjJdfDA7ZT1rKzE2fDA7Yj1mW2UrMTI+PjJdfDA7aWYoYil7aWYo
KGJ8MCk+KGN8MCkpe2w9MTE7YnJlYWt9Yj1lKzR8MDtlPWZbYj4+Ml18MDtnPWU7aWYoKGV8MCkh
PShkfDApKXtjPWsrMjR8MDtpZigoZltrKzMyPj4yXXwwKSE9MD8oZltjPj4yXXwwKT09KGR8MCk6
MCliPWQ7ZWxzZSBiPWU7ZltjPj4yXT1nO2Q9ZlsoZltqPj4yXXwwKSsxMTI+PjJdfDA7ZltkKzMy
Pj4yXT1mW2QrMTYrMTI+PjJdO2Q9YjtiPShmWyhmW2o+PjJdfDApKzExMj4+Ml18MCkrMTYrNHww
fX1lbHNlIGI9ZSs0fDA7ZltiPj4yXT1hO2ZbKGZbKGZbaj4+Ml18MCkrMTEyPj4yXXwwKSsxNisx
Mj4+Ml09aTtiPWg7Yz1pfWlmKChsfDApPT0xMT8oZltrKzMyPj4yXXwwKTw9KGN8MCk6MCl7Zltr
KzI0Pj4yXT1hO2ZbKGZbKGZbaj4+Ml18MCkrMTEyPj4yXXwwKSszMj4+Ml09aX1yZXR1cm59ZnVu
Y3Rpb24gb3coYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MDtnPShmWyhm
W2IrMTY+PjJdfDApKzExMj4+Ml18MCkrNHwwO2ZbZz4+Ml09ZltnPj4yXXwxO2c9U3goYSxiKXww
O3doaWxlKDEpe2lmKCFnKWJyZWFrO2U9ZltnPj4yXSYzO2Q9ZlsoKGV8MCk9PTI/ZzpnKy00OHww
KSs0MD4+Ml18MDtpZigoZHwwKT09KGJ8MCkpZD1mWygoZXwwKT09Mz9nOmcrNDh8MCkrNDA+PjJd
fDA7ZT1kKzE2fDA7aWYoIShmWyhmWyhmW2U+PjJdfDApKzExMj4+Ml18MCkrND4+Ml0mMSkpe2N5
KGMsZywxKXwwO2ZbKGZbKGZbZT4+Ml18MCkrMTEyPj4yXXwwKSsxNj4+Ml09YjtvdyhhLGQsYyl9
Zz1UeChhLGcsYil8MH1yZXR1cm59ZnVuY3Rpb24gcHcoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0w
LGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7az10O3Q9dCsxNDR8MDtqPWsrMTM2fDA7
aT1rKzEyOHwwO2Q9aztoPWZbNDgyMjhdfDA7Zls0ODIyOF09aCsxO2ZbaT4+Ml09aDtkJChkLDEw
NTM1NyxpKXwwO2k9RUEoYSxkLDEpfDA7SnooaSwxNDU3NTMsMjgwLDEpfDA7aD1mWzQ4MjI4XXww
O2ZbNDgyMjhdPWgrMTtmW2o+PjJdPWg7ZCQoZCwxMDUzNTcsail8MDtoPWErMjR8MDtiW2o+PjBd
PWJbaD4+MF18MDtiW2orMT4+MF09YltoKzE+PjBdfDA7YltqKzI+PjBdPWJbaCsyPj4wXXwwO2Jb
aiszPj4wXT1iW2grMz4+MF18MDtqPWV5KGQsaiwwKXwwO2Q9JHkoYSl8MDt3aGlsZSgxKXtpZigh
ZClicmVhaztleihpLGQsMSl8MDtoPWp6KGosQXkoZCl8MCwxKXwwO0p6KGgsMTQ1NzE3LDMwNCwx
KXwwO2ZbKGZbKGZbZCsxNj4+Ml18MCkrMTEyPj4yXXwwKSsxNj4+Ml09aDtkPWF6KGEsZCl8MH1l
PSR5KGEpfDA7d2hpbGUoMSl7aWYoIWUpYnJlYWs7Zz1mWyhmWyhmW2UrMTY+PjJdfDApKzExMj4+
Ml18MCkrMTY+PjJdfDA7aD1nKzE2fDA7ZD1OeChhLGUpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7
Y3koaSxkLDEpfDA7bD1mWyhmWyhmWyhmWygoZltkPj4yXSYzfDApPT0yP2Q6ZCstNDh8MCkrNDA+
PjJdfDApKzE2Pj4yXXwwKSsxMTI+PjJdfDApKzE2Pj4yXXwwO209X3goaixnLGwsMCwxKXwwO0p6
KG0sMTQ1NzMwLDE3NiwxKXwwO2ZbKGZbbSsxNj4+Ml18MCkrMTE2Pj4yXT1kO209KGZbaD4+Ml18
MCkrMjM2fDA7ZlttPj4yXT0oZlttPj4yXXwwKSsxO2w9KGZbbCsxNj4+Ml18MCkrMjM2fDA7Zlts
Pj4yXT0oZltsPj4yXXwwKSsxO2Q9UHgoYSxkKXwwfWU9YXooYSxlKXwwfWZbYz4+Ml09ajt0PWs7
cmV0dXJuIGl8MH1mdW5jdGlvbiBxdyhhKXthPWF8MDt2YXIgYj0wLGM9MDtjPXN3KCl8MDtiPSR5
KGEpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7eHcoYyxiKTtiPWF6KGEsYil8MH1yZXR1cm4gY3ww
fWZ1bmN0aW9uIHJ3KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0w
LGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTA7bT1mWyhmW2IrMTY+PjJdfDApKzIzNj4+
Ml18MDtwPW08PDI7bz1FSChwKXwwO3A9RUgocCl8MDtpPTA7bD1TeChhLGIpfDA7bj0wO2U9MDt3
aGlsZSgxKXtpZighbClicmVhaztkPWZbbD4+Ml0mMztnPWZbKChkfDApPT0yP2w6bCstNDh8MCkr
NDA+PjJdfDA7aWYoKGd8MCk9PShifDApKWc9ZlsoKGR8MCk9PTM/bDpsKzQ4fDApKzQwPj4yXXww
O2g9MDtrPVN4KGEsYil8MDtqPWk7d2hpbGUoMSl7aWYoIWspYnJlYWs7aWYoKGt8MCkhPShsfDAp
KXtpPWZbaz4+Ml0mMztkPWZbKChpfDApPT0yP2s6aystNDh8MCkrNDA+PjJdfDA7aWYoKGR8MCk9
PShifDApKWQ9ZlsoKGl8MCk9PTM/azprKzQ4fDApKzQwPj4yXXwwO2k9X3goYSxnLGQsMCwwKXww
O2lmKGkpaWYoZz4+PjA8ZD4+PjApe2Q9aisxfDA7aD1pKzE2fDA7aT1mWyhmW2g+PjJdfDApKzEx
Nj4+Ml18MDtpZighaSloPTE7ZWxzZXtteihjLGkpfDA7ZlsoZltoPj4yXXwwKSsxMTY+PjJdPTA7
aD0xfX1lbHNle2g9MTtkPWp9ZWxzZSBkPWp9ZWxzZSBkPWo7az1UeChhLGssYil8MDtqPWR9aWYo
IWgpe2ZbcCsobjw8Mik+PjJdPWc7ZD1uKzF8MH1lbHNle2ZbbysoZTw8Mik+PjJdPWc7ZD1uO2U9
ZSsxfDB9aT1qO2w9VHgoYSxsLGIpfDA7bj1kfWQ9bSstMS1pfDA7YTpkbyBpZigoZHwwKT4wKXtp
ZigoZHwwKT49KG58MCkpe2lmKChkfDApIT0obnwwKSlicmVhaztlPWZbbz4+Ml18MDtnPWUrMTZ8
MDtkPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShufDApKWJyZWFrIGE7bT1mW3ArKGQ8PDIpPj4yXXww
O0p6KF94KGEsZSxtLDAsMSl8MCwxNDU3MzAsMTc2LDEpfDA7Yz0oZltnPj4yXXwwKSsyMzZ8MDtm
W2M+PjJdPShmW2M+PjJdfDApKzE7bT0oZlttKzE2Pj4yXXwwKSsyMzZ8MDtmW20+PjJdPShmW20+
PjJdfDApKzE7ZD1kKzF8MH19Zz0wO3doaWxlKDEpe2lmKChnfDApPj0obnwwKSlicmVhaztlPWd8
MTtpZigoZXwwKT49KG58MCkpYnJlYWs7Yz1mW3ArKGc8PDIpPj4yXXwwO209ZltwKyhlPDwyKT4+
Ml18MDtKeihfeChhLGMsbSwwLDEpfDAsMTQ1NzMwLDE3NiwxKXwwO2M9KGZbYysxNj4+Ml18MCkr
MjM2fDA7ZltjPj4yXT0oZltjPj4yXXwwKSsxO209KGZbbSsxNj4+Ml18MCkrMjM2fDA7ZlttPj4y
XT0oZlttPj4yXXwwKSsxO2c9ZysyfDA7ZD1kKy0xfDB9ZT0yO3doaWxlKDEpe2lmKChkfDApPD0w
KWJyZWFrIGE7bT1mW3A+PjJdfDA7bj1mW3ArKGU8PDIpPj4yXXwwO0p6KF94KGEsbSxuLDAsMSl8
MCwxNDU3MzAsMTc2LDEpfDA7bT0oZlttKzE2Pj4yXXwwKSsyMzZ8MDtmW20+PjJdPShmW20+PjJd
fDApKzE7bj0oZltuKzE2Pj4yXXwwKSsyMzZ8MDtmW24+PjJdPShmW24+PjJdfDApKzE7ZT1lKzF8
MDtkPWQrLTF8MH19d2hpbGUoMCk7TV8ocCk7TV8obyk7cmV0dXJufWZ1bmN0aW9uIHN3KCl7cmV0
dXJuIEx3KDcxOTIwLGZbMTgwMDFdfDApfDB9ZnVuY3Rpb24gdHcoYSxiLGMpe2E9YXwwO2I9Ynww
O2M9Y3wwO2M9RUgoMTYpfDA7ZltjKzEyPj4yXT0wO2ZbYys4Pj4yXT1mW2IrOD4+Ml07cmV0dXJu
IGN8MH1mdW5jdGlvbiB1dyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7TV8oYik7cmV0dXJufWZ1
bmN0aW9uIHZ3KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2I9ZltiPj4yXXwwO2Q9
ZltjPj4yXXwwO3JldHVybiAoKGJ8MCk8KGR8MCk/LTE6KGJ8MCk+KGR8MCkmMSl8MH1mdW5jdGlv
biB3dyhhKXthPWF8MDtIdyhhKXwwO3JldHVybn1mdW5jdGlvbiB4dyhhLGIpe2E9YXwwO2I9Ynww
O3ZhciBjPTAsZD0wLGU9MDtjPXQ7dD10KzE2fDA7ZT1jO2Q9YisxNnwwO2ZbZSs4Pj4yXT1mWyhm
W2Q+PjJdfDApKzIzNj4+Ml07YT0od2JbZlthPj4yXSY2M10oYSxlLDEpfDApKzEyfDA7ZlsoZltk
Pj4yXXwwKSsxNjQ+PjJdPWZbYT4+Ml07ZlthPj4yXT1iO3Q9YztyZXR1cm59ZnVuY3Rpb24geXco
YSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MDtoPXQ7dD10KzE2fDA7Zz1o
O2U9YisxNnwwO2ZbZys4Pj4yXT1mWyhmW2U+PjJdfDApKzIzNj4+Ml07Zz13YltmW2E+PjJdJjYz
XShhLGcsNCl8MDtpZighZyl4YSgxMDUzNjcsMTA1MzcwLDEwNywxMDUzODApO2Q9ZysxMnwwO2M9
ZltkPj4yXXwwO2lmKChjfDApPT0oYnwwKSl7Yj1mWyhmW2U+PjJdfDApKzE2ND4+Ml18MDtmW2Q+
PjJdPWI7aWYoIWIpd2JbZlthPj4yXSY2M10oYSxnLDIpfDB9ZWxzZXtkb3thPWZbYysxNj4+Ml18
MDtjPWZbYSsxNjQ+PjJdfDA7ZD0oY3wwKSE9MH13aGlsZShkJihjfDApIT0oYnwwKSk7aWYoZClm
W2ErMTY0Pj4yXT1mWyhmW2MrMTY+PjJdfDApKzE2ND4+Ml19dD1oO3JldHVybn1mdW5jdGlvbiB6
dyhhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wO2M9d2JbZlthPj4yXSY2M10oYSwwLDEyOCl8
MDtpZihjKXtlPWMrMTJ8MDtiPWZbZT4+Ml18MDtkPWZbKGZbYisxNj4+Ml18MCkrMTY0Pj4yXXww
O2ZbZT4+Ml09ZDtpZighZCl3YltmW2E+PjJdJjYzXShhLGMsMil8MH1lbHNlIGI9MDtyZXR1cm4g
YnwwfWZ1bmN0aW9uIEF3KCl7cmV0dXJuIEx3KDcxOTU2LGZbMTgwMDFdfDApfDB9ZnVuY3Rpb24g
QncoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2M9RUgoMTIpfDA7ZltjKzg+PjJdPWZbYis4Pj4y
XTtyZXR1cm4gY3wwfWZ1bmN0aW9uIEN3KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtNXyhiKTty
ZXR1cm59ZnVuY3Rpb24gRHcoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7Yj1mW2I+
PjJdfDA7ZD1mW2M+PjJdfDA7cmV0dXJuIChiPj4+MD5kPj4+MD8xOihiPj4+MDxkPj4+MCk8PDMx
Pj4zMSl8MH1mdW5jdGlvbiBFdyhhKXthPWF8MDtIdyhhKXwwO3JldHVybn1mdW5jdGlvbiBGdyhh
LGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wO2M9dDt0PXQrMTZ8MDtkPWM7ZltkKzg+PjJdPWI7
d2JbZlthPj4yXSY2M10oYSxkLDEpfDA7dD1jO3JldHVybn1mdW5jdGlvbiBHdyhhLGIpe2E9YXww
O2I9YnwwO3ZhciBjPTAsZD0wO2M9dDt0PXQrMTZ8MDtkPWM7ZltkKzg+PjJdPWI7d2JbZlthPj4y
XSY2M10oYSxkLDIpfDA7dD1jO3JldHVybn1mdW5jdGlvbiBIdyhhKXthPWF8MDt2YXIgYj0wLGM9
MCxkPTAsZT0wLGc9MCxoPTA7ZG8gaWYoKGF8MCkhPTA/KGZbYSsyND4+Ml18MCk8PTA6MCl7aD1m
W2ErND4+Ml18MDtnPWgrMzJ8MDtiPWZbZz4+Ml18MDtpZihiKXtiPXhiW2ImMTI3XShhLDIsMCxo
KXwwO2lmKChifDApPDApe2I9LTE7YnJlYWt9fWVsc2UgYj0wO2lmKGZbYSsyOD4+Ml18MClRdyhh
LDApfDA7ZT0oYnwwKT09MDtpZihlKXt3YltmW2ZbYSsxNj4+Ml0+PjJdJjYzXShhLDAsNjQpfDA7
aWYoKE53KGEpfDApPjApe2I9LTE7YnJlYWt9Yz1hKzh8MDtiPWZbYz4+Ml18MDtpZigoZltiKzEy
Pj4yXXwwKT4wKXtkPWErMTJ8MDt4YltmW2Q+PjJdJjEyN10oYSxmW2IrOD4+Ml18MCwwLGgpfDA7
Yj1mW2M+PjJdfDB9ZWxzZSBkPWErMTJ8MDt4YltmW2Q+PjJdJjEyN10oYSxiLDAsaCl8MH1iPWZb
YSsyMD4+Ml18MDtpZihiKXtpZihlJihifDApPT0xKXhiW2ZbYSsxMj4+Ml0mMTI3XShhLGEsMCxo
KXwwfWVsc2UgTV8oYSk7Yj1mW2c+PjJdfDA7aWYoIWIpYj0wO2Vsc2V7eGJbYiYxMjddKGEsNiww
LGgpfDA7Yj0wfX1lbHNlIGI9LTE7d2hpbGUoMCk7cmV0dXJuIGJ8MH1mdW5jdGlvbiBJdyhhKXth
PWF8MDt2YXIgYj0wLGM9MCxkPTA7ZD1hKzh8MDtiPWZbZD4+Ml18MDtjPWZbYj4+Ml18MDthOmRv
IGlmKCEoYyYxMikpe2lmKCEoYyYzKSl7Yz1iKzh8MDthPWZbYz4+Ml18MDtmW2M+PjJdPTA7YnJl
YWt9YT1KdyhhKXwwO2M9ZltkPj4yXXwwO2I9ZltjKzg+PjJdfDA7Yz1iKyhmW2MrMTI+PjJdPDwy
KXwwO3doaWxlKDEpe2lmKGI+Pj4wPj1jPj4+MClicmVhayBhO2ZbYj4+Ml09MDtiPWIrNHwwfX1l
bHNlIGE9ZltiKzQ+PjJdfDA7d2hpbGUoMCk7ZD1mW2Q+PjJdfDA7ZltkPj4yXT1mW2Q+PjJdJi00
MDk3O2ZbZCsxNj4+Ml09MDtmW2QrND4+Ml09MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIEp3KGEpe2E9
YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wO2c9YSs4fDA7YT1mW2c+PjJdfDA7Yj1mW2E+PjJd
fDA7aWYoIShiJjQwOTYpKXthOmRvIGlmKCEoYiYzKSl7aWYoYiYxMTJ8MCl7YT1mW2ErOD4+Ml18
MDticmVha31hPWZbYSs0Pj4yXXwwO2lmKCFhKWE9MDtlbHNle3doaWxlKDEpe2I9YSs0fDA7Yz1m
W2I+PjJdfDA7aWYoIWMpYnJlYWs7ZltiPj4yXT1mW2M+PjJdO2ZbYz4+Ml09YTthPWN9Yj1hO3do
aWxlKDEpe2M9ZltiPj4yXXwwO2lmKCFjKWJyZWFrIGE7ZD1mW2MrND4+Ml18MDtpZighZCliPWM7
ZWxzZXt3aGlsZSgxKXtmW2MrND4+Ml09ZltkPj4yXTtmW2Q+PjJdPWM7Yz1mW2QrND4+Ml18MDtp
ZighYylicmVhaztlbHNle2U9ZDtkPWM7Yz1lfX1mW2I+PjJdPWQ7Yj1kfX19fWVsc2V7ZD1mW2Er
OD4+Ml18MDtlPWQrKGZbYSsxMj4+Ml08PDIpfDA7Yj0wO2E9MDt3aGlsZSgxKXtpZihkPj4+MD49
ZT4+PjApYnJlYWsgYTtjPWZbZD4+Ml18MDtpZihjKXtpZighYil7Yj1jO2E9Y31lbHNlIGZbYj4+
Ml09Yzt3aGlsZSgxKXtjPWZbYj4+Ml18MDtpZighYylicmVhaztlbHNlIGI9Y31mW2Q+PjJdPWJ9
ZD1kKzR8MH19d2hpbGUoMCk7Zz1mW2c+PjJdfDA7ZltnKzQ+PjJdPWE7ZltnPj4yXT1mW2c+PjJd
fDQwOTZ9ZWxzZSBhPWZbYSs0Pj4yXXwwO3JldHVybiBhfDB9ZnVuY3Rpb24gS3coYSxiLGMpe2E9
YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wO3M9YSs4fDA7aWYoZltmW3M+PjJdPj4yXSY0
MDk2fDApTXcoYSwwKXwwO3I9ZlthKzQ+PjJdfDA7bT1mW3I+PjJdfDA7bj1mW3IrND4+Ml18MDtx
PXIrOHwwO3U9ZltxPj4yXXwwO289ZltyKzIwPj4yXXwwO3A9YSsyMHwwO2U9ZltwPj4yXSYtMzI3
Njk7ZltwPj4yXT1lO2E6ZG8gaWYoIWIpe2lmKGMmMzg0fDApe2U9ZltzPj4yXXwwO2Q9ZltlKzg+
PjJdfDA7aWYoIWQpe2Q9MDticmVha31pZihjJjI1Nil7ZD1mW2QrND4+Ml18MDtmW2UrND4+Ml09
ZDtpZighZCl7ZD0wO2JyZWFrfX1lbHNlIGZbZSs0Pj4yXT1kO2lmKCh1fDApPDApe2Q9ZltkKzg+
PjJdfDA7YnJlYWt9ZWxzZXtkPWQrKDAtdSl8MDticmVha319aWYoYyY0MDk4fDApe2Q9ZltzPj4y
XXwwO2lmKGZbZD4+Ml0mMTQ0fDApe2Q9MDticmVha31kPWZbZCs4Pj4yXXwwO2lmKCFkKXtkPTA7
YnJlYWt9ZWxzZXtoPWQ7dD04NjticmVha319aWYoIShjJjY0KSlkPTA7ZWxzZXtpPXIrMTZ8MDtq
PSh1fDApPDA7YjpkbyBpZihqfChmW2k+PjJdfDApIT0wKXtrPWErMTJ8MDtlPTAtdXwwO2Q9Zlso
ZltzPj4yXXwwKSs4Pj4yXXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrIGI7Zz1mW2Q+PjJdfDA7aD1m
W2k+PjJdfDA7aWYoaHwwKXtpZihqKWI9ZltkKzg+PjJdfDA7ZWxzZSBiPWQrZXwwO0ViW2gmMTI3
XShhLGIscil9aWYoKGZbcT4+Ml18MCk8MCl4YltmW2s+PjJdJjEyN10oYSxkLDAscil8MDtkPWd9
fXdoaWxlKDApO2Q9ZltzPj4yXXwwO2ZbZCs0Pj4yXT0wO2ZbZCs4Pj4yXT0wO2ZbKGZbcz4+Ml18
MCkrMTY+PjJdPTA7ZD0wfX1lbHNle2lmKGMmMjA0OXwwKXtnPXIrMTJ8MDtkPWZbZz4+Ml18MDto
PShjJjF8MCk9PTA7aWYoIShofChkfDApPT0wKSl7ZD13YltkJjYzXShhLGIscil8MDtpZighZCl7
ZD0wO2JyZWFrfWVsc2UgZT1kfWVsc2UgZT1iO2RvIGlmKCh1fDApPi0xKWg9ZSt1fDA7ZWxzZXtk
PXhiW2ZbYSsxMj4+Ml0mMTI3XShhLDAsMTIscil8MDtpZihkfDApe2ZbZCs4Pj4yXT1lO2g9ZDti
cmVha31pZighKGZbZz4+Ml18MCkpe2Q9MDticmVhayBhfWQ9ZltyKzE2Pj4yXXwwO2lmKGh8KGR8
MCk9PTApe2Q9MDticmVhayBhfUViW2QmMTI3XShhLGUscik7ZD0wO2JyZWFrIGF9d2hpbGUoMCk7
Zz1mW3M+PjJdfDA7ZD1mW2c+PjJdfDA7ZG8gaWYoIShkJjEyOCkpe2lmKCEoZCYxNikpaWYoIShk
JjMyKSl7dD01MzticmVha31lbHNle3Q9NDk7YnJlYWt9ZT1mW2crND4+Ml18MDtkPShlfDApIT0w
O2lmKCEoYyY4MTkyKSl7aWYoIWQpe3Q9NDk7YnJlYWt9aWYoKGV8MCk9PShmW2crOD4+Ml18MCkp
e3Q9NDk7YnJlYWt9cj1lKzR8MDthPWZbcj4+Ml18MDtmW2grND4+Ml09YTtmW2E+PjJdPWg7Zlto
Pj4yXT1lO2Zbcj4+Ml09aDticmVha31lbHNle2lmKCFkKXt0PTUzO2JyZWFrfWQ9ZltlPj4yXXww
O2lmKCFkKXt0PTUzO2JyZWFrfWZbaD4+Ml09ZDtmW2QrND4+Ml09aDtmW2grND4+Ml09ZTtmW2U+
PjJdPWg7YnJlYWt9fWVsc2UgaWYoIShjJjgxOTIpKXQ9NDk7ZWxzZSB0PTUzO3doaWxlKDApO2lm
KCh0fDApPT00OSl7ZD1mW2crOD4+Ml18MDtmW2g+PjJdPWQ7aWYoIWQpZD1oKzR8MDtlbHNle2Q9
ZCs0fDA7ZltoKzQ+PjJdPWZbZD4+Ml19ZltkPj4yXT1oO2ZbKGZbcz4+Ml18MCkrOD4+Ml09aH1l
bHNlIGlmKCh0fDApPT01Myl7ZD1nKzh8MDtlPWZbZD4+Ml18MDtpZighZSl7ZltkPj4yXT1oO2Q9
aCs0fDB9ZWxzZXtkPWUrNHwwO2ZbZltkPj4yXT4+Ml09aDtmW2grND4+Ml09ZltkPj4yXX1mW2Q+
PjJdPWg7ZltoPj4yXT0wfWQ9ZltzPj4yXXwwO2U9ZCsxNnwwO2c9ZltlPj4yXXwwO2lmKChnfDAp
Pi0xKWZbZT4+Ml09ZysxO2ZbZCs0Pj4yXT1oO2lmKCh1fDApPDApe2Q9ZltoKzg+PjJdfDA7YnJl
YWt9ZWxzZXtkPWgrKDAtdSl8MDticmVha319aD1mW3M+PjJdfDA7ZG8gaWYoIShjJjUxMikpe2Q9
ZltoKzQ+PjJdfDA7aWYoZHwwKXtpZigodXwwKTwwKWc9ZltkKzg+PjJdfDA7ZWxzZSBnPWQrKDAt
dSl8MDtpZigoZ3wwKT09KGJ8MCkpYnJlYWt9ZD1iK218MDtpZigobnwwKTwwKXtiPWZbZD4+Ml18
MDt0PTcwfWVsc2V7Yj1kO3Q9NzB9fWVsc2UgdD03MDt3aGlsZSgwKTtpZigodHwwKT09NzApe2c9
KHV8MCk8MDtpPShufDApPDA7aj0wLXV8MDtrPShvfDApPT0wO2w9KG58MCk8MTtkPWgrOHwwO2Rv
e2Q9ZltkPj4yXXwwO2lmKCFkKXtkPTA7YnJlYWsgYX1pZihnKWU9ZltkKzg+PjJdfDA7ZWxzZSBl
PWQranwwO2U9ZSttfDA7aWYoaSllPWZbZT4+Ml18MDtkbyBpZihrKWlmKGwpe2U9SCQoYixlKXww
O2JyZWFrfWVsc2V7ZT0kXyhiLGUsbil8MDticmVha31lbHNlIGU9eGJbbyYxMjddKGEsYixlLHIp
fDA7d2hpbGUoMCl9d2hpbGUoKGV8MCkhPTApO2U9ZltwPj4yXXwwfWZbcD4+Ml09ZXwzMjc2ODtp
ZighKGMmNDA5OCkpe2RvIGlmKCEoYyY4KSl7ZT1mW3M+PjJdfDA7aWYoIShjJjE2KSl7ZltlKzQ+
PjJdPWQ7YnJlYWt9aWYoKGR8MCk9PShmW2UrOD4+Ml18MCkpe2ZbZSs0Pj4yXT0wO2Q9MDticmVh
ayBhfWVsc2V7ZD1kKzR8MDt0PTExMDticmVha319ZWxzZXtlPWZbcz4+Ml18MDt0PTExMH13aGls
ZSgwKTtpZigodHwwKT09MTEwKXtkPWZbZD4+Ml18MDtmW2UrND4+Ml09ZDtpZighZCl7ZD0wO2Jy
ZWFrfX1pZigodXwwKTwwKXtkPWZbZCs4Pj4yXXwwO2JyZWFrfWVsc2V7ZD1kKygwLXUpfDA7YnJl
YWt9fWVsc2V7aD1kO3Q9ODZ9fXdoaWxlKDApO2lmKCh0fDApPT04Nil7ZD1mW2g+PjJdfDA7aWYo
ZCl7ZltkKzQ+PjJdPWZbaCs0Pj4yXTtkPWZbaD4+Ml18MH1lPShmW3M+PjJdfDApKzh8MDtnPWZb
ZT4+Ml18MDtpZigoaHwwKT09KGd8MCkpe2ZbZT4+Ml09ZDtkPWZbKGZbcz4+Ml18MCkrOD4+Ml18
MDtpZihkfDApZltkKzQ+PjJdPWZbaCs0Pj4yXX1lbHNle2U9aCs0fDA7ZltmW2U+PjJdPj4yXT1k
O2Q9Zys0fDA7aWYoKGh8MCk9PShmW2Q+PjJdfDApKWZbZD4+Ml09ZltlPj4yXX1kPWZbcz4+Ml18
MDtlPWQrNHwwO2lmKChofDApPT0oZltlPj4yXXwwKSlnPWZbaD4+Ml18MDtlbHNlIGc9MDtmW2U+
PjJdPWc7dD1kKzE2fDA7Zlt0Pj4yXT0oZlt0Pj4yXXwwKSstMTtpZigodXwwKTwwKWQ9ZltoKzg+
PjJdfDA7ZWxzZSBkPWgrKDAtdSl8MDtlPWZbcisxNj4+Ml18MDtpZighKChjJjJ8MCk9PTB8KGV8
MCk9PTApKUViW2UmMTI3XShhLGQscik7aWYoKGZbcT4+Ml18MCk8MCl4YltmW2ErMTI+PjJdJjEy
N10oYSxoLDAscil8MH1yZXR1cm4gZHwwfWZ1bmN0aW9uIEx3KGEsYil7YT1hfDA7Yj1ifDA7dmFy
IGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MDtqPXQ7dD10KzE2fDA7Zz1qO2E6ZG8gaWYoKGF8
MCkhPTAmKGJ8MCkhPTA/KGU9TF8oNDApfDAsKGV8MCkhPTApOjApe2ZbZT4+Ml09MDtmW2UrMTY+
PjJdPTA7ZltlKzQ+PjJdPTA7VHcoZSxhLDApfDA7Yz1lKzIwfDA7aT1hKzMyfDA7ZltjPj4yXT0w
O2ZbYys0Pj4yXT0wO2ZbYys4Pj4yXT0wO2ZbYysxMj4+Ml09MDtmW2MrMTY+PjJdPTA7Yz1mW2k+
PjJdfDA7ZG8gaWYoYyl7ZltnPj4yXT0wO2M9eGJbYyYxMjddKGUsMSxnLGEpfDA7aWYoKGN8MCk+
PTApaWYoYyl7ZD1mW2c+PjJdfDA7aWYoZHwwKWlmKCEoZltiKzQ+PjJdJmZbZD4+Ml0pKXtjPWU7
aD0xMjticmVha31lbHNle2M9ZTticmVha31jPWErMjh8MDtpZighKGZbYz4+Ml18MCkpe2M9ZTto
PTEyfWVsc2V7TV8oZSk7ZD14YltmW2M+PjJdJjEyN10oMCwwLDQwLGEpfDA7aWYoIWQpe2M9MDti
cmVhayBhfWZbZD4+Ml09MDtmW2QrMTY+PjJdPTA7ZltkKzQ+PjJdPTA7VHcoZCxhLDApfDA7Zltk
KzIwPj4yXT0xO2ZbZCsyND4+Ml09MDtmW2QrMzI+PjJdPTA7ZltkKzI4Pj4yXT0wO2M9ZDtlPWQ7
aD0xMX19ZWxzZXtjPWU7aD0xMX1lbHNle2M9ZTtoPTEyfX1lbHNle2M9ZTtoPTExfXdoaWxlKDAp
O2lmKChofDApPT0xMSl7ZD14YltmW2MrMTI+PjJdJjEyN10oYywwLDI4LGEpfDA7ZltnPj4yXT1k
O2lmKCFkKXtjPWU7aD0xMn1lbHNle2ZbZD4+Ml09ZltiKzQ+PjJdO2c9ZCs0fDA7ZltnPj4yXT0w
O2ZbZys0Pj4yXT0wO2ZbZys4Pj4yXT0wO2ZbZysxMj4+Ml09MDtmW2crMTY+PjJdPTA7ZltnKzIw
Pj4yXT0wfX1pZigoaHwwKT09MTIpe01fKGMpO2M9MDticmVha31mW2MrOD4+Ml09ZDtmW2M+PjJd
PWZbYj4+Ml07ZltjKzE2Pj4yXT1iO2Q9ZltpPj4yXXwwO2lmKGQpeGJbZCYxMjddKGMsNSxlLGEp
fDB9ZWxzZSBjPTA7d2hpbGUoMCk7dD1qO3JldHVybiBjfDB9ZnVuY3Rpb24gTXcoYSxiKXthPWF8
MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wO2U9ZltmW2ErMTY+PjJdPj4y
XXwwO2o9YSs4fDA7Zz1mW2o+PjJdfDA7aD1mW2c+PjJdfDA7Yz1oJjQwOTY7aWYoIWIpaWYoIWMp
Yj0tMTtlbHNle2Q9YztiPWZbZys0Pj4yXXwwO2k9NX1lbHNlIGlmKCEoZltnKzE2Pj4yXXwwKSl7
ZD0wO2k9NX1lbHNlIGI9LTE7YTpkbyBpZigoaXwwKT09NSl7ZltnPj4yXT1oJi00MDk3O2lmKCEo
aCYzKSl7Yz1nKzR8MDtpZighKGgmMTIpKXtmW2M+PjJdPTA7Yz1nKzh8MH1mW2M+PjJdPWI7aWYo
ZHwwKXtiPTA7YnJlYWt9ZlsoZltqPj4yXXwwKSsxNj4+Ml09LTE7Yj0wO2JyZWFrfWZbZys0Pj4y
XT0wO2lmKCFkKXtmW2crMTY+PjJdPTA7d2hpbGUoMSl7aWYoIWIpe2I9MDticmVhayBhfWo9Zlti
Pj4yXXwwO3diW2UmNjNdKGEsYiwzMil8MDtiPWp9fWQ9ZltnKzg+PjJdfDA7YT1kKyhmW2crMTI+
PjJdPDwyKXwwO3doaWxlKDEpe2lmKGQ+Pj4wPj1hPj4+MCl7Yj0wO2JyZWFrIGF9Yz1mW2Q+PjJd
fDA7aWYoYyl7ZltkPj4yXT1iO2I9ZltjPj4yXXwwO2ZbYz4+Ml09MH1kPWQrNHwwfX13aGlsZSgw
KTtyZXR1cm4gYnwwfWZ1bmN0aW9uIE53KGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MDtiPWErOHww
O2M9ZltiPj4yXXwwO2lmKGZbYz4+Ml0mNDA5Nil7TXcoYSwwKXwwO2M9ZltiPj4yXXwwfWQ9Yysx
NnwwO2E9ZltkPj4yXXwwO2RvIGlmKChhfDApPDApe2I9ZltjPj4yXXwwO2lmKGImMTJ8MCl7YT1P
dyhmW2MrND4+Ml18MCl8MDtmW2Q+PjJdPWE7YnJlYWt9aWYoYiYxMTIpe2E9MDtiPWMrOHwwO3do
aWxlKDEpe2I9ZltiPj4yXXwwO2lmKCFiKWJyZWFrO2E9YSsxfDB9ZltkPj4yXT1hfX13aGlsZSgw
KTtyZXR1cm4gYXwwfWZ1bmN0aW9uIE93KGEpe2E9YXwwO3ZhciBiPTA7aWYoIWEpcmV0dXJuIDA7
ZWxzZXtiPU93KGZbYSs0Pj4yXXwwKXwwO3JldHVybiBiKzErKE93KGZbYT4+Ml18MCl8MCl8MH1y
ZXR1cm4gMH1mdW5jdGlvbiBQdyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAs
Zz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHU9MCx2
PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MDtHPXQ7dD10KzEy
OHwwO3o9RysxMjB8MDtxPUc7Rj1hKzh8MDtkPWZbRj4+Ml18MDtpZihmW2Q+PjJdJjQwOTYpe013
KGEsMCl8MDtkPWZbRj4+Ml18MH1FPWZbYSs0Pj4yXXwwO0E9ZltFPj4yXXwwO0I9ZltFKzQ+PjJd
fDA7eD1FKzh8MDtEPWZbeD4+Ml18MDtDPWZbRSsyMD4+Ml18MDt2PWErMjB8MDtmW3Y+PjJdPWZb
dj4+Ml0mLTMyNzY5O2U9ZCs0fDA7bz1mW2U+PjJdfDA7YTpkbyBpZighYilpZigoYyY0NDh8MCk9
PTB8KG98MCk9PTApZD0wO2Vsc2V7aWYoIShjJjY0KSl7YjpkbyBpZighKGMmMjU2KSl7ZD1vO3do
aWxlKDEpe2U9ZCs0fDA7Zz1mW2U+PjJdfDA7aWYoIWcpYnJlYWsgYjtmW2U+PjJdPWZbZz4+Ml07
ZltnPj4yXT1kO2Q9Z319ZWxzZXtkPW87d2hpbGUoMSl7ZT1mW2Q+PjJdfDA7aWYoIWUpYnJlYWsg
YjthPWUrNHwwO2ZbZD4+Ml09ZlthPj4yXTtmW2E+PjJdPWQ7ZD1lfX13aGlsZSgwKTtmWyhmW0Y+
PjJdfDApKzQ+PjJdPWQ7aWYoKER8MCk8MCl7ZD1mW2QrOD4+Ml18MDticmVha31lbHNle2Q9ZCso
MC1EKXwwO2JyZWFrfX1iPUUrMTZ8MDtrPShEfDApPDA7aWYoa3woZltiPj4yXXwwKSE9MCl7aj1h
KzEyfDA7aT0wLUR8MDtkPW87d2hpbGUoMSl7ZT1kKzR8MDtnPWZbZT4+Ml18MDtpZighZyl7ZT1m
W2Q+PjJdfDA7Zz1mW2I+PjJdfDA7aWYoZ3wwKXtpZihrKWg9ZltkKzg+PjJdfDA7ZWxzZSBoPWQr
aXwwO0ViW2cmMTI3XShhLGgsRSl9aWYoKGZbeD4+Ml18MCk8MCl4YltmW2o+PjJdJjEyN10oYSxk
LDAsRSl8MDtpZighZSlicmVhaztlbHNlIGQ9ZX1lbHNle2ZbZT4+Ml09ZltnPj4yXTtmW2c+PjJd
PWQ7ZD1nfX1kPWZbRj4+Ml18MDtlPWQrNHwwfWZbZCsxNj4+Ml09MDtmW2U+PjJdPTA7ZD0wfWVs
c2V7eT1hKzE2fDA7dT0oYyY0MDk4fDApPT0wO2M6ZG8gaWYodXwoZlsoZlt5Pj4yXXwwKSs0Pj4y
XXwwKSE9OClzPTQ3O2Vsc2V7aj0oQnwwKTwwO2Q9YitBfDA7aWYoailkPWZbZD4+Ml18MDtoPShD
fDApPT0wO2k9KEJ8MCk8MTtnPXdiW2ZbYT4+Ml0mNjNdKGEsYiw0KXwwO3doaWxlKDEpe2lmKCFn
KXtzPTQ3O2JyZWFrIGN9ZT1nK0F8MDtpZihqKWU9ZltlPj4yXXwwO2RvIGlmKGgpaWYoaSl7ZT1I
JChkLGUpfDA7YnJlYWt9ZWxzZXtlPSRfKGQsZSxCKXwwO2JyZWFrfWVsc2UgZT14YltDJjEyN10o
YSxkLGUsRSl8MDt3aGlsZSgwKTtpZihlfDApe3M9NDc7YnJlYWsgY31pZigoZ3wwKT09KGJ8MCkp
YnJlYWs7Zz13YltmW2E+PjJdJjYzXShhLGcsOCl8MH1kPWZbKGZbRj4+Ml18MCkrND4+Ml18MDtm
W3o+PjJdPWZbZCs0Pj4yXTtmW3orND4+Ml09ZltkPj4yXTtoPXo7cz0xODd9d2hpbGUoMCk7ZDpk
byBpZigoc3wwKT09NDcpe2RvIGlmKCEoYyYyNTY1KSl7aWYoYyYzMnwwKXtpZigoRHwwKTwwKWc9
ZltiKzg+PjJdfDA7ZWxzZSBnPWIrKDAtRCl8MDtkPWcrQXwwO2lmKChCfDApPDApZD1mW2Q+PjJd
fDA7aWYoIW8pe2U9YjtoPXo7ZD16O3M9MjA1O2JyZWFrfWVsc2V7ZT1iO3I9ZDtqPWI7cz02Njti
cmVha319aWYobyl7aWYoKER8MCk8MClkPWZbbys4Pj4yXXwwO2Vsc2UgZD1vKygwLUQpfDA7aWYo
KGR8MCkhPShifDApKXtkPWIrQXwwO2lmKChCfDApPDApe2c9YjtlPTA7cj1mW2Q+PjJdfDA7aj0w
O3M9NjZ9ZWxzZXtnPWI7ZT0wO3I9ZDtqPTA7cz02Nn19ZWxzZXtkPW87az0wO2c9YjtoPXo7aT16
O2o9MDtzPTE0NX19ZWxzZXtlPTA7Zz1iO2g9ejtkPXo7cz0yMDV9fWVsc2V7aWYoIShjJjUxMikp
e2Q9YitBfDA7aWYoKEJ8MCk8MClkPWZbZD4+Ml18MH1lbHNlIGQ9YjtpZighbyl7ZT0wO2c9Yjto
PXo7ZD16O3M9MjA1fWVsc2V7Zz1iO2U9MDtyPWQ7aj0wO3M9NjZ9fXdoaWxlKDApO2U6ZG8gaWYo
KHN8MCk9PTY2KXtmOmRvIGlmKChmWyhmW3k+PjJdfDApKzQ+PjJdfDApPT00PyhwPWZbKGZbRj4+
Ml18MCkrMjQ+PjJdfDAsISgoYyY1MTZ8MCk9PTB8KHB8MCk9PTApKTowKXtiPShEfDApPDA7az0o
QnwwKTwwO2w9MC1EfDA7bT0oQ3wwKT09MDtuPShCfDApPDE7aT0wO2Q9bzt3aGlsZSgxKXtpZigo
aXwwKT49KHB8MCkpYnJlYWs7aWYoYiloPWZbZCs4Pj4yXXwwO2Vsc2UgaD1kK2x8MDtoPWgrQXww
O2lmKGspaD1mW2g+PjJdfDA7ZG8gaWYobSlpZihuKXtoPUgkKHIsaCl8MDticmVha31lbHNle2g9
JF8ocixoLEIpfDA7YnJlYWt9ZWxzZSBoPXhiW0MmMTI3XShhLHIsaCxFKXwwO3doaWxlKDApO2lm
KCFoKXtzPTgyO2JyZWFrfWZbcSsoaTw8Mik+PjJdPWg7ZD1mWygoaHwwKTwwP2QrNHwwOmQpPj4y
XXwwO2lmKCFkKXtkPTA7YnJlYWsgYX1lbHNlIGk9aSsxfDB9aWYoKHN8MCk9PTgyKWlmKGIpe2Q9
ZltkKzg+PjJdfDA7YnJlYWsgYX1lbHNle2Q9ZCtsfDA7YnJlYWsgYX1oPXo7aT16O2w9MDtrPW87
d2hpbGUoMSl7aWYoKGx8MCk+PShwfDApKXtkPWs7YnJlYWsgZn1kbyBpZigoZltxKyhsPDwyKT4+
Ml18MCk8MCl7ZD1rKzR8MDtiPWZbZD4+Ml18MDtpZigoZltxKygobHwxKTw8Mik+PjJdfDApPDAp
e2ZbZD4+Ml09ZltiPj4yXTtmW2I+PjJdPWs7ZltoKzQ+PjJdPWI7aD1iO2Q9Yis0fDA7YnJlYWt9
ZWxzZXtmW2k+PjJdPWI7ZltoKzQ+PjJdPWs7aD1rO2k9YjtkPWI7YnJlYWt9fWVsc2V7ZD1mW2s+
PjJdfDA7aWYoKGZbcSsoKGx8MSk8PDIpPj4yXXwwKT4wKXtzPWQrNHwwO2Zbaz4+Ml09ZltzPj4y
XTtmW3M+PjJdPWs7ZltpPj4yXT1kO2k9ZDticmVha31lbHNle2ZbaCs0Pj4yXT1kO2ZbaT4+Ml09
aztoPWQ7aT1rO2Q9ZCs0fDA7YnJlYWt9fXdoaWxlKDApO2w9bCsyfDA7az1mW2Q+PjJdfDB9fWVs
c2V7aD16O2k9ejtkPW99d2hpbGUoMCk7bT0oRHwwKTwwO249KEJ8MCk8MDtvPTAtRHwwO3A9KEN8
MCkhPTA7cT0oQnwwKTwxO2c6d2hpbGUoMSl7Yj1kO3doaWxlKDEpe2lmKG0pZD1mW2IrOD4+Ml18
MDtlbHNlIGQ9YitvfDA7ZD1kK0F8MDtpZihuKWQ9ZltkPj4yXXwwO2RvIGlmKCFwKWlmKHEpe2Q9
SCQocixkKXwwO2JyZWFrfWVsc2V7ZD0kXyhyLGQsQil8MDticmVha31lbHNlIGQ9eGJbQyYxMjdd
KGEscixkLEUpfDA7d2hpbGUoMCk7aWYoIWQpe3M9MTQ0O2JyZWFrIGd9aWYoKGR8MCk+PTApe3M9
MTI3O2JyZWFrfWw9Yis0fDA7ZD1mW2w+PjJdfDA7aWYoIWQpe3M9MTI2O2JyZWFrIGd9aWYobSlr
PWZbZCs4Pj4yXXwwO2Vsc2Ugaz1kK298MDtrPWsrQXwwO2lmKG4paz1mW2s+PjJdfDA7ZG8gaWYo
IXApaWYocSl7az1IJChyLGspfDA7YnJlYWt9ZWxzZXtrPSRfKHIsayxCKXwwO2JyZWFrfWVsc2Ug
az14YltDJjEyN10oYSxyLGssRSl8MDt3aGlsZSgwKTtpZigoa3wwKT49MCl7cz0xMjI7YnJlYWt9
ZltsPj4yXT1mW2Q+PjJdO2ZbZD4+Ml09YjtmW2grND4+Ml09ZDtiPWZbZCs0Pj4yXXwwO2lmKCFi
KXtoPWQ7ZD1pO3M9MjA1O2JyZWFrIGV9ZWxzZSBoPWR9ZG8gaWYoKHN8MCk9PTEyMil7aWYoIWsp
e3M9MTIzO2JyZWFrIGd9ZltpPj4yXT1kO2ZbaCs0Pj4yXT1iO2k9ZltkPj4yXXwwO2lmKCFpKXto
PWI7cz0yMDU7YnJlYWsgZX1lbHNle2g9YjtiPWl9fWVsc2UgaWYoKHN8MCk9PTEyNyl7ZD1mW2I+
PjJdfDA7aWYoIWQpe3M9MTQzO2JyZWFrIGd9aWYobSlrPWZbZCs4Pj4yXXwwO2Vsc2Ugaz1kK298
MDtrPWsrQXwwO2lmKG4paz1mW2s+PjJdfDA7ZG8gaWYoIXApaWYocSl7az1IJChyLGspfDA7YnJl
YWt9ZWxzZXtrPSRfKHIsayxCKXwwO2JyZWFrfWVsc2Ugaz14YltDJjEyN10oYSxyLGssRSl8MDt3
aGlsZSgwKTtpZigoa3wwKT4wKXtzPWQrNHwwO2ZbYj4+Ml09ZltzPj4yXTtmW3M+PjJdPWI7Zltp
Pj4yXT1kO2k9ZltkPj4yXXwwO2lmKCFpKXtzPTIwNTticmVhayBlfWVsc2V7Yj1pO2JyZWFrfX1p
Zighayl7cz0xNDE7YnJlYWsgZ31mW2grND4+Ml09ZDtmW2k+PjJdPWI7aT1mW2QrND4+Ml18MDtp
ZighaSl7aD1kO2Q9YjtzPTIwNTticmVhayBlfWVsc2V7aD1kO2Q9YjtiPWl9fXdoaWxlKDApO2k9
ZDtkPWJ9aWYoKHN8MCk9PTEyMyl7ZltoKzQ+PjJdPWI7az1lO2g9YjtzPTE0NTticmVha31lbHNl
IGlmKChzfDApPT0xMjYpe2ZbaCs0Pj4yXT1iO2g9YjtkPWk7cz0yMDU7YnJlYWt9ZWxzZSBpZigo
c3wwKT09MTQxKXtmW2k+PjJdPWI7az1lO2k9YjtzPTE0NTticmVha31lbHNlIGlmKChzfDApPT0x
NDMpe2ZbaT4+Ml09YjtkPWI7cz0yMDU7YnJlYWt9ZWxzZSBpZigoc3wwKT09MTQ0KWlmKCFiKXtk
PWk7cz0yMDU7YnJlYWt9ZWxzZXtkPWI7az1lO3M9MTQ1O2JyZWFrfX13aGlsZSgwKTtkbyBpZigo
c3wwKT09MTQ1KXtmW3Y+PjJdPWZbdj4+Ml18MzI3Njg7ZT1kKzR8MDtmW2k+PjJdPWZbZT4+Ml07
ZltoKzQ+PjJdPWZbZD4+Ml07aWYoIShjJjUxNikpe2lmKGMmOHwwKXtmW2U+PjJdPWZbej4+Ml07
ZltkPj4yXT0wO2Zbej4+Ml09ZDtzPTE3NDticmVha31pZihjJjE2fDApe3M9eis0fDA7ZltkPj4y
XT1mW3M+PjJdO2ZbZT4+Ml09MDtmW3M+PjJdPWQ7cz0xODE7YnJlYWt9aWYoIXUpe3M9MTg3O2Jy
ZWFrIGR9aWYoYyYyMDQ5fDApe2lmKGZbKGZbeT4+Ml18MCkrND4+Ml0mNHwwKWJyZWFrO2ZbZT4+
Ml09MDtzPXorNHwwO2ZbZD4+Ml09ZltzPj4yXTtmW3M+PjJdPWQ7cz0yMTI7YnJlYWt9aWYoIShj
JjMyKSl7ZD0wO2JyZWFrIGF9aWYoIShmWyhmW3k+PjJdfDApKzQ+PjJdJjQpKXtmW2srND4+Ml09
MDt4PXorNHwwO2Zbaz4+Ml09Zlt4Pj4yXTtmW3g+PjJdPWo7eD0oZltGPj4yXXwwKSsxNnwwO2Zb
eD4+Ml09KGZbeD4+Ml18MCkrMTticmVha31lPWZbRSsxNj4+Ml18MDtpZihlfDApRWJbZSYxMjdd
KGEsZyxFKTtpZigoZlt4Pj4yXXwwKTwwKXhiW2ZbYSsxMj4+Ml0mMTI3XShhLGosMCxFKXwwfX1l
bHNlIGlmKChzfDApPT0yMDUpe2ZbaCs0Pj4yXT0wO2ZbZD4+Ml09MDtpZighKGMmOCkpaWYoIShj
JjE2KSl7aWYoYyY1MTZ8MCl7ZD1oO2JyZWFrIGR9aWYoIShjJjIwNDkpKXtpZighKGMmMzIpKXtn
PTA7ZD1oO2JyZWFrIGR9ZD0oZltGPj4yXXwwKSsxNnwwO2ZbZD4+Ml09KGZbZD4+Ml18MCkrMTtk
PWV9ZWxzZXtkPTA7cz0yMTJ9fWVsc2Ugcz0xODE7ZWxzZSBzPTE3NH13aGlsZSgwKTtpZigoc3ww
KT09MTc0KXtpPXorNHwwO2Q9ZltpPj4yXXwwO2lmKCFkKXtkPWg7YnJlYWt9d2hpbGUoMSl7ZT1k
KzR8MDtnPWZbZT4+Ml18MDtpZighZylicmVhaztmW2U+PjJdPWZbZz4+Ml07ZltnPj4yXT1kO2Q9
Z31mW2k+PjJdPWZbZD4+Ml19ZWxzZSBpZigoc3wwKT09MTgxKXtkPWZbej4+Ml18MDtpZighZCl7
ZD1oO2JyZWFrfXdoaWxlKDEpe2U9ZltkPj4yXXwwO2lmKCFlKWJyZWFrO3g9ZSs0fDA7ZltkPj4y
XT1mW3g+PjJdO2ZbeD4+Ml09ZDtkPWV9Zlt6Pj4yXT1mW2QrND4+Ml19ZWxzZSBpZigoc3wwKT09
MjEyKXtpPUUrMTJ8MDtlPWZbaT4+Ml18MDtqPShjJjF8MCk9PTA7aWYoIShqfChlfDApPT0wKSln
PXdiW2UmNjNdKGEsZyxFKXwwO2RvIGlmKGcpe2lmKChEfDApPi0xKXtkPWcrRHwwO3M9MjIyO2Jy
ZWFrfWQ9eGJbZlthKzEyPj4yXSYxMjddKGEsMCwxMixFKXwwO2lmKGR8MCl7ZltkKzg+PjJdPWc7
YnJlYWt9aWYoKGZbaT4+Ml18MCkhPTA/KHc9ZltFKzE2Pj4yXXwwLCEoanwod3wwKT09MCkpOjAp
e0ViW3cmMTI3XShhLGcsRSk7cz0yMjJ9ZWxzZSBzPTIyMn1lbHNlIHM9MjIyO3doaWxlKDApO2lm
KChzfDApPT0yMjIpaWYoIWQpe2Q9aDticmVha31lPShmW0Y+PjJdfDApKzE2fDA7Zz1mW2U+PjJd
fDA7aWYoKGd8MCk+LTEpZltlPj4yXT1nKzF9ZltkKzQ+PjJdPWZbej4+Ml07ZltkPj4yXT1mW3or
ND4+Ml07aDpkbyBpZighKChjJjUxNnwwKT09MD8xOihmWyhmW3k+PjJdfDApKzQ+PjJdJjh8MCk9
PTApKXtsPShEfDApPDA7aWYobCllPWZbZCs4Pj4yXXwwO2Vsc2UgZT1kKygwLUQpfDA7bT0oQnww
KTwwO2U9ZStBfDA7aWYobSllPWZbZT4+Ml18MDtqPTAtRHwwO2I9KEN8MCk9PTA7az0oQnwwKTwx
O3doaWxlKDEpe2k9ZCs0fDA7Zz1mW2k+PjJdfDA7aWYoIWcpYnJlYWsgaDt3aGlsZSgxKXtoPWZb
Zz4+Ml18MDtpZighaClicmVhazt6PWgrNHwwO2ZbZz4+Ml09Zlt6Pj4yXTtmW3o+PjJdPWc7Zz1o
fWZbaT4+Ml09ZztpZihsKWg9ZltnKzg+PjJdfDA7ZWxzZSBoPWcranwwO2g9aCtBfDA7aWYobSlo
PWZbaD4+Ml18MDtkbyBpZihiKWlmKGspe2g9SCQoZSxoKXwwO2JyZWFrfWVsc2V7aD0kXyhlLGgs
Qil8MDticmVha31lbHNlIGg9eGJbQyYxMjddKGEsZSxoLEUpfDA7d2hpbGUoMCk7aWYoaHwwKWJy
ZWFrIGg7ZltpPj4yXT1mW2c+PjJdO2ZbZz4+Ml09ZDtkPWd9fXdoaWxlKDApO2ZbKGZbRj4+Ml18
MCkrND4+Ml09ZDtpZigoRHwwKTwwKXtkPWZbZCs4Pj4yXXwwO2JyZWFrIGF9ZWxzZXtkPWQrKDAt
RCl8MDticmVhayBhfX13aGlsZSgwKTtpZigoc3wwKT09MTg3KXtpZigoRHwwKTwwKWc9ZltkKzg+
PjJdfDA7ZWxzZSBnPWQrKDAtRCl8MDtlPWZbRSsxNj4+Ml18MDtpZighKChjJjJ8MCk9PTB8KGV8
MCk9PTApKUViW2UmMTI3XShhLGcsRSk7aWYoKGZbeD4+Ml18MCk8MCl4YltmW2ErMTI+PjJdJjEy
N10oYSxkLDAsRSl8MDtkPShmW0Y+PjJdfDApKzE2fDA7YT1mW2Q+PjJdfDA7ZltkPj4yXT0oYXww
KTwxPy0xOmErLTF8MDtkPWh9ZG97ZT1kKzR8MDtkPWZbZT4+Ml18MH13aGlsZSgoZHwwKSE9MCk7
ZltlPj4yXT1mW3o+PjJdO2ZbKGZbRj4+Ml18MCkrND4+Ml09Zlt6KzQ+PjJdO2Q9KGMmMnwwKT09
MD8wOmd9d2hpbGUoMCk7dD1HO3JldHVybiBkfDB9ZnVuY3Rpb24gUXcoYSxiKXthPWF8MDtiPWJ8
MDt2YXIgYz0wLGQ9MCxlPTAsZz0wO2lmKGZbZlthKzg+PjJdPj4yXSY0MDk2fDApTXcoYSwwKXww
O2U9KGJ8MCkhPTA7aWYoZSl7aWYoZltmW2IrOD4+Ml0+PjJdJjQwOTZ8MClNdyhiLDApfDA7aWYo
KGZbYisxNj4+Ml18MCkhPShmW2ErMTY+PjJdfDApKWI9MDtlbHNlIGM9N31lbHNlIGM9NzthOmRv
IGlmKChjfDApPT03KXtjPWI7d2hpbGUoMSl7aWYoIWMpYnJlYWs7aWYoKGN8MCk9PShhfDApKXti
PTA7YnJlYWsgYX1jPWZbYysyOD4+Ml18MH1jPWErMjh8MDtkPWZbYz4+Ml18MDtpZihkfDApe2c9
ZCsyNHwwO2ZbZz4+Ml09KGZbZz4+Ml18MCkrLTF9ZlthKzMyPj4yXT0wO2ZbYz4+Ml09MDtpZihl
KXtmW2M+PjJdPWI7ZlthPj4yXT0yNTtnPWIrMjR8MDtmW2c+PjJdPShmW2c+PjJdfDApKzE7YnJl
YWt9ZWxzZXtmW2E+PjJdPWZbZlthKzE2Pj4yXT4+Ml07Yj1kO2JyZWFrfX13aGlsZSgwKTtyZXR1
cm4gYnwwfWZ1bmN0aW9uIFJ3KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxn
PTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTA7YTpkbyBpZighKGMmOTkpKXtp
ZigoYyY1MTZ8MCk9PTA/KGQ9ZlsoZlthKzE2Pj4yXXwwKSs0Pj4yXXwwLCEoKGMmMzg0fDApIT0w
JihkJjEyfDApPT0wKSk6MCl7aWYoZCYxMnwwKXtpZighKGMmNDA4KSl7ZD0wO2JyZWFrfW89KGMm
MTM2fDApIT0wO3A9KGMmMjcyfDApIT0wO2w9MDtlPTA7ZD0wO249YTt3aGlsZSgxKXtpZighbili
cmVhazttPXdiW2ZbZltuKzE2Pj4yXT4+Ml0mNjNdKG4sYixjKXwwO2RvIGlmKCFtKWc9bDtlbHNl
e2g9ZltuKzQ+PjJdfDA7aT1mW2grND4+Ml18MDtqPWZbaCsyMD4+Ml18MDtnPW0rKGZbaD4+Ml18
MCl8MDtpZigoaXwwKTwwKWs9ZltnPj4yXXwwO2Vsc2Ugaz1nO2lmKGR8MCl7ZG8gaWYoIWopaWYo
KGl8MCk8MSl7Zz1IJChrLGUpfDA7YnJlYWt9ZWxzZXtnPSRfKGssZSxpKXwwO2JyZWFrfWVsc2Ug
Zz14YltqJjEyN10obixrLGUsaCl8MDt3aGlsZSgwKTtpZighKG8mKGd8MCk8MHxwJihnfDApPjAp
KXtnPWw7YnJlYWt9fWc9bjtlPWs7ZD1tfXdoaWxlKDApO2w9ZztuPWZbbisyOD4+Ml18MH1mW2Er
MzI+PjJdPWw7YnJlYWt9aWYoIShjJjI0KSl7ZD0wO2JyZWFrfWo9YSszMnwwO2U9ZltqPj4yXXww
O2lmKGUpe2Q9ZlsoZltlKzQ+PjJdfDApKzg+PjJdfDA7Zz1mWyhmW2UrOD4+Ml18MCkrND4+Ml18
MDtpZigoZHwwKTwwKWQ9ZltnKzg+PjJdfDA7ZWxzZSBkPWcrKDAtZCl8MDtpZigoZHwwKT09KGJ8
MCkpZD1iO2Vsc2UgaD0zM31lbHNlIGg9MzM7ZG8gaWYoKGh8MCk9PTMzKXtlPWE7d2hpbGUoMSl7
aWYoIWUpe2g9MzU7YnJlYWt9ZD13YltmW2ZbZSsxNj4+Ml0+PjJdJjYzXShlLGIsNCl8MDtpZihk
fDApe2g9Mzg7YnJlYWt9ZT1mW2UrMjg+PjJdfDB9aWYoKGh8MCk9PTM1KXtmW2o+PjJdPTA7ZD0w
O2JyZWFrIGF9ZWxzZSBpZigoaHwwKT09Mzgpe2Zbaj4+Ml09ZTticmVha319d2hpbGUoMCk7aT0o
Yzw8NCYxMjheMTI4KSsxMjh8MDtkPXdiW2ZbZltlKzE2Pj4yXT4+Ml0mNjNdKGUsZCxjKXwwO3do
aWxlKDEpe2g9ZSsxNnwwO3doaWxlKDEpe2lmKCFkKWJyZWFrO2c9YTt3aGlsZSgxKXtpZigoZ3ww
KT09KGV8MCkpYnJlYWsgYTtpZih3YltmW2ZbZysxNj4+Ml0+PjJdJjYzXShnLGQsNCl8MClicmVh
aztnPWZbZysyOD4+Ml18MH1kPXdiW2ZbZltoPj4yXT4+Ml0mNjNdKGUsZCxjKXwwfWU9ZltlKzI4
Pj4yXXwwO2Zbaj4+Ml09ZTtpZighZSl7ZD0wO2JyZWFrIGF9ZD13YltmW2ZbZSsxNj4+Ml0+PjJd
JjYzXShlLDAsaSl8MH19ZT1hO3doaWxlKDEpe2lmKCFlKXtlPTA7ZD0wO2JyZWFrfWQ9d2JbZltm
W2UrMTY+PjJdPj4yXSY2M10oZSxiLGMpfDA7aWYoZHwwKWJyZWFrO2U9ZltlKzI4Pj4yXXwwfWZb
YSszMj4+Ml09ZX1lbHNlIGQ9d2JbZltmW2ErMTY+PjJdPj4yXSY2M10oYSxiLGMpfDA7d2hpbGUo
MCk7cmV0dXJuIGR8MH1mdW5jdGlvbiBTdyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9
MCxlPTAsZz0wLGg9MDtnPWErMzJ8MDtlPXdiW2ZbYT4+Ml0mNjNdKGEsMCwxMjgpfDA7ZG97aWYo
IWUpe2Q9MDticmVha31oPWZbZz4+Ml18MDtkPWU7ZT13YltmW2E+PjJdJjYzXShhLGUsOCl8MDtk
PXdiW2ImNjNdKChofDApPT0wP2E6aCxkLGMpfDB9d2hpbGUoKGR8MCk+PTApO3JldHVybiBkfDB9
ZnVuY3Rpb24gVHcoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAs
aT0wLGo9MCxrPTAsbD0wLG09MCxuPTA7ZT1hKzR8MDtuPWZbZT4+Ml18MDthOmRvIGlmKG4paWYo
Yil7bT1mW2ZbYSsxNj4+Ml0+PjJdfDA7Zz1hKzh8MDtpZihmW2ZbZz4+Ml0+PjJdJjQwOTZ8MClN
dyhhLDApfDA7ZD1mW24rMzI+PjJdfDA7aWYoZHwwPyh4YltkJjEyN10oYSwzLGIsbil8MCk8MDow
KXtiPTA7YnJlYWt9ZltlPj4yXT1iO2Q9ZltiKzI4Pj4yXXwwO2ZbYSsxMj4+Ml09KGR8MCk9PTA/
NTI6ZDtkPWZbZltnPj4yXT4+Ml18MDtpZighKGQmMTEyKSl7ZG8gaWYoIShkJjIpKWlmKCEoZCYz
KSlpZighKGMmMSkpYnJlYWs7ZWxzZXtiPW47YnJlYWsgYX1lbHNlIGlmKChjJjN8MCk9PTMpe2I9
bjticmVhayBhfWVsc2UgYnJlYWs7ZWxzZSBpZihjJjJ8MCl7Yj1uO2JyZWFrIGF9d2hpbGUoMCk7
aD1KdyhhKXwwO2Q9ZltnPj4yXXwwO2w9ZltkPj4yXXwwO2ZbZD4+Ml09bCYtNDA5NztmW2QrND4+
Ml09MDtmW2QrMTY+PjJdPTA7YjpkbyBpZihsJjN8MCl7bD1mW2QrOD4+Ml18MDtlPWwrKGZbZCsx
Mj4+Ml08PDIpfDA7ZD1sO3doaWxlKDEpe2lmKGQ+Pj4wPj1lPj4+MClicmVhayBiO2ZbZD4+Ml09
MDtkPWQrNHwwfX13aGlsZSgwKTtpPShjJjJ8MCk9PTA7aj1iKzh8MDtrPWIrNHwwO2w9YisyNHww
O3doaWxlKDEpe2lmKCFoKXtiPW47YnJlYWsgYX1jPWZbaD4+Ml18MDtpZihpKXtkPWZbaj4+Ml18
MDtpZigoZHwwKTwwKWQ9ZltoKzg+PjJdfDA7ZWxzZSBkPWgrKDAtZCl8MDtnPWZbaz4+Ml18MDtk
PWQrKGZbYj4+Ml18MCl8MDtpZigoZ3wwKTwwKWQ9ZltkPj4yXXwwO2U9ZltsPj4yXXwwO2lmKCFl
KWQ9VncoMCxkLGcpfDA7ZWxzZSBkPXdiW2UmNjNdKGEsZCxiKXwwO2ZbaCs0Pj4yXT1kfXdiW20m
NjNdKGEsaCwzMil8MDtoPWN9fWVsc2UgYj1ufWVsc2UgYj1uO2Vsc2V7ZltlPj4yXT1iO249Zlti
KzI4Pj4yXXwwO2ZbYSsxMj4+Ml09KG58MCk9PTA/NTI6bn13aGlsZSgwKTtyZXR1cm4gYnwwfWZ1
bmN0aW9uIFV3KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2E9KGN8MCk9PTA7ZG8g
aWYoIWIpaWYoYSlhPTA7ZWxzZSBhPUxfKGMpfDA7ZWxzZSBpZihhKXtNXyhiKTthPTA7YnJlYWt9
ZWxzZXthPU9fKGIsYyl8MDticmVha313aGlsZSgwKTtyZXR1cm4gYXwwfWZ1bmN0aW9uIFZ3KGEs
YyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTA7Zj1jO2lmKChkfDApPj0xKXtn
PWMrZCstMXwwO2Y9KGc+Pj4wPGM+Pj4wP2M6ZykrKDEtZikmLTI7ZT1jO3doaWxlKDEpe2lmKGU+
Pj4wPj1nPj4+MClicmVhazthPVYoKChoW2U+PjBdfDApPDw4KSthKyhoW2UrMT4+MF18MCl8MCwx
NzEwOTgxMSl8MDtlPWUrMnwwfWU9YytmfDA7aWYoZT4+PjA+Zz4+PjApYz1kO2Vsc2V7Yz1kO2E9
VigoKGhbZT4+MF18MCk8PDgpK2F8MCwxNzEwOTgxMSl8MH19ZWxzZXt3aGlsZSgxKXtlPWJbYz4+
MF18MDtpZighKGU8PDI0Pj4yNCkpYnJlYWs7Zz1iW2MrMT4+MF18MDtkPVYoKChlJjI1NSk8PDgp
K2ErKGcmMjU1KXwwLDE3MTA5ODExKXwwO2E9ZDtjPWMrKGc8PDI0Pj4yND09MD8xOjIpfDB9Yz1j
LWZ8MH1yZXR1cm4gVihhK2N8MCwxNzEwOTgxMSl8MH1mdW5jdGlvbiBXdyhhKXthPWF8MDt2YXIg
Yj0wO2I9Zls0ODIyOV18MDtmWzQ4MjI5XT1hO3JldHVybiBifDB9ZnVuY3Rpb24gWHcoYSl7YT1h
fDA7dmFyIGI9MDtiPWZbNDgyMzBdfDA7Zls0ODIzMF09YTtyZXR1cm4gYnwwfWZ1bmN0aW9uIFl3
KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MDtkPXQ7dD10KzE2fDA7ZT1kO2Zb
ZT4+Ml09YztjPVp3KGEsYixlKXwwO3Q9ZDtyZXR1cm4gY3wwfWZ1bmN0aW9uIFp3KGEsYixjKXth
PWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MDtnPXQ7dD10KzE2fDA7ZD1n
O2U9KGF8MCk9PTM7aD1lP2ZbNDgyMzJdfDA6KGF8MCk9PTI/MTphO2ZbNDgyMzJdPWg7aT1mWzQ4
MjMzXXwwO2ZbNDgyMzNdPWk+Pj4wPmg+Pj4wP2k6aDtkbyBpZihoPj4+MDwoZls0ODIzMF18MCk+
Pj4wKXthPWZbNDgyMzFdfDA7aWYoIWEpe2E9UTIoKXwwO2ZbNDgyMzFdPWE7aWYoIWEpe2E9MTti
cmVha319aWYoIWUpe1AyKGEpfDA7YT1mWzQ4MjMxXXwwfWckKGEsYixjKXwwO2E9MH1lbHNle2lm
KGZbNDgyMjldfDApe193KGEsYixjKTthPTA7YnJlYWt9aWYoZSlhPWZbMTk0NTddfDA7ZWxzZXtp
PWZbMTk0NTddfDA7ZltkPj4yXT0oYXwwKT09MT8xMDUzOTQ6MTA1NDAwO2cyKGksMTA1NDA4LGQp
fDA7YT1pfWckKGEsYixjKXwwO2E9MH13aGlsZSgwKTt0PWc7cmV0dXJuIGF8MH1mdW5jdGlvbiBf
dyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTA7aWYoKGZbNDgyMzRdfDApPT0w
PyhlPUxfKGZbMTgwMTBdfDApfDAsZls0ODIzNF09ZSwoZXwwKT09MCk6MClwMigxMDU0MTMsZlsx
OTQ1N118MCl8MDtlbHNlIGQ9NDtkbyBpZigoZHwwKT09NCl7aWYoKGF8MCkhPTMpe3RiW2ZbNDgy
MjldJjYzXSgoYXwwKT09MT8xMDUzOTQ6MTA1NDAwKXwwO3RiW2ZbNDgyMjldJjYzXSgxMDYwNzIp
fDB9d2hpbGUoMSl7YT1mJChmWzQ4MjM0XXwwLGZbMTgwMTBdfDAsYixjKXwwO2Q9ZlsxODAxMF18
MDtpZigoYXwwKT4tMSYoYXwwKTwoZHwwKSl7ZD04O2JyZWFrfWQ9ZDw8MTtlPWErMXwwO2U9KGR8
MCk+KGV8MCk/ZDplO2ZbMTgwMTBdPWU7aWYoIShPXyhmWzQ4MjM0XXwwLGUpfDApKXtkPTEwO2Jy
ZWFrfX1pZigoZHwwKT09OCl7dGJbZls0ODIyOV0mNjNdKGZbNDgyMzRdfDApfDA7YnJlYWt9ZWxz
ZSBpZigoZHwwKT09MTApe3AyKDEwNTQxMyxmWzE5NDU3XXwwKXwwO2JyZWFrfX13aGlsZSgwKTty
ZXR1cm59ZnVuY3Rpb24gJHcoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MDtjPXQ7dD10KzE2
fDA7ZD1jO2ZbZD4+Ml09YjtadygxLGEsZCl8MDt0PWM7cmV0dXJufWZ1bmN0aW9uIGF4KGEsYyxk
KXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wO2lmKCFkKXtkPShjfDApPT0wPzEwMjQ6YztjPWQ7
ZD1MXyhkKXwwO2U9MX1lbHNlIGU9MDtmW2ErMTI+PjJdPWU7ZlthPj4yXT1kO2ZbYSs4Pj4yXT1k
K2M7ZlthKzQ+PjJdPWQ7YltkPj4wXT0wO3JldHVybn1mdW5jdGlvbiBieChhLGIpe2E9YXwwO2I9
YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MDtoPWErOHwwO2Q9ZlthPj4yXXwwO2U9KGZb
aD4+Ml18MCktZHwwO2c9ZTw8MTtlPWUrYnwwO2c9ZT4+PjA+Zz4+PjA/ZTpnO2U9YSs0fDA7Yj1k
O2Q9KGZbZT4+Ml18MCktZHwwO2M9YSsxMnwwO2lmKCEoZltjPj4yXXwwKSl7aT1MXyhnKXwwO1Ez
KGl8MCxifDAsZHwwKXwwO2ZbYz4+Ml09MTtiPWl9ZWxzZSBiPU9fKGIsZyl8MDtmW2E+PjJdPWI7
ZltlPj4yXT1iK2Q7ZltoPj4yXT1iK2c7cmV0dXJuIDB9ZnVuY3Rpb24gY3goYSxiLGMpe2E9YXww
O2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wO2U9YSs0fDA7ZD1mW2U+PjJdfDA7aWYoKGQrY3wwKT4+
PjA+KGZbYSs4Pj4yXXwwKT4+PjApe2J4KGEsYyl8MDtkPWZbZT4+Ml18MH1RMyhkfDAsYnwwLGN8
MCl8MDtmW2U+PjJdPShmW2U+PjJdfDApK2M7cmV0dXJuIGN8MH1mdW5jdGlvbiBkeChhLGIpe2E9
YXwwO2I9YnwwO3JldHVybiBjeChhLGIsYzAoYil8MCl8MH1mdW5jdGlvbiBleChhKXthPWF8MDtp
ZihmW2ErMTI+PjJdfDApTV8oZlthPj4yXXwwKTtyZXR1cm59ZnVuY3Rpb24gZngoYSl7YT1hfDA7
dmFyIGI9MCxjPTA7Yj1hKzR8MDtjPWZbYj4+Ml18MDtpZihjPj4+MD4oZlthPj4yXXwwKT4+PjAp
e2ZbYj4+Ml09YystMTthPWhbYz4+MF18MH1lbHNlIGE9LTE7cmV0dXJuIGF8MH1mdW5jdGlvbiBn
eChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7WnooZls0ODIzNl18MCxmW2IrOD4+Ml18MCl8MDta
eihmWzQ4MjM2XXwwLGZbYisxMj4+Ml18MCl8MDtXeShmWzQ4MjM2XXwwLGIpO3JldHVybn1mdW5j
dGlvbiBoeChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTA7Yz1IeihhLDEwNTQ2MSwwKXwwO2lmKChi
fDApIT0wJihjfDApPT0wKXtpeChhKTtjPUh6KGEsMTA1NDYxLDApfDB9cmV0dXJuIGN8MH1mdW5j
dGlvbiBpeChhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTA7ZD1veihhKXwwO3NCKGQsZCwxMDQsMCwx
KXwwO2M9JHkoZCl8MDt3aGlsZSgxKXtpZighYylicmVhaztreChhLGMpO2I9TngoZCxjKXwwO3do
aWxlKDEpe2lmKCFiKWJyZWFrO2x4KGEsYik7Yj1QeChkLGIpfDB9Yz1heihkLGMpfDB9cmV0dXJu
fWZ1bmN0aW9uIGp4KGEpe2E9YXwwO3ZhciBjPTA7Yz1hKzI0fDA7YltjPj4wXT1iW2M+PjBdfDY0
O3F4KGEpO2M9SEEoYSl8MDtueCgoY3wwKT09MD9hOmMsYSk7cmV0dXJufWZ1bmN0aW9uIGt4KGEs
Yil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtjPW14KGIpfDA7aWYoISgoY3wwKSE9MD8oZltjKzg+PjJd
fDApIT0wOjApKW54KGEsYik7cmV0dXJufWZ1bmN0aW9uIGx4KGEsYil7YT1hfDA7Yj1ifDA7dmFy
IGM9MDtjPW14KGIpfDA7aWYoISgoY3wwKSE9MD8oZltjKzg+PjJdfDApIT0wOjApKW54KGEsYik7
cmV0dXJufWZ1bmN0aW9uIG14KGEpe2E9YXwwO3JldHVybiBIeihhLDEwNTQ0OSwwKXwwfWZ1bmN0
aW9uIG54KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wO2M9SnooYiwxMDU0NDksMTYs
MCl8MDtlPW94KGEsZltiPj4yXSYzKXwwO2Q9Yys4fDA7YTpkbyBpZighKGZbZD4+Ml18MCkpe2E9
b3ooYSl8MDthPW94KGEsZltiPj4yXSYzKXwwO2ZbZD4+Ml09YTthPXB4KGIpfDA7YT1WeShueihi
KXwwLCgoYXwwKT40P2E6NCk8PDIpfDA7Yz1jKzEyfDA7ZltjPj4yXT1hO2E9d2JbZltlPj4yXSY2
M10oZSwwLDEyOCl8MDt3aGlsZSgxKXtpZighYSlicmVhayBhO2Q9bnooYil8MDtkPVh6KGQsZlth
KzEyPj4yXXwwKXwwO2ZbKGZbYz4+Ml18MCkrKGZbYSsxNj4+Ml08PDIpPj4yXT1kO2E9d2JbZltl
Pj4yXSY2M10oZSxhLDgpfDB9fXdoaWxlKDApO3JldHVybn1mdW5jdGlvbiBveChhLGIpe2E9YXww
O2I9YnwwO3ZhciBjPTAsZD0wO2Q9dDt0PXQrMTZ8MDtjPWQ7YT1oeChhLDApfDA7YTpkbyBpZigh
YSlhPTA7ZWxzZSBzd2l0Y2goYnwwKXtjYXNlIDA6e2E9ZlthKzE2Pj4yXXwwO2JyZWFrIGF9Y2Fz
ZSAxOnthPWZbYSs4Pj4yXXwwO2JyZWFrIGF9Y2FzZSAyOmNhc2UgMzp7YT1mW2ErMTI+PjJdfDA7
YnJlYWsgYX1kZWZhdWx0OntmW2M+PjJdPWI7WXcoMSwxMDU0NzQsYyl8MDthPTA7YnJlYWsgYX19
d2hpbGUoMCk7dD1kO3JldHVybiBhfDB9ZnVuY3Rpb24gcHgoYSl7YT1hfDA7dmFyIGI9MDtiPW96
KG56KGEpfDApfDA7YT1veChiLGZbYT4+Ml0mMyl8MDtpZighYSlhPTA7ZWxzZSBhPU53KGEpfDA7
cmV0dXJuIGF8MH1mdW5jdGlvbiBxeChhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wO2M9Snoo
YSwxMDU0NjEsMjAsMCl8MDtiPUxBKGEsNzIwNDQsZlsxODAwOV18MCl8MDtkPWMrOHwwO2ZbZD4+
Ml09YjtiPUxBKGEsNzIwNDQsZlsxODAwOV18MCl8MDtlPWMrMTJ8MDtmW2U+PjJdPWI7Yj1MQShh
LDcyMDQ0LGZbMTgwMDldfDApfDA7Yz1jKzE2fDA7ZltjPj4yXT1iO2I9SEEoYSl8MDtpZighYil7
Yj1mWzQ4MjM1XXwwO2lmKCEoKGJ8MCk9PTB8KGJ8MCk9PShhfDApKSl7Yj1oeChiLDApfDA7cngo
ZltiKzg+PjJdfDAsZltkPj4yXXwwLGEsMSk7cngoZltiKzEyPj4yXXwwLGZbZT4+Ml18MCxhLDIp
O3J4KGZbYisxNj4+Ml18MCxmW2M+PjJdfDAsYSwwKX19ZWxzZXthPWh4KGIsMCl8MDtRdyhmW2Q+
PjJdfDAsZlthKzg+PjJdfDApfDA7UXcoZltlPj4yXXwwLGZbYSsxMj4+Ml18MCl8MDtRdyhmW2M+
PjJdfDAsZlthKzE2Pj4yXXwwKXwwfXJldHVybn1mdW5jdGlvbiByeChhLGMsZCxlKXthPWF8MDtj
PWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9MDtnPXdiW2ZbYT4+Ml0mNjNdKGEsMCwxMjgpfDA7
d2hpbGUoMSl7aWYoIWcpYnJlYWs7aD1zeChkLGZbZys4Pj4yXXwwLGZbZysxMj4+Ml18MCxmW2cr
MTY+PjJdfDAsZSl8MDtiW2grMjI+PjBdPWJbZysyMj4+MF18MDtiW2grMjE+PjBdPWJbZysyMT4+
MF18MDt3YltmW2M+PjJdJjYzXShjLGgsMSl8MDtnPXdiW2ZbYT4+Ml0mNjNdKGEsZyw4KXwwfXJl
dHVybn1mdW5jdGlvbiBzeChhLGMsZCxlLGcpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3ww
O3ZhciBoPTA7aD1WeShhLDI0KXwwO2JbaCsyMD4+MF09ZztnPVh6KGEsYyl8MDtmW2grOD4+Ml09
ZztnPVh6KGEsZCl8MDtmW2grMTI+PjJdPWc7ZltoKzE2Pj4yXT1lO3JldHVybiBofDB9ZnVuY3Rp
b24gdHgoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MDtjPXQ7dD10KzMyfDA7ZD1jO2ZbZCs4
Pj4yXT1iO2I9d2JbZlthPj4yXSY2M10oYSxkLDQpfDA7dD1jO3JldHVybiBifDB9ZnVuY3Rpb24g
dXgoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wO2M9UXcoYSwwKXwwO2I9dHgoYSxiKXwwO1F3KGEs
Yyl8MDtyZXR1cm4gYnwwfWZ1bmN0aW9uIHZ4KGEsYil7YT1hfDA7Yj1ifDA7YT1teChhKXwwO2lm
KCFhKWE9MDtlbHNlIGE9dHgoZlthKzg+PjJdfDAsYil8MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIHd4
KGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wO2g9dDt0PXQrMTZ8
MDtnPWg7aWYoIWEpe2E9Zls0ODIzNV18MDtpZighYSl7YltnPj4wXT1iWzcyMDgwXXwwO2JbZysx
Pj4wXT1iWzcyMDgxXXwwO2JbZysyPj4wXT1iWzcyMDgyXXwwO2JbZyszPj4wXT1iWzcyMDgzXXww
O2E9ZXkoMCxnLDApfDA7Zls0ODIzNV09YX19aWYoIWUpYT15eChhLGMsZCl8MDtlbHNlIGE9eHgo
YSxjLGQsZSl8MDt0PWg7cmV0dXJuIGF8MH1mdW5jdGlvbiB4eChhLGIsYyxkKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wO2k9b3ooYSl8MDtoeChhLDEpfDA7Zz1v
eChhLGIpfDA7ZT11eChnLGMpfDA7YTpkbyBpZighZSl7ZT10eChnLGMpfDA7aWYoZXwwKXtlPXN4
KGEsYyxkLGZbZSsxNj4+Ml18MCxiKXwwO3diW2ZbZz4+Ml0mNjNdKGcsZSwxKXwwO2g9MTY7YnJl
YWt9Zz1veChpLGIpfDA7ZT1zeChhLGMsZCxOdyhnKXwwLGIpfDA7d2JbZltnPj4yXSY2M10oZyxl
LDEpfDA7c3dpdGNoKGJ8MCl7Y2FzZSAwOntzQihpLGksNTcsZSwxKXwwO2g9MTY7YnJlYWsgYX1j
YXNlIDE6e2M9JHkoaSl8MDt3aGlsZSgxKXtpZighYyl7aD0xNjticmVhayBhfXp4KGEsYyxlKTtj
PWF6KGksYyl8MH19Y2FzZSAyOmNhc2UgMzp7Zz0keShpKXwwO3doaWxlKDEpe2lmKCFnKXtoPTE2
O2JyZWFrIGF9Yz1OeChpLGcpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7engoYSxjLGUpO2M9UHgo
aSxjKXwwfWc9YXooaSxnKXwwfX1kZWZhdWx0OmJyZWFrIGF9fWVsc2V7aD1lKzEyfDA7WnooYSxm
W2g+PjJdfDApfDA7aT1YeihhLGQpfDA7ZltoPj4yXT1pO2g9MTZ9d2hpbGUoMCk7aWYoKGh8MCk9
PTE2KWlmKChifDApPT0wJihlfDApIT0wKUF4KGEsZSxkKXwwO3J6KGEsYSxlKTtyZXR1cm4gZXww
fWZ1bmN0aW9uIHl4KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDthPW94KGEsYil8MDtpZighYSlh
PTA7ZWxzZSBhPXR4KGEsYyl8MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIHp4KGEsYixjKXthPWF8MDti
PWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTA7Yj1teChiKXwwO2U9YysxNnwwO2Q9ZltlPj4yXXww
O2lmKChkfDApPjMpe2c9ZlthKzY0Pj4yXXwwO2I9YisxMnwwO2Q9ZDw8MjtkPXhiW2ZbKGZbZz4+
Ml18MCkrOD4+Ml0mMTI3XShmW2crMTI+PjJdfDAsZltiPj4yXXwwLGQsZCs0fDApfDA7ZltiPj4y
XT1kfWVsc2UgYj1iKzEyfDA7Zz1YeihhLGZbYysxMj4+Ml18MCl8MDtmWyhmW2I+PjJdfDApKyhm
W2U+PjJdPDwyKT4+Ml09ZztyZXR1cm59ZnVuY3Rpb24gQXgoYSxiLGMpe2E9YXwwO2I9YnwwO2M9
Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wO2g9bnooYSl8MDtnPShteChhKXwwKSsxMnwwO2k9
YisxNnwwO1p6KGgsZlsoZltnPj4yXXwwKSsoZltpPj4yXTw8Mik+PjJdfDApfDA7ZT1YeihoLGMp
fDA7ZlsoZltnPj4yXXwwKSsoZltpPj4yXTw8Mik+PjJdPWU7ZG8gaWYoIShmW2E+PjJdJjMpKXtk
PShoeChoLDApfDApKzE2fDA7ZD1mW2Q+PjJdfDA7ZT1iKzh8MDtnPXV4KGQsZltlPj4yXXwwKXww
O2lmKCFnKXtpPXN4KGgsZltlPj4yXXwwLGMsZltpPj4yXXwwLGZbYT4+Ml0mMyl8MDt3YltmW2Q+
PjJdJjYzXShkLGksMSl8MDticmVha31lbHNle2k9ZysxMnwwO1p6KGgsZltpPj4yXXwwKXwwO2c9
WHooaCxjKXwwO2ZbaT4+Ml09ZzticmVha319d2hpbGUoMCk7cnooaCxhLGIpO3JldHVybiAwfWZ1
bmN0aW9uIEJ4KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDthPW94KGEsYil8MDtkbyBpZihhKXti
PWZbYT4+Ml18MDtpZighYyl7YT13YltiJjYzXShhLDAsMTI4KXwwO2JyZWFrfWVsc2V7YT13Ylti
JjYzXShhLGMsOCl8MDticmVha319ZWxzZSBhPTA7d2hpbGUoMCk7cmV0dXJuIGF8MH1mdW5jdGlv
biBDeChhKXthPWF8MDt2YXIgYj0wO2ZbNDgyMzZdPWE7Yj1teChhKXwwO2lmKGJ8MCl7RHgoYSxi
KTtMeihhLGZbYj4+Ml18MCl8MH1iPWh4KGEsMCl8MDtpZihiKWlmKCgoTkEoYSxmW2IrOD4+Ml18
MCl8MCk9PTA/KE5BKGEsZltiKzEyPj4yXXwwKXwwKT09MDowKT8oTkEoYSxmW2IrMTY+PjJdfDAp
fDApPT0wOjApe0x6KGEsZltiPj4yXXwwKXwwO2I9MH1lbHNlIGI9MTtlbHNlIGI9MDtyZXR1cm4g
YnwwfWZ1bmN0aW9uIER4KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wO2U9bnooYSl8
MDtkPXB4KGEpfDA7Yj1iKzEyfDA7YT0wO3doaWxlKDEpe2M9ZltiPj4yXXwwO2lmKChhfDApPj0o
ZHwwKSlicmVhaztaeihlLGZbYysoYTw8Mik+PjJdfDApfDA7YT1hKzF8MH1XeShlLGMpO3JldHVy
bn1mdW5jdGlvbiBFeChhKXthPWF8MDt2YXIgYj0wO2I9bXgoYSl8MDtpZihifDApe0R4KGEsYik7
THooYSwxMDU0NDkpfDB9cmV0dXJufWZ1bmN0aW9uIEZ4KGEpe2E9YXwwO3ZhciBiPTA7Yj1teChh
KXwwO2lmKGJ8MCl7RHgoYSxiKTtMeihhLDEwNTQ0OSl8MH1yZXR1cm59ZnVuY3Rpb24gR3goYSxi
KXthPWF8MDtiPWJ8MDtiPXZ4KGEsYil8MDtpZighYiliPTA7ZWxzZXthPShteChhKXwwKSsxMnww
O2I9ZlsoZlthPj4yXXwwKSsoZltiKzE2Pj4yXTw8Mik+PjJdfDB9cmV0dXJuIGJ8MH1mdW5jdGlv
biBIeChhLGIpe2E9YXwwO2I9YnwwO2E9KG14KGEpfDApKzEyfDA7cmV0dXJuIGZbKGZbYT4+Ml18
MCkrKGZbYisxNj4+Ml08PDIpPj4yXXwwfWZ1bmN0aW9uIEl4KGEsYixjKXthPWF8MDtiPWJ8MDtj
PWN8MDtiPXZ4KGEsYil8MDtpZighYiliPS0xO2Vsc2V7QXgoYSxiLGMpfDA7Yj0wfXJldHVybiBi
fDB9ZnVuY3Rpb24gSngoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MDtl
PW56KGEpfDA7ZT13eChlLGZbYT4+Ml0mMyxiLDApfDA7aWYoIWUpe2U9bnooYSl8MDtlPXd4KGUs
ZlthPj4yXSYzLGIsZCl8MH1BeChhLGUsYyl8MDtyZXR1cm4gMH1mdW5jdGlvbiBLeChhLGIpe2E9
YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTA7Zz1ueihhKXwwO2U9ZlthPj4yXXwwO2E6ZG8g
aWYoISgoZltiPj4yXV5lKSYzKSl7Yz0xO2Q9MDt3aGlsZSgxKXtkPUJ4KGcsZSYzLGQpfDA7aWYo
IWQpYnJlYWsgYTtjPXZ4KGIsZltkKzg+PjJdfDApfDA7aWYoIWMpe2M9MTticmVhayBhfWU9SHgo
YSxkKXwwO0F4KGIsYyxlKXwwO2lmKF96KGUpfDApJHooSHgoYixjKXwwKTtjPTA7ZT1mW2E+PjJd
fDB9fWVsc2UgYz0xO3doaWxlKDApO3JldHVybiBjfDB9ZnVuY3Rpb24gTHgoYSxiLGMsZCl7YT1h
fDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTA7YT1mW2IrNDA+PjJdfDA7ZT1mW2MrNDA+
PjJdfDA7aWYoKGF8MCk9PShlfDApKXtkPShmW2I+PjJdfDApPj4+NDthPShmW2M+PjJdfDApPj4+
NDtpZihkPj4+MD49YT4+PjApaWYoZD4+PjA+YT4+PjApYT0xO2Vsc2UgZz02O2Vsc2UgYT0tMX1l
bHNle2Q9KGZbYT4+Ml18MCk+Pj40O2E9KGZbZT4+Ml18MCk+Pj40O2lmKGQ+Pj4wPj1hPj4+MClp
ZihkPj4+MD5hPj4+MClhPTE7ZWxzZSBnPTY7ZWxzZSBhPS0xfWlmKChnfDApPT02KWE9MDtyZXR1
cm4gYXwwfWZ1bmN0aW9uIE14KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBl
PTAsZz0wLGg9MCxpPTA7YT0oZltiKzQwPj4yXXwwKSs4fDA7Zz1mW2E+PjJdfDA7YT1mW2ErND4+
Ml18MDtlPShmW2MrNDA+PjJdfDApKzh8MDtkPWZbZT4+Ml18MDtlPWZbZSs0Pj4yXXwwO2RvIGlm
KCEoYT4+PjA8ZT4+PjB8KGF8MCk9PShlfDApJmc+Pj4wPGQ+Pj4wKSlpZihhPj4+MD5lPj4+MHwo
YXwwKT09KGV8MCkmZz4+PjA+ZD4+PjApYT0xO2Vsc2V7ZD1iKzh8MDthPWZbZD4+Ml18MDtkPWZb
ZCs0Pj4yXXwwO2lmKCEoKGF8MCk9PTAmKGR8MCk9PTApPyhpPWMrOHwwLGg9ZltpPj4yXXwwLGk9
ZltpKzQ+PjJdfDAsISgoaHwwKT09MCYoaXwwKT09MCkpOjApe2lmKGQ+Pj4wPGk+Pj4wfChkfDAp
PT0oaXwwKSZhPj4+MDxoPj4+MCl7YT0tMTticmVha31pZihkPj4+MD5pPj4+MHwoZHwwKT09KGl8
MCkmYT4+PjA+aD4+PjApe2E9MTticmVha319YT0wfWVsc2UgYT0tMTt3aGlsZSgwKTtyZXR1cm4g
YXwwfWZ1bmN0aW9uIE54KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtiPU94KGEsYil8MDtpZigh
YiliPTA7ZWxzZXtjPWErNDR8MDthPWIrMzJ8MDtNdyhmW2M+PjJdfDAsZlthPj4yXXwwKXwwO2I9
ZltjPj4yXXwwO2I9d2JbZltiPj4yXSY2M10oYiwwLDEyOCl8MDtjPUl3KGZbYz4+Ml18MCl8MDtm
W2E+PjJdPWN9cmV0dXJuIGJ8MH1mdW5jdGlvbiBPeChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAs
ZD0wO2Q9dDt0PXQrNDh8MDtjPWQ7aWYoKGZbYisyND4+Ml18MCk9PShhfDApKWE9YisyOHwwO2Vs
c2V7ZltjKzE2Pj4yXT1iO2E9ZlthKzQwPj4yXXwwO2E9d2JbZlthPj4yXSY2M10oYSxjLDQpfDB9
dD1kO3JldHVybiBhfDB9ZnVuY3Rpb24gUHgoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MDtj
PU94KGEsZlsoKGZbYj4+Ml0mM3wwKT09Mz9iOmIrNDh8MCkrNDA+PjJdfDApfDA7aWYoIWMpYT0w
O2Vsc2V7ZD1hKzQ0fDA7Yz1jKzMyfDA7TXcoZltkPj4yXXwwLGZbYz4+Ml18MCl8MDthPWZbZD4+
Ml18MDthPXdiW2ZbYT4+Ml0mNjNdKGEsYiw4KXwwO2I9SXcoZltkPj4yXXwwKXwwO2ZbYz4+Ml09
Yn1yZXR1cm4gYXwwfWZ1bmN0aW9uIFF4KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtiPU94KGEs
Yil8MDtpZighYiliPTA7ZWxzZXtjPWErNDR8MDthPWIrMjh8MDtNdyhmW2M+PjJdfDAsZlthPj4y
XXwwKXwwO2I9ZltjPj4yXXwwO2I9d2JbZltiPj4yXSY2M10oYiwwLDEyOCl8MDtjPUl3KGZbYz4+
Ml18MCl8MDtmW2E+PjJdPWN9cmV0dXJuIGJ8MH1mdW5jdGlvbiBSeChhLGIpe2E9YXwwO2I9Ynww
O3ZhciBjPTAsZD0wO2M9T3goYSxmWygoZltiPj4yXSYzfDApPT0yP2I6YistNDh8MCkrNDA+PjJd
fDApfDA7aWYoIWMpYT0wO2Vsc2V7ZD1hKzQ0fDA7Yz1jKzI4fDA7TXcoZltkPj4yXXwwLGZbYz4+
Ml18MCl8MDthPWZbZD4+Ml18MDthPXdiW2ZbYT4+Ml0mNjNdKGEsYiw4KXwwO2I9SXcoZltkPj4y
XXwwKXwwO2ZbYz4+Ml09Yn1yZXR1cm4gYXwwfWZ1bmN0aW9uIFN4KGEsYil7YT1hfDA7Yj1ifDA7
dmFyIGM9MDtjPU54KGEsYil8MDtpZighYyljPVF4KGEsYil8MDtyZXR1cm4gY3wwfWZ1bmN0aW9u
IFR4KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDthOmRvIGlmKChmW2I+PjJdJjN8MCk9PTIpe2I9
UHgoYSxiKXwwO2lmKCFiKXtiPTA7ZG97aWYoIWIpYj1ReChhLGMpfDA7ZWxzZSBiPVJ4KGEsYil8
MDtpZighYil7Yj0wO2JyZWFrIGF9fXdoaWxlKChmW2IrNDA+PjJdfDApPT0oY3wwKSl9fWVsc2Ug
ZG97Yj1SeChhLGIpfDA7aWYoIWIpe2I9MDticmVhayBhfX13aGlsZSgoZltiKzQwPj4yXXwwKT09
KGN8MCkpO3doaWxlKDApO3JldHVybiBifDB9ZnVuY3Rpb24gVXgoYSxiLGMpe2E9YXwwO2I9Ynww
O2M9Y3wwO3ZhciBkPTAsZT0wLGc9MDtnPXQ7dD10KzMyfDA7ZD1nKzE2fDA7ZT1nO2lmKChweShh
KXwwKSE9MD8oZltlPj4yXT0wLGZbZSs0Pj4yXT0wLGZbZSs4Pj4yXT0wLGZbZSsxMj4+Ml09MCxm
W2Q+PjJdPWZbZT4+Ml0sZltkKzQ+PjJdPWZbZSs0Pj4yXSxmW2QrOD4+Ml09ZltlKzg+PjJdLGZb
ZCsxMj4+Ml09ZltlKzEyPj4yXSwoWXgoYSxiLGMsZCl8MCkhPTApOjApZD0wO2Vsc2UgZD0oKGhb
YSsyND4+MF18MCk+Pj4yJjFeMSkmMjU1fChifDApIT0oY3wwKTt0PWc7cmV0dXJuIGR8MH1mdW5j
dGlvbiBWeChhLGIpe2E9YXwwO2I9YnwwO1h4KGEsYik7cmV0dXJufWZ1bmN0aW9uIFd4KGEsYyxk
LGUsZyl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0wLGs9MCxs
PTAsbT0wO2V6KGEsYywxKXwwO2V6KGEsZCwxKXwwO2g9VnkoYSw5Nil8MDtpPWgrNDh8MDtsPWh5
KGEsMil8MDtqPWZbaT4+Ml18MDtrPWZbaD4+Ml18MDttPWgrOHwwO2ZbbT4+Ml09ZTtmW20rND4+
Ml09ZzttPWgrNTZ8MDtmW20+PjJdPWU7ZlttKzQ+PjJdPWc7Zz1sPDw0O2ZbaD4+Ml09ayYxMnxn
fDI7ZltpPj4yXT1qJjEyfGd8MztmW2grODg+PjJdPWM7ZltoKzQwPj4yXT1kO1h4KGEsaCk7aWYo
YlthKzI0Pj4wXSY2NCl7SnooaCwxMDU0NDksMTYsMCl8MDtseChhLGgpfXB6KGEsaCk7cmV0dXJu
IGh8MH1mdW5jdGlvbiBYeChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0w
LGk9MCxqPTAsaz0wLGw9MDtpPXQ7dD10KzE2fDA7Yz1pO2g9ZltiPj4yXSYzO2c9KGh8MCk9PTI/
YjpiKy00OHwwO2g9KGh8MCk9PTM/YjpiKzQ4fDA7ZD1mW2grNDA+PjJdfDA7ZT1mW2crNDA+PjJd
fDA7d2hpbGUoMSl7aWYoIWEpYnJlYWs7ZltjPj4yXT1mW2I+PjJdO2ZbYys0Pj4yXT1mW2IrND4+
Ml07ZltjKzg+PjJdPWZbYis4Pj4yXTtmW2MrMTI+PjJdPWZbYisxMj4+Ml07aWYoWXgoYSxkLGUs
Yyl8MClicmVhaztqPU94KGEsZCl8MDtsPWErNDR8MDtaeChmW2w+PjJdfDAsaiszMnwwLGcpO2s9
YSs0OHwwO1p4KGZbaz4+Ml18MCxqKzI0fDAsZyk7aj1PeChhLGUpfDA7WngoZltsPj4yXXwwLGor
Mjh8MCxoKTtaeChmW2s+PjJdfDAsaisyMHwwLGgpO2E9SEEoYSl8MH10PWk7cmV0dXJufWZ1bmN0
aW9uIFl4KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MDto
PXQ7dD10KzQ4fDA7ZT1oO2lmKCEoKGJ8MCk9PTB8KGN8MCk9PTApPyhmW2U+PjJdPWZbZD4+Ml0s
ZltlKzQ+PjJdPWZbZCs0Pj4yXSxmW2UrOD4+Ml09ZltkKzg+PjJdLGZbZSsxMj4+Ml09ZltkKzEy
Pj4yXSxmW2UrNDA+PjJdPWIsZz1PeChhLGMpfDAsKGd8MCkhPTApOjApe2Q9YSs0OHwwO2c9Zysy
MHwwO013KGZbZD4+Ml18MCxmW2c+PjJdfDApfDA7YT1mW2Q+PjJdfDA7YT13YltmW2E+PjJdJjYz
XShhLGUsNCl8MDtlPUl3KGZbZD4+Ml18MCl8MDtmW2c+PjJdPWV9ZWxzZSBhPTA7dD1oO3JldHVy
biBhfDB9ZnVuY3Rpb24gWngoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO013KGEsZltiPj4yXXww
KXwwO3diW2ZbYT4+Ml0mNjNdKGEsYywxKXwwO2M9SXcoYSl8MDtmW2I+PjJdPWM7cmV0dXJufWZ1
bmN0aW9uIF94KGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9
MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTA7bT10O3Q9dCs0OHwwO2k9bSsyNHwwO2s9bSsx
NnwwO2o9bTtkbyBpZighKHh5KGEsMixkLGssMCl8MCkpaWYoIWQpe2lmKGV8MD8ocHkoYSl8MCk9
PTA6MCl7bD0xODticmVha307ZltqPj4yXT0wO2Zbais0Pj4yXT0wO2Zbais4Pj4yXT0wO2Zbaisx
Mj4+Ml09MDtsPTd9ZWxzZSBsPTE3O2Vsc2V7bj1qO2Zbbj4+Ml09MDtmW24rND4+Ml09MDtuPWs7
Zz1mW24rND4+Ml18MDtsPWorOHwwO2ZbbD4+Ml09ZltuPj4yXTtmW2wrND4+Ml09ZztmW2o+PjJd
PTI7bD03fXdoaWxlKDApO2E6ZG8gaWYoKGx8MCk9PTcpe2ZbaT4+Ml09ZltqPj4yXTtmW2krND4+
Ml09ZltqKzQ+PjJdO2ZbaSs4Pj4yXT1mW2orOD4+Ml07ZltpKzEyPj4yXT1mW2orMTI+PjJdO2c9
WXgoYSxiLGMsaSl8MDtiOmRvIGlmKCFnKXtpZihveShhKXwwPyhmW2k+PjJdPWZbaj4+Ml0sZltp
KzQ+PjJdPWZbais0Pj4yXSxmW2krOD4+Ml09ZltqKzg+PjJdLGZbaSsxMj4+Ml09ZltqKzEyPj4y
XSxoPVl4KGEsYyxiLGkpfDAsaHwwKTowKXtnPWg7YnJlYWt9ZG8gaWYoZXwwKXtnPW96KGEpfDA7
ZltpPj4yXT1mW2o+PjJdO2ZbaSs0Pj4yXT1mW2orND4+Ml07ZltpKzg+PjJdPWZbais4Pj4yXTtm
W2krMTI+PjJdPWZbaisxMj4+Ml07Zz1ZeChnLGIsYyxpKXwwO2lmKCFnKXtpZighKG95KGEpfDAp
KWJyZWFrO2c9b3ooYSl8MDtmW2k+PjJdPWZbaj4+Ml07ZltpKzQ+PjJdPWZbais0Pj4yXTtmW2kr
OD4+Ml09ZltqKzg+PjJdO2ZbaSsxMj4+Ml09ZltqKzEyPj4yXTtnPVl4KGcsYyxiLGkpfDA7aWYo
IWcpYnJlYWt9VngoYSxnKTticmVhayBifXdoaWxlKDApO2w9MTc7YnJlYWsgYX13aGlsZSgwKX13
aGlsZSgwKTtpZigobHwwKT09MTcpaWYoIWUpZz0wO2Vsc2UgbD0xODtpZigobHwwKT09MTgpaWYo
KFV4KGEsYixjKXwwKSE9MD8oeHkoYSwyLGQsaywxKXwwKSE9MDowKXtnPWs7Zz1XeChhLGIsYyxm
W2c+PjJdfDAsZltnKzQ+PjJdfDApfDA7QnkoYSwyLGcpfWVsc2UgZz0wO3Q9bTtyZXR1cm4gZ3ww
fWZ1bmN0aW9uICR4KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0w
O2M9KGZbYj4+Ml0mM3wwKT09MztnPWM/YistNDh8MDpiO2M9Yz9iOmIrNDh8MDtiPWZbZys0MD4+
Ml18MDtoPU94KGEsZltjKzQwPj4yXXwwKXwwO2U9YSs0NHwwO2F5KGZbZT4+Ml18MCxoKzMyfDAs
Zyk7ZD1hKzQ4fDA7YXkoZltkPj4yXXwwLGgrMjR8MCxnKTtiPU94KGEsYil8MDtheShmW2U+PjJd
fDAsYisyOHwwLGMpO2F5KGZbZD4+Ml18MCxiKzIwfDAsYyk7cmV0dXJufWZ1bmN0aW9uIGF5KGEs
YixjKXthPWF8MDtiPWJ8MDtjPWN8MDtNdyhhLGZbYj4+Ml18MCl8MDt3YltmW2E+PjJdJjYzXShh
LGMsMil8MDtjPUl3KGEpfDA7ZltiPj4yXT1jO3JldHVybn1mdW5jdGlvbiBieShhLGMpe2E9YXww
O2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTA7ZD10O3Q9dCsxNnwwO2U9ZDtjPShmW2M+PjJdJjN8
MCk9PTI/YzpjKy00OHwwO2c9ZltjPj4yXSYzO2g9ZlsoKGd8MCk9PTM/YzpjKzQ4fDApKzQwPj4y
XXwwO2c9ZlsoKGd8MCk9PTI/YzpjKy00OHwwKSs0MD4+Ml18MDtmW2U+PjJdPWZbYz4+Ml07Zltl
KzQ+PjJdPWZbYys0Pj4yXTtmW2UrOD4+Ml09ZltjKzg+PjJdO2ZbZSsxMj4+Ml09ZltjKzEyPj4y
XTtpZihZeChhLGgsZyxlKXwwKXtpZigob3ooYSl8MCk9PShhfDApKXtpZihiW2ErMjQ+PjBdJjY0
KUZ4KGMpO3R6KGEsYyk7UnooYyk7aD1jKzh8MDt6eShhLDIsZltoPj4yXXwwLGZbaCs0Pj4yXXww
KX1pZighKHNCKGEsYyw1OCwwLDApfDApKWlmKChveihhKXwwKT09KGF8MCkpe1d5KGEsYyk7Yz0w
fWVsc2UgYz0wO2Vsc2UgYz0tMX1lbHNlIGM9LTE7dD1kO3JldHVybiBjfDB9ZnVuY3Rpb24gY3ko
YSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MDtqPXQ7
dD10KzE2fDA7ZD1qO2U9Yis0OHwwO2g9ZXooYSxmWygoZltiPj4yXSYzfDApPT0zP2I6ZSkrNDA+
PjJdfDAsYyl8MDtnPWIrLTQ4fDA7aT1leihhLGZbKChmW2I+PjJdJjN8MCk9PTI/YjpnKSs0MD4+
Ml18MCxjKXwwO2RvIGlmKChofDApIT0wJihpfDApIT0wKXtmW2Q+PjJdPWZbYj4+Ml07ZltkKzQ+
PjJdPWZbYis0Pj4yXTtmW2QrOD4+Ml09ZltiKzg+PjJdO2ZbZCsxMj4+Ml09ZltiKzEyPj4yXTtp
PVl4KGEsaCxpLGQpfDA7ZD0oaXwwKT09MDtpZigoY3wwKSE9MCZkKXtYeChhLGIpO2g9YjtkPWJ9
ZWxzZXtpZihkKWJyZWFrO2g9aTtnPWkrLTQ4fDA7ZT1pKzQ4fDA7ZD1pfWM9ZltkPj4yXSYzO3Q9
ajtyZXR1cm4gKChjfDApPT0oZltiPj4yXSYzfDApP2g6KGN8MCk9PTM/ZzplKXwwfXdoaWxlKDAp
O3Q9ajtyZXR1cm4gMH1mdW5jdGlvbiBkeShhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8
MDtiPWIrOHwwO2Q9Yys4fDA7ZD1GMyhmW2I+PjJdfDAsZltiKzQ+PjJdfDAsZltkPj4yXXwwLGZb
ZCs0Pj4yXXwwKXwwO3JldHVybiAoKGR8MCk9PTA/MDpkPj4zMXwxKXwwfWZ1bmN0aW9uIGV5KGEs
YyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7aD10O3Q9
dCsxNnwwO2c9aDtqPWZ5KGQpfDA7ZT11YltmWyhmW2o+PjJdfDApKzQ+PjJdJjEyN10oZltqKzEy
Pj4yXXwwLDcyKXwwO2ZbZT4+Ml09ZltlPj4yXSYtNDtpPWUrNjR8MDtmW2k+PjJdPWo7az1lKzI0
fDA7Yz1mW2M+PjJdfDA7ZltrPj4yXT1jO2Jbaz4+MF09YyYyNTV8ODtmW2UrNjA+PjJdPWU7ZD11
YltmW2Zbais0Pj4yXT4+Ml0mMTI3XShlLGQpfDA7ZlsoZltpPj4yXXwwKSsxNj4+Ml09ZDtpZih4
eShlLDAsYSxnLDEpfDApe2k9ZztqPWZbaSs0Pj4yXXwwO2s9ZSs4fDA7ZltrPj4yXT1mW2k+PjJd
O2Zbays0Pj4yXT1qfWs9Z3koZSl8MDtCeShrLDAsZSk7dD1oO3JldHVybiBrfDB9ZnVuY3Rpb24g
ZnkoYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MDtjPShhfDApIT0wO2lmKGMpe2Q9ZlthPj4y
XXwwO2Q9KGR8MCk9PTA/NzI0MTY6ZH1lbHNlIGQ9NzI0MTY7Zz10YltmW2Q+PjJdJjYzXShhKXww
O2U9dWJbZltkKzQ+PjJdJjEyN10oZyw4MCl8MDtmW2U+PjJdPWQ7ZltlKzEyPj4yXT1nO2lmKGMp
e2c9ZlthKzQ+PjJdfDA7ZltlKzQ+PjJdPShnfDApPT0wPzcyMjkyOmc7YT1mW2ErOD4+Ml18MDth
PShhfDApPT0wPzcyMzkyOmF9ZWxzZXtmW2UrND4+Ml09NzIyOTI7YT03MjM5Mn1mW2UrOD4+Ml09
YTtiW2UrNTI+PjBdPTE7cmV0dXJuIGV8MH1mdW5jdGlvbiBneShhKXthPWF8MDt2YXIgYz0wLGQ9
MDtjPUxBKGEsNzI0NzIsZlsxODAwOV18MCl8MDtmW2ErMzY+PjJdPWM7Yz1MQShhLDcyNDM2LGZb
MTgwMDldfDApfDA7ZlthKzQwPj4yXT1jO2M9KG96KGEpfDApPT0oYXwwKTtjPUxBKGEsYz83MjA4
NDo3MjEyMCxmWzE4MDA5XXwwKXwwO2ZbYSs0ND4+Ml09YztjPShveihhKXwwKT09KGF8MCk7Yz1M
QShhLGM/NzIxNTY6NzIxOTIsZlsxODAwOV18MCl8MDtmW2ErNDg+PjJdPWM7Yz1MQShhLDcyMjI4
LGZbMTgwMDldfDApfDA7ZlthKzUyPj4yXT1jO2M9SEEoYSl8MDtpZighKChjfDApIT0wPyhkPWh5
KGMsMCl8MCxmW2E+PjJdPWZbYT4+Ml0mMTV8ZDw8NCxkPWZbYys1Mj4+Ml18MCx3YltmW2Q+PjJd
JjYzXShkLGEsMSl8MCwhKGJbYysyND4+MF0mNjQpKTowKSlqeChhKTtweihhLGEpO3JldHVybiBh
fDB9ZnVuY3Rpb24gaHkoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wO2M9KGZbYSs2ND4+Ml18MCkr
MjQrKGI8PDMpfDA7Yj1jO2I9RTMoZltiPj4yXXwwLGZbYis0Pj4yXXwwLDEsMCl8MDthPUc7Zltj
Pj4yXT1iO2ZbYys0Pj4yXT1hO0c9YTtyZXR1cm4gYnwwfWZ1bmN0aW9uIGl5KGEpe2E9YXwwO3Zh
ciBjPTAsZD0wLGU9MCxnPTA7ZT1IQShhKXwwO2c9KGV8MCk9PTA7aWYoZz8oYz1hKzY0fDAsKGZb
KGZbZltjPj4yXT4+Ml18MCkrMTY+PjJdfDApIT0wKTowKXt0eihhLGEpO2c9YSs4fDA7enkoYSww
LGZbZz4+Ml18MCxmW2crND4+Ml18MCk7Yz1mW2M+PjJdfDA7Q2JbZlsoZltjPj4yXXwwKSsxNj4+
Ml0mMTI3XShmW2MrMTI+PjJdfDApO2M9MH1lbHNlIGQ9NDtkbyBpZigoZHwwKT09NCl7Yz1GQShh
KXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO2Q9R0EoYyl8MDtpeShjKXwwO2M9ZH1jPSR5KGEpfDA7
d2hpbGUoMSl7aWYoIWMpYnJlYWs7ZD1heihhLGMpfDA7bHooYSxjKXwwO2M9ZH1LeShhKTt0eihh
LGEpO2lmKCgoKChOQShhLGZbYSs0MD4+Ml18MCl8MCk9PTA/KE5BKGEsZlthKzM2Pj4yXXwwKXww
KT09MDowKT8oTkEoYSxmW2ErNDg+PjJdfDApfDApPT0wOjApPyhOQShhLGZbYSs0ND4+Ml18MCl8
MCk9PTA6MCk/KE5BKGEsZlthKzUyPj4yXXwwKXwwKT09MDowKXtpZihiW2ErMjQ+PjBdJjY0P0N4
KGEpfDA6MCl7Yz0tMTticmVha31SeihhKTtkPWErOHwwO3p5KGEsMCxmW2Q+PjJdfDAsZltkKzQ+
PjJdfDApO2lmKCFnKXtJQShlLGEpfDA7V3koZSxhKTtjPTA7YnJlYWt9Yz1hKzY0fDA7d2hpbGUo
MSl7ZD1mW2M+PjJdfDA7ZT1mW2QrNDg+PjJdfDA7aWYoIWUpYnJlYWs7d3ooYSxmW2U+PjJdfDAp
fDB9Q2JbZlsoZltkKzQ+PjJdfDApKzIwPj4yXSYxMjddKGZbZCsxNj4+Ml18MCk7aWYoIShTeihh
KXwwKSl7Yz1mW2M+PjJdfDA7Zz1mW2MrMTI+PjJdfDA7ZT0oZltjPj4yXXwwKSsxMnwwO0RiW2Zb
ZT4+Ml0mNjNdKGcsYSk7RGJbZltlPj4yXSY2M10oZyxjKTtjPTB9ZWxzZSBjPS0xfWVsc2UgYz0t
MX13aGlsZSgwKTtyZXR1cm4gY3wwfWZ1bmN0aW9uIGp5KGEpe2E9YXwwO3JldHVybiBOdyhmW2Er
NDA+PjJdfDApfDB9ZnVuY3Rpb24ga3koYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO2I9MDtjPSR5
KGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7ZD0obHkoYSxjLDAsMSl8MCkrYnwwO2I9ZDtjPWF6
KGEsYyl8MH1yZXR1cm4gYnwwfWZ1bmN0aW9uIGx5KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3ww
O2Q9ZHwwO3ZhciBlPTA7ZT1PeChhLGIpfDA7aWYoZSl7aWYoIWQpYj0wO2Vsc2UgYj1teShmW2Er
NDQ+PjJdfDAsZSszMnwwKXwwO2lmKGMpYj0obXkoZlthKzQ0Pj4yXXwwLGUrMjh8MCl8MCkrYnww
fWVsc2UgYj0wO3JldHVybiBifDB9ZnVuY3Rpb24gbXkoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0w
O013KGEsZltiPj4yXXwwKXwwO2M9TncoYSl8MDthPUl3KGEpfDA7ZltiPj4yXT1hO3JldHVybiBj
fDB9ZnVuY3Rpb24gbnkoYSl7YT1hfDA7cmV0dXJuIGJbYSsyND4+MF0mMXwwfWZ1bmN0aW9uIG95
KGEpe2E9YXwwO3JldHVybiAobnkoYSl8MCk9PTB8MH1mdW5jdGlvbiBweShhKXthPWF8MDtyZXR1
cm4gKGhbYSsyND4+MF18MCk+Pj4xJjF8MH1mdW5jdGlvbiBxeShhLGIpe2E9YXwwO2I9YnwwO3Jl
dHVybiBhfDB9ZnVuY3Rpb24gcnkoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtl
PWV8MDtpZighYyl7ZT02NzQ2NDtjPWZbZT4+Ml18MDtlPWZbZSs0Pj4yXXwwO2ZbZD4+Ml09Yztm
W2QrND4+Ml09ZTtlPUUzKGN8MCxlfDAsMiwwKXwwO2Q9Njc0NjQ7ZltkPj4yXT1lO2ZbZCs0Pj4y
XT1HfWVsc2V7aWYoIWUpYT1VeihhLGMpfDA7ZWxzZSBhPVh6KGEsYyl8MDtmW2Q+PjJdPWE7Zltk
KzQ+PjJdPTB9cmV0dXJuIDF9ZnVuY3Rpb24gc3koYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7
ZD1kfDA7cmV0dXJuIDB9ZnVuY3Rpb24gdHkoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1k
fDA7aWYoKGMmMXwwKT09MCYwPT0wKVp6KGEsYyl8MDtyZXR1cm59ZnVuY3Rpb24gdXkoYSxiLGMs
ZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7cmV0dXJuICgoYyYxfDApPT0wJjA9PTA/YzowKXww
fWZ1bmN0aW9uIHZ5KGEpe2E9YXwwO3JldHVybn1mdW5jdGlvbiB3eShhLGIsYyl7YT1hfDA7Yj1i
fDA7Yz1jfDA7cmV0dXJufWZ1bmN0aW9uIHh5KGEsYyxkLGUsZyl7YT1hfDA7Yz1jfDA7ZD1kfDA7
ZT1lfDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0wO2k9KGR8MCkhPTA7ZG8gaWYoaSl7aWYoKGJbZD4+
MF18MCkhPTM3PyhoPWZbYSs2ND4+Ml18MCxoPXliW2ZbKGZbaCs0Pj4yXXwwKSs0Pj4yXSYxMjdd
KGZbaCsxNj4+Ml18MCxjLGQsZSxnKXwwLGh8MCk6MClicmVhaztoPUN5KGEsYyxkLGUpfDA7aWYo
IWgpaj01fWVsc2Ugaj01O3doaWxlKDApO2lmKChqfDApPT01KWlmKGcpe2g9ZlthKzY0Pj4yXXww
O2g9eWJbZlsoZltoKzQ+PjJdfDApKzQ+PjJdJjEyN10oZltoKzE2Pj4yXXwwLGMsMCxlLGcpfDA7
aWYoaSYoaHwwKSE9MCl7aj1lO0R5KGEsYyxkLGZbaj4+Ml18MCxmW2orND4+Ml18MCl9fWVsc2Ug
aD0wO3JldHVybiBofDB9ZnVuY3Rpb24geXkoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1k
fDA7YT1mW2ErNjQ+PjJdfDA7cmV0dXJuIHhiW2ZbKGZbYSs0Pj4yXXwwKSs4Pj4yXSYxMjddKGZb
YSsxNj4+Ml18MCxiLGMsZCl8MH1mdW5jdGlvbiB6eShhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8
MDtkPWR8MDtJeShhLGIsYyxkKXwwO2E9ZlthKzY0Pj4yXXwwO0diW2ZbKGZbYSs0Pj4yXXwwKSsx
Mj4+Ml0mMzFdKGZbYSsxNj4+Ml18MCxiLGMsZCk7cmV0dXJufWZ1bmN0aW9uIEF5KGEpe2E9YXww
O3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLGg9MDtoPXQ7dD10KzE2fDA7Zz1oO2M9bnooYSl8MDtl
PWErOHwwO2I9ZTtiPUd5KGMsZlthPj4yXSYzLGZbYj4+Ml18MCxmW2IrND4+Ml18MCl8MDtkbyBp
ZighYil7Yj1mW2MrNjQ+PjJdfDA7Yz1mWyhmW2IrND4+Ml18MCkrMTY+PjJdfDA7aWYoY3wwPyhk
PWUsZD14YltjJjEyN10oZltiKzE2Pj4yXXwwLGZbYT4+Ml0mMyxmW2Q+PjJdfDAsZltkKzQ+PjJd
fDApfDAsZHwwKTowKXtiPWQ7YnJlYWt9aWYoKGZbYT4+Ml0mM3wwKT09MiliPTA7ZWxzZXtkPWZb
ZT4+Ml18MDtlPWZbZSs0Pj4yXXwwO2ZbZz4+Ml09Mzc7Yj1nKzh8MDtmW2I+PjJdPWQ7ZltiKzQ+
PjJdPWU7ZCQoMTg4MTc2LDEwNTUwMSxnKXwwO2I9MTg4MTc2fX13aGlsZSgwKTt0PWg7cmV0dXJu
IGJ8MH1mdW5jdGlvbiBCeShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7YT1mW2ErNjQ+PjJdfDA7
RWJbZlsoZlthKzQ+PjJdfDApKzI0Pj4yXSYxMjddKGZbYSsxNj4+Ml18MCxiLGMpO3JldHVybn1m
dW5jdGlvbiBDeShhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxo
PTAsaT0wO2k9dDt0PXQrMzJ8MDtoPWk7Yj1mWyhmW2ErNjQ+PjJdfDApKzU2KygoKGJ8MCk9PTM/
MjpiKTw8Mik+PjJdfDA7aWYoKChifDApIT0wPyhlPVV6KGEsYyl8MCwoZXwwKSE9MCk6MCk/KGZb
aCsyND4+Ml09ZSxnPXdiW2ZbYj4+Ml0mNjNdKGIsaCw0KXwwLChnfDApIT0wKTowKXtjPWcrMTZ8
MDtoPWZbYys0Pj4yXXwwO2I9ZDtmW2I+PjJdPWZbYz4+Ml07ZltiKzQ+PjJdPWg7Yj0xfWVsc2Ug
Yj0wO3Q9aTtyZXR1cm4gYnwwfWZ1bmN0aW9uIER5KGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1j
fDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTA7aD1WeShhLDMyKXwwO2c9aCsxNnwwO2ZbZz4+Ml09
ZDtmW2crND4+Ml09ZTtnPVh6KGEsYyl8MDtmW2grMjQ+PjJdPWc7Zz0oYnwwKT09Mz8yOmI7ZT1h
KzY0fDA7Yz1mW2U+PjJdfDA7Yj1mW2MrNTYrKGc8PDIpPj4yXXwwO2lmKCFiKXtkPUxBKGEsNzIz
MjAsZlsxODAwOV18MCl8MDtmWyhmW2U+PjJdfDApKzU2KyhnPDwyKT4+Ml09ZDtiPWZbZT4+Ml18
MH1lbHNle2Q9YjtiPWN9Yj1mW2IrNjgrKGc8PDIpPj4yXXwwO2lmKCFiKXtiPUxBKGEsNzIzNTYs
ZlsxODAwOV18MCl8MDtmWyhmW2U+PjJdfDApKzY4KyhnPDwyKT4+Ml09Yn13YltmW2Q+PjJdJjYz
XShkLGgsMSl8MDt3YltmW2I+PjJdJjYzXShiLGgsMSl8MDtyZXR1cm59ZnVuY3Rpb24gRXkoYSxi
LGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7YT1iKzE2fDA7Yj1mW2E+PjJdfDA7YT1mW2Er
ND4+Ml18MDtjPWMrMTZ8MDtkPWZbYz4+Ml18MDtjPWZbYys0Pj4yXXwwO3JldHVybiAoYT4+PjA+
Yz4+PjB8KGF8MCk9PShjfDApJmI+Pj4wPmQ+Pj4wPzE6KGE+Pj4wPGM+Pj4wfChhfDApPT0oY3ww
KSZiPj4+MDxkPj4+MCk8PDMxPj4zMSl8MH1mdW5jdGlvbiBGeShhLGIsYyxkKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPWR8MDtiPWZbYisyND4+Ml18MDtkPWZbYysyND4+Ml18MDtyZXR1cm4gKGI+Pj4w
PmQ+Pj4wPzE6KGI+Pj4wPGQ+Pj4wKTw8MzE+PjMxKXwwfWZ1bmN0aW9uIEd5KGEsYixjLGQpe2E9
YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2E9SHkoYSxiLGMsZCl8MDtpZighYSlhPTA7ZWxzZSBhPWZb
YSsyND4+Ml18MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIEh5KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9
Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wO2c9dDt0PXQrMzJ8MDtlPWc7YT1mWyhmW2ErNjQ+PjJdfDAp
KzY4KygoKGJ8MCk9PTM/MjpiKTw8Mik+PjJdfDA7aWYoIWEpYT0wO2Vsc2V7Yj1lKzE2fDA7Zlti
Pj4yXT1jO2ZbYis0Pj4yXT1kO2E9d2JbZlthPj4yXSY2M10oYSxlLDQpfDB9dD1nO3JldHVybiBh
fDB9ZnVuY3Rpb24gSXkoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MDtl
PShifDApPT0zPzI6YjtiPUh5KGEsZSxjLGQpfDA7aWYoIWIpYj0wO2Vsc2V7ZD1hKzY0fDA7Yz1m
WyhmW2Q+PjJdfDApKzU2KyhlPDwyKT4+Ml18MDt3YltmW2M+PjJdJjYzXShjLGIsMil8MDtlPWZb
KGZbZD4+Ml18MCkrNjgrKGU8PDIpPj4yXXwwO3diW2ZbZT4+Ml0mNjNdKGUsYiwyKXwwO1p6KGEs
ZltiKzI0Pj4yXXwwKXwwO1d5KGEsYik7Yj0xfXJldHVybiBifDB9ZnVuY3Rpb24gSnkoYSl7YT1h
fDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTA7Zls0ODIzNl09YTtnPWZbYSs2ND4+Ml18MDtlPTA7
d2hpbGUoMSl7aWYoKGV8MCk9PTMpYnJlYWs7aD1nKzU2KyhlPDwyKXwwO2M9ZltoPj4yXXwwO2E6
ZG8gaWYoY3wwKXtjPXdiW2ZbYz4+Ml0mNjNdKGMsMCwxMjgpfDA7d2hpbGUoMSl7aWYoIWMpYnJl
YWsgYTtkPWZbaD4+Ml18MDtkPXdiW2ZbZD4+Ml0mNjNdKGQsYyw4KXwwO2lmKChiW2ZbYysyND4+
Ml0+PjBdfDApPT0zNyl7Yz1jKzE2fDA7SXkoYSxlLGZbYz4+Ml18MCxmW2MrND4+Ml18MCl8MH1j
PWR9fXdoaWxlKDApO2U9ZSsxfDB9cmV0dXJufWZ1bmN0aW9uIEt5KGEpe2E9YXwwO2ZbNDgyMzZd
PWE7YT1hKzY0fDA7THkoKGZbYT4+Ml18MCkrNTZ8MCk7THkoKGZbYT4+Ml18MCkrNjh8MCk7cmV0
dXJufWZ1bmN0aW9uIEx5KGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MDtiPTA7d2hpbGUoMSl7aWYo
KGJ8MCk9PTMpYnJlYWs7Yz1hKyhiPDwyKXwwO2Q9ZltjPj4yXXwwO2lmKGR8MCl7SHcoZCl8MDtm
W2M+PjJdPTB9Yj1iKzF8MH1yZXR1cm59ZnVuY3Rpb24gTXkoYSxiLGMpe2E9YXwwO2I9YnwwO2M9
Y3wwO2lmKCEoSzEoYixjLGEpfDApKWE9MDtlbHNlIGE9YzAoYil8MDtyZXR1cm4gYXwwfWZ1bmN0
aW9uIE55KGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuIHAyKGIsYSl8MH1mdW5jdGlvbiBPeShhKXth
PWF8MDtyZXR1cm4gSDEoYSl8MH1mdW5jdGlvbiBQeShhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTA7
Yj10O3Q9dCszMnwwO2Q9YisxMnwwO2M9YjtmWzE4MTAyXT1mWzE4MDk5XTtmWzE4MTAzXT1mWzE4
MTAwXTtmW2Q+PjJdPWE7YT1jMChhKXwwO2ZbZCs0Pj4yXT1hO2ZbZCs4Pj4yXT0wO2ZbYz4+Ml09
NzI0MTY7ZltjKzQ+PjJdPTcyMjkyO2ZbYys4Pj4yXT03MjQwNDthPWFDKGQsYyl8MDtiQSgwKTt0
PWI7cmV0dXJuIGF8MH1mdW5jdGlvbiBReShhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9
MCxnPTAsaD0wLGk9MDtpZigoZHwwKSE9MD8oaD1hKzh8MCxlPWZbaD4+Ml18MCwoZXwwKTwoZlth
KzQ+PjJdfDApKTowKXtpPShmW2E+PjJdfDApK2V8MDthPTA7Zz1iW2k+PjBdfDA7ZT1jO2M9aTt3
aGlsZSgxKXtjPWMrMXwwO2JbZT4+MF09ZzthPWErMXwwO2lmKCEoZzw8MjQ+PjI0IT0xMCYoYXww
KTwoZHwwKSkpYnJlYWs7Zz1iW2M+PjBdfDA7aWYoIShnPDwyND4+MjQpKWJyZWFrO2Vsc2UgZT1l
KzF8MH1mW2g+PjJdPShmW2g+PjJdfDApK2F9ZWxzZSBhPTA7cmV0dXJuIGF8MH1mdW5jdGlvbiBS
eShhKXthPWF8MDtyZXR1cm4gMH1mdW5jdGlvbiBTeShhLGIpe2E9YXwwO2I9YnwwO2E9TF8oYil8
MDtTMyhhfDAsMCxifDApfDA7cmV0dXJuIGF8MH1mdW5jdGlvbiBUeShhLGIsYyxkKXthPWF8MDti
PWJ8MDtjPWN8MDtkPWR8MDthPU9fKGIsZCl8MDtpZihkPj4+MD5jPj4+MClTMyhhK2N8MCwwLGQt
Y3wwKXwwO3JldHVybiBhfDB9ZnVuY3Rpb24gVXkoYSxiKXthPWF8MDtiPWJ8MDtNXyhiKTtyZXR1
cm59ZnVuY3Rpb24gVnkoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wO2M9dDt0PXQrMTZ8MDthPWZb
YSs2ND4+Ml18MDthPXViW2ZbKGZbYT4+Ml18MCkrND4+Ml0mMTI3XShmW2ErMTI+PjJdfDAsYil8
MDtpZighYSlZdygxLDEwNTUwNyxjKXwwO3Q9YztyZXR1cm4gYXwwfWZ1bmN0aW9uIFd5KGEsYil7
YT1hfDA7Yj1ifDA7aWYoYnwwKXthPWZbYSs2ND4+Ml18MDtEYltmWyhmW2E+PjJdfDApKzEyPj4y
XSY2M10oZlthKzEyPj4yXXwwLGIpfXJldHVybn1mdW5jdGlvbiBYeShhLGIsYyxkKXthPWF8MDti
PWJ8MDtjPWN8MDtkPWR8MDthPShmW2IrMTY+PjJdfDApKzh8MDtiPWZbYT4+Ml18MDthPWZbYSs0
Pj4yXXwwO2M9KGZbYysxNj4+Ml18MCkrOHwwO2Q9ZltjPj4yXXwwO2M9ZltjKzQ+PjJdfDA7cmV0
dXJuIChhPj4+MDxjPj4+MHwoYXwwKT09KGN8MCkmYj4+PjA8ZD4+PjA/LTE6KGE+Pj4wPmM+Pj4w
fChhfDApPT0oY3wwKSZiPj4+MD5kPj4+MCkmMSl8MH1mdW5jdGlvbiBZeShhLGIsYyl7YT1hfDA7
Yj1ifDA7Yz1jfDA7YT1mW2IrMTY+PjJdfDA7aWYoKGErMjh8MCkhPShifDApKVd5KGZbYSsyND4+
Ml18MCxiKTtyZXR1cm59ZnVuY3Rpb24gWnkoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1k
fDA7Yj0oZltmW2IrMTY+PjJdPj4yXXwwKT4+PjQ7ZD0oZltmW2MrMTY+PjJdPj4yXXwwKT4+PjQ7
cmV0dXJuIChiPj4+MDxkPj4+MD8tMTpiPj4+MD5kPj4+MCYxKXwwfWZ1bmN0aW9uIF95KGEsYixj
KXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wO2Q9MTkyMDk2O2ZbZD4+Ml09YjtmW2QrND4+Ml09
YztmWzQ4MjQxXT0xOTIwODg7YT1mW2ErNDA+PjJdfDA7YT13YltmW2E+PjJdJjYzXShhLDE5Mjk0
OCw0KXwwO2lmKCFhKWE9MDtlbHNlIGE9ZlthKzE2Pj4yXXwwO3JldHVybiBhfDB9ZnVuY3Rpb24g
JHkoYSl7YT1hfDA7YT1mW2ErMzY+PjJdfDA7YT13YltmW2E+PjJdJjYzXShhLDAsMTI4KXwwO2lm
KCFhKWE9MDtlbHNlIGE9ZlthKzE2Pj4yXXwwO3JldHVybiBhfDB9ZnVuY3Rpb24gYXooYSxiKXth
PWF8MDtiPWJ8MDt2YXIgYz0wO2I9T3goYSxiKXwwO2lmKChifDApIT0wPyhjPWZbYSszNj4+Ml18
MCxjPXdiW2ZbYz4+Ml0mNjNdKGMsYiw4KXwwLChjfDApIT0wKTowKWI9ZltjKzE2Pj4yXXwwO2Vs
c2UgYj0wO3JldHVybiBifDB9ZnVuY3Rpb24gYnooYSl7YT1hfDA7YT1mW2ErMzY+PjJdfDA7YT13
YltmW2E+PjJdJjYzXShhLDAsMjU2KXwwO2lmKCFhKWE9MDtlbHNlIGE9ZlthKzE2Pj4yXXwwO3Jl
dHVybiBhfDB9ZnVuY3Rpb24gY3ooYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wO2I9T3goYSxiKXww
O2lmKChifDApIT0wPyhjPWZbYSszNj4+Ml18MCxjPXdiW2ZbYz4+Ml0mNjNdKGMsYiwxNil8MCwo
Y3wwKSE9MCk6MCliPWZbYysxNj4+Ml18MDtlbHNlIGI9MDtyZXR1cm4gYnwwfWZ1bmN0aW9uIGR6
KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZj0wO2U9X3koYSxiLGMp
fDA7ZG8gaWYoKGR8MCkhPTAmKGV8MCk9PTApe2U9b3ooYSl8MDtpZigoZXwwKSE9KGF8MCk/KGY9
X3koZSxiLGMpfDAsZnwwKTowKXtleihhLGYsMSl8MDtlPWY7YnJlYWt9aWYoISh5eShhLDEsYixj
KXwwKSllPTA7ZWxzZXtlPWh5KGEsMSl8MDtlPWZ6KGEsYixjLGUsRyl8MDtneihhLGUpO2h6KGEs
ZSl9fXdoaWxlKDApO3JldHVybiBlfDB9ZnVuY3Rpb24gZXooYSxiLGMpe2E9YXwwO2I9YnwwO2M9
Y3wwO3ZhciBkPTA7ZD1veihhKXwwO2lmKChkfDApPT0oZltiKzI0Pj4yXXwwKSl7ZD1iKzh8MDtk
PV95KGEsZltkPj4yXXwwLGZbZCs0Pj4yXXwwKXwwO2lmKChjfDApIT0wJihkfDApPT0wKXtkPUhB
KGEpfDA7aWYoIWQpZD0wO2Vsc2V7Yz1leihkLGIsYyl8MDtpeihhLGMpO3JldHVybiBjfDB9fX1l
bHNlIGQ9MDtyZXR1cm4gZHwwfWZ1bmN0aW9uIGZ6KGEsYyxkLGUsZyl7YT1hfDA7Yz1jfDA7ZD1k
fDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MCxpPTA7Zz1WeShhLDY0KXwwO2g9ZltnPj4yXXwwO2k9Zys4
fDA7ZltpPj4yXT1jO2ZbaSs0Pj4yXT1kO2ZbZz4+Ml09aCYxMnxlPDw0fDE7ZT1veihhKXwwO2Zb
ZysyND4+Ml09ZTtlPShveihhKXwwKSsyNHwwO2lmKGJbZT4+MF0mNjQpSnooZywxMDU0NDksMTYs
MCl8MDtyZXR1cm4gZ3wwfWZ1bmN0aW9uIGd6KGEsYil7YT1hfDA7Yj1ifDA7ZG97aXooYSxiKTth
PUhBKGEpfDB9d2hpbGUoKGF8MCkhPTApO3JldHVybn1mdW5jdGlvbiBoeihhLGMpe2E9YXwwO2M9
Y3wwO3ZhciBkPTA7ZD0ob3ooYSl8MCkrMjR8MDtpZihiW2Q+PjBdJjY0KWt4KGEsYyk7cHooYSxj
KTtyZXR1cm59ZnVuY3Rpb24gaXooYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MDtkPWErNDB8
MDtOdyhmW2Q+PjJdfDApfDA7aWYoKG96KGEpfDApPT0oYXwwKSljPWIrMjh8MDtlbHNlIGM9Vnko
YSwzNil8MDtmW2MrMTY+PjJdPWI7ZD1mW2Q+PjJdfDA7d2JbZltkPj4yXSY2M10oZCxjLDEpfDA7
ZD1mW2ErMzY+PjJdfDA7d2JbZltkPj4yXSY2M10oZCxjLDEpfDA7cmV0dXJufWZ1bmN0aW9uIGp6
KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MDtpPXQ7dD10
KzE2fDA7Zz1pO2U9b3ooYSl8MDtpZih4eShhLDEsYixnLDApfDApe2Q9ZztkPV95KGEsZltkPj4y
XXwwLGZbZCs0Pj4yXXwwKXwwO2lmKCFkKWlmKCEoKGN8MCk9PTB8KGV8MCk9PShhfDApKSl7ZD1n
O2Q9X3koZSxmW2Q+PjJdfDAsZltkKzQ+PjJdfDApfDA7aWYoIWQpaD03O2Vsc2UgZD1leihhLGQs
MSl8MH1lbHNlIGg9Nn1lbHNlIGg9NjtpZigoaHwwKT09NilpZighYylkPTA7ZWxzZSBoPTc7aWYo
KGh8MCk9PTcpaWYoISh4eShhLDEsYixnLDEpfDApKWQ9MDtlbHNle2g9ZztnPWZbaD4+Ml18MDto
PWZbaCs0Pj4yXXwwO2Q9aHkoYSwxKXwwO2Q9ZnooYSxnLGgsZCxHKXwwO2d6KGEsZCk7aHooYSxk
KTtCeShhLDEsZCl9dD1pO3JldHVybiBkfDB9ZnVuY3Rpb24ga3ooYSxiLGMpe2E9YXwwO2I9Ynww
O2M9Y3wwO3ZhciBkPTA7Zls0ODI1MF09YjtjPVN4KGEsYil8MDt3aGlsZSgxKXtpZighYylicmVh
aztkPVR4KGEsYyxiKXwwOyR4KGEsYywwKTtjPWR9ZD1mW2ErNDA+PjJdfDA7d2JbZltkPj4yXSY2
M10oZCwxOTI5ODQsMil8MDtkPWZbYSszNj4+Ml18MDt3YltmW2Q+PjJdJjYzXShkLDE5Mjk4NCwy
KXwwO3JldHVybn1mdW5jdGlvbiBseihhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MDtl
PWMrOHwwO2Q9ZTtpZihfeShhLGZbZD4+Ml18MCxmW2QrND4+Ml18MCl8MCl7aWYoKG96KGEpfDAp
PT0oYXwwKSl7ZD1TeChhLGMpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7Zz1UeChhLGQsYyl8MDti
eShhLGQpfDA7ZD1nfWlmKGJbYSsyND4+MF0mNjQpRXgoYyk7dHooYSxjKTtSeihjKTtnPWU7enko
YSwxLGZbZz4+Ml18MCxmW2crND4+Ml18MCl9aWYoIShzQihhLGMsNTksMCwwKXwwKSlpZigob3oo
YSl8MCk9PShhfDApKXtXeShhLGMpO2Q9MH1lbHNlIGQ9MDtlbHNlIGQ9LTF9ZWxzZSBkPS0xO3Jl
dHVybiBkfDB9ZnVuY3Rpb24gbXooYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0w
LGg9MDtoPXQ7dD10KzE2fDA7ZD1oO2M9ZltiPj4yXXwwO2RvIGlmKCEoYyYzKSlpZigoSEEoYil8
MCk9PShhfDApKXtjPWZbYj4+Ml18MDtnPTU7YnJlYWt9ZWxzZXtZdygxLDEwNTUzMyxkKXwwO2U9
LTE7YnJlYWt9ZWxzZSBnPTU7d2hpbGUoMCk7YTpkbyBpZigoZ3wwKT09NSlzd2l0Y2goYyYzKXtj
YXNlIDE6e2U9bHooYSxiKXwwO2JyZWFrIGF9Y2FzZSAyOmNhc2UgMzp7ZT1ieShhLGIpfDA7YnJl
YWsgYX1jYXNlIDA6e2U9aXkoYil8MDticmVhayBhfWRlZmF1bHQ6e319d2hpbGUoMCk7dD1oO3Jl
dHVybiBlfDB9ZnVuY3Rpb24gbnooYSl7YT1hfDA7dmFyIGI9MDtzd2l0Y2goZlthPj4yXSYzKXtj
YXNlIDI6Y2FzZSAzOntiPWZbKGZbYSs0MD4+Ml18MCkrMjQ+PjJdfDA7YnJlYWt9Y2FzZSAxOnti
PWZbYSsyND4+Ml18MDticmVha31jYXNlIDA6e2I9YTticmVha31kZWZhdWx0Ont9fXJldHVybiBi
fDB9ZnVuY3Rpb24gb3ooYSl7YT1hfDA7dmFyIGI9MDtzd2l0Y2goZlthPj4yXSYzKXtjYXNlIDI6
Y2FzZSAzOntiPShmW2ErNDA+PjJdfDApKzI0fDA7YnJlYWt9Y2FzZSAxOntiPWErMjR8MDticmVh
a31jYXNlIDA6e2I9YSs2MHwwO2JyZWFrfWRlZmF1bHQ6e319cmV0dXJuIGZbYj4+Ml18MH1mdW5j
dGlvbiBweihhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTA7ZD1mW2ErNjQ+PjJdfDA7aWYoIShiW2Qr
NTI+PjBdfDApKXp6KGEsYywxMDAsMCk7ZWxzZSBxeihhLGMsZltkKzQ4Pj4yXXwwKTtyZXR1cm59
ZnVuY3Rpb24gcXooYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTA7YTpkbyBpZihjfDAp
e3F6KGEsYixmW2MrOD4+Ml18MCk7c3dpdGNoKGZbYj4+Ml0mMyl7Y2FzZSAwOntkPWZbYz4+Ml18
MDticmVha31jYXNlIDE6e2Q9KGZbYz4+Ml18MCkrMTJ8MDticmVha31jYXNlIDI6e2Q9KGZbYz4+
Ml18MCkrMjR8MDticmVha31kZWZhdWx0OmJyZWFrIGF9ZD1mW2Q+PjJdfDA7aWYoZHwwKUViW2Qm
MTI3XShhLGIsZltjKzQ+PjJdfDApfXdoaWxlKDApO3JldHVybn1mdW5jdGlvbiByeihhLGMsZCl7
YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MDtlPWZbYSs2ND4+Ml18MDtpZighKGJbZSs1Mj4+MF18
MCkpenooYSxjLDEwMSxkKTtlbHNlIHN6KGEsYyxkLGZbZSs0OD4+Ml18MCk7cmV0dXJufWZ1bmN0
aW9uIHN6KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTA7YTpkbyBpZihk
fDApe3N6KGEsYixjLGZbZCs4Pj4yXXwwKTtzd2l0Y2goZltiPj4yXSYzKXtjYXNlIDA6e2U9KGZb
ZD4+Ml18MCkrNHwwO2JyZWFrfWNhc2UgMTp7ZT0oZltkPj4yXXwwKSsxNnwwO2JyZWFrfWNhc2Ug
Mjp7ZT0oZltkPj4yXXwwKSsyOHwwO2JyZWFrfWRlZmF1bHQ6YnJlYWsgYX1lPWZbZT4+Ml18MDtp
ZihlfDApR2JbZSYzMV0oYSxiLGZbZCs0Pj4yXXwwLGMpfXdoaWxlKDApO3JldHVybn1mdW5jdGlv
biB0eihhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTA7ZD1mW2ErNjQ+PjJdfDA7aWYoIShiW2QrNTI+
PjBdfDApKXp6KGEsYywxMDIsMCk7ZWxzZSB1eihhLGMsZltkKzQ4Pj4yXXwwKTtyZXR1cm59ZnVu
Y3Rpb24gdXooYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTA7YTpkbyBpZihjfDApe3V6
KGEsYixmW2MrOD4+Ml18MCk7c3dpdGNoKGZbYj4+Ml0mMyl7Y2FzZSAwOntkPShmW2M+PjJdfDAp
Kzh8MDticmVha31jYXNlIDE6e2Q9KGZbYz4+Ml18MCkrMjB8MDticmVha31jYXNlIDI6e2Q9KGZb
Yz4+Ml18MCkrMzJ8MDticmVha31kZWZhdWx0OmJyZWFrIGF9ZD1mW2Q+PjJdfDA7aWYoZHwwKUVi
W2QmMTI3XShhLGIsZltjKzQ+PjJdfDApfXdoaWxlKDApO3JldHVybn1mdW5jdGlvbiB2eihhLGIs
Yyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MDtkPVZ5KGEsMTIpfDA7ZltkPj4yXT1iO2ZbZCs0
Pj4yXT1jO2M9KGZbYSs2ND4+Ml18MCkrNDh8MDtmW2QrOD4+Ml09ZltjPj4yXTtmW2M+PjJdPWQ7
cmV0dXJufWZ1bmN0aW9uIHd6KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTA7ZD0oZlthKzY0
Pj4yXXwwKSs0OHwwO2M9ZltkPj4yXXwwO2E6ZG8gaWYoIWMpYz0tMTtlbHNle2lmKChmW2M+PjJd
fDApIT0oYnwwKSl7d2hpbGUoMSl7aWYoIWMpe2M9LTE7YnJlYWsgYX1kPWZbYys4Pj4yXXwwO2lm
KChmW2Q+PjJdfDApPT0oYnwwKSlicmVhaztlbHNlIGM9ZH1pZihkKWZbYys4Pj4yXT1mW2QrOD4+
Ml19ZWxzZSBmW2Q+PjJdPWZbYys4Pj4yXTtXeShhLGMpO2M9MH13aGlsZSgwKTtyZXR1cm4gY3ww
fWZ1bmN0aW9uIHh6KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtjPW96KGEpfDA7YTpkbyBpZigo
Y3wwKT09KG96KGIpfDApKXN3aXRjaChmW2I+PjJdJjMpe2Nhc2UgMDp7d2hpbGUoMSl7aWYoKGJ8
MCk9PShhfDApKXtiPTE7YnJlYWsgYX1iPUhBKGIpfDA7aWYoIWIpe2I9MDticmVha319YnJlYWt9
Y2FzZSAxOntiPWIrOHwwO2I9KGR6KGEsZltiPj4yXXwwLGZbYis0Pj4yXXwwLDApfDApIT0wO2Jy
ZWFrIGF9ZGVmYXVsdDp7Yj0oY3koYSxiLDApfDApIT0wO2JyZWFrIGF9fWVsc2UgYj0wO3doaWxl
KDApO3JldHVybiBiJjF8MH1mdW5jdGlvbiB5eihhKXthPWF8MDtyZXR1cm4gZlthPj4yXSYzfDB9
ZnVuY3Rpb24genooYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxmPTAs
Zz0wLGg9MDtoPXQ7dD10KzE2fDA7Zz1oO2Y9SnooYSwxMDU1NTcsNDQsMCl8MDtzd2l0Y2goY3ww
KXtjYXNlIDEwMDp7ZT1BeihmLGIsMTAwKXwwO2lmKCEoQnooZSxiKXwwKSlDeihlLGEsYixkKXww
O2JyZWFrfWNhc2UgMTAxOntpZigoKEJ6KEF6KGYsYiwxMDApfDAsYil8MCk9PTA/KEJ6KEF6KGYs
YiwxMDIpfDAsYil8MCk9PTA6MCk/KGU9QXooZixiLDEwMSl8MCwoQnooZSxiKXwwKT09MCk6MClD
eihlLGEsYixkKXwwO2JyZWFrfWNhc2UgMTAyOntEeihBeihmLGIsMTAwKXwwLGIpO0R6KEF6KGYs
YiwxMDEpfDAsYik7ZT1BeihmLGIsMTAyKXwwO2lmKCEoQnooZSxiKXwwKSlDeihlLGEsYixkKXww
O2JyZWFrfWRlZmF1bHQ6WXcoMSwxMDU1NjksZyl8MH10PWg7cmV0dXJufWZ1bmN0aW9uIEF6KGEs
YixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTA7Zz10O3Q9dCsxNnwwO2Q9Zzth
OmRvIHN3aXRjaChmW2I+PjJdJjMpe2Nhc2UgMDpzd2l0Y2goY3wwKXtjYXNlIDEwMDp7Yz1hKzh8
MDticmVhayBhfWNhc2UgMTAxOntjPWErMjB8MDticmVhayBhfWNhc2UgMTAyOntjPWErMzJ8MDti
cmVhayBhfWRlZmF1bHQ6e2U9MTQ7YnJlYWsgYX19Y2FzZSAxOnN3aXRjaChjfDApe2Nhc2UgMTAw
OntjPWErMTJ8MDticmVhayBhfWNhc2UgMTAxOntjPWErMjR8MDticmVhayBhfWNhc2UgMTAyOntj
PWErMzZ8MDticmVhayBhfWRlZmF1bHQ6e2U9MTQ7YnJlYWsgYX19Y2FzZSAyOnN3aXRjaChjfDAp
e2Nhc2UgMTAwOntjPWErMTZ8MDticmVhayBhfWNhc2UgMTAxOntjPWErMjh8MDticmVhayBhfWNh
c2UgMTAyOntjPWErNDB8MDticmVhayBhfWRlZmF1bHQ6e2U9MTQ7YnJlYWsgYX19ZGVmYXVsdDpl
PTE0fXdoaWxlKDApO2lmKChlfDApPT0xNCl7WXcoMSwxMDU2MDMsZCl8MDtjPTB9YT1mW2M+PjJd
fDA7aWYoIWEpe2E9bnooYil8MDthPUxBKGEsNzI1MDgsZlsxODAwOV18MCl8MDtmW2M+PjJdPWF9
dD1nO3JldHVybiBhfDB9ZnVuY3Rpb24gQnooYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxl
PTA7Yz10O3Q9dCszMnwwO2Q9YztlPUV6KGIpfDA7Yj1kKzh8MDtmW2I+PjJdPWU7ZltiKzQ+PjJd
PUc7Yj13YltmW2E+PjJdJjYzXShhLGQsNCl8MDt0PWM7cmV0dXJuIGJ8MH1mdW5jdGlvbiBDeihh
LGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MDtlPVZ5KG56KGMpfDAs
MzIpfDA7ZltlKzIwPj4yXT1jO2c9RXooYyl8MDtjPWUrOHwwO2ZbYz4+Ml09ZztmW2MrND4+Ml09
RztmW2UrMTY+PjJdPWI7aWYoZHwwKXtnPVZ5KGIsOCl8MDtmW2UrMjQ+PjJdPWc7ZltnPj4yXT1k
fXdiW2ZbYT4+Ml0mNjNdKGEsZSwxKXwwO3JldHVybiBlfDB9ZnVuY3Rpb24gRHooYSxiKXthPWF8
MDtiPWJ8MDtiPUJ6KGEsYil8MDtpZihifDApd2JbZlthPj4yXSY2M10oYSxiLDIpfDA7cmV0dXJu
fWZ1bmN0aW9uIEV6KGEpe2E9YXwwO2E9YSs4fDA7Rz1mW2ErND4+Ml18MDtyZXR1cm4gZlthPj4y
XXwwfWZ1bmN0aW9uIEZ6KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtHeihiKTtXeShmW2IrMTY+
PjJdfDAsYik7cmV0dXJufWZ1bmN0aW9uIEd6KGEpe2E9YXwwO3ZhciBiPTAsYz0wO2I9YSsxNnww
O2E9ZlthKzI0Pj4yXXwwO3doaWxlKDEpe2lmKCFhKWJyZWFrO2M9ZlthKzQ+PjJdfDA7V3koZlti
Pj4yXXwwLGEpO2E9Y31yZXR1cm59ZnVuY3Rpb24gSHooYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHww
O3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtrPXQ7dD10KzE2fDA7aT1rO2g9ZlthKzE2Pj4y
XXwwO2U9aDt3aGlsZSgxKXtpZighZSl7ZT0wO2JyZWFrfWc9ZltlPj4yXXwwO2lmKChnfDApPT0o
Y3wwKSl7aj03O2JyZWFrfWlmKChiW2M+PjBdfDApPT0oYltnPj4wXXwwKT8oSCQoYyxnKXwwKT09
MDowKXtqPTc7YnJlYWt9ZT1mW2UrND4+Ml18MDtpZigoZXwwKT09KGh8MCkpe2U9MDticmVha319
ZG8gaWYoKGp8MCk9PTcpaWYoIShmW2E+PjJdJjQpKXtpZigoZXwwKT09KGh8MCkmKGR8MCk9PTAp
e2U9aDticmVha31JeihhLGUsZCk7YnJlYWt9ZWxzZXtpZigoZHwwKT09MHwoaHwwKT09KGV8MCkp
YnJlYWs7WXcoMSwxMDU2MjgsaSl8MDticmVha313aGlsZSgwKTt0PWs7cmV0dXJuIGV8MH1mdW5j
dGlvbiBJeihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MDtmW2ErMTY+PjJdPWI7ZD1m
W2E+PjJdfDA7Yz1jPDwyJjQ7ZlthPj4yXT1kJi01fGM7aWYoZCYyfDApe2Q9KGQmM3wwKT09Mz9h
Ky00OHwwOmErNDh8MDtmW2QrMTY+PjJdPWI7ZltkPj4yXT1mW2Q+PjJdJi01fGN9cmV0dXJufWZ1
bmN0aW9uIEp6KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9
MDtoPW56KGEpfDA7ZT1IeihhLGIsMCl8MDthOmRvIGlmKChjfDApIT0wJihlfDApPT0wKXtjPVZ5
KGgsYyl8MDtoPVh6KGgsYil8MDtmW2M+PjJdPWg7c3dpdGNoKGZbYT4+Ml0mMyl7Y2FzZSAwOntL
eihhLGMpO2c9YzticmVhayBhfWNhc2UgMTp7S3ooYSxjKTtnPWM7YnJlYWsgYX1jYXNlIDI6Y2Fz
ZSAzOntLeihhLGMpO2c9YzticmVhayBhfWRlZmF1bHQ6e319fWVsc2UgZz1lO3doaWxlKDApO2lm
KGR8MClIeihhLGIsMSl8MDtyZXR1cm4gZ3wwfWZ1bmN0aW9uIEt6KGEsYil7YT1hfDA7Yj1ifDA7
dmFyIGM9MCxkPTAsZT0wO2M9ZlthKzE2Pj4yXXwwO2RvIGlmKGMpe2Q9Yys0fDA7ZT1mW2Q+PjJd
fDA7aWYoKGV8MCk9PShjfDApKXtmW2Q+PjJdPWI7ZltiKzQ+PjJdPWM7YnJlYWt9ZWxzZXtmW2Ir
ND4+Ml09ZTtmW2Q+PjJdPWI7YnJlYWt9fWVsc2UgZltiKzQ+PjJdPWI7d2hpbGUoMCk7aWYoIShm
W2E+PjJdJjQpKUl6KGEsYiwwKTtyZXR1cm59ZnVuY3Rpb24gTHooYSxiKXthPWF8MDtiPWJ8MDt2
YXIgYz0wLGQ9MDtkPW56KGEpfDA7Yz1IeihhLGIsMCl8MDtpZighYyliPS0xO2Vsc2V7TXooYSxj
KTtpZighKGZbYT4+Ml0mMykpe056KGQsYSxjKTtiPWN9ZWxzZXtzQihveihkKXwwLGEsNjAsYyww
KXwwO2I9Y31aeihkLGZbYz4+Ml18MCl8MDtXeShkLGIpO2I9MH1yZXR1cm4gYnwwfWZ1bmN0aW9u
IE16KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MDthPWZbYSsxNj4+Ml18MDt3aGlsZSgxKXtjPWZb
YSs0Pj4yXXwwO2lmKChjfDApPT0oYnwwKSlicmVhaztlbHNlIGE9Y31mW2ErND4+Ml09ZltiKzQ+
PjJdO3JldHVybn1mdW5jdGlvbiBOeihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7aWYoKGZbYisx
Nj4+Ml18MCk9PShjfDApKXthPWZbYys0Pj4yXXwwO0l6KGIsKGF8MCk9PShjfDApPzA6YSwwKX1y
ZXR1cm59ZnVuY3Rpb24gT3ooYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8
MDt2YXIgZj0wLGc9MDtmPShkfDApPi0xO2c9Zj9kOjAtZHwwO2E6ZG8gc3dpdGNoKGJ8MCl7Y2Fz
ZSAwOntKeihhLGMsZyxlKXwwO2lmKCFmKXtiPUZBKGEpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWsg
YTtPeihiLDAsYyxkLGUpO2I9R0EoYil8MH19YnJlYWt9Y2FzZSAzOmNhc2UgMjpjYXNlIDE6e2Q9
KGJ8MCk9PTE7Yj0keShhKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFrIGE7YjpkbyBpZihkKUp6KGIs
YyxnLGUpfDA7ZWxzZXtmPU54KGEsYil8MDt3aGlsZSgxKXtpZighZilicmVhayBiO0p6KGYsYyxn
LGUpfDA7Zj1QeChhLGYpfDB9fXdoaWxlKDApO2I9YXooYSxiKXwwfX1kZWZhdWx0Ont9fXdoaWxl
KDApO3JldHVybn1mdW5jdGlvbiBQeihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxl
PTA7YTpkbyBzd2l0Y2goYnwwKXtjYXNlIDA6e3NCKGEsYSw2MSxjLDEpfDA7YnJlYWt9Y2FzZSAz
OmNhc2UgMjpjYXNlIDE6e2U9KGJ8MCk9PTE7ZD0keShhKXwwO3doaWxlKDEpe2lmKCFkKWJyZWFr
IGE7YjpkbyBpZihlKUx6KGQsYyl8MDtlbHNle2I9TngoYSxkKXwwO3doaWxlKDEpe2lmKCFiKWJy
ZWFrIGI7THooYixjKXwwO2I9UHgoYSxiKXwwfX13aGlsZSgwKTtkPWF6KGEsZCl8MH19ZGVmYXVs
dDp7fX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gUXooYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3ww
O0x6KGIsYyl8MDtyZXR1cm59ZnVuY3Rpb24gUnooYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO2M9
bnooYSl8MDtiPWErMTZ8MDthPWZbYj4+Ml18MDtpZihhfDApZG97ZD1hO2E9ZlthKzQ+PjJdfDA7
WnooYyxmW2Q+PjJdfDApfDA7V3koYyxkKX13aGlsZSgoYXwwKSE9KGZbYj4+Ml18MCkpO2ZbYj4+
Ml09MDtyZXR1cm59ZnVuY3Rpb24gU3ooYSl7YT1hfDA7cmV0dXJuIE5BKGEsVHooYSl8MCl8MH1m
dW5jdGlvbiBUeihhKXthPWF8MDt2YXIgYj0wLGM9MDtpZighYSljPTE5MzAyMDtlbHNlIGM9KGZb
YSs2ND4+Ml18MCkrMjB8MDtiPWZbYz4+Ml18MDtpZighYil7Yj1MQShhLDcyNTQ0LGZbMTgwMDld
fDApfDA7ZltjPj4yXT1iO2E9MTkyMTUyO2ZbYT4+Ml09LTIxNDc0ODM2NDg7ZlthKzQ+PjJdPTA7
YT0xOTIxNjA7ZlthPj4yXT0yMTQ3NDgzNjQ3O2ZbYSs0Pj4yXT0tMX1yZXR1cm4gYnwwfWZ1bmN0
aW9uIFV6KGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuIFZ6KFR6KGEpfDAsYil8MH1mdW5jdGlvbiBW
eihhLGIpe2E9YXwwO2I9YnwwO2E9V3ooYSxiKXwwO2lmKCFhKWE9MDtlbHNlIGE9ZlthKzE2Pj4y
XXwwO3JldHVybiBhfDB9ZnVuY3Rpb24gV3ooYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MDtj
PXQ7dD10KzMyfDA7ZD1jO2ZbZCsxNj4+Ml09YjtiPXdiW2ZbYT4+Ml0mNjNdKGEsZCw0KXwwO3Q9
YztyZXR1cm4gYnwwfWZ1bmN0aW9uIFh6KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTA7aWYo
IWIpYz0wO2Vsc2V7ZD1UeihhKXwwO2M9V3ooZCxiKXwwO2lmKCFjKXtjPShjMChiKXwwKSsyNHww
O2lmKCFhKWM9TF8oYyl8MDtlbHNlIGM9VnkoYSxjKXwwO2E9Yys4fDA7ZlthPj4yXT0xO2ZbYSs0
Pj4yXT0wO2E9YysyMHwwO3UxKGEsYil8MDtmW2MrMTY+PjJdPWE7d2JbZltkPj4yXSY2M10oZCxj
LDEpfDB9ZWxzZXtkPWMrOHwwO2I9ZDtiPUUzKGZbYj4+Ml18MCxmW2IrND4+Ml18MCwxLDApfDA7
ZltkPj4yXT1iO2ZbZCs0Pj4yXT1HfWM9ZltjKzE2Pj4yXXwwfXJldHVybiBjfDB9ZnVuY3Rpb24g
WXooYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wO2lmKCFiKWM9MDtlbHNle2Q9
VHooYSl8MDtjPVd6KGQsYil8MDtpZighYyl7Yz0oYzAoYil8MCkrMjR8MDtpZighYSljPUxfKGMp
fDA7ZWxzZSBjPVZ5KGEsYyl8MDtnPTE5MjE1MjtlPWZbZys0Pj4yXXwwO2E9Yys4fDA7ZlthPj4y
XT1mW2c+PjJdfDE7ZlthKzQ+PjJdPWU7YT1jKzIwfDA7dTEoYSxiKXwwO2ZbYysxNj4+Ml09YTt3
YltmW2Q+PjJdJjYzXShkLGMsMSl8MH1lbHNle2c9Yys4fDA7ZT1nO2U9RTMoZltlPj4yXXwwLGZb
ZSs0Pj4yXXwwLDEsMCl8MDtmW2c+PjJdPWU7ZltnKzQ+PjJdPUd9Yz1mW2MrMTY+PjJdfDB9cmV0
dXJuIGN8MH1mdW5jdGlvbiBaeihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTA7
aWYoKGJ8MCkhPTA/KGM9VHooYSl8MCxkPVd6KGMsYil8MCwoZHwwKSE9MCk6MClpZigoZltkKzE2
Pj4yXXwwKT09KGJ8MCk/KGI9ZCs4fDAsZz1iLGc9RTMoZltnPj4yXXwwLGZbZys0Pj4yXXwwLC0x
LC0xKXwwLGU9RyxiLGZbYj4+Ml09ZyxmW2IrND4+Ml09ZSxiPTE5MjE2MCwoZ3wwKT09MCYoZXww
KT09MHwoZltiPj4yXXwwKT09MCYoZltiKzQ+PjJdfDApPT0wKTowKXtNQShhLGMsZCl8MDthPTB9
ZWxzZSBhPTA7ZWxzZSBhPS0xO3JldHVybiBhfDB9ZnVuY3Rpb24gX3ooYSl7YT1hfDA7dmFyIGI9
MDtpZighYSlhPTA7ZWxzZXthPWErLTEyfDA7Yj0xOTIxNTI7YT1mW2I+PjJdJmZbYT4+Ml19cmV0
dXJuIGF8MH1mdW5jdGlvbiAkeihhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTA7aWYoYXwwKXtjPTE5
MjE1MjthPWErLTEyfDA7ZD1hO2I9ZltkKzQ+PjJdfGZbYys0Pj4yXTtmW2E+PjJdPWZbZD4+Ml18
ZltjPj4yXTtmW2ErND4+Ml09Yn1yZXR1cm59ZnVuY3Rpb24gYUEoYSl7YT1hfDA7ZlsxODE0NV09
YTtyZXR1cm59ZnVuY3Rpb24gYkEoYSl7YT1hfDA7Zls0ODI2MF09YTtmWzE4MTQ1XT0xO3JldHVy
bn1mdW5jdGlvbiBjQShhLGIpe2E9YXwwO2I9YnwwO2ZbNDgyNjFdPWE7Zls0ODI2Ml09YjtmWzQ4
MjYzXT0wO3JldHVybn1mdW5jdGlvbiBkQSgpe3ZhciBhPTAsYz0wLGU9MCxnPTAsaT0wLGo9MCxr
PTAsbD0wLG09MDtpZighKGZbNDgyNjRdfDApKXtmWzQ4MjY0XT0xO2lmKCEoZls0ODI2NV18MCkp
Zls0ODI2NV09MTtpZighKGZbNDgyNTZdfDApKWZbNDgyNTZdPWZbMTk1MjJdO2lmKCEoZls0ODI1
N118MCkpZls0ODI1N109ZlsxOTQ4OV07aj1mWzQ4MjY2XXwwO2lmKCEoKGp8MCkhPTA/KGZbaj4+
Ml18MCkhPTA6MCkpe2VBKCk7aj1mQShmWzQ4MjU2XXwwLDE2Mzg0KXwwO2ZbZls0ODI2Nl0+PjJd
PWp9Z0EoKX1hOndoaWxlKDEpe2U9Zls0ODI2N118MDtiW2U+PjBdPWJbMTk0ODY0XXwwO2E9KGZb
KGZbZls0ODI2Nl0+PjJdfDApKzI4Pj4yXXwwKSsoZls0ODI2NV18MCl8MDtjPWU7Yjp3aGlsZSgx
KXtpPWM7ZG97Yz1mWzU3NDQrKGhbaT4+MF08PDIpPj4yXXwwO2lmKGRbNjc2OCsoYTw8MSk+PjFd
fDApe2ZbNDgyNjhdPWE7Zls0ODI2OV09aX1jOndoaWxlKDEpe2c9YyYyNTU7ZG97Yz1nKyhkWzY5
NjArKGE8PDEpPj4xXXwwKXwwO2lmKChhfDApPT0oZFs3MTg0KyhjPDwxKT4+MV18MCkpYnJlYWsg
YztqPWRbNzcyOCsoYTw8MSk+PjFdfDA7YT1qPDwxNj4+MTZ9d2hpbGUoajw8MTY+PjE2PD05Mik7
Yz1mWzc5NTIrKGc8PDIpPj4yXXwwfWc9ZFs4MTYwKyhjPDwxKT4+MV18MDthPWc8PDE2Pj4xNjtp
PWkrMXwwfXdoaWxlKChkWzY5NjArKGE8PDEpPj4xXXwwKSE9MjE5KTtjPWk7YT1nPDwxNj4+MTY7
ZDp3aGlsZSgxKXtqPWU7ZTp3aGlsZSgxKXthPWRbNjc2OCsoYTw8MSk+PjFdfDA7aWYoIShhPDwx
Nj4+MTYpKXthPWRbNjc2OCsoZls0ODI2OF08PDEpPj4xXXwwO2k9Zls0ODI2OV18MH1lbHNle2E9
YTw8MTY+PjE2O2k9Y31mWzQ4MjU4XT1lO2ZbNDgyNTldPWktajtiWzE5NDg2NF09YltpPj4wXXww
O2JbaT4+MF09MDtmWzQ4MjY3XT1pO2Y6d2hpbGUoMSl7c3dpdGNoKGF8MCl7Y2FzZSAxOntsPTMw
O2JyZWFrIGF9Y2FzZSAxMjp7bD01NzticmVhayBhfWNhc2UgMTM6e2w9NTk7YnJlYWsgYX1jYXNl
IDE0OntsPTYxO2JyZWFrIGF9Y2FzZSAxNTp7bD02NTticmVhayBhfWNhc2UgMTY6e2w9Njk7YnJl
YWsgYX1jYXNlIDE3OntsPTcxO2JyZWFrIGF9Y2FzZSAxODp7bD03MzticmVhayBhfWNhc2UgMTk6
e2w9NzY7YnJlYWsgYX1jYXNlIDIwOntsPTc5O2JyZWFrIGF9Y2FzZSAyMTp7bD04MjticmVhayBh
fWNhc2UgMjM6e2w9OTA7YnJlYWsgYX1jYXNlIDMzOntsPTEyMjticmVhayBhfWNhc2UgMzk6Y2Fz
ZSAzODpjYXNlIDM3OmNhc2UgMzY6e2s9MDticmVhayBhfWNhc2UgMjp7bD0zMjticmVhayBifWNh
c2UgMzp7bD0zNTticmVhayBifWNhc2UgNDp7bD0zODticmVhayBifWNhc2UgNTp7bD00MTticmVh
ayBifWNhc2UgNjp7bD00MzticmVhayBifWNhc2UgNzp7bD00NjticmVhayBifWNhc2UgODp7bD00
ODticmVhayBifWNhc2UgOTp7bD01MTticmVhayBifWNhc2UgMTA6e2w9NTM7YnJlYWsgYn1jYXNl
IDExOntsPTU1O2JyZWFrIGJ9Y2FzZSAyMjp7bD04NzticmVhayBifWNhc2UgMjQ6e2w9OTM7YnJl
YWsgYn1jYXNlIDI1OntsPTk2O2JyZWFrIGJ9Y2FzZSAyNjp7bD05OTticmVhayBifWNhc2UgMjc6
e2w9MTAyO2JyZWFrIGJ9Y2FzZSAyODp7bD0xMDU7YnJlYWsgYn1jYXNlIDI5OntsPTEwODticmVh
ayBifWNhc2UgMzA6e2w9MTEzO2JyZWFrIGJ9Y2FzZSAzMTp7bD0xMTY7YnJlYWsgYn1jYXNlIDMy
OntsPTExOTticmVhayBifWNhc2UgMzQ6e2w9MTI1O2JyZWFrIGJ9Y2FzZSAwOmJyZWFrIGY7Y2Fz
ZSAzNTpicmVhaztkZWZhdWx0OntsPTE0MTticmVhayBhfX1nPWZbNDgyNThdfDA7YltpPj4wXT1i
WzE5NDg2NF18MDthPWZbNDgyNjZdfDA7Yz1mW2E+PjJdfDA7aWYoIShmW2MrNDQ+PjJdfDApKXtt
PWZbYysxNj4+Ml18MDtmWzQ4MjcxXT1tO2ZbYz4+Ml09Zls0ODI1Nl07Yz1mW2E+PjJdfDA7Zltj
KzQ0Pj4yXT0xO2E9bX1lbHNlIGE9Zls0ODI3MV18MDtpZigoZls0ODI2N118MCk+Pj4wPD0oKGZb
Yys0Pj4yXXwwKSthfDApPj4+MCl7bD0xMzI7YnJlYWsgZX1zd2l0Y2gocEEoKXwwKXtjYXNlIDA6
e2w9MTM4O2JyZWFrIGR9Y2FzZSAyOntsPTEzOTticmVhayBlfWNhc2UgMTp7Zls0ODI2N109Zls0
ODI1OF07Yz0wO2E9KCgoZls0ODI2NV18MCkrLTF8MCkvMnwwKSszNnwwO2JyZWFrfWRlZmF1bHQ6
e2M9MTthPTM1fX1pZihjKWJyZWFrIGJ9YltpPj4wXT1iWzE5NDg2NF18MDtjPWZbNDgyNjldfDA7
YT1mWzQ4MjY4XXwwfWlmKChsfDApPT0xMzIpe2w9MDtnPWktZ3wwO2k9Zls0ODI1OF18MDtjPWkr
KGcrLTEpfDA7Zls0ODI2N109YztqPW5BKCl8MDthPW9BKGopfDA7ZT1mWzQ4MjU4XXwwO2lmKCFh
KWE9ajtlbHNle2w9MTM0O2JyZWFrfX1lbHNlIGlmKChsfDApPT0xMzkpe2w9MDtjPShmWyhmW2Zb
NDgyNjZdPj4yXXwwKSs0Pj4yXXwwKSsoZls0ODI3MV18MCl8MDtmWzQ4MjY3XT1jO2E9bkEoKXww
O2U9Zls0ODI1OF18MH19aWYoKGx8MCk9PTEzNCl7bD0wO2M9aStnfDA7Zls0ODI2N109Y31lbHNl
IGlmKChsfDApPT0xMzgpe2w9MDtjPShmWzQ4MjU4XXwwKSsoaS1nKy0xKXwwO2ZbNDgyNjddPWM7
YT1uQSgpfDA7ZT1mWzQ4MjU4XXwwfX1zd2l0Y2gobHwwKXtjYXNlIDMyOntsPTA7YT1mWzQ4MjU5
XXwwO2lmKGF8MClmWyhmW2ZbNDgyNjZdPj4yXXwwKSsyOD4+Ml09KGJbKGZbNDgyNThdfDApKyhh
Ky0xKT4+MF18MCk9PTEwJjE7ZlsxODE0NV09KGZbMTgxNDVdfDApKzE7YnJlYWt9Y2FzZSAzNTp7
bD0wO2E9Zls0ODI1OV18MDtpZihhfDApZlsoZltmWzQ4MjY2XT4+Ml18MCkrMjg+PjJdPShiWyhm
WzQ4MjU4XXwwKSsoYSstMSk+PjBdfDApPT0xMCYxO2ZbNDgyNjVdPTM7YnJlYWt9Y2FzZSAzODp7
bD0wO2E9Zls0ODI1OV18MDtpZihhfDApZlsoZltmWzQ4MjY2XT4+Ml18MCkrMjg+PjJdPShiWyhm
WzQ4MjU4XXwwKSsoYSstMSk+PjBdfDApPT0xMCYxO2JyZWFrfWNhc2UgNDE6e2w9MDthPWZbNDgy
NTldfDA7aWYoYXwwKWZbKGZbZls0ODI2Nl0+PjJdfDApKzI4Pj4yXT0oYlsoZls0ODI1OF18MCkr
KGErLTEpPj4wXXwwKT09MTAmMTticmVha31jYXNlIDQzOntsPTA7YT1mWzQ4MjU5XXwwO2lmKGF8
MClmWyhmW2ZbNDgyNjZdPj4yXXwwKSsyOD4+Ml09KGJbKGZbNDgyNThdfDApKyhhKy0xKT4+MF18
MCk9PTEwJjE7Zls0ODI2NV09MTticmVha31jYXNlIDQ2OntsPTA7YT1mWzQ4MjU5XXwwO2lmKGF8
MClmWyhmW2ZbNDgyNjZdPj4yXXwwKSsyOD4+Ml09KGJbKGZbNDgyNThdfDApKyhhKy0xKT4+MF18
MCk9PTEwJjE7YnJlYWt9Y2FzZSA0ODp7bD0wO2E9Zls0ODI1OV18MDtpZihhfDApZlsoZltmWzQ4
MjY2XT4+Ml18MCkrMjg+PjJdPShiWyhmWzQ4MjU4XXwwKSsoYSstMSk+PjBdfDApPT0xMCYxO2hB
KCk7YnJlYWt9Y2FzZSA1MTp7bD0wO2E9Zls0ODI1OV18MDtpZihhfDApZlsoZltmWzQ4MjY2XT4+
Ml18MCkrMjg+PjJdPShiWyhmWzQ4MjU4XXwwKSsoYSstMSk+PjBdfDApPT0xMCYxO2JyZWFrfWNh
c2UgNTM6e2w9MDthPWZbNDgyNTldfDA7aWYoYXwwKWZbKGZbZls0ODI2Nl0+PjJdfDApKzI4Pj4y
XT0oYlsoZls0ODI1OF18MCkrKGErLTEpPj4wXXwwKT09MTAmMTticmVha31jYXNlIDU1OntsPTA7
YT1mWzQ4MjU5XXwwO2lmKGF8MClmWyhmW2ZbNDgyNjZdPj4yXXwwKSsyOD4+Ml09KGJbKGZbNDgy
NThdfDApKyhhKy0xKT4+MF18MCk9PTEwJjE7YnJlYWt9Y2FzZSA4Nzp7bD0wO2E9Zls0ODI1OV18
MDtpZihhfDApZlsoZltmWzQ4MjY2XT4+Ml18MCkrMjg+PjJdPShiWyhmWzQ4MjU4XXwwKSsoYSst
MSk+PjBdfDApPT0xMCYxO2ZbNDgyNjVdPTU7akEoKTticmVha31jYXNlIDkzOntsPTA7YT1mWzQ4
MjU5XXwwO2lmKGF8MClmWyhmW2ZbNDgyNjZdPj4yXXwwKSsyOD4+Ml09KGJbKGZbNDgyNThdfDAp
KyhhKy0xKT4+MF18MCk9PTEwJjE7bEEoMTA3MDMxKTticmVha31jYXNlIDk2OntsPTA7YT1mWzQ4
MjU5XXwwO2lmKGF8MClmWyhmW2ZbNDgyNjZdPj4yXXwwKSsyOD4+Ml09KGJbKGZbNDgyNThdfDAp
KyhhKy0xKT4+MF18MCk9PTEwJjE7bEEoMTA1NjYxKTticmVha31jYXNlIDk5OntsPTA7YT1mWzQ4
MjU5XXwwO2lmKGF8MClmWyhmW2ZbNDgyNjZdPj4yXXwwKSsyOD4+Ml09KGJbKGZbNDgyNThdfDAp
KyhhKy0xKT4+MF18MCk9PTEwJjE7ZlsxODE0NV09KGZbMTgxNDVdfDApKzE7YnJlYWt9Y2FzZSAx
MDI6e2w9MDtjPWZbNDgyNTldfDA7YT1mWzQ4MjU4XXwwO2lmKGN8MClmWyhmW2ZbNDgyNjZdPj4y
XXwwKSsyOD4+Ml09KGJbYSsoYystMSk+PjBdfDApPT0xMCYxO2xBKGEpO2JyZWFrfWNhc2UgMTA1
OntsPTA7YT1mWzQ4MjU5XXwwO2lmKGF8MClmWyhmW2ZbNDgyNjZdPj4yXXwwKSsyOD4+Ml09KGJb
KGZbNDgyNThdfDApKyhhKy0xKT4+MF18MCk9PTEwJjE7Zls0ODI2NV09NztmWzQ4MjcwXT0xO2pB
KCk7YnJlYWt9Y2FzZSAxMDg6e2w9MDthPWZbNDgyNTldfDA7aWYoYXwwKWZbKGZbZls0ODI2Nl0+
PjJdfDApKzI4Pj4yXT0oYlsoZls0ODI1OF18MCkrKGErLTEpPj4wXXwwKT09MTAmMTttPShmWzQ4
MjcwXXwwKSstMXwwO2ZbNDgyNzBdPW07aWYoIW0pe2w9MTEyO2JyZWFrIGF9bEEoZls0ODI1OF18
MCk7YnJlYWt9Y2FzZSAxMTM6e2w9MDtjPWZbNDgyNTldfDA7YT1mWzQ4MjU4XXwwO2lmKGN8MClm
WyhmW2ZbNDgyNjZdPj4yXXwwKSsyOD4+Ml09KGJbYSsoYystMSk+PjBdfDApPT0xMCYxO2ZbNDgy
NzBdPShmWzQ4MjcwXXwwKSsxO2xBKGEpO2JyZWFrfWNhc2UgMTE2OntsPTA7Yz1mWzQ4MjU5XXww
O2E9Zls0ODI1OF18MDtpZihjfDApZlsoZltmWzQ4MjY2XT4+Ml18MCkrMjg+PjJdPShiW2ErKGMr
LTEpPj4wXXwwKT09MTAmMTtsQShhKTtmWzE4MTQ1XT0oZlsxODE0NV18MCkrMTticmVha31jYXNl
IDExOTp7bD0wO2M9Zls0ODI1OV18MDthPWZbNDgyNThdfDA7aWYoY3wwKWZbKGZbZls0ODI2Nl0+
PjJdfDApKzI4Pj4yXT0oYlthKyhjKy0xKT4+MF18MCk9PTEwJjE7bEEoYSk7YnJlYWt9Y2FzZSAx
MjU6e2w9MDtjPWZbNDgyNTldfDA7YT1mWzQ4MjU4XXwwO2lmKGN8MClmWyhmW2ZbNDgyNjZdPj4y
XXwwKSsyOD4+Ml09KGJbYSsoYystMSk+PjBdfDApPT0xMCYxO3EyKGEsYywxLGZbNDgyNTddfDAp
fDA7YnJlYWt9fX1zd2l0Y2gobHwwKXtjYXNlIDMwOnthPWZbNDgyNTldfDA7aWYoIWEpaz0tMTtl
bHNle2ZbKGZbZls0ODI2Nl0+PjJdfDApKzI4Pj4yXT0oYlsoZls0ODI1OF18MCkrKGErLTEpPj4w
XXwwKT09MTAmMTtrPS0xfWJyZWFrfWNhc2UgNTc6e2E9Zls0ODI1OV18MDtpZighYSlrPTI1OTtl
bHNle2ZbKGZbZls0ODI2Nl0+PjJdfDApKzI4Pj4yXT0oYlsoZls0ODI1OF18MCkrKGErLTEpPj4w
XXwwKT09MTAmMTtrPTI1OX1icmVha31jYXNlIDU5OnthPWZbNDgyNTldfDA7aWYoIWEpaz0yNjA7
ZWxzZXtmWyhmW2ZbNDgyNjZdPj4yXXwwKSsyOD4+Ml09KGJbKGZbNDgyNThdfDApKyhhKy0xKT4+
MF18MCk9PTEwJjE7az0yNjB9YnJlYWt9Y2FzZSA2MTp7YT1mWzQ4MjU5XXwwO2lmKGF8MClmWyhm
W2ZbNDgyNjZdPj4yXXwwKSsyOD4+Ml09KGJbKGZbNDgyNThdfDApKyhhKy0xKT4+MF18MCk9PTEw
JjE7aWYoIShmWzQ4MjYzXXwwKSl7Zls0ODI2M109MjU4O2s9MjU4fWVsc2Ugaz0yNTg7YnJlYWt9
Y2FzZSA2NTp7YT1mWzQ4MjU5XXwwO2lmKGF8MClmWyhmW2ZbNDgyNjZdPj4yXXwwKSsyOD4+Ml09
KGJbKGZbNDgyNThdfDApKyhhKy0xKT4+MF18MCk9PTEwJjE7aWYoIShmWzQ4MjYzXXwwKSl7Zls0
ODI2M109MjYxO2s9MjYxfWVsc2Ugaz0yNjE7YnJlYWt9Y2FzZSA2OTp7YT1mWzQ4MjU5XXwwO2lm
KCFhKWs9MjYzO2Vsc2V7ZlsoZltmWzQ4MjY2XT4+Ml18MCkrMjg+PjJdPShiWyhmWzQ4MjU4XXww
KSsoYSstMSk+PjBdfDApPT0xMCYxO2s9MjYzfWJyZWFrfWNhc2UgNzE6e2E9Zls0ODI1OV18MDtp
ZighYSlrPTI2MjtlbHNle2ZbKGZbZls0ODI2Nl0+PjJdfDApKzI4Pj4yXT0oYlsoZls0ODI1OF18
MCkrKGErLTEpPj4wXXwwKT09MTAmMTtrPTI2Mn1icmVha31jYXNlIDczOnthPWZbNDgyNTldfDA7
aWYoYXwwKWZbKGZbZls0ODI2Nl0+PjJdfDApKzI4Pj4yXT0oYlsoZls0ODI1OF18MCkrKGErLTEp
Pj4wXXwwKT09MTAmMTtrPShmWzQ4MjYzXXwwKT09MjYxPzI2NDo0NTticmVha31jYXNlIDc2Onth
PWZbNDgyNTldfDA7aWYoYXwwKWZbKGZbZls0ODI2Nl0+PjJdfDApKzI4Pj4yXT0oYlsoZls0ODI1
OF18MCkrKGErLTEpPj4wXXwwKT09MTAmMTtrPShmWzQ4MjYzXXwwKT09MjU4PzI2NDo0NTticmVh
a31jYXNlIDc5OntjPWZbNDgyNTldfDA7YT1mWzQ4MjU4XXwwO2lmKGN8MClmWyhmW2ZbNDgyNjZd
Pj4yXXwwKSsyOD4+Ml09KGJbYSsoYystMSk+PjBdfDApPT0xMCYxO2s9WHooZls0ODIzNl18MCxh
KXwwO2ZbNDgyODZdPWs7az0yNjc7YnJlYWt9Y2FzZSA4Mjp7YT1mWzQ4MjU5XXwwO2lmKGF8MClm
WyhmW2ZbNDgyNjZdPj4yXXwwKSsyOD4+Ml09KGJbKGZbNDgyNThdfDApKyhhKy0xKT4+MF18MCk9
PTEwJjE7aWYoaUEoKXwwKXtsPShmWzQ4MjU5XXwwKSstMXwwO2JbaT4+MF09YlsxOTQ4NjRdfDA7
bT1lK2x8MDtmWzQ4MjY3XT1tO2ZbNDgyNThdPWU7Zls0ODI1OV09bDtiWzE5NDg2NF09YlttPj4w
XXwwO2JbbT4+MF09MDtmWzQ4MjY3XT1tfWs9WHooZls0ODIzNl18MCxmWzQ4MjU4XXwwKXwwO2Zb
NDgyODZdPWs7az0yNjc7YnJlYWt9Y2FzZSA5MDp7YT1mWzQ4MjU5XXwwO2lmKGF8MClmWyhmW2Zb
NDgyNjZdPj4yXXwwKSsyOD4+Ml09KGJbKGZbNDgyNThdfDApKyhhKy0xKT4+MF18MCk9PTEwJjE7
Zls0ODI2NV09MTtrQSgpO2s9MjY4O2JyZWFrfWNhc2UgMTEyOntmWzQ4MjY1XT0xO21BKCk7az0y
Njg7YnJlYWt9Y2FzZSAxMjI6e2M9Zls0ODI1OV18MDthPWZbNDgyNThdfDA7aWYoY3wwKWZbKGZb
Zls0ODI2Nl0+PjJdfDApKzI4Pj4yXT0oYlthKyhjKy0xKT4+MF18MCk9PTEwJjE7az1iW2E+PjBd
fDA7YnJlYWt9Y2FzZSAxNDE6e3FBKDEwNTY2NCk7YnJlYWt9fXJldHVybiBrfDB9ZnVuY3Rpb24g
ZUEoKXt2YXIgYT0wLGI9MCxjPTA7Yj1mWzQ4MjY2XXwwO2RvIGlmKCFiKXthPXhBKDQpfDA7Zls0
ODI2Nl09YTtpZighYSlxQSgxMDYwMjIpO2Vsc2V7ZlthPj4yXT0wO2ZbNDgyNzddPTE7YnJlYWt9
fWVsc2V7YT1mWzQ4Mjc3XXwwO2lmKDA+PShhKy0xfDApPj4+MCl7Yz1hKzh8MDthPXJBKGIsYzw8
Mil8MDtmWzQ4MjY2XT1hO2lmKCFhKXFBKDEwNjAyMik7ZWxzZXtiPWErKGZbNDgyNzddPDwyKXww
O2ZbYj4+Ml09MDtmW2IrND4+Ml09MDtmW2IrOD4+Ml09MDtmW2IrMTI+PjJdPTA7ZltiKzE2Pj4y
XT0wO2ZbYisyMD4+Ml09MDtmW2IrMjQ+PjJdPTA7ZltiKzI4Pj4yXT0wO2ZbNDgyNzddPWM7YnJl
YWt9fX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gZkEoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0w
O2M9eEEoNDgpfDA7aWYoIWMpcUEoMTA1OTc3KTtmW2MrMTI+PjJdPWI7Yj14QShiKzJ8MCl8MDtm
W2MrND4+Ml09YjtpZighYilxQSgxMDU5NzcpO2Vsc2V7ZltjKzIwPj4yXT0xO3RBKGMsYSk7cmV0
dXJuIGN8MH1yZXR1cm4gMH1mdW5jdGlvbiBnQSgpe3ZhciBhPTAsYz0wO2M9Zls0ODI2Nl18MDth
PWZbYz4+Ml18MDtmWzQ4MjcxXT1mW2ErMTY+PjJdO2E9ZlthKzg+PjJdfDA7Zls0ODI2N109YTtm
WzQ4MjU4XT1hO2ZbNDgyNTZdPWZbZltjPj4yXT4+Ml07YlsxOTQ4NjRdPWJbYT4+MF18MDtyZXR1
cm59ZnVuY3Rpb24gaEEoKXt2YXIgYT0wLGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wO2c9dDt0PXQr
MzJ8MDtkPWc7YT1nKzE2fDA7Yz1nKzEyfDA7aD1mWzQ4MjU4XXwwO2U9aCsxfDA7aT0oYSQoZSwx
MDU5NjEsNCl8MCk9PTA7ZT1pP2grNXwwOmU7ZltkPj4yXT1jO2ZbZCs0Pj4yXT1nKzIwO2ZbZCs4
Pj4yXT1hO2Q9TTEoZSwxMDU5NjYsZCl8MDtpZigoZHwwKT4wPyhmWzE4MTQ1XT0oZltjPj4yXXww
KSstMSwoZHwwKSE9MSk6MCl7Yz1lKyhmW2E+PjJdfDApfDA7YT1jO2E6d2hpbGUoMSl7ZD1iW2E+
PjBdfDA7c3dpdGNoKGQ8PDI0Pj4yNCl7Y2FzZSAwOmNhc2UgMzQ6YnJlYWsgYTtkZWZhdWx0Ont9
fWE9YSsxfDB9aWYoKGF8MCkhPShjfDApJmQ8PDI0Pj4yND09MzQpe2JbYT4+MF09MDt3QShjLGEt
Y3wwKX19dD1nO3JldHVybn1mdW5jdGlvbiBpQSgpe3ZhciBhPTAsYz0wLGQ9MCxlPTAsZz0wLGg9
MCxpPTAsaj0wLGs9MDtqPXQ7dD10KzIwODB8MDtpPWorMjA1NnwwO2U9aisyMDQ4fDA7YT1qKzEw
MjR8MDtjPWo7aD1qKzIwNjR8MDtrPWJbKGZbNDgyNThdfDApKygoZls0ODI1OV18MCkrLTEpPj4w
XXwwO2Q9azw8MjQ+PjI0PT00NjtpZihkfCgoayYyNTUpKy00OHwwKT4+PjA8MTApaWYoZD8odkEo
KXwwKSE9MDowKWc9NDtlbHNlIGE9MDtlbHNlIGc9NDtpZigoZ3wwKT09NCl7az1mWzQ4MjYwXXww
O2F4KGgsMTAyNCxhKTtkeChoLDEwNTg3Mil8MDtkeChoLGZbNDgyNThdfDApfDA7ZltlPj4yXT1m
WzE4MTQ1XTtkJChjLDEwNTkxNixlKXwwO2R4KGgsYyl8MDtkeChoLChrfDApPT0wPzEwNTg2Njpr
KXwwO2R4KGgsMTA1OTMzKXwwO2M9aCs0fDA7YT1mW2M+PjJdfDA7aWYoYT4+PjA+PShmW2grOD4+
Ml18MCk+Pj4wKXtieChoLDEpfDA7YT1mW2M+PjJdfDB9YlthPj4wXT0wO2E9ZltoPj4yXXwwO2Zb
Yz4+Ml09YTtmW2k+PjJdPWE7WXcoMCwxMDU5NTgsaSl8MDtleChoKTthPTF9dD1qO3JldHVybiBh
fDB9ZnVuY3Rpb24gakEoKXt2YXIgYT0wO2E9Zls0ODI3Ml18MDtpZighYSl7YT1MXygxMDI0KXww
O2ZbNDgyNzJdPWE7Zls0ODI3NF09YSsxMDI0fWZbNDgyNzNdPWE7YlthPj4wXT0wO3JldHVybn1m
dW5jdGlvbiBrQSgpe3ZhciBhPTA7YT1YeihmWzQ4MjM2XXwwLGZbNDgyNzJdfDApfDA7Zls0ODI4
Nl09YTtiW2ZbNDgyNzJdPj4wXT0wO3JldHVybn1mdW5jdGlvbiBsQShhKXthPWF8MDt2YXIgYz0w
LGQ9MCxlPTAsZz0wLGg9MCxpPTA7Yz1mWzQ4MjczXXwwO2Q9Zls0ODI3Ml18MDtpZihjPj4+MD5k
Pj4+MCl7Yz1jKy0xfDA7Zls0ODI3M109Y31nPWZbNDgyNzRdfDA7YTp3aGlsZSgxKXtlPWc7ZG97
aD1hO2E9YSsxfDA7aD1iW2g+PjBdfDA7aT1jO2M9YysxfDA7YltpPj4wXT1oO2lmKCEoaDw8MjQ+
PjI0KSlicmVhayBhfXdoaWxlKGM+Pj4wPGc+Pj4wKTtmWzQ4MjczXT1jO2g9ZDtnPWUtaDw8MTtp
PU9fKGQsZyl8MDtmWzQ4MjcyXT1pO2c9aStnfDA7Zls0ODI3NF09ZztjPWkrKGMtaCl8MDtmWzQ4
MjczXT1jO2Q9aX1mWzQ4MjczXT1jO3JldHVybn1mdW5jdGlvbiBtQSgpe3ZhciBhPTA7YT1Zeihm
WzQ4MjM2XXwwLGZbNDgyNzJdfDApfDA7Zls0ODI4Nl09YTtiW2ZbNDgyNzJdPj4wXT0wO3JldHVy
bn1mdW5jdGlvbiBuQSgpe3ZhciBhPTAsYz0wLGU9MCxnPTAsaD0wO2g9Zls0ODI2N118MDtnPWZb
NDgyNThdfDA7Yz0oZlsoZltmWzQ4MjY2XT4+Ml18MCkrMjg+PjJdfDApKyhmWzQ4MjY1XXwwKXww
O3doaWxlKDEpe2lmKGc+Pj4wPj1oPj4+MClicmVhazthPWJbZz4+MF18MDtpZighKGE8PDI0Pj4y
NCkpYT0xO2Vsc2UgYT1mWzU3NDQrKChhJjI1NSk8PDIpPj4yXXwwO2lmKGRbNjc2OCsoYzw8MSk+
PjFdfDApe2ZbNDgyNjhdPWM7Zls0ODI2OV09Z31hOndoaWxlKDEpe2U9YSYyNTU7ZG97YT1lKyhk
WzY5NjArKGM8PDEpPj4xXXwwKXwwO2lmKChjfDApPT0oZFs3MTg0KyhhPDwxKT4+MV18MCkpYnJl
YWsgYTthPWRbNzcyOCsoYzw8MSk+PjFdfDA7Yz1hPDwxNj4+MTZ9d2hpbGUoYTw8MTY+PjE2PD05
Mik7YT1mWzc5NTIrKGU8PDIpPj4yXXwwfWc9ZysxfDA7Yz1kWzgxNjArKGE8PDEpPj4xXXwwfXJl
dHVybiBjfDB9ZnVuY3Rpb24gb0EoYSl7YT1hfDA7dmFyIGI9MDtpZihkWzY3NjgrKGE8PDEpPj4x
XXwwKXtiPWZbNDgyNjddfDA7Zls0ODI2OF09YTtmWzQ4MjY5XT1ifXdoaWxlKDEpe2I9KGRbNjk2
MCsoYTw8MSk+PjFdfDApKzF8MDtpZigoYXwwKT09KGRbNzE4NCsoYjw8MSk+PjFdfDApKWJyZWFr
O2E9ZFs3NzI4KyhhPDwxKT4+MV18MH1iPWRbODE2MCsoYjw8MSk+PjFdfDA7cmV0dXJuIChiPDwx
Nj4+MTY9PTkyPzA6Yjw8MTY+PjE2KXwwfWZ1bmN0aW9uIHBBKCl7dmFyIGE9MCxjPTAsZD0wLGU9
MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0w
O2k9Zls0ODI2Nl18MDtkPWZbaT4+Ml18MDtlPWZbZCs0Pj4yXXwwO2g9Zls0ODI1OF18MDtyPWZb
NDgyNjddfDA7az1yO2lmKHI+Pj4wPihlKygoZls0ODI3MV18MCkrMSl8MCk+Pj4wKXFBKDEwNTcx
OSk7cj1rLWh8MDtpZighKGZbZCs0MD4+Ml18MCkpYT0ocnwwKT09MT8xOjI7ZWxzZXtvPXIrLTF8
MDtnPWU7ZD1oO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KG98MCkpYnJlYWs7YltnPj4wXT1iW2Q+
PjBdfDA7Zz1nKzF8MDtkPWQrMXwwO2U9ZSsxfDB9ZT1mW2k+PjJdfDA7ZG8gaWYoKGZbZSs0ND4+
Ml18MCk9PTIpe2ZbNDgyNzFdPTA7ZltlKzE2Pj4yXT0wO2M9aTtkPTA7bj0xOH1lbHNle3doaWxl
KDEpe2g9ZSsxMnwwO2c9ZltoPj4yXXwwO2Q9Zy1vKy0xfDA7aWYoZHwwKXtuPTE3O2JyZWFrfWk9
ZSs0fDA7aj1mW2k+PjJdfDA7aWYoIShmW2UrMjA+PjJdfDApKXtuPTEzO2JyZWFrfWQ9Zzw8MTtk
PShkfDApPT0wPyhnPj4+MykrZ3wwOmQ7ZltoPj4yXT1kO2Q9ckEoaixkKzJ8MCl8MDtmW2k+PjJd
PWQ7aWYoIWQpYnJlYWs7aj1kKyhrLWopfDA7Zls0ODI2N109ajtlPWZbZls0ODI2Nl0+PjJdfDA7
az1qfWlmKChufDApPT0xMylmW2k+PjJdPTA7ZWxzZSBpZigobnwwKT09MTcpe2Q9d2JbZltmWyhm
WzQ4MjYxXXwwKSs4Pj4yXT4+Ml0mNjNdKGZbNDgyNjJdfDAsKGZbZSs0Pj4yXXwwKStvfDAsZD4+
PjA8ODE5Mj9kOjgxOTIpfDA7Zls0ODI3MV09ZDtjPWZbNDgyNjZdfDA7ZT1mW2M+PjJdfDA7Zltl
KzE2Pj4yXT1kO2lmKCFkKXtkPTA7bj0xODticmVha31lbHNle2E9MDttPWQ7bD1lO2JyZWFrfX1x
QSgxMDU3NzUpfXdoaWxlKDApO2RvIGlmKChufDApPT0xOClpZighbyl7c0EoZls0ODI1Nl18MCk7
bD1mWzQ4MjY2XXwwO2E9MTtjPWw7bT1mWzQ4MjcxXXwwO2w9ZltsPj4yXXwwO2JyZWFrfWVsc2V7
ZltlKzQ0Pj4yXT0yO2E9MjtjPWMrKGQ8PDIpfDA7bT0wO2w9ZTticmVha313aGlsZSgwKTtkPW0r
b3wwO2RvIGlmKGQ+Pj4wPihmW2wrMTI+PjJdfDApPj4+MCl7ZD1yQShmW2wrND4+Ml18MCxkKyht
Pj4+MSl8MCl8MDtjPWZbNDgyNjZdfDA7ZlsoZltjPj4yXXwwKSs0Pj4yXT1kO2Q9ZlsoZltjPj4y
XXwwKSs0Pj4yXXwwO2lmKCFkKXFBKDEwNTgxOSk7ZWxzZXt0PWZbNDgyNzFdfDA7cD10K298MDtx
PWM7cz1kO2JyZWFrfX1lbHNle3A9ZDtxPWM7cz1mW2wrND4+Ml18MDt0PW19d2hpbGUoMCk7Zls0
ODI3MV09cDtiW3MrcD4+MF09MDtiWyhmWyhmW3E+PjJdfDApKzQ+PjJdfDApKyh0K3IpPj4wXT0w
O2ZbNDgyNThdPWZbKGZbcT4+Ml18MCkrND4+Ml19cmV0dXJuIGF8MH1mdW5jdGlvbiBxQShhKXth
PWF8MDt2YXIgYj0wLGM9MDtiPXQ7dD10KzE2fDA7Yz1mWzE5NDU3XXwwO2ZbYj4+Ml09YTtnMihj
LDEwNTcxNSxiKXwwO1phKDIpfWZ1bmN0aW9uIHJBKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuIE9f
KGEsYil8MH1mdW5jdGlvbiBzQShhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTA7Yz1mWzQ4MjY2XXww
O2lmKChjfDApIT0wPyhiPWZbYz4+Ml18MCwoYnwwKSE9MCk6MClkPTQ7ZWxzZXtlQSgpO2I9ZkEo
Zls0ODI1Nl18MCwxNjM4NCl8MDtjPWZbNDgyNjZdfDA7ZltjPj4yXT1iO2lmKCFjKWI9MDtlbHNl
IGQ9NH10QShiLGEpO2dBKCk7cmV0dXJufWZ1bmN0aW9uIHRBKGEsYil7YT1hfDA7Yj1ifDA7dmFy
IGM9MDtjPVhfKCl8MDtjPWZbYz4+Ml18MDt1QShhKTtmW2E+PjJdPWI7ZlthKzQwPj4yXT0xO2I9
Zls0ODI2Nl18MDtpZighYiliPTA7ZWxzZSBiPWZbYj4+Ml18MDtpZigoYnwwKSE9KGF8MCkpe2Zb
YSszMj4+Ml09MTtmW2ErMzY+PjJdPTB9ZlthKzI0Pj4yXT0wO2E9WF8oKXwwO2ZbYT4+Ml09Yzty
ZXR1cm59ZnVuY3Rpb24gdUEoYSl7YT1hfDA7dmFyIGM9MDtpZihhfDApe2ZbYSsxNj4+Ml09MDtj
PWErNHwwO2JbZltjPj4yXT4+MF09MDtiWyhmW2M+PjJdfDApKzE+PjBdPTA7ZlthKzg+PjJdPWZb
Yz4+Ml07ZlthKzI4Pj4yXT0xO2ZbYSs0ND4+Ml09MDtjPWZbNDgyNjZdfDA7aWYoIWMpYz0wO2Vs
c2UgYz1mW2M+PjJdfDA7aWYoKGN8MCk9PShhfDApKWdBKCl9cmV0dXJufWZ1bmN0aW9uIHZBKCl7
dmFyIGE9MCxjPTA7Yz1mWzQ4MjU4XXwwO2E9KGZbNDgyNTldfDApKy0yfDA7d2hpbGUoMSl7aWYo
KGF8MCk8PS0xKXthPTA7YnJlYWt9aWYoKGJbYythPj4wXXwwKT09NDYpe2E9MTticmVha31lbHNl
IGE9YSstMXwwfXJldHVybiBhfDB9ZnVuY3Rpb24gd0EoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0w
O2M9Zls0ODI3NV18MDtpZigoY3wwKTwoYnwwKSl7aWYoIWMpYz1MXyhiKzF8MCl8MDtlbHNlIGM9
T18oZls0ODI3Nl18MCxiKzF8MCl8MDtmWzQ4Mjc2XT1jO2ZbNDgyNzVdPWJ9ZWxzZSBjPWZbNDgy
NzZdfDA7dTEoYyxhKXwwO2ZbNDgyNjBdPWZbNDgyNzZdO3JldHVybn1mdW5jdGlvbiB4QShhKXth
PWF8MDtyZXR1cm4gTF8oYSl8MH1mdW5jdGlvbiB5QShhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAs
Zz0wLGg9MCxpPTAsaj0wLGs9MCxsPTA7bD10O3Q9dCsyMTEyfDA7az1sKzIwODB8MDtpPWwrMjA3
MnwwO2g9bCsyMDY0fDA7Zz1sKzIwNTZ8MDtlPWwrMjA0OHwwO2M9bDtqPWwrMjA4OHwwO2F4KGos
MTAyNCxsKzEwMjR8MCk7ZD1mWzQ4MjYwXXwwO2lmKGR8MCl7ZHgoaixkKXwwO2R4KGosMTA2MDcy
KXwwfWR4KGosYSl8MDtmW2U+PjJdPWZbMTgxNDVdO2QkKGMsMTA2MDc1LGUpfDA7ZHgoaixjKXww
O2E6ZG8gaWYoIShiW2ZbNDgyNThdPj4wXXwwKSlzd2l0Y2goKChmWzQ4MjY1XXwwKSstMXwwKS8y
fDB8MCl7Y2FzZSAyOntmW2c+PjJdPTE2Mzg0O2QkKGMsMTA2MDk1LGcpfDA7ZHgoaixjKXwwO2E9
Zls0ODI3Ml18MDtpZighKGJbYT4+MF18MCkpYnJlYWsgYTtpPWMwKGEpfDA7ZHgoaiwxMDYxNTcp
fDA7YT1mWzQ4MjcyXXwwO2lmKChpfDApPjgwKWJbYSs4MD4+MF09MDtkeChqLGEpfDA7YnJlYWsg
YX1jYXNlIDM6e2ZbaD4+Ml09MTYzODQ7ZCQoYywxMDYxNzYsaCl8MDtkeChqLGMpfDA7YT1mWzQ4
MjcyXXwwO2lmKCEoYlthPj4wXXwwKSlicmVhayBhO2k9YzAoYSl8MDtkeChqLDEwNjI0NCl8MDth
PWZbNDgyNzJdfDA7aWYoKGl8MCk+ODApYlthKzgwPj4wXT0wO2R4KGosYSl8MDticmVhayBhfWNh
c2UgMTp7ZltpPj4yXT0xNjM4NDtkJChjLDEwNjI2MyxpKXwwO2R4KGosYyl8MDticmVhayBhfWRl
ZmF1bHQ6YnJlYWsgYX1lbHNle2R4KGosMTA2MDg3KXwwO2R4KGosZls0ODI1OF18MCl8MDtjPWor
NHwwO2E9ZltjPj4yXXwwO2lmKGE+Pj4wPj0oZltqKzg+PjJdfDApPj4+MCl7YngoaiwxKXwwO2E9
ZltjPj4yXXwwfWZbYz4+Ml09YSsxO2JbYT4+MF09Mzl9d2hpbGUoMCk7ZD1qKzR8MDthPWZbZD4+
Ml18MDtjPWorOHwwO2lmKGE+Pj4wPj0oZltjPj4yXXwwKT4+PjApe2J4KGosMSl8MDthPWZbZD4+
Ml18MH1mW2Q+PjJdPWErMTtiW2E+PjBdPTEwO2E9ZltkPj4yXXwwO2lmKGE+Pj4wPj0oZltjPj4y
XXwwKT4+PjApe2J4KGosMSl8MDthPWZbZD4+Ml18MH1iW2E+PjBdPTA7aT1mW2o+PjJdfDA7Zltk
Pj4yXT1pO2Zbaz4+Ml09aTtZdygxLDEwNTk1OCxrKXwwO2V4KGopO3Q9bDtyZXR1cm59ZnVuY3Rp
b24gekEoKXtBQShmWzQ4MjU4XXwwKTtyZXR1cm59ZnVuY3Rpb24gQUEoYSl7YT1hfDA7dmFyIGM9
MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDtqPWZbNDgyNjddfDA7YltqPj4w
XT1iWzE5NDg2NF18MDtpPWZbNDgyNjZdfDA7ZD1mW2k+PjJdfDA7Yz1mW2QrND4+Ml18MDtpZihq
Pj4+MDwoYysyfDApPj4+MCl7ZT1jKygoZls0ODI3MV18MCkrMil8MDtnPWMrKChmW2QrMTI+PjJd
fDApKzIpfDA7az1jO2g9ZDt3aGlsZSgxKXtpZihlPj4+MDw9az4+PjApYnJlYWs7ZD1lKy0xfDA7
az1nKy0xfDA7YltrPj4wXT1iW2Q+PjBdfDA7aD1mW2k+PjJdfDA7ZT1kO2c9aztrPWZbaCs0Pj4y
XXwwfWQ9Zy1lfDA7Yz1qK2R8MDtqPWZbaCsxMj4+Ml18MDtmWzQ4MjcxXT1qO2ZbaCsxNj4+Ml09
ajtpZihjPj4+MDwoaysyfDApPj4+MClxQSgxMDYzMjIpO2Vsc2V7bD1hK2R8MDttPWN9fWVsc2V7
bD1hO209an1hPW0rLTF8MDtiW2E+PjBdPTY0O2ZbNDgyNThdPWw7YlsxOTQ4NjRdPWJbYT4+MF18
MDtmWzQ4MjY3XT1hO3JldHVybn1mdW5jdGlvbiBCQSgpe3ZhciBhPTA7YT1mWzQ4MjY2XXwwO2lm
KCFhKWE9MDtlbHNlIGE9ZlthPj4yXXwwO3VBKGEpO3JldHVybn1mdW5jdGlvbiBDQShhLGIsYyl7
YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wO2Q9dDt0PXQrODB8MDtlPWQ7Zz1hKzUy
fDA7T0EoYSxmW2c+PjJdfDAsNzIyMjgpO2E9ZSs4fDA7ZlthPj4yXT1iO2ZbYSs0Pj4yXT1jO2M9
ZltnPj4yXXwwO2M9d2JbZltjPj4yXSY2M10oYyxlLDQpfDA7dD1kO3JldHVybiBjfDB9ZnVuY3Rp
b24gREEoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MDtlPUNBKGEsYyxk
KXwwO2lmKCFlKXtlPVZ5KGEsNzIpfDA7ZltlKzY0Pj4yXT1mW2ErNjQ+PjJdO2c9ZSsyNHwwO2g9
ZlthKzI0Pj4yXXwwO2ZbZz4+Ml09aDtiW2c+PjBdPWgmMjU1Ji05O2ZbZSs1Nj4+Ml09YTtmW2Ur
NjA+PjJdPWZbYSs2MD4+Ml07YT1lKzh8MDtmW2E+PjJdPWM7ZlthKzQ+PjJdPWQ7Z3koZSl8MH1y
ZXR1cm4gZXwwfWZ1bmN0aW9uIEVBKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9
MCxnPTA7Zz10O3Q9dCsxNnwwO2U9ZztpZighKCgoYnwwKSE9MD8oeHkoYSwwLGIsZSwwKXwwKSE9
MDowKT8oZD1lLGQ9Q0EoYSxmW2Q+PjJdfDAsZltkKzQ+PjJdfDApfDAsKGR8MCkhPTApOjApKWlm
KChjfDApIT0wPyh4eShhLDAsYixlLDEpfDApIT0wOjApe2Q9ZTtkPURBKGEsZltkPj4yXXwwLGZb
ZCs0Pj4yXXwwKXwwO0J5KGEsMCxkKX1lbHNlIGQ9MDt0PWc7cmV0dXJuIGR8MH1mdW5jdGlvbiBG
QShhKXthPWF8MDthPWZbYSs1Mj4+Ml18MDtyZXR1cm4gd2JbZlthPj4yXSY2M10oYSwwLDEyOCl8
MH1mdW5jdGlvbiBHQShhKXthPWF8MDt2YXIgYj0wO2I9SEEoYSl8MDtpZighYilhPTA7ZWxzZXti
PWZbYis1Mj4+Ml18MDthPXdiW2ZbYj4+Ml0mNjNdKGIsYSw4KXwwfXJldHVybiBhfDB9ZnVuY3Rp
b24gSEEoYSl7YT1hfDA7cmV0dXJuIGZbYSs1Nj4+Ml18MH1mdW5jdGlvbiBJQShhLGIpe2E9YXww
O2I9YnwwO2E9ZlthKzUyPj4yXXwwO3JldHVybiB3YltmW2E+PjJdJjYzXShhLGIsMil8MH1mdW5j
dGlvbiBKQShhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDthPWZbNDgyNzhdfDA7ZD0o
YnwwKSE9MDtkbyBpZighYSlpZihkKXtNXyhiKTthPTA7YnJlYWt9ZWxzZXthPUxfKGMpfDA7YnJl
YWt9ZWxzZSBpZihkKXtXeShhLGIpO2E9MDticmVha31lbHNle2E9VnkoYSxjKXwwO2JyZWFrfXdo
aWxlKDApO3JldHVybiBhfDB9ZnVuY3Rpb24gS0EoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2E9
Zls0ODI3OF18MDtpZighYSlNXyhiKTtlbHNlIFd5KGEsYik7cmV0dXJufWZ1bmN0aW9uIExBKGEs
YixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MDtkPWIrMjh8MDtlPWZbZD4+Ml18MDtm
W2Q+PjJdPTc7Zls0ODI3OF09YTtjPUx3KGIsYyl8MDtmW2Q+PjJdPWU7Zls0ODI3OF09MDtyZXR1
cm4gY3wwfWZ1bmN0aW9uIE1BKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtmWzQ4Mjc4XT1hO3Jl
dHVybiB3YltmW2I+PjJdJjYzXShiLGMsMil8MH1mdW5jdGlvbiBOQShhLGIpe2E9YXwwO2I9Ynww
O3ZhciBjPTAsZD0wO2M9KFR3KGIsMCwwKXwwKSsyOHwwO2Q9ZltjPj4yXXwwO2ZbYz4+Ml09Nztm
WzQ4Mjc4XT1hO2lmKCEoSHcoYil8MCkpe2ZbYz4+Ml09ZDtmWzQ4Mjc4XT0wO2E9MH1lbHNlIGE9
MTtyZXR1cm4gYXwwfWZ1bmN0aW9uIE9BKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtpZihjfDA/
KFR3KGIsMCwwKXwwKSE9KGN8MCk6MClUdyhiLGMsMCl8MDtyZXR1cm59ZnVuY3Rpb24gUEEoYSxi
KXthPWF8MDtiPWJ8MDtpZighKF96KGEpfDApKWI9UkEoYSxiKXwwO2Vsc2UgUUEoYSxiKXwwO3Jl
dHVybiBifDB9ZnVuY3Rpb24gUUEoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxmPTA7Yltj
Pj4wXT02MDtlPWM7d2hpbGUoMSl7ZD1lKzF8MDtmPWJbYT4+MF18MDtpZighKGY8PDI0Pj4yNCkp
YnJlYWs7YltkPj4wXT1mO2E9YSsxfDA7ZT1kfWJbZD4+MF09NjI7YltlKzI+PjBdPTA7cmV0dXJu
IGN8MH1mdW5jdGlvbiBSQShhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0w
LGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wO2E6ZG8gaWYoKGF8MCkhPTA/KGJb
YT4+MF18MCkhPTA6MCl7YltjPj4wXT0zNDtsPWJbYT4+MF18MDtlPTA7aj0oKGwrLTQ1JjI1NSk8
MnwoKGwmMjU1KSstNDh8MCk+Pj4wPDEwKSYxO2c9MDtrPTA7aD0wO2k9YysxfDA7ZD1hO2I6d2hp
bGUoMSl7cT0oZXwwKSE9MDt3aGlsZSgxKXtkPWQrMXwwO2lmKCEobDw8MjQ+PjI0KSlicmVhayBi
O2U9bCYyNTU7YzpkbyBpZihsPDwyND4+MjQ9PTM0KXtiW2k+PjBdPTkyO249ajtnPTE7bz1rO209
aSsxfDB9ZWxzZXtpZighail7bz1sPDwyND4+MjQ+LTEmKGw8PDI0Pj4yNCE9OTUmKF8yKGUpfDAp
PT0wKTtuPTA7Zz1vPzE6ZztvPWs7bT1pO2JyZWFrfXN3aXRjaChsPDwyND4+MjQpe2Nhc2UgNDU6
e289KGh8MCk9PTA7bj1vP2o6MDtnPW8/ZzoxO289azttPWk7YnJlYWsgY31jYXNlIDQ2OntvPShr
fDApPT0wO249bz9qOjA7Zz1vP2c6MTtvPWsrMXwwO209aTticmVhayBjfWRlZmF1bHQ6e289KGUr
LTQ4fDApPj4+MDwxMDtuPW8/ajowO2c9bz9nOjE7bz1rO209aTticmVhayBjfX19d2hpbGUoMCk7
aT1tKzF8MDtiW20+PjBdPWw7cD1iW2Q+PjBdfDA7aD1oKzF8MDtlPWZbMTgxNDZdfDA7aWYoZSl7
aj1wJjI1NTtrPXA8PDI0Pj4yNCE9MDtpZigocSZrPyEobDw8MjQ+PjI0PT05MnxsPDwyND4+MjQ+
LTEmKChsKy00NSYyNTUpPjEmKF8yKGw8PDI0Pj4yNCl8MCk9PTApXjEpOjApPyEocDw8MjQ+PjI0
Pi0xJigocCstNDUmMjU1KT4xJihfMihqKXwwKT09MCkpOjApe3I9MTg7YnJlYWt9aWYoISgoaHww
KTwoZXwwKXxrXjEpKXtpZihsPDwyND4+MjQ9PTkyfGw8PDI0Pj4yND4tMSYoKGwrLTQ1JjI1NSk+
MSYoXzIobDw8MjQ+PjI0KXwwKT09MCleMSl7ZT0xO2JyZWFrfWlmKHA8PDI0Pj4yND4tMSYoKHAr
LTQ1JjI1NSk+MSYoXzIoail8MCk9PTApKXtlPTE7YnJlYWt9YltpPj4wXT05MjtiW20rMj4+MF09
MTA7ZT0xO2g9MDtpPW0rM3wwfWVsc2UgZT1nfWVsc2UgZT1nO2o9bjtnPWU7az1vO2w9cH1pZigo
cnwwKT09MTgpe3I9MDtiW2k+PjBdPTkyO2JbbSsyPj4wXT0xMDtlPTA7Zz0xO2g9MDtpPW0rM3ww
fWo9bjtrPW87bD1wfWJbaT4+MF09MzQ7YltpKzE+PjBdPTA7aWYoIWcpe2lmKChofDApPT0xPygo
YlthPj4wXXwwKSstNDUmMjU1KTwyOjApe2E9YzticmVha31kPTg3MDQ7d2hpbGUoMSl7ZT1mW2Q+
PjJdfDA7aWYoIWUpYnJlYWsgYTtpZighKGIzKGUsYSl8MCkpe2E9YzticmVha31lbHNlIGQ9ZCs0
fDB9fWVsc2UgYT1jfWVsc2UgYT0xMDYzNTQ7d2hpbGUoMCk7cmV0dXJuIGF8MH1mdW5jdGlvbiBT
QShhKXthPWF8MDtyZXR1cm4gUEEoYSxUQShhKXwwKXwwfWZ1bmN0aW9uIFRBKGEpe2E9YXwwO3Zh
ciBiPTA7Yj0oKGMwKGEpfDApPDwxKSsyfDA7Yj1iPj4+MD4xMDI0P2I6MTAyNDthPWZbNDgyODBd
fDA7aWYoYj4+PjA+KGZbNDgyNzldfDApPj4+MCl7aWYoIWEpYT1MXyhiKXwwO2Vsc2UgYT1PXyhh
LGIpfDA7Zls0ODI4MF09YTtmWzQ4Mjc5XT1ifXJldHVybiBhfDB9ZnVuY3Rpb24gVUEoYSxiKXth
PWF8MDtiPWJ8MDthPUZBKGEpfDA7d2hpbGUoMSl7aWYoIWEpe2E9MDticmVha31pZigoVkEoYSl8
MCk9PTA/ZXooYSxiLDApfDA6MCl7YT0xO2JyZWFrfWE9R0EoYSl8MH1yZXR1cm4gYXwwfWZ1bmN0
aW9uIFZBKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MDtoPUF5KGEpfDA7aWYo
KGh8MCkhPTA/KGJbaD4+MF18MCkhPTM3OjApYz0wO2Vsc2UgZD0zO2E6ZG8gaWYoKGR8MCk9PTMp
e2M9bXgoYSl8MDtiOmRvIGlmKGN8MD8oZT1teChIQShhKXwwKXwwLGV8MCk6MCl7aD0obXgob3oo
YSl8MCl8MCkrOHwwO2g9TncoZltoPj4yXXwwKXwwO2c9YysxMnwwO2Q9ZSsxMnwwO2M9MDt3aGls
ZSgxKXtpZigoY3wwKT49KGh8MCkpYnJlYWsgYjtlPWZbKGZbZz4+Ml18MCkrKGM8PDIpPj4yXXww
O2lmKChlfDA/KGk9ZlsoZltkPj4yXXwwKSsoYzw8Mik+PjJdfDAsaXwwKTowKT9IJChlLGkpfDA6
MCl7Yz0wO2JyZWFrIGF9Yz1jKzF8MH19d2hpbGUoMCk7Yz1oeChhLDApfDA7aWYoYylpZigoTnco
ZltjKzg+PjJdfDApfDApPjApYz0wO2Vsc2UgcmV0dXJuIChOdyhmW2MrMTI+PjJdfDApfDApPDF8
MDtlbHNlIGM9MX13aGlsZSgwKTtyZXR1cm4gY3wwfWZ1bmN0aW9uIFdBKGEsYyl7YT1hfDA7Yz1j
fDA7dmFyIGQ9MCxlPTA7Zls0ODI4MV09MDtkPUd4KGEsMTA2MzY0KXwwO2lmKChkfDA/KChiW2Q+
PjBdfDApKy00OHwwKT4+PjA8MTA6MCk/KGU9ejIoZCwwLDEwKXwwLChlfDApPT0wfChlfDApPjU5
KTowKWZbMTgxNDZdPWU7WEEoYSwxKTtpZigoKFlBKGEsYywxKXwwKSE9LTE/KFpBKGEsYyl8MCkh
PS0xOjApPyhfQShhLGMpfDApIT0tMTowKXtmWzE4MTQ2XT0xMjg7YT10YltmWyhmWyhmW2ErNjQ+
PjJdfDApKzg+PjJdfDApKzg+PjJdJjYzXShjKXwwfWVsc2UgYT0tMTtyZXR1cm4gYXwwfWZ1bmN0
aW9uIFhBKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtmW2E+PjJdPWZbYT4+Ml0mLTk7Yz1GQShh
KXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO1hBKGMsMCk7Yz1HQShjKXwwfWE6ZG8gaWYoYnwwKXti
PSR5KGEpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWsgYTtmW2I+PjJdPWZbYj4+Ml0mLTk7Yz1OeChh
LGIpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7ZltjPj4yXT1mW2M+PjJdJi05O2M9UHgoYSxjKXww
fWI9YXooYSxiKXwwfX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gWUEoYSxjLGQpe2E9YXwwO2M9
Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtpZigoZHwwKT09MD8oSEEoYSl8
MCkhPTA6MCl7aT0wO2c9MTk0ODcwO2s9MTE3ODQwfWVsc2V7az0oYlthKzI0Pj4wXSYxKT09MD8x
OTQ4NzA6MTA2NDA4O2c9KHB5KGEpfDApPT0wO2k9d3goYSwyLDExOTcyNSwwKXwwO2ZbNDgyODJd
PWk7aT13eChhLDIsMTE5NzM0LDApfDA7Zls0ODI4M109aTtpPTE7Zz1nPzE5NDg3MDoxMDY0MTF9
ZT1BeShhKXwwO2lmKChlfDApIT0wPyhiW2U+PjBdfDApIT0zNzowKXtoPTE7aj0xMTA5MzB9ZWxz
ZXtoPTA7aj0xOTQ4NzA7ZT0xOTQ4NzB9ZG8gaWYoKCRBKGEsYyl8MCkhPS0xPyhhQihhLGMsZyl8
MCkhPS0xOjApe2c9KGh8MCk9PTA7aWYoaHxpfDApe2lmKChhQihhLGMsayl8MCk9PS0xKXtlPS0x
O2JyZWFrfWlmKChhQihhLGMsMTEwOTIzKXwwKT09LTEpe2U9LTE7YnJlYWt9fWlmKCFnPyhsQihh
LGMsZSl8MCk9PS0xOjApe2U9LTE7YnJlYWt9aWYoKChhQihhLGMsail8MCkhPS0xPyhhQihhLGMs
MTA2NDE5KXwwKSE9LTE6MCk/KGZbNDgyODFdPShmWzQ4MjgxXXwwKSsxLChxQihhLGMsZCl8MCkh
PS0xKTowKXtmW2E+PjJdPWZbYT4+Ml18ODtlPTB9ZWxzZSBlPS0xfWVsc2UgZT0tMTt3aGlsZSgw
KTtyZXR1cm4gZXwwfWZ1bmN0aW9uIFpBKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0w
LGc9MCxoPTAsaT0wLGo9MCxrPTA7YTpkbyBpZigoYkIoYSxiKXwwKT09LTEpYz0tMTtlbHNle2s9
aHgob3ooYSl8MCwwKXwwO2k9KGt8MCk9PTA7aj1rKzEyfDA7az1rKzh8MDtoPSR5KGEpfDA7d2hp
bGUoMSl7aWYoIWgpe2M9MDticmVhayBhfWlmKGNCKGEsaCwoZltoPj4yXXwwKT4+PjQsMCl8MCl7
aWYoaSljPTA7ZWxzZSBjPWZbaz4+Ml18MDtpZigoZEIoaCxiLGMpfDApPT0tMSl7Yz0tMTticmVh
ayBhfX1nPU54KGEsaCl8MDtjPWg7d2hpbGUoMSl7aWYoIWcpYnJlYWs7ZT1nKy00OHwwO2Q9Zlso
KGZbZz4+Ml0mM3wwKT09Mj9nOmUpKzQwPj4yXXwwO2lmKChjfDApIT0oZHwwKT8oY0IoYSxkLChm
W2g+PjJdfDApPj4+NCwwKXwwKSE9MDowKXtpZihpKWM9MDtlbHNlIGM9ZltrPj4yXXwwO2lmKChk
QihmWygoZltnPj4yXSYzfDApPT0yP2c6ZSkrNDA+PjJdfDAsYixjKXwwKT09LTEpe2M9LTE7YnJl
YWsgYX1jPWZbKChmW2c+PjJdJjN8MCk9PTI/ZzplKSs0MD4+Ml18MH1pZihlQihhLGcpfDApe2lm
KGkpZD0wO2Vsc2UgZD1mW2o+PjJdfDA7aWYoKGZCKGcsYixkKXwwKT09LTEpe2M9LTE7YnJlYWsg
YX19Zz1QeChhLGcpfDB9aD1heihhLGgpfDB9fXdoaWxlKDApO3JldHVybiBjfDB9ZnVuY3Rpb24g
X0EoYSxiKXthPWF8MDtiPWJ8MDtmWzQ4MjgxXT0oZls0ODI4MV18MCkrLTE7aWYoKCRBKGEsYil8
MCk9PS0xKWE9LTE7ZWxzZSBhPSgoYUIoYSxiLDExOTMzNCl8MCk9PS0xKTw8MzE+PjMxO3JldHVy
biBhfDB9ZnVuY3Rpb24gJEEoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wO2M9Zls0ODI4MV18MDt3
aGlsZSgxKXtpZigoY3wwKTw9MCl7Yz0wO2JyZWFrfWlmKChhQihhLGIsMTUxMTIwKXwwKT09LTEp
e2M9LTE7YnJlYWt9ZWxzZSBjPWMrLTF8MH1yZXR1cm4gY3wwfWZ1bmN0aW9uIGFCKGEsYixjKXth
PWF8MDtiPWJ8MDtjPWN8MDtyZXR1cm4gdWJbZlsoZlsoZlthKzY0Pj4yXXwwKSs4Pj4yXXwwKSs0
Pj4yXSYxMjddKGIsYyl8MH1mdW5jdGlvbiBiQihhLGIpe2E9YXwwO2I9YnwwO2E9RkEoYSl8MDt3
aGlsZSgxKXtpZighYSl7YT0wO2JyZWFrfWlmKCEoVkEoYSl8MCkpe2lmKChZQShhLGIsMCl8MCk9
PS0xKXthPS0xO2JyZWFrfWlmKChaQShhLGIpfDApPT0tMSl7YT0tMTticmVha31pZigoX0EoYSxi
KXwwKT09LTEpe2E9LTE7YnJlYWt9fWVsc2UgYkIoYSxiKXwwO2E9R0EoYSl8MH1yZXR1cm4gYXww
fWZ1bmN0aW9uIGNCKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTA7aWYo
KFVBKGEsYil8MCk9PTA/KG5CKGEsYixjLGQpfDApIT0wOjApaWYoKG9CKGEsYil8MCk9PTA/KHBC
KGIpfDApPT0wOjApZT01O2Vsc2UgYT0xO2Vsc2UgZT01O2lmKChlfDApPT01KWE9MDtyZXR1cm4g
YXwwfWZ1bmN0aW9uIGRCKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wO2Q9bnooYSl8
MDtkbyBpZigoJEEoZCxiKXwwKSE9LTE/KGdCKGEsYil8MCkhPS0xOjApe2lmKChpQihhKXwwKT09
MD8oakIoYSxiLGMpfDApPT0tMTowKXthPS0xO2JyZWFrfWE9YUIoZCxiLDEwNjM3NSl8MH1lbHNl
IGE9LTE7d2hpbGUoMCk7cmV0dXJuIGF8MH1mdW5jdGlvbiBlQihhLGIpe2E9YXwwO2I9YnwwO2E9
RkEoYSl8MDt3aGlsZSgxKXtpZighYSl7YT0xO2JyZWFrfWlmKChWQShhKXwwKT09MD9jeShhLGIs
MCl8MDowKXthPTA7YnJlYWt9YT1HQShhKXwwfXJldHVybiBhfDB9ZnVuY3Rpb24gZkIoYSxiLGMp
e2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MDtkPWZbYT4+Ml0mMztnPWZbKChkfDAp
PT0zP2E6YSs0OHwwKSs0MD4+Ml18MDtkPWZbKChkfDApPT0yP2E6YSstNDh8MCkrNDA+PjJdfDA7
ZT1ueihnKXwwO2RvIGlmKCgoKCgoJEEoZSxiKXwwKSE9LTE/KGdCKGcsYil8MCkhPS0xOjApPyho
QihhLGIsZls0ODI4Ml18MCl8MCkhPS0xOjApPyhnPShueShueihnKXwwKXwwKT09MCwoYUIoZSxi
LGc/MTA4NDA1OjEwODQxMCl8MCkhPS0xKTowKT8oZ0IoZCxiKXwwKSE9LTE6MCk/KGhCKGEsYixm
WzQ4MjgzXXwwKXwwKSE9LTE6MCl7aWYoIShpQihhKXwwKSl7aWYoKGpCKGEsYixjKXwwKT09LTEp
e2E9LTE7YnJlYWt9fWVsc2UgaWYoKGtCKGEsYiwxKXwwKT09LTEpe2E9LTE7YnJlYWt9YT1hQihl
LGIsMTA2Mzc1KXwwfWVsc2UgYT0tMTt3aGlsZSgwKTtyZXR1cm4gYXwwfWZ1bmN0aW9uIGdCKGEs
Yil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MDtpPXQ7dD10KzMy
fDA7Zz1pKzI0fDA7Yz1pO2Q9QXkoYSl8MDtlPW56KGEpfDA7aWYoIWQpe2o9YSs4fDA7YT1mW2or
ND4+Ml18MDtkPWc7ZltkPj4yXT1mW2o+PjJdO2ZbZCs0Pj4yXT1hO2QkKGMsMTA2Mzk1LGcpfDA7
aWYoKGFCKGUsYixjKXwwKT09LTEpYT0tMTtlbHNlIGg9NH1lbHNlIGlmKChsQihlLGIsZCl8MCk9
PS0xKWE9LTE7ZWxzZSBoPTQ7aWYoKGh8MCk9PTQpYT0wO3Q9aTtyZXR1cm4gYXwwfWZ1bmN0aW9u
IGhCKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGY9MDthOmRvIGlmKChkfDApIT0w
PyhlPW56KGEpfDAsZj1IeChhLGQpfDAsKGJbZj4+MF18MCkhPTApOjApaWYoKGFCKGUsYywxMTYz
MTApfDApPT0tMSlhPS0xO2Vsc2V7ZG8gaWYoX3ooZil8MCl7aWYoKGxCKGUsYyxmKXwwKT09LTEp
e2E9LTE7YnJlYWsgYX19ZWxzZXthPXgxKGYsNTgpfDA7aWYoIWEpaWYoKG1CKGUsYyxmLDApfDAp
PT0tMSl7YT0tMTticmVhayBhfWVsc2UgYnJlYWs7YlthPj4wXT0wO2lmKChtQihlLGMsZiwwKXww
KT09LTEpe2E9LTE7YnJlYWsgYX1pZigoYUIoZSxjLDExNjMxMCl8MCk9PS0xKXthPS0xO2JyZWFr
IGF9aWYoKG1CKGUsYyxhKzF8MCwwKXwwKT09LTEpe2E9LTE7YnJlYWsgYX1iW2E+PjBdPTU4fXdo
aWxlKDApO2E9MH1lbHNlIGE9MDt3aGlsZSgwKTtyZXR1cm4gYXwwfWZ1bmN0aW9uIGlCKGEpe2E9
YXwwO3JldHVybiAoZlthPj4yXXwwKT4+PjMmMXwwfWZ1bmN0aW9uIGpCKGEsYixjKXthPWF8MDti
PWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2E6ZG8gaWYoIShmW2E+
PjJdJjIpKXtkPTA7az00fWVsc2V7ZD1rQihhLGIsMCl8MDtzd2l0Y2goZHwwKXtjYXNlIC0xOmJy
ZWFrIGE7Y2FzZSAwOntrPTQ7YnJlYWsgYX1kZWZhdWx0Ont9fWQ9MTtrPTR9d2hpbGUoMCk7Yjpk
byBpZigoa3wwKT09NCl7ZT1teChhKXwwO2o9bnooYSl8MDtjOmRvIGlmKGUpe2k9ZSsxMnwwO2g9
d2JbZltjPj4yXSY2M10oYywwLDEyOCl8MDt3aGlsZSgxKXtpZighaClicmVhayBjO2RvIGlmKGZb
YT4+Ml0mMil7Zz1mWzQ4MjgyXXwwO2lmKGd8MD8oZltoKzE2Pj4yXXwwKT09KGZbZysxNj4+Ml18
MCk6MClicmVhaztnPWZbNDgyODNdfDA7aWYoISgoZ3wwKSE9MD8oZltoKzE2Pj4yXXwwKT09KGZb
ZysxNj4+Ml18MCk6MCkpaz0xMn1lbHNlIGs9MTI7d2hpbGUoMCk7aWYoKGt8MCk9PTEyKXtrPTA7
ZT1oKzE2fDA7aWYoKGZbKGZbaT4+Ml18MCkrKGZbZT4+Ml08PDIpPj4yXXwwKSE9KGZbaCsxMj4+
Ml18MCkpe2c9ZCsxfDA7aWYoZCl7aWYoKGFCKGosYiwxMDYzOTApfDApPT0tMSl7ZD0tMTticmVh
ayBifWlmKCgkQShqLGIpfDApPT0tMSl7ZD0tMTticmVhayBifX1lbHNle2lmKCgkQShqLGIpfDAp
PT0tMSl7ZD0tMTticmVhayBifWlmKChhQihqLGIsMTA2Mzg3KXwwKT09LTEpe2Q9LTE7YnJlYWsg
Yn1mWzQ4MjgxXT0oZls0ODI4MV18MCkrMX1pZigobEIoaixiLGZbaCs4Pj4yXXwwKXwwKT09LTEp
e2Q9LTE7YnJlYWsgYn1pZigoYUIoaixiLDEwNjM5Myl8MCk9PS0xKXtkPS0xO2JyZWFrIGJ9aWYo
KGxCKGosYixmWyhmW2k+PjJdfDApKyhmW2U+PjJdPDwyKT4+Ml18MCl8MCk9PS0xKXtkPS0xO2Jy
ZWFrIGJ9ZWxzZSBkPWd9fWg9d2JbZltjPj4yXSY2M10oYyxoLDgpfDB9fXdoaWxlKDApO2lmKChk
fDApPjApe2lmKChhQihqLGIsMTA2Mzg1KXwwKT09LTEpe2Q9LTE7YnJlYWt9Zls0ODI4MV09KGZb
NDgyODFdfDApKy0xfWZbYT4+Ml09ZlthPj4yXXw4O2Q9MH13aGlsZSgwKTtyZXR1cm4gZHwwfWZ1
bmN0aW9uIGtCKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGY9MDtlPUF5KGEpfDA7
YT1ueihhKXwwO2lmKChlfDApIT0wPyhiW2U+PjBdfDApIT0wOjApaWYoKGFCKGEsYywxMDYzNzgp
fDApIT0tMT8obEIoYSxjLGUpfDApIT0tMTowKWlmKChkfDApIT0wPyhhQihhLGMsMTA2Mzg1KXww
KT09LTE6MClhPS0xO2Vsc2V7YT0xO2Y9N31lbHNlIGE9LTE7ZWxzZXthPTA7Zj03fXJldHVybiBh
fDB9ZnVuY3Rpb24gbEIoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3JldHVybiBtQihhLGIsYywx
KXwwfWZ1bmN0aW9uIG1CKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2lmKCFkKWM9
UkEoYyxUQShjKXwwKXwwO2Vsc2UgYz1TQShjKXwwO3JldHVybiBhQihhLGIsYyl8MH1mdW5jdGlv
biBuQihhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDthOmRvIGlmKDA8ZD4+PjB8KDA9
PShkfDApPyhmW2I+PjJdfDApPj4+ND4+PjA8Yz4+PjA6MCkpYj0wO2Vsc2V7Yj1ReChhLGIpfDA7
d2hpbGUoMSl7aWYoIWIpe2I9MTticmVhayBhfWlmKDA8ZD4+PjB8KDA9PShkfDApPyhmW2ZbYis0
MD4+Ml0+PjJdfDApPj4+ND4+PjA8Yz4+PjA6MCkpe2I9MDticmVhayBhfWI9UngoYSxiKXwwfX13
aGlsZSgwKTtyZXR1cm4gYnwwfWZ1bmN0aW9uIG9CKGEsYil7YT1hfDA7Yj1ifDA7aWYoIShReChh
LGIpfDApKWE9KE54KGEsYil8MCk9PTAmMTtlbHNlIGE9MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIHBC
KGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MDthPW14KGEpfDA7YTpkbyBpZighYSlhPTA7ZWxzZXtj
PWErOHwwO2Q9ZltjPj4yXXwwO2I9YSsxMnwwO2E9d2JbZltkPj4yXSY2M10oZCwwLDEyOCl8MDt3
aGlsZSgxKXtpZighYSl7YT0wO2JyZWFrIGF9aWYoKGZbKGZbYj4+Ml18MCkrKGZbYSsxNj4+Ml08
PDIpPj4yXXwwKSE9KGZbYSsxMj4+Ml18MCkpe2E9MTticmVhayBhfWQ9ZltjPj4yXXwwO2E9d2Jb
ZltkPj4yXSY2M10oZCxhLDgpfDB9fXdoaWxlKDApO3JldHVybiBhfDB9ZnVuY3Rpb24gcUIoYSxi
LGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wO2Q9aHgoYSwwKXwwO2lmKGQpaWYoKChy
QihhLGIsMTE5NzY0LGZbZCsxNj4+Ml18MCxjKXwwKSE9LTE/KHJCKGEsYiwxMTk3NTEsZltkKzg+
PjJdfDAsYyl8MCkhPS0xOjApPyhyQihhLGIsMTE5NzIwLGZbZCsxMj4+Ml18MCxjKXwwKSE9LTE6
MCllPTU7ZWxzZSBhPS0xO2Vsc2UgZT01O2lmKChlfDApPT01KWE9MDtyZXR1cm4gYXwwfWZ1bmN0
aW9uIHJCKGEsYyxkLGUsZyl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MCxp
PTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7bT0oZ3wwKSE9MDtpZihtKWw9MDtlbHNlIGw9UXco
ZSwwKXwwO2s9KGx8MCk9PTA7aj13YltmW2U+PjJdJjYzXShlLDAsMTI4KXwwO2c9MDt3aGlsZSgx
KXtpZighail7bj0yMzticmVha31pPWorMTJ8MDtuPWZbaT4+Ml18MDtpZigobnwwKSE9MD8oYltu
Pj4wXXwwKSE9MDowKW49MTI7ZWxzZSBuPTc7ZG8gaWYoKG58MCk9PTcpe249MDtpZighKGJbaisy
Mj4+MF18MCkpe2lmKCFrKXtoPXdiW2ZbbD4+Ml0mNjNdKGwsaiw0KXwwO289ZltoKzEyPj4yXXww
O2lmKG98MD9iW28+PjBdfDA6MCl7bj0xMjticmVha31pZighKGJbaCsyMj4+MF18MCkpbj0xMn19
ZWxzZSBuPTEyfXdoaWxlKDApO2lmKChufDApPT0xMil7bj0wO2g9ZysxfDA7aWYoZyl7aWYoKGFC
KGEsYywxMDYzOTApfDApPT0tMSl7Zz0tMTticmVha31pZigoJEEoYSxjKXwwKT09LTEpe2c9LTE7
YnJlYWt9fWVsc2V7aWYoKCRBKGEsYyl8MCk9PS0xKXtnPS0xO2JyZWFrfWlmKChhQihhLGMsZCl8
MCk9PS0xKXtnPS0xO2JyZWFrfWlmKChhQihhLGMsMTA2Mzg3KXwwKT09LTEpe2c9LTE7YnJlYWt9
Zls0ODI4MV09KGZbNDgyODFdfDApKzF9aWYoKGxCKGEsYyxmW2orOD4+Ml18MCl8MCk9PS0xKXtn
PS0xO2JyZWFrfWlmKChhQihhLGMsMTA2MzkzKXwwKT09LTEpe2c9LTE7YnJlYWt9aWYoKGxCKGEs
YyxmW2k+PjJdfDApfDApPT0tMSl7Zz0tMTticmVha31lbHNlIGc9aH1qPXdiW2ZbZT4+Ml0mNjNd
KGUsaiw4KXwwfWRvIGlmKChufDApPT0yMyl7aWYoKGd8MCk+MCl7Zls0ODI4MV09KGZbNDgyODFd
fDApKy0xO2lmKChnfDApIT0xKXtpZigoYUIoYSxjLDE1MTEyMil8MCk9PS0xKXtnPS0xO2JyZWFr
fWlmKCgkQShhLGMpfDApPT0tMSl7Zz0tMTticmVha319Zz0oYUIoYSxjLDEwNjQyMil8MCk9PS0x
O2lmKG18Zyl7Zz1nPDwzMT4+MzE7YnJlYWt9fWVsc2UgaWYobSl7Zz0wO2JyZWFrfVF3KGUsbCl8
MDtnPTB9d2hpbGUoMCk7cmV0dXJuIGd8MH1mdW5jdGlvbiBzQihhLGIsYyxkLGUpe2E9YXwwO2I9
YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTA7c3dpdGNoKGZbYj4+Ml0mMyl7Y2FzZSAwOntn
PTgwO2JyZWFrfWNhc2UgMTp7Zz04MTticmVha31jYXNlIDM6Y2FzZSAyOntnPTgyO2JyZWFrfWRl
ZmF1bHQ6e319Yj11YltnJjEyN10oYSxiKXwwO2lmKCFiKWI9LTE7ZWxzZXt3QihhLGIsYyxkLGcs
ZSk7Yj0wfXJldHVybiBifDB9ZnVuY3Rpb24gdEIoYSxiKXthPWF8MDtiPWJ8MDtpZigobnooYil8
MCkhPShhfDApKWI9Y3koYSxiLDApfDA7cmV0dXJuIGJ8MH1mdW5jdGlvbiB1QihhLGIpe2E9YXww
O2I9YnwwO2lmKChueihiKXwwKSE9KGF8MCkpYj1leihhLGIsMCl8MDtyZXR1cm4gYnwwfWZ1bmN0
aW9uIHZCKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuIGF8MH1mdW5jdGlvbiB3QihhLGIsYyxkLGUs
Zil7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaT0wO2g9
KGZ8MCkhPTA7aWYoaClFYltjJjEyN10oYSxiLGQpO2c9RkEoYSl8MDt3aGlsZSgxKXtpZighZyli
cmVhaztpPXViW2UmMTI3XShnLGIpfDA7aWYoaXwwKXdCKGcsaSxjLGQsZSxmKTtnPUdBKGcpfDB9
aWYoIWgpRWJbYyYxMjddKGEsYixkKTtyZXR1cm59CitmdW5jdGlvbiBVbyhhLGIsYyl7YT1hfDA7
Yj1ifDA7Yz1jfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MDts
PXQ7dD10KzE2fDA7aj1sO2s9KGJ8MCk9PTA7aWYoayl7Vm8oaik7Yj1qfWc9YysxNnwwO2U9RkEo
YSl8MDt3aGlsZSgxKXtpZighZSlicmVhaztpZighKGEkKEF5KGUpfDAsMTE2MzMyLDcpfDApKXtK
eihlLDE0NTc1MywyODAsMSl8MDttPURIKDU2KXwwO289ZltlKzE2Pj4yXXwwO2ZbbysxNDA+PjJd
PW07bj1mW2c+PjJdfDA7ZFtvKzE3Nj4+MV09ZFtuKzE3Nj4+MV18MDtmW20rNDQ+PjJdPShmWyhm
W24rMTQwPj4yXXwwKSs0ND4+Ml18MCkrMTtmW20rNDg+PjJdPWM7V28oYixlKTtVbyhlLDAsZSl9
ZWxzZSBVbyhlLGIsYyk7ZT1HQShlKXwwfWlmKGs/KGg9ZltqKzg+PjJdfDAsaT1hKzE2fDAsZlso
ZltpPj4yXXwwKSsxODA+PjJdPWgsaHwwKTowKXtvPUdIKGZbaj4+Ml18MCwoaDw8MikrNHwwKXww
O2ZbKGZbaT4+Ml18MCkrMTg0Pj4yXT1vfXQ9bDtyZXR1cm59ZnVuY3Rpb24gVm8oYSl7YT1hfDA7
ZlthPj4yXT0wO2ZbYSs0Pj4yXT0wO2ZbYSs4Pj4yXT0wO3JldHVybn1mdW5jdGlvbiBXbyhhLGIp
e2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wO2c9YSs4fDA7Yz0oZltnPj4yXXww
KSsxfDA7ZltnPj4yXT1jO2Q9YSs0fDA7aD1mW2Q+PjJdfDA7ZT1oKzEwfDA7aWYoKGN8MCk8KGh8
MCkpYT1mW2E+PjJdfDA7ZWxzZXtmW2Q+PjJdPWU7Yz1HSChmW2E+PjJdfDAsZTw8Mil8MDtmW2E+
PjJdPWM7YT1jO2M9ZltnPj4yXXwwfWZbYSsoYzw8Mik+PjJdPWI7cmV0dXJufWZ1bmN0aW9uIFhv
KGEpe2E9YXwwO3ZhciBiPTAsYz0wO2I9dDt0PXQrNjR8MDtjPWI7U28oYSxjKTtZbyhhLGMpO1pv
KGEpO19vKGEsYSk7JG8oYSk7dD1iO3JldHVybn1mdW5jdGlvbiBZbyhhLGMpe2E9YXwwO2M9Y3ww
O3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAs
cz0wLjAsdT0wLjAsdj0wLjAsdz0wLjA7cj10O3Q9dCs2NHwwO3E9cis0OHwwO2Q9cis0MHwwO209
cis1NnwwO2w9cis1MnwwO2s9cjtpZigwKXtvPWZbMTk0NTddfDA7bj1BeShhKXwwO2ZbZD4+Ml09
bjtnMihvLDEwMjc2NCxkKXwwfWQ9JHkoYSl8MDt3aGlsZSgxKXtpZighZClicmVhaztmWyhmW2Qr
MTY+PjJdfDApKzE2ND4+Ml09MDtkPWF6KGEsZCl8MH1uPWFwKGEsYyl8MDtvPVJ1KG4sbSxsKXww
O2Q9bzt3aGlsZSgxKXtqPWQrNHwwO2U9ZltkPj4yXXwwO2lmKCFlKWJyZWFrO3JwKGUsayk7ZD0k
eShlKXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrO2c9YXooZSxkKXwwO2g9ZCsxNnwwO2k9ZltoPj4y
XXwwO2lmKCEoZltpKzIxMj4+Ml18MCkpe2lmKCEoZlsoZltpKzExMj4+Ml18MCkrOD4+Ml18MCkp
bXooZSxkKXwwfWVsc2V7ZD1icChkLGUpfDA7WW8oZCxjKTtkPWZbKGZbZCsxNj4+Ml18MCkrMTQw
Pj4yXXwwO3U9K3BbZCsyND4+M107aT1mW2g+PjJdfDA7cFtpKzMyPj4zXT11O3M9K3BbZCszMj4+
M107cFtpKzQwPj4zXT1zO3U9dSozNi4wO3BbaSs4OD4+M109dTtwW2krOTY+PjNdPXU7cFtpKzgw
Pj4zXT1zKjcyLjB9ZD1nfWlmKChqeShlKXwwKT4xKXtpZigoZltjPj4yXXwwKT09KGF8MCkpWnAo
ZSl8MDtFcChlLGspfWQ9an1kPWZbbT4+Ml18MDtpZigoZHwwKTw9MSlpZigoZHwwKT09MSl7dk0o
ZltvPj4yXXwwKTtkPTB9ZWxzZSBkPTA7ZWxzZXtpZighKGZbbD4+Ml18MCkpZT0wO2Vsc2V7ZT1E
SChkKXwwO2JbZT4+MF09MTtkPWZbbT4+Ml18MH1mW2MrNDA+PjJdPWU7ZD1LRChkLG8sMCxjKzIw
fDApfDA7TV8oZSl9Y3AobixmW20+PjJdfDAsbyxkLGEsYyk7TV8oZCk7ZT0keShuKXwwO3doaWxl
KDEpe2lmKCFlKWJyZWFrO2c9ZltlKzE2Pj4yXXwwO2Q9ZltnKzIxMj4+Ml18MDtpZighZCl7ZD1m
WyhmW2crMTEyPj4yXXwwKSs4Pj4yXXwwO2lmKGR8MCl7Yz1mW2crMTMyPj4yXXwwO209ZlsoZltk
KzE2Pj4yXXwwKSsxMzI+PjJdfDA7cFttPj4zXT0rcFtjPj4zXTtwW20rOD4+M109K3BbYys4Pj4z
XX19ZWxzZXtjPWZbZysxMzI+PjJdfDA7dj0rcFtnKzMyPj4zXTt3PStwW2M+PjNdLXYqLjU7bT1m
WyhmW2QrMTY+PjJdfDApKzE0MD4+Ml18MDtwW20rOD4+M109dzt1PStwW2crNDA+PjNdO3M9K3Bb
Yys4Pj4zXS11Ki41O3BbbSsxNj4+M109cztwW20rMjQ+PjNdPXcrdjtwW20rMzI+PjNdPXMrdX1l
PWF6KG4sZSl8MH1tPShmWyhmW2ErMTY+PjJdfDApKzE0MD4+Ml18MCkrOHwwO2M9KGZbKGZbbisx
Nj4+Ml18MCkrMTQwPj4yXXwwKSs4fDA7ZlttPj4yXT1mW2M+PjJdO2ZbbSs0Pj4yXT1mW2MrND4+
Ml07ZlttKzg+PjJdPWZbYys4Pj4yXTtmW20rMTI+PjJdPWZbYysxMj4+Ml07ZlttKzE2Pj4yXT1m
W2MrMTY+PjJdO2ZbbSsyMD4+Ml09ZltjKzIwPj4yXTtmW20rMjQ+PjJdPWZbYysyND4+Ml07Zltt
KzI4Pj4yXT1mW2MrMjg+PjJdO2RwKG4sbyk7TV8obyk7aWYoMCl7bz1mWzE5NDU3XXwwO2E9QXko
YSl8MDtmW3E+PjJdPWE7ZzIobywxMDI3NzUscSl8MH10PXI7cmV0dXJufWZ1bmN0aW9uIFpvKGEp
e2E9YXwwO3ZhciBjPTAsZD0wLGU9MC4wLGc9MC4wLGg9MC4wLGk9MC4wLGo9MDtjPSR5KGEpfDA7
d2hpbGUoMSl7aWYoIWMpYnJlYWs7ZD1mW2MrMTY+PjJdfDA7aWYoYltkKzExOD4+MF18MCl7aj1m
WyhmWyhmW2QrMjEyPj4yXXwwKSsxNj4+Ml18MCkrMTQwPj4yXXwwO2k9K3BbaisyND4+M10tK3Bb
ais4Pj4zXTtoPStwW2orMzI+PjNdLStwW2orMTY+PjNdO2c9aSozNi4wO2U9aCozNi4wO2o9Zltk
KzEzMj4+Ml18MDtwW2o+PjNdPWkqLjU7cFtqKzg+PjNdPWgqLjU7cFtkKzMyPj4zXT1pO3BbZCs0
MD4+M109aDtwW2QrOTY+PjNdPWc7cFtkKzg4Pj4zXT1nO3BbZCs4MD4+M109aCo3Mi4wO2Q9Zlso
ZltkKzEyPj4yXXwwKSs0ND4+Ml18MDtwW2Q+PjNdPWc7cFtkKzg+PjNdPWU7aD0tZztwW2QrMTY+
PjNdPWg7cFtkKzI0Pj4zXT1lO3BbZCszMj4+M109aDtlPS1lO3BbZCs0MD4+M109ZTtwW2QrNDg+
PjNdPWc7cFtkKzU2Pj4zXT1lfWM9YXooYSxjKXwwfXJldHVybn1mdW5jdGlvbiBfbyhhLGIpe2E9
YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MC4wLGc9MC4wLGg9MCxpPTAsaj0wLjAsaz0wLGw9MC4w
LG09MCxuPTAuMCxvPTA7aD1hKzE2fDA7aT1mWyhmW2g+PjJdfDApKzE0MD4+Ml18MDtlPStwW2kr
OD4+M107Zz0rcFtpKzE2Pj4zXTtpPShhfDApIT0oYnwwKTthOmRvIGlmKGkpe2M9JHkoYSl8MDt3
aGlsZSgxKXtpZighYylicmVhayBhO2Q9ZltjKzE2Pj4yXXwwO2lmKChmW2QrMjEyPj4yXXwwKT09
KGF8MCkpe2Q9ZltkKzEzMj4+Ml18MDtwW2Q+PjNdPStwW2Q+PjNdK2U7ZD1kKzh8MDtwW2Q+PjNd
PStwW2Q+PjNdK2d9Yz1heihhLGMpfDB9fXdoaWxlKDApO2E9MTt3aGlsZSgxKXtjPWZbaD4+Ml18
MDtpZigoYXwwKT4oZltjKzE4MD4+Ml18MCkpYnJlYWs7Yz1mWyhmW2MrMTg0Pj4yXXwwKSsoYTw8
Mik+PjJdfDA7aWYoaSl7ZD1mWyhmW2MrMTY+PjJdfDApKzE0MD4+Ml18MDtvPWQrOHwwO209ZCsx
NnwwO2s9ZCsyNHwwO2Q9ZCszMnwwO249K3BbbT4+M10rZztsPStwW2s+PjNdK2U7aj0rcFtkPj4z
XStnO3Bbbz4+M109K3Bbbz4+M10rZTtwW20+PjNdPW47cFtrPj4zXT1sO3BbZD4+M109an1fbyhj
LGIpO2E9YSsxfDB9cmV0dXJufWZ1bmN0aW9uICRvKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MC4w
LGU9MC4wLGc9MC4wO2I9YSsxNnwwO2E9ZltiPj4yXXwwO2M9ZlthKzE0MD4+Ml18MDtnPStwW2Mr
MTY+PjNdKjcyLjA7ZT0rcFtjKzI0Pj4zXSo3Mi4wO2Q9K3BbYyszMj4+M10qNzIuMDtwW2ErMTY+
PjNdPStwW2MrOD4+M10qNzIuMDtwW2ErMjQ+PjNdPWc7cFthKzMyPj4zXT1lO3BbYSs0MD4+M109
ZDthPTE7d2hpbGUoMSl7Yz1mW2I+PjJdfDA7aWYoKGF8MCk+KGZbYysxODA+PjJdfDApKWJyZWFr
OyRvKGZbKGZbYysxODQ+PjJdfDApKyhhPDwyKT4+Ml18MCk7YT1hKzF8MH1yZXR1cm59ZnVuY3Rp
b24gYXAoYSxjKXthPWF8MDtjPWN8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09
MCxuPTAsbz0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTA7eT10O3Q9dCsxNjB8MDty
PXkrMTI4fDA7cz15KzExMnwwO2c9eSsxMDR8MDtlPXk7dz1jKzE2fDA7eD1mW3c+PjJdfDA7Zlt3
Pj4yXT14KzE7ZltyPj4yXT14O2QkKGUsMTAyODM3LHIpfDA7aWYoMD4xKXt4PWZbMTk0NTddfDA7
dz1BeShhKXwwO2ZbZz4+Ml09ZTtmW2crND4+Ml09dztnMih4LDEwMjg0NCxnKXwwfTtiW3I+PjBd
PWJbNzIyNjhdfDA7YltyKzE+PjBdPWJbNzIyNjldfDA7YltyKzI+PjBdPWJbNzIyNzBdfDA7Ylty
KzM+PjBdPWJbNzIyNzFdfDA7eD1leSgxMDMxOTksciwwKXwwO0p6KHgsMTQ1NzUzLDI4MCwxKXww
O3Y9REgoNTYpfDA7dz14KzE2fDA7bT1mW3c+PjJdfDA7ZlttKzE0MD4+Ml09djt2PWErMTZ8MDtk
W20rMTc2Pj4xXT1kWyhmW3Y+PjJdfDApKzE3Nj4+MV18MDtqcChhLHgsMTAzMjIyKTtqcChhLHgs
MTAzODI3KTtqcChhLHgsMTAzMTEwKTttPWMrNHwwO249cisxNnwwO289cis4fDA7cT1yKzI0fDA7
aT0wO2w9MTt3aGlsZSgxKXtlPWZbdj4+Ml18MDtpZigobHwwKT4oZltlKzE4MD4+Ml18MCkpYnJl
YWs7ZltyPj4yXT1mWzE2ODUwXTtmW3IrND4+Ml09ZlsxNjg1MV07ZltyKzg+PjJdPWZbMTY4NTJd
O2ZbcisxMj4+Ml09ZlsxNjg1M107ZltyKzE2Pj4yXT1mWzE2ODU0XTtmW3IrMjA+PjJdPWZbMTY4
NTVdO2ZbcisyND4+Ml09ZlsxNjg1Nl07ZltyKzI4Pj4yXT1mWzE2ODU3XTtnPWZbKGZbZSsxODQ+
PjJdfDApKyhsPDwyKT4+Ml18MDtvSChnKTtoPWtwKHgsQXkoZyl8MCl8MDtqPWgrMTZ8MDtlPWZb
aj4+Ml18MDtmW2UrMjEyPj4yXT1nO2s9aSsxfDA7ZltlKzEyMD4+Ml09aTtpZihmW20+PjJdfDAp
bHAoZyxoLGMscik7ZT0keShnKXwwO3doaWxlKDEpe2lmKCFlKWJyZWFrO2ZbKGZbZSsxNj4+Ml18
MCkrMTY0Pj4yXT1oO2U9YXooZyxlKXwwfWU9ZltqPj4yXXwwO2lmKGJbZSsxMTk+PjBdfDApe2o9
ZltlKzEzMj4+Ml18MDtwW2o+PjNdPSgrcFtuPj4zXSsgK3Bbcj4+M10pKi41O3Bbais4Pj4zXT0o
K3BbcT4+M10rICtwW28+PjNdKSouNX1pPWs7bD1sKzF8MH1qPSR5KGEpfDA7d2hpbGUoMSl7aWYo
IWopYnJlYWs7ZT1qKzE2fDA7Zz1mW2U+PjJdfDA7aWYoIShmW2crMTY0Pj4yXXwwKSl7aD1nKzIx
MnwwO3I9ZltoPj4yXXwwO2lmKHJ8MD8ocnwwKSE9KGZbKGZbKGZbdj4+Ml18MCkrMTQwPj4yXXww
KSs0OD4+Ml18MCk6MCl7dT0xODticmVha31mW2g+PjJdPWE7aWYoIShiW2crMTE4Pj4wXXwwKSl7
aD1rcCh4LEF5KGopfDApfDA7Zz1mW2U+PjJdfDA7ZltnKzE2ND4+Ml09aDtoPWZbaCsxNj4+Ml18
MDtmW2grMTIwPj4yXT1pO3BbaCszMj4+M109K3BbZyszMj4+M107cFtoKzQwPj4zXT0rcFtnKzQw
Pj4zXTtwW2grODg+PjNdPStwW2crODg+PjNdO3BbaCs5Nj4+M109K3BbZys5Nj4+M107cFtoKzgw
Pj4zXT0rcFtnKzgwPj4zXTtmW2grOD4+Ml09ZltnKzg+PjJdO2ZbaCsxMj4+Ml09ZltnKzEyPj4y
XTtlPWJbZysxMTk+PjBdfDA7aWYoZTw8MjQ+PjI0KXtjPWZbZysxMzI+PjJdfDA7cj1mW2grMTMy
Pj4yXXwwO3Bbcj4+M109K3BbYz4+M107cFtyKzg+PjNdPStwW2MrOD4+M107YltoKzExOT4+MF09
ZX1mWyhmW2grMTEyPj4yXXwwKSs4Pj4yXT1qO2U9aSsxfDB9ZWxzZSBlPWl9ZWxzZSBlPWk7aj1h
eihhLGopfDA7aT1lfWlmKCh1fDApPT0xOCl7Yz1BeShqKXwwO3I9QXkoYSl8MDt1PUF5KGZbKGZb
ZT4+Ml18MCkrMjEyPj4yXXwwKXwwO2Zbcz4+Ml09YztmW3MrND4+Ml09cjtmW3MrOD4+Ml09dTtZ
dygxLDEwMjg2NyxzKXwwO2piKDE4Njg0OCwxKX1rPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWspYnJl
YWs7bD1mWyhmW2srMTY+PjJdfDApKzE2ND4+Ml18MDttPWwrMTZ8MDtoPU54KGEsayl8MDt3aGls
ZSgxKXtpZighaClicmVhaztlPWZbKGZbKGZbKChmW2g+PjJdJjN8MCk9PTI/aDpoKy00OHwwKSs0
MD4+Ml18MCkrMTY+PjJdfDApKzE2ND4+Ml18MDtpZigoZXwwKSE9KGx8MCkpe2lmKGU+Pj4wPmw+
Pj4wKWo9X3goeCxsLGUsMCwxKXwwO2Vsc2Ugaj1feCh4LGUsbCwwLDEpfDA7SnooaiwxNDU3MzAs
MTc2LDEpfDA7Zz1mW2grMTY+PjJdfDA7dT1mW2orMTY+PjJdfDA7cFt1KzEzNj4+M109K3BbZysx
MzY+PjNdO3BbdSsxMjg+PjNdPStwW2crMTI4Pj4zXTtlPWZbKGZbZSsxNj4+Ml18MCkrMTEyPj4y
XXwwO2c9ZSs0fDA7ZltnPj4yXT0oZltnPj4yXXwwKSsxO2c9ZlsoZlttPj4yXXwwKSsxMTI+PjJd
fDA7cz1nKzR8MDtmW3M+PjJdPShmW3M+PjJdfDApKzE7aWYoIShmW3UrMTcyPj4yXXwwKSl7Zltl
Pj4yXT0oZltlPj4yXXwwKSsxO2ZbZz4+Ml09KGZbZz4+Ml18MCkrMX1tcChqLGgpfWg9UHgoYSxo
KXwwfWs9YXooYSxrKXwwfWU9ZlsoZlt2Pj4yXXwwKSsxNDA+PjJdfDA7Zz1mW2U+PjJdfDA7aWYo
Z3wwKXtoPURIKChmW2UrND4+Ml08PDQpKzE2fDApfDA7ZltmWyhmW3c+PjJdfDApKzE0MD4+Ml0+
PjJdPWg7ZT0wO3doaWxlKDEpe2lmKCEoZltnPj4yXXwwKSlicmVhaztrPWZbKGZbKGZbZys0Pj4y
XXwwKSsxNj4+Ml18MCkrMTY0Pj4yXXwwO2lmKGspe25wKGEsZyk7bD1rcCh4LDE4NzAwOCl8MDtt
PWwrMTZ8MDtmWyhmW20+PjJdfDApKzEyMD4+Ml09aTtpZihsPj4+MD5rPj4+MClqPV94KHgsayxs
LDAsMSl8MDtlbHNlIGo9X3goeCxsLGssMCwxKXwwO0p6KGosMTQ1NzMwLDE3NiwxKXwwO3U9Zltn
Pj4yXXwwO3M9Zlt1KzE2Pj4yXXwwO3Y9ZltqKzE2Pj4yXXwwO3BbdisxMzY+PjNdPStwW3MrMTM2
Pj4zXTtwW3YrMTI4Pj4zXT0rcFtzKzEyOD4+M107bXAoaix1KTt1PWZbKGZbbT4+Ml18MCkrMTEy
Pj4yXXwwO3Y9dSs0fDA7Zlt2Pj4yXT0oZlt2Pj4yXXwwKSsxO3Y9ZlsoZltrKzE2Pj4yXXwwKSsx
MTI+PjJdfDA7cz12KzR8MDtmW3M+PjJdPShmW3M+PjJdfDApKzE7Zlt1Pj4yXT0oZlt1Pj4yXXww
KSsxO2Zbdj4+Ml09KGZbdj4+Ml18MCkrMTtmW2grND4+Ml09bDtwW2grOD4+M109K3BbZys4Pj4z
XTtmW2g+PjJdPWo7ZT1lKzF8MDtoPWgrMTZ8MDtpPWkrMXwwfWc9ZysxNnwwfWZbKGZbKGZbdz4+
Ml18MCkrMTQwPj4yXXwwKSs0Pj4yXT1lfXQ9eTtyZXR1cm4geHwwfWZ1bmN0aW9uIGJwKGEsYil7
YT1hfDA7Yj1ifDA7dmFyIGM9MC4wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtrPWZbYSsx
Nj4+Ml18MDtqPWZbaysyMTI+PjJdfDA7az1mWyhmW2srMTEyPj4yXXwwKSs0Pj4yXXwwO2RvIGlm
KGt8MCl7aT1ESCgoazw8NCkrMTZ8MCl8MDtlPWdwKGEsYil8MDtnPWUrOHwwO2I9MDtkPWU7d2hp
bGUoMSl7aWYoIShmW2Q+PjJdfDApKWJyZWFrO2g9ZCsyNHwwO2lmKCEoZltoPj4yXXwwKSljPStw
W2c+PjNdKzYuMjgzMTg1MzA3MTc5NTg2O2Vsc2UgYz0rcFtkKzMyPj4zXTtiPWhwKGEsZCxpLGIs
Yyl8MDtkPWh9aWYoKGJ8MCk9PShrfDApKXthPWZbKGZbaisxNj4+Ml18MCkrMTQwPj4yXXwwO2Zb
YT4+Ml09aTtmW2ErND4+Ml09aztNXyhlKTticmVha31lbHNlIHhhKDEwMjc4MywxMDI3OTMsNzY2
LDEwMjgwMil9d2hpbGUoMCk7cmV0dXJuIGp8MH1mdW5jdGlvbiBjcChhLGIsYyxkLGUsZyl7YT1h
fDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MC4wLGk9MC4wLGo9MCxrPTAs
bD0wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLjAsdz0wLjA7cT0oZltnPj4y
XXwwKT09KGV8MCk7cj0oYnwwKSE9MDthOmRvIGlmKHIpe289ZlsoZltjPj4yXXwwKSsxNj4+Ml18
MDtpPStwW28rMTY+PjNdO2o9fn4oaSsoaT49MC4wPy41Oi0uNSkpO2k9K3BbbysyND4+M107bD1+
fihpKyhpPj0wLjA/LjU6LS41KSk7aT0rcFtvKzMyPj4zXTtrPX5+KGkrKGk+PTAuMD8uNTotLjUp
KTtpPStwW28rNDA+PjNdO289fn4oaSsoaT49MC4wPy41Oi0uNSkpO2lmKChifDApPjEpe249Zltk
Pj4yXXwwO2I9ZltkKzQ+PjJdfDA7Zz1jO209ZDtqPW4ranwwO2w9YitsfDA7bj1uK2t8MDtvPWIr
b3wwO3doaWxlKDEpe2s9bSs4fDA7Zz1nKzR8MDtiPWZbZz4+Ml18MDtpZighYil7Yj0wO2s9bjti
cmVhayBhfXM9ZltiKzE2Pj4yXXwwO3c9K3BbcysxNj4+M107dj0rcFtzKzI0Pj4zXTtoPStwW3Mr
MzI+PjNdO2k9K3Bbcys0MD4+M107cz1mW2s+PjJdfDA7Yj1mW20rMTI+PjJdfDA7dT1zK35+KHcr
KHc+PTAuMD8uNTotLjUpKXwwO3Q9Yit+fih2Kyh2Pj0wLjA/LjU6LS41KSl8MDtzPXMrfn4oaCso
aD49MC4wPy41Oi0uNSkpfDA7Yj1iK35+KGkrKGk+PTAuMD8uNTotLjUpKXwwO209aztqPShqfDAp
PCh1fDApP2o6dTtsPShsfDApPCh0fDApP2w6dDtuPShufDApPihzfDApP246cztvPShvfDApPihi
fDApP286Yn19ZWxzZSBiPTB9ZWxzZXtvPWZbZysxMj4+Ml18MDtrPVRMKGUsZltnKzg+PjJdfDAs
NTQsMyl8MDtiPTE7aj0wO2w9MDtvPVRMKGUsbywzNiwzKXwwfXdoaWxlKDApO209ZSsxNnwwO249
ZlttPj4yXXwwO2c9ZltuKzEyPj4yXXwwO2lmKGcpe3c9K3BbZysyND4+M107Zz1qLWsrfn4odyso
dz49MC4wPy41Oi0uNSkpfDA7aWYoKGd8MCk+MCl7dT1nPj4+MTtnPTA7aj1qLXV8MDtrPXUra3ww
fWVsc2UgZz0wfWVsc2UgZz1iO2lmKHF8KGd8MCkhPTApe2I9MDtnPW59ZWxzZXtiPVRMKGEsZls0
ODMzNl18MCw4LDApfDA7Zz1mW20+PjJdfDB9ZT1iLWp8MDtuPX5+KCtwW2crNTY+PjNdKyArKGIt
bHwwKSk7bT1iK2srZXwwO2w9fn4oK3BbZys4OD4+M10rICsob3wwKSsgKyhiK258MCkpO2I6ZG8g
aWYocil7Zz1kO3doaWxlKDEpe2s9Yys0fDA7aj1mW2M+PjJdfDA7aWYoIWopYnJlYWsgYjtpZigh
Zyl7Yj0wO2M9ZTtnPW59ZWxzZXtiPWcrOHwwO2M9KGZbZz4+Ml18MCkrZXwwO2c9KGZbZys0Pj4y
XXwwKStufDB9aT0rKGN8MCkqLjAxMzg4ODg4ODg4ODg4ODg4ODtoPSsoZ3wwKSouMDEzODg4ODg4
ODg4ODg4ODg4O2M9JHkoail8MDt3aGlsZSgxKXtpZighYylicmVhazt1PWZbKGZbYysxNj4+Ml18
MCkrMTMyPj4yXXwwO3BbdT4+M109K3BbdT4+M10raTt1PXUrOHwwO3BbdT4+M109K3BbdT4+M10r
aDtjPWF6KGosYyl8MH1nPWI7Yz1rfX13aGlsZSgwKTt1PWZbKGZbYSsxNj4+Ml18MCkrMTQwPj4y
XXwwO3Q9dSs4fDA7Zlt0Pj4yXT0wO2ZbdCs0Pj4yXT0wO2ZbdCs4Pj4yXT0wO2ZbdCsxMj4+Ml09
MDtwW3UrMjQ+PjNdPSsobXwwKSouMDEzODg4ODg4ODg4ODg4ODg4O3BbdSszMj4+M109KyhsfDAp
Ki4wMTM4ODg4ODg4ODg4ODg4ODg7cmV0dXJufWZ1bmN0aW9uIGRwKGEsYil7YT1hfDA7Yj1ifDA7
dmFyIGM9MCxkPTA7d2hpbGUoMSl7Yz1mW2I+PjJdfDA7aWYoIWMpYnJlYWs7ZXAoYyk7THooYywx
NDU3NTMpfDA7Yj1iKzR8MH1iPWZbZlsoZlthKzE2Pj4yXXwwKSsxNDA+PjJdPj4yXXwwO2lmKGJ8
MClNXyhiKTtlcChhKTtMeihhLDE0NTc1Myl8MDtjPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJl
YWs7ZD1heihhLGMpfDA7Yj1OeChhLGMpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7TV8oZlsoZlti
KzE2Pj4yXXwwKSsxNzI+PjJdfDApO0x6KGIsMTQ1NzMwKXwwO2I9UHgoYSxiKXwwfWZwKGMpO2M9
ZH1peShhKXwwO3JldHVybn1mdW5jdGlvbiBlcChhKXthPWF8MDtNXyhmWyhmW2ErMTY+PjJdfDAp
KzE0MD4+Ml18MCk7cmV0dXJufWZ1bmN0aW9uIGZwKGEpe2E9YXwwO3ZhciBiPTA7Yj1hKzE2fDA7
TV8oZlsoZltiPj4yXXwwKSsxMTI+PjJdfDApO01fKGZbKGZbYj4+Ml18MCkrMTMyPj4yXXwwKTtM
eihhLDE0NTcxNyl8MDtyZXR1cm59ZnVuY3Rpb24gZ3AoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0w
LGQ9MC4wLGU9MCxnPTAuMCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MC4wO2o9YSsxNnwwO2s9Zltm
WyhmW2o+PjJdfDApKzExMj4+Ml0+PjJdfDA7bD1ESCgoayoyNHwwKSsyNHwwKXwwO2g9MDtpPVN4
KGIsYSl8MDt3aGlsZSgxKXtpZighaSlicmVhaztlPWZbaT4+Ml0mMztjPWZbKChlfDApPT0yP2k6
aSstNDh8MCkrNDA+PjJdfDA7aWYoKGN8MCk9PShhfDApKWM9ZlsoKGV8MCk9PTM/aTppKzQ4fDAp
KzQwPj4yXXwwO2M9ZlsoZltjKzE2Pj4yXXwwKSsxMzI+PjJdfDA7ZT1mWyhmW2o+PjJdfDApKzEz
Mj4+Ml18MDtnPStwW2M+PjNdLStwW2U+PjNdO2Q9K3BbYys4Pj4zXS0rcFtlKzg+PjNdO2ZbbCso
aCoyNHwwKT4+Ml09aTttPStSKCtkLCtnKTtwW2wrKGgqMjR8MCkrOD4+M109bTtwW2wrKGgqMjR8
MCkrMTY+PjNdPWQqZCtnKmc7aD1oKzF8MDtpPVR4KGIsaSxhKXwwfWlmKChofDApIT0oa3wwKSl4
YSgxMDI4MTYsMTAyNzkzLDY0MiwxMDI4MjUpO1ckKGwsaywyNCw2Nyk7YTpkbyBpZigoa3wwKT4x
KXtpPWsrLTF8MDtjPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShpfDApKWJyZWFrIGE7Zz0rcFtsKyhj
KjI0fDApKzg+PjNdO2U9YysxfDA7aD1lO3doaWxlKDEpe2lmKChofDApPj0oa3wwKSlicmVhaztp
ZighKCtwW2wrKGgqMjR8MCkrOD4+M109PWcpKWJyZWFrO2g9aCsxfDB9YjpkbyBpZigoaHwwKT09
KGV8MCkpYz1lO2Vsc2V7aWYoKGh8MCk9PShrfDApKWQ9My4xNDE1OTI2NTM1ODk3OTM7ZWxzZSBk
PStwW2wrKGgqMjR8MCkrOD4+M107ZD0oZC1nKS8rKGgtY3wwKTtkPWQ+LjAzNDkwNjU4NTAzOTg4
NjU5Py4wMzQ5MDY1ODUwMzk4ODY1OTpkO2c9MC4wO3doaWxlKDEpe2lmKChjfDApPj0oaHwwKSli
cmVhayBiO2o9bCsoYyoyNHwwKSs4fDA7cFtqPj4zXT0rcFtqPj4zXStnO2c9ZytkO2M9YysxfDB9
fXdoaWxlKDApfX13aGlsZSgwKTtyZXR1cm4gbHwwfWZ1bmN0aW9uIGhwKGEsYixjLGUsZyl7YT1h
fDA7Yj1ifDA7Yz1jfDA7ZT1lfDA7Zz0rZzt2YXIgaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0w
LG89MC4wLHE9MCxyPTAscz0wLjA7aj1mW2I+PjJdfDA7bj1mW2orMTY+PjJdfDA7az1kW24rMTY4
Pj4xXXwwO3I9azw8MTY+PjE2O2k9ZltqPj4yXSYzO2g9ZlsoKGl8MCk9PTI/ajpqKy00OHwwKSs0
MD4+Ml18MDtpZigoaHwwKT09KGF8MCkpaD1mWygoaXwwKT09Mz9qOmorNDh8MCkrNDA+PjJdfDA7
cz0rcFtiKzg+PjNdO2c9KGctcykvKyhrPDwxNj4+MTYpO2c9Zz4uMDM0OTA2NTg1MDM5ODg2NTk/
LjAzNDkwNjU4NTAzOTg4NjU5Omc7aj1oPj4+MD5hPj4+MDttPXIrZXwwO289aj9nOi1nO3E9aj8x
Oi0xO2w9MDtrPWZbbisxNzI+PjJdfDA7Yj1qP2U6bSstMXwwO2c9aj9zOmcqKyhyKy0xfDApK3M7
d2hpbGUoMSl7aWYoKGx8MCk+PShyfDApKWJyZWFrO2k9ZltrPj4yXXwwO2ZbYysoYjw8NCk+PjJd
PWk7aj1mW2k+PjJdJjM7aD1mWygoanwwKT09Mz9pOmkrNDh8MCkrNDA+PjJdfDA7aWYoKGZbKGZb
aCsxNj4+Ml18MCkrMTY0Pj4yXXwwKSE9KGF8MCkpaD1mWygoanwwKT09Mj9pOmkrLTQ4fDApKzQw
Pj4yXXwwO2ZbYysoYjw8NCkrND4+Ml09aDtwW2MrKGI8PDQpKzg+PjNdPWc7bD1sKzF8MDtrPWsr
NHwwO2I9YitxfDA7Zz1nK299cmV0dXJuIG18MH1mdW5jdGlvbiBpcChhLGIpe2E9YXwwO2I9Ynww
O3ZhciBjPTAuMCxkPTAuMDtjPStwW2ErOD4+M107ZD0rcFtiKzg+PjNdO2lmKCEoYz5kKSlpZigh
KGM8ZCkpe2Q9K3BbYSsxNj4+M107Yz0rcFtiKzE2Pj4zXTtpZihkPmMpYT0xO2Vsc2UgYT0oZDxj
KTw8MzE+PjMxfWVsc2UgYT0tMTtlbHNlIGE9MTtyZXR1cm4gYXwwfWZ1bmN0aW9uIGpwKGEsYixj
KXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wO2Q9d3goYSwwLGMsMCl8MDtkbyBpZihkfDApe2E9
SHgoYSxkKXwwO2Q9d3goYiwwLGMsMCl8MDtpZighZCl7d3goYiwwLGMsYSl8MDticmVha31lbHNl
e0F4KGIsZCxhKXwwO2JyZWFrfX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24ga3AoYSxiKXthPWF8
MDtiPWJ8MDt2YXIgYz0wLGQ9MDtiPWp6KGEsYiwxKXwwO0p6KGIsMTQ1NzE3LDMwNCwxKXwwO2Q9
REgoMzIpfDA7Yz1iKzE2fDA7ZlsoZltjPj4yXXwwKSsxMTI+PjJdPWQ7YT1FSCgoalsoZlthKzE2
Pj4yXXwwKSsxNzY+PjFdfDApPDwzKXwwO2ZbKGZbYz4+Ml18MCkrMTMyPj4yXT1hO3JldHVybiBi
fDB9ZnVuY3Rpb24gbHAoYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxo
PTAuMCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7bz10O3Q9dCs4MHwwO2w9bys1NnwwO2s9
byszMnwwO249bzttPW8rNjR8MDtnPWZbZCs0Pj4yXXwwO2o9SHgoYSxnKXwwO2RvIGlmKGJbaj4+
MF18MCl7aWYoKGZbZD4+Ml18MCkhPShhfDApKXtkPUh4KEhBKGEpfDAsZyl8MDtpZigoZHwwKT09
KGp8MCkpYnJlYWs7aWYoIShIJChqLGQpfDApKWJyZWFrfWJbbT4+MF09MDtkPW4rOHwwO2c9bisx
NnwwO2k9bisyNHwwO2Zbaz4+Ml09bjtmW2srND4+Ml09ZDtmW2srOD4+Ml09ZztmW2srMTI+PjJd
PWk7ZltrKzE2Pj4yXT1tO2lmKChNMShqLDEwMjk3OCxrKXwwKTw9Myl7bj1BeShhKXwwO2ZbbD4+
Ml09bjtmW2wrND4+Ml09ajtZdygwLDEwMjk5NixsKXwwO2JyZWFrfWg9K3BbMjQwMjNdO2lmKGg+
MC4wKXtwW24+PjNdPStwW24+PjNdL2g7cFtkPj4zXT0rcFtkPj4zXS9oO3BbZz4+M109K3BbZz4+
M10vaDtwW2k+PjNdPStwW2k+PjNdL2h9Zz1iW20+PjBdfDA7ZG8gaWYoZzw8MjQ+PjI0IT0zMyl7
ZD0oZltjKzE2Pj4yXXwwKSsxMTl8MDtpZihnPDwyND4+MjQ9PTYzKXtiW2Q+PjBdPTI7YnJlYWt9
ZWxzZXtiW2Q+PjBdPTE7YnJlYWt9fWVsc2UgYlsoZltjKzE2Pj4yXXwwKSsxMTk+PjBdPTM7d2hp
bGUoMCk7ZltlPj4yXT1mW24+PjJdO2ZbZSs0Pj4yXT1mW24rND4+Ml07ZltlKzg+PjJdPWZbbis4
Pj4yXTtmW2UrMTI+PjJdPWZbbisxMj4+Ml07ZltlKzE2Pj4yXT1mW24rMTY+PjJdO2ZbZSsyMD4+
Ml09ZltuKzIwPj4yXTtmW2UrMjQ+PjJdPWZbbisyND4+Ml07ZltlKzI4Pj4yXT1mW24rMjg+PjJd
fXdoaWxlKDApO3Q9bztyZXR1cm59ZnVuY3Rpb24gbXAoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0w
LGU9MCxnPTA7ZT1hKzE2fDA7Yz1mW2U+PjJdfDA7YT1kW2MrMTY4Pj4xXXwwO2M9ZltjKzE3Mj4+
Ml18MDtpZighYyl7Yz1hPDwxNj4+MTY7YT1FSCgoYzw8MikrNHwwKXwwfWVsc2V7Zz1hPDwxNj4+
MTY7YT1HSChjLChnPDwyKSs0fDApfDA7Yz1nfWZbYSsoYzw8Mik+PjJdPWI7Zz1mW2U+PjJdfDA7
ZltnKzE3Mj4+Ml09YTtnPWcrMTY4fDA7ZFtnPj4xXT0oZFtnPj4xXXwwKSsxPDwxNj4+MTY7cmV0
dXJufWZ1bmN0aW9uIG5wKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAs
aT0wLGo9MDtpPXQ7dD10KzQ4fDA7aD1pKzI0fDA7Zz1pO2Q9ZltiPj4yXXwwO2M9ZltkPj4yXSYz
O2U9ZlsoKGN8MCk9PTI/ZDpkKy00OHwwKSs0MD4+Ml18MDtjPWZbKChjfDApPT0zP2Q6ZCs0OHww
KSs0MD4+Ml18MDtiPWMwKEF5KGEpfDApfDA7aj1jMChBeShlKXwwKXwwO2o9KGIrOCtqKyhjMChB
eShjKXwwKXwwKXwwKT45OTk7Yj1BeShhKXwwO2lmKGope2M9QXkoYyl8MDtqPUF5KGUpfDA7aD0o
ZltkPj4yXXwwKT4+PjQ7ZltnPj4yXT1iO2ZbZys0Pj4yXT1jO2ZbZys4Pj4yXT1qO2o9ZysxNnww
O2Zbaj4+Ml09aDtmW2orND4+Ml09MDtkJCgxODcwMDgsMTAyOTM2LGcpfDB9ZWxzZXtjPWZbKGZb
YysxNj4+Ml18MCkrMTIwPj4yXXwwO2o9ZlsoZltlKzE2Pj4yXXwwKSsxMjA+PjJdfDA7Zz0oZltk
Pj4yXXwwKT4+PjQ7ZltoPj4yXT1iO2ZbaCs0Pj4yXT1jO2ZbaCs4Pj4yXT1qO2o9aCsxNnwwO2Zb
aj4+Ml09ZztmW2orND4+Ml09MDtkJCgxODcwMDgsMTAyOTU1LGgpfDB9dD1pO3JldHVybn1mdW5j
dGlvbiBvcChhKXthPWF8MDt2YXIgYj0wLGM9MCxlPTAuMCxnPTAuMCxoPTAsaT0wLGo9MDtpPTQ7
aD1MXyg0MCl8MDtmW2g+PjJdPTA7Zz0rcFsyNDAyM107dj0wO2U9K2VhKDEsYXwwKTtiPXY7dj0w
O2lmKChifDApIT0wJih3fDApIT0wKXtjPVAzKGZbYj4+Ml18MCxofDAsaXwwKXwwO2lmKCFjKWpi
KGJ8MCx3fDApO0c9d31lbHNlIGM9LTE7aWYoKGN8MCkhPTEpe3BbMjQwMjNdPWU7dj0wO3BhKDEw
MCxhfDApO2I9djt2PTA7aWYoKGJ8MCkhPTAmKHd8MCkhPTApe2M9UDMoZltiPj4yXXwwLGh8MCxp
fDApfDA7aWYoIWMpamIoYnwwLHd8MCk7Rz13fWVsc2UgYz0tMTtpZigoY3wwKSE9MSl7aD1PMygx
ODY4NDgsMSxofDAsaXwwKXwwO2k9Rzt2PTA7Yz12O3Y9MDtpZigoY3wwKSE9MCYod3wwKSE9MCl7
Yj1QMyhmW2M+PjJdfDAsaHwwLGl8MCl8MDtpZighYilqYihjfDAsd3wwKTtHPXd9ZWxzZSBiPS0x
O2lmKChifDApIT0xKWI9MDtlbHNlIGI9R31lbHNlIGI9R31lbHNlIGI9Rzt3aGlsZSgxKXtpZihi
fDApYnJlYWs7dj0wO3BhKDEwMSxhfDApO2I9djt2PTA7aWYoKGJ8MCkhPTAmKHd8MCkhPTApe2M9
UDMoZltiPj4yXXwwLGh8MCxpfDApfDA7aWYoIWMpamIoYnwwLHd8MCk7Rz13fWVsc2UgYz0tMTtp
ZigoY3wwKT09MSl7Yj1HO2NvbnRpbnVlfXY9MDtnYSgyMixhfDApfDA7Yj12O3Y9MDtpZigoYnww
KSE9MCYod3wwKSE9MCl7Yz1QMyhmW2I+PjJdfDAsaHwwLGl8MCl8MDtpZighYylqYihifDAsd3ww
KTtHPXd9ZWxzZSBjPS0xO2lmKChjfDApPT0xKXtiPUc7Y29udGludWV9aWYoZFsoZlthKzE2Pj4y
XXwwKSsxMzY+PjFdJjE0KXt2PTA7cGEoMTAyLGF8MCk7Yj12O3Y9MDtpZigoYnwwKSE9MCYod3ww
KSE9MCl7Yz1QMyhmW2I+PjJdfDAsaHwwLGl8MCl8MDtpZighYylqYihifDAsd3wwKTtHPXd9ZWxz
ZSBjPS0xO2lmKChjfDApPT0xKXtiPUc7Y29udGludWV9fXY9MDtxYSgyMixhfDAsMCk7Yj12O3Y9
MDtpZigoYnwwKSE9MCYod3wwKSE9MCl7Yz1QMyhmW2I+PjJdfDAsaHwwLGl8MCl8MDtpZighYylq
YihifDAsd3wwKTtHPXd9ZWxzZSBjPS0xO2lmKChjfDApPT0xKWI9RztlbHNle2o9MTI7YnJlYWt9
fWlmKChqfDApPT0xMilwWzI0MDIzXT1nO01fKGh8MCk7cmV0dXJufWZ1bmN0aW9uIHBwKGEpe2E9
YXwwO3ZhciBiPTAsYz0wLGU9MCxnPTAsaD0wLGk9MDtpPXQ7dD10KzE2fDA7Zz1pO2M9YSsxNnww
O2U9ZFsoZltjPj4yXXwwKSsxMzY+PjFdJjE0O2I9ZSY2NTUzNTtpZigoZSY2NTUzNSk+OCl7aWYo
ZTw8MTY+PjE2PT0xMilpZighKGRuKGEsMjIsMTApfDApKWI9MTI7ZWxzZXtmWzQ4MzI1XT0yO2g9
NX1lbHNlIGg9NTtkbyBpZigoaHwwKT09NSlpZighKGRbKGZbYz4+Ml18MCkrMTM2Pj4xXSYxKSl7
Zm4oYSxiKXwwO2JyZWFrfWVsc2V7WXcoMCwxMDMwMzksZyl8MDtiPTI7YnJlYWt9d2hpbGUoMCk7
Zls0ODMyNV09MH1pZigoZls0ODMyOV18MCk8MSlmbihhLGIpfDA7dD1pO3JldHVybn1mdW5jdGlv
biBxcChhKXthPWF8MDt2YXIgYj0wLjAsYz0wLjAsZD0wLGU9MDtkPXQ7dD10KzE2fDA7Zls0Nzkz
NF09MTtmWzQ3OTM1XT0xO2ZbNDc5MzddPS0xO2ZbNDc5MzldPTUwO3BbMjM5NzVdPTAuMDtwWzIz
OTcwXT0wLjA7cFsyMzk3MV09MS4wO2U9VEwoYSx3eChhLDAsMTAzMTAyLDApfDAsNjAwLDApfDA7
Zls0NzkzOF09ZTtjPStVTChhLHd4KGEsMCwxMDMxMTAsMCl8MCwuMywwLjApO3BbMjM5NzJdPWM7
cFs4NzYzXT1jO2lmKC0xLjA9PS0xLjApYj0rVUwoYSx3eChhLDAsMTAzMTEyLDApfDAsLTEuMCww
LjApO2Vsc2UgYj0tMS4wO3BbMjM5NzNdPWI7Zls0NzkzNl09MTtlPXhtKGEsMiwxOTE3NDQpfDA7
Zls0Nzk0OF09ZTtpZighZSl7WXcoMCwxMDMxMTUsZCl8MDtmWzQ3OTM2XT0yfWU9KFYoZls0Nzkz
OF18MCxmWzQ3OTM5XXwwKXwwKS8xMDB8MDtmWzQ3OTY0XT1lO2M9K3BbMjM5NzJdO3BbMjM5Nzdd
PWMqYztpZihmWzQ3OTM0XXwwKXtiPStwWzIzOTc1XTtpZihiPD0wLjApe2I9YyozLjA7cFsyMzk3
NV09Yn1wWzIzOTc2XT1iKmJ9dD1kO3JldHVybn1mdW5jdGlvbiBycChhLGIpe2E9YXwwO2I9Ynww
O3ZhciBjPTAsZD0wLjAsZT0wLjAsZz0wLGg9MCxpPTA7aT10O3Q9dCsxNnwwO2M9aTtnPWZbZlso
ZlthKzE2Pj4yXXwwKSsxNDA+PjJdPj4yXXwwO2g9c3AoYSxiKXwwO3RwKGMsYSxnKTtkPStwW2M+
PjNdO2U9K3BbYys4Pj4zXTthOmRvIGlmKCEoZls0NzkzNF18MCkpe2I9MDt3aGlsZSgxKXtpZigo
YnwwKT49KGZbNDc5NjVdfDApKWJyZWFrIGE7d3AoYSwrdXAoYiksZyk7Yj1iKzF8MH19ZWxzZXtj
PVR1KGp5KGEpfDApfDA7WXUoYyxqeShhKXwwKTtiPTA7d2hpbGUoMSl7aWYoKGJ8MCk+PShmWzQ3
OTY1XXwwKSlicmVhazt2cChhLCt1cChiKSxnLGMpO2I9YisxfDB9X3UoYyl9d2hpbGUoMCk7Yjpk
byBpZihkIT0wLjB8ZSE9MC4wKXtiPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWsgYjtnPWZb
KGZbYisxNj4+Ml18MCkrMTMyPj4yXXwwO3BbZz4+M109K3BbZz4+M10rZDtnPWcrOHwwO3BbZz4+
M109K3BbZz4+M10rZTtiPWF6KGEsYil8MH19d2hpbGUoMCk7aWYoaHwwKXhwKCk7dD1pO3JldHVy
bn1mdW5jdGlvbiBzcChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAsZT0wLGc9MCxoPTAs
aT0wLjA7aWYoK3BbMjM5NzNdPT0tMS4wKXtnPWp5KGEpfDA7Yz0rcFsyMzk3Ml07aT0rcFsyMzk3
MV0qLjIqYyorSigrKCsoZ3wwKSkpO3BbMjM5NzNdPWk7Zz0xfWVsc2V7Zz0wO2M9K3BbMjM5NzJd
fWg9Zls0Nzk2NF18MDtpPSt1cChoKTtwW2IrOD4+M109aTtwW2IrMTY+PjNdPWM7cFtiKzI0Pj4z
XT0rcFsyMzk3MF07YT1mWzQ3OTM4XXwwO2Q9YS1ofDA7ZltiPj4yXT1kO2U9Zls0NzkzN118MDtk
byBpZigoZXwwKT4tMSl7aWYoKGV8MCk8PShofDApKXtmWzQ3OTY1XT1lO2ZbYiszMj4+Ml09MDti
cmVha31pZigoZXwwKTw9KGF8MCkpe2ZbNDc5NjVdPWg7ZltiKzMyPj4yXT1lLWh9fWVsc2V7Zls0
Nzk2NV09aDtmW2IrMzI+PjJdPWR9d2hpbGUoMCk7cmV0dXJuIGd8MH1mdW5jdGlvbiB0cChhLGMs
ZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLjAsaT0wLjAsaj0wLGs9MC4wLGw9
MCxtPTAuMCxuPTAuMCxvPTAuMCxxPTAscj0wLHM9MC4wLHQ9MC4wLHU9MCx2PTAsdz0wLjAseD0w
LHk9MCx6PTA7dj1qeShjKXwwO3g9ZlsoZlsoZltjKzE2Pj4yXXwwKSsxNDA+PjJdfDApKzQ+PjJd
fDA7dT0keShjKXwwO3E9MDtyPTA7Zz0wO2o9MDtsPTA7d2hpbGUoMSl7aWYoIXUpYnJlYWs7ZT1m
W3UrMTY+PjJdfDA7aWYoIShiW2UrMTE5Pj4wXXwwKSllPXI7ZWxzZXtlPWZbZSsxMzI+PjJdfDA7
aD0rcFtlPj4zXTtpZighcSl7aj1+fmg7bD1+fitwW2UrOD4+M107ZT1qO2c9bH1lbHNle249Kyhy
fDApO3Q9K3BbZSs4Pj4zXTtvPSsoZ3wwKTtzPSsoanwwKTt3PSsobHwwKTtlPX5+KGg8bj9oOm4p
O2c9fn4odDxvP3Q6byk7aj1+fihoPnM/aDpzKTtsPX5+KHQ+dz90OncpfXE9cSsxfDB9dT1heihj
LHUpfDA7cj1lfWg9K3BbMjM5NzJdKigrSigrKCsodi14fDApKSkrMS4wKTtzPWgqLjY7cFsyMzk3
OV09cztwWzIzOTc4XT1zO2lmKChxfDApIT0xKWlmKChxfDApPjEpe3Q9KyhqK3J8MCkqLjU7dz0r
KGwrZ3wwKSouNTtpPSsoai1yfDApO289aSoxLjI7bT0rKGwtZ3wwKTtuPW0qMS4yO2s9aCoyLjQq
cztoPW4qby9rO2RvIGlmKCEoaD49MS4wKSl7aWYoaD4wLjApe2g9K0ooK2gpKjIuMDtpPW8vaDtw
WzIzOTc4XT1pO2g9bi9oO3o9MjA7YnJlYWt9aWYobz4wLjApe2k9aSouNjtwWzIzOTc4XT1pO2g9
ay9vKi41O3o9MjA7YnJlYWt9aWYobj4wLjApe2k9ay9uKi41O3BbMjM5NzhdPWk7aD1tKi42O3o9
MjB9ZWxzZXtoPXM7aT1zfX1lbHNle2k9aSouNjtwWzIzOTc4XT1pO2g9bSouNjt6PTIwfXdoaWxl
KDApO2lmKCh6fDApPT0yMClwWzIzOTc5XT1oO3M9K1IoK2gsK2kpO2k9aS8rTCgrcyk7cFsyMzk3
OF09aTtoPWgvK00oK3MpO3BbMjM5NzldPWh9ZWxzZXt0PTAuMDt3PTAuMDtpPXM7aD1zfWVsc2V7
dD0rKHJ8MCk7dz0rKGd8MCk7aT1zO2g9c31wWzIzOTgwXT1pKmk7cFsyMzk4MV09aCpoO2lmKChm
WzQ3OTQ4XXwwKT09MillPWZbNDc5MzZdfDA7ZWxzZXtlPW8yKCl8MDtlPShsYigwKXwwKV5lfWYz
KGUpO2E6ZG8gaWYoIWQpe2Q9JHkoYyl8MDtpZighcSl3aGlsZSgxKXtpZighZClicmVhayBhO3M9
K3BbMjM5NzhdO3M9KCtqMygpKjIuMCstMS4wKSpzO3o9ZCsxNnwwO3BbZlsoZlt6Pj4yXXwwKSsx
MzI+PjJdPj4zXT1zO3M9K3BbMjM5NzldO3M9KCtqMygpKjIuMCstMS4wKSpzO3BbKGZbKGZbej4+
Ml18MCkrMTMyPj4yXXwwKSs4Pj4zXT1zO2Q9YXooYyxkKXwwfXdoaWxlKDEpe2lmKCFkKWJyZWFr
IGE7ZT1kKzE2fDA7Zz1mW2U+PjJdfDA7aWYoIShiW2crMTE5Pj4wXXwwKSl7cz0rcFsyMzk3OF07
cz0oK2ozKCkqMi4wKy0xLjApKnM7cFtmWyhmW2U+PjJdfDApKzEzMj4+Ml0+PjNdPXM7cz0rcFsy
Mzk3OV07cz0oK2ozKCkqMi4wKy0xLjApKnM7cFsoZlsoZltlPj4yXXwwKSsxMzI+PjJdfDApKzg+
PjNdPXN9ZWxzZXt6PWZbZysxMzI+PjJdfDA7cFt6Pj4zXT0rcFt6Pj4zXS10O3o9eis4fDA7cFt6
Pj4zXT0rcFt6Pj4zXS13fWQ9YXooYyxkKXwwfX1lbHNle3doaWxlKDEpe2lmKCEoZltkPj4yXXww
KSlicmVhazt1PWQrOHwwO3M9K0woKygrcFt1Pj4zXSkpKitwWzIzOTc4XSt0O3g9ZlsoZltkKzQ+
PjJdfDApKzE2Pj4yXXwwO3Y9Zlt4KzEzMj4+Ml18MDtwW3Y+PjNdPXM7cz0rTSgrKCtwW3U+PjNd
KSkqK3BbMjM5NzldK3c7cFt2Kzg+PjNdPXM7Ylt4KzExOT4+MF09MTtkPWQrMTZ8MH1rPXQqLjE7
bT13Ki4xO3E9JHkoYyl8MDt3aGlsZSgxKXtpZighcSlicmVhayBhO2w9cSsxNnwwO2Q9ZltsPj4y
XXwwO2lmKCEoKGZbKGZbZCsxMTI+PjJdfDApKzg+PjJdfDApPT0wPyEoZltkKzIxMj4+Ml18MCk6
MCkpej0zMztkbyBpZigoenwwKT09MzMpe3o9MDtpZihiW2QrMTE5Pj4wXXwwKXt4PWZbZCsxMzI+
PjJdfDA7cFt4Pj4zXT0rcFt4Pj4zXS10O3g9eCs4fDA7cFt4Pj4zXT0rcFt4Pj4zXS13O2JyZWFr
fWo9U3goYyxxKXwwO2Q9MDtpPTAuMDtoPTAuMDt3aGlsZSgxKXtpZighailicmVhaztnPWZbaj4+
Ml0mMztlPWZbKChnfDApPT0yP2o6aistNDh8MCkrNDA+PjJdfDA7Zz1mWygoZ3wwKT09Mz9qOmor
NDh8MCkrNDA+PjJdfDA7ZG8gaWYoKGV8MCkhPShnfDApPyh5PWZbKChlfDApPT0ocXwwKT9nOmUp
KzE2Pj4yXXwwLChiW3krMTE5Pj4wXXwwKSE9MCk6MClpZighZCl7eD1mW3krMTMyPj4yXXwwO2Q9
MTtpPStwW3g+PjNdO2g9K3BbeCs4Pj4zXTticmVha31lbHNle289KyhkfDApO3g9Zlt5KzEzMj4+
Ml18MDtkPWQrMXwwO3M9KyhkfDApO2k9KCtwW3g+PjNdK2kqbykvcztoPSgrcFt4Kzg+PjNdK2gq
bykvczticmVha313aGlsZSgwKTtqPVR4KGMsaixxKXwwfWRvIGlmKChkfDApPD0xKWlmKChkfDAp
PT0xKXtlPWZbbD4+Ml18MDtkPWZbZSsxMzI+PjJdfDA7cFtkPj4zXT1pKi45OCtrO2g9aCouOStt
O2JyZWFrfWVsc2V7cz0rajMoKSo2LjI4MzE4NTMwNzE3OTU4NjtoPStqMygpKi45O289aCorcFsy
Mzk3OF0qK0woK3MpO2U9ZltsPj4yXXwwO2Q9ZltlKzEzMj4+Ml18MDtwW2Q+PjNdPW87aD0rTSgr
cykqaCorcFsyMzk3OV07YnJlYWt9ZWxzZXtlPWZbbD4+Ml18MDtkPWZbZSsxMzI+PjJdfDA7cFtk
Pj4zXT1pfXdoaWxlKDApO3BbZCs4Pj4zXT1oO2JbZSsxMTk+PjBdPTF9d2hpbGUoMCk7cT1heihj
LHEpfDB9fXdoaWxlKDApO3BbYT4+M109dDtwW2ErOD4+M109dztyZXR1cm59ZnVuY3Rpb24gdXAo
YSl7YT1hfDA7dmFyIGI9MDtiPWZbNDc5MzhdfDA7cmV0dXJuICsoK3BbMjM5NzNdKisoYi1hfDAp
LysoYnwwKSl9ZnVuY3Rpb24gdnAoYSxiLGMsZCl7YT1hfDA7Yj0rYjtjPWN8MDtkPWR8MDt2YXIg
ZT0wLGc9MCxoPTAsaT0wLjA7aWYoIShiPD0wLjApKXtadShkKTtlPSR5KGEpfDA7d2hpbGUoMSl7
aWYoIWUpYnJlYWs7aD1mW2UrMTY+PjJdfDA7Zz0oZltoKzExMj4+Ml18MCkrMTZ8MDtmW2c+PjJd
PTA7ZltnKzQ+PjJdPTA7ZltnKzg+PjJdPTA7ZltnKzEyPj4yXT0wO2g9ZltoKzEzMj4+Ml18MDtp
PStwWzIzOTc1XTtnPX5+K0goKygrcFtoPj4zXS9pKSk7YXYoZCxnLH5+K0goKygrcFtoKzg+PjNd
L2kpKSxlKTtlPWF6KGEsZSl8MH1nPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWcpYnJlYWs7ZT1OeChh
LGcpfDA7d2hpbGUoMSl7aWYoIWUpYnJlYWs7aD1mWygoZltlPj4yXSYzfDApPT0yP2U6ZSstNDh8
MCkrNDA+PjJdfDA7aWYoKGd8MCkhPShofDApKXpwKGcsaCxlKTtlPVB4KGEsZSl8MH1nPWF6KGEs
Zyl8MH1jdihkLDIzKTtBcChhLGIsYyl9cmV0dXJufWZ1bmN0aW9uIHdwKGEsYixjKXthPWF8MDti
PStiO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MDtpZighKGI8PTAuMCkpe2Q9JHkoYSl8MDt3aGlsZSgx
KXtpZighZClicmVhaztnPShmWyhmW2QrMTY+PjJdfDApKzExMj4+Ml18MCkrMTZ8MDtmW2c+PjJd
PTA7ZltnKzQ+PjJdPTA7ZltnKzg+PjJdPTA7ZltnKzEyPj4yXT0wO2Q9YXooYSxkKXwwfWc9JHko
YSl8MDt3aGlsZSgxKXtpZighZylicmVhaztkPWc7d2hpbGUoMSl7ZD1heihhLGQpfDA7aWYoIWQp
YnJlYWs7eXAoZyxkKX1kPU54KGEsZyl8MDt3aGlsZSgxKXtpZighZClicmVhaztlPWZbKChmW2Q+
PjJdJjN8MCk9PTI/ZDpkKy00OHwwKSs0MD4+Ml18MDtpZigoZ3wwKSE9KGV8MCkpenAoZyxlLGQp
O2Q9UHgoYSxkKXwwfWc9YXooYSxnKXwwfUFwKGEsYixjKX1yZXR1cm59ZnVuY3Rpb24geHAoKXtw
WzIzOTczXT0tMS4wO3JldHVybn1mdW5jdGlvbiB5cChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAu
MCxkPTAuMCxlPTAsZz0wO2c9ZlsoZltiKzE2Pj4yXXwwKSsxMzI+PjJdfDA7ZT1mWyhmW2ErMTY+
PjJdfDApKzEzMj4+Ml18MDtjPStwW2c+PjNdLStwW2U+PjNdO2Q9K3BbZys4Pj4zXS0rcFtlKzg+
PjNdO0JwKGEsYixjLGQsZCpkK2MqYyk7cmV0dXJufWZ1bmN0aW9uIHpwKGEsYixjKXthPWF8MDti
PWJ8MDtjPWN8MDt2YXIgZD0wLjAsZT0wLjAsZz0wLjAsaD0wLjAsaT0wLGo9MDtpPWIrMTZ8MDtq
PWZbKGZbaT4+Ml18MCkrMTMyPj4yXXwwO2E9YSsxNnwwO2I9ZlsoZlthPj4yXXwwKSsxMzI+PjJd
fDA7ZT0rcFtqPj4zXS0rcFtiPj4zXTtkPStwW2orOD4+M10tK3BbYis4Pj4zXTtnPWU7aD1kO2Q9
ZCpkO2U9ZSplO3doaWxlKDEpe2Q9ZCtlO2lmKCEoZD09MC4wKSlicmVhaztlPSsoNS0oKGszKCl8
MCklMTB8MCl8MCk7ZD0rKDUtKChrMygpfDApJTEwfDApfDApO2c9ZTtoPWQ7ZD1kKmQ7ZT1lKmV9
ZT0rSigrZCk7Yj1mW2MrMTY+PjJdfDA7ZD0rcFtiKzEyOD4+M107aWYoIShmWzQ3OTM1XXwwKSlk
PWQqZS8rcFtiKzEzNj4+M107ZWxzZSBkPShlLStwW2IrMTM2Pj4zXSkqZC9lO2c9ZCpnO2o9Zlso
ZltpPj4yXXwwKSsxMTI+PjJdfDA7aT1qKzE2fDA7cFtpPj4zXT0rcFtpPj4zXS1nO2g9ZCpoO2o9
aisyNHwwO3Bbaj4+M109K3Bbaj4+M10taDtqPWZbKGZbYT4+Ml18MCkrMTEyPj4yXXwwO2k9aisx
NnwwO3BbaT4+M109K3BbaT4+M10rZztqPWorMjR8MDtwW2o+PjNdPStwW2o+PjNdK2g7cmV0dXJu
fWZ1bmN0aW9uIEFwKGEsYyxkKXthPWF8MDtjPStjO2Q9ZHwwO3ZhciBlPTAuMCxnPTAuMCxoPTAu
MCxpPTAuMCxqPTAsaz0wLGw9MCxtPTAsbj0wLjA7bj1jKmM7bT0oZHwwKT09MDtsPSR5KGEpfDA7
d2hpbGUoMSl7aWYoIWwpYnJlYWs7az1mW2wrMTY+PjJdfDA7aWYoIShiW2srMTE5Pj4wXSYyKSl7
aj1mW2srMTEyPj4yXXwwO2U9K3BbaisxNj4+M107aD0rcFtqKzI0Pj4zXTtnPWgqaCtlKmU7aWYo
ZzxuKXtkPWZbaysxMzI+PjJdfDA7aT0rcFtkPj4zXStlO2U9K3BbZCs4Pj4zXStofWVsc2V7Zz1j
LytKKCtnKTtkPWZbaysxMzI+PjJdfDA7aT0rcFtkPj4zXStnKmU7ZT0rcFtkKzg+PjNdK2cqaH1k
byBpZighbSl7Zz0rSigrKGUqZS8rcFsyMzk4MV0raSppLytwWzIzOTgwXSkpO2lmKChmW2orOD4+
Ml18MCk9PTA/KGZbaysyMTI+PjJdfDApPT0wOjApe3BbZD4+M109aS9nO2U9ZS9nO2JyZWFrfWlm
KCEoZz49MS4wKSl7cFtkPj4zXT1pO2JyZWFrfWVsc2V7cFtkPj4zXT1pKi45NS9nO2U9ZSouOTUv
ZzticmVha319ZWxzZSBwW2Q+PjNdPWk7d2hpbGUoMCk7cFtkKzg+PjNdPWV9bD1heihhLGwpfDB9
cmV0dXJufWZ1bmN0aW9uIEJwKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz0rYztkPStkO2U9K2U7
dmFyIGc9MC4wLGg9MCxpPTA7Zz1jO2M9ZTt3aGlsZSgxKXtpZighKGM9PTAuMCkpYnJlYWs7Yz0r
KDUtKChrMygpfDApJTEwfDApfDApO2Q9Kyg1LSgoazMoKXwwKSUxMHwwKXwwKTtnPWM7Yz1kKmQr
YypjfWlmKCEoZls0NzkzNV18MCkpYz0rcFsyMzk3N10vYztlbHNle2U9K0ooK2MpO2M9K3BbMjM5
NzddLyhlKmMpfWk9ZlthKzE2Pj4yXXwwO2E9ZltpKzExMj4+Ml18MDtpZigoKGZbYSs4Pj4yXXww
KT09MD8oZltpKzIxMj4+Ml18MCk9PTA6MCk/KGg9ZltiKzE2Pj4yXXwwLChmWyhmW2grMTEyPj4y
XXwwKSs4Pj4yXXwwKT09MCk6MCljPShmW2grMjEyPj4yXXwwKT09MD9jKjEwLjA6YztlPWMqZztp
PWZbKGZbYisxNj4+Ml18MCkrMTEyPj4yXXwwO2I9aSsxNnwwO3BbYj4+M109K3BbYj4+M10rZTtn
PWMqZDtpPWkrMjR8MDtwW2k+PjNdPStwW2k+PjNdK2c7aT1hKzE2fDA7cFtpPj4zXT0rcFtpPj4z
XS1lO2k9YSsyNHwwO3BbaT4+M109K3BbaT4+M10tZztyZXR1cm59ZnVuY3Rpb24gQ3AoYSxiLGMp
e2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTA7ZT1mW2IrOD4+Ml18MDtnPWZb
Yj4+Ml18MDtkPWZbYis0Pj4yXXwwO2I9ZTt3aGlsZSgxKXtpZighYilicmVhazthPWU7d2hpbGUo
MSl7aWYoIWEpYnJlYWs7aWYoKGJ8MCkhPShhfDApKXlwKGZbYj4+Ml18MCxmW2E+PjJdfDApO2E9
ZlthKzQ+PjJdfDB9Yj1mW2IrND4+Ml18MH1oPWcrLTF8MDthPWQrLTF8MDtEcChjLGgsYSxlKTtE
cChjLGgsZCxlKTtiPWQrMXwwO0RwKGMsaCxiLGUpO0RwKGMsZyxhLGUpO0RwKGMsZyxiLGUpO2c9
ZysxfDA7RHAoYyxnLGEsZSk7RHAoYyxnLGQsZSk7RHAoYyxnLGIsZSk7cmV0dXJuIDB9ZnVuY3Rp
b24gRHAoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MC4wLGc9MC4wLGg9
MC4wLGk9MCxqPTAsaz0wLGw9MDthPWR2KGEsYixjKXwwO2E6ZG8gaWYoYXwwKXtqPWErOHwwO3do
aWxlKDEpe2lmKCFkKWJyZWFrIGE7Yz1mW2Q+PjJdfDA7aT1jKzE2fDA7YT1qO3doaWxlKDEpe2E9
ZlthPj4yXXwwO2lmKCFhKWJyZWFrO2I9ZlthPj4yXXwwO2w9ZlsoZltiKzE2Pj4yXXwwKSsxMzI+
PjJdfDA7az1mWyhmW2k+PjJdfDApKzEzMj4+Ml18MDtlPStwW2w+PjNdLStwW2s+PjNdO2c9K3Bb
bCs4Pj4zXS0rcFtrKzg+PjNdO2g9ZypnK2UqZTtpZihoPCtwWzIzOTc2XSlCcChjLGIsZSxnLGgp
O2E9YSs0fDB9ZD1mW2QrND4+Ml18MH19d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIEVwKGEsYyl7
YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxpPTA7aD10O3Q9dCsxNnwwO2c9aDtkPUd4
KGEsMTAzMjIyKXwwO2lmKDApcTIoMTAzMTU5LDgsMSxmWzE5NDU3XXwwKXwwO2lmKCEoKGR8MCkh
PTA/KGJbZD4+MF18MCkhPTA6MCkpZD0xMDMxNjg7ZT14MShkLDU4KXwwO2RvIGlmKCFlKWU9MDtl
bHNle2lmKChlfDApIT0oZHwwKT8oKGJbZD4+MF18MCkrLTQ4fDApPj4+MD49MTA6MCl7ZT0wO2Jy
ZWFrfWk9RDIoZCl8MDtkPWUrMXwwO2U9KGl8MCk+MD9pOjB9d2hpbGUoMCk7aWYoMCl7aT1mWzE5
NDU3XXwwO2ZbZz4+Ml09ZTtmW2crND4+Ml09ZDtnMihpLDEwMzE3NixnKXwwfWlmKCEoKGV8MCkh
PTA/IShGcChhLGMsZSl8MCk6MCkpQnEoYSxkKXwwO3Q9aDtyZXR1cm59ZnVuY3Rpb24gRnAoYSxj
LGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0wLjAsaz0wLjAsbD0w
LjAsbT0wLjAsbz0wLjAscT0wLHI9MCxzPTA7cz10O3Q9dCs2NHwwO3E9cztoPXMrNDB8MDtyPWp5
KGEpfDA7aT1reShhKXwwO3pxKGgsYSk7Zls0ODE3Nl09ZltoPj4yXTtmWzQ4MTc3XT1mW2grND4+
Ml07Zls0ODE3OF09ZltoKzg+PjJdO2lmKGJbMTkyNzEyXXwwKXtuWzQ4MTc2XT0rbls0ODE3Nl0q
LjAxMzg4ODg4ODg4ODg4ODg4ODtuWzQ4MTc3XT0rbls0ODE3N10qLjAxMzg4ODg4ODg4ODg4ODg4
OH1lPUdwKGEpfDA7YTpkbyBpZighZSllPTA7ZWxzZXtoPXE7Zz1oKzQwfDA7ZG97ZltoPj4yXT1m
W2M+PjJdO2g9aCs0fDA7Yz1jKzR8MH13aGlsZSgoaHwwKTwoZ3wwKSk7aD1xKzE2fDA7bz0rcFto
Pj4zXTtsPSsoaXwwKSoyLjA7bT0xLjAvKyhWKHIrLTF8MCxyKXwwKTtnPTA7az1vO3doaWxlKDEp
e2lmKCEoKGV8MCkhPTAmKGd8MCk8KGR8MCkpKWJyZWFrIGE7SHAocixxKTtqPStwWzIzOTgzXSor
cFs4NDI5XTtwWzIzOTg0XT1qO3BbMjM5ODVdPWwqaiptO2M9MDt3aGlsZSgxKXtpZigoY3wwKT49
KGZbNDc5NzJdfDApKWJyZWFrO2o9K0lwKGMpO2lmKGo8PTAuMClicmVhaztlPUpwKGEsail8MDtp
ZighZSl7ZT0wO2JyZWFrfWVsc2UgYz1jKzF8MH1qPWsrbztwW2g+PjNdPWo7Zz1nKzF8MDtrPWp9
fXdoaWxlKDApO3Q9cztyZXR1cm4gZXwwfWZ1bmN0aW9uIEdwKGEpe2E9YXwwO3ZhciBiPTAsYz0w
LGQ9MCxlPTA7Yj0wO2U9JHkoYSl8MDt3aGlsZSgxKXtpZighZSlicmVhaztkPWU7d2hpbGUoMSl7
Yz1heihhLGQpfDA7aWYoIWMpYnJlYWs7ZD1jO2I9KE1wKGUsYyl8MCkrYnwwfWU9YXooYSxlKXww
fXJldHVybiBifDB9ZnVuY3Rpb24gSHAoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLjAsZD0wLjAs
ZT0wLjA7ZD0rcFtiKzE2Pj4zXTtwWzg0MzBdPWQ7ZlsxNjg2Ml09ZltiPj4yXTtlPStwW2IrOD4+
M107cFsyMzk4N109ZTtmWzQ3OTcyXT1mW2IrMzI+PjJdO2M9K3BbYisyND4+M107aWYoYz4wLjAp
cFs4NDI5XT1jO3BbMjM5ODNdPWQqZDtpZihlPT0wLjApe2U9K0ooKygrKGF8MCkpKSouMipkO3Bb
MjM5ODddPWV9cmV0dXJufWZ1bmN0aW9uIElwKGEpe2E9YXwwO3ZhciBiPTA7Yj1mWzE2ODYyXXww
O3JldHVybiArKCtwWzIzOTg3XSorKGItYXwwKS8rKGJ8MCkpfWZ1bmN0aW9uIEpwKGEsYyl7YT1h
fDA7Yz0rYzt2YXIgZD0wLGU9MCxnPTAsaD0wLjAsaT0wLGo9MC4wLGs9MC4wLGw9MC4wO2Q9JHko
YSl8MDt3aGlsZSgxKXtpZighZClicmVhaztpPShmWyhmW2QrMTY+PjJdfDApKzExMj4+Ml18MCkr
MTZ8MDtmW2k+PjJdPTA7ZltpKzQ+PjJdPTA7ZltpKzg+PjJdPTA7ZltpKzEyPj4yXT0wO2Q9YXoo
YSxkKXwwfWQ9MDtpPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWkpYnJlYWs7Zz1pO3doaWxlKDEpe2U9
YXooYSxnKXwwO2lmKCFlKWJyZWFrO2c9ZTtkPShLcChpLGUpfDApK2R8MH1lPU54KGEsaSl8MDt3
aGlsZSgxKXtpZighZSlicmVhaztMcChpLGZbKChmW2U+PjJdJjN8MCk9PTI/ZTplKy00OHwwKSs0
MD4+Ml18MCk7ZT1QeChhLGUpfDB9aT1heihhLGkpfDB9YTpkbyBpZighZClkPTA7ZWxzZXtsPWMq
YztnPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWcpYnJlYWsgYTtlPWZbZysxNj4+Ml18MDtpZigoYltl
KzExOT4+MF18MCkhPTMpe2k9ZltlKzExMj4+Ml18MDtqPStwW2krMTY+PjNdO2g9K3BbaSsyND4+
M107az1oKmgraipqO2lmKGs8bCl7ZT1mW2UrMTMyPj4yXXwwO3BbZT4+M109K3BbZT4+M10ran1l
bHNle2s9K0ooK2spO2U9ZltlKzEzMj4+Ml18MDtwW2U+PjNdPStwW2U+PjNdK2oqYy9rO2g9aCpj
L2t9aT1lKzh8MDtwW2k+PjNdPStwW2k+PjNdK2h9Zz1heihhLGcpfDB9fXdoaWxlKDApO3JldHVy
biBkfDB9ZnVuY3Rpb24gS3AoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLjAsZD0wLjAsZT0wLGc9
MDtnPWZbKGZbYisxNj4+Ml18MCkrMTMyPj4yXXwwO2U9ZlsoZlthKzE2Pj4yXXwwKSsxMzI+PjJd
fDA7Yz0rcFtnPj4zXS0rcFtlPj4zXTtkPStwW2crOD4+M10tK3BbZSs4Pj4zXTtyZXR1cm4gT3Ao
YSxiLGMsZCxkKmQrYypjKXwwfWZ1bmN0aW9uIExwKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MC4w
LGQ9MC4wLGU9MCxnPTAuMCxoPTAsaT0wLjAsaj0wLjAsaz0wLGw9MDtpZighKE1wKGEsYil8MCkp
e2g9ZltiKzE2Pj4yXXwwO2w9ZltoKzEzMj4+Ml18MDtlPWZbYSsxNj4+Ml18MDtrPWZbZSsxMzI+
PjJdfDA7ZD0rcFtsPj4zXS0rcFtrPj4zXTtjPStwW2wrOD4+M10tK3Bbays4Pj4zXTtnPStKKCso
YypjK2QqZCkpO2k9K05wKGEpO2k9K05wKGIpK2k7aj1nLWk7Zz1qKmovKCgrcFs4NDMwXStpKSpn
KTtkPWcqZDtiPWZbaCsxMTI+PjJdfDA7YT1iKzE2fDA7cFthPj4zXT0rcFthPj4zXS1kO2M9Zypj
O2I9YisyNHwwO3BbYj4+M109K3BbYj4+M10tYztiPWZbZSsxMTI+PjJdfDA7YT1iKzE2fDA7cFth
Pj4zXT0rcFthPj4zXStkO2I9YisyNHwwO3BbYj4+M109K3BbYj4+M10rY31yZXR1cm59ZnVuY3Rp
b24gTXAoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLjAsZT0wLjAsZz0wLjAsaD0wLjAsaT0wLGo9
MDtpPWZbYysxNj4+Ml18MDtqPWZbaSsxMzI+PjJdfDA7Yz1mW2ErMTY+PjJdfDA7YT1mW2MrMTMy
Pj4yXXwwO2c9K3Bbaj4+M10tK3BbYT4+M107aD0rcFtqKzg+PjNdLStwW2ErOD4+M107aD1oPDAu
MD8taDpoO2E9KGJbMTkyNzEyXXwwKT09MDtkPStwW2MrMzI+PjNdO2lmKGEpe2U9K25bNDgxNzZd
O2Q9ZCouNSplO2U9ZSouNSorcFtpKzMyPj4zXX1lbHNle2U9K25bNDgxNzZdO2Q9ZCouNStlO2U9
K3BbaSszMj4+M10qLjUrZX1pZighKChnPDAuMD8tZzpnKTw9ZStkKSljPTA7ZWxzZXtkPStwW2Mr
NDA+PjNdO2lmKGEpe2c9K25bNDgxNzddO2U9ZCouNSpnO2Q9ZyouNSorcFtpKzQwPj4zXX1lbHNl
e2c9K25bNDgxNzddO2U9ZCouNStnO2Q9K3BbaSs0MD4+M10qLjUrZ31jPWg8PWQrZSYxfXJldHVy
biBjfDB9ZnVuY3Rpb24gTnAoYSl7YT1hfDA7dmFyIGM9MC4wLGQ9MC4wO2E9ZlthKzE2Pj4yXXww
O2M9K3BbYSszMj4+M107aWYoIShiWzE5MjcxMl18MCkpe2Q9YyouNSorbls0ODE3Nl07Yz0rcFth
KzQwPj4zXSouNSorbls0ODE3N119ZWxzZXtkPWMqLjUrICtuWzQ4MTc2XTtjPStwW2ErNDA+PjNd
Ki41KyArbls0ODE3N119cmV0dXJuICsoK0ooKyhjKmMrZCpkKSkpfWZ1bmN0aW9uIE9wKGEsYixj
LGQsZSl7YT1hfDA7Yj1ifDA7Yz0rYztkPStkO2U9K2U7dmFyIGc9MCxoPTA7d2hpbGUoMSl7aWYo
IShlPT0wLjApKWJyZWFrO2U9Kyg1LSgoazMoKXwwKSUxMHwwKXwwKTtkPSsoNS0oKGszKCl8MCkl
MTB8MCl8MCk7Yz1lO2U9ZCpkK2UqZX1nPU1wKGEsYil8MDtlPSgoZ3wwKT09MD8rcFsyMzk4NV06
K3BbMjM5ODRdKS9lO2M9ZSpjO2I9ZlsoZltiKzE2Pj4yXXwwKSsxMTI+PjJdfDA7aD1iKzE2fDA7
cFtoPj4zXT0rcFtoPj4zXStjO2U9ZSpkO2I9YisyNHwwO3BbYj4+M109K3BbYj4+M10rZTtiPWZb
KGZbYSsxNj4+Ml18MCkrMTEyPj4yXXwwO2E9YisxNnwwO3BbYT4+M109K3BbYT4+M10tYztiPWIr
MjR8MDtwW2I+PjNdPStwW2I+PjNdLWU7cmV0dXJuIGd8MH1mdW5jdGlvbiBQcChhKXthPWF8MDtp
TihhLDIpO2RbKGZbYSsxNj4+Ml18MCkrMTc2Pj4xXT0yO2ZbNDgzMjhdPTI7UXAoYSk7cmV0dXJu
fWZ1bmN0aW9uIFFwKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTA7ZD1ESCgoankoYSl8MCk8
PDIpfDA7Yj1ESCgoKGp5KGEpfDApPDwyKSs0fDApfDA7ZT1hKzE2fDA7ZlsoZltlPj4yXXwwKSsx
NTI+PjJdPWI7Yj0keShhKXwwO2M9MDt3aGlsZSgxKXtpZighYilicmVhaztpbShiKTtmWyhmW2Ir
MTY+PjJdfDApKzExMj4+Ml09ZCsoYzw8Mik7ZlsoZlsoZltlPj4yXXwwKSsxNTI+PjJdfDApKyhj
PDwyKT4+Ml09YjtiPWF6KGEsYil8MDtjPWMrMXwwfWM9JHkoYSl8MDt3aGlsZSgxKXtpZighYyli
cmVhaztiPU54KGEsYyl8MDt3aGlsZSgxKXtpZighYilicmVhaztScChiKTtiPVB4KGEsYil8MH1j
PWF6KGEsYyl8MH1yZXR1cm59ZnVuY3Rpb24gUnAoYSl7YT1hfDA7dmFyIGI9MC4wO0p6KGEsMTQ1
NzMwLDE3NiwxKXwwO25NKGEpfDA7Yj0rVUwoYSxmWzQ4MzY2XXwwLDEuMCwwLjApO3BbKGZbYSsx
Nj4+Ml18MCkrMTI4Pj4zXT1iO3JldHVybn1mdW5jdGlvbiBTcChhLGMpe2E9YXwwO2M9Y3wwO3Zh
ciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDttPXQ7dD10KzE2fDA7bD1tKzR8
MDtrPW07YltsPj4wXT1iWzcyMjc2XXwwO2JbbCsxPj4wXT1iWzcyMjc3XXwwO2JbbCsyPj4wXT1i
WzcyMjc4XXwwO2JbbCszPj4wXT1iWzcyMjc5XXwwO2w9ZXkoMTAzMTk5LGwsMCl8MDtKeihsLDEw
MzIwNywyODAsMSl8MDtmWyhmW2ErMTY+PjJdfDApKzE0MD4+Ml09bDtkPSR5KGEpfDA7d2hpbGUo
MSl7aWYoIWQpYnJlYWs7ZT1kKzE2fDA7aWYoIShmW2ZbKGZbZT4+Ml18MCkrMTEyPj4yXT4+Ml18
MCkpe2o9VHAobCxBeShkKXwwLGQpfDA7ZltmWyhmW2U+PjJdfDApKzExMj4+Ml0+PjJdPWp9ZD1h
eihhLGQpfDB9ZT0keShhKXwwO3doaWxlKDEpe2lmKCFlKWJyZWFrO2Q9TngoYSxlKXwwO3doaWxl
KDEpe2lmKCFkKWJyZWFrO2g9ZltkPj4yXSYzO2c9ZltmWyhmWyhmWygoaHwwKT09Mz9kOmQrNDh8
MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsxMTI+PjJdPj4yXXwwO2g9ZltmWyhmWyhmWygoaHwwKT09
Mj9kOmQrLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTEyPj4yXT4+Ml18MDtpZigoZ3wwKSE9
KGh8MCkpSnooX3gobCxnLGgsMCwxKXwwLDE0NTczMCwxNzYsMSl8MDtkPVB4KGEsZCl8MH1lPWF6
KGEsZSl8MH1qPXhEKGwsaywwKXwwO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KGZbaz4+Ml18MCkp
YnJlYWs7aD1mW2orKGU8PDIpPj4yXXwwO2Q9JHkoaCl8MDt3aGlsZSgxKXtpZighZClicmVhaztn
PU54KGEsZltmWyhmW2QrMTY+PjJdfDApKzExMj4+Ml0+PjJdfDApfDA7d2hpbGUoMSl7aWYoIWcp
YnJlYWs7aT1mW2ZbKGZbKGZbKChmW2c+PjJdJjN8MCk9PTI/ZzpnKy00OHwwKSs0MD4+Ml18MCkr
MTY+PjJdfDApKzExMj4+Ml0+PjJdfDA7aWYoKGR8MCkhPShpfDApKXtpPV94KGwsZCxpLDAsMSl8
MDtKeihpLDE0NTczMCwxNzYsMSl8MDtjeShoLGksMSl8MH1nPVB4KGEsZyl8MH1kPWF6KGgsZCl8
MH1lPWUrMXwwfWQ9JHkobCl8MDt3aGlsZSgxKXtpZighZClicmVhaztlPU54KGwsZCl8MDt3aGls
ZSgxKXtpZighZSlicmVhazthPURIKDgpfDA7ZlsoZltlKzE2Pj4yXXwwKSsxMjA+PjJdPWE7ZT1Q
eChsLGUpfDB9ZD1heihsLGQpfDB9ZltjPj4yXT1mW2s+PjJdO3Q9bTtyZXR1cm4ganwwfWZ1bmN0
aW9uIFRwKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wO2I9anooYSxiLDEpfDA7Snoo
YiwxNDU3MTcsMzA0LDEpfDA7ZD1ESCg0MCl8MDthPWIrMTZ8MDtmWyhmW2E+PjJdfDApKzExMj4+
Ml09ZDtkPURIKGZbNDgzMjhdPDwzKXwwO2E9ZlthPj4yXXwwO2ZbYSsxMzI+PjJdPWQ7ZD1mW2Mr
MTY+PjJdfDA7cFthKzg4Pj4zXT0rcFtkKzg4Pj4zXTtwW2ErOTY+PjNdPStwW2QrOTY+PjNdO3Bb
YSs4MD4+M109K3BbZCs4MD4+M107ZltmW2ErMTEyPj4yXT4+Ml09YztyZXR1cm4gYnwwfWZ1bmN0
aW9uIFVwKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTA7aD10O3Q9dCs0
OHwwO2I9aCszMnwwO2Q9aDtpZihqeShhKXwwKXtnPVNwKGEsYil8MDtlPWZbYj4+Ml18MDtiPWZb
Zz4+Ml18MDtpZigoZXwwKT09MSl7ZXYoYixhKTtWcChmW2c+PjJdfDApO0NxKGEpfDB9ZWxzZXtj
PWZbYis2MD4+Ml18MDtlRShhLDIsOCxkKXwwO2I9MDt3aGlsZSgxKXtpZigoYnwwKT49KGV8MCkp
YnJlYWs7aT1mW2crKGI8PDIpPj4yXXwwO2V2KGksYSk7Q3EoaSl8MDtiPWIrMXwwfWRFKGUsZyxj
LGQpfDA7Yj0wO3doaWxlKDEpe2lmKChifDApPj0oZXwwKSlicmVhaztWcChmW2crKGI8PDIpPj4y
XXwwKTtiPWIrMXwwfX1NXyhnKX10PWg7cmV0dXJufWZ1bmN0aW9uIFZwKGEpe2E9YXwwO3ZhciBi
PTAsYz0wLGQ9MDtiPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7Yz1mW2IrMTY+PjJdfDA7
ZD1mW2MrMTMyPj4yXXwwO2M9ZlsoZlsoZltmW2MrMTEyPj4yXT4+Ml18MCkrMTY+PjJdfDApKzEz
Mj4+Ml18MDtwW2M+PjNdPStwW2Q+PjNdO3BbYys4Pj4zXT0rcFtkKzg+PjNdO2I9YXooYSxiKXww
fXJldHVybn1mdW5jdGlvbiBXcChhKXthPWF8MDt2YXIgYj0wO2lmKGp5KGEpfDApe1BwKGEpO1Vw
KGEpO2I9KCR5KGEpfDApKzE2fDA7TV8oZlsoZltiPj4yXXwwKSsxMTI+PjJdfDApO3JuKGEpO25K
KGEpfXJldHVybn1mdW5jdGlvbiBYcChhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTA7Yj0keShhKXww
O2lmKGJ8MCl7ZD1hKzE2fDA7WXAoZlsoZltkPj4yXXwwKSsxNDA+PjJdfDApO3doaWxlKDEpe2lm
KCFiKWJyZWFrO2M9TngoYSxiKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO1NNKGMpO2M9UHgoYSxj
KXwwfVFNKGIpO2I9YXooYSxiKXwwfU1fKGZbKGZbZD4+Ml18MCkrMTUyPj4yXXwwKTtpZigob3oo
YSl8MCkhPShhfDApKVB6KGEsMCwxNDU3NTMpfXJldHVybn1mdW5jdGlvbiBZcChhKXthPWF8MDt2
YXIgYj0wLGM9MDtjPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7Yj1OeChhLGMpfDA7d2hp
bGUoMSl7aWYoIWIpYnJlYWs7TV8oZlsoZltiKzE2Pj4yXXwwKSsxMjA+PjJdfDApO2I9UHgoYSxi
KXwwfWI9YysxNnwwO01fKGZbKGZbYj4+Ml18MCkrMTEyPj4yXXwwKTtNXyhmWyhmW2I+PjJdfDAp
KzEzMj4+Ml18MCk7Yz1heihhLGMpfDB9aXkoYSl8MDtyZXR1cm59ZnVuY3Rpb24gWnAoYSl7YT1h
fDA7dmFyIGI9MCxjPTAsZD0wLjAsZT0wLGc9MC4wLGg9MC4wLGk9MC4wLGo9MCxrPTAsbD0wLG09
MC4wLG49MC4wO2s9dDt0PXQrMTZ8MDtqPWs7YTpkbyBpZihfcChhLGopfDApe2I9KCR5KGEpfDAp
KzE2fDA7Yj1mWyhmW2I+PjJdfDApKzEzMj4+Ml18MDtnPStwW2I+PjNdO2Q9K3BbYis4Pj4zXTti
PSR5KGEpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7ZT1mWyhmW2IrMTY+PjJdfDApKzEzMj4+Ml18
MDtwW2U+PjNdPStwW2U+PjNdLWc7ZT1lKzh8MDtwW2U+PjNdPStwW2U+PjNdLWQ7Yj1heihhLGIp
fDB9Yj0oZyE9MC4wfGQhPTAuMCkmMTtjPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWsgYTtl
PU54KGEsYyl8MDtpZihlfDApYnJlYWs7Yz1heihhLGMpfDB9bD1mW2U+PjJdJjM7Yz1mWyhmWyhm
WygobHwwKT09Mj9lOmUrLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTMyPj4yXXwwO2U9Zlso
ZlsoZlsoKGx8MCk9PTM/ZTplKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTMyPj4yXXwwO2g9
K3BbZSs4Pj4zXTtpPStwW2U+PjNdO2Q9K1IoKygrcFtjKzg+PjNdLWgpLCsoK3BbYz4+M10taSkp
O2Q9K3Bbaj4+M10tZDtwW2o+PjNdPWQ7aWYoZCE9MC4wKXtnPStMKCtkKTtkPStNKCtkKTtiPSR5
KGEpfDA7d2hpbGUoMSl7aWYoIWIpe2I9MTticmVhayBhfWo9ZlsoZltiKzE2Pj4yXXwwKSsxMzI+
PjJdfDA7bj0rcFtqPj4zXS1pO2w9ais4fDA7bT0rcFtsPj4zXS1oO3Bbaj4+M109bipnK2ktbSpk
O3BbbD4+M109bipkK2grbSpnO2I9YXooYSxiKXwwfX19ZWxzZSBiPTA7d2hpbGUoMCk7dD1rO3Jl
dHVybiBifDB9ZnVuY3Rpb24gX3AoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLjAsZT0wLGc9MDtn
PXQ7dD10KzE2fDA7ZT1nO2E9R3goYSwxMDMyMTIpfDA7ZG8gaWYoKGF8MCkhPTA/KGJbYT4+MF18
MCkhPTA6MCl7ZD0rQjIoYSxlKTtpZigoZltlPj4yXXwwKT09KGF8MCkpaWYoISgoWkwoYSl8MCk8
PDI0Pj4yNCkpe2E9MDticmVha31lbHNlIGQ9MC4wO3doaWxlKDEpe2lmKCEoZD4xODAuMCkpYnJl
YWs7ZD1kKy0zNjAuMH13aGlsZSgxKXtpZighKGQ8PS0xODAuMCkpYnJlYWs7ZD1kKzM2MC4wfXBb
Yz4+M109ZCouMDE3NDUzMjkyNTE5OTQzMjk1O2E9MX1lbHNlIGE9MDt3aGlsZSgwKTt0PWc7cmV0
dXJuIGF8MH1mdW5jdGlvbiAkcChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MDtkPUd4
KGEsMTAzMjIyKXwwO3JldHVybiBhcShhLChkfDApPT0wPygoY3wwKT09MD8xOTQ4NzA6Yyk6ZCxi
KXwwfWZ1bmN0aW9uIGFxKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAs
aT0wLGo9MCxrPTAsbD0wLG09MC4wO2w9dDt0PXQrMzJ8MDtrPWwrMTZ8MDtpPWwrOHwwO2g9bDtk
byBpZigoY3wwKSE9MD8oYltjPj4wXXwwKSE9MDowKXtlPTU0NzI7d2hpbGUoMSl7Zz1mW2UrND4+
Ml18MDtpZighZylicmVhaztpZighKGEzKGMsZyxmW2UrOD4+Ml18MCl8MCkpe2o9NzticmVha31l
PWUrMTZ8MH1pZigoanwwKT09Nyl7aWYoIShmW2UrMTI+PjJdfDApKXtmW2g+PjJdPWc7WXcoMCwx
MDMyMzAsaCl8MDtlPTU0NzJ9aD1mW2U+PjJdfDA7ZltkPj4yXT1oO2ZbZCs0Pj4yXT1mW2UrMTI+
PjJdO2lmKChofDApPT0xOClicShhLGMrKGZbZSs4Pj4yXXwwKXwwLGQpfWlmKCEoZltlKzQ+PjJd
fDApKXtlPV9MKGMsNjMpfDA7aWYoZTw8MjQ+PjI0IT02MylpZighKGU8PDI0Pj4yNCkpZT1kO2Vs
c2V7ZltkPj4yXT0wO2U9MTQzOTc5O2o9MTg7YnJlYWt9ZWxzZXtmW2k+PjJdPWM7WXcoMCwxMDMy
NzIsaSl8MDtlPWR9ZltlPj4yXT0xO2U9MTAzMzE5O2o9MTh9fWVsc2Ugaj00O3doaWxlKDApO2lm
KChqfDApPT00KXtmW2Q+PjJdPTA7ZT0xNDM5Nzk7aj0xOH1pZigoanwwKT09MTgpZltkKzQ+PjJd
PWU7aWYoMCl7aj1mWzE5NDU3XXwwO2k9ZltkKzg+PjJdfDA7bT0rcFtkKzE2Pj4zXTtmW2s+PjJd
PWZbZCs0Pj4yXTtmW2srND4+Ml09aTtwW2srOD4+M109bTtnMihqLDEwMzMyNyxrKXwwfXQ9bDty
ZXR1cm4gZHwwfWZ1bmN0aW9uIGJxKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9
MC4wLGc9MCxoPTA7ZD10O3Q9dCsxNnwwO2c9ZDtoPWQrNHwwO2ZbZz4+Ml09aDtnPShNMShiLDE0
NTY2NSxnKXwwKT4wO2I9ZltoPj4yXXwwO2ZbYys4Pj4yXT1nJihifDApPi0xP2I6MWUzO2U9K1VM
KGEsd3goYSwwLDEwMzM2MywwKXwwLC00LjAsLTEuMGUxMCk7cFtjKzE2Pj4zXT1lO3Q9ZDtyZXR1
cm59ZnVuY3Rpb24gY3EoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxp
PTAsaj0wO2g9dDt0PXQrMTZ8MDtnPWgrOHwwO2U9aDtkbyBpZigoankoYSl8MCk+PTIpe2M9WnAo
YSl8MDtjPShkcShhKXwwKStjfDA7ZD1mW2I+PjJdfDA7aWYoZCl7aWYoMCl7ZD1mWzE5NDU3XXww
O2o9QXkoYSl8MDtpPWZbYis0Pj4yXXwwO2ZbZT4+Ml09ajtmW2UrND4+Ml09aTtnMihkLDEwMzY5
MixlKXwwO2Q9ZltiPj4yXXwwfWlmKGQ+Pj4wPjIpe3N3aXRjaChkfDApe2Nhc2UgMzp7ZD1lcihh
LDEpfDA7YnJlYWt9Y2FzZSA0OntkPWVyKGEsMCl8MDticmVha31jYXNlIDY6Y2FzZSA1OntkPTA7
YnJlYWt9Y2FzZSAxMDpjYXNlIDk6Y2FzZSA3OmNhc2UgODpjYXNlIDE0OmNhc2UgMTM6Y2FzZSAx
MTpjYXNlIDEyOntRcShhLGQpfDA7ZD0wO2JyZWFrfWNhc2UgMTU6e2Q9ZXIoYSwtMSl8MDticmVh
a31kZWZhdWx0OntmW2c+PjJdPWZbYis0Pj4yXTtZdygwLDEwMzcxNSxnKXwwO2Q9MH19Yz1kK2N8
MDticmVha31pZihlcShhKXwwKXtmcSgpO01fKGZbNDgxNzldfDApO2ZbNDgxNzldPTA7YnJlYWt9
Z3EoYSk7aWYoKGZbYj4+Ml18MCk9PTIpZD1ocSgpfDA7ZWxzZSBkPWlxKCl8MDtpZihkfDApanEo
KTtmcSgpO01fKGZbNDgxNzldfDApO2ZbNDgxNzldPTA7Yz1kK2N8MH19ZWxzZSBjPTA7d2hpbGUo
MCk7dD1oO3JldHVybiBjfDB9ZnVuY3Rpb24gZHEoYSl7YT1hfDA7dmFyIGI9MCxjPTAuMCxkPTAs
ZT0wLGc9MC4wLGg9MCxpPTAsaj0wLGs9MDtrPXQ7dD10KzQ4fDA7aD1rKzI0fDA7ZT1rKzE2fDA7
aT1rO2I9R3goYSwxNDc4NzcpfDA7YTpkbyBpZigoKGJ8MCkhPTA/KGo9aSs4fDAsZltlPj4yXT1p
LGZbZSs0Pj4yXT1qLGQ9TTEoYiwxMTM4MjksZSl8MCwoZHwwKSE9MCk6MCk/KGc9K3BbaT4+M10s
ISgrSSgrZyk8MS4wZS0wOSkpOjApe2lmKChkfDApIT0xKXtjPStwW2o+PjNdO2lmKCtJKCtjKTwx
LjBlLTA5KXtiPTA7YnJlYWt9fWVsc2V7cFtqPj4zXT1nO2M9Z31pZighKGc9PTEuMCZjPT0xLjAp
KXtpZigwKXtlPWZbMTk0NTddfDA7cFtoPj4zXT1nO3BbaCs4Pj4zXT1jO2cyKGUsMTAzODc1LGgp
fDB9Yj0keShhKXwwO3doaWxlKDEpe2lmKCFiKXtiPTE7YnJlYWsgYX1oPWZbKGZbYisxNj4+Ml18
MCkrMTMyPj4yXXwwO3BbaD4+M109K3BbaD4+M10qK3BbaT4+M107aD1oKzh8MDtwW2g+PjNdPStw
W2g+PjNdKitwW2o+PjNdO2I9YXooYSxiKXwwfX1lbHNlIGI9MH1lbHNlIGI9MDt3aGlsZSgwKTt0
PWs7cmV0dXJuIGJ8MH1mdW5jdGlvbiBlcShhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLjAs
aD0wLjAsaT0wLGo9MCxrPTAsbD0wO2s9dDt0PXQrMTZ8MDtpPWs7ZT1qeShhKXwwO2ZbNDgxODhd
PWU7RHIoKTtlPUVIKChmWzQ4MTg4XXwwKSo5NnwwKXwwO2ZbNDgyMDNdPWU7ZT0keShhKXwwO2M9
Zls0ODIwM118MDt6cShpLGEpO2g9K25baT4+Ml07Zz0rbltpKzQ+PjJdO2k9KGJbaSs4Pj4wXXww
KT09MDtnPWk/ZzpnKi4wMTM4ODg4ODg4ODg4ODg4ODg7aD1pP2g6aCouMDEzODg4ODg4ODg4ODg4
ODg4O2k9aT8yOjE7ZD0wO3doaWxlKDEpe2lmKChkfDApPj0oZls0ODE4OF18MCkpe2M9MDticmVh
a31sPWZbKGZbZSsxNj4+Ml18MCkrMTMyPj4yXXwwO3BbYys4Pj4zXT0rcFtsPj4zXTtwW2MrMTY+
PjNdPStwW2wrOD4+M107aWYodmJbaSYzXShjKzQwfDAsZSxoLGcpfDApe2o9NDticmVha31mW2Mr
MjQ+PjJdPWQ7ZltjKzI4Pj4yXT0xO2ZbYz4+Ml09ZTtmW2MrODg+PjJdPTA7Yz1jKzk2fDA7ZD1k
KzF8MDtlPWF6KGEsZSl8MH1pZigoanwwKT09NCl7TV8oZls0ODIwM118MCk7Zls0ODIwM109MDtj
PTF9dD1rO3JldHVybiBjfDB9ZnVuY3Rpb24gZnEoKXt2YXIgYT0wLGI9MDthPWZbNDgyMDNdfDA7
Yj0wO3doaWxlKDEpe2lmKChifDApPj0oZls0ODE4OF18MCkpYnJlYWs7eXQoYSs0MHwwKTthPWEr
OTZ8MDtiPWIrMXwwfXh0KCk7ZHMoKTtNXyhmWzQ4MjAzXXwwKTtyZXR1cm59ZnVuY3Rpb24gZ3Eo
YSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MC4wLGg9MC4wLGk9MC4wLGo9MC4wLGs9MCxsPTAs
bT0wLG49MCxvPTAuMCxxPTAuMCxyPTAuMCxzPTAuMDttPXQ7dD10KzMyfDA7az1tKzE2fDA7bD1t
O249Zls0ODIwM118MDtoPStwW24rOD4+M107aj0rcFtuKzE2Pj4zXTtlPWZbNDgxODhdfDA7Yz1u
O2Q9MTtnPStwW24rNDA+PjNdK2g7aD0rcFtuKzU2Pj4zXStoO2k9K3Bbbis0OD4+M10rajtqPStw
W24rNjQ+PjNdK2o7d2hpbGUoMSl7aWYoKGR8MCk+PShlfDApKWJyZWFrO3I9K3BbYysxMDQ+PjNd
O289K3BbYysxMTI+PjNdO3M9K3BbYysxMzY+PjNdK3I7cT0rcFtjKzE0ND4+M10rbztyPStwW2Mr
MTUyPj4zXStyO289K3BbYysxNjA+PjNdK287Yz1jKzk2fDA7ZD1kKzF8MDtnPXM8Zz9zOmc7aD1y
Pmg/cjpoO2k9cTxpP3E6aTtqPW8+aj9vOmp9Yz1HeChhLDEwMzgxNSl8MDtpZihjfDA/YltjPj4w
XXwwOjApe3M9K0MyKGMpO3BbODQzMl09c31yPStwWzg0MzJdO3M9ciooai1pKTtyPXIqKGgtZyk7
cFtrPj4zXT1nLXI7cFtrKzg+PjNdPWktcztwW2w+PjNdPXIraDtwW2wrOD4+M109cytqO3JxKGss
bCk7dD1tO3JldHVybn1mdW5jdGlvbiBocSgpe3ZhciBhPTAsYj0wLGM9MCxkPTA7Yz10O3Q9dCsx
NnwwO2I9YztpZihrcSgwKXwwKXtscSgpO2E9MDtkb3t5cSgpO2E9YSsxfDB9d2hpbGUoKGtxKGEp
fDApIT0wKTtpZighMClhPTE7ZWxzZXtkPWZbMTk0NTddfDA7ZltiPj4yXT1hO2cyKGQsMTAzNzQz
LGIpfDA7YT0xfX1lbHNlIGE9MDt0PWM7cmV0dXJuIGF8MH1mdW5jdGlvbiBpcSgpe3ZhciBhPTAs
Yj0wLGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wO2k9dDt0PXQrMTZ8MDtoPWkrOHwwO2c9aTtiPWtx
KDApfDA7aWYoIWIpYT0wO2Vsc2V7bHEoKTttcSgwKTtmdSgwLDEpO2E9MDtkPTA7Yz0wO3doaWxl
KDEpe29xKCk7Yz1jKzF8MDtlPWtxKGMpfDA7aWYoIWUpYnJlYWs7Yj0oZXwwKTwoYnwwKT8wOmQr
MXwwO2ZbNDgxODBdPTE7aWYoYil7cHEoKTthPWErMXwwfW1xKDEpO2Z1KDAsMSk7ZD1iO2I9ZX1p
ZigwKXtlPWZbMTk0NTddfDA7ZltnPj4yXT1jO2cyKGUsMTAzNzQzLGcpfDA7ZltoPj4yXT1hO2cy
KGUsMTAzNzcwLGgpfDB9cXEoKTthPTF9dD1pO3JldHVybiBhfDB9ZnVuY3Rpb24ganEoKXt2YXIg
YT0wLGI9MCxjPTAsZD0wO2M9Zls0ODE4OF18MDthPWZbNDgyMDNdfDA7Yj0wO3doaWxlKDEpe2lm
KChifDApPj0oY3wwKSlicmVhaztkPWZbKGZbKGZbYT4+Ml18MCkrMTY+PjJdfDApKzEzMj4+Ml18
MDtwW2Q+PjNdPStwW2ErOD4+M107cFtkKzg+PjNdPStwW2ErMTY+PjNdO2E9YSs5NnwwO2I9Yisx
fDB9cmV0dXJufWZ1bmN0aW9uIGtxKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLGg9
MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wO3A9dDt0PXQrNDh8MDtuPXArMjR8MDtt
PXArOHwwO289cDtjPWZbNDgyMDNdfDA7ZD1mWzQ4MTg4XXwwO2I9MDt3aGlsZSgxKXtpZigoYnww
KT49KGR8MCkpYnJlYWs7ZltjKyhiKjk2fDApKzMyPj4yXT0wO2I9YisxfDB9ZT0wO2I9MDt3aGls
ZSgxKXtpZigoYnwwKT49KGQrLTF8MCkpYnJlYWs7bD1jKzk2fDA7Yj1iKzF8MDtqPWMrOHwwO2s9
Yys0MHwwO2k9YyszMnwwO2c9bDtoPWI7d2hpbGUoMSl7aWYoKGh8MCk+PShkfDApKWJyZWFrO2Q9
Zys4fDA7ZlttPj4yXT1mW2o+PjJdO2ZbbSs0Pj4yXT1mW2orND4+Ml07ZlttKzg+PjJdPWZbais4
Pj4yXTtmW20rMTI+PjJdPWZbaisxMj4+Ml07ZltuPj4yXT1mW2Q+PjJdO2Zbbis0Pj4yXT1mW2Qr
ND4+Ml07ZltuKzg+PjJdPWZbZCs4Pj4yXTtmW24rMTI+PjJdPWZbZCsxMj4+Ml07aWYoIShIdCht
LGssbixnKzQwfDApfDApKWM9ZTtlbHNle2ZbaT4+Ml09MTtmW2crMzI+PjJdPTE7Yz1lKzF8MH1n
PWcrOTZ8MDtoPWgrMXwwO2U9YztkPWZbNDgxODhdfDB9Yz1sfWlmKDA+MSl7bj1mWzE5NDU3XXww
O2Zbbz4+Ml09YTtmW28rND4+Ml09ZTtnMihuLDEwMzc5NixvKXwwfXQ9cDtyZXR1cm4gZXwwfWZ1
bmN0aW9uIGxxKCl7dmFyIGE9MCxiPTAsYz0wLGQ9MCxlPTAuMCxnPTAsaD0wLGk9MC4wLGo9MC4w
LGs9MC4wLGw9MCxtPTAsbj0wLjAsbz0wLHE9MCxyPTAscz0wO3dxKCk7aD1mWzQ4MTgyXXwwO2I9
Zls0ODE3OV18MDt3aGlsZSgxKXtkPWI7aWYoYj4+PjA+PWg+Pj4wKWJyZWFrO2c9Yis0fDA7YTpk
byBpZigoZz4+PjA8aD4+PjA/KGw9ZltnPj4yXXwwLG09ZltiPj4yXXwwLG49K3BbbT4+M10sISgr
cFtsPj4zXSE9bikpOjApPyhpPStwW20rOD4+M10sISgrcFtsKzg+PjNdIT1pKSk6MCl7YT1iKzh8
MDtjPTI7d2hpbGUoMSl7aWYoYT4+PjA+PWg+Pj4wKWJyZWFrO3E9ZlthPj4yXXwwO2o9K3BbcT4+
M107az0rcFtxKzg+PjNdO2lmKCEoaj09biZrPT1pKSl7bz0xMTticmVha31hPWErNHwwO2M9Yysx
fDB9aWYoKG98MCk9PTExPyhvPTAsaz09aSk6MCl7ZT0oai1uKS8rKGN8MCk7ZD0oKChhPj4+MD5n
Pj4+MD9hOmcpKy0xKygwLWQpfDApPj4+MikrMXwwO2M9MTtiPWc7d2hpbGUoMSl7aWYoKGN8MCk9
PShkfDApKWJyZWFrIGE7cT1mW2I+PjJdfDA7cFtxPj4zXT0rcFtxPj4zXStlKisoY3wwKTtjPWMr
MXwwO2I9Yis0fDB9fWQ9Zls0ODIwM118MDtjPWc7d2hpbGUoMSl7aWYoYz4+PjA+PWE+Pj4wKWJy
ZWFrIGE7Zz1mW2I+PjJdfDA7cz1mW2crMTY+PjJdfDA7cT1mW2M+PjJdfDA7cj1mW3ErMTY+PjJd
fDA7cFtxPj4zXT0oK3BbZCsocyo5NnwwKSs1Nj4+M10tK3BbZCsocyo5NnwwKSs0MD4+M10rICtw
W2QrKHIqOTZ8MCkrNTY+PjNdLStwW2QrKHIqOTZ8MCkrNDA+PjNdKSouNSsgK3BbZz4+M107Yz1j
KzR8MDtiPWIrNHwwfX1lbHNlIGE9Zzt3aGlsZSgwKTtiPWF9cmV0dXJufWZ1bmN0aW9uIG1xKGEp
e2E9YXwwO3ZhciBiPTAuMCxjPTAuMCxkPTAuMCxlPTAsZz0wLjAsaD0wLGk9MCxqPTA7aWYoYXww
KXdxKCk7aD1mWzQ4MTc5XXwwO2k9ZltoPj4yXXwwO2M9K3BbaT4+M107cFsyNDAwMl09YztqPWZb
NDgxODhdfDA7ZT0xO2c9K3BbaT4+M107d2hpbGUoMSl7aWYoKGV8MCk+PShqfDApKWJyZWFrO2E9
ZltoKyhlPDwyKT4+Ml18MDtiPStwW2E+PjNdO2lmKGI8Yyl7cFsyNDAwMl09YjtkPStwW2E+PjNd
fWVsc2V7ZD1iO2I9Y31lPWUrMXwwO2M9YjtnPWQ+Zz9kOmd9ZD0rcFtpKzg+PjNdO3BbMjQwMDNd
PWQ7cFsyNDAwNV09K3BbKGZbaCsoaistMTw8Mik+PjJdfDApKzg+PjNdLWQ7cFsyNDAwNF09Zy1j
O3JldHVybn1mdW5jdGlvbiBucSgpe3ZhciBhPTA7YT1mWzQ4MTgxXXwwO2lmKGE+Pj4wPChmWzQ4
MTgyXXwwKT4+PjApe2ZbNDgxODFdPWErNDthPWZbYT4+Ml18MH1lbHNlIGE9MDtyZXR1cm4gYXww
fWZ1bmN0aW9uIG9xKCl7dmFyIGE9MCxiPTAsYz0wO2E9Zls0ODIwM118MDtzcSgpO2M9KGZbNDgx
ODBdfDApPT0wO2I9MDt3aGlsZSgxKXtpZigoYnwwKT49KGZbNDgxODhdfDApKWJyZWFrO2lmKCEo
Yz8hKGZbYSszMj4+Ml18MCk6MCkpdHEoYSk7YT1hKzk2fDA7Yj1iKzF8MH1yZXR1cm59ZnVuY3Rp
b24gcHEoKXt2YXIgYT0wLGI9MCxjPTAsZD0wLjAsZT0wLjAsZj0wLjAsZz0wLjAsaD0wLjAsaT0w
LjA7YT10O3Q9dCszMnwwO2M9YSsxNnwwO2I9YTtpPStwWzIzOTk4XTtoPStwWzIzOTk2XTtnPStw
WzIzOTk5XTtlPStwWzIzOTk3XTtkPShoLWUpKi4wNTtmPShpLWcpKi4wNTtwW2I+PjNdPWYraTtw
W2IrOD4+M109ZCtoO3BbYz4+M109Zy1mO3BbYys4Pj4zXT1lLWQ7cnEoYyxiKTt0PWE7cmV0dXJu
fWZ1bmN0aW9uIHFxKCl7UXIoKTtTcigpO1R0KCk7d3IoKTtyZXR1cm59ZnVuY3Rpb24gcnEoYSxi
KXthPWF8MDtiPWJ8MDt2YXIgYz0wLjAsZD0wLjAsZT0wLjAsZj0wLjA7Zj0rcFthPj4zXTtwWzIz
OTk5XT1mO2U9K3BbYj4+M107cFsyMzk5OF09ZTtjPStwW2ErOD4+M107cFsyMzk5N109YztkPStw
W2IrOD4+M107cFsyMzk5Nl09ZDtwWzIzOTg4XT1mO3BbMjM5OTBdPWY7cFsyMzk5Ml09ZTtwWzIz
OTk0XT1lO3BbMjM5OTVdPWQ7cFsyMzk5MV09ZDtwWzIzOTkzXT1jO3BbMjM5ODldPWM7cmV0dXJu
fWZ1bmN0aW9uIHNxKCl7dmFyIGE9MCxiPTAuMCxjPTAuMCxkPTAuMCxlPTAuMCxnPTAsaD0wLGk9
MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLjAscz0wLjAsdD0wLjAsdT0wLjA7bD1m
WzQ4MjAzXXwwO2c9bCs4fDA7ZT0rRXIoZywxOTE5MDQpO2Q9K0VyKGcsMTkxOTIwKTtjPStFcihn
LDE5MTkzNik7YT0xO2I9K0VyKGcsMTkxOTUyKTtnPWw7aD1sO2k9bDtqPWw7d2hpbGUoMSl7az1s
Kzk2fDA7aWYoKGF8MCk+PShmWzQ4MTg4XXwwKSlicmVhaztxPWwrMTA0fDA7cj0rRXIocSwxOTE5
MDQpO209cjxlO3Q9K0VyKHEsMTkxOTM2KTtvPXQ8YztzPStFcihxLDE5MTkyMCk7bj1zPGQ7dT0r
RXIocSwxOTE5NTIpO3E9dTxiO2E9YSsxfDA7Yj1xP3U6YjtjPW8/dDpjO2Q9bj9zOmQ7ZT1tP3I6
ZTtnPXE/azpnO2g9bz9rOmg7aT1uP2s6aTtqPW0/azpqO2w9a31lcyhqKzh8MCwrcFsyMzk4OF0s
K3BbMjM5ODldKTtlcyhoKzh8MCwrcFsyMzk5Ml0sK3BbMjM5OTNdKTtlcyhpKzh8MCwrcFsyMzk5
MF0sK3BbMjM5OTFdKTtlcyhnKzh8MCwrcFsyMzk5NF0sK3BbMjM5OTVdKTtyZXR1cm59ZnVuY3Rp
b24gdHEoYSl7YT1hfDA7dmFyIGI9MC4wLGM9MC4wLGQ9MC4wLGU9MCxnPTAsaD0wLGk9MCxqPTAs
az0wLGw9MCxtPTAsbj0wLG89MC4wLHE9MCxyPTA7bj10O3Q9dCs2NHwwO2k9bis0OHwwO2g9bisz
MnwwO2c9bisxNnwwO2s9bis4fDA7bD1uO2o9ZlthKzg4Pj4yXXwwO209ais4fDA7Yj0wLjA7Yz0w
LjA7ZD0wLjA7aj1mW2o+PjJdfDA7d2hpbGUoMSl7ZT1mW2o+PjJdfDA7aWYoIWUpYnJlYWs7cj1q
Kzh8MDtxPWUrOHwwO2ZbZz4+Ml09ZlttPj4yXTtmW2crND4+Ml09ZlttKzQ+PjJdO2ZbZys4Pj4y
XT1mW20rOD4+Ml07ZltnKzEyPj4yXT1mW20rMTI+PjJdO2ZbaD4+Ml09ZltyPj4yXTtmW2grND4+
Ml09ZltyKzQ+PjJdO2ZbaCs4Pj4yXT1mW3IrOD4+Ml07ZltoKzEyPj4yXT1mW3IrMTI+PjJdO2Zb
aT4+Ml09ZltxPj4yXTtmW2krND4+Ml09ZltxKzQ+PjJdO2ZbaSs4Pj4yXT1mW3ErOD4+Ml07Zltp
KzEyPj4yXT1mW3ErMTI+PjJdO289K3VxKGcsaCxpKTtmW2c+PjJdPWZbbT4+Ml07ZltnKzQ+PjJd
PWZbbSs0Pj4yXTtmW2crOD4+Ml09ZlttKzg+PjJdO2ZbZysxMj4+Ml09ZlttKzEyPj4yXTtmW2g+
PjJdPWZbcj4+Ml07ZltoKzQ+PjJdPWZbcis0Pj4yXTtmW2grOD4+Ml09ZltyKzg+PjJdO2ZbaCsx
Mj4+Ml09ZltyKzEyPj4yXTtmW2k+PjJdPWZbcT4+Ml07ZltpKzQ+PjJdPWZbcSs0Pj4yXTtmW2kr
OD4+Ml09ZltxKzg+PjJdO2ZbaSsxMj4+Ml09ZltxKzEyPj4yXTt2cShnLGgsaSxrLGwpO2I9K3Bb
bD4+M10qbytiO2M9K3Bbaz4+M10qbytjO2Q9bytkO2o9ZX1wW2ErOD4+M109Yy9kO3BbYSsxNj4+
M109Yi9kO3Q9bjtyZXR1cm59ZnVuY3Rpb24gdXEoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3Zh
ciBkPTAuMCxlPTAuMCxmPTAuMDtkPStwW2IrOD4+M107Zj0rcFtjKzg+PjNdO2U9K3BbYSs4Pj4z
XTtyZXR1cm4gKygrSSgrKChmLWUpKitwW2I+PjNdKyhkLWYpKitwW2E+PjNdKyArcFtjPj4zXSoo
ZS1kKSkpKi41KX1mdW5jdGlvbiB2cShhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHww
O2U9ZXwwO3BbZD4+M109KCtwW2I+PjNdKyArcFthPj4zXSsgK3BbYz4+M10pKi4zMzMzMzMzMzMz
MzMzMzMzO3BbZT4+M109KCtwW2IrOD4+M10rICtwW2ErOD4+M10rICtwW2MrOD4+M10pKi4zMzMz
MzMzMzMzMzMzMzMzO3JldHVybn1mdW5jdGlvbiB3cSgpe3ZhciBhPTAsYj0wLGM9MCxkPTA7YT1m
WzQ4MTc5XXwwO2lmKCFhKXthPUVIKGZbNDgxODhdPDwyKXwwO2ZbNDgxNzldPWE7Zls0ODE4Ml09
YSsoZls0ODE4OF08PDIpfWM9Zls0ODIwM118MDtkcygpO2Q9Zls0ODE4OF18MDtiPTA7d2hpbGUo
MSl7aWYoKGJ8MCk+PShkfDApKWJyZWFrO2ZbYT4+Ml09Yys4O2ZbYys4OD4+Ml09MDtmW2MrMjg+
PjJdPTE7Yz1jKzk2fDA7YT1hKzR8MDtiPWIrMXwwfVckKGZbNDgxNzldfDAsZCw0LDY4KTtmWzQ4
MTgxXT1mWzQ4MTc5XTtyZXR1cm59ZnVuY3Rpb24geHEoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0w
LjAsZD0wLjA7YT1mW2E+PjJdfDA7Yj1mW2I+PjJdfDA7Yz0rcFthKzg+PjNdO2Q9K3BbYis4Pj4z
XTtpZighKGM8ZCkpaWYoIShjPmQpKXtkPStwW2E+PjNdO2M9K3BbYj4+M107aWYoZDxjKWE9LTE7
ZWxzZSBhPWQ+YyYxfWVsc2UgYT0xO2Vsc2UgYT0tMTtyZXR1cm4gYXwwfWZ1bmN0aW9uIHlxKCl7
dmFyIGE9MCxiPTAsYz0wLGQ9MDtjPWZbNDgxODhdfDA7YT0wO2I9Zls0ODIwM118MDt3aGlsZSgx
KXtpZigoYXwwKT49KGN8MCkpYnJlYWs7ZD1iKzh8MDtwW2Q+PjNdPStwW2Q+PjNdKjEuMDU7ZD1i
KzE2fDA7cFtkPj4zXT0rcFtkPj4zXSoxLjA1O2E9YSsxfDA7Yj1iKzk2fDB9cmV0dXJufWZ1bmN0
aW9uIHpxKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGk9MCxqPTAsaz0wLjAsbD0w
LjA7aj10O3Q9dCs0OHwwO2k9ajtnPWorMjR8MDtkPUd4KGMsMTAzODI3KXwwO2lmKCEoKGR8MCkh
PTA/KEFxKGQsZywxLjAsMC4wKXwwKSE9MDowKSllPTM7ZG8gaWYoKGV8MCk9PTMpe2M9R3goYywx
MDM4MzEpfDA7aWYoY3wwP0FxKGMsZywuODAwMDAwMDExOTIwOTI5LDQuMCl8MDowKWJyZWFrO25b
Zys0Pj4yXT00LjA7bltnPj4yXT00LjA7YltnKzg+PjBdPTF9d2hpbGUoMCk7aWYoMCl7ZT1mWzE5
NDU3XXwwO2w9K25bZz4+Ml07az0rbltnKzQ+PjJdO2ZbaT4+Ml09aFtnKzg+PjBdO3BbaSs4Pj4z
XT1sO3BbaSsxNj4+M109aztnMihlLDEwMzgzNixpKXwwfTtmW2E+PjJdPWZbZz4+Ml07ZlthKzQ+
PjJdPWZbZys0Pj4yXTtmW2ErOD4+Ml09ZltnKzg+PjJdO3Q9ajtyZXR1cm59ZnVuY3Rpb24gQXEo
YSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD0rZDtlPStlO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9
MCxtPTAsbz0wLHA9MC4wO209dDt0PXQrMTZ8MDtpPW07aj1tKzEyfDA7az1tKzh8MDt3aGlsZSgx
KXtnPWJbYT4+MF18MDtoPWErMXwwO2lmKCEoUCQoZzw8MjQ+PjI0KXwwKSlicmVhaztlbHNlIGE9
aH1vPWc8PDI0Pj4yND09NDM7Zz1jKzh8MDtiW2c+PjBdPW8mMTtmW2k+PjJdPWo7ZltpKzQ+PjJd
PWs7YT1NMShvP2g6YSwxMDM4NjksaSl8MDtzd2l0Y2goYXwwKXtjYXNlIDA6YnJlYWs7Y2FzZSAx
OntmW2s+PjJdPWZbaj4+Ml07bD01O2JyZWFrfWRlZmF1bHQ6bD01fWRvIGlmKChsfDApPT01KXtp
ZighKGJbZz4+MF18MCkpe25bYz4+Ml09K25baj4+Ml0vZCsxLjA7bltjKzQ+PjJdPStuW2s+PjJd
L2QrMS4wO2E9MTticmVha31pZihkPjEuMCl7cD0rbltqPj4yXS9kO25bYz4+Ml09cD5lP2U6cDtk
PStuW2s+PjJdL2Q7bltjKzQ+PjJdPWQ+ZT9lOmQ7YT0xO2JyZWFrfWlmKGQ8MS4wKXtwPStuW2o+
PjJdL2Q7bltjPj4yXT1wPGU/ZTpwO3A9K25baz4+Ml0vZDtuW2MrND4+Ml09cDxlP2U6cDthPTE7
YnJlYWt9ZWxzZXtmW2M+PjJdPWZbaj4+Ml07ZltjKzQ+PjJdPWZbaz4+Ml07YT0xO2JyZWFrfX13
aGlsZSgwKTt0PW07cmV0dXJuIGF8MH1mdW5jdGlvbiBCcShhLGIpe2E9YXwwO2I9YnwwO3ZhciBj
PTAsZD0wO2Q9dDt0PXQrMzJ8MDtjPWQ7aWYoKGp5KGEpfDApPDIpYT0wO2Vsc2V7YXEoYSxiLGMp
fDA7YT1jcShhLGMpfDB9dD1kO3JldHVybiBhfDB9ZnVuY3Rpb24gQ3EoYSl7YT1hfDA7cmV0dXJu
IEJxKGEsR3goYSwxMDMyMjIpfDApfDB9ZnVuY3Rpb24gRHEoYSxjKXthPWF8MDtjPWN8MDt2YXIg
ZD0wLGU9MCxnPTAsaT0wLGo9MCxrPTAuMCxsPTAuMDtqPXQ7dD10KzQ4fDA7aT1qO2c9aisyNHww
O2Q9R3goYywxMDM4MzEpfDA7aWYoISgoZHwwKSE9MD8oQXEoZCxnLDEuMCwwLjApfDApIT0wOjAp
KWU9MztkbyBpZigoZXwwKT09Myl7Yz1HeChjLDEwMzgyNyl8MDtpZihjfDA/QXEoYyxnLDEuMjUs
My4yMDAwMDAwNDc2ODM3MTYpfDA6MClicmVhaztuW2crND4+Ml09My4yMDAwMDAwNDc2ODM3MTY7
bltnPj4yXT0zLjIwMDAwMDA0NzY4MzcxNjtiW2crOD4+MF09MX13aGlsZSgwKTtpZigwKXtlPWZb
MTk0NTddfDA7bD0rbltnPj4yXTtrPStuW2crND4+Ml07ZltpPj4yXT1oW2crOD4+MF07cFtpKzg+
PjNdPWw7cFtpKzE2Pj4zXT1rO2cyKGUsMTAzODk4LGkpfDB9O2ZbYT4+Ml09ZltnPj4yXTtmW2Er
ND4+Ml09ZltnKzQ+PjJdO2ZbYSs4Pj4yXT1mW2crOD4+Ml07dD1qO3JldHVybn1mdW5jdGlvbiBF
cShhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9
MCxqPTAsaz0wLGw9MCxtPTAsbz0wO289dDt0PXQrMTZ8MDttPW87Zz0wO3doaWxlKDEpe2lmKChn
fDApPj0oY3wwKSlicmVhaztmW2QrKGc8PDIpPj4yXT0tMTtnPWcrMXwwfWZbZCsoYTw8Mik+PjJd
PTA7RnEoZSxhKTthOmRvIGlmKCEoZltiKzg+PjJdfDApKXtnPTIxNDc0ODM2NDc7d2hpbGUoMSl7
aWYoISgoR3EoZSxtKXwwKTw8MjQ+PjI0KSlicmVhayBhO2k9ZlttPj4yXXwwO2c9ZltkKyhpPDwy
KT4+Ml18MDtoPWIrKGkqMjB8MCl8MDtpPWIrKGkqMjB8MCkrNHwwO2o9ZysxfDA7YT0xO3doaWxl
KDEpe2lmKChhfDApPj0oZltoPj4yXXwwKSlicmVhaztrPWZbKGZbaT4+Ml18MCkrKGE8PDIpPj4y
XXwwO2w9ZCsoazw8Mil8MDtpZigoZltsPj4yXXwwKTwwKXtmW2w+PjJdPWo7SHEoZSxrKXwwfWE9
YSsxfDB9fX1lbHNle2c9MjE0NzQ4MzY0Nzt3aGlsZSgxKXtpZighKChHcShlLG0pfDApPDwyND4+
MjQpKWJyZWFrIGE7aj1mW20+PjJdfDA7Zz1mW2QrKGo8PDIpPj4yXXwwO2g9YisoaioyMHwwKXww
O2k9YisoaioyMHwwKSs0fDA7aj1iKyhqKjIwfDApKzh8MDthPTE7d2hpbGUoMSl7aWYoKGF8MCk+
PShmW2g+PjJdfDApKWJyZWFrO2s9ZlsoZltpPj4yXXwwKSsoYTw8Mik+PjJdfDA7bD1kKyhrPDwy
KXwwO2lmKChmW2w+PjJdfDApPDApe2ZbbD4+Ml09Zyt+fituWyhmW2o+PjJdfDApKyhhPDwyKT4+
Ml07SHEoZSxrKXwwfWE9YSsxfDB9fX13aGlsZSgwKTthPWcrMTB8MDtnPTA7d2hpbGUoMSl7aWYo
KGd8MCk+PShjfDApKWJyZWFrO2g9ZCsoZzw8Mil8MDtpZigoZltoPj4yXXwwKTwwKWZbaD4+Ml09
YTtnPWcrMXwwfXQ9bztyZXR1cm59ZnVuY3Rpb24gRnEoYSxiKXthPWF8MDtiPWJ8MDtmW2ZbYT4+
Ml0+PjJdPWI7ZlthKzEyPj4yXT0wO2ZbYSs4Pj4yXT0xO3JldHVybn1mdW5jdGlvbiBHcShhLGIp
e2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wO2M9YSsxMnwwO2Q9ZltjPj4yXXwwO2lmKChkfDApPChm
W2ErOD4+Ml18MCkpe2E9ZlthPj4yXXwwO2ZbYz4+Ml09ZCsxO2ZbYj4+Ml09ZlthKyhkPDwyKT4+
Ml07YT0xfWVsc2UgYT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gSHEoYSxiKXthPWF8MDtiPWJ8MDt2
YXIgYz0wLGQ9MDtjPWErOHwwO2Q9ZltjPj4yXXwwO2lmKChkfDApPChmW2ErND4+Ml18MCkpe2E9
ZlthPj4yXXwwO2ZbYz4+Ml09ZCsxO2ZbYSsoZDw8Mik+PjJdPWI7YT0xfWVsc2UgYT0wO3JldHVy
biBhfDB9ZnVuY3Rpb24gSXEoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wO2M9RUgoYjw8Mil8MDtm
W2E+PjJdPWM7ZlthKzQ+PjJdPWI7ZlthKzg+PjJdPTA7ZlthKzEyPj4yXT0wO3JldHVybn1mdW5j
dGlvbiBKcShhKXthPWF8MDtNXyhmW2E+PjJdfDApO3JldHVybn1mdW5jdGlvbiBLcShhLGIsYyl7
YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MC4wLGU9MCxnPTAsaD0wO2lmKDApcTIoMTAzOTMxLDI1
LDEsZlsxOTQ1N118MCl8MDtnPTA7d2hpbGUoMSl7aWYoKGd8MCk+PShhfDApKWJyZWFrO2g9Yiso
Zzw8Mil8MDtlPTA7ZD0wLjA7d2hpbGUoMSl7aWYoKGV8MCk9PShhfDApKWJyZWFrO2lmKChnfDAp
IT0oZXwwKSlkPStwWyhmW2g+PjJdfDApKyhlPDwzKT4+M10rZDtlPWUrMXwwfXBbKGZbaD4+Ml18
MCkrKGc8PDMpPj4zXT0tZDtnPWcrMXwwfXJldHVybiBHcyhiLGMsYSstMXwwKXwwfWZ1bmN0aW9u
IExxKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAu
MDtpPUZuKGIsYiwwLjApfDA7aj1GbihiLGIsMC4wKXwwO2Q9JHkoYSl8MDt3aGlsZSgxKXtpZigh
ZClicmVhaztjPVN4KGEsZCl8MDt3aGlsZSgxKXtpZighYylicmVhaztnPWZbYz4+Ml0mMztlPShm
W2ZbKChnfDApPT0zP2M6Yys0OHwwKSs0MD4+Ml0+PjJdfDApPj4+NDtnPShmW2ZbKChnfDApPT0y
P2M6YystNDh8MCkrNDA+PjJdPj4yXXwwKT4+PjQ7aWYoKGV8MCkhPShnfDApKXtrPS0xLjAvK3Bb
KGZbYysxNj4+Ml18MCkrMTM2Pj4zXTtwWyhmW2krKGc8PDIpPj4yXXwwKSsoZTw8Myk+PjNdPWs7
cFsoZltpKyhlPDwyKT4+Ml18MCkrKGc8PDMpPj4zXT1rfWM9VHgoYSxjLGQpfDB9ZD1heihhLGQp
fDB9aD1LcShiLGksail8MDthOmRvIGlmKGh8MCl7ZT1hKzE2fDA7ZD0wO3doaWxlKDEpe2lmKChk
fDApPj0oYnwwKSlicmVhayBhO2c9aisoZDw8Mil8MDtjPTA7d2hpbGUoMSl7aWYoKGN8MCk9PShi
fDApKWJyZWFrO2E9ZltnPj4yXXwwO3BbKGZbKGZbKGZbZT4+Ml18MCkrMTYwPj4yXXwwKSsoZDw8
Mik+PjJdfDApKyhjPDwzKT4+M109K3BbKGZbaisoYzw8Mik+PjJdfDApKyhjPDwzKT4+M10rICtw
W2ErKGQ8PDMpPj4zXSsgK3BbYSsoYzw8Myk+PjNdKi0yLjA7Yz1jKzF8MH1kPWQrMXwwfX13aGls
ZSgwKTtHbihpKTtHbihqKTtyZXR1cm4gaHwwfWZ1bmN0aW9uIE1xKGEsYixjLGQsZSxmKXthPWF8
MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPStlO2Y9ZnwwO3ZhciBnPTAuMCxoPTAuMCxpPTAsaj0wLGs9
MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTA7cj10O3Q9dCsxNnwwO2o9cjttPWQ8PDM7bj1F
SChtKXwwO289RUgobSl8MDtwPUVIKG0pfDA7az1FSChtKXwwO2w9RUgobSl8MDttPUVIKG0pfDA7
WXMoZCxjLG0pO1JzKGQsbSk7UnMoZCxiKTtUcyhhLGQsYixrKTtWcyhkLG0sayxuKTtZcyhkLG4s
byk7aT1mKy0xfDA7Yz0wO2c9K1pzKGQsbixuKTt3aGlsZSgxKXtpZigoY3wwKT49KGZ8MCkpe2M9
MDticmVha31pZighKCtfcyhkLG4pPmUpKXtjPTA7YnJlYWt9VHMoYSxkLG8scCk7aD0rWnMoZCxv
LHApO2lmKGg9PTAuMCl7Yz0wO2JyZWFrfWg9Zy9oO1hzKGQsbyxoLGwpO1dzKGQsYixsLGIpO2lm
KChjfDApPChpfDApKXtYcyhkLHAsaCxwKTtWcyhkLG4scCxuKTtoPStacyhkLG4sbik7aWYoZz09
MC4wKXtxPTc7YnJlYWt9WHMoZCxvLGgvZyxvKTtXcyhkLG4sbyxvKTtnPWh9Yz1jKzF8MH1pZigo
cXwwKT09Nyl7WXcoMSwxMDM5NTcsail8MDtjPTF9TV8obik7TV8obyk7TV8ocCk7TV8oayk7TV8o
bCk7TV8obSk7dD1yO3JldHVybiBjfDB9ZnVuY3Rpb24gTnEoYSxiLGMsZCxlLGYsZyl7YT1hfDA7
Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT0rZTtmPWZ8MDtnPWd8MDt2YXIgaD0wLjAsaT0wLjAsaj0wLGs9
MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTA7cj10O3Q9dCsxNnwwO2o9cjtuPWQ8PDM7bz1F
SChuKXwwO3A9RUgobil8MDtrPUVIKG4pfDA7bD1FSChuKXwwO209RUgobil8MDtuPUVIKG4pfDA7
WXMoZCxjLG4pO2lmKGc8PDI0Pj4yNCl7UnMoZCxuKTtScyhkLGIpfVVzKGEsZCxiLGwpO1ZzKGQs
bixsLG8pO1lzKGQsbyxwKTtnPWYrLTF8MDtjPTA7aD0rWnMoZCxvLG8pO3doaWxlKDEpe2lmKChj
fDApPj0oZnwwKSl7Yz0wO2JyZWFrfWlmKCEoK19zKGQsbyk+ZSkpe2M9MDticmVha31VcyhhLGQs
cCxrKTtpPStacyhkLHAsayk7aWYoaT09MC4wKXtjPTA7YnJlYWt9aT1oL2k7WHMoZCxwLGksbSk7
V3MoZCxiLG0sYik7aWYoKGN8MCk8KGd8MCkpe1hzKGQsayxpLGspO1ZzKGQsbyxrLG8pO2k9K1pz
KGQsbyxvKTtpZihoPT0wLjApe3E9OTticmVha31YcyhkLHAsaS9oLHApO1dzKGQsbyxwLHApO2g9
aX1jPWMrMXwwfWlmKChxfDApPT05KXtZdygxLDEwMzk1NyxqKXwwO2M9MX1NXyhvKTtNXyhwKTtN
XyhrKTtNXyhsKTtNXyhtKTtNXyhuKTt0PXI7cmV0dXJuIGN8MH1mdW5jdGlvbiBPcShhLGIsYyxk
LGUsZil7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT0rZTtmPWZ8MDt2YXIgZz0wLjAsaD0wLjAs
aT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MDtwPXQ7dD10KzE2fDA7aj1wO2s9ZDw8Mjts
PURIKGspfDA7bT1ESChrKXwwO249REgoayl8MDtrPURIKGspfDA7YXQoZCxiKTthdChkLGMpO2J0
KGEsZCxiLGspO2F0KGQsayk7Y3QoZCxjLGssbCk7Z3QoZCxsLG0pO2k9ZistMXwwO2M9MDtnPSto
dChkLGwsbCk7d2hpbGUoMSl7aWYoKGN8MCk+PShmfDApKXtjPTA7YnJlYWt9aWYoISgra3QoZCxs
KT5lKSl7Yz0wO2JyZWFrfWF0KGQsbSk7YXQoZCxiKTthdChkLGwpO2J0KGEsZCxtLG4pO2F0KGQs
bik7aD0raHQoZCxtLG4pO2lmKGg9PTAuMCl7Yz0wO2JyZWFrfWg9Zy9oO2V0KGQsYixoLG0pO2lm
KChjfDApPChpfDApKXtldChkLGwsLWgsbik7aD0raHQoZCxsLGwpO2lmKGc9PTAuMCl7bz03O2Jy
ZWFrfWZ0KGQsbSxoL2csbSk7ZHQoZCxsLG0sbSk7Zz1ofWM9YysxfDB9aWYoKG98MCk9PTcpe1l3
KDEsMTAzOTU3LGopfDA7Yz0xfU1fKGwpO01fKG0pO01fKG4pO01fKGspO3Q9cDtyZXR1cm4gY3ww
fWZ1bmN0aW9uIFBxKGEsYixjLGQsZSxnLGgsaSxqLGspe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHww
O2U9ZXwwO2c9Z3wwO2g9aHwwO2k9aXwwO2o9anwwO2s9K2s7dmFyIGw9MCxtPTAsbz0wLjAscT0w
LHI9MCxzPTAsdT0wLHY9MC4wLHc9MCx4PTAseT0wLHo9MCxBPTAuMCxCPTAsQz0wLEQ9MCxFPTAs
Rj0wLEc9MCxIPTAsSj0wLEs9MCxMPTAsTT0wLE49MC4wO009dDt0PXQrNDh8MDtFPU0rMjR8MDtE
PU0rMTZ8MDtDPU0rOHwwO0I9TTtKPU0rNDB8MDtLPU0rMzZ8MDtHPU0rMzJ8MDtyPWgmNDtmW0o+
PjJdPTA7ZltLPj4yXT0wO2E6ZG8gaWYoZlthKzE2Pj4yXXwwKXttPTA7bD0wO3doaWxlKDEpe2lm
KChtfDApPj0oYnwwKSlicmVhaztzPWZbYSsobSoyMHwwKT4+Ml18MDt1PWErKG0qMjB8MCkrMTZ8
MDtxPTE7d2hpbGUoMSl7aWYoKHF8MCk+PShzfDApKWJyZWFrO2lmKCEobDw8MjQ+PjI0KSlsPStu
WyhmW3U+PjJdfDApKyhxPDwyKT4+Ml0hPTAuMDtlbHNlIGw9MTtxPXErMXwwO2w9bCYxfW09bSsx
fDB9aWYobDw8MjQ+PjI0KXt6PShyfDApIT0wO2lmKHope3E9ZCs0fDA7YjpkbyBpZigoZ3wwKT4y
KXtsPWcrLTF8MDtpZigoem4oYSxiLGMscSxlLGwsaCxpLDE1KXwwKTwwKXtsPS0xO2JyZWFrIGF9
bT1kKyhsPDwyKXwwO2w9MDt3aGlsZSgxKXtpZigobHwwKT49KGJ8MCkpYnJlYWsgYjtwWyhmW20+
PjJdfDApKyhsPDwzKT4+M109K3BbKGZbcT4+Ml18MCkrKGw8PDMpPj4zXTtsPWwrMXwwfX13aGls
ZSgwKTt5PWZbZD4+Ml18MDt3PWZbcT4+Ml18MDtpZigodHQoYSxiLHcsYil8MCk9PTA/KHR2KGEs
YiwuMDEsLjEsdyxKLEssRyl8MCk9PTA6MCl7eD1mW0c+PjJdfDA7aWYoKHh8MCk8MSl7bD16bihh
LGIsYyxkLGUsZyxoLGksail8MDticmVha31jOmRvIGlmKGs+MC4wKXtyPWZbSj4+Ml18MDtzPWZb
Sz4+Ml18MDt1PXgrLTF8MDtvPTAuMDtxPTA7d2hpbGUoMSl7aWYoKHF8MCk9PSh4fDApKWJyZWFr
IGM7bD1mW3MrKHE8PDIpPj4yXXwwO0E9ay1vLStwW3crKGZbcisobDw8Mik+PjJdPDwzKT4+M10r
ICtwW3crKGZbcisobCstMTw8Mik+PjJdPDwzKT4+M107bz0oQTwwLjA/MC4wOkEpK287aWYoKHF8
MCk8KHV8MCkpbT1mW3MrKHErMTw8Mik+PjJdfDA7ZWxzZSBtPWI7d2hpbGUoMSl7aWYoKGx8MCk+
PShtfDApKWJyZWFrO0g9dysoZltyKyhsPDwyKT4+Ml08PDMpfDA7cFtIPj4zXT0rcFtIPj4zXStv
O2w9bCsxfDB9cT1xKzF8MH19d2hpbGUoMCk7aWYoKGd8MCk9PTI/KFp0KGEsYix3LHksK3BbMjQw
MjRdKXwwKSE9MDowKXttPTA7bD0tMX1lbHNlIEw9MzR9ZWxzZXttPTA7bD0tMX19ZWxzZXt0bihh
LGIsZyxkLGUpfDA7aWYoISh0dihhLGIsLjAxLC4xLDAsSixLLEcpfDApKUw9MzQ7ZWxzZXttPTA7
bD0tMX19ZDpkbyBpZigoTHwwKT09MzQpe2lmKChifDApPT0xKXtsPTA7YnJlYWsgYX1IPUVIKGZb
Rz4+Ml08PDIpfDA7aWYoIWope2w9MDticmVhayBhfWlmKDApTkwoKTtzd2l0Y2goaXwwKXtjYXNl
IDI6e2lmKDApcTIoMTA0MDA1LDI0LDEsZlsxOTQ1N118MCl8MDtsPXluKGEsYil8MDtMPTQ3O2Jy
ZWFrfWNhc2UgMTp7bD11bihhLGIpfDA7aWYoIWwpe1l3KDAsMTA0MDMwLEIpfDA7WXcoMywxMDQw
NzksQyl8MDtMPTQ4fWVsc2UgRj1sO2JyZWFrfWNhc2UgMzp7aWYoMClxMigxMDQxMzIsMjEsMSxm
WzE5NDU3XXwwKXwwO2w9dm4oYSxiKXwwO0w9NDc7YnJlYWt9ZGVmYXVsdDpMPTQ4fWlmKChMfDAp
PT00NylpZighbClMPTQ4O2Vsc2UgRj1sO2lmKChMfDApPT00OCl7aWYoMClxMigxMDQxNTQsMjYs
MSxmWzE5NDU3XXwwKXwwO0Y9eG4oYSxiKXwwfWlmKDApe2E9ZlsxOTQ1N118MDtBPStPTCgpO3Bb
RD4+M109QTtnMihhLDEwNDE4MSxEKXwwO3EyKDEwNDE5MywyNSwxLGEpfDA7TkwoKX1hPWIrLTF8
MDt5PShWKGEsYil8MCkvMnwwO0Q9eStifDA7ZTpkbyBpZigheil7bz0xLjA7bT0wO3doaWxlKDEp
e2lmKChtfDApPj0oZ3wwKSlicmVhaztxPWQrKG08PDIpfDA7bD0wO3doaWxlKDEpe2lmKChsfDAp
Pj0oYnwwKSlicmVhaztBPStJKCsoK3BbKGZbcT4+Ml18MCkrKGw8PDMpPj4zXSkpO289QT5vP0E6
bztsPWwrMXwwfW09bSsxfDB9bz0xLjAvbzttPTA7d2hpbGUoMSl7aWYoKG18MCk+PShnfDApKWJy
ZWFrIGU7cT1kKyhtPDwyKXwwO2w9MDt3aGlsZSgxKXtpZigobHwwKT49KGJ8MCkpYnJlYWs7Qz0o
ZltxPj4yXXwwKSsobDw8Myl8MDtwW0M+PjNdPStwW0M+PjNdKigxMC4wKm8pO2w9bCsxfDB9bT1t
KzF8MH19d2hpbGUoMCk7ZjpkbyBpZihrPjAuMCl7dj0rKHl8MCk7bD0wO289MC4wO3I9MDt3aGls
ZSgxKXtpZigocnwwKT49KGF8MCkpYnJlYWs7cz1yKzF8MDtxPWw7bT1zO3doaWxlKDEpe2w9cSsx
fDA7aWYoKG18MCk+PShifDApKWJyZWFrO0E9K3BzKGQsZyxyLG0pO3E9bDtvPUEvK25bRisobDw8
Mik+PjJdK287bT1tKzF8MH1yPXN9bz1vL3Y7bD0wO3doaWxlKDEpe2lmKChsfDApPj0oRHwwKSli
cmVhayBmO0M9RisobDw8Mil8MDtuW0M+PjJdPStuW0M+PjJdKm87bD1sKzF8MH19d2hpbGUoMCk7
bD0wO3doaWxlKDEpe2lmKChsfDApPj0oZ3wwKSlicmVhaztScyhiLGZbZCsobDw8Mik+PjJdfDAp
O2w9bCsxfDB9bT1mW2QrND4+Ml18MDtvPStwW20+PjNdO2w9MDt3aGlsZSgxKXtpZigobHwwKT49
KGJ8MCkpYnJlYWs7Qz1tKyhsPDwzKXwwO3BbQz4+M109K3BbQz4+M10tbztsPWwrMXwwfXU9Zzw8
MjtDPUVIKHUpfDA7eD1iPDwyO3c9Vih4LGcpfDA7cT1FSCh3KXwwO2w9MDt3aGlsZSgxKXtpZigo
bHwwKT49KGd8MCkpYnJlYWs7cj1xKygoVihsLGIpfDApPDwyKXwwO2ZbQysobDw8Mik+PjJdPXI7
cz1kKyhsPDwyKXwwO209MDt3aGlsZSgxKXtpZigobXwwKT49KGJ8MCkpYnJlYWs7bltyKyhtPDwy
KT4+Ml09K3BbKGZbcz4+Ml18MCkrKG08PDMpPj4zXTttPW0rMXwwfWw9bCsxfDB9dj0rKHl8MCk7
aWYoMCl7Qj1mWzE5NDU3XXwwO0E9K09MKCk7cFtFPj4zXT1BO2cyKEIsMTA0MjE5LEUpfDB9bHQo
RCxGKTttdChELEYpO0I9RUgoYjw8Myl8MDtpdChiLDAuMCxCKTtsPTA7cT0wO3doaWxlKDEpe2lm
KChxfDApPj0oYXwwKSlicmVhaztyPWItcXwwO289MC4wO209MTt3aGlsZSgxKXtsPWwrMXwwO2lm
KChtfDApPj0ocnwwKSlicmVhaztBPStuW0YrKGw8PDIpPj4yXTtFPUIrKG0rcTw8Myl8MDtwW0U+
PjNdPStwW0U+PjNdLUE7bz1vK0E7bT1tKzF8MH1FPUIrKHE8PDMpfDA7cFtFPj4zXT0rcFtFPj4z
XS1vO3E9cSsxfDB9bD1iO209MDtxPTA7d2hpbGUoMSl7aWYoKG18MCk+PShifDApKWJyZWFrO25b
RisocTw8Mik+PjJdPStwW0IrKG08PDMpPj4zXTtFPWwrcXwwO2w9bCstMXwwO209bSsxfDA7cT1F
fWk9RUgodSl8MDtsPUVIKHcpfDA7ZltpPj4yXT1sO2w9MTt3aGlsZSgxKXtpZigobHwwKT49KGd8
MCkpYnJlYWs7RT0oZltpPj4yXXwwKSsoKFYobCxiKXwwKTw8Mil8MDtmW2krKGw8PDIpPj4yXT1F
O2w9bCsxfDB9ej1FSCh4KXwwO2U9RUgoeCl8MDtoPUVIKEQ8PDIpfDA7bT1OdChGLGIpfDA7Yz1T
dChGLGIsZltKPj4yXXwwLGZbSz4+Ml18MCxmW0c+PjJdfDApfDA7eT1pKzR8MDtxPTA7QT0xNzk3
NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0LjBlMjg0O2w9MDt3aGlsZSgxKXtpZighKHE8PDI0Pj4yND09
MCYobHwwKTwoanwwKSkpYnJlYWs7aXQoYiwwLjAsQik7bnQoRCxGLGgpO3c9MDtzPTA7d2hpbGUo
MSl7aWYoKHd8MCk+PShhfDApKWJyZWFrO3g9Yi13Ky0xfDA7anQoYiwwLjAsZSk7cT0wO3doaWxl
KDEpe2lmKChxfDApPj0oZ3wwKSlicmVhaztHPUMrKHE8PDIpfDA7anQoeCwrblsoZltHPj4yXXww
KSsodzw8Mik+PjJdLHopO2V0KHgseiwtMS4wLChmW0c+PjJdfDApKyh3PDwyKSs0fDApO2x0KHgs
eik7ZHQoeCx6LGUsZSk7cT1xKzF8MH1vdCh4LGUpO3E9MDt3aGlsZSgxKXtpZigocXwwKT49KHh8
MCkpYnJlYWs7cj1lKyhxPDwyKXwwO289K25bcj4+Ml07aWYobz49MzQwMjgyMzQ2NjM4NTI4ODU5
ODExNzA0MS4wZTE0fG88MC4wKW5bcj4+Ml09MC4wO3E9cSsxfDB9dT13KzF8MDtvPTAuMDtxPXM7
cj0wO3doaWxlKDEpe3E9cSsxfDA7aWYoKHJ8MCk+PSh4fDApKWJyZWFrO0c9aCsocTw8Mil8MDtO
PStuW0c+PjJdKituW2UrKHI8PDIpPj4yXTtuW0c+PjJdPU47Rz1CKyh1K3I8PDMpfDA7cFtHPj4z
XT0rcFtHPj4zXS1OO289bytOO3I9cisxfDB9cz1CKyh3PDwzKXwwO3Bbcz4+M109K3Bbcz4+M10t
bzt3PXU7cz1xfXE9MDtyPWI7cz0wO3doaWxlKDEpe2lmKChxfDApPj0oYnwwKSlicmVhaztuW2gr
KHM8PDIpPj4yXT0rcFtCKyhxPDwzKT4+M107Rz1yK3N8MDtxPXErMXwwO3I9cistMXwwO3M9R31x
PTA7d2hpbGUoMSl7aWYoKHF8MCk+PShnfDApKWJyZWFrO2J0KGgsYixmW0MrKHE8PDIpPj4yXXww
LGZbaSsocTw8Mik+PjJdfDApO3E9cSsxfDB9bz0wLjA7cT0wO3doaWxlKDEpe2lmKChxfDApPj0o
Z3wwKSlicmVhaztvPStodChiLGZbQysocTw8Mik+PjJdfDAsZltpKyhxPDwyKT4+Ml18MCkrbztx
PXErMXwwfW89byoyLjArdjtxPTA7d2hpbGUoMSl7aWYoKHF8MCk+PShnfDApKWJyZWFrO0c9Qyso
cTw8Mil8MDtidChGLGIsZltHPj4yXXwwLHopO289by0raHQoYixmW0c+PjJdfDAseik7cT1xKzF8
MH1OPStJKCsoby1BKSkvK0koKyhBKzEuMGUtMTApKTtxPShsPj4+MD4xJm8+QXxOPCtwWzI0MDI0
XSkmMTtyPTA7d2hpbGUoMSl7aWYoKHJ8MCk+PShnfDApKWJyZWFrO2lmKChyfDApIT0xKXtpZihP
cShGLGZbQysocjw8Mik+PjJdfDAsZltpKyhyPDwyKT4+Ml18MCxiLC4wMDEsYil8MCl7bD0tMTti
cmVhayBkfX1lbHNlIE90KGMsZlt5Pj4yXXwwLEMsZywxLDE1LEgsayl8MDtyPXIrMXwwfUE9bzts
PWwrMXwwfU1fKEgpO1J0KGMpO2lmKEN8MCl7cT0wO3doaWxlKDEpe2lmKChxfDApPj0oZ3wwKSli
cmVhaztzPUMrKHE8PDIpfDA7dT1kKyhxPDwyKXwwO3I9MDt3aGlsZSgxKXtpZigocnwwKT49KGJ8
MCkpYnJlYWs7cFsoZlt1Pj4yXXwwKSsocjw8Myk+PjNdPStuWyhmW3M+PjJdfDApKyhyPDwyKT4+
Ml07cj1yKzF8MH1xPXErMXwwfU1fKGZbQz4+Ml18MCk7TV8oQyl9aWYoaXwwKXtNXyhmW2k+PjJd
fDApO01fKGkpfU1fKHopO01fKGUpO01fKEIpO01fKEYpO01fKGgpfXdoaWxlKDApO01fKGZbSj4+
Ml18MCk7TV8oZltLPj4yXXwwKTtpZihtKXtNXyhmW20+PjJdfDApO01fKG0pfX1lbHNlIEw9MTF9
ZWxzZSBMPTExO3doaWxlKDApO2lmKChMfDApPT0xMSlsPXpuKGEsYixjLGQsZSxnLGgsaSxqKXww
O3Q9TTtyZXR1cm4gbHwwfWZ1bmN0aW9uIFFxKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAs
ZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7az10O3Q9dCs0OHwwO2U9aysyNHwwO2c9aysxMnwwO2M9
aztpPWp5KGEpfDA7aj1FSChpKjQ4fDApfDA7enEoYyxhKTtmW2c+PjJdPWZbYz4+Ml07ZltnKzQ+
PjJdPWZbYys0Pj4yXTtmW2crOD4+Ml09ZltjKzg+PjJdO2M9JHkoYSl8MDtkPWo7d2hpbGUoMSl7
aWYoIWMpYnJlYWs7ZltlPj4yXT1mW2c+PjJdO2ZbZSs0Pj4yXT1mW2crND4+Ml07ZltlKzg+PjJd
PWZbZys4Pj4yXTtScShjLGQsZSk7Yz1heihhLGMpfDA7ZD1kKzQ4fDB9YTpkbyBpZighKFNxKGos
aSl8MCkpYz0wO2Vsc2V7c3dpdGNoKGJ8MCl7Y2FzZSA5OntVcShhLGosaSw2OSwxKTtXcShhLGos
aSw3MCwxKTticmVha31jYXNlIDEwOntXcShhLGosaSw3MCwxKTtVcShhLGosaSw2OSwxKTticmVh
a31jYXNlIDc6e1VxKGEsaixpLDcxLDEpO1dxKGEsaixpLDcwLDEpO2g9OTticmVha31jYXNlIDg6
e2g9OTticmVha31jYXNlIDEzOntoPTEwO2JyZWFrfWNhc2UgMTQ6e1dxKGEsaixpLDcwLDApO1Vx
KGEsaixpLDY5LDApO2JyZWFrfWNhc2UgMTI6e1dxKGEsaixpLDcyLDApO1VxKGEsaixpLDY5LDAp
O2JyZWFrfWRlZmF1bHQ6e1VxKGEsaixpLDcxLDApO1dxKGEsaixpLDcwLDApfX1pZigoaHwwKT09
OSl7V3EoYSxqLGksNzIsMSk7VXEoYSxqLGksNjksMSk7aD0xMH1pZigoaHwwKT09MTApe1VxKGEs
aixpLDY5LDApO1dxKGEsaixpLDcwLDApfWM9MDtkPWo7d2hpbGUoMSl7aWYoKGN8MCk+PShpfDAp
KXtjPTE7YnJlYWsgYX1nPWZbZCsxNj4+Ml18MDtoPWZbKGZbKGZbZCsyMD4+Ml18MCkrMTY+PjJd
fDApKzEzMj4+Ml18MDtwW2g+PjNdPSsoZltkKzEyPj4yXXwwKSoxLjM4ODg4ODg4ODg4ODg4ODdl
LTAzO3BbaCs4Pj4zXT0rKGd8MCkqMS4zODg4ODg4ODg4ODg4ODg3ZS0wMztjPWMrMXwwO2Q9ZCs0
OHwwfX13aGlsZSgwKTtNXyhqKTt0PWs7cmV0dXJuIGN8MH1mdW5jdGlvbiBScShhLGMsZCl7YT1h
fDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAuMCxrPTAuMDtlPWZbYSsxNj4+
Ml18MDtpPWZbZSsxMzI+PjJdfDA7aj0rcFtpPj4zXSo3MjAuMDtoPX5+KGorKGo+PTAuMD8uNTot
LjUpKTtqPStwW2krOD4+M10qNzIwLjA7aT1+fihqKyhqPj0wLjA/LjU6LS41KSk7aWYoIShiW2Qr
OD4+MF18MCkpe2s9K3BbZSszMj4+M10qNzIuMCooK25bZD4+Ml0qNS4wKTtqPStwW2UrNDA+PjNd
KjcyLjAqKCtuW2QrND4+Ml0qNS4wKTtnPX5+KGsrKGs+PTAuMD8uNTotLjUpKTtlPX5+KGorKGo+
PTAuMD8uNTotLjUpKX1lbHNle2o9K3BbZSszMj4+M10qMzYuMDtrPStwW2UrNDA+PjNdKjM2LjA7
Zz1+figoK25bZD4+Ml0rICsofn4oaisoaj49MC4wPy41Oi0uNSkpfDApKSoxMC4wKTtlPX5+KCgr
bltkKzQ+PjJdKyArKH5+KGsrKGs+PTAuMD8uNTotLjUpKXwwKSkqMTAuMCl9ZltjKzEyPj4yXT1o
O2ZbYysxNj4+Ml09aTtmW2MrMjA+PjJdPWE7ZltjKzMyPj4yXT1oLWc7ZltjKzM2Pj4yXT1pLWU7
ZltjKzQwPj4yXT1nK2g7ZltjKzQ0Pj4yXT1lK2k7cmV0dXJufWZ1bmN0aW9uIFNxKGEsYil7YT1h
fDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7az1iKy0xfDA7Yz0w
O2E6d2hpbGUoMSl7aWYoKGN8MCk+PShrfDApKXthPTA7YnJlYWt9aj1hKzQ4fDA7Yz1jKzF8MDtn
PWErMzJ8MDtoPWErNDB8MDtpPWErMzZ8MDtlPWErNDR8MDthPWo7ZD1jO3doaWxlKDEpe2lmKChk
fDApPj0oYnwwKSlicmVhaztpZigoKChmW2c+PjJdfDApPD0oZlthKzQwPj4yXXwwKT8oZlthKzMy
Pj4yXXwwKTw9KGZbaD4+Ml18MCk6MCk/KGZbaT4+Ml18MCk8PShmW2ErNDQ+PjJdfDApOjApPyhm
W2ErMzY+PjJdfDApPD0oZltlPj4yXXwwKTowKXthPTE7YnJlYWsgYX1hPWErNDh8MDtkPWQrMXww
fWE9an1yZXR1cm4gYXwwfWZ1bmN0aW9uIFRxKGEsYil7YT1hfDA7Yj1ifDA7aWYoKGZbYSszNj4+
Ml18MCk+KGZbYis0ND4+Ml18MCkpYT0wO2Vsc2UgYT0oZltiKzM2Pj4yXXwwKTw9KGZbYSs0ND4+
Ml18MCkmMTtyZXR1cm4gYXwwfWZ1bmN0aW9uIFVxKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1j
fDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wO2k9THcoNzE4NDgsZlsxODAwNF18MCl8MDtn
PWI7aD0wO3doaWxlKDEpe2lmKChofDApPj0oY3wwKSlicmVhaztmW2crOD4+Ml09ZltnKzEyPj4y
XTt3YltmW2k+PjJdJjYzXShpLGcsMSl8MDtnPWcrNDh8MDtoPWgrMXwwfWlmKCFlKWg9YXIoYSxp
LGQsNzMpfDA7ZWxzZSBoPSRxKGksZCw3Myl8MDtvSShoLDIsMjE0NzQ4MzY0Nyl8MDtnPTA7d2hp
bGUoMSl7aWYoKGd8MCk+PShjfDApKWJyZWFrO2U9YisxMnwwO2E9ZlsoZlsoZltiKzI0Pj4yXXww
KSsxNj4+Ml18MCkrMjMyPj4yXXwwO2Q9YS0oZltlPj4yXXwwKXwwO2ZbZT4+Ml09YTtlPWIrMzJ8
MDtmW2U+PjJdPShmW2U+PjJdfDApK2Q7ZT1iKzQwfDA7ZltlPj4yXT0oZltlPj4yXXwwKStkO2I9
Yis0OHwwO2c9ZysxfDB9YnIoaCk7SHcoaSl8MDtyZXR1cm59ZnVuY3Rpb24gVnEoYSxiKXthPWF8
MDtiPWJ8MDtpZigoZlthKzMyPj4yXXwwKT4oZltiKzQwPj4yXXwwKSlhPTA7ZWxzZSBhPShmW2Ir
MzI+PjJdfDApPD0oZlthKzQwPj4yXXwwKSYxO3JldHVybiBhfDB9ZnVuY3Rpb24gV3EoYSxiLGMs
ZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTA7aT1Mdyg3
MTg0OCxmWzE4MDA0XXwwKXwwO2c9YjtoPTA7d2hpbGUoMSl7aWYoKGh8MCk+PShjfDApKWJyZWFr
O2ZbZys4Pj4yXT1mW2crMTY+PjJdO3diW2ZbaT4+Ml0mNjNdKGksZywxKXwwO2c9Zys0OHwwO2g9
aCsxfDB9aWYoIWUpaD1hcihhLGksZCw3NCl8MDtlbHNlIGg9JHEoaSxkLDc0KXwwO29JKGgsMiwy
MTQ3NDgzNjQ3KXwwO2c9MDt3aGlsZSgxKXtpZigoZ3wwKT49KGN8MCkpYnJlYWs7ZT1iKzE2fDA7
YT1mWyhmWyhmW2IrMjQ+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDA7ZD1hLShmW2U+PjJdfDAp
fDA7ZltlPj4yXT1hO2U9YiszNnwwO2ZbZT4+Ml09KGZbZT4+Ml18MCkrZDtlPWIrNDR8MDtmW2U+
PjJdPShmW2U+PjJdfDApK2Q7Yj1iKzQ4fDA7Zz1nKzF8MH1icihoKTtIdyhpKXwwO3JldHVybn1m
dW5jdGlvbiBYcShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTA7Yz1hKzMyfDA7
ZD1iKzMyfDA7aWYoKGZbYSszNj4+Ml18MCk8PShmW2IrNDQ+PjJdfDApPyhmW2IrMzY+PjJdfDAp
PD0oZlthKzQ0Pj4yXXwwKTowKWlmKChmW2ErNDA+PjJdfDApPChmW2Q+PjJdfDApKWE9MTtlbHNl
e2c9X3EoYyxkKXwwO2c9Zy0oZltiKzEyPj4yXXwwKSsoZlthKzEyPj4yXXwwKXwwO2I9ZltiKzE2
Pj4yXXwwO2U9ZlthKzE2Pj4yXXwwO2E9WnEoYyxkKXwwO2E9KGd8MCk8PSgoKGJ8MCk8KGV8MCk/
Yi1lfDA6ZS1ifDApK2F8MCkmMX1lbHNlIGE9MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIFlxKGEsYil7
YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MDtjPWErMzJ8MDtkPWIrMzJ8MDtpZigoZltj
Pj4yXXwwKTw9KGZbYis0MD4+Ml18MCk/KGZbZD4+Ml18MCk8PShmW2ErNDA+PjJdfDApOjApaWYo
KGZbYSs0ND4+Ml18MCk8KGZbYiszNj4+Ml18MCkpYT0xO2Vsc2V7Zz1acShjLGQpfDA7Zz1nLShm
W2IrMTY+PjJdfDApKyhmW2ErMTY+PjJdfDApfDA7Yj1mW2IrMTI+PjJdfDA7ZT1mW2ErMTI+PjJd
fDA7YT1fcShjLGQpfDA7YT0oZ3wwKTw9KCgoYnwwKTwoZXwwKT9iLWV8MDplLWJ8MCkrYXwwKSYx
fWVsc2UgYT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gWnEoYSxiKXthPWF8MDtiPWJ8MDtyZXR1cm4g
KChmW2ErMTI+PjJdfDApLShmW2ErND4+Ml18MCkrKGZbYisxMj4+Ml18MCktKGZbYis0Pj4yXXww
KXwwKS8yfDB8MH1mdW5jdGlvbiBfcShhLGIpe2E9YXwwO2I9YnwwO3JldHVybiAoKGZbYSs4Pj4y
XXwwKS0oZlthPj4yXXwwKSsoZltiKzg+PjJdfDApLShmW2I+PjJdfDApfDApLzJ8MHwwfWZ1bmN0
aW9uICRxKGEsYyxlKXthPWF8MDtjPWN8MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxs
PTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MDt4PXQ7dD10KzE2
fDA7dj14O2Jbdj4+MF09Yls3MjI2OF18MDtiW3YrMT4+MF09Yls3MjI2OV18MDtiW3YrMj4+MF09
Yls3MjI3MF18MDtiW3YrMz4+MF09Yls3MjI3MV18MDt3PWV5KDEwNDIzMCx2LDApfDA7Snoodywx
NDU3NTMsMjgwLDEpfDA7Zz1KdyhhKXwwO2g9LTIxNDc0ODM2NDc7dT0wO3doaWxlKDEpe2lmKCFn
KWJyZWFrO3I9ZltnKzg+PjJdfDA7cz11KygoaHwwKSE9KHJ8MCkmMSl8MDtnPWZbZz4+Ml18MDto
PXI7dT1zfXI9dysxNnwwO3M9KHU8PDMpKy00fDA7bT0wO2o9MDtnPTA7aD0wO2w9MDtxPUp3KGEp
fDA7aT0tMjE0NzQ4MzY0Nzt3aGlsZSgxKXtpZighcSlicmVhaztwPWZbcSs4Pj4yXXwwO2lmKChp
fDApIT0ocHwwKSl7bz1qeih3LEF5KGZbcSsyMD4+Ml18MCl8MCwxKXwwO0p6KG8sMTQ1NzE3LDMw
NCwxKXwwO249bysxNnwwO2c9ZltuPj4yXXwwO2ZbZysxMTI+PjJdPXE7aWYoIWgpe2ZbKGZbcj4+
Ml18MCkrMTkyPj4yXT1vO209b31lbHNle2ZbKGZbbSsxNj4+Ml18MCkrMTY0Pj4yXT1vO209aH1m
W2crMTc2Pj4yXT0wO2s9aisxfDA7aT1ESChrPDwyKXwwO2ZbKGZbbj4+Ml18MCkrMTcyPj4yXT1p
O2lmKCFsKXtqPWs7az1vO2w9bztnPW87aD1tO2k9cH1lbHNle2k9bCsxNnwwO2ZbKGZbaT4+Ml18
MCkrMTg0Pj4yXT0wO2o9REgoKGx8MCk9PShtfDApP3M6dS1qPDwyKXwwO2ZbKGZbaT4+Ml18MCkr
MTgwPj4yXT1qO2o9X3godyxsLG8sMCwxKXwwO0p6KGosMTQ1NzMwLDE3NiwxKXwwO2c9ZltqKzE2
Pj4yXXwwO2RbZysxNzA+PjFdPTEwO2ZbZysxNTY+PjJdPTE7Zz1mW2k+PjJdfDA7aD1mW2crMTgw
Pj4yXXwwO2lmKCFoKWc9RUgoKGZbZysxODQ+PjJdPDwyKSs4fDApfDA7ZWxzZSBnPUdIKGgsKGZb
ZysxODQ+PjJdPDwyKSs4fDApfDA7bD1mW2k+PjJdfDA7ZltsKzE4MD4+Ml09ZztsPWwrMTg0fDA7
aD1mW2w+PjJdfDA7ZltsPj4yXT1oKzE7ZltnKyhoPDwyKT4+Ml09ajtnPWZbaT4+Ml18MDtmWyhm
W2crMTgwPj4yXXwwKSsoZltnKzE4ND4+Ml08PDIpPj4yXT0wO2c9ZltuPj4yXXwwO2g9ZltnKzE3
Mj4+Ml18MDtpZighaClnPUVIKChmW2crMTc2Pj4yXTw8MikrOHwwKXwwO2Vsc2UgZz1HSChoLChm
W2crMTc2Pj4yXTw8MikrOHwwKXwwO2g9ZltuPj4yXXwwO2ZbaCsxNzI+PjJdPWc7aD1oKzE3Nnww
O2w9ZltoPj4yXXwwO2ZbaD4+Ml09bCsxO2ZbZysobDw8Mik+PjJdPWo7aj1mW24+PjJdfDA7Zlso
ZltqKzE3Mj4+Ml18MCkrKGZbaisxNzY+PjJdPDwyKT4+Ml09MDtqPWs7az1vO2w9bztnPW87aD1t
O2k9cH19ZWxzZXtrPWc7Zz1tfWZbcSsyND4+Ml09azttPWc7Zz1rO3E9ZltxPj4yXXwwfWw9bCsx
NnwwO2ZbKGZbbD4+Ml18MCkrMTg0Pj4yXT0wO2c9REgoNCl8MDtmWyhmW2w+PjJdfDApKzE4MD4+
Ml09ZztiW3Y+PjBdPWJbNzIyNjhdfDA7Ylt2KzE+PjBdPWJbNzIyNjldfDA7Ylt2KzI+PjBdPWJb
NzIyNzBdfDA7Ylt2KzM+PjBdPWJbNzIyNzFdfDA7bD1leSgxMDQyNzcsdiwwKXwwO2c9SncoYSl8
MDt3aGlsZSgxKXtpZighZylicmVhazt2PWp6KGwsQXkoZltnKzIwPj4yXXwwKXwwLDEpfDA7Snoo
diwxNDU3MTcsMzA0LDEpfDA7ZltnKzI4Pj4yXT12O2ZbKGZbdisxNj4+Ml18MCkrMTEyPj4yXT1n
O2c9ZltnPj4yXXwwfWc9MDtrPUp3KGEpfDA7aD0tMjE0NzQ4MzY0NzthOndoaWxlKDEpe2lmKCFr
KWJyZWFrO2o9ZltrKzg+PjJdfDA7YjpkbyBpZigoaHwwKT09KGp8MCkpaj1oO2Vsc2V7Zz1rO3do
aWxlKDEpe2c9ZltnPj4yXXwwO2lmKCFnKWJyZWFrIGE7aWYoKGZbZys4Pj4yXXwwKSE9KGp8MCkp
YnJlYWsgYn19d2hpbGUoMCk7aT1rKzI4fDA7aD1nO3doaWxlKDEpe2lmKCFoKWJyZWFrO2lmKHVi
W2MmMTI3XShrLGgpfDApX3gobCxmW2k+PjJdfDAsZltoKzI4Pj4yXXwwLDAsMSl8MDtoPWZbaD4+
Ml18MH1rPWZbaz4+Ml18MDtoPWp9Y3IobCx3LGUpO2l5KGwpfDA7dD14O3JldHVybiB3fDB9ZnVu
Y3Rpb24gYXIoYSxjLGUsZyl7YT1hfDA7Yz1jfDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0w
LGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wO3I9dDt0PXQrMTZ8MDtxPXI7Yltx
Pj4wXT1iWzcyMjY4XXwwO2JbcSsxPj4wXT1iWzcyMjY5XXwwO2JbcSsyPj4wXT1iWzcyMjcwXXww
O2JbcSszPj4wXT1iWzcyMjcxXXwwO3E9ZXkoMTA0MjMwLHEsMCl8MDtKeihxLDE0NTc1MywyODAs
MSl8MDtrPXErMTZ8MDtoPUp3KGMpfDA7aT0wO3doaWxlKDEpe2lmKCFoKWJyZWFrO2o9anoocSxB
eShmW2grMjA+PjJdfDApfDAsMSl8MDtKeihqLDE0NTcxNywzMDQsMSl8MDtvPWorMTZ8MDttPWZb
bz4+Ml18MDtmW20rMTEyPj4yXT1oO2ZbaCsyND4+Ml09ajtmW20rMTc2Pj4yXT0wO209REgoNCl8
MDtuPWZbbz4+Ml18MDtmW24rMTcyPj4yXT1tO2ZbbisxODQ+PjJdPTA7bj1ESCg0KXwwO2ZbKGZb
bz4+Ml18MCkrMTgwPj4yXT1uO2lmKCFpKWZbKGZbaz4+Ml18MCkrMTkyPj4yXT1qO2Vsc2UgZlso
ZltpKzE2Pj4yXXwwKSsxNjQ+PjJdPWo7aD1mW2g+PjJdfDA7aT1qfWw9SncoYyl8MDthOndoaWxl
KDEpe2lmKCFsKWJyZWFrO209bCszMnwwO249bCsyNHwwO289bCsyMHwwO2g9bDt3aGlsZSgxKXto
PWZbaD4+Ml18MDtpZighaClicmVhaztpZih1YltlJjEyN10obCxoKXwwKXtpPXViW2cmMTI3XSht
LGgrMzJ8MCl8MDtqPV94KHEsZltuPj4yXXwwLGZbaCsyND4+Ml18MCwwLDEpfDA7SnooaiwxNDU3
MzAsMTc2LDEpfDA7aWYoKGl8MCk+PTY1NTM2KXtwPTEzO2JyZWFrIGF9az1qKzE2fDA7cz1mW2s+
PjJdfDA7ZFtzKzE3MD4+MV09aTtmW3MrMTU2Pj4yXT0xO2lmKGp8MD9feChhLGZbbz4+Ml18MCxm
W2grMjA+PjJdfDAsMCwwKXwwOjApZlsoZltrPj4yXXwwKSsxNTY+PjJdPTEwMH19bD1mW2w+PjJd
fDB9aWYoKHB8MCk9PTEzKXhhKDEwNDIzMywxMDQyNDksMjU0LDEwNDI2Mik7bD1KdyhjKXwwO3do
aWxlKDEpe2lmKCFsKWJyZWFrO2s9ZltsKzI0Pj4yXXwwO209aysxNnwwO2s9TngocSxrKXwwO3do
aWxlKDEpe2lmKCFrKWJyZWFrO2g9ZlttPj4yXXwwO2k9ZltoKzE4MD4+Ml18MDtpZighaSloPUVI
KChmW2grMTg0Pj4yXTw8MikrOHwwKXwwO2Vsc2UgaD1HSChpLChmW2grMTg0Pj4yXTw8MikrOHww
KXwwO2k9ZlttPj4yXXwwO2ZbaSsxODA+PjJdPWg7aT1pKzE4NHwwO2o9ZltpPj4yXXwwO2ZbaT4+
Ml09aisxO2ZbaCsoajw8Mik+PjJdPWs7aj1mW20+PjJdfDA7ZlsoZltqKzE4MD4+Ml18MCkrKGZb
aisxODQ+PjJdPDwyKT4+Ml09MDtqPWsrLTQ4fDA7aD1mWyhmWygoZltrPj4yXSYzfDApPT0yP2s6
aikrNDA+PjJdfDApKzE2Pj4yXXwwO2k9ZltoKzE3Mj4+Ml18MDtpZighaSloPUVIKChmW2grMTc2
Pj4yXTw8MikrOHwwKXwwO2Vsc2UgaD1HSChpLChmW2grMTc2Pj4yXTw8MikrOHwwKXwwO2ZbKGZb
KGZbKChmW2s+PjJdJjN8MCk9PTI/azpqKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE3Mj4+Ml09aDtn
PWZbKGZbKChmW2s+PjJdJjN8MCk9PTI/azpqKSs0MD4+Ml18MCkrMTY+PjJdfDA7cD1mW2crMTcy
Pj4yXXwwO2c9ZysxNzZ8MDtzPWZbZz4+Ml18MDtmW2c+PjJdPXMrMTtmW3ArKHM8PDIpPj4yXT1r
O3M9ZlsoZlsoKGZbaz4+Ml0mM3wwKT09Mj9rOmopKzQwPj4yXXwwKSsxNj4+Ml18MDtmWyhmW3Mr
MTcyPj4yXXwwKSsoZltzKzE3Nj4+Ml08PDIpPj4yXT0wO2s9UHgocSxrKXwwfWw9ZltsPj4yXXww
fXQ9cjtyZXR1cm4gcXwwfWZ1bmN0aW9uIGJyKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTA7
ZT0keShhKXwwO3doaWxlKDEpe2lmKCFlKWJyZWFrO2M9ZSsxNnwwO2I9ZltjPj4yXXwwO2Q9Zlti
KzE3Mj4+Ml18MDtpZihkKXtNXyhkKTtiPWZbYz4+Ml18MH1iPWZbYisxODA+PjJdfDA7aWYoYnww
KU1fKGIpO2U9YXooYSxlKXwwfWl5KGEpfDA7cmV0dXJufWZ1bmN0aW9uIGNyKGEsYixjKXthPWF8
MDtiPWJ8MDtjPWN8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0w
LHA9MCxxPTA7az0keShhKXwwO3doaWxlKDEpe2lmKCFrKWJyZWFrO249ZlsoZltrKzE2Pj4yXXww
KSsxMTI+PjJdfDA7bT1mW24rMjQ+PjJdfDA7bj1uKzMyfDA7bz1tKzE2fDA7bD1OeChhLGspfDA7
d2hpbGUoMSl7aWYoIWwpYnJlYWs7aD1mWyhmWyhmWygoZltsPj4yXSYzfDApPT0yP2w6bCstNDh8
MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsxMTI+PjJdfDA7cD11YltjJjEyN10obixoKzMyfDApfDA7
aD1mW2grMjQ+PjJdfDA7aT1feChiLG0saCwwLDEpfDA7SnooaSwxNDU3MzAsMTc2LDEpfDA7aj1p
KzE2fDA7ZT1mW2o+PjJdfDA7ZltlKzE1Nj4+Ml09MTtlPWUrMTcwfDA7Zz1kW2U+PjFdfDA7aWYo
KHB8MCk+KGcmNjU1MzV8MCkpe2lmKCEoZzw8MTY+PjE2KSl7ZT1mW28+PjJdfDA7Zz1mW2UrMTgw
Pj4yXXwwO2lmKCFnKWU9RUgoKGZbZSsxODQ+PjJdPDwyKSs4fDApfDA7ZWxzZSBlPUdIKGcsKGZb
ZSsxODQ+PjJdPDwyKSs4fDApfDA7cT1mW28+PjJdfDA7ZltxKzE4MD4+Ml09ZTtxPXErMTg0fDA7
Zz1mW3E+PjJdfDA7ZltxPj4yXT1nKzE7ZltlKyhnPDwyKT4+Ml09aTtlPWZbbz4+Ml18MDtmWyhm
W2UrMTgwPj4yXXwwKSsoZltlKzE4ND4+Ml08PDIpPj4yXT0wO2g9aCsxNnwwO2U9ZltoPj4yXXww
O2c9ZltlKzE3Mj4+Ml18MDtpZighZyllPUVIKChmW2UrMTc2Pj4yXTw8MikrOHwwKXwwO2Vsc2Ug
ZT1HSChnLChmW2UrMTc2Pj4yXTw8MikrOHwwKXwwO2c9ZltoPj4yXXwwO2ZbZysxNzI+PjJdPWU7
Zz1nKzE3NnwwO3E9ZltnPj4yXXwwO2ZbZz4+Ml09cSsxO2ZbZSsocTw8Mik+PjJdPWk7ZT1mW2g+
PjJdfDA7ZlsoZltlKzE3Mj4+Ml18MCkrKGZbZSsxNzY+PjJdPDwyKT4+Ml09MDtlPShmW2o+PjJd
fDApKzE3MHwwfWRbZT4+MV09cH1sPVB4KGEsbCl8MH1rPWF6KGEsayl8MH1yZXR1cm59ZnVuY3Rp
b24gZHIoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7cmV0dXJuIChmW2I+PjJdfDAp
LShmW2M+PjJdfDApfDB9ZnVuY3Rpb24gZXIoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxn
PTAuMCxoPTAuMCxpPTAuMCxqPTAuMCxrPTAuMCxsPTAuMCxtPTAsbz0wLHE9MCxyPTAscz0wLHU9
MCx2PTAsdz0wLHg9MCx5PTAsej0wLjAsQT0wLjA7eT10O3Q9dCs2NHwwO3U9eSsyNHwwO3I9eSsx
NnwwO3E9eSs1MnwwO289eSs0MHwwO3M9eTt3PWp5KGEpfDA7eD1FSCh3KjcyfDApfDA7enEobyxh
KTtpPStuW28+PjJdO2o9K25bbys0Pj4yXTtvPShiW28rOD4+MF18MCkhPTA7aT1vP2kqLjAxMzg4
ODg4ODg4ODg4ODg4ODppO2o9bz9qKi4wMTM4ODg4ODg4ODg4ODg4ODg6ajtrPWkqLjU7bD1qKi41
O2Q9eDtlPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWUpYnJlYWs7bT1mW2UrMTY+PjJdfDA7Zz0rcFtt
KzMyPj4zXTtpZihvKXtoPStwW20rNDA+PjNdKi41K2o7Zz1nKi41K2l9ZWxzZXtoPWwqK3BbbSs0
MD4+M107Zz1rKmd9bT1mW20rMTMyPj4yXXwwO0E9K3BbbT4+M107cFtkPj4zXT1BO3o9K3BbbSs4
Pj4zXTtwW2QrOD4+M109ejtwW2QrMTY+PjNdPUEtZztwW2QrMjQ+PjNdPXotaDtwW2QrMzI+PjNd
PUErZztwW2QrNDA+PjNdPXoraDtwW2QrNDg+PjNdPWc7cFtkKzU2Pj4zXT1oO2ZbZCs2ND4+Ml09
ZTtkPWQrNzJ8MDtlPWF6KGEsZSl8MH1kbyBpZigoY3wwKTwwKXtnPStmcih4LHcpO2lmKGc9PTAu
MCl7TV8oeCk7ZD0wO2JyZWFrfWlmKCEwKXtpPWc7aD1nO3Y9MTl9ZWxzZXt2PWZbMTk0NTddfDA7
cFtyPj4zXT1nO2cyKHYsMTA0MjgwLHIpfDA7aT1nO2g9Zzt2PTE5fX1lbHNle2U9Z3IoeCx3LHEp
fDA7ZD1mW3E+PjJdfDA7aWYoIWQpe01fKGUpO01fKHgpO2Q9MDticmVha31pZighYyl7aXIocyxl
LGQpO2c9K3Bbcz4+M107aD0rcFtzKzg+PjNdfWVsc2V7aD0raHIoZSxkKTtnPWh9TV8oZSk7aWYo
ITApe2k9Zzt2PTE5fWVsc2V7dj1mWzE5NDU3XXwwO3BbdT4+M109ZztwW3UrOD4+M109aDtnMih2
LDEwNDI5NCx1KXwwO2k9Zzt2PTE5fX13aGlsZSgwKTtpZigodnwwKT09MTkpe2Q9MDtlPXg7d2hp
bGUoMSl7aWYoKGR8MCk+PSh3fDApKWJyZWFrO3Y9ZlsoZlsoZltlKzY0Pj4yXXwwKSsxNj4+Ml18
MCkrMTMyPj4yXXwwO3Bbdj4+M109K3BbZT4+M10qaTtwW3YrOD4+M109K3BbZSs4Pj4zXSpoO2Q9
ZCsxfDA7ZT1lKzcyfDB9TV8oeCk7ZD0xfXQ9eTtyZXR1cm4gZHwwfWZ1bmN0aW9uIGZyKGEsYil7
YT1hfDA7Yj1ifDA7dmFyIGM9MC4wLGQ9MCxlPTAuMCxmPTAuMCxnPTAuMCxoPTAsaT0wLGo9MCxr
PTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTA7Yz0wLjA7ZD0wO2E6d2hpbGUoMSl7aWYoKGR8MCk+
PShifDApKWJyZWFrO3I9YSs3MnwwO2Q9ZCsxfDA7bD1hKzE2fDA7bT1hKzMyfDA7bj1hKzh8MDtv
PWErNDh8MDtxPWErMjR8MDtqPWErNTZ8MDtrPWErNDB8MDtoPWQ7aT1yO3doaWxlKDEpe2lmKCho
fDApPj0oYnwwKSlicmVhaztpZigoKCtwW2w+PjNdPD0rcFtpKzMyPj4zXT8rcFtpKzE2Pj4zXTw9
K3BbbT4+M106MCk/K3BbcT4+M108PStwW2krNDA+PjNdOjApPytwW2krMjQ+PjNdPD0rcFtrPj4z
XTowKXtjPTAuMDticmVhayBhfWU9K3BbYT4+M107Zj0rcFtpPj4zXTtpZihlPT1mKWc9QTtlbHNl
e2c9K0koKyhlLWYpKTtnPSgrcFtpKzQ4Pj4zXSsgK3Bbbz4+M10pL2d9ZT0rcFtuPj4zXTtmPStw
W2krOD4+M107aWYoZT09ZillPUE7ZWxzZXtlPStJKCsoZS1mKSk7ZT0oK3BbaSs1Nj4+M10rICtw
W2o+PjNdKS9lfWc9ZTxnP2U6ZztoPWgrMXwwO2k9aSs3MnwwO2M9Zz5jP2c6Y31hPXJ9cmV0dXJu
ICtjfWZ1bmN0aW9uIGdyKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MC4wLGc9
MC4wLGg9MCxpPTAuMCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLHM9MCx0PTAsdT0w
LHY9MCx3PTAseD0wLHk9MDtqPUVIKChiPDw0KSsxNnwwKXwwO2w9MDtkPTA7bT1qO249YjtoPWo7
d2hpbGUoMSl7aWYoKGR8MCk+PShifDApKWJyZWFrO3k9YSs3MnwwO2Q9ZCsxfDA7eD1hKzE2fDA7
cj1hKzMyfDA7cz1hKzI0fDA7dD1hKzQwfDA7dT1hKzh8MDt2PWErNDh8MDt3PWErNTZ8MDtvPWQ7
cT15O2s9aDt3aGlsZSgxKXtpZigob3wwKT09KGJ8MCkpYnJlYWs7aWYoKCgrcFt4Pj4zXTw9K3Bb
cSszMj4+M10/K3BbcSsxNj4+M108PStwW3I+PjNdOjApPytwW3M+PjNdPD0rcFtxKzQwPj4zXTow
KT8rcFtxKzI0Pj4zXTw9K3BbdD4+M106MCl7aD1uK2J8MDtpZigobHwwKT09KG58MCkpe2o9R0go
aiwoaDw8NCkrMTZ8MCl8MDttPWo7az1qfWVsc2UgaD1uO2U9K3BbYT4+M107Zz0rcFtxPj4zXTtp
ZighKGU9PWcpKXtlPSgrcFtxKzQ4Pj4zXSsgK3Bbdj4+M10pLytJKCsoZS1nKSk7aWYoZTwxLjAp
ZT0xLjB9ZWxzZSBlPUE7Zz0rcFt1Pj4zXTtpPStwW3ErOD4+M107aWYoIShnPT1pKSl7Zz0oK3Bb
cSs1Nj4+M10rICtwW3c+PjNdKS8rSSgrKGctaSkpO2lmKGc8MS4wKWc9MS4wfWVsc2UgZz1BO2w9
bCsxfDA7cFttKyhsPDw0KT4+M109ZTtwW20rKGw8PDQpKzg+PjNdPWd9ZWxzZSBoPW47bz1vKzF8
MDtxPXErNzJ8MDtuPWh9YT15O2g9a31iPUdIKGgsKGw8PDQpKzE2fDApfDA7ZltjPj4yXT1sO3Jl
dHVybiBifDB9ZnVuY3Rpb24gaHIoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAuMCxm
PTAuMCxnPTAuMDtkPTE7ZT0wLjA7d2hpbGUoMSl7Yz1hKzE2fDA7aWYoKGR8MCk+KGJ8MCkpYnJl
YWs7Zz0rcFtjPj4zXTtmPStwW2ErMjQ+PjNdO2Y9ZzxmP2c6ZjtkPWQrMXwwO2U9Zj5lP2Y6ZTth
PWN9cmV0dXJuICtlfWZ1bmN0aW9uIGlyKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0w
LjAsZT0wLGY9MCxnPTAsaD0wLjA7cFtiPj4zXT0xLjA7cFtiKzg+PjNdPUE7VyQoYisxNnwwLGMs
MTYsNzUpO2c9RUgoKGM8PDQpKzE2fDApfDA7cFtnKyhjPDw0KT4+M109K3BbYisoYzw8NCk+PjNd
O2Q9MS4wO2Y9Yzt3aGlsZSgxKXtwW2crKGY8PDQpKzg+PjNdPWQ7ZT1mKy0xfDA7aWYoKGZ8MCk8
PTApYnJlYWs7cFtnKyhlPDw0KT4+M109K3BbYisoZTw8NCk+PjNdO2g9K3BbYisoZjw8NCkrOD4+
M107ZD1oPmQ/aDpkO2Y9ZX1kPUE7ZT0wO2Y9MDt3aGlsZSgxKXtpZigoZnwwKT4oY3wwKSlicmVh
aztoPStwW2crKGY8PDQpKzg+PjNdKitwW2crKGY8PDQpPj4zXTtiPWg8ZDtkPWI/aDpkO2U9Yj9m
OmU7Zj1mKzF8MH1pZihkPEEpe2g9K3BbZysoZTw8NCkrOD4+M107cFthPj4zXT0rcFtnKyhlPDw0
KT4+M107cFthKzg+PjNdPWg7cmV0dXJufWVsc2UgeGEoMTA0MzExLDEwNDI0OSw4MzIsMTA0MzMx
KX1mdW5jdGlvbiBqcihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAuMDtjPStwW2E+PjNd
O2Q9K3BbYj4+M107aWYoIShjPGQpKWlmKCEoYz5kKSl7ZD0rcFthKzg+PjNdO2M9K3BbYis4Pj4z
XTtpZihkPGMpYT0tMTtlbHNlIGE9ZD5jJjF9ZWxzZSBhPTE7ZWxzZSBhPS0xO3JldHVybiBhfDB9
ZnVuY3Rpb24ga3IoYSl7YT1hfDA7dmFyIGI9MDtpZihhfDApe2I9ZlthKzQ+PjJdfDA7aWYoYnww
KU1fKGIpO2I9ZlthKzg+PjJdfDA7aWYoYnwwKU1fKGIpO2I9ZlthKzE2Pj4yXXwwO2lmKGJ8MClN
XyhiKTtNXyhhKX1yZXR1cm59ZnVuY3Rpb24gbHIoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7
ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7bT10O3Q9dCsxNnwwO2w9
bSs4fDA7az1tO2o9T18oZls0ODE4M118MCxjPDwyKXwwO2ZbNDgxODNdPWo7ZT0wO3doaWxlKDEp
e2lmKChlfDApPj0oY3wwKSlicmVhaztmW2QrKGU8PDIpPj4yXT0yMTQ3NDgzNjQ3O2U9ZSsxfDB9
ZltkKyhhPDwyKT4+Ml09MDtnPWIrKGEqMjB8MCl8MDtoPWIrKGEqMjB8MCkrOHwwO2k9YisoYSoy
MHwwKSs0fDA7ZT0xO3doaWxlKDEpe2lmKChlfDApPj0oZltnPj4yXXwwKSlicmVhaztmW2QrKGZb
KGZbaT4+Ml18MCkrKGU8PDIpPj4yXTw8Mik+PjJdPX5+K25bKGZbaD4+Ml18MCkrKGU8PDIpPj4y
XTtlPWUrMXwwfW1yKGwsYSxqLGQsYyk7aD0tMjE0NzQ4MzYzOTt3aGlsZSgxKXtpZighKChucihs
LGssZls0ODE4M118MCxkKXwwKTw8MjQ+PjI0KSlicmVhaztlPWZbaz4+Ml18MDthPWZbZCsoZTw8
Mik+PjJdfDA7aWYoKGF8MCk9PTIxNDc0ODM2NDcpYnJlYWs7aD1iKyhlKjIwfDApfDA7aT1iKyhl
KjIwfDApKzR8MDtnPWIrKGUqMjB8MCkrOHwwO2U9MTt3aGlsZSgxKXtpZigoZXwwKT49KGZbaD4+
Ml18MCkpYnJlYWs7b3IobCxmWyhmW2k+PjJdfDApKyhlPDwyKT4+Ml18MCxhK35+K25bKGZbZz4+
Ml18MCkrKGU8PDIpPj4yXXwwLGZbNDgxODNdfDAsZCk7ZT1lKzF8MH1oPWErMTB8MH1lPTA7d2hp
bGUoMSl7aWYoKGV8MCk+PShjfDApKWJyZWFrO2c9ZCsoZTw8Mil8MDtpZigoZltnPj4yXXwwKT09
MjE0NzQ4MzY0NylmW2c+PjJdPWg7ZT1lKzF8MH1wcihsKTt0PW07cmV0dXJufWZ1bmN0aW9uIG1y
KGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0w
LGo9MDtpZigoZXwwKT09MSl7ZlthPj4yXT0wO2k9MH1lbHNle2k9RUgoKGU8PDIpKy00fDApfDA7
ZlthPj4yXT1pfWo9ZSstMXwwO2ZbYSs0Pj4yXT1qO2c9MDtoPTA7d2hpbGUoMSl7aWYoKGh8MCk+
PShlfDApKWJyZWFrO2lmKChofDApIT0oYnwwKSl7ZltpKyhnPDwyKT4+Ml09aDtmW2MrKGg8PDIp
Pj4yXT1nO2c9ZysxfDB9aD1oKzF8MH1nPShqfDApLzJ8MDt3aGlsZSgxKXtpZigoZ3wwKTw9LTEp
YnJlYWs7cXIoYSxnLGMsZCk7Zz1nKy0xfDB9cmV0dXJufWZ1bmN0aW9uIG5yKGEsYixjLGQpe2E9
YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wO2U9YSs0fDA7aWYoIShmW2U+PjJdfDAp
KWE9MDtlbHNle2c9ZlthPj4yXXwwO2ZbYj4+Ml09ZltnPj4yXTtiPWZbZysoKGZbZT4+Ml18MCkr
LTE8PDIpPj4yXXwwO2ZbZz4+Ml09YjtmW2MrKGI8PDIpPj4yXT0wO2ZbZT4+Ml09KGZbZT4+Ml18
MCkrLTE7cXIoYSwwLGMsZCk7YT0xfXJldHVybiBhfDB9ZnVuY3Rpb24gb3IoYSxiLGMsZCxlKXth
PWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTAsaj0wO2c9ZSsoYjw8
Mil8MDtpZigoZltnPj4yXXwwKT4oY3wwKSl7aj1kKyhiPDwyKXwwO2k9ZltqPj4yXXwwO2ZbZz4+
Ml09YztnPWZbYT4+Ml18MDthPWk7d2hpbGUoMSl7aWYoKGF8MCk8PTApYnJlYWs7aD1hPj4+MTtp
PWZbZysoaDw8Mik+PjJdfDA7aWYoKGZbZSsoaTw8Mik+PjJdfDApPD0oY3wwKSlicmVhaztmW2cr
KGE8PDIpPj4yXT1pO2ZbZCsoaTw8Mik+PjJdPWE7YT1ofWZbZysoYTw8Mik+PjJdPWI7ZltqPj4y
XT1hfXJldHVybn1mdW5jdGlvbiBwcihhKXthPWF8MDthPWZbYT4+Ml18MDtpZihhfDApTV8oYSk7
cmV0dXJufWZ1bmN0aW9uIHFyKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBl
PTAsZz0wLGg9MCxpPTAsaj0wO2k9YSs0fDA7d2hpbGUoMSl7ZT1iPDwxO2c9ZXwxO2g9ZltpPj4y
XXwwO2lmKCEoKGV8MCk8KGh8MCk/KGo9ZlthPj4yXXwwLChmW2QrKGZbaisoZTw8Mik+PjJdPDwy
KT4+Ml18MCk8KGZbZCsoZltqKyhiPDwyKT4+Ml08PDIpPj4yXXwwKSk6MCkpZT1iO2lmKChnfDAp
PChofDApKXtqPWZbYT4+Ml18MDtlPShmW2QrKGZbaisoZzw8Mik+PjJdPDwyKT4+Ml18MCk8KGZb
ZCsoZltqKyhlPDwyKT4+Ml08PDIpPj4yXXwwKT9nOmV9aWYoKGV8MCk9PShifDApKWJyZWFrO2o9
ZlthPj4yXXwwO2g9aisoZTw8Mil8MDtnPWZbaD4+Ml18MDtqPWorKGI8PDIpfDA7ZltoPj4yXT1m
W2o+PjJdO2Zbaj4+Ml09ZztmW2MrKGZbaD4+Ml08PDIpPj4yXT1lO2ZbYysoZltqPj4yXTw8Mik+
PjJdPWI7Yj1lfXJldHVybn1mdW5jdGlvbiBycihhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtk
PWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MC4wLGs9MCxsPTAsbT0wLG89MDtvPXQ7dD10KzE2
fDA7az1vKzh8MDtsPW87ZltsPj4yXT0wO209RUgoYzw8Mil8MDtlPTA7d2hpbGUoMSl7aWYoKGV8
MCk+PShjfDApKWJyZWFrO25bZCsoZTw8Mik+PjJdPTM0MDI4MjM0NjYzODUyODg1OTgxMTcwNDEu
MGUxNDtlPWUrMXwwfW5bZCsoYTw8Mik+PjJdPTAuMDtnPWZbYisoYSoyMHwwKT4+Ml18MDtoPWIr
KGEqMjB8MCkrOHwwO2k9YisoYSoyMHwwKSs0fDA7ZT0xO3doaWxlKDEpe2lmKChlfDApPj0oZ3ww
KSlicmVhaztmW2QrKGZbKGZbaT4+Ml18MCkrKGU8PDIpPj4yXTw8Mik+PjJdPWZbKGZbaD4+Ml18
MCkrKGU8PDIpPj4yXTtlPWUrMXwwfXNyKGssYSxtLGQsYyk7d2hpbGUoMSl7aWYoISgodHIoayxs
LG0sZCl8MCk8PDI0Pj4yNCkpYnJlYWs7ZT1mW2w+PjJdfDA7aj0rbltkKyhlPDwyKT4+Ml07aWYo
aj09MzQwMjgyMzQ2NjM4NTI4ODU5ODExNzA0MS4wZTE0KWJyZWFrO2g9YisoZSoyMHwwKXwwO2k9
YisoZSoyMHwwKSs0fDA7Zz1iKyhlKjIwfDApKzh8MDtlPTE7d2hpbGUoMSl7aWYoKGV8MCk+PShm
W2g+PjJdfDApKWJyZWFrO3VyKGssZlsoZltpPj4yXXwwKSsoZTw8Mik+PjJdfDAsK25bKGZbZz4+
Ml18MCkrKGU8PDIpPj4yXStqLG0sZCk7ZT1lKzF8MH19cHIoayk7TV8obSk7dD1vO3JldHVybn1m
dW5jdGlvbiBzcihhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBn
PTAsaD0wLGk9MCxqPTA7aT1lKy0xfDA7aj1FSChpPDwyKXwwO2ZbYT4+Ml09ajtmW2ErND4+Ml09
aTtnPTA7aD0wO3doaWxlKDEpe2lmKChofDApPj0oZXwwKSlicmVhaztpZigoaHwwKSE9KGJ8MCkp
e2ZbaisoZzw8Mik+PjJdPWg7ZltjKyhoPDwyKT4+Ml09ZztnPWcrMXwwfWg9aCsxfDB9Zz0oaXww
KS8yfDA7d2hpbGUoMSl7aWYoKGd8MCk8PS0xKWJyZWFrO3ZyKGEsZyxjLGQpO2c9ZystMXwwfXJl
dHVybn1mdW5jdGlvbiB0cihhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0w
LGc9MDtlPWErNHwwO2lmKCEoZltlPj4yXXwwKSlhPTA7ZWxzZXtnPWZbYT4+Ml18MDtmW2I+PjJd
PWZbZz4+Ml07Yj1mW2crKChmW2U+PjJdfDApKy0xPDwyKT4+Ml18MDtmW2c+PjJdPWI7ZltjKyhi
PDwyKT4+Ml09MDtmW2U+PjJdPShmW2U+PjJdfDApKy0xO3ZyKGEsMCxjLGQpO2E9MX1yZXR1cm4g
YXwwfWZ1bmN0aW9uIHVyKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz0rYztkPWR8MDtlPWV8MDt2
YXIgZz0wLGg9MCxpPTAsaj0wO2c9ZSsoYjw8Mil8MDtpZighKCtuW2c+PjJdPD1jKSl7aj1kKyhi
PDwyKXwwO2k9ZltqPj4yXXwwO25bZz4+Ml09YztnPWZbYT4+Ml18MDthPWk7d2hpbGUoMSl7aWYo
KGF8MCk8PTApYnJlYWs7aD1hPj4+MTtpPWZbZysoaDw8Mik+PjJdfDA7aWYoISgrbltlKyhpPDwy
KT4+Ml0+YykpYnJlYWs7ZltnKyhhPDwyKT4+Ml09aTtmW2QrKGk8PDIpPj4yXT1hO2E9aH1mW2cr
KGE8PDIpPj4yXT1iO2Zbaj4+Ml09YX1yZXR1cm59ZnVuY3Rpb24gdnIoYSxiLGMsZCl7YT1hfDA7
Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTA7aT1hKzR8MDt3aGlsZSgx
KXtlPWI8PDE7Zz1lfDE7aD1mW2k+PjJdfDA7aWYoISgoZXwwKTwoaHwwKT8oaj1mW2E+PjJdfDAs
K25bZCsoZltqKyhlPDwyKT4+Ml08PDIpPj4yXTwrbltkKyhmW2orKGI8PDIpPj4yXTw8Mik+PjJd
KTowKSllPWI7aWYoKGd8MCk8KGh8MCk/KGo9ZlthPj4yXXwwLCtuW2QrKGZbaisoZzw8Mik+PjJd
PDwyKT4+Ml08K25bZCsoZltqKyhlPDwyKT4+Ml08PDIpPj4yXSk6MCllPWc7aWYoKGV8MCk9PShi
fDApKWJyZWFrO2o9ZlthPj4yXXwwO2g9aisoZTw8Mil8MDtnPWZbaD4+Ml18MDtqPWorKGI8PDIp
fDA7ZltoPj4yXT1mW2o+PjJdO2Zbaj4+Ml09ZztmW2MrKGZbaD4+Ml08PDIpPj4yXT1lO2ZbYyso
ZltqPj4yXTw8Mik+PjJdPWI7Yj1lfXJldHVybn1mdW5jdGlvbiB3cigpe3B0KDE5MjczNiw0OCk7
Zls0ODE4N109MDtyZXR1cm59ZnVuY3Rpb24geHIoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLjAs
ZD0wLjAsZT0wLjAsZz0wLjAsaD0wO2g9cnQoMTkyNzM2KXwwO2ZbaCszMj4+Ml09YTtmW2grMzY+
PjJdPWI7WXQoYSk7WXQoYik7ZltoKzI0Pj4yXT0wO2ZbaCsyOD4+Ml09MDtlPStwW2E+PjNdO2c9
K3BbYj4+M10tZTtkPStwW2ErOD4+M107Yz0rcFtiKzg+PjNdLWQ7ZT1jKmQrZyplKyhjKmMrZypn
KSouNTtiPWgrMTZ8MDtwW2I+PjNdPWU7aWYoKGc+MC4wP2c6LWcpPihjPjAuMD9jOi1jKSl7cFto
Pj4zXT0xLjA7ZD1nO2M9Yy9nO2E9aCs4fDB9ZWxzZXtwW2grOD4+M109MS4wO2Q9YztjPWcvYzth
PWh9cFthPj4zXT1jO3BbYj4+M109ZS9kO2I9Zls0ODE4N118MDtmW2grNDA+PjJdPWI7Zls0ODE4
N109YisxO3JldHVybiBofDB9ZnVuY3Rpb24geXIoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLjAs
ZT0wLjAsZz0wLjAsaD0wLjAsaT0wLjAsaj0wLjAsaz0wLjAsbD0wO2s9K3BbYT4+M107YTpkbyBp
ZihrPT0xLjApe2s9K3BbYSs4Pj4zXTtpZighKGs+PTAuMCkpe2I9ZlthKzI4Pj4yXXwwO2M9Zlth
KzI0Pj4yXXwwO2lmKCFjKWw9OTtlbHNlIGw9NX1lbHNle2I9ZlthKzI0Pj4yXXwwO2M9ZlthKzI4
Pj4yXXwwO2lmKCFjKWw9OTtlbHNlIGw9NX1kbyBpZigobHwwKT09NSl7ZD0rcFtjKzg+PjNdO2lm
KGQ+K3BbMjM5OTZdKWJyZWFrIGE7ZT0rcFsyMzk5N107aWYoIShkPj1lKSl7Zz1lO2Q9K3BbYSsx
Nj4+M10tayplO2JyZWFrfWVsc2V7Zz1kO2Q9K3BbYz4+M107YnJlYWt9fWVsc2UgaWYoKGx8MCk9
PTkpe2U9K3BbMjM5OTddO2c9ZTtkPStwW2ErMTY+PjNdLWsqZX13aGlsZSgwKTtkbyBpZihiKXto
PStwW2IrOD4+M107aWYoaDxlKWJyZWFrIGE7ZT0rcFsyMzk5Nl07aWYoIShoPD1lKSl7aD1lO2U9
K3BbYSsxNj4+M10tayplO2JyZWFrfWVsc2V7ZT0rcFtiPj4zXTticmVha319ZWxzZXtlPStwWzIz
OTk2XTtoPWU7ZT0rcFthKzE2Pj4zXS1rKmV9d2hpbGUoMCk7aT0rcFsyMzk5OF07Yj1kPmk7Yz1l
Pmk7aj0rcFsyMzk5OV07aWYoIShiJmN8ZDxqJmU8aikpe2lmKGIpe2c9KCtwW2ErMTY+PjNdLWkp
L2s7ZD1pfWlmKGQ8ail7Zz0oK3BbYSsxNj4+M10taikvaztkPWp9aWYoYyl7aD0oK3BbYSsxNj4+
M10taSkvaztlPWl9aWYoZTxqKXtoPSgrcFthKzE2Pj4zXS1qKS9rO2U9ajtsPTQ2fWVsc2UgbD00
Nn19ZWxzZXtjPWZbYSsyOD4+Ml18MDtiPWZbYSsyND4+Ml18MDtkbyBpZihiKXtkPStwW2I+PjNd
O2lmKGQ+K3BbMjM5OThdKWJyZWFrIGE7aD0rcFsyMzk5OV07aWYoIShkPj1oKSl7Zz0rcFthKzE2
Pj4zXS1oKms7ZD1oO2JyZWFrfWVsc2V7Zz0rcFtiKzg+PjNdO2JyZWFrfX1lbHNle2g9K3BbMjM5
OTldO2c9K3BbYSsxNj4+M10taCprO2Q9aH13aGlsZSgwKTtkbyBpZihjKXtlPStwW2M+PjNdO2lm
KGU8aClicmVhayBhO2k9K3BbMjM5OThdO2lmKCEoZTw9aSkpe2g9K3BbYSsxNj4+M10taSprO2U9
aTticmVha31lbHNle2g9K3BbYys4Pj4zXTticmVha319ZWxzZXtlPStwWzIzOTk4XTtoPStwW2Er
MTY+PjNdLWUqa313aGlsZSgwKTtpPStwWzIzOTk2XTtiPWc+aTtjPWg+aTtqPStwWzIzOTk3XTtp
ZighKGImY3xnPGomaDxqKSl7aWYoYil7Zz1pO2Q9KCtwW2ErMTY+PjNdLWkpL2t9aWYoZzxqKXtn
PWo7ZD0oK3BbYSsxNj4+M10taikva31pZihjKXtoPWk7ZT0oK3BbYSsxNj4+M10taSkva31pZiho
PGope2g9ajtlPSgrcFthKzE2Pj4zXS1qKS9rO2w9NDZ9ZWxzZSBsPTQ2fX13aGlsZSgwKTtpZigo
bHwwKT09NDYpenIoYSxkLGcsZSxoKTtyZXR1cm59ZnVuY3Rpb24genIoYSxiLGMsZCxlKXthPWF8
MDtiPStiO2M9K2M7ZD0rZDtlPStlO3ZhciBnPTA7Zz1hKzMyfDA7ZXMoZltnPj4yXXwwLGIsYyk7
ZXMoZltnPj4yXXwwLGQsZSk7YT1hKzM2fDA7ZXMoZlthPj4yXXwwLGIsYyk7ZXMoZlthPj4yXXww
LGQsZSk7cmV0dXJufWZ1bmN0aW9uIEFyKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtmW2ErMjQr
KGI8PDIpPj4yXT1jO1l0KGMpO2lmKGZbYSsyNCsoMS1iPDwyKT4+Ml18MCl7eXIoYSk7WHQoZlth
KzMyPj4yXXwwKTtYdChmW2ErMzY+PjJdfDApO3N0KGEsMTkyNzM2KX1yZXR1cm59ZnVuY3Rpb24g
QnIoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9MCxp
PTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTA7bz10O3Q9dCsxNnwwO249bzts
PWI8PDI7aD1FSChWKGwsYyl8MCl8MDtnPWZbZD4+Ml18MDtsPUVIKGwpfDA7bT1mW2ErOD4+Ml18
MDtpZihnfDApe01fKGZbZz4+Ml18MCk7TV8oZyl9az1FSChjPDwyKXwwO2ZbZD4+Ml09aztnPTA7
d2hpbGUoMSl7aWYoKGd8MCk+PShjfDApKWJyZWFrO2o9aCsoKFYoZyxiKXwwKTw8Mil8MDtmW2sr
KGc8PDIpPj4yXT1qO2c9ZysxfDB9aj0oZXwwKSE9MDtpZihqKW5zKGEsYik7ZD0oazMoKXwwKSUo
YnwwKXwwO0lxKG4sYik7Zz1mW2s+PjJdfDA7aWYoailscihkLGEsYixnKTtlbHNlIEVxKGQsYSxi
LGcsbik7ZT0wO2c9MDt3aGlsZSgxKXtpZigoZ3wwKT49KGJ8MCkpYnJlYWs7aD1mWyhmW2s+PjJd
fDApKyhnPDwyKT4+Ml18MDtmW2wrKGc8PDIpPj4yXT1oO2k9KGh8MCk+KGV8MCk7ZT1pP2g6ZTtk
PWk/ZzpkO2c9ZysxfDB9aT0xO3doaWxlKDEpe2lmKChpfDApPj0oY3wwKSlicmVhaztoPWsrKGk8
PDIpfDA7Zz1mW2g+PjJdfDA7aWYoailscihkLGEsYixnKTtlbHNlIEVxKGQsYSxiLGcsbik7Zz0w
O2U9MDt3aGlsZSgxKXtpZigoZ3wwKT49KGJ8MCkpYnJlYWs7cj1sKyhnPDwyKXwwO3A9ZltyPj4y
XXwwO3E9ZlsoZltoPj4yXXwwKSsoZzw8Mik+PjJdfDA7cT0ocHwwKTwocXwwKT9wOnE7ZltyPj4y
XT1xO3I9KHF8MCk+KGV8MCk7cD1yP2c6ZDtnPWcrMXwwO2U9cj9xOmU7ZD1wfWk9aSsxfDB9TV8o
bCk7aWYoailvcyhhLGIsbSk7dD1vO3JldHVybn1mdW5jdGlvbiBDcihhLGIsYyl7YT1hfDA7Yj1i
fDA7Yz1jfDA7dmFyIGQ9MC4wLGU9MCxnPTAsaD0wLGk9MC4wLGo9MCxrPTA7aT0xLjAvKyhifDAp
O2g9MDt3aGlsZSgxKXtpZigoaHwwKT49KGN8MCkpYnJlYWs7aj1hKyhoPDwyKXwwO2Q9MC4wO2U9
MDt3aGlsZSgxKXtpZigoZXwwKT49KGJ8MCkpYnJlYWs7ZD1kKyArKGZbKGZbaj4+Ml18MCkrKGU8
PDIpPj4yXXwwKTtlPWUrMXwwfWc9fn4oZCppKTtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+PShifDAp
KWJyZWFrO2s9KGZbaj4+Ml18MCkrKGU8PDIpfDA7ZltrPj4yXT0oZltrPj4yXXwwKS1nO2U9ZSsx
fDB9aD1oKzF8MH1yZXR1cm59ZnVuY3Rpb24gRHIoKXt2YXIgYT0wO2E9fn4rSigrKCsoKGZbNDgx
ODhdfDApKzR8MCkpKTtmWzQ4MTg5XT1hO3JldHVybn1mdW5jdGlvbiBFcihhLGIpe2E9YXwwO2I9
YnwwO3ZhciBjPTAuMCxkPTAuMDtjPStwW2E+PjNdLStwW2I+PjNdO2Q9K3BbYSs4Pj4zXS0rcFti
Kzg+PjNdO3JldHVybiArKGQqZCtjKmMpfWZ1bmN0aW9uIEZyKGEsYixjKXthPWF8MDtiPWJ8MDtj
PWN8MDtwW2E+PjNdPStwW2I+PjNdLStwW2M+PjNdO3BbYSs4Pj4zXT0rcFtiKzg+PjNdLStwW2Mr
OD4+M107cmV0dXJufWZ1bmN0aW9uIEdyKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtwW2E+PjNd
PStwW2M+PjNdKyArcFtiPj4zXTtwW2ErOD4+M109K3BbYys4Pj4zXSsgK3BbYis4Pj4zXTtyZXR1
cm59ZnVuY3Rpb24gSHIoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMCxlPTAuMDtk
PStwW2IrOD4+M107ZT0rcFtiPj4zXTtyZXR1cm4gKygoK3BbYz4+M10tZSkqKCtwW2ErOD4+M10t
ZCktKCtwW2E+PjNdLWUpKigrcFtjKzg+PjNdLWQpKX1mdW5jdGlvbiBJcihhLGIsYyl7YT1hfDA7
Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MDtkPXQ7dD10KzQ4fDA7ZT1kKzMyfDA7Zz1k
KzE2fDA7aD1kO2ZbaD4+Ml09ZlthPj4yXTtmW2grND4+Ml09ZlthKzQ+PjJdO2ZbaCs4Pj4yXT1m
W2ErOD4+Ml07ZltoKzEyPj4yXT1mW2ErMTI+PjJdO2ZbZz4+Ml09ZltiPj4yXTtmW2crND4+Ml09
ZltiKzQ+PjJdO2ZbZys4Pj4yXT1mW2IrOD4+Ml07ZltnKzEyPj4yXT1mW2IrMTI+PjJdO2ZbZT4+
Ml09ZltjPj4yXTtmW2UrND4+Ml09ZltjKzQ+PjJdO2ZbZSs4Pj4yXT1mW2MrOD4+Ml07ZltlKzEy
Pj4yXT1mW2MrMTI+PjJdO2M9K0hyKGgsZyxlKT4wLjAmMTt0PWQ7cmV0dXJuIGN8MH1mdW5jdGlv
biBKcihhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAuMCxn
PTAuMCxoPTAuMCxpPTAuMCxqPTAuMCxrPTAuMCxsPTAuMCxtPTAuMCxuPTAuMCxvPTAuMCxxPTAu
MDtuPStwW2E+PjNdO289K3BbZCs4Pj4zXTtxPStwW2MrOD4+M107bD0oby1xKSpuO209K3BbYj4+
M107az0rcFtkPj4zXTtqPStwW2IrOD4+M107aD0rcFthKzg+PjNdO2k9ai1oO2Y9K3BbYz4+M107
Zz1sK20qKHEtbykraSprK2YqKGgtaik7aWYoZz09MC4wKWQ9MDtlbHNle289KGYqKGgtbykrbCso
cS1oKSprKS9nO3E9LShmKmkrKChxLWopKm4rKGgtcSkqbSkpL2c7cFtlPj4zXT1vKihtLW4pK247
cFtlKzg+PjNdPW8qaStoO2Q9cTw9MS4wJihxPj0wLjAmKG8+PTAuMCZvPD0xLjApKSYxfXJldHVy
biBkfDB9ZnVuY3Rpb24gS3IoYSxiLGMpe2E9YXwwO2I9YnwwO2M9K2M7dmFyIGQ9MCxlPTAsZz0w
LjAsaD0wO2ZbYSsyMD4+Ml09YjtZdChiKTtoPWErMjR8MDtwW2g+PjNdPStwW2IrOD4+M10rYztk
PWZbNDgxOTBdfDA7ZD1kKygoTHIoYSl8MCkqNDB8MCl8MDt3aGlsZSgxKXtlPWZbZCszMj4+Ml18
MDtpZighZSlicmVhaztjPStwW2g+PjNdO2c9K3BbZSsyND4+M107aWYoIShjPmcpKXtpZighKGM9
PWcpKWJyZWFrO2lmKCEoK3BbYj4+M10+K3BbZltlKzIwPj4yXT4+M10pKWJyZWFrfWQ9ZX1mW2Er
MzI+PjJdPWU7ZltkKzMyPj4yXT1hO2ZbNDgxOTFdPShmWzQ4MTkxXXwwKSsxO3JldHVybn1mdW5j
dGlvbiBMcihhKXthPWF8MDt2YXIgYj0wLjAsYz0wLGQ9MC4wO2M9Zls0ODE5Ml18MDtkPSsoY3ww
KTtiPSgrcFthKzI0Pj4zXS0rcFsyNDAwM10pLytwWzI0MDA1XSpkO2RvIGlmKCEoYjwwLjApKWlm
KCEoYj49ZCkpe2E9fn5iO2JyZWFrfWVsc2V7YT1jKy0xfDA7YnJlYWt9ZWxzZSBhPTA7d2hpbGUo
MCk7aWYoKGF8MCk8KGZbNDgxOTNdfDApKWZbNDgxOTNdPWE7cmV0dXJuIGF8MH1mdW5jdGlvbiBN
cihhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTA7Yz1hKzIwfDA7aWYoZltjPj4yXXwwKXtiPWZbNDgx
OTBdfDA7Yj1iKygoTHIoYSl8MCkqNDB8MCl8MDt3aGlsZSgxKXtkPWZbYiszMj4+Ml18MDtpZigo
ZHwwKT09KGF8MCkpYnJlYWs7ZWxzZSBiPWR9ZltiKzMyPj4yXT1mW2ErMzI+PjJdO2ZbNDgxOTFd
PShmWzQ4MTkxXXwwKSstMTtYdChmW2M+PjJdfDApO2ZbYz4+Ml09MH1yZXR1cm59ZnVuY3Rpb24g
TnIoKXtyZXR1cm4gKGZbNDgxOTFdfDApPT0wfDB9ZnVuY3Rpb24gT3IoYSl7YT1hfDA7dmFyIGI9
MCxjPTAsZD0wLGU9MC4wO2I9Zls0ODE5MF18MDtjPWZbNDgxOTNdfDA7d2hpbGUoMSl7ZD1mW2Ir
KGMqNDB8MCkrMzI+PjJdfDA7aWYoZHwwKWJyZWFrO2Q9YysxfDA7Zls0ODE5M109ZDtjPWR9ZT0r
cFtkKzI0Pj4zXTtwW2E+PjNdPStwW2ZbZCsyMD4+Ml0+PjNdO3BbYSs4Pj4zXT1lO3JldHVybn1m
dW5jdGlvbiBQcigpe3ZhciBhPTAsYj0wO2I9KGZbNDgxOTBdfDApKygoZls0ODE5M118MCkqNDB8
MCkrMzJ8MDthPWZbYj4+Ml18MDtmW2I+PjJdPWZbYSszMj4+Ml07Zls0ODE5MV09KGZbNDgxOTFd
fDApKy0xO3JldHVybiBhfDB9ZnVuY3Rpb24gUXIoKXtNXyhmWzQ4MTkwXXwwKTtmWzQ4MTkwXT0w
O3JldHVybn1mdW5jdGlvbiBScigpe3ZhciBhPTAsYj0wLGM9MDtmWzQ4MTkxXT0wO2ZbNDgxOTNd
PTA7YT1mWzQ4MTg5XXwwO2I9YTw8MjtmWzQ4MTkyXT1iO2M9Zls0ODE5MF18MDtpZighYyl7Yz1F
SChhKjE2MHwwKXwwO2ZbNDgxOTBdPWM7Yj1mWzQ4MTkyXXwwfWE9MDt3aGlsZSgxKXtpZigoYXww
KT49KGJ8MCkpYnJlYWs7ZltjKyhhKjQwfDApKzMyPj4yXT0wO2E9YSsxfDB9cmV0dXJufWZ1bmN0
aW9uIFNyKCl7cHQoMTkyNzg0LDQwKTtNXyhmWzQ4MTk5XXwwKTtmWzQ4MTk5XT0wO3JldHVybn1m
dW5jdGlvbiBUcigpe3ZhciBhPTAsYj0wLGM9MDtwdCgxOTI3ODQsNDApO2E9Zls0ODE4OV18MDti
PWE8PDE7Zls0ODIwMF09YjtjPWZbNDgxOTldfDA7aWYoIWMpe2M9RUgoYTw8Myl8MDtmWzQ4MTk5
XT1jO2I9Zls0ODIwMF18MH1hPTA7d2hpbGUoMSl7aWYoKGF8MCk+PShifDApKWJyZWFrO2ZbYyso
YTw8Mik+PjJdPTA7YT1hKzF8MH1jPVVyKDAsMCl8MDtmWzQ4MTk0XT1jO2M9VXIoMCwwKXwwO2Zb
NDgxOTVdPWM7ZltmWzQ4MTk0XT4+Ml09MDtjPWZbNDgxOTVdfDA7Yj1mWzQ4MTk0XXwwO2ZbYis0
Pj4yXT1jO2ZbYz4+Ml09YjtmWyhmWzQ4MTk1XXwwKSs0Pj4yXT0wO2M9Zls0ODE5OV18MDtmW2M+
PjJdPWZbNDgxOTRdO2ZbYysoKGZbNDgyMDBdfDApKy0xPDwyKT4+Ml09Zls0ODE5NV07cmV0dXJu
fWZ1bmN0aW9uIFVyKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MDtkPXJ0KDE5Mjc4NCl8MDtmW2Qr
OD4+Ml09YTtiW2QrMTY+PjBdPWM7ZltkKzMyPj4yXT0wO2ZbZCsyMD4+Ml09MDtmW2QrMTI+PjJd
PTA7cmV0dXJuIGR8MH1mdW5jdGlvbiBWcihhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wLjAs
Zz0wLjAsaD0wLGk9MC4wLGo9MCxrPTAuMCxsPTAuMCxtPTAuMCxuPTAsbz0wLjAscT0wLjA7aD1m
W2ErOD4+Ml18MDtqPWZbYys4Pj4yXXwwO2RvIGlmKCghKChofDApPT0wfChqfDApPT0wKT8obj1m
W2grMzY+PjJdfDAsZD1mW2orMzY+PjJdfDAsKG58MCkhPShkfDApKTowKT8oaT0rcFtoPj4zXSxl
PStwW2orOD4+M10sZz0rcFtoKzg+PjNdLGs9K3Bbaj4+M10sbD1lKmktaypnLCEobD4tMS4wZS0x
MCZsPDEuMGUtMTApKTowKXtvPStwW2grMTY+PjNdO3E9K3BbaisxNj4+M107bT0obyplLXEqZykv
bDtpPShxKmktbyprKS9sO2U9K3Bbbis4Pj4zXTtnPStwW2QrOD4+M107ZG8gaWYoZTxnKWQ9bjtl
bHNle2lmKGU9PWc/K3Bbbj4+M108K3BbZD4+M106MCl7ZD1uO2JyZWFrfWE9Y313aGlsZSgwKTth
PWJbYSsxNj4+MF18MDtpZighKG0+PStwW2Q+PjNdKSl7aWYoYTw8MjQ+PjI0PT0xKXthPTA7YnJl
YWt9fWVsc2UgaWYoIShhPDwyND4+MjQpKXthPTA7YnJlYWt9YT1VdCgpfDA7ZlthKzIwPj4yXT0w
O3BbYT4+M109bTtwW2ErOD4+M109aX1lbHNlIGE9MDt3aGlsZSgwKTtyZXR1cm4gYXwwfWZ1bmN0
aW9uIFdyKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MC4wLGU9MCxnPTAuMCxoPTAuMCxpPTAuMCxq
PTAsaz0wLjAsbD0wLG09MCxuPTAuMCxvPTA7bT1mW2ErOD4+Ml18MDtqPWZbbSszNj4+Ml18MDtr
PStwW2M+PjNdO249K3Bbaj4+M107bD1rPm47bz1iW2ErMTY+PjBdfDA7aWYobClpZighKG88PDI0
Pj4yNCkpYT0xO2Vsc2UgZT00O2Vsc2UgaWYobzw8MjQ+PjI0PT0xKWE9MDtlbHNlIGU9NDtpZigo
ZXwwKT09NCl7ZD0rcFttPj4zXTthOmRvIGlmKGQ9PTEuMCl7ZD0rcFtjKzg+PjNdO2c9ZC0rcFtq
Kzg+PjNdO2g9ay1uO2k9K3BbbSs4Pj4zXTtjPWk8MC4wO2RvIGlmKGw/aT49MC4wOmMpe2lmKGc+
PWkqaCl7YT0xO2JyZWFrIGF9fWVsc2V7YT1pKmQraz4rcFttKzE2Pj4zXTtpZihjKWlmKGEpe2E9
MDticmVhayBhfWVsc2UgYnJlYWs7ZWxzZSBpZihhKWJyZWFrO2Vsc2V7YT0wO2JyZWFrIGF9fXdo
aWxlKDApO249bi0rcFtmW20rMzI+PjJdPj4zXTthPShoKmgtZypnKSppPG4qZyooaSppKzEuMCto
KjIuMC9uKTtpZihjKWE9YV4xfWVsc2V7aD0rcFttKzE2Pj4zXS1kKms7aT0rcFtjKzg+PjNdLWg7
bj1rLW47az1oLStwW2orOD4+M107YT1pKmk+ayprK24qbn13aGlsZSgwKTthPShhXm88PDI0Pj4y
NCE9MCkmMX1yZXR1cm4gYXwwfWZ1bmN0aW9uIFhyKGEsYil7YT1hfDA7Yj1ifDA7ZltiPj4yXT1h
O2E9YSs0fDA7ZltiKzQ+PjJdPWZbYT4+Ml07ZltmW2E+PjJdPj4yXT1iO2ZbYT4+Ml09YjtyZXR1
cm59ZnVuY3Rpb24gWXIoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTA7Zz1mWzQ4MjAw
XXwwO2I9fn4oKCtwW2E+PjNdLStwWzI0MDAyXSkvK3BbMjQwMDRdKisoZ3wwKSk7Yj0oYnwwKT4w
P2I6MDtnPShifDApPChnfDApP2I6ZystMXwwO2I9WnIoZyl8MDtpZighYil7Yz0xO3doaWxlKDEp
e2I9WnIoZy1jfDApfDA7aWYoYnwwKWJyZWFrO2I9WnIoYytnfDApfDA7aWYoYnwwKWJyZWFrO2M9
YysxfDB9Zls0ODIwMV09KGZbNDgyMDFdfDApK2N9Zls0ODIwMl09KGZbNDgyMDJdfDApKzE7ZD1m
WzQ4MTk0XXwwO2M9Zls0ODE5NV18MDthOmRvIGlmKChifDApPT0oZHwwKSllPTExO2Vsc2V7aWYo
KGJ8MCkhPShjfDApP1dyKGIsYSl8MDowKXtlPTExO2JyZWFrfXdoaWxlKDEpe2I9ZltiPj4yXXww
O2lmKChifDApPT0oZHwwKSlicmVhayBhO2lmKFdyKGIsYSl8MCl7ZD1iO2JyZWFrfX19d2hpbGUo
MCk7aWYoKGV8MCk9PTExKXtkb3tiPWZbYis0Pj4yXXwwO2lmKChifDApPT0oY3wwKSlicmVha313
aGlsZSgoV3IoYixhKXwwKSE9MCk7ZD1mW2I+PjJdfDB9aWYoKGd8MCk+MD8oZ3wwKTwoKGZbNDgy
MDBdfDApKy0xfDApOjApe2I9KGZbNDgxOTldfDApKyhnPDwyKXwwO2M9ZltiPj4yXXwwO2lmKGN8
MCl7Zz1jKzEyfDA7ZltnPj4yXT0oZltnPj4yXXwwKSstMX1mW2I+PjJdPWQ7Zz1kKzEyfDA7Zltn
Pj4yXT0oZltnPj4yXXwwKSsxfXJldHVybiBkfDB9ZnVuY3Rpb24gWnIoYSl7YT1hfDA7dmFyIGI9
MCxjPTA7aWYoKGF8MCk+LTEmKGZbNDgyMDBdfDApPihhfDApPyhjPShmWzQ4MTk5XXwwKSsoYTw8
Mil8MCxiPWZbYz4+Ml18MCwoYnwwKSE9MCk6MCl7aWYoKGZbYis4Pj4yXXwwKT09KC0yfDApKXtm
W2M+PjJdPTA7YT1iKzEyfDA7Yz0oZlthPj4yXXwwKSstMXwwO2ZbYT4+Ml09YztpZighYyl7c3Qo
YiwxOTI3ODQpO2I9MH1lbHNlIGI9MH19ZWxzZSBiPTA7cmV0dXJuIGJ8MH1mdW5jdGlvbiBfcihh
KXthPWF8MDt2YXIgYj0wLGM9MDtiPWErNHwwO2M9ZlthPj4yXXwwO2ZbYys0Pj4yXT1mW2I+PjJd
O2ZbZltiPj4yXT4+Ml09YztmW2ErOD4+Ml09LTI7cmV0dXJufWZ1bmN0aW9uICRyKGEpe2E9YXww
O3JldHVybiBmW2ErND4+Ml18MH1mdW5jdGlvbiBhcyhhKXthPWF8MDtyZXR1cm4gZlthPj4yXXww
fWZ1bmN0aW9uIGJzKGEpe2E9YXwwO3ZhciBjPTA7Yz1mW2ErOD4+Ml18MDtpZighYylhPTE5Mjg0
ODtlbHNlIGE9KGJbYSsxNj4+MF18MCk9PTA/YyszMnwwOmMrMzZ8MDtyZXR1cm4gZlthPj4yXXww
fWZ1bmN0aW9uIGNzKGEpe2E9YXwwO3ZhciBjPTA7Yz1mW2ErOD4+Ml18MDtpZighYylhPTE5Mjg0
ODtlbHNlIGE9KGJbYSsxNj4+MF18MCk9PTA/YyszNnwwOmMrMzJ8MDtyZXR1cm4gZlthPj4yXXww
fWZ1bmN0aW9uIGRzKCl7cHQoMTkyODE2LDI0KTtyZXR1cm59ZnVuY3Rpb24gZXMoYSxiLGMpe2E9
YXwwO2I9K2I7Yz0rYzt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MDtpPXQ7dD10KzMyfDA7aD1pO2c9
KGZbNDgyMDNdfDApKygoZlthKzE2Pj4yXXwwKSo5NnwwKSs4OHwwO2U9ZltnPj4yXXwwO3BbaCs4
Pj4zXT1iO3BbaCsxNj4+M109YztkPWZzKGEsaCxlKXwwO2RvIGlmKGR8MCl7aWYoKGR8MCk8MCl7
aD1ydCgxOTI4MTYpfDA7cFtoKzg+PjNdPWI7cFtoKzE2Pj4zXT1jO2ZbaD4+Ml09ZTtmW2c+PjJd
PWg7YnJlYWt9d2hpbGUoMSl7ZD1mW2U+PjJdfDA7Zz1mcyhhLGgsZCl8MDtpZigoZ3wwKT4wKWU9
ZDtlbHNlIGJyZWFrfWlmKGd8MCl7aD1ydCgxOTI4MTYpfDA7cFtoKzg+PjNdPWI7cFtoKzE2Pj4z
XT1jO2ZbZT4+Ml09aDtmW2g+PjJdPWR9fXdoaWxlKDApO3Q9aTtyZXR1cm59ZnVuY3Rpb24gZnMo
YSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMCxlPTAuMCxmPTAuMCxnPTAuMCxoPTAu
MCxpPTAuMCxqPTAuMDtkbyBpZihjKXtlPStwW2IrOD4+M107aD0rcFtjKzg+PjNdO2Q9K3BbYisx
Nj4+M107Zj0rcFtjKzE2Pj4zXTtpZighKGU9PWgmZD09Zikpe2o9K3BbYT4+M107aT1lLWo7ZT0r
cFthKzg+PjNdO2c9ZC1lO2g9aC1qO2Q9Zi1lO2lmKCEoaT49MC4wKSl7aWYoaD49MC4wKXtiPTE7
YnJlYWt9ZT1kL2g7ZD1nL2k7aWYoZDxlKXtiPS0xO2JyZWFrfWlmKGQ+ZSl7Yj0xO2JyZWFrfWI9
aT5oPy0xOjE7YnJlYWt9aWYoIShoPDAuMCkpe2I9aD4wLjA7aWYoIShpPjAuMCkpe2lmKGIpe2I9
IShnPD0wLjApPzE6LTE7YnJlYWt9aWYoZzxkKXtiPSEoZDw9MC4wKT8tMToxO2JyZWFrfWVsc2V7
Yj0hKGc8PTAuMCk/MTotMTticmVha319ZWxzZXtpZighYil7Yj1kPjAuMD8tMToxO2JyZWFrfWU9
ZC9oO2Q9Zy9pO2lmKGQ8ZSl7Yj0tMTticmVha31pZihkPmUpe2I9MTticmVha31iPWk8aD8tMTox
O2JyZWFrfX1lbHNlIGI9LTF9ZWxzZSBiPTB9ZWxzZSBiPS0xO3doaWxlKDApO3JldHVybiBifDB9
ZnVuY3Rpb24gZ3MoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTA7
ZT1mW2ErKGMqMjB8MCk+PjJdfDA7Yz1hKyhjKjIwfDApKzR8MDtiPTE7YT0wO3doaWxlKDEpe2lm
KChifDApPj0oZXwwKSlicmVhaztnPWErKChmW2QrKGZbKGZbYz4+Ml18MCkrKGI8PDIpPj4yXTw8
Mik+PjJdfDApPjAmMSl8MDtiPWIrMXwwO2E9Z31yZXR1cm4gYXwwfWZ1bmN0aW9uIGhzKGEsYixj
KXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wO2Q9YSsoYioyMHwwKXwwO2I9YSsoYioyMHwwKSs0
fDA7YT0xO3doaWxlKDEpe2lmKChhfDApPj0oZltkPj4yXXwwKSlicmVhaztmW2MrKGZbKGZbYj4+
Ml18MCkrKGE8PDIpPj4yXTw8Mik+PjJdPTE7YT1hKzF8MH1yZXR1cm59ZnVuY3Rpb24gaXMoYSxi
LGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTA7ZD1hKyhiKjIwfDApfDA7Yj1hKyhiKjIwfDAp
KzR8MDthPTE7d2hpbGUoMSl7aWYoKGF8MCk+PShmW2Q+PjJdfDApKWJyZWFrO2ZbYysoZlsoZlti
Pj4yXXwwKSsoYTw8Mik+PjJdPDwyKT4+Ml09MDthPWErMXwwfXJldHVybn1mdW5jdGlvbiBqcyhh
LGIpe2E9YXwwO2I9YnwwO2lmKCEoZlthKzg+PjJdfDApKWE9bHMoYSxiKXwwO2Vsc2UgYT1rcyhh
LGIpfDA7cmV0dXJuIGF8MH1mdW5jdGlvbiBrcyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0w
LGU9MCxnPTA7ZT1iPDwyO2Q9RUgoVihlLGIpfDApfDA7ZT1FSChlKXwwO2M9MDt3aGlsZSgxKXtp
ZigoY3wwKT49KGJ8MCkpYnJlYWs7Zz1kKygoVihjLGIpfDApPDwyKXwwO2ZbZSsoYzw8Mik+PjJd
PWc7Yz1jKzF8MH1jPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShifDApKWJyZWFrO2xyKGMsYSxiLGZb
ZSsoYzw8Mik+PjJdfDApO2M9YysxfDB9cmV0dXJuIGV8MH1mdW5jdGlvbiBscyhhLGIpe2E9YXww
O2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MDtoPXQ7dD10KzE2fDA7ZT1oO2c9Yjw8
MjtkPUVIKFYoZyxiKXwwKXwwO2c9RUgoZyl8MDtjPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShifDAp
KWJyZWFrO2k9ZCsoKFYoYyxiKXwwKTw8Mil8MDtmW2crKGM8PDIpPj4yXT1pO2M9YysxfDB9SXEo
ZSxiKTtjPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShifDApKWJyZWFrO0VxKGMsYSxiLGZbZysoYzw8
Mik+PjJdfDAsZSk7Yz1jKzF8MH1KcShlKTt0PWg7cmV0dXJuIGd8MH1mdW5jdGlvbiBtcyhhLGIp
e2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wO2Q9ZlthKzg+PjJdfDA7bnMoYSxiKTtjPWtzKGEsYil8
MDtvcyhhLGIsZCk7cmV0dXJuIGN8MH1mdW5jdGlvbiBucyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBj
PTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MC4wLG09MCxvPTA7az1FSChiPDwyKXww
O2M9MDtkPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShifDApKWJyZWFrO2o9KGZbYSsoYyoyMHwwKT4+
Ml18MCkrZHwwO2M9YysxfDA7ZD1qfWQ9RUgoZDw8Mil8MDtjPTA7d2hpbGUoMSl7aWYoKGN8MCk+
PShifDApKWJyZWFrO2ZbaysoYzw8Mik+PjJdPTA7Yz1jKzF8MH1lPTA7d2hpbGUoMSl7aWYoKGV8
MCk+PShifDApKWJyZWFrO2ZbYSsoZSoyMHwwKSs4Pj4yXT1kO2hzKGEsZSxrKTtnPWErKGUqMjB8
MCl8MDtoPWZbZz4+Ml18MDtpPWErKGUqMjB8MCkrNHwwO2o9aCstMnwwO2M9MTt3aGlsZSgxKXtp
ZigoY3wwKT49KGh8MCkpYnJlYWs7bT1mWyhmW2k+PjJdfDApKyhjPDwyKT4+Ml18MDtvPWZbYSso
bSoyMHwwKT4+Ml18MDtsPSsoaitvLSgoZ3MoYSwwLG0sayl8MCk8PDEpfDApO25bZCsoYzw8Mik+
PjJdPWw7Yz1jKzF8MH1pcyhhLGUsayk7ZD1kKyhmW2c+PjJdPDwyKXwwO2U9ZSsxfDB9TV8oayk7
cmV0dXJufWZ1bmN0aW9uIG9zKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MDtk
PWErOHwwO01fKGZbZD4+Ml18MCk7ZltkPj4yXT0wO2E6ZG8gaWYoY3wwKXtkPTA7d2hpbGUoMSl7
aWYoKGR8MCk+PShifDApKWJyZWFrIGE7ZlthKyhkKjIwfDApKzg+PjJdPWM7ZT1jKyhmW2ErKGQq
MjB8MCk+PjJdPDwyKXwwO2Q9ZCsxfDA7Yz1lfX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gcHMo
YSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAuMCxoPTAuMCxpPTA7
ZT0wO2c9MC4wO3doaWxlKDEpe2lmKChlfDApPj0oYnwwKSlicmVhaztpPWZbYSsoZTw8Mik+PjJd
fDA7aD0rcFtpKyhjPDwzKT4+M10tK3BbaSsoZDw8Myk+PjNdO2U9ZSsxfDA7Zz1oKmgrZ31yZXR1
cm4gKygrSigrZykpfWZ1bmN0aW9uIHFzKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHww
O2lmKChkfDApPihjfDApKXtmWzQ4MjA3XT1hO1ckKGIrKGM8PDIpfDAsMS1jK2R8MCw0LDc2KX1y
ZXR1cm59ZnVuY3Rpb24gcnMoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLjAsZD0wLjAsZT0wO2U9
Zls0ODIwN118MDtkPStuW2UrKGZbYT4+Ml08PDIpPj4yXTtjPStuW2UrKGZbYj4+Ml08PDIpPj4y
XTtyZXR1cm4gKGQ8Yz8tMTpkPmMmMSl8MH1mdW5jdGlvbiBzcyhhLGIsYyxkKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTA7aD10O3Q9dCsxNnwwO2U9aDtpZigoY3wwKTwo
ZHwwKSl7dHMoYSxiLGMsZCxlKTtnPWZbZT4+Ml18MDtlPWcrLTF8MDtzcyhhLGIsYyxlKTtnPWcr
MXwwO3NzKGEsYixnLGQpO2lmKCEodXMoYSxiLGMsZSl8MCkpc3MoYSxiLGMsZSk7aWYoISh1cyhh
LGIsZyxkKXwwKSlzcyhhLGIsZyxkKX10PWg7cmV0dXJufWZ1bmN0aW9uIHRzKGEsYixjLGQsZSl7
YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAuMCxs
PTAsbT0wLG49MDtoPWszKCl8MDtoPWIrKCgoKChrMygpfDApPDwxNnxoKT4+PjApJSgoMS1jK2R8
MCk+Pj4wKXwwKStjPDwyKXwwO2k9ZltoPj4yXXwwO2o9YisoYzw8Mil8MDtmW2g+PjJdPWZbaj4+
Ml07ZltqPj4yXT1pO2s9K3BbYSsoaTw8Myk+PjNdO2M9YysxfDA7d2hpbGUoMSl7aWYoKGN8MCk+
PShkfDApKWJyZWFrO3doaWxlKDEpe2lmKChjfDApPj0oZHwwKSlicmVhaztpZighKCtwW2ErKGZb
YisoYzw8Mik+PjJdPDwzKT4+M108PWspKWJyZWFrO2M9YysxfDB9d2hpbGUoMSl7aWYoKGN8MCk+
PShkfDApKWJyZWFrO2c9YisoZDw8Mil8MDtoPWZbZz4+Ml18MDtpZighKCtwW2ErKGg8PDMpPj4z
XT5rKSl7bD0xMTticmVha31kPWQrLTF8MH1pZigobHwwKT09MTEpe2w9MDtuPWIrKGM8PDIpfDA7
bT1mW24+PjJdfDA7ZltuPj4yXT1oO2ZbZz4+Ml09bTtjPWMrMXwwO2Q9ZCstMXwwfX1uPWMrKCgr
cFthKyhmW2IrKGM8PDIpPj4yXTw8Myk+PjNdPmspPDwzMT4+MzEpfDA7ZltlPj4yXT1uO249Yiso
bjw8Mil8MDtmW2o+PjJdPWZbbj4+Ml07ZltuPj4yXT1pO3JldHVybn1mdW5jdGlvbiB1cyhhLGIs
YyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MDtnPTE7d2hpbGUoMSl7ZT1j
KzF8MDtpZighKChjfDApPChkfDApJihnfDApIT0wKSlicmVhaztnPStwW2ErKGZbYisoYzw8Mik+
PjJdPDwzKT4+M10+K3BbYSsoZltiKyhlPDwyKT4+Ml08PDMpPj4zXT8wOmc7Yz1lfXJldHVybiBn
fDB9ZnVuY3Rpb24gdnMoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLjAsaD0w
LjAsaT0wLjAsaj0wLjAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLHM9MCx1PTAseD0wLHk9
MC4wLHo9MC4wO3g9dDt0PXQrMTZ8MDtzPTQ7dT1MXyg0MCl8MDtmW3U+PjJdPTA7cT14O3Y9MDty
PWdhKDIzLGIqNDB8MCl8MDtjPXY7dj0wO2lmKChjfDApIT0wJih3fDApIT0wKXtkPVAzKGZbYz4+
Ml18MCx1fDAsc3wwKXwwO2lmKCFkKWpiKGN8MCx3fDApO0c9d31lbHNlIGQ9LTE7aWYoKGR8MCkh
PTEpe2M9MDtuPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShifDApKWJyZWFrO289KGZbKGZbYSsoYzw8
Mik+PjJdfDApKzQ+PjJdfDApK258MDtjPWMrMXwwO249b312PTA7bz1nYSgyMyxuKjI0fDApfDA7
Yz12O3Y9MDtpZigoY3wwKSE9MCYod3wwKSE9MCl7ZD1QMyhmW2M+PjJdfDAsdXwwLHN8MCl8MDtp
ZighZClqYihjfDAsd3wwKTtHPXd9ZWxzZSBkPS0xO2lmKChkfDApIT0xKXtjPTA7az0wO3doaWxl
KDEpe2lmKChrfDApPj0oYnwwKSlicmVhaztsPXIrKGsqNDB8MCl8MDtmW2w+PjJdPW8rKGMqMjR8
MCk7bT1hKyhrPDwyKXwwO2U9MDtnPTE3OTc2OTMxMzQ4NjIzMTU3MDgxNDUyNzQuMGUyODQ7aD0t
MTc5NzY5MzEzNDg2MjMxNTcwODE0NTI3NC4wZTI4NDtpPS0xNzk3NjkzMTM0ODYyMzE1NzA4MTQ1
Mjc0LjBlMjg0O2o9MTc5NzY5MzEzNDg2MjMxNTcwODE0NTI3NC4wZTI4NDt3aGlsZSgxKXtkPWZb
bT4+Ml18MDtpZigoZXwwKT49KGZbZCs0Pj4yXXwwKSlicmVhaztkPWZbZD4+Ml18MDt6PStwW2Qr
KGU8PDQpPj4zXTt5PStwW2QrKGU8PDQpKzg+PjNdO3BbbysoYyoyNHwwKT4+M109ejtwW28rKGMq
MjR8MCkrOD4+M109eTtmW28rKGMqMjR8MCkrMTY+PjJdPWw7ZltvKyhjKjI0fDApKzIwPj4yXT0w
O2U9ZSsxfDA7Yz1jKzF8MDtnPWc8ej9nOno7aD1oPno/aDp6O2k9aT55P2k6eTtqPWo8eT9qOnl9
ZltyKyhrKjQwfDApKzQ+PjJdPW8rKChjKy0xfDApKjI0fDApO3Bbcisoayo0MHwwKSs4Pj4zXT1n
O3Bbcisoayo0MHwwKSsxNj4+M109ajtwW3IrKGsqNDB8MCkrMjQ+PjNdPWg7cFtyKyhrKjQwfDAp
KzMyPj4zXT1pO2s9aysxfDB9ZltxPj4yXT1uO2ZbcSs0Pj4yXT1iO3U9TzMoMTg4MDE2LDEsdXww
LHN8MCl8MDtzPUc7dj0wO2M9djt2PTA7aWYoKGN8MCkhPTAmKHd8MCkhPTApe2Q9UDMoZltjPj4y
XXwwLHV8MCxzfDApfDA7aWYoIWQpamIoY3wwLHd8MCk7Rz13fWVsc2UgZD0tMTtpZigoZHwwKT09
MSl7Yz1HO209bztrPW87bD1yfWVsc2V7Yz0wO209bztrPW87bD1yfX1lbHNle2M9RzttPTA7az1v
O2w9cn19ZWxzZXtjPUc7bT0wO2s9MDtsPTB9d2hpbGUoMSl7aWYoY3wwKXt2PTA7cGEoMTAzLHJ8
MCk7Yz12O3Y9MDtpZigoY3wwKSE9MCYod3wwKSE9MCl7ZD1QMyhmW2M+PjJdfDAsdXwwLHN8MCl8
MDtpZighZClqYihjfDAsd3wwKTtHPXd9ZWxzZSBkPS0xO2lmKChkfDApPT0xKXtlPWw7bj1rO289
bTtjPUc7bD1lO2s9bjttPW87Y29udGludWV9dj0wO3BhKDEwMyxrfDApO2M9djt2PTA7aWYoKGN8
MCkhPTAmKHd8MCkhPTApe2Q9UDMoZltjPj4yXXwwLHV8MCxzfDApfDA7aWYoIWQpamIoY3wwLHd8
MCk7Rz13fWVsc2UgZD0tMTtpZigoZHwwKT09MSl7ZT1sO249aztvPW07Yz1HO2w9ZTtrPW47bT1v
O2NvbnRpbnVlfWVsc2V7ZD0xNzticmVha319dj0wO2M9aGEoNzcsbXwwLHF8MCl8MDtkPXY7dj0w
O2lmKChkfDApIT0wJih3fDApIT0wKXtlPVAzKGZbZD4+Ml18MCx1fDAsc3wwKXwwO2lmKCFlKWpi
KGR8MCx3fDApO0c9d31lbHNlIGU9LTE7aWYoKGV8MCk9PTEpe2U9bDtuPWs7bz1tO2M9RztsPWU7
az1uO209bztjb250aW51ZX1pZighYyl7dj0wO2M9amEoMjQsYXwwLGJ8MCxsfDApfDA7ZD12O3Y9
MDtpZigoZHwwKSE9MCYod3wwKSE9MCl7ZT1QMyhmW2Q+PjJdfDAsdXwwLHN8MCl8MDtpZighZSlq
YihkfDAsd3wwKTtHPXd9ZWxzZSBlPS0xO2lmKChlfDApPT0xKXtlPWw7bj1rO289bTtjPUc7bD1l
O2s9bjttPW87Y29udGludWV9fXY9MDtwYSgxMDMscnwwKTtkPXY7dj0wO2lmKChkfDApIT0wJih3
fDApIT0wKXtlPVAzKGZbZD4+Ml18MCx1fDAsc3wwKXwwO2lmKCFlKWpiKGR8MCx3fDApO0c9d31l
bHNlIGU9LTE7aWYoKGV8MCk9PTEpe2U9bDtuPWs7bz1tO2M9RztsPWU7az1uO209bztjb250aW51
ZX12PTA7cGEoMTAzLGt8MCk7ZD12O3Y9MDtpZigoZHwwKSE9MCYod3wwKSE9MCl7ZT1QMyhmW2Q+
PjJdfDAsdXwwLHN8MCl8MDtpZighZSlqYihkfDAsd3wwKTtHPXd9ZWxzZSBlPS0xO2lmKChlfDAp
PT0xKXtlPWw7bj1rO289bTtjPUc7bD1lO2s9bjttPW99ZWxzZXtkPTI0O2JyZWFrfX1pZigoZHww
KT09MTcpYz0wO2Vsc2UgaWYoKGR8MCk9PTI0KWM9KGN8MCk9PTAmMTtNXyh1fDApO3Q9eDtyZXR1
cm4gY3wwfWZ1bmN0aW9uIHdzKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxo
PTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx1PTAsdj0wO3Y9
dDt0PXQrMTZ8MDtwPXY7bj12Kzh8MDtvPXYrNHwwO2ZbYis4Pj4yXT0wO3U9RUgoZltiPj4yXTw8
Mil8MDtlPWZbYj4+Ml18MDtkPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShlfDApKWJyZWFrO2ZbdSso
ZDw8Mik+PjJdPWErKGQqMjR8MCk7ZD1kKzF8MH1XJCh1LGUsNCw3OCk7bD0wO2U9MDtnPTA7aD0w
O2E6d2hpbGUoMSl7aWYoKGx8MCk+PShmW2I+PjJdfDApKXtyPTA7Yz1lO3M9aDticmVha31tPXUr
KGw8PDIpfDA7ZD1mW20+PjJdfDA7ZltuPj4yXT1kO2E9ZltkKzE2Pj4yXXwwO2lmKChmW2E+PjJd
fDApPT0oZHwwKSlkPWZbYSs0Pj4yXXwwO2Vsc2UgZD1kKy0yNHwwO2Zbbz4+Ml09ZDtrPTA7YT1n
O2o9aDt3aGlsZSgxKXtpZihrPj4+MD49MilicmVhaztzd2l0Y2goeXMobixvKXwwKXtjYXNlIC0x
OntnPTA7aD1lO3doaWxlKDEpe2lmKChnfDApPj0oanwwKSlicmVhaztpPXpzKGZbaD4+Ml18MCxk
KXwwO2lmKGl8MCl7cj1pO2M9ZTtzPWo7YnJlYWsgYX1nPWcrMXwwO2g9ZltoKzQ+PjJdfDB9Zz1F
SCgxMil8MDtpZighail7ZT1nO2E9MH1lbHNlIGZbYSs0Pj4yXT1nO2ZbZys4Pj4yXT1hO2ZbZz4+
Ml09ZDtmW2crND4+Ml09MDtmW2QrMjA+PjJdPWc7aD1lO2E9ZztnPWorMXwwO2JyZWFrfWNhc2Ug
MTp7ZD1kKzIwfDA7Zz1mW2Q+PjJdfDA7aWYoIWcpe3E9MjA7YnJlYWsgYX1kbyBpZigoanwwKSE9
MSl7aWYoKGd8MCk9PShlfDApKXtlPWZbZSs0Pj4yXXwwO2ZbZSs4Pj4yXT0wO2JyZWFrfWlmKChn
fDApPT0oYXwwKSl7YT1mW2ErOD4+Ml18MDtmW2ErND4+Ml09MDticmVha31lbHNle2k9Zys0fDA7
aD1mW2crOD4+Ml18MDtmW2grND4+Ml09ZltpPj4yXTtmWyhmW2k+PjJdfDApKzg+PjJdPWg7YnJl
YWt9fWVsc2V7ZT0wO2E9MH13aGlsZSgwKTtNXyhnKTtmW2Q+PjJdPTA7aD1lO2c9aistMXwwO2Jy
ZWFrfWRlZmF1bHQ6e2g9ZTtnPWp9fWQ9ZlttPj4yXXwwO2U9ZltkKzE2Pj4yXXwwO2lmKChkfDAp
PT0oZltlKzQ+PjJdfDApKWU9ZltlPj4yXXwwO2Vsc2UgZT1kKzI0fDA7ZltvPj4yXT1lO2s9aysx
fDA7ZT1oO2o9Z31sPWwrMXwwO2c9YTtoPWp9aWYoKHF8MCk9PTIwKXtZdygxLDEwNDM0NixwKXww
O2piKDE4ODAxNiwxKX1kPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShzfDApKWJyZWFrO3E9ZltjKzQ+
PjJdfDA7TV8oYyk7ZD1kKzF8MDtjPXF9TV8odSk7dD12O3JldHVybiByfDB9ZnVuY3Rpb24geHMo
YSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLjAsZz0wLGg9MCxpPTAuMCxqPTAu
MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MC4wLHI9MC4wLHM9MC4wLHU9MCx2PTAuMCx3PTAuMCx4
PTAuMCx5PTAuMCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MC4wO0Q9dDt0PXQrNDh8MDttPUQrMjR8
MDtsPUQrMTZ8MDt1PUQ7ZD0wO2E6d2hpbGUoMSl7aWYoKGR8MCk+PShifDApKXtkPTA7YnJlYWt9
ej1mW2ErKGQ8PDIpPj4yXXwwO0E9Zlt6Pj4yXXwwO2ZbdT4+Ml09ZltBPj4yXTtmW3UrND4+Ml09
ZltBKzQ+PjJdO2ZbdSs4Pj4yXT1mW0ErOD4+Ml07Zlt1KzEyPj4yXT1mW0ErMTI+PjJdO0E9ZCsx
fDA7Qj1jKyhkKjQwfDApKzh8MDtuPWMrKGQqNDB8MCkrMjR8MDtvPWMrKGQqNDB8MCkrMzJ8MDtn
PWMrKGQqNDB8MCkrMTZ8MDtkPUE7d2hpbGUoMSl7aWYoKGR8MCk+PShifDApKWJyZWFrO2g9Zlth
KyhkPDwyKT4+Ml18MDtpPStwW0I+PjNdO2o9K3BbYysoZCo0MHwwKSsyND4+M107az0hKGk8PWop
O2U9K3BbYysoZCo0MHwwKSs4Pj4zXTtpZigoKCghKGt8IShpPj1lKSk/KHE9K3BbZz4+M10scj0r
cFtjKyhkKjQwfDApKzMyPj4zXSxxPD1yKTowKT8ocz0rcFtjKyhkKjQwfDApKzE2Pj4zXSxxPj1z
KTowKT8oRT0rcFtuPj4zXSwhKCEoRTw9ail8IShFPj1lKSkpOjApPyhFPStwW28+PjNdLCEoIShF
PD1yKXwhKEU+PXMpKSk6MCl7ZltsPj4yXT1mW2g+PjJdO2ZbbCs0Pj4yXT1mW2grND4+Ml07Zltt
Pj4yXT1mW3U+PjJdO2ZbbSs0Pj4yXT1mW3UrND4+Ml07ZlttKzg+PjJdPWZbdSs4Pj4yXTtmW20r
MTI+PjJdPWZbdSsxMj4+Ml07aWYoRlUobCxtKXwwKXtkPTE7YnJlYWsgYX19ZWxzZSBDPTEyO2lm
KCgoKCgoQ3wwKT09MTI/KEM9MCx2PStwW24+PjNdLCEoIShlPj1pKXwhKGU8PXYpKSk6MCk/KHc9
K3BbYysoZCo0MHwwKSsxNj4+M10seD0rcFtvPj4zXSx3PD14KTowKT8oeT0rcFtnPj4zXSwhKGt8
IShqPD12KXwhKHc+PXkpKSk6MCk/KEU9K3BbYysoZCo0MHwwKSszMj4+M10sISghKEU8PXgpfCEo
RT49eSkpKTowKT8oaz1mW2g+PjJdfDAsZltsPj4yXT1mW3o+PjJdLGZbbCs0Pj4yXT1mW3orND4+
Ml0sZlttPj4yXT1mW2s+PjJdLGZbbSs0Pj4yXT1mW2srND4+Ml0sZlttKzg+PjJdPWZbays4Pj4y
XSxmW20rMTI+PjJdPWZbaysxMj4+Ml0sRlUobCxtKXwwKTowKXtkPTE7YnJlYWsgYX1kPWQrMXww
fWQ9QX10PUQ7cmV0dXJuIGR8MH1mdW5jdGlvbiB5cyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAu
MCxkPTA7ZD1mW2E+PjJdfDA7YT1mW2I+PjJdfDA7Yz0rcFtkPj4zXS0rcFthPj4zXTtpZighKGMh
PTAuMCkpe2M9K3BbZCs4Pj4zXS0rcFthKzg+PjNdO2lmKGM9PTAuMClhPTA7ZWxzZSBhPWM+MC4w
PzE6LTF9ZWxzZSBhPWM+MC4wPzE6LTE7cmV0dXJuIGF8MH1mdW5jdGlvbiB6cyhhLGIpe2E9YXww
O2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2s9dDt0PXQrNjR8MDtn
PWsrMzJ8MDtoPWsrMjR8MDtpPWsrMTZ8MDtqPWs7ZT1rKzQ4fDA7QXMoYSxiLGUpO2M9ZSs4fDA7
ZD1mW2M+PjJdfDA7ZG8gaWYoKGR8MCk+MCljPTA7ZWxzZXtpZigoZHwwKTwwKXtBcyhiLGEsZSk7
Yz1mW2M+PjJdfDA7aWYoKGN8MCk+MCl7Yz0wO2JyZWFrfWlmKChjfDApPDApYz0zO2Vsc2V7Yz1m
W2U+PjJdfDA7Yz1CcyhiLGEsKGN8MCk+LTE/YzowLWN8MCl8MH1pZighKENzKGEsYixoLGksYyl8
MCkpe2M9MDticmVha319ZWxzZXtjPWZbZT4+Ml18MDtpZigoY3wwKT09KGZbZSs0Pj4yXXwwKSl7
ZT1CcyhhLGIsMCl8MDtjPUJzKGEsYiwxKXwwO2M9KChlfDApPihjfDApP2U6Yyk8PDF9ZWxzZSBj
PUJzKGEsYiwoY3wwKT4tMT9jOjAtY3wwKXwwO2lmKCEoQ3MoYSxiLGgsaSxjKXwwKSl7Yz0wO2Jy
ZWFrfX1wW2o+PjNdPStwW2g+PjNdO3Bbais4Pj4zXT0rcFtpPj4zXTtmW2c+PjJdPWZbaj4+Ml07
ZltnKzQ+PjJdPWZbais0Pj4yXTtmW2crOD4+Ml09ZltqKzg+PjJdO2ZbZysxMj4+Ml09ZltqKzEy
Pj4yXTtjPURzKGEsYixnKXwwfXdoaWxlKDApO3Q9aztyZXR1cm4gY3wwfWZ1bmN0aW9uIEFzKGEs
YixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MC4wLGc9MC4wLGg9MC4wLGk9MC4wLGo9
MC4wLGs9MC4wO2g9K3BbYT4+M107aT0rcFthKzg+PjNdO2Q9ZlthKzE2Pj4yXXwwO2lmKChmW2Qr
ND4+Ml18MCk9PShhfDApKXthPWZbZD4+Ml18MDtkPWF9ZWxzZXtkPWErMjR8MDthPWErMjR8MH1n
PStwW2Q+PjNdLWg7ZT0rcFthKzg+PjNdLWk7ZD1mW2IrMTY+PjJdfDA7aWYoKGZbZCs0Pj4yXXww
KT09KGJ8MCkpe2E9ZltkPj4yXXwwO2Q9YX1lbHNle2Q9YisyNHwwO2E9YisyNHwwfWo9K3BbZD4+
M10taDtrPStwW2ErOD4+M10taTtpPSgrcFtiKzg+PjNdLWkpKmctKCtwW2I+PjNdLWgpKmU7Yj1p
PT0wLjA/MDppPjAuMD8xOi0xO2ZbYz4+Ml09YjtpPWsqZy1qKmU7YT1pPT0wLjA/MDppPjAuMD8x
Oi0xO2ZbYys0Pj4yXT1hO2I9VihhLGIpfDA7ZltjKzg+PjJdPWI7cmV0dXJufWZ1bmN0aW9uIEJz
KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLjAsZT0wLGc9MC4wLGg9MC4wLGk9MC4w
LGo9MC4wLGs9MC4wO2o9K3BbYT4+M107az0rcFthKzg+PjNdO2U9ZlthKzE2Pj4yXXwwO2lmKChm
W2UrND4+Ml18MCk9PShhfDApKWE9ZltlPj4yXXwwO2Vsc2UgYT1hKzI0fDA7aT0rcFthPj4zXTto
PStwW2ErOD4+M107ZG8gaWYoYyl7YT1mW2IrMTY+PjJdfDA7aWYoKGZbYSs0Pj4yXXwwKT09KGJ8
MCkpe2I9ZlthPj4yXXwwO2JyZWFrfWVsc2V7Yj1iKzI0fDA7YnJlYWt9fXdoaWxlKDApO2c9K3Bb
Yj4+M107ZD0rcFtiKzg+PjNdO2lmKGo9PWkpaWYoaj09ZyliPShGcyhrLGQsaCl8MCkhPS0xJjE7
ZWxzZSBiPTA7ZWxzZSBiPUZzKGosZyxpKXwwO3JldHVybiBifDB9ZnVuY3Rpb24gQ3MoYSxiLGMs
ZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9MC4wLGk9MC4wLGo9
MC4wLGs9MC4wLGw9MC4wLG09MC4wLG49MC4wLG89MC4wO2E6ZG8gaWYoKGV8MCk8MSlnPTA7ZWxz
ZXttPStwW2E+PjNdO289K3BbYSs4Pj4zXTtnPWZbYSsxNj4+Ml18MDtpZigoZltnKzQ+PjJdfDAp
PT0oYXwwKSlnPWZbZz4+Ml18MDtlbHNlIGc9YSsyNHwwO2s9K3BbZz4+M107aT0rcFtnKzg+PjNd
O2w9K3BbYj4+M107bj0rcFtiKzg+PjNdO2c9ZltiKzE2Pj4yXXwwO2lmKChmW2crND4+Ml18MCk9
PShifDApKWc9ZltnPj4yXXwwO2Vsc2UgZz1iKzI0fDA7aj0rcFtnPj4zXTtoPStwW2crOD4+M107
c3dpdGNoKGV8MCl7Y2FzZSAzOntpZihtPT1rKXtwW2M+PjNdPW07cFtkPj4zXT0obi1oKS8obC1q
KSoobS1qKStoO2c9MTticmVhayBhfWlmKGw9PWope3BbYz4+M109bDtwW2Q+PjNdPShvLWkpLyht
LWspKihsLWspK2k7Zz0xO2JyZWFrIGF9ZWxzZXtqPShuLWgpLyhsLWopO2s9KG8taSkvKG0tayk7
bj1uLWoqbDttPW8tayptO289ai1rO3BbYz4+M109KG0tbikvbztwW2Q+PjNdPShqKm0tbiprKS9v
O2c9MTticmVhayBhfX1jYXNlIDI6e2lmKChCcyhhLGIsMCl8MCk9PS0xKWlmKChCcyhiLGEsMSl8
MCk9PS0xKXtlPShCcyhiLGEsMCl8MCk9PS0xO2s9ZT9rOm07aj1sO2k9ZT9pOm87aD1ufWVsc2V7
az1qO2o9bDtpPWg7aD1ufWVsc2UgaWYoKEJzKGEsYiwxKXwwKSE9LTEpaWYoKEJzKGIsYSwwKXww
KT09LTEpe2o9bTtoPW99ZWxzZXtnPTA7YnJlYWsgYX1lbHNle2s9bDtpPW59cFtjPj4zXT0oaitr
KSouNTtwW2Q+PjNdPShoK2kpKi41O2c9MTticmVhayBhfWNhc2UgMTppZigobi1vKSoobS1rKT09
KGwtbSkqKG8taSkpe3BbYz4+M109bDtwW2Q+PjNdPW47Zz0xO2JyZWFrIGF9ZWxzZXtwW2M+PjNd
PWo7cFtkPj4zXT1oO2c9MTticmVhayBhfWRlZmF1bHQ6e2c9MTticmVhayBhfX19d2hpbGUoMCk7
cmV0dXJuIGd8MH1mdW5jdGlvbiBEcyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxl
PTAuMCxnPTAuMCxoPTAuMCxpPTAuMCxqPTAuMCxrPTAuMCxsPTAuMCxtPTAuMCxuPTAuMCxvPTAs
cT0wLHI9MDtyPXQ7dD10KzE2fDA7bz1yO209K3BbYT4+M107bj0rcFthKzg+PjNdO2Q9ZlthKzE2
Pj4yXXwwO2lmKChmW2QrND4+Ml18MCk9PShhfDApKWQ9ZltkPj4yXXwwO2Vsc2UgZD1hKzI0fDA7
az0rcFtkPj4zXTtpPStwW2QrOD4+M107aj0rcFtiPj4zXTtsPStwW2IrOD4+M107ZD1mW2IrMTY+
PjJdfDA7aWYoKGZbZCs0Pj4yXXwwKT09KGJ8MCkpZD1mW2Q+PjJdfDA7ZWxzZSBkPWIrMjR8MDto
PStwW2Q+PjNdO2c9K3BbZCs4Pj4zXTthOmRvIGlmKCEobSE9ayZqIT1oKSl7ZG8gaWYobT09ayl7
ZT0rcFtjPj4zXTtpZihtPT1lP249PStwW2MrOD4+M106MClicmVhaztpZighKGs9PWUpKXtxPTE4
O2JyZWFrIGF9aWYoIShpPT0rcFtjKzg+PjNdKSl7cT0xODticmVhayBhfX13aGlsZSgwKTtpZihq
PT1oKXtlPStwW2M+PjNdO2lmKGo9PWU/bD09K3BbYys4Pj4zXTowKXtkPTA7YnJlYWt9aWYoaD09
ZT9nPT0rcFtjKzg+PjNdOjApZD0wO2Vsc2UgcT0xOH1lbHNlIGQ9MH1lbHNlIHE9MTg7d2hpbGUo
MCk7aWYoKHF8MCk9PTE4KWlmKDA+MSl7ZD1mWzE5NDU3XXwwO249K3BbYys4Pj4zXTtwW28+PjNd
PStwW2M+PjNdO3Bbbys4Pj4zXT1uO2cyKGQsMTA0Mzc1LG8pfDA7RXMoMSxhKTtFcygyLGIpO2Q9
MX1lbHNlIGQ9MTt0PXI7cmV0dXJuIGR8MH1mdW5jdGlvbiBFcyhhLGIpe2E9YXwwO2I9YnwwO3Zh
ciBjPTAsZD0wLGU9MCxnPTAuMCxoPTAuMCxpPTAsaj0wLGs9MC4wLGw9MC4wO2o9dDt0PXQrNDh8
MDtpPWo7ZT1mWzE5NDU3XXwwO2c9K3BbYj4+M107aD0rcFtiKzg+PjNdO2M9ZltiKzE2Pj4yXXww
O2lmKChmW2MrND4+Ml18MCk9PShifDApKXtjPWZbYz4+Ml18MDtkPWN9ZWxzZXtkPWIrMjR8MDtj
PWIrMjR8MH1sPStwW2Q+PjNdO2s9K3BbYys4Pj4zXTtmW2k+PjJdPWE7cFtpKzg+PjNdPWc7cFtp
KzE2Pj4zXT1oO3BbaSsyND4+M109bDtwW2krMzI+PjNdPWs7ZzIoZSwxMDQ0MDMsaSl8MDt0PWo7
cmV0dXJufWZ1bmN0aW9uIEZzKGEsYixjKXthPSthO2I9K2I7Yz0rYztyZXR1cm4gKGE9PWJ8Yj09
Yz8wOmE8Yj8oYjxjPzE6LTEpOmM8Yj8xOi0xKXwwfWZ1bmN0aW9uIEdzKGEsYixjKXthPWF8MDti
PWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLjAsaT0wO2E6ZG8gaWYoISh1dihhLGMpfDAp
KWE9MDtlbHNle2U9REgoYzw8Myl8MDthPTA7d2hpbGUoMSl7aWYoKGF8MCk+PShjfDApKWJyZWFr
O2Q9MDt3aGlsZSgxKXtpZigoZHwwKT09KGN8MCkpYnJlYWs7cFtlKyhkPDwzKT4+M109MC4wO2Q9
ZCsxfDB9cFtlKyhhPDwzKT4+M109MS4wO3Z2KGZbYisoYTw8Mik+PjJdfDAsZSxjKTthPWErMXww
fU1fKGUpO2E9MDt3aGlsZSgxKXtpZigoYXwwKT49KGN8MCkpe2E9MTticmVhayBhfWU9YisoYTw8
Mil8MDtkPTA7d2hpbGUoMSl7aWYoKGR8MCk9PShhfDApKWJyZWFrO2k9KGZbZT4+Ml18MCkrKGQ8
PDMpfDA7aD0rcFtpPj4zXTtnPShmW2IrKGQ8PDIpPj4yXXwwKSsoYTw8Myl8MDtwW2k+PjNdPStw
W2c+PjNdO3BbZz4+M109aDtkPWQrMXwwfWE9YSsxfDB9fXdoaWxlKDApO3JldHVybiBhfDB9ZnVu
Y3Rpb24gSHMoYSxiLGMsZCxlLGcpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3ww
O3ZhciBoPTAsaT0wLjAsaj0wLGs9MC4wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLHM9MDtxPWI8
PDM7bz1FSChxKXwwO3E9RUgocSl8MDtyPWIqMzB8MDtuPShjfDApPChifDApP2M6YjttPWIrLTF8
MDtsPShnfDApPT0wO2g9MDtjPTA7YTp3aGlsZSgxKXtpZigoaHwwKT49KG58MCkpYnJlYWs7aj1m
W2QrKGg8PDIpPj4yXXwwO2Rve2I6ZG8gaWYoIWwpe2M9MDt3aGlsZSgxKXtpZigoY3wwKT09KGJ8
MCkpYnJlYWsgYjtrPSsoKGszKCl8MCklMTAwfDB8MCk7cFtqKyhjPDwzKT4+M109aztjPWMrMXww
fX13aGlsZSgwKTtjPTA7d2hpbGUoMSl7aWYoKGN8MCk9PShofDApKWJyZWFrO2c9ZltkKyhjPDwy
KT4+Ml18MDtKcyhqLDAsbSwtK0lzKGcsMCxtLGopLGcpO2M9YysxfDB9aT0rS3MoaiwwLG0pfXdo
aWxlKGk8MS4wZS0xMCk7THMoaiwwLG0sMS4wL2ksaik7Yz0wO2Rve01zKHEsMCxtLGopO05zKGEs
YixiLGosbyk7TXMoaiwwLG0sbyk7Zz0wO3doaWxlKDEpe2lmKChnfDApPT0oaHwwKSlicmVhaztz
PWZbZCsoZzw8Mik+PjJdfDA7SnMoaiwwLG0sLStJcyhzLDAsbSxqKSxzKTtnPWcrMXwwfXM9Yztj
PWMrMXwwO2k9K0tzKGosMCxtKTtpZighKChzfDApPChyfDApJiEoaTwxLjBlLTEwKSkpYnJlYWsg
YTtMcyhqLDAsbSwxLjAvaSxqKTtrPStJcyhqLDAsbSxxKX13aGlsZSgrSSgrayk8Ljk5OSk7cFtl
KyhoPDwzKT4+M109ayppO2g9aCsxfDB9d2hpbGUoMSl7aWYoKGh8MCk+PShufDApKWJyZWFrO2o9
ZltkKyhoPDwyKT4+Ml18MDtnPTA7d2hpbGUoMSl7aWYoKGd8MCk+PShifDApKWJyZWFrO2s9Kygo
azMoKXwwKSUxMDB8MHwwKTtwW2orKGc8PDMpPj4zXT1rO2c9ZysxfDB9Zz0wO3doaWxlKDEpe2lm
KChnfDApPT0oaHwwKSlicmVhaztzPWZbZCsoZzw8Mik+PjJdfDA7SnMoaiwwLG0sLStJcyhzLDAs
bSxqKSxzKTtnPWcrMXwwfUxzKGosMCxtLDEuMC8rS3MoaiwwLG0pLGopO3BbZSsoaDw8Myk+PjNd
PTAuMDtoPWgrMXwwfWw9bistMXwwO2g9MDt3aGlsZSgxKXtpZigoaHwwKT49KGx8MCkpYnJlYWs7
YT1lKyhoPDwzKXwwO2I9aCsxfDA7aT0rcFthPj4zXTtnPWg7aj1iO3doaWxlKDEpe2lmKChqfDAp
Pj0obnwwKSlicmVhaztrPStwW2UrKGo8PDMpPj4zXTtzPWk8aztpPXM/azppO2c9cz9qOmc7aj1q
KzF8MH1pZigoZ3wwKSE9KGh8MCkpe2o9ZCsoaDw8Mil8MDtNcyhvLDAsbSxmW2o+PjJdfDApO3M9
ZCsoZzw8Mil8MDtNcyhmW2o+PjJdfDAsMCxtLGZbcz4+Ml18MCk7TXMoZltzPj4yXXwwLDAsbSxv
KTtwW2UrKGc8PDMpPj4zXT0rcFthPj4zXTtwW2E+PjNdPWl9aD1ifU1fKG8pO01fKHEpO3JldHVy
biAoY3wwKTw9KHJ8MCl8MH1mdW5jdGlvbiBJcyhhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtk
PWR8MDt2YXIgZT0wLGY9MC4wO2Y9MC4wO2U9MS1iK2N8MDtkPWQrKGI8PDMpfDA7Yz1hKyhiPDwz
KXwwO3doaWxlKDEpe2lmKCFlKWJyZWFrO2Y9K3BbZD4+M10qK3BbYz4+M10rZjtlPWUrLTF8MDtk
PWQrOHwwO2M9Yys4fDB9cmV0dXJuICtmfWZ1bmN0aW9uIEpzKGEsYixjLGQsZSl7YT1hfDA7Yj1i
fDA7Yz1jfDA7ZD0rZDtlPWV8MDt2YXIgZj0wO2Y9MS1iK2N8MDtlPWUrKGI8PDMpfDA7Yz1hKyhi
PDwzKXwwO3doaWxlKDEpe2lmKCFmKWJyZWFrO3BbYz4+M109K3BbYz4+M10rICtwW2U+PjNdKmQ7
Zj1mKy0xfDA7ZT1lKzh8MDtjPWMrOHwwfXJldHVybn1mdW5jdGlvbiBLcyhhLGIsYyl7YT1hfDA7
Yj1ifDA7Yz1jfDA7cmV0dXJuICsoK0ooKygrSXMoYSxiLGMsYSkpKSl9ZnVuY3Rpb24gTHMoYSxi
LGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPStkO2U9ZXwwO3ZhciBmPTA7Zj0xLWIrY3wwO2U9
ZSsoYjw8Myl8MDtjPWErKGI8PDMpfDA7d2hpbGUoMSl7aWYoIWYpYnJlYWs7cFtjPj4zXT0rcFtl
Pj4zXSpkO2Y9ZistMXwwO2U9ZSs4fDA7Yz1jKzh8MH1yZXR1cm59ZnVuY3Rpb24gTXMoYSxiLGMs
ZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MDtlPTEtYitjfDA7ZD1kKyhiPDwzKXww
O2M9YSsoYjw8Myl8MDt3aGlsZSgxKXtpZighZSlicmVhaztwW2M+PjNdPStwW2Q+PjNdO2U9ZSst
MXwwO2Q9ZCs4fDA7Yz1jKzh8MH1yZXR1cm59ZnVuY3Rpb24gTnMoYSxiLGMsZCxlKXthPWF8MDti
PWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLjAsaD0wLGk9MCxqPTA7aT0wO3doaWxlKDEp
e2lmKChpfDApPj0oYnwwKSlicmVhaztqPWErKGk8PDIpfDA7Zz0wLjA7aD0wO3doaWxlKDEpe2lm
KChofDApPj0oY3wwKSlicmVhaztnPStwW2QrKGg8PDMpPj4zXSorcFsoZltqPj4yXXwwKSsoaDw8
Myk+PjNdK2c7aD1oKzF8MH1wW2UrKGk8PDMpPj4zXT1nO2k9aSsxfDB9cmV0dXJufWZ1bmN0aW9u
IE9zKGEsYixjLGQsZSxnKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8MDt2YXIg
aD0wLGk9MCxqPTAuMCxrPTAsbD0wLG09MCxvPTAuMDtpPWZbZz4+Ml18MDtpZighaSl7aD1MXygo
VihlLGMpfDApPDwyKXwwO209TF8oYzw8Mil8MH1lbHNle2g9T18oZltpPj4yXXwwLChWKGUsYyl8
MCk8PDIpfDA7bT1PXyhpLGM8PDIpfDB9ZltnPj4yXT1tO2k9MDt3aGlsZSgxKXtpZigoaXwwKT49
KGN8MCkpYnJlYWs7ZlttKyhpPDwyKT4+Ml09aDtpPWkrMXwwO2g9aCsoZTw8Mil8MH1nPTA7d2hp
bGUoMSl7aWYoKGd8MCk+PShjfDApKWJyZWFrO2s9YSsoZzw8Mil8MDtsPW0rKGc8PDIpfDA7aT0w
O3doaWxlKDEpe2lmKChpfDApPj0oZXwwKSlicmVhaztoPTA7aj0wLjA7d2hpbGUoMSl7aWYoKGh8
MCk+PShkfDApKWJyZWFrO289K3BbKGZbaz4+Ml18MCkrKGg8PDMpPj4zXSorblsoZltiKyhoPDwy
KT4+Ml18MCkrKGk8PDIpPj4yXStqO2g9aCsxfDA7aj1vfW5bKGZbbD4+Ml18MCkrKGk8PDIpPj4y
XT1qO2k9aSsxfDB9Zz1nKzF8MH1yZXR1cm59ZnVuY3Rpb24gUHMoYSxiLGMsZCxlLGcpe2E9YXww
O2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MC4wLGs9MCxsPTAs
bT0wO2k9ZltnPj4yXXwwO2lmKCFpKXtoPUxfKChWKGUsYyl8MCk8PDMpfDA7bT1MXyhjPDwyKXww
fWVsc2V7aD1PXyhmW2k+PjJdfDAsKFYoZSxjKXwwKTw8Myl8MDttPU9fKGksYzw8Mil8MH1mW2c+
PjJdPW07aT0wO3doaWxlKDEpe2lmKChpfDApPj0oY3wwKSlicmVhaztmW20rKGk8PDIpPj4yXT1o
O2k9aSsxfDA7aD1oKyhlPDwzKXwwfWc9MDt3aGlsZSgxKXtpZigoZ3wwKT49KGN8MCkpYnJlYWs7
az1hKyhnPDwyKXwwO2w9bSsoZzw8Mil8MDtpPTA7d2hpbGUoMSl7aWYoKGl8MCk+PShlfDApKWJy
ZWFrO2o9MC4wO2g9MDt3aGlsZSgxKXtpZigoaHwwKT49KGR8MCkpYnJlYWs7aj0rcFsoZltrPj4y
XXwwKSsoaDw8Myk+PjNdKituWyhmW2IrKGg8PDIpPj4yXXwwKSsoaTw8Mik+PjJdK2o7aD1oKzF8
MH1wWyhmW2w+PjJdfDApKyhpPDwzKT4+M109ajtpPWkrMXwwfWc9ZysxfDB9cmV0dXJufWZ1bmN0
aW9uIFFzKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxo
PTAsaT0wLjAsaj0wLGs9MCxsPTAsbT0wLG89MCxxPTA7aD1mW2U+PjJdfDA7aWYoIWgpe2c9TF8o
VihjKjIwfDAsZCl8MCl8MDtxPUxfKGM8PDIpfDB9ZWxzZXtnPU9fKGZbaD4+Ml18MCxWKGMqMjB8
MCxkKXwwKXwwO3E9T18oaCxjPDwyKXwwfWZbZT4+Ml09cTtoPTA7d2hpbGUoMSl7aWYoKGh8MCk+
PShjfDApKWJyZWFrO2ZbcSsoaDw8Mik+PjJdPWc7aD1oKzF8MDtnPWcrKGQ8PDIpfDB9ZT0wO3do
aWxlKDEpe2lmKChlfDApPj0oY3wwKSlicmVhaztqPWZbYSsoZSoyMHwwKSs0Pj4yXXwwO2s9Zlth
KyhlKjIwfDApKzg+PjJdfDA7bD1mW2ErKGUqMjB8MCk+PjJdfDA7bT1xKyhlPDwyKXwwO2c9MDt3
aGlsZSgxKXtpZigoZ3wwKT49KGR8MCkpYnJlYWs7bz1iKyhnPDwyKXwwO2k9MC4wO2g9MDt3aGls
ZSgxKXtpZigoaHwwKT49KGx8MCkpYnJlYWs7aT0rcFsoZltvPj4yXXwwKSsoZltqKyhoPDwyKT4+
Ml08PDMpPj4zXSorbltrKyhoPDwyKT4+Ml0raTtoPWgrMXwwfW5bKGZbbT4+Ml18MCkrKGc8PDIp
Pj4yXT1pO2c9ZysxfDB9ZT1lKzF8MH1yZXR1cm59ZnVuY3Rpb24gUnMoYSxiKXthPWF8MDtiPWJ8
MDt2YXIgYz0wLjAsZD0wLGU9MDtjPTAuMDtkPWI7ZT1hO3doaWxlKDEpe2lmKCFlKWJyZWFrO2M9
K3BbZD4+M10rYztkPWQrOHwwO2U9ZSstMXwwfWM9Yy8rKGF8MCk7d2hpbGUoMSl7aWYoIWEpYnJl
YWs7cFtiPj4zXT0rcFtiPj4zXS1jO2I9Yis4fDA7YT1hKy0xfDB9cmV0dXJufWZ1bmN0aW9uIFNz
KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAuMDtjPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShh
fDApKWJyZWFrO2Q9KygoazMoKXwwKSU1MDB8MHwwKTtwW2IrKGM8PDMpPj4zXT1kO2M9YysxfDB9
UnMoYSxiKTtyZXR1cm59ZnVuY3Rpb24gVHMoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1k
fDA7dmFyIGU9MC4wLGc9MCxoPTAsaT0wLGo9MCxrPTA7aD0wO3doaWxlKDEpe2lmKChofDApPj0o
YnwwKSlicmVhaztpPWZbYSsoaCoyMHwwKT4+Ml18MDtqPWErKGgqMjB8MCkrOHwwO2s9YSsoaCoy
MHwwKSs0fDA7ZT0wLjA7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oaXwwKSlicmVhaztlPStwW2Mr
KGZbKGZbaz4+Ml18MCkrKGc8PDIpPj4yXTw8Myk+PjNdKituWyhmW2o+PjJdfDApKyhnPDwyKT4+
Ml0rZTtnPWcrMXwwfXBbZCsoaDw8Myk+PjNdPWU7aD1oKzF8MH1yZXR1cm59ZnVuY3Rpb24gVXMo
YSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MC4wLGc9MCxoPTAsaT0wO2g9
MDt3aGlsZSgxKXtpZigoaHwwKT49KGJ8MCkpYnJlYWs7aT1hKyhoPDwyKXwwO2U9MC4wO2c9MDt3
aGlsZSgxKXtpZigoZ3wwKT09KGJ8MCkpYnJlYWs7ZT0rcFtjKyhnPDwzKT4+M10qK25bKGZbaT4+
Ml18MCkrKGc8PDIpPj4yXStlO2c9ZysxfDB9cFtkKyhoPDwzKT4+M109ZTtoPWgrMXwwfXJldHVy
bn1mdW5jdGlvbiBWcyhhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wO2U9
MDt3aGlsZSgxKXtpZigoZXwwKT49KGF8MCkpYnJlYWs7cFtkKyhlPDwzKT4+M109K3BbYisoZTw8
Myk+PjNdLStwW2MrKGU8PDMpPj4zXTtlPWUrMXwwfXJldHVybn1mdW5jdGlvbiBXcyhhLGIsYyxk
KXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49
KGF8MCkpYnJlYWs7cFtkKyhlPDwzKT4+M109K3BbYysoZTw8Myk+PjNdKyArcFtiKyhlPDwzKT4+
M107ZT1lKzF8MH1yZXR1cm59ZnVuY3Rpb24gWHMoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz0rYztk
PWR8MDt2YXIgZT0wO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KGF8MCkpYnJlYWs7cFtkKyhlPDwz
KT4+M109K3BbYisoZTw8Myk+PjNdKmM7ZT1lKzF8MH1yZXR1cm59ZnVuY3Rpb24gWXMoYSxiLGMp
e2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTA7ZD0wO3doaWxlKDEpe2lmKChkfDApPj0oYXwwKSli
cmVhaztwW2MrKGQ8PDMpPj4zXT0rcFtiKyhkPDwzKT4+M107ZD1kKzF8MH1yZXR1cm59ZnVuY3Rp
b24gWnMoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMCxlPTA7ZD0wLjA7ZT0wO3do
aWxlKDEpe2lmKChlfDApPj0oYXwwKSlicmVhaztkPStwW2MrKGU8PDMpPj4zXSorcFtiKyhlPDwz
KT4+M10rZDtlPWUrMXwwfXJldHVybiArZH1mdW5jdGlvbiBfcyhhLGIpe2E9YXwwO2I9YnwwO3Zh
ciBjPTAsZD0wLjAsZT0wLjA7Yz0wO2Q9LTEuZSs1MDt3aGlsZSgxKXtpZigoY3wwKT49KGF8MCkp
YnJlYWs7ZT0rSSgrKCtwW2IrKGM8PDMpPj4zXSkpO2M9YysxfDA7ZD1lPmQ/ZTpkfXJldHVybiAr
ZH1mdW5jdGlvbiAkcyhhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3Zh
ciBnPTAuMCxoPTAsaT0wO2k9MDt3aGlsZSgxKXtpZigoaXwwKT49KGJ8MCkpYnJlYWs7Zz0wLjA7
aD0wO3doaWxlKDEpe2lmKChofDApPj0oY3wwKSlicmVhaztnPStwW2QrKGg8PDMpPj4zXSorcFso
ZlthKyhoPDwyKT4+Ml18MCkrKGk8PDMpPj4zXStnO2g9aCsxfDB9cFtlKyhpPDwzKT4+M109Zztp
PWkrMXwwfXJldHVybn1mdW5jdGlvbiBhdChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAs
ZT0wO2M9MC4wO2Q9YjtlPWE7d2hpbGUoMSl7aWYoIWUpYnJlYWs7Yz0rbltkPj4yXStjO2Q9ZCs0
fDA7ZT1lKy0xfDB9Yz1jLysoYXwwKTt3aGlsZSgxKXtpZighYSlicmVhaztuW2I+PjJdPStuW2I+
PjJdLWM7Yj1iKzR8MDthPWErLTF8MH1yZXR1cm59ZnVuY3Rpb24gYnQoYSxiLGMsZCl7YT1hfDA7
Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxmPTAuMCxnPTAsaD0wLGk9MCxqPTAsaz0wLjAsbD0w
LG09MC4wLG89MCxwPTAuMDtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+PShifDApKWJyZWFrO25bZCso
ZTw8Mik+PjJdPTAuMDtlPWUrMXwwfWc9MDtpPTA7bD1iO3doaWxlKDEpe2lmKChpfDApPj0oYnww
KSlicmVhaztrPStuW2MrKGk8PDIpPj4yXTtqPWkrMXwwO2Y9K25bYSsoZzw8Mik+PjJdKms7aD1q
O2U9Zzt3aGlsZSgxKXtlPWUrMXwwO2lmKChofDApPT0oYnwwKSlicmVhaztwPStuW2ErKGU8PDIp
Pj4yXTttPStuW2MrKGg8PDIpPj4yXSpwK2Y7bz1kKyhoPDwyKXwwO25bbz4+Ml09K25bbz4+Ml0r
cCprO2Y9bTtoPWgrMXwwfW89ZCsoaTw8Mil8MDtuW28+PjJdPStuW28+PjJdK2Y7Zz1nK2x8MDtp
PWo7bD1sKy0xfDB9cmV0dXJufWZ1bmN0aW9uIGN0KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3ww
O2Q9ZHwwO3ZhciBlPTA7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oYXwwKSlicmVhaztuW2QrKGU8
PDIpPj4yXT0rbltiKyhlPDwyKT4+Ml0tK25bYysoZTw8Mik+PjJdO2U9ZSsxfDB9cmV0dXJufWZ1
bmN0aW9uIGR0KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTA7ZT0wO3do
aWxlKDEpe2lmKChlfDApPj0oYXwwKSlicmVhaztuW2QrKGU8PDIpPj4yXT0rbltjKyhlPDwyKT4+
Ml0rICtuW2IrKGU8PDIpPj4yXTtlPWUrMXwwfXJldHVybn1mdW5jdGlvbiBldChhLGIsYyxkKXth
PWF8MDtiPWJ8MDtjPStjO2Q9ZHwwO3ZhciBlPTAsZj0wO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49
KGF8MCkpYnJlYWs7Zj1iKyhlPDwyKXwwO25bZj4+Ml09K25bZCsoZTw8Mik+PjJdKmMrICtuW2Y+
PjJdO2U9ZSsxfDB9cmV0dXJufWZ1bmN0aW9uIGZ0KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9K2M7
ZD1kfDA7dmFyIGU9MDtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+PShhfDApKWJyZWFrO25bZCsoZTw8
Mik+PjJdPStuW2IrKGU8PDIpPj4yXSpjO2U9ZSsxfDB9cmV0dXJufWZ1bmN0aW9uIGd0KGEsYixj
KXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGF8MCkp
YnJlYWs7ZltjKyhkPDwyKT4+Ml09ZltiKyhkPDwyKT4+Ml07ZD1kKzF8MH1yZXR1cm59ZnVuY3Rp
b24gaHQoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMCxlPTA7ZD0wLjA7ZT0wO3do
aWxlKDEpe2lmKChlfDApPj0oYXwwKSlicmVhaztkPWQrICtuW2MrKGU8PDIpPj4yXSorbltiKyhl
PDwyKT4+Ml07ZT1lKzF8MH1yZXR1cm4gK2R9ZnVuY3Rpb24gaXQoYSxiLGMpe2E9YXwwO2I9K2I7
Yz1jfDA7dmFyIGQ9MDtkPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShhfDApKWJyZWFrO3BbYysoZDw8
Myk+PjNdPWI7ZD1kKzF8MH1yZXR1cm59ZnVuY3Rpb24ganQoYSxiLGMpe2E9YXwwO2I9K2I7Yz1j
fDA7dmFyIGQ9MDtkPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShhfDApKWJyZWFrO25bYysoZDw8Mik+
PjJdPWI7ZD1kKzF8MH1yZXR1cm59ZnVuY3Rpb24ga3QoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0w
LjAsZD0wLGU9MC4wO2M9LTEwMDAwMDAwMTUwNDc0NjYyMTk4NzY2ODguMGU2O2Q9MDt3aGlsZSgx
KXtpZigoZHwwKT49KGF8MCkpYnJlYWs7ZT0rSSgrKCtuW2IrKGQ8PDIpPj4yXSkpO2M9ZT5jP2U6
YztkPWQrMXwwfXJldHVybiArY31mdW5jdGlvbiBsdChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAs
ZD0wLGU9MC4wO2M9MDt3aGlsZSgxKXtpZigoY3wwKT49KGF8MCkpYnJlYWs7ZD1iKyhjPDwyKXww
O2U9K25bZD4+Ml07bltkPj4yXT1lKmU7Yz1jKzF8MH1yZXR1cm59ZnVuY3Rpb24gbXQoYSxiKXth
PWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAuMDtjPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShhfDAp
KWJyZWFrO2Q9YisoYzw8Mil8MDtlPStuW2Q+PjJdO2lmKGUhPTAuMCluW2Q+PjJdPTEuMC9lO2M9
YysxfDB9cmV0dXJufWZ1bmN0aW9uIG50KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0w
LGU9MC4wO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGF8MCkpYnJlYWs7ZT0rbltiKyhkPDwyKT4+
Ml07aWYoZT49MC4wKXtlPStKKCtlKTtuW2MrKGQ8PDIpPj4yXT1lfWQ9ZCsxfDB9cmV0dXJufWZ1
bmN0aW9uIG90KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLjA7Yz0wO3doaWxlKDEp
e2lmKChjfDApPj0oYXwwKSlicmVhaztkPWIrKGM8PDIpfDA7ZT0rbltkPj4yXTtpZihlPjAuMCl7
ZT0xLjAvK0ooK2UpO25bZD4+Ml09ZX1jPWMrMXwwfXJldHVybn1mdW5jdGlvbiBwdChhLGIpe2E9
YXwwO2I9YnwwO3ZhciBjPTA7ZlthPj4yXT0wO2lmKGImMylpZighKDQlKGI+Pj4wKXwwKSliPTQ7
ZWxzZSBiPVYoNC8oKHF0KGIpfDApPj4+MCl8MCxiKXwwO2ZbYSs4Pj4yXT1iO2E9YSs0fDA7Yj1m
W2E+PjJdfDA7YTpkbyBpZihifDApd2hpbGUoMSl7aWYoIWIpYnJlYWsgYTtjPWZbYj4+Ml18MDtN
XyhmW2IrND4+Ml18MCk7TV8oYik7Yj1jfXdoaWxlKDApO2ZbYT4+Ml09MDtyZXR1cm59ZnVuY3Rp
b24gcXQoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO2I9NDt3aGlsZSgxKXtpZigoYnwwKT09KGF8
MCkpYnJlYWs7ZD0oYnwwKT4oYXwwKTtjPWEtKGQ/MDpiKXwwO2I9Yi0oZD9hOjApfDA7YT1jfXJl
dHVybiBhfDB9ZnVuY3Rpb24gcnQoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MDtiPWZbYT4+
Ml18MDtpZighYil7Yz1mW2ErOD4+Ml18MDtkPUVIKDgpfDA7ZT1FSChWKGZbNDgxODldfDAsYyl8
MCl8MDtmW2QrND4+Ml09ZTtiPTA7d2hpbGUoMSl7aWYoKGJ8MCk+PShmWzQ4MTg5XXwwKSlicmVh
aztzdChlKyhWKGIsYyl8MCl8MCxhKTtiPWIrMXwwfWI9YSs0fDA7ZltkPj4yXT1mW2I+PjJdO2Zb
Yj4+Ml09ZDtiPWZbYT4+Ml18MH1mW2E+PjJdPWZbYj4+Ml07cmV0dXJuIGJ8MH1mdW5jdGlvbiBz
dChhLGIpe2E9YXwwO2I9YnwwO2ZbYT4+Ml09ZltiPj4yXTtmW2I+PjJdPWE7cmV0dXJufWZ1bmN0
aW9uIHR0KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxp
PTAsaj0wLGs9MCxsPTA7bD1ESChiPDwzKXwwO2s9YSs4fDA7ZT1mW2s+PjJdfDA7dXQoYSxiLGwp
O1NzKGIsYyk7Zz0wO2g9MDt3aGlsZSgxKXtpZigoaHwwKT49KGJ8MCkpYnJlYWs7Zz0oZlthKyho
KjIwfDApPj4yXXwwKStnfDA7aD1oKzF8MH1nPUVIKGc8PDIpfDA7aT0wO3doaWxlKDEpe2lmKChp
fDApPj0oYnwwKSlicmVhaztmW2ErKGkqMjB8MCkrOD4+Ml09ZztqPWZbYSsoaSoyMHwwKT4+Ml18
MDtuW2c+PjJdPSsoMS1qfDApO2g9MTt3aGlsZSgxKXtpZigoaHwwKT49KGp8MCkpYnJlYWs7bltn
KyhoPDwyKT4+Ml09MS4wO2g9aCsxfDB9Zz1nKyhqPDwyKXwwO2k9aSsxfDB9aD1NcShhLGMsbCxi
LC4wMDEsZCl8MDtNXyhmW2s+PjJdfDApO2c9MDt3aGlsZSgxKXtpZigoZ3wwKT49KGJ8MCkpYnJl
YWs7ZlthKyhnKjIwfDApKzg+PjJdPWU7ZT1lKyhmW2ErKGcqMjB8MCk+PjJdPDwyKXwwO2c9Zysx
fDB9TV8obCk7cmV0dXJuIGg+Pj4zMXwwfWZ1bmN0aW9uIHV0KGEsYixjKXthPWF8MDtiPWJ8MDtj
PWN8MDt2YXIgZD0wLjAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7aT1hKzE2fDA7Zz0wO3doaWxl
KDEpe2lmKChnfDApPj0oYnwwKSlicmVhaztpZihmW2k+PjJdfDApe2o9ZlthKyhnKjIwfDApPj4y
XXwwO2s9YSsoZyoyMHwwKSs4fDA7aD1hKyhnKjIwfDApKzE2fDA7ZD0wLjA7ZT0xO3doaWxlKDEp
e2lmKChlfDApPj0oanwwKSlicmVhaztkPWQrICtuWyhmW2g+PjJdfDApKyhlPDwyKT4+Ml0qK25b
KGZbaz4+Ml18MCkrKGU8PDIpPj4yXTtlPWUrMXwwfXBbYysoZzw8Myk+PjNdPWR9Zz1nKzF8MH1y
ZXR1cm59ZnVuY3Rpb24gdnQoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8
MDt2YXIgZz0wLGg9MCxpPTAuMCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLHM9MC4w
O3I9RUgoZTw8Mil8MDtoPWI8PDM7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oZXwwKSlicmVhaztx
PUVIKGgpfDA7ZltyKyhnPDwyKT4+Ml09cTtnPWcrMXwwfW89RUgoZTw8Myl8MDtxPUVIKGI8PDIp
fDA7Zz1FSChWKGgsYil8MCl8MDtoPTA7d2hpbGUoMSl7aWYoKGh8MCk+PShifDApKWJyZWFrO2Zb
cSsoaDw8Mik+PjJdPWc7Zz1nKyhiPDwzKXwwO2g9aCsxfDB9aj0wO249MTt3aGlsZSgxKXtpZigo
anwwKT49KGJ8MCkpYnJlYWs7az1hKyhqPDwyKXwwO2w9cSsoajw8Mil8MDtoPTA7d2hpbGUoMSl7
aWYoKGh8MCk9PShufDApKWJyZWFrO209YSsoaDw8Mil8MDtnPTA7aT0wLjA7d2hpbGUoMSl7aWYo
KGd8MCk+PShjfDApKWJyZWFrO3M9aSsgKyhWKGZbKGZbbT4+Ml18MCkrKGc8PDIpPj4yXXwwLGZb
KGZbaz4+Ml18MCkrKGc8PDIpPj4yXXwwKXwwKTtnPWcrMXwwO2k9c31wWyhmW3ErKGg8PDIpPj4y
XXwwKSsoajw8Myk+PjNdPWk7cFsoZltsPj4yXXwwKSsoaDw8Myk+PjNdPWk7aD1oKzF8MH1qPWor
MXwwO249bisxfDB9SHMocSxiLGUscixvLDEpfDA7aD0wO3doaWxlKDEpe2lmKChofDApPj0oZXww
KSlicmVhaztrPXIrKGg8PDIpfDA7bD1kKyhoPDwyKXwwO2o9MDt3aGlsZSgxKXtpZigoanwwKT49
KGN8MCkpYnJlYWs7Zz0wO2k9MC4wO3doaWxlKDEpe2lmKChnfDApPj0oYnwwKSlicmVhaztzPStw
WyhmW2s+PjJdfDApKyhnPDwzKT4+M10qKyhmWyhmW2ErKGc8PDIpPj4yXXwwKSsoajw8Mik+PjJd
fDApK2k7Zz1nKzF8MDtpPXN9cFsoZltsPj4yXXwwKSsoajw8Myk+PjNdPWk7aj1qKzF8MH1oPWgr
MXwwfWc9MDt3aGlsZSgxKXtpZigoZ3wwKT49KGV8MCkpYnJlYWs7TV8oZltyKyhnPDwyKT4+Ml18
MCk7Zz1nKzF8MH1NXyhyKTtNXyhvKTtNXyhmW3E+PjJdfDApO01fKHEpO3JldHVybn1mdW5jdGlv
biB3dChhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0w
LGo9MDtlPXQ7dD10KzMyfDA7Zz1lKzE2fDA7aj1lKzIwfDA7aT1lKzEyfDA7aD1lKzh8MDtmW2c+
PjJdPWQ7ZltpPj4yXT0wO2ZbaD4+Ml09MDtpdihmW2E+PjJdfDAsYyxjPDwyLGopO1FzKGZbaj4+
Ml18MCxhLGMsYixpKTtQcyhhLGZbaT4+Ml18MCxiLGMsYixoKTtNXyhmW2ZbaT4+Ml0+PjJdfDAp
O01fKGZbaT4+Ml18MCk7ZD0oSHMoZltoPj4yXXwwLGIsMSxnLGUsMSl8MCkmMjU1O3Q9ZTtyZXR1
cm4gZHwwfWZ1bmN0aW9uIHh0KCl7Zls0ODIwOF09MDtNXyhmWzQ4MjA5XXwwKTtNXyhmWzQ4MjEw
XXwwKTtNXyhmWzQ4MjExXXwwKTtmWzQ4MjA5XT0wO2ZbNDgyMTBdPTA7Zls0ODIxMV09MDtyZXR1
cm59ZnVuY3Rpb24geXQoYSl7YT1hfDA7TV8oZlthKzM2Pj4yXXwwKTtyZXR1cm59ZnVuY3Rpb24g
enQoYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD0rZDtlPStlO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0w
LGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLHM9MC4wLHU9MC4wLHY9MC4wLHc9MC4wO3I9dDt0PXQr
ODB8MDttPXIrNjR8MDtxPXIrNjh8MDtoPXIrNDh8MDtpPXIrMzJ8MDtqPXIrMTZ8MDtrPXI7bD1j
KzE2fDA7Zz1mW2w+PjJdfDA7YTpkbyBpZighKGZbZysyMTI+PjJdfDApKXN3aXRjaChRSihjKXww
KXtjYXNlIDE6e2c9ZltsPj4yXXwwO2k9ZltnKzEyPj4yXXwwO2o9ZltpKzg+PjJdfDA7ZltxPj4y
XT1qO2c9ZltmW2crOD4+Ml0+PjJdfDA7c3dpdGNoKGJbZz4+MF18MCl7Y2FzZSA5ODp7aWYoIShI
JChnLDExNjU2Mil8MCkpe249MTtvPTExfWVsc2Ugbz04O2JyZWFrfWNhc2UgMTEyOntpZigoSCQo
ZywxMTQwNDcpfDApPT0wPyhBdChmW2krNDQ+PjJdfDAsail8MCkhPTA6MCl7bj0xO289MTF9ZWxz
ZSBvPTg7YnJlYWt9ZGVmYXVsdDpvPTh9aWYoKG98MCk9PTgpaWYoKGp8MCk8Mz8oZltpPj4yXXww
KSE9MDowKWZbYSs0MD4+Ml09MjtlbHNle249MDtvPTExfWlmKChvfDApPT0xMT8oZlthKzQwPj4y
XT1uLChqfDApPjIpOjApe2g9RUgoajw8NCl8MDtpPWkrNDR8MDtpZigoZlthKzQwPj4yXXwwKT09
MSl7bz1mW2k+PjJdfDA7cz1kO3BbaD4+M109K3Bbbz4+M10qLjAxMzg4ODg4ODg4ODg4ODg4OCtz
O2Q9ZTtwW2grOD4+M109K3Bbbys4Pj4zXSouMDEzODg4ODg4ODg4ODg4ODg4K2Q7cFtoKzE2Pj4z
XT0rcFtvKzE2Pj4zXSouMDEzODg4ODg4ODg4ODg4ODg4LXM7cFtoKzI0Pj4zXT0rcFtvKzI0Pj4z
XSouMDEzODg4ODg4ODg4ODg4ODg4K2Q7cFtoKzMyPj4zXT0rcFtvKzMyPj4zXSouMDEzODg4ODg4
ODg4ODg4ODg4LXM7cFtoKzQwPj4zXT0rcFtvKzQwPj4zXSouMDEzODg4ODg4ODg4ODg4ODg4LWQ7
cFtoKzQ4Pj4zXT0rcFtvKzQ4Pj4zXSouMDEzODg4ODg4ODg4ODg4ODg4K3M7cFtoKzU2Pj4zXT0r
cFtvKzU2Pj4zXSouMDEzODg4ODg4ODg4ODg4ODg4LWQ7bz0yMTticmVhayBhfWc9MDt3aGlsZSgx
KXtpZigoZ3wwKT09KGp8MCkpe289MjE7YnJlYWsgYX1vPWZbaT4+Ml18MDt2PStwW28rKGc8PDQp
Pj4zXTtzPStwW28rKGc8PDQpKzg+PjNdO3U9K0ooKyhzKnMrdip2KSk7cFtoKyhnPDw0KT4+M109
KGQvdSsxLjApKnYqLjAxMzg4ODg4ODg4ODg4ODg4ODtwW2grKGc8PDQpKzg+PjNdPShlL3UrMS4w
KSpzKi4wMTM4ODg4ODg4ODg4ODg4ODg7Zz1nKzF8MH19aD1CdChjLHEsZCxlKXwwO289MjE7YnJl
YWsgYX1jYXNlIDI6e2ZbcT4+Ml09NDtvPUVIKDY0KXwwO2M9ZlsoZltsPj4yXXwwKSsxMj4+Ml18
MDt3PStwW2MrMzI+PjNdO3U9K3BbYys0MD4+M107bj1+fitwW2MrMTY+PjNdO2M9fn4rcFtjKzI0
Pj4zXTt2PS1kO3M9LWU7Q3QoaCxuLGMsdixzKTtmW28+PjJdPWZbaD4+Ml07ZltvKzQ+PjJdPWZb
aCs0Pj4yXTtmW28rOD4+Ml09ZltoKzg+PjJdO2ZbbysxMj4+Ml09ZltoKzEyPj4yXTtoPW8rMTZ8
MDttPX5+dztDdChpLG0sYyxkLHMpO2ZbaD4+Ml09ZltpPj4yXTtmW2grND4+Ml09ZltpKzQ+PjJd
O2ZbaCs4Pj4yXT1mW2krOD4+Ml07ZltoKzEyPj4yXT1mW2krMTI+PjJdO2g9byszMnwwO2M9fn51
O0N0KGosbSxjLGQsZSk7ZltoPj4yXT1mW2o+PjJdO2ZbaCs0Pj4yXT1mW2orND4+Ml07ZltoKzg+
PjJdPWZbais4Pj4yXTtmW2grMTI+PjJdPWZbaisxMj4+Ml07aD1vKzQ4fDA7Q3QoayxuLGMsdixl
KTtmW2g+PjJdPWZbaz4+Ml07ZltoKzQ+PjJdPWZbays0Pj4yXTtmW2grOD4+Ml09ZltrKzg+PjJd
O2ZbaCsxMj4+Ml09ZltrKzEyPj4yXTtmW2ErNDA+PjJdPTE7aD1vO289MjE7YnJlYWsgYX1jYXNl
IDM6e2ZbYSs0MD4+Ml09MjtoPUJ0KGMscSxkLGUpfDA7bz0yMTticmVhayBhfWRlZmF1bHQ6e2Zb
bT4+Ml09ZltmWyhmW2w+PjJdfDApKzg+PjJdPj4yXTtZdygxLDEwNDQzOSxtKXwwO2c9MTticmVh
ayBhfX1lbHNle2ZbcT4+Ml09NDt2PStwW2crMzI+PjNdKi41K2Q7dz0rcFtnKzQwPj4zXSouNStl
O2ZbYSs0MD4+Ml09MTtoPUVIKDY0KXwwO3BbaD4+M109djtwW2grOD4+M109dzt1PS12O3BbaCsx
Nj4+M109dTtwW2grMjQ+PjNdPXc7cFtoKzMyPj4zXT11O3c9LXc7cFtoKzQwPj4zXT13O3BbaCs0
OD4+M109djtwW2grNTY+PjNdPXc7bz0yMX13aGlsZSgwKTtpZigob3wwKT09MjEpe2ZbYSszNj4+
Ml09aDtnPWZbcT4+Ml18MDtmW2ErMzI+PjJdPWc7RHQoaCxnLGEsYSsxNnwwKTtpZigoZ3wwKT4o
Zls0ODIwOF18MCkpe2ZbNDgyMDhdPWc7Zz0wfWVsc2UgZz0wfXQ9cjtyZXR1cm4gZ3wwfWZ1bmN0
aW9uIEF0KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MC4wLGQ9MC4wO2RvIGlmKChifDApPT00KXtj
PStwW2ErOD4+M107Yj1hKzE2fDA7ZD0rcFthKzI0Pj4zXTtpZihjPT1kKXtpZighKCtwW2ErNDA+
PjNdPT0rcFthKzU2Pj4zXSkpe2I9MDticmVha31pZighKCtwW2E+PjNdPT0rcFthKzQ4Pj4zXSkp
e2I9MDticmVha31iPStwW2I+PjNdPT0rcFthKzMyPj4zXTticmVha31pZigoK3BbYT4+M109PStw
W2I+PjNdPytwW2ErMzI+PjNdPT0rcFthKzQ4Pj4zXTowKT9jPT0rcFthKzU2Pj4zXTowKWI9ZD09
K3BbYSs0MD4+M107ZWxzZSBiPTB9ZWxzZSBiPTA7d2hpbGUoMCk7cmV0dXJuIGImMXwwfWZ1bmN0
aW9uIEJ0KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9K2M7ZD0rZDt2YXIgZT0wLGc9MCxoPTAuMCxp
PTAsaj0wLjAsaz0wLGw9MC4wO2U9R3goYSwxMTEwMzEpfDA7aWYoISgoZXwwKSE9MD8oZz1EMihl
KXwwLChnfDApPj0zKTowKSlnPTIwO2k9RUgoZzw8NCl8MDthPWErMTZ8MDtoPTEuMC8rKGd8MCk7
ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oZ3wwKSlicmVhaztrPWZbYT4+Ml18MDtqPWgqKyhlfDAp
KjYuMjgzMTg1MzA3MTc5NTg2O2w9KCtwW2srMzI+PjNdKi41K2MpKitMKCtqKTtwW2krKGU8PDQp
Pj4zXT1sO2o9KCtwW2srNDA+PjNdKi41K2QpKitNKCtqKTtwW2krKGU8PDQpKzg+PjNdPWo7ZT1l
KzF8MH1mW2I+PjJdPWc7cmV0dXJuIGl8MH1mdW5jdGlvbiBDdChhLGIsYyxkLGUpe2E9YXwwO2I9
YnwwO2M9Y3wwO2Q9K2Q7ZT0rZTtwW2E+PjNdPSsoYnwwKSouMDEzODg4ODg4ODg4ODg4ODg4K2Q7
cFthKzg+PjNdPSsoY3wwKSouMDEzODg4ODg4ODg4ODg4ODg4K2U7cmV0dXJufWZ1bmN0aW9uIER0
KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZj0wLjAsZz0wLjAsaD0w
LjAsaT0wLjAsaj0wLGs9MC4wLGw9MC4wO2k9K3BbYT4+M107aD0rcFthKzg+PjNdO2U9MTtmPWg7
Zz1pO3doaWxlKDEpe2lmKChlfDApPj0oYnwwKSlicmVhaztqPWErMTZ8MDtrPStwW2o+PjNdO2w9
K3BbYSsyND4+M107ZT1lKzF8MDtmPWw+Zj9sOmY7Zz1rPmc/azpnO2g9bDxoP2w6aDtpPWs8aT9r
Omk7YT1qfXBbYz4+M109aTtwW2MrOD4+M109aDtwW2Q+PjNdPWc7cFtkKzg+PjNdPWY7cmV0dXJu
fWZ1bmN0aW9uIEV0KGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9K2Q7ZT0rZTt2YXIgZz0wLGg9MCxp
PTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MC4wLHM9MC4wLHU9MC4wLHY9MC4wO3E9
dDt0PXQrODB8MDtsPXErNjR8MDtvPXErNjh8MDtoPXErNDh8MDtpPXErMzJ8MDtqPXErMTZ8MDtr
PXE7bj1jKzE2fDA7Zz1mW24+PjJdfDA7YTpkbyBpZighKGZbZysyMTI+PjJdfDApKXN3aXRjaChR
SihjKXwwKXtjYXNlIDE6e2s9ZlsoZltuPj4yXXwwKSsxMj4+Ml18MDtsPWsrOHwwO2o9ZltsPj4y
XXwwO2Zbbz4+Ml09ajtiOmRvIGlmKChqfDApPjIpe2g9RUgoajw8NCl8MDtpPWsrNDR8MDtnPTA7
d2hpbGUoMSl7aWYoKGd8MCk9PShqfDApKWJyZWFrIGI7Yz1mW2k+PjJdfDA7cFtoKyhnPDw0KT4+
M109K3BbYysoZzw8NCk+PjNdKi4wMTM4ODg4ODg4ODg4ODg4ODg7cFtoKyhnPDw0KSs4Pj4zXT0r
cFtjKyhnPDw0KSs4Pj4zXSouMDEzODg4ODg4ODg4ODg4ODg4O2c9ZysxfDB9fWVsc2UgaD1CdChj
LG8sMC4wLDAuMCl8MDt3aGlsZSgwKTtnPWZbZlsoZltuPj4yXXwwKSs4Pj4yXT4+Ml18MDtzd2l0
Y2goYltnPj4wXXwwKXtjYXNlIDk4OntpZighKEgkKGcsMTE2NTYyKXwwKSl7ZlthKzQwPj4yXT0x
O209MjI7YnJlYWsgYX1icmVha31jYXNlIDExMjp7aWYoKEgkKGcsMTE0MDQ3KXwwKT09MD9BdCho
LGZbbz4+Ml18MCl8MDowKXtmW2ErNDA+PjJdPTE7bT0yMjticmVhayBhfWJyZWFrfWRlZmF1bHQ6
e319aWYoKGZbbD4+Ml18MCk8Mz9mW2s+PjJdfDA6MCl7ZlthKzQwPj4yXT0yO209MjI7YnJlYWsg
YX1mW2ErNDA+PjJdPTA7bT0yMjticmVhayBhfWNhc2UgMjp7ZltvPj4yXT00O209RUgoNjQpfDA7
bj1mWyhmW24+PjJdfDApKzEyPj4yXXwwO3M9K3BbbisxNj4+M107dj0rcFtuKzI0Pj4zXTt1PStw
W24rMzI+PjNdO3I9K3Bbbis0MD4+M107RnQoaCxzLHYpO2ZbbT4+Ml09ZltoPj4yXTtmW20rND4+
Ml09ZltoKzQ+PjJdO2ZbbSs4Pj4yXT1mW2grOD4+Ml07ZlttKzEyPj4yXT1mW2grMTI+PjJdO2g9
bSsxNnwwO0Z0KGksdSx2KTtmW2g+PjJdPWZbaT4+Ml07ZltoKzQ+PjJdPWZbaSs0Pj4yXTtmW2gr
OD4+Ml09ZltpKzg+PjJdO2ZbaCsxMj4+Ml09ZltpKzEyPj4yXTtoPW0rMzJ8MDtGdChqLHUscik7
ZltoPj4yXT1mW2o+PjJdO2ZbaCs0Pj4yXT1mW2orND4+Ml07ZltoKzg+PjJdPWZbais4Pj4yXTtm
W2grMTI+PjJdPWZbaisxMj4+Ml07aD1tKzQ4fDA7RnQoayxzLHIpO2ZbaD4+Ml09ZltrPj4yXTtm
W2grND4+Ml09ZltrKzQ+PjJdO2ZbaCs4Pj4yXT1mW2srOD4+Ml07ZltoKzEyPj4yXT1mW2srMTI+
PjJdO2ZbYSs0MD4+Ml09MTtoPW07bT0yMjticmVhayBhfWNhc2UgMzp7ZlthKzQwPj4yXT0yO2g9
QnQoYyxvLDAuMCwwLjApfDA7bT0yMjticmVhayBhfWRlZmF1bHQ6e2ZbbD4+Ml09ZltmWyhmW24+
PjJdfDApKzg+PjJdPj4yXTtZdygxLDEwNDQ3NSxsKXwwO2c9MTticmVhayBhfX1lbHNle2Zbbz4+
Ml09NDt1PStwW2crMzI+PjNdKi41O3Y9K3BbZys0MD4+M10qLjU7ZlthKzQwPj4yXT0xO2g9RUgo
NjQpfDA7cFtoPj4zXT11O3BbaCs4Pj4zXT12O3M9LXU7cFtoKzE2Pj4zXT1zO3BbaCsyND4+M109
djtwW2grMzI+PjNdPXM7dj0tdjtwW2grNDA+PjNdPXY7cFtoKzQ4Pj4zXT11O3BbaCs1Nj4+M109
djttPTIyfXdoaWxlKDApO2lmKChtfDApPT0yMil7Zz1mW28+PjJdfDA7aWYoZCE9MS4wfGUhPTEu
MClHdChoLGcsZCxlKTtmW2ErMzY+PjJdPWg7ZlthKzMyPj4yXT1nO0R0KGgsZyxhLGErMTZ8MCk7
aWYoKGd8MCk+KGZbNDgyMDhdfDApKXtmWzQ4MjA4XT1nO2c9MH1lbHNlIGc9MH10PXE7cmV0dXJu
IGd8MH1mdW5jdGlvbiBGdChhLGIsYyl7YT1hfDA7Yj0rYjtjPStjO3BbYT4+M109YiouMDEzODg4
ODg4ODg4ODg4ODg4O3BbYSs4Pj4zXT1jKi4wMTM4ODg4ODg4ODg4ODg4ODg7cmV0dXJufWZ1bmN0
aW9uIEd0KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9K2M7ZD0rZDt2YXIgZT0wLGY9MDtlPTA7d2hp
bGUoMSl7aWYoKGV8MCk+PShifDApKWJyZWFrO3BbYT4+M109K3BbYT4+M10qYztmPWErOHwwO3Bb
Zj4+M109K3BbZj4+M10qZDthPWErMTZ8MDtlPWUrMXwwfXJldHVybn1mdW5jdGlvbiBIdChhLGIs
YyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAs
bD0wLG09MCxuPTAsbz0wLHE9MCxyPTAuMCxzPTAuMCx1PTAuMCx2PTA7cT10O3Q9dCsxMjh8MDtt
PXErMTEyfDA7bD1xKzk2fDA7az1xKzgwfDA7ZT1xKzY0fDA7bj1xKzQ4fDA7bz1xKzMyfDA7aT1x
KzE2fDA7aj1xO2ZbbD4+Ml09ZlthPj4yXTtmW2wrND4+Ml09ZlthKzQ+PjJdO2ZbbCs4Pj4yXT1m
W2ErOD4+Ml07ZltsKzEyPj4yXT1mW2ErMTI+PjJdO2ZbbT4+Ml09ZltiPj4yXTtmW20rND4+Ml09
ZltiKzQ+PjJdO2ZbbSs4Pj4yXT1mW2IrOD4+Ml07ZlttKzEyPj4yXT1mW2IrMTI+PjJdO0dyKG4s
bCxtKTtnPWIrMTZ8MDtmW2w+PjJdPWZbYT4+Ml07ZltsKzQ+PjJdPWZbYSs0Pj4yXTtmW2wrOD4+
Ml09ZlthKzg+PjJdO2ZbbCsxMj4+Ml09ZlthKzEyPj4yXTtmW20+PjJdPWZbZz4+Ml07ZlttKzQ+
PjJdPWZbZys0Pj4yXTtmW20rOD4+Ml09ZltnKzg+PjJdO2ZbbSsxMj4+Ml09ZltnKzEyPj4yXTtH
cihvLGwsbSk7ZltsPj4yXT1mW2M+PjJdO2ZbbCs0Pj4yXT1mW2MrND4+Ml07ZltsKzg+PjJdPWZb
Yys4Pj4yXTtmW2wrMTI+PjJdPWZbYysxMj4+Ml07ZlttPj4yXT1mW2Q+PjJdO2ZbbSs0Pj4yXT1m
W2QrND4+Ml07ZlttKzg+PjJdPWZbZCs4Pj4yXTtmW20rMTI+PjJdPWZbZCsxMj4+Ml07R3IoaSxs
LG0pO2g9ZCsxNnwwO2ZbbD4+Ml09ZltjPj4yXTtmW2wrND4+Ml09ZltjKzQ+PjJdO2ZbbCs4Pj4y
XT1mW2MrOD4+Ml07ZltsKzEyPj4yXT1mW2MrMTI+PjJdO2ZbbT4+Ml09ZltoPj4yXTtmW20rND4+
Ml09ZltoKzQ+PjJdO2ZbbSs4Pj4yXT1mW2grOD4+Ml07ZlttKzEyPj4yXT1mW2grMTI+PjJdO0dy
KGosbCxtKTtmW2U+PjJdPWZbbj4+Ml07ZltlKzQ+PjJdPWZbbis0Pj4yXTtmW2UrOD4+Ml09Zltu
Kzg+PjJdO2ZbZSsxMj4+Ml09ZltuKzEyPj4yXTtmW2s+PjJdPWZbbz4+Ml07ZltrKzQ+PjJdPWZb
bys0Pj4yXTtmW2srOD4+Ml09ZltvKzg+PjJdO2ZbaysxMj4+Ml09ZltvKzEyPj4yXTtmW2w+PjJd
PWZbaT4+Ml07ZltsKzQ+PjJdPWZbaSs0Pj4yXTtmW2wrOD4+Ml09ZltpKzg+PjJdO2ZbbCsxMj4+
Ml09ZltpKzEyPj4yXTtmW20+PjJdPWZbaj4+Ml07ZlttKzQ+PjJdPWZbais0Pj4yXTtmW20rOD4+
Ml09ZltqKzg+PjJdO2ZbbSsxMj4+Ml09ZltqKzEyPj4yXTtkbyBpZihJdChlLGssbCxtKXwwKXtl
PWZbYis0MD4+Ml18MDtpZihlJjF8MD9mW2QrNDA+PjJdJjF8MDowKXtlPTE7YnJlYWt9aWYoZSYy
fDA/ZltkKzQwPj4yXSYyfDA6MCl7cj0rcFtnPj4zXS0rcFtiPj4zXSsgK3BbaD4+M10tK3BbZD4+
M107cz0rcFthPj4zXS0rcFtjPj4zXTt1PStwW2ErOD4+M10tK3BbYys4Pj4zXTtlPSEodSp1K3Mq
cz5yKnIqLjI1KTticmVha31lPWZbNDgyMDldfDA7aWYoIWUpe2g9RUgoZls0ODIwOF08PDQpfDA7
Zls0ODIwOV09aDtoPUVIKGZbNDgyMDhdPDw0KXwwO2ZbNDgyMTBdPWg7ZT1mWzQ4MjA5XXwwfWVs
c2UgaD1mWzQ4MjEwXXwwO3Y9ZltiKzM2Pj4yXXwwO2I9YiszMnwwO2c9ZltiPj4yXXwwO2ZbbT4+
Ml09ZlthPj4yXTtmW20rND4+Ml09ZlthKzQ+PjJdO2ZbbSs4Pj4yXT1mW2ErOD4+Ml07ZlttKzEy
Pj4yXT1mW2ErMTI+PjJdO0p0KHYsZyxtLGUpO2E9ZltkKzM2Pj4yXXwwO2c9ZCszMnwwO2Q9Zltn
Pj4yXXwwO2ZbbT4+Ml09ZltjPj4yXTtmW20rND4+Ml09ZltjKzQ+PjJdO2ZbbSs4Pj4yXT1mW2Mr
OD4+Ml07ZlttKzEyPj4yXT1mW2MrMTI+PjJdO0p0KGEsZCxtLGgpO2lmKCEoS3QoZSxoLGZbYj4+
Ml18MCxmW2c+PjJdfDApfDApKXtlPWZbNDgyMDldfDA7ZltrPj4yXT1mW2U+PjJdO2Zbays0Pj4y
XT1mW2UrND4+Ml07ZltrKzg+PjJdPWZbZSs4Pj4yXTtmW2srMTI+PjJdPWZbZSsxMj4+Ml07Zlts
Pj4yXT1mW2k+PjJdO2ZbbCs0Pj4yXT1mW2krND4+Ml07ZltsKzg+PjJdPWZbaSs4Pj4yXTtmW2wr
MTI+PjJdPWZbaSsxMj4+Ml07ZlttPj4yXT1mW2o+PjJdO2ZbbSs0Pj4yXT1mW2orND4+Ml07Zltt
Kzg+PjJdPWZbais4Pj4yXTtmW20rMTI+PjJdPWZbaisxMj4+Ml07aWYoTHQoayxsLG0pfDA/KGo9
Zls0ODIxMF18MCx2PWZbZz4+Ml18MCxmW20+PjJdPWZbZT4+Ml0sZlttKzQ+PjJdPWZbZSs0Pj4y
XSxmW20rOD4+Ml09ZltlKzg+PjJdLGZbbSsxMj4+Ml09ZltlKzEyPj4yXSxNdChqLHYsbSl8MCk6
MCl7ZT0xO2JyZWFrfWU9Zls0ODIxMF18MDtmW2s+PjJdPWZbZT4+Ml07ZltrKzQ+PjJdPWZbZSs0
Pj4yXTtmW2srOD4+Ml09ZltlKzg+PjJdO2ZbaysxMj4+Ml09ZltlKzEyPj4yXTtmW2w+PjJdPWZb
bj4+Ml07ZltsKzQ+PjJdPWZbbis0Pj4yXTtmW2wrOD4+Ml09ZltuKzg+PjJdO2ZbbCsxMj4+Ml09
ZltuKzEyPj4yXTtmW20+PjJdPWZbbz4+Ml07ZlttKzQ+PjJdPWZbbys0Pj4yXTtmW20rOD4+Ml09
ZltvKzg+PjJdO2ZbbSsxMj4+Ml09ZltvKzEyPj4yXTtpZighKEx0KGssbCxtKXwwKSllPTA7ZWxz
ZXtvPWZbNDgyMDldfDA7dj1mW2I+PjJdfDA7ZlttPj4yXT1mW2U+PjJdO2ZbbSs0Pj4yXT1mW2Ur
ND4+Ml07ZlttKzg+PjJdPWZbZSs4Pj4yXTtmW20rMTI+PjJdPWZbZSsxMj4+Ml07ZT0oTXQobyx2
LG0pfDApIT0wfX1lbHNlIGU9MX1lbHNlIGU9MDt3aGlsZSgwKTt0PXE7cmV0dXJuIGUmMXwwfWZ1
bmN0aW9uIEl0KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2lmKCgrcFthPj4zXTw9
K3BbZD4+M10/K3BbYz4+M108PStwW2I+PjNdOjApPytwW2ErOD4+M108PStwW2QrOD4+M106MClh
PStwW2MrOD4+M108PStwW2IrOD4+M10mMTtlbHNlIGE9MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIEp0
KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZj0wO2Y9Yys4fDA7ZT0w
O3doaWxlKDEpe2lmKChlfDApPj0oYnwwKSlicmVhaztwW2Q+PjNdPStwW2M+PjNdKyArcFthPj4z
XTtwW2QrOD4+M109K3BbZj4+M10rICtwW2ErOD4+M107ZT1lKzF8MDthPWErMTZ8MDtkPWQrMTZ8
MH1yZXR1cm59ZnVuY3Rpb24gS3QoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFy
IGU9MCxnPTAsaD0wLGk9MCxqPTAuMCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9
MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MDtBPXQ7dD10KzExMnwwO3I9QSs5
NnwwO3E9QSs4MHwwO3A9QSs2NHwwO289QSs0OHwwO3U9QSszMnwwO3Y9QSsxNnwwO3c9QTt4PWMr
LTF8MDt5PWQrLTF8MDt6PWM8PDE7cz1kPDwxO2U9MDtnPTA7aD0wO2k9MDt3aGlsZSgxKXtCPWEr
KGU8PDQpfDA7Qz1hKygoKHgrZXwwKSUoY3wwKXwwKTw8NCl8MDtmW3E+PjJdPWZbQj4+Ml07Zltx
KzQ+PjJdPWZbQis0Pj4yXTtmW3ErOD4+Ml09ZltCKzg+PjJdO2ZbcSsxMj4+Ml09ZltCKzEyPj4y
XTtmW3I+PjJdPWZbQz4+Ml07ZltyKzQ+PjJdPWZbQys0Pj4yXTtmW3IrOD4+Ml09ZltDKzg+PjJd
O2ZbcisxMj4+Ml09ZltDKzEyPj4yXTtGcih1LHEscik7bj1iKyhnPDw0KXwwO209YisoKCh5K2d8
MCklKGR8MCl8MCk8PDQpfDA7ZltxPj4yXT1mW24+PjJdO2ZbcSs0Pj4yXT1mW24rND4+Ml07Zltx
Kzg+PjJdPWZbbis4Pj4yXTtmW3ErMTI+PjJdPWZbbisxMj4+Ml07ZltyPj4yXT1mW20+PjJdO2Zb
cis0Pj4yXT1mW20rND4+Ml07ZltyKzg+PjJdPWZbbSs4Pj4yXTtmW3IrMTI+PjJdPWZbbSsxMj4+
Ml07RnIodixxLHIpO2ZbcD4+Ml09Zls0OGUzXTtmW3ArND4+Ml09Zls0ODAwMV07ZltwKzg+PjJd
PWZbNDgwMDJdO2ZbcCsxMj4+Ml09Zls0ODAwM107ZltxPj4yXT1mW3U+PjJdO2ZbcSs0Pj4yXT1m
W3UrND4+Ml07ZltxKzg+PjJdPWZbdSs4Pj4yXTtmW3ErMTI+PjJdPWZbdSsxMj4+Ml07ZltyPj4y
XT1mW3Y+PjJdO2Zbcis0Pj4yXT1mW3YrND4+Ml07ZltyKzg+PjJdPWZbdis4Pj4yXTtmW3IrMTI+
PjJdPWZbdisxMj4+Ml07aj0rSHIocCxxLHIpO2ZbcD4+Ml09ZltDPj4yXTtmW3ArND4+Ml09ZltD
KzQ+PjJdO2ZbcCs4Pj4yXT1mW0MrOD4+Ml07ZltwKzEyPj4yXT1mW0MrMTI+PjJdO2ZbcT4+Ml09
ZltCPj4yXTtmW3ErND4+Ml09ZltCKzQ+PjJdO2ZbcSs4Pj4yXT1mW0IrOD4+Ml07ZltxKzEyPj4y
XT1mW0IrMTI+PjJdO2Zbcj4+Ml09ZltuPj4yXTtmW3IrND4+Ml09ZltuKzQ+PjJdO2Zbcis4Pj4y
XT1mW24rOD4+Ml07ZltyKzEyPj4yXT1mW24rMTI+PjJdO2s9SXIocCxxLHIpfDA7ZltwPj4yXT1m
W20+PjJdO2ZbcCs0Pj4yXT1mW20rND4+Ml07ZltwKzg+PjJdPWZbbSs4Pj4yXTtmW3ArMTI+PjJd
PWZbbSsxMj4+Ml07ZltxPj4yXT1mW24+PjJdO2ZbcSs0Pj4yXT1mW24rND4+Ml07ZltxKzg+PjJd
PWZbbis4Pj4yXTtmW3ErMTI+PjJdPWZbbisxMj4+Ml07ZltyPj4yXT1mW0I+PjJdO2Zbcis0Pj4y
XT1mW0IrND4+Ml07ZltyKzg+PjJdPWZbQis4Pj4yXTtmW3IrMTI+PjJdPWZbQisxMj4+Ml07bD1J
cihwLHEscil8MDtmW28+PjJdPWZbQz4+Ml07ZltvKzQ+PjJdPWZbQys0Pj4yXTtmW28rOD4+Ml09
ZltDKzg+PjJdO2ZbbysxMj4+Ml09ZltDKzEyPj4yXTtmW3A+PjJdPWZbQj4+Ml07ZltwKzQ+PjJd
PWZbQis0Pj4yXTtmW3ArOD4+Ml09ZltCKzg+PjJdO2ZbcCsxMj4+Ml09ZltCKzEyPj4yXTtmW3E+
PjJdPWZbbT4+Ml07ZltxKzQ+PjJdPWZbbSs0Pj4yXTtmW3ErOD4+Ml09ZlttKzg+PjJdO2ZbcSsx
Mj4+Ml09ZlttKzEyPj4yXTtmW3I+PjJdPWZbbj4+Ml07ZltyKzQ+PjJdPWZbbis0Pj4yXTtmW3Ir
OD4+Ml09ZltuKzg+PjJdO2ZbcisxMj4+Ml09ZltuKzEyPj4yXTtpZihKcihvLHAscSxyLHcpfDAp
e2U9MTticmVha31tPShrfDApPT0wO249KGx8MCk9PTA7ZG8gaWYoaiE9MC4wfChsfGt8MCkhPTAp
aWYoIShqPj0wLjApKWlmKG4pe2U9KGUrMXwwKSUoY3wwKXwwO2g9aCsxfDA7YnJlYWt9ZWxzZXtn
PShnKzF8MCklKGR8MCl8MDtpPWkrMXwwO2JyZWFrfWVsc2UgaWYobSl7Zz0oZysxfDApJShkfDAp
fDA7aT1pKzF8MDticmVha31lbHNle2U9KGUrMXwwKSUoY3wwKXwwO2g9aCsxfDA7YnJlYWt9ZWxz
ZXtlPShlKzF8MCklKGN8MCl8MDtoPWgrMXwwfXdoaWxlKDApO2lmKCEoKGl8MCk8KHN8MCkmKCho
fDApPCh6fDApJigoaXwwKTwoZHwwKXwoaHwwKTwoY3wwKSkpKSl7ZT0wO2JyZWFrfX10PUE7cmV0
dXJuIGV8MH1mdW5jdGlvbiBMdChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MC4wLGU9
MC4wO2U9K3BbYT4+M107aWYoKGU8PStwW2M+PjNdP2U+PStwW2I+PjNdOjApPyhkPStwW2ErOD4+
M10sZDw9K3BbYys4Pj4zXSk6MClhPWQ+PStwW2IrOD4+M10mMTtlbHNlIGE9MDtyZXR1cm4gYXww
fWZ1bmN0aW9uIE10KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MC4wLGc9MC4w
LGg9MC4wLGk9MCxqPTAsaz0wO2Q9Zls0ODIxMV18MDtpZighZCl7ZD1FSChmWzQ4MjA4XTw8NCl8
MDtmWzQ4MjExXT1kfWc9K3BbYz4+M107ZT0rcFtjKzg+PjNdO2M9MDt3aGlsZSgxKXtpZigoY3ww
KT49KGJ8MCkpYnJlYWs7cFtkKyhjPDw0KT4+M109K3BbYSsoYzw8NCk+PjNdLWc7cFtkKyhjPDw0
KSs4Pj4zXT0rcFthKyhjPDw0KSs4Pj4zXS1lO2M9YysxfDB9aj1iKy0xfDA7ZT0wLjA7aT0wO2E6
d2hpbGUoMSl7aWYoKGl8MCk+PShifDApKXtrPTE5O2JyZWFrfWM9KGoraXwwKSUoYnwwKXwwO2c9
K3BbZCsoaTw8NCkrOD4+M107YT1nPT0wLjA7aWYoYT8rcFtkKyhjPDw0KSs4Pj4zXT09MC4wOjAp
e2lmKCtwW2QrKGM8PDQpPj4zXSorcFtkKyhpPDw0KT4+M108MC4wKXtkPTE7YnJlYWt9fWVsc2Ug
az0xMTtkbyBpZigoa3wwKT09MTEpe2s9MDtoPStwW2QrKGM8PDQpKzg+PjNdO2lmKCEoZz49MC4w
KXwhKGg8PTAuMCk/IShnPD0wLjApfCEoaD49MC4wKTowKWJyZWFrO2c9KGgqK3BbZCsoaTw8NCk+
PjNdLStwW2QrKGM8PDQpPj4zXSpnKS8oaC1nKTtpZihnPT0wLjApe2Q9MTticmVhayBhfWlmKGc+
MC4wKWlmKGF8aD09MC4wKXtlPWUrLjU7YnJlYWt9ZWxzZXtlPWUrMS4wO2JyZWFrfX13aGlsZSgw
KTtpPWkrMXwwfWlmKChrfDApPT0xOSlkPSgofn5lfDApJTJ8MHwwKT09MSYxO3JldHVybiBkfDB9
ZnVuY3Rpb24gTnQoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAs
aj0wLGs9MDtqPUVIKGI8PDIpfDA7aT1WKGIsYil8MDtjPUVIKGk8PDIpfDA7ZltqPj4yXT1jO2p0
KGksMC4wLGMpO2M9MTt3aGlsZSgxKXtpZigoY3wwKT49KGJ8MCkpYnJlYWs7aT0oZltqPj4yXXww
KSsoKFYoYyxiKXwwKTw8Mil8MDtmW2orKGM8PDIpPj4yXT1pO2M9YysxfDB9Yz0wO2c9MDtpPWI7
d2hpbGUoMSl7aWYoKGd8MCk+PShifDApKWJyZWFrO2g9aisoZzw8Mil8MDtkPWc7ZT1jO3doaWxl
KDEpe2lmKChkfDApPT0oYnwwKSlicmVhaztrPWZbYSsoZTw8Mik+PjJdfDA7ZlsoZltoPj4yXXww
KSsoZDw8Mik+PjJdPWs7ZlsoZltqKyhkPDwyKT4+Ml18MCkrKGc8PDIpPj4yXT1rO2Q9ZCsxfDA7
ZT1lKzF8MH1jPWMraXwwO2c9ZysxfDA7aT1pKy0xfDB9cmV0dXJuIGp8MH1mdW5jdGlvbiBPdChh
LGIsYyxkLGUsZyxoLGkpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO2g9aHww
O2k9K2k7dmFyIGo9MC4wLGs9MC4wLGw9MC4wLG09MCxvPTAscD0wLHE9MC4wLHI9MCxzPTAuMCx0
PTAsdT0wLHY9MCx3PTAseD0wLHk9MC4wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAs
SD0wLEo9MCxLPTAsTD0wLE09MCxOPTAuMDtNPWZbYysoZTw8Mik+PjJdfDA7Qj1mW2ErND4+Ml18
MDtDPWZbYT4+Ml18MDtEPWZbYSs0OD4+Ml18MDtFPWZbYSs1Mj4+Ml18MDtGPWZbYSs1Nj4+Ml18
MDthOmRvIGlmKChnfDApPDEpYz0wO2Vsc2V7UXQoTSxCLEQsRSxGLGkpO0c9ZlthKzI4Pj4yXXww
O0g9ZlthKzMyPj4yXXwwO0o9ZlthKzM2Pj4yXXwwO0s9ZlthKzEyPj4yXXwwO0w9ZlthKzE2Pj4y
XXwwO2U9MDtkPTA7Yz0tMTt3aGlsZSgxKXtpZigoZXwwKT49KEJ8MCkpYnJlYWs7aWYoKGV8MCk+
PShkfDApKXtjPWMrMXwwO2lmKChjfDApPT0oRnwwKSl7ZD1CO2M9Rn1lbHNlIGQ9ZltFKyhjPDwy
KT4+Ml18MH1mW0wrKGZbRCsoZTw8Mik+PjJdPDwyKT4+Ml09YztlPWUrMXwwfXo9ZlthKzQwPj4y
XXwwO0E9SCsoQistMTw8Mil8MDtjPTA7ZD0wO3doaWxlKDEpe2lmKCEoZDw8MjQ+PjI0PT0wJihj
fDApPChnfDApKSlicmVhayBhO2o9LTEuMGU5O2U9MDtkPTE7Yjp3aGlsZSgxKXt4PWU7d2hpbGUo
MSl7aWYoKHh8MCk+PShCfDApKWJyZWFrIGI7ZT1mW0QrKHg8PDIpPj4yXXwwO3k9K25bTSsoZTw8
Mik+PjJdO2s9eTt3PXg7bD0wLjA7d2hpbGUoMSl7blt6KyhlPDwyKT4+Ml09bDtlPXcrMXwwO2lm
KChlfDApPj0oQnwwKSl7dj0wO2JyZWFrfWs9KGZbTCsoZTw8Mik+PjJdfDApPihmW0wrKHc8PDIp
Pj4yXXwwKT9rK2k6azthPWZbRCsoZTw8Mik+PjJdfDA7bD0rbltNKyhhPDwyKT4+Ml07aWYoK0ko
KyhsLWspKT4xLjBlLTA5KXt2PTE7YnJlYWt9dz1lO2w9bC15O2U9YX1tPXg7d2hpbGUoMSl7aWYo
KG18MCk+KHd8MCkpYnJlYWs7bz1mW0QrKG08PDIpPj4yXXwwO3A9ZltDKyhvPDwyKT4+Ml18MDth
PTA7az0tK25bYisobzw8Mik+PjJdO3doaWxlKDEpe2lmKChhfDApPj0oQnwwKSlicmVhaztpZigo
YXwwKSE9KG98MCkpaz0rbltNKyhhPDwyKT4+Ml0qK25bcCsoYTw8Mik+PjJdK2s7YT1hKzF8MH1u
W0crKG88PDIpPj4yXT1rLy0rbltwKyhvPDwyKT4+Ml0tK25beisobzw8Mik+PjJdO209bSsxfDB9
YT0wO289eDt3aGlsZSgxKXtpZigob3wwKT4od3wwKSlicmVhazttPWZbTCsoZltEKyhvPDwyKT4+
Ml08PDIpPj4yXXwwO2lmKChtfDApPT0oRnwwKSlyPWU7ZWxzZXtyPWZbRSsobTw8Mik+PjJdfDA7
cj0oZXwwKTwocnwwKT9lOnJ9cD1vO3doaWxlKDEpe2lmKChwfDApPj0ocnwwKSlicmVhazttPWZb
RCsocDw8Mik+PjJdfDA7aWYoK25bRysobTw8Mik+PjJdPHkpe2ZbSysoYTw8Mik+PjJdPW07YT1h
KzF8MH1wPXArMXwwfXA9bzt3aGlsZSgxKXtpZigocHwwKT49KHJ8MCkpYnJlYWs7bT1mW0QrKHA8
PDIpPj4yXXwwO2lmKCtuW0crKG08PDIpPj4yXT09eSl7ZltLKyhhPDwyKT4+Ml09bTthPWErMXww
fXA9cCsxfDB9d2hpbGUoMSl7aWYoKG98MCk+PShyfDApKWJyZWFrO209ZltEKyhvPDwyKT4+Ml18
MDtpZigrbltHKyhtPDwyKT4+Ml0+eSl7ZltLKyhhPDwyKT4+Ml09bTthPWErMXwwfW89bysxfDB9
bz1yfWw9MC4wO3E9MC4wO209MDt3aGlsZSgxKXtpZigobXwwKT49KGF8MCkpYnJlYWs7cD1mW0sr
KG08PDIpPj4yXXwwO3I9ZltDKyhwPDwyKT4+Ml18MDtrPTAuMDtvPTA7d2hpbGUoMSl7aWYoKG98
MCk9PShtfDApKWJyZWFrO2s9ay0rbltyKyhmW0srKG88PDIpPj4yXTw8Mik+PjJdO289bysxfDB9
Tj1rKjIuMDt1PXIrKHA8PDIpfDA7cz0rblt1Pj4yXTtrPU4rbDtzPShOKnkrbCpxLStuW0crKHA8
PDIpPj4yXSpzKS8oay1zKTtuW0grKG08PDIpPj4yXT1zO2w9ay0rblt1Pj4yXTtxPXM7bT1tKzF8
MH1wPShhfDApPT0oQnwwKTtpZihwKW5bQT4+Ml09eTt1PWErLTF8MDtsPTAuMDtxPTAuMDtvPXU7
d2hpbGUoMSl7aWYoKG98MCk8PS0xKWJyZWFrO3I9ZltLKyhvPDwyKT4+Ml18MDt0PWZbQysocjw8
Mik+PjJdfDA7az0wLjA7bT1vO3doaWxlKDEpe209bSsxfDA7aWYoKG18MCk+PShhfDApKWJyZWFr
O2s9ay0rblt0KyhmW0srKG08PDIpPj4yXTw8Mik+PjJdfWs9ayoyLjA7dD10KyhyPDwyKXwwO049
K25bdD4+Ml07cz1rK2w7Tj0oayp5K2wqcS0rbltHKyhyPDwyKT4+Ml0qTikvKHMtTik7bltKKyhv
PDwyKT4+Ml09TjtsPXMtK25bdD4+Ml07cT1OO289bystMXwwfWlmKHApbltKPj4yXT15O3M9MC4w
O209LTE7cD0wO3doaWxlKDEpe2lmKChhfDApPD0ocHwwKSlicmVhaztxPStuW0orKHA8PDIpPj4y
XTtpZighcClrPXE7ZWxzZSBrPStuW0grKHArLTE8PDIpPj4yXTtkbyBpZihxPGspe289az55O2lm
KHE8eSl7az1vP3k6aztsPWs7YnJlYWt9aWYobyl7bD1xO2s9cX1lbHNlIGw9cX1lbHNlIGw9cTt3
aGlsZSgwKTtOPStJKCsobC15KSkqKyhhLXB8MCkrICtJKCsoay15KSkqKyhwfDApO3Q9Tj5zO3M9
dD9OOnM7bT10P3A6bTtwPXArMXwwfWlmKChtfDApPi0xKWJyZWFrO2lmKHY/KGZbTCsoZltEKyhl
PDwyKT4+Ml08PDIpPj4yXXwwKT4oZltMKyhmW0QrKHc8PDIpPj4yXTw8Mik+PjJdfDApOjApaj0r
bltNKyhmW0srKHU8PDIpPj4yXTw8Mik+PjJdK2k7ZWxzZSBqPStuW00rKGZbSysodTw8Mik+PjJd
PDwyKT4+Ml07eD1lfWw9K25bSisobTw8Mik+PjJdO2lmKCFtKXE9bDtlbHNlIHE9K25bSCsobSst
MTw8Mik+PjJdO2lmKHYpe3Q9ZltEKyhlPDwyKT4+Ml18MDtrPStuW00rKHQ8PDIpPj4yXTtrPSgo
ZltMKyh0PDwyKT4+Ml18MCk+KGZbTCsoZltEKyh3PDwyKT4+Ml08PDIpPj4yXXwwKT9rLWk6aykt
K25beisoZltLKyh1PDwyKT4+Ml08PDIpPj4yXX1lbHNlIGs9MS4wZTk7az1sPGs/bDprO2o9cT5q
P3E6ajtkbyBpZihrPGope289aj55O2lmKGs8eSl7az1vP3k6ajtsPWs7YnJlYWt9aWYobylsPWs7
ZWxzZXtsPWs7az1qfX1lbHNle2w9aztrPWp9d2hpbGUoMCk7bz0wO3doaWxlKDEpe2lmKChvfDAp
Pj0obXwwKSlicmVhazt0PWZbSysobzw8Mik+PjJdfDA7bltNKyh0PDwyKT4+Ml09K25beisodDw8
Mik+PjJdK2s7bz1vKzF8MH13aGlsZSgxKXtpZigobXwwKT49KGF8MCkpYnJlYWs7dD1mW0srKG08
PDIpPj4yXXwwO25bTSsodDw8Mik+PjJdPStuW3orKHQ8PDIpPj4yXStsO209bSsxfDB9aWYodj8o
ZltMKyhmW0QrKGU8PDIpPj4yXTw8Mik+PjJdfDApPihmW0wrKGZbRCsodzw8Mik+PjJdPDwyKT4+
Ml18MCk6MClqPStuW00rKGZbSysodTw8Mik+PjJdPDwyKT4+Ml0raTtlbHNlIGo9K25bTSsoZltL
Kyh1PDwyKT4+Ml08PDIpPj4yXTthPXg7d2hpbGUoMSl7aWYoKGF8MCk+KHd8MCkpYnJlYWs7ZltE
KyhhPDwyKT4+Ml09ZltLKyhhLXg8PDIpPj4yXTthPWErMXwwfWlmKGQ8PDI0Pj4yNCE9MD8rSSgr
KGsteSkpPC4wMTowKWQ9K0koKyhsLXkpKTwuMDE7ZWxzZSBkPTA7ZD1kJjF9YXQoQixNKTtQdChN
LEQsRSxGLGgpO2M9YysxfDB9fXdoaWxlKDApO3JldHVybiBjfDB9ZnVuY3Rpb24gUHQoYSxiLGMs
ZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wO2c9MDt3aGlsZSgxKXtp
ZigoZ3wwKT49KGR8MCkpYnJlYWs7ZltlKyhnPDwyKT4+Ml09ZlthKyhmW2IrKChmW2MrKGc8PDIp
Pj4yXXwwKSstMTw8Mik+PjJdPDwyKT4+Ml07Zz1nKzF8MH1yZXR1cm59ZnVuY3Rpb24gUXQoYSxi
LGMsZCxlLGcpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9K2c7dmFyIGg9MC4wLGk9
MCxqPTAsaz0wLGw9MDtoPS0xLjBlOTtqPTA7aT0tMTtsPTA7d2hpbGUoMSl7aWYoKGx8MCk+PShi
fDApKWJyZWFrO2lmKChsfDApPChqfDApKWs9ajtlbHNle2k9aSsxfDA7aWYoKGl8MCk9PShlfDAp
KWo9YjtlbHNlIGo9ZltkKyhpPDwyKT4+Ml18MDtpZighbCloPS0xLjBlOTtlbHNlIGg9K25bYSso
ZltjKyhsKy0xPDwyKT4+Ml08PDIpPj4yXStnO3FzKGEsYyxsLGorLTF8MCk7az1qfWo9YSsoZltj
KyhsPDwyKT4+Ml08PDIpfDA7aWYoK25baj4+Ml08aCluW2o+PjJdPWg7aj1rO2w9bCsxfDB9cmV0
dXJufWZ1bmN0aW9uIFJ0KGEpe2E9YXwwO01fKGZbZlthPj4yXT4+Ml18MCk7TV8oZlthPj4yXXww
KTtNXyhmW2ErOD4+Ml18MCk7TV8oZlthKzI4Pj4yXXwwKTtNXyhmW2ErMzI+PjJdfDApO01fKGZb
YSszNj4+Ml18MCk7TV8oZlthKzQwPj4yXXwwKTtNXyhmW2ErMTI+PjJdfDApO01fKGZbYSsxNj4+
Ml18MCk7TV8oZlthKzIwPj4yXXwwKTtNXyhmW2ErMjQ+PjJdfDApO01fKGEpO3JldHVybn1mdW5j
dGlvbiBTdChhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAs
aD0wLGk9MCxqPTAsaz0wLGw9MDtrPUVIKDYwKXwwO2Zbaz4+Ml09MDtsPWsrNHwwO2ZbbD4+Ml09
YjtmW2srNDg+PjJdPWM7ZltrKzUyPj4yXT1kO2Zbays1Nj4+Ml09ZTtpPU50KGEsYil8MDtmW2s+
PjJdPWk7aT1iPDwyO2o9RUgoaSl8MDtmW2srOD4+Ml09ajtoPTA7Yj0wO2E9LTE7d2hpbGUoMSl7
Zz1mW2w+PjJdfDA7aWYoKGh8MCk+PShnfDApKWJyZWFrO2lmKChofDApPj0oYnwwKSl7YT1hKzF8
MDtpZigoYXwwKT09KGV8MCkpe2I9ZzthPWV9ZWxzZSBiPWZbZCsoYTw8Mik+PjJdfDB9ZltqKyhm
W2MrKGg8PDIpPj4yXTw8Mik+PjJdPWE7aD1oKzF8MH1sPUVIKGkpfDA7ZltrKzI4Pj4yXT1sO2w9
RUgoaSl8MDtmW2srMzI+PjJdPWw7bD1FSChpKXwwO2ZbayszNj4+Ml09bDtsPUVIKGkpfDA7Zltr
KzQwPj4yXT1sO2w9RUgoaSl8MDtmW2srMTI+PjJdPWw7bD1FSChpKXwwO2ZbaysxNj4+Ml09bDts
PUVIKGkpfDA7ZltrKzIwPj4yXT1sO2w9RUgoaSl8MDtmW2srMjQ+PjJdPWw7cmV0dXJuIGt8MH1m
dW5jdGlvbiBUdCgpe3B0KDE5Mjg1MiwyNCk7Zls0ODIxNl09MDtyZXR1cm59ZnVuY3Rpb24gVXQo
KXtyZXR1cm4gcnQoMTkyODUyKXwwfWZ1bmN0aW9uIFZ0KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9
MC4wLGQ9MC4wO2M9K3BbYT4+M10tK3BbYj4+M107ZD0rcFthKzg+PjNdLStwW2IrOD4+M107cmV0
dXJuICsoK0ooKyhkKmQrYypjKSkpfWZ1bmN0aW9uIFd0KGEpe2E9YXwwO3ZhciBiPTA7Yj1mWzQ4
MjE2XXwwO2ZbYSsxNj4+Ml09YjtmWzQ4MjE2XT1iKzE7cmV0dXJufWZ1bmN0aW9uIFh0KGEpe2E9
YXwwO3ZhciBiPTAsYz0wO2M9YSsyMHwwO2I9KGZbYz4+Ml18MCkrLTF8MDtmW2M+PjJdPWI7aWYo
IWIpc3QoYSwxOTI4NTIpO3JldHVybn1mdW5jdGlvbiBZdChhKXthPWF8MDthPWErMjB8MDtmW2E+
PjJdPShmW2E+PjJdfDApKzE7cmV0dXJufWZ1bmN0aW9uIFp0KGEsYixjLGQsZSl7YT1hfDA7Yj1i
fDA7Yz1jfDA7ZD1kfDA7ZT0rZTt2YXIgZz0wLjAsaD0wLGk9MCxqPTAsaz0wLjAsbD0wLG09MC4w
LG89MCxxPTAuMCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTA7eD10O3Q9dCsxNnwwO2w9eDtm
W2w+PjJdPWQ7bz1iPDwyO3Y9RUgobyl8MDtqPWI8PDM7dz1FSChqKXwwO3U9anMoYSxiKXwwO2E9
MDt3aGlsZSgxKXtpZigoYXwwKT49KGJ8MCkpYnJlYWs7aT11KyhhPDwyKXwwO2g9MDt3aGlsZSgx
KXtpZigoaHwwKT09KGJ8MCkpYnJlYWs7cj0oZltpPj4yXXwwKSsoaDw8Mil8MDtmW3I+PjJdPWZb
cj4+Ml08PDg7aD1oKzF8MH1hPWErMXwwfWlmKCFjKXhhKDEwNDUwOCwxMDQ1MTYsMjgzLDEwNDUz
MCk7cj1FSChqKXwwO2E9MDt3aGlsZSgxKXtpZigoYXwwKT49KGJ8MCkpYnJlYWs7cFtyKyhhPDwz
KT4+M109K3BbYysoYTw8Myk+PjNdO2E9YSsxfDB9X3QocixiKTtnPTAuMDtrPTAuMDtoPTE7d2hp
bGUoMSl7aWYoKGh8MCk+PShifDApKWJyZWFrO2k9dSsoaDw8Mil8MDtqPWMrKGg8PDMpfDA7YT0w
O3doaWxlKDEpe2lmKChhfDApPT0oaHwwKSlicmVhazt5PWZbKGZbaT4+Ml18MCkrKGE8PDIpPj4y
XXwwO3E9K3Bbaj4+M10tK3BbYysoYTw8Myk+PjNdO2c9cSpxKigxLjAvKyhWKHkseSl8MCkpK2c7
az0rSSgrcSkqKDEuMC8rKHl8MCkpK2s7YT1hKzF8MH1oPWgrMXwwfXE9ay9nO2E9MDt3aGlsZSgx
KXtpZigoYXwwKT49KGJ8MCkpYnJlYWs7eT1jKyhhPDwzKXwwO3BbeT4+M109K3BbeT4+M10qcTth
PWErMXwwfSR0KGIsbCxlLGMsdSk7aT1FSChWKG8sYil8MCl8MDtoPTA7d2hpbGUoMSl7aWYoKGh8
MCk+PShifDApKWJyZWFrO2o9aSsoKFYoaCxiKXwwKTw8Mil8MDtmW3YrKGg8PDIpPj4yXT1qO2w9
dSsoaDw8Mil8MDtnPTAuMDthPTA7d2hpbGUoMSl7aWYoKGF8MCk9PShifDApKWJyZWFrO2lmKChh
fDApIT0oaHwwKSl7bT0rKGZbKGZbbD4+Ml18MCkrKGE8PDIpPj4yXXwwKTttPS0xLjAvKG0qbSk7
bltqKyhhPDwyKT4+Ml09bTtnPWctbX1hPWErMXwwfW5baisoaDw8Mik+PjJdPWc7aD1oKzF8MH1o
PTE7d2hpbGUoMSl7aWYoKGh8MCk+PShifDApKWJyZWFrO2c9K3BbYysoaDw8Myk+PjNdO2k9dSso
aDw8Mil8MDthPTA7d2hpbGUoMSl7aWYoKGF8MCk9PShofDApKWJyZWFrO3k9KGZbaT4+Ml18MCkr
KGE8PDIpfDA7az0rKGZbeT4+Ml18MCk7bT1nLStwW2MrKGE8PDMpPj4zXTttPWsqay1tKm07bz1+
fitKKCttKTtvPW0+MC4wP286MDtmWyhmW3UrKGE8PDIpPj4yXXwwKSsoaDw8Mik+PjJdPW87Zlt5
Pj4yXT1vO2E9YSsxfDB9aD1oKzF8MH1oPTA7d2hpbGUoMSl7aWYoKGh8MCk+PShifDApKWJyZWFr
O209K3BbZCsoaDw8Myk+PjNdO2k9dysoaDw8Myl8MDtwW2k+PjNdPTAuMDtqPXUrKGg8PDIpfDA7
bD12KyhoPDwyKXwwO2E9MDtnPTAuMDt3aGlsZSgxKXtpZigoYXwwKT09KGJ8MCkpYnJlYWs7aWYo
KGF8MCkhPShofDApKXtrPStuWyhmW2w+PjJdfDApKyhhPDwyKT4+Ml0qKyhmWyhmW2o+PjJdfDAp
KyhhPDwyKT4+Ml18MCk7aWYoIShtPj0rcFtkKyhhPDwzKT4+M10pKWc9ZytrO2Vsc2UgZz1nKy1r
O3BbaT4+M109Z31hPWErMXwwfWg9aCsxfDB9bz0wO2E9MDt3aGlsZSgxKXtpZighKGE8PDI0Pj4y
ND09MCZvPj4+MDwyMDApKXtzPTYzO2JyZWFrfWlmKChOcSh2LGQsdyxiLGUsYiwxKXwwKTwwKXth
PTE7YnJlYWt9YT0xO2w9MDt3aGlsZSgxKXtpZigobHwwKT49KGJ8MCkpYnJlYWs7bT0rcFtkKyhs
PDwzKT4+M107aT11KyhsPDwyKXwwO2o9disobDw8Mil8MDtnPTAuMDtoPTA7d2hpbGUoMSl7aWYo
KGh8MCk9PShifDApKWJyZWFrO2RvIGlmKChofDApIT0obHwwKSl7az0rblsoZltqPj4yXXwwKSso
aDw8Mik+PjJdKisoZlsoZltpPj4yXXwwKSsoaDw8Mik+PjJdfDApO2lmKCEobT49K3BbZCsoaDw8
Myk+PjNdKSl7Zz1nK2s7YnJlYWt9ZWxzZXtnPWcrLWs7YnJlYWt9fXdoaWxlKDApO2g9aCsxfDB9
aD13KyhsPDwzKXwwO209K3BbaD4+M107aWYoZyE9bT8rSSgrKDEuMC1nL20pKT4xLjBlLTA1OjAp
e3BbaD4+M109ZzthPTB9bD1sKzF8MH1vPW8rMXwwfWE6ZG8gaWYoKHN8MCk9PTYzKXtnPTEuMC9x
O2E9MDt3aGlsZSgxKXtpZigoYXwwKT49KGJ8MCkpe2E9MDticmVhayBhfXk9YysoYTw8Myl8MDtw
W3k+PjNdPStwW3k+PjNdKmc7eT1kKyhhPDwzKXwwO3BbeT4+M109K3BbeT4+M10qZzthPWErMXww
fX13aGlsZSgwKTtNXyhmW3U+PjJdfDApO01fKHUpO01fKGZbdj4+Ml18MCk7TV8odik7TV8ocik7
TV8odyk7dD14O3JldHVybiBhfDB9ZnVuY3Rpb24gX3QoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0w
LGQ9MC4wLGU9MC4wLGY9MDtjPTA7ZD0wLjA7d2hpbGUoMSl7aWYoKGN8MCk+PShifDApKWJyZWFr
O2U9K3BbYSsoYzw8Myk+PjNdK2Q7Yz1jKzF8MDtkPWV9ZD1kLysoYnwwKTtjPTA7d2hpbGUoMSl7
aWYoKGN8MCk+PShifDApKWJyZWFrO2Y9YSsoYzw8Myl8MDtwW2Y+PjNdPStwW2Y+PjNdLWQ7Yz1j
KzF8MH1mPWIrLTF8MDtMcyhhLDAsZiwxLjAvK0tzKGEsMCxmKSxhKTtyZXR1cm59ZnVuY3Rpb24g
JHQoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPStjO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9
MDtoPWF1KGUsYSl8MDtpPUVIKDgpfDA7aWYoIWQpe2U9MDtkPTB9ZWxzZXtnPUVIKGE8PDMpfDA7
ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oYXwwKSlicmVhaztwW2crKGU8PDMpPj4zXT0rcFtkKyhl
PDwzKT4+M107ZT1lKzF8MH1fdChnLGEpO2U9ZztkPWd9YnUoaCxhLGIsaSxlLGMpO2U9MDt3aGls
ZSgxKXtpZigoZXwwKT49KGF8MCkpYnJlYWs7Yz0rSigrKCtJKCsoK3BbaT4+M10pKSkpO2c9KGZb
Yj4+Ml18MCkrKGU8PDMpfDA7cFtnPj4zXT0rcFtnPj4zXSpjO2U9ZSsxfDB9TV8oZltoPj4yXXww
KTtNXyhoKTtNXyhpKTtNXyhkKTtyZXR1cm59ZnVuY3Rpb24gYXUoYSxiKXthPWF8MDtiPWJ8MDt2
YXIgYz0wLGQ9MCxlPTAsZz0wLjAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbz0wLjA7bT10O3Q9
dCsxNnwwO2U9bTtsPWI8PDI7ZD1FSChWKGwsYil8MCl8MDtsPUVIKGwpfDA7Yz0wO3doaWxlKDEp
e2lmKChjfDApPj0oYnwwKSlicmVhaztrPWQrKChWKGMsYil8MCk8PDIpfDA7ZltsKyhjPDwyKT4+
Ml09aztjPWMrMXwwfWs9ZHUoYSxiLGUpfDA7Zz0rbltlPj4yXTtkPTA7aj0xO3doaWxlKDEpe2lm
KChkfDApPj0oYnwwKSlicmVhaztlPWErKGQ8PDIpfDA7aD1rKyhkPDwyKXwwO2k9bCsoZDw8Mil8
MDtjPTA7d2hpbGUoMSl7aWYoKGN8MCk9PShqfDApKWJyZWFrO289KyhmWyhmW2U+PjJdfDApKyhj
PDwyKT4+Ml18MCk7bz0rbltrKyhjPDwyKT4+Ml0rICtuW2g+PjJdLW8qby1nO25bKGZbaT4+Ml18
MCkrKGM8PDIpPj4yXT1vO25bKGZbbCsoYzw8Mik+PjJdfDApKyhkPDwyKT4+Ml09bztjPWMrMXww
fWQ9ZCsxfDA7aj1qKzF8MH1NXyhrKTt0PW07cmV0dXJuIGx8MH1mdW5jdGlvbiBidShhLGIsYyxk
LGUsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz0rZzt2YXIgaD0wLGk9MCxqPTAs
az0wLGw9MC4wLG09MC4wLG49MCxvPTAscT0wLHI9MCxzPTA7cj1iPDwzO3E9RUgocil8MDtyPUVI
KHIpfDA7bT0xLjAtZztvPShifDApPDE/YjoxO249YistMXwwO2o9KGV8MCk9PTA7aT0wO2E6d2hp
bGUoMSl7aWYoKGl8MCk+PShvfDApKWJyZWFrO2s9ZltjKyhpPDwyKT4+Ml18MDtoPTA7d2hpbGUo
MSlpZigoaHwwKT09KGJ8MCkpe2lmKCFqKUpzKGssMCxuLC0rSXMoZSwwLG4sayksZSk7aD0wO3do
aWxlKDEpe2lmKChofDApPT0oaXwwKSlicmVhaztzPWMrKGg8PDIpfDA7bD0tK0lzKGZbcz4+Ml18
MCwwLG4sayk7SnMoaywwLG4sbCxmW3M+PjJdfDApO2g9aCsxfDB9Zz0rS3MoaywwLG4pO2lmKGc8
MS4wZS0xMCloPTA7ZWxzZSBicmVha31lbHNle2w9KygoazMoKXwwKSUxMDB8MHwwKTtwW2srKGg8
PDMpPj4zXT1sO2g9aCsxfDB9THMoaywwLG4sMS4wL2csayk7ZG97TXMociwwLG4sayk7Y3UoYSxi
LGIsayxxLGUpO01zKGssMCxuLHEpO2g9MDt3aGlsZSgxKXtpZigoaHwwKT09KGl8MCkpYnJlYWs7
cz1jKyhoPDwyKXwwO2w9LStJcyhmW3M+PjJdfDAsMCxuLGspO0pzKGssMCxuLGwsZltzPj4yXXww
KTtoPWgrMXwwfWc9K0tzKGssMCxuKTtpZihnPDEuMGUtMTApYnJlYWsgYTtMcyhrLDAsbiwxLjAv
ZyxrKTtsPStJcyhrLDAsbixyKX13aGlsZSgrSSgrbCk8bSk7cFtkKyhpPDwzKT4+M109bCpnO2k9
aSsxfDB9d2hpbGUoMSl7aWYoKGl8MCk+PShvfDApKWJyZWFrO2o9ZltjKyhpPDwyKT4+Ml18MDto
PTA7d2hpbGUoMSl7aWYoKGh8MCk+PShifDApKWJyZWFrO209KygoazMoKXwwKSUxMDB8MHwwKTtw
W2orKGg8PDMpPj4zXT1tO2g9aCsxfDB9aD0wO3doaWxlKDEpe2lmKChofDApPT0oaXwwKSlicmVh
aztzPWMrKGg8PDIpfDA7bT0tK0lzKGZbcz4+Ml18MCwwLG4saik7SnMoaiwwLG4sbSxmW3M+PjJd
fDApO2g9aCsxfDB9THMoaiwwLG4sMS4wLytLcyhqLDAsbiksaik7cFtkKyhpPDwzKT4+M109MC4w
O2k9aSsxfDB9az1vKy0xfDA7aT0wO3doaWxlKDEpe2lmKChpfDApPj0oa3wwKSlicmVhazthPWQr
KGk8PDMpfDA7ZT1pKzF8MDtnPStwW2E+PjNdO2g9aTtqPWU7d2hpbGUoMSl7aWYoKGp8MCk+PShv
fDApKWJyZWFrO209K3BbZCsoajw8Myk+PjNdO3M9ZzxtO2c9cz9tOmc7aD1zP2o6aDtqPWorMXww
fWlmKChofDApIT0oaXwwKSl7Yj1jKyhpPDwyKXwwO01zKHEsMCxuLGZbYj4+Ml18MCk7cz1jKyho
PDwyKXwwO01zKGZbYj4+Ml18MCwwLG4sZltzPj4yXXwwKTtNcyhmW3M+PjJdfDAsMCxuLHEpO3Bb
ZCsoaDw8Myk+PjNdPStwW2E+PjNdO3BbYT4+M109Z31pPWV9TV8ocSk7TV8ocik7cmV0dXJufWZ1
bmN0aW9uIGN1KGEsYixjLGQsZSxnKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8
MDt2YXIgaD0wLGk9MC4wLGo9MCxrPTA7aD0wO3doaWxlKDEpe2lmKChofDApPj0oYnwwKSlicmVh
aztrPWErKGg8PDIpfDA7aT0wLjA7aj0wO3doaWxlKDEpe2lmKChqfDApPj0oY3wwKSlicmVhaztp
PStwW2QrKGo8PDMpPj4zXSorblsoZltrPj4yXXwwKSsoajw8Mik+PjJdK2k7aj1qKzF8MH1wW2Ur
KGg8PDMpPj4zXT1pO2g9aCsxfDB9aD1iKy0xfDA7aWYoZ3wwKUpzKGUsMCxoLC0rSXMoZSwwLGgs
ZyksZyk7cmV0dXJufWZ1bmN0aW9uIGR1KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0w
LjAsZT0wLjAsZz0wLGg9MCxpPTAsaj0wLjAsaz0wLGw9MC4wO2k9RUgoYjw8Mil8MDtqPTEuMC8r
KGJ8MCk7ZD0wLjA7aD0wO3doaWxlKDEpe2lmKChofDApPj0oYnwwKSlicmVhaztrPWErKGg8PDIp
fDA7ZT0wLjA7Zz0wO3doaWxlKDEpe2lmKChnfDApPT0oYnwwKSlicmVhaztsPSsoZlsoZltrPj4y
XXwwKSsoZzw8Mik+PjJdfDApO2w9bCpsO2U9bCtlO2c9ZysxfDA7ZD1sK2R9bltpKyhoPDwyKT4+
Ml09aiplO2g9aCsxfDB9bD1kLysoVihiLGIpfDApO25bYz4+Ml09bDtyZXR1cm4gaXwwfWZ1bmN0
aW9uIGV1KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZj0wLjAsZz0w
LGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MCxzPTAsdD0wLjAsdT0wO3E9
VihkLGQpfDA7cj1FSChxPDwzKXwwO3M9RUgoZDw8Myl8MDtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+
PShkfDApKWJyZWFrO3BbcysoZTw8Myk+PjNdPStwW2MrKGU8PDMpPj4zXTtlPWUrMXwwfWU9MDt3
aGlsZSgxKXtpZigoZXwwKT09KHF8MCkpYnJlYWs7cFtyKyhlPDwzKT4+M109K3BbYSsoZTw8Myk+
PjNdO2U9ZSsxfDB9bz1kKy0xfDA7Zz0wO249MDt3aGlsZSgxKXtpZigobnwwKT49KG98MCkpe2s9
MjM7YnJlYWt9Zj0wLjA7ZT1uO3doaWxlKDEpe2lmKChlfDApPj0oZHwwKSlicmVhaztsPWErKChW
KGUsZCl8MCkrbjw8Myl8MDt0PStJKCsoK3BbbD4+M10pKTtsPXQ8ZjttPWw/ZzplO2Y9bD9mOnQ7
ZT1lKzF8MDtnPW19aWYoZjwxLjBlLTEwKXtrPTM3O2JyZWFrfWg9VihnLGQpfDA7bT1WKG4sZCl8
MDtlPW47d2hpbGUoMSl7aWYoKGV8MCk+PShkfDApKWJyZWFrO2s9YSsoZStoPDwzKXwwO3Q9K3Bb
az4+M107bD1hKyhlK208PDMpfDA7cFtrPj4zXT0rcFtsPj4zXTtwW2w+PjNdPXQ7ZT1lKzF8MH1s
PWMrKGc8PDMpfDA7dD0rcFtsPj4zXTtpPWMrKG48PDMpfDA7cFtsPj4zXT0rcFtpPj4zXTtwW2k+
PjNdPXQ7bD1uKzF8MDtqPWErKG0rbjw8Myl8MDtlPWw7d2hpbGUoMSl7aWYoKGV8MCk+PShkfDAp
KWJyZWFrO2s9VihlLGQpfDA7Zj0rcFthKyhrK248PDMpPj4zXS8rcFtqPj4zXTtoPWMrKGU8PDMp
fDA7cFtoPj4zXT0rcFtoPj4zXS0rcFtpPj4zXSpmO2g9MDt3aGlsZSgxKXtpZigoaHwwKT49KGR8
MCkpYnJlYWs7dT1hKyhoK2s8PDMpfDA7cFt1Pj4zXT0rcFt1Pj4zXS0rcFthKyhoK208PDMpPj4z
XSpmO2g9aCsxfDB9ZT1lKzF8MH1uPWx9aWYoKGt8MCk9PTIzKXtmPStwW2ErKHErLTE8PDMpPj4z
XTtpZigrSSgrZik8MS4wZS0xMClrPTM3O2Vsc2V7cFtiKyhvPDwzKT4+M109K3BbYysobzw8Myk+
PjNdL2Y7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0ob3wwKSlicmVhaztnPWQtZXwwO2g9ZystMnww
O2Y9K3BbYysoaDw8Myk+PjNdO2k9YisoaDw8Myl8MDtwW2k+PjNdPWY7aj1WKGgsZCl8MDtnPWcr
LTF8MDt3aGlsZSgxKXtpZigoZ3wwKT49KGR8MCkpYnJlYWs7dD1mLStwW2IrKGc8PDMpPj4zXSor
cFthKyhnK2o8PDMpPj4zXTtwW2k+PjNdPXQ7Zz1nKzF8MDtmPXR9cFtpPj4zXT1mLytwW2ErKGor
aDw8Myk+PjNdO2U9ZSsxfDB9ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oZHwwKSlicmVhaztwW2Mr
KGU8PDMpPj4zXT0rcFtzKyhlPDwzKT4+M107ZT1lKzF8MH1lPTA7d2hpbGUoMSl7aWYoKGV8MCk9
PShxfDApKWJyZWFrO3BbYSsoZTw8Myk+PjNdPStwW3IrKGU8PDMpPj4zXTtlPWUrMXwwfU1fKHIp
O01fKHMpfX1pZigoa3wwKT09Mzcpe1IyKDEwNDU0NSl8MDtNXyhyKTtNXyhzKX1yZXR1cm59Citm
dW5jdGlvbiBZayhhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wO3JsKGEp
O2I9JHkoYSl8MDt3aGlsZSgxKXtpZighYilicmVhaztjPU54KGEsYil8MDt3aGlsZSgxKXtpZigh
YylicmVhaztkbyBpZigoKGZbKGZbYysxNj4+Ml18MCkrMTcyPj4yXXwwKT09MD8oWGsoYyl8MCk9
PTA6MCk/KGQ9Yys0OHwwLGU9JEwoZlsoKGZbYz4+Ml0mM3wwKT09Mz9jOmQpKzQwPj4yXXwwKXww
LGc9YystNDh8MCxoPSRMKGZbKChmW2M+PjJdJjN8MCk9PTI/YzpnKSs0MD4+Ml18MCl8MCwoZXww
KSE9KGh8MCkpOjApe2lmKChmWyhmW2UrMTY+PjJdfDApKzIxMj4+Ml18MCk9PTA/KGZbKGZbaCsx
Nj4+Ml18MCkrMjEyPj4yXXwwKT09MDowKXtpPW9oKGUsaCl8MDtpZighaSl7eWgoZSxoLGMpfDA7
YnJlYWt9ZWxzZXtHaChjLGkpO2JyZWFrfX1pPWZbYz4+Ml0mMztaayhhLGZbKChpfDApPT0zP2M6
ZCkrNDA+PjJdfDAsZlsoKGl8MCk9PTI/YzpnKSs0MD4+Ml18MCxjKX13aGlsZSgwKTtjPVB4KGEs
Yyl8MH1iPWF6KGEsYil8MH1yZXR1cm59ZnVuY3Rpb24gWmsoYSxjLGQsZSl7YT1hfDA7Yz1jfDA7
ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGs9MDtpPWZbZT4+Ml0mMztnPWZbKGZbKChpfDAp
PT0zP2U6ZSs0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDA7aD1mW2crMjEyPj4yXXwwO2lmKCFoKWs9
MDtlbHNlIGs9KGZbZysyMzI+PjJdfDApLShmWyhmWyhmWyhmW2grMTY+PjJdfDApKzI2ND4+Ml18
MCkrMTY+PjJdfDApKzIzMj4+Ml18MCl8MDtnPWZbKGZbKChpfDApPT0yP2U6ZSstNDh8MCkrNDA+
PjJdfDApKzE2Pj4yXXwwO2g9ZltnKzIxMj4+Ml18MDtpZighaClnPTA7ZWxzZSBnPShmWyhmWyhm
WyhmW2grMTY+PjJdfDApKzI2ND4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCktKGZbZysyMzI+
PjJdfDApfDA7aT1lKzE2fDA7az1nK2srKGpbKGZbaT4+Ml18MCkrMTcwPj4xXXwwKXwwO2E9RGgo
YSl8MDtiWyhmW2ErMTY+PjJdfDApKzE1Nj4+MF09MjtoPSRMKGMpfDA7Yz0kTChkKXwwO2Q9aWoo
YSxoLChrfDApPjA/MC4wOisoMC1rfDApLChmWyhmW2k+PjJdfDApKzE1Nj4+Ml18MCkqMTB8MCl8
MDtjPShpaihhLGMsKygoKGt8MCk+MD9rOjApfDApLGZbKGZbaT4+Ml18MCkrMTU2Pj4yXXwwKXww
KSsxNnwwO2ZbKGZbYz4+Ml18MCkrMTE2Pj4yXT1lO2ZbKGZbZCsxNj4+Ml18MCkrMTE2Pj4yXT1l
O3JldHVybn1mdW5jdGlvbiBfayhhLGIsYyxlKXthPWF8MDtiPWJ8MDtjPWN8MDtlPWV8MDt2YXIg
Zz0wLGg9MCxpPTAsaz0wO2k9ZltiPj4yXSYzO2g9ZlsoZlsoZlsoKGl8MCk9PTM/YjpiKzQ4fDAp
KzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwO2k9ZlsoZlsoZlsoKGl8MCk9PTI/YjpiKy00
OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MDtpPShofDApPihpfDApP2g6aTtoPWIr
MTZ8MDtiPShmW2g+PjJdfDApKzE3MnwwO2lmKGZbYj4+Ml18MCl4YSg5OTYyNSw5OTY0NywxNDgs
OTk2NTYpO2ZbYj4+Ml09YztnPShlfDApPT0wO2Rve2I9ZltoPj4yXXwwO2lmKGcpZT1mW2MrMTY+
PjJdfDA7ZWxzZXtlPWZbYysxNj4+Ml18MDtrPWUrMTY4fDA7ZFtrPj4xXT0oaltrPj4xXXwwKSso
altiKzE2OD4+MV18MCl9az1lKzE1NHwwO2Rbaz4+MV09KGpbaz4+MV18MCkrKGpbYisxNTQ+PjFd
fDApO2U9ZSsxNTZ8MDtmW2U+PjJdPShmW2U+PjJdfDApKyhmW2IrMTU2Pj4yXXwwKTtiPWMrLTQ4
fDA7ZT1mWygoZltjPj4yXSYzfDApPT0yP2M6YikrNDA+PjJdfDA7aWYoKGZbKGZbZSsxNj4+Ml18
MCkrMjMyPj4yXXwwKT09KGl8MCkpYnJlYWs7JGsoYSxlKTtjPWZbZlsoZlsoZlsoKGZbYz4+Ml0m
M3wwKT09Mj9jOmIpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTgwPj4yXT4+Ml18MH13aGlsZSgoY3ww
KSE9MCk7cmV0dXJufWZ1bmN0aW9uICRrKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MC4wO2M9Kygo
ZlsoZlthKzE2Pj4yXXwwKSsyNDg+PjJdfDApLzJ8MHwwKTtiPWZbYisxNj4+Ml18MDthPWIrODh8
MDtwW2E+PjNdPStwW2E+PjNdK2M7Yj1iKzk2fDA7cFtiPj4zXT0rcFtiPj4zXStjO3JldHVybn1m
dW5jdGlvbiBhbChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wO2lmKCgoKChhfDApIT0wJihi
fDApIT0wPyhkPWZbYT4+Ml0mMyxjPWZbYj4+Ml0mMywoZlsoKGR8MCk9PTM/YTphKzQ4fDApKzQw
Pj4yXXwwKT09KGZbKChjfDApPT0zP2I6Yis0OHwwKSs0MD4+Ml18MCkpOjApPyhmWygoZHwwKT09
Mj9hOmErLTQ4fDApKzQwPj4yXXwwKT09KGZbKChjfDApPT0yP2I6YistNDh8MCkrNDA+PjJdfDAp
OjApPyhmWyhmW2ErMTY+PjJdfDApKzk2Pj4yXXwwKT09KGZbKGZbYisxNj4+Ml18MCkrOTY+PjJd
fDApOjApPyhGaihhLGIpfDApIT0wOjApYT0xO2Vsc2UgYT0wO3JldHVybiBhfDB9ZnVuY3Rpb24g
YmwoYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wO3I9YSsxNnwwO2M9ZltyPj4yXXwwO2ZbYysxOTI+PjJdPTA7Zltj
KzIzMj4+Ml09MDtybChhKTtjPTE7d2hpbGUoMSl7ZD1mW3I+PjJdfDA7aWYoKGN8MCk+KGZbZCsx
ODA+PjJdfDApKWJyZWFrO3NsKGEsZlsoZltkKzE4ND4+Ml18MCkrKGM8PDIpPj4yXXwwKTtjPWMr
MXwwfWg9JHkoYSl8MDt3aGlsZSgxKXtpZighaClicmVhaztnPU54KGEsaCl8MDt3aGlsZSgxKXtp
ZighZylicmVhaztjPWZbZz4+Ml0mMztkPShmWyhmWygoY3wwKT09Mj9nOmcrLTQ4fDApKzQwPj4y
XXwwKSsxNj4+Ml18MCkrMTYwfDA7ZT1iW2Q+PjBdfDA7aWYoZTw8MjQ+PjI0PDMpe2JbZD4+MF09
ZSsxPDwyND4+MjQ7Yz1mW2c+PjJdJjN9Yz0oZlsoZlsoKGN8MCk9PTM/ZzpnKzQ4fDApKzQwPj4y
XXwwKSsxNj4+Ml18MCkrMTYwfDA7ZD1iW2M+PjBdfDA7aWYoZDw8MjQ+PjI0PDMpYltjPj4wXT1k
KzE8PDI0Pj4yNDtnPVB4KGEsZyl8MH1oPWF6KGEsaCl8MH1tPSR5KGEpfDA7d2hpbGUoMSl7aWYo
IW0pYnJlYWs7aWYoKGZbKGZbbSsxNj4+Ml18MCkrMjEyPj4yXXwwKT09MD8obXwwKT09KCRMKG0p
fDApOjApe3poKGEsbSk7bD0oZltyPj4yXXwwKSsyMzJ8MDtmW2w+PjJdPShmW2w+PjJdfDApKzF9
Yz0wO2w9TngoYSxtKXwwO3doaWxlKDEpe2lmKCFsKWJyZWFrO2s9bCsxNnwwO2c9ZltrPj4yXXww
O2E6ZG8gaWYoIShmW2crMTcyPj4yXXwwKSl7aWYoY2wobCl8MCl7aWYoIShhbChjLGwpfDApKXtk
bChhLGwpO2M9bDticmVha31kPWZbKGZbYysxNj4+Ml18MCkrMTcyPj4yXXwwO2lmKGR8MCl7X2so
YSxsLGQsMCk7dWgobCk7YnJlYWt9az1mW2w+PjJdJjM7aWYoKGZbKGZbKGZbKChrfDApPT0zP2w6
bCs0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCkhPShmWyhmWyhmWygoa3wwKT09
Mj9sOmwrLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKSlicmVhaztHaChsLGMp
O3VoKGwpO2JyZWFrfWlmKGMpe2g9ZltsPj4yXSYzO2k9bCs0OHwwO2Q9ZlsoKGh8MCk9PTM/bDpp
KSs0MD4+Ml18MDtlPWZbYz4+Ml0mMztpZigoZHwwKT09KGZbKChlfDApPT0zP2M6Yys0OHwwKSs0
MD4+Ml18MCk/KG49ZlsoKGh8MCk9PTI/bDpsKy00OHwwKSs0MD4+Ml18MCwobnwwKT09KGZbKChl
fDApPT0yP2M6YystNDh8MCkrNDA+PjJdfDApKTowKXtpZigoZlsoZltkKzE2Pj4yXXwwKSsyMzI+
PjJdfDApPT0oZlsoZltuKzE2Pj4yXXwwKSsyMzI+PjJdfDApKXtHaChsLGMpO3VoKGwpO2JyZWFr
fWlmKCgoZltnKzk2Pj4yXXwwKT09MD8obz1jKzE2fDAsKGZbKGZbbz4+Ml18MCkrOTY+PjJdfDAp
PT0wKTowKT8oRmoobCxjKXwwKSE9MDowKWlmKCEoYlsxOTQ4NjVdfDApKXtfayhhLGwsZlsoZltv
Pj4yXXwwKSsxNzI+PjJdfDAsMSk7dWgobCk7YnJlYWt9ZWxzZXtiWyhmW2s+PjJdfDApKzExMj4+
MF09NjticmVha319fWVsc2UgaT1sKzQ4fDA7aD1mW2w+PjJdJjM7ZD1mWygoaHwwKT09Mz9sOmkp
KzQwPj4yXXwwO2o9bCstNDh8MDtpZigoZHwwKT09KGZbKChofDApPT0yP2w6aikrNDA+PjJdfDAp
KXt1aChsKTtjPWw7YnJlYWt9ZD0kTChkKXwwO2U9JEwoZlsoKGZbbD4+Ml0mM3wwKT09Mj9sOmop
KzQwPj4yXXwwKXwwO2g9ZltsPj4yXSYzO2lmKChmWygoaHwwKT09Mz9sOmkpKzQwPj4yXXwwKT09
KGR8MCk/KGZbKChofDApPT0yP2w6aikrNDA+PjJdfDApPT0oZXwwKTowKXtnPWZbKGZbZCsxNj4+
Ml18MCkrMjMyPj4yXXwwO2g9ZlsoZltlKzE2Pj4yXXwwKSsyMzI+PjJdfDA7aWYoKGd8MCk9PSho
fDApKXtFaChhLGwpO2M9bDticmVha31pZigoaHwwKT4oZ3wwKSl7ZWwoYSxkLGUsbCk7Yz1sO2Jy
ZWFrfWQ9X3goYSxlLGQsMCwwKXwwO2RvIGlmKGR8MD8ocD1mW2Q+PjJdJjMscT1mWygocHwwKT09
Mj9kOmQrLTQ4fDApKzQwPj4yXXwwLChxfDApIT0oZlsoKGZbbD4+Ml0mM3wwKT09Mj9sOmopKzQw
Pj4yXXwwKSk6MCl7ZT1kKzE2fDA7aWYoIShmWyhmW2U+PjJdfDApKzE3Mj4+Ml18MCkpZWwoYSxm
WygocHwwKT09Mz9kOmQrNDh8MCkrNDA+PjJdfDAscSxkKTtpZigoZlsoZltrPj4yXXwwKSs5Nj4+
Ml18MCk9PTA/KGZbKGZbZT4+Ml18MCkrOTY+PjJdfDApPT0wOjApe2lmKCEoRmoobCxkKXwwKSli
cmVhaztpZighKGJbMTk0ODY1XXwwKSl7dWgobCk7X2soYSxsLGZbKGZbZT4+Ml18MCkrMTcyPj4y
XXwwLDEpO2JyZWFrIGF9ZWxzZXtiWyhmW2s+PjJdfDApKzExMj4+MF09NjtiWyhmW2U+PjJdfDAp
KzE1Mz4+MF09MTticmVhayBhfX19d2hpbGUoMCk7Yz1mW2w+PjJdJjM7ZWwoYSxmWygoY3wwKT09
Mj9sOmopKzQwPj4yXXwwLGZbKChjfDApPT0zP2w6aSkrNDA+PjJdfDAsbCk7Yz1sfX1lbHNlIGM9
bDt3aGlsZSgwKTtsPVB4KGEsbCl8MH1tPWF6KGEsbSl8MH1pZigocmcoYSl8MCkhPShhfDApKXtj
PWZbKGZbcj4+Ml18MCkrMjE2Pj4yXXwwO2lmKCFjKWM9RUgoNCl8MDtlbHNlIGM9R0goYyw0KXww
O3I9ZltyPj4yXXwwO2ZbcisyMTY+PjJdPWM7ZltjPj4yXT1mW3IrMTkyPj4yXX1yZXR1cm59ZnVu
Y3Rpb24gY2woYSl7YT1hfDA7dmFyIGM9MDtjPWZbYT4+Ml0mMztpZigoYlsoZlsoZlsoKGN8MCk9
PTM/YTphKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTU5Pj4wXXwwKT09NylhPTE7ZWxzZSBh
PShiWyhmWyhmWygoY3wwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTU5Pj4w
XXwwKT09NyYxO3JldHVybiBhfDB9ZnVuY3Rpb24gZGwoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0w
LGU9MCxnPTAsaD0wLGk9MDtoPWhsKGZbKChmW2M+PjJdJjN8MCk9PTM/YzpjKzQ4fDApKzQwPj4y
XXwwKXwwO2Q9aGwoZlsoKGZbYz4+Ml0mM3wwKT09Mj9jOmMrLTQ4fDApKzQwPj4yXXwwKXwwO2k9
KGZbKGZbaCsxNj4+Ml18MCkrMjMyPj4yXXwwKT4oZlsoZltkKzE2Pj4yXXwwKSsyMzI+PjJdfDAp
O2c9aT9oOmQ7aD1pP2Q6aDtkPWgrMTZ8MDtpPWcrMTZ8MDthOmRvIGlmKChmWyhmW2Q+PjJdfDAp
KzIxMj4+Ml18MCkhPShmWyhmW2k+PjJdfDApKzIxMj4+Ml18MCkpe2U9b2goaCxnKXwwO2lmKGV8
MCl7X2soYSxjLGUsMSk7YnJlYWt9aWYoKGZbKGZbZD4+Ml18MCkrMjMyPj4yXXwwKSE9KGZbKGZb
aT4+Ml18MCkrMjMyPj4yXXwwKSl7ZWwoYSxoLGcsYyk7YT0oZltjKzE2Pj4yXXwwKSsxNzJ8MDt3
aGlsZSgxKXthPWZbYT4+Ml18MDtpZighYSlicmVhayBhO2M9YSstNDh8MDtpZigoZlsoZlsoZlso
KGZbYT4+Ml0mM3wwKT09Mj9hOmMpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKT4oZlso
ZltpPj4yXXwwKSsyMzI+PjJdfDApKWJyZWFrIGE7YlsoZlthKzE2Pj4yXXwwKSsxMTI+PjBdPTU7
YT1mWyhmWyhmWygoZlthPj4yXSYzfDApPT0yP2E6YykrNDA+PjJdfDApKzE2Pj4yXXwwKSsxODA+
PjJdfDB9fX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gZWwoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7
Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2s9ZCsxNnwwO2U9ZltrPj4y
XXwwO2lmKCEoZltlKzk2Pj4yXXwwKSlqPS0xO2Vsc2Ugaj0oKGZbKGZbYysxNj4+Ml18MCkrMjMy
Pj4yXXwwKSsoZlsoZltiKzE2Pj4yXXwwKSsyMzI+PjJdfDApfDApLzJ8MDtpZihmW2UrMTcyPj4y
XXwwKXhhKDk5NjY4LDk5NjQ3LDg5LDk5NjkzKTtpPWMrMTZ8MDtoPWZbKGZbYisxNj4+Ml18MCkr
MjMyPj4yXXwwO3doaWxlKDEpe2c9aCsxfDA7ZT1mWyhmW2k+PjJdfDApKzIzMj4+Ml18MDtpZigo
aHwwKT49KGV8MCkpYnJlYWs7aWYoKGd8MCk8KGV8MCkpe2lmKChnfDApPT0oanwwKSllPWZsKGEs
ZCl8MDtlbHNlIGU9Z2woYSl8MDtmWyhmW2UrMTY+PjJdfDApKzIzMj4+Ml09Z31lbHNlIGU9YztU
aSh5aChiLGUsZCl8MCk7aD1nO2I9ZX1pZighKGZbKGZbaz4+Ml18MCkrMTcyPj4yXXwwKSl4YSg5
OTcwNCw5OTY0NywxMDMsOTk2OTMpO2Vsc2UgcmV0dXJufWZ1bmN0aW9uIGZsKGEsYyl7YT1hfDA7
Yz1jfDA7dmFyIGQ9MC4wLGU9MC4wLGc9MCxoPTAsaT0wO2g9YysxNnwwO2c9ZlsoZltoPj4yXXww
KSs5Nj4+Ml18MDtkPStwW2crMjQ+PjNdO2U9K3BbZyszMj4+M107Zz1EaChhKXwwO2M9ZysxNnww
O2ZbKGZbYz4+Ml18MCkrMTA0Pj4yXT1mWyhmW2g+PjJdfDApKzk2Pj4yXTtpPShveihnKXwwKSsx
NnwwO3BbKGZbYz4+Ml18MCkrODg+PjNdPSsoZlsoZltpPj4yXXwwKSsyNDg+PjJdfDApO2lmKCEo
YlsoZltoPj4yXXwwKSsxMTQ+PjBdfDApKXtoPShveihhKXwwKSsxNnwwO2g9KGZbKGZbaD4+Ml18
MCkrMTE2Pj4yXSYxfDApPT0wO2k9ZltjPj4yXXwwO3BbaSs4MD4+M109aD9lOmQ7cFtpKzk2Pj4z
XT1oP2Q6ZX1yZXR1cm4gZ3wwfWZ1bmN0aW9uIGdsKGEpe2E9YXwwO3ZhciBiPTA7Yj1EaChhKXww
OyRrKGEsYik7cmV0dXJuIGJ8MH1mdW5jdGlvbiBobChhKXthPWF8MDt2YXIgYz0wO2M9ZlthKzE2
Pj4yXXwwO2lmKChiW2MrMTU5Pj4wXXwwKT09NylhPWZbKGZbKGZbKGZbYysyMTI+PjJdfDApKzE2
Pj4yXXwwKSsyNjg+PjJdfDApKyhmW2MrMjMyPj4yXTw8Mik+PjJdfDA7ZWxzZSBhPSRMKGEpfDA7
cmV0dXJuIGF8MH1mdW5jdGlvbiBpbChhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wLGc9MCxo
PTAsaT0wLGo9MCxrPTAsbD0wLG09MDtrPXJnKGEpfDA7aj0keShhKXwwO3doaWxlKDEpe2lmKCFq
KWJyZWFrO2M9U3goayxqKXwwO2I9MDt3aGlsZSgxKXtpZighYylicmVhaztsPVR4KGssYyxqKXww
O2RvIGlmKCEoeHooYSxjKXwwKSl7aT0oZltjPj4yXSYzfDApPT0yP2M6YystNDh8MDttPShhbChi
LGkpfDApPT0wO2U9ZltpPj4yXSYzO2M9ZlsoKGV8MCk9PTM/aTppKzQ4fDApKzQwPj4yXXwwO2Q9
ZlsoZltjKzE2Pj4yXXwwKSsyMzI+PjJdfDA7ZT1mWygoZXwwKT09Mj9pOmkrLTQ4fDApKzQwPj4y
XXwwO2c9ZlsoZltlKzE2Pj4yXXwwKSsyMzI+PjJdfDA7aD0oZHwwKT09KGd8MCk7aWYoIW0pe2Zb
KGZbaSsxNj4+Ml18MCkrMTcyPj4yXT1oP2I6MDtjPWZbKGZbYisxNj4+Ml18MCkrMTcyPj4yXXww
O2lmKCFjKWJyZWFrO19rKGEsaSxjLDApO3ZoKGkpO2JyZWFrfWlmKCFoKWlmKChnfDApPihkfDAp
KXtqbChjLGUsaSk7Yj1pO2JyZWFrfWVsc2V7amwoZSxjLGkpO2I9aTticmVha31jPXFoKGMsZSl8
MDtpZighYyl7RWgoayxpKTtiPWk7YnJlYWt9aWYoKGl8MCkhPShjfDApPyh2aChpKSwoZlsoZltp
KzE2Pj4yXXwwKSsxNzI+PjJdfDApPT0wKTowKUdoKGksYyl9d2hpbGUoMCk7Yz1sfWo9YXooYSxq
KXwwfXJldHVybn1mdW5jdGlvbiBqbChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxl
PTA7ZT1rbChhKXwwO2Q9a2woYil8MDtsbChlLGQsYyxmWyhmW2MrMTY+PjJdfDApKzE3Mj4+Ml18
MCwoZXwwKT09KGF8MCkmKGR8MCk9PShifDApPzE6NSk7cmV0dXJufWZ1bmN0aW9uIGtsKGEpe2E9
YXwwO3ZhciBjPTAsZD0wLGU9MDtjPWZbYSsxNj4+Ml18MDtkPWZbYysyMTI+PjJdfDA7aWYoKGR8
MCkhPTA/KGU9ZltkKzE2Pj4yXXwwLChiW2UrMjcyPj4wXXwwKT09MCk6MClhPWZbKGZbZSsyNjg+
PjJdfDApKyhmW2MrMjMyPj4yXTw8Mik+PjJdfDA7cmV0dXJuIGF8MH1mdW5jdGlvbiBsbChhLGMs
ZSxnLGgpe2E9YXwwO2M9Y3wwO2U9ZXwwO2c9Z3wwO2g9aHwwO3ZhciBpPTAsaj0wLGs9MCxsPTAs
bT0wLG49MCxvPTA7bj1hKzE2fDA7az1mWyhmW24+PjJdfDApKzIzMj4+Ml18MDtvPWMrMTZ8MDtp
PWZbKGZbbz4+Ml18MCkrMjMyPj4yXXwwO2lmKChpfDApPD0oa3wwKSl4YSg5OTcyOSw5OTc1Nyw4
MSw5OTc2Nyk7bT1mW2c+PjJdJjM7aWYoISgoZlsoKG18MCk9PTM/ZzpnKzQ4fDApKzQwPj4yXXww
KT09KGF8MCk/KGZbKChtfDApPT0yP2c6ZystNDh8MCkrNDA+PjJdfDApPT0oY3wwKTowKSlsPTU7
YTpkbyBpZigobHwwKT09NSl7aWYoKGRbKGZbZysxNj4+Ml18MCkrMTY4Pj4xXXwwKT4xKXtmWyhm
W2UrMTY+PjJdfDApKzE3Mj4+Ml09MDtpZigoKGkta3wwKT09MT8oaj1vaChhLGMpfDAsanwwKTow
KT9GaihlLGopfDA6MCl7R2goZSxqKTtpZihiWyhmW24+PjJdfDApKzE1Nj4+MF18MClicmVhaztp
ZihiWyhmW28+PjJdfDApKzE1Nj4+MF18MClicmVhazt1aChlKTticmVha31tPWgmMjU1O2g9YTts
PWZbKGZbbj4+Ml18MCkrMjMyPj4yXXwwO3doaWxlKDEpe2k9ZlsoZltvPj4yXXwwKSsyMzI+PjJd
fDA7aWYoKGx8MCk+PShpfDApKWJyZWFrIGE7aWYoKGx8MCk8KGkrLTF8MCkpe2k9cmcoYSl8MDtr
PWcrLTQ4fDA7aT1tbChpLGZbKChmW2c+PjJdJjN8MCk9PTI/ZzprKSs0MD4+Ml18MCl8MDtqPWd9
ZWxzZXtpPWM7aj1nO2s9ZystNDh8MH1uPSh5aChoLGksZSl8MCkrMTZ8MDtiWyhmW24+PjJdfDAp
KzExMj4+MF09bTtuPShmW2crMTY+PjJdfDApKzE2OHwwO2Rbbj4+MV09KGRbbj4+MV18MCkrLTE8
PDE2Pj4xNjtoPWk7bD1sKzF8MDtnPWZbZlsoZlsoZlsoKGZbaj4+Ml0mM3wwKT09Mj9nOmspKzQw
Pj4yXXwwKSsxNj4+Ml18MCkrMTgwPj4yXT4+Ml18MH19ZG8gaWYoKGkta3wwKT09MSl7Zz1vaChh
LGMpfDA7aWYoZ3wwP0ZqKGUsZyl8MDowKXtmWyhmW2UrMTY+PjJdfDApKzE3Mj4+Ml09ZzttPWZb
ZysxNj4+Ml18MDtiW20rMTEyPj4wXT1oO209bSsxNjh8MDtkW20+PjFdPShkW20+PjFdfDApKzE8
PDE2Pj4xNjtpZihiWyhmW24+PjJdfDApKzE1Nj4+MF18MClicmVhaztpZihiWyhmW28+PjJdfDAp
KzE1Nj4+MF18MClicmVhazt1aChlKTticmVha31mWyhmW2UrMTY+PjJdfDApKzE3Mj4+Ml09MDtn
PXloKGEsYyxlKXwwO2JbKGZbZysxNj4+Ml18MCkrMTEyPj4wXT1ofXdoaWxlKDApO2k9ZlsoZltv
Pj4yXXwwKSsyMzI+PjJdfDA7aWYoKGktKGZbKGZbbj4+Ml18MCkrMjMyPj4yXXwwKXwwKT4xKXtp
ZigoZlsoKGZbZz4+Ml0mM3wwKT09Mz9nOmcrNDh8MCkrNDA+PjJdfDApPT0oYXwwKSlsPWk7ZWxz
ZXtuPWUrMTZ8MDtmWyhmW24+PjJdfDApKzE3Mj4+Ml09MDtsPXloKGEsZlsoKGZbZz4+Ml0mM3ww
KT09Mj9nOmcrLTQ4fDApKzQwPj4yXXwwLGUpfDA7ZlsoZltuPj4yXXwwKSsxNzI+PjJdPWw7dGgo
Zyk7Zz1sO2w9ZlsoZltvPj4yXXwwKSsyMzI+PjJdfDB9d2hpbGUoMSl7aT1mW2c+PjJdJjM7aj1m
WygoaXwwKT09Mj9nOmcrLTQ4fDApKzQwPj4yXXwwO2s9ZltqKzE2Pj4yXXwwO2lmKChmW2srMjMy
Pj4yXXwwKT09KGx8MCkpYnJlYWs7Zz1mW2ZbaysxODA+PjJdPj4yXXwwfWlmKChqfDApIT0oY3ww
KSl7ZT0oeWgoZlsoKGl8MCk9PTM/ZzpnKzQ4fDApKzQwPj4yXXwwLGMsZSl8MCkrMTZ8MDtiWyhm
W2U+PjJdfDApKzExMj4+MF09aDt0aChnKX19fXdoaWxlKDApO3JldHVybn1mdW5jdGlvbiBtbChh
LGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MDtjPWIrMTZ8MDtiPWZbYz4+Ml18MDtkPWZb
YisyMzI+PjJdfDA7bmwoYSxkLGZbYisyMzY+PjJdfDAsMik7Yj1EaChhKXwwO2M9ZltjPj4yXXww
O2U9ZltiKzE2Pj4yXXwwO3BbZSs4OD4+M109K3BbYys4OD4+M107cFtlKzk2Pj4zXT0rcFtjKzk2
Pj4zXTtmW2UrMjMyPj4yXT1mW2MrMjMyPj4yXTtjPShmW2MrMjM2Pj4yXXwwKSsxfDA7ZltlKzIz
Nj4+Ml09YztmWyhmWyhmWyhmW2ErMTY+PjJdfDApKzE5Nj4+Ml18MCkrKGQ8PDYpKzQ+PjJdfDAp
KyhjPDwyKT4+Ml09YjtyZXR1cm4gYnwwfWZ1bmN0aW9uIG5sKGEsYixjLGQpe2E9YXwwO2I9Ynww
O2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0wO2g9YSsxNnwwO2c9ZlsoZltoPj4y
XXwwKSsxOTY+PjJdfDA7aT1mW2crKGI8PDYpKzQ+PjJdfDA7aWYoKGR8MCk8MSl7Yz1jLWR8MDt3
aGlsZSgxKXtlPWMrMXwwO2E9ZltnKyhiPDw2KT4+Ml18MDtpZigoZXwwKT49KGF8MCkpYnJlYWs7
YT1mW2krKGU8PDIpPj4yXXwwO2c9YytkfDA7ZlsoZlthKzE2Pj4yXXwwKSsyMzY+PjJdPWc7Zltp
KyhnPDwyKT4+Ml09YTtjPWU7Zz1mWyhmW2g+PjJdfDApKzE5Nj4+Ml18MH1lPWQrLTF8MDtjPWUr
YXwwO3doaWxlKDEpe2lmKChjfDApPj0oYXwwKSlicmVhaztmW2krKGM8PDIpPj4yXT0wO2c9Zlso
ZltoPj4yXXwwKSsxOTY+PjJdfDA7Yz1jKzF8MDthPWZbZysoYjw8Nik+PjJdfDB9Zz1nKyhiPDw2
KXwwfWVsc2V7ZT1kKy0xfDA7YT1mW2crKGI8PDYpPj4yXXwwO3doaWxlKDEpe2E9YSstMXwwO2lm
KChhfDApPD0oY3wwKSlicmVhaztqPWZbaSsoYTw8Mik+PjJdfDA7Zz1lK2F8MDtmWyhmW2orMTY+
PjJdfDApKzIzNj4+Ml09ZztmW2krKGc8PDIpPj4yXT1qfWc9ZCtjfDA7YT1jO3doaWxlKDEpe2E9
YSsxfDA7aWYoKGF8MCk+PShnfDApKWJyZWFrO2ZbaSsoYTw8Mik+PjJdPTB9YT0oZlsoZltoPj4y
XXwwKSsxOTY+PjJdfDApKyhiPDw2KXwwO2c9YTthPWZbYT4+Ml18MH1mW2c+PjJdPWUrYTtyZXR1
cm59ZnVuY3Rpb24gb2woYSl7YT1hfDA7dmFyIGI9MDtibChhKTtiPWZbYSsxNj4+Ml18MDtmW2Ir
MjIwPj4yXT0xO2ZbZltiKzIxNj4+Ml0+PjJdPWZbYisxOTI+PjJdO1FpKGEpO3ZpKGEsMCk7cGwo
YSk7aWwoYSk7cWwoYSk7cmV0dXJufWZ1bmN0aW9uIHBsKGEpe2E9YXwwO3ZhciBjPTAsZT0wLGc9
MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDtrPXJnKGEpfDA7bD1hKzE2fDA7ZT1mW2w+PjJdfDA7
aj1kW2UrMjM2Pj4xXXwwO2M9ajw8MTY+PjE2O209aysxNnwwO2lmKGo8PDE2Pj4xNj4wKWJbKGZb
KGZbbT4+Ml18MCkrMTk2Pj4yXXwwKSsoYystMTw8NikrNDk+PjBdPTA7aj1jO3doaWxlKDEpe2lm
KChqfDApPihkW2UrMjM4Pj4xXXwwKSlicmVhaztpPWZbKGZbKGZbKGZbZSsyNjg+PjJdfDApKyhq
PDwyKT4+Ml18MCkrMTY+PjJdfDApKzIzNj4+Ml18MDtubChrLGosaSxmWyhmW2UrMTk2Pj4yXXww
KSsoajw8Nik+PjJdfDApO2c9MDtoPWk7d2hpbGUoMSl7ZT1mW2w+PjJdfDA7Yz1mW2UrMTk2Pj4y
XXwwO2lmKChnfDApPj0oZltjKyhqPDw2KT4+Ml18MCkpYnJlYWs7Yz1mWyhmW2MrKGo8PDYpKzQ+
PjJdfDApKyhnPDwyKT4+Ml18MDtmWyhmWyhmWyhmW20+PjJdfDApKzE5Nj4+Ml18MCkrKGo8PDYp
KzQ+PjJdfDApKyhoPDwyKT4+Ml09YztlPWZbYysxNj4+Ml18MDtmW2UrMjM2Pj4yXT1oO2lmKChi
W2UrMTU2Pj4wXXwwKT09MSl7ZT1veihrKXwwO2ZbYysyND4+Ml09ZX1CaChhLGMpO3poKGssYyk7
ZT0oZlttPj4yXXwwKSsyMzJ8MDtmW2U+PjJdPShmW2U+PjJdfDApKzE7Zz1nKzF8MDtoPWgrMXww
fWg9ZlsoZlttPj4yXXwwKSsxOTY+PjJdfDA7ZltjKyhqPDw2KSs0Pj4yXT0oZltoKyhqPDw2KSs0
Pj4yXXwwKSsoaTw8Mik7YltoKyhqPDw2KSs0OT4+MF09MDtqPWorMXwwfWM9ZlttPj4yXXwwO2lm
KChqfDApPChkW2MrMjM4Pj4xXXwwKSliWyhmW2MrMTk2Pj4yXXwwKSsoajw8NikrNDk+PjBdPTA7
YltlKzI3Mj4+MF09MTtyZXR1cm59ZnVuY3Rpb24gcWwoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZT0w
LGc9MCxoPTAsaT0wO2k9YSsxNnwwO2I9ZltpPj4yXXwwO2g9ZFtiKzIzNj4+MV18MDt3aGlsZSgx
KXtpZigoaHwwKT4oZFtiKzIzOD4+MV18MCkpYnJlYWs7ZT1mWyhmW2IrMjY4Pj4yXXwwKSsoaDw8
Mik+PjJdfDA7Zz1lKzE2fDA7d2hpbGUoMSl7Yj1mW2c+PjJdfDA7Yz1mW2ZbYisxODA+PjJdPj4y
XXwwO2lmKCFjKWJyZWFrO3RoKGMpfXdoaWxlKDEpe2I9ZltmW2IrMTcyPj4yXT4+Ml18MDtpZigh
YilicmVhazt0aChiKTtiPWZbZz4+Ml18MH1CaChyZyhhKXwwLGUpO2ZbKGZbKGZbaT4+Ml18MCkr
MjY4Pj4yXXwwKSsoaDw8Mik+PjJdPTA7aD1oKzF8MDtiPWZbaT4+Ml18MH1yZXR1cm59ZnVuY3Rp
b24gcmwoYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09
MCxuPTA7bj10O3Q9dCsxNnwwO209bjtlPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWUpYnJlYWs7ZD1l
KzE2fDA7Yz1mW2Q+PjJdfDA7aWYoKGJbYysxNTk+PjBdfDApPT03KXtiTShlKTtjPWZbZD4+Ml18
MH1mW2MrMjEyPj4yXT0wO2U9YXooYSxlKXwwfWw9YSsxNnwwO2s9MTt3aGlsZSgxKXtjPWZbbD4+
Ml18MDtpZigoa3wwKT4oZltjKzE4MD4+Ml18MCkpYnJlYWs7aD1mWyhmW2MrMTg0Pj4yXXwwKSso
azw8Mik+PjJdfDA7aT1oKzE2fDA7Yz0keShoKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO2o9YXoo
aCxjKXwwO2Q9YysxNnwwO2E6ZG8gaWYoIShiWyhmW2Q+PjJdfDApKzE1OT4+MF18MCkpe2NNKGMs
ZlsoZltpPj4yXXwwKSsyNjQ+PjJdfDApO2c9ZltkPj4yXXwwO2ZbZysyMTI+PjJdPWg7YltnKzE1
OT4+MF09NztnPU54KGgsYyl8MDt3aGlsZSgxKXtpZighZylicmVhayBhO2M9ZlsoZltnKzE2Pj4y
XXwwKSsxNzI+PjJdfDA7YjpkbyBpZihjfDApd2hpbGUoMSl7aWYoIWMpYnJlYWsgYjtkPWMrLTQ4
fDA7ZT1mWyhmWygoZltjPj4yXSYzfDApPT0yP2M6ZCkrNDA+PjJdfDApKzE2Pj4yXXwwO2lmKChi
W2UrMTU2Pj4wXXwwKSE9MSlicmVhayBiO2ZbZSsyMTI+PjJdPWg7Yz1mW2ZbKGZbKGZbKChmW2M+
PjJdJjN8MCk9PTI/YzpkKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE4MD4+Ml0+PjJdfDB9d2hpbGUo
MCk7Zz1QeChoLGcpfDB9fWVsc2V7ZT1BeShjKXwwO2c9QXkoYSl8MDtmW20+PjJdPWU7ZlttKzQ+
PjJdPWc7WXcoMCw5OTc3NixtKXwwO216KGgsYyl8MH13aGlsZSgwKTtjPWp9az1rKzF8MH10PW47
cmV0dXJufWZ1bmN0aW9uIHNsKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxq
PTAsaz0wO2s9YysxNnwwO2c9REgoKGRbKGZbaz4+Ml18MCkrMjM4Pj4xXTw8MikrOHwwKXwwO2U9
ZltrPj4yXXwwO2ZbZSsyNjg+PjJdPWc7Zz0wO2g9ZFtlKzIzNj4+MV18MDt3aGlsZSgxKXtpZigo
aHwwKT4oZFtlKzIzOD4+MV18MCkpYnJlYWs7ZT1EaChhKXwwO2ZbKGZbKGZbaz4+Ml18MCkrMjY4
Pj4yXXwwKSsoaDw8Mik+PjJdPWU7aj1mW2UrMTY+PjJdfDA7ZltqKzIzMj4+Ml09aDtiW2orMTU5
Pj4wXT03O2ZbaisyMTI+PjJdPWM7aWYoZ3wwKXtqPSh5aChnLGUsMCl8MCkrMTZ8MDtqPShmW2o+
PjJdfDApKzE1NHwwO2Rbaj4+MV09KGRbaj4+MV18MCkqMWUzfWc9ZTtoPWgrMXwwO2U9ZltrPj4y
XXwwfWo9JHkoYyl8MDt3aGlsZSgxKXtlPWZbaz4+Ml18MDtpZighailicmVhaztoPShmWyhmW2Ur
MjY4Pj4yXXwwKSsoZlsoZltqKzE2Pj4yXXwwKSsyMzI+PjJdPDwyKT4+Ml18MCkrMTZ8MDtlPShm
W2g+PjJdfDApKzIxNnwwO2ZbZT4+Ml09KGZbZT4+Ml18MCkrMTtlPU54KGMsail8MDt3aGlsZSgx
KXtpZighZSlicmVhaztpPWZbZT4+Ml18MDthPWUrLTQ4fDA7Zz1mWyhmWyhmWygoaSYzfDApPT0z
P2U6ZSs0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MDt3aGlsZSgxKXtpZigoZ3ww
KT49KGZbKGZbKGZbKChpJjN8MCk9PTI/ZTphKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18
MCkpYnJlYWs7aT0oZlsoZltmWyhmW2g+PjJdfDApKzE4MD4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsx
Njh8MDtkW2k+PjFdPShkW2k+PjFdfDApKzE8PDE2Pj4xNjtnPWcrMXwwO2k9ZltlPj4yXXwwfWU9
UHgoYyxlKXwwfWo9YXooYyxqKXwwfWE9ZFtlKzIzOD4+MV18MDtpPWUrMjY4fDA7ZT1kW2UrMjM2
Pj4xXXwwO3doaWxlKDEpe2lmKChlfDApPihhfDApKWJyZWFrO2c9KGZbKGZbKGZbaT4+Ml18MCkr
KGU8PDIpPj4yXXwwKSsxNj4+Ml18MCkrMjE2fDA7aD1mW2c+PjJdfDA7aWYoKGh8MCk+MSlmW2c+
PjJdPWgrLTE7ZT1lKzF8MH1yZXR1cm59ZnVuY3Rpb24gdGwoYSxjLGUsZyl7YT1hfDA7Yz1jfDA7
ZT1lfDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0wLGs9MDtrPShmWyhmW2MrMTY+PjJdfDApKzIxMj4+
Ml18MCkrMTZ8MDtjPWZbaz4+Ml18MDtqPWUrMXwwO2lmKChqfDApIT0oYltjKzI3Mz4+MF18MCkp
e2k9ZFtjKzIzNj4+MV18MDt3aGlsZSgxKXtoPWRbYysyMzg+PjFdfDA7aWYoKGl8MCk+KGg8PDE2
Pj4xNnwwKSlicmVhaztLaShhLGZbKGZbYysyNjg+PjJdfDApKyhpPDwyKT4+Ml18MCk7aT1pKzF8
MDtjPWZbaz4+Ml18MH1pPWRbYysyMzY+PjFdfDA7d2hpbGUoMSl7aWYoKGl8MCk+KGg8PDE2Pj4x
NnwwKSlicmVhaztMaShnLGZbKGZbYysyNjg+PjJdfDApKyhpPDwyKT4+Ml18MCxlKTthPWZbaz4+
Ml18MDtpPWkrMXwwO2g9ZFthKzIzOD4+MV18MDtjPWF9YltjKzI3Mz4+MF09an1yZXR1cm59ZnVu
Y3Rpb24gdWwoYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTA7aD0keShhKXwwO3doaWxl
KDEpe2lmKCFoKWJyZWFrO2ZbKGZbaCsxNj4+Ml18MCkrMjEyPj4yXT0wO2c9TngoYSxoKXwwO3do
aWxlKDEpe2lmKCFnKWJyZWFrO2M9ZlsoZltnKzE2Pj4yXXwwKSsxNzI+PjJdfDA7YTpkbyBpZihj
fDApd2hpbGUoMSl7aWYoIWMpYnJlYWsgYTtkPWMrLTQ4fDA7ZT1mWyhmWygoZltjPj4yXSYzfDAp
PT0yP2M6ZCkrNDA+PjJdfDApKzE2Pj4yXXwwO2lmKChiW2UrMTU2Pj4wXXwwKSE9MSlicmVhayBh
O2ZbZSsyMTI+PjJdPTA7Yz1mW2ZbKGZbKGZbKChmW2M+PjJdJjN8MCk9PTI/YzpkKSs0MD4+Ml18
MCkrMTY+PjJdfDApKzE4MD4+Ml0+PjJdfDB9d2hpbGUoMCk7Zz1QeChhLGcpfDB9aD1heihhLGgp
fDB9dmwoYSk7cmV0dXJufWZ1bmN0aW9uIHZsKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAs
aD0wLGk9MDtkPWErMTZ8MDtjPTE7d2hpbGUoMSl7ZT1mW2Q+PjJdfDA7aWYoKGN8MCk+KGZbZSsx
ODA+PjJdfDApKWJyZWFrO3ZsKGZbKGZbZSsxODQ+PjJdfDApKyhjPDwyKT4+Ml18MCk7Yz1jKzF8
MH1pPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWkpYnJlYWs7Yz0oZltpKzE2Pj4yXXwwKSsyMTJ8MDtp
ZighKGZbYz4+Ml18MCkpZltjPj4yXT1hO2g9TngoYSxpKXwwO3doaWxlKDEpe2lmKCFoKWJyZWFr
O2M9ZlsoZltoKzE2Pj4yXXwwKSsxNzI+PjJdfDA7YTpkbyBpZihjfDApd2hpbGUoMSl7aWYoIWMp
YnJlYWsgYTtkPWZbYz4+Ml0mMztnPWMrLTQ4fDA7ZT1mWyhmWygoZHwwKT09Mj9jOmcpKzQwPj4y
XXwwKSsxNj4+Ml18MDtpZigoYltlKzE1Nj4+MF18MCkhPTEpYnJlYWsgYTtlPWUrMjEyfDA7aWYo
IShmW2U+PjJdfDApKXtmW2U+PjJdPWE7ZD1mW2M+PjJdJjN9Yz1mW2ZbKGZbKGZbKChkfDApPT0y
P2M6ZykrNDA+PjJdfDApKzE2Pj4yXXwwKSsxODA+PjJdPj4yXXwwfXdoaWxlKDApO2g9UHgoYSxo
KXwwfWk9YXooYSxpKXwwfXJldHVybn1mdW5jdGlvbiB3bChhKXthPWF8MDt2YXIgYj0wLGM9MCxk
PTA7ZD1DTShhKXwwO2M9JHkoYSl8MDt3aGlsZSgxKXtpZighYylicmVhaztiPU54KGEsYyl8MDt3
aGlsZSgxKXtpZighYilicmVhazt4bChiLGQpO2I9UHgoYSxiKXwwfWM9YXooYSxjKXwwfUh3KGQp
fDA7cmV0dXJufWZ1bmN0aW9uIHhsKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9
MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx1PTAsdj0w
LHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAs
Sz0wLEw9MCxNPTA7TT10O3Q9dCszMjB8MDtIPU0rMjk2fDA7Rz1NKzI4MHwwO3g9TSsxMzZ8MDt3
PU0rMTIwfDA7bT1NKzEwNHwwO2k9TSs4OHwwO2U9TSs4MHwwO0U9TTt6PU0rNjR8MDtqPU0rMjY0
fDA7az1NKzI0OHwwO2w9TSsyMzJ8MDtuPU0rMjE2fDA7QT1NKzIwMHwwO0I9TSsxODR8MDt5PU0r
MTY4fDA7RD1NKzE1MnwwO2c9eWwoR3goYSw5OTgzMCl8MCxiKXwwO3A9eWwoR3goYSw5OTgzNil8
MCxiKXwwO3E9KHB8MCkhPTA7Yj0oZ3wwKSE9MDtkbyBpZihifHE/KEw9YSsxNnwwLGQ9ZlsoZltM
Pj4yXXwwKSs4Pj4yXXwwLGR8MCk6MCl7aWYoKGZbZCs0Pj4yXXwwKT4xKXtLPUF5KGZbKChmW2E+
PjJdJjN8MCk9PTM/YTphKzQ4fDApKzQwPj4yXXwwKXwwO0w9QXkoZlsoKGZbYT4+Ml0mM3wwKT09
Mj9hOmErLTQ4fDApKzQwPj4yXXwwKXwwO2ZbZT4+Ml09SztmW2UrND4+Ml09TDtZdygwLDk5ODQy
LGUpfDA7YnJlYWt9ST1mW2Q+PjJdfDA7ZD1mW0krND4+Ml18MDtvPWZbYT4+Ml0mMztyPWErLTQ4
fDA7cz1mWygob3wwKT09Mj9hOnIpKzQwPj4yXXwwO3U9YSs0OHwwO289ZlsoKG98MCk9PTM/YTp1
KSs0MD4+Ml18MDtKPUVIKDQ4KXwwO3Y9SSsxMnwwO2ZbSisxMj4+Ml09Zlt2Pj4yXTtDPUkrOHww
O2ZbSis4Pj4yXT1mW0M+PjJdO2RvIGlmKGIpe2g9KGZbZysxNj4+Ml18MCkrMTZ8MDtnPShmW3Mr
MTY+PjJdfDApKzE2fDA7ZltIPj4yXT1mW2c+PjJdO2ZbSCs0Pj4yXT1mW2crND4+Ml07ZltIKzg+
PjJdPWZbZys4Pj4yXTtmW0grMTI+PjJdPWZbZysxMj4+Ml07aWYoISh6bChILGgpfDApKXtuPUF5
KGZbKChmW2E+PjJdJjN8MCk9PTM/YTp1KSs0MD4+Ml18MCl8MDtGPUF5KGZbKChmW2E+PjJdJjN8
MCk9PTI/YTpyKSs0MD4+Ml18MCl8MDtLPUd4KGEsOTk4MzApfDA7ZltpPj4yXT1uO2ZbaSs0Pj4y
XT1GO2ZbaSs4Pj4yXT1LO1l3KDAsOTk4ODMsaSl8MDtLPTI2O2JyZWFrfWI9ZltJPj4yXXwwO2Zb
SD4+Ml09ZltiPj4yXTtmW0grND4+Ml09ZltiKzQ+PjJdO2ZbSCs4Pj4yXT1mW2IrOD4+Ml07ZltI
KzEyPj4yXT1mW2IrMTI+PjJdO2lmKHpsKEgsaCl8MCl7Rj0oZltvKzE2Pj4yXXwwKSsxNnwwO2Zb
SD4+Ml09ZltGPj4yXTtmW0grND4+Ml09ZltGKzQ+PjJdO2ZbSCs4Pj4yXT1mW0YrOD4+Ml07ZltI
KzEyPj4yXT1mW0YrMTI+PjJdO2lmKHpsKEgsaCl8MCl7bj1BeShmWygoZlthPj4yXSYzfDApPT0z
P2E6dSkrNDA+PjJdfDApfDA7Rj1BeShmWygoZlthPj4yXSYzfDApPT0yP2E6cikrNDA+PjJdfDAp
fDA7Sz1HeChhLDk5ODMwKXwwO2ZbbT4+Ml09bjtmW20rND4+Ml09RjtmW20rOD4+Ml09SztZdygw
LDk5OTI2LG0pfDA7Sz0yNjticmVha31pZighKGZbQz4+Ml18MCkpeGEoOTk5NjgsOTk5NzksMzY5
LDk5OTkwKTtuPUkrMTZ8MDtmW0c+PjJdPWZbYj4+Ml07ZltHKzQ+PjJdPWZbYis0Pj4yXTtmW0cr
OD4+Ml09ZltiKzg+PjJdO2ZbRysxMj4+Ml09ZltiKzEyPj4yXTtmW0g+PjJdPWZbbj4+Ml07ZltI
KzQ+PjJdPWZbbis0Pj4yXTtmW0grOD4+Ml09ZltuKzg+PjJdO2ZbSCsxMj4+Ml09ZltuKzEyPj4y
XTtBbCh6LEcsSCxoKTtGPShmW0k+PjJdfDApKzQ4fDA7ZltGPj4yXT1mW3o+PjJdO2ZbRis0Pj4y
XT1mW3orND4+Ml07ZltGKzg+PjJdPWZbeis4Pj4yXTtmW0YrMTI+PjJdPWZbeisxMj4+Ml07Rj0o
ZltJPj4yXXwwKSsxNnwwO2ZbRz4+Ml09Zlt6Pj4yXTtmW0crND4+Ml09Zlt6KzQ+PjJdO2ZbRys4
Pj4yXT1mW3orOD4+Ml07ZltHKzEyPj4yXT1mW3orMTI+PjJdO2ZbSD4+Ml09ZltuPj4yXTtmW0gr
ND4+Ml09ZltuKzQ+PjJdO2ZbSCs4Pj4yXT1mW24rOD4+Ml07ZltIKzEyPj4yXT1mW24rMTI+PjJd
O0JsKGosRyxIKTtmW0Y+PjJdPWZbaj4+Ml07ZltGKzQ+PjJdPWZbais0Pj4yXTtmW0YrOD4+Ml09
ZltqKzg+PjJdO2ZbRisxMj4+Ml09ZltqKzEyPj4yXTtGPWZbST4+Ml18MDtiPUYrMTZ8MDtmW0c+
PjJdPWZbYj4+Ml07ZltHKzQ+PjJdPWZbYis0Pj4yXTtmW0crOD4+Ml09ZltiKzg+PjJdO2ZbRysx
Mj4+Ml09ZltiKzEyPj4yXTtmW0g+PjJdPWZbbj4+Ml07ZltIKzQ+PjJdPWZbbis0Pj4yXTtmW0gr
OD4+Ml09ZltuKzg+PjJdO2ZbSCsxMj4+Ml09ZltuKzEyPj4yXTtCbChrLEcsSCk7ZltGPj4yXT1m
W2s+PjJdO2ZbRis0Pj4yXT1mW2srND4+Ml07ZltGKzg+PjJdPWZbays4Pj4yXTtmW0YrMTI+PjJd
PWZbaysxMj4+Ml07Rj1mW0k+PjJdfDA7Yj1GKzMyfDA7Rj1GKzE2fDA7ZltHPj4yXT1mW0Y+PjJd
O2ZbRys0Pj4yXT1mW0YrND4+Ml07ZltHKzg+PjJdPWZbRis4Pj4yXTtmW0crMTI+PjJdPWZbRisx
Mj4+Ml07ZltIPj4yXT1mW3o+PjJdO2ZbSCs0Pj4yXT1mW3orND4+Ml07ZltIKzg+PjJdPWZbeis4
Pj4yXTtmW0grMTI+PjJdPWZbeisxMj4+Ml07QmwobCxHLEgpO2ZbYj4+Ml09ZltsPj4yXTtmW2Ir
ND4+Ml09ZltsKzQ+PjJdO2ZbYis4Pj4yXT1mW2wrOD4+Ml07ZltiKzEyPj4yXT1mW2wrMTI+PjJd
O2I9Zlt2Pj4yXXwwO2lmKCFiKXtGPTM7YnJlYWt9Rj0oT0UoYSxmW0k+PjJdfDAsMCwwLEosYil8
MCkrM3wwO2JyZWFrfWQ9ZCstMXwwO2I9MDt3aGlsZSgxKXtpZigoYnwwKT49KGR8MCkpYnJlYWs7
aWYoQ2woKGZbST4+Ml18MCkrKGI8PDQpfDAsaCl8MClicmVhaztiPWIrM3wwfWU9Zlt2Pj4yXXww
O2c9KGV8MCkhPTA7aWYoKGJ8MCk9PShkfDApKWlmKGcpe0Y9SiszMnwwO2w9SSszMnwwO209KGZb
ST4+Ml18MCkrKGQ8PDQpfDA7ZltHPj4yXT1mW2w+PjJdO2ZbRys0Pj4yXT1mW2wrND4+Ml07ZltH
Kzg+PjJdPWZbbCs4Pj4yXTtmW0crMTI+PjJdPWZbbCsxMj4+Ml07ZltIPj4yXT1mW20+PjJdO2Zb
SCs0Pj4yXT1mW20rND4+Ml07ZltIKzg+PjJdPWZbbSs4Pj4yXTtmW0grMTI+PjJdPWZbbSsxMj4+
Ml07QWwobixHLEgsaCk7ZltGPj4yXT1mW24+PjJdO2ZbRis0Pj4yXT1mW24rND4+Ml07ZltGKzg+
PjJdPWZbbis4Pj4yXTtmW0YrMTI+PjJdPWZbbisxMj4+Ml07Rj1kO2JyZWFrfWVsc2UgeGEoMTAw
MDA3LDk5OTc5LDM4Nyw5OTk5MCk7ZWxzZXtpZihnKWI9T0UoYSxmW0k+PjJdfDAsMCxiLEosZSl8
MDtGPWIrM3wwO2JyZWFrfX1lbHNlIEs9MjY7d2hpbGUoMCk7aWYoKEt8MCk9PTI2KXtiPWQrLTF8
MDtpZighKGZbdj4+Ml18MCkpRj1iO2Vsc2V7Rj1KKzMyfDA7bj1JKzMyfDA7ZltGPj4yXT1mW24+
PjJdO2ZbRis0Pj4yXT1mW24rND4+Ml07ZltGKzg+PjJdPWZbbis4Pj4yXTtmW0YrMTI+PjJdPWZb
bisxMj4+Ml07Rj1ifX1kbyBpZihxKXtlPShmW3ArMTY+PjJdfDApKzE2fDA7cT0oZltvKzE2Pj4y
XXwwKSsxNnwwO2ZbSD4+Ml09ZltxPj4yXTtmW0grND4+Ml09ZltxKzQ+PjJdO2ZbSCs4Pj4yXT1m
W3ErOD4+Ml07ZltIKzEyPj4yXT1mW3ErMTI+PjJdO2lmKCEoemwoSCxlKXwwKSl7Rz1BeShmWygo
ZlthPj4yXSYzfDApPT0zP2E6dSkrNDA+PjJdfDApfDA7SD1BeShmWygoZlthPj4yXSYzfDApPT0y
P2E6cikrNDA+PjJdfDApfDA7Sz1HeChhLDk5ODM2KXwwO2Zbdz4+Ml09RztmW3crND4+Ml09SDtm
W3crOD4+Ml09SztZdygwLDEwMDAxOCx3KXwwO0s9NTQ7YnJlYWt9Yj0oZltJPj4yXXwwKSsoRjw8
NCl8MDtmW0g+PjJdPWZbYj4+Ml07ZltIKzQ+PjJdPWZbYis0Pj4yXTtmW0grOD4+Ml09ZltiKzg+
PjJdO2ZbSCsxMj4+Ml09ZltiKzEyPj4yXTtpZih6bChILGUpfDApe0U9KGZbcysxNj4+Ml18MCkr
MTZ8MDtmW0g+PjJdPWZbRT4+Ml07ZltIKzQ+PjJdPWZbRSs0Pj4yXTtmW0grOD4+Ml09ZltFKzg+
PjJdO2ZbSCsxMj4+Ml09ZltFKzEyPj4yXTtpZih6bChILGUpfDApe0c9QXkoZlsoKGZbYT4+Ml0m
M3wwKT09Mz9hOnUpKzQwPj4yXXwwKXwwO0g9QXkoZlsoKGZbYT4+Ml0mM3wwKT09Mj9hOnIpKzQw
Pj4yXXwwKXwwO0s9R3goYSw5OTgzNil8MDtmW3g+PjJdPUc7Zlt4KzQ+PjJdPUg7Zlt4Kzg+PjJd
PUs7WXcoMCwxMDAwNjEseCl8MDtLPTU0O2JyZWFrfWlmKCEoZlt2Pj4yXXwwKSl4YSgxMDAwMDcs
OTk5NzksNDI5LDk5OTkwKTt4PUorMzJ8MDtmW0c+PjJdPWZbYj4+Ml07ZltHKzQ+PjJdPWZbYis0
Pj4yXTtmW0crOD4+Ml09ZltiKzg+PjJdO2ZbRysxMj4+Ml09ZltiKzEyPj4yXTtmW0g+PjJdPWZb
eD4+Ml07ZltIKzQ+PjJdPWZbeCs0Pj4yXTtmW0grOD4+Ml09Zlt4Kzg+PjJdO2ZbSCsxMj4+Ml09
Zlt4KzEyPj4yXTtBbCh6LEcsSCxlKTtjPUYrLTN8MDtFPShmW0k+PjJdfDApKyhjPDw0KXwwO2Zb
RT4+Ml09Zlt6Pj4yXTtmW0UrND4+Ml09Zlt6KzQ+PjJdO2ZbRSs4Pj4yXT1mW3orOD4+Ml07ZltF
KzEyPj4yXT1mW3orMTI+PjJdO0U9RistMXwwO2I9KGZbST4+Ml18MCkrKEU8PDQpfDA7ZltHPj4y
XT1mW3o+PjJdO2ZbRys0Pj4yXT1mW3orND4+Ml07ZltHKzg+PjJdPWZbeis4Pj4yXTtmW0crMTI+
PjJdPWZbeisxMj4+Ml07ZltIPj4yXT1mW3g+PjJdO2ZbSCs0Pj4yXT1mW3grND4+Ml07ZltIKzg+
PjJdPWZbeCs4Pj4yXTtmW0grMTI+PjJdPWZbeCsxMj4+Ml07QmwoQSxHLEgpO2ZbYj4+Ml09ZltB
Pj4yXTtmW2IrND4+Ml09ZltBKzQ+PjJdO2ZbYis4Pj4yXT1mW0ErOD4+Ml07ZltiKzEyPj4yXT1m
W0ErMTI+PjJdO2I9ZltJPj4yXXwwO0Q9YisoRjw8NCl8MDtiPWIrKEU8PDQpfDA7ZltHPj4yXT1m
W2I+PjJdO2ZbRys0Pj4yXT1mW2IrND4+Ml07ZltHKzg+PjJdPWZbYis4Pj4yXTtmW0crMTI+PjJd
PWZbYisxMj4+Ml07ZltIPj4yXT1mW3g+PjJdO2ZbSCs0Pj4yXT1mW3grND4+Ml07ZltIKzg+PjJd
PWZbeCs4Pj4yXTtmW0grMTI+PjJdPWZbeCsxMj4+Ml07QmwoQixHLEgpO2ZbRD4+Ml09ZltCPj4y
XTtmW0QrND4+Ml09ZltCKzQ+PjJdO2ZbRCs4Pj4yXT1mW0IrOD4+Ml07ZltEKzEyPj4yXT1mW0Ir
MTI+PjJdO0Q9ZltJPj4yXXwwO2I9RCsoRistMjw8NCl8MDtFPUQrKEU8PDQpfDA7ZltHPj4yXT1m
W0U+PjJdO2ZbRys0Pj4yXT1mW0UrND4+Ml07ZltHKzg+PjJdPWZbRSs4Pj4yXTtmW0crMTI+PjJd
PWZbRSsxMj4+Ml07ZltIPj4yXT1mW3o+PjJdO2ZbSCs0Pj4yXT1mW3orND4+Ml07ZltIKzg+PjJd
PWZbeis4Pj4yXTtmW0grMTI+PjJdPWZbeisxMj4+Ml07QmwoeSxHLEgpO2ZbYj4+Ml09Zlt5Pj4y
XTtmW2IrND4+Ml09Zlt5KzQ+PjJdO2ZbYis4Pj4yXT1mW3krOD4+Ml07ZltiKzEyPj4yXT1mW3kr
MTI+PjJdO2I9ZltDPj4yXXwwO2lmKCFiKWJyZWFrO2M9UUUoYSxmW0k+PjJdfDAsYyxjLEosYil8
MDticmVha31kPUY7d2hpbGUoMSl7aWYoKGR8MCk8PTApYnJlYWs7Yj0wO3doaWxlKDEpe2lmKChi
fDApPT00KWJyZWFrO0I9RSsoYjw8NCl8MDtBPShmW0k+PjJdfDApKyhkLWI8PDQpfDA7ZltCPj4y
XT1mW0E+PjJdO2ZbQis0Pj4yXT1mW0ErND4+Ml07ZltCKzg+PjJdPWZbQSs4Pj4yXTtmW0IrMTI+
PjJdPWZbQSsxMj4+Ml07Yj1iKzF8MH1pZihDbChFLGUpfDApe0s9NDQ7YnJlYWt9ZD1kKy0zfDB9
YTpkbyBpZigoS3wwKT09NDQpe2I9MDt3aGlsZSgxKXtpZigoYnwwKT09NClicmVhayBhO0I9KGZb
ST4+Ml18MCkrKGQtYjw8NCl8MDtBPUUrKGI8PDQpfDA7ZltCPj4yXT1mW0E+PjJdO2ZbQis0Pj4y
XT1mW0ErND4+Ml07ZltCKzg+PjJdPWZbQSs4Pj4yXTtmW0IrMTI+PjJdPWZbQSsxMj4+Ml07Yj1i
KzF8MH19d2hpbGUoMCk7aWYoZHwwKXtjPWQrLTN8MDtiPWZbQz4+Ml18MDtpZighYilicmVhaztj
PVFFKGEsZltJPj4yXXwwLGMsRistM3wwLEosYil8MDticmVha31pZighKGZbQz4+Ml18MCkpeGEo
OTk5NjgsOTk5NzksNDUyLDk5OTkwKTtlbHNle2M9SisxNnwwO0U9SSsxNnwwO2E9ZltJPj4yXXww
O2ZbRz4+Ml09ZltFPj4yXTtmW0crND4+Ml09ZltFKzQ+PjJdO2ZbRys4Pj4yXT1mW0UrOD4+Ml07
ZltHKzEyPj4yXT1mW0UrMTI+PjJdO2ZbSD4+Ml09ZlthPj4yXTtmW0grND4+Ml09ZlthKzQ+PjJd
O2ZbSCs4Pj4yXT1mW2ErOD4+Ml07ZltIKzEyPj4yXT1mW2ErMTI+PjJdO0FsKEQsRyxILGUpO2Zb
Yz4+Ml09ZltEPj4yXTtmW2MrND4+Ml09ZltEKzQ+PjJdO2ZbYys4Pj4yXT1mW0QrOD4+Ml07Zltj
KzEyPj4yXT1mW0QrMTI+PjJdO2M9MDticmVha319ZWxzZSBLPTU0O3doaWxlKDApO2lmKChLfDAp
PT01NClpZighKGZbQz4+Ml18MCkpYz0wO2Vsc2V7Yz1KKzE2fDA7Sz1JKzE2fDA7ZltjPj4yXT1m
W0s+PjJdO2ZbYys0Pj4yXT1mW0srND4+Ml07ZltjKzg+PjJdPWZbSys4Pj4yXTtmW2MrMTI+PjJd
PWZbSysxMj4+Ml07Yz0wfWI9Ri1jKzF8MDtkPUorNHwwO2ZbZD4+Ml09YjtiPUVIKGI8PDQpfDA7
ZltKPj4yXT1iO2I9MDt3aGlsZSgxKXtpZigoYnwwKT49KGZbZD4+Ml18MCkpYnJlYWs7Sz0oZltK
Pj4yXXwwKSsoYjw8NCl8MDthPShmW0k+PjJdfDApKyhjPDw0KXwwO2ZbSz4+Ml09ZlthPj4yXTtm
W0srND4+Ml09ZlthKzQ+PjJdO2ZbSys4Pj4yXT1mW2ErOD4+Ml07ZltLKzEyPj4yXT1mW2ErMTI+
PjJdO2M9YysxfDA7Yj1iKzF8MH1NXyhmW0k+PjJdfDApO01fKEkpO2ZbZlsoZltMPj4yXXwwKSs4
Pj4yXT4+Ml09Sn13aGlsZSgwKTt0PU07cmV0dXJufWZ1bmN0aW9uIHlsKGEsYyl7YT1hfDA7Yz1j
fDA7dmFyIGQ9MCxlPTA7ZT10O3Q9dCsxNnwwO2Q9ZTtpZigoYXwwKSE9MD8oYlthPj4wXXwwKSE9
MDowKXtjPUVNKGMsYSl8MDtpZighYyl7ZltkPj4yXT1hO1l3KDAsMTAwMTgxLGQpfDA7Yz0wfX1l
bHNlIGM9MDt0PWU7cmV0dXJuIGN8MH1mdW5jdGlvbiB6bChhLGIpe2E9YXwwO2I9YnwwO3ZhciBj
PTAuMCxkPTAuMDtkPStwW2E+PjNdO2lmKCgrcFtiPj4zXTw9ZD9kPD0rcFtiKzE2Pj4zXTowKT8o
Yz0rcFthKzg+PjNdLCtwW2IrOD4+M108PWMpOjApYT1jPD0rcFtiKzI0Pj4zXSYxO2Vsc2UgYT0w
O3JldHVybiBhfDB9ZnVuY3Rpb24gQWwoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7
dmFyIGU9MC4wLGc9MC4wLGg9MCxpPTAuMCxqPTAuMCxrPTAuMCxsPTAsbT0wLjAsbj0wLjAsbz0w
LjAscT0wLjAscj0wLjAscz0wLjAsdT0wLHY9MCx3PTAseD0wLHk9MC4wLHo9MCxBPTAsQj0wLEM9
MDtDPXQ7dD10KzUxMnwwO2w9Qys0ODh8MDtCPUMrNDcyfDA7dT1DKzQ1NnwwO3Y9Qys0NDB8MDt3
PUMrMzM2fDA7eD1DKzIyNHwwO3o9QysxMTJ8MDtBPUM7bz0rcFtiPj4zXTtxPStwW2IrOD4+M107
cj0rcFtjPj4zXTtzPStwW2MrOD4+M107Zlt1Pj4yXT1mW2Q+PjJdO2ZbdSs0Pj4yXT1mW2QrND4+
Ml07Zlt1Kzg+PjJdPWZbZCs4Pj4yXTtmW3UrMTI+PjJdPWZbZCsxMj4+Ml07ZD1kKzE2fDA7Zlt2
Pj4yXT1mW2Q+PjJdO2Zbdis0Pj4yXT1mW2QrND4+Ml07Zlt2Kzg+PjJdPWZbZCs4Pj4yXTtmW3Yr
MTI+PjJdPWZbZCsxMj4+Ml07aj0rcFt1Pj4zXTtpZigocjxqPyhlPXErICsofn4oKGotbykqKHEt
cykvKG8tcikpfDApLGU+PStwW3UrOD4+M10pOjApP2U8PStwW3YrOD4+M106MCl7bT1lO249an1l
bHNlIGg9NDtkbyBpZigoaHwwKT09NCl7aT0rcFt2Pj4zXTtpZihyPmkpe2c9cSsgKyh+figoaS1v
KSoocS1zKS8oby1yKSl8MCk7ZT0rcFt1Kzg+PjNdO2lmKGc+PWU/Zzw9K3Bbdis4Pj4zXTowKXtt
PWc7bj1pO2JyZWFrfX1lbHNlIGU9K3BbdSs4Pj4zXTtpZihzPGU/KGs9bysgKyh+figoZS1xKSoo
by1yKS8ocS1zKSl8MCksISghKGs+PWopfCEoazw9aSkpKTowKXttPWU7bj1rO2JyZWFrfWU9K3Bb
dis4Pj4zXTtpZihzPmU/KHk9bysgKyh+figoZS1xKSooby1yKS8ocS1zKSl8MCksISghKHk+PWop
fCEoeTw9aSkpKTowKXttPWU7bj15O2JyZWFrfTtmW2w+PjJdPWZbYj4+Ml07ZltsKzQ+PjJdPWZb
Yis0Pj4yXTtmW2wrOD4+Ml09ZltiKzg+PjJdO2ZbbCsxMj4+Ml09ZltiKzEyPj4yXTt3PUhsKGws
dyl8MDtmW2w+PjJdPWZbYz4+Ml07ZltsKzQ+PjJdPWZbYys0Pj4yXTtmW2wrOD4+Ml09ZltjKzg+
PjJdO2ZbbCsxMj4+Ml09ZltjKzEyPj4yXTt4PUhsKGwseCl8MDtmW2w+PjJdPWZbdT4+Ml07Zlts
KzQ+PjJdPWZbdSs0Pj4yXTtmW2wrOD4+Ml09Zlt1Kzg+PjJdO2ZbbCsxMj4+Ml09Zlt1KzEyPj4y
XTt6PUhsKGwseil8MDtmW2w+PjJdPWZbdj4+Ml07ZltsKzQ+PjJdPWZbdis0Pj4yXTtmW2wrOD4+
Ml09Zlt2Kzg+PjJdO2ZbbCsxMj4+Ml09Zlt2KzEyPj4yXTtBPUhsKGwsQSl8MDtmW0I+PjJdPXc7
ZltCKzQ+PjJdPXg7ZltCKzg+PjJdPXo7ZltCKzEyPj4yXT1BO1l3KDEsMTAwMTAzLEIpfDA7eGEo
MTQ2NjY0LDk5OTc5LDc4LDEwMDE1NSl9d2hpbGUoMCk7cFthPj4zXT1uO3BbYSs4Pj4zXT1tO3Q9
QztyZXR1cm59ZnVuY3Rpb24gQmwoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMDtk
PSgrcFtjKzg+PjNdKyArcFtiKzg+PjNdKSouNTtwW2E+PjNdPSgrcFtjPj4zXSsgK3BbYj4+M10p
Ki41O3BbYSs4Pj4zXT1kO3JldHVybn1mdW5jdGlvbiBDbChhLGIpe2E9YXwwO2I9YnwwO3ZhciBj
PTAuMCxkPTAsZT0wLjAsZz0wLGg9MCxpPTAsaj0wLGs9MDtrPXQ7dD10KzgwfDA7aT1rO2o9ays2
NHwwO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT09NClicmVhaztoPWkrKGQ8PDQpfDA7Zz1hKyhkPDw0
KXwwO2ZbaD4+Ml09ZltnPj4yXTtmW2grND4+Ml09ZltnKzQ+PjJdO2ZbaCs4Pj4yXT1mW2crOD4+
Ml07ZltoKzEyPj4yXT1mW2crMTI+PjJdO2Q9ZCsxfDB9ZD1iKzh8MDtoPWIrMjR8MDtjPStEbChh
LDAuMCwxLjAsK3BbYj4+M10sK3BbZD4+M10sK3BbaD4+M10pO2lmKGM+PTAuMCZjPDIuMCllTShq
LGksMyxjLGEsMCk7ZWxzZSBjPTIuMDtnPWIrMTZ8MDtlPStEbChhLDAuMCxjPjEuMD8xLjA6Yywr
cFtnPj4zXSwrcFtkPj4zXSwrcFtoPj4zXSk7aWYoZT49MC4wJmU8Yyl7ZU0oaixpLDMsZSxhLDAp
O2M9ZX1lPStFbChhLDAuMCxjPjEuMD8xLjA6YywrcFtkPj4zXSwrcFtiPj4zXSwrcFtnPj4zXSk7
aWYoZT49MC4wJmU8Yyl7ZU0oaixpLDMsZSxhLDApO2M9ZX1lPStFbChhLDAuMCxjPjEuMD8xLjA6
YywrcFtoPj4zXSwrcFtiPj4zXSwrcFtnPj4zXSk7aWYoZT49MC4wJmU8Yyl7ZU0oaixpLDMsZSxh
LDApO2M9ZX10PWs7cmV0dXJuIGM8Mi4wfDB9ZnVuY3Rpb24gRGwoYSxiLGMsZCxlLGYpe2E9YXww
O2I9K2I7Yz0rYztkPStkO2U9K2U7Zj0rZjt2YXIgZz0wLjAsaD0wLGk9MCxqPTAsaz0wO2s9dDt0
PXQrMTQ0fDA7aT1rKzY0fDA7aj1rO2g9aysxMjh8MDthOmRvIGlmKCEoYj09Yykpe3N3aXRjaChH
bChhLGQpfDApe2Nhc2UgMDp7Yj0tMS4wO2JyZWFrIGF9Y2FzZSAxOntpZigrSSgrKCtwW2ErNDg+
PjNdLWQpKTw9LjAwNSl7Yj0rcFthKzU2Pj4zXTtiPSEoYj49ZSl8IShiPD1mKT8tMS4wOmM7YnJl
YWsgYX1icmVha31kZWZhdWx0Ont9fWVNKGgsYSwzLC41LGksaik7Zz0oYytiKSouNTtiPStEbChp
LGIsZyxkLGUsZik7aWYoIShiPj0wLjApKWI9K0RsKGosZyxjLGQsZSxmKX13aGlsZSgwKTt0PWs7
cmV0dXJuICtifWZ1bmN0aW9uIEVsKGEsYixjLGQsZSxmKXthPWF8MDtiPStiO2M9K2M7ZD0rZDtl
PStlO2Y9K2Y7dmFyIGc9MC4wLGg9MCxpPTAsaj0wLGs9MDtrPXQ7dD10KzE0NHwwO2k9ays2NHww
O2o9aztoPWsrMTI4fDA7YTpkbyBpZighKGI9PWMpKXtzd2l0Y2goRmwoYSxkKXwwKXtjYXNlIDA6
e2I9LTEuMDticmVhayBhfWNhc2UgMTp7aWYoK0koKygrcFthKzU2Pj4zXS1kKSk8PS4wMDUpe2I9
K3BbYSs0OD4+M107Yj0hKGI+PWUpfCEoYjw9Zik/LTEuMDpjO2JyZWFrIGF9YnJlYWt9ZGVmYXVs
dDp7fX1lTShoLGEsMywuNSxpLGopO2c9KGMrYikqLjU7Yj0rRWwoaSxiLGcsZCxlLGYpO2lmKCEo
Yj49MC4wKSliPStFbChqLGcsYyxkLGUsZil9d2hpbGUoMCk7dD1rO3JldHVybiArYn1mdW5jdGlv
biBGbChhLGIpe2E9YXwwO2I9K2I7dmFyIGM9MCxkPTAsZT0wLGY9MC4wLGc9MCxoPTA7Zj0rcFth
Kzg+PjNdO2U9ZjxiPy0xOmY+YiYxO2M9MTtkPWU7ZT0oZXwwKT09MCYxO3doaWxlKDEpe2lmKChj
fDApPT00KWJyZWFrO2Y9K3BbYSsoYzw8NCkrOD4+M107aD1mPGI/LTE6Zj5iJjE7Zz1lKygoZHww
KSE9MCYoaHwwKSE9KGR8MCkmMSl8MDtjPWMrMXwwO2Q9aDtlPWd9cmV0dXJuIGV8MH1mdW5jdGlv
biBHbChhLGIpe2E9YXwwO2I9K2I7dmFyIGM9MCxkPTAsZT0wLGY9MC4wLGc9MCxoPTA7Zj0rcFth
Pj4zXTtlPWY8Yj8tMTpmPmImMTtjPTE7ZD1lO2U9KGV8MCk9PTAmMTt3aGlsZSgxKXtpZigoY3ww
KT09NClicmVhaztmPStwW2ErKGM8PDQpPj4zXTtoPWY8Yj8tMTpmPmImMTtnPWUrKChkfDApIT0w
JihofDApIT0oZHwwKSYxKXwwO2M9YysxfDA7ZD1oO2U9Z31yZXR1cm4gZXwwfWZ1bmN0aW9uIEhs
KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLjA7Yz10O3Q9dCsxNnwwO2Q9YztlPStw
W2ErOD4+M107cFtkPj4zXT0rcFthPj4zXTtwW2QrOD4+M109ZTtkJChiLDEwMDE2OSxkKXwwO3Q9
YztyZXR1cm4gYnwwfWZ1bmN0aW9uIElsKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGU9MCxnPTAsaD0w
LGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTA7cz10O3Q9dCsxNnww
O3A9cztyPTQ7cT1MXyg0MCl8MDtmW3E+PjJdPTA7bz1hKzE2fDA7Yz1mW28+PjJdfDA7YTpkbyBp
ZigoKGRbYysyMzg+PjFdfDApLShkW2MrMjM2Pj4xXXwwKXwwKT49Mil7bD0xO2I9YztjPWZbYysx
OTY+PjJdfDA7Yjp3aGlsZSgxKXttPWwrMXwwO2lmKCEoZltjKyhtPDw2KT4+Ml18MCkpe249Njti
cmVha31rPTA7d2hpbGUoMSl7aD1mW2MrKGw8PDYpPj4yXXwwO2lmKChrfDApPj0oaHwwKSlicmVh
aztqPWZbKGZbYysobDw8NikrND4+Ml18MCkrKGs8PDIpPj4yXXwwO3Y9MDtiPWdhKDIwLGp8MCl8
MDtlPXY7dj0wO2lmKChlfDApIT0wJih3fDApIT0wKXtnPVAzKGZbZT4+Ml18MCxxfDAscnwwKXww
O2lmKCFnKWpiKGV8MCx3fDApO0c9d31lbHNlIGc9LTE7aWYoKGd8MCk9PTEpe2I9RzticmVhayBi
fWlmKGI8PDI0Pj4yNCl7aT1rO2I9aDt3aGlsZSgxKXtnPWkrMXwwO2lmKChnfDApPj0oYnwwKSli
cmVhazt2PTA7Yj1oYSg2NSxqfDAsZlsoZltjKyhsPDw2KSs0Pj4yXXwwKSsoZzw8Mik+PjJdfDAp
fDA7Yz12O3Y9MDtpZigoY3wwKSE9MCYod3wwKSE9MCl7ZT1QMyhmW2M+PjJdfDAscXwwLHJ8MCl8
MDtpZighZSlqYihjfDAsd3wwKTtHPXd9ZWxzZSBlPS0xO2lmKChlfDApPT0xKXtiPUc7YnJlYWsg
Yn1pZighKGI8PDI0Pj4yNCkpYnJlYWs7Yj1mWyhmW28+PjJdfDApKzE5Nj4+Ml18MDtpPWc7Yz1i
O2I9ZltiKyhsPDw2KT4+Ml18MH1pZigoZy1rfDApPjEpe3Y9MDt1YSg2LGF8MCxsfDAsa3wwLGl8
MCwxKTtiPXY7dj0wO2lmKChifDApIT0wJih3fDApIT0wKXtjPVAzKGZbYj4+Ml18MCxxfDAscnww
KXwwO2lmKCFjKWpiKGJ8MCx3fDApO0c9d31lbHNlIGM9LTE7aWYoKGN8MCk9PTEpe2I9RzticmVh
ayBifX19Yz1mW28+PjJdfDA7az1rKzF8MDtiPWM7Yz1mW2MrMTk2Pj4yXXwwfWw9bX1jOmRvIGlm
KChufDApPT02KXt3aGlsZSgxKXtpZigobHwwKTw9MClicmVhaztrPTA7d2hpbGUoMSl7Yz1mW2Ir
MTk2Pj4yXXwwO2g9ZltjKyhsPDw2KT4+Ml18MDtpZigoa3wwKT49KGh8MCkpYnJlYWs7aj1mWyhm
W2MrKGw8PDYpKzQ+PjJdfDApKyhrPDwyKT4+Ml18MDt2PTA7Yj1nYSgyMSxqfDApfDA7ZT12O3Y9
MDtpZigoZXwwKSE9MCYod3wwKSE9MCl7Zz1QMyhmW2U+PjJdfDAscXwwLHJ8MCl8MDtpZighZylq
YihlfDAsd3wwKTtHPXd9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtiPUc7YnJlYWsgY31pZihiPDwy
ND4+MjQpe2k9aztiPWg7d2hpbGUoMSl7Zz1pKzF8MDtpZigoZ3wwKT49KGJ8MCkpYnJlYWs7dj0w
O2I9aGEoNjYsanwwLGZbKGZbYysobDw8NikrND4+Ml18MCkrKGc8PDIpPj4yXXwwKXwwO2M9djt2
PTA7aWYoKGN8MCkhPTAmKHd8MCkhPTApe2U9UDMoZltjPj4yXXwwLHF8MCxyfDApfDA7aWYoIWUp
amIoY3wwLHd8MCk7Rz13fWVsc2UgZT0tMTtpZigoZXwwKT09MSl7Yj1HO2JyZWFrIGN9aWYoIShi
PDwyND4+MjQpKWJyZWFrO2I9ZlsoZltvPj4yXXwwKSsxOTY+PjJdfDA7aT1nO2M9YjtiPWZbYiso
bDw8Nik+PjJdfDB9aWYoKGcta3wwKT4xKXt2PTA7dWEoNixhfDAsbHwwLGt8MCxpfDAsMCk7Yj12
O3Y9MDtpZigoYnwwKSE9MCYod3wwKSE9MCl7Yz1QMyhmW2I+PjJdfDAscXwwLHJ8MCl8MDtpZigh
YylqYihifDAsd3wwKTtHPXd9ZWxzZSBjPS0xO2lmKChjfDApPT0xKXtiPUc7YnJlYWsgY319fWs9
aysxfDA7Yj1mW28+PjJdfDB9bD1sKy0xfDB9cT1PMygxODY1MjgsMSxxfDAscnwwKXwwO3I9Rzt2
PTA7Yj12O3Y9MDtpZigoYnwwKSE9MCYod3wwKSE9MCl7Yz1QMyhmW2I+PjJdfDAscXwwLHJ8MCl8
MDtpZighYylqYihifDAsd3wwKTtHPXd9ZWxzZSBjPS0xO2lmKChjfDApPT0xKWI9RztlbHNlIGI9
MH13aGlsZSgwKTtkOndoaWxlKDEpe2lmKGJ8MCl7dj0wO2phKDIwLDMsMTAwMjA5LHB8MCl8MDti
PXY7dj0wO2lmKChifDApIT0wJih3fDApIT0wKXtjPVAzKGZbYj4+Ml18MCxxfDAscnwwKXwwO2lm
KCFjKWpiKGJ8MCx3fDApO0c9d31lbHNlIGM9LTE7aWYoKGN8MCk9PTEpe2I9Rztjb250aW51ZX1l
bHNlIGJyZWFrfWU9MTt3aGlsZSgxKXtiPWZbbz4+Ml18MDtpZigoZXwwKT4oZltiKzE4MD4+Ml18
MCkpYnJlYWsgYTt2PTA7cGEoOTksZlsoZltiKzE4ND4+Ml18MCkrKGU8PDIpPj4yXXwwKTtiPXY7
dj0wO2lmKChifDApIT0wJih3fDApIT0wKXtjPVAzKGZbYj4+Ml18MCxxfDAscnwwKXwwO2lmKCFj
KWpiKGJ8MCx3fDApO0c9d31lbHNlIGM9LTE7aWYoKGN8MCk9PTEpe2I9Rztjb250aW51ZSBkfWU9
ZSsxfDB9fX13aGlsZSgwKTtNXyhxfDApO3Q9cztyZXR1cm59ZnVuY3Rpb24gSmwoYSl7YT1hfDA7
YT1mW2ErMTY+PjJdfDA7aWYoKChiW2ErMTU2Pj4wXXwwKT09MT8oZlthKzE3Nj4+Ml18MCk9PTE6
MCk/KGZbYSsxODQ+PjJdfDApPT0xOjApYT0oZlthKzEwND4+Ml18MCk9PTAmMTtlbHNlIGE9MDty
ZXR1cm4gYXwwfWZ1bmN0aW9uIEtsKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9
MCxoPTAsaT0wO2k9dDt0PXQrODB8MDtoPWkrNDB8MDtnPWk7ZD1mW2ZbKGZbYSsxNj4+Ml18MCkr
MTcyPj4yXT4+Ml18MDthPWZbZlsoZltiKzE2Pj4yXXwwKSsxNzI+PjJdPj4yXXwwO2lmKCgoSmwo
Yil8MCk8PDI0Pj4yNCE9MD8oZlsoKGZbZD4+Ml0mM3wwKT09Mz9kOmQrNDh8MCkrNDA+PjJdfDAp
PT0oZlsoKGZbYT4+Ml0mM3wwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDApOjApPyhRbChkLGEpfDAp
PDwyND4+MjQhPTA6MCl7Yz0oZlthKzE2Pj4yXXwwKSsxNnwwO2U9ZzthPShmW2QrMTY+PjJdfDAp
KzE2fDA7Yj1lKzQwfDA7ZG97ZltlPj4yXT1mW2E+PjJdO2U9ZSs0fDA7YT1hKzR8MH13aGlsZSgo
ZXwwKTwoYnwwKSk7ZT1oO2E9YztiPWUrNDB8MDtkb3tmW2U+PjJdPWZbYT4+Ml07ZT1lKzR8MDth
PWErNHwwfXdoaWxlKChlfDApPChifDApKTthPShzZyhnLGgpfDApPT0wJjF9ZWxzZSBhPTA7dD1p
O3JldHVybiBhfDB9ZnVuY3Rpb24gTGwoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8
MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxy
PTA7cj1hKzE2fDA7cD1mWyhmWyhmWyhmW3I+PjJdfDApKzE5Nj4+Ml18MCkrKGI8PDYpKzQ+PjJd
fDApKyhjPDwyKT4+Ml18MDtnPWMrMXwwO209KGV8MCk9PTE7bj1wKzE2fDA7bD1nO3doaWxlKDEp
e2lmKChsfDApPihkfDApKWJyZWFrO289ZlsoZlsoZlsoZltyPj4yXXwwKSsxOTY+PjJdfDApKyhi
PDw2KSs0Pj4yXXwwKSsobDw8Mik+PjJdfDA7az1vKzE2fDA7YTpkbyBpZihtKXdoaWxlKDEpe2M9
ZltrPj4yXXwwO2o9ZltmW2MrMTgwPj4yXT4+Ml18MDtpZighailicmVhayBhO2g9ZlsoZltuPj4y
XXwwKSsxODA+PjJdfDA7aT1qKy00OHwwO2U9MDt3aGlsZSgxKXtjPWZbaCsoZTw8Mik+PjJdfDA7
aWYoIWMpe3E9MTE7YnJlYWt9aWYoKGZbKChmW2M+PjJdJjN8MCk9PTI/YzpjKy00OHwwKSs0MD4+
Ml18MCk9PShmWygoZltqPj4yXSYzfDApPT0yP2o6aSkrNDA+PjJdfDApKWJyZWFrO2Vsc2UgZT1l
KzF8MH1pZigocXwwKT09MTEpe3E9MDtjPXloKHAsZlsoKGZbaj4+Ml0mM3wwKT09Mj9qOmkpKzQw
Pj4yXXwwLGopfDB9d2hpbGUoMSl7ZT1mW2ZbKGZbaz4+Ml18MCkrMTcyPj4yXT4+Ml18MDtpZigh
ZSlicmVhaztHaChlLGMpO3RoKGUpfXRoKGopfWVsc2Ugd2hpbGUoMSl7Yz1mW2s+PjJdfDA7aj1m
W2ZbYysxNzI+PjJdPj4yXXwwO2lmKCFqKWJyZWFrIGE7aD1mWyhmW24+PjJdfDApKzE3Mj4+Ml18
MDtpPWorNDh8MDtlPTA7d2hpbGUoMSl7Yz1mW2grKGU8PDIpPj4yXXwwO2lmKCFjKXtxPTIwO2Jy
ZWFrfWlmKChmWygoZltjPj4yXSYzfDApPT0zP2M6Yys0OHwwKSs0MD4+Ml18MCk9PShmWygoZltq
Pj4yXSYzfDApPT0zP2o6aSkrNDA+PjJdfDApKWJyZWFrO2Vsc2UgZT1lKzF8MH1pZigocXwwKT09
MjApe3E9MDtjPXloKGZbKChmW2o+PjJdJjN8MCk9PTM/ajppKSs0MD4+Ml18MCxwLGopfDB9d2hp
bGUoMSl7ZT1mW2ZbKGZbaz4+Ml18MCkrMTgwPj4yXT4+Ml18MDtpZighZSlicmVhaztHaChlLGMp
O3RoKGUpfXRoKGopfXdoaWxlKDApO2lmKChmW2MrMTc2Pj4yXXwwKSE9KDAtKGZbYysxODQ+PjJd
fDApfDApKXtxPTI2O2JyZWFrfUJoKGEsbyk7bD1sKzF8MH1pZigocXwwKT09MjYpeGEoMTAwMzQ1
LDEwMDM4OSwxMTUsMTAwMzk2KTt3aGlsZSgxKXtkPWQrMXwwO2M9ZlsoZltyPj4yXXwwKSsxOTY+
PjJdfDA7ZT1jKyhiPDw2KXwwO2lmKChkfDApPj0oZltlPj4yXXwwKSlicmVhaztwPWZbYysoYjw8
NikrND4+Ml18MDtxPWZbcCsoZDw8Mik+PjJdfDA7ZltwKyhnPDwyKT4+Ml09cTtmWyhmW3ErMTY+
PjJdfDApKzIzNj4+Ml09ZztnPWcrMXwwfWZbZT4+Ml09ZztmWyhmW2MrKGI8PDYpKzQ+PjJdfDAp
KyhnPDwyKT4+Ml09MDtyZXR1cm59ZnVuY3Rpb24gTWwoYSl7YT1hfDA7YT1mW2ErMTY+PjJdfDA7
aWYoKChiW2ErMTU2Pj4wXXwwKT09MT8oZlthKzE4ND4+Ml18MCk9PTE6MCk/KGZbYSsxNzY+PjJd
fDApPT0xOjApYT0oZlthKzEwND4+Ml18MCk9PTAmMTtlbHNlIGE9MDtyZXR1cm4gYXwwfWZ1bmN0
aW9uIE5sKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wO2k9dDt0
PXQrODB8MDtoPWkrNDB8MDtnPWk7ZD1mW2ZbKGZbYSsxNj4+Ml18MCkrMTgwPj4yXT4+Ml18MDth
PWZbZlsoZltiKzE2Pj4yXXwwKSsxODA+PjJdPj4yXXwwO2lmKCgoTWwoYil8MCk8PDI0Pj4yNCE9
MD8oZlsoKGZbZD4+Ml0mM3wwKT09Mj9kOmQrLTQ4fDApKzQwPj4yXXwwKT09KGZbKChmW2E+PjJd
JjN8MCk9PTI/YTphKy00OHwwKSs0MD4+Ml18MCk6MCk/KFFsKGQsYSl8MCk8PDI0Pj4yNCE9MDow
KXtjPShmW2ErMTY+PjJdfDApKzU2fDA7ZT1nO2E9KGZbZCsxNj4+Ml18MCkrNTZ8MDtiPWUrNDB8
MDtkb3tmW2U+PjJdPWZbYT4+Ml07ZT1lKzR8MDthPWErNHwwfXdoaWxlKChlfDApPChifDApKTtl
PWg7YT1jO2I9ZSs0MHwwO2Rve2ZbZT4+Ml09ZlthPj4yXTtlPWUrNHwwO2E9YSs0fDB9d2hpbGUo
KGV8MCk8KGJ8MCkpO2E9KHNnKGcsaCl8MCk9PTAmMX1lbHNlIGE9MDt0PWk7cmV0dXJuIGF8MH1m
dW5jdGlvbiBPbChhKXthPWF8MDt2YXIgYz0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxt
PTAsbj0wLG89MDtvPXQ7dD10KzMyfDA7bD1vKzE2fDA7az1vO249YSsxNnwwO2U9ZltuPj4yXXww
O2M9ZFtlKzIzNj4+MV18MDt3aGlsZSgxKXtpZigoY3wwKT4oZFtlKzIzOD4+MV18MCkpYnJlYWs7
ZlsoZltlKzI2OD4+Ml18MCkrKGM8PDIpPj4yXT0wO2M9YysxfDA7ZT1mW24+PjJdfDB9R2ooYSk7
aj0keShhKXwwO3doaWxlKDEpe2lmKCFqKWJyZWFrO1BsKGEsaik7aT1OeChhLGopfDA7d2hpbGUo
MSl7aWYoIWkpYnJlYWs7ZT1pO3doaWxlKDEpe2M9ZlsoZltlKzE2Pj4yXXwwKSsxNzI+PjJdfDA7
aWYoIWMpYnJlYWs7ZWxzZSBlPWN9aD1pKy00OHwwO3doaWxlKDEpe2M9ZSstNDh8MDtnPWZbKChm
W2U+PjJdJjN8MCk9PTI/ZTpjKSs0MD4+Ml18MDtpZigoZlsoZltnKzE2Pj4yXXwwKSsyMzI+PjJd
fDApPj0oZlsoZlsoZlsoKGZbaT4+Ml0mM3wwKT09Mj9pOmgpKzQwPj4yXXwwKSsxNj4+Ml18MCkr
MjMyPj4yXXwwKSlicmVhaztQbChhLGcpO2U9ZltmWyhmWyhmWygoZltlPj4yXSYzfDApPT0yP2U6
YykrNDA+PjJdfDApKzE2Pj4yXXwwKSsxODA+PjJdPj4yXXwwfWk9UHgoYSxpKXwwfWo9YXooYSxq
KXwwfWM9ZltuPj4yXXwwO2k9ZFtjKzIzNj4+MV18MDt3aGlsZSgxKXtpZigoaXwwKT4oZFtjKzIz
OD4+MV18MCkpYnJlYWs7ZT1mWyhmW2MrMjY4Pj4yXXwwKSsoaTw8Mik+PjJdfDA7aj0ocmcoYSl8
MCkrMTZ8MDtnPWUrMTZ8MDtpZigoZlsoZlsoZlsoZltqPj4yXXwwKSsxOTY+PjJdfDApKyhpPDw2
KSs0Pj4yXXwwKSsoZlsoZltnPj4yXXwwKSsyMzY+PjJdPDwyKT4+Ml18MCkhPShlfDApKXttPTE5
O2JyZWFrfWg9KHJnKGEpfDApKzE2fDA7Yz1mW24+PjJdfDA7ZT1mW2MrMTk2Pj4yXXwwO2ZbZSso
aTw8NikrND4+Ml09KGZbKGZbKGZbaD4+Ml18MCkrMTk2Pj4yXXwwKSsoaTw8NikrND4+Ml18MCkr
KGZbKGZbKGZbKGZbYysyNjg+PjJdfDApKyhpPDwyKT4+Ml18MCkrMTY+PjJdfDApKzIzNj4+Ml08
PDIpO2M9LTE7aD0wO2E6d2hpbGUoMSl7aWYoKGh8MCk+PShmW2UrKGk8PDYpPj4yXXwwKSlicmVh
aztlPWZbKGZbZSsoaTw8NikrND4+Ml18MCkrKGg8PDIpPj4yXXwwO2lmKCFlKWJyZWFrO2c9Zltl
KzE2Pj4yXXwwO2I6ZG8gaWYoIShiW2crMTU2Pj4wXXwwKSlpZighKHh6KGEsZSl8MCkpYnJlYWsg
YTtlbHNlIGM9aDtlbHNle2U9ZltmW2crMTcyPj4yXT4+Ml18MDt3aGlsZSgxKXtpZighZSlicmVh
ayBiO2c9ZlsoZltlKzE2Pj4yXXwwKSsxMTY+PjJdfDA7aWYoIWcpYnJlYWs7ZWxzZSBlPWd9aWYo
eHooYSxmWygoZltlPj4yXSYzfDApPT0zP2U6ZSs0OHwwKSs0MD4+Ml18MCl8MCl7aj0oeHooYSxm
WygoZltlPj4yXSYzfDApPT0yP2U6ZSstNDh8MCkrNDA+PjJdfDApfDApPT0wO2M9aj9jOmh9fXdo
aWxlKDApO2g9aCsxfDA7ZT1mWyhmW24+PjJdfDApKzE5Nj4+Ml18MH1pZigoY3wwKT09LTEpe2o9
QXkoYSl8MDtmW2w+PjJdPWo7ZltsKzQ+PjJdPWk7WXcoMCwxMDAzMDksbCl8MH1qPWZbbj4+Ml18
MDtmWyhmW2orMTk2Pj4yXXwwKSsoaTw8Nik+PjJdPWMrMTtpPWkrMXwwO2M9an1pZigobXwwKT09
MTkpe2w9QXkoZSl8MDttPWZbKGZbZz4+Ml18MCkrMjM2Pj4yXXwwO2Zbaz4+Ml09bDtmW2srND4+
Ml09bTtmW2srOD4+Ml09aTtZdygxLDEwMDI1MSxrKXwwO2piKDE4NjUyOCwxKX1lPTE7d2hpbGUo
MSl7aWYoKGV8MCk+KGZbYysxODA+PjJdfDApKWJyZWFrO09sKGZbKGZbYysxODQ+PjJdfDApKyhl
PDwyKT4+Ml18MCk7ZT1lKzF8MDtjPWZbbj4+Ml18MH10PW87cmV0dXJufWZ1bmN0aW9uIFBsKGEs
Yil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTA7Yz1mW2IrMTY+PjJdfDA7YT0oZlsoZlthKzE2Pj4y
XXwwKSsyNjg+PjJdfDApKyhmW2MrMjMyPj4yXTw8Mil8MDtkPWZbYT4+Ml18MDtpZighKChkfDAp
IT0wPyhmWyhmW2QrMTY+PjJdfDApKzIzNj4+Ml18MCk8PShmW2MrMjM2Pj4yXXwwKTowKSlmW2E+
PjJdPWI7cmV0dXJufWZ1bmN0aW9uIFFsKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTA7d2hp
bGUoMSl7ZT1mW2ErMTY+PjJdfDA7aWYoIShiW2UrMTEyPj4wXXwwKSlicmVhazthPWZbZSsxMTY+
PjJdfDB9d2hpbGUoMSl7ZD1mW2MrMTY+PjJdfDA7aWYoIShiW2QrMTEyPj4wXXwwKSlicmVhaztj
PWZbZCsxMTY+PjJdfDB9aWYoKGJbZSsxNTM+PjBdfDApPT0wPyhiW2QrMTUzPj4wXXwwKT09MDow
KXtlPWZbYz4+Ml0mMztkPWZbYT4+Ml0mMzthPShWKChmWyhmWyhmWygoZHwwKT09Mz9hOmErNDh8
MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApLShmWyhmWyhmWygoZHwwKT09Mj9hOmEr
LTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKXwwLChmWyhmWyhmWygoZXwwKT09
Mz9jOmMrNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApLShmWyhmWyhmWygoZXww
KT09Mj9jOmMrLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKXwwKXwwKT4wJjF9
ZWxzZSBhPTA7cmV0dXJuIGF8MH1mdW5jdGlvbiBSbChhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAs
ZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7az10O3Q9dCs1NDR8MDtqPWsrNTI4fDA7U2woaixrKzUx
MnwwLGspO2Q9KGJbMTk0ODYyXXwwKSsxPDwyND4+MjQ7YlsxOTQ4NjJdPWQ8PDI0Pj4yND09MD8x
OmQ7ZD1mW2ErMTY+PjJdfDA7ZltkKzIyMD4+Ml09MDtmW2QrMjMyPj4yXT0wO2Q9KGN8MCk+MDtj
PSR5KGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7aWYoZD8oaD1mW2MrMTY+PjJdfDAsaT1mW2gr
MjEyPj4yXXwwLChpfDApIT0wKTowKXtnPWZbKGZbKGZbaSsxNj4+Ml18MCkrMjY4Pj4yXXwwKSso
ZltoKzIzMj4+Ml08PDIpPj4yXXwwO2U9N31lbHNlIGU9NjtpZigoZXwwKT09Nj8oZT0wLChjfDAp
PT0oJEwoYyl8MCkpOjApe2c9YztlPTd9aWYoKGV8MCk9PTc/KDAsKGJbKGZbZysxNj4+Ml18MCkr
MTU3Pj4wXXwwKSE9KGJbMTk0ODYyXXwwKSk6MCl7VGwoYSk7VWwoaixhLGcpO1ZsKGEpfWM9YXoo
YSxjKXwwfVdsKGopO3Q9aztyZXR1cm59ZnVuY3Rpb24gU2woYSxiLGMpe2E9YXwwO2I9YnwwO2M9
Y3wwO2ZbYj4+Ml09YztmW2IrND4+Ml09Yys1MTI7ZltiKzEyPj4yXT0wO2ZbYis4Pj4yXT0wO2Zb
YT4+Ml09YjtmW2ErND4+Ml09YjtmW2ErOD4+Ml09YztyZXR1cm59ZnVuY3Rpb24gVGwoYSl7YT1h
fDA7ZlsoZlthKzE2Pj4yXXwwKSsxOTI+PjJdPTA7Zls0ODE2Nl09MDtyZXR1cm59ZnVuY3Rpb24g
VWwoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxs
PTAsbT0wLG49MCxvPTAscD0wO3A9dDt0PXQrMzJ8MDtvPXA7WGwoYSxkKTtrPW8rOHwwO2w9bysx
NnwwO209bysyNHwwO3doaWxlKDEpe249WWwoYSl8MDtpZighbilicmVhaztkPW4rMTZ8MDthOmRv
IGlmKChiWyhmW2Q+PjJdfDApKzE1Nz4+MF18MCkhPShiWzE5NDg2Ml18MCkpe1psKGMsbik7aD1m
W2Q+PjJdfDA7Zz1oKzE4MHwwO2o9ZltnKzQ+PjJdfDA7aT1vO2ZbaT4+Ml09ZltnPj4yXTtmW2kr
ND4+Ml09ajtpPWgrMTcyfDA7aj1mW2krND4+Ml18MDtnPWs7ZltnPj4yXT1mW2k+PjJdO2ZbZys0
Pj4yXT1qO2c9aCsxODh8MDtqPWZbZys0Pj4yXXwwO2k9bDtmW2k+PjJdPWZbZz4+Ml07ZltpKzQ+
PjJdPWo7aD1oKzE5NnwwO2k9ZltoKzQ+PjJdfDA7aj1tO2Zbaj4+Ml09ZltoPj4yXTtmW2orND4+
Ml09aTtqPTM7d2hpbGUoMSl7aWYoKGp8MCk8PS0xKWJyZWFrIGE7ZD1mW28rKGo8PDMpPj4yXXww
O2I6ZG8gaWYoZHwwKXtpPShmW28rKGo8PDMpKzQ+PjJdfDApKy0xfDA7aD1kKyhpPDwyKXwwO3do
aWxlKDEpe2lmKChpfDApPD0tMSlicmVhayBiO2U9ZltoPj4yXXwwO2c9ZltlPj4yXSYzO2Q9Zlso
KGd8MCk9PTI/ZTplKy00OHwwKSs0MD4+Ml18MDtpZigoZHwwKT09KG58MCkpZD1mWygoZ3wwKT09
Mz9lOmUrNDh8MCkrNDA+PjJdfDA7aWYoKGJbKGZbZCsxNj4+Ml18MCkrMTU3Pj4wXXwwKSE9KGJb
MTk0ODYyXXwwKT8oZHwwKT09KCRMKGQpfDApOjApWGwoYSxkKTtoPWgrLTR8MDtpPWkrLTF8MH19
d2hpbGUoMCk7aj1qKy0xfDB9fXdoaWxlKDApfXQ9cDtyZXR1cm59ZnVuY3Rpb24gVmwoYSl7YT1h
fDA7dmFyIGI9MCxjPTAsZD0wLGU9MDtjPWErMTZ8MDtiPWZbYz4+Ml18MDtlPWIrMjIwfDA7ZD1m
W2U+PjJdfDA7YT1kKzF8MDtmW2U+PjJdPWE7Yj1mW2IrMjE2Pj4yXXwwO2lmKCFiKWE9RUgoYTw8
Mil8MDtlbHNlIGE9R0goYixhPDwyKXwwO2U9ZltjPj4yXXwwO2ZbZSsyMTY+PjJdPWE7ZlthKyhk
PDwyKT4+Ml09ZltlKzE5Mj4+Ml07cmV0dXJufWZ1bmN0aW9uIFdsKGEpe2E9YXwwO3ZhciBiPTA7
YT1mWyhmW2E+PjJdfDApKzEyPj4yXXwwO3doaWxlKDEpe2lmKCFhKWJyZWFrO2I9ZlthKzEyPj4y
XXwwO01fKGZbYT4+Ml18MCk7TV8oYSk7YT1ifXJldHVybn1mdW5jdGlvbiBYbChhLGMpe2E9YXww
O2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxpPTAsaj0wLGs9MDtrPXQ7dD10KzE2fDA7Zz1rKzh8MDtl
PWs7aj1hKzh8MDtkPWZbaj4+Ml18MDtpPWErNHwwO2E9ZltpPj4yXXwwO2lmKChkfDApPT0oZlth
KzQ+PjJdfDApKXtkPWZbYSsxMj4+Ml18MDtpZighZCl7ZD1ESCgxNil8MDtpZighZClZdygxLDEw
NzI5NSxlKXwwO2ZbZCs4Pj4yXT1mW2k+PjJdO2ZbZCsxMj4+Ml09MDthPURIKDRlNil8MDtmW2Q+
PjJdPWE7aWYoIWEpe1l3KDEsMTAwNDA5LGcpfDA7YT1mW2Q+PjJdfDB9ZltkKzQ+PjJdPWErNGU2
O2ZbKGZbaT4+Ml18MCkrMTI+PjJdPWR9ZltpPj4yXT1kO2Q9ZltkPj4yXXwwO2Zbaj4+Ml09ZH1i
WyhmW2MrMTY+PjJdfDApKzE1Nz4+MF09KGhbMTk0ODYyXXwwKSsxO2Zbaj4+Ml09ZCs0O2ZbZD4+
Ml09Yzt0PWs7cmV0dXJufWZ1bmN0aW9uIFlsKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAs
Zz0wO2U9YSs4fDA7Yj1mW2U+PjJdfDA7Yz1hKzR8MDtkPWZbYz4+Ml18MDtpZigoYnwwKT09KGZb
ZD4+Ml18MCkpaWYoKGR8MCk9PShmW2E+PjJdfDApKWI9MDtlbHNle2I9ZltkKzg+PjJdfDA7Zltj
Pj4yXT1iO2I9ZltiKzQ+PjJdfDA7ZltlPj4yXT1iO2c9NH1lbHNlIGc9NDtpZigoZ3wwKT09NCl7
Yj1iKy00fDA7ZltlPj4yXT1iO2I9ZltiPj4yXXwwfXJldHVybiBifDB9ZnVuY3Rpb24gWmwoYSxj
KXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTA7ZT1mW2ErMTY+PjJdfDA7Zz1lKzIzMnwwO2Zb
Zz4+Ml09KGZbZz4+Ml18MCkrMTtnPWZbYysxNj4+Ml18MDtiW2crMTU3Pj4wXT1iWzE5NDg2Ml18
MDthPWZbNDgxNjZdfDA7ZD1nKzE2OHwwO2lmKCFhKXtmW2Q+PjJdPTA7ZltlKzE5Mj4+Ml09Y31l
bHNle2ZbZD4+Ml09YTtmWyhmW2ErMTY+PjJdfDApKzE2ND4+Ml09Y31mWzQ4MTY2XT1jO2ZbZysx
NjQ+PjJdPTA7cmV0dXJufWZ1bmN0aW9uIF9sKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAs
aD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAuMCxuPTAuMDtsPWErMTZ8MDtjPShmW2w+PjJdfDApKzE5
MnwwO3doaWxlKDEpe2M9ZltjPj4yXXwwO2lmKCFjKWJyZWFrO2c9YysxNnwwO2M9ZltnPj4yXXww
O2Q9ZltjKzE4OD4+Ml18MDthOmRvIGlmKGQpe2U9MDt3aGlsZSgxKXtkPWZbZCsoZTw8Mik+PjJd
fDA7aWYoIWQpYnJlYWsgYTskbChkKTtjPWZbZz4+Ml18MDtlPWUrMXwwO2Q9ZltjKzE4OD4+Ml18
MH19d2hpbGUoMCk7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oZltjKzIwOD4+Ml18MCkpYnJlYWs7
ZD1mWyhmW2MrMjA0Pj4yXXwwKSsoZTw8Mik+PjJdfDA7az1mW2Q+PjJdJjM7aWYoKGZbKGZbKGZb
KChrfDApPT0yP2Q6ZCstNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApPT0oZlso
ZlsoZlsoKGt8MCk9PTM/ZDpkKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKSl7
JGwoZCk7Yz1mW2c+PjJdfDB9ZT1lKzF8MH1jPWMrMTY0fDB9az1mW2w+PjJdfDA7Yz1mW2srMTk2
Pj4yXXwwO2lmKCEoKGZbYys1Nj4+Ml18MCk9PTA/KGZbaysxODA+PjJdfDApPD0wOjApKWg9MTU7
YjpkbyBpZigoaHwwKT09MTUpe2g9ZltjKzQ+PjJdfDA7Zz0wO2M6d2hpbGUoMSl7Yz1mW2grKGc8
PDIpPj4yXXwwO2lmKCFjKWJyZWFrIGI7ZD1mWyhmW2MrMTY+PjJdfDApKzE5Nj4+Ml18MDtjPTA7
d2hpbGUoMSl7ZT1mW2QrKGM8PDIpPj4yXXwwO2lmKCFlKWJyZWFrO2s9ZltlKzE2Pj4yXXwwO2lm
KGZbays5Nj4+Ml18MD8oYltrKzExMz4+MF18MCk9PTA6MClicmVhayBjO2M9YysxfDB9Zz1nKzF8
MH1hbShhKX13aGlsZSgwKTtTaShhKTtkPTA7Yz0oZltsPj4yXXwwKSsxOTJ8MDt3aGlsZSgxKXtj
PWZbYz4+Ml18MDtpZighYylicmVhaztrPWMrMTZ8MDtjPWZbaz4+Ml18MDtlPWZbYysxODg+PjJd
fDA7ZDpkbyBpZihlKXtqPTA7d2hpbGUoMSl7Zz1mW2UrKGo8PDIpPj4yXXwwO2lmKCFnKWJyZWFr
O2g9ZltnKzE2Pj4yXXwwO2k9ZltoKzk2Pj4yXXwwO2RvIGlmKGkpe2lmKCEoYltoKzExMz4+MF18
MCkpe2JtKGcpO2U9ZltrPj4yXXwwO2Q9MTtjPWU7ZT1mW2UrMTg4Pj4yXXwwO2JyZWFrfWlmKCEo
ZlsoZltsPj4yXXwwKSsxMTY+PjJdJjEpKXtwW2grMTM2Pj4zXT0rcFtpKzI0Pj4zXTticmVha31l
bHNle3BbaCsxMzY+PjNdPStwW2krMzI+PjNdO2JyZWFrfX13aGlsZSgwKTtqPWorMXwwfWo9MDt3
aGlsZSgxKXtpZigoanwwKT49KGZbYysyMDg+PjJdfDApKWJyZWFrIGQ7aD1mWyhmW2MrMjA0Pj4y
XXwwKSsoajw8Mik+PjJdfDA7aT1mW2g+PjJdJjM7Zz1mWygoaXwwKT09Mz9oOmgrNDh8MCkrNDA+
PjJdfDA7aT1mWygoaXwwKT09Mj9oOmgrLTQ4fDApKzQwPj4yXXwwO2RvIGlmKCEoKGd8MCk9PShp
fDApPzE6KGZbKGZbZysxNj4+Ml18MCkrMjMyPj4yXXwwKSE9KGZbKGZbaSsxNj4+Ml18MCkrMjMy
Pj4yXXwwKSkpe2U9aDtkb3tpPWZbZSsxNj4+Ml18MDtlPWZbaSsxNzI+PjJdfDB9d2hpbGUoKGV8
MCkhPTApO2U9YltpKzExMz4+MF18MDtnPWZbaCsxNj4+Ml18MDtiW2crMTEzPj4wXT1lO2c9Zltn
Kzk2Pj4yXXwwO2lmKGcpaWYoIShlPDwyND4+MjQpKXtibShoKTtkPTE7Yz1mW2s+PjJdfDA7YnJl
YWt9ZWxzZXtuPStwWygoZlsoZltsPj4yXXwwKSsxMTY+PjJdJjF8MCk9PTA/ZysyNHwwOmcrMzJ8
MCk+PjNdO2k9aSsxMzZ8MDttPStwW2k+PjNdO3BbaT4+M109bj5tP246bTticmVha319d2hpbGUo
MCk7aj1qKzF8MH19d2hpbGUoMCk7Yz1jKzE2NHwwfWlmKGR8MCl7TGgoYSk7WmgoYSl9cmV0dXJu
IGR8MH1mdW5jdGlvbiAkbChhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTA7Yz1m
W2E+PjJdJjM7aT1mWygoY3wwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDA7Zz1pKzE2fDA7ZD1mWyhm
W2c+PjJdfDApKzIzNj4+Ml18MDtjPWZbKGZbKGZbKChjfDApPT0yP2E6YSstNDh8MCkrNDA+PjJd
fDApKzE2Pj4yXXwwKSsyMzY+PjJdfDA7aD0oZHwwKTwoY3wwKTtlPWg/YzpkO2k9KHJnKGkpfDAp
KzE2fDA7Zz0oZlsoZltpPj4yXXwwKSsxOTY+PjJdfDApKyhmWyhmW2c+PjJdfDApKzIzMj4+Ml08
PDYpKzR8MDtjPWg/ZDpjO2E6d2hpbGUoMSl7Yz1jKzF8MDtpZigoY3wwKT49KGV8MCkpYnJlYWs7
ZD1mWyhmWyhmW2c+PjJdfDApKyhjPDwyKT4+Ml18MCkrMTY+PjJdfDA7c3dpdGNoKGJbZCsxNTY+
PjBdfDApe2Nhc2UgMDpicmVhayBhO2Nhc2UgMTp7aWYoZltkKzEwND4+Ml18MClicmVhayBhO2Jy
ZWFrfWRlZmF1bHQ6e319fWlmKChjfDApPT0oZXwwKSlkb3tpPWZbYSsxNj4+Ml18MDtiW2krMTEz
Pj4wXT0xO2E9ZltpKzE3Mj4+Ml18MH13aGlsZSgoYXwwKSE9MCk7cmV0dXJufWZ1bmN0aW9uIGFt
KGEpe2E9YXwwO3ZhciBiPTAsYz0wLGU9MCxnPTA7Zz1hKzE2fDA7YT1mW2c+PjJdfDA7aWYoZFth
KzIzNj4+MV18MCl4YSgxMDA0NjYsMTAwNDQ5LDE5MCwxMDA0ODUpO2I9KGRbYSsyMzg+PjFdfDAp
KzN8MDthPWZbYSsxOTY+PjJdfDA7aWYoIWEpYT1FSChiPDw2KXwwO2Vsc2UgYT1HSChhLGI8PDYp
fDA7Yj1hKzY0fDA7YT1mW2c+PjJdfDA7ZlthKzE5Nj4+Ml09YjthPWRbYSsyMzg+PjFdfDA7d2hp
bGUoMSl7aWYoKGF8MCk8PS0xKWJyZWFrO2U9YSstMXwwO2M9YisoYTw8Nil8MDthPWIrKGU8PDYp
fDA7Yj1jKzY0fDA7ZG97ZltjPj4yXT1mW2E+PjJdO2M9Yys0fDA7YT1hKzR8MH13aGlsZSgoY3ww
KTwoYnwwKSk7YT1lO2I9ZlsoZltnPj4yXXwwKSsxOTY+PjJdfDB9ZltiKyhhPDw2KSs4Pj4yXT0w
O2ZbYisoYTw8Nik+PjJdPTA7Yz1ESCg4KXwwO2c9ZltnPj4yXXwwO2U9ZltnKzE5Nj4+Ml18MDtm
W2UrKGE8PDYpKzEyPj4yXT1jO2ZbZSsoYTw8NikrND4+Ml09YztmW2UrKGE8PDYpKzU2Pj4yXT0w
O3BbZSsoYTw8NikrMjQ+PjNdPTEuMDtwW2UrKGE8PDYpKzE2Pj4zXT0xLjA7cFtlKyhhPDw2KSs0
MD4+M109MS4wO3BbZSsoYTw8NikrMzI+PjNdPTEuMDtnPWcrMjM2fDA7ZFtnPj4xXT0oZFtnPj4x
XXwwKSstMTw8MTY+PjE2O3JldHVybn1mdW5jdGlvbiBibShhKXthPWF8MDt2YXIgYz0wLGQ9MCxl
PTAuMCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MC4wLHE9MC4wLHI9MC4wO2k9
YSsxNnwwO2lmKGZbKGZbaT4+Ml18MCkrOTY+PjJdfDApe2w9YSs0OHwwO2o9cmcoZlsoKGZbYT4+
Ml0mM3wwKT09Mz9hOmwpKzQwPj4yXXwwKXwwO2M9ZlsoZlsoZlsoKGZbYT4+Ml0mM3wwKT09Mz9h
OmwpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwO2s9Y20oaixhKXwwO209aisxNnwwO2Q9
ZlttPj4yXXwwO2c9ZltkKzE5Nj4+Ml18MDtuPWMrLTF8MDtoPWZbZltnKyhuPDw2KSs0Pj4yXT4+
Ml18MDtpZighaCllPStwW2crKGM8PDYpKzI0Pj4zXSsgK3BbKGZbKGZbZltnKyhjPDw2KSs0Pj4y
XT4+Ml18MCkrMTY+PjJdfDApKzI0Pj4zXSsgKyhmW2QrMjUyPj4yXXwwKTtlbHNlIGU9K3BbKGZb
aCsxNj4+Ml18MCkrMjQ+PjNdLStwW2crKG48PDYpKzE2Pj4zXTtjPWRtKGosbixrKXwwO2o9Zlso
ZltpPj4yXXwwKSs5Nj4+Ml18MDtxPStwW2orMjQ+PjNdO289K3BbaiszMj4+M107aT0oZlsoZltt
Pj4yXXwwKSsxMTY+PjJdJjF8MCk9PTA7cj1pP286cTtnPWMrMTZ8MDtkPWZbZz4+Ml18MDtwW2Qr
ODA+PjNdPXI7az1+fihyKi41KTtvPShpP3E6bykqLjU7cFtkKzk2Pj4zXT1vO3BbZCs4OD4+M109
bztmW2QrMTA0Pj4yXT1qO3BbZCsyND4+M109KyhrK35+ZXwwKTtkPXloKGMsZlsoKGZbYT4+Ml0m
M3wwKT09Mz9hOmwpKzQwPj4yXXwwLGEpfDA7ZD1mW2QrMTY+PjJdfDA7cFtkKzE2Pj4zXT0tK3Bb
KGZbZz4+Ml18MCkrODg+PjNdO3BbZCs1Nj4+M109K3BbKGZbKGZbKChmW2E+PjJdJjN8MCk9PTM/
YTpsKSs0MD4+Ml18MCkrMTY+PjJdfDApKzk2Pj4zXTtiW2QrMTEyPj4wXT00O2Q9YSstNDh8MDtj
PXloKGMsZlsoKGZbYT4+Ml0mM3wwKT09Mj9hOmQpKzQwPj4yXXwwLGEpfDA7Zz1mW2c+PjJdfDA7
Yz1mW2MrMTY+PjJdfDA7cFtjKzE2Pj4zXT0rcFtnKzk2Pj4zXTtwW2MrNTY+PjNdPStwWyhmWyhm
WygoZlthPj4yXSYzfDApPT0yP2E6ZCkrNDA+PjJdfDApKzE2Pj4yXXwwKSs4OD4+M107YltjKzEx
Mj4+MF09NDtjPWZbKGZbbT4+Ml18MCkrMTk2Pj4yXXwwO2Q9Yysobjw8NikrMTZ8MDtlPSsoa3ww
KTtpZigrcFtkPj4zXTxlKXBbZD4+M109ZTtjPWMrKG48PDYpKzI0fDA7aWYoK3BbYz4+M108ZSlw
W2M+PjNdPWU7ZltnKzExMj4+Ml09YX1yZXR1cm59ZnVuY3Rpb24gY20oYSxiKXthPWF8MDtiPWJ8
MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wO209dDt0PXQrMzJ8
MDtqPW07ZT1tKzIwfDA7Zz1tKzE2fDA7Yz1mW2I+PjJdJjM7ZD1mWygoY3wwKT09Mz9iOmIrNDh8
MCkrNDA+PjJdfDA7az0oZlsoZltkKzE2Pj4yXXwwKSsyMzI+PjJdfDApKy0xfDA7YT1mWyhmW2Er
MTY+PjJdfDApKzE5Nj4+Ml18MDtoPWZbYSsoazw8NikrND4+Ml18MDthPWZbYSsoazw8Nik+PjJd
fDA7az1qKzh8MDtmW2s+PjJdPS0xO2Zbaj4+Ml09LTE7bD1qKzEyfDA7ZltsPj4yXT1hO2k9ais0
fDA7ZltpPj4yXT1hO2VtKGQsZlsoKGN8MCk9PTI/YjpiKy00OHwwKSs0MD4+Ml18MCxlLGcpO2U9
ZltlPj4yXXwwO2c9ZltnPj4yXXwwO2M9MDtkPWE7Yj0tMTt3aGlsZSgxKXtpZigoY3wwKT49KGR8
MCkpYnJlYWs7ZD1kKy0xfDA7Zm0oZltoKyhjPDwyKT4+Ml18MCxqLGUsZyk7aWYoKGN8MCkhPShk
fDApKWZtKGZbaCsoZDw8Mik+PjJdfDAsaixlLGcpO2E9ZltpPj4yXXwwO2I9ZltqPj4yXXwwO2lm
KChhLWJ8MCk8MilicmVhaztlbHNlIGM9YysxfDB9aWYoKGJ8MCk+KGF8MCkpYT0oZltsPj4yXXww
KSsoZltrPj4yXXwwKXwwO2Vsc2UgYT1hK2J8MDt0PW07cmV0dXJuIChhKzF8MCkvMnwwfDB9ZnVu
Y3Rpb24gZG0oYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0w
O2c9YSsxNnwwO2U9ZlsoZltnPj4yXXwwKSsxOTY+PjJdfDA7ZD1lKyhiPDw2KXwwO2U9ZltlKyhi
PDw2KSs0Pj4yXXwwO2lmKCFlKWU9RUgoKGZbZD4+Ml08PDIpKzh8MCl8MDtlbHNlIGU9R0goZSwo
ZltkPj4yXTw8MikrOHwwKXwwO2Q9ZlsoZltnPj4yXXwwKSsxOTY+PjJdfDA7ZltkKyhiPDw2KSs0
Pj4yXT1lO2Q9ZltkKyhiPDw2KT4+Ml18MDt3aGlsZSgxKXtpZigoZHwwKTw9KGN8MCkpYnJlYWs7
aD1kKy0xfDA7aT1mW2UrKGg8PDIpPj4yXXwwO2ZbZSsoZDw8Mik+PjJdPWk7aT0oZltpKzE2Pj4y
XXwwKSsyMzZ8MDtmW2k+PjJdPShmW2k+PjJdfDApKzE7ZD1ofWg9RGgoYSl8MDtpPWUrKGM8PDIp
fDA7ZltpPj4yXT1oO2g9ZltoKzE2Pj4yXXwwO2ZbaCsyMzY+PjJdPWM7ZltoKzIzMj4+Ml09Yjtn
PShmWyhmW2c+PjJdfDApKzE5Nj4+Ml18MCkrKGI8PDYpfDA7aD0oZltnPj4yXXwwKSsxfDA7Zltn
Pj4yXT1oO2ZbZSsoaDw8Mik+PjJdPTA7cmV0dXJuIGZbaT4+Ml18MH1mdW5jdGlvbiBlbShhLGIs
YyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wO2E9ZlsoZlthKzE2Pj4yXXwwKSsy
MzY+PjJdfDA7Yj1mWyhmW2IrMTY+PjJdfDApKzIzNj4+Ml18MDtlPShhfDApPihifDApO2ZbYz4+
Ml09ZT9iOmE7ZltkPj4yXT1lP2E6YjtyZXR1cm59ZnVuY3Rpb24gZm0oYSxjLGQsZSl7YT1hfDA7
Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDtsPXQ7dD10
KzE2fDA7aD1sKzR8MDtnPWw7YT1mW2ErMTY+PjJdfDA7ZG8gaWYoKGJbYSsxNTY+PjBdfDApPT0x
KXtrPWZbYSsyMzY+PjJdfDA7aWYoZlthKzE3Nj4+Ml18MCl7aT1mW2ErMTgwPj4yXXwwO2E9MDtn
PTA7aD0wO3doaWxlKDEpe2o9ZltpKyhoPDwyKT4+Ml18MDtpZighailicmVhazttPWZbKGZbKGZb
KChmW2o+PjJdJjN8MCk9PTI/ajpqKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzNj4+Ml18
MDtqPShtfDApPihkfDApO2E9aj8oKG18MCk8KGV8MCk/YToxKTphO2c9aj9nOjE7aD1oKzF8MH1p
ZihnPDwyND4+MjQhPTAmYTw8MjQ+PjI0PT0wKXtmW2M+PjJdPWsrMTticmVha31pZighKGc8PDI0
Pj4yND09MCZhPDwyND4+MjQhPTApKWJyZWFrO2ZbYys0Pj4yXT1rKy0xO2JyZWFrfWlmKChmW2Er
MTg0Pj4yXXwwKSE9Mil4YSgxMDA0MjksMTAwNDQ5LDYzLDEwMDQ1Nik7aT1mW2ErMTgwPj4yXXww
O209ZltpPj4yXXwwO2k9ZltpKzQ+PjJdfDA7ZW0oZlsoKGZbbT4+Ml0mM3wwKT09Mj9tOm0rLTQ4
fDApKzQwPj4yXXwwLGZbKChmW2k+PjJdJjN8MCk9PTI/aTppKy00OHwwKSs0MD4+Ml18MCxoLGcp
O2k9ZltnPj4yXXwwO2lmKChpfDApPD0oZHwwKSl7ZltjPj4yXT1rO2ZbYys4Pj4yXT1rO2JyZWFr
fWE9ZltoPj4yXXwwO2lmKChhfDApPj0oZXwwKSl7ZltjKzQ+PjJdPWs7ZltjKzEyPj4yXT1rO2Jy
ZWFrfWc9KGF8MCk8KGR8MCk7aD0oaXwwKT4oZXwwKTtpZighKGgmZykpe2lmKCEoIWc/ISgoaXww
KTwoZXwwKSYoYXwwKT09KGR8MCkpOjApKWZbYys4Pj4yXT1rO2lmKCFoPyEoKGl8MCk9PShlfDAp
JihhfDApPihkfDApKTowKWJyZWFrO2ZbYysxMj4+Ml09a319d2hpbGUoMCk7dD1sO3JldHVybn1m
dW5jdGlvbiBnbShhKXthPWF8MDtmWzQ4MzI1XT0xO0FtKGEpO2ZbNDgzMjVdPTA7cmV0dXJufWZ1
bmN0aW9uIGhtKGEpe2E9YXwwO2ZbNDgzMjVdPTI7QW0oYSk7Zls0ODMyNV09MDtyZXR1cm59ZnVu
Y3Rpb24gaW0oYSl7YT1hfDA7dmFyIGI9MDtKeihhLDE0NTcxNywzMDQsMSl8MDttTShhKTtiPShu
eihhKXwwKSsxNnwwO2I9REgoKGpbKGZbYj4+Ml18MCkrMTc2Pj4xXXwwKTw8Myl8MDtmWyhmW2Er
MTY+PjJdfDApKzEzMj4+Ml09YjtiPShueihhKXwwKSsxNnwwO2tOKGEsZlsoZltiPj4yXXwwKSsx
MTY+PjJdJjEpO3JldHVybn1mdW5jdGlvbiBqbShhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtl
PWV8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MCxzPTAu
MCx1PTAuMDtyPXQ7dD10KzY0fDA7aT1yKzQ4fDA7bT1yKzQwfDA7aj1yKzI0fDA7aD1yKzh8MDtv
PXIrNTZ8MDtrPXI7ZG8gaWYoKGF8MCkhPTA/KHE9ZCsxNnwwLG49ZlsoZltxPj4yXXwwKSsxMzI+
PjJdfDAsZz1IeChkLGEpfDAsKGJbZz4+MF18MCkhPTApOjApe2Jbbz4+MF09MDthPW4rOHwwO2lm
KChmWzQ4MzI4XXwwKT4yPyhmW2g+PjJdPW4sZltoKzQ+PjJdPWEsZltoKzg+PjJdPW4rMTYsZlto
KzEyPj4yXT1vLChNMShnLDEwMDU2MixoKXwwKT4yKTowKXtiWyhmW3E+PjJdfDApKzExOT4+MF09
MTtnPWZbNDgzMjhdfDA7YTpkbyBpZigrcFsyNDAyM10+MC4wKXthPTA7d2hpbGUoMSl7aWYoKGF8
MCk+PShnfDApKWJyZWFrIGE7bT1uKyhhPDwzKXwwO3BbbT4+M109K3BbbT4+M10vK3BbMjQwMjNd
O2E9YSsxfDB9fXdoaWxlKDApO2lmKChnfDApPjMpUW4oZCxlLDMpO2lmKChiW28+PjBdfDApIT0z
Myl7aWYoIWMpe2E9MTticmVha31pZighKChaTChIeChkLGMpfDApfDApPDwyND4+MjQpKXthPTE7
YnJlYWt9fWJbKGZbcT4+Ml18MCkrMTE5Pj4wXT0zO2E9MTticmVha31mW2o+PjJdPW47ZltqKzQ+
PjJdPWE7ZltqKzg+PjJdPW87aWYoKE0xKGcsMTEwMDc1LGopfDApPD0xKXthPUF5KGQpfDA7Zltp
Pj4yXT1hO2ZbaSs0Pj4yXT1nO1l3KDEsMTAwNTc2LGkpfDA7YT0wO2JyZWFrfWJbKGZbcT4+Ml18
MCkrMTE5Pj4wXT0xO2c9Zls0ODMyOF18MDtiOmRvIGlmKCtwWzI0MDIzXT4wLjApe2E9MDt3aGls
ZSgxKXtpZigoYXwwKT49KGd8MCkpYnJlYWsgYjtqPW4rKGE8PDMpfDA7cFtqPj4zXT0rcFtqPj4z
XS8rcFsyNDAyM107YT1hKzF8MH19d2hpbGUoMCk7ZG8gaWYoKGd8MCk+Mil7YT1mWzQ4MzYzXXww
O2lmKChhfDA/KGw9SHgoZCxhKXwwLGx8MCk6MCk/KGZbbT4+Ml09aywoTTEobCwxMDk1MzUsbSl8
MCk9PTEpOjApe3U9K3BbMjQwMjNdO3M9K3Bbaz4+M107cFtuKzE2Pj4zXT11PjAuMD9zL3U6cztR
bihkLGUsMyk7YnJlYWt9Um4oZCxlKX13aGlsZSgwKTtpZigoYltvPj4wXXwwKSE9MzMpe2lmKCFj
KXthPTE7YnJlYWt9aWYoISgoWkwoSHgoZCxjKXwwKXwwKTw8MjQ+PjI0KSl7YT0xO2JyZWFrfX1i
WyhmW3E+PjJdfDApKzExOT4+MF09MzthPTF9ZWxzZSBhPTA7d2hpbGUoMCk7dD1yO3JldHVybiBh
fDB9ZnVuY3Rpb24ga20oYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yz0keShhKXwwO3doaWxlKDEpe2lm
KCFjKWJyZWFrO2I9TngoYSxjKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFrO1NNKGIpO2I9UHgoYSxi
KXwwfVFNKGMpO2M9YXooYSxjKXwwfWxtKGEpO3JldHVybn1mdW5jdGlvbiBsbShhKXthPWF8MDtp
ZigoZls0ODMyNV18MCkhPTB8KGZbNDgxNjhdfDApPDApT24oYSk7aWYoKG96KGEpfDApIT0oYXww
KSlQeihhLDAsMTQ1NzUzKTtyZXR1cm59ZnVuY3Rpb24gbW0oYSxjKXthPWF8MDtjPWN8MDt2YXIg
ZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MDtvPXQ7dD10KzQ4fDA7
az1vKzMyfDA7bT1vO2o9d3goYSwwLDExMDk2MywwKXwwO2Q9d3goYSwwLDExMDk5NywwKXwwO249
KF9MKEd4KGEsMTAwNjIwKXwwLDApfDApPDwyND4+MjQhPTA7aWYoIWQpZD13eChhLDAsMTEwOTk3
LDE5NDg3MCl8MDtObihhKXwwO2w9YSsxNnwwO2g9MDt3aGlsZSgxKXtpPWZbKGZbKGZbbD4+Ml18
MCkrMTUyPj4yXXwwKSsoaDw8Mik+PjJdfDA7aWYoIWkpe2U9MTI7YnJlYWt9Zz1pKzE2fDA7ZT1m
W2c+PjJdfDA7aWYoIShiW2UrMTE5Pj4wXXwwKSl7aWYoYSQoQXkoaSl8MCwxMTYzMzIsNyl8MCl7
ZT04O2JyZWFrfWU9ZltnPj4yXXwwfWU9ZltlKzEwOD4+Ml18MDtpZihlfDApbm0oaSxlLDExMDk1
OSk7aD1oKzF8MH1hOmRvIGlmKChlfDApPT04KXtuPUF5KGkpfDA7ZD1BeShhKXwwO2Zbaz4+Ml09
bjtmW2srND4+Ml09ZDtZdygxLDEwMDYzMixrKXwwO2Q9LTF9ZWxzZSBpZigoZXwwKT09MTIpe29t
KGEsaixkKTtpPXBtKGEpfDA7ZD1mWyhmW2w+PjJdfDApKzg+PjJdfDA7aWYoIShmW2QrODg+PjJd
fDApKWQ9MDtlbHNle2ZbZCs4ND4+Ml09MDtkPTF9Zz0oY3wwKSE9MDtoPShkfDApIT0wO2lmKCEo
aHxnJihmWzQ4MzI1XXwwKT09MV4xKT8oQ3EoYSl8MCkhPTA6MCl7ZT1mWyhmW2w+PjJdfDApKzEy
Pj4yXXwwO2lmKCFlKWU9MTtlbHNle2JbZSs4MT4+MF09MDtlPTF9fWVsc2UgZT0wO3ZNKGEpO2lm
KGgpe2M9KGZbbD4+Ml18MCkrMTZ8MDtoRihtLGEpO2ZbYz4+Ml09ZlttPj4yXTtmW2MrND4+Ml09
ZlttKzQ+PjJdO2ZbYys4Pj4yXT1mW20rOD4+Ml07ZltjKzEyPj4yXT1mW20rMTI+PjJdO2ZbYysx
Nj4+Ml09ZlttKzE2Pj4yXTtmW2MrMjA+PjJdPWZbbSsyMD4+Ml07ZltjKzI0Pj4yXT1mW20rMjQ+
PjJdO2ZbYysyOD4+Ml09ZlttKzI4Pj4yXX1pZighZyl7Zls0ODMyOV09MTtlPSR5KGEpfDA7d2hp
bGUoMSl7aWYoIWUpYnJlYWsgYTtuPWZbZSsxNj4+Ml18MDttPWZbbisxMzI+PjJdfDA7cFtuKzE2
Pj4zXT0rcFttPj4zXSo3Mi4wO3BbbisyND4+M109K3BbbSs4Pj4zXSo3Mi4wO2U9YXooYSxlKXww
fX1kbyBpZighKG58aCkpe249ZltsPj4yXXwwO2lmKCEoK3BbbisxNj4+M10hPTAuMCk/ISgrcFtu
KzI0Pj4zXSE9MC4wKTowKWJyZWFrO21uKGEpfXdoaWxlKDApO2lmKCEoKGl8MCkhPTAmKGV8KGtu
KGEpfDApPDwyND4+MjQhPTApKSl7aWYoKGl8MCk9PTIpe2ZbNDgzMjldPTE7YnJlYWt9fWVsc2Ug
cW0oYSk7am4oYSwwKX13aGlsZSgwKTt0PW87cmV0dXJuIGR8MH1mdW5jdGlvbiBubShhLGMsZCl7
YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTA7aj10O3Q9dCs0OHwwO2k9
aiszMnwwO2U9aisyNHwwO2c9aisxNnwwO2g9ajthPUd4KGEsZCl8MDtpZihhfDA/KGZbaT4+Ml09
ZSxmW2krND4+Ml09ZywoTTEoYSwxMTM4MjksaSl8MCk9PTIpOjApe2k9Yys1NnwwO3RtKGgsK3Bb
ZT4+M10sK3BbZz4+M10pO2ZbaT4+Ml09ZltoPj4yXTtmW2krND4+Ml09ZltoKzQ+PjJdO2ZbaSs4
Pj4yXT1mW2grOD4+Ml07ZltpKzEyPj4yXT1mW2grMTI+PjJdO2JbYys4MT4+MF09MX10PWo7cmV0
dXJufWZ1bmN0aW9uIG9tKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAs
aT0wLGo9MCxrPTAsbD0wO2s9dDt0PXQrNDh8MDtqPWsrMzJ8MDtlPWsrMjR8MDtnPWsrMTZ8MDto
PWs7aT1hKzE2fDA7aWYoKGN8MD8oZlsoZltpPj4yXXwwKSsxMj4+Ml18MCkhPTA6MCk/KGw9SHgo
YSxjKXwwLGZbaj4+Ml09ZSxmW2orND4+Ml09ZywoTTEobCwxMTM4Mjksail8MCk9PTIpOjApe2w9
KGZbKGZbaT4+Ml18MCkrMTI+PjJdfDApKzU2fDA7dG0oaCwrcFtlPj4zXSwrcFtnPj4zXSk7Zlts
Pj4yXT1mW2g+PjJdO2ZbbCs0Pj4yXT1mW2grND4+Ml07ZltsKzg+PjJdPWZbaCs4Pj4yXTtmW2wr
MTI+PjJdPWZbaCsxMj4+Ml07YlsoZlsoZltpPj4yXXwwKSsxMj4+Ml18MCkrODE+PjBdPTF9YTpk
byBpZihkfDApe2U9RkEoYSl8MDt3aGlsZSgxKXtpZighZSlicmVhayBhO3VtKGUsYSxjLGQpO2U9
R0EoZSl8MH19d2hpbGUoMCk7dD1rO3JldHVybn1mdW5jdGlvbiBwbShhKXthPWF8MDt2YXIgYj0w
LGM9MCxkPTAsZT0wLGc9MDtpZihreShhKXwwKXtlPXd4KGEsMiwxMTA5NDksMCl8MDtpZighKChl
fDApPT0wfChmWzQ4MzI1XXwwKTwyKSl7Yj0wO2Q9JHkoYSl8MDt3aGlsZSgxKXtpZighZClicmVh
aztjPU54KGEsZCl8MDt3aGlsZSgxKXtpZighYylicmVhaztnPWIrKChybShlLGMpfDApIT0wJjEp
fDA7Yz1QeChhLGMpfDA7Yj1nfWQ9YXooYSxkKXwwfWlmKGIpe2I9KGJ8MCk9PShreShhKXwwKTti
PWI/MjoxfWVsc2UgYj0wfWVsc2UgYj0wfWVsc2UgYj0yO3JldHVybiBifDB9ZnVuY3Rpb24gcW0o
YSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO2M9JHkoYSl8MDt3aGlsZSgxKXtpZighYylicmVhazti
PU54KGEsYyl8MDt3aGlsZSgxKXtpZighYilicmVhaztUTShiKTtkPWIrMTZ8MDt3SChmWyhmW2Q+
PjJdfDApKzk2Pj4yXXwwKTt3SChmWyhmW2Q+PjJdfDApKzEwOD4+Ml18MCk7d0goZlsoZltkPj4y
XXwwKSsxMDA+PjJdfDApO3dIKGZbKGZbZD4+Ml18MCkrMTA0Pj4yXXwwKTtiPVB4KGEsYil8MH1j
PWF6KGEsYyl8MH1yZXR1cm59ZnVuY3Rpb24gcm0oYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9
MCxnPTAuMCxoPTAuMCxpPTAuMCxqPTAuMCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0w
LHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MDtCPXQ7dD10Kzk2fDA7ej1C
KzcyfDA7eD1CKzU2fDA7QT1CKzQ4fDA7eT1CKzMyfDA7dz1CKzE2fDA7cT1CKzg4fDA7cj1CKzh8
MDtzPUI7dT1CKzg0fDA7dj1CKzgwfDA7YT1IeChjLGEpfDA7ZG8gaWYoYlthPj4wXXwwKXtCRShj
LHUsdik7bz0xO2U9MDtkPTA7aT0wLjA7aD0wLjA7aj0wLjA7Zz0wLjA7YTp3aGlsZSgxKXtmW3c+
PjJdPXI7Zlt3KzQ+PjJdPXM7Zlt3Kzg+PjJdPXE7aWYoKE0xKGEsMTAwNjY5LHcpfDApPT0yKXtu
PTE7YT1hKyhmW3E+PjJdfDApfDA7aD0rcFtyPj4zXTtnPStwW3M+PjNdfWVsc2Ugbj1kO2ZbeT4+
Ml09cjtmW3krND4+Ml09cztmW3krOD4+Ml09cTtpZigoTTEoYSwxMDA2ODEseSl8MCk9PTIpe209
MTthPWErKGZbcT4+Ml18MCl8MDtpPStwW3I+PjNdO2o9K3Bbcz4+M119ZWxzZSBtPWU7az1zbShh
KXwwO2lmKCEoKGt8MCk+MyYoKGt8MCklM3wwfDApPT0xKSl7ZD04O2JyZWFrfWw9RUgoazw8NCl8
MDtkPWw7ZT1rO3doaWxlKDEpe2lmKCFlKWJyZWFrO2ZbeD4+Ml09cjtmW3grND4+Ml09cztmW3gr
OD4+Ml09cTtpZigoTTEoYSwxMDA3NTEseCl8MCk8Mil7ZD0xNDticmVhayBhfUM9YSsoZltxPj4y
XXwwKXwwO3BbZD4+M109K3Bbcj4+M107cFtkKzg+PjNdPStwW3M+PjNdO2Q9ZCsxNnwwO2U9ZSst
MXwwO2E9Q313aGlsZSgxKXtkPWJbYT4+MF18MDtlPWErMXwwO2lmKCEoUCQoZDw8MjQ+PjI0KXww
KSlicmVhaztlbHNlIGE9ZX1DPWQ8PDI0Pj4yND09MDthPUM/YTplO289Qz8wOm87ZT1ZSyhjLGsp
fDA7aWYobnwwKXtmW2UrOD4+Ml09Zlt1Pj4yXTtwW2UrMTY+PjNdPWg7cFtlKzI0Pj4zXT1nfWlm
KG18MCl7ZltlKzEyPj4yXT1mW3Y+PjJdO3BbZSszMj4+M109aTtwW2UrNDA+PjNdPWp9ZD0wO3do
aWxlKDEpe2lmKChkfDApPj0oa3wwKSlicmVhaztDPShmW2U+PjJdfDApKyhkPDw0KXwwO0Q9bCso
ZDw8NCl8MDtmW0M+PjJdPWZbRD4+Ml07ZltDKzQ+PjJdPWZbRCs0Pj4yXTtmW0MrOD4+Ml09ZltE
Kzg+PjJdO2ZbQysxMj4+Ml09ZltEKzEyPj4yXTtkPWQrMXwwfU1fKGwpO2lmKCFvKXtkPTI3O2Jy
ZWFrfWVsc2V7ZT1tO2Q9bn19aWYoKGR8MCk9PTgpe1RNKGMpO2lmKGJbMTk0ODYzXXwwKXthPTA7
YnJlYWt9YlsxOTQ4NjNdPTE7RD1BeShmWygoZltjPj4yXSYzfDApPT0zP2M6Yys0OHwwKSs0MD4+
Ml18MCl8MDthPUF5KGZbKChmW2M+PjJdJjN8MCk9PTI/YzpjKy00OHwwKSs0MD4+Ml18MCl8MDtm
W0E+PjJdPUQ7ZltBKzQ+PjJdPWE7WXcoMCwxMDA2OTQsQSl8MDthPTA7YnJlYWt9ZWxzZSBpZigo
ZHwwKT09MTQpe2lmKCEoYlsxOTQ4NjNdfDApKXtiWzE5NDg2M109MTtDPUF5KGZbKChmW2M+PjJd
JjN8MCk9PTM/YzpjKzQ4fDApKzQwPj4yXXwwKXwwO0Q9QXkoZlsoKGZbYz4+Ml0mM3wwKT09Mj9j
OmMrLTQ4fDApKzQwPj4yXXwwKXwwO2Zbej4+Ml09QztmW3orND4+Ml09RDtZdygwLDEwMDc2MSx6
KXwwfU1fKGwpO1RNKGMpO2E9MDticmVha31lbHNlIGlmKChkfDApPT0yNyl7ZT1jKzE2fDA7YT1m
W2U+PjJdfDA7ZD1mW2ErOTY+PjJdfDA7aWYoZCl7bm0oYyxkLDExMDk2Myk7YT1mW2U+PjJdfDB9
ZD1mW2ErMTA4Pj4yXXwwO2lmKGQpe25tKGMsZCwxMTA5NTkpO2E9ZltlPj4yXXwwfWQ9ZlthKzEw
MD4+Ml18MDtpZihkKXtubShjLGQsMTEwOTY2KTthPWZbZT4+Ml18MH1hPWZbYSsxMDQ+PjJdfDA7
aWYoIWEpe2E9MTticmVha31ubShjLGEsMTEwOTc0KTthPTE7YnJlYWt9fWVsc2UgYT0wO3doaWxl
KDApO3Q9QjtyZXR1cm4gYXwwfWZ1bmN0aW9uIHNtKGEpe2E9YXwwO3ZhciBjPTAsZD0wO2Q9MDtk
b3t3aGlsZSgxKXtjPWJbYT4+MF18MDtpZighKFAkKGMmMjU1KXwwKSlicmVhaztlbHNlIGE9YSsx
fDB9YTpkbyBpZighKGM8PDI0Pj4yNCkpYz0wO2Vsc2V7ZD1kKzF8MDt3aGlsZSgxKXtpZighKGM8
PDI0Pj4yNCkpe2M9MDticmVhayBhfWlmKGM8PDI0Pj4yND09NTl8KFAkKGMmMjU1KXwwKSE9MCli
cmVhayBhO2M9YSsxfDA7YT1jO2M9YltjPj4wXXwwfX13aGlsZSgwKX13aGlsZSgoUCQoYyYyNTUp
fDApIT0wKTtyZXR1cm4gZHwwfWZ1bmN0aW9uIHRtKGEsYixjKXthPWF8MDtiPStiO2M9K2M7cFth
Pj4zXT1iO3BbYSs4Pj4zXT1jO3JldHVybn1mdW5jdGlvbiB1bShhLGIsYyxkKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wO2g9dDt0PXQrMzJ8MDtlPWg7aWYoKGEk
KEF5KGEpfDAsMTE2MzMyLDcpfDApPT0wPyh2bShhLGQsZSl8MCkhPTA6MCl7SnooYSwxNDU3NTMs
MjgwLDEpfDA7aT0oZlthKzE2Pj4yXXwwKSsxNnwwO2ZbaT4+Ml09ZltlPj4yXTtmW2krND4+Ml09
ZltlKzQ+PjJdO2ZbaSs4Pj4yXT1mW2UrOD4+Ml07ZltpKzEyPj4yXT1mW2UrMTI+PjJdO2ZbaSsx
Nj4+Ml09ZltlKzE2Pj4yXTtmW2krMjA+PjJdPWZbZSsyMD4+Ml07ZltpKzI0Pj4yXT1mW2UrMjQ+
PjJdO2ZbaSsyOD4+Ml09ZltlKzI4Pj4yXTt3bShiLGEpO29tKGEsYyxkKX1lbHNlIGc9NDthOmRv
IGlmKChnfDApPT00KXthPUZBKGEpfDA7d2hpbGUoMSl7aWYoIWEpYnJlYWsgYTt1bShhLGIsYyxk
KTthPUdBKGEpfDB9fXdoaWxlKDApO3Q9aDtyZXR1cm59ZnVuY3Rpb24gdm0oYSxiLGMpe2E9YXww
O2I9YnwwO2M9Y3wwO3ZhciBkPTAuMCxlPTAuMCxnPTAsaD0wLGk9MCxqPTA7aD10O3Q9dCs0OHww
O2k9aCszMnwwO2c9aDtqPUh4KGEsYil8MDthPWcrOHwwO2I9ZysyNHwwO2ZbaT4+Ml09ZztmW2kr
ND4+Ml09YTtmW2krOD4+Ml09ZysxNjtmW2krMTI+PjJdPWI7aWYoKE0xKGosMTAwODA5LGkpfDAp
PT00KXtkPStwW2E+PjNdO2U9K3BbYj4+M107aWYoZD5lKXtwW2E+PjNdPWU7cFtiPj4zXT1kfTtm
W2M+PjJdPWZbZz4+Ml07ZltjKzQ+PjJdPWZbZys0Pj4yXTtmW2MrOD4+Ml09ZltnKzg+PjJdO2Zb
YysxMj4+Ml09ZltnKzEyPj4yXTtmW2MrMTY+PjJdPWZbZysxNj4+Ml07ZltjKzIwPj4yXT1mW2cr
MjA+PjJdO2ZbYysyND4+Ml09ZltnKzI0Pj4yXTtmW2MrMjg+PjJdPWZbZysyOD4+Ml07YT0xfWVs
c2UgYT0wO3Q9aDtyZXR1cm4gYXwwfWZ1bmN0aW9uIHdtKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9
MCxkPTAsZT0wLGc9MDtkPWErMTZ8MDtjPWZbZD4+Ml18MDtnPWMrMTgwfDA7YT1mW2c+PjJdfDA7
ZT1hKzF8MDtmW2c+PjJdPWU7Yz1mW2MrMTg0Pj4yXXwwO2lmKCFjKWE9REgoKGE8PDIpKzh8MCl8
MDtlbHNlIGE9RkgoYyxhKzJ8MCw0LGUpfDA7ZlsoZltkPj4yXXwwKSsxODQ+PjJdPWE7ZlthKyhl
PDwyKT4+Ml09YjtvSChiKTtyZXR1cm59ZnVuY3Rpb24geG0oYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9
ZHwwO3ZhciBlPTAsZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7bT10O3Q9dCs0OHwwO2w9bSs0MHww
O2s9bSszMnwwO2k9bTtqPW0rNDR8MDtnPUd4KGEsMTAwODI1KXwwO2RvIGlmKChnfDApIT0wPyhl
PWJbZz4+MF18MCxlPDwyND4+MjQhPTApOjApe2U9ZSYyNTU7aWYoISgkMihlKXwwKSlpZigoY3ww
KT09MnwoZSstNDh8MCk+Pj4wPDEwKWM9ZztlbHNlIGJyZWFrO2Vsc2V7aWYoIShhJChnLDEwMDgz
MSw0KXwwKSl7Yz0wO2JyZWFrfWlmKCEoYSQoZywxMTM4MzcsNyl8MCkpe2M9MTticmVha31pZihh
JChnLDEwMDgzNiw2KXwwKWlmKChjfDApPT0yKWM9ZztlbHNlIGJyZWFrO2Vsc2UgYz1nKzZ8MH1p
ZighKCgoaFtjPj4wXXwwKSstNDh8MCk+Pj4wPDEwPyhmW2s+PjJdPWosKE0xKGMsMTA4MjU5LGsp
fDApPj0xKTowKSl7az1vMigpfDA7az0obGIoMCl8MCleaztmW2o+PjJdPWs7ZltsPj4yXT1rO2Qk
KGksMTA4MjU5LGwpfDA7SXgoYSwxMDA4MjUsaSl8MH1mW2Q+PjJdPWZbaj4+Ml07Yz0yfXdoaWxl
KDApO3Q9bTtyZXR1cm4gY3wwfWZ1bmN0aW9uIHltKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2
YXIgZD0wLGU9MDtlPXQ7dD10KzE2fDA7ZD1lKzR8MDtmW2Q+PjJdPTE7Yz14bShhLGMsZCl8MDtp
ZigoY3wwKSE9MiYoZls0ODE2OV18MCkhPTApWXcoMCwxMDA4NDMsZSl8MDtpZigoY3wwKT09MSl6
bShhLGIpO2YzKGZbZD4+Ml18MCk7dD1lO3JldHVybiBjfDB9ZnVuY3Rpb24gem0oYSxjKXthPWF8
MDtjPWN8MDt2YXIgZD0wLGU9MC4wLGc9MC4wLGg9MC4wLGk9MCxqPTAsaz0wLjA7Zz0rKGN8MCk7
aD02LjI4MzE4NTMwNzE3OTU4Ni9nO2Q9JHkoYSl8MDtlPTAuMDt3aGlsZSgxKXtpZighZClicmVh
aztrPStMKCtlKSpnO2k9ZltkKzE2Pj4yXXwwO2o9ZltpKzEzMj4+Ml18MDtwW2o+PjNdPWs7az0r
TSgrZSkqZztwW2orOD4+M109aztiW2krMTE5Pj4wXT0xO2lmKChmWzQ4MzI4XXwwKT4yKVJuKGQs
Yyk7ZD1heihhLGQpfDA7ZT1lK2h9cmV0dXJufWZ1bmN0aW9uIEFtKGEpe2E9YXwwO3ZhciBjPTAs
ZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MC4wLHE9MCxyPTAuMDtx
PXQ7dD10KzgwfDA7Yz1xKzI0fDA7bD1xKzMyfDA7aj1xO249cSsyOHwwO2s9cSs2NHwwO289K3Bb
MjQwMjNdO2RvIGlmKGZbNDgzMjVdfDApe3BbMjQwMjNdPTcyLjA7Qm0oYSk7Q20oYSk7aWYoKG1t
KGEsMSl8MCk8MCl7WXcoMywxMDA4OTEsYyl8MDticmVha31lbHNle1lJKGEsMCk7ZT0zMjticmVh
a319ZWxzZXttPV9MKEd4KGEsMTAwNjIwKXwwLDApfDA7cj0rVkwoYSk7cFsyNDAyM109cjtCbShh
KTtnPURtKGEpfDA7JHAoYSxqLDApfDA7aD1FbShhKXwwO2k9Z0UoYSwwLGwpfDA7Yz1mRShhLC0x
LDgpfDA7Zls0ODE2OF09YztkPShjfDApPDA7ZG8gaWYoIWkpe2lmKChnfDApIT0wJmQpe2ZbNDgx
NjhdPTg7ZltsKzE2Pj4yXT0yO2U9MTE7YnJlYWt9ZltsKzE2Pj4yXT0yO2lmKChjfDApPD0tMSl7
Rm0oYSxnLGgpO2NxKGEsail8MDtDbShhKTtpZighKG08PDI0Pj4yNCkpe3JuKGEpO2JyZWFrfWVs
c2V7R20oYSk7YnJlYWt9fWVsc2UgZT0xMX1lbHNlIGlmKGQpe2ZbNDgxNjhdPTg7ZT0xMX1lbHNl
IGU9MTE7d2hpbGUoMCk7aWYoKGV8MCk9PTExKXtpPW1EKGEsbiwxMDA5MTksayl8MDtjPWZbbj4+
Ml18MDtkbyBpZigoY3wwKTw9MSl7Rm0oYSxnLGgpO2NxKGEsail8MDtpZighKG08PDI0Pj4yNCkp
e3JuKGEpO2JyZWFrfWVsc2V7R20oYSk7YnJlYWt9fWVsc2V7ZT1tPDwyND4+MjQ9PTA7ZD0wO3do
aWxlKDEpe2lmKChkfDApPj0oY3wwKSlicmVhaztjPWZbaSsoZDw8Mik+PjJdfDA7RUQoYyl8MDtG
bShjLGcsaCk7Y3EoYyxqKXwwO2lOKGMsMik7aWYoZSlybihjKTtlbHNlIEdtKGMpO2Q9ZCsxfDA7
Yz1mW24+PjJdfDB9aWYoIShiW2s+PjBdfDApKWQ9MDtlbHNle2Q9REgoYyl8MDtiW2Q+PjBdPTE7
Yz1mW24+PjJdfDB9ZltsKzg+PjJdPWZbNDgxNjhdO2ZbbCsyMD4+Ml09ZDtmW2wrMTI+PjJdPTE7
Y0UoYyxpLGEsbCl8MDtNXyhkKX13aGlsZSgwKTt2TShhKTtDbShhKTtjPTA7d2hpbGUoMSl7aWYo
KGN8MCk+PShmW24+PjJdfDApKWJyZWFrO2w9ZltpKyhjPDwyKT4+Ml18MDtPbihsKTtMeihsLDE0
NTc1Myl8MDtteihhLGwpfDA7Yz1jKzF8MH1NXyhpKX1ZSShhLG08PDI0Pj4yND09MCYxKTtlPTMy
fXdoaWxlKDApO2lmKChlfDApPT0zMilwWzI0MDIzXT1vO3Q9cTtyZXR1cm59ZnVuY3Rpb24gQm0o
YSl7YT1hfDA7dmFyIGI9MCxjPTAsZT0wLGc9MDtpTihhLDIpO2U9VEwoYSx3eChhLDAsMTAxNjg0
LDApfDAsMiwyKXwwO2c9KFRMKGEsd3goYSwwLDEwMjc2MCwwKXwwLGUsMil8MCkmNjU1MzU7Yj0o
b3ooYSl8MCkrMTZ8MDtkWyhmW2I+PjJdfDApKzE3Nj4+MV09ZztiPWZbKGZbYSs2MD4+Ml18MCkr
MTY+PjJdfDA7Zz1iKzE3NnwwO2M9ZFtnPj4xXXwwO2M9KGMmNjU1MzUpPDEwP2M6MTA7ZFtnPj4x
XT1jO2M9YyY2NTUzNTtmWzQ4MzI4XT1jO2RbYisxNzg+PjFdPShlfDApPChjfDApP2U6YztRbShh
KTtyZXR1cm59ZnVuY3Rpb24gQ20oYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MDtlPXQ7dD10
KzEwNDB8MDtkPWUrMTAyNHwwO2M9ZTthOmRvIGlmKChmWzQ4MzI4XXwwKT4yJihmWzQ4MzYzXXww
KSE9MCl7Yj0keShhKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFrIGE7cFtkPj4zXT0rcFsoZlsoZlti
KzE2Pj4yXXwwKSsxMzI+PjJdfDApKzE2Pj4zXSo3Mi4wO2QkKGMsMTA5NTM1LGQpfDA7QXgoYixm
WzQ4MzYzXXwwLGMpfDA7Yj1heihhLGIpfDB9fXdoaWxlKDApO3Q9ZTtyZXR1cm59ZnVuY3Rpb24g
RG0oYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wO2U9dDt0PXQrMTZ8MDtkPWU7Yz1HeChhLDEwMTYw
NCl8MDthOmRvIGlmKCFjKWE9MTtlbHNle3N3aXRjaChiW2M+PjBdfDApe2Nhc2UgMDp7YT0xO2Jy
ZWFrIGF9Y2FzZSA3NTp7aWYoIShIJChjLDEwMTYwOSl8MCkpe2E9MDticmVhayBhfWJyZWFrfWNh
c2UgMTA5OntpZighKEgkKGMsMTAxNjEyKXwwKSl7YT0xO2JyZWFrIGF9YnJlYWt9Y2FzZSAxMDQ6
e2lmKCEoSCQoYywxMDE2MTgpfDApKXthPTI7YnJlYWsgYX1icmVha31kZWZhdWx0Ont9fWE9QXko
YSl8MDtmW2Q+PjJdPWM7ZltkKzQ+PjJdPWE7WXcoMCwxMDE2MjMsZCl8MDthPTF9d2hpbGUoMCk7
dD1lO3JldHVybiBhfDB9ZnVuY3Rpb24gRW0oYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxo
PTA7aD10O3Q9dCszMnwwO2c9aCsxNnwwO2U9aCs4fDA7ZD1oO2M9R3goYSwxMDEzODcpfDA7YTpk
byBpZighYylhPTA7ZWxzZXtzd2l0Y2goYltjPj4wXXwwKXtjYXNlIDA6e2E9MDticmVhayBhfWNh
c2UgOTk6e2lmKCEoSCQoYywxMDEzOTMpfDApKXthPTE7YnJlYWsgYX1icmVha31jYXNlIDExNTp7
aWYoIShIJChjLDEwMTQwMSl8MCkpe2E9MjticmVhayBhfWlmKCEoSCQoYywxMDE0MDgpfDApKXth
PTA7YnJlYWsgYX1icmVha31jYXNlIDEwOTp7aWYoIShIJChjLDEwMTQxOCl8MCkpe2lmKHd4KGEs
MiwxMDI2OTMsMCl8MCl7YT0zO2JyZWFrIGF9YT1BeShhKXwwO2ZbZD4+Ml09YTtZdygwLDEwMTQy
MixkKXwwO1l3KDMsMTAxNDg1LGUpfDA7YT0wO2JyZWFrIGF9YnJlYWt9ZGVmYXVsdDp7fX1hPUF5
KGEpfDA7ZltnPj4yXT1jO2ZbZys0Pj4yXT1hO1l3KDAsMTAxNTQyLGcpfDA7YT0wfXdoaWxlKDAp
O3Q9aDtyZXR1cm4gYXwwfWZ1bmN0aW9uIEZtKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIg
ZD0wO2Q9R3goYSwxMDMxMDIpfDA7aWYoIWQpaWYoKGJ8MCk9PTEpZD0yMDA7ZWxzZSBkPShqeShh
KXwwKSoxMDB8MDtlbHNlIGQ9RDIoZCl8MDtmWzQ4MzI3XT1kO2Q9SG4oYSxiKXwwO2RvIGlmKCEo
KGR8MCk8MnwoZls0ODMyN118MCk8MCkpaWYoIWIpe0ltKGEsZCxjKTticmVha31lbHNle0htKGEs
ZCxiLGMsZls0ODMyOF18MCk7YnJlYWt9d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIEdtKGEpe2E9
YXwwO3ZNKGEpO2puKGEsMSk7cmV0dXJufWZ1bmN0aW9uIEhtKGEsYixjLGQsZSl7YT1hfDA7Yj1i
fDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAuMCxsPTAsbT0wLG49
MCxvPTAscT0wLHI9MCxzPTAsdT0wLHY9MDt1PXQ7dD10KzY0fDA7cT11KzQwfDA7bT11KzI0fDA7
bD11O249dSs0OHwwO3M9dSs0NHwwO289KGN8MCk9PTI7aD15bShhLGIsbz8wOjIpfDA7aT1QbShh
KXwwO2o9aXw0O3I9RUgoZTw8Mil8MDtnPUVIKFYoYjw8MyxlKXwwKXwwO2Zbcj4+Ml09ZztnPWZb
NDgzMjhdfDA7ZT0xO3doaWxlKDEpe2lmKChlfDApPj0oZ3wwKSlicmVhazt2PShmW3I+PjJdfDAp
KygoVihlLGIpfDApPDwzKXwwO2ZbcisoZTw8Mik+PjJdPXY7ZT1lKzF8MH1lPShofDApPT0wO2c9
ZT9qOmk7aWYoMCl7dj1mWzE5NDU3XXwwO2o9Zls0ODMyN118MDtrPStwWzI0MDI0XTtmW2w+PjJd
PWQ7ZltsKzQ+PjJdPWUmMTtmW2wrOD4+Ml09ZyYzO2ZbbCsxMj4+Ml09ajtwW2wrMTY+PjNdPWs7
ZzIodiwxMDEyMDAsbCl8MDtxMigxMDEyNTcsMTUsMSx2KXwwO05MKCk7cTIoMTAxMjczLDEzLDEs
dil8MH1sPUxtKGEsYixuLGMsZCxzKXwwO2lmKDApe3Y9ZlsxOTQ1N118MDtrPStPTCgpO2ZbbT4+
Ml09YjtwW20rOD4+M109aztnMih2LDEwMTI4NyxtKXwwfWlmKChjfDApIT0xKXtrPStVTChhLHd4
KGEsMCwxMDEzMDYsMCl8MCwwLjAsLTE3OTc2OTMxMzQ4NjIzMTU3MDgxNDUyNzQuMGUyODQpO2lm
KG8pe2U9UHEobCxiLGZbbj4+Ml18MCxyLGZbcz4+Ml18MCxmWzQ4MzI4XXwwLGcsZCxmWzQ4MzI3
XXwwLGspfDA7Zz0xMn1lbHNlIGc9MTR9ZWxzZXtlPXpuKGwsYixmW24+PjJdfDAscixmW3M+PjJd
fDAsZls0ODMyOF18MCxnLGQsZls0ODMyN118MCl8MDtnPTEyfWlmKChnfDApPT0xMilpZigoZXww
KTwwKVl3KDMsMTAxMzE2LHEpfDA7ZWxzZSBnPTE0O2E6ZG8gaWYoKGd8MCk9PTE0KXtnPSR5KGEp
fDA7d2hpbGUoMSl7aWYoIWcpYnJlYWsgYTtqPWZbZysxNj4+Ml18MDtoPWZbaisxMjA+PjJdfDA7
aT1mWzQ4MzI4XXwwO2o9aisxMzJ8MDtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+PShpfDApKWJyZWFr
O3BbKGZbaj4+Ml18MCkrKGU8PDMpPj4zXT0rcFsoZltyKyhlPDwyKT4+Ml18MCkrKGg8PDMpPj4z
XTtlPWUrMXwwfWc9YXooYSxnKXwwfX13aGlsZSgwKTtrcihsKTtNXyhmW3I+PjJdfDApO01fKHIp
O01fKGZbcz4+Ml18MCk7dD11O3JldHVybn1mdW5jdGlvbiBJbShhLGIsYyl7YT1hfDA7Yj1ifDA7
Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxpPTAuMDtnPXQ7dD10KzQ4fDA7ZT1nKzMyfDA7ZD1n
O3N3aXRjaChjfDApe2Nhc2UgMjp7Sm0oYSxiKTticmVha31jYXNlIDE6e2lmKCEoTHEoYSxiKXww
KSl7aD1BeShhKXwwO2ZbZD4+Ml09aDtZdygwLDEwMDkyOSxkKXwwO1l3KDMsMTA0MDc5LGcrOHww
KXwwO1l3KDMsMTAwOTgxLGcrMTZ8MCl8MDtZdygzLDEwMTA1MyxnKzI0fDApfDA7ZW8oYSxiKX1i
cmVha31kZWZhdWx0OntlbyhhLGIpO2lmKChjfDApPT0zKUttKGEpfX1UbihhLGIpO1VuKGEsYik7
aWYoMCl7aD1mWzE5NDU3XXwwO2Q9Zls0ODMyN118MDtpPStwWzI0MDI0XTtmW2U+PjJdPWM7Zltl
KzQ+PjJdPWQ7cFtlKzg+PjNdPWk7ZzIoaCwxMDEwOTEsZSl8MDtOTCgpfVZuKGEsYik7dD1nO3Jl
dHVybn1mdW5jdGlvbiBKbShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0w
LGk9MDtpPXQ7dD10KzE2fDA7Zz1MbShhLGIsaSwwLDIsMCl8MDtoPW1zKGcsYil8MDtkPWErMTZ8
MDthPTA7d2hpbGUoMSl7aWYoKGF8MCk+PShifDApKWJyZWFrO2U9aCsoYTw8Mil8MDtjPTA7d2hp
bGUoMSl7aWYoKGN8MCk9PShifDApKWJyZWFrO3BbKGZbKGZbKGZbZD4+Ml18MCkrMTYwPj4yXXww
KSsoYTw8Mik+PjJdfDApKyhjPDwzKT4+M109KyhmWyhmW2U+PjJdfDApKyhjPDwyKT4+Ml18MCk7
Yz1jKzF8MH1hPWErMXwwfU1fKGZbaD4+Ml18MCk7TV8oaCk7a3IoZyk7dD1pO3JldHVybn1mdW5j
dGlvbiBLbShhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLjA7ZT1hKzE2
fDA7Yz0keShhKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO2I9TngoYSxjKXwwO3doaWxlKDEpe2lm
KCFiKWJyZWFrO2c9ZltiPj4yXSYzO2Q9KGZbZlsoKGd8MCk9PTM/YjpiKzQ4fDApKzQwPj4yXT4+
Ml18MCk+Pj40O2c9KGZbZlsoKGd8MCk9PTI/YjpiKy00OHwwKSs0MD4+Ml0+PjJdfDApPj4+NDtp
ZigoZHwwKSE9KGd8MCkpe2k9K3BbKGZbYisxNj4+Ml18MCkrMTM2Pj4zXTtoPWZbKGZbZT4+Ml18
MCkrMTYwPj4yXXwwO3BbKGZbaCsoZzw8Mik+PjJdfDApKyhkPDwzKT4+M109aTtwWyhmW2grKGQ8
PDIpPj4yXXwwKSsoZzw8Myk+PjNdPWl9Yj1QeChhLGIpfDB9Yz1heihhLGMpfDB9cmV0dXJufWZ1
bmN0aW9uIExtKGEsYixjLGQsZSxnKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8
MDt2YXIgaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAuMCxvPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2
PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLjA7
aD1reShhKXwwO0g9UEkoKXwwO2lmKChlfDApPT0yKXtlPTA7RT0wfWVsc2V7RT13eChhLDIsMTAy
NjkzLDApfDA7ZT0oZls0ODM2Nl18MCkhPTAmMTtFPShFfDApIT0wfUI9KGR8MXwwKT09MztGPUVI
KGIqMjB8MCl8MDtHPUVIKGI8PDIpfDA7aT0oaDw8MSkrYjw8MjtqPUVIKGkpfDA7QT1CfEU7aWYo
QSloPUVIKGkpfDA7ZWxzZSBoPTA7RD0oZXwwKSE9MDtpZihEKWU9RUgoaSl8MDtlbHNlIGU9MDtp
ZihCKWk9RUgoaSl8MDtlbHNlIGk9MDtrPTA7eT0keShhKXwwO3o9MDtvPWU7d2hpbGUoMSl7aWYo
IXkpYnJlYWs7U0koSCk7aWYoKGZbKGZbeSsxNj4+Ml18MCkrMTIwPj4yXXwwKSE9KHp8MCkpe0M9
MTI7YnJlYWt9ZltHKyh6PDwyKT4+Ml09eTt2PUYrKHoqMjB8MCkrNHwwO2Zbdj4+Ml09ajt3PUYr
KHoqMjB8MCkrOHwwO2Zbdz4+Ml09QT9oOjA7eD1GKyh6KjIwfDApKzEyfDA7Zlt4Pj4yXT1EP286
MDtmW0YrKHoqMjB8MCkrMTY+PjJdPUI/aTowO3Q9MTt1PVN4KGEseSl8MDtxPTE7cz1rO2o9ais0
fDA7aD1BP2grNHwwOmg7bz1EP28rNHwwOm87aT1CP2krNHwwOmk7d2hpbGUoMSl7aWYoIXUpYnJl
YWs7bD1mW3U+PjJdJjM7cj11Ky00OHwwO2s9dSs0OHwwO2RvIGlmKChmWygobHwwKT09Mj91OnIp
KzQwPj4yXXwwKT09KGZbKChsfDApPT0zP3U6aykrNDA+PjJdfDApKXtsPXQ7az1zO2U9b31lbHNl
e2U9TW0oSCx1LHQpfDA7aWYoKGV8MCkhPSh0fDApKXtpZihEKXtyPShmW3g+PjJdfDApKyhlPDwy
KXwwO25bcj4+Ml09K3BbKGZbdSsxNj4+Ml18MCkrMTI4Pj4zXSsgK25bcj4+Ml19aWYoIUUpe2w9
dDtrPXM7ZT1vO2JyZWFrfWw9KGZbdz4+Ml18MCkrKGU8PDIpfDA7ST0rcFsoZlt1KzE2Pj4yXXww
KSsxMzY+PjNdO209Kyh+fituW2w+PjJdfDApO25bbD4+Ml09ST5tP0k6bTtsPXQ7az1zO2U9bzti
cmVha31sPWZbdT4+Ml0mMztlPWZbKChsfDApPT0zP3U6aykrNDA+PjJdfDA7aWYoKGV8MCk9PSh5
fDApKWU9ZlsoKGx8MCk9PTI/dTpyKSs0MD4+Ml18MDtrPXMrMXwwO2w9dCsxfDA7cz1qKzR8MDtm
W2o+PjJdPWZbKGZbZSsxNj4+Ml18MCkrMTIwPj4yXTtpZihEKXtuW28+PjJdPStwWyhmW3UrMTY+
PjJdfDApKzEyOD4+M107bz1vKzR8MH1pZihFKXtlPWgrNHwwO25baD4+Ml09K3BbKGZbdSsxNj4+
Ml18MCkrMTM2Pj4zXTtpZihCKXtoPWU7Qz0yOX1lbHNlIGg9ZX1lbHNlIGlmKEIpe25baD4+Ml09
MS4wO2g9aCs0fDA7Qz0yOX1pZigoQ3wwKT09Mjkpe0M9MDtlPUd4KHUsMTA5ODg1KXwwO2lmKChl
fDApIT0wPyhhJChlLDE0Mzk3OSw0KXwwKT09MDowKW09MC4wO2Vsc2UgbT0oeXwwKT09KGZbKChm
W3U+PjJdJjN8MCk9PTI/dTpyKSs0MD4+Ml18MCk/MS4wOi0xLjA7bltpPj4yXT1tO2k9aSs0fDB9
cT1xKzF8MDtqPXM7ZT1vfXdoaWxlKDApO3Q9bDt1PVR4KGEsdSx5KXwwO3M9aztvPWV9ZltGKyh6
KjIwfDApPj4yXT1xO2ZbZlt2Pj4yXT4+Ml09ejtrPXM7eT1heihhLHkpfDA7ej16KzF8MH1pZigo
Q3wwKT09MTIpeGEoMTAxMTMwLDEwMTE0NSw4MTksMTAxMTU3KTtpZihCKU5tKEYsYixkLEcpO2w9
KGt8MCkvMnwwO2E6ZG8gaWYoKGx8MCkhPShreShhKXwwKSl7ZT0obDw8MSkrYjw8MjtpPUdIKGZb
Ris0Pj4yXXwwLGUpfDA7aWYoRSloPUdIKGZbRis4Pj4yXXwwLGUpfDA7aWYoRCllPUdIKGZbRisx
Mj4+Ml18MCxlKXwwO2Vsc2UgZT1vO2s9MDt3aGlsZSgxKXtpZigoa3wwKT49KGJ8MCkpYnJlYWsg
YTtqPWZbRisoayoyMHwwKT4+Ml18MDtmW0YrKGsqMjB8MCkrND4+Ml09aTtpZihFKXtmW0YrKGsq
MjB8MCkrOD4+Ml09aDtoPWgrKGo8PDIpfDB9aWYoRCl7ZltGKyhrKjIwfDApKzEyPj4yXT1lO2U9
ZSsoajw8Mil8MH1rPWsrMXwwO2k9aSsoajw8Mil8MH19d2hpbGUoMCk7ZltjPj4yXT1sO2lmKCFn
KU1fKEcpO2Vsc2UgZltnPj4yXT1HO1RJKEgpO3JldHVybiBGfDB9ZnVuY3Rpb24gTW0oYSxiLGMp
e2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wO2U9ZltiPj4yXSYzO2Q9ZlsoZlsoZlsoKGV8
MCk9PTM/YjpiKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTIwPj4yXXwwO2I9ZlsoZlsoZlso
KGV8MCk9PTI/YjpiKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzEyMD4+Ml18MDtlPShkfDAp
PihifDApO3JldHVybiBVSShhLGU/YjpkLGU/ZDpiLGMpfDB9ZnVuY3Rpb24gTm0oYSxjLGQsZSl7
YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTA7Zz0wO3doaWxlKDEpe2lmKChnfDAp
Pj0oY3wwKSlicmVhaztoPWZbKGZbZSsoZzw8Mik+PjJdfDApKzE2Pj4yXXwwO2JbaCsxNTc+PjBd
PTA7YltoKzE1OD4+MF09MDtnPWcrMXwwfWc9MDt3aGlsZSgxKXtpZigoZ3wwKT49KGN8MCkpYnJl
YWs7aWYoIShiWyhmWyhmW2UrKGc8PDIpPj4yXXwwKSsxNj4+Ml18MCkrMTU3Pj4wXXwwKSlPbShh
LGcsZCxlKTtnPWcrMXwwfXJldHVybn1mdW5jdGlvbiBPbShhLGMsZCxlKXthPWF8MDtjPWN8MDtk
PWR8MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG89MC4wLHA9MCxxPTA7
cT0oZltlKyhjPDwyKT4+Ml18MCkrMTZ8MDtrPWZbcT4+Ml18MDtiW2srMTU3Pj4wXT0xO2Jbaysx
NTg+PjBdPTE7az1hKyhjKjIwfDApfDA7bD1hKyhjKjIwfDApKzE2fDA7bT1hKyhjKjIwfDApKzR8
MDtvPShkfDApPT0zPy0xLjA6MS4wO2o9MTthOndoaWxlKDEpe2lmKChqfDApPj0oZltrPj4yXXww
KSl7Zz0xNDticmVha31nPShmW2w+PjJdfDApKyhqPDwyKXwwO2RvIGlmKCEoK25bZz4+Ml09PTEu
MCkpe3A9ZlsoZlttPj4yXXwwKSsoajw8Mik+PjJdfDA7aD1mWyhmW2UrKHA8PDIpPj4yXXwwKSsx
Nj4+Ml18MDtpZighKGJbaCsxNTg+PjBdfDApKXtpZihiW2grMTU3Pj4wXXwwKWJyZWFrO09tKGEs
cCxkLGUpO2JyZWFrfW5bZz4+Ml09bztoPWZbYSsocCoyMHwwKT4+Ml18MDtpPWErKHAqMjB8MCkr
NHwwO2c9MTt3aGlsZSgxKXtpZigoZ3wwKT49KGh8MCkpe2c9OTticmVhayBhfWlmKChmWyhmW2k+
PjJdfDApKyhnPDwyKT4+Ml18MCk9PShjfDApKWJyZWFrO2c9ZysxfDB9blsoZlthKyhwKjIwfDAp
KzE2Pj4yXXwwKSsoZzw8Mik+PjJdPS0xLjB9d2hpbGUoMCk7aj1qKzF8MH1pZigoZ3wwKT09OSl4
YSgxMDExNzEsMTAxMTQ1LDcyMSwxMDExOTEpO2Vsc2UgaWYoKGd8MCk9PTE0KXtiWyhmW3E+PjJd
fDApKzE1OD4+MF09MDtyZXR1cm59fWZ1bmN0aW9uIFBtKGEpe2E9YXwwO3ZhciBiPTAsYz0wO2M9
dDt0PXQrMTZ8MDtiPWM7YT1UTChhLHd4KGEsMCwxMDEzMzIsMCl8MCwyLDApfDA7aWYoKGF8MCk9
PTB8KGF8MCk+Mil7ZltiPj4yXT0xMDEzMzI7WXcoMCwxMDEzNDEsYil8MDthPTJ9dD1jO3JldHVy
biBhfDB9ZnVuY3Rpb24gUW0oYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO2M9ankoYSl8MDtkPXd4
KGEsMSwxMTA5NDksMCl8MDtmWzQ4MTY5XT1kO2Q9d3goYSwxLDEwMjY5NywwKXwwO2I9JHkoYSl8
MDt3aGlsZSgxKXtpZighYilicmVhaztpbShiKTtqbShmWzQ4MTY5XXwwLGQsYixjKXwwO2I9YXoo
YSxiKXwwfWM9JHkoYSl8MDt3aGlsZSgxKXtpZighYylicmVhaztiPU54KGEsYyl8MDt3aGlsZSgx
KXtpZighYilicmVhaztSbShiKTtiPVB4KGEsYil8MH1jPWF6KGEsYyl8MH1yZXR1cm59ZnVuY3Rp
b24gUm0oYSl7YT1hfDA7dmFyIGI9MC4wO0p6KGEsMTQ1NzMwLDE3NiwxKXwwO25NKGEpfDA7Yj0r
VUwoYSxmWzQ4MzY2XXwwLDEuMCwxLjApO3BbKGZbYSsxNj4+Ml18MCkrMTI4Pj4zXT1iO3JldHVy
bn1mdW5jdGlvbiBTbShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGU9MCxnPTA7YT1ESCg2
NCl8MDtjPWErOHwwO2U9Yis4fDA7Zz1jKzQ4fDA7ZG97ZltjPj4yXT1mW2U+PjJdO2M9Yys0fDA7
ZT1lKzR8MH13aGlsZSgoY3wwKTwoZ3wwKSk7Yj1mW2IrNTY+PjJdfDA7ZlthKzU2Pj4yXT1iO2Rb
KGZbYisxNj4+Ml18MCkrMTY4Pj4xXT0xO3JldHVybiBhfDB9ZnVuY3Rpb24gVG0oYSxiLGMpe2E9
YXwwO2I9YnwwO2M9Y3wwO01fKGIpO3JldHVybn1mdW5jdGlvbiBVbShhLGIsYyxkKXthPWF8MDti
PWJ8MDtjPWN8MDtkPWR8MDthPWZbYj4+Ml18MDtkPWZbYz4+Ml18MDtpZihhPj4+MDw9ZD4+PjAp
aWYoYT4+PjA+PWQ+Pj4wKXtkPWZbYisyND4+Ml18MDthPWZbYysyND4+Ml18MDtpZihkPj4+MDw9
YT4+PjApaWYoZD4+PjA+PWE+Pj4wKXthPX5+KCtwW2IrOD4+M10tK3BbYys4Pj4zXSk7aWYoIWEp
e2E9fn4oK3BbYisxNj4+M10tK3BbYysxNj4+M10pO2lmKCFhKXthPX5+KCtwW2IrMzI+PjNdLStw
W2MrMzI+PjNdKTtpZighYSlhPX5+KCtwW2IrNDA+PjNdLStwW2MrNDA+PjNdKX19fWVsc2UgYT0t
MTtlbHNlIGE9MX1lbHNlIGE9LTE7ZWxzZSBhPTE7cmV0dXJuIGF8MH1mdW5jdGlvbiBWbShhLGMs
ZSl7YT1hfDA7Yz1jfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLjA7az10O3Q9
dCsxNnwwO2c9aztoPWMrMTZ8MDtpPWRbKGZbaD4+Ml18MCkrMTY4Pj4xXXwwO2o9aTw8MTY+PjE2
O2lmKGk8PDE2Pj4xNiE9MSYoYlsxOTQ4NjVdfDApPT0wKXtpPUVIKGo8PDIpfDA7Zz0wO3doaWxl
KDEpe2lmKChnfDApPj0oanwwKSlicmVhaztmW2krKGc8PDIpPj4yXT1jO2M9ZlsoZltjKzE2Pj4y
XXwwKSsxNzI+PjJdfDA7Zz1nKzF8MH1sPSsoZXwwKTtmTChhLGksMCxqLGwsbCw3MTgzNik7Yz0w
O3doaWxlKDEpe2lmKChjfDApPj0oanwwKSlicmVhaztnPWZbaSsoYzw8Mik+PjJdfDA7aD1nKzE2
fDA7aWYoZlsoZltoPj4yXXwwKSs5Nj4+Ml18MCl7ZT1ueihmWygoZltnPj4yXSYzfDApPT0zP2c6
Zys0OHwwKSs0MD4+Ml18MCl8MDt0TShlLGZbKGZbaD4+Ml18MCkrOTY+PjJdfDApfW1MKGcpO2M9
YysxfDB9TV8oaSl9ZWxzZXtmW2c+PjJdPWM7bD0rKGV8MCk7ZkwoYSxnLDAsMSxsLGwsNzE4MzYp
O2lmKGZbKGZbaD4+Ml18MCkrOTY+PjJdfDApe2o9bnooZlsoKGZbYz4+Ml0mM3wwKT09Mz9jOmMr
NDh8MCkrNDA+PjJdfDApfDA7dE0oaixmWyhmW2g+PjJdfDApKzk2Pj4yXXwwKX1tTChjKX10PWs7
cmV0dXJufWZ1bmN0aW9uIFdtKGEpe2E9YXwwO3JldHVybiAwfWZ1bmN0aW9uIFhtKGEpe2E9YXww
O3JldHVybiAwfWZ1bmN0aW9uIFltKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9
MCxoPTAuMCxpPTAuMCxqPTAuMCxrPTAuMCxsPTAuMCxtPTAsbz0wLjAscT0wLHI9MCxzPTAsdT0w
LjAsdj0wLjAsdz0wLHg9MC4wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9
MCxJPTAsSz0wLE49MCxPPTAsUD0wO1A9dDt0PXQrMzg0fDA7Tj1QKzM2OHwwO089UCsxMTJ8MDtG
PVA7bT1QKzMzNnwwO0c9UCszMjB8MDtIPVArMzA0fDA7ST1QKzI4OHwwO0s9UCsyNzJ8MDtnPVAr
MjU2fDA7Qz1QKzI0MHwwO0Q9UCsyMjR8MDtFPVArMjA4fDA7cT1QKzE5MnwwO3I9UCsxNzZ8MDtz
PVArMTYwfDA7dz1QKzE0NHwwO3k9UCsxMjh8MDt6PVArOTZ8MDtBPVArODB8MDtCPVArNjR8MDth
OmRvIHN3aXRjaChRSihhKXwwKXtjYXNlIDM6Y2FzZSAxOntlPURIKDgpfDA7eT1hKzE2fDA7YT1m
W3k+PjJdfDA7Zz1mW2ErMTI+PjJdfDA7ZG8gaWYoIShkPDwyND4+MjQpKXthPWZbZys4Pj4yXXww
O2lmKChhfDApPjIpe3g9MC4wO2c9ZltnKzQ0Pj4yXXwwO2Q9MDtrPStuW2M+PjJdO2w9K25bYys0
Pj4yXTticmVha31lbHNle3g9K2ozKCkqLjAxO2E9ODtnPTA7ZD0xO2s9MC4wO2w9MC4wO2JyZWFr
fX1lbHNlIGlmKCEoZltnKzQwPj4yXSYyMDQ4KSl7bD0rcFthKzg4Pj4zXTtrPS1sO3g9K3BbYSs4
MD4+M107dj14Ki0uNTtwW0Y+PjNdPWs7cFtGKzg+PjNdPXY7cFtGKzE2Pj4zXT1sO3BbRisyND4+
M109djt4PXgqLjU7cFtGKzMyPj4zXT1sO3BbRis0MD4+M109eDtwW0YrNDg+PjNdPWs7cFtGKzU2
Pj4zXT14O3g9MC4wO2E9NDtnPUY7ZD0wO2s9MC4wO2w9MC4wO2JyZWFrfWVsc2V7c00obSxnKTtr
PStwW20+PjNdO3Y9K3BbbSs4Pj4zXTtsPStwW20rMTY+PjNdO3g9K3BbbSsyND4+M107cFtGPj4z
XT1rO3BbRis4Pj4zXT12O3BbRisxNj4+M109bDtwW0YrMjQ+PjNdPXY7cFtGKzMyPj4zXT1sO3Bb
Ris0MD4+M109eDtwW0YrNDg+PjNdPWs7cFtGKzU2Pj4zXT14O3g9MC4wO2E9NDtnPUY7ZD0wO2s9
MC4wO2w9MC4wO2JyZWFrfXdoaWxlKDApO2ZbZSs0Pj4yXT1hO209REgoYTw8NCl8MDtmW2U+PjJd
PW07bz0xLjAvKyhhfDApO3E9Yys4fDA7cj1jKzR8MDtzPShhfDApPT00O3U9LWs7dj0tbDt3PTA7
d2hpbGUoMSl7aWYoKGF8MCk8PSh3fDApKWJyZWFrIGE7ZG8gaWYoZCl7aT0rKHd8MCkqNi4yODMx
ODUzMDcxNzk1ODYqbyt4O2g9K0woK2kpO2k9K00oK2kpO2lmKCEoYltxPj4wXXwwKSl7Tz1mW3k+
PjJdfDA7aD1oKituW2M+PjJdKigrcFtPKzk2Pj4zXSsgK3BbTys4OD4+M10pO2k9aSorbltyPj4y
XSorcFtPKzgwPj4zXX1lbHNle089Zlt5Pj4yXXwwO2g9KCtwW08rOTY+PjNdKyArcFtPKzg4Pj4z
XSsgK25bYz4+Ml0pKmg7aT0oK3BbTys4MD4+M10rICtuW3I+PjJdKSppfWo9aCouNTtoPWkqLjV9
ZWxzZXtpZighKGJbcT4+MF18MCkpe2o9K3BbZysodzw8NCk+PjNdKms7aD0rcFtnKyh3PDw0KSs4
Pj4zXSpsO2JyZWFrfWlmKCFzKXtqPStwW2crKHc8PDQpPj4zXTtoPStwW2crKHc8PDQpKzg+PjNd
O2k9K0ooKyhoKmgraipqKSk7aj0oay9pKzEuMCkqajtoPShsL2krMS4wKSpoO2JyZWFrfXN3aXRj
aCh3JjIxNDc0ODM2NDd8MCl7Y2FzZSAwOntpPWw7aD1rO2JyZWFrfWNhc2UgMTp7aT1sO2g9dTti
cmVha31jYXNlIDI6e2k9djtoPXU7YnJlYWt9Y2FzZSAzOntpPXY7aD1rO2JyZWFrfWRlZmF1bHQ6
e2k9MC4wO2g9MC4wfX1qPStwW2crKHc8PDQpPj4zXStoO2g9K3BbZysodzw8NCkrOD4+M10raX13
aGlsZSgwKTtOPWZbeT4+Ml18MDtPPWEtdystMXwwO3BbbSsoTzw8NCk+PjNdPStwW04rMTY+PjNd
K2o7cFttKyhPPDw0KSs4Pj4zXT0rcFtOKzI0Pj4zXStoO3c9dysxfDB9fWNhc2UgMjp7Rj1hKzE2
fDA7ZT1mWyhmW0Y+PjJdfDApKzEyPj4yXXwwO2g9K3BbZSsxNj4+M107az0rcFtlKzI0Pj4zXTtp
PStwW2UrMzI+PjNdO2o9K3BbZSs0MD4+M107ZT1ESCg4KXwwO2ZbZSs0Pj4yXT00O2E9REgoNjQp
fDA7ZltlPj4yXT1hO0Y9KGZbRj4+Ml18MCkrMTZ8MDtmW08+PjJdPWZbRj4+Ml07ZltPKzQ+PjJd
PWZbRis0Pj4yXTtmW08rOD4+Ml09ZltGKzg+PjJdO2ZbTysxMj4+Ml09ZltGKzEyPj4yXTtpZigh
KGJbYys4Pj4wXXwwKSl7ZltOPj4yXT1mW08+PjJdO2ZbTis0Pj4yXT1mW08rND4+Ml07ZltOKzg+
PjJdPWZbTys4Pj4yXTtmW04rMTI+PjJdPWZbTysxMj4+Ml07X20oZyxoLGssTixjKTtmW2E+PjJd
PWZbZz4+Ml07ZlthKzQ+PjJdPWZbZys0Pj4yXTtmW2ErOD4+Ml09ZltnKzg+PjJdO2ZbYSsxMj4+
Ml09ZltnKzEyPj4yXTtLPShmW2U+PjJdfDApKzE2fDA7ZltOPj4yXT1mW08+PjJdO2ZbTis0Pj4y
XT1mW08rND4+Ml07ZltOKzg+PjJdPWZbTys4Pj4yXTtmW04rMTI+PjJdPWZbTysxMj4+Ml07X20o
QyxoLGosTixjKTtmW0s+PjJdPWZbQz4+Ml07ZltLKzQ+PjJdPWZbQys0Pj4yXTtmW0srOD4+Ml09
ZltDKzg+PjJdO2ZbSysxMj4+Ml09ZltDKzEyPj4yXTtLPShmW2U+PjJdfDApKzMyfDA7ZltOPj4y
XT1mW08+PjJdO2ZbTis0Pj4yXT1mW08rND4+Ml07ZltOKzg+PjJdPWZbTys4Pj4yXTtmW04rMTI+
PjJdPWZbTysxMj4+Ml07X20oRCxpLGosTixjKTtmW0s+PjJdPWZbRD4+Ml07ZltLKzQ+PjJdPWZb
RCs0Pj4yXTtmW0srOD4+Ml09ZltEKzg+PjJdO2ZbSysxMj4+Ml09ZltEKzEyPj4yXTtLPShmW2U+
PjJdfDApKzQ4fDA7ZltOPj4yXT1mW08+PjJdO2ZbTis0Pj4yXT1mW08rND4+Ml07ZltOKzg+PjJd
PWZbTys4Pj4yXTtmW04rMTI+PjJdPWZbTysxMj4+Ml07X20oRSxpLGssTixjKTtmW0s+PjJdPWZb
RT4+Ml07ZltLKzQ+PjJdPWZbRSs0Pj4yXTtmW0srOD4+Ml09ZltFKzg+PjJdO2ZbSysxMj4+Ml09
ZltFKzEyPj4yXTticmVhayBhfWVsc2V7eD1oLStuW2M+PjJdO0Y9Yys0fDA7dj1rLStuW0Y+PjJd
O2ZbTj4+Ml09ZltPPj4yXTtmW04rND4+Ml09ZltPKzQ+PjJdO2ZbTis4Pj4yXT1mW08rOD4+Ml07
ZltOKzEyPj4yXT1mW08rMTI+PjJdO1ptKEcseCx2LE4pO2ZbYT4+Ml09ZltHPj4yXTtmW2ErND4+
Ml09ZltHKzQ+PjJdO2ZbYSs4Pj4yXT1mW0crOD4+Ml07ZlthKzEyPj4yXT1mW0crMTI+PjJdO0c9
KGZbZT4+Ml18MCkrMTZ8MDt2PWgtK25bYz4+Ml07eD1qKyArbltGPj4yXTtmW04+PjJdPWZbTz4+
Ml07ZltOKzQ+PjJdPWZbTys0Pj4yXTtmW04rOD4+Ml09ZltPKzg+PjJdO2ZbTisxMj4+Ml09ZltP
KzEyPj4yXTtabShILHYseCxOKTtmW0c+PjJdPWZbSD4+Ml07ZltHKzQ+PjJdPWZbSCs0Pj4yXTtm
W0crOD4+Ml09ZltIKzg+PjJdO2ZbRysxMj4+Ml09ZltIKzEyPj4yXTtIPShmW2U+PjJdfDApKzMy
fDA7eD1pKyArbltjPj4yXTt2PWorICtuW0Y+PjJdO2ZbTj4+Ml09ZltPPj4yXTtmW04rND4+Ml09
ZltPKzQ+PjJdO2ZbTis4Pj4yXT1mW08rOD4+Ml07ZltOKzEyPj4yXT1mW08rMTI+PjJdO1ptKEks
eCx2LE4pO2ZbSD4+Ml09ZltJPj4yXTtmW0grND4+Ml09ZltJKzQ+PjJdO2ZbSCs4Pj4yXT1mW0kr
OD4+Ml07ZltIKzEyPj4yXT1mW0krMTI+PjJdO0k9KGZbZT4+Ml18MCkrNDh8MDt2PWkrICtuW2M+
PjJdO3g9ay0rbltGPj4yXTtmW04+PjJdPWZbTz4+Ml07ZltOKzQ+PjJdPWZbTys0Pj4yXTtmW04r
OD4+Ml09ZltPKzg+PjJdO2ZbTisxMj4+Ml09ZltPKzEyPj4yXTtabShLLHYseCxOKTtmW0k+PjJd
PWZbSz4+Ml07ZltJKzQ+PjJdPWZbSys0Pj4yXTtmW0krOD4+Ml09ZltLKzg+PjJdO2ZbSSsxMj4+
Ml09ZltLKzEyPj4yXTticmVhayBhfX1jYXNlIDQ6e2E9YSsxNnwwO2U9REgoOCl8MDtmW2UrND4+
Ml09NDtnPURIKDY0KXwwO2ZbZT4+Ml09ZztkPWZbYT4+Ml18MDtLPWQrMTZ8MDtmW08+PjJdPWZb
Sz4+Ml07ZltPKzQ+PjJdPWZbSys0Pj4yXTtmW08rOD4+Ml09ZltLKzg+PjJdO2ZbTysxMj4+Ml09
ZltLKzEyPj4yXTtoPS0rcFtkKzg4Pj4zXTtpZighKGJbYys4Pj4wXXwwKSl7dj0tK3BbZCs4MD4+
M107ZltOPj4yXT1mW08+PjJdO2ZbTis0Pj4yXT1mW08rND4+Ml07ZltOKzg+PjJdPWZbTys4Pj4y
XTtmW04rMTI+PjJdPWZbTysxMj4+Ml07X20oeSxoLHYsTixjKTtmW2c+PjJdPWZbeT4+Ml07Zltn
KzQ+PjJdPWZbeSs0Pj4yXTtmW2crOD4+Ml09Zlt5Kzg+PjJdO2ZbZysxMj4+Ml09Zlt5KzEyPj4y
XTtLPShmW2U+PjJdfDApKzE2fDA7ST1mW2E+PjJdfDA7dj0tK3BbSSs4OD4+M107eD0rcFtJKzgw
Pj4zXTtmW04+PjJdPWZbTz4+Ml07ZltOKzQ+PjJdPWZbTys0Pj4yXTtmW04rOD4+Ml09ZltPKzg+
PjJdO2ZbTisxMj4+Ml09ZltPKzEyPj4yXTtfbSh6LHYseCxOLGMpO2ZbSz4+Ml09Zlt6Pj4yXTtm
W0srND4+Ml09Zlt6KzQ+PjJdO2ZbSys4Pj4yXT1mW3orOD4+Ml07ZltLKzEyPj4yXT1mW3orMTI+
PjJdO0s9KGZbZT4+Ml18MCkrMzJ8MDtJPWZbYT4+Ml18MDt4PStwW0krOTY+PjNdO3Y9K3BbSSs4
MD4+M107ZltOPj4yXT1mW08+PjJdO2ZbTis0Pj4yXT1mW08rND4+Ml07ZltOKzg+PjJdPWZbTys4
Pj4yXTtmW04rMTI+PjJdPWZbTysxMj4+Ml07X20oQSx4LHYsTixjKTtmW0s+PjJdPWZbQT4+Ml07
ZltLKzQ+PjJdPWZbQSs0Pj4yXTtmW0srOD4+Ml09ZltBKzg+PjJdO2ZbSysxMj4+Ml09ZltBKzEy
Pj4yXTtLPShmW2U+PjJdfDApKzQ4fDA7ST1mW2E+PjJdfDA7dj0rcFtJKzk2Pj4zXTt4PS0rcFtJ
KzgwPj4zXTtmW04+PjJdPWZbTz4+Ml07ZltOKzQ+PjJdPWZbTys0Pj4yXTtmW04rOD4+Ml09ZltP
Kzg+PjJdO2ZbTisxMj4+Ml09ZltPKzEyPj4yXTtfbShCLHYseCxOLGMpO2ZbSz4+Ml09ZltCPj4y
XTtmW0srND4+Ml09ZltCKzQ+PjJdO2ZbSys4Pj4yXT1mW0IrOD4+Ml07ZltLKzEyPj4yXT1mW0Ir
MTI+PjJdO2JyZWFrIGF9ZWxzZXt4PWgtK25bYz4+Ml07ST1jKzR8MDt2PS0rcFtkKzgwPj4zXS0r
bltJPj4yXTtmW04+PjJdPWZbTz4+Ml07ZltOKzQ+PjJdPWZbTys0Pj4yXTtmW04rOD4+Ml09ZltP
Kzg+PjJdO2ZbTisxMj4+Ml09ZltPKzEyPj4yXTtabShxLHgsdixOKTtmW2c+PjJdPWZbcT4+Ml07
ZltnKzQ+PjJdPWZbcSs0Pj4yXTtmW2crOD4+Ml09ZltxKzg+PjJdO2ZbZysxMj4+Ml09ZltxKzEy
Pj4yXTtLPShmW2U+PjJdfDApKzE2fDA7SD1mW2E+PjJdfDA7dj0tK3BbSCs4OD4+M10tK25bYz4+
Ml07eD0rcFtIKzgwPj4zXSsgK25bST4+Ml07ZltOPj4yXT1mW08+PjJdO2ZbTis0Pj4yXT1mW08r
ND4+Ml07ZltOKzg+PjJdPWZbTys4Pj4yXTtmW04rMTI+PjJdPWZbTysxMj4+Ml07Wm0ocix2LHgs
Tik7ZltLPj4yXT1mW3I+PjJdO2ZbSys0Pj4yXT1mW3IrND4+Ml07ZltLKzg+PjJdPWZbcis4Pj4y
XTtmW0srMTI+PjJdPWZbcisxMj4+Ml07Sz0oZltlPj4yXXwwKSszMnwwO0g9ZlthPj4yXXwwO3g9
K3BbSCs5Nj4+M10rICtuW2M+PjJdO3Y9K3BbSCs4MD4+M10rICtuW0k+PjJdO2ZbTj4+Ml09ZltP
Pj4yXTtmW04rND4+Ml09ZltPKzQ+PjJdO2ZbTis4Pj4yXT1mW08rOD4+Ml07ZltOKzEyPj4yXT1m
W08rMTI+PjJdO1ptKHMseCx2LE4pO2ZbSz4+Ml09ZltzPj4yXTtmW0srND4+Ml09ZltzKzQ+PjJd
O2ZbSys4Pj4yXT1mW3MrOD4+Ml07ZltLKzEyPj4yXT1mW3MrMTI+PjJdO0s9KGZbZT4+Ml18MCkr
NDh8MDtIPWZbYT4+Ml18MDt2PStwW0grOTY+PjNdKyArbltjPj4yXTt4PS0rcFtIKzgwPj4zXS0r
bltJPj4yXTtmW04+PjJdPWZbTz4+Ml07ZltOKzQ+PjJdPWZbTys0Pj4yXTtmW04rOD4+Ml09ZltP
Kzg+PjJdO2ZbTisxMj4+Ml09ZltPKzEyPj4yXTtabSh3LHYseCxOKTtmW0s+PjJdPWZbdz4+Ml07
ZltLKzQ+PjJdPWZbdys0Pj4yXTtmW0srOD4+Ml09Zlt3Kzg+PjJdO2ZbSysxMj4+Ml09Zlt3KzEy
Pj4yXTticmVhayBhfX1kZWZhdWx0OmU9MH13aGlsZSgwKTt0PVA7cmV0dXJuIGV8MH1mdW5jdGlv
biBabShhLGIsYyxkKXthPWF8MDtiPStiO2M9K2M7ZD1kfDA7Yz0rcFtkKzg+PjNdK2M7cFthPj4z
XT0rcFtkPj4zXStiO3BbYSs4Pj4zXT1jO3JldHVybn1mdW5jdGlvbiBfbShhLGIsYyxkLGUpe2E9
YXwwO2I9K2I7Yz0rYztkPWR8MDtlPWV8MDtjPStuW2UrND4+Ml0qYysgK3BbZCs4Pj4zXTtwW2E+
PjNdPStuW2U+PjJdKmIrICtwW2Q+PjNdO3BbYSs4Pj4zXT1jO3JldHVybn1mdW5jdGlvbiAkbShh
LGIsYyxkLGUsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MCxp
PTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MDtuPXQ7dD10KzExMnwwO2o9bis4OHww
O2k9bis3MnwwO2s9biszMnwwO2w9bisxNnwwO209bjtlPW4rNTZ8MDtnPW4rNDB8MDtoPWIrNDh8
MDtxPShmWyhmWygoZltiPj4yXSYzfDApPT0zP2I6aCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsxNnww
O289YisxNnwwO3A9KGZbbz4+Ml18MCkrMTZ8MDtmW2k+PjJdPWZbcT4+Ml07ZltpKzQ+PjJdPWZb
cSs0Pj4yXTtmW2krOD4+Ml09ZltxKzg+PjJdO2ZbaSsxMj4+Ml09ZltxKzEyPj4yXTtmW2o+PjJd
PWZbcD4+Ml07ZltqKzQ+PjJdPWZbcCs0Pj4yXTtmW2orOD4+Ml09ZltwKzg+PjJdO2ZbaisxMj4+
Ml09ZltwKzEyPj4yXTthbihlLGksaik7ZltsPj4yXT1mW2U+PjJdO2ZbbCs0Pj4yXT1mW2UrND4+
Ml07ZltsKzg+PjJdPWZbZSs4Pj4yXTtmW2wrMTI+PjJdPWZbZSsxMj4+Ml07ZT1iKy00OHwwO3A9
KGZbKGZbKChmW2I+PjJdJjN8MCk9PTI/YjplKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE2fDA7bz0o
ZltvPj4yXXwwKSs1NnwwO2ZbaT4+Ml09ZltwPj4yXTtmW2krND4+Ml09ZltwKzQ+PjJdO2ZbaSs4
Pj4yXT1mW3ArOD4+Ml07ZltpKzEyPj4yXT1mW3ArMTI+PjJdO2Zbaj4+Ml09ZltvPj4yXTtmW2or
ND4+Ml09ZltvKzQ+PjJdO2Zbais4Pj4yXT1mW28rOD4+Ml07ZltqKzEyPj4yXT1mW28rMTI+PjJd
O2FuKGcsaSxqKTtmW20+PjJdPWZbZz4+Ml07ZlttKzQ+PjJdPWZbZys0Pj4yXTtmW20rOD4+Ml09
ZltnKzg+PjJdO2ZbbSsxMj4+Ml09ZltnKzEyPj4yXTtpZighZCl7Zz0tMTExMTtlPS0xMTExfWVs
c2V7cT1mW2I+PjJdJjM7Zz1mWyhmWyhmWygocXwwKT09Mj9iOmUpKzQwPj4yXXwwKSsxNj4+Ml18
MCkrMjg4Pj4yXXwwO2U9ZlsoZlsoZlsoKHF8MCk9PTM/YjpoKSs0MD4+Ml18MCkrMTY+PjJdfDAp
KzI4OD4+Ml18MH07ZltpPj4yXT1mW2w+PjJdO2ZbaSs0Pj4yXT1mW2wrND4+Ml07ZltpKzg+PjJd
PWZbbCs4Pj4yXTtmW2krMTI+PjJdPWZbbCsxMj4+Ml07ZltqPj4yXT1mW20+PjJdO2Zbais0Pj4y
XT1mW20rND4+Ml07ZltqKzg+PjJdPWZbbSs4Pj4yXTtmW2orMTI+PjJdPWZbbSsxMj4+Ml07RVUo
YyxpLGUsaixnLGspfDA7bz1rO3A9ZltvKzQ+PjJdfDA7cT1hO2ZbcT4+Ml09ZltvPj4yXTtmW3Er
ND4+Ml09cDt0PW47cmV0dXJufWZ1bmN0aW9uIGFuKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2
YXIgZD0wLjA7ZD0rcFtjKzg+PjNdKyArcFtiKzg+PjNdO3BbYT4+M109K3BbYz4+M10rICtwW2I+
PjNdO3BbYSs4Pj4zXT1kO3JldHVybn1mdW5jdGlvbiBibihhLGIsYyxkLGUpe2E9YXwwO2I9Ynww
O2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89
MCxwPTAscT0wLHI9MCxzPTAsdT0wLHY9MDt1PXQ7dD10KzE0NHwwO289dSsxMDR8MDtwPXUrODh8
MDtuPXUrODB8MDttPXUrNzJ8MDtqPXUrNjR8MDtyPXUrMTI4fDA7az11O2w9dSsxMjR8MDtzPXUr
NDh8MDtxPXUrMzJ8MDtpPXUrMTIwfDA7aD0oZltiKzE2Pj4yXXwwKSsxNDR8MDtnPWZbaD4+Ml18
MDtoPWZbaCs0Pj4yXXwwO3Y9ajtmW3Y+PjJdPWc7Zlt2KzQ+PjJdPWg7dj1nO2Zbcz4+Ml09Zlt2
Pj4yXTtmW3MrND4+Ml09Zlt2KzQ+PjJdO2Zbcys4Pj4yXT1mW3YrOD4+Ml07ZltzKzEyPj4yXT1m
W3YrMTI+PjJdO2g9ZysoaCstMTw8NCl8MDtmW3E+PjJdPWZbaD4+Ml07ZltxKzQ+PjJdPWZbaCs0
Pj4yXTtmW3ErOD4+Ml09ZltoKzg+PjJdO2ZbcSsxMj4+Ml09ZltoKzEyPj4yXTthOmRvIGlmKCEo
ZTw8MjQ+PjI0KSl7Zz0tMTExMTtlPS0xMTExfWVsc2V7Zz0tMTExMTtlPS0xMTExO2g9MDt3aGls
ZSgxKXtpZigoaHwwKT49KGR8MCkpYnJlYWsgYTtpZigoZXwwKT09LTExMTEpe2U9ZltjKyhoPDwy
KT4+Ml18MDtmW3A+PjJdPWZbZT4+Ml07ZltwKzQ+PjJdPWZbZSs0Pj4yXTtmW28+PjJdPWZbcz4+
Ml07ZltvKzQ+PjJdPWZbcys0Pj4yXTtmW28rOD4+Ml09ZltzKzg+PjJdO2ZbbysxMj4+Ml09Zltz
KzEyPj4yXTtlPShGVShwLG8pfDApPT0wO2U9ZT8tMTExMTpofWlmKChnfDApPT0tMTExMSl7Zz1m
W2MrKGg8PDIpPj4yXXwwO2ZbcD4+Ml09ZltnPj4yXTtmW3ArND4+Ml09ZltnKzQ+PjJdO2Zbbz4+
Ml09ZltxPj4yXTtmW28rND4+Ml09ZltxKzQ+PjJdO2Zbbys4Pj4yXT1mW3ErOD4+Ml07ZltvKzEy
Pj4yXT1mW3ErMTI+PjJdO2c9KEZVKHAsbyl8MCk9PTA7Zz1nPy0xMTExOmh9aD1oKzF8MH19d2hp
bGUoMCk7Y24oYyxkLGUsZyxpLGwpO2Zbaz4+Ml09MDtmW2srND4+Ml09MDtmW2srOD4+Ml09MDtm
W2srMTI+PjJdPTA7ZltrKzE2Pj4yXT0wO2ZbaysyMD4+Ml09MDtmW2srMjQ+PjJdPTA7ZltrKzI4
Pj4yXT0wO2g9ZltpPj4yXXwwO3Y9ZltsPj4yXXwwO2Zbbz4+Ml09ZltqPj4yXTtmW28rND4+Ml09
ZltqKzQ+PjJdO2lmKChHVShoLHYsbyxrLHIpfDApPDApe3M9QXkoZlsoKGZbYj4+Ml0mM3wwKT09
Mz9iOmIrNDh8MCkrNDA+PjJdfDApfDA7dj1BeShmWygoZltiPj4yXSYzfDApPT0yP2I6YistNDh8
MCkrNDA+PjJdfDApfDA7ZlttPj4yXT1zO2ZbbSs0Pj4yXT12O1l3KDEsMTAxNjkwLG0pfDB9ZWxz
ZXtpZigwPjEpe2c9ZlsxOTQ1N118MDttPUF5KGZbKChmW2I+PjJdJjN8MCk9PTM/YjpiKzQ4fDAp
KzQwPj4yXXwwKXwwO2U9YistNDh8MDt2PUF5KGZbKChmW2I+PjJdJjN8MCk9PTI/YjplKSs0MD4+
Ml18MCl8MDtmW24+PjJdPW07ZltuKzQ+PjJdPXY7ZzIoZywxMDE3Mzgsbil8MDtnPWJ9ZWxzZXtl
PWIrLTQ4fDA7Zz1ifVpLKGIsZlsoKGZbZz4+Ml0mM3wwKT09Mj9iOmUpKzQwPj4yXXwwLGZbcj4+
Ml18MCxmW3IrND4+Ml18MCw3MTgzNik7TV8oaCk7ZltwPj4yXT1mW3M+PjJdO2ZbcCs0Pj4yXT1m
W3MrND4+Ml07ZltwKzg+PjJdPWZbcys4Pj4yXTtmW3ArMTI+PjJdPWZbcysxMj4+Ml07ZltvPj4y
XT1mW3E+PjJdO2Zbbys0Pj4yXT1mW3ErND4+Ml07ZltvKzg+PjJdPWZbcSs4Pj4yXTtmW28rMTI+
PjJdPWZbcSsxMj4+Ml07c0woYSxiLHAsbyl9dD11O3JldHVybn1mdW5jdGlvbiBjbihhLGIsYyxk
LGUsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0w
LGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MDtpPTA7aD0wO3doaWxlKDEpe2lmKChpfDApPj0o
YnwwKSlicmVhaztpZighKChpfDApPT0oY3wwKXwoaXwwKT09KGR8MCkpKWg9KGZbKGZbYSsoaTw8
Mik+PjJdfDApKzQ+PjJdfDApK2h8MDtpPWkrMXwwfW89RUgoaDw8NSl8MDtpPTA7bj0wO3doaWxl
KDEpe2lmKChufDApPj0oYnwwKSlicmVhazthOmRvIGlmKCEoKG58MCk9PShjfDApfChufDApPT0o
ZHwwKSkpe209YSsobjw8Mil8MDtsPTA7d2hpbGUoMSl7aj1mW20+PjJdfDA7az1mW2orND4+Ml18
MDtpZigobHwwKT49KGt8MCkpYnJlYWsgYTtwPWwrMXwwO3E9bysoaTw8NSl8MDtqPShmW2o+PjJd
fDApKyhsPDw0KXwwO2ZbcT4+Ml09ZltqPj4yXTtmW3ErND4+Ml09ZltqKzQ+PjJdO2ZbcSs4Pj4y
XT1mW2orOD4+Ml07ZltxKzEyPj4yXT1mW2orMTI+PjJdO2o9bysoaTw8NSkrMTZ8MDtrPShmW2Zb
bT4+Ml0+PjJdfDApKygoKHB8MCk8KGt8MCk/cDowKTw8NCl8MDtmW2o+PjJdPWZbaz4+Ml07Zltq
KzQ+PjJdPWZbays0Pj4yXTtmW2orOD4+Ml09ZltrKzg+PjJdO2ZbaisxMj4+Ml09ZltrKzEyPj4y
XTtsPXA7aT1pKzF8MH19d2hpbGUoMCk7bj1uKzF8MH1pZigoaXwwKT09KGh8MCkpe2ZbZT4+Ml09
bztmW2c+PjJdPWg7cmV0dXJufWVsc2UgeGEoMTAxNzUyLDEwMTc1OSw3NywxMDE3NzQpfWZ1bmN0
aW9uIGRuKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MCxr
PTAsbD0wLG09MCxuPTAsbz0wO209dDt0PXQrMzJ8MDtrPW0rMTJ8MDtlPW07RHEoZSxhKTtmW2s+
PjJdPWZbZT4+Ml07ZltrKzQ+PjJdPWZbZSs0Pj4yXTtmW2srOD4+Ml09ZltlKzg+PjJdO2U9JHko
YSl8MDt3aGlsZSgxKXtpZighZSlicmVhaztnPU54KGEsZSl8MDt3aGlsZSgxKXtpZighZylicmVh
aztUSyhnKTtnPVB4KGEsZyl8MH1lPWF6KGEsZSl8MH1oPUx3KDcxODAwLGZbMTgwMDFdfDApfDA7
ZT0keShhKXwwO3doaWxlKDEpe2lmKCFlKWJyZWFrO2c9TngoYSxlKXwwO3doaWxlKDEpe2lmKCFn
KWJyZWFrO2lmKChmWzQ4MzI1XXwwKT4xPyhpPWZbZysxNj4+Ml18MCwoZltpKzg+PjJdfDApIT0w
KTowKXtuPWkrMTY4fDA7ZFtuPj4xXT0oZFtuPj4xXXwwKSsxPDwxNj4+MTZ9ZWxzZSBsPTE0O2lm
KChsfDApPT0xND8obD0wLGo9ZW4oaCxnKXwwLChqfDApIT0oZ3wwKSk6MCl7bj1mW2orMTY+PjJd
fDA7bz1uKzE2OHwwO2Rbbz4+MV09KGRbbz4+MV18MCkrMTw8MTY+PjE2O249bisxNzJ8MDtmWyhm
W2crMTY+PjJdfDApKzE3Mj4+Ml09ZltuPj4yXTtmW24+PjJdPWd9Zz1QeChhLGcpfDB9ZT1heihh
LGUpfDB9SHcoaCl8MDtpZighKHdiW2ImNjNdKGEsayxjKXwwKSl7Zls0ODMyOV09MTtlPTB9ZWxz
ZSBlPTE7dD1tO3JldHVybiBlfDB9ZnVuY3Rpb24gZW4oYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0w
LGQ9MCxlPTAuMCxnPTAuMCxoPTAsaT0wLjAsaj0wLjAsaz0wLjAsbD0wLjAsbT0wLG49MCxvPTA7
bz10O3Q9dCs2NHwwO249bztkPWZbYj4+Ml0mMztoPWZbKChkfDApPT0zP2I6Yis0OHwwKSs0MD4+
Ml18MDtkPWZbKChkfDApPT0yP2I6YistNDh8MCkrNDA+PjJdfDA7ZG8gaWYoaD4+PjA+PWQ+Pj4w
KXtjPWIrMTZ8MDtpZihoPj4+MD5kPj4+MCl7Yz1mW2M+PjJdfDA7bT1kO2Q9aDtqPStwW2MrMTY+
PjNdO2s9K3BbYysyND4+M107Zz0rcFtjKzU2Pj4zXTtlPStwW2MrNjQ+PjNdO2JyZWFrfW09Zltj
Pj4yXXwwO2k9K3BbbSs1Nj4+M107bD0rcFttKzY0Pj4zXTtnPStwW20rMTY+PjNdO2U9K3BbbSsy
ND4+M107aWYoIShnPGkpKWlmKCEoZz5pKSl7Yz1lPmw7aWYoZTxsKXttPWg7ZD1oO2o9aTtrPWx9
ZWxzZXttPWg7ZD1oO2o9ZztrPWU7Zz1jP2k6ZztlPWM/bDplfX1lbHNle209aDtkPWg7aj1nO2s9
ZTtnPWk7ZT1sfWVsc2V7bT1oO2Q9aDtqPWk7az1sfX1lbHNle2M9ZltiKzE2Pj4yXXwwO209aDtq
PStwW2MrNTY+PjNdO2s9K3BbYys2ND4+M107Zz0rcFtjKzE2Pj4zXTtlPStwW2MrMjQ+PjNdfXdo
aWxlKDApO2Zbbis4Pj4yXT1tO3BbbisxNj4+M109ZztwW24rMjQ+PjNdPWU7ZltuKzMyPj4yXT1k
O3Bbbis0MD4+M109ajtwW24rNDg+PjNdPWs7ZltuKzU2Pj4yXT1iO249KHdiW2ZbYT4+Ml0mNjNd
KGEsbiwxKXwwKSs1NnwwO3Q9bztyZXR1cm4gZltuPj4yXXwwfWZ1bmN0aW9uIGZuKGEsYil7YT1h
fDA7Yj1ifDA7cmV0dXJuIGRuKGEsMjEsYil8MH1mdW5jdGlvbiBnbihhLGMsZSl7YT1hfDA7Yz1j
fDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxvPTAscT0wLHI9MCxzPTAs
dT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLjAsSD0w
O0Y9dDt0PXQrMTEyfDA7Qj1GKzg4fDA7QT1GKzcyfDA7cz1GKzQwfDA7bz1GKzh8MDttPUY7dT1G
KzY0fDA7Qz1GKzQ4fDA7RD1GKzI0fDA7Zz0oZls0ODMyNV18MCk+MSYxO2RvIGlmKChlfDApPjUp
e3I9REgoKGp5KGEpfDApPDwyKXwwO2w9KGV8MCk9PTg7az1sJjE7aj0keShhKXwwO3E9MDt3aGls
ZSgxKXtpZighailicmVhaztoPVltKGosYyxrKXwwO2k9KGZbaisxNj4+Ml18MCkrMjg4fDA7aWYo
IWgpe2ZbaT4+Ml09LTExMTE7aD1xfWVsc2V7ZltpPj4yXT1xO2ZbcisocTw8Mik+PjJdPWg7aD1x
KzF8MH1qPWF6KGEsail8MDtxPWh9aWYocil7aD12cyhyLHEpfDA7aWYoaHwwKXtpZihsKXt5PTA7
ej1yO3g9cjt3PTE7YnJlYWt9eT1CVShyLHEpfDA7ej1yO3g9cjt3PTE7YnJlYWt9aWYobCl7WXco
MCwxMDE3ODgsbSl8MDtoPTA7eT0wO3o9cjt4PXI7dz0xO2JyZWFrfWVsc2V7Rz0rbltjKzQ+PjJd
O3Bbbz4+M109K25bYz4+Ml07cFtvKzg+PjNdPUc7WXcoMCwxMDE4NjYsbyl8MDtoPTA7eT0wO3o9
cjt4PXI7dz0xO2JyZWFrfX1lbHNle2g9MDt5PTA7ej0wO3g9MDt3PTB9fWVsc2V7aD0wO3k9MDt6
PTA7cT0wO3g9MDt3PTB9d2hpbGUoMCk7aWYoMCl7aT1mWzE5NDU3XXwwO2lmKChlfDApPT04Jiho
fDApIT0wKWo9MTAxOTcyO2Vsc2Ugaj0oeXwwKT09MD8xMDE5NTg6KGV8MCk9PTEwPzExODM4Mjox
MDE5NDg7ZltzPj4yXT1qO2cyKGksMTAxOTg5LHMpfDB9dj0oeXwwKSE9MDthOmRvIGlmKCF2KXtp
ZigoZXwwKT09OCYoaHwwKSE9MCl7bE4oYSwwKTtnPTF9fWVsc2V7aT0keShhKXwwO3doaWxlKDEp
e2lmKCFpKWJyZWFrIGE7aD1OeChhLGkpfDA7d2hpbGUoMSl7aWYoIWgpYnJlYWs7cz0oZltoKzE2
Pj4yXXwwKSsxNDR8MDskbSh1LGgseSwxLDAsMCk7bz11O3I9ZltvKzQ+PjJdfDA7ZltzPj4yXT1m
W28+PjJdO2Zbcys0Pj4yXT1yO2g9UHgoYSxoKXwwfWk9YXooYSxpKXwwfX13aGlsZSgwKTttPShn
fDApPT0wO289YSs2MHwwO3I9KGV8MCk9PTEwO2c9MDtsPSR5KGEpfDA7aD0wO3doaWxlKDEpe2lm
KCFsKWJyZWFrO3M9bCsxNnwwO2M9TngoYSxsKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO2s9Zlso
KGZbYz4+Ml0mM3wwKT09Mj9jOmMrLTQ4fDApKzQwPj4yXXwwO2k9YysxNnwwO2o9ZltpPj4yXXww
O2lmKCFtPyhmW2orOD4+Ml18MCkhPTA6MCl7SD0oZltzPj4yXXwwKSsxNnwwO3U9aisxNnwwO2Zb
QT4+Ml09ZltIPj4yXTtmW0ErND4+Ml09ZltIKzQ+PjJdO2ZbQSs4Pj4yXT1mW0grOD4+Ml07ZltB
KzEyPj4yXT1mW0grMTI+PjJdO2ZbQj4+Ml09Zlt1Pj4yXTtmW0IrND4+Ml09Zlt1KzQ+PjJdO2Zb
Qis4Pj4yXT1mW3UrOD4+Ml07ZltCKzEyPj4yXT1mW3UrMTI+PjJdO2FuKEMsQSxCKTtrPShmW2sr
MTY+PjJdfDApKzE2fDA7dT0oZltpPj4yXXwwKSs1NnwwO2ZbQT4+Ml09ZltrPj4yXTtmW0ErND4+
Ml09ZltrKzQ+PjJdO2ZbQSs4Pj4yXT1mW2srOD4+Ml07ZltBKzEyPj4yXT1mW2srMTI+PjJdO2Zb
Qj4+Ml09Zlt1Pj4yXTtmW0IrND4+Ml09Zlt1KzQ+PjJdO2ZbQis4Pj4yXT1mW3UrOD4+Ml07ZltC
KzEyPj4yXT1mW3UrMTI+PjJdO2FuKEQsQSxCKTtmW0E+PjJdPWZbQz4+Ml07ZltBKzQ+PjJdPWZb
Qys0Pj4yXTtmW0ErOD4+Ml09ZltDKzg+PjJdO2ZbQSsxMj4+Ml09ZltDKzEyPj4yXTtmW0I+PjJd
PWZbRD4+Ml07ZltCKzQ+PjJdPWZbRCs0Pj4yXTtmW0IrOD4+Ml09ZltEKzg+PjJdO2ZbQisxMj4+
Ml09ZltEKzEyPj4yXTtzTChhLGMsQSxCKX1lbHNlIEU9MzU7YjpkbyBpZigoRXwwKT09MzUpe0U9
MDtIPWRbaisxNjg+PjFdfDA7aT1IPDwxNj4+MTY7aWYoSDw8MTY+PjE2KXtpZigobHwwKT09KGt8
MCkpe2lmKCFnKXtoPURIKDk2KXwwO2c9REgoKChqeShhKXwwKTw8NSkrMTE1MjB8MCl8MDtmW2gr
ODQ+PjJdPWc7Zz1ofVZtKGcsYyxmWyhmWyhmW28+PjJdfDApKzE2Pj4yXXwwKSsyNDg+PjJdfDAp
O2JyZWFrfWlmKCF2KXtJSihhLGMsZSw3MTgzNik7YnJlYWt9az0oYlsxOTQ4NjVdfDApPT0wP2k6
MTtpPWM7aj0wO3doaWxlKDEpe2lmKChqfDApPj0oa3wwKSlicmVhayBiO2lmKHIpYm4oYSxpLHos
cSwxKTtlbHNlIGhuKGEsaSk7aT1mWyhmW2krMTY+PjJdfDApKzE3Mj4+Ml18MDtqPWorMXwwfX19
d2hpbGUoMCk7Yz1QeChhLGMpfDB9bD1heihhLGwpfDB9aWYodilEVSh5KTtpZihnfDApe01fKGZb
Zys4ND4+Ml18MCk7TV8oaCl9aWYodyl7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0ocXwwKSlicmVh
aztNXyhmW3orKGc8PDIpPj4yXXwwKTtnPWcrMXwwfU1fKHgpfXQ9RjtyZXR1cm4gMH1mdW5jdGlv
biBobihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0w
LGw9MCxtPTAsbj0wO2s9dDt0PXQrOTZ8MDtnPWsrNjR8MDtlPWsrNDh8MDtjPWsrNDB8MDtoPWsr
ODB8MDtkPWsrMzJ8MDtpPWsrMTZ8MDtqPWs7bD0oZltiKzE2Pj4yXXwwKSsxNDR8MDttPWZbbD4+
Ml18MDtsPWZbbCs0Pj4yXXwwO249ZDtmW24+PjJdPW07ZltuKzQ+PjJdPWw7bj1tO2ZbaT4+Ml09
ZltuPj4yXTtmW2krND4+Ml09ZltuKzQ+PjJdO2ZbaSs4Pj4yXT1mW24rOD4+Ml07ZltpKzEyPj4y
XT1mW24rMTI+PjJdO2w9bSsobCstMTw8NCl8MDtmW2o+PjJdPWZbbD4+Ml07ZltqKzQ+PjJdPWZb
bCs0Pj4yXTtmW2orOD4+Ml09ZltsKzg+PjJdO2ZbaisxMj4+Ml09ZltsKzEyPj4yXTtmW2c+PjJd
PWZbZD4+Ml07ZltnKzQ+PjJdPWZbZCs0Pj4yXTt4VihnLGgpO2lmKDA+MSl7bj1mWzE5NDU3XXww
O2w9QXkoZlsoKGZbYj4+Ml0mM3wwKT09Mz9iOmIrNDh8MCkrNDA+PjJdfDApfDA7ZD1iKy00OHww
O209QXkoZlsoKGZbYj4+Ml0mM3wwKT09Mj9iOmQpKzQwPj4yXXwwKXwwO2ZbYz4+Ml09bDtmW2Mr
ND4+Ml09bTtnMihuLDEwMjAxNCxjKXwwO2M9ZDtkPWJ9ZWxzZXtjPWIrLTQ4fDA7ZD1ifVpLKGIs
ZlsoKGZbZD4+Ml0mM3wwKT09Mj9iOmMpKzQwPj4yXXwwLGZbaD4+Ml18MCxmW2grND4+Ml18MCw3
MTgzNik7ZltlPj4yXT1mW2k+PjJdO2ZbZSs0Pj4yXT1mW2krND4+Ml07ZltlKzg+PjJdPWZbaSs4
Pj4yXTtmW2UrMTI+PjJdPWZbaSsxMj4+Ml07ZltnPj4yXT1mW2o+PjJdO2ZbZys0Pj4yXT1mW2or
ND4+Ml07ZltnKzg+PjJdPWZbais4Pj4yXTtmW2crMTI+PjJdPWZbaisxMj4+Ml07c0woYSxiLGUs
Zyk7dD1rO3JldHVybn1mdW5jdGlvbiBqbihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTA7Yz1kWyhm
W2ErMTY+PjJdfDApKzEzNj4+MV0mMTQ7aWYoYjw8MjQ+PjI0KWtuKGEpfDA7aWYoYzw8MTY+PjE2
KWZuKGEsYyY2NTUzNSl8MDtyZXR1cm59ZnVuY3Rpb24ga24oYSl7YT1hfDA7dmFyIGI9MCxjPTAs
ZD0wLGU9MDtjPWxuKGEpfDA7Yj0keShhKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFrO2Q9ZltiKzE2
Pj4yXXwwO2U9ZltkKzEzMj4+Ml18MDtwW2QrMTY+PjNdPStwW2U+PjNdKjcyLjA7cFtkKzI0Pj4z
XT0rcFtlKzg+PjNdKjcyLjA7Yj1heihhLGIpfDB9cmV0dXJuIGN8MH1mdW5jdGlvbiBsbihhKXth
PWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wLjAsZz0wLjAsaD0wLjAsaT0wLGo9MDthOmRvIGlmKChm
W2ErNjA+PjJdfDApPT0oYXwwKT8oYz1hKzE2fDAsZD1mW2M+PjJdfDAsKGZbKGZbZCs4Pj4yXXww
KSs4ND4+Ml18MCkhPTApOjApe2lmKCEoK3BbZCsxNj4+M10hPTAuMCk/ISgrcFtkKzI0Pj4zXSE9
MC4wKTowKWI9MDtlbHNle21uKGEpO2I9MTtkPWZbYz4+Ml18MH1pPShmW2QrMTE2Pj4yXSYxfDAp
PT0wO2lmKCFpKXtqPWQrMzJ8MDtoPStwW2o+PjNdO2M9ZCs0MHwwO3Bbaj4+M109K3BbYz4+M107
cFtjPj4zXT1ofWM9ZltkKzg+PjJdfDA7YjpkbyBzd2l0Y2goZltjKzg0Pj4yXXwwKXtjYXNlIDI6
e2U9K3BbYys2ND4+M107aWYoZTw9MC4wKWJyZWFrIGE7Zz1lLytwW2QrMzI+PjNdO2U9K3BbYys3
Mj4+M10vK3BbZCs0MD4+M107aWYoZzwxLjB8ZTwxLjApaWYoZzxlKXtoPTEuMDtlPWUvZzticmVh
ayBifWVsc2V7aD1nL2U7ZT0xLjA7YnJlYWsgYn1lbHNlIGg9ZzticmVha31jYXNlIDU6e2U9K3Bb
Yys2ND4+M107aWYoZTw9MC4wKWJyZWFrIGE7Zz1lLytwW2QrMzI+PjNdO2U9K3BbYys3Mj4+M10v
K3BbZCs0MD4+M107aWYoIShnPjEuMCZlPjEuMCkpYnJlYWsgYTtlPWc8ZT9nOmU7aD1lO2JyZWFr
fWNhc2UgMTp7Zz0rcFtjKzE2Pj4zXTtlPStwW2QrNDA+PjNdLytwW2QrMzI+PjNdO2lmKGU8Zyl7
aD0xLjA7ZT1nL2U7YnJlYWsgYn1lbHNle2g9ZS9nO2U9MS4wO2JyZWFrIGJ9fWRlZmF1bHQ6YnJl
YWsgYX13aGlsZSgwKTtnPWk/ZTpoO2U9aT9oOmU7YzpkbyBpZigoZls0ODMyNV18MCk+MSl7Yz0k
eShhKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrIGM7Yj1OeChhLGMpfDA7d2hpbGUoMSl7aWYoIWIp
YnJlYWs7aWYoZlsoZltiKzE2Pj4yXXwwKSs4Pj4yXXwwKW5uKGIsZSxnKTtiPVB4KGEsYil8MH1j
PWF6KGEsYyl8MH19d2hpbGUoMCk7Yj0keShhKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFrO2o9Zlso
ZltiKzE2Pj4yXXwwKSsxMzI+PjJdfDA7cFtqPj4zXT0rcFtqPj4zXSplO2o9ais4fDA7cFtqPj4z
XT0rcFtqPj4zXSpnO2I9YXooYSxiKXwwfW9uKGEsZSxnKTtiPTF9ZWxzZSBiPTA7d2hpbGUoMCk7
cmV0dXJuIGJ8MH1mdW5jdGlvbiBtbihhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAuMCxnPTAuMCxo
PTAuMCxpPTAuMCxqPTAsaz0wLGw9MCxtPTA7bD10O3Q9dCszMnwwO2o9bCsxNnwwO2s9bDtjPShm
W2ErMTY+PjJdfDApKzE2fDA7ZltrPj4yXT1mW2M+PjJdO2Zbays0Pj4yXT1mW2MrND4+Ml07Zltr
Kzg+PjJdPWZbYys4Pj4yXTtmW2srMTI+PjJdPWZbYysxMj4+Ml07ZT0rcFtrPj4zXTtnPWUqLjAx
Mzg4ODg4ODg4ODg4ODg4ODtoPStwW2srOD4+M107aT1oKi4wMTM4ODg4ODg4ODg4ODg4ODg7Yz0k
eShhKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO2Q9ZltjKzE2Pj4yXXwwO209ZltkKzEzMj4+Ml18
MDtwW20+PjNdPStwW20+PjNdLWc7bT1tKzh8MDtwW20+PjNdPStwW20+PjNdLWk7ZD1mW2QrMTA4
Pj4yXXwwO2lmKGR8MD9iW2QrODE+PjBdfDA6MCl7bT1kKzU2fDA7cFttPj4zXT0rcFttPj4zXS1l
O209ZCs2NHwwO3BbbT4+M109K3BbbT4+M10taH1jPWF6KGEsYyl8MH1kPSR5KGEpfDA7d2hpbGUo
MSl7aWYoIWQpYnJlYWs7Yz1OeChhLGQpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7aWYoZlsoZltj
KzE2Pj4yXXwwKSs4Pj4yXXwwKXtmW2o+PjJdPWZbaz4+Ml07ZltqKzQ+PjJdPWZbays0Pj4yXTtm
W2orOD4+Ml09ZltrKzg+PjJdO2ZbaisxMj4+Ml09ZltrKzEyPj4yXTtwbihjLGopfWM9UHgoYSxj
KXwwfWQ9YXooYSxkKXwwfWZbaj4+Ml09ZltrPj4yXTtmW2orND4+Ml09ZltrKzQ+PjJdO2Zbais4
Pj4yXT1mW2srOD4+Ml07ZltqKzEyPj4yXT1mW2srMTI+PjJdO3FuKGEsaik7dD1sO3JldHVybn1m
dW5jdGlvbiBubihhLGMsZCl7YT1hfDA7Yz0rYztkPStkO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0w
LGs9MCxsPTAsbT0wLG49MC4wLG89MCxxPTAuMCxyPTAuMCxzPTAuMCx0PTAuMCx1PTA7bz1mW2E+
PjJdJjM7aD1mWyhmWyhmWygob3wwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkr
MTMyPj4yXXwwO3M9KGMrLTEuMCkqNzIuMDtxPXMqK3BbaD4+M107dD0oZCstMS4wKSo3Mi4wO3I9
dCorcFtoKzg+PjNdO289ZlsoZlsoZlsoKG98MCk9PTM/YTphKzQ4fDApKzQwPj4yXXwwKSsxNj4+
Ml18MCkrMTMyPj4yXXwwO3M9cyorcFtvPj4zXTt0PXQqK3Bbbys4Pj4zXTtvPWZbYSsxNj4+Ml18
MDtoPWZbbys4Pj4yXXwwO2k9ZltoKzQ+PjJdfDA7aj1pKy0xfDA7YT0wO2g9ZltoPj4yXXwwO3do
aWxlKDEpe2lmKChhfDApPj0oaXwwKSlicmVhaztrPWZbaCs0Pj4yXXwwO2w9KGF8MCk9PShqfDAp
O209aystMXwwO2U9MDtnPWZbaD4+Ml18MDt3aGlsZSgxKXtpZigoZXwwKT49KGt8MCkpYnJlYWs7
ZG8gaWYoZXxhKXtuPStwW2c+PjNdO2lmKGwmKGV8MCk9PShtfDApKXtwW2c+PjNdPW4rcTt1PWcr
OHwwO3BbdT4+M109K3BbdT4+M10rcjticmVha31lbHNle3BbZz4+M109bipjO3U9Zys4fDA7cFt1
Pj4zXT0rcFt1Pj4zXSpkO2JyZWFrfX1lbHNle3BbZz4+M109K3BbZz4+M10rczt1PWcrOHwwO3Bb
dT4+M109K3BbdT4+M10rdH13aGlsZSgwKTtlPWUrMXwwO2c9ZysxNnwwfWlmKGZbaCs4Pj4yXXww
KXt1PWgrMTZ8MDtwW3U+PjNdPStwW3U+PjNdK3M7dT1oKzI0fDA7cFt1Pj4zXT0rcFt1Pj4zXSt0
fWlmKGZbaCsxMj4+Ml18MCl7dT1oKzMyfDA7cFt1Pj4zXT0rcFt1Pj4zXStxO3U9aCs0MHwwO3Bb
dT4+M109K3BbdT4+M10rcn1hPWErMXwwO2g9aCs0OHwwfWE9ZltvKzk2Pj4yXXwwO2lmKGF8MD9i
W2ErODE+PjBdfDA6MCl7dT1hKzU2fDA7cFt1Pj4zXT0rcFt1Pj4zXSpjO3U9YSs2NHwwO3BbdT4+
M109K3BbdT4+M10qZH1hPWZbbysxMDA+PjJdfDA7aWYoYXwwP2JbYSs4MT4+MF18MDowKXt1PWEr
NTZ8MDtwW3U+PjNdPStwW3U+PjNdK3E7dT1hKzY0fDA7cFt1Pj4zXT0rcFt1Pj4zXStyfWE9Zltv
KzEwND4+Ml18MDtpZihhfDA/YlthKzgxPj4wXXwwOjApe3U9YSs1NnwwO3BbdT4+M109K3BbdT4+
M10rczt1PWErNjR8MDtwW3U+PjNdPStwW3U+PjNdK3R9cmV0dXJufWZ1bmN0aW9uIG9uKGEsYyxk
KXthPWF8MDtjPStjO2Q9K2Q7dmFyIGU9MCxnPTAsaD0wO2g9YSsxNnwwO2c9ZltoPj4yXXwwO2E9
ZyszMnwwO3BbYT4+M109K3BbYT4+M10qYzthPWcrNDB8MDtwW2E+PjNdPStwW2E+PjNdKmQ7YT1n
KzE2fDA7cFthPj4zXT0rcFthPj4zXSpjO2E9ZysyNHwwO3BbYT4+M109K3BbYT4+M10qZDthPWZb
ZysxMj4+Ml18MDtpZihhfDA/YlthKzgxPj4wXXwwOjApe2U9YSs1NnwwO3BbZT4+M109K3BbZT4+
M10qYztlPWErNjR8MDtwW2U+PjNdPStwW2U+PjNdKmR9ZT0xO2E9Zzt3aGlsZSgxKXtpZigoZXww
KT4oZlthKzE4MD4+Ml18MCkpYnJlYWs7b24oZlsoZlthKzE4ND4+Ml18MCkrKGU8PDIpPj4yXXww
LGMsZCk7ZT1lKzF8MDthPWZbaD4+Ml18MH1yZXR1cm59ZnVuY3Rpb24gcG4oYSxjKXthPWF8MDtj
PWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtqPWZbYSsxNj4+Ml18MDth
PWZbais4Pj4yXXwwO2k9ZlthKzQ+PjJdfDA7az1jKzh8MDthPWZbYT4+Ml18MDtnPTA7d2hpbGUo
MSl7aWYoKGd8MCk+PShpfDApKWJyZWFrO2g9ZlthKzQ+PjJdfDA7ZD1mW2E+PjJdfDA7ZT0wO3do
aWxlKDEpe2lmKChlfDApPj0oaHwwKSlicmVhaztwW2Q+PjNdPStwW2Q+PjNdLStwW2M+PjNdO2w9
ZCs4fDA7cFtsPj4zXT0rcFtsPj4zXS0rcFtrPj4zXTtkPWQrMTZ8MDtlPWUrMXwwfWlmKGZbYSs4
Pj4yXXwwKXtsPWErMTZ8MDtwW2w+PjNdPStwW2w+PjNdLStwW2M+PjNdO2w9YSsyNHwwO3BbbD4+
M109K3BbbD4+M10tK3Bbaz4+M119aWYoZlthKzEyPj4yXXwwKXtsPWErMzJ8MDtwW2w+PjNdPStw
W2w+PjNdLStwW2M+PjNdO2w9YSs0MHwwO3BbbD4+M109K3BbbD4+M10tK3Bbaz4+M119YT1hKzQ4
fDA7Zz1nKzF8MH1hPWZbais5Nj4+Ml18MDtpZihhfDA/YlthKzgxPj4wXXwwOjApe2w9YSs1Nnww
O3BbbD4+M109K3BbbD4+M10tK3BbYz4+M107bD1hKzY0fDA7cFtsPj4zXT0rcFtsPj4zXS0rcFtr
Pj4zXX1hPWZbaisxMDg+PjJdfDA7aWYoYXwwP2JbYSs4MT4+MF18MDowKXtsPWErNTZ8MDtwW2w+
PjNdPStwW2w+PjNdLStwW2M+PjNdO2w9YSs2NHwwO3BbbD4+M109K3BbbD4+M10tK3Bbaz4+M119
YT1mW2orMTAwPj4yXXwwO2lmKGF8MD9iW2ErODE+PjBdfDA6MCl7bD1hKzU2fDA7cFtsPj4zXT0r
cFtsPj4zXS0rcFtjPj4zXTtsPWErNjR8MDtwW2w+PjNdPStwW2w+PjNdLStwW2s+PjNdfWE9Zltq
KzEwND4+Ml18MDtpZihhfDA/YlthKzgxPj4wXXwwOjApe2w9YSs1NnwwO3BbbD4+M109K3BbbD4+
M10tK3BbYz4+M107bD1hKzY0fDA7cFtsPj4zXT0rcFtsPj4zXS0rcFtrPj4zXX1yZXR1cm59ZnVu
Y3Rpb24gcW4oYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MC4wLGc9MC4wLGg9MCxpPTAsaj0w
LGs9MDtqPXQ7dD10KzE2fDA7aT1qO2c9K3BbYz4+M107aD1hKzE2fDA7YT1mW2g+PjJdfDA7ZD1h
KzMyfDA7cFtkPj4zXT0rcFtkPj4zXS1nO2U9K3BbYys4Pj4zXTtkPWErNDB8MDtwW2Q+PjNdPStw
W2Q+PjNdLWU7ZD1hKzE2fDA7cFtkPj4zXT0rcFtkPj4zXS1nO2Q9YSsyNHwwO3BbZD4+M109K3Bb
ZD4+M10tZTtkPWZbYSsxMj4+Ml18MDtpZihkfDA/YltkKzgxPj4wXXwwOjApe2s9ZCs1NnwwO3Bb
az4+M109K3Bbaz4+M10tZztkPWQrNjR8MDtwW2Q+PjNdPStwW2Q+PjNdLWV9ZD0xO3doaWxlKDEp
e2lmKChkfDApPihmW2ErMTgwPj4yXXwwKSlicmVhaztrPWZbKGZbYSsxODQ+PjJdfDApKyhkPDwy
KT4+Ml18MDtmW2k+PjJdPWZbYz4+Ml07ZltpKzQ+PjJdPWZbYys0Pj4yXTtmW2krOD4+Ml09Zltj
Kzg+PjJdO2ZbaSsxMj4+Ml09ZltjKzEyPj4yXTtxbihrLGkpO2Q9ZCsxfDA7YT1mW2g+PjJdfDB9
dD1qO3JldHVybn1mdW5jdGlvbiBybihhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wLjAsZz0w
LjAsaD0wLGk9MDtoPXQ7dD10KzE2fDA7Yz1oO3ZNKGEpO2Q9YSsxNnwwO2I9ZltkPj4yXXwwO2U9
K3BbYisxNj4+M10qLjAxMzg4ODg4ODg4ODg4ODg4ODtnPStwW2IrMjQ+PjNdKi4wMTM4ODg4ODg4
ODg4ODg4ODg7Yj0keShhKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFrO2k9ZlsoZltiKzE2Pj4yXXww
KSsxMzI+PjJdfDA7cFtpPj4zXT0rcFtpPj4zXS1lO2k9aSs4fDA7cFtpPj4zXT0rcFtpPj4zXS1n
O2I9YXooYSxiKXwwfWk9KGZbZD4+Ml18MCkrMTZ8MDtmW2M+PjJdPWZbaT4+Ml07ZltjKzQ+PjJd
PWZbaSs0Pj4yXTtmW2MrOD4+Ml09ZltpKzg+PjJdO2ZbYysxMj4+Ml09ZltpKzEyPj4yXTtzbihh
LGMpO2puKGEsMSk7dD1oO3JldHVybn1mdW5jdGlvbiBzbihhLGIpe2E9YXwwO2I9YnwwO3ZhciBj
PTAsZD0wLGU9MCxnPTAsaD0wLjAsaT0wLjA7Zz10O3Q9dCsxNnwwO2U9ZztjPWErMTZ8MDthPTE7
d2hpbGUoMSl7ZD1mW2M+PjJdfDA7aWYoKGF8MCk+KGZbZCsxODA+PjJdfDApKWJyZWFrO2Q9Zlso
ZltkKzE4ND4+Ml18MCkrKGE8PDIpPj4yXXwwO2ZbZT4+Ml09ZltiPj4yXTtmW2UrND4+Ml09Zlti
KzQ+PjJdO2ZbZSs4Pj4yXT1mW2IrOD4+Ml07ZltlKzEyPj4yXT1mW2IrMTI+PjJdO3NuKGQsZSk7
YT1hKzF8MH1pPStwW2I+PjNdO2U9ZCszMnwwO3BbZT4+M109K3BbZT4+M10taTtoPStwW2IrOD4+
M107Yj1kKzQwfDA7cFtiPj4zXT0rcFtiPj4zXS1oO2I9ZCsxNnwwO3BbYj4+M109K3BbYj4+M10t
aTtiPWQrMjR8MDtwW2I+PjNdPStwW2I+PjNdLWg7dD1nO3JldHVybn1mdW5jdGlvbiB0bihhLGMs
ZCxlLGcpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MCxrPTAs
bD0wLG09MCxuPTAsbz0wLHE9MC4wO289KGR8MCk+MjttPTA7bj0wO2k9ZltlKzQ+PjJdfDA7YT1m
W2U+PjJdfDA7d2hpbGUoMSl7aWYoKG58MCk+PShjfDApKWJyZWFrO2g9ZlsoZltnKyhuPDwyKT4+
Ml18MCkrMTY+PjJdfDA7az1iW2grMTE5Pj4wXXwwO2E6ZG8gaWYoIShrPDwyND4+MjQpKXtxPStq
MygpO2o9YSs4fDA7cFthPj4zXT1xO3E9K2ozKCk7aD1pKzh8MDtwW2k+PjNdPXE7aWYobyl7YT0y
O3doaWxlKDEpe2lmKChhfDApPT0oZHwwKSl7aT1tO2E9ajticmVhayBhfXE9K2ozKCk7cFsoZltl
KyhhPDwyKT4+Ml18MCkrKG48PDMpPj4zXT1xO2E9YSsxfDB9fWVsc2V7aT1tO2E9an19ZWxzZXtq
PWZbaCsxMzI+PjJdfDA7bD1hKzh8MDtwW2E+PjNdPStwW2o+PjNdO2g9aSs4fDA7cFtpPj4zXT0r
cFtqKzg+PjNdO2I6ZG8gaWYobyl7aT0yO2E9aisxNnwwO3doaWxlKDEpe2lmKChpfDApPT0oZHww
KSlicmVhayBiO3BbKGZbZSsoaTw8Mik+PjJdfDApKyhuPDwzKT4+M109K3BbYT4+M107aT1pKzF8
MDthPWErOHwwfX13aGlsZSgwKTtpPShrJjI1NSk+MT8xOm07YT1sfXdoaWxlKDApO209aTtuPW4r
MXwwO2k9aH1hPTA7d2hpbGUoMSl7aWYoKGF8MCk+PShkfDApKWJyZWFrO1JzKGMsZltlKyhhPDwy
KT4+Ml18MCk7YT1hKzF8MH1yZXR1cm4gbXwwfWZ1bmN0aW9uIHVuKGEsYil7YT1hfDA7Yj1ifDA7
dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MC4wLGs9MCxsPTAsbT0wLG89MDtjPURIKCgo
VihiKzF8MCxiKXwwKS8yfDApPDwyKXwwO2w9Rm4oYixiLDAuMCl8MDttPUZuKGIsYiwwLjApfDA7
YTpkbyBpZighKGZbYSs4Pj4yXXwwKSl7ZD0wO3doaWxlKDEpe2lmKChkfDApPj0oYnwwKSlicmVh
ayBhO2c9ZlthKyhkKjIwfDApPj4yXXwwO2g9YSsoZCoyMHwwKSs0fDA7aT1sKyhkPDwyKXwwO2U9
MTt3aGlsZSgxKXtpZigoZXwwKT49KGd8MCkpYnJlYWs7az1mWyhmW2g+PjJdfDApKyhlPDwyKT4+
Ml18MDtwWyhmW2wrKGs8PDIpPj4yXXwwKSsoZDw8Myk+PjNdPS0xLjA7cFsoZltpPj4yXXwwKSso
azw8Myk+PjNdPS0xLjA7ZT1lKzF8MH1kPWQrMXwwfX1lbHNle2Q9MDt3aGlsZSgxKXtpZigoZHww
KT49KGJ8MCkpYnJlYWsgYTtnPWZbYSsoZCoyMHwwKT4+Ml18MDtoPWErKGQqMjB8MCkrNHwwO2k9
YSsoZCoyMHwwKSs4fDA7az1sKyhkPDwyKXwwO2U9MTt3aGlsZSgxKXtpZigoZXwwKT49KGd8MCkp
YnJlYWs7bz1mWyhmW2g+PjJdfDApKyhlPDwyKT4+Ml18MDtqPS0xLjAvK25bKGZbaT4+Ml18MCkr
KGU8PDIpPj4yXTtwWyhmW2wrKG88PDIpPj4yXXwwKSsoZDw8Myk+PjNdPWo7cFsoZltrPj4yXXww
KSsobzw8Myk+PjNdPWo7ZT1lKzF8MH1kPWQrMXwwfX13aGlsZSgwKTtiOmRvIGlmKCEoS3EoYixs
LG0pfDApKXtNXyhjKTtjPTB9ZWxzZXtlPTA7aD0wO2s9Yjt3aGlsZSgxKXtpZigoaHwwKT49KGJ8
MCkpYnJlYWsgYjtpPW0rKGg8PDIpfDA7ZD1oO2c9ZTt3aGlsZSgxKXtpZigoZHwwKT09KGJ8MCkp
YnJlYWs7aWYoKGh8MCk9PShkfDApKWo9MC4wO2Vsc2V7bz1mW2k+PjJdfDA7aj0rcFsoZlttKyhk
PDwyKT4+Ml18MCkrKGQ8PDMpPj4zXSsgK3BbbysoaDw8Myk+PjNdKyArcFtvKyhkPDwzKT4+M10q
LTIuMH1uW2MrKGc8PDIpPj4yXT1qO2Q9ZCsxfDA7Zz1nKzF8MH1lPWUra3wwO2g9aCsxfDA7az1r
Ky0xfDB9fXdoaWxlKDApO0duKGwpO0duKG0pO3JldHVybiBjfDB9ZnVuY3Rpb24gdm4oYSxiKXth
PWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAuMCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAs
bz0wLHE9MCxyPTAuMDtxPXQ7dD10KzE2fDA7bz1xO2lmKGZbYSs4Pj4yXXwwKXtjPXduKGEsYil8
MDtlPTAuMDtkPTA7bT0wO3doaWxlKDEpe2lmKChtfDApPj0oYnwwKSlicmVhaztkPWQrbXwwO2w9
ZlthKyhtKjIwfDApPj4yXXwwO2k9YSsobSoyMHwwKSs0fDA7aj0oVihtLGIpfDApLWR8MDtrPWEr
KG0qMjB8MCkrOHwwO2g9MTt3aGlsZSgxKXtpZigoaHwwKT49KGx8MCkpYnJlYWs7Zz1mWyhmW2k+
PjJdfDApKyhoPDwyKT4+Ml18MDtpZigoZ3wwKT49KG18MCkpe2c9YysoaitnPDwyKXwwO3I9K25b
KGZbaz4+Ml18MCkrKGg8PDIpPj4yXTtlPWUrICtJKCsoK25bZz4+Ml0tcikpO25bZz4+Ml09cn1o
PWgrMXwwfW09bSsxfDB9aWYoMCl7Yj1mWzE5NDU3XXwwO3Bbbz4+M109ZTtnMihiLDEwMjAzMCxv
KXwwfX1lbHNlIGM9MDt0PXE7cmV0dXJuIGN8MH1mdW5jdGlvbiB3bihhLGIpe2E9YXwwO2I9Ynww
O3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtsPXQ7dD10KzE2fDA7aD1s
O2k9REgoKChWKGIrMXwwLGIpfDApLzJ8MCk8PDIpfDA7aj1ESChiPDwyKXwwO0lxKGgsYik7Yz0w
O2U9MDtrPWI7d2hpbGUoMSl7aWYoKGN8MCk+PShifDApKWJyZWFrO3JyKGMsYSxiLGopO2Q9Yztn
PWU7d2hpbGUoMSl7aWYoKGR8MCk9PShifDApKWJyZWFrO2ZbaSsoZzw8Mik+PjJdPWZbaisoZDw8
Mik+PjJdO2Q9ZCsxfDA7Zz1nKzF8MH1jPWMrMXwwO2U9ZStrfDA7az1rKy0xfDB9TV8oaik7SnEo
aCk7dD1sO3JldHVybiBpfDB9ZnVuY3Rpb24geG4oYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9
MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTA7bD10O3Q9dCsxNnwwO2g9bDtpPURIKCgoVihi
KzF8MCxiKXwwKS8yfDApPDwyKXwwO2o9REgoYjw8Mil8MDtJcShoLGIpO2M9MDtlPTA7az1iO3do
aWxlKDEpe2lmKChjfDApPj0oYnwwKSlicmVhaztFcShjLGEsYixqLGgpO2Q9YztnPWU7d2hpbGUo
MSl7aWYoKGR8MCk9PShifDApKWJyZWFrO25baSsoZzw8Mik+PjJdPSsoZltqKyhkPDwyKT4+Ml18
MCk7ZD1kKzF8MDtnPWcrMXwwfWM9YysxfDA7ZT1lK2t8MDtrPWsrLTF8MH1NXyhqKTtKcShoKTt0
PWw7cmV0dXJuIGl8MH1mdW5jdGlvbiB5bihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9
MCxnPTAsaD0wLGk9MCxqPTAsaz0wLjAsbD0wLG09MCxvPTAscD0wLHE9MCxyPTAscz0wLjA7cj1h
Kzh8MDtjPWZbcj4+Ml18MDtkPTA7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oYnwwKSlicmVhaztk
PShmW2ErKGUqMjB8MCk+PjJdfDApK2R8MDtlPWUrMXwwfWU9REgoZDw8Mil8MDtxPURIKGI8PDIp
fDA7ZD0wO3doaWxlKDEpe2lmKChkfDApPj0oYnwwKSlicmVhaztmW3ErKGQ8PDIpPj4yXT0wO2Q9
ZCsxfDB9aWYoIShmW3I+PjJdfDApKXtnPTA7d2hpbGUoMSl7aWYoKGd8MCk+PShifDApKWJyZWFr
O2ZbYSsoZyoyMHwwKSs4Pj4yXT1lO2hzKGEsZyxxKTtoPWErKGcqMjB8MCl8MDtpPWZbaD4+Ml18
MDtqPWErKGcqMjB8MCkrNHwwO2s9KyhpKy0xfDApO2Q9MTt3aGlsZSgxKXtpZigoZHwwKT49KGl8
MCkpYnJlYWs7cD1mWyhmW2o+PjJdfDApKyhkPDwyKT4+Ml18MDtzPSsoKGZbYSsocCoyMHwwKT4+
Ml18MCkrLTF8MCkraztzPXMtKygoZ3MoYSxnLHAscSl8MCk8PDF8MCk7bltlKyhkPDwyKT4+Ml09
cztkPWQrMXwwfWlzKGEsZyxxKTtlPWUrKGZbaD4+Ml08PDIpfDA7Zz1nKzF8MH1lPXhuKGEsYil8
MH1lbHNle2k9MDt3aGlsZSgxKXtpZigoaXwwKT49KGJ8MCkpYnJlYWs7aHMoYSxpLHEpO2o9YSso
aSoyMHwwKXwwO2w9ZltqPj4yXXwwO209YSsoaSoyMHwwKSs0fDA7bz1sKy0yfDA7cD1hKyhpKjIw
fDApKzh8MDtoPTE7d2hpbGUoMSl7aWYoKGh8MCk+PShsfDApKWJyZWFrO2Q9ZlsoZlttPj4yXXww
KSsoaDw8Mik+PjJdfDA7Zz1vKyhmW2ErKGQqMjB8MCk+PjJdfDApfDA7cz0rKGctKChncyhhLGks
ZCxxKXwwKTw8MSl8MCk7az0rblsoZltwPj4yXXwwKSsoaDw8Mik+PjJdO2lmKGs8cylrPSsoZy0o
KGdzKGEsaSxkLHEpfDApPDwxKXwwKTtuW2UrKGg8PDIpPj4yXT1rO2g9aCsxfDB9aXMoYSxpLHEp
O2ZbcD4+Ml09ZTtlPWUrKGZbaj4+Ml08PDIpfDA7aT1pKzF8MH1lPXduKGEsYil8MH1NXyhxKTtN
XyhmW3I+PjJdfDApO2Zbcj4+Ml09MDthOmRvIGlmKGN8MCl7ZD0wO3doaWxlKDEpe2lmKChkfDAp
Pj0oYnwwKSlicmVhayBhO2ZbYSsoZCoyMHwwKSs4Pj4yXT1jO2M9YysoZlthKyhkKjIwfDApPj4y
XTw8Mil8MDtkPWQrMXwwfX13aGlsZSgwKTtyZXR1cm4gZXwwfWZ1bmN0aW9uIHpuKGEsYixjLGQs
ZSxnLGksaixrKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8MDtpPWl8MDtqPWp8
MDtrPWt8MDt2YXIgbD0wLG09MCxvPTAscT0wLjAscj0wLHM9MCx1PTAsdj0wLjAsdz0wLHg9MC4w
LHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxKPTAsSz0wLEw9MCxNPTAs
Tj0wLjAsTz0wLjA7TT10O3Q9dCs4MHwwO0w9TSs1NnwwO0s9TSs0OHwwO0E9TSs0MHwwO3U9TSsz
MnwwO3M9TSsyNHwwO3I9TSsxNnwwO209TSs4fDA7bD1NO289aSY0O0o9aSYzO2E6ZG8gaWYoKGt8
MCk8MCljPTA7ZWxzZXtpZigwKU5MKCk7aT0oanwwKT09MjtiOmRvIGlmKGkpe2lmKDApcTIoMTA0
MDA1LDI0LDEsZlsxOTQ1N118MCl8MDtjPXluKGEsYil8MDt3PTE0fWVsc2V7c3dpdGNoKGp8MCl7
Y2FzZSAxOntjPXVuKGEsYil8MDtpZihjfDApe0g9YzticmVhayBifVl3KDAsMTA0MDMwLGwpfDA7
WXcoMywxMDQwNzksbSl8MDt3PTE1O2JyZWFrIGJ9Y2FzZSAzOmJyZWFrO2RlZmF1bHQ6e3c9MTU7
YnJlYWsgYn19aWYoMClxMigxMDQxMzIsMjEsMSxmWzE5NDU3XXwwKXwwO2M9dm4oYSxiKXwwO3c9
MTR9d2hpbGUoMCk7aWYoKHd8MCk9PTE0KWlmKCFjKXc9MTU7ZWxzZSBIPWM7ZG8gaWYoKHd8MCk9
PTE1KXtpZigwKXEyKDEwNDE1NCwyNiwxLGZbMTk0NTddfDApfDA7aWYoIShmW2ErOD4+Ml18MCkp
e0g9eG4oYSxiKXwwO2JyZWFrfWVsc2V7SD13bihhLGIpfDA7YnJlYWt9fXdoaWxlKDApO2lmKDAp
e0c9ZlsxOTQ1N118MDt4PStPTCgpO3Bbcj4+M109eDtnMihHLDEwNDE4MSxyKXwwO3EyKDEwNDE5
MywyNSwxLEcpfDA7TkwoKX1jOmRvIGlmKChifDApPjEmKG98MCkhPTApaWYoKEFuKGEsYixkLGcs
byxKLGkmMSl8MCk8MCl7dT0wO3M9MDtjPS0xO2E9MDtyPTA7bz0wO209MDtsPTA7aj0wO2k9MH1l
bHNle2k9MDt3aGlsZSgxKXtpZigoaXwwKT49KGd8MCkpe3k9MDt3PTM3O2JyZWFrIGN9aj1kKyhp
PDwyKXwwO3E9MS4wO2M9MDt3aGlsZSgxKXtpZigoY3wwKT09KGJ8MCkpYnJlYWs7eD0rSSgrKCtw
WyhmW2o+PjJdfDApKyhjPDwzKT4+M10pKTtxPXg+cT94OnE7Yz1jKzF8MH1xPTEuMC9xO2M9MDt3
aGlsZSgxKXtpZigoY3wwKT09KGJ8MCkpYnJlYWs7Rz0oZltqPj4yXXwwKSsoYzw8Myl8MDtwW0c+
PjNdPStwW0c+PjNdKnE7Yz1jKzF8MH1jPTA7d2hpbGUoMSl7aWYoKGN8MCk9PShifDApKWJyZWFr
O3g9KCtqMygpKy0uNSkqMS4wZS0wNjtHPShmW2o+PjJdfDApKyhjPDwzKXwwO3BbRz4+M109K3Bb
Rz4+M10reDtjPWMrMXwwfVJzKGIsZltqPj4yXXwwKTtpPWkrMXwwfX1lbHNle3k9dG4oMCxiLGcs
ZCxlKXwwO3c9Mzd9d2hpbGUoMCk7ZDpkbyBpZigod3wwKT09Mzcpe2lmKDApe0c9ZlsxOTQ1N118
MDt4PStPTCgpO3Bbcz4+M109eDtnMihHLDEwNDIxOSxzKXwwfWlmKChifDApPT0xfChrfDApPT0w
KXtjPTA7YnJlYWsgYX1pZigwKXtHPWZbMTk0NTddfDA7eD0rT0woKTtwW3U+PjNdPXg7ZzIoRywx
MDQxODEsdSl8MDtxMigxMDIwNTIsMjYsMSxHKXwwO05MKCl9cj1nPDwyO0c9REgocil8MDtzPWI8
PDI7YT1WKHMsZyl8MDtGPURIKGEpfDA7Yz0wO3doaWxlKDEpe2lmKChjfDApPj0oZ3wwKSlicmVh
aztqPUYrKChWKGMsYil8MCk8PDIpfDA7ZltHKyhjPDwyKT4+Ml09ajtsPWQrKGM8PDIpfDA7aT0w
O3doaWxlKDEpe2lmKChpfDApPj0oYnwwKSlicmVhaztuW2orKGk8PDIpPj4yXT0rcFsoZltsPj4y
XXwwKSsoaTw8Myk+PjNdO2k9aSsxfDB9Yz1jKzF8MH1lOmRvIGlmKCFKKXttPWIrLTF8MDtjPTA7
cT0wLjA7bD0wO3doaWxlKDEpe2lmKChsfDApPj0obXwwKSlicmVhayBlO289Yi1sfDA7aj1jO2k9
MTt3aGlsZSgxKXtjPWorMXwwO2lmKChpfDApPj0ob3wwKSlicmVhaztqPWM7cT0rbltIKyhjPDwy
KT4+Ml0rcTtpPWkrMXwwfWw9bCsxfDB9fWVsc2UgcT0rKGJ8MCkqLjUqKyhiKy0xfDApO3doaWxl
KDApO0I9KFYoYisxfDAsYil8MCkvMnwwO0M9KEp8MCk9PTI7aWYoQylsdChCLEgpO210KEIsSCk7
RD1iPDwzO2o9REgoRCl8MDtTMyhqfDAsMCxEfDApfDA7RT1iKy0xfDA7Yz0wO2w9MDt3aGlsZSgx
KXtpZigobHwwKT49KEV8MCkpYnJlYWs7bT1iLWx8MDt2PTAuMDtpPTE7d2hpbGUoMSl7Yz1jKzF8
MDtpZigoaXwwKT49KG18MCkpYnJlYWs7eD0rbltIKyhjPDwyKT4+Ml07ej1qKyhpK2w8PDMpfDA7
cFt6Pj4zXT0rcFt6Pj4zXS14O3Y9dit4O2k9aSsxfDB9ej1qKyhsPDwzKXwwO3Bbej4+M109K3Bb
ej4+M10tdjtsPWwrMXwwfWM9YjtpPTA7bD0wO3doaWxlKDEpe2lmKChpfDApPj0oYnwwKSlicmVh
aztuW0grKGw8PDIpPj4yXT0rcFtqKyhpPDwzKT4+M107ej1jK2x8MDtjPWMrLTF8MDtpPWkrMXww
O2w9en16PURIKHIpfDA7Yz1ESChhKXwwO2Zbej4+Ml09YztjPTE7d2hpbGUoMSl7aWYoKGN8MCk+
PShnfDApKWJyZWFrO3c9KGZbej4+Ml18MCkrKChWKGMsYil8MCk8PDIpfDA7Zlt6KyhjPDwyKT4+
Ml09dztjPWMrMXwwfW09REgocyl8MDtsPURIKHMpfDA7aT1ESChCPDwyKXwwO2lmKDApe3c9Zlsx
OTQ1N118MDt4PStPTCgpO3BbQT4+M109eDtnMih3LDEwNDE4MSxBKXwwO3EyKDEwMjA3OSwxNSwx
LHcpfDA7TkwoKX13PSh5fDApPT0wO3k9ZlsxOTQ1N118MDtjPTA7bz0wO3g9MTc5NzY5MzEzNDg2
MjMxNTcwODE0NTI3NC4wZTI4NDt3aGlsZSgxKXtpZighKG88PDI0Pj4yND09MCYoY3wwKTwoa3ww
KSkpYnJlYWs7UzMoanwwLDAsRHwwKXwwO2lmKEMpbnQoQixILGkpO3U9MDthPTA7d2hpbGUoMSl7
aWYoKHV8MCk+PShFfDApKWJyZWFrO3M9Yi11Ky0xfDA7anQocywwLjAsbCk7bz0wO3doaWxlKDEp
e2lmKChvfDApPj0oZ3wwKSlicmVhaztBPUcrKG88PDIpfDA7anQocywrblsoZltBPj4yXXwwKSso
dTw8Mik+PjJdLG0pO2V0KHMsbSwtMS4wLChmW0E+PjJdfDApKyh1PDwyKSs0fDApO2x0KHMsbSk7
ZHQocyxtLGwsbCk7bz1vKzF8MH1vdChzLGwpO289MDt3aGlsZSgxKXtpZigob3wwKT49KHN8MCkp
YnJlYWs7cj1sKyhvPDwyKXwwO3Y9K25bcj4+Ml07aWYodj49MzQwMjgyMzQ2NjM4NTI4ODU5ODEx
NzA0MS4wZTE0fHY8MC4wKW5bcj4+Ml09MC4wO289bysxfDB9bz1hKzF8MDthPXUrMXwwO2Y6ZG8g
aWYoQyl7dj0wLjA7cj0wO3doaWxlKDEpe2lmKChyfDApPj0oc3wwKSlicmVhayBmO0E9aSsobzw8
Mil8MDtOPStuW0E+PjJdKituW2wrKHI8PDIpPj4yXTtuW0E+PjJdPU47QT1qKyhhK3I8PDMpfDA7
cFtBPj4zXT0rcFtBPj4zXS1OO3Y9ditOO289bysxfDA7cj1yKzF8MH19ZWxzZXt2PTAuMDtyPTA7
d2hpbGUoMSl7aWYoKHJ8MCk+PShzfDApKWJyZWFrIGY7Tj0rbltsKyhyPDwyKT4+Ml07bltpKyhv
PDwyKT4+Ml09TjtBPWorKGErcjw8Myl8MDtwW0E+PjNdPStwW0E+PjNdLU47dj12K047bz1vKzF8
MDtyPXIrMXwwfX13aGlsZSgwKTtBPWorKHU8PDMpfDA7cFtBPj4zXT0rcFtBPj4zXS12O3U9YTth
PW99bz1iO3I9MDthPTA7d2hpbGUoMSl7aWYoKHJ8MCk+PShifDApKWJyZWFrO25baSsoYTw8Mik+
PjJdPStwW2orKHI8PDMpPj4zXTtBPW8rYXwwO289bystMXwwO3I9cisxfDA7YT1BfW89MDt3aGls
ZSgxKXtpZigob3wwKT49KGd8MCkpYnJlYWs7YnQoaSxiLGZbRysobzw8Mik+PjJdfDAsZlt6Kyhv
PDwyKT4+Ml18MCk7bz1vKzF8MH12PTAuMDtvPTA7d2hpbGUoMSl7aWYoKG98MCk+PShnfDApKWJy
ZWFrO3Y9K2h0KGIsZltHKyhvPDwyKT4+Ml18MCxmW3orKG88PDIpPj4yXXwwKSt2O289bysxfDB9
dj12KjIuMCtxO289MDt3aGlsZSgxKXtpZigob3wwKT49KGd8MCkpYnJlYWs7QT1HKyhvPDwyKXww
O2J0KEgsYixmW0E+PjJdfDAsbSk7dj12LStodChiLGZbQT4+Ml18MCxtKTtvPW8rMXwwfU89eC12
O049K3BbMjQwMjRdO289KHY8Tj8xOihPPj0wLjA/TzotTykveDxOKSYxO2E9MDt3aGlsZSgxKXtp
ZigoYXwwKT49KGd8MCkpYnJlYWs7cz1HKyhhPDwyKXwwO3I9ZltzPj4yXXwwO2c6ZG8gaWYodyl7
aWYoKE9xKEgscixmW3orKGE8PDIpPj4yXXwwLGIsLjAwMSxiKXwwKTwwKXt1PXo7cz1IO2M9LTE7
YT1GO3I9RztvPXo7YnJlYWsgZH19ZWxzZXtndChiLHIsbSk7aWYoKE9xKEgsbSxmW3orKGE8PDIp
Pj4yXXwwLGIsLjAwMSxiKXwwKTwwKXt1PXo7cz1IO2M9LTE7YT1GO3I9RztvPXo7YnJlYWsgZH1y
PTA7d2hpbGUoMSl7aWYoKHJ8MCk+PShifDApKWJyZWFrIGc7aWYoKGhbKGZbKGZbZSsocjw8Mik+
PjJdfDApKzE2Pj4yXXwwKSsxMTk+PjBdfDApPD0xKWZbKGZbcz4+Ml18MCkrKHI8PDIpPj4yXT1m
W20rKHI8PDIpPj4yXTtyPXIrMXwwfX13aGlsZSgwKTthPWErMXwwfWlmKCgoYz4+PjApJTV8MHww
KT09MCYwIT0wPyhwW0s+PjNdPXYsZzIoeSwxMDI0MDQsSyl8MCwoKChjKzV8MCk+Pj4wKSU1MHww
fDApPT0wKTowKU8yKDEwLHkpfDA7Yz1jKzF8MDt4PXZ9aWYoMCl7Tj0rQm4oRyxILGcsYixKKTtP
PStPTCgpO3BbTD4+M109TjtmW0wrOD4+Ml09YztwW0wrMTY+PjNdPU87ZzIoeSwxMDIwOTUsTCl8
MH1vPTA7d2hpbGUoMSl7aWYoKG98MCk+PShnfDApKXt1PXo7cz1IO2E9RjtyPUc7bz16O2JyZWFr
IGR9YT1HKyhvPDwyKXwwO3M9ZCsobzw8Mil8MDtyPTA7d2hpbGUoMSl7aWYoKHJ8MCk+PShifDAp
KWJyZWFrO3BbKGZbcz4+Ml18MCkrKHI8PDMpPj4zXT0rblsoZlthPj4yXXwwKSsocjw8Mik+PjJd
O3I9cisxfDB9bz1vKzF8MH19d2hpbGUoMCk7TV8oYSk7TV8ocik7TV8ocyk7aWYodXwwKXtNXyhm
W3U+PjJdfDApO01fKG8pfU1fKG0pO01fKGwpO01fKGopO01fKGkpfXdoaWxlKDApO3Q9TTtyZXR1
cm4gY3wwfWZ1bmN0aW9uIEFuKGEsYyxkLGUsZyxoLGkpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXww
O2c9Z3wwO2g9aHwwO2k9aXwwO3ZhciBqPTAsaz0wLGw9MCxtPTAuMCxvPTAscT0wLHI9MC4wLHM9
MCx1PTAuMCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxI
PTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MDtRPXQ7dD10KzMyfDA7bD1RKzI0fDA7
UD1RKzh8MDtHPVErNHwwO049UTtNPShjfDApPDUwP2M6NTA7Tz1FSChNPDwyKXwwO0Y9Yzw8Mztr
PUVIKFYoRixNKXwwKXwwO2o9MDt3aGlsZSgxKXtpZigoanwwKT49KE18MCkpYnJlYWs7TD1rKygo
VihqLGMpfDApPDwzKXwwO2ZbTysoajw8Mik+PjJdPUw7aj1qKzF8MH1EPU08PDE7RD0oRHwwKT41
MD9EOjUwO0Q9KER8MCk+KGN8MCk/YzpEO2ZbbD4+Ml09MDtCcihhLGMsRCxsLGkpO0NyKGZbbD4+
Ml18MCxjLEQpO3Z0KGZbbD4+Ml18MCxELGMsTyxNKTtNXyhmW2ZbbD4+Ml0+PjJdfDApO01fKGZb
bD4+Ml18MCk7RD1jPDwyO0w9RUgoRCl8MDtqPTA7d2hpbGUoMSl7aWYoKGp8MCk+PShjfDApKWJy
ZWFrO2ZbTCsoajw8Mik+PjJdPS0xO2o9aisxfDB9SXEoUCxjKTtKPWZbYSs4Pj4yXXwwO0g9KGl8
MCkhPTA7aWYoSClucyhhLGMpO0I9RUgoRCl8MDtLPUVIKDE2MCl8MDtrPUVIKGMqMTYwfDApfDA7
Qz1FSCgxNjApfDA7aj0wO3doaWxlKDEpe2lmKChqfDApPT00MClicmVhaztFPWsrKChWKGosYyl8
MCk8PDIpfDA7ZltDKyhqPDwyKT4+Ml09RTtqPWorMXwwfWo9KGszKCl8MCklKGN8MCl8MDtmW0wr
KGo8PDIpPj4yXT0wO2ZbSz4+Ml09ajtrPWZbQz4+Ml18MDtpZihIKWxyKGosYSxjLGspO2Vsc2Ug
RXEoaixhLGMsayxQKTtrPTA7bD0wO3doaWxlKDEpe2lmKChsfDApPj0oY3wwKSlicmVhaztFPWZb
KGZbQz4+Ml18MCkrKGw8PDIpPj4yXXwwO2ZbQisobDw8Mik+PjJdPUU7QT0oRXwwKT4oa3wwKTtq
PUE/bDpqO2s9QT9FOms7bD1sKzF8MH1xPTE7d2hpbGUoMSl7aWYoKHF8MCk9PTQwKWJyZWFrO2Zb
TCsoajw8Mik+PjJdPXE7ZltLKyhxPDwyKT4+Ml09ajtzPUMrKHE8PDIpfDA7az1mW3M+PjJdfDA7
aWYoSClscihqLGEsYyxrKTtlbHNlIEVxKGosYSxjLGssUCk7bz0wO2k9MDt3aGlsZSgxKXtpZigo
b3wwKT49KGN8MCkpYnJlYWs7bD1CKyhvPDwyKXwwO0U9ZltsPj4yXXwwO2s9ZlsoZltzPj4yXXww
KSsobzw8Mik+PjJdfDA7az0oRXwwKTwoa3wwKT9FOms7ZltsPj4yXT1rO2lmKChrfDApPD0oaXww
KSlpZigoa3wwKT09KGl8MCk/KChrMygpfDApJShvKzF8MCl8MHwwKT09MDowKXtrPWZbbD4+Ml18
MDtqPW99ZWxzZSBrPWk7ZWxzZSBqPW87bz1vKzF8MDtpPWt9cT1xKzF8MH1qPTA7d2hpbGUoMSl7
aWYoKGp8MCk+PShjfDApKWJyZWFrO2ZbQisoajw8Mik+PjJdPS0xO2o9aisxfDB9eD1FSChEKXww
O0U9RUgoYzw8NCl8MDt5PWMrLTF8MDt6PXk8PDI7QT0wO2w9MDtpPTA7az0wO3c9MDt3aGlsZSgx
KXtpZigod3wwKT49KGN8MCkpYnJlYWs7aj1MKyh3PDwyKXwwO2E6ZG8gaWYoKGZbaj4+Ml18MCk+
LTEpe3Y9RUgoeil8MDtzPUUrKHc8PDQpKzR8MDtmW3M+PjJdPXY7dj1FSCh6KXwwO2ZbRSsodzw8
NCkrOD4+Ml09djtmW0UrKHc8PDQpPj4yXT15O2JbRSsodzw8NCkrMTI+PjBdPTE7cT1DKyhmW2o+
PjJdPDwyKXwwO2o9MDt3aGlsZSgxKXtpZigoanwwKT09KHd8MCkpYnJlYWs7ZlsoZltzPj4yXXww
KSsoajw8Mik+PjJdPWo7Zlt2KyhqPDwyKT4+Ml09ZlsoZltxPj4yXXwwKSsoajw8Mik+PjJdO2o9
aisxfDB9bz13O3doaWxlKDEpe2o9bysxfDA7aWYoKG98MCk9PSh5fDApKXtqPXk7YnJlYWsgYX1m
WyhmW3M+PjJdfDApKyhvPDwyKT4+Ml09ajtmW3YrKG88PDIpPj4yXT1mWyhmW3E+PjJdfDApKyhq
PDwyKT4+Ml07bz1qfX1lbHNle2lmKChrfDApPDQwKXtpPUVIKEQpfDA7bD1FSChEKXwwO2s9Yztq
PTF9ZWxzZSBqPTA7YltFKyh3PDw0KSsxMj4+MF09ajtmW0UrKHc8PDQpKzQ+PjJdPWk7ZltFKyh3
PDw0KSs4Pj4yXT1sO2ZbRSsodzw8NCk+PjJdPTQwO2o9MDt3aGlsZSgxKXtpZigoanwwKT09NDAp
YnJlYWs7ZltpKyhqPDwyKT4+Ml09ZltLKyhqPDwyKT4+Ml07ZltsKyhqPDwyKT4+Ml09ZlsoZltD
KyhqPDwyKT4+Ml18MCkrKHc8PDIpPj4yXTtqPWorMXwwfWw9bCsxNjB8MDtpPWkrMTYwfDA7az1r
Ky00MHwwO2o9NDB9d2hpbGUoMCk7QT1qK0F8MDt3PXcrMXwwfU1fKEIpO01fKHgpO2lmKEN8MCl7
TV8oZltDPj4yXXwwKTtNXyhDKX1DPUVIKGMqMjB8MCl8MDtvPUErYzw8MjtxPUVIKG8pfDA7dj0o
aHwwKT09MjtvPUVIKG8pfDA7cz0wO3doaWxlKDEpe2lmKChzfDApPj0oY3wwKSlicmVhaztmW0Mr
KHMqMjB8MCkrND4+Ml09cTtmW0MrKHMqMjB8MCkrOD4+Ml09bztqPShmW0UrKHM8PDQpPj4yXXww
KSsxfDA7dz1DKyhzKjIwfDApfDA7Zlt3Pj4yXT1qO2w9KGZbRSsoczw8NCkrOD4+Ml18MCkrLTR8
MDtpPUUrKHM8PDQpKzR8MDtiOmRvIGlmKHYpe209MC4wO2s9MTt3aGlsZSgxKXtpZigoa3wwKT49
KGp8MCkpYnJlYWsgYjtmW3ErKGs8PDIpPj4yXT1mWyhmW2k+PjJdfDApKyhrKy0xPDwyKT4+Ml07
dT0rKGZbbCsoazw8Mik+PjJdfDApO3U9LTEuMC8odSp1KTtuW28rKGs8PDIpPj4yXT11O209bS11
O2s9aysxfDA7aj1mW3c+PjJdfDB9fWVsc2V7bT0wLjA7az0xO3doaWxlKDEpe2lmKChrfDApPj0o
anwwKSlicmVhayBiO2ZbcSsoazw8Mik+PjJdPWZbKGZbaT4+Ml18MCkrKGsrLTE8PDIpPj4yXTt1
PS0xLjAvKyhmW2wrKGs8PDIpPj4yXXwwKTtuW28rKGs8PDIpPj4yXT11O209bS11O2s9aysxfDA7
aj1mW3c+PjJdfDB9fXdoaWxlKDApO2ZbcT4+Ml09cztuW28+PjJdPW07RD1mW3c+PjJdfDA7bz1v
KyhEPDwyKXwwO3E9cSsoRDw8Mil8MDtzPXMrMXwwfUI9RUgoZTw8Mil8MDtqPUVIKFYoZTw8MyxN
KXwwKXwwO2ZbQj4+Ml09ajtqPTE7d2hpbGUoMSl7aWYoKGp8MCk+PShlfDApKWJyZWFrO0Q9KGZb
Qj4+Ml18MCkrKChWKGosTSl8MCk8PDMpfDA7ZltCKyhqPDwyKT4+Ml09RDtqPWorMXwwfWM6ZG8g
aWYoZyl7aj0wO3doaWxlKDEpe2lmKChqfDApPj0oZXwwKSlicmVhaztsPUIrKGo8PDIpfDA7az0w
O3doaWxlKDEpe2lmKChrfDApPj0oTXwwKSlicmVhaztwWyhmW2w+PjJdfDApKyhrPDwzKT4+M109
MC4wO2s9aysxfDB9aj1qKzF8MH1pZigoZXwwKSE9Mil7aj0wO3doaWxlKDEpe2lmKChqfDApPj0o
ZXwwKSlicmVhayBjO3BbKGZbQisoajw8Mik+PjJdfDApKyhqPDwzKT4+M109MS4wO2o9aisxfDB9
fXBbZltCPj4yXT4+M109MS4wO2o9Qis0fDA7aWYoISgod3QoTyxNLGMsZltqPj4yXXwwKXwwKTw8
MjQ+PjI0KSl7az1mW2o+PjJdfDA7aj0wO3doaWxlKDEpe2lmKChqfDApPj0oTXwwKSlicmVhaztw
W2srKGo8PDMpPj4zXT0wLjA7aj1qKzF8MH1wW2srOD4+M109MS4wfX1lbHNle2s9MDt3aGlsZSgx
KXtpZigoa3wwKT49KGV8MCkpYnJlYWsgYztsPUIrKGs8PDIpfDA7aj0wO3doaWxlKDEpe2lmKChq
fDApPj0oTXwwKSlicmVhazt1PSsoazMoKXwwKSo0LjY1NjYxMjg3NTI0NTc5N2UtMTA7cFsoZlts
Pj4yXXwwKSsoajw8Myk+PjNdPXU7aj1qKzF8MH1rPWsrMXwwfX13aGlsZSgwKTtqPTA7d2hpbGUo
MSl7aWYoKGp8MCk+PShlfDApKWJyZWFrOyRzKE8sYyxNLGZbQisoajw8Mik+PjJdfDAsZltkKyhq
PDwyKT4+Ml18MCk7aj1qKzF8MH1mW0c+PjJdPTA7ZltOPj4yXT0wO1FzKEMsTyxjLE0sRyk7T3Mo
TyxmW0c+PjJdfDAsTSxjLE0sTik7TV8oZltmW0c+PjJdPj4yXXwwKTtNXyhmW0c+PjJdfDApO3o9
RUgoRil8MDtBPUVIKE08PDMpfDA7aj0wO2s9MDttPStDbihkLEUsZSxjLGgpO2Q6d2hpbGUoMSl7
aWYoIShrPj4+MDw1MCZqPDwyND4+MjQ9PTApKWJyZWFrO3g9MDt3aGlsZSgxKXtpZigoeHwwKT49
KGV8MCkpYnJlYWs7eT1kKyh4PDwyKXwwO2w9MDt3aGlsZSgxKXtpZigobHwwKT49KGN8MCkpYnJl
YWs7bz16KyhsPDwzKXwwO3Bbbz4+M109MC4wO3E9KGZbRSsobDw8NCkrOD4+Ml18MCkrLTR8MDtz
PWZbQysobCoyMHwwKSs0Pj4yXXwwO3Y9ZltDKyhsKjIwfDApKzg+PjJdfDA7dz1DKyhsKjIwfDAp
fDA7cj0wLjA7aT0xO3doaWxlKDEpe2lmKChpfDApPj0oZlt3Pj4yXXwwKSlicmVhaztqPWZbcyso
aTw8Mik+PjJdfDA7dT0rcHMoZCxlLGwsaik7aWYodT4xLjBlLTMwKXt1PS0oK25bdisoaTw8Mik+
PjJdKisoZltxKyhpPDwyKT4+Ml18MCkpL3U7cFtvPj4zXT11KitwWyhmW3k+PjJdfDApKyhqPDwz
KT4+M10rICtwW28+PjNdO3I9ci11fWk9aSsxfDB9cFtvPj4zXT0rcFtvPj4zXSsgK3BbKGZbeT4+
Ml18MCkrKGw8PDMpPj4zXSpyO2w9bCsxfDB9TnMoTyxNLGMseixBKTtqPUIrKHg8PDIpfDA7aWYo
TnEoZltOPj4yXXwwLGZbaj4+Ml18MCxBLE0sLjAwMSxNLDApfDApe2s9LTE7YnJlYWsgZH0kcyhP
LGMsTSxmW2o+PjJdfDAsZlt5Pj4yXXwwKTt4PXgrMXwwfWlmKCEoayYxKSl7dT0rQ24oZCxFLGUs
YyxoKTttPStJKCsodS1tKSkvKHUrMS4wZS0xMCk7aj1tPCtwWzI0MDI0XSYxO209dX1lbHNlIGo9
MDtrPWsrMXwwfU1fKEEpO01fKHopO2lmKEgpb3MoYSxjLEopO2o9MDt3aGlsZSgxKXtpZigoanww
KT49KGN8MCkpYnJlYWs7aWYoYltFKyhqPDw0KSsxMj4+MF18MCl7TV8oZltFKyhqPDw0KSs0Pj4y
XXwwKTtNXyhmW0UrKGo8PDQpKzg+PjJdfDApfWo9aisxfDB9TV8oRSk7TV8oZltDKzQ+PjJdfDAp
O01fKGZbQys4Pj4yXXwwKTtNXyhDKTtNXyhMKTtNXyhLKTtNXyhmW0I+PjJdfDApO01fKEIpO2o9
ZltOPj4yXXwwO2lmKGp8MCl7TV8oZltqPj4yXXwwKTtNXyhmW04+PjJdfDApfU1fKGZbTz4+Ml18
MCk7TV8oTyk7SnEoUCk7dD1RO3JldHVybiBrfDB9ZnVuY3Rpb24gQm4oYSxiLGMsZCxlKXthPWF8
MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLjAsaD0wLjAsaT0wLGo9MCxrPTAuMCxs
PTAsbT0wLG89MCxwPTAscT0wLHI9MDtxPWQrLTF8MDtvPShlfDApPT0yO2c9MC4wO2U9MDtsPTA7
d2hpbGUoMSl7aWYoKGx8MCk+PShxfDApKWJyZWFrO3A9ZC1sfDA7bT0xO3doaWxlKDEpe2U9ZSsx
fDA7aWYoKG18MCk+PShwfDApKWJyZWFrO2o9bStsfDA7aD0wLjA7aT0wO3doaWxlKDEpe2lmKChp
fDApPj0oY3wwKSlicmVhaztyPWZbYSsoaTw8Mik+PjJdfDA7az0rbltyKyhsPDwyKT4+Ml0tK25b
cisoajw8Mik+PjJdO2g9aCtrKms7aT1pKzF8MH1oPStKKCtoKTtrPStuW2IrKGU8PDIpPj4yXTtp
ZihvKXtoPTEuMC8rSigrayktaDtoPWgqaH1lbHNle2g9MS4wL2staDtoPWgqaH1tPW0rMXwwO2c9
aCprK2d9bD1sKzF8MH1yZXR1cm4gK2d9ZnVuY3Rpb24gQ24oYSxiLGMsZCxlKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLjAsaD0wLjAsaT0wLGo9MCxrPTAsbD0wLG09MCxu
PTAsbz0wLjAscT0wO2E6ZG8gaWYoKGV8MCk9PTIpe2c9MC4wO2s9MDt3aGlsZSgxKXtpZigoa3ww
KT49KGR8MCkpYnJlYWsgYTttPWZbYisoazw8NCk+PjJdfDA7bj1iKyhrPDw0KSs0fDA7bD1iKyhr
PDw0KSs4fDA7aj0wO3doaWxlKDEpe2lmKChqfDApPj0obXwwKSlicmVhaztpPWZbKGZbbj4+Ml18
MCkrKGo8PDIpPj4yXXwwO2lmKChpfDApPihrfDApKXtoPTAuMDtlPTA7d2hpbGUoMSl7aWYoKGV8
MCk+PShjfDApKWJyZWFrO3E9ZlthKyhlPDwyKT4+Ml18MDtvPStwW3ErKGs8PDMpPj4zXS0rcFtx
KyhpPDwzKT4+M107aD1vKm8raDtlPWUrMXwwfWg9K0ooK2gpO289KyhmWyhmW2w+PjJdfDApKyhq
PDwyKT4+Ml18MCk7aD1vLWg7Zz1oKmgvKG8qbykrZ31qPWorMXwwfWs9aysxfDB9fWVsc2V7az0w
O2c9MC4wO3doaWxlKDEpe2lmKChrfDApPj0oZHwwKSlicmVhayBhO2w9ZltiKyhrPDw0KT4+Ml18
MDttPWIrKGs8PDQpKzR8MDtuPWIrKGs8PDQpKzh8MDtqPTA7d2hpbGUoMSl7aWYoKGp8MCk+PShs
fDApKWJyZWFrO2k9ZlsoZlttPj4yXXwwKSsoajw8Mik+PjJdfDA7aWYoKGl8MCk+KGt8MCkpe2g9
MC4wO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KGN8MCkpYnJlYWs7cT1mW2ErKGU8PDIpPj4yXXww
O289K3BbcSsoazw8Myk+PjNdLStwW3ErKGk8PDMpPj4zXTtoPW8qbytoO2U9ZSsxfDB9aD0rSigr
aCk7bz0rKGZbKGZbbj4+Ml18MCkrKGo8PDIpPj4yXXwwKTtoPW8taDtnPWgqaC9vK2d9aj1qKzF8
MH1rPWsrMXwwfX13aGlsZSgwKTtyZXR1cm4gK2d9ZnVuY3Rpb24gRG4oYSl7YT0rYTtyZXR1cm4g
KygrSigrYSkqYSl9ZnVuY3Rpb24gRW4oYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAu
MCxlPTAsZz0wLGg9MC4wO2c9Zls0ODMyOF18MDtkPTAuMDtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+
PShnfDApKWJyZWFrO2g9K3BbYSsoZTw8Myk+PjNdLStwW2IrKGU8PDMpPj4zXTtwW2MrKGU8PDMp
Pj4zXT1oO2Q9aCpoK2Q7ZT1lKzF8MH1yZXR1cm4gKygrSigrZCkpfWZ1bmN0aW9uIEZuKGEsYixj
KXthPWF8MDtiPWJ8MDtjPStjO3ZhciBkPTAsZT0wLGc9MCxoPTA7aD1ESChhPDwyKXwwO2U9MDtn
PURIKFYoYTw8MyxiKXwwKXwwO3doaWxlKDEpe2lmKChlfDApPj0oYXwwKSlicmVhaztmW2grKGU8
PDIpPj4yXT1nO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGJ8MCkpYnJlYWs7cFtnKyhkPDwzKT4+
M109YztkPWQrMXwwfWU9ZSsxfDA7Zz1nKyhiPDwzKXwwfXJldHVybiBofDB9ZnVuY3Rpb24gR24o
YSl7YT1hfDA7aWYoYXwwKXtNXyhmW2E+PjJdfDApO01fKGEpfXJldHVybn1mdW5jdGlvbiBIbihh
LGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAuMCxlPTAuMCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxt
PTAsbj0wO209dDt0PXQrMTZ8MDtsPWp5KGEpfDA7az1reShhKXwwO2o9d3goYSwyLDEwMjY5Myww
KXwwO2E6ZG8gaWYoIWMpe3BbMjQwMjRdPSsobHwwKSouMDAwMTtqSChhLDExNzIxMiwxOTIxOTIp
O2c9R3goZlthKzYwPj4yXXwwLDEwMjEzMyl8MDtpZighZylkPS45OTtlbHNlIGQ9K0MyKGcpO3Bb
MjQwMjZdPWQ7Zz1ESCgobDw8MikrNHwwKXwwO2k9YSsxNnwwO2ZbKGZbaT4+Ml18MCkrMTUyPj4y
XT1nO2c9MDtkPTAuMDtoPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWgpYnJlYWsgYTtmWyhmWyhmW2k+
PjJdfDApKzE1Mj4+Ml18MCkrKGc8PDIpPj4yXT1oO249ZltoKzE2Pj4yXXwwO2ZbbisxMjA+PjJd
PWc7ZltuKzEyND4+Ml09LTE7ZT0rS24oYSxoLGopK2Q7Zz1nKzF8MDtkPWU7aD1heihhLGgpfDB9
fWVsc2V7cFsyNDAyNF09LjAwMDE7akgoYSwxMTcyMTIsMTkyMTkyKTtnPTA7ZD0wLjA7aD0keShh
KXwwO3doaWxlKDEpe2lmKCFoKWJyZWFrIGE7ZlsoZltoKzE2Pj4yXXwwKSsxMjA+PjJdPWc7ZT0r
S24oYSxoLGopK2Q7Zz1nKzF8MDtkPWU7aD1heihhLGgpfDB9fXdoaWxlKDApO2c9R3goYSwxMDIx
NDEpfDA7aWYoKGd8MCkhPTA/KGJbZz4+MF18MCkhPTA6MCl7ZD0rcFsyNDAyNF07ZT0rQzIoZyk7
aWYoIShkPmUpKWQ9ZX1lbHNlIGQ9ZC8rKCgoa3wwKT4xP2s6MSl8MCkqK0ooKygrKGx8MCkpKSsx
LjA7cFsyNDAyNV09ZDtpZighKGZbNDgzMjVdfGMpKXtjPUZuKGwsbCxkKXwwO249YSsxNnwwO2Zb
KGZbbj4+Ml18MCkrMTYwPj4yXT1jO2M9Rm4obCxsLDEuMCl8MDtmWyhmW24+PjJdfDApKzE2ND4+
Ml09YztjPUZuKGwsZls0ODMyOF18MCwxLjApfDA7ZlsoZltuPj4yXXwwKSsxNjg+PjJdPWM7Yz1M
bihsLGwsZls0ODMyOF18MCl8MDtmWyhmW24+PjJdfDApKzE3Mj4+Ml09Y310PW07cmV0dXJuIGx8
MH1mdW5jdGlvbiBJbihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9
MCxpPTAsaj0wO2U9MDtkPTA7aj1TeChhLGIpfDA7YTp3aGlsZSgxKXtpZighailicmVhaztoPWZb
aj4+Ml0mMztnPWZbKChofDApPT0yP2o6aistNDh8MCkrNDA+PjJdfDA7aD1mWygoaHwwKT09Mz9q
OmorNDh8MCkrNDA+PjJdfDA7ZG8gaWYoKGd8MCkhPShofDApKXtpPShofDApPT0oYnwwKTtpZigo
ZHwwKSE9MSl7ZT1pP2c6aDtmW2M+PjJdPWU7ZD1kKzF8MDticmVha31pZighKChnfDApPT0oZXww
KSZpKT8hKChnfDApPT0oYnwwKSYoaHwwKT09KGV8MCkpOjApe2Q9MjticmVhayBhfWVsc2UgZD0x
fXdoaWxlKDApO2o9VHgoYSxqLGIpfDB9cmV0dXJuIGR8MH1mdW5jdGlvbiBKbihhLGIsYyl7YT1h
fDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MDtoPXQ7dD10KzE2fDA7ZT1oO2c9YSs2
MHwwO2E6d2hpbGUoMSl7Yjp3aGlsZSgxKXtpZighYilicmVhayBhO3N3aXRjaChJbihhLGIsZSl8
MCl7Y2FzZSAwOntkPTU7YnJlYWsgYn1jYXNlIDE6e2Q9OTticmVhayBifWRlZmF1bHQ6Yj0wfX1p
ZigoZHwwKT09NSl7aWYoKGN8MCk9PShifDApKWM9YXooYSxjKXwwO216KGZbZz4+Ml18MCxiKXww
O2I9MH1lbHNlIGlmKChkfDApPT05KXtpZigoY3wwKT09KGJ8MCkpYz1heihhLGMpfDA7bXooZltn
Pj4yXXwwLGIpfDA7Yj1mW2U+PjJdfDB9fXQ9aDtyZXR1cm4gY3wwfWZ1bmN0aW9uIEtuKGEsYixj
KXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLjAsZT0wLjAsZz0wLGg9MCxpPTAsaj0wO2o9dDt0
PXQrMzJ8MDtoPWorOHwwO2c9ajtiPU54KGEsYil8MDtkPTAuMDt3aGlsZSgxKXtpZighYilicmVh
aztzd2l0Y2goTW4oYixjLGcpfDApe2Nhc2UgMDp7ZT0rcFtnPj4zXTticmVha31jYXNlIDI6e2k9
QXkoYSl8MDtmW2g+PjJdPWk7cFtoKzg+PjNdPTEuMDtZdygzLDEwMjE1MyxoKXwwO2k9NjticmVh
a31kZWZhdWx0Omk9Nn1pZigoaXwwKT09Nil7aT0wO3BbZz4+M109MS4wO2U9MS4wfXBbKGZbYisx
Nj4+Ml18MCkrMTM2Pj4zXT1lO2I9UHgoYSxiKXwwO2Q9ZStkfXQ9ajtyZXR1cm4gK2R9ZnVuY3Rp
b24gTG4oYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9
MCxrPTA7aT1ESCgoYTw8MikrNHwwKXwwO2o9KGI8PDIpKzR8MDtrPWM8PDM7Zz0wO3doaWxlKDEp
e2lmKChnfDApPj0oYXwwKSlicmVhaztlPURIKGopfDA7aD1pKyhnPDwyKXwwO2ZbaD4+Ml09ZTtl
PTA7d2hpbGUoMSl7aWYoKGV8MCk+PShifDApKWJyZWFrO2Q9REgoayl8MDtmWyhmW2g+PjJdfDAp
KyhlPDwyKT4+Ml09ZDtkPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShjfDApKWJyZWFrO3BbKGZbKGZb
aD4+Ml18MCkrKGU8PDIpPj4yXXwwKSsoZDw8Myk+PjNdPTAuMDtkPWQrMXwwfWU9ZSsxfDB9Zlso
ZltoPj4yXXwwKSsoZTw8Mik+PjJdPTA7Zz1nKzF8MH1mW2krKGc8PDIpPj4yXT0wO3JldHVybiBp
fDB9ZnVuY3Rpb24gTW4oYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLjAsaD0w
LGk9MCxqPTA7aj10O3Q9dCsxNnwwO2k9ais4fDA7aD1qO2RvIGlmKChjfDApIT0wPyhlPUh4KGEs
Yyl8MCwoYltlPj4wXXwwKSE9MCk6MCl7ZltoPj4yXT1kO2lmKCgoTTEoZSwxMDk1MzUsaCl8MCk+
PTE/KGc9K3BbZD4+M10sIShnPDAuMCkpOjApP2chPTAuMHwoZls0ODMyNV18MCkhPTA6MCl7YT0w
O2JyZWFrfWZbaT4+Ml09ZTtZdygwLDEwMjE4MCxpKXwwO2E9Mn1lbHNlIGE9MTt3aGlsZSgwKTt0
PWo7cmV0dXJuIGF8MH1mdW5jdGlvbiBObihhKXthPWF8MDtyZXR1cm4gSG4oYSwwKXwwfWZ1bmN0
aW9uIE9uKGEpe2E9YXwwO2E9YSsxNnwwO01fKGZbKGZbYT4+Ml18MCkrMTUyPj4yXXwwKTtpZigh
KGZbNDgzMjVdfDApKXtHbihmWyhmW2E+PjJdfDApKzE2MD4+Ml18MCk7R24oZlsoZlthPj4yXXww
KSsxNjQ+PjJdfDApO0duKGZbKGZbYT4+Ml18MCkrMTY4Pj4yXXwwKTtQbihmWyhmW2E+PjJdfDAp
KzE3Mj4+Ml18MCk7ZlsoZlthPj4yXXwwKSsxNzI+PjJdPTB9cmV0dXJufWZ1bmN0aW9uIFBuKGEp
e2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wO2lmKGF8MCl7ZT0wO3doaWxlKDEpe2c9YSso
ZTw8Mil8MDtiPWZbZz4+Ml18MDtpZighYilicmVhaztkPTA7d2hpbGUoMSl7Yz1mW2IrKGQ8PDIp
Pj4yXXwwO2lmKCFjKWJyZWFrO01fKGMpO2Q9ZCsxfDA7Yj1mW2c+PjJdfDB9TV8oYik7ZT1lKzF8
MH1NXyhhKX1yZXR1cm59ZnVuY3Rpb24gUW4oYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBk
PTAuMCxlPTAuMDtkPSsoYnwwKTtiPWErMTZ8MDt3aGlsZSgxKXtpZigoY3wwKT49KGZbNDgzMjhd
fDApKWJyZWFrO2U9K2ozKCkqZDtwWyhmWyhmW2I+PjJdfDApKzEzMj4+Ml18MCkrKGM8PDMpPj4z
XT1lO2M9YysxfDB9cmV0dXJufWZ1bmN0aW9uIFJuKGEsYil7YT1hfDA7Yj1ifDA7UW4oYSxiLDIp
O3JldHVybn1mdW5jdGlvbiBTbihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLjAsZT0wLjA7
ZD0rKGJ8MCk7ZT0rajMoKSpkO2M9YSsxNnwwO3BbZlsoZltjPj4yXXwwKSsxMzI+PjJdPj4zXT1l
O2Q9K2ozKCkqZDtwWyhmWyhmW2M+PjJdfDApKzEzMj4+Ml18MCkrOD4+M109ZDtpZigoZls0ODMy
OF18MCk+MilSbihhLGIpO3JldHVybn1mdW5jdGlvbiBUbihhLGMpe2E9YXwwO2M9Y3wwO3ZhciBk
PTAsZT0wO2U9dDt0PXQrMTZ8MDtkPWU7aWYoMClxMigxMDIxOTgsMjYsMSxmWzE5NDU3XXwwKXww
O2M9eW0oYSxjLDIpfDA7YTpkbyBpZigoY3wwKSE9MSl7aWYoIShmWzQ4MTcwXXxjKSl7WXcoMCwx
MDIyMjUsZCl8MDtmWzQ4MTcwXT0xfWQ9YSsxNnwwO2M9MDt3aGlsZSgxKXthPWZbKGZbKGZbZD4+
Ml18MCkrMTUyPj4yXXwwKSsoYzw8Mik+PjJdfDA7aWYoIWEpYnJlYWsgYTtpZighKGJbKGZbYSsx
Nj4+Ml18MCkrMTE5Pj4wXXwwKSlTbihhLDEpO2M9YysxfDB9fXdoaWxlKDApO3Q9ZTtyZXR1cm59
ZnVuY3Rpb24gVW4oYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLjAsaD0wLGk9
MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAuMDtvPXQ7dD10Kzk2fDA7bj1vKzgwfDA7bD1v
O2lmKDApe3EyKDEwMjI3NCwyNSwxLGZbMTk0NTddfDApfDA7TkwoKX1tPWErMTZ8MDtoPWZbbT4+
Ml18MDtrPWZbaCsxNjQ+PjJdfDA7aD1mW2grMTYwPj4yXXwwO2Q9MDt3aGlsZSgxKXtpZigoZHww
KT49KGJ8MCkpYnJlYWs7aT1oKyhkPDwyKXwwO2o9aysoZDw8Mil8MDtlPTA7d2hpbGUoMSl7aWYo
KGV8MCk9PShkfDApKWJyZWFrO2c9K3BbKGZbaT4+Ml18MCkrKGU8PDMpPj4zXTtnPTEuMC8oZypn
KTtjPWZbKGZbbT4+Ml18MCkrMTUyPj4yXXwwO2M9X3goYSxmW2MrKGQ8PDIpPj4yXXwwLGZbYyso
ZTw8Mik+PjJdfDAsMCwwKXwwO2lmKGMpZz0rcFsoZltjKzE2Pj4yXXwwKSsxMjg+PjNdKmc7cFso
ZltrKyhlPDwyKT4+Ml18MCkrKGQ8PDMpPj4zXT1nO3BbKGZbaj4+Ml18MCkrKGU8PDMpPj4zXT1n
O2U9ZSsxfDB9ZD1kKzF8MH1lPWZbNDgzMjhdfDA7ZD0wO3doaWxlKDEpe2lmKChkfDApPj0oYnww
KSlicmVhaztjPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShlfDApKWJyZWFrO3BbKGZbKGZbKGZbbT4+
Ml18MCkrMTY4Pj4yXXwwKSsoZDw8Mik+PjJdfDApKyhjPDwzKT4+M109MC4wO2M9YysxfDB9ZD1k
KzF8MH1oPTA7d2hpbGUoMSl7Yz1mWyhmWyhmW20+PjJdfDApKzE1Mj4+Ml18MCkrKGg8PDIpPj4y
XXwwO2lmKCFjKWJyZWFrO2U9YysxNnwwO2M9MDt3aGlsZSgxKXtpZigoY3wwKT49KGJ8MCkpYnJl
YWs7YTpkbyBpZigoaHwwKSE9KGN8MCkpe2c9K0VuKGZbKGZbZT4+Ml18MCkrMTMyPj4yXXwwLGZb
KGZbKGZbKGZbKGZbbT4+Ml18MCkrMTUyPj4yXXwwKSsoYzw8Mik+PjJdfDApKzE2Pj4yXXwwKSsx
MzI+PjJdfDAsbCk7YT1mWzQ4MzI4XXwwO2c9MS4wL2c7ZD0wO3doaWxlKDEpe2lmKChkfDApPj0o
YXwwKSlicmVhayBhO2s9ZlttPj4yXXwwO3E9K3BbbCsoZDw8Myk+PjNdO3E9KHEtK3BbKGZbKGZb
aysxNjA+PjJdfDApKyhoPDwyKT4+Ml18MCkrKGM8PDMpPj4zXSpxKmcpKitwWyhmWyhmW2srMTY0
Pj4yXXwwKSsoaDw8Mik+PjJdfDApKyhjPDwzKT4+M107cFsoZlsoZlsoZltrKzE3Mj4+Ml18MCkr
KGg8PDIpPj4yXXwwKSsoYzw8Mik+PjJdfDApKyhkPDwzKT4+M109cTtrPShmWyhmW2srMTY4Pj4y
XXwwKSsoaDw8Mik+PjJdfDApKyhkPDwzKXwwO3Bbaz4+M109K3Bbaz4+M10rcTtkPWQrMXwwfX13
aGlsZSgwKTtjPWMrMXwwfWg9aCsxfDB9aWYoMCl7bT1mWzE5NDU3XXwwO3E9K09MKCk7cFtuPj4z
XT1xO2cyKG0sMTAyMzAwLG4pfDB9dD1vO3JldHVybn1mdW5jdGlvbiBWbihhLGIpe2E9YXwwO2I9
YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MC4wLGo9MDtoPXQ7dD10KzMyfDA7Zz1oKzI0
fDA7ZT1oKzh8MDtkPWg7aT0rcFsyNDAyNF07cFsyMzk2Nl09aSppO3doaWxlKDEpe2M9V24oYSxi
KXwwO2lmKCFjKWJyZWFrO1huKGEsYixjKX1pZighMCliPWErMTZ8MDtlbHNle2M9ZlsxOTQ1N118
MDtpPStZbihhLGIpO3BbZD4+M109aTtnMihjLDEwMjMxMCxkKXwwO2I9YSsxNnwwO2o9ZlsoZlti
Pj4yXXwwKSsxNTY+PjJdfDA7ZD0oanwwKT09KGZbNDgzMjddfDApPzEwMjMyNDoxOTQ4NzA7aT0r
T0woKTtmW2U+PjJdPWo7ZltlKzQ+PjJdPWQ7cFtlKzg+PjNdPWk7ZzIoYywxMDIzMjYsZSl8MH1i
PWZbKGZbYj4+Ml18MCkrMTU2Pj4yXXwwO2lmKChifDApPT0oZls0ODMyN118MCkpe2o9QXkoYSl8
MDtmW2c+PjJdPWI7ZltnKzQ+PjJdPWo7WXcoMCwxMDIzNTMsZyl8MH10PWg7cmV0dXJufWZ1bmN0
aW9uIFduKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MC4wLGQ9MCxlPTAsZz0wLjAsaT0wLGo9MCxr
PTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAuMDtxPXQ7dD10KzE2fDA7bz1xO209KGZbNDgxNzJd
fDApKzF8MDtmWzQ4MTcyXT1tO2E9ZlthKzE2Pj4yXXwwO2lmKChmW2ErMTU2Pj4yXXwwKTwoZls0
ODMyN118MCkpe2s9YSsxNTJ8MDtsPWZbNDgzMjhdfDA7aj1hKzE2OHwwO2E9MDtjPTAuMDtpPTA7
d2hpbGUoMSl7aWYoKGl8MCk+PShifDApKWJyZWFrO2U9ZlsoZltrPj4yXXwwKSsoaTw8Mik+PjJd
fDA7aWYoKGhbKGZbZSsxNj4+Ml18MCkrMTE5Pj4wXXwwKTw9MSl7Zz0wLjA7ZD0wO3doaWxlKDEp
e2lmKChkfDApPj0obHwwKSlicmVhaztyPStwWyhmWyhmW2o+PjJdfDApKyhpPDwyKT4+Ml18MCkr
KGQ8PDMpPj4zXTtnPXIqcitnO2Q9ZCsxfDB9aWYoZz5jKXthPWU7Yz1nfX1pPWkrMXwwfWlmKCEo
YzwrcFsyMzk2Nl0pKXtpZigoKG18MCklMTAwfDB8MCk9PTAmMCE9MD8obj1mWzE5NDU3XXwwLHI9
K0ooK2MpLHBbbz4+M109cixnMihuLDEwMjQwNCxvKXwwLCgoZls0ODE3Ml18MCklMWUzfDB8MCk9
PTApOjApTzIoMTAsbil8MH1lbHNlIGE9MH1lbHNlIGE9MDt0PXE7cmV0dXJuIGF8MH1mdW5jdGlv
biBYbihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MC4wLGU9MCxnPTAsaD0wLGk9MCxq
PTAsaz0wLGw9MCxtPTA7bT10O3Q9dCsxNnwwO2w9bTtqPWMrMTZ8MDtrPWZbKGZbaj4+Ml18MCkr
MTIwPj4yXXwwO2U9Zls0ODE3MV18MDtpZighZSl7Zz1mWzQ4MzI4XXwwO2c9RUgoVihnPDwzLGcp
fDApfDB9ZWxzZXtnPWZbNDgzMjhdfDA7Zz1HSChlLFYoZzw8MyxnKXwwKXwwfWZbNDgxNzFdPWc7
Wm4oYSxiLGssZyk7aD1mWzQ4MzI4XXwwO2k9YSsxNnwwO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49
KGh8MCkpYnJlYWs7cFsxODY2ODgrKGU8PDMpPj4zXT0tK3BbKGZbKGZbKGZbaT4+Ml18MCkrMTY4
Pj4yXXwwKSsoazw8Mik+PjJdfDApKyhlPDwzKT4+M107ZT1lKzF8MH1ldShnLDE4Njc2OCwxODY2
ODgsaCk7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oZls0ODMyOF18MCkpYnJlYWs7ZD0rcFsyNDAy
Nl07ZD0oMS4wLWQpKjIuMCorajMoKStkO2g9MTg2NzY4KyhlPDwzKXwwO2Q9ZCorcFtoPj4zXTtw
W2g+PjNdPWQ7aD0oZlsoZltqPj4yXXwwKSsxMzI+PjJdfDApKyhlPDwzKXwwO3BbaD4+M109K3Bb
aD4+M10rZDtlPWUrMXwwfWo9KGZbaT4+Ml18MCkrMTU2fDA7ZltqPj4yXT0oZltqPj4yXXwwKSsx
O19uKGEsYixrKTtpZihsTSgpfDApe2c9Zls0ODMyOF18MDtkPTAuMDtlPTA7d2hpbGUoMSl7aWYo
KGV8MCk+PShnfDApKWJyZWFrO2Q9K0koKygrcFsxODY3NjgrKGU8PDMpPj4zXSkpK2Q7ZT1lKzF8
MH1kPStKKCtkKTtrPWZbMTk0NTddfDA7Yz1BeShjKXwwO2ZbbD4+Ml09YztwW2wrOD4+M109ZDtn
MihrLDEwMjM5NSxsKXwwfXQ9bTtyZXR1cm59ZnVuY3Rpb24gWW4oYSxiKXthPWF8MDtiPWJ8MDt2
YXIgYz0wLjAsZD0wLjAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9
MCxyPTAuMDtxPWIrLTF8MDttPWErMTZ8MDtuPWZbNDgzMjhdfDA7Zz0wO2M9MC4wO3doaWxlKDEp
e2lmKChnfDApPj0ocXwwKSlicmVhaztsPWZbbT4+Ml18MDtvPWZbbCsxNTI+PjJdfDA7aT1nKzF8
MDtqPShmW28rKGc8PDIpPj4yXXwwKSsxNnwwO2s9bCsxNjR8MDtsPWwrMTYwfDA7aD1pO3doaWxl
KDEpe2lmKChofDApPj0oYnwwKSlicmVhaztlPShmW28rKGg8PDIpPj4yXXwwKSsxNnwwO2E9MDtk
PTAuMDt3aGlsZSgxKXtpZigoYXwwKT49KG58MCkpYnJlYWs7cj0rcFsoZlsoZltqPj4yXXwwKSsx
MzI+PjJdfDApKyhhPDwzKT4+M10tK3BbKGZbKGZbZT4+Ml18MCkrMTMyPj4yXXwwKSsoYTw8Myk+
PjNdO2E9YSsxfDA7ZD1yKnIrZH1yPStwWyhmWyhmW2w+PjJdfDApKyhnPDwyKT4+Ml18MCkrKGg8
PDMpPj4zXTtyPSgoK0ooK2QpKi0yLjArcikqcitkKSorcFsoZlsoZltrPj4yXXwwKSsoZzw8Mik+
PjJdfDApKyhoPDwzKT4+M10rYztoPWgrMXwwO2M9cn1nPWl9cmV0dXJuICtjfWZ1bmN0aW9uIFpu
KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0w
LGs9MC4wLGw9MC4wLG09MC4wLG49MC4wLG89MC4wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9
MDt3PXQ7dD10KzgwfDA7dT13O3M9ZlthKzE2Pj4yXXwwO2k9ZltzKzE2ND4+Ml18MDtqPWZbcysx
NjA+PjJdfDA7cz1mW3MrMTUyPj4yXXwwO2c9ZltzKyhjPDwyKT4+Ml18MDt2PWZbNDgzMjhdfDA7
YT0wO3doaWxlKDEpe2lmKChhfDApPj0odnwwKSlicmVhaztoPVYodixhKXwwO2U9MDt3aGlsZSgx
KXtpZigoZXwwKT09KHZ8MCkpYnJlYWs7cFtkKyhlK2g8PDMpPj4zXT0wLjA7ZT1lKzF8MH1hPWEr
MXwwfXI9ZysxNnwwO3E9aSsoYzw8Mil8MDtqPWorKGM8PDIpfDA7aT0wO3doaWxlKDEpe2lmKChp
fDApPj0oYnwwKSlicmVhazthOmRvIGlmKChpfDApIT0oY3wwKSl7ZT0oZltzKyhpPDwyKT4+Ml18
MCkrMTZ8MDtvPTAuMDthPTA7d2hpbGUoMSl7aWYoKGF8MCk+PSh2fDApKWJyZWFrO249K3BbKGZb
KGZbcj4+Ml18MCkrMTMyPj4yXXwwKSsoYTw8Myk+PjNdLStwWyhmWyhmW2U+PjJdfDApKzEzMj4+
Ml18MCkrKGE8PDMpPj4zXTtwW3UrKGE8PDMpPj4zXT1uO289bipuK287YT1hKzF8MH1rPTEuMC8r
RG4obyk7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0odnwwKSlicmVhayBhO2c9KGZbcT4+Ml18MCkr
KGk8PDMpfDA7aD0oZltqPj4yXXwwKSsoaTw8Myl8MDtsPStwW3UrKGU8PDMpPj4zXTthPTA7d2hp
bGUoMSl7bT0rcFtnPj4zXTtuPStwW2g+PjNdO2lmKChhfDApPT0oZXwwKSlicmVhazt4PWQrKChW
KGEsdil8MCkrZTw8Myl8MDtwW3g+PjNdPW4qayptKmwqK3BbdSsoYTw8Myk+PjNdKyArcFt4Pj4z
XTthPWErMXwwfXg9ZCsoKFYoZSx2KXwwKStlPDwzKXwwO3BbeD4+M109KDEuMC1uKmsqKG8tbCps
KSkqbSsgK3BbeD4+M107ZT1lKzF8MH19d2hpbGUoMCk7aT1pKzF8MH1lPTE7d2hpbGUoMSl7aWYo
KGV8MCk+PSh2fDApKWJyZWFrO2c9VihlLHYpfDA7YT0wO3doaWxlKDEpe2lmKChhfDApPT0oZXww
KSlicmVhazt4PWQrKChWKGEsdil8MCkrZTw8Myl8MDtwW2QrKGErZzw8Myk+PjNdPStwW3g+PjNd
O2E9YSsxfDB9ZT1lKzF8MH10PXc7cmV0dXJufWZ1bmN0aW9uIF9uKGEsYixjKXthPWF8MDtiPWJ8
MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLjAsaT0wLGo9MCxrPTAsbD0wLG09MC4wLG49MC4w
LG89MCxxPTAscj0wO2s9dDt0PXQrODB8MDtqPWs7aT1hKzE2fDA7ZT1mW2k+PjJdfDA7Zz1mWyhm
W2UrMTUyPj4yXXwwKSsoYzw8Mik+PjJdfDA7ZD1mWzQ4MzI4XXwwO2U9ZSsxNjh8MDthPTA7d2hp
bGUoMSl7aWYoKGF8MCk+PShkfDApKWJyZWFrO3BbKGZbKGZbZT4+Ml18MCkrKGM8PDIpPj4yXXww
KSsoYTw8Myk+PjNdPTAuMDthPWErMXwwfWU9ZysxNnwwO2E9MDt3aGlsZSgxKXtpZigoYXwwKT49
KGJ8MCkpYnJlYWs7YTpkbyBpZigoYXwwKSE9KGN8MCkpe2g9K0VuKGZbKGZbZT4+Ml18MCkrMTMy
Pj4yXXwwLGZbKGZbKGZbKGZbKGZbaT4+Ml18MCkrMTUyPj4yXXwwKSsoYTw8Mik+PjJdfDApKzE2
Pj4yXXwwKSsxMzI+PjJdfDAsaik7Zz1mWzQ4MzI4XXwwO2g9MS4wL2g7ZD0wO3doaWxlKDEpe2lm
KChkfDApPj0oZ3wwKSlicmVhayBhO2w9ZltpPj4yXXwwO289ZltsKzE3Mj4+Ml18MDtxPShmWyhm
W28rKGM8PDIpPj4yXXwwKSsoYTw8Mik+PjJdfDApKyhkPDwzKXwwO249K3BbaisoZDw8Myk+PjNd
O249KG4tK3BbKGZbKGZbbCsxNjA+PjJdfDApKyhjPDwyKT4+Ml18MCkrKGE8PDMpPj4zXSpuKmgp
KitwWyhmWyhmW2wrMTY0Pj4yXXwwKSsoYzw8Mik+PjJdfDApKyhhPDwzKT4+M107cFtxPj4zXT1u
O2w9ZltsKzE2OD4+Ml18MDtyPShmW2wrKGM8PDIpPj4yXXwwKSsoZDw8Myl8MDtwW3I+PjNdPStw
W3I+PjNdK247bz0oZlsoZltvKyhhPDwyKT4+Ml18MCkrKGM8PDIpPj4yXXwwKSsoZDw8Myl8MDtu
PStwW28+PjNdO209K3BbcT4+M107cFtvPj4zXT0tbTtsPShmW2wrKGE8PDIpPj4yXXwwKSsoZDw8
Myl8MDtwW2w+PjNdPS1uLW0rICtwW2w+PjNdO2Q9ZCsxfDB9fXdoaWxlKDApO2E9YSsxfDB9dD1r
O3JldHVybn1mdW5jdGlvbiAkbihhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wLGc9MCxoPTAs
aT0wO2M9YSsxNnwwO2c9Zls0ODE3M118MDtiPWZbKGZbYz4+Ml18MCkrMTI0Pj4yXXwwO3doaWxl
KDEpe2lmKChifDApPD0wKWJyZWFrO2g9KGIrLTF8MCkvMnwwO2k9ZysoaDw8Mil8MDtkPWZbaT4+
Ml18MDtlPWQrMTZ8MDtpZigrcFsoZltlPj4yXXwwKSsxMzY+PjNdPD0rcFsoZltjPj4yXXwwKSsx
MzY+PjNdKWJyZWFrO2ZbaT4+Ml09YTtmWyhmW2M+PjJdfDApKzEyND4+Ml09aDtmW2crKGI8PDIp
Pj4yXT1kO2ZbKGZbZT4+Ml18MCkrMTI0Pj4yXT1iO2I9aH1yZXR1cm59ZnVuY3Rpb24gYW8oYSl7
YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7aj1h
KzE2fDA7az1mWzQ4MTc0XXwwO2w9Zls0ODE3M118MDtpPWZbKGZbaj4+Ml18MCkrMTI0Pj4yXXww
O3doaWxlKDEpe2g9aTw8MXwxO2lmKChofDApPj0oa3wwKSlicmVhaztlPWgrMXwwO2lmKChlfDAp
PChrfDApKXtkPWwrKGU8PDIpfDA7Zz1mW2Q+PjJdfDA7Yj1sKyhoPDwyKXwwO2M9ZltiPj4yXXww
O2lmKCtwWyhmW2crMTY+PjJdfDApKzEzNj4+M108K3BbKGZbYysxNj4+Ml18MCkrMTM2Pj4zXSlj
PWc7ZWxzZSBtPTZ9ZWxzZXtjPWwrKGg8PDIpfDA7Yj1jO2M9ZltjPj4yXXwwO209Nn1pZigobXww
KT09Nil7bT0wO2U9aDtkPWJ9Yj1jKzE2fDA7aWYoK3BbKGZbaj4+Ml18MCkrMTM2Pj4zXTw9K3Bb
KGZbYj4+Ml18MCkrMTM2Pj4zXSlicmVhaztmW2Q+PjJdPWE7ZlsoZltqPj4yXXwwKSsxMjQ+PjJd
PWU7ZltsKyhpPDwyKT4+Ml09YztmWyhmW2I+PjJdfDApKzEyND4+Ml09aTtpPWV9cmV0dXJufWZ1
bmN0aW9uIGJvKGEpe2E9YXwwO3ZhciBiPTAsYz0wO2I9KGZbYSsxNj4+Ml18MCkrMTI0fDA7aWYo
KGZbYj4+Ml18MCk+PTApeGEoMTAyNDEwLDEwMjQzMCw2NDMsMTAyNDM4KTtjPWZbNDgxNzRdfDA7
Zls0ODE3NF09YysxO2ZbYj4+Ml09YztmWyhmWzQ4MTczXXwwKSsoYzw8Mik+PjJdPWE7aWYoKGN8
MCk+MCkkbihhKTtyZXR1cm59ZnVuY3Rpb24gY28oKXt2YXIgYT0wLGI9MCxjPTAsZD0wO2I9Zls0
ODE3NF18MDtpZighYilhPTA7ZWxzZXtkPWZbNDgxNzNdfDA7YT1mW2Q+PjJdfDA7Yz1iKy0xfDA7
Zls0ODE3NF09YztjPWZbZCsoYzw8Mik+PjJdfDA7ZltkPj4yXT1jO2ZbKGZbYysxNj4+Ml18MCkr
MTI0Pj4yXT0wO2lmKChifDApPjIpYW8oYyk7ZlsoZlthKzE2Pj4yXXwwKSsxMjQ+PjJdPS0xfXJl
dHVybiBhfDB9ZnVuY3Rpb24gZW8oYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAuMDtk
PXQ7dD10KzE2fDA7Yz1kO2I9REgoKGI8PDIpKzR8MCl8MDtmWzQ4MTczXT1iO2lmKDApe3EyKDEw
MjQ1MiwyOCwxLGZbMTk0NTddfDApfDA7TkwoKX1iPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWIpYnJl
YWs7Zm8oYSxiKTtiPWF6KGEsYil8MH1pZigwKXthPWZbMTk0NTddfDA7ZT0rT0woKTtwW2M+PjNd
PWU7ZzIoYSwxMDIzMDAsYyl8MH1NXyhmWzQ4MTczXXwwKTt0PWQ7cmV0dXJufWZ1bmN0aW9uIGZv
KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLjAsZz0wLGg9MCxpPTAsaj0wO2Q9Zlso
ZlthKzE2Pj4yXXwwKSsxNTI+PjJdfDA7ZT0rcFsyNDAyNV07Yz0wO3doaWxlKDEpe2c9ZltkKyhj
PDwyKT4+Ml18MDtpZighZylicmVhaztwWyhmW2crMTY+PjJdfDApKzEzNj4+M109ZTtjPWMrMXww
fWZbNDgxNzVdPWI7aj1mW2IrMTY+PjJdfDA7cFtqKzEzNj4+M109MC4wO2ZbaisxMjg+PjJdPTA7
Ym8oYik7d2hpbGUoMSl7aj1jbygpfDA7aWYoIWopYnJlYWs7Yz1mWzQ4MTc1XXwwO2k9aisxNnww
O2lmKChqfDApIT0oY3wwKSlnbyhhLGMsaiwrcFsoZltpPj4yXXwwKSsxMzY+PjNdKTtoPVN4KGEs
ail8MDt3aGlsZSgxKXtpZighaClicmVhaztjPWZbaD4+Ml0mMztiPWZbKChjfDApPT0zP2g6aCs0
OHwwKSs0MD4+Ml18MDtpZigoYnwwKT09KGp8MCkpYj1mWygoY3wwKT09Mj9oOmgrLTQ4fDApKzQw
Pj4yXXwwO2M9ZltpPj4yXXwwO2U9K3BbKGZbaCsxNj4+Ml18MCkrMTM2Pj4zXSsgK3BbYysxMzY+
PjNdO2Q9ZltiKzE2Pj4yXXwwO2c9ZCsxMzZ8MDtkbyBpZigrcFtnPj4zXT5lKXtwW2c+PjNdPWU7
aWYoKGZbZCsxMjQ+PjJdfDApPi0xKXskbihiKTticmVha31lbHNle2ZbZCsxMjg+PjJdPShmW2Mr
MTI4Pj4yXXwwKSsxO2JvKGIpO2JyZWFrfX13aGlsZSgwKTtoPVR4KGEsaCxqKXwwfX1yZXR1cm59
ZnVuY3Rpb24gZ28oYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD0rZDtiPWZbKGZbYisxNj4+
Ml18MCkrMTIwPj4yXXwwO2M9ZlsoZltjKzE2Pj4yXXwwKSsxMjA+PjJdfDA7YT1mWyhmW2ErMTY+
PjJdfDApKzE2MD4+Ml18MDtwWyhmW2ErKGM8PDIpPj4yXXwwKSsoYjw8Myk+PjNdPWQ7cFsoZlth
KyhiPDwyKT4+Ml18MCkrKGM8PDMpPj4zXT1kO3JldHVybn1mdW5jdGlvbiBobyhhKXthPWF8MDtp
TihhLDIpO2RbKGZbYSsxNj4+Ml18MCkrMTc2Pj4xXT0yO2ZbNDgzMjhdPTI7aW8oYSk7cmV0dXJu
fWZ1bmN0aW9uIGlvKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTA7Yj1qeShhKXwwO2Q9REgo
Yio1NnwwKXwwO2I9REgoKGI8PDIpKzR8MCl8MDtlPWErMTZ8MDtmWyhmW2U+PjJdfDApKzE1Mj4+
Ml09YjtiPSR5KGEpfDA7Yz0wO3doaWxlKDEpe2lmKCFiKWJyZWFrO2ltKGIpO2ZbKGZbYisxNj4+
Ml18MCkrMTEyPj4yXT1kKyhjKjU2fDApO2ZbKGZbKGZbZT4+Ml18MCkrMTUyPj4yXXwwKSsoYzw8
Mik+PjJdPWI7Yj1heihhLGIpfDA7Yz1jKzF8MH1jPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJl
YWs7Yj1OeChhLGMpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7am8oYik7Yj1QeChhLGIpfDB9Yz1h
eihhLGMpfDB9cmV0dXJufWZ1bmN0aW9uIGpvKGEpe2E9YXwwO3ZhciBiPTAuMDtKeihhLDE0NTcz
MCwxNzYsMSl8MDtuTShhKXwwO2I9K1VMKGEsZls0ODM2Nl18MCwxLjAsMC4wKTtwWyhmW2ErMTY+
PjJdfDApKzEyOD4+M109YjtyZXR1cm59ZnVuY3Rpb24ga28oYSl7YT1hfDA7dmFyIGM9MCxkPTAs
ZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0wLHU9MDt1
PXQ7dD10KzgwfDA7az11KzMyfDA7aD11KzI0fDA7Zz11KzE2fDA7aT11O3M9dSs3MnwwO249dSs0
MHwwO2lmKGp5KGEpfDApe2hvKGEpO2U9R3goYSwxMDUyNjMpfDA7aWYoZSlpZihiW2U+PjBdfDAp
e2M9anooYSxlLDApfDA7aWYoIWMpe2ZbZz4+Ml09ZTtZdygwLDEwMjQ4MSxnKXwwO1l3KDMsMTAy
NTIxLGgpfDA7Yz0wO3I9MX1lbHNlIHI9MH1lbHNle2M9MDtyPTF9ZWxzZXtjPTA7cj0wfWw9d3go
YSwxLDEwNTI2MywwKXwwO209KGx8MCkhPTA7ZT1HeChhLDE0Nzg3Nyl8MDtpZigoZXwwP2JbZT4+
MF18MDowKT8oaj1pKzh8MCxmW2s+PjJdPWksZltrKzQ+PjJdPWosKE0xKGUsMTEzODI5LGspfDAp
PT0xKTowKXBbaj4+M109K3BbaT4+M107aWYoankoYSl8MCl7az14RChhLHMsMCl8MDtpZigoZltz
Pj4yXXwwKT09MSl7Zz0oY3wwKSE9MDtkbyBpZihnKWQ9YztlbHNle2lmKG0/KGQ9bG8oYSxsKXww
LGR8MCk6MClicmVhaztkPTB9d2hpbGUoMCk7ZT1ndShhLGQpfDA7aWYoISgoZHwwKSE9MHxtXjEp
KUF4KGUsbCwxNDk0OTApfDA7cT0oJHkoYSl8MCkrMTZ8MDtNXyhmWyhmW3E+PjJdfDApKzExMj4+
Ml18MCk7ZlsoZltxPj4yXXwwKSsxMTI+PjJdPTA7Q3EoYSl8MDtybihhKTtjPShyfDApPT0wfGc/
YzplfWVsc2V7ZUUoYSwyLDgsbil8MDtmW24rMTI+PjJdPTA7aj0ocnwwKT09MDtpPTA7d2hpbGUo
MSl7aWYoKGl8MCk+PShmW3M+PjJdfDApKWJyZWFrO2c9ZltrKyhpPDwyKT4+Ml18MDtkPShjfDAp
IT0wO2lmKGQ/KHh6KGcsYyl8MCkhPTA6MCllPWM7ZWxzZSBxPTIzO2RvIGlmKChxfDApPT0yMyl7
cT0wO2lmKG0/KG89bG8oZyxsKXwwLG98MCk6MCl7ZT1vO2JyZWFrfWU9MH13aGlsZSgwKTtFRChn
KXwwO2g9Z3UoZyxlKXwwO2M9anxkP2M6aDtpZihtPyhlfDApPT0wfChlfDApPT0oY3wwKTowKUF4
KGgsbCwxNDk0OTApfDA7Q3EoZyl8MDtpPWkrMXwwfXE9KCR5KGEpfDApKzE2fDA7TV8oZlsoZltx
Pj4yXXwwKSsxMTI+PjJdfDApO2ZbKGZbcT4+Ml18MCkrMTEyPj4yXT0wO2RFKGZbcz4+Ml18MCxr
LGEsbil8MDtybihhKX1kPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShmW3M+PjJdfDApKWJyZWFrO216
KGEsZltrKyhkPDwyKT4+Ml18MCl8MDtkPWQrMXwwfU1fKGspfWlmKHJ8MClJeChhLDEwNTI2MyxB
eShjKXwwKXwwO25KKGEpfXQ9dTtyZXR1cm59ZnVuY3Rpb24gbG8oYSxiKXthPWF8MDtiPWJ8MDt2
YXIgYz0wO2M9JHkoYSl8MDt3aGlsZSgxKXtpZighYyl7Yz0wO2JyZWFrfWlmKChaTChIeChjLGIp
fDApfDApPDwyND4+MjQpYnJlYWs7Yz1heihhLGMpfDB9cmV0dXJuIGN8MH1mdW5jdGlvbiBtbyhh
KXthPWF8MDt2YXIgYj0wLGM9MDtiPSR5KGEpfDA7aWYoYnwwKXt3aGlsZSgxKXtpZighYilicmVh
aztjPU54KGEsYil8MDt3aGlsZSgxKXtpZighYylicmVhaztTTShjKTtjPVB4KGEsYyl8MH1RTShi
KTtiPWF6KGEsYil8MH1ubyhhKX1yZXR1cm59ZnVuY3Rpb24gbm8oYSl7YT1hfDA7TV8oZlsoZlth
KzE2Pj4yXXwwKSsxNTI+PjJdfDApO2lmKChveihhKXwwKSE9KGF8MCkpUHooYSwwLDE0NTc1Myk7
cmV0dXJufWZ1bmN0aW9uIG9vKGEpe2E9YXwwO3BvKGEpO2lmKCEoKGp5KGEpfDApPT0wPyEoZlso
ZlthKzE2Pj4yXXwwKSsxODA+PjJdfDApOjApKXt3dShhKTtuSihhKX1yZXR1cm59ZnVuY3Rpb24g
cG8oYSl7YT1hfDA7dmFyIGI9MDtiPXd4KGEsMSwxMTY1NTYsMTE2NTYyKXwwO2ZbNDgzMzldPWI7
aU4oYSwyKTtkWyhmW2ErMTY+PjJdfDApKzE3Nj4+MV09MjtmWzQ4MzI4XT0yO3FvKGEsMCk7cm8o
YSk7cmV0dXJufWZ1bmN0aW9uIHFvKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9
MCxoPTAsaT0wO2k9dDt0PXQrMTZ8MDtnPWk7aD0oYnwwKT09MDtpZihoKXt1byhnKTtiPWd9Yz1G
QShhKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO2lmKCEoYSQoQXkoYyl8MCwxMTYzMzIsNyl8MCkp
e0p6KGMsMTQ1NzUzLDI4MCwxKXwwO3ZvKGIsYyk7cW8oYywwKX1lbHNlIHFvKGMsYik7Yz1HQShj
KXwwfWlmKGg/KGQ9ZltnKzg+PjJdfDAsZT1hKzE2fDAsZlsoZltlPj4yXXwwKSsxODA+PjJdPWQs
ZHwwKTowKXtoPUdIKGZbZz4+Ml18MCwoZDw8MikrNHwwKXwwO2ZbKGZbZT4+Ml18MCkrMTg0Pj4y
XT1ofXQ9aTtyZXR1cm59ZnVuY3Rpb24gcm8oYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxn
PTA7ZT1ESCgoankoYSl8MCk8PDIpfDA7Yj1ESCgoKGp5KGEpfDApPDwyKSs0fDApfDA7Zz1hKzE2
fDA7ZlsoZltnPj4yXXwwKSsxNTI+PjJdPWI7Yj0keShhKXwwO2M9MDt3aGlsZSgxKXtpZighYili
cmVhaztKeihiLDE0NTcxNywzMDQsMSl8MDtmWyhmW2IrMTY+PjJdfDApKzExMj4+Ml09ZSsoYzw8
Mik7ZlsoZlsoZltnPj4yXXwwKSsxNTI+PjJdfDApKyhjPDwyKT4+Ml09YjtzbyhiKTtkPU54KGEs
Yil8MDt3aGlsZSgxKXtpZighZClicmVhazt0byhkKTtkPVB4KGEsZCl8MH1iPWF6KGEsYil8MDtj
PWMrMXwwfXJldHVybn1mdW5jdGlvbiBzbyhhKXthPWF8MDtJeChhLDExNjU1NiwxMTY1NjIpfDA7
cmV0dXJufWZ1bmN0aW9uIHRvKGEpe2E9YXwwO0p6KGEsMTQ1NzMwLDMwNCwxKXwwO3JldHVybn1m
dW5jdGlvbiB1byhhKXthPWF8MDtmW2E+PjJdPTA7ZlthKzQ+PjJdPTA7ZlthKzg+PjJdPTA7cmV0
dXJufWZ1bmN0aW9uIHZvKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTA7
Zz1hKzh8MDtjPShmW2c+PjJdfDApKzF8MDtmW2c+PjJdPWM7ZD1hKzR8MDtoPWZbZD4+Ml18MDtl
PWgrMTB8MDtpZigoY3wwKTwoaHwwKSlhPWZbYT4+Ml18MDtlbHNle2ZbZD4+Ml09ZTtjPUdIKGZb
YT4+Ml18MCxlPDwyKXwwO2ZbYT4+Ml09YzthPWM7Yz1mW2c+PjJdfDB9ZlthKyhjPDwyKT4+Ml09
YjtyZXR1cm59ZnVuY3Rpb24gd28oYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yj0keShhKXwwO2lmKGJ8
MCl7TV8oZlsoZltiKzE2Pj4yXXwwKSsxMTI+PjJdfDApO3doaWxlKDEpe2lmKCFiKWJyZWFrO2M9
TngoYSxiKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO1NNKGMpO2M9UHgoYSxjKXwwfVFNKGIpO2I9
YXooYSxiKXwwfXhvKGEpfXJldHVybn1mdW5jdGlvbiB4byhhKXthPWF8MDtNXyhmWyhmW2ErMTY+
PjJdfDApKzE1Mj4+Ml18MCk7aWYoKG96KGEpfDApIT0oYXwwKSlQeihhLDAsMTQ1NzUzKTtyZXR1
cm59ZnVuY3Rpb24geW8oYSl7YT1hfDA7dmFyIGI9MCxjPTAsZT0wO3pvKGEpO0FvKGEsMCk7Qm8o
YSwwKTtDbyhhLDApO2I9ZlthKzE2Pj4yXXwwO2lmKCEoZlsoZltiKzg+PjJdfDApKzg0Pj4yXXww
KSl7Yj1kW2IrMTM2Pj4xXSYxNDtpZihiPDwxNj4+MTYpZm4oYSxiJjY1NTM1KXwwfWVsc2V7Yj0k
eShhKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFrO2U9ZltiKzE2Pj4yXXwwO2M9ZltlKzEzMj4+Ml18
MDtwW2M+PjNdPStwW2UrMTY+PjNdKi4wMTM4ODg4ODg4ODg4ODg4ODg7cFtjKzg+PjNdPStwW2Ur
MjQ+PjNdKi4wMTM4ODg4ODg4ODg4ODg4ODg7Yj1heihhLGIpfDB9am4oYSwxKX1uSihhKTtyZXR1
cm59ZnVuY3Rpb24gem8oYSl7YT1hfDA7dmFyIGI9MCxjPTA7aU4oYSwyKTtkWyhmW2ErMTY+PjJd
fDApKzE3Nj4+MV09MjtmWzQ4MzI4XT0yO2I9JHkoYSl8MDt3aGlsZSgxKXtpZighYilicmVhaztp
bShiKTtiPWF6KGEsYil8MH1jPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7Yj1OeChhLGMp
fDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7SnooYiwxNDU3MzAsMTc2LDEpfDA7bk0oYil8MDtiPVB4
KGEsYil8MH1jPWF6KGEsYyl8MH1yZXR1cm59ZnVuY3Rpb24gQW8oYSxiKXthPWF8MDtiPWJ8MDt2
YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTA7aT10O3Q9dCsxNnwwO2c9aTtoPShifDApPT0wO2lm
KGgpe0hvKGcpO2I9Z31jPUZBKGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7aWYoIShhJChBeShj
KXwwLDExNjMzMiw3KXwwKSl7SnooYywxNDU3NTMsMjgwLDEpfDA7b0goYyk7SW8oYixjKTtBbyhj
LDApfWVsc2UgQW8oYyxiKTtjPUdBKGMpfDB9aWYoaD8oZD1mW2crOD4+Ml18MCxlPWErMTZ8MCxm
WyhmW2U+PjJdfDApKzE4MD4+Ml09ZCxkfDApOjApe2g9R0goZltnPj4yXXwwLChkPDwyKSs0fDAp
fDA7ZlsoZltlPj4yXXwwKSsxODQ+PjJdPWh9dD1pO3JldHVybn1mdW5jdGlvbiBCbyhhLGIpe2E9
YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLjAsaT0wLGo9MC4wLGs9MC4wLGw9MCxt
PTAuMCxuPTAsbz0wLHE9MC4wLHI9MCxzPTAuMCx1PTAsdj0wLjAsdz0wLjAseD0wLHk9MCx6PTAs
QT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxP
PTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTA7VT10O3Q9dCs0NDh8MDtLPVUrNDAwfDA7Sj1VKzM4
NHwwO1Q9VSszNDR8MDtTPVUrMzA0fDA7Uj1VKzI0OHwwO0g9VSsxOTJ8MDtCPVUrMTUyfDA7Qz1V
Kzk2fDA7bD1VKzcyfDA7Yz1VKzY0fDA7TT1VKzMyfDA7Tj1VO0Y9VSs0MTZ8MDt4PVUrMzI4fDA7
QT1VKzI4OHwwO089VSsyMzJ8MDtQPVUrMTc2fDA7UT1VKzEzNnwwO0w9VSs4MHwwO2k9ZlthKzYw
Pj4yXXwwO2lmKDA+MSl7RG8oYik7ST1mWzE5NDU3XXwwO0c9QXkoYSl8MDtmW2M+PjJdPUc7ZzIo
SSwxMDI3NjQsYyl8MH1JPWErMTZ8MDtlPWIrMXwwO2M9MTtkPTA7d2hpbGUoMSl7Zz1mW0k+PjJd
fDA7aWYoKGN8MCk+KGZbZysxODA+PjJdfDApKWJyZWFrO0c9ZlsoZltnKzE4ND4+Ml18MCkrKGM8
PDIpPj4yXXwwO0JvKEcsZSk7Yz1jKzF8MDtkPShqeShHKXwwKStkfDB9bj0oankoYSl8MCktZHww
O2M9ZltJPj4yXXwwO0c9KGZbYysxODA+PjJdfDApK258MDt6PShHfDApPT0wO2lmKHo/KGZbYysx
Mj4+Ml18MCk9PTA6MCl7VD1jKzE2fDA7ZltUPj4yXT0wO2ZbVCs0Pj4yXT0wO2ZbVCs4Pj4yXT0w
O2ZbVCsxMj4+Ml09MDtwW2MrNDA+PjNdPTE4LjA7cFtjKzMyPj4zXT0xOC4wfWVsc2V7Yz1GKzE2
fDA7ZG8gaWYoKGVFKGEsNCw0LEYpfDApPj4+MD49MylpZigoZltjPj4yXXwwKT09ND8oZltGKzI4
Pj4yXSYyfDApIT0wOjApe2Q9d3goaSwwLDEwNzUxNiwwKXwwO2M9d3goaSwxLDEwNzUxNiwwKXww
O2lmKChkfDApIT0wfChjfDApIT0wKXtFPURIKEc8PDIpfDA7ZltGKzI0Pj4yXT1FO2JyZWFrfWVs
c2V7Yz1BeShhKXwwO2ZbbD4+Ml09YztZdygwLDEwMjYxMCxsKXwwO2M9MDtkPTA7YnJlYWt9fWVs
c2V7Yz0wO2Q9MH1lbHNle2ZbYz4+Ml09MztjPTA7ZD0wfXdoaWxlKDApO0Q9REgoRzw8NSl8MDtF
PURIKEc8PDIpfDA7dT1GKzI0fDA7aT0oZHwwKSE9MDtyPTA7Zz0xO3doaWxlKDEpe2U9ZltJPj4y
XXwwO2lmKChnfDApPihmW2UrMTgwPj4yXXwwKSlicmVhaztlPWZbKGZbZSsxODQ+PjJdfDApKyhn
PDwyKT4+Ml18MDt5PUQrKHI8PDUpfDA7bz0oZltlKzE2Pj4yXXwwKSsxNnwwO2ZbeT4+Ml09Zltv
Pj4yXTtmW3krND4+Ml09ZltvKzQ+PjJdO2ZbeSs4Pj4yXT1mW28rOD4+Ml07Zlt5KzEyPj4yXT1m
W28rMTI+PjJdO2ZbeSsxNj4+Ml09ZltvKzE2Pj4yXTtmW3krMjA+PjJdPWZbbysyMD4+Ml07Zlt5
KzI0Pj4yXT1mW28rMjQ+PjJdO2ZbeSsyOD4+Ml09ZltvKzI4Pj4yXTtpZihpJihmW3U+PjJdfDAp
IT0wKXt5PVRMKGUsZCwwLDApfDA7ZlsoZlt1Pj4yXXwwKSsocjw8Mik+PjJdPXl9ZltFKyhyPDwy
KT4+Ml09ZTtyPXIrMXwwO2c9ZysxfDB9YTpkbyBpZigobnwwKT4wKXtsPU0rMTZ8MDtuPU0rMjR8
MDtvPShjfDApIT0wO2k9JHkoYSl8MDtkPXI7d2hpbGUoMSl7aWYoIWkpYnJlYWsgYTtlPWZbaSsx
Nj4+Ml18MDtnPWUrMTEyfDA7aWYoIShmW2c+PjJdfDApKXtmW2c+PjJdPWE7ZltNPj4yXT0wO2Zb
TSs0Pj4yXT0wO2ZbTSs4Pj4yXT0wO2ZbTSsxMj4+Ml09MDtwW2w+PjNdPStwW2UrOTY+PjNdKyAr
cFtlKzg4Pj4zXTtwW24+PjNdPStwW2UrODA+PjNdO3k9RCsoZDw8NSl8MDtmW3k+PjJdPWZbTT4+
Ml07Zlt5KzQ+PjJdPWZbTSs0Pj4yXTtmW3krOD4+Ml09ZltNKzg+PjJdO2ZbeSsxMj4+Ml09ZltN
KzEyPj4yXTtmW3krMTY+PjJdPWZbTSsxNj4+Ml07Zlt5KzIwPj4yXT1mW00rMjA+PjJdO2ZbeSsy
ND4+Ml09ZltNKzI0Pj4yXTtmW3krMjg+PjJdPWZbTSsyOD4+Ml07aWYobyYoZlt1Pj4yXXwwKSE9
MCl7eT1UTChpLGMsMCwwKXwwO2ZbKGZbdT4+Ml18MCkrKGQ8PDIpPj4yXT15fWZbRSsoZDw8Mik+
PjJdPWk7ZD1kKzF8MH1pPWF6KGEsaSl8MH19d2hpbGUoMCk7eT1aRChHLEQsRil8MDtjPWZbdT4+
Ml18MDtpZihjfDApTV8oYyk7RW8oTiwyMTQ3NDgzNjQ3LjAsMjE0NzQ4MzY0Ny4wKTt1PU4rMTZ8
MDtFbyh4LC0yMTQ3NDgzNjQ3LjAsLTIxNDc0ODM2NDcuMCk7Zlt1Pj4yXT1mW3g+PjJdO2ZbdSs0
Pj4yXT1mW3grND4+Ml07Zlt1Kzg+PjJdPWZbeCs4Pj4yXTtmW3UrMTI+PjJdPWZbeCsxMj4+Ml07
Zz1NKzE2fDA7aT1NKzh8MDtsPU0rMjR8MDtuPU4rOHwwO289TisyNHwwO3I9ZlsxOTQ1N118MDtl
PTA7az0rcFtOPj4zXTtqPStwW24+PjNdO209K3BbdT4+M107cT0rcFtvPj4zXTt3aGlsZSgxKXtp
ZigoZXwwKT49KEd8MCkpYnJlYWs7cz0rKGZbeSsoZTw8Myk+PjJdfDApO3c9KyhmW3krKGU8PDMp
KzQ+PjJdfDApO2M9RCsoZTw8NSl8MDtmW00+PjJdPWZbYz4+Ml07ZltNKzQ+PjJdPWZbYys0Pj4y
XTtmW00rOD4+Ml09ZltjKzg+PjJdO2ZbTSsxMj4+Ml09ZltjKzEyPj4yXTtmW00rMTY+PjJdPWZb
YysxNj4+Ml07ZltNKzIwPj4yXT1mW2MrMjA+PjJdO2ZbTSsyND4+Ml09ZltjKzI0Pj4yXTtmW00r
Mjg+PjJdPWZbYysyOD4+Ml07aD0rcFtNPj4zXStzO3BbTT4+M109aDtzPStwW2c+PjNdK3M7cFtn
Pj4zXT1zO3Y9K3BbaT4+M10rdztwW2k+PjNdPXY7dz0rcFtsPj4zXSt3O3BbbD4+M109dztrPWs8
aD9rOmg7aj1qPHY/ajp2O209bT5zP206cztxPXE+dz9xOnc7Yz1mW0UrKGU8PDIpPj4yXXwwO2Q9
YysxNnwwO2lmKChlfDApPChmWyhmW0k+PjJdfDApKzE4MD4+Ml18MCkpe3g9KGZbZD4+Ml18MCkr
MTZ8MDtmW3g+PjJdPWZbTT4+Ml07Zlt4KzQ+PjJdPWZbTSs0Pj4yXTtmW3grOD4+Ml09ZltNKzg+
PjJdO2ZbeCsxMj4+Ml09ZltNKzEyPj4yXTtmW3grMTY+PjJdPWZbTSsxNj4+Ml07Zlt4KzIwPj4y
XT1mW00rMjA+PjJdO2ZbeCsyND4+Ml09ZltNKzI0Pj4yXTtmW3grMjg+PjJdPWZbTSsyOD4+Ml07
aWYoMD4xKXtEbyhiKTt4PUF5KGMpfDA7ZltDPj4yXT14O3BbQys4Pj4zXT1oO3BbQysxNj4+M109
djtwW0MrMjQ+PjNdPXM7cFtDKzMyPj4zXT13O2cyKHIsMTAyNTg5LEMpfDB9fWVsc2V7eD0oZltk
Pj4yXXwwKSsxNnwwO2ZbSj4+Ml09ZltNPj4yXTtmW0orND4+Ml09ZltNKzQ+PjJdO2ZbSis4Pj4y
XT1mW00rOD4+Ml07ZltKKzEyPj4yXT1mW00rMTI+PjJdO2ZbSz4+Ml09ZltnPj4yXTtmW0srND4+
Ml09ZltnKzQ+PjJdO2ZbSys4Pj4yXT1mW2crOD4+Ml07ZltLKzEyPj4yXT1mW2crMTI+PjJdO0Zv
KEEsSixLKTtmW3g+PjJdPWZbQT4+Ml07Zlt4KzQ+PjJdPWZbQSs0Pj4yXTtmW3grOD4+Ml09ZltB
Kzg+PjJdO2ZbeCsxMj4+Ml09ZltBKzEyPj4yXTtpZigwPjEpe0RvKGIpO3g9QXkoYyl8MDtkPWZb
ZD4+Ml18MDt2PStwW2QrMTY+PjNdO3c9K3BbZCsyND4+M107ZltCPj4yXT14O3BbQis4Pj4zXT12
O3BbQisxNj4+M109dztnMihyLDEwMjU3NyxCKXwwfX1lPWUrMXwwfXBbTj4+M109aztwW24+PjNd
PWo7cFt1Pj4zXT1tO3Bbbz4+M109cTtkPWZbST4+Ml18MDtjPWZbZCsxMj4+Ml18MDtpZihjKXto
PStwW2MrMjQ+PjNdO2lmKHope3E9K3BbYyszMj4+M107ZltOPj4yXT0wO2ZbTis0Pj4yXT0wO2Zb
Tis4Pj4yXT0wO2ZbTisxMj4+Ml09MDtwW3U+PjNdPWg7cFtvPj4zXT1xO2s9MC4wO209aDtqPTAu
MH13PWgtKG0tayk7aD13Ki41O2lmKHc+MC4wKXtzPWgrbTtrPWstaDtwW04+PjNdPWs7cFt1Pj4z
XT1zfWVsc2Ugcz1tfWVsc2Ugcz1tO2lmKChifDApPjApaD0rKChmW0YrOD4+Ml18MCk+Pj4wKSou
NTtlbHNlIGg9MC4wO209ay1oO3BbTj4+M109bTtrPXMraDtwW3U+PjNdPWs7aj0taC0rcFtkKzU2
Pj4zXStqO3Bbbj4+M109ajtoPStwW2QrODg+PjNdK2grcTtwW28+PjNdPWg7aWYoMD4xKXtEbyhi
KTtGPUF5KGEpfDA7ZltIPj4yXT1GO3BbSCs4Pj4zXT1tO3BbSCsxNj4+M109ajtwW0grMjQ+PjNd
PWs7cFtIKzMyPj4zXT1oO2cyKHIsMTAyNTg5LEgpfDB9Yz0wO3doaWxlKDEpe2lmKChjfDApPj0o
R3wwKSlicmVhaztkPWZbRSsoYzw8Mik+PjJdfDA7ZT1kKzE2fDA7aWYoKGN8MCk8KGZbKGZbST4+
Ml18MCkrMTgwPj4yXXwwKSl7SD0oZltlPj4yXXwwKSsxNnwwO2ZbTT4+Ml09ZltIPj4yXTtmW00r
ND4+Ml09ZltIKzQ+PjJdO2ZbTSs4Pj4yXT1mW0grOD4+Ml07ZltNKzEyPj4yXT1mW0grMTI+PjJd
O2ZbTSsxNj4+Ml09ZltIKzE2Pj4yXTtmW00rMjA+PjJdPWZbSCsyMD4+Ml07ZltNKzI0Pj4yXT1m
W0grMjQ+PjJdO2ZbTSsyOD4+Ml09ZltIKzI4Pj4yXTtmW0o+PjJdPWZbSD4+Ml07ZltKKzQ+PjJd
PWZbSCs0Pj4yXTtmW0orOD4+Ml09ZltIKzg+PjJdO2ZbSisxMj4+Ml09ZltIKzEyPj4yXTtmW0s+
PjJdPWZbTj4+Ml07ZltLKzQ+PjJdPWZbTis0Pj4yXTtmW0srOD4+Ml09ZltOKzg+PjJdO2ZbSysx
Mj4+Ml09ZltOKzEyPj4yXTtHbyhNLEosSyk7ZltKPj4yXT1mW2c+PjJdO2ZbSis0Pj4yXT1mW2cr
ND4+Ml07ZltKKzg+PjJdPWZbZys4Pj4yXTtmW0orMTI+PjJdPWZbZysxMj4+Ml07ZltLPj4yXT1m
W04+PjJdO2ZbSys0Pj4yXT1mW04rND4+Ml07ZltLKzg+PjJdPWZbTis4Pj4yXTtmW0srMTI+PjJd
PWZbTisxMj4+Ml07R28oTyxKLEspO2ZbZz4+Ml09ZltPPj4yXTtmW2crND4+Ml09ZltPKzQ+PjJd
O2ZbZys4Pj4yXT1mW08rOD4+Ml07ZltnKzEyPj4yXT1mW08rMTI+PjJdO0g9KGZbZT4+Ml18MCkr
MTZ8MDtmW0g+PjJdPWZbTT4+Ml07ZltIKzQ+PjJdPWZbTSs0Pj4yXTtmW0grOD4+Ml09ZltNKzg+
PjJdO2ZbSCsxMj4+Ml09ZltNKzEyPj4yXTtmW0grMTY+PjJdPWZbTSsxNj4+Ml07ZltIKzIwPj4y
XT1mW00rMjA+PjJdO2ZbSCsyND4+Ml09ZltNKzI0Pj4yXTtmW0grMjg+PjJdPWZbTSsyOD4+Ml07
aWYoMD4xKXtEbyhiKTtIPUF5KGQpfDA7cT0rcFtNPj4zXTtzPStwW2k+PjNdO3Y9K3BbZz4+M107
dz0rcFtsPj4zXTtmW1I+PjJdPUg7cFtSKzg+PjNdPXE7cFtSKzE2Pj4zXT1zO3BbUisyND4+M109
djtwW1IrMzI+PjNdPXc7ZzIociwxMDI1ODksUil8MH19ZWxzZXtIPShmW2U+PjJdfDApKzE2fDA7
ZltKPj4yXT1mW0g+PjJdO2ZbSis0Pj4yXT1mW0grND4+Ml07ZltKKzg+PjJdPWZbSCs4Pj4yXTtm
W0orMTI+PjJdPWZbSCsxMj4+Ml07ZltLPj4yXT1mW04+PjJdO2ZbSys0Pj4yXT1mW04rND4+Ml07
ZltLKzg+PjJdPWZbTis4Pj4yXTtmW0srMTI+PjJdPWZbTisxMj4+Ml07R28oUCxKLEspO2ZbSD4+
Ml09ZltQPj4yXTtmW0grND4+Ml09ZltQKzQ+PjJdO2ZbSCs4Pj4yXT1mW1ArOD4+Ml07ZltIKzEy
Pj4yXT1mW1ArMTI+PjJdO2lmKDA+MSl7RG8oYik7SD1BeShkKXwwO0Y9ZltlPj4yXXwwO3Y9K3Bb
RisxNj4+M107dz0rcFtGKzI0Pj4zXTtmW1M+PjJdPUg7cFtTKzg+PjNdPXY7cFtTKzE2Pj4zXT13
O2cyKHIsMTAyNTc3LFMpfDB9fWM9YysxfDB9ZltKPj4yXT1mW3U+PjJdO2ZbSis0Pj4yXT1mW3Ur
ND4+Ml07ZltKKzg+PjJdPWZbdSs4Pj4yXTtmW0orMTI+PjJdPWZbdSsxMj4+Ml07ZltLPj4yXT1m
W04+PjJdO2ZbSys0Pj4yXT1mW04rND4+Ml07ZltLKzg+PjJdPWZbTis4Pj4yXTtmW0srMTI+PjJd
PWZbTisxMj4+Ml07R28oUSxKLEspO2ZbdT4+Ml09ZltRPj4yXTtmW3UrND4+Ml09ZltRKzQ+PjJd
O2ZbdSs4Pj4yXT1mW1ErOD4+Ml07Zlt1KzEyPj4yXT1mW1ErMTI+PjJdO2ZbSj4+Ml09ZltOPj4y
XTtmW0orND4+Ml09ZltOKzQ+PjJdO2ZbSis4Pj4yXT1mW04rOD4+Ml07ZltKKzEyPj4yXT1mW04r
MTI+PjJdO2ZbSz4+Ml09ZltOPj4yXTtmW0srND4+Ml09ZltOKzQ+PjJdO2ZbSys4Pj4yXT1mW04r
OD4+Ml07ZltLKzEyPj4yXT1mW04rMTI+PjJdO0dvKEwsSixLKTtmW04+PjJdPWZbTD4+Ml07ZltO
KzQ+PjJdPWZbTCs0Pj4yXTtmW04rOD4+Ml09ZltMKzg+PjJdO2ZbTisxMj4+Ml09ZltMKzEyPj4y
XTtTPShmW0k+PjJdfDApKzE2fDA7ZltTPj4yXT1mW04+PjJdO2ZbUys0Pj4yXT1mW04rND4+Ml07
ZltTKzg+PjJdPWZbTis4Pj4yXTtmW1MrMTI+PjJdPWZbTisxMj4+Ml07ZltTKzE2Pj4yXT1mW04r
MTY+PjJdO2ZbUysyMD4+Ml09ZltOKzIwPj4yXTtmW1MrMjQ+PjJdPWZbTisyND4+Ml07ZltTKzI4
Pj4yXT1mW04rMjg+PjJdO2lmKDA+MSl7RG8oYik7Uz1BeShhKXwwO3E9K3BbTj4+M107cz0rcFtu
Pj4zXTt2PStwW3U+PjNdO3c9K3Bbbz4+M107ZltUPj4yXT1TO3BbVCs4Pj4zXT1xO3BbVCsxNj4+
M109cztwW1QrMjQ+PjNdPXY7cFtUKzMyPj4zXT13O2cyKHIsMTAyNTg5LFQpfDB9TV8oRCk7TV8o
RSk7TV8oeSl9dD1VO3JldHVybn1mdW5jdGlvbiBDbyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAs
ZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAuMCxrPTAuMCxsPTAuMCxtPTAuMCxuPTAsbz0wLHE9MCxy
PTAuMCxzPTAuMCx1PTAsdj0wLHc9MDt3PXQ7dD10KzgwfDA7dj13KzMyfDA7aD13Kzh8MDtjPXc7
dT1hKzE2fDA7cT1mW3U+PjJdfDA7cj0rcFtxKzE2Pj4zXTtzPStwW3ErMjQ+PjNdO2lmKDA+MSl7
RG8oYik7cT1mWzE5NDU3XXwwO289QXkoYSl8MDtmW2M+PjJdPW87ZzIocSwxMDI1NjIsYyl8MH1x
PShifDApIT0wO2E6ZG8gaWYocSl7Yz0keShhKXwwO2c9ZlsxOTQ1N118MDt3aGlsZSgxKXtpZigh
YylicmVhayBhO2Q9YysxNnwwO2U9ZltkPj4yXXwwO2lmKChmW2UrMTEyPj4yXXwwKT09KGF8MCk/
KG89ZSsxNnwwLHBbbz4+M109K3Bbbz4+M10rcixvPWUrMjR8MCxwW28+PjNdPStwW28+PjNdK3Ms
MD4xKTowKXtEbyhiKTtvPUF5KGMpfDA7bj1mW2Q+PjJdfDA7bD0rcFtuKzE2Pj4zXTttPStwW24r
MjQ+PjNdO2ZbaD4+Ml09bztwW2grOD4+M109bDtwW2grMTY+PjNdPW07ZzIoZywxMDI1NzcsaCl8
MH1jPWF6KGEsYyl8MH19ZWxzZSBnPWZbMTk0NTddfDA7d2hpbGUoMCk7bz1iKzF8MDtuPTE7d2hp
bGUoMSl7Yz1mW3U+PjJdfDA7aWYoKG58MCk+KGZbYysxODA+PjJdfDApKWJyZWFrO2k9ZlsoZltj
KzE4ND4+Ml18MCkrKG48PDIpPj4yXXwwO2lmKHEpe2E9aSsxNnwwO2U9ZlthPj4yXXwwO2Q9ZSsx
NnwwO2M9ZSsyNHwwO2g9ZSszMnwwO2U9ZSs0MHwwO2o9K3BbZD4+M10rcjtrPStwW2M+PjNdK3M7
bD0rcFtoPj4zXStyO209K3BbZT4+M10rcztpZigwPjEpe0RvKGIpO2M9QXkoaSl8MDtmW3Y+PjJd
PWM7cFt2Kzg+PjNdPWo7cFt2KzE2Pj4zXT1rO3BbdisyND4+M109bDtwW3YrMzI+PjNdPW07ZzIo
ZywxMDI1ODksdil8MDtjPWZbYT4+Ml18MDtkPWMrMTZ8MDtoPWMrMzJ8MDtlPWMrNDB8MDtjPWMr
MjR8MH1wW2Q+PjNdPWo7cFtjPj4zXT1rO3BbaD4+M109bDtwW2U+PjNdPW19Q28oaSxvKTtuPW4r
MXwwfXQ9dztyZXR1cm59ZnVuY3Rpb24gRG8oYSl7YT1hfDA7dmFyIGI9MDtiPWZbMTk0NTddfDA7
d2hpbGUoMSl7aWYoKGF8MCk8PTApYnJlYWs7cDIoMTAyNjA3LGIpfDA7YT1hKy0xfDB9cmV0dXJu
fWZ1bmN0aW9uIEVvKGEsYixjKXthPWF8MDtiPStiO2M9K2M7cFthPj4zXT1iO3BbYSs4Pj4zXT1j
O3JldHVybn1mdW5jdGlvbiBGbyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MC4wO2Q9
KCtwW2MrOD4+M10rICtwW2IrOD4+M10pKi41O3BbYT4+M109KCtwW2M+PjNdKyArcFtiPj4zXSkq
LjU7cFthKzg+PjNdPWQ7cmV0dXJufWZ1bmN0aW9uIEdvKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8
MDt2YXIgZD0wLjA7ZD0rcFtiKzg+PjNdLStwW2MrOD4+M107cFthPj4zXT0rcFtiPj4zXS0rcFtj
Pj4zXTtwW2ErOD4+M109ZDtyZXR1cm59ZnVuY3Rpb24gSG8oYSl7YT1hfDA7ZlthPj4yXT0wO2Zb
YSs0Pj4yXT0wO2ZbYSs4Pj4yXT0wO3JldHVybn1mdW5jdGlvbiBJbyhhLGIpe2E9YXwwO2I9Ynww
O3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wO2c9YSs4fDA7Yz0oZltnPj4yXXwwKSsxfDA7ZltnPj4y
XT1jO2Q9YSs0fDA7aD1mW2Q+PjJdfDA7ZT1oKzEwfDA7aWYoKGN8MCk8KGh8MCkpYT1mW2E+PjJd
fDA7ZWxzZXtmW2Q+PjJdPWU7Yz1HSChmW2E+PjJdfDAsZTw8Mil8MDtmW2E+PjJdPWM7YT1jO2M9
ZltnPj4yXXwwfWZbYSsoYzw8Mik+PjJdPWI7cmV0dXJufWZ1bmN0aW9uIEpvKGEpe2E9YXwwO3Zh
ciBiPTA7Yj0keShhKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFrO1FNKGIpO2I9YXooYSxiKXwwfUtv
KGEpO3JldHVybn1mdW5jdGlvbiBLbyhhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTA7Yj1hKzE2fDA7
YT0xO3doaWxlKDEpe2Q9ZltiPj4yXXwwO2M9ZltkKzE4ND4+Ml18MDtpZigoYXwwKT4oZltkKzE4
MD4+Ml18MCkpYnJlYWs7ZD1mW2MrKGE8PDIpPj4yXXwwO3dIKGZbKGZbZCsxNj4+Ml18MCkrMTI+
PjJdfDApO0tvKGQpO2E9YSsxfDB9TV8oYyk7cmV0dXJufWZ1bmN0aW9uIExvKGEpe2E9YXwwO3Zh
ciBiPTAsYz0wLGQ9MDtPeihhLDEsMTQ1NzE3LDMwNCwxKTtCTShhKXwwO2I9REgoKChqeShhKXww
KTw8MikrNHwwKXwwO2Q9YSsxNnwwO2ZbKGZbZD4+Ml18MCkrMTUyPj4yXT1iO2I9MDtjPSR5KGEp
fDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7TW8oYyk7ZlsoZlsoZltkPj4yXXwwKSsxNTI+PjJdfDAp
KyhiPDwyKT4+Ml09YztmWyhmW2MrMTY+PjJdfDApKzEyMD4+Ml09YjtiPWIrMXwwO2M9YXooYSxj
KXwwfWQ9d3goYSwyLDEwMjY5MywwKXwwO2M9JHkoYSl8MDt3aGlsZSgxKXtpZighYylicmVhazti
PU54KGEsYyl8MDt3aGlsZSgxKXtpZighYilicmVhaztObyhiLGQpO2I9UHgoYSxiKXwwfWM9YXoo
YSxjKXwwfU9vKGEpO3JldHVybn1mdW5jdGlvbiBNbyhhKXthPWF8MDt2YXIgYj0wO21NKGEpO2I9
KG56KGEpfDApKzE2fDA7Yj1ESCgoalsoZltiPj4yXXwwKSsxNzY+PjFdfDApPDwzKXwwO2ZbKGZb
YSsxNj4+Ml18MCkrMTMyPj4yXT1iO2I9KG56KGEpfDApKzE2fDA7a04oYSxmWyhmW2I+PjJdfDAp
KzExNj4+Ml0mMSk7cmV0dXJufWZ1bmN0aW9uIE5vKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxk
PTAuMDtKeihhLDE0NTczMCwxNzYsMSl8MDtkPStVTChhLGZbNDgzNjZdfDAsMS4wLDAuMCk7Yz1h
KzE2fDA7cFsoZltjPj4yXXwwKSsxMjg+PjNdPWQ7ZD0rVUwoYSxiLCtwWzg3NjNdLDAuMCk7cFso
ZltjPj4yXXwwKSsxMzY+PjNdPWQ7bk0oYSl8MDtyZXR1cm59ZnVuY3Rpb24gT28oYSl7YT1hfDA7
dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxy
PTA7cT10O3Q9dCszMnwwO289cSsxNnwwO249cTtrPXErMjR8MDtsPXd4KGEsMSwxMTA5NDksMCl8
MDthOmRvIGlmKGx8MCl7bT13eChhLDEsMTAyNjk3LDApfDA7aD1hKzE2fDA7aT1mWzE5NDU3XXww
O2o9KG18MCk9PTA7Zz0wO3doaWxlKDEpe2Q9ZlsoZlsoZltoPj4yXXwwKSsxNTI+PjJdfDApKyhn
PDwyKT4+Ml18MDtpZighZClicmVhayBhO2E9SHgoZCxsKXwwO2RvIGlmKGJbYT4+MF18MCl7ZT1k
KzE2fDA7Yz1mWyhmW2U+PjJdfDApKzEzMj4+Ml18MDtiW2s+PjBdPTA7ZltuPj4yXT1jO2Zbbis0
Pj4yXT1jKzg7ZltuKzg+PjJdPWs7aWYoKE0xKGEsMTEwMDc1LG4pfDApPD0xKXtlPUF5KGQpfDA7
ZltvPj4yXT1lO2Zbbys0Pj4yXT1hO2cyKGksMTAyNzAxLG8pfDA7YnJlYWt9YjpkbyBpZigrcFsy
NDAyM10+MC4wKXthPTA7d2hpbGUoMSl7aWYoKGF8MCk9PTIpYnJlYWsgYjtyPWMrKGE8PDMpfDA7
cFtyPj4zXT0rcFtyPj4zXS8rcFsyNDAyM107YT1hKzF8MH19d2hpbGUoMCk7YT0oZltlPj4yXXww
KSsxMTl8MDtiW2E+PjBdPTE7aWYoKGJbaz4+MF18MCkhPTMzKXtpZihqKWJyZWFrO2lmKCEoKFpM
KEh4KGQsbSl8MCl8MCk8PDI0Pj4yNCkpYnJlYWs7YT0oZltlPj4yXXwwKSsxMTl8MH1iW2E+PjBd
PTN9d2hpbGUoMCk7Zz1nKzF8MH19d2hpbGUoMCk7dD1xO3JldHVybn1mdW5jdGlvbiBQbyhhKXth
PWF8MDt2YXIgYj0wLGM9MDtjPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7Yj1OeChhLGMp
fDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7U00oYik7Yj1QeChhLGIpfDB9UU0oYyk7Yz1heihhLGMp
fDB9UW8oYSk7cmV0dXJufWZ1bmN0aW9uIFFvKGEpe2E9YXwwO1JvKGEpO2E9YSsxNnwwO01fKGZb
KGZbYT4+Ml18MCkrMTUyPj4yXXwwKTtNXyhmWyhmW2E+PjJdfDApKzE0MD4+Ml18MCk7cmV0dXJu
fWZ1bmN0aW9uIFJvKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wO2c9YSsxNnwwO2U9
MTt3aGlsZSgxKXtkPWZbZz4+Ml18MDtiPWZbZCsxODQ+PjJdfDA7aWYoKGV8MCk+KGZbZCsxODA+
PjJdfDApKWJyZWFrO2Q9ZltiKyhlPDwyKT4+Ml18MDtiPWQrMTZ8MDt3SChmWyhmW2I+PjJdfDAp
KzEyPj4yXXwwKTtjPWZbKGZbYj4+Ml18MCkrMTQwPj4yXXwwO2lmKGN8MCl7TV8oZltjPj4yXXww
KTtNXyhmWyhmW2I+PjJdfDApKzE0MD4+Ml18MCl9Um8oZCk7ZT1lKzF8MH1NXyhiKTtpZigob3oo
YSl8MCkhPShhfDApKUx6KGEsMTQ1NzUzKXwwO3JldHVybn1mdW5jdGlvbiBTbyhhLGIpe2E9YXww
O2I9YnwwO3ZhciBjPTA7Yz13eChhLDAsMTAyNzUzLDApfDA7ZltiKzQ+PjJdPWM7Yz13eChhLDAs
MTQ4MjUxLDApfDA7ZltiKzg+PjJdPWM7Yz13eChhLDAsMTQ4MTgzLDApfDA7ZltiKzEyPj4yXT1j
O2ZbYj4+Ml09YTtmW2IrMTY+PjJdPTA7YT1lRShhLDIsNCxiKzIwfDApfDA7ZltiKzM2Pj4yXT1h
O3JldHVybn1mdW5jdGlvbiBUbyhhKXthPWF8MDt2YXIgYj0wLGM9MDtpTihhLDIpO2I9REgoNTYp
fDA7Yz1hKzE2fDA7ZlsoZltjPj4yXXwwKSsxNDA+PjJdPWI7Yj0oVEwoYSx3eChhLDAsMTAyNzYw
LDApfDAsMiwyKXwwKSY2NTUzNTtiPShiJjY1NTM1KTwxMD9iOjEwO2RbKGZbYz4+Ml18MCkrMTc2
Pj4xXT1iO2ZbNDgzMjhdPWImNjU1MzU7VW8oYSwwLGEpO3FwKGEpO0xvKGEpO3JldHVybn0KK2Z1
bmN0aW9uIFhnKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9
MCxqPTA7aT1mW2ErMTY+PjJdfDA7aj0oZltpKzIzNj4+Ml18MCk+KGZbKGZbYysxNj4+Ml18MCkr
MjM2Pj4yXXwwKTthOmRvIGlmKChmW2krMTg0Pj4yXXwwKT09MSl7YjpkbyBpZihlfDApe2g9MDth
PWZbZltpKzE4MD4+Ml0+PjJdfDA7d2hpbGUoMSl7aWYoaD4+PjA+PTIpYnJlYWsgYjthPWZbKChm
W2E+PjJdJjN8MCk9PTI/YTphKy00OHwwKSs0MD4+Ml18MDtjPWZbKChmW2U+PjJdJjN8MCk9PTI/
ZTplKy00OHwwKSs0MD4+Ml18MDtpZigoYXwwKT09KGN8MCkpYnJlYWsgYjtnPWZbYSsxNj4+Ml18
MDthPWZbYysxNj4+Ml18MDtpZihqXihmW2crMjM2Pj4yXXwwKT4oZlthKzIzNj4+Ml18MCkpe2E9
MTticmVhayBhfWlmKChmW2crMTg0Pj4yXXwwKSE9MSlicmVhayBiO2lmKCEoYltnKzE1Nj4+MF18
MCkpYnJlYWsgYjtpZigoZlthKzE4ND4+Ml18MCkhPTEpYnJlYWsgYjtpZighKGJbYSsxNTY+PjBd
fDApKWJyZWFrIGI7aD1oKzF8MDtlPWZbZlthKzE4MD4+Ml0+PjJdfDA7YT1mW2ZbZysxODA+PjJd
Pj4yXXwwfX13aGlsZSgwKTtpZihkfDA/KGZbaSsxNzY+PjJdfDApPT0xOjApe2c9MDtjPWQ7YT1m
W2ZbaSsxNzI+PjJdPj4yXXwwO3doaWxlKDEpe2lmKGc+Pj4wPj0yKXthPTA7YnJlYWsgYX1hPWZb
KChmW2E+PjJdJjN8MCk9PTM/YTphKzQ4fDApKzQwPj4yXXwwO2M9ZlsoKGZbYz4+Ml0mM3wwKT09
Mz9jOmMrNDh8MCkrNDA+PjJdfDA7aWYoKGF8MCk9PShjfDApKXthPTA7YnJlYWsgYX1lPWZbYSsx
Nj4+Ml18MDthPWZbYysxNj4+Ml18MDtpZihqXihmW2UrMjM2Pj4yXXwwKT4oZlthKzIzNj4+Ml18
MCkpe2E9MTticmVhayBhfWlmKChmW2UrMTc2Pj4yXXwwKSE9MSl7YT0wO2JyZWFrIGF9aWYoIShi
W2UrMTU2Pj4wXXwwKSl7YT0wO2JyZWFrIGF9aWYoKGZbYSsxNzY+PjJdfDApIT0xKXthPTA7YnJl
YWsgYX1pZighKGJbYSsxNTY+PjBdfDApKXthPTA7YnJlYWsgYX1nPWcrMXwwO2M9ZltmW2ErMTcy
Pj4yXT4+Ml18MDthPWZbZltlKzE3Mj4+Ml0+PjJdfDB9fWVsc2UgYT0wfWVsc2UgYT0wO3doaWxl
KDApO3JldHVybiBhfDB9ZnVuY3Rpb24gWWcoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBk
PTAuMDtkPStwW2MrOD4+M10rICtwW2IrOD4+M107cFthPj4zXT0rcFtjPj4zXSsgK3BbYj4+M107
cFthKzg+PjNdPWQ7cmV0dXJufWZ1bmN0aW9uIFpnKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2
YXIgZD0wLjAsZT0wLjA7ZD0rcFtiKzg+PjNdO2U9K3BbYj4+M107cmV0dXJuICh+figoK3BbYz4+
M10tZSkqKCtwW2ErOD4+M10tZCktKCtwW2E+PjNdLWUpKigrcFtjKzg+PjNdLWQpKXwwKT4wfDB9
ZnVuY3Rpb24gX2coYSxjLGQsZSxnLGgpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO2g9
aHwwO3ZhciBpPTAsaj0wLGs9MC4wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLjAscz0wLHU9MCx2
PTAuMCx3PTAuMCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9
MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wO1I9dDt0PXQrMjU2
fDA7RD1SKzIzMnwwO0M9UisyMTZ8MDtQPVIrODh8MDtPPVIrODB8MDtLPVIrNjR8MDtMPVIrMjAw
fDA7TT1SKzE4NHwwO049UjtFPVIrMTY4fDA7Rj1SKzE1MnwwO0c9UisxMzZ8MDtIPVIrMTIwfDA7
ST1SKzEwNHwwO0I9ZltnPj4yXSYzO0o9ZlsoKEJ8MCk9PTM/ZzpnKzQ4fDApKzQwPj4yXXwwO0I9
ZlsoKEJ8MCk9PTI/ZzpnKy00OHwwKSs0MD4+Ml18MDtkbyBpZigoUUooSil8MCkhPTI/KFFKKEIp
fDApIT0yOjApe2c9MDtpPTA7aj0wO3doaWxlKDEpe2lmKChqfDApPj0oZXwwKSlicmVhaztBPWZb
KGZbYysoaitkPDwyKT4+Ml18MCkrMTY+PjJdfDA7Zz1nKygoZltBKzk2Pj4yXXwwKSE9MCYxKXww
O2lmKCEoKGJbQSs0ND4+MF18MCk9PTA/KGJbQSs4ND4+MF18MCk9PTA6MCkpaT0xO2o9aisxfDB9
aWYoIWkpaWYoIWcpe2FoKEosQixjLGQsZSxoKTticmVha31lbHNle2ZoKEosQixjLGQsZSxoLGcp
O2JyZWFrfXk9REgoMTU2KXwwO3o9Z2goYSx5KXwwO3M9RUEoeiw5NzUxMCwxKXwwO0p6KHMsMTQ1
NzUzLDI4MCwxKXwwO0l4KHMsOTkyMDMsOTkyMTcpfDA7az0rcFsoZltCKzE2Pj4yXXwwKSsxNj4+
M107cj0rcFsoZltKKzE2Pj4yXXwwKSsxNj4+M107QT1hKzE2fDA7bz0oZlsoZltBPj4yXXwwKSsx
MTY+PjJdJjF8MCk9PTA7cT1vP0I6SjtvPW8/SjpCO3M9aGgocyxvKXwwO3U9aGgoeixxKXwwO2c9
MDtuPTA7d2hpbGUoMSl7aWYoKG58MCk+PShlfDApKWJyZWFrO2k9YysobitkPDwyKXwwO3doaWxl
KDEpe209ZltpPj4yXXwwO2w9bSsxNnwwO2k9ZltsPj4yXXwwO2lmKCEoYltpKzExMj4+MF18MCkp
YnJlYWs7ZWxzZSBpPWkrMTE2fDB9aWYoKGZbKChmW20+PjJdJjN8MCk9PTM/bTptKzQ4fDApKzQw
Pj4yXXwwKT09KG98MCkpaj1paCh6LHMsdSxtKXwwO2Vsc2Ugaj1paCh6LHUscyxtKXwwO2k9Zlts
Pj4yXXwwO2ZbaSsxMjA+PjJdPWo7aWYoIWcpaWYoKGJbaSs0ND4+MF18MCk9PTA/KGJbaSs4ND4+
MF18MCk9PTA6MCl7ZlsoZltqKzE2Pj4yXXwwKSsxMjA+PjJdPW07Zz1qfWVsc2UgZz0wO249bisx
fDB9aWYoIWcpeD1feCh6LHMsdSwwLDEpfDA7ZWxzZSB4PWc7QXgoeCxmWzQ4MzY2XXwwLDk3NTE0
KXwwO2c9eisxNnwwO2w9ZltnPj4yXXwwO2ZbbCsxNDQ+PjJdPWZbKGZbQT4+Ml18MCkrMTQ0Pj4y
XTtmW2wrMTg4Pj4yXT16O2lOKHosaCk7WmYoeik7SWooeiwwKTtTaCh6LDApO1ZpKHosMCk7bz1v
KzE2fDA7aD1mW28+PjJdfDA7bD1mW3ErMTY+PjJdfDA7cT1zKzE2fDA7bT1mW3E+PjJdfDA7bj1t
KzE2fDA7dj0rKH5+a3wwKTt3PSsofn4oKCtwWyhmW3UrMTY+PjJdfDApKzE2Pj4zXSsgK3Bbbj4+
M10pKi41KXwwKTtrPSsofn5yfDApO3I9Kyh+figoK3BbaCsxNj4+M10tK3BbaCs5Nj4+M10rICtw
W2wrMTY+PjNdKyArcFtsKzg4Pj4zXSkqLjUpfDApO2w9bSsyNHwwO2c9KGZbZz4+Ml18MCkrMTky
fDA7d2hpbGUoMSl7aT1mW2c+PjJdfDA7aWYoIWkpYnJlYWs7ZG8gaWYoKGl8MCkhPShzfDApKXtn
PWZbaSsxNj4+Ml18MDtqPWcrMjR8MDtpZigoaXwwKT09KHV8MCkpe3Bbaj4+M109aztwW2crMTY+
PjNdPXc7YnJlYWt9ZWxzZXtwW2o+PjNdPXI7YnJlYWt9fWVsc2V7cFtsPj4zXT12O3Bbbj4+M109
dztnPW19d2hpbGUoMCk7Zz1nKzE2NHwwfUNrKHopO3VnKHosMCk7bkooeik7aj1mW28+PjJdfDA7
Zz1mW3E+PjJdfDA7aWYoIShmWyhmW0E+PjJdfDApKzExNj4+Ml0mMSkpe2k9ZysxNnwwO2s9K3Bb
aisyND4+M10tK3BbZysyND4+M119ZWxzZXtpPWcrMjR8MDtrPStwW2crMTY+PjNdKyArcFtqKzI0
Pj4zXX1wW0s+PjNdPStwW2orMTY+PjNdLStwW2k+PjNdO3BbSys4Pj4zXT1rO2g9TisxNnwwO3M9
TiszMnwwO3U9Tis0OHwwO3E9MDt3aGlsZSgxKXtpZigocXwwKT49KGV8MCkpYnJlYWs7Zz1jKyhx
K2Q8PDIpfDA7d2hpbGUoMSl7aT1mW2c+PjJdfDA7bz1pKzE2fDA7Zz1mW28+PjJdfDA7aWYoIShi
W2crMTEyPj4wXXwwKSlicmVhaztlbHNlIGc9ZysxMTZ8MH1tPWZbZysxMjA+PjJdfDA7bj1tKzE2
fDA7Zz1mW24+PjJdfDA7aWYoISgobXwwKT09KHh8MCkmKGZbZysxMjA+PjJdfDApPT0wKSl7bD1m
W2ZbZys4Pj4yXT4+Ml18MDttPWwrNHwwO2k9WUsoaSxmW20+PjJdfDApfDA7ZltpKzg+PjJdPWZb
bCs4Pj4yXTtnPWkrMTZ8MDtqPWwrMTZ8MDtTPWZbKGZbQT4+Ml18MCkrMTE2Pj4yXSYxO2ZbQz4+
Ml09ZltqPj4yXTtmW0MrND4+Ml09ZltqKzQ+PjJdO2ZbQys4Pj4yXT1mW2orOD4+Ml07ZltDKzEy
Pj4yXT1mW2orMTI+PjJdO2ZbRD4+Ml09ZltLPj4yXTtmW0QrND4+Ml09ZltLKzQ+PjJdO2ZbRCs4
Pj4yXT1mW0srOD4+Ml07ZltEKzEyPj4yXT1mW0srMTI+PjJdO2poKEwsQyxELFMpO2ZbZz4+Ml09
ZltMPj4yXTtmW2crND4+Ml09ZltMKzQ+PjJdO2ZbZys4Pj4yXT1mW0wrOD4+Ml07ZltnKzEyPj4y
XT1mW0wrMTI+PjJdO2ZbaSsxMj4+Ml09ZltsKzEyPj4yXTtnPWkrMzJ8MDtTPWwrMzJ8MDtqPWZb
KGZbQT4+Ml18MCkrMTE2Pj4yXSYxO2ZbQz4+Ml09ZltTPj4yXTtmW0MrND4+Ml09ZltTKzQ+PjJd
O2ZbQys4Pj4yXT1mW1MrOD4+Ml07ZltDKzEyPj4yXT1mW1MrMTI+PjJdO2ZbRD4+Ml09ZltLPj4y
XTtmW0QrND4+Ml09ZltLKzQ+PjJdO2ZbRCs4Pj4yXT1mW0srOD4+Ml07ZltEKzEyPj4yXT1mW0sr
MTI+PjJdO2poKE0sQyxELGopO2ZbZz4+Ml09ZltNPj4yXTtmW2crND4+Ml09ZltNKzQ+PjJdO2Zb
Zys4Pj4yXT1mW00rOD4+Ml07ZltnKzEyPj4yXT1mW00rMTI+PjJdO2c9MDt3aGlsZSgxKXtpZigo
Z3wwKT49KGZbbT4+Ml18MCkpYnJlYWs7aj0oZltpPj4yXXwwKSsoZzw8NCl8MDtUPShmW2w+PjJd
fDApKyhnPDw0KXwwO1M9ZlsoZltBPj4yXXwwKSsxMTY+PjJdJjE7ZltDPj4yXT1mW1Q+PjJdO2Zb
Qys0Pj4yXT1mW1QrND4+Ml07ZltDKzg+PjJdPWZbVCs4Pj4yXTtmW0MrMTI+PjJdPWZbVCsxMj4+
Ml07ZltEPj4yXT1mW0s+PjJdO2ZbRCs0Pj4yXT1mW0srND4+Ml07ZltEKzg+PjJdPWZbSys4Pj4y
XTtmW0QrMTI+PjJdPWZbSysxMj4+Ml07amgoRSxDLEQsUyk7ZltqPj4yXT1mW0U+PjJdO2Zbais0
Pj4yXT1mW0UrND4+Ml07ZltqKzg+PjJdPWZbRSs4Pj4yXTtmW2orMTI+PjJdPWZbRSsxMj4+Ml07
ZltOPj4yXT1mW0U+PjJdO2ZbTis0Pj4yXT1mW0UrND4+Ml07ZltOKzg+PjJdPWZbRSs4Pj4yXTtm
W04rMTI+PjJdPWZbRSsxMj4+Ml07aj1nKzF8MDtpZigoanwwKT49KGZbbT4+Ml18MCkpe1E9NDg7
YnJlYWt9Uz0oZltpPj4yXXwwKSsoajw8NCl8MDtqPShmW2w+PjJdfDApKyhqPDw0KXwwO1Q9Zlso
ZltBPj4yXXwwKSsxMTY+PjJdJjE7ZltDPj4yXT1mW2o+PjJdO2ZbQys0Pj4yXT1mW2orND4+Ml07
ZltDKzg+PjJdPWZbais4Pj4yXTtmW0MrMTI+PjJdPWZbaisxMj4+Ml07ZltEPj4yXT1mW0s+PjJd
O2ZbRCs0Pj4yXT1mW0srND4+Ml07ZltEKzg+PjJdPWZbSys4Pj4yXTtmW0QrMTI+PjJdPWZbSysx
Mj4+Ml07amgoRixDLEQsVCk7ZltTPj4yXT1mW0Y+PjJdO2ZbUys0Pj4yXT1mW0YrND4+Ml07ZltT
Kzg+PjJdPWZbRis4Pj4yXTtmW1MrMTI+PjJdPWZbRisxMj4+Ml07ZltoPj4yXT1mW0Y+PjJdO2Zb
aCs0Pj4yXT1mW0YrND4+Ml07ZltoKzg+PjJdPWZbRis4Pj4yXTtmW2grMTI+PjJdPWZbRisxMj4+
Ml07Uz1nKzJ8MDtUPShmW2k+PjJdfDApKyhTPDw0KXwwO1M9KGZbbD4+Ml18MCkrKFM8PDQpfDA7
aj1mWyhmW0E+PjJdfDApKzExNj4+Ml0mMTtmW0M+PjJdPWZbUz4+Ml07ZltDKzQ+PjJdPWZbUys0
Pj4yXTtmW0MrOD4+Ml09ZltTKzg+PjJdO2ZbQysxMj4+Ml09ZltTKzEyPj4yXTtmW0Q+PjJdPWZb
Sz4+Ml07ZltEKzQ+PjJdPWZbSys0Pj4yXTtmW0QrOD4+Ml09ZltLKzg+PjJdO2ZbRCsxMj4+Ml09
ZltLKzEyPj4yXTtqaChHLEMsRCxqKTtmW1Q+PjJdPWZbRz4+Ml07ZltUKzQ+PjJdPWZbRys0Pj4y
XTtmW1QrOD4+Ml09ZltHKzg+PjJdO2ZbVCsxMj4+Ml09ZltHKzEyPj4yXTtmW3M+PjJdPWZbRz4+
Ml07ZltzKzQ+PjJdPWZbRys0Pj4yXTtmW3MrOD4+Ml09ZltHKzg+PjJdO2ZbcysxMj4+Ml09ZltH
KzEyPj4yXTtUPWcrM3wwO2o9KGZbbD4+Ml18MCkrKFQ8PDQpfDA7Uz1mWyhmW0E+PjJdfDApKzEx
Nj4+Ml0mMTtmW0M+PjJdPWZbaj4+Ml07ZltDKzQ+PjJdPWZbais0Pj4yXTtmW0MrOD4+Ml09Zltq
Kzg+PjJdO2ZbQysxMj4+Ml09ZltqKzEyPj4yXTtmW0Q+PjJdPWZbSz4+Ml07ZltEKzQ+PjJdPWZb
Sys0Pj4yXTtmW0QrOD4+Ml09ZltLKzg+PjJdO2ZbRCsxMj4+Ml09ZltLKzEyPj4yXTtqaChILEMs
RCxTKTtmW3U+PjJdPWZbSD4+Ml07Zlt1KzQ+PjJdPWZbSCs0Pj4yXTtmW3UrOD4+Ml09ZltIKzg+
PjJdO2ZbdSsxMj4+Ml09ZltIKzEyPj4yXTtmRigoZltBPj4yXXwwKSsxNnwwLE4pO2c9VH1pZigo
UXwwKT09NDgpUT0wO2c9ZlsoZltvPj4yXXwwKSs5Nj4+Ml18MDtpZihnfDApe1Q9Zys1NnwwO249
KGZbKGZbbj4+Ml18MCkrOTY+PjJdfDApKzU2fDA7Uz1mWyhmW0E+PjJdfDApKzExNj4+Ml0mMTtm
W0M+PjJdPWZbbj4+Ml07ZltDKzQ+PjJdPWZbbis0Pj4yXTtmW0MrOD4+Ml09ZltuKzg+PjJdO2Zb
QysxMj4+Ml09ZltuKzEyPj4yXTtmW0Q+PjJdPWZbSz4+Ml07ZltEKzQ+PjJdPWZbSys0Pj4yXTtm
W0QrOD4+Ml09ZltLKzg+PjJdO2ZbRCsxMj4+Ml09ZltLKzEyPj4yXTtqaChJLEMsRCxTKTtmW1Q+
PjJdPWZbST4+Ml07ZltUKzQ+PjJdPWZbSSs0Pj4yXTtmW1QrOD4+Ml09ZltJKzg+PjJdO2ZbVCsx
Mj4+Ml09ZltJKzEyPj4yXTtUPWZbKGZbbz4+Ml18MCkrOTY+PjJdfDA7YltUKzgxPj4wXT0xO3RN
KGEsVCl9fXE9cSsxfDB9a2goeix5KX1lbHNlIFE9NDt3aGlsZSgwKTtpZigoUXwwKT09ND8oZls0
ODE1MF18MCk9PTA6MCl7Zls0ODE1MF09MTtZdygwLDk3Mzg3LE8pfDA7UT1BeShKKXwwO1M9KG55
KGEpfDApPT0wO1Q9QXkoQil8MDtmW1A+PjJdPVE7ZltQKzQ+PjJdPVM/MTQ4ODgyOjE0NjAwODtm
W1ArOD4+Ml09VDtZdygzLDk3NDkzLFApfDB9dD1SO3JldHVybn1mdW5jdGlvbiAkZyhhLGMsZCxl
LGcpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MCxrPTAsbD0w
LG09MCxuPTAsbz0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MC4wLEI9
MC4wLEM9MC4wLEQ9MC4wLEU9MC4wO3o9dDt0PXQrMTYwMHwwO3U9eisxNTUyfDA7bD16KzE1MzZ8
MDtzPXorODQwfDA7dj16KzE0NHwwO3c9eisxNTg0fDA7aT16O3I9eisxMjh8MDttPXorMTEyfDA7
bz1mW2U+PjJdJjM7bj1mWygob3wwKT09Mz9lOmUrNDh8MCkrNDA+PjJdfDA7eD1lKy00OHwwO289
ZlsoKG98MCk9PTI/ZTp4KSs0MD4+Ml18MDtxPWUrMTZ8MDtqPWZbcT4+Ml18MDtoPWZbaisxNzI+
PjJdfDA7d2hpbGUoMSl7az1mWyhmW2grMTY+PjJdfDApKzE3Mj4+Ml18MDtpZighaylicmVhaztl
bHNlIGg9a31qPShmW2orOTY+PjJdfDApKzU2fDA7aD0oZlsoKGZbaD4+Ml0mM3wwKT09Mz9oOmgr
NDh8MCkrNDA+PjJdfDApKzE2fDA7az0oZltoPj4yXXwwKSsxNnwwO2Zbaj4+Ml09ZltrPj4yXTtm
W2orND4+Ml09ZltrKzQ+PjJdO2Zbais4Pj4yXT1mW2srOD4+Ml07ZltqKzEyPj4yXT1mW2srMTI+
PjJdO2o9ZltxPj4yXXwwO2JbKGZbais5Nj4+Ml18MCkrODE+PjBdPTE7aWYoKGd8MCkhPTIpe2o9
ZltoPj4yXXwwO0M9K3BbaisxNj4+M107RT1DLStwW2orODg+PjNdO0M9K3Bbais5Nj4+M10rQztC
PStwW2orMjQ+PjNdO0Q9K3Bbais4MD4+M10qLjUrQjtqPWZbKGZbYSsxNj4+Ml18MCkrMTk2Pj4y
XXwwO2s9ZltuKzE2Pj4yXXwwO2k9ZltrKzIzMj4+Ml18MDtCPSsofn4oKyh+fihCLStwW2orKGk8
PDYpKzE2Pj4zXS0rcFtrKzI0Pj4zXSsgK3BbaisoaTw8NikrMjQ+PjNdKXwwKSouMTY2NjY2NjY2
NjY2NjY2NjYpfDApO0I9RC0oQjw1LjA/NS4wOkIpO2NoKGEsYyxkLG4sZSxzLDEpO2NoKGEsYyxk
LG8sZSx2LDApO2k9cys1MnwwO2o9ZltpPj4yXXwwO2s9aistMXwwO0E9K3Bbcys1Nisoazw8NSk+
PjNdO3BbMTkzMTZdPUE7cFsxOTMxN109K3Bbcys1Nisoazw8NSkrMjQ+PjNdO3BbMTkzMThdPUU7
cFsxOTMxOV09QjtwWzE5MzIwXT1BO3BbMTkzMjFdPUI7az12KzUyfDA7aD0oZltrPj4yXXwwKSst
MXwwO0E9K3Bbdis1NisoaDw8NSkrMTY+PjNdO3BbMTkzMjJdPUE7cFsxOTMyM109RDtwWzE5MzI0
XT1DO3BbMTkzMjddPUI7cFsxOTMyNV09K3Bbdis1NisoaDw8NSkrMjQ+PjNdO3BbMTkzMjZdPUE7
aD0wO3doaWxlKDEpe2lmKChofDApPj0oanwwKSlicmVhaztqPXMrNTYrKGg8PDUpfDA7Zlt1Pj4y
XT1mW2o+PjJdO2ZbdSs0Pj4yXT1mW2orND4+Ml07Zlt1Kzg+PjJdPWZbais4Pj4yXTtmW3UrMTI+
PjJdPWZbaisxMj4+Ml07Zlt1KzE2Pj4yXT1mW2orMTY+PjJdO2ZbdSsyMD4+Ml09ZltqKzIwPj4y
XTtmW3UrMjQ+PjJdPWZbaisyND4+Ml07Zlt1KzI4Pj4yXT1mW2orMjg+PjJdOyRLKGQsdSk7aD1o
KzF8MDtqPWZbaT4+Ml18MH1oPTA7d2hpbGUoMSl7aWYoKGh8MCk9PTMpYnJlYWs7cz0xNTQ1Mjgr
KGg8PDUpfDA7Zlt1Pj4yXT1mW3M+PjJdO2ZbdSs0Pj4yXT1mW3MrND4+Ml07Zlt1Kzg+PjJdPWZb
cys4Pj4yXTtmW3UrMTI+PjJdPWZbcysxMj4+Ml07Zlt1KzE2Pj4yXT1mW3MrMTY+PjJdO2ZbdSsy
MD4+Ml09ZltzKzIwPj4yXTtmW3UrMjQ+PjJdPWZbcysyND4+Ml07Zlt1KzI4Pj4yXT1mW3MrMjg+
PjJdOyRLKGQsdSk7aD1oKzF8MH1pPWZbaz4+Ml18MDt3aGlsZSgxKXtoPWkrLTF8MDtpZigoaXww
KTw9MClicmVhaztpPXYrNTYrKGg8PDUpfDA7Zlt1Pj4yXT1mW2k+PjJdO2ZbdSs0Pj4yXT1mW2kr
ND4+Ml07Zlt1Kzg+PjJdPWZbaSs4Pj4yXTtmW3UrMTI+PjJdPWZbaSsxMj4+Ml07Zlt1KzE2Pj4y
XT1mW2krMTY+PjJdO2ZbdSsyMD4+Ml09ZltpKzIwPj4yXTtmW3UrMjQ+PjJdPWZbaSsyND4+Ml07
Zlt1KzI4Pj4yXT1mW2krMjg+PjJdOyRLKGQsdSk7aT1ofWlmKChnfDApPT0xMClpPUJKKGQsdyl8
MDtlbHNlIGk9SEooZCx3KXwwO2g9Zlt3Pj4yXXwwO2lmKGh8MCl5PTE4fWVsc2V7aD0oZltuKzE2
Pj4yXXwwKSsxNnwwO3Y9aisxNnwwO2ZbbD4+Ml09ZltoPj4yXTtmW2wrND4+Ml09ZltoKzQ+PjJd
O2ZbbCs4Pj4yXT1mW2grOD4+Ml07ZltsKzEyPj4yXT1mW2grMTI+PjJdO2ZbdT4+Ml09Zlt2Pj4y
XTtmW3UrND4+Ml09Zlt2KzQ+PjJdO2ZbdSs4Pj4yXT1mW3YrOD4+Ml07Zlt1KzEyPj4yXT1mW3Yr
MTI+PjJdO1lnKHIsbCx1KTt2PShmW28rMTY+PjJdfDApKzE2fDA7aD0oZltxPj4yXXwwKSs1Nnww
O2ZbbD4+Ml09Zlt2Pj4yXTtmW2wrND4+Ml09Zlt2KzQ+PjJdO2ZbbCs4Pj4yXT1mW3YrOD4+Ml07
ZltsKzEyPj4yXT1mW3YrMTI+PjJdO2ZbdT4+Ml09ZltoPj4yXTtmW3UrND4+Ml09ZltoKzQ+PjJd
O2ZbdSs4Pj4yXT1mW2grOD4+Ml07Zlt1KzEyPj4yXT1mW2grMTI+PjJdO1lnKG0sbCx1KTtoPWZb
KGZbcT4+Ml18MCkrOTY+PjJdfDA7RD0rcFtoKzU2Pj4zXTtFPStwW2grNjQ+PjNdLStwW2grMzI+
PjNdKi41O2g9aSsxNnwwO2ZbaT4+Ml09ZltyPj4yXTtmW2krND4+Ml09ZltyKzQ+PjJdO2ZbaSs4
Pj4yXT1mW3IrOD4+Ml07ZltpKzEyPj4yXT1mW3IrMTI+PjJdO2ZbaD4+Ml09ZltyPj4yXTtmW2gr
ND4+Ml09ZltyKzQ+PjJdO2ZbaCs4Pj4yXT1mW3IrOD4+Ml07ZltoKzEyPj4yXT1mW3IrMTI+PjJd
O2g9aSszMnwwO3Y9aSs0OHwwO3k9aSs2NHwwO3BbaSs2ND4+M109RDtwW2krNzI+PjNdPUU7Zlt2
Pj4yXT1mW3k+PjJdO2Zbdis0Pj4yXT1mW3krND4+Ml07Zlt2Kzg+PjJdPWZbeSs4Pj4yXTtmW3Yr
MTI+PjJdPWZbeSsxMj4+Ml07ZltoPj4yXT1mW3k+PjJdO2ZbaCs0Pj4yXT1mW3krND4+Ml07Zlto
Kzg+PjJdPWZbeSs4Pj4yXTtmW2grMTI+PjJdPWZbeSsxMj4+Ml07aD1pKzgwfDA7eT1pKzk2fDA7
Zlt5Pj4yXT1mW20+PjJdO2ZbeSs0Pj4yXT1mW20rND4+Ml07Zlt5Kzg+PjJdPWZbbSs4Pj4yXTtm
W3krMTI+PjJdPWZbbSsxMj4+Ml07ZltoPj4yXT1mW20+PjJdO2ZbaCs0Pj4yXT1mW20rND4+Ml07
ZltoKzg+PjJdPWZbbSs4Pj4yXTtmW2grMTI+PjJdPWZbbSsxMj4+Ml07Zlt3Pj4yXT03O2g9Nzt5
PTE4fWlmKCh5fDApPT0xOClaSyhlLGZbKChmW2U+PjJdJjN8MCk9PTI/ZTp4KSs0MD4+Ml18MCxp
LGgsNzE2NjgpO3Q9ejtyZXR1cm59ZnVuY3Rpb24gYWgoYSxiLGMsZCxlLGcpe2E9YXwwO2I9Ynww
O2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO3ZhciBoPTAuMCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49
MCxvPTAscT0wLHI9MCxzPTAsdT0wLHY9MCx3PTAuMCx4PTAseT0wLjAsej0wLEE9MCxCPTAsQz0w
LEQ9MCxFPTAuMCxGPTAuMCxHPTAuMCxIPTAuMCxJPTAuMCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89
MCxQPTAsUT0wLFI9MCxTPTA7Uz10O3Q9dCszNTJ8MDtDPVMrMzM2fDA7Qj1TKzMyMHwwO1E9Uzt6
PVMrMzA0fDA7RD1TKzI4OHwwO1I9UysyNzJ8MDtKPVMrMjU2fDA7Sz1TKzI0MHwwO0w9UysyMjR8
MDtNPVMrMjA4fDA7Tj1TKzE5MnwwO089UysxNzZ8MDtQPVMrMTYwfDA7YT1hKzE2fDA7dj0oZlth
Pj4yXXwwKSsxNnwwO0E9KGZbYysoZDw8Mik+PjJdfDApKzE2fDA7eD0oZltBPj4yXXwwKSsxNnww
O2ZbQj4+Ml09Zlt2Pj4yXTtmW0IrND4+Ml09Zlt2KzQ+PjJdO2ZbQis4Pj4yXT1mW3YrOD4+Ml07
ZltCKzEyPj4yXT1mW3YrMTI+PjJdO2ZbQz4+Ml09Zlt4Pj4yXTtmW0MrND4+Ml09Zlt4KzQ+PjJd
O2ZbQys4Pj4yXT1mW3grOD4+Ml07ZltDKzEyPj4yXT1mW3grMTI+PjJdO1lnKHosQixDKTtIPStw
W3o+PjNdO0k9K3Bbeis4Pj4zXTt6PShmW2IrMTY+PjJdfDApKzE2fDA7QT0oZltBPj4yXXwwKSs1
NnwwO2ZbQj4+Ml09Zlt6Pj4yXTtmW0IrND4+Ml09Zlt6KzQ+PjJdO2ZbQis4Pj4yXT1mW3orOD4+
Ml07ZltCKzEyPj4yXT1mW3orMTI+PjJdO2ZbQz4+Ml09ZltBPj4yXTtmW0MrND4+Ml09ZltBKzQ+
PjJdO2ZbQys4Pj4yXT1mW0ErOD4+Ml07ZltDKzEyPj4yXT1mW0ErMTI+PjJdO1lnKEQsQixDKTtG
PStwW0Q+PjNdO0c9K3BbRCs4Pj4zXTtpZigoZXwwKT4xKXtFPStwWyhmW2E+PjJdfDApKzgwPj4z
XTtoPUUqLjU7RT1FLysoZSstMXwwKX1lbHNle2g9MC4wO0U9MC4wfXU9KGd8OHwwKT09MTA7bj1R
Kzh8MDt2PVErMTZ8MDt3PShGK0gqMi4wKSouMzMzMzMzMzMzMzMzMzMzMzt4PVErMzJ8MDt5PShG
KjIuMCtIKSouMzMzMzMzMzMzMzMzMzMzMztrPVErNDh8MDtxPVErNTZ8MDtvPVErMjR8MDt6PVEr
NDh8MDtBPVErNjR8MDtCPVErODB8MDtDPVErOTZ8MDtEPVErMTEyfDA7bD1RKzEyOHwwO3I9USsx
MzZ8MDttPVErMTQ0fDA7cz1RKzE1MnwwO2g9SS1oO2I9MDt3aGlsZSgxKXtpZigoYnwwKT49KGV8
MCkpYnJlYWs7aj1mW2MrKGIrZDw8Mik+PjJdfDA7cFtRPj4zXT1IO3Bbbj4+M109STtpZih1KXtl
aChSLHcsaCk7Zlt2Pj4yXT1mW1I+PjJdO2Zbdis0Pj4yXT1mW1IrND4+Ml07Zlt2Kzg+PjJdPWZb
Uis4Pj4yXTtmW3YrMTI+PjJdPWZbUisxMj4+Ml07ZWgoSix5LGgpO2ZbeD4+Ml09ZltKPj4yXTtm
W3grND4+Ml09ZltKKzQ+PjJdO2ZbeCs4Pj4yXT1mW0orOD4+Ml07Zlt4KzEyPj4yXT1mW0orMTI+
PjJdO2E9NDtnPWs7aT1xfWVsc2V7cFt2Pj4zXT1IO3Bbbz4+M109STtlaChLLHcsaCk7Zlt4Pj4y
XT1mW0s+PjJdO2ZbeCs0Pj4yXT1mW0srND4+Ml07Zlt4Kzg+PjJdPWZbSys4Pj4yXTtmW3grMTI+
PjJdPWZbSysxMj4+Ml07ZWgoTCx3LGgpO2Zbej4+Ml09ZltMPj4yXTtmW3orND4+Ml09ZltMKzQ+
PjJdO2Zbeis4Pj4yXT1mW0wrOD4+Ml07Zlt6KzEyPj4yXT1mW0wrMTI+PjJdO2VoKE0sdyxoKTtm
W0E+PjJdPWZbTT4+Ml07ZltBKzQ+PjJdPWZbTSs0Pj4yXTtmW0ErOD4+Ml09ZltNKzg+PjJdO2Zb
QSsxMj4+Ml09ZltNKzEyPj4yXTtlaChOLHksaCk7ZltCPj4yXT1mW04+PjJdO2ZbQis0Pj4yXT1m
W04rND4+Ml07ZltCKzg+PjJdPWZbTis4Pj4yXTtmW0IrMTI+PjJdPWZbTisxMj4+Ml07ZWgoTyx5
LGgpO2ZbQz4+Ml09ZltPPj4yXTtmW0MrND4+Ml09ZltPKzQ+PjJdO2ZbQys4Pj4yXT1mW08rOD4+
Ml07ZltDKzEyPj4yXT1mW08rMTI+PjJdO2VoKFAseSxoKTtmW0Q+PjJdPWZbUD4+Ml07ZltEKzQ+
PjJdPWZbUCs0Pj4yXTtmW0QrOD4+Ml09ZltQKzg+PjJdO2ZbRCsxMj4+Ml09ZltQKzEyPj4yXTtw
W2w+PjNdPUY7cFtyPj4zXT1HO2E9MTA7Zz1tO2k9c31wW2c+PjNdPUY7cFtpPj4zXT1HO1pLKGos
ZlsoKGZbaj4+Ml0mM3wwKT09Mj9qOmorLTQ4fDApKzQwPj4yXXwwLFEsYSw3MTY2OCk7aD1oK0U7
Yj1iKzF8MH10PVM7cmV0dXJufWZ1bmN0aW9uIGJoKGEsYixjLGUsZyxoLGksail7YT1hfDA7Yj1i
fDA7Yz1jfDA7ZT1lfDA7Zz1nfDA7aD1ofDA7aT1pfDA7aj1qfDA7dmFyIGs9MCxsPTAuMCxtPTAs
bj0wLG89MCxxPTAscj0wLjAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLjAsQT0wLjAsQj0w
LjAsQz0wLjAsRD0wLjA7eD10O3Q9dCsxNDQwfDA7cz14KzEzOTJ8MDt2PXgrMTQyNHwwO3c9eCs2
OTZ8MDt1PXg7cT1mW2k+PjJdJjM7bz1mWygocXwwKT09Mz9pOmkrNDh8MCkrNDA+PjJdfDA7cT1m
WygocXwwKT09Mj9pOmkrLTQ4fDApKzQwPj4yXXwwO2s9ZltvKzE2Pj4yXXwwO209ZltrKzIzMj4+
Ml18MDtuPWZbYSsxNj4+Ml18MDtpZigobXwwKTwoZFtuKzIzOD4+MV18MCkpe3k9ZltuKzE5Nj4+
Ml18MDtuPW0rMXwwO2w9K3BbaysyND4+M10tK3BbeSsobTw8NikrMzI+PjNdLStwWyhmWyhmW2Zb
eSsobjw8NikrND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyND4+M10tK3BbeSsobjw8NikrNDA+PjNd
fWVsc2UgbD0rKGZbbisyNTI+PjJdfDApO3o9KyhoKzF8MCk7cj0rKGZbYisxMj4+Ml18MCkvejts
PWwvejtkaChhLGIsYyxvLGksdywxKTtkaChhLGIsYyxxLGksdSwwKTtxPXcrNTJ8MDtpPXUrNTJ8
MDthPShqfDApPT0wO2I9Yys4MHwwO2s9MDt3aGlsZSgxKXtpZigoa3wwKT49KGh8MCkpYnJlYWs7
bz1mW2UrKGsrZzw8Mik+PjJdfDA7bj1mW3E+PjJdfDA7bT1uKy0xfDA7RD0rcFt3KzU2KyhtPDw1
KT4+M107Qj0rcFt3KzU2KyhtPDw1KSs4Pj4zXTtDPStwW3crNTYrKG08PDUpKzE2Pj4zXTtwWzE5
MzE2XT1EO3BbMTkzMTldPUI7az1rKzF8MDt6PSsoa3wwKTtBPXIqejtwWzE5MzE4XT1DK0E7ej1C
LWwqejtwWzE5MzE3XT16O3BbMTkzMjBdPUQ7cFsxOTMyM109ejttPShmW2k+PjJdfDApKy0xfDA7
RD0rcFt1KzU2KyhtPDw1KSsxNj4+M107cFsxOTMyMl09RDtwWzE5MzIxXT16LWw7Qj0rcFt1KzU2
KyhtPDw1KT4+M107Qz0rcFt1KzU2KyhtPDw1KSs4Pj4zXTtwWzE5MzI2XT1EO3BbMTkzMjddPUM7
cFsxOTMyNF09Qi1BO3BbMTkzMjVdPXo7bT0wO3doaWxlKDEpe2lmKChtfDApPj0obnwwKSlicmVh
aztuPXcrNTYrKG08PDUpfDA7ZltzPj4yXT1mW24+PjJdO2Zbcys0Pj4yXT1mW24rND4+Ml07Zltz
Kzg+PjJdPWZbbis4Pj4yXTtmW3MrMTI+PjJdPWZbbisxMj4+Ml07ZltzKzE2Pj4yXT1mW24rMTY+
PjJdO2ZbcysyMD4+Ml09ZltuKzIwPj4yXTtmW3MrMjQ+PjJdPWZbbisyND4+Ml07ZltzKzI4Pj4y
XT1mW24rMjg+PjJdOyRLKGMscyk7bT1tKzF8MDtuPWZbcT4+Ml18MH1tPTA7d2hpbGUoMSl7aWYo
KG18MCk9PTMpYnJlYWs7eT0xNTQ1MjgrKG08PDUpfDA7ZltzPj4yXT1mW3k+PjJdO2Zbcys0Pj4y
XT1mW3krND4+Ml07ZltzKzg+PjJdPWZbeSs4Pj4yXTtmW3MrMTI+PjJdPWZbeSsxMj4+Ml07Zltz
KzE2Pj4yXT1mW3krMTY+PjJdO2ZbcysyMD4+Ml09Zlt5KzIwPj4yXTtmW3MrMjQ+PjJdPWZbeSsy
ND4+Ml07ZltzKzI4Pj4yXT1mW3krMjg+PjJdOyRLKGMscyk7bT1tKzF8MH1uPWZbaT4+Ml18MDt3
aGlsZSgxKXttPW4rLTF8MDtpZigobnwwKTw9MClicmVhaztuPXUrNTYrKG08PDUpfDA7ZltzPj4y
XT1mW24+PjJdO2Zbcys0Pj4yXT1mW24rND4+Ml07ZltzKzg+PjJdPWZbbis4Pj4yXTtmW3MrMTI+
PjJdPWZbbisxMj4+Ml07ZltzKzE2Pj4yXT1mW24rMTY+PjJdO2ZbcysyMD4+Ml09ZltuKzIwPj4y
XTtmW3MrMjQ+PjJdPWZbbisyND4+Ml07ZltzKzI4Pj4yXT1mW24rMjg+PjJdOyRLKGMscyk7bj1t
fWlmKGEpbT1ISihjLHYpfDA7ZWxzZSBtPUJKKGMsdil8MDtuPWZbdj4+Ml18MDtpZighbilicmVh
aztaSyhvLGZbKChmW28+PjJdJjN8MCk9PTI/bzpvKy00OHwwKSs0MD4+Ml18MCxtLG4sNzE2Njgp
O2ZbYj4+Ml09MH10PXg7cmV0dXJufWZ1bmN0aW9uIGNoKGEsYixjLGQsZSxnLGgpe2E9YXwwO2I9
YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO2g9aHwwO3ZhciBpPTAsaj0wLGs9MCxsPTAsbT0w
LG49MC4wO2w9dDt0PXQrMTI4fDA7aT1sKzk2fDA7aj1sKzY0fDA7bT1sKzMyfDA7az1sO0hnKG0s
YSxiLGQsMCxlKTtmW2c+PjJdPWZbbT4+Ml07ZltnKzQ+PjJdPWZbbSs0Pj4yXTtmW2crOD4+Ml09
ZlttKzg+PjJdO2ZbZysxMj4+Ml09ZlttKzEyPj4yXTtmW2crMTY+PjJdPWZbbSsxNj4+Ml07Zltn
KzIwPj4yXT1mW20rMjA+PjJdO2ZbZysyND4+Ml09ZlttKzI0Pj4yXTtmW2crMjg+PjJdPWZbbSsy
OD4+Ml07ZltqPj4yXT1mW20+PjJdO2Zbais0Pj4yXT1mW20rND4+Ml07ZltqKzg+PjJdPWZbbSs4
Pj4yXTtmW2orMTI+PjJdPWZbbSsxMj4+Ml07ZltqKzE2Pj4yXT1mW20rMTY+PjJdO2ZbaisyMD4+
Ml09ZlttKzIwPj4yXTtmW2orMjQ+PjJdPWZbbSsyND4+Ml07ZltqKzI4Pj4yXT1mW20rMjg+PjJd
O2ZbZys0OD4+Ml09NDtpZighKGg8PDI0Pj4yNCkpZEwoYyxlLDIsZywwKTtlbHNlIGFMKGMsZSwy
LGcsMCk7Yj1nKzUyfDA7ZT0oZltiPj4yXXwwKSstMXwwO209aisyNHwwO3BbbT4+M109K3BbZys1
NisoZTw8NSkrMjQ+PjNdO2g9ais4fDA7cFtoPj4zXT0rcFtnKzU2KyhlPDw1KSs4Pj4zXTtkPWZb
ZCsxNj4+Ml18MDtuPStwWyhmWyhmW2ErMTY+PjJdfDApKzE5Nj4+Ml18MCkrKGZbZCsyMzI+PjJd
PDw2KSsyND4+M10rICtwW2QrMjQ+PjNdO2ZbaT4+Ml09ZltqPj4yXTtmW2krND4+Ml09ZltqKzQ+
PjJdO2ZbaSs4Pj4yXT1mW2orOD4+Ml07ZltpKzEyPj4yXT1mW2orMTI+PjJdO2ZbaSsxNj4+Ml09
ZltqKzE2Pj4yXTtmW2krMjA+PjJdPWZbaisyMD4+Ml07ZltpKzI0Pj4yXT1mW2orMjQ+PjJdO2Zb
aSsyOD4+Ml09ZltqKzI4Pj4yXTtKZyhrLGksNCxuKTtmW2o+PjJdPWZbaz4+Ml07ZltqKzQ+PjJd
PWZbays0Pj4yXTtmW2orOD4+Ml09ZltrKzg+PjJdO2ZbaisxMj4+Ml09ZltrKzEyPj4yXTtmW2or
MTY+PjJdPWZbaysxNj4+Ml07ZltqKzIwPj4yXT1mW2srMjA+PjJdO2ZbaisyND4+Ml09ZltrKzI0
Pj4yXTtmW2orMjg+PjJdPWZbaysyOD4+Ml07aWYoK3Bbaj4+M108K3BbaisxNj4+M10/K3BbaD4+
M108K3BbbT4+M106MCl7bT1mW2I+PjJdfDA7ZltiPj4yXT1tKzE7bT1nKzU2KyhtPDw1KXwwO2Zb
bT4+Ml09ZltqPj4yXTtmW20rND4+Ml09ZltqKzQ+PjJdO2ZbbSs4Pj4yXT1mW2orOD4+Ml07Zltt
KzEyPj4yXT1mW2orMTI+PjJdO2ZbbSsxNj4+Ml09ZltqKzE2Pj4yXTtmW20rMjA+PjJdPWZbaisy
MD4+Ml07ZlttKzI0Pj4yXT1mW2orMjQ+PjJdO2ZbbSsyOD4+Ml09ZltqKzI4Pj4yXX10PWw7cmV0
dXJufWZ1bmN0aW9uIGRoKGEsYixjLGQsZSxnLGgpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9
ZXwwO2c9Z3wwO2g9aHwwO3ZhciBpPTAsaj0wLGs9MCxsPTAsbT0wLG49MC4wO2w9dDt0PXQrMTI4
fDA7aT1sKzk2fDA7aj1sKzY0fDA7bT1sKzMyfDA7az1sO0hnKG0sYSxiLGQsMCxlKTtmW2c+PjJd
PWZbbT4+Ml07ZltnKzQ+PjJdPWZbbSs0Pj4yXTtmW2crOD4+Ml09ZlttKzg+PjJdO2ZbZysxMj4+
Ml09ZlttKzEyPj4yXTtmW2crMTY+PjJdPWZbbSsxNj4+Ml07ZltnKzIwPj4yXT1mW20rMjA+PjJd
O2ZbZysyND4+Ml09ZlttKzI0Pj4yXTtmW2crMjg+PjJdPWZbbSsyOD4+Ml07ZltqPj4yXT1mW20+
PjJdO2Zbais0Pj4yXT1mW20rND4+Ml07ZltqKzg+PjJdPWZbbSs4Pj4yXTtmW2orMTI+PjJdPWZb
bSsxMj4+Ml07ZltqKzE2Pj4yXT1mW20rMTY+PjJdO2ZbaisyMD4+Ml09ZlttKzIwPj4yXTtmW2or
MjQ+PjJdPWZbbSsyND4+Ml07ZltqKzI4Pj4yXT1mW20rMjg+PjJdO2ZbZys0OD4+Ml09MTtpZigh
KGg8PDI0Pj4yNCkpZEwoYyxlLDIsZywwKTtlbHNlIGFMKGMsZSwyLGcsMCk7Yj1nKzUyfDA7ZT0o
ZltiPj4yXXwwKSstMXwwO209aisyNHwwO3BbbT4+M109K3BbZys1NisoZTw8NSkrMjQ+PjNdO2g9
ais4fDA7cFtoPj4zXT0rcFtnKzU2KyhlPDw1KSs4Pj4zXTtkPWZbZCsxNj4+Ml18MDtuPStwW2Qr
MjQ+PjNdLStwWyhmWyhmW2ErMTY+PjJdfDApKzE5Nj4+Ml18MCkrKGZbZCsyMzI+PjJdPDw2KSsy
ND4+M107ZltpPj4yXT1mW2o+PjJdO2ZbaSs0Pj4yXT1mW2orND4+Ml07ZltpKzg+PjJdPWZbais4
Pj4yXTtmW2krMTI+PjJdPWZbaisxMj4+Ml07ZltpKzE2Pj4yXT1mW2orMTY+PjJdO2ZbaSsyMD4+
Ml09ZltqKzIwPj4yXTtmW2krMjQ+PjJdPWZbaisyND4+Ml07ZltpKzI4Pj4yXT1mW2orMjg+PjJd
O0pnKGssaSwxLG4pO2Zbaj4+Ml09ZltrPj4yXTtmW2orND4+Ml09ZltrKzQ+PjJdO2Zbais4Pj4y
XT1mW2srOD4+Ml07ZltqKzEyPj4yXT1mW2srMTI+PjJdO2ZbaisxNj4+Ml09ZltrKzE2Pj4yXTtm
W2orMjA+PjJdPWZbaysyMD4+Ml07ZltqKzI0Pj4yXT1mW2srMjQ+PjJdO2ZbaisyOD4+Ml09Zltr
KzI4Pj4yXTtpZigrcFtqPj4zXTwrcFtqKzE2Pj4zXT8rcFtoPj4zXTwrcFttPj4zXTowKXttPWZb
Yj4+Ml18MDtmW2I+PjJdPW0rMTttPWcrNTYrKG08PDUpfDA7ZlttPj4yXT1mW2o+PjJdO2ZbbSs0
Pj4yXT1mW2orND4+Ml07ZlttKzg+PjJdPWZbais4Pj4yXTtmW20rMTI+PjJdPWZbaisxMj4+Ml07
ZlttKzE2Pj4yXT1mW2orMTY+PjJdO2ZbbSsyMD4+Ml09ZltqKzIwPj4yXTtmW20rMjQ+PjJdPWZb
aisyND4+Ml07ZlttKzI4Pj4yXT1mW2orMjg+PjJdfXQ9bDtyZXR1cm59ZnVuY3Rpb24gZWgoYSxi
LGMpe2E9YXwwO2I9K2I7Yz0rYztwW2E+PjNdPWI7cFthKzg+PjNdPWM7cmV0dXJufWZ1bmN0aW9u
IGZoKGEsYyxkLGUsZyxoLGkpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO2g9aHwwO2k9
aXwwO3ZhciBqPTAsaz0wLGw9MCxtPTAsbj0wLjAsbz0wLjAscT0wLjAscj0wLjAscz0wLjAsdT0w
LjAsdj0wLjAsdz0wLjAseD0wLjAseT0wLHo9MCxBPTAuMCxCPTAuMCxDPTAsRD0wLEU9MCxGPTAs
Rz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxV
PTAsVj0wLFc9MCxYPTAsWT0wLFo9MC4wO1k9dDt0PXQrMjg4fDA7Uj1ZKzI1NnwwO1E9WSsyNDB8
MDtQPVkrMjI0fDA7Vj1ZKzI4MHwwO1c9WSsyNzJ8MDtYPVk7Uz1ZKzE3NnwwO1Q9WSsxNjB8MDtr
PVkrMjA4fDA7bD1ZKzE5MnwwO209ZltkKyhlPDwyKT4+Ml18MDtVPURIKGc8PDIpfDA7aj0wO3do
aWxlKDEpe2lmKChqfDApPj0oZ3wwKSlicmVhaztmW1UrKGo8PDIpPj4yXT1mW2QrKGorZTw8Mik+
PjJdO2o9aisxfDB9VyQoVSxnLDQsNTkpO2Q9YSsxNnwwO2U9KGZbZD4+Ml18MCkrMTZ8MDttPW0r
MTZ8MDtDPShmW20+PjJdfDApKzE2fDA7ZltRPj4yXT1mW2U+PjJdO2ZbUSs0Pj4yXT1mW2UrND4+
Ml07ZltRKzg+PjJdPWZbZSs4Pj4yXTtmW1ErMTI+PjJdPWZbZSsxMj4+Ml07ZltSPj4yXT1mW0M+
PjJdO2ZbUis0Pj4yXT1mW0MrND4+Ml07ZltSKzg+PjJdPWZbQys4Pj4yXTtmW1IrMTI+PjJdPWZb
QysxMj4+Ml07WWcoayxRLFIpO2ZbUz4+Ml09ZltrPj4yXTtmW1MrND4+Ml09ZltrKzQ+PjJdO2Zb
Uys4Pj4yXT1mW2srOD4+Ml07ZltTKzEyPj4yXT1mW2srMTI+PjJdO0M9YysxNnwwO2U9KGZbQz4+
Ml18MCkrMTZ8MDttPShmW20+PjJdfDApKzU2fDA7ZltRPj4yXT1mW2U+PjJdO2ZbUSs0Pj4yXT1m
W2UrND4+Ml07ZltRKzg+PjJdPWZbZSs4Pj4yXTtmW1ErMTI+PjJdPWZbZSsxMj4+Ml07ZltSPj4y
XT1mW20+PjJdO2ZbUis0Pj4yXT1mW20rND4+Ml07ZltSKzg+PjJdPWZbbSs4Pj4yXTtmW1IrMTI+
PjJdPWZbbSsxMj4+Ml07WWcobCxRLFIpO2ZbVD4+Ml09ZltsPj4yXTtmW1QrND4+Ml09ZltsKzQ+
PjJdO2ZbVCs4Pj4yXT1mW2wrOD4+Ml07ZltUKzEyPj4yXT1mW2wrMTI+PjJdO3c9K3BbKGZbZD4+
Ml18MCkrOTY+PjNdKyArcFtTPj4zXTt4PStwW1Q+PjNdLStwWyhmW0M+PjJdfDApKzg4Pj4zXTt1
PXgrdzt2PXUqLjU7Qz1mW1U+PjJdfDA7ZltYPj4yXT1mW1M+PjJdO2ZbWCs0Pj4yXT1mW1MrND4+
Ml07ZltYKzg+PjJdPWZbUys4Pj4yXTtmW1grMTI+PjJdPWZbUysxMj4+Ml07bT1YKzE2fDA7Zltt
Pj4yXT1mW1M+PjJdO2ZbbSs0Pj4yXT1mW1MrND4+Ml07ZlttKzg+PjJdPWZbUys4Pj4yXTtmW20r
MTI+PjJdPWZbUysxMj4+Ml07ZD1YKzMyfDA7ZltkPj4yXT1mW1Q+PjJdO2ZbZCs0Pj4yXT1mW1Qr
ND4+Ml07ZltkKzg+PjJdPWZbVCs4Pj4yXTtmW2QrMTI+PjJdPWZbVCsxMj4+Ml07ZT1YKzQ4fDA7
ZltlPj4yXT1mW1Q+PjJdO2ZbZSs0Pj4yXT1mW1QrND4+Ml07ZltlKzg+PjJdPWZbVCs4Pj4yXTtm
W2UrMTI+PjJdPWZbVCsxMj4+Ml07WksoQyxmWygoZltDPj4yXSYzfDApPT0yP0M6QystNDh8MCkr
NDA+PjJdfDAsWCw0LDcxNjY4KTtDPWZbKGZbQysxNj4+Ml18MCkrOTY+PjJdfDA7cFtDKzU2Pj4z
XT12O3o9Uys4fDA7cT0rcFt6Pj4zXTtyPStwW0MrMzI+PjNdO3BbQys2ND4+M109KHIrNi4wKSou
NStxO2JbQys4MT4+MF09MTtxPXErMy4wO0I9K3BbQysyND4+M107QT0odS1CKSouNTtCPShCK3Up
Ki41O0M9WCsyNHwwO0Q9WCs0MHwwO0U9WCs1NnwwO0Y9WCs2NHwwO0c9VCs4fDA7SD1YKzcyfDA7
ST1YKzgwfDA7Sj1YKzg4fDA7Sz1YKzk2fDA7TD1YKzEwNHwwO009WCsxMTJ8MDtOPVgrMTIwfDA7
Tz1WKzR8MDtsPShofDApPT02JjE7bz0wLjA7bj0wLjA7cj1xK3I7az0xO3doaWxlKDEpe2lmKChr
fDApPj0oaXwwKSl7eT0xMzticmVha31jPWZbVSsoazw8Mik+PjJdfDA7aWYoIShrJjEpKXtmW1g+
PjJdPWZbUz4+Ml07ZltYKzQ+PjJdPWZbUys0Pj4yXTtmW1grOD4+Ml09ZltTKzg+PjJdO2ZbWCsx
Mj4+Ml09ZltTKzEyPj4yXTtwW20+PjNdPUE7cFtDPj4zXT0rcFt6Pj4zXTtwW2Q+PjNdPUE7cFtE
Pj4zXT1yO3BbZT4+M109QjtwW0U+PjNdPXI7cFtGPj4zXT1CO3M9K3BbRz4+M107cFtIPj4zXT1z
O1o9K3BbVD4+M107cFtJPj4zXT1aO3BbSj4+M109cztwW0s+PjNdPVo7Wj1yKzYuMDtwW0w+PjNd
PVo7cFtNPj4zXT0rcFtTPj4zXTtwW04+PjNdPVo7cj0rcFsoZlsoZltjKzE2Pj4yXXwwKSs5Nj4+
Ml18MCkrMzI+PjNdO3M9WityKi41O3I9WityfWVsc2V7aj1jKzE2fDA7YT1mWyhmW2o+PjJdfDAp
Kzk2Pj4yXXwwO2lmKChrfDApPT0xKXtuPStwW2ErMjQ+PjNdO289KG4rdSkqLjU7bj0odS1uKSou
NX1xPXErLTYuMC0rcFthKzMyPj4zXTtmW1g+PjJdPWZbUz4+Ml07ZltYKzQ+PjJdPWZbUys0Pj4y
XTtmW1grOD4+Ml09ZltTKzg+PjJdO2ZbWCsxMj4+Ml09ZltTKzEyPj4yXTtwW20+PjNdPStwW1M+
PjNdO3M9cSstNi4wO3BbQz4+M109cztwW2Q+PjNdPStwW1Q+PjNdO3BbRD4+M109cztmW2U+PjJd
PWZbVD4+Ml07ZltlKzQ+PjJdPWZbVCs0Pj4yXTtmW2UrOD4+Ml09ZltUKzg+PjJdO2ZbZSsxMj4+
Ml09ZltUKzEyPj4yXTtwW0Y+PjNdPW87cFtIPj4zXT0rcFtHPj4zXTtwW0k+PjNdPW87cFtKPj4z
XT1xO3BbSz4+M109bjtwW0w+PjNdPXE7cFtNPj4zXT1uO3BbTj4+M109K3Bbej4+M107cz0rcFso
ZlsoZltqPj4yXXwwKSs5Nj4+Ml18MCkrMzI+PjNdKi41K3F9ZltPPj4yXT04O2ZbVj4+Ml09WDtm
W1A+PjJdPWZbUz4+Ml07ZltQKzQ+PjJdPWZbUys0Pj4yXTtmW1ArOD4+Ml09ZltTKzg+PjJdO2Zb
UCsxMj4+Ml09ZltTKzEyPj4yXTtmW1E+PjJdPWZbVD4+Ml07ZltRKzQ+PjJdPWZbVCs0Pj4yXTtm
W1ErOD4+Ml09ZltUKzg+PjJdO2ZbUSsxMj4+Ml09ZltUKzEyPj4yXTtmW1I+PjJdPWZbVj4+Ml07
ZltSKzQ+PjJdPWZbVis0Pj4yXTtqPXhKKFAsUSxSLFcsbCl8MDthPWZbVz4+Ml18MDtpZighYSli
cmVhaztoPWZbKGZbYysxNj4+Ml18MCkrOTY+PjJdfDA7cFtoKzU2Pj4zXT12O3BbaCs2ND4+M109
cztiW2grODE+PjBdPTE7WksoYyxmWygoZltjPj4yXSYzfDApPT0yP2M6YystNDh8MCkrNDA+PjJd
fDAsaixhLDcxNjY4KTtrPWsrMXwwfWE6ZG8gaWYoKHl8MCk9PTEzKXt2PSh4K3cqMi4wKSouMzMz
MzMzMzMzMzMzMzMzMzt1PSh4KjIuMCt3KSouMzMzMzMzMzMzMzMzMzMzMzt3aGlsZSgxKXtpZigo
a3wwKT49KGd8MCkpYnJlYWs7Yz1mW1UrKGs8PDIpPj4yXXwwO2lmKCEoayYxKSl7ZltYPj4yXT1m
W1M+PjJdO2ZbWCs0Pj4yXT1mW1MrND4+Ml07ZltYKzg+PjJdPWZbUys4Pj4yXTtmW1grMTI+PjJd
PWZbUysxMj4+Ml07cFttPj4zXT1BO3BbQz4+M109K3Bbej4+M107cFtkPj4zXT1BO3BbRD4+M109
cjtwW2U+PjNdPUI7cFtFPj4zXT1yO3BbRj4+M109QjtzPStwW0c+PjNdO3BbSD4+M109cztaPStw
W1Q+PjNdO3BbST4+M109WjtwW0o+PjNdPXM7cFtLPj4zXT1aO1o9cis2LjA7cFtMPj4zXT1aO3Bb
TT4+M109K3BbUz4+M107cj1aO3M9bjtuPVp9ZWxzZXt5PShrfDApPT0xO3M9eT92Om47bz15P3U6
bztuPXErLTYuMDtmW1g+PjJdPWZbUz4+Ml07ZltYKzQ+PjJdPWZbUys0Pj4yXTtmW1grOD4+Ml09
ZltTKzg+PjJdO2ZbWCsxMj4+Ml09ZltTKzEyPj4yXTtwW20+PjNdPStwW1M+PjNdO3E9cSstMTIu
MDtwW0M+PjNdPXE7cFtkPj4zXT0rcFtUPj4zXTtwW0Q+PjNdPXE7ZltlPj4yXT1mW1Q+PjJdO2Zb
ZSs0Pj4yXT1mW1QrND4+Ml07ZltlKzg+PjJdPWZbVCs4Pj4yXTtmW2UrMTI+PjJdPWZbVCsxMj4+
Ml07cFtGPj4zXT1vO3BbSD4+M109K3BbRz4+M107cFtJPj4zXT1vO3BbSj4+M109bjtwW0s+PjNd
PXM7cFtMPj4zXT1uO3BbTT4+M109cztxPW47bj0rcFt6Pj4zXX1wW04+PjNdPW47ZltPPj4yXT04
O2ZbVj4+Ml09WDtmW1A+PjJdPWZbUz4+Ml07ZltQKzQ+PjJdPWZbUys0Pj4yXTtmW1ArOD4+Ml09
ZltTKzg+PjJdO2ZbUCsxMj4+Ml09ZltTKzEyPj4yXTtmW1E+PjJdPWZbVD4+Ml07ZltRKzQ+PjJd
PWZbVCs0Pj4yXTtmW1ErOD4+Ml09ZltUKzg+PjJdO2ZbUSsxMj4+Ml09ZltUKzEyPj4yXTtmW1I+
PjJdPWZbVj4+Ml07ZltSKzQ+PjJdPWZbVis0Pj4yXTtqPXhKKFAsUSxSLFcsbCl8MDthPWZbVz4+
Ml18MDtpZighYSlicmVhayBhO1pLKGMsZlsoKGZbYz4+Ml0mM3wwKT09Mj9jOmMrLTQ4fDApKzQw
Pj4yXXwwLGosYSw3MTY2OCk7az1rKzF8MDtuPXN9TV8oVSl9d2hpbGUoMCk7dD1ZO3JldHVybn1m
dW5jdGlvbiBnaChhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MDtn
PXQ7dD10KzE2fDA7ZT1nO2k9KG55KGEpfDApPT0wO2k9aT83MjI3Mjo3MjI2NDtiW2U+PjBdPWJb
aT4+MF18MDtiW2UrMT4+MF09YltpKzE+PjBdfDA7YltlKzI+PjBdPWJbaSsyPj4wXXwwO2JbZSsz
Pj4wXT1iW2krMz4+MF18MDtlPWV5KDk3NTI1LGUsMCl8MDtKeihlLDE0NTc1MywyODAsMSl8MDt3
eChlLDAsOTkyMDMsMTk0ODcwKXwwO2k9REgoOTYpfDA7ZD1mW2UrMTY+PjJdfDA7ZltkKzg+PjJd
PWk7aD1mW2ErMTY+PjJdfDA7aj1mW2grOD4+Ml18MDtwW2k+PjNdPStwW2o+PjNdO3BbaSsyND4+
M109K3BbaisyND4+M107YltkKzExNT4+MF09YltoKzExNT4+MF18MDtmW2QrMTE2Pj4yXT1mW2gr
MTE2Pj4yXSYxXjE7ZltkKzI0OD4+Ml09ZltoKzI0OD4+Ml07ZltkKzI1Mj4+Ml09ZltoKzI1Mj4+
Ml07ZD1CeChveihhKXwwLDEsMCl8MDt3aGlsZSgxKXtpZighZClicmVhazt3eChlLDEsZltkKzg+
PjJdfDAsZltkKzEyPj4yXXwwKXwwO2Q9Qngob3ooYSl8MCwxLGQpfDB9ZD1CeChveihhKXwwLDIs
MCl8MDt3aGlsZSgxKXtpZighZClicmVhazt3eChlLDIsZltkKzg+PjJdfDAsZltkKzEyPj4yXXww
KXwwO2Q9Qngob3ooYSl8MCwyLGQpfDB9aWYoISh3eChlLDIsMTE5NzM0LDApfDApKXd4KGUsMiwx
MTk3MzQsMTk0ODcwKXwwO2lmKCEod3goZSwyLDExOTcyNSwwKXwwKSl3eChlLDIsMTE5NzI1LDE5
NDg3MCl8MDtsaChlLGMpO3Q9ZztyZXR1cm4gZXwwfWZ1bmN0aW9uIGhoKGEsYil7YT1hfDA7Yj1i
fDA7dmFyIGM9MCxkPTAsZT0wO2Q9dDt0PXQrMTZ8MDtjPWQ7YT1qeihhLEF5KGIpfDAsMSl8MDtK
eihhLDE0NTcxNywzMDQsMSl8MDtLeChiLGEpfDA7aWYoKFFKKGIpfDApPT0yKXtlPWIrMTZ8MDti
PUVIKChjMChmW2ZbKGZbZT4+Ml18MCkrMTA0Pj4yXT4+Ml18MCl8MCkrM3wwKXwwO2ZbYz4+Ml09
ZltmWyhmW2U+PjJdfDApKzEwND4+Ml0+PjJdO2QkKGIsOTc1MjAsYyl8MDtJeChhLDExNjU1MCxi
KXwwfXQ9ZDtyZXR1cm4gYXwwfWZ1bmN0aW9uIGloKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3ww
O2Q9ZHwwO2M9X3goYSxiLGMsMCwxKXwwO0p6KGMsMTQ1NzMwLDE3NiwxKXwwO0t4KGQsYyl8MDty
ZXR1cm4gY3wwfWZ1bmN0aW9uIGpoKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3Zh
ciBlPTAsZz0wLGg9MCxpPTAuMDtoPXQ7dD10KzMyfDA7Zz1oKzE2fDA7ZT1oO2lmKGR8MCl7aT0r
cFtiPj4zXTtkPWIrOHwwO3BbYj4+M109K3BbZD4+M107cFtkPj4zXT0taX07ZltlPj4yXT1mW2I+
PjJdO2ZbZSs0Pj4yXT1mW2IrND4+Ml07ZltlKzg+PjJdPWZbYis4Pj4yXTtmW2UrMTI+PjJdPWZb
YisxMj4+Ml07ZltnPj4yXT1mW2M+PjJdO2ZbZys0Pj4yXT1mW2MrND4+Ml07ZltnKzg+PjJdPWZb
Yys4Pj4yXTtmW2crMTI+PjJdPWZbYysxMj4+Ml07WWcoYSxlLGcpO3Q9aDtyZXR1cm59ZnVuY3Rp
b24ga2goYSxiKXthPWF8MDtiPWJ8MDtmWzQ4MzgxXT1mW2I+PjJdO2ZbNDgzODVdPWZbYis0Pj4y
XTtmWzQ4Mzg2XT1mW2IrOD4+Ml07Zls0ODM2Nl09ZltiKzEyPj4yXTtmWzQ4MzY3XT1mW2IrMTY+
PjJdO2ZbNDgzNzNdPWZbYisyMD4+Ml07Zls0ODM3Ml09ZltiKzI0Pj4yXTtmWzQ4MzcxXT1mW2Ir
Mjg+PjJdO2ZbNDgzOTddPWZbYiszMj4+Ml07Zls0ODM4OV09ZltiKzM2Pj4yXTtmWzQ4Mzc0XT1m
W2IrNDA+PjJdO2ZbNDgzODRdPWZbYis0ND4+Ml07Zls0ODM5M109ZltiKzQ4Pj4yXTtmWzQ4Mzky
XT1mW2IrNTI+PjJdO2ZbNDgzOTFdPWZbYis1Nj4+Ml07Zls0ODM5Nl09ZltiKzYwPj4yXTtmWzQ4
MzkwXT1mW2IrNjQ+PjJdO2ZbNDgzNzVdPWZbYis2OD4+Ml07Zls0ODMzN109ZltiKzcyPj4yXTtm
WzQ4MzM4XT1mW2IrNzY+PjJdO2ZbNDgzMzldPWZbYis4MD4+Ml07Zls0ODM0OV09ZltiKzg0Pj4y
XTtmWzQ4MzQyXT1mW2IrODg+PjJdO2ZbNDgzNDNdPWZbYis5Mj4+Ml07Zls0ODM0NF09ZltiKzk2
Pj4yXTtmWzQ4MzQ2XT1mW2IrMTAwPj4yXTtmWzQ4MzQ3XT1mW2IrMTA0Pj4yXTtmWzQ4MzUwXT1m
W2IrMTA4Pj4yXTtmWzQ4MzUzXT1mW2IrMTEyPj4yXTtmWzQ4MzUxXT1mW2IrMTE2Pj4yXTtmWzQ4
MzUyXT1mW2IrMTIwPj4yXTtmWzQ4MzU1XT1mW2IrMTI0Pj4yXTtmWzQ4MzU0XT1mW2IrMTI4Pj4y
XTtmWzQ4MzU2XT1mW2IrMTMyPj4yXTtmWzQ4MzU3XT1mW2IrMTM2Pj4yXTtmWzQ4MzQ4XT1mW2Ir
MTQwPj4yXTtmWzQ4MzYwXT1mW2IrMTQ0Pj4yXTtmWzQ4MzMyXT1mW2IrMTQ4Pj4yXTtmWzQ4MzI5
XT1mW2IrMTUyPj4yXTtNXyhiKTthZyhhKTtpeShhKXwwO3JldHVybn1mdW5jdGlvbiBsaChhLGIp
e2E9YXwwO2I9YnwwO2ZbYj4+Ml09Zls0ODM4MV07ZltiKzQ+PjJdPWZbNDgzODVdO2ZbYis4Pj4y
XT1mWzQ4Mzg2XTtmW2IrMTI+PjJdPWZbNDgzNjZdO2ZbYisxNj4+Ml09Zls0ODM2N107ZltiKzIw
Pj4yXT1mWzQ4MzczXTtmW2IrMjQ+PjJdPWZbNDgzNzJdO2ZbYisyOD4+Ml09Zls0ODM3MV07Zlti
KzMyPj4yXT1mWzQ4Mzk3XTtmW2IrMzY+PjJdPWZbNDgzODldO2ZbYis0MD4+Ml09Zls0ODM3NF07
ZltiKzQ0Pj4yXT1mWzQ4Mzg0XTtmW2IrNDg+PjJdPWZbNDgzOTNdO2ZbYis1Mj4+Ml09Zls0ODM5
Ml07ZltiKzU2Pj4yXT1mWzQ4MzkxXTtmW2IrNjA+PjJdPWZbNDgzOTZdO2ZbYis2ND4+Ml09Zls0
ODM5MF07ZltiKzY4Pj4yXT1mWzQ4Mzc1XTtmW2IrNzI+PjJdPWZbNDgzMzddO2ZbYis3Nj4+Ml09
Zls0ODMzOF07ZltiKzgwPj4yXT1mWzQ4MzM5XTtmW2IrODQ+PjJdPWZbNDgzNDldO2ZbYis4OD4+
Ml09Zls0ODM0Ml07ZltiKzkyPj4yXT1mWzQ4MzQzXTtmW2IrOTY+PjJdPWZbNDgzNDRdO2ZbYisx
MDA+PjJdPWZbNDgzNDZdO2ZbYisxMDQ+PjJdPWZbNDgzNDddO2ZbYisxMDg+PjJdPWZbNDgzNTBd
O2ZbYisxMTI+PjJdPWZbNDgzNTNdO2ZbYisxMTY+PjJdPWZbNDgzNTFdO2ZbYisxMjA+PjJdPWZb
NDgzNTJdO2ZbYisxMjQ+PjJdPWZbNDgzNTVdO2ZbYisxMjg+PjJdPWZbNDgzNTRdO2ZbYisxMzI+
PjJdPWZbNDgzNTZdO2ZbYisxMzY+PjJdPWZbNDgzNTddO2ZbYisxNDA+PjJdPWZbNDgzNDhdO2Zb
YisxNDQ+PjJdPWZbNDgzNjBdO2ZbYisxNTI+PjJdPWZbNDgzMjldO2ZbYisxNDg+PjJdPWZbNDgz
MzJdO2ZbNDgzODFdPTA7Yj13eChhLDIsOTk0NDQsMCl8MDtmWzQ4Mzg1XT1iO2I9d3goYSwyLDk5
NDUzLDApfDA7Zls0ODM4Nl09YjtiPXd4KGEsMiwxMDk4NjcsMCl8MDtmWzQ4MzY2XT1iO2lmKCFi
KXtiPXd4KGEsMiwxMDk4NjcsMTk0ODcwKXwwO2ZbNDgzNjZdPWJ9Zls0ODM2N109MDtmWzQ4Mzcz
XT0wO2I9d3goYSwyLDEwOTc2MywwKXwwO2ZbNDgzNzJdPWI7Yj13eChhLDIsMTA5NzU0LDApfDA7
Zls0ODM3MV09YjtiPXd4KGEsMiwxMTAwNDMsMCl8MDtmWzQ4Mzk3XT1iO2ZbNDgzODldPTA7Yj13
eChhLDIsMTE2NTUwLDApfDA7Zls0ODM3NF09YjtiPXd4KGEsMiw5NzUzMCwwKXwwO2ZbNDgzODRd
PWI7Zls0ODM5M109MDtiPXd4KGEsMiwxMDk5NDMsMCl8MDtmWzQ4MzkyXT1iO2I9d3goYSwyLDEw
OTkyOSwwKXwwO2ZbNDgzOTFdPWI7Yj13eChhLDIsMTEwMDM0LDApfDA7Zls0ODM5Nl09YjtmWzQ4
MzkwXT0wO2ZbNDgzNzVdPTA7Yj13eChhLDEsMTQ4MTgzLDApfDA7Zls0ODMzN109YjtiPXd4KGEs
MSwxNDgyNTEsMCl8MDtmWzQ4MzM4XT1iO2I9d3goYSwxLDExNjU1NiwwKXwwO2ZbNDgzMzldPWI7
Zls0ODM0OV09MDtiPXd4KGEsMSwxMDk3NTQsMCl8MDtmWzQ4MzQyXT1iO2I9d3goYSwxLDEwOTc2
MywwKXwwO2ZbNDgzNDNdPWI7Zls0ODM0NF09MDtiPXd4KGEsMSwxMTY1NTAsMCl8MDtmWzQ4MzQ2
XT1iO2ZbNDgzNDddPTA7Zls0ODM1MF09MDtiPXd4KGEsMSwxMDk3MzUsMCl8MDtmWzQ4MzUzXT1i
O2I9d3goYSwxLDE0ODIxMSwwKXwwO2ZbNDgzNTFdPWI7Yj13eChhLDEsMTA5Nzk4LDApfDA7Zls0
ODM1Ml09YjtiPXd4KGEsMSwxMDk4MTAsMCl8MDtmWzQ4MzU1XT1iO2I9d3goYSwxLDEwOTY3NCww
KXwwO2ZbNDgzNTRdPWI7Yj13eChhLDEsMTA5ODE1LDApfDA7Zls0ODM1Nl09YjtiPXd4KGEsMSw5
NzU0MiwwKXwwO2ZbNDgzNTddPWI7Zls0ODM0OF09MDtmWzQ4MzYwXT0wO2I9d3goYSwwLDEwOTcz
NSwwKXwwO2ZbNDgzMzJdPWI7cmV0dXJufWZ1bmN0aW9uIG1oKGEsYil7YT1hfDA7Yj1ifDA7dmFy
IGM9MCxkPTAuMCxlPTAuMCxnPTAuMCxoPTAuMDtjPWZbKGZbKGZbYT4+Ml18MCkrMTY+PjJdfDAp
Kzk2Pj4yXXwwO2E9ZlsoZlsoZltiPj4yXXwwKSsxNj4+Ml18MCkrOTY+PjJdfDA7Yj0oYXwwKSE9
MDtpZihjKWlmKGI/KGU9K3BbYysyND4+M10saD0rcFtjKzMyPj4zXSxkPStwW2ErMjQ+PjNdLGc9
K3BbYSszMj4+M10sIShlPmQpKTowKWlmKCEoZTxkKSlpZihoPmcpYT0tMTtlbHNlIGE9aDxnJjE7
ZWxzZSBhPTE7ZWxzZSBhPS0xO2Vsc2UgYT1iJjE7cmV0dXJuIGF8MH1mdW5jdGlvbiBuaChhKXth
PWF8MDt2YXIgYj0wLGM9MCxkPTA7d2hpbGUoMSl7Yj1mWyhmW2ErMTY+PjJdfDApKzExNj4+Ml18
MDtpZighYilicmVhaztlbHNlIGE9Yn1iPWZbYT4+Ml0mMztjPWZbKGZbKChifDApPT0yP2E6YSst
NDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwO2Q9ZltjKzIzMj4+Ml18MDthPWZbKGZbKChifDApPT0z
P2E6YSs0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDA7Yj1mW2ErMjMyPj4yXXwwO2lmKChkfDApPD0o
YnwwKSlpZigoZHwwKTwoYnwwKSlhPTE7ZWxzZSBhPShmW2MrMjM2Pj4yXXwwKTwoZlthKzIzNj4+
Ml18MCkmMTtlbHNlIGE9MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIG9oKGEsYil7YT1hfDA7Yj1ifDA7
dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTA7Yz10O3Q9dCsxNnwwO2Q9Yys4fDA7ZT1jO2g9KGZbYSsx
Nj4+Ml18MCkrMTgwfDA7Zz0oZltiKzE2Pj4yXXwwKSsxNzJ8MDtmW2U+PjJdPWZbaD4+Ml07Zltl
KzQ+PjJdPWZbaCs0Pj4yXTtmW2Q+PjJdPWZbZz4+Ml07ZltkKzQ+PjJdPWZbZys0Pj4yXTtiPXBo
KGEsZSxiLGQpfDA7dD1jO3JldHVybiBifDB9ZnVuY3Rpb24gcGgoYSxiLGMsZCl7YT1hfDA7Yj1i
fDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTA7ZT1mW2IrND4+Ml18MDthOmRvIGlmKChlfDApPjA/
KGc9ZltkKzQ+PjJdfDAsKGd8MCk+MCk6MClpZigoZXwwKTwoZ3wwKSl7ZT1mW2I+PjJdfDA7ZD0w
O3doaWxlKDEpe2I9ZltlKyhkPDwyKT4+Ml18MDtpZighYil7Yj0wO2JyZWFrIGF9aWYoKGZbKChm
W2I+PjJdJjN8MCk9PTI/YjpiKy00OHwwKSs0MD4+Ml18MCk9PShjfDApKWJyZWFrO2Vsc2UgZD1k
KzF8MH19ZWxzZXtlPWZbZD4+Ml18MDtkPTA7d2hpbGUoMSl7Yj1mW2UrKGQ8PDIpPj4yXXwwO2lm
KCFiKXtiPTA7YnJlYWsgYX1pZigoZlsoKGZbYj4+Ml0mM3wwKT09Mz9iOmIrNDh8MCkrNDA+PjJd
fDApPT0oYXwwKSlicmVhaztlbHNlIGQ9ZCsxfDB9fWVsc2UgYj0wO3doaWxlKDApO3JldHVybiBi
fDB9ZnVuY3Rpb24gcWgoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MDtj
PXQ7dD10KzE2fDA7ZD1jKzh8MDtlPWM7aD0oZlthKzE2Pj4yXXwwKSsxODh8MDtnPShmW2IrMTY+
PjJdfDApKzE5NnwwO2ZbZT4+Ml09ZltoPj4yXTtmW2UrND4+Ml09ZltoKzQ+PjJdO2ZbZD4+Ml09
ZltnPj4yXTtmW2QrND4+Ml09ZltnKzQ+PjJdO2I9cGgoYSxlLGIsZCl8MDt0PWM7cmV0dXJuIGJ8
MH1mdW5jdGlvbiByaChhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTAsZT0wO2Q9YSs0OHwwO2M9Zlso
ZlsoKGZbYT4+Ml0mM3wwKT09Mz9hOmQpKzQwPj4yXXwwKSsxNj4+Ml18MDtiPWZbYysxODA+PjJd
fDA7aWYoIWIpYj1FSCgoZltjKzE4ND4+Ml08PDIpKzh8MCl8MDtlbHNlIGI9R0goYiwoZltjKzE4
ND4+Ml08PDIpKzh8MCl8MDtmWyhmWyhmWygoZlthPj4yXSYzfDApPT0zP2E6ZCkrNDA+PjJdfDAp
KzE2Pj4yXXwwKSsxODA+PjJdPWI7ZT1mWyhmWygoZlthPj4yXSYzfDApPT0zP2E6ZCkrNDA+PjJd
fDApKzE2Pj4yXXwwO2M9ZltlKzE4MD4+Ml18MDtlPWUrMTg0fDA7Yj1mW2U+PjJdfDA7ZltlPj4y
XT1iKzE7ZltjKyhiPDwyKT4+Ml09YTtkPWZbKGZbKChmW2E+PjJdJjN8MCk9PTM/YTpkKSs0MD4+
Ml18MCkrMTY+PjJdfDA7ZlsoZltkKzE4MD4+Ml18MCkrKGZbZCsxODQ+PjJdPDwyKT4+Ml09MDtk
PWErLTQ4fDA7Yj1mWyhmWygoZlthPj4yXSYzfDApPT0yP2E6ZCkrNDA+PjJdfDApKzE2Pj4yXXww
O2M9ZltiKzE3Mj4+Ml18MDtpZighYyliPUVIKChmW2IrMTc2Pj4yXTw8MikrOHwwKXwwO2Vsc2Ug
Yj1HSChjLChmW2IrMTc2Pj4yXTw8MikrOHwwKXwwO2ZbKGZbKGZbKChmW2E+PjJdJjN8MCk9PTI/
YTpkKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE3Mj4+Ml09YjtiPWZbKGZbKChmW2E+PjJdJjN8MCk9
PTI/YTpkKSs0MD4+Ml18MCkrMTY+PjJdfDA7Yz1mW2IrMTcyPj4yXXwwO2I9YisxNzZ8MDtlPWZb
Yj4+Ml18MDtmW2I+PjJdPWUrMTtmW2MrKGU8PDIpPj4yXT1hO2U9ZlsoZlsoKGZbYT4+Ml0mM3ww
KT09Mj9hOmQpKzQwPj4yXXwwKSsxNj4+Ml18MDtmWyhmW2UrMTcyPj4yXXwwKSsoZltlKzE3Nj4+
Ml08PDIpPj4yXT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gc2goYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTA7ZD1hKzR8MDtlPWZbZD4+Ml18MDtjPTA7d2hpbGUoMSl7
aWYoKGN8MCk+PShlfDApKWJyZWFrO2c9ZlthPj4yXXwwO2g9ZysoYzw8Mil8MDtpZigoZltoPj4y
XXwwKT09KGJ8MCkpe2k9NDticmVha31lbHNlIGM9YysxfDB9aWYoKGl8MCk9PTQpe2k9ZSstMXww
O2ZbZD4+Ml09aTtmW2g+PjJdPWZbZysoaTw8Mik+PjJdO2ZbKGZbYT4+Ml18MCkrKGk8PDIpPj4y
XT0wfXJldHVybn1mdW5jdGlvbiB0aChhKXthPWF8MDtpZighYSl4YSg5NzU4Myw5NzU5MywxMTcs
OTc2MDIpO2Vsc2V7c2goKGZbKGZbKChmW2E+PjJdJjN8MCk9PTM/YTphKzQ4fDApKzQwPj4yXXww
KSsxNj4+Ml18MCkrMTgwfDAsYSk7c2goKGZbKGZbKChmW2E+PjJdJjN8MCk9PTI/YTphKy00OHww
KSs0MD4+Ml18MCkrMTY+PjJdfDApKzE3MnwwLGEpO3JldHVybn19ZnVuY3Rpb24gdWgoYSl7YT1h
fDA7dmFyIGI9MCxjPTAsZD0wLGU9MDtkPWErNDh8MDtjPWZbKGZbKChmW2E+PjJdJjN8MCk9PTM/
YTpkKSs0MD4+Ml18MCkrMTY+PjJdfDA7Yj1mW2MrMjA0Pj4yXXwwO2lmKCFiKWI9RUgoKGZbYysy
MDg+PjJdPDwyKSs4fDApfDA7ZWxzZSBiPUdIKGIsKGZbYysyMDg+PjJdPDwyKSs4fDApfDA7Zlso
ZlsoZlsoKGZbYT4+Ml0mM3wwKT09Mz9hOmQpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjA0Pj4yXT1i
O2U9ZlsoZlsoKGZbYT4+Ml0mM3wwKT09Mz9hOmQpKzQwPj4yXXwwKSsxNj4+Ml18MDtiPWZbZSsy
MDQ+PjJdfDA7ZT1lKzIwOHwwO2M9ZltlPj4yXXwwO2ZbZT4+Ml09YysxO2ZbYisoYzw8Mik+PjJd
PWE7ZD1mWyhmWygoZlthPj4yXSYzfDApPT0zP2E6ZCkrNDA+PjJdfDApKzE2Pj4yXXwwO2ZbKGZb
ZCsyMDQ+PjJdfDApKyhmW2QrMjA4Pj4yXTw8Mik+PjJdPTA7cmV0dXJufWZ1bmN0aW9uIHZoKGEp
e2E9YXwwO3doKGEsKGZbKGZbKChmW2E+PjJdJjN8MCk9PTM/YTphKzQ4fDApKzQwPj4yXXwwKSsx
Nj4+Ml18MCkrMjA0fDApO3JldHVybn1mdW5jdGlvbiB3aChhLGIpe2E9YXwwO2I9YnwwO3ZhciBj
PTAsZD0wLGU9MCxnPTAsaD0wO2g9Yis0fDA7ZD1mW2g+PjJdfDA7ZT1mW2I+PjJdfDA7Yz0wO3do
aWxlKDEpe2lmKChjfDApPj0oZHwwKSl7Zz00O2JyZWFrfWlmKChmW2UrKGM8PDIpPj4yXXwwKT09
KGF8MCkpYnJlYWs7ZWxzZSBjPWMrMXwwfWlmKChnfDApPT00KXtpZighZSljPUVIKChkPDwyKSs4
fDApfDA7ZWxzZSBjPUdIKGUsKGQ8PDIpKzh8MCl8MDtmW2I+PjJdPWM7ZT1mW2g+PjJdfDA7Zz1l
KzF8MDtmW2g+PjJdPWc7ZltjKyhlPDwyKT4+Ml09YTtmWyhmW2I+PjJdfDApKyhnPDwyKT4+Ml09
MH1yZXR1cm59ZnVuY3Rpb24geGgoYSxjLGUpe2E9YXwwO2M9Y3wwO2U9ZXwwO3ZhciBnPTAsaD0w
LGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO249REgoOTYpfDA7Zz1uKzQ4fDA7ZltnPj4yXT1mW2c+
PjJdfDM7ZltuPj4yXT1mW24+PjJdJi00fDI7aD1ESCgxNzYpfDA7bT1uKzE2fDA7ZlttPj4yXT1o
O2ZbKChmW24+PjJdJjN8MCk9PTM/bjpnKSs0MD4+Ml09YTtqPW4rLTQ4fDA7ZlsoKGZbbj4+Ml0m
M3wwKT09Mj9uOmopKzQwPj4yXT1jO2JbaCsxMTI+PjBdPTE7aWYoIWUpe2ZbaCsxNTY+PjJdPTE7
ZFtoKzE1ND4+MV09MTtkW2grMTY4Pj4xXT0xO2RbaCsxNzA+PjFdPTF9ZWxzZXtmW24+PjJdPWZb
bj4+Ml0mMTV8ZltlPj4yXSYtMTY7ZltnPj4yXT1mW2c+PjJdJjE1fGZbZT4+Ml0mLTE2O2w9ZSsx
NnwwO2k9ZltsPj4yXXwwO2RbaCsxNjg+PjFdPWRbaSsxNjg+PjFdfDA7ZFtoKzE1ND4+MV09ZFtp
KzE1ND4+MV18MDtmW2grMTU2Pj4yXT1mW2krMTU2Pj4yXTtkW2grMTcwPj4xXT1kW2krMTcwPj4x
XXwwO2E9ZlsoKGZbbj4+Ml0mM3wwKT09Mz9uOmcpKzQwPj4yXXwwO2M9ZltlPj4yXSYzO2s9ZSs0
OHwwO2lmKChhfDApIT0oZlsoKGN8MCk9PTM/ZTprKSs0MD4+Ml18MCkpe2c9ZSstNDh8MDtpZigo
YXwwKT09KGZbKChjfDApPT0yP2U6ZykrNDA+PjJdfDApKXtoPWgrMTZ8MDthPWkrNTZ8MDtjPWgr
NDB8MDtkb3tmW2g+PjJdPWZbYT4+Ml07aD1oKzR8MDthPWErNHwwfXdoaWxlKChofDApPChjfDAp
KX19ZWxzZXtoPWgrMTZ8MDthPWkrMTZ8MDtjPWgrNDB8MDtkb3tmW2g+PjJdPWZbYT4+Ml07aD1o
KzR8MDthPWErNHwwfXdoaWxlKChofDApPChjfDApKTtnPWUrLTQ4fDB9YT1mWygoZltuPj4yXSYz
fDApPT0yP246aikrNDA+PjJdfDA7Yz1mW2U+PjJdJjM7aWYoKGF8MCkhPShmWygoY3wwKT09Mj9l
OmcpKzQwPj4yXXwwKSl7aWYoKGF8MCk9PShmWygoY3wwKT09Mz9lOmspKzQwPj4yXXwwKSl7aD0o
ZlttPj4yXXwwKSs1NnwwO2E9KGZbbD4+Ml18MCkrMTZ8MDtjPWgrNDB8MDtkb3tmW2g+PjJdPWZb
YT4+Ml07aD1oKzR8MDthPWErNHwwfXdoaWxlKChofDApPChjfDApKX19ZWxzZXtoPShmW20+PjJd
fDApKzU2fDA7YT0oZltsPj4yXXwwKSs1NnwwO2M9aCs0MHwwO2Rve2ZbaD4+Ml09ZlthPj4yXTto
PWgrNHwwO2E9YSs0fDB9d2hpbGUoKGh8MCk8KGN8MCkpfWE9KGZbbD4+Ml18MCkrMTcyfDA7aWYo
IShmW2E+PjJdfDApKWZbYT4+Ml09bjtmWyhmW20+PjJdfDApKzExNj4+Ml09ZX1yZXR1cm4gbnww
fWZ1bmN0aW9uIHloKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtyZXR1cm4gcmgoeGgoYSxiLGMp
fDApfDB9ZnVuY3Rpb24gemgoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTA7Yz0oZlth
KzE2Pj4yXXwwKSsxOTJ8MDtlPWZbYz4+Ml18MDtkPWZbYisxNj4+Ml18MDtmW2QrMTY0Pj4yXT1l
O2E9ZTtpZihlfDApZlsoZlthKzE2Pj4yXXwwKSsxNjg+PjJdPWI7ZltjPj4yXT1iO2ZbZCsxNjg+
PjJdPTA7aWYoKGF8MCk9PShifDApKXhhKDk3NjE5LDk3NTkzLDIxNSw5NzYzNSk7ZWxzZSByZXR1
cm59ZnVuY3Rpb24gQWgoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTA7aWYoKGF8MCk9
PShifDApKXhhKDk3NjQ1LDk3NTkzLDIyMCw5NzY1Mik7ZT1mW2IrMTY+PjJdfDA7Yz1lKzE2NHww
O2lmKGZbYz4+Ml18MCl4YSg5NzY2NSw5NzU5MywyMjEsOTc2NTIpO2Q9KGZbYSsxNj4+Ml18MCkr
MTY0fDA7ZltjPj4yXT1mW2Q+PjJdO2M9ZltkPj4yXXwwO2lmKGN8MClmWyhmW2MrMTY+PjJdfDAp
KzE2OD4+Ml09YjtmW2UrMTY4Pj4yXT1hO2ZbZD4+Ml09YjtyZXR1cm59ZnVuY3Rpb24gQmgoYSxi
KXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MDtpZighKENoKGEsYil8MCkpeGEoOTc2ODQsOTc1OTMs
MjMxLDk3NzA1KTtiPWZbYisxNj4+Ml18MDtjPWZbYisxNjQ+PjJdfDA7ZD1jO2I9YisxNjh8MDtp
ZihjfDApZlsoZltjKzE2Pj4yXXwwKSsxNjg+PjJdPWZbYj4+Ml07Yj1mW2I+PjJdfDA7aWYoIWIp
ZlsoZlthKzE2Pj4yXXwwKSsxOTI+PjJdPWQ7ZWxzZSBmWyhmW2IrMTY+PjJdfDApKzE2ND4+Ml09
ZDtyZXR1cm59ZnVuY3Rpb24gQ2goYSxiKXthPWF8MDtiPWJ8MDthPShmW2ErMTY+PjJdfDApKzE5
MnwwO3doaWxlKDEpe2E9ZlthPj4yXXwwO2lmKChhfDApPT0wfChhfDApPT0oYnwwKSlicmVhazth
PShmW2ErMTY+PjJdfDApKzE2NHwwfXJldHVybiBhfDB9ZnVuY3Rpb24gRGgoYSl7YT1hfDA7dmFy
IGM9MCxkPTAsZT0wLGc9MDtjPURIKDY0KXwwO2ZbYz4+Ml09ZltjPj4yXSYtNHwxO2c9REgoMzA0
KXwwO2Q9YysxNnwwO2ZbZD4+Ml09ZztnPW96KGEpfDA7ZltjKzI0Pj4yXT1nO2c9ZltkPj4yXXww
O2JbZysxNTY+PjBdPTE7cFtnKzk2Pj4zXT0xLjA7cFtnKzg4Pj4zXT0xLjA7cFtnKzgwPj4zXT0x
LjA7ZltnKzIxNj4+Ml09MTtmW2crMTc2Pj4yXT0wO2c9REgoMjApfDA7ZT1mW2Q+PjJdfDA7Zltl
KzE3Mj4+Ml09ZztmW2UrMTg0Pj4yXT0wO2U9REgoMjApfDA7ZlsoZltkPj4yXXwwKSsxODA+PjJd
PWU7emgoYSxjKTthPShmW2ErMTY+PjJdfDApKzIzMnwwO2ZbYT4+Ml09KGZbYT4+Ml18MCkrMTty
ZXR1cm4gY3wwfWZ1bmN0aW9uIEVoKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9
MDtnPWMrNDh8MDtkPWZbKGZbKChmW2M+PjJdJjN8MCk9PTM/YzpnKSs0MD4+Ml18MCkrMTY+PjJd
fDA7ZT1mW2QrMTg4Pj4yXXwwO2lmKCFlKWQ9RUgoKGZbZCsxOTI+PjJdPDwyKSs4fDApfDA7ZWxz
ZSBkPUdIKGUsKGZbZCsxOTI+PjJdPDwyKSs4fDApfDA7ZlsoZlsoZlsoKGZbYz4+Ml0mM3wwKT09
Mz9jOmcpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTg4Pj4yXT1kO2g9ZlsoZlsoKGZbYz4+Ml0mM3ww
KT09Mz9jOmcpKzQwPj4yXXwwKSsxNj4+Ml18MDtlPWZbaCsxODg+PjJdfDA7aD1oKzE5MnwwO2Q9
ZltoPj4yXXwwO2ZbaD4+Ml09ZCsxO2ZbZSsoZDw8Mik+PjJdPWM7Zz1mWyhmWygoZltjPj4yXSYz
fDApPT0zP2M6ZykrNDA+PjJdfDApKzE2Pj4yXXwwO2ZbKGZbZysxODg+PjJdfDApKyhmW2crMTky
Pj4yXTw8Mik+PjJdPTA7Zz1jKy00OHwwO2Q9ZlsoZlsoKGZbYz4+Ml0mM3wwKT09Mj9jOmcpKzQw
Pj4yXXwwKSsxNj4+Ml18MDtlPWZbZCsxOTY+PjJdfDA7aWYoIWUpZD1FSCgoZltkKzIwMD4+Ml08
PDIpKzh8MCl8MDtlbHNlIGQ9R0goZSwoZltkKzIwMD4+Ml08PDIpKzh8MCl8MDtmWyhmWyhmWygo
ZltjPj4yXSYzfDApPT0yP2M6ZykrNDA+PjJdfDApKzE2Pj4yXXwwKSsxOTY+PjJdPWQ7ZD1mWyhm
WygoZltjPj4yXSYzfDApPT0yP2M6ZykrNDA+PjJdfDApKzE2Pj4yXXwwO2U9ZltkKzE5Nj4+Ml18
MDtkPWQrMjAwfDA7aD1mW2Q+PjJdfDA7ZltkPj4yXT1oKzE7ZltlKyhoPDwyKT4+Ml09YztoPWZb
KGZbKChmW2M+PjJdJjN8MCk9PTI/YzpnKSs0MD4+Ml18MCkrMTY+PjJdfDA7ZlsoZltoKzE5Nj4+
Ml18MCkrKGZbaCsyMDA+PjJdPDwyKT4+Ml09MDtiWyhmW2ErMTY+PjJdfDApKzI0MD4+MF09MTto
PShyZyhhKXwwKSsxNnwwO2JbKGZbaD4+Ml18MCkrMjQwPj4wXT0xO3JldHVybn1mdW5jdGlvbiBG
aChhKXthPWF8MDt2YXIgYj0wLGM9MDtpZighYSl4YSg5NzU4Myw5NzU5MywyNjksOTc3MjIpO2I9
ZlsoZlthKzE2Pj4yXXwwKSsxMTY+PjJdfDA7aWYoYnwwPyhjPShmW2IrMTY+PjJdfDApKzE3Mnww
LChmW2M+PjJdfDApPT0oYXwwKSk6MClmW2M+PjJdPTA7c2goKGZbKGZbKChmW2E+PjJdJjN8MCk9
PTM/YTphKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTg4fDAsYSk7c2goKGZbKGZbKChmW2E+
PjJdJjN8MCk9PTI/YTphKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE5NnwwLGEpO3JldHVy
bn1mdW5jdGlvbiBHaChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MDtlPXQ7dD10KzE2
fDA7Yz0oZlthKzE2Pj4yXXwwKSsxNzJ8MDtkPWZbYz4+Ml18MDtkbyBpZigoZHwwKSE9KGJ8MCkp
aWYoIWQpe2ZbYz4+Ml09YjtIaChhLGIpO2JyZWFrfWVsc2UgeGEoOTk2MjUsOTc1OTMsMzQwLDk3
NzYwKTtlbHNlIFl3KDAsOTc3MzksZSl8MDt3aGlsZSgwKTt0PWU7cmV0dXJufWZ1bmN0aW9uIEho
KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxlPTAsZz0wLGg9MDtjPShmW2IrMTY+PjJdfDApKzE3
MHwwO2g9ZlthKzE2Pj4yXXwwO2E9ZFtoKzE3MD4+MV18MDtpZigoaltjPj4xXXwwKTwoYSY2NTUz
NSkpZFtjPj4xXT1hO2U9aCsxNjh8MDtnPWgrMTU0fDA7Yz1oKzE1NnwwO2E9Yjt3aGlsZSgxKXtp
ZighYSlicmVhaztiPWZbYSsxNj4+Ml18MDtoPWIrMTY4fDA7ZFtoPj4xXT0oaltoPj4xXXwwKSso
altlPj4xXXwwKTtoPWIrMTU0fDA7ZFtoPj4xXT0oaltoPj4xXXwwKSsoaltnPj4xXXwwKTtoPWIr
MTU2fDA7ZltoPj4yXT0oZltoPj4yXXwwKSsoZltjPj4yXXwwKTthPWZbYisxNzI+PjJdfDB9cmV0
dXJufWZ1bmN0aW9uIEloKGEpe2E9YXwwO3ZhciBjPTAsZT0wLGc9MCxoPTA7ZT1hKzE2fDA7Yz1m
WyhmW2U+PjJdfDApKzE3Mj4+Ml18MDt3aGlsZSgxKXtpZighYylicmVhaztKaChjLGEpO2g9Zltj
KzE2Pj4yXXwwO2c9ZltoKzE3Mj4+Ml18MDtpZighKGRbaCsxNjg+PjFdfDApKUtoKGMpO3doaWxl
KDEpe2lmKChiWyhmW2MrMTY+PjJdfDApKzExMj4+MF18MCkhPTEpYnJlYWs7Yz1mWyhmWygoZltj
Pj4yXSYzfDApPT0yP2M6YystNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwO2lmKChiW2MrMTU2Pj4w
XXwwKSE9MSlicmVhaztpZigoZltjKzE4ND4+Ml18MCkhPTEpYnJlYWs7Yz1mW2ZbYysxODA+PjJd
Pj4yXXwwO0poKGMsYSl9Yz1nfWZbKGZbZT4+Ml18MCkrMTcyPj4yXT0wO3JldHVybn1mdW5jdGlv
biBKaChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTA7Yz1mW2IrMTY+PjJdfDA7Yj1mW2ErMTY+PjJd
fDA7YT1iKzE2OHwwO2RbYT4+MV09KGpbYT4+MV18MCktKGpbYysxNjg+PjFdfDApO2E9YisxNTR8
MDtkW2E+PjFdPShqW2E+PjFdfDApLShqW2MrMTU0Pj4xXXwwKTtiPWIrMTU2fDA7ZltiPj4yXT0o
ZltiPj4yXXwwKS0oZltjKzE1Nj4+Ml18MCk7cmV0dXJufWZ1bmN0aW9uIEtoKGEpe2E9YXwwO3Zh
ciBiPTAsYz0wLGQ9MCxlPTAsZz0wO2lmKCFhKXhhKDk3NTgzLDk3NTkzLDEyOCw5Nzc3Myk7Zz1h
KzQ4fDA7Yz0wO3doaWxlKDEpe2I9ZlthPj4yXXwwO2Q9KGZbKGZbKChiJjN8MCk9PTM/YTpnKSs0
MD4+Ml18MCkrMTY+PjJdfDApKzE4MHwwO2U9ZlsoZltkPj4yXXwwKSsoYzw8Mik+PjJdfDA7aWYo
IWUpYnJlYWs7aWYoKGV8MCk9PShhfDApKXNoKGQsYSk7Yz1jKzF8MH1nPWErLTQ4fDA7ZT0wO3do
aWxlKDEpe2M9KGZbKGZbKChiJjN8MCk9PTI/YTpnKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE3Mnww
O2Q9ZlsoZltjPj4yXXwwKSsoZTw8Mik+PjJdfDA7aWYoIWQpYnJlYWs7aWYoKGR8MCk9PShhfDAp
KXtzaChjLGEpO2I9ZlthPj4yXXwwfWU9ZSsxfDB9cmV0dXJufWZ1bmN0aW9uIExoKGEpe2E9YXww
O3ZhciBjPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAs
cj0wLHM9MDtvPXQ7dD10KzEwNDB8MDttPW8rMTAyOHwwO249bysxMDI0fDA7bD1vO2s9YSsxNnww
O2E9ZltrPj4yXXwwO2o9ZFthKzIzNj4+MV18MDt3aGlsZSgxKXtpZigoanwwKT4oZFthKzIzOD4+
MV18MCkpYnJlYWs7aT1mW2ErMTk2Pj4yXXwwO2g9aSsoajw8Nil8MDtpPWkrKGo8PDYpKzR8MDtn
PTA7YT0wO3doaWxlKDEpe2lmKChnfDApPj0oZltoPj4yXXwwKSlicmVhaztjPWZbKGZbaT4+Ml18
MCkrKGc8PDIpPj4yXXwwO2U9YysxNnwwO2lmKGZbKGZbZT4+Ml18MCkrMTEyPj4yXXwwKXtpZigh
YSl7YlttPj4wXT1iWzcyMjY4XXwwO2JbbSsxPj4wXT1iWzcyMjY5XXwwO2JbbSsyPj4wXT1iWzcy
MjcwXXwwO2JbbSszPj4wXT1iWzcyMjcxXXwwO2E9ZXkoOTc3OTUsbSwwKXwwfWZbbj4+Ml09Zztk
JChsLDE0NTY2NSxuKXwwO3M9anooYSxsLDEpfDA7SnoocywxMDMyMDcsMjQsMSl8MDtwPWZbKGZb
ZT4+Ml18MCkrMTgwPj4yXXwwO3E9ZltwPj4yXXwwO3E9ZlsoZlsoZlsoKGZbcT4+Ml0mM3wwKT09
Mj9xOnErLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjM2Pj4yXXwwO3A9ZltwKzQ+PjJdfDA7
cD1mWyhmWyhmWygoZltwPj4yXSYzfDApPT0yP3A6cCstNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXww
KSsyMzY+PjJdfDA7cj0ocXwwKT4ocHwwKTtlPWZbcysxNj4+Ml18MDtmW2UrMTI+PjJdPXI/cDpx
O2ZbZSsxNj4+Ml09cj9xOnA7ZltlKzIwPj4yXT1jfWc9ZysxfDB9aWYoYXwwKXtpZigoankoYSl8
MCk+MSlNaChhLGgpO2l5KGEpfDB9aj1qKzF8MDthPWZbaz4+Ml18MH10PW87cmV0dXJufWZ1bmN0
aW9uIE1oKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxr
PTA7Yz0wO2g9JHkoYSl8MDt3aGlsZSgxKXtpZighaClicmVhaztpPWF6KGEsaCl8MDtqPWgrMTZ8
MDtnPWk7d2hpbGUoMSl7aWYoIWcpYnJlYWs7ZT1mW2crMTY+PjJdfDA7ZD1mW2o+PjJdfDA7aWYo
KGZbZSsxNj4+Ml18MCk+KGZbZCsxMj4+Ml18MCkpe2lmKChmW2QrMTY+PjJdfDApPD0oZltlKzEy
Pj4yXXwwKSlfeChhLGgsZywwLDEpfDB9ZWxzZXtfeChhLGcsaCwwLDEpfDA7Yz0xfWc9YXooYSxn
KXwwfWg9aX1kbyBpZihjfDApe2g9RUEoYSw5Nzc5OCwxKXwwO2o9REgoKGp5KGEpfDApPDwyKXww
O2k9REgoKGp5KGEpfDApPDwyKXwwO2U9Yis0fDA7ZD0keShhKXwwO2E6d2hpbGUoMSl7aWYoIWQp
e2M9MjQ7YnJlYWt9aWYoKGZbKGZbZCsxNj4+Ml18MCkrOD4+Ml18MCk9PTA/bHkoYSxkLDEsMSl8
MDowKXtiOmRvIGlmKE5oKGEsZCxoLGkpfDApe2c9ankoaCl8MDtpZigoT2goYSxoLGopfDApIT0o
Z3wwKSl7Yz0xODticmVhayBhfVckKGksZyw0LDYwKTtjPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShn
fDApKWJyZWFrIGI7Yj1pKyhjPDwyKXwwO2s9ZltqKyhjPDwyKT4+Ml18MDtmWyhmW2srMTY+PjJd
fDApKzIzNj4+Ml09ZltiPj4yXTtmWyhmW2U+PjJdfDApKyhmW2I+PjJdPDwyKT4+Ml09aztjPWMr
MXwwfX13aGlsZSgwKTtRaChoKX1kPWF6KGEsZCl8MH1pZigoY3wwKT09MTgpeGEoOTc4MDMsOTc4
MTMsMjY1LDk3ODI0KTtlbHNlIGlmKChjfDApPT0yNCl7TV8oaik7YnJlYWt9fXdoaWxlKDApO3Jl
dHVybn1mdW5jdGlvbiBOaChhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0w
LGc9MCxoPTAsaT0wLGo9MDtlPWZbYisxNj4+Ml18MDtmW2UrOD4+Ml09MTtlPWZbKGZbKGZbZSsy
MD4+Ml18MCkrMTY+PjJdfDApKzIzNj4+Ml18MDtoPWQrKChqeShjKXwwKTw8Mil8MDtmW2g+PjJd
PWU7ZXooYyxiLDEpfDA7aD1OeChhLGIpfDA7ZT0wO3doaWxlKDEpe2lmKCFoKWJyZWFrO2o9Zlto
Pj4yXSYzO2c9ZlsoKGp8MCk9PTI/aDpoKy00OHwwKSs0MD4+Ml18MDtpPWZbZysxNj4+Ml18MDtl
PWUrKChmWyhmWyhmW2krMjA+PjJdfDApKzE2Pj4yXXwwKSsyMzY+PjJdfDApPihmWyhmWyhmWyhm
WyhmWygoanwwKT09Mz9oOmgrNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMD4+Ml18MCkrMTY+
PjJdfDApKzIzNj4+Ml18MCkmMSl8MDtpZighKGZbaSs4Pj4yXXwwKSllPShOaChhLGcsYyxkKXww
KStlfDA7aD1QeChhLGgpfDB9aD1ReChhLGIpfDA7d2hpbGUoMSl7aWYoIWgpYnJlYWs7aT1mW2g+
PjJdJjM7Zz1mWygoaXwwKT09Mz9oOmgrNDh8MCkrNDA+PjJdfDA7aj1mW2crMTY+PjJdfDA7ZT1l
KygoZlsoZlsoZlsoZlsoZlsoKGl8MCk9PTI/aDpoKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDAp
KzIwPj4yXXwwKSsxNj4+Ml18MCkrMjM2Pj4yXXwwKT4oZlsoZlsoZltqKzIwPj4yXXwwKSsxNj4+
Ml18MCkrMjM2Pj4yXXwwKSYxKXwwO2lmKCEoZltqKzg+PjJdfDApKWU9KE5oKGEsZyxjLGQpfDAp
K2V8MDtoPVJ4KGEsaCl8MH1yZXR1cm4gZXwwfWZ1bmN0aW9uIE9oKGEsYixjKXthPWF8MDtiPWJ8
MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTA7ZT0wO3doaWxlKDEpe2Q9UmgoYSxiKXwwO2lmKCFkKWJy
ZWFrO2ZbYysoZTw8Mik+PjJdPWZbKGZbZCsxNj4+Ml18MCkrMjA+PjJdO2x6KGIsZCl8MDtkPU54
KGEsZCl8MDt3aGlsZSgxKXtpZighZClicmVhaztnPVB4KGEsZCl8MDtieShhLGQpfDA7ZD1nfWU9
ZSsxfDB9cmV0dXJuIGV8MH1mdW5jdGlvbiBQaChhLGIpe2E9YXwwO2I9YnwwO3JldHVybiAoZlth
Pj4yXXwwKS0oZltiPj4yXXwwKXwwfWZ1bmN0aW9uIFFoKGEpe2E9YXwwO3ZhciBiPTAsYz0wO2I9
JHkoYSl8MDt3aGlsZSgxKXtpZighYilicmVhaztjPWF6KGEsYil8MDtseihhLGIpfDA7Yj1jfXJl
dHVybn1mdW5jdGlvbiBSaChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTA7Yz0keShiKXwwO3doaWxl
KDEpe2lmKCFjKXtjPTA7YnJlYWt9aWYoIShseShhLGMsMSwwKXwwKSlicmVhaztjPWF6KGIsYyl8
MH1yZXR1cm4gY3wwfWZ1bmN0aW9uIFNoKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0w
LGg9MCxpPTA7VGgoYSk7aT1hKzE2fDA7ZT0wO2Q9MDt3aGlsZSgxKXtpZigoZXwwKT49KGZbKGZb
aT4+Ml18MCkrMjIwPj4yXXwwKSlicmVhaztVaChhLGUpO2U9ZSsxfDA7ZD0oVmgoYSwwLGMpfDAp
K2R8MH1XaChhKTtoPTE7d2hpbGUoMSl7ZT1mW2k+PjJdfDA7Zz1mW2UrMTgwPj4yXXwwO2lmKCho
fDApPihnfDApKWJyZWFrO2c9KFhoKGZbKGZbZSsxODQ+PjJdfDApKyhoPDwyKT4+Ml18MCxjKXww
KStkfDA7aD1oKzF8MDtkPWd9ZG8gaWYoKGd8MCk+MCl7ZT1HeChhLDk3ODM4KXwwO2lmKGV8MD8o
WkwoZSl8MCk8PDI0Pj4yND09MDowKWJyZWFrO3VsKGEpO2JbMTk0ODYxXT0xO2Q9VmgoYSwyLGMp
fDB9d2hpbGUoMCk7WWgoYSxkKTtyZXR1cm59ZnVuY3Rpb24gVGgoYSl7YT1hfDA7dmFyIGM9MCxl
PTA7aWYoMClOTCgpO2JbMTk0ODYxXT0wO2ZbNDgxNTNdPWE7Yz0oKGt5KHJnKGEpfDApfDApPDwy
KSs0fDA7ZT1ESChjKXwwO2ZbNDgxNTJdPWU7Yz1ESChjKXwwO2ZbNDgxNTFdPWM7T2koYSk7Yz1h
KzE2fDA7aWYoZFsoZltjPj4yXXwwKSsxMzY+PjFdJjE2KVBpKGEpO2JsKGEpO1JsKGEsMSk7UWko
YSk7ZGkoYSk7ZT1mW2M+PjJdfDA7Zls0ODE1NF09ZFtlKzIzNj4+MV07Zls0ODE1NV09ZFtlKzIz
OD4+MV07cmV0dXJufWZ1bmN0aW9uIFVoKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxlPTAsZz0w
O2E9ZlthKzE2Pj4yXXwwO2ZbYSsxOTI+PjJdPWZbKGZbYSsyMTY+PjJdfDApKyhiPDwyKT4+Ml07
YTpkbyBpZigoYnwwKT4wKXtiPWRbYSsyMzg+PjFdfDA7Yz1hKzE5NnwwO2E9ZFthKzIzNj4+MV18
MDt3aGlsZSgxKXtpZigoYXwwKT4oYnwwKSlicmVhayBhO2U9ZltjPj4yXXwwO2c9ZSsoYTw8Nikr
NHwwO2U9ZSsoYTw8Nil8MDtmW2c+PjJdPShmW2c+PjJdfDApKyhmW2U+PjJdPDwyKTtmW2U+PjJd
PTA7YT1hKzF8MH19d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIFZoKGEsYixjKXthPWF8MDtiPWJ8
MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7bT10O3Q9dCsz
MnwwO2w9bTtpZigoYnwwKT4xKXtkPXRpKDApfDA7dWkoYSl9ZWxzZSBkPTIxNDc0ODM2NDc7az1m
WzE5NDU3XXwwO2o9YjtlPTA7Yj1kO3doaWxlKDEpe2lmKChqfDApPj0zKWJyZWFrO2U9Zls0ODMy
N118MDtpZigoanwwKT09MilpZigoZHwwKT4oYnwwKSl7d2koYSk7ZD1ifWVsc2UgZD1iO2Vsc2V7
ZD0oZXwwKTw0P2U6NDtpZigocmcoYSl8MCk9PShhfDApKXZpKGEsaik7aWYoIWopZWkoYSk7Zmko
YSk7Zz10aSgwKXwwO2lmKChnfDApPihifDApKXtlPWQ7ZD1nfWVsc2V7dWkoYSk7ZT1kO2Q9Zzti
PWd9fWc9MDtpPTA7d2hpbGUoMSl7aWYoKGl8MCk+PShlfDApKWJyZWFrO2lmKDApe2ZbbD4+Ml09
ajtmW2wrND4+Ml09aTtmW2wrOD4+Ml09ZztmW2wrMTI+PjJdPWQ7ZltsKzE2Pj4yXT1iO2cyKGss
OTgyMzEsbCl8MH1oPWcrMXwwO2lmKChkfDApPT0wfChnfDApPj0oZls0ODE1Nl18MCkpYnJlYWs7
eGkoYSxpKTtkPXRpKDApfDA7aWYoKGR8MCk+KGJ8MCkpZz1oO2Vsc2V7dWkoYSk7Zz0rcFsyMzk2
NV0qKyhifDApPisoZHwwKT8wOmg7Yj1kfWk9aSsxfDB9aWYoIWQpe2Q9MDticmVha31lbHNlIGo9
aisxfDB9aWYoKGR8MCk+KGJ8MCkpd2koYSk7aWYoKGJ8MCk+MCl7eWkoYSwwKTtkPXRpKDApfDB9
ZWxzZSBkPWI7YTpkbyBpZihjfDApe2I9MDt3aGlsZSgxKXtpZigoYnwwKT49KGV8MCkpYnJlYWsg
YTt6aShhKTtiPWIrMXwwfX13aGlsZSgwKTt0PW07cmV0dXJuIGR8MH1mdW5jdGlvbiBXaChhKXth
PWF8MDt2YXIgYj0wLGM9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7
bz10O3Q9dCsxNnwwO209bztzaShhKTtrPWErMTZ8MDtiPWZbaz4+Ml18MDtsPWZbMTk0NTddfDA7
aj1kW2IrMjM2Pj4xXXwwO3doaWxlKDEpe2lmKChqfDApPihkW2IrMjM4Pj4xXXwwKSlicmVhaztp
PWZbYisxOTY+PjJdfDA7ZT1mW2krKGo8PDYpKzg+PjJdfDA7Yz1pKyhqPDw2KXwwO2ZbYz4+Ml09
ZTtnPWZbaSsoajw8NikrMTI+PjJdfDA7ZltpKyhqPDw2KSs0Pj4yXT1nO2k9MDt3aGlsZSgxKXtp
ZigoaXwwKT49KGV8MCkpYnJlYWs7aD1mW2crKGk8PDIpPj4yXXwwO2lmKCFoKXtuPTY7YnJlYWt9
ZlsoZltoKzE2Pj4yXXwwKSsyMzY+PjJdPWk7aT1pKzF8MH1pZigobnwwKT09Nil7bj0wO2lmKDAp
e2M9QXkoYSl8MDtiPWZbKGZbKGZbaz4+Ml18MCkrMTk2Pj4yXXwwKSsoajw8Nik+PjJdfDA7Zltt
Pj4yXT1jO2ZbbSs0Pj4yXT1qO2ZbbSs4Pj4yXT1pO2ZbbSsxMj4+Ml09YjtnMihsLDk4MTgxLG0p
fDA7Yj1mW2s+PjJdfDA7Yz0oZltiKzE5Nj4+Ml18MCkrKGo8PDYpfDB9ZltjPj4yXT1pfWo9aisx
fDB9dD1vO3JldHVybn1mdW5jdGlvbiBYaChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9
MCxnPTA7b2woYSk7ZGkoYSk7ZWkoYSk7ZmkoYSk7ZT1hKzE2fDA7Yz1WaChhLDIsYil8MDtkPTE7
d2hpbGUoMSl7Zz1mW2U+PjJdfDA7aWYoKGR8MCk+KGZbZysxODA+PjJdfDApKWJyZWFrO2M9KFho
KGZbKGZbZysxODQ+PjJdfDApKyhkPDwyKT4+Ml18MCxiKXwwKStjfDA7ZD1kKzF8MH1naShhKTty
ZXR1cm4gY3wwfWZ1bmN0aW9uIFloKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGU9MCxnPTAsaD0wLGk9
MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAuMDtvPXQ7dD10KzE2fDA7bj1vO2U9Zls0ODE1
MV18MDtpZihlfDApe01fKGUpO2ZbNDgxNTFdPTB9ZT1mWzQ4MTUyXXwwO2lmKGV8MCl7TV8oZSk7
Zls0ODE1Ml09MH1tPWErMTZ8MDtlPTE7d2hpbGUoMSl7Zz1mW20+PjJdfDA7aWYoKGV8MCk+KGZb
ZysxODA+PjJdfDApKWJyZWFrO1poKGZbKGZbZysxODQ+PjJdfDApKyhlPDwyKT4+Ml18MCk7ZT1l
KzF8MH1sPWRbZysyMzY+PjFdfDA7ZT1nO3doaWxlKDEpe2lmKChsfDApPihkW2UrMjM4Pj4xXXww
KSlicmVhaztrPTA7d2hpbGUoMSl7ZT1mWyhmW20+PjJdfDApKzE5Nj4+Ml18MDtpZigoa3wwKT49
KGZbZSsobDw8Nik+PjJdfDApKWJyZWFrO2o9KGZbKGZbZSsobDw8NikrND4+Ml18MCkrKGs8PDIp
Pj4yXXwwKSsxNnwwO2U9ZltqPj4yXXwwO2ZbZSsyMzY+PjJdPWs7ZT1mW2UrMTg4Pj4yXXwwO2E6
ZG8gaWYoZXwwKXtnPTA7d2hpbGUoMSl7aD1mW2UrKGc8PDIpPj4yXXwwO2lmKCFoKWJyZWFrIGE7
aT1oKzE2fDA7aWYoKGJbKGZbaT4+Ml18MCkrMTEyPj4wXXwwKT09NCl7RmgoaCk7TV8oZltpPj4y
XXwwKTtNXyhoKTtnPWcrLTF8MDtlPWZbKGZbaj4+Ml18MCkrMTg4Pj4yXXwwfWc9ZysxfDB9fXdo
aWxlKDApO2s9aysxfDB9X2goZltlKyhsPDw2KSs1Nj4+Ml18MCk7bD1sKzF8MDtlPWZbbT4+Ml18
MH1pZigwKXttPWZbMTk0NTddfDA7YT1BeShhKXwwO3E9K09MKCk7ZltuPj4yXT1hO2Zbbis0Pj4y
XT1jO3Bbbis4Pj4zXT1xO2cyKG0sOTc4NDksbil8MH10PW87cmV0dXJufWZ1bmN0aW9uIFpoKGEp
e2E9YXwwO3ZhciBiPTAsYz0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2c9YSsxNnwwO2I9MTt3
aGlsZSgxKXtlPWZbZz4+Ml18MDtpZigoYnwwKT4oZltlKzE4MD4+Ml18MCkpYnJlYWs7WmgoZlso
ZltlKzE4ND4+Ml18MCkrKGI8PDIpPj4yXXwwKTtiPWIrMXwwfWE6ZG8gaWYoZltlKzI2OD4+Ml18
MCl7Yz1kW2UrMjM2Pj4xXXwwO2I9ZTt3aGlsZSgxKXtpZigoY3wwKT4oZFtiKzIzOD4+MV18MCkp
YnJlYWsgYTtpPWZbKGZbYisyNjg+PjJdfDApKyhjPDwyKT4+Ml18MDtqPSRoKGEsaSwtMSl8MDtp
PSRoKGEsaSwxKXwwO2ZbKGZbKGZbZz4+Ml18MCkrMjY4Pj4yXXwwKSsoYzw8Mik+PjJdPWo7az0o
cmcoYSl8MCkrMTZ8MDtqPWZbKGZbaisxNj4+Ml18MCkrMjM2Pj4yXXwwO2U9ZltnPj4yXXwwO2g9
ZltlKzE5Nj4+Ml18MDtmW2grKGM8PDYpKzQ+PjJdPShmWyhmWyhmW2s+PjJdfDApKzE5Nj4+Ml18
MCkrKGM8PDYpKzQ+PjJdfDApKyhqPDwyKTtmW2grKGM8PDYpPj4yXT0xLWorKGZbKGZbaSsxNj4+
Ml18MCkrMjM2Pj4yXXwwKTtjPWMrMXwwO2I9ZX19d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIF9o
KGEpe2E9YXwwO2lmKGF8MCl7TV8oZlthKzg+PjJdfDApO01fKGEpfXJldHVybn1mdW5jdGlvbiAk
aChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZD1iO3doaWxlKDEpe2I9YWko
YixjKXwwO2lmKCFiKWJyZWFrO2lmKCEoYmkoYSxiKXwwKSl7ZT0oY2koYSxiKXwwKT09MDtkPWU/
ZDpifWVsc2UgZD1ifXJldHVybiBkfDB9ZnVuY3Rpb24gYWkoYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wLGQ9MCxlPTAsZz0wO2lmKCFhKXhhKDk3ODg4LDk3ODEzLDEwMjMsOTc4OTApO2lmKChifDAp
PDApe2E9ZlthKzE2Pj4yXXwwO2Q9ZlthKzIzNj4+Ml18MDtpZigoZHwwKT4wKXthPShmWyhmWyhm
WzQ4MTUzXXwwKSsxNj4+Ml18MCkrMTk2Pj4yXXwwKSsoZlthKzIzMj4+Ml08PDYpKzR8MDtjPWQr
LTF8MDtlPTd9ZWxzZSBnPTB9ZWxzZXthPWZbYSsxNj4+Ml18MDtkPWZbYSsyMzY+PjJdfDA7YT0o
ZlsoZlsoZls0ODE1M118MCkrMTY+PjJdfDApKzE5Nj4+Ml18MCkrKGZbYSsyMzI+PjJdPDw2KSs0
fDA7Yz1kKzF8MDtlPTd9aWYoKGV8MCk9PTcpe2E9ZlsoZlthPj4yXXwwKSsoYzw8Mik+PjJdfDA7
aWYoYSlpZigoVigoZlsoZlthKzE2Pj4yXXwwKSsyMzY+PjJdfDApLWR8MCxiKXwwKT4wKWc9YTtl
bHNlIHhhKDk3ODk5LDk3ODEzLDEwMjksOTc4OTApO2Vsc2UgZz0wfXJldHVybiBnfDB9ZnVuY3Rp
b24gYmkoYSxjKXthPWF8MDtjPWN8MDtpZighKGJbKGZbYysxNj4+Ml18MCkrMTU2Pj4wXXwwKSlh
PSh4eihhLGMpfDApIT0wJjE7ZWxzZSBhPTA7cmV0dXJuIGF8MH1mdW5jdGlvbiBjaShhLGMpe2E9
YXwwO2M9Y3wwO3ZhciBkPTAsZT0wO2M9ZltjKzE2Pj4yXXwwO2lmKCgoYltjKzE1Nj4+MF18MCk9
PTE/KGZbYysxNzY+PjJdfDApPT0xOjApPyhmW2MrMTg0Pj4yXXwwKT09MTowKXtjPWZbYysxODA+
PjJdfDA7d2hpbGUoMSl7Yz1mW2M+PjJdfDA7ZD1mW2MrMTY+PjJdfDA7aWYoIShiW2QrMTEyPj4w
XXwwKSlicmVhaztlbHNlIGM9ZCsxMTZ8MH1pZih4eihhLGMpfDApYz0xO2Vsc2UgZT03fWVsc2Ug
ZT03O2lmKChlfDApPT03KWM9MDtyZXR1cm4gY3wwfWZ1bmN0aW9uIGRpKGEpe2E9YXwwO3ZhciBj
PTAsZD0wLGU9MDtlPXQ7dD10KzE2fDA7ZD1lO2M9Zls0ODMzMl18MDthOmRvIGlmKChjfDApIT0w
fChmWzQ4MzUzXXwwKSE9MCl7Yz1XTChhLGMsMCl8MDtpZihjfDApe3N3aXRjaChiW2M+PjBdfDAp
e2Nhc2UgMDpicmVhayBhO2Nhc2UgMTExOntpZighKEgkKGMsOTgxMDEpfDApKXtuaShhLDEpO2Jy
ZWFrIGF9YnJlYWt9Y2FzZSAxMDU6e2lmKCEoSCQoYywxMDcwMjIpfDApKXtuaShhLDApO2JyZWFr
IGF9YnJlYWt9ZGVmYXVsdDp7fX1mW2Q+PjJdPWM7WXcoMSw5ODEwNSxkKXwwO2JyZWFrfWM9RkEo
YSl8MDt3aGlsZSgxKXtpZighYylicmVhaztpZighKF9qKGMpfDApKWRpKGMpO2M9R0EoYyl8MH1p
ZihmWzQ4MzUzXXwwKW9pKGEpfXdoaWxlKDApO3Q9ZTtyZXR1cm59ZnVuY3Rpb24gZWkoYSl7YT1h
fDA7dmFyIGM9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtrPWErMTZ8MDtjPWZbaz4+Ml18MDtq
PWRbYysyMzY+PjFdfDA7d2hpbGUoMSl7aWYoKGp8MCk+KGRbYysyMzg+PjFdfDApKWJyZWFrO2U9
MDtpPTA7d2hpbGUoMSl7Zz1mW2MrMTk2Pj4yXXwwO2g9ZltnKyhqPDw2KT4+Ml18MDtpZigoaXww
KT49KGh8MCkpYnJlYWs7Zz1mWyhmWyhmW2crKGo8PDYpKzQ+PjJdfDApKyhpPDwyKT4+Ml18MCkr
MTY+PjJdfDA7YltnKzE1OD4+MF09MDtiW2crMTU3Pj4wXT0wO2ZbZysyODQ+PjJdPWk7aWYoKGV8
MCk9PTAmKGZbZysxOTI+PjJdfDApPjApe2U9bGkoaCxoKXwwO2M9ZltrPj4yXXwwO2ZbKGZbYysx
OTY+PjJdfDApKyhqPDw2KSs1Nj4+Ml09ZTtlPTF9aT1pKzF8MH1hOmRvIGlmKGUpe2k9MDtlPWg7
d2hpbGUoMSl7aWYoKGl8MCk+PShlfDApKWJyZWFrIGE7aD1mWyhmW2crKGo8PDYpKzQ+PjJdfDAp
KyhpPDwyKT4+Ml18MDtpZighKGJbKGZbaCsxNj4+Ml18MCkrMTU3Pj4wXXwwKSl7bWkoYSxoKTtj
PWZbaz4+Ml18MDtlPWZbYysxOTY+PjJdfDA7Zz1lO2U9ZltlKyhqPDw2KT4+Ml18MH1pPWkrMXww
fX13aGlsZSgwKTtqPWorMXwwfXJldHVybn1mdW5jdGlvbiBmaShhKXthPWF8MDt2YXIgYz0wLGU9
MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0w
O3M9YSsxNnwwO2M9ZltzPj4yXXwwO2lmKGJbYysyNDA+PjBdfDApe2g9MDtyPWRbYysyMzY+PjFd
fDA7cT0wO2k9MDthOndoaWxlKDEpe2lmKChyfDApPihkW2MrMjM4Pj4xXXwwKSlicmVhaztlPWZb
YysxOTY+PjJdfDA7Zz1mW2UrKHI8PDYpPj4yXXwwO2lmKCFnKXtnPXE7ZT1pfWVsc2V7ZT1mW2Ur
KHI8PDYpKzQ+PjJdfDA7bz1mWyhmWyhmW2U+PjJdfDApKzE2Pj4yXXwwKSsyMzY+PjJdfDA7Yz0w
O3doaWxlKDEpe2lmKChjfDApPj0oZ3wwKSlicmVhaztiWyhmWyhmW2UrKGM8PDIpPj4yXXwwKSsx
Nj4+Ml18MCkrMTU3Pj4wXT0wO2M9YysxfDB9Yz0oYzw8MikrNHwwO2lmKCFoKXA9RUgoYyl8MDtl
bHNlIHA9R0goaSxjKXwwO209MDtuPTA7d2hpbGUoMSl7Yz1mW3M+PjJdfDA7ZT1mW2MrMTk2Pj4y
XXwwO2c9ZltlKyhyPDw2KT4+Ml18MDtpZigoZ3wwKTw9KG58MCkpYnJlYWs7aj1mWyhmW2UrKHI8
PDYpKzQ+PjJdfDApKygoKGZbYysxMTY+PjJdJjF8MCk9PTA/Zyt+bnwwOm4pPDwyKT4+Ml18MDts
PWorMTZ8MDtjPTA7az0wO3doaWxlKDEpe2k9ZltsPj4yXXwwO2lmKChjfDApPj0oZltpKzIwMD4+
Ml18MCkpYnJlYWs7aT1rKygoaGkoYSxmWyhmW2krMTk2Pj4yXXwwKSsoYzw8Mik+PjJdfDApfDAp
IT0wJjEpfDA7Yz1jKzF8MDtrPWl9ZT0wO2c9MDtjPWk7d2hpbGUoMSl7aWYoKGd8MCk+PShmW2Mr
MTkyPj4yXXwwKSlicmVhaztpPWUrKChoaShhLGZbKGZbYysxODg+PjJdfDApKyhnPDwyKT4+Ml18
MCl8MCkhPTAmMSl8MDtlPWk7Zz1nKzF8MDtjPWZbbD4+Ml18MH1pZihlfGspaWYoKGt8MCk9PTAm
KGJbYysxNTc+PjBdfDApPT0wKWM9KGlpKGEsaixwKyhtPDwyKXwwLHIpfDApK218MDtlbHNlIGM9
bTtlbHNle2ZbcCsobTw8Mik+PjJdPWo7Yz1tKzF8MH1tPWM7bj1uKzF8MH1iOmRvIGlmKG0pe2M6
ZG8gaWYoIShmW2MrMTE2Pj4yXSYxKSl7ZT1wO2M9cCsobTw8Mil8MDt3aGlsZSgxKXtjPWMrLTR8
MDtpZihlPj4+MD49Yz4+PjApYnJlYWsgYztuPWZbZT4+Ml18MDtmW2U+PjJdPWZbYz4+Ml07Zltj
Pj4yXT1uO2U9ZSs0fDB9fXdoaWxlKDApO2c9MDt3aGlsZSgxKXtjPWZbcz4+Ml18MDtpPWZbYysx
OTY+PjJdfDA7ZT1mW2krKHI8PDYpPj4yXXwwO2lmKChnfDApPj0oZXwwKSlicmVhaztuPWZbcCso
Zzw8Mik+PjJdfDA7ZlsoZltpKyhyPDw2KSs0Pj4yXXwwKSsoZzw8Mik+PjJdPW47ZlsoZltuKzE2
Pj4yXXwwKSsyMzY+PjJdPWcrbztnPWcrMXwwfW09MDtnPWk7d2hpbGUoMSl7aWYoKG18MCk+PShl
fDApKWJyZWFrIGI7bD0oZlsoZltnKyhyPDw2KSs0Pj4yXXwwKSsobTw8Mik+PjJdfDApKzE2fDA7
aT1mWyhmW2w+PjJdfDApKzE4OD4+Ml18MDtpZihpKXtrPTA7ZT1pO3doaWxlKDEpe2c9ZltlKyhr
PDwyKT4+Ml18MDtjPWZbcz4+Ml18MDtpZighZylicmVhaztqPWZbZz4+Ml0mMztpPWZbKGZbKGZb
KChqfDApPT0yP2c6ZystNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzY+PjJdfDA7aj1mWyhm
WyhmWygoanwwKT09Mz9nOmcrNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzY+PjJdfDA7aWYo
IShmW2MrMTE2Pj4yXSYxKSlpZigoaXwwKTwoanwwKSl0PTQwO2Vsc2UgYz1rO2Vsc2UgaWYoKGl8
MCk+KGp8MCkpdD00MDtlbHNlIGM9aztpZigodHwwKT09NDApe3Q9MDtpZihoaShhLGcpfDApe3Q9
NDE7YnJlYWsgYX1GaChnKTtqaShhLGcpO2M9aystMXwwO2U9ZlsoZltsPj4yXXwwKSsxODg+PjJd
fDB9az1jKzF8MH1lPWZbYysxOTY+PjJdfDA7Zz1lO2U9ZltlKyhyPDw2KT4+Ml18MH1tPW0rMXww
fX13aGlsZSgwKTtiWyhmWyhmWyhmWzQ4MTUzXXwwKSsxNj4+Ml18MCkrMTk2Pj4yXXwwKSsocjw8
NikrNDk+PjBdPTA7aD1wO2c9cDtlPXB9cj1yKzF8MDtxPWc7aT1lfWlmKCh0fDApPT00MSl4YSg5
Nzk0Nyw5NzgxMywxNTYxLDk3OTg2KTtpZihofDApTV8ocSl9cmV0dXJufWZ1bmN0aW9uIGdpKGEp
e2E9YXwwO3ZhciBiPTAsYz0wO2M9YSsxNnwwO2E9ZltjPj4yXXwwO2E6ZG8gaWYoZlthKzI2OD4+
Ml18MCl7Yj1kW2ErMjM2Pj4xXXwwO3doaWxlKDEpe2lmKChifDApPihkW2ErMjM4Pj4xXXwwKSli
cmVhayBhO2ZbKGZbYSsyNjg+PjJdfDApKyhiPDwyKT4+Ml09ZltmWyhmW2ErMTk2Pj4yXXwwKSso
Yjw8NikrND4+Ml0+PjJdO2I9YisxfDA7YT1mW2M+PjJdfDB9fXdoaWxlKDApO3JldHVybn1mdW5j
dGlvbiBoaShhLGIpe2E9YXwwO2I9YnwwO2lmKChmWyhmW2IrMTY+PjJdfDApKzE1Nj4+Ml18MCkh
PTA/KGtpKGEsZlsoKGZbYj4+Ml0mM3wwKT09Mz9iOmIrNDh8MCkrNDA+PjJdfDApfDApIT0wOjAp
YT0oa2koYSxmWygoZltiPj4yXSYzfDApPT0yP2I6YistNDh8MCkrNDA+PjJdfDApfDApIT0wJjE7
ZWxzZSBhPTA7cmV0dXJuIGF8MH1mdW5jdGlvbiBpaShhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8
MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTA7bD1jKzE2fDA7Zz1mW2w+PjJdfDA7
YltnKzE1Nz4+MF09MTthOmRvIGlmKChmW2crMTkyPj4yXXwwKT4wKXtoPTA7aj0wO3doaWxlKDEp
e2k9ZlsoZltnKzE4OD4+Ml18MCkrKGo8PDIpPj4yXXwwO2lmKCFpKWJyZWFrIGE7aWYoKGhpKGEs
aSl8MCkhPTA/KGs9ZlsoKGZbaT4+Ml0mM3wwKT09Mj9pOmkrLTQ4fDApKzQwPj4yXXwwLChiWyhm
W2srMTY+PjJdfDApKzE1Nz4+MF18MCk9PTApOjApaD0oaWkoYSxrLGQrKGg8PDIpfDAsZSl8MCkr
aHwwO2o9aisxfDA7Zz1mW2w+PjJdfDB9fWVsc2UgaD0wO3doaWxlKDApO2lmKChmW2crMjMyPj4y
XXwwKT09KGV8MCkpe2ZbZCsoaDw8Mik+PjJdPWM7cmV0dXJuIGgrMXwwfWVsc2UgeGEoOTc5OTks
OTc4MTMsMTQ5MCw5ODAxNSk7cmV0dXJuIDB9ZnVuY3Rpb24gamkoYSxjKXthPWF8MDtjPWN8MDt2
YXIgZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7aT1mW2M+PjJdJjM7aj1mWygo
aXwwKT09Mj9jOmMrLTQ4fDApKzQwPj4yXXwwO2U9ZlsoZltqKzE2Pj4yXXwwKSsxODg+PjJdfDA7
YTpkbyBpZighZSl7ZD1jKzQ4fDA7bT0xNX1lbHNle2w9Yys0OHwwO2c9KChpfDApPT0zP2M6bCkr
NDB8MDtkPTA7d2hpbGUoMSl7aD1mW2UrKGQ8PDIpPj4yXXwwO2lmKCFoKXtkPWw7bT0xNTticmVh
ayBhfWlmKChmWygoZltoPj4yXSYzfDApPT0yP2g6aCstNDh8MCkrNDA+PjJdfDApPT0oZltnPj4y
XXwwKSlicmVhaztlbHNlIGQ9ZCsxfDB9R2goYyxoKTtkPShmW2MrMTY+PjJdfDApKzE3MnwwO2lm
KCEoZltkPj4yXXwwKSlmW2Q+PjJdPWg7ZD1mW2grMTY+PjJdfDA7aWYoKGJbZCsxMTI+PjBdfDAp
PT00PyhrPWQrMTE2fDAsKGZbaz4+Ml18MCk9PTApOjApZltrPj4yXT1jO2Q9ZlsoZlsoKGZbYz4+
Ml0mM3wwKT09Mz9jOmwpKzQwPj4yXXwwKSsxNj4+Ml18MDtlPWZbZCsyMDQ+PjJdfDA7aWYoIWUp
ZD1FSCgoZltkKzIwOD4+Ml08PDIpKzh8MCl8MDtlbHNlIGQ9R0goZSwoZltkKzIwOD4+Ml08PDIp
Kzh8MCl8MDtmWyhmWyhmWygoZltjPj4yXSYzfDApPT0zP2M6bCkrNDA+PjJdfDApKzE2Pj4yXXww
KSsyMDQ+PjJdPWQ7aT1mWyhmWygoZltjPj4yXSYzfDApPT0zP2M6bCkrNDA+PjJdfDApKzE2Pj4y
XXwwO2o9ZltpKzIwND4+Ml18MDtpPWkrMjA4fDA7az1mW2k+PjJdfDA7ZltpPj4yXT1rKzE7Zltq
KyhrPDwyKT4+Ml09YztjPWZbKGZbKChmW2M+PjJdJjN8MCk9PTM/YzpsKSs0MD4+Ml18MCkrMTY+
PjJdfDA7ZlsoZltjKzIwND4+Ml18MCkrKGZbYysyMDg+PjJdPDwyKT4+Ml09MH13aGlsZSgwKTtp
ZigobXwwKT09MTUpe209eGgoaixmWygoaXwwKT09Mz9jOmQpKzQwPj4yXXwwLGMpfDA7bD1mW2Mr
MTY+PjJdfDA7Yz1mW20rMTY+PjJdfDA7YltjKzExMj4+MF09KGJbbCsxMTI+PjBdfDApPT00PzQ6
MztmW2MrOTY+PjJdPWZbbCs5Nj4+Ml07RWgoYSxtKX1yZXR1cm59ZnVuY3Rpb24ga2koYSxiKXth
PWF8MDtiPWJ8MDt2YXIgYz0wO2M9YmkoYSxiKXwwO3JldHVybiBjaShhLGIpfDB8Y3wwfWZ1bmN0
aW9uIGxpKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtjPURIKDEyKXwwO2ZbYz4+Ml09YTtmW2Mr
ND4+Ml09YjtiPURIKFYoYixhKXwwKXwwO2ZbYys4Pj4yXT1iO3JldHVybiBjfDB9ZnVuY3Rpb24g
bWkoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxt
PTAsbj0wLG89MCxwPTAscT0wLHI9MDtvPWMrMTZ8MDtsPWZbbz4+Ml18MDtrPWZbKGZbKGZbYSsx
Nj4+Ml18MCkrMTk2Pj4yXXwwKSsoZltsKzIzMj4+Ml08PDYpKzU2Pj4yXXwwO2JbbCsxNTc+PjBd
PTE7YltsKzE1OD4+MF09MTtsPShyZyhhKXwwKSsxNnwwO2w9KGZbKGZbbD4+Ml18MCkrMTgwPj4y
XXwwKT4wO2Q9ZltvPj4yXXwwO2U9ZltkKzE4OD4+Ml18MDthOmRvIGlmKGUpe209ays0fDA7bj1r
Kzh8MDtjPTA7Yjp3aGlsZSgxKXtqPWZbZSsoYzw8Mik+PjJdfDA7aWYoIWope3A9ZDticmVhayBh
fWlmKGwpe2lmKCh4eihhLGZbKChmW2o+PjJdJjN8MCk9PTM/ajpqKzQ4fDApKzQwPj4yXXwwKXww
KSE9MD8oeHooYSxmWygoZltqPj4yXSYzfDApPT0yP2o6aistNDh8MCkrNDA+PjJdfDApfDApIT0w
OjApcT03fWVsc2UgcT03O2RvIGlmKChxfDApPT03KXtxPTA7aD1qKzE2fDA7aWYoZlsoZltoPj4y
XXwwKSsxNTY+PjJdfDApe2Q9ZltqPj4yXSYzO2c9aistNDh8MDtyPWZbKGZbKChkfDApPT0yP2o6
ZykrNDA+PjJdfDApKzE2Pj4yXXwwO2k9ZltyKzI4ND4+Ml18MDtlPShpfDApPChmW2s+PjJdfDAp
O2lmKChiW3IrMTU4Pj4wXXwwKT09MSl7aWYoIWUpe3E9MTA7YnJlYWsgYn1kPWZbKGZbKGZbKChk
fDApPT0zP2o6ais0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzI4ND4+Ml18MDtlPWZbbT4+Ml18
MDtpZigoZHwwKT49KGV8MCkpe3E9MTI7YnJlYWsgYn1yPShmW24+PjJdfDApKygoVihlLGkpfDAp
K2QpfDA7YltyPj4wXT0xO0ZoKGopO2M9YystMXwwO2lmKChiWyhmW2g+PjJdfDApKzExMj4+MF18
MCk9PTQpYnJlYWs7amkoYSxqKTticmVha31lbHNle2lmKCFlKXtxPTE2O2JyZWFrIGJ9ZD1mWyhm
WyhmWygoZHwwKT09Mz9qOmorNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyODQ+PjJdfDA7ZT1m
W20+PjJdfDA7aWYoKGR8MCk+PShlfDApKXtxPTE4O2JyZWFrIGJ9ZD0oZltuPj4yXXwwKSsoKFYo
ZSxkKXwwKStpKXwwO2JbZD4+MF09MTtkPWZbKChmW2o+PjJdJjN8MCk9PTI/ajpnKSs0MD4+Ml18
MDtpZihiWyhmW2QrMTY+PjJdfDApKzE1Nz4+MF18MClicmVhazttaShhLGQpO2JyZWFrfX19d2hp
bGUoMCk7ZT1mW28+PjJdfDA7Yz1jKzF8MDtkPWU7ZT1mW2UrMTg4Pj4yXXwwfWlmKChxfDApPT0x
MCl4YSg5ODAyNSw5NzgxMywxMjUxLDk4MDU3KTtlbHNlIGlmKChxfDApPT0xMil4YSg5ODA2OSw5
NzgxMywxMjUyLDk4MDU3KTtlbHNlIGlmKChxfDApPT0xNil4YSg5ODAyNSw5NzgxMywxMjYwLDk4
MDU3KTtlbHNlIGlmKChxfDApPT0xOCl4YSg5ODA2OSw5NzgxMywxMjYxLDk4MDU3KX1lbHNlIHA9
ZDt3aGlsZSgwKTtiW3ArMTU4Pj4wXT0wO3JldHVybn1mdW5jdGlvbiBuaShhLGIpe2E9YXwwO2I9
YnwwO3ZhciBjPTA7Yz0keShhKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO3BpKGEsYyxiKTtjPWF6
KGEsYyl8MH1yZXR1cm59ZnVuY3Rpb24gb2koYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxo
PTA7Zz10O3Q9dCsxNnwwO2U9ZztjPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7ZD1XTChj
LGZbNDgzNTNdfDAsMCl8MDthOmRvIGlmKGR8MCl7c3dpdGNoKGJbZD4+MF18MCl7Y2FzZSAwOmJy
ZWFrIGE7Y2FzZSAxMTE6e2lmKCEoSCQoZCw5ODEwMSl8MCkpe3BpKGEsYywxKTticmVhayBhfWJy
ZWFrfWNhc2UgMTA1OntpZighKEgkKGQsMTA3MDIyKXwwKSl7cGkoYSxjLDApO2JyZWFrIGF9YnJl
YWt9ZGVmYXVsdDp7fX1oPUF5KGMpfDA7ZltlPj4yXT1kO2ZbZSs0Pj4yXT1oO1l3KDEsOTgxMzYs
ZSl8MH13aGlsZSgwKTtjPWF6KGEsYyl8MH10PWc7cmV0dXJufWZ1bmN0aW9uIHBpKGEsYyxkKXth
PWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MDtqPWZbNDgxNTJdfDA7aD1j
KzE2fDA7ZT1mW2g+PjJdfDA7YTpkbyBpZighKGZbZSsyMTI+PjJdfDApKXtpPShkfDApIT0wO2I6
ZG8gaWYoaSl7Zz0wO2M9MDtkPWU7d2hpbGUoMSl7ZT1mWyhmW2QrMTgwPj4yXXwwKSsoZzw8Mik+
PjJdfDA7aWYoIWUpYnJlYWsgYjtpZighKHFpKGUpfDApKXtmW2orKGM8PDIpPj4yXT1lO2M9Yysx
fDA7ZD1mW2g+PjJdfDB9Zz1nKzF8MH19ZWxzZXtnPTA7Yz0wO2Q9ZTt3aGlsZSgxKXtlPWZbKGZb
ZCsxNzI+PjJdfDApKyhnPDwyKT4+Ml18MDtpZighZSlicmVhayBiO2lmKCEocWkoZSl8MCkpe2Zb
aisoYzw8Mik+PjJdPWU7Yz1jKzF8MDtkPWZbaD4+Ml18MH1nPWcrMXwwfX13aGlsZSgwKTtpZigo
Y3wwKT49Mil7ZltqKyhjPDwyKT4+Ml09MDtXJChqLGMsNCw2MSk7aD1pPzI6MztnPWk/LTE6MTtl
PTE7d2hpbGUoMSl7Yz1mW2orKGU8PDIpPj4yXXwwO2lmKCFjKWJyZWFrIGE7ZD1mW2orKGUrLTE8
PDIpPj4yXXwwO2Q9ZlsoKGZbZD4+Ml0mM3wwKT09KGh8MCk/ZDpkKyhnKjQ4fDApfDApKzQwPj4y
XXwwO2M9ZlsoKGZbYz4+Ml0mM3wwKT09KGh8MCk/YzpjKyhnKjQ4fDApfDApKzQwPj4yXXwwO2lm
KHFoKGQsYyl8MClicmVhayBhO2k9eGgoZCxjLDApfDA7YlsoZltpKzE2Pj4yXXwwKSsxMTI+PjBd
PTQ7RWgoYSxpKTtlPWUrMXwwfX19d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIHFpKGEpe2E9YXww
O3ZhciBiPTA7d2hpbGUoMSl7Yj1mWyhmW2ErMTY+PjJdfDApKzExNj4+Ml18MDtpZighYilicmVh
aztlbHNlIGE9Yn1iPWZbYT4+Ml0mMztyZXR1cm4gKGZbKGZbKGZbKChifDApPT0zP2E6YSs0OHww
KSs0MD4+Ml18MCkrMTY+PjJdfDApKzIxMj4+Ml18MCkhPShmWyhmWyhmWygoYnwwKT09Mj9hOmEr
LTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjEyPj4yXXwwKXwwfWZ1bmN0aW9uIHJpKGEsYil7
YT1hfDA7Yj1ifDA7cmV0dXJuICgoZltmW2E+PjJdPj4yXXwwKT4+PjQpLSgoZltmW2I+PjJdPj4y
XXwwKT4+PjQpfDB9ZnVuY3Rpb24gc2koYSl7YT1hfDA7dmFyIGI9MCxjPTAsZT0wLGc9MCxoPTAs
aT0wLGo9MDtlPWZbYSsxNj4+Ml18MDtnPWUrMjIwfDA7aD1mW2c+PjJdfDA7aWYoKGh8MCk+PTIp
e2k9ZSsyMTZ8MDthPTA7Yz0wO3doaWxlKDEpe2lmKChjfDApPT0oaHwwKSlicmVhaztiPWZbKGZb
aT4+Ml18MCkrKGM8PDIpPj4yXXwwO2lmKGF8MClmWyhmW2ErMTY+PjJdfDApKzE2ND4+Ml09Yjtq
PWZbYisxNj4+Ml18MDtmW2orMTY4Pj4yXT1hO2E9YjtiPWo7d2hpbGUoMSl7Yj1mW2IrMTY0Pj4y
XXwwO2lmKCFiKWJyZWFrO2E9YjtiPWZbYisxNj4+Ml18MH1jPWMrMXwwfWZbZz4+Ml09MTtmW2Ur
MTkyPj4yXT1mW2ZbaT4+Ml0+PjJdO2RbZSsyMzY+PjFdPWZbNDgxNTRdO2RbZSsyMzg+PjFdPWZb
NDgxNTVdfXJldHVybn1mdW5jdGlvbiB0aShhKXthPWF8MDt2YXIgYz0wLGU9MCxnPTAsaD0wLGk9
MCxqPTA7aT1mWzQ4MTUzXXwwO2o9aSsxNnwwO2U9ZltqPj4yXXwwO2c9MDtoPWRbZSsyMzY+PjFd
fDA7d2hpbGUoMSl7aWYoKGh8MCk+PShkW2UrMjM4Pj4xXXwwKSlicmVhazthPWZbZSsxOTY+PjJd
fDA7aWYoIShiW2ErKGg8PDYpKzQ5Pj4wXXwwKSl7Yz1NaShpLGgpfDA7YT1mW2o+PjJdfDA7ZT1m
W2ErMTk2Pj4yXXwwO2ZbZSsoaDw8NikrNTI+PjJdPWM7YltlKyhoPDw2KSs0OT4+MF09MX1lbHNl
e2M9ZlthKyhoPDw2KSs1Mj4+Ml18MDthPWV9Zz1jK2d8MDtoPWgrMXwwO2U9YX1yZXR1cm4gZ3ww
fWZ1bmN0aW9uIHVpKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGU9MCxnPTAsaD0wLGk9MDthPWZbYSsx
Nj4+Ml18MDtnPWRbYSsyMzg+PjFdfDA7aD1hKzE5NnwwO2E9ZFthKzIzNj4+MV18MDt3aGlsZSgx
KXtpZigoYXwwKT4oZ3wwKSlicmVhaztlPWZbaD4+Ml18MDtjPWZbZSsoYTw8Nik+PjJdfDA7ZT1l
KyhhPDw2KSs0fDA7Yj0wO3doaWxlKDEpe2lmKChifDApPj0oY3wwKSlicmVhaztpPWZbKGZbKGZb
ZT4+Ml18MCkrKGI8PDIpPj4yXXwwKSsxNj4+Ml18MDtwW2krMTY+PjNdPSsoZltpKzIzNj4+Ml18
MCk7Yj1iKzF8MH1hPWErMXwwfXJldHVybn1mdW5jdGlvbiB2aShhLGMpe2E9YXwwO2M9Y3wwO3Zh
ciBlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MDtxPXQ7dD10
KzE2fDA7bD1xO209YSsxNnwwO249UEwoZlsoZlttPj4yXXwwKSsyMzI+PjJdfDApfDA7aj1mW20+
PjJdfDA7ZT1qKzE5MnwwO2c9ZTt3aGlsZSgxKXtnPWZbZz4+Ml18MDtpZighZylicmVhaztnPWZb
ZysxNj4+Ml18MDtiW2crMTU3Pj4wXT0wO2c9ZysxNjR8MH1oPWRbaisyMzg+PjFdfDA7aT1qKzE5
NnwwO2c9ZFtqKzIzNj4+MV18MDt3aGlsZSgxKXtpZigoZ3wwKT4oaHwwKSlicmVhaztmWyhmW2k+
PjJdfDApKyhnPDw2KT4+Ml09MDtnPWcrMXwwfWk9KGN8MCk9PTA7d2hpbGUoMSl7Zz1mW2U+PjJd
fDA7aWYoIWcpYnJlYWs7aD1nKzE2fDA7ZT1mW2g+PjJdfDA7aWYoKGZbZlsoaT9lKzE3MnwwOmUr
MTgwfDApPj4yXT4+Ml18MCk9PTA/KGs9ZSsxNTd8MCwoYltrPj4wXXwwKT09MCk6MCl7YltrPj4w
XT0xO1JMKG4sZyk7d2hpbGUoMSl7ZT1TTChuKXwwO2lmKCFlKWJyZWFrO2lmKChiWyhmW2UrMTY+
PjJdfDApKzE1OT4+MF18MCk9PTcpdGwoYSxlLGMsbik7ZWxzZXtLaShhLGUpO0xpKG4sZSxjKX19
ZT1mW2g+PjJdfDB9ZT1lKzE2NHwwfWlmKFNMKG4pfDApWXcoMSw5ODM0NCxsKXwwO2U9ZlttPj4y
XXwwO2o9ZFtlKzIzNj4+MV18MDt3aGlsZSgxKXtpZigoanwwKT4oZFtlKzIzOD4+MV18MCkpYnJl
YWs7YlsoZlsoZlsoZls0ODE1M118MCkrMTY+PjJdfDApKzE5Nj4+Ml18MCkrKGo8PDYpKzQ5Pj4w
XT0wO2lmKChmW2UrMTE2Pj4yXSYxfDApIT0wPyhvPWZbZSsxOTY+PjJdfDAscD1mW28rKGo8PDYp
Pj4yXXwwLChwfDApPjApOjApe2c9ZltvKyhqPDw2KSs0Pj4yXXwwO2g9cCstMXwwO2k9KGh8MCkv
MnwwO2U9MDt3aGlsZSgxKXtpZigoZXwwKT4oaXwwKSlicmVhaztFaShmW2crKGU8PDIpPj4yXXww
LGZbZysoaC1lPDwyKT4+Ml18MCk7ZT1lKzF8MH1lPWZbbT4+Ml18MH1qPWorMXwwfWlmKChyZyhh
KXwwKT09KGF8MCk/KHRpKDApfDApPjA6MCl5aShhLDApO1FMKG4pO3Q9cTtyZXR1cm59ZnVuY3Rp
b24gd2koYSl7YT1hfDA7dmFyIGM9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49
MDttPWErMTZ8MDthPWZbbT4+Ml18MDtlPWRbYSsyMzY+PjFdfDA7Yz1kW2ErMjM4Pj4xXXwwO2s9
Yzw8MTY+PjE2O2w9YSsxOTZ8MDtnPWU7d2hpbGUoMSl7aWYoKGd8MCk+KGt8MCkpYnJlYWs7aj1m
W2w+PjJdfDA7aT1mW2orKGc8PDYpPj4yXXwwO2o9aisoZzw8NikrNHwwO2g9MDt3aGlsZSgxKXtp
ZigoaHwwKT49KGl8MCkpYnJlYWs7bj1mWyhmWyhmW2o+PjJdfDApKyhoPDwyKT4+Ml18MCkrMTY+
PjJdfDA7ZltuKzIzNj4+Ml09fn4rcFtuKzE2Pj4zXTtoPWgrMXwwfWc9ZysxfDB9d2hpbGUoMSl7
aWYoKGV8MCk+KGM8PDE2Pj4xNnwwKSlicmVhaztiWyhmWyhmWyhmWzQ4MTUzXXwwKSsxNj4+Ml18
MCkrMTk2Pj4yXXwwKSsoZTw8NikrNDk+PjBdPTA7bj1mW2ErMTk2Pj4yXXwwO1ckKGZbbisoZTw8
NikrND4+Ml18MCxmW24rKGU8PDYpPj4yXXwwLDQsNjIpO249ZlttPj4yXXwwO2U9ZSsxfDA7Yz1k
W24rMjM4Pj4xXXwwO2E9bn1yZXR1cm59ZnVuY3Rpb24geGkoYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wLGU9MCxnPTA7Zz0oKGJ8MCklNHwwfDApPDImMTtjPWZbYSsxNj4+Ml18MDtpZighKGImMSkp
e2I9ZFtjKzIzNj4+MV18MDtlPTE7Yz1kW2MrMjM4Pj4xXXwwO2I9KGI8PDE2Pj4xNjw9KGRbKGZb
KGZbNDgxNTNdfDApKzE2Pj4yXXwwKSsyMzY+PjFdfDApJjEpKyhiPDwxNj4+MTYpfDB9ZWxzZXti
PWRbYysyMzg+PjFdfDA7ZT0tMTtjPWRbYysyMzY+PjFdfDA7Yj0oKGI8PDE2Pj4xNj49KGRbKGZb
KGZbNDgxNTNdfDApKzE2Pj4yXXwwKSsyMzg+PjFdfDApKTw8MzE+PjMxKSsoYjw8MTY+PjE2KXww
fWM9ZStjfDA7d2hpbGUoMSl7aWYoKGJ8MCk9PShjfDApKWJyZWFrO0hpKGEsYixnLChHaShhLGIs
Yi1lfDApfDApJjI1NSk7Yj1iK2V8MH15aShhLGdeMSk7cmV0dXJufWZ1bmN0aW9uIHlpKGEsYyl7
YT1hfDA7Yz1jfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2s9YSsxNnwwO2c9ZltrPj4y
XXwwO2k9ZFtnKzIzNj4+MV18MDtqPWRbZysyMzg+PjFdfDA7aD1nKzE5NnwwO2U9aTw8MTY+PjE2
O3doaWxlKDEpe2lmKChlfDApPihqfDApKWJyZWFrO2JbKGZbaD4+Ml18MCkrKGU8PDYpKzQ4Pj4w
XT0xO2U9ZSsxfDB9aD1pO3doaWxlKDEpe2U9MDtoPWg8PDE2Pj4xNjt3aGlsZSgxKXtpZigoaHww
KT4oZFtnKzIzOD4+MV18MCkpYnJlYWs7aWYoYlsoZltnKzE5Nj4+Ml18MCkrKGg8PDYpKzQ4Pj4w
XXwwKXtlPShGaShhLGgsYyl8MCkrZXwwO2c9ZltrPj4yXXwwfWg9aCsxfDB9aWYoKGV8MCk8PTAp
YnJlYWs7aD1kW2crMjM2Pj4xXXwwfXJldHVybn1mdW5jdGlvbiB6aShhKXthPWF8MDt2YXIgYz0w
LGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wO289YSsxNnww
O2M9ZltvPj4yXXwwO249ZFtjKzIzOD4+MV18MDthOndoaWxlKDEpe2lmKChufDApPChkW2MrMjM2
Pj4xXXwwKSl7Yz0xNzticmVha31nPWZbYysxOTY+PjJdfDA7YltnKyhuPDw2KSs0OD4+MF09MDtw
PShufDApPjA7cT1uKzF8MDtlPTA7Yjp3aGlsZSgxKXtsPShmW2crKG48PDYpPj4yXXwwKSstMXww
O209Zysobjw8NikrNHwwO2s9ZysocTw8Nil8MDt3aGlsZSgxKXtpZigoZXwwKT49KGx8MCkpYnJl
YWsgYjtpPWZbbT4+Ml18MDtqPWZbaSsoZTw8Mik+PjJdfDA7ZT1lKzF8MDtpPWZbaSsoZTw8Mik+
PjJdfDA7aWYoKGZbKGZbaisxNj4+Ml18MCkrMjM2Pj4yXXwwKT49KGZbKGZbaSsxNj4+Ml18MCkr
MjM2Pj4yXXwwKSl7Yz03O2JyZWFrIGF9aWYoIShBaShhLGosaSl8MCkpe2lmKHApe2c9Qmkoaixp
KXwwO2g9QmkoaSxqKXwwfWVsc2V7Zz0wO2g9MH1pZigoZltrPj4yXXwwKT4wKXtnPShDaShqLGkp
fDApK2d8MDtoPShDaShpLGopfDApK2h8MH1pZigoaHwwKTw9KGd8MCkpYnJlYWt9fURpKGEsbixq
LGkpO2M9ZltvPj4yXXwwO2c9ZltjKzE5Nj4+Ml18MH1uPW4rLTF8MH1pZigoY3wwKT09Nyl4YSg5
ODI5NSw5NzgxMyw3MjEsOTgzMjEpO2Vsc2UgaWYoKGN8MCk9PTE3KXJldHVybn1mdW5jdGlvbiBB
aShhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2o9
ZltjKzE2Pj4yXXwwO2k9ZltqKzIxMj4+Ml18MDtlPWZbZCsxNj4+Ml18MDtnPWZbZSsyMTI+PjJd
fDA7aD0oaXwwKSE9KGd8MCk7ZG8gaWYoIShiWzE5NDg2MV18MCkpaWYoKGd8MCk9PTB8KChpfDAp
PT0wfGheMSkpaz05O2Vsc2V7aWYoKGJbaisxNTk+PjBdfDApPT03PyhiW2orMTU2Pj4wXXwwKT09
MTowKXthPTA7YnJlYWt9aWYoKGJbZSsxNTk+PjBdfDApPT03PyhiW2UrMTU2Pj4wXXwwKT09MTow
KXthPTA7YnJlYWt9YT0xfWVsc2UgaWYoaClhPTE7ZWxzZSBrPTk7d2hpbGUoMCk7aWYoKGt8MCk9
PTkpe2U9ZlthKzE2Pj4yXXwwO2E9ZlsoZltlKzE5Nj4+Ml18MCkrKGZbaisyMzI+PjJdPDw2KSs1
Nj4+Ml18MDtpZighYSlhPTA7ZWxzZXtqPShmW2UrMTE2Pj4yXSYxfDApPT0wO2s9VihmW2ErND4+
Ml18MCxmWyhmWyhqP2M6ZCkrMTY+PjJdfDApKzI4ND4+Ml18MCl8MDthPWJbKGZbYSs4Pj4yXXww
KSsoKGZbKGZbKGo/ZDpjKSsxNj4+Ml18MCkrMjg0Pj4yXXwwKStrKT4+MF18MH19cmV0dXJuIGF8
MH1mdW5jdGlvbiBCaShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZT0wLGc9MCxoPTAsaT0wLGo9
MCxrPTAsbD0wLG09MDtrPWErMTZ8MDtpPWZbKGZbYisxNj4+Ml18MCkrMTcyPj4yXXwwO2I9MDt3
aGlsZSgxKXthPWZbaT4+Ml18MDtpZighYSlicmVhaztoPWZbYSsxNj4+Ml18MDtqPWRbaCsxNTQ+
PjFdfDA7Zz1mWyhmWyhmWygoZlthPj4yXSYzfDApPT0zP2E6YSs0OHwwKSs0MD4+Ml18MCkrMTY+
PjJdfDApKzIzNj4+Ml18MDtoPWgrMTZ8MDtlPWZbKGZbaz4+Ml18MCkrMTcyPj4yXXwwO2E9Yjt3
aGlsZSgxKXtiPWZbZT4+Ml18MDtpZighYilicmVhaztjPShmWyhmWyhmWygoZltiPj4yXSYzfDAp
PT0zP2I6Yis0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzNj4+Ml18MCktZ3wwO2lmKChjfDAp
PD0wKXtpZigoY3wwKT09MD8obD1mW2IrMTY+PjJdfDAsK3BbbCsxNj4+M10+K3BbaD4+M10pOjAp
e2I9bDttPTl9fWVsc2V7Yj1mW2IrMTY+PjJdfDA7bT05fWlmKChtfDApPT05KXttPTA7YT0oVihk
W2IrMTU0Pj4xXXwwLGopfDApK2F8MH1lPWUrNHwwfWk9aSs0fDA7Yj1hfXJldHVybiBifDB9ZnVu
Y3Rpb24gQ2koYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0w
LGw9MCxtPTA7az1hKzE2fDA7aT1mWyhmW2IrMTY+PjJdfDApKzE4MD4+Ml18MDtiPTA7d2hpbGUo
MSl7YT1mW2k+PjJdfDA7aWYoIWEpYnJlYWs7aD1mW2ErMTY+PjJdfDA7aj1kW2grMTU0Pj4xXXww
O2c9ZlsoZlsoZlsoKGZbYT4+Ml0mM3wwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18
MCkrMjM2Pj4yXXwwO2g9aCs1NnwwO2U9ZlsoZltrPj4yXXwwKSsxODA+PjJdfDA7YT1iO3doaWxl
KDEpe2I9ZltlPj4yXXwwO2lmKCFiKWJyZWFrO2M9KGZbKGZbKGZbKChmW2I+PjJdJjN8MCk9PTI/
YjpiKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzNj4+Ml18MCktZ3wwO2lmKChjfDApPD0w
KXtpZigoY3wwKT09MD8obD1mW2IrMTY+PjJdfDAsK3BbbCs1Nj4+M10+K3BbaD4+M10pOjApe2I9
bDttPTl9fWVsc2V7Yj1mW2IrMTY+PjJdfDA7bT05fWlmKChtfDApPT05KXttPTA7YT0oVihkW2Ir
MTU0Pj4xXXwwLGopfDApK2F8MH1lPWUrNHwwfWk9aSs0fDA7Yj1hfXJldHVybiBifDB9ZnVuY3Rp
b24gRGkoYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9
MCxrPTAsbD0wLG09MCxuPTAsbz0wO2k9YlsoZltkKzE2Pj4yXXwwKSsxNTY+PjBdfDA7aWYoaTw8
MjQ+PjI0IT0oYlsoZltlKzE2Pj4yXXwwKSsxNTY+PjBdfDApKXtqPWErMTZ8MDtsPWZbKGZbaj4+
Ml18MCkrMTk2Pj4yXXwwO2s9ZltsKyhjPDw2KT4+Ml18MDtsPWwrKGM8PDYpKzR8MDthPTA7Zz0w
O2g9MDt3aGlsZSgxKXtpZigoYXwwKT49KGt8MCkpYnJlYWs7bz0oYlsoZlsoZlsoZltsPj4yXXww
KSsoYTw8Mik+PjJdfDApKzE2Pj4yXXwwKSsxNTY+PjBdfDApPT0wO2E9YSsxfDA7Zz1nKyhvJjEp
fDA7aD1oKygob14xKSYxKXwwfWk9aTw8MjQ+PjI0PT0wO2g9Zz4+PjA8aD4+PjA/KGk/ZDplKTpp
P2U6ZDtpPTA7YT0wO3doaWxlKDEpe2lmKChhfDApPj0oa3wwKSlicmVhaztpPShmWyhmW2w+PjJd
fDApKyhhPDwyKT4+Ml18MCk9PShofDApP2E6aTthPWErMXwwfW89KGJbKGZbaCsxNj4+Ml18MCkr
MTU2Pj4wXXwwKT09MCYxO249MDtnPWk7d2hpbGUoMSl7YT1nKy0xfDA7aWYoKGd8MCk8PTApYnJl
YWs7aWYoKGJbKGZbKGZbKGZbbD4+Ml18MCkrKGE8PDIpPj4yXXwwKSsxNj4+Ml18MCkrMTU2Pj4w
XXwwKSE9KG98MCkpYnJlYWs7bj1uKzF8MDtnPWF9bT0wO2E9aTt3aGlsZSgxKXthPWErMXwwO2lm
KChhfDApPj0oa3wwKSlicmVhaztpZigoYlsoZlsoZlsoZltsPj4yXXwwKSsoYTw8Mik+PjJdfDAp
KzE2Pj4yXXwwKSsxNTY+PjBdfDApIT0ob3wwKSlicmVhazttPW0rMXwwfUVpKGQsZSk7aj1mWyhm
W2o+PjJdfDApKzE5Nj4+Ml18MDtrPWZbaisoYzw8Nik+PjJdfDA7aj1qKyhjPDw2KSs0fDA7YT0w
O3doaWxlKDEpe2lmKChhfDApPj0oa3wwKSlicmVhaztpPShmWyhmW2o+PjJdfDApKyhhPDwyKT4+
Ml18MCk9PShofDApP2E6aTthPWErMXwwfWg9MDtnPWk7d2hpbGUoMSl7YT1nKy0xfDA7aWYoKGd8
MCk8PTApYnJlYWs7aWYoKGJbKGZbKGZbKGZbaj4+Ml18MCkrKGE8PDIpPj4yXXwwKSsxNj4+Ml18
MCkrMTU2Pj4wXXwwKSE9KG98MCkpYnJlYWs7aD1oKzF8MDtnPWF9Zz0wO2E9aTt3aGlsZSgxKXth
PWErMXwwO2lmKChhfDApPj0oa3wwKSlicmVhaztpZigoYlsoZlsoZlsoZltqPj4yXXwwKSsoYTw8
Mik+PjJdfDApKzE2Pj4yXXwwKSsxNTY+PjBdfDApIT0ob3wwKSlicmVhaztnPWcrMXwwfWM9aC1n
fDA7bz1uLW18MDtpZigoKChjfDApPi0xP2M6MC1jfDApfDApPigoKG98MCk+LTE/bzowLW98MCl8
MCkpRWkoZCxlKX1yZXR1cm59ZnVuY3Rpb24gRWkoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9
MCxlPTAsZz0wLGg9MDtlPWZbYSsxNj4+Ml18MDtkPWZbZSsyMzI+PjJdfDA7ZT1lKzIzNnwwO2M9
ZltlPj4yXXwwO2c9YisxNnwwO2g9ZlsoZltnPj4yXXwwKSsyMzY+PjJdfDA7ZltlPj4yXT1oO2U9
KGZbNDgxNTNdfDApKzE2fDA7ZlsoZlsoZlsoZltlPj4yXXwwKSsxOTY+PjJdfDApKyhkPDw2KSs0
Pj4yXXwwKSsoaDw8Mik+PjJdPWE7ZlsoZltnPj4yXXwwKSsyMzY+PjJdPWM7ZlsoZlsoZlsoZltl
Pj4yXXwwKSsxOTY+PjJdfDApKyhkPDw2KSs0Pj4yXXwwKSsoYzw8Mik+PjJdPWI7cmV0dXJufWZ1
bmN0aW9uIEZpKGEsYyxlKXthPWF8MDtjPWN8MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9
MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTA7cz1hKzE2fDA7bz1mWyhm
W3M+PjJdfDApKzE5Nj4+Ml18MDtiW28rKGM8PDYpKzQ4Pj4wXT0wO3Q9KGN8MCk+MDt1PWMrMXww
O3I9YystMXwwO3A9KGV8MCkhPTA7Zz0wO3E9MDtlPW87YTp3aGlsZSgxKXttPShmW2UrKGM8PDYp
Pj4yXXwwKSstMXwwO249ZSsoYzw8NikrNHwwO2s9ZSsodTw8Nil8MDtlPWc7d2hpbGUoMSl7aWYo
KGV8MCk+PShtfDApKXtlPTE5O2JyZWFrIGF9aD1mW24+PjJdfDA7aT1mW2grKGU8PDIpPj4yXXww
O289ZSsxfDA7aD1mW2grKG88PDIpPj4yXXwwO2lmKChmWyhmW2krMTY+PjJdfDApKzIzNj4+Ml18
MCk+PShmWyhmW2grMTY+PjJdfDApKzIzNj4+Ml18MCkpe2U9NTticmVhayBhfWlmKCEoQWkoYSxp
LGgpfDApKXtpZih0KXtlPUJpKGksaCl8MDtnPUJpKGgsaSl8MH1lbHNle2U9MDtnPTB9aWYoKGZb
az4+Ml18MCk+MCl7bD0oQ2koaSxoKXwwKStlfDA7aj0oQ2koaCxpKXwwKStnfDB9ZWxzZXtsPWU7
aj1nfWlmKChsfDApPihqfDApKWJyZWFrO2lmKChsfDApPT0oanwwKSYocCYobHwwKT4wKSlicmVh
a31lPW99RWkoaSxoKTtnPWZbKGZbKGZbNDgxNTNdfDApKzE2Pj4yXXwwKSsxOTY+PjJdfDA7Yltn
KyhjPDw2KSs0OT4+MF09MDtoPWZbcz4+Ml18MDtlPWZbaCsxOTY+PjJdfDA7YltlKyhjPDw2KSs0
OD4+MF09MTtpZigoZFtoKzIzNj4+MV18MCk8KGN8MCkpe2JbZysocjw8NikrNDk+PjBdPTA7Yltl
KyhyPDw2KSs0OD4+MF09MX1pZigoZFtoKzIzOD4+MV18MCk+KGN8MCkpe2JbZysodTw8NikrNDk+
PjBdPTA7YltlKyh1PDw2KSs0OD4+MF09MX1nPW87cT1sLWorcXwwfWlmKChlfDApPT01KXhhKDk4
Mjk1LDk3ODEzLDc3MCw5ODMyOSk7ZWxzZSBpZigoZXwwKT09MTkpcmV0dXJuIHF8MDtyZXR1cm4g
MH1mdW5jdGlvbiBHaShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGU9MCxnPTAuMCxpPTAs
aj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MCxzPTA7cT1mWzQ4MTUxXXwwO3I9YSsxNnww
O2E9ZlsoZltyPj4yXXwwKSsxOTY+PjJdfDA7cz1mW2ErKGI8PDYpKzQ+PjJdfDA7bj0oY3wwKT4o
YnwwKTtvPXErNHwwO209MDt3aGlsZSgxKXtjPWZbYSsoYjw8Nik+PjJdfDA7aWYoKG18MCk+PShj
fDApKWJyZWFrO2w9KGZbcysobTw8Mik+PjJdfDApKzE2fDA7az1mW2w+PjJdfDA7YTpkbyBpZihu
KXtqPWZbaysxODA+PjJdfDA7YT0wO2k9MDt3aGlsZSgxKXtjPWZbaisoaTw8Mik+PjJdfDA7aWYo
IWMpYnJlYWsgYTtlPWZbYysxNj4+Ml18MDtpZigoZFtlKzE1ND4+MV18MCk+MCl7ZltxKyhhPDwy
KT4+Ml09ZlsoZlsoZlsoKGZbYz4+Ml0mM3wwKT09Mj9jOmMrLTQ4fDApKzQwPj4yXXwwKSsxNj4+
Ml18MCkrMjM2Pj4yXTw8OHxoW2UrODg+PjBdO2E9YSsxfDB9aT1pKzF8MH19ZWxzZXtqPWZbaysx
NzI+PjJdfDA7aT0wO2E9MDt3aGlsZSgxKXtjPWZbaisoaTw8Mik+PjJdfDA7aWYoIWMpYnJlYWsg
YTtlPWZbYysxNj4+Ml18MDtpZigoZFtlKzE1ND4+MV18MCk+MCl7ZltxKyhhPDwyKT4+Ml09Zlso
ZlsoZlsoKGZbYz4+Ml0mM3wwKT09Mz9jOmMrNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzY+
PjJdPDw4fGhbZSs0OD4+MF07YT1hKzF8MH1pPWkrMXwwfX13aGlsZSgwKTtiOmRvIHN3aXRjaChh
fDApe2Nhc2UgMDp7YT1rO2c9LTEuMDticmVha31jYXNlIDE6e2E9aztnPSsoZltxPj4yXXwwKTti
cmVha31jYXNlIDI6e2E9aztnPSsoKChmW28+PjJdfDApKyhmW3E+PjJdfDApfDApLzJ8MHwwKTti
cmVha31kZWZhdWx0OntXJChxLGEsNCw2MCk7Yz0oYXwwKS8yfDA7aWYoYSYxfDApe2E9ZltsPj4y
XXwwO2c9KyhmW3ErKGM8PDIpPj4yXXwwKTticmVhayBifWk9ZltxKyhjPDwyKT4+Ml18MDtlPShm
W3ErKGErLTE8PDIpPj4yXXwwKS1pfDA7Yz1mW3ErKGMrLTE8PDIpPj4yXXwwO2E9Yy0oZltxPj4y
XXwwKXwwO2lmKChhfDApPT0oZXwwKSl7YT1mW2w+PjJdfDA7Zz0rKChjK2l8MCkvMnwwfDApO2Jy
ZWFrIGJ9ZWxzZXtnPSsoKChWKGEsaSl8MCkrKFYoYyxlKXwwKXwwKS8oYStlfDApfDB8MCk7YT1m
W2w+PjJdfDA7YnJlYWsgYn19fXdoaWxlKDApO3BbYSsyNDA+PjNdPWc7bT1tKzF8MDthPWZbKGZb
cj4+Ml18MCkrMTk2Pj4yXXwwfWE9MDtpPTA7d2hpbGUoMSl7aWYoKGl8MCk+PShjfDApKWJyZWFr
O2U9ZltzKyhpPDwyKT4+Ml18MDtxPWZbZSsxNj4+Ml18MDtpZigoZltxKzE4ND4+Ml18MCk9PTA/
KGZbcSsxNzY+PjJdfDApPT0wOjApe2E9KElpKGUpfDB8YSYyNTUpJjI1NTtjPWZbKGZbKGZbcj4+
Ml18MCkrMTk2Pj4yXXwwKSsoYjw8Nik+PjJdfDB9aT1pKzF8MH1yZXR1cm4gYXwwfWZ1bmN0aW9u
IEhpKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAs
az0wLGw9MC4wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0wO249ZlsoZlthKzE2Pj4yXXwwKSsxOTY+
PjJdfDA7cz1mW24rKGM8PDYpKzQ+PjJdfDA7bj1mW24rKGM8PDYpPj4yXXwwO3E9KGR8MCkhPTA7
bz0oZXxkfDApPT0wO2U9MDtkPW47bj1zKyhuPDwyKXwwO3doaWxlKDEpe209ZCstMXwwO2lmKChk
fDApPD0wKWJyZWFrO2Q9czthOndoaWxlKDEpe2Rve2lmKGQ+Pj4wPj1uPj4+MClicmVhayBhO3do
aWxlKDEpe2lmKGQ+Pj4wPj1uPj4+MClicmVhayBhO2s9ZltkPj4yXXwwO2w9K3BbKGZbaysxNj4+
Ml18MCkrMjQwPj4zXTtpZighKGw8MC4wKSlicmVhaztkPWQrNHwwfWo9MDt3aGlsZSgxKXtnPWo8
PDI0Pj4yND09MDt3aGlsZSgxKXtkPWQrNHwwO2lmKGQ+Pj4wPj1uPj4+MClicmVhayBhO2lmKGcp
e2c9MTQ7YnJlYWt9aD1mW2Q+PjJdfDA7aWYoIShmWyhmW2grMTY+PjJdfDApKzIxMj4+Ml18MCkp
e2c9MTY7YnJlYWt9fWlmKChnfDApPT0xNCl7Zz0wO2g9ZltkPj4yXXwwO2k9aH1lbHNlIGlmKChn
fDApPT0xNil7Zz0wO2k9aH1pZihBaShhLGssaSl8MClicmVhaztnPWZbaCsxNj4+Ml18MDtpZigr
cFtnKzI0MD4+M10+PTAuMCl7Zz0yMDticmVha31qPShmW2crMjEyPj4yXXwwKT09MD9qOjF9fXdo
aWxlKCEoKGd8MCk9PTIwPygwLGc9fn5sLGo9fn4rcFsoZltoKzE2Pj4yXXwwKSsyNDA+PjNdLChn
fDApPihqfDApfHEmKGd8MCk9PShqfDApKTowKSk7RWkoayxpKTtlPWUrMXwwfWQ9bTtuPW8/bist
NHwwOm59aWYoZXwwPyhyPWZbKGZbKGZbNDgxNTNdfDApKzE2Pj4yXXwwKSsxOTY+PjJdfDAsYlty
KyhjPDw2KSs0OT4+MF09MCwoY3wwKT4wKTowKWJbcisoYystMTw8NikrNDk+PjBdPTA7cmV0dXJu
fWZ1bmN0aW9uIElpKGEpe2E9YXwwO3ZhciBiPTAuMCxjPTAsZD0wLGU9MCxnPTA7Zz1mW2ErMTY+
PjJdfDA7aWYoKGZbZysyMDA+PjJdfDApPjApe2U9ZltnKzE5Nj4+Ml18MDthPWZbZT4+Ml18MDth
PWZbKChmW2E+PjJdJjN8MCk9PTM/YTphKzQ4fDApKzQwPj4yXXwwO2M9MTt3aGlsZSgxKXtkPWZb
ZSsoYzw8Mik+PjJdfDA7aWYoIWQpYnJlYWs7ZD1mWygoZltkPj4yXSYzfDApPT0zP2Q6ZCs0OHww
KSs0MD4+Ml18MDthPShmWyhmW2QrMTY+PjJdfDApKzIzNj4+Ml18MCk+KGZbKGZbYSsxNj4+Ml18
MCkrMjM2Pj4yXXwwKT9kOmE7Yz1jKzF8MH1iPStwWyhmW2ErMTY+PjJdfDApKzI0MD4+M107aWYo
IShiPj0wLjApKWE9MTtlbHNle3BbZysyNDA+PjNdPWIrMS4wO2E9MH19ZWxzZSBpZigoZltnKzE5
Mj4+Ml18MCk+MCl7ZD1mW2crMTg4Pj4yXXwwO2M9ZltkPj4yXXwwO2E9MTtjPWZbKChmW2M+PjJd
JjN8MCk9PTI/YzpjKy00OHwwKSs0MD4+Ml18MDt3aGlsZSgxKXtlPWZbZCsoYTw8Mik+PjJdfDA7
aWYoIWUpYnJlYWs7ZT1mWygoZltlPj4yXSYzfDApPT0yP2U6ZSstNDh8MCkrNDA+PjJdfDA7YT1h
KzF8MDtjPShmWyhmW2UrMTY+PjJdfDApKzIzNj4+Ml18MCk8KGZbKGZbYysxNj4+Ml18MCkrMjM2
Pj4yXXwwKT9lOmN9Yj0rcFsoZltjKzE2Pj4yXXwwKSsyNDA+PjNdO2lmKGI+MC4wKXtwW2crMjQw
Pj4zXT1iKy0xLjA7YT0wfWVsc2UgYT0xfWVsc2UgYT0xO3JldHVybiBhfDB9ZnVuY3Rpb24gSmko
YSxiKXthPWF8MDtiPWJ8MDtyZXR1cm4gKGZbKGZbKGZbYT4+Ml18MCkrMTY+PjJdfDApKzIzNj4+
Ml18MCktKGZbKGZbKGZbYj4+Ml18MCkrMTY+PjJdfDApKzIzNj4+Ml18MCl8MH1mdW5jdGlvbiBL
aShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09
MCxuPTAsbz0wO289dDt0PXQrOTZ8MDtuPW8rNjR8MDttPW8rNDh8MDtoPW8rMjR8MDtlPW87aj1i
KzE2fDA7az1mWyhmW2o+PjJdfDApKzIzMj4+Ml18MDtsPWErMTZ8MDtjPWZbKGZbbD4+Ml18MCkr
MTk2Pj4yXXwwO2k9ZltjKyhrPDw2KT4+Ml18MDtkbyBpZigoZltjKyhrPDw2KSs4Pj4yXXwwKT49
MSl7ZlsoZltjKyhrPDw2KSs0Pj4yXXwwKSsoaTw8Mik+PjJdPWI7ZlsoZltqPj4yXXwwKSsyMzY+
PjJdPWk7YT1mW2w+PjJdfDA7ZT1mW2ErMTk2Pj4yXXwwO2M9ZSsoazw8Nil8MDtnPWZbYz4+Ml18
MDtmW2M+PjJdPWcrMTtpZigoZ3wwKT49KGZbZSsoazw8NikrOD4+Ml18MCkpeGEoOTg0MDksOTc4
MTMsMTM0Niw5ODQ0NSk7Zz1mWyhmWyhmWyhmWzQ4MTUzXXwwKSsxNj4+Ml18MCkrMTk2Pj4yXXww
KSsoazw8NikrOD4+Ml18MDtpZigoaXwwKT4oZ3wwKSl7bD1BeShiKXwwO209ZlsoZltqPj4yXXww
KSsyMzY+PjJdfDA7bj1mWyhmWyhmWyhmWzQ4MTUzXXwwKSsxNj4+Ml18MCkrMTk2Pj4yXXwwKSso
azw8NikrOD4+Ml18MDtmW2g+PjJdPTEzNTk7ZltoKzQ+PjJdPWw7ZltoKzg+PjJdPW07ZltoKzEy
Pj4yXT1rO2ZbaCsxNj4+Ml09bjtZdygxLDk4NDYxLGgpfDA7YnJlYWt9Yz1kW2ErMjM2Pj4xXXww
O2E9ZFthKzIzOD4+MV18MDtpZigoa3wwKTwoY3wwKXwoa3wwKT4oYXwwKSl7ZlttPj4yXT0xMzY0
O2ZbbSs0Pj4yXT1rO2ZbbSs4Pj4yXT1jO2ZbbSsxMj4+Ml09YTtZdygxLDk4NTM0LG0pfDA7YnJl
YWt9aWYoKChmW2UrKGs8PDYpKzQ+PjJdfDApKyhpPDwyKXwwKT4+PjA+KChmW2UrKGs8PDYpKzEy
Pj4yXXwwKSsoZzw8Mil8MCk+Pj4wKXtpPUF5KGIpfDA7bT1mWyhmW2w+PjJdfDApKzE5Nj4+Ml18
MDtsPShmW20rKGs8PDYpKzQ+PjJdfDApKyhmWyhmW2o+PjJdfDApKzIzNj4+Ml08PDIpfDA7bT0o
ZlttKyhrPDw2KSsxMj4+Ml18MCkrKGZbKGZbKGZbKGZbNDgxNTNdfDApKzE2Pj4yXXwwKSsxOTY+
PjJdfDApKyhrPDw2KSs4Pj4yXTw8Mil8MDtmW24+PjJdPTEzNzA7ZltuKzQ+PjJdPWs7ZltuKzg+
PjJdPWk7ZltuKzEyPj4yXT1sO2ZbbisxNj4+Ml09aztmW24rMjA+PjJdPWs7ZltuKzI0Pj4yXT1t
O1l3KDEsOTg1OTUsbil8MH19ZWxzZXttPUF5KGEpfDA7bj1BeShiKXwwO2ZbZT4+Ml09MTMzOTtm
W2UrND4+Ml09bTtmW2UrOD4+Ml09bjtmW2UrMTI+PjJdPWs7ZltlKzE2Pj4yXT1pO1l3KDEsOTgz
NTQsZSl8MH13aGlsZSgwKTt0PW87cmV0dXJufWZ1bmN0aW9uIExpKGEsYyxkKXthPWF8MDtjPWN8
MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTA7aD1jKzE2fDA7YTpkbyBpZighZCl7Zz0wO3doaWxlKDEp
e2M9ZltoPj4yXXwwO2lmKChnfDApPj0oZltjKzE4ND4+Ml18MCkpYnJlYWsgYTtjPWZbKGZbYysx
ODA+PjJdfDApKyhnPDwyKT4+Ml18MDtkPWMrLTQ4fDA7ZT0oZlsoZlsoKGZbYz4+Ml0mM3wwKT09
Mj9jOmQpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTU3fDA7aWYoIShiW2U+PjBdfDApKXtiW2U+PjBd
PTE7UkwoYSxmWygoZltjPj4yXSYzfDApPT0yP2M6ZCkrNDA+PjJdfDApfWc9ZysxfDB9fWVsc2V7
Zz0wO3doaWxlKDEpe2M9ZltoPj4yXXwwO2lmKChnfDApPj0oZltjKzE3Nj4+Ml18MCkpYnJlYWsg
YTtjPWZbKGZbYysxNzI+PjJdfDApKyhnPDwyKT4+Ml18MDtkPWMrNDh8MDtlPShmWyhmWygoZltj
Pj4yXSYzfDApPT0zP2M6ZCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsxNTd8MDtpZighKGJbZT4+MF18
MCkpe2JbZT4+MF09MTtSTChhLGZbKChmW2M+PjJdJjN8MCk9PTM/YzpkKSs0MD4+Ml18MCl9Zz1n
KzF8MH19d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIE1pKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGU9
MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdT0w
LHY9MDt2PXQ7dD10KzE2fDA7dT12O2c9YSsxNnwwO2U9ZlsoZltnPj4yXXwwKSsxOTY+PjJdfDA7
cj1mW2UrKGM8PDYpKzQ+PjJdfDA7cz1jKzF8MDthPWZbKGZbKGZbKGZbNDgxNTNdfDApKzE2Pj4y
XXwwKSsxOTY+PjJdfDApKyhzPDw2KT4+Ml18MDtpZigoZls0ODE1N118MCk+KGF8MCkpcD1mWzQ4
MTU4XXwwO2Vsc2V7YT1hKzF8MDtmWzQ4MTU3XT1hO2U9Zls0ODE1OF18MDtpZighZSlhPUVIKGE8
PDIpfDA7ZWxzZSBhPUdIKGUsYTw8Mil8MDtmWzQ4MTU4XT1hO2U9ZlsoZltnPj4yXXwwKSsxOTY+
PjJdfDA7cD1hfXE9ZSsoczw8Nil8MDthPTA7d2hpbGUoMSl7aWYoKGF8MCk+PShmW3E+PjJdfDAp
KWJyZWFrO2ZbcCsoYTw8Mik+PjJdPTA7YT1hKzF8MH1vPWUrKGM8PDYpfDA7bj0wO2g9MDthPTA7
aj1wO3doaWxlKDEpe2s9ZltvPj4yXXwwO2lmKChufDApPj0oa3wwKSlicmVhazttPWZbKGZbKGZb
cisobjw8Mik+PjJdfDApKzE2Pj4yXXwwKSsxODA+PjJdfDA7YTpkbyBpZigoaHwwKT4wKXtsPTA7
d2hpbGUoMSl7Zz1mW20rKGw8PDIpPj4yXXwwO2lmKCFnKWJyZWFrIGE7az1nKzE2fDA7aT1mWyhm
WyhmWygoZltnPj4yXSYzfDApPT0yP2c6ZystNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzY+
PjJdfDA7d2hpbGUoMSl7Zz1pKzF8MDtpZigoaXwwKT49KGh8MCkpYnJlYWs7aT1nO2E9KFYoZltq
KyhnPDwyKT4+Ml18MCxkWyhmW2s+PjJdfDApKzE1ND4+MV18MCl8MCkrYXwwfWw9bCsxfDB9fXdo
aWxlKDApO2k9MDt3aGlsZSgxKXtnPWZbbSsoaTw8Mik+PjJdfDA7aWYoIWcpYnJlYWs7aj1mWyhm
WyhmWygoZltnPj4yXSYzfDApPT0yP2c6ZystNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzY+
PjJdfDA7bD1wKyhqPDwyKXwwO2ZbbD4+Ml09KGZbbD4+Ml18MCkrKGRbKGZbZysxNj4+Ml18MCkr
MTU0Pj4xXXwwKTtoPShqfDApPihofDApP2o6aDtpPWkrMXwwO2o9cH1uPW4rMXwwfWk9ZSsoYzw8
NikrNHwwO2g9MDt3aGlsZSgxKXtpZigoaHwwKT49KGt8MCkpYnJlYWs7Zz1mWyhmWyhmW2k+PjJd
fDApKyhoPDwyKT4+Ml18MCkrMTY+PjJdfDA7aWYoYltnKzE0NT4+MF18MCl7Yz1nKzE4MHwwO2Zb
dT4+Ml09ZltjPj4yXTtmW3UrND4+Ml09ZltjKzQ+PjJdO2E9KE5pKHUsMSl8MCkrYXwwfWg9aCsx
fDB9aT1mW3E+PjJdfDA7aD1lKyhzPDw2KSs0fDA7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oaXww
KSlicmVhaztlPWZbKGZbKGZbaD4+Ml18MCkrKGc8PDIpPj4yXXwwKSsxNj4+Ml18MDtpZihiW2Ur
MTQ1Pj4wXXwwKXtzPWUrMTcyfDA7Zlt1Pj4yXT1mW3M+PjJdO2ZbdSs0Pj4yXT1mW3MrND4+Ml07
YT0oTmkodSwtMSl8MCkrYXwwfWc9ZysxfDB9dD12O3JldHVybiBhfDB9ZnVuY3Rpb24gTmkoYSxi
KXthPWF8MDtiPWJ8MDt2YXIgYz0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7bT0o
YnwwKTwxO2w9ZlthPj4yXXwwO2E9MDtiPTA7d2hpbGUoMSl7az1mW2wrKGE8PDIpPj4yXXwwO2lm
KCFrKWJyZWFrO2E9YSsxfDA7YTpkbyBpZihtKXtpPWsrNDh8MDtqPWsrMTZ8MDtoPWE7d2hpbGUo
MSl7Yz1mW2wrKGg8PDIpPj4yXXwwO2lmKCFjKWJyZWFrIGE7ZT1mW2MrMTY+PjJdfDA7Zz1mW2o+
PjJdfDA7aWYoKCtwW2UrNTY+PjNdLStwW2crNTY+PjNdKSorKChmWyhmWyhmWygoZltjPj4yXSYz
fDApPT0zP2M6Yys0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzNj4+Ml18MCktKGZbKGZbKGZb
KChmW2s+PjJdJjN8MCk9PTM/azppKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzNj4+Ml18MCl8MCk8
MC4wKWI9KFYoZFtlKzE1ND4+MV18MCxkW2crMTU0Pj4xXXwwKXwwKStifDA7aD1oKzF8MH19ZWxz
ZXtpPWsrLTQ4fDA7aj1rKzE2fDA7aD1hO3doaWxlKDEpe2M9ZltsKyhoPDwyKT4+Ml18MDtpZigh
YylicmVhayBhO2U9ZltjKzE2Pj4yXXwwO2c9ZltqPj4yXXwwO2lmKCgrcFtlKzE2Pj4zXS0rcFtn
KzE2Pj4zXSkqKygoZlsoZlsoZlsoKGZbYz4+Ml0mM3wwKT09Mj9jOmMrLTQ4fDApKzQwPj4yXXww
KSsxNj4+Ml18MCkrMjM2Pj4yXXwwKS0oZlsoZlsoZlsoKGZbaz4+Ml0mM3wwKT09Mj9rOmkpKzQw
Pj4yXXwwKSsxNj4+Ml18MCkrMjM2Pj4yXXwwKXwwKTwwLjApYj0oVihkW2UrMTU0Pj4xXXwwLGRb
ZysxNTQ+PjFdfDApfDApK2J8MDtoPWgrMXwwfX13aGlsZSgwKX1yZXR1cm4gYnwwfWZ1bmN0aW9u
IE9pKGEpe2E9YXwwO3ZhciBiPTAuMCxjPTAuMDtmWzQ4MTU2XT04O2ZbNDgzMjddPTI0O3BbMjM5
NjVdPS45OTU7YT1HeChhLDk4NzE3KXwwO2lmKGF8MD8oYj0rQzIoYSksYj4wLjApOjApe2M9Yior
KGZbNDgxNTZdfDApO2ZbNDgxNTZdPX5+KGM+MS4wP2M6MS4wKTtiPWIqKyhmWzQ4MzI3XXwwKTtm
WzQ4MzI3XT1+fihiPjEuMD9iOjEuMCl9cmV0dXJufWZ1bmN0aW9uIFBpKGEpe2E9YXwwO3ZhciBi
PTAsYz0wO2M9KGRbKGZbYSsxNj4+Ml18MCkrMjM4Pj4xXXwwKSsyfDA7Yj1ESChjPDwyKXwwO1Jp
KGEsYixjLDApfDA7TV8oYik7cmV0dXJufWZ1bmN0aW9uIFFpKGEpe2E9YXwwO3ZhciBiPTAsYz0w
LGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2g9YSsxNnwwO2k9REgoKGRbKGZbaD4+Ml18MCkrMjM4
Pj4xXTw8MikrOHwwKXwwO2U9JHkoYSl8MDt3aGlsZSgxKXtpZighZSlicmVhaztjPWkrKGZbKGZb
ZSsxNj4+Ml18MCkrMjMyPj4yXTw8Mil8MDtmW2M+PjJdPShmW2M+PjJdfDApKzE7Yz1OeChhLGUp
fDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7aj1mW2M+PjJdJjM7Yj1mWyhmWyhmWygoanwwKT09Mz9j
OmMrNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDA7aj1mWyhmWyhmWygoanwwKT09
Mj9jOmMrLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwO2s9KGJ8MCk+KGp8MCk7
Zz1rP2I6ajtiPWs/ajpiO3doaWxlKDEpe2I9YisxfDA7aWYoKGJ8MCk+PShnfDApKWJyZWFrO2s9
aSsoYjw8Mil8MDtmW2s+PjJdPShmW2s+PjJdfDApKzF9Yz1QeChhLGMpfDB9ZT1heihhLGUpfDB9
ZT1ESCgoZFsoZltoPj4yXXwwKSsyMzg+PjFdPDw2KSsxMjh8MCl8MDtjPWZbaD4+Ml18MDtmW2Mr
MTk2Pj4yXT1lO2I9ZFtjKzIzNj4+MV18MDt3aGlsZSgxKXtpZigoYnwwKT4oZFtjKzIzOD4+MV18
MCkpYnJlYWs7aj1pKyhiPDwyKXwwO2M9ZltqPj4yXXwwO2ZbZSsoYjw8Nik+PjJdPWM7ZltlKyhi
PDw2KSs4Pj4yXT1jO2o9REgoKGZbaj4+Ml08PDIpKzR8MCl8MDtjPWZbaD4+Ml18MDtrPWZbYysx
OTY+PjJdfDA7ZltrKyhiPDw2KSs0Pj4yXT1qO2ZbaysoYjw8NikrMTI+PjJdPWo7Yj1iKzF8MDtl
PWt9TV8oaSk7cmV0dXJufWZ1bmN0aW9uIFJpKGEsYixjLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2U9
ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtsPWErMTZ8MDtoPTE7d2hpbGUoMSl7Zz1m
W2w+PjJdfDA7aWYoKGh8MCk+KGZbZysxODA+PjJdfDApKWJyZWFrO2s9UmkoZlsoZltnKzE4ND4+
Ml18MCkrKGg8PDIpPj4yXXwwLGIsYyxlKXwwO2g9aCsxfDA7ZT1rfWE6ZG8gaWYoKHJnKGEpfDAp
IT0oYXwwKSl7UzMoYnwwLDAsYzw8MnwwKXwwO2c9JHkoYSl8MDt3aGlsZSgxKXtpZighZylicmVh
aztqPWcrMTZ8MDtmW2IrKGZbKGZbaj4+Ml18MCkrMjMyPj4yXTw8Mik+PjJdPTE7aD1OeChhLGcp
fDA7d2hpbGUoMSl7aWYoIWgpYnJlYWs7az1oKy00OHwwO2k9ZlsoZltqPj4yXXwwKSsyMzI+PjJd
fDA7d2hpbGUoMSl7Yz1pKzF8MDtpZigoaXwwKT49KGZbKGZbKGZbKChmW2g+PjJdJjN8MCk9PTI/
aDprKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCkpYnJlYWs7ZltiKyhjPDwyKT4+Ml09
MTtpPWN9aD1QeChhLGgpfDB9Zz1heihhLGcpfDB9Zz1mW2w+PjJdfDA7aD1kW2crMjM2Pj4xXXww
O3doaWxlKDEpe2lmKChofDApPihkW2crMjM4Pj4xXXwwKSlicmVhayBhO2lmKCEoZltiKyhoPDwy
KT4+Ml18MCkpe2lmKCFlKWU9RUEocmcoYSl8MCw5ODcwNywxKXwwO2c9anooZSwwLDEpfDA7Snoo
ZywxNDU3MTcsMzA0LDEpfDA7az1nKzE2fDA7aT1mW2s+PjJdfDA7ZltpKzIzMj4+Ml09aDtwW2kr
OTY+PjNdPS41O3BbaSs4OD4+M109LjU7cFtpKzgwPj4zXT0xLjA7ZltpKzIxNj4+Ml09MTtmW2kr
MTc2Pj4yXT0wO2k9REgoMjApfDA7aj1mW2s+PjJdfDA7ZltqKzE3Mj4+Ml09aTtmW2orMTg0Pj4y
XT0wO2o9REgoMjApfDA7ZlsoZltrPj4yXXwwKSsxODA+PjJdPWo7ZXooYSxnLDEpfDA7Zz1mW2w+
PjJdfDB9aD1oKzF8MH19d2hpbGUoMCk7cmV0dXJuIGV8MH1mdW5jdGlvbiBTaShhKXthPWF8MDt2
YXIgYj0wLGM9MDtnaShhKTtiPWErMTZ8MDthPTE7d2hpbGUoMSl7Yz1mW2I+PjJdfDA7aWYoKGF8
MCk+KGZbYysxODA+PjJdfDApKWJyZWFrO1NpKGZbKGZbYysxODQ+PjJdfDApKyhhPDwyKT4+Ml18
MCk7YT1hKzF8MH1yZXR1cm59ZnVuY3Rpb24gVGkoYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yj1mW2E+
PjJdJjM7Yz1VaShmWygoYnwwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDApfDA7Yj01MTIwKyhjKjEy
fDApKygoVWkoZlsoKGJ8MCk9PTI/YTphKy00OHwwKSs0MD4+Ml18MCl8MCk8PDIpfDA7YT0oZlth
KzE2Pj4yXXwwKSsxNTZ8MDtiPVYoZlthPj4yXXwwLGZbYj4+Ml18MCl8MDtmW2E+PjJdPWI7cmV0
dXJufWZ1bmN0aW9uIFVpKGEpe2E9YXwwO2E9ZlthKzE2Pj4yXXwwO2lmKChiW2ErMTU2Pj4wXXww
KT09MSlhPTI7ZWxzZSBhPShiW2ErMTYwPj4wXXwwKTwyJjE7cmV0dXJuIGF8MH1mdW5jdGlvbiBW
aShhLGMpe2E9YXwwO2M9Y3wwO2lmKGZbKGZbYSsxNj4+Ml18MCkrMTkyPj4yXXwwKXt1bChhKTtX
aShhKTtpZihiWzE5NDg2NV18MClJbChhKTtYaShhKTtpZihfbChhKXwwKVdpKGEpO1lpKGEpO2lm
KG9JKGEsMixaaShhKXwwKXwwPyhfaShhKSxvSShhLDIsWmkoYSl8MCl8MCk6MCl4YSg5ODcyNSw5
ODc1MywxMzQsOTg3NjQpOyRpKGEpO2FqKGEsYyk7YmooYSl9cmV0dXJufWZ1bmN0aW9uIFdpKGEp
e2E9YXwwO3ZhciBjPTAsZT0wLGc9MCxoPTAsaT0wLjAsaj0wLjAsaz0wLGw9MCxtPTAsbj0wLG89
MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MC4wLHo9MC4wO3Y9YSsxNnwwO2M9
Zlt2Pj4yXXwwO3c9ZltjKzE5Nj4+Ml18MDt0PWRbYysyMzY+PjFdfDA7d2hpbGUoMSl7aWYoKHR8
MCk+KGRbYysyMzg+PjFdfDApKWJyZWFrO209dysodDw8Nil8MDtuPXcrKHQ8PDYpKzR8MDtvPXcr
KHQ8PDYpKzQwfDA7cT13Kyh0PDw2KSsyNHwwO3I9dysodDw8NikrMzJ8MDtzPXcrKHQ8PDYpKzE2
fDA7bD0wO3doaWxlKDEpe2lmKChsfDApPj0oZlttPj4yXXwwKSlicmVhaztrPShmWyhmW24+PjJd
fDApKyhsPDwyKT4+Ml18MCkrMTZ8MDtjPWZbaz4+Ml18MDtpPStwW2MrODA+PjNdKi41O2g9Zltj
KzIwND4+Ml18MDthOmRvIGlmKGgpe2c9MDt3aGlsZSgxKXtlPWZbaCsoZzw8Mik+PjJdfDA7aWYo
IWUpYnJlYWsgYTt4PWZbZT4+Ml0mMztpZigoZlsoKHh8MCk9PTM/ZTplKzQ4fDApKzQwPj4yXXww
KT09KGZbKCh4fDApPT0yP2U6ZSstNDh8MCkrNDA+PjJdfDApPyh1PWZbKGZbZSsxNj4+Ml18MCkr
OTY+PjJdfDAsKHV8MCkhPTApOjApe2o9K3BbdSszMj4+M10qLjU7aT1pPmo/aTpqfWc9ZysxfDB9
fXdoaWxlKDApO2lmKCtwW28+PjNdPGkpe3BbcT4+M109aTtwW28+PjNdPWl9aWYoK3Bbcj4+M108
aSl7cFtzPj4zXT1pO3Bbcj4+M109aX1lPWZbYysyMTI+PjJdfDA7aWYoZXwwKXtpZigoZXwwKT09
KGF8MCkpZz0wO2Vsc2V7Zz1UTChlLGZbNDgzMzZdfDAsOCwwKXwwO2M9ZltrPj4yXXwwfWg9Zltj
KzIzMj4+Ml18MDtlPWZbZSsxNj4+Ml18MDtjPWUrMTI4fDA7aT1pKyArKGd8MCk7aWYoKGh8MCk9
PShkW2UrMjM2Pj4xXXwwKSl7aj0rcFtjPj4zXTtwW2M+PjNdPWo+aT9qOml9Yz1lKzEyMHwwO2lm
KChofDApPT0oZFtlKzIzOD4+MV18MCkpe2o9K3BbYz4+M107cFtjPj4zXT1qPmk/ajppfX1sPWwr
MXwwfXQ9dCsxfDA7Yz1mW3Y+PjJdfDB9bD1DaihhKXwwO2c9Zlt2Pj4yXXwwO2M9ZFtnKzIzOD4+
MV18MDtwWyhmWyhmW2ZbdysoYzw8NikrND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyND4+M109K3Bb
dysoYzw8NikrMTY+PjNdO2U9ZFtnKzIzNj4+MV18MDtoPWcrMjUyfDA7aj0wLjA7d2hpbGUoMSl7
az1jKy0xfDA7aWYoKGN8MCk8PShlfDApKWJyZWFrO3k9K3Bbdysoazw8NikrMzI+PjNdKyArcFt3
KyhjPDw2KSs0MD4+M10rICsoZltoPj4yXXwwKTtpPStwW3crKGM8PDYpKzI0Pj4zXSs4LjArICtw
W3crKGs8PDYpKzE2Pj4zXTtpPXk+aT95Omk7aWYoKGZbdysoazw8Nik+PjJdfDApPjApcFsoZlso
ZltmW3crKGs8PDYpKzQ+PjJdPj4yXXwwKSsxNj4+Ml18MCkrMjQ+PjNdPStwWyhmWyhmW2Zbdyso
Yzw8NikrND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyND4+M10raTtqPWo+aT9qOmk7Yz1rfWI6ZG8g
aWYoKGx8MCkhPTA/KGZbZysxMTY+PjJdJjF8MCkhPTA6MCl7RGooYSwwKTtnPWZbdj4+Ml18MDtp
ZihiW2crMjc2Pj4wXXwwKXtjPWRbZysyMzg+PjFdfDA7ZT1kW2crMjM2Pj4xXXwwO2k9K3BbKGZb
KGZbZlt3KyhjPDw2KSs0Pj4yXT4+Ml18MCkrMTY+PjJdfDApKzI0Pj4zXTtqPTAuMDt3aGlsZSgx
KXtoPWMrLTF8MDtpZigoY3wwKTw9KGV8MCkpYnJlYWsgYjt6PStwWyhmWyhmW2ZbdysoaDw8Nikr
ND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyND4+M107eT16LWk7aT16O2o9aj55P2o6eTtjPWh9fX13
aGlsZSgwKTtjOmRvIGlmKGJbZysyNzY+PjBdfDApe2g9ZFtnKzIzNj4+MV18MDtlPWRbZysyMzg+
PjFdfDA7d2hpbGUoMSl7Yz1lKy0xfDA7aWYoKGV8MCk8PShofDApKWJyZWFrIGM7aWYoKGZbdyso
Yzw8Nik+PjJdfDApPjApcFsoZlsoZltmW3crKGM8PDYpKzQ+PjJdPj4yXXwwKSsxNj4+Ml18MCkr
MjQ+PjNdPStwWyhmWyhmW2ZbdysoZTw8NikrND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyND4+M10r
ajtlPWN9fXdoaWxlKDApO2M9ZysxOTJ8MDt3aGlsZSgxKXtjPWZbYz4+Ml18MDtpZighYylicmVh
aztjPWZbYysxNj4+Ml18MDtwW2MrMjQ+PjNdPStwWyhmWyhmW2ZbdysoZltjKzIzMj4+Ml08PDYp
KzQ+PjJdPj4yXXwwKSsxNj4+Ml18MCkrMjQ+PjNdO2M9YysxNjR8MH1yZXR1cm59ZnVuY3Rpb24g
WGkoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO3lqKGEpO2I9KGZbYSsxNj4+Ml18MCkrMTkyfDA7
d2hpbGUoMSl7Yj1mW2I+PjJdfDA7aWYoIWIpYnJlYWs7ZD1iKzE2fDA7Yj1mW2Q+PjJdfDA7Yz1m
W2IrMjI0Pj4yXXwwO2lmKGMpe3pqKGEsYyk7Yj1mW2Q+PjJdfDB9Yz1mW2IrMjI4Pj4yXXwwO2lm
KCFjKWM9YjtlbHNle3pqKGEsYyk7Yz1mW2Q+PjJdfDB9ZD1mW2MrMjA0Pj4yXXwwO2lmKGR8MCl7
Yj0wO3doaWxlKDEpaWYoIShmW2QrKGI8PDIpPj4yXXwwKSlicmVhaztlbHNlIGI9YisxfDB9Yj1j
KzE2NHwwfXJldHVybn1mdW5jdGlvbiBZaShhKXthPWF8MDtraihhKTtsaihhKTttaihhKTtuaihh
KTtvaihhKTtyZXR1cm59ZnVuY3Rpb24gWmkoYSl7YT1hfDA7dmFyIGI9MCxjPTAuMDtiPUd4KGEs
OTg5NTMpfDA7aWYoIWIpYT0yMTQ3NDgzNjQ3O2Vsc2V7Yz0rQzIoYik7YT1+fihjKisoankoYSl8
MCkpfXJldHVybiBhfDB9ZnVuY3Rpb24gX2koYSl7YT1hfDA7dmFyIGM9MCxlPTAsZz0wLGg9MCxp
PTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wO3I9YSsxNnwwO2M9Zlty
Pj4yXXwwO3E9ZFtjKzIzNj4+MV18MDt3aGlsZSgxKXtwPWRbYysyMzg+PjFdfDA7aWYoKHF8MCk+
KHB8MCkpe3M9MjE7YnJlYWt9bj1mW2MrMTk2Pj4yXXwwO289bisocTw8Nil8MDttPWZbbz4+Ml18
MDtuPW4rKHE8PDYpKzR8MDtsPTA7ZT0wO2E6d2hpbGUoMSl7aWYoKGx8MCk+PShtfDApKXtzPTE2
O2JyZWFrfWU9ZlsoZltuPj4yXXwwKSsobDw8Mik+PjJdfDA7aD1mW2UrMTY+PjJdfDA7aT1mW2gr
MjU2Pj4yXXwwO2I6ZG8gaWYoaXwwKXtnPTA7d2hpbGUoMSl7aj1mW2krKGc8PDIpPj4yXXwwO2lm
KCFqKWJyZWFrIGI7az1mW2o+PjJdJjM7aWYoKGZbKGZbKGZbKChrfDApPT0yP2o6aistNDh8MCkr
NDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApPihxfDApKWJyZWFrIGE7aWYoKGZbKGZbKGZb
KChrfDApPT0zP2o6ais0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCk+KHF8MCkp
YnJlYWsgYTtlbHNlIGc9ZysxfDB9fXdoaWxlKDApO2g9ZltoKzI0OD4+Ml18MDtjOmRvIGlmKGh8
MCl7Zz0wO3doaWxlKDEpe2k9ZltoKyhnPDwyKT4+Ml18MDtpZighaSlicmVhayBjO2o9ZltpPj4y
XSYzO2lmKChmWyhmWyhmWygoanwwKT09Mz9pOmkrNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsy
MzI+PjJdfDApPihxfDApKWJyZWFrIGE7aWYoKGZbKGZbKGZbKChqfDApPT0yP2k6aSstNDh8MCkr
NDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApPihxfDApKWJyZWFrIGE7ZWxzZSBnPWcrMXww
fX13aGlsZSgwKTtsPWwrMXwwfWlmKChzfDApPT0xNil7cz0wO2lmKGUpe2U9ZltmW24+PjJdPj4y
XXwwO2M9ZltmW28rKCgocXwwKTwocHwwKT8xOi0xKTw8NikrND4+Ml0+PjJdfDA7aWYoIWMpe3M9
MTg7YnJlYWt9bz1EaChhKXwwO3A9bysxNnwwO2JbKGZbcD4+Ml18MCkrMTU2Pj4wXT0yO2lqKG8s
ZSwwLjAsMCl8MDtpaihvLGMsMC4wLDApfDA7bz1mWyhmW2UrMTY+PjJdfDApKzIzMj4+Ml18MDtj
PWZbKGZbYysxNj4+Ml18MCkrMjMyPj4yXXwwO2ZbKGZbcD4+Ml18MCkrMjMyPj4yXT0ob3wwKTwo
Y3wwKT9vOmM7Yz1mW3I+PjJdfDB9fXE9cSsxfDB9aWYoKHN8MCk9PTE4KXhhKDk4ODYxLDk4NzUz
LDExMSw5ODg2NCk7ZWxzZSBpZigoc3wwKT09MjEpcmV0dXJufWZ1bmN0aW9uICRpKGEpe2E9YXww
O3ZhciBiPTAsYz0wLGU9MCxnPTAsaD0wLGk9MCxqPTA7YT1mW2ErMTY+PjJdfDA7aD1mW2ErMTk2
Pj4yXXwwO2M9ZFthKzIzOD4+MV18MDthPWRbYSsyMzY+PjFdfDA7d2hpbGUoMSl7aWYoKGF8MCk+
KGN8MCkpYnJlYWs7ZT1mW2grKGE8PDYpPj4yXXwwO2c9aCsoYTw8NikrNHwwO2I9MDt3aGlsZSgx
KXtpZigoYnwwKT49KGV8MCkpYnJlYWs7aj1mWyhmWyhmW2c+PjJdfDApKyhiPDwyKT4+Ml18MCkr
MTY+PjJdfDA7aT1qKzIzMnwwO3BbaisxNj4+M109KyhmW2k+PjJdfDApO2ZbaT4+Ml09YTtiPWIr
MXwwfWE9YSsxfDB9cmV0dXJufWZ1bmN0aW9uIGFqKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxl
PTAuMCxnPTAsaD0wLjAsaT0wLGo9MCxrPTAuMCxsPTAsbT0wLG49MCxvPTA7Y2ooYSxhKTtnPWEr
MTZ8MDtqPWZbZz4+Ml18MDthOmRvIGlmKChkW2orMjM4Pj4xXXwwKT4wPyhpPWZbais4Pj4yXXww
LGM9ZltpKzg0Pj4yXXwwLGN8MCk6MCl7bj1+figrcFtqKzMyPj4zXS0rcFtqKzE2Pj4zXSk7bD1+
figrcFtqKzQwPj4zXS0rcFtqKzI0Pj4zXSk7bz0oZltqKzExNj4+Ml0mMXwwKT09MDttPW8/bDpu
O2w9bz9uOmw7aWYoKGN8MCk9PTQpe2M9ZGooYSl8MDtqPWZbZz4+Ml18MDtpPWZbais4Pj4yXXww
fWVsc2UgYz0oY3wwKT09MiYxO2I6ZG8gaWYoIShjPDwyND4+MjQpKXtzd2l0Y2goZltpKzg0Pj4y
XXwwKXtjYXNlIDU6e2U9K3BbaSs2ND4+M107aWYoZTw9MC4wKWJyZWFrIGE7aD1lLytwW2orMzI+
PjNdO2s9K3BbaSs3Mj4+M10vK3Bbais0MD4+M107ZT1oPGs/aDprO2lmKGg+MS4wJms+MS4wKXtr
PWU7YnJlYWsgYn1lbHNlIGJyZWFrIGF9Y2FzZSAxOmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX1oPStw
W2krMTY+PjNdO2U9KyhtfDApLysobHwwKTtpZihlPGgpe2s9MS4wO2U9aC9lO2JyZWFrfWVsc2V7
az1lL2g7ZT0xLjA7YnJlYWt9fWVsc2V7ZT0rcFtpKzY0Pj4zXTtpZihlPD0wLjApYnJlYWsgYTto
PWUvKyhsfDApO2U9K3BbaSs3Mj4+M10vKyhtfDApO2lmKGg8MS4wfGU8MS4wKWlmKGg8ZSl7az0x
LjA7ZT1lL2g7YnJlYWt9ZWxzZXtrPWgvZTtlPTEuMDticmVha31lbHNlIGs9aH13aGlsZSgwKTtj
PShmW2orMTE2Pj4yXSYxfDApPT0wO2g9Yz9lOms7ZT1jP2s6ZTtjPWorMTkyfDA7d2hpbGUoMSl7
Yz1mW2M+PjJdfDA7aWYoIWMpYnJlYWs7Yz1mW2MrMTY+PjJdfDA7bz1jKzE2fDA7az0rcFtvPj4z
XSplO3Bbbz4+M109Kyh+fihrKyhrPj0wLjA/LjU6LS41KSl8MCk7bz1jKzI0fDA7az0rcFtvPj4z
XSpoO3Bbbz4+M109Kyh+fihrKyhrPj0wLjA/LjU6LS41KSl8MCk7Yz1jKzE2NHwwfWVqKGEsZSxo
KX13aGlsZSgwKTtpZihifDApZmooYSxiKTtyZXR1cm59ZnVuY3Rpb24gYmooYSl7YT1hfDA7dmFy
IGM9MCxkPTAsZT0wLGc9MCxoPTA7aD1hKzE2fDA7YT0oZltoPj4yXXwwKSsxOTJ8MDt3aGlsZSgx
KXthPWZbYT4+Ml18MDtpZighYSlicmVhaztnPWErMTZ8MDtjPTA7d2hpbGUoMSl7YT1mW2c+PjJd
fDA7ZT1mW2ErMTgwPj4yXXwwO2Q9ZltlKyhjPDwyKT4+Ml18MDtpZighZClicmVhaztNXyhmW2Qr
MTY+PjJdfDApO01fKGQpO2M9YysxfDB9aWYoZSl7TV8oZSk7YT1mW2c+PjJdfDB9Yz1mW2ErMTcy
Pj4yXXwwO2lmKGMpe01fKGMpO2E9ZltnPj4yXXwwfWU9YSsyNTZ8MDtkPWZbZSs0Pj4yXXwwO2E9
YSsxODB8MDtmW2E+PjJdPWZbZT4+Ml07ZlthKzQ+PjJdPWQ7YT1mW2c+PjJdfDA7ZD1hKzI0OHww
O2U9ZltkKzQ+PjJdfDA7YT1hKzE3MnwwO2ZbYT4+Ml09ZltkPj4yXTtmW2ErND4+Ml09ZTthPShm
W2c+PjJdfDApKzE2NHwwfWE9MDtjPWZbKGZbaD4+Ml18MCkrMTkyPj4yXXwwO2E6d2hpbGUoMSl7
Zz0oYXwwKT09MDtlPWErMTZ8MDthPWM7d2hpbGUoMSl7aWYoIWEpYnJlYWsgYTtkPWZbYSsxNj4+
Ml18MDtjPWZbZCsxNjQ+PjJdfDA7aWYoKGJbZCsxNTY+PjBdfDApIT0yKWJyZWFrO2lmKGcpZlso
ZltoPj4yXXwwKSsxOTI+PjJdPWM7ZWxzZSBmWyhmW2U+PjJdfDApKzE2ND4+Ml09YztNXyhkKTtN
XyhhKTthPWN9fWZbKGZbKGZbKGZbaD4+Ml18MCkrMTkyPj4yXXwwKSsxNj4+Ml18MCkrMTY4Pj4y
XT0wO3JldHVybn1mdW5jdGlvbiBjaihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MDtk
PWErMTZ8MDtjPTE7d2hpbGUoMSl7ZT1mW2Q+PjJdfDA7aWYoKGN8MCk+KGZbZSsxODA+PjJdfDAp
KWJyZWFrO2NqKGZbKGZbZSsxODQ+PjJdfDApKyhjPDwyKT4+Ml18MCxiKTtjPWMrMXwwfWhqKGEs
Yik7cmV0dXJufWZ1bmN0aW9uIGRqKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLGg9
MCxpPTAuMCxqPTAuMCxrPTAsbD0wLjAsbT0wLjAsbj0wLjAsbz0wLjAscT0wLHI9MCxzPTA7cj10
O3Q9dCs4MHwwO2Q9cis2NHwwO2M9cis0OHwwO2U9cisxNnwwO2s9cjtxPXIrMzJ8MDthPWErMTZ8
MDtiPWZbKGZbYT4+Ml18MCkrOD4+Ml18MDtzPWIrNDh8MDtmW2U+PjJdPWZbcz4+Ml07ZltlKzQ+
PjJdPWZbcys0Pj4yXTtmW2UrOD4+Ml09ZltzKzg+PjJdO2ZbZSsxMj4+Ml09ZltzKzEyPj4yXTtp
ZigoISgrcFtlPj4zXTwuMDAxKT8oZz1lKzh8MCwhKCtwW2c+PjNdPC4wMDEpKTowKT8oaD1iKzMy
fDAsZltrPj4yXT1mW2g+PjJdLGZbays0Pj4yXT1mW2grND4+Ml0sZltrKzg+PjJdPWZbaCs4Pj4y
XSxmW2srMTI+PjJdPWZbaCsxMj4+Ml0sZltjPj4yXT1mW2U+PjJdLGZbYys0Pj4yXT1mW2UrND4+
Ml0sZltjKzg+PjJdPWZbZSs4Pj4yXSxmW2MrMTI+PjJdPWZbZSsxMj4+Ml0sZltkPj4yXT1mW2g+
PjJdLGZbZCs0Pj4yXT1mW2grND4+Ml0sZltkKzg+PjJdPWZbaCs4Pj4yXSxmW2QrMTI+PjJdPWZb
aCsxMj4+Ml0sZ2oocSxjLGQpLGZbZT4+Ml09ZltxPj4yXSxmW2UrND4+Ml09ZltxKzQ+PjJdLGZb
ZSs4Pj4yXT1mW3ErOD4+Ml0sZltlKzEyPj4yXT1mW3ErMTI+PjJdLGZbYz4+Ml09ZltxPj4yXSxm
W2MrND4+Ml09ZltxKzQ+PjJdLGZbYys4Pj4yXT1mW3ErOD4+Ml0sZltjKzEyPj4yXT1mW3ErMTI+
PjJdLGZbZD4+Ml09ZltrPj4yXSxmW2QrND4+Ml09ZltrKzQ+PjJdLGZbZCs4Pj4yXT1mW2srOD4+
Ml0sZltkKzEyPj4yXT1mW2srMTI+PjJdLGdqKGUsYyxkKSxoPWZbYT4+Ml18MCxpPStwW2grMzI+
PjNdLGo9K3BbaCs0MD4+M10sbD0rcFtlPj4zXSxtPWwvaSxuPStwW2c+PjNdLG89bi9qLCEobT49
MS4wJm8+PTEuMCkpOjApe209bTxvP206bzttPW0+LjU/bTouNTtvPStVKCsobSpqL24pKSpuL2o7
bj0rVSgrKG0qaS9sKSkqbC9pKmk7YT1mW2grOD4+Ml18MDtwW2ErNjQ+PjNdPW47cFthKzcyPj4z
XT1vKmo7YT0xfWVsc2UgYT0wO3Q9cjtyZXR1cm4gYXwwfWZ1bmN0aW9uIGVqKGEsYixjKXthPWF8
MDtiPStiO2M9K2M7dmFyIGQ9MCxlPTA7ZD1hKzE2fDA7YT0xO3doaWxlKDEpe2U9ZltkPj4yXXww
O2lmKChhfDApPihmW2UrMTgwPj4yXXwwKSlicmVhaztlaihmWyhmW2UrMTg0Pj4yXXwwKSsoYTw8
Mik+PjJdfDAsYixjKTthPWErMXwwfWQ9ZSsxNnwwO3BbZD4+M109K3BbZD4+M10qYjtkPWUrMjR8
MDtwW2Q+PjNdPStwW2Q+PjNdKmM7ZD1lKzMyfDA7cFtkPj4zXT0rcFtkPj4zXSpiO2U9ZSs0MHww
O3BbZT4+M109K3BbZT4+M10qYztyZXR1cm59ZnVuY3Rpb24gZmooYSxiKXthPWF8MDtiPWJ8MDt2
YXIgYz0wLjAsZD0wLjAsZT0wLGc9MCxoPTAuMCxpPTAsaj0wLGs9MCxsPTA7az10O3Q9dCszMnww
O2k9aysyNHwwO2c9aysxNnwwO2U9aztsPWZbYSsxNj4+Ml18MDtkPStwW2wrMzI+PjNdLStwW2wr
MTY+PjNdO2M9K3BbbCs0MD4+M10tK3BbbCsyND4+M107aD1kL2M7aWYoMCl7bD1mWzE5NDU3XXww
O3BbZT4+M109aDtwW2UrOD4+M109ZCouMDAwMSpjO2cyKGwsOTg3NzcsZSl8MDtlPUlrKGEpfDA7
ZltnPj4yXT1lO2cyKGwsOTg4MDIsZyl8MH1jPStwW2I+PjNdO2RvIGlmKCEoaD5jKjEuMSkpe2E9
YisyNHwwO2lmKCEoaDw9YyouOCkpe2ZbYT4+Ml09MDtqPTk7YnJlYWt9ZlthPj4yXT0tMTtpZigw
KXtxMig5ODgxMiwzNCwxLGZbMTk0NTddfDApfDA7aj05fX1lbHNle2ZbYisyND4+Ml09fn4oYyor
KChmW2IrMjA+PjJdfDApLShmW2IrMTY+PjJdfDApfDApL2gpO2o9OX13aGlsZSgwKTtpZigoanww
KT09OT8wOjApe2w9ZlsxOTQ1N118MDtmW2k+PjJdPWZbYisyND4+Ml07ZzIobCw5ODg0NyxpKXww
fXQ9aztyZXR1cm59ZnVuY3Rpb24gZ2ooYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAu
MDtkPStwW2IrOD4+M10tK3BbYys4Pj4zXTtwW2E+PjNdPStwW2I+PjNdLStwW2M+PjNdO3BbYSs4
Pj4zXT1kO3JldHVybn1mdW5jdGlvbiBoaihhLGMpe2E9YXwwO2M9Y3wwO3ZhciBlPTAuMCxnPTAu
MCxoPTAsaT0wLGo9MCxrPTAsbD0wLjAsbT0wLG49MCxvPTAscT0wLHI9MCxzPTAsdD0wLHU9MC4w
O289KHJnKGEpfDApPT0oYXwwKTtzPWErMTZ8MDt0PWZbcz4+Ml18MDthOmRvIGlmKG8pe2E9ZFt0
KzIzNj4+MV18MDtoPWRbdCsyMzg+PjFdfDA7bz10KzE5NnwwO249YTtnPS0yMTQ3NDgzNjQ3LjA7
ZT0yMTQ3NDgzNjQ3LjA7d2hpbGUoMSl7aWYoKG58MCk+KGh8MCkpYnJlYWs7aT1mW28+PjJdfDA7
bT1mW2krKG48PDYpPj4yXXwwO2lmKChtfDApIT0wPyhxPWZbaSsobjw8NikrND4+Ml18MCxyPWZb
cT4+Ml18MCwocnwwKSE9MCk6MCl7az0xO2k9cjt3aGlsZSgxKXtpPWZbaSsxNj4+Ml18MDtqPWJb
aSsxNTY+PjBdfDA7aWYoISgoa3wwKTwobXwwKSZqPDwyND4+MjQhPTApKWJyZWFrO2k9ZltxKyhr
PDwyKT4+Ml18MDtrPWsrMXwwfWlmKCEoajw8MjQ+PjI0KSl7bD0rcFtpKzE2Pj4zXS0rcFtpKzg4
Pj4zXTtrPWU8bDtqPW0rLTJ8MDtpPW0rLTF8MDt3aGlsZSgxKXtpPWZbKGZbcSsoaTw8Mik+PjJd
fDApKzE2Pj4yXXwwO2lmKCEoYltpKzE1Nj4+MF18MCkpYnJlYWs7ZWxzZXtpPWo7aj1qKy0xfDB9
fXU9K3BbaSs5Nj4+M10rICtwW2krMTY+PjNdO2c9Zz51P2c6dTtlPWs/ZTpsfX1uPW4rMXwwfWo9
Zlt0KzE4MD4+Ml18MDtrPXQrMTg0fDA7aT0xO3doaWxlKDEpe2lmKChpfDApPihqfDApKWJyZWFr
IGE7cj1mWyhmWyhmW2s+PjJdfDApKyhpPDwyKT4+Ml18MCkrMTY+PjJdfDA7dT0rcFtyKzE2Pj4z
XSstOC4wO2w9K3BbciszMj4+M10rOC4wO2k9aSsxfDA7Zz1nPmw/ZzpsO2U9ZTx1P2U6dX19ZWxz
ZXtoPWRbdCsyMzg+PjFdfDA7YT1kW3QrMjM2Pj4xXXwwO2c9KyhmWyhmWyhmW3QrMjYwPj4yXXww
KSsxNj4+Ml18MCkrMjMyPj4yXXwwKTtlPSsoZlsoZlsoZlt0KzI1Nj4+Ml18MCkrMTY+PjJdfDAp
KzIzMj4+Ml18MCl9d2hpbGUoMCk7Yz1mWyhmW2MrMTY+PjJdfDApKzE5Nj4+Ml18MDtsPStwWyhm
WyhmW2ZbYysoaDw8NikrND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyND4+M10tK3BbdCsxMjA+PjNd
O3U9K3BbdCsxMjg+PjNdKyArcFsoZlsoZltmW2MrKGE8PDYpKzQ+PjJdPj4yXXwwKSsxNj4+Ml18
MCkrMjQ+PjNdO3BbdCsxNj4+M109ZTtwW3QrMjQ+PjNdPWw7Yz1mW3M+PjJdfDA7cFtjKzMyPj4z
XT1nO3BbYys0MD4+M109dTtyZXR1cm59ZnVuY3Rpb24gaWooYSxiLGMsZSl7YT1hfDA7Yj1ifDA7
Yz0rYztlPWV8MDt2YXIgZz0wLGg9MCxpPTAsaj0wO2k9REgoOTYpfDA7aj1pKzQ4fDA7ZltqPj4y
XT1mW2o+PjJdfDM7ZltpPj4yXT1mW2k+PjJdJi00fDI7Zz1ESCgxNzYpfDA7aD1pKzE2fDA7Zlto
Pj4yXT1nO2ZbKChmW2k+PjJdJjN8MCk9PTM/aTpqKSs0MD4+Ml09YTtmWygoZltpPj4yXSYzfDAp
PT0yP2k6aSstNDh8MCkrNDA+PjJdPWI7aWYoYz42NTUzNS4wKXtqaihjKTtjPTY1NTM1LjA7Zz1m
W2g+PjJdfDB9ZFtnKzE3MD4+MV09fn4oYysoYz49MC4wPy41Oi0uNSkpO2ZbZysxNTY+PjJdPWU7
cmgoaSl8MDtyZXR1cm4gaXwwfWZ1bmN0aW9uIGpqKGEpe2E9K2E7dmFyIGI9MCxjPTA7Yj10O3Q9
dCsxNnwwO2M9YjtwW2M+PjNdPWE7ZltjKzg+PjJdPTY1NTM1O1l3KDEsOTg4NzcsYyl8MDt0PWI7
cmV0dXJufWZ1bmN0aW9uIGtqKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTA7YT0oZlthKzE2
Pj4yXXwwKSsxOTJ8MDt3aGlsZSgxKXthPWZbYT4+Ml18MDtpZighYSlicmVhaztlPWErMTZ8MDtk
PWZbZT4+Ml18MDthPWQrMTcyfDA7Yz1mW2ErND4+Ml18MDtkPWQrMjQ4fDA7ZltkPj4yXT1mW2E+
PjJdO2ZbZCs0Pj4yXT1jO2Q9ZltlPj4yXXwwO2M9ZCsxODB8MDthPWZbYys0Pj4yXXwwO2Q9ZCsy
NTZ8MDtmW2Q+PjJdPWZbYz4+Ml07ZltkKzQ+PjJdPWE7ZD1mW2U+PjJdfDA7YT1mW2QrMTgwPj4y
XXwwO2M9MDt3aGlsZSgxKWlmKCEoZlthKyhjPDwyKT4+Ml18MCkpYnJlYWs7ZWxzZSBjPWMrMXww
O2I9ZltkKzE3Mj4+Ml18MDthPTA7d2hpbGUoMSlpZighKGZbYisoYTw8Mik+PjJdfDApKWJyZWFr
O2Vsc2UgYT1hKzF8MDtmW2QrMTc2Pj4yXT0wO2E9REgoKGErYzw8MikrMTZ8MCl8MDtkPWZbZT4+
Ml18MDtmW2QrMTcyPj4yXT1hO2ZbZCsxODQ+PjJdPTA7ZD1ESCgxNil8MDthPWZbZT4+Ml18MDtm
W2ErMTgwPj4yXT1kO2E9YSsxNjR8MH1yZXR1cm59ZnVuY3Rpb24gbGooYSl7YT1hfDA7dmFyIGM9
MCxlPTAsZz0wLjAsaD0wLGk9MCxrPTAsbD0wLG09MC4wLG49MCxvPTAscT0wLHI9MC4wLHM9MCx1
PTAsdj0wLHc9MCx4PTAseT0wLHo9MC4wLEE9MC4wO3k9dDt0PXQrMTZ8MDt2PXk7dz1hKzE2fDA7
cz1mW3c+PjJdfDA7eD1mW3MrMTk2Pj4yXXwwO2E9KGJbKGZbKGZbYSs2MD4+Ml18MCkrMTY+PjJd
fDApKzExMz4+MF0mMSk9PTA7dT1mW3MrMjQ4Pj4yXXwwO2Zbdj4+Ml09dTtmW3YrND4+Ml09YT91
OjU7dT1kW3MrMjM2Pj4xXXwwO2E9czt3aGlsZSgxKXtpZigodXwwKT4oZFthKzIzOD4+MV18MCkp
YnJlYWs7bz14Kyh1PDw2KSs0fDA7ZlsoZlsoZltmW28+PjJdPj4yXXwwKSsxNj4+Ml18MCkrMjMy
Pj4yXT0wO3E9eCsodTw8Nil8MDtyPSsoZlt2KygodSYxKTw8Mik+PjJdfDApO209MC4wO2k9MDt3
aGlsZSgxKXtpZigoaXwwKT49KGZbcT4+Ml18MCkpYnJlYWs7Yz1mW28+PjJdfDA7az1mW2MrKGk8
PDIpPj4yXXwwO3M9aysxNnwwO2E9ZltzPj4yXXwwO2c9K3BbYSs5Nj4+M107cFthKzI0MD4+M109
ZztpZigoZlthKzIwOD4+Ml18MCk+MCl7aD0wO2M9MDt3aGlsZSgxKXtlPWZbKGZbYSsyMDQ+PjJd
fDApKyhoPDwyKT4+Ml18MDtpZighZSlicmVhaztuPWZbZT4+Ml0mMztpZigoZlsoKG58MCk9PTM/
ZTplKzQ4fDApKzQwPj4yXXwwKT09KGZbKChufDApPT0yP2U6ZSstNDh8MCkrNDA+PjJdfDApKXtj
PShlTChlKXwwKStjfDA7YT1mW3M+PjJdfDB9aD1oKzF8MH1uPWErOTZ8MDtnPStwW24+PjNdKyAr
KGN8MCk7cFtuPj4zXT1nO2M9ZltvPj4yXXwwfW49aSsxfDA7Yz1mW2MrKG48PDIpPj4yXXwwO2lm
KGMpe2w9YysxNnwwO2c9ZytyKyArcFsoZltsPj4yXXwwKSs4OD4+M107aWooayxjLGcsMCl8MDth
PX5+KGcrbSk7ZlsoZltsPj4yXXwwKSsyMzI+PjJdPWE7bT0rKGF8MCk7YT1mW3M+PjJdfDB9Yz1m
W2ErMTEyPj4yXXwwO2lmKGN8MCl7aT1mW2ErMjU2Pj4yXXwwO2g9ZltpPj4yXXwwO2k9ZltpKzQ+
PjJdfDA7YT0oZlsoZlsoZlsoKGZbaD4+Ml0mM3wwKT09Mj9oOmgrLTQ4fDApKzQwPj4yXXwwKSsx
Nj4+Ml18MCkrMjM2Pj4yXXwwKT4oZlsoZlsoZlsoKGZbaT4+Ml0mM3wwKT09Mj9pOmkrLTQ4fDAp
KzQwPj4yXXwwKSsxNj4+Ml18MCkrMjM2Pj4yXXwwKTtlPWE/aTpoO2k9YT9oOmk7aD1jKzE2fDA7
YT1mW2g+PjJdfDA7Zz0rKChWKGZbKGZbdz4+Ml18MCkrMjQ4Pj4yXXwwLGpbYSsxNzA+PjFdfDAp
fDApLzJ8MHwwKTtsPWZbZT4+Ml0mMztjPWZbKChsfDApPT0yP2U6ZSstNDh8MCkrNDA+PjJdfDA7
ZT1mWygobHwwKT09Mz9lOmUrNDh8MCkrNDA+PjJdfDA7aWYoISh3aihlLGMpfDApKWlqKGMsZSwr
KH5+KCtwWyhmW2MrMTY+PjJdfDApKzk2Pj4zXStnKyArcFsoZltlKzE2Pj4yXXwwKSs4OD4+M10p
fDApLGZbYSsxNTY+PjJdfDApfDA7YT1mW2k+PjJdJjM7Yz1mWygoYXwwKT09Mz9pOmkrNDh8MCkr
NDA+PjJdfDA7YT1mWygoYXwwKT09Mj9pOmkrLTQ4fDApKzQwPj4yXXwwO2lmKCEod2ooYSxjKXww
KSlpaihjLGEsKyh+figrcFsoZltjKzE2Pj4yXXwwKSs5Nj4+M10rZysgK3BbKGZbYSsxNj4+Ml18
MCkrODg+PjNdKXwwKSxmWyhmW2g+PjJdfDApKzE1Nj4+Ml18MCl8MH1sPTA7d2hpbGUoMSl7YT1m
W3M+PjJdfDA7aWYoKGx8MCk+PShmW2ErMTkyPj4yXXwwKSlicmVhaztpPWZbKGZbYSsxODg+PjJd
fDApKyhsPDwyKT4+Ml18MDtoPWZbaT4+Ml0mMztlPWZbKChofDApPT0zP2k6aSs0OHwwKSs0MD4+
Ml18MDtoPWZbKChofDApPT0yP2k6aSstNDh8MCkrNDA+PjJdfDA7az0oZlsoZltlKzE2Pj4yXXww
KSsyMzY+PjJdfDApPChmWyhmW2grMTY+PjJdfDApKzIzNj4+Ml18MCk7Yz1rP2U6aDtlPWs/aDpl
O2c9K3BbKGZbZSsxNj4+Ml18MCkrODg+PjNdKyArcFsoZltjKzE2Pj4yXXwwKSs5Nj4+M107aT1p
KzE2fDA7aD1+fihnKyArKFYoZlsoZlt3Pj4yXXwwKSsyNDg+PjJdfDAsalsoZltpPj4yXXwwKSsx
NzA+PjFdfDApfDApKTtrPW9oKGMsZSl8MDtpZighayl7YT1mW2k+PjJdfDA7aWYoIShmW2ErOTY+
PjJdfDApKWlqKGMsZSwrKGh8MCksZlthKzE1Nj4+Ml18MCl8MH1lbHNle3o9KyhofDApO2E9Zltp
Pj4yXXwwO0E9K3BbYSsxMzY+PjNdO2c9ZysgKyhmWyhmW3c+PjJdfDApKzI0OD4+Ml18MCkrICso
fn4oQSsoQT49MC4wPy41Oi0uNSkpfDApO2M9fn4oZzx6P3o6Zyk7aWYoKGN8MCk+NjU1MzUpe2pq
KCsoY3wwKSk7Yz02NTUzNTthPWZbaT4+Ml18MH1rPWZbaysxNj4+Ml18MDtoPWsrMTcwfDA7aT1q
W2g+PjFdfDA7ZFtoPj4xXT0oY3wwKTwoaXwwKT9pOmM7az1rKzE1NnwwO2g9ZltrPj4yXXwwO2k9
ZlthKzE1Nj4+Ml18MDtmW2s+PjJdPShofDApPihpfDApP2g6aX1sPWwrMXwwfWk9bn11PXUrMXww
O2E9Zlt3Pj4yXXwwfXQ9eTtyZXR1cm59ZnVuY3Rpb24gbWooYSl7YT1hfDA7dmFyIGM9MCxkPTAs
ZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDtjPShmW2ErMTY+PjJdfDApKzE5MnwwO3do
aWxlKDEpe2M9ZltjPj4yXXwwO2lmKCFjKWJyZWFrO2c9YysxNnwwO2M9ZltnPj4yXXwwO2Q9Zltj
KzI1Nj4+Ml18MDthOmRvIGlmKGQpe2U9MDt3aGlsZSgxKXtkPWZbZCsoZTw8Mik+PjJdfDA7aWYo
IWQpYnJlYWsgYTttPURoKGEpfDA7Yz1tKzE2fDA7YlsoZltjPj4yXXwwKSsxNTY+PjBdPTI7az1k
KzE2fDA7aj1mW2s+PjJdfDA7aD1+figrcFtqKzU2Pj4zXS0rcFtqKzE2Pj4zXSk7bD0oaHwwKT4w
O2k9bD8wOjAtaHwwO2g9bD9oOjA7bD1kKzQ4fDA7aWoobSxmWygoZltkPj4yXSYzfDApPT0zP2Q6
bCkrNDA+PjJdfDAsKyhoKzF8MCksZltqKzE1Nj4+Ml18MCl8MDtqPWQrLTQ4fDA7aWoobSxmWygo
ZltkPj4yXSYzfDApPT0yP2Q6aikrNDA+PjJdfDAsKyhpKzF8MCksZlsoZltrPj4yXXwwKSsxNTY+
PjJdfDApfDA7az1mW2Q+PjJdJjM7aD0oZlsoZlsoZlsoKGt8MCk9PTM/ZDpsKSs0MD4+Ml18MCkr
MTY+PjJdfDApKzIzMj4+Ml18MCktaHwwO2Q9KGZbKGZbKGZbKChrfDApPT0yP2Q6aikrNDA+PjJd
fDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApLWl8MDtmWyhmW2M+PjJdfDApKzIzMj4+Ml09KChofDAp
PChkfDApP2g6ZCkrLTE7Yz1mW2c+PjJdfDA7ZT1lKzF8MDtkPWZbYysyNTY+PjJdfDB9fXdoaWxl
KDApO2M9YysxNjR8MH1yZXR1cm59ZnVuY3Rpb24gbmooYSl7YT1hfDA7aWYoKGZbKGZbYSsxNj4+
Ml18MCkrMTgwPj4yXXwwKT4wKXtyaihhKTtzaihhKTt0aihhKTt1aihhKX1yZXR1cm59ZnVuY3Rp
b24gb2ooYSl7YT1hfDA7dmFyIGI9MC4wLGM9MC4wLGQ9MCxlPTA7ZD1hKzE2fDA7ZT1mWyhmW2Q+
PjJdfDApKzg+PjJdfDA7aWYoKGZbZSs4ND4+Ml18MCk9PTM/KGI9K3BbZSs2ND4+M10sYz0rcFtl
KzcyPj4zXSwhKGMqYjw9MS4wKSk6MCl7cGooYSk7ZT1mW2Q+PjJdfDA7Yz0oZltlKzExNj4+Ml0m
MXwwKT09MD9iOmM7aWooZltlKzI1Nj4+Ml18MCxmW2UrMjYwPj4yXXwwLGM8NjU1MzUuMD9jOjY1
NTM1LjAsMWUzKXwwfXJldHVybn1mdW5jdGlvbiBwaihhKXthPWF8MDt2YXIgYj0wLGM9MCxlPTAu
MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtsPXQ7dD10KzE2fDA7az1sO2M9VEwoYSxmWzQ4MzM2
XXwwLDgsMCl8MDtxaihhKTtoPWErMTZ8MDtnPWZbaD4+Ml18MDtpPWZbZysyNTY+PjJdfDA7aj1m
W2crMjYwPj4yXXwwO2U9KyhjfDApO2M9ZFtnKzIzNj4+MV18MDt3aGlsZSgxKXtpZigoY3wwKT4o
ZFtnKzIzOD4+MV18MCkpYnJlYWs7Yj1mW2crMTk2Pj4yXXwwO2RvIGlmKGZbYisoYzw8Nik+PjJd
fDApe2I9ZltmW2IrKGM8PDYpKzQ+PjJdPj4yXXwwO2lmKCFiKXtnPUF5KGEpfDA7ZltrPj4yXT1n
O2Zbays0Pj4yXT1jO1l3KDEsOTg5NjEsayl8MDticmVha31lbHNle2lqKGksYiwrcFsoZltiKzE2
Pj4yXXwwKSs4OD4+M10rZSsgK3BbZys5Nj4+M10sMCl8MDtnPWZbaD4+Ml18MDtiPWZbZysxOTY+
PjJdfDA7Yj1mWyhmW2IrKGM8PDYpKzQ+PjJdfDApKygoZltiKyhjPDw2KT4+Ml18MCkrLTE8PDIp
Pj4yXXwwO2lqKGIsaiwrcFsoZltiKzE2Pj4yXXwwKSs5Nj4+M10rZSsgK3BbZys2ND4+M10sMCl8
MDticmVha319d2hpbGUoMCk7Yz1jKzF8MDtnPWZbaD4+Ml18MH10PWw7cmV0dXJufWZ1bmN0aW9u
IHFqKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAuMCxoPTAuMDtjPWErMTZ8MDtpZighKGZb
KGZbYz4+Ml18MCkrMjU2Pj4yXXwwKSl7ZT1EaChyZyhhKXwwKXwwO2JbKGZbZSsxNj4+Ml18MCkr
MTU2Pj4wXT0yO2Q9RGgocmcoYSl8MCl8MDtiWyhmW2QrMTY+PjJdfDApKzE1Nj4+MF09MjtpZigo
ZlsoZltjPj4yXXwwKSsxMj4+Ml18MD8ocmcoYSl8MCkhPShhfDApOjApPyhhPShveihhKXwwKSsx
NnwwLChmWyhmW2E+PjJdfDApKzExNj4+Ml0mMXwwKT09MCk6MCl7YT1mW2M+PjJdfDA7aD0rcFth
KzQ4Pj4zXTtnPStwW2ErODA+PjNdO2lqKGUsZCwrKH5+KGg+Zz9oOmcpfDApLDApfDB9Yz1mW2M+
PjJdfDA7ZltjKzI1Nj4+Ml09ZTtmW2MrMjYwPj4yXT1kfXJldHVybn1mdW5jdGlvbiByaihhKXth
PWF8MDt2YXIgYj0wLGM9MDtkbyBpZigocmcoYSl8MCkhPShhfDApKXtwaihhKTthPWErMTZ8MDti
PWZbYT4+Ml18MDtiPW9oKGZbYisyNTY+PjJdfDAsZltiKzI2MD4+Ml18MCl8MDtpZighYil7Yz1m
W2E+PjJdfDA7aWooZltjKzI1Nj4+Ml18MCxmW2MrMjYwPj4yXXwwLDEuMCwxMjgpfDA7YnJlYWt9
ZWxzZXtjPShmW2IrMTY+PjJdfDApKzE1NnwwO2ZbYz4+Ml09KGZbYz4+Ml18MCkrMTI4O2JyZWFr
fX1lbHNlIGE9YSsxNnwwO3doaWxlKDApO2I9MTt3aGlsZSgxKXtjPWZbYT4+Ml18MDtpZigoYnww
KT4oZltjKzE4MD4+Ml18MCkpYnJlYWs7cmooZlsoZltjKzE4ND4+Ml18MCkrKGI8PDIpPj4yXXww
KTtiPWIrMXwwfXJldHVybn1mdW5jdGlvbiBzaihhKXthPWF8MDt2YXIgYz0wLGU9MCxnPTAsaD0w
LGk9MCxqPTAsaz0wLGw9MC4wLG09MCxuPTA7aj1UTChhLGZbNDgzMzZdfDAsOCwwKXwwO249YSsx
NnwwO2M9ZltuPj4yXXwwO2w9KyhqfDApO2o9ZFtjKzIzNj4+MV18MDt3aGlsZSgxKXtpZigoanww
KT4oZFtjKzIzOD4+MV18MCkpYnJlYWs7Yz1mW2MrMTk2Pj4yXXwwO2E6ZG8gaWYoZltjKyhqPDw2
KT4+Ml18MD8oaz1mW2ZbYysoajw8NikrND4+Ml0+PjJdfDAsa3wwKTowKXtoPWsrMTZ8MDtlPWZb
KGZbaD4+Ml18MCkrMjM2Pj4yXXwwO3doaWxlKDEpe2lmKChlfDApPD0wKWJyZWFrO2U9ZSstMXww
O2k9KHJnKGEpfDApKzE2fDA7aT1mWyhmWyhmWyhmW2k+PjJdfDApKzE5Nj4+Ml18MCkrKGo8PDYp
KzQ+PjJdfDApKyhlPDwyKT4+Ml18MDtnPWkrMTZ8MDtjPWZbZz4+Ml18MDtpZighKGJbYysxNTY+
PjBdfDApKXttPTExO2JyZWFrfWlmKHZqKGEsaSl8MCl7bT0xMDticmVha319aWYoKG18MCk9PTEw
KXtjPWZbZz4+Ml18MDttPTExfWlmKChtfDApPT0xMSl7bT0wO2lqKGksZlsoZltuPj4yXXwwKSsy
NTY+PjJdfDAsK3BbYys5Nj4+M10rbCwwKXwwfWU9KGZbKGZbKGZbbj4+Ml18MCkrMTk2Pj4yXXww
KSsoajw8Nik+PjJdfDApKyhmWyhmW2g+PjJdfDApKzIzNj4+Ml18MCl8MDt3aGlsZSgxKXtpPShy
ZyhhKXwwKSsxNnwwO2lmKChlfDApPj0oZlsoZlsoZltpPj4yXXwwKSsxOTY+PjJdfDApKyhqPDw2
KT4+Ml18MCkpYnJlYWsgYTtoPShyZyhhKXwwKSsxNnwwO2g9ZlsoZlsoZlsoZltoPj4yXXwwKSsx
OTY+PjJdfDApKyhqPDw2KSs0Pj4yXXwwKSsoZTw8Mik+PjJdfDA7Zz1oKzE2fDA7Yz1mW2c+PjJd
fDA7aWYoIShiW2MrMTU2Pj4wXXwwKSlicmVhaztpZighKHZqKGEsaCl8MCkpZT1lKzF8MDtlbHNl
e209MTY7YnJlYWt9fWlmKChtfDApPT0xNil7bT0wO2M9ZltnPj4yXXwwfWlqKGZbKGZbbj4+Ml18
MCkrMjYwPj4yXXwwLGgsK3BbYys4OD4+M10rbCwwKXwwfXdoaWxlKDApO2o9aisxfDA7Yz1mW24+
PjJdfDB9ZT0xO3doaWxlKDEpe2lmKChlfDApPihmW2MrMTgwPj4yXXwwKSlicmVhaztzaihmWyhm
W2MrMTg0Pj4yXXwwKSsoZTw8Mik+PjJdfDApO2U9ZSsxfDA7Yz1mW24+PjJdfDB9cmV0dXJufWZ1
bmN0aW9uIHRqKGEpe2E9YXwwO3ZhciBiPTAsYz0wLjAsZD0wLGU9MCxnPTA7ZD1UTChhLGZbNDgz
MzZdfDAsOCwwKXwwO3FqKGEpO2I9YSsxNnwwO2M9KyhkfDApO2E9MTt3aGlsZSgxKXtkPWZbYj4+
Ml18MDtpZigoYXwwKT4oZltkKzE4MD4+Ml18MCkpYnJlYWs7ZD1mWyhmW2QrMTg0Pj4yXXwwKSso
YTw8Mik+PjJdfDA7cWooZCk7ZT1mW2I+PjJdfDA7Zz1kKzE2fDA7aWooZltlKzI1Nj4+Ml18MCxm
WyhmW2c+PjJdfDApKzI1Nj4+Ml18MCwrcFtlKzk2Pj4zXStjLDApfDA7ZT1mW2I+PjJdfDA7aWoo
ZlsoZltnPj4yXXwwKSsyNjA+PjJdfDAsZltlKzI2MD4+Ml18MCwrcFtlKzY0Pj4zXStjLDApfDA7
dGooZCk7YT1hKzF8MH1yZXR1cm59ZnVuY3Rpb24gdWooYSl7YT1hfDA7dmFyIGI9MCxjPTAsZT0w
LGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MC4wLG49MCxvPTA7Yj1UTChhLGZbNDgzMzZdfDAs
OCwwKXwwO249YSsxNnwwO2E9MTt3aGlsZSgxKXtlPWZbbj4+Ml18MDtjPWZbZSsxODA+PjJdfDA7
aWYoKGF8MCk+KGN8MCkpYnJlYWs7cWooZlsoZltlKzE4ND4+Ml18MCkrKGE8PDIpPj4yXXwwKTth
PWErMXwwfW09KyhifDApO2w9MTthPWM7Yj1lO3doaWxlKDEpe2lmKChsfDApPihhfDApKWJyZWFr
O2s9bCsxfDA7aj1rO3doaWxlKDEpe2M9ZltiKzE4ND4+Ml18MDtlPWZbYysobDw8Mik+PjJdfDA7
aWYoKGp8MCk+KGF8MCkpYnJlYWs7aD1mW2MrKGo8PDIpPj4yXXwwO2M9KGRbKGZbZSsxNj4+Ml18
MCkrMjM2Pj4xXXwwKT4oZFsoZltoKzE2Pj4yXXwwKSsyMzY+PjFdfDApO2k9Yz9oOmU7aD1jP2U6
aDtjPWZbaSsxNj4+Ml18MDtlPWZbaCsxNj4+Ml18MDtvPWRbZSsyMzY+PjFdfDA7Zz1vPDwxNj4+
MTY7aWYoKGRbYysyMzg+PjFdfDApPj1vPDwxNj4+MTYpe2E9KGZbKGZbKGZbZlsoZltjKzE5Nj4+
Ml18MCkrKGc8PDYpKzQ+PjJdPj4yXXwwKSsxNj4+Ml18MCkrMjM2Pj4yXXwwKTwoZlsoZlsoZltm
WyhmW2UrMTk2Pj4yXXwwKSsoZzw8NikrND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyMzY+PjJdfDAp
O2lqKGZbKGZbKGE/aTpoKSsxNj4+Ml18MCkrMjYwPj4yXXwwLGZbKGZbKGE/aDppKSsxNj4+Ml18
MCkrMjU2Pj4yXXwwLG0sMCl8MDthPWZbbj4+Ml18MDtiPWE7YT1mW2ErMTgwPj4yXXwwfWo9aisx
fDB9dWooZSk7Yj1mW24+PjJdfDA7bD1rO2E9ZltiKzE4MD4+Ml18MH1yZXR1cm59ZnVuY3Rpb24g
dmooYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wO2M9ZltjKzE2Pj4yXXwwO2lmKChiW2MrMTU2Pj4w
XXwwKT09MSl7Yz1mW2ZbYysyNTY+PjJdPj4yXXwwO3doaWxlKDEpe2Q9ZlsoZltjKzE2Pj4yXXww
KSsxMTY+PjJdfDA7aWYoIWQpYnJlYWs7ZWxzZSBjPWR9aWYoISh4eihhLGZbKChmW2M+PjJdJjN8
MCk9PTM/YzpjKzQ4fDApKzQwPj4yXXwwKXwwKSljPSh4eihhLGZbKChmW2M+PjJdJjN8MCk9PTI/
YzpjKy00OHwwKSs0MD4+Ml18MCl8MCk9PTAmMTtlbHNlIGM9MH1lbHNlIGM9MDtyZXR1cm4gY3ww
fWZ1bmN0aW9uIHdqKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuIHhqKGEsYil8MH1mdW5jdGlvbiB4
aihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wO2E6ZG8gaWYoKGF8MCk9PShifDApKWE9MTtl
bHNle2M9ZlsoZlthKzE2Pj4yXXwwKSsxODA+PjJdfDA7YT0wO3doaWxlKDEpe2Q9ZltjKyhhPDwy
KT4+Ml18MDtpZighZCl7YT0wO2JyZWFrIGF9aWYoISh4aihmWygoZltkPj4yXSYzfDApPT0yP2Q6
ZCstNDh8MCkrNDA+PjJdfDAsYil8MCkpYT1hKzF8MDtlbHNle2E9MTticmVha319fXdoaWxlKDAp
O3JldHVybiBhfDB9ZnVuY3Rpb24geWooYSl7YT1hfDA7dmFyIGM9MCxlPTAsZz0wLGg9MCxpPTAs
aj0wLGs9MDtrPWErMTZ8MDthPWZbaz4+Ml18MDtqPWRbYSsyMzY+PjFdfDA7d2hpbGUoMSl7aWYo
KGp8MCk+KGRbYSsyMzg+PjFdfDApKWJyZWFrO2g9ZlthKzE5Nj4+Ml18MDtnPWZbaCsoajw8Nik+
PjJdfDA7aD1oKyhqPDw2KSs0fDA7aT0wO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KGd8MCkpYnJl
YWs7Yz1mWyhmWyhmW2g+PjJdfDApKyhlPDwyKT4+Ml18MCkrMTY+PjJdfDA7ZltjKzIzNj4+Ml09
aTtpZigoYltjKzE1OT4+MF18MCk9PTYpYz1mW2MrMjE2Pj4yXXwwO2Vsc2UgYz0xO2k9YytpfDA7
ZT1lKzF8MH1pZigoaXwwKT4oZ3wwKSl7YT1mW2g+PjJdfDA7aWYoIWEpYT1FSCgoaTw8MikrNHww
KXwwO2Vsc2UgYT1HSChhLChpPDwyKSs0fDApfDA7ZT1mWyhmW2s+PjJdfDApKzE5Nj4+Ml18MDtm
W2UrKGo8PDYpKzQ+PjJdPWE7Yz1mW2UrKGo8PDYpPj4yXXwwO3doaWxlKDEpe2E9YystMXwwO2lm
KChjfDApPD0wKWJyZWFrO2g9ZltlKyhqPDw2KSs0Pj4yXXwwO2M9ZltoKyhhPDwyKT4+Ml18MDtm
W2grKGZbKGZbYysxNj4+Ml18MCkrMjM2Pj4yXTw8Mik+PjJdPWM7Yz1hO2U9ZlsoZltrPj4yXXww
KSsxOTY+PjJdfDB9ZltlKyhqPDw2KT4+Ml09aTtmWyhmW2UrKGo8PDYpKzQ+PjJdfDApKyhpPDwy
KT4+Ml09MDthPWZbaz4+Ml18MH1qPWorMXwwfXJldHVybn1mdW5jdGlvbiB6aihhLGIpe2E9YXww
O2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO209
dDt0PXQrNDh8MDtsPW0rMzJ8MDtrPW0rOHwwO2M9bSsyNHwwO2o9bSsxNnwwO2k9bTtkPWIrMTZ8
MDtlPWZbZD4+Ml18MDthOmRvIGlmKChmW2UrMjE2Pj4yXXwwKT49Mil7ZltrPj4yXT1+figrcFtl
KzE2Pj4zXS0rcFtlKzg4Pj4zXSk7ZltrKzQ+PjJdPX5+K3BbZSsyND4+M107ZltsPj4yXT1mW2s+
PjJdO2ZbbCs0Pj4yXT1mW2srND4+Ml07QWooYyxiLGwpO2c9YztoPWZbZys0Pj4yXXwwO2M9aztm
W2M+PjJdPWZbZz4+Ml07ZltjKzQ+PjJdPWg7Yz1mW2Q+PjJdfDA7aWYoKGZbYysxODQ+PjJdfDAp
PjApe2k9ZltmW2MrMTgwPj4yXT4+Ml18MDtjPShmW2MrMjM2Pj4yXXwwKSsxfDA7aT1ReChhLGZb
KChmW2k+PjJdJjN8MCk9PTI/aTppKy00OHwwKSs0MD4+Ml18MCl8MDt3aGlsZSgxKXtpZighaSli
cmVhayBhO2g9KGZbaT4+Ml0mM3wwKT09Mj9pOmkrLTQ4fDA7ZD1oKzQ4fDA7ZT1mWygoZltoPj4y
XSYzfDApPT0zP2g6ZCkrNDA+PjJdfDA7aWYoKGV8MCkhPShifDApPygkTChlKXwwKT09KGJ8MCk6
MCl7ZT1mWygoZltoPj4yXSYzfDApPT0zP2g6ZCkrNDA+PjJdfDA7ZltsPj4yXT1mW2s+PjJdO2Zb
bCs0Pj4yXT1mW2srND4+Ml07QmooaixhLGUsbCxjKTtlPWo7ZD1mW2UrND4+Ml18MDtnPWs7Zltn
Pj4yXT1mW2U+PjJdO2ZbZys0Pj4yXT1kO0loKGgpO2c9aCstNDh8MDtkPWZbKGZbKChmW2g+PjJd
JjN8MCk9PTI/aDpnKSs0MD4+Ml18MCkrMTY+PjJdfDA7ZT1mW2QrMTcyPj4yXXwwO2lmKCFlKWQ9
RUgoKGZbZCsxNzY+PjJdPDwyKSs4fDApfDA7ZWxzZSBkPUdIKGUsKGZbZCsxNzY+PjJdPDwyKSs4
fDApfDA7ZlsoZlsoZlsoKGZbaD4+Ml0mM3wwKT09Mj9oOmcpKzQwPj4yXXwwKSsxNj4+Ml18MCkr
MTcyPj4yXT1kO249ZlsoZlsoKGZbaD4+Ml0mM3wwKT09Mj9oOmcpKzQwPj4yXXwwKSsxNj4+Ml18
MDtkPWZbbisxNzI+PjJdfDA7bj1uKzE3NnwwO2U9ZltuPj4yXXwwO2Zbbj4+Ml09ZSsxO2ZbZCso
ZTw8Mik+PjJdPWg7aD1mWyhmWygoZltoPj4yXSYzfDApPT0yP2g6ZykrNDA+PjJdfDApKzE2Pj4y
XXwwO2ZbKGZbaCsxNzI+PjJdfDApKyhmW2grMTc2Pj4yXTw8Mik+PjJdPTA7Yz1jKzF8MH1pPVJ4
KGEsaSl8MH19ZWxzZXtoPWZbZltjKzE3Mj4+Ml0+PjJdfDA7Yz0oZltjKzIzNj4+Ml18MCkrMXww
O2g9TngoYSxmWygoZltoPj4yXSYzfDApPT0zP2g6aCs0OHwwKSs0MD4+Ml18MCl8MDt3aGlsZSgx
KXtpZighaClicmVhayBhO2Q9aCstNDh8MDtlPWZbKChmW2g+PjJdJjN8MCk9PTI/aDpkKSs0MD4+
Ml18MDtpZigoZXwwKSE9KGJ8MCk/KCRMKGUpfDApPT0oYnwwKTowKXtlPWZbKChmW2g+PjJdJjN8
MCk9PTI/aDpkKSs0MD4+Ml18MDtmW2w+PjJdPWZbaz4+Ml07ZltsKzQ+PjJdPWZbays0Pj4yXTtC
aihpLGEsZSxsLGMpO2U9aTtkPWZbZSs0Pj4yXXwwO2c9aztmW2c+PjJdPWZbZT4+Ml07ZltnKzQ+
PjJdPWQ7SWgoaCk7Zz1oKzQ4fDA7ZD1mWyhmWygoZltoPj4yXSYzfDApPT0zP2g6ZykrNDA+PjJd
fDApKzE2Pj4yXXwwO2U9ZltkKzE4MD4+Ml18MDtpZighZSlkPUVIKChmW2QrMTg0Pj4yXTw8Mikr
OHwwKXwwO2Vsc2UgZD1HSChlLChmW2QrMTg0Pj4yXTw8MikrOHwwKXwwO2ZbKGZbKGZbKChmW2g+
PjJdJjN8MCk9PTM/aDpnKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE4MD4+Ml09ZDtlPWZbKGZbKChm
W2g+PjJdJjN8MCk9PTM/aDpnKSs0MD4+Ml18MCkrMTY+PjJdfDA7aj1mW2UrMTgwPj4yXXwwO2U9
ZSsxODR8MDtuPWZbZT4+Ml18MDtmW2U+PjJdPW4rMTtmW2orKG48PDIpPj4yXT1oO249ZlsoZlso
KGZbaD4+Ml0mM3wwKT09Mz9oOmcpKzQwPj4yXXwwKSsxNj4+Ml18MDtmWyhmW24rMTgwPj4yXXww
KSsoZltuKzE4ND4+Ml08PDIpPj4yXT0wO2M9YysxfDB9aD1QeChhLGgpfDB9fX13aGlsZSgwKTt0
PW07cmV0dXJufWZ1bmN0aW9uIEFqKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9
MC4wO2Q9KG56KGIpfDApKzE2fDA7a04oYixmWyhmW2Q+PjJdfDApKzExNj4+Ml0mMSk7ZD1mW2Ir
MTY+PjJdfDA7cFtkKzI0Pj4zXT0rKGZbYys0Pj4yXXwwKTtlPStwW2QrODg+PjNdKyArKGZbYz4+
Ml18MCk7cFtkKzE2Pj4zXT1lO2U9K3BbZCs5Nj4+M10rZTtkPShueihiKXwwKSsxNnwwO2ZbYz4+
Ml09fn4oZSsgKyhmWyhmW2Q+PjJdfDApKzI0OD4+Ml18MCkpO2Q9YztiPWZbZCs0Pj4yXXwwO2M9
YTtmW2M+PjJdPWZbZD4+Ml07ZltjKzQ+PjJdPWI7cmV0dXJufWZ1bmN0aW9uIEJqKGEsYixjLGQs
ZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9MDtpPXQ7
dD10KzE2fDA7aD1pO2I9cmcoYil8MDtnPSRMKGMpfDA7aWYoKGd8MCkhPShjfDApKUFoKGcsYyk7
aj1mW2MrMTY+PjJdfDA7ZltqKzIzNj4+Ml09ZTtnPWZbKGZbZysxNj4+Ml18MCkrMjMyPj4yXXww
O2ZbaisyMzI+PjJdPWc7ZlsoZlsoZlsoZltiKzE2Pj4yXXwwKSsxOTY+PjJdfDApKyhnPDw2KSs0
Pj4yXXwwKSsoZTw8Mik+PjJdPWM7ZltoPj4yXT1mW2Q+PjJdO2ZbaCs0Pj4yXT1mW2QrND4+Ml07
QWooYSxjLGgpO3Q9aTtyZXR1cm59ZnVuY3Rpb24gQ2ooYSl7YT1hfDA7dmFyIGI9MC4wLGM9MC4w
LGU9MCxnPTAsaD0wLGk9MC4wLGo9MCxrPTAsbD0wLG09MC4wO2w9KHJnKGEpfDApKzE2fDA7bD1m
WyhmW2w+PjJdfDApKzE5Nj4+Ml18MDtpZigocmcoYSl8MCk9PShhfDApKWk9OC4wO2Vsc2UgaT0r
KFRMKGEsZls0ODMzNl18MCw4LDApfDApO2s9YSsxNnwwO2c9ZltrPj4yXXwwO2U9MDtqPTE7Yz0r
cFtnKzEyMD4+M107Yj0rcFtnKzEyOD4+M107d2hpbGUoMSl7aWYoKGp8MCk+KGZbZysxODA+PjJd
fDApKWJyZWFrO2g9ZlsoZltnKzE4ND4+Ml18MCkrKGo8PDIpPj4yXXwwO2U9Q2ooaCl8MHxlO2g9
ZltoKzE2Pj4yXXwwO2c9ZltrPj4yXXwwO2lmKChkW2grMjM4Pj4xXXwwKT09KGRbZysyMzg+PjFd
fDApKXttPStwW2grMTIwPj4zXStpO2M9Yz5tP2M6bX1pZigoZFtoKzIzNj4+MV18MCk9PShkW2cr
MjM2Pj4xXXwwKSl7bT0rcFtoKzEyOD4+M10raTtiPWI+bT9iOm19aj1qKzF8MH1pZigocmcoYSl8
MCkhPShhfDApPyhmWyhmW2s+PjJdfDApKzEyPj4yXXwwKSE9MDowKXtqPShveihhKXwwKSsxNnww
O2lmKCEoZlsoZltqPj4yXXwwKSsxMTY+PjJdJjEpKXtqPWZbaz4+Ml18MDtlPTE7Yz0rcFtqKzU2
Pj4zXStjO2I9K3Bbais4OD4+M10rYn1lbHNlIGU9MX1qPWZbaz4+Ml18MDtwW2orMTIwPj4zXT1j
O3BbaisxMjg+PjNdPWI7aWYoKHJnKGEpfDApIT0oYXwwKSl7az1mW2s+PjJdfDA7YT1sKyhkW2sr
MjM2Pj4xXTw8NikrMjR8MDttPStwW2E+PjNdO3BbYT4+M109bT5iP206YjtsPWwrKGRbaysyMzg+
PjFdPDw2KSsxNnwwO209K3BbbD4+M107cFtsPj4zXT1tPmM/bTpjfXJldHVybiBlfDB9ZnVuY3Rp
b24gRGooYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGU9MC4wLGc9MC4wLGg9MCxpPTAsaj0wLjAs
az0wLGw9MCxtPTAsbj0wLG89MC4wLHE9MC4wO249KHJnKGEpfDApKzE2fDA7bj1mWyhmW24+PjJd
fDApKzE5Nj4+Ml18MDtpZigocmcoYSl8MCk9PShhfDApKWM9MDtlbHNlIGM9VEwoYSxmWzQ4MzM2
XXwwLDgsMCl8MDtrPWErMTZ8MDtoPWZbaz4+Ml18MDtsPWMrYnwwO2o9KyhjfDApO2k9MTtlPStw
W2grMTI4Pj4zXTtnPStwW2grMTIwPj4zXTtjPWg7d2hpbGUoMSl7aWYoKGl8MCk+KGZbYysxODA+
PjJdfDApKWJyZWFrO2g9ZlsoZltjKzE4ND4+Ml18MCkrKGk8PDIpPj4yXXwwO0RqKGgsbCk7aD1m
W2grMTY+PjJdfDA7Yz1mW2s+PjJdfDA7aWYoKGRbaCsyMzg+PjFdfDApPT0oZFtjKzIzOD4+MV18
MCkpe3E9K3BbaCsxMjA+PjNdK2o7Zz1nPnE/ZzpxfWlmKChkW2grMjM2Pj4xXXwwKT09KGRbYysy
MzY+PjFdfDApKXtxPStwW2grMTI4Pj4zXStqO2U9ZT5xP2U6cX1pPWkrMXwwfXBbYysxMjA+PjNd
PWc7cFtjKzEyOD4+M109ZTtpZigoKHJnKGEpfDApIT0oYXwwKT8obT1mW2s+PjJdfDAsZlttKzEy
Pj4yXXwwKTowKT8ocT0rcFttKzEwND4+M10sbz0rcFttKzcyPj4zXSxvPS1nLWUrKHE+bz9xOm8p
LStwWyhmWyhmW2ZbbisoZFttKzIzNj4+MV08PDYpKzQ+PjJdPj4yXXwwKSsxNj4+Ml18MCkrMjQ+
PjNdKyArcFsoZlsoZltmW24rKGRbbSsyMzg+PjFdPDw2KSs0Pj4yXT4+Ml18MCkrMTY+PjJdfDAp
KzI0Pj4zXSxvPjAuMCk6MClFaihhLH5+byxiKTtpZigocmcoYSl8MCkhPShhfDApKXttPWZbaz4+
Ml18MDtsPW4rKGRbbSsyMzY+PjFdPDw2KSsyNHwwO3E9K3BbbD4+M107bz0rcFttKzEyOD4+M107
cFtsPj4zXT1xPm8/cTpvO249bisoZFttKzIzOD4+MV08PDYpKzE2fDA7bz0rcFtuPj4zXTtxPStw
W20rMTIwPj4zXTtwW24+PjNdPW8+cT9vOnF9cmV0dXJufWZ1bmN0aW9uIEVqKGEsYixjKXthPWF8
MDtiPWJ8MDtjPWN8MDt2YXIgZT0wLjAsZz0wLGg9MC4wLGk9MCxqPTAsaz0wLGw9MC4wLG09MCxu
PTA7aT0ocmcoYSl8MCkrMTZ8MDtpPWZbaT4+Ml18MDtuPWZbaSsxOTY+PjJdfDA7bT1mW2ErMTY+
PjJdfDA7YT1kW20rMjM4Pj4xXXwwO2c9ZFttKzIzNj4+MV18MDtqPShiKzF8MCkvMnwwO2s9bSsx
MjB8MDtsPStwW2s+PjNdKyArKGp8MCk7aD0rKGN8MCk7Yz1+fihoLStwW24rKGE8PDYpKzE2Pj4z
XStsKTtpZigoY3wwKT4wKXtlPSsoY3wwKTt3aGlsZSgxKXtpZigoYXwwKTwoZ3wwKSlicmVhaztp
ZigoZltuKyhhPDw2KT4+Ml18MCk+MCl7Yz0oZlsoZltmW24rKGE8PDYpKzQ+PjJdPj4yXXwwKSsx
Nj4+Ml18MCkrMjR8MDtwW2M+PjNdPStwW2M+PjNdK2V9YT1hKy0xfDB9ZT0rKGItanwwKStoK2U7
aD0rcFttKzEyOD4+M119ZWxzZXtlPSsoYi1qfDApK2g7aD0rcFttKzEyOD4+M119YT1+fihlK2gt
K3BbbisoZzw8NikrMjQ+PjNdKTthOmRvIGlmKChhfDApPjApe2M9ZFtpKzIzNj4+MV18MDtlPSso
YXwwKTt3aGlsZSgxKXthPWcrLTF8MDtpZigoZ3wwKTw9KGN8MCkpYnJlYWsgYTtpZigoZltuKyhh
PDw2KT4+Ml18MCk+MCl7aT0oZlsoZltmW24rKGE8PDYpKzQ+PjJdPj4yXXwwKSsxNj4+Ml18MCkr
MjR8MDtwW2k+PjNdPStwW2k+PjNdK2V9Zz1hfX13aGlsZSgwKTtwW20rMTI4Pj4zXT1oKyArKGIt
anwwKTtwW2s+PjNdPWw7cmV0dXJufWZ1bmN0aW9uIEZqKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9
MCxlPTA7ZD1mW2ErMTY+PjJdfDA7ZT1iW2QrODQ+PjBdfDA7YT1mW2MrMTY+PjJdfDA7ZG8gaWYo
ZTw8MjQ+PjI0PT0oYlthKzg0Pj4wXXwwKSl7aWYoK3BbZCs1Nj4+M109PStwW2ErNTY+PjNdKXtp
ZighKGU8PDI0Pj4yND09MD8xOitwW2QrNjQ+PjNdPT0rcFthKzY0Pj4zXSkpe2E9MDticmVha319
ZWxzZSBpZihlPDwyND4+MjQpe2E9MDticmVha31pZigrcFtkKzE2Pj4zXT09K3BbYSsxNj4+M10/
K3BbZCsyND4+M109PStwW2ErMjQ+PjNdOjApe2E9MTticmVha31hPShiW2QrNDQ+PjBdfDApPT0w
JjF9ZWxzZSBhPTA7d2hpbGUoMCk7cmV0dXJuIGF8MH1mdW5jdGlvbiBHaihhKXthPWF8MDt2YXIg
Yj0wLGM9MCxlPTAsZz0wLGg9MCxpPTA7aT1hKzE2fDA7Yj1mW2k+PjJdfDA7ZFtiKzIzNj4+MV09
MzI3Njc7ZFtiKzIzOD4+MV09LTE7Yj0wO2g9JHkoYSl8MDt3aGlsZSgxKXtjPWZbaT4+Ml18MDtp
ZighaClicmVhaztlPWMrMjM4fDA7Zz1mWyhmW2grMTY+PjJdfDApKzIzMj4+Ml18MDtpZigoZ3ww
KT4oZFtlPj4xXXwwKSlkW2U+PjFdPWc7Yz1jKzIzNnwwO2lmKChnfDApPChkW2M+PjFdfDApKWRb
Yz4+MV09ZztpZighYiliPWg7ZWxzZSBiPShnfDApPChmWyhmW2IrMTY+PjJdfDApKzIzMj4+Ml18
MCk/aDpiO2g9YXooYSxoKXwwfWZbYysyNjQ+PjJdPWI7cmV0dXJufWZ1bmN0aW9uIEhqKGEpe2E9
YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLjA7Yj1HeChhLDk5MDA2KXwwO2lmKCFiKWI9MjE0
NzQ4MzY0NztlbHNle2c9K0MyKGIpO2I9fn4oZyorKGp5KGEpfDApKX1kPWErMTZ8MDtjPTA7d2hp
bGUoMSl7ZT1mW2Q+PjJdfDA7aWYoKGN8MCk+PShmW2UrMjIwPj4yXXwwKSlicmVhaztmW2UrMTky
Pj4yXT1mWyhmW2UrMjE2Pj4yXXwwKSsoYzw8Mik+PjJdO29JKGEsKGZbZSsxODA+PjJdfDApPT0w
JjEsYil8MDtjPWMrMXwwfXJldHVybn1mdW5jdGlvbiBJaihhLGIpe2E9YXwwO2I9YnwwO3ZhciBj
PTAsZT0wLGc9MDtlPXQ7dD10KzE2fDA7Yz1lO2lmKCEoR3goYSw5OTAxNSl8MCkpS2ooYSxiKTtl
bHNle2c9KGZbYSsxNj4+Ml18MCkrMTM2fDA7ZFtnPj4xXT1kW2c+PjFdfDE2O0pqKGEsYil9aWYo
MCl7Zz1mWzE5NDU3XXwwO2E9ZlthKzE2Pj4yXXwwO2I9ZFthKzIzNj4+MV18MDtmW2M+PjJdPWRb
YSsyMzg+PjFdO2ZbYys0Pj4yXT1iO2cyKGcsOTkwMjMsYyl8MH10PWU7cmV0dXJufWZ1bmN0aW9u
IEpqKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLjA7aT10O3Q9
dCsxNnwwO2g9aTtmWzQ4MTU5XT0wO2JbaD4+MF09Yls3MjI2OF18MDtiW2grMT4+MF09Yls3MjI2
OV18MDtiW2grMj4+MF09Yls3MjI3MF18MDtiW2grMz4+MF09Yls3MjI3MV18MDtoPWV5KDk5MjMz
LGgsMCl8MDtKeihoLDk5MjYyLDI4MCwxKXwwO3Z6KGgsNzE2OTIsNzE2ODApO0xqKGEpO2Q9R3go
YSw5OTAwNil8MDtpZighZCllPTIxNDc0ODM2NDc7ZWxzZXtqPStDMihkKTtlPX5+KGoqKyhqeShh
KXwwKSl9JGooYSwwKTthayhhLGgpO2JrKGEsaCk7Y2soYSxoLDAsMCk7ZGsoaCk7Zz1layhoKXww
O2ZrKGgpO2lmKGN8MCl7VmsoaCk7SmsoaCl9ZD1HeChhLDExMDkxMil8MDtpZighZClkPS0xO2Vs
c2UgZD1EMihkKXwwO0hIKGgsMSxlLGQpfDA7Z2soYSxoLGcpO2l5KGgpfDA7dD1pO3JldHVybn1m
dW5jdGlvbiBLaihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MDtn
PXQ7dD10KzMyfDA7ZT1nKzE2fDA7ZD1nKzh8MDtjPWc7TGooYSk7ZG8gaWYoIWIpe01qKGEsYSk7
WWsoYSk7TmooYyxhKTtoPWM7Yz1mW2grND4+Ml18MDtiPWQ7ZltiPj4yXT1mW2g+PjJdO2ZbYis0
Pj4yXT1jO1JsKGEsMCk7Yj0wfWVsc2V7VmsoYSk7SmsoYSk7TWooYSxhKTtZayhhKTtOaihjLGEp
O2k9YztjPWZbaSs0Pj4yXXwwO2g9ZDtmW2g+PjJdPWZbaT4+Ml07ZltoKzQ+PjJdPWM7UmwoYSww
KTtoPWZbYSsxNj4+Ml18MDtpZigoZltoKzIyMD4+Ml18MCk8PTE/KGZbaCsxODA+PjJdfDApPD0w
OjApYnJlYWs7ZltiKzMyPj4yXT0xO2I9MH13aGlsZSgwKTtHayhhKTtmW2U+PjJdPWZbZD4+Ml07
ZltlKzQ+PjJdPWZbZCs0Pj4yXTtpZihPaihhLGUpfDApUmwoYSwwKTtpZighYilIaihhKTtlbHNl
IEtrKGEsYik7UGooYSxiKTtRaihhKTt0PWc7cmV0dXJufWZ1bmN0aW9uIExqKGEpe2E9YXwwO3Zh
ciBjPTAsZT0wLGc9MDtpZihiWyhmWyhmW2ErNjA+PjJdfDApKzE2Pj4yXXwwKSsxMTM+PjBdJjEp
e2U9JHkoYSl8MDt3aGlsZSgxKXtpZighZSlicmVhaztjPU54KGEsZSl8MDt3aGlsZSgxKXtpZigh
YylicmVhaztnPShmW2MrMTY+PjJdfDApKzE3MHwwO2RbZz4+MV09KGpbZz4+MV18MCk8PDE7Yz1Q
eChhLGMpfDB9ZT1heihhLGUpfDB9Zz0oZlthKzE2Pj4yXXwwKSsyNTJ8MDtmW2c+PjJdPSgoZltn
Pj4yXXwwKSsxfDApLzJ8MH1yZXR1cm59ZnVuY3Rpb24gTWooYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wO2I9RkEoYil8MDt3aGlsZSgxKXtpZighYilicmVhaztjPVlqKGIpfDA7ZG8gaWYoYylpZigo
Y3wwKT09NyYoZls0ODMyNl18MCk9PTEwMCl7VWooYSxiKTticmVha31lbHNle1pqKGEsYixjKTti
cmVha31lbHNlIE1qKGEsYik7d2hpbGUoMCk7Yj1HQShiKXwwfXJldHVybn1mdW5jdGlvbiBOaihh
LGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7aT1jKzE2fDA7
ZD1mW2k+PjJdfDA7Yz1mW2QrMjI4Pj4yXXwwO2Q9ZltkKzIyND4+Ml18MDtlPShkfDApPT0wO2lm
KCFjKWlmKGUpe2o9MDtrPTB9ZWxzZSBnPTQ7ZWxzZSBpZihlKWc9NTtlbHNlIGc9NDtpZigoZ3ww
KT09NCl7Yz0kTChkKXwwO2Q9ZltpPj4yXXwwO2ZbZCsyMjQ+PjJdPWM7Yz1mW2QrMjI4Pj4yXXww
O2lmKCFjKXtoPTA7Yz1kO2c9MTJ9ZWxzZSBnPTV9ZG8gaWYoKGd8MCk9PTUpe2M9JEwoYyl8MDtk
PWZbaT4+Ml18MDtmW2QrMjI4Pj4yXT1jO2lmKGMpe2Q9YysxNnwwO2M9ZltkPj4yXXwwO2U9KGJb
YysxNTk+PjBdfDApPT01JjE7d2hpbGUoMSl7Yz1mW2ZbYysxODA+PjJdPj4yXXwwO2lmKCFjKXtn
PTExO2JyZWFrfWg9ZlsoKGZbYz4+Ml0mM3wwKT09Mj9jOmMrLTQ4fDApKzQwPj4yXXwwO2lmKCho
fDApIT0oJEwoaCl8MCkpe2c9OTticmVha31GayhjKTtjPWZbZD4+Ml18MH1pZigoZ3wwKT09OSl4
YSg5OTEyNiw5OTA2NiwzNDYsOTkxNTgpO2Vsc2UgaWYoKGd8MCk9PTExKXtoPWU7Yz1mW2k+PjJd
fDA7Zz0xMjticmVha319ZWxzZXtoPTA7Yz1kO2c9MTJ9fXdoaWxlKDApO2E6ZG8gaWYoKGd8MCk9
PTEyKXtjPWZbYysyMjQ+PjJdfDA7aWYoIWMpe2o9MDtrPWh9ZWxzZXtkPWMrMTZ8MDtjPWZbZD4+
Ml18MDtlPShiW2MrMTU5Pj4wXXwwKT09MyYxO3doaWxlKDEpe2M9ZltmW2MrMTcyPj4yXT4+Ml18
MDtpZighYyl7aj1lO2s9aDticmVhayBhfWk9ZlsoKGZbYz4+Ml0mM3wwKT09Mz9jOmMrNDh8MCkr
NDA+PjJdfDA7aWYoKGl8MCkhPSgkTChpKXwwKSlicmVhaztGayhjKTtjPWZbZD4+Ml18MH14YSg5
OTE3MSw5OTA2NiwzNTMsOTkxNTgpfX13aGlsZSgwKTtmW2E+PjJdPWo7ZlthKzQ+PjJdPWs7cmV0
dXJufWZ1bmN0aW9uIE9qKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxlPTAsZz0wLGg9MCxpPTAs
aj0wLGs9MCxsPTA7aj1hKzE2fDA7aT1mW2o+PjJdfDA7aWYoKGZbaSsyMjg+PjJdfDApPT0wPyhm
W2krMjI0Pj4yXXwwKT09MDowKWI9MDtlbHNlIGM9MzthOmRvIGlmKChjfDApPT0zKXtnPSR5KGEp
fDA7aT1mW2IrND4+Ml0mNjU1MzU7aD1mW2I+PjJdJjY1NTM1O2I9MDt3aGlsZSgxKXtpZighZyli
cmVhayBhO2lmKChnfDApPT0oJEwoZyl8MCkpe2U9ZysxNnwwO2M9ZltlPj4yXXwwO2lmKChmW2Mr
MTg0Pj4yXXwwKT09MD8oaz1mWyhmW2o+PjJdfDApKzIyOD4+Ml18MCwhKChrfDApPT0wfChnfDAp
PT0oa3wwKSkpOjApe2I9eWgoZyxrLDApfDA7Yz1mW2IrMTY+PjJdfDA7ZFtjKzE3MD4+MV09aTtm
W2MrMTU2Pj4yXT0wO2M9ZltlPj4yXXwwfWlmKChmW2MrMTc2Pj4yXXwwKT09MD8obD1mWyhmW2o+
PjJdfDApKzIyND4+Ml18MCwhKChsfDApPT0wfChnfDApPT0obHwwKSkpOjApe2I9eWgobCxnLDAp
fDA7ZT1mW2IrMTY+PjJdfDA7ZFtlKzE3MD4+MV09aDtmW2UrMTU2Pj4yXT0wfX1nPWF6KGEsZyl8
MH19d2hpbGUoMCk7cmV0dXJuIChifDApIT0wfDB9ZnVuY3Rpb24gUGooYSxjKXthPWF8MDtjPWN8
MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7Zz0keShhKXwwO2s9YSsxNnwwO2U9ZltrPj4y
XXwwO2E6ZG8gaWYoZyl7ZFtlKzIzNj4+MV09MzI3Njc7ZFtlKzIzOD4+MV09LTE7aj0oY3wwKT09
MDt3aGlsZSgxKXtpZighZylicmVhaztoPSRMKGcpfDA7aT1mW2crMTY+PjJdfDA7ZT1pKzIzMnww
O2M9ZltlPj4yXXwwO2RvIGlmKChofDApPT0oZ3wwKSloPWM7ZWxzZXtpZighailpZighYyljPTA7
ZWxzZXtoPWM7YnJlYWt9aD1jKyhmWyhmW2grMTY+PjJdfDApKzIzMj4+Ml18MCl8MDtmW2U+PjJd
PWh9d2hpbGUoMCk7Yz1mW2s+PjJdfDA7ZT1jKzIzOHwwO2lmKChofDApPihkW2U+PjFdfDApKWRb
ZT4+MV09aDtjPWMrMjM2fDA7aWYoKGh8MCk8KGRbYz4+MV18MCkpZFtjPj4xXT1oO3N3aXRjaChi
W2krMTU5Pj4wXXwwKXtjYXNlIDY6Y2FzZSAwOmJyZWFrO2RlZmF1bHQ6Yk0oZyl9Zz1heihhLGcp
fDB9aWYoKHJnKGEpfDApPT0oYXwwKSl7aWYoKGZbNDgzMjZdfDApIT0xMDApe1RqKGEpO2JyZWFr
fWM9MTt3aGlsZSgxKXtlPWZbaz4+Ml18MDtpZigoY3wwKT4oZltlKzE4MD4+Ml18MCkpYnJlYWsg
YTtTaihmWyhmW2UrMTg0Pj4yXXwwKSsoYzw8Mik+PjJdfDApO2M9YysxfDB9fX1lbHNle2RbZSsy
Mzg+PjFdPTA7ZFtlKzIzNj4+MV09MH13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gUWooYSl7YT1h
fDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDtqPWErMTZ8MDtk
PTA7d2hpbGUoMSl7Yz1mW2o+PjJdfDA7aWYoKGR8MCk+PShmW2MrMjIwPj4yXXwwKSlicmVhaztp
PWZbKGZbYysyMTY+PjJdfDApKyhkPDwyKT4+Ml18MDtmW2MrMTkyPj4yXT1pO2M9aTt3aGlsZSgx
KXtpZighYylicmVhaztpPWMrMTZ8MDtSaigoZltpPj4yXXwwKSsxNzJ8MCk7UmooKGZbaT4+Ml18
MCkrMTgwfDApO2k9ZltpPj4yXXwwO2JbaSsxNTc+PjBdPTA7Yz1mW2krMTY0Pj4yXXwwfWQ9ZCsx
fDB9aT0keShhKXwwO3doaWxlKDEpe2lmKCFpKWJyZWFrO2g9TngoYSxpKXwwO3doaWxlKDEpe2lm
KCFoKWJyZWFrO2U9aCsxNnwwO2M9KGZbZT4+Ml18MCkrMTcyfDA7Zz1mW2M+PjJdfDA7aWYoKGd8
MCkhPTA/KGs9ZysxNnwwLChofDApPT0oZlsoZltrPj4yXXwwKSsxMTY+PjJdfDApKTowKXtjPSR5
KGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7ZD1OeChhLGMpfDA7d2hpbGUoMSl7aWYoIWQpYnJl
YWs7aWYoKGh8MCkhPShkfDApPyhsPShmW2QrMTY+PjJdfDApKzE3MnwwLG09ZltsPj4yXXwwLCht
fDApIT0wJihnfDApPT0obXwwKSk6MClmW2w+PjJdPTA7ZD1QeChhLGQpfDB9Yz1heihhLGMpfDB9
TV8oZltrPj4yXXwwKTtNXyhnKTtjPShmW2U+PjJdfDApKzE3MnwwfWZbYz4+Ml09MDtoPVB4KGEs
aCl8MH1pPWF6KGEsaSl8MH1NXyhmWyhmW2o+PjJdfDApKzIxNj4+Ml18MCk7bT1mW2o+PjJdfDA7
ZlttKzIxNj4+Ml09MDtmW20rMjIwPj4yXT0wO3JldHVybn1mdW5jdGlvbiBSaihhKXthPWF8MDt2
YXIgYj0wLGM9MDtjPWErNHwwO2I9ZltjPj4yXXwwO3doaWxlKDEpe2lmKChifDApPD0tMSlicmVh
aztmWyhmW2E+PjJdfDApKyhiPDwyKT4+Ml09MDtiPWIrLTF8MH1mW2M+PjJdPTA7cmV0dXJufWZ1
bmN0aW9uIFNqKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGU9MDtiPWErMTZ8MDtjPWZbYj4+Ml18MDtl
PWZbKGZbKGZbYysyNjQ+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDA7YT1jKzIzNnwwO2RbYT4+
MV09ZSsoalthPj4xXXwwKTthPWMrMjM4fDA7ZFthPj4xXT1lKyhqW2E+PjFdfDApO2E9MTt3aGls
ZSgxKXtpZigoYXwwKT4oZltjKzE4MD4+Ml18MCkpYnJlYWs7U2ooZlsoZltjKzE4ND4+Ml18MCkr
KGE8PDIpPj4yXXwwKTthPWErMXwwO2M9ZltiPj4yXXwwfXJldHVybn1mdW5jdGlvbiBUaihhKXth
PWF8MDt2YXIgYz0wO2M9RkEocmcoYSl8MCl8MDt3aGlsZSgxKXtpZighYylicmVhaztpZigoYlso
ZltjKzE2Pj4yXXwwKSsyNzQ+PjBdfDApPT03KVVqKGEsYyk7Yz1HQShjKXwwfXJldHVybn1mdW5j
dGlvbiBVaihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTA7Yz0oZltiKzE2Pj4yXXwwKSsyMDB8MDtk
byBpZigoZltjPj4yXXwwKT09MD8oZltjPj4yXT1hLFZqKGEsYiksJHkoYil8MCk6MCl7V2ooYSxi
KTtpZigoZls0ODMyNl18MCk9PTEwMCl7S2ooYiwwKTtYaihiKTticmVha31lbHNle0dqKGIpO2Jy
ZWFrfX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gVmooYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0w
LGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2g9YSsxNnwwO2c9JHkoYyl8MDt3aGlsZSgxKXtpZigh
ZylicmVhaztpPWF6KGMsZyl8MDtqPWcrMTZ8MDtpZighKGJbKGZbaj4+Ml18MCkrMTU5Pj4wXXww
KSl7ZT0xO3doaWxlKDEpe2Q9ZltoPj4yXXwwO2E9ZltkKzE4MD4+Ml18MDtpZigoZXwwKT49KGF8
MCkpYnJlYWs7aWYoeHooZlsoZltkKzE4ND4+Ml18MCkrKGU8PDIpPj4yXXwwLGcpfDApe2s9ODti
cmVha31lPWUrMXwwfWlmKChrfDApPT04KXtrPTA7YT1mWyhmW2g+PjJdfDApKzE4MD4+Ml18MH1p
ZigoZXwwKTwoYXwwKSlteihjLGcpfDA7ZlsoZltqPj4yXXwwKSsyMTI+PjJdPTB9ZWxzZSBteihj
LGcpfDA7Zz1pfWQ9JHkoYyl8MDt3aGlsZSgxKXtpZighZClicmVhazthPU54KHJnKGMpfDAsZCl8
MDt3aGlsZSgxKXtpZighYSlicmVhaztpZih4eihjLGZbKChmW2E+PjJdJjN8MCk9PTI/YTphKy00
OHwwKSs0MD4+Ml18MCl8MCljeShjLGEsMSl8MDthPVB4KHJnKGMpfDAsYSl8MH1kPWF6KGMsZCl8
MH1yZXR1cm59ZnVuY3Rpb24gV2ooYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0w
O2Q9YSsxNnwwO2M9ZltkPj4yXXwwO2c9YysxODB8MDthPWZbZz4+Ml18MDtlPWErMXwwO2ZbZz4+
Ml09ZTtjPWZbYysxODQ+PjJdfDA7aWYoIWMpYT1ESCgoYTw8MikrOHwwKXwwO2Vsc2UgYT1GSChj
LGErMnwwLDQsZSl8MDtmWyhmW2Q+PjJdfDApKzE4ND4+Ml09YTtmW2ErKGU8PDIpPj4yXT1iO29I
KGIpO3JldHVybn1mdW5jdGlvbiBYaihhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MDtn
PWZbYSsxNj4+Ml18MDtjPWcrMTkyfDA7aD0wO3doaWxlKDEpe2M9ZltjPj4yXXwwO2lmKCFjKWJy
ZWFrO2U9ZltjKzE2Pj4yXXwwO2lmKCEoZltlKzIzMj4+Ml18MCkpZD0oYltlKzE1Nj4+MF18MCk9
PTA/YzpoO2Vsc2UgZD1oO2M9ZSsxNjR8MDtoPWR9aWYoIWgpeGEoOTkwNTEsOTkwNjYsMjM4LDk5
MDczKTtmW2crMjY0Pj4yXT1oO2M9JHkoYSl8MDt3aGlsZSgxKXtpZighYyl7Yz0xMzticmVha31k
PWMrMTZ8MDtpZighKChjfDApPT0oaHwwKT8xOihmWyhmW2Q+PjJdfDApKzIxNj4+Ml18MCk8Mikp
e2M9MTE7YnJlYWt9YU0oYyxoKXwwO2JbKGZbZD4+Ml18MCkrMTU5Pj4wXT03O2M9YXooYSxjKXww
fWlmKChjfDApPT0xMSl4YSg5OTA4OCw5OTA2NiwyNDIsOTkwNzMpO2Vsc2UgaWYoKGN8MCk9PTEz
KXJldHVybn1mdW5jdGlvbiBZaihhKXthPWF8MDt2YXIgYz0wO2lmKCEoX2ooYSl8MCkpe2M9ak0o
R3goYSw5OTIwMyl8MCw1MTY4LDUyMDApfDA7YlsoZlthKzE2Pj4yXXwwKSsyNzQ+PjBdPWM7YT1j
fWVsc2UgYT03O3JldHVybiBhfDB9ZnVuY3Rpb24gWmooYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHww
O3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtqPSR5KGMpfDA7YTpkbyBpZihqfDApe2s9ZCYy
NTU7aT1qKzE2fDA7Zz1qO2g9aztlPWk7d2hpbGUoMSl7YlsoZltlPj4yXXwwKSsxNTk+PjBdPWg7
ZT1heihjLGcpfDA7aWYoIWUpYnJlYWs7YU0oaixlKXwwO2c9ZTtoPWJbKGZbaT4+Ml18MCkrMTU5
Pj4wXXwwO2U9ZSsxNnwwfWI6ZG8gc3dpdGNoKGR8MCl7Y2FzZSAzOmNhc2UgMjp7Zz1hKzE2fDA7
ZT1mW2c+PjJdfDA7aD1lKzIyNHwwO2E9ZltoPj4yXXwwO2lmKCFhKXtmW2g+PjJdPWo7YnJlYWsg
Yn1lbHNle2o9YU0oYSxqKXwwO2U9ZltnPj4yXXwwO2ZbZSsyMjQ+PjJdPWo7YnJlYWsgYn19Y2Fz
ZSA1OmNhc2UgNDp7Zz1hKzE2fDA7ZT1mW2c+PjJdfDA7aD1lKzIyOHwwO2E9ZltoPj4yXXwwO2lm
KCFhKXtmW2g+PjJdPWo7YnJlYWsgYn1lbHNle2o9YU0oYSxqKXwwO2U9ZltnPj4yXXwwO2ZbZSsy
Mjg+PjJdPWo7YnJlYWsgYn19ZGVmYXVsdDpicmVhayBhfXdoaWxlKDApO3N3aXRjaChkfDApe2Nh
c2UgMzp7YlsoZlsoZltlKzIyND4+Ml18MCkrMTY+PjJdfDApKzE1OT4+MF09azticmVhayBhfWNh
c2UgNTp7YlsoZlsoZltlKzIyOD4+Ml18MCkrMTY+PjJdfDApKzE1OT4+MF09azticmVhayBhfWRl
ZmF1bHQ6YnJlYWsgYX19d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIF9qKGEpe2E9YXwwO3JldHVy
biAoYSQoQXkoYSl8MCwxMTYzMzIsNyl8MCk9PTB8MH1mdW5jdGlvbiAkaihhLGMpe2E9YXwwO2M9
Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wO2w9dDt0PXQrMTZ8MDtnPWw7
aWYoISh1ayhhKXwwKSl7ZG8gaWYoek0oYSl8MClpZighYyl7ZlsoZlthKzE2Pj4yXXwwKSsyMDQ+
PjJdPTA7Yz1hO2JyZWFrfWVsc2V7ZlsoZlthKzE2Pj4yXXwwKSsyMDQ+PjJdPShmWyhmW2MrMTY+
PjJdfDApKzIwND4+Ml18MCkrMTt2ayhhLGMpO2M9YTticmVha313aGlsZSgwKTtkPUZBKGEpfDA7
d2hpbGUoMSl7aWYoIWQpYnJlYWs7JGooZCxjKTtkPUdBKGQpfDB9YTpkbyBpZih6TShhKXwwKXtk
PSR5KGEpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWsgYTtlPShmW2QrMTY+PjJdfDApKzIxMnwwO2lm
KCEoZltlPj4yXXwwKSlmW2U+PjJdPWE7ZD1heihhLGQpfDB9fXdoaWxlKDApO3N3aXRjaCh3ayhh
KXwwKXtjYXNlIDM6e2M9YysxNnwwO2JbKGZbYz4+Ml18MCkrMjQxPj4wXT0xO2s9MTk7YnJlYWt9
Y2FzZSAyOntjPWMrMTZ8MDtrPTE5O2JyZWFrfWNhc2UgNTp7Yz1jKzE2fDA7YlsoZltjPj4yXXww
KSsyNDI+PjBdPTE7az0yMTticmVha31jYXNlIDQ6e2M9YysxNnwwO2s9MjE7YnJlYWt9Y2FzZSAx
Ont4ayhhKXwwO2JyZWFrfWNhc2UgNjpicmVhaztkZWZhdWx0OntkPUF5KGEpfDA7ZT1HeChhLDk5
MjAzKXwwO2ZbZz4+Ml09ZDtmW2crND4+Ml09ZTtZdygwLDk5Mzg2LGcpfDB9fWlmKChrfDApPT0x
OSl7az14ayhhKXwwO2s9eWsoayxmWyhmW2M+PjJdfDApKzIwOD4+Ml18MCl8MDtmWyhmW2M+PjJd
fDApKzIwOD4+Ml09a31lbHNlIGlmKChrfDApPT0yMSl7az14ayhhKXwwO2s9eWsoayxmWyhmW2M+
PjJdfDApKzIxMj4+Ml18MCl8MDtmWyhmW2M+PjJdfDApKzIxMj4+Ml09a31pZigoek0oYSl8MD8o
aD1hKzE2fDAsaT1mW2g+PjJdfDAsaj1mW2krMjA4Pj4yXXwwLGp8MCk6MCk/KGp8MCk9PShmW2kr
MjEyPj4yXXwwKTowKXtqPXhrKGEpfDA7az1mW2g+PjJdfDA7ZltrKzIwOD4+Ml09ajtmW2srMjEy
Pj4yXT1qfX10PWw7cmV0dXJufWZ1bmN0aW9uIGFrKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxk
PTA7Zls0ODE1OV09MDtjPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7aWYoKGhrKGMpfDAp
PT0oY3wwKSl7ZD1rayhiLEF5KGMpfDApfDA7ZlsoZltjKzE2Pj4yXXwwKSsxNDg+PjJdPWR9Yz1h
eihhLGMpfDB9Yz0keShhKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO2I9YysxNnwwO2lmKCEoZlso
ZltiPj4yXXwwKSsxNDg+PjJdfDApKXtkPShoayhjKXwwKSsxNnwwO2ZbKGZbYj4+Ml18MCkrMTQ4
Pj4yXT1mWyhmW2Q+PjJdfDApKzE0OD4+Ml19Yz1heihhLGMpfDB9cmV0dXJufWZ1bmN0aW9uIGJr
KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7aD0k
eShhKXwwO3doaWxlKDEpe2lmKCFoKWJyZWFrO2M9ZlsoZltoKzE2Pj4yXXwwKSsxNDg+PjJdfDA7
aT1OeChhLGgpfDA7d2hpbGUoMSl7aWYoIWkpYnJlYWs7ZG8gaWYoKHBrKGkpfDApPT0wPyhqPWkr
LTQ4fDAsaz0oaGsoZlsoKGZbaT4+Ml0mM3wwKT09Mj9pOmopKzQwPj4yXXwwKXwwKSsxNnwwLGs9
ZlsoZltrPj4yXXwwKSsxNDg+PjJdfDAsKGN8MCkhPShrfDApKTowKXtlPWZbaT4+Ml0mMztnPWkr
NDh8MDtkPSgoZXwwKT09Mz9pOmcpKzQwfDA7ZT1mWyhmWyhmWygoZXwwKT09Mj9pOmopKzQwPj4y
XXwwKSsxNj4+Ml18MCkrMjEyPj4yXXwwO2lmKCEocWsoaSl8MCkpe2lmKChvayhmWyhmWyhmW2Q+
PjJdfDApKzE2Pj4yXXwwKSsyMTI+PjJdfDApfDApPT0wPyhvayhlKXwwKT09MDowKXtyayhiLGMs
ayxpKTticmVha31zayhiLGMsayxpKTticmVha31lbHNle2U9aGsoZltkPj4yXXwwKXwwO2Q9Zltp
Pj4yXSYzO2lmKChlfDApIT0oZlsoZlsoZlsoZlsoZlsoKGR8MCk9PTM/aTpnKSs0MD4+Ml18MCkr
MTY+PjJdfDApKzIxMj4+Ml18MCkrMTY+PjJdfDApKzIxMj4+Ml18MCk/KGc9aGsoZlsoKGR8MCk9
PTI/aTpqKSs0MD4+Ml18MCl8MCwoZ3wwKSE9KGZbKGZbKGZbKGZbKGZbKChmW2k+PjJdJjN8MCk9
PTI/aTpqKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIxMj4+Ml18MCkrMTY+PjJdfDApKzIwOD4+Ml18
MCkpOjApZD1rO2Vsc2V7ZD1jO2M9a31yayhiLGMsZCxpKTticmVha319d2hpbGUoMCk7aT1QeChh
LGkpfDB9aD1heihhLGgpfDB9cmV0dXJufWZ1bmN0aW9uIGNrKGEsYixjLGQpe2E9YXwwO2I9Ynww
O2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wO2lmKCh6TShhKXwwKSE9MD8ob2soYSl8MCkhPTA6MCl7
Zz0keShhKXwwO3doaWxlKDEpe2lmKCFnKWJyZWFrO2lmKCEoUXgoYSxnKXwwKSl7ZT0oaGsoZyl8
MCkrMTZ8MDtlPWZbKGZbZT4+Ml18MCkrMTQ4Pj4yXXwwO2lmKCFjKWM9a2soYiw5OTI4NCl8MDtf
eChiLGMsZSwwLDEpfDB9aWYoIShOeChhLGcpfDApKXtlPShoayhnKXwwKSsxNnwwO2U9ZlsoZltl
Pj4yXXwwKSsxNDg+PjJdfDA7aWYoIWQpZD1rayhiLDk5Mjg5KXwwO194KGIsZSxkLDAsMSl8MH1n
PWF6KGEsZyl8MH1pZigoZHwwKSE9MCYoY3wwKSE9MCl7bmsoX3goYixjLGQsMCwxKXwwLDAsMWUz
KTtlPWN9ZWxzZSBlPWN9ZWxzZSBlPWM7Yz1GQShhKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO2Nr
KGMsYixlLGQpO2M9R0EoYyl8MH1yZXR1cm59ZnVuY3Rpb24gZGsoYSl7YT1hfDA7dmFyIGM9MCxk
PTA7Yz0keShhKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO2Q9ZltjKzE2Pj4yXXwwO2JbZCsxNTg+
PjBdPTA7YltkKzE1Nz4+MF09MDtjPWF6KGEsYyl8MH1jPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWMp
YnJlYWs7bGsoYSxjKTtjPWF6KGEsYyl8MH1yZXR1cm59ZnVuY3Rpb24gZWsoYSl7YT1hfDA7dmFy
IGI9MCxjPTAsZD0wLGU9MDtiPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7ZlsoZltiKzE2
Pj4yXXwwKSsxMjg+PjJdPTA7Yj1heihhLGIpfDB9Yj0wO2Q9JHkoYSl8MDt3aGlsZSgxKXtpZigh
ZClicmVhaztjPWIrMXwwO2lmKCEoZlsoZltkKzE2Pj4yXXwwKSsxMjg+PjJdfDApKXtqayhhLGQs
Yyk7Yj1jfWQ9YXooYSxkKXwwfWE6ZG8gaWYoKGJ8MCk+MSl7ZT1rayhhLDk5Mjc4KXwwO2M9MTtk
PSR5KGEpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWsgYTtpZigoZlsoZltkKzE2Pj4yXXwwKSsxMjg+
PjJdfDApPT0oY3wwKSl7X3goYSxlLGQsMCwxKXwwO2M9YysxfDB9ZD1heihhLGQpfDB9fXdoaWxl
KDApO3JldHVybiBifDB9ZnVuY3Rpb24gZmsoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxn
PTAsaD0wLGk9MDtnPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWcpYnJlYWs7aD1nKzE2fDA7ZT1OeChh
LGcpfDA7d2hpbGUoMSl7aWYoIWUpYnJlYWs7Yj1mW2g+PjJdfDA7Yz1mW2IrMTgwPj4yXXwwO2lm
KCFjKWI9RUgoKGZbYisxODQ+PjJdPDwyKSs4fDApfDA7ZWxzZSBiPUdIKGMsKGZbYisxODQ+PjJd
PDwyKSs4fDApfDA7Yz1mW2g+PjJdfDA7ZltjKzE4MD4+Ml09YjtjPWMrMTg0fDA7ZD1mW2M+PjJd
fDA7ZltjPj4yXT1kKzE7ZltiKyhkPDwyKT4+Ml09ZTtkPWZbaD4+Ml18MDtmWyhmW2QrMTgwPj4y
XXwwKSsoZltkKzE4ND4+Ml08PDIpPj4yXT0wO2Q9ZSstNDh8MDtiPWZbKGZbKChmW2U+PjJdJjN8
MCk9PTI/ZTpkKSs0MD4+Ml18MCkrMTY+PjJdfDA7Yz1mW2IrMTcyPj4yXXwwO2lmKCFjKWI9RUgo
KGZbYisxNzY+PjJdPDwyKSs4fDApfDA7ZWxzZSBiPUdIKGMsKGZbYisxNzY+PjJdPDwyKSs4fDAp
fDA7ZlsoZlsoZlsoKGZbZT4+Ml0mM3wwKT09Mj9lOmQpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTcy
Pj4yXT1iO2k9ZlsoZlsoKGZbZT4+Ml0mM3wwKT09Mj9lOmQpKzQwPj4yXXwwKSsxNj4+Ml18MDti
PWZbaSsxNzI+PjJdfDA7aT1pKzE3NnwwO2M9ZltpPj4yXXwwO2ZbaT4+Ml09YysxO2ZbYisoYzw8
Mik+PjJdPWU7ZD1mWyhmWygoZltlPj4yXSYzfDApPT0yP2U6ZCkrNDA+PjJdfDApKzE2Pj4yXXww
O2ZbKGZbZCsxNzI+PjJdfDApKyhmW2QrMTc2Pj4yXTw8Mik+PjJdPTA7ZT1QeChhLGUpfDB9Zz1h
eihhLGcpfDB9cmV0dXJufWZ1bmN0aW9uIGdrKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIg
ZT0wLGc9MCxoPTAsaT0wLGs9MCxsPTAsbT0wLG49MCxvPTA7bj1hKzE2fDA7bz1mW24+PjJdfDA7
ZFtvKzIzNj4+MV09MzI3Njc7ZFtvKzIzOD4+MV09LTE7YTpkbyBpZigoY3wwKT4xKXtnPURIKChj
PDwyKSs0fDApfDA7ZT1jKzF8MDtjPTE7d2hpbGUoMSl7aWYoKGN8MCk9PShlfDApKXttPWc7bz1n
O2JyZWFrIGF9ZltnKyhjPDwyKT4+Ml09MzI3Njc7Yz1jKzF8MH19ZWxzZXttPTA7bz0wfXdoaWxl
KDApO2g9KG18MCk9PTA7Zz0keShhKXwwO3doaWxlKDEpe2lmKCFnKWJyZWFrO2k9KGhrKGcpfDAp
KzE2fDA7aT1mWyhmWyhmW2k+PjJdfDApKzE0OD4+Ml18MCkrMTY+PjJdfDA7az1mW2krMjMyPj4y
XXwwO2w9ZltnKzE2Pj4yXXwwO2ZbbCsyMzI+PjJdPWs7Yz1mW24+PjJdfDA7ZT1jKzIzOHwwO2lm
KChrfDApPihkW2U+PjFdfDApKWRbZT4+MV09aztjPWMrMjM2fDA7aWYoKGt8MCk8KGRbYz4+MV18
MCkpZFtjPj4xXT1rO2lmKCFoKXtpPWZbaSsxMjg+PjJdfDA7ZltsKzEyOD4+Ml09aTtsPW0rKGk8
PDIpfDA7aT1mW2w+PjJdfDA7ZltsPj4yXT0oaXwwKTwoa3wwKT9pOmt9Zz1heihhLGcpfDB9aT0o
bXwwKSE9MDtiOmRvIGlmKCFpKXttPWRbKGZbbj4+Ml18MCkrMjM2Pj4xXXwwO2U9bTw8MTY+PjE2
O2lmKG08PDE2Pj4xNj4wKXtjPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7bT0oZltjKzE2
Pj4yXXwwKSsyMzJ8MDtmW20+PjJdPShmW20+PjJdfDApLWU7Yz1heihhLGMpfDB9Yz1mW24+PjJd
fDA7bj1jKzIzNnwwO2Rbbj4+MV09KGpbbj4+MV18MCktZTtjPWMrMjM4fDA7ZFtjPj4xXT0oaltj
Pj4xXXwwKS1lO2M9MH1lbHNlIGM9MH1lbHNle2M9JHkoYSl8MDt3aGlsZSgxKXtpZighYyl7Yz0x
O2JyZWFrIGJ9bD1mW2MrMTY+PjJdfDA7bj1sKzIzMnwwO2Zbbj4+Ml09KGZbbj4+Ml18MCktKGZb
bSsoZltsKzEyOD4+Ml08PDIpPj4yXXwwKTtjPWF6KGEsYyl8MH19d2hpbGUoMCk7aWsoYSxjKTto
PSR5KGIpfDA7d2hpbGUoMSl7aWYoIWgpYnJlYWs7ZT1oKzE2fDA7Yz1mW2U+PjJdfDA7Zz1mW2Mr
MTcyPj4yXXwwO2lmKGcpe01fKGcpO2M9ZltlPj4yXXwwfWM9ZltjKzE4MD4+Ml18MDtpZihjfDAp
TV8oYyk7aD1heihiLGgpfDB9Yz0oJHkoYSl8MCkrMTZ8MDtNXyhmWyhmW2M+PjJdfDApKzExMj4+
Ml18MCk7Yz0keShhKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO2ZbKGZbYysxNj4+Ml18MCkrMTEy
Pj4yXT0wO2M9YXooYSxjKXwwfWlmKGkpTV8obyk7cmV0dXJufWZ1bmN0aW9uIGhrKGEpe2E9YXww
O3ZhciBiPTAsYz0wLGQ9MDtiPWErMTZ8MDtjPShmW2I+PjJdfDApKzE1MnwwO2Q9ZltjPj4yXXww
O2lmKGQpe2lmKChkfDApIT0oYXwwKSl7ZD1oayhkKXwwO2ZbKGZbYj4+Ml18MCkrMTUyPj4yXT1k
O3JldHVybiBkfDB9fWVsc2UgZltjPj4yXT1hO3JldHVybiBhfDB9ZnVuY3Rpb24gaWsoYSxiKXth
PWF8MDtiPWJ8MDt2YXIgYz0wLGU9MCxnPTAsaD0wLGk9MDtpPWErMTZ8MDtjPTE7d2hpbGUoMSl7
ZT1mW2k+PjJdfDA7aWYoKGN8MCk+KGZbZSsxODA+PjJdfDApKWJyZWFrO2lrKGZbKGZbZSsxODQ+
PjJdfDApKyhjPDwyKT4+Ml18MCwwKTtjPWMrMXwwfWlmKChifDApIT0wfChmW2UrMjAwPj4yXXww
KSE9MCl7ZFtlKzIzNj4+MV09MzI3Njc7ZFtlKzIzOD4+MV09LTE7Yz0wO2g9JHkoYSl8MDt3aGls
ZSgxKXtpZighaClicmVhaztnPWZbKGZbaCsxNj4+Ml18MCkrMjMyPj4yXXwwO2I9ZltpPj4yXXww
O2U9YisyMzh8MDtpZigoZ3wwKT4oZFtlPj4xXXwwKSlkW2U+PjFdPWc7Yj1iKzIzNnwwO2lmKChn
fDApPChkW2I+PjFdfDApKXtkW2I+PjFdPWc7Yz1ofWg9YXooYSxoKXwwfWZbKGZbaT4+Ml18MCkr
MjY0Pj4yXT1jfXJldHVybn1mdW5jdGlvbiBqayhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFy
IGQ9MDtkPShmW2IrMTY+PjJdfDApKzEyOHwwO2E6ZG8gaWYoIShmW2Q+PjJdfDApKXtmW2Q+PjJd
PWM7ZD1OeChhLGIpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7amsoYSxmWygoZltkPj4yXSYzfDAp
PT0yP2Q6ZCstNDh8MCkrNDA+PjJdfDAsYyk7ZD1QeChhLGQpfDB9ZD1ReChhLGIpfDA7d2hpbGUo
MSl7aWYoIWQpYnJlYWsgYTtqayhhLGZbKChmW2Q+PjJdJjN8MCk9PTM/ZDpkKzQ4fDApKzQwPj4y
XXwwLGMpO2Q9UngoYSxkKXwwfX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24ga2soYSxiKXthPWF8
MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTA7ZT1qeihhLGIsMSl8MDtiPWUrMTZ8MDtmWyhmW2I+PjJd
fDApKzE3Nj4+Ml09MDtkPURIKDIwKXwwO2M9ZltiPj4yXXwwO2ZbYysxNzI+PjJdPWQ7ZltjKzE4
ND4+Ml09MDtjPURIKDIwKXwwO2I9ZltiPj4yXXwwO2ZbYisxODA+PjJdPWM7Yz1mWzQ4MTU5XXww
O2Q9YisxNjh8MDtpZighYyl7ZltkPj4yXT0wO2ZbKGZbYSsxNj4+Ml18MCkrMTkyPj4yXT1lfWVs
c2V7ZltkPj4yXT1jO2ZbKGZbYysxNj4+Ml18MCkrMTY0Pj4yXT1lfWZbNDgxNTldPWU7ZltiKzE2
ND4+Ml09MDtyZXR1cm4gZXwwfWZ1bmN0aW9uIGxrKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxl
PTAsZz0wLGg9MDtoPWMrMTZ8MDtkPWZbaD4+Ml18MDtlPWQrMTU3fDA7aWYoIShiW2U+PjBdfDAp
KXtiW2U+PjBdPTE7YltkKzE1OD4+MF09MTtjPU54KGEsYyl8MDt3aGlsZSgxKXtpZighYylicmVh
aztkPVB4KGEsYyl8MDtlPWZbKChmW2M+PjJdJjN8MCk9PTI/YzpjKy00OHwwKSs0MD4+Ml18MDtn
PWZbZSsxNj4+Ml18MDtpZighKGJbZysxNTg+PjBdfDApKXtpZighKGJbZysxNTc+PjBdfDApKWxr
KGEsZSl9ZWxzZSBtayhhLGMpO2M9ZH1iWyhmW2g+PjJdfDApKzE1OD4+MF09MH1yZXR1cm59ZnVu
Y3Rpb24gbWsoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTA7Yz1mW2I+PjJdJjM7ZT1i
Ky00OHwwO2Q9Yis0OHwwO2M9X3goYSxmWygoY3wwKT09Mj9iOmUpKzQwPj4yXXwwLGZbKChjfDAp
PT0zP2I6ZCkrNDA+PjJdfDAsMCwwKXwwO2lmKCFjKXtjPWZbYj4+Ml0mMztjPV94KGEsZlsoKGN8
MCk9PTI/YjplKSs0MD4+Ml18MCxmWygoY3wwKT09Mz9iOmQpKzQwPj4yXXwwLDAsMSl8MH1lPWZb
YisxNj4+Ml18MDtuayhjLGpbZSsxNzA+PjFdfDAsZltlKzE1Nj4+Ml18MCk7bXooYSxiKXwwO3Jl
dHVybn1mdW5jdGlvbiBuayhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGU9MCxnPTA7YT1m
W2ErMTY+PjJdfDA7ZT1hKzE3MHwwO2c9altlPj4xXXwwO2RbZT4+MV09KGd8MCk+KGJ8MCk/Zzpi
O2I9YSsxNTZ8MDtmW2I+PjJdPShmW2I+PjJdfDApK2M7cmV0dXJufWZ1bmN0aW9uIG9rKGEpe2E9
YXwwO3JldHVybiAoX0woR3goYSw5OTI5NCl8MCwwKXwwKSYyNTV8MH1mdW5jdGlvbiBwayhhKXth
PWF8MDt2YXIgYz0wLGQ9MDtjPWZbNDgzODFdfDA7aWYoKCgoY3wwKSE9MD8oZD1IeChhLGMpfDAs
KGR8MCkhPTApOjApPyhiW2Q+PjBdfDApIT0wOjApPyhaTChkKXwwKTw8MjQ+PjI0PT0wOjApYT0x
O2Vsc2UgYT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gcWsoYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yz1m
W2E+PjJdJjM7Yj1mWyhmWyhmWygoY3wwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXww
KSsyMTI+PjJdfDA7YT1mWyhmWyhmWygoY3wwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwKSsxNj4+
Ml18MCkrMjEyPj4yXXwwO2lmKChifDApPT0oYXwwKSlyZXR1cm4gMTtlbHNle2M9dGsoYixhKXww
O3JldHVybiAoKGN8MCk9PShifDApfChjfDApPT0oYXwwKSkmMXwwfXJldHVybiAwfWZ1bmN0aW9u
IHJrKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTA7
aT10O3Q9dCsxNnwwO2c9aTtlPV94KGEsYixjLDAsMCl8MDtpZighZSl7ZT1feChhLGMsYiwwLDAp
fDA7aWYoIWUpe2U9X3goYSxiLGMsMCwxKXwwO2lmKCFlKXtiPUF5KGIpfDA7ZD1BeShjKXwwO2Zb
Zz4+Ml09YjtmW2crND4+Ml09ZDtZdygxLDk5MzExLGcpfDB9ZWxzZSBoPTR9ZWxzZSBoPTR9ZWxz
ZSBoPTQ7aWYoKGh8MCk9PTQpe2g9ZltkKzE2Pj4yXXwwO25rKGUsaltoKzE3MD4+MV18MCxmW2gr
MTU2Pj4yXXwwKX10PWk7cmV0dXJufWZ1bmN0aW9uIHNrKGEsYixjLGUpe2E9YXwwO2I9YnwwO2M9
Y3wwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtrPXQ7dD10KzExMnwwO2k9aysx
MDR8MDtoPWs7Zz1ReChhLGIpfDA7d2hpbGUoMSl7aWYoIWcpe2o9NjticmVha31sPU54KGEsZlso
KGZbZz4+Ml0mM3wwKT09Mz9nOmcrNDh8MCkrNDA+PjJdfDApfDA7aWYobHwwPyhmWygoZltsPj4y
XSYzfDApPT0yP2w6bCstNDh8MCkrNDA+PjJdfDApPT0oY3wwKTowKWJyZWFrO2c9UngoYSxnKXww
fWlmKChqfDApPT02KXtsPWZbNDgxNjBdfDA7Zls0ODE2MF09bCsxO2ZbaT4+Ml09bDtkJChoLDk5
MzAyLGkpfDA7bD1rayhhLGgpfDA7aT1feChhLGwsYiwwLDEpfDA7bD1feChhLGwsYywwLDEpfDA7
aD1mW2UrMTY+PjJdfDA7aj1oKzE1NnwwO2k9KGZbaSsxNj4+Ml18MCkrMTU2fDA7ZltpPj4yXT0o
ZltpPj4yXXwwKSsoKGZbaj4+Ml18MCkqMWUzfDApO2w9ZltsKzE2Pj4yXXwwO2k9bCsxNzB8MDtl
PWRbaT4+MV18MDtoPWRbaCsxNzA+PjFdfDA7ZFtpPj4xXT0oZSY2NTUzNSk+KGgmNjU1MzUpP2U6
aDtsPWwrMTU2fDA7ZltsPj4yXT0oZltsPj4yXXwwKSsoZltqPj4yXXwwKX10PWs7cmV0dXJufWZ1
bmN0aW9uIHRrKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wO2E6d2hpbGUoMSl7ZD1h
KzE2fDA7d2hpbGUoMSl7aWYoKGF8MCk9PShifDApKWJyZWFrIGE7ZT1mW2Q+PjJdfDA7Yz1mW2Ir
MTY+PjJdfDA7aWYoKGZbZSsyMDQ+PjJdfDApPj0oZltjKzIwND4+Ml18MCkpYnJlYWs7Yj1mW2Mr
MjAwPj4yXXwwfWE9ZltlKzIwMD4+Ml18MH1yZXR1cm4gYXwwfWZ1bmN0aW9uIHVrKGEpe2E9YXww
O3JldHVybiAoJHkoYSl8MCk9PTB8MH1mdW5jdGlvbiB2ayhhLGIpe2E9YXwwO2I9YnwwO2ZbKGZb
YSsxNj4+Ml18MCkrMjAwPj4yXT1iO1dqKGIsYSk7VmooYixhKTtyZXR1cm59ZnVuY3Rpb24gd2so
YSl7YT1hfDA7dmFyIGM9MDthPUd4KGEsOTkyMDMpfDA7aWYoKGF8MCkhPTA/KGJbYT4+MF18MCkh
PTA6MClpZihIJChhLDk5MjEzKXwwKWlmKEgkKGEsOTkyMTcpfDApaWYoSCQoYSw5OTIyNCl8MClp
ZihIJChhLDk5MjI4KXwwKWlmKCEoSCQoYSw5OTIwOCl8MCkpYT0xO2Vsc2UgYz04O2Vsc2UgYT01
O2Vsc2UgYT00O2Vsc2UgYT0zO2Vsc2UgYT0yO2Vsc2UgYz04O2lmKChjfDApPT04KWE9NjtyZXR1
cm4gYXwwfWZ1bmN0aW9uIHhrKGEpe2E9YXwwO3ZhciBiPTAsYz0wO2M9JHkoYSl8MDthOmRvIGlm
KCFjKWI9MDtlbHNle2I9aGsoYyl8MDt3aGlsZSgxKXtjPWF6KGEsYyl8MDtpZighYylicmVhayBh
O3lrKGIsYyl8MH19d2hpbGUoMCk7cmV0dXJuIGJ8MH1mdW5jdGlvbiB5ayhhLGIpe2E9YXwwO2I9
YnwwO2lmKGIpe2E9aGsoYSl8MDtiPShoayhiKXwwKSsxNnwwO2ZbKGZbYj4+Ml18MCkrMTUyPj4y
XT1hfXJldHVybiBhfDB9ZnVuY3Rpb24gemsoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO0p6KGIs
OTkyNjIsZltjPj4yXXwwLDEpfDA7cmV0dXJufWZ1bmN0aW9uIEFrKGEsYixjKXthPWF8MDtiPWJ8
MDtjPWN8MDtKeihiLDk5NDI5LGZbYys0Pj4yXXwwLDEpfDA7cmV0dXJufWZ1bmN0aW9uIEJrKGEs
YixjKXthPWF8MDtiPWJ8MDtjPWN8MDtKeihiLDk5NDE0LGZbYys4Pj4yXXwwLDEpfDA7cmV0dXJu
fWZ1bmN0aW9uIENrKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0w
LGw9MCxtPTAsbj0wLG89MDtvPXQ7dD10KzI1NnwwO2w9bysxMjh8MDttPW87az13eChhLDIsOTk0
NDQsMCl8MDtmWzQ4Mzg1XT1rO2s9d3goYSwyLDk5NDUzLDApfDA7Zls0ODM4Nl09azthOmRvIGlm
KChrfDApIT0wfChmWzQ4Mzg1XXwwKSE9MCl7az0keShhKXwwO3doaWxlKDEpe2lmKCFrKWJyZWFr
IGE7aj0wO2M9MDtpPVN4KGEsayl8MDt3aGlsZSgxKXtpZighaSlicmVhaztkPWZbaT4+Ml0mMztl
PWZbKChkfDApPT0yP2k6aSstNDh8MCkrNDA+PjJdfDA7aD1pKzQ4fDA7YjpkbyBpZigoZXwwKSE9
KGZbKChkfDApPT0zP2k6aCkrNDA+PjJdfDApKXtnPWZbNDgzODVdfDA7ZG8gaWYoKGV8MCk9PShr
fDApJihnfDApIT0wKXtlPUh4KGksZyl8MDtpZighKGJbZT4+MF18MCkpe2Q9ZltpPj4yXSYzO2Jy
ZWFrfWVsc2V7ZD1qO2M9RGsobCxjLGssaSxlKXwwO2JyZWFrIGJ9fXdoaWxlKDApO2U9Zls0ODM4
Nl18MDtpZigoZXwwPyhmWygoZHwwKT09Mz9pOmgpKzQwPj4yXXwwKT09KGt8MCk6MCk/KG49SHgo
aSxlKXwwLChiW24+PjBdfDApIT0wKTowKWQ9RGsobSxqLGssaSxuKXwwO2Vsc2UgZD1qfWVsc2Ug
ZD1qO3doaWxlKDApO2o9ZDtpPVR4KGEsaSxrKXwwfWU9MDt3aGlsZSgxKXtpZigoZXwwKT49KGN8
MCkpYnJlYWs7ZD1sKyhlKjI0fDApKzR8MDtpZigoZltsKyhlKjI0fDApKzg+PjJdfDApPjEpRWso
ayxkKTtkPWZbZD4+Ml18MDtpZihkfDApTV8oZCk7ZT1lKzF8MH1kPTA7d2hpbGUoMSl7aWYoKGR8
MCk+PShqfDApKWJyZWFrO2M9bSsoZCoyNHwwKSs0fDA7aWYoKGZbbSsoZCoyNHwwKSs4Pj4yXXww
KT4xKUVrKGssYyk7Yz1mW2M+PjJdfDA7aWYoY3wwKU1fKGMpO2Q9ZCsxfDB9az1heihhLGspfDB9
fXdoaWxlKDApO3Q9bztyZXR1cm59ZnVuY3Rpb24gRGsoYSxjLGQsZSxnKXthPWF8MDtjPWN8MDtk
PWR8MDtlPWV8MDtnPWd8MDt2YXIgaD0wLjAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9
MCxyPTA7bj10O3Q9dCsxNnwwO2o9bjtrPW4rMTJ8MDtsPW4rOHwwO209MDt3aGlsZSgxKXtpZigo
bXwwKT49KGN8MCkpe2k9MTA7YnJlYWt9aT1mW2ErKG0qMjR8MCk+PjJdfDA7aWYoKGJbaT4+MF18
MCk9PShiW2c+PjBdfDApPyhIJChpLGcpfDApPT0wOjApe2k9NTticmVha31tPW0rMXwwfWRvIGlm
KChpfDApPT01KXtqPWErKG0qMjR8MCkrNHwwO2k9ZltqPj4yXXwwO2lmKCFpKXtnPWErKG0qMjR8
MCkrOHwwO2k9RUgoKGZbZz4+Ml08PDIpKzh8MCl8MH1lbHNle2c9YSsobSoyNHwwKSs4fDA7aT1H
SChpLChmW2c+PjJdPDwyKSs4fDApfDB9ZltqPj4yXT1pO3E9ZltnPj4yXXwwO289cSsxfDA7Zltn
Pj4yXT1vO2ZbaSsocTw8Mik+PjJdPWU7ZlsoZltqPj4yXXwwKSsobzw8Mik+PjJdPTA7aT0xM31l
bHNlIGlmKChpfDApPT0xMClpZigoY3wwKT40KXtxPUF5KGQpfDA7ZltqPj4yXT01O2Zbais0Pj4y
XT1xO1l3KDEsOTk0NjIsail8MDticmVha31lbHNle3I9YSsobSoyNHwwKSs4fDA7ZltyPj4yXT0w
O2o9REgoOCl8MDtxPWErKG0qMjR8MCkrNHwwO2ZbcT4+Ml09ajtvPWZbcj4+Ml18MDtpPW8rMXww
O2Zbcj4+Ml09aTtmW2orKG88PDIpPj4yXT1lO2ZbKGZbcT4+Ml18MCkrKGk8PDIpPj4yXT0wO2Zb
YSsobSoyNHwwKT4+Ml09ZztmW2ErKG0qMjR8MCkrMTI+PjJdPTA7cFthKyhtKjI0fDApKzE2Pj4z
XT0wLjA7Yz1jKzF8MDtpPTEzO2JyZWFrfXdoaWxlKDApO2lmKChpfDApPT0xMyl7QkUoZSxrLGwp
O2k9KGZbKChmW2U+PjJdJjN8MCk9PTI/ZTplKy00OHwwKSs0MD4+Ml18MCk9PShkfDApP2ZbbD4+
Ml18MDpmW2s+PjJdfDA7aWYoaSl7cT1hKyhtKjI0fDApKzEyfDA7cj1mW3E+PjJdfDA7ZltxPj4y
XT1yKzE7aWYoIXIpaD0rRkUoZSxpKTtlbHNlIGg9MC4wO3BbYSsobSoyNHwwKSsxNj4+M109aH19
dD1uO3JldHVybiBjfDB9ZnVuY3Rpb24gRWsoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxn
PTAsaD0wLGk9MC4wLGo9MC4wLGs9MC4wLGw9MCxtPTAuMCxuPTAuMCxvPTAuMCxxPTAscj0wLHM9
MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAuMDt6PXQ7dD10KzgwfDA7dT16KzY4fDA7dz16
KzY0fDA7cT16O3g9Yys0fDA7bD1mW3g+PjJdfDA7eT1hKzE2fDA7aD0wO249MC4wO289MC4wO3do
aWxlKDEpe2lmKChofDApPj0obHwwKSlicmVhaztlPWZbKGZbYz4+Ml18MCkrKGg8PDIpPj4yXXww
O2c9ZltlPj4yXSYzO2Q9ZlsoKGd8MCk9PTI/ZTplKy00OHwwKSs0MD4+Ml18MDtpZigoZHwwKT09
KGF8MCkpZD1mWygoZ3wwKT09Mz9lOmUrNDh8MCkrNDA+PjJdfDA7Zz1mW2QrMTY+PjJdfDA7cj1m
W3k+PjJdfDA7aj0rcFtnKzE2Pj4zXS0rcFtyKzE2Pj4zXTtrPStwW2crMjQ+PjNdLStwW3IrMjQ+
PjNdO209K2wzKGosayk7aD1oKzF8MDtuPWovbStuO289ay9tK299aT0rbDMobixvKTtyPWZbeT4+
Ml18MDtqPStwW3IrMTY+PjNdO2s9K3BbcisyND4+M107QT0rcFtyKzk2Pj4zXSsgK3Bbcis4OD4+
M107bT0rcFtyKzgwPj4zXTtyPShueihhKXwwKSsxNnwwO2Q9Zlt5Pj4yXXwwO2lmKEE+bSsgKyhm
WyhmW3I+PjJdfDApKzI1Mj4+Ml18MCkpbT0rcFtkKzk2Pj4zXSsgK3BbZCs4OD4+M107ZWxzZXtt
PStwW2QrODA+PjNdO2Q9KG56KGEpfDApKzE2fDA7bT1tKyArKGZbKGZbZD4+Ml18MCkrMjUyPj4y
XXwwKTtkPWZbeT4+Ml18MH1BPStwW2QrMTY+PjNdK20qKG4vaSk7aT0rcFtkKzI0Pj4zXSttKihv
L2kpO3BbcT4+M109ajtsPXErOHwwO3BbbD4+M109aztwW3ErMTY+PjNdPShBK2oqMi4wKSouMzMz
MzMzMzMzMzMzMzMzMztwW3ErMjQ+PjNdPShpK2sqMi4wKSouMzMzMzMzMzMzMzMzMzMzMztwW3Er
MzI+PjNdPShBKjIuMCtqKSouMzMzMzMzMzMzMzMzMzMzMztwW3ErNDA+PjNdPShpKjIuMCtrKSou
MzMzMzMzMzMzMzMzMzMzMztwW3ErNDg+PjNdPUE7cFtxKzU2Pj4zXT1pO1dLKGEscSk7cj1mW3k+
PjJdfDA7aT0rcFtxPj4zXS0rcFtyKzE2Pj4zXTtqPStwW2w+PjNdLStwW3IrMjQ+PjNdO2k9Kyh+
fihpKyhpPj0wLjA/LjU6LS41KSl8MCk7aj0rKH5+KGorKGo+PTAuMD8uNTotLjUpKXwwKTtBPStw
W3IrODg+PjNdO3I9fn4oKEEraSkqMjU2LjAvKCtwW3IrOTY+PjNdK0EpKSYyNTU7cT0wO3doaWxl
KDEpe2lmKChxfDApPj0oZlt4Pj4yXXwwKSlicmVhaztsPWZbKGZbYz4+Ml18MCkrKHE8PDIpPj4y
XXwwO0JFKGwsdSx3KTt3aGlsZSgxKXtpZighbClicmVhaztkPWw7d2hpbGUoMSl7aWYoIWQpYnJl
YWs7ZT1mW2Q+PjJdJjM7aD1kKy00OHwwO2lmKChmWygoZXwwKT09Mj9kOmgpKzQwPj4yXXwwKT09
KGF8MCkpe2U9ZltkKzE2Pj4yXXwwO3BbZSs1Nj4+M109aTtwW2UrNjQ+PjNdPWo7cFtlKzcyPj4z
XT0wLjA7ZltlKzgwPj4yXT0wO2JbZSs4ND4+MF09MTtiW2UrODU+PjBdPTA7YltlKzg2Pj4wXT0w
O2JbZSs4Nz4+MF09MDtiW2UrODg+PjBdPXI7YltlKzg5Pj4wXT0wO2ZbZSs5Mj4+Ml09MDtlPWZb
ZD4+Ml0mM31nPWQrMTZ8MDtpZigoZlsoKGV8MCk9PTM/ZDpkKzQ4fDApKzQwPj4yXXwwKT09KGF8
MCkpe2U9ZltnPj4yXXwwO3BbZSsxNj4+M109aTtwW2UrMjQ+PjNdPWo7cFtlKzMyPj4zXT0wLjA7
ZltlKzQwPj4yXT0wO2JbZSs0ND4+MF09MTtiW2UrNDU+PjBdPTA7YltlKzQ2Pj4wXT0wO2JbZSs0
Nz4+MF09MDtiW2UrNDg+PjBdPXI7YltlKzQ5Pj4wXT0wO2ZbZSs1Mj4+Ml09MH1pZigoKGJbKGZb
Zz4+Ml18MCkrMTEyPj4wXXwwKT09MT8ocz1mWyhmWygoZltkPj4yXSYzfDApPT0yP2Q6aCkrNDA+
PjJdfDApKzE2Pj4yXXwwLChiW3MrMTU2Pj4wXXwwKT09MSk6MCk/KGZbcysxODQ+PjJdfDApPT0x
OjApZD1mW2ZbcysxODA+PjJdPj4yXXwwO2Vsc2UgZD0wfWQ9bDt3aGlsZSgxKXtpZighZClicmVh
aztlPWZbZD4+Ml0mMztpZigoZlsoKGV8MCk9PTI/ZDpkKy00OHwwKSs0MD4+Ml18MCk9PShhfDAp
KXtlPWZbZCsxNj4+Ml18MDtwW2UrNTY+PjNdPWk7cFtlKzY0Pj4zXT1qO3BbZSs3Mj4+M109MC4w
O2ZbZSs4MD4+Ml09MDtiW2UrODQ+PjBdPTE7YltlKzg1Pj4wXT0wO2JbZSs4Nj4+MF09MDtiW2Ur
ODc+PjBdPTA7YltlKzg4Pj4wXT1yO2JbZSs4OT4+MF09MDtmW2UrOTI+PjJdPTA7ZT1mW2Q+PjJd
JjN9Zz1kKzQ4fDA7aD1kKzE2fDA7aWYoKGZbKChlfDApPT0zP2Q6ZykrNDA+PjJdfDApPT0oYXww
KSl7ZT1mW2g+PjJdfDA7cFtlKzE2Pj4zXT1pO3BbZSsyND4+M109ajtwW2UrMzI+PjNdPTAuMDtm
W2UrNDA+PjJdPTA7YltlKzQ0Pj4wXT0xO2JbZSs0NT4+MF09MDtiW2UrNDY+PjBdPTA7YltlKzQ3
Pj4wXT0wO2JbZSs0OD4+MF09cjtiW2UrNDk+PjBdPTA7ZltlKzUyPj4yXT0wfWlmKCgoYlsoZlto
Pj4yXXwwKSsxMTI+PjBdfDApPT0xPyh2PWZbKGZbKChmW2Q+PjJdJjN8MCk9PTM/ZDpnKSs0MD4+
Ml18MCkrMTY+PjJdfDAsKGJbdisxNTY+PjBdfDApPT0xKTowKT8oZlt2KzE3Nj4+Ml18MCk9PTE6
MClkPWZbZlt2KzE3Mj4+Ml0+PjJdfDA7ZWxzZSBkPTB9bD1mWyhmW2wrMTY+PjJdfDApKzE3Mj4+
Ml18MH1xPXErMXwwfWJbKGZbeT4+Ml18MCkrMTQ1Pj4wXT0xO3Q9ejtyZXR1cm59ZnVuY3Rpb24g
RmsoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO3RoKGEpO2I9ZlthPj4yXSYzO2M9YSstNDh8MDtk
PWErNDh8MDtiPW9oKGZbKChifDApPT0yP2E6YykrNDA+PjJdfDAsZlsoKGJ8MCk9PTM/YTpkKSs0
MD4+Ml18MCl8MDtpZighYil7Yj1mW2E+PjJdJjM7eWgoZlsoKGJ8MCk9PTI/YTpjKSs0MD4+Ml18
MCxmWygoYnwwKT09Mz9hOmQpKzQwPj4yXXwwLGEpfDB9ZWxzZSBHaChhLGIpO3JldHVybn1mdW5j
dGlvbiBHayhhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wO2U9YSsxNnwwO2Q9MDt3aGlsZSgx
KXthPWZbZT4+Ml18MDtpZigoZHwwKT49KGZbYSsyMjA+PjJdfDApKWJyZWFrO2M9ZlsoZlthKzIx
Nj4+Ml18MCkrKGQ8PDIpPj4yXXwwO2ZbYSsxOTI+PjJdPWM7YT1jO2M9YTt3aGlsZSgxKXtpZigh
YylicmVhaztnPWZbYysxNj4+Ml18MDtiW2crMTU3Pj4wXT0wO2M9ZltnKzE2ND4+Ml18MH13aGls
ZSgxKXtpZighYSlicmVhaztIayhhKTthPWZbKGZbYSsxNj4+Ml18MCkrMTY0Pj4yXXwwfWQ9ZCsx
fDB9cmV0dXJufWZ1bmN0aW9uIEhrKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTA7Zz1hKzE2
fDA7Yz1mW2c+PjJdfDA7YT1jKzE1N3wwO2lmKCEoYlthPj4wXXwwKSl7YlthPj4wXT0xO2JbYysx
NTg+PjBdPTE7YT0wO3doaWxlKDEpe2U9ZlsoZltjKzE4MD4+Ml18MCkrKGE8PDIpPj4yXXwwO2lm
KCFlKWJyZWFrO2M9ZlsoKGZbZT4+Ml0mM3wwKT09Mj9lOmUrLTQ4fDApKzQwPj4yXXwwO2Q9Zltj
KzE2Pj4yXXwwO2lmKCEoYltkKzE1OD4+MF18MCkpe2lmKCEoYltkKzE1Nz4+MF18MCkpSGsoYyl9
ZWxzZXtGayhlKTthPWErLTF8MH1hPWErMXwwO2M9ZltnPj4yXXwwfWJbYysxNTg+PjBdPTB9cmV0
dXJufWZ1bmN0aW9uIElrKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLGg9MDtkPSR5
KGEpfDA7Yj0wO3doaWxlKDEpe2lmKCFkKWJyZWFrO2M9TngoYSxkKXwwO3doaWxlKDEpe2lmKCFj
KWJyZWFrO2c9ZltjPj4yXSYzO2g9ZlsoZlsoZlsoKGd8MCk9PTI/YzpjKy00OHwwKSs0MD4+Ml18
MCkrMTY+PjJdfDApKzIzMj4+Ml18MDtnPWZbKGZbKGZbKChnfDApPT0zP2M6Yys0OHwwKSs0MD4+
Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MDtlPWgtZ3wwO2M9UHgoYSxjKXwwO2I9KChofDApPT0o
Z3wwKT8wOigoZXwwKT4tMT9lOjAtZXwwKSstMXwwKStifDB9ZD1heihhLGQpfDB9cmV0dXJuIGJ8
MH1mdW5jdGlvbiBKayhhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wO2Q9JHkoYSl8MDt3aGls
ZSgxKXtpZighZClicmVhaztnPWZbZCsxNj4+Ml18MDtlPWZbZysxNzY+PjJdfDA7Zz1nKzE3Mnww
O2M9MDt3aGlsZSgxKXtpZigoY3wwKT49KGV8MCkpYnJlYWs7YlsoZlsoZlsoZltnPj4yXXwwKSso
Yzw8Mik+PjJdfDApKzE2Pj4yXXwwKSsxMTI+PjBdPTA7Yz1jKzF8MH1kPWF6KGEsZCl8MH1yZXR1
cm59ZnVuY3Rpb24gS2soYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MC4wLGU9MC4wLGc9MCxo
PTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wO289dDt0PXQrMTZ8MDttPW87aT1mW2IrMjQ+
PjJdfDA7TGsoYSk7aj0oaXwwKT09LTE7az1iKzh8MDtsPWZbMTk0NTddfDA7aD1qXjE7ZT0xNzk3
NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0LjBlMjg0O2c9MDt3aGlsZSgxKXtpZighKGp8KGd8MCk8KGl8
MCkpKWJyZWFrO2M9JHkoYSl8MDt3aGlsZSgxKXtpZighYylicmVhaztmWyhmW2MrMTY+PjJdfDAp
KzIzMj4+Ml09MDtjPWF6KGEsYyl8MH1IaihhKTtkPStNayhhKTtwW2s+PjNdPWQ7aWYoMCl7cFtt
Pj4zXT1kO2cyKGwsOTk1MTQsbSl8MDtkPStwW2s+PjNdfWlmKCEoIShkPD0rcFtiPj4zXSkmKCEo
ZTw9ZCl8aCkpKXtuPTk7YnJlYWt9TmsoYSk7ZT1kO2c9ZysxfDB9aWYoKG58MCk9PTkpe249Yisy
MHwwO2ZbYisxNj4+Ml09ZltuPj4yXTtmW24+PjJdPWd9SGooYSk7T2soYSk7UGsoKTtlPStNayhh
KTtwW2s+PjNdPWU7dD1vO3JldHVybn1mdW5jdGlvbiBMayhhKXthPWF8MDt2YXIgYj0wLGM9MCxk
PTAuMCxlPTAuMCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtiPUVIKChqeShhKXwwKSoyNHwwKXww
O2ZbNDgxNjRdPWI7Zls0ODE2M109MDtiPSR5KGEpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7Zlso
ZltiKzE2Pj4yXXwwKSsxMjA+PjJdPS0xO2I9YXooYSxiKXwwfWk9JHkoYSl8MDt3aGlsZSgxKXtp
ZighaSlicmVhaztqPWkrMTZ8MDtkbyBpZighKGZbKGZbaj4+Ml18MCkrMjE2Pj4yXXwwKSl7Zz1E
SCg0KXwwO2g9Zls0ODE2NF18MDtrPWZbNDgxNjNdfDA7ZltoKyhrKjI0fDApPj4yXT1nO2ZbZz4+
Ml09aTtmW2grKGsqMjR8MCkrND4+Ml09MTtqPWZbaj4+Ml18MDtwW2grKGsqMjR8MCkrOD4+M109
K3BbaiszMj4+M107cFtoKyhrKjI0fDApKzE2Pj4zXT0rcFtqKzQwPj4zXTtmW2orMTIwPj4yXT1r
O2ZbNDgxNjNdPWsrMX1lbHNle2c9JEwoaSl8MDtrPWcrMTZ8MDtiPWZbaz4+Ml18MDtjPWZbYisx
MjA+PjJdfDA7aWYoKGN8MCk+LTEpe2g9Zls0ODE2NF18MDtnPWZbaCsoYyoyNHwwKT4+Ml18MDti
PWgrKGMqMjR8MCkrNHwwO2s9ZltiPj4yXXwwO2ZbYj4+Ml09aysxO2ZbZysoazw8Mik+PjJdPWk7
az1mW2o+PjJdfDA7aj1oKyhjKjI0fDApKzh8MDtwW2o+PjNdPStwW2o+PjNdKyArcFtrKzMyPj4z
XTtqPWgrKGMqMjR8MCkrMTZ8MDtlPStwW2o+PjNdO2Q9K3Bbays0MD4+M107cFtqPj4zXT1lPGQ/
ZDplO2ZbaysxMjA+PjJdPWM7YnJlYWt9bD1ESChmW2IrMjE2Pj4yXTw8Mil8MDtjPWZbNDgxNjRd
fDA7aD1mWzQ4MTYzXXwwO2I9YysoaCoyNHwwKXwwO2ZbYj4+Ml09bDtmW2w+PjJdPWc7aWYoKGd8
MCk9PShpfDApKXtiPWZbaz4+Ml18MDtkPStwW2IrNDA+PjNdO2U9K3BbYiszMj4+M107Yj0xfWVs
c2V7ZlsoZltiPj4yXXwwKSs0Pj4yXT1pO2I9ZltrPj4yXXwwO2w9ZltqPj4yXXwwO2Q9K3BbYis0
MD4+M107ZT0rcFtsKzQwPj4zXTtkPWQ8ZT9lOmQ7ZT0rcFtsKzMyPj4zXSsgK3BbYiszMj4+M107
Yj0yfWZbYysoaCoyNHwwKSs0Pj4yXT1iO3BbYysoaCoyNHwwKSs4Pj4zXT1lO3BbYysoaCoyNHww
KSsxNj4+M109ZDtmWyhmW2s+PjJdfDApKzEyMD4+Ml09aDtmWyhmW2o+PjJdfDApKzEyMD4+Ml09
aDtmWzQ4MTYzXT1oKzF9d2hpbGUoMCk7aT1heihhLGkpfDB9cmV0dXJufWZ1bmN0aW9uIE1rKGEp
e2E9YXwwO3ZhciBiPTAuMCxjPTAuMCxkPTAsZT0wLGc9MCxoPTAuMCxpPTAuMDtPayhhKTtnPWZb
NDgxNjFdfDA7ZD1mW2ErMTY+PjJdfDA7Yj0rKFYoZltkKzI1Mj4+Ml18MCxnKy0xfDApfDApO2U9
Zls0ODE2Ml18MDtkPWQrMjQ4fDA7YT0wO2M9MC4wO3doaWxlKDEpe2lmKChhfDApPj0oZ3wwKSli
cmVhaztoPStwW2UrKGEqNDB8MCkrMjQ+PjNdKyArKFYoZltkPj4yXXwwLGZbZSsoYSo0MHwwKSsx
Nj4+Ml18MCl8MCk7aT0rcFtlKyhhKjQwfDApKzMyPj4zXStiO2E9YSsxfDA7Yj1pO2M9YzxoP2g6
Y31yZXR1cm4gKyhjL2IpfWZ1bmN0aW9uIE5rKGEpe2E9YXwwO3ZhciBiPTA7Yj1ESCgoankoYSl8
MCk8PDIpfDA7Zls0ODE2NV09YjtiPTA7d2hpbGUoMSl7aWYoKGJ8MCk+PShqeShhKXwwKSlicmVh
aztmWyhmWzQ4MTY1XXwwKSsoYjw8Mik+PjJdPWI7Yj1iKzF8MH1PayhhKTtRayhhKTtSayhhKTty
ZXR1cm59ZnVuY3Rpb24gT2soYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTAsaD0wLGk9
MC4wLGo9MCxrPTA7Zls0ODE2MV09MDtiPWZbNDgxNjJdfDA7aWYoYnwwKXtkPTA7d2hpbGUoMSl7
aWYoKGR8MCk+PShmWzQ4MTYzXXwwKSlicmVhaztjPWZbYisoZCo0MHwwKSs0Pj4yXXwwO2lmKGMp
e01fKGMpO2I9Zls0ODE2Ml18MH1jPWZbYisoZCo0MHwwKSs4Pj4yXXwwO2lmKGMpe01fKGMpO2I9
Zls0ODE2Ml18MH1kPWQrMXwwfU1fKGIpfWI9REgoKGZbNDgxNjNdfDApKjQwfDApfDA7Zls0ODE2
Ml09YjtiPTA7d2hpbGUoMSl7Yz1mWzQ4MTYzXXwwO2lmKChifDApPj0oY3wwKSlicmVhaztqPURI
KGM8PDIpfDA7ZlsoZls0ODE2Ml18MCkrKGIqNDB8MCkrND4+Ml09ajtqPURIKGZbNDgxNjNdPDwy
KXwwO2s9Zls0ODE2Ml18MDtmW2srKGIqNDB8MCkrOD4+Ml09ajtmW2srKGIqNDB8MCk+PjJdPWI7
ZltrKyhiKjQwfDApKzEyPj4yXT0wO2ZbaysoYio0MHwwKSsxNj4+Ml09MDtrPWsrKGIqNDB8MCkr
MjR8MDtmW2s+PjJdPTA7ZltrKzQ+PjJdPTA7ZltrKzg+PjJdPTA7ZltrKzEyPj4yXT0wO2I9Yisx
fDB9ZD0keShhKXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrO2M9TngoYSxkKXwwO3doaWxlKDEpe2lm
KCFjKWJyZWFrO2g9ZltjPj4yXXwwO2U9YystNDh8MDtnPWZbNDgxNjJdfDA7Yj1mWyhmWyhmWygo
aCYzfDApPT0zP2M6Yys0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MDt3aGlsZSgx
KXtiPWIrMXwwO2lmKChifDApPj0oZlsoZlsoZlsoKGgmM3wwKT09Mj9jOmUpKzQwPj4yXXwwKSsx
Nj4+Ml18MCkrMjMyPj4yXXwwKSlicmVhaztoPWcrKGIqNDB8MCkrMTZ8MDtmW2g+PjJdPShmW2g+
PjJdfDApKzE7aD1mW2M+PjJdfDB9Yz1QeChhLGMpfDB9ZD1heihhLGQpfDB9aD1mWzQ4MTYzXXww
O2o9Zls0ODE2NF18MDtrPWZbNDgxNjJdfDA7Yz1hKzE2fDA7Yj0wO3doaWxlKDEpe2lmKChifDAp
Pj0oaHwwKSlicmVhaztkPShmW2ZbaisoYioyNHwwKT4+Ml0+PjJdfDApKzE2fDA7ZT1mWyhmW2Q+
PjJdfDApKzIzMj4+Ml18MDtpZigoZXwwKT49KGZbNDgxNjFdfDApKWZbNDgxNjFdPWUrMTtnPWsr
KGUqNDB8MCkrMjR8MDtpPStwW2c+PjNdO3BbZz4+M109aSsgK3BbaisoYioyNHwwKSs4Pj4zXSo3
Mi4wKyhpPjAuMD8rKGZbKGZbYz4+Ml18MCkrMjQ4Pj4yXXwwKTowLjApO2c9aysoZSo0MHwwKSsz
MnwwO2k9K3BbaisoYioyNHwwKSsxNj4+M10qNzIuMDtpZigrcFtnPj4zXTxpKXBbZz4+M109aTtm
WyhmW2srKGUqNDB8MCkrND4+Ml18MCkrKGZbaysoZSo0MHwwKSsxMj4+Ml08PDIpPj4yXT1qKyhi
KjI0fDApO2E9aysoKGZbKGZbZD4+Ml18MCkrMjMyPj4yXXwwKSo0MHwwKSsxMnwwO2ZbYT4+Ml09
KGZbYT4+Ml18MCkrMTtiPWIrMXwwfXJldHVybn1mdW5jdGlvbiBQaygpe3ZhciBhPTAsYj0wLGM9
MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDtrPWZbNDgxNjFdfDA7bD1mWzQ4
MTYyXXwwO2o9MDtiPTA7YT0wO3doaWxlKDEpe2lmKChqfDApPj0oa3wwKSlicmVhaztjPWwrKGoq
NDB8MCl8MDtpPWZbbCsoaio0MHwwKSsxMj4+Ml18MDtkPShifDApPT0wO2E6ZG8gaWYoaSlpZigh
ZCl7aWYoKGZbYz4+Ml18MCk+KGF8MCkpe2U9bCsoaio0MHwwKSs0fDA7Yz0wO3doaWxlKDEpe2lm
KChjfDApPj0oaXwwKSlicmVhayBhO2c9ZlsoZltlPj4yXXwwKSsoYzw8Mik+PjJdfDA7aD1mW2cr
ND4+Ml18MDtkPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShofDApKWJyZWFrO209KGZbKGZbKGZbZz4+
Ml18MCkrKGQ8PDIpPj4yXXwwKSsxNj4+Ml18MCkrMjMyfDA7ZlttPj4yXT0oZlttPj4yXXwwKS1i
O2Q9ZCsxfDB9Yz1jKzF8MH19fWVsc2UgYj0wO2Vsc2V7aWYoZClhPWZbYz4+Ml18MDtiPWIrMXww
fXdoaWxlKDApO2o9aisxfDB9cmV0dXJufWZ1bmN0aW9uIFFrKGEpe2E9YXwwO3ZhciBiPTA7Yj1m
WzQ4MTY1XXwwO1ckKGIsankoYSl8MCw0LDYzKTtyZXR1cm59ZnVuY3Rpb24gUmsoYSl7YT1hfDA7
dmFyIGM9MC4wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAuMCxtPTAsbj0wLG89MCxx
PTAscj0wLHM9MC4wLHQ9MDtpPWZbNDgxNjFdfDA7aj1mWzQ4MTYyXXwwO2c9Zls0ODE2NV18MDto
PTA7d2hpbGUoMSl7aWYoKGh8MCk+PShpfDApKXtkPTA7Yz0wLjA7YnJlYWt9ZD1mW2crKGg8PDIp
Pj4yXXwwO2U9aCsxfDA7aWYoKGZbaisoZCo0MHwwKSsxMj4+Ml18MCk8MiloPWU7ZWxzZXtrPTQ7
YnJlYWt9fWlmKChrfDApPT00KWlmKChpfDApPihlfDApKWM9K3BbaisoKGZbZysoZTw8Mik+PjJd
fDApKjQwfDApKzI0Pj4zXTtlbHNlIGM9MC4wO2E6ZG8gaWYoKGh8MCkhPShpfDApKXtXJChmW2or
KGQqNDB8MCkrND4+Ml18MCxmW2orKGQqNDB8MCkrMTI+PjJdfDAsNCw2NCk7Zz1mWzQ4MTYyXXww
O3M9K3BbZysoZCo0MHwwKSsyND4+M107cz0hKGM8PXMqLjI1KSYhKGM+PXMqLjc1KT9jOnMqLjU7
cj1mW2crKGQqNDB8MCkrMTI+PjJdfDA7cT1hKzE2fDA7bT0wO249MDtjPTAuMDtlPTA7bz0wO3do
aWxlKDEpe2lmKChvfDApPj0oZStyfDApKWJyZWFrIGE7ZG8gaWYoIShmWyhmW2crKGQqNDB8MCkr
OD4+Ml18MCkrKG88PDIpPj4yXXwwKSl7az1mWyhmW2crKGQqNDB8MCkrND4+Ml18MCkrKG88PDIp
Pj4yXXwwO2E9ays4fDA7bD0rcFthPj4zXSo3Mi4wK2MrKGM+MC4wPysoZlsoZltxPj4yXXwwKSsy
NDg+PjJdfDApOjAuMCk7aD0obnwwKSE9MDtpZighKGgmIShsPD1zKSkpe2k9aD9tOms7aD1oP246
MTtjPWw7YnJlYWt9aT1tKzR8MDtqPWsrNHwwO2g9MDt3aGlsZSgxKXtpZigoaHwwKT49KGZbaT4+
Ml18MCkpYnJlYWs7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oZltqPj4yXXwwKSlicmVhazt0PSh5
aChmWyhmW20+PjJdfDApKyhoPDwyKT4+Ml18MCxmWyhmW2s+PjJdfDApKyhnPDwyKT4+Ml18MCww
KXwwKSsxNnwwO2JbKGZbdD4+Ml18MCkrMTEyPj4wXT0xO2c9ZysxfDB9aD1oKzF8MH1nPWZbNDgx
NjJdfDA7ZlsoZltnKyhkKjQwfDApKzg+PjJdfDApKyhvPDwyKT4+Ml09MTtpPWcrKGQqNDB8MCkr
MTJ8MDtmW2k+PjJdPShmW2k+PjJdfDApKy0xO2k9ZysoZCo0MHwwKSsxNnwwO2ZbaT4+Ml09KGZb
aT4+Ml18MCkrMTtpPWcrKGQqNDB8MCkrMjR8MDtwW2k+PjNdPStwW2E+PjNdKi03Mi4wLSsoZlso
ZltxPj4yXXwwKSsyNDg+PjJdfDApKyArcFtpPj4zXTtpPW07aD1ufWVsc2V7aT1tO2g9bjtlPWUr
MXwwfXdoaWxlKDApO209aTtuPWg7bz1vKzF8MH19d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIFNr
KGEsYil7YT1hfDA7Yj1ifDA7YT1UayhmW2E+PjJdfDApfDA7Yj1UayhmW2I+PjJdfDApfDA7cmV0
dXJuICgoYnwwKTwoYXwwKSYxKS0oKGJ8MCk+KGF8MCkmMSl8MH1mdW5jdGlvbiBUayhhKXthPWF8
MDt2YXIgYj0wLGM9MCxkPTAsZT0wLGc9MDtlPWErNHwwO2M9MDtiPTA7d2hpbGUoMSl7aWYoKGN8
MCk+PShmW2U+PjJdfDApKWJyZWFrO2Q9ZlsoZlthPj4yXXwwKSsoYzw8Mik+PjJdfDA7Zz1ueihk
KXwwO2Q9TngoZyxkKXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrO2Q9UHgoZyxkKXwwO2I9YisxfDB9
Yz1jKzF8MH1yZXR1cm4gYnwwfWZ1bmN0aW9uIFVrKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MC4w
LGQ9MC4wLGU9MDtlPWZbNDgxNjJdfDA7ZD0rcFtlKygoZltiPj4yXXwwKSo0MHwwKSsyND4+M107
Yz0rcFtlKygoZlthPj4yXXwwKSo0MHwwKSsyND4+M107cmV0dXJuIChkPmMmMSktKGQ8YyYxKXww
fWZ1bmN0aW9uIFZrKGEpe2E9YXwwO3ZhciBiPTA7Yj0keShhKXwwO3doaWxlKDEpe2lmKCFiKWJy
ZWFrO2ZbKGZbYisxNj4+Ml18MCkrMjE2Pj4yXT0wO2I9YXooYSxiKXwwfXJldHVybn1mdW5jdGlv
biBXayhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTA7Zz10O3Q9dCszMnwwO2U9
ZysxNnwwO2Q9Zys4fDA7Yz1nKzIwfDA7ZltjPj4yXT01O2E9R3goYSwxMDc5MzEpfDA7aWYoYXww
PyhmW2Q+PjJdPWcsZltkKzQ+PjJdPWMsKE0xKGEsOTk1MjksZCl8MCk+PTEpOjApWXcoMCw5OTUz
NixlKXwwO2ZbYisyND4+Ml09MDtmW2IrMzI+PjJdPTA7dD1nO3JldHVybiAwfWZ1bmN0aW9uIFhr
KGEpe2E9YXwwO3ZhciBjPTAsZD0wO2M9Zls0ODM4MV18MDtpZigoKChjfDApIT0wPyhkPUh4KGEs
Yyl8MCwoZHwwKSE9MCk6MCk/KGJbZD4+MF18MCkhPTA6MCk/KFpMKGQpfDApPDwyND4+MjQ9PTA6
MClhPTE7ZWxzZSBhPTA7cmV0dXJuIGF8MH0KK2Z1bmN0aW9uIEpZKGEsYyxkLGUpe2E9YXwwO2M9
Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MDtw
PXQ7dD10KzE2fDA7bz1wO249ZDtqPW4tY3wwO2E6ZG8gaWYoKGp8MCk+MSl7ZD1iW2MrMT4+MF18
MDtpZighKGQ8PDI0Pj4yNCkpe2k9YltjPj4wXXwwO2c9aFthKzcyKyhpJjI1NSk+PjBdfDB9ZWxz
ZXtpPWJbYz4+MF18MDtnPUJZKGQsaSl8MH1zd2l0Y2goZ3wwKXtjYXNlIDI5OntsPWkmMjU1O2lm
KCEoMTw8KGwmMzEpJmZbNTM5MjArKChsPj4+NXxoWzUzNjY0KyhkJjI1NSk+PjBdPDwzKTw8Mik+
PjJdKSl7ZltlPj4yXT1jO2Q9MDticmVhayBhfWJyZWFrfWNhc2UgMjQ6Y2FzZSAyMjpicmVhaztj
YXNlIDU6e2ZbZT4+Ml09YztkPTA7YnJlYWsgYX1jYXNlIDY6e2lmKChqfDApPDMpe2Q9LTI7YnJl
YWsgYX1mW2U+PjJdPWM7ZD0wO2JyZWFrIGF9Y2FzZSA3OntpZigoanwwKTw0KXtkPS0yO2JyZWFr
IGF9ZltlPj4yXT1jO2Q9MDticmVhayBhfWRlZmF1bHQ6e2ZbZT4+Ml09YztkPTA7YnJlYWsgYX19
bD1hKzcyfDA7az1jO2I6d2hpbGUoMSl7ZD1rKzJ8MDtnPW4tZHwwO2lmKChnfDApPD0xKXtkPS0x
O2JyZWFrIGF9aT1iW2srMz4+MF18MDtqPWJbZD4+MF18MDtpZighKGk8PDI0Pj4yNCkpYT1oW2wr
KGomMjU1KT4+MF18MDtlbHNlIGE9QlkoaSxqKXwwO3N3aXRjaChhfDApe2Nhc2UgNTp7bT0yMzti
cmVhayBifWNhc2UgNjp7bT0yNDticmVhayBifWNhc2UgNzp7bT0yNjticmVhayBifWNhc2UgMTA6
Y2FzZSA5OmNhc2UgMjE6e209Mjg7YnJlYWsgYn1jYXNlIDE1OnttPTQ4O2JyZWFrIGJ9Y2FzZSAy
OTp7az1qJjI1NTtpZighKDE8PChrJjMxKSZmWzUzOTIwKygoaz4+PjV8aFs1NTIwMCsoaSYyNTUp
Pj4wXTw8Myk8PDIpPj4yXSkpe209MjI7YnJlYWsgYn1icmVha31jYXNlIDI3OmNhc2UgMjY6Y2Fz
ZSAyNTpjYXNlIDI0OmNhc2UgMjI6YnJlYWs7ZGVmYXVsdDpicmVhayBifWs9ZH1pZigobXwwKT09
MjIpe2ZbZT4+Ml09ZDtkPTA7YnJlYWt9ZWxzZSBpZigobXwwKT09MjMpe2ZbZT4+Ml09ZDtkPTA7
YnJlYWt9ZWxzZSBpZigobXwwKT09MjQpe2lmKChnfDApPDMpe2Q9LTI7YnJlYWt9ZltlPj4yXT1k
O2Q9MDticmVha31lbHNlIGlmKChtfDApPT0yNil7aWYoKGd8MCk8NCl7ZD0tMjticmVha31mW2U+
PjJdPWQ7ZD0wO2JyZWFrfWVsc2UgaWYoKG18MCk9PTI4KXtpZighKE1ZKGMsZCxvKXwwKSl7Zltl
Pj4yXT1kO2Q9MDticmVha31kPWsrNHwwO2M6d2hpbGUoMSl7aj1uLWR8MDtpZigoanwwKTw9MSl7
ZD0tMTticmVhayBhfWc9YltkKzE+PjBdfDA7aT1iW2Q+PjBdfDA7aWYoIShnPDwyND4+MjQpKWc9
aFtsKyhpJjI1NSk+PjBdfDA7ZWxzZSBnPUJZKGcsaSl8MDtzd2l0Y2goZ3wwKXtjYXNlIDg6Y2Fz
ZSAxOmNhc2UgMDp7bT00MTticmVhayBjfWNhc2UgNTp7ZD1kKzJ8MDticmVha31jYXNlIDY6e2lm
KChqfDApPDMpe2Q9LTI7YnJlYWsgYX1kPWQrM3wwO2JyZWFrfWNhc2UgNzp7aWYoKGp8MCk8NCl7
ZD0tMjticmVhayBhfWQ9ZCs0fDA7YnJlYWt9Y2FzZSAxNTp7Zz1kKzJ8MDtpZigobi1nfDApPD0x
KXtkPS0xO2JyZWFrIGF9aWYoKGJbZCszPj4wXXwwKT09MD8oYltnPj4wXXwwKT09NjI6MCl7bT00
NjticmVhayBjfWVsc2UgZD1nO2JyZWFrfWRlZmF1bHQ6ZD1kKzJ8MH19aWYoKG18MCk9PTQxKXtm
W2U+PjJdPWQ7ZD0wO2JyZWFrfWVsc2UgaWYoKG18MCk9PTQ2KXtmW2U+PjJdPWQrNDtkPWZbbz4+
Ml18MDticmVha319ZWxzZSBpZigobXwwKT09NDgpe2lmKCEoTVkoYyxkLG8pfDApKXtmW2U+PjJd
PWQ7ZD0wO2JyZWFrfWQ9ays0fDA7aWYoKG4tZHwwKTw9MSl7ZD0tMTticmVha31pZigoYltrKzU+
PjBdfDApPT0wPyhiW2Q+PjBdfDApPT02MjowKXtmW2U+PjJdPWsrNjtkPWZbbz4+Ml18MDticmVh
a319ZltlPj4yXT1kO2Q9MH1lbHNlIGQ9LTE7d2hpbGUoMCk7dD1wO3JldHVybiBkfDB9ZnVuY3Rp
b24gS1koYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxpPTAsaj0wLGs9
MCxsPTA7aj1kLWN8MDthOmRvIGlmKChqfDApPjEpe2s9YltjKzE+PjBdfDA7aWYoIShrPDwyND4+
MjQpKXtpPWJbYz4+MF18MDtnPWhbYSs3MisoaSYyNTUpPj4wXXwwfWVsc2V7aT1iW2M+PjBdfDA7
Zz1CWShrLGkpfDB9c3dpdGNoKGd8MCl7Y2FzZSAyOTp7bD1pJjI1NTtpZighKDE8PChsJjMxKSZm
WzUzOTIwKygobD4+PjV8KGhbNTM2NjQrKGsmMjU1KT4+MF18MCk8PDMpPDwyKT4+Ml0pKXtmW2U+
PjJdPWM7ZD0wO2JyZWFrIGF9YnJlYWt9Y2FzZSAyNDpjYXNlIDIyOmJyZWFrO2Nhc2UgNTp7Zltl
Pj4yXT1jO2Q9MDticmVhayBhfWNhc2UgNjp7aWYoKGp8MCk8Myl7ZD0tMjticmVhayBhfWZbZT4+
Ml09YztkPTA7YnJlYWsgYX1jYXNlIDc6e2lmKChqfDApPDQpe2Q9LTI7YnJlYWsgYX1mW2U+PjJd
PWM7ZD0wO2JyZWFrIGF9ZGVmYXVsdDp7ZltlPj4yXT1jO2Q9MDticmVhayBhfX1sPWErNzJ8MDth
PWM7Yjp3aGlsZSgxKXtrPWErMnwwO2M9ZC1rfDA7aWYoKGN8MCk8PTEpe2Q9LTE7YnJlYWsgYX1n
PWJbYSszPj4wXXwwO2k9YltrPj4wXXwwO2lmKCEoZzw8MjQ+PjI0KSlqPWhbbCsoaSYyNTUpPj4w
XXwwO2Vsc2Ugaj1CWShnLGkpfDA7c3dpdGNoKGp8MCl7Y2FzZSA1OntnPTIzO2JyZWFrIGJ9Y2Fz
ZSA2OntnPTI0O2JyZWFrIGJ9Y2FzZSA3OntnPTI2O2JyZWFrIGJ9Y2FzZSAxMDpjYXNlIDk6Y2Fz
ZSAyMTp7Zz0yODticmVhayBifWNhc2UgMTE6e2c9Mzc7YnJlYWsgYn1jYXNlIDI5OntjPWkmMjU1
O2lmKCEoMTw8KGMmMzEpJmZbNTM5MjArKChjPj4+NXwoaFs1NTIwMCsoZyYyNTUpPj4wXXwwKTw8
Myk8PDIpPj4yXSkpe2c9MjI7YnJlYWsgYn1icmVha31jYXNlIDIzOmNhc2UgMjc6Y2FzZSAyNjpj
YXNlIDI1OmNhc2UgMjQ6Y2FzZSAyMjpicmVhaztkZWZhdWx0OntnPTM4O2JyZWFrIGJ9fWE9a31p
ZigoZ3wwKT09MjIpe2ZbZT4+Ml09aztkPTA7YnJlYWt9ZWxzZSBpZigoZ3wwKT09MjMpe2ZbZT4+
Ml09aztkPTA7YnJlYWt9ZWxzZSBpZigoZ3wwKT09MjQpe2lmKChjfDApPDMpe2Q9LTI7YnJlYWt9
ZltlPj4yXT1rO2Q9MDticmVha31lbHNlIGlmKChnfDApPT0yNil7aWYoKGN8MCk8NCl7ZD0tMjti
cmVha31mW2U+PjJdPWs7ZD0wO2JyZWFrfWVsc2UgaWYoKGd8MCk9PTI4KXtqPWErNHwwO2M6d2hp
bGUoMSl7aWYoKGQtanwwKTw9MSl7ZD0tMTticmVhayBhfWc9YltqKzE+PjBdfDA7aT1iW2o+PjBd
fDA7aWYoIShnPDwyND4+MjQpKWc9aFtsKyhpJjI1NSk+PjBdfDA7ZWxzZSBnPUJZKGcsaSl8MDtz
d2l0Y2goZ3wwKXtjYXNlIDExOntnPTM0O2JyZWFrIGN9Y2FzZSAxMDpjYXNlIDk6Y2FzZSAyMTpi
cmVhaztkZWZhdWx0OntnPTM1O2JyZWFrIGN9fWo9aisyfDB9aWYoKGd8MCk9PTM0KXtmW2U+PjJd
PWorMjtkPTU7YnJlYWt9ZWxzZSBpZigoZ3wwKT09MzUpe2ZbZT4+Ml09ajtkPTA7YnJlYWt9fWVs
c2UgaWYoKGd8MCk9PTM3KXtmW2U+PjJdPWErNDtkPTU7YnJlYWt9ZWxzZSBpZigoZ3wwKT09Mzgp
e2ZbZT4+Ml09aztkPTA7YnJlYWt9fWVsc2UgZD0tMTt3aGlsZSgwKTtyZXR1cm4gZHwwfWZ1bmN0
aW9uIExZKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaT0wLGo9MCxr
PTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTA7cT10O3Q9dCsxNnwwO249cTtmW24+PjJdPWM7bz1k
O209YSs3MnwwO2c9MDthOndoaWxlKDEpe2I6d2hpbGUoMSl7bD1vLWN8MDtpZigobHwwKTw9MSl7
Yz0tMTticmVhayBhfWk9YltjKzE+PjBdfDA7aj1iW2M+PjBdfDA7aWYoIShpPDwyND4+MjQpKWs9
aFttKyhqJjI1NSk+PjBdfDA7ZWxzZSBrPUJZKGksail8MDtzd2l0Y2goa3wwKXtjYXNlIDU6e3A9
MTM7YnJlYWsgYX1jYXNlIDY6e3A9MTQ7YnJlYWsgYX1jYXNlIDc6e3A9MTY7YnJlYWsgYX1jYXNl
IDIzOntwPTE4O2JyZWFrIGJ9Y2FzZSAxMDpjYXNlIDk6Y2FzZSAyMTp7cD04O2JyZWFrIGJ9Y2Fz
ZSAxNDp7cD05O2JyZWFrIGJ9Y2FzZSAyOTp7bD1qJjI1NTtpZighKDE8PChsJjMxKSZmWzUzOTIw
KygobD4+PjV8aFs1NTIwMCsoaSYyNTUpPj4wXTw8Myk8PDIpPj4yXSkpe3A9MTE7YnJlYWsgYX1i
cmVha31jYXNlIDI3OmNhc2UgMjY6Y2FzZSAyNTpjYXNlIDI0OmNhc2UgMjI6YnJlYWs7ZGVmYXVs
dDp7cD05ODticmVhayBhfX1sPWMrMnwwO2Zbbj4+Ml09bDtjPWx9YzpkbyBpZigocHwwKT09OCl7
cD0wO3doaWxlKDEpe2k9YysyfDA7ZltuPj4yXT1pO2lmKChvLWl8MCk8PTEpe2M9LTE7YnJlYWsg
YX1jPWJbYyszPj4wXXwwO2c9YltpPj4wXXwwO2lmKCEoYzw8MjQ+PjI0KSljPWhbbSsoZyYyNTUp
Pj4wXXwwO2Vsc2UgYz1CWShjLGcpfDA7c3dpdGNoKGN8MCl7Y2FzZSAxNDp7Yz1pO3A9OTticmVh
ayBjfWNhc2UgOTpjYXNlIDEwOmNhc2UgMjE6YnJlYWs7ZGVmYXVsdDp7cD00MDticmVhayBhfX1j
PWl9fWVsc2UgaWYoKHB8MCk9PTE4KXtwPTA7aWYoZ3wwKXtwPTE5O2JyZWFrIGF9Zz1jKzJ8MDtm
W24+PjJdPWc7aT1vLWd8MDtpZigoaXwwKTw9MSl7Yz0tMTticmVhayBhfWo9YltjKzM+PjBdfDA7
az1iW2c+PjBdfDA7aWYoIShqPDwyND4+MjQpKWw9aFttKyhrJjI1NSk+PjBdfDA7ZWxzZSBsPUJZ
KGosayl8MDtzd2l0Y2gobHwwKXtjYXNlIDU6e3A9Mjg7YnJlYWsgYX1jYXNlIDY6e3A9Mjk7YnJl
YWsgYX1jYXNlIDc6e3A9MzE7YnJlYWsgYX1jYXNlIDI5OntsPWsmMjU1O2lmKCEoMTw8KGwmMzEp
JmZbNTM5MjArKChsPj4+NXxoWzUzNjY0KyhqJjI1NSk+PjBdPDwzKTw8Mik+PjJdKSl7cD0yNjti
cmVhayBhfWJyZWFrfWNhc2UgMjQ6Y2FzZSAyMjpicmVhaztkZWZhdWx0OntwPTMzO2JyZWFrIGF9
fWc9MTtjPWMrNHwwfXdoaWxlKDApO2lmKChwfDApPT05KXtwPTA7d2hpbGUoMSl7aj1jKzJ8MDtm
W24+PjJdPWo7aWYoKG8tanwwKTw9MSl7Yz0tMTticmVhayBhfWc9YltjKzM+PjBdfDA7aT1iW2o+
PjBdfDA7aWYoIShnPDwyND4+MjQpKWs9aFttKyhpJjI1NSk+PjBdfDA7ZWxzZSBrPUJZKGcsaSl8
MDtpZigoa3wxfDApPT0xMylicmVhaztzd2l0Y2goa3wwKXtjYXNlIDk6Y2FzZSAxMDpjYXNlIDIx
OmJyZWFrO2RlZmF1bHQ6e3A9NDg7YnJlYWsgYX19Yz1qfWM9Yys0fDA7ZltuPj4yXT1jO3doaWxl
KDEpe2o9by1jfDA7aWYoKGp8MCk8PTEpe2M9LTE7YnJlYWsgYX1nPWJbYysxPj4wXXwwO2k9Yltj
Pj4wXXwwO2lmKCEoZzw8MjQ+PjI0KSlnPWhbbSsoaSYyNTUpPj4wXXwwO2Vsc2UgZz1CWShnLGkp
fDA7aWYoKGd8MCk9PShrfDApKWJyZWFrO3N3aXRjaChnfDApe2Nhc2UgODpjYXNlIDE6Y2FzZSAw
OntwPTYxO2JyZWFrIGF9Y2FzZSAyOntwPTY3O2JyZWFrIGF9Y2FzZSA1OntjPWMrMnwwO2Zbbj4+
Ml09YzticmVha31jYXNlIDY6e2lmKChqfDApPDMpe2M9LTI7YnJlYWsgYX1jPWMrM3wwO2Zbbj4+
Ml09YzticmVha31jYXNlIDc6e2lmKChqfDApPDQpe2M9LTI7YnJlYWsgYX1jPWMrNHwwO2Zbbj4+
Ml09YzticmVha31jYXNlIDM6e2M9Q1koYSxjKzJ8MCxkLG4pfDA7aWYoKGN8MCk8MSl7cD02NTti
cmVhayBhfWM9ZltuPj4yXXwwO2JyZWFrfWRlZmF1bHQ6e2M9YysyfDA7ZltuPj4yXT1jfX19aT1j
KzJ8MDtmW24+PjJdPWk7aWYoKG8taXwwKTw9MSl7Yz0tMTticmVha31nPWJbYyszPj4wXXwwO2o9
YltpPj4wXXwwO2lmKCEoZzw8MjQ+PjI0KSlnPWhbbSsoaiYyNTUpPj4wXXwwO2Vsc2UgZz1CWShn
LGopfDA7c3dpdGNoKGd8MCl7Y2FzZSAxMTp7cD04OTticmVhayBhfWNhc2UgMTc6e3A9OTA7YnJl
YWsgYX1jYXNlIDEwOmNhc2UgOTpjYXNlIDIxOmJyZWFrO2RlZmF1bHQ6e3A9NzU7YnJlYWsgYX19
Yz1pO2Q6d2hpbGUoMSl7aT1jKzJ8MDtmW24+PjJdPWk7Zz1vLWl8MDtpZigoZ3wwKTw9MSl7Yz0t
MTticmVhayBhfWo9YltjKzM+PjBdfDA7az1iW2k+PjBdfDA7aWYoIShqPDwyND4+MjQpKWw9aFtt
KyhrJjI1NSk+PjBdfDA7ZWxzZSBsPUJZKGosayl8MDtzd2l0Y2gobHwwKXtjYXNlIDU6e3A9ODQ7
YnJlYWsgYX1jYXNlIDY6e3A9ODU7YnJlYWsgYX1jYXNlIDc6e3A9ODc7YnJlYWsgYX1jYXNlIDEx
OntwPTg5O2JyZWFrIGF9Y2FzZSAxNzp7cD05MDticmVhayBhfWNhc2UgMjk6e3A9ODI7YnJlYWsg
ZH1jYXNlIDI0OmNhc2UgMjI6YnJlYWsgZDtjYXNlIDEwOmNhc2UgOTpjYXNlIDIxOmJyZWFrO2Rl
ZmF1bHQ6e3A9OTU7YnJlYWsgYX19Yz1pfWlmKChwfDApPT04Mj8ocD0wLGw9ayYyNTUsKDE8PChs
JjMxKSZmWzUzOTIwKygobD4+PjV8aFs1MzY2NCsoaiYyNTUpPj4wXTw8Myk8PDIpPj4yXXwwKT09
MCk6MCl7cD04MzticmVha31nPTA7Yz1jKzR8MH1mW24+PjJdPWN9c3dpdGNoKHB8MCl7Y2FzZSAx
MTp7ZltlPj4yXT1jO2M9MDticmVha31jYXNlIDEzOntmW2U+PjJdPWM7Yz0wO2JyZWFrfWNhc2Ug
MTQ6e2lmKChsfDApPDMpYz0tMjtlbHNle2ZbZT4+Ml09YztjPTB9YnJlYWt9Y2FzZSAxNjp7aWYo
KGx8MCk8NCljPS0yO2Vsc2V7ZltlPj4yXT1jO2M9MH1icmVha31jYXNlIDE5OntmW2U+PjJdPWM7
Yz0wO2JyZWFrfWNhc2UgMjY6e2ZbZT4+Ml09ZztjPTA7YnJlYWt9Y2FzZSAyODp7ZltlPj4yXT1n
O2M9MDticmVha31jYXNlIDI5OntpZigoaXwwKTwzKWM9LTI7ZWxzZXtmW2U+PjJdPWc7Yz0wfWJy
ZWFrfWNhc2UgMzE6e2lmKChpfDApPDQpYz0tMjtlbHNle2ZbZT4+Ml09ZztjPTB9YnJlYWt9Y2Fz
ZSAzMzp7ZltlPj4yXT1nO2M9MDticmVha31jYXNlIDQwOntmW2U+PjJdPWk7Yz0wO2JyZWFrfWNh
c2UgNDg6e2ZbZT4+Ml09ajtjPTA7YnJlYWt9Y2FzZSA2MTp7ZltlPj4yXT1jO2M9MDticmVha31j
YXNlIDY1OntpZighYyl7ZltlPj4yXT1mW24+PjJdO2M9MH1icmVha31jYXNlIDY3OntmW2U+PjJd
PWM7Yz0wO2JyZWFrfWNhc2UgNzU6e2ZbZT4+Ml09aTtjPTA7YnJlYWt9Y2FzZSA4Mzp7ZltlPj4y
XT1pO2M9MDticmVha31jYXNlIDg0OntmW2U+PjJdPWk7Yz0wO2JyZWFrfWNhc2UgODU6e2lmKChn
fDApPDMpYz0tMjtlbHNle2ZbZT4+Ml09aTtjPTB9YnJlYWt9Y2FzZSA4Nzp7aWYoKGd8MCk8NClj
PS0yO2Vsc2V7ZltlPj4yXT1pO2M9MH1icmVha31jYXNlIDg5OntmW2U+PjJdPWMrNDtjPTE7YnJl
YWt9Y2FzZSA5MDp7Zz1pKzJ8MDtmW24+PjJdPWc7Yz1nO2lmKChvLWN8MCk+MSl7aWYoKGJbaSsz
Pj4wXXwwKT09MD8oYltnPj4wXXwwKT09NjI6MCl7ZltlPj4yXT1pKzQ7Yz0zO2JyZWFrfWZbZT4+
Ml09YztjPTB9ZWxzZSBjPS0xO2JyZWFrfWNhc2UgOTU6e2ZbZT4+Ml09aTtjPTA7YnJlYWt9Y2Fz
ZSA5ODp7ZltlPj4yXT1jO2M9MDticmVha319dD1xO3JldHVybiBjfDB9ZnVuY3Rpb24gTVkoYSxj
LGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2ZbZD4+Ml09MTE7YTpkbyBpZigoYy1hfDApPT02PyhiW2Er
MT4+MF18MCk9PTA6MCl7c3dpdGNoKGJbYT4+MF18MCl7Y2FzZSAxMjA6e2M9MDticmVha31jYXNl
IDg4OntjPTE7YnJlYWt9ZGVmYXVsdDp7Yz0xO2JyZWFrIGF9fWlmKCEoYlthKzM+PjBdfDApKXtz
d2l0Y2goYlthKzI+PjBdfDApe2Nhc2UgMTA5OmJyZWFrO2Nhc2UgNzc6e2M9MTticmVha31kZWZh
dWx0OntjPTE7YnJlYWsgYX19aWYoIShiW2ErNT4+MF18MCkpe3N3aXRjaChiW2ErND4+MF18MCl7
Y2FzZSAxMDg6YnJlYWs7Y2FzZSA3Njp7Yz0wO2JyZWFrIGF9ZGVmYXVsdDp7Yz0xO2JyZWFrIGF9
fWlmKCFjKXtmW2Q+PjJdPTEyO2M9MX1lbHNlIGM9MH1lbHNlIGM9MX1lbHNlIGM9MX1lbHNlIGM9
MTt3aGlsZSgwKTtyZXR1cm4gY3wwfWZ1bmN0aW9uIE5ZKGEsYyxkLGUsZyl7YT1hfDA7Yz1jfDA7
ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFyIGk9MCxqPTAsaz0wLGw9MDtrPWMrNzJ8MDthOndoaWxlKDEp
e2o9ZS1kfDA7aWYoKGp8MCk8PTEpe2Q9LTE7YnJlYWt9Yz1iW2QrMT4+MF18MDtpPWJbZD4+MF18
MDtpZighKGM8PDI0Pj4yNCkpYz1oW2srKGkmMjU1KT4+MF18MDtlbHNlIGM9QlkoYyxpKXwwO3N3
aXRjaChjfDApe2Nhc2UgODpjYXNlIDE6Y2FzZSAwOntsPTEwO2JyZWFrIGF9Y2FzZSA1OntkPWQr
MnwwO2JyZWFrfWNhc2UgNjp7aWYoKGp8MCk8Myl7ZD0tMjticmVhayBhfWVsc2UgZD1kKzN8MDti
cmVha31jYXNlIDc6e2lmKChqfDApPDQpe2Q9LTI7YnJlYWsgYX1lbHNlIGQ9ZCs0fDA7YnJlYWt9
Y2FzZSAxMzpjYXNlIDEyOntpPWQrMnwwO2lmKChjfDApPT0oYXwwKSl7bD0xMjticmVhayBhfWVs
c2UgZD1pO2JyZWFrfWRlZmF1bHQ6ZD1kKzJ8MH19YjpkbyBpZigobHwwKT09MTApe2ZbZz4+Ml09
ZDtkPTB9ZWxzZSBpZigobHwwKT09MTIpaWYoKGUtaXwwKT4xKXtmW2c+PjJdPWk7ZT1iW2QrMz4+
MF18MDtkPWJbaT4+MF18MDtpZighKGU8PDI0Pj4yNCkpZD1oW2srKGQmMjU1KT4+MF18MDtlbHNl
IGQ9QlkoZSxkKXwwO3N3aXRjaChkfDApe2Nhc2UgMjA6Y2FzZSAzMDpjYXNlIDExOmNhc2UgMTA6
Y2FzZSA5OmNhc2UgMjE6e2Q9Mjc7YnJlYWsgYn1kZWZhdWx0Ont9fWQ9MH1lbHNlIGQ9LTI3O3do
aWxlKDApO3JldHVybiBkfDB9ZnVuY3Rpb24gT1koYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7
ZT1lfDA7dmFyIGc9MCxpPTAsaj0wLGs9MCxsPTA7az1kO2E6ZG8gaWYoKGstY3wwKT4xKXtnPWJb
YysxPj4wXXwwO2lmKCEoZzw8MjQ+PjI0KSlnPWhbYSs3MisoaFtjPj4wXXwwKT4+MF18MDtlbHNl
IGc9QlkoZyxiW2M+PjBdfDApfDA7c3dpdGNoKGd8MCl7Y2FzZSAyNzp7Zz1IWShhLGMrMnwwLGQs
ZSl8MDticmVhayBhfWNhc2UgMjA6e2ZbZT4+Ml09YysyO2c9MzM7YnJlYWsgYX1jYXNlIDI0OmNh
c2UgMjI6e2o9YSs3MnwwO2I6d2hpbGUoMSl7aT1jKzJ8MDtkPWstaXwwO2lmKChkfDApPD0xKXtn
PS0xO2JyZWFrIGF9Zz1iW2MrMz4+MF18MDthPWJbaT4+MF18MDtpZighKGc8PDI0Pj4yNCkpZz1o
W2orKGEmMjU1KT4+MF18MDtlbHNlIGc9QlkoZyxhKXwwO3N3aXRjaChnfDApe2Nhc2UgMzA6e2w9
MTY7YnJlYWsgYn1jYXNlIDEwOmNhc2UgOTpjYXNlIDIxOmJyZWFrIGI7Y2FzZSAyNDpjYXNlIDIy
OmJyZWFrO2RlZmF1bHQ6e2w9MjM7YnJlYWsgYn19Yz1pfWlmKChsfDApPT0yMyl7ZltlPj4yXT1p
O2c9MDticmVhayBhfWM6ZG8gaWYoKGx8MCk9PTE2KXtpZigoZHwwKTw9Myl7Zz0tMTticmVhayBh
fWE9YltjKzU+PjBdfDA7Zz1iW2MrND4+MF18MDtpZighKGE8PDI0Pj4yNCkpZz1oW2orKGcmMjU1
KT4+MF18MDtlbHNlIGc9QlkoYSxnKXwwO3N3aXRjaChnfDApe2Nhc2UgMzA6Y2FzZSAxMDpjYXNl
IDk6Y2FzZSAyMTpicmVhaztkZWZhdWx0OmJyZWFrIGN9ZltlPj4yXT1pO2c9MDticmVhayBhfXdo
aWxlKDApO2ZbZT4+Ml09aTtnPTE2O2JyZWFrIGF9ZGVmYXVsdDp7ZltlPj4yXT1jO2c9MDticmVh
ayBhfX19ZWxzZSBnPS0xO3doaWxlKDApO3JldHVybiBnfDB9ZnVuY3Rpb24gUFkoYSxjLGQsZSl7
YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxpPTAsaj0wLGs9MDtqPWQtY3wwO2E6ZG8g
aWYoKGp8MCk+MSl7az1iW2MrMT4+MF18MDtpZighKGs8PDI0Pj4yNCkpe2k9YltjPj4wXXwwO2c9
aFthKzcyKyhpJjI1NSk+PjBdfDB9ZWxzZXtpPWJbYz4+MF18MDtnPUJZKGssaSl8MH1zd2l0Y2go
Z3wwKXtjYXNlIDI5OntqPWkmMjU1O2lmKCEoMTw8KGomMzEpJmZbNTM5MjArKChqPj4+NXwoaFs1
MzY2NCsoayYyNTUpPj4wXXwwKTw8Myk8PDIpPj4yXSkpe2ZbZT4+Ml09YztkPTA7YnJlYWsgYX1i
cmVha31jYXNlIDI0OmNhc2UgMjI6YnJlYWs7Y2FzZSA1OntmW2U+PjJdPWM7ZD0wO2JyZWFrIGF9
Y2FzZSA2OntpZigoanwwKTwzKXtkPS0yO2JyZWFrIGF9ZltlPj4yXT1jO2Q9MDticmVhayBhfWNh
c2UgNzp7aWYoKGp8MCk8NCl7ZD0tMjticmVhayBhfWZbZT4+Ml09YztkPTA7YnJlYWsgYX1kZWZh
dWx0OntmW2U+PjJdPWM7ZD0wO2JyZWFrIGF9fWs9YSs3MnwwO2I6d2hpbGUoMSl7aj1jKzJ8MDth
PWQtanwwO2lmKChhfDApPD0xKXtkPS0yMDticmVhayBhfWM9YltjKzM+PjBdfDA7Zz1iW2o+PjBd
fDA7aWYoIShjPDwyND4+MjQpKWk9aFtrKyhnJjI1NSk+PjBdfDA7ZWxzZSBpPUJZKGMsZyl8MDtz
d2l0Y2goaXwwKXtjYXNlIDU6e2M9MjM7YnJlYWsgYn1jYXNlIDY6e2M9MjQ7YnJlYWsgYn1jYXNl
IDc6e2M9MjY7YnJlYWsgYn1jYXNlIDM2OmNhc2UgMzA6Y2FzZSAxMTpjYXNlIDMyOmNhc2UgMjE6
Y2FzZSAxMDpjYXNlIDk6e2M9Mjg7YnJlYWsgYn1jYXNlIDI5OnthPWcmMjU1O2lmKCEoMTw8KGEm
MzEpJmZbNTM5MjArKChhPj4+NXwoaFs1NTIwMCsoYyYyNTUpPj4wXXwwKTw8Myk8PDIpPj4yXSkp
e2M9MjI7YnJlYWsgYn1icmVha31jYXNlIDI3OmNhc2UgMjY6Y2FzZSAyNTpjYXNlIDI0OmNhc2Ug
MjI6YnJlYWs7ZGVmYXVsdDp7Yz0yOTticmVhayBifX1jPWp9aWYoKGN8MCk9PTIyKXtmW2U+PjJd
PWo7ZD0wO2JyZWFrfWVsc2UgaWYoKGN8MCk9PTIzKXtmW2U+PjJdPWo7ZD0wO2JyZWFrfWVsc2Ug
aWYoKGN8MCk9PTI0KXtpZigoYXwwKTwzKXtkPS0yO2JyZWFrfWZbZT4+Ml09ajtkPTA7YnJlYWt9
ZWxzZSBpZigoY3wwKT09MjYpe2lmKChhfDApPDQpe2Q9LTI7YnJlYWt9ZltlPj4yXT1qO2Q9MDti
cmVha31lbHNlIGlmKChjfDApPT0yOCl7ZltlPj4yXT1qO2Q9MjA7YnJlYWt9ZWxzZSBpZigoY3ww
KT09Mjkpe2ZbZT4+Ml09ajtkPTA7YnJlYWt9fWVsc2UgZD0tMTt3aGlsZSgwKTtyZXR1cm4gZHww
fWZ1bmN0aW9uIFFZKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDtkPVJZKGQpfDA7aWYoKGR8MCk9
PS0xKWQ9MDtlbHNle2JbYSs2OT4+MF09ZDtmW2E+PjJdPTY3O2ZbYSs0Pj4yXT02ODtmW2ErNDg+
PjJdPTMxO2ZbYSs3Mj4+Ml09YztmW2M+PjJdPWE7ZD0xfXJldHVybiBkfDB9ZnVuY3Rpb24gUlko
YSl7YT1hfDA7dmFyIGI9MDthOmRvIGlmKCFhKWI9NjtlbHNle2I9MDt3aGlsZSgxKXtpZihiPj4+
MD49Nil7Yj0tMTticmVhayBhfWlmKHpaKGEsZls1NTQ4OCsoYjw8Mik+PjJdfDApfDApYnJlYWsg
YTtiPWIrMXwwfX13aGlsZSgwKTtyZXR1cm4gYnwwfWZ1bmN0aW9uIFNZKGEsYixjLGQpe2E9YXww
O2I9YnwwO2M9Y3wwO2Q9ZHwwO3JldHVybiBWWSg1NTQ1NixhLDAsYixjLGQpfDB9ZnVuY3Rpb24g
VFkoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7cmV0dXJuIFZZKDU1NDU2LGEsMSxi
LGMsZCl8MH1mdW5jdGlvbiBVWShhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtLWCg3
NDE4OCxiLGMsZCk7cmV0dXJufWZ1bmN0aW9uIFZZKGEsYyxkLGUsZyxoKXthPWF8MDtjPWN8MDtk
PWR8MDtlPWV8MDtnPWd8MDtoPWh8MDt2YXIgaT0wLGo9MCxrPTAsbD0wO2E6ZG8gaWYoZT4+PjA8
Zz4+PjApe2w9ZltjKzcyPj4yXXwwO2k9ZSsxfDA7YjpkbyBpZigoaXwwKT09KGd8MCkpe2k9Yltj
KzY5Pj4wXXwwO2lmKCgoaTw8MjQ+PjI0KSstM3wwKT4+PjA8Myl7aT0tMTticmVhayBhfXN3aXRj
aChiW2U+PjBdfDApe2Nhc2UgNjA6Y2FzZSAwOntpPS0xO2JyZWFrIGF9Y2FzZSAtMTc6Y2FzZSAt
MTpjYXNlIC0yOmJyZWFrO2RlZmF1bHQ6YnJlYWsgYn1pZighKChkfDApPT0xJmk8PDI0Pj4yND09
MCkpe2k9LTE7YnJlYWsgYX19ZWxzZXtrPWJbZT4+MF18MDtpPWJbaT4+MF18MDtqPSgoayYyNTUp
PDw4fGkmMjU1KSY2NTUzNTtjOmRvIGlmKGo8PDE2Pj4xNjwtMil7aWYoajw8MTY+PjE2Pj0tMjU3
KXtzd2l0Y2goajw8MTY+PjE2KXtjYXNlIC0yNTc6YnJlYWs7ZGVmYXVsdDpicmVhayBjfWlmKChk
fDApPT0xJihiW2MrNjk+PjBdfDApPT0wKWJyZWFrIGI7ZltoPj4yXT1lKzI7ZltsPj4yXT1mW2Er
MTY+PjJdO2k9MTQ7YnJlYWsgYX1zd2l0Y2goajw8MTY+PjE2KXtjYXNlIC00MTY1OmJyZWFrO2Rl
ZmF1bHQ6YnJlYWsgY31pZigoZHwwKT09MSlzd2l0Y2goYltjKzY5Pj4wXXwwKXtjYXNlIDA6Y2Fz
ZSAzOmNhc2UgNDpjYXNlIDU6YnJlYWsgYjtkZWZhdWx0Ont9fWk9ZSsyfDA7aWYoKGl8MCk9PShn
fDApKXtpPS0xO2JyZWFrIGF9aWYoKGJbaT4+MF18MCkhPS02NSlicmVhayBiO2ZbaD4+Ml09ZSsz
O2ZbbD4+Ml09ZlthKzg+PjJdO2k9MTQ7YnJlYWsgYX1lbHNle2lmKGo8PDE2Pj4xNjwxNTM2MCl7
c3dpdGNoKGo8PDE2Pj4xNil7Y2FzZSAtMjpicmVhaztkZWZhdWx0OmJyZWFrIGN9aWYoKGR8MCk9
PTEmKGJbYys2OT4+MF18MCk9PTApYnJlYWsgYjtmW2g+PjJdPWUrMjtmW2w+PjJdPWZbYSsyMD4+
Ml07aT0xNDticmVhayBhfXN3aXRjaChqPDwxNj4+MTYpe2Nhc2UgMTUzNjA6YnJlYWs7ZGVmYXVs
dDpicmVhayBjfWk9YltjKzY5Pj4wXXwwO2lmKGk8PDI0Pj4yND09NCl7aWYoKGR8MCk9PTEpYnJl
YWsgYn1lbHNlIGlmKChkfDApPT0xJmk8PDI0Pj4yND09MylicmVhayBiO2k9ZlthKzIwPj4yXXww
O2ZbbD4+Ml09aTtpPXhiW2ZbaSsoZDw8Mik+PjJdJjEyN10oaSxlLGcsaCl8MDticmVhayBhfXdo
aWxlKDApO2lmKGs8PDI0Pj4yNCl7aWYoKGR8MCk9PTF8aTw8MjQ+PjI0IT0wKWJyZWFrO2k9Zlth
KzIwPj4yXXwwO2ZbbD4+Ml09aTtpPXhiW2ZbaSsoZDw8Mik+PjJdJjEyN10oaSxlLGcsaCl8MDti
cmVhayBhfWlmKChkfDApPT0xPyhiW2MrNjk+PjBdfDApPT01OjApYnJlYWs7aT1mW2ErMTY+PjJd
fDA7ZltsPj4yXT1pO2k9eGJbZltpKyhkPDwyKT4+Ml0mMTI3XShpLGUsZyxoKXwwO2JyZWFrIGF9
d2hpbGUoMCk7aT1mW2ErKGJbYys2OT4+MF08PDIpPj4yXXwwO2ZbbD4+Ml09aTtpPXhiW2ZbaSso
ZDw8Mik+PjJdJjEyN10oaSxlLGcsaCl8MH1lbHNlIGk9LTQ7d2hpbGUoMCk7cmV0dXJuIGl8MH1m
dW5jdGlvbiBXWShhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGk9MCxq
PTAsaz0wLGw9MCxtPTAsbj0wO2E6ZG8gaWYoYz4+PjA8ZD4+PjApe2k9YzttPWQtaXwwO2w9KG0m
MXwwKT09MDttPW0mLTI7bj0obXwwKT09MDttPWx8bj9kOmMrbXwwO2lmKGx8bl4xKXtkPWJbYz4+
MF18MDtpZighKGQ8PDI0Pj4yNCkpe2c9YltjKzE+PjBdfDA7aj1nO2c9aFthKzcyKyhnJjI1NSk+
PjBdfDB9ZWxzZXtnPWJbYysxPj4wXXwwO2o9ZztnPUJZKGQsZyl8MH1kbyBzd2l0Y2goZ3wwKXtj
YXNlIDEyOntkPXZaKDEyLGEsYysyfDAsbSxlKXwwO2JyZWFrIGF9Y2FzZSAxMzp7ZD12WigxMyxh
LGMrMnwwLG0sZSl8MDticmVhayBhfWNhc2UgMjp7Zz1jKzJ8MDtpZigobS1nfDApPD0xKXtkPS0x
O2JyZWFrIGF9ZD1iW2c+PjBdfDA7aWYoIShkPDwyND4+MjQpKWQ9aFthKzcyKyhoW2MrMz4+MF18
MCk+PjBdfDA7ZWxzZSBkPUJZKGQsYltjKzM+PjBdfDApfDA7c3dpdGNoKGR8MCl7Y2FzZSAxNjp7
ZD13WihhLGMrNHwwLG0sZSl8MDticmVhayBhfWNhc2UgMTU6e2Q9clooYSxjKzR8MCxtLGUpfDA7
YnJlYWsgYX1jYXNlIDc6Y2FzZSA2OmNhc2UgNTpjYXNlIDI5OmNhc2UgMjQ6Y2FzZSAyMjp7Zltl
Pj4yXT1jO2Q9Mjk7YnJlYWsgYX1kZWZhdWx0OntmW2U+PjJdPWc7ZD0wO2JyZWFrIGF9fX1jYXNl
IDk6e2lmKChjKzJ8MCk9PShtfDApKXtmW2U+PjJdPW07ZD0tMTU7YnJlYWsgYX1lbHNlIG49MjA7
YnJlYWt9Y2FzZSAxMDpjYXNlIDIxOntuPTIwO2JyZWFrfWNhc2UgMzA6e2Q9bFooYSxjKzJ8MCxt
LGUpfDA7YnJlYWsgYX1jYXNlIDM1OntmW2U+PjJdPWMrMjtkPTM4O2JyZWFrIGF9Y2FzZSAyMDp7
ZltlPj4yXT1jKzI7ZD0yNTticmVhayBhfWNhc2UgNDp7Zz1jKzJ8MDtkPW0tZ3wwO2lmKChkfDAp
PD0xKXtkPS0yNjticmVhayBhfWlmKChiW2c+PjBdfDApPT0wPyhiW2MrMz4+MF18MCk9PTkzOjAp
e2lmKChkfDApPD0zKXtkPS0xO2JyZWFrIGF9aWYoKGJbYys0Pj4wXXwwKT09MD8oYltjKzU+PjBd
fDApPT02MjowKXtmW2U+PjJdPWMrNjtkPTM0O2JyZWFrIGF9fWZbZT4+Ml09ZztkPTI2O2JyZWFr
IGF9Y2FzZSAzMTp7ZltlPj4yXT1jKzI7ZD0yMzticmVhayBhfWNhc2UgMzI6e2c9YysyfDA7aWYo
KG0tZ3wwKTw9MSl7ZD0tMjQ7YnJlYWsgYX1kPWJbZz4+MF18MDtpZighKGQ8PDI0Pj4yNCkpZD1o
W2ErNzIrKGhbYyszPj4wXXwwKT4+MF18MDtlbHNlIGQ9QlkoZCxiW2MrMz4+MF18MCl8MDtzd2l0
Y2goZHwwKXtjYXNlIDMzOntmW2U+PjJdPWMrNDtkPTM2O2JyZWFrIGF9Y2FzZSAxNTp7ZltlPj4y
XT1jKzQ7ZD0zNTticmVhayBhfWNhc2UgMzQ6e2ZbZT4+Ml09Yys0O2Q9Mzc7YnJlYWsgYX1jYXNl
IDMyOmNhc2UgMzY6Y2FzZSAzNTpjYXNlIDExOmNhc2UgMjE6Y2FzZSAxMDpjYXNlIDk6e2ZbZT4+
Ml09ZztkPTI0O2JyZWFrIGF9ZGVmYXVsdDp7ZltlPj4yXT1nO2Q9MDticmVhayBhfX19Y2FzZSAz
Njp7ZltlPj4yXT1jKzI7ZD0yMTticmVhayBhfWNhc2UgMTE6e2ZbZT4+Ml09YysyO2Q9MTc7YnJl
YWsgYX1jYXNlIDE5OntkPXhaKGEsYysyfDAsbSxlKXwwO2JyZWFrIGF9Y2FzZSA1OntpZigobS1p
fDApPDIpe2Q9LTI7YnJlYWsgYX1mW2U+PjJdPWM7ZD0wO2JyZWFrIGF9Y2FzZSA2OntpZigobS1p
fDApPDMpe2Q9LTI7YnJlYWsgYX1mW2U+PjJdPWM7ZD0wO2JyZWFrIGF9Y2FzZSA3OntpZigobS1p
fDApPDQpe2Q9LTI7YnJlYWsgYX1mW2U+PjJdPWM7ZD0wO2JyZWFrIGF9Y2FzZSAyNDpjYXNlIDIy
OntkPTE4O249NjU7YnJlYWt9Y2FzZSAyMzpjYXNlIDI3OmNhc2UgMjY6Y2FzZSAyNTp7ZD0xOTtu
PTY1O2JyZWFrfWNhc2UgMjk6e2k9ZCYyNTU7Zz1qJjI1NTtkPWc+Pj41O2c9MTw8KGcmMzEpO2lm
KCEoZyZmWzUzOTIwKygoZHxoWzUzNjY0K2k+PjBdPDwzKTw8Mik+PjJdKSlpZighKGZbNTM5MjAr
KChoWzU1MjAwK2k+PjBdPDwzfGQpPDwyKT4+Ml0mZykpbj02NDtlbHNle2Q9MTk7bj02NX1lbHNl
e2Q9MTg7bj02NX1icmVha31kZWZhdWx0Om49NjR9d2hpbGUoMCk7aWYoKG58MCk9PTIwKXtrPW07
aj1hKzcyfDA7aT1jO2I6d2hpbGUoMSl7YT1pKzJ8MDtpZigoay1hfDApPD0xKXtuPTI5O2JyZWFr
fWQ9YlthPj4wXXwwO2c9YltpKzM+PjBdfDA7aWYoIShkPDwyND4+MjQpKWQ9aFtqKyhnJjI1NSk+
PjBdfDA7ZWxzZSBkPUJZKGQsZyl8MDtzd2l0Y2goZHwwKXtjYXNlIDEwOmNhc2UgMjE6YnJlYWs7
Y2FzZSA5OntpZigoaSs0fDApPT0obXwwKSl7bj0yODticmVhayBifWJyZWFrfWRlZmF1bHQ6e249
Mjg7YnJlYWsgYn19aT1hfWlmKChufDApPT0yOCl7ZltlPj4yXT1hO2Q9MTU7YnJlYWt9ZWxzZSBp
ZigobnwwKT09Mjkpe2ZbZT4+Ml09YTtkPTE1O2JyZWFrfX1lbHNlIGlmKChufDApPT02NCl7Zltl
Pj4yXT1jO2Q9MDticmVha31lbHNlIGlmKChufDApPT02NSl7bD1hKzcyfDA7Zz1jKzJ8MDtjOndo
aWxlKDEpe2Q6d2hpbGUoMSl7aT1tLWd8MDtpZigoaXwwKTw9MSl7bj0xMDc7YnJlYWsgY31qPWJb
Zz4+MF18MDthPWJbZysxPj4wXXwwO2lmKCEoajw8MjQ+PjI0KSlrPWhbbCsoYSYyNTUpPj4wXXww
O2Vsc2Ugaz1CWShqLGEpfDA7c3dpdGNoKGt8MCl7Y2FzZSA1OntuPTc1O2JyZWFrIGN9Y2FzZSA2
OntuPTc2O2JyZWFrIGN9Y2FzZSA3OntuPTc4O2JyZWFrIGN9Y2FzZSAxMDpjYXNlIDk6Y2FzZSAy
MTpjYXNlIDMwOmNhc2UgMjA6Y2FzZSAzNjpjYXNlIDM1OmNhc2UgMzI6Y2FzZSAxMTp7bj04MDti
cmVhayBjfWNhc2UgMzQ6e249OTc7YnJlYWsgY31jYXNlIDMzOntuPTEwMDticmVhayBjfWNhc2Ug
MTU6e249MTAzO2JyZWFrIGN9Y2FzZSAyOTp7Yz1hJjI1NTtpZighKDE8PChjJjMxKSZmWzUzOTIw
KygoYz4+PjV8aFs1NTIwMCsoaiYyNTUpPj4wXTw8Myk8PDIpPj4yXSkpe249NzM7YnJlYWsgY31l
bHNlIG49NzQ7YnJlYWt9Y2FzZSAyNzpjYXNlIDI2OmNhc2UgMjU6Y2FzZSAyNDpjYXNlIDIyOntu
PTc0O2JyZWFrfWNhc2UgMjM6e2s9ZysyfDA7c3dpdGNoKGR8MCl7Y2FzZSAxODp7bj04MzticmVh
ayBkfWNhc2UgNDE6e2Q9MTk7Zz1rO2JyZWFrIGR9ZGVmYXVsdDpnPWt9YnJlYWt9ZGVmYXVsdDp7
bj0xMDY7YnJlYWsgY319aWYoKG58MCk9PTc0KXtuPTA7Zz1nKzJ8MH19ZTpkbyBpZigobnwwKT09
ODMpe249MDtkPW0ta3wwO2lmKChkfDApPD0xKXtkPS0xO2JyZWFrIGF9aT1iW2s+PjBdfDA7aj1i
W2crMz4+MF18MDtpZighKGk8PDI0Pj4yNCkpYT1oW2wrKGomMjU1KT4+MF18MDtlbHNlIGE9Qlko
aSxqKXwwO3N3aXRjaChhfDApe2Nhc2UgNTp7bj05MTticmVhayBjfWNhc2UgNjp7bj05MjticmVh
ayBjfWNhc2UgNzp7bj05NDticmVhayBjfWNhc2UgMjk6e2M9aiYyNTU7aWYoISgxPDwoYyYzMSkm
Zls1MzkyMCsoKGM+Pj41fGhbNTUyMDArKGkmMjU1KT4+MF08PDMpPDwyKT4+Ml0pKXtuPTg5O2Jy
ZWFrIGN9YnJlYWt9Y2FzZSAyNzpjYXNlIDI2OmNhc2UgMjU6Y2FzZSAyNDpjYXNlIDIyOmJyZWFr
O2RlZmF1bHQ6e2Q9MTk7Zz1rO2JyZWFrIGV9fWQ9NDE7Zz1nKzR8MH13aGlsZSgwKX1zd2l0Y2go
bnwwKXtjYXNlIDczOntmW2U+PjJdPWc7ZD0wO2JyZWFrIGF9Y2FzZSA3NTp7ZltlPj4yXT1nO2Q9
MDticmVhayBhfWNhc2UgNzY6e2lmKChpfDApPDMpe2Q9LTI7YnJlYWsgYX1mW2U+PjJdPWc7ZD0w
O2JyZWFrIGF9Y2FzZSA3ODp7aWYoKGl8MCk8NCl7ZD0tMjticmVhayBhfWZbZT4+Ml09ZztkPTA7
YnJlYWsgYX1jYXNlIDgwOntmW2U+PjJdPWc7YnJlYWsgYX1jYXNlIDg5OntmW2U+PjJdPWs7ZD0w
O2JyZWFrIGF9Y2FzZSA5MTp7ZltlPj4yXT1rO2Q9MDticmVhayBhfWNhc2UgOTI6e2lmKChkfDAp
PDMpe2Q9LTI7YnJlYWsgYX1mW2U+PjJdPWs7ZD0wO2JyZWFrIGF9Y2FzZSA5NDp7aWYoKGR8MCk8
NCl7ZD0tMjticmVhayBhfWZbZT4+Ml09aztkPTA7YnJlYWsgYX1jYXNlIDk3OmlmKChkfDApPT0x
OSl7ZltlPj4yXT1nO2Q9MDticmVhayBhfWVsc2V7ZltlPj4yXT1nKzI7ZD0zMjticmVhayBhfWNh
c2UgMTAwOmlmKChkfDApPT0xOSl7ZltlPj4yXT1nO2Q9MDticmVhayBhfWVsc2V7ZltlPj4yXT1n
KzI7ZD0zMTticmVhayBhfWNhc2UgMTAzOmlmKChkfDApPT0xOSl7ZltlPj4yXT1nO2Q9MDticmVh
ayBhfWVsc2V7ZltlPj4yXT1nKzI7ZD0zMDticmVhayBhfWNhc2UgMTA2OntmW2U+PjJdPWc7ZD0w
O2JyZWFrIGF9Y2FzZSAxMDc6e2Q9MC1kfDA7YnJlYWsgYX19fX1lbHNlIGQ9LTF9ZWxzZSBkPS00
O3doaWxlKDApO3JldHVybiBkfDB9ZnVuY3Rpb24gWFkoYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1k
fDA7ZT1lfDA7dmFyIGc9MCxpPTAsaj0wLGs9MDthOmRvIGlmKGM+Pj4wPGQ+Pj4wKXtpPWM7Zz1k
LWl8MDtrPShnJjF8MCk9PTA7Zz1nJi0yO2o9KGd8MCk9PTA7Zz1rfGo/ZDpjK2d8MDtpZihrfGpe
MSl7ZD1iW2M+PjBdfDA7aWYoIShkPDwyND4+MjQpKWQ9aFthKzcyKyhoW2MrMT4+MF18MCk+PjBd
fDA7ZWxzZSBkPUJZKGQsYltjKzE+PjBdfDApfDA7ZG8gc3dpdGNoKGR8MCl7Y2FzZSAyOntkPW9a
KGEsYysyfDAsZyxlKXwwO2JyZWFrIGF9Y2FzZSAzOntkPWtaKGEsYysyfDAsZyxlKXwwO2JyZWFr
IGF9Y2FzZSA5OntpPWMrMnwwO2lmKChnLWl8MCk8PTEpe2Q9LTM7YnJlYWsgYX1kPWJbaT4+MF18
MDtpZighKGQ8PDI0Pj4yNCkpZD1oW2ErNzIrKGhbYyszPj4wXXwwKT4+MF18MDtlbHNlIGQ9Qlko
ZCxiW2MrMz4+MF18MCl8MDtmW2U+PjJdPShkfDApPT0xMD9jKzR8MDppO2Q9NzticmVhayBhfWNh
c2UgMTA6e2ZbZT4+Ml09YysyO2Q9NzticmVhayBhfWNhc2UgNDp7ZD1jKzJ8MDtpPWc7aWYoKGkt
ZHwwKTw9MSl7ZD0tNTticmVhayBhfWlmKChiW2Q+PjBdfDApPT0wPyhiW2MrMz4+MF18MCk9PTkz
OjApe2c9Yys0fDA7aWYoKGktZ3wwKTw9MSl7ZD0tNTticmVhayBhfWlmKChiW2c+PjBdfDApPT0w
PyhiW2MrNT4+MF18MCk9PTYyOjApe2ZbZT4+Ml09ZztkPTA7YnJlYWsgYX19YnJlYWt9Y2FzZSA1
OntpZigoZy1pfDApPDIpe2Q9LTI7YnJlYWsgYX1kPWMrMnwwO2k9ZzticmVha31jYXNlIDY6e2lm
KChnLWl8MCk8Myl7ZD0tMjticmVhayBhfWQ9YyszfDA7aT1nO2JyZWFrfWNhc2UgNzp7aWYoKGct
aXwwKTw0KXtkPS0yO2JyZWFrIGF9ZD1jKzR8MDtpPWc7YnJlYWt9Y2FzZSA4OmNhc2UgMTpjYXNl
IDA6e2ZbZT4+Ml09YztkPTA7YnJlYWsgYX1kZWZhdWx0OntkPWMrMnwwO2k9Z319d2hpbGUoMCk7
aj1hKzcyfDA7Yjp3aGlsZSgxKXthPWktZHwwO2lmKChhfDApPD0xKXtnPTUzO2JyZWFrfWc9Yltk
Pj4wXXwwO2M9YltkKzE+PjBdfDA7aWYoIShnPDwyND4+MjQpKWc9aFtqKyhjJjI1NSk+PjBdfDA7
ZWxzZSBnPUJZKGcsYyl8MDtzd2l0Y2goZ3wwKXtjYXNlIDEwOmNhc2UgOTpjYXNlIDg6Y2FzZSAx
OmNhc2UgMDpjYXNlIDI6Y2FzZSAzOntnPTUxO2JyZWFrIGJ9Y2FzZSA1OntkPWQrMnwwO2JyZWFr
fWNhc2UgNjp7aWYoKGF8MCk8Myl7Zz0zODticmVhayBifWQ9ZCszfDA7YnJlYWt9Y2FzZSA3Ontp
ZigoYXwwKTw0KXtnPTQxO2JyZWFrIGJ9ZD1kKzR8MDticmVha31jYXNlIDQ6e2lmKChhfDApPD0z
KXtnPTUxO2JyZWFrIGJ9Zz1kKzJ8MDtpZigoYltnPj4wXXwwKT09MD8oYltkKzM+PjBdfDApPT05
MzowKXtpZigoYXwwKTw9NSl7Zz01MTticmVhayBifWlmKChiW2QrND4+MF18MCk9PTA/KGJbZCs1
Pj4wXXwwKT09NjI6MCl7Zz01MDticmVhayBifWVsc2UgZD1nfWVsc2UgZD1nO2JyZWFrfWRlZmF1
bHQ6ZD1kKzJ8MH19aWYoKGd8MCk9PTM4KXtmW2U+PjJdPWQ7ZD02O2JyZWFrfWVsc2UgaWYoKGd8
MCk9PTQxKXtmW2U+PjJdPWQ7ZD02O2JyZWFrfWVsc2UgaWYoKGd8MCk9PTUwKXtmW2U+PjJdPWQr
NDtkPTA7YnJlYWt9ZWxzZSBpZigoZ3wwKT09NTEpe2ZbZT4+Ml09ZDtkPTY7YnJlYWt9ZWxzZSBp
ZigoZ3wwKT09NTMpe2ZbZT4+Ml09ZDtkPTY7YnJlYWt9fWVsc2UgZD0tMX1lbHNlIGQ9LTQ7d2hp
bGUoMCk7cmV0dXJuIGR8MH1mdW5jdGlvbiBZWShhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtl
PWV8MDt2YXIgZz0wLGk9MCxqPTAsaz0wO2E6ZG8gaWYoYz4+PjA8ZD4+PjApe2c9YztpPWQtZ3ww
O2s9KGkmMXwwKT09MDtpPWkmLTI7aj0oaXwwKT09MDtpPWt8aj9kOmMraXwwO2lmKGt8al4xKXtk
PWJbYz4+MF18MDtpZighKGQ8PDI0Pj4yNCkpZD1oW2ErNzIrKGhbYysxPj4wXXwwKT4+MF18MDtl
bHNlIGQ9QlkoZCxiW2MrMT4+MF18MCl8MDtzd2l0Y2goZHwwKXtjYXNlIDQ6e2c9YysyfDA7aWYo
KGktZ3wwKTw9MSl7ZD0tMTticmVhayBhfWlmKChiW2c+PjBdfDApPT0wPyhiW2MrMz4+MF18MCk9
PTkzOjApe2Q9Yys0fDA7aWYoKGktZHwwKTw9MSl7ZD0tMTticmVhayBhfWlmKChiW2Q+PjBdfDAp
PT0wPyhiW2MrNT4+MF18MCk9PTYyOjApe2ZbZT4+Ml09Yys2O2Q9NDA7YnJlYWsgYX19YnJlYWt9
Y2FzZSA5OntnPWMrMnwwO2lmKChpLWd8MCk8PTEpe2Q9LTE7YnJlYWsgYX1kPWJbZz4+MF18MDtp
ZighKGQ8PDI0Pj4yNCkpZD1oW2ErNzIrKGhbYyszPj4wXXwwKT4+MF18MDtlbHNlIGQ9QlkoZCxi
W2MrMz4+MF18MCl8MDtmW2U+PjJdPShkfDApPT0xMD9jKzR8MDpnO2Q9NzticmVhayBhfWNhc2Ug
MTA6e2ZbZT4+Ml09YysyO2Q9NzticmVhayBhfWNhc2UgNTp7ZD1pO2lmKChkLWd8MCk8Mil7ZD0t
MjticmVhayBhfWc9YysyfDA7aT1kO2JyZWFrfWNhc2UgNjp7ZD1pO2lmKChkLWd8MCk8Myl7ZD0t
MjticmVhayBhfWc9YyszfDA7aT1kO2JyZWFrfWNhc2UgNzp7ZD1pO2lmKChkLWd8MCk8NCl7ZD0t
MjticmVhayBhfWc9Yys0fDA7aT1kO2JyZWFrfWNhc2UgODpjYXNlIDE6Y2FzZSAwOntmW2U+PjJd
PWM7ZD0wO2JyZWFrIGF9ZGVmYXVsdDpnPWMrMnwwfWo9YSs3MnwwO2E9ZztiOndoaWxlKDEpe2M9
aS1hfDA7aWYoKGN8MCk8PTEpe2c9NDA7YnJlYWt9ZD1iW2E+PjBdfDA7Zz1iW2ErMT4+MF18MDtp
ZighKGQ8PDI0Pj4yNCkpZD1oW2orKGcmMjU1KT4+MF18MDtlbHNlIGQ9QlkoZCxnKXwwO3N3aXRj
aChkfDApe2Nhc2UgMTA6Y2FzZSA5OmNhc2UgODpjYXNlIDE6Y2FzZSAwOmNhc2UgNDp7Zz0zODti
cmVhayBifWNhc2UgNjp7aWYoKGN8MCk8Myl7Zz0zNTticmVhayBifWVsc2UgZD0zO2JyZWFrfWNh
c2UgNzp7aWYoKGN8MCk8NCl7Zz0zNzticmVhayBifWVsc2UgZD00O2JyZWFrfWRlZmF1bHQ6ZD0y
fWE9YStkfDB9aWYoKGd8MCk9PTM1KXtmW2U+PjJdPWE7ZD02O2JyZWFrfWVsc2UgaWYoKGd8MCk9
PTM3KXtmW2U+PjJdPWE7ZD02O2JyZWFrfWVsc2UgaWYoKGd8MCk9PTM4KXtmW2U+PjJdPWE7ZD02
O2JyZWFrfWVsc2UgaWYoKGd8MCk9PTQwKXtmW2U+PjJdPWE7ZD02O2JyZWFrfX1lbHNlIGQ9LTF9
ZWxzZSBkPS00O3doaWxlKDApO3JldHVybiBkfDB9ZnVuY3Rpb24gWlkoYSxjLGQsZSl7YT1hfDA7
Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxpPTAsaj0wLGs9MCxsPTA7az1kLWN8MDtrPShrJjF8
MCk9PTA/ZDpjKyhrJi0yKXwwO2o9YSs3MnwwO2k9MDtkPWM7YTp3aGlsZSgxKXtnPWstZHwwO2lm
KChnfDApPD0xKXtkPS0xO2JyZWFrfWE9YltkPj4wXXwwO2M9YltkKzE+PjBdfDA7aWYoIShhPDwy
ND4+MjQpKWE9aFtqKyhjJjI1NSk+PjBdfDA7ZWxzZSBhPUJZKGEsYyl8MDtzd2l0Y2goYXwwKXtj
YXNlIDg6Y2FzZSAxOmNhc2UgMDp7bD0xMjticmVhayBhfWNhc2UgNTp7Yz1pO2Q9ZCsyfDA7YnJl
YWt9Y2FzZSA2OntpZigoZ3wwKTwzKXtkPS0yO2JyZWFrIGF9Yz1pO2Q9ZCszfDA7YnJlYWt9Y2Fz
ZSA3OntpZigoZ3wwKTw0KXtkPS0yO2JyZWFrIGF9Yz1pO2Q9ZCs0fDA7YnJlYWt9Y2FzZSAyOnth
PWQrMnwwO2lmKChrLWF8MCk8PTEpe2Q9LTE7YnJlYWsgYX1pZigoYlthPj4wXXwwKT09MD8oYltk
KzM+PjBdfDApPT0zMzowKXthPWQrNHwwO2lmKChrLWF8MCk8PTEpe2Q9LTE7YnJlYWsgYX1pZigh
KGJbYT4+MF18MCkpe2c9KGJbZCs1Pj4wXXwwKT09OTE7Yz1pKyhnJjEpfDA7ZD1nP2QrNnwwOmF9
ZWxzZXtjPWk7ZD1hfX1lbHNle2M9aTtkPWF9YnJlYWt9Y2FzZSA0OnthPWQrMnwwO2lmKChrLWF8
MCk8PTEpe2Q9LTE7YnJlYWsgYX1pZigoYlthPj4wXXwwKT09MD8oYltkKzM+PjBdfDApPT05Mzow
KXthPWQrNHwwO2lmKChrLWF8MCk8PTEpe2Q9LTE7YnJlYWsgYX1pZigoYlthPj4wXXwwKT09MD8o
YltkKzU+PjBdfDApPT02MjowKXtkPWQrNnwwO2lmKCFpKXtsPTI3O2JyZWFrIGF9Yz1pKy0xfDB9
ZWxzZXtjPWk7ZD1hfX1lbHNle2M9aTtkPWF9YnJlYWt9ZGVmYXVsdDp7Yz1pO2Q9ZCsyfDB9fWk9
Y31pZigobHwwKT09MTIpe2ZbZT4+Ml09ZDtkPTB9ZWxzZSBpZigobHwwKT09Mjcpe2ZbZT4+Ml09
ZDtkPTQyfXJldHVybiBkfDB9ZnVuY3Rpb24gX1koYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7
ZT1lfDA7dmFyIGc9MCxpPTAsaj0wLGs9MCxsPTA7ZG8gaWYoYz4+PjA8ZD4+PjApe2s9ZDtpZigo
ay1jfDApPjEpe2w9YSs3MnwwO2o9YzthOndoaWxlKDEpe2lmKChrLWp8MCk8PTEpe2k9Mjk7YnJl
YWt9Zz1iW2o+PjBdfDA7aT1iW2orMT4+MF18MDtpZighKGc8PDI0Pj4yNCkpZz1oW2wrKGkmMjU1
KT4+MF18MDtlbHNlIGc9QlkoZyxpKXwwO3N3aXRjaChnfDApe2Nhc2UgMjE6e2k9MjU7YnJlYWsg
YX1jYXNlIDM6e2k9MTE7YnJlYWsgYX1jYXNlIDI6e2k9MTQ7YnJlYWsgYX1jYXNlIDEwOntpPTE1
O2JyZWFrIGF9Y2FzZSA5OntpPTE4O2JyZWFrIGF9Y2FzZSA2OntnPTM7YnJlYWt9Y2FzZSA3Ontn
PTQ7YnJlYWt9ZGVmYXVsdDpnPTJ9aj1qK2d8MH1pZigoaXwwKT09MTEpaWYoKGp8MCk9PShjfDAp
KXtnPWtaKGEsYysyfDAsZCxlKXwwO2JyZWFrfWVsc2V7ZltlPj4yXT1qO2c9NjticmVha31lbHNl
IGlmKChpfDApPT0xNCl7ZltlPj4yXT1qO2c9MDticmVha31lbHNlIGlmKChpfDApPT0xNSlpZigo
anwwKT09KGN8MCkpe2ZbZT4+Ml09YysyO2c9NzticmVha31lbHNle2ZbZT4+Ml09ajtnPTY7YnJl
YWt9ZWxzZSBpZigoaXwwKT09MTgpe2lmKChqfDApIT0oY3wwKSl7ZltlPj4yXT1qO2c9NjticmVh
a31qPWMrMnwwO2lmKChrLWp8MCk8PTEpe2c9LTM7YnJlYWt9Zz1iW2o+PjBdfDA7aT1iW2MrMz4+
MF18MDtpZighKGc8PDI0Pj4yNCkpZz1oW2wrKGkmMjU1KT4+MF18MDtlbHNlIGc9QlkoZyxpKXww
O2ZbZT4+Ml09KGd8MCk9PTEwP2MrNHwwOmo7Zz03O2JyZWFrfWVsc2UgaWYoKGl8MCk9PTI1KWlm
KChqfDApPT0oY3wwKSl7ZltlPj4yXT1jKzI7Zz0zOTticmVha31lbHNle2ZbZT4+Ml09ajtnPTY7
YnJlYWt9ZWxzZSBpZigoaXwwKT09Mjkpe2ZbZT4+Ml09ajtnPTY7YnJlYWt9fWVsc2UgZz0tMX1l
bHNlIGc9LTQ7d2hpbGUoMCk7cmV0dXJuIGd8MH1mdW5jdGlvbiAkWShhLGMsZCxlKXthPWF8MDtj
PWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGk9MCxqPTAsaz0wLGw9MDtkbyBpZihjPj4+MDxkPj4+
MCl7az1kO2lmKChrLWN8MCk+MSl7bD1hKzcyfDA7aj1jO2E6d2hpbGUoMSl7aWYoKGstanwwKTw9
MSl7aT0yODticmVha31nPWJbaj4+MF18MDtpPWJbaisxPj4wXXwwO2lmKCEoZzw8MjQ+PjI0KSln
PWhbbCsoaSYyNTUpPj4wXXwwO2Vsc2UgZz1CWShnLGkpfDA7c3dpdGNoKGd8MCl7Y2FzZSA5Ontp
PTIwO2JyZWFrIGF9Y2FzZSAzOntpPTExO2JyZWFrIGF9Y2FzZSAzMDp7aT0xNDticmVhayBhfWNh
c2UgMTA6e2k9MTc7YnJlYWsgYX1jYXNlIDY6e2c9MzticmVha31jYXNlIDc6e2c9NDticmVha31k
ZWZhdWx0Omc9Mn1qPWorZ3wwfWlmKChpfDApPT0xMSlpZigoanwwKT09KGN8MCkpe2c9a1ooYSxj
KzJ8MCxkLGUpfDA7YnJlYWt9ZWxzZXtmW2U+PjJdPWo7Zz02O2JyZWFrfWVsc2UgaWYoKGl8MCk9
PTE0KWlmKChqfDApPT0oY3wwKSl7Zz1sWihhLGMrMnwwLGQsZSl8MDtnPShnfDApPT0yMj8wOmc7
YnJlYWt9ZWxzZXtmW2U+PjJdPWo7Zz02O2JyZWFrfWVsc2UgaWYoKGl8MCk9PTE3KWlmKChqfDAp
PT0oY3wwKSl7ZltlPj4yXT1jKzI7Zz03O2JyZWFrfWVsc2V7ZltlPj4yXT1qO2c9NjticmVha31l
bHNlIGlmKChpfDApPT0yMCl7aWYoKGp8MCkhPShjfDApKXtmW2U+PjJdPWo7Zz02O2JyZWFrfWo9
YysyfDA7aWYoKGstanwwKTw9MSl7Zz0tMzticmVha31nPWJbaj4+MF18MDtpPWJbYyszPj4wXXww
O2lmKCEoZzw8MjQ+PjI0KSlnPWhbbCsoaSYyNTUpPj4wXXwwO2Vsc2UgZz1CWShnLGkpfDA7Zltl
Pj4yXT0oZ3wwKT09MTA/Yys0fDA6ajtnPTc7YnJlYWt9ZWxzZSBpZigoaXwwKT09Mjgpe2ZbZT4+
Ml09ajtnPTY7YnJlYWt9fWVsc2UgZz0tMX1lbHNlIGc9LTQ7d2hpbGUoMCk7cmV0dXJuIGd8MH1m
dW5jdGlvbiBhWihhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MDtm
PWQ7YT1jO3doaWxlKDEpe2M9YltlPj4wXXwwO2lmKCEoYzw8MjQ+PjI0KSl7Zz03O2JyZWFrfWlm
KChmLWF8MCk8Mil7YT0wO2JyZWFrfWlmKGJbYT4+MF18MCl7YT0wO2JyZWFrfWlmKChiW2ErMT4+
MF18MCkhPWM8PDI0Pj4yNCl7YT0wO2JyZWFrfWU9ZSsxfDA7YT1hKzJ8MH1pZigoZ3wwKT09Nylh
PShhfDApPT0oZHwwKSYxO3JldHVybiBhfDB9ZnVuY3Rpb24gYlooYSxjKXthPWF8MDtjPWN8MDt2
YXIgZD0wLGU9MCxmPTA7Zj1hKzcyfDA7ZT1jO2E6d2hpbGUoMSl7YT1iW2U+PjBdfDA7ZD1iW2Ur
MT4+MF18MDtpZighKGE8PDI0Pj4yNCkpYT1oW2YrKGQmMjU1KT4+MF18MDtlbHNlIGE9QlkoYSxk
KXwwO3N3aXRjaChhfDApe2Nhc2UgMjc6Y2FzZSAyNjpjYXNlIDI1OmNhc2UgMjQ6Y2FzZSAyMzpj
YXNlIDIyOmNhc2UgMjk6Y2FzZSA1OnthPTI7YnJlYWt9Y2FzZSA2OnthPTM7YnJlYWt9Y2FzZSA3
OnthPTQ7YnJlYWt9ZGVmYXVsdDpicmVhayBhfWU9ZSthfDB9cmV0dXJuIGUtY3wwfWZ1bmN0aW9u
IGNaKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZT1hKzcyfDA7YTp3aGlsZSgxKXthPWJb
Yz4+MF18MDtkPWJbYysxPj4wXXwwO2lmKCEoYTw8MjQ+PjI0KSlhPWhbZSsoZCYyNTUpPj4wXXww
O2Vsc2UgYT1CWShhLGQpfDA7c3dpdGNoKGF8MCl7Y2FzZSAyMTpjYXNlIDk6Y2FzZSAxMDpicmVh
aztkZWZhdWx0OmJyZWFrIGF9Yz1jKzJ8MH1yZXR1cm4gY3wwfWZ1bmN0aW9uIGRaKGEsYyxkLGUp
e2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAs
bz0wLHA9MDtvPWErNzJ8MDtuPTA7aT0wO2E9MTthOndoaWxlKDEpe209YysyfDA7Zz1iW20+PjBd
fDA7aj1nPDwyND4+MjQ9PTA7bD1jKzN8MDtrPWJbbD4+MF18MDtpZihqKWc9aFtvKyhrJjI1NSk+
PjBdfDA7ZWxzZSBnPUJZKGcsayl8MDtiOmRvIHN3aXRjaChnfDApe2Nhc2UgNTp7aWYoIWEpaWYo
KGl8MCk8KGR8MCkpe2ZbZSsoaTw8NCk+PjJdPW07YltlKyhpPDw0KSsxMj4+MF09MTtnPW47YT0x
O2M9bX1lbHNle2c9bjthPTE7Yz1tfWVsc2V7Zz1uO2M9bX1icmVha31jYXNlIDY6e2lmKCFhKWlm
KChpfDApPChkfDApKXtmW2UrKGk8PDQpPj4yXT1tO2JbZSsoaTw8NCkrMTI+PjBdPTE7Zz1uO2E9
MTtjPWx9ZWxzZXtnPW47YT0xO2M9bH1lbHNle2c9bjtjPWx9YnJlYWt9Y2FzZSA3OntpZighYSlp
ZigoaXwwKTwoZHwwKSl7ZltlKyhpPDw0KT4+Ml09bTtiW2UrKGk8PDQpKzEyPj4wXT0xO2E9MX1l
bHNlIGE9MTtnPW47Yz1jKzR8MDticmVha31jYXNlIDI0OmNhc2UgMjI6Y2FzZSAyOTp7aWYoIWEp
aWYoKGl8MCk8KGR8MCkpe2ZbZSsoaTw8NCk+PjJdPW07YltlKyhpPDw0KSsxMj4+MF09MTtnPW47
YT0xO2M9bX1lbHNle2c9bjthPTE7Yz1tfWVsc2V7Zz1uO2M9bX1icmVha31jYXNlIDEyOntpZigo
YXwwKSE9Mil7aWYoKGl8MCk+PShkfDApKXtnPTEyO2E9MjtjPW07YnJlYWsgYn1mW2UrKGk8PDQp
KzQ+PjJdPWMrNDtnPTEyO2E9MjtjPW07YnJlYWsgYn1pZigobnwwKT09MTIpe2lmKChpfDApPChk
fDApKWZbZSsoaTw8NCkrOD4+Ml09bTtnPTEyO2k9aSsxfDA7YT0wO2M9bX1lbHNle2c9bjthPTI7
Yz1tfWJyZWFrfWNhc2UgMTM6e2lmKChhfDApIT0yKXtpZigoaXwwKT49KGR8MCkpe2c9MTM7YT0y
O2M9bTticmVhayBifWZbZSsoaTw8NCkrND4+Ml09Yys0O2c9MTM7YT0yO2M9bTticmVhayBifWlm
KChufDApPT0xMyl7aWYoKGl8MCk8KGR8MCkpZltlKyhpPDw0KSs4Pj4yXT1tO2c9MTM7aT1pKzF8
MDthPTA7Yz1tfWVsc2V7Zz1uO2E9MjtjPW19YnJlYWt9Y2FzZSAzOntpZigoaXwwKTwoZHwwKSl7
YltlKyhpPDw0KSsxMj4+MF09MDtnPW47Yz1tfWVsc2V7Zz1uO2M9bX1icmVha31jYXNlIDIxOntz
d2l0Y2goYXwwKXtjYXNlIDE6e2c9bjthPTA7Yz1tO2JyZWFrIGJ9Y2FzZSAyOmJyZWFrO2RlZmF1
bHQ6e2c9bjtjPW07YnJlYWsgYn19aWYoKGl8MCk8KGR8MCk/KHA9ZSsoaTw8NCkrMTJ8MCwoYltw
Pj4wXXwwKSE9MCk6MCl7ZG8gaWYoaiYobXwwKSE9KGZbZSsoaTw8NCkrND4+Ml18MCkmazw8MjQ+
PjI0PT0zMil7Zz1iW2MrND4+MF18MDthPWJbYys1Pj4wXXwwO2lmKCEoZzw8MjQ+PjI0KSl7aWYo
YTw8MjQ+PjI0PT0zMilicmVhazthPWhbbysoYSYyNTUpPj4wXXwwfWVsc2UgYT1CWShnLGEpfDA7
aWYoKGF8MCkhPShufDApKXtnPW47YT0yO2M9bTticmVhayBifX13aGlsZSgwKTtiW3A+PjBdPTA7
Zz1uO2E9MjtjPW19ZWxzZXtnPW47YT0yO2M9bX1icmVha31jYXNlIDEwOmNhc2UgOTp7c3dpdGNo
KGF8MCl7Y2FzZSAxOntnPW47YT0wO2M9bTticmVhayBifWNhc2UgMjpicmVhaztkZWZhdWx0Ontn
PW47Yz1tO2JyZWFrIGJ9fWlmKChpfDApPChkfDApKXtiW2UrKGk8PDQpKzEyPj4wXT0wO2c9bjth
PTI7Yz1tfWVsc2V7Zz1uO2E9MjtjPW19YnJlYWt9Y2FzZSAxNzpjYXNlIDExOntpZigoYXwwKT09
Mil7Zz1uO2E9MjtjPW19ZWxzZSBicmVhayBhO2JyZWFrfWRlZmF1bHQ6e2c9bjtjPW19fXdoaWxl
KDApO249Z31yZXR1cm4gaXwwfWZ1bmN0aW9uIGVaKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxl
PTA7YT1jKzR8MDtkPWJbYT4+MF18MDthOmRvIGlmKGQ8PDI0Pj4yND09MD8oYltjKzU+PjBdfDAp
PT0xMjA6MCl7Yz1jKzZ8MDthPTA7d2hpbGUoMSl7YjpkbyBpZighKGJbYz4+MF18MCkpe2Q9Yltj
KzE+PjBdfDA7aWYoZDw8MjQ+PjI0PT01OSl7ZT0xNzticmVhayBhfWQ9ZDw8MjQ+PjI0O3N3aXRj
aChkfDApe2Nhc2UgNTc6Y2FzZSA1NjpjYXNlIDU1OmNhc2UgNTQ6Y2FzZSA1MzpjYXNlIDUyOmNh
c2UgNTE6Y2FzZSA1MDpjYXNlIDQ5OmNhc2UgNDg6e2E9ZCstNDh8YTw8NDticmVhayBifWNhc2Ug
NzA6Y2FzZSA2OTpjYXNlIDY4OmNhc2UgNjc6Y2FzZSA2NjpjYXNlIDY1OnthPShhPDw0KSstNTUr
ZHwwO2JyZWFrIGJ9Y2FzZSAxMDI6Y2FzZSAxMDE6Y2FzZSAxMDA6Y2FzZSA5OTpjYXNlIDk4OmNh
c2UgOTc6e2E9KGE8PDQpKy04NytkfDA7YnJlYWsgYn1kZWZhdWx0OmJyZWFrIGJ9fXdoaWxlKDAp
O2lmKChhfDApPDExMTQxMTIpYz1jKzJ8MDtlbHNle2E9LTE7YnJlYWt9fX1lbHNlIGU9Mjt3aGls
ZSgwKTtjOmRvIGlmKChlfDApPT0yKXtjPWE7YT0wO3doaWxlKDEpe2lmKCEoZDw8MjQ+PjI0KSl7
ZD1iW2MrMT4+MF18MDtpZihkPDwyND4+MjQ9PTU5KXtlPTE3O2JyZWFrIGN9ZD1kPDwyND4+MjR9
ZWxzZSBkPS0xO2E9KGEqMTB8MCkrLTQ4K2R8MDtkPWMrMnwwO2lmKChhfDApPj0xMTE0MTEyKXth
PS0xO2JyZWFrIGN9Yz1kO2Q9YltkPj4wXXwwfX13aGlsZSgwKTtpZigoZXwwKT09MTcpYT1zWChh
KXwwO3JldHVybiBhfDB9ZnVuY3Rpb24gZlooYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBl
PTA7YTpkbyBzd2l0Y2goKGQtY3wwKS8yfDB8MCl7Y2FzZSAyOntpZigoYltjKzI+PjBdfDApPT0w
PyhiW2MrMz4+MF18MCk9PTExNjowKWlmKCEoYltjPj4wXXwwKSl7YT1iW2MrMT4+MF18MDthPWE8
PDI0Pj4yND09MTAzPzYyOmE8PDI0Pj4yND09MTA4PzYwOjB9ZWxzZSBhPTA7ZWxzZSBlPTI2O2Jy
ZWFrfWNhc2UgMzp7aWYoKCgoKChiW2M+PjBdfDApPT0wPyhiW2MrMT4+MF18MCk9PTk3OjApPyhi
W2MrMj4+MF18MCk9PTA6MCk/KGJbYyszPj4wXXwwKT09MTA5OjApPyhiW2MrND4+MF18MCk9PTA6
MCk/KGJbYys1Pj4wXXwwKT09MTEyOjApYT0zODtlbHNlIGU9MjY7YnJlYWt9Y2FzZSA0OntpZigh
KGJbYz4+MF18MCkpc3dpdGNoKGJbYysxPj4wXXwwKXtjYXNlIDExMzp7aWYoYltjKzI+PjBdfDAp
e2U9MjY7YnJlYWsgYX1pZigoYltjKzM+PjBdfDApIT0xMTcpe2U9MjY7YnJlYWsgYX1pZihiW2Mr
ND4+MF18MCl7ZT0yNjticmVhayBhfWlmKChiW2MrNT4+MF18MCkhPTExMSl7ZT0yNjticmVhayBh
fWlmKGJbYys2Pj4wXXwwKXtlPTI2O2JyZWFrIGF9aWYoKGJbYys3Pj4wXXwwKT09MTE2KXthPTM0
O2JyZWFrIGF9ZWxzZXtlPTI2O2JyZWFrIGF9fWNhc2UgOTc6e2lmKGJbYysyPj4wXXwwKXtlPTI2
O2JyZWFrIGF9aWYoKGJbYyszPj4wXXwwKSE9MTEyKXtlPTI2O2JyZWFrIGF9aWYoYltjKzQ+PjBd
fDApe2U9MjY7YnJlYWsgYX1pZigoYltjKzU+PjBdfDApIT0xMTEpe2U9MjY7YnJlYWsgYX1pZihi
W2MrNj4+MF18MCl7ZT0yNjticmVhayBhfWlmKChiW2MrNz4+MF18MCk9PTExNSl7YT0zOTticmVh
ayBhfWVsc2V7ZT0yNjticmVhayBhfX1kZWZhdWx0OntlPTI2O2JyZWFrIGF9fWVsc2UgZT0yNjti
cmVha31kZWZhdWx0OmU9MjZ9d2hpbGUoMCk7aWYoKGV8MCk9PTI2KWE9MDtyZXR1cm4gYXwwfWZ1
bmN0aW9uIGdaKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaT0wLGo9
MCxrPTA7aj1hKzcyfDA7az1lKzR8MDt3aGlsZSgxKXtpZigoZC1jfDApPD0xKWJyZWFrO2E9Yltj
Pj4wXXwwO2c9YltjKzE+PjBdfDA7aWYoIShhPDwyND4+MjQpKWE9aFtqKyhnJjI1NSk+PjBdfDA7
ZWxzZSBhPUJZKGEsZyl8MDtzd2l0Y2goYXwwKXtjYXNlIDU6e2M9YysyfDA7YnJlYWt9Y2FzZSA2
OntjPWMrM3wwO2JyZWFrfWNhc2UgNzp7Yz1jKzR8MDticmVha31jYXNlIDEwOntmW2s+PjJdPS0x
O2ZbZT4+Ml09KGZbZT4+Ml18MCkrMTtjPWMrMnwwO2JyZWFrfWNhc2UgOTp7ZltlPj4yXT0oZltl
Pj4yXXwwKSsxO2k9YysyfDA7aWYoKGQtaXwwKT4xKXthPWJbaT4+MF18MDtnPWJbYyszPj4wXXww
O2lmKCEoYTw8MjQ+PjI0KSlhPWhbaisoZyYyNTUpPj4wXXwwO2Vsc2UgYT1CWShhLGcpfDA7Yz0o
YXwwKT09MTA/Yys0fDA6aX1lbHNlIGM9aTtmW2s+PjJdPS0xO2JyZWFrfWRlZmF1bHQ6Yz1jKzJ8
MH1mW2s+PjJdPShmW2s+PjJdfDApKzF9cmV0dXJufWZ1bmN0aW9uIGhaKGEsYyxkLGUpe2E9YXww
O2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaT0wLGo9MCxrPTAsbD0wO2s9ZCstMnwwO2o9YSs3
MnwwO2E6d2hpbGUoMSl7Zz1jKzJ8MDtpZigoay1nfDApPD0xKXtkPTE7YnJlYWt9ZD1iW2c+PjBd
fDA7aT1kPDwyND4+MjQ9PTA7YT1iW2MrMz4+MF18MDtpZihpKWQ9aFtqKyhhJjI1NSk+PjBdfDA7
ZWxzZSBkPUJZKGQsYSl8MDtzd2l0Y2goZHwwKXtjYXNlIDIzOmNhc2UgMTk6Y2FzZSAzMDpjYXNl
IDMzOmNhc2UgMTY6Y2FzZSAxODpjYXNlIDEwOmNhc2UgOTpjYXNlIDE1OmNhc2UgMTQ6Y2FzZSAx
NzpjYXNlIDM1OmNhc2UgMzQ6Y2FzZSAzMjpjYXNlIDMxOmNhc2UgMTM6Y2FzZSAyNzpjYXNlIDI0
OmNhc2UgMjU6YnJlYWs7Y2FzZSAyMTp7aWYoaSZhPDwyND4+MjQ9PTkpe2w9MTM7YnJlYWsgYX1i
cmVha31jYXNlIDIyOmNhc2UgMjY6e2lmKCFpKXtsPTEzO2JyZWFrIGF9aWYoYTw8MjQ+PjI0PDAp
bD0xMjticmVha31kZWZhdWx0OmlmKGkpbD0xMjtlbHNle2w9MTM7YnJlYWsgYX19aWYoKGx8MCk9
PTEyKXtsPTA7c3dpdGNoKGE8PDI0Pj4yNHwwKXtjYXNlIDY0OmNhc2UgMzY6YnJlYWs7ZGVmYXVs
dDp7bD0xMzticmVhayBhfX19Yz1nfWlmKChsfDApPT0xMyl7ZltlPj4yXT1nO2Q9MH1yZXR1cm4g
ZHwwfWZ1bmN0aW9uIGlaKGEsYyxkLGUsZyl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7
dmFyIGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MDtqPWZbYz4+Ml18MDtrPWorKGQtaiYtMil8
MDtsPWc7bT1rO2E6d2hpbGUoMSl7aWYoaj4+PjA+PWs+Pj4wKXthPTA7YnJlYWt9aT1iW2orMT4+
MF18MDthPWJbaj4+MF18MDtkPWEmMjU1O3N3aXRjaChhPDwyND4+MjQpe2Nhc2UgMDp7aWYoaTw8
MjQ+PjI0Pi0xKXthPWZbZT4+Ml18MDtpZigoYXwwKT09KGd8MCkpe2E9MjticmVhayBhfWZbZT4+
Ml09YSsxO2JbYT4+MF09aTthPWp9ZWxzZSBuPTc7YnJlYWt9Y2FzZSA3OmNhc2UgNjpjYXNlIDU6
Y2FzZSA0OmNhc2UgMzpjYXNlIDI6Y2FzZSAxOntuPTc7YnJlYWt9Y2FzZSAtMzc6Y2FzZSAtMzg6
Y2FzZSAtMzk6Y2FzZSAtNDA6e2E9ZltlPj4yXXwwO2lmKChsLWF8MCk8NCl7YT0yO2JyZWFrIGF9
aWYoKG0tanwwKTw0KXthPTE7YnJlYWsgYX1vPWkmMjU1O2k9KGQ8PDImMTJ8bz4+PjYpKzF8MDtm
W2U+PjJdPWErMTtiW2E+PjBdPWk+Pj4yfDI0MDthPWZbZT4+Ml18MDtmW2U+PjJdPWErMTtiW2E+
PjBdPW8+Pj4yJjE1fGk8PDQmNDh8MTI4O2E9aisyfDA7aT1oW2orMz4+MF18MDtkPShvPDw0JjQ4
fGk+Pj42fGJbYT4+MF08PDImMTJ8MTI4KSYyNTU7aj1mW2U+PjJdfDA7ZltlPj4yXT1qKzE7Yltq
Pj4wXT1kO2o9ZltlPj4yXXwwO2ZbZT4+Ml09aisxO2Jbaj4+MF09aSY2M3wxMjg7YnJlYWt9ZGVm
YXVsdDp7YT1mW2U+PjJdfDA7aWYoKGwtYXwwKTwzKXthPTI7YnJlYWsgYX1mW2U+PjJdPWErMTti
W2E+PjBdPWQ+Pj40fDIyNDtvPWkmMjU1O2E9ZltlPj4yXXwwO2ZbZT4+Ml09YSsxO2JbYT4+MF09
bz4+PjZ8ZDw8MiY2MHwxMjg7YT1mW2U+PjJdfDA7ZltlPj4yXT1hKzE7YlthPj4wXT1vJjYzfDEy
ODthPWp9fWlmKChufDApPT03KXtuPTA7YT1mW2U+PjJdfDA7aWYoKGwtYXwwKTwyKXthPTI7YnJl
YWt9bz1pJjI1NTtmW2U+PjJdPWErMTtiW2E+PjBdPW8+Pj42fGQ8PDJ8MTkyO2E9ZltlPj4yXXww
O2ZbZT4+Ml09YSsxO2JbYT4+MF09byY2M3wxMjg7YT1qfWo9YSsyfDB9ZltjPj4yXT1qO3JldHVy
biBhfDB9ZnVuY3Rpb24galooYSxjLGUsZyxpKXthPWF8MDtjPWN8MDtlPWV8MDtnPWd8MDtpPWl8
MDt2YXIgaj0wLGs9MCxsPTA7aj1mW2M+PjJdfDA7az1lLWomLTI7YT1qK2t8MDtpZigoa3wwKT4o
aS0oZltnPj4yXXwwKXwwKSl7ZT1hKy0yfDA7bD0oYltlPj4wXSYtOCk8PDI0Pj4yND09LTQwO2s9
bCYxO2E9bD9lOmF9ZWxzZSBrPTA7ZT1qO3doaWxlKDEpe2o9ZltnPj4yXXwwO2lmKGU+Pj4wPj1h
Pj4+MCl7YT0xO2JyZWFrfWlmKGo+Pj4wPj1pPj4+MCl7YT0wO2JyZWFrfWw9KChoW2U+PjBdfDAp
PDw4fChoW2UrMT4+MF18MCkpJjY1NTM1O2ZbZz4+Ml09aisyO2Rbaj4+MV09bDtsPShmW2M+PjJd
fDApKzJ8MDtmW2M+PjJdPWw7ZT1sfXJldHVybiAoKGp8MCkhPShpfDApfGE/azoyKXwwfWZ1bmN0
aW9uIGtaKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaT0wLGo9MCxr
PTAsbD0wO2w9ZDtqPWwtY3wwO2E6ZG8gaWYoKGp8MCk+MSl7az1iW2M+PjBdfDA7aWYoIShrPDwy
ND4+MjQpKXtpPWJbYysxPj4wXXwwO2c9aFthKzcyKyhpJjI1NSk+PjBdfDB9ZWxzZXtpPWJbYysx
Pj4wXXwwO2c9QlkoayxpKXwwfXN3aXRjaChnfDApe2Nhc2UgMjk6e2o9aSYyNTU7aWYoISgxPDwo
aiYzMSkmZls1MzkyMCsoKGo+Pj41fChoWzUzNjY0KyhrJjI1NSk+PjBdfDApPDwzKTw8Mik+PjJd
KSl7ZltlPj4yXT1jO2E9MDticmVhayBhfWJyZWFrfWNhc2UgMjQ6Y2FzZSAyMjpicmVhaztjYXNl
IDU6e2ZbZT4+Ml09YzthPTA7YnJlYWsgYX1jYXNlIDY6e2lmKChqfDApPDMpe2E9LTI7YnJlYWsg
YX1mW2U+PjJdPWM7YT0wO2JyZWFrIGF9Y2FzZSA3OntpZigoanwwKTw0KXthPS0yO2JyZWFrIGF9
ZltlPj4yXT1jO2E9MDticmVhayBhfWNhc2UgMTk6e2E9bVooYSxjKzJ8MCxkLGUpfDA7YnJlYWsg
YX1kZWZhdWx0OntmW2U+PjJdPWM7YT0wO2JyZWFrIGF9fWs9YSs3MnwwO2o9YztiOndoaWxlKDEp
e2k9aisyfDA7Yz1sLWl8MDtpZigoY3wwKTw9MSl7YT0tMTticmVhayBhfWE9YltpPj4wXXwwO2Q9
YltqKzM+PjBdfDA7aWYoIShhPDwyND4+MjQpKWc9aFtrKyhkJjI1NSk+PjBdfDA7ZWxzZSBnPUJZ
KGEsZCl8MDtzd2l0Y2goZ3wwKXtjYXNlIDU6e2Q9MjQ7YnJlYWsgYn1jYXNlIDY6e2Q9MjU7YnJl
YWsgYn1jYXNlIDc6e2Q9Mjc7YnJlYWsgYn1jYXNlIDE4OntkPTI5O2JyZWFrIGJ9Y2FzZSAyOTp7
Yz1kJjI1NTtpZighKDE8PChjJjMxKSZmWzUzOTIwKygoYz4+PjV8KGhbNTUyMDArKGEmMjU1KT4+
MF18MCk8PDMpPDwyKT4+Ml0pKXtkPTIzO2JyZWFrIGJ9YnJlYWt9Y2FzZSAyNzpjYXNlIDI2OmNh
c2UgMjU6Y2FzZSAyNDpjYXNlIDIyOmJyZWFrO2RlZmF1bHQ6e2Q9MzA7YnJlYWsgYn19aj1pfWlm
KChkfDApPT0yMyl7ZltlPj4yXT1pO2E9MDticmVha31lbHNlIGlmKChkfDApPT0yNCl7ZltlPj4y
XT1pO2E9MDticmVha31lbHNlIGlmKChkfDApPT0yNSl7aWYoKGN8MCk8Myl7YT0tMjticmVha31m
W2U+PjJdPWk7YT0wO2JyZWFrfWVsc2UgaWYoKGR8MCk9PTI3KXtpZigoY3wwKTw0KXthPS0yO2Jy
ZWFrfWZbZT4+Ml09aTthPTA7YnJlYWt9ZWxzZSBpZigoZHwwKT09Mjkpe2ZbZT4+Ml09ais0O2E9
OTticmVha31lbHNlIGlmKChkfDApPT0zMCl7ZltlPj4yXT1pO2E9MDticmVha319ZWxzZSBhPS0x
O3doaWxlKDApO3JldHVybiBhfDB9ZnVuY3Rpb24gbFooYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1k
fDA7ZT1lfDA7dmFyIGc9MCxpPTAsaj0wLGs9MCxsPTA7aj1kLWN8MDthOmRvIGlmKChqfDApPjEp
e2s9YltjPj4wXXwwO2lmKCEoazw8MjQ+PjI0KSl7aT1iW2MrMT4+MF18MDtnPWhbYSs3MisoaSYy
NTUpPj4wXXwwfWVsc2V7aT1iW2MrMT4+MF18MDtnPUJZKGssaSl8MH1zd2l0Y2goZ3wwKXtjYXNl
IDI5OntsPWkmMjU1O2lmKCEoMTw8KGwmMzEpJmZbNTM5MjArKChsPj4+NXwoaFs1MzY2NCsoayYy
NTUpPj4wXXwwKTw8Myk8PDIpPj4yXSkpe2ZbZT4+Ml09YztkPTA7YnJlYWsgYX1icmVha31jYXNl
IDI0OmNhc2UgMjI6YnJlYWs7Y2FzZSA1OntmW2U+PjJdPWM7ZD0wO2JyZWFrIGF9Y2FzZSA2Ontp
ZigoanwwKTwzKXtkPS0yO2JyZWFrIGF9ZltlPj4yXT1jO2Q9MDticmVhayBhfWNhc2UgNzp7aWYo
KGp8MCk8NCl7ZD0tMjticmVhayBhfWZbZT4+Ml09YztkPTA7YnJlYWsgYX1jYXNlIDMwOmNhc2Ug
OTpjYXNlIDEwOmNhc2UgMjE6e2ZbZT4+Ml09YztkPTIyO2JyZWFrIGF9ZGVmYXVsdDp7ZltlPj4y
XT1jO2Q9MDticmVhayBhfX1sPWErNzJ8MDthPWM7Yjp3aGlsZSgxKXtrPWErMnwwO2M9ZC1rfDA7
aWYoKGN8MCk8PTEpe2Q9LTE7YnJlYWsgYX1nPWJbaz4+MF18MDtpPWJbYSszPj4wXXwwO2lmKCEo
Zzw8MjQ+PjI0KSlqPWhbbCsoaSYyNTUpPj4wXXwwO2Vsc2Ugaj1CWShnLGkpfDA7c3dpdGNoKGp8
MCl7Y2FzZSA1OntnPTI0O2JyZWFrIGJ9Y2FzZSA2OntnPTI1O2JyZWFrIGJ9Y2FzZSA3OntnPTI3
O2JyZWFrIGJ9Y2FzZSAxODp7Zz0yOTticmVhayBifWNhc2UgMjk6e2M9aSYyNTU7aWYoISgxPDwo
YyYzMSkmZls1MzkyMCsoKGM+Pj41fChoWzU1MjAwKyhnJjI1NSk+PjBdfDApPDwzKTw8Mik+PjJd
KSl7Zz0yMzticmVhayBifWJyZWFrfWNhc2UgMjc6Y2FzZSAyNjpjYXNlIDI1OmNhc2UgMjQ6Y2Fz
ZSAyMjpicmVhaztkZWZhdWx0OntnPTMwO2JyZWFrIGJ9fWE9a31pZigoZ3wwKT09MjMpe2ZbZT4+
Ml09aztkPTA7YnJlYWt9ZWxzZSBpZigoZ3wwKT09MjQpe2ZbZT4+Ml09aztkPTA7YnJlYWt9ZWxz
ZSBpZigoZ3wwKT09MjUpe2lmKChjfDApPDMpe2Q9LTI7YnJlYWt9ZltlPj4yXT1rO2Q9MDticmVh
a31lbHNlIGlmKChnfDApPT0yNyl7aWYoKGN8MCk8NCl7ZD0tMjticmVha31mW2U+PjJdPWs7ZD0w
O2JyZWFrfWVsc2UgaWYoKGd8MCk9PTI5KXtmW2U+PjJdPWErNDtkPTI4O2JyZWFrfWVsc2UgaWYo
KGd8MCk9PTMwKXtmW2U+PjJdPWs7ZD0wO2JyZWFrfX1lbHNlIGQ9LTE7d2hpbGUoMCk7cmV0dXJu
IGR8MH1mdW5jdGlvbiBtWihhLGMsZCxlKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0w
LGk9MCxqPTAsaz0wO2s9ZDthOmRvIGlmKChrLWN8MCk+MSl7aT1iW2M+PjBdfDA7Zz1iW2MrMT4+
MF18MDtkbyBpZighKGk8PDI0Pj4yNCkpaWYoZzw8MjQ+PjI0PT0xMjApe2c9blooYSxjKzJ8MCxk
LGUpfDA7YnJlYWsgYX1lbHNle2c9aFthKzcyKyhnJjI1NSk+PjBdfDA7YnJlYWt9ZWxzZSBnPUJZ
KGksZyl8MDt3aGlsZSgwKTtpZigoZ3wwKSE9MjUpe2ZbZT4+Ml09YztnPTA7YnJlYWt9aj1hKzcy
fDA7YT1jO2I6d2hpbGUoMSl7aT1hKzJ8MDtpZigoay1pfDApPD0xKXtnPS0xO2JyZWFrIGF9Zz1i
W2k+PjBdfDA7ZD1iW2ErMz4+MF18MDtpZighKGc8PDI0Pj4yNCkpZz1oW2orKGQmMjU1KT4+MF18
MDtlbHNlIGc9QlkoZyxkKXwwO3N3aXRjaChnfDApe2Nhc2UgMjU6e2E9aTticmVha31jYXNlIDE4
OntkPTE1O2JyZWFrIGJ9ZGVmYXVsdDp7ZD0xNjticmVhayBifX19aWYoKGR8MCk9PTE1KXtmW2U+
PjJdPWErNDtnPTEwO2JyZWFrfWVsc2UgaWYoKGR8MCk9PTE2KXtmW2U+PjJdPWk7Zz0wO2JyZWFr
fX1lbHNlIGc9LTE7d2hpbGUoMCk7cmV0dXJuIGd8MH1mdW5jdGlvbiBuWihhLGMsZCxlKXthPWF8
MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGk9MCxqPTA7YTpkbyBpZigoZC1jfDApPjEpe2c9
YltjPj4wXXwwO2lmKCEoZzw8MjQ+PjI0KSlnPWhbYSs3MisoaFtjKzE+PjBdfDApPj4wXXwwO2Vs
c2UgZz1CWShnLGJbYysxPj4wXXwwKXwwO2lmKChnJi0yfDApIT0yNCl7ZltlPj4yXT1jO2Q9MDti
cmVha31qPWErNzJ8MDtiOndoaWxlKDEpe2k9YysyfDA7aWYoKGQtaXwwKTw9MSl7ZD0tMTticmVh
ayBhfWc9YltpPj4wXXwwO2E9YltjKzM+PjBdfDA7aWYoIShnPDwyND4+MjQpKWc9aFtqKyhhJjI1
NSk+PjBdfDA7ZWxzZSBnPUJZKGcsYSl8MDtzd2l0Y2goZ3wwKXtjYXNlIDE4OntnPTE0O2JyZWFr
IGJ9Y2FzZSAyNDpjYXNlIDI1OmJyZWFrO2RlZmF1bHQ6e2c9MTU7YnJlYWsgYn19Yz1pfWlmKChn
fDApPT0xNCl7ZltlPj4yXT1jKzQ7ZD0xMDticmVha31lbHNlIGlmKChnfDApPT0xNSl7ZltlPj4y
XT1pO2Q9MDticmVha319ZWxzZSBkPS0xO3doaWxlKDApO3JldHVybiBkfDB9ZnVuY3Rpb24gb1oo
YSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxpPTAsaj0wLGs9MCxsPTAs
bT0wLG49MCxvPTA7bz1kO2o9by1jfDA7YTpkbyBpZigoanwwKT4xKXtrPWJbYz4+MF18MDtpZigh
KGs8PDI0Pj4yNCkpe2k9YltjKzE+PjBdfDA7Zz1oW2ErNzIrKGkmMjU1KT4+MF18MH1lbHNle2k9
YltjKzE+PjBdfDA7Zz1CWShrLGkpfDB9c3dpdGNoKGd8MCl7Y2FzZSAyOTp7bT1pJjI1NTtpZigh
KDE8PChtJjMxKSZmWzUzOTIwKygobT4+PjV8aFs1MzY2NCsoayYyNTUpPj4wXTw8Myk8PDIpPj4y
XSkpe2ZbZT4+Ml09YztnPTA7YnJlYWsgYX1icmVha31jYXNlIDI0OmNhc2UgMjI6YnJlYWs7Y2Fz
ZSA1OntmW2U+PjJdPWM7Zz0wO2JyZWFrIGF9Y2FzZSA2OntpZigoanwwKTwzKXtnPS0yO2JyZWFr
IGF9ZltlPj4yXT1jO2c9MDticmVhayBhfWNhc2UgNzp7aWYoKGp8MCk8NCl7Zz0tMjticmVhayBh
fWZbZT4+Ml09YztnPTA7YnJlYWsgYX1jYXNlIDE2OntpPWMrMnwwO2lmKChvLWl8MCk8PTEpe2c9
LTE7YnJlYWsgYX1nPWJbaT4+MF18MDtpZighKGc8PDI0Pj4yNCkpZz1oW2ErNzIrKGhbYyszPj4w
XXwwKT4+MF18MDtlbHNlIGc9QlkoZyxiW2MrMz4+MF18MCl8MDtzd2l0Y2goZ3wwKXtjYXNlIDI3
OntnPXBaKGEsYys0fDAsZCxlKXwwO2JyZWFrIGF9Y2FzZSAyMDp7Zz1xWihjKzR8MCxkLGUpfDA7
YnJlYWsgYX1kZWZhdWx0OntmW2U+PjJdPWk7Zz0wO2JyZWFrIGF9fX1jYXNlIDE1OntnPXJaKGEs
YysyfDAsZCxlKXwwO2JyZWFrIGF9Y2FzZSAxNzp7Zz1zWihhLGMrMnwwLGQsZSl8MDticmVhayBh
fWRlZmF1bHQ6e2ZbZT4+Ml09YztnPTA7YnJlYWsgYX19bT1hKzcyfDA7aT0wO2c9YysyfDA7Yjp3
aGlsZSgxKXtqPW8tZ3wwO2lmKChqfDApPD0xKXtnPS0xO2JyZWFrIGF9az1iW2c+PjBdfDA7Yz1i
W2crMT4+MF18MDtpZighKGs8PDI0Pj4yNCkpbD1oW20rKGMmMjU1KT4+MF18MDtlbHNlIGw9Qlko
ayxjKXwwO2M6ZG8gc3dpdGNoKGx8MCl7Y2FzZSA1OntuPTMzO2JyZWFrIGJ9Y2FzZSA2OntuPTM0
O2JyZWFrIGJ9Y2FzZSA3OntuPTM2O2JyZWFrIGJ9Y2FzZSAxMDpjYXNlIDk6Y2FzZSAyMTp7bj0z
MDticmVhayBifWNhc2UgMTE6e249Njg7YnJlYWsgYn1jYXNlIDE3OmJyZWFrIGI7Y2FzZSAyOTp7
bD1jJjI1NTtpZighKDE8PChsJjMxKSZmWzUzOTIwKygobD4+PjV8aFs1NTIwMCsoayYyNTUpPj4w
XTw8Myk8PDIpPj4yXSkpe249MzI7YnJlYWsgYn1lbHNlIGo9MjticmVha31jYXNlIDI3OmNhc2Ug
MjY6Y2FzZSAyNTpjYXNlIDI0OmNhc2UgMjI6e2o9MjticmVha31jYXNlIDIzOntpZihpfDApe249
Mzk7YnJlYWsgYn1rPWcrMnwwO2M9by1rfDA7aWYoKGN8MCk8PTEpe2c9LTE7YnJlYWsgYX1sPWJb
az4+MF18MDtpPWJbZyszPj4wXXwwO2lmKCEobDw8MjQ+PjI0KSlqPWhbbSsoaSYyNTUpPj4wXXww
O2Vsc2Ugaj1CWShsLGkpfDA7c3dpdGNoKGp8MCl7Y2FzZSA1OntuPTQ3O2JyZWFrIGJ9Y2FzZSA2
OntuPTQ4O2JyZWFrIGJ9Y2FzZSA3OntuPTUwO2JyZWFrIGJ9Y2FzZSAyNDpjYXNlIDIyOntpPTE7
aj00O2JyZWFrIGN9Y2FzZSAyOTpicmVhaztkZWZhdWx0OntuPTUyO2JyZWFrIGJ9fWM9aSYyNTU7
aWYoISgxPDwoYyYzMSkmZls1MzkyMCsoKGM+Pj41fGhbNTM2NjQrKGwmMjU1KT4+MF08PDMpPDwy
KT4+Ml0pKXtuPTQ2O2JyZWFrIGJ9ZWxzZXtpPTE7aj00fWJyZWFrfWRlZmF1bHQ6e249NzQ7YnJl
YWsgYn19d2hpbGUoMCk7Zz1nK2p8MH1kOnN3aXRjaChufDApe2Nhc2UgMzA6e2U6d2hpbGUoMSl7
aT1nKzJ8MDtqPW8taXwwO2lmKChqfDApPD0xKXtnPS0xO2JyZWFrIGF9az1iW2k+PjBdfDA7Yz1i
W2crMz4+MF18MDtpZighKGs8PDI0Pj4yNCkpbD1oW20rKGMmMjU1KT4+MF18MDtlbHNlIGw9Qlko
ayxjKXwwO3N3aXRjaChsfDApe2Nhc2UgMTE6e2c9aTtuPTY4O2JyZWFrIGR9Y2FzZSAxNzp7Zz1p
O2JyZWFrIGR9Y2FzZSAyOTp7bj01OTticmVhayBlfWNhc2UgMjQ6Y2FzZSAyMjpicmVhayBlO2Nh
c2UgNTp7bj02MjticmVhayBlfWNhc2UgNjp7bj02MzticmVhayBlfWNhc2UgNzp7bj02NTticmVh
ayBlfWNhc2UgMTA6Y2FzZSA5OmNhc2UgMjE6YnJlYWs7ZGVmYXVsdDp7bj02NzticmVhayBlfX1n
PWl9aWYoKG58MCk9PTU5KXtvPWMmMjU1O2lmKCEoMTw8KG8mMzEpJmZbNTM5MjArKChvPj4+NXxo
WzUzNjY0KyhrJjI1NSk+PjBdPDwzKTw8Mik+PjJdKSl7ZltlPj4yXT1pO2c9MDticmVhayBhfX1l
bHNlIGlmKChufDApPT02Mil7ZltlPj4yXT1pO2c9MDticmVhayBhfWVsc2UgaWYoKG58MCk9PTYz
KXtpZigoanwwKTwzKXtnPS0yO2JyZWFrIGF9ZltlPj4yXT1pO2c9MDticmVhayBhfWVsc2UgaWYo
KG58MCk9PTY1KXtpZigoanwwKTw0KXtnPS0yO2JyZWFrIGF9ZltlPj4yXT1pO2c9MDticmVhayBh
fWVsc2UgaWYoKG58MCk9PTY3KXtmW2U+PjJdPWk7Zz0wO2JyZWFrIGF9Zz10WihhLGcrNHwwLGQs
ZSl8MDticmVhayBhfWNhc2UgMzI6e2ZbZT4+Ml09ZztnPTA7YnJlYWsgYX1jYXNlIDMzOntmW2U+
PjJdPWc7Zz0wO2JyZWFrIGF9Y2FzZSAzNDp7aWYoKGp8MCk8Myl7Zz0tMjticmVhayBhfWZbZT4+
Ml09ZztnPTA7YnJlYWsgYX1jYXNlIDM2OntpZigoanwwKTw0KXtnPS0yO2JyZWFrIGF9ZltlPj4y
XT1nO2c9MDticmVhayBhfWNhc2UgMzk6e2ZbZT4+Ml09ZztnPTA7YnJlYWsgYX1jYXNlIDQ2Ontm
W2U+PjJdPWs7Zz0wO2JyZWFrIGF9Y2FzZSA0Nzp7ZltlPj4yXT1rO2c9MDticmVhayBhfWNhc2Ug
NDg6e2lmKChjfDApPDMpe2c9LTI7YnJlYWsgYX1mW2U+PjJdPWs7Zz0wO2JyZWFrIGF9Y2FzZSA1
MDp7aWYoKGN8MCk8NCl7Zz0tMjticmVhayBhfWZbZT4+Ml09aztnPTA7YnJlYWsgYX1jYXNlIDUy
OntmW2U+PjJdPWs7Zz0wO2JyZWFrIGF9Y2FzZSA3NDp7ZltlPj4yXT1nO2c9MDticmVhayBhfX1p
ZigobnwwKT09Njgpe2ZbZT4+Ml09ZysyO2c9MjticmVha31pPWcrMnwwO2lmKChvLWl8MCk+MSl7
aWYoKGJbaT4+MF18MCk9PTA/KGJbZyszPj4wXXwwKT09NjI6MCl7ZltlPj4yXT1nKzQ7Zz00O2Jy
ZWFrfWZbZT4+Ml09aTtnPTB9ZWxzZSBnPS0xfWVsc2UgZz0tMTt3aGlsZSgwKTtyZXR1cm4gZ3ww
fWZ1bmN0aW9uIHBaKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaT0w
LGo9MCxrPTA7aj1kO2E6ZG8gaWYoKGotY3wwKT4xKXtpZigoYltjPj4wXXwwKT09MD8oYltjKzE+
PjBdfDApPT00NTowKXtpPWErNzJ8MDtnPWMrMnwwO2I6d2hpbGUoMSl7Yz1qLWd8MDtpZigoY3ww
KTw9MSl7ZD0tMTticmVhayBhfWQ9YltnPj4wXXwwO2E9YltnKzE+PjBdfDA7aWYoIShkPDwyND4+
MjQpKWQ9aFtpKyhhJjI1NSk+PjBdfDA7ZWxzZSBkPUJZKGQsYSl8MDtzd2l0Y2goZHwwKXtjYXNl
IDg6Y2FzZSAxOmNhc2UgMDp7az0xNjticmVhayBifWNhc2UgNTp7ZD1nKzJ8MDticmVha31jYXNl
IDY6e2lmKChjfDApPDMpe2Q9LTI7YnJlYWsgYX1kPWcrM3wwO2JyZWFrfWNhc2UgNzp7aWYoKGN8
MCk8NCl7ZD0tMjticmVhayBhfWQ9Zys0fDA7YnJlYWt9Y2FzZSAyNzp7ZD1nKzJ8MDtpZigoai1k
fDApPD0xKXtkPS0xO2JyZWFrIGF9aWYoKGJbZD4+MF18MCk9PTA/KGJbZyszPj4wXXwwKT09NDU6
MClicmVhayBiO2JyZWFrfWRlZmF1bHQ6ZD1nKzJ8MH1nPWR9aWYoKGt8MCk9PTE2KXtmW2U+PjJd
PWc7ZD0wO2JyZWFrfWQ9Zys0fDA7aWYoKGotZHwwKTw9MSl7ZD0tMTticmVha31pZigoYltkPj4w
XXwwKT09MD8oYltnKzU+PjBdfDApPT02MjowKXtmW2U+PjJdPWcrNjtkPTEzO2JyZWFrfWZbZT4+
Ml09ZDtkPTA7YnJlYWt9ZltlPj4yXT1jO2Q9MH1lbHNlIGQ9LTE7d2hpbGUoMCk7cmV0dXJuIGR8
MH1mdW5jdGlvbiBxWihhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7aWYoKGMtYXwwKT4xMSl7Yz0w
O3doaWxlKDEpe2lmKGM+Pj4wPj02KXtjPTg7YnJlYWt9aWYoYlthPj4wXXwwKXtjPTA7YnJlYWt9
aWYoKGJbYSsxPj4wXXwwKSE9KGJbMTUwODE1K2M+PjBdfDApKXtjPTA7YnJlYWt9Yz1jKzF8MDth
PWErMnwwfWZbZD4+Ml09YX1lbHNlIGM9LTE7cmV0dXJuIGN8MH1mdW5jdGlvbiByWihhLGMsZCxl
KXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0w
LG89MCxwPTA7cD10O3Q9dCsxNnwwO289cDtuPWQ7aT1uLWN8MDthOmRvIGlmKChpfDApPjEpe2o9
YltjPj4wXXwwO2lmKCEoajw8MjQ+PjI0KSl7Zz1iW2MrMT4+MF18MDtkPWhbYSs3MisoZyYyNTUp
Pj4wXXwwfWVsc2V7Zz1iW2MrMT4+MF18MDtkPUJZKGosZyl8MH1zd2l0Y2goZHwwKXtjYXNlIDI5
OntsPWcmMjU1O2lmKCEoMTw8KGwmMzEpJmZbNTM5MjArKChsPj4+NXxoWzUzNjY0KyhqJjI1NSk+
PjBdPDwzKTw8Mik+PjJdKSl7ZltlPj4yXT1jO2Q9MDticmVhayBhfWJyZWFrfWNhc2UgMjQ6Y2Fz
ZSAyMjpicmVhaztjYXNlIDU6e2ZbZT4+Ml09YztkPTA7YnJlYWsgYX1jYXNlIDY6e2lmKChpfDAp
PDMpe2Q9LTI7YnJlYWsgYX1mW2U+PjJdPWM7ZD0wO2JyZWFrIGF9Y2FzZSA3OntpZigoaXwwKTw0
KXtkPS0yO2JyZWFrIGF9ZltlPj4yXT1jO2Q9MDticmVhayBhfWRlZmF1bHQ6e2ZbZT4+Ml09Yztk
PTA7YnJlYWsgYX19bD1hKzcyfDA7az1jO2I6d2hpbGUoMSl7ZD1rKzJ8MDtnPW4tZHwwO2lmKChn
fDApPD0xKXtkPS0xO2JyZWFrIGF9aT1iW2Q+PjBdfDA7aj1iW2srMz4+MF18MDtpZighKGk8PDI0
Pj4yNCkpYT1oW2wrKGomMjU1KT4+MF18MDtlbHNlIGE9QlkoaSxqKXwwO3N3aXRjaChhfDApe2Nh
c2UgNTp7bT0yMzticmVhayBifWNhc2UgNjp7bT0yNDticmVhayBifWNhc2UgNzp7bT0yNjticmVh
ayBifWNhc2UgMTA6Y2FzZSA5OmNhc2UgMjE6e209Mjg7YnJlYWsgYn1jYXNlIDE1OnttPTQ4O2Jy
ZWFrIGJ9Y2FzZSAyOTp7az1qJjI1NTtpZighKDE8PChrJjMxKSZmWzUzOTIwKygoaz4+PjV8aFs1
NTIwMCsoaSYyNTUpPj4wXTw8Myk8PDIpPj4yXSkpe209MjI7YnJlYWsgYn1icmVha31jYXNlIDI3
OmNhc2UgMjY6Y2FzZSAyNTpjYXNlIDI0OmNhc2UgMjI6YnJlYWs7ZGVmYXVsdDpicmVhayBifWs9
ZH1pZigobXwwKT09MjIpe2ZbZT4+Ml09ZDtkPTA7YnJlYWt9ZWxzZSBpZigobXwwKT09MjMpe2Zb
ZT4+Ml09ZDtkPTA7YnJlYWt9ZWxzZSBpZigobXwwKT09MjQpe2lmKChnfDApPDMpe2Q9LTI7YnJl
YWt9ZltlPj4yXT1kO2Q9MDticmVha31lbHNlIGlmKChtfDApPT0yNil7aWYoKGd8MCk8NCl7ZD0t
MjticmVha31mW2U+PjJdPWQ7ZD0wO2JyZWFrfWVsc2UgaWYoKG18MCk9PTI4KXtpZighKHVaKGMs
ZCxvKXwwKSl7ZltlPj4yXT1kO2Q9MDticmVha31kPWsrNHwwO2M6d2hpbGUoMSl7aj1uLWR8MDtp
ZigoanwwKTw9MSl7ZD0tMTticmVhayBhfWc9YltkPj4wXXwwO2k9YltkKzE+PjBdfDA7aWYoIShn
PDwyND4+MjQpKWc9aFtsKyhpJjI1NSk+PjBdfDA7ZWxzZSBnPUJZKGcsaSl8MDtzd2l0Y2goZ3ww
KXtjYXNlIDg6Y2FzZSAxOmNhc2UgMDp7bT00MTticmVhayBjfWNhc2UgNTp7ZD1kKzJ8MDticmVh
a31jYXNlIDY6e2lmKChqfDApPDMpe2Q9LTI7YnJlYWsgYX1kPWQrM3wwO2JyZWFrfWNhc2UgNzp7
aWYoKGp8MCk8NCl7ZD0tMjticmVhayBhfWQ9ZCs0fDA7YnJlYWt9Y2FzZSAxNTp7Zz1kKzJ8MDtp
Zigobi1nfDApPD0xKXtkPS0xO2JyZWFrIGF9aWYoKGJbZz4+MF18MCk9PTA/KGJbZCszPj4wXXww
KT09NjI6MCl7bT00NjticmVhayBjfWVsc2UgZD1nO2JyZWFrfWRlZmF1bHQ6ZD1kKzJ8MH19aWYo
KG18MCk9PTQxKXtmW2U+PjJdPWQ7ZD0wO2JyZWFrfWVsc2UgaWYoKG18MCk9PTQ2KXtmW2U+PjJd
PWQrNDtkPWZbbz4+Ml18MDticmVha319ZWxzZSBpZigobXwwKT09NDgpe2lmKCEodVooYyxkLG8p
fDApKXtmW2U+PjJdPWQ7ZD0wO2JyZWFrfWQ9ays0fDA7aWYoKG4tZHwwKTw9MSl7ZD0tMTticmVh
a31pZigoYltkPj4wXXwwKT09MD8oYltrKzU+PjBdfDApPT02MjowKXtmW2U+PjJdPWsrNjtkPWZb
bz4+Ml18MDticmVha319ZltlPj4yXT1kO2Q9MH1lbHNlIGQ9LTE7d2hpbGUoMCk7dD1wO3JldHVy
biBkfDB9ZnVuY3Rpb24gc1ooYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9
MCxpPTAsaj0wLGs9MCxsPTA7aj1kLWN8MDthOmRvIGlmKChqfDApPjEpe2s9YltjPj4wXXwwO2lm
KCEoazw8MjQ+PjI0KSl7aT1iW2MrMT4+MF18MDtnPWhbYSs3MisoaSYyNTUpPj4wXXwwfWVsc2V7
aT1iW2MrMT4+MF18MDtnPUJZKGssaSl8MH1zd2l0Y2goZ3wwKXtjYXNlIDI5OntsPWkmMjU1O2lm
KCEoMTw8KGwmMzEpJmZbNTM5MjArKChsPj4+NXwoaFs1MzY2NCsoayYyNTUpPj4wXXwwKTw8Myk8
PDIpPj4yXSkpe2ZbZT4+Ml09YztkPTA7YnJlYWsgYX1icmVha31jYXNlIDI0OmNhc2UgMjI6YnJl
YWs7Y2FzZSA1OntmW2U+PjJdPWM7ZD0wO2JyZWFrIGF9Y2FzZSA2OntpZigoanwwKTwzKXtkPS0y
O2JyZWFrIGF9ZltlPj4yXT1jO2Q9MDticmVhayBhfWNhc2UgNzp7aWYoKGp8MCk8NCl7ZD0tMjti
cmVhayBhfWZbZT4+Ml09YztkPTA7YnJlYWsgYX1kZWZhdWx0OntmW2U+PjJdPWM7ZD0wO2JyZWFr
IGF9fWw9YSs3MnwwO2E9YztiOndoaWxlKDEpe2s9YSsyfDA7Yz1kLWt8MDtpZigoY3wwKTw9MSl7
ZD0tMTticmVhayBhfWc9YltrPj4wXXwwO2k9YlthKzM+PjBdfDA7aWYoIShnPDwyND4+MjQpKWo9
aFtsKyhpJjI1NSk+PjBdfDA7ZWxzZSBqPUJZKGcsaSl8MDtzd2l0Y2goanwwKXtjYXNlIDU6e2c9
MjM7YnJlYWsgYn1jYXNlIDY6e2c9MjQ7YnJlYWsgYn1jYXNlIDc6e2c9MjY7YnJlYWsgYn1jYXNl
IDEwOmNhc2UgOTpjYXNlIDIxOntnPTI4O2JyZWFrIGJ9Y2FzZSAxMTp7Zz0zNzticmVhayBifWNh
c2UgMjk6e2M9aSYyNTU7aWYoISgxPDwoYyYzMSkmZls1MzkyMCsoKGM+Pj41fChoWzU1MjAwKyhn
JjI1NSk+PjBdfDApPDwzKTw8Mik+PjJdKSl7Zz0yMjticmVhayBifWJyZWFrfWNhc2UgMjM6Y2Fz
ZSAyNzpjYXNlIDI2OmNhc2UgMjU6Y2FzZSAyNDpjYXNlIDIyOmJyZWFrO2RlZmF1bHQ6e2c9Mzg7
YnJlYWsgYn19YT1rfWlmKChnfDApPT0yMil7ZltlPj4yXT1rO2Q9MDticmVha31lbHNlIGlmKChn
fDApPT0yMyl7ZltlPj4yXT1rO2Q9MDticmVha31lbHNlIGlmKChnfDApPT0yNCl7aWYoKGN8MCk8
Myl7ZD0tMjticmVha31mW2U+PjJdPWs7ZD0wO2JyZWFrfWVsc2UgaWYoKGd8MCk9PTI2KXtpZigo
Y3wwKTw0KXtkPS0yO2JyZWFrfWZbZT4+Ml09aztkPTA7YnJlYWt9ZWxzZSBpZigoZ3wwKT09Mjgp
e2o9YSs0fDA7Yzp3aGlsZSgxKXtpZigoZC1qfDApPD0xKXtkPS0xO2JyZWFrIGF9Zz1iW2o+PjBd
fDA7aT1iW2orMT4+MF18MDtpZighKGc8PDI0Pj4yNCkpZz1oW2wrKGkmMjU1KT4+MF18MDtlbHNl
IGc9QlkoZyxpKXwwO3N3aXRjaChnfDApe2Nhc2UgMTE6e2c9MzQ7YnJlYWsgY31jYXNlIDEwOmNh
c2UgOTpjYXNlIDIxOmJyZWFrO2RlZmF1bHQ6e2c9MzU7YnJlYWsgY319aj1qKzJ8MH1pZigoZ3ww
KT09MzQpe2ZbZT4+Ml09aisyO2Q9NTticmVha31lbHNlIGlmKChnfDApPT0zNSl7ZltlPj4yXT1q
O2Q9MDticmVha319ZWxzZSBpZigoZ3wwKT09Mzcpe2ZbZT4+Ml09YSs0O2Q9NTticmVha31lbHNl
IGlmKChnfDApPT0zOCl7ZltlPj4yXT1rO2Q9MDticmVha319ZWxzZSBkPS0xO3doaWxlKDApO3Jl
dHVybiBkfDB9ZnVuY3Rpb24gdFooYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFy
IGc9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MDtxPXQ7dD10KzE2fDA7bj1x
O2Zbbj4+Ml09YztvPWQ7bT1hKzcyfDA7Zz0wO2E6d2hpbGUoMSl7Yjp3aGlsZSgxKXtsPW8tY3ww
O2lmKChsfDApPD0xKXtjPS0xO2JyZWFrIGF9aT1iW2M+PjBdfDA7aj1iW2MrMT4+MF18MDtpZigh
KGk8PDI0Pj4yNCkpaz1oW20rKGomMjU1KT4+MF18MDtlbHNlIGs9QlkoaSxqKXwwO3N3aXRjaChr
fDApe2Nhc2UgNTp7cD0xMzticmVhayBhfWNhc2UgNjp7cD0xNDticmVhayBhfWNhc2UgNzp7cD0x
NjticmVhayBhfWNhc2UgMjM6e3A9MTg7YnJlYWsgYn1jYXNlIDEwOmNhc2UgOTpjYXNlIDIxOntw
PTg7YnJlYWsgYn1jYXNlIDE0OntwPTk7YnJlYWsgYn1jYXNlIDI5OntsPWomMjU1O2lmKCEoMTw8
KGwmMzEpJmZbNTM5MjArKChsPj4+NXxoWzU1MjAwKyhpJjI1NSk+PjBdPDwzKTw8Mik+PjJdKSl7
cD0xMTticmVhayBhfWJyZWFrfWNhc2UgMjc6Y2FzZSAyNjpjYXNlIDI1OmNhc2UgMjQ6Y2FzZSAy
MjpicmVhaztkZWZhdWx0OntwPTk4O2JyZWFrIGF9fWw9YysyfDA7ZltuPj4yXT1sO2M9bH1jOmRv
IGlmKChwfDApPT04KXtwPTA7d2hpbGUoMSl7aT1jKzJ8MDtmW24+PjJdPWk7aWYoKG8taXwwKTw9
MSl7Yz0tMTticmVhayBhfWc9YltpPj4wXXwwO2M9YltjKzM+PjBdfDA7aWYoIShnPDwyND4+MjQp
KWM9aFttKyhjJjI1NSk+PjBdfDA7ZWxzZSBjPUJZKGcsYyl8MDtzd2l0Y2goY3wwKXtjYXNlIDE0
OntjPWk7cD05O2JyZWFrIGN9Y2FzZSA5OmNhc2UgMTA6Y2FzZSAyMTpicmVhaztkZWZhdWx0Ontw
PTQwO2JyZWFrIGF9fWM9aX19ZWxzZSBpZigocHwwKT09MTgpe3A9MDtpZihnfDApe3A9MTk7YnJl
YWsgYX1nPWMrMnwwO2Zbbj4+Ml09ZztpPW8tZ3wwO2lmKChpfDApPD0xKXtjPS0xO2JyZWFrIGF9
aj1iW2c+PjBdfDA7az1iW2MrMz4+MF18MDtpZighKGo8PDI0Pj4yNCkpbD1oW20rKGsmMjU1KT4+
MF18MDtlbHNlIGw9QlkoaixrKXwwO3N3aXRjaChsfDApe2Nhc2UgNTp7cD0yODticmVhayBhfWNh
c2UgNjp7cD0yOTticmVhayBhfWNhc2UgNzp7cD0zMTticmVhayBhfWNhc2UgMjk6e2w9ayYyNTU7
aWYoISgxPDwobCYzMSkmZls1MzkyMCsoKGw+Pj41fGhbNTM2NjQrKGomMjU1KT4+MF08PDMpPDwy
KT4+Ml0pKXtwPTI2O2JyZWFrIGF9YnJlYWt9Y2FzZSAyNDpjYXNlIDIyOmJyZWFrO2RlZmF1bHQ6
e3A9MzM7YnJlYWsgYX19Zz0xO2M9Yys0fDB9d2hpbGUoMCk7aWYoKHB8MCk9PTkpe3A9MDt3aGls
ZSgxKXtqPWMrMnwwO2Zbbj4+Ml09ajtpZigoby1qfDApPD0xKXtjPS0xO2JyZWFrIGF9Zz1iW2o+
PjBdfDA7aT1iW2MrMz4+MF18MDtpZighKGc8PDI0Pj4yNCkpaz1oW20rKGkmMjU1KT4+MF18MDtl
bHNlIGs9QlkoZyxpKXwwO2lmKChrfDF8MCk9PTEzKWJyZWFrO3N3aXRjaChrfDApe2Nhc2UgOTpj
YXNlIDEwOmNhc2UgMjE6YnJlYWs7ZGVmYXVsdDp7cD00ODticmVhayBhfX1jPWp9Yz1jKzR8MDtm
W24+PjJdPWM7d2hpbGUoMSl7aj1vLWN8MDtpZigoanwwKTw9MSl7Yz0tMTticmVhayBhfWc9Yltj
Pj4wXXwwO2k9YltjKzE+PjBdfDA7aWYoIShnPDwyND4+MjQpKWc9aFttKyhpJjI1NSk+PjBdfDA7
ZWxzZSBnPUJZKGcsaSl8MDtpZigoZ3wwKT09KGt8MCkpYnJlYWs7c3dpdGNoKGd8MCl7Y2FzZSA4
OmNhc2UgMTpjYXNlIDA6e3A9NjE7YnJlYWsgYX1jYXNlIDI6e3A9Njc7YnJlYWsgYX1jYXNlIDU6
e2M9YysyfDA7ZltuPj4yXT1jO2JyZWFrfWNhc2UgNjp7aWYoKGp8MCk8Myl7Yz0tMjticmVhayBh
fWM9YyszfDA7ZltuPj4yXT1jO2JyZWFrfWNhc2UgNzp7aWYoKGp8MCk8NCl7Yz0tMjticmVhayBh
fWM9Yys0fDA7ZltuPj4yXT1jO2JyZWFrfWNhc2UgMzp7Yz1rWihhLGMrMnwwLGQsbil8MDtpZigo
Y3wwKTwxKXtwPTY1O2JyZWFrIGF9Yz1mW24+PjJdfDA7YnJlYWt9ZGVmYXVsdDp7Yz1jKzJ8MDtm
W24+PjJdPWN9fX1pPWMrMnwwO2Zbbj4+Ml09aTtpZigoby1pfDApPD0xKXtjPS0xO2JyZWFrfWc9
YltpPj4wXXwwO2o9YltjKzM+PjBdfDA7aWYoIShnPDwyND4+MjQpKWc9aFttKyhqJjI1NSk+PjBd
fDA7ZWxzZSBnPUJZKGcsail8MDtzd2l0Y2goZ3wwKXtjYXNlIDExOntwPTg5O2JyZWFrIGF9Y2Fz
ZSAxNzp7cD05MDticmVhayBhfWNhc2UgMTA6Y2FzZSA5OmNhc2UgMjE6YnJlYWs7ZGVmYXVsdDp7
cD03NTticmVhayBhfX1jPWk7ZDp3aGlsZSgxKXtpPWMrMnwwO2Zbbj4+Ml09aTtnPW8taXwwO2lm
KChnfDApPD0xKXtjPS0xO2JyZWFrIGF9aj1iW2k+PjBdfDA7az1iW2MrMz4+MF18MDtpZighKGo8
PDI0Pj4yNCkpbD1oW20rKGsmMjU1KT4+MF18MDtlbHNlIGw9QlkoaixrKXwwO3N3aXRjaChsfDAp
e2Nhc2UgNTp7cD04NDticmVhayBhfWNhc2UgNjp7cD04NTticmVhayBhfWNhc2UgNzp7cD04Nzti
cmVhayBhfWNhc2UgMTE6e3A9ODk7YnJlYWsgYX1jYXNlIDE3OntwPTkwO2JyZWFrIGF9Y2FzZSAy
OTp7cD04MjticmVhayBkfWNhc2UgMjQ6Y2FzZSAyMjpicmVhayBkO2Nhc2UgMTA6Y2FzZSA5OmNh
c2UgMjE6YnJlYWs7ZGVmYXVsdDp7cD05NTticmVhayBhfX1jPWl9aWYoKHB8MCk9PTgyPyhwPTAs
bD1rJjI1NSwoMTw8KGwmMzEpJmZbNTM5MjArKChsPj4+NXxoWzUzNjY0KyhqJjI1NSk+PjBdPDwz
KTw8Mik+PjJdfDApPT0wKTowKXtwPTgzO2JyZWFrfWc9MDtjPWMrNHwwfWZbbj4+Ml09Y31zd2l0
Y2gocHwwKXtjYXNlIDExOntmW2U+PjJdPWM7Yz0wO2JyZWFrfWNhc2UgMTM6e2ZbZT4+Ml09Yztj
PTA7YnJlYWt9Y2FzZSAxNDp7aWYoKGx8MCk8MyljPS0yO2Vsc2V7ZltlPj4yXT1jO2M9MH1icmVh
a31jYXNlIDE2OntpZigobHwwKTw0KWM9LTI7ZWxzZXtmW2U+PjJdPWM7Yz0wfWJyZWFrfWNhc2Ug
MTk6e2ZbZT4+Ml09YztjPTA7YnJlYWt9Y2FzZSAyNjp7ZltlPj4yXT1nO2M9MDticmVha31jYXNl
IDI4OntmW2U+PjJdPWc7Yz0wO2JyZWFrfWNhc2UgMjk6e2lmKChpfDApPDMpYz0tMjtlbHNle2Zb
ZT4+Ml09ZztjPTB9YnJlYWt9Y2FzZSAzMTp7aWYoKGl8MCk8NCljPS0yO2Vsc2V7ZltlPj4yXT1n
O2M9MH1icmVha31jYXNlIDMzOntmW2U+PjJdPWc7Yz0wO2JyZWFrfWNhc2UgNDA6e2ZbZT4+Ml09
aTtjPTA7YnJlYWt9Y2FzZSA0ODp7ZltlPj4yXT1qO2M9MDticmVha31jYXNlIDYxOntmW2U+PjJd
PWM7Yz0wO2JyZWFrfWNhc2UgNjU6e2lmKCFjKXtmW2U+PjJdPWZbbj4+Ml07Yz0wfWJyZWFrfWNh
c2UgNjc6e2ZbZT4+Ml09YztjPTA7YnJlYWt9Y2FzZSA3NTp7ZltlPj4yXT1pO2M9MDticmVha31j
YXNlIDgzOntmW2U+PjJdPWk7Yz0wO2JyZWFrfWNhc2UgODQ6e2ZbZT4+Ml09aTtjPTA7YnJlYWt9
Y2FzZSA4NTp7aWYoKGd8MCk8MyljPS0yO2Vsc2V7ZltlPj4yXT1pO2M9MH1icmVha31jYXNlIDg3
OntpZigoZ3wwKTw0KWM9LTI7ZWxzZXtmW2U+PjJdPWk7Yz0wfWJyZWFrfWNhc2UgODk6e2ZbZT4+
Ml09Yys0O2M9MTticmVha31jYXNlIDkwOntnPWkrMnwwO2Zbbj4+Ml09ZztjPWc7aWYoKG8tY3ww
KT4xKXtpZigoYltnPj4wXXwwKT09MD8oYltpKzM+PjBdfDApPT02MjowKXtmW2U+PjJdPWkrNDtj
PTM7YnJlYWt9ZltlPj4yXT1jO2M9MH1lbHNlIGM9LTE7YnJlYWt9Y2FzZSA5NTp7ZltlPj4yXT1p
O2M9MDticmVha31jYXNlIDk4OntmW2U+PjJdPWM7Yz0wO2JyZWFrfX10PXE7cmV0dXJuIGN8MH1m
dW5jdGlvbiB1WihhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZltkPj4yXT0xMTthOmRvIGlmKChj
LWF8MCk9PTY/KGJbYT4+MF18MCk9PTA6MCl7c3dpdGNoKGJbYSsxPj4wXXwwKXtjYXNlIDEyMDp7
Yz0wO2JyZWFrfWNhc2UgODg6e2M9MTticmVha31kZWZhdWx0OntjPTE7YnJlYWsgYX19aWYoIShi
W2ErMj4+MF18MCkpe3N3aXRjaChiW2ErMz4+MF18MCl7Y2FzZSAxMDk6YnJlYWs7Y2FzZSA3Nzp7
Yz0xO2JyZWFrfWRlZmF1bHQ6e2M9MTticmVhayBhfX1pZighKGJbYSs0Pj4wXXwwKSl7c3dpdGNo
KGJbYSs1Pj4wXXwwKXtjYXNlIDEwODpicmVhaztjYXNlIDc2OntjPTA7YnJlYWsgYX1kZWZhdWx0
OntjPTE7YnJlYWsgYX19aWYoIWMpe2ZbZD4+Ml09MTI7Yz0xfWVsc2UgYz0wfWVsc2UgYz0xfWVs
c2UgYz0xfWVsc2UgYz0xO3doaWxlKDApO3JldHVybiBjfDB9ZnVuY3Rpb24gdlooYSxjLGQsZSxn
KXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8MDt2YXIgaT0wLGo9MCxrPTAsbD0wO2s9Yys3
MnwwO2E6d2hpbGUoMSl7aj1lLWR8MDtpZigoanwwKTw9MSl7ZD0tMTticmVha31jPWJbZD4+MF18
MDtpPWJbZCsxPj4wXXwwO2lmKCEoYzw8MjQ+PjI0KSlpPWhbaysoaSYyNTUpPj4wXXwwO2Vsc2Ug
aT1CWShjLGkpfDA7c3dpdGNoKGl8MCl7Y2FzZSA4OmNhc2UgMTpjYXNlIDA6e2w9MTA7YnJlYWsg
YX1jYXNlIDU6e2Q9ZCsyfDA7YnJlYWt9Y2FzZSA2OntpZigoanwwKTwzKXtkPS0yO2JyZWFrIGF9
ZWxzZSBkPWQrM3wwO2JyZWFrfWNhc2UgNzp7aWYoKGp8MCk8NCl7ZD0tMjticmVhayBhfWVsc2Ug
ZD1kKzR8MDticmVha31jYXNlIDEzOmNhc2UgMTI6e2M9ZCsyfDA7aWYoKGl8MCk9PShhfDApKXts
PTEyO2JyZWFrIGF9ZWxzZSBkPWM7YnJlYWt9ZGVmYXVsdDpkPWQrMnwwfX1iOmRvIGlmKChsfDAp
PT0xMCl7ZltnPj4yXT1kO2Q9MH1lbHNlIGlmKChsfDApPT0xMilpZigoZS1jfDApPjEpe2ZbZz4+
Ml09YztlPWJbYz4+MF18MDtkPWJbZCszPj4wXXwwO2lmKCEoZTw8MjQ+PjI0KSlkPWhbaysoZCYy
NTUpPj4wXXwwO2Vsc2UgZD1CWShlLGQpfDA7c3dpdGNoKGR8MCl7Y2FzZSAyMDpjYXNlIDMwOmNh
c2UgMTE6Y2FzZSAxMDpjYXNlIDk6Y2FzZSAyMTp7ZD0yNzticmVhayBifWRlZmF1bHQ6e319ZD0w
fWVsc2UgZD0tMjc7d2hpbGUoMCk7cmV0dXJuIGR8MH1mdW5jdGlvbiB3WihhLGMsZCxlKXthPWF8
MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGk9MCxqPTAsaz0wLGw9MDtrPWQ7YTpkbyBpZigo
ay1jfDApPjEpe2c9YltjPj4wXXwwO2lmKCEoZzw8MjQ+PjI0KSlnPWhbYSs3MisoaFtjKzE+PjBd
fDApPj4wXXwwO2Vsc2UgZz1CWShnLGJbYysxPj4wXXwwKXwwO3N3aXRjaChnfDApe2Nhc2UgMjc6
e2c9cFooYSxjKzJ8MCxkLGUpfDA7YnJlYWsgYX1jYXNlIDIwOntmW2U+PjJdPWMrMjtnPTMzO2Jy
ZWFrIGF9Y2FzZSAyNDpjYXNlIDIyOntqPWErNzJ8MDtiOndoaWxlKDEpe2k9YysyfDA7ZD1rLWl8
MDtpZigoZHwwKTw9MSl7Zz0tMTticmVhayBhfWc9YltpPj4wXXwwO2E9YltjKzM+PjBdfDA7aWYo
IShnPDwyND4+MjQpKWc9aFtqKyhhJjI1NSk+PjBdfDA7ZWxzZSBnPUJZKGcsYSl8MDtzd2l0Y2go
Z3wwKXtjYXNlIDMwOntsPTE2O2JyZWFrIGJ9Y2FzZSAxMDpjYXNlIDk6Y2FzZSAyMTpicmVhayBi
O2Nhc2UgMjQ6Y2FzZSAyMjpicmVhaztkZWZhdWx0OntsPTIzO2JyZWFrIGJ9fWM9aX1pZigobHww
KT09MjMpe2ZbZT4+Ml09aTtnPTA7YnJlYWsgYX1jOmRvIGlmKChsfDApPT0xNil7aWYoKGR8MCk8
PTMpe2c9LTE7YnJlYWsgYX1hPWJbYys0Pj4wXXwwO2c9YltjKzU+PjBdfDA7aWYoIShhPDwyND4+
MjQpKWc9aFtqKyhnJjI1NSk+PjBdfDA7ZWxzZSBnPUJZKGEsZyl8MDtzd2l0Y2goZ3wwKXtjYXNl
IDMwOmNhc2UgMTA6Y2FzZSA5OmNhc2UgMjE6YnJlYWs7ZGVmYXVsdDpicmVhayBjfWZbZT4+Ml09
aTtnPTA7YnJlYWsgYX13aGlsZSgwKTtmW2U+PjJdPWk7Zz0xNjticmVhayBhfWRlZmF1bHQ6e2Zb
ZT4+Ml09YztnPTA7YnJlYWsgYX19fWVsc2UgZz0tMTt3aGlsZSgwKTtyZXR1cm4gZ3wwfWZ1bmN0
aW9uIHhaKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaT0wLGo9MCxr
PTA7aj1kLWN8MDthOmRvIGlmKChqfDApPjEpe2s9YltjPj4wXXwwO2lmKCEoazw8MjQ+PjI0KSl7
aT1iW2MrMT4+MF18MDtnPWhbYSs3MisoaSYyNTUpPj4wXXwwfWVsc2V7aT1iW2MrMT4+MF18MDtn
PUJZKGssaSl8MH1zd2l0Y2goZ3wwKXtjYXNlIDI5OntqPWkmMjU1O2lmKCEoMTw8KGomMzEpJmZb
NTM5MjArKChqPj4+NXwoaFs1MzY2NCsoayYyNTUpPj4wXXwwKTw8Myk8PDIpPj4yXSkpe2ZbZT4+
Ml09YztkPTA7YnJlYWsgYX1icmVha31jYXNlIDI0OmNhc2UgMjI6YnJlYWs7Y2FzZSA1OntmW2U+
PjJdPWM7ZD0wO2JyZWFrIGF9Y2FzZSA2OntpZigoanwwKTwzKXtkPS0yO2JyZWFrIGF9ZltlPj4y
XT1jO2Q9MDticmVhayBhfWNhc2UgNzp7aWYoKGp8MCk8NCl7ZD0tMjticmVhayBhfWZbZT4+Ml09
YztkPTA7YnJlYWsgYX1kZWZhdWx0OntmW2U+PjJdPWM7ZD0wO2JyZWFrIGF9fWs9YSs3MnwwO2I6
d2hpbGUoMSl7aj1jKzJ8MDthPWQtanwwO2lmKChhfDApPD0xKXtkPS0yMDticmVhayBhfWk9Yltq
Pj4wXXwwO2M9YltjKzM+PjBdfDA7aWYoIShpPDwyND4+MjQpKWc9aFtrKyhjJjI1NSk+PjBdfDA7
ZWxzZSBnPUJZKGksYyl8MDtzd2l0Y2goZ3wwKXtjYXNlIDU6e2M9MjM7YnJlYWsgYn1jYXNlIDY6
e2M9MjQ7YnJlYWsgYn1jYXNlIDc6e2M9MjY7YnJlYWsgYn1jYXNlIDM2OmNhc2UgMzA6Y2FzZSAx
MTpjYXNlIDMyOmNhc2UgMjE6Y2FzZSAxMDpjYXNlIDk6e2M9Mjg7YnJlYWsgYn1jYXNlIDI5Onth
PWMmMjU1O2lmKCEoMTw8KGEmMzEpJmZbNTM5MjArKChhPj4+NXwoaFs1NTIwMCsoaSYyNTUpPj4w
XXwwKTw8Myk8PDIpPj4yXSkpe2M9MjI7YnJlYWsgYn1icmVha31jYXNlIDI3OmNhc2UgMjY6Y2Fz
ZSAyNTpjYXNlIDI0OmNhc2UgMjI6YnJlYWs7ZGVmYXVsdDp7Yz0yOTticmVhayBifX1jPWp9aWYo
KGN8MCk9PTIyKXtmW2U+PjJdPWo7ZD0wO2JyZWFrfWVsc2UgaWYoKGN8MCk9PTIzKXtmW2U+PjJd
PWo7ZD0wO2JyZWFrfWVsc2UgaWYoKGN8MCk9PTI0KXtpZigoYXwwKTwzKXtkPS0yO2JyZWFrfWZb
ZT4+Ml09ajtkPTA7YnJlYWt9ZWxzZSBpZigoY3wwKT09MjYpe2lmKChhfDApPDQpe2Q9LTI7YnJl
YWt9ZltlPj4yXT1qO2Q9MDticmVha31lbHNlIGlmKChjfDApPT0yOCl7ZltlPj4yXT1qO2Q9MjA7
YnJlYWt9ZWxzZSBpZigoY3wwKT09Mjkpe2ZbZT4+Ml09ajtkPTA7YnJlYWt9fWVsc2UgZD0tMTt3
aGlsZSgwKTtyZXR1cm4gZHwwfWZ1bmN0aW9uIHlaKGEsYyxkLGUsZyl7YT1hfDA7Yz1jfDA7ZD1k
fDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MDt3aGlsZSgxKXthPWZbYz4+Ml18MDtoPWZbZT4+Ml18MDtp
ZihhPj4+MD49ZD4+PjApe2E9MTticmVha31pZihoPj4+MD49Zz4+PjApe2E9MDticmVha31mW2M+
PjJdPWErMTthPWJbYT4+MF18MDtoPWZbZT4+Ml18MDtmW2U+PjJdPWgrMTtiW2g+PjBdPWF9cmV0
dXJuICgoaHwwKSE9KGd8MCl8YT8wOjIpfDB9ZnVuY3Rpb24gelooYSxjKXthPWF8MDtjPWN8MDt2
YXIgZD0wLGU9MCxmPTAsZz0wO2E6d2hpbGUoMSl7Zj1iW2E+PjBdfDA7Zz1iW2M+PjBdfDA7Zj0o
ZistOTcmMjU1KTwyNj8oZiYyNTUpKzIyNCYyNTU6Zjtzd2l0Y2goKGY8PDI0Pj4yND09KChnKy05
NyYyNTUpPDI2PyhnJjI1NSkrMjI0JjI1NTpnKTw8MjQ+PjI0PyhmPDwyND4+MjQ9PTA/MjowKTox
KSYzKXtjYXNlIDE6e2U9NDticmVhayBhfWNhc2UgMjp7ZD0xO2JyZWFrIGF9Y2FzZSAwOmJyZWFr
O2RlZmF1bHQ6e2U9NjticmVhayBhfX1jPWMrMXwwO2E9YSsxfDB9aWYoKGV8MCk9PTQpZD0wO3Jl
dHVybiBkfDB9ZnVuY3Rpb24gQVooYSxiLGMsZCxlLGYsZyxoLGksail7YT1hfDA7Yj1ifDA7Yz1j
fDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7aj1qfDA7cmV0dXJuIENaKDM2
LGEsYixjLGQsZSxmLGcsaCxpLGopfDB9ZnVuY3Rpb24gQlooYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9
ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTA7aD10O3Q9dCsxNDR8MDtpPWgrMTMyfDA7ZT1oO2c9aCsx
Mjh8MDtmW2k+PjJdPWM7ZltnPj4yXT1lO3liW2ZbYSs1Nj4+Ml0mMTI3XShhLGksZCxnLGUrMTI3
fDApfDA7ZG8gaWYoKGZbaT4+Ml18MCk9PShkfDApKXtiW2ZbZz4+Ml0+PjBdPTA7aWYoelooZSwx
NTA4MzApfDA/KGZbYSs2ND4+Ml18MCk9PTI6MClicmVhazthPVJZKGUpfDA7aWYoKGF8MCkhPS0x
KWE9Zls1NTQ1NisoYTw8Mik+PjJdfDA7ZWxzZSBhPTB9ZWxzZSBhPTA7d2hpbGUoMCk7dD1oO3Jl
dHVybiBhfDB9ZnVuY3Rpb24gQ1ooYSxiLGMsZCxlLGcsaCxpLGosayxsKXthPWF8MDtiPWJ8MDtj
PWN8MDtkPWR8MDtlPWV8MDtnPWd8MDtoPWh8MDtpPWl8MDtqPWp8MDtrPWt8MDtsPWx8MDt2YXIg
bT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHU9MCx2PTA7dj10O3Q9dCsxNnwwO3M9dis4fDA7
cD12KzEyfDA7bj12KzR8MDtvPXY7ZltwPj4yXT0wO2Zbbj4+Ml09MDtmW28+PjJdPTA7dT1jKzY0
fDA7cj1mW3U+PjJdfDA7cT1kKyhyKjV8MCl8MDtmW3M+PjJdPXE7cj1lKygwLShyPDwxKSl8MDtx
PShEWihjLHEscixuLG8scCxzKXwwKSE9MDttPWZbbj4+Ml18MDtkPW07YTpkbyBpZihxJihtfDAp
IT0wKXtxPWMrMjR8MDtlPWZbbz4+Ml18MDtkbyBpZighKHhiW2ZbcT4+Ml0mMTI3XShjLG0sZSwx
NTA4NTUpfDApKXtpZighYil7ZltnPj4yXT1kO2Q9MDticmVhayBhfX1lbHNle2lmKGh8MClmW2g+
PjJdPWZbcD4+Ml07aWYoIWkpZD1mW3M+PjJdfDA7ZWxzZXtkPWZbcz4+Ml18MDtmW2k+PjJdPWR9
aWYoIShEWihjLGQscixuLG8scCxzKXwwKSl7ZltnPj4yXT1mW3M+PjJdO2Q9MDticmVhayBhfWU9
ZltuPj4yXXwwO2lmKGV8MCl7ZD1lO209ZTtlPWZbbz4+Ml18MDticmVha31pZighYil7ZD0xO2Jy
ZWFrIGF9ZltnPj4yXT1mW3M+PjJdO2Q9MDticmVhayBhfXdoaWxlKDApO2lmKHhiW2ZbcT4+Ml0m
MTI3XShjLG0sZSwxNTA4NjMpfDApe2U9ZltwPj4yXXwwO2Q9ZTtpZigoKChFWihjLGUscil8MCkm
LTMzKSstNjV8MCk+Pj4wPj0yNil7ZltnPj4yXT1kO2Q9MDticmVha31pZihqfDApZltqPj4yXT1k
O2Q9ZltzPj4yXXwwO2lmKGt8MCl7YT13YlthJjYzXShjLGUsZCsoMC0oZlt1Pj4yXXwwKSl8MCl8
MDtmW2s+PjJdPWF9aWYoIShEWihjLGQscixuLG8scCxzKXwwKSl7ZltnPj4yXT1mW3M+PjJdO2Q9
MDticmVha31kPWZbbj4+Ml18MDtpZighZCl7ZD0xO2JyZWFrfW09ZDtlPWZbbz4+Ml18MH1pZigo
YnwwKSE9MHwoeGJbZltxPj4yXSYxMjddKGMsbSxlLDE1MDg3Mil8MCk9PTApe2ZbZz4+Ml09ZDtk
PTA7YnJlYWt9ZT1mW3A+PjJdfDA7ZD1mW3M+PjJdfDA7bT1lO2lmKCEoeGJbZltxPj4yXSYxMjdd
KGMsZSxkKygwLShmW3U+PjJdfDApKXwwLDExNTk4Myl8MCkpe2lmKCEoeGJbZltxPj4yXSYxMjdd
KGMsZSxkKygwLShmW3U+PjJdfDApKXwwLDExNTk3NSl8MCkpe2ZbZz4+Ml09bTtkPTA7YnJlYWt9
aWYobHwwKWZbbD4+Ml09MH1lbHNlIGlmKGx8MClmW2w+PjJdPTE7d2hpbGUoMSl7aWYoIShHWihF
WihjLGQscil8MCl8MCkpYnJlYWs7ZD1kKyhmW3U+PjJdfDApfDB9ZltzPj4yXT1kO2lmKChkfDAp
PT0ocnwwKSlkPTE7ZWxzZXtmW2c+PjJdPWQ7ZD0wfX1lbHNle2ZbZz4+Ml09ZltzPj4yXTtkPTB9
d2hpbGUoMCk7dD12O3JldHVybiBkfDB9ZnVuY3Rpb24gRFooYSxiLGMsZCxlLGcsaCl7YT1hfDA7
Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7aD1ofDA7dmFyIGk9MCxqPTA7YTpkbyBpZigo
YnwwKSE9KGN8MCkpe2lmKCEoR1ooRVooYSxiLGMpfDApfDApKXtmW2g+PjJdPWI7Yj0wO2JyZWFr
fWo9YSs2NHwwO2RvIGI9YisoZltqPj4yXXwwKXwwO3doaWxlKChHWihFWihhLGIsYyl8MCl8MCkh
PTApO2lmKChifDApPT0oY3wwKSl7ZltkPj4yXT0wO2I9MTticmVha31mW2Q+PjJdPWI7Yjp3aGls
ZSgxKXtpPUVaKGEsYixjKXwwO3N3aXRjaChpfDApe2Nhc2UgLTE6e2k9MTE7YnJlYWsgYn1jYXNl
IDYxOntpPTEyO2JyZWFrIGJ9ZGVmYXVsdDp7fX1pZihHWihpKXwwKXtpPTE0O2JyZWFrfWI9Yiso
ZltqPj4yXXwwKXwwfWlmKChpfDApPT0xMSl7ZltoPj4yXT1iO2I9MDticmVha31lbHNlIGlmKChp
fDApPT0xMilmW2U+PjJdPWI7ZWxzZSBpZigoaXwwKT09MTQpe2ZbZT4+Ml09Yjtkb3tiPWIrKGZb
aj4+Ml18MCl8MDtpPUVaKGEsYixjKXwwfXdoaWxlKChHWihpKXwwKSE9MCk7aWYoKGl8MCkhPTYx
KXtmW2g+PjJdPWI7Yj0wO2JyZWFrfX1pZigoYnwwKT09KGZbZD4+Ml18MCkpe2ZbaD4+Ml09Yjti
PTA7YnJlYWt9Yj1iKyhmW2o+PjJdfDApfDA7d2hpbGUoMSl7aT1FWihhLGIsYyl8MDtpZighKEda
KGkpfDApKWJyZWFrO2I9YisoZltqPj4yXXwwKXwwfXN3aXRjaChpfDApe2Nhc2UgMzQ6Y2FzZSAz
OTpicmVhaztkZWZhdWx0OntmW2g+PjJdPWI7Yj0wO2JyZWFrIGF9fWU9YisoZltqPj4yXXwwKXww
O2ZbZz4+Ml09ZTtiPWk8PDI0Pj4yNDtjOndoaWxlKDEpe2k9RVooYSxlLGMpfDA7aWYoKGl8MCk9
PShifDApKXtpPTMyO2JyZWFrfWlmKChpKy00OHwwKT4+PjA+OSYoKGkmLTMzKSstNjV8MCk+Pj4w
PjI1KXN3aXRjaChpfDApe2Nhc2UgNDU6Y2FzZSA0NjpjYXNlIDk1OmJyZWFrO2RlZmF1bHQ6e2k9
MzA7YnJlYWsgY319ZT1lKyhmW2o+PjJdfDApfDB9aWYoKGl8MCk9PTMwKXtmW2g+PjJdPWU7Yj0w
O2JyZWFrfWVsc2UgaWYoKGl8MCk9PTMyKXtmW2g+PjJdPWUrKGZbaj4+Ml18MCk7Yj0xO2JyZWFr
fX1lbHNle2ZbZD4+Ml09MDtiPTF9d2hpbGUoMCk7cmV0dXJuIGJ8MH1mdW5jdGlvbiBFWihhLGMs
ZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MDtoPXQ7dD10KzE2fDA7aT1o
KzR8MDtlPWgrOHwwO2c9aDtmW2k+PjJdPWM7ZltnPj4yXT1lO3liW2ZbYSs1Nj4+Ml0mMTI3XShh
LGksZCxnLGUrMXwwKXwwO3Q9aDtyZXR1cm4gKChmW2c+PjJdfDApPT0oZXwwKT8tMTpiW2U+PjBd
fDApfDB9ZnVuY3Rpb24gRlooYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9
MCxpPTA7aD10O3Q9dCsxNDR8MDtpPWgrMTMyfDA7ZT1oO2c9aCsxMjh8MDtmW2k+PjJdPWM7Zltn
Pj4yXT1lO3liW2ZbYSs1Nj4+Ml0mMTI3XShhLGksZCxnLGUrMTI3fDApfDA7ZG8gaWYoKGZbaT4+
Ml18MCk9PShkfDApKXtiW2ZbZz4+Ml0+PjBdPTA7aWYoelooZSwxNTA4MzApfDA/KGZbYSs2ND4+
Ml18MCk9PTI6MClicmVhazthPVJZKGUpfDA7aWYoKGF8MCkhPS0xKWE9Zls1NTUyMCsoYTw8Mik+
PjJdfDA7ZWxzZSBhPTB9ZWxzZSBhPTA7d2hpbGUoMCk7dD1oO3JldHVybiBhfDB9ZnVuY3Rpb24g
R1ooYSl7YT1hfDA7c3dpdGNoKGF8MCl7Y2FzZSA5OmNhc2UgMTA6Y2FzZSAxMzpjYXNlIDMyOnth
PTE7YnJlYWt9ZGVmYXVsdDphPTB9cmV0dXJuIGF8MH1mdW5jdGlvbiBIWigpe3JldHVybiA3NzQ2
NH1mdW5jdGlvbiBJWihhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZD1SWShkKXwwO2lmKChkfDAp
PT0tMSlkPTA7ZWxzZXtiW2ErNjk+PjBdPWQ7ZlthPj4yXT02OTtmW2ErND4+Ml09NzA7ZlthKzQ4
Pj4yXT0zMTtmW2ErNzI+PjJdPWM7ZltjPj4yXT1hO2Q9MX1yZXR1cm4gZHwwfWZ1bmN0aW9uIEpa
KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3JldHVybiBWWSg1NTUyMCxhLDAsYixj
LGQpfDB9ZnVuY3Rpb24gS1ooYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7cmV0dXJu
IFZZKDU1NTIwLGEsMSxiLGMsZCl8MH1mdW5jdGlvbiBMWihhLGIsYyxkLGUsZixnLGgsaSxqKXth
PWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtpPWl8MDtqPWp8
MDtyZXR1cm4gQ1ooMzcsYSxiLGMsZCxlLGYsZyxoLGksail8MH1mdW5jdGlvbiBNWihhLGMsZCxl
KXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDthPXJYKGEsYyxkLGUpfDA7aWYoYXwwKWJbYSs3Mis1
OD4+MF09MjM7cmV0dXJuIGF8MH1mdW5jdGlvbiBOWihhKXthPWF8MDtmW2E+PjJdPTE1O2ZbYSsx
Nj4+Ml09MTtmW2ErMTI+PjJdPTA7ZlthKzIwPj4yXT0wO3JldHVybn1mdW5jdGlvbiBPWihhLGIs
YyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTA7c3dpdGNoKGJ8MCl7
Y2FzZSAxNTp7ZlthPj4yXT0xNjthPTA7YnJlYWt9Y2FzZSAxMjp7ZlthPj4yXT0xNjthPTE7YnJl
YWt9Y2FzZSAxMTp7ZlthPj4yXT0xNjthPTU1O2JyZWFrfWNhc2UgMTM6e2ZbYT4+Ml09MTY7YT01
NjticmVha31jYXNlIDE0OnthPTA7YnJlYWt9Y2FzZSAxNjp7aWYoISh4YltmW2UrMjQ+PjJdJjEy
N10oZSxjKyhmW2UrNjQ+PjJdPDwxKXwwLGQsMTUwODgzKXwwKSlnPTk7ZWxzZXtmW2E+PjJdPTE3
O2E9M31icmVha31jYXNlIDI5OntmW2E+PjJdPTE4O2E9MjticmVha31kZWZhdWx0Omc9OX1pZigo
Z3wwKT09OSlhPVNaKGEsYil8MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIFBaKGEsYixjLGQsZSl7YT1h
fDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MDtzd2l0Y2goYnwwKXtjYXNlIDE0OmNh
c2UgMTU6e2E9MDticmVha31jYXNlIDExOnthPTU1O2JyZWFrfWNhc2UgMTM6e2E9NTY7YnJlYWt9
Y2FzZSAxNjp7aWYoISh4YltmW2UrMjQ+PjJdJjEyN10oZSxjKyhmW2UrNjQ+PjJdPDwxKXwwLGQs
MTUwODgzKXwwKSlnPTc7ZWxzZXtmW2E+PjJdPTE3O2E9M31icmVha31jYXNlIDI5OntmW2E+PjJd
PTE4O2E9MjticmVha31kZWZhdWx0Omc9N31pZigoZ3wwKT09NylhPVNaKGEsYil8MDtyZXR1cm4g
YXwwfWZ1bmN0aW9uIFFaKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7
c3dpdGNoKGJ8MCl7Y2FzZSAxNTp7YT0zO2JyZWFrfWNhc2UgNDE6Y2FzZSAxODp7ZlthPj4yXT0x
OTthPTQ7YnJlYWt9ZGVmYXVsdDphPVNaKGEsYil8MH1yZXR1cm4gYXwwfWZ1bmN0aW9uIFJaKGEs
YixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7cmV0dXJuIDB9ZnVuY3Rpb24g
U1ooYSxiKXthPWF8MDtiPWJ8MDtpZigoYnwwKT09MjgmKGZbYSsxNj4+Ml18MCk9PTApYT01OTtl
bHNle2ZbYT4+Ml09MTg7YT0tMX1yZXR1cm4gYXwwfWZ1bmN0aW9uIFRaKGEsYixjLGQsZSl7YT1h
fDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTA7YTpkbyBzd2l0Y2goYnwwKXtj
YXNlIDE1OnthPTM7YnJlYWt9Y2FzZSAyNTp7ZlthPj4yXT0yMDthPTc7YnJlYWt9Y2FzZSAxNzp7
ZlthPj4yXT0yMTthPTg7YnJlYWt9Y2FzZSAxODp7Zz1lKzI0fDA7aWYoeGJbZltnPj4yXSYxMjdd
KGUsYyxkLDE1MDg5MSl8MCl7ZlthPj4yXT0yMjthPTM7YnJlYWsgYX1pZighKHhiW2ZbZz4+Ml0m
MTI3XShlLGMsZCwxNTA4OTgpfDApKWg9ODtlbHNle2ZbYT4+Ml09MjM7YT0zfWJyZWFrfWRlZmF1
bHQ6aD04fXdoaWxlKDApO2lmKChofDApPT04KWE9U1ooYSxiKXwwO3JldHVybiBhfDB9ZnVuY3Rp
b24gVVooYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9
MCxpPTA7YTpkbyBzd2l0Y2goYnwwKXtjYXNlIC00OmNhc2UgMTU6e2E9MDticmVha31jYXNlIDE2
OntnPWUrMjR8MDtoPWUrNjR8MDtpZih4YltmW2c+PjJdJjEyN10oZSxjKyhmW2g+PjJdPDwxKXww
LGQsMTUwOTA1KXwwKXtmW2E+PjJdPTI0O2E9MTE7YnJlYWsgYX1pZih4YltmW2c+PjJdJjEyN10o
ZSxjKyhmW2g+PjJdPDwxKXwwLGQsMTUwOTEyKXwwKXtmW2E+PjJdPTI1O2E9MzM7YnJlYWsgYX1p
Zih4YltmW2c+PjJdJjEyN10oZSxjKyhmW2g+PjJdPDwxKXwwLGQsMTUwOTIwKXwwKXtmW2E+PjJd
PTI2O2E9Mzk7YnJlYWsgYX1pZighKHhiW2ZbZz4+Ml0mMTI3XShlLGMrKGZbaD4+Ml08PDEpfDAs
ZCwxNTA5MjgpfDApKWk9MTQ7ZWxzZXtmW2E+PjJdPTI3O2E9MTd9YnJlYWt9Y2FzZSAxMTp7YT01
NTticmVha31jYXNlIDEzOnthPTU2O2JyZWFrfWNhc2UgMjg6e2E9NjA7YnJlYWt9Y2FzZSAyNjp7
ZlthPj4yXT0yODthPTM7YnJlYWt9ZGVmYXVsdDppPTE0fXdoaWxlKDApO2lmKChpfDApPT0xNClh
PVNaKGEsYil8MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIFZaKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7
Yz1jfDA7ZD1kfDA7ZT1lfDA7ZT1iKy0xMXwwO3N3aXRjaChlPj4+MXxlPDwzMXwwKXtjYXNlIDI6
e2E9MDticmVha31jYXNlIDA6e2E9NTU7YnJlYWt9Y2FzZSAxOnthPTU2O2JyZWFrfWNhc2UgOTp7
ZlthPj4yXT0xODthPTI7YnJlYWt9ZGVmYXVsdDphPVNaKGEsYil8MH1yZXR1cm4gYXwwfWZ1bmN0
aW9uIFdaKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7c3dpdGNoKGJ8
MCl7Y2FzZSAxNTp7YT0zO2JyZWFrfWNhc2UgMjc6e2ZbYT4+Ml09Mjk7YT01O2JyZWFrfWRlZmF1
bHQ6YT1TWihhLGIpfDB9cmV0dXJuIGF8MH1mdW5jdGlvbiBYWihhLGIsYyxkLGUpe2E9YXwwO2I9
YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3N3aXRjaChifDApe2Nhc2UgMTU6e2E9MzticmVha31jYXNl
IDI3OntmW2E+PjJdPTIyO2E9NjticmVha31kZWZhdWx0OmE9U1ooYSxiKXwwfXJldHVybiBhfDB9
ZnVuY3Rpb24gWVooYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtzd2l0
Y2goYnwwKXtjYXNlIDE1OnthPTM7YnJlYWt9Y2FzZSAyNTp7ZlthPj4yXT0yMDthPTc7YnJlYWt9
Y2FzZSAxNzp7ZlthPj4yXT0yMTthPTg7YnJlYWt9ZGVmYXVsdDphPVNaKGEsYil8MH1yZXR1cm4g
YXwwfWZ1bmN0aW9uIFpaKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7
c3dpdGNoKGJ8MCl7Y2FzZSAxNTp7YT0xMTticmVha31jYXNlIDIyOntmW2E+PjJdPTMwO2E9MTE7
YnJlYWt9Y2FzZSAxODp7ZlthPj4yXT0zMTthPTk7YnJlYWt9ZGVmYXVsdDphPVNaKGEsYil8MH1y
ZXR1cm4gYXwwfWZ1bmN0aW9uIF9aKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7
ZT1lfDA7c3dpdGNoKGJ8MCl7Y2FzZSAxNTp7YT0zMzticmVha31jYXNlIDQxOmNhc2UgMTg6e2Zb
YT4+Ml09MzI7YT0zNDticmVha31kZWZhdWx0OmE9U1ooYSxiKXwwfXJldHVybiBhfDB9ZnVuY3Rp
b24gJFooYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtzd2l0Y2goYnww
KXtjYXNlIDE1OnthPTM5O2JyZWFrfWNhc2UgNDE6Y2FzZSAxODp7ZlthPj4yXT0zMzthPTQwO2Jy
ZWFrfWRlZmF1bHQ6YT1TWihhLGIpfDB9cmV0dXJuIGF8MH1mdW5jdGlvbiBhXyhhLGIsYyxkLGUp
e2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3N3aXRjaChifDApe2Nhc2UgMTU6e2E9MTc7
YnJlYWt9Y2FzZSAxODp7ZlthPj4yXT0zNDthPTE4O2JyZWFrfWRlZmF1bHQ6YT1TWihhLGIpfDB9
cmV0dXJuIGF8MH1mdW5jdGlvbiBiXyhhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHww
O2U9ZXwwO3N3aXRjaChifDApe2Nhc2UgMTU6e2E9MzticmVha31jYXNlIDE3OntmW2E+PjJdPTIx
O2E9ODticmVha31kZWZhdWx0OmE9U1ooYSxiKXwwfXJldHVybiBhfDB9ZnVuY3Rpb24gY18oYSxi
LGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9MDthOmRvIHN3
aXRjaChifDApe2Nhc2UgMTU6e2E9MTc7YnJlYWt9Y2FzZSAxODp7Zz1lKzI0fDA7aWYoeGJbZltn
Pj4yXSYxMjddKGUsYyxkLDE1MDg5MSl8MCl7ZlthPj4yXT0zNTthPTE3O2JyZWFrIGF9aWYoISh4
YltmW2c+PjJdJjEyN10oZSxjLGQsMTUwODk4KXwwKSloPTY7ZWxzZXtmW2E+PjJdPTM2O2E9MTd9
YnJlYWt9ZGVmYXVsdDpoPTZ9d2hpbGUoMCk7aWYoKGh8MCk9PTYpYT1TWihhLGIpfDA7cmV0dXJu
IGF8MH1mdW5jdGlvbiBkXyhhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXww
O3N3aXRjaChifDApe2Nhc2UgMTU6e2E9MTc7YnJlYWt9Y2FzZSAyNzp7ZlthPj4yXT0zNztmW2Er
OD4+Ml09MTc7YT0xOTticmVha31kZWZhdWx0OmE9U1ooYSxiKXwwfXJldHVybiBhfDB9ZnVuY3Rp
b24gZV8oYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtzd2l0Y2goYnww
KXtjYXNlIDE1OnthPTE3O2JyZWFrfWNhc2UgMjc6e2ZbYT4+Ml09Mzg7YT0yMTticmVha31kZWZh
dWx0OmE9U1ooYSxiKXwwfXJldHVybiBhfDB9ZnVuY3Rpb24gZl8oYSxiLGMsZCxlKXthPWF8MDti
PWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtzd2l0Y2goYnwwKXtjYXNlIDE1OnthPTE3O2JyZWFrfWNh
c2UgMjc6e2ZbYT4+Ml09Mzc7ZlthKzg+PjJdPTE3O2E9MTk7YnJlYWt9Y2FzZSAxNzp7ZlthPj4y
XT0oZlthKzE2Pj4yXXwwKT09MD8zOToyMDthPTIwO2JyZWFrfWRlZmF1bHQ6YT1TWihhLGIpfDB9
cmV0dXJuIGF8MH1mdW5jdGlvbiBnXyhhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHww
O2U9ZXwwO3N3aXRjaChifDApe2Nhc2UgMTU6e2E9ZlthKzg+PjJdfDA7YnJlYWt9Y2FzZSAxNzp7
ZlthPj4yXT0oZlthKzE2Pj4yXXwwKT09MD8zOToyMDthPWZbYSs4Pj4yXXwwO2JyZWFrfWRlZmF1
bHQ6YT1TWihhLGIpfDB9cmV0dXJuIGF8MH1mdW5jdGlvbiBoXyhhLGIsYyxkLGUpe2E9YXwwO2I9
YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTA7c3dpdGNoKGJ8MCl7Y2FzZSAzMzp7ZlthPj4y
XT00MDtjPTA7YnJlYWt9Y2FzZSAzNDp7Yz1hKzEyfDA7ZD1mW2M+PjJdfDA7aWYoIWQpZz03O2Vs
c2V7ZltjPj4yXT1kKy0xO2M9MH1icmVha31jYXNlIDE1OntjPTA7YnJlYWt9Y2FzZSAyNjp7Zz03
O2JyZWFrfWNhc2UgLTQ6e2lmKCEoZlthKzEyPj4yXXwwKSljPTA7ZWxzZSBnPTc7YnJlYWt9ZGVm
YXVsdDpjPVVaKGEsYixjLGQsZSl8MH1pZigoZ3wwKT09NyljPVNaKGEsYil8MDtyZXR1cm4gY3ww
fWZ1bmN0aW9uIGlfKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFy
IGc9MCxoPTA7YTpkbyBzd2l0Y2goYnwwKXtjYXNlIDE1OnthPTA7YnJlYWt9Y2FzZSAxODp7Zz1l
KzI0fDA7aWYoeGJbZltnPj4yXSYxMjddKGUsYyxkLDE1MDkzNyl8MCl7ZlthPj4yXT00MTthPTA7
YnJlYWsgYX1pZighKHhiW2ZbZz4+Ml0mMTI3XShlLGMsZCwxNTA5NDUpfDApKWg9NjtlbHNle2Zb
YT4+Ml09NDI7YT0wfWJyZWFrfWRlZmF1bHQ6aD02fXdoaWxlKDApO2lmKChofDApPT02KWE9U1oo
YSxiKXwwO3JldHVybiBhfDB9ZnVuY3Rpb24gal8oYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8
MDtkPWR8MDtlPWV8MDtzd2l0Y2goYnwwKXtjYXNlIDE1OnthPTA7YnJlYWt9Y2FzZSAyNTp7Zlth
Pj4yXT0zOTthPWErMTJ8MDtmW2E+PjJdPShmW2E+PjJdfDApKzE7YT0wO2JyZWFrfWRlZmF1bHQ6
YT1TWihhLGIpfDB9cmV0dXJuIGF8MH1mdW5jdGlvbiBrXyhhLGIsYyxkLGUpe2E9YXwwO2I9Ynww
O2M9Y3wwO2Q9ZHwwO2U9ZXwwO3N3aXRjaChifDApe2Nhc2UgMTU6e2E9MDticmVha31jYXNlIDI1
OntmW2E+PjJdPTM5O2E9NTg7YnJlYWt9ZGVmYXVsdDphPVNaKGEsYil8MH1yZXR1cm4gYXwwfWZ1
bmN0aW9uIGxfKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9
MCxoPTA7YTpkbyBzd2l0Y2goYnwwKXtjYXNlIDE1OnthPTM5O2JyZWFrfWNhc2UgMTg6e2c9ZSsy
NHwwO2lmKHhiW2ZbZz4+Ml0mMTI3XShlLGMsZCwxNTA5NTIpfDApe2ZbYT4+Ml09Mzc7ZlthKzg+
PjJdPTM5O2E9NDI7YnJlYWsgYX1pZighKHhiW2ZbZz4+Ml0mMTI3XShlLGMsZCwxNTA5NTgpfDAp
KWg9NztlbHNle2ZbYT4+Ml09Mzc7ZlthKzg+PjJdPTM5O2E9NDF9YnJlYWt9Y2FzZSAyMzp7Zlth
Pj4yXT00MztmW2ErND4+Ml09MTthPTQ0O2JyZWFrfWRlZmF1bHQ6aD03fXdoaWxlKDApO2lmKCho
fDApPT03KWE9U1ooYSxiKXwwO3JldHVybiBhfDB9ZnVuY3Rpb24gbV8oYSxiLGMsZCxlKXthPWF8
MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wO3N3aXRjaChifDApe2Nhc2UgMTU6e2E9
Mzk7YnJlYWt9Y2FzZSAyMDp7aWYoISh4YltmW2UrMjQ+PjJdJjEyN10oZSxjKyhmW2UrNjQ+PjJd
fDApfDAsZCwxNTA5NjIpfDApKWc9OTtlbHNle2ZbYT4+Ml09NDQ7YT00M31icmVha31jYXNlIDIz
OntmW2ErND4+Ml09MjtmW2E+PjJdPTQ1O2E9NDQ7YnJlYWt9Y2FzZSA0MTpjYXNlIDE4OntmW2E+
PjJdPTQ2O2E9NTE7YnJlYWt9Y2FzZSAzMDp7ZlthPj4yXT00NjthPTUzO2JyZWFrfWNhc2UgMzE6
e2ZbYT4+Ml09NDY7YT01MjticmVha31jYXNlIDMyOntmW2E+PjJdPTQ2O2E9NTQ7YnJlYWt9ZGVm
YXVsdDpnPTl9aWYoKGd8MCk9PTkpYT1TWihhLGIpfDA7cmV0dXJuIGF8MH1mdW5jdGlvbiBuXyhh
LGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3N3aXRjaChifDApe2Nhc2Ug
MTU6e2E9Mzk7YnJlYWt9Y2FzZSAyNDp7ZlthPj4yXT0zNztmW2ErOD4+Ml09Mzk7YT00NTticmVh
a31jYXNlIDM2OntmW2E+PjJdPTM3O2ZbYSs4Pj4yXT0zOTthPTQ2O2JyZWFrfWNhc2UgMjE6e2Zb
YT4+Ml09NDc7YT0zOTticmVha31kZWZhdWx0OmE9U1ooYSxiKXwwfXJldHVybiBhfDB9ZnVuY3Rp
b24gb18oYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtzd2l0Y2goYnww
KXtjYXNlIDE1OnthPTM5O2JyZWFrfWNhc2UgMjM6e2E9YSs0fDA7ZlthPj4yXT0oZlthPj4yXXww
KSsxO2E9NDQ7YnJlYWt9Y2FzZSA0MTpjYXNlIDE4OntmW2E+PjJdPTQ2O2E9NTE7YnJlYWt9Y2Fz
ZSAzMDp7ZlthPj4yXT00NjthPTUzO2JyZWFrfWNhc2UgMzE6e2ZbYT4+Ml09NDY7YT01MjticmVh
a31jYXNlIDMyOntmW2E+PjJdPTQ2O2E9NTQ7YnJlYWt9ZGVmYXVsdDphPVNaKGEsYil8MH1yZXR1
cm4gYXwwfWZ1bmN0aW9uIHBfKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1l
fDA7c3dpdGNoKGJ8MCl7Y2FzZSAxNTp7YT0zOTticmVha31jYXNlIDI0OntkPWErNHwwO2U9KGZb
ZD4+Ml18MCkrLTF8MDtmW2Q+PjJdPWU7aWYoIWUpe2ZbYT4+Ml09Mzc7ZlthKzg+PjJdPTM5O2E9
NDV9ZWxzZSBhPTQ1O2JyZWFrfWNhc2UgMzY6e2Q9YSs0fDA7ZT0oZltkPj4yXXwwKSstMXwwO2Zb
ZD4+Ml09ZTtpZighZSl7ZlthPj4yXT0zNztmW2ErOD4+Ml09Mzk7YT00Nn1lbHNlIGE9NDY7YnJl
YWt9Y2FzZSAzNTp7ZD1hKzR8MDtlPShmW2Q+PjJdfDApKy0xfDA7ZltkPj4yXT1lO2lmKCFlKXtm
W2E+PjJdPTM3O2ZbYSs4Pj4yXT0zOTthPTQ3fWVsc2UgYT00NzticmVha31jYXNlIDM3OntkPWEr
NHwwO2U9KGZbZD4+Ml18MCkrLTF8MDtmW2Q+PjJdPWU7aWYoIWUpe2ZbYT4+Ml09Mzc7ZlthKzg+
PjJdPTM5O2E9NDh9ZWxzZSBhPTQ4O2JyZWFrfWNhc2UgMzg6e2ZbYT4+Ml09NDU7YT01MDticmVh
a31jYXNlIDIxOntmW2E+PjJdPTQ1O2E9NDk7YnJlYWt9ZGVmYXVsdDphPVNaKGEsYil8MH1yZXR1
cm4gYXwwfWZ1bmN0aW9uIHFfKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1l
fDA7c3dpdGNoKGJ8MCl7Y2FzZSAxNTp7YT0zOTticmVha31jYXNlIDQxOmNhc2UgMTg6e2ZbYT4+
Ml09NDg7YT01MTticmVha31kZWZhdWx0OmE9U1ooYSxiKXwwfXJldHVybiBhfDB9ZnVuY3Rpb24g
cl8oYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtzd2l0Y2goYnwwKXtj
YXNlIDE1OnthPTM5O2JyZWFrfWNhc2UgMzY6e2ZbYT4+Ml09Mzc7ZlthKzg+PjJdPTM5O2E9NDY7
YnJlYWt9Y2FzZSAyMTp7ZlthPj4yXT00NzthPTM5O2JyZWFrfWRlZmF1bHQ6YT1TWihhLGIpfDB9
cmV0dXJuIGF8MH1mdW5jdGlvbiBzXyhhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHww
O2U9ZXwwO3N3aXRjaChifDApe2Nhc2UgMTU6e2E9MzM7YnJlYWt9Y2FzZSAxNzp7ZlthPj4yXT0o
ZlthKzE2Pj4yXXwwKT09MD8zOToyMDthPTMzO2JyZWFrfWNhc2UgNDE6Y2FzZSAxODp7ZlthPj4y
XT00OTthPTIyO2JyZWFrfWRlZmF1bHQ6YT1TWihhLGIpfDB9cmV0dXJuIGF8MH1mdW5jdGlvbiB0
XyhhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9
MCxqPTA7YTpkbyBzd2l0Y2goYnwwKXtjYXNlIDE1OntnPTMzO2JyZWFrfWNhc2UgMTg6e2g9ZSsy
NHwwO2c9MDt3aGlsZSgxKXtpPWZbaD4+Ml18MDtpZihnPj4+MD49OClicmVhaztpZih4YltpJjEy
N10oZSxjLGQsZls1NTU1MisoZzw8Mik+PjJdfDApfDApe2o9NjticmVha31nPWcrMXwwfWlmKChq
fDApPT02KXtmW2E+PjJdPTUwO2c9ZysyM3wwO2JyZWFrIGF9aWYoISh4YltpJjEyN10oZSxjLGQs
MTUwOTI4KXwwKSlqPTEwO2Vsc2V7ZlthPj4yXT01MTtnPTMzfWJyZWFrfWNhc2UgMjM6e2ZbYT4+
Ml09NTI7Zz0zMzticmVha31kZWZhdWx0Omo9MTB9d2hpbGUoMCk7aWYoKGp8MCk9PTEwKWc9U1oo
YSxiKXwwO3JldHVybiBnfDB9ZnVuY3Rpb24gdV8oYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8
MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTA7YTpkbyBzd2l0Y2goYnwwKXtjYXNlIDE1Onth
PTMzO2JyZWFrfWNhc2UgMjA6e2c9ZSsyNHwwO2g9ZSs2NHwwO2lmKHhiW2ZbZz4+Ml0mMTI3XShl
LGMrKGZbaD4+Ml18MCl8MCxkLDE1MDk2OSl8MCl7ZlthPj4yXT0zMjthPTM1O2JyZWFrIGF9aWYo
eGJbZltnPj4yXSYxMjddKGUsYysoZltoPj4yXXwwKXwwLGQsMTUwOTc3KXwwKXtmW2E+PjJdPTMy
O2E9MzY7YnJlYWsgYX1pZighKHhiW2ZbZz4+Ml0mMTI3XShlLGMrKGZbaD4+Ml18MCl8MCxkLDE1
MDk4Nil8MCkpaT05O2Vsc2V7ZlthPj4yXT01MzthPTMzfWJyZWFrfWNhc2UgMjc6e2ZbYT4+Ml09
MzI7YT0zNzticmVha31kZWZhdWx0Omk9OX13aGlsZSgwKTtpZigoaXwwKT09OSlhPVNaKGEsYil8
MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIHZfKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1k
fDA7ZT1lfDA7c3dpdGNoKGJ8MCl7Y2FzZSAxNTp7YT0zMzticmVha31jYXNlIDIzOntmW2E+PjJd
PTU0O2E9MzM7YnJlYWt9ZGVmYXVsdDphPVNaKGEsYil8MH1yZXR1cm4gYXwwfWZ1bmN0aW9uIHdf
KGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7c3dpdGNoKGJ8MCl7Y2Fz
ZSAxNTp7YT0zMzticmVha31jYXNlIDQxOmNhc2UgMTg6Y2FzZSAxOTp7ZlthPj4yXT01NTthPTMx
O2JyZWFrfWRlZmF1bHQ6YT1TWihhLGIpfDB9cmV0dXJuIGF8MH1mdW5jdGlvbiB4XyhhLGIsYyxk
LGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3N3aXRjaChifDApe2Nhc2UgMTU6e2E9
MzM7YnJlYWt9Y2FzZSAyNDp7ZlthPj4yXT01MDthPTMzO2JyZWFrfWNhc2UgMjE6e2ZbYT4+Ml09
NTI7YT0zMzticmVha31kZWZhdWx0OmE9U1ooYSxiKXwwfXJldHVybiBhfDB9ZnVuY3Rpb24geV8o
YSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtzd2l0Y2goYnwwKXtjYXNl
IDE1OnthPTMzO2JyZWFrfWNhc2UgMTg6e2ZbYT4+Ml09NTY7YT0zMjticmVha31kZWZhdWx0OmE9
U1ooYSxiKXwwfXJldHVybiBhfDB9ZnVuY3Rpb24gel8oYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtj
PWN8MDtkPWR8MDtlPWV8MDtzd2l0Y2goYnwwKXtjYXNlIDE1OnthPTMzO2JyZWFrfWNhc2UgMjQ6
e2ZbYT4+Ml09NTA7YT0zMzticmVha31jYXNlIDIxOntmW2E+PjJdPTU0O2E9MzM7YnJlYWt9ZGVm
YXVsdDphPVNaKGEsYil8MH1yZXR1cm4gYXwwfWZ1bmN0aW9uIEFfKGEsYixjLGQsZSl7YT1hfDA7
Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7c3dpdGNoKGJ8MCl7Y2FzZSAxNTp7YT0zMzticmVha31j
YXNlIDI3OntmW2E+PjJdPTMyO2E9Mzg7YnJlYWt9ZGVmYXVsdDphPVNaKGEsYil8MH1yZXR1cm4g
YXwwfWZ1bmN0aW9uIEJfKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7
c3dpdGNoKGJ8MCl7Y2FzZSAxNTp7YT0xMTticmVha31jYXNlIDE4OntmW2E+PjJdPTU3O2E9MTA7
YnJlYWt9ZGVmYXVsdDphPVNaKGEsYil8MH1yZXR1cm4gYXwwfWZ1bmN0aW9uIENfKGEsYixjLGQs
ZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTA7YTpkbyBzd2l0Y2go
YnwwKXtjYXNlIDE1OnthPTExO2JyZWFrfWNhc2UgMTg6e2c9ZSsyNHwwO2lmKHhiW2ZbZz4+Ml0m
MTI3XShlLGMsZCwxNTA4OTEpfDApe2ZbYT4+Ml09NTg7YT0xMTticmVhayBhfWlmKCEoeGJbZltn
Pj4yXSYxMjddKGUsYyxkLDE1MDg5OCl8MCkpaD03O2Vsc2V7ZlthPj4yXT01OTthPTExfWJyZWFr
fWNhc2UgMjc6e2ZbYT4+Ml09Mzc7ZlthKzg+PjJdPTExO2E9MTI7YnJlYWt9ZGVmYXVsdDpoPTd9
d2hpbGUoMCk7aWYoKGh8MCk9PTcpYT1TWihhLGIpfDA7cmV0dXJuIGF8MH1mdW5jdGlvbiBEXyhh
LGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3N3aXRjaChifDApe2Nhc2Ug
MTU6e2E9MTE7YnJlYWt9Y2FzZSAyNzp7ZlthPj4yXT02MDthPTEzO2JyZWFrfWRlZmF1bHQ6YT1T
WihhLGIpfDB9cmV0dXJuIGF8MH1mdW5jdGlvbiBFXyhhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9
Y3wwO2Q9ZHwwO2U9ZXwwO3N3aXRjaChifDApe2Nhc2UgMTU6e2E9MTE7YnJlYWt9Y2FzZSAyNzp7
ZlthPj4yXT01ODthPTE0O2JyZWFrfWRlZmF1bHQ6YT1TWihhLGIpfDB9cmV0dXJuIGF8MH1mdW5j
dGlvbiBGXyhhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTA7
c3dpdGNoKGJ8MCl7Y2FzZSAxNTp7YT0xMTticmVha31jYXNlIDE3OntmW2E+PjJdPShmW2ErMTY+
PjJdfDApPT0wPzM5OjIwO2E9MTU7YnJlYWt9Y2FzZSAxODp7aWYoISh4YltmW2UrMjQ+PjJdJjEy
N10oZSxjLGQsMTUxMDQwKXwwKSlnPTU7ZWxzZXtmW2E+PjJdPTYxO2E9MTF9YnJlYWt9ZGVmYXVs
dDpnPTV9aWYoKGd8MCk9PTUpYT1TWihhLGIpfDA7cmV0dXJuIGF8MH1mdW5jdGlvbiBHXyhhLGIs
YyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3N3aXRjaChifDApe2Nhc2UgMTU6
e2E9MTE7YnJlYWt9Y2FzZSAxODp7ZlthPj4yXT0zNztmW2ErOD4+Ml09MTE7YT0xNjticmVha31k
ZWZhdWx0OmE9U1ooYSxiKXwwfXJldHVybiBhfDB9ZnVuY3Rpb24gSF8oYSxiLGMsZCxlKXthPWF8
MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9MDthOmRvIHN3aXRjaChifDApe2Nh
c2UgMTU6e2E9MTE7YnJlYWt9Y2FzZSAxODp7Zz1lKzI0fDA7aWYoeGJbZltnPj4yXSYxMjddKGUs
YyxkLDE1MDg5MSl8MCl7ZlthPj4yXT02MjthPTExO2JyZWFrIGF9aWYoISh4YltmW2c+PjJdJjEy
N10oZSxjLGQsMTUwODk4KXwwKSloPTc7ZWxzZXtmW2E+PjJdPTYzO2E9MTF9YnJlYWt9Y2FzZSAy
Nzp7ZlthPj4yXT0zNztmW2ErOD4+Ml09MTE7YT0xMjticmVha31kZWZhdWx0Omg9N313aGlsZSgw
KTtpZigoaHwwKT09NylhPVNaKGEsYil8MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIElfKGEsYixjLGQs
ZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7c3dpdGNoKGJ8MCl7Y2FzZSAxNTp7YT0x
MTticmVha31jYXNlIDI3OntmW2E+PjJdPTY0O2E9MTM7YnJlYWt9ZGVmYXVsdDphPVNaKGEsYil8
MH1yZXR1cm4gYXwwfWZ1bmN0aW9uIEpfKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1k
fDA7ZT1lfDA7c3dpdGNoKGJ8MCl7Y2FzZSAxNTp7YT0xMTticmVha31jYXNlIDI3OntmW2E+PjJd
PTYyO2E9MTQ7YnJlYWt9ZGVmYXVsdDphPVNaKGEsYil8MH1yZXR1cm4gYXwwfWZ1bmN0aW9uIEtf
KGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7c3dpdGNoKGJ8MCl7Y2Fz
ZSAxNTp7YT0xMTticmVha31jYXNlIDE3OntmW2E+PjJdPShmW2ErMTY+PjJdfDApPT0wPzM5OjIw
O2E9MTU7YnJlYWt9ZGVmYXVsdDphPVNaKGEsYil8MH1yZXR1cm4gYXwwfWZ1bmN0aW9uIExfKGEp
e2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49
MCxvPTAscD0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MDt4PXQ7dD10KzE2fDA7bj14O2Rv
IGlmKGE+Pj4wPDI0NSl7az1hPj4+MDwxMT8xNjphKzExJi04O2E9az4+PjM7bT1mWzQ4NTU1XXww
O2M9bT4+PmE7aWYoYyYzfDApe2I9KGMmMV4xKSthfDA7YT0xOTQyNjArKGI8PDE8PDIpfDA7Yz1h
Kzh8MDtkPWZbYz4+Ml18MDtlPWQrOHwwO2c9ZltlPj4yXXwwO2lmKChnfDApPT0oYXwwKSlmWzQ4
NTU1XT1tJn4oMTw8Yik7ZWxzZXtmW2crMTI+PjJdPWE7ZltjPj4yXT1nfXc9Yjw8MztmW2QrND4+
Ml09d3wzO3c9ZCt3KzR8MDtmW3c+PjJdPWZbdz4+Ml18MTt3PWU7dD14O3JldHVybiB3fDB9bD1m
WzQ4NTU3XXwwO2lmKGs+Pj4wPmw+Pj4wKXtpZihjfDApe2I9Mjw8YTtiPWM8PGEmKGJ8MC1iKTti
PShiJjAtYikrLTF8MDtpPWI+Pj4xMiYxNjtiPWI+Pj5pO2M9Yj4+PjUmODtiPWI+Pj5jO2c9Yj4+
PjImNDtiPWI+Pj5nO2E9Yj4+PjEmMjtiPWI+Pj5hO2Q9Yj4+PjEmMTtkPShjfGl8Z3xhfGQpKyhi
Pj4+ZCl8MDtiPTE5NDI2MCsoZDw8MTw8Mil8MDthPWIrOHwwO2c9ZlthPj4yXXwwO2k9Zys4fDA7
Yz1mW2k+PjJdfDA7aWYoKGN8MCk9PShifDApKXthPW0mfigxPDxkKTtmWzQ4NTU1XT1hfWVsc2V7
ZltjKzEyPj4yXT1iO2ZbYT4+Ml09YzthPW19dz1kPDwzO2g9dy1rfDA7ZltnKzQ+PjJdPWt8Mztl
PWcra3wwO2ZbZSs0Pj4yXT1ofDE7ZltnK3c+PjJdPWg7aWYobHwwKXtkPWZbNDg1NjBdfDA7Yj1s
Pj4+MztjPTE5NDI2MCsoYjw8MTw8Mil8MDtiPTE8PGI7aWYoIShhJmIpKXtmWzQ4NTU1XT1hfGI7
Yj1jO2E9Yys4fDB9ZWxzZXthPWMrOHwwO2I9ZlthPj4yXXwwfWZbYT4+Ml09ZDtmW2IrMTI+PjJd
PWQ7ZltkKzg+PjJdPWI7ZltkKzEyPj4yXT1jfWZbNDg1NTddPWg7Zls0ODU2MF09ZTt3PWk7dD14
O3JldHVybiB3fDB9Zz1mWzQ4NTU2XXwwO2lmKGcpe2M9KGcmMC1nKSstMXwwO2U9Yz4+PjEyJjE2
O2M9Yz4+PmU7ZD1jPj4+NSY4O2M9Yz4+PmQ7aD1jPj4+MiY0O2M9Yz4+Pmg7aT1jPj4+MSYyO2M9
Yz4+Pmk7aj1jPj4+MSYxO2o9ZlsxOTQ1MjQrKChkfGV8aHxpfGopKyhjPj4+aik8PDIpPj4yXXww
O2M9ajtpPWo7aj0oZltqKzQ+PjJdJi04KS1rfDA7d2hpbGUoMSl7YT1mW2MrMTY+PjJdfDA7aWYo
IWEpe2E9ZltjKzIwPj4yXXwwO2lmKCFhKWJyZWFrfWg9KGZbYSs0Pj4yXSYtOCkta3wwO2U9aD4+
PjA8aj4+PjA7Yz1hO2k9ZT9hOmk7aj1lP2g6an1oPWkra3wwO2lmKGg+Pj4wPmk+Pj4wKXtlPWZb
aSsyND4+Ml18MDtiPWZbaSsxMj4+Ml18MDtkbyBpZigoYnwwKT09KGl8MCkpe2E9aSsyMHwwO2I9
ZlthPj4yXXwwO2lmKCFiKXthPWkrMTZ8MDtiPWZbYT4+Ml18MDtpZighYil7Yz0wO2JyZWFrfX13
aGlsZSgxKXtkPWIrMjB8MDtjPWZbZD4+Ml18MDtpZighYyl7ZD1iKzE2fDA7Yz1mW2Q+PjJdfDA7
aWYoIWMpYnJlYWs7ZWxzZXtiPWM7YT1kfX1lbHNle2I9YzthPWR9fWZbYT4+Ml09MDtjPWJ9ZWxz
ZXtjPWZbaSs4Pj4yXXwwO2ZbYysxMj4+Ml09YjtmW2IrOD4+Ml09YztjPWJ9d2hpbGUoMCk7ZG8g
aWYoZXwwKXtiPWZbaSsyOD4+Ml18MDthPTE5NDUyNCsoYjw8Mil8MDtpZigoaXwwKT09KGZbYT4+
Ml18MCkpe2ZbYT4+Ml09YztpZighYyl7Zls0ODU1Nl09ZyZ+KDE8PGIpO2JyZWFrfX1lbHNle3c9
ZSsxNnwwO2ZbKChmW3c+PjJdfDApPT0oaXwwKT93OmUrMjB8MCk+PjJdPWM7aWYoIWMpYnJlYWt9
ZltjKzI0Pj4yXT1lO2I9ZltpKzE2Pj4yXXwwO2lmKGJ8MCl7ZltjKzE2Pj4yXT1iO2ZbYisyND4+
Ml09Y31iPWZbaSsyMD4+Ml18MDtpZihifDApe2ZbYysyMD4+Ml09YjtmW2IrMjQ+PjJdPWN9fXdo
aWxlKDApO2lmKGo+Pj4wPDE2KXt3PWora3wwO2ZbaSs0Pj4yXT13fDM7dz1pK3crNHwwO2Zbdz4+
Ml09Zlt3Pj4yXXwxfWVsc2V7ZltpKzQ+PjJdPWt8MztmW2grND4+Ml09anwxO2ZbaCtqPj4yXT1q
O2lmKGx8MCl7ZD1mWzQ4NTYwXXwwO2I9bD4+PjM7Yz0xOTQyNjArKGI8PDE8PDIpfDA7Yj0xPDxi
O2lmKCEoYiZtKSl7Zls0ODU1NV09YnxtO2I9YzthPWMrOHwwfWVsc2V7YT1jKzh8MDtiPWZbYT4+
Ml18MH1mW2E+PjJdPWQ7ZltiKzEyPj4yXT1kO2ZbZCs4Pj4yXT1iO2ZbZCsxMj4+Ml09Y31mWzQ4
NTU3XT1qO2ZbNDg1NjBdPWh9dz1pKzh8MDt0PXg7cmV0dXJuIHd8MH1lbHNlIG09a31lbHNlIG09
a31lbHNlIG09a31lbHNlIGlmKGE+Pj4wPD00Mjk0OTY3MjMxKXthPWErMTF8MDtrPWEmLTg7ZD1m
WzQ4NTU2XXwwO2lmKGQpe2U9MC1rfDA7YT1hPj4+ODtpZihhKWlmKGs+Pj4wPjE2Nzc3MjE1KWo9
MzE7ZWxzZXttPShhKzEwNDgzMjB8MCk+Pj4xNiY4O3E9YTw8bTtpPShxKzUyMDE5MnwwKT4+PjE2
JjQ7cT1xPDxpO2o9KHErMjQ1NzYwfDApPj4+MTYmMjtqPTE0LShpfG18aikrKHE8PGo+Pj4xNSl8
MDtqPWs+Pj4oais3fDApJjF8ajw8MX1lbHNlIGo9MDtjPWZbMTk0NTI0KyhqPDwyKT4+Ml18MDth
OmRvIGlmKCFjKXtjPTA7YT0wO3E9NjF9ZWxzZXthPTA7aT1rPDwoKGp8MCk9PTMxPzA6MjUtKGo+
Pj4xKXwwKTtnPTA7d2hpbGUoMSl7aD0oZltjKzQ+PjJdJi04KS1rfDA7aWYoaD4+PjA8ZT4+PjAp
aWYoIWgpe2E9YztlPTA7cT02NTticmVhayBhfWVsc2V7YT1jO2U9aH1xPWZbYysyMD4+Ml18MDtj
PWZbYysxNisoaT4+PjMxPDwyKT4+Ml18MDtnPShxfDApPT0wfChxfDApPT0oY3wwKT9nOnE7aWYo
IWMpe2M9ZztxPTYxO2JyZWFrfWVsc2UgaT1pPDwxfX13aGlsZSgwKTtpZigocXwwKT09NjEpe2lm
KChjfDApPT0wJihhfDApPT0wKXthPTI8PGo7YT0oYXwwLWEpJmQ7aWYoIWEpe209azticmVha31t
PShhJjAtYSkrLTF8MDtoPW0+Pj4xMiYxNjttPW0+Pj5oO2c9bT4+PjUmODttPW0+Pj5nO2k9bT4+
PjImNDttPW0+Pj5pO2o9bT4+PjEmMjttPW0+Pj5qO2M9bT4+PjEmMTthPTA7Yz1mWzE5NDUyNCso
KGd8aHxpfGp8YykrKG0+Pj5jKTw8Mik+PjJdfDB9aWYoIWMpe2k9YTtoPWV9ZWxzZSBxPTY1fWlm
KChxfDApPT02NSl7Zz1jO3doaWxlKDEpe209KGZbZys0Pj4yXSYtOCkta3wwO2M9bT4+PjA8ZT4+
PjA7ZT1jP206ZTthPWM/ZzphO2M9ZltnKzE2Pj4yXXwwO2lmKCFjKWM9ZltnKzIwPj4yXXwwO2lm
KCFjKXtpPWE7aD1lO2JyZWFrfWVsc2UgZz1jfX1pZigoKGl8MCkhPTA/aD4+PjA8KChmWzQ4NTU3
XXwwKS1rfDApPj4+MDowKT8obD1pK2t8MCxsPj4+MD5pPj4+MCk6MCl7Zz1mW2krMjQ+PjJdfDA7
Yj1mW2krMTI+PjJdfDA7ZG8gaWYoKGJ8MCk9PShpfDApKXthPWkrMjB8MDtiPWZbYT4+Ml18MDtp
ZighYil7YT1pKzE2fDA7Yj1mW2E+PjJdfDA7aWYoIWIpe2I9MDticmVha319d2hpbGUoMSl7ZT1i
KzIwfDA7Yz1mW2U+PjJdfDA7aWYoIWMpe2U9YisxNnwwO2M9ZltlPj4yXXwwO2lmKCFjKWJyZWFr
O2Vsc2V7Yj1jO2E9ZX19ZWxzZXtiPWM7YT1lfX1mW2E+PjJdPTB9ZWxzZXt3PWZbaSs4Pj4yXXww
O2ZbdysxMj4+Ml09YjtmW2IrOD4+Ml09d313aGlsZSgwKTtkbyBpZihnKXthPWZbaSsyOD4+Ml18
MDtjPTE5NDUyNCsoYTw8Mil8MDtpZigoaXwwKT09KGZbYz4+Ml18MCkpe2ZbYz4+Ml09YjtpZigh
Yil7ZD1kJn4oMTw8YSk7Zls0ODU1Nl09ZDticmVha319ZWxzZXt3PWcrMTZ8MDtmWygoZlt3Pj4y
XXwwKT09KGl8MCk/dzpnKzIwfDApPj4yXT1iO2lmKCFiKWJyZWFrfWZbYisyND4+Ml09ZzthPWZb
aSsxNj4+Ml18MDtpZihhfDApe2ZbYisxNj4+Ml09YTtmW2ErMjQ+PjJdPWJ9YT1mW2krMjA+PjJd
fDA7aWYoYSl7ZltiKzIwPj4yXT1hO2ZbYSsyND4+Ml09Yn19d2hpbGUoMCk7YjpkbyBpZihoPj4+
MDwxNil7dz1oK2t8MDtmW2krND4+Ml09d3wzO3c9aSt3KzR8MDtmW3c+PjJdPWZbdz4+Ml18MX1l
bHNle2ZbaSs0Pj4yXT1rfDM7ZltsKzQ+PjJdPWh8MTtmW2wraD4+Ml09aDtiPWg+Pj4zO2lmKGg+
Pj4wPDI1Nil7Yz0xOTQyNjArKGI8PDE8PDIpfDA7YT1mWzQ4NTU1XXwwO2I9MTw8YjtpZighKGEm
Yikpe2ZbNDg1NTVdPWF8YjtiPWM7YT1jKzh8MH1lbHNle2E9Yys4fDA7Yj1mW2E+PjJdfDB9Zlth
Pj4yXT1sO2ZbYisxMj4+Ml09bDtmW2wrOD4+Ml09YjtmW2wrMTI+PjJdPWM7YnJlYWt9Yj1oPj4+
ODtpZihiKWlmKGg+Pj4wPjE2Nzc3MjE1KWM9MzE7ZWxzZXt2PShiKzEwNDgzMjB8MCk+Pj4xNiY4
O3c9Yjw8djt1PSh3KzUyMDE5MnwwKT4+PjE2JjQ7dz13PDx1O2M9KHcrMjQ1NzYwfDApPj4+MTYm
MjtjPTE0LSh1fHZ8YykrKHc8PGM+Pj4xNSl8MDtjPWg+Pj4oYys3fDApJjF8Yzw8MX1lbHNlIGM9
MDtiPTE5NDUyNCsoYzw8Mil8MDtmW2wrMjg+PjJdPWM7YT1sKzE2fDA7ZlthKzQ+PjJdPTA7Zlth
Pj4yXT0wO2E9MTw8YztpZighKGQmYSkpe2ZbNDg1NTZdPWR8YTtmW2I+PjJdPWw7ZltsKzI0Pj4y
XT1iO2ZbbCsxMj4+Ml09bDtmW2wrOD4+Ml09bDticmVha31iPWZbYj4+Ml18MDtjOmRvIGlmKChm
W2IrND4+Ml0mLTh8MCkhPShofDApKXtkPWg8PCgoY3wwKT09MzE/MDoyNS0oYz4+PjEpfDApO3do
aWxlKDEpe2M9YisxNisoZD4+PjMxPDwyKXwwO2E9ZltjPj4yXXwwO2lmKCFhKWJyZWFrO2lmKChm
W2ErND4+Ml0mLTh8MCk9PShofDApKXtiPWE7YnJlYWsgY31lbHNle2Q9ZDw8MTtiPWF9fWZbYz4+
Ml09bDtmW2wrMjQ+PjJdPWI7ZltsKzEyPj4yXT1sO2ZbbCs4Pj4yXT1sO2JyZWFrIGJ9d2hpbGUo
MCk7dj1iKzh8MDt3PWZbdj4+Ml18MDtmW3crMTI+PjJdPWw7Zlt2Pj4yXT1sO2ZbbCs4Pj4yXT13
O2ZbbCsxMj4+Ml09YjtmW2wrMjQ+PjJdPTB9d2hpbGUoMCk7dz1pKzh8MDt0PXg7cmV0dXJuIHd8
MH1lbHNlIG09a31lbHNlIG09a31lbHNlIG09LTE7d2hpbGUoMCk7Yz1mWzQ4NTU3XXwwO2lmKGM+
Pj4wPj1tPj4+MCl7Yj1jLW18MDthPWZbNDg1NjBdfDA7aWYoYj4+PjA+MTUpe3c9YSttfDA7Zls0
ODU2MF09dztmWzQ4NTU3XT1iO2Zbdys0Pj4yXT1ifDE7ZlthK2M+PjJdPWI7ZlthKzQ+PjJdPW18
M31lbHNle2ZbNDg1NTddPTA7Zls0ODU2MF09MDtmW2ErND4+Ml09Y3wzO3c9YStjKzR8MDtmW3c+
PjJdPWZbdz4+Ml18MX13PWErOHwwO3Q9eDtyZXR1cm4gd3wwfWg9Zls0ODU1OF18MDtpZihoPj4+
MD5tPj4+MCl7dT1oLW18MDtmWzQ4NTU4XT11O3c9Zls0ODU2MV18MDt2PXcrbXwwO2ZbNDg1NjFd
PXY7Zlt2KzQ+PjJdPXV8MTtmW3crND4+Ml09bXwzO3c9dys4fDA7dD14O3JldHVybiB3fDB9aWYo
IShmWzQ4NjczXXwwKSl7Zls0ODY3NV09NDA5NjtmWzQ4Njc0XT00MDk2O2ZbNDg2NzZdPS0xO2Zb
NDg2NzddPS0xO2ZbNDg2NzhdPTA7Zls0ODY2Nl09MDtmWzQ4NjczXT1uJi0xNl4xNDMxNjU1NzY4
O2E9NDA5Nn1lbHNlIGE9Zls0ODY3NV18MDtpPW0rNDh8MDtqPW0rNDd8MDtnPWEranwwO2U9MC1h
fDA7az1nJmU7aWYoaz4+PjA8PW0+Pj4wKXt3PTA7dD14O3JldHVybiB3fDB9YT1mWzQ4NjY1XXww
O2lmKGF8MD8obD1mWzQ4NjYzXXwwLG49bCtrfDAsbj4+PjA8PWw+Pj4wfG4+Pj4wPmE+Pj4wKTow
KXt3PTA7dD14O3JldHVybiB3fDB9ZDpkbyBpZighKGZbNDg2NjZdJjQpKXtjPWZbNDg1NjFdfDA7
ZTpkbyBpZihjKXtkPTE5NDY2ODt3aGlsZSgxKXtuPWZbZD4+Ml18MDtpZihuPj4+MDw9Yz4+PjA/
KG4rKGZbZCs0Pj4yXXwwKXwwKT4+PjA+Yz4+PjA6MClicmVhazthPWZbZCs4Pj4yXXwwO2lmKCFh
KXtxPTEyODticmVhayBlfWVsc2UgZD1hfWI9Zy1oJmU7aWYoYj4+PjA8MjE0NzQ4MzY0Nyl7YT1U
MyhifDApfDA7aWYoKGF8MCk9PSgoZltkPj4yXXwwKSsoZltkKzQ+PjJdfDApfDApKXtpZigoYXww
KSE9KC0xfDApKXtoPWI7Zz1hO3E9MTQ1O2JyZWFrIGR9fWVsc2V7ZD1hO3E9MTM2fX1lbHNlIGI9
MH1lbHNlIHE9MTI4O3doaWxlKDApO2RvIGlmKChxfDApPT0xMjgpe2M9VDMoMCl8MDtpZigoY3ww
KSE9KC0xfDApPyhiPWMsbz1mWzQ4Njc0XXwwLHA9bystMXwwLGI9KChwJmJ8MCk9PTA/MDoocCti
JjAtbyktYnwwKStrfDAsbz1mWzQ4NjYzXXwwLHA9YitvfDAsYj4+PjA+bT4+PjAmYj4+PjA8MjE0
NzQ4MzY0Nyk6MCl7bj1mWzQ4NjY1XXwwO2lmKG58MD9wPj4+MDw9bz4+PjB8cD4+PjA+bj4+PjA6
MCl7Yj0wO2JyZWFrfWE9VDMoYnwwKXwwO2lmKChhfDApPT0oY3wwKSl7aD1iO2c9YztxPTE0NTti
cmVhayBkfWVsc2V7ZD1hO3E9MTM2fX1lbHNlIGI9MH13aGlsZSgwKTtkbyBpZigocXwwKT09MTM2
KXtjPTAtYnwwO2lmKCEoaT4+PjA+Yj4+PjAmKGI+Pj4wPDIxNDc0ODM2NDcmKGR8MCkhPSgtMXww
KSkpKWlmKChkfDApPT0oLTF8MCkpe2I9MDticmVha31lbHNle2g9YjtnPWQ7cT0xNDU7YnJlYWsg
ZH1hPWZbNDg2NzVdfDA7YT1qLWIrYSYwLWE7aWYoYT4+PjA+PTIxNDc0ODM2NDcpe2g9YjtnPWQ7
cT0xNDU7YnJlYWsgZH1pZigoVDMoYXwwKXwwKT09KC0xfDApKXtUMyhjfDApfDA7Yj0wO2JyZWFr
fWVsc2V7aD1hK2J8MDtnPWQ7cT0xNDU7YnJlYWsgZH19d2hpbGUoMCk7Zls0ODY2Nl09Zls0ODY2
Nl18NDtxPTE0M31lbHNle2I9MDtxPTE0M313aGlsZSgwKTtpZigoKHF8MCk9PTE0Mz9rPj4+MDwy
MTQ3NDgzNjQ3OjApPyh1PVQzKGt8MCl8MCxwPVQzKDApfDAscj1wLXV8MCxzPXI+Pj4wPihtKzQw
fDApPj4+MCwhKCh1fDApPT0oLTF8MCl8c14xfHU+Pj4wPHA+Pj4wJigodXwwKSE9KC0xfDApJihw
fDApIT0oLTF8MCkpXjEpKTowKXtoPXM/cjpiO2c9dTtxPTE0NX1pZigocXwwKT09MTQ1KXtiPShm
WzQ4NjYzXXwwKStofDA7Zls0ODY2M109YjtpZihiPj4+MD4oZls0ODY2NF18MCk+Pj4wKWZbNDg2
NjRdPWI7aj1mWzQ4NTYxXXwwO2Y6ZG8gaWYoail7Yj0xOTQ2Njg7d2hpbGUoMSl7YT1mW2I+PjJd
fDA7Yz1mW2IrND4+Ml18MDtpZigoZ3wwKT09KGErY3wwKSl7cT0xNTQ7YnJlYWt9ZD1mW2IrOD4+
Ml18MDtpZighZClicmVhaztlbHNlIGI9ZH1pZigoKHF8MCk9PTE1ND8odj1iKzR8MCwoZltiKzEy
Pj4yXSY4fDApPT0wKTowKT9nPj4+MD5qPj4+MCZhPj4+MDw9aj4+PjA6MCl7Zlt2Pj4yXT1jK2g7
dz0oZls0ODU1OF18MCkraHwwO3U9ais4fDA7dT0odSY3fDApPT0wPzA6MC11Jjc7dj1qK3V8MDt1
PXctdXwwO2ZbNDg1NjFdPXY7Zls0ODU1OF09dTtmW3YrND4+Ml09dXwxO2Zbait3KzQ+PjJdPTQw
O2ZbNDg1NjJdPWZbNDg2NzddO2JyZWFrfWlmKGc+Pj4wPChmWzQ4NTU5XXwwKT4+PjApZls0ODU1
OV09ZztjPWcraHwwO2I9MTk0NjY4O3doaWxlKDEpe2lmKChmW2I+PjJdfDApPT0oY3wwKSl7cT0x
NjI7YnJlYWt9YT1mW2IrOD4+Ml18MDtpZighYSlicmVhaztlbHNlIGI9YX1pZigocXwwKT09MTYy
PyhmW2IrMTI+PjJdJjh8MCk9PTA6MCl7ZltiPj4yXT1nO2w9Yis0fDA7ZltsPj4yXT0oZltsPj4y
XXwwKStoO2w9Zys4fDA7bD1nKygobCY3fDApPT0wPzA6MC1sJjcpfDA7Yj1jKzh8MDtiPWMrKChi
Jjd8MCk9PTA/MDowLWImNyl8MDtrPWwrbXwwO2k9Yi1sLW18MDtmW2wrND4+Ml09bXwzO2c6ZG8g
aWYoKGp8MCk9PShifDApKXt3PShmWzQ4NTU4XXwwKStpfDA7Zls0ODU1OF09dztmWzQ4NTYxXT1r
O2Zbays0Pj4yXT13fDF9ZWxzZXtpZigoZls0ODU2MF18MCk9PShifDApKXt3PShmWzQ4NTU3XXww
KStpfDA7Zls0ODU1N109dztmWzQ4NTYwXT1rO2Zbays0Pj4yXT13fDE7ZltrK3c+PjJdPXc7YnJl
YWt9YT1mW2IrND4+Ml18MDtpZigoYSYzfDApPT0xKXtoPWEmLTg7ZD1hPj4+MztoOmRvIGlmKGE+
Pj4wPDI1Nil7YT1mW2IrOD4+Ml18MDtjPWZbYisxMj4+Ml18MDtpZigoY3wwKT09KGF8MCkpe2Zb
NDg1NTVdPWZbNDg1NTVdJn4oMTw8ZCk7YnJlYWt9ZWxzZXtmW2ErMTI+PjJdPWM7ZltjKzg+PjJd
PWE7YnJlYWt9fWVsc2V7Zz1mW2IrMjQ+PjJdfDA7YT1mW2IrMTI+PjJdfDA7ZG8gaWYoKGF8MCk9
PShifDApKXtjPWIrMTZ8MDtkPWMrNHwwO2E9ZltkPj4yXXwwO2lmKCFhKXthPWZbYz4+Ml18MDtp
ZighYSl7YT0wO2JyZWFrfX1lbHNlIGM9ZDt3aGlsZSgxKXtlPWErMjB8MDtkPWZbZT4+Ml18MDtp
ZighZCl7ZT1hKzE2fDA7ZD1mW2U+PjJdfDA7aWYoIWQpYnJlYWs7ZWxzZXthPWQ7Yz1lfX1lbHNl
e2E9ZDtjPWV9fWZbYz4+Ml09MH1lbHNle3c9ZltiKzg+PjJdfDA7Zlt3KzEyPj4yXT1hO2ZbYSs4
Pj4yXT13fXdoaWxlKDApO2lmKCFnKWJyZWFrO2M9ZltiKzI4Pj4yXXwwO2Q9MTk0NTI0KyhjPDwy
KXwwO2RvIGlmKChmW2Q+PjJdfDApIT0oYnwwKSl7dz1nKzE2fDA7ZlsoKGZbdz4+Ml18MCk9PShi
fDApP3c6ZysyMHwwKT4+Ml09YTtpZighYSlicmVhayBofWVsc2V7ZltkPj4yXT1hO2lmKGF8MCli
cmVhaztmWzQ4NTU2XT1mWzQ4NTU2XSZ+KDE8PGMpO2JyZWFrIGh9d2hpbGUoMCk7ZlthKzI0Pj4y
XT1nO2M9YisxNnwwO2Q9ZltjPj4yXXwwO2lmKGR8MCl7ZlthKzE2Pj4yXT1kO2ZbZCsyND4+Ml09
YX1jPWZbYys0Pj4yXXwwO2lmKCFjKWJyZWFrO2ZbYSsyMD4+Ml09YztmW2MrMjQ+PjJdPWF9d2hp
bGUoMCk7Yj1iK2h8MDtlPWgraXwwfWVsc2UgZT1pO2I9Yis0fDA7ZltiPj4yXT1mW2I+PjJdJi0y
O2Zbays0Pj4yXT1lfDE7ZltrK2U+PjJdPWU7Yj1lPj4+MztpZihlPj4+MDwyNTYpe2M9MTk0MjYw
KyhiPDwxPDwyKXwwO2E9Zls0ODU1NV18MDtiPTE8PGI7aWYoIShhJmIpKXtmWzQ4NTU1XT1hfGI7
Yj1jO2E9Yys4fDB9ZWxzZXthPWMrOHwwO2I9ZlthPj4yXXwwfWZbYT4+Ml09aztmW2IrMTI+PjJd
PWs7ZltrKzg+PjJdPWI7ZltrKzEyPj4yXT1jO2JyZWFrfWI9ZT4+Pjg7ZG8gaWYoIWIpZD0wO2Vs
c2V7aWYoZT4+PjA+MTY3NzcyMTUpe2Q9MzE7YnJlYWt9dj0oYisxMDQ4MzIwfDApPj4+MTYmODt3
PWI8PHY7dT0odys1MjAxOTJ8MCk+Pj4xNiY0O3c9dzw8dTtkPSh3KzI0NTc2MHwwKT4+PjE2JjI7
ZD0xNC0odXx2fGQpKyh3PDxkPj4+MTUpfDA7ZD1lPj4+KGQrN3wwKSYxfGQ8PDF9d2hpbGUoMCk7
Yj0xOTQ1MjQrKGQ8PDIpfDA7ZltrKzI4Pj4yXT1kO2E9aysxNnwwO2ZbYSs0Pj4yXT0wO2ZbYT4+
Ml09MDthPWZbNDg1NTZdfDA7Yz0xPDxkO2lmKCEoYSZjKSl7Zls0ODU1Nl09YXxjO2ZbYj4+Ml09
aztmW2srMjQ+PjJdPWI7ZltrKzEyPj4yXT1rO2Zbays4Pj4yXT1rO2JyZWFrfWI9ZltiPj4yXXww
O2k6ZG8gaWYoKGZbYis0Pj4yXSYtOHwwKSE9KGV8MCkpe2Q9ZTw8KChkfDApPT0zMT8wOjI1LShk
Pj4+MSl8MCk7d2hpbGUoMSl7Yz1iKzE2KyhkPj4+MzE8PDIpfDA7YT1mW2M+PjJdfDA7aWYoIWEp
YnJlYWs7aWYoKGZbYSs0Pj4yXSYtOHwwKT09KGV8MCkpe2I9YTticmVhayBpfWVsc2V7ZD1kPDwx
O2I9YX19ZltjPj4yXT1rO2ZbaysyND4+Ml09YjtmW2srMTI+PjJdPWs7ZltrKzg+PjJdPWs7YnJl
YWsgZ313aGlsZSgwKTt2PWIrOHwwO3c9Zlt2Pj4yXXwwO2ZbdysxMj4+Ml09aztmW3Y+PjJdPWs7
ZltrKzg+PjJdPXc7ZltrKzEyPj4yXT1iO2ZbaysyND4+Ml09MH13aGlsZSgwKTt3PWwrOHwwO3Q9
eDtyZXR1cm4gd3wwfWI9MTk0NjY4O3doaWxlKDEpe2E9ZltiPj4yXXwwO2lmKGE+Pj4wPD1qPj4+
MD8odz1hKyhmW2IrND4+Ml18MCl8MCx3Pj4+MD5qPj4+MCk6MClicmVhaztiPWZbYis4Pj4yXXww
fWU9dystNDd8MDthPWUrOHwwO2E9ZSsoKGEmN3wwKT09MD8wOjAtYSY3KXwwO2U9aisxNnwwO2E9
YT4+PjA8ZT4+PjA/ajphO2I9YSs4fDA7Yz1oKy00MHwwO3U9Zys4fDA7dT0odSY3fDApPT0wPzA6
MC11Jjc7dj1nK3V8MDt1PWMtdXwwO2ZbNDg1NjFdPXY7Zls0ODU1OF09dTtmW3YrND4+Ml09dXwx
O2ZbZytjKzQ+PjJdPTQwO2ZbNDg1NjJdPWZbNDg2NzddO2M9YSs0fDA7ZltjPj4yXT0yNztmW2I+
PjJdPWZbNDg2NjddO2ZbYis0Pj4yXT1mWzQ4NjY4XTtmW2IrOD4+Ml09Zls0ODY2OV07ZltiKzEy
Pj4yXT1mWzQ4NjcwXTtmWzQ4NjY3XT1nO2ZbNDg2NjhdPWg7Zls0ODY3MF09MDtmWzQ4NjY5XT1i
O2I9YSsyNHwwO2Rve3Y9YjtiPWIrNHwwO2ZbYj4+Ml09N313aGlsZSgodis4fDApPj4+MDx3Pj4+
MCk7aWYoKGF8MCkhPShqfDApKXtnPWEtanwwO2ZbYz4+Ml09ZltjPj4yXSYtMjtmW2orND4+Ml09
Z3wxO2ZbYT4+Ml09ZztiPWc+Pj4zO2lmKGc+Pj4wPDI1Nil7Yz0xOTQyNjArKGI8PDE8PDIpfDA7
YT1mWzQ4NTU1XXwwO2I9MTw8YjtpZighKGEmYikpe2ZbNDg1NTVdPWF8YjtiPWM7YT1jKzh8MH1l
bHNle2E9Yys4fDA7Yj1mW2E+PjJdfDB9ZlthPj4yXT1qO2ZbYisxMj4+Ml09ajtmW2orOD4+Ml09
YjtmW2orMTI+PjJdPWM7YnJlYWt9Yj1nPj4+ODtpZihiKWlmKGc+Pj4wPjE2Nzc3MjE1KWQ9MzE7
ZWxzZXt2PShiKzEwNDgzMjB8MCk+Pj4xNiY4O3c9Yjw8djt1PSh3KzUyMDE5MnwwKT4+PjE2JjQ7
dz13PDx1O2Q9KHcrMjQ1NzYwfDApPj4+MTYmMjtkPTE0LSh1fHZ8ZCkrKHc8PGQ+Pj4xNSl8MDtk
PWc+Pj4oZCs3fDApJjF8ZDw8MX1lbHNlIGQ9MDtjPTE5NDUyNCsoZDw8Mil8MDtmW2orMjg+PjJd
PWQ7ZltqKzIwPj4yXT0wO2ZbZT4+Ml09MDtiPWZbNDg1NTZdfDA7YT0xPDxkO2lmKCEoYiZhKSl7
Zls0ODU1Nl09YnxhO2ZbYz4+Ml09ajtmW2orMjQ+PjJdPWM7ZltqKzEyPj4yXT1qO2Zbais4Pj4y
XT1qO2JyZWFrfWI9ZltjPj4yXXwwO2o6ZG8gaWYoKGZbYis0Pj4yXSYtOHwwKSE9KGd8MCkpe2Q9
Zzw8KChkfDApPT0zMT8wOjI1LShkPj4+MSl8MCk7d2hpbGUoMSl7Yz1iKzE2KyhkPj4+MzE8PDIp
fDA7YT1mW2M+PjJdfDA7aWYoIWEpYnJlYWs7aWYoKGZbYSs0Pj4yXSYtOHwwKT09KGd8MCkpe2I9
YTticmVhayBqfWVsc2V7ZD1kPDwxO2I9YX19ZltjPj4yXT1qO2ZbaisyND4+Ml09YjtmW2orMTI+
PjJdPWo7ZltqKzg+PjJdPWo7YnJlYWsgZn13aGlsZSgwKTt2PWIrOHwwO3c9Zlt2Pj4yXXwwO2Zb
dysxMj4+Ml09ajtmW3Y+PjJdPWo7ZltqKzg+PjJdPXc7ZltqKzEyPj4yXT1iO2ZbaisyND4+Ml09
MH19ZWxzZXt3PWZbNDg1NTldfDA7aWYoKHd8MCk9PTB8Zz4+PjA8dz4+PjApZls0ODU1OV09Zztm
WzQ4NjY3XT1nO2ZbNDg2NjhdPWg7Zls0ODY3MF09MDtmWzQ4NTY0XT1mWzQ4NjczXTtmWzQ4NTYz
XT0tMTtmWzQ4NTY4XT0xOTQyNjA7Zls0ODU2N109MTk0MjYwO2ZbNDg1NzBdPTE5NDI2ODtmWzQ4
NTY5XT0xOTQyNjg7Zls0ODU3Ml09MTk0Mjc2O2ZbNDg1NzFdPTE5NDI3NjtmWzQ4NTc0XT0xOTQy
ODQ7Zls0ODU3M109MTk0Mjg0O2ZbNDg1NzZdPTE5NDI5MjtmWzQ4NTc1XT0xOTQyOTI7Zls0ODU3
OF09MTk0MzAwO2ZbNDg1NzddPTE5NDMwMDtmWzQ4NTgwXT0xOTQzMDg7Zls0ODU3OV09MTk0MzA4
O2ZbNDg1ODJdPTE5NDMxNjtmWzQ4NTgxXT0xOTQzMTY7Zls0ODU4NF09MTk0MzI0O2ZbNDg1ODNd
PTE5NDMyNDtmWzQ4NTg2XT0xOTQzMzI7Zls0ODU4NV09MTk0MzMyO2ZbNDg1ODhdPTE5NDM0MDtm
WzQ4NTg3XT0xOTQzNDA7Zls0ODU5MF09MTk0MzQ4O2ZbNDg1ODldPTE5NDM0ODtmWzQ4NTkyXT0x
OTQzNTY7Zls0ODU5MV09MTk0MzU2O2ZbNDg1OTRdPTE5NDM2NDtmWzQ4NTkzXT0xOTQzNjQ7Zls0
ODU5Nl09MTk0MzcyO2ZbNDg1OTVdPTE5NDM3MjtmWzQ4NTk4XT0xOTQzODA7Zls0ODU5N109MTk0
MzgwO2ZbNDg2MDBdPTE5NDM4ODtmWzQ4NTk5XT0xOTQzODg7Zls0ODYwMl09MTk0Mzk2O2ZbNDg2
MDFdPTE5NDM5NjtmWzQ4NjA0XT0xOTQ0MDQ7Zls0ODYwM109MTk0NDA0O2ZbNDg2MDZdPTE5NDQx
MjtmWzQ4NjA1XT0xOTQ0MTI7Zls0ODYwOF09MTk0NDIwO2ZbNDg2MDddPTE5NDQyMDtmWzQ4NjEw
XT0xOTQ0Mjg7Zls0ODYwOV09MTk0NDI4O2ZbNDg2MTJdPTE5NDQzNjtmWzQ4NjExXT0xOTQ0MzY7
Zls0ODYxNF09MTk0NDQ0O2ZbNDg2MTNdPTE5NDQ0NDtmWzQ4NjE2XT0xOTQ0NTI7Zls0ODYxNV09
MTk0NDUyO2ZbNDg2MThdPTE5NDQ2MDtmWzQ4NjE3XT0xOTQ0NjA7Zls0ODYyMF09MTk0NDY4O2Zb
NDg2MTldPTE5NDQ2ODtmWzQ4NjIyXT0xOTQ0NzY7Zls0ODYyMV09MTk0NDc2O2ZbNDg2MjRdPTE5
NDQ4NDtmWzQ4NjIzXT0xOTQ0ODQ7Zls0ODYyNl09MTk0NDkyO2ZbNDg2MjVdPTE5NDQ5MjtmWzQ4
NjI4XT0xOTQ1MDA7Zls0ODYyN109MTk0NTAwO2ZbNDg2MzBdPTE5NDUwODtmWzQ4NjI5XT0xOTQ1
MDg7dz1oKy00MHwwO3U9Zys4fDA7dT0odSY3fDApPT0wPzA6MC11Jjc7dj1nK3V8MDt1PXctdXww
O2ZbNDg1NjFdPXY7Zls0ODU1OF09dTtmW3YrND4+Ml09dXwxO2ZbZyt3KzQ+PjJdPTQwO2ZbNDg1
NjJdPWZbNDg2NzddfXdoaWxlKDApO2I9Zls0ODU1OF18MDtpZihiPj4+MD5tPj4+MCl7dT1iLW18
MDtmWzQ4NTU4XT11O3c9Zls0ODU2MV18MDt2PXcrbXwwO2ZbNDg1NjFdPXY7Zlt2KzQ+PjJdPXV8
MTtmW3crND4+Ml09bXwzO3c9dys4fDA7dD14O3JldHVybiB3fDB9fXc9WF8oKXwwO2Zbdz4+Ml09
MTI7dz0wO3Q9eDtyZXR1cm4gd3wwfWZ1bmN0aW9uIE1fKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9
MCxlPTAsZz0wLGg9MCxpPTAsaj0wO2lmKCFhKXJldHVybjtjPWErLTh8MDtlPWZbNDg1NTldfDA7
YT1mW2ErLTQ+PjJdfDA7Yj1hJi04O2o9YytifDA7ZG8gaWYoIShhJjEpKXtkPWZbYz4+Ml18MDtp
ZighKGEmMykpcmV0dXJuO2g9YysoMC1kKXwwO2c9ZCtifDA7aWYoaD4+PjA8ZT4+PjApcmV0dXJu
O2lmKChmWzQ4NTYwXXwwKT09KGh8MCkpe2E9ais0fDA7Yj1mW2E+PjJdfDA7aWYoKGImM3wwKSE9
Myl7aT1oO2I9ZzticmVha31mWzQ4NTU3XT1nO2ZbYT4+Ml09YiYtMjtmW2grND4+Ml09Z3wxO2Zb
aCtnPj4yXT1nO3JldHVybn1jPWQ+Pj4zO2lmKGQ+Pj4wPDI1Nil7YT1mW2grOD4+Ml18MDtiPWZb
aCsxMj4+Ml18MDtpZigoYnwwKT09KGF8MCkpe2ZbNDg1NTVdPWZbNDg1NTVdJn4oMTw8Yyk7aT1o
O2I9ZzticmVha31lbHNle2ZbYSsxMj4+Ml09YjtmW2IrOD4+Ml09YTtpPWg7Yj1nO2JyZWFrfX1l
PWZbaCsyND4+Ml18MDthPWZbaCsxMj4+Ml18MDtkbyBpZigoYXwwKT09KGh8MCkpe2I9aCsxNnww
O2M9Yis0fDA7YT1mW2M+PjJdfDA7aWYoIWEpe2E9ZltiPj4yXXwwO2lmKCFhKXthPTA7YnJlYWt9
fWVsc2UgYj1jO3doaWxlKDEpe2Q9YSsyMHwwO2M9ZltkPj4yXXwwO2lmKCFjKXtkPWErMTZ8MDtj
PWZbZD4+Ml18MDtpZighYylicmVhaztlbHNle2E9YztiPWR9fWVsc2V7YT1jO2I9ZH19ZltiPj4y
XT0wfWVsc2V7aT1mW2grOD4+Ml18MDtmW2krMTI+PjJdPWE7ZlthKzg+PjJdPWl9d2hpbGUoMCk7
aWYoZSl7Yj1mW2grMjg+PjJdfDA7Yz0xOTQ1MjQrKGI8PDIpfDA7aWYoKGZbYz4+Ml18MCk9PSho
fDApKXtmW2M+PjJdPWE7aWYoIWEpe2ZbNDg1NTZdPWZbNDg1NTZdJn4oMTw8Yik7aT1oO2I9Zzti
cmVha319ZWxzZXtpPWUrMTZ8MDtmWygoZltpPj4yXXwwKT09KGh8MCk/aTplKzIwfDApPj4yXT1h
O2lmKCFhKXtpPWg7Yj1nO2JyZWFrfX1mW2ErMjQ+PjJdPWU7Yj1oKzE2fDA7Yz1mW2I+PjJdfDA7
aWYoY3wwKXtmW2ErMTY+PjJdPWM7ZltjKzI0Pj4yXT1hfWI9ZltiKzQ+PjJdfDA7aWYoYil7Zlth
KzIwPj4yXT1iO2ZbYisyND4+Ml09YTtpPWg7Yj1nfWVsc2V7aT1oO2I9Z319ZWxzZXtpPWg7Yj1n
fX1lbHNle2k9YztoPWN9d2hpbGUoMCk7aWYoaD4+PjA+PWo+Pj4wKXJldHVybjthPWorNHwwO2Q9
ZlthPj4yXXwwO2lmKCEoZCYxKSlyZXR1cm47aWYoIShkJjIpKXtpZigoZls0ODU2MV18MCk9PShq
fDApKXtqPShmWzQ4NTU4XXwwKStifDA7Zls0ODU1OF09ajtmWzQ4NTYxXT1pO2ZbaSs0Pj4yXT1q
fDE7aWYoKGl8MCkhPShmWzQ4NTYwXXwwKSlyZXR1cm47Zls0ODU2MF09MDtmWzQ4NTU3XT0wO3Jl
dHVybn1pZigoZls0ODU2MF18MCk9PShqfDApKXtqPShmWzQ4NTU3XXwwKStifDA7Zls0ODU1N109
ajtmWzQ4NTYwXT1oO2ZbaSs0Pj4yXT1qfDE7ZltoK2o+PjJdPWo7cmV0dXJufWU9KGQmLTgpK2J8
MDtjPWQ+Pj4zO2RvIGlmKGQ+Pj4wPDI1Nil7Yj1mW2orOD4+Ml18MDthPWZbaisxMj4+Ml18MDtp
ZigoYXwwKT09KGJ8MCkpe2ZbNDg1NTVdPWZbNDg1NTVdJn4oMTw8Yyk7YnJlYWt9ZWxzZXtmW2Ir
MTI+PjJdPWE7ZlthKzg+PjJdPWI7YnJlYWt9fWVsc2V7Zz1mW2orMjQ+PjJdfDA7YT1mW2orMTI+
PjJdfDA7ZG8gaWYoKGF8MCk9PShqfDApKXtiPWorMTZ8MDtjPWIrNHwwO2E9ZltjPj4yXXwwO2lm
KCFhKXthPWZbYj4+Ml18MDtpZighYSl7Yz0wO2JyZWFrfX1lbHNlIGI9Yzt3aGlsZSgxKXtkPWEr
MjB8MDtjPWZbZD4+Ml18MDtpZighYyl7ZD1hKzE2fDA7Yz1mW2Q+PjJdfDA7aWYoIWMpYnJlYWs7
ZWxzZXthPWM7Yj1kfX1lbHNle2E9YztiPWR9fWZbYj4+Ml09MDtjPWF9ZWxzZXtjPWZbais4Pj4y
XXwwO2ZbYysxMj4+Ml09YTtmW2ErOD4+Ml09YztjPWF9d2hpbGUoMCk7aWYoZ3wwKXthPWZbaisy
OD4+Ml18MDtiPTE5NDUyNCsoYTw8Mil8MDtpZigoZltiPj4yXXwwKT09KGp8MCkpe2ZbYj4+Ml09
YztpZighYyl7Zls0ODU1Nl09Zls0ODU1Nl0mfigxPDxhKTticmVha319ZWxzZXtkPWcrMTZ8MDtm
WygoZltkPj4yXXwwKT09KGp8MCk/ZDpnKzIwfDApPj4yXT1jO2lmKCFjKWJyZWFrfWZbYysyND4+
Ml09ZzthPWorMTZ8MDtiPWZbYT4+Ml18MDtpZihifDApe2ZbYysxNj4+Ml09YjtmW2IrMjQ+PjJd
PWN9YT1mW2ErND4+Ml18MDtpZihhfDApe2ZbYysyMD4+Ml09YTtmW2ErMjQ+PjJdPWN9fX13aGls
ZSgwKTtmW2krND4+Ml09ZXwxO2ZbaCtlPj4yXT1lO2lmKChpfDApPT0oZls0ODU2MF18MCkpe2Zb
NDg1NTddPWU7cmV0dXJufX1lbHNle2ZbYT4+Ml09ZCYtMjtmW2krND4+Ml09YnwxO2ZbaCtiPj4y
XT1iO2U9Yn1hPWU+Pj4zO2lmKGU+Pj4wPDI1Nil7Yz0xOTQyNjArKGE8PDE8PDIpfDA7Yj1mWzQ4
NTU1XXwwO2E9MTw8YTtpZighKGImYSkpe2ZbNDg1NTVdPWJ8YTthPWM7Yj1jKzh8MH1lbHNle2I9
Yys4fDA7YT1mW2I+PjJdfDB9ZltiPj4yXT1pO2ZbYSsxMj4+Ml09aTtmW2krOD4+Ml09YTtmW2kr
MTI+PjJdPWM7cmV0dXJufWE9ZT4+Pjg7aWYoYSlpZihlPj4+MD4xNjc3NzIxNSlkPTMxO2Vsc2V7
aD0oYSsxMDQ4MzIwfDApPj4+MTYmODtqPWE8PGg7Zz0oais1MjAxOTJ8MCk+Pj4xNiY0O2o9ajw8
ZztkPShqKzI0NTc2MHwwKT4+PjE2JjI7ZD0xNC0oZ3xofGQpKyhqPDxkPj4+MTUpfDA7ZD1lPj4+
KGQrN3wwKSYxfGQ8PDF9ZWxzZSBkPTA7YT0xOTQ1MjQrKGQ8PDIpfDA7ZltpKzI4Pj4yXT1kO2Zb
aSsyMD4+Ml09MDtmW2krMTY+PjJdPTA7Yj1mWzQ4NTU2XXwwO2M9MTw8ZDthOmRvIGlmKCEoYiZj
KSl7Zls0ODU1Nl09YnxjO2ZbYT4+Ml09aTtmW2krMjQ+PjJdPWE7ZltpKzEyPj4yXT1pO2ZbaSs4
Pj4yXT1pfWVsc2V7YT1mW2E+PjJdfDA7YjpkbyBpZigoZlthKzQ+PjJdJi04fDApIT0oZXwwKSl7
ZD1lPDwoKGR8MCk9PTMxPzA6MjUtKGQ+Pj4xKXwwKTt3aGlsZSgxKXtjPWErMTYrKGQ+Pj4zMTw8
Mil8MDtiPWZbYz4+Ml18MDtpZighYilicmVhaztpZigoZltiKzQ+PjJdJi04fDApPT0oZXwwKSl7
YT1iO2JyZWFrIGJ9ZWxzZXtkPWQ8PDE7YT1ifX1mW2M+PjJdPWk7ZltpKzI0Pj4yXT1hO2ZbaSsx
Mj4+Ml09aTtmW2krOD4+Ml09aTticmVhayBhfXdoaWxlKDApO2g9YSs4fDA7aj1mW2g+PjJdfDA7
ZltqKzEyPj4yXT1pO2ZbaD4+Ml09aTtmW2krOD4+Ml09ajtmW2krMTI+PjJdPWE7ZltpKzI0Pj4y
XT0wfXdoaWxlKDApO2o9KGZbNDg1NjNdfDApKy0xfDA7Zls0ODU2M109ajtpZihqfDApcmV0dXJu
O2E9MTk0Njc2O3doaWxlKDEpe2E9ZlthPj4yXXwwO2lmKCFhKWJyZWFrO2Vsc2UgYT1hKzh8MH1m
WzQ4NTYzXT0tMTtyZXR1cm59ZnVuY3Rpb24gTl8oYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wO2lm
KGEpe2M9VihiLGEpfDA7aWYoKGJ8YSk+Pj4wPjY1NTM1KWM9KChjPj4+MCkvKGE+Pj4wKXwwfDAp
PT0oYnwwKT9jOi0xfWVsc2UgYz0wO2E9TF8oYyl8MDtpZighYSlyZXR1cm4gYXwwO2lmKCEoZlth
Ky00Pj4yXSYzKSlyZXR1cm4gYXwwO1MzKGF8MCwwLGN8MCl8MDtyZXR1cm4gYXwwfWZ1bmN0aW9u
IE9fKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTA7aWYoIWEpe2I9TF8oYil8MDtyZXR1cm4g
YnwwfWlmKGI+Pj4wPjQyOTQ5NjcyMzEpe2I9WF8oKXwwO2ZbYj4+Ml09MTI7Yj0wO3JldHVybiBi
fDB9Yz1QXyhhKy04fDAsYj4+PjA8MTE/MTY6YisxMSYtOCl8MDtpZihjfDApe2I9Yys4fDA7cmV0
dXJuIGJ8MH1jPUxfKGIpfDA7aWYoIWMpe2I9MDtyZXR1cm4gYnwwfWQ9ZlthKy00Pj4yXXwwO2Q9
KGQmLTgpLSgoZCYzfDApPT0wPzg6NCl8MDtRMyhjfDAsYXwwLChkPj4+MDxiPj4+MD9kOmIpfDAp
fDA7TV8oYSk7Yj1jO3JldHVybiBifDB9ZnVuY3Rpb24gUF8oYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wO2w9YSs0fDA7bT1mW2w+PjJd
fDA7Yz1tJi04O2k9YStjfDA7aWYoIShtJjMpKXtpZihiPj4+MDwyNTYpe2E9MDtyZXR1cm4gYXww
fWlmKGM+Pj4wPj0oYis0fDApPj4+MD8oYy1ifDApPj4+MDw9Zls0ODY3NV08PDE+Pj4wOjApcmV0
dXJuIGF8MDthPTA7cmV0dXJuIGF8MH1pZihjPj4+MD49Yj4+PjApe2M9Yy1ifDA7aWYoYz4+PjA8
PTE1KXJldHVybiBhfDA7az1hK2J8MDtmW2w+PjJdPW0mMXxifDI7ZltrKzQ+PjJdPWN8MzttPWkr
NHwwO2ZbbT4+Ml09ZlttPj4yXXwxO1FfKGssYyk7cmV0dXJuIGF8MH1pZigoZls0ODU2MV18MCk9
PShpfDApKXtrPShmWzQ4NTU4XXwwKStjfDA7Yz1rLWJ8MDtkPWErYnwwO2lmKGs+Pj4wPD1iPj4+
MCl7YT0wO3JldHVybiBhfDB9ZltsPj4yXT1tJjF8YnwyO2ZbZCs0Pj4yXT1jfDE7Zls0ODU2MV09
ZDtmWzQ4NTU4XT1jO3JldHVybiBhfDB9aWYoKGZbNDg1NjBdfDApPT0oaXwwKSl7ZD0oZls0ODU1
N118MCkrY3wwO2lmKGQ+Pj4wPGI+Pj4wKXthPTA7cmV0dXJuIGF8MH1jPWQtYnwwO2lmKGM+Pj4w
PjE1KXtrPWErYnwwO2Q9YStkfDA7ZltsPj4yXT1tJjF8YnwyO2Zbays0Pj4yXT1jfDE7ZltkPj4y
XT1jO2Q9ZCs0fDA7ZltkPj4yXT1mW2Q+PjJdJi0yO2Q9a31lbHNle2ZbbD4+Ml09bSYxfGR8Mjtk
PWErZCs0fDA7ZltkPj4yXT1mW2Q+PjJdfDE7ZD0wO2M9MH1mWzQ4NTU3XT1jO2ZbNDg1NjBdPWQ7
cmV0dXJuIGF8MH1kPWZbaSs0Pj4yXXwwO2lmKGQmMnwwKXthPTA7cmV0dXJuIGF8MH1qPShkJi04
KStjfDA7aWYoaj4+PjA8Yj4+PjApe2E9MDtyZXR1cm4gYXwwfWs9ai1ifDA7ZT1kPj4+MztkbyBp
ZihkPj4+MDwyNTYpe2Q9ZltpKzg+PjJdfDA7Yz1mW2krMTI+PjJdfDA7aWYoKGN8MCk9PShkfDAp
KXtmWzQ4NTU1XT1mWzQ4NTU1XSZ+KDE8PGUpO2JyZWFrfWVsc2V7ZltkKzEyPj4yXT1jO2ZbYys4
Pj4yXT1kO2JyZWFrfX1lbHNle2g9ZltpKzI0Pj4yXXwwO2M9ZltpKzEyPj4yXXwwO2RvIGlmKChj
fDApPT0oaXwwKSl7ZD1pKzE2fDA7ZT1kKzR8MDtjPWZbZT4+Ml18MDtpZighYyl7Yz1mW2Q+PjJd
fDA7aWYoIWMpe2U9MDticmVha319ZWxzZSBkPWU7d2hpbGUoMSl7Zz1jKzIwfDA7ZT1mW2c+PjJd
fDA7aWYoIWUpe2c9YysxNnwwO2U9ZltnPj4yXXwwO2lmKCFlKWJyZWFrO2Vsc2V7Yz1lO2Q9Z319
ZWxzZXtjPWU7ZD1nfX1mW2Q+PjJdPTA7ZT1jfWVsc2V7ZT1mW2krOD4+Ml18MDtmW2UrMTI+PjJd
PWM7ZltjKzg+PjJdPWU7ZT1jfXdoaWxlKDApO2lmKGh8MCl7Yz1mW2krMjg+PjJdfDA7ZD0xOTQ1
MjQrKGM8PDIpfDA7aWYoKGZbZD4+Ml18MCk9PShpfDApKXtmW2Q+PjJdPWU7aWYoIWUpe2ZbNDg1
NTZdPWZbNDg1NTZdJn4oMTw8Yyk7YnJlYWt9fWVsc2V7Zz1oKzE2fDA7ZlsoKGZbZz4+Ml18MCk9
PShpfDApP2c6aCsyMHwwKT4+Ml09ZTtpZighZSlicmVha31mW2UrMjQ+PjJdPWg7Yz1pKzE2fDA7
ZD1mW2M+PjJdfDA7aWYoZHwwKXtmW2UrMTY+PjJdPWQ7ZltkKzI0Pj4yXT1lfWM9ZltjKzQ+PjJd
fDA7aWYoY3wwKXtmW2UrMjA+PjJdPWM7ZltjKzI0Pj4yXT1lfX19d2hpbGUoMCk7aWYoaz4+PjA8
MTYpe2ZbbD4+Ml09bSYxfGp8MjttPWErais0fDA7ZlttPj4yXT1mW20+PjJdfDE7cmV0dXJuIGF8
MH1lbHNle2k9YStifDA7ZltsPj4yXT1tJjF8YnwyO2ZbaSs0Pj4yXT1rfDM7bT1hK2orNHwwO2Zb
bT4+Ml09ZlttPj4yXXwxO1FfKGksayk7cmV0dXJuIGF8MH1yZXR1cm4gMH1mdW5jdGlvbiBRXyhh
LGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MDtpPWErYnwwO2M9Zlth
KzQ+PjJdfDA7ZG8gaWYoIShjJjEpKXtlPWZbYT4+Ml18MDtpZighKGMmMykpcmV0dXJuO2g9YSso
MC1lKXwwO2I9ZStifDA7aWYoKGZbNDg1NjBdfDApPT0oaHwwKSl7YT1pKzR8MDtjPWZbYT4+Ml18
MDtpZigoYyYzfDApIT0zKWJyZWFrO2ZbNDg1NTddPWI7ZlthPj4yXT1jJi0yO2ZbaCs0Pj4yXT1i
fDE7ZltpPj4yXT1iO3JldHVybn1kPWU+Pj4zO2lmKGU+Pj4wPDI1Nil7YT1mW2grOD4+Ml18MDtj
PWZbaCsxMj4+Ml18MDtpZigoY3wwKT09KGF8MCkpe2ZbNDg1NTVdPWZbNDg1NTVdJn4oMTw8ZCk7
YnJlYWt9ZWxzZXtmW2ErMTI+PjJdPWM7ZltjKzg+PjJdPWE7YnJlYWt9fWc9ZltoKzI0Pj4yXXww
O2E9ZltoKzEyPj4yXXwwO2RvIGlmKChhfDApPT0oaHwwKSl7Yz1oKzE2fDA7ZD1jKzR8MDthPWZb
ZD4+Ml18MDtpZighYSl7YT1mW2M+PjJdfDA7aWYoIWEpe2E9MDticmVha319ZWxzZSBjPWQ7d2hp
bGUoMSl7ZT1hKzIwfDA7ZD1mW2U+PjJdfDA7aWYoIWQpe2U9YSsxNnwwO2Q9ZltlPj4yXXwwO2lm
KCFkKWJyZWFrO2Vsc2V7YT1kO2M9ZX19ZWxzZXthPWQ7Yz1lfX1mW2M+PjJdPTB9ZWxzZXtlPWZb
aCs4Pj4yXXwwO2ZbZSsxMj4+Ml09YTtmW2ErOD4+Ml09ZX13aGlsZSgwKTtpZihnKXtjPWZbaCsy
OD4+Ml18MDtkPTE5NDUyNCsoYzw8Mil8MDtpZigoZltkPj4yXXwwKT09KGh8MCkpe2ZbZD4+Ml09
YTtpZighYSl7Zls0ODU1Nl09Zls0ODU1Nl0mfigxPDxjKTticmVha319ZWxzZXtlPWcrMTZ8MDtm
WygoZltlPj4yXXwwKT09KGh8MCk/ZTpnKzIwfDApPj4yXT1hO2lmKCFhKWJyZWFrfWZbYSsyND4+
Ml09ZztjPWgrMTZ8MDtkPWZbYz4+Ml18MDtpZihkfDApe2ZbYSsxNj4+Ml09ZDtmW2QrMjQ+PjJd
PWF9Yz1mW2MrND4+Ml18MDtpZihjKXtmW2ErMjA+PjJdPWM7ZltjKzI0Pj4yXT1hfX19ZWxzZSBo
PWE7d2hpbGUoMCk7YT1pKzR8MDtkPWZbYT4+Ml18MDtpZighKGQmMikpe2lmKChmWzQ4NTYxXXww
KT09KGl8MCkpe2k9KGZbNDg1NThdfDApK2J8MDtmWzQ4NTU4XT1pO2ZbNDg1NjFdPWg7ZltoKzQ+
PjJdPWl8MTtpZigoaHwwKSE9KGZbNDg1NjBdfDApKXJldHVybjtmWzQ4NTYwXT0wO2ZbNDg1NTdd
PTA7cmV0dXJufWlmKChmWzQ4NTYwXXwwKT09KGl8MCkpe2k9KGZbNDg1NTddfDApK2J8MDtmWzQ4
NTU3XT1pO2ZbNDg1NjBdPWg7ZltoKzQ+PjJdPWl8MTtmW2graT4+Ml09aTtyZXR1cm59ZT0oZCYt
OCkrYnwwO2M9ZD4+PjM7ZG8gaWYoZD4+PjA8MjU2KXthPWZbaSs4Pj4yXXwwO2I9ZltpKzEyPj4y
XXwwO2lmKChifDApPT0oYXwwKSl7Zls0ODU1NV09Zls0ODU1NV0mfigxPDxjKTticmVha31lbHNl
e2ZbYSsxMj4+Ml09YjtmW2IrOD4+Ml09YTticmVha319ZWxzZXtnPWZbaSsyND4+Ml18MDtiPWZb
aSsxMj4+Ml18MDtkbyBpZigoYnwwKT09KGl8MCkpe2E9aSsxNnwwO2M9YSs0fDA7Yj1mW2M+PjJd
fDA7aWYoIWIpe2I9ZlthPj4yXXwwO2lmKCFiKXtjPTA7YnJlYWt9fWVsc2UgYT1jO3doaWxlKDEp
e2Q9YisyMHwwO2M9ZltkPj4yXXwwO2lmKCFjKXtkPWIrMTZ8MDtjPWZbZD4+Ml18MDtpZighYyli
cmVhaztlbHNle2I9YzthPWR9fWVsc2V7Yj1jO2E9ZH19ZlthPj4yXT0wO2M9Yn1lbHNle2M9Zltp
Kzg+PjJdfDA7ZltjKzEyPj4yXT1iO2ZbYis4Pj4yXT1jO2M9Yn13aGlsZSgwKTtpZihnfDApe2I9
ZltpKzI4Pj4yXXwwO2E9MTk0NTI0KyhiPDwyKXwwO2lmKChmW2E+PjJdfDApPT0oaXwwKSl7Zlth
Pj4yXT1jO2lmKCFjKXtmWzQ4NTU2XT1mWzQ4NTU2XSZ+KDE8PGIpO2JyZWFrfX1lbHNle2Q9Zysx
NnwwO2ZbKChmW2Q+PjJdfDApPT0oaXwwKT9kOmcrMjB8MCk+PjJdPWM7aWYoIWMpYnJlYWt9Zltj
KzI0Pj4yXT1nO2I9aSsxNnwwO2E9ZltiPj4yXXwwO2lmKGF8MCl7ZltjKzE2Pj4yXT1hO2ZbYSsy
ND4+Ml09Y31iPWZbYis0Pj4yXXwwO2lmKGJ8MCl7ZltjKzIwPj4yXT1iO2ZbYisyND4+Ml09Y319
fXdoaWxlKDApO2ZbaCs0Pj4yXT1lfDE7ZltoK2U+PjJdPWU7aWYoKGh8MCk9PShmWzQ4NTYwXXww
KSl7Zls0ODU1N109ZTtyZXR1cm59fWVsc2V7ZlthPj4yXT1kJi0yO2ZbaCs0Pj4yXT1ifDE7Zlto
K2I+PjJdPWI7ZT1ifWI9ZT4+PjM7aWYoZT4+PjA8MjU2KXtjPTE5NDI2MCsoYjw8MTw8Mil8MDth
PWZbNDg1NTVdfDA7Yj0xPDxiO2lmKCEoYSZiKSl7Zls0ODU1NV09YXxiO2I9YzthPWMrOHwwfWVs
c2V7YT1jKzh8MDtiPWZbYT4+Ml18MH1mW2E+PjJdPWg7ZltiKzEyPj4yXT1oO2ZbaCs4Pj4yXT1i
O2ZbaCsxMj4+Ml09YztyZXR1cm59Yj1lPj4+ODtpZihiKWlmKGU+Pj4wPjE2Nzc3MjE1KWQ9MzE7
ZWxzZXtnPShiKzEwNDgzMjB8MCk+Pj4xNiY4O2k9Yjw8ZztjPShpKzUyMDE5MnwwKT4+PjE2JjQ7
aT1pPDxjO2Q9KGkrMjQ1NzYwfDApPj4+MTYmMjtkPTE0LShjfGd8ZCkrKGk8PGQ+Pj4xNSl8MDtk
PWU+Pj4oZCs3fDApJjF8ZDw8MX1lbHNlIGQ9MDtiPTE5NDUyNCsoZDw8Mil8MDtmW2grMjg+PjJd
PWQ7ZltoKzIwPj4yXT0wO2ZbaCsxNj4+Ml09MDthPWZbNDg1NTZdfDA7Yz0xPDxkO2lmKCEoYSZj
KSl7Zls0ODU1Nl09YXxjO2ZbYj4+Ml09aDtmW2grMjQ+PjJdPWI7ZltoKzEyPj4yXT1oO2ZbaCs4
Pj4yXT1oO3JldHVybn1iPWZbYj4+Ml18MDthOmRvIGlmKChmW2IrND4+Ml0mLTh8MCkhPShlfDAp
KXtkPWU8PCgoZHwwKT09MzE/MDoyNS0oZD4+PjEpfDApO3doaWxlKDEpe2M9YisxNisoZD4+PjMx
PDwyKXwwO2E9ZltjPj4yXXwwO2lmKCFhKWJyZWFrO2lmKChmW2ErND4+Ml0mLTh8MCk9PShlfDAp
KXtiPWE7YnJlYWsgYX1lbHNle2Q9ZDw8MTtiPWF9fWZbYz4+Ml09aDtmW2grMjQ+PjJdPWI7Zlto
KzEyPj4yXT1oO2ZbaCs4Pj4yXT1oO3JldHVybn13aGlsZSgwKTtnPWIrOHwwO2k9ZltnPj4yXXww
O2ZbaSsxMj4+Ml09aDtmW2c+PjJdPWg7ZltoKzg+PjJdPWk7ZltoKzEyPj4yXT1iO2ZbaCsyND4+
Ml09MDtyZXR1cm59ZnVuY3Rpb24gUl8oYSxiKXthPWF8MDtiPWJ8MDtpZihhPj4+MDw5KXtiPUxf
KGIpfDA7cmV0dXJuIGJ8MH1lbHNle2I9U18oYSxiKXwwO3JldHVybiBifDB9cmV0dXJuIDB9ZnVu
Y3Rpb24gU18oYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTA7Yz1h
Pj4+MD4xNj9hOjE2O2lmKCEoYystMSZjKSlhPWM7ZWxzZXthPTE2O3doaWxlKDEpaWYoYT4+PjA8
Yz4+PjApYT1hPDwxO2Vsc2UgYnJlYWt9aWYoKC02NC1hfDApPj4+MDw9Yj4+PjApe2g9WF8oKXww
O2ZbaD4+Ml09MTI7aD0wO3JldHVybiBofDB9Zz1iPj4+MDwxMT8xNjpiKzExJi04O2M9TF8oZysx
MithfDApfDA7aWYoIWMpe2g9MDtyZXR1cm4gaHwwfWU9YystOHwwO2RvIGlmKGErLTEmYyl7ZD0o
YythKy0xJjAtYSkrLTh8MDtiPWU7ZD0oZC1ifDApPj4+MD4xNT9kOmQrYXwwO2I9ZC1ifDA7YT1j
Ky00fDA7aT1mW2E+PjJdfDA7Yz0oaSYtOCktYnwwO2lmKCEoaSYzKSl7ZltkPj4yXT0oZltlPj4y
XXwwKStiO2ZbZCs0Pj4yXT1jO2E9ZDtiPWQ7YnJlYWt9ZWxzZXtpPWQrNHwwO2ZbaT4+Ml09Y3xm
W2k+PjJdJjF8MjtjPWQrYys0fDA7ZltjPj4yXT1mW2M+PjJdfDE7ZlthPj4yXT1ifGZbYT4+Ml0m
MXwyO2ZbaT4+Ml09ZltpPj4yXXwxO1FfKGUsYik7YT1kO2I9ZDticmVha319ZWxzZXthPWU7Yj1l
fXdoaWxlKDApO2E9YSs0fDA7Yz1mW2E+PjJdfDA7aWYoYyYzfDA/KGg9YyYtOCxoPj4+MD4oZysx
NnwwKT4+PjApOjApe2k9aC1nfDA7ZT1iK2d8MDtmW2E+PjJdPWd8YyYxfDI7ZltlKzQ+PjJdPWl8
MztoPWIraCs0fDA7ZltoPj4yXT1mW2g+PjJdfDE7UV8oZSxpKX1pPWIrOHwwO3JldHVybiBpfDB9
ZnVuY3Rpb24gVF8oYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yj10O3Q9dCsxNnwwO2M9YjthPVlfKGZb
YSs2MD4+Ml18MCl8MDtmW2M+PjJdPWE7YT1XXyhRYSg2LGN8MCl8MCl8MDt0PWI7cmV0dXJuIGF8
MH1mdW5jdGlvbiBVXyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9
MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7bT10O3Q9dCs0OHwwO2s9bSszMnwwO2c9bSsx
NnwwO2U9bTtpPWErMjh8MDtkPWZbaT4+Ml18MDtmW2U+PjJdPWQ7aj1hKzIwfDA7ZD0oZltqPj4y
XXwwKS1kfDA7ZltlKzQ+PjJdPWQ7ZltlKzg+PjJdPWI7ZltlKzEyPj4yXT1jO2Q9ZCtjfDA7aD1h
KzYwfDA7ZltnPj4yXT1mW2g+PjJdO2ZbZys0Pj4yXT1lO2ZbZys4Pj4yXT0yO2c9V18oR2EoMTQ2
LGd8MCl8MCl8MDthOmRvIGlmKChkfDApIT0oZ3wwKSl7Yj0yO3doaWxlKDEpe2lmKChnfDApPDAp
YnJlYWs7ZD1kLWd8MDtvPWZbZSs0Pj4yXXwwO249Zz4+PjA+bz4+PjA7ZT1uP2UrOHwwOmU7Yj1i
KyhuPDwzMT4+MzEpfDA7bz1nLShuP286MCl8MDtmW2U+PjJdPShmW2U+PjJdfDApK287bj1lKzR8
MDtmW24+PjJdPShmW24+PjJdfDApLW87ZltrPj4yXT1mW2g+PjJdO2Zbays0Pj4yXT1lO2Zbays4
Pj4yXT1iO2c9V18oR2EoMTQ2LGt8MCl8MCl8MDtpZigoZHwwKT09KGd8MCkpe2w9MzticmVhayBh
fX1mW2ErMTY+PjJdPTA7ZltpPj4yXT0wO2Zbaj4+Ml09MDtmW2E+PjJdPWZbYT4+Ml18MzI7aWYo
KGJ8MCk9PTIpYz0wO2Vsc2UgYz1jLShmW2UrND4+Ml18MCl8MH1lbHNlIGw9Mzt3aGlsZSgwKTtp
ZigobHwwKT09Myl7bz1mW2ErNDQ+PjJdfDA7ZlthKzE2Pj4yXT1vKyhmW2ErNDg+PjJdfDApO2Zb
aT4+Ml09bztmW2o+PjJdPW99dD1tO3JldHVybiBjfDB9ZnVuY3Rpb24gVl8oYSxiLGMpe2E9YXww
O2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MDtlPXQ7dD10KzMyfDA7Zz1lO2Q9ZSsyMHwwO2Zb
Zz4+Ml09ZlthKzYwPj4yXTtmW2crND4+Ml09MDtmW2crOD4+Ml09YjtmW2crMTI+PjJdPWQ7Zltn
KzE2Pj4yXT1jO2lmKChXXyhFYSgxNDAsZ3wwKXwwKXwwKTwwKXtmW2Q+PjJdPS0xO2E9LTF9ZWxz
ZSBhPWZbZD4+Ml18MDt0PWU7cmV0dXJuIGF8MH1mdW5jdGlvbiBXXyhhKXthPWF8MDt2YXIgYj0w
O2lmKGE+Pj4wPjQyOTQ5NjMyMDApe2I9WF8oKXwwO2ZbYj4+Ml09MC1hO2E9LTF9cmV0dXJuIGF8
MH1mdW5jdGlvbiBYXygpe3JldHVybiAxOTQ3MTZ9ZnVuY3Rpb24gWV8oYSl7YT1hfDA7cmV0dXJu
IGF8MH1mdW5jdGlvbiBaXyhhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTA7Zz10
O3Q9dCszMnwwO2U9ZztmW2ErMzY+PjJdPTE1O2lmKChmW2E+PjJdJjY0fDApPT0wPyhmW2U+PjJd
PWZbYSs2MD4+Ml0sZltlKzQ+PjJdPTIxNTIzLGZbZSs4Pj4yXT1nKzE2LFBhKDU0LGV8MCl8MCk6
MCliW2ErNzU+PjBdPS0xO2U9VV8oYSxjLGQpfDA7dD1nO3JldHVybiBlfDB9ZnVuY3Rpb24gX18o
YSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTA7
az10O3Q9dCszMnwwO2U9aysxNnwwO2k9aztmW2k+PjJdPWM7Zz1pKzR8MDtqPWErNDh8MDtsPWZb
aj4+Ml18MDtmW2c+PjJdPWQtKChsfDApIT0wJjEpO2g9YSs0NHwwO2ZbaSs4Pj4yXT1mW2g+PjJd
O2ZbaSsxMj4+Ml09bDtmW2U+PjJdPWZbYSs2MD4+Ml07ZltlKzQ+PjJdPWk7ZltlKzg+PjJdPTI7
ZT1XXyhGYSgxNDUsZXwwKXwwKXwwO2lmKChlfDApPj0xKXtpPWZbZz4+Ml18MDtpZihlPj4+MD5p
Pj4+MCl7Zz1mW2g+PjJdfDA7aD1hKzR8MDtmW2g+PjJdPWc7ZlthKzg+PjJdPWcrKGUtaSk7aWYo
IShmW2o+PjJdfDApKWU9ZDtlbHNle2ZbaD4+Ml09ZysxO2JbYysoZCstMSk+PjBdPWJbZz4+MF18
MDtlPWR9fX1lbHNlIGZbYT4+Ml09ZlthPj4yXXxlJjQ4XjE2O3Q9aztyZXR1cm4gZXwwfWZ1bmN0
aW9uICRfKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGY9MDthOmRvIGlmKCFkKWE9
MDtlbHNle3doaWxlKDEpe2U9YlthPj4wXXwwO2Y9YltjPj4wXXwwO2lmKGU8PDI0Pj4yNCE9Zjw8
MjQ+PjI0KWJyZWFrO2Q9ZCstMXwwO2lmKCFkKXthPTA7YnJlYWsgYX1lbHNle2E9YSsxfDA7Yz1j
KzF8MH19YT0oZSYyNTUpLShmJjI1NSl8MH13aGlsZSgwKTtyZXR1cm4gYXwwfWZ1bmN0aW9uIGEk
KGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGY9MDtpZighZCllPTA7ZWxzZXtlPWJb
YT4+MF18MDthOmRvIGlmKCEoZTw8MjQ+PjI0KSllPTA7ZWxzZSB3aGlsZSgxKXtkPWQrLTF8MDtm
PWJbYz4+MF18MDtpZighKGU8PDI0Pj4yND09Zjw8MjQ+PjI0JigoZHwwKSE9MCZmPDwyND4+MjQh
PTApKSlicmVhayBhO2E9YSsxfDA7Yz1jKzF8MDtlPWJbYT4+MF18MDtpZighKGU8PDI0Pj4yNCkp
e2U9MDticmVha319d2hpbGUoMCk7ZT0oZSYyNTUpLShoW2M+PjBdfDApfDB9cmV0dXJuIGV8MH1m
dW5jdGlvbiBiJChhKXthPWF8MDtyZXR1cm4gKGErLTQ4fDApPj4+MDwxMHwwfWZ1bmN0aW9uIGMk
KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtjPUwkKGEsYixjLC0xLDApfDA7cmV0dXJuIGN8MH1m
dW5jdGlvbiBkJChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZD10O3Q9dCsx
NnwwO2U9ZDtmW2U+PjJdPWM7Yz1lJChhLGIsZSl8MDt0PWQ7cmV0dXJuIGN8MH1mdW5jdGlvbiBl
JChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7cmV0dXJuIGYkKGEsMjE0NzQ4MzY0NyxiLGMpfDB9
ZnVuY3Rpb24gZiQoYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAs
aT0wLGo9MCxrPTAsbD0wLG09MDttPXQ7dD10KzEyOHwwO2c9bSsxMjR8MDtsPW07aD1sO2k9Nzgy
NDQ7aj1oKzEyNHwwO2Rve2ZbaD4+Ml09ZltpPj4yXTtoPWgrNHwwO2k9aSs0fDB9d2hpbGUoKGh8
MCk8KGp8MCkpO2lmKChjKy0xfDApPj4+MD4yMTQ3NDgzNjQ2KWlmKCFjKXthPWc7Yz0xO2s9NH1l
bHNle2M9WF8oKXwwO2ZbYz4+Ml09NzU7Yz0tMX1lbHNlIGs9NDtpZigoa3wwKT09NCl7az0tMi1h
fDA7az1jPj4+MD5rPj4+MD9rOmM7ZltsKzQ4Pj4yXT1rO2c9bCsyMHwwO2ZbZz4+Ml09YTtmW2wr
NDQ+PjJdPWE7Yz1hK2t8MDthPWwrMTZ8MDtmW2E+PjJdPWM7ZltsKzI4Pj4yXT1jO2M9ZyQobCxk
LGUpfDA7aWYoayl7bD1mW2c+PjJdfDA7YltsKygoKGx8MCk9PShmW2E+PjJdfDApKTw8MzE+PjMx
KT4+MF09MH19dD1tO3JldHVybiBjfDB9ZnVuY3Rpb24gZyQoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9
ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxy
PTA7cj10O3Q9dCsyMjR8MDttPXIrMjA4fDA7bz1yKzE2MHwwO3A9cis4MHwwO3E9cjtlPW87Zz1l
KzQwfDA7ZG97ZltlPj4yXT0wO2U9ZSs0fDB9d2hpbGUoKGV8MCk8KGd8MCkpO2ZbbT4+Ml09Zltk
Pj4yXTtpZigoaCQoMCxjLG0scCxvKXwwKTwwKWQ9LTE7ZWxzZXtpZigoZlthKzc2Pj4yXXwwKT4t
MSluPWkkKGEpfDA7ZWxzZSBuPTA7ZD1mW2E+PjJdfDA7bD1kJjMyO2lmKChiW2ErNzQ+PjBdfDAp
PDEpZlthPj4yXT1kJi0zMztlPWErNDh8MDtpZighKGZbZT4+Ml18MCkpe2c9YSs0NHwwO2g9Zltn
Pj4yXXwwO2ZbZz4+Ml09cTtpPWErMjh8MDtmW2k+PjJdPXE7aj1hKzIwfDA7ZltqPj4yXT1xO2Zb
ZT4+Ml09ODA7az1hKzE2fDA7ZltrPj4yXT1xKzgwO2Q9aCQoYSxjLG0scCxvKXwwO2lmKGgpe3di
W2ZbYSszNj4+Ml0mNjNdKGEsMCwwKXwwO2Q9KGZbaj4+Ml18MCk9PTA/LTE6ZDtmW2c+PjJdPWg7
ZltlPj4yXT0wO2Zbaz4+Ml09MDtmW2k+PjJdPTA7ZltqPj4yXT0wfX1lbHNlIGQ9aCQoYSxjLG0s
cCxvKXwwO2U9ZlthPj4yXXwwO2ZbYT4+Ml09ZXxsO2lmKG58MClqJChhKTtkPShlJjMyfDApPT0w
P2Q6LTF9dD1yO3JldHVybiBkfDB9ZnVuY3Rpb24gaCQoYSxjLGUsZyxoKXthPWF8MDtjPWN8MDtl
PWV8MDtnPWd8MDtoPWh8MDt2YXIgaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAs
cz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEg9MCxJ
PTA7ST10O3Q9dCs2NHwwO0M9SSs1NnwwO0Q9SSs0MHwwO3o9STtGPUkrNDh8MDtIPUkrNjB8MDtm
W0M+PjJdPWM7dz0oYXwwKSE9MDt4PXorNDB8MDt5PXg7ej16KzM5fDA7QT1GKzR8MDtpPTA7Yz0w
O2s9MDthOndoaWxlKDEpe2Rve2RvIGlmKChjfDApPi0xKWlmKChpfDApPigyMTQ3NDgzNjQ3LWN8
MCkpe2M9WF8oKXwwO2ZbYz4+Ml09NzU7Yz0tMTticmVha31lbHNle2M9aStjfDA7YnJlYWt9d2hp
bGUoMCk7cj1mW0M+PjJdfDA7aT1iW3I+PjBdfDA7aWYoIShpPDwyND4+MjQpKXt2PTk0O2JyZWFr
IGF9aj1yO2I6d2hpbGUoMSl7c3dpdGNoKGk8PDI0Pj4yNCl7Y2FzZSAzNzp7dj0xMDticmVhayBi
fWNhc2UgMDp7aT1qO2JyZWFrIGJ9ZGVmYXVsdDp7fX11PWorMXwwO2ZbQz4+Ml09dTtpPWJbdT4+
MF18MDtqPXV9YzpkbyBpZigodnwwKT09MTApe3Y9MDtpPWo7ZG97aWYoKGJbaisxPj4wXXwwKSE9
MzcpYnJlYWsgYztpPWkrMXwwO2o9aisyfDA7ZltDPj4yXT1qfXdoaWxlKChiW2o+PjBdfDApPT0z
Nyl9d2hpbGUoMCk7aT1pLXJ8MDtpZih3KWskKGEscixpKX13aGlsZSgoaXwwKSE9MCk7dT0oYiQo
YlsoZltDPj4yXXwwKSsxPj4wXXwwKXwwKT09MDtqPWZbQz4+Ml18MDtpZighdT8oYltqKzI+PjBd
fDApPT0zNjowKXtvPShiW2orMT4+MF18MCkrLTQ4fDA7bT0xO2k9M31lbHNle289LTE7bT1rO2k9
MX1pPWoraXwwO2ZbQz4+Ml09aTtqPWJbaT4+MF18MDtrPShqPDwyND4+MjQpKy0zMnwwO2lmKGs+
Pj4wPjMxfCgxPDxrJjc1OTEzfDApPT0wKWw9MDtlbHNle2w9MDtkb3tsPTE8PGt8bDtpPWkrMXww
O2ZbQz4+Ml09aTtqPWJbaT4+MF18MDtrPShqPDwyND4+MjQpKy0zMnwwfXdoaWxlKCEoaz4+PjA+
MzF8KDE8PGsmNzU5MTN8MCk9PTApKX1pZihqPDwyND4+MjQ9PTQyKXtpZigoYiQoYltpKzE+PjBd
fDApfDApIT0wPyhFPWZbQz4+Ml18MCwoYltFKzI+PjBdfDApPT0zNik6MCl7aT1FKzF8MDtmW2gr
KChiW2k+PjBdfDApKy00ODw8Mik+PjJdPTEwO2k9ZltnKygoYltpPj4wXXwwKSstNDg8PDMpPj4y
XXwwO2s9MTtqPUUrM3wwfWVsc2V7aWYobXwwKXtjPS0xO2JyZWFrfWlmKHcpe3U9KGZbZT4+Ml18
MCkrKDQtMSkmfig0LTEpO2k9Zlt1Pj4yXXwwO2ZbZT4+Ml09dSs0fWVsc2UgaT0wO2s9MDtqPShm
W0M+PjJdfDApKzF8MH1mW0M+PjJdPWo7dT0oaXwwKTwwO3M9dT8wLWl8MDppO2w9dT9sfDgxOTI6
bDt1PWt9ZWxzZXtpPWwkKEMpfDA7aWYoKGl8MCk8MCl7Yz0tMTticmVha31zPWk7dT1tO2o9ZltD
Pj4yXXwwfWRvIGlmKChiW2o+PjBdfDApPT00Nil7aT1qKzF8MDtpZigoYltpPj4wXXwwKSE9NDIp
e2ZbQz4+Ml09aTtpPWwkKEMpfDA7aj1mW0M+PjJdfDA7YnJlYWt9aWYoYiQoYltqKzI+PjBdfDAp
fDA/KEI9ZltDPj4yXXwwLChiW0IrMz4+MF18MCk9PTM2KTowKXtpPUIrMnwwO2ZbaCsoKGJbaT4+
MF18MCkrLTQ4PDwyKT4+Ml09MTA7aT1mW2crKChiW2k+PjBdfDApKy00ODw8Myk+PjJdfDA7aj1C
KzR8MDtmW0M+PjJdPWo7YnJlYWt9aWYodXwwKXtjPS0xO2JyZWFrIGF9aWYodyl7cT0oZltlPj4y
XXwwKSsoNC0xKSZ+KDQtMSk7aT1mW3E+PjJdfDA7ZltlPj4yXT1xKzR9ZWxzZSBpPTA7aj0oZltD
Pj4yXXwwKSsyfDA7ZltDPj4yXT1qfWVsc2UgaT0tMTt3aGlsZSgwKTtxPTA7d2hpbGUoMSl7aWYo
KChiW2o+PjBdfDApKy02NXwwKT4+PjA+NTcpe2M9LTE7YnJlYWsgYX1rPWo7aj1qKzF8MDtmW0M+
PjJdPWo7az1iWyhiW2s+PjBdfDApKy02NSsoNTU4MjQrKHEqNTh8MCkpPj4wXXwwO209ayYyNTU7
aWYoKG0rLTF8MCk+Pj4wPj04KWJyZWFrO2Vsc2UgcT1tfWlmKCEoazw8MjQ+PjI0KSl7Yz0tMTti
cmVha31uPShvfDApPi0xO2RvIGlmKGs8PDI0Pj4yND09MTkpaWYobil7Yz0tMTticmVhayBhfWVs
c2Ugdj01NDtlbHNle2lmKG4pe2ZbaCsobzw8Mik+PjJdPW07bj1nKyhvPDwzKXwwO289ZltuKzQ+
PjJdfDA7dj1EO2Zbdj4+Ml09ZltuPj4yXTtmW3YrND4+Ml09bzt2PTU0O2JyZWFrfWlmKCF3KXtj
PTA7YnJlYWsgYX1tJChELG0sZSk7aj1mW0M+PjJdfDA7dj01NX13aGlsZSgwKTtpZigodnwwKT09
NTQpe3Y9MDtpZih3KXY9NTU7ZWxzZSBpPTB9ZDpkbyBpZigodnwwKT09NTUpe3Y9MDtqPWJbaist
MT4+MF18MDtqPShxfDApIT0wJihqJjE1fDApPT0zP2omLTMzOmo7az1sJi02NTUzNztvPShsJjgx
OTJ8MCk9PTA/bDprO2U6ZG8gc3dpdGNoKGp8MCl7Y2FzZSAxMTA6c3dpdGNoKChxJjI1NSk8PDI0
Pj4yNCl7Y2FzZSAwOntmW2ZbRD4+Ml0+PjJdPWM7aT0wO2JyZWFrIGR9Y2FzZSAxOntmW2ZbRD4+
Ml0+PjJdPWM7aT0wO2JyZWFrIGR9Y2FzZSAyOntpPWZbRD4+Ml18MDtmW2k+PjJdPWM7ZltpKzQ+
PjJdPSgoY3wwKTwwKTw8MzE+PjMxO2k9MDticmVhayBkfWNhc2UgMzp7ZFtmW0Q+PjJdPj4xXT1j
O2k9MDticmVhayBkfWNhc2UgNDp7YltmW0Q+PjJdPj4wXT1jO2k9MDticmVhayBkfWNhc2UgNjp7
ZltmW0Q+PjJdPj4yXT1jO2k9MDticmVhayBkfWNhc2UgNzp7aT1mW0Q+PjJdfDA7ZltpPj4yXT1j
O2ZbaSs0Pj4yXT0oKGN8MCk8MCk8PDMxPj4zMTtpPTA7YnJlYWsgZH1kZWZhdWx0OntpPTA7YnJl
YWsgZH19Y2FzZSAxMTI6e2o9MTIwO2k9aT4+PjA+OD9pOjg7az1vfDg7dj02NzticmVha31jYXNl
IDg4OmNhc2UgMTIwOntrPW87dj02NzticmVha31jYXNlIDExMTp7az1EO2o9ZltrPj4yXXwwO2s9
ZltrKzQ+PjJdfDA7bj1vJChqLGsseCl8MDt2PXktbnwwO2w9MDttPTE1MTA0NjtpPShvJjh8MCk9
PTB8KGl8MCk+KHZ8MCk/aTp2KzF8MDt2PTczO2JyZWFrfWNhc2UgMTA1OmNhc2UgMTAwOntrPUQ7
aj1mW2s+PjJdfDA7az1mW2srND4+Ml18MDtpZigoa3wwKTwwKXtqPUYzKDAsMCxqfDAsa3wwKXww
O2s9RztsPUQ7ZltsPj4yXT1qO2ZbbCs0Pj4yXT1rO2w9MTttPTE1MTA0Njt2PTcyO2JyZWFrIGV9
ZWxzZXtsPShvJjIwNDl8MCkhPTAmMTttPShvJjIwNDh8MCk9PTA/KChvJjF8MCk9PTA/MTUxMDQ2
OjE1MTA0OCk6MTUxMDQ3O3Y9NzI7YnJlYWsgZX19Y2FzZSAxMTc6e2s9RDtsPTA7bT0xNTEwNDY7
aj1mW2s+PjJdfDA7az1mW2srND4+Ml18MDt2PTcyO2JyZWFrfWNhc2UgOTk6e2Jbej4+MF09ZltE
Pj4yXTtxPXo7bD0wO209MTUxMDQ2O249MTtpPXk7YnJlYWt9Y2FzZSAxMDk6e2o9WF8oKXwwO2o9
cSQoZltqPj4yXXwwKXwwO3Y9Nzc7YnJlYWt9Y2FzZSAxMTU6e2o9ZltEPj4yXXwwO2o9KGp8MCk9
PTA/MTUxMDU2Omo7dj03NzticmVha31jYXNlIDY3OntmW0Y+PjJdPWZbRD4+Ml07ZltBPj4yXT0w
O2ZbRD4+Ml09RjttPS0xO3Y9ODE7YnJlYWt9Y2FzZSA4Mzp7aWYoIWkpe3MkKGEsMzIscywwLG8p
O2k9MDt2PTkxfWVsc2V7bT1pO3Y9ODF9YnJlYWt9Y2FzZSA2NTpjYXNlIDcxOmNhc2UgNzA6Y2Fz
ZSA2OTpjYXNlIDk3OmNhc2UgMTAzOmNhc2UgMTAyOmNhc2UgMTAxOntpPXUkKGEsK3BbRD4+M10s
cyxpLG8sail8MDticmVhayBkfWRlZmF1bHQ6e3E9cjtsPTA7bT0xNTEwNDY7bj1pO2s9bztpPXl9
fXdoaWxlKDApO2Y6ZG8gaWYoKHZ8MCk9PTY3KXtyPUQ7cT1mW3I+PjJdfDA7cj1mW3IrND4+Ml18
MDtuPW4kKHEscix4LGomMzIpfDA7bT0oayY4fDApPT0wfChxfDApPT0wJihyfDApPT0wO2w9bT8w
OjI7bT1tPzE1MTA0NjoxNTEwNDYrKGo+Pj40KXwwO289aztqPXE7az1yO3Y9NzN9ZWxzZSBpZigo
dnwwKT09NzIpe249cCQoaixrLHgpfDA7dj03M31lbHNlIGlmKCh2fDApPT03Nyl7dj0wO3I9ciQo
aiwwLGkpfDA7bz0ocnwwKT09MDtxPWo7bD0wO209MTUxMDQ2O249bz9pOnItanwwO2k9bz9qK2l8
MDpyfWVsc2UgaWYoKHZ8MCk9PTgxKXt2PTA7bD1mW0Q+PjJdfDA7aT0wO3doaWxlKDEpe2o9Zlts
Pj4yXXwwO2lmKCFqKWJyZWFrO2o9dCQoSCxqKXwwO2s9KGp8MCk8MDtpZihrfGo+Pj4wPihtLWl8
MCk+Pj4wKXt2PTg1O2JyZWFrfWk9aitpfDA7aWYobT4+PjA+aT4+PjApbD1sKzR8MDtlbHNlIGJy
ZWFrfWlmKCh2fDApPT04NSl7dj0wO2lmKGspe2M9LTE7YnJlYWsgYX19cyQoYSwzMixzLGksbyk7
aWYoIWkpe2k9MDt2PTkxfWVsc2V7az1mW0Q+PjJdfDA7bD0wO3doaWxlKDEpe2o9ZltrPj4yXXww
O2lmKCFqKXt2PTkxO2JyZWFrIGZ9aj10JChILGopfDA7bD1qK2x8MDtpZigobHwwKT4oaXwwKSl7
dj05MTticmVhayBmfWskKGEsSCxqKTtpZihsPj4+MD49aT4+PjApe3Y9OTE7YnJlYWt9ZWxzZSBr
PWsrNHwwfX19d2hpbGUoMCk7aWYoKHZ8MCk9PTczKXt2PTA7az0oanwwKSE9MHwoa3wwKSE9MDty
PShpfDApIT0wfGs7az15LW4rKChrXjEpJjEpfDA7cT1yP246eDtuPXI/KChpfDApPihrfDApP2k6
ayk6MDtrPShpfDApPi0xP28mLTY1NTM3Om87aT15fWVsc2UgaWYoKHZ8MCk9PTkxKXt2PTA7cyQo
YSwzMixzLGksb144MTkyKTtpPShzfDApPihpfDApP3M6aTticmVha31vPWktcXwwO249KG58MCk8
KG98MCk/bzpuO3I9bitsfDA7aT0oc3wwKTwocnwwKT9yOnM7cyQoYSwzMixpLHIsayk7ayQoYSxt
LGwpO3MkKGEsNDgsaSxyLGteNjU1MzYpO3MkKGEsNDgsbixvLDApO2skKGEscSxvKTtzJChhLDMy
LGkscixrXjgxOTIpfXdoaWxlKDApO2s9dX1nOmRvIGlmKCh2fDApPT05NClpZighYSlpZighaylj
PTA7ZWxzZXtjPTE7d2hpbGUoMSl7aT1mW2grKGM8PDIpPj4yXXwwO2lmKCFpKWJyZWFrO20kKGcr
KGM8PDMpfDAsaSxlKTtjPWMrMXwwO2lmKGM+Pj4wPj0xMCl7Yz0xO2JyZWFrIGd9fXdoaWxlKDEp
e2lmKGZbaCsoYzw8Mik+PjJdfDApe2M9LTE7YnJlYWsgZ31jPWMrMXwwO2lmKGM+Pj4wPj0xMCl7
Yz0xO2JyZWFrfX19d2hpbGUoMCk7dD1JO3JldHVybiBjfDB9ZnVuY3Rpb24gaSQoYSl7YT1hfDA7
cmV0dXJuIDB9ZnVuY3Rpb24gaiQoYSl7YT1hfDA7cmV0dXJufWZ1bmN0aW9uIGskKGEsYixjKXth
PWF8MDtiPWJ8MDtjPWN8MDtpZighKGZbYT4+Ml0mMzIpKUkkKGIsYyxhKXwwO3JldHVybn1mdW5j
dGlvbiBsJChhKXthPWF8MDt2YXIgYz0wLGQ9MDtpZighKGIkKGJbZlthPj4yXT4+MF18MCl8MCkp
Yz0wO2Vsc2V7Yz0wO2Rve2Q9ZlthPj4yXXwwO2M9KGMqMTB8MCkrLTQ4KyhiW2Q+PjBdfDApfDA7
ZD1kKzF8MDtmW2E+PjJdPWR9d2hpbGUoKGIkKGJbZD4+MF18MCl8MCkhPTApfXJldHVybiBjfDB9
ZnVuY3Rpb24gbSQoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MC4wO2E6
ZG8gaWYoYj4+PjA8PTIwKWRvIHN3aXRjaChifDApe2Nhc2UgOTp7ZD0oZltjPj4yXXwwKSsoNC0x
KSZ+KDQtMSk7Yj1mW2Q+PjJdfDA7ZltjPj4yXT1kKzQ7ZlthPj4yXT1iO2JyZWFrIGF9Y2FzZSAx
MDp7ZD0oZltjPj4yXXwwKSsoNC0xKSZ+KDQtMSk7Yj1mW2Q+PjJdfDA7ZltjPj4yXT1kKzQ7ZD1h
O2ZbZD4+Ml09YjtmW2QrND4+Ml09KChifDApPDApPDwzMT4+MzE7YnJlYWsgYX1jYXNlIDExOntk
PShmW2M+PjJdfDApKyg0LTEpJn4oNC0xKTtiPWZbZD4+Ml18MDtmW2M+PjJdPWQrNDtkPWE7Zltk
Pj4yXT1iO2ZbZCs0Pj4yXT0wO2JyZWFrIGF9Y2FzZSAxMjp7ZD0oZltjPj4yXXwwKSsoOC0xKSZ+
KDgtMSk7Yj1kO2U9ZltiPj4yXXwwO2I9ZltiKzQ+PjJdfDA7ZltjPj4yXT1kKzg7ZD1hO2ZbZD4+
Ml09ZTtmW2QrND4+Ml09YjticmVhayBhfWNhc2UgMTM6e2U9KGZbYz4+Ml18MCkrKDQtMSkmfig0
LTEpO2Q9ZltlPj4yXXwwO2ZbYz4+Ml09ZSs0O2Q9KGQmNjU1MzUpPDwxNj4+MTY7ZT1hO2ZbZT4+
Ml09ZDtmW2UrND4+Ml09KChkfDApPDApPDwzMT4+MzE7YnJlYWsgYX1jYXNlIDE0OntlPShmW2M+
PjJdfDApKyg0LTEpJn4oNC0xKTtkPWZbZT4+Ml18MDtmW2M+PjJdPWUrNDtlPWE7ZltlPj4yXT1k
JjY1NTM1O2ZbZSs0Pj4yXT0wO2JyZWFrIGF9Y2FzZSAxNTp7ZT0oZltjPj4yXXwwKSsoNC0xKSZ+
KDQtMSk7ZD1mW2U+PjJdfDA7ZltjPj4yXT1lKzQ7ZD0oZCYyNTUpPDwyND4+MjQ7ZT1hO2ZbZT4+
Ml09ZDtmW2UrND4+Ml09KChkfDApPDApPDwzMT4+MzE7YnJlYWsgYX1jYXNlIDE2OntlPShmW2M+
PjJdfDApKyg0LTEpJn4oNC0xKTtkPWZbZT4+Ml18MDtmW2M+PjJdPWUrNDtlPWE7ZltlPj4yXT1k
JjI1NTtmW2UrND4+Ml09MDticmVhayBhfWNhc2UgMTc6e2U9KGZbYz4+Ml18MCkrKDgtMSkmfig4
LTEpO2c9K3BbZT4+M107ZltjPj4yXT1lKzg7cFthPj4zXT1nO2JyZWFrIGF9Y2FzZSAxODp7ZT0o
ZltjPj4yXXwwKSsoOC0xKSZ+KDgtMSk7Zz0rcFtlPj4zXTtmW2M+PjJdPWUrODtwW2E+PjNdPWc7
YnJlYWsgYX1kZWZhdWx0OmJyZWFrIGF9d2hpbGUoMCk7d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9u
IG4kKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2lmKCEoKGF8MCk9PTAmKGN8MCk9
PTApKWRve2Q9ZCstMXwwO2JbZD4+MF09aFs1NjI4OCsoYSYxNSk+PjBdfDB8ZTthPUszKGF8MCxj
fDAsNCl8MDtjPUd9d2hpbGUoISgoYXwwKT09MCYoY3wwKT09MCkpO3JldHVybiBkfDB9ZnVuY3Rp
b24gbyQoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2lmKCEoKGF8MCk9PTAmKGN8MCk9PTApKWRv
e2Q9ZCstMXwwO2JbZD4+MF09YSY3fDQ4O2E9SzMoYXwwLGN8MCwzKXwwO2M9R313aGlsZSghKChh
fDApPT0wJihjfDApPT0wKSk7cmV0dXJuIGR8MH1mdW5jdGlvbiBwJChhLGMsZCl7YT1hfDA7Yz1j
fDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2lmKGM+Pj4wPjB8KGN8MCk9PTAmYT4+PjA+NDI5NDk2
NzI5NSl7ZG97ZT1hO2E9STMoYXwwLGN8MCwxMCwwKXwwO2Y9YztjPUc7Zz1EMyhhfDAsY3wwLDEw
LDApfDA7Zz1GMyhlfDAsZnwwLGd8MCxHfDApfDA7ZD1kKy0xfDA7YltkPj4wXT1nJjI1NXw0OH13
aGlsZShmPj4+MD45fChmfDApPT05JmU+Pj4wPjQyOTQ5NjcyOTUpO2M9YX1lbHNlIGM9YTtpZihj
KWRve2c9YztjPShjPj4+MCkvMTB8MDtkPWQrLTF8MDtiW2Q+PjBdPWctKGMqMTB8MCl8NDh9d2hp
bGUoZz4+PjA+PTEwKTtyZXR1cm4gZHwwfWZ1bmN0aW9uIHEkKGEpe2E9YXwwO3ZhciBiPTA7Yj0o
QiQoKXwwKSsxODh8MDtyZXR1cm4gQyQoYSxmW2I+PjJdfDApfDB9ZnVuY3Rpb24gciQoYSxjLGQp
e2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTA7aD1jJjI1NTtlPShkfDApIT0w
O2E6ZG8gaWYoZSYoYSYzfDApIT0wKXtnPWMmMjU1O3doaWxlKDEpe2lmKChiW2E+PjBdfDApPT1n
PDwyND4+MjQpe2k9NjticmVhayBhfWE9YSsxfDA7ZD1kKy0xfDA7ZT0oZHwwKSE9MDtpZighKGUm
KGEmM3wwKSE9MCkpe2k9NTticmVha319fWVsc2UgaT01O3doaWxlKDApO2lmKChpfDApPT01KWlm
KGUpaT02O2Vsc2UgaT0xNjtiOmRvIGlmKChpfDApPT02KXtnPWMmMjU1O2lmKChiW2E+PjBdfDAp
PT1nPDwyND4+MjQpaWYoIWQpe2k9MTY7YnJlYWt9ZWxzZSBicmVhaztlPVYoaCwxNjg0MzAwOSl8
MDtjOmRvIGlmKGQ+Pj4wPjMpd2hpbGUoMSl7aD1mW2E+PjJdXmU7aWYoKGgmLTIxMzkwNjIxNDRe
LTIxMzkwNjIxNDQpJmgrLTE2ODQzMDA5fDApYnJlYWsgYzthPWErNHwwO2Q9ZCstNHwwO2lmKGQ+
Pj4wPD0zKXtpPTExO2JyZWFrfX1lbHNlIGk9MTE7d2hpbGUoMCk7aWYoKGl8MCk9PTExKWlmKCFk
KXtpPTE2O2JyZWFrfXdoaWxlKDEpe2lmKChiW2E+PjBdfDApPT1nPDwyND4+MjQpYnJlYWsgYjtk
PWQrLTF8MDtpZighZCl7aT0xNjticmVha31lbHNlIGE9YSsxfDB9fXdoaWxlKDApO2lmKChpfDAp
PT0xNilhPTA7cmV0dXJuIGF8MH1mdW5jdGlvbiBzJChhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9
Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wO2c9dDt0PXQrMjU2fDA7Zj1nO2lmKChjfDApPihk
fDApJihlJjczNzI4fDApPT0wKXtlPWMtZHwwO1MzKGZ8MCxiPDwyND4+MjR8MCwoZT4+PjA8MjU2
P2U6MjU2KXwwKXwwO2lmKGU+Pj4wPjI1NSl7Yj1jLWR8MDtkb3trJChhLGYsMjU2KTtlPWUrLTI1
NnwwfXdoaWxlKGU+Pj4wPjI1NSk7ZT1iJjI1NX1rJChhLGYsZSl9dD1nO3JldHVybn1mdW5jdGlv
biB0JChhLGIpe2E9YXwwO2I9YnwwO2lmKCFhKWE9MDtlbHNlIGE9eSQoYSxiLDApfDA7cmV0dXJu
IGF8MH1mdW5jdGlvbiB1JChhLGMsZCxlLGcsaSl7YT1hfDA7Yz0rYztkPWR8MDtlPWV8MDtnPWd8
MDtpPWl8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MC4wLHI9MCxzPTAsdT0w
LHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsSD0wO0g9dDt0PXQr
NTYwfDA7bD1IKzMyfDA7dj1IKzUzNnwwO0Y9SDtFPUY7bT1IKzU0MHwwO2Zbdj4+Ml09MDtEPW0r
MTJ8MDt2JChjKXwwO2o9RztpZigoanwwKTwwKXtjPS1jO3YkKGMpfDA7Qz0xO0I9MTUxMDYzO2o9
R31lbHNle0M9KGcmMjA0OXwwKSE9MCYxO0I9KGcmMjA0OHwwKT09MD8oKGcmMXwwKT09MD8xNTEw
NjQ6MTUxMDY5KToxNTEwNjZ9ZG8gaWYoMD09MCYoaiYyMTQ2NDM1MDcyfDApPT0yMTQ2NDM1MDcy
KXtGPShpJjMyfDApIT0wO2o9QyszfDA7cyQoYSwzMixkLGosZyYtNjU1MzcpO2skKGEsQixDKTtr
JChhLGMhPWN8MC4wIT0wLjA/KEY/MTUxMjIyOjE1MTA5MCk6Rj8xNTEwODI6MTUxMDg2LDMpO3Mk
KGEsMzIsZCxqLGdeODE5Mil9ZWxzZXtxPSt3JChjLHYpKjIuMDtqPXEhPTAuMDtpZihqKWZbdj4+
Ml09KGZbdj4+Ml18MCkrLTE7dT1pfDMyO2lmKCh1fDApPT05Nyl7bz1pJjMyO3I9KG98MCk9PTA/
QjpCKzl8MDtwPUN8MjtqPTEyLWV8MDtkbyBpZighKGU+Pj4wPjExfChqfDApPT0wKSl7Yz04LjA7
ZG97aj1qKy0xfDA7Yz1jKjE2LjB9d2hpbGUoKGp8MCkhPTApO2lmKChiW3I+PjBdfDApPT00NSl7
Yz0tKGMrKC1xLWMpKTticmVha31lbHNle2M9cStjLWM7YnJlYWt9fWVsc2UgYz1xO3doaWxlKDAp
O2s9Zlt2Pj4yXXwwO2o9KGt8MCk8MD8wLWt8MDprO2o9cCQoaiwoKGp8MCk8MCk8PDMxPj4zMSxE
KXwwO2lmKChqfDApPT0oRHwwKSl7aj1tKzExfDA7YltqPj4wXT00OH1iW2orLTE+PjBdPShrPj4z
MSYyKSs0MztuPWorLTJ8MDtiW24+PjBdPWkrMTU7az0oZXwwKTwxO2w9KGcmOHwwKT09MDttPUY7
ZG97Qz1+fmM7aj1tKzF8MDtiW20+PjBdPW98aFs1NjI4OCtDPj4wXTtjPShjLSsoQ3wwKSkqMTYu
MDtpZigoai1FfDApPT0xPyEobCYoayZjPT0wLjApKTowKXtiW2o+PjBdPTQ2O209bSsyfDB9ZWxz
ZSBtPWp9d2hpbGUoYyE9MC4wKTtpZigoZXwwKSE9MD8oLTItRSttfDApPChlfDApOjApe2s9RDts
PW47aj1lKzIray1sfDB9ZWxzZXtrPUQ7bD1uO2o9ay1FLWwrbXwwfUQ9aitwfDA7cyQoYSwzMixk
LEQsZyk7ayQoYSxyLHApO3MkKGEsNDgsZCxELGdeNjU1MzYpO0U9bS1FfDA7ayQoYSxGLEUpO0Y9
ay1sfDA7cyQoYSw0OCxqLShFK0YpfDAsMCwwKTtrJChhLG4sRik7cyQoYSwzMixkLEQsZ144MTky
KTtqPUQ7YnJlYWt9az0oZXwwKTwwPzY6ZTtpZihqKXtqPShmW3Y+PjJdfDApKy0yOHwwO2Zbdj4+
Ml09ajtjPXEqMjY4NDM1NDU2LjB9ZWxzZXtjPXE7aj1mW3Y+PjJdfDB9QT0oanwwKTwwP2w6bCsy
ODh8MDtsPUE7ZG97eT1+fmM+Pj4wO2ZbbD4+Ml09eTtsPWwrNHwwO2M9KGMtKyh5Pj4+MCkpKjEu
MGU5fXdoaWxlKGMhPTAuMCk7eT1BO2lmKChqfDApPjApe289QTt3aGlsZSgxKXtuPShqfDApPDI5
P2o6Mjk7aj1sKy00fDA7aWYoaj4+PjA+PW8+Pj4wKXttPTA7ZG97cz1MMyhmW2o+PjJdfDAsMCxu
fDApfDA7cz1FMyhzfDAsR3wwLG18MCwwKXwwO3c9RzttPUkzKHN8MCx3fDAsMWU5LDApfDA7eD1E
MyhtfDAsR3wwLDFlOSwwKXwwO3g9RjMoc3wwLHd8MCx4fDAsR3wwKXwwO2Zbaj4+Ml09eDtqPWor
LTR8MH13aGlsZShqPj4+MD49bz4+PjApO2lmKG0pe3g9bystNHwwO2ZbeD4+Ml09bTttPXh9ZWxz
ZSBtPW99ZWxzZSBtPW87YTpkbyBpZihsPj4+MD5tPj4+MCl7aj1sO3doaWxlKDEpe2w9aistNHww
O2lmKGZbbD4+Ml18MCl7bD1qO2JyZWFrIGF9aWYobD4+PjA+bT4+PjApaj1sO2Vsc2UgYnJlYWt9
fXdoaWxlKDApO2o9KGZbdj4+Ml18MCktbnwwO2Zbdj4+Ml09ajtpZigoanwwKT4wKW89bTtlbHNl
IGJyZWFrfX1lbHNlIG09QTtpZigoanwwKTwwKXtlPSgoaysyNXwwKS85fDApKzF8MDtzPSh1fDAp
PT0xMDI7ZG97cj0wLWp8MDtyPShyfDApPDk/cjo5O2lmKG0+Pj4wPGw+Pj4wKXtuPSgxPDxyKSst
MXwwO289MWU5Pj4+cjtwPTA7aj1tO2Rve3g9ZltqPj4yXXwwO2Zbaj4+Ml09KHg+Pj5yKStwO3A9
Vih4Jm4sbyl8MDtqPWorNHwwfXdoaWxlKGo+Pj4wPGw+Pj4wKTttPShmW20+PjJdfDApPT0wP20r
NHwwOm07aWYocCl7ZltsPj4yXT1wO2w9bCs0fDB9fWVsc2UgbT0oZlttPj4yXXwwKT09MD9tKzR8
MDptO2o9cz9BOm07bD0obC1qPj4yfDApPihlfDApP2orKGU8PDIpfDA6bDtqPShmW3Y+PjJdfDAp
K3J8MDtmW3Y+PjJdPWp9d2hpbGUoKGp8MCk8MCk7cz1tfWVsc2Ugcz1tO2lmKHM+Pj4wPGw+Pj4w
KXtqPSh5LXM+PjIpKjl8MDtuPWZbcz4+Ml18MDtpZihuPj4+MD49MTApe209MTA7ZG97bT1tKjEw
fDA7aj1qKzF8MH13aGlsZShuPj4+MD49bT4+PjApfX1lbHNlIGo9MDt3PSh1fDApPT0xMDM7eD0o
a3wwKSE9MDttPWstKCh1fDApPT0xMDI/MDpqKSsoKHgmdyk8PDMxPj4zMSl8MDtpZigobXwwKTwo
KChsLXk+PjIpKjl8MCkrLTl8MCkpe3Y9bSs5MjE2fDA7bT0odnwwKS85fDA7ZT1BKzQrKG0rLTEw
MjQ8PDIpfDA7bT12LShtKjl8MCl8MDtpZigobXwwKTw4KXtuPTEwO3doaWxlKDEpe249bioxMHww
O2lmKChtfDApPDcpbT1tKzF8MDtlbHNlIGJyZWFrfX1lbHNlIG49MTA7cD1mW2U+PjJdfDA7bT0o
cD4+PjApLyhuPj4+MCl8MDtyPXAtKFYobSxuKXwwKXwwO289KGUrNHwwKT09KGx8MCk7aWYoIShv
JihyfDApPT0wKSl7cT0obSYxfDApPT0wPzkwMDcxOTkyNTQ3NDA5OTIuMDo5MDA3MTk5MjU0NzQw
OTk0LjA7dj1uPj4+MTtjPXI+Pj4wPHY+Pj4wPy41Om8mKHJ8MCk9PSh2fDApPzEuMDoxLjU7aWYo
Qyl7dj0oYltCPj4wXXwwKT09NDU7Yz12Py1jOmM7cT12Py1xOnF9bT1wLXJ8MDtmW2U+PjJdPW07
aWYocStjIT1xKXt2PW0rbnwwO2ZbZT4+Ml09djtpZih2Pj4+MD45OTk5OTk5OTkpe249ZTtqPXM7
d2hpbGUoMSl7bT1uKy00fDA7ZltuPj4yXT0wO2lmKG0+Pj4wPGo+Pj4wKXtqPWorLTR8MDtmW2o+
PjJdPTB9dj0oZlttPj4yXXwwKSsxfDA7ZlttPj4yXT12O2lmKHY+Pj4wPjk5OTk5OTk5OSluPW07
ZWxzZXtuPWo7YnJlYWt9fX1lbHNle209ZTtuPXN9aj0oeS1uPj4yKSo5fDA7cD1mW24+PjJdfDA7
aWYocD4+PjA+PTEwKXtvPTEwO2Rve289byoxMHwwO2o9aisxfDB9d2hpbGUocD4+PjA+PW8+Pj4w
KX19ZWxzZXttPWU7bj1zfX1lbHNle209ZTtuPXN9dj1tKzR8MDtsPWw+Pj4wPnY+Pj4wP3Y6bH1l
bHNlIG49cztlPTAtanwwO2I6ZG8gaWYobD4+PjA+bj4+PjApd2hpbGUoMSl7bT1sKy00fDA7aWYo
ZlttPj4yXXwwKXt2PWw7dT0xO2JyZWFrIGJ9aWYobT4+PjA+bj4+PjApbD1tO2Vsc2V7dj1tO3U9
MDticmVha319ZWxzZXt2PWw7dT0wfXdoaWxlKDApO2RvIGlmKHcpe2s9aysoKHheMSkmMSl8MDtp
Zigoa3wwKT4oanwwKSYoanwwKT4tNSl7bz1pKy0xfDA7az1rKy0xLWp8MH1lbHNle289aSstMnww
O2s9aystMXwwfWlmKCEoZyY4KSl7aWYodT8oej1mW3YrLTQ+PjJdfDAsKHp8MCkhPTApOjApaWYo
ISgoej4+PjApJTEwfDApKXttPTA7bD0xMDtkb3tsPWwqMTB8MDttPW0rMXwwfXdoaWxlKCEoKHo+
Pj4wKSUobD4+PjApfDB8MCkpfWVsc2UgbT0wO2Vsc2UgbT05O2w9KCh2LXk+PjIpKjl8MCkrLTl8
MDtpZigob3wzMnwwKT09MTAyKXtpPWwtbXwwO2k9KGl8MCk+MD9pOjA7az0oa3wwKTwoaXwwKT9r
Omk7YnJlYWt9ZWxzZXtpPWwrai1tfDA7aT0oaXwwKT4wP2k6MDtrPShrfDApPChpfDApP2s6aTti
cmVha319fWVsc2Ugbz1pO3doaWxlKDApO3M9KGt8MCkhPTA7cD1zPzE6Zz4+PjMmMTtyPShvfDMy
fDApPT0xMDI7aWYocil7dz0wO2o9KGp8MCk+MD9qOjB9ZWxzZXtsPShqfDApPDA/ZTpqO2w9cCQo
bCwoKGx8MCk8MCk8PDMxPj4zMSxEKXwwO209RDtpZigobS1sfDApPDIpZG97bD1sKy0xfDA7Ylts
Pj4wXT00OH13aGlsZSgobS1sfDApPDIpO2JbbCstMT4+MF09KGo+PjMxJjIpKzQzO2o9bCstMnww
O2Jbaj4+MF09bzt3PWo7aj1tLWp8MH1qPUMrMStrK3AranwwO3MkKGEsMzIsZCxqLGcpO2skKGEs
QixDKTtzJChhLDQ4LGQsaixnXjY1NTM2KTtpZihyKXtwPW4+Pj4wPkE+Pj4wP0E6bjtyPUYrOXww
O249cjtvPUYrOHwwO209cDtkb3tsPXAkKGZbbT4+Ml18MCwwLHIpfDA7aWYoKG18MCk9PShwfDAp
KXtpZigobHwwKT09KHJ8MCkpe2Jbbz4+MF09NDg7bD1vfX1lbHNlIGlmKGw+Pj4wPkY+Pj4wKXtT
MyhGfDAsNDgsbC1FfDApfDA7ZG8gbD1sKy0xfDA7d2hpbGUobD4+PjA+Rj4+PjApfWskKGEsbCxu
LWx8MCk7bT1tKzR8MH13aGlsZShtPj4+MDw9QT4+PjApO2lmKCEoKGcmOHwwKT09MCYoc14xKSkp
ayQoYSwxNTEwOTQsMSk7aWYobT4+PjA8dj4+PjAmKGt8MCk+MCl3aGlsZSgxKXtsPXAkKGZbbT4+
Ml18MCwwLHIpfDA7aWYobD4+PjA+Rj4+PjApe1MzKEZ8MCw0OCxsLUV8MCl8MDtkbyBsPWwrLTF8
MDt3aGlsZShsPj4+MD5GPj4+MCl9ayQoYSxsLChrfDApPDk/azo5KTttPW0rNHwwO2w9aystOXww
O2lmKCEobT4+PjA8dj4+PjAmKGt8MCk+OSkpe2s9bDticmVha31lbHNlIGs9bH1zJChhLDQ4LGsr
OXwwLDksMCl9ZWxzZXt2PXU/djpuKzR8MDtpZihuPj4+MDx2Pj4+MCYoa3wwKT4tMSl7ZT1GKzl8
MDtzPShnJjh8MCk9PTA7dT1lO3A9MC1FfDA7cj1GKzh8MDtvPW47ZG97bD1wJChmW28+PjJdfDAs
MCxlKXwwO2lmKChsfDApPT0oZXwwKSl7YltyPj4wXT00ODtsPXJ9ZG8gaWYoKG98MCk9PShufDAp
KXttPWwrMXwwO2skKGEsbCwxKTtpZihzJihrfDApPDEpe2w9bTticmVha31rJChhLDE1MTA5NCwx
KTtsPW19ZWxzZXtpZihsPj4+MDw9Rj4+PjApYnJlYWs7UzMoRnwwLDQ4LGwrcHwwKXwwO2RvIGw9
bCstMXwwO3doaWxlKGw+Pj4wPkY+Pj4wKX13aGlsZSgwKTtFPXUtbHwwO2skKGEsbCwoa3wwKT4o
RXwwKT9FOmspO2s9ay1FfDA7bz1vKzR8MH13aGlsZShvPj4+MDx2Pj4+MCYoa3wwKT4tMSl9cyQo
YSw0OCxrKzE4fDAsMTgsMCk7ayQoYSx3LEQtd3wwKX1zJChhLDMyLGQsaixnXjgxOTIpfXdoaWxl
KDApO3Q9SDtyZXR1cm4gKChqfDApPChkfDApP2Q6ail8MH1mdW5jdGlvbiB2JChhKXthPSthO3Zh
ciBiPTA7cFtzPj4zXT1hO2I9ZltzPj4yXXwwO0c9ZltzKzQ+PjJdfDA7cmV0dXJuIGJ8MH1mdW5j
dGlvbiB3JChhLGIpe2E9K2E7Yj1ifDA7cmV0dXJuICsoK3gkKGEsYikpfWZ1bmN0aW9uIHgkKGEs
Yil7YT0rYTtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTA7cFtzPj4zXT1hO2M9ZltzPj4yXXwwO2Q9Zltz
KzQ+PjJdfDA7ZT1LMyhjfDAsZHwwLDUyKXwwO3N3aXRjaChlJjIwNDcpe2Nhc2UgMDp7aWYoYSE9
MC4wKXthPSt4JChhKjE4NDQ2NzQ0MDczNzA5NTUxNjE2LjAsYik7Yz0oZltiPj4yXXwwKSstNjR8
MH1lbHNlIGM9MDtmW2I+PjJdPWM7YnJlYWt9Y2FzZSAyMDQ3OmJyZWFrO2RlZmF1bHQ6e2ZbYj4+
Ml09KGUmMjA0NykrLTEwMjI7ZltzPj4yXT1jO2Zbcys0Pj4yXT1kJi0yMTQ2NDM1MDczfDEwNzE2
NDQ2NzI7YT0rcFtzPj4zXX19cmV0dXJuICthfWZ1bmN0aW9uIHkkKGEsYyxkKXthPWF8MDtjPWN8
MDtkPWR8MDtkbyBpZihhKXtpZihjPj4+MDwxMjgpe2JbYT4+MF09YzthPTE7YnJlYWt9ZD0oeiQo
KXwwKSsxODh8MDtpZighKGZbZltkPj4yXT4+Ml18MCkpaWYoKGMmLTEyOHwwKT09NTcyMTYpe2Jb
YT4+MF09YzthPTE7YnJlYWt9ZWxzZXthPVhfKCl8MDtmW2E+PjJdPTg0O2E9LTE7YnJlYWt9aWYo
Yz4+PjA8MjA0OCl7YlthPj4wXT1jPj4+NnwxOTI7YlthKzE+PjBdPWMmNjN8MTI4O2E9MjticmVh
a31pZihjPj4+MDw1NTI5NnwoYyYtODE5MnwwKT09NTczNDQpe2JbYT4+MF09Yz4+PjEyfDIyNDti
W2ErMT4+MF09Yz4+PjYmNjN8MTI4O2JbYSsyPj4wXT1jJjYzfDEyODthPTM7YnJlYWt9aWYoKGMr
LTY1NTM2fDApPj4+MDwxMDQ4NTc2KXtiW2E+PjBdPWM+Pj4xOHwyNDA7YlthKzE+PjBdPWM+Pj4x
MiY2M3wxMjg7YlthKzI+PjBdPWM+Pj42JjYzfDEyODtiW2ErMz4+MF09YyY2M3wxMjg7YT00O2Jy
ZWFrfWVsc2V7YT1YXygpfDA7ZlthPj4yXT04NDthPS0xO2JyZWFrfX1lbHNlIGE9MTt3aGlsZSgw
KTtyZXR1cm4gYXwwfWZ1bmN0aW9uIHokKCl7cmV0dXJuIEEkKCl8MH1mdW5jdGlvbiBBJCgpe3Jl
dHVybiA3ODM2OH1mdW5jdGlvbiBCJCgpe3JldHVybiBBJCgpfDB9ZnVuY3Rpb24gQyQoYSxjKXth
PWF8MDtjPWN8MDt2YXIgZD0wLGU9MDtkPTA7d2hpbGUoMSl7aWYoKGhbNTYzMDQrZD4+MF18MCk9
PShhfDApKXtlPTQ7YnJlYWt9ZD1kKzF8MDtpZigoZHwwKT09ODcpe2E9ODc7ZT01O2JyZWFrfX1p
ZigoZXwwKT09NClpZighZClkPTU2NDAwO2Vsc2V7YT1kO2U9NX1pZigoZXwwKT09NSl7ZD01NjQw
MDtkb3tkb3tlPWQ7ZD1kKzF8MH13aGlsZSgoYltlPj4wXXwwKSE9MCk7YT1hKy0xfDB9d2hpbGUo
KGF8MCkhPTApfXJldHVybiBEJChkLGZbYysyMD4+Ml18MCl8MH1mdW5jdGlvbiBEJChhLGIpe2E9
YXwwO2I9YnwwO3JldHVybiBFJChhLGIpfDB9ZnVuY3Rpb24gRSQoYSxiKXthPWF8MDtiPWJ8MDtp
ZighYiliPTA7ZWxzZSBiPUYkKGZbYj4+Ml18MCxmW2IrND4+Ml18MCxhKXwwO3JldHVybiAoKGJ8
MCk9PTA/YTpiKXwwfWZ1bmN0aW9uIEYkKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0w
LGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wO289KGZbYT4+Ml18MCkrMTc5NDg5
NTEzOHwwO2g9RyQoZlthKzg+PjJdfDAsbyl8MDtlPUckKGZbYSsxMj4+Ml18MCxvKXwwO2c9RyQo
ZlthKzE2Pj4yXXwwLG8pfDA7YTpkbyBpZigoaD4+PjA8Yz4+PjI+Pj4wPyhuPWMtKGg8PDIpfDAs
ZT4+PjA8bj4+PjAmZz4+PjA8bj4+PjApOjApPygoZ3xlKSYzfDApPT0wOjApe249ZT4+PjI7bT1n
Pj4+MjtsPTA7d2hpbGUoMSl7aj1oPj4+MTtrPWwranwwO2k9azw8MTtnPWkrbnwwO2U9RyQoZlth
KyhnPDwyKT4+Ml18MCxvKXwwO2c9RyQoZlthKyhnKzE8PDIpPj4yXXwwLG8pfDA7aWYoIShnPj4+
MDxjPj4+MCZlPj4+MDwoYy1nfDApPj4+MCkpe2U9MDticmVhayBhfWlmKGJbYSsoZytlKT4+MF18
MCl7ZT0wO2JyZWFrIGF9ZT1IJChkLGErZ3wwKXwwO2lmKCFlKWJyZWFrO2U9KGV8MCk8MDtpZigo
aHwwKT09MSl7ZT0wO2JyZWFrIGF9bD1lP2w6aztoPWU/ajpoLWp8MH1lPWkrbXwwO2c9RyQoZlth
KyhlPDwyKT4+Ml18MCxvKXwwO2U9RyQoZlthKyhlKzE8PDIpPj4yXXwwLG8pfDA7aWYoZT4+PjA8
Yz4+PjAmZz4+PjA8KGMtZXwwKT4+PjApZT0oYlthKyhlK2cpPj4wXXwwKT09MD9hK2V8MDowO2Vs
c2UgZT0wfWVsc2UgZT0wO3doaWxlKDApO3JldHVybiBlfDB9ZnVuY3Rpb24gRyQoYSxiKXthPWF8
MDtiPWJ8MDt2YXIgYz0wO2M9TjMoYXwwKXwwO3JldHVybiAoKGJ8MCk9PTA/YTpjKXwwfWZ1bmN0
aW9uIEgkKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZD1iW2E+PjBdfDA7ZT1iW2M+PjBd
fDA7aWYoZDw8MjQ+PjI0PT0wPzE6ZDw8MjQ+PjI0IT1lPDwyND4+MjQpYT1lO2Vsc2V7ZG97YT1h
KzF8MDtjPWMrMXwwO2Q9YlthPj4wXXwwO2U9YltjPj4wXXwwfXdoaWxlKCEoZDw8MjQ+PjI0PT0w
PzE6ZDw8MjQ+PjI0IT1lPDwyND4+MjQpKTthPWV9cmV0dXJuIChkJjI1NSktKGEmMjU1KXwwfWZ1
bmN0aW9uIEkkKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLGo9
MDtlPWQrMTZ8MDtnPWZbZT4+Ml18MDtpZighZylpZighKEokKGQpfDApKXtnPWZbZT4+Ml18MDto
PTV9ZWxzZSBlPTA7ZWxzZSBoPTU7YTpkbyBpZigoaHwwKT09NSl7aj1kKzIwfDA7aT1mW2o+PjJd
fDA7ZT1pO2lmKChnLWl8MCk+Pj4wPGM+Pj4wKXtlPXdiW2ZbZCszNj4+Ml0mNjNdKGQsYSxjKXww
O2JyZWFrfWI6ZG8gaWYoKGJbZCs3NT4+MF18MCk8MHwoY3wwKT09MCl7aD0wO2c9YX1lbHNle2k9
Yzt3aGlsZSgxKXtnPWkrLTF8MDtpZigoYlthK2c+PjBdfDApPT0xMClicmVhaztpZighZyl7aD0w
O2c9YTticmVhayBifWVsc2UgaT1nfWU9d2JbZltkKzM2Pj4yXSY2M10oZCxhLGkpfDA7aWYoZT4+
PjA8aT4+PjApYnJlYWsgYTtoPWk7Zz1hK2l8MDtjPWMtaXwwO2U9ZltqPj4yXXwwfXdoaWxlKDAp
O1EzKGV8MCxnfDAsY3wwKXwwO2Zbaj4+Ml09KGZbaj4+Ml18MCkrYztlPWgrY3wwfXdoaWxlKDAp
O3JldHVybiBlfDB9ZnVuY3Rpb24gSiQoYSl7YT1hfDA7dmFyIGM9MCxkPTA7Yz1hKzc0fDA7ZD1i
W2M+PjBdfDA7YltjPj4wXT1kKzI1NXxkO2M9ZlthPj4yXXwwO2lmKCEoYyY4KSl7ZlthKzg+PjJd
PTA7ZlthKzQ+PjJdPTA7ZD1mW2ErNDQ+PjJdfDA7ZlthKzI4Pj4yXT1kO2ZbYSsyMD4+Ml09ZDtm
W2ErMTY+PjJdPWQrKGZbYSs0OD4+Ml18MCk7YT0wfWVsc2V7ZlthPj4yXT1jfDMyO2E9LTF9cmV0
dXJuIGF8MH1mdW5jdGlvbiBLJChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTA7
ZD1hKzIwfDA7ZT1mW2Q+PjJdfDA7YT0oZlthKzE2Pj4yXXwwKS1lfDA7YT1hPj4+MD5jPj4+MD9j
OmE7UTMoZXwwLGJ8MCxhfDApfDA7ZltkPj4yXT0oZltkPj4yXXwwKSthO3JldHVybiBjfDB9ZnVu
Y3Rpb24gTCQoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0w
LGg9MCxpPTAsaj0wO2o9dDt0PXQrMTI4fDA7aD1qO2ZbaD4+Ml09MDtpPWgrNHwwO2ZbaT4+Ml09
YTtmW2grNDQ+PjJdPWE7Zz1oKzh8MDtmW2c+PjJdPShhfDApPDA/LTE6YSsyMTQ3NDgzNjQ3fDA7
ZltoKzc2Pj4yXT0tMTtNJChoLDApO2M9TiQoaCxjLDEsZCxlKXwwO2lmKGJ8MClmW2I+PjJdPWEr
KChmW2k+PjJdfDApKyhmW2grMTA4Pj4yXXwwKS0oZltnPj4yXXwwKSk7dD1qO3JldHVybiBjfDB9
ZnVuY3Rpb24gTSQoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTA7ZlthKzEwND4+Ml09
YjtjPWZbYSs4Pj4yXXwwO2Q9ZlthKzQ+PjJdfDA7ZT1jLWR8MDtmW2ErMTA4Pj4yXT1lO2lmKChi
fDApIT0wJihlfDApPihifDApKWZbYSsxMDA+PjJdPWQrYjtlbHNlIGZbYSsxMDA+PjJdPWM7cmV0
dXJufWZ1bmN0aW9uIE4kKGEsYyxkLGUsZyl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7
dmFyIGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MDthOmRvIGlmKGM+Pj4w
PjM2KXtnPVhfKCl8MDtmW2c+PjJdPTIyO2c9MDtlPTB9ZWxzZXtyPWErNHwwO3E9YSsxMDB8MDtk
b3tpPWZbcj4+Ml18MDtpZihpPj4+MDwoZltxPj4yXXwwKT4+PjApe2Zbcj4+Ml09aSsxO2k9aFtp
Pj4wXXwwfWVsc2UgaT1PJChhKXwwfXdoaWxlKChQJChpKXwwKSE9MCk7YjpkbyBzd2l0Y2goaXww
KXtjYXNlIDQzOmNhc2UgNDU6e2k9KChpfDApPT00NSk8PDMxPj4zMTtqPWZbcj4+Ml18MDtpZihq
Pj4+MDwoZltxPj4yXXwwKT4+PjApe2Zbcj4+Ml09aisxO3A9aTtpPWhbaj4+MF18MDticmVhayBi
fWVsc2V7cD1pO2k9TyQoYSl8MDticmVhayBifX1kZWZhdWx0OnA9MH13aGlsZSgwKTtqPShjfDAp
PT0wO2RvIGlmKChjfDE2fDApPT0xNiYoaXwwKT09NDgpe2k9ZltyPj4yXXwwO2lmKGk+Pj4wPChm
W3E+PjJdfDApPj4+MCl7ZltyPj4yXT1pKzE7aT1oW2k+PjBdfDB9ZWxzZSBpPU8kKGEpfDA7aWYo
KGl8MzJ8MCkhPTEyMClpZihqKXtvPTg7bj00NzticmVha31lbHNle249MzI7YnJlYWt9aT1mW3I+
PjJdfDA7aWYoaT4+PjA8KGZbcT4+Ml18MCk+Pj4wKXtmW3I+PjJdPWkrMTtpPWhbaT4+MF18MH1l
bHNlIGk9TyQoYSl8MDtpZigoaFs1ODIwOStpPj4wXXwwKT4xNSl7ZT0oZltxPj4yXXwwKT09MDtp
ZighZSlmW3I+PjJdPShmW3I+PjJdfDApKy0xO2lmKCFkKXtNJChhLDApO2c9MDtlPTA7YnJlYWsg
YX1pZihlKXtnPTA7ZT0wO2JyZWFrIGF9ZltyPj4yXT0oZltyPj4yXXwwKSstMTtnPTA7ZT0wO2Jy
ZWFrIGF9ZWxzZXtvPTE2O249NDd9fWVsc2V7Yz1qPzEwOmM7aWYoYz4+PjA+KGhbNTgyMDkraT4+
MF18MCk+Pj4wKW49MzI7ZWxzZXtpZihmW3E+PjJdfDApZltyPj4yXT0oZltyPj4yXXwwKSstMTtN
JChhLDApO2c9WF8oKXwwO2ZbZz4+Ml09MjI7Zz0wO2U9MDticmVhayBhfX13aGlsZSgwKTtjOmRv
IGlmKChufDApPT0zMilpZigoY3wwKT09MTApe2M9aSstNDh8MDtpZihjPj4+MDwxMCl7aT0wO2Rv
e2k9KGkqMTB8MCkrY3wwO2M9ZltyPj4yXXwwO2lmKGM+Pj4wPChmW3E+PjJdfDApPj4+MCl7Zlty
Pj4yXT1jKzE7aj1oW2M+PjBdfDB9ZWxzZSBqPU8kKGEpfDA7Yz1qKy00OHwwfXdoaWxlKGM+Pj4w
PDEwJmk+Pj4wPDQyOTQ5NjcyOSk7aWYoYz4+PjA8MTApe209MDtkb3tkPUQzKGl8MCxtfDAsMTAs
MCl8MDtrPUc7bD0oKGN8MCk8MCk8PDMxPj4zMTtvPX5sO2lmKGs+Pj4wPm8+Pj4wfChrfDApPT0o
b3wwKSZkPj4+MD5+Yz4+PjApe2Q9MTA7Yz1tO249NzY7YnJlYWsgY31pPUUzKGR8MCxrfDAsY3ww
LGx8MCl8MDttPUc7Yz1mW3I+PjJdfDA7aWYoYz4+PjA8KGZbcT4+Ml18MCk+Pj4wKXtmW3I+PjJd
PWMrMTtqPWhbYz4+MF18MH1lbHNlIGo9TyQoYSl8MDtjPWorLTQ4fDB9d2hpbGUoYz4+PjA8MTAm
KG0+Pj4wPDQyOTQ5NjcyOXwobXwwKT09NDI5NDk2NzI5Jmk+Pj4wPDI1NzY5ODAzNzgpKTtpZihj
Pj4+MD45KXtqPXA7Yz1tfWVsc2V7ZD0xMDtjPW07bj03Nn19ZWxzZXtqPXA7Yz0wfX1lbHNle2o9
cDtjPTA7aT0wfX1lbHNle289YztuPTQ3fXdoaWxlKDApO2Q6ZG8gaWYoKG58MCk9PTQ3KXtpZigh
KG8rLTEmbykpe249YlsxNTEwOTYrKChvKjIzfDApPj4+NSY3KT4+MF18MDtkPWJbNTgyMDkraT4+
MF18MDtjPWQmMjU1O2lmKG8+Pj4wPmM+Pj4wKXtpPTA7ZG97aT1jfGk8PG47Yz1mW3I+PjJdfDA7
aWYoYz4+PjA8KGZbcT4+Ml18MCk+Pj4wKXtmW3I+PjJdPWMrMTtqPWhbYz4+MF18MH1lbHNlIGo9
TyQoYSl8MDtkPWJbNTgyMDkraj4+MF18MDtjPWQmMjU1fXdoaWxlKGk+Pj4wPDEzNDIxNzcyOCZv
Pj4+MD5jPj4+MCk7az1jO2M9MH1lbHNle2o9aTtrPWM7Yz0wO2k9MH1sPUszKC0xLC0xLG58MCl8
MDttPUc7aWYobz4+PjA8PWs+Pj4wfChtPj4+MDxjPj4+MHwobXwwKT09KGN8MCkmbD4+PjA8aT4+
PjApKXtkPW87bj03NjticmVha313aGlsZSgxKXtpPUwzKGl8MCxjfDAsbnwwKXwwO2M9RztpPWl8
ZCYyNTU7aj1mW3I+PjJdfDA7aWYoaj4+PjA8KGZbcT4+Ml18MCk+Pj4wKXtmW3I+PjJdPWorMTtq
PWhbaj4+MF18MH1lbHNlIGo9TyQoYSl8MDtkPWJbNTgyMDkraj4+MF18MDtpZihvPj4+MDw9KGQm
MjU1KT4+PjB8KGM+Pj4wPm0+Pj4wfChjfDApPT0obXwwKSZpPj4+MD5sPj4+MCkpe2Q9bztuPTc2
O2JyZWFrIGR9fX1jPWJbNTgyMDkraT4+MF18MDtkPWMmMjU1O2lmKG8+Pj4wPmQ+Pj4wKXtpPTA7
ZG97aT1kKyhWKGksbyl8MCl8MDtjPWZbcj4+Ml18MDtpZihjPj4+MDwoZltxPj4yXXwwKT4+PjAp
e2Zbcj4+Ml09YysxO2o9aFtjPj4wXXwwfWVsc2Ugaj1PJChhKXwwO2M9Yls1ODIwOStqPj4wXXww
O2Q9YyYyNTV9d2hpbGUoaT4+PjA8MTE5MzA0NjQ3Jm8+Pj4wPmQ+Pj4wKTtrPWM7Yz0wfWVsc2V7
aj1pO2s9YztpPTA7Yz0wfWlmKG8+Pj4wPmQ+Pj4wKXttPUkzKC0xLC0xLG98MCwwKXwwO249Rztk
PWs7d2hpbGUoMSl7aWYoYz4+PjA+bj4+PjB8KGN8MCk9PShufDApJmk+Pj4wPm0+Pj4wKXtkPW87
bj03NjticmVhayBkfWs9RDMoaXwwLGN8MCxvfDAsMCl8MDtsPUc7ZD1kJjI1NTtpZihsPj4+MD40
Mjk0OTY3Mjk1fChsfDApPT0tMSZrPj4+MD5+ZD4+PjApe2Q9bztuPTc2O2JyZWFrIGR9aT1FMyhr
fDAsbHwwLGR8MCwwKXwwO2M9RztqPWZbcj4+Ml18MDtpZihqPj4+MDwoZltxPj4yXXwwKT4+PjAp
e2Zbcj4+Ml09aisxO2o9aFtqPj4wXXwwfWVsc2Ugaj1PJChhKXwwO2Q9Yls1ODIwOStqPj4wXXww
O2lmKG8+Pj4wPD0oZCYyNTUpPj4+MCl7ZD1vO249NzY7YnJlYWt9fX1lbHNle2Q9bztuPTc2fX13
aGlsZSgwKTtpZigobnwwKT09NzYpaWYoZD4+PjA+KGhbNTgyMDkraj4+MF18MCk+Pj4wKXtkb3tp
PWZbcj4+Ml18MDtpZihpPj4+MDwoZltxPj4yXXwwKT4+PjApe2Zbcj4+Ml09aSsxO2k9aFtpPj4w
XXwwfWVsc2UgaT1PJChhKXwwfXdoaWxlKGQ+Pj4wPihoWzU4MjA5K2k+PjBdfDApPj4+MCk7aj1Y
XygpfDA7ZltqPj4yXT0zNDtqPShlJjF8MCk9PTAmMD09MD9wOjA7Yz1nO2k9ZX1lbHNlIGo9cDtp
ZihmW3E+PjJdfDApZltyPj4yXT0oZltyPj4yXXwwKSstMTtpZighKGM+Pj4wPGc+Pj4wfChjfDAp
PT0oZ3wwKSZpPj4+MDxlPj4+MCkpe2lmKCEoKGUmMXwwKSE9MHwwIT0wfChqfDApIT0wKSl7cj1Y
XygpfDA7ZltyPj4yXT0zNDtlPUUzKGV8MCxnfDAsLTEsLTEpfDA7Zz1HO2JyZWFrfWlmKGM+Pj4w
Pmc+Pj4wfChjfDApPT0oZ3wwKSZpPj4+MD5lPj4+MCl7cj1YXygpfDA7ZltyPj4yXT0zNDticmVh
a319ZT0oKGp8MCk8MCk8PDMxPj4zMTtlPUYzKGleanwwLGNeZXwwLGp8MCxlfDApfDA7Zz1HfXdo
aWxlKDApO0c9ZztyZXR1cm4gZXwwfWZ1bmN0aW9uIE8kKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9
MCxnPTAsaT0wLGo9MDtkPWErMTA0fDA7aT1mW2Q+PjJdfDA7aWYoKGl8MCkhPTA/KGZbYSsxMDg+
PjJdfDApPj0oaXwwKTowKWo9NDtlbHNle2M9USQoYSl8MDtpZigoY3wwKT49MCl7ZD1mW2Q+PjJd
fDA7aT1mW2ErOD4+Ml18MDtpZihkKXtnPWZbYSs0Pj4yXXwwO2Q9ZC0oZlthKzEwOD4+Ml18MCl8
MDtlPWk7aWYoKGktZ3wwKTwoZHwwKSlqPTk7ZWxzZSBmW2ErMTAwPj4yXT1nKyhkKy0xKX1lbHNl
e2U9aTtqPTl9aWYoKGp8MCk9PTkpZlthKzEwMD4+Ml09aTtkPWErNHwwO2lmKCFlKWQ9ZltkPj4y
XXwwO2Vsc2V7ZD1mW2Q+PjJdfDA7YT1hKzEwOHwwO2ZbYT4+Ml09ZSsxLWQrKGZbYT4+Ml18MCl9
ZD1kKy0xfDA7aWYoKGN8MCkhPShoW2Q+PjBdfDB8MCkpYltkPj4wXT1jfWVsc2Ugaj00fWlmKChq
fDApPT00KXtmW2ErMTAwPj4yXT0wO2M9LTF9cmV0dXJuIGN8MH1mdW5jdGlvbiBQJChhKXthPWF8
MDtyZXR1cm4gKChhfDApPT0zMnwoYSstOXwwKT4+PjA8NSkmMXwwfWZ1bmN0aW9uIFEkKGEpe2E9
YXwwO3ZhciBiPTAsYz0wO2M9dDt0PXQrMTZ8MDtiPWM7aWYoKFIkKGEpfDApPT0wPyh3YltmW2Er
MzI+PjJdJjYzXShhLGIsMSl8MCk9PTE6MClhPWhbYj4+MF18MDtlbHNlIGE9LTE7dD1jO3JldHVy
biBhfDB9ZnVuY3Rpb24gUiQoYSl7YT1hfDA7dmFyIGM9MCxkPTA7Yz1hKzc0fDA7ZD1iW2M+PjBd
fDA7YltjPj4wXT1kKzI1NXxkO2M9YSsyMHwwO2Q9YSsyOHwwO2lmKChmW2M+PjJdfDApPj4+MD4o
ZltkPj4yXXwwKT4+PjApd2JbZlthKzM2Pj4yXSY2M10oYSwwLDApfDA7ZlthKzE2Pj4yXT0wO2Zb
ZD4+Ml09MDtmW2M+PjJdPTA7Yz1mW2E+PjJdfDA7aWYoIShjJjQpKXtkPShmW2ErNDQ+PjJdfDAp
KyhmW2ErNDg+PjJdfDApfDA7ZlthKzg+PjJdPWQ7ZlthKzQ+PjJdPWQ7Yz1jPDwyNz4+MzF9ZWxz
ZXtmW2E+PjJdPWN8MzI7Yz0tMX1yZXR1cm4gY3wwfWZ1bmN0aW9uIFMkKGEsYil7YT1hfDA7Yj1i
fDA7dmFyIGM9MCxkPTAsZT0wLGc9MDtnPXQ7dD10KzQ4fDA7ZT1nKzQwfDA7ZD1nO2M9ZyszMnww
O2ZbYz4+Ml09YTtmW2MrND4+Ml09YjtjPUphKDE5NyxjfDApfDA7aWYoKGN8MCk9PS05PyhmW2Q+
PjJdPWEsZltkKzQ+PjJdPTEsKExhKDIyMSxkfDApfDApPj0wKTowKXtUJChkLGEpO2ZbZT4+Ml09
ZDtmW2UrND4+Ml09YjtiPVdfKElhKDE5NSxlfDApfDApfDB9ZWxzZSBiPVdfKGMpfDA7dD1nO3Jl
dHVybiBifDB9ZnVuY3Rpb24gVCQoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxmPTA7ZD1h
O2U9MTUxMTA1O2Y9ZCsxNXwwO2Rve2JbZD4+MF09YltlPj4wXXwwO2Q9ZCsxfDA7ZT1lKzF8MH13
aGlsZSgoZHwwKTwoZnwwKSk7aWYoIWMpe2JbYSsxND4+MF09NDg7YlthKzE1Pj4wXT0wfWVsc2V7
ZT1jO2Q9MTQ7d2hpbGUoMSl7ZD1kKzF8MDtpZihlPj4+MDwxMClicmVhaztlbHNlIGU9KGU+Pj4w
KS8xMHwwfWJbYStkPj4wXT0wO2Rve2Y9YztjPShjPj4+MCkvMTB8MDtkPWQrLTF8MDtiW2ErZD4+
MF09Zi0oYyoxMHwwKXw0OH13aGlsZShmPj4+MD49MTApfXJldHVybn1mdW5jdGlvbiBVJChhLGIs
Yyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxpPTA7aD10O3Q9dCs0OHww
O2c9aCszMnwwO2U9aCsxNnwwO2Q9aDtpZighKGImNDE5NDM2OCkpZD0wO2Vsc2V7ZltkPj4yXT1j
O2k9KGZbZD4+Ml18MCkrKDQtMSkmfig0LTEpO2M9ZltpPj4yXXwwO2ZbZD4+Ml09aSs0O2Q9Y31m
W2U+PjJdPWE7ZltlKzQ+PjJdPWJ8MzI3Njg7ZltlKzg+PjJdPWQ7ZD1PYSg1LGV8MCl8MDtpZigh
KChiJjUyNDI4OHwwKT09MHwoZHwwKTwwKSl7ZltnPj4yXT1kO2ZbZys0Pj4yXT0yO2ZbZys4Pj4y
XT0xO0xhKDIyMSxnfDApfDB9aT1XXyhkKXwwO3Q9aDtyZXR1cm4gaXwwfWZ1bmN0aW9uIFYkKGEp
e2E9YXwwO3ZhciBiPTAsYz0wO2I9dDt0PXQrMTZ8MDtjPWI7YT1ZXyhhKXwwO2ZbYz4+Ml09YTth
PVFhKDYsY3wwKXwwO2E9V18oKGF8MCk9PS00PzA6YSl8MDt0PWI7cmV0dXJuIGF8MH1mdW5jdGlv
biBXJChhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0w
LGo9MCxrPTAsbD0wLG09MCxuPTA7bT10O3Q9dCsyMDh8MDtqPW07az1tKzE5MnwwO2g9VihjLGIp
fDA7aT1rO2ZbaT4+Ml09MTtmW2krND4+Ml09MDthOmRvIGlmKGh8MCl7aT0wLWN8MDtmW2orND4+
Ml09YztmW2o+PjJdPWM7ZT0yO2I9YztnPWM7d2hpbGUoMSl7Yj1iK2MrZ3wwO2ZbaisoZTw8Mik+
PjJdPWI7aWYoYj4+PjA8aD4+PjApe249ZztlPWUrMXwwO2c9YjtiPW59ZWxzZSBicmVha31nPWEr
aCtpfDA7aWYoZz4+PjA+YT4+PjApe2g9ZztlPTE7Yj0xO2Rve2RvIGlmKChiJjN8MCkhPTMpe2I9
ZSstMXwwO2lmKChmW2orKGI8PDIpPj4yXXwwKT4+PjA8KGgtYXwwKT4+PjApWCQoYSxjLGQsZSxq
KTtlbHNlIFokKGEsYyxkLGssZSwwLGopO2lmKChlfDApPT0xKXtfJChrLDEpO2U9MDticmVha31l
bHNle18kKGssYik7ZT0xO2JyZWFrfX1lbHNle1gkKGEsYyxkLGUsaik7WSQoaywyKTtlPWUrMnww
fXdoaWxlKDApO2I9ZltrPj4yXXwxO2Zbaz4+Ml09YjthPWErY3wwfXdoaWxlKGE+Pj4wPGc+Pj4w
KX1lbHNle2U9MTtiPTF9WiQoYSxjLGQsayxlLDAsaik7Zz1rKzR8MDt3aGlsZSgxKXtpZigoZXww
KT09MSYoYnwwKT09MSlpZighKGZbZz4+Ml18MCkpYnJlYWsgYTtlbHNlIGw9MTk7ZWxzZSBpZigo
ZXwwKTwyKWw9MTk7ZWxzZXtfJChrLDIpO249ZSstMnwwO2Zbaz4+Ml09ZltrPj4yXV43O1kkKGss
MSk7WiQoYSsoMC0oZltqKyhuPDwyKT4+Ml18MCkpK2l8MCxjLGQsayxlKy0xfDAsMSxqKTtfJChr
LDEpO2I9ZltrPj4yXXwxO2Zbaz4+Ml09YjthPWEraXwwO1okKGEsYyxkLGssbiwxLGopO2U9bn1p
ZigobHwwKT09MTkpe2w9MDtiPSQkKGspfDA7WSQoayxiKTthPWEraXwwO2U9YitlfDA7Yj1mW2s+
PjJdfDB9fX13aGlsZSgwKTt0PW07cmV0dXJufWZ1bmN0aW9uIFgkKGEsYixjLGQsZSl7YT1hfDA7
Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDtt
PXQ7dD10KzI0MHwwO2w9bTtmW2w+PjJdPWE7YTpkbyBpZigoZHwwKT4xKXtrPTAtYnwwO2k9YTtn
PWQ7ZD0xO2g9YTt3aGlsZSgxKXtpPWkra3wwO2o9ZystMnwwO2E9aSsoMC0oZltlKyhqPDwyKT4+
Ml18MCkpfDA7aWYoKHViW2MmMTI3XShoLGEpfDApPi0xPyh1YltjJjEyN10oaCxpKXwwKT4tMTow
KWJyZWFrIGE7aD1sKyhkPDwyKXwwO2lmKCh1YltjJjEyN10oYSxpKXwwKT4tMSl7ZltoPj4yXT1h
O2c9ZystMXwwfWVsc2V7ZltoPj4yXT1pO2E9aTtnPWp9ZD1kKzF8MDtpZigoZ3wwKTw9MSlicmVh
ayBhO2k9YTtoPWZbbD4+Ml18MH19ZWxzZSBkPTE7d2hpbGUoMCk7YjAoYixsLGQpO3Q9bTtyZXR1
cm59ZnVuY3Rpb24gWSQoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTA7ZT1hKzR8MDtp
ZihiPj4+MD4zMSl7ZD1mW2U+PjJdfDA7ZlthPj4yXT1kO2ZbZT4+Ml09MDtiPWIrLTMyfDA7Yz0w
fWVsc2V7Yz1mW2U+PjJdfDA7ZD1mW2E+PjJdfDB9ZlthPj4yXT1jPDwzMi1ifGQ+Pj5iO2ZbZT4+
Ml09Yz4+PmI7cmV0dXJufWZ1bmN0aW9uIFokKGEsYixjLGQsZSxnLGgpe2E9YXwwO2I9YnwwO2M9
Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO2g9aHwwO3ZhciBpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxv
PTAscD0wO289dDt0PXQrMjQwfDA7bT1vKzIzMnwwO249bztwPWZbZD4+Ml18MDtmW20+PjJdPXA7
aj1mW2QrND4+Ml18MDtrPW0rNHwwO2Zbaz4+Ml09ajtmW24+PjJdPWE7YTpkbyBpZigocHwwKSE9
MXwoanwwKSE9MD8obD0wLWJ8MCxpPWErKDAtKGZbaCsoZTw8Mik+PjJdfDApKXwwLCh1YltjJjEy
N10oaSxhKXwwKT49MSk6MCl7ZD0xO2c9KGd8MCk9PTA7aj1pO3doaWxlKDEpe2lmKGcmKGV8MCk+
MSl7Zz1hK2x8MDtpPWZbaCsoZSstMjw8Mik+PjJdfDA7aWYoKHViW2MmMTI3XShnLGopfDApPi0x
KXtpPTEwO2JyZWFrIGF9aWYoKHViW2MmMTI3XShnKygwLWkpfDAsail8MCk+LTEpe2k9MTA7YnJl
YWsgYX19Zz1kKzF8MDtmW24rKGQ8PDIpPj4yXT1qO3A9JCQobSl8MDtZJChtLHApO2U9cCtlfDA7
aWYoISgoZlttPj4yXXwwKSE9MXwoZltrPj4yXXwwKSE9MCkpe2Q9ZzthPWo7aT0xMDticmVhayBh
fWE9aisoMC0oZltoKyhlPDwyKT4+Ml18MCkpfDA7aWYoKHViW2MmMTI3XShhLGZbbj4+Ml18MCl8
MCk8MSl7YT1qO2Q9ZztnPTA7aT05O2JyZWFrfWVsc2V7cD1qO2Q9ZztnPTE7aj1hO2E9cH19fWVs
c2V7ZD0xO2k9OX13aGlsZSgwKTtpZigoaXwwKT09OT8oZ3wwKT09MDowKWk9MTA7aWYoKGl8MCk9
PTEwKXtiMChiLG4sZCk7WCQoYSxiLGMsZSxoKX10PW87cmV0dXJufWZ1bmN0aW9uIF8kKGEsYil7
YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wO2U9YSs0fDA7aWYoYj4+PjA+MzEpe2Q9ZlthPj4y
XXwwO2ZbZT4+Ml09ZDtmW2E+PjJdPTA7Yj1iKy0zMnwwO2M9MH1lbHNle2M9ZlthPj4yXXwwO2Q9
ZltlPj4yXXwwfWZbZT4+Ml09Yz4+PigzMi1ifDApfGQ8PGI7ZlthPj4yXT1jPDxiO3JldHVybn1m
dW5jdGlvbiAkJChhKXthPWF8MDt2YXIgYj0wO2I9YTAoKGZbYT4+Ml18MCkrLTF8MCl8MDtpZigh
Yil7Yj1hMChmW2ErND4+Ml18MCl8MDtyZXR1cm4gKChifDApPT0wPzA6YiszMnwwKXwwfWVsc2Ug
cmV0dXJuIGJ8MDtyZXR1cm4gMH1mdW5jdGlvbiBhMChhKXthPWF8MDt2YXIgYj0wO2lmKGEpaWYo
IShhJjEpKXtiPWE7YT0wO3doaWxlKDEpe2E9YSsxfDA7aWYoIShiJjIpKWI9Yj4+PjE7ZWxzZSBi
cmVha319ZWxzZSBhPTA7ZWxzZSBhPTMyO3JldHVybiBhfDB9ZnVuY3Rpb24gYjAoYSxiLGMpe2E9
YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wO2g9dDt0PXQrMjU2fDA7ZD1o
O2E6ZG8gaWYoKGN8MCk+PTI/KGc9YisoYzw8Mil8MCxmW2c+PjJdPWQsYXwwKTowKXdoaWxlKDEp
e2U9YT4+PjA8MjU2P2E6MjU2O1EzKGR8MCxmW2I+PjJdfDAsZXwwKXwwO2Q9MDtkb3tpPWIrKGQ8
PDIpfDA7ZD1kKzF8MDtRMyhmW2k+PjJdfDAsZltiKyhkPDwyKT4+Ml18MCxlfDApfDA7ZltpPj4y
XT0oZltpPj4yXXwwKStlfXdoaWxlKChkfDApIT0oY3wwKSk7YT1hLWV8MDtpZighYSlicmVhayBh
O2Q9ZltnPj4yXXwwfXdoaWxlKDApO3Q9aDtyZXR1cm59ZnVuY3Rpb24gYzAoYSl7YT1hfDA7dmFy
IGM9MCxkPTAsZT0wO2U9YTthOmRvIGlmKCEoZSYzKSlkPTU7ZWxzZXtjPWU7d2hpbGUoMSl7aWYo
IShiW2E+PjBdfDApKXthPWM7YnJlYWsgYX1hPWErMXwwO2M9YTtpZighKGMmMykpe2Q9NTticmVh
a319fXdoaWxlKDApO2lmKChkfDApPT01KXt3aGlsZSgxKXtjPWZbYT4+Ml18MDtpZighKChjJi0y
MTM5MDYyMTQ0Xi0yMTM5MDYyMTQ0KSZjKy0xNjg0MzAwOSkpYT1hKzR8MDtlbHNlIGJyZWFrfWlm
KChjJjI1NSk8PDI0Pj4yNClkbyBhPWErMXwwO3doaWxlKChiW2E+PjBdfDApIT0wKX1yZXR1cm4g
YS1lfDB9ZnVuY3Rpb24gZDAoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9
MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx1PTAsdj0w
LHc9MDt2PXQ7dD10KzQ4fDA7aD12O3M9ZTAoKXwwO2E6ZG8gaWYoIXMpYj0xMjtlbHNle3U9ZjAo
MCwwKXwwO2lmKCF1KXtnMChzKTtiPTEyO2JyZWFrfVMzKGh8MCwwLDM2KXwwO2ZbaD4+Ml09dTtm
W2grND4+Ml09cztmW2grMTY+PjJdPWI7ZltoKzMyPj4yXT1jO2Q9aCsyOHwwO2ZbZD4+Ml09LTE7
Yj1oMChoKXwwO2I6ZG8gaWYoIWIpe2c9aCsyMHwwO3E9ZltnPj4yXXwwO2ZbYT4+Ml09cSstMTtp
PWZbaCs4Pj4yXXwwO2lmKChmW2Q+PjJdfDApPChxfDApKXtxPU5fKDEsNjgpfDA7aWYocSl7cD0o
ZltkPj4yXXwwKT4+PjMxXjE7ZltxKzYwPj4yXT1wO2ZbcSs2ND4+Ml09MDtmW3ErMjg+PjJdPWZb
Zz4+Ml07aWYoKGMmOHwwKT09MHwocHwwKSE9MCl7Yj1pMCgwLHMsaSxxKXwwO2lmKGJ8MCl7Zz1x
O2g9MDtpPTA7ZT0wO2Q9MDticmVha31kPXErNDB8MDtiPWZbZD4+Ml18MDtpZigoYnwwKT4wKXti
PUxfKChiPDwyKSs0fDApfDA7aWYoIWIpe2c9cTtoPTA7aT0wO2I9MTI7ZT0wO2Q9MDticmVha31m
W3ErMzI+PjJdPWI7UzMoYnwwLC0xLChmW2Q+PjJdPDwyKSs0fDApfDA7ZT1iO2I9ZltkPj4yXXww
fWVsc2UgZT0wO3A9Tl8oYjw8MXwxLDQpfDA7ZltxKzM2Pj4yXT1wO2lmKCFwKXtnPXE7aD0wO2k9
MDtiPTEyO2U9MDtkPTA7YnJlYWt9Yj1OXyhmW2c+PjJdfDAsMTIpfDA7aWYoIWIpe2c9cTtoPTA7
aT0wO2I9MTI7ZT0wO2Q9MDticmVha31mW3ErMTY+PjJdPWI7Yj1pMCh1LHMsaSxxKXwwO2lmKCFi
KWI9ZTtlbHNle2c9cTtoPTA7aT0wO2U9MDtkPTA7YnJlYWt9fWVsc2UgYj0wO289aCsyNHwwO2I9
ajAodSxzLGksbyxiKXwwO2lmKCFiKXtiPWZbbz4+Ml18MDtmW28+PjJdPWIrMTtiPWswKHUsMCww
LGIpfDA7aWYoKGJ8MCkhPTA/KHI9bDAodSxpLGIpfDAsKHJ8MCkhPTApOjApe2I9bTAodSxzLHIp
fDA7aWYoIWIpe249TF8oZltvPj4yXTw8Mil8MDtpZihuKXtwPUxfKGZbbz4+Ml08PDIpfDA7aWYo
cCl7Yj1mW28+PjJdfDA7aWYoKGJ8MCk+MClTMyhufDAsMCxiPDwyfDApfDA7bjAociwwLG4sMCl8
MDtlPWZbbz4+Ml18MDtpZigoZXwwKT4wKXtiPTA7ZD0wO2Rve2ZbcCsoZDw8Mik+PjJdPWI7bT1u
KyhkPDwyKXwwO2I9YisxKyhmW20+PjJdfDApfDA7ZlttPj4yXT0wO2Q9ZCsxfDB9d2hpbGUoKGR8
MCk8KGV8MCkpO2s9Yn1lbHNlIGs9MDtsPU5fKGsrMXwwLDMyKXwwO2lmKGwpe2ZbcT4+Ml09bDtt
PXErNHwwO2ZbbT4+Ml09aztiPW4wKHIsbCxuLHApfDA7aWYoIWIpe2ZbcSsyMD4+Ml09MDtlPXIr
MjR8MDtiPWZbZT4+Ml18MDtkPTA7d2hpbGUoMSl7ZD1kKzF8MDtpZigoZltiPj4yXXwwKTw9LTEp
YnJlYWs7ZWxzZSBiPWIrMzJ8MH1qPU5fKGQsMzIpfDA7aWYoIWope2c9cTtoPW47aT1wO2I9MTI7
ZT1uO2Q9cH1lbHNle2ZbcSs4Pj4yXT1qO2I9ZltlPj4yXXwwO2Q9ZltiPj4yXXwwO2lmKChkfDAp
Pi0xKXtpPWI7Yj0wO2Rve2ZbaisoYjw8NSkrOD4+Ml09bCsoZltwKyhkPDwyKT4+Ml08PDUpO2Zb
aisoYjw8NSkrMTI+PjJdPWQ7Zz1qKyhiPDw1KSsxNnwwO2ZbZz4+Ml09MDtoPWkrMTJ8MDtlPWZb
aD4+Ml18MDtpZihlfDApe2Q9MDtkb3t3PWQ7ZD1kKzF8MH13aGlsZSgoZltlKyh3PDwyKT4+Ml18
MCk+LTEpO2Q9ZDw8MjtlPUxfKGQpfDA7ZltnPj4yXT1lO2lmKCFlKXtnPXE7aD1uO2k9cDtiPTEy
O2U9bjtkPXA7YnJlYWsgYn1RMyhlfDAsZltoPj4yXXwwLGR8MCl8MH1mW2orKGI8PDUpKzIwPj4y
XT1mW2krMTY+PjJdO2I9YisxfDA7aT1pKzMyfDA7ZD1mW2k+PjJdfDB9d2hpbGUoKGR8MCk+LTEp
fWVsc2UgYj0wO2ZbaisoYjw8NSkrOD4+Ml09MDtmW20+PjJdPWs7ZltxKzEyPj4yXT1sKyhmW3Ar
KGZbZltyKzI4Pj4yXT4+Ml08PDIpPj4yXTw8NSk7ZltxKzUyPj4yXT1mW28+PjJdO2ZbcSs1Nj4+
Ml09YztvMCh1KTtnMChzKTtNXyhuKTtNXyhwKTtmW2ErND4+Ml09cTtiPTA7YnJlYWsgYX19ZWxz
ZXtnPXE7aD1uO2k9cDtlPW47ZD1wfX1lbHNle2c9cTtoPW47aT1wO2I9MTI7ZT1uO2Q9cH19ZWxz
ZXtnPXE7aD1uO2k9cDtiPTEyO2U9bjtkPTB9fWVsc2V7Zz1xO2g9bjtpPTA7Yj0xMjtlPTA7ZD0w
fX1lbHNle2c9cTtoPTA7aT0wO2U9MDtkPTB9fWVsc2V7Zz1xO2g9MDtpPTA7Yj0xMjtlPTA7ZD0w
fX1lbHNle2c9cTtoPTA7aT0wO2U9MDtkPTB9fWVsc2V7Zz1xO2g9MDtpPTA7Yj0xMjtlPTA7ZD0w
fX1lbHNle2c9MDtoPTA7aT0wO2I9NjtlPTA7ZD0wfX1lbHNle2c9MDtoPTA7aT0wO2U9MDtkPTB9
d2hpbGUoMCk7bzAodSk7ZzAocyk7aWYoaHwwKU1fKGUpO2lmKGl8MClNXyhkKTtmW2ErND4+Ml09
ZztwMChhKX13aGlsZSgwKTt0PXY7cmV0dXJuIGJ8MH1mdW5jdGlvbiBlMCgpe3ZhciBhPTAsYj0w
O2E9TF8oMjApfDA7ZG8gaWYoYSl7Yj1MXygyMDQ4KXwwO2ZbYSsxNj4+Ml09YjtpZighYil7TV8o
YSk7YT0wO2JyZWFrfWVsc2V7ZlthPj4yXT01MTI7ZlthKzQ+PjJdPTEwMjRlMztmW2ErOD4+Ml09
MTI4O2ZbYSsxMj4+Ml09MDticmVha319d2hpbGUoMCk7cmV0dXJuIGF8MH1mdW5jdGlvbiBmMChh
LGIpe2E9YXwwO2I9YnwwO2lmKCFhKWI9Tl8oMSwyNCl8MDtlbHNlIFMzKGJ8MCwwLDI0KXwwO3Jl
dHVybiBifDB9ZnVuY3Rpb24gZzAoYSl7YT1hfDA7TV8oZlthKzE2Pj4yXXwwKTtNXyhhKTtyZXR1
cm59ZnVuY3Rpb24gaDAoYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxr
PTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx1PTA7dT10O3Q9dCsxNnwwO289dSs0
fDA7cD11O3E9ZlthKzMyPj4yXSYxO3I9YSsxNnwwO2Q9ZltyPj4yXXwwO3M9ZlthKzQ+PjJdfDA7
Yz10MChzLDApfDA7YTpkbyBpZighYyl7bD0ocXwwKSE9MDttPWErOHwwO249YSsxMnwwO2M9MDtr
PTE7Yjp3aGlsZSgxKXtlPTA7aD1jO2c9MDtjOndoaWxlKDEpe2M9YltkPj4wXXwwO2lmKGwpe2lm
KGM8PDI0Pj4yND09NDApYnJlYWs7aWYoKGh8MCkhPTAmYzw8MjQ+PjI0PT00MSlqPTEzO2Vsc2Ug
aj0xNH1lbHNlIGlmKGM8PDI0Pj4yND09OTIpc3dpdGNoKGJbZCsxPj4wXXwwKXtjYXNlIDQwOmJy
ZWFrIGM7Y2FzZSA0MTp7aj0xMzticmVha31kZWZhdWx0Omo9MTR9ZWxzZSBqPTE0O2lmKChqfDAp
PT0xMyl7aj0wO2k9azAoZlthPj4yXXwwLC0xLC0xLC0xKXwwO2ZbbT4+Ml09aTtpZighaSl7Yz0x
MjticmVhayBhfX1lbHNlIGlmKChqfDApPT0xNCl7aj0wO2M9SjAoYSxkKXwwO2lmKGN8MClicmVh
ayBhO2Q9ZltuPj4yXXwwfWk9ZTtkOndoaWxlKDEpe2U6d2hpbGUoMSl7Yz1iW2Q+PjBdfDA7c3dp
dGNoKGM8PDI0Pj4yNCl7Y2FzZSA0MjpjYXNlIDkyOmJyZWFrO2RlZmF1bHQ6e2lmKCFsKWJyZWFr
IGU7c3dpdGNoKGM8PDI0Pj4yNCl7Y2FzZSAxMjM6Y2FzZSA2MzpjYXNlIDQzOmJyZWFrO2RlZmF1
bHQ6YnJlYWsgZX19fWM9Yzw8MjQ+PjI0PT05MjtpZihsJmMpYnJlYWs7ZT1kKzF8MDtpZihjKXN3
aXRjaChiW2U+PjBdfDApe2Nhc2UgMTIzOmNhc2UgNjM6Y2FzZSA0MzpicmVhaztkZWZhdWx0OmJy
ZWFrIGV9ZD1jP2U6ZDtpZigoIWw/KGR8MCk9PSgoZltyPj4yXXwwKSsxfDApOjApPyhiW2QrLTE+
PjBdfDApPT05NDowKWJyZWFrO2lmKChiW2Q+PjBdfDApPT0xMjMpe2Q9SzAoZCsxfDAscSxvLHAp
fDA7aWYoIWQpe2o9Mjk7YnJlYWsgYn1jPWZbcD4+Ml18MDtlPWZbYT4+Ml18MDtpZighYyljPWsw
KGUsLTEsLTEsLTEpfDA7ZWxzZSBqPTM3fWVsc2V7ZltvPj4yXT0wO2ZbcD4+Ml09LTE7Yz1iW2Q+
PjBdfDA7aWYoYzw8MjQ+PjI0PT00Myl7ZltvPj4yXT0xO2M9YltkPj4wXXwwfWlmKGM8PDI0Pj4y
ND09NjMpe2ZbcD4+Ml09MTtjPTF9ZWxzZSBjPS0xO2Q9ZCsxfDA7ZT1mW2E+PjJdfDA7aj0zN31p
ZigoanwwKT09Mzcpe2o9MDtjPUUwKGUsZlttPj4yXXwwLGZbbz4+Ml18MCxjLDApfDB9ZlttPj4y
XT1jO2lmKCFjKXtjPTEyO2JyZWFrIGF9fWM9bDAoZlthPj4yXXwwLGksZlttPj4yXXwwKXwwO2U9
YltkPj4wXXwwO2Y6ZG8gaWYobCl7aWYoZTw8MjQ+PjI0PT0xMjQpe2o9NDc7YnJlYWsgZH1pZigo
aHwwKSE9MCZlPDwyND4+MjQ9PTQxfGU8PDI0Pj4yND09MClqPTUwO2Vsc2V7ZT1jO2M9ZzticmVh
ayBkfX1lbHNle3N3aXRjaChlPDwyND4+MjQpe2Nhc2UgMDp7aj01MDticmVhayBmfWNhc2UgOTI6
YnJlYWs7ZGVmYXVsdDp7ZT1jO2M9ZzticmVhayBkfX1zd2l0Y2goYltkKzE+PjBdfDApe2Nhc2Ug
MTI0OmNhc2UgNDE6YnJlYWs7ZGVmYXVsdDp7ZT1jO2M9ZzticmVhayBkfX1jPUYwKGZbYT4+Ml18
MCxnLGMpfDA7aWYoKGJbZCsxPj4wXXwwKT09MTI0KXtqPTQ1O2JyZWFrIGR9aWYoIWgpe2M9ODti
cmVhayBhfWQ9ZCsyfDA7ZT05Mn13aGlsZSgwKTtpZigoanwwKT09NTApe2o9MDtjPUYwKGZbYT4+
Ml18MCxnLGMpfDA7ZD1lPDwyND4+MjQ9PTQxP2QrMXwwOmR9Yz1MMChhLGMsdTAocyl8MCl8MDtp
ZihjfDApYnJlYWsgYTtlPWU8PDI0Pj4yND09MDtjPShofDApPDE7aWYoYyZlKXtqPTUzO2JyZWFr
IGJ9aWYoY3xlKXtjPTg7YnJlYWsgYX1pPXYwKHMpfDA7aD1oKy0xfDA7Zz12MChzKXwwfWlmKChq
fDApPT00NSl7ZT0wO2Q9ZCsyfDB9ZWxzZSBpZigoanwwKT09NDcpe2U9MDtkPWQrMXwwO2M9RjAo
ZlthPj4yXXwwLGcsYyl8MH1nPWN9Yz1zMChzLGcpfDA7aWYoY3wwKWJyZWFrIGE7Yz1zMChzLGUp
fDA7aWYoY3wwKWJyZWFrIGE7Yz10MChzLGspfDA7aWYoY3wwKWJyZWFrIGE7Yz1oKzF8MDtrPWsr
MXwwO2Q9bD9kKzF8MDpkKzJ8MH1pZigoanwwKT09Mjkpe2M9MTA7YnJlYWt9ZWxzZSBpZigoanww
KT09NTMpe2ZbYSsyMD4+Ml09aztjPTA7YnJlYWt9fXdoaWxlKDApO3Q9dTtyZXR1cm4gY3wwfQor
ZnVuY3Rpb24gSkooYSxjLGQsZSxnKXthPWF8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8MDt2YXIg
aD0wLGk9MCxqPTAsaz0wLjAsbD0wLjAsbT0wLjAsbj0wLjAsbz0wLjAscT0wLHI9MC4wLHM9MCx1
PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9
MCxLPTAsTD0wLjAsTT0wLjAsTj0wLjAsTz0wLFA9MDtLPXQ7dD10KzMwNHwwO0E9SysyNzJ8MDt6
PUsrMTI4fDA7Rj1LKzY0fDA7Rz1LO0g9SysyMDh8MDtJPUsrMTkyfDA7cT1LKzI1NnwwO3k9Sysy
NDB8MDtoPUsrMjI0fDA7Qj1LKzI5NnwwO0M9SysyODh8MDtpPWZbYz4+Ml18MDt3PWZbaT4+Ml0m
MztqPWkrLTQ4fDA7RD1mWygod3wwKT09Mj9pOmopKzQwPj4yXXwwO3M9RisxNnwwO3c9KGZbKGZb
KCh3fDApPT0zP2k6aSs0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE2fDA7eD1pKzE2fDA7RT0o
Zlt4Pj4yXXwwKSsxNnwwO2Zbej4+Ml09Zlt3Pj4yXTtmW3orND4+Ml09Zlt3KzQ+PjJdO2Zbeis4
Pj4yXT1mW3crOD4+Ml07Zlt6KzEyPj4yXT1mW3crMTI+PjJdO2ZbQT4+Ml09ZltFPj4yXTtmW0Er
ND4+Ml09ZltFKzQ+PjJdO2ZbQSs4Pj4yXT1mW0UrOD4+Ml07ZltBKzEyPj4yXT1mW0UrMTI+PjJd
O0tKKHEseixBKTtmW0Y+PjJdPWZbcT4+Ml07ZltGKzQ+PjJdPWZbcSs0Pj4yXTtmW0YrOD4+Ml09
ZltxKzg+PjJdO2ZbRisxMj4+Ml09ZltxKzEyPj4yXTtmW3M+PjJdPWZbcT4+Ml07ZltzKzQ+PjJd
PWZbcSs0Pj4yXTtmW3MrOD4+Ml09ZltxKzg+PjJdO2ZbcysxMj4+Ml09ZltxKzEyPj4yXTtmW0g+
PjJdPWZbcT4+Ml07ZltIKzQ+PjJdPWZbcSs0Pj4yXTtmW0grOD4+Ml09ZltxKzg+PjJdO2ZbSCsx
Mj4+Ml09ZltxKzEyPj4yXTtxPUYrMzJ8MDtFPUYrNDh8MDt3PShmW0QrMTY+PjJdfDApKzE2fDA7
eD0oZlt4Pj4yXXwwKSs1NnwwO2Zbej4+Ml09Zlt3Pj4yXTtmW3orND4+Ml09Zlt3KzQ+PjJdO2Zb
eis4Pj4yXT1mW3crOD4+Ml07Zlt6KzEyPj4yXT1mW3crMTI+PjJdO2ZbQT4+Ml09Zlt4Pj4yXTtm
W0ErND4+Ml09Zlt4KzQ+PjJdO2ZbQSs4Pj4yXT1mW3grOD4+Ml07ZltBKzEyPj4yXT1mW3grMTI+
PjJdO0tKKHkseixBKTtmW0U+PjJdPWZbeT4+Ml07ZltFKzQ+PjJdPWZbeSs0Pj4yXTtmW0UrOD4+
Ml09Zlt5Kzg+PjJdO2ZbRSsxMj4+Ml09Zlt5KzEyPj4yXTtmW3E+PjJdPWZbeT4+Ml07ZltxKzQ+
PjJdPWZbeSs0Pj4yXTtmW3ErOD4+Ml09Zlt5Kzg+PjJdO2ZbcSsxMj4+Ml09Zlt5KzEyPj4yXTtm
W0k+PjJdPWZbeT4+Ml07ZltJKzQ+PjJdPWZbeSs0Pj4yXTtmW0krOD4+Ml09Zlt5Kzg+PjJdO2Zb
SSsxMj4+Ml09Zlt5KzEyPj4yXTthOmRvIGlmKChkfDApIT0xJihiWzE5NDg2NV18MCk9PTApe2s9
K3BbRj4+M107bD0rcFtFPj4zXTtMPWstbDttPStwW0YrOD4+M107bj0rcFtGKzU2Pj4zXTtyPW0t
bjtvPXIqcjtpZihvK0wqTDwxLjBlLTA2KXtmW3M+PjJdPWZbRj4+Ml07ZltzKzQ+PjJdPWZbRis0
Pj4yXTtmW3MrOD4+Ml09ZltGKzg+PjJdO2ZbcysxMj4+Ml09ZltGKzEyPj4yXTtmW3E+PjJdPWZb
RT4+Ml07ZltxKzQ+PjJdPWZbRSs0Pj4yXTtmW3ErOD4+Ml09ZltFKzg+PjJdO2ZbcSsxMj4+Ml09
ZltFKzEyPj4yXTt5PUYrMjR8MDt4PUYrNDB8MDtrPTAuMDtsPTAuMH1lbHNle009bC1rO0w9K0oo
KyhvK00qTSkpO3c9ZlsoZlsoZlthKzYwPj4yXXwwKSsxNj4+Ml18MCkrMjQ4Pj4yXXwwO049Kygo
Vih3LGQrLTF8MCl8MCkvMnwwfDApO289cipOL0w7cFtzPj4zXT1vK2s7az1NKk4vTDt5PUYrMjR8
MDtwW3k+PjNdPWsrbTtwW3E+PjNdPW8rbDt4PUYrNDB8MDtwW3g+PjNdPWsrbjtsPSsoMC13fDAp
O2s9cipsL0w7bD1NKmwvTH1lPShlfDApPT02O3U9Qys0fDA7dj1CKzR8MDtpPTA7d2hpbGUoMSl7
aWYoKGl8MCk+PShkfDApKWJyZWFrIGE7dz1mW2MrKGk8PDIpPj4yXXwwO2o9dystNDh8MDtiOmRv
IGlmKChmWygoZlt3Pj4yXSYzfDApPT0yP3c6aikrNDA+PjJdfDApPT0oRHwwKSl7ZltIPj4yXT1m
W0Y+PjJdO2ZbSCs0Pj4yXT1mW0YrND4+Ml07ZltIKzg+PjJdPWZbRis4Pj4yXTtmW0grMTI+PjJd
PWZbRisxMj4+Ml07ZltJPj4yXT1mW0U+PjJdO2ZbSSs0Pj4yXT1mW0UrND4+Ml07ZltJKzg+PjJd
PWZbRSs4Pj4yXTtmW0krMTI+PjJdPWZbRSsxMj4+Ml07aD0wO3doaWxlKDEpe2lmKChofDApPT00
KWJyZWFrIGI7Tz1HKyhoPDw0KXwwO1A9RisoaDw8NCl8MDtmW08+PjJdPWZbUD4+Ml07ZltPKzQ+
PjJdPWZbUCs0Pj4yXTtmW08rOD4+Ml09ZltQKzg+PjJdO2ZbTysxMj4+Ml09ZltQKzEyPj4yXTto
PWgrMXwwfX1lbHNle2ZbSD4+Ml09ZltFPj4yXTtmW0grND4+Ml09ZltFKzQ+PjJdO2ZbSCs4Pj4y
XT1mW0UrOD4+Ml07ZltIKzEyPj4yXT1mW0UrMTI+PjJdO2ZbST4+Ml09ZltGPj4yXTtmW0krND4+
Ml09ZltGKzQ+PjJdO2ZbSSs4Pj4yXT1mW0YrOD4+Ml07ZltJKzEyPj4yXT1mW0YrMTI+PjJdO2g9
MDt3aGlsZSgxKXtpZigoaHwwKT09NClicmVhayBiO1A9RysoMy1oPDw0KXwwO089RisoaDw8NCl8
MDtmW1A+PjJdPWZbTz4+Ml07ZltQKzQ+PjJdPWZbTys0Pj4yXTtmW1ArOD4+Ml09ZltPKzg+PjJd
O2ZbUCsxMj4+Ml09ZltPKzEyPj4yXTtoPWgrMXwwfX13aGlsZSgwKTtpZihlKXtmW3U+PjJdPTQ7
ZltDPj4yXT16O2g9MDt3aGlsZSgxKXtpZigoaHwwKT09NClicmVhaztQPXorKGg8PDQpfDA7Tz1H
KyhoPDw0KXwwO2ZbUD4+Ml09ZltPPj4yXTtmW1ArND4+Ml09ZltPKzQ+PjJdO2ZbUCs4Pj4yXT1m
W08rOD4+Ml07ZltQKzEyPj4yXT1mW08rMTI+PjJdO2g9aCsxfDB9ZltBPj4yXT1mW0M+PjJdO2Zb
QSs0Pj4yXT1mW0MrND4+Ml07eFYoQSxCKTtaSyh3LGZbKChmW3c+PjJdJjN8MCk9PTI/dzpqKSs0
MD4+Ml18MCxmW0I+PjJdfDAsZlt2Pj4yXXwwLGcpfWVsc2UgWksodyxmWygoZlt3Pj4yXSYzfDAp
PT0yP3c6aikrNDA+PjJdfDAsRyw0LGcpO2Zbej4+Ml09ZltIPj4yXTtmW3orND4+Ml09ZltIKzQ+
PjJdO2Zbeis4Pj4yXT1mW0grOD4+Ml07Zlt6KzEyPj4yXT1mW0grMTI+PjJdO2ZbQT4+Ml09ZltJ
Pj4yXTtmW0ErND4+Ml09ZltJKzQ+PjJdO2ZbQSs4Pj4yXT1mW0krOD4+Ml07ZltBKzEyPj4yXT1m
W0krMTI+PjJdO3NMKGEsdyx6LEEpO3Bbcz4+M109K3Bbcz4+M10raztwW3k+PjNdPStwW3k+PjNd
K2w7cFtxPj4zXT0rcFtxPj4zXStrO3BbeD4+M109K3BbeD4+M10rbDtpPWkrMXwwfX1lbHNle2lm
KChlfDApPT00KXtMSihoLGEpO2ZbQT4+Ml09ZltoPj4yXTtmW0ErND4+Ml09ZltoKzQ+PjJdO2Zb
QSs4Pj4yXT1mW2grOD4+Ml07ZltBKzEyPj4yXT1mW2grMTI+PjJdO01KKEYsQSl9WksoaSxmWygo
ZltpPj4yXSYzfDApPT0yP2k6aikrNDA+PjJdfDAsRiw0LGcpO2Zbej4+Ml09ZltIPj4yXTtmW3or
ND4+Ml09ZltIKzQ+PjJdO2Zbeis4Pj4yXT1mW0grOD4+Ml07Zlt6KzEyPj4yXT1mW0grMTI+PjJd
O2ZbQT4+Ml09ZltJPj4yXTtmW0ErND4+Ml09ZltJKzQ+PjJdO2ZbQSs4Pj4yXT1mW0krOD4+Ml07
ZltBKzEyPj4yXT1mW0krMTI+PjJdO3NMKGEsaSx6LEEpfXdoaWxlKDApO3Q9SztyZXR1cm59ZnVu
Y3Rpb24gS0ooYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMDtkPStwW2MrOD4+M10r
ICtwW2IrOD4+M107cFthPj4zXT0rcFtjPj4zXSsgK3BbYj4+M107cFthKzg+PjNdPWQ7cmV0dXJu
fWZ1bmN0aW9uIExKKGEsYil7YT1hfDA7Yj1ifDA7Yj1mW2IrMTY+PjJdfDA7cFsyNDAzNV09KCtw
W2IrMzI+PjNdKyArcFtiKzE2Pj4zXSkqLjU7cFsyNDAzNl09KCtwW2IrNDA+PjNdKyArcFtiKzI0
Pj4zXSkqLjU7ZlthPj4yXT1mWzQ4MDcwXTtmW2ErND4+Ml09Zls0ODA3MV07ZlthKzg+PjJdPWZb
NDgwNzJdO2ZbYSsxMj4+Ml09Zls0ODA3M107cmV0dXJufWZ1bmN0aW9uIE1KKGEsYil7YT1hfDA7
Yj1ifDA7dmFyIGM9MC4wLGQ9MC4wLGU9MC4wLGY9MC4wLGc9MC4wLGg9MC4wO2Y9K3BbYT4+M107
ZD0rcFthKzQ4Pj4zXTtoPShkK2YpKi41O2c9K3BbYSs4Pj4zXTtjPStwW2ErNTY+PjNdO2U9KGMr
ZykqLjU7Zj1kLWY7Zz1jLWc7Zj0rSigrKGcqZytmKmYpKSouMjtnPStwW2I+PjNdLWg7Yz0rcFti
Kzg+PjNdLWU7ZD0rSigrKGMqYytnKmcpKTtpZighKGQ9PTAuMCkpe2c9aC1nL2QqZjtoPWUtYy9k
KmY7cFthKzMyPj4zXT1nO3BbYSsxNj4+M109ZztwW2ErNDA+PjNdPWg7cFthKzI0Pj4zXT1ofXJl
dHVybn1mdW5jdGlvbiBOSihhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXww
O3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLjAsbD0wLG09MC4wLG49MCxvPTAscT0wLHI9MCxzPTAs
dT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MC4wLEY9MCxHPTAuMCxI
PTAuMCxJPTAuMCxLPTAuMCxMPTAuMDtEPXQ7dD10KzIwOHwwO3M9RCsxOTJ8MDtyPUQrMTc2fDA7
Qj1EO3c9RCs5NnwwO3g9RCs4MHwwO3k9RCsxNjB8MDt6PUQrMTQ0fDA7dT1EKzEyOHwwO3Y9RCsx
MTJ8MDtnPWQmMjEzMDcwNjQzMjtBPShkJjh8MCk9PTA/KChnfDApPT0wPzQ6Zyk6ODtpZigoQXww
KT09NDM2MjA3NjE2KU9KKGEsYixjLGUpO2Vsc2V7Qz1ESCgoYzw8NikrNjR8MCl8MDtuPWMrLTF8
MDtvPXgrOHwwO3E9dys4fDA7bT0xMi4wO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGN8MCkpYnJl
YWs7bD1iKyhkPDw0KXwwO2Zbdz4+Ml09ZltsPj4yXTtmW3crND4+Ml09ZltsKzQ+PjJdO2Zbdys4
Pj4yXT1mW2wrOD4+Ml07Zlt3KzEyPj4yXT1mW2wrMTI+PjJdO2lmKChkfDApPChufDApKXtkPWQr
MXwwO2w9YisoZDw8NCl8MDtmW3g+PjJdPWZbbD4+Ml07Zlt4KzQ+PjJdPWZbbCs0Pj4yXTtmW3gr
OD4+Ml09ZltsKzg+PjJdO2ZbeCsxMj4+Ml09ZltsKzEyPj4yXX1lbHNle2ZbeD4+Ml09ZltiPj4y
XTtmW3grND4+Ml09ZltiKzQ+PjJdO2ZbeCs4Pj4yXT1mW2IrOD4+Ml07Zlt4KzEyPj4yXT1mW2Ir
MTI+PjJdO2Q9ZCsxfDB9az0rcFt4Pj4zXS0rcFt3Pj4zXTtFPStwW28+PjNdLStwW3E+PjNdO2s9
K0ooKyhFKkUrayprKSkqLjMzMzMzMzMzMzMzMzMzMzM7bT1tPGs/bTprfWo9KGd8MTY3NzcyMTZ8
MCk9PTgzODg2MDgwO2w9KEF8MCk9PTQ7aT0oZ3wwKT09MTY3NzcyMTY7ZD0wO2g9MDt3aGlsZSgx
KXtpZigoaHwwKT49KGN8MCkpYnJlYWs7Zz1iKyhoPDw0KXwwO2Zbdz4+Ml09ZltnPj4yXTtmW3cr
ND4+Ml09ZltnKzQ+PjJdO2Zbdys4Pj4yXT1mW2crOD4+Ml07Zlt3KzEyPj4yXT1mW2crMTI+PjJd
O2lmKChofDApPChufDApKXtnPWIrKGgrMTw8NCl8MDtmW3g+PjJdPWZbZz4+Ml07Zlt4KzQ+PjJd
PWZbZys0Pj4yXTtmW3grOD4+Ml09ZltnKzg+PjJdO2ZbeCsxMj4+Ml09ZltnKzEyPj4yXX1lbHNl
e2ZbeD4+Ml09ZltiPj4yXTtmW3grND4+Ml09ZltiKzQ+PjJdO2ZbeCs4Pj4yXT1mW2IrOD4+Ml07
Zlt4KzEyPj4yXT1mW2IrMTI+PjJdfWs9K3BbeD4+M10tK3Bbdz4+M107RT0rcFtvPj4zXS0rcFtx
Pj4zXTtrPW0vK0ooKyhFKkUrayprKSk7az1qP2sqLjMzMzMzMzMzMzMzMzMzMzM6aT9rKi41Oms7
Zz1DKyhkPDw0KXwwO2lmKGwpe2Zbcj4+Ml09Zlt3Pj4yXTtmW3IrND4+Ml09Zlt3KzQ+PjJdO2Zb
cis4Pj4yXT1mW3crOD4+Ml07ZltyKzEyPj4yXT1mW3crMTI+PjJdO2Zbcz4+Ml09Zlt4Pj4yXTtm
W3MrND4+Ml09Zlt4KzQ+PjJdO2Zbcys4Pj4yXT1mW3grOD4+Ml07ZltzKzEyPj4yXT1mW3grMTI+
PjJdO1BKKHksayouNSxyLHMpO2ZbZz4+Ml09Zlt5Pj4yXTtmW2crND4+Ml09Zlt5KzQ+PjJdO2Zb
Zys4Pj4yXT1mW3krOD4+Ml07ZltnKzEyPj4yXT1mW3krMTI+PjJdfWVsc2V7ZltnPj4yXT1mW3c+
PjJdO2ZbZys0Pj4yXT1mW3crND4+Ml07ZltnKzg+PjJdPWZbdys4Pj4yXTtmW2crMTI+PjJdPWZb
dysxMj4+Ml19Zz1DKyhkKzE8PDQpfDA7ZltyPj4yXT1mW3c+PjJdO2Zbcis0Pj4yXT1mW3crND4+
Ml07ZltyKzg+PjJdPWZbdys4Pj4yXTtmW3IrMTI+PjJdPWZbdysxMj4+Ml07ZltzPj4yXT1mW3g+
PjJdO2Zbcys0Pj4yXT1mW3grND4+Ml07ZltzKzg+PjJdPWZbeCs4Pj4yXTtmW3MrMTI+PjJdPWZb
eCsxMj4+Ml07UEooeixrLHIscyk7ZltnPj4yXT1mW3o+PjJdO2ZbZys0Pj4yXT1mW3orND4+Ml07
ZltnKzg+PjJdPWZbeis4Pj4yXTtmW2crMTI+PjJdPWZbeisxMj4+Ml07Zz1kKzN8MDtGPUMrKGQr
Mjw8NCl8MDtmW3I+PjJdPWZbdz4+Ml07ZltyKzQ+PjJdPWZbdys0Pj4yXTtmW3IrOD4+Ml09Zlt3
Kzg+PjJdO2ZbcisxMj4+Ml09Zlt3KzEyPj4yXTtmW3M+PjJdPWZbeD4+Ml07ZltzKzQ+PjJdPWZb
eCs0Pj4yXTtmW3MrOD4+Ml09Zlt4Kzg+PjJdO2ZbcysxMj4+Ml09Zlt4KzEyPj4yXTtQSih1LDEu
MC1rLHIscyk7ZltGPj4yXT1mW3U+PjJdO2ZbRis0Pj4yXT1mW3UrND4+Ml07ZltGKzg+PjJdPWZb
dSs4Pj4yXTtmW0YrMTI+PjJdPWZbdSsxMj4+Ml07aWYobCl7Rj1DKyhnPDw0KXwwO2Zbcj4+Ml09
Zlt3Pj4yXTtmW3IrND4+Ml09Zlt3KzQ+PjJdO2Zbcis4Pj4yXT1mW3crOD4+Ml07ZltyKzEyPj4y
XT1mW3crMTI+PjJdO2Zbcz4+Ml09Zlt4Pj4yXTtmW3MrND4+Ml09Zlt4KzQ+PjJdO2Zbcys4Pj4y
XT1mW3grOD4+Ml07ZltzKzEyPj4yXT1mW3grMTI+PjJdO1BKKHYsMS4wLWsqLjUscixzKTtmW0Y+
PjJdPWZbdj4+Ml07ZltGKzQ+PjJdPWZbdis0Pj4yXTtmW0YrOD4+Ml09Zlt2Kzg+PjJdO2ZbRisx
Mj4+Ml09Zlt2KzEyPj4yXTtkPWQrNHwwfWVsc2UgZD1nO2g9aCsxfDB9aj1DKyhkPDw0KXwwO2Zb
aj4+Ml09ZltDPj4yXTtmW2orND4+Ml09ZltDKzQ+PjJdO2Zbais4Pj4yXT1mW0MrOD4+Ml07Zltq
KzEyPj4yXT1mW0MrMTI+PjJdO2o9QysoZCsxPDw0KXwwO2k9QysxNnwwO2Zbaj4+Ml09ZltpPj4y
XTtmW2orND4+Ml09ZltpKzQ+PjJdO2Zbais4Pj4yXT1mW2krOD4+Ml07ZltqKzEyPj4yXT1mW2kr
MTI+PjJdO2Q9QysoZCsyPDw0KXwwO2o9QyszMnwwO2ZbZD4+Ml09ZltqPj4yXTtmW2QrND4+Ml09
ZltqKzQ+PjJdO2ZbZCs4Pj4yXT1mW2orOD4+Ml07ZltkKzEyPj4yXT1mW2orMTI+PjJdO2Q9QSYy
MTQ3NDgzNjQ3O2E6ZG8gaWYoKGR8MCk8MjAxMzI2NTkyKXtpZigoZHwwKT49ODM4ODYwODApe2lm
KChkfDApPDEzNDIxNzcyOCl7aWYoKGR8MCk8MTAwNjYzMjk2KXtzd2l0Y2goZHwwKXtjYXNlIDgz
ODg2MDgwOmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX1pZigoY3wwKT09NCl7Rj1ESCgxOTIpfDA7ZltG
Pj4yXT1mW2I+PjJdO2ZbRis0Pj4yXT1mW2IrND4+Ml07ZltGKzg+PjJdPWZbYis4Pj4yXTtmW0Yr
MTI+PjJdPWZbYisxMj4+Ml07bj1GKzE2fDA7cz1iKzE2fDA7ZltuPj4yXT1mW3M+PjJdO2Zbbis0
Pj4yXT1mW3MrND4+Ml07ZltuKzg+PjJdPWZbcys4Pj4yXTtmW24rMTI+PjJdPWZbcysxMj4+Ml07
bj1DKzQ4fDA7cz1DKzY0fDA7RT0rcFtzPj4zXTtsPUYrMzJ8MDtwW2w+PjNdPUU7bz1DKzU2fDA7
cT1DKzcyfDA7bT0rcFtxPj4zXTt6PUYrNDB8MDtwW3o+PjNdPW07az0rcFtuPj4zXS0rcFtqPj4z
XTtFPWsrRTt1PUYrNDh8MDtwW3U+PjNdPUU7Rz0rcFtvPj4zXS0rcFtDKzQwPj4zXTttPUcrbTt4
PUYrNTZ8MDtwW3g+PjNdPW07RT0rcFtzPj4zXS0rcFtuPj4zXStFO249Ris2NHwwO3Bbbj4+M109
RTttPStwW3E+PjNdLStwW28+PjNdK207bz1GKzcyfDA7cFtvPj4zXT1tO3E9Ris4MHwwO3BbcT4+
M109RS1rO3BbRis4OD4+M109bS1HO3M9Qys5NnwwO3Y9Qys4MHwwO0c9K3Bbdj4+M107Yz1GKzE0
NHwwO3BbYz4+M109Rzt3PUMrMTA0fDA7cj1DKzg4fDA7bT0rcFtyPj4zXTtwW0YrMTUyPj4zXT1t
O2s9K3Bbcz4+M10tK3BbQysxMTI+PjNdO0c9aytHO3k9RisxMjh8MDtwW3k+PjNdPUc7RT0rcFt3
Pj4zXS0rcFtDKzEyMD4+M107bT1FK207QT1GKzEzNnwwO3BbQT4+M109bTtHPStwW3Y+PjNdLStw
W3M+PjNdK0c7cz1GKzExMnwwO3Bbcz4+M109RzttPStwW3I+PjNdLStwW3c+PjNdK207dz1GKzEy
MHwwO3Bbdz4+M109bTtyPUYrOTZ8MDtwW3I+PjNdPUctazt2PUYrMTA0fDA7cFt2Pj4zXT1tLUU7
aj1GKzE2MHwwO2k9YiszMnwwO2Zbaj4+Ml09ZltpPj4yXTtmW2orND4+Ml09ZltpKzQ+PjJdO2Zb
ais4Pj4yXT1mW2krOD4+Ml07ZltqKzEyPj4yXT1mW2krMTI+PjJdO2o9RisxNzZ8MDtiPWIrNDh8
MDtmW2o+PjJdPWZbYj4+Ml07ZltqKzQ+PjJdPWZbYis0Pj4yXTtmW2orOD4+Ml09ZltiKzg+PjJd
O2ZbaisxMj4+Ml09ZltiKzEyPj4yXTtoUChhLEYsMTIsZSk7ZltCPj4yXT1mW2w+PjJdO2ZbQis0
Pj4yXT1mW2wrND4+Ml07ZltCKzg+PjJdPWZbbCs4Pj4yXTtmW0IrMTI+PjJdPWZbbCsxMj4+Ml07
RT0rcFtsPj4zXTttPStwW3U+PjNdO0U9RS0obS1FKTt1PUIrMTZ8MDtwW3U+PjNdPUU7az0rcFt6
Pj4zXTtHPStwW3g+PjNdO2s9ay0oRy1rKTt4PUIrMjR8MDtwW3g+PjNdPWs7ej1CKzMyfDA7cFt6
Pj4zXT1FLW0rICtwW24+PjNdO2I9Qis0MHwwO3BbYj4+M109ay1HKyArcFtvPj4zXTtlPUIrNDh8
MDtmW2U+PjJdPWZbcT4+Ml07ZltlKzQ+PjJdPWZbcSs0Pj4yXTtmW2UrOD4+Ml09ZltxKzg+PjJd
O2ZbZSsxMj4+Ml09ZltxKzEyPj4yXTtrUChhLEIsNCk7ZltCPj4yXT1mW3I+PjJdO2ZbQis0Pj4y
XT1mW3IrND4+Ml07ZltCKzg+PjJdPWZbcis4Pj4yXTtmW0IrMTI+PjJdPWZbcisxMj4+Ml07Rz0r
cFtyPj4zXTtrPStwW3M+PjNdO0c9Ry0oay1HKTtwW3U+PjNdPUc7bT0rcFt2Pj4zXTtFPStwW3c+
PjNdO209bS0oRS1tKTtwW3g+PjNdPW07cFt6Pj4zXT1HLWsrICtwW3k+PjNdO3BbYj4+M109bS1F
KyArcFtBPj4zXTtmW2U+PjJdPWZbYz4+Ml07ZltlKzQ+PjJdPWZbYys0Pj4yXTtmW2UrOD4+Ml09
ZltjKzg+PjJdO2ZbZSsxMj4+Ml09ZltjKzEyPj4yXTtrUChhLEIsNCk7TV8oRik7YnJlYWt9ZWxz
ZSB4YSgxMTM3NjQsMTEzNzc1LDczNywxMTM3ODQpfWlmKChkfDApPDExNzQ0MDUxMil7c3dpdGNo
KGR8MCl7Y2FzZSAxMDA2NjMyOTY6YnJlYWs7ZGVmYXVsdDpicmVhayBhfXk9Yys1fDA7Rj1ESCh5
PDw0KXwwO3o9YisxNnwwO0U9K3Bbej4+M107RT0oK3BbYj4+M10tRSkqLjYyNStFO3BbRj4+M109
RTtBPWIrNDB8MDtHPStwW0E+PjNdO2M9YisyNHwwO3Y9Qys0OHwwO3c9Qys1NnwwO3g9Qys3Mnww
O0c9KCtwW2M+PjNdLUcpKi41K0crKCtwW3c+PjNdLStwW3g+PjNdKSoxLjU7cFtGKzg+PjNdPUc7
bT0rcFt6Pj4zXTttPSgrcFtiPj4zXS1tKSouMjUrbTtwW0YrMTY+PjNdPW07cFtGKzI0Pj4zXT1H
O3BbRiszMj4+M109bTtrPStwW0E+PjNdO3BbRis0MD4+M109KCtwW2M+PjNdLWspKi41K2s7bT0o
K3Bbaj4+M10tK3Bbdj4+M10pKi41K207cFtGKzQ4Pj4zXT1tO2s9K3BbQT4+M107cFtGKzU2Pj4z
XT0oK3BbYz4+M10taykqLjUraztwW0YrNjQ+PjNdPW07bT0rcFtBPj4zXTttPSgrcFtjPj4zXS1t
KSouNSttKygrcFt3Pj4zXS0rcFt4Pj4zXSk7cFtGKzcyPj4zXT1tO3BbRis4MD4+M109RTtwW0Yr
ODg+PjNdPW07cFtGKzk2Pj4zXT1FO209bS0oK3Bbdz4+M10tK3BbeD4+M10pKi4yNTtwW0YrMTA0
Pj4zXT1tO3BbRisxMTI+PjNdPStwW2o+PjNdK0UtK3Bbdj4+M107cFtGKzEyMD4+M109KCtwW3c+
PjNdLStwW3g+PjNdKSouNSttO3BbRisxMjg+PjNdPUU7cFtGKzEzNj4+M109KCtwW3c+PjNdLStw
W3g+PjNdKSouMjUrRztoUChhLEYseSxlKTtwW0I+PjNdPStwW3o+PjNdO0c9K3BbQT4+M107cFtC
Kzg+PjNdPSgrcFtjPj4zXS1HKSouNStHO3BbQisxNj4+M109K3BbYj4+M107cFtCKzI0Pj4zXT0o
K3BbYis4Pj4zXS0rcFtiKzU2Pj4zXSkqLjUrRztrUChhLEIsMik7TV8oRik7YnJlYWt9ZWxzZXtz
d2l0Y2goZHwwKXtjYXNlIDExNzQ0MDUxMjpicmVhaztkZWZhdWx0OmJyZWFrIGF9Yz1jKzF8MDtG
PURIKGM8PDQpfDA7cFtGPj4zXT0rcFtpPj4zXTt6PUMrNTZ8MDtBPUMrNzJ8MDtwW0YrOD4+M109
K3BbQysyND4+M10tKCtwW3o+PjNdLStwW0E+PjNdKSouNTtwW0YrMTY+PjNdPStwW0MrNDg+PjNd
O0c9K3Bbej4+M107cFtGKzI0Pj4zXT1HLShHLStwW0E+PjNdKSouNTtwW0YrMzI+PjNdPStwW2Ir
MzI+PjNdO0I9Yis0MHwwO3BbRis0MD4+M109KCtwW3o+PjNdLStwW0E+PjNdKSouNSsgK3BbQj4+
M107cFtGKzQ4Pj4zXT0rcFtpPj4zXTtwW0YrNTY+PjNdPSgrcFt6Pj4zXS0rcFtBPj4zXSkqLjUr
ICtwW0I+PjNdO0c9K3BbYis4Pj4zXTtwW0YrNzI+PjNdPUctKEctK3BbYis1Nj4+M10pKi41O3Bb
Ris2ND4+M109K3BbYj4+M107aFAoYSxGLGMsZSk7TV8oRik7YnJlYWt9fWlmKChkfDApPDE2Nzc3
MjE2MClpZigoZHwwKTwxNTA5OTQ5NDQpe3N3aXRjaChkfDApe2Nhc2UgMTM0MjE3NzI4OmJyZWFr
O2RlZmF1bHQ6YnJlYWsgYX15PWMrNHwwO0Y9REgoeTw8NCl8MDt6PWIrMTZ8MDtrPStwW3o+PjNd
O3g9Qys0OHwwO2s9KCtwW2I+PjNdLWspKi41K2srKCtwW2o+PjNdLStwW3g+PjNdKSouMjU7cFtG
Pj4zXT1rO0E9Yis0MHwwO0c9K3BbQT4+M107Yz1iKzI0fDA7Rz0oK3BbYz4+M10tRykqLjUrRztw
W0YrOD4+M109RztwW0YrMTY+PjNdPWs7dj1DKzU2fDA7dz1DKzcyfDA7bT0oK3Bbdj4+M10tK3Bb
dz4+M10pKi41K0c7cFtGKzI0Pj4zXT1tO2s9KCtwW2o+PjNdLStwW3g+PjNdKSouNStrO3BbRisz
Mj4+M109aztwW0YrNDA+PjNdPW07cFtGKzQ4Pj4zXT1rO2s9KCtwW3Y+PjNdLStwW3c+PjNdKSou
NSttO3BbRis1Nj4+M109aztFPStwW3o+PjNdO0U9KCtwW2I+PjNdLUUpKi41K0UrKCtwW2o+PjNd
LStwW3g+PjNdKSotLjc1O3BbRis2ND4+M109RTtwW0YrNzI+PjNdPWs7cFtGKzgwPj4zXT1FO3Bb
Ris4OD4+M109bTtFPStwW3o+PjNdO0U9KCtwW2I+PjNdLUUpKi41K0UrKCtwW2o+PjNdLStwW3g+
PjNdKSotLjI1O3BbRis5Nj4+M109RTtwW0YrMTA0Pj4zXT1tO3BbRisxMTI+PjNdPUU7cFtGKzEy
MD4+M109RztoUChhLEYseSxlKTtwW0I+PjNdPStwW3o+PjNdO0c9K3BbQT4+M107cFtCKzg+PjNd
PSgrcFtjPj4zXS1HKSouNStHO3BbQisxNj4+M109K3BbYj4+M107cFtCKzI0Pj4zXT0oK3BbYis4
Pj4zXS0rcFtiKzU2Pj4zXSkqLjUrRztrUChhLEIsMik7TV8oRik7YnJlYWt9ZWxzZXtzd2l0Y2go
ZHwwKXtjYXNlIDE1MDk5NDk0NDpicmVhaztkZWZhdWx0OmJyZWFrIGF9eT1jKzJ8MDtGPURIKHk8
PDQpfDA7ej1iKzE2fDA7bT0rcFt6Pj4zXTt4PUMrNDh8MDttPSgrcFtiPj4zXS1tKSouNSttKygr
cFtqPj4zXS0rcFt4Pj4zXSkqLjc1O3BbRj4+M109bTtBPWIrNDB8MDtHPStwW0E+PjNdO2M9Yisy
NHwwO0c9KCtwW2M+PjNdLUcpKi41K0c7cFtGKzg+PjNdPUc7cFtGKzE2Pj4zXT1tO3Y9Qys1Nnww
O3c9Qys3MnwwO209KCtwW3Y+PjNdLStwW3c+PjNdKSouMjUrRztwW0YrMjQ+PjNdPW07RT0rcFt6
Pj4zXTtwW0YrMzI+PjNdPSgrcFtiPj4zXS1FKSouNStFKygrcFtqPj4zXS0rcFt4Pj4zXSkqLjI1
O0U9KCtwW3Y+PjNdLStwW3c+PjNdKSouNSttO3BbRis0MD4+M109RTtrPStwW3o+PjNdO3BbRis0
OD4+M109KCtwW2I+PjNdLWspKi41K2srKCtwW2o+PjNdLStwW3g+PjNdKSotLjI1O3BbRis1Nj4+
M109RTtFPStwW3o+PjNdO0U9KCtwW2I+PjNdLUUpKi41K0UrKCtwW2o+PjNdLStwW3g+PjNdKSot
Ljc1O3BbRis2ND4+M109RTtwW0YrNzI+PjNdPW07cFtGKzgwPj4zXT1FO3BbRis4OD4+M109Rzto
UChhLEYseSxlKTtwW0I+PjNdPStwW3o+PjNdO0c9K3BbQT4+M107cFtCKzg+PjNdPSgrcFtjPj4z
XS1HKSouNStHO3BbQisxNj4+M109K3BbYj4+M107cFtCKzI0Pj4zXT0oK3BbYis4Pj4zXS0rcFti
KzU2Pj4zXSkqLjUrRztrUChhLEIsMik7TV8oRik7YnJlYWt9ZWxzZSBpZigoZHwwKTwxODQ1NDkz
NzYpe3N3aXRjaChkfDApe2Nhc2UgMTY3NzcyMTYwOmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX15PWMr
MXwwO0Y9REgoeTw8NCl8MDt6PWIrMTZ8MDttPStwW3o+PjNdO3Y9Qys0OHwwO209KCtwW2I+PjNd
LW0pKi41K20rKCtwW2o+PjNdLStwW3Y+PjNdKTtwW0Y+PjNdPW07QT1iKzQwfDA7Rz0rcFtBPj4z
XTtjPWIrMjR8MDt3PUMrNTZ8MDt4PUMrNzJ8MDtHPSgrcFtjPj4zXS1HKSouNStHKygrcFt3Pj4z
XS0rcFt4Pj4zXSkqLjI1O3BbRis4Pj4zXT1HO209bS0oK3Bbaj4+M10tK3Bbdj4+M10pO3BbRisx
Nj4+M109bTtwW0YrMjQ+PjNdPStwW3c+PjNdK0ctK3BbeD4+M107cFtGKzMyPj4zXT1tO209KCtw
W3c+PjNdLStwW3g+PjNdKSouNStHO3BbRis0MD4+M109bTtFPStwW3o+PjNdO0U9KCtwW2I+PjNd
LUUpKi4yNStFO3BbRis0OD4+M109RTtwW0YrNTY+PjNdPW07cFtGKzY0Pj4zXT1FO3BbRis3Mj4+
M109RztoUChhLEYseSxlKTtwW0I+PjNdPStwW3o+PjNdO0c9K3BbQT4+M107cFtCKzg+PjNdPSgr
cFtjPj4zXS1HKSouNStHO3BbQisxNj4+M109K3BbYj4+M107cFtCKzI0Pj4zXT0oK3BbYis4Pj4z
XS0rcFtiKzU2Pj4zXSkqLjUrRztrUChhLEIsMik7TV8oRik7YnJlYWt9ZWxzZXtzd2l0Y2goZHww
KXtjYXNlIDE4NDU0OTM3NjpicmVhaztkZWZhdWx0OmJyZWFrIGF9ej1jKzR8MDtGPURIKHo8PDQp
fDA7eT1iKzE2fDA7bT0rcFt5Pj4zXTtFPStwW2I+PjNdLW07dT1DKzQ4fDA7RT1FKi4xMjUrbSso
K3Bbaj4+M10tK3BbdT4+M10rRSkqLjU7cFtGPj4zXT1FO3c9Yis0MHwwO209K3Bbdz4+M107eD1i
KzI0fDA7Yz1DKzU2fDA7dj1DKzcyfDA7bT0oK3BbeD4+M10tbSkqLjUrbSsoK3BbYz4+M10tK3Bb
dj4+M10pKi4yNTtwW0YrOD4+M109bTtHPStwW3k+PjNdO0c9KCtwW2I+PjNdLUcpKi4zNzUrRztw
W0YrMTY+PjNdPUc7cFtGKzI0Pj4zXT1tO3BbRiszMj4+M109RzttPSgrcFtjPj4zXS0rcFt2Pj4z
XSkqLjUrbTtwW0YrNDA+PjNdPW07Rz1HLSgrcFtqPj4zXS0rcFt1Pj4zXSkqLjU7cFtGKzQ4Pj4z
XT1HO3BbRis1Nj4+M109bTtBPUYrNjR8MDtwW0E+PjNdPUc7Rz0rcFt3Pj4zXTtHPSgrcFt4Pj4z
XS1HKSouNStHKygrcFtjPj4zXS0rcFt2Pj4zXSkqLS4yNTtwW0YrNzI+PjNdPUc7bT1FLSgrcFtq
Pj4zXS0rcFt1Pj4zXSkqLjU7cFtGKzgwPj4zXT1tO3BbRis4OD4+M109RztwW0YrOTY+PjNdPW07
Rz1HLSgrcFtjPj4zXS0rcFt2Pj4zXSkqLjU7cFtGKzEwND4+M109Rzt2PUYrMTEyfDA7cFt2Pj4z
XT1FO3BbRisxMjA+PjNdPUc7aFAoYSxGLHosZSk7cFtCPj4zXT0rcFt5Pj4zXTtHPStwW3c+PjNd
O3k9Qis4fDA7cFt5Pj4zXT0oK3BbeD4+M10tRykqLjUrRzt6PUIrMTZ8MDtwW3o+PjNdPStwW0E+
PjNdO0E9Yis4fDA7Yz1iKzU2fDA7ZT1CKzI0fDA7cFtlPj4zXT0oK3BbQT4+M10tK3BbYz4+M10p
Ki41K0c7a1AoYSxCLDIpO3BbQj4+M109K3Bbdj4+M107Rz0rcFt3Pj4zXTtwW3k+PjNdPSgrcFt4
Pj4zXS1HKSouNStHO3Bbej4+M109K3BbYj4+M107cFtlPj4zXT0oK3BbQT4+M10tK3BbYz4+M10p
Ki41K0c7a1AoYSxCLDIpO01fKEYpO2JyZWFrfX1pZigoZHwwKTwzMzU1NDQzMil7aWYoKGR8MCk8
OCl7c3dpdGNoKGR8MCl7Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX1oPUVIKChjKjk2fDAp
KzMyfDApfDA7ZD0wO2c9MDt3aGlsZSgxKXtpPWd8MTtqPWgrKGc8PDQpfDA7aWYoKGR8MCk+PShj
fDApKWJyZWFrO2I9ZDw8MjtGPUMrKGI8PDQpfDA7ZltqPj4yXT1mW0Y+PjJdO2Zbais0Pj4yXT1m
W0YrND4+Ml07ZltqKzg+PjJdPWZbRis4Pj4yXTtmW2orMTI+PjJdPWZbRisxMj4+Ml07Rj1oKyhp
PDw0KXwwO0I9QysoKGJ8MSk8PDQpfDA7ZltGPj4yXT1mW0I+PjJdO2ZbRis0Pj4yXT1mW0IrND4+
Ml07ZltGKzg+PjJdPWZbQis4Pj4yXTtmW0YrMTI+PjJdPWZbQisxMj4+Ml07Rj1oKyhnKzI8PDQp
fDA7ZltGPj4yXT1mW0I+PjJdO2ZbRis0Pj4yXT1mW0IrND4+Ml07ZltGKzg+PjJdPWZbQis4Pj4y
XTtmW0YrMTI+PjJdPWZbQisxMj4+Ml07Rj1oKyhnKzM8PDQpfDA7Qj1DKygoYnwyKTw8NCl8MDtm
W0Y+PjJdPWZbQj4+Ml07ZltGKzQ+PjJdPWZbQis0Pj4yXTtmW0YrOD4+Ml09ZltCKzg+PjJdO2Zb
RisxMj4+Ml09ZltCKzEyPj4yXTtGPWgrKGcrNDw8NCl8MDtmW0Y+PjJdPWZbQj4+Ml07ZltGKzQ+
PjJdPWZbQis0Pj4yXTtmW0YrOD4+Ml09ZltCKzg+PjJdO2ZbRisxMj4+Ml09ZltCKzEyPj4yXTtG
PWgrKGcrNTw8NCl8MDtiPUMrKChifDMpPDw0KXwwO2ZbRj4+Ml09ZltiPj4yXTtmW0YrND4+Ml09
ZltiKzQ+PjJdO2ZbRis4Pj4yXT1mW2IrOD4+Ml07ZltGKzEyPj4yXT1mW2IrMTI+PjJdO2Q9ZCsx
fDA7Zz1nKzZ8MH1mW2o+PjJdPWZbaD4+Ml07ZltqKzQ+PjJdPWZbaCs0Pj4yXTtmW2orOD4+Ml09
ZltoKzg+PjJdO2ZbaisxMj4+Ml09ZltoKzEyPj4yXTtjPWgrKGk8PDQpfDA7Rj1oKzE2fDA7Zltj
Pj4yXT1mW0Y+PjJdO2ZbYys0Pj4yXT1mW0YrND4+Ml07ZltjKzg+PjJdPWZbRis4Pj4yXTtmW2Mr
MTI+PjJdPWZbRisxMj4+Ml07alAoYSxGLGksMCwwLGUmMjU1KTtNXyhoKTticmVha31pZigoZHww
KTwxNjc3NzIxNil7c3dpdGNoKGR8MCl7Y2FzZSA4OmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX1oUChh
LGIsYyxlKTtnPUIrMTZ8MDtkPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShjfDApKWJyZWFrIGE7Rj1k
KjN8MDtlPUMrKEYrMjw8NCl8MDtmW0I+PjJdPWZbZT4+Ml07ZltCKzQ+PjJdPWZbZSs0Pj4yXTtm
W0IrOD4+Ml09ZltlKzg+PjJdO2ZbQisxMj4+Ml09ZltlKzEyPj4yXTtGPUMrKEYrNDw8NCl8MDtm
W2c+PjJdPWZbRj4+Ml07ZltnKzQ+PjJdPWZbRis0Pj4yXTtmW2crOD4+Ml09ZltGKzg+PjJdO2Zb
ZysxMj4+Ml09ZltGKzEyPj4yXTtrUChhLEIsMik7ZD1kKzF8MH19c3dpdGNoKGR8MCl7Y2FzZSAx
Njc3NzIxNjpicmVhaztkZWZhdWx0OmJyZWFrIGF9Zz1jKzF8MDtoPURIKGc8PDQpfDA7ZD0xO3do
aWxlKDEpe2lmKChkfDApPj0oY3wwKSlicmVhaztGPWgrKGQ8PDQpfDA7QT1iKyhkPDw0KXwwO2Zb
Rj4+Ml09ZltBPj4yXTtmW0YrND4+Ml09ZltBKzQ+PjJdO2ZbRis4Pj4yXT1mW0ErOD4+Ml07ZltG
KzEyPj4yXT1mW0ErMTI+PjJdO2Q9ZCsxfDB9Yj1jKjN8MDtBPUMrKGIrMTw8NCl8MDtmW2g+PjJd
PWZbQT4+Ml07ZltoKzQ+PjJdPWZbQSs0Pj4yXTtmW2grOD4+Ml09ZltBKzg+PjJdO2ZbaCsxMj4+
Ml09ZltBKzEyPj4yXTtjPWgrKGM8PDQpfDA7Rj1DKyhiKy0xPDw0KXwwO2ZbYz4+Ml09ZltGPj4y
XTtmW2MrND4+Ml09ZltGKzQ+PjJdO2ZbYys4Pj4yXT1mW0YrOD4+Ml07ZltjKzEyPj4yXT1mW0Yr
MTI+PjJdO2hQKGEsaCxnLGUpO01fKGgpO2ZbQj4+Ml09ZltGPj4yXTtmW0IrND4+Ml09ZltGKzQ+
PjJdO2ZbQis4Pj4yXT1mW0YrOD4+Ml07ZltCKzEyPj4yXT1mW0YrMTI+PjJdO0Y9QisxNnwwO2Zb
Rj4+Ml09ZltBPj4yXTtmW0YrND4+Ml09ZltBKzQ+PjJdO2ZbRis4Pj4yXT1mW0ErOD4+Ml07ZltG
KzEyPj4yXT1mW0ErMTI+PjJdO2U9QiszMnwwO3BbZT4+M109K3BbQj4+M10rICtwW0Y+PjNdLStw
W0MrKGI8PDQpPj4zXTtwW0IrNDA+PjNdPStwW0IrOD4+M10rICtwW0IrMjQ+PjNdLStwW0MrKGI8
PDQpKzg+PjNdO2tQKGEsRiwyKTtmW0Y+PjJdPWZbZT4+Ml07ZltGKzQ+PjJdPWZbZSs0Pj4yXTtm
W0YrOD4+Ml09ZltlKzg+PjJdO2ZbRisxMj4+Ml09ZltlKzEyPj4yXTtrUChhLEIsMik7YnJlYWt9
ZWxzZXtpZigoZHwwKTw1MDMzMTY0OCl7c3dpdGNoKGR8MCl7Y2FzZSAzMzU1NDQzMjpicmVhaztk
ZWZhdWx0OmJyZWFrIGF9Zz1jKzJ8MDtoPURIKGc8PDQpfDA7ZltoPj4yXT1mW2I+PjJdO2ZbaCs0
Pj4yXT1mW2IrND4+Ml07ZltoKzg+PjJdPWZbYis4Pj4yXTtmW2grMTI+PjJdPWZbYisxMj4+Ml07
aT1oKzE2fDA7ZltpPj4yXT1mW2o+PjJdO2ZbaSs0Pj4yXT1mW2orND4+Ml07ZltpKzg+PjJdPWZb
ais4Pj4yXTtmW2krMTI+PjJdPWZbaisxMj4+Ml07aT1DKzQ4fDA7Yz1DKzY0fDA7cFtoKzMyPj4z
XT0oK3BbaT4+M10tK3BbYz4+M10pKi4zMzMzMzMzMzMzMzMzMzMzKyArcFtqPj4zXTtGPUMrNTZ8
MDtkPUMrNzJ8MDtwW2grNDA+PjNdPSgrcFtGPj4zXS0rcFtkPj4zXSkqLjMzMzMzMzMzMzMzMzMz
MzMrICtwW0MrNDA+PjNdO0c9K3BbaT4+M107cFtoKzQ4Pj4zXT0oRy0rcFtjPj4zXSkqLjMzMzMz
MzMzMzMzMzMzMzMrRztHPStwW0Y+PjNdO3BbaCs1Nj4+M109KEctK3BbZD4+M10pKi4zMzMzMzMz
MzMzMzMzMzMzK0c7ZD00O3doaWxlKDEpe2lmKChkfDApPj0oZ3wwKSlicmVhaztGPWgrKGQ8PDQp
fDA7Yz1iKyhkKy0yPDw0KXwwO2ZbRj4+Ml09ZltjPj4yXTtmW0YrND4+Ml09ZltjKzQ+PjJdO2Zb
Ris4Pj4yXT1mW2MrOD4+Ml07ZltGKzEyPj4yXT1mW2MrMTI+PjJdO2Q9ZCsxfDB9aFAoYSxoLGcs
ZSk7TV8oaCk7ZltCPj4yXT1mW2k+PjJdO2ZbQis0Pj4yXT1mW2krND4+Ml07ZltCKzg+PjJdPWZb
aSs4Pj4yXTtmW0IrMTI+PjJdPWZbaSsxMj4+Ml07Rj1CKzE2fDA7ZltGPj4yXT1mW2o+PjJdO2Zb
Ris0Pj4yXT1mW2orND4+Ml07ZltGKzg+PjJdPWZbais4Pj4yXTtmW0YrMTI+PjJdPWZbaisxMj4+
Ml07a1AoYSxCLDIpO2JyZWFrfWlmKChkfDApPj02NzEwODg2NCl7c3dpdGNoKGR8MCl7Y2FzZSA2
NzEwODg2NDpicmVhaztkZWZhdWx0OmJyZWFrIGF9aWYoKGN8MCk9PTQpe0Y9REgoOTYpfDA7ZltG
Pj4yXT1mW2I+PjJdO2ZbRis0Pj4yXT1mW2IrND4+Ml07ZltGKzg+PjJdPWZbYis4Pj4yXTtmW0Yr
MTI+PjJdPWZbYisxMj4+Ml07Yz1GKzE2fDA7ZltjPj4yXT1mW2o+PjJdO2ZbYys0Pj4yXT1mW2or
ND4+Ml07ZltjKzg+PjJdPWZbais4Pj4yXTtmW2MrMTI+PjJdPWZbaisxMj4+Ml07Yz1GKzMyfDA7
QT1DKzY0fDA7ZltjPj4yXT1mW0E+PjJdO2ZbYys0Pj4yXT1mW0ErND4+Ml07ZltjKzg+PjJdPWZb
QSs4Pj4yXTtmW2MrMTI+PjJdPWZbQSsxMj4+Ml07Yz1GKzQ4fDA7Yj1iKzMyfDA7ZltjPj4yXT1m
W2I+PjJdO2ZbYys0Pj4yXT1mW2IrND4+Ml07ZltjKzg+PjJdPWZbYis4Pj4yXTtmW2MrMTI+PjJd
PWZbYisxMj4+Ml07Yj1GKzY0fDA7Yz1DKzEyOHwwO2ZbYj4+Ml09ZltjPj4yXTtmW2IrND4+Ml09
ZltjKzQ+PjJdO2ZbYis4Pj4yXT1mW2MrOD4+Ml07ZltiKzEyPj4yXT1mW2MrMTI+PjJdO2I9Ris4
MHwwO3o9QysxNjB8MDtmW2I+PjJdPWZbej4+Ml07ZltiKzQ+PjJdPWZbeis0Pj4yXTtmW2IrOD4+
Ml09Zlt6Kzg+PjJdO2ZbYisxMj4+Ml09Zlt6KzEyPj4yXTtoUChhLEYsNixlKTtNXyhGKTtwW0I+
PjNdPStwW0MrMTc2Pj4zXSsgK3BbaT4+M10tK3BbQz4+M107cFtCKzg+PjNdPStwW0MrMTg0Pj4z
XSsgK3BbQysyND4+M10tK3BbQys4Pj4zXTtGPUIrMTZ8MDtmW0Y+PjJdPWZbQT4+Ml07ZltGKzQ+
PjJdPWZbQSs0Pj4yXTtmW0YrOD4+Ml09ZltBKzg+PjJdO2ZbRisxMj4+Ml09ZltBKzEyPj4yXTtr
UChhLEIsMik7ZltGPj4yXT1mW2M+PjJdO2ZbRis0Pj4yXT1mW2MrND4+Ml07ZltGKzg+PjJdPWZb
Yys4Pj4yXTtmW0YrMTI+PjJdPWZbYysxMj4+Ml07a1AoYSxCLDIpO2ZbRj4+Ml09ZltDPj4yXTtm
W0YrND4+Ml09ZltDKzQ+PjJdO2ZbRis4Pj4yXT1mW0MrOD4+Ml07ZltGKzEyPj4yXT1mW0MrMTI+
PjJdO2tQKGEsQiwyKTticmVha31lbHNlIHhhKDExMzc2NCwxMTM3NzUsNzE0LDExMzc4NCl9c3dp
dGNoKGR8MCl7Y2FzZSA1MDMzMTY0ODpicmVhaztkZWZhdWx0OmJyZWFrIGF9Zz1jKzN8MDtoPURI
KGc8PDQpfDA7ZltoPj4yXT1mW2I+PjJdO2ZbaCs0Pj4yXT1mW2IrND4+Ml07ZltoKzg+PjJdPWZb
Yis4Pj4yXTtmW2grMTI+PjJdPWZbYisxMj4+Ml07Rz0rcFtiPj4zXTtwW2grMTY+PjNdPUctKEct
K3BbaT4+M10pKi4yNTtkPUMrNTZ8MDtHPSgrcFtkPj4zXS0rcFtDKzcyPj4zXSkqLjMzMzMzMzMz
MzMzMzMzMzMrICtwW2IrOD4+M107cFtoKzI0Pj4zXT1HO0U9K3BbYj4+M107cFtoKzMyPj4zXT1F
LShFLStwW2k+PjNdKSoyLjA7cFtoKzQwPj4zXT1HO0c9K3BbYj4+M107cFtoKzQ4Pj4zXT1HLShH
LStwW2k+PjNdKSoyLjI1O3BbaCs1Nj4+M109K3BbZD4+M107cFtoKzY0Pj4zXT0rcFtDKzQ4Pj4z
XTtwW2grNzI+PjNdPStwW2Q+PjNdO2Q9NDt3aGlsZSgxKXtpZigoZHwwKT49KGd8MCkpYnJlYWs7
Rj1oKyhkPDw0KXwwO2M9YisoZCstMzw8NCl8MDtmW0Y+PjJdPWZbYz4+Ml07ZltGKzQ+PjJdPWZb
Yys0Pj4yXTtmW0YrOD4+Ml09ZltjKzg+PjJdO2ZbRisxMj4+Ml09ZltjKzEyPj4yXTtkPWQrMXww
fWhQKGEsaCxnLGUpO01fKGgpO2JyZWFrfX1lbHNlIGlmKChkfDApPDMxODc2NzEwNCl7aWYoKGR8
MCk8MjUxNjU4MjQwKXtpZigoZHwwKTwyMTgxMDM4MDgpe3N3aXRjaChkfDApe2Nhc2UgMjAxMzI2
NTkyOmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX1GPWM8PDQ7dT1ESChGKXwwO3Y9YisxNnwwO0c9K3Bb
dj4+M107cFt1Pj4zXT1HO3o9Yis0MHwwO0U9K3Bbej4+M107QT1iKzI0fDA7eT1DKzQ4fDA7dz1D
KzU2fDA7eD1DKzcyfDA7RT0oK3BbQT4+M10tRSkqLjUrRSsoK3Bbdz4+M10tK3BbeD4+M10pKi4x
MjU7cFt1Kzg+PjNdPUU7bT0oK3Bbaj4+M10tK3BbeT4+M10pKjIuMCtHO3BbdSsxNj4+M109bTtw
W3UrMjQ+PjNdPUU7cFt1KzMyPj4zXT1tO0U9KCtwW3c+PjNdLStwW3g+PjNdKSouNStFO3BbdSs0
MD4+M109RTtwW3UrNDg+PjNdPUc7cFt1KzU2Pj4zXT1FO2hQKGEsdSxjLGUpO01fKHUpO0Y9REgo
Ril8MDtFPStwW2o+PjNdLStwW3k+PjNdKyArcFt2Pj4zXTtwW0Y+PjNdPUU7Rz0rcFt6Pj4zXTtH
PSgrcFtBPj4zXS1HKSouNStHKygrcFt3Pj4zXS0rcFt4Pj4zXSkqLS42MjU7cFtGKzg+PjNdPUc7
bT0rcFtqPj4zXS0rcFt5Pj4zXStFO3k9RisxNnwwO3BbeT4+M109bTtwW0YrMjQ+PjNdPUc7cFtG
KzMyPj4zXT1tO0c9KCtwW3c+PjNdLStwW3g+PjNdKSouNStHO3BbRis0MD4+M109RztwW0YrNDg+
PjNdPUU7cFtGKzU2Pj4zXT1HO2hQKGEsRixjLGUpO3BbQj4+M109K3BbeT4+M107Rz0rcFt6Pj4z
XTtwW0IrOD4+M109KCtwW0E+PjNdLUcpKi41K0c7cFtCKzE2Pj4zXT0rcFtiPj4zXTtwW0IrMjQ+
PjNdPSgrcFtiKzg+PjNdLStwW2IrNTY+PjNdKSouNStHO2tQKGEsQiwyKTtNXyhGKTticmVha31p
ZigoZHwwKTwyMzQ4ODEwMjQpe3N3aXRjaChkfDApe2Nhc2UgMjE4MTAzODA4OmJyZWFrO2RlZmF1
bHQ6YnJlYWsgYX1GPWM8PDQ7dz1ESChGKXwwO0c9K3BbYj4+M107cFt3Pj4zXT1HO3k9Yis0MHww
O0U9K3BbeT4+M107ej1iKzI0fDA7eD1DKzU2fDA7QT1DKzcyfDA7RT0oK3Bbej4+M10tRSkqLjUr
RSsoK3BbeD4+M10tK3BbQT4+M10pKi4xMjU7cFt3Kzg+PjNdPUU7cFt3KzE2Pj4zXT1HO209KCtw
W3g+PjNdLStwW0E+PjNdKSouNStFO3BbdysyND4+M109bTtHPUctKCtwW3g+PjNdLStwW0E+PjNd
KSoyLjA7cFt3KzMyPj4zXT1HO3Bbdys0MD4+M109bTtwW3crNDg+PjNdPUc7cFt3KzU2Pj4zXT1F
O2hQKGEsdyxjLGUpO01fKHcpO0Y9REgoRil8MDtFPStwW2I+PjNdLSgrcFtqPj4zXS0rcFtDKzQ4
Pj4zXSk7cFtGPj4zXT1FO0c9K3BbeT4+M107Rz0oK3Bbej4+M10tRykqLjUrRysoK3BbeD4+M10t
K3BbQT4+M10pKi0uNjI1O3BbRis4Pj4zXT1HO3BbRisxNj4+M109RTttPSgrcFt4Pj4zXS0rcFtB
Pj4zXSkqLjUrRztwW0YrMjQ+PjNdPW07RT1FLSgrcFt4Pj4zXS0rcFtBPj4zXSk7cFtGKzMyPj4z
XT1FO3BbRis0MD4+M109bTtBPUYrNDh8MDtwW0E+PjNdPUU7cFtGKzU2Pj4zXT1HO2hQKGEsRixj
LGUpO3BbQj4+M109K3BbYisxNj4+M107Rz0rcFt5Pj4zXTtwW0IrOD4+M109KCtwW3o+PjNdLUcp
Ki41K0c7cFtCKzE2Pj4zXT0rcFtBPj4zXTtwW0IrMjQ+PjNdPSgrcFtiKzg+PjNdLStwW2IrNTY+
PjNdKSouNStHO2tQKGEsQiwyKTtNXyhGKTticmVha31lbHNle3N3aXRjaChkfDApe2Nhc2UgMjM0
ODgxMDI0OmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX1GPWM8PDQ7eT1ESChGKXwwO3U9YisxNnwwO0U9
K3BbdT4+M107dj1DKzQ4fDA7RT0oK3BbYj4+M10tRSkqLjUrRSsoK3Bbaj4+M10tK3Bbdj4+M10p
Ki0xLjEyNTtwW3k+PjNdPUU7dz1iKzQwfDA7Rz0rcFt3Pj4zXTt4PWIrMjR8MDtBPUMrNTZ8MDt6
PUMrNzJ8MDtHPSgrcFt4Pj4zXS1HKSouNStHKygrcFtBPj4zXS0rcFt6Pj4zXSkqLjEyNTtwW3kr
OD4+M109RzttPStwW2o+PjNdLStwW3Y+PjNdK0U7cFt5KzE2Pj4zXT1tO3BbeSsyND4+M109Rztw
W3krMzI+PjNdPW07Rz0oK3BbQT4+M10tK3Bbej4+M10pKi41K0c7cFt5KzQwPj4zXT1HO3BbeSs0
OD4+M109RTtwW3krNTY+PjNdPUc7aFAoYSx5LGMsZSk7TV8oeSk7eT1ESChGKXwwO0c9K3BbdT4+
M107Rz0oK3BbYj4+M10tRykqLjUrRysoK3Bbaj4+M10tK3Bbdj4+M10pKi0xLjEyNTtwW3k+PjNd
PUc7RT0rcFt3Pj4zXTtFPSgrcFt4Pj4zXS1FKSouNStFKygrcFtBPj4zXS0rcFt6Pj4zXSkqLS42
MjU7cFt5Kzg+PjNdPUU7bT0rcFtqPj4zXS0rcFt2Pj4zXStHO3BbeSsxNj4+M109bTtwW3krMjQ+
PjNdPUU7cFt5KzMyPj4zXT1tO0U9KCtwW0E+PjNdLStwW3o+PjNdKSouNStFO3BbeSs0MD4+M109
RTtwW3krNDg+PjNdPUc7cFt5KzU2Pj4zXT1FO2hQKGEseSxjLGUpO01fKHkpO3k9REgoRil8MDtF
PStwW3U+PjNdO0U9KCtwW2I+PjNdLUUpKi41K0UrKCtwW2o+PjNdLStwW3Y+PjNdKSouMTI1O3Bb
eT4+M109RTtHPStwW3c+PjNdO0c9KCtwW3g+PjNdLUcpKi41K0crKCtwW0E+PjNdLStwW3o+PjNd
KSotLjYyNTtwW3krOD4+M109RzttPStwW2o+PjNdLStwW3Y+PjNdK0U7cFt5KzE2Pj4zXT1tO3Bb
eSsyND4+M109RztwW3krMzI+PjNdPW07Rz0oK3BbQT4+M10tK3Bbej4+M10pKi41K0c7cFt5KzQw
Pj4zXT1HO3BbeSs0OD4+M109RTtwW3krNTY+PjNdPUc7aFAoYSx5LGMsZSk7TV8oeSk7Rj1ESChG
KXwwO0c9K3BbdT4+M107Rz0oK3BbYj4+M10tRykqLjUrRysoK3Bbaj4+M10tK3Bbdj4+M10pKi4x
MjU7cFtGPj4zXT1HO0U9K3Bbdz4+M107RT0oK3BbeD4+M10tRSkqLjUrRSsoK3BbQT4+M10tK3Bb
ej4+M10pKi4xMjU7cFtGKzg+PjNdPUU7bT0rcFtqPj4zXS0rcFt2Pj4zXStHO3k9RisxNnwwO3Bb
eT4+M109bTtwW0YrMjQ+PjNdPUU7cFtGKzMyPj4zXT1tO0U9KCtwW0E+PjNdLStwW3o+PjNdKSou
NStFO3BbRis0MD4+M109RTtwW0YrNDg+PjNdPUc7cFtGKzU2Pj4zXT1FO2hQKGEsRixjLGUpO3Bb
Qj4+M109K3BbeT4+M107RT0rcFt3Pj4zXTt5PUIrOHwwO3BbeT4+M109KCtwW3g+PjNdLUUpKi41
K0U7ej1CKzE2fDA7cFt6Pj4zXT0rcFtiPj4zXTtBPWIrOHwwO2M9Yis1NnwwO2U9QisyNHwwO3Bb
ZT4+M109KCtwW0E+PjNdLStwW2M+PjNdKSouNStFO2tQKGEsQiwyKTtFPStwW3U+PjNdO3BbQj4+
M109KCtwW2I+PjNdLUUpKi41K0UrKCtwW2o+PjNdLStwW3Y+PjNdKSotMS4xMjU7Rz0rcFt3Pj4z
XTtwW3k+PjNdPSgrcFt4Pj4zXS1HKSouNStHO3Bbej4+M109RTtwW2U+PjNdPSgrcFtBPj4zXS0r
cFtjPj4zXSkqLjUrRztrUChhLEIsMik7TV8oRik7YnJlYWt9fWlmKChkfDApPDI4NTIxMjY3Milp
ZigoZHwwKTwyNjg0MzU0NTYpe3N3aXRjaChkfDApe2Nhc2UgMjUxNjU4MjQwOmJyZWFrO2RlZmF1
bHQ6YnJlYWsgYX1GPWM8PDQ7dT1ESChGKXwwO3Y9YisxNnwwO0c9K3Bbdj4+M107eT1DKzQ4fDA7
Rz0oK3BbYj4+M10tRykqLjUrRy0oK3Bbaj4+M10tK3BbeT4+M10pO3BbdT4+M109Rzt3PWIrNDB8
MDtFPStwW3c+PjNdO3g9YisyNHwwO0E9Qys1NnwwO3o9Qys3MnwwO0U9KCtwW3g+PjNdLUUpKi41
K0UrKCtwW0E+PjNdLStwW3o+PjNdKSouMTI1O3BbdSs4Pj4zXT1FO209KCtwW2o+PjNdLStwW3k+
PjNdKSoyLjArRztwW3UrMTY+PjNdPW07cFt1KzI0Pj4zXT1FO3BbdSszMj4+M109bTtFPSgrcFtB
Pj4zXS0rcFt6Pj4zXSkqLjUrRTtwW3UrNDA+PjNdPUU7cFt1KzQ4Pj4zXT1HO3BbdSs1Nj4+M109
RTtoUChhLHUsYyxlKTtNXyh1KTtGPURIKEYpfDA7RT0rcFt2Pj4zXTtFPSgrcFtiPj4zXS1FKSou
NStFLSgrcFtqPj4zXS0rcFt5Pj4zXSk7cFtGPj4zXT1FO0c9K3Bbdz4+M107Rz0oK3BbeD4+M10t
RykqLjUrRysoK3BbQT4+M10tK3Bbej4+M10pKi0uNjI1O3BbRis4Pj4zXT1HO209KCtwW2o+PjNd
LStwW3k+PjNdKSoyLjArRTt5PUYrMTZ8MDtwW3k+PjNdPW07cFtGKzI0Pj4zXT1HO3BbRiszMj4+
M109bTtHPSgrcFtBPj4zXS0rcFt6Pj4zXSkqLjUrRztwW0YrNDA+PjNdPUc7cFtGKzQ4Pj4zXT1F
O3BbRis1Nj4+M109RztoUChhLEYsYyxlKTtwW0I+PjNdPStwW3k+PjNdO0c9K3Bbdz4+M107eT1C
Kzh8MDtwW3k+PjNdPSgrcFt4Pj4zXS1HKSouNStHO3o9QisxNnwwO3Bbej4+M109K3BbYj4+M107
QT1iKzh8MDtjPWIrNTZ8MDtlPUIrMjR8MDtwW2U+PjNdPSgrcFtBPj4zXS0rcFtjPj4zXSkqLjUr
RztrUChhLEIsMik7cFtCPj4zXT0rcFt2Pj4zXTtHPStwW3c+PjNdO3BbeT4+M109KCtwW3g+PjNd
LUcpKi41K0c7cFt6Pj4zXT0rcFtGPj4zXTtwW2U+PjNdPSgrcFtBPj4zXS0rcFtjPj4zXSkqLjUr
RztrUChhLEIsMik7TV8oRik7YnJlYWt9ZWxzZXtzd2l0Y2goZHwwKXtjYXNlIDI2ODQzNTQ1Njpi
cmVhaztkZWZhdWx0OmJyZWFrIGF9Rj1ESChjPDw0KXwwO3BbRj4+M109K3BbYj4+M107dj1DKzQ4
fDA7eD1DKzU2fDA7eT1DKzcyfDA7cFtGKzg+PjNdPStwW0MrMjQ+PjNdLSgrcFt4Pj4zXS0rcFt5
Pj4zXSkqLjU7cFtGKzE2Pj4zXT0rcFt2Pj4zXTtHPStwW3g+PjNdO3BbRisyND4+M109Ry0oRy0r
cFt5Pj4zXSkqLjU7cFtGKzMyPj4zXT0rcFtiKzMyPj4zXTt6PWIrNDB8MDtwW0YrNDA+PjNdPSgr
cFt4Pj4zXS0rcFt5Pj4zXSkqLjUrICtwW3o+PjNdO3BbRis0OD4+M109K3BbYj4+M107cFtGKzU2
Pj4zXT0oK3BbeD4+M10tK3BbeT4+M10pKi41KyArcFt6Pj4zXTtoUChhLEYsYyxlKTt3PWIrMTZ8
MDtHPSgrcFtqPj4zXS0rcFt2Pj4zXSkqLjI1O0U9RysgK3Bbdz4+M107cFtCPj4zXT1FO2s9K3Bb
ej4+M107dT1iKzI0fDA7bT0rcFt4Pj4zXS0rcFt5Pj4zXTtrPSgrcFt1Pj4zXS1rKSouNStrK20q
LjEyNTtBPUIrOHwwO3BbQT4+M109aztjPUIrMTZ8MDtwW2M+PjNdPUUrRztlPUIrMjR8MDtwW2U+
PjNdPWstbSouMjU7a1AoYSxCLDIpO209KCtwW2o+PjNdLStwW3Y+PjNdKSouMjU7az1tKyArcFt3
Pj4zXTtwW0I+PjNdPWs7Rz0rcFt6Pj4zXTtFPStwW3g+PjNdLStwW3k+PjNdO0c9KCtwW3U+PjNd
LUcpKi41K0crRSotLjEyNTtwW0E+PjNdPUc7cFtjPj4zXT1rK207cFtlPj4zXT1HK0UqLjI1O2tQ
KGEsQiwyKTtFPSgrcFtqPj4zXS0rcFt2Pj4zXSkqLjI1O3BbQj4+M109RSsgK3Bbdz4+M107Rz0o
K3BbeD4+M10tK3BbeT4+M10pKi43NSsgK3Bbej4+M107cFtBPj4zXT1HO3BbYz4+M109K3BbYj4+
M10tRTtwW2U+PjNdPUc7a1AoYSxCLDIpO01fKEYpO2JyZWFrfWVsc2UgaWYoKGR8MCk8MzAxOTg5
ODg4KXtzd2l0Y2goZHwwKXtjYXNlIDI4NTIxMjY3MjpicmVhaztkZWZhdWx0OmJyZWFrIGF9eT1E
SChjPDw0KXwwO3Y9YisxNnwwO0g9K3Bbdj4+M107ej1DKzQ4fDA7SD0oK3Bbaj4+M10tK3Bbej4+
M10rKCtwW2I+PjNdLUgpKSouNStIO3BbeT4+M109SDt3PWIrNDB8MDtrPStwW3c+PjNdO3g9Yisy
NHwwO2s9KCtwW2o+PjNdLStwW3o+PjNdKygrcFt4Pj4zXS1rKSkqLjUraztwW3krOD4+M109aztw
W3krMTY+PjNdPUg7SD0rcFt3Pj4zXTttPSgrcFtqPj4zXS0rcFt6Pj4zXSkqLS41O0g9KCtwW3g+
PjNdLUgpKi41K0grbTtwW3krMjQ+PjNdPUg7Rz0rcFt2Pj4zXTtHPW0rRysoK3BbYj4+M10tRykq
LjU7cFt5KzMyPj4zXT1HO3BbeSs0MD4+M109SDtwW3krNDg+PjNdPUc7cFt5KzU2Pj4zXT1rO2hQ
KGEseSxjLGUpO01fKHkpO2s9K3Bbdj4+M107az0oK3BbYj4+M10taykqLjUraztHPSgrcFtqPj4z
XS0rcFt6Pj4zXSkqLjc1O0g9RytrO3BbQj4+M109SDttPStwW3c+PjNdO209KCtwW3g+PjNdLW0p
Ki41K207RT1tK0c7eT1CKzh8MDtwW3k+PjNdPUU7QT1CKzE2fDA7cFtBPj4zXT1IO209bS1HO0Y9
QisyNHwwO3BbRj4+M109bTtHPWstRztwW0IrMzI+PjNdPUc7cFtCKzQwPj4zXT1tO3BbQis0OD4+
M109RztwW0IrNTY+PjNdPUU7Yz1CKzY0fDA7ZltjPj4yXT1mW0I+PjJdO2ZbYys0Pj4yXT1mW0Ir
ND4+Ml07ZltjKzg+PjJdPWZbQis4Pj4yXTtmW2MrMTI+PjJdPWZbQisxMj4+Ml07a1AoYSxCLDUp
O0U9K3Bbdj4+M107Rz0rcFtiPj4zXTtwW0I+PjNdPShHLUUpKi41K0UrKCtwW2o+PjNdLStwW3o+
PjNdKSouNzU7RT0rcFt3Pj4zXTtwW3k+PjNdPSgrcFt4Pj4zXS1FKSouNStFO3BbQT4+M109Rztj
PWIrOHwwO2U9Yis1NnwwO3BbRj4+M109KCtwW2M+PjNdLStwW2U+PjNdKSouNStFO2tQKGEsQiwy
KTtFPStwW3Y+PjNdO3BbQj4+M109RTtHPStwW3c+PjNdO3BbeT4+M109KCtwW3g+PjNdLUcpKi41
K0c7cFtBPj4zXT0oK3BbYj4+M10tRSkqLjUrRSsoK3Bbaj4+M10tK3Bbej4+M10pKi0uNzU7cFtG
Pj4zXT0oK3BbYz4+M10tK3BbZT4+M10pKi41K0c7a1AoYSxCLDIpO2JyZWFrfWVsc2V7c3dpdGNo
KGR8MCl7Y2FzZSAzMDE5ODk4ODg6YnJlYWs7ZGVmYXVsdDpicmVhayBhfUE9YysxMnwwO0Y9REgo
QTw8NCl8MDt4PWIrMTZ8MDtMPStwW3g+PjNdO3U9Qys0OHwwO0w9KCtwW2I+PjNdLUwpKi41K0wr
KCtwW2o+PjNdLStwW3U+PjNdKSouMjU7cFtGPj4zXT1MO3k9Yis0MHwwO0c9K3BbeT4+M107ej1i
KzI0fDA7dj1DKzU2fDA7dz1DKzcyfDA7Rz0oK3Bbdj4+M10tK3Bbdz4+M10rKCtwW3o+PjNdLUcp
KSouNStHO3BbRis4Pj4zXT1HO3BbRisxNj4+M109TDtIPSgrcFt2Pj4zXS0rcFt3Pj4zXSkqLjEy
NStHO3BbRisyND4+M109SDtFPUwtKCtwW2o+PjNdLStwW3U+PjNdKSouMTI1O3BbRiszMj4+M109
RTtLPSgrcFt2Pj4zXS0rcFt3Pj4zXSkqLjEyNStIO3BbRis0MD4+M109SztwW0YrNDg+PjNdPUw7
az0oK3Bbdj4+M10tK3Bbdz4+M10pKi4xMjUrSztwW0YrNTY+PjNdPWs7cFtGKzY0Pj4zXT1MO0w9
KCtwW3Y+PjNdLStwW3c+PjNdKSouMTI1K2s7cFtGKzcyPj4zXT1MO3BbRis4MD4+M109RTtwW0Yr
ODg+PjNdPUw7bT0rcFt4Pj4zXTttPSgrcFtiPj4zXS1tKSouNSttO3BbRis5Nj4+M109bTtwW0Yr
MTA0Pj4zXT1rO0k9bS0oK3Bbaj4+M10tK3BbdT4+M10pKi4xMjU7cFtGKzExMj4+M109STtwW0Yr
MTIwPj4zXT1MO0k9SS0oK3Bbaj4+M10tK3BbdT4+M10pKi4xMjU7cFtGKzEyOD4+M109STtwW0Yr
MTM2Pj4zXT1MO3BbRisxNDQ+PjNdPUk7cFtGKzE1Mj4+M109aztrPSgrcFtqPj4zXS0rcFt1Pj4z
XSkqLjEyNStJO3BbRisxNjA+PjNdPWs7cFtGKzE2OD4+M109SztwW0YrMTc2Pj4zXT1JO3BbRisx
ODQ+PjNdPUg7cFtGKzE5Mj4+M109STtwW0YrMjAwPj4zXT1HO3BbRisyMDg+PjNdPWs7cFtGKzIx
Nj4+M109Rzt1PUYrMjI0fDA7cFt1Pj4zXT1tO3BbRisyMzI+PjNdPUg7cFtGKzI0MD4+M109RTtw
W0YrMjQ4Pj4zXT1HO2hQKGEsRixBLGUpO0c9K3BbdT4+M107cFtCPj4zXT1HO0U9K3BbeT4+M107
RT0oK3Bbej4+M10tRSkqLjUrRTtBPUIrOHwwO3BbQT4+M109RTtjPUIrMTZ8MDtwW2M+PjNdPUc7
ZT1CKzI0fDA7cFtlPj4zXT0oK3Bbdj4+M10tK3Bbdz4+M10pKi4xMjUrRTtrUChhLEIsMik7RT0r
cFt1Pj4zXTtwW0I+PjNdPUU7Rz0rcFt5Pj4zXTtIPStwW3Y+PjNdLStwW3c+PjNdO0c9KCtwW3o+
PjNdLUcpKi41K0crSCouMjU7cFtBPj4zXT1HO3BbYz4+M109RTtwW2U+PjNdPUcrSCouMTI1O2tQ
KGEsQiwyKTtwW0I+PjNdPStwW3g+PjNdO0g9K3BbeT4+M107cFtBPj4zXT0oK3Bbej4+M10tSCkq
LjUrSDtwW2M+PjNdPStwW2I+PjNdO3BbZT4+M109KCtwW2IrOD4+M10tK3BbYis1Nj4+M10pKi41
K0g7a1AoYSxCLDIpO01fKEYpO2JyZWFrfX1lbHNle2lmKChkfDApPDM2OTA5ODc1Mil7aWYoKGR8
MCk8MzM1NTQ0MzIwKXtzd2l0Y2goZHwwKXtjYXNlIDMxODc2NzEwNDpicmVhaztkZWZhdWx0OmJy
ZWFrIGF9QT1jKzR8MDtGPURIKEE8PDQpfDA7eD1iKzE2fDA7ST0rcFt4Pj4zXTtjPUMrNDh8MDtJ
PSgrcFtiPj4zXS1JKSouNStJKygrcFtqPj4zXS0rcFtjPj4zXSkqLjEyNTtwW0Y+PjNdPUk7eT1i
KzQwfDA7Sz0rcFt5Pj4zXTt6PWIrMjR8MDt2PUMrNTZ8MDt3PUMrNzJ8MDtLPSgrcFt2Pj4zXS0r
cFt3Pj4zXSsoK3Bbej4+M10tSykpKi41K0s7cFtGKzg+PjNdPUs7Rz0oK3Bbaj4+M10tK3BbYz4+
M10pKi4xMjUrSTtwW0YrMTY+PjNdPUc7TD0oK3Bbdj4+M10tK3Bbdz4+M10pKi4xMjUrSztwW0Yr
MjQ+PjNdPUw7cFtGKzMyPj4zXT1HO0c9KCtwW3Y+PjNdLStwW3c+PjNdKSouMjUrTDtwW0YrNDA+
PjNdPUc7cFtGKzQ4Pj4zXT1JO0g9KCtwW3Y+PjNdLStwW3c+PjNdKSouMTI1K0c7cFtGKzU2Pj4z
XT1IO0k9SS0oK3Bbaj4+M10tK3BbYz4+M10pKi4yNTtwW0YrNjQ+PjNdPUk7cFtGKzcyPj4zXT1I
O0g9SS0oK3Bbaj4+M10tK3BbYz4+M10pKi4xMjU7cFtGKzgwPj4zXT1IO3BbRis4OD4+M109Rztw
W0YrOTY+PjNdPUg7cFtGKzEwND4+M109TDtwW0YrMTEyPj4zXT1JO3BbRisxMjA+PjNdPUs7aFAo
YSxGLEEsZSk7Sz0rcFt4Pj4zXTtLPSgrcFtiPj4zXS1LKSouNStLO3BbQj4+M109SztJPStwW3k+
PjNdO0k9KCtwW3o+PjNdLUkpKi41K0k7QT1CKzh8MDtwW0E+PjNdPUk7Yz1CKzE2fDA7cFtjPj4z
XT1LO2U9QisyNHwwO3BbZT4+M109KCtwW3Y+PjNdLStwW3c+PjNdKSouMTI1K0k7a1AoYSxCLDIp
O0k9K3BbeD4+M107ST0oK3BbYj4+M10tSSkqLjUrSTtwW0I+PjNdPUk7Sz0rcFt5Pj4zXTtMPStw
W3Y+PjNdLStwW3c+PjNdO0s9KCtwW3o+PjNdLUspKi41K0srTCouMjU7cFtBPj4zXT1LO3BbYz4+
M109STtwW2U+PjNdPUsrTCouMTI1O2tQKGEsQiwyKTtwW0I+PjNdPStwW3g+PjNdO0w9K3BbeT4+
M107cFtBPj4zXT0oK3Bbej4+M10tTCkqLjUrTDtwW2M+PjNdPStwW2I+PjNdO3BbZT4+M109KCtw
W2IrOD4+M10tK3BbYis1Nj4+M10pKi41K0w7a1AoYSxCLDIpO01fKEYpO2JyZWFrfWlmKChkfDAp
PDM1MjMyMTUzNil7c3dpdGNoKGR8MCl7Y2FzZSAzMzU1NDQzMjA6YnJlYWs7ZGVmYXVsdDpicmVh
ayBhfXg9YysxMnwwO0Y9REgoeDw8NCl8MDt5PWIrMTZ8MDtrPStwW3k+PjNdO2M9Qys0OHwwO2s9
KCtwW2I+PjNdLWspKi41K2srKCtwW2o+PjNdLStwW2M+PjNdKSouMjU7cFtGPj4zXT1rO3o9Yis0
MHwwO0w9K3Bbej4+M107QT1iKzI0fDA7dj1DKzU2fDA7dz1DKzcyfDA7TD0oK3Bbdj4+M10tK3Bb
dz4+M10rKCtwW0E+PjNdLUwpKSouNStMO3BbRis4Pj4zXT1MO3BbRisxNj4+M109aztJPSgrcFt2
Pj4zXS0rcFt3Pj4zXSkqLjEyNStMO3BbRisyND4+M109STtLPWstKCtwW2o+PjNdLStwW2M+PjNd
KSouMTI1O3BbRiszMj4+M109SzttPSgrcFt2Pj4zXS0rcFt3Pj4zXSkqLjEyNStJO3BbRis0MD4+
M109bTtwW0YrNDg+PjNdPWs7Rz0oK3Bbdj4+M10tK3Bbdz4+M10pKi4xMjUrbTtwW0YrNTY+PjNd
PUc7cFtGKzY0Pj4zXT1rO2s9KCtwW3Y+PjNdLStwW3c+PjNdKSouMTI1K0c7cFtGKzcyPj4zXT1r
O3BbRis4MD4+M109SztwW0YrODg+PjNdPWs7SD0rcFt5Pj4zXTtIPSgrcFtiPj4zXS1IKSouNStI
O3BbRis5Nj4+M109SDtwW0YrMTA0Pj4zXT1HO0U9SC0oK3Bbaj4+M10tK3BbYz4+M10pKi4xMjU7
cFtGKzExMj4+M109RTtwW0YrMTIwPj4zXT1rO0U9RS0oK3Bbaj4+M10tK3BbYz4+M10pKi4xMjU7
cFtGKzEyOD4+M109RTtwW0YrMTM2Pj4zXT1rO3BbRisxNDQ+PjNdPUU7cFtGKzE1Mj4+M109RztH
PSgrcFtqPj4zXS0rcFtjPj4zXSkqLjEyNStFO3BbRisxNjA+PjNdPUc7cFtGKzE2OD4+M109bTtw
W0YrMTc2Pj4zXT1FO3BbRisxODQ+PjNdPUk7cFtGKzE5Mj4+M109RTtwW0YrMjAwPj4zXT1MO3Bb
RisyMDg+PjNdPUc7cFtGKzIxNj4+M109TDtjPUYrMjI0fDA7cFtjPj4zXT1IO3BbRisyMzI+PjNd
PUk7cFtGKzI0MD4+M109SztwW0YrMjQ4Pj4zXT1MO2hQKGEsRix4LGUpO2ZbQj4+Ml09ZltjPj4y
XTtmW0IrND4+Ml09ZltjKzQ+PjJdO2ZbQis4Pj4yXT1mW2MrOD4+Ml07ZltCKzEyPj4yXT1mW2Mr
MTI+PjJdO2M9QisxNnwwO3BbYz4+M109K3BbQj4+M107TD0rcFt6Pj4zXTtlPUIrMjR8MDtwW2U+
PjNdPSgrcFtBPj4zXS1MKSouNStMO2tQKGEsQiwyKTtwW0I+PjNdPStwW3k+PjNdO0w9K3Bbej4+
M107cFtCKzg+PjNdPSgrcFtBPj4zXS1MKSouNStMO3BbYz4+M109K3BbYj4+M107cFtlPj4zXT0o
K3BbYis4Pj4zXS0rcFtiKzU2Pj4zXSkqLjUrTDtrUChhLEIsMik7TV8oRik7YnJlYWt9ZWxzZXtz
d2l0Y2goZHwwKXtjYXNlIDM1MjMyMTUzNjpicmVhaztkZWZhdWx0OmJyZWFrIGF9QT1jKzR8MDtG
PURIKEE8PDQpfDA7eD1iKzE2fDA7Sz0rcFt4Pj4zXTt3PUMrNDh8MDtLPSgrcFtiPj4zXS1LKSou
NStLKygrcFtqPj4zXS0rcFt3Pj4zXSkqLjEyNTtwW0Y+PjNdPUs7eT1iKzQwfDA7TD0rcFt5Pj4z
XTt6PWIrMjR8MDt1PUMrNTZ8MDt2PUMrNzJ8MDtMPSgrcFt1Pj4zXS0rcFt2Pj4zXSsoK3Bbej4+
M10tTCkpKi41K0w7Yz1GKzh8MDtwW2M+PjNdPUw7Rz0oK3Bbaj4+M10tK3Bbdz4+M10pKi4xMjUr
SztwW0YrMTY+PjNdPUc7ST0oK3BbdT4+M10tK3Bbdj4+M10pKi4xMjUrTDtwW0YrMjQ+PjNdPUk7
cFtGKzMyPj4zXT1HO0c9KCtwW3U+PjNdLStwW3Y+PjNdKSouMjUrSTtwW0YrNDA+PjNdPUc7cFtG
KzQ4Pj4zXT1LO0g9KCtwW3U+PjNdLStwW3Y+PjNdKSouMTI1K0c7cFtGKzU2Pj4zXT1IO0s9Sy0o
K3Bbaj4+M10tK3Bbdz4+M10pKi4yNTtwW0YrNjQ+PjNdPUs7cFtGKzcyPj4zXT1IO0g9Sy0oK3Bb
aj4+M10tK3Bbdz4+M10pKi4xMjU7cFtGKzgwPj4zXT1IO3BbRis4OD4+M109RztwW0YrOTY+PjNd
PUg7cFtGKzEwND4+M109STtwW0YrMTEyPj4zXT1LO3BbRisxMjA+PjNdPUw7aFAoYSxGLEEsZSk7
TD0rcFt4Pj4zXTtMPSgrcFtiPj4zXS1MKSouNStMO3BbQj4+M109TDtBPUIrOHwwO3BbQT4+M109
K3BbYz4+M107Yz1CKzE2fDA7cFtjPj4zXT1MO0w9K3BbeT4+M107ZT1CKzI0fDA7cFtlPj4zXT0o
K3Bbej4+M10tTCkqLjUrTDtrUChhLEIsMik7cFtCPj4zXT0rcFt4Pj4zXTtMPStwW3k+PjNdO3Bb
QT4+M109KCtwW3o+PjNdLUwpKi41K0w7cFtjPj4zXT0rcFtiPj4zXTtwW2U+PjNdPSgrcFtiKzg+
PjNdLStwW2IrNTY+PjNdKSouNStMO2tQKGEsQiwyKTtNXyhGKTticmVha319aWYoKGR8MCk8NDAy
NjUzMTg0KWlmKChkfDApPDM4NTg3NTk2OCl7c3dpdGNoKGR8MCl7Y2FzZSAzNjkwOTg3NTI6YnJl
YWs7ZGVmYXVsdDpicmVhayBhfWM9Yys1fDA7Rj1ESChjPDw0KXwwO0I9Qys0OHwwO3BbRj4+M109
K3BbaT4+M10tKCtwW2o+PjNdLStwW0I+PjNdKSouNTt5PUMrNTZ8MDtBPUMrNzJ8MDtwW0YrOD4+
M109K3BbQysyND4+M10tKCtwW3k+PjNdLStwW0E+PjNdKSouNTtwW0YrMTY+PjNdPStwW0I+PjNd
O0w9K3BbeT4+M107cFtGKzI0Pj4zXT1MLShMLStwW0E+PjNdKSouNTtwW0YrMzI+PjNdPStwW2Ir
MzI+PjNdO3o9Yis0MHwwO3BbRis0MD4+M109K3Bbej4+M107TD0rcFtqPj4zXTtwW0YrNDg+PjNd
PShMLStwW0I+PjNdKSouNStMO3BbRis1Nj4+M109K3Bbej4+M107TD0rcFtqPj4zXTtwW0YrNjQ+
PjNdPShMLStwW0I+PjNdKSouNStMO3BbRis3Mj4+M109KCtwW3k+PjNdLStwW0E+PjNdKSouNSsg
K3Bbej4+M107cFtGKzgwPj4zXT0rcFtpPj4zXS0oK3Bbaj4+M10tK3BbQj4+M10pKi41O3BbRis4
OD4+M109KCtwW3k+PjNdLStwW0E+PjNdKSouNSsgK3Bbej4+M107cFtGKzk2Pj4zXT0rcFtpPj4z
XS0oK3Bbaj4+M10tK3BbQj4+M10pKi41O3o9Yis1NnwwO3BbRisxMDQ+PjNdPStwW3o+PjNdO0E9
Yis4fDA7TD0rcFtBPj4zXTtwW0YrMTIwPj4zXT1MLShMLStwW3o+PjNdKSouNTtwW0YrMTEyPj4z
XT0rcFtiPj4zXTtwW0YrMTM2Pj4zXT0rcFtBPj4zXTtwW0YrMTI4Pj4zXT0rcFtpPj4zXS0oK3Bb
aj4+M10tK3BbQj4+M10pKi41O2hQKGEsRixjLGUpO01fKEYpO2JyZWFrfWVsc2V7c3dpdGNoKGR8
MCl7Y2FzZSAzODU4NzU5Njg6YnJlYWs7ZGVmYXVsdDpicmVhayBhfWM9YyszfDA7Rj1ESChjPDw0
KXwwO0I9Qys0OHwwO3BbRj4+M109K3BbaT4+M10tKCtwW2o+PjNdLStwW0I+PjNdKSouNTt5PUMr
NTZ8MDtBPUMrNzJ8MDtwW0YrOD4+M109K3BbQysyND4+M10tKCtwW3k+PjNdLStwW0E+PjNdKSou
NTtwW0YrMTY+PjNdPStwW0I+PjNdO0w9K3BbeT4+M107cFtGKzI0Pj4zXT1MLShMLStwW0E+PjNd
KSouNTtwW0YrMzI+PjNdPStwW2IrMzI+PjNdO3o9Yis0MHwwO3BbRis0MD4+M109KCtwW3k+PjNd
LStwW0E+PjNdKSouNSsgK3Bbej4+M107cFtGKzQ4Pj4zXT0rcFtpPj4zXS0oK3Bbaj4+M10tK3Bb
Qj4+M10pKi41O3BbRis1Nj4+M109KCtwW3k+PjNdLStwW0E+PjNdKSouNSsgK3Bbej4+M107cFtG
KzY0Pj4zXT0rcFtpPj4zXS0oK3Bbaj4+M10tK3BbQj4+M10pKi41O3o9Yis1NnwwO3BbRis3Mj4+
M109K3Bbej4+M107QT1iKzh8MDtMPStwW0E+PjNdO3BbRis4OD4+M109TC0oTC0rcFt6Pj4zXSkq
LjU7cFtGKzgwPj4zXT0rcFtiPj4zXTtwW0YrMTA0Pj4zXT0rcFtBPj4zXTtwW0YrOTY+PjNdPStw
W2k+PjNdLSgrcFtqPj4zXS0rcFtCPj4zXSkqLjU7aFAoYSxGLGMsZSk7TV8oRik7YnJlYWt9ZWxz
ZSBpZigoZHwwKTw0MTk0MzA0MDApe3N3aXRjaChkfDApe2Nhc2UgNDAyNjUzMTg0OmJyZWFrO2Rl
ZmF1bHQ6YnJlYWsgYX1jPWMrM3wwO0Y9REgoYzw8NCl8MDtwW0Y+PjNdPStwW2I+PjNdO3k9Yis4
fDA7ej1DKzQ4fDA7QT1DKzU2fDA7Qj1DKzcyfDA7cFtGKzg+PjNdPStwW3k+PjNdLSgrcFtBPj4z
XS0rcFtCPj4zXSkqLjU7TD0rcFtqPj4zXTtwW0YrMTY+PjNdPShMLStwW3o+PjNdKSouNStMO3Bb
RisyND4+M109K3BbeT4+M10tKCtwW0E+PjNdLStwW0I+PjNdKSouNTtMPStwW2o+PjNdO3BbRisz
Mj4+M109KEwtK3Bbej4+M10pKi41K0w7cFtGKzQwPj4zXT0rcFtDKzQwPj4zXTtwW0YrNDg+PjNd
PStwW2IrMTY+PjNdO0w9K3BbYisyND4+M107eT1iKzQwfDA7cFtGKzU2Pj4zXT1MLShMLStwW3k+
PjNdKSouNTtMPStwW2o+PjNdO3BbRis2ND4+M109KEwtK3Bbej4+M10pKi41K0w7cFtGKzcyPj4z
XT0rcFt5Pj4zXTtwW0YrODg+PjNdPSgrcFtBPj4zXS0rcFtCPj4zXSkqLjUrICtwW3k+PjNdO0w9
K3Bbaj4+M107cFtGKzgwPj4zXT0oTC0rcFt6Pj4zXSkqLjUrTDtwW0YrMTA0Pj4zXT0oK3BbQT4+
M10tK3BbQj4+M10pKi41KyArcFtiKzU2Pj4zXTtwW0YrOTY+PjNdPStwW2I+PjNdO2hQKGEsRixj
LGUpO01fKEYpO2JyZWFrfWVsc2V7c3dpdGNoKGR8MCl7Y2FzZSA0MTk0MzA0MDA6YnJlYWs7ZGVm
YXVsdDpicmVhayBhfWM9Yys1fDA7Rj1ESChjPDw0KXwwO3BbRj4+M109K3BbYj4+M107Qj1iKzh8
MDtBPUMrNDh8MDt5PUMrNTZ8MDt6PUMrNzJ8MDtwW0YrOD4+M109K3BbQj4+M10tKCtwW3k+PjNd
LStwW3o+PjNdKSouNTtMPStwW2o+PjNdO3BbRisxNj4+M109KEwtK3BbQT4+M10pKi41K0w7cFtG
KzI0Pj4zXT0rcFtCPj4zXS0oK3BbeT4+M10tK3Bbej4+M10pKi41O0w9K3Bbaj4+M107cFtGKzMy
Pj4zXT0oTC0rcFtBPj4zXSkqLjUrTDtwW0YrNDA+PjNdPStwW0MrNDA+PjNdO3BbRis0OD4+M109
K3BbYisxNj4+M107TD0rcFtiKzI0Pj4zXTtCPWIrNDB8MDtwW0YrNTY+PjNdPUwtKEwtK3BbQj4+
M10pKi41O0w9K3Bbaj4+M107cFtGKzY0Pj4zXT0oTC0rcFtBPj4zXSkqLjUrTDtwW0YrNzI+PjNd
PStwW0I+PjNdO3BbRis4OD4+M109KCtwW3k+PjNdLStwW3o+PjNdKSouNSsgK3BbQj4+M107TD0r
cFtqPj4zXTtwW0YrODA+PjNdPShMLStwW0E+PjNdKSouNStMO0I9Yis1NnwwO3BbRisxMDQ+PjNd
PSgrcFt5Pj4zXS0rcFt6Pj4zXSkqLjUrICtwW0I+PjNdO3BbRis5Nj4+M109K3BbaT4+M10tKCtw
W2o+PjNdLStwW0E+PjNdKSouNTtwW0YrMTEyPj4zXT0rcFtpPj4zXS0oK3Bbaj4+M10tK3BbQT4+
M10pKi41O3BbRisxMjA+PjNdPStwW0I+PjNdO3BbRisxMjg+PjNdPStwW2IrNDg+PjNdO3BbRisx
MzY+PjNdPStwW0I+PjNdO2hQKGEsRixjLGUpO01fKEYpO2JyZWFrfX13aGlsZSgwKTtNXyhDKX10
PUQ7cmV0dXJufWZ1bmN0aW9uIE9KKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3Zh
ciBlPTAsZz0wLGg9MCxpPTAsaj0wLjA7ZT10O3Q9dCsxMTJ8MDtnPWU7aj0rcFtiKzg+PjNdKjIu
MDtmW2c+PjJdPWZbYj4+Ml07ZltnKzQ+PjJdPWZbYis0Pj4yXTtmW2crOD4+Ml09ZltiKzg+PjJd
O2ZbZysxMj4+Ml09ZltiKzEyPj4yXTtwW2crMTY+PjNdPStwW2IrMTY+PjNdO3BbZysyND4+M109
ai0rcFtiKzI0Pj4zXTtwW2crMzI+PjNdPStwW2IrMzI+PjNdO3BbZys0MD4+M109ai0rcFtiKzQw
Pj4zXTtwW2crNDg+PjNdPStwW2IrNDg+PjNdO3BbZys1Nj4+M109ai0rcFtiKzU2Pj4zXTtwW2cr
NjQ+PjNdPStwW2IrNjQ+PjNdO3BbZys3Mj4+M109ai0rcFtiKzcyPj4zXTtwW2crODA+PjNdPStw
W2IrODA+PjNdO3BbZys4OD4+M109ai0rcFtiKzg4Pj4zXTtoPWcrOTZ8MDtpPWIrOTZ8MDtmW2g+
PjJdPWZbaT4+Ml07ZltoKzQ+PjJdPWZbaSs0Pj4yXTtmW2grOD4+Ml09ZltpKzg+PjJdO2ZbaCsx
Mj4+Ml09ZltpKzEyPj4yXTtqUChhLGIsYywwLDAsZCYyNTUpO2pQKGEsZyw3LDAsMCwwKTt0PWU7
cmV0dXJufWZ1bmN0aW9uIFBKKGEsYixjLGQpe2E9YXwwO2I9K2I7Yz1jfDA7ZD1kfDA7dmFyIGU9
MC4wLGY9MC4wO2Y9K3BbYz4+M107ZT0rcFtjKzg+PjNdO2U9KCtwW2QrOD4+M10tZSkqYitlO3Bb
YT4+M109KCtwW2Q+PjNdLWYpKmIrZjtwW2ErOD4+M109ZTtyZXR1cm59ZnVuY3Rpb24gUUooYSl7
YT1hfDA7YT1mWyhmW2ErMTY+PjJdfDApKzg+PjJdfDA7aWYoYSl7YT1mW2ZbYSs0Pj4yXT4+Ml18
MDtpZigoYXwwKSE9ODkpaWYoKGF8MCk9PTkyKWE9MjtlbHNlIHJldHVybiAoKGF8MCk9PTkxPzM6
KGF8MCk9PTk0PzQ6MCl8MDtlbHNlIGE9MX1lbHNlIGE9MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIFJK
KGEpe2E9YXwwO3ZhciBjPTAuMCxkPTAsZT0wLGc9MCxoPTAsaT0wLjAsaj0wLjAsaz0wLjAsbD0w
LjAsbT0wLG49MC4wLG89MC4wLHE9MC4wLHI9MC4wLHM9MC4wLHU9MC4wLHY9MC4wLHc9MC4wLHg9
MCx5PTAuMCx6PTAuMCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEs9MCxOPTAuMCxP
PTAuMCxQPTAsUT0wLFM9MC4wLFQ9MC4wLFU9MC4wLFc9MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFh
PTAuMDskPXQ7dD10KzEyOHwwO0Y9JCs5NnwwO0g9JCs4OHwwO0M9JCs4MHwwO0Q9JCs3MnwwO2g9
JCs2NHwwO1g9JCs0OHwwO1A9JCs0MHwwO1E9JCszMnwwO209JCsyNHwwO3g9JCsxNnwwO0I9JCsx
MjB8MDtBPSQrMTEyfDA7Rz0kO189REgoNDgpfDA7Wj1hKzE2fDA7Vz1mWyhmWyhmW1o+PjJdfDAp
Kzg+PjJdfDApKzg+PjJdfDA7Zz0oV3wwKT09Njc0NzI7WT1mW1c+PjJdfDA7ZD1mW1crND4+Ml18
MDtlPWZbVys4Pj4yXXwwO2o9K3BbVysxNj4+M107az0rcFtXKzMyPj4zXTtsPStwW1crMjQ+PjNd
O1k9WXwoWkwoR3goYSwxMTM4MzcpfDApfDApJjI1NTtkbyBpZighZyl7aWYoIVkpe1c9ZltaPj4y
XXwwO2k9K3BbVyszMj4+M10qNzIuMDtvPStwW1crNDA+PjNdKjcyLjA7bz0rKH5+KG8rKG8+PTAu
MD8uNTotLjUpKXwwKTtpPSsofn4oaSsoaT49MC4wPy41Oi0uNSkpfDApO2JyZWFrfWM9KyRKKGEp
O2lmKGM+MC4wKXtvPWM7aT1jfWVsc2V7Vz1mW1o+PjJdfDA7bz0rcFtXKzMyPj4zXTtpPStwW1cr
NDA+PjNdO2k9KG88aT9vOmkpKjcyLjA7aT0rKH5+KGkrKGk+PTAuMD8uNTotLjUpKXwwKTtvPWl9
fWVsc2V7bz0wLjA7aT0wLjB9d2hpbGUoMCk7Vz1UTChhLGZbNDgzNTJdfDAsZCwwKXwwO1U9K1VM
KGEsZls0ODM1NF18MCwwLjAsLTM2MC4wKStqO2lmKCFlKXtUPStVTChhLGZbNDgzNTVdfDAsMC4w
LC0xMDAuMCk7RT1UTChhLGZbNDgzNTFdfDAsNCwwKXwwO1M9K1VMKGEsZls0ODM1Nl18MCwwLjAs
LTEwMC4wKX1lbHNle0U9ZTtUPWs7Uz1sfWU9ZlsoZltaPj4yXXwwKSsxMDQ+PjJdfDA7az0rcFtl
KzI0Pj4zXTtjPStwW2UrMzI+PjNdO2lmKGs+MC4wKXtpZighZylLPTExfWVsc2UgaWYoIShnfCEo
Yz4wLjApKSlLPTExO2RvIGlmKChLfDApPT0xMSl7ZD1HeChhLDExMzgyMil8MDtpZighZCl7az1r
KzE2LjA7Yz1jKzguMDticmVha31wW3g+PjNdPTAuMDtwW20+PjNdPTAuMDtmW2g+PjJdPW07Zlto
KzQ+PjJdPXg7ZD1NMShkLDExMzgyOSxoKXwwO2o9K3BbbT4+M107aWYoajwwLjApe3BbbT4+M109
MC4wO2o9MC4wfWw9K3BbeD4+M107aWYobDwwLjApe3BbeD4+M109MC4wO2w9MC4wfWlmKChkfDAp
PD0wKXtrPWsrMTYuMDtjPWMrOC4wO2JyZWFrfW49aio3Mi4wO249Kyh+fihuKyhuPj0wLjA/LjU6
LS41KSk8PDF8MCk7aj1rK247aWYoKGR8MCk9PTEpe2s9ajtjPWMrbjticmVha31lbHNle089bCo3
Mi4wO2s9ajtjPWMrICsofn4oTysoTz49MC4wPy41Oi0uNSkpPDwxfDApO2JyZWFrfX13aGlsZSgw
KTtuPWstK3BbKGZbKGZbWj4+Ml18MCkrMTA0Pj4yXXwwKSsyND4+M107eD0obnooYSl8MCkrMTZ8
MDtPPStwW2ZbKGZbeD4+Ml18MCkrOD4+Ml0+PjNdO2o9Tyo3Mi4wO2o9Kyh+fihqKyhqPj0wLjA/
LjU6LS41KSl8MCk7aWYoTz4wLjApe089K2FLKGssaik7Tj0rYUsoYyxqKX1lbHNle089aztOPWN9
ZD1mWyhmW1o+PjJdfDApKzg+PjJdfDA7ZG8gaWYoIShiW2QrMTI+PjBdfDApKXtlPUd4KGEsMTE3
MzUxKXwwO2lmKChlfDApIT0wPyhiW2U+PjBdfDApIT0wOjApe0xDKEEsbnooYSl8MCxlKTtkPWZb
QT4+Ml18MDtnPWZbQSs0Pj4yXXwwO2lmKChnJmR8MCk9PS0xKXtkPUF5KGEpfDA7ZltDPj4yXT1l
O2ZbQys0Pj4yXT1kO1l3KDAsMTEzOTEzLEMpfDA7ZT0wO2Q9MDticmVha31lbHNle2U9KG56KGEp
fDApKzE2fDA7YlsoZltlPj4yXXwwKSsxMTQ+PjBdPTE7ZT1kKzJ8MDtkPWcrMnwwO2JyZWFrfX1l
bHNle2U9MDtkPTB9fWVsc2V7ZD1mW2Q+PjJdfDA7aWYoKGJbZD4+MF18MCk9PTk5PyhIJChkLDEx
Mzg0NSl8MCk9PTA6MCl7ZT1HeChhLDExMzg1Mil8MDtMQyhCLG56KGEpfDAsZSk7ZD1mW0I+PjJd
fDA7Zz1mW0IrND4+Ml18MDtpZigoZyZkfDApPT0tMSl7ZD1BeShhKXwwO2ZbRD4+Ml09KGV8MCk9
PTA/MTEzODYyOmU7ZltEKzQ+PjJdPWQ7WXcoMCwxMTM4NjgsRCl8MDtlPTA7ZD0wO2JyZWFrfWVs
c2V7ZT0obnooYSl8MCkrMTZ8MDtiWyhmW2U+PjJdfDApKzExND4+MF09MTtlPWQrMnwwO2Q9Zysy
fDA7YnJlYWt9fWVsc2V7ZT0wO2Q9MH19d2hpbGUoMCk7bD0rKGV8MCk7cFtYPj4zXT1PPmw/Tzps
O2w9KyhkfDApO0E9WCs4fDA7cFtBPj4zXT1OPmw/TjpsO2Q9KEV8MCk8MyYoUyE9MC4wfFQhPTAu
MCk/MTIwOkU7ZT1HeChhLDExMzk1NCl8MDtpZighZSlnPTk5O2Vsc2V7Zz1iW2U+PjBdfDA7Zz1n
PDwyND4+MjQ9PTExNj8xMTY6Zzw8MjQ+PjI0PT05OD85ODo5OX1lPWZbWj4+Ml18MDtiWyhmW2Ur
MTA0Pj4yXXwwKSs4MD4+MF09ZztpZigoZHwwKT09ND8oUz09MC4wPygofn4oVSsoVT49MC4wPy41
Oi0uNSkpfDApJTkwfDB8MCk9PTA6MCkmVD09MC4wOjApbT0xO2Vsc2UgSz0zOTtkbyBpZigoS3ww
KT09Mzkpe2U9ZlsoZlsoZltlKzg+PjJdfDApKzg+PjJdfDApKzQ0Pj4yXXwwO2lmKGV8MCl7bT1m
W2U+PjJdfDA7ZltGPj4yXT1mW1g+PjJdO2ZbRis0Pj4yXT1mW1grND4+Ml07ZltGKzg+PjJdPWZb
WCs4Pj4yXTtmW0YrMTI+PjJdPWZbWCsxMj4+Ml07RGJbbSY2M10oRyxGKTtmW1g+PjJdPWZbRz4+
Ml07ZltYKzQ+PjJdPWZbRys0Pj4yXTtmW1grOD4+Ml09ZltHKzg+PjJdO2ZbWCsxMj4+Ml09ZltH
KzEyPj4yXTttPTA7YnJlYWt9Yz0rcFtBPj4zXTtqPWMqMS40MTQyMTM1NjIzNzMwOTUxO2lmKG8+
aiZnPDwyND4+MjQ9PTk5KXtrPWMvbztrPStKKCsoMS4wLygxLjAtayprKSkpO2s9K3BbWD4+M10q
aztwW1g+PjNdPWt9ZWxzZXtrPStwW1g+PjNdKjEuNDE0MjEzNTYyMzczMDk1MTtwW1g+PjNdPWs7
cFtBPj4zXT1qO2M9an1pZigoZHwwKT4yKXt6PStMKCsoMy4xNDE1OTI2NTM1ODk3OTMvKyhkfDAp
KSk7cFtYPj4zXT1rL3o7cFtBPj4zXT1jL3o7bT0wfWVsc2UgbT0wfXdoaWxlKDApO2o9K3BbQT4+
M107ZT1XTChhLGZbNDgzNTddfDAsMTQ1NTc4KXwwO2lmKChiW2U+PjBdfDApPT0xMTU/KEgkKGUs
MTE2NTU2KXwwKT09MDowKXtwW1g+PjNdPWk7cFtBPj4zXT1vO0g9Xys0MHwwO2ZbSD4+Ml09ZltI
Pj4yXXwyMDQ4O2M9b31lbHNlIEs9NDk7ZG8gaWYoKEt8MCk9PTQ5KXtpZighKChaTChlKXwwKTw8
MjQ+PjI0KSl7Yz0rcFtYPj4zXTtpPWk+Yz9pOmM7cFtYPj4zXT1pO2M9K3BbQT4+M107Yz1vPmM/
bzpjO3BbQT4+M109YzticmVha31LPWZbKGZbWj4+Ml18MCkrMTA0Pj4yXXwwO2lmKCEoIShpPCtw
W0srMjQ+PjNdKT8hKG88K3BbSyszMj4+M10pOjApKXtHPUF5KGEpfDA7Sz1BeShueihhKXwwKXww
O2ZbSD4+Ml09RztmW0grND4+Ml09SztZdygwLDExMzk2MyxIKXwwfXBbWD4+M109aTtwW0E+PjNd
PW87Yz1vfXdoaWxlKDApO2lmKCFZKXt6PWM7eT1pfWVsc2V7eT1pPmM/aTpjO3BbQT4+M109eTtw
W1g+PjNdPXk7ej15fWRvIGlmKCEoKFpMKFdMKGEsZls0ODM0OF18MCwxNDU1NzgpfDApfDApPDwy
ND4+MjQpKXtpZihtKXtjPStwW1g+PjNdO2M9Tz5jP086YzticmVha31jPStwW0E+PjNdO2lmKE48
Yyl7Yz0rcFtYPj4zXSorSigrKDEuMC1OKk4vKGMqYykpKTtjPU8+Yz9POmN9ZWxzZSBjPU99ZWxz
ZSBjPU87d2hpbGUoMCk7ZT1mWyhmW1o+PjJdfDApKzEwND4+Ml18MDtwW2UrNDA+PjNdPWMtbjt4
PV8rNDB8MDtpZighKGZbeD4+Ml0mMjA0OCkpe3c9K3BbQT4+M10tajtwW2UrNDg+PjNdPShOPGw/
bC1OK3c6dykrTn1oPShXfDApPjE7ZT1oP1c6MTthOmRvIGlmKChkfDApPDMpe2U9REgoZTw8NSl8
MDtpPStwW1g+PjNdKi41O2M9K3BbQT4+M10qLjU7cFtlPj4zXT0taTtwW2UrOD4+M109LWM7cFtl
KzE2Pj4zXT1pO3BbZSsyND4+M109YztpZihoKXtkPTE7Zz0yO3doaWxlKDEpe2lmKChkfDApPT0o
V3wwKSlicmVhazt5PWkrNC4wO3o9Yys0LjA7cFtlKyhnPDw0KT4+M109LXk7cFtlKyhnPDw0KSs4
Pj4zXT0tejtRPWd8MTtwW2UrKFE8PDQpPj4zXT15O3BbZSsoUTw8NCkrOD4+M109ejtkPWQrMXww
O2c9ZysyfDA7aT15O2M9en1wW1g+PjNdPWkqMi4wO3BbQT4+M109YyoyLjA7ZD0yfWVsc2UgZD0y
fWVsc2V7ZT1ESChWKGU8PDQsZCl8MCl8MDtnPWZbKGZbKGZbKGZbWj4+Ml18MCkrOD4+Ml18MCkr
OD4+Ml18MCkrNDQ+PjJdfDA7YjpkbyBpZighZyl7bj02LjI4MzE4NTMwNzE3OTU4Ni8rKGR8MCk7
cj1uKi41O289K00oK3IpO3E9K2wzKCtJKCtUKSsgK0koK1MpLDEuMCk7cj1TKjEuNDE0MjEzNTYy
MzczMDk1MS8rTCgrcik7cz1UKi41O3MzKChuKy0zLjE0MTU5MjY1MzU4OTc5MykqLjUsUCxRKTt1
PVUqLjAxNzQ1MzI5MjUxOTk0MzI5NTtpPTAuMDtjPTAuMDtqPTAuMDtnPTA7az0rcFtRPj4zXSou
NTtsPStwW1A+PjNdKi41O3doaWxlKDEpe2lmKChnfDApPj0oZHwwKSlicmVhayBiO2o9aituO3Mz
KGosUCxRKTtrPStwW1E+PjNdKm8raztsPStwW1A+PjNdKm8rbDt3PShsKnIrcSkqaytzKmw7czMo
K1IoK2wsK3cpK3UsUCxRKTt3PStsMyh3LGwpO3Y9K3BbUT4+M10qdyorcFtYPj4zXTt3PStwW1A+
PjNdKncqK3BbQT4+M107YWE9K0koK3YpO2M9YWE+Yz9hYTpjO2FhPStJKCt3KTtpPWFhPmk/YWE6
aTtwW2UrKGc8PDQpPj4zXT12O3BbZSsoZzw8NCkrOD4+M109dztpZihtKWJyZWFrO2Vsc2UgZz1n
KzF8MH1hYT0tdjtwW2UrMTY+PjNdPWFhO3BbZSsyND4+M109dztwW2UrMzI+PjNdPWFhO2FhPS13
O3BbZSs0MD4+M109YWE7cFtlKzQ4Pj4zXT12O3BbZSs1Nj4+M109YWF9ZWxzZXtEYltmW2crND4+
Ml0mNjNdKGUsWCk7aT0rcFtBPj4zXSouNTtjPStwW1g+PjNdKi41fXdoaWxlKDApO2M9YyoyLjA7
aT1pKjIuMDt5PXk+Yz95OmM7cFtYPj4zXT15O2FhPXo+aT96Omk7cFtBPj4zXT1hYTtjPXkvYztp
PWFhL2k7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oZHwwKSlicmVhaztLPWUrKGc8PDQpfDA7YT1l
KyhnPDw0KSs4fDA7YWE9K3BbYT4+M10qaTtwW0s+PjNdPStwW0s+PjNdKmM7cFthPj4zXT1hYTtn
PWcrMXwwfWlmKGgpe2g9ZCstMXwwO2k9K3BbZT4+M107aj0rcFtlKzg+PjNdO2M9K1IoKyhqLStw
W2UrKGg8PDQpKzg+PjNdKSwrKGktK3BbZSsoaDw8NCk+PjNdKSk7aD0wO3doaWxlKDEpe2lmKCho
fDApPj0oZHwwKSlicmVhazttPWgrMXwwO2c9KG18MCklKGR8MCl8MDtrPStwW2UrKGc8PDQpPj4z
XTtsPStwW2UrKGc8PDQpKzg+PjNdO249K1IoKyhsLWopLCsoay1pKSk7ej0oYyszLjE0MTU5MjY1
MzU4OTc5My1uKSouNTthYT00LjAvK00oK3opO3MzKGMteixQLFEpO3BbUD4+M109YWEqK3BbUD4+
M107cFtRPj4zXT0rcFtRPj4zXSphYTtnPTE7Yz1qO3doaWxlKDEpe2lmKChnfDApPT0oV3wwKSli
cmVhazt6PStwW1E+PjNdK2k7YWE9K3BbUD4+M10rYzthPShWKGcsZCl8MCkraHwwO3BbZSsoYTw8
NCk+PjNdPXo7cFtlKyhhPDw0KSs4Pj4zXT1hYTtnPWcrMXwwO2k9ejtjPWFhfWM9bjtoPW07aT1r
O2o9bH1oPVYoZCxXKy0xfDApfDA7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oZHwwKSlicmVhayBh
O1E9ZytofDA7ej0rcFtlKyhRPDw0KSs4Pj4zXTt5PStJKCsoK3BbZSsoUTw8NCk+PjNdKSkqMi4w
O2FhPStwW1g+PjNdO3BbWD4+M109eT5hYT95OmFhO3o9K0koK3opKjIuMDthYT0rcFtBPj4zXTtw
W0E+PjNdPXo+YWE/ejphYTtnPWcrMXwwfX19d2hpbGUoMCk7ZltfPj4yXT1ZO2ZbXys0Pj4yXT1X
O2ZbXys4Pj4yXT1kO3BbXysxNj4+M109VTtwW18rMzI+PjNdPVQ7cFtfKzI0Pj4zXT1TO2ZbXys0
ND4+Ml09ZTtjPStwW1g+PjNdO2lmKCEoZlt4Pj4yXSYyMDQ4KSl7ZD1mW1o+PjJdfDA7cFtkKzMy
Pj4zXT1jKi4wMTM4ODg4ODg4ODg4ODg4ODg7Yz0rcFtBPj4zXX1lbHNle2Q9ZltaPj4yXXwwO3Bb
ZCszMj4+M109KE8+Yz9POmMpKi4wMTM4ODg4ODg4ODg4ODg4ODg7Yz0rcFtBPj4zXTtjPU4+Yz9O
OmN9cFtkKzQwPj4zXT1jKi4wMTM4ODg4ODg4ODg4ODg4ODg7ZltkKzEyPj4yXT1fO3Q9JDtyZXR1
cm59ZnVuY3Rpb24gU0ooYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLjAsZT0wLGc9MCxoPTAuMCxp
PTAsaj0wLGs9MCxsPTAsbT0wLG49MC4wO209dDt0PXQrNjR8MDtpPW0rNDB8MDtlPW0rMzJ8MDtq
PW0rMTZ8MDtsPW07Yz0obnooYSl8MCkrMTZ8MDtjPShmWyhmW2M+PjJdfDApKzExNj4+Ml18MCk+
Pj4yJjFeMTtrPWErMTZ8MDtnPWZbZlsoZltrPj4yXXwwKSsxMDQ+PjJdPj4yXXwwO2ZbNDg0MzVd
PWc7Zz1jMChnKXwwO2c9REgoKChnfDApPjE/ZzoxKSsxfDApfDA7Yj1VSihhLGMsMSxnKXwwO2lm
KCFiKXtmW2U+PjJdPWZbZlsoZltrPj4yXXwwKSsxMDQ+PjJdPj4yXTtZdygxLDExMzc5OCxlKXww
O2ZbNDg0MzVdPTExMzgxOTtiPVVKKGEsYywxLGcpfDB9TV8oZyk7VkooaSxhLGIpO2M9ZltrPj4y
XXwwO2g9K3BbYyszMj4+M10qNzIuMDtoPSsofn4oaCsoaD49MC4wPy41Oi0uNSkpfDApO3BbbD4+
M109aDtkPStwW2MrNDA+PjNdKjcyLjA7ZD0rKH5+KGQrKGQ+PTAuMD8uNTotLjUpKXwwKTtjPWwr
OHwwO3BbYz4+M109ZDtpZighKChaTChXTChhLGZbNDgzNTddfDAsMTQ1NTc4KXwwKXwwKTw8MjQ+
PjI0KSl7bj0rcFtiPj4zXTtoPW4+aD9uOmg7cFtsPj4zXT1oO2c9Yis4fDA7bj0rcFtnPj4zXTtk
PW4+ZD9uOmQ7cFtjPj4zXT1kO2M9Z31lbHNlIGM9Yis4fDA7YT0oWkwoV0woYSxmWzQ4MzQ4XXww
LDE0NTU3OCl8MCl8MCkmMjU1O2ZbaT4+Ml09ZltsPj4yXTtmW2krND4+Ml09ZltsKzQ+PjJdO2Zb
aSs4Pj4yXT1mW2wrOD4+Ml07ZltpKzEyPj4yXT1mW2wrMTI+PjJdO1dKKGIsaSxhKTtYSihqLGgq
LS41LGQqLjUpO2ZbaT4+Ml09ZltqPj4yXTtmW2krND4+Ml09ZltqKzQ+PjJdO2ZbaSs4Pj4yXT1m
W2orOD4+Ml07ZltpKzEyPj4yXT1mW2orMTI+PjJdO1lKKGIsaSwxNSk7bD1mW2s+PjJdfDA7cFts
KzMyPj4zXT0rcFtiPj4zXSouMDEzODg4ODg4ODg4ODg4ODg4O3BbbCs0MD4+M109KCtwW2M+PjNd
KzEuMCkqLjAxMzg4ODg4ODg4ODg4ODg4ODtmW2wrMTI+PjJdPWI7dD1tO3JldHVybn1mdW5jdGlv
biBUSihhKXthPWF8MDt2YXIgYj0wLjAsYz0wLGQ9MC4wLGU9MC4wLGc9MCxoPTAsaT0wLGo9MCxr
PTAuMCxsPTA7aT1ESCg0OCl8MDtqPWErMTZ8MDtjPWZbKGZbKGZbKGZbaj4+Ml18MCkrOD4+Ml18
MCkrOD4+Ml18MCkrND4+Ml18MDtiPStVTChhLGZbNDgzMzhdfDAsMTc5NzY5MzEzNDg2MjMxNTcw
ODE0NTI3NC4wZTI4NCwwLjApO2U9K1VMKGEsZls0ODMzN118MCwxNzk3NjkzMTM0ODYyMzE1NzA4
MTQ1Mjc0LjBlMjg0LDAuMCk7Yj1iPGU/YjplO2lmKGU9PTE3OTc2OTMxMzQ4NjIzMTU3MDgxNDUy
NzQuMGUyODQmYj09MTc5NzY5MzEzNDg2MjMxNTcwODE0NTI3NC4wZTI4NClkPS4wNTtlbHNlIGQ9
Yj4wLjA/KGI+LjAwMDM/YjouMDAwMyk6YjtnPWZbaj4+Ml18MDtwW2crNDA+PjNdPWQ7cFtnKzMy
Pj4zXT1kO2I9ZCo3Mi4wO2c9VEwoYSxmWzQ4MzUyXXwwLGMsMCl8MDtoPURIKChnfDApPDE/MzI6
Zzw8NSl8MDtlPWQqMzYuMDtkPS1lO3BbaD4+M109ZDtwW2grOD4+M109ZDtwW2grMTY+PjNdPWU7
cFtoKzI0Pj4zXT1lO2lmKChnfDApPjEpe2E9MTtjPTI7ZD1lO2I9ZTt3aGlsZSgxKXtpZigoYXww
KT09KGd8MCkpYnJlYWs7az1kKzQuMDtlPWIrNC4wO3BbaCsoYzw8NCk+PjNdPS1rO3BbaCsoYzw8
NCkrOD4+M109LWU7bD1jfDE7cFtoKyhsPDw0KT4+M109aztwW2grKGw8PDQpKzg+PjNdPWU7YT1h
KzF8MDtjPWMrMnwwO2Q9aztiPWV9Yj1kKjIuMH1mW2k+PjJdPTE7ZltpKzQ+PjJdPWc7ZltpKzg+
PjJdPTI7bD1pKzE2fDA7ZltsPj4yXT0wO2ZbbCs0Pj4yXT0wO2ZbbCs4Pj4yXT0wO2ZbbCsxMj4+
Ml09MDtmW2wrMTY+PjJdPTA7ZltsKzIwPj4yXT0wO2ZbaSs0ND4+Ml09aDtrPWIqLjAxMzg4ODg4
ODg4ODg4ODg4ODtsPWZbaj4+Ml18MDtwW2wrMzI+PjNdPWs7cFtsKzQwPj4zXT1rO2ZbbCsxMj4+
Ml09aTtyZXR1cm59ZnVuY3Rpb24gVUooYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7
dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0wLHQ9MCx1
PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MDtnPURIKDcyKXww
O209ZlsoZlthKzE2Pj4yXXwwKSsxMDQ+PjJdfDA7bD0wO2g9MTtpPWZbNDg0MzVdfDA7YTp3aGls
ZSgxKXtqPWJbaT4+MF18MDtzd2l0Y2goajw8MjQ+PjI0KXtjYXNlIDA6YnJlYWsgYTtjYXNlIDky
OntpPWkrMXwwO2o9YltpPj4wXXwwO3N3aXRjaChqPDwyND4+MjQpe2Nhc2UgMTI0OmNhc2UgMTI1
OmNhc2UgMTIzOmNhc2UgOTI6e2s9bDticmVha31kZWZhdWx0OnM9NH1icmVha31kZWZhdWx0OnM9
NH1pZigoc3wwKT09NCl7cz0wO3N3aXRjaChqPDwyND4+MjQpe2Nhc2UgMTIzOntrPWwrMXwwO2Jy
ZWFrfWNhc2UgMTI1OntrPWwrLTF8MDticmVha31kZWZhdWx0OntrPWw7aD1oKygobHwwKT09MCZq
PDwyND4+MjQ9PTEyNCYxKXwwfX1pZigoa3wwKTwwKWJyZWFrfWw9aztpPWkrMXwwfUQ9REgoaDw8
Mil8MDtDPWcrNTZ8MDtmW0M+PjJdPUQ7YltnKzY0Pj4wXT1jO0Q9bSs4MnwwO0E9KGR8MCkhPTA7
Qj1lKzF8MDt4PShjfDApPT0wJjE7eT1tKzE2fDA7ej1tKzR8MDt3PW0rOHwwO2s9MDtsPTA7ZD0w
O2o9MTtjPTA7bT0wO249ZTtoPTA7aT0wO2I6d2hpbGUoMSl7dj0oanwwKT09MDtvPWs7aj1jO2s9
MDtjOndoaWxlKDEpe3U9bztkOndoaWxlKDEpe2U6d2hpbGUoMSl7dD1oO2Y6d2hpbGUoMSl7Yz1q
O2c6d2hpbGUoMSl7d2hpbGUoMSl7aWYodil7cz04NDticmVhayBifXE9Zls0ODQzNV18MDtqPWJb
cT4+MF18MDtpZigoaistMSYyNTUpPj0zMSlicmVhaztmWzQ4NDM1XT1xKzF9c3dpdGNoKGo8PDI0
Pj4yNHwwKXtjYXNlIDkyOntzPTU1O2JyZWFrIGR9Y2FzZSAwOmNhc2UgMTI0OmNhc2UgMTI1OmJy
ZWFrIGU7Y2FzZSA2MDpicmVhayBmO2Nhc2UgNjI6YnJlYWsgZztjYXNlIDEyMzpicmVhaztkZWZh
dWx0OntzPTYwO2JyZWFrIGR9fWg9cSsxfDA7Zls0ODQzNV09aDtpZihjfDApe3M9MzY7YnJlYWsg
Yn1pZighKGJbaD4+MF18MCkpe3M9MzY7YnJlYWsgYn1zPVVKKGEseCwwLGUpfDA7ZlsoZltDPj4y
XXwwKSsobDw8Mik+PjJdPXM7aWYoIXMpe3M9Mzg7YnJlYWsgYn1lbHNle2w9bCsxfDA7Yz00fX1p
ZihiW0Q+PjBdfDApe3M9NjE7YnJlYWsgZH1pZighKGMmMTYpKXtzPTI5O2JyZWFrIGJ9aWYodD4+
PjA+Qj4+PjA/KEU9dCstMXwwLChFfDApIT0obXwwKSk6MCloPShiW0U+PjBdfDApPT0zMj9FOnQ7
ZWxzZSBoPXQ7YltoPj4wXT0wO2s9djIoZSl8MDtmWzQ4NDM1XT0oZls0ODQzNV18MCkrMTtqPWMm
LTE3O3Q9aH1pZihjJjZ8MCl7cz0yNDticmVhayBifWlmKGJbRD4+MF18MCl7cz02MjticmVhayBk
fWZbNDg0MzVdPXErMTtqPWN8MTg7bT1lO2g9ZX1oPWUraXwwO2lmKCEoKGMmMTZ8MCk9PTAmKEF8
ajw8MjQ+PjI0IT0wKSkpe3M9NDA7YnJlYWsgYn1pZighKGMmNCkpe2o9REgoNzIpfDA7ZlsoZltD
Pj4yXXwwKSsobDw8Mik+PjJdPWo7bD1sKzF8MH1lbHNlIGo9dTtpZihrfDApZltqKzYwPj4yXT1r
O2lmKCEoYyY1KSl7dT1pKzF8MDtiW2g+PjBdPTMyO2M9Y3wxO2k9dTtoPWUrdXwwfWlmKGMmMSl7
aWYoKGl8MCk+MT8oRj1oKy0xfDAsKEZ8MCkhPShufDApKTowKWg9KGJbRj4+MF18MCk9PTMyP0Y6
aDtiW2g+PjBdPTA7bj12MihlKXwwO249dEgoYSxuLChiW0Q+PjBdfDApPT0wPzA6MiwrcFt5Pj4z
XSxmW3o+PjJdfDAsZlt3Pj4yXXwwKXwwO2Zbais1Mj4+Ml09bjtiW2orNjQ+PjBdPTE7bj1lO2k9
MH1oPWZbNDg0MzVdfDA7c3dpdGNoKGJbaD4+MF18MCl7Y2FzZSAxMjU6e3M9NTM7YnJlYWsgYn1j
YXNlIDA6YnJlYWsgYztkZWZhdWx0Ont9fWZbNDg0MzVdPWgrMTt1PWo7aj0wO2s9MDtoPXR9aDpk
byBpZigoc3wwKT09NTUpe3M9MDtqPWUraXwwO2g9cSsxfDA7c3dpdGNoKGJbaD4+MF18MCl7Y2Fz
ZSAwOntyPWk7bz1qO2g9cTticmVhayBofWNhc2UgNjI6Y2FzZSA2MDpjYXNlIDEyNDpjYXNlIDEy
NTpjYXNlIDEyMzp7Zls0ODQzNV09aDtyPWk7bz1qO2JyZWFrIGh9Y2FzZSAzMjp7cz01NzticmVh
a31kZWZhdWx0Ont9fWlmKChzfDApPT01Nz8ocz0wLChiW0Q+PjBdfDApPT0wKTowKXtmWzQ4NDM1
XT1oO2Q9MTtyPWk7bz1qO2JyZWFrfW89aSsxfDA7YltqPj4wXT05MjtmWzQ4NDM1XT1oO2M9Y3w5
O3I9bztvPWUrb3wwfWVsc2UgaWYoKHN8MCk9PTYwKXtzPTA7cj1pO289ZStpfDA7aD1xfWVsc2Ug
aWYoKHN8MCk9PTYxKXtzPTA7cj1pO289ZStpfDA7aD1xfWVsc2UgaWYoKHN8MCk9PTYyKXtzPTA7
cj1pO289ZStpfDA7aD1xfXdoaWxlKDApO2lmKGMmNHwwPyhiW2g+PjBdfDApIT0zMjowKXtzPTY1
O2JyZWFrIGJ9aWYoIShjJjI0KSljPShiW2g+PjBdfDApPT0zMj9jOmN8OTtpZighKGMmOCkpaWYo
IShjJjE2KSl7cT10O2k9cn1lbHNle2k9YltoPj4wXXwwO2o9KGR8MCkhPTA7aWYoIShqfGk8PDI0
Pj4yNCE9MzIpKWlmKCh0fDApIT0oZXwwKSlpZigoYlt0Ky0xPj4wXXwwKT09MzIpaT10O2Vsc2Ug
cz03OTtlbHNlIGk9ZTtlbHNlIHM9Nzk7aWYoKHN8MCk9PTc5KXtiW3Q+PjBdPWk7aT10KzF8MDto
PWZbNDg0MzVdfDB9bT1qP2krLTF8MDptO3E9aTtpPXJ9ZWxzZXtpPWJbaD4+MF18MDtqPShkfDAp
IT0wO2lmKCghKGp8aTw8MjQ+PjI0IT0zMik/KGJbbystMT4+MF18MCk9PTMyOjApPyhiW0Q+PjBd
fDApPT0wOjApaT1yO2Vsc2V7YltvPj4wXT1pO2k9cisxfDB9aWYoail7bj1lK2krLTF8MDtxPXR9
ZWxzZSBxPXR9aj1oKzF8MDtmWzQ4NDM1XT1qO3doaWxlKDEpe2g9YltqPj4wXXwwO2lmKGg8PDI0
Pj4yND49MClicmVhazt0PWorMXwwO2ZbNDg0MzVdPXQ7YltlK2k+PjBdPWg7aT1pKzF8MDtqPXR9
bz11O2o9YztoPXF9az1qO2o9MDtoPXR9aWYoKHN8MCk9PTI0KXtaSihnLGspO2c9MH1lbHNlIGlm
KChzfDApPT0yOSl7WkooZyxrKTtnPTB9ZWxzZSBpZigoc3wwKT09MzYpe1pKKGcsayk7Zz0wfWVs
c2UgaWYoKHN8MCk9PTM4KXtaSihnLGspO2c9MH1lbHNlIGlmKChzfDApPT00MCl7WkooZyxrKTtn
PTB9ZWxzZSBpZigoc3wwKT09NTMpe2ZbNDg0MzVdPWgrMTtmW2crNDg+PjJdPWx9ZWxzZSBpZigo
c3wwKT09NjUpe1pKKGcsayk7Zz0wfWVsc2UgaWYoKHN8MCk9PTg0KWZbZys0OD4+Ml09bDtyZXR1
cm4gZ3wwfWZ1bmN0aW9uIFZKKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLjAsZz0w
LjAsaD0wLGk9MC4wLGo9MCxrPTAsbD0wLjAsbT0wLG49MCxvPTAscT0wO3E9dDt0PXQrNDh8MDtq
PXErMzJ8MDtrPXErMjR8MDttPXErMTZ8MDtvPXE7aD1mW2QrNTI+PjJdfDA7YTpkbyBpZihoKXtn
PStwW2grMjQ+PjNdO2U9K3BbaCszMj4+M107aWYoZz4wLjB8ZT4wLjApe2g9R3goYywxMTM4MjIp
fDA7aWYoIWgpe2c9ZysxNi4wO2U9ZSs4LjA7YnJlYWt9ZltqPj4yXT1rO2Zbais0Pj4yXT1tO2g9
TTEoaCwxMTM4Mjksail8MDtpZigoaHwwKTw9MCl7Zz1nKzE2LjA7ZT1lKzguMDticmVha31pPStw
W2s+PjNdKjcyLjA7aT0rKH5+KGkrKGk+PTAuMD8uNTotLjUpKTw8MXwwKTtnPWcraTtpZigoaHww
KT09MSl7ZT1lK2k7YnJlYWt9ZWxzZXtsPStwW20+PjNdKjcyLjA7ZT1lKyArKH5+KGwrKGw+PTAu
MD8uNTotLjUpKTw8MXwwKTticmVha319fWVsc2V7az1kKzQ4fDA7bT1kKzU2fDA7aj1vKzh8MDtu
PWQrNjR8MDtoPTA7Zz0wLjA7ZT0wLjA7d2hpbGUoMSl7aWYoKGh8MCk+PShmW2s+PjJdfDApKWJy
ZWFrIGE7VkoobyxjLGZbKGZbbT4+Ml18MCkrKGg8PDIpPj4yXXwwKTtpPStwW28+PjNdO2w9K3Bb
aj4+M107aWYoIShiW24+PjBdfDApKXtnPWc+aT9nOmk7ZT1sK2V9ZWxzZXtnPWkrZztlPWU+bD9l
Omx9aD1oKzF8MH19d2hpbGUoMCk7cFtkPj4zXT1nO3BbZCs4Pj4zXT1lO3BbYT4+M109ZztwW2Er
OD4+M109ZTt0PXE7cmV0dXJufWZ1bmN0aW9uIFdKKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2
YXIgZT0wLjAsZz0wLGg9MC4wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MC4wLHE9MC4wLHI9
MDtyPXQ7dD10KzMyfDA7bT1yKzE2fDA7bj1yO289K3BbYz4+M107aD1vLStwW2E+PjNdO3E9K3Bb
Yys4Pj4zXTtlPXEtK3BbYSs4Pj4zXTtmW2E+PjJdPWZbYz4+Ml07ZlthKzQ+PjJdPWZbYys0Pj4y
XTtmW2ErOD4+Ml09ZltjKzg+PjJdO2ZbYSsxMj4+Ml09ZltjKzEyPj4yXTtjPWZbYSs1Mj4+Ml18
MDtpZighKChkfDApIT0wfChjfDApPT0wKSl7bD1jKzQwfDA7cFtsPj4zXT0rcFtsPj4zXStoO2w9
Yys0OHwwO3BbbD4+M109K3BbbD4+M10rZX1rPWErNDh8MDtjPWZbaz4+Ml18MDthOmRvIGlmKGN8
MCl7bD1hKzY0fDA7ZT0oKGJbbD4+MF18MCk9PTA/ZTpoKS8rKGN8MCk7aj1hKzU2fDA7aT0wO3do
aWxlKDEpe2lmKChpfDApPj0oY3wwKSlicmVhayBhO2E9ZlsoZltqPj4yXXwwKSsoaTw8Mik+PjJd
fDA7Zz1pKzF8MDtjPX5+KGUqKyhnfDApKS1+fihlKisoaXwwKSl8MDtpZighKGJbbD4+MF18MCkp
WEoobixvLCtwW2ErOD4+M10rICsoY3wwKSk7ZWxzZSBYSihuLCtwW2E+PjNdKyArKGN8MCkscSk7
ZlttPj4yXT1mW24+PjJdO2ZbbSs0Pj4yXT1mW24rND4+Ml07ZlttKzg+PjJdPWZbbis4Pj4yXTtm
W20rMTI+PjJdPWZbbisxMj4+Ml07V0ooYSxtLGQpO2k9ZztjPWZbaz4+Ml18MH19d2hpbGUoMCk7
dD1yO3JldHVybn1mdW5jdGlvbiBYSihhLGIsYyl7YT1hfDA7Yj0rYjtjPStjO3BbYT4+M109Yjtw
W2ErOD4+M109YztyZXR1cm59ZnVuY3Rpb24gWUooYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3Zh
ciBlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLjAscj0wLjA7bz10
O3Q9dCs0OHwwO2k9byszMnwwO2w9bysxNnwwO2s9bztiW2ErNjU+PjBdPWQ7aj1hKzE2fDA7cj0r
cFtjPj4zXTtuPWMrOHwwO3E9K3Bbbj4+M107WEoobCxyLHEtK3BbYSs4Pj4zXSk7ZltqPj4yXT1m
W2w+PjJdO2Zbais0Pj4yXT1mW2wrND4+Ml07ZltqKzg+PjJdPWZbbCs4Pj4yXTtmW2orMTI+PjJd
PWZbbCsxMj4+Ml07aj1hKzMyfDA7WEooaywrcFthPj4zXStyLHEpO2Zbaj4+Ml09ZltrPj4yXTtm
W2orND4+Ml09ZltrKzQ+PjJdO2Zbais4Pj4yXT1mW2srOD4+Ml07ZltqKzEyPj4yXT1mW2srMTI+
PjJdO2o9ZlthKzQ4Pj4yXXwwO2s9aistMXwwO2w9KGR8MCk9PTA7bT1hKzU2fDA7aD1hKzY0fDA7
Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oanwwKSlicmVhaztkbyBpZighbCl7YT0oZ3wwKT09MDtl
PShnfDApPT0oa3wwKTtpZighKGJbaD4+MF18MCkpaWYoYSl7YT1lPzE1OjE0O2JyZWFrfWVsc2V7
YT1lPzExOjEwO2JyZWFrfWVsc2UgaWYoYSl7YT1lPzE1OjEzO2JyZWFrfWVsc2V7YT1lPzc6NTti
cmVha319ZWxzZSBhPTA7d2hpbGUoMCk7ZT1mWyhmW20+PjJdfDApKyhnPDwyKT4+Ml18MDtmW2k+
PjJdPWZbYz4+Ml07ZltpKzQ+PjJdPWZbYys0Pj4yXTtmW2krOD4+Ml09ZltjKzg+PjJdO2ZbaSsx
Mj4+Ml09ZltjKzEyPj4yXTtZSihlLGksYSZkKTtpZighKGJbaD4+MF18MCkpcFtuPj4zXT0rcFtu
Pj4zXS0rcFsoZlsoZlttPj4yXXwwKSsoZzw8Mik+PjJdfDApKzg+PjNdO2Vsc2UgcFtjPj4zXT0r
cFtmWyhmW20+PjJdfDApKyhnPDwyKT4+Ml0+PjNdKyArcFtjPj4zXTtnPWcrMXwwfXQ9bztyZXR1
cm59ZnVuY3Rpb24gWkooYSxiKXthPWF8MDtiPWJ8MDtfSihhKTtNXyhiKTtyZXR1cm59ZnVuY3Rp
b24gX0ooYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO2M9YSs0OHwwO2Q9YSs1NnwwO2I9MDt3aGls
ZSgxKXtpZigoYnwwKT49KGZbYz4+Ml18MCkpYnJlYWs7X0ooZlsoZltkPj4yXXwwKSsoYjw8Mik+
PjJdfDApO2I9YisxfDB9TV8oZlthKzYwPj4yXXwwKTt3SChmW2ErNTI+PjJdfDApO01fKGZbZD4+
Ml18MCk7TV8oYSk7cmV0dXJufWZ1bmN0aW9uICRKKGEpe2E9YXwwO3ZhciBiPTAuMCxjPTAuMDtj
PStVTChhLGZbNDgzMzhdfDAsMC4wLC4wMSk7Yj0rVUwoYSxmWzQ4MzM3XXwwLDAuMCwuMDIpO2I9
KGM+Yj9jOmIpKjcyLjA7cmV0dXJuICsoKyh+fihiKyhiPj0wLjA/LjU6LS41KSl8MCkpfWZ1bmN0
aW9uIGFLKGEsYil7YT0rYTtiPStiO3ZhciBjPTA7Yz1+fihhL2IpO3JldHVybiArKCsoKCsoY3ww
KSpiKzEuMGUtMDU8YSYxKStjfDApKmIpfWZ1bmN0aW9uIGJLKGEpe2E9YXwwO2E9ZlsoZlthKzE2
Pj4yXXwwKSs4Pj4yXXwwO2lmKCFhKWE9MDtlbHNlIGE9KGZbZlthKzQ+PjJdPj4yXXwwKT09ODkm
MTtyZXR1cm4gYXwwfWZ1bmN0aW9uIGNLKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0w
O2U9Zls0ODQzNl18MDthOmRvIGlmKCFlKWM9MDtlbHNle2c9Zls0ODQzN118MDtkPTA7d2hpbGUo
MSl7aWYoKGR8MCk+PShnfDApKXtjPTA7YnJlYWsgYX1jPWZbZSsoZDw8Mik+PjJdfDA7aD1mW2M+
PjJdfDA7aWYoKGJbaD4+MF18MCk9PShiW2E+PjBdfDApPyhIJChoLGEpfDApPT0wOjApYnJlYWsg
YTtkPWQrMXwwfX13aGlsZSgwKTtyZXR1cm4gY3wwfWZ1bmN0aW9uIGRLKGEsYyl7YT1hfDA7Yz1j
fDA7dmFyIGQ9MCxlPTAsZz0wO2lmKGdNKEd4KGMsMTEzODUyKXwwKXwwKWlmKChiW2E+PjBdfDAp
PT0xMDE/KEgkKGEsMTE0MDExKXwwKT09MDowKXtjPTEwMTtnPTZ9ZWxzZXthPTExMzg0NTtnPTR9
ZWxzZSBnPTQ7aWYoKGd8MCk9PTQpe2M9YlthPj4wXXwwO2lmKGM8PDI0Pj4yND09OTkpaWYoIShI
JChhLDExMzg0NSl8MCkpZz0xMTtlbHNle2M9OTk7Zz02fWVsc2UgZz02fWE6ZG8gaWYoKGd8MCk9
PTYpe2Q9MTAyNzI7d2hpbGUoMSl7ZT1mW2Q+PjJdfDA7aWYoIWUpe2c9MTE7YnJlYWsgYX1pZigo
YltlPj4wXXwwKT09Yzw8MjQ+PjI0PyhIJChlLGEpfDApPT0wOjApe2E9ZDticmVhayBhfWQ9ZCsx
NnwwfX13aGlsZSgwKTtpZigoZ3wwKT09MTEpYT1lSyhhKXwwO3JldHVybiBhfDB9ZnVuY3Rpb24g
ZUsoYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTA7aD10O3Q9dCsxNnwwO2c9aDtjPWNL
KGEpfDA7aWYoIWMpe2U9Zls0ODQzN118MDtjPWUrMXwwO2ZbNDg0MzddPWM7ZD1mWzQ4NDM2XXww
O2lmKCFkKWM9RUgoYzw8Mil8MDtlbHNlIGM9R0goZCxjPDwyKXwwO2ZbNDg0MzZdPWM7Yz1ESCgx
Nil8MDtmWyhmWzQ4NDM2XXwwKSsoZTw8Mik+PjJdPWM7ZltjPj4yXT1mWzI1NjhdO2ZbYys0Pj4y
XT1mWzI1NjldO2ZbYys4Pj4yXT1mWzI1NzBdO2ZbYysxMj4+Ml09ZlsyNTcxXTtkPXYyKGEpfDA7
ZltjPj4yXT1kO2RvIGlmKCEwKXtpZigoYlthPj4wXXwwKT09OTk/KEgkKGEsMTEzODQ1KXwwKT09
MDowKXtkPTE7YnJlYWt9ZltnPj4yXT1mWzI1NjhdO2ZbZys0Pj4yXT1kO1l3KDAsMTE0MDE2LGcp
fDA7ZD0wfWVsc2UgZD0xO3doaWxlKDApO2JbYysxMj4+MF09ZH10PWg7cmV0dXJuIGN8MH1mdW5j
dGlvbiBmSyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAuMDtkPStwW2I+PjNdKi41MjU3
MzExMTIxMTkxMzM2O2M9K3BbYis4Pj4zXSouODk0NDI3MTkwOTk5OTE1OTtjPWQ+Yz9kOmM7cFth
Pj4zXT1jKjQuOTc5Nzk2NTY5NzY1NTY7cFthKzg+PjNdPWMqNC43MzYwNjc5Nzc0OTk3OTtyZXR1
cm59ZnVuY3Rpb24gZ0soYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLjAsZD0wLjAsZT0wLjAsZj0w
LGc9MC4wLGg9MC4wLGk9MC4wLGo9MCxrPTAsbD0wLjAsbT0wLjA7ZD0rcFtiPj4zXTtqPWIrOHww
O2U9K3Bbaj4+M107Yz1lL2Q7aWYoIShjPi45NTEwNTY1MTYyOTUxNTM2KSlpZihjPC45NTEwNTY1
MTYyOTUxNTM2KXtpPWQ7ZT1kKi45NTEwNTY1MTYyOTUxNTM2fWVsc2UgaT1kO2Vsc2UgaT1lKjEu
MDUxNDYyMjI0MjM4MjY3MjtkPWkqLjUyNTczMTExMjExOTEzMzY7Zz1pKi4yMDA4MTE0MTU4ODYy
MjcyNTtoPWkqLjA1MDIwMjg1Mzk3MTU1NjgxO2M9LjMxNDE1OTI2NTM1ODk3OTM7Zj0wO3doaWxl
KDEpe2lmKGY+Pj4wPj0xMClicmVhaztsPStMKCtjKSpkO3BbYSsoZjw8NCk+PjNdPWw7bD0rTSgr
YykqZC1oO3BbYSsoZjw8NCkrOD4+M109bDtsPWMrLjYyODMxODUzMDcxNzk1ODY7bT0rTCgrbCkq
ZztrPWZ8MTtwW2ErKGs8PDQpPj4zXT1tO2w9K00oK2wpKmctaDtwW2ErKGs8PDQpKzg+PjNdPWw7
Yz1jKzEuMjU2NjM3MDYxNDM1OTE3MjtmPWYrMnwwfXBbYj4+M109aTtwW2o+PjNdPWU7cmV0dXJu
fWZ1bmN0aW9uIGhLKGEpe2E9YXwwO2E9ZlsoZlthKzE2Pj4yXXwwKSsxMj4+Ml18MDtpZihhfDAp
e01fKGZbYSs0ND4+Ml18MCk7TV8oYSl9cmV0dXJufWZ1bmN0aW9uIGlLKGEsYyxkLGUpe2E9YXww
O2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO249
dDt0PXQrODB8MDtrPW4rNDB8MDtnPW47bT1uKzY0fDA7aD1uKzU2fDA7aWYoIShiW2Q+PjBdfDAp
KXtnPTcwMDY0O2g9YSs0MHwwO2Rve2ZbYT4+Ml09ZltnPj4yXTthPWErNHwwO2c9Zys0fDB9d2hp
bGUoKGF8MCk8KGh8MCkpfWVsc2V7aj0oZXwwKT09MD8xMTQ2ODI6ZTtmW20+PjJdPTE1O2k9Yysx
NnwwO2U9ZltpPj4yXXwwO2RvIGlmKGJbKGZbZSsxMDQ+PjJdfDApKzgyPj4wXXwwKXtlPWhSKGMs
ZCxtKXwwO2lmKCFlKXtlPWZbaT4+Ml18MDtsPTg7YnJlYWt9aWYod0soYyxlLGcsaixmW20+PjJd
fDAsMCl8MCl7bT1BeShjKXwwO2Zbaz4+Ml09bTtmW2srND4+Ml09ZDtmW2srOD4+Ml09ajtZdygw
LDExNDY4NCxrKXwwfX1lbHNlIGw9ODt3aGlsZSgwKTtpZigobHwwKT09OCl7aWYoKGZbKGZbZSs4
Pj4yXXwwKSs4Pj4yXXwwKT09Njc1MjApaD0wO2Vsc2V7ZltoPj4yXT1jO2ZbaCs0Pj4yXT0wfWlm
KHdLKGMsMCxnLGQsZlttPj4yXXwwLGgpfDApeEsoYyxkKX1mW2crMzY+PjJdPTA7aD1hKzQwfDA7
ZG97ZlthPj4yXT1mW2c+PjJdO2E9YSs0fDA7Zz1nKzR8MH13aGlsZSgoYXwwKTwoaHwwKSl9dD1u
O3JldHVybn1mdW5jdGlvbiBqSyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAuMCxlPTAs
Zz0wLGg9MCxpPTAuMCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAscj0wLjAscz0wO3E9dDt0
PXQrMTEyfDA7bD1xKzk2fDA7az1xKzgwfDA7bj1xKzY0fDA7aj1xKzQ4fDA7bz1xKzMyfDA7bT1x
O2U9cSsxNnwwO2lmKCFhKXtmWzQ4NDQwXT0wO2E9MH1lbHNle2c9ZlthKzQ+PjJdfDA7YT1mW2E+
PjJdfDA7aD0obnooYSl8MCkrMTZ8MDtoPShmWyhmW2g+PjJdfDApKzExNj4+Ml0mMykqOTB8MDtm
W2w+PjJdPWZbYj4+Ml07ZltsKzQ+PjJdPWZbYis0Pj4yXTtmW2wrOD4+Ml09ZltiKzg+PjJdO2Zb
bCsxMj4+Ml09ZltiKzEyPj4yXTtnSChlLGwsaCk7ZltvPj4yXT1mW2U+PjJdO2Zbbys0Pj4yXT1m
W2UrND4+Ml07ZltvKzg+PjJdPWZbZSs4Pj4yXTtmW28rMTI+PjJdPWZbZSsxMj4+Ml07YTpkbyBp
ZihnKXtjPStwW2crOD4+M107ZD0rcFtnKzI0Pj4zXTtyPStwW28+PjNdO2lmKCgrcFtnPj4zXTw9
cj9yPD0rcFtnKzE2Pj4zXTowKT8oaT0rcFtvKzg+PjNdLGM8PWkpOjApYT1pPD1kJjE7ZWxzZSBh
PTB9ZWxzZXtpZigoYXwwKT09KGZbNDg0NDBdfDApKXtlPWZbNDg0NDFdfDA7Zz1mWzQ4NDQzXXww
O2g9Zls0ODQ0Ml18MH1lbHNle2c9ZlsoZlthKzE2Pj4yXXwwKSsxMj4+Ml18MDtmWzQ4NDQ0XT1n
O2g9ZltnKzQ0Pj4yXXwwO2ZbNDg0NDJdPWg7ZT1mW2crOD4+Ml18MDtmWzQ4NDQxXT1lO2c9Vigo
ZltnKzQ+PjJdfDApKy0xfDAsZSl8MDtnPShnfDApPjA/ZzowO2ZbNDg0NDNdPWc7Zls0ODQ0MF09
YX1hPTA7Yj0wO3doaWxlKDEpe2lmKChhfDApPj0oZXwwKSl7YT0xO2JyZWFrIGF9cz1oKyhnK2E8
PDQpfDA7ZlttPj4yXT1mW3M+PjJdO2ZbbSs0Pj4yXT1mW3MrND4+Ml07ZlttKzg+PjJdPWZbcys4
Pj4yXTtmW20rMTI+PjJdPWZbcysxMj4+Ml07cz1oKygoKGErNHwwKSUoZXwwKXwwKStnPDw0KXww
O2Zbaj4+Ml09ZltvPj4yXTtmW2orND4+Ml09ZltvKzQ+PjJdO2Zbais4Pj4yXT1mW28rOD4+Ml07
ZltqKzEyPj4yXT1mW28rMTI+PjJdO2Zbbj4+Ml09Zls0ODA3NF07ZltuKzQ+PjJdPWZbNDgwNzVd
O2Zbbis4Pj4yXT1mWzQ4MDc2XTtmW24rMTI+PjJdPWZbNDgwNzddO2Zbaz4+Ml09ZlttPj4yXTtm
W2srND4+Ml09ZlttKzQ+PjJdO2Zbays4Pj4yXT1mW20rOD4+Ml07ZltrKzEyPj4yXT1mW20rMTI+
PjJdO2ZbbD4+Ml09ZltzPj4yXTtmW2wrND4+Ml09ZltzKzQ+PjJdO2ZbbCs4Pj4yXT1mW3MrOD4+
Ml07ZltsKzEyPj4yXT1mW3MrMTI+PjJdO2I9YisoKHZLKGosbixrLGwpfDApPT0wJjEpfDA7aWYo
KGJ8MCk9PTIpe2E9MDticmVha31lbHNlIGE9YSsyfDB9fXdoaWxlKDApfXQ9cTtyZXR1cm4gYXww
fWZ1bmN0aW9uIGtLKGEsYyxkLGUsZyl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7ZD1m
W2ErMTY+PjJdfDA7aWYoKGJbKGZbZCsxMDQ+PjJdfDApKzgyPj4wXXwwKSE9MD8oYltkKzE0NT4+
MF18MCkhPTA6MClhPWtSKGEsYywwLGUsZyl8MDtlbHNlIGE9MDtyZXR1cm4gYXwwfWZ1bmN0aW9u
IGxLKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGU9MCxnPTAsaT0wLjAsaj0wLGs9MCxsPTAsbT0wLG89
MCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLjAsQz0wLjAsRD0w
LEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MDtPPXQ7
dD10KzQ4fDA7SD1PKzI0fDA7Rz1PKzE2fDA7QT1PKzh8MDt6PU87TD1PKzMyfDA7az1PKzI4fDA7
TT1mW2ErMTY+PjJdfDA7Tj1NKzIwOHwwO2U9ZltOPj4yXXwwO2lmKChlfDApPT0wPyhkW00rMjYw
Pj4xXSYxKT09MDowKUo9MDtlbHNlIEU9NDtpZigoRXwwKT09NClpZighKGZbYSsxNTI+PjJdJjQp
KXtZTyhhLGUsZltNKzIyOD4+Ml18MCxmW00rMjQ0Pj4yXXwwLGZbTSsyMTI+PjJdfDApO0o9MX1l
bHNlIEo9MTtJPWMrMTZ8MDtlPWZbST4+Ml18MDtxPWZbZSsxMj4+Ml18MDtGPWZbcSs0ND4+Ml18
MDtLPWZbcSs4Pj4yXXwwO3E9ZltxKzQ+PjJdfDA7aWYoKGZbNDg0MzhdfDApPChLfDApKXtlPUsr
NXwwO2ZbNDg0MzhdPWU7Zz1mWzQ4NDM5XXwwO2lmKCFnKWU9RUgoZTw8NCl8MDtlbHNlIGU9R0go
ZyxlPDw0KXwwO2ZbNDg0MzldPWU7ZT1mW0k+PjJdfDB9RD0oZltlKzEwND4+Ml18MCkrNTZ8MDtl
PWUrMTZ8MDtmW0Q+PjJdPWZbZT4+Ml07ZltEKzQ+PjJdPWZbZSs0Pj4yXTtmW0QrOD4+Ml09Zltl
Kzg+PjJdO2ZbRCsxMj4+Ml09ZltlKzEyPj4yXTtEPWZbST4+Ml18MDtCPStwW0QrMzI+PjNdKjcy
LjA7Qj0oK3BbRCs5Nj4+M10rICtwW0QrODg+PjNdKS8rKH5+KEIrKEI+PTAuMD8uNTotLjUpKXww
KTtDPStwW0QrNDA+PjNdKjcyLjA7Qz0rcFtEKzgwPj4zXS8rKH5+KEMrKEM+PTAuMD8uNTotLjUp
KXwwKTtEPW1LKGEsYyl8MDtmW0w+PjJdPTA7ZT1oWyhmW0k+PjJdfDApKzExNz4+MF18MDtkbyBp
ZighKGUmMSkpe2lmKGUmMnwwKXtyPVhMKGMsMCwxMTQ1ODIpfDA7YlAoYSxyKTtkUChhLFhMKGMs
MCwxMTQ1OTApfDApO2c9MDtlPTE7YnJlYWt9aWYoZSY4fDApe3I9WEwoYywwLDExNDU5OCl8MDti
UChhLHIpO2RQKGEsWEwoYywwLDExNDYwNil8MCk7Zz0wO2U9MTticmVha31pZihlJjR8MCl7cj1Y
TChjLDAsMTE0NjE0KXwwO2JQKGEscik7ZFAoYSxYTChjLDAsMTE0NjIyKXwwKTtnPTA7ZT0xO2Jy
ZWFrfWlmKCEoRCYxKSlpZighKEQmNTc2KSl7Zz0wO2U9MH1lbHNle2c9bksoYyl8MDtlPTF9ZWxz
ZXtnPW5LKGMpfDA7aWYoISgoREcoZyxMLGspfDApPDwyND4+MjQpKXtkUChhLGcpO2U9MX1lbHNl
e2RQKGEsZltMPj4yXXwwKTtlPWZbTCs0Pj4yXXwwO2o9VEwoYyxmWzQ4MzY1XXwwLDAsMCl8MDtp
PStuW2s+PjJdO2lmKCFlKWVQKGEsMTQ1NTg0LGosaSk7ZWxzZSBlUChhLGUsaixpKTtlPUQ+Pj4x
JjF8Mn19cj1vSyhhLGMpfDB9ZWxzZXtyPVhMKGMsMCwxMTQ1NjYpfDA7YlAoYSxyKTtkUChhLFhM
KGMsMCwxMTQ1NzQpfDApO2c9MDtlPTF9d2hpbGUoMCk7aj1mWyhmW0k+PjJdfDApKzg+PjJdfDA7
aWYoYltqKzEyPj4wXXwwKXtqPWZbaj4+Ml18MDtpZigoYltqPj4wXXwwKT09OTkpe2o9KEgkKGos
MTEzODQ1KXwwKT09MDtFPTMzfWVsc2UgdT0xfWVsc2V7aj0xO0U9MzN9aWYoKEV8MCk9PTMzKXtq
PWpeMTtpZigocXwwKSE9MHxlPDwyND4+MjQ9PTB8ail1PWo7ZWxzZXtiUChhLDE0NTY0OSk7cT0x
O3U9MH19dj0oS3wwKTwzO3c9KEQmNTEyfDApIT0wO3g9KEQmNjR8MCk9PTA7eT0oRCY4fDApPT0w
O209KEQmMTAyNHwwKT09MDtvPShEJjIxMzA3MDY0NDR8MCk9PTA7cz0wO3doaWxlKDEpe2lmKChz
fDApPj0ocXwwKSlicmVhaztrPVYocyxLKXwwO2w9Zls0ODQzOV18MDtqPTA7d2hpbGUoMSl7aWYo
KGp8MCk+PShLfDApKWJyZWFrO1E9aitrfDA7aT0rcFtGKyhRPDw0KSs4Pj4zXTtQPWZbST4+Ml18
MDtwW2wrKGo8PDQpPj4zXT0rcFtQKzE2Pj4zXSsgK3BbRisoUTw8NCk+PjNdKkI7cFtsKyhqPDw0
KSs4Pj4zXT0rcFtQKzI0Pj4zXStpKkM7aj1qKzF8MH1kbyBpZih2KXtpZih3JihzfDApPT0wPyh4
MShnLDU4KXwwKSE9MDowKWlmKCgkRShhLGwsZyl8MCk+MSl7ZT1BeShjKXwwO2Zbej4+Ml09ZTtZ
dygzLDExNDYzMCx6KXwwO2U9MH1lbHNlIGU9MDtnUChhLGZbNDg0MzldfDAsSyxlJjI1NSk7aWYo
IXkpcEsoYSxjKX1lbHNle2lmKCF4KXtpZigoc3wwKT09MD8oZEYoYSxsLGcsMSl8MCk+MTowKXtR
PUF5KGMpfDA7ZltBPj4yXT1RO1l3KDMsMTE0NjMwLEEpfDB9aFAoYSxmWzQ4NDM5XXwwLEssMCk7
YnJlYWt9aWYoIW0pe2JQKGEsMTQ1NjQ5KTtoUChhLGZbNDg0MzldfDAsSyxlJjI1NSk7YlAoYSxy
KTtrUChhLChmWzQ4NDM5XXwwKSszMnwwLDIpO2JyZWFrfWU9ZSYyNTU7aWYobyl7aFAoYSxsLEss
ZSk7YnJlYWt9ZWxzZXtOSihhLGwsSyxELGUpO2JyZWFrfX13aGlsZSgwKTtzPXMrMXwwO2U9MH1q
PWZbKGZbST4+Ml18MCkrOD4+Ml18MDtpZighKGJbaisxMj4+MF18MCkpe2o9R3goYywxMTczNTEp
fDA7aWYoanwwP2Jbaj4+MF18MDowKXtsPWo7RT02NX19ZWxzZXtqPWZbaj4+Ml18MDtpZigoYltq
Pj4wXXwwKT09OTk/KEgkKGosMTEzODQ1KXwwKT09MDowKXtqPUd4KGMsMTEzODUyKXwwO2lmKGp8
MD9iW2o+PjBdfDA6MCl7bD1qO0U9NjV9fWVsc2V7bD1qO0U9NjV9fWlmKChFfDApPT02NSl7az1m
WzQ4NDM5XXwwO2o9MDt3aGlsZSgxKXtpZigoanwwKT49KEt8MCkpYnJlYWs7aT0rcFtGKyhqPDw0
KSs4Pj4zXTtRPWZbST4+Ml18MDtwW2srKGo8PDQpPj4zXT0rcFtRKzE2Pj4zXSsgK3BbRisoajw8
NCk+PjNdKkI7cFtrKyhqPDw0KSs4Pj4zXT0rcFtRKzI0Pj4zXStpKkM7aj1qKzF8MH1qPWUmMjU1
O2RvIGlmKCEodXxlPDwyND4+MjQ9PTApKXtpZih2KXtpZih3JihzfDApPT0wPyh4MShnLDU4KXww
KSE9MDowKWlmKCgkRShhLGssZyl8MCk+MSl7ZT1BeShjKXwwO2ZbRz4+Ml09ZTtZdygzLDExNDYz
MCxHKXwwO2U9MH1lbHNlIGU9MDtnUChhLGZbNDg0MzldfDAsSyxlJjI1NSk7aWYoeSlicmVhaztw
SyhhLGMpO2JyZWFrfWlmKHgpaWYoIShEJjEyKSl7aFAoYSxrLEssaik7YnJlYWt9ZWxzZXtOSihh
LGssSyxELGopO2JyZWFrfWVsc2V7aWYoKGRGKGEsayxnLDEpfDApPjEpe1E9QXkoYyl8MDtmW0g+
PjJdPVE7WXcoMywxMTQ2MzAsSCl8MH1oUChhLGZbNDg0MzldfDAsSywwKTticmVha319d2hpbGUo
MCk7UT1mWzQ4NDM5XXwwO21QKGEsbCxRLEssZSxXTChjLGZbNDgzNThdfDAsMTQ1NTc4KXwwKX1N
XyhmW0w+PjJdfDApO3hIKGEsMTAsZlsoZltJPj4yXXwwKSsxMDQ+PjJdfDApO2lmKEope2lmKGZb
YSsxNTI+PjJdJjR8MClZTyhhLGZbTj4+Ml18MCxmW00rMjI4Pj4yXXwwLGZbTSsyNDQ+PjJdfDAs
ZltNKzIxMj4+Ml18MCk7Wk8oYSl9dD1PO3JldHVybn1mdW5jdGlvbiBtSyhhLGMpe2E9YXwwO2M9
Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTA7aD10O3Q9dCsxNnwwO2U9aDtkPXNLKGMsZSl8MDtpZihk
fDApZlAoYSxkKTtkPWZbNDgzNjRdfDA7aWYoKGR8MD8oZz1IeChjLGQpfDAsZ3wwKTowKT9iW2c+
PjBdfDA6MClvUChhLCtVTChjLGZbNDgzNjRdfDAsMS4wLDAuMCkpO3Q9aDtyZXR1cm4gZltlPj4y
XXwwfWZ1bmN0aW9uIG5LKGEpe2E9YXwwO3JldHVybiBySyhhLDE0MzA3MCl8MH1mdW5jdGlvbiBv
SyhhLGMpe2E9YXwwO2M9Y3wwO2M9WEwoYyxmWzQ4MzQwXXwwLDE5NDg3MCl8MDtjPShiW2M+PjBd
fDApPT0wPzE0NTU4NDpjO2JQKGEsYyk7cmV0dXJuIGN8MH1mdW5jdGlvbiBwSyhhLGIpe2E9YXww
O2I9YnwwO3ZhciBjPTAsZD0wLGU9MC4wLGc9MCxoPTAuMCxpPTAsaj0wLGs9MDtjPXQ7dD10Kzk2
fDA7aT1jKzgwfDA7aj1jKzY0fDA7ZD1jO2s9Yys0OHwwO2c9YyszMnwwO2I9ZltiKzE2Pj4yXXww
O2U9K3BbYis4MD4+M107cFtrKzg+PjNdPWUqLjM3NTtoPStwW2IrOTY+PjNdO3Bbaz4+M109aCou
NjYxNDtiPWIrMTZ8MDtmW2o+PjJdPWZbaz4+Ml07ZltqKzQ+PjJdPWZbays0Pj4yXTtmW2orOD4+
Ml09ZltrKzg+PjJdO2ZbaisxMj4+Ml09ZltrKzEyPj4yXTtmW2k+PjJdPWZbYj4+Ml07ZltpKzQ+
PjJdPWZbYis0Pj4yXTtmW2krOD4+Ml09ZltiKzg+PjJdO2ZbaSsxMj4+Ml09ZltiKzEyPj4yXTtx
SyhnLGosaSk7ZltkPj4yXT1mW2c+PjJdO2ZbZCs0Pj4yXT1mW2crND4+Ml07ZltkKzg+PjJdPWZb
Zys4Pj4yXTtmW2QrMTI+PjJdPWZbZysxMj4+Ml07Zz1kKzh8MDtiPWQrMjR8MDtwW2I+PjNdPStw
W2c+PjNdO3BbZCsxNj4+M109K3BbZD4+M10taCoxLjMyMjg7a1AoYSxkLDIpO2U9K3BbZz4+M10t
ZSouNzU7cFtnPj4zXT1lO3BbYj4+M109ZTtrUChhLGQsMik7dD1jO3JldHVybn1mdW5jdGlvbiBx
SyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MC4wO2Q9K3BbYys4Pj4zXSsgK3BbYis4
Pj4zXTtwW2E+PjNdPStwW2M+PjNdKyArcFtiPj4zXTtwW2ErOD4+M109ZDtyZXR1cm59ZnVuY3Rp
b24gcksoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wO2Q9WEwoYSxmWzQ4MzQxXXwwLDE5NDg3MCl8
MDtpZighKGJbZD4+MF18MCkpe2Q9WEwoYSxmWzQ4MzQwXXwwLDE5NDg3MCl8MDtyZXR1cm4gKChi
W2Q+PjBdfDApPT0wP2M6ZCl8MH1lbHNlIHJldHVybiBkfDA7cmV0dXJuIDB9ZnVuY3Rpb24gc0so
YSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2Q9WEwoYSxm
WzQ4MzQ5XXwwLDE5NDg3MCl8MDthOmRvIGlmKCEoYltkPj4wXXwwKSl7Zz0wO2Q9MH1lbHNle2c9
SkYoZCl8MDtoPWc7ZD0wO3doaWxlKDEpe2U9ZltoPj4yXXwwO2lmKCFlKWJyZWFrIGE7YjpkbyBz
d2l0Y2goYltlPj4wXXwwKXtjYXNlIDEwMjp7aWYoIShIJChlLDExOTQyNyl8MCkpe2U9aCs0fDA7
ZD1kfDF9ZWxzZSBpPTI2O2JyZWFrfWNhc2UgMTE0OntpZighKEgkKGUsMTE0NjQyKXwwKSl7ZT1o
O2Rve2s9ZTtlPWUrNHwwO2o9ZltlPj4yXXwwO2Zbaz4+Ml09an13aGlsZSgoanwwKSE9MCk7ZT1o
O2Q9ZHw0O2JyZWFrIGJ9aWYoIShIJChlLDExNDY2MCl8MCkpe2U9aDtkb3tqPWU7ZT1lKzR8MDtr
PWZbZT4+Ml18MDtmW2o+PjJdPWt9d2hpbGUoKGt8MCkhPTApO2U9aDtkPWR8M31lbHNlIGk9MjY7
YnJlYWt9Y2FzZSAxMDA6e2lmKCEoSCQoZSwxMTQ2NTApfDApKXtlPWg7ZG97aj1lO2U9ZSs0fDA7
az1mW2U+PjJdfDA7ZltqPj4yXT1rfXdoaWxlKChrfDApIT0wKTtlPWg7ZD1kfDh9ZWxzZSBpPTI2
O2JyZWFrfWNhc2UgMTA1OntpZighKEgkKGUsMTQyNjA1KXwwKSl7ZT1oKzR8MDtkPWR8MzJ9ZWxz
ZSBpPTI2O2JyZWFrfWNhc2UgMTE1OntpZigoSCQoZSwxMTQ2NjcpfDApPT0wPyh0SyhhKXwwKSE9
MDowKXtlPWg7ZG97aj1lO2U9ZSs0fDA7az1mW2U+PjJdfDA7ZltqPj4yXT1rfXdoaWxlKChrfDAp
IT0wKTtlPWg7ZD1kfDY0fWVsc2UgaT0yNjticmVha31jYXNlIDExOTp7aWYoKEgkKGUsMTE0Njc1
KXwwKT09MD8odUsoYSl8MCkhPTA6MCl7ZT1oO2Rve2o9ZTtlPWUrNHwwO2s9ZltlPj4yXXwwO2Zb
aj4+Ml09a313aGlsZSgoa3wwKSE9MCk7ZT1oO2Q9ZHw1MTJ9ZWxzZSBpPTI2O2JyZWFrfWRlZmF1
bHQ6aT0yNn13aGlsZSgwKTtpZigoaXwwKT09MjYpe2k9MDtlPWgrNHwwfWg9ZX19d2hpbGUoMCk7
ZT1mWyhmWyhmW2ErMTY+PjJdfDApKzg+PjJdfDApKzg+PjJdfDA7aWYoZSlkPWZbZSs0MD4+Ml18
ZDtmW2M+PjJdPWQ7cmV0dXJuIGd8MH1mdW5jdGlvbiB0SyhhKXthPWF8MDt2YXIgYj0wLjA7YT1m
WyhmWyhmW2ErMTY+PjJdfDApKzg+PjJdfDApKzg+PjJdfDA7aWYoKCgoYXwwKSE9MD8oZlthKzg+
PjJdfDApPT00OjApPyhiPStwW2ErMTY+PjNdLCgofn4oYisoYj49MC4wPy41Oi0uNSkpfDApJTkw
fDB8MCk9PTApOjApPytwW2ErMjQ+PjNdPT0wLjA6MClhPStwW2ErMzI+PjNdPT0wLjAmMTtlbHNl
IGE9MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIHVLKGEpe2E9YXwwO2E9ZlsoZlsoZlthKzE2Pj4yXXww
KSs4Pj4yXXwwKSs4Pj4yXXwwO2lmKCFhKWE9MDtlbHNlIGE9KGZbYSs4Pj4yXXwwKTwzJjE7cmV0
dXJuIGF8MH1mdW5jdGlvbiB2SyhhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIg
ZT0wLjAsZj0wLjAsZz0wLjAsaD0wLjA7aD0rcFtjKzg+PjNdO2c9LSgrcFtkKzg+PjNdLWgpO2Y9
K3BbYz4+M107ZT0rcFtkPj4zXS1mO2Y9ZSpoK2YqZztyZXR1cm4gKCtwW2ErOD4+M10qZSsgK3Bb
YT4+M10qZy1mPj0wLjBeK3BbYj4+M10qZy1mKyArcFtiKzg+PjNdKmU+PTAuMF4xKSYxfDB9ZnVu
Y3Rpb24gd0soYSxjLGQsZSxnLGgpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO2g9aHww
O3ZhciBpPTAuMCxqPTAuMCxrPTAsbD0wLG09MCxuPTAsbz0wLjAscT0wLjAscj0wLjAscz0wLjAs
dT0wLjAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0w
O0c9dDt0PXQrMTkyfDA7Qj1HKzE3NnwwO0U9RysxNjB8MDtrPUcrMTQ0fDA7ej1HKzEyOHwwO0E9
RysxMTJ8MDtsPUcrOTZ8MDttPUcrODB8MDtuPUcrNjR8MDt2PUcrNDh8MDt3PUcrMzJ8MDt4PUcr
MTZ8MDtEPUc7aWYoIWMpe2ZbRT4+Ml09MDtmW0UrND4+Ml09MDtmW0UrOD4+Ml09MDtmW0UrMTI+
PjJdPTA7az0obnooYSl8MCkrMTZ8MDtrPShmWyhmW2s+PjJdfDApKzExNj4+Ml0mMXwwKT09MDtD
PWZbYSsxNj4+Ml18MDtpPStwW0MrODA+PjNdKi41O3M9K3BbQys4OD4+M107bz1rP3M6aTtzPWs/
aTpzO2s9MDtDPUU7aT0wLjA7aj0tbztxPXM7Rj1FKzh8MDtyPTAuMDtzPS1zfWVsc2V7aj0rcFtj
Pj4zXTtzPStwW2MrOD4+M107bz0rcFtjKzE2Pj4zXTtxPStwW2MrMjQ+PjNdO1hKKGssKG8raikq
LjUsKHErcykqLjUpO2ZbRT4+Ml09ZltrPj4yXTtmW0UrND4+Ml09ZltrKzQ+PjJdO2ZbRSs4Pj4y
XT1mW2srOD4+Ml07ZltFKzEyPj4yXT1mW2srMTI+PjJdO0g9RSs4fDA7az0xO0M9RTtpPStwW0U+
PjNdO0Y9SDtyPStwW0g+PjNdfXU9KG8+cT9vOnEpKjQuMDthOmRvIGlmKChlfDApIT0wPyh5PWJb
ZT4+MF18MCx5PDwyND4+MjQhPTApOjApe2U9ZSsxfDA7c3dpdGNoKHk8PDI0Pj4yNHwwKXtjYXNl
IDk5OntuPTE7Zz0wO2U9MDtsPTA7aT0wLjA7bT0wO2JyZWFrIGF9Y2FzZSAxMDE6e2lmKGJbZT4+
MF18MCl7bj0xO2c9MDtlPTA7bD0wO2k9MC4wO209MTticmVhayBhfWlmKCFoKXBbQz4+M109bztl
bHNle3lLKHosaCxyLHUpO2ZbRT4+Ml09Zlt6Pj4yXTtmW0UrND4+Ml09Zlt6KzQ+PjJdO2ZbRSs4
Pj4yXT1mW3orOD4+Ml07ZltFKzEyPj4yXT1mW3orMTI+PjJdfW49MDtnPWcmMjtlPTA7bD0xO2k9
MC4wO209MDtrPTE7YnJlYWsgYX1jYXNlIDExNTp7cFtGPj4zXT1zO3N3aXRjaChiW2U+PjBdfDAp
e2Nhc2UgMDp7aWYoaHwwKXt5SyhBLGgsLXUsaSk7ZltFPj4yXT1mW0E+PjJdO2ZbRSs0Pj4yXT1m
W0ErND4+Ml07ZltFKzg+PjJdPWZbQSs4Pj4yXTtmW0UrMTI+PjJdPWZbQSsxMj4+Ml19bj0wO2c9
ZyYxO2U9MDtsPTE7aT0tMS41NzA3OTYzMjY3OTQ4OTY2O209MDtrPTE7YnJlYWsgYX1jYXNlIDEw
MTp7aWYoIWgpcFtDPj4zXT1vO2Vsc2V7eUsobCxoLC11LHUpO2ZbRT4+Ml09ZltsPj4yXTtmW0Ur
ND4+Ml09ZltsKzQ+PjJdO2ZbRSs4Pj4yXT1mW2wrOD4+Ml07ZltFKzEyPj4yXT1mW2wrMTI+PjJd
fW49MDtnPWcmMztlPTA7bD0xO2k9LS43ODUzOTgxNjMzOTc0NDgzO209MDtrPTE7YnJlYWsgYX1j
YXNlIDExOTp7aWYoIWgpcFtDPj4zXT1qO2Vsc2V7dT0tdTt5SyhtLGgsdSx1KTtmW0U+PjJdPWZb
bT4+Ml07ZltFKzQ+PjJdPWZbbSs0Pj4yXTtmW0UrOD4+Ml09ZlttKzg+PjJdO2ZbRSsxMj4+Ml09
ZlttKzEyPj4yXX1uPTA7Zz1nJjk7ZT0wO2w9MTtpPS0yLjM1NjE5NDQ5MDE5MjM0NTttPTA7az0x
O2JyZWFrIGF9ZGVmYXVsdDp7cFtGPj4zXT1yO249MTtnPTA7ZT0wO2w9MDtpPTAuMDttPTE7YnJl
YWsgYX19fWNhc2UgMTE5OntpZihiW2U+PjBdfDApe249MTtnPTA7ZT0wO2w9MDtpPTAuMDttPTE7
YnJlYWsgYX1pZighaClwW0M+PjNdPWo7ZWxzZXt5SyhuLGgsciwtdSk7ZltFPj4yXT1mW24+PjJd
O2ZbRSs0Pj4yXT1mW24rND4+Ml07ZltFKzg+PjJdPWZbbis4Pj4yXTtmW0UrMTI+PjJdPWZbbisx
Mj4+Ml19bj0wO2c9ZyY4O2U9MDtsPTE7aT0zLjE0MTU5MjY1MzU4OTc5MzttPTA7az0xO2JyZWFr
IGF9Y2FzZSAxMTA6e3BbRj4+M109cTtzd2l0Y2goYltlPj4wXXwwKXtjYXNlIDA6e2lmKGh8MCl7
eUsodixoLHUsaSk7ZltFPj4yXT1mW3Y+PjJdO2ZbRSs0Pj4yXT1mW3YrND4+Ml07ZltFKzg+PjJd
PWZbdis4Pj4yXTtmW0UrMTI+PjJdPWZbdisxMj4+Ml19bj0wO2c9ZyY0O2U9MDtsPTE7aT0xLjU3
MDc5NjMyNjc5NDg5NjY7bT0wO2s9MTticmVhayBhfWNhc2UgMTAxOntpZighaClwW0M+PjNdPW87
ZWxzZXt5Syh3LGgsdSx1KTtmW0U+PjJdPWZbdz4+Ml07ZltFKzQ+PjJdPWZbdys0Pj4yXTtmW0Ur
OD4+Ml09Zlt3Kzg+PjJdO2ZbRSsxMj4+Ml09Zlt3KzEyPj4yXX1uPTA7Zz1nJjY7ZT0wO2w9MTtp
PS43ODUzOTgxNjMzOTc0NDgzO209MDtrPTE7YnJlYWsgYX1jYXNlIDExOTp7aWYoIWgpcFtDPj4z
XT1qO2Vsc2V7eUsoeCxoLHUsLXUpO2ZbRT4+Ml09Zlt4Pj4yXTtmW0UrND4+Ml09Zlt4KzQ+PjJd
O2ZbRSs4Pj4yXT1mW3grOD4+Ml07ZltFKzEyPj4yXT1mW3grMTI+PjJdfW49MDtnPWcmMTI7ZT0w
O2w9MTtpPTIuMzU2MTk0NDkwMTkyMzQ1O209MDtrPTE7YnJlYWsgYX1kZWZhdWx0OntwW0Y+PjNd
PXI7bj0xO2c9MDtlPTA7bD0wO2k9MC4wO209MTticmVhayBhfX19Y2FzZSA5NTp7bj0xO2U9MTts
PTA7aT0wLjA7bT0wO2JyZWFrIGF9ZGVmYXVsdDp7bj0xO2c9MDtlPTA7bD0wO2k9MC4wO209MTti
cmVhayBhfX19ZWxzZXtuPTE7Zz0wO2U9MDtsPTA7aT0wLjA7bT0wfXdoaWxlKDApO0g9KG56KGEp
fDApKzE2fDA7SD0oZlsoZltIPj4yXXwwKSsxMTY+PjJdJjMpKjkwfDA7ZltCPj4yXT1mW0U+PjJd
O2ZbQis0Pj4yXT1mW0UrND4+Ml07ZltCKzg+PjJdPWZbRSs4Pj4yXTtmW0IrMTI+PjJdPWZbRSsx
Mj4+Ml07ZkgoRCxCLEgpO2ZbRT4+Ml09ZltEPj4yXTtmW0UrND4+Ml09ZltEKzQ+PjJdO2ZbRSs4
Pj4yXT1mW0QrOD4+Ml07ZltFKzEyPj4yXT1mW0QrMTI+PjJdO2lmKCEoZTw8MjQ+PjI0KSl7SD0o
bnooYSl8MCkrMTZ8MDtnPXpLKGcsZlsoZltIPj4yXXwwKSsxMTY+PjJdJjMpfDB9YltkKzMzPj4w
XT1nO2ZbZCsyND4+Ml09YztqPStwW0M+PjNdO3BbZD4+M109Kyh+fihqKyhqPj0wLjA/LjU6LS41
KSl8MCk7aj0rcFtGPj4zXTtwW2QrOD4+M109Kyh+fihqKyhqPj0wLjA/LjU6LS41KSl8MCk7SD0o
bnooYSl8MCkrMTZ8MDtqPStBSyhpLGZbKGZbSD4+Ml18MCkrMTE2Pj4yXSYzKTtwW2QrMTY+PjNd
PWo7aj0rcFtDPj4zXTtpPStwW0Y+PjNdO2lmKGo9PTAuMCZpPT0wLjApZz0tMTI4O2Vsc2V7dT0r
UigraSwraik7cz11KzQuNzEyMzg4OTgwMzg0Njk7Zz1+figoIShzPj02LjI4MzE4NTMwNzE3OTU4
Nik/czp1Ky0xLjU3MDc5NjMyNjc5NDg5NjYpKjQwLjc0MzY2NTQzMTUyNTIxKSYyNTV9YltkKzMy
Pj4wXT1nO2JbZCsyOT4+MF09bDtiW2QrMjg+PjBdPWs7YltkKzMwPj4wXT1uO2JbZCszMT4+MF09
ZTt0PUc7cmV0dXJuIG18MH1mdW5jdGlvbiB4SyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0w
O2M9dDt0PXQrMTZ8MDtkPWM7YT1BeShhKXwwO2ZbZD4+Ml09YTtmW2QrND4+Ml09YjtZdygwLDEx
NDc0NSxkKXwwO3Q9YztyZXR1cm59ZnVuY3Rpb24geUsoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz0r
YztkPStkO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7bj10O3Q9
dCsxMjh8MDtnPW4rMTEyfDA7aT1uO2o9bis4MHwwO2s9bis5NnwwO2w9bis2NHwwO209ZltiPj4y
XXwwO2g9KG56KG0pfDApKzE2fDA7aD1mWyhmW2g+PjJdfDApKzExNj4+Ml0mMztwW2o+PjNdPWQ7
cFtqKzg+PjNdPWM7ZT0oaHwwKSE9MDtpZihlKXtmW2c+PjJdPWZbaj4+Ml07ZltnKzQ+PjJdPWZb
ais0Pj4yXTtmW2crOD4+Ml09ZltqKzg+PjJdO2ZbZysxMj4+Ml09ZltqKzEyPj4yXTtmSChrLGcs
aCo5MHwwKTtmW2o+PjJdPWZbaz4+Ml07ZltqKzQ+PjJdPWZbays0Pj4yXTtmW2orOD4+Ml09Zltr
Kzg+PjJdO2ZbaisxMj4+Ml09ZltrKzEyPj4yXX1rPWkrNDh8MDtvPWkrMzJ8MDtmW2k+PjJdPTA7
ZltpKzQ+PjJdPTA7ZltpKzg+PjJdPTA7ZltpKzEyPj4yXT0wO2ZbaSsxNj4+Ml09MDtmW2krMjA+
PjJdPTA7ZltpKzI0Pj4yXT0wO2ZbaSsyOD4+Ml09MDtmW28+PjJdPWZbaj4+Ml07ZltvKzQ+PjJd
PWZbais0Pj4yXTtmW28rOD4+Ml09ZltqKzg+PjJdO2ZbbysxMj4+Ml09ZltqKzEyPj4yXTtmW2s+
PjJdPWZbaj4+Ml07ZltrKzQ+PjJdPWZbais0Pj4yXTtmW2srOD4+Ml09ZltqKzg+PjJdO2Zbaysx
Mj4+Ml09ZltqKzEyPj4yXTtWSyhiLGZbKGZbKGZbKGZbbSsxNj4+Ml18MCkrOD4+Ml18MCkrND4+
Ml18MCkrMTI+PjJdfDAsaSwxKTtpZihlKXtmW2c+PjJdPWZbaT4+Ml07ZltnKzQ+PjJdPWZbaSs0
Pj4yXTtmW2crOD4+Ml09ZltpKzg+PjJdO2ZbZysxMj4+Ml09ZltpKzEyPj4yXTtnSChsLGcsaCo5
MHwwKTtmW2k+PjJdPWZbbD4+Ml07ZltpKzQ+PjJdPWZbbCs0Pj4yXTtmW2krOD4+Ml09ZltsKzg+
PjJdO2ZbaSsxMj4+Ml09ZltsKzEyPj4yXX07ZlthPj4yXT1mW2k+PjJdO2ZbYSs0Pj4yXT1mW2kr
ND4+Ml07ZlthKzg+PjJdPWZbaSs4Pj4yXTtmW2ErMTI+PjJdPWZbaSsxMj4+Ml07dD1uO3JldHVy
bn1mdW5jdGlvbiB6SyhhLGIpe2E9YXwwO2I9YnwwO2E6ZG8gc3dpdGNoKGJ8MCl7Y2FzZSAzOnN3
aXRjaChhfDApe2Nhc2UgNDp7YT0yO2JyZWFrIGF9Y2FzZSAxOnthPTg7YnJlYWsgYX1jYXNlIDg6
e2E9MTticmVhayBhfWNhc2UgMjp7YT00O2JyZWFrIGF9ZGVmYXVsdDpicmVhayBhfWNhc2UgMjpz
d2l0Y2goYXwwKXtjYXNlIDQ6e2E9MTticmVhayBhfWNhc2UgMTp7YT00O2JyZWFrIGF9ZGVmYXVs
dDpicmVhayBhfWNhc2UgMTpzd2l0Y2goYXwwKXtjYXNlIDQ6e2E9MjticmVhayBhfWNhc2UgMTp7
YT04O2JyZWFrIGF9Y2FzZSA4OnthPTQ7YnJlYWsgYX1jYXNlIDI6e2E9MTticmVhayBhfWRlZmF1
bHQ6YnJlYWsgYX1kZWZhdWx0Ont9fXdoaWxlKDApO3JldHVybiBhfDB9ZnVuY3Rpb24gQUsoYSxi
KXthPSthO2I9YnwwO3N3aXRjaChifDApe2Nhc2UgMzp7aWYoIShhPT0zLjE0MTU5MjY1MzU4OTc5
MykpaWYoIShhPT0yLjM1NjE5NDQ5MDE5MjM0NSkpaWYoIShhPT0xLjU3MDc5NjMyNjc5NDg5NjYp
KWlmKCEoYT09MC4wKSlpZighKGE9PS0uNzg1Mzk4MTYzMzk3NDQ4Mykpe2lmKGE9PS0xLjU3MDc5
NjMyNjc5NDg5NjYpYT0zLjE0MTU5MjY1MzU4OTc5M31lbHNlIGE9Mi4zNTYxOTQ0OTAxOTIzNDU7
ZWxzZSBhPTEuNTcwNzk2MzI2Nzk0ODk2NjtlbHNlIGE9MC4wO2Vsc2UgYT0tLjc4NTM5ODE2MzM5
NzQ0ODM7ZWxzZSBhPS0xLjU3MDc5NjMyNjc5NDg5NjY7YnJlYWt9Y2FzZSAyOnthPS1hO2JyZWFr
fWNhc2UgMTp7YT1hKy0xLjU3MDc5NjMyNjc5NDg5NjY7YnJlYWt9ZGVmYXVsdDp7fX1yZXR1cm4g
K2F9ZnVuY3Rpb24gQksoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLjAsZD0wLGU9MC4wLGc9MC4w
LGg9MCxpPTAsaj0wO2Q9dDt0PXQrMzJ8MDtqPWQrMTZ8MDtoPWQ7YT1mW2E+PjJdfDA7aT0obnoo
YSl8MCkrMTZ8MDtpPShmWyhmW2k+PjJdfDApKzExNj4+Ml0mMykqOTB8MDtmW2o+PjJdPWZbYj4+
Ml07ZltqKzQ+PjJdPWZbYis0Pj4yXTtmW2orOD4+Ml09ZltiKzg+PjJdO2ZbaisxMj4+Ml09Zlti
KzEyPj4yXTtnSChoLGosaSk7Yz0rcFtoPj4zXTtnPStwW2grOD4+M107YT1mW2ErMTY+PjJdfDA7
ZT0rcFthKzgwPj4zXSouNTtpZighKCEoZz49LWUpfCEoZzw9ZSkpP2M+PS0rcFthKzg4Pj4zXTow
KWE9Yzw9K3BbYSs5Nj4+M10mMTtlbHNlIGE9MDt0PWQ7cmV0dXJuIGF8MH1mdW5jdGlvbiBDSyhh
LGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxu
PTAuMDtsPXQ7dD10KzMyfDA7az1sO2g9ZlthKzE2Pj4yXXwwO2k9aCsyMDh8MDtnPWZbaT4+Ml18
MDtpZighZylqPShkW2grMjYwPj4xXSYxKSE9MDtlbHNlIGo9MTtjPWIrMTZ8MDtiPWZbYz4+Ml18
MDtlPWZbYisxMj4+Ml18MDtpZihlfDApe2lmKGo/KGZbYSsxNTI+PjJdJjR8MCk9PTA6MCl7WU8o
YSxnLGZbaCsyMjg+PjJdfDAsZltoKzI0ND4+Ml18MCxmW2grMjEyPj4yXXwwKTtiPWZbYz4+Ml18
MH1nPWZbYSszNj4+Ml18MDtuPStwW2IrMjQ+PjNdKyArKGZbZSs4Pj4yXXwwKTttPWZbZT4+Ml18
MDtwW2s+PjNdPStwW2IrMTY+PjNdKyArKGZbZSs0Pj4yXXwwKTtwW2srOD4+M109bjtmW2srMTY+
PjJdPW07ZzIoZywxMTQ3NzYsayl8MDtnPWZbYz4+Ml18MDtrPShmW2crMTA0Pj4yXXwwKSs1Nnww
O2c9ZysxNnwwO2Zbaz4+Ml09ZltnPj4yXTtmW2srND4+Ml09ZltnKzQ+PjJdO2Zbays4Pj4yXT1m
W2crOD4+Ml07ZltrKzEyPj4yXT1mW2crMTI+PjJdO3hIKGEsMTAsZlsoZltjPj4yXXwwKSsxMDQ+
PjJdfDApO2lmKGope2lmKGZbYSsxNTI+PjJdJjR8MClZTyhhLGZbaT4+Ml18MCxmW2grMjI4Pj4y
XXwwLGZbaCsyNDQ+PjJdfDAsZltoKzIxMj4+Ml18MCk7Wk8oYSl9fXQ9bDtyZXR1cm59ZnVuY3Rp
b24gREsoYSl7YT1hfDA7X0ooZlsoZlthKzE2Pj4yXXwwKSsxMj4+Ml18MCk7cmV0dXJufWZ1bmN0
aW9uIEVLKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaT0wLGo9MCxr
PTAsbD0wO2w9dDt0PXQrNjR8MDtrPWwrNDB8MDtnPWw7aWYoIShiW2Q+PjBdfDApKXtnPTcwMDY0
O2U9YSs0MHwwO2Rve2ZbYT4+Ml09ZltnPj4yXTthPWErNHwwO2c9Zys0fDB9d2hpbGUoKGF8MCk8
KGV8MCkpfWVsc2V7aj0oZXwwKT09MD8xMTQ2ODI6ZTtlPWZbKGZbYysxNj4+Ml18MCkrMTI+PjJd
fDA7aT1LSyhlLGQpfDA7aWYoIWkpe2lmKHdLKGMsZSsxNnwwLGcsZCwxNSwwKXwwKXhLKGMsZCl9
ZWxzZSBpZih3SyhjLGkrMTZ8MCxnLGosaFtpKzY1Pj4wXXwwLDApfDApe2M9QXkoYyl8MDtmW2s+
PjJdPWM7ZltrKzQ+PjJdPWQ7ZltrKzg+PjJdPWo7WXcoMCwxMTQ2ODQsayl8MH1lPWErNDB8MDtk
b3tmW2E+PjJdPWZbZz4+Ml07YT1hKzR8MDtnPWcrNHwwfXdoaWxlKChhfDApPChlfDApKX10PWw7
cmV0dXJufWZ1bmN0aW9uIEZLKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MC4wLGQ9MC4wLGU9MCxn
PTAsaD0wLGk9MC4wLGo9MCxrPTAsbD0wLjA7aj10O3Q9dCszMnwwO2s9aisxNnwwO2g9ajtlPWZb
YSs0Pj4yXXwwO2E9ZlthPj4yXXwwO2c9KG56KGEpfDApKzE2fDA7Zz0oZlsoZltnPj4yXXwwKSsx
MTY+PjJdJjMpKjkwfDA7ZltrPj4yXT1mW2I+PjJdO2Zbays0Pj4yXT1mW2IrND4+Ml07ZltrKzg+
PjJdPWZbYis4Pj4yXTtmW2srMTI+PjJdPWZbYisxMj4+Ml07Z0goaCxrLGcpO2ZbYj4+Ml09Zlto
Pj4yXTtmW2IrND4+Ml09ZltoKzQ+PjJdO2ZbYis4Pj4yXT1mW2grOD4+Ml07ZltiKzEyPj4yXT1m
W2grMTI+PjJdO2lmKCFlKXtlPWZbKGZbYSsxNj4+Ml18MCkrMTI+PjJdfDA7Zz1lKzE2fDA7YT1l
KzI0fDA7aD1lKzMyfDA7ZT1lKzQwfDB9ZWxzZXtnPWU7YT1lKzh8MDtoPWUrMTZ8MDtlPWUrMjR8
MH1kPStwW2E+PjNdO2M9K3BbZT4+M107bD0rcFtiPj4zXTtpZigoK3BbZz4+M108PWw/bDw9K3Bb
aD4+M106MCk/KGk9K3BbYis4Pj4zXSxkPD1pKTowKWE9aTw9YyYxO2Vsc2UgYT0wO3Q9ajtyZXR1
cm4gYXwwfWZ1bmN0aW9uIEdLKGEsYyxkLGUsZyl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1n
fDA7dmFyIGg9MC4wLGk9MC4wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAuMCxzPTAs
dT0wLHY9MC4wO3U9dDt0PXQrODB8MDtxPXUrNjR8MDtvPXUrMzJ8MDtzPXU7YTpkbyBpZighKGJb
YysyOD4+MF18MCkpZD0wO2Vsc2V7aD0rcFtjPj4zXTtuPWErMTZ8MDtrPWZbKGZbbj4+Ml18MCkr
MTI+PjJdfDA7aj1rKzQ4fDA7az1rKzU2fDA7Yz0wO3doaWxlKDEpe2lmKChjfDApPj0oZltqPj4y
XXwwKSlicmVhayBhO2w9KG56KGEpfDApKzE2fDA7bD0oZlsoZltsPj4yXXwwKSsxMTY+PjJdJjF8
MCk9PTA7bT1mWyhmW2s+PjJdfDApKyhjPDwyKT4+Ml18MDtpPSsofn4rcFsobD9tKzE2fDA6bSsy
NHwwKT4+M118MCk7aWYoaD49aT8ocj0rKH5+K3BbKGw/bSszMnwwOm0rNDB8MCk+PjNdfDApLGg8
PXIpOjApYnJlYWs7Yz1jKzF8MH1hPShueihhKXwwKSsxNnwwO2lmKCEoZlsoZlthPj4yXXwwKSsx
MTY+PjJdJjEpKXtzPWZbbj4+Ml18MDt2PStwW3MrMTY+PjNdO3BbZT4+M109ditpO2k9K3Bbcysy
ND4+M107aD0rcFtzKzgwPj4zXSouNTtwW2UrOD4+M109aS1oO3BbZSsxNj4+M109dityfWVsc2V7
bT0oZlsoZltrPj4yXXwwKSsoYzw8Mik+PjJdfDApKzE2fDA7YT0oZltuPj4yXXwwKSsxNnwwO2Zb
bz4+Ml09ZlttPj4yXTtmW28rND4+Ml09ZlttKzQ+PjJdO2Zbbys4Pj4yXT1mW20rOD4+Ml07Zltv
KzEyPj4yXT1mW20rMTI+PjJdO2ZbbysxNj4+Ml09ZlttKzE2Pj4yXTtmW28rMjA+PjJdPWZbbSsy
MD4+Ml07ZltvKzI0Pj4yXT1mW20rMjQ+PjJdO2ZbbysyOD4+Ml09ZlttKzI4Pj4yXTtmW3E+PjJd
PWZbYT4+Ml07ZltxKzQ+PjJdPWZbYSs0Pj4yXTtmW3ErOD4+Ml09ZlthKzg+PjJdO2ZbcSsxMj4+
Ml09ZlthKzEyPj4yXTtoSChzLG8scSk7ZltlPj4yXT1mW3M+PjJdO2ZbZSs0Pj4yXT1mW3MrND4+
Ml07ZltlKzg+PjJdPWZbcys4Pj4yXTtmW2UrMTI+PjJdPWZbcysxMj4+Ml07ZltlKzE2Pj4yXT1m
W3MrMTY+PjJdO2ZbZSsyMD4+Ml09ZltzKzIwPj4yXTtmW2UrMjQ+PjJdPWZbcysyND4+Ml07Zltl
KzI4Pj4yXT1mW3MrMjg+PjJdO3M9ZltuPj4yXXwwO2g9K3Bbcys4MD4+M10qLjU7aT0rcFtzKzI0
Pj4zXX1wW2UrMjQ+PjNdPWgraTtmW2c+PjJdPTF9d2hpbGUoMCk7dD11O3JldHVybiBkfDB9ZnVu
Y3Rpb24gSEsoYSxjKXthPWF8MDtjPWN8MDt2YXIgZT0wLGc9MCxoPTAsaT0wLjAsaj0wLGs9MCxs
PTAsbT0wLG89MCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9MCx4PTAuMDt3PXQ7dD10KzE0NHwwO2s9
dys5NnwwO209dys2NHwwO3E9dztyPXcrMTI4fDA7cz1mW2ErMTY+PjJdfDA7dT1zKzIwOHwwO2U9
Zlt1Pj4yXXwwO2lmKCFlKXY9KGRbcysyNjA+PjFdJjEpIT0wO2Vsc2Ugdj0xO2o9YysxNnwwO289
ZltqPj4yXXwwO2w9ZltvKzEyPj4yXXwwO2g9bCsxNnwwO2ZbbT4+Ml09ZltoPj4yXTtmW20rND4+
Ml09ZltoKzQ+PjJdO2ZbbSs4Pj4yXT1mW2grOD4+Ml07ZlttKzEyPj4yXT1mW2grMTI+PjJdO2Zb
bSsxNj4+Ml09ZltoKzE2Pj4yXTtmW20rMjA+PjJdPWZbaCsyMD4+Ml07ZlttKzI0Pj4yXT1mW2gr
MjQ+PjJdO2ZbbSsyOD4+Ml09ZltoKzI4Pj4yXTt4PStwW28rMTY+PjNdO3BbbT4+M109K3BbbT4+
M10reDtpPStwW28rMjQ+PjNdO289bSs4fDA7cFtvPj4zXT0rcFtvPj4zXStpO289bSsxNnwwO3Bb
bz4+M109K3Bbbz4+M10reDtoPW0rMjR8MDtwW2g+PjNdPStwW2g+PjNdK2k7aWYodj8oZlthKzE1
Mj4+Ml0mNHwwKT09MDowKVlPKGEsZSxmW3MrMjI4Pj4yXXwwLGZbcysyNDQ+PjJdfDAsZltzKzIx
Mj4+Ml18MCk7ZT1tSyhhLGMpfDA7b0soYSxjKXwwO2Zbcj4+Ml09MDtpZighKGUmMSkpZz0wO2Vs
c2V7Zz1uSyhjKXwwO2lmKCEoKERHKGcscixrKXwwKTw8MjQ+PjI0KSl7ZFAoYSxnKTtnPTF9ZWxz
ZXtkUChhLGZbcj4+Ml18MCk7Zz1mW3IrND4+Ml18MDtoPVRMKGMsZls0ODM2NV18MCwwLDApfDA7
aT0rbltrPj4yXTtpZighZyllUChhLDE0NTU4NCxoLGkpO2Vsc2UgZVAoYSxnLGgsaSk7Zz1lPj4+
MSYxfDJ9fWg9ZltmWyhmW2o+PjJdfDApKzg+PjJdPj4yXXwwO2lmKChiW2g+PjBdfDApPT03Nyl7
aj0oSCQoaCwxMTQ1NTMpfDApPT0wO2U9aj9lfDQ6ZX1pZighKGUmMjEzMDcwNjQ0NCkpe2Zbaz4+
Ml09ZlttPj4yXTtmW2srND4+Ml09ZlttKzQ+PjJdO2Zbays4Pj4yXT1mW20rOD4+Ml07ZltrKzEy
Pj4yXT1mW20rMTI+PjJdO2ZbaysxNj4+Ml09ZlttKzE2Pj4yXTtmW2srMjA+PjJdPWZbbSsyMD4+
Ml07ZltrKzI0Pj4yXT1mW20rMjQ+PjJdO2ZbaysyOD4+Ml09ZlttKzI4Pj4yXTtpUChhLGssZyl9
ZWxzZXtmW3E+PjJdPWZbbT4+Ml07ZltxKzQ+PjJdPWZbbSs0Pj4yXTtmW3ErOD4+Ml09ZlttKzg+
PjJdO2ZbcSsxMj4+Ml09ZlttKzEyPj4yXTttPXErMzJ8MDtmW20+PjJdPWZbbz4+Ml07ZlttKzQ+
PjJdPWZbbys0Pj4yXTtmW20rOD4+Ml09ZltvKzg+PjJdO2ZbbSsxMj4+Ml09ZltvKzEyPj4yXTtw
W3ErMTY+PjNdPStwW20+PjNdO3BbcSsyND4+M109K3BbcSs4Pj4zXTtwW3ErNDg+PjNdPStwW3E+
PjNdO3BbcSs1Nj4+M109K3BbcSs0MD4+M107TkooYSxxLDQsZSxnKX1JSyhhLGMsbCk7TV8oZlty
Pj4yXXwwKTtpZih2KXtpZihmW2ErMTUyPj4yXSY0fDApWU8oYSxmW3U+PjJdfDAsZltzKzIyOD4+
Ml18MCxmW3MrMjQ0Pj4yXXwwLGZbcysyMTI+PjJdfDApO1pPKGEpfXQ9dztyZXR1cm59ZnVuY3Rp
b24gSUsoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wLGg9MCxpPTAsaj0wLGs9
MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MCxzPTAsdT0wLHY9MCx3PTAseD0wO3g9dDt0PXQrMTQ0
fDA7cj14KzEyOHwwO3E9eCsxMTJ8MDtzPXg7dT14KzMyfDA7Zz14Kzk2fDA7aD14KzgwfDA7dj14
KzY0fDA7dz14KzQ4fDA7aT1kKzUyfDA7ZT1mW2k+PjJdfDA7aWYoIWUpZT1jKzE2fDA7ZWxzZXtv
PWUrNTZ8MDtuPWQrMTZ8MDtlPWQrMzJ8MDtmW3E+PjJdPWZbbj4+Ml07ZltxKzQ+PjJdPWZbbis0
Pj4yXTtmW3ErOD4+Ml09ZltuKzg+PjJdO2ZbcSsxMj4+Ml09ZltuKzEyPj4yXTtmW3I+PjJdPWZb
ZT4+Ml07ZltyKzQ+PjJdPWZbZSs0Pj4yXTtmW3IrOD4+Ml09ZltlKzg+PjJdO2ZbcisxMj4+Ml09
ZltlKzEyPj4yXTtKSyhnLHEscik7ZT1jKzE2fDA7bj0oZltlPj4yXXwwKSsxNnwwO2ZbcT4+Ml09
ZltnPj4yXTtmW3ErND4+Ml09ZltnKzQ+PjJdO2ZbcSs4Pj4yXT1mW2crOD4+Ml07ZltxKzEyPj4y
XT1mW2crMTI+PjJdO2Zbcj4+Ml09ZltuPj4yXTtmW3IrND4+Ml09ZltuKzQ+PjJdO2Zbcis4Pj4y
XT1mW24rOD4+Ml07ZltyKzEyPj4yXT1mW24rMTI+PjJdO3FLKGgscSxyKTtmW28+PjJdPWZbaD4+
Ml07ZltvKzQ+PjJdPWZbaCs0Pj4yXTtmW28rOD4+Ml09ZltoKzg+PjJdO2ZbbysxMj4+Ml09Zlto
KzEyPj4yXTt4SChhLDEwLGZbaT4+Ml18MCk7b0soYSxjKXwwfW49KGZbZT4+Ml18MCkrMTZ8MDtm
W3U+PjJdPWZbbj4+Ml07Zlt1KzQ+PjJdPWZbbis0Pj4yXTtmW3UrOD4+Ml09ZltuKzg+PjJdO2Zb
dSsxMj4+Ml09ZltuKzEyPj4yXTtuPWQrNDh8MDtvPWQrNTZ8MDtkPWQrNjR8MDtqPXMrMTZ8MDtr
PXMrMjR8MDtsPXMrOHwwO209cysxNnwwO2k9MDt3aGlsZSgxKXtpZigoaXwwKT49KGZbbj4+Ml18
MCkpYnJlYWs7aWYoaXwwKXtoPShmW28+PjJdfDApKyhpPDwyKXwwO2U9ZltoPj4yXXwwO2lmKCEo
YltkPj4wXXwwKSl7Zz1lKzMyfDA7ZltqPj4yXT1mW2c+PjJdO2Zbais0Pj4yXT1mW2crND4+Ml07
ZltqKzg+PjJdPWZbZys4Pj4yXTtmW2orMTI+PjJdPWZbZysxMj4+Ml07cFtzPj4zXT0rcFsoZlto
Pj4yXXwwKSsxNj4+M107Zz1sO2U9a31lbHNle2c9ZSsxNnwwO2Zbcz4+Ml09ZltnPj4yXTtmW3Mr
ND4+Ml09ZltnKzQ+PjJdO2Zbcys4Pj4yXT1mW2crOD4+Ml07ZltzKzEyPj4yXT1mW2crMTI+PjJd
O3BbbT4+M109K3Bbcz4+M107Zz1rO2U9KGZbaD4+Ml18MCkrNDB8MH1wW2c+PjNdPStwW2U+PjNd
O2ZbcT4+Ml09ZltzPj4yXTtmW3ErND4+Ml09ZltzKzQ+PjJdO2ZbcSs4Pj4yXT1mW3MrOD4+Ml07
ZltxKzEyPj4yXT1mW3MrMTI+PjJdO2Zbcj4+Ml09Zlt1Pj4yXTtmW3IrND4+Ml09Zlt1KzQ+PjJd
O2Zbcis4Pj4yXT1mW3UrOD4+Ml07ZltyKzEyPj4yXT1mW3UrMTI+PjJdO3FLKHYscSxyKTtmW3M+
PjJdPWZbdj4+Ml07ZltzKzQ+PjJdPWZbdis0Pj4yXTtmW3MrOD4+Ml09Zlt2Kzg+PjJdO2Zbcysx
Mj4+Ml09Zlt2KzEyPj4yXTtmW3E+PjJdPWZbaj4+Ml07ZltxKzQ+PjJdPWZbais0Pj4yXTtmW3Er
OD4+Ml09ZltqKzg+PjJdO2ZbcSsxMj4+Ml09ZltqKzEyPj4yXTtmW3I+PjJdPWZbdT4+Ml07Zlty
KzQ+PjJdPWZbdSs0Pj4yXTtmW3IrOD4+Ml09Zlt1Kzg+PjJdO2ZbcisxMj4+Ml09Zlt1KzEyPj4y
XTtxSyh3LHEscik7ZltqPj4yXT1mW3c+PjJdO2Zbais0Pj4yXT1mW3crND4+Ml07ZltqKzg+PjJd
PWZbdys4Pj4yXTtmW2orMTI+PjJdPWZbdysxMj4+Ml07a1AoYSxzLDIpfUlLKGEsYyxmWyhmW28+
PjJdfDApKyhpPDwyKT4+Ml18MCk7aT1pKzF8MH10PXg7cmV0dXJufWZ1bmN0aW9uIEpLKGEsYixj
KXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLjA7ZD0oK3BbYys4Pj4zXSsgK3BbYis4Pj4zXSkq
LjU7cFthPj4zXT0oK3BbYz4+M10rICtwW2I+PjNdKSouNTtwW2ErOD4+M109ZDtyZXR1cm59ZnVu
Y3Rpb24gS0soYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTA7ZD1mW2ErNjA+PjJdfDA7
aWYoISgoKGR8MCkhPTA/KGJbZD4+MF18MCk9PShiW2M+PjBdfDApOjApPyhIJChkLGMpfDApPT0w
OjApKWU9NDthOmRvIGlmKChlfDApPT00KXtnPWErNTZ8MDtlPWZbYSs0OD4+Ml18MDtkPTA7d2hp
bGUoMSl7aWYoKGR8MCk+PShlfDApKXthPTA7YnJlYWsgYX1hPUtLKGZbKGZbZz4+Ml18MCkrKGQ8
PDIpPj4yXXwwLGMpfDA7aWYoIWEpZD1kKzF8MDtlbHNlIGJyZWFrfX13aGlsZSgwKTtyZXR1cm4g
YXwwfWZ1bmN0aW9uIExLKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtjPWIrOHwwO3BbYz4+M109
K3BbYz4+M10qMS4zNzU7ZlthPj4yXT1mW2I+PjJdO2ZbYSs0Pj4yXT1mW2IrND4+Ml07ZlthKzg+
PjJdPWZbYis4Pj4yXTtmW2ErMTI+PjJdPWZbYisxMj4+Ml07cmV0dXJufWZ1bmN0aW9uIE1LKGEs
Yil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAuMCxlPTAuMCxnPTAuMCxoPTAuMCxpPTAuMCxqPTAu
MCxrPTAuMCxsPTAuMDtqPStwW2I+PjNdO2U9aiouNTtsPStwW2IrOD4+M107aD1sKi41O3BbYT4+
M109ZTtkPWwqLjQwOTA5MDkwOTA5MDkwOTA2O3BbYSs4Pj4zXT1kO3BbYSsxNj4+M109ZTtnPWwq
LjQ1OTI1MzA5MDkwOTA5MDk7cFthKzI0Pj4zXT1nO2k9aiouMjc1ODkyO3BbYSszMj4+M109aTtw
W2ErNDA+PjNdPWg7cFthKzQ4Pj4zXT0wLjA7cFthKzU2Pj4zXT1oO2o9aiotLjI3NTg5MjtwW2Er
NjQ+PjNdPWo7cFthKzcyPj4zXT1oO2s9LWU7cFthKzgwPj4zXT1rO3BbYSs4OD4+M109ZztjPWEr
OTZ8MDtwW2M+PjNdPWs7cFthKzEwND4+M109ZDtiPWErMTEyfDA7ZltiPj4yXT1mW2M+PjJdO2Zb
Yis0Pj4yXT1mW2MrND4+Ml07ZltiKzg+PjJdPWZbYys4Pj4yXTtmW2IrMTI+PjJdPWZbYysxMj4+
Ml07Yj1hKzEyOHwwO3BbYj4+M109aztwW2ErMTM2Pj4zXT1sKi0uNDA5MDkwOTA5MDkwOTA5MDY7
Yz1hKzE0NHwwO2ZbYz4+Ml09ZltiPj4yXTtmW2MrND4+Ml09ZltiKzQ+PjJdO2ZbYys4Pj4yXT1m
W2IrOD4+Ml07ZltjKzEyPj4yXT1mW2IrMTI+PjJdO3BbYSsxNjA+PjNdPWs7Zz0tZztwW2ErMTY4
Pj4zXT1nO3BbYSsxNzY+PjNdPWo7aD0taDtwW2ErMTg0Pj4zXT1oO3BbYSsxOTI+PjNdPTAuMDtw
W2ErMjAwPj4zXT1oO3BbYSsyMDg+PjNdPWk7cFthKzIxNj4+M109aDtwW2ErMjI0Pj4zXT1lO3Bb
YSsyMzI+PjNdPWc7Yz1hKzI0MHwwO3BbYz4+M109ZTtwW2ErMjQ4Pj4zXT0tZDtiPWErMjU2fDA7
ZltiPj4yXT1mW2M+PjJdO2ZbYis0Pj4yXT1mW2MrND4+Ml07ZltiKzg+PjJdPWZbYys4Pj4yXTtm
W2IrMTI+PjJdPWZbYysxMj4+Ml07Yj1hKzI4OHwwO2M9YSsyNzJ8MDtmW2M+PjJdPWZbYT4+Ml07
ZltjKzQ+PjJdPWZbYSs0Pj4yXTtmW2MrOD4+Ml09ZlthKzg+PjJdO2ZbYysxMj4+Ml09ZlthKzEy
Pj4yXTtmW2I+PjJdPWZbYT4+Ml07ZltiKzQ+PjJdPWZbYSs0Pj4yXTtmW2IrOD4+Ml09ZlthKzg+
PjJdO2ZbYisxMj4+Ml09ZlthKzEyPj4yXTtyZXR1cm59ZnVuY3Rpb24gTksoYSxiKXthPWF8MDti
PWJ8MDt2YXIgYz0wLjAsZD0wLjAsZT0wLjAsZz0wLGg9MC4wLGk9MCxqPTAsaz0wLGw9MCxtPTAs
bj0wLG89MC4wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLjA7eT10O3Q9dCsx
NDR8MDt2PXkrMTEyfDA7dT15Kzk2fDA7dz15KzgwfDA7cz15KzY0fDA7eD15KzMyfDA7cT15KzE2
fDA7cj15O2c9eSs0OHwwO2RvIGlmKGEpe2k9ZlthKzQ+PjJdfDA7aj1mW2E+PjJdfDA7bj0obnoo
ail8MCkrMTZ8MDtuPShmWyhmW24+PjJdfDApKzExNj4+Ml0mMykqOTB8MDtmW3Y+PjJdPWZbYj4+
Ml07Zlt2KzQ+PjJdPWZbYis0Pj4yXTtmW3YrOD4+Ml09ZltiKzg+PjJdO2ZbdisxMj4+Ml09Zlti
KzEyPj4yXTtnSChnLHYsbik7Zlt4Pj4yXT1mW2c+PjJdO2ZbeCs0Pj4yXT1mW2crND4+Ml07Zlt4
Kzg+PjJdPWZbZys4Pj4yXTtmW3grMTI+PjJdPWZbZysxMj4+Ml07aWYoaXwwKXtjPStwW3g+PjNd
O2lmKCEoK3BbaT4+M108PWMpKXthPTA7YnJlYWt9aWYoIShjPD0rcFtpKzE2Pj4zXSkpe2E9MDti
cmVha31jPStwW3grOD4+M107aWYoISgrcFtpKzg+PjNdPD1jKSl7YT0wO2JyZWFrfWE9Yzw9K3Bb
aSsyND4+M107YnJlYWt9aWYoKGp8MCk9PShmWzQ4NDQ1XXwwKSl7Yz0rcFsyNDAzOV07ZD0rcFsy
NDA0MF07aD0rcFsyNDA0MV19ZWxzZXthPWorMTZ8MDtiPWZbKGZbYT4+Ml18MCkrMTI+PjJdfDA7
Zls0ODQ0Nl09YjtmWzQ4NDQ3XT1mW2IrNDQ+PjJdO2ZbNDg0NDhdPWZbYis4Pj4yXTtpZighKGZb
Yis0MD4+Ml0mMjA0OCkpe249KG56KGopfDApKzE2fDA7bj0oZlsoZltuPj4yXXwwKSsxMTY+PjJd
JjF8MCk9PTA7bT1mW2E+PjJdfDA7aD0rcFttKzk2Pj4zXSsgK3BbbSs4OD4+M107ej0rcFttKzgw
Pj4zXTtkPStwW20rMzI+PjNdKjcyLjA7Yz0rcFttKzQwPj4zXSo3Mi4wO2M9Kyh+fihjKyhjPj0w
LjA/LjU6LS41KSl8MCk7ZD0rKH5+KGQrKGQ+PTAuMD8uNTotLjUpKXwwKTtlPW4/aDp6O2g9bj96
Omh9ZWxzZXtzTSh2LGIpO2g9K3BbdisxNj4+M10tK3Bbdj4+M107ej0rcFt2KzI0Pj4zXS0rcFt2
Kzg+PjNdO249KG56KGopfDApKzE2fDA7bj0oZlsoZltuPj4yXXwwKSsxMTY+PjJdJjF8MCk9PTA7
Yz16O2Q9aDtlPW4/aDp6O2g9bj96Omh9ZT1kLyhlPT0wLjA/MS4wOmUpO3BbMjQwMzldPWU7ej1j
LyhoPT0wLjA/MS4wOmgpO3BbMjQwNDBdPXo7aD1kKi41O3BbMjQwNDFdPWg7cFsyNDA0Ml09Yyou
NTtuPVYoKGZbKGZbNDg0NDZdfDApKzQ+PjJdfDApKy0xfDAsZls0ODQ0OF18MCl8MDtmWzQ4NDQ5
XT0obnwwKT4wP246MDtmWzQ4NDQ1XT1qO2M9ZTtkPXp9ZT0rcFt4Pj4zXSpjO3BbeD4+M109ZTtu
PXgrOHwwO2M9K3Bbbj4+M10qZDtwW24+PjNdPWM7aWYoISgrSSgrZSk+aCk/KHo9K0koK2MpLG89
K3BbMjQwNDJdLCEoej5vKSk6MCl7bj1mWzQ4NDQ4XXwwO2lmKChufDApPDMpe2E9K2wzKGUvaCxj
L28pPDEuMDticmVha31iPShmWzQ4NDUwXXwwKSUobnwwKXwwO2E9KGIrMXwwKSUobnwwKXwwO2s9
Zls0ODQ0N118MDtsPWZbNDg0NDldfDA7bT1rKyhsK2I8PDQpfDA7ZltxPj4yXT1mW20+PjJdO2Zb
cSs0Pj4yXT1mW20rND4+Ml07ZltxKzg+PjJdPWZbbSs4Pj4yXTtmW3ErMTI+PjJdPWZbbSsxMj4+
Ml07bT1rKyhsK2E8PDQpfDA7ZltyPj4yXT1mW20+PjJdO2Zbcis0Pj4yXT1mW20rND4+Ml07Zlty
Kzg+PjJdPWZbbSs4Pj4yXTtmW3IrMTI+PjJdPWZbbSsxMj4+Ml07ZltzPj4yXT1mW3g+PjJdO2Zb
cys0Pj4yXT1mW3grND4+Ml07ZltzKzg+PjJdPWZbeCs4Pj4yXTtmW3MrMTI+PjJdPWZbeCsxMj4+
Ml07Zlt3Pj4yXT1mWzQ4MDg2XTtmW3crND4+Ml09Zls0ODA4N107Zlt3Kzg+PjJdPWZbNDgwODhd
O2ZbdysxMj4+Ml09Zls0ODA4OV07Zlt1Pj4yXT1mW3E+PjJdO2ZbdSs0Pj4yXT1mW3ErND4+Ml07
Zlt1Kzg+PjJdPWZbcSs4Pj4yXTtmW3UrMTI+PjJdPWZbcSsxMj4+Ml07Zlt2Pj4yXT1mW20+PjJd
O2Zbdis0Pj4yXT1mW20rND4+Ml07Zlt2Kzg+PjJdPWZbbSs4Pj4yXTtmW3YrMTI+PjJdPWZbbSsx
Mj4+Ml07aWYodksocyx3LHUsdil8MCl7ZltzPj4yXT1mW3g+PjJdO2Zbcys0Pj4yXT1mW3grND4+
Ml07ZltzKzg+PjJdPWZbeCs4Pj4yXTtmW3MrMTI+PjJdPWZbeCsxMj4+Ml07Zlt3Pj4yXT1mW3E+
PjJdO2Zbdys0Pj4yXT1mW3ErND4+Ml07Zlt3Kzg+PjJdPWZbcSs4Pj4yXTtmW3crMTI+PjJdPWZb
cSsxMj4+Ml07Zlt1Pj4yXT1mW3I+PjJdO2ZbdSs0Pj4yXT1mW3IrND4+Ml07Zlt1Kzg+PjJdPWZb
cis4Pj4yXTtmW3UrMTI+PjJdPWZbcisxMj4+Ml07Zlt2Pj4yXT1mWzQ4MDg2XTtmW3YrND4+Ml09
Zls0ODA4N107Zlt2Kzg+PjJdPWZbNDgwODhdO2ZbdisxMj4+Ml09Zls0ODA4OV07bT0odksocyx3
LHUsdil8MCkhPTA7aWYobT8oZltzPj4yXT1mW3g+PjJdLGZbcys0Pj4yXT1mW3grND4+Ml0sZltz
Kzg+PjJdPWZbeCs4Pj4yXSxmW3MrMTI+PjJdPWZbeCsxMj4+Ml0sZlt3Pj4yXT1mW3I+PjJdLGZb
dys0Pj4yXT1mW3IrND4+Ml0sZlt3Kzg+PjJdPWZbcis4Pj4yXSxmW3crMTI+PjJdPWZbcisxMj4+
Ml0sZlt1Pj4yXT1mWzQ4MDg2XSxmW3UrND4+Ml09Zls0ODA4N10sZlt1Kzg+PjJdPWZbNDgwODhd
LGZbdSsxMj4+Ml09Zls0ODA4OV0sZlt2Pj4yXT1mW3E+PjJdLGZbdis0Pj4yXT1mW3ErND4+Ml0s
Zlt2Kzg+PjJdPWZbcSs4Pj4yXSxmW3YrMTI+PjJdPWZbcSsxMj4+Ml0sdksocyx3LHUsdil8MCk6
MCl7YT0xO2JyZWFrfWo9bistMXwwO2k9YjtiPTE7d2hpbGUoMSl7aWYoKGJ8MCk+PShufDApKXti
PTI4O2JyZWFrfWlmKG0pe2c9YTthPShhKzF8MCklKG58MCl8MH1lbHNle2c9KGoraXwwKSUobnww
KXwwO2E9aX1xPWsrKGcrbDw8NCl8MDtyPWsrKGErbDw8NCl8MDtmW3M+PjJdPWZbeD4+Ml07Zltz
KzQ+PjJdPWZbeCs0Pj4yXTtmW3MrOD4+Ml09Zlt4Kzg+PjJdO2ZbcysxMj4+Ml09Zlt4KzEyPj4y
XTtmW3c+PjJdPWZbNDgwODZdO2Zbdys0Pj4yXT1mWzQ4MDg3XTtmW3crOD4+Ml09Zls0ODA4OF07
Zlt3KzEyPj4yXT1mWzQ4MDg5XTtmW3U+PjJdPWZbcT4+Ml07Zlt1KzQ+PjJdPWZbcSs0Pj4yXTtm
W3UrOD4+Ml09ZltxKzg+PjJdO2ZbdSsxMj4+Ml09ZltxKzEyPj4yXTtmW3Y+PjJdPWZbcj4+Ml07
Zlt2KzQ+PjJdPWZbcis0Pj4yXTtmW3YrOD4+Ml09ZltyKzg+PjJdO2ZbdisxMj4+Ml09ZltyKzEy
Pj4yXTtpZighKHZLKHMsdyx1LHYpfDApKXtiPTI3O2JyZWFrfWVsc2V7aT1nO2I9YisxfDB9fWlm
KChifDApPT0yNyl7Zls0ODQ1MF09ZzthPTA7YnJlYWt9ZWxzZSBpZigoYnwwKT09Mjgpe2ZbNDg0
NTBdPWk7YT0xO2JyZWFrfX1lbHNlIGE9MH1lbHNlIGE9MH1lbHNle2ZbNDg0NDVdPTA7YT0wfXdo
aWxlKDApO3Q9eTtyZXR1cm4gYSYxfDB9ZnVuY3Rpb24gT0soYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wLjAsZD0wLjAsZT0wLGc9MC4wLGg9MCxpPTAsaj0wO2k9dDt0PXQrMzJ8MDtlPWkrMTZ8MDto
PWk7aWYoYSl7YT1mW2E+PjJdfDA7aj0obnooYSl8MCkrMTZ8MDtqPShmWyhmW2o+PjJdfDApKzEx
Nj4+Ml0mMykqOTB8MDtmW2U+PjJdPWZbYj4+Ml07ZltlKzQ+PjJdPWZbYis0Pj4yXTtmW2UrOD4+
Ml09ZltiKzg+PjJdO2ZbZSsxMj4+Ml09ZltiKzEyPj4yXTtnSChoLGUsaik7Zz0rcFtoPj4zXTtk
PStwW2grOD4+M107aWYoKGF8MCk9PShmWzQ4NDUzXXwwKSljPStwWzI0MDQ1XTtlbHNle2g9Zlso
ZlthKzE2Pj4yXXwwKSsxMj4+Ml18MDtqPShmW2grND4+Ml08PDEpKy0yfDA7Yz0rcFsoZltoKzQ0
Pj4yXXwwKSsoKCgoanwwKT4wP2o6MCl8MSk8PDQpPj4zXTtwWzI0MDQ1XT1jO2ZbNDg0NTNdPWF9
aWYoK0koK2cpPmN8K0koK2QpPmMpYT0wO2Vsc2UgYT0rbDMoZyxkKTw9YyYxfWVsc2V7Zls0ODQ1
M109MDthPTB9dD1pO3JldHVybiBhfDB9ZnVuY3Rpb24gUEsoYSxjKXthPWF8MDtjPWN8MDt2YXIg
ZT0wLGc9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9MCxzPTAsdT0wLjAsdj0w
LHc9MDtzPXQ7dD10KzE2fDA7aT1zO3E9ZlthKzE2Pj4yXXwwO3I9cSsyMDh8MDtlPWZbcj4+Ml18
MDtpZigoZXwwKT09MD8oZFtxKzI2MD4+MV0mMSk9PTA6MClvPTA7ZWxzZSBpZighKGZbYSsxNTI+
PjJdJjQpKXtZTyhhLGUsZltxKzIyOD4+Ml18MCxmW3ErMjQ0Pj4yXXwwLGZbcSsyMTI+PjJdfDAp
O289MX1lbHNlIG89MTtsPWMrMTZ8MDtqPWZbKGZbbD4+Ml18MCkrMTI+PjJdfDA7bT1mW2orNDQ+
PjJdfDA7bj1mW2orOD4+Ml18MDtqPWZbais0Pj4yXXwwO2lmKChmWzQ4NDUxXXwwKTwobnwwKSl7
ZT1uKzJ8MDtmWzQ4NDUxXT1lO2c9Zls0ODQ1Ml18MDtpZighZyllPUVIKGU8PDQpfDA7ZWxzZSBl
PUdIKGcsZTw8NCl8MDtmWzQ4NDUyXT1lfXNLKGMsaSl8MDtpZighKGZbaT4+Ml0mMzIpKWZQKGEs
NzI5NjQpO2Vsc2UgZlAoYSw3Mjk2MCk7ZT1mWzQ4MzY0XXwwO2lmKGV8MClvUChhLCtVTChjLGUs
MS4wLDAuMCkpO2U9aFsoZltsPj4yXXwwKSsxMTc+PjBdfDA7ZG8gaWYoIShlJjEpKXtpZihlJjJ8
MCl7YlAoYSxYTChjLDAsMTE0NTgyKXwwKTtlPVhMKGMsMCwxMTQ1OTApfDA7ZFAoYSxlKTticmVh
a31pZihlJjh8MCl7YlAoYSxYTChjLDAsMTE0NTk4KXwwKTtlPVhMKGMsMCwxMTQ2MDYpfDA7ZFAo
YSxlKTticmVha31pZighKGUmNCkpe2U9cksoYywxNDU1ODQpfDA7ZFAoYSxlKTtvSyhhLGMpfDA7
YnJlYWt9ZWxzZXtiUChhLFhMKGMsMCwxMTQ2MTQpfDApO2U9WEwoYywwLDExNDYyMil8MDtkUChh
LGUpO2JyZWFrfX1lbHNle2JQKGEsWEwoYywwLDExNDU2Nil8MCk7ZT1YTChjLDAsMTE0NTc0KXww
O2RQKGEsZSl9d2hpbGUoMCk7aWYoIWopaWYoIShiW2U+PjBdfDApKWc9MTtlbHNle2JQKGEsZSk7
Zz0xfWVsc2UgZz1qO2k9MTtjPTA7d2hpbGUoMSl7aWYoKGN8MCk+PShnfDApKWJyZWFrO2o9Vihj
LG4pfDA7az1mWzQ4NDUyXXwwO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KG58MCkpYnJlYWs7dz1l
K2p8MDt1PStwW20rKHc8PDQpKzg+PjNdO3Y9ZltsPj4yXXwwO3BbaysoZTw8NCk+PjNdPStwW3Yr
MTY+PjNdKyArcFttKyh3PDw0KT4+M107cFtrKyhlPDw0KSs4Pj4zXT0rcFt2KzI0Pj4zXSt1O2U9
ZSsxfDB9Z1AoYSxrLG4saSk7aT0wO2M9YysxfDB9aWYobyl7aWYoZlthKzE1Mj4+Ml0mNHwwKVlP
KGEsZltyPj4yXXwwLGZbcSsyMjg+PjJdfDAsZltxKzI0ND4+Ml18MCxmW3ErMjEyPj4yXXwwKTta
TyhhKX10PXM7cmV0dXJufWZ1bmN0aW9uIFFLKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9
ZHwwO3ZhciBlPTAsZz0wO2U9dDt0PXQrNDh8MDtnPWU7Yz1SSyhiLGMsZCl8MDtmW2crMzY+PjJd
PWZbZCszNj4+Ml07d0soYixmW2QrMjQ+PjJdfDAsZyxjLGhbZCszMz4+MF18MCwwKXwwO2I9Zztj
PWErNDB8MDtkb3tmW2E+PjJdPWZbYj4+Ml07YT1hKzR8MDtiPWIrNHwwfXdoaWxlKChhfDApPChj
fDApKTt0PWU7cmV0dXJufWZ1bmN0aW9uIFJLKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8MDt2YXIg
ZT0wLGc9MCxoPTAuMCxpPTAuMCxqPTAsaz0wLjAsbD0wLjAsbT0wLG49MCxvPTAscT0wLHI9MCxz
PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLjAsQj0wLjAsQz0wO3o9dDt0PXQrMzJ8MDt5
PXo7Zz16KzI0fDA7aj16KzE2fDA7eD0obnooYSl8MCkrNjB8MDt4PWZbKGZbKGZbeD4+Ml18MCkr
MTY+PjJdfDApKzExNj4+Ml0mMztlPWErMTZ8MDt3PShmW2U+PjJdfDApKzE2fDA7Zlt5Pj4yXT1m
W3c+PjJdO2ZbeSs0Pj4yXT1mW3crND4+Ml07Zlt5Kzg+PjJdPWZbdys4Pj4yXTtmW3krMTI+PjJd
PWZbdysxMj4+Ml07U0soZyx5LHgpO3c9KGZbYysxNj4+Ml18MCkrMTZ8MDtmW3k+PjJdPWZbdz4+
Ml07Zlt5KzQ+PjJdPWZbdys0Pj4yXTtmW3krOD4+Ml09Zlt3Kzg+PjJdO2ZbeSsxMj4+Ml09Zlt3
KzEyPj4yXTtTSyhqLHkseCk7eD1iW2QrMzM+PjBdfDA7eT14JjI1NTthOmRvIHN3aXRjaCh4PDwy
ND4+MjQpe2Nhc2UgMDpjYXNlIDE1OntjPTA7YnJlYWt9ZGVmYXVsdDp7Yz1mW2QrMjQ+PjJdfDA7
aWYoIWMpe3g9KG56KGEpfDApKzE2fDA7eD0oZlsoZlt4Pj4yXXwwKSsxMTY+PjJdJjF8MCk9PTA7
dz1mW2U+PjJdfDA7Qj0rcFt3KzgwPj4zXSouNTtBPS1CO2s9K3Bbdys4OD4+M107aT0taztsPXg/
aTpBO2g9eD9rOkI7az14P0I6aztpPXg/QTppfWVsc2V7bD0rcFtjPj4zXTtoPStwW2MrMTY+PjNd
O2s9K3BbYysyND4+M107aT0rcFtjKzg+PjNdfXg9ZltnPj4yXXwwO3Y9ZltnKzQ+PjJdfDA7dz1m
W2o+PjJdfDA7cj1mW2orND4+Ml18MDtzPX5+aTt1PX5+KChoK2wpKi41KTtxPX5+aDtvPX5+KChr
K2kpKi41KTtuPX5+aztqPX5+bDtnPTA7Yz0wO2Q9MDthPTA7bT0wO3doaWxlKDEpe2lmKChtfDAp
PT00KWJyZWFrIGE7aWYoMTw8bSZ5KXtzd2l0Y2gobSYyMTQ3NDgzNjQ3fDApe2Nhc2UgMDp7ZD11
O2E9czticmVha31jYXNlIDE6e2Q9cTthPW87YnJlYWt9Y2FzZSAyOntkPXU7YT1uO2JyZWFrfWNh
c2UgMzp7ZD1qO2E9bzticmVha31kZWZhdWx0Ont9fWQ9eCtkfDA7YT12K2F8MDtlPWQtd3wwO0M9
YS1yfDA7ZT0oVihDLEMpfDApKyhWKGUsZSl8MCl8MDtpZigoY3wwKT09MHwoZXwwKTwoZ3wwKSlj
PWZbMTEyODArKG08PDIpPj4yXXwwO2Vsc2UgZT1nfWVsc2UgZT1nO2c9ZTttPW0rMXwwfX19d2hp
bGUoMCk7dD16O3JldHVybiBjfDB9ZnVuY3Rpb24gU0soYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3ww
O3ZhciBkPTAuMCxlPTAuMDtzd2l0Y2goY3wwKXtjYXNlIDA6e2U9K3BbYj4+M107ZD0rcFtiKzg+
PjNdO2JyZWFrfWNhc2UgMjp7ZT0rcFtiPj4zXTtkPS0rcFtiKzg+PjNdO2JyZWFrfWNhc2UgMTp7
ZT0tK3BbYis4Pj4zXTtkPStwW2I+PjNdO2JyZWFrfWNhc2UgMzp7ZT0rcFtiKzg+PjNdO2Q9K3Bb
Yj4+M107YnJlYWt9ZGVmYXVsdDp7ZT0wLjA7ZD0wLjB9fWZbYT4+Ml09fn4oZSsoZT49MC4wPy41
Oi0uNSkpO2ZbYSs0Pj4yXT1+fihkKyhkPj0wLjA/LjU6LS41KSk7cmV0dXJufWZ1bmN0aW9uIFRL
KGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MDtpPXQ7dD10KzgwfDA7ZT1pKzQw
fDA7aD1pO2c9YSsxNnwwO2Q9ZltnPj4yXXwwO2M9ZCsxNnwwO2lmKGJbZCs0Nz4+MF18MCl7ZD1m
W2E+PjJdJjM7UUsoZSxmWygoZHwwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDAsZlsoKGR8MCk9PTI/
YTphKy00OHwwKSs0MD4+Ml18MCxjKTtkPWU7ZT1jKzQwfDA7ZG97ZltjPj4yXT1mW2Q+PjJdO2M9
Yys0fDA7ZD1kKzR8MH13aGlsZSgoY3wwKTwoZXwwKSk7ZD1mW2c+PjJdfDB9Yz1kKzU2fDA7aWYo
YltkKzg3Pj4wXXwwKXtkPWZbYT4+Ml0mMztRSyhoLGZbKChkfDApPT0yP2E6YSstNDh8MCkrNDA+
PjJdfDAsZlsoKGR8MCk9PTM/YTphKzQ4fDApKzQwPj4yXXwwLGMpO2Q9aDtlPWMrNDB8MDtkb3tm
W2M+PjJdPWZbZD4+Ml07Yz1jKzR8MDtkPWQrNHwwfXdoaWxlKChjfDApPChlfDApKX10PWk7cmV0
dXJufWZ1bmN0aW9uIFVLKCl7dmFyIGE9MCxiPTAsYz0wO2E9dDt0PXQrMzJ8MDtiPWErMTZ8MDtj
PWE7ZltjPj4yXT0wO2ZbYys0Pj4yXT0wO2ZbYys4Pj4yXT0wO2ZbYysxMj4+Ml09MDtmW2I+PjJd
PWZbYz4+Ml07ZltiKzQ+PjJdPWZbYys0Pj4yXTtmW2IrOD4+Ml09ZltjKzg+PjJdO2ZbYisxMj4+
Ml09ZltjKzEyPj4yXTtOSygwLGIpfDA7ZltiPj4yXT1mW2M+PjJdO2ZbYis0Pj4yXT1mW2MrND4+
Ml07ZltiKzg+PjJdPWZbYys4Pj4yXTtmW2IrMTI+PjJdPWZbYysxMj4+Ml07T0soMCxiKXwwO2Zb
Yj4+Ml09ZltjPj4yXTtmW2IrND4+Ml09ZltjKzQ+PjJdO2ZbYis4Pj4yXT1mW2MrOD4+Ml07Zlti
KzEyPj4yXT1mW2MrMTI+PjJdO2pLKDAsYil8MDt0PWE7cmV0dXJufWZ1bmN0aW9uIFZLKGEsYixj
LGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAuMCxnPTAuMCxoPTAuMCxpPTAsaj0w
LGs9MCxsPTAsbT0wLG49MC4wLG89MCxxPTAuMCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAs
ej0wLEE9MDt6PXQ7dD10KzE5MnwwO3I9eisxNzZ8MDt4PXorNjR8MDt5PXo7cz16KzE2MHwwO3U9
eisxNTJ8MDt2PXorMTQ0fDA7dz16KzEyOHwwO2lmKCEoZDw8MjQ+PjI0KSl7aj1jKzQ4fDA7Zltz
Pj4yXT1mW2o+PjJdO2Zbcys0Pj4yXT1mW2orND4+Ml07ZltzKzg+PjJdPWZbais4Pj4yXTtmW3Mr
MTI+PjJdPWZbaisxMj4+Ml07aj11O2s9djtsPXg7bT0wfWVsc2V7ZltzPj4yXT1mW2M+PjJdO2Zb
cys0Pj4yXT1mW2MrND4+Ml07ZltzKzg+PjJdPWZbYys4Pj4yXTtmW3MrMTI+PjJdPWZbYysxMj4+
Ml07aj12O2s9dTtsPTA7bT14fXBbdT4+M109MC4wO3Bbdj4+M109MS4wO289cys4fDA7ZT0wLjA7
Zz0xLjA7aT0wO249K3Bbcz4+M107d2hpbGUoMSl7cT0rcFtvPj4zXTtlPShlK2cpKi41O2VNKHcs
YywzLGUsbCxtKTtmW3M+PjJdPWZbdz4+Ml07ZltzKzQ+PjJdPWZbdys0Pj4yXTtmW3MrOD4+Ml09
Zlt3Kzg+PjJdO2ZbcysxMj4+Ml09Zlt3KzEyPj4yXTtmW3I+PjJdPWZbdz4+Ml07ZltyKzQ+PjJd
PWZbdys0Pj4yXTtmW3IrOD4+Ml09Zlt3Kzg+PjJdO2ZbcisxMj4+Ml09Zlt3KzEyPj4yXTthOmRv
IGlmKCEoKHViW2ImMTI3XShhLHIpfDApPDwyND4+MjQpKXtkPTA7d2hpbGUoMSl7aWYoKGR8MCk9
PTQpe2Q9ajtpPTE7YnJlYWsgYX1pPXkrKGQ8PDQpfDA7QT14KyhkPDw0KXwwO2ZbaT4+Ml09ZltB
Pj4yXTtmW2krND4+Ml09ZltBKzQ+PjJdO2ZbaSs4Pj4yXT1mW0ErOD4+Ml07ZltpKzEyPj4yXT1m
W0ErMTI+PjJdO2Q9ZCsxfDB9fWVsc2UgZD1rO3doaWxlKDApO3BbZD4+M109ZTtoPStwW3M+PjNd
O249bi1oO2lmKCEoKG4+PTAuMD9uOi1uKT4uNSk/KHE9cS0rcFtvPj4zXSwhKChxPj0wLjA/cTot
cSk+LjUpKTowKWJyZWFrO2U9K3BbdT4+M107Zz0rcFt2Pj4zXTtuPWh9YjpkbyBpZighKGk8PDI0
Pj4yNCkpe2Q9MDt3aGlsZSgxKXtpZigoZHwwKT09NClicmVhayBiO0E9YysoZDw8NCl8MDt5PXgr
KGQ8PDQpfDA7ZltBPj4yXT1mW3k+PjJdO2ZbQSs0Pj4yXT1mW3krND4+Ml07ZltBKzg+PjJdPWZb
eSs4Pj4yXTtmW0ErMTI+PjJdPWZbeSsxMj4+Ml07ZD1kKzF8MH19ZWxzZXtkPTA7d2hpbGUoMSl7
aWYoKGR8MCk9PTQpYnJlYWsgYjtBPWMrKGQ8PDQpfDA7eD15KyhkPDw0KXwwO2ZbQT4+Ml09Zlt4
Pj4yXTtmW0ErND4+Ml09Zlt4KzQ+PjJdO2ZbQSs4Pj4yXT1mW3grOD4+Ml07ZltBKzEyPj4yXT1m
W3grMTI+PjJdO2Q9ZCsxfDB9fXdoaWxlKDApO3Q9ejtyZXR1cm59ZnVuY3Rpb24gV0soYSxiKXth
PWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAuMDtrPXQ7
dD10KzQ4fDA7Yz1rKzE2fDA7ZD1rO2U9ayszMnwwO2c9YSsxNnwwO2g9ZltnPj4yXXwwO2k9Zlto
Kzg+PjJdfDA7aWYoaXwwPyhqPWkrNHwwLGZbKGZbaj4+Ml18MCkrMTI+PjJdfDApOjApe2ZbZT4+
Ml09YTtmW2UrND4+Ml09MDtsPStwW2grOTY+PjNdO3BbZD4+M109K3BbYj4+M10tK3BbaCsxNj4+
M107cFtkKzg+PjNdPStwW2IrOD4+M10tK3BbaCsyND4+M107aj1mWyhmW2o+PjJdfDApKzEyPj4y
XXwwO2ZbYz4+Ml09ZltkPj4yXTtmW2MrND4+Ml09ZltkKzQ+PjJdO2ZbYys4Pj4yXT1mW2QrOD4+
Ml07ZltjKzEyPj4yXT1mW2QrMTI+PjJdO2o9dWJbaiYxMjddKGUsYyl8MDtwWyhmW2c+PjJdfDAp
Kzk2Pj4zXT1sO1hLKGUsYSxiLGopfXQ9aztyZXR1cm59ZnVuY3Rpb24gWEsoYSxiLGMsZCl7YT1h
fDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wLGk9MCxqPTAuMCxrPTAsbD0wO2w9
dDt0PXQrNjR8MDtrPWw7aT1iKzE2fDA7Zz1mW2k+PjJdfDA7aj0rcFtnKzk2Pj4zXTtoPWcrMTZ8
MDtlPWcrMjR8MDtiPTA7d2hpbGUoMSl7aWYoKGJ8MCk9PTQpYnJlYWs7cFtrKyhiPDw0KT4+M109
K3BbYysoYjw8NCk+PjNdLStwW2g+PjNdO3BbaysoYjw8NCkrOD4+M109K3BbYysoYjw8NCkrOD4+
M10tK3BbZT4+M107Yj1iKzF8MH1WSyhhLGZbKGZbKGZbZys4Pj4yXXwwKSs0Pj4yXXwwKSsxMj4+
Ml18MCxrLGQpO2I9MDt3aGlsZSgxKXtpZigoYnwwKT09NClicmVhaztkPWZbaT4+Ml18MDtwW2Mr
KGI8PDQpPj4zXT0rcFtkKzE2Pj4zXSsgK3BbaysoYjw8NCk+PjNdO3BbYysoYjw8NCkrOD4+M109
K3BbZCsyND4+M10rICtwW2srKGI8PDQpKzg+PjNdO2I9YisxfDB9cFsoZltpPj4yXXwwKSs5Nj4+
M109ajt0PWw7cmV0dXJufWZ1bmN0aW9uIFlLKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAs
Zz0wO3doaWxlKDEpe2U9YSsxNnwwO2E9ZltlPj4yXXwwO2lmKCEoYlthKzExMj4+MF18MCkpYnJl
YWs7YT1mW2ErMTE2Pj4yXXwwfWE9ZlthKzg+PjJdfDA7aWYoIWEpe2E9REgoNDApfDA7ZlsoZltl
Pj4yXXwwKSs4Pj4yXT1hfWQ9ZlthPj4yXXwwO2lmKCFkKWE9RUgoKChmW2ErND4+Ml18MCkqNDh8
MCkrNDh8MCl8MDtlbHNlIGE9R0goZCwoKGZbYSs0Pj4yXXwwKSo0OHwwKSs0OHwwKXwwO2U9Zlso
ZltlPj4yXXwwKSs4Pj4yXXwwO2ZbZT4+Ml09YTtlPWUrNHwwO2Q9ZltlPj4yXXwwO2ZbZT4+Ml09
ZCsxO2U9YSsoZCo0OHwwKXwwO2c9REgoYzw8NCl8MDtmW2U+PjJdPWc7ZlthKyhkKjQ4fDApKzQ+
PjJdPWM7YT1hKyhkKjQ4fDApKzh8MDtkPWErNDB8MDtkb3tmW2E+PjJdPTA7YT1hKzR8MH13aGls
ZSgoYXwwKTwoZHwwKSk7cmV0dXJuIGV8MH1mdW5jdGlvbiBaSyhhLGMsZCxlLGcpe2E9YXwwO2M9
Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO3ZhciBpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0w
LHI9MCxzPTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MC4wLEY9
MC4wO0Q9dDt0PXQrOTZ8MDtBPUQ7dT1EKzY0fDA7eD1EKzkyfDA7eT1EKzg4fDA7dj1EKzgwfDA7
az1mWygoZlthPj4yXSYzfDApPT0zP2E6YSs0OHwwKSs0MD4+Ml18MDt6PW56KGspfDA7Qj1ZSyhh
LGUpfDA7bD1hO3doaWxlKDEpe209ZltsKzE2Pj4yXXwwO2lmKCEoYlttKzExMj4+MF18MCkpYnJl
YWs7bD1mW20rMTE2Pj4yXXwwfWlmKChiW2crOD4+MF18MCk9PTA/KGk9ZltrKzE2Pj4yXXwwLGo9
ZltjKzE2Pj4yXXwwLChmW2krMjMyPj4yXXwwKT09KGZbaisyMzI+PjJdfDApKTowKXtuPShmW2kr
MjM2Pj4yXXwwKT4oZltqKzIzNj4+Ml18MCk7dz1uP2s6YztrPW4/YzprfWVsc2Ugdz1jO2lmKChr
fDApPT0oZlsoKGZbbD4+Ml0mM3wwKT09Mz9sOmwrNDh8MCkrNDA+PjJdfDApKXtpPW0rODB8MDtq
PW0rNDB8MDtuPWhbbSs4Nj4+MF18MDtjPWhbbSs0Nj4+MF18MH1lbHNle2k9bSs0MHwwO2o9bSs4
MHwwO249aFttKzQ2Pj4wXXwwO2M9aFttKzg2Pj4wXXwwfW09ZltpPj4yXXwwO2k9ZltqPj4yXXww
O2lmKCgoY3wwKSE9MD8ocT1rKzE2fDAsbz1mWyhmW3E+PjJdfDApKzg+PjJdfDAsKG98MCkhPTAp
OjApPyhmWyhmW28rND4+Ml18MCkrMTI+PjJdfDApIT0wOjApe2Zbdj4+Ml09aztmW3YrND4+Ml09
aTtpPWUrLTR8MDtjPXUrOHwwO2o9MDt3aGlsZSgxKXtpZigoanwwKT49KGl8MCkpYnJlYWs7bD1q
KzN8MDtvPWZbcT4+Ml18MDtwW3U+PjNdPStwW2QrKGw8PDQpPj4zXS0rcFtvKzE2Pj4zXTtwW2M+
PjNdPStwW2QrKGw8PDQpKzg+PjNdLStwW28rMjQ+PjNdO289ZlsoZlsoZltvKzg+PjJdfDApKzQ+
PjJdfDApKzEyPj4yXXwwO2ZbQT4+Ml09Zlt1Pj4yXTtmW0ErND4+Ml09Zlt1KzQ+PjJdO2ZbQSs4
Pj4yXT1mW3UrOD4+Ml07ZltBKzEyPj4yXT1mW3UrMTI+PjJdO2lmKCEoKHViW28mMTI3XSh2LEEp
fDApPDwyND4+MjQpKWJyZWFrO2Vsc2Ugaj1sfWZbeD4+Ml09ajtYSyh2LGssZCsoajw8NCl8MCwx
KX1lbHNle2ZbeD4+Ml09MDtqPTB9aWYoKChufDApIT0wPyhzPXcrMTZ8MCxyPWZbKGZbcz4+Ml18
MCkrOD4+Ml18MCwocnwwKSE9MCk6MCk/KGZbKGZbcis0Pj4yXXwwKSsxMj4+Ml18MCkhPTA6MCl7
Zlt2Pj4yXT13O2Zbdis0Pj4yXT1tO2s9ZSstNHwwO2M9dSs4fDA7aT1rO3doaWxlKDEpe2lmKChp
fDApPD0wKWJyZWFrO2U9ZltzPj4yXXwwO3BbdT4+M109K3BbZCsoaTw8NCk+PjNdLStwW2UrMTY+
PjNdO3BbYz4+M109K3BbZCsoaTw8NCkrOD4+M10tK3BbZSsyND4+M107ZT1mWyhmWyhmW2UrOD4+
Ml18MCkrND4+Ml18MCkrMTI+PjJdfDA7ZltBPj4yXT1mW3U+PjJdO2ZbQSs0Pj4yXT1mW3UrND4+
Ml07ZltBKzg+PjJdPWZbdSs4Pj4yXTtmW0ErMTI+PjJdPWZbdSsxMj4+Ml07aWYoISgodWJbZSYx
MjddKHYsQSl8MCk8PDI0Pj4yNCkpYnJlYWs7aT1pKy0zfDB9Zlt5Pj4yXT1pO1hLKHYsdyxkKyhp
PDw0KXwwLDApfWVsc2V7az1lKy00fDA7Zlt5Pj4yXT1rO2k9a313aGlsZSgxKXtpZigoanwwKT49
KGt8MCkpYnJlYWs7Yz1qKzN8MDtFPStwW2QrKGo8PDQpPj4zXS0rcFtkKyhjPDw0KT4+M107Rj0r
cFtkKyhqPDw0KSs4Pj4zXS0rcFtkKyhjPDw0KSs4Pj4zXTtpZihGKkYrRSpFPDEuMGUtMDYpaj1j
O2Vsc2UgYnJlYWt9Zlt4Pj4yXT1qO3doaWxlKDEpe2lmKChpfDApPD0wKWJyZWFrO3Y9aSszfDA7
Rj0rcFtkKyhpPDw0KT4+M10tK3BbZCsodjw8NCk+PjNdO0U9K3BbZCsoaTw8NCkrOD4+M10tK3Bb
ZCsodjw8NCkrOD4+M107aWYoIShFKkUrRipGPDEuMGUtMDYpKWJyZWFrO2k9aSstM3wwfWZbeT4+
Ml09aTtfSyhhLHcsZCx4LHksQixnKTtyPWZbeD4+Ml18MDtrPWZbeT4+Ml18MDtsPWsrNHwwO209
ayszfDA7bj1BKzE2fDA7bz1BKzMyfDA7cT1BKzQ4fDA7aj16KzE2fDA7aT1yO3doaWxlKDEpe2lm
KChpfDApPj0obHwwKSlicmVhazt6PShmW0I+PjJdfDApKyhpLXI8PDQpfDA7Yz1kKyhpPDw0KXww
O2Zbej4+Ml09ZltjPj4yXTtmW3orND4+Ml09ZltjKzQ+PjJdO2Zbeis4Pj4yXT1mW2MrOD4+Ml07
Zlt6KzEyPj4yXT1mW2MrMTI+PjJdO2ZbQT4+Ml09ZltjPj4yXTtmW0ErND4+Ml09ZltjKzQ+PjJd
O2ZbQSs4Pj4yXT1mW2MrOD4+Ml07ZltBKzEyPj4yXT1mW2MrMTI+PjJdO2M9aSsxfDA7aWYoKGl8
MCk+PShtfDApKXtDPTM3O2JyZWFrfXk9KGZbQj4+Ml18MCkrKGMtcjw8NCl8MDt6PWQrKGM8PDQp
fDA7Zlt5Pj4yXT1mW3o+PjJdO2ZbeSs0Pj4yXT1mW3orND4+Ml07Zlt5Kzg+PjJdPWZbeis4Pj4y
XTtmW3krMTI+PjJdPWZbeisxMj4+Ml07ZltuPj4yXT1mW3o+PjJdO2Zbbis0Pj4yXT1mW3orND4+
Ml07ZltuKzg+PjJdPWZbeis4Pj4yXTtmW24rMTI+PjJdPWZbeisxMj4+Ml07ej1pKzJ8MDt5PShm
W0I+PjJdfDApKyh6LXI8PDQpfDA7ej1kKyh6PDw0KXwwO2ZbeT4+Ml09Zlt6Pj4yXTtmW3krND4+
Ml09Zlt6KzQ+PjJdO2ZbeSs4Pj4yXT1mW3orOD4+Ml07Zlt5KzEyPj4yXT1mW3orMTI+PjJdO2Zb
bz4+Ml09Zlt6Pj4yXTtmW28rND4+Ml09Zlt6KzQ+PjJdO2Zbbys4Pj4yXT1mW3orOD4+Ml07Zltv
KzEyPj4yXT1mW3orMTI+PjJdO3o9aSszfDA7eT1kKyh6PDw0KXwwO2ZbcT4+Ml09Zlt5Pj4yXTtm
W3ErND4+Ml09Zlt5KzQ+PjJdO2ZbcSs4Pj4yXT1mW3krOD4+Ml07ZltxKzEyPj4yXT1mW3krMTI+
PjJdO2ZGKChmW2o+PjJdfDApKzE2fDAsQSk7aT16fWZbQis0Pj4yXT00LXIrazt0PUQ7cmV0dXJu
fWZ1bmN0aW9uIF9LKGEsYyxkLGUsZyxoLGkpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3ww
O2g9aHwwO2k9aXwwO3ZhciBqPTAsaz0wLGw9MCxtPTAsbj0wLG89MDtvPXQ7dD10KzE2fDA7bD1v
KzR8MDttPW87bj1hO3doaWxlKDEpe2o9ZlsoZltuKzE2Pj4yXXwwKSsxMTY+PjJdfDA7aWYoIWop
YnJlYWs7ZWxzZSBuPWp9aWYoIShiW2krOD4+MF18MCkpaj0odGJbZltpPj4yXSY2M10obil8MCkm
MjU1O2Vsc2Ugaj0wO0JFKG4sbCxtKTtrPWkrNHwwO2lmKCh0YltmW2s+PjJdJjYzXShjKXwwKTw8
MjQ+PjI0KWZbbT4+Ml09MDtpZigodGJbZltrPj4yXSY2M10oZlsoKGZbYT4+Ml0mM3wwKT09Mz9h
OmErNDh8MCkrNDA+PjJdfDApfDApPDwyND4+MjQpZltsPj4yXT0wO2lmKGp8MCl7Yz1mW2w+PjJd
fDA7ZltsPj4yXT1mW20+PjJdO2ZbbT4+Ml09Y31pZighKGJbaSs5Pj4wXXwwKSl7aj1mW2w+PjJd
fDA7aWYoanwwKXtsPVFFKG4sZCxmW2U+PjJdfDAsZltnPj4yXXwwLGgsail8MDtmW2U+PjJdPWx9
aj1mW20+PjJdfDA7aWYoanwwKXtoPU9FKG4sZCxmW2U+PjJdfDAsZltnPj4yXXwwLGgsail8MDtm
W2c+PjJdPWh9fWVsc2V7az1mW20+PjJdfDA7aj1mW2w+PjJdfDA7aWYoanxrfDApUkUobixkLGZb
ZT4+Ml18MCxmW2c+PjJdfDAsaCxqLGspfXQ9bztyZXR1cm59ZnVuY3Rpb24gJEsoYSxiKXthPWF8
MDtiPWJ8MDt2YXIgYz0wLGQ9MDtpZigrcFtiPj4zXTwrcFtiKzE2Pj4zXT8rcFtiKzg+PjNdPCtw
W2IrMjQ+PjNdOjApe2M9ZlthKzg0Pj4yXXwwO2Q9YSs4MHwwO2E9ZltkPj4yXXwwO2ZbZD4+Ml09
YSsxO2E9YysoYTw8NSl8MDtmW2E+PjJdPWZbYj4+Ml07ZlthKzQ+PjJdPWZbYis0Pj4yXTtmW2Er
OD4+Ml09ZltiKzg+PjJdO2ZbYSsxMj4+Ml09ZltiKzEyPj4yXTtmW2ErMTY+PjJdPWZbYisxNj4+
Ml07ZlthKzIwPj4yXT1mW2IrMjA+PjJdO2ZbYSsyND4+Ml09ZltiKzI0Pj4yXTtmW2ErMjg+PjJd
PWZbYisyOD4+Ml19cmV0dXJufWZ1bmN0aW9uIGFMKGEsYyxkLGUsZyl7YT1hfDA7Yz1jfDA7ZD1k
fDA7ZT1lfDA7Zz1nfDA7dmFyIGg9MC4wLGk9MCxqPTAsaz0wLjAsbD0wLjAsbT0wLjAsbj0wLjAs
bz0wLjAscT0wLHI9MCxzPTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAuMDtC
PXQ7dD10Kzk2fDA7cz1CKzcyfDA7cj1CKzU2fDA7cT1CKzE2fDA7dj1CO2o9ZltjPj4yXSYzO3U9
Yys0OHwwO0E9ZlsoKGp8MCk9PTM/Yzp1KSs0MD4+Ml18MDt3PWMrMTZ8MDt4PWZbdz4+Ml18MDtp
PXgrMTZ8MDtpZihiW3grNDc+PjBdfDApe1FLKHEsQSxmWygoanwwKT09Mj9jOmMrLTQ4fDApKzQw
Pj4yXXwwLGkpO2o9cTtxPWkrNDB8MDtkb3tmW2k+PjJdPWZbaj4+Ml07aT1pKzR8MDtqPWorNHww
fXdoaWxlKChpfDApPChxfDApKX14PUErMTZ8MDtqPWZbeD4+Ml18MDtpPWZbais4Pj4yXXwwO2lm
KCFpKXE9MDtlbHNlIHE9ZlsoZltpKzQ+PjJdfDApKzE2Pj4yXXwwO2k9aisxNnwwO2o9KGZbdz4+
Ml18MCkrMTZ8MDtmW3I+PjJdPWZbaT4+Ml07ZltyKzQ+PjJdPWZbaSs0Pj4yXTtmW3IrOD4+Ml09
ZltpKzg+PjJdO2ZbcisxMj4+Ml09ZltpKzEyPj4yXTtmW3M+PjJdPWZbaj4+Ml07ZltzKzQ+PjJd
PWZbais0Pj4yXTtmW3MrOD4+Ml09ZltqKzg+PjJdO2ZbcysxMj4+Ml09ZltqKzEyPj4yXTtiTCh2
LHIscyk7ZlthPj4yXT1mW3Y+PjJdO2ZbYSs0Pj4yXT1mW3YrND4+Ml07ZlthKzg+PjJdPWZbdis4
Pj4yXTtmW2ErMTI+PjJdPWZbdisxMj4+Ml07aWYoIShnPDwyND4+MjQpKXtpPWZbdz4+Ml18MDtp
ZighKGJbaSs0NT4+MF18MCkpaT0wO2Vsc2V7aD0rcFtpKzMyPj4zXTt6PTl9fWVsc2V7aD0rY0wo
ZlsoKGZbYz4+Ml0mM3wwKT09Mz9jOnUpKzQwPj4yXXwwKTt6PTl9aWYoKHp8MCk9PTkpe3BbYSsx
Nj4+M109aDtpPTF9YlthKzI5Pj4wXT1pO2ZbYSs4MD4+Ml09MDtmW2ErODg+PjJdPWM7dj1lKzMy
fDA7Zlt2Pj4yXT1mW2E+PjJdO2Zbdis0Pj4yXT1mW2ErND4+Ml07Zlt2Kzg+PjJdPWZbYSs4Pj4y
XTtmW3YrMTI+PjJdPWZbYSsxMj4+Ml07YTpkbyBzd2l0Y2goZHwwKXtjYXNlIDE6e2o9Zlt4Pj4y
XXwwO2lmKChiW2orMTU2Pj4wXXwwKT09MD8odj1iWyhmW3c+PjJdfDApKzQ5Pj4wXXwwLHk9diYy
NTUsdjw8MjQ+PjI0IT0wKTowKXtoPStwW2U+PjNdO2w9K3BbZSs4Pj4zXTtrPStwW2UrMTY+PjNd
O209K3BbZSsyND4+M107ZG8gaWYoISh5JjQpKXtpZih5JjF8MCl7ZltlKzQ4Pj4yXT0xO289K3Bb
YSs4Pj4zXTtwW2UrNTY+PjNdPWg7cFtlKzY0Pj4zXT1sO3BbZSs3Mj4+M109aztwW2UrODA+PjNd
PW0+bz9tOm87aT0xO2JyZWFrfWk9ZSs0OHwwO2lmKCEoeSY4KSl7ZltpPj4yXT0yO249K3Bbaisy
ND4+M10tK3Bbais4MD4+M10qLjU7bz0rcFthKzg+PjNdO3BbZSs1Nj4+M109K3BbYT4+M107cFtl
KzY0Pj4zXT1uO3BbZSs3Mj4+M109aztwW2UrODA+PjNdPW87aT0xO2JyZWFrfWVsc2V7ZltpPj4y
XT04O249K3BbYT4+M107bT0rcFtqKzI0Pj4zXS0rcFtqKzgwPj4zXSouNTtvPStwW2ErOD4+M107
cFtlKzU2Pj4zXT1oO3BbZSs2ND4+M109bTtwW2UrNzI+PjNdPW47cFtlKzgwPj4zXT1vO2k9MTti
cmVha319ZWxzZXtmW2UrNDg+PjJdPTQ7aWYoK3BbYT4+M108K3BbaisxNj4+M10pe2g9aCstMS4w
O2w9K3BbYSs4Pj4zXTtvPStwW2orODA+PjNdKi41KyArcFtqKzI0Pj4zXTthPShueihBKXwwKSsx
NnwwO2k9Zlt4Pj4yXXwwO209K3BbaSsxNj4+M10tK3BbaSs4OD4+M107bj1oO289bysgKygoZlso
ZlthPj4yXXwwKSsyNTI+PjJdfDApLzJ8MHwwKX1lbHNle2w9K3BbYSs4Pj4zXTtrPWsrMS4wO289
K3Bbais4MD4+M10qLjUrICtwW2orMjQ+PjNdO2E9KG56KEEpfDApKzE2fDA7aT1mW3g+PjJdfDA7
bT1rO249K3BbaSs5Nj4+M10rICtwW2krMTY+PjNdO289bysgKygoZlsoZlthPj4yXXwwKSsyNTI+
PjJdfDApLzJ8MHwwKX1DPStwW2krMjQ+PjNdLStwW2krODA+PjNdKi41O3BbZSs1Nj4+M109aDtw
W2UrNjQ+PjNdPWw7cFtlKzcyPj4zXT1rO3BbZSs4MD4+M109bztwW2UrODg+PjNdPW47cFtlKzk2
Pj4zXT1DO3BbZSsxMDQ+PjNdPW07cFtlKzExMj4+M109bDtpPTJ9d2hpbGUoMCk7ZltlKzUyPj4y
XT1pO3doaWxlKDEpe2k9ZltjKzE2Pj4yXXwwO2lmKCEoYltpKzExMj4+MF18MCkpYnJlYWs7Yz1m
W2krMTE2Pj4yXXwwfWlmKChBfDApPT0oZlsoKGZbYz4+Ml0mM3wwKT09Mz9jOmMrNDh8MCkrNDA+
PjJdfDApKXtiW2krNDY+PjBdPTA7YnJlYWsgYX1lbHNle2JbaSs4Nj4+MF09MDticmVhayBhfX1l
bHNle2o9MTt6PTUwfWJyZWFrfWNhc2UgMjp7eT1iWyhmW3c+PjJdfDApKzQ5Pj4wXXwwO2o9eSYy
NTU7aWYoISh5PDwyND4+MjQpKXo9NDk7ZWxzZXttPStwW2U+PjNdO2g9K3BbZSs4Pj4zXTtuPStw
W2UrMTY+PjNdO2s9K3BbZSsyND4+M107ZG8gaWYoIShqJjQpKXtpZihqJjF8MClpZigoZltlKzQ4
Pj4yXXwwKT09NCl7aT1mW3g+PjJdfDA7bT0rcFtpKzI0Pj4zXS0rcFtpKzgwPj4zXSouNTtvPW4r
MS4wO2s9K3BbYT4+M107aT0obnooQSl8MCkrMTZ8MDtsPW0tKygoZlsoZltpPj4yXXwwKSsyNTI+
PjJdfDApLzJ8MHwwKTtpPWZbeD4+Ml18MDtuPStwW2krOTY+PjNdKyArcFtpKzE2Pj4zXTtDPStw
W2krODA+PjNdKi41KyArcFtpKzI0Pj4zXTtwW2UrNTY+PjNdPWs7cFtlKzY0Pj4zXT1sO3BbZSs3
Mj4+M109bztwW2UrODA+PjNdPW07cFtlKzg4Pj4zXT1uO3BbZSs5Nj4+M109bTtwW2UrMTA0Pj4z
XT1vO3BbZSsxMTI+PjNdPUM7aT0yO2JyZWFrfWVsc2V7Qz0rcFthKzg+PjNdO3BbZSs1Nj4+M109
bTtwW2UrNjQ+PjNdPWg7cFtlKzcyPj4zXT1uO3BbZSs4MD4+M109az5DP2s6QztpPTE7YnJlYWt9
bz0rcFthPj4zXTtpZighKGomOCkpe2Q9Zlt4Pj4yXXwwO2g9K3BbZCsyND4+M107az0rcFtkKzgw
Pj4zXSouNTtpZigoZltlKzQ4Pj4yXXwwKT09NCl7bD0rcFthKzg+PjNdO2g9aytofWVsc2V7bD1o
LWs7aD0rcFthKzg+PjNdKzEuMH1wW2UrNTY+PjNdPW87cFtlKzY0Pj4zXT1sO3BbZSs3Mj4+M109
bjtwW2UrODA+PjNdPWg7aT0xO2JyZWFrfWVsc2V7ZD1mW3g+PjJdfDA7aD0rcFtkKzI0Pj4zXTtr
PStwW2QrODA+PjNdKi41O2lmKChmW2UrNDg+PjJdfDApPT00KXtsPStwW2ErOD4+M10rLTEuMDto
PWsraH1lbHNle2w9aC1rO2g9K3BbYSs4Pj4zXSsxLjB9cFtlKzU2Pj4zXT1tO3BbZSs2ND4+M109
bDtwW2UrNzI+PjNdPW8rMS4wO3BbZSs4MD4+M109aDtpPTE7YnJlYWt9fWVsc2V7Qz0rcFthKzg+
PjNdO3BbZSs1Nj4+M109bTtwW2UrNjQ+PjNdPWg8Qz9oOkM7cFtlKzcyPj4zXT1uO3BbZSs4MD4+
M109aztpPTF9d2hpbGUoMCk7ZltlKzUyPj4yXT1pO3doaWxlKDEpe2k9ZltjKzE2Pj4yXXwwO2lm
KCEoYltpKzExMj4+MF18MCkpYnJlYWs7Yz1mW2krMTE2Pj4yXXwwfWJbKChBfDApPT0oZlsoKGZb
Yz4+Ml0mM3wwKT09Mz9jOmMrNDh8MCkrNDA+PjJdfDApP2krNDZ8MDppKzg2fDApPj4wXT0wO2Zb
ZSs0OD4+Ml09an1icmVha31kZWZhdWx0Ono9NDl9d2hpbGUoMCk7aWYoKHp8MCk9PTQ5KXtqPWZb
ZSs0OD4+Ml18MDt6PTUwfWI6ZG8gaWYoKHp8MCk9PTUwKXtpZihxKXtjPWUrNTZ8MDtpPWUrNTJ8
MDtqPXliW3EmMTI3XShBLChmW3c+PjJdfDApKzE2fDAsaixjLGkpfDA7aWYoail7ZltlKzQ4Pj4y
XT1qO2JyZWFrfX1lbHNle2k9ZSs1MnwwO2M9ZSs1NnwwfTtmW2M+PjJdPWZbZT4+Ml07ZltjKzQ+
PjJdPWZbZSs0Pj4yXTtmW2MrOD4+Ml09ZltlKzg+PjJdO2ZbYysxMj4+Ml09ZltlKzEyPj4yXTtm
W2MrMTY+PjJdPWZbZSsxNj4+Ml07ZltjKzIwPj4yXT1mW2UrMjA+PjJdO2ZbYysyND4+Ml09Zltl
KzI0Pj4yXTtmW2MrMjg+PjJdPWZbZSsyOD4+Ml07ZltpPj4yXT0xO3N3aXRjaChkfDApe2Nhc2Ug
ODp7eGEoMTQ2NjY0LDExNDg0MCw1NjksMTE0ODUwKTticmVha31jYXNlIDI6e2g9K3BbYSs4Pj4z
XTtpZigoZltlKzQ4Pj4yXXwwKT09NCl7cFtlKzY0Pj4zXT1oO2JyZWFrIGJ9ZWxzZXtwW2UrODA+
PjNdPWg7YnJlYWsgYn19Y2FzZSAxOntwW2UrODA+PjNdPStwW2ErOD4+M107ZltlKzQ4Pj4yXT0x
O2JyZWFrIGJ9ZGVmYXVsdDpicmVhayBifX13aGlsZSgwKTt0PUI7cmV0dXJufWZ1bmN0aW9uIGJM
KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLjA7ZD0rcFtjKzg+PjNdKyArcFtiKzg+
PjNdO3BbYT4+M109K3BbYz4+M10rICtwW2I+PjNdO3BbYSs4Pj4zXT1kO3JldHVybn1mdW5jdGlv
biBjTChhKXthPWF8MDt2YXIgYj0wLjAsYz0wLGQ9MCxlPTAuMCxnPTAsaD0wLGk9MCxqPTAuMCxr
PTAuMDtoPWZbYSsxNj4+Ml18MDtpPWZbaCsxNzI+PjJdfDA7ZT0wLjA7Zz0wO3doaWxlKDEpe2E9
ZltpKyhnPDwyKT4+Ml18MDtpZighYSlicmVhaztlPStwWyhmWyhmWygoZlthPj4yXSYzfDApPT0z
P2E6YSs0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE2Pj4zXStlO2c9ZysxfDB9Yz1mW2grMTgw
Pj4yXXwwO2I9MC4wO2E9MDt3aGlsZSgxKXtkPWZbYysoYTw8Mik+PjJdfDA7aWYoIWQpYnJlYWs7
Yj0rcFsoZlsoZlsoKGZbZD4+Ml0mM3wwKT09Mj9kOmQrLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18
MCkrMTY+PjNdK2I7YT1hKzF8MH1qPStwW2grMTY+PjNdO2s9K3BbaCsyND4+M107aT1mW2k+PjJd
fDA7ZT0rUigrKGstK3BbKGZbKGZbKChmW2k+PjJdJjN8MCk9PTM/aTppKzQ4fDApKzQwPj4yXXww
KSsxNj4+Ml18MCkrMjQ+PjNdKSwrKGotZS8rKGd8MCkpKTtpPWZbYz4+Ml18MDtyZXR1cm4gKygo
K1IoKygrcFsoZlsoZlsoKGZbaT4+Ml0mM3wwKT09Mj9pOmkrLTQ4fDApKzQwPj4yXXwwKSsxNj4+
Ml18MCkrMjQ+PjNdLWspLCsoYi8rKGF8MCktaikpK2UpKi41KX1mdW5jdGlvbiBkTChhLGMsZCxl
LGcpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2c9Z3wwO3ZhciBoPTAuMCxpPTAsaj0wLGs9MC4w
LGw9MC4wLG09MC4wLG49MC4wLG89MC4wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAs
ej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAuMDtEPXQ7dD10Kzk2fDA7cz1EKzcyfDA7cj1EKzU2fDA7
cT1EKzE2fDA7dz1EO2o9ZltjPj4yXSYzO3Y9YystNDh8MDtDPWZbKChqfDApPT0yP2M6dikrNDA+
PjJdfDA7ej1jKzE2fDA7eT1mW3o+PjJdfDA7aT15KzU2fDA7aWYoYlt5Kzg3Pj4wXXwwKXtRSyhx
LEMsZlsoKGp8MCk9PTM/YzpjKzQ4fDApKzQwPj4yXXwwLGkpO2o9cTtxPWkrNDB8MDtkb3tmW2k+
PjJdPWZbaj4+Ml07aT1pKzR8MDtqPWorNHwwfXdoaWxlKChpfDApPChxfDApKX15PUMrMTZ8MDtq
PWZbeT4+Ml18MDtpPWZbais4Pj4yXXwwO2lmKCFpKXE9MDtlbHNlIHE9ZlsoZltpKzQ+PjJdfDAp
KzE2Pj4yXXwwO3g9YSs0MHwwO2k9aisxNnwwO2o9KGZbej4+Ml18MCkrNTZ8MDtmW3I+PjJdPWZb
aT4+Ml07ZltyKzQ+PjJdPWZbaSs0Pj4yXTtmW3IrOD4+Ml09ZltpKzg+PjJdO2ZbcisxMj4+Ml09
ZltpKzEyPj4yXTtmW3M+PjJdPWZbaj4+Ml07ZltzKzQ+PjJdPWZbais0Pj4yXTtmW3MrOD4+Ml09
ZltqKzg+PjJdO2ZbcysxMj4+Ml09ZltqKzEyPj4yXTtiTCh3LHIscyk7Zlt4Pj4yXT1mW3c+PjJd
O2ZbeCs0Pj4yXT1mW3crND4+Ml07Zlt4Kzg+PjJdPWZbdys4Pj4yXTtmW3grMTI+PjJdPWZbdysx
Mj4+Ml07aWYoIShnPDwyND4+MjQpKXtpPWZbej4+Ml18MDtpZighKGJbaSs4NT4+MF18MCkpdT0w
O2Vsc2V7cFthKzU2Pj4zXT0rcFtpKzcyPj4zXTt1PTF9fWVsc2V7bz0rY0woZlsoKGZbYz4+Ml0m
M3wwKT09Mj9jOnYpKzQwPj4yXXwwKSszLjE0MTU5MjY1MzU4OTc5MztwW2ErNTY+PjNdPW87aWYo
bzw2LjI4MzE4NTMwNzE3OTU4Nil1PTE7ZWxzZSB4YSgxMTQ4NjAsMTE0ODQwLDYwNiwxMTQ4ODQp
fWJbYSs2OT4+MF09dTt3PWUrMzJ8MDtmW3c+PjJdPWZbeD4+Ml07Zlt3KzQ+PjJdPWZbeCs0Pj4y
XTtmW3crOD4+Ml09Zlt4Kzg+PjJdO2ZbdysxMj4+Ml09Zlt4KzEyPj4yXTtzd2l0Y2goZHwwKXtj
YXNlIDE6e2o9Zlt5Pj4yXXwwO2lmKChiW2orMTU2Pj4wXXwwKT09MD8odz1iWyhmW3o+PjJdfDAp
Kzg5Pj4wXXwwLEE9dyYyNTUsdzw8MjQ+PjI0IT0wKTowKXtoPStwW2U+PjNdO2s9K3BbZSs4Pj4z
XTtsPStwW2UrMTY+PjNdO2RvIGlmKCEoQSY0KSl7aWYoIShBJjEpKXtpPWUrNDh8MDtpZighKEEm
OCkpe2ZbaT4+Ml09MjtvPStwW2orODA+PjNdKi41KyArcFtqKzI0Pj4zXTtuPStwW2ErNDg+PjNd
O3BbZSs1Nj4+M109K3BbeD4+M107cFtlKzY0Pj4zXT1uO3BbZSs3Mj4+M109bDtwW2UrODA+PjNd
PW87aT0xO2JyZWFrfWVsc2V7ZltpPj4yXT04O249K3BbeD4+M107bz0rcFtqKzgwPj4zXSouNSsg
K3BbaisyND4+M107bT0rcFthKzQ4Pj4zXTtwW2UrNTY+PjNdPWg7cFtlKzY0Pj4zXT1tO3BbZSs3
Mj4+M109bjtwW2UrODA+PjNdPW87aT0xO2JyZWFrfX1mW2UrNDg+PjJdPTE7aWYoK3BbeD4+M108
K3BbaisxNj4+M10pe2g9aCstMS4wO289K3BbYSs0OD4+M107RT0rcFtqKzgwPj4zXSotLjUrICtw
W2orMjQ+PjNdO2E9KG56KEMpfDApKzE2fDA7aT1mW3k+PjJdfDA7bT0rcFtpKzE2Pj4zXS0rcFtp
Kzg4Pj4zXTtuPWg7az1sO2w9RS0rKChmWyhmW2E+PjJdfDApKzI1Mj4+Ml18MCkvMnwwfDApfWVs
c2V7bz0rcFthKzQ4Pj4zXTtrPWwrMS4wO2w9K3Bbais4MD4+M10qLS41KyArcFtqKzI0Pj4zXTth
PShueihDKXwwKSsxNnwwO2k9Zlt5Pj4yXXwwO209aztuPStwW2krOTY+PjNdKyArcFtpKzE2Pj4z
XTtsPWwtKygoZlsoZlthPj4yXXwwKSsyNTI+PjJdfDApLzJ8MHwwKX1FPStwW2krODA+PjNdKi41
KyArcFtpKzI0Pj4zXTtwW2UrNTY+PjNdPWg7cFtlKzY0Pj4zXT1sO3BbZSs3Mj4+M109aztwW2Ur
ODA+PjNdPW87cFtlKzg4Pj4zXT1uO3BbZSs5Nj4+M109bztwW2UrMTA0Pj4zXT1tO3BbZSsxMTI+
PjNdPUU7aT0yfWVsc2V7RT0rcFtlKzI0Pj4zXTtmW2UrNDg+PjJdPTQ7bz0rcFthKzQ4Pj4zXTtw
W2UrNTY+PjNdPWg7cFtlKzY0Pj4zXT1rPG8/azpvO3BbZSs3Mj4+M109bDtwW2UrODA+PjNdPUU7
aT0xfXdoaWxlKDApO2ZbZSs1Mj4+Ml09aTt3aGlsZSgxKXtpPWZbYysxNj4+Ml18MDtpZighKGJb
aSsxMTI+PjBdfDApKWJyZWFrO2M9ZltpKzExNj4+Ml18MH1iWygoQ3wwKT09KGZbKChmW2M+PjJd
JjN8MCk9PTI/YzpjKy00OHwwKSs0MD4+Ml18MCk/aSs4NnwwOmkrNDZ8MCk+PjBdPTA7ZltlKzQ4
Pj4yXT1BfWVsc2V7aj00O0I9NDh9YnJlYWt9Y2FzZSAyOntBPWJbKGZbej4+Ml18MCkrODk+PjBd
fDA7aj1BJjI1NTtpZighKEE8PDI0Pj4yNCkpQj00NztlbHNle209K3BbZT4+M107aD0rcFtlKzg+
PjNdO249K3BbZSsxNj4+M107az0rcFtlKzI0Pj4zXTtkbyBpZighKGomNCkpe2lmKGomMXwwKWlm
KChmW2UrNDg+PjJdfDApPT00KXttPW0rLTEuMDtpPWZbeT4+Ml18MDtuPStwW2krMjQ+PjNdLStw
W2krODA+PjNdKi41O2w9K3BbeD4+M107aT0obnooQyl8MCkrMTZ8MDtrPW4tKygoZlsoZltpPj4y
XXwwKSsyNTI+PjJdfDApLzJ8MHwwKTtpPWZbeT4+Ml18MDtvPStwW2krMTY+PjNdKy0yLjAtK3Bb
aSs4OD4+M107RT0rcFtpKzgwPj4zXSouNSsgK3BbaSsyND4+M107cFtlKzU2Pj4zXT1tO3BbZSs2
ND4+M109aztwW2UrNzI+PjNdPWw7cFtlKzgwPj4zXT1uO3BbZSs4OD4+M109bTtwW2UrOTY+PjNd
PW47cFtlKzEwND4+M109bztwW2UrMTEyPj4zXT1FO2k9MjticmVha31lbHNle0U9K3BbYSs4Pj4z
XTtwW2UrNTY+PjNdPW07cFtlKzY0Pj4zXT1oO3BbZSs3Mj4+M109bjtwW2UrODA+PjNdPWs+RT9r
OkU7aT0xO2JyZWFrfW89K3BbeD4+M107aWYoIShqJjgpKXtBPWZbeT4+Ml18MDtoPStwW0ErMjQ+
PjNdO2s9K3BbQSs4MD4+M10qLjU7aWYoKGZbZSs0OD4+Ml18MCk9PTQpe2w9K3BbYSs0OD4+M10r
LTEuMDtoPWsraH1lbHNle2w9aC1rO2g9K3BbYSs0OD4+M119cFtlKzU2Pj4zXT1vKy0xLjA7cFtl
KzY0Pj4zXT1sO3BbZSs3Mj4+M109bjtwW2UrODA+PjNdPWg7aT0xO2JyZWFrfWVsc2V7QT1mW3k+
PjJdfDA7aD0rcFtBKzI0Pj4zXTtrPStwW0ErODA+PjNdKi41O2lmKChmW2UrNDg+PjJdfDApPT00
KXtsPStwW2ErNDg+PjNdKy0xLjA7aD1rK2h9ZWxzZXtsPWgtaztoPStwW2ErNDg+PjNdKzEuMH1w
W2UrNTY+PjNdPW07cFtlKzY0Pj4zXT1sO3BbZSs3Mj4+M109bysxLjA7cFtlKzgwPj4zXT1oO2k9
MTticmVha319ZWxzZXtFPStwW2ErNDg+PjNdO3BbZSs1Nj4+M109bTtwW2UrNjQ+PjNdPWg8RT9o
OkU7cFtlKzcyPj4zXT1uO3BbZSs4MD4+M109aztpPTF9d2hpbGUoMCk7ZltlKzUyPj4yXT1pO3do
aWxlKDEpe2k9ZltjKzE2Pj4yXXwwO2lmKCEoYltpKzExMj4+MF18MCkpYnJlYWs7Yz1mW2krMTE2
Pj4yXXwwfWJbKChDfDApPT0oZlsoKGZbYz4+Ml0mM3wwKT09Mj9jOmMrLTQ4fDApKzQwPj4yXXww
KT9pKzg2fDA6aSs0NnwwKT4+MF09MDtmW2UrNDg+PjJdPWp9YnJlYWt9ZGVmYXVsdDpCPTQ3fWlm
KChCfDApPT00Nyl7aj1mW2UrNDg+PjJdfDA7Qj00OH1hOmRvIGlmKChCfDApPT00OCl7aWYocSl7
Yz1lKzU2fDA7aT1lKzUyfDA7aj15YltxJjEyN10oQywoZlt6Pj4yXXwwKSs1NnwwLGosYyxpKXww
O2lmKGope2ZbZSs0OD4+Ml09ajticmVha319ZWxzZXtpPWUrNTJ8MDtjPWUrNTZ8MH07ZltjPj4y
XT1mW2U+PjJdO2ZbYys0Pj4yXT1mW2UrND4+Ml07ZltjKzg+PjJdPWZbZSs4Pj4yXTtmW2MrMTI+
PjJdPWZbZSsxMj4+Ml07ZltjKzE2Pj4yXT1mW2UrMTY+PjJdO2ZbYysyMD4+Ml09ZltlKzIwPj4y
XTtmW2MrMjQ+PjJdPWZbZSsyND4+Ml07ZltjKzI4Pj4yXT1mW2UrMjg+PjJdO2ZbaT4+Ml09MTtz
d2l0Y2goZHwwKXtjYXNlIDg6e3hhKDE0NjY2NCwxMTQ4NDAsNzY1LDExNDg4NCk7YnJlYWt9Y2Fz
ZSAyOntoPStwW2ErNDg+PjNdO2lmKChmW2UrNDg+PjJdfDApPT00KXtwW2UrNjQ+PjNdPWg7YnJl
YWsgYX1lbHNle3BbZSs4MD4+M109aDticmVhayBhfX1jYXNlIDE6e3BbZSs2ND4+M109K3BbYSs0
OD4+M107ZltlKzQ4Pj4yXT00O2JyZWFrIGF9ZGVmYXVsdDpicmVhayBhfX13aGlsZSgwKTt0PUQ7
cmV0dXJufWZ1bmN0aW9uIGVMKGEpe2E9YXwwO3ZhciBjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MDtn
PWZbYSsxNj4+Ml18MDtoPWZbZys5Nj4+Ml18MDtpZigoYltnKzQ0Pj4wXXwwKT09MD8oYltnKzg0
Pj4wXXwwKT09MDowKWk9NjtlbHNle2M9YltnKzQ5Pj4wXXwwO2Q9YyYyNTU7aWYoKChkJjh8MCk9
PTA/KGU9YltnKzg5Pj4wXXwwLChlJjgpPT0wKTowKT8oKGQmNXwwKT09MD8xOmM8PDI0Pj4yNCE9
ZTw8MjQ+PjI0KTowKWk9NjtlbHNlIGE9MH1pZigoaXwwKT09NilpZighaClhPTE4O2Vsc2V7YT0o
bnooZlsoKGZbYT4+Ml0mM3wwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwKXwwKSsxNnwwO2E9fn4o
K3BbKChmWyhmW2E+PjJdfDApKzExNj4+Ml0mMXwwKT09MD9oKzI0fDA6aCszMnwwKT4+M10rMTgu
MCl9cmV0dXJuIGF8MH1mdW5jdGlvbiBmTChhLGMsZCxlLGcsaCxpKXthPWF8MDtjPWN8MDtkPWR8
MDtlPWV8MDtnPStnO2g9K2g7aT1pfDA7dmFyIGo9MCxrPTAsbD0wLG09MDthPWZbKGZbYysoZDw8
Mik+PjJdfDApKzE2Pj4yXXwwO2lmKChiW2ErNDQ+PjBdfDApPT0wPyhiW2ErODQ+PjBdfDApPT0w
OjApbD02O2Vsc2UgbD0zO2RvIGlmKChsfDApPT0zKXtqPWJbYSs0OT4+MF18MDtrPWomMjU1O2lm
KChrJjh8MCk9PTA/KG09YlthKzg5Pj4wXXwwLChtJjgpPT0wKTowKXtpZigoayY1fDApPT0wPzE6
ajw8MjQ+PjI0IT1tPDwyND4+MjQpe2w9NjticmVha31pZihrJjR8MCl7aEwoYyxkLGUsZyxoLGkp
O2JyZWFrfWlmKCEoayYxKSl4YSgxNDY2NjQsMTE0ODQwLDEyMzEsMTE0ODkyKTtlbHNle2pMKGMs
ZCxlLGcsaCxpKTticmVha319aWYoKGomMik9PTA/KGJbYSs4OT4+MF0mMik9PTA6MCl7aUwoYyxk
LGUsZyxoLGkpO2JyZWFrfWhMKGMsZCxlLGcsaCxpKX13aGlsZSgwKTtpZigobHwwKT09NilnTChj
LGQsZSxnLGgsaSk7cmV0dXJufWZ1bmN0aW9uIGdMKGEsYyxkLGUsZyxpKXthPWF8MDtjPWN8MDtk
PWR8MDtlPStlO2c9K2c7aT1pfDA7dmFyIGo9MCxrPTAuMCxsPTAuMCxtPTAuMCxuPTAuMCxvPTAs
cT0wLHI9MCxzPTAsdT0wLHY9MC4wLHc9MCx4PTAseT0wLHo9MC4wLEE9MCxCPTAsQz0wLjAsRD0w
LEU9MC4wLEY9MC4wLEc9MC4wLEg9MC4wLEk9MC4wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9
MCxRPTAuMCxSPTAuMCxTPTA7UD10O3Q9dCsxNjA4MHwwO0w9UDtNPVArMTYwNjR8MDtOPVArMTYw
NDh8MDtPPVArMTYwMzJ8MDtKPVArMTYwMTZ8MDtLPVArMTZlM3wwO0I9ZlthKyhjPDwyKT4+Ml18
MDtsPWcqLjUvKyhkfDApO2w9bD4yLjA/bDoyLjA7RD0oZlsoKGZbQj4+Ml0mM3wwKT09Mz9COkIr
NDh8MCkrNDA+PjJdfDApKzE2fDA7QT1mW0Q+PjJdfDA7Qz0rcFtBKzE2Pj4zXTtIPStwW0ErMjQ+
PjNdO0I9ZltCKzE2Pj4yXXwwO2s9K3BbQisxNj4+M107RT1rK0M7Rj0rcFtCKzI0Pj4zXStIO2c9
K3BbQis1Nj4+M107Rz1nK0M7SD0rcFtCKzY0Pj4zXStIO2o9IShGPj1IKT8tMToxO249K3BbQSs5
Nj4+M107c3dpdGNoKGtMKGhbQis0OT4+MF18MCxoW0IrODk+PjBdfDApfDApe2Nhc2UgNjU6Y2Fz
ZSAzMjp7aWYoRj09SClqPTAtanwwO2JyZWFrfWRlZmF1bHQ6e319UT0obi1rKSozLjA7az0obi1n
KSozLjA7dj1sKisoanwwKTt1PUwrOHwwO3c9TCsxNnwwO3g9TCszMnwwO3k9TCs0OHwwO3o9KEgr
RikqLjU7QT1MKzY0fDA7Qj1MKzgwfDA7cj1MKzk2fDA7cz1MKzEwNHwwO3E9MDttPTAuMDtnPW47
bD1uPFE/bjpRO2s9bjxrP246azt3aGlsZSgxKXtpZigocXwwKT49KGR8MCkpYnJlYWs7bz1jKzF8
MDtjPWZbYSsoYzw8Mik+PjJdfDA7bj1nK2U7bD1sK2U7az1rK2U7bT1tK3Y7cFtMPj4zXT1FO3Bb
dT4+M109RjtRPW0rRjtsTChNLGwqLjMzMzMzMzMzMzMzMzMzMzMrRSxRKTtmW3c+PjJdPWZbTT4+
Ml07Zlt3KzQ+PjJdPWZbTSs0Pj4yXTtmW3crOD4+Ml09ZltNKzg+PjJdO2ZbdysxMj4+Ml09ZltN
KzEyPj4yXTtSPW4rQztsTChOLFIsUSk7Zlt4Pj4yXT1mW04+PjJdO2ZbeCs0Pj4yXT1mW04rND4+
Ml07Zlt4Kzg+PjJdPWZbTis4Pj4yXTtmW3grMTI+PjJdPWZbTisxMj4+Ml07bEwoTyxSLHopO2Zb
eT4+Ml09ZltPPj4yXTtmW3krND4+Ml09ZltPKzQ+PjJdO2ZbeSs4Pj4yXT1mW08rOD4+Ml07Zlt5
KzEyPj4yXT1mW08rMTI+PjJdO1E9SC1tO2xMKEosUixRKTtmW0E+PjJdPWZbSj4+Ml07ZltBKzQ+
PjJdPWZbSis0Pj4yXTtmW0ErOD4+Ml09ZltKKzg+PjJdO2ZbQSsxMj4+Ml09ZltKKzEyPj4yXTts
TChLLGsqLjMzMzMzMzMzMzMzMzMzMzMrRyxRKTtmW0I+PjJdPWZbSz4+Ml07ZltCKzQ+PjJdPWZb
Sys0Pj4yXTtmW0IrOD4+Ml09ZltLKzg+PjJdO2ZbQisxMj4+Ml09ZltLKzEyPj4yXTtwW3I+PjNd
PUc7cFtzPj4zXT1IO2o9YysxNnwwO2lmKChmWyhmW2o+PjJdfDApKzk2Pj4yXXwwKSE9MD8oUz0o
bnooZlsoKGZbYz4+Ml0mM3wwKT09Mz9jOmMrNDh8MCkrNDA+PjJdfDApfDApKzE2fDAsaj1mWyhm
W2o+PjJdfDApKzk2Pj4yXXwwLEk9K3BbKChmWyhmW1M+PjJdfDApKzExNj4+Ml0mMXwwKT09MD9q
KzI0fDA6aiszMnwwKT4+M10sUz1mW0Q+PjJdfDAscFtqKzU2Pj4zXT1JKi41K24rICtwW1MrMTY+
PjNdLHBbais2ND4+M109K3BbUysyND4+M10sYltqKzgxPj4wXT0xLEk+ZSk6MClnPUkrZztlbHNl
IGc9bjtaSyhjLGZbKChmW2M+PjJdJjN8MCk9PTI/YzpjKy00OHwwKSs0MD4+Ml18MCxMLDcsaSk7
Yz1vO3E9cSsxfDB9dD1QO3JldHVybn1mdW5jdGlvbiBoTChhLGMsZCxlLGcsaSl7YT1hfDA7Yz1j
fDA7ZD1kfDA7ZT0rZTtnPStnO2k9aXwwO3ZhciBqPTAuMCxrPTAsbD0wLjAsbT0wLjAsbj0wLjAs
bz0wLjAscT0wLHI9MC4wLHM9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAuMCxCPTAsQz0w
LEQ9MC4wLEU9MCxGPTAuMCxHPTAuMCxIPTAuMCxJPTAuMCxKPTAuMCxLPTAsTD0wLE09MCxOPTAs
Tz0wLFA9MCxRPTAsUj0wLjAsUz0wO1E9dDt0PXQrMTYwODB8MDtNPVE7Tj1RKzE2MDY0fDA7Tz1R
KzE2MDQ4fDA7UD1RKzE2MDMyfDA7Sz1RKzE2MDE2fDA7TD1RKzE2ZTN8MDtDPWZbYSsoYzw8Mik+
PjJdfDA7bz1lKi41LysoZHwwKTtvPW8+Mi4wP286Mi4wO0U9KGZbKChmW0M+PjJdJjN8MCk9PTM/
QzpDKzQ4fDApKzQwPj4yXXwwKSsxNnwwO2s9ZltFPj4yXXwwO0g9K3BbaysxNj4+M107RD0rcFtr
KzI0Pj4zXTtDPWZbQysxNj4+Ml18MDtqPStwW0MrMTY+PjNdO249K3BbQysyND4+M107Rj1qK0g7
Rz1uK0Q7ZT0rcFtDKzU2Pj4zXTttPStwW0MrNjQ+PjNdO0g9ZStIO0k9bStEO2w9IShGPj1IKT8t
MS4wOjEuMDtyPStwW2srODA+PjNdKi41O3N3aXRjaChrTChoW0MrNDk+PjBdfDAsaFtDKzg5Pj4w
XXwwKXwwKXtjYXNlIDE1OntqPShvLWUrICtwW2srOTY+PjNdKSpsO2JyZWFrfWNhc2UgMzg6e2o9
KGUrbysgK3Bbays4OD4+M10pKmw7YnJlYWt9Y2FzZSA0MTp7aj0oby1qKyArcFtrKzk2Pj4zXSkq
bDticmVha31jYXNlIDQ4OntqPShvLWorICtwW2srOTY+PjNdKSpsO2JyZWFrfWNhc2UgNTg6Y2Fz
ZSA1NzpjYXNlIDUxOmNhc2UgNDc6Y2FzZSAzNzpjYXNlIDE0OntqPWwqLjMzMzMzMzMzMzMzMzMz
MzMqKGotZSsgK3Bbays4OD4+M10rICtwW2srOTY+PjNdKTticmVha31jYXNlIDczOntqPShqK28r
ICtwW2srODg+PjNdKSpsO2JyZWFrfWNhc2UgODM6e2o9KCtwW2srODg+PjNdK2opKmw7YnJlYWt9
Y2FzZSA4NDp7aj0oKGotZSsgK3Bbays4OD4+M10rICtwW2srOTY+PjNdKSouNStvKSpsO2JyZWFr
fWNhc2UgODU6Y2FzZSA3NTpjYXNlIDc0OntqPSgoai1lKyArcFtrKzg4Pj4zXSsgK3Bbays5Nj4+
M10pKi41K28qMi4wKSpsO2JyZWFrfWRlZmF1bHQ6aj0wLjB9bj0oci1uKSozLjA7bT0oci1tKSoz
LjA7bz1sKm87dz1NKzh8MDt4PU0rMTZ8MDt5PU0rMzJ8MDt6PU0rNDh8MDtBPShIK0YpKi41O0I9
TSs2NHwwO0M9TSs4MHwwO3U9TSs5NnwwO3Y9TSsxMDR8MDtzPTA7ZT1yO249cjxuP3I6bjtsPXI8
bT9yOm07d2hpbGUoMSl7aWYoKHN8MCk+PShkfDApKWJyZWFrO3E9YysxfDA7Yz1mW2ErKGM8PDIp
Pj4yXXwwO209ZStnO249bitnO2w9bCtnO2o9aitvO3BbTT4+M109RjtwW3c+PjNdPUc7cj1qK0Y7
bEwoTixyLG4qLjMzMzMzMzMzMzMzMzMzMzMrRyk7Zlt4Pj4yXT1mW04+PjJdO2ZbeCs0Pj4yXT1m
W04rND4+Ml07Zlt4Kzg+PjJdPWZbTis4Pj4yXTtmW3grMTI+PjJdPWZbTisxMj4+Ml07Uj1tK0Q7
bEwoTyxyLFIpO2ZbeT4+Ml09ZltPPj4yXTtmW3krND4+Ml09ZltPKzQ+PjJdO2ZbeSs4Pj4yXT1m
W08rOD4+Ml07Zlt5KzEyPj4yXT1mW08rMTI+PjJdO2xMKFAsQSxSKTtmW3o+PjJdPWZbUD4+Ml07
Zlt6KzQ+PjJdPWZbUCs0Pj4yXTtmW3orOD4+Ml09ZltQKzg+PjJdO2ZbeisxMj4+Ml09ZltQKzEy
Pj4yXTtyPUgtajtsTChLLHIsUik7ZltCPj4yXT1mW0s+PjJdO2ZbQis0Pj4yXT1mW0srND4+Ml07
ZltCKzg+PjJdPWZbSys4Pj4yXTtmW0IrMTI+PjJdPWZbSysxMj4+Ml07bEwoTCxyLGwqLjMzMzMz
MzMzMzMzMzMzMzMrSSk7ZltDPj4yXT1mW0w+PjJdO2ZbQys0Pj4yXT1mW0wrND4+Ml07ZltDKzg+
PjJdPWZbTCs4Pj4yXTtmW0MrMTI+PjJdPWZbTCsxMj4+Ml07cFt1Pj4zXT1IO3Bbdj4+M109STtr
PWMrMTZ8MDtpZigoZlsoZltrPj4yXXwwKSs5Nj4+Ml18MCkhPTA/KFM9KG56KGZbKChmW2M+PjJd
JjN8MCk9PTM/YzpjKzQ4fDApKzQwPj4yXXwwKXwwKSsxNnwwLGs9ZlsoZltrPj4yXXwwKSs5Nj4+
Ml18MCxKPStwWygoZlsoZltTPj4yXXwwKSsxMTY+PjJdJjF8MCk9PTA/ayszMnwwOmsrMjR8MCk+
PjNdLFM9ZltFPj4yXXwwLHBbays2ND4+M109SiouNSttKyArcFtTKzI0Pj4zXSxwW2srNTY+PjNd
PStwW1MrMTY+PjNdLGJbays4MT4+MF09MSxKPmcpOjApZT1KK2U7ZWxzZSBlPW07WksoYyxmWygo
ZltjPj4yXSYzfDApPT0yP2M6YystNDh8MCkrNDA+PjJdfDAsTSw3LGkpO2M9cTtzPXMrMXwwfXQ9
UTtyZXR1cm59ZnVuY3Rpb24gaUwoYSxjLGQsZSxnLGkpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9K2U7
Zz0rZztpPWl8MDt2YXIgaj0wLGs9MC4wLGw9MC4wLG09MC4wLG49MC4wLG89MCxxPTAscj0wLHM9
MCx1PTAsdj0wLjAsdz0wLHg9MCx5PTAsej0wLjAsQT0wLEI9MCxDPTAuMCxEPTAsRT0wLjAsRj0w
LjAsRz0wLjAsSD0wLjAsST0wLjAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MC4wLFI9
MC4wLFM9MDtQPXQ7dD10KzE2MDgwfDA7TD1QO009UCsxNjA2NHwwO049UCsxNjA0OHwwO089UCsx
NjAzMnwwO0o9UCsxNjAxNnwwO0s9UCsxNmUzfDA7Qj1mW2ErKGM8PDIpPj4yXXwwO2w9ZyouNS8r
KGR8MCk7bD1sPjIuMD9sOjIuMDtEPShmWygoZltCPj4yXSYzfDApPT0zP0I6Qis0OHwwKSs0MD4+
Ml18MCkrMTZ8MDtBPWZbRD4+Ml18MDtDPStwW0ErMTY+PjNdO0g9K3BbQSsyND4+M107Qj1mW0Ir
MTY+PjJdfDA7az0rcFtCKzE2Pj4zXTtFPWsrQztGPStwW0IrMjQ+PjNdK0g7Zz0rcFtCKzU2Pj4z
XTtHPWcrQztIPStwW0IrNjQ+PjNdK0g7aj0hKEY+PUgpPy0xOjE7bj0rcFtBKzg4Pj4zXTtzd2l0
Y2goa0woaFtCKzQ5Pj4wXXwwLGhbQis4OT4+MF18MCl8MCl7Y2FzZSA2NzpjYXNlIDEyOntpZihG
PT1IKWo9MC1qfDA7YnJlYWt9ZGVmYXVsdDp7fX1RPShrK24pKjMuMDtrPShnK24pKjMuMDt2PWwq
KyhqfDApO3U9TCs4fDA7dz1MKzE2fDA7eD1MKzMyfDA7eT1MKzQ4fDA7ej0oSCtGKSouNTtBPUwr
NjR8MDtCPUwrODB8MDtyPUwrOTZ8MDtzPUwrMTA0fDA7cT0wO209MC4wO2c9bjtsPW48UT9uOlE7
az1uPGs/bjprO3doaWxlKDEpe2lmKChxfDApPj0oZHwwKSlicmVhaztvPWMrMXwwO2M9ZlthKyhj
PDwyKT4+Ml18MDtuPWcrZTtsPWwrZTtrPWsrZTttPW0rdjtwW0w+PjNdPUU7cFt1Pj4zXT1GO1E9
bStGO2xMKE0sRS1sKi4zMzMzMzMzMzMzMzMzMzMzLFEpO2Zbdz4+Ml09ZltNPj4yXTtmW3crND4+
Ml09ZltNKzQ+PjJdO2Zbdys4Pj4yXT1mW00rOD4+Ml07Zlt3KzEyPj4yXT1mW00rMTI+PjJdO1I9
Qy1uO2xMKE4sUixRKTtmW3g+PjJdPWZbTj4+Ml07Zlt4KzQ+PjJdPWZbTis0Pj4yXTtmW3grOD4+
Ml09ZltOKzg+PjJdO2ZbeCsxMj4+Ml09ZltOKzEyPj4yXTtsTChPLFIseik7Zlt5Pj4yXT1mW08+
PjJdO2ZbeSs0Pj4yXT1mW08rND4+Ml07Zlt5Kzg+PjJdPWZbTys4Pj4yXTtmW3krMTI+PjJdPWZb
TysxMj4+Ml07UT1ILW07bEwoSixSLFEpO2ZbQT4+Ml09ZltKPj4yXTtmW0ErND4+Ml09ZltKKzQ+
PjJdO2ZbQSs4Pj4yXT1mW0orOD4+Ml07ZltBKzEyPj4yXT1mW0orMTI+PjJdO2xMKEssRy1rKi4z
MzMzMzMzMzMzMzMzMzMzLFEpO2ZbQj4+Ml09ZltLPj4yXTtmW0IrND4+Ml09ZltLKzQ+PjJdO2Zb
Qis4Pj4yXT1mW0srOD4+Ml07ZltCKzEyPj4yXT1mW0srMTI+PjJdO3Bbcj4+M109RztwW3M+PjNd
PUg7aj1jKzE2fDA7aWYoKGZbKGZbaj4+Ml18MCkrOTY+PjJdfDApIT0wPyhTPShueihmWygoZltj
Pj4yXSYzfDApPT0zP2M6Yys0OHwwKSs0MD4+Ml18MCl8MCkrMTZ8MCxqPWZbKGZbaj4+Ml18MCkr
OTY+PjJdfDAsST0rcFsoKGZbKGZbUz4+Ml18MCkrMTE2Pj4yXSYxfDApPT0wP2orMjR8MDpqKzMy
fDApPj4zXSxTPWZbRD4+Ml18MCxwW2orNTY+PjNdPUkqLS41LW4rICtwW1MrMTY+PjNdLHBbais2
ND4+M109K3BbUysyND4+M10sYltqKzgxPj4wXT0xLEk+ZSk6MClnPUkrZztlbHNlIGc9bjtaSyhj
LGZbKChmW2M+PjJdJjN8MCk9PTI/YzpjKy00OHwwKSs0MD4+Ml18MCxMLDcsaSk7Yz1vO3E9cSsx
fDB9dD1QO3JldHVybn1mdW5jdGlvbiBqTChhLGMsZCxlLGcsaSl7YT1hfDA7Yz1jfDA7ZD1kfDA7
ZT0rZTtnPStnO2k9aXwwO3ZhciBqPTAuMCxrPTAuMCxsPTAuMCxtPTAuMCxuPTAsbz0wLHE9MCxy
PTAscz0wLHU9MCx2PTAuMCx3PTAseD0wLjAseT0wLjAsej0wLjAsQT0wLjAsQj0wLjAsQz0wLEQ9
MCxFPTAsRj0wLjAsRz0wLEg9MCxJPTAuMCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0w
LjAsUj0wLjAsUz0wO1A9dDt0PXQrMTYwODB8MDtMPVA7TT1QKzE2MDY0fDA7Tj1QKzE2MDQ4fDA7
Tz1QKzE2MDMyfDA7Sj1QKzE2MDE2fDA7Sz1QKzE2ZTN8MDtDPWZbYSsoYzw8Mik+PjJdfDA7Qj1l
Ki41LysoZHwwKTt3PShmWygoZltDPj4yXSYzfDApPT0zP0M6Qys0OHwwKSs0MD4+Ml18MCkrMTZ8
MDtEPWZbdz4+Ml18MDt6PStwW0QrMTY+PjNdO3Y9K3BbRCsyND4+M107Qz1mW0MrMTY+PjJdfDA7
az0rcFtDKzI0Pj4zXTt4PStwW0MrMTY+PjNdK3o7eT1rK3Y7bD0rcFtDKzY0Pj4zXTt6PStwW0Mr
NTY+PjNdK3o7QT1sK3Y7dT0hKHg+PXopPy0xOjE7bT0rcFtEKzgwPj4zXSouNTtDPShrTChoW0Mr
NDk+PjBdfDAsaFtDKzg5Pj4wXXwwKXwwKT09Njc7az0oayttKSozLjA7bD0obCttKSozLjA7Qj0o
Qj4yLjA/QjoyLjApKisoKEM/MC11fDA6dSl8MCk7dT1MKzh8MDtDPUwrMTZ8MDtEPUwrMzJ8MDtF
PUwrNDh8MDtGPSh6K3gpKi41O0c9TCs2NHwwO0g9TCs4MHwwO3I9TCs5NnwwO3M9TCsxMDR8MDtl
PW07aj0wLjA7az1tPGs/bTprO2w9bTxsP206bDtvPTA7d2hpbGUoMSl7aWYoKG98MCk+PShkfDAp
KWJyZWFrO3E9YysxfDA7bj1mW2ErKGM8PDIpPj4yXXwwO209ZStnO2s9aytnO2w9bCtnO2o9aitC
O3BbTD4+M109eDtwW3U+PjNdPXk7UT1qK3g7bEwoTSxRLHktayouMzMzMzMzMzMzMzMzMzMzMyk7
ZltDPj4yXT1mW00+PjJdO2ZbQys0Pj4yXT1mW00rND4+Ml07ZltDKzg+PjJdPWZbTSs4Pj4yXTtm
W0MrMTI+PjJdPWZbTSsxMj4+Ml07Uj12LW07bEwoTixRLFIpO2ZbRD4+Ml09ZltOPj4yXTtmW0Qr
ND4+Ml09ZltOKzQ+PjJdO2ZbRCs4Pj4yXT1mW04rOD4+Ml07ZltEKzEyPj4yXT1mW04rMTI+PjJd
O2xMKE8sRixSKTtmW0U+PjJdPWZbTz4+Ml07ZltFKzQ+PjJdPWZbTys0Pj4yXTtmW0UrOD4+Ml09
ZltPKzg+PjJdO2ZbRSsxMj4+Ml09ZltPKzEyPj4yXTtRPXotajtsTChKLFEsUik7ZltHPj4yXT1m
W0o+PjJdO2ZbRys0Pj4yXT1mW0orND4+Ml07ZltHKzg+PjJdPWZbSis4Pj4yXTtmW0crMTI+PjJd
PWZbSisxMj4+Ml07bEwoSyxRLEEtbCouMzMzMzMzMzMzMzMzMzMzMyk7ZltIPj4yXT1mW0s+PjJd
O2ZbSCs0Pj4yXT1mW0srND4+Ml07ZltIKzg+PjJdPWZbSys4Pj4yXTtmW0grMTI+PjJdPWZbSysx
Mj4+Ml07cFtyPj4zXT16O3Bbcz4+M109QTtjPW4rMTZ8MDtpZigoZlsoZltjPj4yXXwwKSs5Nj4+
Ml18MCkhPTA/KFM9KG56KGZbKChmW24+PjJdJjN8MCk9PTM/bjpuKzQ4fDApKzQwPj4yXXwwKXww
KSsxNnwwLGM9ZlsoZltjPj4yXXwwKSs5Nj4+Ml18MCxJPStwWygoZlsoZltTPj4yXXwwKSsxMTY+
PjJdJjF8MCk9PTA/YyszMnwwOmMrMjR8MCk+PjNdLFM9Zlt3Pj4yXXwwLHBbYys2ND4+M109SSot
LjUtbSsgK3BbUysyND4+M10scFtjKzU2Pj4zXT0rcFtTKzE2Pj4zXSxiW2MrODE+PjBdPTEsST5n
KTowKWU9SStlO2Vsc2UgZT1tO1pLKG4sZlsoKGZbbj4+Ml0mM3wwKT09Mj9uOm4rLTQ4fDApKzQw
Pj4yXXwwLEwsNyxpKTtjPXE7bz1vKzF8MH10PVA7cmV0dXJufWZ1bmN0aW9uIGtMKGEsYil7YT1h
fDA7Yj1ifDA7dmFyIGM9MDtjPTA7d2hpbGUoMSl7aWYoYz4+PjA+PTgpe2I9LTE7YnJlYWt9aWYo
KGZbMTEyOTYrKGM8PDIpPj4yXXwwKT09KGJ8MCkpe2I9YzticmVha31jPWMrMXwwfWM9MDt3aGls
ZSgxKXtpZihjPj4+MD49OCl7Yz0tMTticmVha31pZigoZlsxMTI5NisoYzw8Mik+PjJdfDApPT0o
YXwwKSlicmVhaztjPWMrMXwwfWlmKChjfGJ8MCk8MCljPTA7ZWxzZSBjPWZbMTEzMjgrKGM8PDUp
KyhiPDwyKT4+Ml18MDtyZXR1cm4gY3wwfWZ1bmN0aW9uIGxMKGEsYixjKXthPWF8MDtiPStiO2M9
K2M7cFthPj4zXT1iO3BbYSs4Pj4zXT1jO3JldHVybn1mdW5jdGlvbiBtTChhKXthPWF8MDt2YXIg
Yz0wLGQ9MDtpZigoZls0ODM5NV18MCkhPTB8KGZbNDgzOTRdfDApIT0wKXtjPWErMTZ8MDtkPWZb
KGZbYz4+Ml18MCkrMTAwPj4yXXwwO2lmKChkfDA/KGJbZCs4MT4+MF18MCk9PTA6MCk/bkwoYSwx
KXwwOjApe2Q9bnooZlsoKGZbYT4+Ml0mM3wwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDApfDA7dE0o
ZCxmWyhmW2M+PjJdfDApKzEwMD4+Ml18MCl9ZD1mWyhmW2M+PjJdfDApKzEwND4+Ml18MDtpZigo
ZHwwPyhiW2QrODE+PjBdfDApPT0wOjApP25MKGEsMCl8MDowKXtkPW56KGZbKChmW2E+PjJdJjN8
MCk9PTM/YTphKzQ4fDApKzQwPj4yXXwwKXwwO3RNKGQsZlsoZltjPj4yXXwwKSsxMDQ+PjJdfDAp
fX1yZXR1cm59ZnVuY3Rpb24gbkwoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MC4wLGc9MC4w
LGg9MCxpPTAuMCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAuMDtvPXQ7dD10Kzk2fDA7bT1v
O2s9bys4MHwwO2w9bys2NHwwO2g9YSsxNnwwO2RvIGlmKChiWyhmW2g+PjJdfDApKzExMj4+MF18
MCkhPTYpe2Q9Zls0ODM5NV18MDtpZighKChkfDApIT0wPyhuPUh4KGEsZCl8MCwoYltuPj4wXXww
KSE9MCk6MCkpe2Q9Zls0ODM5NF18MDtpZighZCl7ZD0wO2JyZWFrfW49SHgoYSxkKXwwO2lmKCEo
YltuPj4wXXwwKSl7ZD0wO2JyZWFrfX1jPWM8PDI0Pj4yND09MDtuPWZbaD4+Ml18MDtuPWZbKGM/
bisxMDR8MDpuKzEwMHwwKT4+Ml18MDtkPW9MKGEpfDA7aWYoZCl7aj1mW2Q+PjJdfDA7ZG8gaWYo
Yyl7aWYoZltqKzg+PjJdfDApe2Q9ZltqPj4yXXwwO2k9K3BbZD4+M107Zz0rcFtqKzE2Pj4zXTtk
PWQrOHwwO2U9K3BbaisyND4+M107YnJlYWt9ZD1mW2o+PjJdfDA7Zz0rcFtkPj4zXTtlPStwW2Qr
OD4+M107ZD0wO3doaWxlKDEpe2lmKChkfDApPT00KWJyZWFrO2w9bSsoZDw8NCl8MDtoPShmW2o+
PjJdfDApKyhkPDw0KXwwO2ZbbD4+Ml09ZltoPj4yXTtmW2wrND4+Ml09ZltoKzQ+PjJdO2ZbbCs4
Pj4yXT1mW2grOD4+Ml07ZltsKzEyPj4yXT1mW2grMTI+PjJdO2Q9ZCsxfDB9ZU0oayxtLDMsLjEs
MCwwKTtpPStwW2s+PjNdO2Q9ays4fDB9ZWxzZXtjPShmW2QrND4+Ml18MCkrLTF8MDtoPWorKGMq
NDh8MCl8MDtpZihmW2orKGMqNDh8MCkrMTI+PjJdfDApe209ZltoPj4yXXwwO2Q9KGZbaisoYyo0
OHwwKSs0Pj4yXXwwKSstMXwwO2k9K3BbbSsoZDw8NCk+PjNdO2c9K3BbaisoYyo0OHwwKSszMj4+
M107ZD1tKyhkPDw0KSs4fDA7ZT0rcFtqKyhjKjQ4fDApKzQwPj4zXTticmVha31rPWZbaD4+Ml18
MDtjPWorKGMqNDh8MCkrNHwwO2Q9KGZbYz4+Ml18MCkrLTF8MDtnPStwW2srKGQ8PDQpPj4zXTtl
PStwW2srKGQ8PDQpKzg+PjNdO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT09NClicmVhaztrPW0rKGQ8
PDQpfDA7aj0oZltoPj4yXXwwKSsoZCstNCsoZltjPj4yXXwwKTw8NCl8MDtmW2s+PjJdPWZbaj4+
Ml07ZltrKzQ+PjJdPWZbais0Pj4yXTtmW2srOD4+Ml09ZltqKzg+PjJdO2ZbaysxMj4+Ml09Zltq
KzEyPj4yXTtkPWQrMXwwfWVNKGwsbSwzLC45LDAsMCk7aT0rcFtsPj4zXTtkPWwrOHwwfXdoaWxl
KDApO2k9K1IoKygrcFtkPj4zXS1lKSwrKGktZykpO2k9K1VMKGEsZls0ODM5NV18MCwtMjUuMCwt
MTgwLjApKi4wMTc0NTMyOTI1MTk5NDMyOTUraTtxPStVTChhLGZbNDgzOTRdfDAsMS4wLDAuMCkq
MTAuMDtnPXEqK0woK2kpK2c7cFtuKzU2Pj4zXT1nO2k9cSorTSgraSkrZTtwW24rNjQ+PjNdPWk7
YltuKzgxPj4wXT0xO2Q9MX1lbHNlIGQ9MH1lbHNlIGQ9MDt3aGlsZSgwKTt0PW87cmV0dXJuIGR8
MH1mdW5jdGlvbiBvTChhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZz0wLGg9MDtoPXQ7dD10KzE2
fDA7ZT1oO2M9YTt3aGlsZSgxKXtkPWZbYysxNj4+Ml18MDtjPWZbZCs4Pj4yXXwwO2lmKGN8MCli
cmVhaztpZighKGJbZCsxMTI+PjBdfDApKXtnPTU7YnJlYWt9Yz1mW2QrMTE2Pj4yXXwwfWlmKChn
fDApPT01KXtnPUF5KGZbKChmW2E+PjJdJjN8MCk9PTM/YTphKzQ4fDApKzQwPj4yXXwwKXwwO2M9
QXkoZlsoKGZbYT4+Ml0mM3wwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwKXwwO2ZbZT4+Ml09Zztm
W2UrND4+Ml09YztZdygxLDExNDkwNSxlKXwwO2M9MH10PWg7cmV0dXJuIGN8MH1mdW5jdGlvbiBw
TChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGU9MC4wLGc9MC4wLGg9MC4wLGk9MC4wLGo9
MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTAscz0wLjAsdT0wLjA7cj10O3Q9dCs5NnwwO2s9
cis4MHwwO2w9cis2NHwwO209cis0OHwwO249ciszMnwwO289cisxNnwwO3E9cjtqPWRbKGZbYisx
Nj4+Ml18MCkrMTM2Pj4xXXwwO2I9YysxNnwwO3FMKGZbKGZbYj4+Ml18MCkrOD4+Ml18MCxuLG8p
O2U9K3Bbbj4+M107Zz0rcFtvPj4zXTtzPWUtZztoPStwW24rOD4+M107aT0rcFtvKzg+PjNdO3U9
aC1pO2E6ZG8gaWYodSp1K3MqczwxLjBlLTA2KXtmW20+PjJdPWZbbj4+Ml07ZlttKzQ+PjJdPWZb
bis0Pj4yXTtmW20rOD4+Ml09ZltuKzg+PjJdO2ZbbSsxMj4+Ml09ZltuKzEyPj4yXX1lbHNlIHN3
aXRjaChqJjE0KXtjYXNlIDQ6Y2FzZSAxMDp7cFtsPj4zXT0oZytlKSouNTtwW2wrOD4+M109KGkr
aCkqLjU7bz1mWyhmW2I+PjJdfDApKzg+PjJdfDA7ZltrPj4yXT1mW2w+PjJdO2Zbays0Pj4yXT1m
W2wrND4+Ml07ZltrKzg+PjJdPWZbbCs4Pj4yXTtmW2srMTI+PjJdPWZbbCsxMj4+Ml07a00ocSxv
LGspO2ZbbT4+Ml09ZltxPj4yXTtmW20rND4+Ml09ZltxKzQ+PjJdO2ZbbSs4Pj4yXT1mW3ErOD4+
Ml07ZlttKzEyPj4yXT1mW3ErMTI+PjJdO2JyZWFrIGF9ZGVmYXVsdDp7ckwobSxmWyhmW2I+PjJd
fDApKzg+PjJdfDAsbixvKTticmVhayBhfX13aGlsZSgwKTtmW2E+PjJdPWZbbT4+Ml07ZlthKzQ+
PjJdPWZbbSs0Pj4yXTtmW2ErOD4+Ml09ZlttKzg+PjJdO2ZbYSsxMj4+Ml09ZlttKzEyPj4yXTt0
PXI7cmV0dXJufWZ1bmN0aW9uIHFMKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9
MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2g9dDt0PXQrMzJ8MDtnPWgrMTZ8MDtlPWg7aj1mW2E+PjJd
fDA7ZD1mW2o+PjJdfDA7aT1mW2orOD4+Ml18MDtrPWorMTZ8MDtmW2c+PjJdPWZbaz4+Ml07Zltn
KzQ+PjJdPWZbays0Pj4yXTtmW2crOD4+Ml09ZltrKzg+PjJdO2ZbZysxMj4+Ml09ZltrKzEyPj4y
XTtqPWorMzJ8MDtmW2U+PjJdPWZbaj4+Ml07ZltlKzQ+PjJdPWZbais0Pj4yXTtmW2UrOD4+Ml09
ZltqKzg+PjJdO2ZbZSsxMj4+Ml09ZltqKzEyPj4yXTtpZighaSl7ZltiPj4yXT1mW2Q+PjJdO2Zb
Yis0Pj4yXT1mW2QrND4+Ml07ZltiKzg+PjJdPWZbZCs4Pj4yXTtmW2IrMTI+PjJdPWZbZCsxMj4+
Ml19ZWxzZXtmW2I+PjJdPWZbZz4+Ml07ZltiKzQ+PjJdPWZbZys0Pj4yXTtmW2IrOD4+Ml09Zltn
Kzg+PjJdO2ZbYisxMj4+Ml09ZltnKzEyPj4yXX1pPWZbYT4+Ml18MDtqPShmW2ErND4+Ml18MCkr
LTF8MDtkPWZbaSsoaio0OHwwKT4+Ml18MDthPWZbaSsoaio0OHwwKSs0Pj4yXXwwO2s9ZltpKyhq
KjQ4fDApKzEyPj4yXXwwO2I9aSsoaio0OHwwKSsxNnwwO2ZbZz4+Ml09ZltiPj4yXTtmW2crND4+
Ml09ZltiKzQ+PjJdO2ZbZys4Pj4yXT1mW2IrOD4+Ml07ZltnKzEyPj4yXT1mW2IrMTI+PjJdO2o9
aSsoaio0OHwwKSszMnwwO2ZbZT4+Ml09ZltqPj4yXTtmW2UrND4+Ml09ZltqKzQ+PjJdO2ZbZSs4
Pj4yXT1mW2orOD4+Ml07ZltlKzEyPj4yXT1mW2orMTI+PjJdO2lmKCFrKXtrPWQrKGErLTE8PDQp
fDA7ZltjPj4yXT1mW2s+PjJdO2ZbYys0Pj4yXT1mW2srND4+Ml07ZltjKzg+PjJdPWZbays4Pj4y
XTtmW2MrMTI+PjJdPWZbaysxMj4+Ml19ZWxzZXtmW2M+PjJdPWZbZT4+Ml07ZltjKzQ+PjJdPWZb
ZSs0Pj4yXTtmW2MrOD4+Ml09ZltlKzg+PjJdO2ZbYysxMj4+Ml09ZltlKzEyPj4yXX10PWg7cmV0
dXJufWZ1bmN0aW9uIHJMKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAs
Zz0wLjAsaD0wLGk9MCxqPTAsaz0wLGw9MC4wLG09MC4wLG49MC4wLG89MC4wLHE9MC4wLHI9MCxz
PTAuMDtyPWZbYis0Pj4yXXwwO2c9MC4wO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KHJ8MCkpYnJl
YWs7az1mW2I+PjJdfDA7aj1mW2srKGUqNDh8MCk+PjJdfDA7az1mW2srKGUqNDh8MCkrND4+Ml18
MDtoPTM7aT0wO3doaWxlKDEpe2lmKChofDApPj0oa3wwKSlicmVhaztxPStwW2orKGk8PDQpPj4z
XS0rcFtqKyhoPDw0KT4+M107bz0rcFtqKyhpPDw0KSs4Pj4zXS0rcFtqKyhoPDw0KSs4Pj4zXTto
PWgrM3wwO2k9aSszfDA7Zz0rSigrKG8qbytxKnEpKStnfWU9ZSsxfDB9az0wO2c9ZyouNTthOndo
aWxlKDEpe2lmKChrfDApPj0ocnwwKSl7ZT0xNTticmVha31qPWZbYj4+Ml18MDtpPWZbaisoayo0
OHwwKT4+Ml18MDtqPWZbaisoayo0OHwwKSs0Pj4yXXwwO2U9MztoPTA7d2hpbGUoMSl7aWYoKGV8
MCk+PShqfDApKWJyZWFrO2w9K3BbaSsoaDw8NCk+PjNdO289K3BbaSsoaDw8NCkrOD4+M107bT0r
cFtpKyhlPDw0KT4+M107bj0rcFtpKyhlPDw0KSs4Pj4zXTtxPWwtbTtzPW8tbjtxPStKKCsocypz
K3EqcSkpO2lmKHE+PWcpe2U9MTI7YnJlYWsgYX1lPWUrM3wwO2g9aCszfDA7Zz1nLXF9az1rKzF8
MH1pZigoZXwwKT09MTIpe3BbYz4+M109bDtwW2MrOD4+M109bztwW2Q+PjNdPW07cFtkKzg+PjNd
PW47cz1xLWc7cFthPj4zXT0ocypsK20qZykvcTtwW2ErOD4+M109KHMqbytuKmcpL3E7cmV0dXJu
fWVsc2UgaWYoKGV8MCk9PTE1KXhhKDE0Njk4MiwxMTQ4NDAsMTMxNiwxMTQ5NjcpfWZ1bmN0aW9u
IHNMKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO21MKGIpO3JldHVybn1mdW5jdGlv
biB0TChhLGMsZCxlLGcpe2E9YXwwO2M9Y3wwO2Q9K2Q7ZT1lfDA7Zz1nfDA7dmFyIGg9MC4wLGk9
MC4wLGo9MC4wLGs9MC4wLGw9MC4wLG09MCxuPTAuMCxvPTAscT0wLjAscj0wLHM9MC4wLHQ9MCx1
PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAuMCxCPTAuMCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9
MCxJPTAsSj0wLjAsSz0wLjA7Rz11TChhKXwwO0Y9ZltHKzQ+PjJdfDA7SD1mW0c+PjJdfDA7RT1G
Ky0xfDA7QT0rcFtIKyhFPDw2KSsxNj4+M107Qj0rKEZ8MCk7Qz0oZXwwKSE9MDtEPShnfDApPT0y
O209MDtpPTAuMDtoPTAuMDtrPTAuMDtsPTAuMDt3aGlsZSgxKXtpZigobXwwKT49KEZ8MCkpYnJl
YWs7YT1+fit2TCgrKG0rLTF8MCksQik7ej1tKzF8MDtJPX5+K3ZMKCsoenwwKSxCKTtvPUgrKG08
PDYpfDA7bD0rcFtvPj4zXTt5PUgrKG08PDYpKzh8MDtrPStwW3k+PjNdO3I9SCsobTw8NikrMTZ8
MDtzPStwW3I+PjNdO3Q9SCsobTw8NikrMjR8MDt1PUgrKG08PDYpKzMyfDA7dj1IKyhtPDw2KSs0
MHwwO3c9SCsobTw8NikrNDh8MDt4PUgrKG08PDYpKzU2fDA7aD0rd0woK3BbSCsoSTw8NikrOD4+
M10taywrcFtIKyhJPDw2KT4+M10tbCk7aj0rd0woK3BbSCsoYTw8NikrOD4+M10taywrcFtIKyhh
PDw2KT4+M10tbCk7cT0rcWJbYyY3XShzLEEsZCk7YT0obXwwKT09MDtkbyBpZihhfChtfDApPT0o
RXwwKSlpZihhKXtLPWgrMS41NzA3OTYzMjY3OTQ4OTY2O249bC1xKitMKCtoKTtKPWstcSorTSgr
aCk7YT0wO2o9SztpPXE7aD1LO2s9RD9KOms7bD1EP246bDticmVha31lbHNle2g9aistMS41NzA3
OTYzMjY3OTQ4OTY2O0s9bC0rTCgraikqcTtKPWstK00oK2opKnE7YT0wO2o9aDtpPXE7az1EP0o6
aztsPUQ/SzpsO2JyZWFrfWVsc2V7bj1oLWo7bj0xLjU3MDc5NjMyNjc5NDg5NjYtKG48MC4wP24r
Ni4yODMxODUzMDcxNzk1ODY6bikqLjU7aT0rTCgrbik7aT1pPT0wLjA/MC4wOnEvaTtoPWgrMS41
NzA3OTYzMjY3OTQ4OTY2O249bitoO2lmKEN8aT5xKjEwLjApe0s9K3ZMKGorLTEuNTcwNzk2MzI2
Nzk0ODk2Niw2LjI4MzE4NTMwNzE3OTU4Nik7YT0xO2o9K3ZMKGgsNi4yODMxODUzMDcxNzk1ODYp
O2k9cTtoPUt9ZWxzZXthPTA7aj1uO2g9bn19d2hpbGUoMCk7cFtvPj4zXT1sO3BbeT4+M109aztw
W3I+PjNdPXM7Ylt0Pj4wXT0xMDg7cFt1Pj4zXT1oO3Bbdj4+M109aTtmW3c+PjJdPWE7cFt4Pj4z
XT1qO209en1vPURIKDEyKXwwO2E9MDt3aGlsZSgxKXtpZigoYXwwKT49KEZ8MCkpYnJlYWs7bD0r
cFtIKyhhPDw2KT4+M107az0rcFtIKyhhPDw2KSs4Pj4zXTtoPStwW0grKGE8PDYpKzMyPj4zXTtp
PStwW0grKGE8PDYpKzQwPj4zXTtJPWZbSCsoYTw8NikrNDg+PjJdfDA7aj0rcFtIKyhhPDw2KSs1
Nj4+M107eEwobywrTCgraCkqaStsLCtNKCtoKSppK2spO2lmKEl8MCl5TChsLGssaSwxLGgsaixl
LG8pO2E9YSsxfDB9bT0oZ3wwKT09MTtqPWgrMy4xNDE1OTI2NTM1ODk3OTM7aWYobSl6TChvLGws
ayxpLGgsaik7ZWxzZXt4TChvLCtMKCtqKSppK2wsK00oK2opKmkrayk7aD1qfWE9RistMnwwO2o9
bDt3aGlsZSgxKXtpZigoYXwwKTw9LTEpYnJlYWs7bD0rcFtIKyhhPDw2KT4+M107az0rcFtIKyhh
PDw2KSs4Pj4zXTtpPStwW0grKGE8PDYpKzQwPj4zXTtJPWZbSCsoYTw8NikrNDg+PjJdfDA7aD0r
cFtIKyhhPDw2KSszMj4+M10rMy4xNDE1OTI2NTM1ODk3OTM7aj0rcFtIKyhhPDw2KSs1Nj4+M10r
My4xNDE1OTI2NTM1ODk3OTM7eEwobywrTCgraikqaStsLCtNKCtqKSppK2spO2lmKEl8MCl5TChs
LGssaSwwLGgsaixlLG8pO2E9YSstMXwwO2o9bH1pZihtKXpMKG8saixrLGksaCxoKzMuMTQxNTky
NjUzNTg5NzkzKTtBTChHKTtyZXR1cm4gb3wwfWZ1bmN0aW9uIHVMKGEpe2E9YXwwO3ZhciBiPTAu
MCxjPTAsZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0w
LHI9MCxzPTAuMDtwPXQ7dD10KzE0NHwwO2k9cCsxMjh8MDtoPXArMTEyfDA7aj1wKzk2fDA7az1w
KzY0fDA7bD1wO209cCs4MHwwO249QkwoKXwwO289ZlthKzQ+PjJdfDA7ZT1mW2E+PjJdfDA7Zltp
Pj4yXT1mW2U+PjJdO2ZbaSs0Pj4yXT1mW2UrND4+Ml07ZltpKzg+PjJdPWZbZSs4Pj4yXTtmW2kr
MTI+PjJdPWZbZSsxMj4+Ml07Q0wobixpLDAuMCk7Zz1sKzQ4fDA7ZltnPj4yXT1mW2U+PjJdO2Zb
Zys0Pj4yXT1mW2UrND4+Ml07ZltnKzg+PjJdPWZbZSs4Pj4yXTtmW2crMTI+PjJdPWZbZSsxMj4+
Ml07Yz0wO2I9MC4wO3doaWxlKDEpe2Q9YyszfDA7aWYoKGR8MCk+PShvfDApKWJyZWFrO2ZbbD4+
Ml09ZltnPj4yXTtmW2wrND4+Ml09ZltnKzQ+PjJdO2ZbbCs4Pj4yXT1mW2crOD4+Ml07ZltsKzEy
Pj4yXT1mW2crMTI+PjJdO2E9MTt3aGlsZSgxKXtpZigoYXwwKT09NClicmVhaztxPWwrKGE8PDQp
fDA7cj1lKyhhK2M8PDQpfDA7ZltxPj4yXT1mW3I+PjJdO2ZbcSs0Pj4yXT1mW3IrND4+Ml07Zltx
Kzg+PjJdPWZbcis4Pj4yXTtmW3ErMTI+PjJdPWZbcisxMj4+Ml07YT1hKzF8MH1mW2o+PjJdPWZb
bD4+Ml07ZltqKzQ+PjJdPWZbbCs0Pj4yXTtmW2orOD4+Ml09ZltsKzg+PjJdO2ZbaisxMj4+Ml09
ZltsKzEyPj4yXTthPTE7d2hpbGUoMSl7aWYoKGF8MCk9PTIxKWJyZWFrO2VNKG0sbCwzLCsoYXww
KSouMDUsMCwwKTtmW2s+PjJdPWZbbT4+Ml07ZltrKzQ+PjJdPWZbbSs0Pj4yXTtmW2srOD4+Ml09
ZlttKzg+PjJdO2ZbaysxMj4+Ml09ZlttKzEyPj4yXTtmW2g+PjJdPWZbaj4+Ml07ZltoKzQ+PjJd
PWZbais0Pj4yXTtmW2grOD4+Ml09ZltqKzg+PjJdO2ZbaCsxMj4+Ml09ZltqKzEyPj4yXTtmW2k+
PjJdPWZbbT4+Ml07ZltpKzQ+PjJdPWZbbSs0Pj4yXTtmW2krOD4+Ml09ZlttKzg+PjJdO2ZbaSsx
Mj4+Ml09ZlttKzEyPj4yXTtzPStETChoLGkpK2I7ZltpPj4yXT1mW2s+PjJdO2ZbaSs0Pj4yXT1m
W2srND4+Ml07ZltpKzg+PjJdPWZbays4Pj4yXTtmW2krMTI+PjJdPWZbaysxMj4+Ml07Q0wobixp
LHMpO2Zbaj4+Ml09ZltrPj4yXTtmW2orND4+Ml09ZltrKzQ+PjJdO2Zbais4Pj4yXT1mW2srOD4+
Ml07ZltqKzEyPj4yXT1mW2srMTI+PjJdO2E9YSsxfDA7Yj1zfWM9ZH1FTChuKTt0PXA7cmV0dXJu
IG58MH1mdW5jdGlvbiB2TChhLGIpe2E9K2E7Yj0rYjt2YXIgYz0wLjA7Yz1hLStIKCsoYS9iKSkq
YjtyZXR1cm4gKyghKGE8MC4wKSYhKGE+PWIpP2E6Yyl9ZnVuY3Rpb24gd0woYSxiKXthPSthO2I9
K2I7aWYoIShhPT0wLjAmYj09MC4wKSl7YT0rUigrYSwrYik7aWYoIShhPj0wLjApKWE9YSs2LjI4
MzE4NTMwNzE3OTU4Nn1lbHNlIGE9MC4wO3JldHVybiArYX1mdW5jdGlvbiB4TChhLGIsYyl7YT1h
fDA7Yj0rYjtjPStjO3ZhciBkPTAsZT0wO2Q9ZlthPj4yXXwwO2U9YSs0fDA7aWYoKGR8MCk8KGZb
ZT4+Ml18MCkpZT1mW2ErOD4+Ml18MDtlbHNle2ZbZT4+Ml09MmUzO2Q9YSs4fDA7ZT1HSChmW2Q+
PjJdfDAsMzJlMyl8MDtmW2Q+PjJdPWU7ZD1mW2E+PjJdfDB9ZlthPj4yXT1kKzE7cFtlKyhkPDw0
KT4+M109YjtwW2UrKGQ8PDQpKzg+PjNdPWM7cmV0dXJufWZ1bmN0aW9uIHlMKGEsYixjLGQsZSxm
LGcsaCl7YT0rYTtiPStiO2M9K2M7ZD1kfDA7ZT0rZTtmPStmO2c9Z3wwO2g9aHwwO3ZhciBpPTAu
MDtkPShkfDApPT0wO2k9ZD9lOmY7ZG8gaWYoKGd8MCk9PTEpe2U9KGQ/ZjplKS1pO2U9IShlPD0x
Ljc0NTMyOTI1MTk5NDMyOTZlLTAzKT9lOmUrNi4yODMxODUzMDcxNzk1ODY7aWYoZTwzLjE0MTU5
MjY1MzU4OTc5Myl7ekwoaCxhLGIsYyxlK2ksaSk7YnJlYWt9ZWxzZXt4TChoLCtMKCtpKSpjK2Es
K00oK2kpKmMrYSk7YnJlYWt9fWVsc2UgeEwoaCwrTCgraSkqYythLCtNKCtpKSpjK2EpO3doaWxl
KDApO3JldHVybn1mdW5jdGlvbiB6TChhLGIsYyxkLGUsZil7YT1hfDA7Yj0rYjtjPStjO2Q9K2Q7
ZT0rZTtmPStmO3ZhciBnPTAsaD0wLjA7eEwoYSwrTCgrZSkqZCtiLCtNKCtlKSpkK2MpO2E6ZG8g
aWYoIShkPT0wLjApKXt3aGlsZSgxKXtpZighKGY+ZSkpYnJlYWs7Zj1mKy02LjI4MzE4NTMwNzE3
OTU4Nn1mPWUtZjt3aGlsZSgxKXtpZighKGY+Ni4yODMxODUzMDcxNzk1ODYpKWJyZWFrO2Y9Zist
Ni4yODMxODUzMDcxNzk1ODZ9Zj1mKi4wNTI2MzE1Nzg5NDczNjg0MjtnPTE7d2hpbGUoMSl7aWYo
KGd8MCk9PTIwKWJyZWFrIGE7aD1lLWYqKyhnfDApO3hMKGEsK0woK2gpKmQrYiwrTSgraCkqZCtj
KTtnPWcrMXwwfX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gQUwoYSl7YT1hfDA7TV8oZlthPj4y
XXwwKTtNXyhhKTtyZXR1cm59ZnVuY3Rpb24gQkwoKXt2YXIgYT0wLGI9MDthPURIKDEyKXwwO2Zb
YSs0Pj4yXT0wO2ZbYSs4Pj4yXT0yZTM7Yj1ESCgxMjhlMyl8MDtmW2E+PjJdPWI7cmV0dXJuIGF8
MH1mdW5jdGlvbiBDTChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz0rYzt2YXIgZD0wLGU9MCxnPTAsaD0w
O2g9YSs0fDA7ZD1mW2g+PjJdfDA7ZT1hKzh8MDtnPWZbZT4+Ml18MDtpZigoZHwwKTwoZ3wwKSlh
PWZbYT4+Ml18MDtlbHNle2ZbZT4+Ml09Zzw8MTtkPUdIKGZbYT4+Ml18MCxnPDw3KXwwO2ZbYT4+
Ml09ZDthPWQ7ZD1mW2g+PjJdfDB9cFthKyhkPDw2KT4+M109K3BbYj4+M107cFthKyhkPDw2KSs4
Pj4zXT0rcFtiKzg+PjNdO2ZbaD4+Ml09ZCsxO3BbYSsoZDw8NikrMTY+PjNdPWM7cmV0dXJufWZ1
bmN0aW9uIERMKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MC4wLGQ9MC4wO2M9K3BbYT4+M10tK3Bb
Yj4+M107ZD0rcFthKzg+PjNdLStwW2IrOD4+M107cmV0dXJuICsoK0ooKyhkKmQrYypjKSkpfWZ1
bmN0aW9uIEVMKGEpe2E9YXwwO3ZhciBiPTA7Yj1mW2ErND4+Ml18MDtpZigoZlthKzg+PjJdfDAp
PihifDApKXtiPUdIKGZbYT4+Ml18MCxiPDw2KXwwO2ZbYT4+Ml09Yn1yZXR1cm59ZnVuY3Rpb24g
RkwoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxr
PTA7az10O3Q9dCsxNnwwO2o9ays4fDA7aT1rO2c9aysxMnwwO2ZbZz4+Ml09MDtoPWZbYys0Pj4y
XXwwO2lmKCFoKXhhKDExNDk4NCwxMTQ5OTUsMjAzLDExNTAwNik7ZD1mW2g+PjJdfDA7aWYoIWQp
eGEoMTE1MDIwLDExNDk5NSwyMDYsMTE1MDA2KTtlPWgrOHwwO2lmKCEoZltlPj4yXXwwKSl7ZD1H
TChkKXwwO2ZbZT4+Ml09ZH1pZighMClkPTA7ZWxzZXtkPShKRyhmW2g+PjJdfDApfDApPT0wO2Q9
ZD8wOmd9aWYoISgoWFAoYixjLGQpfDApPDwyND4+MjQpKUhMKGMsZCk7ZG8gaWYoZHwwKXtlPWZb
Zz4+Ml18MDtiPWZbMTk0NTddfDA7ZD1mW2g+PjJdfDA7aWYoIWUpe2Zbaj4+Ml09ZDtnMihiLDEx
NTA2MyxqKXwwO2JyZWFrfWVsc2V7ZltpPj4yXT1kO2ZbaSs0Pj4yXT1lO2cyKGIsMTE1MDMxLGkp
fDA7YnJlYWt9fXdoaWxlKDApO2o9YyszMnwwO2ZbYT4+Ml09ZltqPj4yXTtmW2ErND4+Ml09Zltq
KzQ+PjJdO2ZbYSs4Pj4yXT1mW2orOD4+Ml07ZlthKzEyPj4yXT1mW2orMTI+PjJdO3Q9aztyZXR1
cm59ZnVuY3Rpb24gR0woYSl7YT1hfDA7dmFyIGI9MDtiPWZbNDg0NTRdfDA7aWYoKGJ8MCkhPTA/
KGIzKGIsYSl8MCk9PTA6MClhPWZbNDg0NjNdfDA7ZWxzZXtNXyhiKTthPXYyKGEpfDA7Zls0ODQ1
NF09YTthPXkyKDE5MzgxNiwxNzcyOCwzNSwzNiw5Myl8MDtmWzQ4NDYzXT1hfXJldHVybiBhfDB9
ZnVuY3Rpb24gSEwoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MC4wLGc9MCxoPTAuMCxpPTAs
aj0wLjA7aT1mW2ErND4+Ml18MDtkPWZbaT4+Ml18MDtoPStwW2krMTY+PjNdO2k9YSszMnwwO3Bb
aT4+M109MC4wO3BbYSs0MD4+M109aCoxLjI7cFthKzE2Pj4zXT0wLjA7cFthKzI0Pj4zXT1oKi4x
O2ZbYSs4Pj4yXT0wO2ZbYSsxMj4+Ml09MDtpZihhMyhkLDExNTA5Nyw0KXwwKWlmKChhMyhkLDEx
NTEwMiw1KXwwKSE9MD8oYTMoZCwxMTUxMDgsOSl8MCkhPTA6MCl7Zz0xMTU4NDtkPTExNTExOH1l
bHNle2c9MTU2ODA7ZD0xMTUxNTR9ZWxzZXtnPTEzNjMyO2Q9MTE1MTM1fWlmKGN8MClmW2M+PjJd
PWQ7ZD1mW2E+PjJdfDA7aWYoZHwwKXtlPTAuMDt3aGlsZSgxKXthPWJbZD4+MF18MDtpZighKGE8
PDI0Pj4yNCkpYnJlYWs7aj1lKyArcFtnKygoYSYyNTUpPDwzKT4+M107cFtpPj4zXT1qO2Q9ZCsx
fDA7ZT1qfXBbaT4+M109ZSpofXJldHVybn1mdW5jdGlvbiBJTChhLGIpe2E9YXwwO2I9YnwwO3Jl
dHVybiBiMyhmW2E+PjJdfDAsZltiPj4yXXwwKXwwfWZ1bmN0aW9uIEpMKGEpe2E9YXwwO3ZhciBi
PTA7Yj1hKzEwOHwwO2ZbYj4+Ml09MDtmW2ErMTEyPj4yXT0zMjtmW2ErMTE2Pj4yXT0tMTtmW2Er
MTIwPj4yXT0zMDtmW2ErMTI0Pj4yXT02MztmW2ErMTI4Pj4yXT01NTtmW2ErMTMyPj4yXT0wO2Zb
YSsxMzY+PjJdPTA7ZlthKzE0MD4+Ml09MDtiPUx3KGIsZlsxODAwMV18MCl8MDtmW2ErMTQ0Pj4y
XT1iO3JldHVybiBifDB9ZnVuY3Rpb24gS0woYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2M9Tl8o
MSwzMil8MDthPWZbYj4+Ml18MDtpZihhfDApe2E9djIoYSl8MDtmW2M+PjJdPWF9YT1mW2IrND4+
Ml18MDtpZihhfDApe2E9djIoYSl8MDtmW2MrND4+Ml09YX1mW2MrMjQ+PjJdPWZbYisyND4+Ml0m
MTI3O3BbYysxNj4+M109K3BbYisxNj4+M107ZltjKzg+PjJdPWZbYis4Pj4yXTtyZXR1cm4gY3ww
fWZ1bmN0aW9uIExMKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtNXyhmW2I+PjJdfDApO01fKGZb
Yis0Pj4yXXwwKTtNXyhiKTtyZXR1cm59ZnVuY3Rpb24gTUwoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7
Yz1jfDA7ZD1kfDA7dmFyIGU9MC4wLGc9MC4wLGg9MCxpPTA7YT1mW2I+PjJdfDA7ZD1mW2M+PjJd
fDA7aD0oZHwwKT09MDtpZighYSlpZihoKWk9NTtlbHNlIGE9LTE7ZWxzZSBpZighaCl7YT1IJChh
LGQpfDA7aWYoIWEpaT01fWVsc2UgYT0xO2RvIGlmKChpfDApPT01KXthPWZbYis0Pj4yXXwwO2Q9
ZltjKzQ+PjJdfDA7aD0oZHwwKT09MDtpZighYSl7aWYoIWgpe2E9LTE7YnJlYWt9fWVsc2V7aWYo
aCl7YT0xO2JyZWFrfWE9SCQoYSxkKXwwO2lmKGF8MClicmVha31hPShmW2IrMjQ+PjJdJjEyNykt
KGZbYysyND4+Ml0mMTI3KXwwO2lmKCFhKXtnPStwW2IrMTY+PjNdO2U9K3BbYysxNj4+M107aWYo
ZzxlKWE9LTE7ZWxzZSBhPWc+ZSYxfX13aGlsZSgwKTtyZXR1cm4gYXwwfWZ1bmN0aW9uIE5MKCl7
bWIoMTkzODU2KXwwO3JldHVybn1mdW5jdGlvbiBPTCgpe3ZhciBhPTAsYj0wO2I9dDt0PXQrMTZ8
MDthPWI7bWIoYXwwKXwwO3Q9YjtyZXR1cm4gKygrKChmW2ErND4+Ml18MCkrKGZbYT4+Ml18MCkt
KGZbNDg0NjRdfDApLShmWzQ4NDY1XXwwKXwwKSouMDE2NjY2NjY2NjY2NjY2NjY2KX1mdW5jdGlv
biBQTChhKXthPWF8MDt2YXIgYj0wLGM9MDtiPURIKDE2KXwwO2E9KGF8MCk+Mj9hOjI7Yz1ESChh
PDwyKXwwO2ZbYj4+Ml09YztmW2IrMTI+PjJdPWM7ZltiKzg+PjJdPWM7ZltiKzQ+PjJdPWMrKGE8
PDIpO3JldHVybiBifDB9ZnVuY3Rpb24gUUwoYSl7YT1hfDA7TV8oZlthPj4yXXwwKTtNXyhhKTty
ZXR1cm59ZnVuY3Rpb24gUkwoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MDtjPWErMTJ8MDtk
PWZbYz4+Ml18MDtmW2M+PjJdPWQrNDtmW2Q+PjJdPWI7aWYoKGZbYz4+Ml18MCk+Pj4wPj0oZlth
KzQ+PjJdfDApPj4+MClmW2M+PjJdPWZbYT4+Ml07cmV0dXJufWZ1bmN0aW9uIFNMKGEpe2E9YXww
O3ZhciBiPTAsYz0wLGQ9MDtjPWErOHwwO2I9ZltjPj4yXXwwO2lmKChifDApIT0oZlthKzEyPj4y
XXwwKSl7ZD1iKzR8MDtmW2M+PjJdPWQ7Yj1mW2I+PjJdfDA7aWYoZD4+PjA+PShmW2ErND4+Ml18
MCk+Pj4wKWZbYz4+Ml09ZlthPj4yXX1lbHNlIGI9MDtyZXR1cm4gYnwwfWZ1bmN0aW9uIFRMKGEs
YyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MDtpPXQ7dD10KzE2
fDA7Zz1pO2lmKCgoY3wwKSE9MD8oaD1IeChhLGMpfDAsKGh8MCkhPTApOjApPyhiW2g+PjBdfDAp
IT0wOjApe2M9ejIoaCxnLDEwKXwwO2Q9KGh8MCk9PShmW2c+PjJdfDApP2Q6KGN8MCk8KGV8MCk/
ZTpjfXQ9aTtyZXR1cm4gZHwwfWZ1bmN0aW9uIFVMKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9K2Q7
ZT0rZTt2YXIgZz0wLGg9MCxpPTAsaj0wLjA7aT10O3Q9dCsxNnwwO2c9aTtpZigoKGF8MCkhPTAm
KGN8MCkhPTA/KGg9SHgoYSxjKXwwLChofDApIT0wKTowKT8oYltoPj4wXXwwKSE9MDowKXtqPStC
MihoLGcpO2Q9KGh8MCk9PShmW2c+PjJdfDApP2Q6ajxlP2U6an10PWk7cmV0dXJuICtkfWZ1bmN0
aW9uIFZMKGEpe2E9YXwwO3ZhciBiPTAuMDtiPStwWzI0MDIzXTtpZighKGI+MC4wKSl7Yj0rVUwo
YSx3eChhLDAsMTE1OTY0LDApfDAsLTEuMCwwLjApO2I9Yj09MC4wPzcyLjA6Yn1yZXR1cm4gK2J9
ZnVuY3Rpb24gV0woYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2lmKChhfDApIT0wJihifDApIT0w
KWM9SHgoYSxiKXwwO3JldHVybiBjfDB9ZnVuY3Rpb24gWEwoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9
ZHwwO2E9V0woYSxjLGQpfDA7aWYoKGF8MCkhPTA/KGJbYT4+MF18MCkhPTA6MClkPWE7cmV0dXJu
IGR8MH1mdW5jdGlvbiBZTChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7aWYoIWIpYT1jJjI1NTtl
bHNlIGE9WkwoSHgoYSxiKXwwKXwwO3JldHVybiBhfDB9ZnVuY3Rpb24gWkwoYSl7YT1hfDA7cmV0
dXJuIF9MKGEsMCl8MH1mdW5jdGlvbiBfTChhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTA7aWYoKGF8
MCkhPTA/KGQ9YlthPj4wXXwwLGQ8PDI0Pj4yNCE9MCk6MClpZigoYjMoYSwxNDU1NzgpfDApIT0w
PyhiMyhhLDExNTk3NSl8MCkhPTA6MClpZigoYjMoYSwxMTU5NzgpfDApIT0wPyhiMyhhLDExNTk4
Myl8MCkhPTA6MCl7aWYoKChkPDwyND4+MjQpKy00OHwwKT4+PjA8MTApYz0oRDIoYSl8MCkmMjU1
fWVsc2UgYz0xO2Vsc2UgYz0wO3JldHVybiBjfDB9ZnVuY3Rpb24gJEwoYSl7YT1hfDA7dmFyIGI9
MCxjPTA7d2hpbGUoMSl7Yj0oZlthKzE2Pj4yXXwwKSsyMjB8MDtjPWZbYj4+Ml18MDtpZighKChj
fDApIT0oYXwwKSYoY3wwKSE9MCkpYnJlYWs7YT1mWyhmW2MrMTY+PjJdfDApKzIyMD4+Ml18MDtp
ZighYSlhPWM7ZWxzZSBmW2I+PjJdPWF9cmV0dXJuIGF8MH1mdW5jdGlvbiBhTShhLGIpe2E9YXww
O2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxnPTA7aWYoKGF8MCkhPShifDApKXtjPWZbYSsxNj4+Ml18
MDtkPWMrMjIwfDA7aWYoIShmW2Q+PjJdfDApKXtmW2Q+PjJdPWE7ZltjKzIxNj4+Ml09MX1lbHNl
IGE9JEwoYSl8MDtjPWZbYisxNj4+Ml18MDtkPWMrMjIwfDA7aWYoIShmW2Q+PjJdfDApKXtmW2Q+
PjJdPWI7ZltjKzIxNj4+Ml09MX1lbHNle2M9JEwoYil8MDtiPWM7Yz1mW2MrMTY+PjJdfDB9ZD1m
W2ErMTY+PjJdfDA7Zz0oZltkKzEyMD4+Ml18MCk+KGZbYysxMjA+PjJdfDApO2U9Zz9kOmM7YT1n
P2I6YTtmW2UrMjIwPj4yXT1hO2Q9KGc/YzpkKSsyMTZ8MDtmW2Q+PjJdPShmW2Q+PjJdfDApKyhm
W2UrMjE2Pj4yXXwwKX1yZXR1cm4gYXwwfWZ1bmN0aW9uIGJNKGEpe2E9YXwwO2E9ZlthKzE2Pj4y
XXwwO2ZbYSsyMTY+PjJdPTE7ZlthKzIyMD4+Ml09MDtiW2ErMTU5Pj4wXT0wO3JldHVybn1mdW5j
dGlvbiBjTShhLGIpe2E9YXwwO2I9YnwwO2lmKCgkTChhKXwwKT09KGF8MCkpe2E9ZlthKzE2Pj4y
XXwwO2ZbYSsyMjA+PjJdPWI7Yj0oZltiKzE2Pj4yXXwwKSsyMTZ8MDtmW2I+PjJdPShmW2I+PjJd
fDApKyhmW2ErMjE2Pj4yXXwwKTtyZXR1cm59ZWxzZSB4YSgxMTU5OTUsMTE1OTg3LDE5NCwxMTYw
MTEpfWZ1bmN0aW9uIGRNKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MC4wO2I9ZlsoZltiKzE2Pj4y
XXwwKSsxMzI+PjJdfDA7Yz0rcFtiKzg+PjNdKjcyLjA7cFthPj4zXT0rcFtiPj4zXSo3Mi4wO3Bb
YSs4Pj4zXT1jO3JldHVybn0KK2Z1bmN0aW9uIGkwKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHww
O2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9
MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wO3g9cjAoYyl8MDt6
PShhfDApPT0wfChlfDApPT0wO2lmKCF6KXtmW2UrNDg+PjJdPTA7ZltmW2UrMzY+PjJdPj4yXT0t
MX1nPWUrMjh8MDtBPUxfKChmW2c+PjJdPDwzKSs4fDApfDA7ZG8gaWYoIUEpZz0xMjtlbHNle2Zb
QT4+Ml09LTE7Qj1MXygoZltnPj4yXTw8MikrNHwwKXwwO2lmKCFCKXtNXyhBKTtnPTEyO2JyZWFr
fWZbQj4+Ml09LTE7Qz1MXygoZltnPj4yXTw8MykrOHwwKXwwO2lmKCFDKXtNXyhBKTtNXyhCKTtn
PTEyO2JyZWFrfWg9ZltnPj4yXXwwO2c9MDtkb3tmW0MrKGc8PDMpPj4yXT0tMTtnPWcrMXwwfXdo
aWxlKGc+Pj4wPD1oPj4+MCk7czAoYyxkKXwwO2c9dDAoYywwKXwwO2E6ZG8gaWYoKGd8MCkhPTB8
KHIwKGMpfDApPD0oeHwwKSl7ZD1BO249MDtoPTA7bT0wO2w9LTF9ZWxzZXt1PWUrMzJ8MDt2PWUr
MTZ8MDt3PWUrMzZ8MDtkPUE7bj0wO2g9MDttPTA7dD0xO2w9LTE7cz0wO3doaWxlKDEpe2I6ZG8g
c3dpdGNoKHUwKGMpfDApe2Nhc2UgNjp7aT11MChjKXwwO2c9MDtkb3tqPWQrKGc8PDIpfDA7Zz1n
KzF8MH13aGlsZSgoZltqPj4yXXwwKT4tMSk7ZltqPj4yXT1pPDwxfDE7ZltkKyhnPDwyKT4+Ml09
LTE7Zz0wO3doaWxlKDEpaWYoKGZbQisoZzw8Mik+PjJdfDApPi0xKWc9ZysxfDA7ZWxzZSBicmVh
aztmW0IrKGcrLTE8PDIpPj4yXT0tMTtqPXQ7Zz0wO2k9czticmVha31jYXNlIDA6e3E9djAoYyl8
MDtyPXErMTJ8MDtqPWZbcj4+Ml18MDtpZigoanwwKT4tMSl7Zz0wO2Rve2k9ZCsoZzw8Mil8MDtn
PWcrMXwwfXdoaWxlKChmW2k+PjJdfDApPi0xKTtmW2k+PjJdPWo8PDE7ZltkKyhnPDwyKT4+Ml09
LTE7aWYoIXope2c9MDt3aGlsZSgxKWlmKChmW0IrKGc8PDIpPj4yXXwwKT4tMSlnPWcrMXwwO2Vs
c2UgYnJlYWs7ZlsoZlt2Pj4yXXwwKSsoaioxMnwwKSs4Pj4yXT0wO2lmKGd8MCl7Zz1MXygoZzw8
MikrNHwwKXwwO2lmKCFnKXtqPXQ7Zz0xMjtpPXM7YnJlYWsgYn1mWyhmW3Y+PjJdfDApKyhqKjEy
fDApKzg+PjJdPWc7aT1mW0I+PjJdfDA7aWYoKGl8MCk+LTEpe2s9MDtqPWc7ZG97ZltqPj4yXT1p
O2s9aysxfDA7aT1mW0IrKGs8PDIpPj4yXXwwO2o9Zysoazw8Mil8MH13aGlsZSgoaXwwKT4tMSk7
Zz1qfWZbZz4+Ml09LTF9fWc9dDAoYyxmW3I+PjJdfDApfDA7aWYoZ3wwKXtqPXQ7aT1zO2JyZWFr
IGJ9Zz10MChjLDYpfDA7aWYoZ3wwKXtqPXQ7aT1zO2JyZWFrIGJ9fWM6ZG8gc3dpdGNoKGZbcT4+
Ml18MCl7Y2FzZSAwOntwPWZbZltxKzQ+PjJdPj4yXXwwO2lmKChwfDApPi0xfChwfDApPT0tND8o
ZltkPj4yXXwwKT4tMTowKXtpZih6KXtmW3ErMjA+PjJdPTE7Zz0wfWVsc2V7Zz1HMChhLHEsbSl8
MDtmWyhmW3U+PjJdfDApKyhtPDwyKT4+Ml09cztpZigobHwwKT4tMSl7aj1mW3c+PjJdfDA7aT0w
O3doaWxlKDEpe2s9aisoaTw8Mil8MDtvPWkrMXwwO2lmKChmW2s+PjJdfDApPi0xKWk9bztlbHNl
IGJyZWFrfWZbaz4+Ml09bTtmW2orKG88PDIpPj4yXT1sO2ZbaisoaSsyPDwyKT4+Ml09LTE7aD1o
KzF8MDtsPS0xfUgwKGQsZSxtKX1mW2Q+PjJdPS0xO3A9dCsxfDA7bz1zO249bisxfDA7bT10fWVs
c2V7cD10O2c9MDtvPXN9YnJlYWt9Y2FzZSAxOntqPWZbcSs0Pj4yXXwwO2s9ZltqPj4yXXwwO2o9
ZltqKzQ+PjJdfDA7Zz1zMChjLHEpfDA7aWYoIWcpe2c9dDAoYyw1KXwwO2lmKCFnKXtnPXMwKGMs
ail8MDtpZighZyl7Zz10MChjLDApfDA7aWYoIWcpe2k9aysyMHwwO2c9dDAoYywoZltpPj4yXXww
KSt0fDApfDA7aWYoIWcpe2lmKChmW2k+PjJdfDApPjApe2k9KGZbaisyMD4+Ml18MCk+MDtnPWk/
dDotMTtpPXQrKGkmMSl8MH1lbHNle2c9LTE7aT10fWc9dDAoYyxnKXwwO2lmKCFnKXtnPXQwKGMs
NCl8MDtpZighZyl7Zz1zMChjLGspfDA7aWYoIWcpe3A9aTtnPXQwKGMsMCl8MDtvPXN9ZWxzZXtw
PWk7bz1zfX1lbHNle3A9aTtvPXN9fWVsc2V7cD1pO289c319ZWxzZXtwPXQ7bz1zfX1lbHNle3A9
dDtvPXN9fWVsc2V7cD10O289c319ZWxzZXtwPXQ7bz1zfX1lbHNle3A9dDtvPXN9YnJlYWt9Y2Fz
ZSAyOntpPWZbcSs0Pj4yXXwwO2lmKHope2lmKChmW2Q+PjJdfDApPi0xKWc9MTtlbHNlIGc9KGJb
aSsxMj4+MF0mMSkhPTA7Zz10MChjLGcmMSl8MDtpZihnfDApe3A9dDtvPXM7YnJlYWsgY319ZWxz
ZXtnPXQwKGMsbSl8MDtpZihnfDApe3A9dDtvPXM7YnJlYWsgY31nPXQwKGMsYltpKzEyPj4wXSYx
KXwwO2lmKGd8MCl7cD10O289czticmVhayBjfX1nPXMwKGMscSl8MDtpZighZyl7Zz10MChjLDEp
fDA7aWYoIWcpe2c9czAoYyxmW2k+PjJdfDApfDA7aWYoIWcpe2c9dDAoYywwKXwwO2lmKCFnKXtp
ZigoZltkPj4yXXwwKTw9LTE/KGJbaSsxMj4+MF0mMSk9PTA6MCl7cD10O2c9MDtvPTA7YnJlYWsg
Y31pZih6KWc9MDtlbHNle2c9RzAoYSxxLG0pfDA7ZlsoZlt1Pj4yXXwwKSsobTw8Mik+PjJdPShi
W2krMTI+PjBdJjEpPT0wP3M6MTtpZigobHwwKT4tMSl7aj1mW3c+PjJdfDA7aT0wO3doaWxlKDEp
e2s9aisoaTw8Mil8MDtvPWkrMXwwO2lmKChmW2s+PjJdfDApPi0xKWk9bztlbHNlIGJyZWFrfWZb
az4+Ml09bTtmW2orKG88PDIpPj4yXT1sO2ZbaisoaSsyPDwyKT4+Ml09LTE7aD1oKzF8MDtsPS0x
fUgwKGQsZSxtKX1mW2Q+PjJdPS0xO3A9dCsxfDA7bz0wO249bisxfDA7bT10fWVsc2V7cD10O289
c319ZWxzZXtwPXQ7bz1zfX1lbHNle3A9dDtvPXN9fWVsc2V7cD10O289c31icmVha31jYXNlIDM6
e2o9ZltxKzQ+PjJdfDA7az1mW2o+PjJdfDA7aj1mW2orND4+Ml18MDtpPShmW2Q+PjJdfDApPi0x
O3A9dCsxfDA7Zz10MChjLGk/cDp0KXwwO2lmKCFnKXtnPXQwKGMsaT90Om0pfDA7aWYoIWcpe2c9
czAoYyxkKXwwO2lmKCFnKXtnPXQwKGMsKGZbZD4+Ml18MCk+Pj4zMV4xKXwwO2lmKCFnKXtnPXMw
KGMscSl8MDtpZighZyl7Zz1zMChjLGopfDA7aWYoIWcpe2c9czAoYyxrKXwwO2lmKCFnKXtnPXQw
KGMsMyl8MDtpZighZyl7Zz1zMChjLGopfDA7aWYoIWcpe2c9dDAoYywwKXwwO2lmKGd8MCl7cD10
O289czticmVhayBjfWc9dDAoYywyKXwwO2lmKGd8MCl7cD10O289czticmVhayBjfWc9czAoYyxr
KXwwO2lmKGd8MCl7cD10O289czticmVhayBjfWc9dDAoYywwKXwwO2lmKGd8MCl7cD10O289czti
cmVhayBjfWlmKChmW2Q+PjJdfDApPi0xKXtpZih6KWc9MDtlbHNle2c9RzAoYSxxLG0pfDA7Zlso
Zlt1Pj4yXXwwKSsobTw8Mik+PjJdPXM7aWYoKGx8MCk+LTEpe2o9Zlt3Pj4yXXwwO2k9MDt3aGls
ZSgxKXtrPWorKGk8PDIpfDA7bz1pKzF8MDtpZigoZltrPj4yXXwwKT4tMSlpPW87ZWxzZSBicmVh
a31mW2s+PjJdPW07ZltqKyhvPDwyKT4+Ml09bDtmW2orKGkrMjw8Mik+PjJdPS0xO2g9aCsxfDA7
bD0tMX1IMChkLGUsbSl9ZltkPj4yXT0tMTtuPW4rMXwwO209dDtpPXA7aj10KzJ8MH1lbHNle2c9
MDtpPXQ7aj1wfXQ9KGZbcSsxNj4+Ml18MCk+MDtwPXQ/aSsyfDA6aTtvPXM7bT10P2o6bX1lbHNl
e3A9dDtvPXN9fWVsc2V7cD10O289c319ZWxzZXtwPXQ7bz1zfX1lbHNle3A9dDtvPXN9fWVsc2V7
cD10O289c319ZWxzZXtwPXQ7bz1zfX1lbHNle3A9dDtvPXN9fWVsc2V7cD10O289c319ZWxzZXtw
PXQ7bz1zfWJyZWFrfWRlZmF1bHQ6e3A9dDtnPTA7bz1zfX13aGlsZSgwKTtqPWZbcj4+Ml18MDtp
ZigoanwwKT4tMSl7aT0wO2Rve2s9QisoaTw8Mil8MDtpPWkrMXwwfXdoaWxlKChmW2s+PjJdfDAp
Pi0xKTtmW2s+PjJdPWo7ZltCKyhpPDwyKT4+Ml09LTE7aj1wO2k9b31lbHNle2o9cDtpPW99YnJl
YWt9Y2FzZSAxOntnPXYwKGMpfDA7aWYoIXope3I9dTAoYyl8MDtnPXUwKGMpfDA7aWYoIXIpeT0x
MDM7ZWxzZXtsPWc7aT0wfX1lbHNle2w9ZlsoZltmW2crND4+Ml0+PjJdfDApKzIwPj4yXXwwO2w9
KHUwKGMpfDApK2x8MDtmW2crMjA+PjJdPWw7bD0tMTt5PTEwM31pZigoeXwwKT09MTAzKXt5PTA7
aT0xfWo9dDtnPTA7aT16P3M6aTticmVha31jYXNlIDQ6e2c9dTAoYyl8MDtqPXUwKGMpfDA7bT0o
Z3wwKT4tMT9nOm07Zz0wO2k9czticmVha31jYXNlIDU6e2c9djAoYyl8MDtpZih6KXtqPWZbZys0
Pj4yXXwwO2ZbZysyMD4+Ml09KGZbKGZbais0Pj4yXXwwKSsyMD4+Ml18MCkrKGZbKGZbaj4+Ml18
MCkrMjA+PjJdfDApO2o9dDtnPTA7aT1zfWVsc2V7aj10O2c9MDtpPXN9YnJlYWt9Y2FzZSAyOnt3
aGlsZSgxKWlmKChmW2Q+PjJdfDApPi0xKWQ9ZCs0fDA7ZWxzZXtqPXQ7Zz0wO2k9czticmVha31i
cmVha31jYXNlIDM6e2o9djAoYyl8MDtvPXYwKGMpfDA7Zz12MChjKXwwO2Q9dTAoYyl8MDtpZih6
KXtyPWZbZys0Pj4yXXwwO3M9ZysxNnwwO2ZbZysyMD4+Ml09KGZbKGZbcj4+Ml18MCkrMjA+PjJd
fDApK2QrKGZbKGZbcis0Pj4yXXwwKSsyMD4+Ml18MCkrKChmW3M+PjJdfDApPjA/MjowKTtnPXN9
ZWxzZSBnPWcrMTZ8MDtkPXYwKGMpfDA7aT11MChjKXwwO2s9dTAoYyl8MDtpZigoZltnPj4yXXww
KT4wKXtpZih6KWc9MDtlbHNle2c9STAoYSxqLGkpfDA7ZlsoZlt1Pj4yXXwwKSsoaTw8Mik+PjJd
PTE7aWYoIWcpZz1JMChhLG8sayl8MDtmWyhmW3U+PjJdfDApKyhrPDwyKT4+Ml09MX1qPXQ7aT0x
O249bisyfDB9ZWxzZXtqPXQ7Zz0wO2k9MX1icmVha31kZWZhdWx0OntqPXQ7Zz0wO2k9c319d2hp
bGUoMCk7aWYoKGd8MCkhPTB8KHIwKGMpfDApPD0oeHwwKSlicmVhayBhO2Vsc2V7dD1qO3M9aX19
fXdoaWxlKDApO2lmKCF6PyhIMChkLGUsbSksKGx8MCk+LTEpOjApe2k9ZltlKzM2Pj4yXXwwO2Q9
MDt3aGlsZSgxKXtqPWkrKGQ8PDIpfDA7az1kKzF8MDtpZigoZltqPj4yXXwwKT4tMSlkPWs7ZWxz
ZSBicmVha31mW2o+PjJdPW07ZltpKyhrPDwyKT4+Ml09bDtmW2krKGQrMjw8Mik+PjJdPS0xO2g9
aCsxfDB9ZltlKzQ4Pj4yXT1uO2ZbZSs0MD4+Ml09bjtmW2UrNDQ+PjJdPWg7TV8oQSk7TV8oQik7
TV8oQyl9d2hpbGUoMCk7cmV0dXJuIGd8MH1mdW5jdGlvbiBqMChhLGIsYyxkLGUpe2E9YXwwO2I9
YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0w
LG89MCxwPTAscT0wLHI9MCxzPTAsdT0wLHY9MCx3PTAseD0wLHk9MDt5PXQ7dD10KzE2fDA7cz15
KzEyfDA7eD15Kzh8MDt1PXkrNHwwO3Y9eTt3PXIwKGIpfDA7ZltzPj4yXT0wO2ZbeD4+Ml09MDtj
PXMwKGIsYyl8MDtkbyBpZighYyl7Yz10MChiLDApfDA7aWYoIWMpe2c9MDtxPTA7aD0wO2E6d2hp
bGUoMSl7aWYoKHIwKGIpfDApPD0od3wwKSl7Yz0wO3I9NjI7YnJlYWt9bz11MChiKXwwO3A9djAo
Yil8MDtiOmRvIHN3aXRjaChvfDApe2Nhc2UgMDpzd2l0Y2goZltwPj4yXXwwKXtjYXNlIDA6e2M9
ZltwKzQ+PjJdfDA7cD1mW2M+PjJdfDA7aWYoISgocHwwKT4tMXwocHwwKT09LTQpKXtjPTA7aT1x
O2JyZWFrIGJ9cD1jKzh8MDtjPShmW3A+PjJdfDApK2h8MDtmW3A+PjJdPWM7aWYoKGN8MCk8PShm
W3g+PjJdfDApKXtjPTA7aT1xO2JyZWFrIGJ9Zlt4Pj4yXT1jO2M9MDtpPXE7YnJlYWsgYn1jYXNl
IDM6e2k9ZltwKzQ+PjJdfDA7Yz1zMChiLGZbaSs0Pj4yXXwwKXwwO2lmKGN8MCl7cj02MjticmVh
ayBhfWM9dDAoYiwwKXwwO2lmKGN8MCl7cj02MjticmVhayBhfWM9czAoYixmW2k+PjJdfDApfDA7
aWYoY3wwKXtyPTYyO2JyZWFrIGF9Yz10MChiLDApfDA7aT1xO2JyZWFrIGJ9Y2FzZSAxOntpPWZb
cCs0Pj4yXXwwO2M9czAoYixmW2krND4+Ml18MCl8MDtpZihjfDApe3I9NjI7YnJlYWsgYX1jPXQw
KGIsMCl8MDtpZihjfDApe3I9NjI7YnJlYWsgYX1jPXMwKGIsZltpPj4yXXwwKXwwO2lmKGN8MCl7
cj02MjticmVhayBhfWM9dDAoYiwwKXwwO2k9cTticmVhayBifWNhc2UgMjp7aT1mW3ArND4+Ml18
MDtjPXQwKGIsaCl8MDtpZihjfDApe3I9NjI7YnJlYWsgYX1jPXMwKGIscCl8MDtpZihjfDApe3I9
NjI7YnJlYWsgYX1jPXQwKGIsMSl8MDtpZihjfDApe3I9NjI7YnJlYWsgYX1jPXMwKGIsZltpPj4y
XXwwKXwwO2lmKGN8MCl7cj02MjticmVhayBhfWM9dDAoYiwwKXwwO2lmKGN8MCl7cj02MjticmVh
ayBhfWlmKCEoKGZbaSs0Pj4yXXwwKTw9MT8oZltpKzg+PjJdfDApPD0xOjApKXtmW3M+PjJdPTA7
aD0wfWM9MDtpPXErMXwwO2JyZWFrIGJ9ZGVmYXVsdDp7Yz0wO2k9cTticmVhayBifX1jYXNlIDE6
e249cCs0fDA7bT1mW24+PjJdfDA7bz11MChiKXwwO2Zbcz4+Ml09bztrPW0rNHwwO2M9ZltrPj4y
XXwwO2lmKChjfDApPD0xKWlmKChmW20rOD4+Ml18MCk+MSl7Zlt1Pj4yXT0wO2lmKChjfDApPjAp
cj0zMTtlbHNle2o9bztoPTA7cj0zOX19ZWxzZSBqPW87ZWxzZXtmW3U+PjJdPTA7cj0zMX1jOmRv
IGlmKChyfDApPT0zMSl7Yz1EMChhLGIsZlttPj4yXXwwLChjfDApPjE/MToyLHMsZSx2LHgpfDA7
aWYoY3wwKXtyPTM2O2JyZWFrIGF9Yz0wO2o9bztpPTE7d2hpbGUoMSl7aD1mW3Y+PjJdfDA7aWYo
YyloPWwwKGEsYyxoKXwwO2lmKCFoKXtjPTEyO3I9MzY7YnJlYWsgYX1jPWZbaz4+Ml18MDtpZigo
aXwwKT49KGN8MCkpe3I9Mzk7YnJlYWsgY31qPWZbcz4+Ml18MDtpPWkrMXwwO2M9RDAoYSxiLGZb
bT4+Ml18MCwoaXwwKTwoY3wwKT8xOjIscyxlLHYseCl8MDtpZihjfDApe3I9MzY7YnJlYWsgYX1l
bHNlIGM9aH19d2hpbGUoMCk7aWYoKHJ8MCk9PTM5KXtyPTA7bD1tKzh8MDtpPWZbbD4+Ml18MDtp
ZigoaXwwKT09LTEpe2o9ZltzPj4yXXwwO2M9RDAoYSxiLGZbbT4+Ml18MCwwLHMsMCx1LHgpfDA7
aWYoY3wwKWJyZWFrIGE7Yz1FMChhLGZbdT4+Ml18MCwwLC0xLDApfDA7Zlt1Pj4yXT1jO2lmKCFj
KXtjPTEyO2JyZWFrIGF9fWVsc2UgaWYoKGN8MCk8KGl8MCkpe2s9YztpPTA7d2hpbGUoMSl7aj1m
W3M+PjJdfDA7Yz1EMChhLGIsZlttPj4yXXwwLDAscywwLHYseCl8MDtpZihjfDApe3I9NTE7YnJl
YWsgYX1pZighaSl7Yz1mW3Y+PjJdfDA7Zlt1Pj4yXT1jfWVsc2V7Yz1sMChhLGZbdj4+Ml18MCxp
KXwwO2ZbdT4+Ml09Y31pZighYyl7Yz0xMjtyPTUxO2JyZWFrIGF9aT1rMChhLC0xLC0xLC0xKXww
O2lmKCFpKXtjPTEyO3I9NTE7YnJlYWsgYX1jPUYwKGEsaSxjKXwwO2ZbdT4+Ml09YztpZighYyl7
Yz0xMjtyPTUxO2JyZWFrIGF9az1rKzF8MDtpZigoa3wwKT49KGZbbD4+Ml18MCkpYnJlYWs7ZWxz
ZSBpPWN9fWVsc2UgYz0wO2Zbcz4+Ml09ajtpZihoKWlmKCFjKWM9aDtlbHNle2M9bDAoYSxoLGMp
fDA7cj01Nn1lbHNlIHI9NTY7aWYoKHJ8MCk9PTU2KXtyPTA7aWYoIWMpe2M9MTI7YnJlYWsgYX19
ZltuPj4yXT1mW2MrND4+Ml07ZltwPj4yXT1mW2M+PjJdfWk9cSstMXwwO2g9ai1vK2d8MDtpZigh
aSl7ZltzPj4yXT1oO2M9MDtnPWg7aT0wfWVsc2V7Yz0wO2c9aDtoPWp9YnJlYWt9ZGVmYXVsdDp7
Yz0wO2k9cX19d2hpbGUoMCk7aWYoIWMpcT1pO2Vsc2V7cj02MjticmVha319aWYoKHJ8MCkhPTM2
KWlmKChyfDApIT01MSlpZigocnwwKT09NjIpe3c9KGZbZD4+Ml18MCkrZ3wwO3g9Zlt4Pj4yXXww
O2ZbZD4+Ml09KHh8MCk+KHd8MCk/eDp3O2JyZWFrfX19d2hpbGUoMCk7dD15O3JldHVybiBjfDB9
ZnVuY3Rpb24gazAoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MDtlPUEw
KGEsMCwwLDEsMjApfDA7YT1DMChhLDAsZSl8MDtpZighYSlhPTA7ZWxzZXtmW2U+PjJdPWI7Zltl
KzQ+PjJdPWM7ZltlKzg+PjJdPWR9cmV0dXJuIGF8MH1mdW5jdGlvbiBsMChhLGIsYyl7YT1hfDA7
Yj1ifDA7Yz1jfDA7dmFyIGQ9MDtpZihiKXtkPUEwKGEsMCwwLDEsOCl8MDthPUMwKGEsMSxkKXww
O2lmKCFhKWM9MDtlbHNle2ZbZD4+Ml09YjtmW2QrND4+Ml09YztmW2ErMTY+PjJdPShmW2MrMTY+
PjJdfDApKyhmW2IrMTY+PjJdfDApO2M9YX19cmV0dXJuIGN8MH1mdW5jdGlvbiBtMChhLGIsYyl7
YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0w
LG49MDtuPXQ7dD10KzE2fDA7aj1uKzR8MDtrPW47bD1yMChiKXwwO2M9czAoYixjKXwwO2E6ZG8g
aWYoIWMpe2M9dDAoYiwwKXwwO2lmKCFjKWlmKChyMChiKXwwKT4obHwwKSl7Yjp3aGlsZSgxKXto
PXUwKGIpfDA7aT12MChiKXwwO2M6ZG8gc3dpdGNoKGh8MCl7Y2FzZSAwOnN3aXRjaChmW2k+PjJd
fDApe2Nhc2UgMDp7Zz1mW2krND4+Ml18MDtlPWZbZz4+Ml18MDtpZigoZXwwKT09LTQpe2ZbaSs4
Pj4yXT0wO2M9Zys4fDA7aD13MChhLGZbYz4+Ml18MCwwLDExMTQxMTEsMCwwLC0xKXwwO2ZbaSsy
ND4+Ml09aDtpZighaCl7Yz0xMjticmVhayBhfWg9dzAoYSxmW2M+PjJdfDAsMCwxMTE0MTExLDAs
MCxmW2crND4+Ml18MCl8MDtmW2krMjg+PjJdPWg7aWYoIWgpe2M9MTI7YnJlYWsgYX1lbHNlIGJy
ZWFrIGN9Yz1pKzh8MDtpZigoZXwwKTwwKXtmW2M+PjJdPTE7aD14MChhKXwwO2ZbaSsyND4+Ml09
aDtpZighaCl7Yz0xMjticmVhayBhfWg9eDAoYSl8MDtmW2krMjg+PjJdPWg7aWYoIWgpe2M9MTI7
YnJlYWsgYX1lbHNlIGJyZWFrIGN9ZWxzZXtmW2M+PjJdPTA7Yz1nKzh8MDtkPWcrNHwwO2g9dzAo
YSxmW2M+PjJdfDAsZSxmW2Q+PjJdfDAsMCwwLC0xKXwwO2ZbaSsyND4+Ml09aDtpZighaCl7Yz0x
MjticmVhayBhfWg9dzAoYSxmW2M+PjJdfDAsZltnPj4yXXwwLGZbZD4+Ml18MCxmW2crMTI+PjJd
fDAsZltnKzE2Pj4yXXwwLC0xKXwwO2ZbaSsyOD4+Ml09aDtpZighaCl7Yz0xMjticmVhayBhfWVs
c2UgYnJlYWsgY319Y2FzZSAzOntjPXMwKGIsaSl8MDtpZihjfDApYnJlYWsgYTtjPXQwKGIsMSl8
MDtpZihjfDApYnJlYWsgYTtkPWkrNHwwO2M9czAoYixmWyhmW2Q+PjJdfDApKzQ+PjJdfDApfDA7
aWYoY3wwKWJyZWFrIGE7Yz10MChiLDApfDA7aWYoY3wwKWJyZWFrIGE7Yz1zMChiLGZbZltkPj4y
XT4+Ml18MCl8MDtpZihjfDApYnJlYWsgYTtjPXQwKGIsMCl8MDtpZighYylicmVhayBjO2Vsc2Ug
YnJlYWsgYX1jYXNlIDE6e2M9czAoYixpKXwwO2lmKGN8MClicmVhayBhO2M9dDAoYiwyKXwwO2lm
KGN8MClicmVhayBhO2Q9aSs0fDA7Yz1zMChiLGZbKGZbZD4+Ml18MCkrND4+Ml18MCl8MDtpZihj
fDApYnJlYWsgYTtjPXQwKGIsMCl8MDtpZihjfDApYnJlYWsgYTtjPXMwKGIsZltmW2Q+PjJdPj4y
XXwwKXwwO2lmKGN8MClicmVhayBhO2M9dDAoYiwwKXwwO2lmKCFjKWJyZWFrIGM7ZWxzZSBicmVh
ayBhfWNhc2UgMjp7Yz1zMChiLGkpfDA7aWYoY3wwKWJyZWFrIGE7Yz10MChiLDMpfDA7aWYoY3ww
KWJyZWFrIGE7Yz1zMChiLGZbZltpKzQ+PjJdPj4yXXwwKXwwO2lmKGN8MClicmVhayBhO2M9dDAo
YiwwKXwwO2lmKCFjKWJyZWFrIGM7ZWxzZSBicmVhayBhfWRlZmF1bHQ6YnJlYWsgY31jYXNlIDE6
e2M9ZltpKzQ+PjJdfDA7ZD1mW2M+PjJdfDA7ZT1jKzR8MDtnPWZbZT4+Ml18MDtpZighKGZbZCs4
Pj4yXXwwKSloPShmW2crOD4+Ml18MCkhPTA7ZWxzZSBoPTE7ZltpKzg+PjJdPWgmMTtoPXkwKGEs
ZltkKzI0Pj4yXXwwLGZbZysyND4+Ml18MCwwLDApfDA7ZltpKzI0Pj4yXT1oO2lmKCFoKXtjPTEy
O2JyZWFrIGF9aD15MChhLGZbKGZbYz4+Ml18MCkrMjg+PjJdfDAsZlsoZltlPj4yXXwwKSsyOD4+
Ml18MCwwLDApfDA7ZltpKzI4Pj4yXT1oO2lmKCFoKXtjPTEyO2JyZWFrIGF9YnJlYWt9Y2FzZSAz
OntoPWZbaSs0Pj4yXXwwO2M9ZltoPj4yXXwwO2lmKCEoZltoKzQ+PjJdfDApKWQ9MTtlbHNlIGQ9
KGZbYys4Pj4yXXwwKSE9MCYxO2ZbaSs4Pj4yXT1kO2ZbaSsyND4+Ml09ZltjKzI0Pj4yXTtmW2kr
Mjg+PjJdPWZbYysyOD4+Ml07YnJlYWt9Y2FzZSAyOntnPWZbaSs0Pj4yXXwwO2M9ZltnPj4yXXww
O2Q9Yys4fDA7aWYoIShmW2Q+PjJdfDApKWU9MDtlbHNlIGU9KGZbKGZbZys0Pj4yXXwwKSs4Pj4y
XXwwKSE9MDtmW2krOD4+Ml09ZSYxO2lmKGZbZD4+Ml18MCl7Yz16MChiLGMsMCwwLGopfDA7aWYo
Y3wwKWJyZWFrIGI7ZD1MXygoZltqPj4yXTw8MikrNHwwKXwwO2lmKCFkKXtjPTEyO2JyZWFrIGJ9
ZltkPj4yXT0tMTtmW2s+PjJdPTA7Yz16MChiLGZbZz4+Ml18MCxkLGssMCl8MDtpZihjfDApe209
NDQ7YnJlYWsgYn1jPWcrNHwwO2U9eTAoYSxmWyhmW2M+PjJdfDApKzI0Pj4yXXwwLGZbKGZbZz4+
Ml18MCkrMjQ+PjJdfDAsZCxmW2s+PjJdfDApfDA7aD1pKzI0fDA7ZltoPj4yXT1lO01fKGQpO2lm
KCEoZltoPj4yXXwwKSl7Yz0xMjticmVhayBifWVsc2UgZT1jfWVsc2V7ZltpKzI0Pj4yXT1mW2Mr
MjQ+PjJdO2U9Zys0fDB9Yz1mW2U+PjJdfDA7aWYoZltjKzg+PjJdfDApe2M9ejAoYixjLDAsMCxq
KXwwO2lmKGN8MClicmVhayBiO2Q9TF8oKGZbaj4+Ml08PDIpKzR8MCl8MDtpZighZCl7Yz0xMjti
cmVhayBifWZbZD4+Ml09LTE7ZltrPj4yXT0wO2M9ejAoYixmW2U+PjJdfDAsZCxrLDApfDA7aWYo
Y3wwKXttPTUxO2JyZWFrIGJ9aD15MChhLGZbKGZbZz4+Ml18MCkrMjg+PjJdfDAsZlsoZltlPj4y
XXwwKSsyOD4+Ml18MCxkLGZbaz4+Ml18MCl8MDtpPWkrMjh8MDtmW2k+PjJdPWg7TV8oZCk7aWYo
IShmW2k+PjJdfDApKXtjPTEyO2JyZWFrIGJ9fWVsc2UgZltpKzI4Pj4yXT1mW2MrMjg+PjJdO2Jy
ZWFrfWRlZmF1bHQ6e319d2hpbGUoMCk7aWYoKHIwKGIpfDApPD0obHwwKSl7Yz0wO2JyZWFrIGF9
fWlmKChtfDApPT00NClNXyhkKTtlbHNlIGlmKChtfDApPT01MSlNXyhkKX1lbHNlIGM9MH13aGls
ZSgwKTt0PW47cmV0dXJuIGN8MH1mdW5jdGlvbiBuMChhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8
MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTA7YTp3aGlsZSgxKXtzd2l0Y2goZlthPj4yXXwwKXtjYXNl
IDI6e2E9ZlthKzQ+PjJdfDA7aWYoKGZbYSs4Pj4yXXwwKT09LTE/KGg9ZlthPj4yXXwwLGg9cTAo
ZltoKzI4Pj4yXXwwLGZbaCsyND4+Ml18MCxiLGMsZCl8MCwoaHwwKSE9MCk6MCl7YT1oO2JyZWFr
IGF9YnJlYWt9Y2FzZSAzOntlPWZbYSs0Pj4yXXwwO2E9bjAoZltlPj4yXXwwLGIsYyxkKXwwO2lm
KGF8MClicmVhayBhO2E9ZSs0fDA7YnJlYWt9Y2FzZSAxOntlPWZbYSs0Pj4yXXwwO2c9ZSs0fDA7
YT1xMChmWyhmW2U+PjJdfDApKzI4Pj4yXXwwLGZbKGZbZz4+Ml18MCkrMjQ+PjJdfDAsYixjLGQp
fDA7aWYoYXwwKWJyZWFrIGE7YT1uMChmW2U+PjJdfDAsYixjLGQpfDA7aWYoIWEpYT1nO2Vsc2Ug
YnJlYWsgYTticmVha31kZWZhdWx0OnthPTA7YnJlYWsgYX19YT1mW2E+PjJdfDB9cmV0dXJuIGF8
MH1mdW5jdGlvbiBvMChhKXthPWF8MDt2YXIgYj0wLGM9MDtiPWZbYT4+Ml18MDtpZihifDApZG97
TV8oZltiPj4yXXwwKTtjPWI7Yj1mW2IrND4+Ml18MDtNXyhjKX13aGlsZSgoYnwwKSE9MCk7TV8o
YSk7cmV0dXJufWZ1bmN0aW9uIHAwKGEpe2E9YXwwO3ZhciBiPTAsYz0wLGQ9MCxlPTAsZz0wLGg9
MDtoPWZbYSs0Pj4yXXwwO2lmKGh8MCl7ZD1oKzR8MDthPWZbaD4+Ml18MDtpZihmW2Q+PjJdfDAp
e2M9MDtkb3tpZihmW2ErKGM8PDUpKzg+PjJdfDApe2I9ZlthKyhjPDw1KSsxNj4+Ml18MDtpZihi
KXtNXyhiKTthPWZbaD4+Ml18MH1iPWZbYSsoYzw8NSkrMjg+PjJdfDA7aWYoYil7TV8oYik7YT1m
W2g+PjJdfDB9fWM9YysxfDB9d2hpbGUoYz4+PjA8KGZbZD4+Ml18MCk+Pj4wKX1pZihhfDApTV8o
YSk7Yz1oKzh8MDthPWZbYz4+Ml18MDtpZihhfDApe2lmKGZbYSs4Pj4yXXwwKXt3aGlsZSgxKXti
PWZbYSsxNj4+Ml18MDtpZihifDApTV8oYik7aWYoIShmW2ErNDA+PjJdfDApKWJyZWFrO2Vsc2Ug
YT1hKzMyfDB9YT1mW2M+PjJdfDB9TV8oYSl9ZT1oKzE2fDA7YT1mW2U+PjJdfDA7aWYoYXwwKXtn
PWgrMjh8MDtiPWZbZz4+Ml18MDtpZihiKXtkPTA7ZG97Yz1mW2ErKGQqMTJ8MCkrOD4+Ml18MDtp
ZihjKXtNXyhjKTtiPWZbZz4+Ml18MDthPWZbZT4+Ml18MH1kPWQrMXwwfXdoaWxlKGQ+Pj4wPGI+
Pj4wKX1NXyhhKX1hPWZbaCszMj4+Ml18MDtpZihhfDApTV8oYSk7YT1mW2grMjA+PjJdfDA7aWYo
YXwwKU1fKGEpO2E9ZltoKzM2Pj4yXXwwO2lmKGF8MClNXyhhKTtNXyhoKX1yZXR1cm59ZnVuY3Rp
b24gcTAoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9
MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0w
LHc9MCx4PTAseT0wO2c9ZlthPj4yXXwwO2g9KGd8MCk+LTE7YTpkbyBpZighYylpZihoKXtoPWIr
MzJ8MDtkb3tpZigoZltiPj4yXXwwKT4tMT8oeT1kKyhnPDwyKXwwLGZbeT4+Ml09KGZbeT4+Ml18
MCkrMSwoZltoPj4yXXwwKT4tMSk6MCl7Zz1oO2Rve3k9ZCsoZlthPj4yXTw8Mil8MDtmW3k+PjJd
PShmW3k+PjJdfDApKzE7Zz1nKzMyfDB9d2hpbGUoKGZbZz4+Ml18MCk+LTEpfWE9YSszMnwwO2c9
ZlthPj4yXXwwfXdoaWxlKChnfDApPi0xKTtnPTB9ZWxzZSBnPTA7ZWxzZSBpZihoKXdoaWxlKDEp
e2g9ZltiPj4yXXwwO2I6ZG8gaWYoKGh8MCk+LTEpe3A9YSs0fDA7cT1hKzh8MDtyPWErMTZ8MDtz
PWErMjB8MDt0PWErMjR8MDt1PWErMjh8MDt2PWErMTJ8MDtkPS0xO2c9Yjt3aGlsZSgxKXtvPWg7
d2hpbGUoMSl7aWYoKG98MCkhPShkfDApKWJyZWFrO2c9ZyszMnwwO2g9ZltnPj4yXXwwO2lmKCho
fDApPi0xKW89aDtlbHNlIGJyZWFrIGJ9bD1jKyhmW2UrKGZbYT4+Ml08PDIpPj4yXTw8NSl8MDt3
aGlsZSgxKWlmKCEoZltsKzg+PjJdfDApKWJyZWFrO2Vsc2UgbD1sKzMyfDA7ZltsKzQwPj4yXT0w
O2ZbbD4+Ml09ZltwPj4yXTtmW2wrND4+Ml09ZltxPj4yXTtmW2wrOD4+Ml09YysoZltlKyhvPDwy
KT4+Ml08PDUpO2ZbbCsxMj4+Ml09bztoPWZbcz4+Ml18MDtkPWZbZysxNj4+Ml18ZltyPj4yXXwo
KGh8MCk9PTA/MDo0KXwoKGZbdD4+Ml18MCk9PTA/MDo4KTtpPWwrMjB8MDtmW2k+PjJdPWQ7aj1m
W3U+PjJdfDA7az1sKzI0fDA7aWYoKGp8MCk+LTEpe2Zbaz4+Ml09ajtmW2k+PjJdPWR8MjU2fWVs
c2UgZltrPj4yXT1oO2Q9Zlt0Pj4yXXwwO2lmKCFkKWZbbCsyOD4+Ml09MDtlbHNle2g9MDtkb3tu
PWg7aD1oKzF8MH13aGlsZSgoZltkKyhuPDwyKT4+Ml18MCkhPTApO2g9TF8oaDw8Mil8MDtmW2wr
Mjg+PjJdPWg7aWYoIWgpe2c9MTI7YnJlYWsgYX1rPWZbdD4+Ml18MDtkPWZbaz4+Ml18MDtpZihk
KXtqPTA7aT1oO2Rve2ZbaT4+Ml09ZDtqPWorMXwwO2Q9ZltrKyhqPDwyKT4+Ml18MDtpPWgrKGo8
PDIpfDB9d2hpbGUoKGR8MCkhPTApO2g9aX1mW2g+PjJdPTB9ZD1mW3Y+PjJdfDA7aWYoIWQpaD0w
O2Vsc2V7aD0wO3doaWxlKDEpaWYoKGZbZCsoaDw8Mik+PjJdfDApPi0xKWg9aCsxfDA7ZWxzZSBi
cmVha31rPWcrMTJ8MDtpPWZbaz4+Ml18MDtpZighaSlkPTA7ZWxzZXtkPTA7d2hpbGUoMSlpZigo
ZltpKyhkPDwyKT4+Ml18MCk+LTEpZD1kKzF8MDtlbHNlIGJyZWFrfWo9bCsxNnwwO2k9ZltqPj4y
XXwwO2lmKGl8MClNXyhpKTtmW2o+PjJdPTA7aD1kK2h8MDtpZihofDApe249TF8oKGg8PDIpKzR8
MCl8MDtmW2o+PjJdPW47aWYoIW4pe2c9MTI7YnJlYWsgYX1kPWZbdj4+Ml18MDtpZigoZHwwKSE9
MD8odz1mW2Q+PjJdfDAsKHd8MCk+LTEpOjApe2g9MDtpPXc7ZG97ZltuKyhoPDwyKT4+Ml09aTto
PWgrMXwwO2k9ZltkKyhoPDwyKT4+Ml18MH13aGlsZSgoaXwwKT4tMSk7bT1ofWVsc2UgbT0wO2o9
ZltrPj4yXXwwO2lmKChqfDApIT0wPyh4PWZbaj4+Ml18MCwoeHwwKT4tMSk6MCl7az0obXwwKT09
MDtoPW07aT0wO2w9eDtkb3tjOmRvIGlmKGspeT00NDtlbHNle2Q9MDt3aGlsZSgxKXtpZigoZltu
KyhkPDwyKT4+Ml18MCk9PShsfDApKWJyZWFrIGM7ZD1kKzF8MDtpZihkPj4+MD49bT4+PjApe3k9
NDQ7YnJlYWt9fX13aGlsZSgwKTtpZigoeXwwKT09NDQpe3k9MDtmW24rKGg8PDIpPj4yXT1sO2g9
aCsxfDB9aT1pKzF8MDtsPWZbaisoaTw8Mik+PjJdfDB9d2hpbGUoKGx8MCk+LTEpfWVsc2UgaD1t
O2ZbbisoaDw8Mik+PjJdPS0xfWc9ZyszMnwwO2g9ZltnPj4yXXwwO2lmKChofDApPD0tMSlicmVh
aztlbHNlIGQ9b319d2hpbGUoMCk7YT1hKzMyfDA7aWYoKGZbYT4+Ml18MCk8PS0xKXtnPTA7YnJl
YWt9fWVsc2UgZz0wO3doaWxlKDApO3JldHVybiBnfDB9ZnVuY3Rpb24gcjAoYSl7YT1hfDA7cmV0
dXJuIGZbYSsxMj4+Ml18MH1mdW5jdGlvbiBzMChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0w
LGU9MDtjPXQ7dD10KzE2fDA7ZD1jKzR8MDtlPWM7ZltlPj4yXT1iO2ZbZD4+Ml09ZltlPj4yXTti
PUIwKGEsZCl8MDt0PWM7cmV0dXJuIGJ8MH1mdW5jdGlvbiB0MChhLGIpe2E9YXwwO2I9YnwwO3Zh
ciBjPTAsZD0wLGU9MDtjPXQ7dD10KzE2fDA7ZD1jKzR8MDtlPWM7ZltlPj4yXT1iO2ZbZD4+Ml09
ZltlPj4yXTtiPUIwKGEsZCl8MDt0PWM7cmV0dXJuIGJ8MH1mdW5jdGlvbiB1MChhKXthPWF8MDt2
YXIgYj0wLGM9MDtiPWZbYSsxNj4+Ml18MDtjPWErMTJ8MDthPShmW2M+PjJdfDApKy0xfDA7Zltj
Pj4yXT1hO3JldHVybiBmW2IrKGE8PDIpPj4yXXwwfWZ1bmN0aW9uIHYwKGEpe2E9YXwwO3ZhciBi
PTAsYz0wO2I9ZlthKzE2Pj4yXXwwO2M9YSsxMnwwO2E9KGZbYz4+Ml18MCkrLTF8MDtmW2M+PjJd
PWE7cmV0dXJuIGZbYisoYTw8Mik+PjJdfDB9ZnVuY3Rpb24gdzAoYSxiLGMsZCxlLGcsaCl7YT1h
fDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7aD1ofDA7YT1BMChhLDAsMCwxLDY0KXww
O2lmKCFhKWE9MDtlbHNle2ZbYT4+Ml09YjtmW2ErND4+Ml09YztmW2ErOD4+Ml09ZDtmW2ErMjA+
PjJdPWU7ZlthKzI0Pj4yXT1nO2ZbYSsyOD4+Ml09aDtmW2ErMzI+PjJdPS0xO2ZbYSszNj4+Ml09
LTE7ZlthKzQwPj4yXT0tMX1yZXR1cm4gYXwwfWZ1bmN0aW9uIHgwKGEpe2E9YXwwO2E9QTAoYSww
LDAsMSwzMil8MDtpZighYSlhPTA7ZWxzZXtmW2E+PjJdPS0xO2ZbYSs0Pj4yXT0tMTtmW2ErOD4+
Ml09LTF9cmV0dXJuIGF8MH1mdW5jdGlvbiB5MChhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3ww
O2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MDtvPShk
fDApPT0wO2lmKG8pbj0wO2Vsc2V7Zz0wO3doaWxlKDEpaWYoKGZbZCsoZzw8Mik+PjJdfDApPi0x
KWc9ZysxfDA7ZWxzZXtuPWc7YnJlYWt9fWg9MDt3aGlsZSgxKWlmKChmW2IrKGg8PDUpPj4yXXww
KT4tMSloPWgrMXwwO2Vsc2UgYnJlYWs7Zz0wO3doaWxlKDEpaWYoKGZbYysoZzw8NSk+PjJdfDAp
Pi0xKWc9ZysxfDA7ZWxzZSBicmVhaztnPUEwKGEsMCwwLDEsKGcraDw8NSkrMzJ8MCl8MDthOmRv
IGlmKCFnKWc9MDtlbHNle2g9ZltiPj4yXXwwO2lmKChofDApPi0xKXttPShufDApPT0wO2k9MDt3
aGlsZSgxKXtmW2crKGk8PDUpPj4yXT1oO2ZbZysoaTw8NSkrND4+Ml09ZltiKyhpPDw1KSs0Pj4y
XTtmW2crKGk8PDUpKzg+PjJdPWZbYisoaTw8NSkrOD4+Ml07ZltnKyhpPDw1KSsxNj4+Ml09Zlti
KyhpPDw1KSsxNj4+Ml18ZTtmW2crKGk8PDUpKzIwPj4yXT1mW2IrKGk8PDUpKzIwPj4yXTtmW2cr
KGk8PDUpKzI0Pj4yXT1mW2IrKGk8PDUpKzI0Pj4yXTtmW2crKGk8PDUpKzI4Pj4yXT1mW2IrKGk8
PDUpKzI4Pj4yXTtrPWIrKGk8PDUpKzEyfDA7aj1mW2s+PjJdfDA7aD0oanwwKT09MDtpZihvJmgp
ZltnKyhpPDw1KSsxMj4+Ml09MDtlbHNle2lmKGgpaD0wO2Vsc2V7aD0wO3doaWxlKDEpaWYoKGZb
aisoaDw8Mik+PjJdfDApPi0xKWg9aCsxfDA7ZWxzZSBicmVha31sPUEwKGEsMCwwLDAsKGgrbjw8
MikrNHwwKXwwO2lmKCFsKXtnPTA7YnJlYWsgYX1pZighaCloPTA7ZWxzZXtrPWZbaz4+Ml18MDtq
PTA7ZG97ZltsKyhqPDwyKT4+Ml09ZltrKyhqPDwyKT4+Ml07aj1qKzF8MH13aGlsZSgoanwwKSE9
KGh8MCkpfWlmKG0paj0wO2Vsc2V7aj0wO2Rve2ZbbCsoaitoPDwyKT4+Ml09ZltkKyhqPDwyKT4+
Ml07aj1qKzF8MH13aGlsZSgoanwwKSE9KG58MCkpO2o9bn1mW2wrKGoraDw8Mik+PjJdPS0xO2Zb
ZysoaTw8NSkrMTI+PjJdPWx9aT1pKzF8MDtoPWZbYisoaTw8NSk+PjJdfDA7aWYoKGh8MCk8PS0x
KXtuPWk7YnJlYWt9fX1lbHNlIG49MDtpPWZbYz4+Ml18MDtoPWcrKG48PDUpfDA7aWYoKGl8MCk+
LTEpe209MDtsPW47ZG97ZltoPj4yXT1pO2ZbZysobDw8NSkrND4+Ml09ZltjKyhtPDw1KSs0Pj4y
XTtmW2crKGw8PDUpKzg+PjJdPWZbYysobTw8NSkrOD4+Ml07ZltnKyhsPDw1KSsxNj4+Ml09Zltj
KyhtPDw1KSsxNj4+Ml07ZltnKyhsPDw1KSsyMD4+Ml09ZltjKyhtPDw1KSsyMD4+Ml07ZltnKyhs
PDw1KSsyND4+Ml09ZltjKyhtPDw1KSsyND4+Ml07ZltnKyhsPDw1KSsyOD4+Ml09ZltjKyhtPDw1
KSsyOD4+Ml07aj1jKyhtPDw1KSsxMnwwO2k9ZltqPj4yXXwwO2lmKCFpKWZbZysobDw8NSkrMTI+
PjJdPTA7ZWxzZXtoPTA7d2hpbGUoMSlpZigoZltpKyhoPDwyKT4+Ml18MCk+LTEpaD1oKzF8MDtl
bHNlIGJyZWFrO2s9QTAoYSwwLDAsMCwoaDw8MikrNHwwKXwwO2lmKCFrKXtnPTA7YnJlYWsgYX1p
ZighaCloPTA7ZWxzZXtqPWZbaj4+Ml18MDtpPTA7ZG97ZltrKyhpPDwyKT4+Ml09ZltqKyhpPDwy
KT4+Ml07aT1pKzF8MH13aGlsZSgoaXwwKSE9KGh8MCkpfWZbaysoaDw8Mik+PjJdPS0xO2ZbZyso
bDw8NSkrMTI+PjJdPWt9bT1tKzF8MDtpPWZbYysobTw8NSk+PjJdfDA7bD1tK258MDtoPWcrKGw8
PDUpfDB9d2hpbGUoKGl8MCk+LTEpfWZbaD4+Ml09LTF9d2hpbGUoMCk7cmV0dXJuIGd8MH1mdW5j
dGlvbiB6MChhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAs
aD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7bD1yMChhKXwwO209KGV8MCkhPTA7aWYobSlmW2U+PjJd
PTA7Yj1zMChhLGIpfDA7YTpkbyBpZighYil7az0oZHwwKT09MDtqPShjfDApPT0wO3doaWxlKDEp
e2lmKChyMChhKXwwKTw9KGx8MCkpe2I9MDticmVhayBhfWI9djAoYSl8MDtiOmRvIHN3aXRjaChm
W2I+PjJdfDApe2Nhc2UgMDp7Yj1mW2IrND4+Ml18MDtzd2l0Y2goZltiPj4yXXwwKXtjYXNlIC0z
OmJyZWFrO2Nhc2UgLTI6e2lmKGspe2I9MDticmVhayBifWZbZD4+Ml09ZltkPj4yXXxmW2IrND4+
Ml07Yj0wO2JyZWFrIGJ9ZGVmYXVsdDp7Yj0wO2JyZWFrIGJ9fWk9ZltiKzQ+PjJdfDA7aWYoKGl8
MCk+LTEpe2M6ZG8gaWYoIWope2I9ZltjPj4yXXwwO2lmKChifDApPi0xKXtnPTA7aD1iO2Rve2lm
KChofDApPT0oaXwwKSlicmVhayBjO2c9ZysxfDA7Yj1jKyhnPDwyKXwwO2g9ZltiPj4yXXwwfXdo
aWxlKChofDApPi0xKX1lbHNle2c9MDtiPWN9ZltiPj4yXT1pO2ZbYysoZysxPDwyKT4+Ml09LTF9
d2hpbGUoMCk7aWYobSl7ZltlPj4yXT0oZltlPj4yXXwwKSsxO2I9MH1lbHNlIGI9MH1lbHNlIGI9
MDticmVha31jYXNlIDM6e2I9ZltiKzQ+PjJdfDA7Zz1mW2I+PjJdfDA7aWYoZltnKzg+PjJdfDAp
e2I9czAoYSxnKXwwO2JyZWFrIGJ9Yj1mW2IrND4+Ml18MDtpZighKGZbYis4Pj4yXXwwKSliPTA7
ZWxzZSBiPXMwKGEsYil8MDticmVha31jYXNlIDE6e2c9ZltiKzQ+PjJdfDA7Yj1zMChhLGZbZz4+
Ml18MCl8MDtpZighYiliPXMwKGEsZltnKzQ+PjJdfDApfDA7YnJlYWt9Y2FzZSAyOntiPWZbZlti
KzQ+PjJdPj4yXXwwO2lmKCEoZltiKzg+PjJdfDApKWI9MDtlbHNlIGI9czAoYSxiKXwwO2JyZWFr
fWRlZmF1bHQ6Yj0wfXdoaWxlKDApO2lmKGJ8MClicmVhayBhfX13aGlsZSgwKTtyZXR1cm4gYnww
fWZ1bmN0aW9uIEEwKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFy
IGc9MCxoPTAsaT0wLGo9MCxrPTA7aD1hKzE2fDA7YTpkbyBpZighKGZbaD4+Ml18MCkpe2s9YSsx
MnwwO2c9ZltrPj4yXXwwO2RvIGlmKGc+Pj4wPGU+Pj4wKXtpZihifDApaWYoIWMpe2ZbaD4+Ml09
MTtiPTA7YnJlYWsgYX1lbHNle2k9YSs4fDA7ZltpPj4yXT1jO2Zbaz4+Ml09MTAyNDtoPWM7Yj1j
O2c9MTAyNDticmVha31nPWU8PDM7Zz1nPj4+MD4xMDI0P2c6MTAyNDtpPUxfKDgpfDA7aWYoIWkp
e2ZbaD4+Ml09MTtiPTA7YnJlYWsgYX1iPUxfKGcpfDA7ZltpPj4yXT1iO2o9YjtpZighYil7TV8o
aSk7ZltoPj4yXT0xO2I9MDticmVhayBhfWZbaSs0Pj4yXT0wO2M9YSs0fDA7aD1mW2M+PjJdfDA7
aWYoaHwwKWZbaCs0Pj4yXT1pO2lmKCEoZlthPj4yXXwwKSlmW2E+PjJdPWk7ZltjPj4yXT1pO2k9
YSs4fDA7ZltpPj4yXT1qO2Zbaz4+Ml09ZztoPWp9ZWxzZXtpPWErOHwwO2I9ZltpPj4yXXwwO2g9
Yn13aGlsZSgwKTtjPWgrZSYzO2M9KChjfDApPT0wPzA6NC1jfDApK2V8MDtmW2k+PjJdPWIrYztm
W2s+PjJdPWctYztpZihkKVMzKGJ8MCwwLGN8MCl8MH1lbHNlIGI9MDt3aGlsZSgwKTtyZXR1cm4g
YnwwfWZ1bmN0aW9uIEIwKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGc9MCxoPTAs
aT0wLGo9MCxrPTA7az10O3Q9dCsxNnwwO2U9aztjPWErMTJ8MDtkPWZbYz4+Ml18MDtpPWZbYT4+
Ml18MDtpZigoZHwwKT49KGl8MCkpe2M9ZlthKzQ+PjJdfDA7aWYoKGl8MCk8KGN8MCk/KGo9KGZb
YSs4Pj4yXXwwKStpfDAsaj0oanwwKT4oY3wwKT9jOmosZz1hKzE2fDAsaD1PXyhmW2c+PjJdfDAs
ajw8Mil8MCwoaHwwKSE9MCk6MCl7ZlthPj4yXT1qO2ZbZz4+Ml09aDtmW2U+PjJdPWZbYj4+Ml07
QjAoYSxlKXwwO2M9MH1lbHNlIGM9MTJ9ZWxzZXtmWyhmW2ErMTY+PjJdfDApKyhkPDwyKT4+Ml09
ZltiPj4yXTtmW2M+PjJdPShmW2M+PjJdfDApKzE7Yz0wfXQ9aztyZXR1cm4gY3wwfWZ1bmN0aW9u
IEMwKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDthPUEwKGEsMCwwLDEsMzIpfDA7aWYoKGN8MCkh
PTAmKGF8MCkhPTApe2ZbYSs0Pj4yXT1jO2ZbYT4+Ml09YjtmW2ErOD4+Ml09LTE7ZlthKzEyPj4y
XT0tMX1lbHNlIGE9MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIEQwKGEsYyxkLGUsZyxoLGksail7YT1h
fDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7aD1ofDA7aT1pfDA7aj1qfDA7dmFyIGs9MCxsPTAs
bT0wLG49MCxvPTAscD0wLHE9MDtxPXIwKGMpfDA7czAoYyxkKXwwO2s9dDAoYywwKXwwO2E6ZG8g
aWYoIWspe3A9KGUmMXwwKT09MDtvPShlJjJ8MCkhPTA7ZD0wO209MTt3aGlsZSgxKXtpZigocjAo
Yyl8MCk8PShxfDApKXtrPTA7YnJlYWsgYX1iOmRvIHN3aXRjaCh1MChjKXwwKXtjYXNlIDE6e2k9
djAoYyl8MDtrPTA7YnJlYWt9Y2FzZSAwOntrPXYwKGMpfDA7c3dpdGNoKGZbaz4+Ml18MCl7Y2Fz
ZSAwOntuPWZbays0Pj4yXXwwO2w9ZltuKzg+PjJdfDA7ZT1mW24+PjJdfDA7az1mW24rND4+Ml18
MDtpZighKChlfDApPi0xfChlfDApPT0tNCkpaWYocHwoZXwwKSE9LTMpe2lmKChlfDApPT0tMylp
ZihvJihtfDApIT0wKXtmW2grKGs8PDIpPj4yXT0xO2U9LTM7bT0wfWVsc2UgZT0tM31lbHNle2s9
LTE7ZT0tMTtsPS0xfWVsc2V7bD0oZltnPj4yXXwwKStsfDA7ZD1kKzF8MH1rPWswKGEsZSxrLGwp
fDA7ZltpPj4yXT1rO2lmKCFrKWs9MTI7ZWxzZXtrPWZbays0Pj4yXXwwO2ZbaysxMj4+Ml09Zltu
KzEyPj4yXTtmW2srMTY+PjJdPWZbbisxNj4+Ml07az0wfWlmKChsfDApPD0oZltqPj4yXXwwKSli
cmVhayBiO2Zbaj4+Ml09bDticmVhayBifWNhc2UgMzp7bD1mW2srND4+Ml18MDtlPWwrNHwwO2s9
RjAoYSxmW2w+PjJdfDAsZltlPj4yXXwwKXwwO2ZbaT4+Ml09aztpZighayl7az0xMjticmVhayBh
fWk9ZltrKzQ+PjJdfDA7az1zMChjLGZbZT4+Ml18MCl8MDtpZihrfDApYnJlYWsgYTtrPXQwKGMs
MCl8MDtpZihrfDApYnJlYWsgYTtrPXMwKGMsaSs0fDApfDA7aWYoa3wwKWJyZWFrIGE7az10MChj
LDEpfDA7aWYoa3wwKWJyZWFrIGE7az1zMChjLGZbbD4+Ml18MCl8MDtpZihrfDApYnJlYWsgYTtr
PXQwKGMsMCl8MDticmVhayBifWNhc2UgMTp7bj1mW2srND4+Ml18MDtlPW4rNHwwO2s9bDAoYSxm
W24+PjJdfDAsZltlPj4yXXwwKXwwO2ZbaT4+Ml09aztpZighayl7az0xMjticmVhayBhfWk9Zltr
KzQ+PjJdfDA7ZltpPj4yXT0wO2w9aSs0fDA7ZltsPj4yXT0wO2s9czAoYyxmW2U+PjJdfDApfDA7
aWYoa3wwKWJyZWFrIGE7az10MChjLDApfDA7aWYoa3wwKWJyZWFrIGE7az1zMChjLGwpfDA7aWYo
a3wwKWJyZWFrIGE7az10MChjLDEpfDA7aWYoa3wwKWJyZWFrIGE7az1zMChjLGZbbj4+Ml18MCl8
MDtpZihrfDApYnJlYWsgYTtrPXQwKGMsMCl8MDticmVhayBifWNhc2UgMjp7ZT1mW2srND4+Ml18
MDtrPXMwKGMsZltlPj4yXXwwKXwwO2lmKGt8MClicmVhayBhO2s9dDAoYywwKXwwO2lmKGt8MCli
cmVhayBhO2s9RTAoYSxmW2U+PjJdfDAsZltlKzQ+PjJdfDAsZltlKzg+PjJdfDAsYltlKzEyPj4w
XSYxKXwwO2ZbaT4+Ml09aztpZighayl7az0xMjticmVhayBhfWk9ZltrKzQ+PjJdfDA7az0wO2Jy
ZWFrIGJ9ZGVmYXVsdDp7az0wO2JyZWFrIGJ9fX1kZWZhdWx0Oms9MH13aGlsZSgwKTtpZihrKWJy
ZWFrIGF9fWVsc2UgZD0wO3doaWxlKDApO2ZbZz4+Ml09KGZbZz4+Ml18MCkrZDtyZXR1cm4ga3ww
fWZ1bmN0aW9uIEUwKGEsYyxkLGUsZyl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zz1nfDA7dmFy
IGg9MDtoPUEwKGEsMCwwLDEsMTYpfDA7YT1DMChhLDIsaCl8MDtpZighYSlhPTA7ZWxzZXtmW2g+
PjJdPWM7ZltoKzQ+PjJdPWQ7ZltoKzg+PjJdPWU7aD1oKzEyfDA7YltoPj4wXT1iW2g+PjBdJi0y
fGcmMTtmW2ErMTY+PjJdPWZbYysxNj4+Ml19cmV0dXJuIGF8MH1mdW5jdGlvbiBGMChhLGIsYyl7
YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MDtpZihiKXtkPUEwKGEsMCwwLDEsOCl8MDthPUMwKGEs
MyxkKXwwO2lmKChjfDApIT0wJihhfDApIT0wKXtmW2Q+PjJdPWI7ZltkKzQ+PjJdPWM7ZlthKzE2
Pj4yXT0oZltjKzE2Pj4yXXwwKSsoZltiKzE2Pj4yXXwwKTtjPWF9ZWxzZSBjPTB9cmV0dXJuIGN8
MH1mdW5jdGlvbiBHMChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZD1BMChh
LDAsMCwwLDgpfDA7aWYoKChkfDApIT0wPyhjPWswKGEsLTMsYywtMSl8MCxmW2Q+PjJdPWMsKGN8
MCkhPTApOjApPyhlPUEwKGEsMCwwLDAsMzIpfDAsZltkKzQ+PjJdPWUsKGV8MCkhPTApOjApe2E9
Yis0fDA7ZltlKzQ+PjJdPWZbYT4+Ml07ZltlPj4yXT1mW2I+PjJdO2ZbZSs4Pj4yXT0tMTtmW2Ur
MTI+PjJdPS0xO2U9ZSsxNnwwO2ZbZT4+Ml09MDtmW2UrND4+Ml09MDtmW2UrOD4+Ml09MDtmW2Ur
MTI+PjJdPTA7ZlthPj4yXT1kO2ZbYj4+Ml09MTthPTB9ZWxzZSBhPTEyO3JldHVybiBhfDB9ZnVu
Y3Rpb24gSDAoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MDtlPWZbYT4+
Ml18MDtpZigoZXwwKT4tMSl7Zz1mW2IrMTY+PjJdfDA7ZD0wO2I9ZTtkb3tlPWI+Pj4xO2ZbKChi
JjF8MCk9PTA/ZysoZSoxMnwwKXwwOmcrKGUqMTJ8MCkrNHwwKT4+Ml09YztkPWQrMXwwO2I9Zlth
KyhkPDwyKT4+Ml18MH13aGlsZSgoYnwwKT4tMSl9ZlthPj4yXT0tMTtyZXR1cm59ZnVuY3Rpb24g
STAoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wO2Q9QTAoYSwwLDAsMCw4KXww
O2lmKCgoZHwwKSE9MD8oYz1rMChhLC0zLGMsLTEpfDAsZltkKzQ+PjJdPWMsKGN8MCkhPTApOjAp
PyhlPUEwKGEsMCwwLDAsMzIpfDAsZltkPj4yXT1lLChlfDApIT0wKTowKXthPWIrNHwwO2ZbZSs0
Pj4yXT1mW2E+PjJdO2ZbZT4+Ml09ZltiPj4yXTtmW2UrOD4+Ml09LTE7ZltlKzEyPj4yXT0tMTtl
PWUrMTZ8MDtmW2U+PjJdPTA7ZltlKzQ+PjJdPTA7ZltlKzg+PjJdPTA7ZltlKzEyPj4yXT0wO2Zb
YT4+Ml09ZDtmW2I+PjJdPTE7YT0wfWVsc2UgYT0xMjtyZXR1cm4gYXwwfWZ1bmN0aW9uIEowKGEs
Yyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wO2w9
dDt0PXQrMTZ8MDtqPWw7aT1hKzMyfDA7aD1mW2k+PjJdfDA7Zz1oJjE7YTpkbyBzd2l0Y2goYltj
Pj4wXXwwKXtjYXNlIDkxOntkPU4wKGEsYysxfDApfDA7YnJlYWt9Y2FzZSA5Mjp7ZD1jKzF8MDtl
PU8wKGQpfDA7aWYoZXwwKXtkPUowKGEsZSl8MDtmW2ErMTI+PjJdPWMrMjticmVhayBhfWU9Yltk
Pj4wXXwwO3N3aXRjaChlfDApe2Nhc2UgMDp7ZD01O2JyZWFrIGF9Y2FzZSA5ODp7ZT1rMChmW2E+
PjJdfDAsLTIsNjQsLTEpfDA7YnJlYWt9Y2FzZSA2Njp7ZT1rMChmW2E+PjJdfDAsLTIsMTI4LC0x
KXwwO2JyZWFrfWNhc2UgNjA6e2U9azAoZlthPj4yXXwwLC0yLDE2LC0xKXwwO2JyZWFrfWNhc2Ug
NjI6e2U9azAoZlthPj4yXXwwLC0yLDMyLC0xKXwwO2JyZWFrfWNhc2UgMTIwOntoPWMrMnwwO2k9
KGJbaD4+MF18MCk9PTEyMztnPWk/ODoyO2g9aT9jKzN8MDpoO2Q9MDtlPTA7ZG97Yz1QMChiW2gr
ZD4+MF18MCl8MDtpZigoY3wwKTwwKWJyZWFrO2U9YysoZTw8NCl8MDtkPWQrMXwwfXdoaWxlKChl
fDApPDExMTQxMTImZD4+PjA8Zz4+PjApO2Q9aCtkfDA7aWYoaSl7aWYoKGJbZD4+MF18MCkhPTEy
NSl7ZD05O2JyZWFrIGF9ZD1kKzF8MH1qPWZbYT4+Ml18MDtpPWErMjR8MDtrPWZbaT4+Ml18MDtm
W2k+PjJdPWsrMTtlPWswKGosZSxlLGspfDA7ZD1kKy0xfDA7YnJlYWt9Y2FzZSA2MzpjYXNlIDQz
OmNhc2UgMTIzOmlmKCFnKXtkPTEzO2JyZWFrIGF9ZWxzZXtrPTM3O2JyZWFrIGF9Y2FzZSAxMjQ6
e2lmKGd8MCl7az0zNzticmVhayBhfWQ9azAoZlthPj4yXXwwLC0xLC0xLC0xKXwwO2s9NDU7YnJl
YWsgYX1kZWZhdWx0OntpZighKChnfDApPT0wJihlKy00OXwwKT4+PjA8OSkpe2s9Mzc7YnJlYWsg
YX1qPWUrLTQ4fDA7az1mW2E+PjJdfDA7aT1hKzI0fDA7ZT1mW2k+PjJdfDA7ZltpPj4yXT1lKzE7
ZT1rMChrLC00LGosZSl8MDtrPWErMjh8MDtpPWZbaz4+Ml18MDtmW2s+PjJdPShqfDApPChpfDAp
P2k6an19Yz1kKzF8MDtkPWU7az00NTticmVha31jYXNlIDQ2OntkPWZbYT4+Ml18MDtnPWErMjR8
MDtlPWZbZz4+Ml18MDtmW2c+PjJdPWUrMTtpZihoJjQpe2U9azAoZCwwLDksZSl8MDtrPWZbYT4+
Ml18MDtkPWZbZz4+Ml18MDtmW2c+PjJdPWQrMTtkPWswKGssMTEsMTExNDExMSxkKXwwO2lmKChl
fDApIT0wJihkfDApIT0wKWQ9RjAoZlthPj4yXXwwLGUsZCl8MDtlbHNlIGQ9MH1lbHNlIGQ9azAo
ZCwwLDExMTQxMTEsZSl8MDtjPWMrMXwwO2s9NDU7YnJlYWt9Y2FzZSA5NDp7aWYoKGd8MCk9PTA/
KGZbYSsxNj4+Ml18MCkhPShjfDApOjApe2Q9YztrPTM3O2JyZWFrIGF9Yz1jKzF8MDtkPWswKGZb
YT4+Ml18MCwtMiwxLC0xKXwwO2s9NDU7YnJlYWt9Y2FzZSAzNjp7ZD1jKzF8MDtpZigoZ3wwKT09
MD9iW2Q+PjBdfDA6MCl7ZD1jO2s9Mzc7YnJlYWsgYX1jPWQ7ZD1rMChmW2E+PjJdfDAsLTIsMiwt
MSl8MDtrPTQ1O2JyZWFrfWNhc2UgNjM6Y2FzZSA0MzpjYXNlIDEyMzpjYXNlIDQyOntpZighZyl7
ZD1jO2s9Mzd9ZWxzZSBkPTEzO2JyZWFrfWNhc2UgMTI0OntpZighZyl7ZD1jO2s9Mzd9ZWxzZSBr
PTM2O2JyZWFrfWNhc2UgMDp7az0zNjticmVha31kZWZhdWx0OntkPWM7az0zN319d2hpbGUoMCk7
aWYoKGt8MCk9PTM2KXtkPWswKGZbYT4+Ml18MCwtMSwtMSwtMSl8MDtrPTQ1fWVsc2UgaWYoKGt8
MCk9PTM3KXtoPVEwKGosZCwtMSl8MDtpZigoaHwwKTwwKWQ9MjtlbHNle2RvIGlmKGZbaT4+Ml0m
Mil7aWYoKFIwKGZbaj4+Ml18MCl8MCk9PTA/KFMwKGZbaj4+Ml18MCl8MCk9PTA6MCl7az00Mzti
cmVha31pPWZbYT4+Ml18MDttPVQwKGZbaj4+Ml18MCl8MDtnPVQwKGZbaj4+Ml18MCl8MDtlPWEr
MjR8MDtnPWswKGksbSxnLGZbZT4+Ml18MCl8MDttPWZbYT4+Ml18MDtpPVUwKGZbaj4+Ml18MCl8
MDtjPVUwKGZbaj4+Ml18MCl8MDtjPWswKG0saSxjLGZbZT4+Ml18MCl8MDtpZigoZ3wwKSE9MCYo
Y3wwKSE9MClnPUYwKGZbYT4+Ml18MCxnLGMpfDA7ZWxzZSBnPTB9ZWxzZSBrPTQzO3doaWxlKDAp
O2lmKChrfDApPT00Myl7Zz1mW2o+PjJdfDA7ZT1hKzI0fDA7Zz1rMChmW2E+PjJdfDAsZyxnLGZb
ZT4+Ml18MCl8MH1mW2U+PjJdPShmW2U+PjJdfDApKzE7Yz1kK2h8MDtkPWc7az00NX19aWYoKGt8
MCk9PTQ1KWlmKCFkKWQ9MTI7ZWxzZXtmW2ErOD4+Ml09ZDtmW2ErMTI+PjJdPWM7ZD0wfXQ9bDty
ZXR1cm4gZHwwfWZ1bmN0aW9uIEswKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3Zh
ciBnPTAsaD0wLGk9MCxqPTA7aj10O3Q9dCsxNnwwO2k9ais0fDA7Zz1qO2E9TTAoYSxpKXwwO2lm
KChiW2E+PjBdfDApPT00NCl7YT1NMChhKzF8MCxnKXwwO2g9ZltnPj4yXXwwO2c9ZltpPj4yXXww
fWVsc2V7aT1mW2k+PjJdfDA7ZltnPj4yXT1pO2g9aTtnPWl9ZG8gaWYoIShnPj4+MD4yNTV8KCho
fDApPjI1NXwoaHwwKT4tMSYoaHwwKTwoZ3wwKSkpKXtpZighYylpZigoYlthPj4wXXwwKT09OTIp
YT1hKzF8MDtlbHNle2E9MDticmVha31pZigoYlthPj4wXXwwKT09MTI1KXtmW2Q+PjJdPWc7Zltl
Pj4yXT1oO2E9YSsxfDB9ZWxzZSBhPTB9ZWxzZSBhPTA7d2hpbGUoMCk7dD1qO3JldHVybiBhfDB9
ZnVuY3Rpb24gTDAoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTA7
ZD1iKzEyfDA7aWYoKGZbZD4+Ml18MCk+LTEpe2Q9azAoZlthPj4yXXwwLC0xLC0xLC0xKXwwO2lm
KChkfDApIT0wPyhlPWwwKGZbYT4+Ml18MCxkLGIpfDAsKGV8MCkhPTApOjApe2g9ZltiKzE2Pj4y
XXwwO2c9ZSsxNnwwO2ZbZz4+Ml09aDtiPWU7ZD1lKzEyfDA7ZT1oO2g9Nn1lbHNlIGQ9MTJ9ZWxz
ZXtlPWIrMTZ8MDtnPWU7ZT1mW2U+PjJdfDA7aD02fWlmKChofDApPT02KXtmW2Q+PjJdPWM7Zltn
Pj4yXT1lKzE7ZlthKzg+PjJdPWI7ZD0wfXJldHVybiBkfDB9ZnVuY3Rpb24gTTAoYSxjKXthPWF8
MDtjPWN8MDt2YXIgZD0wO2ZbYz4+Ml09LTE7YTpkbyBpZihiJChiW2E+PjBdfDApfDApe2ZbYz4+
Ml09MDtmW2M+PjJdPShiW2E+PjBdfDApKy00ODthPWErMXwwO2lmKGIkKGJbYT4+MF18MCl8MClk
b3tkPWZbYz4+Ml18MDtpZigoZHwwKT4yNTUpYnJlYWsgYTtmW2M+PjJdPShkKjEwfDApKy00OCso
YlthPj4wXXwwKTthPWErMXwwfXdoaWxlKChiJChiW2E+PjBdfDApfDApIT0wKX13aGlsZSgwKTty
ZXR1cm4gYXwwfWZ1bmN0aW9uIE4wKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wLGg9
MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTA7cj10O3Q9dCsyODh8MDtk
PXIrMjY0fDA7Zz1yO2ZbZD4+Ml09ZlthPj4yXTtoPWQrOHwwO2ZbaD4+Ml09MDtmW2QrMTI+PjJd
PTMyO289TF8oMTI4KXwwO3E9ZCs0fDA7ZltxPj4yXT1vO2lmKCFvKWM9MTI7ZWxzZXtlPWcrNHww
O2ZbZT4+Ml09MDtvPShiW2M+PjBdfDApPT05NDtmW2c+PjJdPW8mMTtjPVkwKGEsbz9jKzF8MDpj
LGQsZyl8MDthOmRvIGlmKCFjKXtvPShmW2c+PjJdfDApPT0wO2lmKCFvKXtXJChmW3E+PjJdfDAs
ZltoPj4yXXwwLDQsMTA5KTtjPV8wKGQpfDA7aWYoIWMpe2M9MTI7ZD0wO2JyZWFrfWZbYz4+Ml09
MTExNDExMjtmW2MrND4+Ml09MTExNDExMjtmW2MrOD4+Ml09LTE7Yz1mW2U+PjJdfDA7aWYoYyl7
ZD1jPDwyO2U9QTAoZlthPj4yXXwwLDAsMCwwLGQrNHwwKXwwO2lmKCFlKXtjPTEyO2Q9MDticmVh
a31RMyhlfDAsZys4fDAsZHwwKXwwO2ZbZSsoYzw8Mik+PjJdPTB9ZWxzZSBlPTB9ZWxzZSBlPTA7
bD1mW2g+PjJdfDA7aWYoKGx8MCk+MCl7bT1mW3E+PjJdfDA7bj1hKzI0fDA7ZD0wO2M9MDtrPTA7
d2hpbGUoMSl7aj1mW20rKGs8PDIpPj4yXXwwO2c9ZltqPj4yXXwwO2g9ais0fDA7aT1mW2g+PjJd
fDA7ZG8gaWYoIW8paWYoKGd8MCk+KGN8MCkpe2Zbaj4+Ml09YztmW2g+PjJdPWcrLTE7Yz1pKzF8
MDtwPTE0O2JyZWFrfWVsc2V7aj1pKzF8MDtjPShqfDApPChjfDApP2M6ajticmVha31lbHNlIHA9
MTQ7d2hpbGUoMCk7aWYoKHB8MCk9PTE0KXtwPTA7ZltqKzg+PjJdPWZbbj4+Ml07ZltqKzE2Pj4y
XT1lO2o9QzAoZlthPj4yXXwwLDAsail8MDtkPUYwKGZbYT4+Ml18MCxkLGopfDA7aWYoIWQpe2M9
MTI7ZD0wO2JyZWFrIGF9fWs9aysxfDA7aWYoKGt8MCk+PShsfDApKXtjPTA7YnJlYWt9fX1lbHNl
e2M9MDtkPTB9fWVsc2UgZD0wO3doaWxlKDApO01fKGZbcT4+Ml18MCk7cT1hKzI0fDA7ZltxPj4y
XT0oZltxPj4yXXwwKSsxO2ZbYSs4Pj4yXT1kfXQ9cjtyZXR1cm4gY3wwfWZ1bmN0aW9uIE8wKGEp
e2E9YXwwO3ZhciBjPTA7Yz1iW2E+PjBdfDA7YT0wO3doaWxlKDEpe2lmKChiWzYyMjA4KyhhPDwz
KT4+MF18MCk9PWM8PDI0Pj4yNClicmVhazthPWErMXwwO2lmKChhfDApPT0xMil7YT0xMjticmVh
a319cmV0dXJuIGZbNjIyMDgrKGE8PDMpKzQ+PjJdfDB9ZnVuY3Rpb24gUDAoYSl7YT1hfDA7dmFy
IGI9MDtiPWErLTQ4fDA7aWYoYj4+PjA8MTApcmV0dXJuIGJ8MDtlbHNle2I9YXwzMjtyZXR1cm4g
KChiKy05N3wwKT4+PjA8Nj9iKy04N3wwOi0xKXwwfXJldHVybiAwfWZ1bmN0aW9uIFEwKGEsYyxk
KXthPWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxpPTAsaj0wO2o9dDt0PXQrMTZ8MDtlPWo7
YTpkbyBpZighYylhPTA7ZWxzZXtkbyBpZihkfDApe2k9KGF8MCk9PTA/ZTphO2E9YltjPj4wXXww
O2lmKGE8PDI0Pj4yND4tMSl7ZltpPj4yXT1hJjI1NTthPWE8PDI0Pj4yNCE9MCYxO2JyZWFrIGF9
Zz0oWDAoKXwwKSsxODh8MDthPWJbYz4+MF18MDtpZighKGZbZltnPj4yXT4+Ml18MCkpe2ZbaT4+
Ml09YTw8MjQ+PjI0JjU3MzQzO2E9MTticmVhayBhfWE9KGEmMjU1KSstMTk0fDA7aWYoYT4+PjA8
PTUwKXtlPWMrMXwwO2c9Zls1NTU4NCsoYTw8Mik+PjJdfDA7aWYoZD4+PjA8ND9nJi0yMTQ3NDgz
NjQ4Pj4+KChkKjZ8MCkrLTZ8MCl8MDowKWJyZWFrO2E9aFtlPj4wXXwwO2Q9YT4+PjM7aWYoKGQr
LTE2fGQrKGc+PjI2KSk+Pj4wPD03KXthPWErLTEyOHxnPDw2O2lmKChhfDApPj0wKXtmW2k+PjJd
PWE7YT0yO2JyZWFrIGF9ZT0oaFtjKzI+PjBdfDApKy0xMjh8MDtpZihlPj4+MDw9NjMpe2U9ZXxh
PDw2O2lmKChlfDApPj0wKXtmW2k+PjJdPWU7YT0zO2JyZWFrIGF9YT0oaFtjKzM+PjBdfDApKy0x
Mjh8MDtpZihhPj4+MDw9NjMpe2ZbaT4+Ml09YXxlPDw2O2E9NDticmVhayBhfX19fX13aGlsZSgw
KTthPVhfKCl8MDtmW2E+PjJdPTg0O2E9LTF9d2hpbGUoMCk7dD1qO3JldHVybiBhfDB9ZnVuY3Rp
b24gUjAoYSl7YT1hfDA7cmV0dXJuIChVMChhKXwwKSE9KGF8MCl8MH1mdW5jdGlvbiBTMChhKXth
PWF8MDtyZXR1cm4gKFQwKGEpfDApIT0oYXwwKXwwfWZ1bmN0aW9uIFQwKGEpe2E9YXwwO3JldHVy
biBWMChhLDApfDB9ZnVuY3Rpb24gVTAoYSl7YT1hfDA7cmV0dXJuIFYwKGEsMSl8MH1mdW5jdGlv
biBWMChhLGMpe2E9YXwwO2M9Y3wwO3ZhciBlPTAsZj0wLGc9MCxpPTAsaz0wLGw9MCxtPTA7az0o
Yzw8MSkrLTF8MDtsPWMrLTF8MDthOmRvIGlmKCEoKGErLTQzMDA4fDApPj4+MDwyMjI3MnwoKGEr
LTExNzc2fDApPj4+MDwzMDc4NHwoKGErLTE1MzZ8MCk+Pj4wPDI1NjB8KFcwKGEpfDApPT0wKSkp
KXtlPShjfDApIT0wO2lmKGUmKGErLTQyNTZ8MCk+Pj4wPDQ2KXtpZigoYXwwKT40MjkzKXN3aXRj
aChhfDApe2Nhc2UgNDI5NTpjYXNlIDQzMDE6YnJlYWs7ZGVmYXVsdDpicmVhayBhfWE9YSs3MjY0
fDA7YnJlYWt9aWYoKGErLTExNTIwfDApPj4+MDwzOCYoZV4xKSl7YT1hKy03MjY0fDA7YnJlYWt9
ZT0wO2Rve2c9Yls1ODQ4MCsoZTw8MikrMj4+MF18MDtpPWc8PDI0Pj4yNDtmPWEtKGpbNTg0ODAr
KGU8PDIpPj4xXXwwKXwwO2lmKChmLShsJmkpfDApPj4+MDwoaFs1ODQ4MCsoZTw8MikrMz4+MF18
MCk+Pj4wKXttPTExO2JyZWFrfWU9ZSsxfDB9d2hpbGUoKGV8MCkhPTYxKTtpZigobXwwKT09MTEp
aWYoZzw8MjQ+PjI0PT0xKXthPWMrYS0oZiYxKXwwO2JyZWFrfWVsc2V7YT0oVihrLGkpfDApK2F8
MDticmVha31nPTEtY3wwO2U9ZFs1ODczNisoZzw8MSk+PjFdfDA7YjpkbyBpZihlPDwxNj4+MTYp
e2Y9MDt3aGlsZSgxKXtpZigoZSY2NTUzNXwwKT09KGF8MCkpYnJlYWs7Zj1mKzF8MDtlPWRbNTg3
MzYrKGY8PDIpKyhnPDwxKT4+MV18MDtpZighKGU8PDE2Pj4xNikpYnJlYWsgYn1hPWpbNTg3MzYr
KGY8PDIpKyhjPDwxKT4+MV18MDticmVhayBhfXdoaWxlKDApO3JldHVybiAoKGErLTY2NjAwKyhj
KjQwfDApfDApPj4+MDw0MD9hKy00MCsoYyo4MHwwKXwwOmEpfDB9d2hpbGUoMCk7cmV0dXJuIGF8
MH1mdW5jdGlvbiBXMChhKXthPWF8MDtpZihhPj4+MDwxMzEwNzIpYT0oaFs1OTIzMisoKGhbNTky
MzIrKGE+Pj44KT4+MF18MCk8PDV8YT4+PjMmMzEpPj4wXXwwKT4+PihhJjcpJjE7ZWxzZSBhPWE+
Pj4wPDE5NjYwNiYxO3JldHVybiBhfDB9ZnVuY3Rpb24gWDAoKXtyZXR1cm4gQSQoKXwwfWZ1bmN0
aW9uIFkwKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxq
PTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTA7cz10O3Q9dCszMnwwO249cztw
PXMrNHwwO2k9UTAobixjLC0xKXwwO2c9YltjPj4wXXwwO2E6ZG8gaWYoKGl8MCk+PTEpe3E9YSsz
MnwwO209ZSs0fDA7aD1jO2o9aTtiOndoaWxlKDEpe2k9KGh8MCk9PShjfDApO2lmKCEoaXxnPDwy
ND4+MjQhPTkzKSl7cj01O2JyZWFrfWM6ZG8gaWYoaXxnPDwyND4+MjQhPTQ1KWlmKGc8PDI0Pj4y
ND09OTEpe3N3aXRjaChiW2grMT4+MF18MCl7Y2FzZSA2MTpjYXNlIDQ2OntnPTM7YnJlYWsgYX1j
YXNlIDU4OmJyZWFrO2RlZmF1bHQ6e3I9MTc7YnJlYWsgY319aT1oKzJ8MDtnPTA7ZDp3aGlsZSgx
KXtzd2l0Y2goYltpK2c+PjBdfDApe2Nhc2UgMDp7cj0xNjticmVhayBifWNhc2UgNTg6YnJlYWsg
ZDtkZWZhdWx0Ont9fWc9ZysxfDA7aWYoZz4+PjA+PTE0KXtyPTE2O2JyZWFrIGJ9fVEzKHB8MCxp
fDAsZ3wwKXwwO2JbcCtnPj4wXT0wO2o9JDAocCl8MDtpZighail7cj0xNjticmVhayBifWg9aSso
ZysyKXwwO2lmKChiW2krKGcrMSk+PjBdfDApIT05Myl7cj0xNjticmVhayBifWlmKCEoZltlPj4y
XXwwKSl7Zz0xMTE0MTExO2w9MDtrPTE7cj0yNH1lbHNle2c9ZlttPj4yXXwwO2lmKChnfDApPjYz
KXtnPTEyO2JyZWFrIGF9ZlttPj4yXT1nKzE7ZltlKzgrKGc8PDIpPj4yXT1qfX1lbHNlIHI9MTc7
ZWxzZXtzd2l0Y2goYltoKzE+PjBdfDApe2Nhc2UgOTM6e3I9MTc7YnJlYWsgY31jYXNlIDQ1OmJy
ZWFrO2RlZmF1bHQ6e2c9MTE7YnJlYWsgYX19aWYoKGJbaCsyPj4wXXwwKT09OTMpe2c9MTE7YnJl
YWsgYX1lbHNlIHI9MTd9d2hpbGUoMCk7aWYoKHJ8MCk9PTE3KXtyPTA7aT1mW24+PjJdfDA7aD1o
K2p8MDtpZigoYltoPj4wXXwwKT09NDU/KG89aCsxfDAsKGJbbz4+MF18MCkhPTkzKTowKXtoPVEw
KG4sbywtMSl8MDtnPWZbbj4+Ml18MDtpZigoaHwwKTwxfChpfDApPihnfDApKXtnPTExO2JyZWFr
IGF9aj0wO2w9aTtoPW8raHwwO2s9MDtyPTI0fWVsc2V7aj0wO2c9aTtsPWk7az0wO3I9MjR9fWlm
KChyfDApPT0yNCl7cj0wO2k9XzAoZCl8MDtpZighaSl7Zz0xMjticmVhayBhfWZbaT4+Ml09bDtm
W2krND4+Ml09ZztmW2krMTI+PjJdPWo7ZltpKzg+PjJdPS0xO2lmKCEoa3woZltxPj4yXSYyfDAp
PT0wKT8oYTEoZCxsLGcpfDApIT0wOjApe2c9MTI7YnJlYWsgYX19aj1RMChuLGgsLTEpfDA7Zz1i
W2g+PjBdfDA7aWYoKGp8MCk8MSl7cj0zO2JyZWFrIGF9fWlmKChyfDApPT01KXtmW2ErMTI+PjJd
PWgrMTtnPTA7YnJlYWt9ZWxzZSBpZigocnwwKT09MTYpe2c9NDticmVha319ZWxzZSByPTM7d2hp
bGUoMCk7aWYoKHJ8MCk9PTMpZz1nPDwyND4+MjQ9PTA/NzoyO3Q9cztyZXR1cm4gZ3wwfWZ1bmN0
aW9uIFowKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuIChmW2ZbYT4+Ml0+PjJdfDApLShmW2ZbYj4+
Ml0+PjJdfDApfDB9ZnVuY3Rpb24gXzAoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTAs
aD0wLGk9MDtoPWErOHwwO2M9ZltoPj4yXXwwO2Q9YSsxMnwwO2U9ZltkPj4yXXwwO2lmKChjfDAp
Pj0oZXwwKSlpZigoZXwwKTw9MzI3Njc/KGZbZD4+Ml09ZTw8MSxnPWErNHwwLGI9T18oZltnPj4y
XXwwLGU8PDMpfDAsKGJ8MCkhPTApOjApe2ZbZz4+Ml09YjtjPWZbaD4+Ml18MDtpPTZ9ZWxzZSBi
PTA7ZWxzZXtiPWZbYSs0Pj4yXXwwO2k9Nn1pZigoaXwwKT09Nil7ZltoPj4yXT1jKzE7aT1BMChm
W2E+PjJdfDAsMCwwLDEsMjApfDA7ZltiKyhjPDwyKT4+Ml09aTtiPWl9cmV0dXJuIGJ8MH1mdW5j
dGlvbiAkMChhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZj0wO2U9YlthPj4wXXwwO2M9MTtkPTYy
MzIwO2Y9OTc7d2hpbGUoMSl7aWYoZTw8MjQ+PjI0PT1mPDwyND4+MjQ/KEgkKGEsZCl8MCk9PTA6
MClicmVhaztkPWQrNnwwO2Y9YltkPj4wXXwwO2lmKCEoZjw8MjQ+PjI0KSl7Yz0wO2JyZWFrfWVs
c2UgYz1jKzF8MH1yZXR1cm4gY3wwfWZ1bmN0aW9uIGExKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8
MDt2YXIgZD0wLGU9MCxnPTAsaD0wO2E6ZG8gaWYoKGJ8MCk+KGN8MCkpYj0wO2Vsc2Ugd2hpbGUo
MSl7YjpkbyBpZighKFMwKGIpfDApKXtpZighKFIwKGIpfDApKXtiPWIrMXwwO2JyZWFrfWc9VTAo
Yil8MDtlPWIrMXwwO2Q9ZysxfDA7aWYoKGJ8MCk8KGN8MCkpd2hpbGUoMSl7aWYoKFUwKGUpfDAp
IT0oZHwwKSl7Yj1lO2g9MTU7YnJlYWsgYn1iPWUrMXwwO2Q9ZCsxfDA7aWYoKGV8MCk8KGN8MCkp
ZT1iO2Vsc2V7aD0xNTticmVha319ZWxzZXtiPWU7aD0xNX19ZWxzZXtnPVQwKGIpfDA7ZT1iKzF8
MDtkPWcrMXwwO2lmKChifDApPChjfDApKXdoaWxlKDEpe2lmKChUMChlKXwwKSE9KGR8MCkpe2I9
ZTtoPTE1O2JyZWFrIGJ9Yj1lKzF8MDtkPWQrMXwwO2lmKChlfDApPChjfDApKWU9YjtlbHNle2g9
MTU7YnJlYWt9fWVsc2V7Yj1lO2g9MTV9fXdoaWxlKDApO2lmKChofDApPT0xNSl7aD0wO2U9XzAo
YSl8MDtpZighZSl7Yj0tMTticmVhayBhfWZbZT4+Ml09ZztmW2UrND4+Ml09ZCstMTtmW2UrOD4+
Ml09LTF9aWYoKGJ8MCk+KGN8MCkpe2I9MDticmVha319d2hpbGUoMCk7cmV0dXJuIGJ8MH1mdW5j
dGlvbiBiMShhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAs
aD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7bT10O3Q9dCsxNnwwO2s9bTtpPWZbYSs0Pj4yXXwwO2o9
aSs1NnwwO2g9KGZbaj4+Ml0mOHwwKT09MD9jOjA7YT1mW2krNDA+PjJdfDA7aWYoKGF8MCk+MCYo
aHwwKSE9MCl7YT1MXyhhPDwyKXwwO2lmKCFhKWE9MTI7ZWxzZXtnPWE7Yz1hO2w9M319ZWxzZXtn
PTA7Yz0wO2w9M31pZigobHwwKT09Myl7aWYoIShmW2krNjA+PjJdfDApKWE9ZDEoaSxiLGcsZSxr
KXwwO2Vsc2UgYT1jMShpLGIsZyxlLGspfDA7aWYoIWEpZTEoaCxkLGZbaj4+Ml18MCxpLGcsZltr
Pj4yXXwwKTtpZihnKU1fKGMpfXQ9bTtyZXR1cm4gYXwwfWZ1bmN0aW9uIGMxKGEsYixjLGQsZSl7
YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0w
LG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAs
Qj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQ
PTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wO1c9dDt0PXQrMTZ8MDtUPVc7ZltUPj4yXT0w
O249ZCYxO1I9ZCYyO1M9YSs1NnwwO209ZltTPj4yXSY0O1Y9ZjAoMCwwKXwwO2E6ZG8gaWYoVil7
bz1BMChWLDAsMCwwLDMyKXwwO2lmKCFvKXtvMChWKTtkPTEyO2JyZWFrfWZbbysyND4+Ml09MDtm
W28rMjg+PjJdPTA7UT1hKzQwfDA7ZD1mW1E+PjJdfDA7aWYoZCl7ZD1MXyhkPDwyKXwwO2lmKCFk
KXtsPTA7az0wO2o9ZDtkPTEyO2k9MDtoPTA7Zz0wfWVsc2V7aj1kO2k9ZDtVPTZ9fWVsc2V7aj0w
O2k9MDtVPTZ9YjpkbyBpZigoVXwwKT09Nil7ZD1mW2ErMjg+PjJdfDA7aWYoZCl7ZD1MXyhkPDwz
KXwwO2lmKCFkKXtsPWQ7az0wO2Q9MTI7aD0wO2c9MDticmVha31lbHNle2w9ZDtoPWR9fWVsc2V7
bD0wO2g9MH1QPWErNTJ8MDtkPWZbUD4+Ml18MDtpZihkKXtkPUxfKGQ8PDIpfDA7aWYoIWQpe2s9
ZDtkPTEyO2c9MDticmVha31lbHNle2s9ZDtnPWR9fWVsc2V7az0wO2c9MH1OPShjfDApPT0wO089
YSs4fDA7TT0obnwwKT09MDtJPShtfDApIT0wO0o9YSsxMnwwO0s9KGN8MCkhPTA7TD1hKzMyfDA7
cT1iO2Q9MTtwPS0xO3g9LTE7dz0wO2M6d2hpbGUoMSl7bT1mW1E+PjJdfDA7aWYoKG18MCk+MCl7
bj0wO2Rve2Zbaisobjw8Mik+PjJdPS0xO2lmKCFOKXtmW2MrKG48PDIpPj4yXT0tMTttPWZbUT4+
Ml18MH1uPW4rMXwwfXdoaWxlKChufDApPChtfDApKX1tPWZbUD4+Ml18MDtpZigobXwwKT4wKVMz
KGd8MCwwLG08PDJ8MCl8MDtwPWQrcHwwO2Q9UTAoVCxxLDQpfDA7aWYoKGR8MCk8MSlpZigoZHww
KTwwKXtkPTE7YnJlYWsgYn1lbHNlIGQ9MTtHPXErZHwwO0g9ZltUPj4yXXwwO209ZltPPj4yXXww
O249bSs4fDA7aWYoZltuPj4yXXwwKXtDPUkmKHd8MCk9PTEwO3k9KHd8MCk9PTk1O3o9KHB8MCkh
PTA7QT0ocHwwKT09MDtCPShwfDApPDEmTTt2PW07bT0wO3U9MDtzPW47d2hpbGUoMSl7cj12KzIw
fDA7bj1mW3I+PjJdfDA7ZDpkbyBpZihuKWlmKChuJjF8MCk9PTB8QnxDKXtpZihuJjJ8MD8oRj1m
W1Q+PjJdfDAsISgoRnxSfDApPT0wfEkmKEZ8MCk9PTEwKSk6MCl7cT11O2JyZWFrfWRvIGlmKG4m
MTZ8MCl7aWYoeSl7cT11O2JyZWFrIGR9aWYoZjEodyl8MCl7cT11O2JyZWFrIGR9bj1mW1Q+PjJd
fDA7aWYoKG58MCk9PTk1KWJyZWFrO2lmKCEoZjEobil8MCkpe3E9dTticmVhayBkfX13aGlsZSgw
KTtuPWZbcj4+Ml18MDtpZihuJjMyKXtpZih5KXtuPWZbVD4+Ml18MDtpZigobnwwKT09OTUpe3E9
dTticmVha319ZWxzZXtGPShmMSh3KXwwKT09MDtuPWZbVD4+Ml18MDtpZihGfChufDApPT05NSl7
cT11O2JyZWFrfX1pZihmMShuKXwwKXtxPXU7YnJlYWt9bj1mW3I+PjJdfDB9cT1mW1Q+PjJdfDA7
ZG8gaWYoKHF8MCkhPTAmKHomKG4mNjR8MCkhPTApKXtpZih5KW49MTtlbHNle249KGYxKHcpfDAp
IT0wO3E9ZltUPj4yXXwwfWlmKChxfDApPT05NSlpZihuKXtxPXU7YnJlYWsgZH1lbHNlIGJyZWFr
O2Vsc2UgaWYobl4oZjEocSl8MCkhPTApYnJlYWs7ZWxzZXtxPXU7YnJlYWsgZH19d2hpbGUoMCk7
aWYoIShmW3I+PjJdJjEyOCkpe1U9NTA7YnJlYWt9bj1mW1Q+PjJdfDA7aWYoQXwobnwwKT09MCl7
cT11O2JyZWFrfWlmKHkpcT0xO2Vsc2V7cT0oZjEodyl8MCkhPTA7bj1mW1Q+PjJdfDB9aWYoKG58
MCk9PTk1KWlmKHEpe1U9NTA7YnJlYWt9ZWxzZXtxPXU7YnJlYWt9ZWxzZSBpZihxXihmMShuKXww
KSE9MCl7cT11O2JyZWFrfWVsc2V7VT01MDticmVha319ZWxzZSBxPXU7ZWxzZSBVPTUwO3doaWxl
KDApO2RvIGlmKChVfDApPT01MCl7VT0wO2lmKCF1KXttPWZbdisxNj4+Ml18MDtxPWZbcz4+Ml18
MDticmVha31xPW8rMjh8MDtuPWZbcT4+Ml18MDtpZighbil7bj1BMChWLDAsMCwwLDMyKXwwO2lm
KCFuKXtVPTU0O2JyZWFrIGN9ZltuKzI0Pj4yXT1vO2ZbbisyOD4+Ml09MDtGPUEwKFYsMCwwLDAs
ZltRPj4yXTw8Mil8MDtmW24rMjA+PjJdPUY7aWYoIUYpe1U9NjE7YnJlYWsgY31mW3E+PjJdPW47
bz1ufWVsc2Ugbz1uO2Zbbz4+Ml09cDtmW28rND4+Ml09RztmW28rOD4+Ml09ZltzPj4yXTtmW28r
MTI+PjJdPWZbdisxMj4+Ml07ZltvKzE2Pj4yXT1mW1Q+PjJdO2lmKChmW1E+PjJdfDApPjApe3E9
ZltvKzIwPj4yXXwwO249MDtkb3tmW3ErKG48PDIpPj4yXT1mW2orKG48PDIpPj4yXTtuPW4rMXww
fXdoaWxlKChufDApPChmW1E+PjJdfDApKX1uPWZbdisxNj4+Ml18MDtpZighbilxPXU7ZWxzZXtx
PWZbbj4+Ml18MDtpZigocXwwKTw9LTEpe3E9dTticmVha31yPWZbbysyMD4+Ml18MDtkb3tuPW4r
NHwwO2ZbcisocTw8Mik+PjJdPXA7cT1mW24+PjJdfDB9d2hpbGUoKHF8MCk+LTEpO3E9dX19d2hp
bGUoMCk7cz12KzQwfDA7aWYoIShmW3M+PjJdfDApKWJyZWFrO2Vsc2V7dj12KzMyfDA7dT1xfX1p
ZihtKXtuPWZbbT4+Ml18MDtpZigobnwwKT4tMSlkb3tmW2orKG48PDIpPj4yXT1wO209bSs0fDA7
bj1mW20+PjJdfDB9d2hpbGUoKG58MCk+LTEpfWVsc2UgbT0wO2lmKCFxKVU9MTc5O2Vsc2V7bj13
O3I9cDtzPUc7Rj14fX1lbHNle209MDtVPTE3OX1lOndoaWxlKDEpe2lmKChVfDApPT0xNzkpe1U9
MDt2PWZbbysyND4+Ml18MDtpZighdilicmVhazt1PWZbbys4Pj4yXXwwO2lmKGZbdSsyMD4+Ml0m
MjU2fDApZltrKyhmW28rMTI+PjJdPDwyKT4+Ml09MDtyPWZbbz4+Ml18MDtzPWZbbys0Pj4yXXww
O2ZbVD4+Ml09ZltvKzE2Pj4yXTtxPWZbUT4+Ml18MDtpZigocXwwKTw9MCl7bj13O0Y9eDtxPXU7
bz12O2NvbnRpbnVlfW89ZltvKzIwPj4yXXwwO249MDt3aGlsZSgxKXtmW2orKG48PDIpPj4yXT1m
W28rKG48PDIpPj4yXTtuPW4rMXwwO2lmKChufDApPj0ocXwwKSl7bj13O0Y9eDtxPXU7bz12O2Nv
bnRpbnVlIGV9fX14PXI7dT1xO0U9bTtmOndoaWxlKDEpe2lmKCh1fDApPT0oZltKPj4yXXwwKSli
cmVhazt2PXUrOHwwO2lmKChmW3Y+PjJdfDApIT0wPyhmW3UrMjA+PjJdJjI1NnwwKSE9MDowKXtt
PWZbdSsyND4+Ml18MDtlMShtKzF8MCxsLGZbUz4+Ml0mLTksYSxqLHgpO0Q9ZltsKyhtPDwzKT4+
Ml18MDttPShmW2wrKG08PDMpKzQ+PjJdfDApLUR8MDtkbyBpZighKGEkKGIrRHwwLHMrLTF8MCxt
KXwwKSl7RD0obXwwKT09MDtyPUQmMTtxPWsrKGZbdSsxMj4+Ml08PDIpfDA7aWYoRD9mW3E+PjJd
fDA6MCl7bT14O3I9cztxPTI1O2JyZWFrfWZbcT4+Ml09cjttPW0rLTF8MDtxPXMrbXwwO249ZltU
Pj4yXXwwO209eCtkK218MDtkPVEwKFQscSw0KXwwO2lmKChkfDApPDEpaWYoKGR8MCk8MCl7cj1x
O3E9MjticmVha31lbHNlIGQ9MTtyPXErZHwwO3E9MH1lbHNle209eDtyPXM7cT0yNX13aGlsZSgw
KTtzd2l0Y2gocSYzMSl7Y2FzZSAyOntkPTE7YnJlYWsgYn1jYXNlIDI1OnttPUU7VT0xNzg7YnJl
YWsgZn1jYXNlIDA6e3E9bjt4PW07YnJlYWt9ZGVmYXVsdDp7ZD0xMjticmVhayBhfX19ZWxzZXtx
PWZbVD4+Ml18MDtpZighcSl7bT1FO1U9MTc4O2JyZWFrfW09eCtkfDA7ZD1RMChULHMsNCl8MDtp
ZigoZHwwKTwxKWlmKChkfDApPDApe2Q9MTticmVhayBifWVsc2UgZD0xO3g9bTtyPXMrZHwwfWlm
KCEoZlt2Pj4yXXwwKSl7bj1xO209RTtVPTE3ODticmVha31EPUkmKHF8MCk9PTEwO3o9KHF8MCk9
PTk1O0E9KHh8MCkhPTA7Qj0oeHwwKT09MDtDPSh4fDApPDEmTTt3PTA7eT11O209RTt3aGlsZSgx
KXtnOmRvIGlmKChmW3k+PjJdfDApPj4+MD5xPj4+MCl1PXc7ZWxzZXtpZigoZlt5KzQ+PjJdfDAp
Pj4+MDxxPj4+MCl7dT13O2JyZWFrfXU9eSsyMHwwO249Zlt1Pj4yXXwwO2RvIGlmKG58MCl7aWYo
ISgobiYxfDApPT0wfEN8RCkpe3U9dzticmVhayBnfWlmKG4mMnwwPyhFPWZbVD4+Ml18MCwhKChF
fFJ8MCk9PTB8SSYoRXwwKT09MTApKTowKXt1PXc7YnJlYWsgZ31kbyBpZihuJjE2fDApe2lmKHop
e3U9dzticmVhayBnfWlmKGYxKHEpfDApe3U9dzticmVhayBnfW49ZltUPj4yXXwwO2lmKChufDAp
PT05NSlicmVhaztpZighKGYxKG4pfDApKXt1PXc7YnJlYWsgZ319d2hpbGUoMCk7bj1mW3U+PjJd
fDA7aWYobiYzMil7aWYoeil7bj1mW1Q+PjJdfDA7aWYoKG58MCk9PTk1KXt1PXc7YnJlYWsgZ319
ZWxzZXtFPShmMShxKXwwKT09MDtuPWZbVD4+Ml18MDtpZihFfChufDApPT05NSl7dT13O2JyZWFr
IGd9fWlmKGYxKG4pfDApe3U9dzticmVhayBnfW49Zlt1Pj4yXXwwfXM9ZltUPj4yXXwwO2RvIGlm
KChzfDApIT0wJihBJihuJjY0fDApIT0wKSl7aWYoeiluPTE7ZWxzZXtuPShmMShxKXwwKSE9MDtz
PWZbVD4+Ml18MH1pZigoc3wwKT09OTUpaWYobil7dT13O2JyZWFrIGd9ZWxzZSBicmVhaztlbHNl
IGlmKG5eKGYxKHMpfDApIT0wKWJyZWFrO2Vsc2V7dT13O2JyZWFrIGd9fXdoaWxlKDApO2RvIGlm
KGZbdT4+Ml0mMTI4fDApe249ZltUPj4yXXwwO2lmKEJ8KG58MCk9PTApe3U9dzticmVhayBnfWlm
KHopcz0xO2Vsc2V7cz0oZjEocSl8MCkhPTA7bj1mW1Q+PjJdfDB9aWYoKG58MCk9PTk1KWlmKHMp
YnJlYWs7ZWxzZXt1PXc7YnJlYWsgZ31lbHNlIGlmKHNeKGYxKG4pfDApIT0wKXt1PXc7YnJlYWsg
Z31lbHNlIGJyZWFrfXdoaWxlKDApO2RvIGlmKGZbdT4+Ml0mNHwwKXtpZighKGZbUz4+Ml0mMikp
e2lmKCEoZzEocSxmW3krMjQ+PjJdfDApfDApKXt1PXc7YnJlYWsgZ31pZighKGZbdT4+Ml0mNCkp
YnJlYWt9aWYoIShmW1M+PjJdJjIpKWJyZWFrO0U9VTAocSl8MDtuPXkrMjR8MDtpZihnMShFLGZb
bj4+Ml18MCl8MClicmVhaztFPVQwKHEpfDA7aWYoIShnMShFLGZbbj4+Ml18MCl8MCkpe3U9dzti
cmVhayBnfX13aGlsZSgwKTtpZighKGZbdT4+Ml0mOCkpYnJlYWs7aWYoaDEoZlt5KzI4Pj4yXXww
LHEsZltTPj4yXSYyKXwwKXt1PXc7YnJlYWsgZ319d2hpbGUoMCk7aWYoIXcpe3U9Zlt2Pj4yXXww
O209Zlt5KzE2Pj4yXXwwO2JyZWFrfXM9bysyOHwwO249ZltzPj4yXXwwO2lmKCFuKXtuPUEwKFYs
MCwwLDAsMzIpfDA7aWYoIW4pe1U9MTQ5O2JyZWFrIGN9ZltuKzI0Pj4yXT1vO2ZbbisyOD4+Ml09
MDtFPUEwKFYsMCwwLDAsZltRPj4yXTw8Mil8MDtmW24rMjA+PjJdPUU7aWYoIUUpe1U9MTU2O2Jy
ZWFrIGN9ZltzPj4yXT1uO289bn1lbHNlIG89bjtmW28+PjJdPXg7ZltvKzQ+PjJdPXI7ZltvKzg+
PjJdPWZbdj4+Ml07ZltvKzEyPj4yXT1mW3krMTI+PjJdO2ZbbysxNj4+Ml09ZltUPj4yXTtpZigo
ZltRPj4yXXwwKT4wKXtzPWZbbysyMD4+Ml18MDtuPTA7ZG97ZltzKyhuPDwyKT4+Ml09ZltqKyhu
PDwyKT4+Ml07bj1uKzF8MH13aGlsZSgobnwwKTwoZltRPj4yXXwwKSl9bj1mW3krMTY+PjJdfDA7
aWYoIW4pe3U9dzticmVha31zPWZbbj4+Ml18MDtpZigoc3wwKTw9LTEpe3U9dzticmVha311PWZb
bysyMD4+Ml18MDtkb3tmW3UrKHM8PDIpPj4yXT14O249bis0fDA7cz1mW24+PjJdfDB9d2hpbGUo
KHN8MCk+LTEpO3U9d313aGlsZSgwKTt2PXkrNDB8MDtpZighKGZbdj4+Ml18MCkpYnJlYWs7ZWxz
ZXt3PXU7eT15KzMyfDB9fWlmKCF1KXtuPXE7VT0xNzg7YnJlYWt9ZG8gaWYoIW0pbT0wO2Vsc2V7
bj1mW20+PjJdfDA7aWYoKG58MCk8PS0xKWJyZWFrO2Rve209bSs0fDA7ZltqKyhuPDwyKT4+Ml09
eDtuPWZbbT4+Ml18MH13aGlsZSgobnwwKT4tMSl9d2hpbGUoMCk7bj1xO3M9cjtFPW19aWYoKFV8
MCk9PTE3OCl7dz1uO3g9RjtVPTE3OTtjb250aW51ZX1pZigoRnwwKT49KHh8MCkpe2lmKCEoSyYo
RnwwKT09KHh8MCkpKXt3PW47eD1GO209RTtVPTE3OTtjb250aW51ZX1tPWZbUT4+Ml18MDtpZigh
KGkxKG0sZltMPj4yXXwwLGosYyl8MCkpe3c9bjt4PUY7bT1FO1U9MTc5O2NvbnRpbnVlfX1lbHNl
e2lmKE4pe3c9bjttPUU7VT0xNzk7Y29udGludWV9bT1mW1E+PjJdfDB9aWYoKG18MCk8PTApe3c9
bjttPUU7VT0xNzk7Y29udGludWV9bT0wO2Rve2ZbYysobTw8Mik+PjJdPWZbaisobTw8Mik+PjJd
O209bSsxfDB9d2hpbGUoKG18MCk8KGZbUT4+Ml18MCkpO3c9bjttPUU7VT0xNzl9bT0oeHwwKT4t
MTtpZihtfChmW1Q+PjJdfDApPT0wKXtVPTE4NzticmVha31mW1Q+PjJdPUg7cT1HO3c9SH1pZigo
VXwwKT09NTQpe28wKFYpO2lmKGp8MClNXyhpKTtpZihsfDApTV8oaCk7aWYoIWspe2Q9MTI7YnJl
YWsgYX1NXyhnKTtkPTEyO2JyZWFrIGF9ZWxzZSBpZigoVXwwKT09NjEpe28wKFYpO2lmKGp8MClN
XyhpKTtpZihsfDApTV8oaCk7aWYoIWspe2Q9MTI7YnJlYWsgYX1NXyhnKTtkPTEyO2JyZWFrIGF9
ZWxzZSBpZigoVXwwKT09MTQ5KXtvMChWKTtpZihqfDApTV8oaSk7aWYobHwwKU1fKGgpO2lmKCFr
KXtkPTEyO2JyZWFrIGF9TV8oZyk7ZD0xMjticmVhayBhfWVsc2UgaWYoKFV8MCk9PTE1Nil7bzAo
Vik7aWYoanwwKU1fKGkpO2lmKGx8MClNXyhoKTtpZighayl7ZD0xMjticmVhayBhfU1fKGcpO2Q9
MTI7YnJlYWsgYX1lbHNlIGlmKChVfDApPT0xODcpe2ZbZT4+Ml09eDtkPShtXjEpJjE7YnJlYWt9
fXdoaWxlKDApO28wKFYpO2lmKGp8MClNXyhpKTtpZihsfDApTV8oaCk7aWYoaylNXyhnKX1lbHNl
IGQ9MTI7d2hpbGUoMCk7dD1XO3JldHVybiBkfDB9ZnVuY3Rpb24gZDEoYSxiLGMsZCxlKXthPWF8
MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0w
LG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAs
Qz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxR
PTAsUj0wLFM9MCxUPTAsVT0wO1U9dDt0PXQrMTZ8MDtSPVU7ZltSPj4yXT0wO2s9ZCYxO089ZCYy
O1A9YSs1NnwwO2o9ZltQPj4yXSY0O2lmKCFjKU09MDtlbHNlIE09ZlthKzQwPj4yXXwwO049TTw8
MjtpPWErNTJ8MDtkPWZbaT4+Ml18MDtoPWQ8PDM7Zz1oKzh8MDtkPU4rMTIraCsoZysoVihOLGQp
fDApPDwxKXwwO1M9TF8oZCl8MDtpZighUylkPTEyO2Vsc2V7UzMoU3wwLDAsZHwwKXwwO2Q9UytO
fDA7bD1kJjM7bD1kKygobHwwKT09MD8wOjQtbHwwKXwwO2Q9bCtnfDA7bT1kJjM7bT1kKygobXww
KT09MD8wOjQtbXwwKXwwO2Q9bStnfDA7TD1kJjM7TD1kKygoTHwwKT09MD8wOjQtTHwwKXwwO2Q9
TCtofDA7Zz1kJjM7aT1mW2k+PjJdfDA7aD0oaXwwKT4wO2lmKGgpe2Q9ZCsoKGd8MCk9PTA/MDo0
LWd8MCl8MDtnPTA7d2hpbGUoMSl7ZlttKyhnPDwzKSs0Pj4yXT1kO2Q9ZCtOfDA7ZltsKyhnPDwz
KSs0Pj4yXT1kO2c9ZysxfDA7aWYoKGd8MCk+PShpfDApKWJyZWFrO2Vsc2UgZD1kK058MH1pZiho
KXtkPTA7ZG97ZltMKyhkPDwzKT4+Ml09LTE7ZD1kKzF8MH13aGlsZSgoZHwwKTwoaXwwKSl9fWQ9
UTAoUixiLDQpfDA7aWYoKGR8MCk8MSlpZigoZHwwKTwwKWQ9MTtlbHNle2k9MTtUPTEyfWVsc2V7
aT1kO1Q9MTJ9YTpkbyBpZigoVHwwKT09MTIpe0o9YSs4fDA7Sz0oTXwwKT09MDtJPShrfDApPT0w
O0M9KGp8MCkhPTA7RD0oTXwwKT4wO0U9YSsxMnwwO0Y9KE18MCk8MTtHPWErNDR8MDtIPWErMzZ8
MDtCPWErMzJ8MDtoPTA7dT1iK2l8MDtzPTA7aj0wO2Q9LTE7Zz1sO0E9Uzt2PWw7dz1tO3doaWxl
KDEpe2lmKChkfDApPDApe2E9ZltKPj4yXXwwO2s9YSs4fDA7YjpkbyBpZihmW2s+PjJdfDApe3I9
QyYoaHwwKT09MTA7bj0oaHwwKT09OTU7bz0oc3wwKSE9MDtwPShzfDApPT0wO3E9KHN8MCk8MSZJ
O3doaWxlKDEpe2M6d2hpbGUoMSl7aWYoKGZbTCsoZlthKzEyPj4yXTw8Myk+PjJdfDApPj0oc3ww
KSlicmVhazttPWErMjB8MDtiPWZbbT4+Ml18MDtpZighYil7VD00NzticmVha31kOmRvIGlmKChi
JjF8MCk9PTB8cXxyKXtpZihiJjJ8MD8oej1mW1I+PjJdfDAsISgoenxPfDApPT0wfEMmKHp8MCk9
PTEwKSk6MClicmVhaztkbyBpZihiJjE2fDApe2lmKG4pYnJlYWsgZDtpZihmMShoKXwwKWJyZWFr
IGQ7Yj1mW1I+PjJdfDA7aWYoKGJ8MCk9PTk1KWJyZWFrO2lmKCEoZjEoYil8MCkpYnJlYWsgZH13
aGlsZSgwKTtiPWZbbT4+Ml18MDtpZihiJjMyKXtpZihuKXtiPWZbUj4+Ml18MDtpZigoYnwwKT09
OTUpYnJlYWt9ZWxzZXt6PShmMShoKXwwKT09MDtiPWZbUj4+Ml18MDtpZih6fChifDApPT05NSli
cmVha31pZihmMShiKXwwKWJyZWFrO2I9ZlttPj4yXXwwfWw9ZltSPj4yXXwwO2RvIGlmKChsfDAp
IT0wJihvJihiJjY0fDApIT0wKSl7aWYobiliPTE7ZWxzZXtiPShmMShoKXwwKSE9MDtsPWZbUj4+
Ml18MH1pZigobHwwKT09OTUpaWYoYilicmVhayBkO2Vsc2UgYnJlYWs7ZWxzZSBpZihiXihmMShs
KXwwKSE9MClicmVhaztlbHNlIGJyZWFrIGR9d2hpbGUoMCk7aWYoIShmW20+PjJdJjEyOCkpe1Q9
NDc7YnJlYWsgY31iPWZbUj4+Ml18MDtpZihwfChifDApPT0wKWJyZWFrO2lmKG4pbD0xO2Vsc2V7
bD0oZjEoaCl8MCkhPTA7Yj1mW1I+PjJdfDB9aWYoKGJ8MCk9PTk1KWlmKGwpe1Q9NDc7YnJlYWsg
Y31lbHNlIGJyZWFrO2Vsc2UgaWYobF4oZjEoYil8MCkhPTApYnJlYWs7ZWxzZXtUPTQ3O2JyZWFr
IGN9fXdoaWxlKDApO2s9YSs0MHwwO2lmKCEoZltrPj4yXXwwKSlicmVhayBiO2Vsc2UgYT1hKzMy
fDB9aWYoKFR8MCk9PTQ3KXtUPTA7bT1hKzEyfDA7ZltnPj4yXT1mW2s+PjJdO2lmKEQpUzMoZltn
KzQ+PjJdfDAsLTEsTnwwKXwwO2s9ZlthKzE2Pj4yXXwwO2lmKGt8MD8oUT1mW2s+PjJdfDAsKFF8
MCk+LTEpOjApe2w9Zys0fDA7Yj1RO2Rve2lmKChifDApPChNfDApKWZbKGZbbD4+Ml18MCkrKGI8
PDIpPj4yXT1zO2s9ays0fDA7Yj1mW2s+PjJdfDB9d2hpbGUoKGJ8MCk+LTEpfWs9KGZbZz4+Ml18
MCkhPShmW0U+PjJdfDApO2lmKGt8Ril7aj1rP2o6MTtkPWs/ZDpzO2s9Zys0fDB9ZWxzZXtrPWcr
NHwwO2o9ZltrPj4yXXwwO2Q9MDtkb3tmW2MrKGQ8PDIpPj4yXT1mW2orKGQ8PDIpPj4yXTtkPWQr
MXwwfXdoaWxlKChkfDApIT0oTXwwKSk7aj0xO2Q9c316PWZbbT4+Ml18MDtmW0wrKHo8PDMpPj4y
XT1zO2ZbTCsoejw8MykrND4+Ml09aztnPWcrOHwwfWs9YSs0MHwwO2lmKCEoZltrPj4yXXwwKSli
cmVhaztlbHNlIGE9YSszMnwwfX13aGlsZSgwKTtmW2c+PjJdPTA7Zz1mW1I+PjJdfDA7aWYoIWcp
YnJlYWs7ZWxzZSBoPWd9ZWxzZXtpZihLKWJyZWFrO2g9ZltSPj4yXXwwO2lmKCEoKGd8MCkhPSh2
fDApJihofDApIT0wKSlicmVha316PXMraXwwO2c9UTAoUix1LDQpfDA7aWYoKGd8MCk8MSlpZigo
Z3wwKTwwKXtkPTE7YnJlYWsgYX1lbHNlIGk9MTtlbHNlIGk9Zzt5PXUraXwwO2lmKChqfDApIT0w
JihmW0c+PjJdfDApIT0wKXtpZighKGZbdj4+Ml18MCkpZz13O2Vsc2V7bj1mW0g+PjJdfDA7bz1m
W24+PjJdfDA7cD0ob3wwKT4tMTttPXY7Zz13O2Rve2w9bSs0fDA7ZTpkbyBpZihwKXtrPTA7Yj1v
O2Rve2E9ZltuKygoa3wxKTw8Mik+PjJdfDA7aWYoKGJ8MCk+PShNfDApKWJyZWFrIGU7aj1mW2w+
PjJdfDA7aWYoKGZbaisoYTw8Mik+PjJdfDApPT0oZltjKyhhPDwyKT4+Ml18MCk/KGZbaisoYjw8
Mik+PjJdfDApPChmW2MrKGI8PDIpPj4yXXwwKTowKWJyZWFrIGU7az1rKzJ8MDtiPWZbbisoazw8
Mik+PjJdfDB9d2hpbGUoKGJ8MCk+LTEpO2s9bDtUPTc3fWVsc2V7az1sO2o9ZltsPj4yXXwwO1Q9
Nzd9d2hpbGUoMCk7aWYoKFR8MCk9PTc3KXtUPTA7ZltnPj4yXT1mW20+PjJdO3U9Zys0fDA7eD1m
W3U+PjJdfDA7Zlt1Pj4yXT1qO2Zbaz4+Ml09eDtnPWcrOHwwfW09bSs4fDB9d2hpbGUoKGZbbT4+
Ml18MCkhPTApfWZbZz4+Ml09MDt4PXY7aj0wfWVsc2V7eD13O3c9dn1rPWZbdz4+Ml18MDtpZigh
ayl7az1BO2c9eH1lbHNle3Y9QyYoaHwwKT09MTA7cT0oaHwwKT09OTU7cj0oenwwKSE9MDtzPSh6
fDApPT0wO3U9KHp8MCk8MSZJO3A9dzthPUE7Zz14O3doaWxlKDEpe2I9ays4fDA7aWYoZltiPj4y
XXwwKXtvPXArNHwwO249YTttPWI7d2hpbGUoMSl7ZjpkbyBpZigoZltrPj4yXXwwKT4+PjA8PWg+
Pj4wPyhmW2srND4+Ml18MCk+Pj4wPj1oPj4+MDowKXtsPWsrMjB8MDthPWZbbD4+Ml18MDtkbyBp
ZihhfDApe2lmKCEoKGEmMXwwKT09MHx1fHYpKXthPW47YnJlYWsgZn1pZihhJjJ8MD8oQT1mW1I+
PjJdfDAsISgoQXxPfDApPT0wfEMmKEF8MCk9PTEwKSk6MCl7YT1uO2JyZWFrIGZ9ZG8gaWYoYSYx
NnwwKXtpZihxKXthPW47YnJlYWsgZn1pZihmMShoKXwwKXthPW47YnJlYWsgZn1hPWZbUj4+Ml18
MDtpZigoYXwwKT09OTUpYnJlYWs7aWYoIShmMShhKXwwKSl7YT1uO2JyZWFrIGZ9fXdoaWxlKDAp
O2E9ZltsPj4yXXwwO2lmKGEmMzIpe2lmKHEpe2E9ZltSPj4yXXwwO2lmKChhfDApPT05NSl7YT1u
O2JyZWFrIGZ9fWVsc2V7QT0oZjEoaCl8MCk9PTA7YT1mW1I+PjJdfDA7aWYoQXwoYXwwKT09OTUp
e2E9bjticmVhayBmfX1pZihmMShhKXwwKXthPW47YnJlYWsgZn1hPWZbbD4+Ml18MH1iPWZbUj4+
Ml18MDtkbyBpZigoYnwwKSE9MCYociYoYSY2NHwwKSE9MCkpe2lmKHEpYT0xO2Vsc2V7YT0oZjEo
aCl8MCkhPTA7Yj1mW1I+PjJdfDB9aWYoKGJ8MCk9PTk1KWlmKGEpe2E9bjticmVhayBmfWVsc2Ug
YnJlYWs7ZWxzZSBpZihhXihmMShiKXwwKSE9MClicmVhaztlbHNle2E9bjticmVhayBmfX13aGls
ZSgwKTtkbyBpZihmW2w+PjJdJjEyOHwwKXthPWZbUj4+Ml18MDtpZihzfChhfDApPT0wKXthPW47
YnJlYWsgZn1pZihxKWI9MTtlbHNle2I9KGYxKGgpfDApIT0wO2E9ZltSPj4yXXwwfWlmKChhfDAp
PT05NSlpZihiKWJyZWFrO2Vsc2V7YT1uO2JyZWFrIGZ9ZWxzZSBpZihiXihmMShhKXwwKSE9MCl7
YT1uO2JyZWFrIGZ9ZWxzZSBicmVha313aGlsZSgwKTtkbyBpZihmW2w+PjJdJjR8MCl7aWYoIShm
W1A+PjJdJjIpKXtpZighKGcxKGgsZltrKzI0Pj4yXXwwKXwwKSl7YT1uO2JyZWFrIGZ9aWYoIShm
W2w+PjJdJjQpKWJyZWFrfWlmKCEoZltQPj4yXSYyKSlicmVhaztBPVUwKGgpfDA7YT1rKzI0fDA7
aWYoZzEoQSxmW2E+PjJdfDApfDApYnJlYWs7QT1UMChoKXwwO2lmKCEoZzEoQSxmW2E+PjJdfDAp
fDApKXthPW47YnJlYWsgZn19d2hpbGUoMCk7aWYoIShmW2w+PjJdJjgpKWJyZWFrO2lmKGgxKGZb
aysyOD4+Ml18MCxoLGZbUD4+Ml0mMil8MCl7YT1uO2JyZWFrIGZ9fXdoaWxlKDApO2lmKEQpe2I9
ZltvPj4yXXwwO2E9MDtkb3tmW24rKGE8PDIpPj4yXT1mW2IrKGE8PDIpPj4yXTthPWErMXwwfXdo
aWxlKChhfDApIT0oTXwwKSl9YT1mW2srMTY+PjJdfDA7ZG8gaWYoYXwwKXtiPWZbYT4+Ml18MDtp
ZigoYnwwKTw9LTEpYnJlYWs7ZG97aWYoKGJ8MCk8KE18MCkpZltuKyhiPDwyKT4+Ml09ejthPWEr
NHwwO2I9ZlthPj4yXXwwfXdoaWxlKChifDApPi0xKX13aGlsZSgwKTtiPWZbaysxMj4+Ml18MDts
PUwrKGI8PDMpfDA7aWYoKGZbbD4+Ml18MCk+PSh6fDApKXthPWZbTCsoYjw8MykrND4+Ml18MDti
PWZbYT4+Ml18MDtpZighKGkxKE0sZltCPj4yXXwwLG4sYil8MCkpe2E9bjticmVha31mW2E+PjJd
PW47aWYoKGZbbT4+Ml18MCkhPShmW0U+PjJdfDApKXthPWI7YnJlYWt9aWYoIUQpe2o9MTthPWI7
ZD16O2JyZWFrfWQ9MDt3aGlsZSgxKXtmW2MrKGQ8PDIpPj4yXT1mW24rKGQ8PDIpPj4yXTtkPWQr
MXwwO2lmKChkfDApPT0oTXwwKSl7aj0xO2E9YjtkPXo7YnJlYWsgZn19fUE9ZlttPj4yXXwwO2Zb
Zz4+Ml09QTttPWcrNHwwO2E9ZlttPj4yXXwwO2ZbbT4+Ml09bjtmW2w+PjJdPXo7ZltMKyhiPDwz
KSs0Pj4yXT1tO2RvIGlmKChmW0U+PjJdfDApPT0oQXwwKSl7aWYoKGR8MCk9PS0xKXtpZighRCl7
ZD16O2o9MTticmVha319ZWxzZXtpZighRClicmVhaztpZigoZltuPj4yXXwwKT4oZltjPj4yXXww
KSlicmVha31kPTA7ZG97ZltjKyhkPDwyKT4+Ml09ZltuKyhkPDwyKT4+Ml07ZD1kKzF8MH13aGls
ZSgoZHwwKTwoTXwwKSk7ZD16O2o9MX13aGlsZSgwKTtnPWcrOHwwfWVsc2UgYT1uO3doaWxlKDAp
O209ays0MHwwO2lmKCEoZlttPj4yXXwwKSlicmVhaztlbHNle2s9ayszMnwwO249YX19fXA9cCs4
fDA7az1mW3A+PjJdfDA7aWYoIWspe2s9YTticmVha319fWZbZz4+Ml09MDt1PXk7cz16O0E9azt2
PXh9ZltlPj4yXT1kO2Q9ZD4+PjMxfXdoaWxlKDApO01fKFMpfXQ9VTtyZXR1cm4gZHwwfWZ1bmN0
aW9uIGUxKGEsYixjLGQsZSxnKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8MDt2
YXIgaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MDtpZigoYyY4fDApPT0wJihnfDApPi0x
PyhtPWZbZCsxNj4+Ml18MCxuPWZbZCsyOD4+Ml18MCxsPShhfDApIT0wJihufDApIT0wLGwpOjAp
e2s9ZltkKzQ4Pj4yXXwwO2o9MDtkb3tjPWZbbSsoaioxMnwwKT4+Ml18MDtpZigoY3wwKT09KGt8
MCkpaT1nO2Vsc2UgaT1mW2UrKGM8PDIpPj4yXXwwO2g9Yisoajw8Myl8MDtmW2g+PjJdPWk7Yz1m
W20rKGoqMTJ8MCkrND4+Ml18MDtpZigoY3wwKT09KGt8MCkpZD1nO2Vsc2UgZD1mW2UrKGM8PDIp
Pj4yXXwwO2M9Yisoajw8MykrNHwwO2ZbYz4+Ml09ZDtpZigoaXwwKT09LTF8KGR8MCk9PS0xKXtm
W2M+PjJdPS0xO2ZbaD4+Ml09LTF9aj1qKzF8MH13aGlsZShqPj4+MDxhPj4+MCZqPj4+MDxuPj4+
MCk7aWYobCl7Yz0wO2Rve2k9YisoYzw8MykrNHwwO2o9ZlttKyhjKjEyfDApKzg+PjJdfDA7aWYo
anwwPyhvPWZbaj4+Ml18MCwob3wwKT4tMSk6MCl7az1iKyhjPDwzKXwwO2g9MDtlPW87ZD1mW2s+
PjJdfDA7ZG97aWYoISgoZHwwKT49KGZbYisoZTw8Myk+PjJdfDApPyhmW2k+PjJdfDApPD0oZlti
KyhlPDwzKSs0Pj4yXXwwKTowKSl7ZltpPj4yXT0tMTtmW2s+PjJdPS0xO2Q9LTF9aD1oKzF8MDtl
PWZbaisoaDw8Mik+PjJdfDB9d2hpbGUoKGV8MCk+LTEpfWM9YysxfDB9d2hpbGUoYz4+PjA8bj4+
PjAmYz4+PjA8YT4+PjApfWVsc2UgYz0wfWVsc2UgYz0wO2lmKGM+Pj4wPGE+Pj4wKVMzKGIrKGM8
PDMpfDAsLTEsYS1jPDwzfDApfDA7cmV0dXJufWZ1bmN0aW9uIGYxKGEpe2E9YXwwO2lmKCEobDEo
YSl8MCkpYT0oVzAoYSl8MCkhPTAmMTtlbHNlIGE9MTtyZXR1cm4gYXwwfWZ1bmN0aW9uIGcxKGEs
Yil7YT1hfDA7Yj1ifDA7ZG8gc3dpdGNoKGJ8MCl7Y2FzZSAxOnthPWYxKGEpfDA7YnJlYWt9Y2Fz
ZSAyOnthPVcwKGEpfDA7YnJlYWt9Y2FzZSAzOnthPWoxKGEpfDA7YnJlYWt9Y2FzZSA0OnthPWsx
KGEpfDA7YnJlYWt9Y2FzZSA1OnthPWwxKGEpfDA7YnJlYWt9Y2FzZSA2OnthPW0xKGEpfDA7YnJl
YWt9Y2FzZSA3OnthPVMwKGEpfDA7YnJlYWt9Y2FzZSA4OnthPW4xKGEpfDA7YnJlYWt9Y2FzZSA5
OnthPW8xKGEpfDA7YnJlYWt9Y2FzZSAxMDp7YT1wMShhKXwwO2JyZWFrfWNhc2UgMTE6e2E9UjAo
YSl8MDticmVha31jYXNlIDEyOnthPXExKGEpfDA7YnJlYWt9ZGVmYXVsdDphPTB9d2hpbGUoMCk7
cmV0dXJuIGF8MH1mdW5jdGlvbiBoMShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxl
PTA7ZD1mW2E+PjJdfDA7YTpkbyBpZighZCljPTA7ZWxzZXtlPShjfDApPT0wO2M9ZDt3aGlsZSgx
KXtpZihlKXtpZihnMShiLGMpfDApe2M9MTticmVhayBhfX1lbHNle2Q9VDAoYil8MDtpZihnMShk
LGZbYT4+Ml18MCl8MCl7Yz0xO2JyZWFrIGF9ZD1VMChiKXwwO2lmKGcxKGQsZlthPj4yXXwwKXww
KXtjPTE7YnJlYWsgYX19YT1hKzR8MDtjPWZbYT4+Ml18MDtpZighYyl7Yz0wO2JyZWFrfX19d2hp
bGUoMCk7cmV0dXJuIGN8MH1mdW5jdGlvbiBpMShhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtk
PWR8MDt2YXIgZT0wLGc9MCxoPTA7YTpkbyBpZigoYXwwKT4wKXtlPTA7d2hpbGUoMSl7aD1mW2Mr
KGU8PDIpPj4yXXwwO2c9ZltkKyhlPDwyKT4+Ml18MDtpZighKGZbYisoZTw8Mik+PjJdfDApKXtp
ZigoaHwwKTwoZ3wwKSl7ZT0xO2JyZWFrIGF9aWYoKGh8MCk+KGd8MCkpe2U9MDticmVhayBhfX1l
bHNle2lmKChofDApPihnfDApKXtlPTE7YnJlYWsgYX1pZigoaHwwKTwoZ3wwKSl7ZT0wO2JyZWFr
IGF9fWU9ZSsxfDA7aWYoKGV8MCk+PShhfDApKXtlPTA7YnJlYWt9fX1lbHNlIGU9MDt3aGlsZSgw
KTtyZXR1cm4gZXwwfWZ1bmN0aW9uIGoxKGEpe2E9YXwwO3JldHVybiB0MShhKXwwfWZ1bmN0aW9u
IGsxKGEpe2E9YXwwO3JldHVybiAoKGErLTY1NTI5fDApPj4+MDwzfCgoYSYtMnwwKT09ODIzMnwo
YT4+PjA8MzJ8KGErLTEyN3wwKT4+PjA8MzMpKSkmMXwwfWZ1bmN0aW9uIGwxKGEpe2E9YXwwO3Jl
dHVybiAoYSstNDh8MCk+Pj4wPDEwfDB9ZnVuY3Rpb24gbTEoYSl7YT1hfDA7aWYoIShwMShhKXww
KSlhPShuMShhKXwwKSE9MCYxO2Vsc2UgYT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gbjEoYSl7YT1h
fDA7aWYoYT4+PjA+PTI1NSlpZigoYSstNTczNDR8MCk+Pj4wPDgxODV8KGE+Pj4wPDgyMzJ8KGEr
LTgyMzR8MCk+Pj4wPDQ3MDYyKSlhPTE7ZWxzZSByZXR1cm4gKGEmNjU1MzR8MCkhPTY1NTM0Jihh
Ky02NTUzMnwwKT4+PjA8MTA0ODU4MCYxfDA7ZWxzZSBhPShhKzEmMTI3KT4+PjA+MzImMTtyZXR1
cm4gYXwwfWZ1bmN0aW9uIG8xKGEpe2E9YXwwO2lmKGE+Pj4wPDEzMTA3MilhPShoWzYyNDk2Kygo
aFs2MjQ5NisoYT4+PjgpPj4wXXwwKTw8NXxhPj4+MyYzMSk+PjBdfDApPj4+KGEmNykmMTtlbHNl
IGE9MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIHAxKGEpe2E9YXwwO2lmKCFhKWE9MDtlbHNlIGE9KHIx
KDYyNDAwLGEpfDApIT0wJjE7cmV0dXJuIGF8MH1mdW5jdGlvbiBxMShhKXthPWF8MDtyZXR1cm4g
KChhKy00OHwwKT4+PjA8MTB8KChhfDMyKSstOTd8MCk+Pj4wPDYpJjF8MH1mdW5jdGlvbiByMShh
LGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wO2lmKCFiKWE9YSsoKHMxKGEpfDApPDwyKXwwO2Vs
c2V7d2hpbGUoMSl7ZD1mW2E+PjJdfDA7Yz0oZHwwKT09MDtpZihjfChkfDApPT0oYnwwKSlicmVh
aztlbHNlIGE9YSs0fDB9YT1jPzA6YX1yZXR1cm4gYXwwfWZ1bmN0aW9uIHMxKGEpe2E9YXwwO3Zh
ciBiPTA7Yj1hO3doaWxlKDEpaWYoIShmW2I+PjJdfDApKWJyZWFrO2Vsc2UgYj1iKzR8MDtyZXR1
cm4gYi1hPj4yfDB9ZnVuY3Rpb24gdDEoYSl7YT1hfDA7cmV0dXJuICgoYXwwKT09MzJ8KGF8MCk9
PTkpJjF8MH1mdW5jdGlvbiB1MShhLGIpe2E9YXwwO2I9YnwwO3cxKGEsYil8MDtyZXR1cm4gYXww
fWZ1bmN0aW9uIHYxKGEsYil7YT1hfDA7Yj1ifDA7dTEoYSsoYzAoYSl8MCl8MCxiKXwwO3JldHVy
biBhfDB9ZnVuY3Rpb24gdzEoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MDtkPWM7YTpkbyBp
ZighKChkXmEpJjMpKXtpZihkJjMpZG97ZD1iW2M+PjBdfDA7YlthPj4wXT1kO2lmKCEoZDw8MjQ+
PjI0KSlicmVhayBhO2M9YysxfDA7YT1hKzF8MH13aGlsZSgoYyYzfDApIT0wKTtkPWZbYz4+Ml18
MDtpZighKChkJi0yMTM5MDYyMTQ0Xi0yMTM5MDYyMTQ0KSZkKy0xNjg0MzAwOSkpe2U9YTt3aGls
ZSgxKXtjPWMrNHwwO2E9ZSs0fDA7ZltlPj4yXT1kO2Q9ZltjPj4yXXwwO2lmKChkJi0yMTM5MDYy
MTQ0Xi0yMTM5MDYyMTQ0KSZkKy0xNjg0MzAwOXwwKWJyZWFrO2Vsc2UgZT1hfX1lPTEwfWVsc2Ug
ZT0xMDt3aGlsZSgwKTtpZigoZXwwKT09MTApe2U9YltjPj4wXXwwO2JbYT4+MF09ZTtpZihlPDwy
ND4+MjQpZG97Yz1jKzF8MDthPWErMXwwO2U9YltjPj4wXXwwO2JbYT4+MF09ZX13aGlsZShlPDwy
ND4+MjQhPTApfXJldHVybiBhfDB9ZnVuY3Rpb24geDEoYSxjKXthPWF8MDtjPWN8MDthPXkxKGEs
Yyl8MDtyZXR1cm4gKChiW2E+PjBdfDApPT0oYyYyNTUpPDwyND4+MjQ/YTowKXwwfWZ1bmN0aW9u
IHkxKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0wO2U9YyYyNTU7YTpkbyBpZighZSlh
PWErKGMwKGEpfDApfDA7ZWxzZXtpZihhJjMpe2Q9YyYyNTU7ZG97Zz1iW2E+PjBdfDA7aWYoZzw8
MjQ+PjI0PT0wPzE6Zzw8MjQ+PjI0PT1kPDwyND4+MjQpYnJlYWsgYTthPWErMXwwfXdoaWxlKChh
JjN8MCkhPTApfWU9VihlLDE2ODQzMDA5KXwwO2Q9ZlthPj4yXXwwO2I6ZG8gaWYoISgoZCYtMjEz
OTA2MjE0NF4tMjEzOTA2MjE0NCkmZCstMTY4NDMwMDkpKWRve2c9ZF5lO2lmKChnJi0yMTM5MDYy
MTQ0Xi0yMTM5MDYyMTQ0KSZnKy0xNjg0MzAwOXwwKWJyZWFrIGI7YT1hKzR8MDtkPWZbYT4+Ml18
MH13aGlsZSghKChkJi0yMTM5MDYyMTQ0Xi0yMTM5MDYyMTQ0KSZkKy0xNjg0MzAwOXwwKSk7d2hp
bGUoMCk7ZD1jJjI1NTt3aGlsZSgxKXtnPWJbYT4+MF18MDtpZihnPDwyND4+MjQ9PTA/MTpnPDwy
ND4+MjQ9PWQ8PDI0Pj4yNClicmVhaztlbHNlIGE9YSsxfDB9fXdoaWxlKDApO3JldHVybiBhfDB9
ZnVuY3Rpb24gejEoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MDtpPXQ7
dD10KzQ4fDA7aD1pKzMyfDA7Zz1pKzE2fDA7ZD1pO2lmKHgxKDE1MTIwOSxiW2M+PjBdfDApfDAp
e2U9QTEoYyl8MDtmW2Q+PjJdPWE7ZltkKzQ+PjJdPWV8MzI3Njg7ZltkKzg+PjJdPTQzODtkPVdf
KE9hKDUsZHwwKXwwKXwwO2lmKChkfDApPj0wKXtpZihlJjUyNDI4OHwwKXtmW2c+PjJdPWQ7Zltn
KzQ+PjJdPTI7ZltnKzg+PjJdPTE7TGEoMjIxLGd8MCl8MH1hPUIxKGQsYyl8MDtpZighYSl7Zlto
Pj4yXT1kO1FhKDYsaHwwKXwwO2E9MH19ZWxzZSBhPTB9ZWxzZXthPVhfKCl8MDtmW2E+PjJdPTIy
O2E9MH10PWk7cmV0dXJuIGF8MH1mdW5jdGlvbiBBMShhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTA7
ZD0oeDEoYSw0Myl8MCk9PTA7Yz1iW2E+PjBdfDA7ZD1kP2M8PDI0Pj4yNCE9MTE0JjE6MjtlPSh4
MShhLDEyMCl8MCk9PTA7ZD1lP2Q6ZHwxMjg7YT0oeDEoYSwxMDEpfDApPT0wO2E9YT9kOmR8NTI0
Mjg4O2E9Yzw8MjQ+PjI0PT0xMTQ/YTphfDY0O2E9Yzw8MjQ+PjI0PT0xMTk/YXw1MTI6YTtyZXR1
cm4gKGM8PDI0Pj4yND09OTc/YXwxMDI0OmEpfDB9ZnVuY3Rpb24gQjEoYSxjKXthPWF8MDtjPWN8
MDt2YXIgZD0wLGU9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2s9dDt0PXQrNjR8MDtqPWsrNDB8MDto
PWsrMjR8MDtnPWsrMTZ8MDtlPWs7aT1rKzU2fDA7aWYoeDEoMTUxMjA5LGJbYz4+MF18MCl8MCl7
ZD1MXygxMTU2KXwwO2lmKCFkKWQ9MDtlbHNle1MzKGR8MCwwLDEyNCl8MDtpZighKHgxKGMsNDMp
fDApKWZbZD4+Ml09KGJbYz4+MF18MCk9PTExND84OjQ7aWYoeDEoYywxMDEpfDApe2ZbZT4+Ml09
YTtmW2UrND4+Ml09MjtmW2UrOD4+Ml09MTtMYSgyMjEsZXwwKXwwfWlmKChiW2M+PjBdfDApPT05
Nyl7ZltnPj4yXT1hO2ZbZys0Pj4yXT0zO2M9TGEoMjIxLGd8MCl8MDtpZighKGMmMTAyNCkpe2Zb
aD4+Ml09YTtmW2grND4+Ml09NDtmW2grOD4+Ml09Y3wxMDI0O0xhKDIyMSxofDApfDB9ZT1mW2Q+
PjJdfDEyODtmW2Q+PjJdPWV9ZWxzZSBlPWZbZD4+Ml18MDtmW2QrNjA+PjJdPWE7ZltkKzQ0Pj4y
XT1kKzEzMjtmW2QrNDg+PjJdPTEwMjQ7Yz1kKzc1fDA7YltjPj4wXT0tMTtpZigoZSY4fDApPT0w
PyhmW2o+PjJdPWEsZltqKzQ+PjJdPTIxNTIzLGZbais4Pj4yXT1pLChQYSg1NCxqfDApfDApPT0w
KTowKWJbYz4+MF09MTA7ZltkKzMyPj4yXT0xODtmW2QrMzY+PjJdPTE1O2ZbZCs0MD4+Ml09MTY7
ZltkKzEyPj4yXT0xNztpZighKGZbNDg2ODFdfDApKWZbZCs3Nj4+Ml09LTE7QzEoZCl8MH19ZWxz
ZXtkPVhfKCl8MDtmW2Q+PjJdPTIyO2Q9MH10PWs7cmV0dXJuIGR8MH1mdW5jdGlvbiBDMShhKXth
PWF8MDt2YXIgYj0wLGM9MDtiPUQxKCl8MDtmW2ErNTY+PjJdPWZbYj4+Ml07Yz1mW2I+PjJdfDA7
aWYoY3wwKWZbYys1Mj4+Ml09YTtmW2I+PjJdPWE7RTEoKTtyZXR1cm4gYXwwfWZ1bmN0aW9uIEQx
KCl7QWEoMTk0Nzg0KTtyZXR1cm4gMTk0NzkyfWZ1bmN0aW9uIEUxKCl7U2EoMTk0Nzg0KTtyZXR1
cm59ZnVuY3Rpb24gRjEoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wLGU9MCxnPTA7aWYoKGZbYSs3
Nj4+Ml18MCk+LTEpZT1pJChhKXwwO2Vsc2UgZT0wO0cxKGEpO2c9KGZbYT4+Ml0mMXwwKSE9MDtp
ZighZyl7ZD1EMSgpfDA7Yz1mW2ErNTI+PjJdfDA7Yj1hKzU2fDA7aWYoY3wwKWZbYys1Nj4+Ml09
ZltiPj4yXTtiPWZbYj4+Ml18MDtpZihifDApZltiKzUyPj4yXT1jO2lmKChmW2Q+PjJdfDApPT0o
YXwwKSlmW2Q+PjJdPWI7RTEoKX1iPUgxKGEpfDA7Yj10YltmW2ErMTI+PjJdJjYzXShhKXwwfGI7
Yz1mW2ErOTI+PjJdfDA7aWYoY3wwKU1fKGMpO2lmKGcpe2lmKGV8MClqJChhKX1lbHNlIE1fKGEp
O3JldHVybiBifDB9ZnVuY3Rpb24gRzEoYSl7YT1hfDA7dmFyIGI9MDtpZihmW2ErNjg+PjJdfDAp
e2I9ZlthKzExNj4+Ml18MDthPWErMTEyfDA7aWYoYnwwKWZbYisxMTI+PjJdPWZbYT4+Ml07YT1m
W2E+PjJdfDA7aWYoIWEpYT0oSjEoKXwwKSsyMzJ8MDtlbHNlIGE9YSsxMTZ8MDtmW2E+PjJdPWJ9
cmV0dXJufWZ1bmN0aW9uIEgxKGEpe2E9YXwwO3ZhciBiPTAsYz0wO2RvIGlmKGEpe2lmKChmW2Er
NzY+PjJdfDApPD0tMSl7Yj1JMShhKXwwO2JyZWFrfWM9KGkkKGEpfDApPT0wO2I9STEoYSl8MDtp
ZighYylqJChhKX1lbHNle2lmKCEoZlsxOTUyMV18MCkpYj0wO2Vsc2UgYj1IMShmWzE5NTIxXXww
KXwwO2E9RDEoKXwwO2E9ZlthPj4yXXwwO2lmKGEpZG97aWYoKGZbYSs3Nj4+Ml18MCk+LTEpYz1p
JChhKXwwO2Vsc2UgYz0wO2lmKChmW2ErMjA+PjJdfDApPj4+MD4oZlthKzI4Pj4yXXwwKT4+PjAp
Yj1JMShhKXwwfGI7aWYoY3wwKWokKGEpO2E9ZlthKzU2Pj4yXXwwfXdoaWxlKChhfDApIT0wKTtF
MSgpfXdoaWxlKDApO3JldHVybiBifDB9ZnVuY3Rpb24gSTEoYSl7YT1hfDA7dmFyIGI9MCxjPTAs
ZD0wLGU9MCxnPTAsaD0wO2I9YSsyMHwwO2g9YSsyOHwwO2lmKChmW2I+PjJdfDApPj4+MD4oZlto
Pj4yXXwwKT4+PjA/KHdiW2ZbYSszNj4+Ml0mNjNdKGEsMCwwKXwwLChmW2I+PjJdfDApPT0wKTow
KWE9LTE7ZWxzZXtjPWErNHwwO2Q9ZltjPj4yXXwwO2U9YSs4fDA7Zz1mW2U+PjJdfDA7aWYoZD4+
PjA8Zz4+PjApd2JbZlthKzQwPj4yXSY2M10oYSxkLWd8MCwxKXwwO2ZbYSsxNj4+Ml09MDtmW2g+
PjJdPTA7ZltiPj4yXT0wO2ZbZT4+Ml09MDtmW2M+PjJdPTA7YT0wfXJldHVybiBhfDB9ZnVuY3Rp
b24gSjEoKXtyZXR1cm4gQSQoKXwwfWZ1bmN0aW9uIEsxKGEsYyxkKXthPWF8MDtjPWN8MDtkPWR8
MDt2YXIgZT0wLGc9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wO2lmKChmW2QrNzY+
PjJdfDApPi0xKW09aSQoZCl8MDtlbHNlIG09MDtlPWMrLTF8MDtpZigoY3wwKTwyKXtuPWQrNzR8
MDtsPWJbbj4+MF18MDtiW24+PjBdPWwrMjU1fGw7aWYobXwwKWokKGQpO2lmKCFlKWJbYT4+MF09
MDtlbHNlIGE9MH1lbHNle2E6ZG8gaWYoZSl7az1kKzR8MDtsPWQrOHwwO2M9YTt3aGlsZSgxKXtn
PWZbaz4+Ml18MDtvPWc7cD0oZltsPj4yXXwwKS1vfDA7aj1yJChnLDEwLHApfDA7aT0oanwwKT09
MDtqPWk/cDoxLW8ranwwO2o9aj4+PjA8ZT4+PjA/ajplO1EzKGN8MCxnfDAsanwwKXwwO2c9KGZb
az4+Ml18MCkranwwO2Zbaz4+Ml09ZztjPWMranwwO2o9ZS1qfDA7aWYoIShpJihqfDApIT0wKSl7
bj0xNzticmVhayBhfWlmKGc+Pj4wPj0oZltsPj4yXXwwKT4+PjApe2U9USQoZCl8MDtpZigoZXww
KTwwKWJyZWFrO2Vsc2UgZz1lfWVsc2V7ZltrPj4yXT1nKzE7Zz1oW2c+PjBdfDB9aT1jKzF8MDti
W2M+PjBdPWc7ZT1qKy0xfDA7aWYoKGcmMjU1fDApPT0xMHwoZXwwKT09MCl7Yz1pO249MTc7YnJl
YWsgYX1lbHNlIGM9aX1pZigoY3wwKSE9KGF8MCk/KGZbZD4+Ml0mMTZ8MCkhPTA6MCluPTE3O2Vs
c2UgYT0wfWVsc2V7Yz1hO249MTd9d2hpbGUoMCk7aWYoKG58MCk9PTE3KWlmKCFhKWE9MDtlbHNl
IGJbYz4+MF09MDtpZihtKWokKGQpfXJldHVybiBhfDB9ZnVuY3Rpb24gTDEoYSl7YT1hfDA7dmFy
IGI9MCxjPTA7aWYoKGZbYSs3Nj4+Ml18MCk+LTEpe2M9KGkkKGEpfDApPT0wO2I9KGZbYT4+Ml18
MCk+Pj40JjE7aWYoIWMpaiQoYSl9ZWxzZSBiPShmW2E+PjJdfDApPj4+NCYxO3JldHVybiBifDB9
ZnVuY3Rpb24gTTEoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wO2Q9dDt0PXQr
MTZ8MDtlPWQ7ZltlPj4yXT1jO2M9TjEoYSxiLGUpfDA7dD1kO3JldHVybiBjfDB9ZnVuY3Rpb24g
TjEoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTA7Zz10O3Q9dCsx
Mjh8MDtkPWc7ZT1kO2g9ZSsxMjR8MDtkb3tmW2U+PjJdPTA7ZT1lKzR8MH13aGlsZSgoZXwwKTwo
aHwwKSk7ZltkKzMyPj4yXT0zODtmW2QrNDQ+PjJdPWE7ZltkKzc2Pj4yXT0tMTtmW2QrODQ+PjJd
PWE7aD1QMShkLGIsYyl8MDt0PWc7cmV0dXJuIGh8MH1mdW5jdGlvbiBPMShhLGIsYyl7YT1hfDA7
Yj1ifDA7Yz1jfDA7cmV0dXJuIGUyKGEsYixjKXwwfWZ1bmN0aW9uIFAxKGEsYyxlKXthPWF8MDtj
PWN8MDtlPWV8MDt2YXIgZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbz0wLjAscT0wLHI9MCxzPTAs
dT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsSD0wLEk9MCxK
PTAsSz0wLEw9MCxNPTAsTj0wLE89MDtPPXQ7dD10KzI4OHwwO0k9TysyNjR8MDtKPU87Sz1PKzI2
MHwwO0w9TysyNzJ8MDtpZigoZlthKzc2Pj4yXXwwKT4tMSlOPWkkKGEpfDA7ZWxzZSBOPTA7Zz1i
W2M+PjBdfDA7YTpkbyBpZihnPDwyND4+MjQpe3o9YSs0fDA7QT1hKzEwMHwwO0I9YSsxMDh8MDtD
PWErOHwwO0Q9SisxMHwwO0U9SiszM3wwO0Y9Sis0NnwwO0g9Sis5NHwwO3k9SSs0fDA7az1jO3Y9
MDtjPTA7aT0wO2o9ZztnPTA7Yjp3aGlsZSgxKXtjOmRvIGlmKCEoUCQoaiYyNTUpfDApKXtsPShi
W2s+PjBdfDApPT0zNztkOmRvIGlmKGwpe2o9aysxfDA7bT1iW2o+PjBdfDA7ZTpkbyBzd2l0Y2go
bTw8MjQ+PjI0KXtjYXNlIDM3OmJyZWFrIGQ7Y2FzZSA0Mjp7eD0wO2o9aysyfDA7YnJlYWt9ZGVm
YXVsdDp7aWYoYiQobSYyNTUpfDA/KGJbaysyPj4wXXwwKT09MzY6MCl7eD1RMShlLChoW2o+PjBd
fDApKy00OHwwKXwwO2o9ayszfDA7YnJlYWsgZX13PShmW2U+PjJdfDApKyg0LTEpJn4oNC0xKTt4
PWZbdz4+Ml18MDtmW2U+PjJdPXcrNH19d2hpbGUoMCk7aWYoIShiJChoW2o+PjBdfDApfDApKXtz
PTA7bT1qfWVsc2V7az0wO2Rve2s9KGsqMTB8MCkrLTQ4KyhoW2o+PjBdfDApfDA7aj1qKzF8MH13
aGlsZSgoYiQoaFtqPj4wXXwwKXwwKSE9MCk7cz1rO209an1sPWJbbT4+MF18MDtxPW0rMXwwO2lm
KGw8PDI0Pj4yND09MTA5KXtqPSh4fDApIT0wJjE7aT0wO2s9cTttPW0rMnwwO2w9YltxPj4wXXww
O2c9MH1lbHNle2o9MDtrPW07bT1xfXN3aXRjaChsPDwyND4+MjQpe2Nhc2UgMTA0Ont3PShiW20+
PjBdfDApPT0xMDQ7bD13Py0yOi0xO2s9dz9rKzJ8MDptO2JyZWFrfWNhc2UgMTA4Ont3PShiW20+
PjBdfDApPT0xMDg7bD13PzM6MTtrPXc/aysyfDA6bTticmVha31jYXNlIDEwNjp7bD0zO2s9bTti
cmVha31jYXNlIDExNjpjYXNlIDEyMjp7bD0xO2s9bTticmVha31jYXNlIDc2OntsPTI7az1tO2Jy
ZWFrfWNhc2UgMTEwOmNhc2UgMTEyOmNhc2UgNjc6Y2FzZSA4MzpjYXNlIDkxOmNhc2UgOTk6Y2Fz
ZSAxMTU6Y2FzZSA4ODpjYXNlIDcxOmNhc2UgNzA6Y2FzZSA2OTpjYXNlIDY1OmNhc2UgMTAzOmNh
c2UgMTAyOmNhc2UgMTAxOmNhc2UgOTc6Y2FzZSAxMjA6Y2FzZSAxMTc6Y2FzZSAxMTE6Y2FzZSAx
MDU6Y2FzZSAxMDA6e2w9MDticmVha31kZWZhdWx0OntNPTE0MzticmVhayBifX1yPWhbaz4+MF18
MDt1PShyJjQ3fDApPT0zO3I9dT9yfDMyOnI7dT11PzE6bDtxPXImMjU1O3N3aXRjaChxPDwyND4+
MjQpe2Nhc2UgOTk6e3M9KHN8MCk+MT9zOjE7YnJlYWt9Y2FzZSA5MTpicmVhaztjYXNlIDExMDp7
UjEoeCx1LHYsKCh2fDApPDApPDwzMT4+MzEpO2w9djticmVhayBjfWRlZmF1bHQ6e00kKGEsMCk7
ZG97bD1mW3o+PjJdfDA7aWYobD4+PjA8KGZbQT4+Ml18MCk+Pj4wKXtmW3o+PjJdPWwrMTtsPWhb
bD4+MF18MH1lbHNlIGw9TyQoYSl8MH13aGlsZSgoUCQobCl8MCkhPTApO2lmKCEoZltBPj4yXXww
KSlsPWZbej4+Ml18MDtlbHNle2w9KGZbej4+Ml18MCkrLTF8MDtmW3o+PjJdPWx9dj0oZltCPj4y
XXwwKSt2K2wtKGZbQz4+Ml18MCl8MH19TSQoYSxzKTttPWZbej4+Ml18MDtsPWZbQT4+Ml18MDtp
ZihtPj4+MDxsPj4+MClmW3o+PjJdPW0rMTtlbHNle2lmKChPJChhKXwwKTwwKXtNPTE0MzticmVh
ayBifWw9ZltBPj4yXXwwfWlmKGx8MClmW3o+PjJdPShmW3o+PjJdfDApKy0xO2Y6ZG8gc3dpdGNo
KHE8PDI0Pj4yNCl7Y2FzZSA5MTpjYXNlIDk5OmNhc2UgMTE1Ont3PShyfDApPT05OTtnOmRvIGlm
KChyfDE2fDApPT0xMTUpe1MzKEp8MCwtMSwyNTcpfDA7YltKPj4wXT0wO2lmKChyfDApPT0xMTUp
e2JbRT4+MF09MDtkW0Q+PjFdPTA7ZFtEKzI+PjFdPTA7YltEKzQ+PjBdPTB9fWVsc2V7cj1rKzF8
MDtxPShiW3I+PjBdfDApPT05NDtsPXEmMTtrPXE/aysyfDA6cjtTMyhKfDAsbHwwLDI1Nyl8MDti
W0o+PjBdPTA7c3dpdGNoKGJbaz4+MF18MCl7Y2FzZSA0NTp7cT0obF4xKSYyNTU7YltGPj4wXT1x
O2s9aysxfDA7YnJlYWt9Y2FzZSA5Mzp7cT0obF4xKSYyNTU7YltIPj4wXT1xO2s9aysxfDA7YnJl
YWt9ZGVmYXVsdDpxPShsXjEpJjI1NX13aGlsZSgxKXtsPWJbaz4+MF18MDtoOmRvIHN3aXRjaChs
PDwyND4+MjQpe2Nhc2UgMDp7TT0xNDM7YnJlYWsgYn1jYXNlIDkzOmJyZWFrIGc7Y2FzZSA0NTp7
bT1rKzF8MDtsPWJbbT4+MF18MDtzd2l0Y2gobDw8MjQ+PjI0KXtjYXNlIDkzOmNhc2UgMDp7bD00
NTticmVhayBofWRlZmF1bHQ6e319az1iW2srLTE+PjBdfDA7aWYoKGsmMjU1KTwobCYyNTUpKXtr
PWsmMjU1O2Rve2s9aysxfDA7YltKK2s+PjBdPXE7bD1iW20+PjBdfDB9d2hpbGUoaz4+PjA8KGwm
MjU1KT4+PjApO2s9bX1lbHNlIGs9bTticmVha31kZWZhdWx0Ont9fXdoaWxlKDApO2JbSisoKGwm
MjU1KSsxKT4+MF09cTtrPWsrMXwwfX13aGlsZSgwKTtsPXc/cysxfDA6MzE7cj0odXwwKT09MTt1
PShqfDApIT0wO2k6ZG8gaWYocil7aWYodSl7Zz1MXyhsPDwyKXwwO2lmKCFnKXtpPTA7Zz0wO009
MTQzO2JyZWFrIGJ9fWVsc2UgZz14O2ZbST4+Ml09MDtmW3k+PjJdPTA7aT0wO2o6d2hpbGUoMSl7
cT0oZ3wwKT09MDtkb3trOndoaWxlKDEpe209Zlt6Pj4yXXwwO2lmKG0+Pj4wPChmW0E+PjJdfDAp
Pj4+MCl7Zlt6Pj4yXT1tKzE7bT1oW20+PjBdfDB9ZWxzZSBtPU8kKGEpfDA7aWYoIShiW0orKG0r
MSk+PjBdfDApKWJyZWFrIGo7YltMPj4wXT1tO3N3aXRjaChTMShLLEwsMSxJKXwwKXtjYXNlIC0x
OntpPTA7TT0xNDM7YnJlYWsgYn1jYXNlIC0yOmJyZWFrO2RlZmF1bHQ6YnJlYWsga319aWYoIXEp
e2ZbZysoaTw8Mik+PjJdPWZbSz4+Ml07aT1pKzF8MH19d2hpbGUoISh1JihpfDApPT0obHwwKSkp
O2w9bDw8MXwxO209T18oZyxsPDwyKXwwO2lmKCFtKXtpPTA7TT0xNDM7YnJlYWsgYn1lbHNlIGc9
bX1pZighKFQxKEkpfDApKXtpPTA7TT0xNDM7YnJlYWsgYn1lbHNle3E9aTtpPTA7bT1nfX1lbHNl
e2lmKHUpe2k9TF8obCl8MDtpZighaSl7aT0wO2c9MDtNPTE0MzticmVhayBifWc9MDt3aGlsZSgx
KXtxPWc7ZG97Zz1mW3o+PjJdfDA7aWYoZz4+PjA8KGZbQT4+Ml18MCk+Pj4wKXtmW3o+PjJdPWcr
MTtnPWhbZz4+MF18MH1lbHNlIGc9TyQoYSl8MDtpZighKGJbSisoZysxKT4+MF18MCkpe209MDtn
PTA7YnJlYWsgaX1tPXE7cT1xKzF8MDtiW2krbT4+MF09Z313aGlsZSgocXwwKSE9KGx8MCkpO2w9
bDw8MXwxO209T18oaSxsKXwwO2lmKCFtKXtnPTA7TT0xNDM7YnJlYWsgYn1lbHNle2c9cTtpPW19
fX1pZigheCl3aGlsZSgxKXtnPWZbej4+Ml18MDtpZihnPj4+MDwoZltBPj4yXXwwKT4+PjApe2Zb
ej4+Ml09ZysxO2c9aFtnPj4wXXwwfWVsc2UgZz1PJChhKXwwO2lmKCEoYltKKyhnKzEpPj4wXXww
KSl7cT0wO2k9MDttPTA7Zz0wO2JyZWFrIGl9fWk9MDt3aGlsZSgxKXtnPWZbej4+Ml18MDtpZihn
Pj4+MDwoZltBPj4yXXwwKT4+PjApe2Zbej4+Ml09ZysxO2c9aFtnPj4wXXwwfWVsc2UgZz1PJChh
KXwwO2lmKCEoYltKKyhnKzEpPj4wXXwwKSl7cT1pO2k9eDttPTA7Zz0wO2JyZWFrIGl9Ylt4K2k+
PjBdPWc7aT1pKzF8MH19d2hpbGUoMCk7aWYoIShmW0E+PjJdfDApKWw9Zlt6Pj4yXXwwO2Vsc2V7
bD0oZlt6Pj4yXXwwKSstMXwwO2Zbej4+Ml09bH1sPWwtKGZbQz4+Ml18MCkrKGZbQj4+Ml18MCl8
MDtpZighbClicmVhayBiO2lmKCEoKGx8MCk9PShzfDApfHdeMSkpYnJlYWsgYjtkbyBpZih1KWlm
KHIpe2ZbeD4+Ml09bTticmVha31lbHNle2ZbeD4+Ml09aTticmVha313aGlsZSgwKTtpZighdyl7
aWYobXwwKWZbbSsocTw8Mik+PjJdPTA7aWYoIWkpe2k9MDticmVhayBmfWJbaStxPj4wXT0wfWJy
ZWFrfWNhc2UgMTIwOmNhc2UgODg6Y2FzZSAxMTI6e2w9MTY7TT0xMzE7YnJlYWt9Y2FzZSAxMTE6
e2w9ODtNPTEzMTticmVha31jYXNlIDExNzpjYXNlIDEwMDp7bD0xMDtNPTEzMTticmVha31jYXNl
IDEwNTp7bD0wO009MTMxO2JyZWFrfWNhc2UgNzE6Y2FzZSAxMDM6Y2FzZSA3MDpjYXNlIDEwMjpj
YXNlIDY5OmNhc2UgMTAxOmNhc2UgNjU6Y2FzZSA5Nzp7bz0rVTEoYSx1LDApO2lmKChmW0I+PjJd
fDApPT0oKGZbQz4+Ml18MCktKGZbej4+Ml18MCl8MCkpYnJlYWsgYjtpZih4KXN3aXRjaCh1fDAp
e2Nhc2UgMDp7blt4Pj4yXT1vO2JyZWFrIGZ9Y2FzZSAxOntwW3g+PjNdPW87YnJlYWsgZn1jYXNl
IDI6e3BbeD4+M109bzticmVhayBmfWRlZmF1bHQ6YnJlYWsgZn1icmVha31kZWZhdWx0Ont9fXdo
aWxlKDApO2RvIGlmKChNfDApPT0xMzEpe009MDtsPU4kKGEsbCwwLC0xLC0xKXwwO2lmKChmW0I+
PjJdfDApPT0oKGZbQz4+Ml18MCktKGZbej4+Ml18MCl8MCkpYnJlYWsgYjtpZigoeHwwKSE9MCYo
cnwwKT09MTEyKXtmW3g+PjJdPWw7YnJlYWt9ZWxzZXtSMSh4LHUsbCxHKTticmVha319d2hpbGUo
MCk7Yz1jKygoeHwwKSE9MCYxKXwwO2w9KGZbQj4+Ml18MCkrdisoZlt6Pj4yXXwwKS0oZltDPj4y
XXwwKXwwO2JyZWFrIGN9d2hpbGUoMCk7az1rKyhsJjEpfDA7TSQoYSwwKTtqPWZbej4+Ml18MDtp
ZihqPj4+MDwoZltBPj4yXXwwKT4+PjApe2Zbej4+Ml09aisxO2o9aFtqPj4wXXwwfWVsc2Ugaj1P
JChhKXwwO2lmKChqfDApIT0oaFtrPj4wXXwwKSl7TT0yMzticmVhayBifWw9disxfDB9ZWxzZXt3
aGlsZSgxKXtqPWsrMXwwO2lmKCEoUCQoaFtqPj4wXXwwKXwwKSlicmVhaztlbHNlIGs9an1NJChh
LDApO2Rve2o9Zlt6Pj4yXXwwO2lmKGo+Pj4wPChmW0E+PjJdfDApPj4+MCl7Zlt6Pj4yXT1qKzE7
aj1oW2o+PjBdfDB9ZWxzZSBqPU8kKGEpfDB9d2hpbGUoKFAkKGopfDApIT0wKTtpZighKGZbQT4+
Ml18MCkpaj1mW3o+PjJdfDA7ZWxzZXtqPShmW3o+PjJdfDApKy0xfDA7Zlt6Pj4yXT1qfWw9KGZb
Qj4+Ml18MCkrditqLShmW0M+PjJdfDApfDB9d2hpbGUoMCk7az1rKzF8MDtqPWJbaz4+MF18MDtp
ZighKGo8PDI0Pj4yNCkpYnJlYWsgYTtlbHNlIHY9bH1pZigoTXwwKT09MjMpe2lmKGZbQT4+Ml18
MClmW3o+PjJdPShmW3o+PjJdfDApKy0xO2lmKChjfDApIT0wfChqfDApPi0xKWJyZWFrO2Vsc2V7
aj0wO2M9aTtNPTE0NH19ZWxzZSBpZigoTXwwKT09MTQzKWlmKCFjKXtjPWk7TT0xNDR9aWYoKE18
MCk9PTE0NCl7aT1jO2M9LTF9aWYoail7TV8oaSk7TV8oZyl9fWVsc2UgYz0wO3doaWxlKDApO2lm
KE58MClqJChhKTt0PU87cmV0dXJuIGN8MH1mdW5jdGlvbiBRMShhLGIpe2E9YXwwO2I9YnwwO3Zh
ciBjPTAsZD0wLGU9MDtkPXQ7dD10KzE2fDA7Yz1kO2ZbYz4+Ml09ZlthPj4yXTt3aGlsZSgxKXtl
PShmW2M+PjJdfDApKyg0LTEpJn4oNC0xKTthPWZbZT4+Ml18MDtmW2M+PjJdPWUrNDtpZihiPj4+
MD4xKWI9YistMXwwO2Vsc2UgYnJlYWt9dD1kO3JldHVybiBhfDB9ZnVuY3Rpb24gUjEoYSxjLGUs
Zyl7YT1hfDA7Yz1jfDA7ZT1lfDA7Zz1nfDA7YTpkbyBpZihhfDApc3dpdGNoKGN8MCl7Y2FzZSAt
Mjp7YlthPj4wXT1lO2JyZWFrIGF9Y2FzZSAtMTp7ZFthPj4xXT1lO2JyZWFrIGF9Y2FzZSAwOntm
W2E+PjJdPWU7YnJlYWsgYX1jYXNlIDE6e2ZbYT4+Ml09ZTticmVhayBhfWNhc2UgMzp7Yz1hO2Zb
Yz4+Ml09ZTtmW2MrND4+Ml09ZzticmVhayBhfWRlZmF1bHQ6YnJlYWsgYX13aGlsZSgwKTtyZXR1
cm59ZnVuY3Rpb24gUzEoYSxjLGQsZSl7YT1hfDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGc9MCxp
PTAsaj0wLGs9MCxsPTAsbT0wO2w9dDt0PXQrMTZ8MDtnPWw7aj0oZXwwKT09MD8xOTQ3OTY6ZTtl
PWZbaj4+Ml18MDthOmRvIGlmKCFjKWlmKCFlKWU9MDtlbHNlIGs9MTk7ZWxzZXtpPShhfDApPT0w
P2c6YTtpZighZCllPS0yO2Vsc2V7aWYoIWUpe2U9YltjPj4wXXwwO2lmKGU8PDI0Pj4yND4tMSl7
ZltpPj4yXT1lJjI1NTtlPWU8PDI0Pj4yNCE9MCYxO2JyZWFrfWc9KGQyKCl8MCkrMTg4fDA7ZT1i
W2M+PjBdfDA7aWYoIShmW2ZbZz4+Ml0+PjJdfDApKXtmW2k+PjJdPWU8PDI0Pj4yNCY1NzM0Mztl
PTE7YnJlYWt9ZT0oZSYyNTUpKy0xOTR8MDtpZihlPj4+MD41MCl7az0xOTticmVha31lPWZbNTU1
ODQrKGU8PDIpPj4yXXwwO2c9ZCstMXwwO2lmKGcpe2M9YysxfDA7az0xMX19ZWxzZXtnPWQ7az0x
MX1iOmRvIGlmKChrfDApPT0xMSl7YT1oW2M+PjBdfDA7bT1hPj4+MztpZigobSstMTZ8bSsoZT4+
MjYpKT4+PjA+Nyl7az0xOTticmVhayBhfWU9YSstMTI4fGU8PDY7YT1nKy0xfDA7aWYoKGV8MCk8
MClkb3tjPWMrMXwwO2lmKCFhKWJyZWFrIGI7Zz1iW2M+PjBdfDA7aWYoKGcmLTY0KTw8MjQ+PjI0
IT0tMTI4KXtrPTE5O2JyZWFrIGF9ZT0oZyYyNTUpKy0xMjh8ZTw8NjthPWErLTF8MH13aGlsZSgo
ZXwwKTwwKTtmW2o+PjJdPTA7ZltpPj4yXT1lO2U9ZC1hfDA7YnJlYWsgYX13aGlsZSgwKTtmW2o+
PjJdPWU7ZT0tMn19d2hpbGUoMCk7aWYoKGt8MCk9PTE5KXtmW2o+PjJdPTA7ZT1YXygpfDA7Zltl
Pj4yXT04NDtlPS0xfXQ9bDtyZXR1cm4gZXwwfWZ1bmN0aW9uIFQxKGEpe2E9YXwwO2lmKCFhKWE9
MTtlbHNlIGE9KGZbYT4+Ml18MCk9PTAmMTtyZXR1cm4gYXwwfWZ1bmN0aW9uIFUxKGEsYyxkKXth
PWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLjAsZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89
MDtzd2l0Y2goY3wwKXtjYXNlIDA6e2w9LTE0OTttPTI0O2o9NDticmVha31jYXNlIDE6e2w9LTEw
NzQ7bT01MztqPTQ7YnJlYWt9Y2FzZSAyOntsPS0xMDc0O209NTM7aj00O2JyZWFrfWRlZmF1bHQ6
ZT0wLjB9YTpkbyBpZigoanwwKT09NCl7bz1hKzR8MDtuPWErMTAwfDA7ZG97Yz1mW28+PjJdfDA7
aWYoYz4+PjA8KGZbbj4+Ml18MCk+Pj4wKXtmW28+PjJdPWMrMTtjPWhbYz4+MF18MH1lbHNlIGM9
TyQoYSl8MH13aGlsZSgoUCQoYyl8MCkhPTApO2I6ZG8gc3dpdGNoKGN8MCl7Y2FzZSA0MzpjYXNl
IDQ1OntpPTEtKCgoY3wwKT09NDUmMSk8PDEpfDA7Yz1mW28+PjJdfDA7aWYoYz4+PjA8KGZbbj4+
Ml18MCk+Pj4wKXtmW28+PjJdPWMrMTtnPWhbYz4+MF18MDticmVhayBifWVsc2V7Zz1PJChhKXww
O2JyZWFrIGJ9fWRlZmF1bHQ6e2c9YztpPTF9fXdoaWxlKDApO2M9MDt3aGlsZSgxKXtpZigoZ3wz
MnwwKSE9KGJbMTUxMjEzK2M+PjBdfDApKWJyZWFrO2RvIGlmKGM+Pj4wPDcpe2c9ZltvPj4yXXww
O2lmKGc+Pj4wPChmW24+PjJdfDApPj4+MCl7ZltvPj4yXT1nKzE7Zz1oW2c+PjBdfDA7YnJlYWt9
ZWxzZXtnPU8kKGEpfDA7YnJlYWt9fXdoaWxlKDApO2M9YysxfDA7aWYoYz4+PjA+PTgpe2M9ODti
cmVha319YzpkbyBzd2l0Y2goYyYyMTQ3NDgzNjQ3fDApe2Nhc2UgODpicmVhaztjYXNlIDM6e2o9
MjM7YnJlYWt9ZGVmYXVsdDp7az0oZHwwKSE9MDtpZihrJmM+Pj4wPjMpaWYoKGN8MCk9PTgpYnJl
YWsgYztlbHNle2o9MjM7YnJlYWsgY31kOmRvIGlmKCFjKXtjPTA7d2hpbGUoMSl7aWYoKGd8MzJ8
MCkhPShiWzE1MTIyMitjPj4wXXwwKSlicmVhayBkO2RvIGlmKGM+Pj4wPDIpe2c9ZltvPj4yXXww
O2lmKGc+Pj4wPChmW24+PjJdfDApPj4+MCl7ZltvPj4yXT1nKzE7Zz1oW2c+PjBdfDA7YnJlYWt9
ZWxzZXtnPU8kKGEpfDA7YnJlYWt9fXdoaWxlKDApO2M9YysxfDA7aWYoYz4+PjA+PTMpe2M9Mzti
cmVha319fXdoaWxlKDApO3N3aXRjaChjfDApe2Nhc2UgMzp7Yz1mW28+PjJdfDA7aWYoYz4+PjA8
KGZbbj4+Ml18MCk+Pj4wKXtmW28+PjJdPWMrMTtjPWhbYz4+MF18MH1lbHNlIGM9TyQoYSl8MDtp
ZigoY3wwKSE9NDApe2lmKCEoZltuPj4yXXwwKSl7ZT16O2JyZWFrIGF9ZltvPj4yXT0oZltvPj4y
XXwwKSstMTtlPXo7YnJlYWsgYX1jPTE7d2hpbGUoMSl7Zz1mW28+PjJdfDA7aWYoZz4+PjA8KGZb
bj4+Ml18MCk+Pj4wKXtmW28+PjJdPWcrMTtnPWhbZz4+MF18MH1lbHNlIGc9TyQoYSl8MDtpZigh
KChnKy00OHwwKT4+PjA8MTB8KGcrLTY1fDApPj4+MDwyNik/ISgoZ3wwKT09OTV8KGcrLTk3fDAp
Pj4+MDwyNik6MClicmVhaztjPWMrMXwwfWlmKChnfDApPT00MSl7ZT16O2JyZWFrIGF9Zz0oZltu
Pj4yXXwwKT09MDtpZighZylmW28+PjJdPShmW28+PjJdfDApKy0xO2lmKCFrKXtvPVhfKCl8MDtm
W28+PjJdPTIyO00kKGEsMCk7ZT0wLjA7YnJlYWsgYX1pZighYyl7ZT16O2JyZWFrIGF9d2hpbGUo
MSl7Yz1jKy0xfDA7aWYoIWcpZltvPj4yXT0oZltvPj4yXXwwKSstMTtpZighYyl7ZT16O2JyZWFr
IGF9fX1jYXNlIDA6e2lmKChnfDApPT00OCl7Yz1mW28+PjJdfDA7aWYoYz4+PjA8KGZbbj4+Ml18
MCk+Pj4wKXtmW28+PjJdPWMrMTtjPWhbYz4+MF18MH1lbHNlIGM9TyQoYSl8MDtpZigoY3wzMnww
KT09MTIwKXtlPStWMShhLG0sbCxpLGQpO2JyZWFrIGF9aWYoIShmW24+PjJdfDApKWM9NDg7ZWxz
ZXtmW28+PjJdPShmW28+PjJdfDApKy0xO2M9NDh9fWVsc2UgYz1nO2U9K1cxKGEsYyxtLGwsaSxk
KTticmVhayBhfWRlZmF1bHQ6e2lmKGZbbj4+Ml18MClmW28+PjJdPShmW28+PjJdfDApKy0xO289
WF8oKXwwO2Zbbz4+Ml09MjI7TSQoYSwwKTtlPTAuMDticmVhayBhfX19fXdoaWxlKDApO2lmKChq
fDApPT0yMyl7Zz0oZltuPj4yXXwwKT09MDtpZighZylmW28+PjJdPShmW28+PjJdfDApKy0xO2lm
KChkfDApIT0wJmM+Pj4wPjMpZG97aWYoIWcpZltvPj4yXT0oZltvPj4yXXwwKSstMTtjPWMrLTF8
MH13aGlsZShjPj4+MD4zKX1lPSsoaXwwKSpBfXdoaWxlKDApO3JldHVybiArZX1mdW5jdGlvbiBW
MShhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAuMCxpPTAs
aj0wLGs9MC4wLGw9MCxtPTAsbj0wLjAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3
PTAseD0wLHk9MDt5PWErNHwwO2k9Zlt5Pj4yXXwwO3g9YSsxMDB8MDtpZihpPj4+MDwoZlt4Pj4y
XXwwKT4+PjApe2ZbeT4+Ml09aSsxO2k9aFtpPj4wXXwwfWVsc2UgaT1PJChhKXwwO2o9MDthOndo
aWxlKDEpe3N3aXRjaChpfDApe2Nhc2UgNDY6e3c9MTA7YnJlYWsgYX1jYXNlIDQ4OmJyZWFrO2Rl
ZmF1bHQ6e3A9MDttPWo7bD0wO2o9MDticmVhayBhfX1pPWZbeT4+Ml18MDtpZihpPj4+MDwoZlt4
Pj4yXXwwKT4+PjApe2ZbeT4+Ml09aSsxO2k9aFtpPj4wXXwwfWVsc2UgaT1PJChhKXwwO2o9MX1p
Zigod3wwKT09MTApe2k9Zlt5Pj4yXXwwO2lmKGk+Pj4wPChmW3g+PjJdfDApPj4+MCl7Zlt5Pj4y
XT1pKzE7aT1oW2k+PjBdfDB9ZWxzZSBpPU8kKGEpfDA7aWYoKGl8MCk9PTQ4KXtsPTA7aj0wO2Rv
e2k9Zlt5Pj4yXXwwO2lmKGk+Pj4wPChmW3g+PjJdfDApPj4+MCl7Zlt5Pj4yXT1pKzE7aT1oW2k+
PjBdfDB9ZWxzZSBpPU8kKGEpfDA7bD1FMyhsfDAsanwwLC0xLC0xKXwwO2o9R313aGlsZSgoaXww
KT09NDgpO3A9MTttPTF9ZWxzZXtwPTE7bT1qO2w9MDtqPTB9fW89MDtuPTEuMDtnPTAuMDt2PTA7
cz1wO3Q9bTt1PTA7bT0wO3doaWxlKDEpe3E9aSstNDh8MDtwPWl8MzI7aWYocT4+PjA+PTEwKXty
PShpfDApPT00NjtpZighKHJ8KHArLTk3fDApPj4+MDw2KSlicmVhaztpZihyKWlmKCFzKXtzPTE7
az1uO3E9djtyPXQ7bD1tO2o9dTtwPXV9ZWxzZXtpPTQ2O2JyZWFrfWVsc2Ugdz0yNH1lbHNlIHc9
MjQ7aWYoKHd8MCk9PTI0KXt3PTA7aT0oaXwwKT41Nz9wKy04N3wwOnE7ZG8gaWYoISgodXwwKTww
fCh1fDApPT0wJm0+Pj4wPDgpKWlmKCh1fDApPDB8KHV8MCk9PTAmbT4+PjA8MTQpe249biouMDYy
NTtrPW47Zz1nK24qKyhpfDApO2k9djticmVha31lbHNle2k9KG98MCkhPTB8KGl8MCk9PTA7bz1p
P286MTtrPW47Zz1pP2c6ZytuKi41O2k9djticmVha31lbHNle2s9bjtpPWkrKHY8PDQpfDB9d2hp
bGUoMCk7bT1FMyhtfDAsdXwwLDEsMCl8MDtxPWk7cj0xO3A9R31pPWZbeT4+Ml18MDtpZihpPj4+
MDwoZlt4Pj4yXXwwKT4+PjApe2ZbeT4+Ml09aSsxO2k9aFtpPj4wXXwwfWVsc2UgaT1PJChhKXww
O249azt2PXE7dD1yO3U9cH1kbyBpZighdCl7aT0oZlt4Pj4yXXwwKT09MDtpZighaSlmW3k+PjJd
PShmW3k+PjJdfDApKy0xO2lmKGUpe2lmKCFpPyhmW3k+PjJdPShmW3k+PjJdfDApKy0xLCEoKHN8
MCk9PTB8aSkpOjApZlt5Pj4yXT0oZlt5Pj4yXXwwKSstMX1lbHNlIE0kKGEsMCk7Zz0rKGR8MCkq
MC4wfWVsc2V7bz0oc3wwKT09MDtwPW8/bTpsO289bz91Omo7aWYoKHV8MCk8MHwodXwwKT09MCZt
Pj4+MDw4KXtqPXY7bD11O3doaWxlKDEpe2o9ajw8NDt3PW07bT1FMyhtfDAsbHwwLDEsMCl8MDtp
ZighKChsfDApPDB8KGx8MCk9PTAmdz4+PjA8Nykpe209ajticmVha31lbHNlIGw9R319ZWxzZSBt
PXY7aWYoKGl8MzJ8MCk9PTExMil7aj1YMShhLGUpfDA7aT1HO2lmKChqfDApPT0wJihpfDApPT0t
MjE0NzQ4MzY0OCl7aWYoIWUpe00kKGEsMCk7Zz0wLjA7YnJlYWt9aWYoIShmW3g+PjJdfDApKXtq
PTA7aT0wfWVsc2V7Zlt5Pj4yXT0oZlt5Pj4yXXwwKSstMTtqPTA7aT0wfX19ZWxzZSBpZighKGZb
eD4+Ml18MCkpe2o9MDtpPTB9ZWxzZXtmW3k+PjJdPShmW3k+PjJdfDApKy0xO2o9MDtpPTB9bD1M
MyhwfDAsb3wwLDIpfDA7bD1FMyhsfDAsR3wwLC0zMiwtMSl8MDtsPUUzKGx8MCxHfDAsanwwLGl8
MCl8MDtpPUc7aWYoIW0pe2c9KyhkfDApKjAuMDticmVha315PTAtY3wwO2U9KCh5fDApPDApPDwz
MT4+MzE7aWYoKGl8MCk+KGV8MCl8KGl8MCk9PShlfDApJmw+Pj4wPnk+Pj4wKXtiPVhfKCl8MDtm
W2I+PjJdPTM0O2c9KyhkfDApKjE3OTc2OTMxMzQ4NjIzMTU3MDgxNDUyNzQuMGUyODQqMTc5NzY5
MzEzNDg2MjMxNTcwODE0NTI3NC4wZTI4NDticmVha315PWMrLTEwNnwwO2U9KCh5fDApPDApPDwz
MT4+MzE7aWYoKGl8MCk8KGV8MCl8KGl8MCk9PShlfDApJmw+Pj4wPHk+Pj4wKXtiPVhfKCl8MDtm
W2I+PjJdPTM0O2c9KyhkfDApKjIuMjI1MDczODU4NTA3MjAxNGUtMzA4KjIuMjI1MDczODU4NTA3
MjAxNGUtMzA4O2JyZWFrfWlmKChtfDApPi0xKXtqPW07ZG97eT0hKGc+PS41KTtqPWo8PDF8KHle
MSkmMTtnPWcrKHk/ZzpnKy0xLjApO2w9RTMobHwwLGl8MCwtMSwtMSl8MDtpPUd9d2hpbGUoKGp8
MCk+LTEpO249ZzttPWp9ZWxzZSBuPWc7eT0oKGJ8MCk8MCk8PDMxPj4zMTtjPUYzKDMyLDAsY3ww
LCgoY3wwKTwwKTw8MzE+PjMxfDApfDA7aT1FMyhjfDAsR3wwLGx8MCxpfDApfDA7Yz1HO2lmKChj
fDApPCh5fDApfChjfDApPT0oeXwwKSZpPj4+MDxiPj4+MClpZigoaXwwKT4wKXc9NjU7ZWxzZXtq
PTA7aT04NDt3PTY3fWVsc2V7aT1iO3c9NjV9aWYoKHd8MCk9PTY1KWlmKChpfDApPDUzKXtqPWk7
aT04NC1pfDA7dz02N31lbHNle2s9MC4wO2c9KyhkfDApfWlmKCh3fDApPT02Nyl7Zz0rKGR8MCk7
az0rWjEoK1kxKDEuMCxpKSxnKTtpPWp9ZD0obSYxfDApPT0wJihuIT0wLjAmKGl8MCk8MzIpO2c9
KGQ/MC4wOm4pKmcrKGsrZyorKChtKyhkJjEpfDApPj4+MCkpLWs7aWYoIShnIT0wLjApKXtkPVhf
KCl8MDtmW2Q+PjJdPTM0fWc9KyQxKGcsbCl9d2hpbGUoMCk7cmV0dXJuICtnfWZ1bmN0aW9uIFcx
KGEsYixjLGQsZSxnKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8MDt2YXIgaT0w
LjAsaj0wLGs9MC4wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLjAscj0wLjAscz0wLHU9MC4wLHY9
MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsSD0wLEo9MC4wO0g9dDt0
PXQrNTEyfDA7RD1IO0U9ZCtjfDA7Rj0wLUV8MDtDPWErNHwwO0I9YSsxMDB8MDtqPTA7YTp3aGls
ZSgxKXtzd2l0Y2goYnwwKXtjYXNlIDQ2Ont6PTc7YnJlYWsgYX1jYXNlIDQ4OmJyZWFrO2RlZmF1
bHQ6e3Y9MDtwPWo7aj0wO289MDticmVhayBhfX1iPWZbQz4+Ml18MDtpZihiPj4+MDwoZltCPj4y
XXwwKT4+PjApe2ZbQz4+Ml09YisxO2I9aFtiPj4wXXwwfWVsc2UgYj1PJChhKXwwO2o9MX1pZigo
enwwKT09Nyl7Yj1mW0M+PjJdfDA7aWYoYj4+PjA8KGZbQj4+Ml18MCk+Pj4wKXtmW0M+PjJdPWIr
MTtiPWhbYj4+MF18MH1lbHNlIGI9TyQoYSl8MDtpZigoYnwwKT09NDgpe2o9MDtiPTA7d2hpbGUo
MSl7aj1FMyhqfDAsYnwwLC0xLC0xKXwwO289RztiPWZbQz4+Ml18MDtpZihiPj4+MDwoZltCPj4y
XXwwKT4+PjApe2ZbQz4+Ml09YisxO2I9aFtiPj4wXXwwfWVsc2UgYj1PJChhKXwwO2lmKChifDAp
PT00OCliPW87ZWxzZXt2PTE7cD0xO2JyZWFrfX19ZWxzZXt2PTE7cD1qO2o9MDtvPTB9fWZbRD4+
Ml09MDtuPWIrLTQ4fDA7bT0oYnwwKT09NDY7YjpkbyBpZihtfG4+Pj4wPDEwKXtBPUQrNDk2fDA7
dz0wO2w9MDtzPTA7eD12O3k9cDt6PW47cD0wO249MDtjOndoaWxlKDEpe2RvIGlmKG0paWYoIXgp
e3g9MTtqPXA7bz1ufWVsc2UgYnJlYWsgYztlbHNle3A9RTMocHwwLG58MCwxLDApfDA7bj1HO3Y9
KGJ8MCkhPTQ4O2lmKChsfDApPj0xMjUpe2lmKCF2KWJyZWFrO2ZbQT4+Ml09ZltBPj4yXXwxO2Jy
ZWFrfW09RCsobDw8Mil8MDtpZighdyliPXo7ZWxzZSBiPWIrLTQ4KygoZlttPj4yXXwwKSoxMHww
KXwwO2ZbbT4+Ml09Yjt3PXcrMXwwO3k9KHd8MCk9PTk7dz15PzA6dztsPWwrKHkmMSl8MDtzPXY/
cDpzO3k9MX13aGlsZSgwKTtiPWZbQz4+Ml18MDtpZihiPj4+MDwoZltCPj4yXXwwKT4+PjApe2Zb
Qz4+Ml09YisxO2I9aFtiPj4wXXwwfWVsc2UgYj1PJChhKXwwO3o9YistNDh8MDttPShifDApPT00
NjtpZighKG18ej4+PjA8MTApKXt2PXg7bT15O3o9MzE7YnJlYWsgYn19Yj13O209KHl8MCkhPTA7
ej0zOX1lbHNle3c9MDtsPTA7cz0wO209cDtwPTA7bj0wO3o9MzF9d2hpbGUoMCk7ZG8gaWYoKHp8
MCk9PTMxKXtBPSh2fDApPT0wO2o9QT9wOmo7bz1BP246bzttPShtfDApIT0wO2lmKCEobSYoYnwz
MnwwKT09MTAxKSlpZigoYnwwKT4tMSl7Yj13O3o9Mzk7YnJlYWt9ZWxzZXtiPXc7ej00MTticmVh
a31tPVgxKGEsZyl8MDtiPUc7aWYoKG18MCk9PTAmKGJ8MCk9PS0yMTQ3NDgzNjQ4KXtpZighZyl7
TSQoYSwwKTtpPTAuMDticmVha31pZighKGZbQj4+Ml18MCkpe209MDtiPTB9ZWxzZXtmW0M+PjJd
PShmW0M+PjJdfDApKy0xO209MDtiPTB9fWo9RTMobXwwLGJ8MCxqfDAsb3wwKXwwO2I9dztvPUc7
ej00M313aGlsZSgwKTtpZigoenwwKT09MzkpaWYoZltCPj4yXXwwKXtmW0M+PjJdPShmW0M+PjJd
fDApKy0xO2lmKG0pej00MztlbHNlIHo9NDJ9ZWxzZSB6PTQxO2lmKCh6fDApPT00MSlpZihtKXo9
NDM7ZWxzZSB6PTQyO2RvIGlmKCh6fDApPT00Mil7Rj1YXygpfDA7ZltGPj4yXT0yMjtNJChhLDAp
O2k9MC4wfWVsc2UgaWYoKHp8MCk9PTQzKXttPWZbRD4+Ml18MDtpZighbSl7aT0rKGV8MCkqMC4w
O2JyZWFrfWlmKCgobnwwKTwwfChufDApPT0wJnA+Pj4wPDEwKSYoKGp8MCk9PShwfDApJihvfDAp
PT0obnwwKSk/KGN8MCk+MzB8KG0+Pj5jfDApPT0wOjApe2k9KyhlfDApKisobT4+PjApO2JyZWFr
fWE9KGR8MCkvLTJ8MDtDPSgoYXwwKTwwKTw8MzE+PjMxO2lmKChvfDApPihDfDApfChvfDApPT0o
Q3wwKSZqPj4+MD5hPj4+MCl7Rj1YXygpfDA7ZltGPj4yXT0zNDtpPSsoZXwwKSoxNzk3NjkzMTM0
ODYyMzE1NzA4MTQ1Mjc0LjBlMjg0KjE3OTc2OTMxMzQ4NjIzMTU3MDgxNDUyNzQuMGUyODQ7YnJl
YWt9YT1kKy0xMDZ8MDtDPSgoYXwwKTwwKTw8MzE+PjMxO2lmKChvfDApPChDfDApfChvfDApPT0o
Q3wwKSZqPj4+MDxhPj4+MCl7Rj1YXygpfDA7ZltGPj4yXT0zNDtpPSsoZXwwKSoyLjIyNTA3Mzg1
ODUwNzIwMTRlLTMwOCoyLjIyNTA3Mzg1ODUwNzIwMTRlLTMwODticmVha31pZihiKXtpZigoYnww
KTw5KXtuPUQrKGw8PDIpfDA7bT1mW24+PjJdfDA7d2hpbGUoMSl7bT1tKjEwfDA7aWYoKGJ8MCk+
PTgpYnJlYWs7ZWxzZSBiPWIrMXwwfWZbbj4+Ml09bX1sPWwrMXwwfWlmKChzfDApPDk/KHN8MCk8
PShqfDApJihqfDApPDE4OjApe2lmKChqfDApPT05KXtpPSsoZXwwKSorKChmW0Q+PjJdfDApPj4+
MCk7YnJlYWt9aWYoKGp8MCk8OSl7aT0rKGV8MCkqKygoZltEPj4yXXwwKT4+PjApLysoZls2NTY2
NCsoOC1qPDwyKT4+Ml18MCk7YnJlYWt9YT1jKzI3KyhWKGosLTMpfDApfDA7Yj1mW0Q+PjJdfDA7
aWYoKGF8MCk+MzB8KGI+Pj5hfDApPT0wKXtpPSsoZXwwKSorKGI+Pj4wKSorKGZbNjU2NjQrKGor
LTEwPDwyKT4+Ml18MCk7YnJlYWt9fWI9KGp8MCklOXwwO2lmKCFiKW09MDtlbHNle3M9KGp8MCk+
LTE/YjpiKzl8MDtvPWZbNjU2NjQrKDgtczw8Mik+PjJdfDA7aWYobCl7cD0xZTkvKG98MCl8MDtu
PTA7bT0wO2I9MDtkb3tCPUQrKGI8PDIpfDA7Qz1mW0I+PjJdfDA7YT0oQz4+PjApLyhvPj4+MCl8
MDtDPUMtKFYoYSxvKXwwKXwwO2E9YStufDA7ZltCPj4yXT1hO249VihwLEMpfDA7YT0oYnwwKT09
KG18MCkmKGF8MCk9PTA7aj1hP2orLTl8MDpqO209YT9tKzEmMTI3Om07Yj1iKzF8MH13aGlsZSgo
YnwwKSE9KGx8MCkpO2lmKCFuKWI9bDtlbHNle2ZbRCsobDw8Mik+PjJdPW47Yj1sKzF8MH19ZWxz
ZXttPTA7Yj0wfWw9YjtqPTktcytqfDB9Yj0wO2Q6d2hpbGUoMSl7dj0oanwwKTwxODt3PShqfDAp
PT0xODt4PUQrKG08PDIpfDA7d2hpbGUoMSl7aWYoIXYpe2lmKCF3KWJyZWFrIGQ7aWYoKGZbeD4+
Ml18MCk+Pj4wPj05MDA3MTk5KXtqPTE4O2JyZWFrIGR9fW49MDt5PWw7bD1sKzEyN3wwO3doaWxl
KDEpe3A9bCYxMjc7bz1EKyhwPDwyKXwwO2w9TDMoZltvPj4yXXwwLDAsMjkpfDA7bD1FMyhsfDAs
R3wwLG58MCwwKXwwO249RztpZihuPj4+MD4wfChufDApPT0wJmw+Pj4wPjFlOSl7cz1JMyhsfDAs
bnwwLDFlOSwwKXwwO2E9RDMoc3wwLEd8MCwxZTksMCl8MDtsPUYzKGx8MCxufDAsYXwwLEd8MCl8
MH1lbHNlIHM9MDtmW28+PjJdPWw7YT0ocHwwKT09KG18MCk7bz0ocHwwKSE9KHkrMTI3JjEyN3ww
KXxhP3k6KGx8MCk9PTA/cDp5O2lmKGEpYnJlYWs7ZWxzZXtuPXM7eT1vO2w9cCstMXwwfX1iPWIr
LTI5fDA7aWYoIXMpbD15O2Vsc2UgYnJlYWt9bT1tKzEyNyYxMjc7bD1vKzEyNyYxMjc7bj1EKygo
bysxMjYmMTI3KTw8Mil8MDtpZigobXwwKT09KG98MCkpZltuPj4yXT1mW24+PjJdfGZbRCsobDw8
Mik+PjJdO2Vsc2UgbD15O2ZbRCsobTw8Mik+PjJdPXM7aj1qKzl8MH1lOndoaWxlKDEpe3c9bCsx
JjEyNzt4PUQrKChsKzEyNyYxMjcpPDwyKXwwO3doaWxlKDEpe3A9KGp8MCk9PTE4O3Y9KGp8MCk+
Mjc/OToxO3k9bTt3aGlsZSgxKXtvPTA7d2hpbGUoMSl7bT1vK3kmMTI3O2lmKChtfDApPT0obHww
KSl7ej05MjticmVha31tPWZbRCsobTw8Mik+PjJdfDA7bj1mWzc4NjEyKyhvPDwyKT4+Ml18MDtp
ZihtPj4+MDxuPj4+MCl7ej05MjticmVha31pZihtPj4+MD5uPj4+MClicmVhaztpZigobysxfDAp
Pj4+MDwyKW89MTtlbHNle3o9OTI7YnJlYWt9fWlmKCh6fDApPT05Mj8oej0wLHApOjApYnJlYWsg
ZTtiPXYrYnwwO2lmKCh5fDApPT0obHwwKSl5PWw7ZWxzZSBicmVha31wPSgxPDx2KSstMXwwO3M9
MWU5Pj4+djtvPTA7bT15O249eTtkb3tCPUQrKG48PDIpfDA7Qz1mW0I+PjJdfDA7YT0oQz4+PnYp
K298MDtmW0I+PjJdPWE7bz1WKEMmcCxzKXwwO2E9KG58MCk9PShtfDApJihhfDApPT0wO2o9YT9q
Ky05fDA6ajttPWE/bSsxJjEyNzptO249bisxJjEyN313aGlsZSgobnwwKSE9KGx8MCkpO2lmKG98
MCl7aWYoKHd8MCkhPShtfDApKWJyZWFrO2ZbeD4+Ml09Zlt4Pj4yXXwxfX1mW0QrKGw8PDIpPj4y
XT1vO2w9d31pPTAuMDtqPWw7bT0wO2Rve249bSt5JjEyNztsPWorMSYxMjc7aWYoKG58MCk9PShq
fDApKXtmW0QrKGwrLTE8PDIpPj4yXT0wO2o9bH1pPWkqMS4wZTkrICsoKGZbRCsobjw8Mik+PjJd
fDApPj4+MCk7bT1tKzF8MH13aGlsZSgobXwwKSE9Mik7dT0rKGV8MCk7az1pKnU7bj1iKzUzfDA7
bz1uLWR8MDtwPShvfDApPChjfDApO209cD8oKG98MCk+MD9vOjApOmM7aWYoKG18MCk8NTMpe0o9
K1oxKCtZMSgxLjAsMTA1LW18MCksayk7cT0rXzEoaywrWTEoMS4wLDUzLW18MCkpO3I9SjtpPXE7
cT1KKyhrLXEpfWVsc2V7cj0wLjA7aT0wLjA7cT1rfWw9eSsyJjEyNztpZigobHwwKSE9KGp8MCkp
e2w9ZltEKyhsPDwyKT4+Ml18MDtkbyBpZihsPj4+MD49NWU4KXtpZigobHwwKSE9NWU4KXtpPXUq
Ljc1K2k7YnJlYWt9aWYoKHkrMyYxMjd8MCk9PShqfDApKXtpPXUqLjUraTticmVha31lbHNle2k9
dSouNzUraTticmVha319ZWxzZXtpZigobHwwKT09MD8oeSszJjEyN3wwKT09KGp8MCk6MClicmVh
aztpPXUqLjI1K2l9d2hpbGUoMCk7aWYoKDUzLW18MCk+MT8hKCtfMShpLDEuMCkhPTAuMCk6MClr
PWkrMS4wO2Vsc2Ugaz1pfWVsc2Ugaz1pO2k9cStrLXI7ZG8gaWYoKG4mMjE0NzQ4MzY0N3wwKT4o
LTItRXwwKSl7RT0hKCtJKCtpKT49OTAwNzE5OTI1NDc0MDk5Mi4wKTtiPWIrKChFXjEpJjEpfDA7
aT1FP2k6aSouNTtpZigoYis1MHwwKTw9KEZ8MCk/IShrIT0wLjAmKHAmKChtfDApIT0ob3wwKXxF
KSkpOjApYnJlYWs7Rj1YXygpfDA7ZltGPj4yXT0zNH13aGlsZSgwKTtpPSskMShpLGIpfXdoaWxl
KDApO3Q9SDtyZXR1cm4gK2l9ZnVuY3Rpb24gWDEoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9
MCxlPTAsZz0wLGk9MCxqPTAsaz0wLGw9MDtpPWErNHwwO2M9ZltpPj4yXXwwO2o9YSsxMDB8MDtp
ZihjPj4+MDwoZltqPj4yXXwwKT4+PjApe2ZbaT4+Ml09YysxO2Q9aFtjPj4wXXwwfWVsc2UgZD1P
JChhKXwwO3N3aXRjaChkfDApe2Nhc2UgNDM6Y2FzZSA0NTp7ZT0oZHwwKT09NDUmMTtjPWZbaT4+
Ml18MDtpZihjPj4+MDwoZltqPj4yXXwwKT4+PjApe2ZbaT4+Ml09YysxO2M9aFtjPj4wXXwwfWVs
c2UgYz1PJChhKXwwO2Q9YystNDh8MDtpZigoYnwwKSE9MCZkPj4+MD45KWlmKCEoZltqPj4yXXww
KSl7ZD0wO2M9LTIxNDc0ODM2NDh9ZWxzZXtmW2k+PjJdPShmW2k+PjJdfDApKy0xO2s9MTR9ZWxz
ZSBrPTEyO2JyZWFrfWRlZmF1bHQ6e2U9MDtjPWQ7ZD1kKy00OHwwO2s9MTJ9fWlmKChrfDApPT0x
MilpZihkPj4+MD45KWs9MTQ7ZWxzZXtkPTA7ZG97ZD1jKy00OCsoZCoxMHwwKXwwO2M9ZltpPj4y
XXwwO2lmKGM+Pj4wPChmW2o+PjJdfDApPj4+MCl7ZltpPj4yXT1jKzE7Yz1oW2M+PjBdfDB9ZWxz
ZSBjPU8kKGEpfDA7Yj1jKy00OHwwfXdoaWxlKGI+Pj4wPDEwJihkfDApPDIxNDc0ODM2NCk7Zz0o
KGR8MCk8MCk8PDMxPj4zMTtpZihiPj4+MDwxMCl7ZG97bD1EMyhkfDAsZ3wwLDEwLDApfDA7Yj1H
O2M9RTMoY3wwLCgoY3wwKTwwKTw8MzE+PjMxfDAsLTQ4LC0xKXwwO2Q9RTMoY3wwLEd8MCxsfDAs
YnwwKXwwO2c9RztjPWZbaT4+Ml18MDtpZihjPj4+MDwoZltqPj4yXXwwKT4+PjApe2ZbaT4+Ml09
YysxO2M9aFtjPj4wXXwwfWVsc2UgYz1PJChhKXwwO2I9YystNDh8MH13aGlsZShiPj4+MDwxMCYo
KGd8MCk8MjE0NzQ4MzZ8KGd8MCk9PTIxNDc0ODM2JmQ+Pj4wPDIwNjE1ODQzMDIpKTtpZihiPj4+
MDwxMCl7ZG97Yz1mW2k+PjJdfDA7aWYoYz4+PjA8KGZbaj4+Ml18MCk+Pj4wKXtmW2k+PjJdPWMr
MTtjPWhbYz4+MF18MH1lbHNlIGM9TyQoYSl8MH13aGlsZSgoYystNDh8MCk+Pj4wPDEwKTtjPWd9
ZWxzZSBjPWd9ZWxzZSBjPWc7aWYoZltqPj4yXXwwKWZbaT4+Ml09KGZbaT4+Ml18MCkrLTE7bD0o
ZXwwKT09MDtqPUYzKDAsMCxkfDAsY3wwKXwwO2Q9bD9kOmo7Yz1sP2M6R31pZigoa3wwKT09MTQp
aWYoIShmW2o+PjJdfDApKXtkPTA7Yz0tMjE0NzQ4MzY0OH1lbHNle2ZbaT4+Ml09KGZbaT4+Ml18
MCkrLTE7ZD0wO2M9LTIxNDc0ODM2NDh9Rz1jO3JldHVybiBkfDB9ZnVuY3Rpb24gWTEoYSxiKXth
PSthO2I9YnwwO3ZhciBjPTAsZD0wO2lmKChifDApPD0xMDIzKXtpZigoYnwwKTwtMTAyMil7YT1h
KjIuMjI1MDczODU4NTA3MjAxNGUtMzA4O2Q9KGJ8MCk8LTIwNDQ7Yz1iKzIwNDR8MDthPWQ/YSoy
LjIyNTA3Mzg1ODUwNzIwMTRlLTMwODphO2I9ZD8oKGN8MCk+LTEwMjI/YzotMTAyMik6YisxMDIy
fDB9fWVsc2V7YT1hKjg5ODg0NjU2NzQzMTE1Nzk1Mzg2NDY1MjUuMGUyODM7Yz0oYnwwKT4yMDQ2
O2Q9YistMjA0NnwwO2E9Yz9hKjg5ODg0NjU2NzQzMTE1Nzk1Mzg2NDY1MjUuMGUyODM6YTtiPWM/
KChkfDApPDEwMjM/ZDoxMDIzKTpiKy0xMDIzfDB9Yz1MMyhiKzEwMjN8MCwwLDUyKXwwO2Q9Rztm
W3M+PjJdPWM7ZltzKzQ+PjJdPWQ7cmV0dXJuICsoYSorcFtzPj4zXSl9ZnVuY3Rpb24gWjEoYSxi
KXthPSthO2I9K2I7cmV0dXJuICsoK2MyKGEsYikpfWZ1bmN0aW9uIF8xKGEsYil7YT0rYTtiPSti
O3JldHVybiArKCthMihhLGIpKX1mdW5jdGlvbiAkMShhLGIpe2E9K2E7Yj1ifDA7cmV0dXJuICso
K1kxKGEsYikpfWZ1bmN0aW9uIGEyKGEsYil7YT0rYTtiPStiO3ZhciBjPTAsZD0wLGU9MCxnPTAs
aD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MDtwW3M+PjNdPWE7aD1mW3M+PjJdfDA7aj1m
W3MrND4+Ml18MDtwW3M+PjNdPWI7bD1mW3M+PjJdfDA7bT1mW3MrND4+Ml18MDtkPUszKGh8MCxq
fDAsNTIpfDA7ZD1kJjIwNDc7az1LMyhsfDAsbXwwLDUyKXwwO2s9ayYyMDQ3O249aiYtMjE0NzQ4
MzY0ODtnPUwzKGx8MCxtfDAsMSl8MDtpPUc7YTpkbyBpZighKChnfDApPT0wJihpfDApPT0wKT8o
ZT1iMihiKXwwLGM9RyYyMTQ3NDgzNjQ3LCEoKGR8MCk9PTIwNDd8KGM+Pj4wPjIxNDY0MzUwNzJ8
KGN8MCk9PTIxNDY0MzUwNzImZT4+PjA+MCkpKTowKXtjPUwzKGh8MCxqfDAsMSl8MDtlPUc7aWYo
IShlPj4+MD5pPj4+MHwoZXwwKT09KGl8MCkmYz4+PjA+Zz4+PjApKXJldHVybiArKChjfDApPT0o
Z3wwKSYoZXwwKT09KGl8MCk/YSowLjA6YSk7aWYoIWQpe2M9TDMoaHwwLGp8MCwxMil8MDtlPUc7
aWYoKGV8MCk+LTF8KGV8MCk9PS0xJmM+Pj4wPjQyOTQ5NjcyOTUpe2Q9MDtkb3tkPWQrLTF8MDtj
PUwzKGN8MCxlfDAsMSl8MDtlPUd9d2hpbGUoKGV8MCk+LTF8KGV8MCk9PS0xJmM+Pj4wPjQyOTQ5
NjcyOTUpfWVsc2UgZD0wO2g9TDMoaHwwLGp8MCwxLWR8MCl8MDtnPUd9ZWxzZSBnPWomMTA0ODU3
NXwxMDQ4NTc2O2lmKCFrKXtlPUwzKGx8MCxtfDAsMTIpfDA7aT1HO2lmKChpfDApPi0xfChpfDAp
PT0tMSZlPj4+MD40Mjk0OTY3Mjk1KXtjPTA7ZG97Yz1jKy0xfDA7ZT1MMyhlfDAsaXwwLDEpfDA7
aT1HfXdoaWxlKChpfDApPi0xfChpfDApPT0tMSZlPj4+MD40Mjk0OTY3Mjk1KX1lbHNlIGM9MDts
PUwzKGx8MCxtfDAsMS1jfDApfDA7az1jO2o9R31lbHNlIGo9bSYxMDQ4NTc1fDEwNDg1NzY7ZT1G
MyhofDAsZ3wwLGx8MCxqfDApfDA7Yz1HO2k9KGN8MCk+LTF8KGN8MCk9PS0xJmU+Pj4wPjQyOTQ5
NjcyOTU7YjpkbyBpZigoZHwwKT4oa3wwKSl7d2hpbGUoMSl7aWYoaSl7aWYoKGV8MCk9PTAmKGN8
MCk9PTApYnJlYWt9ZWxzZXtlPWg7Yz1nfWg9TDMoZXwwLGN8MCwxKXwwO2c9RztkPWQrLTF8MDtl
PUYzKGh8MCxnfDAsbHwwLGp8MCl8MDtjPUc7aT0oY3wwKT4tMXwoY3wwKT09LTEmZT4+PjA+NDI5
NDk2NzI5NTtpZigoZHwwKTw9KGt8MCkpYnJlYWsgYn1iPWEqMC4wO2JyZWFrIGF9d2hpbGUoMCk7
aWYoaSl7aWYoKGV8MCk9PTAmKGN8MCk9PTApe2I9YSowLjA7YnJlYWt9fWVsc2V7Yz1nO2U9aH1p
ZihjPj4+MDwxMDQ4NTc2fChjfDApPT0xMDQ4NTc2JmU+Pj4wPDApZG97ZT1MMyhlfDAsY3wwLDEp
fDA7Yz1HO2Q9ZCstMXwwfXdoaWxlKGM+Pj4wPDEwNDg1NzZ8KGN8MCk9PTEwNDg1NzYmZT4+PjA8
MCk7aWYoKGR8MCk+MCl7bT1FMyhlfDAsY3wwLDAsLTEwNDg1NzYpfDA7Yz1HO2Q9TDMoZHwwLDAs
NTIpfDA7Yz1jfEc7ZD1tfGR9ZWxzZXtkPUszKGV8MCxjfDAsMS1kfDApfDA7Yz1HfWZbcz4+Ml09
ZDtmW3MrND4+Ml09Y3xuO2I9K3Bbcz4+M119ZWxzZSBvPTM7d2hpbGUoMCk7aWYoKG98MCk9PTMp
e2I9YSpiO2I9Yi9ifXJldHVybiArYn1mdW5jdGlvbiBiMihhKXthPSthO3ZhciBiPTA7cFtzPj4z
XT1hO2I9ZltzPj4yXXwwO0c9ZltzKzQ+PjJdfDA7cmV0dXJuIGJ8MH1mdW5jdGlvbiBjMihhLGIp
e2E9K2E7Yj0rYjt2YXIgYz0wLGQ9MDtwW3M+PjNdPWE7ZD1mW3M+PjJdfDA7Yz1mW3MrND4+Ml18
MDtwW3M+PjNdPWI7Yz1mW3MrND4+Ml0mLTIxNDc0ODM2NDh8YyYyMTQ3NDgzNjQ3O2Zbcz4+Ml09
ZDtmW3MrND4+Ml09YztyZXR1cm4gKygrcFtzPj4zXSl9ZnVuY3Rpb24gZDIoKXtyZXR1cm4gQSQo
KXwwfWZ1bmN0aW9uIGUyKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAs
aD0wO2Q9YSs4NHwwO2c9ZltkPj4yXXwwO2g9YysyNTZ8MDtlPXIkKGcsMCxoKXwwO2U9KGV8MCk9
PTA/aDplLWd8MDtjPWU+Pj4wPGM+Pj4wP2U6YztRMyhifDAsZ3wwLGN8MCl8MDtmW2ErND4+Ml09
ZytjO2I9ZytlfDA7ZlthKzg+PjJdPWI7ZltkPj4yXT1iO3JldHVybiBjfDB9ZnVuY3Rpb24gZjIo
YSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3JldHVybiBoMihhLGIsYyl8MH1mdW5jdGlvbiBnMihh
LGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZD10O3Q9dCsxNnwwO2U9ZDtmW2U+
PjJdPWM7Yz1nJChhLGIsZSl8MDt0PWQ7cmV0dXJuIGN8MH1mdW5jdGlvbiBoMihhLGIsYyl7YT1h
fDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MDtpZigoZlthKzc2Pj4yXXwwKT4tMSl7ZD0oaSQoYSl8MCk9
PTA7Yj1pMihhLGIsYyl8MDtpZighZClqJChhKX1lbHNlIGI9aTIoYSxiLGMpfDA7cmV0dXJuIGJ8
MH1mdW5jdGlvbiBpMihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTA7aWYoKGN8
MCk9PTEpYj1iLShmW2ErOD4+Ml18MCkrKGZbYSs0Pj4yXXwwKXwwO2Q9YSsyMHwwO2U9YSsyOHww
O2lmKChmW2Q+PjJdfDApPj4+MD4oZltlPj4yXXwwKT4+PjA/KHdiW2ZbYSszNj4+Ml0mNjNdKGEs
MCwwKXwwLChmW2Q+PjJdfDApPT0wKTowKWI9LTE7ZWxzZXtmW2ErMTY+PjJdPTA7ZltlPj4yXT0w
O2ZbZD4+Ml09MDtpZigod2JbZlthKzQwPj4yXSY2M10oYSxiLGMpfDApPDApYj0tMTtlbHNle2Zb
YSs4Pj4yXT0wO2ZbYSs0Pj4yXT0wO2ZbYT4+Ml09ZlthPj4yXSYtMTc7Yj0wfX1yZXR1cm4gYnww
fWZ1bmN0aW9uIGoyKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MDtkPWJbYz4+MF18MDtkbyBpZihk
PDwyND4+MjQpe2E9eDEoYSxkPDwyND4+MjQpfDA7aWYoYSl7aWYoYltjKzE+PjBdfDApaWYoYlth
KzE+PjBdfDApe2lmKCEoYltjKzI+PjBdfDApKXthPWsyKGEsYyl8MDticmVha31pZihiW2ErMj4+
MF18MCl7aWYoIShiW2MrMz4+MF18MCkpe2E9bDIoYSxjKXwwO2JyZWFrfWlmKGJbYSszPj4wXXww
KWlmKCEoYltjKzQ+PjBdfDApKXthPW0yKGEsYyl8MDticmVha31lbHNle2E9bjIoYSxjKXwwO2Jy
ZWFrfWVsc2UgYT0wfWVsc2UgYT0wfWVsc2UgYT0wfWVsc2UgYT0wfXdoaWxlKDApO3JldHVybiBh
fDB9ZnVuY3Rpb24gazIoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MDtlPShoW2M+PjBdfDAp
PDw4fChoW2MrMT4+MF18MCk7Yz1hKzF8MDtkPWJbYz4+MF18MDthOmRvIGlmKCEoZDw8MjQ+PjI0
KSljPTA7ZWxzZXtkPShoW2E+PjBdfDApPDw4fGQmMjU1O3doaWxlKDEpe2E9ZCY2NTUzNTtpZigo
YXwwKT09KGV8MCkpYnJlYWs7Yz1jKzF8MDtkPWJbYz4+MF18MDtpZighKGQ8PDI0Pj4yNCkpe2M9
MDticmVhayBhfWVsc2UgZD1hPDw4fGQmMjU1fWM9YystMXwwfXdoaWxlKDApO3JldHVybiBjfDB9
ZnVuY3Rpb24gbDIoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MDtlPShoW2MrMT4+MF18MCk8
PDE2fChoW2M+PjBdfDApPDwyNHwoaFtjKzI+PjBdfDApPDw4O2Q9YSsyfDA7Yz1iW2Q+PjBdfDA7
YT0oaFthKzE+PjBdfDApPDwxNnwoaFthPj4wXXwwKTw8MjR8KGMmMjU1KTw8ODtjPWM8PDI0Pj4y
ND09MDtpZighKChhfDApPT0oZXwwKXxjKSlkb3tkPWQrMXwwO2M9YltkPj4wXXwwO2E9KGF8YyYy
NTUpPDw4O2M9Yzw8MjQ+PjI0PT0wfXdoaWxlKCEoKGF8MCk9PShlfDApfGMpKTtyZXR1cm4gKGM/
MDpkKy0yfDApfDB9ZnVuY3Rpb24gbTIoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MDtlPSho
W2MrMT4+MF18MCk8PDE2fChoW2M+PjBdfDApPDwyNHwoaFtjKzI+PjBdfDApPDw4fChoW2MrMz4+
MF18MCk7ZD1hKzN8MDtjPWJbZD4+MF18MDthPShoW2ErMT4+MF18MCk8PDE2fChoW2E+PjBdfDAp
PDwyNHwoaFthKzI+PjBdfDApPDw4fGMmMjU1O2M9Yzw8MjQ+PjI0PT0wO2lmKCEoKGF8MCk9PShl
fDApfGMpKWRve2Q9ZCsxfDA7Yz1iW2Q+PjBdfDA7YT1hPDw4fGMmMjU1O2M9Yzw8MjQ+PjI0PT0w
fXdoaWxlKCEoKGF8MCk9PShlfDApfGMpKTtyZXR1cm4gKGM/MDpkKy0zfDApfDB9ZnVuY3Rpb24g
bjIoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wLHM9MCx1PTAsdj0wLHc9MCx4PTA7eD10O3Q9dCsxMDU2fDA7dj14
KzEwMjR8MDt3PXg7Zlt2Pj4yXT0wO2Zbdis0Pj4yXT0wO2Zbdis4Pj4yXT0wO2ZbdisxMj4+Ml09
MDtmW3YrMTY+PjJdPTA7Zlt2KzIwPj4yXT0wO2ZbdisyND4+Ml09MDtmW3YrMjg+PjJdPTA7ZD1i
W2M+PjBdfDA7YTpkbyBpZihkPDwyND4+MjQpe3A9MDtkb3tpZighKGJbYStwPj4wXXwwKSl7ZD0w
O2JyZWFrIGF9dT1kJjI1NTtzPXYrKHU+Pj41PDwyKXwwO2Zbcz4+Ml09ZltzPj4yXXwxPDwodSYz
MSk7cD1wKzF8MDtmW3crKHU8PDIpPj4yXT1wO2Q9YltjK3A+PjBdfDB9d2hpbGUoZDw8MjQ+PjI0
IT0wKTttPXA+Pj4wPjE7aWYobSl7az0xO2o9MTtsPTA7aT0tMTtuPTE7d2hpbGUoMSl7ZD1iW2Mr
KGoraSk+PjBdfDA7ZT1iW2Mrbj4+MF18MDtkbyBpZihkPDwyND4+MjQ9PWU8PDI0Pj4yNClpZigo
anwwKT09KGt8MCkpe2c9aztkPTE7ZT1rK2x8MDticmVha31lbHNle2c9aztkPWorMXwwO2U9bDti
cmVha31lbHNlIGlmKChkJjI1NSk+KGUmMjU1KSl7Zz1uLWl8MDtkPTE7ZT1uO2JyZWFrfWVsc2V7
Zz0xO2Q9MTtlPWwrMXwwO2k9bDticmVha313aGlsZSgwKTtuPWQrZXwwO2lmKG4+Pj4wPj1wPj4+
MClicmVhaztlbHNle2s9ZztqPWQ7bD1lfX1pZihtKXttPTE7bD0xO249MDtlPS0xO289MTt3aGls
ZSgxKXtkPWJbYysobCtlKT4+MF18MDtqPWJbYytvPj4wXXwwO2RvIGlmKGQ8PDI0Pj4yND09ajw8
MjQ+PjI0KWlmKChsfDApPT0obXwwKSl7ZD1tO2o9MTtrPW0rbnwwO2JyZWFrfWVsc2V7ZD1tO2o9
bCsxfDA7az1uO2JyZWFrfWVsc2UgaWYoKGQmMjU1KTwoaiYyNTUpKXtkPW8tZXwwO2o9MTtrPW87
YnJlYWt9ZWxzZXtkPTE7aj0xO2s9bisxfDA7ZT1uO2JyZWFrfXdoaWxlKDApO289aitrfDA7aWYo
bz4+PjA+PXA+Pj4wKXt1PXA7aj0yNTticmVha31lbHNle209ZDtsPWo7bj1rfX19ZWxzZXt1PXA7
ZD0xO2U9LTE7aj0yNX19ZWxzZXtnPTE7aT0tMTt1PXA7ZD0xO2U9LTE7aj0yNX19ZWxzZXtnPTE7
aT0tMTt1PTA7ZD0xO2U9LTE7aj0yNX13aGlsZSgwKTtiOmRvIGlmKChqfDApPT0yNSl7cj0oZSsx
fDApPj4+MD4oaSsxfDApPj4+MDtkPXI/ZDpnO3I9cj9lOmk7cz1yKzF8MDtpZighKCRfKGMsYytk
fDAscyl8MCkpe209dS1kfDA7cT1tO2w9ZH1lbHNle209dS1yKy0xfDA7bT0ocj4+PjA+bT4+PjA/
cjptKSsxfDA7cT0wO2w9bTttPXUtbXwwfW49dXw2MztvPXUrLTF8MDtwPShxfDApIT0wO2Q9YTtr
PTA7ZT1hO3doaWxlKDEpe2c9ZDtkbyBpZigoZS1nfDApPj4+MDx1Pj4+MCl7aT1yJChlLDAsbil8
MDtpZihpKWlmKChpLWd8MCk+Pj4wPHU+Pj4wKXtkPTA7YnJlYWsgYn1lbHNlIGJyZWFrO2Vsc2V7
aT1lK258MDticmVha319ZWxzZSBpPWU7d2hpbGUoMCk7ZT1oW2Qrbz4+MF18MDtjOmRvIGlmKCEo
MTw8KGUmMzEpJmZbdisoZT4+PjU8PDIpPj4yXSkpe2c9MDtlPXV9ZWxzZXtlPXUtKGZbdysoZTw8
Mik+PjJdfDApfDA7aWYoZXwwKXtnPTA7ZT1wJihrfDApIT0wJmU+Pj4wPGw+Pj4wP206ZTticmVh
a31qPXM+Pj4wPms+Pj4wO2U9aj9zOms7Zz1iW2MrZT4+MF18MDtkOmRvIGlmKGc8PDI0Pj4yNCl7
d2hpbGUoMSl7aWYoZzw8MjQ+PjI0IT0oYltkK2U+PjBdfDApKWJyZWFrO2U9ZSsxfDA7Zz1iW2Mr
ZT4+MF18MDtpZighKGc8PDI0Pj4yNCkpYnJlYWsgZH1nPTA7ZT1lLXJ8MDticmVhayBjfXdoaWxl
KDApO2lmKCFqKWJyZWFrIGI7ZT1zO3doaWxlKDEpe2U9ZSstMXwwO2lmKChiW2MrZT4+MF18MCkh
PShiW2QrZT4+MF18MCkpe2c9cTtlPWw7YnJlYWsgY31pZihlPj4+MDw9az4+PjApYnJlYWsgYn19
d2hpbGUoMCk7ZD1kK2V8MDtrPWc7ZT1pfX13aGlsZSgwKTt0PXg7cmV0dXJuIGR8MH1mdW5jdGlv
biBvMigpe3ZhciBhPTAsYj0wO2I9dDt0PXQrMTZ8MDthPUthKDIwLGJ8MCl8MDt0PWI7cmV0dXJu
IGF8MH1mdW5jdGlvbiBwMihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTA7Yz1jMChhKXwwO3JldHVy
biAoKHEyKGEsMSxjLGIpfDApIT0oY3wwKSk8PDMxPj4zMXwwfWZ1bmN0aW9uIHEyKGEsYixjLGQp
e2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZz0wO2U9VihjLGIpfDA7Yz0oYnwwKT09
MD8wOmM7aWYoKGZbZCs3Nj4+Ml18MCk+LTEpe2c9KGkkKGQpfDApPT0wO2E9SSQoYSxlLGQpfDA7
aWYoIWcpaiQoZCl9ZWxzZSBhPUkkKGEsZSxkKXwwO2lmKChhfDApIT0oZXwwKSljPShhPj4+MCkv
KGI+Pj4wKXwwO3JldHVybiBjfDB9ZnVuY3Rpb24gcjIoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0w
LGU9MCxnPTAsaT0wLGo9MCxrPTAsbD0wO2w9dDt0PXQrMTZ8MDtqPWw7az1jJjI1NTtiW2o+PjBd
PWs7ZT1hKzE2fDA7Zz1mW2U+PjJdfDA7aWYoIWcpaWYoIShKJChhKXwwKSl7Zz1mW2U+PjJdfDA7
aT00fWVsc2UgZD0tMTtlbHNlIGk9NDtkbyBpZigoaXwwKT09NCl7aT1hKzIwfDA7ZT1mW2k+PjJd
fDA7aWYoZT4+PjA8Zz4+PjA/KGQ9YyYyNTUsKGR8MCkhPShiW2ErNzU+PjBdfDApKTowKXtmW2k+
PjJdPWUrMTtiW2U+PjBdPWs7YnJlYWt9aWYoKHdiW2ZbYSszNj4+Ml0mNjNdKGEsaiwxKXwwKT09
MSlkPWhbaj4+MF18MDtlbHNlIGQ9LTF9d2hpbGUoMCk7dD1sO3JldHVybiBkfDB9ZnVuY3Rpb24g
czIoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLGQ9MDtjPXQ7dD10KzE2fDA7ZD1jO2ZbZD4+Ml09
YTtmW2QrND4+Ml09YjtiPVdfKE5hKDMzLGR8MCl8MCl8MDt0PWM7cmV0dXJuIGJ8MH1mdW5jdGlv
biB0MihhLGIpe2E9YXwwO2I9YnwwO3JldHVybiB1MihhLGIsKGMwKGEpfDApKzF8MCl8MH1mdW5j
dGlvbiB1MihhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7YTpkbyBpZighZClkPTA7ZWxzZXtjPWMm
MjU1O3doaWxlKDEpe2Q9ZCstMXwwO2lmKChiW2ErZD4+MF18MCk9PWM8PDI0Pj4yNClicmVhaztp
ZighZCl7ZD0wO2JyZWFrIGF9fWQ9YStkfDB9d2hpbGUoMCk7cmV0dXJuIGR8MH1mdW5jdGlvbiB2
MihhKXthPWF8MDt2YXIgYj0wLGM9MDtiPShjMChhKXwwKSsxfDA7Yz1MXyhiKXwwO2lmKCFjKWE9
MDtlbHNlIGE9UTMoY3wwLGF8MCxifDApfDA7cmV0dXJuIGF8MH1mdW5jdGlvbiB3MihhLGIsYyl7
YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZD10O3Q9dCsxNnwwO2U9ZDtmW2U+PjJdPWE7
ZltlKzQ+PjJdPWI7ZltlKzg+PjJdPWM7Yz1XXyhNYSgzLGV8MCl8MCl8MDt0PWQ7cmV0dXJuIGN8
MH1mdW5jdGlvbiB4MihhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTA7ZT10O3Q9dCsxNnwwO2Q9ZTt6
YSgwLGR8MCl8MDtjPTA7ZD0oZltkKzQ+PjJdfDApKjY1NTM3XihkPj4+NCkrYTt3aGlsZSgxKXti
W2ErYz4+MF09KGQmMTUpKzY1fGQ8PDEmMzI7Yz1jKzF8MDtpZigoY3wwKT09NilicmVhaztlbHNl
IGQ9ZD4+PjV9dD1lO3JldHVybiBhfDB9ZnVuY3Rpb24geTIoYSxiLGMsZCxlKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTA7YTpkbyBpZighYyliPTA7ZWxzZXto
PWI7d2hpbGUoMSl7Zz1jPj4+MTtiPWgrKFYoZyxkKXwwKXwwO2Y9dWJbZSYxMjddKGEsYil8MDtp
ZighZilicmVhayBhO2lmKChjfDApPT0xKXtiPTA7YnJlYWsgYX1mPShmfDApPDA7Yz1mP2c6Yy1n
fDA7aWYoIWMpe2I9MDticmVha31lbHNlIGg9Zj9oOmJ9fXdoaWxlKDApO3JldHVybiBifDB9ZnVu
Y3Rpb24gejIoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2M9TCQoYSxiLGMsLTIxNDc0ODM2NDgs
MCl8MDtyZXR1cm4gY3wwfWZ1bmN0aW9uIEEyKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIg
ZD0wLjAsZT0wLGc9MCxoPTAsaT0wO2k9dDt0PXQrMTI4fDA7aD1pO2U9aDtnPWUrMTI0fDA7ZG97
ZltlPj4yXT0wO2U9ZSs0fDB9d2hpbGUoKGV8MCk8KGd8MCkpO2U9aCs0fDA7ZltlPj4yXT1hO2c9
aCs4fDA7ZltnPj4yXT0tMTtmW2grNDQ+PjJdPWE7ZltoKzc2Pj4yXT0tMTtNJChoLDApO2Q9K1Ux
KGgsYywxKTtjPShmW2U+PjJdfDApLShmW2c+PjJdfDApKyhmW2grMTA4Pj4yXXwwKXwwO2lmKGJ8
MClmW2I+PjJdPShjfDApPT0wP2E6YStjfDA7dD1pO3JldHVybiArZH1mdW5jdGlvbiBCMihhLGIp
e2E9YXwwO2I9YnwwO3JldHVybiArKCtBMihhLGIsMSkpfWZ1bmN0aW9uIEMyKGEpe2E9YXwwO3Jl
dHVybiArKCtCMihhLDApKX1mdW5jdGlvbiBEMihhKXthPWF8MDt2YXIgYz0wLGQ9MCxlPTAsZj0w
LGc9MDt3aGlsZSgxKXtlPWErMXwwO2lmKCEoUCQoYlthPj4wXXwwKXwwKSlicmVhaztlbHNlIGE9
ZX1kPWJbYT4+MF18MDtzd2l0Y2goZHwwKXtjYXNlIDQ1OnthPTE7Zj01O2JyZWFrfWNhc2UgNDM6
e2E9MDtmPTU7YnJlYWt9ZGVmYXVsdDp7Zz0wO2M9YTthPWR9fWlmKChmfDApPT01KXtnPWE7Yz1l
O2E9YltlPj4wXXwwfWlmKCEoYiQoYSl8MCkpYT0wO2Vsc2V7YT0wO2Rve2E9KGEqMTB8MCkrNDgt
KGJbYz4+MF18MCl8MDtjPWMrMXwwfXdoaWxlKChiJChiW2M+PjBdfDApfDApIT0wKX1yZXR1cm4g
KChnfDApPT0wPzAtYXwwOmEpfDB9ZnVuY3Rpb24gRTIoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0w
LGU9MCxnPTAsaD0wLGk9MDtnPXQ7dD10KzMyfDA7ZT1nO2ZbZT4+Ml09MDtmW2UrND4+Ml09MDtm
W2UrOD4+Ml09MDtmW2UrMTI+PjJdPTA7ZltlKzE2Pj4yXT0wO2ZbZSsyMD4+Ml09MDtmW2UrMjQ+
PjJdPTA7ZltlKzI4Pj4yXT0wO2Q9YltjPj4wXXwwO2RvIGlmKCEoZDw8MjQ+PjI0KSljPTA7ZWxz
ZXtpZighKGJbYysxPj4wXXwwKSl7Yz1hO3doaWxlKDEpaWYoKGJbYz4+MF18MCk9PWQ8PDI0Pj4y
NCljPWMrMXwwO2Vsc2UgYnJlYWs7Yz1jLWF8MDticmVha31kb3tpPWQmMjU1O2g9ZSsoaT4+PjU8
PDIpfDA7ZltoPj4yXT1mW2g+PjJdfDE8PChpJjMxKTtjPWMrMXwwO2Q9YltjPj4wXXwwfXdoaWxl
KGQ8PDI0Pj4yNCE9MCk7ZD1iW2E+PjBdfDA7YTpkbyBpZighKGQ8PDI0Pj4yNCkpYz1hO2Vsc2V7
Yz1hO2Rve2k9ZCYyNTU7aWYoIShmW2UrKGk+Pj41PDwyKT4+Ml0mMTw8KGkmMzEpKSlicmVhayBh
O2M9YysxfDA7ZD1iW2M+PjBdfDB9d2hpbGUoZDw8MjQ+PjI0IT0wKX13aGlsZSgwKTtjPWMtYXww
fXdoaWxlKDApO3Q9ZztyZXR1cm4gY3wwfWZ1bmN0aW9uIEYyKGEsYyl7YT1hfDA7Yz1jfDA7dmFy
IGQ9MCxlPTAsZz0wLGg9MCxpPTAsaj0wO2g9dDt0PXQrMzJ8MDtlPWg7ZD1iW2M+PjBdfDA7YTpk
byBpZihkPDwyND4+MjQhPTA/KGJbYysxPj4wXXwwKSE9MDowKXtTMyhlfDAsMCwzMil8MDtkPWJb
Yz4+MF18MDtpZihkPDwyND4+MjQpZG97aj1kJjI1NTtpPWUrKGo+Pj41PDwyKXwwO2ZbaT4+Ml09
ZltpPj4yXXwxPDwoaiYzMSk7Yz1jKzF8MDtkPWJbYz4+MF18MH13aGlsZShkPDwyND4+MjQhPTAp
O2M9YlthPj4wXXwwO2lmKCEoYzw8MjQ+PjI0KSlkPWE7ZWxzZXtkPWE7ZG97aj1jJjI1NTtpZihm
W2UrKGo+Pj41PDwyKT4+Ml0mMTw8KGomMzEpfDApYnJlYWsgYTtkPWQrMXwwO2M9YltkPj4wXXww
fXdoaWxlKGM8PDI0Pj4yNCE9MCl9fWVsc2UgZz0zO3doaWxlKDApO2lmKChnfDApPT0zKWQ9eTEo
YSxkPDwyND4+MjQpfDA7dD1oO3JldHVybiBkLWF8MH1mdW5jdGlvbiBHMihhLGIpe2E9YXwwO2I9
YnwwO3ZhciBjPTAsZD0wO2M9dDt0PXQrMTZ8MDtkPWM7ZltkPj4yXT1hO2ZbZCs0Pj4yXT1iO2I9
V18oUmEoOTEsZHwwKXwwKXwwO3Q9YztyZXR1cm4gYnwwfWZ1bmN0aW9uIEgyKCl7cmV0dXJufWZ1
bmN0aW9uIEkyKGEsYixjLGQsZSxnKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtnPWd8
MDt2YXIgaD0wLGk9MDtpPXQ7dD10KzMyfDA7aD1pO2RvIGlmKChnJjQwOTV8MCk9PTAmKCgoZ3ww
KTwwKTw8MzE+PjMxJi00MDk2fDApPT0wKXtpZihiPj4+MD4yMTQ3NDgzNjQ2KXthPVhfKCl8MDtm
W2E+PjJdPTEyO2E9LTE7YnJlYWt9ZltoPj4yXT1hO2ZbaCs0Pj4yXT1iO2ZbaCs4Pj4yXT1jO2Zb
aCsxMj4+Ml09ZDtmW2grMTY+PjJdPWU7ZltoKzIwPj4yXT1nPj4xMjthPVdfKEhhKDE5MixofDAp
fDApfDB9ZWxzZXthPVhfKCl8MDtmW2E+PjJdPTIyO2E9LTF9d2hpbGUoMCk7dD1pO3JldHVybiBh
fDB9ZnVuY3Rpb24gSjIoYSl7YT1hfDA7dmFyIGI9MCxjPTA7aWYoKGZbYSs3Nj4+Ml18MCk+LTEp
e2M9KGkkKGEpfDApPT0wO2I9SzIoYSl8MDtpZighYylqJChhKX1lbHNlIGI9SzIoYSl8MDtyZXR1
cm4gYnwwfWZ1bmN0aW9uIEsyKGEpe2E9YXwwO3ZhciBiPTA7aWYoIShmW2E+PjJdJjEyOCkpYj0x
O2Vsc2UgYj0oZlthKzIwPj4yXXwwKT4+PjA+KGZbYSsyOD4+Ml18MCk+Pj4wPzI6MTtiPXdiW2Zb
YSs0MD4+Ml0mNjNdKGEsMCxiKXwwO2lmKChifDApPj0wKWI9Yi0oZlthKzg+PjJdfDApKyhmW2Er
ND4+Ml18MCkrKGZbYSsyMD4+Ml18MCktKGZbYSsyOD4+Ml18MCl8MDtyZXR1cm4gYnwwfWZ1bmN0
aW9uIEwyKGEsYyxkLGUpe2E9YXwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxq
PTAsaz0wLGw9MDtrPVYoZCxjKXwwO2Q9KGN8MCk9PTA/MDpkO2lmKChmW2UrNzY+PjJdfDApPi0x
KWo9aSQoZSl8MDtlbHNlIGo9MDtnPWUrNzR8MDtoPWJbZz4+MF18MDtiW2c+PjBdPWgrMjU1fGg7
Zz1lKzR8MDtoPWZbZz4+Ml18MDtpPShmW2UrOD4+Ml18MCktaHwwO2lmKChpfDApPjApe2k9aT4+
PjA8az4+PjA/aTprO1EzKGF8MCxofDAsaXwwKXwwO2ZbZz4+Ml09KGZbZz4+Ml18MCkraTtnPWst
aXwwO2E9YStpfDB9ZWxzZSBnPWs7YTpkbyBpZighZylsPTEzO2Vsc2V7aT1lKzMyfDA7d2hpbGUo
MSl7aWYoUiQoZSl8MClicmVhaztoPXdiW2ZbaT4+Ml0mNjNdKGUsYSxnKXwwO2lmKChoKzF8MCk+
Pj4wPDIpYnJlYWs7Zz1nLWh8MDtpZighZyl7bD0xMzticmVhayBhfWVsc2UgYT1hK2h8MH1pZihq
fDApaiQoZSk7ZD0oKGstZ3wwKT4+PjApLyhjPj4+MCl8MH13aGlsZSgwKTtpZigobHwwKT09MTMp
aWYoailqJChlKTtyZXR1cm4gZHwwfWZ1bmN0aW9uIE0yKGEpe2E9YXwwO2lmKChmW2ErNzY+PjJd
fDApPi0xP2kkKGEpfDA6MClqJChhKTtyZXR1cm4gZlthKzYwPj4yXXwwfWZ1bmN0aW9uIE4yKGEp
e2E9YXwwO3ZhciBiPTAsYz0wLGQ9MDtpZigoZlthKzc2Pj4yXXwwKT49MD8oaSQoYSl8MCkhPTA6
MCl7Yj1hKzR8MDtjPWZbYj4+Ml18MDtpZihjPj4+MDwoZlthKzg+PjJdfDApPj4+MCl7ZltiPj4y
XT1jKzE7Yj1oW2M+PjBdfDB9ZWxzZSBiPVEkKGEpfDA7aiQoYSl9ZWxzZSBkPTM7ZG8gaWYoKGR8
MCk9PTMpe2I9YSs0fDA7Yz1mW2I+PjJdfDA7aWYoYz4+PjA8KGZbYSs4Pj4yXXwwKT4+PjApe2Zb
Yj4+Ml09YysxO2I9aFtjPj4wXXwwO2JyZWFrfWVsc2V7Yj1RJChhKXwwO2JyZWFrfX13aGlsZSgw
KTtyZXR1cm4gYnwwfWZ1bmN0aW9uIE8yKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZz0w
LGg9MCxpPTAsaj0wLGs9MDtpZigoZltjKzc2Pj4yXXwwKT49MD8oaSQoYyl8MCkhPTA6MCl7ZT1h
JjI1NTtkPWEmMjU1O2lmKChkfDApIT0oYltjKzc1Pj4wXXwwKT8oaT1jKzIwfDAsaj1mW2k+PjJd
fDAsaj4+PjA8KGZbYysxNj4+Ml18MCk+Pj4wKTowKXtmW2k+PjJdPWorMTtiW2o+PjBdPWV9ZWxz
ZSBkPXIyKGMsYSl8MDtqJChjKX1lbHNlIGs9MztkbyBpZigoa3wwKT09Myl7ZT1hJjI1NTtkPWEm
MjU1O2lmKChkfDApIT0oYltjKzc1Pj4wXXwwKT8oZz1jKzIwfDAsaD1mW2c+PjJdfDAsaD4+PjA8
KGZbYysxNj4+Ml18MCk+Pj4wKTowKXtmW2c+PjJdPWgrMTtiW2g+PjBdPWU7YnJlYWt9ZD1yMihj
LGEpfDB9d2hpbGUoMCk7cmV0dXJuIGR8MH1mdW5jdGlvbiBQMihhKXthPWF8MDtyZXR1cm4gSjIo
YSl8MH1mdW5jdGlvbiBRMigpe3ZhciBhPTAsYj0wLGM9MCxkPTAsZT0wLGc9MCxoPTAsaT0wLGo9
MDtqPXQ7dD10KzY0fDA7aD1qKzQ4fDA7ZT1qKzQwfDA7ZD1qKzI0fDA7Yz1qO2ZbYz4+Ml09Zlsx
NjQyNF07ZltjKzQ+PjJdPWZbMTY0MjVdO2ZbYys4Pj4yXT1mWzE2NDI2XTtmW2MrMTI+PjJdPWZb
MTY0MjddO2ZbYysxNj4+Ml09ZlsxNjQyOF07Yj1jKzEzfDA7YT0wO3doaWxlKDEpe3gyKGIpfDA7
ZltkPj4yXT1jO2ZbZCs0Pj4yXT0zMjk2MjtmW2QrOD4+Ml09Mzg0O2c9V18oT2EoNSxkfDApfDAp
fDA7YT1hKzF8MDtpZigoZ3wwKT4tMSl7aT00O2JyZWFrfWlmKGE+Pj4wPj0xMDApe2E9MDticmVh
a319aWYoKGl8MCk9PTQpe2ZbZT4+Ml09YztEYSgxMCxlfDApfDA7YT1CMShnLDE1MTIyNil8MDtp
ZighYSl7ZltoPj4yXT1nO1FhKDYsaHwwKXwwO2E9MH19dD1qO3JldHVybiBhfDB9ZnVuY3Rpb24g
UjIoYSl7YT1hfDA7dmFyIGM9MCxkPTAsZT0wLGc9MDtlPWZbMTk0ODldfDA7aWYoKGZbZSs3Nj4+
Ml18MCk+LTEpZz1pJChlKXwwO2Vsc2UgZz0wO2RvIGlmKChwMihhLGUpfDApPDApYT0tMTtlbHNl
e2lmKChiW2UrNzU+PjBdfDApIT0xMD8oYz1lKzIwfDAsZD1mW2M+PjJdfDAsZD4+PjA8KGZbZSsx
Nj4+Ml18MCk+Pj4wKTowKXtmW2M+PjJdPWQrMTtiW2Q+PjBdPTEwO2E9MDticmVha31hPShyMihl
LDEwKXwwKT4+MzF9d2hpbGUoMCk7aWYoZ3wwKWokKGUpO3JldHVybiBhfDB9ZnVuY3Rpb24gUzIo
YSl7YT1hfDA7dmFyIGI9MDtiPShUMihhKXwwKT09MDtyZXR1cm4gKGI/YTphfDMyKXwwfWZ1bmN0
aW9uIFQyKGEpe2E9YXwwO3JldHVybiAoYSstNjV8MCk+Pj4wPDI2fDB9ZnVuY3Rpb24gVTIoYSl7
YT1hfDA7dmFyIGI9MDtiPShWMihhKXwwKT09MDtyZXR1cm4gKGI/YTphJjk1KXwwfWZ1bmN0aW9u
IFYyKGEpe2E9YXwwO3JldHVybiAoYSstOTd8MCk+Pj4wPDI2fDB9ZnVuY3Rpb24gVzIoYSl7YT1h
fDA7cmV0dXJuIFgyKGEpfDB9ZnVuY3Rpb24gWDIoYSl7YT1hfDA7cmV0dXJuIE0zKGF8MCl8MH1m
dW5jdGlvbiBZMihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7WjIoYSxiLGMpfDA7cmV0dXJuIGF8
MH1mdW5jdGlvbiBaMihhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wO2c9
YzthOmRvIGlmKCEoKGdeYSkmMykpe2U9KGR8MCkhPTA7aWYoZSYoZyYzfDApIT0wKWRve2c9Yltj
Pj4wXXwwO2JbYT4+MF09ZztpZighKGc8PDI0Pj4yNCkpYnJlYWsgYTtkPWQrLTF8MDtjPWMrMXww
O2E9YSsxfDA7ZT0oZHwwKSE9MH13aGlsZShlJihjJjN8MCkhPTApO2lmKGUpe2lmKGJbYz4+MF18
MCl7YjpkbyBpZihkPj4+MD4zKXtlPWM7d2hpbGUoMSl7Yz1mW2U+PjJdfDA7aWYoKGMmLTIxMzkw
NjIxNDReLTIxMzkwNjIxNDQpJmMrLTE2ODQzMDA5fDApe2M9ZTticmVhayBifWZbYT4+Ml09Yztk
PWQrLTR8MDtjPWUrNHwwO2E9YSs0fDA7aWYoZD4+PjA+MyllPWM7ZWxzZSBicmVha319d2hpbGUo
MCk7aD0xM319ZWxzZSBkPTB9ZWxzZSBoPTEzO3doaWxlKDApO2M6ZG8gaWYoKGh8MCk9PTEzKWlm
KCFkKWQ9MDtlbHNlIHdoaWxlKDEpe2g9YltjPj4wXXwwO2JbYT4+MF09aDtpZighKGg8PDI0Pj4y
NCkpYnJlYWsgYztkPWQrLTF8MDthPWErMXwwO2lmKCFkKXtkPTA7YnJlYWt9ZWxzZSBjPWMrMXww
fXdoaWxlKDApO1MzKGF8MCwwLGR8MCl8MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIF8yKGEpe2E9YXww
O2lmKCEoJDIoYSl8MCkpYT0oYiQoYSl8MCkhPTAmMTtlbHNlIGE9MTtyZXR1cm4gYXwwfWZ1bmN0
aW9uICQyKGEpe2E9YXwwO3JldHVybiAoKGF8MzIpKy05N3wwKT4+PjA8MjZ8MH1mdW5jdGlvbiBh
MyhhLGMsZCl7YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2lmKCFkKWE9MDtlbHNl
e2U9YlthPj4wXXwwO2E6ZG8gaWYoIShlPDwyND4+MjQpKWE9MDtlbHNle2c9YTthPWU7ZT1lJjI1
NTt3aGlsZSgxKXtkPWQrLTF8MDtmPWJbYz4+MF18MDtpZighKChkfDApIT0wJmY8PDI0Pj4yNCE9
MCkpYnJlYWsgYTtpZihhPDwyND4+MjQhPWY8PDI0Pj4yND8oZj1TMihlKXwwLChmfDApIT0oUzIo
aFtjPj4wXXwwKXwwKSk6MClicmVhazthPWcrMXwwO2M9YysxfDA7ZT1iW2E+PjBdfDA7aWYoIShl
PDwyND4+MjQpKXthPTA7YnJlYWsgYX1lbHNle2c9YTthPWU7ZT1lJjI1NX19YT1iW2c+PjBdfDB9
d2hpbGUoMCk7YT1TMihhJjI1NSl8MDthPWEtKFMyKGhbYz4+MF18MCl8MCl8MH1yZXR1cm4gYXww
fWZ1bmN0aW9uIGIzKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZj0wO2Q9YlthPj4wXXww
O2E6ZG8gaWYoIShkPDwyND4+MjQpKWE9MDtlbHNle2Y9YTthPWQ7ZT1kJjI1NTt3aGlsZSgxKXtk
PWJbYz4+MF18MDtpZighKGQ8PDI0Pj4yNCkpYnJlYWsgYTtpZihhPDwyND4+MjQhPWQ8PDI0Pj4y
ND8oZT1TMihlKXwwLChlfDApIT0oUzIoaFtjPj4wXXwwKXwwKSk6MClicmVhazthPWYrMXwwO2M9
YysxfDA7ZD1iW2E+PjBdfDA7aWYoIShkPDwyND4+MjQpKXthPTA7YnJlYWsgYX1lbHNle2Y9YTth
PWQ7ZT1kJjI1NX19YT1iW2Y+PjBdfDB9d2hpbGUoMCk7Zj1TMihhJjI1NSl8MDtyZXR1cm4gZi0o
UzIoaFtjPj4wXXwwKXwwKXwwfWZ1bmN0aW9uIGMzKGEsYyl7YT1hfDA7Yz1jfDA7Yz1hKyhGMihh
LGMpfDApfDA7cmV0dXJuICgoYltjPj4wXXwwKT09MD8wOmMpfDB9ZnVuY3Rpb24gZDMoYSxjKXth
PWF8MDtjPWN8MDt2YXIgZD0wO2lmKCFhKXthPWZbNDg3MDBdfDA7aWYoIWEpYT0wO2Vsc2UgZD0z
fWVsc2UgZD0zO2RvIGlmKChkfDApPT0zKXthPWErKEUyKGEsYyl8MCl8MDtpZighKGJbYT4+MF18
MCkpe2ZbNDg3MDBdPTA7YT0wO2JyZWFrfWM9YSsoRjIoYSxjKXwwKXwwO2ZbNDg3MDBdPWM7aWYo
IShiW2M+PjBdfDApKXtmWzQ4NzAwXT0wO2JyZWFrfWVsc2V7Zls0ODcwMF09YysxO2JbYz4+MF09
MDticmVha319d2hpbGUoMCk7cmV0dXJuIGF8MH1mdW5jdGlvbiBlMyhhLGMsZCl7YT1hfDA7Yz1j
fDA7ZD1kfDA7dmFyIGU9MDtpZighYSl7YT1mW2Q+PjJdfDA7aWYoIWEpYT0wO2Vsc2UgZT0zfWVs
c2UgZT0zO2RvIGlmKChlfDApPT0zKXthPWErKEUyKGEsYyl8MCl8MDtpZighKGJbYT4+MF18MCkp
e2ZbZD4+Ml09MDthPTA7YnJlYWt9Yz1hKyhGMihhLGMpfDApfDA7ZltkPj4yXT1jO2lmKCEoYltj
Pj4wXXwwKSl7ZltkPj4yXT0wO2JyZWFrfWVsc2V7ZltkPj4yXT1jKzE7YltjPj4wXT0wO2JyZWFr
fX13aGlsZSgwKTtyZXR1cm4gYXwwfWZ1bmN0aW9uIGYzKGEpe2E9YXwwO3ZhciBiPTAsYz0wO2I9
dDt0PXQrMTZ8MDtjPWI7ZFtjPj4xXT0xMzA3MDtkW2MrMj4+MV09YTtkW2MrND4+MV09YT4+PjE2
O2czKGMpfDA7dD1iO3JldHVybn1mdW5jdGlvbiBnMyhhKXthPWF8MDtRMygxOTQ4NDQsNzg2MjAs
Nil8MDtRMyg3ODYyMCxhfDAsNil8MDtyZXR1cm4gMTk0ODQ0fWZ1bmN0aW9uIGgzKGEsYil7YT1h
fDA7Yj1ifDA7dmFyIGM9MCxlPTAsZj0wO2Y9YSsyfDA7ZT1hKzR8MDtjPUQzKChqW2IrMj4+MV18
MCk8PDE2fChqW2I+PjFdfDApfDAsaltiKzQ+PjFdfDB8MCwoaltmPj4xXXwwKTw8MTZ8KGpbYT4+
MV18MCl8MCxqW2U+PjFdfDB8MCl8MDtiPUUzKGN8MCxHfDAsaltiKzY+PjFdfDB8MCwwKXwwO2M9
RztkW2E+PjFdPWI7YT1LMyhifDAsY3wwLDE2KXwwO2RbZj4+MV09YTtkW2U+PjFdPWM7Rz1jJjY1
NTM1O3JldHVybiBifDB9ZnVuY3Rpb24gaTMoYSl7YT1hfDA7dmFyIGI9MDtiPWgzKGEsNzg2MjYp
fDA7Yj1MMyhifDAsR3wwLDQpfDA7YT1HfDEwNzI2OTMyNDg7ZltzPj4yXT1iO2Zbcys0Pj4yXT1h
O3JldHVybiArKCtwW3M+PjNdKy0xLjApfWZ1bmN0aW9uIGozKCl7cmV0dXJuICsoK2kzKDc4NjIw
KSl9ZnVuY3Rpb24gazMoKXt2YXIgYT0wLGI9MCxjPTA7Yj0xOTI0MzI7Yj1EMyhmW2I+PjJdfDAs
ZltiKzQ+PjJdfDAsMTI4NDg2NTgzNywxNDgxNzY1OTMzKXwwO2I9RTMoYnwwLEd8MCwxLDApfDA7
YT1HO2M9MTkyNDMyO2ZbYz4+Ml09YjtmW2MrND4+Ml09YTthPUszKGJ8MCxhfDAsMzMpfDA7cmV0
dXJuIGF8MH1mdW5jdGlvbiBsMyhhLGIpe2E9K2E7Yj0rYjt2YXIgYz0wLjAsZD0wLGU9MCxnPTAs
aD0wLGk9MC4wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHE9MCxyPTA7bj10O3Q9dCszMnwwO2o9
bisyNHwwO2s9bisxNnwwO2w9bis4fDA7bT1uO3Bbcz4+M109YTtyPWZbcz4+Ml18MDtnPWZbcys0
Pj4yXXwwO3Bbcz4+M109YjtkPWZbcz4+Ml18MDtnPWcmMjE0NzQ4MzY0NztlPWZbcys0Pj4yXSYy
MTQ3NDgzNjQ3O2g9Zz4+PjA8ZT4+PjB8KGd8MCk9PShlfDApJnI+Pj4wPGQ+Pj4wO3E9aD9kOnI7
bz1oP2U6ZztkPWg/cjpkO2U9aD9nOmU7Zz1LMyhxfDAsb3wwLDUyKXwwO2g9SzMoZHwwLGV8MCw1
Mil8MDtmW3M+PjJdPXE7ZltzKzQ+PjJdPW87YT0rcFtzPj4zXTtmW3M+PjJdPWQ7ZltzKzQ+PjJd
PWU7aT0rcFtzPj4zXTtkbyBpZigoaHwwKSE9MjA0Nyl7aWYoISgoZHwwKT09MCYoZXwwKT09MHwo
Z3wwKT09MjA0Nykpe2lmKChnLWh8MCk+NjQpe2E9YStpO2JyZWFrfWlmKChnfDApPjE1MzMpe2M9
NTI2MDEzNTkwMTU0ODM3MzUwNzI0MDk4OS4wZTE4NjtiPWEqMS45MDEwOTE1NjYyOTUxNmUtMjEx
O2E9aSoxLjkwMTA5MTU2NjI5NTE2ZS0yMTF9ZWxzZXtyPShofDApPDU3MztjPXI/MS45MDEwOTE1
NjYyOTUxNmUtMjExOjEuMDtiPXI/YSo1MjYwMTM1OTAxNTQ4MzczNTA3MjQwOTg5LjBlMTg2OmE7
YT1yP2kqNTI2MDEzNTkwMTU0ODM3MzUwNzI0MDk4OS4wZTE4NjppfW0zKGosayxiKTttMyhsLG0s
YSk7YT1jKitKKCsoK3BbbT4+M10rICtwW2s+PjNdKyArcFtsPj4zXSsgK3Bbaj4+M10pKX19ZWxz
ZSBhPWk7d2hpbGUoMCk7dD1uO3JldHVybiArYX1mdW5jdGlvbiBtMyhhLGIsYyl7YT1hfDA7Yj1i
fDA7Yz0rYzt2YXIgZD0wLjAsZT0wLjA7ZT1jKjEzNDIxNzcyOS4wO2U9ZSsoYy1lKTtkPWMtZTtj
PWMqYztwW2E+PjNdPWM7cFtiPj4zXT1kKmQrKGUqZS1jK2UqMi4wKmQpO3JldHVybn1mdW5jdGlv
biBuMyhhLGMpe2E9YXwwO2M9Y3wwO3ZhciBkPTAsZT0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0w
LG09MCxuPTAsbz0wO289dDt0PXQrMjcyfDA7bT1vO249bysyNTZ8MDtkbyBpZighKGJbYz4+MF18
MCkpe2M9X2EoMTUxMjI5KXwwO2lmKGN8MD9iW2M+PjBdfDA6MClicmVhaztjPV9hKDY1NzI4Kyhh
KjEyfDApfDApfDA7aWYoY3wwP2JbYz4+MF18MDowKWJyZWFrO2M9X2EoMTUxMjM2KXwwO2lmKGN8
MD9iW2M+PjBdfDA6MClicmVhaztjPTE1MTI0MX13aGlsZSgwKTtkPTA7YTp3aGlsZSgxKXtzd2l0
Y2goYltjK2Q+PjBdfDApe2Nhc2UgNDc6Y2FzZSAwOmJyZWFrIGE7ZGVmYXVsdDp7fX1kPWQrMXww
O2lmKGQ+Pj4wPj0xNSl7ZD0xNTticmVha319ZT1iW2M+PjBdfDA7aWYoZTw8MjQ+PjI0IT00Nj8o
YltjK2Q+PjBdfDApPT0wOjApaWYoZTw8MjQ+PjI0PT02NylsPTE1O2Vsc2V7az1jO2w9MTZ9ZWxz
ZXtjPTE1MTI0MTtsPTE1fWlmKChsfDApPT0xNSlpZighKGJbYysxPj4wXXwwKSlsPTE4O2Vsc2V7
az1jO2w9MTZ9YjpkbyBpZigobHwwKT09MTYpaWYoKEgkKGssMTUxMjQxKXwwKSE9MD8oSCQoaywx
NTEyNDkpfDApIT0wOjApe2M9Zls0ODcwMV18MDtpZihjfDApZG97aWYoIShIJChrLGMrOHwwKXww
KSlicmVhayBiO2M9ZltjKzI0Pj4yXXwwfXdoaWxlKChjfDApIT0wKTtBYSgxOTQ4MDgpO2M9Zls0
ODcwMV18MDtjOmRvIGlmKGN8MCl7d2hpbGUoMSl7aWYoIShIJChrLGMrOHwwKXwwKSlicmVhaztj
PWZbYysyND4+Ml18MDtpZighYylicmVhayBjfVNhKDE5NDgwOCk7YnJlYWsgYn13aGlsZSgwKTtk
OmRvIGlmKCgoZls0ODY4Ml18MCk9PTA/KGc9X2EoMTUxMjU1KXwwLChnfDApIT0wKTowKT8oYltn
Pj4wXXwwKSE9MDowKXtpPTI1NC1kfDA7aj1kKzF8MDtlPWc7d2hpbGUoMSl7aD15MShlLDU4KXww
O2M9YltoPj4wXXwwO2c9aC1lKygoYzw8MjQ+PjI0IT0wKTw8MzE+PjMxKXwwO2lmKGc+Pj4wPGk+
Pj4wKXtRMyhtfDAsZXwwLGd8MCl8MDtlPW0rZ3wwO2JbZT4+MF09NDc7UTMoZSsxfDAsa3wwLGR8
MCl8MDtiW20rKGorZyk+PjBdPTA7ZT1CYShtfDAsbnwwKXwwO2lmKGV8MClicmVhaztjPWJbaD4+
MF18MH1lPWgrKGM8PDI0Pj4yNCE9MCYxKXwwO2lmKCEoYltlPj4wXXwwKSl7bD00MTticmVhayBk
fX1jPUxfKDI4KXwwO2lmKCFjKXtHMihlLGZbbj4+Ml18MCl8MDtsPTQxO2JyZWFrfWVsc2V7Zltj
Pj4yXT1lO2ZbYys0Pj4yXT1mW24+PjJdO249Yys4fDA7UTMobnwwLGt8MCxkfDApfDA7YltuK2Q+
PjBdPTA7ZltjKzI0Pj4yXT1mWzQ4NzAxXTtmWzQ4NzAxXT1jO2JyZWFrfX1lbHNlIGw9NDE7d2hp
bGUoMCk7aWYoKGx8MCk9PTQxKXtjPUxfKDI4KXwwO2lmKGMpe2ZbYz4+Ml09ZlsxOTU1NF07Zltj
KzQ+PjJdPWZbMTk1NTVdO249Yys4fDA7UTMobnwwLGt8MCxkfDApfDA7YltuK2Q+PjBdPTA7Zltj
KzI0Pj4yXT1mWzQ4NzAxXTtmWzQ4NzAxXT1jfX1TYSgxOTQ4MDgpO2M9KGF8MCk9PTAmKGN8MCk9
PTA/NzgyMTY6Y31lbHNle2M9aztsPTE4fXdoaWxlKDApO2RvIGlmKChsfDApPT0xOCl7aWYoKGF8
MCk9PTA/KGJbYysxPj4wXXwwKT09NDY6MCl7Yz03ODIxNjticmVha31jPTB9d2hpbGUoMCk7dD1v
O3JldHVybiBjfDB9ZnVuY3Rpb24gbzMoYSxjKXthPWF8MDtjPWN8MDt2YXIgZD0wLGU9MCxnPTAs
aD0wO2g9dDt0PXQrMTZ8MDtnPWg7ZG8gaWYoYT4+PjA+NiljPTA7ZWxzZXtBYSgxOTQ4MTYpO2lm
KChhfDApIT02KXtjPXAzKGEsYyl8MDtTYSgxOTQ4MTYpO2JyZWFrfWlmKGN8MCl7ZltnPj4yXT1m
WzE2NDUyXTtmW2crND4+Ml09ZlsxNjQ1M107ZltnKzg+PjJdPWZbMTY0NTRdO2ZbZysxMj4+Ml09
ZlsxNjQ1NV07ZT0wO2Rve2E9eTEoYyw1OSl8MDtkPWEtY3wwO2lmKChkfDApPDE2KXtRMyhnfDAs
Y3wwLGR8MCl8MDtiW2crZD4+MF09MDtjPShiW2E+PjBdfDApPT0wP2M6YSsxfDB9cDMoZSxnKXww
O2U9ZSsxfDB9d2hpbGUoKGV8MCkhPTYpfWM9MTkxNjE2O2E9MDt3aGlsZSgxKXtnPWZbMTk0NzYw
KyhhPDwyKT4+Ml18MDtnPShnfDApPT0wPzE1MTI2ODpnKzh8MDtkPWMwKGcpfDA7UTMoY3wwLGd8
MCxkfDApfDA7YltjK2Q+PjBdPTU5O2E9YSsxfDA7aWYoKGF8MCk9PTYpYnJlYWs7ZWxzZSBjPWMr
KGQrMSl8MH1iW2MrZD4+MF09MDtTYSgxOTQ4MTYpO2M9MTkxNjE2fXdoaWxlKDApO3Q9aDtyZXR1
cm4gY3wwfWZ1bmN0aW9uIHAzKGEsYil7YT1hfDA7Yj1ifDA7aWYoIWIpYT1mWzE5NDc2MCsoYTw8
Mik+PjJdfDA7ZWxzZXtiPW4zKGEsYil8MDtmWzE5NDc2MCsoYTw8Mik+PjJdPWI7YT1ifXJldHVy
biAoKGF8MCk9PTA/MTUxMjY4OmErOHwwKXwwfWZ1bmN0aW9uIHEzKGEsYixjKXthPSthO2I9K2I7
Yz1jfDA7dmFyIGQ9MC4wLGU9MC4wLGY9MC4wO2Y9YSphO2Q9ZiooZipmKSooZioxLjU4OTY5MDk5
NTIxMTU1ZS0xMCstMi41MDUwNzYwMjUzNDA2ODYzZS0wOCkrKGYqKGYqMi43NTU3MzEzNzA3MDcw
MDY4ZS0wNistMS45ODQxMjY5ODI5ODU3OTVlLTA0KSsuMDA4MzMzMzMzMzMzMzIyNDkpO2U9Ziph
O2lmKCFjKWE9ZSooZipkKy0uMTY2NjY2NjY2NjY2NjY2MzIpK2E7ZWxzZSBhPWEtKGUqLjE2NjY2
NjY2NjY2NjY2NjMyKyhmKihiKi41LWUqZCktYikpO3JldHVybiArYX1mdW5jdGlvbiByMyhhLGIp
e2E9K2E7Yj0rYjt2YXIgYz0wLjAsZD0wLjAsZT0wLjAsZj0wLjA7Yz1hKmE7ZD1jKmM7ZT1jKi41
O2Y9MS4wLWU7cmV0dXJuICsoZisoMS4wLWYtZSsoYyooYyooYyooYyoyLjQ4MDE1ODcyODk0NzY3
M2UtMDUrLS4wMDEzODg4ODg4ODg4ODc0MTEpKy4wNDE2NjY2NjY2NjY2NjY2KStkKmQqKGMqKDIu
MDg3NTcyMzIxMjk4MTc1ZS0wOS1jKjEuMTM1OTY0NzU1Nzc4ODE5NWUtMTEpKy0yLjc1NTczMTQz
NTEzOTA2NjNlLTA3KSktYSpiKSkpfWZ1bmN0aW9uIHMzKGEsYixjKXthPSthO2I9YnwwO2M9Y3ww
O3ZhciBkPTAuMCxlPTAsZz0wLGg9MCxpPTA7aD10O3Q9dCsxNnwwO2c9aDtwW3M+PjNdPWE7ZT1m
W3MrND4+Ml0mMjE0NzQ4MzY0NzthOmRvIGlmKGU+Pj4wPDEwNzIyNDMxOTYpaWYoZT4+PjA8MTA0
NDgxNjAzMCl7cFtiPj4zXT1hO3BbYz4+M109MS4wO2JyZWFrfWVsc2V7ZD0rcTMoYSwwLjAsMCk7
cFtiPj4zXT1kO2Q9K3IzKGEsMC4wKTtwW2M+PjNdPWQ7YnJlYWt9ZWxzZXtpZihlPj4+MD4yMTQ2
NDM1MDcxKXtkPWEtYTtwW2M+PjNdPWQ7cFtiPj4zXT1kO2JyZWFrfWU9dDMoYSxnKXwwO2k9Zys4
fDA7ZD0rcTMoK3BbZz4+M10sK3BbaT4+M10sMSk7YT0rcjMoK3BbZz4+M10sK3BbaT4+M10pO3N3
aXRjaChlJjMpe2Nhc2UgMDp7cFtiPj4zXT1kO3BbYz4+M109YTticmVhayBhfWNhc2UgMTp7cFti
Pj4zXT1hO3BbYz4+M109LWQ7YnJlYWsgYX1jYXNlIDI6e3BbYj4+M109LWQ7cFtjPj4zXT0tYTti
cmVhayBhfWNhc2UgMzp7cFtiPj4zXT0tYTtwW2M+PjNdPWQ7YnJlYWsgYX1kZWZhdWx0Ont9fX13
aGlsZSgwKTt0PWg7cmV0dXJufWZ1bmN0aW9uIHQzKGEsYil7YT0rYTtiPWJ8MDt2YXIgYz0wLGQ9
MC4wLGU9MC4wLGc9MC4wLGg9MCxpPTAuMCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxxPTAuMDtv
PXQ7dD10KzQ4fDA7aj1vKzE2fDA7az1vO3Bbcz4+M109YTtjPWZbcz4+Ml18MDtoPWZbcys0Pj4y
XXwwO2w9SzMoY3wwLGh8MCw2Myl8MDtuPWgmMjE0NzQ4MzY0NztkbyBpZihuPj4+MDwxMDc0NzUy
MTIzKWlmKChoJjEwNDg1NzV8MCkhPTU5ODUyMyl7Yz0obHwwKSE9MDtpZihuPj4+MDwxMDczOTI4
NTczKWlmKGMpe2c9YSsxLjU3MDc5NjMyNjczNDEyNTY7aT1nKzYuMDc3MTAwNTA2NTA2MTkyZS0x
MTtwW2I+PjNdPWk7cFtiKzg+PjNdPWctaSs2LjA3NzEwMDUwNjUwNjE5MmUtMTE7Yz0tMTticmVh
a31lbHNle2c9YSstMS41NzA3OTYzMjY3MzQxMjU2O2k9ZystNi4wNzcxMDA1MDY1MDYxOTJlLTEx
O3BbYj4+M109aTtwW2IrOD4+M109Zy1pKy02LjA3NzEwMDUwNjUwNjE5MmUtMTE7Yz0xO2JyZWFr
fWVsc2UgaWYoYyl7Zz1hKzMuMTQxNTkyNjUzNDY4MjUxMjtpPWcrMS4yMTU0MjAxMDEzMDEyMzg0
ZS0xMDtwW2I+PjNdPWk7cFtiKzg+PjNdPWctaSsxLjIxNTQyMDEwMTMwMTIzODRlLTEwO2M9LTI7
YnJlYWt9ZWxzZXtnPWErLTMuMTQxNTkyNjUzNDY4MjUxMjtpPWcrLTEuMjE1NDIwMTAxMzAxMjM4
NGUtMTA7cFtiPj4zXT1pO3BbYis4Pj4zXT1nLWkrLTEuMjE1NDIwMTAxMzAxMjM4NGUtMTA7Yz0y
O2JyZWFrfX1lbHNlIG09MjE7ZWxzZXtpZihuPj4+MDwxMDc1NTk0ODEyKWlmKG4+Pj4wPDEwNzUx
ODMwMzcpe2lmKChufDApPT0xMDc0OTc3MTQ4KXttPTIxO2JyZWFrfWlmKCFsKXtnPWErLTQuNzEy
Mzg4OTgwMjAyMzc3O2k9ZystMS44MjMxMzAxNTE5NTE4NTc4ZS0xMDtwW2I+PjNdPWk7cFtiKzg+
PjNdPWctaSstMS44MjMxMzAxNTE5NTE4NTc4ZS0xMDtjPTM7YnJlYWt9ZWxzZXtnPWErNC43MTIz
ODg5ODAyMDIzNzc7aT1nKzEuODIzMTMwMTUxOTUxODU3OGUtMTA7cFtiPj4zXT1pO3BbYis4Pj4z
XT1nLWkrMS44MjMxMzAxNTE5NTE4NTc4ZS0xMDtjPS0zO2JyZWFrfX1lbHNle2lmKChufDApPT0x
MDc1Mzg4OTIzKXttPTIxO2JyZWFrfWlmKCFsKXtnPWErLTYuMjgzMTg1MzA2OTM2NTAyNTtpPWcr
LTIuNDMwODQwMjAyNjAyNDc3ZS0xMDtwW2I+PjNdPWk7cFtiKzg+PjNdPWctaSstMi40MzA4NDAy
MDI2MDI0NzdlLTEwO2M9NDticmVha31lbHNle2c9YSs2LjI4MzE4NTMwNjkzNjUwMjU7aT1nKzIu
NDMwODQwMjAyNjAyNDc3ZS0xMDtwW2I+PjNdPWk7cFtiKzg+PjNdPWctaSsyLjQzMDg0MDIwMjYw
MjQ3N2UtMTA7Yz0tNDticmVha319aWYobj4+PjA+PTEwOTQyNjMyOTEpe2lmKG4+Pj4wPjIxNDY0
MzUwNzEpe2k9YS1hO3BbYis4Pj4zXT1pO3BbYj4+M109aTtjPTA7YnJlYWt9ZltzPj4yXT1jO2Zb
cys0Pj4yXT1oJjEwNDg1NzV8MTA5NjgxMDQ5NjthPStwW3M+PjNdO2M9MDtkb3tpPSsofn5hfDAp
O3BbaisoYzw8Myk+PjNdPWk7YT0oYS1pKSoxNjc3NzIxNi4wO2M9YysxfDB9d2hpbGUoKGN8MCkh
PTIpO3BbaisxNj4+M109YTtpZihhPT0wLjApe2M9MTt3aGlsZSgxKWlmKCtwW2orKGM8PDMpPj4z
XT09MC4wKWM9YystMXwwO2Vsc2UgYnJlYWt9ZWxzZSBjPTI7Yz11MyhqLGssKG4+Pj4yMCkrLTEw
NDZ8MCxjKzF8MCwxKXwwO2E9K3Bbaz4+M107aWYoIWwpe3BbYj4+M109YTtwW2IrOD4+M109K3Bb
ays4Pj4zXTticmVha31lbHNle3BbYj4+M109LWE7cFtiKzg+PjNdPS0rcFtrKzg+PjNdO2M9MC1j
fDA7YnJlYWt9fWVsc2UgbT0yMX13aGlsZSgwKTtpZigobXwwKT09MjEpe2c9YSouNjM2NjE5Nzcy
MzY3NTgxNCs2NzU1Mzk5NDQxMDU1NzQ0LjArLTY3NTUzOTk0NDEwNTU3NDQuMDtjPX5+ZztkPWEt
ZyoxLjU3MDc5NjMyNjczNDEyNTY7ZT1nKjYuMDc3MTAwNTA2NTA2MTkyZS0xMTthPWQtZTtwW2I+
PjNdPWE7cFtzPj4zXT1hO209SzMoZltzPj4yXXwwLGZbcys0Pj4yXXwwLDUyKXwwO2g9bj4+PjIw
O2lmKChoLShtJjIwNDcpfDApPjE2KXtlPWcqNi4wNzcxMDA1MDYzMDM5NjZlLTExO2k9ZC1lO2U9
ZyoyLjAyMjI2NjI0ODc5NTk1MDZlLTIxLShkLWktZSk7YT1pLWU7cFtiPj4zXT1hO3Bbcz4+M109
YTtuPUszKGZbcz4+Ml18MCxmW3MrND4+Ml18MCw1Mil8MDtxPWcqMi4wMjIyNjYyNDg3MTExNjY1
ZS0yMTtkPWktcTtnPWcqOC40Nzg0Mjc2NjAzNjg5ZS0zMi0oaS1kLXEpO2lmKChoLShuJjIwNDcp
fDApPjQ5KXthPWQtZztwW2I+PjNdPWE7ZT1nfWVsc2UgZD1pfXBbYis4Pj4zXT1kLWEtZX10PW87
cmV0dXJuIGN8MH1mdW5jdGlvbiB1MyhhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHww
O2U9ZXwwO3ZhciBnPTAuMCxoPTAuMCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscT0wLHI9
MCxzPTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0w
LEk9MC4wO0c9dDt0PXQrNTYwfDA7Qz1HKzQ4MHwwO3k9RyszMjB8MDtGPUcrMTYwfDA7RT1HO0Q9
Zls2NTgyNCsoZTw8Mik+PjJdfDA7bj1kKy0xfDA7ej0oYystM3wwKS8yNHwwO3o9KHp8MCk+MD96
OjA7QT1WKHosLTI0KXwwO2k9YystMjQrQXwwO2lmKChEK258MCk+PTApe2w9RCtkfDA7aj16LW58
MDtrPTA7d2hpbGUoMSl7aWYoKGp8MCk8MClnPTAuMDtlbHNlIGc9KyhmWzY1ODQwKyhqPDwyKT4+
Ml18MCk7cFt5KyhrPDwzKT4+M109ZztrPWsrMXwwO2lmKChrfDApPT0obHwwKSlicmVhaztlbHNl
IGo9aisxfDB9fW09KGR8MCk+MDtsPTA7d2hpbGUoMSl7aWYobSl7az1sK258MDtnPTAuMDtqPTA7
ZG97Zz1nKyArcFthKyhqPDwzKT4+M10qK3BbeSsoay1qPDwzKT4+M107aj1qKzF8MH13aGlsZSgo
anwwKSE9KGR8MCkpfWVsc2UgZz0wLjA7cFtFKyhsPDwzKT4+M109ZztpZigobHwwKTwoRHwwKSls
PWwrMXwwO2Vsc2UgYnJlYWt9cz0oaXwwKT4wO3U9MjQtaXwwO3Y9MjMtaXwwO3c9KGl8MCk9PTA7
eD0oZHwwKT4wO2o9RDt3aGlsZSgxKXtnPStwW0UrKGo8PDMpPj4zXTttPShqfDApPjA7aWYobSl7
az1qO2w9MDt3aGlsZSgxKXtoPSsofn4oZyo1Ljk2MDQ2NDQ3NzUzOTA2MjVlLTA4KXwwKTtmW0Mr
KGw8PDIpPj4yXT1+fihnLWgqMTY3NzcyMTYuMCk7cj1rO2s9aystMXwwO2c9K3BbRSsoazw8Myk+
PjNdK2g7aWYoKHJ8MCk8PTEpYnJlYWs7ZWxzZSBsPWwrMXwwfX1nPStZMShnLGkpO2c9Zy0rSCgr
KGcqLjEyNSkpKjguMDtrPX5+ZztnPWctKyhrfDApO2RvIGlmKCFzKWlmKCF3KWlmKCEoZz49LjUp
KXtuPTA7cj1rO2JyZWFrfWVsc2V7bD0yO0I9MjI7YnJlYWt9ZWxzZXtsPWZbQysoaistMTw8Mik+
PjJdPj4yMztCPTIxO2JyZWFrfWVsc2V7cj1DKyhqKy0xPDwyKXwwO2w9ZltyPj4yXXwwO0I9bD4+
dTtsPWwtKEI8PHUpfDA7ZltyPj4yXT1sO2w9bD4+djtrPUIra3wwO0I9MjF9d2hpbGUoMCk7aWYo
KEJ8MCk9PTIxKXtCPTA7aWYoKGx8MCk+MClCPTIyO2Vsc2V7bj1sO3I9a319aWYoKEJ8MCk9PTIy
KXtCPTA7cj1rKzF8MDtpZihtKXtrPTA7cT0wO2Rve249QysocTw8Mil8MDtvPWZbbj4+Ml18MDtp
ZighaylpZighbylrPTA7ZWxzZXtrPTE7bT0xNjc3NzIxNjtCPTI2fWVsc2V7bT0xNjc3NzIxNTtC
PTI2fWlmKChCfDApPT0yNil7Qj0wO2Zbbj4+Ml09bS1vfXE9cSsxfDB9d2hpbGUoKHF8MCkhPShq
fDApKX1lbHNlIGs9MDthOmRvIGlmKHMpc3dpdGNoKGl8MCl7Y2FzZSAxOntxPUMrKGorLTE8PDIp
fDA7ZltxPj4yXT1mW3E+PjJdJjgzODg2MDc7YnJlYWsgYX1jYXNlIDI6e3E9QysoaistMTw8Mil8
MDtmW3E+PjJdPWZbcT4+Ml0mNDE5NDMwMzticmVhayBhfWRlZmF1bHQ6YnJlYWsgYX13aGlsZSgw
KTtpZigobHwwKT09Mil7Zz0xLjAtZztpZighayluPTI7ZWxzZXtuPTI7Zz1nLStZMSgxLjAsaSl9
fWVsc2Ugbj1sfWlmKCEoZz09MC4wKSl7Qj00OTticmVha31pZigoanwwKT4oRHwwKSl7az0wO2w9
ajtkb3tsPWwrLTF8MDtrPWZbQysobDw8Mik+PjJdfGt9d2hpbGUoKGx8MCk+KER8MCkpO2lmKGt8
MCl7Qj00MTticmVha319az0xO3doaWxlKDEpaWYoIShmW0MrKEQtazw8Mik+PjJdfDApKWs9aysx
fDA7ZWxzZSBicmVhazttPWsranwwO2Rve2w9aitkfDA7aj1qKzF8MDtwW3krKGw8PDMpPj4zXT0r
KGZbNjU4NDArKGorejw8Mik+PjJdfDApO2lmKHgpe2c9MC4wO2s9MDtkb3tnPWcrICtwW2ErKGs8
PDMpPj4zXSorcFt5KyhsLWs8PDMpPj4zXTtrPWsrMXwwfXdoaWxlKChrfDApIT0oZHwwKSl9ZWxz
ZSBnPTAuMDtwW0UrKGo8PDMpPj4zXT1nfXdoaWxlKChqfDApPChtfDApKTtqPW19aWYoKEJ8MCk9
PTQxKXtkb3tpPWkrLTI0fDA7aj1qKy0xfDB9d2hpbGUoKGZbQysoajw8Mik+PjJdfDApPT0wKTtt
PWp9ZWxzZSBpZigoQnwwKT09NDkpe2c9K1kxKGcsMC1pfDApO2lmKCEoZz49MTY3NzcyMTYuMCkp
az1+fmc7ZWxzZXtrPX5+KGcqNS45NjA0NjQ0Nzc1MzkwNjI1ZS0wOCk7ZltDKyhqPDwyKT4+Ml09
fn4oZy0rKGt8MCkqMTY3NzcyMTYuMCk7aT1BK2N8MDtqPWorMXwwfWZbQysoajw8Mik+PjJdPWs7
bT1qfWc9K1kxKDEuMCxpKTtsPShtfDApPi0xO2lmKGwpe2k9bTt3aGlsZSgxKXtwW0UrKGk8PDMp
Pj4zXT1nKisoZltDKyhpPDwyKT4+Ml18MCk7aWYoKGl8MCk+MCl7Zz1nKjUuOTYwNDY0NDc3NTM5
MDYyNWUtMDg7aT1pKy0xfDB9ZWxzZSBicmVha31pZihsKXtqPW07d2hpbGUoMSl7az1tLWp8MDtp
PTA7Zz0wLjA7d2hpbGUoMSl7Zz1nKyArcFs2NjExMisoaTw8Myk+PjNdKitwW0UrKGkrajw8Myk+
PjNdO2lmKChpfDApPj0oRHwwKXxpPj4+MD49az4+PjApYnJlYWs7ZWxzZSBpPWkrMXwwfXBbRiso
azw8Myk+PjNdPWc7aWYoKGp8MCk+MClqPWorLTF8MDtlbHNlIGJyZWFrfX19YjpkbyBzd2l0Y2go
ZXwwKXtjYXNlIDA6e2lmKGwpe2c9MC4wO2k9bTt3aGlsZSgxKXtnPWcrICtwW0YrKGk8PDMpPj4z
XTtpZigoaXwwKT4wKWk9aSstMXwwO2Vsc2UgYnJlYWt9fWVsc2UgZz0wLjA7cFtiPj4zXT0obnww
KT09MD9nOi1nO2JyZWFrfWNhc2UgMjpjYXNlIDE6e2lmKGwpe2c9MC4wO2k9bTt3aGlsZSgxKXtn
PWcrICtwW0YrKGk8PDMpPj4zXTtpZigoaXwwKT4wKWk9aSstMXwwO2Vsc2UgYnJlYWt9fWVsc2Ug
Zz0wLjA7aj0obnwwKT09MDtwW2I+PjNdPWo/ZzotZztnPStwW0Y+PjNdLWc7aWYoKG18MCk+PTEp
e2k9MTt3aGlsZSgxKXtnPWcrICtwW0YrKGk8PDMpPj4zXTtpZigoaXwwKT09KG18MCkpYnJlYWs7
ZWxzZSBpPWkrMXwwfX1wW2IrOD4+M109aj9nOi1nO2JyZWFrfWNhc2UgMzp7aWYoKG18MCk+MCl7
aT1tO2c9K3BbRisobTw8Myk+PjNdO2Rve0U9aTtpPWkrLTF8MDtlPUYrKGk8PDMpfDA7aD0rcFtl
Pj4zXTtJPWc7Zz1oK2c7cFtGKyhFPDwzKT4+M109SSsoaC1nKTtwW2U+PjNdPWd9d2hpbGUoKEV8
MCk+MSk7aj0obXwwKT4xO2lmKGope2k9bTtnPStwW0YrKG08PDMpPj4zXTtkb3tFPWk7aT1pKy0x
fDA7ZT1GKyhpPDwzKXwwO0k9K3BbZT4+M107aD1nO2c9SStnO3BbRisoRTw8Myk+PjNdPWgrKEkt
Zyk7cFtlPj4zXT1nfXdoaWxlKChFfDApPjIpO2lmKGope2k9bTtnPTAuMDt3aGlsZSgxKXtnPWcr
ICtwW0YrKGk8PDMpPj4zXTtpZigoaXwwKT4yKWk9aSstMXwwO2Vsc2UgYnJlYWt9fWVsc2UgZz0w
LjB9ZWxzZSBnPTAuMH1lbHNlIGc9MC4wO2g9K3BbRj4+M107aWYoIW4pe3BbYj4+M109aDtwW2Ir
OD4+M109K3BbRis4Pj4zXTtwW2IrMTY+PjNdPWc7YnJlYWsgYn1lbHNle3BbYj4+M109LWg7cFti
Kzg+PjNdPS0rcFtGKzg+PjNdO3BbYisxNj4+M109LWc7YnJlYWsgYn19ZGVmYXVsdDp7fX13aGls
ZSgwKTt0PUc7cmV0dXJuIHImN3wwfWZ1bmN0aW9uIHYzKGEpe2E9K2E7dmFyIGI9MCxjPTAsZD0w
LGU9MC4wLGc9MC4wO3Bbcz4+M109YTtjPWZbcys0Pj4yXXwwO2I9YyYyMTQ3NDgzNjQ3O2RvIGlm
KGI+Pj4wPjIxNDY0MzUwNzEpYT1hK2E7ZWxzZXtpZihiPj4+MDwxMDQ4NTc2KXtwW3M+PjNdPWEq
MTgwMTQzOTg1MDk0ODE5ODQuMDtjPWZbcys0Pj4yXXwwO2I9YyYyMTQ3NDgzNjQ3O2lmKCFiKWJy
ZWFrO2Vsc2UgZD02OTYyMTk3OTV9ZWxzZSBkPTcxNTA5NDE2MztmW3M+PjJdPTA7ZltzKzQ+PjJd
PSgoYj4+PjApLzN8MCkrZHxjJi0yMTQ3NDgzNjQ4O2U9K3Bbcz4+M107Zz1lKmUqKGUvYSk7cFtz
Pj4zXT0oZyooZypnKSooZyouMTQ1OTk2MTkyODg2NjEyNDUrLS43NTgzOTc5MzQ3Nzg3NjYpKyhn
KihnKjEuNjIxNDI5NzIwMTA1MzU0NSstMS44ODQ5Nzk3OTU0MzM3NzE3KSsxLjg3NTk1MTgyNDI3
MTc3KSkqZTtjPUUzKGZbcz4+Ml18MCxmW3MrND4+Ml18MCwtMjE0NzQ4MzY0OCwwKXwwO2Q9Rztm
W3M+PjJdPWMmLTEwNzM3NDE4MjQ7ZltzKzQ+PjJdPWQ7ZT0rcFtzPj4zXTthPWEvKGUqZSk7YT0o
YS1lKS8oZStlK2EpKmUrZX13aGlsZSgwKTtyZXR1cm4gK2F9ZnVuY3Rpb24gdzMoKXt5YSgxOTQ4
NDApO3JldHVybn1mdW5jdGlvbiB4Mygpe3JldHVybiAxOTQ4MjR9ZnVuY3Rpb24geTMoKXtyZXR1
cm4gMTk0ODMyfWZ1bmN0aW9uIHozKCl7cmV0dXJuIDE5NDgzNn1mdW5jdGlvbiBBMygpe3JldHVy
biAxOTQ4NDB9ZnVuY3Rpb24gQjMoKXt9ZnVuY3Rpb24gQzMoYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wLGQ9MCxlPTAsZj0wO2Y9YSY2NTUzNTtlPWImNjU1MzU7Yz1WKGUsZil8MDtkPWE+Pj4xNjth
PShjPj4+MTYpKyhWKGUsZCl8MCl8MDtlPWI+Pj4xNjtiPVYoZSxmKXwwO3JldHVybiAoRz0oYT4+
PjE2KSsoVihlLGQpfDApKygoKGEmNjU1MzUpK2J8MCk+Pj4xNil8MCxhK2I8PDE2fGMmNjU1MzV8
MCl8MH1mdW5jdGlvbiBEMyhhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0w
LGY9MDtlPWE7Zj1jO2M9QzMoZSxmKXwwO2E9RztyZXR1cm4gKEc9KFYoYixmKXwwKSsoVihkLGUp
fDApK2F8YSYwLGN8MHwwKXwwfWZ1bmN0aW9uIEUzKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3ww
O2Q9ZHwwO2M9YStjPj4+MDtyZXR1cm4gKEc9YitkKyhjPj4+MDxhPj4+MHwwKT4+PjAsY3wwKXww
fWZ1bmN0aW9uIEYzKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2Q9Yi1kLShjPj4+
MD5hPj4+MHwwKT4+PjA7cmV0dXJuIChHPWQsYS1jPj4+MHwwKXwwfWZ1bmN0aW9uIEczKGEpe2E9
YXwwO3JldHVybiAoYT8zMS0oWShhXmEtMSl8MCl8MDozMil8MH1mdW5jdGlvbiBIMyhhLGIsYyxk
LGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0w
LGw9MCxtPTAsbj0wLG89MCxwPTA7bD1hO2o9YjtrPWo7aD1jO249ZDtpPW47aWYoIWspe2c9KGV8
MCkhPTA7aWYoIWkpe2lmKGcpe2ZbZT4+Ml09KGw+Pj4wKSUoaD4+PjApO2ZbZSs0Pj4yXT0wfW49
MDtlPShsPj4+MCkvKGg+Pj4wKT4+PjA7cmV0dXJuIChHPW4sZSl8MH1lbHNle2lmKCFnKXtuPTA7
ZT0wO3JldHVybiAoRz1uLGUpfDB9ZltlPj4yXT1hfDA7ZltlKzQ+PjJdPWImMDtuPTA7ZT0wO3Jl
dHVybiAoRz1uLGUpfDB9fWc9KGl8MCk9PTA7ZG8gaWYoaCl7aWYoIWcpe2c9KFkoaXwwKXwwKS0o
WShrfDApfDApfDA7aWYoZz4+PjA8PTMxKXttPWcrMXwwO2k9MzEtZ3wwO2I9Zy0zMT4+MzE7aD1t
O2E9bD4+PihtPj4+MCkmYnxrPDxpO2I9az4+PihtPj4+MCkmYjtnPTA7aT1sPDxpO2JyZWFrfWlm
KCFlKXtuPTA7ZT0wO3JldHVybiAoRz1uLGUpfDB9ZltlPj4yXT1hfDA7ZltlKzQ+PjJdPWp8YiYw
O249MDtlPTA7cmV0dXJuIChHPW4sZSl8MH1nPWgtMXwwO2lmKGcmaHwwKXtpPShZKGh8MCl8MCkr
MzMtKFkoa3wwKXwwKXwwO3A9NjQtaXwwO209MzItaXwwO2o9bT4+MzE7bz1pLTMyfDA7Yj1vPj4z
MTtoPWk7YT1tLTE+PjMxJms+Pj4obz4+PjApfChrPDxtfGw+Pj4oaT4+PjApKSZiO2I9YiZrPj4+
KGk+Pj4wKTtnPWw8PHAmajtpPShrPDxwfGw+Pj4obz4+PjApKSZqfGw8PG0maS0zMz4+MzE7YnJl
YWt9aWYoZXwwKXtmW2U+PjJdPWcmbDtmW2UrND4+Ml09MH1pZigoaHwwKT09MSl7bz1qfGImMDtw
PWF8MHwwO3JldHVybiAoRz1vLHApfDB9ZWxzZXtwPUczKGh8MCl8MDtvPWs+Pj4ocD4+PjApfDA7
cD1rPDwzMi1wfGw+Pj4ocD4+PjApfDA7cmV0dXJuIChHPW8scCl8MH19ZWxzZXtpZihnKXtpZihl
fDApe2ZbZT4+Ml09KGs+Pj4wKSUoaD4+PjApO2ZbZSs0Pj4yXT0wfW89MDtwPShrPj4+MCkvKGg+
Pj4wKT4+PjA7cmV0dXJuIChHPW8scCl8MH1pZighbCl7aWYoZXwwKXtmW2U+PjJdPTA7ZltlKzQ+
PjJdPShrPj4+MCklKGk+Pj4wKX1vPTA7cD0oaz4+PjApLyhpPj4+MCk+Pj4wO3JldHVybiAoRz1v
LHApfDB9Zz1pLTF8MDtpZighKGcmaSkpe2lmKGV8MCl7ZltlPj4yXT1hfDA7ZltlKzQ+PjJdPWcm
a3xiJjB9bz0wO3A9az4+PigoRzMoaXwwKXwwKT4+PjApO3JldHVybiAoRz1vLHApfDB9Zz0oWShp
fDApfDApLShZKGt8MCl8MCl8MDtpZihnPj4+MDw9MzApe2I9ZysxfDA7aT0zMS1nfDA7aD1iO2E9
azw8aXxsPj4+KGI+Pj4wKTtiPWs+Pj4oYj4+PjApO2c9MDtpPWw8PGk7YnJlYWt9aWYoIWUpe289
MDtwPTA7cmV0dXJuIChHPW8scCl8MH1mW2U+PjJdPWF8MDtmW2UrND4+Ml09anxiJjA7bz0wO3A9
MDtyZXR1cm4gKEc9byxwKXwwfXdoaWxlKDApO2lmKCFoKXtrPWk7aj0wO2k9MH1lbHNle209Y3ww
fDA7bD1ufGQmMDtrPUUzKG18MCxsfDAsLTEsLTEpfDA7Yz1HO2o9aTtpPTA7ZG97ZD1qO2o9Zz4+
PjMxfGo8PDE7Zz1pfGc8PDE7ZD1hPDwxfGQ+Pj4zMXwwO249YT4+PjMxfGI8PDF8MDtGMyhrfDAs
Y3wwLGR8MCxufDApfDA7cD1HO289cD4+MzF8KChwfDApPDA/LTE6MCk8PDE7aT1vJjE7YT1GMyhk
fDAsbnwwLG8mbXwwLCgoKHB8MCk8MD8tMTowKT4+MzF8KChwfDApPDA/LTE6MCk8PDEpJmx8MCl8
MDtiPUc7aD1oLTF8MH13aGlsZSgoaHwwKSE9MCk7az1qO2o9MH1oPTA7aWYoZXwwKXtmW2U+PjJd
PWE7ZltlKzQ+PjJdPWJ9bz0oZ3wwKT4+PjMxfChrfGgpPDwxfChoPDwxfGc+Pj4zMSkmMHxqO3A9
KGc8PDF8MD4+PjMxKSYtMnxpO3JldHVybiAoRz1vLHApfDB9ZnVuY3Rpb24gSTMoYSxiLGMsZCl7
YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7cmV0dXJuIEgzKGEsYixjLGQsMCl8MH1mdW5jdGlvbiBK
MyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7aWYoKGN8MCk8MzIpe0c9Yj4+YztyZXR1cm4gYT4+
PmN8KGImKDE8PGMpLTEpPDwzMi1jfUc9KGJ8MCk8MD8tMTowO3JldHVybiBiPj5jLTMyfDB9ZnVu
Y3Rpb24gSzMoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2lmKChjfDApPDMyKXtHPWI+Pj5jO3Jl
dHVybiBhPj4+Y3woYiYoMTw8YyktMSk8PDMyLWN9Rz0wO3JldHVybiBiPj4+Yy0zMnwwfWZ1bmN0
aW9uIEwzKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtpZigoY3wwKTwzMil7Rz1iPDxjfChhJigx
PDxjKS0xPDwzMi1jKT4+PjMyLWM7cmV0dXJuIGE8PGN9Rz1hPDxjLTMyO3JldHVybiAwfWZ1bmN0
aW9uIE0zKGEpe2E9YXwwO3JldHVybiAoYSYyNTUpPDw4fGE+PjgmMjU1fDB9ZnVuY3Rpb24gTjMo
YSl7YT1hfDA7cmV0dXJuIChhJjI1NSk8PDI0fChhPj44JjI1NSk8PDE2fChhPj4xNiYyNTUpPDw4
fGE+Pj4yNHwwfWZ1bmN0aW9uIE8zKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3Zh
ciBlPTA7eD14KzF8MDtmW2E+PjJdPXg7d2hpbGUoKGV8MCk8KGR8MCkpe2lmKCEoZltjKyhlPDwz
KT4+Ml18MCkpe2ZbYysoZTw8Myk+PjJdPXg7ZltjKygoZTw8MykrNCk+PjJdPWI7ZltjKygoZTw8
MykrOCk+PjJdPTA7Rz1kO3JldHVybiBjfDB9ZT1lKzF8MH1kPWQqMnwwO2M9T18oY3wwLDgqKGQr
MXwwKXwwKXwwO2M9TzMoYXwwLGJ8MCxjfDAsZHwwKXwwO0c9ZDtyZXR1cm4gY3wwfWZ1bmN0aW9u
IFAzKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MDt3aGlsZSgoZXwwKTwoY3ww
KSl7ZD1mW2IrKGU8PDMpPj4yXXwwO2lmKCFkKWJyZWFrO2lmKChkfDApPT0oYXwwKSlyZXR1cm4g
ZltiKygoZTw8MykrNCk+PjJdfDA7ZT1lKzF8MH1yZXR1cm4gMH1mdW5jdGlvbiBRMyhhLGMsZCl7
YT1hfDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxnPTAsaD0wO2lmKChkfDApPj04MTkyKXJldHVybiBZ
YShhfDAsY3wwLGR8MCl8MDtoPWF8MDtnPWErZHwwO2lmKChhJjMpPT0oYyYzKSl7d2hpbGUoYSYz
KXtpZighZClyZXR1cm4gaHwwO2JbYT4+MF09YltjPj4wXXwwO2E9YSsxfDA7Yz1jKzF8MDtkPWQt
MXwwfWQ9ZyYtNHwwO2U9ZC02NHwwO3doaWxlKChhfDApPD0oZXwwKSl7ZlthPj4yXT1mW2M+PjJd
O2ZbYSs0Pj4yXT1mW2MrND4+Ml07ZlthKzg+PjJdPWZbYys4Pj4yXTtmW2ErMTI+PjJdPWZbYysx
Mj4+Ml07ZlthKzE2Pj4yXT1mW2MrMTY+PjJdO2ZbYSsyMD4+Ml09ZltjKzIwPj4yXTtmW2ErMjQ+
PjJdPWZbYysyND4+Ml07ZlthKzI4Pj4yXT1mW2MrMjg+PjJdO2ZbYSszMj4+Ml09ZltjKzMyPj4y
XTtmW2ErMzY+PjJdPWZbYyszNj4+Ml07ZlthKzQwPj4yXT1mW2MrNDA+PjJdO2ZbYSs0ND4+Ml09
ZltjKzQ0Pj4yXTtmW2ErNDg+PjJdPWZbYys0OD4+Ml07ZlthKzUyPj4yXT1mW2MrNTI+PjJdO2Zb
YSs1Nj4+Ml09ZltjKzU2Pj4yXTtmW2ErNjA+PjJdPWZbYys2MD4+Ml07YT1hKzY0fDA7Yz1jKzY0
fDB9d2hpbGUoKGF8MCk8KGR8MCkpe2ZbYT4+Ml09ZltjPj4yXTthPWErNHwwO2M9Yys0fDB9fWVs
c2V7ZD1nLTR8MDt3aGlsZSgoYXwwKTwoZHwwKSl7YlthPj4wXT1iW2M+PjBdfDA7YlthKzE+PjBd
PWJbYysxPj4wXXwwO2JbYSsyPj4wXT1iW2MrMj4+MF18MDtiW2ErMz4+MF09YltjKzM+PjBdfDA7
YT1hKzR8MDtjPWMrNHwwfX13aGlsZSgoYXwwKTwoZ3wwKSl7YlthPj4wXT1iW2M+PjBdfDA7YT1h
KzF8MDtjPWMrMXwwfXJldHVybiBofDB9ZnVuY3Rpb24gUjMoYSxjLGQpe2E9YXwwO2M9Y3wwO2Q9
ZHwwO3ZhciBlPTA7aWYoKGN8MCk8KGF8MCkmKGF8MCk8KGMrZHwwKSl7ZT1hO2M9YytkfDA7YT1h
K2R8MDt3aGlsZSgoZHwwKT4wKXthPWEtMXwwO2M9Yy0xfDA7ZD1kLTF8MDtiW2E+PjBdPWJbYz4+
MF18MH1hPWV9ZWxzZSBRMyhhLGMsZCl8MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIFMzKGEsYyxkKXth
PWF8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGc9MCxoPTAsaT0wO2g9YStkfDA7Yz1jJjI1NTtpZigo
ZHwwKT49Njcpe3doaWxlKGEmMyl7YlthPj4wXT1jO2E9YSsxfDB9ZT1oJi00fDA7Zz1lLTY0fDA7
aT1jfGM8PDh8Yzw8MTZ8Yzw8MjQ7d2hpbGUoKGF8MCk8PShnfDApKXtmW2E+PjJdPWk7ZlthKzQ+
PjJdPWk7ZlthKzg+PjJdPWk7ZlthKzEyPj4yXT1pO2ZbYSsxNj4+Ml09aTtmW2ErMjA+PjJdPWk7
ZlthKzI0Pj4yXT1pO2ZbYSsyOD4+Ml09aTtmW2ErMzI+PjJdPWk7ZlthKzM2Pj4yXT1pO2ZbYSs0
MD4+Ml09aTtmW2ErNDQ+PjJdPWk7ZlthKzQ4Pj4yXT1pO2ZbYSs1Mj4+Ml09aTtmW2ErNTY+PjJd
PWk7ZlthKzYwPj4yXT1pO2E9YSs2NHwwfXdoaWxlKChhfDApPChlfDApKXtmW2E+PjJdPWk7YT1h
KzR8MH19d2hpbGUoKGF8MCk8KGh8MCkpe2JbYT4+MF09YzthPWErMXwwfXJldHVybiBoLWR8MH1m
dW5jdGlvbiBUMyhhKXthPWF8MDt2YXIgYj0wLGM9MDtjPWZbcj4+Ml18MDtiPWMrYXwwO2lmKChh
fDApPjAmKGJ8MCk8KGN8MCl8KGJ8MCk8MCl7YmEoKXwwO0NhKDEyKTtyZXR1cm4gLTF9ZltyPj4y
XT1iO2lmKChifDApPihhYSgpfDApPygkKCl8MCk9PTA6MCl7ZltyPj4yXT1jO0NhKDEyKTtyZXR1
cm4gLTF9cmV0dXJuIGN8MH1mdW5jdGlvbiBVMyhhKXthPWF8MDtyZXR1cm4gK3BiW2EmMV0oKX1m
dW5jdGlvbiBWMyhhLGIsYyxkKXthPWF8MDtiPStiO2M9K2M7ZD0rZDtyZXR1cm4gK3FiW2EmN10o
K2IsK2MsK2QpfWZ1bmN0aW9uIFczKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuICtyYlthJjFdKGJ8
MCl9ZnVuY3Rpb24gWDMoYSl7YT1hfDA7cmV0dXJuIHNiW2EmM10oKXwwfWZ1bmN0aW9uIFkzKGEs
Yil7YT1hfDA7Yj1ifDA7cmV0dXJuIHRiW2EmNjNdKGJ8MCl8MH1mdW5jdGlvbiBaMyhhLGIsYyl7
YT1hfDA7Yj1ifDA7Yz1jfDA7cmV0dXJuIHViW2EmMTI3XShifDAsY3wwKXwwfWZ1bmN0aW9uIF8z
KGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD0rZDtlPStlO3JldHVybiB2YlthJjNdKGJ8
MCxjfDAsK2QsK2UpfDB9ZnVuY3Rpb24gJDMoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1k
fDA7cmV0dXJuIHdiW2EmNjNdKGJ8MCxjfDAsZHwwKXwwfWZ1bmN0aW9uIGE0KGEsYixjLGQsZSl7
YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7cmV0dXJuIHhiW2EmMTI3XShifDAsY3wwLGR8
MCxlfDApfDB9ZnVuY3Rpb24gYjQoYSxiLGMsZCxlLGYpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHww
O2U9ZXwwO2Y9ZnwwO3JldHVybiB5YlthJjEyN10oYnwwLGN8MCxkfDAsZXwwLGZ8MCl8MH1mdW5j
dGlvbiBjNChhLGIsYyxkLGUsZixnKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtmPWZ8
MDtnPWd8MDtyZXR1cm4gemJbYSYxXShifDAsY3wwLGR8MCxlfDAsZnwwLGd8MCl8MH1mdW5jdGlv
biBkNChhLGIsYyxkLGUsZixnLGgsaSxqLGspe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXww
O2Y9ZnwwO2c9Z3wwO2g9aHwwO2k9aXwwO2o9anwwO2s9a3wwO3JldHVybiBBYlthJjNdKGJ8MCxj
fDAsZHwwLGV8MCxmfDAsZ3wwLGh8MCxpfDAsanwwLGt8MCl8MH1mdW5jdGlvbiBlNChhKXthPWF8
MDtCYlthJjE1XSgpfWZ1bmN0aW9uIGY0KGEsYil7YT1hfDA7Yj1ifDA7Q2JbYSYxMjddKGJ8MCl9
ZnVuY3Rpb24gZzQoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO0RiW2EmNjNdKGJ8MCxjfDApfWZ1
bmN0aW9uIGg0KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO0ViW2EmMTI3XShifDAs
Y3wwLGR8MCl9ZnVuY3Rpb24gaTQoYSxiLGMsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1k
fDA7ZT0rZTtmPStmO2c9Z3wwO0ZiW2EmMTVdKGJ8MCxjfDAsZHwwLCtlLCtmLGd8MCl9ZnVuY3Rp
b24gajQoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtHYlthJjMxXShi
fDAsY3wwLGR8MCxlfDApfWZ1bmN0aW9uIGs0KGEsYixjLGQsZSxmKXthPWF8MDtiPWJ8MDtjPWN8
MDtkPWR8MDtlPWV8MDtmPWZ8MDtIYlthJjE1XShifDAsY3wwLGR8MCxlfDAsZnwwKX1mdW5jdGlv
biBsNChhLGIsYyxkLGUsZixnKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtmPWZ8MDtn
PWd8MDtJYlthJjE1XShifDAsY3wwLGR8MCxlfDAsZnwwLGd8MCl9ZnVuY3Rpb24gbTQoYSxiLGMs
ZCxlLGYsZyxoLGksail7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7
aD1ofDA7aT1pfDA7aj1qfDA7SmJbYSYwXShifDAsY3wwLGR8MCxlfDAsZnwwLGd8MCxofDAsaXww
LGp8MCl9ZnVuY3Rpb24gbjQoKXtaKDApO3JldHVybiAwLjB9ZnVuY3Rpb24gbzQoYSxiLGMpe2E9
K2E7Yj0rYjtjPStjO1ooMSk7cmV0dXJuIDAuMH1mdW5jdGlvbiBwNChhKXthPWF8MDtaKDIpO3Jl
dHVybiAwLjB9ZnVuY3Rpb24gcTQoKXtaKDMpO3JldHVybiAwfWZ1bmN0aW9uIHI0KGEpe2E9YXww
O1ooNCk7cmV0dXJuIDB9ZnVuY3Rpb24gczQoYSxiKXthPWF8MDtiPWJ8MDtaKDUpO3JldHVybiAw
fWZ1bmN0aW9uIHQ0KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9K2M7ZD0rZDtaKDYpO3JldHVybiAw
fWZ1bmN0aW9uIHU0KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtaKDcpO3JldHVybiAwfWZ1bmN0
aW9uIHY0KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO1ooOCk7cmV0dXJuIDB9ZnVu
Y3Rpb24gdzQoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtaKDkpO3Jl
dHVybiAwfWZ1bmN0aW9uIHg0KGEsYixjLGQsZSxmKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtl
PWV8MDtmPWZ8MDtaKDEwKTtyZXR1cm4gMH1mdW5jdGlvbiB5NChhLGIsYyxkLGUsZixnLGgsaSxq
KXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtpPWl8MDtq
PWp8MDtaKDExKTtyZXR1cm4gMH1mdW5jdGlvbiB6NCgpe1ooMTIpfWZ1bmN0aW9uIEE0KGEpe2E9
YXwwO1ooMTMpfWZ1bmN0aW9uIEI0KGEsYil7YT1hfDA7Yj1ifDA7WigxNCl9ZnVuY3Rpb24gQzQo
YSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO1ooMTUpfWZ1bmN0aW9uIEQ0KGEsYixjLGQsZSxmKXth
PWF8MDtiPWJ8MDtjPWN8MDtkPStkO2U9K2U7Zj1mfDA7WigxNil9ZnVuY3Rpb24gRTQoYSxiLGMs
ZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7WigxNyl9ZnVuY3Rpb24gRjQoYSxiLGMsZCxlKXth
PWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtaKDE4KX1mdW5jdGlvbiBHNChhLGIsYyxkLGUs
Zil7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7WigxOSl9ZnVuY3Rpb24gSDQo
YSxiLGMsZCxlLGYsZyxoLGkpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9
Z3wwO2g9aHwwO2k9aXwwO1ooMjApfQorCisvLyBFTVNDUklQVEVOX0VORF9GVU5DUwordmFyIHBi
PVtuNCxPTF07dmFyIHFiPVtvNCxfRixaRiwkRixhRyxvNCxvNCxvNF07dmFyIHJiPVtwNCxWTF07
dmFyIHNiPVtxNCxucSxOSCxFSV07dmFyIHRiPVtyNCxuaCxJZyxXbSxYbSxPeSxSeSxCTixDTixy
UCxzUCx0UCx1UCx2UCx3UCx4UCx5UCxUXyxSYixrQyxKbCxNbCxrbixFSCxqeSwkeSxpeSxKSCxP
SCxreSxuTixESCxzTix0TixrVixMXyxyNCxyNCxyNCxyNCxyNCxyNCxyNCxyNCxyNCxyNCxyNCxy
NCxyNCxyNCxyNCxyNCxyNCxyNCxyNCxyNCxyNCxyNCxyNCxyNCxyNCxyNCxyNCxyNF07dmFyIHVi
PVtzNCxxeSxOeSxTeSxOSyxPSyxGSyxCSyxqSyxUVCxVVCxWVCxXVCxYVCxZVCxfVCwkVCxhVSxi
VSxjVSxkVSxlVSxmVSxnVSxoVSxpVSxqVSxrVSxsVSxtVSxuVSxvVSxwVSxxVSxyVSxzVSx0VSx1
VSx2VSx3VSxGWCxHWCxJWCxkWSxlWSxmWSxnWSxoWSxpWSxqWSxrWSxiWixjWixlWixzWSx0WSx2
WSxpQyx5ZyxtaCxQaCxyaSxKaSxVayxTayxLbCxObCxpcCx4cSxUcSxWcSxYcSxZcSxfcSxacSxq
cixycyx3cyx5cyxDdSx2Qix1Qix0QixwRCxheixHSCxDRCxTRCxORCxPRCxQRSxwMixPMixJTCxX
TSxHeCxZUixOeCxQeCxvTixIJCx4USxTVCxnVixoVixPXyx0WCx1WCx2WCxaMCxzNCxzNCxzNCxz
NCxzNCxzNCxzNCxzNCxzNCxzNCxzNCxzNCxzNCxzNCxzNCxzNCxzNCxzNF07dmFyIHZiPVt0NCx6
dCxFdCx0NF07dmFyIHdiPVt1NCxTbSxWdSx0dyxCdyxLdyxQdyxNeSxReSxRSSxKTSxJUixKWCxm
Wix3WSxVXyxWXyxaXyxfXyxLJCxZdyxnbixKdSxDcCx4cyxSdyxuRCxkJCxFQSxnMixLTCxNSSxC
TyxkVixJWixRWSxCWixGWixPMSx1NCx1NCx1NCx1NCx1NCx1NCx1NCx1NCx1NCx1NCx1NCx1NCx1
NCx1NCx1NCx1NCx1NCx1NCx1NCx1NCx1NCx1NCx1NCx1NCx1NF07dmFyIHhiPVt2NCxVbSxkcixX
dSx2dyxEdyxMeCxKQSxNeCxkeSxzeSx1eSxGeSxFeSxUeSxYeSxaeSxHSSxMTSxjTyxhTyxZUCxL
UixlUyxkUyx5WCx6WCxBWCxCWCxDWCxEWCxFWCxIWCxMWCxXWSxYWSxZWSxaWSxfWSwkWSxhWixk
WixoWixsWSxtWSxuWSxvWSxwWSxxWSxyWSx1WSx5WSxVdyxKeixyRCxNTCxaVixhVyxoVyxzVyxC
VyxIVyxGVyxJVyxNWixyWCxlWCxTWSxUWSxKWixLWix2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2
NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2
NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2
NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NCx2NF07dmFyIHliPVt3NCxyeSxrSyxHSyxNWCxO
WCxiWSxjWSx5WixpWixqWix6WSxBWSx3WCx4WCxPWixQWixRWixSWixUWixVWixWWixXWixYWixa
WixfWiwkWixhXyxiXyxZWixCXyxDXyxzXyxsXyxjXyxkXyxlXyxnXyxmXyxoXyxpXyxqXyxrXyxt
XyxuXyxvXyxwXyxxXyxyXyx0Xyx1Xyx2Xyx3XyxBXyx5Xyx4Xyx6XyxIXyxEXyxFXyxGXyxHXyxJ
XyxKXyxLXyx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3
NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3
NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3
NCx3NCx3NCx3NCx3NCx3NCx3NCx3NCx3NF07dmFyIHpiPVt4NCxKVV07dmFyIEFiPVt5NCxMWixB
Wix5NF07dmFyIEJiPVt6NCxOTCxLSCxMSCxNSCxRSCxSSCxTSCxPUix6NCx6NCx6NCx6NCx6NCx6
NCx6NF07dmFyIENiPVtBNCxYYixZYixhYyxiYyxjYyx3Yyx4YyxWYyxXYyxYYyxZYyxaYyxfYywk
YyxsZCxtZCxwZCxxZCxyZCxzZCx0ZCx1ZCx2ZCxIZCxJZCxKZCxMZCxNZCxOZCxPZCxQZCxRZCxS
ZCxTZCxiZSxjZSxkZSxmZSxnZSxoZSxpZSxqZSxrZSxsZSxtZSxuZSxwZSxDZSxEZSxFZSxGZSxR
ZSxSZSxTZSxVZSxmZixnZixoZixrZixsZixtZixuZixvZixwZixxZixyZixzZixCZixDZixEZixF
ZixmZyxhZyxBbSxrbSxvcCxQbyxrbyxtbyxXcCxYcCxnbSxobSxvbyx3byx5byxKbyx2eSxSSixo
SyxUSixTSixESyxvSixySix6UCxFUCxWZixPbCxUbyxYbyxwcCxNXyxqeCxzRCxsRixOUix1Tyx2
TixISSxmUyxJVSxiVixjVixpVixBNCxBNCxBNCxBNCxBNCxBNCxBNCxBNCxBNCxBNCxBNCxBNF07
dmFyIERiPVtCNCxiZCxnZCx4ZCxDZCxaZCx2ZSxMZSxfZSx5ZixLZixVeSxsSyxQSyxISyxDSyxm
SyxnSyxMSyxNSyxDUCxHUCxZSSwkdyxvRCxQSCxtTixKVCxIVSxlVixmVixqVixsVixCNCxCNCxC
NCxCNCxCNCxCNCxCNCxCNCxCNCxCNCxCNCxCNCxCNCxCNCxCNCxCNCxCNCxCNCxCNCxCNCxCNCxC
NCxCNCxCNCxCNCxCNCxCNCxCNCxCNCxCNCxCNF07dmFyIEViPVtDNCxkYyxlYyxoYyxVYyxhZCxj
ZCxmZCx3ZCx5ZCxCZCxVZCxWZCxZZCxxZSxyZSx1ZSxHZSxIZSxLZSxWZSxXZSxaZSx0Zix1Zix4
ZixGZixHZixKZix6ayxBayxCayxUbSx1dyxDdyxneCx3eSxZeSxGeixLQSxmRCxLRyxGSSxSSSxx
SixLTSxOTSxiTywkTixBUCxCUCxEUCxGUCxIUCxKUix3VCx2VCx6eCwkeCxreixOeixReixJSCxM
TCxLSSxxTix1Tix4VCx6VCxBVCxJVCxLVCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxD
NCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxD
NCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxDNCxD
NCxDNCxDNCxDNCxDNCxDNCxDNCxDNF07dmFyIEZiPVtENCxHRSxIRSxJRSxKRSxLRSxMRSxNRSxO
RSxENCxENCxENCxENCxENCxENCxENF07dmFyIEdiPVtFNCxmYyxkZCx6ZCxLZCxXZCxlZSxzZSxJ
ZSxYZSxqZix2ZixIZixZZixYZixXZixVZixUZixTZix2YyxSZixRZix0eSxpSyxFSyxLWCxnWix4
WSxXJCxwTixyTixVWV07dmFyIEhiPVtGNCxuZCxUZCxfZCxvZSxUZSxMbCxxRCx3TixGNCxGNCxG
NCxGNCxGNCxGNCxGNF07dmFyIEliPVtHNCxnYyxlZCxBZCxYZCx0ZSxKZSxZZSx3ZixJZix4TixH
NCxHNCxHNCxHNCxHNF07dmFyIEpiPVtINF07cmV0dXJue19fX2Vtc2NyaXB0ZW5fZW52aXJvbl9j
b25zdHJ1Y3Rvcjp3MyxfX19lcnJub19sb2NhdGlvbjpYXyxfX19tdWxkaTM6RDMsX19fdWRpdmRp
MzpJMyxfX2dldF9kYXlsaWdodDp5MyxfX2dldF9lbnZpcm9uOkEzLF9fZ2V0X3RpbWV6b25lOnoz
LF9fZ2V0X3R6bmFtZTp4MyxfYml0c2hpZnQ2NEFzaHI6SjMsX2JpdHNoaWZ0NjRMc2hyOkszLF9i
aXRzaGlmdDY0U2hsOkwzLF9kdGV4dHJhY3Q6SXcsX2Vtc2NyaXB0ZW5fcmVwbGFjZV9tZW1vcnk6
b2IsX2ZyZWU6TV8sX2h0b25zOlcyLF9pNjRBZGQ6RTMsX2k2NFN1YnRyYWN0OkYzLF9sbHZtX2Jz
d2FwX2kxNjpNMyxfbGx2bV9ic3dhcF9pMzI6TjMsX21hbGxvYzpMXyxfbWVtYWxpZ246Ul8sX21l
bWNweTpRMyxfbWVtbW92ZTpSMyxfbWVtc2V0OlMzLF9yZWFsbG9jOk9fLF9zYXZlU2V0am1wOk8z
LF9zYnJrOlQzLF90ZXN0U2V0am1wOlAzLF92aXpDcmVhdGVGaWxlOlRiLF92aXpMYXN0RXJyb3JN
ZXNzYWdlOlNiLF92aXpSZW5kZXJGcm9tU3RyaW5nOldiLF92aXpTZXROb3A6VmIsX3ZpelNldFlf
aW52ZXJ0OlViLGR5bkNhbGxfZDpVMyxkeW5DYWxsX2RkZGQ6VjMsZHluQ2FsbF9kaTpXMyxkeW5D
YWxsX2k6WDMsZHluQ2FsbF9paTpZMyxkeW5DYWxsX2lpaTpaMyxkeW5DYWxsX2lpaWRkOl8zLGR5
bkNhbGxfaWlpaTokMyxkeW5DYWxsX2lpaWlpOmE0LGR5bkNhbGxfaWlpaWlpOmI0LGR5bkNhbGxf
aWlpaWlpaTpjNCxkeW5DYWxsX2lpaWlpaWlpaWlpOmQ0LGR5bkNhbGxfdjplNCxkeW5DYWxsX3Zp
OmY0LGR5bkNhbGxfdmlpOmc0LGR5bkNhbGxfdmlpaTpoNCxkeW5DYWxsX3ZpaWlkZGk6aTQsZHlu
Q2FsbF92aWlpaTpqNCxkeW5DYWxsX3ZpaWlpaTprNCxkeW5DYWxsX3ZpaWlpaWk6bDQsZHluQ2Fs
bF92aWlpaWlpaWlpOm00LGVzdGFibGlzaFN0YWNrU3BhY2U6TmIsZ2V0VGVtcFJldDA6UWIscnVu
UG9zdFNldHM6QjMsc2V0VGVtcFJldDA6UGIsc2V0VGhyZXc6T2Isc3RhY2tBbGxvYzpLYixzdGFj
a1Jlc3RvcmU6TWIsc3RhY2tTYXZlOkxifX0pCisKKworLy8gRU1TQ1JJUFRFTl9FTkRfQVNNCiso
TW9kdWxlLmFzbUdsb2JhbEFyZyxNb2R1bGUuYXNtTGlicmFyeUFyZyxidWZmZXIpO3ZhciBfX19l
bXNjcmlwdGVuX2Vudmlyb25fY29uc3RydWN0b3I9TW9kdWxlWyJfX19lbXNjcmlwdGVuX2Vudmly
b25fY29uc3RydWN0b3IiXT1hc21bIl9fX2Vtc2NyaXB0ZW5fZW52aXJvbl9jb25zdHJ1Y3RvciJd
O3ZhciBfX19lcnJub19sb2NhdGlvbj1Nb2R1bGVbIl9fX2Vycm5vX2xvY2F0aW9uIl09YXNtWyJf
X19lcnJub19sb2NhdGlvbiJdO3ZhciBfX19tdWxkaTM9TW9kdWxlWyJfX19tdWxkaTMiXT1hc21b
Il9fX211bGRpMyJdO3ZhciBfX191ZGl2ZGkzPU1vZHVsZVsiX19fdWRpdmRpMyJdPWFzbVsiX19f
dWRpdmRpMyJdO3ZhciBfX2dldF9kYXlsaWdodD1Nb2R1bGVbIl9fZ2V0X2RheWxpZ2h0Il09YXNt
WyJfX2dldF9kYXlsaWdodCJdO3ZhciBfX2dldF9lbnZpcm9uPU1vZHVsZVsiX19nZXRfZW52aXJv
biJdPWFzbVsiX19nZXRfZW52aXJvbiJdO3ZhciBfX2dldF90aW1lem9uZT1Nb2R1bGVbIl9fZ2V0
X3RpbWV6b25lIl09YXNtWyJfX2dldF90aW1lem9uZSJdO3ZhciBfX2dldF90em5hbWU9TW9kdWxl
WyJfX2dldF90em5hbWUiXT1hc21bIl9fZ2V0X3R6bmFtZSJdO3ZhciBfYml0c2hpZnQ2NEFzaHI9
TW9kdWxlWyJfYml0c2hpZnQ2NEFzaHIiXT1hc21bIl9iaXRzaGlmdDY0QXNociJdO3ZhciBfYml0
c2hpZnQ2NExzaHI9TW9kdWxlWyJfYml0c2hpZnQ2NExzaHIiXT1hc21bIl9iaXRzaGlmdDY0THNo
ciJdO3ZhciBfYml0c2hpZnQ2NFNobD1Nb2R1bGVbIl9iaXRzaGlmdDY0U2hsIl09YXNtWyJfYml0
c2hpZnQ2NFNobCJdO3ZhciBfZHRleHRyYWN0PU1vZHVsZVsiX2R0ZXh0cmFjdCJdPWFzbVsiX2R0
ZXh0cmFjdCJdO3ZhciBfZW1zY3JpcHRlbl9yZXBsYWNlX21lbW9yeT1Nb2R1bGVbIl9lbXNjcmlw
dGVuX3JlcGxhY2VfbWVtb3J5Il09YXNtWyJfZW1zY3JpcHRlbl9yZXBsYWNlX21lbW9yeSJdO3Zh
ciBfZnJlZT1Nb2R1bGVbIl9mcmVlIl09YXNtWyJfZnJlZSJdO3ZhciBfaHRvbnM9TW9kdWxlWyJf
aHRvbnMiXT1hc21bIl9odG9ucyJdO3ZhciBfaTY0QWRkPU1vZHVsZVsiX2k2NEFkZCJdPWFzbVsi
X2k2NEFkZCJdO3ZhciBfaTY0U3VidHJhY3Q9TW9kdWxlWyJfaTY0U3VidHJhY3QiXT1hc21bIl9p
NjRTdWJ0cmFjdCJdO3ZhciBfbGx2bV9ic3dhcF9pMTY9TW9kdWxlWyJfbGx2bV9ic3dhcF9pMTYi
XT1hc21bIl9sbHZtX2Jzd2FwX2kxNiJdO3ZhciBfbGx2bV9ic3dhcF9pMzI9TW9kdWxlWyJfbGx2
bV9ic3dhcF9pMzIiXT1hc21bIl9sbHZtX2Jzd2FwX2kzMiJdO3ZhciBfbWFsbG9jPU1vZHVsZVsi
X21hbGxvYyJdPWFzbVsiX21hbGxvYyJdO3ZhciBfbWVtYWxpZ249TW9kdWxlWyJfbWVtYWxpZ24i
XT1hc21bIl9tZW1hbGlnbiJdO3ZhciBfbWVtY3B5PU1vZHVsZVsiX21lbWNweSJdPWFzbVsiX21l
bWNweSJdO3ZhciBfbWVtbW92ZT1Nb2R1bGVbIl9tZW1tb3ZlIl09YXNtWyJfbWVtbW92ZSJdO3Zh
ciBfbWVtc2V0PU1vZHVsZVsiX21lbXNldCJdPWFzbVsiX21lbXNldCJdO3ZhciBfcmVhbGxvYz1N
b2R1bGVbIl9yZWFsbG9jIl09YXNtWyJfcmVhbGxvYyJdO3ZhciBfc2F2ZVNldGptcD1Nb2R1bGVb
Il9zYXZlU2V0am1wIl09YXNtWyJfc2F2ZVNldGptcCJdO3ZhciBfc2Jyaz1Nb2R1bGVbIl9zYnJr
Il09YXNtWyJfc2JyayJdO3ZhciBfdGVzdFNldGptcD1Nb2R1bGVbIl90ZXN0U2V0am1wIl09YXNt
WyJfdGVzdFNldGptcCJdO3ZhciBfdml6Q3JlYXRlRmlsZT1Nb2R1bGVbIl92aXpDcmVhdGVGaWxl
Il09YXNtWyJfdml6Q3JlYXRlRmlsZSJdO3ZhciBfdml6TGFzdEVycm9yTWVzc2FnZT1Nb2R1bGVb
Il92aXpMYXN0RXJyb3JNZXNzYWdlIl09YXNtWyJfdml6TGFzdEVycm9yTWVzc2FnZSJdO3ZhciBf
dml6UmVuZGVyRnJvbVN0cmluZz1Nb2R1bGVbIl92aXpSZW5kZXJGcm9tU3RyaW5nIl09YXNtWyJf
dml6UmVuZGVyRnJvbVN0cmluZyJdO3ZhciBfdml6U2V0Tm9wPU1vZHVsZVsiX3ZpelNldE5vcCJd
PWFzbVsiX3ZpelNldE5vcCJdO3ZhciBfdml6U2V0WV9pbnZlcnQ9TW9kdWxlWyJfdml6U2V0WV9p
bnZlcnQiXT1hc21bIl92aXpTZXRZX2ludmVydCJdO3ZhciBlc3RhYmxpc2hTdGFja1NwYWNlPU1v
ZHVsZVsiZXN0YWJsaXNoU3RhY2tTcGFjZSJdPWFzbVsiZXN0YWJsaXNoU3RhY2tTcGFjZSJdO3Zh
ciBnZXRUZW1wUmV0MD1Nb2R1bGVbImdldFRlbXBSZXQwIl09YXNtWyJnZXRUZW1wUmV0MCJdO3Zh
ciBydW5Qb3N0U2V0cz1Nb2R1bGVbInJ1blBvc3RTZXRzIl09YXNtWyJydW5Qb3N0U2V0cyJdO3Zh
ciBzZXRUZW1wUmV0MD1Nb2R1bGVbInNldFRlbXBSZXQwIl09YXNtWyJzZXRUZW1wUmV0MCJdO3Zh
ciBzZXRUaHJldz1Nb2R1bGVbInNldFRocmV3Il09YXNtWyJzZXRUaHJldyJdO3ZhciBzdGFja0Fs
bG9jPU1vZHVsZVsic3RhY2tBbGxvYyJdPWFzbVsic3RhY2tBbGxvYyJdO3ZhciBzdGFja1Jlc3Rv
cmU9TW9kdWxlWyJzdGFja1Jlc3RvcmUiXT1hc21bInN0YWNrUmVzdG9yZSJdO3ZhciBzdGFja1Nh
dmU9TW9kdWxlWyJzdGFja1NhdmUiXT1hc21bInN0YWNrU2F2ZSJdO3ZhciBkeW5DYWxsX2Q9TW9k
dWxlWyJkeW5DYWxsX2QiXT1hc21bImR5bkNhbGxfZCJdO3ZhciBkeW5DYWxsX2RkZGQ9TW9kdWxl
WyJkeW5DYWxsX2RkZGQiXT1hc21bImR5bkNhbGxfZGRkZCJdO3ZhciBkeW5DYWxsX2RpPU1vZHVs
ZVsiZHluQ2FsbF9kaSJdPWFzbVsiZHluQ2FsbF9kaSJdO3ZhciBkeW5DYWxsX2k9TW9kdWxlWyJk
eW5DYWxsX2kiXT1hc21bImR5bkNhbGxfaSJdO3ZhciBkeW5DYWxsX2lpPU1vZHVsZVsiZHluQ2Fs
bF9paSJdPWFzbVsiZHluQ2FsbF9paSJdO3ZhciBkeW5DYWxsX2lpaT1Nb2R1bGVbImR5bkNhbGxf
aWlpIl09YXNtWyJkeW5DYWxsX2lpaSJdO3ZhciBkeW5DYWxsX2lpaWRkPU1vZHVsZVsiZHluQ2Fs
bF9paWlkZCJdPWFzbVsiZHluQ2FsbF9paWlkZCJdO3ZhciBkeW5DYWxsX2lpaWk9TW9kdWxlWyJk
eW5DYWxsX2lpaWkiXT1hc21bImR5bkNhbGxfaWlpaSJdO3ZhciBkeW5DYWxsX2lpaWlpPU1vZHVs
ZVsiZHluQ2FsbF9paWlpaSJdPWFzbVsiZHluQ2FsbF9paWlpaSJdO3ZhciBkeW5DYWxsX2lpaWlp
aT1Nb2R1bGVbImR5bkNhbGxfaWlpaWlpIl09YXNtWyJkeW5DYWxsX2lpaWlpaSJdO3ZhciBkeW5D
YWxsX2lpaWlpaWk9TW9kdWxlWyJkeW5DYWxsX2lpaWlpaWkiXT1hc21bImR5bkNhbGxfaWlpaWlp
aSJdO3ZhciBkeW5DYWxsX2lpaWlpaWlpaWlpPU1vZHVsZVsiZHluQ2FsbF9paWlpaWlpaWlpaSJd
PWFzbVsiZHluQ2FsbF9paWlpaWlpaWlpaSJdO3ZhciBkeW5DYWxsX3Y9TW9kdWxlWyJkeW5DYWxs
X3YiXT1hc21bImR5bkNhbGxfdiJdO3ZhciBkeW5DYWxsX3ZpPU1vZHVsZVsiZHluQ2FsbF92aSJd
PWFzbVsiZHluQ2FsbF92aSJdO3ZhciBkeW5DYWxsX3ZpaT1Nb2R1bGVbImR5bkNhbGxfdmlpIl09
YXNtWyJkeW5DYWxsX3ZpaSJdO3ZhciBkeW5DYWxsX3ZpaWk9TW9kdWxlWyJkeW5DYWxsX3ZpaWki
XT1hc21bImR5bkNhbGxfdmlpaSJdO3ZhciBkeW5DYWxsX3ZpaWlkZGk9TW9kdWxlWyJkeW5DYWxs
X3ZpaWlkZGkiXT1hc21bImR5bkNhbGxfdmlpaWRkaSJdO3ZhciBkeW5DYWxsX3ZpaWlpPU1vZHVs
ZVsiZHluQ2FsbF92aWlpaSJdPWFzbVsiZHluQ2FsbF92aWlpaSJdO3ZhciBkeW5DYWxsX3ZpaWlp
aT1Nb2R1bGVbImR5bkNhbGxfdmlpaWlpIl09YXNtWyJkeW5DYWxsX3ZpaWlpaSJdO3ZhciBkeW5D
YWxsX3ZpaWlpaWk9TW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWkiXT1hc21bImR5bkNhbGxfdmlpaWlp
aSJdO3ZhciBkeW5DYWxsX3ZpaWlpaWlpaWk9TW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWlpaWkiXT1h
c21bImR5bkNhbGxfdmlpaWlpaWlpaSJdO01vZHVsZVsiYXNtIl09YXNtO01vZHVsZVsiY2NhbGwi
XT1jY2FsbDtNb2R1bGVbIlBvaW50ZXJfc3RyaW5naWZ5Il09UG9pbnRlcl9zdHJpbmdpZnk7TW9k
dWxlWyJVVEY4VG9TdHJpbmciXT1VVEY4VG9TdHJpbmc7aWYobWVtb3J5SW5pdGlhbGl6ZXIpe2lm
KCFpc0RhdGFVUkkobWVtb3J5SW5pdGlhbGl6ZXIpKXttZW1vcnlJbml0aWFsaXplcj1sb2NhdGVG
aWxlKG1lbW9yeUluaXRpYWxpemVyKX1pZihFTlZJUk9OTUVOVF9JU19OT0RFfHxFTlZJUk9OTUVO
VF9JU19TSEVMTCl7dmFyIGRhdGE9TW9kdWxlWyJyZWFkQmluYXJ5Il0obWVtb3J5SW5pdGlhbGl6
ZXIpO0hFQVBVOC5zZXQoZGF0YSxHTE9CQUxfQkFTRSl9ZWxzZXthZGRSdW5EZXBlbmRlbmN5KCJt
ZW1vcnkgaW5pdGlhbGl6ZXIiKTt2YXIgYXBwbHlNZW1vcnlJbml0aWFsaXplcj0oZnVuY3Rpb24o
ZGF0YSl7aWYoZGF0YS5ieXRlTGVuZ3RoKWRhdGE9bmV3IFVpbnQ4QXJyYXkoZGF0YSk7SEVBUFU4
LnNldChkYXRhLEdMT0JBTF9CQVNFKTtpZihNb2R1bGVbIm1lbW9yeUluaXRpYWxpemVyUmVxdWVz
dCJdKWRlbGV0ZSBNb2R1bGVbIm1lbW9yeUluaXRpYWxpemVyUmVxdWVzdCJdLnJlc3BvbnNlO3Jl
bW92ZVJ1bkRlcGVuZGVuY3koIm1lbW9yeSBpbml0aWFsaXplciIpfSk7ZnVuY3Rpb24gZG9Ccm93
c2VyTG9hZCgpe01vZHVsZVsicmVhZEFzeW5jIl0obWVtb3J5SW5pdGlhbGl6ZXIsYXBwbHlNZW1v
cnlJbml0aWFsaXplciwoZnVuY3Rpb24oKXt0aHJvdyJjb3VsZCBub3QgbG9hZCBtZW1vcnkgaW5p
dGlhbGl6ZXIgIittZW1vcnlJbml0aWFsaXplcn0pKX12YXIgbWVtb3J5SW5pdGlhbGl6ZXJCeXRl
cz10cnlQYXJzZUFzRGF0YVVSSShtZW1vcnlJbml0aWFsaXplcik7aWYobWVtb3J5SW5pdGlhbGl6
ZXJCeXRlcyl7YXBwbHlNZW1vcnlJbml0aWFsaXplcihtZW1vcnlJbml0aWFsaXplckJ5dGVzLmJ1
ZmZlcil9ZWxzZSBpZihNb2R1bGVbIm1lbW9yeUluaXRpYWxpemVyUmVxdWVzdCJdKXtmdW5jdGlv
biB1c2VSZXF1ZXN0KCl7dmFyIHJlcXVlc3Q9TW9kdWxlWyJtZW1vcnlJbml0aWFsaXplclJlcXVl
c3QiXTt2YXIgcmVzcG9uc2U9cmVxdWVzdC5yZXNwb25zZTtpZihyZXF1ZXN0LnN0YXR1cyE9PTIw
MCYmcmVxdWVzdC5zdGF0dXMhPT0wKXt2YXIgZGF0YT10cnlQYXJzZUFzRGF0YVVSSShNb2R1bGVb
Im1lbW9yeUluaXRpYWxpemVyUmVxdWVzdFVSTCJdKTtpZihkYXRhKXtyZXNwb25zZT1kYXRhLmJ1
ZmZlcn1lbHNle2NvbnNvbGUud2FybigiYSBwcm9ibGVtIHNlZW1zIHRvIGhhdmUgaGFwcGVuZWQg
d2l0aCBNb2R1bGUubWVtb3J5SW5pdGlhbGl6ZXJSZXF1ZXN0LCBzdGF0dXM6ICIrcmVxdWVzdC5z
dGF0dXMrIiwgcmV0cnlpbmcgIittZW1vcnlJbml0aWFsaXplcik7ZG9Ccm93c2VyTG9hZCgpO3Jl
dHVybn19YXBwbHlNZW1vcnlJbml0aWFsaXplcihyZXNwb25zZSl9aWYoTW9kdWxlWyJtZW1vcnlJ
bml0aWFsaXplclJlcXVlc3QiXS5yZXNwb25zZSl7c2V0VGltZW91dCh1c2VSZXF1ZXN0LDApfWVs
c2V7TW9kdWxlWyJtZW1vcnlJbml0aWFsaXplclJlcXVlc3QiXS5hZGRFdmVudExpc3RlbmVyKCJs
b2FkIix1c2VSZXF1ZXN0KX19ZWxzZXtkb0Jyb3dzZXJMb2FkKCl9fX1mdW5jdGlvbiBFeGl0U3Rh
dHVzKHN0YXR1cyl7dGhpcy5uYW1lPSJFeGl0U3RhdHVzIjt0aGlzLm1lc3NhZ2U9IlByb2dyYW0g
dGVybWluYXRlZCB3aXRoIGV4aXQoIitzdGF0dXMrIikiO3RoaXMuc3RhdHVzPXN0YXR1c31FeGl0
U3RhdHVzLnByb3RvdHlwZT1uZXcgRXJyb3I7RXhpdFN0YXR1cy5wcm90b3R5cGUuY29uc3RydWN0
b3I9RXhpdFN0YXR1czt2YXIgaW5pdGlhbFN0YWNrVG9wO2RlcGVuZGVuY2llc0Z1bGZpbGxlZD1m
dW5jdGlvbiBydW5DYWxsZXIoKXtpZighTW9kdWxlWyJjYWxsZWRSdW4iXSlydW4oKTtpZighTW9k
dWxlWyJjYWxsZWRSdW4iXSlkZXBlbmRlbmNpZXNGdWxmaWxsZWQ9cnVuQ2FsbGVyfTtmdW5jdGlv
biBydW4oYXJncyl7YXJncz1hcmdzfHxNb2R1bGVbImFyZ3VtZW50cyJdO2lmKHJ1bkRlcGVuZGVu
Y2llcz4wKXtyZXR1cm59cHJlUnVuKCk7aWYocnVuRGVwZW5kZW5jaWVzPjApcmV0dXJuO2lmKE1v
ZHVsZVsiY2FsbGVkUnVuIl0pcmV0dXJuO2Z1bmN0aW9uIGRvUnVuKCl7aWYoTW9kdWxlWyJjYWxs
ZWRSdW4iXSlyZXR1cm47TW9kdWxlWyJjYWxsZWRSdW4iXT10cnVlO2lmKEFCT1JUKXJldHVybjtl
bnN1cmVJbml0UnVudGltZSgpO3ByZU1haW4oKTtpZihNb2R1bGVbIm9uUnVudGltZUluaXRpYWxp
emVkIl0pTW9kdWxlWyJvblJ1bnRpbWVJbml0aWFsaXplZCJdKCk7cG9zdFJ1bigpfWlmKE1vZHVs
ZVsic2V0U3RhdHVzIl0pe01vZHVsZVsic2V0U3RhdHVzIl0oIlJ1bm5pbmcuLi4iKTtzZXRUaW1l
b3V0KChmdW5jdGlvbigpe3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7TW9kdWxlWyJzZXRTdGF0dXMi
XSgiIil9KSwxKTtkb1J1bigpfSksMSl9ZWxzZXtkb1J1bigpfX1Nb2R1bGVbInJ1biJdPXJ1bjtm
dW5jdGlvbiBleGl0KHN0YXR1cyxpbXBsaWNpdCl7aWYoaW1wbGljaXQmJk1vZHVsZVsibm9FeGl0
UnVudGltZSJdJiZzdGF0dXM9PT0wKXtyZXR1cm59aWYoTW9kdWxlWyJub0V4aXRSdW50aW1lIl0p
e31lbHNle0FCT1JUPXRydWU7RVhJVFNUQVRVUz1zdGF0dXM7U1RBQ0tUT1A9aW5pdGlhbFN0YWNr
VG9wO2V4aXRSdW50aW1lKCk7aWYoTW9kdWxlWyJvbkV4aXQiXSlNb2R1bGVbIm9uRXhpdCJdKHN0
YXR1cyl9TW9kdWxlWyJxdWl0Il0oc3RhdHVzLG5ldyBFeGl0U3RhdHVzKHN0YXR1cykpfWZ1bmN0
aW9uIGFib3J0KHdoYXQpe2lmKE1vZHVsZVsib25BYm9ydCJdKXtNb2R1bGVbIm9uQWJvcnQiXSh3
aGF0KX1pZih3aGF0IT09dW5kZWZpbmVkKXtvdXQod2hhdCk7ZXJyKHdoYXQpO3doYXQ9SlNPTi5z
dHJpbmdpZnkod2hhdCl9ZWxzZXt3aGF0PSIifUFCT1JUPXRydWU7RVhJVFNUQVRVUz0xO3Rocm93
ImFib3J0KCIrd2hhdCsiKS4gQnVpbGQgd2l0aCAtcyBBU1NFUlRJT05TPTEgZm9yIG1vcmUgaW5m
by4ifU1vZHVsZVsiYWJvcnQiXT1hYm9ydDtpZihNb2R1bGVbInByZUluaXQiXSl7aWYodHlwZW9m
IE1vZHVsZVsicHJlSW5pdCJdPT0iZnVuY3Rpb24iKU1vZHVsZVsicHJlSW5pdCJdPVtNb2R1bGVb
InByZUluaXQiXV07d2hpbGUoTW9kdWxlWyJwcmVJbml0Il0ubGVuZ3RoPjApe01vZHVsZVsicHJl
SW5pdCJdLnBvcCgpKCl9fU1vZHVsZVsibm9FeGl0UnVudGltZSJdPXRydWU7cnVuKCkKKworCisK
KworICByZXR1cm4gTW9kdWxlOworfTsKKworZnVuY3Rpb24gcmVuZGVyKGluc3RhbmNlLCBzcmMs
IG9wdGlvbnMpIHsKKyAgdmFyIGk7CisgIGZvciAoaSA9IDA7IGkgPCBvcHRpb25zLmZpbGVzLmxl
bmd0aDsgaSsrKSB7CisgICAgaW5zdGFuY2VbJ2NjYWxsJ10oJ3ZpekNyZWF0ZUZpbGUnLCAnbnVt
YmVyJywgWydzdHJpbmcnLCAnc3RyaW5nJ10sIFtvcHRpb25zLmZpbGVzW2ldLnBhdGgsIG9wdGlv
bnMuZmlsZXNbaV0uZGF0YV0pOworICB9CisKKyAgaW5zdGFuY2VbJ2NjYWxsJ10oJ3ZpelNldFlf
aW52ZXJ0JywgJ251bWJlcicsIFsnbnVtYmVyJ10sIFtvcHRpb25zLnlJbnZlcnQgPyAxIDogMF0p
OworICBpbnN0YW5jZVsnY2NhbGwnXSgndml6U2V0Tm9wJywgJ251bWJlcicsIFsnbnVtYmVyJ10s
IFtvcHRpb25zLm5vcCA/IG9wdGlvbnMubm9wIDogMF0pOworICAKKyAgdmFyIHJlc3VsdFBvaW50
ZXIgPSBpbnN0YW5jZVsnY2NhbGwnXSgndml6UmVuZGVyRnJvbVN0cmluZycsICdudW1iZXInLCBb
J3N0cmluZycsICdzdHJpbmcnLCAnc3RyaW5nJ10sIFtzcmMsIG9wdGlvbnMuZm9ybWF0LCBvcHRp
b25zLmVuZ2luZV0pOworICB2YXIgcmVzdWx0U3RyaW5nID0gaW5zdGFuY2VbJ1BvaW50ZXJfc3Ry
aW5naWZ5J10ocmVzdWx0UG9pbnRlcik7CisgIGluc3RhbmNlWydjY2FsbCddKCdmcmVlJywgJ251
bWJlcicsIFsnbnVtYmVyJ10sIFtyZXN1bHRQb2ludGVyXSk7CisKKyAgdmFyIGVycm9yTWVzc2Fn
ZVBvaW50ZXIgPSBpbnN0YW5jZVsnY2NhbGwnXSgndml6TGFzdEVycm9yTWVzc2FnZScsICdudW1i
ZXInLCBbXSwgW10pOworICB2YXIgZXJyb3JNZXNzYWdlU3RyaW5nID0gaW5zdGFuY2VbJ1BvaW50
ZXJfc3RyaW5naWZ5J10oZXJyb3JNZXNzYWdlUG9pbnRlcik7CisgIGluc3RhbmNlWydjY2FsbCdd
KCdmcmVlJywgJ251bWJlcicsIFsnbnVtYmVyJ10sIFtlcnJvck1lc3NhZ2VQb2ludGVyXSk7CisK
KyAgaWYgKGVycm9yTWVzc2FnZVN0cmluZyAhPSAnJykgeworICAgIHRocm93IG5ldyBFcnJvcihl
cnJvck1lc3NhZ2VTdHJpbmcpOworICB9CisgIAorICByZXR1cm4gcmVzdWx0U3RyaW5nOworfQor
CitpZiAodHlwZW9mIGltcG9ydFNjcmlwdHMgPT09ICJmdW5jdGlvbiIpIHsKKyAgdmFyIGluc3Rh
bmNlID0gTW9kdWxlKCk7CisgIAorICBvbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkgeworICAg
IHZhciBpZCA9IGV2ZW50LmRhdGEuaWQ7CisgICAgdmFyIHNyYyA9IGV2ZW50LmRhdGEuc3JjOwor
ICAgIHZhciBvcHRpb25zID0gZXZlbnQuZGF0YS5vcHRpb25zOworICAKKyAgICB0cnkgeworICAg
ICAgdmFyIHJlc3VsdCA9IHJlbmRlcihpbnN0YW5jZSwgc3JjLCBvcHRpb25zKTsKKyAgICAgIHBv
c3RNZXNzYWdlKHsgaWQ6IGlkLCByZXN1bHQ6IHJlc3VsdCB9KTsKKyAgICB9IGNhdGNoIChlcnJv
cikgeworICAgICAgdmFyIGVycm9yID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvcgorICAgICAgICA/
IHsgbWVzc2FnZTogZXJyb3IubWVzc2FnZSwgZmlsZU5hbWU6IGVycm9yLmZpbGVOYW1lLCBsaW5l
TnVtYmVyOiBlcnJvci5saW5lTnVtYmVyIH0KKyAgICAgICAgOiB7IG1lc3NhZ2U6IGVycm9yLnRv
U3RyaW5nKCkgfTsKKyAgICAgIHBvc3RNZXNzYWdlKHsgaWQ6IGlkLCBlcnJvcjogZXJyb3IgfSk7
CisgICAgfQorICB9Cit9CisKK2lmICh0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlw
ZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHsKKyAgbW9kdWxlLmV4cG9ydHMgPSB7IHJlbmRl
cjogcmVuZGVyLCBNb2R1bGU6IE1vZHVsZSB9OworfSBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09
PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpIHsKKyAgZGVmaW5lKGZ1bmN0aW9uKCkgeyByZXR1
cm4geyByZW5kZXI6IHJlbmRlciwgTW9kdWxlOiBNb2R1bGUgfTsgfSk7Cit9CisKK2lmICh0eXBl
b2YgZ2xvYmFsLlZpeiAhPT0gJ3VuZGVmaW5lZCcpIHsKKyAgZ2xvYmFsLlZpei5yZW5kZXIgPSBy
ZW5kZXI7CisgIGdsb2JhbC5WaXouTW9kdWxlID0gTW9kdWxlOworfQorCit9KSh0eXBlb2Ygc2Vs
ZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmIDogdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC92aXouanMvbGl0ZS5yZW5kZXIuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC92aXouanMvbGl0
ZS5yZW5kZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQwZmNhYzcwMzM0NDliMWJkMzEzMDdjOTJkYTE1YTNk
Zjg4MzJmMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0V4dGVybmFsL3Zpei5qcy9saXRlLnJlbmRlci5qcwpAQCAtMCwwICsxLDgzIEBACisv
KgorVml6LmpzIDIuMC4wIChHcmFwaHZpeiAyLjQwLjEsIEVtc2NyaXB0ZW4gMS4zNy4zNikKKyov
CisoZnVuY3Rpb24oZ2xvYmFsKSB7Cit2YXIgTW9kdWxlID0gZnVuY3Rpb24oTW9kdWxlKSB7Cisg
IE1vZHVsZSA9IE1vZHVsZSB8fCB7fTsKK3ZhciBNb2R1bGU9dHlwZW9mIE1vZHVsZSE9PSJ1bmRl
ZmluZWQiP01vZHVsZTp7fTt2YXIgbW9kdWxlT3ZlcnJpZGVzPXt9O3ZhciBrZXk7Zm9yKGtleSBp
biBNb2R1bGUpe2lmKE1vZHVsZS5oYXNPd25Qcm9wZXJ0eShrZXkpKXttb2R1bGVPdmVycmlkZXNb
a2V5XT1Nb2R1bGVba2V5XX19TW9kdWxlWyJhcmd1bWVudHMiXT1bXTtNb2R1bGVbInRoaXNQcm9n
cmFtIl09Ii4vdGhpcy5wcm9ncmFtIjtNb2R1bGVbInF1aXQiXT0oZnVuY3Rpb24oc3RhdHVzLHRv
VGhyb3cpe3Rocm93IHRvVGhyb3d9KTtNb2R1bGVbInByZVJ1biJdPVtdO01vZHVsZVsicG9zdFJ1
biJdPVtdO3ZhciBFTlZJUk9OTUVOVF9JU19XRUI9ZmFsc2U7dmFyIEVOVklST05NRU5UX0lTX1dP
UktFUj1mYWxzZTt2YXIgRU5WSVJPTk1FTlRfSVNfTk9ERT1mYWxzZTt2YXIgRU5WSVJPTk1FTlRf
SVNfU0hFTEw9ZmFsc2U7aWYoTW9kdWxlWyJFTlZJUk9OTUVOVCJdKXtpZihNb2R1bGVbIkVOVklS
T05NRU5UIl09PT0iV0VCIil7RU5WSVJPTk1FTlRfSVNfV0VCPXRydWV9ZWxzZSBpZihNb2R1bGVb
IkVOVklST05NRU5UIl09PT0iV09SS0VSIil7RU5WSVJPTk1FTlRfSVNfV09SS0VSPXRydWV9ZWxz
ZSBpZihNb2R1bGVbIkVOVklST05NRU5UIl09PT0iTk9ERSIpe0VOVklST05NRU5UX0lTX05PREU9
dHJ1ZX1lbHNlIGlmKE1vZHVsZVsiRU5WSVJPTk1FTlQiXT09PSJTSEVMTCIpe0VOVklST05NRU5U
X0lTX1NIRUxMPXRydWV9ZWxzZXt0aHJvdyBuZXcgRXJyb3IoIk1vZHVsZVsnRU5WSVJPTk1FTlQn
XSB2YWx1ZSBpcyBub3QgdmFsaWQuIG11c3QgYmUgb25lIG9mOiBXRUJ8V09SS0VSfE5PREV8U0hF
TEwuIil9fWVsc2V7RU5WSVJPTk1FTlRfSVNfV0VCPXR5cGVvZiB3aW5kb3c9PT0ib2JqZWN0IjtF
TlZJUk9OTUVOVF9JU19XT1JLRVI9dHlwZW9mIGltcG9ydFNjcmlwdHM9PT0iZnVuY3Rpb24iO0VO
VklST05NRU5UX0lTX05PREU9dHlwZW9mIHByb2Nlc3M9PT0ib2JqZWN0IiYmdHlwZW9mIHJlcXVp
cmU9PT0iZnVuY3Rpb24iJiYhRU5WSVJPTk1FTlRfSVNfV0VCJiYhRU5WSVJPTk1FTlRfSVNfV09S
S0VSO0VOVklST05NRU5UX0lTX1NIRUxMPSFFTlZJUk9OTUVOVF9JU19XRUImJiFFTlZJUk9OTUVO
VF9JU19OT0RFJiYhRU5WSVJPTk1FTlRfSVNfV09SS0VSfWlmKEVOVklST05NRU5UX0lTX05PREUp
e3ZhciBub2RlRlM7dmFyIG5vZGVQYXRoO01vZHVsZVsicmVhZCJdPWZ1bmN0aW9uIHNoZWxsX3Jl
YWQoZmlsZW5hbWUsYmluYXJ5KXt2YXIgcmV0O3JldD10cnlQYXJzZUFzRGF0YVVSSShmaWxlbmFt
ZSk7aWYoIXJldCl7aWYoIW5vZGVGUylub2RlRlM9cmVxdWlyZSgiZnMiKTtpZighbm9kZVBhdGgp
bm9kZVBhdGg9cmVxdWlyZSgicGF0aCIpO2ZpbGVuYW1lPW5vZGVQYXRoWyJub3JtYWxpemUiXShm
aWxlbmFtZSk7cmV0PW5vZGVGU1sicmVhZEZpbGVTeW5jIl0oZmlsZW5hbWUpfXJldHVybiBiaW5h
cnk/cmV0OnJldC50b1N0cmluZygpfTtNb2R1bGVbInJlYWRCaW5hcnkiXT1mdW5jdGlvbiByZWFk
QmluYXJ5KGZpbGVuYW1lKXt2YXIgcmV0PU1vZHVsZVsicmVhZCJdKGZpbGVuYW1lLHRydWUpO2lm
KCFyZXQuYnVmZmVyKXtyZXQ9bmV3IFVpbnQ4QXJyYXkocmV0KX1hc3NlcnQocmV0LmJ1ZmZlcik7
cmV0dXJuIHJldH07aWYocHJvY2Vzc1siYXJndiJdLmxlbmd0aD4xKXtNb2R1bGVbInRoaXNQcm9n
cmFtIl09cHJvY2Vzc1siYXJndiJdWzFdLnJlcGxhY2UoL1xcL2csIi8iKX1Nb2R1bGVbImFyZ3Vt
ZW50cyJdPXByb2Nlc3NbImFyZ3YiXS5zbGljZSgyKTtpZih0eXBlb2YgbW9kdWxlIT09InVuZGVm
aW5lZCIpe21vZHVsZVsiZXhwb3J0cyJdPU1vZHVsZX1wcm9jZXNzWyJvbiJdKCJ1bmNhdWdodEV4
Y2VwdGlvbiIsKGZ1bmN0aW9uKGV4KXtpZighKGV4IGluc3RhbmNlb2YgRXhpdFN0YXR1cykpe3Ro
cm93IGV4fX0pKTtwcm9jZXNzWyJvbiJdKCJ1bmhhbmRsZWRSZWplY3Rpb24iLChmdW5jdGlvbihy
ZWFzb24scCl7cHJvY2Vzc1siZXhpdCJdKDEpfSkpO01vZHVsZVsiaW5zcGVjdCJdPShmdW5jdGlv
bigpe3JldHVybiJbRW1zY3JpcHRlbiBNb2R1bGUgb2JqZWN0XSJ9KX1lbHNlIGlmKEVOVklST05N
RU5UX0lTX1NIRUxMKXtpZih0eXBlb2YgcmVhZCE9InVuZGVmaW5lZCIpe01vZHVsZVsicmVhZCJd
PWZ1bmN0aW9uIHNoZWxsX3JlYWQoZil7dmFyIGRhdGE9dHJ5UGFyc2VBc0RhdGFVUkkoZik7aWYo
ZGF0YSl7cmV0dXJuIGludEFycmF5VG9TdHJpbmcoZGF0YSl9cmV0dXJuIHJlYWQoZil9fU1vZHVs
ZVsicmVhZEJpbmFyeSJdPWZ1bmN0aW9uIHJlYWRCaW5hcnkoZil7dmFyIGRhdGE7ZGF0YT10cnlQ
YXJzZUFzRGF0YVVSSShmKTtpZihkYXRhKXtyZXR1cm4gZGF0YX1pZih0eXBlb2YgcmVhZGJ1ZmZl
cj09PSJmdW5jdGlvbiIpe3JldHVybiBuZXcgVWludDhBcnJheShyZWFkYnVmZmVyKGYpKX1kYXRh
PXJlYWQoZiwiYmluYXJ5Iik7YXNzZXJ0KHR5cGVvZiBkYXRhPT09Im9iamVjdCIpO3JldHVybiBk
YXRhfTtpZih0eXBlb2Ygc2NyaXB0QXJncyE9InVuZGVmaW5lZCIpe01vZHVsZVsiYXJndW1lbnRz
Il09c2NyaXB0QXJnc31lbHNlIGlmKHR5cGVvZiBhcmd1bWVudHMhPSJ1bmRlZmluZWQiKXtNb2R1
bGVbImFyZ3VtZW50cyJdPWFyZ3VtZW50c31pZih0eXBlb2YgcXVpdD09PSJmdW5jdGlvbiIpe01v
ZHVsZVsicXVpdCJdPShmdW5jdGlvbihzdGF0dXMsdG9UaHJvdyl7cXVpdChzdGF0dXMpfSl9fWVs
c2UgaWYoRU5WSVJPTk1FTlRfSVNfV0VCfHxFTlZJUk9OTUVOVF9JU19XT1JLRVIpe01vZHVsZVsi
cmVhZCJdPWZ1bmN0aW9uIHNoZWxsX3JlYWQodXJsKXt0cnl7dmFyIHhocj1uZXcgWE1MSHR0cFJl
cXVlc3Q7eGhyLm9wZW4oIkdFVCIsdXJsLGZhbHNlKTt4aHIuc2VuZChudWxsKTtyZXR1cm4geGhy
LnJlc3BvbnNlVGV4dH1jYXRjaChlcnIpe3ZhciBkYXRhPXRyeVBhcnNlQXNEYXRhVVJJKHVybCk7
aWYoZGF0YSl7cmV0dXJuIGludEFycmF5VG9TdHJpbmcoZGF0YSl9dGhyb3cgZXJyfX07aWYoRU5W
SVJPTk1FTlRfSVNfV09SS0VSKXtNb2R1bGVbInJlYWRCaW5hcnkiXT1mdW5jdGlvbiByZWFkQmlu
YXJ5KHVybCl7dHJ5e3ZhciB4aHI9bmV3IFhNTEh0dHBSZXF1ZXN0O3hoci5vcGVuKCJHRVQiLHVy
bCxmYWxzZSk7eGhyLnJlc3BvbnNlVHlwZT0iYXJyYXlidWZmZXIiO3hoci5zZW5kKG51bGwpO3Jl
dHVybiBuZXcgVWludDhBcnJheSh4aHIucmVzcG9uc2UpfWNhdGNoKGVycil7dmFyIGRhdGE9dHJ5
UGFyc2VBc0RhdGFVUkkodXJsKTtpZihkYXRhKXtyZXR1cm4gZGF0YX10aHJvdyBlcnJ9fX1Nb2R1
bGVbInJlYWRBc3luYyJdPWZ1bmN0aW9uIHJlYWRBc3luYyh1cmwsb25sb2FkLG9uZXJyb3Ipe3Zh
ciB4aHI9bmV3IFhNTEh0dHBSZXF1ZXN0O3hoci5vcGVuKCJHRVQiLHVybCx0cnVlKTt4aHIucmVz
cG9uc2VUeXBlPSJhcnJheWJ1ZmZlciI7eGhyLm9ubG9hZD1mdW5jdGlvbiB4aHJfb25sb2FkKCl7
aWYoeGhyLnN0YXR1cz09MjAwfHx4aHIuc3RhdHVzPT0wJiZ4aHIucmVzcG9uc2Upe29ubG9hZCh4
aHIucmVzcG9uc2UpO3JldHVybn12YXIgZGF0YT10cnlQYXJzZUFzRGF0YVVSSSh1cmwpO2lmKGRh
dGEpe29ubG9hZChkYXRhLmJ1ZmZlcik7cmV0dXJufW9uZXJyb3IoKX07eGhyLm9uZXJyb3I9b25l
cnJvcjt4aHIuc2VuZChudWxsKX07aWYodHlwZW9mIGFyZ3VtZW50cyE9InVuZGVmaW5lZCIpe01v
ZHVsZVsiYXJndW1lbnRzIl09YXJndW1lbnRzfU1vZHVsZVsic2V0V2luZG93VGl0bGUiXT0oZnVu
Y3Rpb24odGl0bGUpe2RvY3VtZW50LnRpdGxlPXRpdGxlfSl9TW9kdWxlWyJwcmludCJdPXR5cGVv
ZiBjb25zb2xlIT09InVuZGVmaW5lZCI/Y29uc29sZS5sb2cuYmluZChjb25zb2xlKTp0eXBlb2Yg
cHJpbnQhPT0idW5kZWZpbmVkIj9wcmludDpudWxsO01vZHVsZVsicHJpbnRFcnIiXT10eXBlb2Yg
cHJpbnRFcnIhPT0idW5kZWZpbmVkIj9wcmludEVycjp0eXBlb2YgY29uc29sZSE9PSJ1bmRlZmlu
ZWQiJiZjb25zb2xlLndhcm4uYmluZChjb25zb2xlKXx8TW9kdWxlWyJwcmludCJdO01vZHVsZS5w
cmludD1Nb2R1bGVbInByaW50Il07TW9kdWxlLnByaW50RXJyPU1vZHVsZVsicHJpbnRFcnIiXTtm
b3Ioa2V5IGluIG1vZHVsZU92ZXJyaWRlcyl7aWYobW9kdWxlT3ZlcnJpZGVzLmhhc093blByb3Bl
cnR5KGtleSkpe01vZHVsZVtrZXldPW1vZHVsZU92ZXJyaWRlc1trZXldfX1tb2R1bGVPdmVycmlk
ZXM9dW5kZWZpbmVkO3ZhciBTVEFDS19BTElHTj0xNjtmdW5jdGlvbiBzdGF0aWNBbGxvYyhzaXpl
KXthc3NlcnQoIXN0YXRpY1NlYWxlZCk7dmFyIHJldD1TVEFUSUNUT1A7U1RBVElDVE9QPVNUQVRJ
Q1RPUCtzaXplKzE1Ji0xNjtyZXR1cm4gcmV0fWZ1bmN0aW9uIGR5bmFtaWNBbGxvYyhzaXplKXth
c3NlcnQoRFlOQU1JQ1RPUF9QVFIpO3ZhciByZXQ9SEVBUDMyW0RZTkFNSUNUT1BfUFRSPj4yXTt2
YXIgZW5kPXJldCtzaXplKzE1Ji0xNjtIRUFQMzJbRFlOQU1JQ1RPUF9QVFI+PjJdPWVuZDtpZihl
bmQ+PVRPVEFMX01FTU9SWSl7dmFyIHN1Y2Nlc3M9ZW5sYXJnZU1lbW9yeSgpO2lmKCFzdWNjZXNz
KXtIRUFQMzJbRFlOQU1JQ1RPUF9QVFI+PjJdPXJldDtyZXR1cm4gMH19cmV0dXJuIHJldH1mdW5j
dGlvbiBhbGlnbk1lbW9yeShzaXplLGZhY3Rvcil7aWYoIWZhY3RvcilmYWN0b3I9U1RBQ0tfQUxJ
R047dmFyIHJldD1zaXplPU1hdGguY2VpbChzaXplL2ZhY3RvcikqZmFjdG9yO3JldHVybiByZXR9
ZnVuY3Rpb24gZ2V0TmF0aXZlVHlwZVNpemUodHlwZSl7c3dpdGNoKHR5cGUpe2Nhc2UiaTEiOmNh
c2UiaTgiOnJldHVybiAxO2Nhc2UiaTE2IjpyZXR1cm4gMjtjYXNlImkzMiI6cmV0dXJuIDQ7Y2Fz
ZSJpNjQiOnJldHVybiA4O2Nhc2UiZmxvYXQiOnJldHVybiA0O2Nhc2UiZG91YmxlIjpyZXR1cm4g
ODtkZWZhdWx0OntpZih0eXBlW3R5cGUubGVuZ3RoLTFdPT09IioiKXtyZXR1cm4gNH1lbHNlIGlm
KHR5cGVbMF09PT0iaSIpe3ZhciBiaXRzPXBhcnNlSW50KHR5cGUuc3Vic3RyKDEpKTthc3NlcnQo
Yml0cyU4PT09MCk7cmV0dXJuIGJpdHMvOH1lbHNle3JldHVybiAwfX19fWZ1bmN0aW9uIHdhcm5P
bmNlKHRleHQpe2lmKCF3YXJuT25jZS5zaG93bil3YXJuT25jZS5zaG93bj17fTtpZighd2Fybk9u
Y2Uuc2hvd25bdGV4dF0pe3dhcm5PbmNlLnNob3duW3RleHRdPTE7TW9kdWxlLnByaW50RXJyKHRl
eHQpfX12YXIganNDYWxsU3RhcnRJbmRleD0xO3ZhciBmdW5jdGlvblBvaW50ZXJzPW5ldyBBcnJh
eSgwKTt2YXIgZnVuY1dyYXBwZXJzPXt9O2Z1bmN0aW9uIGR5bkNhbGwoc2lnLHB0cixhcmdzKXtp
ZihhcmdzJiZhcmdzLmxlbmd0aCl7cmV0dXJuIE1vZHVsZVsiZHluQ2FsbF8iK3NpZ10uYXBwbHko
bnVsbCxbcHRyXS5jb25jYXQoYXJncykpfWVsc2V7cmV0dXJuIE1vZHVsZVsiZHluQ2FsbF8iK3Np
Z10uY2FsbChudWxsLHB0cil9fXZhciBHTE9CQUxfQkFTRT04O3ZhciBBQk9SVD0wO3ZhciBFWElU
U1RBVFVTPTA7ZnVuY3Rpb24gYXNzZXJ0KGNvbmRpdGlvbix0ZXh0KXtpZighY29uZGl0aW9uKXth
Ym9ydCgiQXNzZXJ0aW9uIGZhaWxlZDogIit0ZXh0KX19ZnVuY3Rpb24gZ2V0Q0Z1bmMoaWRlbnQp
e3ZhciBmdW5jPU1vZHVsZVsiXyIraWRlbnRdO2Fzc2VydChmdW5jLCJDYW5ub3QgY2FsbCB1bmtu
b3duIGZ1bmN0aW9uICIraWRlbnQrIiwgbWFrZSBzdXJlIGl0IGlzIGV4cG9ydGVkIik7cmV0dXJu
IGZ1bmN9dmFyIEpTZnVuY3M9eyJzdGFja1NhdmUiOihmdW5jdGlvbigpe3N0YWNrU2F2ZSgpfSks
InN0YWNrUmVzdG9yZSI6KGZ1bmN0aW9uKCl7c3RhY2tSZXN0b3JlKCl9KSwiYXJyYXlUb0MiOihm
dW5jdGlvbihhcnIpe3ZhciByZXQ9c3RhY2tBbGxvYyhhcnIubGVuZ3RoKTt3cml0ZUFycmF5VG9N
ZW1vcnkoYXJyLHJldCk7cmV0dXJuIHJldH0pLCJzdHJpbmdUb0MiOihmdW5jdGlvbihzdHIpe3Zh
ciByZXQ9MDtpZihzdHIhPT1udWxsJiZzdHIhPT11bmRlZmluZWQmJnN0ciE9PTApe3ZhciBsZW49
KHN0ci5sZW5ndGg8PDIpKzE7cmV0PXN0YWNrQWxsb2MobGVuKTtzdHJpbmdUb1VURjgoc3RyLHJl
dCxsZW4pfXJldHVybiByZXR9KX07dmFyIHRvQz17InN0cmluZyI6SlNmdW5jc1sic3RyaW5nVG9D
Il0sImFycmF5IjpKU2Z1bmNzWyJhcnJheVRvQyJdfTtmdW5jdGlvbiBjY2FsbChpZGVudCxyZXR1
cm5UeXBlLGFyZ1R5cGVzLGFyZ3Msb3B0cyl7dmFyIGZ1bmM9Z2V0Q0Z1bmMoaWRlbnQpO3ZhciBj
QXJncz1bXTt2YXIgc3RhY2s9MDtpZihhcmdzKXtmb3IodmFyIGk9MDtpPGFyZ3MubGVuZ3RoO2kr
Kyl7dmFyIGNvbnZlcnRlcj10b0NbYXJnVHlwZXNbaV1dO2lmKGNvbnZlcnRlcil7aWYoc3RhY2s9
PT0wKXN0YWNrPXN0YWNrU2F2ZSgpO2NBcmdzW2ldPWNvbnZlcnRlcihhcmdzW2ldKX1lbHNle2NB
cmdzW2ldPWFyZ3NbaV19fX12YXIgcmV0PWZ1bmMuYXBwbHkobnVsbCxjQXJncyk7aWYocmV0dXJu
VHlwZT09PSJzdHJpbmciKXJldD1Qb2ludGVyX3N0cmluZ2lmeShyZXQpO2lmKHN0YWNrIT09MCl7
c3RhY2tSZXN0b3JlKHN0YWNrKX1yZXR1cm4gcmV0fWZ1bmN0aW9uIHNldFZhbHVlKHB0cix2YWx1
ZSx0eXBlLG5vU2FmZSl7dHlwZT10eXBlfHwiaTgiO2lmKHR5cGUuY2hhckF0KHR5cGUubGVuZ3Ro
LTEpPT09IioiKXR5cGU9ImkzMiI7c3dpdGNoKHR5cGUpe2Nhc2UiaTEiOkhFQVA4W3B0cj4+MF09
dmFsdWU7YnJlYWs7Y2FzZSJpOCI6SEVBUDhbcHRyPj4wXT12YWx1ZTticmVhaztjYXNlImkxNiI6
SEVBUDE2W3B0cj4+MV09dmFsdWU7YnJlYWs7Y2FzZSJpMzIiOkhFQVAzMltwdHI+PjJdPXZhbHVl
O2JyZWFrO2Nhc2UiaTY0Ijp0ZW1wSTY0PVt2YWx1ZT4+PjAsKHRlbXBEb3VibGU9dmFsdWUsK01h
dGhfYWJzKHRlbXBEb3VibGUpPj0rMT90ZW1wRG91YmxlPiswPyhNYXRoX21pbigrTWF0aF9mbG9v
cih0ZW1wRG91YmxlLys0Mjk0OTY3Mjk2KSwrNDI5NDk2NzI5NSl8MCk+Pj4wOn5+K01hdGhfY2Vp
bCgodGVtcERvdWJsZS0gKyh+fnRlbXBEb3VibGU+Pj4wKSkvKzQyOTQ5NjcyOTYpPj4+MDowKV0s
SEVBUDMyW3B0cj4+Ml09dGVtcEk2NFswXSxIRUFQMzJbcHRyKzQ+PjJdPXRlbXBJNjRbMV07YnJl
YWs7Y2FzZSJmbG9hdCI6SEVBUEYzMltwdHI+PjJdPXZhbHVlO2JyZWFrO2Nhc2UiZG91YmxlIjpI
RUFQRjY0W3B0cj4+M109dmFsdWU7YnJlYWs7ZGVmYXVsdDphYm9ydCgiaW52YWxpZCB0eXBlIGZv
ciBzZXRWYWx1ZTogIit0eXBlKX19dmFyIEFMTE9DX1NUQVRJQz0yO3ZhciBBTExPQ19OT05FPTQ7
ZnVuY3Rpb24gYWxsb2NhdGUoc2xhYix0eXBlcyxhbGxvY2F0b3IscHRyKXt2YXIgemVyb2luaXQs
c2l6ZTtpZih0eXBlb2Ygc2xhYj09PSJudW1iZXIiKXt6ZXJvaW5pdD10cnVlO3NpemU9c2xhYn1l
bHNle3plcm9pbml0PWZhbHNlO3NpemU9c2xhYi5sZW5ndGh9dmFyIHNpbmdsZVR5cGU9dHlwZW9m
IHR5cGVzPT09InN0cmluZyI/dHlwZXM6bnVsbDt2YXIgcmV0O2lmKGFsbG9jYXRvcj09QUxMT0Nf
Tk9ORSl7cmV0PXB0cn1lbHNle3JldD1bdHlwZW9mIF9tYWxsb2M9PT0iZnVuY3Rpb24iP19tYWxs
b2M6c3RhdGljQWxsb2Msc3RhY2tBbGxvYyxzdGF0aWNBbGxvYyxkeW5hbWljQWxsb2NdW2FsbG9j
YXRvcj09PXVuZGVmaW5lZD9BTExPQ19TVEFUSUM6YWxsb2NhdG9yXShNYXRoLm1heChzaXplLHNp
bmdsZVR5cGU/MTp0eXBlcy5sZW5ndGgpKX1pZih6ZXJvaW5pdCl7dmFyIHN0b3A7cHRyPXJldDth
c3NlcnQoKHJldCYzKT09MCk7c3RvcD1yZXQrKHNpemUmfjMpO2Zvcig7cHRyPHN0b3A7cHRyKz00
KXtIRUFQMzJbcHRyPj4yXT0wfXN0b3A9cmV0K3NpemU7d2hpbGUocHRyPHN0b3Ape0hFQVA4W3B0
cisrPj4wXT0wfXJldHVybiByZXR9aWYoc2luZ2xlVHlwZT09PSJpOCIpe2lmKHNsYWIuc3ViYXJy
YXl8fHNsYWIuc2xpY2Upe0hFQVBVOC5zZXQoc2xhYixyZXQpfWVsc2V7SEVBUFU4LnNldChuZXcg
VWludDhBcnJheShzbGFiKSxyZXQpfXJldHVybiByZXR9dmFyIGk9MCx0eXBlLHR5cGVTaXplLHBy
ZXZpb3VzVHlwZTt3aGlsZShpPHNpemUpe3ZhciBjdXJyPXNsYWJbaV07dHlwZT1zaW5nbGVUeXBl
fHx0eXBlc1tpXTtpZih0eXBlPT09MCl7aSsrO2NvbnRpbnVlfWlmKHR5cGU9PSJpNjQiKXR5cGU9
ImkzMiI7c2V0VmFsdWUocmV0K2ksY3Vycix0eXBlKTtpZihwcmV2aW91c1R5cGUhPT10eXBlKXt0
eXBlU2l6ZT1nZXROYXRpdmVUeXBlU2l6ZSh0eXBlKTtwcmV2aW91c1R5cGU9dHlwZX1pKz10eXBl
U2l6ZX1yZXR1cm4gcmV0fWZ1bmN0aW9uIFBvaW50ZXJfc3RyaW5naWZ5KHB0cixsZW5ndGgpe2lm
KGxlbmd0aD09PTB8fCFwdHIpcmV0dXJuIiI7dmFyIGhhc1V0Zj0wO3ZhciB0O3ZhciBpPTA7d2hp
bGUoMSl7dD1IRUFQVThbcHRyK2k+PjBdO2hhc1V0Znw9dDtpZih0PT0wJiYhbGVuZ3RoKWJyZWFr
O2krKztpZihsZW5ndGgmJmk9PWxlbmd0aClicmVha31pZighbGVuZ3RoKWxlbmd0aD1pO3ZhciBy
ZXQ9IiI7aWYoaGFzVXRmPDEyOCl7dmFyIE1BWF9DSFVOSz0xMDI0O3ZhciBjdXJyO3doaWxlKGxl
bmd0aD4wKXtjdXJyPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLEhFQVBVOC5zdWJh
cnJheShwdHIscHRyK01hdGgubWluKGxlbmd0aCxNQVhfQ0hVTkspKSk7cmV0PXJldD9yZXQrY3Vy
cjpjdXJyO3B0cis9TUFYX0NIVU5LO2xlbmd0aC09TUFYX0NIVU5LfXJldHVybiByZXR9cmV0dXJu
IFVURjhUb1N0cmluZyhwdHIpfXZhciBVVEY4RGVjb2Rlcj10eXBlb2YgVGV4dERlY29kZXIhPT0i
dW5kZWZpbmVkIj9uZXcgVGV4dERlY29kZXIoInV0ZjgiKTp1bmRlZmluZWQ7ZnVuY3Rpb24gVVRG
OEFycmF5VG9TdHJpbmcodThBcnJheSxpZHgpe3ZhciBlbmRQdHI9aWR4O3doaWxlKHU4QXJyYXlb
ZW5kUHRyXSkrK2VuZFB0cjtpZihlbmRQdHItaWR4PjE2JiZ1OEFycmF5LnN1YmFycmF5JiZVVEY4
RGVjb2Rlcil7cmV0dXJuIFVURjhEZWNvZGVyLmRlY29kZSh1OEFycmF5LnN1YmFycmF5KGlkeCxl
bmRQdHIpKX1lbHNle3ZhciB1MCx1MSx1Mix1Myx1NCx1NTt2YXIgc3RyPSIiO3doaWxlKDEpe3Uw
PXU4QXJyYXlbaWR4KytdO2lmKCF1MClyZXR1cm4gc3RyO2lmKCEodTAmMTI4KSl7c3RyKz1TdHJp
bmcuZnJvbUNoYXJDb2RlKHUwKTtjb250aW51ZX11MT11OEFycmF5W2lkeCsrXSY2MztpZigodTAm
MjI0KT09MTkyKXtzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoKHUwJjMxKTw8Nnx1MSk7Y29udGlu
dWV9dTI9dThBcnJheVtpZHgrK10mNjM7aWYoKHUwJjI0MCk9PTIyNCl7dTA9KHUwJjE1KTw8MTJ8
dTE8PDZ8dTJ9ZWxzZXt1Mz11OEFycmF5W2lkeCsrXSY2MztpZigodTAmMjQ4KT09MjQwKXt1MD0o
dTAmNyk8PDE4fHUxPDwxMnx1Mjw8Nnx1M31lbHNle3U0PXU4QXJyYXlbaWR4KytdJjYzO2lmKCh1
MCYyNTIpPT0yNDgpe3UwPSh1MCYzKTw8MjR8dTE8PDE4fHUyPDwxMnx1Mzw8Nnx1NH1lbHNle3U1
PXU4QXJyYXlbaWR4KytdJjYzO3UwPSh1MCYxKTw8MzB8dTE8PDI0fHUyPDwxOHx1Mzw8MTJ8dTQ8
PDZ8dTV9fX1pZih1MDw2NTUzNil7c3RyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHUwKX1lbHNle3Zh
ciBjaD11MC02NTUzNjtzdHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8Y2g+PjEwLDU2MzIw
fGNoJjEwMjMpfX19fWZ1bmN0aW9uIFVURjhUb1N0cmluZyhwdHIpe3JldHVybiBVVEY4QXJyYXlU
b1N0cmluZyhIRUFQVTgscHRyKX1mdW5jdGlvbiBzdHJpbmdUb1VURjhBcnJheShzdHIsb3V0VThB
cnJheSxvdXRJZHgsbWF4Qnl0ZXNUb1dyaXRlKXtpZighKG1heEJ5dGVzVG9Xcml0ZT4wKSlyZXR1
cm4gMDt2YXIgc3RhcnRJZHg9b3V0SWR4O3ZhciBlbmRJZHg9b3V0SWR4K21heEJ5dGVzVG9Xcml0
ZS0xO2Zvcih2YXIgaT0wO2k8c3RyLmxlbmd0aDsrK2kpe3ZhciB1PXN0ci5jaGFyQ29kZUF0KGkp
O2lmKHU+PTU1Mjk2JiZ1PD01NzM0Myl1PTY1NTM2KygodSYxMDIzKTw8MTApfHN0ci5jaGFyQ29k
ZUF0KCsraSkmMTAyMztpZih1PD0xMjcpe2lmKG91dElkeD49ZW5kSWR4KWJyZWFrO291dFU4QXJy
YXlbb3V0SWR4KytdPXV9ZWxzZSBpZih1PD0yMDQ3KXtpZihvdXRJZHgrMT49ZW5kSWR4KWJyZWFr
O291dFU4QXJyYXlbb3V0SWR4KytdPTE5Mnx1Pj42O291dFU4QXJyYXlbb3V0SWR4KytdPTEyOHx1
JjYzfWVsc2UgaWYodTw9NjU1MzUpe2lmKG91dElkeCsyPj1lbmRJZHgpYnJlYWs7b3V0VThBcnJh
eVtvdXRJZHgrK109MjI0fHU+PjEyO291dFU4QXJyYXlbb3V0SWR4KytdPTEyOHx1Pj42JjYzO291
dFU4QXJyYXlbb3V0SWR4KytdPTEyOHx1JjYzfWVsc2UgaWYodTw9MjA5NzE1MSl7aWYob3V0SWR4
KzM+PWVuZElkeClicmVhaztvdXRVOEFycmF5W291dElkeCsrXT0yNDB8dT4+MTg7b3V0VThBcnJh
eVtvdXRJZHgrK109MTI4fHU+PjEyJjYzO291dFU4QXJyYXlbb3V0SWR4KytdPTEyOHx1Pj42JjYz
O291dFU4QXJyYXlbb3V0SWR4KytdPTEyOHx1JjYzfWVsc2UgaWYodTw9NjcxMDg4NjMpe2lmKG91
dElkeCs0Pj1lbmRJZHgpYnJlYWs7b3V0VThBcnJheVtvdXRJZHgrK109MjQ4fHU+PjI0O291dFU4
QXJyYXlbb3V0SWR4KytdPTEyOHx1Pj4xOCY2MztvdXRVOEFycmF5W291dElkeCsrXT0xMjh8dT4+
MTImNjM7b3V0VThBcnJheVtvdXRJZHgrK109MTI4fHU+PjYmNjM7b3V0VThBcnJheVtvdXRJZHgr
K109MTI4fHUmNjN9ZWxzZXtpZihvdXRJZHgrNT49ZW5kSWR4KWJyZWFrO291dFU4QXJyYXlbb3V0
SWR4KytdPTI1Mnx1Pj4zMDtvdXRVOEFycmF5W291dElkeCsrXT0xMjh8dT4+MjQmNjM7b3V0VThB
cnJheVtvdXRJZHgrK109MTI4fHU+PjE4JjYzO291dFU4QXJyYXlbb3V0SWR4KytdPTEyOHx1Pj4x
MiY2MztvdXRVOEFycmF5W291dElkeCsrXT0xMjh8dT4+NiY2MztvdXRVOEFycmF5W291dElkeCsr
XT0xMjh8dSY2M319b3V0VThBcnJheVtvdXRJZHhdPTA7cmV0dXJuIG91dElkeC1zdGFydElkeH1m
dW5jdGlvbiBzdHJpbmdUb1VURjgoc3RyLG91dFB0cixtYXhCeXRlc1RvV3JpdGUpe3JldHVybiBz
dHJpbmdUb1VURjhBcnJheShzdHIsSEVBUFU4LG91dFB0cixtYXhCeXRlc1RvV3JpdGUpfWZ1bmN0
aW9uIGxlbmd0aEJ5dGVzVVRGOChzdHIpe3ZhciBsZW49MDtmb3IodmFyIGk9MDtpPHN0ci5sZW5n
dGg7KytpKXt2YXIgdT1zdHIuY2hhckNvZGVBdChpKTtpZih1Pj01NTI5NiYmdTw9NTczNDMpdT02
NTUzNisoKHUmMTAyMyk8PDEwKXxzdHIuY2hhckNvZGVBdCgrK2kpJjEwMjM7aWYodTw9MTI3KXsr
K2xlbn1lbHNlIGlmKHU8PTIwNDcpe2xlbis9Mn1lbHNlIGlmKHU8PTY1NTM1KXtsZW4rPTN9ZWxz
ZSBpZih1PD0yMDk3MTUxKXtsZW4rPTR9ZWxzZSBpZih1PD02NzEwODg2Myl7bGVuKz01fWVsc2V7
bGVuKz02fX1yZXR1cm4gbGVufXZhciBVVEYxNkRlY29kZXI9dHlwZW9mIFRleHREZWNvZGVyIT09
InVuZGVmaW5lZCI/bmV3IFRleHREZWNvZGVyKCJ1dGYtMTZsZSIpOnVuZGVmaW5lZDtmdW5jdGlv
biBhbGxvY2F0ZVVURjgoc3RyKXt2YXIgc2l6ZT1sZW5ndGhCeXRlc1VURjgoc3RyKSsxO3ZhciBy
ZXQ9X21hbGxvYyhzaXplKTtpZihyZXQpc3RyaW5nVG9VVEY4QXJyYXkoc3RyLEhFQVA4LHJldCxz
aXplKTtyZXR1cm4gcmV0fWZ1bmN0aW9uIGRlbWFuZ2xlKGZ1bmMpe3JldHVybiBmdW5jfWZ1bmN0
aW9uIGRlbWFuZ2xlQWxsKHRleHQpe3ZhciByZWdleD0vX19aW1x3XGRfXSsvZztyZXR1cm4gdGV4
dC5yZXBsYWNlKHJlZ2V4LChmdW5jdGlvbih4KXt2YXIgeT1kZW1hbmdsZSh4KTtyZXR1cm4geD09
PXk/eDp4KyIgWyIreSsiXSJ9KSl9ZnVuY3Rpb24ganNTdGFja1RyYWNlKCl7dmFyIGVycj1uZXcg
RXJyb3I7aWYoIWVyci5zdGFjayl7dHJ5e3Rocm93IG5ldyBFcnJvcigwKX1jYXRjaChlKXtlcnI9
ZX1pZighZXJyLnN0YWNrKXtyZXR1cm4iKG5vIHN0YWNrIHRyYWNlIGF2YWlsYWJsZSkifX1yZXR1
cm4gZXJyLnN0YWNrLnRvU3RyaW5nKCl9ZnVuY3Rpb24gc3RhY2tUcmFjZSgpe3ZhciBqcz1qc1N0
YWNrVHJhY2UoKTtpZihNb2R1bGVbImV4dHJhU3RhY2tUcmFjZSJdKWpzKz0iXG4iK01vZHVsZVsi
ZXh0cmFTdGFja1RyYWNlIl0oKTtyZXR1cm4gZGVtYW5nbGVBbGwoanMpfXZhciBQQUdFX1NJWkU9
MTYzODQ7dmFyIGJ1ZmZlcixIRUFQOCxIRUFQVTgsSEVBUDE2LEhFQVBVMTYsSEVBUDMyLEhFQVBV
MzIsSEVBUEYzMixIRUFQRjY0O2Z1bmN0aW9uIHVwZGF0ZUdsb2JhbEJ1ZmZlclZpZXdzKCl7TW9k
dWxlWyJIRUFQOCJdPUhFQVA4PW5ldyBJbnQ4QXJyYXkoYnVmZmVyKTtNb2R1bGVbIkhFQVAxNiJd
PUhFQVAxNj1uZXcgSW50MTZBcnJheShidWZmZXIpO01vZHVsZVsiSEVBUDMyIl09SEVBUDMyPW5l
dyBJbnQzMkFycmF5KGJ1ZmZlcik7TW9kdWxlWyJIRUFQVTgiXT1IRUFQVTg9bmV3IFVpbnQ4QXJy
YXkoYnVmZmVyKTtNb2R1bGVbIkhFQVBVMTYiXT1IRUFQVTE2PW5ldyBVaW50MTZBcnJheShidWZm
ZXIpO01vZHVsZVsiSEVBUFUzMiJdPUhFQVBVMzI9bmV3IFVpbnQzMkFycmF5KGJ1ZmZlcik7TW9k
dWxlWyJIRUFQRjMyIl09SEVBUEYzMj1uZXcgRmxvYXQzMkFycmF5KGJ1ZmZlcik7TW9kdWxlWyJI
RUFQRjY0Il09SEVBUEY2ND1uZXcgRmxvYXQ2NEFycmF5KGJ1ZmZlcil9dmFyIFNUQVRJQ19CQVNF
LFNUQVRJQ1RPUCxzdGF0aWNTZWFsZWQ7dmFyIFNUQUNLX0JBU0UsU1RBQ0tUT1AsU1RBQ0tfTUFY
O3ZhciBEWU5BTUlDX0JBU0UsRFlOQU1JQ1RPUF9QVFI7U1RBVElDX0JBU0U9U1RBVElDVE9QPVNU
QUNLX0JBU0U9U1RBQ0tUT1A9U1RBQ0tfTUFYPURZTkFNSUNfQkFTRT1EWU5BTUlDVE9QX1BUUj0w
O3N0YXRpY1NlYWxlZD1mYWxzZTtmdW5jdGlvbiBhYm9ydE9uQ2Fubm90R3Jvd01lbW9yeSgpe2Fi
b3J0KCJDYW5ub3QgZW5sYXJnZSBtZW1vcnkgYXJyYXlzLiBFaXRoZXIgKDEpIGNvbXBpbGUgd2l0
aCAgLXMgVE9UQUxfTUVNT1JZPVggIHdpdGggWCBoaWdoZXIgdGhhbiB0aGUgY3VycmVudCB2YWx1
ZSAiK1RPVEFMX01FTU9SWSsiLCAoMikgY29tcGlsZSB3aXRoICAtcyBBTExPV19NRU1PUllfR1JP
V1RIPTEgIHdoaWNoIGFsbG93cyBpbmNyZWFzaW5nIHRoZSBzaXplIGF0IHJ1bnRpbWUgYnV0IHBy
ZXZlbnRzIHNvbWUgb3B0aW1pemF0aW9ucywgKDMpIHNldCBNb2R1bGUuVE9UQUxfTUVNT1JZIHRv
IGEgaGlnaGVyIHZhbHVlIGJlZm9yZSB0aGUgcHJvZ3JhbSBydW5zLCBvciAoNCkgaWYgeW91IHdh
bnQgbWFsbG9jIHRvIHJldHVybiBOVUxMICgwKSBpbnN0ZWFkIG9mIHRoaXMgYWJvcnQsIGNvbXBp
bGUgd2l0aCAgLXMgQUJPUlRJTkdfTUFMTE9DPTAgIil9ZnVuY3Rpb24gZW5sYXJnZU1lbW9yeSgp
e2Fib3J0T25DYW5ub3RHcm93TWVtb3J5KCl9dmFyIFRPVEFMX1NUQUNLPU1vZHVsZVsiVE9UQUxf
U1RBQ0siXXx8NTI0Mjg4MDt2YXIgVE9UQUxfTUVNT1JZPU1vZHVsZVsiVE9UQUxfTUVNT1JZIl18
fDE2Nzc3MjE2O2lmKFRPVEFMX01FTU9SWTxUT1RBTF9TVEFDSylNb2R1bGUucHJpbnRFcnIoIlRP
VEFMX01FTU9SWSBzaG91bGQgYmUgbGFyZ2VyIHRoYW4gVE9UQUxfU1RBQ0ssIHdhcyAiK1RPVEFM
X01FTU9SWSsiISAoVE9UQUxfU1RBQ0s9IitUT1RBTF9TVEFDSysiKSIpO2lmKE1vZHVsZVsiYnVm
ZmVyIl0pe2J1ZmZlcj1Nb2R1bGVbImJ1ZmZlciJdfWVsc2V7e2J1ZmZlcj1uZXcgQXJyYXlCdWZm
ZXIoVE9UQUxfTUVNT1JZKX1Nb2R1bGVbImJ1ZmZlciJdPWJ1ZmZlcn11cGRhdGVHbG9iYWxCdWZm
ZXJWaWV3cygpO2Z1bmN0aW9uIGdldFRvdGFsTWVtb3J5KCl7cmV0dXJuIFRPVEFMX01FTU9SWX1I
RUFQMzJbMF09MTY2ODUwOTAyOTtIRUFQMTZbMV09MjU0NTk7aWYoSEVBUFU4WzJdIT09MTE1fHxI
RUFQVThbM10hPT05OSl0aHJvdyJSdW50aW1lIGVycm9yOiBleHBlY3RlZCB0aGUgc3lzdGVtIHRv
IGJlIGxpdHRsZS1lbmRpYW4hIjtmdW5jdGlvbiBjYWxsUnVudGltZUNhbGxiYWNrcyhjYWxsYmFj
a3Mpe3doaWxlKGNhbGxiYWNrcy5sZW5ndGg+MCl7dmFyIGNhbGxiYWNrPWNhbGxiYWNrcy5zaGlm
dCgpO2lmKHR5cGVvZiBjYWxsYmFjaz09ImZ1bmN0aW9uIil7Y2FsbGJhY2soKTtjb250aW51ZX12
YXIgZnVuYz1jYWxsYmFjay5mdW5jO2lmKHR5cGVvZiBmdW5jPT09Im51bWJlciIpe2lmKGNhbGxi
YWNrLmFyZz09PXVuZGVmaW5lZCl7TW9kdWxlWyJkeW5DYWxsX3YiXShmdW5jKX1lbHNle01vZHVs
ZVsiZHluQ2FsbF92aSJdKGZ1bmMsY2FsbGJhY2suYXJnKX19ZWxzZXtmdW5jKGNhbGxiYWNrLmFy
Zz09PXVuZGVmaW5lZD9udWxsOmNhbGxiYWNrLmFyZyl9fX12YXIgX19BVFBSRVJVTl9fPVtdO3Zh
ciBfX0FUSU5JVF9fPVtdO3ZhciBfX0FUTUFJTl9fPVtdO3ZhciBfX0FURVhJVF9fPVtdO3ZhciBf
X0FUUE9TVFJVTl9fPVtdO3ZhciBydW50aW1lSW5pdGlhbGl6ZWQ9ZmFsc2U7dmFyIHJ1bnRpbWVF
eGl0ZWQ9ZmFsc2U7ZnVuY3Rpb24gcHJlUnVuKCl7aWYoTW9kdWxlWyJwcmVSdW4iXSl7aWYodHlw
ZW9mIE1vZHVsZVsicHJlUnVuIl09PSJmdW5jdGlvbiIpTW9kdWxlWyJwcmVSdW4iXT1bTW9kdWxl
WyJwcmVSdW4iXV07d2hpbGUoTW9kdWxlWyJwcmVSdW4iXS5sZW5ndGgpe2FkZE9uUHJlUnVuKE1v
ZHVsZVsicHJlUnVuIl0uc2hpZnQoKSl9fWNhbGxSdW50aW1lQ2FsbGJhY2tzKF9fQVRQUkVSVU5f
Xyl9ZnVuY3Rpb24gZW5zdXJlSW5pdFJ1bnRpbWUoKXtpZihydW50aW1lSW5pdGlhbGl6ZWQpcmV0
dXJuO3J1bnRpbWVJbml0aWFsaXplZD10cnVlO2NhbGxSdW50aW1lQ2FsbGJhY2tzKF9fQVRJTklU
X18pfWZ1bmN0aW9uIHByZU1haW4oKXtjYWxsUnVudGltZUNhbGxiYWNrcyhfX0FUTUFJTl9fKX1m
dW5jdGlvbiBleGl0UnVudGltZSgpe2NhbGxSdW50aW1lQ2FsbGJhY2tzKF9fQVRFWElUX18pO3J1
bnRpbWVFeGl0ZWQ9dHJ1ZX1mdW5jdGlvbiBwb3N0UnVuKCl7aWYoTW9kdWxlWyJwb3N0UnVuIl0p
e2lmKHR5cGVvZiBNb2R1bGVbInBvc3RSdW4iXT09ImZ1bmN0aW9uIilNb2R1bGVbInBvc3RSdW4i
XT1bTW9kdWxlWyJwb3N0UnVuIl1dO3doaWxlKE1vZHVsZVsicG9zdFJ1biJdLmxlbmd0aCl7YWRk
T25Qb3N0UnVuKE1vZHVsZVsicG9zdFJ1biJdLnNoaWZ0KCkpfX1jYWxsUnVudGltZUNhbGxiYWNr
cyhfX0FUUE9TVFJVTl9fKX1mdW5jdGlvbiBhZGRPblByZVJ1bihjYil7X19BVFBSRVJVTl9fLnVu
c2hpZnQoY2IpfWZ1bmN0aW9uIGFkZE9uUG9zdFJ1bihjYil7X19BVFBPU1RSVU5fXy51bnNoaWZ0
KGNiKX1mdW5jdGlvbiB3cml0ZUFycmF5VG9NZW1vcnkoYXJyYXksYnVmZmVyKXtIRUFQOC5zZXQo
YXJyYXksYnVmZmVyKX1mdW5jdGlvbiB3cml0ZUFzY2lpVG9NZW1vcnkoc3RyLGJ1ZmZlcixkb250
QWRkTnVsbCl7Zm9yKHZhciBpPTA7aTxzdHIubGVuZ3RoOysraSl7SEVBUDhbYnVmZmVyKys+PjBd
PXN0ci5jaGFyQ29kZUF0KGkpfWlmKCFkb250QWRkTnVsbClIRUFQOFtidWZmZXI+PjBdPTB9aWYo
IU1hdGhbImltdWwiXXx8TWF0aFsiaW11bCJdKDQyOTQ5NjcyOTUsNSkhPT0tNSlNYXRoWyJpbXVs
Il09ZnVuY3Rpb24gaW11bChhLGIpe3ZhciBhaD1hPj4+MTY7dmFyIGFsPWEmNjU1MzU7dmFyIGJo
PWI+Pj4xNjt2YXIgYmw9YiY2NTUzNTtyZXR1cm4gYWwqYmwrKGFoKmJsK2FsKmJoPDwxNil8MH07
TWF0aC5pbXVsPU1hdGhbImltdWwiXTtpZighTWF0aFsiY2x6MzIiXSlNYXRoWyJjbHozMiJdPShm
dW5jdGlvbih4KXt4PXg+Pj4wO2Zvcih2YXIgaT0wO2k8MzI7aSsrKXtpZih4JjE8PDMxLWkpcmV0
dXJuIGl9cmV0dXJuIDMyfSk7TWF0aC5jbHozMj1NYXRoWyJjbHozMiJdO2lmKCFNYXRoWyJ0cnVu
YyJdKU1hdGhbInRydW5jIl09KGZ1bmN0aW9uKHgpe3JldHVybiB4PDA/TWF0aC5jZWlsKHgpOk1h
dGguZmxvb3IoeCl9KTtNYXRoLnRydW5jPU1hdGhbInRydW5jIl07dmFyIE1hdGhfYWJzPU1hdGgu
YWJzO3ZhciBNYXRoX2Nvcz1NYXRoLmNvczt2YXIgTWF0aF9zaW49TWF0aC5zaW47dmFyIE1hdGhf
dGFuPU1hdGgudGFuO3ZhciBNYXRoX2Fjb3M9TWF0aC5hY29zO3ZhciBNYXRoX2FzaW49TWF0aC5h
c2luO3ZhciBNYXRoX2F0YW49TWF0aC5hdGFuO3ZhciBNYXRoX2F0YW4yPU1hdGguYXRhbjI7dmFy
IE1hdGhfZXhwPU1hdGguZXhwO3ZhciBNYXRoX2xvZz1NYXRoLmxvZzt2YXIgTWF0aF9zcXJ0PU1h
dGguc3FydDt2YXIgTWF0aF9jZWlsPU1hdGguY2VpbDt2YXIgTWF0aF9mbG9vcj1NYXRoLmZsb29y
O3ZhciBNYXRoX3Bvdz1NYXRoLnBvdzt2YXIgTWF0aF9pbXVsPU1hdGguaW11bDt2YXIgTWF0aF9m
cm91bmQ9TWF0aC5mcm91bmQ7dmFyIE1hdGhfcm91bmQ9TWF0aC5yb3VuZDt2YXIgTWF0aF9taW49
TWF0aC5taW47dmFyIE1hdGhfbWF4PU1hdGgubWF4O3ZhciBNYXRoX2NsejMyPU1hdGguY2x6MzI7
dmFyIE1hdGhfdHJ1bmM9TWF0aC50cnVuYzt2YXIgcnVuRGVwZW5kZW5jaWVzPTA7dmFyIHJ1bkRl
cGVuZGVuY3lXYXRjaGVyPW51bGw7dmFyIGRlcGVuZGVuY2llc0Z1bGZpbGxlZD1udWxsO2Z1bmN0
aW9uIGdldFVuaXF1ZVJ1bkRlcGVuZGVuY3koaWQpe3JldHVybiBpZH1mdW5jdGlvbiBhZGRSdW5E
ZXBlbmRlbmN5KGlkKXtydW5EZXBlbmRlbmNpZXMrKztpZihNb2R1bGVbIm1vbml0b3JSdW5EZXBl
bmRlbmNpZXMiXSl7TW9kdWxlWyJtb25pdG9yUnVuRGVwZW5kZW5jaWVzIl0ocnVuRGVwZW5kZW5j
aWVzKX19ZnVuY3Rpb24gcmVtb3ZlUnVuRGVwZW5kZW5jeShpZCl7cnVuRGVwZW5kZW5jaWVzLS07
aWYoTW9kdWxlWyJtb25pdG9yUnVuRGVwZW5kZW5jaWVzIl0pe01vZHVsZVsibW9uaXRvclJ1bkRl
cGVuZGVuY2llcyJdKHJ1bkRlcGVuZGVuY2llcyl9aWYocnVuRGVwZW5kZW5jaWVzPT0wKXtpZihy
dW5EZXBlbmRlbmN5V2F0Y2hlciE9PW51bGwpe2NsZWFySW50ZXJ2YWwocnVuRGVwZW5kZW5jeVdh
dGNoZXIpO3J1bkRlcGVuZGVuY3lXYXRjaGVyPW51bGx9aWYoZGVwZW5kZW5jaWVzRnVsZmlsbGVk
KXt2YXIgY2FsbGJhY2s9ZGVwZW5kZW5jaWVzRnVsZmlsbGVkO2RlcGVuZGVuY2llc0Z1bGZpbGxl
ZD1udWxsO2NhbGxiYWNrKCl9fX1Nb2R1bGVbInByZWxvYWRlZEltYWdlcyJdPXt9O01vZHVsZVsi
cHJlbG9hZGVkQXVkaW9zIl09e307dmFyIG1lbW9yeUluaXRpYWxpemVyPW51bGw7dmFyIGRhdGFV
UklQcmVmaXg9ImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCwiO2Z1bmN0aW9u
IGlzRGF0YVVSSShmaWxlbmFtZSl7cmV0dXJuIFN0cmluZy5wcm90b3R5cGUuc3RhcnRzV2l0aD9m
aWxlbmFtZS5zdGFydHNXaXRoKGRhdGFVUklQcmVmaXgpOmZpbGVuYW1lLmluZGV4T2YoZGF0YVVS
SVByZWZpeCk9PT0wfXZhciBBU01fQ09OU1RTPVsoZnVuY3Rpb24oJDAsJDEpe3ZhciBwYXRoPVBv
aW50ZXJfc3RyaW5naWZ5KCQwKTt2YXIgZGF0YT1Qb2ludGVyX3N0cmluZ2lmeSgkMSk7RlMuY3Jl
YXRlUGF0aCgiLyIsUEFUSC5kaXJuYW1lKHBhdGgpKTtGUy53cml0ZUZpbGUoUEFUSC5qb2luKCIv
IixwYXRoKSxkYXRhKX0pXTtmdW5jdGlvbiBfZW1zY3JpcHRlbl9hc21fY29uc3RfaWlpKGNvZGUs
YTAsYTEpe3JldHVybiBBU01fQ09OU1RTW2NvZGVdKGEwLGExKX1TVEFUSUNfQkFTRT1HTE9CQUxf
QkFTRTtTVEFUSUNUT1A9U1RBVElDX0JBU0UrMTc2MzUyO19fQVRJTklUX18ucHVzaCgpO21lbW9y
eUluaXRpYWxpemVyPSJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsQUFBQUFB
QUE4RDhBQUFBQUFBRHdQd0FBQUFBQUFQQS9BQUFBQUFBQThEOEFBQUFBQUFEd1B3QUFBQUFBQVBB
L0FBQUFBQUFBOEQ4QUFBQUFBQUR3UHdBQUFBQUFBUEEvQUFBQUFBQUE4RDhBQUFBQUFBRHdQd0FB
QUFBQUFQQS9BQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJRQUFBQUFBQUFBQUlNRUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJTUUFBQUFBQUFBRkpBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUZKQUFBQUFBQUFBVWtBQUlNRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGQUFBQUFBQUFB
QUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUJTUUFBQUFBQUFBRkpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZKQUFBQUFBQUFBVWtBQ0VBQUFBQUFBQUFBQUFBQUFBQkJB
V0M4QUFBZ0FBQUFCQUFBQUFBQUFBQUlRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUNXUUFBQUFBQUFnSlpBQkpEREFBQUFBQUFBQUFBQUFB
QVFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFXRUFBQUFBQUFBQllRQUFBREFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJZUUFBQUFBQUFB
RmhBQUFBQUFBQUFBQUFBQUFBQUFBQVFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFVa0FBQUFB
QUFBQlNRQUFnQXdJQUFBQUFBQUFBQUFBQUVFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVlBQUFBQUFB
QUFBQUFBQUFBQUJDUUFBQUFBQUFBRUpBQUFBQUFBQWdnMEFBQUFBQUFNQ0lRQUFBQUFBQUFGSkFB
QUFBQUFBQVVrQUFBQUFBQUFBQUFBQUFBQUFBQUVKQUFBQUFBQUFBUWtBQUFBQUFBQ0NEUUFBQUFB
QUF3SWhBQUFBQUFBQUFVa0FBQUFBQUFBQlNRQUN3d1FBQUFBQUFBQUFBQUFBQUVFRDROUUFBa3dB
QUFBRUFBQUFBQUFBQVFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFGSkFBQUFBQUFBQVVrQUFFQUFDQUFBQUFBQUFBQUFBQUJCQUFBQUFB
QUFBQUFBRkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFCWVFBQUFBQUFBQUZoQUFMREJBQUFBQUFBQUFBQUFBQUFBQU5R
NUFBQVFBQUFBQVFBQUFBQUFBQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBV0VBQUFBQUFBQUJZUUVBZ1BnTUFBQUFBQUFBQUFBQUFF
RURjT2dBQWVnQUFBQUVBQUFBQUFBQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRkpBQUFBQUFBQUFVa0FBQUFBQUFBQUFBQUFBQUFB
QUFCQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQlNRQUFBQUFBQUFGSkFBUUFBQUFBQUFBQUJB
QUFBQUFBQUFBQUFBQUFBQVBBL0FRQUFBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBUEEvQWdBQUFB
QUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFPQS9Bd0FBQUFBQUFBQUVBQUFBQUFBQUFBQUFBQUFBQVBB
L0JBQUFBQUFBQUFBRkFBQUFBQUFBQURNek16TXpNL00vQlFBQUFBQUFBQUFHQUFBQUFBQUFBSnFa
bVptWm1lay9CZ0FBQUFBQUFBQUhBQUFBQUFBQUFBQUFBQUFBQVBBL0J3QUFBQUFBQUFBSUFBQUFB
QUFBQUFBQUFBQUFBT0EvQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFRQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFRQUFBQUVBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFFQUFBQUFBQUFB
QUFBQUFBQUFBQUF6TXpNek16UFR2d0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBTUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBUUFBQUFRQUFBQUFBQUFBQUFBQUFBQ0FSa0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQVFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFDYW1abVptWm5adndBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFE
TXpNek16TStNL0FBQUFBQUFBQUFBQUFBQUFBUUFBQUFVQUFBQUFBQUFBQUFBQUFBQUFBQUI3Rks1
SDRYcmt2d0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBVUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQVlBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFjQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFB
QUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFRQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
UUFBQUFBQUFBQUFBUUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQWdBQUFBQUFBQUFBQVFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUF3QUFBQUFBQUFBQUFRQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUFBUUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQlFBQUFBQUFBQUFBQVFBQUFCTUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUdpUlNBQUFCQUFBQUFRQUFBQVFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBZ0FB
QUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQWdBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUF3QUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFNQUFBQUFBQUFBQUFBQUFBQ0Faa0FBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBUUFBQUFBQUFBQUFBQUFBQUNBWmtDYW1abVpt
Wm5adndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQVVBQUFBQUFBQUFBQUFBQUFDQVpr
QjdGSzVINFhya3Z3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFRQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFBQUFBQVFBQUFBUUFBQUFB
QUFBQUFBQUFBQUNBUmtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBR0FBQUFBQUFBQUFCQUFBQUFRQUFB
QVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFBQUFBQUFBQkFB
QUFBUUFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFHQUFBQUFB
QUFBQUFBQUFBQVFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUJnQUFBQUFBQUFBQUFRQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFCd0FBQUFBQUFBQUFBUUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUFBQUFBQUFBQVFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNRQUFBQUFBQUFBQUFRQUFBQVFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFUUFBQUFBQUFBQUFBUUFBQUFRQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRWdBQUFBQUFBQUFBQVFBQUFB
UUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUV3QUFBQUFBQUFB
QUFRQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGQUFB
QUFBQUFBQUFBUUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBRlFBQUFBQUFBQUFBQVFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUNnQUFBQUFBQUFBQUFRQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFDd0FBQUFBQUFBQUFBUUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBREFBQUFBQUFBQUFBQVFBQUFBUUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURRQUFBQUFBQUFBQUFRQUFBQVFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0FBQUFBQUFBQUFBUUFBQUFR
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRHdBQUFBQUFBQUFB
QVFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFB
QUFBQUFBQUFRQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFGZ0FBQUFBQUFBQUFBUUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBR0FBQUFBQUFBQUFBQVFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUZ3QUFBQUFBQUFBQUFRQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFHUUFBQUFBQUFBQUFBUUFBQUFvQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJ4U0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBOEw4QUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFBQUFBQUEwRDhBQUFBQUFBRFFQd0FB
QUFBQUFOQS9BQUFBQUFBQTBEOEFBQUFBQUFEUVB3QUFBQUFBQU5BL0FBQUFBQUFBMEQ4QUFBQUFB
QURRUHdBQUFBQUFBTkEvQUFBQUFBQUEwRDhBQUFBQUFBRFFQd0FBQUFBQUFOQS9BQUFBQUFBQTBE
OEFBQUFBQUFEUVB3QUFBQUFBQU5BL0FBQUFBQUFBMEQ4QUFBQUFBQURRUHdBQUFBQUFBTkEvQUFB
QUFBQUEwRDhBQUFBQUFBRFFQd0FBQUFBQUFOQS9BQUFBQUFBQTBEOEFBQUFBQUFEUVB3QUFBQUFB
QU5BL0FBQUFBQUFBMEQ4QUFBQUFBQURRUHdBQUFBQUFBTkEvQUFBQUFBQUEwRDhBQUFBQUFBRFFQ
d0FBQUFBQUFOQS9BQUFBQUFBQTBEOEFBQUFBQUFEUVB3QUFBQUFBQU5BL1dLZzF6VHRPMVQ4bGRR
S2FDQnZhUHdBQUFBQUFBT0EvQUFBQUFBQUE0RDhzMUpybUhhZnFQMnJlY1lxTzVPZy9XS2cxelR0
TzFUOVlxRFhOTzA3VlAxaW9OYzA3VHRVL0FBQUFBQUFBNEQ5ZDNFWURlQXZpUHdBQUFBQUFBTkEv
V0tnMXpUdE8xVDhBQUFBQUFBRFFQOU84NHhRZHlkRS9BQUFBQUFBQTREOEFBQUFBQUFEZ1B3QUFB
QUFBQU9BL0FBQUFBQUFBNEQ4QUFBQUFBQURnUHdBQUFBQUFBT0EvQUFBQUFBQUE0RDhBQUFBQUFB
RGdQd0FBQUFBQUFPQS9BQUFBQUFBQTREL1R2T01VSGNuUlA5Tzg0eFFkeWRFL1hkeEdBM2dMNGo5
ZDNFWURlQXZpUDEzY1JnTjRDK0kvRFhHc2k5dG8zRDlrWGR4R0EzanRQOUp2WHdmT0dlYy9FSG8y
cXo1WDVUOFFlamFyUGxmbFA5SnZYd2ZPR2VjL2VBc2tLSDZNNHorMUZmdkw3c25oUDlKdlh3Zk9H
ZWMvMG05ZkI4NFo1ejlZcURYTk8wN1ZQNGlGV3RPODQ5Zy8wbTlmQjg0WjV6OTRDeVFvZm96alA4
UkNyV25lY2V3LzBtOWZCODRaNXovU2IxOEh6aG5uUDdVVis4dnV5ZUUvMG05ZkI4NFo1ejhRZWph
clBsZmxQN1VWKzh2dXllRS9lQXNrS0g2TTR6L1NiMThIemhublA5SnZYd2ZPR2VjL2hqald4VzAw
N2ovU2IxOEh6aG5uUDlKdlh3Zk9HZWMvZUFza0tINk00ejlZcURYTk8wN1ZQOU84NHhRZHlkRS9X
S2cxelR0TzFUK21Da1lsZFFMZVB3QUFBQUFBQU9BL1dLZzF6VHRPMVQ4TmNheUwyMmpjUHdBQUFB
QUFBT0EvRFhHc2k5dG8zRDhBQUFBQUFBRGdQdzF4ckl2YmFOdy9XS2cxelR0TzFUOEFBQUFBQUFE
Z1B3QUFBQUFBQU9BLzA3empGQjNKMFQvVHZPTVVIY25SUHdBQUFBQUFBT0EvMDd6akZCM0owVDlx
M25HS2p1VG9Qd0FBQUFBQUFPQS9BQUFBQUFBQTREOEFBQUFBQUFEZ1B3QUFBQUFBQU9BL1dLZzF6
VHRPMVQrSWhWclR2T1BZUDlPODR4UWR5ZEUvQUFBQUFBQUE0RDhBQUFBQUFBRGdQOUp2WHdmT0dl
Yy9BQUFBQUFBQTREOEFBQUFBQUFEZ1B3MXhySXZiYU53LzlHeFdmYTYyM2o4Uk5qeTlVcGJKUC9S
c1ZuMnV0dDQvT3dGTmhBMVA0VDhBQUFBQUFBRFFQd0FBQUFBQUFOQS9BQUFBQUFBQTBEOEFBQUFB
QUFEUVB3QUFBQUFBQU5BL0FBQUFBQUFBMEQ4QUFBQUFBQURRUHdBQUFBQUFBTkEvQUFBQUFBQUEw
RDhBQUFBQUFBRFFQd0FBQUFBQUFOQS9BQUFBQUFBQTBEOEFBQUFBQUFEUVB3QUFBQUFBQU5BL0FB
QUFBQUFBMEQ4QUFBQUFBQURRUHdBQUFBQUFBTkEvQUFBQUFBQUEwRDhBQUFBQUFBRFFQd0FBQUFB
QUFOQS9BQUFBQUFBQTBEOEFBQUFBQUFEUVB3QUFBQUFBQU5BL0FBQUFBQUFBMEQ4QUFBQUFBQURR
UHdBQUFBQUFBTkEvQUFBQUFBQUEwRDhBQUFBQUFBRFFQd0FBQUFBQUFOQS9BQUFBQUFBQTBEOEFB
QUFBQUFEUVB3QUFBQUFBQU5BL0FBQUFBQUFBMEQ4QUFBQUFBQURRUDFpb05jMDdUdFUvQUFBQUFB
QUE0RDhBQUFBQUFBRGdQejdvMmF6NlhNVS9BQUFBQUFBQTREOEFBQUFBQUFEZ1B3QUFBQUFBQU9B
L0FBQUFBQUFBNEQrQ2MwYVU5Z2JIUHcxeHJJdmJhTncvQUFBQUFBQUE0RDlZcURYTk8wN1ZQMWlv
TmMwN1R0VS90Ulg3eSs3SjRUKzFGZnZMN3NuaFB3QUFBQUFBQU5BL0FBQUFBQUFBNEQ4QUFBQUFB
QURnUHdBQUFBQUFBT0EvQUFBQUFBQUEwRDhBQUFBQUFBRFFQd2Z3RmtoUS9Ody9vclEzK01KazFq
OVlxRFhOTzA3VlB3MXhySXZiYU53L0RYR3NpOXRvM0Q4QUFBQUFBQURnUHdBQUFBQUFBUEEvQUFB
QUFBQUE4RDhBQUFBQUFBRFFQdzF4ckl2YmFOdy9BQUFBQUFBQTBEOVlxRFhOTzA3VlAxaW9OYzA3
VHRVL1dLZzF6VHRPMVQ5WXFEWE5PMDdWUDFpb05jMDdUdFUvV0tnMXpUdE8xVDlZcURYTk8wN1ZQ
MWlvTmMwN1R0VS9BQUFBQUFBQTBEOVlxRFhOTzA3VlAxaW9OYzA3VHRVL0FBQUFBQUFBMEQ5WXFE
WE5PMDdWUDFpb05jMDdUdFUvV0tnMXpUdE8xVDhBQUFBQUFBRHdQd0FBQUFBQUFOQS9BQUFBQUFB
QTBEOEFBQUFBQUFEUVB3QUFBQUFBQU5BL0FBQUFBQUFBMEQ4QUFBQUFBQURRUHdBQUFBQUFBTkEv
QUFBQUFBQUEwRDhBQUFBQUFBRFFQd0FBQUFBQUFOQS9BQUFBQUFBQTBEOEFBQUFBQUFEUVB3QUFB
QUFBQU5BL0FBQUFBQUFBMEQ4QUFBQUFBQURRUHdBQUFBQUFBTkEveEVLdGFkNXg3RDhBQUFBQUFB
RFFQMy9aUFhsWXFORS9BQUFBQUFBQTBEOEFBQUFBQUFEUVB3QUFBQUFBQU5BL0FBQUFBQUFBMEQ5
NEN5UW9mb3pqUDlKdlh3Zk9HZWMveEVLdGFkNXg3RDhUOGtIUFp0WFRQd0FBQUFBQUFOQS9BQUFB
QUFBQTBEOEFBQUFBQUFEUVB3QUFBQUFBQU5BL0FBQUFBQUFBMEQ4UWVqYXJQbGZsUHdBQUFBQUFB
TkEvQUFBQUFBQUEwRDhBQUFBQUFBRFFQOU84NHhRZHlkRS9BQUFBQUFBQTBEOEFBQUFBQUFEUVA5
Tzg0eFFkeWRFL0FBQUFBQUFBNEQvU2IxOEh6aG5uUHdBQUFBQUFBT0EvQUFBQUFBQUEwRDhBQUFB
QUFBRFFQd0FBQUFBQUFOQS9BQUFBQUFBQTBEOVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5
NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9V
ZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUcz
eGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRM
alAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlS
Mmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2Jm
R0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11
TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFI
YUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4
WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0
ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vk
b2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4
aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExq
UDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIy
aHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZH
RXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVN
L1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhh
RzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZ
VExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6
OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRv
YmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3ho
TXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQ
MUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJo
dDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdF
eTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0v
VWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFH
M3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlU
TGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5
UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9i
ZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhN
dU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAx
SGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0
OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5
NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9V
ZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUcz
eGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRM
alAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlS
Mmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2Jm
R0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11
TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFI
YUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4
WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0
ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vk
b2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4
aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExq
UDFIYUczeGhNdU0vVWRvYmZHRXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIy
aHQ4WVRMalAxSGFHM3hoTXVNL1Vkb2JmR0V5NHo5UjJodDhZVExqUDFIYUczeGhNdU0vVWRvYmZH
RXk0ejlSMmh0OFlUTGpQMUhhRzN4aE11TS9VZG9iZkdFeTR6OVIyaHQ4WVRMalAxSGFHM3hoTXVN
L1Vkb2JmR0V5NHo5UjJodDhZVExqUDlPODR4UWR5ZEUvMDd6akZCM0owVC9Udk9NVUhjblJQOU84
NHhRZHlkRS8wN3pqRkIzSjBUL1R2T01VSGNuUlA5Tzg0eFFkeWRFLzA3empGQjNKMFQvVHZPTVVI
Y25SUDlPODR4UWR5ZEUvMDd6akZCM0owVC9Udk9NVUhjblJQOU84NHhRZHlkRS8wN3pqRkIzSjBU
L1R2T01VSGNuUlA5Tzg0eFFkeWRFLzA3empGQjNKMFQvVHZPTVVIY25SUDlPODR4UWR5ZEUvMDd6
akZCM0owVC9Udk9NVUhjblJQOU84NHhRZHlkRS8wN3pqRkIzSjBUL1R2T01VSGNuUlA5Tzg0eFFk
eWRFLzA3empGQjNKMFQvVHZPTVVIY25SUDlPODR4UWR5ZEUvMDd6akZCM0owVC9Udk9NVUhjblJQ
OU84NHhRZHlkRS8wN3pqRkIzSjBUL1R2T01VSGNuUlA5Tzg0eFFkeWRFLzlHeFdmYTYyMWorMUZm
dkw3c25oUDdVVis4dnV5ZUUveEVLdGFkNXg3RDhRZWphclBsZmxQL1hiMTRGelJzdy9XS2cxelR0
TzFUOVlxRFhOTzA3VlA0aUZXdE84NDlnL0FVMkVEVSt2NGovVHZPTVVIY25SUDFpb05jMDdUdFUv
MDd6akZCM0owVC9Udk9NVUhjblJQN1VWKzh2dXllRS90Ulg3eSs3SjRUKzFGZnZMN3NuaFA3VVYr
OHZ1eWVFL3RSWDd5KzdKNFQrMUZmdkw3c25oUDdVVis4dnV5ZUUvdFJYN3krN0o0VCsxRmZ2TDdz
bmhQN1VWKzh2dXllRS8wN3pqRkIzSjBUL1R2T01VSGNuUlB3Rk5oQTFQcitJL0FVMkVEVSt2NGo4
QlRZUU5UNi9pUDdVVis4dnV5ZUUvekYxTHlBYzk4RDhRZWphclBsZmxQeEI2TnFzK1YrVS8wbTlm
Qjg0WjV6L1NiMThIemhublB4QjZOcXMrVitVL2VBc2tLSDZNNHo5cTNuR0tqdVRvUDlKdlh3Zk9H
ZWMvMDd6akZCM0owVDhBQUFBQUFBRGdQeEI2TnFzK1YrVS90Ulg3eSs3SjRUOHMxSnJtSGFmcVA5
SnZYd2ZPR2VjL2F0NXhpbzdrNkQ4UWVqYXJQbGZsUDJyZWNZcU81T2cvMG05ZkI4NFo1ejhRZWph
clBsZmxQM2dMSkNoK2pPTS8wbTlmQjg0WjV6OFFlamFyUGxmbFA0WTQxc1Z0Tk80L0VIbzJxejVY
NVQ4UWVqYXJQbGZsUDNnTEpDaCtqT00vMDd6akZCM0owVC9Udk9NVUhjblJQOU84NHhRZHlkRS9w
Z3BHSlhVQzNqKzFGZnZMN3NuaFAwaS9mUjA0Wjh3L3RSWDd5KzdKNFQrMUZmdkw3c25oUHdBQUFB
QUFBT0EvdFJYN3krN0o0VCsxRmZ2TDdzbmhQOU84NHhRZHlkRS90Ulg3eSs3SjRUKzFGZnZMN3Nu
aFAwaS9mUjA0Wjh3L1NMOTlIVGhuekQ4QUFBQUFBQURnUDBpL2ZSMDRaOHcvTE5TYTVoMm42aisx
RmZ2TDdzbmhQN1VWKzh2dXllRS90Ulg3eSs3SjRUKzFGZnZMN3NuaFAxaW9OYzA3VHRVL0FBQUFB
QUFBNEQvVHZPTVVIY25SUDdVVis4dnV5ZUUvQUFBQUFBQUE0RC9TYjE4SHpobm5Qd0FBQUFBQUFP
QS9BQUFBQUFBQTREOEFBQUFBQUFEZ1B3S2FDQnVlWHRVLzRMNE9uRE9pMEQ4Q21nZ2JubDdWUHdG
TmhBMVByK0kvMDd6akZCM0owVC9Udk9NVUhjblJQOU84NHhRZHlkRS8wN3pqRkIzSjBUL1R2T01V
SGNuUlA5Tzg0eFFkeWRFLzA3empGQjNKMFQvVHZPTVVIY25SUDlPODR4UWR5ZEUvMDd6akZCM0ow
VC9Udk9NVUhjblJQOU84NHhRZHlkRS8wN3pqRkIzSjBUL1R2T01VSGNuUlA5Tzg0eFFkeWRFLzA3
empGQjNKMFQvVHZPTVVIY25SUDlPODR4UWR5ZEUvMDd6akZCM0owVC9Udk9NVUhjblJQOU84NHhR
ZHlkRS8wN3pqRkIzSjBUL1R2T01VSGNuUlA5Tzg0eFFkeWRFLzA3empGQjNKMFQvVHZPTVVIY25S
UDlPODR4UWR5ZEUvMDd6akZCM0owVC9Udk9NVUhjblJQOU84NHhRZHlkRS8wN3pqRkIzSjBUL1R2
T01VSGNuUlA5Tzg0eFFkeWRFLzA3empGQjNKMFQ5WXFEWE5PMDdWUDdVVis4dnV5ZUUvdFJYN3kr
N0o0VDgrNk5tcytsekZQN1VWKzh2dXllRS90Ulg3eSs3SjRUKzFGZnZMN3NuaFA3VVYrOHZ1eWVF
L0hUaG5SR2x2eUQ5WXFEWE5PMDdWUDdVVis4dnV5ZUUvV0tnMXpUdE8xVDlZcURYTk8wN1ZQd0FB
QUFBQUFPQS9BQUFBQUFBQTREL1R2T01VSGNuUlA3VVYrOHZ1eWVFL3RSWDd5KzdKNFQrMUZmdkw3
c25oUDlPODR4UWR5ZEUvMDd6akZCM0owVC9uSGFmb1NDN2hQNkswTi9qQ1pOWS9TTDk5SFRobnpE
OVlxRFhOTzA3VlAxaW9OYzA3VHRVL3RSWDd5KzdKNFQ4QUFBQUFBQUR3UHdBQUFBQUFBUEEvMDd6
akZCM0owVDk0Q3lRb2ZvempQOU84NHhRZHlkRS9XS2cxelR0TzFUOVlxRFhOTzA3VlAxaW9OYzA3
VHRVL1dLZzF6VHRPMVQ5WXFEWE5PMDdWUDFpb05jMDdUdFUvV0tnMXpUdE8xVDlZcURYTk8wN1ZQ
OU84NHhRZHlkRS9XS2cxelR0TzFUOVlxRFhOTzA3VlA5Tzg0eFFkeWRFL1dLZzF6VHRPMVQ5WXFE
WE5PMDdWUDFpb05jMDdUdFUvQUFBQUFBQUE4RC9Udk9NVUhjblJQOU84NHhRZHlkRS8wN3pqRkIz
SjBUL1R2T01VSGNuUlA5Tzg0eFFkeWRFLzA3empGQjNKMFQvVHZPTVVIY25SUDlPODR4UWR5ZEUv
MDd6akZCM0owVC9Udk9NVUhjblJQOU84NHhRZHlkRS8wN3pqRkIzSjBUL1R2T01VSGNuUlA5Tzg0
eFFkeWRFLzA3empGQjNKMFQvVHZPTVVIY25SUHdBQUFBQUFBUEEvMDd6akZCM0owVC9xbGJJTWNh
elhQOU84NHhRZHlkRS8wN3pqRkIzSjBUL1R2T01VSGNuUlA5Tzg0eFFkeWRFL3RSWDd5KzdKNFQ5
cTNuR0tqdVRvUHdBQUFBQUFBUEEvbU4yVGg0VmExei9Udk9NVUhjblJQOU84NHhRZHlkRS8wN3pq
RkIzSjBUL1R2T01VSGNuUlA5Tzg0eFFkeWRFL3hFS3RhZDV4N0QvVHZPTVVIY25SUDlPODR4UWR5
ZEUvMDd6akZCM0owVC9Udk9NVUhjblJQOU84NHhRZHlkRS8wN3pqRkIzSjBUOUl2MzBkT0dmTVAz
Z0xKQ2grak9NL2hqald4VzAwN2o5NEN5UW9mb3pqUDlPODR4UWR5ZEUvMDd6akZCM0owVC9Udk9N
VUhjblJQOU84NHhRZHlkRS9VYUJQNUVuU0RrQzB5SGErbnpvMXdEb2kzNlhVSmRXLzg0SStSNW91
aWorZjVYbHdkOWI1djM3OUVCc3NuT1kvbHV6WUNNVHJ6RC9OenFKM0t1RFFQN0RqdjBBUUlPMi9y
YUhVWGtUYjJEODdvWHptVVpaMlA5TnVjUGw2aEhzL2djek9vbmNxNUwvUnJkZjBvS0RJUDJyZk54
bXdQNFEvdnNxUUdWNy9oRDhjbGdaK1ZNUEV2NlZKS2VqMjRpTkFxZGtEcmNDUXdUOEl4SkJCazJt
SlAvcEVuaVJkTTlDL0FmQ1pOaTNDWGo4Tm5IMHZ6NVNYUDRtMStCUUE0NGsvNWFsWVJqVExzYitQ
QU1uUG9XZW12MXkxeHZ2TXRJZy9UYVNQVkRxemtEL214d1NoWWRhZ3Y4ZHBaeHdUOTRLL0tuOXI1
UzF3WEwva1YySlVDSnAxUDlIeGgxVnlCTGMvbGRRSmFDSThNOEJrSXhDdjYzY1F3S2NocXZCbmVN
Yy8ydjhBYTlXdXdUOU9LRVRBSVZUM3Y2cEloYkdGSVBVL25XaFhJZVVuOWo5TkxzYkFPbzdOUDFs
cktMVVgwZHkvQXorcVliOG56RCttUjFNOW1YL2FQN2FCTzFDblBLNC9VVXplQURQZnViLzFkcFgv
Mmd1bVA5U2xOYndQOXBRL0g2MGd2Q3pja0Q4b0xQR0Fzc2tqUUNOYTRVd0NpcmMvU0tObFVaWXBm
eis3dEliM3daNlRQeGVvZTFOSGZhQy9JU3V1NEcyVWl6OHpjOXlFMWg2MXY2QjRoSW4xL0k4L2FU
VWs3ckgwa2IrNHpUTjZYcjlxUDVJK3JhSS9OTTIvZnJEbnhrOCttTDhISTV0UUxjZWtQejRZd250
WXVaRy9MWHg5clV1TnhqOEFBQUJBK3lINVB3QUFBQUF0UkhRK0FBQUFnSmhHK0R3QUFBQmdVY3g0
T3dBQUFJQ0RHL0E1QUFBQVFDQWxlamdBQUFDQUlvTGpOZ0FBQUFBZDgyazF0T2dBQUtBcUFBQURB
QUFBeUN3QUFBTUFBQUNnTHdBQUF3QUFBR2d3QUFBREFBQUF1REVBQUFNQUFBQXdOUUFBQXdBQUFH
dzRBQUFEQUFBQWZDNEFBQU1BQUFBME9RQUFBd0FBQUR3NkFBQURBQUFBeUQ0QUFBTUFBQURzUEFB
QUFBQUFBSXdzQUFBQUFBQUFlQzhBQUFBQUFBRElMd0FBQUFBQUFKQXhBQUFBQUFBQTRERUFBQUFB
QUFCRU9BQUFBQUFBQUJndUFBQUFBQUFBRERrQUFBQUFBQUFVT2dBQUFBQUFBS0ErQUFBQUFBQUF4
RHdBQUFRQUFBRHdQZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQ0FBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQVVBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFRQUFBQUVBQUFBREFBQUFBQUFBQUFB
QUFBRFFqUUlBNEkwQ0FQQ05BZ0FBamdJQUVJNENBQ0NPQWdBd2pnSUFRSTRDQU9DTkFnRGdqUUlB
SUk0Q0FDQ09BZ0FmQUFBQVB3QUFBSDhBQUFBQUFBQUFIVXNCQUFFQUFBQmdLd0FBYUFBQUFBUUFB
QURXN0FBQUFRQUFBTmdyQUFDSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWJ1
a0FBQUVBQUFBQUFBQUE0QUFBQUFBQUFBQjI2UUFBQVFBQUFBQUFBQURnQUFBQUFRQUFBSDNwQUFB
QkFBQUFBQUFBQUtnQUFBQUNBQUFBaCtrQUFBRUFBQUFBQUFBQTRBQUFBQU1BQUFDUjZRQUFBUUFB
QUFBQUFBRGdBQUFBQkFBQUFKL3BBQUFCQUFBQUFBQUFBT0FBQUFBRkFBQUFxZWtBQUFFQUFBQUFB
QUFBNEFBQUFBWUFBQUMyNlFBQUFRQUFBQUFBQUFEZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQVlBQUFBSEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFBQUEv
Ly8vL3dBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEyK3dBQUFFQUFB
QjhMUUFBR0FFQUFBRUFBQURnN0FBQUFRQUFBSHd0QUFBWUFRQUFBZ0FBQU9ic0FBQUJBQUFBZkMw
QUFCZ0JBQUFEQUFBQTcrd0FBQUVBQUFCOExRQUFHQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBUG5zQUFBQkFBQUFBQUFBQUhBQkFBQUJBQUFBQSswQUFBRUFBQUFBQUFBQWNBRUFB
QUlBQUFBTzdRQUFBUUFBQUFBQUFBQTRBUUFBQXdBQUFCenRBQUFCQUFBQUFBQUFBRGdCQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFBQWtBQUFBQUFBQUFBQUFBQUFv
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDd0FBQUF3QUFBQU5BQUFB
RGdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRkFBQUFBUUFBQUFZQUFBQUNBQUFBQWdBQUFBY0FB
QUFDQUFBQUFBQUFBUHJjQVFEL3hRRUFrTWNCQU5ETkFRREgxQUVBQnRrQkFJYmNBUUNYM0FFQUFB
QUFBR1B0QUFBQkFBQUE0QzRBQUtnQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFC
bjdRQUFBUUFBQUFBQUFBRElBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFiKzBB
QUFFQUFBRHdMd0FBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUR3QUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFLZnVBQUFCQUFBQUFBQUFBQ0FD
QUFBQ0FBQUFzZTRBQUFFQUFBQUFBQUFBV0FJQUFBQUFBQUM2N2dBQUFRQUFBQUFBQUFCWUFnQUFB
d0FBQU1QdUFBQUJBQUFBQUFBQUFGZ0NBQUFBQUFBQXplNEFBQUVBQUFBQUFBQUFJQUlBQUFNQUFB
RFo3Z0FBQVFBQUFBQUFBQUFnQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFCRUFBQUFTQUFBQUFBQUFBQUFBQUFBVEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQlFBQUFBVkFBQUFGZ0FBQUJjQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFB
QU1BQUFBSkFBQUFBd0FBQUFNQUFBQUtBQUFBQkFBQUFBQUFBQUQ2M0FFQS84VUJBTkROQVFDUXh3
RUFCdGtCQU1mVUFRQ1gzQUVBaHR3QkFBQUFBQUFBQUFBQWx2QUFBUC8vLy8vME1BQUFrQUlBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSm53QUFELy8vLy9BQUFBQUxBQ0FBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCY1V3RUFBUUFBQUFneUFBRG9BZ0FBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBWUFBQUFHUUFBQUJvQUFBQUFBQUFBQkFBQUFBQUFBQUFiQUFBQUhB
QUFBQjBBQUFBZUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCOEFBQUFnQUFBQUlRQUFBQ0lBQUFB
Q0FBQUFBQUFBQUFBQUFBQUFBQUFBQ3dBQUFBQUFBQUFNQUFBQUJRQUFBQVFBQUFBTkFBQUFCUUFB
QUFNQUFBQ1c5QUFBcFBRQUFMcjBBQUJscUFJQXlQUUFBTmYwQUFEYzlBQUErdlFBQUdXb0FnQU05
UUFBUFBVQUFHV29BZ0JhOVFBQWd2VUFBSkQxQUFDLzlRQUE4L1VBQUFUMkFBQXA5Z0FBVFBZQUFG
TDJBQUJ1OWdBQWkvWUFBS2IyQUFESDlnQUE0ZllBQUFQM0FBQWk5d0FBU1BjQUFHRDNBQUNBOXdB
QW5mY0FBTUgzQUFETjl3QUFaYWdDQU5qM0FBRCs5d0FBSXZnQUFFajRBQUJscUFJQWZ2Z0FBSmI0
QUFDaitBQUEwdmdBQU0zM0FBQmxxQUlBMy9nQUFPajRBQUFKK1FBQVJQa0FBSS81QUFEaitRQUFC
Zm9BQUJyNkFBQXgrZ0FBUi9vQUFGLzZBQUJscUFJQWRmb0FBSkQ2QUFDMCtnQUEyUG9BQVAzNkFB
QmxxQUlBSHZzQUFEajdBQUJLK3dBQVYvc0FBR1Q3QUFCNCt3QUFoL3NBQUkvN0FBQ2srd0FBc3Zz
QUFQRDdBQUQ3K3dBQXpmY0FBR1dvQWdBQi9BQUFEZndBQUJ6OEFBQk05Z0FBWmFnQ0FDLzhBQUJZ
L0FBQWR2d0FBSWI4QUFDWC9BQUFudndBQUszOEFBQzkvQUFBQWYwQUFBajlBQUJNOWdBQVphZ0NB
Qkw5QUFBKy9RQUFTZjBBQUZMOUFBQmIvUUFBYlAwQUFIMzlBQUNSL1FBQXpmY0FBR1dvQWdDZC9R
QUFyZjBBQUx2OUFBREovUUFBMXYwQUFPUDlBQUQ1L1FBQUF2NEFBQkgrQUFBZS9nQUFMLzRBQU0z
M0FBQmxxQUlBT3Y0QUFGbitBQUJscUFJQWEvNEFBSHIrQUFDcS9nQUF0UDRBQU1IK0FBRE8vZ0FB
Mi80QUFPaitBQURyL2dBQVphZ0NBTy8rQUFCbHFBSUFFdjhBQUVQL0FBQnkvd0FBaWY4QUFLVC9B
QUMvL3dBQXpmY0FBR1dvQWdEYi93QUFaYWdDQUFNQUFRQVBBQUVBSWdBQkFEVUFBUUJLQUFFQVh3
QUJBR01BQVFCTTlnQUFaYWdDQUc4QUFRQmxxQUlBZndBQkFJMEFBUUNaQUFFQXBnQUJBTVlBQVFE
Y0FBRUFaYWdDQVBBQUFRQTVBUUVBZndFQkFLOEJBUURpQVFFQTZRRUJBQkFDQVFBM0FnRUFaYWdD
QUR3Q0FRQUFBQUFBQUFBQUFQb3JBUUFCQUFBQUFBQUFBQWdEQUFBQkFBQUFzQUlCQUFFQUFBQUFB
QUFBQ0FNQUFBSUFBQUR6S3dFQUFRQUFBQUFBQUFCQUF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFqQUFBQUFBQUFBQ1FBQUFBbEFBQUFCZ0FBQUNZQUFBQW5BQUFBS0FBQUFDa0FBQUFxQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNzQUFBQXNBQUFBTFFBQUFDNEFBQUFFQUFBQUx3QUFBQUFB
QUFBQUFBQUFEZ0FBQUFBQUFBQVBBQUFBQndBQUFBVUFBQUFRQUFBQUJnQUFBQUFBQUFBWHhRRUFJ
Y1VCQUhvVkFRQm14UUVBb2NVQkFNUEZBUURKeFFFQSt0d0JBUERGQVFEL3hRRUFITVlCQUNmR0FR
Qkp4Z0VBZjhZQkFMWEdBUUR3eGdFQUpzY0JBRWpIQVFCWHh3RUFpTWNCQUpESEFRQkFDUUVBU1Fr
QkFLM0hBUUJTQ1FFQTk4Y0JBRnNKQVFBQnlBRUFaQWtCQUF2SUFRQmF5QUVBbGNnQkFIQUpBUURR
eUFFQTI4Z0JBQ0RKQVFBdXlRRUFlTWtCQUliSkFRQ1V5UUVBbjhrQkFOREpBUUFReWdFQUdNb0JB
Q0RLQVFCYnlnRUFrY29CQUozS0FRQi9GUUVBcWNvQkFMUEtBUUMreWdFQTI4b0JBQkhMQVFEUXpR
RUE4czBCQVA3TkFRQzkwQUVBN3RBQkFCclJBUUJRMFFFQVhkRUJBSC9SQVFDaDBRRUFxdEVCQVBU
UkFRRCswUUVBUTlJQkFIblNBUUNFMGdFQUNkTUJBQjdUQVFCNENRRUFLTk1CQURMVEFRQm8wd0VB
cU5NQkFMYlRBUUFLMUFFQUdkUUJBQ2pVQVFCMzFBRUFoeFVCQUxmVUFRREIxQUVBeDlRQkFQUFVB
UUFhMVFFQUs5VUJBRGJWQVFCNzFRRUF3TlVCQU0vVkFRRGYxUUVBOGRVQkFBSFdBUUFSMWdFQUh0
WUJBQ2pXQVFCZTFnRUFaOVlCQUtmV0FRQzYxZ0VBakJVQkFNTFdBUUQ0MWdFQUg5Y0JBRlhYQVFC
ODF3RUFpdGNCQU1EWEFRQUsyQUVBVk5nQkFGL1lBUUNWMkFFQW10Z0JBTGZZQVFEVTJBRUEzOWdC
QUFiWkFRQWUyUUVBVk5rQkFJclpBUUNXMlFFQXZka0JBTWpaQVFENTJRRUFLdG9CQUhrZ0FRQlIy
Z0VBZmRvQkFMUGFBUURwMmdFQTg5b0JBQkRiQVFCUTJ3RUFodHNCQUpJVkFRQ2Uyd0VBeXRzQkFQ
SGJBUUFuM0FFQVpOd0JBSWJjQVFDTTNBRUFsOXdCQUw3Y0FRQUFBQUFBWDFNQkFBRUFBQUNBTlFB
QWVBTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFORXNBUUFCQUFBQUFBQUFBSmdE
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEQUFBQUFBQUFBQU1RQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFNZ0FBQUFBQUFB
QXpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUkFBQUFBQUFBQUJJQUFBQUlBQUFBQmdB
QUFCTUFBQUFIQUFBQUFBQUFBQUFBQUFDdUNnRUFBUUFBQUpRNEFBRFFBd0FBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFzUW9CQUFFQUFBQUFBQUFBOEFNQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFOQUFBQUFBQUFBQTFBQUFBTmdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCUUFBQURj
QUFBQUFBQUFBQUFBQUFCUUFBQUFBQUFBQUZRQUFBQWtBQUFBSEFBQUFGZ0FBQUFnQUFBQUFBQUFB
ZWhVQkFQcmNBUUQveFFFQWZ4VUJBQkhMQVFEUXpRRUFoeFVCQVBQVUFRQ24xZ0VBakJVQkFOL1lB
UUFHMlFFQWVTQUJBSklWQVFDRzNBRUFsOXdCQUFBQUFBQ1hGUUVBQVFBQUFGdzVBQUFvQkFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBbXhVQkFBRUFBQUFBQUFBQVNBUUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBT0FBQUFBQUFBQUE1QUFBQU9nQUFBQW9BQUFBN0FBQUFQQUFB
QUQwQUFBQStBQUFBUHdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFRUUFBQUVJQUFBQkRB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQmNBQUFBQUFBQUFHQUFBQUFzQUFBQUlBQUFBR1FBQUFB
a0FBQUFBQUFBQVpzVUJBQThmQVFENjNBRUEvOFVCQUJ6R0FRQWFId0VBSUI4QkFDc2ZBUUF5SHdF
QUo4WUJBSC9HQVFBNkh3RUFRQjhCQUVzZkFRQW14d0VBU01jQkFKREhBUUJTSHdFQTk4Y0JBQXZJ
QVFDVnlBRUFYQjhCQUNESkFRQXV5UUVBZU1rQkFHY2ZBUUNHeVFFQWJ4OEJBSGdmQVFDR0h3RUFr
QjhCQUZ2S0FRQ1pId0VBbmNvQkFMN0tBUURieWdFQW54OEJBQ0xMQVFCTnl3RUFkc3NCQUpuTEFR
REN5d0VBNWNzQkFBN01BUUF4ekFFQVdzd0JBSDNNQVFDbXpBRUF5Y3dCQVBMTUFRQVZ6UUVBUHMw
QkFHSE5BUUNLelFFQXJjMEJBTkROQVFDbUh3RUE4czBCQUxJZkFRQWEwUUVBZjlFQkFFUFNBUUMv
SHdFQUtOUUJBTXdmQVFDMzFBRUF4OVFCQU5ZZkFRRHoxQUVBR3RVQkFDdlZBUURsSHdFQTl4OEJB
RGJWQVFEQTFRRUF6OVVCQU4vVkFRRHgxUUVBQWRZQkFBY2dBUUFTSUFFQUhTQUJBQkhXQVFDbjFn
RUFyTllCQUNJZ0FRQXJJQUVBTkNBQkFFUWdBUUJMSUFFQStOWUJBQi9YQVFCVjF3RUFpdGNCQUpy
WUFRQzMyQUVBVXlBQkFBYlpBUUJhSUFFQWx0a0JBR01nQVFESTJRRUFheUFCQUNyYUFRQjVJQUVB
VWRvQkFIM2FBUUNBSUFFQUVOc0JBRkRiQVFDS0lBRUFodHNCQUo3YkFRRHgyd0VBbENBQkFLSWdB
UUFuM0FFQUx0d0JBR1RjQVFDRzNBRUFsOXdCQUw3Y0FRQUFBQUFBdENBQkFBRUFBQUJrT2dBQWdB
UUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFMZ2dBUUFCQUFBQUFBQUFBS0FFQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVJBQUFBRVVBQUFBQUFBQUFBQUFB
QUVZQUFBQkhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBYUFBQUFBQUFBQUJzQUFBQU1BQUFBQ1FBQUFC
d0FBQUFLQUFBQUFBQUFBRUZDQUFCRVp3RUFRVWtBQUI1bkFRQkJVZ0FBOFdZQkFFRllBQUJaWndF
QVFpQUFBSlZwQVFCQ1NRQUFwbWtCQUVOQ0FBRGVad0VBUTA4QUFNeG5BUUJEV0FBQTYyY0JBRWdn
QUFBUGFBRUFTRUlBQUJsb0FRQklTUUFBcFdnQkFFaFlBQUFvYUFFQVNHSUFBRmxvQVFCSWFRQUFq
R2dCQUVoeUFBQSthQUVBU0hnQUFHOW9BUUJKSUFBQXQya0JBRXRDQUFCd1p3RUFTMGtBQUxobkFR
QkxVZ0FBcEdjQkFFdFlBQUNSWndFQVRrSUFBTGRvQVFCT1NRQUEvbWdCQUU1U0FBQVdhUUVBVGxn
QUFPSm9BUUJRUVFBQWQya0JBRkJDQUFBemFRRUFVRWtBQUdkcEFRQlFXQUFBVTJrQkFGSWdBQUJq
YXdFQVV5QUFBSVpwQVFCYVJBQUE5R2tCQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUJuS3dFQS8vLy8v
eFE5QUFEWUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWF5c0JBUC8vLy84QUFB
QUErQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUR3QUFBSE1yQVFBQkFBQUEyRUlBQUFB
QUFBQVFBQUFBZXlzQkFBRUFBQURZUWdBQUFBQUFBQkVBQUFDREt3RUFBUUFBQU5oQ0FBQUFBQUFB
RVFBQUFJd3JBUUFCQUFBQTJFSUFBQUFBQUFBUkFBQUFsQ3NCQUFFQUFBRFlRZ0FBQUFBQUFCTUFB
QUNjS3dFQUFRQUFBTnhDQUFBQUFBQUFGQUFBQUtRckFRQUJBQUFBM0VJQUFBQUFBQUFWQUFBQXJD
c0JBQUVBQUFEY1FnQUFBQUFBQUJVQUFBQzFLd0VBQVFBQUFOeENBQUFBQUFBQUZRQUFBTDByQVFB
QkFBQUEzRUlBQUFBQUFBQVdBQUFBeFNzQkFBRUFBQURnUWdBQUFBQUFBQmNBQUFET0t3RUFBUUFB
QU9CQ0FBQUFBQUFBR0FBQUFOY3JBUUFCQUFBQTRFSUFBQUFBQUFBWUFBQUE0U3NCQUFFQUFBRGdR
Z0FBQUFBQUFCZ0FBQURxS3dFQUFRQUFBT0JDQUFBQUFBQUFHUUFBQVBNckFRQUJBQUFBNUVJQUFB
QUFBQUFaQUFBQStpc0JBQUVBQUFEa1FnQUFBQUFBQUJvQUFBQUFMQUVBQVFBQUFPaENBQUFBQUFB
QUNnQUFBQWtzQVFBQkFBQUE3RUlBQUFBQUFBQUxBQUFBRVN3QkFBRUFBQURzUWdBQUFBQUFBQXdB
QUFBWkxBRUFBUUFBQU94Q0FBQUFBQUFBREFBQUFDSXNBUUFCQUFBQTdFSUFBQUFBQUFBTUFBQUFL
aXdCQUFFQUFBRHNRZ0FBQUFBQUFBNEFBQUF5TEFFQUFRQUFBT3hDQUFBQUFBQUFEZ0FBQURrc0FR
QUJBQUFBN0VJQUFBQUFBQUFOQUFBQVFTd0JBQUVBQUFEc1FnQUFBQUFBQUFVQUFBQkpMQUVBQVFB
QUFPeENBQUFBQUFBQUJnQUFBRkVzQVFBQkFBQUE3RUlBQUFBQUFBQUhBQUFBV1N3QkFBRUFBQURz
UWdBQUFBQUFBQWNBQUFCaUxBRUFBUUFBQU94Q0FBQUFBQUFBQndBQUFHb3NBUUFCQUFBQTdFSUFB
QUFBQUFBSkFBQUFjaXdCQUFFQUFBRHNRZ0FBQUFBQUFBa0FBQUI1TEFFQUFRQUFBT3hDQUFBQUFB
QUFDQUFBQUlFc0FRQUJBQUFBN0VJQUFBQUFBQUFBQUFBQWlTd0JBQUVBQUFEd1FnQUFBQUFBQUFF
QUFBQ1NMQUVBQVFBQUFQQkNBQUFBQUFBQUFnQUFBSnNzQVFBQkFBQUE4RUlBQUFBQUFBQUNBQUFB
cFN3QkFBRUFBQUR3UWdBQUFBQUFBQUlBQUFDdUxBRUFBUUFBQVBCQ0FBQUFBQUFBQkFBQUFMY3NB
UUFCQUFBQThFSUFBQUFBQUFBRUFBQUF2eXdCQUFFQUFBRHdRZ0FBQUFBQUFBTUFBQURJTEFFQUFR
QUFBUEJDQUFBQUFBQUFFZ0FBQU5Fc0FRQUJBQUFBMkVJQUFBQUFBQUFiQUFBQTJTd0JBQUVBQUFE
MFFnQUFBQUFBQUJ3QUFBRGhMQUVBQVFBQUFQUkNBQUFBQUFBQUhRQUFBT2tzQVFBQkFBQUE5RUlB
QUFBQUFBQWRBQUFBOGl3QkFBRUFBQUQwUWdBQUFBQUFBQjBBQUFENkxBRUFBUUFBQVBSQ0FBQUFB
QUFBSGdBQUFBSXRBUUFCQUFBQStFSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
MEFBQUFPQUFBQUR3QUFBQkFBQUFBUkFBQUFFZ0FBQUJNQUFBQVVBQUFBRlFBQUFHMHdBUUFFUXdB
QUFRQUFBQ0JEQUFBQUFBQUFBQUFBQUVnQUFBQkpBQUFBQVFBQUFBQUFBQUFkU3dFQUFBQUFBQlJE
QUFBY1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFnQUFBQUFBQUFBQkFBQUFB
UUFBQUFFQUFBQUJBQUFBQWdBQUFBSUFBQUFCQUFBQUFnQUFBQVFBQUFBWUFRQUFNQUVBQUxBQUFB
Q1hPQUVBbkRnQkFLQTRBUUNuT0FFQXF6Z0JBQUFBQUFBQkFBQUFBZ0FBQUFNQUFBQUVBQUFBQlFB
QUFBQUFBQUFkQUFBQUFBQUFBQUFBQUFBZUFBQUFBQUFBQUFBQUFBQWZBQUFBQUFBQUFBQUFBQUFC
QUFBQVFBQUFBTmhEQUFEb1F3QUFBZ0FBQUFRQUFBRDBRd0FBQWdBQUFBZ0FBQUFDQUFBQUJBQUFB
UHhEQUFBQUJBQUFDQUFBQVAvLy8vOEFBQUFBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFOUUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUFBQUFB
QUFBQUFBQUFBLy8vLy93QUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFB
R0FBQUFBQUFBQUFBQUFBQUF3QUFBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy93QUFB
QUFBQUFBQUF3QUFBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBSEFBQUFBQUFBQUFBQUFBQUJB
QUFBQUFBQUFBQ0FBQUFBQUFBQUFrQUFBQUxBQUFBQ0FBQUFBb0FBQUNBUlFBQUJFVUFBR2hGQUFB
QkFBQUFBUUFBQUFVQUFBQVdBQUFBQmdBQUFFb0FBQUFoQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUhBQUFBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUlB
QUFBQUFBQUFBSUFBQUFBQUFBQUF3QUFBQUlBQUFBREFBQUFCQUFBQUFBQUFBQUFBQUFBQkFBQUFB
TUFBQUFKQUFBQUN3QUFBQUFBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBb0FBQUFBQUFB
QUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSWdBQUFBc0FBQUFBQUFBQUFnQUFBQUFB
QUFBSUFBQUFDQUFBQUFBQUFBQUFBQUFBSXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUEv
Ly8vL3dBQUFBQUFBQUFBSkFBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQUFBQkFBQUFBQUFBQUFFQUFB
QUJBQUFBQVFBQUFBRUFBQUFCQUFBQUFRQUFBQUVBQUFBQkFBQUFBZ0FBQUFNQUFBQUJBQUFBQVFB
QUFBSUFBQUFCQUFBQUFRQUFBQUVBQUFBQkFBQUFBUUFBQUFFQUFBQUJBQUFBQVFBQUFBRUFBQUFC
QUFBQUFRQUFBQUVBQUFBQkFBQUFBUUFBQUFFQUFBQUJBQUFBQVFBQUFBRUFBQUFDQUFBQUFRQUFB
QVFBQUFBRkFBQUFBUUFBQUFFQUFBQUJBQUFBQVFBQUFBRUFBQUFCQUFBQUJnQUFBQUVBQUFBQkFB
QUFCd0FBQUFnQUFBQUpBQUFBQ2dBQUFBb0FBQUFLQUFBQUNnQUFBQW9BQUFBS0FBQUFDZ0FBQUFv
QUFBQUtBQUFBQ2dBQUFBRUFBQUFCQUFBQUN3QUFBQUVBQUFBTUFBQUFBUUFBQUEwQUFBQU9BQUFB
RHdBQUFCQUFBQUFSQUFBQUVnQUFBQk1BQUFBVUFBQUFGUUFBQUJZQUFBQVRBQUFBRXdBQUFCTUFB
QUFUQUFBQUZ3QUFBQmdBQUFBWkFBQUFFd0FBQUJvQUFBQWJBQUFBSEFBQUFCMEFBQUFUQUFBQUV3
QUFBQk1BQUFBVEFBQUFFd0FBQUFFQUFBQWVBQUFBQVFBQUFBRUFBQUFUQUFBQUFRQUFBQjhBQUFB
Z0FBQUFJUUFBQUNJQUFBQWpBQUFBRXdBQUFDUUFBQUFsQUFBQUpnQUFBQk1BQUFBVEFBQUFFd0FB
QUJNQUFBQW5BQUFBS0FBQUFDa0FBQUFUQUFBQUtnQUFBQ3NBQUFBc0FBQUFMUUFBQUJNQUFBQVRB
QUFBRXdBQUFCTUFBQUFUQUFBQUFRQUFBQUVBQUFBQkFBQUFBUUFBQUFFQUFBQVRBQUFBRXdBQUFC
TUFBQUFUQUFBQUV3QUFBQk1BQUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFB
QUV3QUFBQk1BQUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFBQk1B
QUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFBQk1BQUFBVEFBQUFF
d0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFBQk1BQUFBVEFBQUFFd0FBQUJNQUFB
QVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFBQk1BQUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFBRXdB
QUFCTUFBQUFUQUFBQUV3QUFBQzRBQUFBVEFBQUFFd0FBQUJNQUFBQXZBQUFBRXdBQUFCTUFBQUFU
QUFBQUV3QUFBQk1BQUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFB
Qk1BQUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFBQk1BQUFBVEFB
QUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFBQk1BQUFBVEFBQUFFd0FBQUJN
QUFBQVRBQUFBRXdBQUFCTUFBQUFUQUFBQUV3QUFBQk1BQUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFB
RXdBQUFCTUFBQUF3QUFBQUV3QUFBQk1BQUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFCTUFB
QUFUQUFBQUV3QUFBQk1BQUFBVEFBQUFFd0FBQUJNQUFBQVRBQUFBRXdBQUFBQUFBQUFCQUFBQUFR
QUFBQUlBQUFBREFBQUFBUUFBQUFRQUFBQUJBQUFBQlFBQUFBRUFBQUFHQUFBQUJ3QUFBQWNBQUFB
QkFBQUFCZ0FBQUFZQUFBQUdBQUFBQmdBQUFBWUFBQUFHQUFBQUJnQUFBQVlBQUFBR0FBQUFCZ0FB
QUFZQUFBQUdBQUFBQmdBQUFBWUFBQUFHQUFBQUJnQUFBQU1BQUFBR0FBQUFCZ0FBQUFZQUFBQUdB
QUFBQmdBQUFBWUFBQUFHQUFBQUJnQUFBQVlBQUFBR0FBQUFCZ0FBQUFZQUFBQUdBQUFBQmdBQUFB
WUFBQUFHQUFBQUJnQUFBQVlBQUFDQUFBQUFFWGdCQU8xM0FRQmpRUUVBSG5nQkFCWjRBUUFrZUFF
QUFBQUFBR2xGQVFCeVJRRUFlVVVCQUlkRkFRQ09SUUVBT25nQkFKVkZBUUNjUlFFQUFRQUFBQWdB
QUFELy8vLy9BQUFBQUFBQUFBQWxBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRHBIQVFBSUFBQUFB
d0FBQUVOSEFRQkhSd0VBQ3dBQUFBWUFBQUJjVXdFQVUwY0JBQUlBQUFBQkFBQUFWa2NCQUZwSEFR
QUVBQUFBQWdBQUFGOUhBUUJqUndFQUJBQUFBQVFBQUFCb1J3RUFiVWNCQUFVQUFBQUZBQUFBYzBj
QkFIZEhBUUFFQUFBQUJ3QUFBSHhIQVFDQVJ3RUFCUUFBQUFrQUFBQ0dSd0VBaWtjQkFBUUFBQUFL
QUFBQWowY0JBSlJIQVFBRUFBQUFEQUFBQUpsSEFRQmFUQUVBQUFBQUFBRUFBQUJpVEFFQUFRQUFB
QUFBQUFBNGR3RUFBUUFBQUFFQUFBQzExZ0VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1N3
RUFNUUFBQUFBQUFBQUFBQUFBV1hJQkFCQUFBQUR3NGdFQWdBQUFBRDlMQVFCQUFBQUFvbVVCQUJB
QUFBQkJTd0VBUUFBQUFBQUFBQUFBQUFBQURVc0JBQUVBQUFBVVN3RUFBZ0FBQUJsTEFRQURBQUFB
aVdJQkFBUUFBQURFWWdFQUJRQUFBQjFMQVFBR0FBQUF0ZFlCQUFnQUFBQWhTd0VBSVFBQUFDVkxB
UUFpQUFBQUtVc0JBQ0lBQUFBdFN3RUFBUUFBQURKTEFRQUhBQUFBT0VzQkFDY0FBQUFBQUFBQUFB
QUFBQUVBQUFBQUFBQUFBQUFBQVAvLy8vOEFBQUFBSmdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFD
RVVBRUFpMUFCQUFBQUFBQlpVd0VBWEZNQkFGOVRBUUFBQUFBQUFBQUFBQUVBQUFBQ0FBQUEvLy8v
L3h4VEFRQWlVd0VBdGRZQkFBQUFBQUJrQUFBQVpRQUFBR1lBQUFCa0FBQUFDQUFBQUFnQUFBQUFB
QUFBQUFBQUFDY0FBQUFNQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQVAvLy8vOEFBQUFBQUFBQUFD
Z0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFpV0lCQUl4UkFBQkFCZ0FBQUFBQUFJMWlBUUNNVVFB
QWNBWUFBQUFBQUFCYmF3RUFqRkVBQUtBR0FBQUFBQUFBbFdJQkFJeFJBQUNnQmdBQUFBQUFBSnBp
QVFDTVVRQUEwQVlBQUFBQUFBQ2hZZ0VBcEZFQUFOQUdBQUFBQUFBQXAySUJBSXhSQUFBQUJ3QUFB
QUFBQUt0aUFRQ01VUUFBTUFjQUFBQUFBQUMxMWdFQWpGRUFBR0FIQUFBQUFBQUF0R0lCQUl4UkFB
QmdCd0FBQUFBQUFMNWlBUUNNVVFBQUVBWUFBQUFBQUFERVlnRUFqRkVBQUpBSEFBQUFBQUFBekdJ
QkFJeFJBQURBQndBQUFBQUFBTlppQVFDTVVRQUE4QWNBQUFBQUFBRGtZZ0VBakZFQUFDQUlBQUFB
QUFBQTZtSUJBSXhSQUFCUUNBQUFBQUFBQVBOaUFRQ01VUUFBZ0FnQUFBQUFBQUQ3WWdFQWpGRUFB
TEFJQUFBQUFBQUFCR01CQUl4UkFBRGdDQUFBQUFBQUFBeGpBUUNNVVFBQUVBa0FBQUFBQUFBUll3
RUFqRkVBQUVBSkFBQUFBQUFBRldNQkFJeFJBQUJ3Q1FBQUFBQUFBQnhqQVFDTVVRQUFvQWtBQUFB
QUFBQWlZd0VBakZFQUFOQUpBQUFBQUFBQUxHTUJBTHhSQUFBQUNnQUFBQUFBQURWakFRQ01VUUFB
UUFZQUFBQUFBQUE2WXdFQWpGRUFBRUFHQUFBQUFBQUFSR01CQUl4UkFBQXdDZ0FBQUFBQUFFdGpB
UUNNVVFBQVlBb0FBQUFBQUFCWVl3RUFqRkVBQUpBS0FBQUFBQUFBWm1NQkFJeFJBQURBQ2dBQUFB
QUFBSFJqQVFDTVVRQUE4QW9BQUFBQUFBQ0FZd0VBakZFQUFDQUxBQUFBQUFBQWpXTUJBSXhSQUFC
UUN3QUFBQUFBQUpaakFRQ01VUUFBZ0FzQUFBQUFBQUNnWXdFQWpGRUFBTEFMQUFBQUFBQUFxV01C
QUl4UkFBRGdDd0FBQUFBQUFMRmpBUUNNVVFBQUVBd0FBQUFBQUFDNVl3RUFqRkVBQUVBTUFBQUFB
QUFBd21NQkFJeFJBQUJ3REFBQUFBQUFBTVpqQVFDTVVRQUFvQXdBQUFBQUFBRFJZd0VBakZFQUFO
QU1BQUFBQUFBQTFXTUJBSXhSQUFBQURRQUFBQUFBQU45akFRQ01VUUFBTUEwQUFBQUFBQURvWXdF
QWpGRUFBR0FOQUFBQUFBQUE4R01CQUl4UkFBQ1FEUUFBQUFBQUFQMWpBUUNNVVFBQXdBMEFBQUFB
QUFBSlpBRUFqRkVBQVBBTkFBQUFBQUFBRkdRQkFJeFJBQUFnRGdBQUFBQUFBQ1JrQVFDTVVRQUFV
QTRBQUFBQUFBQXlaQUVBakZFQUFJQU9BQUFBQUFBQVFXUUJBSXhSQUFDd0RnQUFBQUFBQUV0a0FR
Q01VUUFBNEE0QUFBQUFBQUJVWkFFQWpGRUFBQkFQQUFBQUFBQUFYbVFCQUl4UkFBQkFEd0FBQUFB
QUFHaGtBUUNNVVFBQWNBOEFBQUFBQUFCdlpBRUFqRkVBQUtBUEFBQUFBQUFBZG1RQkFJeFJBQURR
RHdBQUFBQUFBSUJrQVFEVVVRQUFBQUFBQUFBQUFBQ0haQUVBMUZFQUFBQUFBQUFBQUFBQVpXSUJB
T3hSQUFBQUFBQUFBQUFBQUk5a0FRQUVVZ0FBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFTd0FBQUV3QUFBQVhBQUFBQkFBQUFBSUFBQUFNQUFBQVRRQUFBRXdBQUFBWEFBQUFCUUFBQUFB
QUFBQU5BQUFBU3dBQUFFd0FBQUFYQUFBQUJBQUFBQUlBQUFBTUFBQUFUZ0FBQUU4QUFBQVlBQUFB
QmdBQUFBTUFBQUFPQUFBQVVBQUFBRkVBQUFBWEFBQUFCd0FBQUFBQUFBQVBBQUFBU3dBQUFFd0FB
QUFYQUFBQUNBQUFBQUlBQUFBTUFBQUFFQUFBQUJFQUFBQVNBQUFBRXdBQUFKRmxBUUNZWlFFQUFB
QUFBS0JsQVFDaVpRRUFLdU1CQUtSbEFRQU1BQUFBQkFBQUFBWUFBQUFDQUFBQUF3QUFBQUVBQUFB
SkFBQUFDQUFBQUFzQUFBQU1BQUFBRFFBQUFBNEFBQUFQQUFBQUVBQUFBQkVBQUFBU0FBQUFGUUFB
QUJZQUFBQVhBQUFBR0FBQUFCa0FBQUFhQUFBQUd3QUFBQndBQUFBZkFBQUFJQUFBQUNFQUFBQWlB
QUFBSXdBQUFDUUFBQUFsQUFBQUpnQUFBQ2tBQUFBcUFBQUFLd0FBQUN3QUFBQXRBQUFBTGdBQUFD
OEFBQUF3QUFBQU13QUFBRFFBQUFBMUFBQUFOZ0FBQURjQUFBQTRBQUFBT1FBQUFEb0FBQUE5QUFB
QVBnQUFBRDhBQUFCQUFBQUFRUUFBQUVJQUFBQkRBQUFBUkFBQUFFY0FBQUJJQUFBQVNRQUFBRW9B
QUFCTEFBQUFUQUFBQUUwQUFBQk9BQUFBVVFBQUFGSUFBQUJUQUFBQVZBQUFBRlVBQUFCV0FBQUFW
d0FBQUZnQUFBRHhaZ0VBQVdjQkFBNW5BUUFBQUFBQUFBQUFBQVFBQUFBVFp3RUFBQUFBQUFBQUFB
QWVad0VBQVdjQkFBNW5BUUFBQUFBQU5XY0JBQVVBQUFBVFp3RUFBQUFBQUQxbkFRQkVad0VBQVdj
QkFGUm5BUUFBQUFBQUFBQUFBQVlBQUFBVFp3RUFvWFlCQUFBQUFBQlpad0VBQVdjQkFGUm5BUUFB
QUFBQU5XY0JBQWNBQUFBVFp3RUFvWFlCQUQxbkFRQndad0VBZldjQkFGUm5BUUFBQUFBQUFBQUFB
QW9BQUFDTFp3RUFvWFlCQUFBQUFBQ1Jad0VBZldjQkFGUm5BUUFBQUFBQVBXY0JBQXNBQUFDTFp3
RUFvWFlCQUQxbkFRQ2tad0VBZldjQkFMSm5BUUFBQUFBQUFBQUFBQWdBQUFDTFp3RUFBQUFBQUFB
QUFBQzRad0VBZldjQkFMSm5BUUFBQUFBQVBXY0JBQWtBQUFDTFp3RUFBQUFBQUQxbkFRRE1ad0VB
ekdjQkFBQUFBQUFBQUFBQUFBQUFBQXdBQUFEVVp3RUFBQUFBQUFBQUFBRGVad0VBekdjQkFLRjJB
UUFBQUFBQUFBQUFBQTRBQUFEVVp3RUFvWFlCQUFBQUFBRHJad0VBekdjQkFLRjJBUUFBQUFBQU5X
Y0JBQThBQUFEVVp3RUFvWFlCQUQxbkFRRC9ad0VBekdjQkFBQUFBQUFBQUFBQU5XY0JBQTBBQUFE
VVp3RUFBQUFBQUQxbkFRQVBhQUVBRDJnQkFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBVFp3RUFBQUFB
QUFBQUFBQVphQUVBRDJnQkFLRjJBUUFBQUFBQUFBQUFBQklBQUFBVFp3RUFvWFlCQUFBQUFBQW9h
QUVBRDJnQkFLRjJBUUFBQUFBQU5XY0JBQk1BQUFBVFp3RUFvWFlCQUQxbkFRQSthQUVBRDJnQkFB
QUFBQUJQYUFFQUFBQUFBQlFBQUFBVFp3RUFBQUFBQUFBQUFBQlphQUVBRDJnQkFLRjJBUUJQYUFF
QUFBQUFBQllBQUFBVFp3RUFvWFlCQUFBQUFBQnZhQUVBRDJnQkFLRjJBUUJQYUFFQU5XY0JBQmNB
QUFBVFp3RUFvWFlCQUQxbkFRQ01hQUVBRDJnQkFBQUFBQUJQYUFFQU5XY0JBQlVBQUFBVFp3RUFB
QUFBQUQxbkFRQ2xhQUVBRDJnQkFBQUFBQUFBQUFBQU5XY0JBQkVBQUFBVFp3RUFBQUFBQUQxbkFR
QzNhQUVBeldnQkFLRjJBUUFBQUFBQUFBQUFBQm9BQUFDTFp3RUFvWFlCQUFBQUFBRGlhQUVBeldn
QkFLRjJBUUFBQUFBQVBXY0JBQnNBQUFDTFp3RUFvWFlCQUQxbkFRRCthQUVBeldnQkFBQUFBQUFB
QUFBQVBXY0JBQmtBQUFDTFp3RUFBQUFBQUQxbkFRQVdhUUVBeldnQkFDMXBBUUFBQUFBQUFBQUFB
QmdBQUFDTFp3RUFBQUFBQUFBQUFBQXphUUVBUVdrQkFLRjJBUUFBQUFBQUFBQUFBQjRBQUFDTFp3
RUFvWFlCQUFBQUFBQlRhUUVBUVdrQkFLRjJBUUFBQUFBQVBXY0JBQjhBQUFDTFp3RUFvWFlCQUQx
bkFRQm5hUUVBUVdrQkFBQUFBQUFBQUFBQVBXY0JBQjBBQUFDTFp3RUFBQUFBQUQxbkFRQjNhUUVB
UVdrQkFDMXBBUUFBQUFBQUFBQUFBQndBQUFDTFp3RUFBQUFBQUFBQUFBQ0dhUUVBaG1rQkFBQUFB
QUFBQUFBQUFBQUFBQ0FBQUFDTmFRRUFBQUFBQUFBQUFBQ1ZhUUVBb0drQkFLRjJBUUFBQUFBQUFB
QUFBQUlBQUFDTFp3RUFvWFlCQUFBQUFBQ21hUUVBb0drQkFLRjJBUUFBQUFBQVBXY0JBQU1BQUFD
TFp3RUFvWFlCQUQxbkFRQzNhUUVBb0drQkFBQUFBQUFBQUFBQVBXY0JBQUVBQUFDTFp3RUFBQUFB
QUQxbkFRQmphd0VBb0drQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDTFp3RUFBQUFBQUFBQUFBREVh
UUVBM21rQkFPMXBBUUFBQUFBQVBXY0JBQ0VBQUFDTFp3RUFBQUFBQUQxbkFRRDBhUUVBQVdvQkFB
QUFBQUFBQUFBQUFBQUFBQ0lBQUFDTmFRRUFBQUFBQUFBQUFBQUlBQUFBLy8vLy93QUFBQUFBQUFB
QUtRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQy9hd0VBeGdBQUFNVnJBUURCQUFBQXpHc0JBTUlB
QUFEU2F3RUF3QUFBQU5sckFRQ1JBd0FBMzJzQkFNVUFBQURsYXdFQXd3QUFBT3hyQVFERUFBQUE4
V3NCQUpJREFBRDJhd0VBeHdBQUFQMXJBUUNuQXdBQUFXd0JBQ0VnQUFBSWJBRUFsQU1BQUE1c0FR
RFFBQUFBRW13QkFNa0FBQUFaYkFFQXlnQUFBQjlzQVFESUFBQUFKbXdCQUpVREFBQXViQUVBbHdN
QUFESnNBUURMQUFBQU4yd0JBSk1EQUFBOWJBRUF6UUFBQUVSc0FRRE9BQUFBU213QkFNd0FBQUJS
YkFFQW1RTUFBRlpzQVFEUEFBQUFXMndCQUpvREFBQmhiQUVBbXdNQUFHaHNBUUNjQXdBQWEyd0JB
TkVBQUFCeWJBRUFuUU1BQUhWc0FRQlNBUUFBZTJ3QkFOTUFBQUNDYkFFQTFBQUFBSWhzQVFEU0FB
QUFqMndCQUtrREFBQ1ZiQUVBbndNQUFKMXNBUURZQUFBQXBHd0JBTlVBQUFDcmJBRUExZ0FBQUxC
c0FRQ21Bd0FBdEd3QkFLQURBQUMzYkFFQU15QUFBTDFzQVFDb0F3QUF3V3dCQUtFREFBREZiQUVB
WUFFQUFNeHNBUUNqQXdBQTBtd0JBTjRBQUFEWWJBRUFwQU1BQU54c0FRQ1lBd0FBNG13QkFOb0FB
QURwYkFFQTJ3QUFBTzlzQVFEWkFBQUE5bXdCQUtVREFBRCtiQUVBM0FBQUFBTnRBUUNlQXdBQUJt
MEJBTjBBQUFBTmJRRUFlQUVBQUJKdEFRQ1dBd0FBRjIwQkFPRUFBQUFlYlFFQTRnQUFBQ1J0QVFD
MEFBQUFLbTBCQU9ZQUFBQXdiUUVBNEFBQUFEZHRBUUExSVFBQVAyMEJBTEVEQUFCRmJRRUFKZ0FB
QUVsdEFRQW5JZ0FBVFcwQkFDQWlBQUJSYlFFQTVRQUFBRmR0QVFCSUlnQUFYVzBCQU9NQUFBQmti
UUVBNUFBQUFHbHRBUUFlSUFBQWIyMEJBTElEQUFCMGJRRUFwZ0FBQUh0dEFRQWlJQUFBZ0cwQkFD
a2lBQUNFYlFFQTV3QUFBSXR0QVFDNEFBQUFrVzBCQUtJQUFBQ1diUUVBeHdNQUFKcHRBUURHQWdB
QW4yMEJBR01tQUFDbGJRRUFSU0lBQUtwdEFRQ3BBQUFBcjIwQkFMVWhBQUMxYlFFQUtpSUFBTGx0
QVFDa0FBQUF3RzBCQU5NaEFBREZiUUVBSUNBQUFNeHRBUUNUSVFBQTBXMEJBTEFBQUFEVmJRRUF0
QU1BQU50dEFRQm1KZ0FBNFcwQkFQY0FBQURvYlFFQTZRQUFBTzl0QVFEcUFBQUE5VzBCQU9nQUFB
RDhiUUVBQlNJQUFBSnVBUUFESUFBQUIyNEJBQUlnQUFBTWJnRUF0UU1BQUJSdUFRQmhJZ0FBR200
QkFMY0RBQUFlYmdFQThBQUFBQ0p1QVFEckFBQUFKMjRCQUt3Z0FBQXNiZ0VBQXlJQUFESnVBUUNT
QVFBQU4yNEJBQUFpQUFBK2JnRUF2UUFBQUVWdUFRQzhBQUFBVEc0QkFMNEFBQUJUYmdFQVJDQUFB
Rmx1QVFDekF3QUFYMjRCQUdVaUFBQmliZ0VBUGdBQUFHVnVBUURVSVFBQWFtNEJBSlFoQUFCdmJn
RUFaU1lBQUhadUFRQW1JQUFBZlc0QkFPMEFBQUNFYmdFQTdnQUFBSXB1QVFDaEFBQUFrRzRCQU93
QUFBQ1hiZ0VBRVNFQUFKMXVBUUFlSWdBQW8yNEJBQ3NpQUFDbmJnRUF1UU1BQUt4dUFRQy9BQUFB
czI0QkFBZ2lBQUM0YmdFQTd3QUFBTDF1QVFDNkF3QUF3MjRCQU5BaEFBREliZ0VBdXdNQUFNOXVB
UUFwSXdBQTFHNEJBS3NBQUFEYWJnRUFrQ0VBQU45dUFRQUlJd0FBNVc0QkFCd2dBQURyYmdFQVpD
SUFBTzV1QVFBS0l3QUE5VzRCQUJjaUFBRDhiZ0VBeWlVQUFBQnZBUUFPSUFBQUJHOEJBRGtnQUFB
TGJ3RUFHQ0FBQUJGdkFRQThBQUFBRkc4QkFLOEFBQUFaYndFQUZDQUFBQjl2QVFDMUFBQUFKVzhC
QUxjQUFBRFJkd0VBRWlJQUFDeHZBUUM4QXdBQUwyOEJBQWNpQUFBMWJ3RUFvQUFBQURwdkFRQVRJ
QUFBUUc4QkFHQWlBQUJEYndFQUN5SUFBRVp2QVFDc0FBQUFTbThCQUFraUFBQlFid0VBaENJQUFG
VnZBUUR4QUFBQVhHOEJBTDBEQUFCZmJ3RUE4d0FBQUdadkFRRDBBQUFBYkc4QkFGTUJBQUJ5YndF
QThnQUFBSGx2QVFBK0lBQUFmMjhCQU1rREFBQ0Zid0VBdndNQUFJMXZBUUNWSWdBQWsyOEJBQ2dp
QUFDV2J3RUFxZ0FBQUp0dkFRQzZBQUFBb0c4QkFQZ0FBQUNuYndFQTlRQUFBSzV2QVFDWElnQUF0
VzhCQVBZQUFBQzZid0VBdGdBQUFMOXZBUUFDSWdBQXhHOEJBREFnQUFETGJ3RUFwU0lBQU5CdkFR
REdBd0FBMUc4QkFNQURBQURYYndFQTFnTUFBTnR2QVFDeEFBQUE0bThCQUtNQUFBRG9id0VBTWlB
QUFPNXZBUUFQSWdBQTgyOEJBQjBpQUFENGJ3RUF5QU1BQVB4dkFRQWlBQUFBQVhBQkFOSWhBQUFH
Y0FFQUdpSUFBQXh3QVFBcUl3QUFFWEFCQUxzQUFBQVhjQUVBa2lFQUFCeHdBUUFKSXdBQUluQUJB
QjBnQUFBb2NBRUFIQ0VBQUMxd0FRQ3VBQUFBTVhBQkFBc2pBQUE0Y0FFQXdRTUFBRHh3QVFBUElB
QUFRSEFCQURvZ0FBQkhjQUVBR1NBQUFFMXdBUUFhSUFBQVUzQUJBR0VCQUFCYWNBRUF4U0lBQUY5
d0FRQ25BQUFBWkhBQkFLMEFBQUJvY0FFQXd3TUFBRzV3QVFEQ0F3QUFkWEFCQUR3aUFBQjVjQUVB
WUNZQUFJQndBUUNDSWdBQWhIQUJBSVlpQUFDSmNBRUFFU0lBQUkxd0FRQ0RJZ0FBa1hBQkFMa0FB
QUNXY0FFQXNnQUFBSnR3QVFDekFBQUFvSEFCQUljaUFBQ2xjQUVBM3dBQUFLdHdBUURFQXdBQXIz
QUJBRFFpQUFDMmNBRUF1QU1BQUx4d0FRRFJBd0FBeFhBQkFBa2dBQURNY0FFQS9nQUFBTkp3QVFE
Y0FnQUEySEFCQU5jQUFBRGVjQUVBSWlFQUFPUndBUURSSVFBQTZYQUJBUG9BQUFEd2NBRUFrU0VB
QVBWd0FRRDdBQUFBKzNBQkFQa0FBQUFDY1FFQXFBQUFBQVp4QVFEU0F3QUFESEVCQU1VREFBQVVj
UUVBL0FBQUFCbHhBUUFZSVFBQUlIRUJBTDREQUFBamNRRUEvUUFBQUNweEFRQ2xBQUFBTG5FQkFQ
OEFBQUF6Y1FFQXRnTUFBRGh4QVFBTklBQUFQSEVCQUF3Z0FBQUZBQUFBQmdBQUFBRUJBQUFJQUFB
QUNBQUFBQUFBQUFBQUFBQUFLZ0FBQUEwQUFBQUFBQUFBQUFBQUFBQUFBQUFJQUFBQUVBQUFBQUFB
QUFBQUFBQUFLd0FBQUE0QUFBQUFBQUFBQUFBQUFBQUFBQUNSZHdFQUJ3QUFBSk4zQVFBSUFBQUFt
SGNCQUFnQUFBQ2dkd0VBQ1FBQUFLWjNBUUFKQUFBQXIzY0JBQW9BQUFDeWR3RUFDZ0FBQUxoM0FR
QUxBQUFBdlhjQkFBc0FBQURGZHdFQURBQUFBTXAzQVFBTUFBQUEwWGNCQUEwQUFBRFhkd0VBRFFB
QUFPTjNBUUFPQUFBQVVnQUFBQ3dBQUFBdEFBQUFGQUFBQUM0QUFBQlRBQUFBTHdBQUFCVUFBQUF3
QUFBQUNBQUFBQVFBQUFELy8vLy9BQUFBQUFBQUFBQVBBQUFBQUFBQUFBQUFBQUFBQUFBQU8za0JB
RlZkeVgvSmYvOEFSbmtCQUxzdDFMNnUxUDhBVVhrQkFCUjMvZjNBaHY4QVhIa0JBRlZkeVgvSmYv
OEFaM2tCQUxzdDFMNnUxUDhBY25rQkFCUjMvZjNBaHY4QWZYa0JBQ3BtLy8vL21mOEFpSGtCQUZW
ZHlYL0pmLzhBazNrQkFMc3QxTDZ1MVA4QW5ua0JBQlIzL2YzQWh2OEFxWGtCQUNwbS8vLy9tZjhB
dEhrQkFKZXRzRGhzc1A4QXYza0JBRlZkeVgvSmYvOEF5bmtCQUxzdDFMNnUxUDhBMVhrQkFCUjMv
ZjNBaHY4QTRIa0JBQ3BtLy8vL21mOEE2M2tCQUpldHNEaHNzUDhBOW5rQkFPajg4UEFDZi84QUFY
b0JBRlZkeVgvSmYvOEFESG9CQUxzdDFMNnUxUDhBRjNvQkFCUjMvZjNBaHY4QUlub0JBQ3BtLy8v
L21mOEFMWG9CQUpldHNEaHNzUDhBT0hvQkFPajg4UEFDZi84QVEzb0JBQkhndjc5YkYvOEFUbm9C
QUZWZHlYL0pmLzhBV1hvQkFMc3QxTDZ1MVA4QVpIb0JBQlIzL2YzQWh2OEFiM29CQUNwbS8vLy9t
ZjhBZW5vQkFKZXRzRGhzc1A4QWhYb0JBT2o4OFBBQ2YvOEFrSG9CQUJIZ3Y3OWJGLzhBbTNvQkFB
QUFabVptWnY4QXBub0JBSk1aOTk3cjkvOEFzSG9CQUk1TDRaN0s0ZjhBdW5vQkFKRzh2VEdDdmY4
QXhIb0JBSjhRLysvei8vOEF6bm9CQUk4dTU3M1g1LzhBMkhvQkFJOS8xbXV1MXY4QTRub0JBSlBR
dFNGeHRmOEE3SG9CQUo4US8rL3ovLzhBOW5vQkFJOHU1NzNYNS84QUFIc0JBSTkvMW11dTF2OEFD
bnNCQUpHOHZUR0N2ZjhBRkhzQkFKWHhuQWhSblA4QUhuc0JBSjhRLysvei8vOEFLSHNCQUpRcjc4
YmI3LzhBTW5zQkFJNUw0WjdLNGY4QVBIc0JBSTkvMW11dTF2OEFSbnNCQUpHOHZUR0N2ZjhBVUhz
QkFKWHhuQWhSblA4QVduc0JBSjhRLysvei8vOEFaSHNCQUpRcjc4YmI3LzhBYm5zQkFJNUw0WjdL
NGY4QWVIc0JBSTkvMW11dTF2OEFnbnNCQUpDcHhrS1N4djhBakhzQkFKUFF0U0Z4dGY4QWxuc0JB
SmZ4bEFoRmxQOEFvSHNCQUpRSS8vZjcvLzhBcW5zQkFKTVo5OTdyOS84QXRIc0JBSlFyNzhiYjcv
OEF2bnNCQUk1TDRaN0s0ZjhBeUhzQkFJOS8xbXV1MXY4QTBuc0JBSkNweGtLU3h2OEEzSHNCQUpQ
UXRTRnh0ZjhBNW5zQkFKZnhsQWhGbFA4QThIc0JBSlFJLy9mNy8vOEErbnNCQUpNWjk5N3I5LzhB
Qkh3QkFKUXI3OGJiNy84QURud0JBSTVMNFo3SzRmOEFHSHdCQUk5LzFtdXUxdjhBSW53QkFKQ3B4
a0tTeHY4QUxId0JBSlBRdFNGeHRmOEFObndCQUpYeG5BaFJuUDhBUUh3QkFKanJhd2d3YS84QVNu
d0JBQmZ2VkZRd0JmOEFWSHdCQUhmL1BBQThNUDhBWDN3QkFCZnNqSXhSQ3Y4QWFYd0JBQmpDdjcr
QkxmOEFjM3dCQUIxdzM5L0NmZjhBZlh3QkFCNDA5dmJvdy84QWgzd0JBSGttNnNmcTVmOEFrWHdC
QUhoZnpZRE53ZjhBbTN3QkFIeWxseldYai84QXBYd0JBSHo4WmdGbVh2OEFyM3dCQUJmdlZGUXdC
ZjhBdVh3QkFIejhaZ0ZtWHY4QXhId0JBSGYvUEFBOE1QOEF6M3dCQUJmc2pJeFJDdjhBMlh3QkFC
akN2NytCTGY4QTQzd0JBQjF3MzkvQ2ZmOEE3WHdCQUI0MDl2Ym93LzhBOTN3QkFBQUE5ZlgxOWY4
QUFYMEJBSGttNnNmcTVmOEFDMzBCQUhoZnpZRE53ZjhBRlgwQkFIeWxseldYai84QUgzMEJBQnlI
Mk5pelpmOEFLSDBCQUFBQTlmWDE5ZjhBTVgwQkFIdC90RnEwclA4QU9uMEJBQlhYcHFaaEd2OEFR
MzBCQUIxdzM5L0NmZjhBVEgwQkFIaGZ6WUROd2Y4QVZYMEJBSG45aFFHRmNmOEFYbjBCQUJYWHBx
WmhHdjhBWjMwQkFCMXczOS9DZmY4QWNIMEJBQUFBOWZYMTlmOEFlWDBCQUhoZnpZRE53ZjhBZ24w
QkFIbjloUUdGY2Y4QWkzMEJBQmZzakl4UkN2OEFsSDBCQUJ5SDJOaXpaZjhBblgwQkFCNDA5dmJv
dy84QXBuMEJBSGttNnNmcTVmOEFyMzBCQUh0L3RGcTByUDhBdUgwQkFIejhaZ0ZtWHY4QXdYMEJB
QmZzakl4UkN2OEF5bjBCQUJ5SDJOaXpaZjhBMDMwQkFCNDA5dmJvdy84QTNIMEJBQUFBOWZYMTlm
OEE1WDBCQUhrbTZzZnE1ZjhBN24wQkFIdC90RnEwclA4QTkzMEJBSHo4WmdGbVh2OEFBSDRCQUJm
c2pJeFJDdjhBQ1g0QkFCakN2NytCTGY4QUVuNEJBQjF3MzkvQ2ZmOEFHMzRCQUI0MDl2Ym93LzhB
Skg0QkFIa202c2ZxNWY4QUxYNEJBSGhmellETndmOEFObjRCQUh5bGx6V1hqLzhBUDM0QkFIejha
Z0ZtWHY4QVNINEJBQmZzakl4UkN2OEFVWDRCQUJqQ3Y3K0JMZjhBV240QkFCMXczOS9DZmY4QVkz
NEJBQjQwOXZib3cvOEFiSDRCQUFBQTlmWDE5ZjhBZFg0QkFIa202c2ZxNWY4QWZuNEJBSGhmellE
TndmOEFoMzRCQUh5bGx6V1hqLzhBa0g0QkFIejhaZ0ZtWHY4QW1YNEJBSWNVK2VYMStmOEFvbjRC
QUhWSzJKbll5ZjhBcTM0QkFHZTVvaXlpWC84QXRINEJBSWdPKyszNCsvOEF2WDRCQUg4MjRyTGk0
djhBeG40QkFIRjR3bWJDcFA4QXozNEJBR0sraXlPTFJmOEEySDRCQUlnTysrMzQrLzhBNFg0QkFI
ODI0ckxpNHY4QTZuNEJBSEY0d21iQ3BQOEE4MzRCQUdlNW9peWlYLzhBL0g0QkFHYi9iUUJ0TFA4
QUJYOEJBSWdPKyszNCsvOEFEbjhCQUhjaTdNenM1djhBRjM4QkFIVksySm5ZeWY4QUlIOEJBSEY0
d21iQ3BQOEFLWDhCQUdlNW9peWlYLzhBTW44QkFHYi9iUUJ0TFA4QU8zOEJBSWdPKyszNCsvOEFS
SDhCQUhjaTdNenM1djhBVFg4QkFIVksySm5ZeWY4QVZuOEJBSEY0d21iQ3BQOEFYMzhCQUdtZnJr
R3VkdjhBYUg4QkFHSytpeU9MUmY4QWNYOEJBR2IvV0FCWUpQOEFlbjhCQUlZRy9mZjgvZjhBZzM4
QkFJY1UrZVgxK2Y4QWpIOEJBSGNpN016czV2OEFsWDhCQUhWSzJKbll5ZjhBbm44QkFIRjR3bWJD
cFA4QXAzOEJBR21mcmtHdWR2OEFzSDhCQUdLK2l5T0xSZjhBdVg4QkFHYi9XQUJZSlA4QXduOEJB
SVlHL2ZmOC9mOEF5MzhCQUljVStlWDErZjhBMUg4QkFIY2k3TXpzNXY4QTNYOEJBSFZLMkpuWXlm
OEE1bjhCQUhGNHdtYkNwUDhBNzM4QkFHbWZya0d1ZHY4QStIOEJBR0sraXlPTFJmOEFBWUFCQUdi
L2JRQnRMUDhBQ29BQkFHWC9SQUJFRy84QUU0QUJBSkFVOU9EczlQOEFISUFCQUpSRzJwNjgydjhB
SllBQkFNUjdwNGhXcC84QUxvQUJBSWdPKyszNCsvOEFONEFCQUpJMTQ3UE40LzhBUUlBQkFLSkt4
b3lXeHY4QVNZQUJBTXFWblloQm5mOEFVb0FCQUlnTysrMzQrLzhBVzRBQkFKSTE0N1BONC84QVpJ
QUJBS0pLeG95V3h2OEFiWUFCQU1SN3A0aFdwLzhBZG9BQkFOYmhnWUVQZlA4QWY0QUJBSWdPKysz
NCsvOEFpSUFCQUpRcjVyL1Q1djhBa1lBQkFKUkcycDY4MnY4QW1vQUJBS0pLeG95V3h2OEFvNEFC
QU1SN3A0aFdwLzhBcklBQkFOYmhnWUVQZlA4QXRZQUJBSWdPKyszNCsvOEF2b0FCQUpRcjVyL1Q1
djhBeDRBQkFKUkcycDY4MnY4QTBJQUJBS0pLeG95V3h2OEEyWUFCQUw1a3NZeHJzZjhBNG9BQkFN
cVZuWWhCbmY4QTY0QUJBTlg4Ym00QmEvOEE5SUFCQUlZRy9mZjgvZjhBL1lBQkFKQVU5T0RzOVA4
QUJvRUJBSlFyNXIvVDV2OEFENEVCQUpSRzJwNjgydjhBR0lFQkFLSkt4b3lXeHY4QUlZRUJBTDVr
c1l4cnNmOEFLb0VCQU1xVm5ZaEJuZjhBTTRFQkFOWDhibTRCYS84QVBJRUJBSVlHL2ZmOC9mOEFS
WUVCQUpBVTlPRHM5UDhBVG9FQkFKUXI1ci9UNXY4QVY0RUJBSlJHMnA2ODJ2OEFZSUVCQUtKS3hv
eVd4djhBYVlFQkFMNWtzWXhyc2Y4QWNvRUJBTXFWblloQm5mOEFlNEVCQU5iaGdZRVBmUDhBaElF
QkFOWC9UVTBBUy84QWpZRUJBSExUbmh1ZWQvOEFsNEVCQUJMODJkbGZBdjhBb1lFQkFLMWZzM1Z3
cy84QXE0RUJBSExUbmh1ZWQvOEF0WUVCQUJMODJkbGZBdjhBdjRFQkFLMWZzM1Z3cy84QXlZRUJB
T25SNStjcGl2OEEwNEVCQUhMVG5odWVkLzhBM1lFQkFCTDgyZGxmQXY4QTU0RUJBSzFmczNWd3Mv
OEE4WUVCQU9uUjUrY3BpdjhBKzRFQkFEN1FwbWFtSHY4QUJZSUJBSExUbmh1ZWQvOEFENElCQUJM
ODJkbGZBdjhBR1lJQkFLMWZzM1Z3cy84QUk0SUJBT25SNStjcGl2OEFMWUlCQUQ3UXBtYW1IdjhB
TjRJQkFCLzg1dWFyQXY4QVFZSUJBSExUbmh1ZWQvOEFTNElCQUJMODJkbGZBdjhBVllJQkFLMWZz
M1Z3cy84QVg0SUJBT25SNStjcGl2OEFhWUlCQUQ3UXBtYW1IdjhBYzRJQkFCLzg1dWFyQXY4QWZZ
SUJBQnZTcHFaMkhmOEFoNElCQUhMVG5odWVkLzhBa1lJQkFCTDgyZGxmQXY4QW00SUJBSzFmczNW
d3MvOEFwWUlCQU9uUjUrY3BpdjhBcjRJQkFEN1FwbWFtSHY4QXVZSUJBQi84NXVhckF2OEF3NElC
QUJ2U3BxWjJIZjhBellJQkFBQUFabVptWnY4QTE0SUJBRXdaOCtEejIvOEE0SUlCQUY4OTNhamR0
ZjhBNllJQkFJeXF5a09peXY4QThvSUJBRUVSK2ZENTZQOEErNElCQUZjdTVMcmt2UDhBQklNQkFI
dGx6SHZNeFA4QURZTUJBSTNGdml1TXZ2OEFGb01CQUVFUitmRDU2UDhBSDRNQkFGY3U1THJrdlA4
QUtJTUJBSHRsekh2TXhQOEFNWU1CQUl5cXlrT2l5djhBT29NQkFKSHpyQWhvclA4QVE0TUJBRUVS
K2ZENTZQOEFUSU1CQUUwcDY4enJ4ZjhBVllNQkFGODkzYWpkdGY4QVhvTUJBSHRsekh2TXhQOEFa
NE1CQUl5cXlrT2l5djhBY0lNQkFKSHpyQWhvclA4QWVZTUJBRUVSK2ZENTZQOEFnb01CQUUwcDY4
enJ4ZjhBaTRNQkFGODkzYWpkdGY4QWxJTUJBSHRsekh2TXhQOEFuWU1CQUltZzAwNnowLzhBcG9N
QkFJM0Z2aXVNdnY4QXI0TUJBSlB5bmdoWW52OEF1SU1CQUR3TS9QZjg4UDhBd1lNQkFFd1o4K0R6
Mi84QXlvTUJBRTBwNjh6cnhmOEEwNE1CQUY4OTNhamR0ZjhBM0lNQkFIdGx6SHZNeFA4QTVZTUJB
SW1nMDA2ejAvOEE3b01CQUkzRnZpdU12djhBOTRNQkFKUHluZ2hZbnY4QUFJUUJBRHdNL1BmODhQ
OEFDWVFCQUV3WjgrRHoyLzhBRW9RQkFFMHA2OHpyeGY4QUc0UUJBRjg5M2FqZHRmOEFKSVFCQUh0
bHpIdk14UDhBTFlRQkFJbWcwMDZ6MC84QU5vUUJBSTNGdml1TXZ2OEFQNFFCQUpIenJBaG9yUDhB
U0lRQkFKYnZnUWhBZ2Y4QVVZUUJBRW9WOWVYMTRQOEFYSVFCQUZCSTJhSFptLzhBWjRRQkFHS3lv
ekdqVlA4QWNvUUJBRWtQK08zNDZmOEFmWVFCQUU0MjVMcmtzLzhBaUlRQkFGWm94SFRFZHY4QWs0
UUJBR0sraXlPTFJmOEFub1FCQUVrUCtPMzQ2ZjhBcVlRQkFFNDI1THJrcy84QXRJUUJBRlpveEhU
RWR2OEF2NFFCQUdLeW96R2pWUDhBeW9RQkFHYi9iUUJ0TFA4QTFZUUJBRWtQK08zNDZmOEE0SVFC
QUUwczZjZnB3UDhBNjRRQkFGQkkyYUhabS84QTlvUUJBRlpveEhURWR2OEFBWVVCQUdLeW96R2pW
UDhBRElVQkFHYi9iUUJ0TFA4QUY0VUJBRWtQK08zNDZmOEFJb1VCQUUwczZjZnB3UDhBTFlVQkFG
QkkyYUhabS84QU9JVUJBRlpveEhURWR2OEFRNFVCQUdDZXEwR3JYZjhBVG9VQkFHSytpeU9MUmY4
QVdZVUJBR3ovV2dCYU12OEFaSVVCQUVnSC9QZjg5ZjhBYjRVQkFFb1Y5ZVgxNFA4QWVvVUJBRTBz
NmNmcHdQOEFoWVVCQUZCSTJhSFptLzhBa0lVQkFGWm94SFRFZHY4QW00VUJBR0NlcTBHclhmOEFw
b1VCQUdLK2l5T0xSZjhBc1lVQkFHei9XZ0JhTXY4QXZJVUJBRWdIL1BmODlmOEF4NFVCQUVvVjll
WDE0UDhBMG9VQkFFMHM2Y2Zwd1A4QTNZVUJBRkJJMmFIWm0vOEE2SVVCQUZab3hIVEVkdjhBODRV
QkFHQ2VxMEdyWGY4QS9vVUJBR0sraXlPTFJmOEFDWVlCQUdiL2JRQnRMUDhBRklZQkFHWC9SQUJF
Ry84QUg0WUJBQUFBOFBEdzhQOEFLWVlCQUFBQXZiMjl2ZjhBTTRZQkFBQUFZMk5qWS84QVBZWUJB
QUFBOS9mMzkvOEFSNFlCQUFBQXpNek16UDhBVVlZQkFBQUFscGFXbHY4QVc0WUJBQUFBVWxKU1V2
OEFaWVlCQUFBQTkvZjM5LzhBYjRZQkFBQUF6TXpNelA4QWVZWUJBQUFBbHBhV2x2OEFnNFlCQUFB
QVkyTmpZLzhBallZQkFBQUFKU1VsSmY4QWw0WUJBQUFBOS9mMzkvOEFvWVlCQUFBQTJkbloyZjhB
cTRZQkFBQUF2YjI5dmY4QXRZWUJBQUFBbHBhV2x2OEF2NFlCQUFBQVkyTmpZLzhBeVlZQkFBQUFK
U1VsSmY4QTA0WUJBQUFBOS9mMzkvOEEzWVlCQUFBQTJkbloyZjhBNTRZQkFBQUF2YjI5dmY4QThZ
WUJBQUFBbHBhV2x2OEErNFlCQUFBQWMzTnpjLzhBQlljQkFBQUFVbEpTVXY4QUQ0Y0JBQUFBSlNV
bEpmOEFHWWNCQUFBQS8vLy8vLzhBSTRjQkFBQUE4UER3OFA4QUxZY0JBQUFBMmRuWjJmOEFONGNC
QUFBQXZiMjl2ZjhBUVljQkFBQUFscGFXbHY4QVM0Y0JBQUFBYzNOemMvOEFWWWNCQUFBQVVsSlNV
djhBWDRjQkFBQUFKU1VsSmY4QWFZY0JBQUFBLy8vLy8vOEFjNGNCQUFBQThQRHc4UDhBZlljQkFB
QUEyZG5aMmY4QWg0Y0JBQUFBdmIyOXZmOEFrWWNCQUFBQWxwYVdsdjhBbTRjQkFBQUFjM056Yy84
QXBZY0JBQUFBVWxKU1V2OEFyNGNCQUFBQUpTVWxKZjhBdVljQkFBQUFBQUFBQVA4QXc0Y0JBQlV3
L3Y3bXp2OEF6NGNCQUJPVC9mMnVhLzhBMjRjQkFBN3c1dVpWRGY4QTU0Y0JBQk1nL3Y3dDN2OEE4
NGNCQUJSNC9mMitoZjhBLzRjQkFCSEMvZjJOUFA4QUM0Z0JBQTM5MmRsSEFmOEFGNGdCQUJNZy92
N3QzdjhBSTRnQkFCUjQvZjIraGY4QUw0Z0JBQkhDL2YyTlBQOEFPNGdCQUE3dzV1WlZEZjhBUjRn
QkFBMzZwcVkyQS84QVU0Z0JBQk1nL3Y3dDN2OEFYNGdCQUJWYi9mM1FvdjhBYTRnQkFCT1QvZjJ1
YS84QWQ0Z0JBQkhDL2YyTlBQOEFnNGdCQUE3dzV1WlZEZjhBajRnQkFBMzZwcVkyQS84QW00Z0JB
Qk1nL3Y3dDN2OEFwNGdCQUJWYi9mM1FvdjhBczRnQkFCT1QvZjJ1YS84QXY0Z0JBQkhDL2YyTlBQ
OEF5NGdCQUJEcThmRnBFLzhBMTRnQkFBMzkyZGxJQWY4QTQ0Z0JBQXozakl3dEJQOEE3NGdCQUJV
VS8vLzE2LzhBKzRnQkFCVXcvdjdtenY4QUI0a0JBQlZiL2YzUW92OEFFNGtCQUJPVC9mMnVhLzhB
SDRrQkFCSEMvZjJOUFA4QUs0a0JBQkRxOGZGcEUvOEFONGtCQUEzOTJkbElBZjhBUTRrQkFBejNq
SXd0QlA4QVQ0a0JBQlVVLy8vMTYvOEFXNGtCQUJVdy92N216djhBWjRrQkFCVmIvZjNRb3Y4QWM0
a0JBQk9UL2YydWEvOEFmNGtCQUJIQy9mMk5QUDhBaTRrQkFCRHE4ZkZwRS84QWw0a0JBQTM5MmRs
SUFmOEFvNGtCQUEzNnBxWTJBLzhBcjRrQkFBejJmMzhuQlA4QXU0a0JBQmsyL3Y3b3lQOEF4SWtC
QUJONS9mMjdoUDhBellrQkFBWEY0K05LTS84QTFva0JBQm9sL3Y3dzJmOEEzNGtCQUJoei9mM01p
djhBNklrQkFBMmsvUHlOV2Y4QThZa0JBQVBhMTljd0gvOEErb2tCQUJvbC92N3cyZjhBQTRvQkFC
aHovZjNNaXY4QURJb0JBQTJrL1B5TldmOEFGWW9CQUFYRjQrTktNLzhBSG9vQkFBRC9zN01BQVA4
QUo0b0JBQm9sL3Y3dzJmOEFNSW9CQUJoZi9mM1VudjhBT1lvQkFCTjUvZjI3aFA4QVFvb0JBQTJr
L1B5TldmOEFTNG9CQUFYRjQrTktNLzhBVklvQkFBRC9zN01BQVA4QVhZb0JBQm9sL3Y3dzJmOEFa
b29CQUJoZi9mM1VudjhBYjRvQkFCTjUvZjI3aFA4QWVJb0JBQTJrL1B5TldmOEFnWW9CQUFleTcr
OWxTUDhBaW9vQkFBUGExOWN3SC84QWs0b0JBQUQvbVprQUFQOEFuSW9CQUJnUy8vLzM3UDhBcFlv
QkFCazIvdjdveVA4QXJvb0JBQmhmL2YzVW52OEF0NG9CQUJONS9mMjdoUDhBd0lvQkFBMmsvUHlO
V2Y4QXlZb0JBQWV5Nys5bFNQOEEwb29CQUFQYTE5Y3dILzhBMjRvQkFBRC9tWmtBQVA4QTVJb0JB
QmdTLy8vMzdQOEE3WW9CQUJrMi92N295UDhBOW9vQkFCaGYvZjNVbnY4QS80b0JBQk41L2YyN2hQ
OEFDSXNCQUEyay9QeU5XZjhBRVlzQkFBZXk3KzlsU1A4QUdvc0JBQVBhMTljd0gvOEFJNHNCQUFE
L3M3TUFBUDhBTElzQkFBRC9mMzhBQVA4QU5Zc0JBSTVFNDZiTzQvOEFRWXNCQUw2Wm1tbzltdjhB
VG9zQkFKRFR0Qjk0dFA4QVdvc0JBRUZoMzdMZml2OEFab3NCQUZLNG9ET2dMUDhBY29zQkFBQmor
L3VhbWY4QWZvc0JBUDdoNCtNYUhQOEFpb3NCQUJlUC9mMi9iLzhBbG9zQkFCWC8vLzkvQVA4QW9v
c0JBTVlxMXNxeTF2OEFyb3NCQUk1RTQ2Yk80LzhBdW9zQkFMNlptbW85bXY4QXg0c0JBQ3BtLy8v
L21mOEExSXNCQUpEVHRCOTR0UDhBNElzQkFFRmgzN0xmaXY4QTdJc0JBRks0b0RPZ0xQOEErSXNC
QUFCaisvdWFtZjhBQkl3QkFQN2g0K01hSFA4QUVJd0JBQmVQL2YyL2IvOEFISXdCQUJYLy8vOS9B
UDhBS0l3QkFNWXExc3F5MXY4QU5Jd0JBSTVFNDZiTzQvOEFRSXdCQUw2Wm1tbzltdjhBVFl3QkFD
cG0vLy8vbWY4QVdvd0JBQS9Gc2JGWktQOEFaNHdCQUpEVHRCOTR0UDhBYzR3QkFFRmgzN0xmaXY4
QWY0d0JBRks0b0RPZ0xQOEFpNHdCQUFCaisvdWFtZjhBbDR3QkFQN2g0K01hSFA4QW80d0JBQmVQ
L2YyL2IvOEFyNHdCQUJYLy8vOS9BUDhBdTR3QkFNWXExc3F5MXY4QXg0d0JBSTVFNDZiTzQvOEEw
b3dCQUpEVHRCOTR0UDhBM1l3QkFFRmgzN0xmaXY4QTZJd0JBSTVFNDZiTzQvOEE4NHdCQUpEVHRC
OTR0UDhBL293QkFFRmgzN0xmaXY4QUNZMEJBRks0b0RPZ0xQOEFGSTBCQUk1RTQ2Yk80LzhBSDQw
QkFKRFR0Qjk0dFA4QUtvMEJBRUZoMzdMZml2OEFOWTBCQUZLNG9ET2dMUDhBUUkwQkFBQmorL3Vh
bWY4QVM0MEJBSTVFNDZiTzQvOEFWbzBCQUpEVHRCOTR0UDhBWVkwQkFFRmgzN0xmaXY4QWJJMEJB
Rks0b0RPZ0xQOEFkNDBCQUFCaisvdWFtZjhBZ28wQkFQN2g0K01hSFA4QWpZMEJBSTVFNDZiTzQv
OEFtSTBCQUpEVHRCOTR0UDhBbzQwQkFFRmgzN0xmaXY4QXJvMEJBRks0b0RPZ0xQOEF1WTBCQUFC
aisvdWFtZjhBeEkwQkFQN2g0K01hSFA4QXo0MEJBQmVQL2YyL2IvOEEybzBCQUk1RTQ2Yk80LzhB
NVkwQkFKRFR0Qjk0dFA4QThJMEJBRUZoMzdMZml2OEErNDBCQUZLNG9ET2dMUDhBQm80QkFBQmor
L3VhbWY4QUVZNEJBUDdoNCtNYUhQOEFISTRCQUJlUC9mMi9iLzhBSjQ0QkFCWC8vLzkvQVA4QU1v
NEJBSTVFNDZiTzQvOEFQWTRCQUpEVHRCOTR0UDhBU0k0QkFFRmgzN0xmaXY4QVU0NEJBRks0b0RP
Z0xQOEFYbzRCQUFCaisvdWFtZjhBYVk0QkFQN2g0K01hSFA4QWRJNEJBQmVQL2YyL2IvOEFmNDRC
QUJYLy8vOS9BUDhBaW80QkFNWXExc3F5MXY4QWxZNEJBQU5PKy91MHJ2OEFvWTRCQUpJMTQ3UE40
LzhBclk0QkFFMHA2OHpyeGY4QXVZNEJBQU5PKy91MHJ2OEF4WTRCQUpJMTQ3UE40LzhBMFk0QkFF
MHA2OHpyeGY4QTNZNEJBTW9iNU43TDVQOEE2WTRCQUFOTysvdTBydjhBOVk0QkFKSTE0N1BONC84
QUFZOEJBRTBwNjh6cnhmOEFEWThCQU1vYjVON0w1UDhBR1k4QkFCaFkvdjdacHY4QUpZOEJBQU5P
Ky91MHJ2OEFNWThCQUpJMTQ3UE40LzhBUFk4QkFFMHA2OHpyeGY4QVNZOEJBTW9iNU43TDVQOEFW
WThCQUJoWS92N1pwdjhBWVk4QkFDb3kvLy8velA4QWJZOEJBQU5PKy91MHJ2OEFlWThCQUpJMTQ3
UE40LzhBaFk4QkFFMHA2OHpyeGY4QWtZOEJBTW9iNU43TDVQOEFuWThCQUJoWS92N1pwdjhBcVk4
QkFDb3kvLy8velA4QXRZOEJBQndzNWVYWXZmOEF3WThCQUFOTysvdTBydjhBelk4QkFKSTE0N1BO
NC84QTJZOEJBRTBwNjh6cnhmOEE1WThCQU1vYjVON0w1UDhBOFk4QkFCaFkvdjdacHY4QS9ZOEJB
Q295Ly8vL3pQOEFDWkFCQUJ3czVlWFl2ZjhBRlpBQkFPa2ovZjNhN1A4QUlaQUJBQU5PKy91MHJ2
OEFMWkFCQUpJMTQ3UE40LzhBT1pBQkFFMHA2OHpyeGY4QVJaQUJBTW9iNU43TDVQOEFVWkFCQUJo
WS92N1pwdjhBWFpBQkFDb3kvLy8velA4QWFaQUJBQndzNWVYWXZmOEFkWkFCQU9rai9mM2E3UDhB
Z1pBQkFBQUE4dkx5OHY4QWpaQUJBR3cxNHJQaXpmOEFtWkFCQUJGUi9mM05yUDhBcFpBQkFKc2Y2
TXZWNlA4QXNaQUJBR3cxNHJQaXpmOEF2WkFCQUJGUi9mM05yUDhBeVpBQkFKc2Y2TXZWNlA4QTFa
QUJBT1FyOVBUSzVQOEE0WkFCQUd3MTRyUGl6ZjhBN1pBQkFCRlIvZjNOclA4QStaQUJBSnNmNk12
VjZQOEFCWkVCQU9RcjlQVEs1UDhBRVpFQkFEZ3Q5ZWIxeWY4QUhaRUJBR3cxNHJQaXpmOEFLWkVC
QUJGUi9mM05yUDhBTlpFQkFKc2Y2TXZWNlA4QVFaRUJBT1FyOVBUSzVQOEFUWkVCQURndDllYjF5
ZjhBV1pFQkFDTlIvLy95cnY4QVpaRUJBR3cxNHJQaXpmOEFjWkVCQUJGUi9mM05yUDhBZlpFQkFK
c2Y2TXZWNlA4QWlaRUJBT1FyOVBUSzVQOEFsWkVCQURndDllYjF5ZjhBb1pFQkFDTlIvLy95cnY4
QXJaRUJBQmtuOGZIaXpQOEF1WkVCQUd3MTRyUGl6ZjhBeFpFQkFCRlIvZjNOclA4QTBaRUJBSnNm
Nk12VjZQOEEzWkVCQU9RcjlQVEs1UDhBNlpFQkFEZ3Q5ZWIxeWY4QTlaRUJBQ05SLy8veXJ2OEFB
WklCQUJrbjhmSGl6UDhBRFpJQkFBQUF6TXpNelA4QUdaSUJBT2I5am80QlV2OEFJNUlCQUUyL1pD
ZGtHZjhBTHBJQkFPYmN4Y1ViZmY4QU9KSUJBT2gyM3Q1M3J2OEFRcElCQU9VKzhmRzIydjhBVEpJ
QkFPa2QvZjNnNy84QVZwSUJBRHNtOWViMTBQOEFZSklCQUQxbjRiamhodjhBYXBJQkFEK212SCs4
UWY4QWRKSUJBRVRGa2syU0lmOEFmcElCQU9iOWpvNEJVdjhBaUpJQkFFVEZrazJTSWY4QWs1SUJB
RTIvWkNka0dmOEFucElCQU9iY3hjVWJmZjhBcUpJQkFPaDIzdDUzcnY4QXNwSUJBT1UrOGZHMjJ2
OEF2SklCQU9rZC9mM2c3LzhBeHBJQkFBQUE5L2YzOS84QTBKSUJBRHNtOWViMTBQOEEycElCQUQx
bjRiamhodjhBNUpJQkFEK212SCs4UWY4QTdwSUJBT2RNNmVtanlmOEE5NUlCQUFBQTkvZjM5LzhB
QUpNQkFEK0IxNkhYYXY4QUNaTUJBT1RjME5BY2kvOEFFcE1CQU9VKzhmRzIydjhBRzVNQkFEMW40
YmpoaHY4QUpKTUJBRWpHckUyc0p2OEFMWk1CQU9UYzBOQWNpLzhBTnBNQkFPVSs4ZkcyMnY4QVA1
TUJBQUFBOS9mMzkvOEFTSk1CQUQxbjRiamhodjhBVVpNQkFFakdyRTJzSnY4QVdwTUJBT2JjeGNV
YmZmOEFZNU1CQU9kTTZlbWp5ZjhBYkpNQkFPa2QvZjNnNy84QWRaTUJBRHNtOWViMTBQOEFmcE1C
QUQrQjE2SFhhdjhBaDVNQkFFVEZrazJTSWY4QWtKTUJBT2JjeGNVYmZmOEFtWk1CQU9kTTZlbWp5
ZjhBb3BNQkFPa2QvZjNnNy84QXE1TUJBQUFBOS9mMzkvOEF0Sk1CQURzbTllYjEwUDhBdlpNQkFE
K0IxNkhYYXY4QXhwTUJBRVRGa2syU0lmOEF6NU1CQU9iY3hjVWJmZjhBMkpNQkFPaDIzdDUzcnY4
QTRaTUJBT1UrOGZHMjJ2OEE2cE1CQU9rZC9mM2c3LzhBODVNQkFEc205ZWIxMFA4QS9KTUJBRDFu
NGJqaGh2OEFCWlFCQUQrbXZIKzhRZjhBRHBRQkFFVEZrazJTSWY4QUY1UUJBT2JjeGNVYmZmOEFJ
SlFCQU9oMjN0NTNydjhBS1pRQkFPVSs4ZkcyMnY4QU1wUUJBT2tkL2YzZzcvOEFPNVFCQUFBQTkv
ZjM5LzhBUkpRQkFEc205ZWIxMFA4QVRaUUJBRDFuNGJqaGh2OEFWcFFCQUQrbXZIKzhRZjhBWDVR
QkFFVEZrazJTSWY4QWFKUUJBTTcvUzBBQVMvOEFjcFFCQUdYL1JBQkVHLzhBZlpRQkFNNnRnM1lx
Zy84QWg1UUJBTWRYcTVsd3EvOEFrWlFCQU1jeno4S2x6LzhBbTVRQkFOSVY2T2ZVNlA4QXBaUUJB
RXdlOE5udzAvOEFyNVFCQUZCRTI2YmJvUDhBdVpRQkFGaDdybHF1WWY4QXc1UUJBR0hGZUJ0NE4v
OEF6WlFCQU03L1MwQUFTLzhBMTVRQkFHSEZlQnQ0Ti84QTRwUUJBR1gvUkFCRUcvOEE3WlFCQU02
dGczWXFnLzhBOTVRQkFNZFhxNWx3cS84QUFaVUJBTWN6ejhLbHovOEFDNVVCQU5JVjZPZlU2UDhB
RlpVQkFBQUE5L2YzOS84QUg1VUJBRXdlOE5udzAvOEFLWlVCQUZCRTI2YmJvUDhBTTVVQkFGaDdy
bHF1WWY4QVBaVUJBTVJHdzYrTncvOEFScFVCQUFBQTkvZjM5LzhBVDVVQkFGSmF2MysvZS84QVdK
VUJBTW1vbEhzeWxQOEFZWlVCQU1jeno4S2x6LzhBYXBVQkFGQkUyNmJib1A4QWM1VUJBR2IvaUFD
SU4vOEFmSlVCQU1tb2xIc3lsUDhBaFpVQkFNY3p6OEtsei84QWpwVUJBQUFBOS9mMzkvOEFsNVVC
QUZCRTI2YmJvUDhBb0pVQkFHYi9pQUNJTi84QXFaVUJBTTZ0ZzNZcWcvOEFzcFVCQU1SR3c2K053
LzhBdTVVQkFOSVY2T2ZVNlA4QXhKVUJBRXdlOE5udzAvOEF6WlVCQUZKYXYzKy9lLzhBMXBVQkFH
SEZlQnQ0Ti84QTM1VUJBTTZ0ZzNZcWcvOEE2SlVCQU1SR3c2K053LzhBOFpVQkFOSVY2T2ZVNlA4
QStwVUJBQUFBOS9mMzkvOEFBNVlCQUV3ZThObncwLzhBREpZQkFGSmF2MysvZS84QUZaWUJBR0hG
ZUJ0NE4vOEFIcFlCQU02dGczWXFnLzhBSjVZQkFNZFhxNWx3cS84QU1KWUJBTWN6ejhLbHovOEFP
WllCQU5JVjZPZlU2UDhBUXBZQkFFd2U4Tm53MC84QVM1WUJBRkJFMjZiYm9QOEFWSllCQUZoN3Js
cXVZZjhBWFpZQkFHSEZlQnQ0Ti84QVpwWUJBTTZ0ZzNZcWcvOEFiNVlCQU1kWHE1bHdxLzhBZUpZ
QkFNY3p6OEtsei84QWdaWUJBTklWNk9mVTZQOEFpcFlCQUFBQTkvZjM5LzhBazVZQkFFd2U4Tm53
MC84QW5KWUJBRkJFMjZiYm9QOEFwWllCQUZoN3JscXVZZjhBcnBZQkFHSEZlQnQ0Ti84QXQ1WUJB
TDBMOHV6bjh2OEF3SllCQUpjOTI2YTkyLzhBeVpZQkFJM0Z2aXVNdnY4QTBwWUJBTGtJOXZIdTl2
OEEyNVlCQUpzbzRiM0o0ZjhBNUpZQkFKRnd6M1Nwei84QTdaWUJBSS8zc0FWd3NQOEE5cFlCQUxr
STl2SHU5djhBLzVZQkFKc280YjNKNGY4QUNKY0JBSkZ3ejNTcHovOEFFWmNCQUkzRnZpdU12djhB
R3BjQkFJLzNqUVJhamY4QUk1Y0JBTGtJOXZIdTl2OEFMSmNCQUtnWTV0RFI1djhBTlpjQkFKYzky
NmE5Mi84QVBwY0JBSkZ3ejNTcHovOEFSNWNCQUkzRnZpdU12djhBVUpjQkFJLzNqUVJhamY4QVda
Y0JBTGtJOXZIdTl2OEFZcGNCQUtnWTV0RFI1djhBYTVjQkFKYzkyNmE5Mi84QWRKY0JBSkZ3ejNT
cHovOEFmWmNCQUk2M3dEYVF3UDhBaHBjQkFJLzNzQVZ3c1A4QWo1Y0JBSS80ZXdOT2UvOEFtSmNC
QU9rSS8vLzMrLzhBb1pjQkFMMEw4dXpuOHY4QXFwY0JBS2dZNXREUjV2OEFzNWNCQUpjOTI2YTky
LzhBdkpjQkFKRnd6M1Nwei84QXhaY0JBSTYzd0RhUXdQOEF6cGNCQUkvM3NBVndzUDhBMTVjQkFJ
LzRld05PZS84QTRKY0JBT2tJLy8vMysvOEE2WmNCQUwwTDh1em44djhBOHBjQkFLZ1k1dERSNXY4
QSs1Y0JBSmM5MjZhOTIvOEFCSmdCQUpGd3ozU3B6LzhBRFpnQkFJNjN3RGFRd1A4QUZwZ0JBSS8z
c0FWd3NQOEFINWdCQUkvM2pRUmFqZjhBS0pnQkFJLzVXQUk0V1A4QU1aZ0JBTWdPOE96aThQOEFQ
SmdCQUpjOTI2YTkyLzhBUjVnQkFJTFFtUnlRbWY4QVVwZ0JBTThJOS9idjkvOEFYWmdCQUpzbzRi
M0o0ZjhBYUpnQkFJK0F6MmVwei84QWM1Z0JBSUw3aWdLQml2OEFmcGdCQU04STkvYnY5LzhBaVpn
QkFKc280YjNKNGY4QWxKZ0JBSStBejJlcHovOEFuNWdCQUlMUW1SeVFtZjhBcXBnQkFIZjhiQUZz
V2Y4QXRaZ0JBTThJOS9idjkvOEF3SmdCQUtnWTV0RFI1djhBeTVnQkFKYzkyNmE5Mi84QTFwZ0JB
SStBejJlcHovOEE0WmdCQUlMUW1SeVFtZjhBN0pnQkFIZjhiQUZzV2Y4QTk1Z0JBTThJOS9idjkv
OEFBcGtCQUtnWTV0RFI1djhBRFprQkFKYzkyNmE5Mi84QUdKa0JBSStBejJlcHovOEFJNWtCQUk2
M3dEYVF3UDhBTHBrQkFJTDdpZ0tCaXY4QU9aa0JBSGI4WkFGa1VQOEFSSmtCQU9rSS8vLzMrLzhB
VDVrQkFNZ084T3ppOFA4QVdwa0JBS2dZNXREUjV2OEFaWmtCQUpjOTI2YTkyLzhBY0prQkFJK0F6
MmVwei84QWU1a0JBSTYzd0RhUXdQOEFocGtCQUlMN2lnS0JpdjhBa1prQkFIYjhaQUZrVVA4QW5K
a0JBT2tJLy8vMysvOEFwNWtCQU1nTzhPemk4UDhBc3BrQkFLZ1k1dERSNXY4QXZaa0JBSmM5MjZh
OTIvOEF5SmtCQUkrQXoyZXB6LzhBMDVrQkFJNjN3RGFRd1A4QTNwa0JBSUw3aWdLQml2OEE2WmtC
QUhmOGJBRnNXZjhBOUprQkFIWDdSZ0ZHTnY4QS81a0JBQkx1ZjM4N0NQOEFDWm9CQU1QL1N5MEFT
LzhBRkpvQkFCVDJzN05ZQnY4QUhwb0JBQmJvNE9DQ0ZQOEFLSm9CQUJlYi9mMjRZLzhBTXBvQkFC
aEkvdjdndHY4QVBKb0JBS1VVNjlqYTYvOEFScG9CQUxFdjByS3IwdjhBVUpvQkFMTlVySUJ6clA4
QVdwb0JBTDIxaUZRbmlQOEFaSm9CQUJMdWYzODdDUDhBYnBvQkFMMjFpRlFuaVA4QWVab0JBTVAv
U3kwQVMvOEFoSm9CQUJUMnM3TllCdjhBanBvQkFCYm80T0NDRlA4QW1Kb0JBQmViL2YyNFkvOEFv
cG9CQUJoSS92N2d0djhBckpvQkFBQUE5L2YzOS84QXRwb0JBS1VVNjlqYTYvOEF3Sm9CQUxFdjBy
S3IwdjhBeXBvQkFMTlVySUJ6clA4QTFKb0JBQmU3OGZHalFQOEEzWm9CQUFBQTkvZjM5LzhBNXBv
QkFMSkZ3NW1Pdy84QTc1b0JBQkg5NXVaaEFmOEErSm9CQUJlYi9mMjRZLzhBQVpzQkFMRXYwckty
MHY4QUNwc0JBTG1ibVY0OG1mOEFFNXNCQUJIOTV1WmhBZjhBSEpzQkFCZWIvZjI0WS84QUpac0JB
QUFBOS9mMzkvOEFMcHNCQUxFdjByS3IwdjhBTjVzQkFMbWJtVjQ4bWY4QVFKc0JBQlQyczdOWUJ2
OEFTWnNCQUJlNzhmR2pRUDhBVXBzQkFCaEkvdjdndHY4QVc1c0JBS1VVNjlqYTYvOEFaSnNCQUxK
Rnc1bU93LzhBYlpzQkFMMjFpRlFuaVA4QWRwc0JBQlQyczdOWUJ2OEFmNXNCQUJlNzhmR2pRUDhB
aUpzQkFCaEkvdjdndHY4QWtac0JBQUFBOS9mMzkvOEFtcHNCQUtVVTY5amE2LzhBbzVzQkFMSkZ3
NW1Pdy84QXJKc0JBTDIxaUZRbmlQOEF0WnNCQUJUMnM3TllCdjhBdnBzQkFCYm80T0NDRlA4QXg1
c0JBQmViL2YyNFkvOEEwSnNCQUJoSS92N2d0djhBMlpzQkFLVVU2OWphNi84QTRwc0JBTEV2MHJL
cjB2OEE2NXNCQUxOVXJJQnpyUDhBOUpzQkFMMjFpRlFuaVA4QS9ac0JBQlQyczdOWUJ2OEFCcHdC
QUJibzRPQ0NGUDhBRDV3QkFCZWIvZjI0WS84QUdKd0JBQmhJL3Y3Z3R2OEFJWndCQUFBQTkvZjM5
LzhBS3B3QkFLVVU2OWphNi84QU01d0JBTEV2MHJLcjB2OEFQSndCQUxOVXJJQnpyUDhBUlp3QkFM
MjFpRlFuaVA4QVRwd0JBTHdPNytmaDcvOEFWNXdCQU5aRHljbVV4LzhBWUp3QkFPcmUzZDBjZC84
QWFad0JBTGtJOXZIdTl2OEFjcHdCQU5NcDJOZTEyUDhBZTV3QkFPU0wzOTlsc1A4QWhKd0JBTy9v
enM0U1Z2OEFqWndCQUxrSTl2SHU5djhBbHB3QkFOTXAyTmUxMlA4QW41d0JBT1NMMzk5bHNQOEFx
SndCQU9yZTNkMGNkLzhBc1p3QkFPei9tSmdBUS84QXVwd0JBTGtJOXZIdTl2OEF3NXdCQU13bTJ0
UzUydjhBekp3QkFOWkR5Y21VeC84QTFad0JBT1NMMzk5bHNQOEEzcHdCQU9yZTNkMGNkLzhBNTV3
QkFPei9tSmdBUS84QThKd0JBTGtJOXZIdTl2OEErWndCQU13bTJ0UzUydjhBQXAwQkFOWkR5Y21V
eC84QUM1MEJBT1NMMzk5bHNQOEFGSjBCQU9uUjUrY3BpdjhBSFowQkFPL296czRTVnY4QUpwMEJB
T3ova1pFQVAvOEFMNTBCQU1NRitmZjArZjhBT0owQkFMd083K2ZoNy84QVFaMEJBTXdtMnRTNTJ2
OEFTcDBCQU5aRHljbVV4LzhBVTUwQkFPU0wzOTlsc1A4QVhKMEJBT25SNStjcGl2OEFaWjBCQU8v
b3pzNFNWdjhBYnAwQkFPei9rWkVBUC84QWQ1MEJBTU1GK2ZmMCtmOEFnSjBCQUx3TzcrZmg3LzhB
aVowQkFNd20ydFM1MnY4QWtwMEJBTlpEeWNtVXgvOEFtNTBCQU9TTDM5OWxzUDhBcEowQkFPblI1
K2NwaXY4QXJaMEJBTy9venM0U1Z2OEF0cDBCQU96L21KZ0FRLzhBdjUwQkFQTC9aMmNBSC84QXlK
MEJBTFFJOWUvdDlmOEExSjBCQUtnbDNMeTkzUDhBNEowQkFMQmtzWFZyc2Y4QTdKMEJBTFlIOS9M
dzkvOEErSjBCQUswYzRzdko0djhBQko0QkFLMDZ5SjZheVA4QUVKNEJBTGFBbzJwUm8vOEFISjRC
QUxZSDkvTHc5LzhBS0o0QkFLMGM0c3ZKNHY4QU5KNEJBSzA2eUo2YXlQOEFRSjRCQUxCa3NYVnJz
ZjhBVEo0QkFMeTVqMVFuai84QVdKNEJBTFlIOS9MdzkvOEFaSjRCQUtvUzY5cmE2LzhBY0o0QkFL
Z2wzTHk5M1A4QWZKNEJBSzA2eUo2YXlQOEFpSjRCQUxCa3NYVnJzZjhBbEo0QkFMeTVqMVFuai84
QW9KNEJBTFlIOS9MdzkvOEFySjRCQUtvUzY5cmE2LzhBdUo0QkFLZ2wzTHk5M1A4QXhKNEJBSzA2
eUo2YXlQOEEwSjRCQUt4VHVvQjl1djhBM0o0QkFMYUFvMnBSby84QTZKNEJBTDdZaGtvVWh2OEE5
SjRCQUw4Qy9mejcvZjhBQUo4QkFMUUk5ZS90OWY4QURKOEJBS29TNjlyYTYvOEFHSjhCQUtnbDNM
eTkzUDhBSko4QkFLMDZ5SjZheVA4QU1KOEJBS3hUdW9COXV2OEFQSjhCQUxhQW8ycFJvLzhBU0o4
QkFMN1loa29VaHY4QVZKOEJBTDhDL2Z6Ny9mOEFZSjhCQUxRSTllL3Q5ZjhBYko4QkFLb1M2OXJh
Ni84QWVKOEJBS2dsM0x5OTNQOEFoSjhCQUswNnlKNmF5UDhBa0o4QkFLeFR1b0I5dXY4QW5KOEJB
TGFBbzJwUm8vOEFxSjhCQUx5NWoxUW5qLzhBdEo4QkFMLy9mVDhBZmY4QXdKOEJBUEwvWjJjQUgv
OEF5cDhCQUpieFlRVXdZZjhBMVo4QkFQbmNzcklZSy84QTM1OEJBQVdqMXRaZ1RmOEE2WjhCQUEx
MzlQU2xndjhBODU4QkFBODIvZjNieC84QS9aOEJBSTRnOE5IbDhQOEFCNkFCQUkxWDNwTEYzdjhB
RWFBQkFJK253ME9Udy84QUc2QUJBSlRPckNGbXJQOEFKYUFCQVBML1oyY0FILzhBTDZBQkFKVE9y
Q0ZtclA4QU9xQUJBSmJ4WVFVd1lmOEFSYUFCQVBuY3NySVlLLzhBVDZBQkFBV2oxdFpnVGY4QVdh
QUJBQTEzOVBTbGd2OEFZNkFCQUE4Mi9mM2J4LzhBYmFBQkFBQUE5L2YzOS84QWQ2QUJBSTRnOE5I
bDhQOEFnYUFCQUkxWDNwTEYzdjhBaTZBQkFJK253ME9Udy84QWxhQUJBQXlXNysrS1l2OEFucUFC
QUFBQTkvZjM5LzhBcDZBQkFJK0F6MmVwei84QXNLQUJBUGoveXNvQUlQOEF1YUFCQUExMzlQU2xn
djhBd3FBQkFJMVgzcExGM3Y4QXk2QUJBSS8zc0FWeHNQOEExS0FCQVBqL3lzb0FJUDhBM2FBQkFB
MTM5UFNsZ3Y4QTVxQUJBQUFBOS9mMzkvOEE3NkFCQUkxWDNwTEYzdjhBK0tBQkFJLzNzQVZ4c1A4
QUFhRUJBUG5jc3JJWUsvOEFDcUVCQUF5VzcrK0tZdjhBRTZFQkFBODIvZjNieC84QUhLRUJBSTRn
OE5IbDhQOEFKYUVCQUkrQXoyZXB6LzhBTHFFQkFKVE9yQ0ZtclA4QU42RUJBUG5jc3JJWUsvOEFR
S0VCQUF5VzcrK0tZdjhBU2FFQkFBODIvZjNieC84QVVxRUJBQUFBOS9mMzkvOEFXNkVCQUk0ZzhO
SGw4UDhBWktFQkFJK0F6MmVwei84QWJhRUJBSlRPckNGbXJQOEFkcUVCQVBuY3NySVlLLzhBZjZF
QkFBV2oxdFpnVGY4QWlLRUJBQTEzOVBTbGd2OEFrYUVCQUE4Mi9mM2J4LzhBbXFFQkFJNGc4Tkhs
OFA4QW82RUJBSTFYM3BMRjN2OEFyS0VCQUkrbncwT1R3LzhBdGFFQkFKVE9yQ0ZtclA4QXZxRUJB
UG5jc3JJWUsvOEF4NkVCQUFXajF0WmdUZjhBMEtFQkFBMTM5UFNsZ3Y4QTJhRUJBQTgyL2YzYngv
OEE0cUVCQUFBQTkvZjM5LzhBNjZFQkFJNGc4TkhsOFA4QTlLRUJBSTFYM3BMRjN2OEEvYUVCQUkr
bncwT1R3LzhBQnFJQkFKVE9yQ0ZtclA4QUQ2SUJBUEwvWjJjQUgvOEFHYUlCQUFBQUdob2FHdjhB
SktJQkFQbmNzcklZSy84QUxxSUJBQVdqMXRaZ1RmOEFPS0lCQUExMzlQU2xndjhBUXFJQkFBODIv
ZjNieC84QVRLSUJBQUFBNE9EZzRQOEFWcUlCQUFBQXVycTZ1djhBWUtJQkFBQUFoNGVIaC84QWFx
SUJBQUFBVFUxTlRmOEFkS0lCQVBML1oyY0FILzhBZnFJQkFBQUFUVTFOVGY4QWlhSUJBQUFBR2hv
YUd2OEFsS0lCQVBuY3NySVlLLzhBbnFJQkFBV2oxdFpnVGY4QXFLSUJBQTEzOVBTbGd2OEFzcUlC
QUE4Mi9mM2J4LzhBdktJQkFBQUEvLy8vLy84QXhxSUJBQUFBNE9EZzRQOEEwS0lCQUFBQXVycTZ1
djhBMnFJQkFBQUFoNGVIaC84QTVLSUJBQXlXNysrS1l2OEE3YUlCQUFBQS8vLy8vLzhBOXFJQkFB
QUFtWm1abWY4QS82SUJBUGoveXNvQUlQOEFDS01CQUExMzlQU2xndjhBRWFNQkFBQUF1cnE2dXY4
QUdxTUJBQUFBUUVCQVFQOEFJNk1CQVBqL3lzb0FJUDhBTEtNQkFBMTM5UFNsZ3Y4QU5hTUJBQUFB
Ly8vLy8vOEFQcU1CQUFBQXVycTZ1djhBUjZNQkFBQUFRRUJBUVA4QVVLTUJBUG5jc3JJWUsvOEFX
YU1CQUF5VzcrK0tZdjhBWXFNQkFBODIvZjNieC84QWE2TUJBQUFBNE9EZzRQOEFkS01CQUFBQW1a
bVptZjhBZmFNQkFBQUFUVTFOVGY4QWhxTUJBUG5jc3JJWUsvOEFqNk1CQUF5VzcrK0tZdjhBbUtN
QkFBODIvZjNieC84QW9hTUJBQUFBLy8vLy8vOEFxcU1CQUFBQTRPRGc0UDhBczZNQkFBQUFtWm1a
bWY4QXZLTUJBQUFBVFUxTlRmOEF4YU1CQVBuY3NySVlLLzhBenFNQkFBV2oxdFpnVGY4QTE2TUJB
QTEzOVBTbGd2OEE0S01CQUE4Mi9mM2J4LzhBNmFNQkFBQUE0T0RnNFA4QThxTUJBQUFBdXJxNnV2
OEErNk1CQUFBQWg0ZUhoLzhBQktRQkFBQUFUVTFOVGY4QURhUUJBUG5jc3JJWUsvOEFGcVFCQUFX
ajF0WmdUZjhBSDZRQkFBMTM5UFNsZ3Y4QUtLUUJBQTgyL2YzYngvOEFNYVFCQUFBQS8vLy8vLzhB
T3FRQkFBQUE0T0RnNFA4QVE2UUJBQUFBdXJxNnV2OEFUS1FCQUFBQWg0ZUhoLzhBVmFRQkFBQUFU
VTFOVGY4QVhxUUJBQU1nL2YzZzNmOEFaNlFCQVBSYyt2cWZ0ZjhBY0tRQkFPUGN4Y1ViaXY4QWVh
UUJBQTBjL3Y3cjR2OEFncVFCQVB4SSsvdTB1ZjhBaTZRQkFPNlQ5L2Rvb2Y4QWxLUUJBT0Q5cnE0
QmZ2OEFuYVFCQUEwYy92N3I0djhBcHFRQkFQeEkrL3UwdWY4QXI2UUJBTzZUOS9kb29mOEF1S1FC
QU9QY3hjVWJpdjhBd2FRQkFOWDhlbm9CZC84QXlxUUJBQTBjL3Y3cjR2OEEwNlFCQUFNOC9QekZ3
UDhBM0tRQkFQUmMrdnFmdGY4QTVhUUJBTzZUOS9kb29mOEE3cVFCQU9QY3hjVWJpdjhBOTZRQkFO
WDhlbm9CZC84QUFLVUJBQTBjL3Y3cjR2OEFDYVVCQUFNOC9QekZ3UDhBRXFVQkFQUmMrdnFmdGY4
QUc2VUJBTzZUOS9kb29mOEFKS1VCQU9iRDNkMDBsLzhBTGFVQkFPRDlycTRCZnY4QU5xVUJBTlg4
ZW5vQmQvOEFQNlVCQUE0TS8vLzM4LzhBU0tVQkFBTWcvZjNnM2Y4QVVhVUJBQU04L1B6RndQOEFX
cVVCQVBSYyt2cWZ0ZjhBWTZVQkFPNlQ5L2Rvb2Y4QWJLVUJBT2JEM2QwMGwvOEFkYVVCQU9EOXJx
NEJmdjhBZnFVQkFOWDhlbm9CZC84QWg2VUJBQTRNLy8vMzgvOEFrS1VCQUFNZy9mM2czZjhBbWFV
QkFBTTgvUHpGd1A4QW9xVUJBUFJjK3ZxZnRmOEFxNlVCQU82VDkvZG9vZjhBdEtVQkFPYkQzZDAw
bC84QXZhVUJBT0Q5cnE0QmZ2OEF4cVVCQU5YOGVub0JkLzhBejZVQkFNZi9ha2tBYXY4QTJLVUJB
UFgvcGFVQUp2OEE1S1VCQUtlcmxURTJsZjhBOGFVQkFBTFExOWN3Si84QS9hVUJBQXE0OVBSdFEv
OEFDYVlCQUJTZC9mMnVZZjhBRmFZQkFCNXUvdjdna1A4QUlhWUJBSWdZK09EeitQOEFMYVlCQUlw
RDZhdlo2ZjhBT2FZQkFJOXgwWFN0MGY4QVJhWUJBSmVkdEVWMXRQOEFVYVlCQVBYL3BhVUFKdjhB
WGFZQkFKZWR0RVYxdFA4QWFxWUJBS2VybFRFMmxmOEFkNllCQUFMUTE5Y3dKLzhBZzZZQkFBcTQ5
UFJ0US84QWo2WUJBQlNkL2YydVlmOEFtNllCQUI1dS92N2drUDhBcDZZQkFDcEEvLy8vdi84QXM2
WUJBSWdZK09EeitQOEF2NllCQUlwRDZhdlo2ZjhBeTZZQkFJOXgwWFN0MGY4QTE2WUJBQTJrL1B5
TldmOEE0cVlCQUNwQS8vLy92LzhBN2FZQkFJOVcyNUcvMi84QStLWUJBUDdoMTljWkhQOEFBNmNC
QUJTZC9mMnVZZjhBRHFjQkFJcEQ2YXZaNmY4QUdhY0JBSkhCdGl4N3R2OEFKS2NCQVA3aDE5Y1pI
UDhBTDZjQkFCU2QvZjJ1WWY4QU9xY0JBQ3BBLy8vL3YvOEFSYWNCQUlwRDZhdlo2ZjhBVUtjQkFK
SEJ0aXg3dHY4QVc2Y0JBQUxRMTljd0ovOEFacWNCQUEyay9QeU5XZjhBY2FjQkFCNXUvdjdna1A4
QWZLY0JBSWdZK09EeitQOEFoNmNCQUk5VzI1Ry8yLzhBa3FjQkFKZWR0RVYxdFA4QW5hY0JBQUxR
MTljd0ovOEFxS2NCQUEyay9QeU5XZjhBczZjQkFCNXUvdjdna1A4QXZxY0JBQ3BBLy8vL3YvOEF5
YWNCQUlnWStPRHorUDhBMUtjQkFJOVcyNUcvMi84QTM2Y0JBSmVkdEVWMXRQOEE2cWNCQUFMUTE5
Y3dKLzhBOWFjQkFBcTQ5UFJ0US84QUFLZ0JBQlNkL2YydVlmOEFDNmdCQUI1dS92N2drUDhBRnFn
QkFJZ1krT0R6K1A4QUlhZ0JBSXBENmF2WjZmOEFMS2dCQUk5eDBYU3QwZjhBTjZnQkFKZWR0RVYx
dFA4QVFxZ0JBQUxRMTljd0ovOEFUYWdCQUFxNDlQUnRRLzhBV0tnQkFCU2QvZjJ1WWY4QVk2Z0JB
QjV1L3Y3Z2tQOEFicWdCQUNwQS8vLy92LzhBZWFnQkFJZ1krT0R6K1A4QWhLZ0JBSXBENmF2WjZm
OEFqNmdCQUk5eDBYU3QwZjhBbXFnQkFKZWR0RVYxdFA4QXBhZ0JBUFgvcGFVQUp2OEFzYWdCQUd2
L2FBQm9OLzhBdnFnQkFBTFExOWN3Si84QXlxZ0JBQXE0OVBSdFEvOEExcWdCQUJTZC9mMnVZZjhB
NHFnQkFCOXovdjdnaS84QTdxZ0JBRE5xNzludmkvOEErcWdCQUQ2QzJhYlphdjhBQnFrQkFGTjV2
V2E5WS84QUVxa0JBR2ZUbUJxWVVQOEFIcWtCQVBYL3BhVUFKdjhBS3FrQkFHZlRtQnFZVVA4QU42
a0JBR3YvYUFCb04vOEFSS2tCQUFMUTE5Y3dKLzhBVUtrQkFBcTQ5UFJ0US84QVhLa0JBQlNkL2Yy
dVlmOEFhS2tCQUI5ei92N2dpLzhBZEtrQkFDcEEvLy8vdi84QWdLa0JBRE5xNzludmkvOEFqS2tC
QUQ2QzJhYlphdjhBbUtrQkFGTjV2V2E5WS84QXBLa0JBQTJrL1B5TldmOEFyNmtCQUNwQS8vLy92
LzhBdXFrQkFFS0l6NUhQWVA4QXhha0JBUDdoMTljWkhQOEEwS2tCQUJTZC9mMnVZZjhBMjZrQkFE
NkMyYWJaYXY4QTVxa0JBR0xTbGhxV1FmOEE4YWtCQVA3aDE5Y1pIUDhBL0trQkFCU2QvZjJ1WWY4
QUI2b0JBQ3BBLy8vL3YvOEFFcW9CQUQ2QzJhYlphdjhBSGFvQkFHTFNsaHFXUWY4QUtLb0JBQUxR
MTljd0ovOEFNNm9CQUEyay9QeU5XZjhBUHFvQkFCOXovdjdnaS84QVNhb0JBRE5xNzludmkvOEFW
S29CQUVLSXo1SFBZUDhBWDZvQkFHZlRtQnFZVVA4QWFxb0JBQUxRMTljd0ovOEFkYW9CQUEyay9Q
eU5XZjhBZ0tvQkFCOXovdjdnaS84QWk2b0JBQ3BBLy8vL3YvOEFscW9CQUROcTc5bnZpLzhBb2Fv
QkFFS0l6NUhQWVA4QXJLb0JBR2ZUbUJxWVVQOEF0Nm9CQUFMUTE5Y3dKLzhBd3FvQkFBcTQ5UFJ0
US84QXphb0JBQlNkL2YydVlmOEEyS29CQUI5ei92N2dpLzhBNDZvQkFETnE3OW52aS84QTdxb0JB
RDZDMmFiWmF2OEErYW9CQUZONXZXYTlZLzhBQktzQkFHZlRtQnFZVVA4QUQ2c0JBQUxRMTljd0ov
OEFHcXNCQUFxNDlQUnRRLzhBSmFzQkFCU2QvZjJ1WWY4QU1Lc0JBQjl6L3Y3Z2kvOEFPNnNCQUNw
QS8vLy92LzhBUnFzQkFETnE3OW52aS84QVVhc0JBRDZDMmFiWmF2OEFYS3NCQUZONXZXYTlZLzhB
WjZzQkFHZlRtQnFZVVA4QWNxc0JBQTBzL3Y3ZzB2OEFlNnNCQUFtTC9QeVNjdjhBaEtzQkFBSFQz
dDR0SnY4QWphc0JBQTBsL3Y3bDJmOEFscXNCQUF0cy9QeXVrZjhBbjZzQkFBZXorL3RxU3Y4QXFL
c0JBUDNneThzWUhmOEFzYXNCQUEwbC92N2wyZjhBdXFzQkFBdHMvUHl1a2Y4QXc2c0JBQWV6Ky90
cVN2OEF6S3NCQUFIVDN0NHRKdjhBMWFzQkFQM25wYVVQRmY4QTNxc0JBQTBsL3Y3bDJmOEE1NnNC
QUF4Yy9QeTdvZjhBOEtzQkFBbUwvUHlTY3Y4QSthc0JBQWV6Ky90cVN2OEFBcXdCQUFIVDN0NHRK
djhBQzZ3QkFQM25wYVVQRmY4QUZLd0JBQTBsL3Y3bDJmOEFIYXdCQUF4Yy9QeTdvZjhBSnF3QkFB
bUwvUHlTY3Y4QUw2d0JBQWV6Ky90cVN2OEFPS3dCQUFQUTcrODdMUDhBUWF3QkFQM2d5OHNZSGY4
QVNxd0JBUHYvbVprQURmOEFVNndCQUE0UC8vLzE4UDhBWEt3QkFBMHMvdjdnMHY4QVphd0JBQXhj
L1B5N29mOEFicXdCQUFtTC9QeVNjdjhBZDZ3QkFBZXorL3RxU3Y4QWdLd0JBQVBRNys4N0xQOEFp
YXdCQVAzZ3k4c1lIZjhBa3F3QkFQdi9tWmtBRGY4QW02d0JBQTRQLy8vMThQOEFwS3dCQUEwcy92
N2cwdjhBcmF3QkFBeGMvUHk3b2Y4QXRxd0JBQW1ML1B5U2N2OEF2NndCQUFleisvdHFTdjhBeUt3
QkFBUFE3Kzg3TFA4QTBhd0JBUDNneThzWUhmOEEycXdCQVAzbnBhVVBGZjhBNDZ3QkFQbi9aMmNB
RGY4QTdLd0JBUDdoNU9RYUhQOEE5YXdCQUpLeXVEZCt1UDhBL3F3QkFGT1RyMDJ2U3Y4QUI2MEJB
UDdoNU9RYUhQOEFFSzBCQUpLeXVEZCt1UDhBR2EwQkFGT1RyMDJ2U3Y4QUlxMEJBTStFbzVoT28v
OEFLNjBCQVA3aDVPUWFIUDhBTkswQkFKS3l1RGQrdVA4QVBhMEJBRk9UcjAydlN2OEFScTBCQU0r
RW81aE9vLzhBVDYwQkFCWC8vLzkvQVA4QVdLMEJBUDdoNU9RYUhQOEFZYTBCQUpLeXVEZCt1UDhB
YXEwQkFGT1RyMDJ2U3Y4QWM2MEJBTStFbzVoT28vOEFmSzBCQUJYLy8vOS9BUDhBaGEwQkFDck0v
Ly8vTS84QWpxMEJBUDdoNU9RYUhQOEFsNjBCQUpLeXVEZCt1UDhBb0swQkFGT1RyMDJ2U3Y4QXFh
MEJBTStFbzVoT28vOEFzcTBCQUJYLy8vOS9BUDhBdTYwQkFDck0vLy8vTS84QXhLMEJBQS9CcHFa
V0tQOEF6YTBCQVA3aDVPUWFIUDhBMXEwQkFKS3l1RGQrdVA4QTM2MEJBRk9UcjAydlN2OEE2SzBC
QU0rRW81aE9vLzhBOGEwQkFCWC8vLzkvQVA4QStxMEJBQ3JNLy8vL00vOEFBNjRCQUEvQnBxWldL
UDhBREs0QkFPaDU5L2VCdi84QUZhNEJBUDdoNU9RYUhQOEFIcTRCQUpLeXVEZCt1UDhBSjY0QkFG
T1RyMDJ2U3Y4QU1LNEJBTStFbzVoT28vOEFPYTRCQUJYLy8vOS9BUDhBUXE0QkFDck0vLy8vTS84
QVM2NEJBQS9CcHFaV0tQOEFWSzRCQU9oNTkvZUJ2LzhBWGE0QkFBQUFtWm1abWY4QVpxNEJBSEo0
d21iQ3BmOEFiNjRCQUF1Yi9QeU5ZdjhBZUs0QkFKeE55NDJneS84QWdhNEJBSEo0d21iQ3BmOEFp
cTRCQUF1Yi9QeU5ZdjhBazY0QkFKeE55NDJneS84QW5LNEJBT1JtNStlS3cvOEFwYTRCQUhKNHdt
YkNwZjhBcnE0QkFBdWIvUHlOWXY4QXQ2NEJBSnhOeTQyZ3kvOEF3SzRCQU9SbTUrZUt3LzhBeWE0
QkFEcWIyS2JZVlA4QTBxNEJBSEo0d21iQ3BmOEEyNjRCQUF1Yi9QeU5ZdjhBNUs0QkFKeE55NDJn
eS84QTdhNEJBT1JtNStlS3cvOEE5cTRCQURxYjJLYllWUDhBLzY0QkFDTFEvLy9aTC84QUNLOEJB
SEo0d21iQ3BmOEFFYThCQUF1Yi9QeU5ZdjhBR3E4QkFKeE55NDJneS84QUk2OEJBT1JtNStlS3cv
OEFMSzhCQURxYjJLYllWUDhBTmE4QkFDTFEvLy9aTC84QVBxOEJBQmxhNWVYRWxQOEFSNjhCQUhK
NHdtYkNwZjhBVUs4QkFBdWIvUHlOWXY4QVdhOEJBSnhOeTQyZ3kvOEFZcThCQU9SbTUrZUt3LzhB
YTY4QkFEcWIyS2JZVlA4QWRLOEJBQ0xRLy8vWkwvOEFmYThCQUJsYTVlWEVsUDhBaHE4QkFBQUFz
N096cy84QWo2OEJBSGhVMDQzVHgvOEFtYThCQU5OU3ZieUF2ZjhBcEs4QkFDcE0vLy8vcy84QXJx
OEJBSzhsMnI2NjJ2OEF1SzhCQUFTTCsvdUFjdjhBd3E4QkFKQmswNEN4MC84QXpLOEJBQmFjL2Yy
MFl2OEExcThCQURxRzNyUGVhZjhBNEs4QkFPa3YvUHpONWY4QTZxOEJBQUFBMmRuWjJmOEE5SzhC
QUhoVTA0M1R4LzhBL3E4QkFOTlN2YnlBdmY4QUNiQUJBRTBwNjh6cnhmOEFGTEFCQUNwTS8vLy9z
LzhBSHJBQkFLOGwycjY2MnY4QUtMQUJBQVNMKy91QWN2OEFNckFCQUpCazA0Q3gwLzhBUExBQkFC
YWMvZjIwWXY4QVJyQUJBRHFHM3JQZWFmOEFVTEFCQU9rdi9Qek41ZjhBV3JBQkFBQUEyZG5aMmY4
QVpMQUJBSGhVMDQzVHgvOEFickFCQU5OU3ZieUF2ZjhBZWJBQkFFMHA2OHpyeGY4QWhMQUJBQ1dR
Ly8vdGIvOEFqN0FCQUNwTS8vLy9zLzhBbWJBQkFLOGwycjY2MnY4QW83QUJBQVNMKy91QWN2OEFy
YkFCQUpCazA0Q3gwLzhBdDdBQkFCYWMvZjIwWXY4QXdiQUJBRHFHM3JQZWFmOEF5N0FCQU9rdi9Q
ek41ZjhBMWJBQkFBQUEyZG5aMmY4QTM3QUJBSGhVMDQzVHgvOEE2TEFCQUNwTS8vLy9zLzhBOGJB
QkFLOGwycjY2MnY4QStyQUJBSGhVMDQzVHgvOEFBN0VCQUNwTS8vLy9zLzhBRExFQkFLOGwycjY2
MnY4QUZiRUJBQVNMKy91QWN2OEFIckVCQUhoVTA0M1R4LzhBSjdFQkFDcE0vLy8vcy84QU1MRUJB
SzhsMnI2NjJ2OEFPYkVCQUFTTCsvdUFjdjhBUXJFQkFKQmswNEN4MC84QVM3RUJBSGhVMDQzVHgv
OEFWTEVCQUNwTS8vLy9zLzhBWGJFQkFLOGwycjY2MnY4QVpyRUJBQVNMKy91QWN2OEFiN0VCQUpC
azA0Q3gwLzhBZUxFQkFCYWMvZjIwWXY4QWdiRUJBSGhVMDQzVHgvOEFpckVCQUNwTS8vLy9zLzhB
azdFQkFLOGwycjY2MnY4QW5MRUJBQVNMKy91QWN2OEFwYkVCQUpCazA0Q3gwLzhBcnJFQkFCYWMv
ZjIwWXY4QXQ3RUJBRHFHM3JQZWFmOEF3TEVCQUhoVTA0M1R4LzhBeWJFQkFDcE0vLy8vcy84QTBy
RUJBSzhsMnI2NjJ2OEEyN0VCQUFTTCsvdUFjdjhBNUxFQkFKQmswNEN4MC84QTdiRUJBQmFjL2Yy
MFl2OEE5ckVCQURxRzNyUGVhZjhBLzdFQkFPa3YvUHpONWY4QUNMSUJBSGhVMDQzVHgvOEFFYklC
QUNwTS8vLy9zLzhBR3JJQkFLOGwycjY2MnY4QUk3SUJBQVNMKy91QWN2OEFMTElCQUpCazA0Q3gw
LzhBTmJJQkFCYWMvZjIwWXY4QVBySUJBRHFHM3JQZWFmOEFSN0lCQU9rdi9Qek41ZjhBVUxJQkFB
QUEyZG5aMmY4QVdiSUJBTzM5bnA0QlF2OEFaN0lCQUxHQ29sNVBvdjhBZHJJQkFQcTAxZFUrVC84
QWhMSUJBQXE0OVBSdFEvOEFrcklCQUJTZC9mMnVZZjhBb0xJQkFCOXovdjdnaS84QXJySUJBREZn
OWViMW1QOEF2TElCQUU5QjNhdmRwUDhBeXJJQkFISjR3bWJDcGY4QTJMSUJBSSs3dlRLSXZmOEE1
cklCQU8zOW5wNEJRdjhBOUxJQkFJKzd2VEtJdmY4QUE3TUJBTEdDb2w1UG92OEFFck1CQVBxMDFk
VStULzhBSUxNQkFBcTQ5UFJ0US84QUxyTUJBQlNkL2YydVlmOEFQTE1CQUI5ei92N2dpLzhBU3JN
QkFDcEEvLy8vdi84QVdMTUJBREZnOWViMW1QOEFack1CQUU5QjNhdmRwUDhBZExNQkFISjR3bWJD
cGY4QWdyTUJBQTJrL1B5TldmOEFqN01CQUNwQS8vLy92LzhBbkxNQkFGRk4xWm5WbFA4QXFiTUJB
UDdoMTljWkhQOEF0ck1CQUJTZC9mMnVZZjhBdzdNQkFFOUIzYXZkcFA4QTBMTUJBSS9FdWl1RHV2
OEEzYk1CQVA3aDE5Y1pIUDhBNnJNQkFCU2QvZjJ1WWY4QTk3TUJBQ3BBLy8vL3YvOEFCTFFCQUU5
QjNhdmRwUDhBRWJRQkFJL0V1aXVEdXY4QUhyUUJBUHEwMWRVK1QvOEFLN1FCQUEyay9QeU5XZjhB
T0xRQkFCOXovdjdnaS84QVJiUUJBREZnOWViMW1QOEFVclFCQUZGTjFablZsUDhBWDdRQkFJKzd2
VEtJdmY4QWJMUUJBUHEwMWRVK1QvOEFlYlFCQUEyay9QeU5XZjhBaHJRQkFCOXovdjdnaS84QWs3
UUJBQ3BBLy8vL3YvOEFvTFFCQURGZzllYjFtUDhBcmJRQkFGRk4xWm5WbFA4QXVyUUJBSSs3dlRL
SXZmOEF4N1FCQVBxMDFkVStULzhBMUxRQkFBcTQ5UFJ0US84QTRiUUJBQlNkL2YydVlmOEE3clFC
QUI5ei92N2dpLzhBKzdRQkFERmc5ZWIxbVA4QUNMVUJBRTlCM2F2ZHBQOEFGYlVCQUhKNHdtYkNw
ZjhBSXJVQkFJKzd2VEtJdmY4QUw3VUJBUHEwMWRVK1QvOEFQTFVCQUFxNDlQUnRRLzhBU2JVQkFC
U2QvZjJ1WWY4QVZyVUJBQjl6L3Y3Z2kvOEFZN1VCQUNwQS8vLy92LzhBY0xVQkFERmc5ZWIxbVA4
QWZiVUJBRTlCM2F2ZHBQOEFpclVCQUhKNHdtYkNwZjhBbDdVQkFJKzd2VEtJdmY4QXBMVUJBSk1Q
Ly9ENC8vOEFzN1VCQUJnait2cnIxLzhBeGJVQkFILy8vd0QvLy84QXo3VUJBSEdBLzMvLzFQOEEz
N1VCQUg4UC8vRC8vLzhBNnJVQkFDb2E5ZlgxM1A4QTliVUJBQmM2Ly8va3hQOEFBYllCQUFBQUFB
QUFBUDhBRExZQkFCa3gvLy9yemY4QUlMWUJBS3IvL3dBQS8vOEFLcllCQU1ETzRvb3I0djhBT3JZ
QkFBQytwYVVxS3Y4QVJiWUJBQmRqM3Q2NGgvOEFWTFlCQUlCbm9GK2VvUDhBWTdZQkFELy8vMy8v
QVA4QWM3WUJBQkhhMHRKcEh2OEFncllCQUF1di8vOS9VUDhBamJZQkFKcVQ3V1NWN2Y4QW9iWUJB
Q0VpLy8vNDNQOEFyN1lCQVBibjNOd1VQUDhBdkxZQkFILy8vd0QvLy84QXhyWUJBS3IvaXdBQWkv
OEExTFlCQUgvL2l3Q0xpLzhBNHJZQkFCN3Z1TGlHQy84QTliWUJBQUFBcWFtcHFmOEFBN2NCQUZY
L1pBQmtBUDhBRXJjQkFBQUFxYW1wcWY4QUlMY0JBQ2R1dmIyM2EvOEFMN2NCQU5UL2k0c0FpLzhB
UUxjQkFEcU9hMVZyTC84QVZMY0JBQmYvLy8rTUFQOEFaTGNCQU1iQXpKa3l6UDhBZExjQkFBRC9p
NHNBQVA4QWdiY0JBQXA1NmVtV2V2OEFrYmNCQUZVOXZJKzhqLzhBbzdjQkFLK1BpMGc5aS84QXRy
Y0JBSDluVHk5UFQvOEF5YmNCQUg5blR5OVBULzhBM0xjQkFJRC8wUURPMGY4QTc3Y0JBTWYvMDVR
QTAvOEEvN2NCQU9qci8vOFVrLzhBRGJnQkFJci8vd0MvLy84QUhyZ0JBQUFBYVdscGFmOEFLN2dC
QUFBQWFXbHBhZjhBT0xnQkFKVGgveDZRLy84QVNMZ0JBQURPc3JJaUl2OEFWN2dCQUJ3UC8vLzY4
UDhBYUxnQkFGWEFpeUtMSXY4QWViZ0JBTlQvLy84QS8vOEFocmdCQUFBQTNOemMzUDhBbGJnQkFL
b0gvL2o0Ly84QXBiZ0JBQ1AvLy8vWEFQOEFyN2dCQUI3WjJ0cWxJUDhBdnJnQkFBQUFnSUNBZ1A4
QXlMZ0JBRlgvZ0FDQUFQOEEwN2dCQUR2US82My9MLzhBNUxnQkFBQUFnSUNBZ1A4QTdyZ0JBRlVQ
Ly9ELzhQOEEvTGdCQU9tVy8vOXB0UDhBQ2JrQkFBQ016YzFjWFA4QUdMa0JBTUwvZ2tzQWd2OEFK
TGtCQUNvUC8vLy84UDhBTDdrQkFDWnE4UERtalA4QU9ya0JBS29VK3VibSt2OEFTTGtCQVBBUC8v
L3c5ZjhBVzdrQkFFRC8vSHo4QVA4QWFya0JBQ1l4Ly8vNnpmOEFmTGtCQUlrLzVxM1k1djhBaTdr
QkFBQjM4UENBZ1A4QW03a0JBSDhmLytELy8vOEFxcmtCQUNvbyt2cjYwdjhBeExrQkFBQUEwOVBU
MC84QTA3a0JBRlZrN3BEdWtQOEE0N2tCQUFBQTA5UFQwLzhBOHJrQkFQaEovLysyd2Y4QUFib0JB
QXlFLy8rZ2V2OEFFcm9CQUgzUnNpQ3lxdjhBSmJvQkFJOTErb2ZPK3Y4QU43b0JBSlE0bVhlSW1m
OEFTN29CQUpRNG1YZUltZjhBWDdvQkFKYzAzckRFM3Y4QWM3b0JBQ29mLy8vLzRQOEFoTG9CQUZY
Ly93RC9BUDhBanJvQkFGWEF6VExOTXY4QW5ib0JBQlVVK3ZydzV2OEFxTG9CQU5ULy8vOEEvLzhB
dGJvQkFBRC9nSUFBQVA4QXdib0JBSEdBeldiTnF2OEExN29CQUtyL3pRQUF6ZjhBNTdvQkFNeVkw
N3BWMC84QStib0JBTGQ4MjVOdzIvOEFDN3NCQUdlcHN6eXpjZjhBSDdzQkFMQ1A3bnRvN3Y4QU5M
c0JBRy8vK2dENm12OEFTN3NCQUgybjBValJ6UDhBWUxzQkFPVGt4OGNWaGY4QWRic0JBS3JHY0Jr
WmNQOEFoN3NCQUdvSi8vWC8rdjhBbHJzQkFBUWUvLy9rNGY4QXBic0JBQnBKLy8va3RmOEFzN3NC
QUJsUi8vL2VyZjhBeExzQkFLci9nQUFBZ1A4QXpyc0JBQnNYL2YzMTV2OEEyN3NCQUNyL2dJQ0FB
UDhBNXJzQkFEakFqbXVPSS84QTlic0JBQnYvLy8rbEFQOEFBYndCQUF2Ly8vOUZBUDhBRUx3QkFO
WjcydHB3MXY4QUhMd0JBQ1pJN3U3b3F2OEFMN3dCQUZWays1ajdtUDhBUHJ3QkFIOUQ3cS91N3Y4
QVVid0JBUEY4Mjl0d2svOEFaTHdCQUJvcC8vL3YxZjhBZEx3QkFCUkcvLy9hdWY4QWc3d0JBQlN3
emMyRlAvOEFqYndCQVBjLy8vL0F5LzhBbDd3QkFOUkczZDJnM2Y4QW9id0JBSVE3NXJEZzV2OEFz
YndCQU5UL2dJQUFnUDhBdmJ3QkFBRC8vLzhBQVA4QXhyd0JBQUE5dkx5UGovOEExYndCQUorMTRV
RnA0ZjhBNUx3QkFCSGNpNHRGRS84QTlid0JBQVNLK3ZxQWN2OEFBYjBCQUJPYTlQU2tZUDhBRWIw
QkFHZXFpeTZMVi84QUg3MEJBQkVRLy8vMTd2OEFMYjBCQUEyM29LQlNMZjhBT2IwQkFBQUF3TURB
d1A4QVJiMEJBSXRzNjRmTzYvOEFVcjBCQUsrUHpXcGF6ZjhBWWIwQkFKUTRrSENBa1A4QWNMMEJB
SlE0a0hDQWtQOEFmNzBCQUFBRi8vLzYrdjhBaWIwQkFHci8vd0QvZi84QW1yMEJBSktidEVhQ3RQ
OEFxYjBCQUJoVTB0SzBqUDhBc3IwQkFILy9nQUNBZ1A4QXZMMEJBTlFkMk5pLzJQOEF5YjBCQUFh
NC8vOWpSLzhBMWIwQkFIdTI0RURnMFA4QTVMMEJBTlJ6N3U2Qzd2OEE4TDBCQUJ0RTlmWGVzLzhB
KzcwQkFBQUEvLy8vLy84QUJyNEJBQUFBOWZYMTlmOEFGcjRCQUNyLy8vLy9BUDhBSXI0QkFEakF6
WnJOTXY4QU03NEJBQzFEL1BmOHVmOEFQTDRCQUVSYjNhM2RqdjhBUmI0QkFHS3lvekdqVlA4QVRy
NEJBQ295Ly8vL3pQOEFWNzRCQUQ1VjVzTG1tZjhBWUw0QkFGVmt4bmpHZWY4QWFiNEJBR083aENP
RVEvOEFjcjRCQUNveS8vLy96UDhBZTc0QkFENVY1c0xtbWY4QWhMNEJBRlZreG5qR2VmOEFqYjRC
QUdLeW96R2pWUDhBbHI0QkFHdi9hQUJvTi84QW43NEJBQ295Ly8vL3pQOEFxTDRCQURkUjhObndv
LzhBc2I0QkFFUmIzYTNkanY4QXVyNEJBRlZreG5qR2VmOEF3NzRCQUdLeW96R2pWUDhBekw0QkFH
di9hQUJvTi84QTFiNEJBQ295Ly8vL3pQOEEzcjRCQURkUjhObndvLzhBNTc0QkFFUmIzYTNkanY4
QThMNEJBRlZreG5qR2VmOEErYjRCQUdDZXEwR3JYZjhBQXI4QkFHTzdoQ09FUS84QUM3OEJBR3ov
V2dCYU12OEFGTDhCQUNvWi8vLy81ZjhBSGI4QkFDMUQvUGY4dWY4QUpyOEJBRGRSOE5ud28vOEFM
NzhCQUVSYjNhM2RqdjhBT0w4QkFGVmt4bmpHZWY4QVFiOEJBR0NlcTBHclhmOEFTcjhCQUdPN2hD
T0VRLzhBVTc4QkFHei9XZ0JhTXY4QVhMOEJBQ29aLy8vLzVmOEFaYjhCQUMxRC9QZjh1ZjhBYnI4
QkFEZFI4Tm53by84QWQ3OEJBRVJiM2EzZGp2OEFnTDhCQUZWa3huakdlZjhBaWI4QkFHQ2VxMEdy
WGY4QWtyOEJBR083aENPRVEvOEFtNzhCQUd2L2FBQm9OLzhBcEw4QkFHNy9SUUJGS2Y4QXJiOEJB
REZKK08zNHNmOEF1TDhCQUhWaHpYL051LzhBdzc4QkFKREN1Q3gvdVA4QXpyOEJBQ295Ly8vL3pQ
OEEyYjhCQUdOQzJxSGF0UDhBNUw4QkFJU3F4RUcyeFA4QTc3OEJBSmJMcUNKZXFQOEErcjhCQUNv
eS8vLy96UDhBQmNBQkFHTkMycUhhdFA4QUVNQUJBSVNxeEVHMnhQOEFHOEFCQUpEQ3VDeC91UDhB
SnNBQkFLUy9sQ1UwbFA4QU1jQUJBQ295Ly8vL3pQOEFQTUFCQUVVNjZjZnB0UDhBUjhBQkFIVmh6
WC9OdS84QVVzQUJBSVNxeEVHMnhQOEFYY0FCQUpEQ3VDeC91UDhBYU1BQkFLUy9sQ1UwbFA4QWM4
QUJBQ295Ly8vL3pQOEFmc0FCQUVVNjZjZnB0UDhBaWNBQkFIVmh6WC9OdS84QWxNQUJBSVNxeEVH
MnhQOEFuOEFCQUl2WXdCMlJ3UDhBcXNBQkFKYkxxQ0plcVA4QXRjQUJBSjduaEF3c2hQOEF3TUFC
QUNvbS8vLy8yZjhBeThBQkFERkorTzM0c2Y4QTFzQUJBRVU2NmNmcHRQOEE0Y0FCQUhWaHpYL051
LzhBN01BQkFJU3F4RUcyeFA4QTk4QUJBSXZZd0IyUndQOEFBc0VCQUpiTHFDSmVxUDhBRGNFQkFK
N25oQXdzaFA4QUdNRUJBQ29tLy8vLzJmOEFJOEVCQURGSitPMzRzZjhBTHNFQkFFVTY2Y2ZwdFA4
QU9jRUJBSFZoelgvTnUvOEFSTUVCQUlTcXhFRzJ4UDhBVDhFQkFJdll3QjJSd1A4QVdzRUJBSmJM
cUNKZXFQOEFaY0VCQUtTL2xDVTBsUDhBY01FQkFKN25XQWdkV1A4QWU4RUJBQ1ZDLy8vM3ZQOEFo
c0VCQUJ5di92N0VULzhBa2NFQkFCRHUyZGxmRHY4QW5NRUJBQ29xLy8vLzFQOEFwOEVCQUJ4dy92
N1pqdjhBc3NFQkFCYlYvdjZaS2Y4QXZjRUJBQS84ek14TUF2OEF5TUVCQUNvcS8vLy8xUDhBMDhF
QkFCeHcvdjdaanY4QTNzRUJBQmJWL3Y2WktmOEE2Y0VCQUJEdTJkbGZEdjhBOU1FQkFBMzRtWmsw
QlA4QS84RUJBQ29xLy8vLzFQOEFDc0lCQUI5dC92N2prZjhBRmNJQkFCeXYvdjdFVC84QUlNSUJB
QmJWL3Y2WktmOEFLOElCQUJEdTJkbGZEdjhBTnNJQkFBMzRtWmswQlA4QVFjSUJBQ29xLy8vLzFQ
OEFUTUlCQUI5dC92N2prZjhBVjhJQkFCeXYvdjdFVC84QVlzSUJBQmJWL3Y2WktmOEFiY0lCQUJM
cDdPeHdGUDhBZU1JQkFBLzh6TXhNQXY4QWc4SUJBQXozakl3dEJQOEFqc0lCQUNvWi8vLy81ZjhB
bWNJQkFDVkMvLy8zdlA4QXBNSUJBQjl0L3Y3amtmOEFyOElCQUJ5di92N0VULzhBdXNJQkFCYlYv
djZaS2Y4QXhjSUJBQkxwN094d0ZQOEEwTUlCQUEvOHpNeE1BdjhBMjhJQkFBejNqSXd0QlA4QTVz
SUJBQ29aLy8vLzVmOEE4Y0lCQUNWQy8vLzN2UDhBL01JQkFCOXQvdjdqa2Y4QUI4TUJBQnl2L3Y3
RVQvOEFFc01CQUJiVi92NlpLZjhBSGNNQkFCTHA3T3h3RlA4QUtNTUJBQS84ek14TUF2OEFNOE1C
QUEzNG1aazBCUDhBUHNNQkFBM3dabVlsQnY4QVNjTUJBQ0pmLy8vdG9QOEFWTU1CQUJpeS92NnlU
UDhBWDhNQkFBWGQ4UEE3SVA4QWFzTUJBQ3BOLy8vL3N2OEFkY01CQUIyaS92N01YUDhBZ01NQkFC
SEMvZjJOUFA4QWk4TUJBUDdoNCtNYUhQOEFsc01CQUNwTi8vLy9zdjhBb2NNQkFCMmkvdjdNWFA4
QXJNTUJBQkhDL2YyTlBQOEF0OE1CQUFYZDhQQTdJUDhBd3NNQkFQYi92YjBBSnY4QXpjTUJBQ3BO
Ly8vL3N2OEEyTU1CQUI2SS92N1pkdjhBNDhNQkFCaXkvdjZ5VFA4QTdzTUJBQkhDL2YyTlBQOEEr
Y01CQUFYZDhQQTdJUDhBQk1RQkFQYi92YjBBSnY4QUQ4UUJBQ3BOLy8vL3N2OEFHc1FCQUI2SS92
N1pkdjhBSmNRQkFCaXkvdjZ5VFA4QU1NUUJBQkhDL2YyTlBQOEFPOFFCQUFmVS9QeE9LdjhBUnNR
QkFQN2g0K01hSFA4QVVjUUJBUFgvc2JFQUp2OEFYTVFCQUNveS8vLy96UDhBWjhRQkFDSmYvLy90
b1A4QWNzUUJBQjZJL3Y3WmR2OEFmY1FCQUJpeS92NnlUUDhBaU1RQkFCSEMvZjJOUFA4QWs4UUJB
QWZVL1B4T0t2OEFuc1FCQVA3aDQrTWFIUDhBcWNRQkFQWC9zYkVBSnY4QXRNUUJBQ295Ly8vL3pQ
OEF2OFFCQUNKZi8vL3RvUDhBeXNRQkFCNkkvdjdaZHY4QTFjUUJBQml5L3Y2eVRQOEE0TVFCQUJI
Qy9mMk5QUDhBNjhRQkFBZlUvUHhPS3Y4QTlzUUJBUDdoNCtNYUhQOEFBY1VCQVBiL3ZiMEFKdjhB
RE1VQkFQTC9nSUFBSnY4QUY4VUJBSk1QLy9ENC8vOEFJY1VCQUJnait2cnIxLzhBTHNVQkFCY2sv
Ly92Mi84QVBNVUJBQmNrN3U3ZnpQOEFTc1VCQUJja3pjM0FzUDhBV01VQkFCZ2lpNHVEZVA4QVpz
VUJBSEdBLzMvLzFQOEFjY1VCQUhHQS8zLy8xUDhBZmNVQkFIR0E3bmJ1eHY4QWljVUJBSEdBeldi
TnF2OEFsY1VCQUhHQWkwV0xkUDhBb2NVQkFIOFAvL0QvLy84QXA4VUJBSDhQLy9ELy8vOEFyc1VC
QUg4UDd1RHU3djhBdGNVQkFIOE96Y0hOemY4QXZNVUJBSDhPaTRPTGkvOEF3OFVCQUNvYTlmWDEz
UDhBeWNVQkFCYzYvLy9reFA4QTBNVUJBQmM2Ly8va3hQOEEyTVVCQUJjNjd1N1Z0LzhBNE1VQkFC
WTZ6YzIzbnY4QTZNVUJBQmM2aTR0OWEvOEErdHdCQUFBQUFBQUFBUDhBOE1VQkFCa3gvLy9yemY4
QS84VUJBS3IvL3dBQS8vOEFCTVlCQUtyLy93QUEvLzhBQ3NZQkFLci83Z0FBN3Y4QUVNWUJBS3Iv
elFBQXpmOEFGc1lCQUtyL2l3QUFpLzhBSE1ZQkFNRE80b29yNHY4QUo4WUJBQUMrcGFVcUt2OEFM
Y1lCQUFDLy8vOUFRUDhBTk1ZQkFBQy83dTQ3Ty84QU84WUJBQUMvemMwek0vOEFRc1lCQUFDK2k0
c2pJLzhBU2NZQkFCZGozdDY0aC84QVU4WUJBQmRrLy8vVG0vOEFYc1lCQUJkajd1N0ZrZjhBYWNZ
QkFCZGp6YzJxZmY4QWRNWUJBQmRqaTR0elZmOEFmOFlCQUlCbm9GK2VvUDhBaWNZQkFJTm4vNWox
Ly84QWxNWUJBSU5tN283bDd2OEFuOFlCQUlObnpYckZ6ZjhBcXNZQkFJTm1pMU9HaS84QXRjWUJB
RC8vLzMvL0FQOEF3TVlCQUQvLy8zLy9BUDhBek1ZQkFELy83bmJ1QVA4QTJNWUJBRC8veldiTkFQ
OEE1TVlCQUQvL2kwV0xBUDhBOE1ZQkFCSGEwdEpwSHY4QStzWUJBQkhiLy85L0pQOEFCY2NCQUJI
Yjd1NTJJZjhBRU1jQkFCSGF6YzFtSGY4QUc4Y0JBQkhjaTR0RkUvOEFKc2NCQUF1di8vOS9VUDhB
TE1jQkFBZXAvLzl5VnY4QU04Y0JBQWFwN3U1cVVQOEFPc2NCQUFhcHpjMWJSZjhBUWNjQkFBYW9p
NHMrTC84QVNNY0JBSnFUN1dTVjdmOEFWOGNCQUNFaS8vLzQzUDhBWU1jQkFDRWkvLy80M1A4QWFz
Y0JBQ0lqN3U3b3pmOEFkTWNCQUNJaXpjM0lzZjhBZnNjQkFDTWlpNHVJZVA4QWlNY0JBUGJuM053
VVBQOEFrTWNCQUgvLy93RC8vLzhBbGNjQkFILy8vd0QvLy84QW04Y0JBSC8vN2dEdTd2OEFvY2NC
QUgvL3pRRE56ZjhBcDhjQkFILy9pd0NMaS84QXJjY0JBQjd2dUxpR0MvOEF1OGNCQUI3dy8vKzVE
LzhBeXNjQkFCN3c3dTZ0RHY4QTJjY0JBQjd3emMyVkRQOEE2TWNCQUI3d2k0dGxDUDhBOThjQkFG
WC9aQUJrQVA4QUFjZ0JBQ2R1dmIyM2EvOEFDOGdCQURxT2ExVnJMLzhBR3NnQkFEcVAvOHIvY1A4
QUtzZ0JBRHFQN3J6dWFQOEFPc2dCQURxUHphTE5XdjhBU3NnQkFEcVBpMjZMUGY4QVdzZ0JBQmYv
Ly8rTUFQOEFaY2dCQUJYLy8vOS9BUDhBY2NnQkFCWC83dTUyQVA4QWZjZ0JBQlgvemMxbUFQOEFp
Y2dCQUJYL2k0dEZBUDhBbGNnQkFNYkF6Smt5elA4QW9NZ0JBTWJCLzc4Ky8vOEFyTWdCQU1iQTdy
STY3djhBdU1nQkFNYkF6Wm95emY4QXhNZ0JBTWJBaTJnaWkvOEEwTWdCQUFwNTZlbVdldjhBMjhn
QkFGVTl2SSs4ai84QTZNZ0JBRlUrLzhIL3dmOEE5c2dCQUZVKzdyVHV0UDhBQk1rQkFGVSt6WnZO
bS84QUVza0JBRlUraTJtTGFmOEFJTWtCQUsrUGkwZzlpLzhBTHNrQkFIOW5UeTlQVC84QVBNa0JB
SDlvLzVmLy8vOEFTOGtCQUg5bjdvM3U3djhBV3NrQkFIOW96WG5OemY4QWFja0JBSDlvaTFLTGkv
OEFlTWtCQUg5blR5OVBULzhBaHNrQkFJRC8wUURPMGY4QWxNa0JBTWYvMDVRQTAvOEFuOGtCQU9q
ci8vOFVrLzhBcU1rQkFPanIvLzhVay84QXNza0JBT2pyN3U0U2lmOEF2TWtCQU9qcnpjMFFkdjhB
eHNrQkFPZnNpNHNLVVA4QTBNa0JBSXIvL3dDLy8vOEEzTWtCQUlyLy93Qy8vLzhBNmNrQkFJci83
Z0N5N3Y4QTlza0JBSXIvelFDYXpmOEFBOG9CQUlyL2l3Qm9pLzhBRU1vQkFBQUFhV2xwYWY4QUdN
b0JBQUFBYVdscGFmOEFJTW9CQUpUaC94NlEvLzhBSzhvQkFKVGgveDZRLy84QU44b0JBSlRoN2h5
Rzd2OEFROG9CQUpUaHpSaDB6ZjhBVDhvQkFKVGhpeEJPaS84QVc4b0JBQURPc3JJaUl2OEFaY29C
QUFEUC8vOHdNUDhBY01vQkFBRFA3dTRzTFA4QWU4b0JBQURQemMwbUp2OEFoc29CQUFEUGk0c2FH
djhBa2NvQkFCd1AvLy82OFA4QW5jb0JBRlhBaXlLTEl2OEFxY29CQUFBQTNOemMzUDhBczhvQkFL
b0gvL2o0Ly84QXZzb0JBQ1AvLy8vWEFQOEF3OG9CQUNQLy8vL1hBUDhBeWNvQkFDUC83dTdKQVA4
QXo4b0JBQ1AvemMydEFQOEExY29CQUNQL2k0dDFBUDhBMjhvQkFCN1oydHFsSVA4QTVjb0JBQjdh
Ly8vQkpmOEE4TW9CQUI3YTd1NjBJdjhBKzhvQkFCN2F6YzJiSGY4QUJzc0JBQjdhaTR0cEZQOEFF
Y3NCQUFBQXdNREF3UDhBRnNzQkFBQUFBQUFBQVA4QUhNc0JBQUFBQXdNREEvOEFJc3NCQUFBQUdo
b2FHdjhBS2NzQkFBQUEvLy8vLy84QU1jc0JBQUFBSEJ3Y0hQOEFPTXNCQUFBQUh4OGZILzhBUDhz
QkFBQUFJU0VoSWY4QVJzc0JBQUFBSkNRa0pQOEFUY3NCQUFBQUppWW1KdjhBVk1zQkFBQUFLU2tw
S2Y4QVc4c0JBQUFBS3lzcksvOEFZc3NCQUFBQUxpNHVMdjhBYWNzQkFBQUFNREF3TVA4QWNNc0JB
QUFBQlFVRkJmOEFkc3NCQUFBQU16TXpNLzhBZmNzQkFBQUFOalkyTnY4QWhNc0JBQUFBT0RnNE9Q
OEFpOHNCQUFBQU96czdPLzhBa3NzQkFBQUFQVDA5UGY4QW1jc0JBQUFBUUVCQVFQOEFvTXNCQUFB
QVFrSkNRdjhBcDhzQkFBQUFSVVZGUmY4QXJzc0JBQUFBUjBkSFIvOEF0Y3NCQUFBQVNrcEtTdjhB
dk1zQkFBQUFDQWdJQ1A4QXdzc0JBQUFBVFUxTlRmOEF5Y3NCQUFBQVQwOVBULzhBME1zQkFBQUFV
bEpTVXY4QTE4c0JBQUFBVkZSVVZQOEEzc3NCQUFBQVYxZFhWLzhBNWNzQkFBQUFXVmxaV2Y4QTdN
c0JBQUFBWEZ4Y1hQOEE4OHNCQUFBQVhsNWVYdjhBK3NzQkFBQUFZV0ZoWWY4QUFjd0JBQUFBWTJO
alkvOEFDTXdCQUFBQUNnb0tDdjhBRHN3QkFBQUFabVptWnY4QUZjd0JBQUFBYVdscGFmOEFITXdC
QUFBQWEydHJhLzhBSTh3QkFBQUFibTV1YnY4QUtzd0JBQUFBY0hCd2NQOEFNY3dCQUFBQWMzTnpj
LzhBT013QkFBQUFkWFYxZGY4QVA4d0JBQUFBZUhoNGVQOEFSc3dCQUFBQWVucDZldjhBVGN3QkFB
QUFmWDE5ZmY4QVZNd0JBQUFBRFEwTkRmOEFXc3dCQUFBQWYzOS9mLzhBWWN3QkFBQUFnb0tDZ3Y4
QWFNd0JBQUFBaFlXRmhmOEFiOHdCQUFBQWg0ZUhoLzhBZHN3QkFBQUFpb3FLaXY4QWZjd0JBQUFB
akl5TWpQOEFoTXdCQUFBQWo0K1BqLzhBaTh3QkFBQUFrWkdSa2Y4QWtzd0JBQUFBbEpTVWxQOEFt
Y3dCQUFBQWxwYVdsdjhBb013QkFBQUFEdzhQRC84QXBzd0JBQUFBbVptWm1mOEFyY3dCQUFBQW5K
eWNuUDhBdE13QkFBQUFucDZlbnY4QXU4d0JBQUFBb2FHaG9mOEF3c3dCQUFBQW82T2pvLzhBeWN3
QkFBQUFwcWFtcHY4QTBNd0JBQUFBcUtpb3FQOEExOHdCQUFBQXE2dXJxLzhBM3N3QkFBQUFyYTJ0
cmY4QTVjd0JBQUFBc0xDd3NQOEE3TXdCQUFBQUVoSVNFdjhBOHN3QkFBQUFzN096cy84QStjd0JB
QUFBdGJXMXRmOEFBTTBCQUFBQXVMaTR1UDhBQjgwQkFBQUF1cnE2dXY4QURzMEJBQUFBdmIyOXZm
OEFGYzBCQUFBQXY3Ky92LzhBSE0wQkFBQUF3c0xDd3Y4QUk4MEJBQUFBeE1URXhQOEFLczBCQUFB
QXg4Zkh4LzhBTWMwQkFBQUF5Y25KeWY4QU9NMEJBQUFBRkJRVUZQOEFQczBCQUFBQXpNek16UDhB
UmMwQkFBQUF6OC9Qei84QVRNMEJBQUFBMGRIUjBmOEFVODBCQUFBQTFOVFUxUDhBV3MwQkFBQUEx
dGJXMXY4QVljMEJBQUFBMmRuWjJmOEFhTTBCQUFBQTI5dmIyLzhBYjgwQkFBQUEzdDdlM3Y4QWRz
MEJBQUFBNE9EZzRQOEFmYzBCQUFBQTQrUGo0LzhBaE0wQkFBQUFGeGNYRi84QWlzMEJBQUFBNWVY
bDVmOEFrYzBCQUFBQTZPam82UDhBbU0wQkFBQUE2K3ZyNi84QW44MEJBQUFBN2UzdDdmOEFwczBC
QUFBQThQRHc4UDhBcmMwQkFBQUE4dkx5OHY4QXRNMEJBQUFBOWZYMTlmOEF1ODBCQUFBQTkvZjM5
LzhBd3MwQkFBQUErdnI2K3Y4QXljMEJBQUFBL1B6OC9QOEEwTTBCQUZYLy93RC9BUDhBMXMwQkFG
WC8vd0QvQVA4QTNjMEJBRlgvN2dEdUFQOEE1TTBCQUZYL3pRRE5BUDhBNjgwQkFGWC9pd0NMQVA4
QThzMEJBRHZRLzYzL0wvOEEvczBCQUFBQXdNREF3UDhBQTg0QkFBQUFBQUFBQVA4QUNjNEJBQUFB
QXdNREEvOEFEODRCQUFBQUdob2FHdjhBRnM0QkFBQUEvLy8vLy84QUhzNEJBQUFBSEJ3Y0hQOEFK
YzRCQUFBQUh4OGZILzhBTE00QkFBQUFJU0VoSWY4QU04NEJBQUFBSkNRa0pQOEFPczRCQUFBQUpp
WW1KdjhBUWM0QkFBQUFLU2twS2Y4QVNNNEJBQUFBS3lzcksvOEFUODRCQUFBQUxpNHVMdjhBVnM0
QkFBQUFNREF3TVA4QVhjNEJBQUFBQlFVRkJmOEFZODRCQUFBQU16TXpNLzhBYXM0QkFBQUFOalky
TnY4QWNjNEJBQUFBT0RnNE9QOEFlTTRCQUFBQU96czdPLzhBZjg0QkFBQUFQVDA5UGY4QWhzNEJB
QUFBUUVCQVFQOEFqYzRCQUFBQVFrSkNRdjhBbE00QkFBQUFSVVZGUmY4QW04NEJBQUFBUjBkSFIv
OEFvczRCQUFBQVNrcEtTdjhBcWM0QkFBQUFDQWdJQ1A4QXI4NEJBQUFBVFUxTlRmOEF0czRCQUFB
QVQwOVBULzhBdmM0QkFBQUFVbEpTVXY4QXhNNEJBQUFBVkZSVVZQOEF5ODRCQUFBQVYxZFhWLzhB
MHM0QkFBQUFXVmxaV2Y4QTJjNEJBQUFBWEZ4Y1hQOEE0TTRCQUFBQVhsNWVYdjhBNTg0QkFBQUFZ
V0ZoWWY4QTdzNEJBQUFBWTJOalkvOEE5YzRCQUFBQUNnb0tDdjhBKzg0QkFBQUFabVptWnY4QUFz
OEJBQUFBYVdscGFmOEFDYzhCQUFBQWEydHJhLzhBRU04QkFBQUFibTV1YnY4QUY4OEJBQUFBY0hC
d2NQOEFIczhCQUFBQWMzTnpjLzhBSmM4QkFBQUFkWFYxZGY4QUxNOEJBQUFBZUhoNGVQOEFNODhC
QUFBQWVucDZldjhBT3M4QkFBQUFmWDE5ZmY4QVFjOEJBQUFBRFEwTkRmOEFSODhCQUFBQWYzOS9m
LzhBVHM4QkFBQUFnb0tDZ3Y4QVZjOEJBQUFBaFlXRmhmOEFYTThCQUFBQWg0ZUhoLzhBWTg4QkFB
QUFpb3FLaXY4QWFzOEJBQUFBakl5TWpQOEFjYzhCQUFBQWo0K1BqLzhBZU04QkFBQUFrWkdSa2Y4
QWY4OEJBQUFBbEpTVWxQOEFoczhCQUFBQWxwYVdsdjhBamM4QkFBQUFEdzhQRC84QWs4OEJBQUFB
bVptWm1mOEFtczhCQUFBQW5KeWNuUDhBb2M4QkFBQUFucDZlbnY4QXFNOEJBQUFBb2FHaG9mOEFy
ODhCQUFBQW82T2pvLzhBdHM4QkFBQUFwcWFtcHY4QXZjOEJBQUFBcUtpb3FQOEF4TThCQUFBQXE2
dXJxLzhBeTg4QkFBQUFyYTJ0cmY4QTBzOEJBQUFBc0xDd3NQOEEyYzhCQUFBQUVoSVNFdjhBMzg4
QkFBQUFzN096cy84QTVzOEJBQUFBdGJXMXRmOEE3YzhCQUFBQXVMaTR1UDhBOU04QkFBQUF1cnE2
dXY4QSs4OEJBQUFBdmIyOXZmOEFBdEFCQUFBQXY3Ky92LzhBQ2RBQkFBQUF3c0xDd3Y4QUVOQUJB
QUFBeE1URXhQOEFGOUFCQUFBQXg4Zkh4LzhBSHRBQkFBQUF5Y25KeWY4QUpkQUJBQUFBRkJRVUZQ
OEFLOUFCQUFBQXpNek16UDhBTXRBQkFBQUF6OC9Qei84QU9kQUJBQUFBMGRIUjBmOEFRTkFCQUFB
QTFOVFUxUDhBUjlBQkFBQUExdGJXMXY4QVR0QUJBQUFBMmRuWjJmOEFWZEFCQUFBQTI5dmIyLzhB
WE5BQkFBQUEzdDdlM3Y4QVk5QUJBQUFBNE9EZzRQOEFhdEFCQUFBQTQrUGo0LzhBY2RBQkFBQUFG
eGNYRi84QWQ5QUJBQUFBNWVYbDVmOEFmdEFCQUFBQTZPam82UDhBaGRBQkFBQUE2K3ZyNi84QWpO
QUJBQUFBN2UzdDdmOEFrOUFCQUFBQThQRHc4UDhBbXRBQkFBQUE4dkx5OHY4QW9kQUJBQUFBOWZY
MTlmOEFxTkFCQUFBQTkvZjM5LzhBcjlBQkFBQUErdnI2K3Y4QXR0QUJBQUFBL1B6OC9QOEF2ZEFC
QUZVUC8vRC84UDhBeHRBQkFGVVAvL0QvOFA4QTBOQUJBRlVQN3VEdTRQOEEydEFCQUZVT3pjSE53
ZjhBNU5BQkFGVU9pNE9MZy84QTd0QUJBT21XLy85cHRQOEE5dEFCQU9xUi8vOXV0UDhBLzlBQkFP
dU43dTVxcC84QUNORUJBT3lIemMxZ2tQOEFFZEVCQU9xVWk0czZZdjhBR3RFQkFBQ016YzFjWFA4
QUpORUJBQUNVLy85cWF2OEFMOUVCQUFDVTd1NWpZLzhBT3RFQkFBQ1Z6YzFWVmY4QVJkRUJBQUNV
aTRzNk92OEFVTkVCQU1ML2drc0FndjhBVjlFQkFDb0EvLy8vL2dBQVhkRUJBQ29QLy8vLzhQOEFZ
OUVCQUNvUC8vLy84UDhBYXRFQkFDb1A3dTd1NFA4QWNkRUJBQ29PemMzTndmOEFlTkVCQUNvT2k0
dUxnLzhBZjlFQkFDWnE4UERtalA4QWhkRUJBQ2R3Ly8vMmovOEFqTkVCQUNkdzd1N21oZjhBazlF
QkFDZHZ6YzNHYy84QW10RUJBQ2R2aTR1R1R2OEFvZEVCQUtvVSt1Ym0rdjhBcXRFQkFQQVAvLy93
OWY4QXVORUJBUEFQLy8vdzlmOEF4OUVCQU84UDd1N2c1ZjhBMXRFQkFQQU96YzNCeGY4QTVkRUJB
TzhPaTR1RGh2OEE5TkVCQUVELy9IejhBUDhBL3RFQkFDWXgvLy82emY4QUM5SUJBQ1l4Ly8vNnpm
OEFHZElCQUNVeTd1N3B2LzhBSjlJQkFDWXh6YzNKcGY4QU5kSUJBQ2N4aTR1SmNQOEFROUlCQUlr
LzVxM1k1djhBVGRJQkFJcEEvNy92Ly84QVdOSUJBSXBBN3JMZjd2OEFZOUlCQUlvL3packF6ZjhB
YnRJQkFJbEFpMmlEaS84QWVkSUJBQUIzOFBDQWdQOEFoTklCQUg4Zi8rRC8vLzhBanRJQkFIOGYv
K0QvLy84QW1kSUJBSDhmN3RIdTd2OEFwTklCQUg4ZnpiVE56ZjhBcjlJQkFIOGZpM3FMaS84QXV0
SUJBQ056N3U3ZGd2OEF5ZElCQUNOMC8vL3NpLzhBMmRJQkFDTno3dTdjZ3Y4QTZkSUJBQ056emMy
K2NQOEErZElCQUNOemk0dUJUUDhBQ2RNQkFDb28rdnI2MHY4QUh0TUJBQUFBMDlQVDAvOEFLTk1C
QUFBQTA5UFQwLzhBTXRNQkFQaEovLysyd2Y4QVBOTUJBUGxSLy8rdXVmOEFSOU1CQVBoUjd1Nmly
ZjhBVXRNQkFQbFF6YzJNbGY4QVhkTUJBUGxRaTR0ZlpmOEFhTk1CQUF5RS8vK2dldjhBZE5NQkFB
eUUvLytnZXY4QWdkTUJBQXVFN3U2VmN2OEFqdE1CQUF5RnpjMkJZdjhBbTlNQkFBeUZpNHRYUXY4
QXFOTUJBSDNSc2lDeXF2OEF0dE1CQUk5MStvZk8rdjhBdzlNQkFJOVAvN0RpLy84QTBkTUJBSTlQ
N3FUVDd2OEEzOU1CQUk1UHpZMjJ6ZjhBN2RNQkFJOU9pMkI3aS84QSs5TUJBSytQLzRSdy8vOEFD
dFFCQUpRNG1YZUltZjhBR2RRQkFKUTRtWGVJbWY4QUtOUUJBSmMwM3JERTN2OEFOOVFCQUpjMS84
cmgvLzhBUjlRQkFKYzE3cnpTN3Y4QVY5UUJBSmMxemFLMXpmOEFaOVFCQUpZMWkyNTdpLzhBZDlR
QkFDb2YvLy8vNFA4QWc5UUJBQ29mLy8vLzRQOEFrTlFCQUNvZjd1N3UwZjhBbmRRQkFDb2Z6YzNO
dFA4QXF0UUJBQ29maTR1TGV2OEF0OVFCQUZYQXpUTE5NdjhBd2RRQkFCVVUrdnJ3NXY4QXg5UUJB
TlQvLy84QS8vOEF6OVFCQU5ULy8vOEEvLzhBMk5RQkFOVC83dTRBN3Y4QTRkUUJBTlQvemMwQXpm
OEE2dFFCQU5UL2k0c0FpLzhBODlRQkFPKzVzTEF3WVA4QSt0UUJBT1RMLy84MHMvOEFBdFVCQU9U
TDd1NHdwLzhBQ3RVQkFPVE16YzBwa1A4QUV0VUJBT1RMaTRzY1l2OEFHdFVCQUhHQXpXYk5xdjhB
SzlVQkFLci96UUFBemY4QU50VUJBTXlZMDdwVjAvOEFROVVCQU11Wi8rQm0vLzhBVWRVQkFNdVo3
dEZmN3Y4QVg5VUJBTXVaemJSU3pmOEFiZFVCQU11YWkzbzNpLzhBZTlVQkFMZDgyNU53Mi84QWlO
VUJBTGQ5LzZ1Qy8vOEFsdFVCQUxkOTdwOTU3djhBcE5VQkFMZDl6WWxvemY4QXN0VUJBTGQ4aTEx
SGkvOEF3TlVCQUdlcHN6eXpjZjhBejlVQkFMQ1A3bnRvN3Y4QTM5VUJBRy8vK2dENm12OEE4ZFVC
QUgybjBValJ6UDhBQWRZQkFPVGt4OGNWaGY4QUVkWUJBS3JHY0JrWmNQOEFIdFlCQUdvSi8vWC8r
djhBS05ZQkFBUWUvLy9rNGY4QU10WUJBQVFlLy8vazRmOEFQZFlCQUFRZTd1N1YwdjhBU05ZQkFB
TWR6YzIzdGY4QVU5WUJBQVVkaTR0OWUvOEFYdFlCQUJwSi8vL2t0ZjhBWjlZQkFCbFIvLy9lcmY4
QWM5WUJBQmxSLy8vZXJmOEFnTllCQUJsUzd1N1BvZjhBamRZQkFCbFN6YzJ6aS84QW10WUJBQmxT
aTR0NVh2OEFwOVlCQUtyL2dBQUFnUDhBck5ZQkFLci9nQUFBZ1A4QXRkWUJBQ29BLy8vLy9nQUF1
dFlCQUJzWC9mMzE1djhBd3RZQkFEakFqbXVPSS84QXpOWUJBRGpCLzhEL1B2OEExOVlCQURqQTdy
UHVPdjhBNHRZQkFEakF6WnJOTXY4QTdkWUJBRGpBaTJtTEl2OEErTllCQUJ2Ly8vK2xBUDhBLzlZ
QkFCdi8vLytsQVA4QUI5Y0JBQnYvN3U2YUFQOEFEOWNCQUJ2L3pjMkZBUDhBRjljQkFCdi9pNHRh
QVA4QUg5Y0JBQXYvLy85RkFQOEFLZGNCQUF2Ly8vOUZBUDhBTk5jQkFBdi83dTVBQVA4QVA5Y0JB
QXYvemMwM0FQOEFTdGNCQUF2L2k0c2xBUDhBVmRjQkFOWjcydHB3MXY4QVhOY0JBTlo4Ly8rRCt2
OEFaTmNCQU5aODd1NTY2ZjhBYk5jQkFOWjh6YzFweWY4QWROY0JBTlY4aTR0SGlmOEFmTmNCQUNa
STd1N29xdjhBaXRjQkFGVmsrNWo3bVA4QWxOY0JBRlZsLzVyL212OEFuOWNCQUZWazdwRHVrUDhB
cXRjQkFGVmt6WHpOZlA4QXRkY0JBRlZraTFTTFZQOEF3TmNCQUg5RDdxL3U3djhBenRjQkFIOUUv
N3YvLy84QTNkY0JBSDlFN3E3dTd2OEE3TmNCQUg5RXpaYk56ZjhBKzljQkFIOURpMmFMaS84QUN0
Z0JBUEY4Mjl0d2svOEFHTmdCQVBGOS8vK0NxLzhBSjlnQkFQRjk3dTU1bi84QU50Z0JBUEY5emMx
b2lmOEFSZGdCQVBGOGk0dEhYZjhBVk5nQkFCb3AvLy92MWY4QVg5Z0JBQlJHLy8vYXVmOEFhZGdC
QUJSRy8vL2F1ZjhBZE5nQkFCTkY3dTdMcmY4QWY5Z0JBQk5GemMydmxmOEFpdGdCQUJSRmk0dDNa
ZjhBbGRnQkFCU3d6YzJGUC84QW10Z0JBUGMvLy8vQXkvOEFuOWdCQVBWSi8vKzF4ZjhBcGRnQkFQ
Vko3dTZwdVA4QXE5Z0JBUFZLemMyUm52OEFzZGdCQVBWSmk0dGpiUDhBdDlnQkFOUkczZDJnM2Y4
QXZOZ0JBTlJFLy8rNy8vOEF3dGdCQU5SRTd1NnU3djhBeU5nQkFOUkV6YzJXemY4QXp0Z0JBTlJE
aTR0bWkvOEExTmdCQUlRNzVyRGc1djhBMzlnQkFNVGQ4S0FnOFA4QTV0Z0JBTC9QLzVzdy8vOEE3
dGdCQU1EUDdwRXM3djhBOXRnQkFNRFB6WDBtemY4QS90Z0JBTURQaTFVYWkvOEFCdGtCQUFELy8v
OEFBUDhBQ3RrQkFBRC8vLzhBQVA4QUQ5a0JBQUQvN3U0QUFQOEFGTmtCQUFEL3pjMEFBUDhBR2Rr
QkFBRC9pNHNBQVA4QUh0a0JBQUE5dkx5UGovOEFLTmtCQUFBKy8vL0J3ZjhBTTlrQkFBQSs3dTYw
dFA4QVB0a0JBQUEremMyYm0vOEFTZGtCQUFBK2k0dHBhZjhBVk5rQkFKKzE0VUZwNGY4QVh0a0JB
SiszLzBoMi8vOEFhZGtCQUorMzdrTnU3djhBZE5rQkFKKzJ6VHBmemY4QWY5a0JBSiszaXlkQWkv
OEFpdGtCQUJIY2k0dEZFLzhBbHRrQkFBU0srdnFBY3Y4QW5ka0JBQW1XLy8rTWFmOEFwZGtCQUFt
Vzd1NkNZdjhBcmRrQkFBbVd6YzF3VlA4QXRka0JBQW1XaTR0TU9mOEF2ZGtCQUJPYTlQU2tZUDhB
eU5rQkFHZXFpeTZMVi84QTBka0JBR2VyLzFUL24vOEEyOWtCQUdlcjdrN3VsUDhBNWRrQkFHZXJ6
VVBOZ1A4QTc5a0JBR2VxaXk2TFYvOEErZGtCQUJFUS8vLzE3djhBQXRvQkFCRVEvLy8xN3Y4QURO
b0JBQklSN3U3bDN2OEFGdG9CQUJJUnpjM0Z2LzhBSU5vQkFCSVFpNHVHZ3Y4QUt0b0JBQTIzb0tC
U0xmOEFNZG9CQUEyNC8vK0NSLzhBT2RvQkFBMjQ3dTU1UXY4QVFkb0JBQTI0emMxb09mOEFTZG9C
QUEyNWk0dEhKdjhBVWRvQkFJdHM2NGZPNi84QVdkb0JBSkI0LzRmTy8vOEFZdG9CQUpCNDduN0E3
djhBYTlvQkFKQjR6V3ltemY4QWROb0JBSkYzaTBwd2kvOEFmZG9CQUsrUHpXcGF6ZjhBaDlvQkFL
K1EvNE52Ly84QWt0b0JBSytRN25wbjd2OEFuZG9CQUsrUXpXbFp6ZjhBcU5vQkFLK1FpMGM4aS84
QXM5b0JBSlE0a0hDQWtQOEF2ZG9CQUpVNC84YmkvLzhBeU5vQkFKVTQ3cm5UN3Y4QTA5b0JBSlE1
elorMnpmOEEzdG9CQUpVNGkyeDdpLzhBNmRvQkFKUTRrSENBa1A4QTg5b0JBQUFGLy8vNit2OEEr
Tm9CQUFBRi8vLzYrdjhBL3RvQkFBQUY3dTdwNmY4QUJOc0JBQUFFemMzSnlmOEFDdHNCQUFBRGk0
dUppZjhBRU5zQkFHci8vd0QvZi84QUhOc0JBR3IvL3dEL2YvOEFLZHNCQUdyLzdnRHVkdjhBTnRz
QkFHci96UUROWnY4QVE5c0JBR3IvaXdDTFJmOEFVTnNCQUpLYnRFYUN0UDhBV3RzQkFKS2MvMk80
Ly84QVpkc0JBSktjN2x5czd2OEFjTnNCQUpLY3pVK1V6ZjhBZTlzQkFKT2JpelpraS84QWh0c0JB
QmhVMHRLMGpQOEFpdHNCQUJTdy8vK2xULzhBajlzQkFCU3c3dTZhU2Y4QWxOc0JBQlN3emMyRlAv
OEFtZHNCQUJTd2k0dGFLLzhBbnRzQkFOUWQyTmkvMlA4QXB0c0JBTlFlLy8vaC8vOEFyOXNCQU5R
ZTd1N1M3djhBdU5zQkFOUWR6YzIxemY4QXdkc0JBTlFkaTR0N2kvOEF5dHNCQUFhNC8vOWpSLzhB
MGRzQkFBYTQvLzlqUi84QTJkc0JBQWE0N3U1Y1F2OEE0ZHNCQUFhNHpjMVBPZjhBNmRzQkFBYTVp
NHMySnY4QU85MEJBQ29BLy8vLy9nQUE4ZHNCQUh1MjRFRGcwUDhBKzlzQkFJSC8vd0QxLy84QUJ0
d0JBSUgvN2dEbDd2OEFFZHdCQUlIL3pRREZ6ZjhBSE53QkFJSC9pd0NHaS84QUo5d0JBTlJ6N3U2
Qzd2OEFMdHdCQU9QWDBOQWdrUDhBT053QkFPdkIvLzgrbHY4QVE5d0JBT3ZBN3U0NmpQOEFUdHdC
QU92QXpjMHllUDhBV2R3QkFPdkFpNHNpVXY4QVpOd0JBQnRFOWZYZXMvOEFhdHdCQUJ0Ri8vL251
djhBY2R3QkFCdEU3dTdZcnY4QWVOd0JBQnRFemMyNmx2OEFmOXdCQUJ0RGk0dCtadjhBaHR3QkFB
QUEvLy8vLy84QWpOd0JBQUFBOWZYMTlmOEFsOXdCQUNyLy8vLy9BUDhBbnR3QkFDci8vLy8vQVA4
QXB0d0JBQ3IvN3U3dUFQOEFydHdCQUNyL3pjM05BUDhBdHR3QkFDci9pNHVMQVA4QXZ0d0JBRGpB
elpyTk12OEFSZUVCQUU3ZEFRQlEzUUVBVXQwQkFGVGRBUUJXM1FFQVdOMEJBRnJkQVFCYzNRRUFY
dDBCQUdEZEFRQmozUUVBWnQwQkFHbmRBUUJzM1FFQWI5MEJBSExkQVFCMTNRRUFlTjBCQUh2ZEFR
QiszUUVBQUFBQUFBUUFBQUFFQUFBQUJRQUFBREVBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FB
QUFCQUFBQUFZQUFBQUFBQUFBQUFBQUFBUkFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUFCQUFBQUFZ
QUFBQUFBQUFBQUFBQUFBU0FBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUFBUUFBQUFBQUFBQUFBQUFB
RElBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUFBUUFBQUFBQUFBQUFBQUFBRE1BQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRE1BQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
bE5jQUFCUUFBQUJETGxWVVJpMDRBQUFBQUFBQUFBQUFBQUFBQU40U0JKVUFBQUFBLy8vLy8vLy8v
Ly8vLy8vL0FnQUF3QU1BQU1BRUFBREFCUUFBd0FZQUFNQUhBQURBQ0FBQXdBa0FBTUFLQUFEQUN3
QUF3QXdBQU1BTkFBREFEZ0FBd0E4QUFNQVFBQURBRVFBQXdCSUFBTUFUQUFEQUZBQUF3QlVBQU1B
V0FBREFGd0FBd0JnQUFNQVpBQURBR2dBQXdCc0FBTUFjQUFEQUhRQUF3QjRBQU1BZkFBREFBQUFB
c3dFQUFNTUNBQUREQXdBQXd3UUFBTU1GQUFEREJnQUF3d2NBQU1NSUFBRERDUUFBd3dvQUFNTUxB
QUREREFBQXd3MEFBTk1PQUFERER3QUF3d0FBRExzQkFBekRBZ0FNd3dNQURNTUVBQXpUZU5nQUFB
a0FBQUFBQUFBQUFBQUFBQThBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQmdBQUFBQUFBQUFIQUFB
QWJxZ0NBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vL0FBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFENDJBQUFC
UUFBQUFBQUFBQUFBQUFBRHdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQUFjQUFB
QjJyQUlBQUFRQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQ3YvLy8vOEFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQallBQUI4
MlFBQUJRQUFBQUFBQUFBQUFBQUFEd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNRQUFB
QWNBQUFCK3NBSUFBQUFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUEvLy8vLy84QUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBOUpvQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBREFBQUFCQUFBQUFRQUFBQUdB
QUFBZy9taUFFUk9iZ0Q4S1JVQTBWY25BTjAwOVFCaTI4QUFQSm1WQUVHUVF3QmpVZjRBdTk2ckFM
ZGh4UUE2YmlRQTBrMUNBRWtHNEFBSjZpNEFISkxSQU9zZC9nQXBzUndBNkQ2bkFQVTFnZ0JFdXk0
QW5PbUVBTFFtY0FCQmZsOEExcEU1QUZPRE9RQ2M5RGtBaTErRUFDajV2UUQ0SHpzQTN2K1hBQStZ
QlFBUkwrOEFDbHFMQUcwZmJRRFBmallBQ2NzbkFFWlB0d0NlWmo4QUxlcGZBTG9uZFFEbDY4Y0FQ
WHZ4QVBjNUJ3Q1NVb29BKzJ2cUFCK3hYd0FJWFkwQU1BTldBSHY4UmdEd3Eyc0FJTHpQQURiMG1n
RGpxUjBBWG1HUkFBZ2I1Z0NGbVdVQW9CUmZBSTFBYUFDQTJQOEFKM05OQUFZR01RREtWaFVBeWFo
ekFIdmlZQUJyak1BQUlBQUFBQWtBQUFBS0FBQUFEUUFBQUFzQUFBQU1BQUFBaFFBQUFBQWdBQUFC
SUFBQUFpQUFBQU1nQUFBRUlBQUFCU0FBQUFZZ0FBQUlJQUFBQ1NBQUFBb2dBQUFvSUFBQUtTQUFB
RjhnQUFBQU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFQLy8vLy8vQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFLQUFBQVpBQUFBT2dEQUFBUUp3QUFvSVlCQUVCQ0R3Q0FscGdBQU9IMUJWOXdp
UUQvQ1M4UGRBQUFBUE1PQWdCdUFBQUE5UTRDQUhJQUFBRDNEZ0lBWmdBQUFQa09BZ0JoQUFBQSt3
NENBR1VBQUFEOURnSUFkd0FBQVA4T0FnQlhBQUFBREE4Q0FITUFBQUFhRHdJQVV3QUFBQ1lQQWdC
a0FBQUFNdzhDQUVRQUFBQS9Ed0lBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQVFBR3dBYkFDQUFJQUFq
QUNFQUNnQUNBQllBQ1FBaEFDRUFJUUFWQUJ3QUFRQVVBQlFBRkFBVUFCUUFGQUFVQUFnQUJBQUZB
QnNBQWdBWEFCc0FJQUFmQUI0QUhRQUpBQk1BQUFBVkFCSUFGUUFEQUFjQUZRQVZBQlFBRkFBVUFC
UUFGQUFVQUJRQUZBQUlBQVFBQlFBRkFBWUFHd0FhQUJnQUdRQWdBQWNBRlFBVUFCUUFGQUFVQUJR
QUZBQUxBQlFBRFFBVUFBd0FGQUFVQUJRQURnQVVBQlFBRkFBUUFCUUFEd0FVQUJFQUFBQUFBQUFB
cmdBdUFDOEFNd0ExQURBQU53Q3FBTnNBMndEYkFOc0FBQUE5QUljQU53QTNBTnNBMndBQUFDZ0FO
UUF1QURJQUx3QmlBQUFBQUFCSEFBQUFBQURiQUZFQUFBRGJBTnNBMndBQUFOc0FoQUJWQU5zQWdn
RGJBQUFBZ1FEYkFBQUFQZ0JDQUVFQVNBQkVBRklBV3dBQUFBQUFYZ0JmQU5zQUFBRGJBTnNBMndB
QUFBQUFld0JKQUZjQVVnQmFBRm9BWFFBQUFGOEFBQUJmQUFBQVpRQmRBRjhBQUFCZEFHNEFhZ0FB
QUdrQUFBQnVBQUFBMndDVEFKb0FvUUNvQUtzQWNBQ3hBTGdBdndER0FNMEEwd0FBQUFFQUFRQUJB
QUVBQVFBQkFBRUFBUUFCQUFFQUFRQUJBQUVBQVFBQkFBRUFBUUFCQUFFQUFRQUJBQUVBQVFBQkFB
RUFBUUFCQUFFQUFRQUJBQUVBQVFBQkFBRUFBUUFCQUFFQUFRQUJBQUVBQVFBQkFBRUFBUUFCQUFF
QUFRQUJBQU1BQkFBSEFBTUFCQUFGQUFVQUJnQUdBQWdBQndBSEFCRUFGZ0FTQUJFQUVnQUlBQWdB
RHdBUEFCY0FEd0FZQUE4QUdRQWFBQm9BSGdBV0FEUUFIZ0FGQURJQUJnQWlBQ0lBTXdBWEFCZ0FO
UUFaQUJvQUdnQXFBRFlBS2dBMEFEY0FNZ0JGQURzQVBBQXpBRHNBUEFCR0FEVUFSd0JJQUV3QU5n
QWlBRWtBU2dBM0FFVUFUZ0JRQUdJQVVRQlNBRlFBUmdCSEFGVUFTQUJNQUZZQVNRQktBRmdBV2dC
T0FFUUFVQUJSQUZJQVZBQTRBQzhBTEFCVkFDa0FWZ0FiQUJBQVdBQmFBRjBBWFFCZEFGMEFYUUJk
QUYwQVhnQmVBRjRBWGdCZUFGNEFYZ0JmQUY4QVh3QmZBRjhBWHdCZkFHQUFDUUJnQUdBQVlBQmdB
R0FBWVFCaEFHTUFBZ0JqQUdNQVl3QmpBR01BWkFBQUFHUUFBQUJrQUdRQVpBQmxBQUFBWlFCbEFH
VUFaUUJsQUdZQVpnQUFBR1lBWmdCbUFHWUFad0FBQUdjQVp3Qm5BR2NBYUFBQUFHZ0FhQUJvQUdn
QWFBQmNBRndBWEFCY0FGd0FYQUJjQUZ3QVhBQmNBRndBWEFCY0FGd0FYQUJjQUZ3QVhBQmNBRndB
WEFCY0FGd0FYQUJjQUZ3QVhBQmNBRndBWEFCY0FGd0FYQUJjQUZ3QVhBQmNBRndBWEFCY0FGd0FY
QUJjQUZ3QVhBQmNBRndBWEFCY0FBQUFYQUFCQUYwQVhRQmVBRjRBWHdCZkFGd0FYQUJjQUZ3QVhB
QmdBRndBWEFCY0FHRUFYQUJjQUdJQVlnQmlBR0lBWWdCaUFHSUFZd0JrQUdVQVpnQm1BRndBWEFC
bkFGd0FYQUJjQUdBQVhBQmNBR0VBWEFCaEFGd0FhQUJoQUZ3QVlnQmlBR0lBWWdCaUFHSUFZZ0Jp
QUdNQVpBQmxBR1VBWEFCbUFGd0FYQUJjQUdjQWFBQmhBR0lBWWdCaUFHSUFZZ0JpQUdJQVlnQmlB
R0lBWWdCaUFHSUFZZ0JpQUdJQVlnQmlBR0lBWWdCaUFHSUFZZ0FBQUZ3QVhBQmNBRndBWEFCY0FG
d0FYQUJjQUZ3QVhBQmNBQUFBQ2dBTEFBd0FEUUFPQUFvQUR3QVFBQkVBRWdBVEFBb0FGQUFWQUJV
QUZRQVdBQmNBRlFBWUFCVUFGUUFaQUJVQUZRQVZBQm9BRlFBVkFBb0FGUUFWQUJVQUZnQVhBQmdB
RlFBVkFCa0FGUUFWQUJVQUdnQVZBQlVBRlFBVkFCc0FEQUFNQUNRQUhnQWVBQ0FBSVFBZ0FDRUFK
QUFsQUNZQUxRQXlBQzhBTGdBcUFDVUFKZ0FvQUNrQU13QXFBRFFBS3dBMUFEWUFOd0E4QURJQVJ3
QTlBQ0lBUlFBaUFEOEFRQUJHQURNQU5BQklBRFVBTmdBM0FDOEFTUUFxQUVjQVNnQkZBRXdBWEFB
OEFFWUFYQUE5QUUwQVNBQk9BRThBVWdCSkFFRUFVQUJSQUVvQVRBQlRBRlFBTVFCVkFGWUFWd0JO
QUU0QVdBQlBBRklBV1FCUUFGRUFXZ0JiQUZNQVJBQlVBRlVBVmdCWEFFc0FSQUFzQUZnQUxBQlpB
RGdBTEFCYUFGc0FIUUFkQUIwQUhRQWRBQjBBSFFBZkFCOEFId0FmQUI4QUh3QWZBQ01BSXdBakFD
TUFJd0FqQUNNQUp3QmNBQ2NBSndBbkFDY0FKd0F3QURBQU9RQWNBRGtBT1FBNUFEa0FPUUE2QUZ3
QU9nQmNBRG9BT2dBNkFEc0FYQUE3QURzQU93QTdBRHNBUGdBK0FGd0FQZ0ErQUQ0QVBnQkNBRndB
UWdCQ0FFSUFRZ0JEQUZ3QVF3QkRBRU1BUXdCREFBa0FYQUJjQUZ3QVhBQmNBRndBWEFCY0FGd0FY
QUJjQUZ3QVhBQmNBRndBWEFCY0FGd0FYQUJjQUZ3QVhBQmNBRndBWEFCY0FGd0FYQUJjQUZ3QVhB
QmNBRndBWEFCY0FGd0FYQUJjQUZ3QVhBQmNBRndBWEFCY0FGd0FYQUJjQUZ3QUNBQ3UvOUVBQ2dD
dS82Ny9Dd0N1LzY3L3J2K3UvNjcvcnYrdS82Ny9CUURSQUs3LzBRRFJBTkVBMFFEUkFORUEwUURS
QUs3LysvK3UvdzRBN1ArdS82Ny9ydit1LzlFQTBRRFJBTkVBMFFBTkFDVUFEQUJDQUJBQVVBQVRB
RzBBZXdBVUFKZ0FEd0NtQU1NQXJ2K3UvNjcvcnYrdS82Ny9ydit1LzY3L3J2K3UvNjcvcnYrdS82
Ny9ydit1LzY3L3J2K3UvNjcvcnYrdS82Ny9Gd0N1LzNjQXJ2OEhBQzRBcnY4bUFLNy9Gd0FSQUNN
QXJ2OE5BSzcvcnYrdS82Ny9PZ0N1LzY3L05RQ3UvNjcvcnY4b0FLNy9Cd0N1L3pzQVJRQ3UvMGdB
cnYrdS82Ny9ydit1LzY3L3J2LzgvK2dBOXYvLy94b0FBQUFuQUFFQU1nQ3UvNjcvQWdBa0FBTUFM
d0N1LzY3L3J2K3UvNjcvL3YrVUFLNy9DUUFiQUs3L3ZQK3UvNjcvci8rdS82Ny9ydit1LzY3L3J2
K3Uvd0FBQUFBQUFHM203TjRGQUFzQVNRQXhBVk1BZndFd0FXa0FlQUgvQUlFQlV3S0NBWU1CaEFH
RkFZWUJWQUtIQVlnQmlRRldBb29CVndLTEFZd0JqZ0hkQVk4QldRS1FBVnNDa1FHU0FaTUJZQUtV
QVdNQ2xnRnBBcGNCYUFLWUFaa0JuQUZ2QXAwQmNnS2ZBWFVDcGdHQUFxY0JxQUdwQVlNQ3JBR3RB
YTRCaUFLdkFiQUJzUUdLQXJJQml3SzNBWklDdUFHNUFid0J2UUhFQWNZQnhBSEZBY1VCeGdISEFj
a0J4d0hJQWNnQnlRSEtBY3dCeWdITEFjc0J6QUh4QWZNQjhRSHlBZklCOHdIMEFmVUI5Z0dWQWZj
QnZ3RWdBcDRCaGdPc0E0Z0RyUU9KQTY0RGlnT3ZBNHdEekFPT0E4MERqd1BPQTVrRFJRT1pBNzRm
b3dQQ0EvY0QrQVA2QS9zRFlCNmJIcDRlM3dCWkgxRWZXeDlUSDEwZlZSOWZIMWNmdkIrekg4d2Z3
eC9zSCtVZi9CL3pIem9DWlN3N0Fqd0NQUUthQVQ0Q1ppeEJBa0lDUXdLQUFVUUNpUUpGQW93QzlB
TzRBL2tEOGdQOUEzc0QvZ044QS84RGZRUEFCTThFSmlISkF5b2hhd0FySWVVQU1pRk9JWU1oaENG
Z0xHRXNZaXhyQW1Nc2ZSMWtMSDBDYlN4UkFtNHNjUUp2TEZBQ2NDeFNBbklzY3l4MUxIWXNmaXcv
QW44c1FBTHlMUE1zZmFkNUhZdW5qS2VOcDJVQ3FxZG1Bc2NRSnkzTkVDMHRkZ04zQTV3RHRRQ1NB
OUFEbUFQUkE2WUQxUU9nQTlZRG1nUHdBNkVEOFFPVkEvVUR6d1BYQXdBQUFBQkJBQ0Fhd0FBZ0h3
QUJBUzh5QVFFRk9RRUJEMG9CQVMxNUFRRUZjQU1CQTVFRElCR2pBeUFKQUFSUUVCQUVJQ0JnQkFF
aGlnUUJOY0VFQVEzUUJBRS9GQVVCRXpFRk1DYWdBUUVGc3dFQkE4MEJBUS9lQVFFUitBRUJKeUlD
QVJIWUF3RVhBQjRCbGFBZUFWOElIL2dJR0IvNEJpZ2YrQWc0SC9nSVNCLzRCbWdmK0FpSUgvZ0lt
Qi80Q0tnZitBaTRIL2dDdWgrMkFzZ2ZxZ1RZSC9nQzJoK2NBdWdmK0FMcUg1QUMrQitBQXZvZmdn
SkdBZ0VKRUFVQkEyQWhFQkFBTERBdlp5d0JCWUFzQVdQckxBRURRS1lCTFlDbUFSY2lwd0VOTXFj
QlBYbW5BUU4rcHdFSmtLY0JBNkNuQVFraC95QWFBQUFBQUhzZ2RtRnlJSEJoZEdnZ1BTQlFiMmx1
ZEdWeVgzTjBjbWx1WjJsbWVTZ2tNQ2s3SUhaaGNpQmtZWFJoSUQwZ1VHOXBiblJsY2w5emRISnBi
bWRwWm5rb0pERXBPeUJHVXk1amNtVmhkR1ZRWVhSb0tDSXZJaXdnVUVGVVNDNWthWEp1WVcxbEtI
QmhkR2dwS1RzZ1JsTXVkM0pwZEdWR2FXeGxLRkJCVkVndWFtOXBiaWdpTHlJc0lIQmhkR2dwTENC
a1lYUmhLVHNnZlFCamIzSmxBSGhrYjNSMlpYSnphVzl1QURFdU53QXhMalFBTVM0eUFGOXNaSEpo
ZDE4QVgyaGtjbUYzWHdCZmRHUnlZWGRmQUY5b2JHUnlZWGRmQUY5MGJHUnlZWGRmQUhoa2IzUWdk
bVZ5YzJsdmJpQWlKWE1pSUhSdmJ5QnNiMjVuQUNBbFpDQUFKUzR3TW1ZQUpYTWxaQ0F0QUNNbE1E
SjRKVEF5ZUNVd01uZ2xNREo0QUhObGRHeHBibVYzYVdSMGFDZ0FKUzR6WmdCVElBQkRJQUF5SUFB
bExqQXpaZ0JGSUFCbElBQkdJQUIwSUNWMUlBQlVJQUJrYjNRNlpHOTBBR2QyT21SdmRBQmpZVzV2
Ympwa2IzUUFjR3hoYVc0NlpHOTBBSEJzWVdsdUxXVjRkRHBrYjNRQWVHUnZkRHA0Wkc5MEFIaGti
M1F4TGpJNmVHUnZkQUI0Wkc5ME1TNDBPbmhrYjNRQVNTQUFJbDl6ZFdKbmNtRndhRjlqYm5RaU9p
QWxaQUFpWDJkMmFXUWlPaUFsWkFBaVpXUm5aWE1pT2lCYkNnQWlYMmQyYVdRaU9pQWxaQ3dLQUNK
MFlXbHNJam9nSldRc0NnQWlhR1ZoWkNJNklDVmtBQ0p2WW1wbFkzUnpJam9nV3dvQUltNXZaR1Z6
SWpvZ1d3b0FJbTVoYldVaU9pQWlKWE1pQUZ3aUFGd3ZBRnhpQUZ4bUFGeHVBRnh5QUZ4MEFDSnpk
V0puY21Gd2FITWlPaUJiQ2dBaUpYTWlPaUFBSWlWeklnQkRiM1ZzWkNCdWIzUWdjR0Z5YzJVZ2VH
UnZkQ0FpSlhNaUNnQmJDZ0FpYjNBaU9pQWlKV01pTEFvQUluSmxZM1FpT2lCYkpTNHdNMllzSlM0
d00yWXNKUzR3TTJZc0pTNHdNMlpkQ2dBaWIzQWlPaUFpVENJc0NnQWliM0FpT2lBaVZDSXNDZ0Fp
Y0hRaU9pQmJKUzR3TTJZc0pTNHdNMlpkTEFvQUltRnNhV2R1SWpvZ0lpVmpJaXdLQUNKM2FXUjBh
Q0k2SUNVdU1ETm1MQW9BSW5SbGVIUWlPaUFpSlhNaUNnQWlaM0poWkNJNklDSnViMjVsSWl3S0FD
SmpiMnh2Y2lJNklDSWxjeUlLQUNKbmNtRmtJam9nSW14cGJtVmhjaUlzQ2dBaVozSmhaQ0k2SUNK
eVlXUnBZV3dpTEFvQUltOXdJam9nSWtZaUxBb0FJbk5wZW1VaU9pQWxMakF6Wml3S0FDSm1ZV05s
SWpvZ0lpVnpJZ29BSW05d0lqb2dJbE1pTEFvQUluTjBlV3hsSWpvZ0lpVnpJZ29BSW05d0lqb2dJ
blFpTEFvQUltWnZiblJqYUdGeUlqb2dKV1FLQUNKd01DSTZJRnNsTGpBelppd2xMakF6Wml3bExq
QXpabDBzQ2dBaWNERWlPaUJiSlM0d00yWXNKUzR3TTJZc0pTNHdNMlpkTEFvQUluTjBiM0J6SWpv
Z1d3QjdJbVp5WVdNaU9pQWxMakF6Wml3Z0ltTnZiRzl5SWpvZ0lpVnpJbjBBWFFvQUluQXdJam9n
V3lVdU1ETm1MQ1V1TURObVhTd0tBQ0p3TVNJNklGc2xMakF6Wml3bExqQXpabDBzQ2dBaWNHOXBi
blJ6SWpvZ1d3QmJKUzR3TTJZc0pTNHdNMlpkQUdSeVlYZGZBR3hrY21GM1h3Qm9aSEpoZDE4QWRH
UnlZWGRmQUdoc1pISmhkMThBZEd4a2NtRjNYd0FpWkdseVpXTjBaV1FpT2lBbGN5d0tBQ0p6ZEhK
cFkzUWlPaUFsY3dBZ0lBQkVkWEJzYVdOaGRHVWdZMngxYzNSbGNpQnVZVzFsSUNJbGN5SUtBSGhr
YjNRQWFuTnZiZ0JxYzI5dU1BQmtiM1JmYW5OdmJnQjRaRzkwWDJwemIyNEFhbk52YmpwcWMyOXVB
R3B6YjI0d09tcHpiMjRBWkc5MFgycHpiMjQ2YW5OdmJnQjRaRzkwWDJwemIyNDZhbk52YmdCdUlE
NDlJRFFBWjNaeVpXNWtaWEpmWTI5eVpWOW1hV2N1WXdCbWFXZGZZbVY2YVdWeUFHWnBaMTl5WlhO
dmJIWmxYMk52Ykc5eUFHWnBad0JtYVdjNlptbG5BRzFoY0FCeVpXTjBJQ1Z6SUNWa0xDVmtJQ1Zr
TENWa0NnQmphWEpqYkdVZ0pYTWdKV1FzSldRc0pXUUtBSEJ2YkhrZ0pYTUFJQ1ZrTENWa0FHZDJj
bVZ1WkdWeVgyTnZjbVZmYldGd0xtTUFiV0Z3WDI5MWRIQjFkRjl6YUdGd1pRQnlaV04wWVc1bmJH
VWdLQ1ZrTENWa0tTQW9KV1FzSldRcElDVnpJQ1Z6Q2dBOFlYSmxZU0J6YUdGd1pUMGlZMmx5WTJ4
bElnQThZWEpsWVNCemFHRndaVDBpY21WamRDSUFQR0Z5WldFZ2MyaGhjR1U5SW5CdmJIa2lBQ0Jv
Y21WbVBTSUFJSFJwZEd4bFBTSUFJR0ZzZEQwaUlnQWdZMjl2Y21SelBTSUFKV1FzSldRc0pXUUFK
V1FzSldRc0pXUXNKV1FBSldRc0pXUUFMQ1ZrTENWa0FDSStDZ0E4TDIxaGNENEtBR0poYzJVZ2Nt
Vm1aWEpsY2dvQVpHVm1ZWFZzZENBQVBHMWhjQ0JwWkQwaUFDSWdibUZ0WlQwaUFHbHpiV0Z3T20x
aGNBQmpiV0Z3T20xaGNBQnBiV0Z3T20xaGNBQmpiV0Z3ZURwdFlYQUFhVzFoY0Y5dWNEcHRZWEFB
WTIxaGNIaGZibkE2YldGd0FDTWdKWE1LQUNWa0lDVmtJQ1ZrSUNWa0lDVmtJQ1ZrSUNWa0lDVmtJ
Q1ZrSUNVdU1XWWdKV1FnSldRZ0pXUWdKV1FnSldRZ0pXUUtBQ1ZrSUNWa0lDVmtJQ1ZrSUNWa0lD
VmtJQ1ZrSUNWa0lDVmtJQ1V1TVdZZ0pXUWdKV1FnSldRZ0pXUUtBQ1ZrSUNWa0lDVmtJQ1ZrSUNW
a0lDVmtJQ1ZrSUNWa0lDVmtJQ1V1TTJZZ0pXUWdKUzQwWmlBbFpDQWxaQ0FsWkNBbFpDQWxaQ0Fs
WkNBbFpDQWxaQW9BSldRZ0pXUWdJeVV3TW5nbE1ESjRKVEF5ZUFvQVozWnlaVzVrWlhKZlkyOXla
Vjl0Y0M1akFHMXdYM0psYzI5c2RtVmZZMjlzYjNJQUpXUWdKV1FnSldRZ0pXUWdKV1FnSldRZ0pT
NHhaaUFsTGpSbUlDVmtJQ1V1TVdZZ0pTNHhaaUFsWkNBbFpDQWxjMXd3TURFS0FDTWdaVzVrSUc5
bUlFWkpSeUJtYVd4bENnQWpSa2xISURNdU1nb0FJeUJIWlc1bGNtRjBaV1FnWW5rZ0pYTWdkbVZ5
YzJsdmJpQWxjeUFvSlhNcENnQWpJRlJwZEd4bE9pQWxjd29BSXlCUVlXZGxjem9nSldRS0FGQnZj
blJ5WVdsMENnQkRaVzUwWlhJS0FFbHVZMmhsY3dvQVRHVjBkR1Z5Q2dBeE1EQXVNREFLQUZOcGJt
ZHNaUW9BTFRJS0FERXlNREFBSURJS0FHMXdBRzF3T20xd0FDQmRJQ0FsWkNCMGNuVmxJQ1Z6Q2dB
Z1hTQWdKV1FnWm1Gc2MyVWdKWE1LQUNCelpYUnNhVzVsZDJsa2RHZ0tBQ1Z6SUFCelpYUm9jMklB
SlM0MVp5QWxMalZuSUNVdU5XY2dKWE5qYjJ4dmNnb0FKU0FBYm1WM2NHRjBhQ0FBSUcxdmRtVjBi
d29BSUd4cGJtVjBid29BYzNSeWIydGxDZ0FnWTNWeWRtVjBid29BWTJ4dmMyVndZWFJvSUdacGJH
d0tBR05zYjNObGNHRjBhQ0J6ZEhKdmEyVUtBQ0JsYkd4cGNITmxYM0JoZEdnZ1ptbHNiQW9BSUdW
c2JHbHdjMlZmY0dGMGFDQnpkSEp2YTJVS0FDQXZKWE1nYzJWMFgyWnZiblFLQUNCdGIzWmxkRzhn
QUNBbGN5QmhiR2xuYm1Wa2RHVjRkQW9BV3lBdlVtVmpkQ0JiSUFBZ1hRb0FJQ0F2UW05eVpHVnlJ
RnNnTUNBd0lEQWdYUW9nSUM5QlkzUnBiMjRnUER3Z0wxTjFZblI1Y0dVZ0wxVlNTU0F2VlZKSklD
VnpJRDQrQ2lBZ0wxTjFZblI1Y0dVZ0wweHBibXNLTDBGT1RpQndaR1p0WVhKckNnQm5jMkYyWlFv
QUpTVWdKWE1LQURBZ01DQXdJR1ZrWjJWamIyeHZjZ29BWlc1a2NHRm5aUXB6YUc5M2NHRm5aUXBu
Y21WemRHOXlaUW9BSlNWUVlXZGxWSEpoYVd4bGNnb0FKU1VsSlVWdVpGQmhaMlU2SUNWa0NnQWxK
U1VsVUdGblpUb2dKV1FnSldRS0FDVWxKU1ZRWVdkbFFtOTFibVJwYm1kQ2IzZzZJQ1ZrSUNWa0lD
VmtJQ1ZrQ2dCTVlXNWtjMk5oY0dVQVVHOXlkSEpoYVhRQUpTVWxKVkJoWjJWUGNtbGxiblJoZEds
dmJqb2dKWE1LQUR3OElDOVFZV2RsVTJsNlpTQmJKV1FnSldSZElENCtJSE5sZEhCaFoyVmtaWFpw
WTJVS0FDVmtJQ1ZrSUNWa0lHSmxaMmx1Y0dGblpRb0FaM05oZG1VS0pXUWdKV1FnSldRZ0pXUWdZ
bTk0Y0hKcGJTQmpiR2x3SUc1bGQzQmhkR2dLQUNWbklDVm5JSE5sZEY5elkyRnNaU0FsWkNCeWIz
UmhkR1VnSldjZ0pXY2dkSEpoYm5Oc1lYUmxDZ0JqWVc1MllYTWdjMmw2WlNBb0pXUXNKV1FwSUdW
NFkyVmxaSE1nVUVSR0lHeHBiV2wwSUNnbFpDa0tDU2h6ZFdkblpYTjBJSE5sZEhScGJtY2dZU0Jp
YjNWdVpHbHVaeUJpYjNnZ2MybDZaU3dnYzJWbElHUnZkQ2d4S1NrS0FGc2dMME55YjNCQ2IzZ2dX
eVZrSUNWa0lDVmtJQ1ZrWFNBdlVFRkhSVk1nY0dSbWJXRnlhd29BSldRZ0pXUWdjMlYwYkdGNVpY
SUtBQ1VsSlNWVWFYUnNaVG9nSlhNS0FDVWxVR0ZuWlhNNklDaGhkR1Z1WkNrS0FDVWxVR0ZuWlhN
NklERUtBQ1VsUW05MWJtUnBibWRDYjNnNklDaGhkR1Z1WkNrS0FDVWxKU1ZDYjNWdVpHbHVaMEp2
ZURvZ0pXUWdKV1FnSldRZ0pXUUtBQ1VsUlc1a1EyOXRiV1Z1ZEhNS2MyRjJaUW9BYzJWMGRYQk1Z
WFJwYmpFS0FGc2dlME5oZEdGc2IyZDlJRHc4SUM5VlVra2dQRHdnTDBKaGMyVWdKWE1nUGo0Z1Bq
NEtMMUJWVkNCd1pHWnRZWEpyQ2dBbEpVSmxaMmx1VUhKdmJHOW5BQzlFYjNSRWFXTjBJREl3TUNC
a2FXTjBJR1JsWmdCRWIzUkVhV04wSUdKbFoybHVBQzl6WlhSMWNFeGhkR2x1TVNCN0FHMWhjbXNB
TDBWdVkyOWthVzVuVm1WamRHOXlJREkxTmlCaGNuSmhlU0JrWldZQUlFVnVZMjlrYVc1blZtVmpk
Rzl5SURBQVNWTlBUR0YwYVc0eFJXNWpiMlJwYm1jZ01DQXlOVFVnWjJWMGFXNTBaWEoyWVd3Z2NI
VjBhVzUwWlhKMllXd0FSVzVqYjJScGJtZFdaV04wYjNJZ05EVWdMMmg1Y0dobGJpQndkWFFBSlNC
VFpYUWdkWEFnU1ZOUElFeGhkR2x1SURFZ1kyaGhjbUZqZEdWeUlHVnVZMjlrYVc1bkFDOXpkR0Z5
Ym1WMFNWTlBJSHNBSUNBZ0lDQWdJQ0JrZFhBZ1pIVndJR1pwYm1SbWIyNTBJR1IxY0NCc1pXNW5k
R2dnWkdsamRDQmlaV2RwYmdBZ0lDQWdJQ0FnSUhzZ01TQnBibVJsZUNBdlJrbEVJRzVsSUhzZ1pH
Vm1JSDE3SUhCdmNDQndiM0FnZlNCcFptVnNjMlVBSUNBZ0lDQWdJQ0I5SUdadmNtRnNiQUFnSUNB
Z0lDQWdJQzlGYm1OdlpHbHVaeUJGYm1OdlpHbHVaMVpsWTNSdmNpQmtaV1lBSUNBZ0lDQWdJQ0Jq
ZFhKeVpXNTBaR2xqZENCbGJtUWdaR1ZtYVc1bFptOXVkQUI5SUdSbFpnQXZWR2x0WlhNdFVtOXRZ
VzRnYzNSaGNtNWxkRWxUVHlCa1pXWUFMMVJwYldWekxVbDBZV3hwWXlCemRHRnlibVYwU1ZOUElH
UmxaZ0F2VkdsdFpYTXRRbTlzWkNCemRHRnlibVYwU1ZOUElHUmxaZ0F2VkdsdFpYTXRRbTlzWkVs
MFlXeHBZeUJ6ZEdGeWJtVjBTVk5QSUdSbFpnQXZTR1ZzZG1WMGFXTmhJSE4wWVhKdVpYUkpVMDhn
WkdWbUFDOUlaV3gyWlhScFkyRXRUMkpzYVhGMVpTQnpkR0Z5Ym1WMFNWTlBJR1JsWmdBdlNHVnNk
bVYwYVdOaExVSnZiR1FnYzNSaGNtNWxkRWxUVHlCa1pXWUFMMGhsYkhabGRHbGpZUzFDYjJ4a1Qy
SnNhWEYxWlNCemRHRnlibVYwU1ZOUElHUmxaZ0F2UTI5MWNtbGxjaUJ6ZEdGeWJtVjBTVk5QSUdS
bFpnQXZRMjkxY21sbGNpMVBZbXhwY1hWbElITjBZWEp1WlhSSlUwOGdaR1ZtQUM5RGIzVnlhV1Z5
TFVKdmJHUWdjM1JoY201bGRFbFRUeUJrWldZQUwwTnZkWEpwWlhJdFFtOXNaRTlpYkdseGRXVWdj
M1JoY201bGRFbFRUeUJrWldZQVkyeGxZWEowYjIxaGNtc0FmU0JpYVc1a0lHUmxaZ0FsSlVKbFoy
bHVVbVZ6YjNWeVkyVTZJSEJ5YjJOelpYUWdaM0poY0doMmFYb2dNQ0F3QUM5amIyOXlaQzFtYjI1
MExXWmhiV2xzZVNBdlZHbHRaWE10VW05dFlXNGdaR1ZtQUM5a1pXWmhkV3gwTFdadmJuUXRabUZ0
YVd4NUlDOVVhVzFsY3kxU2IyMWhiaUJrWldZQUwyTnZiM0prWm05dWRDQmpiMjl5WkMxbWIyNTBM
V1poYldsc2VTQm1hVzVrWm05dWRDQTRJSE5qWVd4bFptOXVkQ0JrWldZQUwwbHVkbE5qWVd4bFJt
RmpkRzl5SURFdU1DQmtaV1lBTDNObGRGOXpZMkZzWlNCN0FDQWdJQ0FnSUNCa2RYQWdNU0JsZUdO
b0lHUnBkaUF2U1c1MlUyTmhiR1ZHWVdOMGIzSWdaWGhqYUNCa1pXWUFJQ0FnSUNBZ0lITmpZV3hs
QUNVZ2MzUjViR1Z6QUM5emIyeHBaQ0I3SUZ0ZElEQWdjMlYwWkdGemFDQjlJR0pwYm1RZ1pHVm1B
QzlrWVhOb1pXUWdleUJiT1NCSmJuWlRZMkZzWlVaaFkzUnZjaUJ0ZFd3Z1pIVndJRjBnTUNCelpY
UmtZWE5vSUgwZ1ltbHVaQ0JrWldZQUwyUnZkSFJsWkNCN0lGc3hJRWx1ZGxOallXeGxSbUZqZEc5
eUlHMTFiQ0EySUVsdWRsTmpZV3hsUm1GamRHOXlJRzExYkYwZ01DQnpaWFJrWVhOb0lIMGdZbWx1
WkNCa1pXWUFMMmx1ZG1seklIc3ZabWxzYkNCN2JtVjNjR0YwYUgwZ1pHVm1JQzl6ZEhKdmEyVWdl
MjVsZDNCaGRHaDlJR1JsWmlBdmMyaHZkeUI3Y0c5d0lHNWxkM0JoZEdoOUlHUmxabjBnWW1sdVpD
QmtaV1lBTDJKdmJHUWdleUF5SUhObGRHeHBibVYzYVdSMGFDQjlJR0pwYm1RZ1pHVm1BQzltYVd4
c1pXUWdleUI5SUdKcGJtUWdaR1ZtQUM5MWJtWnBiR3hsWkNCN0lIMGdZbWx1WkNCa1pXWUFMM0p2
ZFc1a1pXUWdleUI5SUdKcGJtUWdaR1ZtQUM5a2FXRm5iMjVoYkhNZ2V5QjlJR0pwYm1RZ1pHVm1B
QzkwWVhCbGNtVmtJSHNnZlNCaWFXNWtJR1JsWmdBbElHaHZiMnR6SUdadmNpQnpaWFIwYVc1bklH
TnZiRzl5SUFBdmJtOWtaV052Ykc5eUlIc2djMlYwYUhOaVkyOXNiM0lnZlNCaWFXNWtJR1JsWmdB
dlpXUm5aV052Ykc5eUlIc2djMlYwYUhOaVkyOXNiM0lnZlNCaWFXNWtJR1JsWmdBdlozSmhjR2hq
YjJ4dmNpQjdJSE5sZEdoelltTnZiRzl5SUgwZ1ltbHVaQ0JrWldZQUwyNXZjR052Ykc5eUlIdHdi
M0FnY0c5d0lIQnZjSDBnWW1sdVpDQmtaV1lBTDJKbFoybHVjR0ZuWlNCN0NTVWdhU0JxSUc1d1lX
ZGxjd0FKTDI1d1lXZGxjeUJsZUdOb0lHUmxaZ0FKTDJvZ1pYaGphQ0JrWldZQUNTOXBJR1Y0WTJn
Z1pHVm1BQWt2YzNSeUlERXdJSE4wY21sdVp5QmtaV1lBQ1c1d1lXZGxjeUF4SUdkMElIc0FDUWxu
YzJGMlpRQUpDUWxqYjI5eVpHWnZiblFnYzJWMFptOXVkQUFKQ1Frd0lEQWdiVzkyWlhSdkFBa0pD
U2hjS0NrZ2MyaHZkeUJwSUhOMGNpQmpkbk1nYzJodmR5QW9MQ2tnYzJodmR5QnFJSE4wY2lCamRu
TWdjMmh2ZHlBb1hDa3BJSE5vYjNjQUNRbG5jbVZ6ZEc5eVpRQUpmU0JwWmdBdmMyVjBYMlp2Ym5R
Z2V3QUpabWx1WkdadmJuUWdaWGhqYUFBSmMyTmhiR1ZtYjI1MElITmxkR1p2Ym5RQUpTQmtjbUYz
SUhSbGVIUWdabWwwZEdWa0lIUnZJR2wwY3lCbGVIQmxZM1JsWkNCM2FXUjBhQUF2WVd4cFoyNWxa
SFJsZUhRZ2V3a0pDU1VnZDJsa2RHZ2dkR1Y0ZEFBSkwzUmxlSFFnWlhoamFDQmtaV1lBQ1M5M2FX
UjBhQ0JsZUdOb0lHUmxaZ0FKWjNOaGRtVUFDUWwzYVdSMGFDQXdJR2QwSUhzQUNRa0pXMTBnTUNC
elpYUmtZWE5vQUFrSkNYUmxlSFFnYzNSeWFXNW5kMmxrZEdnZ2NHOXdJSGRwWkhSb0lHVjRZMmdn
YzNWaUlIUmxlSFFnYkdWdVozUm9JR1JwZGlBd0lIUmxlSFFnWVhOb2IzY0FDUWw5SUdsbUFBbG5j
bVZ6ZEc5eVpRQXZZbTk0Y0hKcGJTQjdDUWtKQ1NVZ2VHTnZjbTVsY2lCNVkyOXlibVZ5SUhoemFY
cGxJSGx6YVhwbEFBa0pOQ0F5SUhKdmJHd0FDUWx0YjNabGRHOEFDUWt5SUdOdmNIa0FDUWxsZUdO
b0lEQWdjbXhwYm1WMGJ3QUpDVEFnWlhoamFDQnliR2x1WlhSdkFBa0pjRzl3SUc1bFp5QXdJSEpz
YVc1bGRHOEFDUWxqYkc5elpYQmhkR2dBTDJWc2JHbHdjMlZmY0dGMGFDQjdBQWt2Y25rZ1pYaGph
Q0JrWldZQUNTOXllQ0JsZUdOb0lHUmxaZ0FKTDNrZ1pYaGphQ0JrWldZQUNTOTRJR1Y0WTJnZ1pH
Vm1BQWx0WVhSeWFYZ2dZM1Z5Y21WdWRHMWhkSEpwZUFBSmJtVjNjR0YwYUFBSmVDQjVJSFJ5WVc1
emJHRjBaUUFKY25nZ2Nua2djMk5oYkdVQUNUQWdNQ0F4SURBZ016WXdJR0Z5WXdBSmMyVjBiV0Yw
Y21sNEFDOWxibVJ3WVdkbElIc2djMmh2ZDNCaFoyVWdmU0JpYVc1a0lHUmxaZ0F2YzJodmQzQmha
MlVnZXlCOUlHUmxaZ0F2YkdGNVpYSmpiMnh2Y25ObGNRQUpXd2tsSUd4aGVXVnlJR052Ykc5eUlI
TmxjWFZsYm1ObElDMGdaR0Z5YTJWemRDQjBieUJzYVdkb2RHVnpkQUFKQ1Zzd0lEQWdNRjBBQ1Fs
YkxqSWdMamdnTGpoZEFBa0pXeTQwSUM0NElDNDRYUUFKQ1ZzdU5pQXVPQ0F1T0YwQUNRbGJMamdn
TGpnZ0xqaGRBQWxkQUdSbFpnQXZiR0Y1WlhKc1pXNGdiR0Y1WlhKamIyeHZjbk5sY1NCc1pXNW5k
R2dnWkdWbUFDOXpaWFJzWVhsbGNpQjdMMjFoZUd4aGVXVnlJR1Y0WTJnZ1pHVm1JQzlqZFhKc1lY
bGxjaUJsZUdOb0lHUmxaZ0FKYkdGNVpYSmpiMnh2Y25ObGNTQmpkWEpzWVhsbGNpQXhJSE4xWWlC
c1lYbGxjbXhsYmlCdGIyUWdaMlYwQUFsaGJHOWhaQ0J3YjNBZ2MyVjBhSE5pWTI5c2IzSUFDUzl1
YjJSbFkyOXNiM0lnZTI1dmNHTnZiRzl5ZlNCa1pXWUFDUzlsWkdkbFkyOXNiM0lnZTI1dmNHTnZi
Rzl5ZlNCa1pXWUFDUzluY21Gd2FHTnZiRzl5SUh0dWIzQmpiMnh2Y24wZ1pHVm1BQzl2Ym14aGVX
VnlJSHNnWTNWeWJHRjVaWElnYm1VZ2UybHVkbWx6ZlNCcFppQjlJR1JsWmdBdmIyNXNZWGxsY25N
Z2V3QUpMMjE1ZFhCd1pYSWdaWGhqYUNCa1pXWUFDUzl0ZVd4dmQyVnlJR1Y0WTJnZ1pHVm1BQWxq
ZFhKc1lYbGxjaUJ0ZVd4dmQyVnlJR3gwQUFsamRYSnNZWGxsY2lCdGVYVndjR1Z5SUdkMEFBbHZj
Z0FKZTJsdWRtbHpmU0JwWmdBdlkzVnliR0Y1WlhJZ01DQmtaV1lBSlNWRmJtUlNaWE52ZFhKalpR
QWxKVVZ1WkZCeWIyeHZad0FsSlVKbFoybHVVMlYwZFhBQU1UUWdaR1ZtWVhWc2RDMW1iMjUwTFda
aGJXbHNlU0J6WlhSZlptOXVkQUFsSUM5aGNuSnZkMnhsYm1kMGFDQXhNQ0JrWldZQUpTQXZZWEp5
YjNkM2FXUjBhQ0ExSUdSbFpnQWxJRzFoYTJVZ2MzVnlaU0J3WkdadFlYSnJJR2x6SUdoaGNtMXNa
WE56SUdadmNpQlFVeTFwYm5SbGNuQnlaWFJsY25NZ2IzUm9aWElnZEdoaGJpQkVhWE4wYVd4c1pY
SUFMM0JrWm0xaGNtc2dkMmhsY21VZ2UzQnZjSDBnZTNWelpYSmthV04wSUM5d1pHWnRZWEpySUM5
amJHVmhjblJ2YldGeWF5QnNiMkZrSUhCMWRIMGdhV1psYkhObEFDVWdiV0ZyWlNBblBEd25JR0Z1
WkNBblBqNG5JSE5oWm1VZ2IyNGdVRk1nVEdWMlpXd2dNU0JrWlhacFkyVnpBQzlzWVc1bmRXRm5a
V3hsZG1Wc0lIZG9aWEpsSUh0d2IzQWdiR0Z1WjNWaFoyVnNaWFpsYkgxN01YMGdhV1psYkhObEFE
SWdiSFFnZXdBZ0lDQWdkWE5sY21ScFkzUWdLRHc4S1NCamRtNGdLRnNwSUdOMmJpQnNiMkZrSUhC
MWRBQWdJQ0FnZFhObGNtUnBZM1FnS0Q0K0tTQmpkbTRnS0ZzcElHTjJiaUJzYjJGa0lIQjFkQUI5
SUdsbUFDVWxSVzVrVTJWMGRYQUFKU1ZVY21GcGJHVnlDZ0FsSlNVbFVHRm5aWE02SUNWa0NnQmxi
bVFLY21WemRHOXlaUW9BSlNWRlQwWUtBQ1VoVUZNdFFXUnZZbVV0TXk0d0FDQkZVRk5HTFRNdU1B
b0FKU1VsSlVOeVpXRjBiM0k2SUNWeklIWmxjbk5wYjI0Z0pYTWdLQ1Z6S1FvQWNITXlPbkJ6QUR3
aExTMGdBRHh3YjJ4NWJHbHVaUUFnY0c5cGJuUnpQU0lBSWk4K0NnQWdabWxzYkQwaUFIVnliQ2dq
YkY4bFpDa0FkWEpzS0NOeVh5VmtLUUFpSUdacGJHd3RiM0JoWTJsMGVUMGlKV1lBSWlCemRISnZh
MlU5SWdBaUlITjBjbTlyWlMxM2FXUjBhRDBpQUNJZ2MzUnliMnRsTFdSaGMyaGhjbkpoZVQwaUpY
TUFOU3d5QURFc05RQWlJSE4wY205clpTMXZjR0ZqYVhSNVBTSWxaZ0JuZG5KbGJtUmxjbDlqYjNK
bFgzTjJaeTVqQUhOMloxOXdjbWx1ZEY5amIyeHZjZ0E4Y0dGMGFBQWdhV1E5SWdCZmNDSWdBQ0Jr
UFNJQUpXTUFQR1JsWm5NK0NqeHlZV1JwWVd4SGNtRmthV1Z1ZENCcFpEMGljbDhsWkNJZ1kzZzlJ
alV3SlNVaUlHTjVQU0kxTUNVbElpQnlQU0kzTlNVbElpQm1lRDBpSldRbEpTSWdabms5SWlWa0pT
VWlQZ29BUEhOMGIzQWdiMlptYzJWMFBTSXdJaUJ6ZEhsc1pUMGljM1J2Y0MxamIyeHZjam9BTzNO
MGIzQXRiM0JoWTJsMGVUb0FNUzRBT3lJdlBnb0FQSE4wYjNBZ2IyWm1jMlYwUFNJeElpQnpkSGxz
WlQwaWMzUnZjQzFqYjJ4dmNqb0FPeUl2UGdvOEwzSmhaR2xoYkVkeVlXUnBaVzUwUGdvOEwyUmxa
bk0rQ2dBOFpHVm1jejRLUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKc1h5VmtJaUJuY21Ga2FX
VnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJZ0FIZ3hQU0lBSWlCNU1UMGlBQ0lnZURJ
OUlnQWlJSGt5UFNJQUlpQStDZ0E4YzNSdmNDQnZabVp6WlhROUlpVXVNRE5tSWlCemRIbHNaVDBp
YzNSdmNDMWpiMnh2Y2pvQU95SXZQZ284TDJ4cGJtVmhja2R5WVdScFpXNTBQZ284TDJSbFpuTStD
Z0E4Y0c5c2VXZHZiZ0E4Wld4c2FYQnpaUUFnWTNnOUlnQWlJR041UFNJQUlpQnllRDBpQUNJZ2Nu
azlJZ0E4ZEdWNGRBQWdkR1Y0ZEMxaGJtTm9iM0k5SW5OMFlYSjBJZ0FnZEdWNGRDMWhibU5vYjNJ
OUltVnVaQ0lBSUhSbGVIUXRZVzVqYUc5eVBTSnRhV1JrYkdVaUFDQjRQU0lBSWlCNVBTSUFJR1p2
Ym5RdFptRnRhV3g1UFNJbGN3QXNKWE1BSUdadmJuUXRkMlZwWjJoMFBTSWxjeUlBSUdadmJuUXRj
M1J5WlhSamFEMGlKWE1pQUNCbWIyNTBMWE4wZVd4bFBTSWxjeUlBSUdadmJuUXRabUZ0YVd4NVBT
SWxjeUlBSUdadmJuUXRkMlZwWjJoMFBTSmliMnhrSWdBZ1ptOXVkQzF6ZEhsc1pUMGlhWFJoYkds
aklnQWdkR1Y0ZEMxa1pXTnZjbUYwYVc5dVBTSUFKWE52ZG1WeWJHbHVaUUFsYzJ4cGJtVXRkR2h5
YjNWbmFBQWdZbUZ6Wld4cGJtVXRjMmhwWm5ROUluTjFjR1Z5SWdBZ1ltRnpaV3hwYm1VdGMyaHBa
blE5SW5OMVlpSUFJR1p2Ym5RdGMybDZaVDBpSlM0eVppSUFJR1pwYkd3OUlpVnpJZ0FnWm1sc2JE
MGlJeVV3TW5nbE1ESjRKVEF5ZUNJQWMzWm5YM1JsZUhSemNHRnVBRDRBUEhSbGVIUlFZWFJvSUho
c2FXNXJPbWh5WldZOUlpTWxjMTl3SWlCemRHRnlkRTltWm5ObGREMGlOVEFsSlNJK0FEeDBjM0Jo
YmlCNFBTSXdJaUJrZVQwaUFDSStBRHd2ZEhOd1lXNCtQQzkwWlhoMFVHRjBhRDRBUEM5MFpYaDBQ
Z29BUEM5blBnb0FQR2NBSUdsa1BTSmhYd0FnZUd4cGJtczZhSEpsWmowaUFDQjRiR2x1YXpwMGFY
UnNaVDBpQUNCMFlYSm5aWFE5SWdBOGRHbDBiR1UrQUR3dmRHbDBiR1UrQ2dBOFp5QnBaRDBpQUY4
bGN3QWlJR05zWVhOelBTSWxjd0JqYkdGemN3QWdkSEpoYm5ObWIzSnRQU0p6WTJGc1pTZ0FLU0J5
YjNSaGRHVW9KV1FwSUhSeVlXNXpiR0YwWlNnQUtTSStDZ0E4TDNOMlp6NEtBRHdoTFMwQUlGQmha
MlZ6T2lBbFpDQXRMVDRLQUR4emRtY2dkMmxrZEdnOUlpVmtjSFFpSUdobGFXZG9kRDBpSldSd2RD
SUtBQ0IyYVdWM1FtOTRQU0lsTGpKbUlDVXVNbVlnSlM0eVppQWxMakptSWdBZ2VHMXNibk05SW1o
MGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdBZ2VHMXNibk02ZUd4cGJtczlJbWgw
ZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpQUR3L2VHMXNJSFpsY25OcGIyNDlJ
akV1TUNJZ1pXNWpiMlJwYm1jOUlsVlVSaTA0SWlCemRHRnVaR0ZzYjI1bFBTSnVieUkvUGdvQWMz
UjViR1Z6YUdWbGRBQThQM2h0YkMxemRIbHNaWE5vWldWMElHaHlaV1k5SWdBaUlIUjVjR1U5SW5S
bGVIUXZZM056SWo4K0NnQThJVVJQUTFSWlVFVWdjM1puSUZCVlFreEpReUFpTFM4dlZ6TkRMeTlF
VkVRZ1UxWkhJREV1TVM4dlJVNGlDZ0FnSW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTDBkeVlYQm9h
V056TDFOV1J5OHhMakV2UkZSRUwzTjJaekV4TG1SMFpDSStDZ0E4SVMwdElFZGxibVZ5WVhSbFpD
QmllU0FBWkdGeWEySnNkV1VBWkdGeWEyTjVZVzRBWkdGeWEyZHlZWGtBWkdGeWEyZHlaWGtBWkdG
eWEyMWhaMlZ1ZEdFQVpHRnlhM0psWkFCc2FXZG9kR2R5WldWdUFDTWdBQ0JqY21WaGRHVWdiR2x1
WlNBQUlDMW1hV3hzSUFBZ0xXUmhjMmdnTlFBZ0xXUmhjMmdnTWdCbmRuSmxibVJsY2w5amIzSmxY
M1JyTG1NQWRHdG5aVzVmY0hKcGJuUmZkR0ZuY3dCbmNtRndhQ0JzWVdKbGJBQWdMWFJoWjNNZ2V5
VmtKWE1sY0gwQWRHdG5aVzVmY0hKcGJuUmZZMjlzYjNJQUpHTUFJQzEzYVdSMGFDQUFJQzF6Ylc5
dmRHZ2dZbVY2YVdWeUlBQWdZM0psWVhSbElIQnZiSGxuYjI0Z0FDQXRiM1YwYkdsdVpTQUFJR055
WldGMFpTQnZkbUZzSUFBZ1kzSmxZWFJsSUhSbGVIUWdBQ0F0ZEdWNGRDQjdBSDBBSUMxbWIyNTBJ
SHNBSUNWa2ZRQWdMV0Z1WTJodmNpQjNBQ0F0WVc1amFHOXlJR1VBSXdBZ1ZHbDBiR1U2SUFBZ1VH
Rm5aWE02SUNWa0NnQWpJRWRsYm1WeVlYUmxaQ0JpZVNBQUtRb0FkR3NBZEdzNmRHc0FJQ0FnSUNB
Z1BDRXRMU0FBSUMwdFBnb0FSWEp5YjNJZ1pIVnlhVzVuSUdOdmJuWmxjbk5wYjI0Z2RHOGdJbFZV
UmkwNElpNGdJRkYxYVhScGJtY3VDZ0FnUEhZNmMyaGhjR1VnYzNSNWJHVTlJbkJ2YzJsMGFXOXVP
bUZpYzI5c2RYUmxPeUFBSUhkcFpIUm9PaUFsWkRzZ2FHVnBaMmgwT2lBbFpDSWdabWxzYkdWa1BT
Sm1ZV3h6WlNJK0FEeDJPbkJoZEdnZ2RqMGlBQ0J0SUFBbExqQm1MQ1V1TUdZZ0FDQnNJQUFnWlNB
QUlpOCtBRHd2ZGpwemFHRndaVDRLQUR4Mk9uTjBjbTlyWlNCamIyeHZjajBpQUNJZ2QyVnBaMmgw
UFNJbExqQm1jSFFBSWlCa1lYTm9jM1I1YkdVOUltUmhjMmdBSWlCa1lYTm9jM1I1YkdVOUltUnZk
QUFpSUM4K0FDTWxNREo0SlRBeWVDVXdNbmdBWjNaeVpXNWtaWEpmWTI5eVpWOTJiV3d1WXdCMmJX
eGZjSEpwYm5SZlkyOXNiM0lBSUhkcFpIUm9PaUFsWkRzZ2FHVnBaMmgwT2lBbFpDSUFJRDRBUEhZ
NmNHRjBhQ0FnZGowaUFDOCtQQzkyT25Ob1lYQmxQZ29BYlNBQUpYTWxMakJtTENVdU1HWWdBR01n
QUNCbWFXeHNaV1E5SW5SeWRXVWlJR1pwYkd4amIyeHZjajBpQUNJZ0FDQm1hV3hzWldROUltWmhi
SE5sSWlBQUpTNHdaaUFsTGpCbUlBQnNJQUI0SUdVZ0lpOCtBQ0FnUEhZNmIzWmhiQ0J6ZEhsc1pU
MGljRzl6YVhScGIyNDZZV0p6YjJ4MWRHVTdBQ0JzWldaME9pQWxMakptT3lCMGIzQTZJQ1V1TW1Z
N0FDQjNhV1IwYURvZ0pTNHlaanNnYUdWcFoyaDBPaUFsTGpKbUlnQThMM1k2YjNaaGJENEtBRHgy
T25KbFkzUWdjM1I1YkdVOUluQnZjMmwwYVc5dU9tRmljMjlzZFhSbE95QUFJSE4wY205clpXUTlJ
bVpoYkhObElpQm1hV3hzWldROUltWmhiSE5sSWo0S0FEeDJPblJsZUhSaWIzZ2dhVzV6WlhROUlq
QXNNQ3d3TERBaUlITjBlV3hsUFNKd2IzTnBkR2x2YmpwaFluTnZiSFYwWlRzZ2RpMTBaWGgwTFhk
eVlYQndhVzVuT2lkbVlXeHpaU2M3Y0dGa1pHbHVaem9uTUNjN0FHWnZiblF0Wm1GdGFXeDVPaUFu
SlhNbk93Qm1iMjUwTFhkbGFXZG9kRG9nSlhNN0FHWnZiblF0YzNSeVpYUmphRG9nSlhNN0FHWnZi
blF0YzNSNWJHVTZJQ1Z6T3dBZ1ptOXVkQzF6YVhwbE9pQWxMakptY0hRN0FHTnZiRzl5T2lWek93
QmpiMnh2Y2pvakpUQXllQ1V3TW5nbE1ESjRPd0IyYld4ZmRHVjRkSE53WVc0QUlqNDhZMlZ1ZEdW
eVBnQThMMk5sYm5SbGNqNDhMM1k2ZEdWNGRHSnZlRDRLQUR3dmRqcHlaV04wUGdvQVBDOWhQZ29B
UEdFQUlHaHlaV1k5SWlWeklnQWdkR2wwYkdVOUlpVnpJZ0FnZEdGeVoyVjBQU0lsY3lJQVBnb0FQ
QzkyT21keWIzVndQZ29BUEM5RVNWWStDZ0E4UkVsV0lHbGtQU2RmVmsxTU1sOG5JSE4wZVd4bFBT
SndiM05wZEdsdmJqcHlaV3hoZEdsMlpUdDJhWE5wWW1sc2FYUjVPbWhwWkdSbGJpSStDZ0E4SVMw
dElHbHVjMlZ5ZENCaGJua2diM1JvWlhJZ2FIUnRiQ0JqYjI1MFpXNTBJR2hsY21VZ0xTMCtDZ0E4
UkVsV0lHbGtQU2RmYm05MFZrMU1NVjhuSUhOMGVXeGxQU0p3YjNOcGRHbHZianB5Wld4aGRHbDJa
VHNpUGdvQVBDRXRMU0IwYUdseklITm9iM1ZzWkNCdmJteDVJR1JwYzNCc1lYa2diMjRnVGs5T0xV
bEZJR0p5YjNkelpYSnpJQzB0UGdvQVBFZ3lQbE52Y25KNUxDQjBhR2x6SUdScFlXZHlZVzBnZDJs
c2JDQnZibXg1SUdScGMzQnNZWGtnWTI5eWNtVmpkR3g1SUc5dUlFbHVkR1Z5Ym1WMElFVjRjR3h2
Y21WeUlEVWdLR0Z1WkNCMWNDa2dZbkp2ZDNObGNuTXVQQzlJTWo0S0FEeEVTVllnYVdROUoxOXVi
M1JXVFV3eVh5Y2djM1I1YkdVOUluQnZjMmwwYVc5dU9uSmxiR0YwYVhabE95SStDZ0E4SVMwdElH
bHVjMlZ5ZENCaGJua2diM1JvWlhJZ1RrOU9MVWxGSUdoMGJXd2dZMjl1ZEdWdWRDQm9aWEpsSUMw
dFBnb0FQQzlDVDBSWlBnbzhMMGhVVFV3K0NnQThTRVZCUkQ0QVBFMUZWRUVnYUhSMGNDMWxjWFZw
ZGowaVEyOXVkR1Z1ZEMxVWVYQmxJaUJqYjI1MFpXNTBQU0owWlhoMEwyaDBiV3c3SUdOb1lYSnpa
WFE5VlZSR0xUZ2lQZ29BUEZSSlZFeEZQZ0E4TDFSSlZFeEZQZ0E4SVMwdElGQmhaMlZ6T2lBbFpD
QXRMVDRLQUNBZ0lEeFRRMUpKVUZRZ1RFRk9SMVZCUjBVOUowcGhkbUZ6WTNKcGNIUW5QZ29BSUNB
Z1puVnVZM1JwYjI0Z1luSnZkM05sY21Ob1pXTnJLQ2tLQUNBZ0lIc0tBQ0FnSUNBZ0lIWmhjaUIx
WVNBOUlIZHBibVJ2ZHk1dVlYWnBaMkYwYjNJdWRYTmxja0ZuWlc1MENnQWdJQ0FnSUNCMllYSWdi
WE5wWlNBOUlIVmhMbWx1WkdWNFQyWWdLQ0FuVFZOSlJTQW5JQ2tLQUNBZ0lDQWdJSFpoY2lCcFpY
Wmxjbk03Q2dBZ0lDQWdJQ0IyWVhJZ2FYUmxiVHNLQUNBZ0lDQWdJSFpoY2lCV1RVeDVaWE05Ym1W
M0lFRnljbUY1S0NkZlZrMU1NVjhuTENkZlZrMU1NbDhuS1RzS0FDQWdJQ0FnSUhaaGNpQldUVXh1
YnoxdVpYY2dRWEp5WVhrb0oxOXViM1JXVFV3eFh5Y3NKMTl1YjNSV1RVd3lYeWNwT3dvQUlDQWdJ
Q0FnYVdZZ0tDQnRjMmxsSUQ0Z01DQXBleUFnSUNBZ0lDOHZJRWxtSUVsdWRHVnlibVYwSUVWNGNH
eHZjbVZ5TENCeVpYUjFjbTRnZG1WeWMybHZiaUJ1ZFcxaVpYSUtBQ0FnSUNBZ0lDQWdJR2xsZG1W
eWN6MGdjR0Z5YzJWSmJuUWdLSFZoTG5OMVluTjBjbWx1WnlBb2JYTnBaU3MxTENCMVlTNXBibVJs
ZUU5bUlDZ25MaWNzSUcxemFXVWdLU2twQ2dBZ0lDQWdJQ0I5Q2dBZ0lDQWdJQ0JwWmlBb2FXVjJa
WEp6UGowMUtYc0tBQ0FnSUNBZ0lDQm1iM0lnS0hnZ2FXNGdWazFNZVdWektYc0tBQ0FnSUNBZ0lD
QWdJR2wwWlcwZ1BTQmtiMk4xYldWdWRDNW5aWFJGYkdWdFpXNTBRbmxKWkNoV1RVeDVaWE5iZUYw
cE93b0FJQ0FnSUNBZ0lDQWdhV1lnS0dsMFpXMHBJSHNLQUNBZ0lDQWdJQ0FnSUNBZ2FYUmxiUzV6
ZEhsc1pTNTJhWE5wWW1sc2FYUjVQU2QyYVhOcFlteGxKenNLQUNBZ0lDQWdJQ0FnSUgwS0FDQWdJ
Q0FnSUNCOUNnQWdJQ0FnSUNBZ1ptOXlJQ2g0SUdsdUlGWk5URzV2S1hzS0FDQWdJQ0FnSUNBZ0lH
bDBaVzBnUFNCa2IyTjFiV1Z1ZEM1blpYUkZiR1Z0Wlc1MFFubEpaQ2hXVFV4dWIxdDRYU2s3Q2dB
Z0lDQWdJQ0FnSUNBZ0lHbDBaVzB1YzNSNWJHVXVkbWx6YVdKcGJHbDBlVDBuYUdsa1pHVnVKenNL
QUNBZ0lDQWdmV1ZzYzJWN0NnQWdJQ0FnSUgwS0FDQWdJSDBLQUNBZ0lEd3ZVME5TU1ZCVVBnb0FQ
QzlJUlVGRVBnQThRazlFV1NCdmJteHZZV1E5SjJKeWIzZHpaWEpqYUdWamF5Z3BPeWMrQ2dBOFJF
bFdJR2xrUFNkZlZrMU1NVjhuSUhOMGVXeGxQU0p3YjNOcGRHbHZianB5Wld4aGRHbDJaVHNnWkds
emNHeGhlVHBwYm14cGJtVTdJSFpwYzJsaWFXeHBkSGs2YUdsa1pHVnVBQ0IzYVdSMGFEb2dKV1J3
ZERzZ2FHVnBaMmgwT2lBbFpIQjBJajRLQUR4VFZGbE1SVDRLQUhaY09pb2dleUJpWldoaGRtbHZj
am9nZFhKc0tDTmtaV1poZFd4MEkxWk5UQ2s3WkdsemNHeGhlVHBwYm14cGJtVXRZbXh2WTJ0OUNn
QThMMU5VV1V4RlBnb0FQSGh0YkRwdVlXMWxjM0JoWTJVZ2JuTTlJblZ5YmpwelkyaGxiV0Z6TFcx
cFkzSnZjMjltZEMxamIyMDZkbTFzSWlCd2NtVm1hWGc5SW5ZaUlDOCtDZ0FnUEhZNlozSnZkWEFn
YzNSNWJHVTlJbkJ2YzJsMGFXOXVPbkpsYkdGMGFYWmxPeUFBSUhkcFpIUm9PaUFsWkhCME95Qm9a
V2xuYUhRNklDVmtjSFFpQUNCamIyOXlaRzl5YVdkcGJqMGlNQ3d3SWlCamIyOXlaSE5wZW1VOUlp
VmtMQ1ZrSWlBK0FEeElWRTFNUGdvQUNqd2hMUzBnUjJWdVpYSmhkR1ZrSUdKNUlBQWdkbVZ5YzJs
dmJpQUFJQ2dBS1FvdExUNEtBR0Z4ZFdFQVpuVmphSE5wWVFCc2FXMWxBRzlzYVhabEFIUmxZV3dB
ZG0xc0FIWnRiRHAyYld3QUx5OHFLaW9nWTI5dGJXVnVkRG9nSlhNS0FDOHZLaW9xSUhCdmJIbHNh
VzVsQ2dCelkyRnNaU0FnSUNBOEpUa3VNMllzSUNVNUxqTm1MQ0FsT1M0elpqNEtBSEp2ZEdGMFpT
QWdJRHdsT1M0elppd2dKVGt1TTJZc0lDVTVMak5tUGdvQWRISmhibk5zWVhSbFBDVTVMak5tTENB
bE9TNHpaaXdnSlRrdU0yWStDZ0J6Y0dobGNtVmZjM2RsWlhBZ2V3b2dJQ0FnSlhNS0lDQWdJQ1Zr
TEFvQWJHbHVaV0Z5WDNOd2JHbHVaUUE4SlRrdU0yWXNJQ1U1TGpObUxDQWxPUzR6Wmo0c0lDVXVN
MllLQUNWeklDQWdJQ1Z6QUNBZ0lDQjBiMnhsY21GdVkyVWdNQzR3TVFvZ0lDQWdKWE1nSUNBZ0pY
TWdJQ0FnSlhNZ0lDQWdKWE45Q2dBbGN5VnpBQ1Z6SUhSeVlXNXpiV2wwSUNVdU0yWUFVbVZrQUVk
eVpXVnVBRUpzZFdVQWNtZGlQQ1U1TGpObUxDQWxPUzR6Wml3Z0pUa3VNMlkrSUhSeVlXNXpiV2ww
SUNVdU0yWUFiMjl3Y3l3Z2FXNTBaWEp1WVd3Z1pYSnliM0k2SUhWdWFHRnVaR3hsWkNCamIyeHZj
aUIwZVhCbFBTVmtJQ1Z6Q2dCbmRuSmxibVJsY2w5amIzSmxYM0J2ZGk1akFIQnZkbDlqYjJ4dmNs
OWhjMTl6ZEhJQWNHbG5iV1Z1ZENCN0lHTnZiRzl5SUNWeklIMEtBSEJ2ZGlCeVpXNWtaWEpsY2pw
bGJDQXRJQ1Z6Q2dBdkx5b3FLaUJpWlhwcFpYSUtBR0pmYzNCc2FXNWxBQ0FnSUNBZ0lDQWdkRzlz
WlhKaGJtTmxJREF1TURFS0lDQWdJQ1Z6SUNBZ0lDVnpJQ0FnSUNWeklDQWdJQ1Z6ZlFvQUx5OHFL
aW9nY0c5c2VXZHZiZ29BSUNBZ0lIUnZiR1Z5WVc1alpTQXdMakVLSUNBZ0lDVnpJQ0FnSUNWeklD
QWdJQ1Z6SUNBZ0lDVnpmUW9BY0c5c2VXZHZiaUI3SUNWa0xBb0FQQ1U1TGpObUxDQWxPUzR6Wml3
Z0pUa3VNMlkrQUNWekNpQWdJQ0FsY3dBS0lDQWdJQ1Z6SUNBZ0lDVnpJQ0FnSUNWeklDQWdJQ1Z6
ZlFvQUx5OHFLaW9nWld4c2FYQnpaUW9BZEc5eWRYTWdleUFsTGpObUxDQWxMak5tQ2lBZ0lDQWxj
eUFnSUNBbGN5QWdJQ0FsY3lBZ0lDQWxjMzBLQUhOd2FHVnlaU0I3UENVNUxqTm1MQ0FsT1M0elpp
d2dKVGt1TTJZK0xDQXhMakFLSUNBZ0lDVnpJQ0FnSUNWeklDQWdJQ1Z6SUNBZ0lDVnpmUW9BTHk4
cUtpb2dkR1Y0ZEhOd1lXNDZJQ1Z6TENCbWIyNTBjMmw2WlNBOUlDVXVNMllzSUdadmJuUnVZVzFs
SUQwZ0pYTUtBSE5qWVd4bElDVXVNMllLQUhSbGVIUWdld29nSUNBZ2RIUm1JQ0lsY3lJc0NpQWdJ
Q0FpSlhNaUxDQWxMak5tTENBbExqTm1DaUFnSUNBbGN5QWdJQ0FsY3lBZ0lDQWxjeUFnSUNBbGN5
QWdJQ0FsYzMwS0FDQWdJQ0J1YjE5emFHRmtiM2NLQUM4dktpb3FJR1Z1WkY5bFpHZGxDZ0F2THlv
cUtpQmlaV2RwYmw5bFpHZGxDZ0F2THlvcUtpQmxibVJmYm05a1pRb0FMeThxS2lvZ1ltVm5hVzVm
Ym05a1pUb2dKWE1LQUM4dktpb3FJR1Z1WkY5amJIVnpkR1Z5Q2dBdkx5b3FLaUJpWldkcGJsOWpi
SFZ6ZEdWeUNnQXZMeW9xS2lCbGJtUmZjR0ZuWlFvQUx5OHFLaW9nWW1WbmFXNWZjR0ZuWlFvQUx5
OHFLaW9nWlc1a1gyeGhlV1Z5Q2dBdkx5b3FLaUJpWldkcGJsOXNZWGxsY2pvZ0pYTXNJQ1ZrTHlW
a0NnQXZMeW9xS2lCbGJtUmZaM0poY0dnS0FDOHZLaW9xSUdKbFoybHVYMmR5WVhCb0lDVnpDZ0Jq
WVcxbGNtRWdleUJzYjJOaGRHbHZiaUE4SlM0elppQXNJQ1V1TTJZZ0xDQWxMak5tUGdvZ0lDQWdJ
Q0FnSUNCc2IyOXJYMkYwSUNBOEpTNHpaaUFzSUNVdU0yWWdMQ0FsTGpObVBnb2dJQ0FnSUNBZ0lD
QnlhV2RvZENCNElDb2dhVzFoWjJWZmQybGtkR2dnTHlCcGJXRm5aVjlvWldsbmFIUUtJQ0FnSUNB
Z0lDQWdZVzVuYkdVZ0pTNHpaZ3A5Q2dBdkwzTnJlUXB3YkdGdVpTQjdJRHd3TENBeExDQXdQaXdn
TVNCb2IyeHNiM2NLSUNBZ0lIUmxlSFIxY21VZ2V3b2dJQ0FnSUNBZ0lIQnBaMjFsYm5RZ2V5Qmli
M3B2SUhSMWNtSjFiR1Z1WTJVZ01DNDVOUW9nSUNBZ0lDQWdJQ0FnSUNCamIyeHZjbDl0WVhBZ2V3
b2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1d6QXVNREFnY21kaUlEd3dMakExTENBd0xqSXdMQ0F3TGpV
d1BsMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lGc3dMalV3SUhKbllpQThNQzR3TlN3Z01DNHlNQ3dn
TUM0MU1ENWRDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmJNQzQzTlNCeVoySWdQREV1TURBc0lERXVN
REFzSURFdU1EQStYUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdXekF1TnpVZ2NtZGlJRHd3TGpJMUxD
QXdMakkxTENBd0xqSTFQbDBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRnN4TGpBd0lISm5ZaUE4TUM0
MU1Dd2dNQzQxTUN3Z01DNDFNRDVkQ2lBZ0lDQWdJQ0FnSUNBZ0lIMEtJQ0FnSUNBZ0lDQWdJQ0Fn
YzJOaGJHVWdQREV1TURBc0lERXVNREFzSURFdU5UQStJQ29nTWk0MU1Bb2dJQ0FnSUNBZ0lDQWdJ
Q0IwY21GdWMyeGhkR1VnUERBdU1EQXNJREF1TURBc0lEQXVNREErQ2lBZ0lDQWdJQ0FnZlFvZ0lD
QWdJQ0FnSUdacGJtbHphQ0I3SUdGdFltbGxiblFnTVNCa2FXWm1kWE5sSURBZ2ZRb2dJQ0FnZlFv
Z0lDQWdjMk5oYkdVZ01UQXdNREFLZlFvdkwyMXBjM1FLWm05bklIc2dabTluWDNSNWNHVWdNZ29n
SUNBZ1pHbHpkR0Z1WTJVZ05UQUtJQ0FnSUdOdmJHOXlJSEpuWWlBOE1TNHdNQ3dnTVM0d01Dd2dN
UzR3TUQ0Z0tpQXdMamMxQ2lBZ0lDQm1iMmRmYjJabWMyVjBJREF1TVRBS0lDQWdJR1p2WjE5aGJI
UWdNUzQxTUFvZ0lDQWdkSFZ5WW5Wc1pXNWpaU0F4TGpjMUNuMEtMeTluYm1RS2NHeGhibVVnZXlB
OE1DNHdNQ3dnTVM0d01Dd2dNQzR3TUQ0c0lEQUtJQ0FnSUhSbGVIUjFjbVVnZXdvZ0lDQWdJQ0Fn
SUhCcFoyMWxiblI3SUdOdmJHOXlJSEpuWWlBOE1DNHlOU3dnTUM0ME5Td2dNQzR3TUQ0Z2ZRb2dJ
Q0FnSUNBZ0lHNXZjbTFoYkNCN0lHSjFiWEJ6SURBdU56VWdjMk5oYkdVZ01DNHdNU0I5Q2lBZ0lD
QWdJQ0FnWm1sdWFYTm9JSHNnY0dodmJtY2dNQzR4TUNCOUNpQWdJQ0I5Q24wS0FHeHBaMmgwWDNO
dmRYSmpaU0I3SUR3eE5UQXdMRE13TURBc0xUSTFNREErSUdOdmJHOXlJRmRvYVhSbElIMEtBQ04y
WlhKemFXOXVJRE11TmpzS0FHZHNiMkpoYkY5elpYUjBhVzVuY3lCN0lHRnpjM1Z0WldSZloyRnRi
V0VnTVM0d0lIMEtBQ05rWldaaGRXeDBJSHNnWm1sdWFYTm9JSHNnWVcxaWFXVnVkQ0F3TGpFZ1pH
bG1ablZ6WlNBd0xqa2dmU0I5Q2dBamFXNWpiSFZrWlNBaVkyOXNiM0p6TG1sdVl5SUtJMmx1WTJ4
MVpHVWdJblJsZUhSMWNtVnpMbWx1WXlJS0kybHVZMngxWkdVZ0luTm9ZWEJsY3k1cGJtTWlDZ0Fq
WkdWamJHRnlaU0FsY3lBOUlDVnpPd29BUW14aFkyc0FWMmhwZEdVQVltRnJaWEp6WTJodll3Qmlj
bUZ6Y3dCaWNtbG5hSFJuYjJ4a0FHSnliMjU2WlFCaWNtOXVlbVV5QUdOc1pXRnlBR052YjJ4amIz
QndaWElBWTI5d2NHVnlBR1JoY210aWNtOTNiZ0JrWVhKcmNIVnljR3hsQUdSaGNtdDBZVzRBWkdG
eWEzZHZiMlFBWkd0bmNtVmxibU52Y0hCbGNnQmtkWE4wZVhKdmMyVUFabVZzWkhOd1lYSUFabXhs
YzJnQVozSmhlVEExQUdkeVpXVnVZMjl3Y0dWeUFHaDFiblJsY25ObmNtVmxiZ0JzYVdkb2RGOXdk
WEp3YkdVQWJHbG5hSFIzYjI5a0FHMWhibVJoY21sdWIzSmhibWRsQUcxbFpHbDFiV1p2Y21WemRH
ZHlaV1Z1QUcxbFpHbDFiV2R2YkdSbGJuSnZaQUJ0WldScGRXMTNiMjlrQUcxbFpGOXdkWEp3YkdV
QWJXbGpZUUJ1Wlc5dVlteDFaUUJ1Wlc5dWNHbHVhd0J1WlhkdGFXUnVhV2RvZEdKc2RXVUFibVYz
ZEdGdUFHOXNaR2R2YkdRQWNYVmhjblI2QUhKcFkyaGliSFZsQUhOallYSnNaWFFBYzJWdGFWTjNa
V1YwUTJodll3QnphV3gyWlhJQWMzQnBZM2x3YVc1ckFITjFiVzFsY25OcmVRQjJaWEo1WkdGeWEy
SnliM2R1QUhabGNubGZiR2xuYUhSZmNIVnljR3hsQUhCdmRnQndiM1k2Y0c5MkFDVnpJQ1Z6Q2dB
dVhDSWdBQ0FsWkNBbFpBQWdKWE1LQUNBbFpBQm1hV3hzSUFCbGJHeHBjSE5sSUdGMGRISnpKV1Fn
SlhOM2FXUWdKUzQxWmlCb2RDQWxMalZtSUdGMElDZ2xMalZtTENVdU5XWXBPd29BTG1aMElDVnpD
Z0F1Y0hNZ0pXUXFYRzRvVTBaMUx5VXVNR1oxQ2dBaUpYTWlJR0YwSUNnbExqVm1MQ1V1TldZcE93
b0FKVEF6YndBbGN5VnpJR2x6SUc1dmRDQmhJSFJ5YjJabUlHWnZiblFLQUdSdmRDQndhV01nY0d4
MVoybHVPaUFBVWdCZENpNVFSUW9BTGxCVElDVXVOV1lnSlM0MVpnb0FKWE1nZEc4Z1kyaGhibWRs
SUdSeVlYZHBibWNnYzJsNlpTd2diWFZzZEdsd2JIa2dkR2hsSUhkcFpIUm9JR0Z1WkNCb1pXbG5h
SFFnYjI0Z2RHaGxJQzVRVXlCc2FXNWxJR0ZpYjNabElHRnVaQ0IwYUdVZ2JuVnRZbVZ5SUc5dUlI
Um9aU0IwZDI4Z2JHbHVaWE1nWW1Wc2IzY2dLSEp2ZFc1a1pXUWdkRzhnZEdobElHNWxZWEpsYzNR
Z2FXNTBaV2RsY2lrZ1lua2dZU0J6WTJGc1pTQm1ZV04wYjNJS0FDNXVjaUJUUmlBbExqQm1Dbk5q
WVd4bGRHaHBZMnR1WlhOeklEMGdKUzR3WmdvQUpYTWdaRzl1SjNRZ1kyaGhibWRsSUdGdWVYUm9h
VzVuSUdKbGJHOTNJSFJvYVhNZ2JHbHVaU0JwYmlCMGFHbHpJR1J5WVhkcGJtY0tBQ1Z6SUc1dmJp
MW1ZWFJoYkNCeWRXNHRkR2x0WlNCd2FXTWdkbVZ5YzJsdmJpQmtaWFJsY20xcGJtRjBhVzl1TENC
MlpYSnphVzl1SURJS0FHSnZlSEpoWkQweUxqQWdKWE1nZDJsc2JDQmlaU0J5WlhObGRDQjBieUF3
TGpBZ1lua2daM0JwWXlCdmJteDVDZ0J6WTJGc1pUMHhMakFnSlhNZ2NtVnhkV2x5WldRZ1ptOXlJ
R052YlhCaGNtbHpiMjV6Q2dBbGN5QmliM2h5WVdRZ2FYTWdibTkzSURBdU1DQnBiaUJuY0dsakxD
QmxiSE5sSUdsMElISmxiV0ZwYm5NZ01pNHdDZ0FsY3lCa1lYTm9kMmxrSUdseklEQXVNU0JwYmlB
eE1IUm9JRVZrYVhScGIyNHNJREF1TURVZ2FXNGdSRmRDSURJZ1lXNWtJR2x1SUdkd2FXTUtBQ1Z6
SUdacGJHeDJZV3dnYVhNZ01DNHpJR2x1SURFd2RHZ2dSV1JwZEdsdmJpQW9abWxzYkNBd0lHMWxZ
VzV6SUdKc1lXTnJLU3dnTUM0MUlHbHVJR2R3YVdNZ0tHWnBiR3dnTUNCdFpXRnVjeUIzYUdsMFpT
a3NJSFZ1WkdWbWFXNWxaQ0JwYmlCRVYwSWdNZ29BSlhNZ1ptbHNiQ0JvWVhNZ2JtOGdiV1ZoYm1s
dVp5QnBiaUJFVjBJZ01pd2daM0JwWXlCallXNGdkWE5sSUdacGJHd2diM0lnWm1sc2JHVmtMQ0F4
TUhSb0lFVmthWFJwYjI0Z2RYTmxjeUJtYVd4c0lHOXViSGtLQUNWeklFUlhRaUF5SUdSdlpYTnVK
M1FnZFhObElHWnBiR3dnWVc1a0lHUnZaWE51SjNRZ1pHVm1hVzVsSUdacGJHeDJZV3dLQUNWeklI
SmxjMlYwSUhkdmNtdHpJR2x1SUdkd2FXTWdZVzVrSURFd2RHZ2daV1JwZEdsdmJpd2dZblYwSUds
emJpZDBJR1JsWm1sdVpXUWdhVzRnUkZkQ0lESUtBQ1Z6SUVSWFFpQXlJR052YlhCaGRHbGlhV3hw
ZEhrZ1pHVm1hVzVwZEdsdmJuTUtBR2xtSUdKdmVISmhaQ0ErSURFdU1DQW1KaUJrWVhOb2QybGtJ
RHdnTUM0d056VWdkR2hsYmlCWUNnbG1hV3hzZG1Gc0lEMGdNVHNLQ1dSbFptbHVaU0JtYVd4c0lG
a2dXVHNLQ1dSbFptbHVaU0J6YjJ4cFpDQlpJRms3Q2dsa1pXWnBibVVnY21WelpYUWdXU0J6WTJG
c1pUMHhMakFnV1RzS1dBb0FjbVZ6WlhRZ0pYTWdjMlYwSUhSdklHdHViM2R1SUhOMFlYUmxDZ0Fs
Y3lCSFRsVWdjR2xqSUhaekxpQXhNSFJvSUVWa2FYUnBiMjRnWkZ3b1pTZDBaVzUwWlFvQWFXWWda
bWxzYkhaaGJDQStJREF1TkNCMGFHVnVJRmdLQ1dSbFptbHVaU0J6WlhSbWFXeHNkbUZzSUZrZ1pt
bHNiSFpoYkNBOUlERWdMU0JaT3dvSlpHVm1hVzVsSUdKdmJHUWdXU0IwYUdsamEyNWxjM01nTWlC
Wk93b0FDU1Z6SUdsbUlIbHZkU0IxYzJVZ1ozQnBZeUJoYm1RZ2FYUWdZbUZ5Wm5NZ2IyNGdaVzVq
YjNWdWRHVnlhVzVuSUNKemIyeHBaQ0lzQ2dBSkpYTUphVzV6ZEdGc2JDQmhJRzF2Y21VZ2NtVmpa
VzUwSUhabGNuTnBiMjRnYjJZZ1ozQnBZeUJ2Y2lCemQybDBZMmdnZEc4Z1JGZENJRzl5SURFd2RH
Z2dSV1JwZEdsdmJpQndhV003Q2dBSkpYTUpjMjl5Y25rc0lIUm9aU0JuY205bVppQm1iMnhyY3lC
amFHRnVaMlZrSUdkd2FXTTdJSE5sYm1RZ1lXNTVJR052YlhCc1lXbHVkQ0IwYnlCMGFHVnRPd29B
V0NCbGJITmxJRm9LQ1dSbFptbHVaU0J6WlhSbWFXeHNkbUZzSUZrZ1ptbHNiSFpoYkNBOUlGazdD
Z2xrWldacGJtVWdZbTlzWkNCWklGazdDZ2xrWldacGJtVWdabWxzYkdWa0lGa2dabWxzYkNCWk93
cGFDZ0FsY3lCaGNuSnZkMmhsWVdRZ2FHRnpJRzV2SUcxbFlXNXBibWNnYVc0Z1JGZENJRElzSUdG
eWNtOTNhR1ZoWkNBOUlEY2diV0ZyWlhNZ1ptbHNiR1ZrSUdGeWNtOTNhR1ZoWkhNZ2FXNGdaM0Jw
WXlCaGJtUWdhVzRnTVRCMGFDQkZaR2wwYVc5dUNnQWxjeUJoY25KdmQyaGxZV1FnYVhNZ2RXNWta
V1pwYm1Wa0lHbHVJRVJYUWlBeUxDQnBibWwwYVdGc2JIa2dNU0JwYmlCbmNHbGpMQ0F5SUdsdUlE
RXdkR2dnUldScGRHbHZiZ29BWVhKeWIzZG9aV0ZrSUQwZ055QWxjeUJ1YjNRZ2RYTmxaQ0JpZVNC
bmNtRndhSFpwZWdvQUpYTWdSMDVWSUhCcFl5QnpkWEJ3YjNKMGN5QmhJR0p2ZUhKaFpDQjJZWEpw
WVdKc1pTQjBieUJrY21GM0lHSnZlR1Z6SUhkcGRHZ2djbTkxYm1SbFpDQmpiM0p1WlhKek95QkVW
MElnWVc1a0lERXdkR2dnUldRdUlHUnZJRzV2ZEFvQVltOTRjbUZrSUQwZ01DQWxjeUJ1YnlCeWIz
VnVaR1ZrSUdOdmNtNWxjbk1nYVc0Z1ozSmhjR2gyYVhvS0FDVnpJRWRPVlNCd2FXTWdjM1Z3Y0c5
eWRITWdZU0JzYVc1bGRHaHBZMnNnZG1GeWFXRmliR1VnZEc4Z2MyVjBJR3hwYm1VZ2RHaHBZMnR1
WlhOek95QkVWMElnWVc1a0lERXdkR2dnUldRdUlHUnZJRzV2ZEFvQWJHbHVaWFJvYVdOcklEMGdN
RHNnYjJ4a2JHbHVaWFJvYVdOcklEMGdiR2x1WlhSb2FXTnJDZ0FsY3lBdVVGTWdkeTl2SUdGeVoz
TWdZMkYxYzJWeklFZE9WU0J3YVdNZ2RHOGdjMk5oYkdVZ1pISmhkMmx1WnlCMGJ5Qm1hWFFnT0M0
MWVERXhJSEJoY0dWeU95QkVWMElnWkc5bGN5QnViM1FLQUNWeklHMWhlSEJ6YUhRZ1lXNWtJRzFo
ZUhCemQybGtJR2hoZG1VZ2JtOGdiV1ZoYm1sdVp5QnBiaUJFVjBJZ01pNHdMQ0J6WlhRZ2NHRm5a
U0JpYjNWdVpHRnlhV1Z6SUdsdUlHZHdhV01nWVc1a0lHbHVJREV3ZEdnZ1JXUnBkR2x2YmdvQUpY
TWdiV0Y0Y0hOb2RDQmhibVFnYldGNGNITjNhV1FnWVhKbElIQnlaV1JsWm1sdVpXUWdkRzhnTVRF
dU1DQmhibVFnT0M0MUlHbHVJR2R3YVdNS0FHMWhlSEJ6YUhRZ1BTQWxaZ3B0WVhod2MzZHBaQ0E5
SUNWbUNnQkViM1E2SUZzS0FHUmxabWx1WlNCaGRIUnljekFnSlNVZ0pTVTdJR1JsWm1sdVpTQjFi
bVpwYkd4bFpDQWxKU0FsSlRzZ1pHVm1hVzVsSUhKdmRXNWtaV1FnSlNVZ0pTVTdJR1JsWm1sdVpT
QmthV0ZuYjI1aGJITWdKU1VnSlNVS0FDVnpKWE1nZFc1emRYQndiM0owWldRS0FISnZkR0YwYVc5
dUFDVnpJSEpsYzNSdmNtVWdjRzlwYm5RZ2MybDZaU0JoYm1RZ1ptOXVkQW91Y0hNZ1hHNG9MbE1L
TG1aMElGeHVLRVJHQ2dBbGN5QkRjbVZoZEc5eU9pQWxjeUIyWlhKemFXOXVJQ1Z6SUNnbGN5a0tB
Q1Z6SUZScGRHeGxPaUFsY3dvQUpYTWdjMkYyWlNCd2IybHVkQ0J6YVhwbElHRnVaQ0JtYjI1MENp
NXVjaUF1VXlCY2JpZ3Vjd291Ym5JZ1JFWWdYRzRvTG1ZS0FIQnBZd0J3YVdNNmNHbGpBSEJ1Wnpw
emRtY0FaMmxtT25OMlp3QnFjR1ZuT25OMlp3QnFjR1U2YzNabkFHcHdaenB6ZG1jQWNHNW5PbVpw
WndCbmFXWTZabWxuQUdwd1pXYzZabWxuQUdwd1pUcG1hV2NBYW5Cbk9tWnBad0J3Ym1jNmRuSnRi
QUJuYVdZNmRuSnRiQUJxY0dWbk9uWnliV3dBYW5CbE9uWnliV3dBYW5Cbk9uWnliV3dBWlhCek9u
QnpBSEJ6T25CekFDaHNhV0lwT25CekFIQnVaenB0WVhBQVoybG1PbTFoY0FCcWNHVm5PbTFoY0FC
cWNHVTZiV0Z3QUdwd1p6cHRZWEFBY0hNNmJXRndBR1Z3Y3pwdFlYQUFjM1puT20xaGNBQndibWM2
Wkc5MEFHZHBaanBrYjNRQWFuQmxaenBrYjNRQWFuQmxPbVJ2ZEFCcWNHYzZaRzkwQUhCek9tUnZk
QUJsY0hNNlpHOTBBSE4yWnpwa2IzUUFjRzVuT25oa2IzUUFaMmxtT25oa2IzUUFhbkJsWnpwNFpH
OTBBR3B3WlRwNFpHOTBBR3B3WnpwNFpHOTBBSEJ6T25oa2IzUUFaWEJ6T25oa2IzUUFjM1puT25o
a2IzUUFjM1puT25OMlp3QndibWM2ZG0xc0FHZHBaanAyYld3QWFuQmxaenAyYld3QWFuQmxPblp0
YkFCcWNHYzZkbTFzQUdkcFpqcDBhd0JwYldGblpTQmpjbVZoZEdVZ2NHaHZkRzhnSW5Cb2IzUnZY
eVZ6SWlBdFptbHNaU0FpSlhNaUNnQWtZeUJqY21WaGRHVWdhVzFoWjJVZ0pTNHlaaUFsTGpKbUlD
MXBiV0ZuWlNBaWNHaHZkRzlmSlhNaUNnQThkanBwYldGblpTQnpjbU05SWlWeklpQnpkSGxzWlQw
aUlIQnZjMmwwYVc5dU9tRmljMjlzZFhSbE95QjNhV1IwYURvbExqSm1PeUJvWldsbmFIUTZKUzR5
WmpzZ2JHVm1kRG9sTGpKbUlEc2dkRzl3T2lVdU1tWWlBQ0F2UGdvQVozWnNiMkZrYVcxaFoyVmZZ
Mjl5WlM1akFHTnZjbVZmYkc5aFpHbHRZV2RsWDNCemJHbGlBRnNnQUNWbklDVm5JQUJkSUNBbFpD
QjBjblZsSUNWekNnQmRJQ0FsWkNCbVlXeHpaU0FsY3dvQVkyOXlaVjlzYjJGa2FXMWhaMlZmY0hN
QVozTmhkbVVnSldjZ0pXY2dkSEpoYm5Oc1lYUmxJRzVsZDNCaGRHZ0tBSFZ6WlhKZmMyaGhjR1Zm
SldRS0FHZHlaWE4wYjNKbENnQmpiM0psWDJ4dllXUnBiV0ZuWlY5MmNtMXNBRk5vWVhCbElIc0tB
Q0FnWVhCd1pXRnlZVzVqWlNCQmNIQmxZWEpoYm1ObElIc0tBQ0FnSUNCdFlYUmxjbWxoYkNCTllY
UmxjbWxoYkNCN0NnQWdJQ0FnSUNCaGJXSnBaVzUwU1c1MFpXNXphWFI1SURBdU16TUtBQ0FnSUNB
Z0lDQWdaR2xtWm5WelpVTnZiRzl5SURFZ01TQXhDZ0FnSUNBZ2ZRb0FJQ0FnSUhSbGVIUjFjbVVn
U1cxaFoyVlVaWGgwZFhKbElIc2dkWEpzSUNJbGN5SWdmUW9BSUNCOUNnQmpiM0psWDJ4dllXUnBi
V0ZuWlY5bWFXY0FKV1FnSldRZ0pXUWdKV1FnSldRZ0pXUWdKV1FnSldRZ0pXUWdKUzR4WmlBbFpD
QWxaQ0FsWkNBbFpDQWxaQ0FsWkFvZ0pXUWdKWE1LQUNBbFpDQWxaQ0FsWkNBbFpDQWxaQ0FsWkNB
bFpDQWxaQ0FsWkNBbFpBb0FZMjl5WlY5c2IyRmthVzFoWjJWZmMzWm5BRHhwYldGblpTQjRiR2x1
YXpwb2NtVm1QU0lBSWlCM2FXUjBhRDBpSldkd2VDSWdhR1ZwWjJoMFBTSWxaM0I0SWlCd2NtVnpa
WEoyWlVGemNHVmpkRkpoZEdsdlBTSjRUV2xrV1UxcFpDQnRaV1YwSWlCNFBTSWxaeUlnZVQwaUpX
Y2lBQ0IwY21GdWMyWnZjbTA5SW5KdmRHRjBaU2dsWkNBbFp5QWxaeWtpQUNJZ2QybGtkR2c5SWlW
bmNIZ2lJR2hsYVdkb2REMGlKV2R3ZUNJZ2NISmxjMlZ5ZG1WQmMzQmxZM1JTWVhScGJ6MGllRTFw
YmxsTmFXNGdiV1ZsZENJZ2VEMGlKV2NpSUhrOUlpVm5JZ0F2UGdvQVpHOTBYMnhoZVc5MWRBQndh
R0Z6WlFCa2IzUWdaRzlsY3lCdWIzUWdjM1Z3Y0c5eWRDQjBhR1VnWVhOd1pXTjBJR0YwZEhKcFlu
VjBaU0JtYjNJZ1pHbHpZMjl1Ym1WamRHVmtJR2R5WVhCb2N5QnZjaUJuY21Gd2FITWdkMmwwYUNC
amJIVnpkR1Z5Y3dvQVkyOXRjRzkxYm1RQWRpQTlQU0J1QUdSdmRHbHVhWFF1WXdCeVpXMXZkbVZm
Wm5KdmJWOXlZVzVyQUc5eVpHVnlBR1ZrWjJVZ2JHRmlaV3h6SUhkcGRHZ2djM0JzYVc1bGN6MWpk
WEoyWldRZ2JtOTBJSE4xY0hCdmNuUmxaQ0JwYmlCa2IzUWdMU0IxYzJVZ2VHeGhZbVZzY3dvQVJV
UmZiR0ZpWld3b1ptVXBBR1J2ZEhOd2JHbHVaWE11WXdCZlpHOTBYM053YkdsdVpYTUFabXhoZENC
bFpHZGxJR0psZEhkbFpXNGdZV1JxWVdObGJuUWdibTlrWlhNZ2IyNWxJRzltSUhkb2FXTm9JR2ho
Y3lCaElISmxZMjl5WkNCemFHRndaU0F0SUhKbGNHeGhZMlVnY21WamIzSmtjeUIzYVhSb0lFaFVU
VXd0YkdsclpTQnNZV0psYkhNS0FDQWdSV1JuWlNBbGN5QWxjeUFsY3dvQWVIaDRBREV3TURBd0FI
c2xjMzBBWVhWNFp3QnNZV0psYkY5bWJHOWhkQUJtYVhobFpBQW9iQ0E5SUVWRVgyeGhZbVZzS0da
bEtTa0FjMlYwUldSblpVeGhZbVZzVUc5ekFHVWdJVDBnVGxWTVRBQm1ZWE4wWjNJdVl3QmtaV3hs
ZEdWZlptRnpkRjlsWkdkbEFHNGdJVDBnVGtSZmJtVjRkQ2h1S1FCbVlYTjBYMjV2WkdVQWRTQWhQ
U0IyQUdaaGMzUmZibTlrWldGd2NBQk9SRjl1WlhoMEtIWXBJRDA5SUU1VlRFd0FabWx1WkY5bVlY
TjBYMjV2WkdVb1p5d2diaWtBWkdWc1pYUmxYMlpoYzNSZmJtOWtaUUJrWld4bGRHVmZabXhoZEY5
bFpHZGxBRzFsY21kbFgyOXVaWGRoZVNCbmJHbDBZMmdLQUcxbGNtZGxYMjl1WlhkaGVRQnpZV1ps
WDJSbGJHVjBaVjltWVhOMFgyVmtaMlVBYkdjQWFXNW1id0JqYjIxd0FHTnVkQ0E5UFNCemVnQnRh
VzVqY205emN5NWpBR1pwZUV4aFltVnNUM0prWlhJQWNtVnRhVzVqY205emN3QnRhVzVqY205emN5
QWxjem9nSldRZ1kzSnZjM05wYm1kekxDQWxMakptSUhObFkzTXVDZ0IyQUc1bGFXZG9ZbTl5QUNo
eWRpQTlQU0F3S1NCOGZDQW9Ua1JmYjNKa1pYSW9jbllwTFU1RVgyOXlaR1Z5S0hZcEtTcGthWEln
UGlBd0FHTnZibk4wY21GcGJtbHVaMTltYkdGMFgyVmtaMlVvWnl4MkxHVXBJRDA5SUVaQlRGTkZB
R1pzWVhSZmNtVnZjbVJsY2dCT1JGOXlZVzVyS0hZcElEMDlJSElBY0c5emRHOXlaR1Z5QUdac1lY
UnBibVJsZUNoaFoyaGxZV1FvWlNrcElEd2dUUzArYm5KdmQzTUFabXhoZEY5elpXRnlZMmdBWm14
aGRHbHVaR1Y0S0dGbmRHRnBiQ2hsS1NrZ1BDQk5MVDV1WTI5c2N3QnZkWFFBYjNKa1pYSnBibWNn
SnlWekp5QnViM1FnY21WamIyZHVhWHBsWkM0S0FHOXlaR1Z5YVc1bklDY2xjeWNnYm05MElISmxZ
MjluYm1sNlpXUWdabTl5SUc1dlpHVWdKeVZ6Snk0S0FHMWxjbWRsTWpvZ1ozSmhjR2dnSlhNc0lI
SmhibXNnSldRZ2FHRnpJRzl1YkhrZ0pXUWdQQ0FsWkNCdWIyUmxjd29BYldsdVkzSnZjM002SUhC
aGMzTWdKV1FnYVhSbGNpQWxaQ0IwY25scGJtY2dKV1FnWTNWeVgyTnliM056SUNWa0lHSmxjM1Jm
WTNKdmMzTWdKV1FLQUU1RVgyOXlaR1Z5S0hZcElEd2dUa1JmYjNKa1pYSW9keWtBWW1Gc1lXNWpa
UUIwY21GdWMzQnZjMlZmYzNSbGNBQnpkWEp3Y21selpRb0FhVzV6ZEdGc2JGOXBibDl5WVc1ckxD
QnNhVzVsSUNWa09pQWxjeUFsY3lCeVlXNXJJQ1ZrSUdrZ1BTQWxaQ0JoYmlBOUlEQUtBRWRFWDNK
aGJtc29aeWxiY2wwdWJpQThQU0JIUkY5eVlXNXJLR2NwVzNKZExtRnVBR2x1YzNSaGJHeGZhVzVm
Y21GdWF3QnBibk4wWVd4c1gybHVYM0poYm1zc0lHeHBibVVnSldRNklFNUVYMjl5WkdWeUtDVnpL
U0JiSldSZElENGdSMFJmY21GdWF5aFNiMjkwS1ZzbFpGMHVZVzRnV3lWa1hRb0FhVzV6ZEdGc2JG
OXBibDl5WVc1ckxDQnNhVzVsSUNWa09pQnlZVzVySUNWa0lHNXZkQ0JwYmlCeVlXNXJJSEpoYm1k
bElGc2xaQ3dsWkYwS0FHbHVjM1JoYkd4ZmFXNWZjbUZ1YXl3Z2JHbHVaU0FsWkRvZ1IwUmZjbUZ1
YXlobktWc2xaRjB1ZGlBcklFNUVYMjl5WkdWeUtDVnpLU0JiSldSZElENGdSMFJmY21GdWF5aG5L
VnNsWkYwdVlYWWdLeUJIUkY5eVlXNXJLRkp2YjNRcFd5VmtYUzVoYmlCYkpXUmRDZ0JmYm1WM1gz
SmhibXNBYldOc2FXMXBkQUJ5WVc1cktHY3NJRElzSUc1emFYUmxjaklvWnlrcElEMDlJREFBY0c5
emFYUnBiMjR1WXdCa2IzUmZjRzl6YVhScGIyNEFRVkk5SlRBdU5HeG1DU0JCY21WaFBTQWxNQzQw
YkdZSkFFUjFiVzE1UFNWa0NnQkhiMmx1WnlCMGJ5QmhjSEJzZVNCaGJtOTBhR1Z5SUdWNGNHRnVj
Mmx2Ymk0S0FHNWxlSFFqYVhSbGNqMGxaQW9BYUhBQVkyOXVibVZqZEVkeVlYQm9BRVZrWjJVZ2JH
VnVaM1JvSUNWbUlHeGhjbWRsY2lCMGFHRnVJRzFoZUdsdGRXMGdKWFVnWVd4c2IzZGxaQzRLUTJo
bFkyc2dabTl5SUc5MlpYSjNhV1JsSUc1dlpHVW9jeWt1Q2dCdWMyeHBiV2wwQUdOdmJuUmhhVzVm
Ym05a1pYTWdZMngxYzNRZ0pYTWdjbUZ1YXlBbFpDQnRhWE56YVc1bklHNXZaR1VLQUc1emJHbHRh
WFF4QUc1bGQzSmhibXNBVFdGNGNtRnVheUE5SUNWa0xDQnRhVzV5WVc1cklEMGdKV1FLQUd4bFlX
UmxjaUFoUFNCT1ZVeE1BSEpoYm1zdVl3QmpiSFZ6ZEdWeVgyeGxZV1JsY2dBb1RrUmZWVVpmYzJs
NlpTaHVLU0E4UFNBeEtTQjhmQ0FvYmlBOVBTQnNaV0ZrWlhJcEFHRm5hR1ZoWkNobEtTQTlQU0JW
Umw5bWFXNWtLR0ZuYUdWaFpDaGxLU2tBYldsdWJXRjRYMlZrWjJWekFHRm5kR0ZwYkNobEtTQTlQ
U0JWUmw5bWFXNWtLR0ZuZEdGcGJDaGxLU2tBY21GdWF3QnpZVzFsQUcxcGJnQnpiM1Z5WTJVQWJX
RjRBSE5wYm1zQWJHVjJaV3dnWVhOemFXZHViV1Z1ZENCamIyNXpkSEpoYVc1MGN3QnNaWFpsYkNC
bmNtRndhQ0J5WldNQWYzSnZiM1FBZjNSdmNBQi9ZbTkwQUdOdmJYQmhZM1FBWDNkbFlXdGZKV1FB
Y21GdWEybHVaem9nWm1GcGJIVnlaU0IwYnlCamNtVmhkR1VnYzNSeWIyNW5JR052Ym5OMGNtRnBi
blFnWldSblpTQmlaWFIzWldWdUlHNXZaR1Z6SUNWeklHRnVaQ0FsY3dvQUpYTWdhR0Z6SUhWdWNt
VmpiMmR1YVhwbFpDQnlZVzVyUFNWekFHeGxkbVZzSUdWa1oyVWdjbVZqQUd4bGRtVnNJRzV2WkdV
Z2NtVmpBSE5oYldWb1pXRmtBSE5oYldWMFlXbHNBSFJ2YnlCdFlXNTVJQ2crSUNWa0tTQnpZVzFs
ZTJobFlXUXNkR0ZwYkgwZ1ozSnZkWEJ6SUdadmNpQnViMlJsSUNWekNnQmpiMjFpYVVGU0lEMGdK
V3htQ2dBbGJHWXNKV1FBZEdobElHRnpjR1ZqZENCaGRIUnlhV0oxZEdVZ2FHRnpJR0psWlc0Z1pH
bHpZV0pzWldRZ1pIVmxJSFJ2SUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR1pzWVhkeklDMGdZWFIwY21s
aWRYUmxJR2xuYm05eVpXUXVDZ0JGUkY5MGIxOTJhWEowS0dVcElEMDlJRTVWVEV3QVkyeGhjM015
TG1NQWJXVnlaMlZmWTJoaGFXNEFSVVJmZEc5ZmRtbHlkQ2h2Y21sbktTQTlQU0JPVlV4TUFHMWhh
MlZmWTJoaGFXNEFSVVJmZEc5ZmRtbHlkQ2h2Y21sbktTQWhQU0JPVlV4TUFFNUVYM0poYm1zb1pu
SnZiU2tnUENCT1JGOXlZVzVyS0hSdktRQmpiSFZ6ZEdWeUxtTUFiV0Z3WDNCaGRHZ0FKWE1nZDJG
eklHRnNjbVZoWkhrZ2FXNGdZU0J5WVc1cmMyVjBMQ0JrWld4bGRHVmtJR1p5YjIwZ1kyeDFjM1Js
Y2lBbGN3b0FiR2hsWVdRQWJIUmhhV3dBSlhNZ0xUNGdKWE02SUhOd2JHbHVaU0J6YVhwbElENGdN
U0J1YjNRZ2MzVndjRzl5ZEdWa0NnQWxjeUF0UGlBbGN6b2dhR1ZoWkNCdWIzUWdhVzV6YVdSbElH
aGxZV1FnWTJ4MWMzUmxjaUFsY3dvQUpYTWdMVDRnSlhNNklIUmhhV3dnYVhNZ2FXNXphV1JsSUdo
bFlXUWdZMngxYzNSbGNpQWxjd29BWW1WNkxUNXpabXhoWndCamIyMXdiM1Z1WkM1akFHMWhhMlZE
YjIxd2IzVnVaRVZrWjJVQVltVjZMVDVsWm14aFp3QWxjeUF0UGlBbGN6b2dkR0ZwYkNCdWIzUWdh
VzV6YVdSbElIUmhhV3dnWTJ4MWMzUmxjaUFsY3dvQUpYTWdMVDRnSlhNNklHaGxZV1FnYVhNZ2FX
NXphV1JsSUhSaGFXd2dZMngxYzNSbGNpQWxjd29BYzJWbmJXVnVkQ0JiSlhNc0pYTmRJR1J2WlhN
Z2JtOTBJR2x1ZEdWeWMyVmpkQ0JpYjNnZ2JHdzlKWE1zZFhJOUpYTUtBR0p2ZUVsdWRHVnljMlZq
ZEdZQUtDVXVOV2NzSlM0MVp5a0FZMngxYzNSbGNpQnVZVzFsWkNBbGN5QnViM1FnWm05MWJtUUtB
R052Ym1ObGJuUnlZWFJsUFhSeWRXVWdiV0Y1SUc1dmRDQjNiM0pySUdOdmNuSmxZM1JzZVM0S0FI
SmxZblZwYkhSa1gzWnNhWE4wY3pvZ2NtRnVheUJzWldGa0lDVnpJRzV2ZENCcGJpQnZjbVJsY2lB
bFpDQnZaaUJ5WVc1cklDVmtDZ0JrWldkbGJtVnlZWFJsSUdOdmJtTmxiblJ5WVhSbFpDQnlZVzVy
SUNWekxDVmtDZ0JPUkY5cGJpaHlhV2RvZENrdWMybDZaU0FySUU1RVgyOTFkQ2h5YVdkb2RDa3Vj
Mmw2WlNBOVBTQXdBR052Ym1NdVl3QnRaWEpuWlhacGNuUjFZV3dBWkc5ME9pQlBkWFFnYjJZZ2JX
VnRiM0o1Q2dCT1JGOXZkWFFvZGlrdWMybDZaU0E5UFNBeUFHWnNZWFF1WXdCelpYUmliM1Z1WkhN
QVIwUmZiV2x1Y21GdWF5aG5LU0E5UFNBd0FHRmliMjFwYm1GMGFXOXVBRVZ5Y205eUFGZGhjbTVw
Ym1jQUpYTTZJQUIxYzJWeWIzVjBPaUJqYjNWc1pDQnViM1FnWVd4c2IyTmhkR1VnYldWdGIzSjVD
Z0JmUVVkZmMzUnlaR0YwWVFCZlFVZGZaR0YwWVdScFkzUUFZV2RrYVdOMGIyWTZJSFZ1YTI1dmQy
NGdhMmx1WkNBbFpBb0FKV01sYkdRQWJXVnRiM0o1SUdGc2JHOWpZWFJwYjI0Z1ptRnBiSFZ5WlFC
aFoyUmxiR1YwWlNCdmJpQjNjbTl1WnlCbmNtRndhQUJmUVVkZmNHVnVaR2x1WndCaFozSmxZMjl5
WkY5allXeHNZbUZqYXlCdlppQmhJR0poWkNCdlltcGxZM1FBY0dWdVpDQmthV04wYjJZZ1lTQmlZ
V1FnYjJKcVpXTjBBRzF2ZG1VZ2RHOGdabkp2Ym5RZ2JHOWpheUJwYm1OdmJuTnBjM1JsYm1ONUFG
eGNBR1poZEdGc0lHWnNaWGdnYzJOaGJtNWxjaUJwYm5SbGNtNWhiQ0JsY25KdmNpMHRibThnWVdO
MGFXOXVJR1p2ZFc1a0FDVnpDZ0JtWVhSaGJDQm1iR1Y0SUhOallXNXVaWElnYVc1MFpYSnVZV3dn
WlhKeWIzSXRMV1Z1WkNCdlppQmlkV1ptWlhJZ2JXbHpjMlZrQUdaaGRHRnNJR1Z5Y205eUlDMGdj
Mk5oYm01bGNpQnBibkIxZENCaWRXWm1aWElnYjNabGNtWnNiM2NBYjNWMElHOW1JR1I1Ym1GdGFX
TWdiV1Z0YjNKNUlHbHVJR0ZoWjE5blpYUmZibVY0ZEY5aWRXWm1aWElvS1FCcGJuQjFkQUJ6ZVc1
MFlYZ2dZVzFpYVdkMWFYUjVJQzBnWW1Ga2JIa2daR1ZzYVcxcGRHVmtJRzUxYldKbGNpQW5BQ2Nn
YVc0Z2JHbHVaU0FsWkNCdlppQUFJSE53YkdsMGN5QnBiblJ2SUhSM2J5QjBiMnRsYm5NS0FDVnpB
R3hwYm1VQUpXUWdKVEZiSWwwbGJnQnZkWFFnYjJZZ1pIbHVZVzFwWXlCdFpXMXZjbmtnYVc0Z1lX
Rm5YMk55WldGMFpWOWlkV1ptWlhJb0tRQnZkWFFnYjJZZ1pIbHVZVzFwWXlCdFpXMXZjbmtnYVc0
Z1lXRm5aVzV6ZFhKbFgySjFabVpsY2w5emRHRmpheWdwQURvZ0FDQnBiaUJzYVc1bElDVmtBQ0J1
WldGeUlDY0FJSE5qWVc1dWFXNW5JR0VnY1hWdmRHVmtJSE4wY21sdVp5QW9iV2x6YzJsdVp5Qmxi
bVJ4ZFc5MFpUOGdiRzl1WjJWeUlIUm9ZVzRnSldRL0tRQUtVM1J5YVc1bklITjBZWEowYVc1bk9p
SUFJSE5qWVc1dWFXNW5JR0VnU0ZSTlRDQnpkSEpwYm1jZ0tHMXBjM05wYm1jZ0p6NG5QeUJpWVdR
Z2JtVnpkR2x1Wno4Z2JHOXVaMlZ5SUhSb1lXNGdKV1EvS1FBS1UzUnlhVzVuSUhOMFlYSjBhVzVu
T2p3QUlITmpZVzV1YVc1bklHRWdMeW91TGk0cUx5QmpiMjF0Wlc1MElDaHRhWE56YVc1bklDY3FM
ejhnYkc5dVoyVnlJSFJvWVc0Z0pXUS9LUUJtYkdWNElITmpZVzV1WlhJZ2NIVnphQzFpWVdOcklH
OTJaWEptYkc5M0FDSWlBSE4wY21samRBQnNhVzVsYkdWdVozUm9BRHNLQUNCYmEyVjVQUUJkQUNC
YkFDd0tBRDBBWHlWc1pGOVRWVk5RUlVOVUFHUnBBSE4wY21samRDQUFld29BWFRzS0FCTHU3aFFK
QSs3Kzd1N3VBZTd1N2dIdTdncis3aE1aRmU0VEFlN3U3dTRMRWU3dTd1N3U3dTd1N2dIdTdoWUpB
UUVkRHhmdTdob1hHKzd1SE83dTd1NEJHZnZ1N3U0QjdoRHU3aDd1N3U3dUFBSUNBZ0lDQWdJQ0Fn
SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWhjUkFnSUNBZ0lDQWdJ
Q0FnSUNBaElRQWhNQ0FoWUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FoUUNGUUlD
QWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDRGdJUEFnSUNBZ0lDQWdJQ0FnSUNB
Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0Fn
SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJ
Q0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0VDQXdRRkJnY0lDUW9M
REEwTEF3UUZEd2NEREEwR0RBME9EQTBhRlJZQUFRQURCdzRHRHdnTURSSVRLaEFSQ1JBdk1CRXlG
eE1ORkJJdUVoUkJFeklUTEVBcVFoa3NRa1lpREEwT0l3OEpFQkVLRUJISkVCRXRSVWI4QVFiMkR3
ZjJKQUlRRVM4d05rMU9LQ1k3UENvMk1UazlQeTg2UU5oRU1ENGxOME0xU3lzNFNVd0FBd2tBQUFB
QkRnSUxEQWdqSkNVMk96MEFEUkFTR3hZY0VpY3lJaGN6SGp3R0J6VUZEeEVVR0NrQUV5a0FBQUFB
QURjVktCMGVBQ0VtTkI4d1Boa3NBQnNBSUJvcUFDczZMaThBTVRnNUxRQUNBZ0VBQXdNQkFBRUFB
UUVCQUFJQkFRQUNBZ01CQVFBQUJRQUJBd0VEQlFNQkFRRUJBZ0FCQUFRQ0FBSUJBUU1DQVFBREFn
RUFBUUVBQVFFQkF3QVlHUmtaR2hzY0hCMGRIaDRmSHlBZ0lTRWlJaU1rSkNZbkpTVW9LQ2twS1Nv
cUt5c3JMQ3d0TFM0dkx6QXhNVEl6TkRZMU56YzNPRGc0T1RrNk91N3UvKzd1N3U3dTdoOGc3Z0R2
N3U3dURPN3U3Z2dON3U3dStPN3U3dTd1N3ZYdS93TUlCQ0VGQ3hJVEp4UVZGaWt5UVJjWUdSb3NN
elJDUjBnYlNod2RMaDVQSHlCclpYa0FZWFIwY21saWRYUmxJRzFoWTNKdmN5QnViM1FnYVcxd2JH
VnRaVzUwWldRQUpYTTZKWE1BUTI5MWJHUWdibTkwSUc5d1pXNGdJaVZ6SWlCbWIzSWdkM0pwZEds
dVp5QTZJQ1Z6Q2dCT2J5QnNhV0o2SUhOMWNIQnZjblF1Q2dBdUpXUUFibTl1WVcxbExtZDJBR2Qy
ZDNKcGRHVmZibTlmZWlCd2NtOWliR1Z0SUNWa0NnQnRaVzF2Y25rZ1lXeHNiMk5oZEdsdmJpQm1Z
V2xzZFhKbENnQk9ieUJzYVdKNklITjFjSEJ2Y25RS0FHZDJjSEpwYm5SbU9pQWxjd29BTFRrNU9U
azVPVGs1T1RrNU9UazVPUzQ1T1FCbmNtRndhSFpwZWdBeUxqUXdMakVBTWpBeE5qRXlNalV1TURN
d05BQnlaVzVrWlhJQWJHRjViM1YwQUdSbGRtbGpaUUJzYjJGa2FXMWhaMlVBWkhsdVlXMXBZeUJz
YjJGa2FXNW5JRzV2ZENCaGRtRnBiR0ZpYkdVS0FGVnphVzVuSUNWek9pQWxjem9sY3dvQVozWjFj
MlZ5YzJoaGNHVXVZd0JuZG5WelpYSnphR0Z3WlY5bWFXNWtBR2QyZFhObGNuTm9ZWEJsWDJacGJH
VmZZV05qWlhOekFFWnBiR1Z1WVcxbElDSWxjeUlnYVhNZ2RXNXpZV1psQ2dBbGN5QjNhR2xzWlNC
dmNHVnVhVzVuSUNWekNnQjFjeTArWmdCbmRuVnpaWEp6YUdGd1pWOXZjR1Z1QUNJbGN5SWdkMkZ6
SUc1dmRDQm1iM1Z1WkNCaGN5QmhJR1pwYkdVZ2IzSWdZWE1nWVNCemFHRndaU0JzYVdKeVlYSjVJ
RzFsYldKbGNnb0FMMDFsWkdsaFFtOTRBQ2hiWVMxNlhWdGhMWHBCTFZwZEtpazlJaWhiWGlKZEtp
a2lBR05oYm01dmRDQmpiMjF3YVd4bElISmxaM1ZzWVhJZ1pYaHdjbVZ6YzJsdmJpQWxjd0FsYkdZ
bE1uTUFjSFFBZG1sbGQwSnZlQUFsYkdZZ0pXeG1JQ1ZzWmlBbGJHWUFhVzRBY0hnQWNHTUFJZ0Jq
YlFCdGJRQWxKVUp2ZFc1a2FXNW5RbTk0T2dBQjBOSFMwOVRWMXRmWTJRQThjM1puQUZkRlFsQUFk
MlZpY0FBb2JHbGlLUUNKVUU1SERRb2FDZ0J3Ym1jQUpTRlFVeTFCWkc5aVpTMEFRazBBWW0xd0FF
ZEpSamdBWjJsbUFQL1kvK0FBYW5CbFp3QWxVRVJHTFFCd1pHWUF4ZERUeGdCbGNITUFQRDk0Yld3
QWVHMXNBRkpKUmtZQWNtbG1aZ0FBQUFFQUFHbGpid0JNWVhsdmRYUWdkSGx3WlRvZ0lpVnpJaUJ1
YjNRZ2NtVmpiMmR1YVhwbFpDNGdWWE5sSUc5dVpTQnZaam9sY3dvQUpXUWdKV1FnSldRZ0pXUUFU
R0Y1YjNWMElIZGhjeUJ1YjNRZ1pHOXVaUW9BWm1GcGJIVnlaU0J0WVd4c2IyTW5hVzVuSUdadmNp
QnlaWE4xYkhRZ2MzUnlhVzVuQUdkak9pQlBkWFFnYjJZZ2JXVnRiM0o1Q2dCZlkyTmZBRzl5YVdj
QWIzQUFZMk52YlhCekxtTUFiV0Z3UTJ4MWMzUUFZMk5uY21Gd2FHbHVabThBWTJObmJtOWtaV2x1
Wm04QUtDVTBiR1FwSUNVM2JHUWdibTlrWlhNZ0pUZHNaQ0JsWkdkbGN3b0FJQ0FnSUNBZ0lDVTNa
Q0J1YjJSbGN5QWxOMlFnWldSblpYTWdKVGRzWkNCamIyMXdiMjVsYm5SeklDVnpDZ0JrWndCRmNu
SnZjam9nYm05a1pTQWlKWE1pSUdKbGJHOXVaM01nZEc4Z2RIZHZJRzV2YmkxdVpYTjBaV1FnWTJ4
MWMzUmxjbk1nSWlWeklpQmhibVFnSWlWeklnb0FjMjl5ZEhZQWNtOTNJRzFoYW05eUFHTnZiSFZ0
YmlCdFlXcHZjZ0JoY25KaGVTQndZV05yYVc1bk9pQWxjeUFsWkNCeWIzZHpJQ1ZrSUdOdmJIVnRi
bk1LQUdKaVd5VnpYU0FsTGpWbklDVXVOV2NnSlM0MVp5QWxMalZuQ2dCemRHVndJSE5wZW1VZ1BT
QWxaQW9BY0c5eld5VmtYU0FsWkNBbFpBb0FZMk1nS0NWa0lHTmxiR3h6S1NCaGRDQW9KV1FzSldR
cElDZ2xaQ3dsWkNrS0FHTmpJQ2dsWkNCalpXeHNjeWtnWVhRZ0tDVmtMQ1ZrS1FvQUpYTWdibTh1
SUdObGJHeHpJQ1ZrSUZjZ0pXUWdTQ0FsWkFvQUlDQWxaQ0FsWkNCalpXeHNDZ0JzYVdKd1lXTnJP
aUJrYVhOaklEMGdKV1lnS0NBOElEQXBDZ0JRWVdOcmFXNW5PaUJqYjIxd2RYUmxJR2R5YVdRZ2My
bDZaUW9BWVNBbFppQmlJQ1ZtSUdNZ0pXWWdaQ0FsWmlCeUlDVm1DZ0J5YjI5MElDVmtJQ2dsWmlr
Z0pXUWdLQ1ZtS1FvQUlISXhJQ1ZtSUhJeUlDVm1DZ0J3YVc1bWJ3QndZV05yTG1NQVoyVjBVR0Zq
YTBsdVptOEFJQ0J0WVhKbmFXNGdKV1FLQUhCaFkydHRiMlJsQUhCaGNuTmxVR0ZqYTAxdlpHVkpi
bVp2QUdGeWNtRjVBR0Z6Y0dWamRBQWxaZ0J3WVdOcklHbHVabTg2Q2dBZ0lHMXZaR1VnSUNBbGN3
b0FJQ0JoYzNCbFkzUWdKV1lLQUNBZ2MybDZaU0FnSUNWa0NnQWdJR1pzWVdkeklDQWxaQW9BZFc1
a1pXWnBibVZrQUhCaFkyc0FRWEp5YjNjZ2RIbHdaU0FpSlhNaUlIVnVhMjV2ZDI0Z0xTQnBaMjV2
Y21sdVp3b0FibTl5YldGc0FHTnliM2NBZEdWbEFHUnZkQUJwYm5ZQWRtVmxBSEJsYmdCdGNIUjVB
R04xY25abEFHbGpkWEoyWlFCc0FHaGhiR1lBYVc1MlpXMXdkSGtBWDJKaFkydG5jbTkxYm1RQVgy
UnlZWGRmQUVOdmRXeGtJRzV2ZENCd1lYSnpaU0FpWDJKaFkydG5jbTkxYm1RaUlHRjBkSEpwWW5W
MFpTQnBiaUJuY21Gd2FDQWxjd29BSUNBaUpYTWlDZ0J1YnlCdFpXMXZjbmtnWm5KdmJTQjZiV0Zz
Ykc5aktDa0tBRzlpYWdCbGJXbDBMbU1BY0c5d1gyOWlhbDl6ZEdGMFpRQmpiSFZ6ZEFBbGJHUUFj
R0ZuWlNWa0xDVmtYd0JVYjNSaGJDQnphWHBsSUQ0Z01TQnBiaUFpSlhNaUlHTnZiRzl5SUhOd1pX
TWdBRWxzYkdWbllXd2diR1Z1WjNSb0lIWmhiSFZsSUdsdUlDSWxjeUlnWTI5c2IzSWdZWFIwY21s
aWRYUmxJQUJqYjJ4dmNuTmphR1Z0WlFCbGJXbDBYMlZrWjJWZmJHRmlaV3dBSlhNdEpYTUFabTl5
ZDJGeVpBQmlZV05yQUNBdFBpQUFJQzB0SUFCcGJpQmxaR2RsSUNWekpYTWxjd29BYkdGaVpXeGhi
R2xuYm1Wa0FHVmtaMlZvY21WbUFHVmtaMlZWVWt3QWJHRmlaV3hvY21WbUFHeGhZbVZzVlZKTUFI
UmhhV3hvY21WbUFIUmhhV3hWVWt3QWFHVmhaR2h5WldZQWFHVmhaRlZTVEFCMFlYSm5aWFFBWldS
blpYUmhjbWRsZEFCc1lXSmxiSFJoY21kbGRBQjBZV2xzZEdGeVoyVjBBR2hsWVdSMFlYSm5aWFFB
WldSblpYUnZiMngwYVhBQWJHRmlaV3gwYjI5c2RHbHdBSFJoYVd4MGIyOXNkR2x3QUdobFlXUjBi
MjlzZEdsd0FBRnVaWE4wYVc1bklHNXZkQ0JoYkd4dmQyVmtJR2x1SUhOMGVXeGxPaUFsY3dvQWRX
NXRZWFJqYUdWa0lDY3BKeUJwYmlCemRIbHNaVG9nSlhNS0FIUnlkVzVqWVhScGJtY2djM1I1YkdV
Z0p5VnpKd29BZFc1dFlYUmphR1ZrSUNjb0p5QnBiaUJ6ZEhsc1pUb2dKWE1LQUdGc2JBQmlaMk52
Ykc5eUFHbHVJR05zZFhOMFpYSWdKWE1LQUUxdmNtVWdkR2hoYmlBeUlHTnZiRzl5Y3lCemNHVmph
V1pwWldRZ1ptOXlJR0VnWjNKaFpHbGxiblFnTFNCcFoyNXZjbWx1WnlCeVpXMWhhVzVwYm1jS0FH
ZHlZV1JwWlc1MElIQmxiaUJqYjJ4dmNuTWdibTkwSUhsbGRDQnpkWEJ3YjNKMFpXUXVDZ0JKYldG
blpYTWdkVzV6ZFhCd2IzSjBaV1FnYVc0Z0ltSmhZMnRuY205MWJtUWlJR0YwZEhKcFluVjBaUW9B
YkdGNVpYSnpJRzV2ZENCemRYQndiM0owWldRZ2FXNGdKWE1nYjNWMGNIVjBDZ0JNWVhsdmRYUWdk
MkZ6SUc1dmRDQmtiMjVsTGlBZ1RXbHpjMmx1WnlCc1lYbHZkWFFnY0d4MVoybHVjejhnQ2dCbmRs
SmxibVJsY2twdlluTWdKWE02SUNVdU1tWWdjMlZqY3k0S0FHeGhlVzkxZENCM1lYTWdibTkwSUdS
dmJtVUtBSEpsYm1SbGNtVnlJR1p2Y2lBbGN5QnBjeUIxYm1GMllXbHNZV0pzWlFvQWNHRm5aV1Jw
Y2owbGN5QnBaMjV2Y21Wa0NnQjJhV1YzY0c5eWRBQWxiR1lzSld4bUxDVnNaaXduSlZ0ZUoxMG5B
Q1ZzWml3bGJHWXNKV3htTENWYlhpeGRKWE1BSld4bUxDVnNaaXdsYkdZc0pXeG1MQ1ZzWmdCdmRY
UndkWFJ2Y21SbGNnQnZaR1Z6Wm1seWMzUUFaR2RsYzJacGNuTjBBR3hoZVdWeWN3QnNZWGxsY25O
bGJHVmpkQUJVYUdVZ2JHRjVaWEp6Wld4bFkzUWdZWFIwY21saWRYUmxJQ0lsY3lJZ1pHOWxjeUJ1
YjNRZ2JXRjBZMmdnWVc1NUlHeGhlV1Z5SUhOd1pXTnBabVZrSUdKNUlIUm9aU0JzWVhsbGNuTWdZ
WFIwY21saWRYUmxJQzBnYVdkdWIzSmxaQzRLQUd4aGVXVnljMlZ3QURvSklBQnNZWGxsY214cGMz
UnpaWEFBTEFCVWFHVWdZMmhoY21GamRHVnlJQ2NsWXljZ1lYQndaV0Z5Y3lCcGJpQmliM1JvSUhS
b1pTQnNZWGxsY25ObGNDQmhibVFnYkdGNVpYSnNhWE4wYzJWd0lHRjBkSEpwWW5WMFpYTWdMU0Jz
WVhsbGNteHBjM1J6WlhBZ2FXZHViM0psWkM0S0FIQmhaQUJDVEFCd1lXZGxaR2x5QUhOdmJHbGtB
QUJ6WlhSc2FXNWxkMmxrZEdnQU1RQUFjM0JzTFQ1emFYcGxJRDRnTUFCcGJtbDBYM053YkdsdVpY
TmZZbUlBWW5vdWMybDZaU0ErSURBQVltVjZhV1Z5WDJKaUFHSjZMbk5wZW1VZ0pTQXpJRDA5SURF
QWJHRmlaV3dBSld4bUFHWnZiblJ3WVhSb0FFUlBWRVpQVGxSUVFWUklBRWRFUms5T1ZGQkJWRWdB
YVcxaFoyVndZWFJvQUhGMVlXNTBkVzBBY21GdWEyUnBjZ0JNVWdCQ1ZBQlNUQUJ1YjJSbGMyVndB
SEpoYm10elpYQUFaWEYxWVd4c2VRQnphRzkzWW05NFpYTUFabTl1ZEc1aGJXVnpBSE5wZW1VQWNH
Rm5aUUJqWlc1MFpYSUFjbTkwWVhSbEFHOXlhV1Z1ZEdGMGFXOXVBR3hoYm1SelkyRndaUUJqYkhW
emRHVnljbUZ1YXdCamIyNWpaVzUwY21GMFpRQmtjR2tBY21WemIyeDFkR2x2YmdCdmNtUmxjbWx1
WndCbmNtRmthV1Z1ZEdGdVoyeGxBR1pwYkd4amIyeHZjZ0J6ZEhsc1pRQm1iMjUwYzJsNlpRQm1i
MjUwYm1GdFpRQm1iMjUwWTI5c2IzSUFlR3hoWW1Wc0FIQmxibmRwWkhSb0FITnBaR1Z6QUhCbGNt
bHdhR1Z5YVdWekFITnJaWGNBWkdsemRHOXlkR2x2YmdCbWFYaGxaSE5wZW1VQWJtOXFkWE4wYVda
NUFHeGhlV1Z5QUdkeWIzVndBR052YlcxbGJuUUFkbVZ5ZEdsalpYTUFlZ0IzWldsbmFIUUFiR0Zp
Wld4bWJHOWhkQUJrYVhJQVlYSnliM2RvWldGa0FHRnljbTkzZEdGcGJBQm9aV0ZrYkdGaVpXd0Fk
R0ZwYkd4aFltVnNBR3hoWW1Wc1ptOXVkSE5wZW1VQWJHRmlaV3htYjI1MGJtRnRaUUJzWVdKbGJH
WnZiblJqYjJ4dmNnQnNZV0psYkdScGMzUmhibU5sQUd4aFltVnNZVzVuYkdVQWJXbHViR1Z1QUdS
bFkyOXlZWFJsQUdGeWNtOTNjMmw2WlFCamIyNXpkSEpoYVc1MEFIUmhhV3hqYkdsd0FHaGxZV1Jq
Ykdsd0FHbGtBR3hoWW1Wc2FuVnpkQUJzYjJOaGJBQm5iRzlpWVd3QUpXeG1MQ1ZzWmlWakFDVnNa
aVZqQUhKaGRHbHZBR0YxZEc4QVkyOXRjSEpsYzNNQVpYaHdZVzVrQUdacGJHd0FaMlFBY0hNQWMz
Wm5BR05vWVhKelpYUUFkWFJtTFRnQWJHRjBhVzR0TVFCc1lYUnBiakVBYkRFQVNWTlBMVGc0TlRr
dE1RQkpVMDlmT0RnMU9TMHhBRWxUVHpnNE5Ua3RNUUJKVTA4dFNWSXRNVEF3QUdKcFp5MDFBR0pw
WnpVQWRYUm1PQUJWYm5OMWNIQnZjblJsWkNCamFHRnljMlYwSUNJbGN5SWdMU0JoYzNOMWJXbHVa
eUIxZEdZdE9Bb0FhVzRnYkdGaVpXd2diMllnWjNKaGNHZ2dKWE1LQUdsdUlHeGhZbVZzSUc5bUlH
NXZaR1VnSlhNS0FHbHVJR3hoWW1Wc0lHOW1JR1ZrWjJVZ0pYTWdKWE1nSlhNS0FHdHBibVFnUFQw
Z1RGUmZUazlPUlFCc1lXSmxiSE11WXdCdFlXdGxYMnhoWW1Wc0FGeE1BRnhIQUZ4RkFGeElBRnhV
QUNZak1UTTdBQ1lqTVRBN0FDWnhkVzkwT3dBbUl6RTJNRHNBSm1GdGNEc0FKbWQwT3dBbUl6TTVP
d0FtSXpRMU93QW1iSFE3QUNWeklDVmtJRzV2WkdWeklDVmtJR1ZrWjJWeklHMWhlR2wwWlhJOUpX
UWdZbUZzWVc1alpUMGxaQW9BYm1WMGQyOXlheUJ6YVcxd2JHVjRPaUFBSldRZ0FDVnpKV1FnYm05
a1pYTWdKV1FnWldSblpYTWdKV1FnYVhSbGNpQWxMakptSUhObFl3b0FkWEJrWVhSbE9pQnRhWE50
WVhSamFHVmtJR3hqWVNCcGJpQjBjbVZsZFhCa1lYUmxjd29BVkhKbFpWOWxaR2RsTG5OcGVtVWdQ
VDBnVGw5dWIyUmxjeUF0SURFQWJuTXVZd0JtWldGemFXSnNaVjkwY21WbEFDRlVVa1ZGWDBWRVIw
VW9aU2tBYldWeVoyVmZkSEpsWlhNQUtISXdMVDVvWldGd1gybHVaR1Y0SUQ0Z0xURXBJSHg4SUNo
eU1TMCthR1ZoY0Y5cGJtUmxlQ0ErSUMweEtRQlRWSE5sZEZWdWFXOXVBSEl0UG1obFlYQmZhVzVr
WlhnZ1BqMGdNQUJoWkdSZmRISmxaVjlsWkdkbE9pQnRhWE56YVc1bklIUnlaV1VnWldSblpRb0FZ
V1JrWDNSeVpXVmZaV1JuWlRvZ1pXMXdkSGtnYjNWMFpXUm5aU0JzYVhOMENnQmhaR1JmZEhKbFpW
OWxaR2RsT2lCbGJYQjBlU0JwYm1Wa1oyVWdiR2x6ZEFvQWRISnZkV0pzWlNCcGJpQnBibWwwWDNK
aGJtc0tBQWtsY3lBbFpBb0FjMlZoY21Ob2MybDZaUUJuY21Gd2FDQUFJQUJ1YjJSbElBQnpkRzl3
Q2dBbExqVm5BSEJ2Y3dCeVpXTjBjd0I0YkhBQWJIQUFhR1ZoWkY5c2NBQjBZV2xzWDJ4d0FHeDNh
V1IwYUFCc2FHVnBaMmgwQUdKaUFDVXVOV2NzSlM0MVp5d2xMalZuQUN3bExqVm5BQ1V1Tldjc0pT
NDFad0J6WVcxd2JHVndiMmx1ZEhNQUpTNDFaeUFsTGpWbkFITXNKUzQxWnl3bExqVm5JQUJsTENV
dU5XY3NKUzQxWnlBQUpTNDFaeXdsTGpWbkxDVXVOV2NzSlM0MVp3QWxMakptQUNVdU5XY3NKUzQx
Wnl3bExqVm5MQ1V1TldjZ0FDOXdZWFJvWW05NElIc0tJQ0FnSUM5WUlHVjRZMmdnYm1WbklDVXVO
V2NnYzNWaUlHUmxaZ29nSUNBZ0wxa2daWGhqYUNBbExqVm5JSE4xWWlCa1pXWUtJQ0FnSUM5NElH
VjRZMmdnYm1WbklDVXVOV2NnYzNWaUlHUmxaZ29nSUNBZ0wza2daWGhqYUNBbExqVm5JSE4xWWlC
a1pXWUtJQ0FnSUc1bGQzQmhkR2dnZUNCNUlHMXZkbVYwYndvZ0lDQWdXQ0I1SUd4cGJtVjBid29n
SUNBZ1dDQlpJR3hwYm1WMGJ3b2dJQ0FnZUNCWklHeHBibVYwYndvZ0lDQWdZMnh2YzJWd1lYUm9J
SE4wY205clpRcDlJR1JsWmdvQUwzQmhkR2hpYjNnZ2V3b2dJQ0FnTDFrZ1pYaGphQ0FsTGpWbklI
TjFZaUJrWldZS0lDQWdJQzlZSUdWNFkyZ2dKUzQxWnlCemRXSWdaR1ZtQ2lBZ0lDQXZlU0JsZUdO
b0lDVXVOV2NnYzNWaUlHUmxaZ29nSUNBZ0wzZ2daWGhqYUNBbExqVm5JSE4xWWlCa1pXWUtJQ0Fn
SUc1bGQzQmhkR2dnZUNCNUlHMXZkbVYwYndvZ0lDQWdXQ0I1SUd4cGJtVjBid29nSUNBZ1dDQlpJ
R3hwYm1WMGJ3b2dJQ0FnZUNCWklHeHBibVYwYndvZ0lDQWdZMnh2YzJWd1lYUm9JSE4wY205clpR
b2dmU0JrWldZS0wyUmlaM04wWVhKMElIc2daM05oZG1VZ0pTNDFaeUFsTGpWbklIUnlZVzV6YkdG
MFpTQjlJR1JsWmdvdllYSnliM2RzWlc1bmRHZ2dNVEFnWkdWbUNpOWhjbkp2ZDNkcFpIUm9JR0Z5
Y205M2JHVnVaM1JvSURJZ1pHbDJJR1JsWmdvdllYSnliM2RvWldGa0lIc0tJQ0FnSUdkellYWmxD
aUFnSUNCeWIzUmhkR1VLSUNBZ0lHTjFjbkpsYm5Sd2IybHVkQW9nSUNBZ2JtVjNjR0YwYUFvZ0lD
QWdiVzkyWlhSdkNpQWdJQ0JoY25KdmQyeGxibWQwYUNCaGNuSnZkM2RwWkhSb0lESWdaR2wySUhK
c2FXNWxkRzhLSUNBZ0lEQWdZWEp5YjNkM2FXUjBhQ0J1WldjZ2NteHBibVYwYndvZ0lDQWdZMnh2
YzJWd1lYUm9JR1pwYkd3S0lDQWdJR2R5WlhOMGIzSmxDbjBnWW1sdVpDQmtaV1lLTDIxaGEyVmhj
bkp2ZHlCN0NpQWdJQ0JqZFhKeVpXNTBjRzlwYm5RZ1pYaGphQ0J3YjNBZ2MzVmlJR1Y0WTJnZ1kz
VnljbVZ1ZEhCdmFXNTBJSEJ2Y0NCemRXSWdZWFJoYmdvZ0lDQWdZWEp5YjNkb1pXRmtDbjBnWW1s
dVpDQmtaV1lLTDNCdmFXNTBJSHNnSUNBZ2JtVjNjR0YwYUNBZ0lDQXlJREFnTXpZd0lHRnlZeUJt
YVd4c2ZTQmtaV1l2YldGclpYWmxZeUI3Q2lBZ0lDQXZXU0JsZUdOb0lHUmxaZ29nSUNBZ0wxZ2da
WGhqYUNCa1pXWUtJQ0FnSUM5NUlHVjRZMmdnWkdWbUNpQWdJQ0F2ZUNCbGVHTm9JR1JsWmdvZ0lD
QWdibVYzY0dGMGFDQjRJSGtnYlc5MlpYUnZDaUFnSUNCWUlGa2diR2x1WlhSdklITjBjbTlyWlFv
Z0lDQWdXQ0JaSUcxdmRtVjBid29nSUNBZ2VDQjVJRzFoYTJWaGNuSnZkd3A5SUdSbFpnb0FiRzl6
ZENBbGN5QWxjeUJsWkdkbENnQnVieUJ3YjNOcGRHbHZiaUJtYjNJZ1pXUm5aU0IzYVhSb0lHeGhZ
bVZzSUNWekFHNXZJSEJ2YzJsMGFXOXVJR1p2Y2lCbFpHZGxJSGRwZEdnZ2RHRnBiQ0JzWVdKbGJD
QWxjd0J1YnlCd2IzTnBkR2x2YmlCbWIzSWdaV1JuWlNCM2FYUm9JR2hsWVdRZ2JHRmlaV3dnSlhN
QWJtOGdjRzl6YVhScGIyNGdabTl5SUdWa1oyVWdkMmwwYUNCNGJHRmlaV3dnSlhNQVptOXlZMlZz
WVdKbGJITUFKV1FnYjNWMElHOW1JQ1ZrSUd4aFltVnNjeUJ3YjNOcGRHbHZibVZrTGdvQUpXUWdi
M1YwSUc5bUlDVmtJR1Y0ZEdWeWFXOXlJR3hoWW1Wc2N5QndiM05wZEdsdmJtVmtMZ29BSldRZ2Iy
SnFjeUFsWkNCNGJHRmlaV3h6SUdadmNtTmxQU1ZrSUdKaVBTZ2xMakF5Wml3bExqQXlaaWtnS0NV
dU1ESm1MQ1V1TURKbUtRb0FiMkpxWldOMGN3b0FJRnNsWkYwZ0tDVXVNREptTENVdU1ESm1LU0Fv
SlM0d01tWXNKUzR3TW1ZcElDVndJQ0lsY3lJS0FIaHNZV0psYkhNS0FDQmJKV1JkSUNWd0lITmxk
Q0FsWkNBb0pTNHdNbVlzSlM0d01tWXBJQ2dsTGpBeVppd2xMakF5WmlrZ0pYTUtBSE5vWVhCbFpt
bHNaU0J1YjNRZ2MyVjBJRzl5SUc1dmRDQm1iM1Z1WkNCbWIzSWdaWEJ6WmlCdWIyUmxJQ1Z6Q2dC
amIzVnNaRzRuZENCdmNHVnVJR1Z3YzJZZ1ptbHNaU0FsY3dvQUpTVWxKVUp2ZFc1a2FXNW5RbTk0
T2lBbFpDQWxaQ0FsWkNBbFpBQnlaV0ZrQUVKdmRXNWthVzVuUW05NElHNXZkQ0JtYjNWdVpDQnBi
aUJsY0hObUlHWnBiR1VnSlhNS0FHTmhiaWQwSUdacGJtUWdiR2xpY21GeWVTQm1hV3hsSUNWekNn
QmpZVzRuZENCdmNHVnVJR3hwWW5KaGNua2dabWxzWlNBbGN3b0FSVTlHQUVKRlIwbE9BRVZPUkFC
VVVrRkpURVZTQUM5MWMyVnlYM05vWVhCbFh5VmtJSHNLQUNVbFFtVm5hVzVFYjJOMWJXVnVkRG9L
QUNVbFJXNWtSRzlqZFcxbGJuUUtBSDBnWW1sdVpDQmtaV1lLQUZWVVJpMDRJR2x1Y0hWMElIVnpa
WE1nYm05dUxVeGhkR2x1TVNCamFHRnlZV04wWlhKeklIZG9hV05vSUdOaGJtNXZkQ0JpWlNCb1lX
NWtiR1ZrSUdKNUlIUm9hWE1nVUc5emRGTmpjbWx3ZENCa2NtbDJaWElLQUdOaGJtNXZkQ0J5WlMx
aGJHeHZZMkYwWlNCd2N3b0FjbTkxZEdWemNHeHBibVZ6YVc1cGREb2dZMkZ1Ym05MElHRnNiRzlq
WVhSbElIQnpDZ0J5YjNWMFpYTndiR2x1WlhNNklDVmtJR1ZrWjJWekxDQWxaQ0JpYjNobGN5QWxM
akptSUhObFl3b0FhVzRnY205MWRHVnpjR3hwYm1WekxDQmpZVzV1YjNRZ1ptbHVaQ0JPVDFKTlFV
d2daV1JuWlFvQWFXNGdjbTkxZEdWemNHeHBibVZ6TENCcGJHeGxaMkZzSUhaaGJIVmxjeUJ2WmlC
d2NtVjJJQ1ZrSUdGdVpDQnVaWGgwSUNWa0xDQnNhVzVsSUNWa0NnQnBiaUJ5YjNWMFpYTndiR2x1
WlhNc0lHVmtaMlVnYVhNZ1lTQnNiMjl3SUdGMElDVnpDZ0JwYmlCeWIzVjBaWE53YkdsdVpYTXNJ
RkJ6YUc5eWRHVnpkSEJoZEdnZ1ptRnBiR1ZrQ2dCcGJpQnliM1YwWlhOd2JHbHVaWE1zSUZCeWIz
VjBaWE53YkdsdVpTQm1ZV2xzWldRS0FGVnVZV0pzWlNCMGJ5QnlaV05zWVdsdElHSnZlQ0J6Y0dG
alpTQnBiaUJ6Y0d4cGJtVWdjbTkxZEdsdVp5Qm1iM0lnWldSblpTQWlKWE1pSUMwK0lDSWxjeUl1
SUZOdmJXVjBhR2x1WnlCcGN5QndjbTlpWVdKc2VTQnpaWEpwYjNWemJIa2dkM0p2Ym1jdUNnQnBi
aUJqYUdWamEzQmhkR2dzSUdKdmVDQXdJR2hoY3lCTVRDQmpiMjl5WkNBK0lGVlNJR052YjNKa0Nn
QnBiaUJqYUdWamEzQmhkR2dzSUdKdmVDQWxaQ0JvWVhNZ1RFd2dZMjl2Y21RZ1BpQlZVaUJqYjI5
eVpBb0FhVzRnWTJobFkydHdZWFJvTENCaWIzaGxjeUFsWkNCaGJtUWdKV1FnWkc5dUozUWdkRzkx
WTJnS0FHbHVJR05vWldOcmNHRjBhQ3dnYzNSaGNuUWdjRzl5ZENCdWIzUWdhVzRnWm1seWMzUWdZ
bTk0Q2dCcGJpQmphR1ZqYTNCaGRHZ3NJR1Z1WkNCd2IzSjBJRzV2ZENCcGJpQnNZWE4wSUdKdmVB
b0FKV1FnWW05NFpYTTZDZ0FsWkNBb0pTNDFaeXdnSlM0MVp5a3NJQ2dsTGpWbkxDQWxMalZuS1Fv
QVkyOXVjM1J5WVdsdVpXUUFibTkwSUdOdmJuTjBjbUZwYm1Wa0FITjBZWEowSUhCdmNuUTZJQ2ds
TGpWbkxDQWxMalZuS1N3Z2RHRnVaMlZ1ZENCaGJtZHNaVG9nSlM0MVp5d2dKWE1LQUdWdVpDQndi
M0owT2lBb0pTNDFaeXdnSlM0MVp5a3NJSFJoYm1kbGJuUWdZVzVuYkdVNklDVXVOV2NzSUNWekNn
QnphV1JsY3lBOVBTQTBBSE5vWVhCbGN5NWpBSEp2ZFc1a1gyTnZjbTVsY25NQVltRmtJR3hoWW1W
c0lHWnZjbTFoZENBbGN3b0FYRTRBYldGeVoybHVBQ1ZzWml3bGJHWUFjbVZuZFd4aGNnQmpkWE4w
YjIwQWMyaGhjR1ZtYVd4bEFEeHVhV3crQUU1dklHOXlJR2x0Y0hKdmNHVnlJSE5vWVhCbFptbHNa
VDBpSlhNaUlHWnZjaUJ1YjJSbElDSWxjeUlLQUU1dklHOXlJR2x0Y0hKdmNHVnlJR2x0WVdkbFBT
SWxjeUlnWm05eUlHNXZaR1VnSWlWeklnb0FiR0ZpWld4c2IyTUFjMmhoY0dVQWJtOWtaU0FuSlhN
bkxDQm5jbUZ3YUNBbkpYTW5JSE5wZW1VZ2RHOXZJSE50WVd4c0lHWnZjaUJzWVdKbGJBb0FaWEJ6
WmdCMWMybHVaeUFsY3lCbWIzSWdkVzVyYm05M2JpQnphR0Z3WlNBbGN3b0FZbTk0QUhCdmJIbG5i
MjRBYjNaaGJBQmphWEpqYkdVQWNHOXBiblFBWldkbkFIUnlhV0Z1WjJ4bEFIQnNZV2x1ZEdWNGRB
QndiR0ZwYmdCa2FXRnRiMjVrQUhSeVlYQmxlbWwxYlFCd1lYSmhiR3hsYkc5bmNtRnRBR2h2ZFhO
bEFIQmxiblJoWjI5dUFHaGxlR0ZuYjI0QWMyVndkR0ZuYjI0QWIyTjBZV2R2YmdCdWIzUmxBSFJo
WWdCbWIyeGtaWElBWW05NE0yUUFZMjl0Y0c5dVpXNTBBR041YkdsdVpHVnlBSEpsWTNRQWNtVmpk
R0Z1WjJ4bEFITnhkV0Z5WlFCa2IzVmliR1ZqYVhKamJHVUFaRzkxWW14bGIyTjBZV2R2YmdCMGNt
bHdiR1Z2WTNSaFoyOXVBR2x1ZG5SeWFXRnVaMnhsQUdsdWRuUnlZWEJsZW1sMWJRQnBiblpvYjNW
elpRQjFibVJsY214cGJtVUFUV1JwWVcxdmJtUUFUWE54ZFdGeVpRQk5ZMmx5WTJ4bEFIQnliMjF2
ZEdWeUFHTmtjd0IwWlhKdGFXNWhkRzl5QUhWMGNnQnBibk4xYkdGMGIzSUFjbWxpYjNOcGRHVUFj
bTVoYzNSaFlnQndjbTkwWldGelpYTnBkR1VBY0hKdmRHVnBibk4wWVdJQWNISnBiV1Z5YzJsMFpR
QnlaWE4wY21samRHbHZibk5wZEdVQVptbDJaWEJ2ZG1WeWFHRnVad0IwYUhKbFpYQnZkbVZ5YUdG
dVp3QnViM1psY21oaGJtY0FZWE56WlcxaWJIa0FjMmxuYm1GMGRYSmxBSEp3Y205dGIzUmxjZ0Jz
WVhKeWIzY0FjbUZ5Y205M0FHeHdjbTl0YjNSbGNnQnlaV052Y21RQVRYSmxZMjl5WkFCemRHRnlB
Q000TURnd09EQUFJMlpqWm1ObVl3QWpNekF6TURNd0FDTmxPR1U0WlRnQUkyVXdaVEJsTUFBalpq
Qm1NR1l3QUNNeE1ERXdNVEFBSTJZNFpqaG1PQUJwYmlCdWIyUmxJQ1Z6Q2dCeWIzVnVaR1ZrQUdS
cFlXZHZibUZzY3dCeVlXUnBZV3dBYzNSeWFYQmxaQUIzWldSblpXUUFYd0J1YjJSbElDVnpMQ0J3
YjNKMElDVnpMQ0IxYm5KbFkyOW5ibWw2WldRZ1kyOXRjR0Z6Y3lCd2IybHVkQ0FuSlhNbklDMGdh
V2R1YjNKbFpBb0FibTlrWlNBbGN5d2djRzl5ZENBbGN5QjFibkpsWTI5bmJtbDZaV1FLQUNVdU5X
Y2dKUzQxWnlCMGNtRnVjMnhoZEdVZ2JtVjNjR0YwYUNCMWMyVnlYM05vWVhCbFh5VmtDZ0JwYm5a
cGN3QUFabWxzYkdWa0FBQnpBR1VBZHdCemNHeHBibVZ6TG1NQVltVm5hVzV3WVhSb0FGQXRQbVZ1
WkM1MGFHVjBZU0E4SURJZ0tpQk5YMUJKQUdWdVpIQmhkR2dBYldGclpWTmxiR1pGWkdkbEFHZGxk
SE53YkdsdVpYQnZhVzUwY3pvZ2JtOGdjM0JzYVc1bElIQnZhVzUwY3lCaGRtRnBiR0ZpYkdVZ1pt
OXlJR1ZrWjJVZ0tDVnpMQ1Z6S1FvQWNHOXNlV3hwYm1WTmFXUndiMmx1ZEFCemNHRnVMVDVtYjI1
MEFIUmxlSFJ6Y0dGdUxtTUFkR1Y0ZEhOd1lXNWZjMmw2WlFCbWIyNTBMVDV1WVcxbEFHWnZiblJ1
WVcxbE9pQWlKWE1pSUhKbGMyOXNkbVZrSUhSdk9pQWxjd29BWm05dWRHNWhiV1U2SUhWdVlXSnNa
U0IwYnlCeVpYTnZiSFpsSUNJbGN5SUtBR052ZFhJQVlYSnBZV3dBYUdWc2RtVjBhV05oQUZ0cGJu
UmxjbTVoYkNCMGFXMWxjMTBBVzJsdWRHVnlibUZzSUdOdmRYSnBaWEpkQUZ0cGJuUmxjbTVoYkNC
aGNtbGhiRjBBUVhaaGJuUkhZWEprWlMxQ2IyOXJBRlZTVnlCSGIzUm9hV01nVEFCaWIyOXJBSE5o
Ym5NdFUyVnlhV1lBUVhaaGJuUkhZWEprWlMxQ2IyOXJUMkpzYVhGMVpRQnZZbXhwY1hWbEFHbDBZ
V3hwWXdCQmRtRnVkRWRoY21SbExVUmxiV2tBWkdWdGFRQkJkbUZ1ZEVkaGNtUmxMVVJsYldsUFlt
eHBjWFZsQUVKdmIydHRZVzR0UkdWdGFRQlZVbGNnUW05dmEyMWhiaUJNQUhObGNtbG1BRUp2YjJ0
dFlXNHRSR1Z0YVVsMFlXeHBZd0JDYjI5cmJXRnVMVXhwWjJoMEFHeHBaMmgwQUVKdmIydHRZVzR0
VEdsbmFIUkpkR0ZzYVdNQVEyOTFjbWxsY2dCdGIyNXZjM0JoWTJVQVEyOTFjbWxsY2kxQ2IyeGtB
RU52ZFhKcFpYSXRRbTlzWkU5aWJHbHhkV1VBUTI5MWNtbGxjaTFQWW14cGNYVmxBRWhsYkhabGRH
bGpZUUJJWld4MlpYUnBZMkV0UW05c1pBQklaV3gyWlhScFkyRXRRbTlzWkU5aWJHbHhkV1VBU0dW
c2RtVjBhV05oTFU1aGNuSnZkd0JqYjI1a1pXNXpaV1FBU0dWc2RtVjBhV05oTFU1aGNuSnZkeTFD
YjJ4a0FFaGxiSFpsZEdsallTMU9ZWEp5YjNjdFFtOXNaRTlpYkdseGRXVUFTR1ZzZG1WMGFXTmhM
VTVoY25KdmR5MVBZbXhwY1hWbEFFaGxiSFpsZEdsallTMVBZbXhwY1hWbEFFNWxkME5sYm5SMWNu
bFRZMmhzWW1zdFFtOXNaQUJEWlc1MGRYSjVJRk5qYUc5dmJHSnZiMnNnVEFCT1pYZERaVzUwZFhK
NVUyTm9iR0pyTFVKdmJHUkpkR0ZzYVdNQVRtVjNRMlZ1ZEhWeWVWTmphR3hpYXkxSmRHRnNhV01B
VG1WM1EyVnVkSFZ5ZVZOamFHeGlheTFTYjIxaGJnQnliMjFoYmdCUVlXeGhkR2x1YnkxQ2IyeGtB
RkJoYkdGMGFXNXZJRXhwYm05MGVYQmxBRkJoYkdGMGFXNXZMVUp2YkdSSmRHRnNhV01BVUdGc1lY
UnBibTh0U1hSaGJHbGpBRkJoYkdGMGFXNXZMVkp2YldGdUFGTjViV0p2YkFCbVlXNTBZWE41QUZS
cGJXVnpMVUp2YkdRQVZHbHRaWE1BVkdsdFpYTXRRbTlzWkVsMFlXeHBZd0JVYVcxbGN5MUpkR0Zz
YVdNQVdtRndaa05vWVc1alpYSjVMVTFsWkdsMWJVbDBZV3hwWXdCVlVsY2dRMmhoYm1ObGNua2dU
QUJ0WldScGRXMEFXbUZ3WmtScGJtZGlZWFJ6QUVScGJtZGlZWFJ6QUc1dkFIUnlkV1VBZVdWekFI
VjBhV3h6TG1NQWRTQTlQU0JWUmw5bWFXNWtLSFVwQUZWR1gzTmxkRzVoYldVQUFXWnBiR1VnYkc5
aFpHbHVaeUJwY3lCa2FYTmhZbXhsWkNCaVpXTmhkWE5sSUhSb1pTQmxiblpwY205dWJXVnVkQ0Jq
YjI1MFlXbHVjeUJUUlZKV1JWSmZUa0ZOUlQwaUpYTWlDbUZ1WkNCMGFHVWdSMVpmUmtsTVJWOVFR
VlJJSUhaaGNtbGhZbXhsSUdseklIVnVjMlYwSUc5eUlHVnRjSFI1TGdvQVVHRjBhQ0J3Y205MmFX
UmxaQ0IwYnlCbWFXeGxPaUFpSlhNaUlHaGhjeUJpWldWdUlHbG5ibTl5WldRZ1ltVmpZWFZ6WlNC
bWFXeGxjeUJoY21VZ2IyNXNlU0J3WlhKdGFYUjBaV1FnZEc4Z1ltVWdiRzloWkdWa0lHWnliMjBn
ZEdobElHUnBjbVZqZEc5eWFXVnpJR2x1SUNJbGN5SWdkMmhsYmlCeWRXNXVhVzVuSUdsdUlHRnVJ
R2gwZEhBZ2MyVnlkbVZ5TGdvQUpYTWxjeVZ6QUM4QU9nQmxiR3hwY0hObEFGUnBiV1Z6TFZKdmJX
RnVBR05zZFhOMFpYSUFYMTlqYkhWemRHVnlibTlrWlhNQVZIZHZJR05zZFhOMFpYSnpJRzVoYldW
a0lDVnpJQzBnZEdobElITmxZMjl1WkNCM2FXeHNJR0psSUdsbmJtOXlaV1FLQUcxaGNFNEFRVVZz
YVdjQVFXRmpkWFJsQUVGamFYSmpBRUZuY21GMlpRQkJiSEJvWVFCQmNtbHVad0JCZEdsc1pHVUFR
WFZ0YkFCQ1pYUmhBRU5qWldScGJBQkRhR2tBUkdGbloyVnlBRVJsYkhSaEFFVlVTQUJGWVdOMWRH
VUFSV05wY21NQVJXZHlZWFpsQUVWd2MybHNiMjRBUlhSaEFFVjFiV3dBUjJGdGJXRUFTV0ZqZFhS
bEFFbGphWEpqQUVsbmNtRjJaUUJKYjNSaEFFbDFiV3dBUzJGd2NHRUFUR0Z0WW1SaEFFMTFBRTUw
YVd4a1pRQk9kUUJQUld4cFp3QlBZV04xZEdVQVQyTnBjbU1BVDJkeVlYWmxBRTl0WldkaEFFOXRh
V055YjI0QVQzTnNZWE5vQUU5MGFXeGtaUUJQZFcxc0FGQm9hUUJRYVFCUWNtbHRaUUJRYzJrQVVt
aHZBRk5qWVhKdmJnQlRhV2R0WVFCVVNFOVNUZ0JVWVhVQVZHaGxkR0VBVldGamRYUmxBRlZqYVhK
akFGVm5jbUYyWlFCVmNITnBiRzl1QUZWMWJXd0FXR2tBV1dGamRYUmxBRmwxYld3QVdtVjBZUUJo
WVdOMWRHVUFZV05wY21NQVlXTjFkR1VBWVdWc2FXY0FZV2R5WVhabEFHRnNaV1p6ZVcwQVlXeHdh
R0VBWVcxd0FHRnVaQUJoYm1jQVlYSnBibWNBWVhONWJYQUFZWFJwYkdSbEFHRjFiV3dBWW1SeGRX
OEFZbVYwWVFCaWNuWmlZWElBWW5Wc2JBQmpZWEFBWTJObFpHbHNBR05sWkdsc0FHTmxiblFBWTJo
cEFHTnBjbU1BWTJ4MVluTUFZMjl1WndCamIzQjVBR055WVhKeUFHTjFjQUJqZFhKeVpXNEFaRUZ5
Y2dCa1lXZG5aWElBWkdGeWNnQmtaV2NBWkdWc2RHRUFaR2xoYlhNQVpHbDJhV1JsQUdWaFkzVjBa
UUJsWTJseVl3QmxaM0poZG1VQVpXMXdkSGtBWlcxemNBQmxibk53QUdWd2MybHNiMjRBWlhGMWFY
WUFaWFJoQUdWMGFBQmxkVzFzQUdWMWNtOEFaWGhwYzNRQVptNXZaZ0JtYjNKaGJHd0FabkpoWXpF
eUFHWnlZV014TkFCbWNtRmpNelFBWm5KaGMyd0FaMkZ0YldFQVoyVUFaM1FBYUVGeWNnQm9ZWEp5
QUdobFlYSjBjd0JvWld4c2FYQUFhV0ZqZFhSbEFHbGphWEpqQUdsbGVHTnNBR2xuY21GMlpRQnBi
V0ZuWlFCcGJtWnBiZ0JwYm5RQWFXOTBZUUJwY1hWbGMzUUFhWE5wYmdCcGRXMXNBR3RoY0hCaEFH
eEJjbklBYkdGdFltUmhBR3hoYm1jQWJHRnhkVzhBYkdGeWNnQnNZMlZwYkFCc1pIRjFid0JzWlFC
c1pteHZiM0lBYkc5M1lYTjBBR3h2ZWdCc2NtMEFiSE5oY1hWdkFHeHpjWFZ2QUd4MEFHMWhZM0lB
YldSaGMyZ0FiV2xqY204QWJXbGtaRzkwQUcxMUFHNWhZbXhoQUc1aWMzQUFibVJoYzJnQWJtVUFi
bWtBYm05MEFHNXZkR2x1QUc1emRXSUFiblJwYkdSbEFHNTFBRzloWTNWMFpRQnZZMmx5WXdCdlpX
eHBad0J2WjNKaGRtVUFiMnhwYm1VQWIyMWxaMkVBYjIxcFkzSnZiZ0J2Y0d4MWN3QnZjZ0J2Y21S
bUFHOXlaRzBBYjNOc1lYTm9BRzkwYVd4a1pRQnZkR2x0WlhNQWIzVnRiQUJ3WVhKaEFIQmhjblFB
Y0dWeWJXbHNBSEJsY25BQWNHaHBBSEJwQUhCcGRnQndiSFZ6Ylc0QWNHOTFibVFBY0hKcGJXVUFj
SEp2WkFCd2NtOXdBSEJ6YVFCeGRXOTBBSEpCY25JQWNtRmthV01BY21GdVp3QnlZWEYxYndCeVlY
SnlBSEpqWldsc0FISmtjWFZ2QUhKbFlXd0FjbVZuQUhKbWJHOXZjZ0J5YUc4QWNteHRBSEp6WVhG
MWJ3QnljM0YxYndCelluRjFid0J6WTJGeWIyNEFjMlJ2ZEFCelpXTjBBSE5vZVFCemFXZHRZUUJ6
YVdkdFlXWUFjMmx0QUhOd1lXUmxjd0J6ZFdJQWMzVmlaUUJ6ZFcwQWMzVndBSE4xY0RFQWMzVndN
Z0J6ZFhBekFITjFjR1VBYzNwc2FXY0FkR0YxQUhSb1pYSmxOQUIwYUdWMFlRQjBhR1YwWVhONWJR
QjBhR2x1YzNBQWRHaHZjbTRBZEdsc1pHVUFkR2x0WlhNQWRISmhaR1VBZFVGeWNnQjFZV04xZEdV
QWRXRnljZ0IxWTJseVl3QjFaM0poZG1VQWRXMXNBSFZ3YzJsb0FIVndjMmxzYjI0QWRYVnRiQUIz
WldsbGNuQUFlR2tBZVdGamRYUmxBSGxsYmdCNWRXMXNBSHBsZEdFQWVuZHFBSHAzYm1vQVZWUkdP
Q0JqYjJSbGN5QStJRFFnWW5sMFpYTWdZWEpsSUc1dmRDQmpkWEp5Wlc1MGJIa2djM1Z3Y0c5eWRH
VmtJQ2huY21Gd2FDQWxjeWtnTFNCMGNtVmhkR1ZrSUdGeklFeGhkR2x1TFRFdUlGQmxjbWhoY0hN
Z0lpMUhZMmhoY25ObGREMXNZWFJwYmpFaUlHbHpJRzVsWldSbFpEOEtBRWx1ZG1Gc2FXUWdKV1F0
WW5sMFpTQlZWRVk0SUdadmRXNWtJR2x1SUdsdWNIVjBJRzltSUdkeVlYQm9JQ1Z6SUMwZ2RISmxZ
WFJsWkNCaGN5Qk1ZWFJwYmkweExpQlFaWEpvWVhCeklDSXRSMk5vWVhKelpYUTliR0YwYVc0eElp
QnBjeUJ1WldWa1pXUS9DZ0JpZWk1emFYcGxBRzkyWlhKc1lYQmZZbVY2YVdWeUFIVnlkbVZrQUc5
dGNHOTFibVFBWVd4elpRQnBibVVBYjI1bEFHOEFjblJvYndCdmJIbHNhVzVsQUhCc2FXNWxBSEox
WlFCbGN3QlZibXR1YjNkdUlDSnpjR3hwYm1WeklpQjJZV3gxWlRvZ0lpVnpJaUF0SUdsbmJtOXla
V1FLQUhOd2JHbHVaWE1BYjJSaUFFOXlkR2h2WjI5dVlXd2daV1JuWlhNZ1pHOGdibTkwSUdOMWNu
SmxiblJzZVNCb1lXNWtiR1VnWldSblpTQnNZV0psYkhNdUlGUnllU0IxYzJsdVp5QjRiR0ZpWld4
ekxnb0FiM0owYUc4Z0pYTWdKWE1LQUdOb1lXNXBBRzl5ZEdodkxtTUFZMmhoYmxObFlYSmphQUJq
Y0FBbEpTRlFVeTFCWkc5aVpTMHlMakFLSlNVbEpVSnZkVzVrYVc1blFtOTRPaUFvWVhSbGJtUXBD
aTl3YjJsdWRDQjdDaUFnTDFrZ1pYaGphQ0JrWldZS0lDQXZXQ0JsZUdOb0lHUmxaZ29nSUc1bGQz
QmhkR2dLSUNCWUlGa2dNeUF3SURNMk1DQmhjbU1nWm1sc2JBcDlJR1JsWmdvdlkyVnNiQ0I3Q2lB
Z0wxa2daWGhqYUNCa1pXWUtJQ0F2V0NCbGVHTm9JR1JsWmdvZ0lDOTVJR1Y0WTJnZ1pHVm1DaUFn
TDNnZ1pYaGphQ0JrWldZS0lDQnVaWGR3WVhSb0NpQWdlQ0I1SUcxdmRtVjBid29nSUhnZ1dTQnNh
VzVsZEc4S0lDQllJRmtnYkdsdVpYUnZDaUFnV0NCNUlHeHBibVYwYndvZ0lHTnNiM05sY0dGMGFD
QnpkSEp2YTJVS2ZTQmtaV1lLTDI1dlpHVWdld29nTDNVZ1pYaGphQ0JrWldZS0lDOXlJR1Y0WTJn
Z1pHVm1DaUF2WkNCbGVHTm9JR1JsWmdvZ0wyd2daWGhqYUNCa1pXWUtJRzVsZDNCaGRHZ2diQ0Jr
SUcxdmRtVjBid29nY2lCa0lHeHBibVYwYnlCeUlIVWdiR2x1WlhSdklHd2dkU0JzYVc1bGRHOEtJ
R05zYjNObGNHRjBhQ0JtYVd4c0NuMGdaR1ZtQ2dvQUpXUWdKV1FnZEhKaGJuTnNZWFJsQ2dBd0xq
Z2dNQzQ0SURBdU9DQnpaWFJ5WjJKamIyeHZjZ29BYzJodmQzQmhaMlVLSlNVbEpWUnlZV2xzWlhJ
S0pTVWxKVUp2ZFc1a2FXNW5RbTk0T2lBbFpDQWxaQ0FsWkNBbFpBb0FibVYzY0dGMGFDQWxaQ0Fs
WkNCdGIzWmxkRzhLQUNWa0lDVmtJR3hwYm1WMGJ3b0FKV1FnSldRZ2JHbHVaWFJ2SUhOMGNtOXJa
UW9BWTJoaGJtNWxiQ0FsWkNBb0pXWXNKV1lwQ2dBZ0xUNEtBQ0FnSUNBZ0FDZ29KV1lzSldZcExD
Z2xaaXdsWmlrcElDVnpJQ1Z6QUVKZlVrbEhTRlFBUWw5RVQxZE9BRUpmVEVWR1ZBQkNYMVZRQUVK
ZlRrOUVSUUJ6WldjQWJtVjRkRjl6WldjQVpHVmphV1JsWDNCdmFXNTBBR2x1WTI5dGNHRnlZV0pz
WlNCelpXZHRaVzUwY3lBaElTQXRMU0JCWW05eWRHbHVad29BY3pFdFBtTnZiVzFmWTI5dmNtUTlQ
WE15TFQ1amIyMXRYMk52YjNKa0FHbHpYM0JoY21Gc2JHVnNBR2R5WVhCb0lFY2dld29BSUc1dlpH
VmJjMmhoY0dVOWNHOXBiblJkQ2dBZ0lDVmtJRnR3YjNNOUlpVmtMQ1ZrSWwwS0FDQWdKV1FnTFMw
Z0pXUmJiR1Z1UFNJbFppSmRDZ0I5Q2dCamIyeHZjaUFsY3dBbGN5QnBjeUJ1YjNRZ1lTQnJibTkz
YmlCamIyeHZjaTRLQUdWeWNtOXlJR2x1SUdOdmJIaHNZWFJsS0NrS0FITnZiR2xrQUdsdWRtbHph
V0pzWlFCaWIyeGtBSE5sZEd4cGJtVjNhV1IwYUFCbWFXeHNaV1FBZFc1bWFXeHNaV1FBZEdGd1pY
SmxaQUJuZG5KbGJtUmxjbDl6WlhSZmMzUjViR1U2SUhWdWMzVndjRzl5ZEdWa0lITjBlV3hsSUNW
eklDMGdhV2R1YjNKcGJtY0tBR2QyY21WdVpHVnlMbU1BWjNaeVpXNWtaWEpmZFhObGNuTm9ZWEJs
QUc1aGJXVUFibUZ0WlZzd1hRQjNhV1IwYUFCb1pXbG5hSFFBWW05MGFBQnFiMklBWjNac2IyRmth
VzFoWjJVdVl3Qm5kbXh2WVdScGJXRm5aUUIxY3dCMWN5MCtibUZ0WlFCMWN5MCtibUZ0WlZzd1hR
Qk9ieUJzYjJGa2FXMWhaMlVnY0d4MVoybHVJR1p2Y2lBaUpYTWlDZ0JSQUV4bFpuUUFTMUJmVEdW
bWRBQlNhV2RvZEFCTFVGOVNhV2RvZEFCVmNBQkxVRjlWY0FCRWIzZHVBRXRRWDBSdmQyNEFjR3gx
Y3dCTFVGOUJaR1FBYldsdWRYTUFTMUJmVTNWaWRISmhZM1FBUmdCMGIyOXNkR2x3QUdWa1oyVUFk
R0ZwYkhCdmNuUUFhR1ZoWkhCdmNuUUFhMlY1QUdoeVpXWUFWVkpNQUc1dlpHVUFaR2xuY21Gd2FB
Qm5jbUZ3YUFCemRXSm5jbUZ3YUFCZlRGUllYMnhwWW5KaGNua0FkR1Y0ZEd4aGVXOTFkQUJ2WW1w
d0xUNXNZbXdBZUd4aFltVnNjeTVqQUhoc1lXUnFkWE4wQUhoc2FXNTBaWEp6WldOMGFXOXVjd0Jz
Y0NBaFBTQmpiSEFBWjJWMGFXNTBjbk40YVFCdlltcHdNUzArYzNvdWVDQTlQU0F3SUNZbUlHOWlh
bkF4TFQ1emVpNTVJRDA5SURBQWJHSnNaVzVqYkc5emFXNW5BSFp3QUhoc2FHUjRkVzVzYjJGa0FI
TnBlbVU5UFdaeVpXVmtBSEpsWTNRdVltOTFibVJoY25sYk1sMGdQQ0JKVGxSZlRVRllBRzlpYW5C
c2NHMXJjd0J5WldOMExtSnZkVzVrWVhKNVd6TmRJRHdnU1U1VVgwMUJXQUJ2ZFhRZ2IyWWdiV1Z0
YjNKNUNnQWpKVEo0SlRKNEpUSjRKVEo0QUNWc1ppVnNaaVZzWmdBdllXTmpaVzUwTXk4eEFDOWhZ
Mk5sYm5Rekx6SUFMMkZqWTJWdWRETXZNd0F2WVdOalpXNTBOQzh4QUM5aFkyTmxiblEwTHpJQUwy
RmpZMlZ1ZERRdk13QXZZV05qWlc1ME5DODBBQzloWTJObGJuUTFMekVBTDJGalkyVnVkRFV2TWdB
dllXTmpaVzUwTlM4ekFDOWhZMk5sYm5RMUx6UUFMMkZqWTJWdWREVXZOUUF2WVdOalpXNTBOaTh4
QUM5aFkyTmxiblEyTHpJQUwyRmpZMlZ1ZERZdk13QXZZV05qWlc1ME5pODBBQzloWTJObGJuUTJM
elVBTDJGalkyVnVkRFl2TmdBdllXTmpaVzUwTnk4eEFDOWhZMk5sYm5RM0x6SUFMMkZqWTJWdWRE
Y3ZNd0F2WVdOalpXNTBOeTgwQUM5aFkyTmxiblEzTHpVQUwyRmpZMlZ1ZERjdk5nQXZZV05qWlc1
ME55ODNBQzloWTJObGJuUTRMekVBTDJGalkyVnVkRGd2TWdBdllXTmpaVzUwT0M4ekFDOWhZMk5s
Ym5RNEx6UUFMMkZqWTJWdWREZ3ZOUUF2WVdOalpXNTBPQzgyQUM5aFkyTmxiblE0THpjQUwyRmpZ
MlZ1ZERndk9BQXZZbXgxWlhNekx6RUFMMkpzZFdWek15OHlBQzlpYkhWbGN6TXZNd0F2WW14MVpY
TTBMekVBTDJKc2RXVnpOQzh5QUM5aWJIVmxjelF2TXdBdllteDFaWE0wTHpRQUwySnNkV1Z6TlM4
eEFDOWliSFZsY3pVdk1nQXZZbXgxWlhNMUx6TUFMMkpzZFdWek5TODBBQzlpYkhWbGN6VXZOUUF2
WW14MVpYTTJMekVBTDJKc2RXVnpOaTh5QUM5aWJIVmxjell2TXdBdllteDFaWE0yTHpRQUwySnNk
V1Z6Tmk4MUFDOWliSFZsY3pZdk5nQXZZbXgxWlhNM0x6RUFMMkpzZFdWek55OHlBQzlpYkhWbGN6
Y3ZNd0F2WW14MVpYTTNMelFBTDJKc2RXVnpOeTgxQUM5aWJIVmxjemN2TmdBdllteDFaWE0zTHpj
QUwySnNkV1Z6T0M4eEFDOWliSFZsY3pndk1nQXZZbXgxWlhNNEx6TUFMMkpzZFdWek9DODBBQzlp
YkhWbGN6Z3ZOUUF2WW14MVpYTTRMellBTDJKc2RXVnpPQzgzQUM5aWJIVmxjemd2T0FBdllteDFa
WE01THpFQUwySnNkV1Z6T1M4eUFDOWliSFZsY3prdk13QXZZbXgxWlhNNUx6UUFMMkpzZFdWek9T
ODFBQzlpYkhWbGN6a3ZOZ0F2WW14MVpYTTVMemNBTDJKc2RXVnpPUzg0QUM5aWJIVmxjemt2T1FB
dlluSmlaekV3THpFQUwySnlZbWN4TUM4eE1BQXZZbkppWnpFd0x6SUFMMkp5WW1jeE1DOHpBQzlp
Y21Kbk1UQXZOQUF2WW5KaVp6RXdMelVBTDJKeVltY3hNQzgyQUM5aWNtSm5NVEF2TndBdlluSmla
ekV3THpnQUwySnlZbWN4TUM4NUFDOWljbUpuTVRFdk1RQXZZbkppWnpFeEx6RXdBQzlpY21Kbk1U
RXZNVEVBTDJKeVltY3hNUzh5QUM5aWNtSm5NVEV2TXdBdlluSmlaekV4THpRQUwySnlZbWN4TVM4
MUFDOWljbUpuTVRFdk5nQXZZbkppWnpFeEx6Y0FMMkp5WW1jeE1TODRBQzlpY21Kbk1URXZPUUF2
WW5KaVp6TXZNUUF2WW5KaVp6TXZNZ0F2WW5KaVp6TXZNd0F2WW5KaVp6UXZNUUF2WW5KaVp6UXZN
Z0F2WW5KaVp6UXZNd0F2WW5KaVp6UXZOQUF2WW5KaVp6VXZNUUF2WW5KaVp6VXZNZ0F2WW5KaVp6
VXZNd0F2WW5KaVp6VXZOQUF2WW5KaVp6VXZOUUF2WW5KaVp6WXZNUUF2WW5KaVp6WXZNZ0F2WW5K
aVp6WXZNd0F2WW5KaVp6WXZOQUF2WW5KaVp6WXZOUUF2WW5KaVp6WXZOZ0F2WW5KaVp6Y3ZNUUF2
WW5KaVp6Y3ZNZ0F2WW5KaVp6Y3ZNd0F2WW5KaVp6Y3ZOQUF2WW5KaVp6Y3ZOUUF2WW5KaVp6Y3ZO
Z0F2WW5KaVp6Y3ZOd0F2WW5KaVp6Z3ZNUUF2WW5KaVp6Z3ZNZ0F2WW5KaVp6Z3ZNd0F2WW5KaVp6
Z3ZOQUF2WW5KaVp6Z3ZOUUF2WW5KaVp6Z3ZOZ0F2WW5KaVp6Z3ZOd0F2WW5KaVp6Z3ZPQUF2WW5K
aVp6a3ZNUUF2WW5KaVp6a3ZNZ0F2WW5KaVp6a3ZNd0F2WW5KaVp6a3ZOQUF2WW5KaVp6a3ZOUUF2
WW5KaVp6a3ZOZ0F2WW5KaVp6a3ZOd0F2WW5KaVp6a3ZPQUF2WW5KaVp6a3ZPUUF2WW5WbmJqTXZN
UUF2WW5WbmJqTXZNZ0F2WW5WbmJqTXZNd0F2WW5WbmJqUXZNUUF2WW5WbmJqUXZNZ0F2WW5WbmJq
UXZNd0F2WW5WbmJqUXZOQUF2WW5WbmJqVXZNUUF2WW5WbmJqVXZNZ0F2WW5WbmJqVXZNd0F2WW5W
bmJqVXZOQUF2WW5WbmJqVXZOUUF2WW5WbmJqWXZNUUF2WW5WbmJqWXZNZ0F2WW5WbmJqWXZNd0F2
WW5WbmJqWXZOQUF2WW5WbmJqWXZOUUF2WW5WbmJqWXZOZ0F2WW5WbmJqY3ZNUUF2WW5WbmJqY3ZN
Z0F2WW5WbmJqY3ZNd0F2WW5WbmJqY3ZOQUF2WW5WbmJqY3ZOUUF2WW5WbmJqY3ZOZ0F2WW5WbmJq
Y3ZOd0F2WW5WbmJqZ3ZNUUF2WW5WbmJqZ3ZNZ0F2WW5WbmJqZ3ZNd0F2WW5WbmJqZ3ZOQUF2WW5W
bmJqZ3ZOUUF2WW5WbmJqZ3ZOZ0F2WW5WbmJqZ3ZOd0F2WW5WbmJqZ3ZPQUF2WW5WbmJqa3ZNUUF2
WW5WbmJqa3ZNZ0F2WW5WbmJqa3ZNd0F2WW5WbmJqa3ZOQUF2WW5WbmJqa3ZOUUF2WW5WbmJqa3ZO
Z0F2WW5WbmJqa3ZOd0F2WW5WbmJqa3ZPQUF2WW5WbmJqa3ZPUUF2WW5Wd2RUTXZNUUF2WW5Wd2RU
TXZNZ0F2WW5Wd2RUTXZNd0F2WW5Wd2RUUXZNUUF2WW5Wd2RUUXZNZ0F2WW5Wd2RUUXZNd0F2WW5W
d2RUUXZOQUF2WW5Wd2RUVXZNUUF2WW5Wd2RUVXZNZ0F2WW5Wd2RUVXZNd0F2WW5Wd2RUVXZOQUF2
WW5Wd2RUVXZOUUF2WW5Wd2RUWXZNUUF2WW5Wd2RUWXZNZ0F2WW5Wd2RUWXZNd0F2WW5Wd2RUWXZO
QUF2WW5Wd2RUWXZOUUF2WW5Wd2RUWXZOZ0F2WW5Wd2RUY3ZNUUF2WW5Wd2RUY3ZNZ0F2WW5Wd2RU
Y3ZNd0F2WW5Wd2RUY3ZOQUF2WW5Wd2RUY3ZOUUF2WW5Wd2RUY3ZOZ0F2WW5Wd2RUY3ZOd0F2WW5W
d2RUZ3ZNUUF2WW5Wd2RUZ3ZNZ0F2WW5Wd2RUZ3ZNd0F2WW5Wd2RUZ3ZOQUF2WW5Wd2RUZ3ZOUUF2
WW5Wd2RUZ3ZOZ0F2WW5Wd2RUZ3ZOd0F2WW5Wd2RUZ3ZPQUF2WW5Wd2RUa3ZNUUF2WW5Wd2RUa3ZN
Z0F2WW5Wd2RUa3ZNd0F2WW5Wd2RUa3ZOQUF2WW5Wd2RUa3ZOUUF2WW5Wd2RUa3ZOZ0F2WW5Wd2RU
a3ZOd0F2WW5Wd2RUa3ZPQUF2WW5Wd2RUa3ZPUUF2WkdGeWF6SXpMekVBTDJSaGNtc3lNeTh5QUM5
a1lYSnJNak12TXdBdlpHRnlhekkwTHpFQUwyUmhjbXN5TkM4eUFDOWtZWEpyTWpRdk13QXZaR0Z5
YXpJMEx6UUFMMlJoY21zeU5TOHhBQzlrWVhKck1qVXZNZ0F2WkdGeWF6STFMek1BTDJSaGNtc3lO
UzgwQUM5a1lYSnJNalV2TlFBdlpHRnlhekkyTHpFQUwyUmhjbXN5Tmk4eUFDOWtZWEpyTWpZdk13
QXZaR0Z5YXpJMkx6UUFMMlJoY21zeU5pODFBQzlrWVhKck1qWXZOZ0F2WkdGeWF6STNMekVBTDJS
aGNtc3lOeTh5QUM5a1lYSnJNamN2TXdBdlpHRnlhekkzTHpRQUwyUmhjbXN5Tnk4MUFDOWtZWEpy
TWpjdk5nQXZaR0Z5YXpJM0x6Y0FMMlJoY21zeU9DOHhBQzlrWVhKck1qZ3ZNZ0F2WkdGeWF6STRM
ek1BTDJSaGNtc3lPQzgwQUM5a1lYSnJNamd2TlFBdlpHRnlhekk0THpZQUwyUmhjbXN5T0M4M0FD
OWtZWEpyTWpndk9BQXZaMjVpZFRNdk1RQXZaMjVpZFRNdk1nQXZaMjVpZFRNdk13QXZaMjVpZFRR
dk1RQXZaMjVpZFRRdk1nQXZaMjVpZFRRdk13QXZaMjVpZFRRdk5BQXZaMjVpZFRVdk1RQXZaMjVp
ZFRVdk1nQXZaMjVpZFRVdk13QXZaMjVpZFRVdk5BQXZaMjVpZFRVdk5RQXZaMjVpZFRZdk1RQXZa
MjVpZFRZdk1nQXZaMjVpZFRZdk13QXZaMjVpZFRZdk5BQXZaMjVpZFRZdk5RQXZaMjVpZFRZdk5n
QXZaMjVpZFRjdk1RQXZaMjVpZFRjdk1nQXZaMjVpZFRjdk13QXZaMjVpZFRjdk5BQXZaMjVpZFRj
dk5RQXZaMjVpZFRjdk5nQXZaMjVpZFRjdk53QXZaMjVpZFRndk1RQXZaMjVpZFRndk1nQXZaMjVp
ZFRndk13QXZaMjVpZFRndk5BQXZaMjVpZFRndk5RQXZaMjVpZFRndk5nQXZaMjVpZFRndk53QXZa
MjVpZFRndk9BQXZaMjVpZFRrdk1RQXZaMjVpZFRrdk1nQXZaMjVpZFRrdk13QXZaMjVpZFRrdk5B
QXZaMjVpZFRrdk5RQXZaMjVpZFRrdk5nQXZaMjVpZFRrdk53QXZaMjVpZFRrdk9BQXZaMjVpZFRr
dk9RQXZaM0psWlc1ek15OHhBQzluY21WbGJuTXpMeklBTDJkeVpXVnVjek12TXdBdlozSmxaVzV6
TkM4eEFDOW5jbVZsYm5NMEx6SUFMMmR5WldWdWN6UXZNd0F2WjNKbFpXNXpOQzgwQUM5bmNtVmxi
bk0xTHpFQUwyZHlaV1Z1Y3pVdk1nQXZaM0psWlc1ek5TOHpBQzluY21WbGJuTTFMelFBTDJkeVpX
VnVjelV2TlFBdlozSmxaVzV6Tmk4eEFDOW5jbVZsYm5NMkx6SUFMMmR5WldWdWN6WXZNd0F2WjNK
bFpXNXpOaTgwQUM5bmNtVmxibk0yTHpVQUwyZHlaV1Z1Y3pZdk5nQXZaM0psWlc1ek55OHhBQzlu
Y21WbGJuTTNMeklBTDJkeVpXVnVjemN2TXdBdlozSmxaVzV6Tnk4MEFDOW5jbVZsYm5NM0x6VUFM
MmR5WldWdWN6Y3ZOZ0F2WjNKbFpXNXpOeTgzQUM5bmNtVmxibk00THpFQUwyZHlaV1Z1Y3pndk1n
QXZaM0psWlc1ek9DOHpBQzluY21WbGJuTTRMelFBTDJkeVpXVnVjemd2TlFBdlozSmxaVzV6T0M4
MkFDOW5jbVZsYm5NNEx6Y0FMMmR5WldWdWN6Z3ZPQUF2WjNKbFpXNXpPUzh4QUM5bmNtVmxibk01
THpJQUwyZHlaV1Z1Y3prdk13QXZaM0psWlc1ek9TODBBQzluY21WbGJuTTVMelVBTDJkeVpXVnVj
emt2TmdBdlozSmxaVzV6T1M4M0FDOW5jbVZsYm5NNUx6Z0FMMmR5WldWdWN6a3ZPUUF2WjNKbGVY
TXpMekVBTDJkeVpYbHpNeTh5QUM5bmNtVjVjek12TXdBdlozSmxlWE0wTHpFQUwyZHlaWGx6TkM4
eUFDOW5jbVY1Y3pRdk13QXZaM0psZVhNMEx6UUFMMmR5Wlhsek5TOHhBQzluY21WNWN6VXZNZ0F2
WjNKbGVYTTFMek1BTDJkeVpYbHpOUzgwQUM5bmNtVjVjelV2TlFBdlozSmxlWE0yTHpFQUwyZHla
WGx6Tmk4eUFDOW5jbVY1Y3pZdk13QXZaM0psZVhNMkx6UUFMMmR5Wlhsek5pODFBQzluY21WNWN6
WXZOZ0F2WjNKbGVYTTNMekVBTDJkeVpYbHpOeTh5QUM5bmNtVjVjemN2TXdBdlozSmxlWE0zTHpR
QUwyZHlaWGx6Tnk4MUFDOW5jbVY1Y3pjdk5nQXZaM0psZVhNM0x6Y0FMMmR5Wlhsek9DOHhBQzlu
Y21WNWN6Z3ZNZ0F2WjNKbGVYTTRMek1BTDJkeVpYbHpPQzgwQUM5bmNtVjVjemd2TlFBdlozSmxl
WE00THpZQUwyZHlaWGx6T0M4M0FDOW5jbVY1Y3pndk9BQXZaM0psZVhNNUx6RUFMMmR5Wlhsek9T
OHlBQzluY21WNWN6a3ZNd0F2WjNKbGVYTTVMelFBTDJkeVpYbHpPUzgxQUM5bmNtVjVjemt2TmdB
dlozSmxlWE01THpjQUwyZHlaWGx6T1M4NEFDOW5jbVY1Y3prdk9RQXZiM0poYm1kbGN6TXZNUUF2
YjNKaGJtZGxjek12TWdBdmIzSmhibWRsY3pNdk13QXZiM0poYm1kbGN6UXZNUUF2YjNKaGJtZGxj
elF2TWdBdmIzSmhibWRsY3pRdk13QXZiM0poYm1kbGN6UXZOQUF2YjNKaGJtZGxjelV2TVFBdmIz
SmhibWRsY3pVdk1nQXZiM0poYm1kbGN6VXZNd0F2YjNKaGJtZGxjelV2TkFBdmIzSmhibWRsY3pV
dk5RQXZiM0poYm1kbGN6WXZNUUF2YjNKaGJtZGxjell2TWdBdmIzSmhibWRsY3pZdk13QXZiM0po
Ym1kbGN6WXZOQUF2YjNKaGJtZGxjell2TlFBdmIzSmhibWRsY3pZdk5nQXZiM0poYm1kbGN6Y3ZN
UUF2YjNKaGJtZGxjemN2TWdBdmIzSmhibWRsY3pjdk13QXZiM0poYm1kbGN6Y3ZOQUF2YjNKaGJt
ZGxjemN2TlFBdmIzSmhibWRsY3pjdk5nQXZiM0poYm1kbGN6Y3ZOd0F2YjNKaGJtZGxjemd2TVFB
dmIzSmhibWRsY3pndk1nQXZiM0poYm1kbGN6Z3ZNd0F2YjNKaGJtZGxjemd2TkFBdmIzSmhibWRs
Y3pndk5RQXZiM0poYm1kbGN6Z3ZOZ0F2YjNKaGJtZGxjemd2TndBdmIzSmhibWRsY3pndk9BQXZi
M0poYm1kbGN6a3ZNUUF2YjNKaGJtZGxjemt2TWdBdmIzSmhibWRsY3prdk13QXZiM0poYm1kbGN6
a3ZOQUF2YjNKaGJtZGxjemt2TlFBdmIzSmhibWRsY3prdk5nQXZiM0poYm1kbGN6a3ZOd0F2YjNK
aGJtZGxjemt2T0FBdmIzSmhibWRsY3prdk9RQXZiM0p5WkRNdk1RQXZiM0p5WkRNdk1nQXZiM0p5
WkRNdk13QXZiM0p5WkRRdk1RQXZiM0p5WkRRdk1nQXZiM0p5WkRRdk13QXZiM0p5WkRRdk5BQXZi
M0p5WkRVdk1RQXZiM0p5WkRVdk1nQXZiM0p5WkRVdk13QXZiM0p5WkRVdk5BQXZiM0p5WkRVdk5R
QXZiM0p5WkRZdk1RQXZiM0p5WkRZdk1nQXZiM0p5WkRZdk13QXZiM0p5WkRZdk5BQXZiM0p5WkRZ
dk5RQXZiM0p5WkRZdk5nQXZiM0p5WkRjdk1RQXZiM0p5WkRjdk1nQXZiM0p5WkRjdk13QXZiM0p5
WkRjdk5BQXZiM0p5WkRjdk5RQXZiM0p5WkRjdk5nQXZiM0p5WkRjdk53QXZiM0p5WkRndk1RQXZi
M0p5WkRndk1nQXZiM0p5WkRndk13QXZiM0p5WkRndk5BQXZiM0p5WkRndk5RQXZiM0p5WkRndk5n
QXZiM0p5WkRndk53QXZiM0p5WkRndk9BQXZiM0p5WkRrdk1RQXZiM0p5WkRrdk1nQXZiM0p5WkRr
dk13QXZiM0p5WkRrdk5BQXZiM0p5WkRrdk5RQXZiM0p5WkRrdk5nQXZiM0p5WkRrdk53QXZiM0p5
WkRrdk9BQXZiM0p5WkRrdk9RQXZjR0ZwY21Wa01UQXZNUUF2Y0dGcGNtVmtNVEF2TVRBQUwzQmhh
WEpsWkRFd0x6SUFMM0JoYVhKbFpERXdMek1BTDNCaGFYSmxaREV3THpRQUwzQmhhWEpsWkRFd0x6
VUFMM0JoYVhKbFpERXdMellBTDNCaGFYSmxaREV3THpjQUwzQmhhWEpsWkRFd0x6Z0FMM0JoYVhK
bFpERXdMemtBTDNCaGFYSmxaREV4THpFQUwzQmhhWEpsWkRFeEx6RXdBQzl3WVdseVpXUXhNUzh4
TVFBdmNHRnBjbVZrTVRFdk1nQXZjR0ZwY21Wa01URXZNd0F2Y0dGcGNtVmtNVEV2TkFBdmNHRnBj
bVZrTVRFdk5RQXZjR0ZwY21Wa01URXZOZ0F2Y0dGcGNtVmtNVEV2TndBdmNHRnBjbVZrTVRFdk9B
QXZjR0ZwY21Wa01URXZPUUF2Y0dGcGNtVmtNVEl2TVFBdmNHRnBjbVZrTVRJdk1UQUFMM0JoYVhK
bFpERXlMekV4QUM5d1lXbHlaV1F4TWk4eE1nQXZjR0ZwY21Wa01USXZNZ0F2Y0dGcGNtVmtNVEl2
TXdBdmNHRnBjbVZrTVRJdk5BQXZjR0ZwY21Wa01USXZOUUF2Y0dGcGNtVmtNVEl2TmdBdmNHRnBj
bVZrTVRJdk53QXZjR0ZwY21Wa01USXZPQUF2Y0dGcGNtVmtNVEl2T1FBdmNHRnBjbVZrTXk4eEFD
OXdZV2x5WldRekx6SUFMM0JoYVhKbFpETXZNd0F2Y0dGcGNtVmtOQzh4QUM5d1lXbHlaV1EwTHpJ
QUwzQmhhWEpsWkRRdk13QXZjR0ZwY21Wa05DODBBQzl3WVdseVpXUTFMekVBTDNCaGFYSmxaRFV2
TWdBdmNHRnBjbVZrTlM4ekFDOXdZV2x5WldRMUx6UUFMM0JoYVhKbFpEVXZOUUF2Y0dGcGNtVmtO
aTh4QUM5d1lXbHlaV1EyTHpJQUwzQmhhWEpsWkRZdk13QXZjR0ZwY21Wa05pODBBQzl3WVdseVpX
UTJMelVBTDNCaGFYSmxaRFl2TmdBdmNHRnBjbVZrTnk4eEFDOXdZV2x5WldRM0x6SUFMM0JoYVhK
bFpEY3ZNd0F2Y0dGcGNtVmtOeTgwQUM5d1lXbHlaV1EzTHpVQUwzQmhhWEpsWkRjdk5nQXZjR0Zw
Y21Wa055ODNBQzl3WVdseVpXUTRMekVBTDNCaGFYSmxaRGd2TWdBdmNHRnBjbVZrT0M4ekFDOXdZ
V2x5WldRNEx6UUFMM0JoYVhKbFpEZ3ZOUUF2Y0dGcGNtVmtPQzgyQUM5d1lXbHlaV1E0THpjQUwz
QmhhWEpsWkRndk9BQXZjR0ZwY21Wa09TOHhBQzl3WVdseVpXUTVMeklBTDNCaGFYSmxaRGt2TXdB
dmNHRnBjbVZrT1M4MEFDOXdZV2x5WldRNUx6VUFMM0JoYVhKbFpEa3ZOZ0F2Y0dGcGNtVmtPUzgz
QUM5d1lXbHlaV1E1THpnQUwzQmhhWEpsWkRrdk9RQXZjR0Z6ZEdWc01UTXZNUUF2Y0dGemRHVnNN
VE12TWdBdmNHRnpkR1ZzTVRNdk13QXZjR0Z6ZEdWc01UUXZNUUF2Y0dGemRHVnNNVFF2TWdBdmNH
RnpkR1ZzTVRRdk13QXZjR0Z6ZEdWc01UUXZOQUF2Y0dGemRHVnNNVFV2TVFBdmNHRnpkR1ZzTVRV
dk1nQXZjR0Z6ZEdWc01UVXZNd0F2Y0dGemRHVnNNVFV2TkFBdmNHRnpkR1ZzTVRVdk5RQXZjR0Z6
ZEdWc01UWXZNUUF2Y0dGemRHVnNNVFl2TWdBdmNHRnpkR1ZzTVRZdk13QXZjR0Z6ZEdWc01UWXZO
QUF2Y0dGemRHVnNNVFl2TlFBdmNHRnpkR1ZzTVRZdk5nQXZjR0Z6ZEdWc01UY3ZNUUF2Y0dGemRH
VnNNVGN2TWdBdmNHRnpkR1ZzTVRjdk13QXZjR0Z6ZEdWc01UY3ZOQUF2Y0dGemRHVnNNVGN2TlFB
dmNHRnpkR1ZzTVRjdk5nQXZjR0Z6ZEdWc01UY3ZOd0F2Y0dGemRHVnNNVGd2TVFBdmNHRnpkR1Zz
TVRndk1nQXZjR0Z6ZEdWc01UZ3ZNd0F2Y0dGemRHVnNNVGd2TkFBdmNHRnpkR1ZzTVRndk5RQXZj
R0Z6ZEdWc01UZ3ZOZ0F2Y0dGemRHVnNNVGd2TndBdmNHRnpkR1ZzTVRndk9BQXZjR0Z6ZEdWc01U
a3ZNUUF2Y0dGemRHVnNNVGt2TWdBdmNHRnpkR1ZzTVRrdk13QXZjR0Z6ZEdWc01Ua3ZOQUF2Y0dG
emRHVnNNVGt2TlFBdmNHRnpkR1ZzTVRrdk5nQXZjR0Z6ZEdWc01Ua3ZOd0F2Y0dGemRHVnNNVGt2
T0FBdmNHRnpkR1ZzTVRrdk9RQXZjR0Z6ZEdWc01qTXZNUUF2Y0dGemRHVnNNak12TWdBdmNHRnpk
R1ZzTWpNdk13QXZjR0Z6ZEdWc01qUXZNUUF2Y0dGemRHVnNNalF2TWdBdmNHRnpkR1ZzTWpRdk13
QXZjR0Z6ZEdWc01qUXZOQUF2Y0dGemRHVnNNalV2TVFBdmNHRnpkR1ZzTWpVdk1nQXZjR0Z6ZEdW
c01qVXZNd0F2Y0dGemRHVnNNalV2TkFBdmNHRnpkR1ZzTWpVdk5RQXZjR0Z6ZEdWc01qWXZNUUF2
Y0dGemRHVnNNall2TWdBdmNHRnpkR1ZzTWpZdk13QXZjR0Z6ZEdWc01qWXZOQUF2Y0dGemRHVnNN
all2TlFBdmNHRnpkR1ZzTWpZdk5nQXZjR0Z6ZEdWc01qY3ZNUUF2Y0dGemRHVnNNamN2TWdBdmNH
RnpkR1ZzTWpjdk13QXZjR0Z6ZEdWc01qY3ZOQUF2Y0dGemRHVnNNamN2TlFBdmNHRnpkR1ZzTWpj
dk5nQXZjR0Z6ZEdWc01qY3ZOd0F2Y0dGemRHVnNNamd2TVFBdmNHRnpkR1ZzTWpndk1nQXZjR0Z6
ZEdWc01qZ3ZNd0F2Y0dGemRHVnNNamd2TkFBdmNHRnpkR1ZzTWpndk5RQXZjR0Z6ZEdWc01qZ3ZO
Z0F2Y0dGemRHVnNNamd2TndBdmNHRnpkR1ZzTWpndk9BQXZjR2w1WnpFd0x6RUFMM0JwZVdjeE1D
OHhNQUF2Y0dsNVp6RXdMeklBTDNCcGVXY3hNQzh6QUM5d2FYbG5NVEF2TkFBdmNHbDVaekV3THpV
QUwzQnBlV2N4TUM4MkFDOXdhWGxuTVRBdk53QXZjR2w1WnpFd0x6Z0FMM0JwZVdjeE1DODVBQzl3
YVhsbk1URXZNUUF2Y0dsNVp6RXhMekV3QUM5d2FYbG5NVEV2TVRFQUwzQnBlV2N4TVM4eUFDOXdh
WGxuTVRFdk13QXZjR2w1WnpFeEx6UUFMM0JwZVdjeE1TODFBQzl3YVhsbk1URXZOZ0F2Y0dsNVp6
RXhMemNBTDNCcGVXY3hNUzg0QUM5d2FYbG5NVEV2T1FBdmNHbDVaek12TVFBdmNHbDVaek12TWdB
dmNHbDVaek12TXdBdmNHbDVaelF2TVFBdmNHbDVaelF2TWdBdmNHbDVaelF2TXdBdmNHbDVaelF2
TkFBdmNHbDVaelV2TVFBdmNHbDVaelV2TWdBdmNHbDVaelV2TXdBdmNHbDVaelV2TkFBdmNHbDVa
elV2TlFBdmNHbDVaell2TVFBdmNHbDVaell2TWdBdmNHbDVaell2TXdBdmNHbDVaell2TkFBdmNH
bDVaell2TlFBdmNHbDVaell2TmdBdmNHbDVaemN2TVFBdmNHbDVaemN2TWdBdmNHbDVaemN2TXdB
dmNHbDVaemN2TkFBdmNHbDVaemN2TlFBdmNHbDVaemN2TmdBdmNHbDVaemN2TndBdmNHbDVaemd2
TVFBdmNHbDVaemd2TWdBdmNHbDVaemd2TXdBdmNHbDVaemd2TkFBdmNHbDVaemd2TlFBdmNHbDVa
emd2TmdBdmNHbDVaemd2TndBdmNHbDVaemd2T0FBdmNHbDVaemt2TVFBdmNHbDVaemt2TWdBdmNH
bDVaemt2TXdBdmNHbDVaemt2TkFBdmNHbDVaemt2TlFBdmNHbDVaemt2TmdBdmNHbDVaemt2TndB
dmNHbDVaemt2T0FBdmNHbDVaemt2T1FBdmNISm5iakV3THpFQUwzQnlaMjR4TUM4eE1BQXZjSEpu
YmpFd0x6SUFMM0J5WjI0eE1DOHpBQzl3Y21kdU1UQXZOQUF2Y0hKbmJqRXdMelVBTDNCeVoyNHhN
QzgyQUM5d2NtZHVNVEF2TndBdmNISm5iakV3THpnQUwzQnlaMjR4TUM4NUFDOXdjbWR1TVRFdk1R
QXZjSEpuYmpFeEx6RXdBQzl3Y21kdU1URXZNVEVBTDNCeVoyNHhNUzh5QUM5d2NtZHVNVEV2TXdB
dmNISm5iakV4THpRQUwzQnlaMjR4TVM4MUFDOXdjbWR1TVRFdk5nQXZjSEpuYmpFeEx6Y0FMM0J5
WjI0eE1TODRBQzl3Y21kdU1URXZPUUF2Y0hKbmJqTXZNUUF2Y0hKbmJqTXZNZ0F2Y0hKbmJqTXZN
d0F2Y0hKbmJqUXZNUUF2Y0hKbmJqUXZNZ0F2Y0hKbmJqUXZNd0F2Y0hKbmJqUXZOQUF2Y0hKbmJq
VXZNUUF2Y0hKbmJqVXZNZ0F2Y0hKbmJqVXZNd0F2Y0hKbmJqVXZOQUF2Y0hKbmJqVXZOUUF2Y0hK
bmJqWXZNUUF2Y0hKbmJqWXZNZ0F2Y0hKbmJqWXZNd0F2Y0hKbmJqWXZOQUF2Y0hKbmJqWXZOUUF2
Y0hKbmJqWXZOZ0F2Y0hKbmJqY3ZNUUF2Y0hKbmJqY3ZNZ0F2Y0hKbmJqY3ZNd0F2Y0hKbmJqY3ZO
QUF2Y0hKbmJqY3ZOUUF2Y0hKbmJqY3ZOZ0F2Y0hKbmJqY3ZOd0F2Y0hKbmJqZ3ZNUUF2Y0hKbmJq
Z3ZNZ0F2Y0hKbmJqZ3ZNd0F2Y0hKbmJqZ3ZOQUF2Y0hKbmJqZ3ZOUUF2Y0hKbmJqZ3ZOZ0F2Y0hK
bmJqZ3ZOd0F2Y0hKbmJqZ3ZPQUF2Y0hKbmJqa3ZNUUF2Y0hKbmJqa3ZNZ0F2Y0hKbmJqa3ZNd0F2
Y0hKbmJqa3ZOQUF2Y0hKbmJqa3ZOUUF2Y0hKbmJqa3ZOZ0F2Y0hKbmJqa3ZOd0F2Y0hKbmJqa3ZP
QUF2Y0hKbmJqa3ZPUUF2Y0hWaWRUTXZNUUF2Y0hWaWRUTXZNZ0F2Y0hWaWRUTXZNd0F2Y0hWaWRU
UXZNUUF2Y0hWaWRUUXZNZ0F2Y0hWaWRUUXZNd0F2Y0hWaWRUUXZOQUF2Y0hWaWRUVXZNUUF2Y0hW
aWRUVXZNZ0F2Y0hWaWRUVXZNd0F2Y0hWaWRUVXZOQUF2Y0hWaWRUVXZOUUF2Y0hWaWRUWXZNUUF2
Y0hWaWRUWXZNZ0F2Y0hWaWRUWXZNd0F2Y0hWaWRUWXZOQUF2Y0hWaWRUWXZOUUF2Y0hWaWRUWXZO
Z0F2Y0hWaWRUY3ZNUUF2Y0hWaWRUY3ZNZ0F2Y0hWaWRUY3ZNd0F2Y0hWaWRUY3ZOQUF2Y0hWaWRU
Y3ZOUUF2Y0hWaWRUY3ZOZ0F2Y0hWaWRUY3ZOd0F2Y0hWaWRUZ3ZNUUF2Y0hWaWRUZ3ZNZ0F2Y0hW
aWRUZ3ZNd0F2Y0hWaWRUZ3ZOQUF2Y0hWaWRUZ3ZOUUF2Y0hWaWRUZ3ZOZ0F2Y0hWaWRUZ3ZOd0F2
Y0hWaWRUZ3ZPQUF2Y0hWaWRUa3ZNUUF2Y0hWaWRUa3ZNZ0F2Y0hWaWRUa3ZNd0F2Y0hWaWRUa3ZO
QUF2Y0hWaWRUa3ZOUUF2Y0hWaWRUa3ZOZ0F2Y0hWaWRUa3ZOd0F2Y0hWaWRUa3ZPQUF2Y0hWaWRU
a3ZPUUF2Y0hWaWRXZHVNeTh4QUM5d2RXSjFaMjR6THpJQUwzQjFZblZuYmpNdk13QXZjSFZpZFdk
dU5DOHhBQzl3ZFdKMVoyNDBMeklBTDNCMVluVm5ialF2TXdBdmNIVmlkV2R1TkM4MEFDOXdkV0ox
WjI0MUx6RUFMM0IxWW5WbmJqVXZNZ0F2Y0hWaWRXZHVOUzh6QUM5d2RXSjFaMjQxTHpRQUwzQjFZ
blZuYmpVdk5RQXZjSFZpZFdkdU5pOHhBQzl3ZFdKMVoyNDJMeklBTDNCMVluVm5iall2TXdBdmNI
VmlkV2R1Tmk4MEFDOXdkV0oxWjI0Mkx6VUFMM0IxWW5WbmJqWXZOZ0F2Y0hWaWRXZHVOeTh4QUM5
d2RXSjFaMjQzTHpJQUwzQjFZblZuYmpjdk13QXZjSFZpZFdkdU55ODBBQzl3ZFdKMVoyNDNMelVB
TDNCMVluVm5iamN2TmdBdmNIVmlkV2R1Tnk4M0FDOXdkV0oxWjI0NEx6RUFMM0IxWW5WbmJqZ3ZN
Z0F2Y0hWaWRXZHVPQzh6QUM5d2RXSjFaMjQ0THpRQUwzQjFZblZuYmpndk5RQXZjSFZpZFdkdU9D
ODJBQzl3ZFdKMVoyNDRMemNBTDNCMVluVm5iamd2T0FBdmNIVmlkV2R1T1M4eEFDOXdkV0oxWjI0
NUx6SUFMM0IxWW5WbmJqa3ZNd0F2Y0hWaWRXZHVPUzgwQUM5d2RXSjFaMjQ1THpVQUwzQjFZblZu
Ymprdk5nQXZjSFZpZFdkdU9TODNBQzl3ZFdKMVoyNDVMemdBTDNCMVluVm5iamt2T1FBdmNIVnZj
akV3THpFQUwzQjFiM0l4TUM4eE1BQXZjSFZ2Y2pFd0x6SUFMM0IxYjNJeE1DOHpBQzl3ZFc5eU1U
QXZOQUF2Y0hWdmNqRXdMelVBTDNCMWIzSXhNQzgyQUM5d2RXOXlNVEF2TndBdmNIVnZjakV3THpn
QUwzQjFiM0l4TUM4NUFDOXdkVzl5TVRFdk1RQXZjSFZ2Y2pFeEx6RXdBQzl3ZFc5eU1URXZNVEVB
TDNCMWIzSXhNUzh5QUM5d2RXOXlNVEV2TXdBdmNIVnZjakV4THpRQUwzQjFiM0l4TVM4MUFDOXdk
Vzl5TVRFdk5nQXZjSFZ2Y2pFeEx6Y0FMM0IxYjNJeE1TODRBQzl3ZFc5eU1URXZPUUF2Y0hWdmNq
TXZNUUF2Y0hWdmNqTXZNZ0F2Y0hWdmNqTXZNd0F2Y0hWdmNqUXZNUUF2Y0hWdmNqUXZNZ0F2Y0hW
dmNqUXZNd0F2Y0hWdmNqUXZOQUF2Y0hWdmNqVXZNUUF2Y0hWdmNqVXZNZ0F2Y0hWdmNqVXZNd0F2
Y0hWdmNqVXZOQUF2Y0hWdmNqVXZOUUF2Y0hWdmNqWXZNUUF2Y0hWdmNqWXZNZ0F2Y0hWdmNqWXZN
d0F2Y0hWdmNqWXZOQUF2Y0hWdmNqWXZOUUF2Y0hWdmNqWXZOZ0F2Y0hWdmNqY3ZNUUF2Y0hWdmNq
Y3ZNZ0F2Y0hWdmNqY3ZNd0F2Y0hWdmNqY3ZOQUF2Y0hWdmNqY3ZOUUF2Y0hWdmNqY3ZOZ0F2Y0hW
dmNqY3ZOd0F2Y0hWdmNqZ3ZNUUF2Y0hWdmNqZ3ZNZ0F2Y0hWdmNqZ3ZNd0F2Y0hWdmNqZ3ZOQUF2
Y0hWdmNqZ3ZOUUF2Y0hWdmNqZ3ZOZ0F2Y0hWdmNqZ3ZOd0F2Y0hWdmNqZ3ZPQUF2Y0hWdmNqa3ZN
UUF2Y0hWdmNqa3ZNZ0F2Y0hWdmNqa3ZNd0F2Y0hWdmNqa3ZOQUF2Y0hWdmNqa3ZOUUF2Y0hWdmNq
a3ZOZ0F2Y0hWdmNqa3ZOd0F2Y0hWdmNqa3ZPQUF2Y0hWdmNqa3ZPUUF2Y0hWeVpETXZNUUF2Y0hW
eVpETXZNZ0F2Y0hWeVpETXZNd0F2Y0hWeVpEUXZNUUF2Y0hWeVpEUXZNZ0F2Y0hWeVpEUXZNd0F2
Y0hWeVpEUXZOQUF2Y0hWeVpEVXZNUUF2Y0hWeVpEVXZNZ0F2Y0hWeVpEVXZNd0F2Y0hWeVpEVXZO
QUF2Y0hWeVpEVXZOUUF2Y0hWeVpEWXZNUUF2Y0hWeVpEWXZNZ0F2Y0hWeVpEWXZNd0F2Y0hWeVpE
WXZOQUF2Y0hWeVpEWXZOUUF2Y0hWeVpEWXZOZ0F2Y0hWeVpEY3ZNUUF2Y0hWeVpEY3ZNZ0F2Y0hW
eVpEY3ZNd0F2Y0hWeVpEY3ZOQUF2Y0hWeVpEY3ZOUUF2Y0hWeVpEY3ZOZ0F2Y0hWeVpEY3ZOd0F2
Y0hWeVpEZ3ZNUUF2Y0hWeVpEZ3ZNZ0F2Y0hWeVpEZ3ZNd0F2Y0hWeVpEZ3ZOQUF2Y0hWeVpEZ3ZO
UUF2Y0hWeVpEZ3ZOZ0F2Y0hWeVpEZ3ZOd0F2Y0hWeVpEZ3ZPQUF2Y0hWeVpEa3ZNUUF2Y0hWeVpE
a3ZNZ0F2Y0hWeVpEa3ZNd0F2Y0hWeVpEa3ZOQUF2Y0hWeVpEa3ZOUUF2Y0hWeVpEa3ZOZ0F2Y0hW
eVpEa3ZOd0F2Y0hWeVpEa3ZPQUF2Y0hWeVpEa3ZPUUF2Y0hWeWNHeGxjek12TVFBdmNIVnljR3hs
Y3pNdk1nQXZjSFZ5Y0d4bGN6TXZNd0F2Y0hWeWNHeGxjelF2TVFBdmNIVnljR3hsY3pRdk1nQXZj
SFZ5Y0d4bGN6UXZNd0F2Y0hWeWNHeGxjelF2TkFBdmNIVnljR3hsY3pVdk1RQXZjSFZ5Y0d4bGN6
VXZNZ0F2Y0hWeWNHeGxjelV2TXdBdmNIVnljR3hsY3pVdk5BQXZjSFZ5Y0d4bGN6VXZOUUF2Y0hW
eWNHeGxjell2TVFBdmNIVnljR3hsY3pZdk1nQXZjSFZ5Y0d4bGN6WXZNd0F2Y0hWeWNHeGxjell2
TkFBdmNIVnljR3hsY3pZdk5RQXZjSFZ5Y0d4bGN6WXZOZ0F2Y0hWeWNHeGxjemN2TVFBdmNIVnlj
R3hsY3pjdk1nQXZjSFZ5Y0d4bGN6Y3ZNd0F2Y0hWeWNHeGxjemN2TkFBdmNIVnljR3hsY3pjdk5R
QXZjSFZ5Y0d4bGN6Y3ZOZ0F2Y0hWeWNHeGxjemN2TndBdmNIVnljR3hsY3pndk1RQXZjSFZ5Y0d4
bGN6Z3ZNZ0F2Y0hWeWNHeGxjemd2TXdBdmNIVnljR3hsY3pndk5BQXZjSFZ5Y0d4bGN6Z3ZOUUF2
Y0hWeWNHeGxjemd2TmdBdmNIVnljR3hsY3pndk53QXZjSFZ5Y0d4bGN6Z3ZPQUF2Y0hWeWNHeGxj
emt2TVFBdmNIVnljR3hsY3prdk1nQXZjSFZ5Y0d4bGN6a3ZNd0F2Y0hWeWNHeGxjemt2TkFBdmNI
VnljR3hsY3prdk5RQXZjSFZ5Y0d4bGN6a3ZOZ0F2Y0hWeWNHeGxjemt2TndBdmNIVnljR3hsY3pr
dk9BQXZjSFZ5Y0d4bGN6a3ZPUUF2Y21SaWRURXdMekVBTDNKa1luVXhNQzh4TUFBdmNtUmlkVEV3
THpJQUwzSmtZblV4TUM4ekFDOXlaR0oxTVRBdk5BQXZjbVJpZFRFd0x6VUFMM0prWW5VeE1DODJB
Qzl5WkdKMU1UQXZOd0F2Y21SaWRURXdMemdBTDNKa1luVXhNQzg1QUM5eVpHSjFNVEV2TVFBdmNt
UmlkVEV4THpFd0FDOXlaR0oxTVRFdk1URUFMM0prWW5VeE1TOHlBQzl5WkdKMU1URXZNd0F2Y21S
aWRURXhMelFBTDNKa1luVXhNUzgxQUM5eVpHSjFNVEV2TmdBdmNtUmlkVEV4THpjQUwzSmtZblV4
TVM4NEFDOXlaR0oxTVRFdk9RQXZjbVJpZFRNdk1RQXZjbVJpZFRNdk1nQXZjbVJpZFRNdk13QXZj
bVJpZFRRdk1RQXZjbVJpZFRRdk1nQXZjbVJpZFRRdk13QXZjbVJpZFRRdk5BQXZjbVJpZFRVdk1R
QXZjbVJpZFRVdk1nQXZjbVJpZFRVdk13QXZjbVJpZFRVdk5BQXZjbVJpZFRVdk5RQXZjbVJpZFRZ
dk1RQXZjbVJpZFRZdk1nQXZjbVJpZFRZdk13QXZjbVJpZFRZdk5BQXZjbVJpZFRZdk5RQXZjbVJp
ZFRZdk5nQXZjbVJpZFRjdk1RQXZjbVJpZFRjdk1nQXZjbVJpZFRjdk13QXZjbVJpZFRjdk5BQXZj
bVJpZFRjdk5RQXZjbVJpZFRjdk5nQXZjbVJpZFRjdk53QXZjbVJpZFRndk1RQXZjbVJpZFRndk1n
QXZjbVJpZFRndk13QXZjbVJpZFRndk5BQXZjbVJpZFRndk5RQXZjbVJpZFRndk5nQXZjbVJpZFRn
dk53QXZjbVJpZFRndk9BQXZjbVJpZFRrdk1RQXZjbVJpZFRrdk1nQXZjbVJpZFRrdk13QXZjbVJp
ZFRrdk5BQXZjbVJpZFRrdk5RQXZjbVJpZFRrdk5nQXZjbVJpZFRrdk53QXZjbVJpZFRrdk9BQXZj
bVJpZFRrdk9RQXZjbVJuZVRFd0x6RUFMM0prWjNreE1DOHhNQUF2Y21SbmVURXdMeklBTDNKa1oz
a3hNQzh6QUM5eVpHZDVNVEF2TkFBdmNtUm5lVEV3THpVQUwzSmtaM2t4TUM4MkFDOXlaR2Q1TVRB
dk53QXZjbVJuZVRFd0x6Z0FMM0prWjNreE1DODVBQzl5WkdkNU1URXZNUUF2Y21SbmVURXhMekV3
QUM5eVpHZDVNVEV2TVRFQUwzSmtaM2t4TVM4eUFDOXlaR2Q1TVRFdk13QXZjbVJuZVRFeEx6UUFM
M0prWjNreE1TODFBQzl5WkdkNU1URXZOZ0F2Y21SbmVURXhMemNBTDNKa1oza3hNUzg0QUM5eVpH
ZDVNVEV2T1FBdmNtUm5lVE12TVFBdmNtUm5lVE12TWdBdmNtUm5lVE12TXdBdmNtUm5lVFF2TVFB
dmNtUm5lVFF2TWdBdmNtUm5lVFF2TXdBdmNtUm5lVFF2TkFBdmNtUm5lVFV2TVFBdmNtUm5lVFV2
TWdBdmNtUm5lVFV2TXdBdmNtUm5lVFV2TkFBdmNtUm5lVFV2TlFBdmNtUm5lVFl2TVFBdmNtUm5l
VFl2TWdBdmNtUm5lVFl2TXdBdmNtUm5lVFl2TkFBdmNtUm5lVFl2TlFBdmNtUm5lVFl2TmdBdmNt
Um5lVGN2TVFBdmNtUm5lVGN2TWdBdmNtUm5lVGN2TXdBdmNtUm5lVGN2TkFBdmNtUm5lVGN2TlFB
dmNtUm5lVGN2TmdBdmNtUm5lVGN2TndBdmNtUm5lVGd2TVFBdmNtUm5lVGd2TWdBdmNtUm5lVGd2
TXdBdmNtUm5lVGd2TkFBdmNtUm5lVGd2TlFBdmNtUm5lVGd2TmdBdmNtUm5lVGd2TndBdmNtUm5l
VGd2T0FBdmNtUm5lVGt2TVFBdmNtUm5lVGt2TWdBdmNtUm5lVGt2TXdBdmNtUm5lVGt2TkFBdmNt
Um5lVGt2TlFBdmNtUm5lVGt2TmdBdmNtUm5lVGt2TndBdmNtUm5lVGt2T0FBdmNtUm5lVGt2T1FB
dmNtUndkVE12TVFBdmNtUndkVE12TWdBdmNtUndkVE12TXdBdmNtUndkVFF2TVFBdmNtUndkVFF2
TWdBdmNtUndkVFF2TXdBdmNtUndkVFF2TkFBdmNtUndkVFV2TVFBdmNtUndkVFV2TWdBdmNtUndk
VFV2TXdBdmNtUndkVFV2TkFBdmNtUndkVFV2TlFBdmNtUndkVFl2TVFBdmNtUndkVFl2TWdBdmNt
UndkVFl2TXdBdmNtUndkVFl2TkFBdmNtUndkVFl2TlFBdmNtUndkVFl2TmdBdmNtUndkVGN2TVFB
dmNtUndkVGN2TWdBdmNtUndkVGN2TXdBdmNtUndkVGN2TkFBdmNtUndkVGN2TlFBdmNtUndkVGN2
TmdBdmNtUndkVGN2TndBdmNtUndkVGd2TVFBdmNtUndkVGd2TWdBdmNtUndkVGd2TXdBdmNtUndk
VGd2TkFBdmNtUndkVGd2TlFBdmNtUndkVGd2TmdBdmNtUndkVGd2TndBdmNtUndkVGd2T0FBdmNt
UndkVGt2TVFBdmNtUndkVGt2TWdBdmNtUndkVGt2TXdBdmNtUndkVGt2TkFBdmNtUndkVGt2TlFB
dmNtUndkVGt2TmdBdmNtUndkVGt2TndBdmNtUndkVGt2T0FBdmNtUndkVGt2T1FBdmNtUjViR0ox
TVRBdk1RQXZjbVI1YkdKMU1UQXZNVEFBTDNKa2VXeGlkVEV3THpJQUwzSmtlV3hpZFRFd0x6TUFM
M0prZVd4aWRURXdMelFBTDNKa2VXeGlkVEV3THpVQUwzSmtlV3hpZFRFd0x6WUFMM0prZVd4aWRU
RXdMemNBTDNKa2VXeGlkVEV3THpnQUwzSmtlV3hpZFRFd0x6a0FMM0prZVd4aWRURXhMekVBTDNK
a2VXeGlkVEV4THpFd0FDOXlaSGxzWW5VeE1TOHhNUUF2Y21SNWJHSjFNVEV2TWdBdmNtUjViR0ox
TVRFdk13QXZjbVI1YkdKMU1URXZOQUF2Y21SNWJHSjFNVEV2TlFBdmNtUjViR0oxTVRFdk5nQXZj
bVI1YkdKMU1URXZOd0F2Y21SNWJHSjFNVEV2T0FBdmNtUjViR0oxTVRFdk9RQXZjbVI1YkdKMU15
OHhBQzl5Wkhsc1luVXpMeklBTDNKa2VXeGlkVE12TXdBdmNtUjViR0oxTkM4eEFDOXlaSGxzWW5V
MEx6SUFMM0prZVd4aWRUUXZNd0F2Y21SNWJHSjFOQzgwQUM5eVpIbHNZblUxTHpFQUwzSmtlV3hp
ZFRVdk1nQXZjbVI1YkdKMU5TOHpBQzl5Wkhsc1luVTFMelFBTDNKa2VXeGlkVFV2TlFBdmNtUjVi
R0oxTmk4eEFDOXlaSGxzWW5VMkx6SUFMM0prZVd4aWRUWXZNd0F2Y21SNWJHSjFOaTgwQUM5eVpI
bHNZblUyTHpVQUwzSmtlV3hpZFRZdk5nQXZjbVI1YkdKMU55OHhBQzl5Wkhsc1luVTNMeklBTDNK
a2VXeGlkVGN2TXdBdmNtUjViR0oxTnk4MEFDOXlaSGxzWW5VM0x6VUFMM0prZVd4aWRUY3ZOZ0F2
Y21SNWJHSjFOeTgzQUM5eVpIbHNZblU0THpFQUwzSmtlV3hpZFRndk1nQXZjbVI1YkdKMU9DOHpB
Qzl5Wkhsc1luVTRMelFBTDNKa2VXeGlkVGd2TlFBdmNtUjViR0oxT0M4MkFDOXlaSGxzWW5VNEx6
Y0FMM0prZVd4aWRUZ3ZPQUF2Y21SNWJHSjFPUzh4QUM5eVpIbHNZblU1THpJQUwzSmtlV3hpZFRr
dk13QXZjbVI1YkdKMU9TODBBQzl5Wkhsc1luVTVMelVBTDNKa2VXeGlkVGt2TmdBdmNtUjViR0ox
T1M4M0FDOXlaSGxzWW5VNUx6Z0FMM0prZVd4aWRUa3ZPUUF2Y21SNWJHZHVNVEF2TVFBdmNtUjVi
R2R1TVRBdk1UQUFMM0prZVd4bmJqRXdMeklBTDNKa2VXeG5iakV3THpNQUwzSmtlV3huYmpFd0x6
UUFMM0prZVd4bmJqRXdMelVBTDNKa2VXeG5iakV3THpZQUwzSmtlV3huYmpFd0x6Y0FMM0prZVd4
bmJqRXdMemdBTDNKa2VXeG5iakV3THprQUwzSmtlV3huYmpFeEx6RUFMM0prZVd4bmJqRXhMekV3
QUM5eVpIbHNaMjR4TVM4eE1RQXZjbVI1YkdkdU1URXZNZ0F2Y21SNWJHZHVNVEV2TXdBdmNtUjVi
R2R1TVRFdk5BQXZjbVI1YkdkdU1URXZOUUF2Y21SNWJHZHVNVEV2TmdBdmNtUjViR2R1TVRFdk53
QXZjbVI1YkdkdU1URXZPQUF2Y21SNWJHZHVNVEV2T1FBdmNtUjViR2R1TXk4eEFDOXlaSGxzWjI0
ekx6SUFMM0prZVd4bmJqTXZNd0F2Y21SNWJHZHVOQzh4QUM5eVpIbHNaMjQwTHpJQUwzSmtlV3hu
YmpRdk13QXZjbVI1YkdkdU5DODBBQzl5Wkhsc1oyNDFMekVBTDNKa2VXeG5ialV2TWdBdmNtUjVi
R2R1TlM4ekFDOXlaSGxzWjI0MUx6UUFMM0prZVd4bmJqVXZOUUF2Y21SNWJHZHVOaTh4QUM5eVpI
bHNaMjQyTHpJQUwzSmtlV3huYmpZdk13QXZjbVI1YkdkdU5pODBBQzl5Wkhsc1oyNDJMelVBTDNK
a2VXeG5iall2TmdBdmNtUjViR2R1Tnk4eEFDOXlaSGxzWjI0M0x6SUFMM0prZVd4bmJqY3ZNd0F2
Y21SNWJHZHVOeTgwQUM5eVpIbHNaMjQzTHpVQUwzSmtlV3huYmpjdk5nQXZjbVI1YkdkdU55ODNB
Qzl5Wkhsc1oyNDRMekVBTDNKa2VXeG5iamd2TWdBdmNtUjViR2R1T0M4ekFDOXlaSGxzWjI0NEx6
UUFMM0prZVd4bmJqZ3ZOUUF2Y21SNWJHZHVPQzgyQUM5eVpIbHNaMjQ0THpjQUwzSmtlV3huYmpn
dk9BQXZjbVI1YkdkdU9TOHhBQzl5Wkhsc1oyNDVMeklBTDNKa2VXeG5iamt2TXdBdmNtUjViR2R1
T1M4MEFDOXlaSGxzWjI0NUx6VUFMM0prZVd4bmJqa3ZOZ0F2Y21SNWJHZHVPUzgzQUM5eVpIbHNa
MjQ1THpnQUwzSmtlV3huYmprdk9RQXZjbVZrY3pNdk1RQXZjbVZrY3pNdk1nQXZjbVZrY3pNdk13
QXZjbVZrY3pRdk1RQXZjbVZrY3pRdk1nQXZjbVZrY3pRdk13QXZjbVZrY3pRdk5BQXZjbVZrY3pV
dk1RQXZjbVZrY3pVdk1nQXZjbVZrY3pVdk13QXZjbVZrY3pVdk5BQXZjbVZrY3pVdk5RQXZjbVZr
Y3pZdk1RQXZjbVZrY3pZdk1nQXZjbVZrY3pZdk13QXZjbVZrY3pZdk5BQXZjbVZrY3pZdk5RQXZj
bVZrY3pZdk5nQXZjbVZrY3pjdk1RQXZjbVZrY3pjdk1nQXZjbVZrY3pjdk13QXZjbVZrY3pjdk5B
QXZjbVZrY3pjdk5RQXZjbVZrY3pjdk5nQXZjbVZrY3pjdk53QXZjbVZrY3pndk1RQXZjbVZrY3pn
dk1nQXZjbVZrY3pndk13QXZjbVZrY3pndk5BQXZjbVZrY3pndk5RQXZjbVZrY3pndk5nQXZjbVZr
Y3pndk53QXZjbVZrY3pndk9BQXZjbVZrY3prdk1RQXZjbVZrY3prdk1nQXZjbVZrY3prdk13QXZj
bVZrY3prdk5BQXZjbVZrY3prdk5RQXZjbVZrY3prdk5nQXZjbVZrY3prdk53QXZjbVZrY3prdk9B
QXZjbVZrY3prdk9RQXZjMlYwTVRNdk1RQXZjMlYwTVRNdk1nQXZjMlYwTVRNdk13QXZjMlYwTVRR
dk1RQXZjMlYwTVRRdk1nQXZjMlYwTVRRdk13QXZjMlYwTVRRdk5BQXZjMlYwTVRVdk1RQXZjMlYw
TVRVdk1nQXZjMlYwTVRVdk13QXZjMlYwTVRVdk5BQXZjMlYwTVRVdk5RQXZjMlYwTVRZdk1RQXZj
MlYwTVRZdk1nQXZjMlYwTVRZdk13QXZjMlYwTVRZdk5BQXZjMlYwTVRZdk5RQXZjMlYwTVRZdk5n
QXZjMlYwTVRjdk1RQXZjMlYwTVRjdk1nQXZjMlYwTVRjdk13QXZjMlYwTVRjdk5BQXZjMlYwTVRj
dk5RQXZjMlYwTVRjdk5nQXZjMlYwTVRjdk53QXZjMlYwTVRndk1RQXZjMlYwTVRndk1nQXZjMlYw
TVRndk13QXZjMlYwTVRndk5BQXZjMlYwTVRndk5RQXZjMlYwTVRndk5nQXZjMlYwTVRndk53QXZj
MlYwTVRndk9BQXZjMlYwTVRrdk1RQXZjMlYwTVRrdk1nQXZjMlYwTVRrdk13QXZjMlYwTVRrdk5B
QXZjMlYwTVRrdk5RQXZjMlYwTVRrdk5nQXZjMlYwTVRrdk53QXZjMlYwTVRrdk9BQXZjMlYwTVRr
dk9RQXZjMlYwTWpNdk1RQXZjMlYwTWpNdk1nQXZjMlYwTWpNdk13QXZjMlYwTWpRdk1RQXZjMlYw
TWpRdk1nQXZjMlYwTWpRdk13QXZjMlYwTWpRdk5BQXZjMlYwTWpVdk1RQXZjMlYwTWpVdk1nQXZj
MlYwTWpVdk13QXZjMlYwTWpVdk5BQXZjMlYwTWpVdk5RQXZjMlYwTWpZdk1RQXZjMlYwTWpZdk1n
QXZjMlYwTWpZdk13QXZjMlYwTWpZdk5BQXZjMlYwTWpZdk5RQXZjMlYwTWpZdk5nQXZjMlYwTWpj
dk1RQXZjMlYwTWpjdk1nQXZjMlYwTWpjdk13QXZjMlYwTWpjdk5BQXZjMlYwTWpjdk5RQXZjMlYw
TWpjdk5nQXZjMlYwTWpjdk53QXZjMlYwTWpndk1RQXZjMlYwTWpndk1nQXZjMlYwTWpndk13QXZj
MlYwTWpndk5BQXZjMlYwTWpndk5RQXZjMlYwTWpndk5nQXZjMlYwTWpndk53QXZjMlYwTWpndk9B
QXZjMlYwTXpFd0x6RUFMM05sZERNeE1DOHhNQUF2YzJWME16RXdMeklBTDNObGRETXhNQzh6QUM5
elpYUXpNVEF2TkFBdmMyVjBNekV3THpVQUwzTmxkRE14TUM4MkFDOXpaWFF6TVRBdk53QXZjMlYw
TXpFd0x6Z0FMM05sZERNeE1DODVBQzl6WlhRek1URXZNUUF2YzJWME16RXhMekV3QUM5elpYUXpN
VEV2TVRFQUwzTmxkRE14TVM4eUFDOXpaWFF6TVRFdk13QXZjMlYwTXpFeEx6UUFMM05sZERNeE1T
ODFBQzl6WlhRek1URXZOZ0F2YzJWME16RXhMemNBTDNObGRETXhNUzg0QUM5elpYUXpNVEV2T1FB
dmMyVjBNekV5THpFQUwzTmxkRE14TWk4eE1BQXZjMlYwTXpFeUx6RXhBQzl6WlhRek1USXZNVElB
TDNObGRETXhNaTh5QUM5elpYUXpNVEl2TXdBdmMyVjBNekV5THpRQUwzTmxkRE14TWk4MUFDOXpa
WFF6TVRJdk5nQXZjMlYwTXpFeUx6Y0FMM05sZERNeE1pODRBQzl6WlhRek1USXZPUUF2YzJWME16
TXZNUUF2YzJWME16TXZNZ0F2YzJWME16TXZNd0F2YzJWME16UXZNUUF2YzJWME16UXZNZ0F2YzJW
ME16UXZNd0F2YzJWME16UXZOQUF2YzJWME16VXZNUUF2YzJWME16VXZNZ0F2YzJWME16VXZNd0F2
YzJWME16VXZOQUF2YzJWME16VXZOUUF2YzJWME16WXZNUUF2YzJWME16WXZNZ0F2YzJWME16WXZN
d0F2YzJWME16WXZOQUF2YzJWME16WXZOUUF2YzJWME16WXZOZ0F2YzJWME16Y3ZNUUF2YzJWME16
Y3ZNZ0F2YzJWME16Y3ZNd0F2YzJWME16Y3ZOQUF2YzJWME16Y3ZOUUF2YzJWME16Y3ZOZ0F2YzJW
ME16Y3ZOd0F2YzJWME16Z3ZNUUF2YzJWME16Z3ZNZ0F2YzJWME16Z3ZNd0F2YzJWME16Z3ZOQUF2
YzJWME16Z3ZOUUF2YzJWME16Z3ZOZ0F2YzJWME16Z3ZOd0F2YzJWME16Z3ZPQUF2YzJWME16a3ZN
UUF2YzJWME16a3ZNZ0F2YzJWME16a3ZNd0F2YzJWME16a3ZOQUF2YzJWME16a3ZOUUF2YzJWME16
a3ZOZ0F2YzJWME16a3ZOd0F2YzJWME16a3ZPQUF2YzJWME16a3ZPUUF2YzNCbFkzUnlZV3d4TUM4
eEFDOXpjR1ZqZEhKaGJERXdMekV3QUM5emNHVmpkSEpoYkRFd0x6SUFMM053WldOMGNtRnNNVEF2
TXdBdmMzQmxZM1J5WVd3eE1DODBBQzl6Y0dWamRISmhiREV3THpVQUwzTndaV04wY21Gc01UQXZO
Z0F2YzNCbFkzUnlZV3d4TUM4M0FDOXpjR1ZqZEhKaGJERXdMemdBTDNOd1pXTjBjbUZzTVRBdk9R
QXZjM0JsWTNSeVlXd3hNUzh4QUM5emNHVmpkSEpoYkRFeEx6RXdBQzl6Y0dWamRISmhiREV4THpF
eEFDOXpjR1ZqZEhKaGJERXhMeklBTDNOd1pXTjBjbUZzTVRFdk13QXZjM0JsWTNSeVlXd3hNUzgw
QUM5emNHVmpkSEpoYkRFeEx6VUFMM053WldOMGNtRnNNVEV2TmdBdmMzQmxZM1J5WVd3eE1TODNB
Qzl6Y0dWamRISmhiREV4THpnQUwzTndaV04wY21Gc01URXZPUUF2YzNCbFkzUnlZV3d6THpFQUwz
TndaV04wY21Gc015OHlBQzl6Y0dWamRISmhiRE12TXdBdmMzQmxZM1J5WVd3MEx6RUFMM053WldO
MGNtRnNOQzh5QUM5emNHVmpkSEpoYkRRdk13QXZjM0JsWTNSeVlXdzBMelFBTDNOd1pXTjBjbUZz
TlM4eEFDOXpjR1ZqZEhKaGJEVXZNZ0F2YzNCbFkzUnlZV3cxTHpNQUwzTndaV04wY21Gc05TODBB
Qzl6Y0dWamRISmhiRFV2TlFBdmMzQmxZM1J5WVd3Mkx6RUFMM053WldOMGNtRnNOaTh5QUM5emNH
VmpkSEpoYkRZdk13QXZjM0JsWTNSeVlXdzJMelFBTDNOd1pXTjBjbUZzTmk4MUFDOXpjR1ZqZEhK
aGJEWXZOZ0F2YzNCbFkzUnlZV3czTHpFQUwzTndaV04wY21Gc055OHlBQzl6Y0dWamRISmhiRGN2
TXdBdmMzQmxZM1J5WVd3M0x6UUFMM053WldOMGNtRnNOeTgxQUM5emNHVmpkSEpoYkRjdk5nQXZj
M0JsWTNSeVlXdzNMemNBTDNOd1pXTjBjbUZzT0M4eEFDOXpjR1ZqZEhKaGJEZ3ZNZ0F2YzNCbFkz
UnlZV3c0THpNQUwzTndaV04wY21Gc09DODBBQzl6Y0dWamRISmhiRGd2TlFBdmMzQmxZM1J5WVd3
NEx6WUFMM053WldOMGNtRnNPQzgzQUM5emNHVmpkSEpoYkRndk9BQXZjM0JsWTNSeVlXdzVMekVB
TDNOd1pXTjBjbUZzT1M4eUFDOXpjR1ZqZEhKaGJEa3ZNd0F2YzNCbFkzUnlZV3c1THpRQUwzTnda
V04wY21Gc09TODFBQzl6Y0dWamRISmhiRGt2TmdBdmMzQmxZM1J5WVd3NUx6Y0FMM053WldOMGNt
RnNPUzg0QUM5emNHVmpkSEpoYkRrdk9RQXZjM1puTDJGc2FXTmxZbXgxWlFBdmMzWm5MMkZ1ZEds
eGRXVjNhR2wwWlFBdmMzWm5MMkZ4ZFdFQUwzTjJaeTloY1hWaGJXRnlhVzVsQUM5emRtY3ZZWHAx
Y21VQUwzTjJaeTlpWldsblpRQXZjM1puTDJKcGMzRjFaUUF2YzNabkwySnNZV05yQUM5emRtY3ZZ
bXhoYm1Ob1pXUmhiRzF2Ym1RQUwzTjJaeTlpYkhWbEFDOXpkbWN2WW14MVpYWnBiMnhsZEFBdmMz
Wm5MMkp5YjNkdUFDOXpkbWN2WW5WeWJIbDNiMjlrQUM5emRtY3ZZMkZrWlhSaWJIVmxBQzl6ZG1j
dlkyaGhjblJ5WlhWelpRQXZjM1puTDJOb2IyTnZiR0YwWlFBdmMzWm5MMk52Y21Gc0FDOXpkbWN2
WTI5eWJtWnNiM2RsY21Kc2RXVUFMM04yWnk5amIzSnVjMmxzYXdBdmMzWm5MMk55YVcxemIyNEFM
M04yWnk5amVXRnVBQzl6ZG1jdlpHRnlhMkpzZFdVQUwzTjJaeTlrWVhKclkzbGhiZ0F2YzNabkwy
UmhjbXRuYjJ4a1pXNXliMlFBTDNOMlp5OWtZWEpyWjNKaGVRQXZjM1puTDJSaGNtdG5jbVZsYmdB
dmMzWm5MMlJoY210bmNtVjVBQzl6ZG1jdlpHRnlhMnRvWVd0cEFDOXpkbWN2WkdGeWEyMWhaMlZ1
ZEdFQUwzTjJaeTlrWVhKcmIyeHBkbVZuY21WbGJnQXZjM1puTDJSaGNtdHZjbUZ1WjJVQUwzTjJa
eTlrWVhKcmIzSmphR2xrQUM5emRtY3ZaR0Z5YTNKbFpBQXZjM1puTDJSaGNtdHpZV3h0YjI0QUwz
TjJaeTlrWVhKcmMyVmhaM0psWlc0QUwzTjJaeTlrWVhKcmMyeGhkR1ZpYkhWbEFDOXpkbWN2WkdG
eWEzTnNZWFJsWjNKaGVRQXZjM1puTDJSaGNtdHpiR0YwWldkeVpYa0FMM04yWnk5a1lYSnJkSFZ5
Y1hWdmFYTmxBQzl6ZG1jdlpHRnlhM1pwYjJ4bGRBQXZjM1puTDJSbFpYQndhVzVyQUM5emRtY3Za
R1ZsY0hOcmVXSnNkV1VBTDNOMlp5OWthVzFuY21GNUFDOXpkbWN2WkdsdFozSmxlUUF2YzNabkwy
UnZaR2RsY21Kc2RXVUFMM04yWnk5bWFYSmxZbkpwWTJzQUwzTjJaeTltYkc5eVlXeDNhR2wwWlFB
dmMzWm5MMlp2Y21WemRHZHlaV1Z1QUM5emRtY3ZablZqYUhOcFlRQXZjM1puTDJkaGFXNXpZbTl5
YndBdmMzWm5MMmRvYjNOMGQyaHBkR1VBTDNOMlp5OW5iMnhrQUM5emRtY3ZaMjlzWkdWdWNtOWtB
Qzl6ZG1jdlozSmhlUUF2YzNabkwyZHlaV1Z1QUM5emRtY3ZaM0psWlc1NVpXeHNiM2NBTDNOMlp5
OW5jbVY1QUM5emRtY3ZhRzl1Wlhsa1pYY0FMM04yWnk5b2IzUndhVzVyQUM5emRtY3ZhVzVrYVdG
dWNtVmtBQzl6ZG1jdmFXNWthV2R2QUM5emRtY3ZhWFp2Y25rQUwzTjJaeTlyYUdGcmFRQXZjM1pu
TDJ4aGRtVnVaR1Z5QUM5emRtY3ZiR0YyWlc1a1pYSmliSFZ6YUFBdmMzWm5MMnhoZDI1bmNtVmxi
Z0F2YzNabkwyeGxiVzl1WTJocFptWnZiZ0F2YzNabkwyeHBaMmgwWW14MVpRQXZjM1puTDJ4cFoy
aDBZMjl5WVd3QUwzTjJaeTlzYVdkb2RHTjVZVzRBTDNOMlp5OXNhV2RvZEdkdmJHUmxibkp2Wkhs
bGJHeHZkd0F2YzNabkwyeHBaMmgwWjNKaGVRQXZjM1puTDJ4cFoyaDBaM0psWlc0QUwzTjJaeTlz
YVdkb2RHZHlaWGtBTDNOMlp5OXNhV2RvZEhCcGJtc0FMM04yWnk5c2FXZG9kSE5oYkcxdmJnQXZj
M1puTDJ4cFoyaDBjMlZoWjNKbFpXNEFMM04yWnk5c2FXZG9kSE5yZVdKc2RXVUFMM04yWnk5c2FX
ZG9kSE5zWVhSbFozSmhlUUF2YzNabkwyeHBaMmgwYzJ4aGRHVm5jbVY1QUM5emRtY3ZiR2xuYUhS
emRHVmxiR0pzZFdVQUwzTjJaeTlzYVdkb2RIbGxiR3h2ZHdBdmMzWm5MMnhwYldVQUwzTjJaeTlz
YVcxbFozSmxaVzRBTDNOMlp5OXNhVzVsYmdBdmMzWm5MMjFoWjJWdWRHRUFMM04yWnk5dFlYSnZi
MjRBTDNOMlp5OXRaV1JwZFcxaGNYVmhiV0Z5YVc1bEFDOXpkbWN2YldWa2FYVnRZbXgxWlFBdmMz
Wm5MMjFsWkdsMWJXOXlZMmhwWkFBdmMzWm5MMjFsWkdsMWJYQjFjbkJzWlFBdmMzWm5MMjFsWkds
MWJYTmxZV2R5WldWdUFDOXpkbWN2YldWa2FYVnRjMnhoZEdWaWJIVmxBQzl6ZG1jdmJXVmthWFZ0
YzNCeWFXNW5aM0psWlc0QUwzTjJaeTl0WldScGRXMTBkWEp4ZFc5cGMyVUFMM04yWnk5dFpXUnBk
VzEyYVc5c1pYUnlaV1FBTDNOMlp5OXRhV1J1YVdkb2RHSnNkV1VBTDNOMlp5OXRhVzUwWTNKbFlX
MEFMM04yWnk5dGFYTjBlWEp2YzJVQUwzTjJaeTl0YjJOallYTnBiZ0F2YzNabkwyNWhkbUZxYjNk
b2FYUmxBQzl6ZG1jdmJtRjJlUUF2YzNabkwyOXNaR3hoWTJVQUwzTjJaeTl2YkdsMlpRQXZjM1pu
TDI5c2FYWmxaSEpoWWdBdmMzWm5MMjl5WVc1blpRQXZjM1puTDI5eVlXNW5aWEpsWkFBdmMzWm5M
Mjl5WTJocFpBQXZjM1puTDNCaGJHVm5iMnhrWlc1eWIyUUFMM04yWnk5d1lXeGxaM0psWlc0QUwz
TjJaeTl3WVd4bGRIVnljWFZ2YVhObEFDOXpkbWN2Y0dGc1pYWnBiMnhsZEhKbFpBQXZjM1puTDNC
aGNHRjVZWGRvYVhBQUwzTjJaeTl3WldGamFIQjFabVlBTDNOMlp5OXdaWEoxQUM5emRtY3ZjR2x1
YXdBdmMzWm5MM0JzZFcwQUwzTjJaeTl3YjNka1pYSmliSFZsQUM5emRtY3ZjSFZ5Y0d4bEFDOXpk
bWN2Y21Wa0FDOXpkbWN2Y205emVXSnliM2R1QUM5emRtY3ZjbTk1WVd4aWJIVmxBQzl6ZG1jdmMy
RmtaR3hsWW5KdmQyNEFMM04yWnk5ellXeHRiMjRBTDNOMlp5OXpZVzVrZVdKeWIzZHVBQzl6ZG1j
dmMyVmhaM0psWlc0QUwzTjJaeTl6WldGemFHVnNiQUF2YzNabkwzTnBaVzV1WVFBdmMzWm5MM05w
YkhabGNnQXZjM1puTDNOcmVXSnNkV1VBTDNOMlp5OXpiR0YwWldKc2RXVUFMM04yWnk5emJHRjBa
V2R5WVhrQUwzTjJaeTl6YkdGMFpXZHlaWGtBTDNOMlp5OXpibTkzQUM5emRtY3ZjM0J5YVc1bloz
SmxaVzRBTDNOMlp5OXpkR1ZsYkdKc2RXVUFMM04yWnk5MFlXNEFMM04yWnk5MFpXRnNBQzl6ZG1j
dmRHaHBjM1JzWlFBdmMzWm5MM1J2YldGMGJ3QXZjM1puTDNSMWNuRjFiMmx6WlFBdmMzWm5MM1pw
YjJ4bGRBQXZjM1puTDNkb1pXRjBBQzl6ZG1jdmQyaHBkR1VBTDNOMlp5OTNhR2wwWlhOdGIydGxB
Qzl6ZG1jdmVXVnNiRzkzQUM5emRtY3ZlV1ZzYkc5M1ozSmxaVzRBTDNsc1oyNHpMekVBTDNsc1oy
NHpMeklBTDNsc1oyNHpMek1BTDNsc1oyNDBMekVBTDNsc1oyNDBMeklBTDNsc1oyNDBMek1BTDNs
c1oyNDBMelFBTDNsc1oyNDFMekVBTDNsc1oyNDFMeklBTDNsc1oyNDFMek1BTDNsc1oyNDFMelFB
TDNsc1oyNDFMelVBTDNsc1oyNDJMekVBTDNsc1oyNDJMeklBTDNsc1oyNDJMek1BTDNsc1oyNDJM
elFBTDNsc1oyNDJMelVBTDNsc1oyNDJMellBTDNsc1oyNDNMekVBTDNsc1oyNDNMeklBTDNsc1oy
NDNMek1BTDNsc1oyNDNMelFBTDNsc1oyNDNMelVBTDNsc1oyNDNMellBTDNsc1oyNDNMemNBTDNs
c1oyNDRMekVBTDNsc1oyNDRMeklBTDNsc1oyNDRMek1BTDNsc1oyNDRMelFBTDNsc1oyNDRMelVB
TDNsc1oyNDRMellBTDNsc1oyNDRMemNBTDNsc1oyNDRMemdBTDNsc1oyNDVMekVBTDNsc1oyNDVM
eklBTDNsc1oyNDVMek1BTDNsc1oyNDVMelFBTDNsc1oyNDVMelVBTDNsc1oyNDVMellBTDNsc1oy
NDVMemNBTDNsc1oyNDVMemdBTDNsc1oyNDVMemtBTDNsc1oyNWlkVE12TVFBdmVXeG5ibUoxTXk4
eUFDOTViR2R1WW5Vekx6TUFMM2xzWjI1aWRUUXZNUUF2ZVd4bmJtSjFOQzh5QUM5NWJHZHVZblUw
THpNQUwzbHNaMjVpZFRRdk5BQXZlV3huYm1KMU5TOHhBQzk1YkdkdVluVTFMeklBTDNsc1oyNWlk
VFV2TXdBdmVXeG5ibUoxTlM4MEFDOTViR2R1WW5VMUx6VUFMM2xzWjI1aWRUWXZNUUF2ZVd4bmJt
SjFOaTh5QUM5NWJHZHVZblUyTHpNQUwzbHNaMjVpZFRZdk5BQXZlV3huYm1KMU5pODFBQzk1Ykdk
dVluVTJMellBTDNsc1oyNWlkVGN2TVFBdmVXeG5ibUoxTnk4eUFDOTViR2R1WW5VM0x6TUFMM2xz
WjI1aWRUY3ZOQUF2ZVd4bmJtSjFOeTgxQUM5NWJHZHVZblUzTHpZQUwzbHNaMjVpZFRjdk53QXZl
V3huYm1KMU9DOHhBQzk1YkdkdVluVTRMeklBTDNsc1oyNWlkVGd2TXdBdmVXeG5ibUoxT0M4MEFD
OTViR2R1WW5VNEx6VUFMM2xzWjI1aWRUZ3ZOZ0F2ZVd4bmJtSjFPQzgzQUM5NWJHZHVZblU0THpn
QUwzbHNaMjVpZFRrdk1RQXZlV3huYm1KMU9TOHlBQzk1YkdkdVluVTVMek1BTDNsc1oyNWlkVGt2
TkFBdmVXeG5ibUoxT1M4MUFDOTViR2R1WW5VNUx6WUFMM2xzWjI1aWRUa3ZOd0F2ZVd4bmJtSjFP
Uzg0QUM5NWJHZHVZblU1THprQUwzbHNiM0ppY2pNdk1RQXZlV3h2Y21KeU15OHlBQzk1Ykc5eVlu
SXpMek1BTDNsc2IzSmljalF2TVFBdmVXeHZjbUp5TkM4eUFDOTViRzl5WW5JMEx6TUFMM2xzYjNK
aWNqUXZOQUF2ZVd4dmNtSnlOUzh4QUM5NWJHOXlZbkkxTHpJQUwzbHNiM0ppY2pVdk13QXZlV3h2
Y21KeU5TODBBQzk1Ykc5eVluSTFMelVBTDNsc2IzSmljall2TVFBdmVXeHZjbUp5Tmk4eUFDOTVi
Rzl5WW5JMkx6TUFMM2xzYjNKaWNqWXZOQUF2ZVd4dmNtSnlOaTgxQUM5NWJHOXlZbkkyTHpZQUwz
bHNiM0ppY2pjdk1RQXZlV3h2Y21KeU55OHlBQzk1Ykc5eVluSTNMek1BTDNsc2IzSmljamN2TkFB
dmVXeHZjbUp5Tnk4MUFDOTViRzl5WW5JM0x6WUFMM2xzYjNKaWNqY3ZOd0F2ZVd4dmNtSnlPQzh4
QUM5NWJHOXlZbkk0THpJQUwzbHNiM0ppY2pndk13QXZlV3h2Y21KeU9DODBBQzk1Ykc5eVluSTRM
elVBTDNsc2IzSmljamd2TmdBdmVXeHZjbUp5T0M4M0FDOTViRzl5WW5JNEx6Z0FMM2xzYjNKaWNq
a3ZNUUF2ZVd4dmNtSnlPUzh5QUM5NWJHOXlZbkk1THpNQUwzbHNiM0ppY2prdk5BQXZlV3h2Y21K
eU9TODFBQzk1Ykc5eVluSTVMellBTDNsc2IzSmljamt2TndBdmVXeHZjbUp5T1M4NEFDOTViRzl5
WW5JNUx6a0FMM2xzYjNKeVpETXZNUUF2ZVd4dmNuSmtNeTh5QUM5NWJHOXljbVF6THpNQUwzbHNi
M0p5WkRRdk1RQXZlV3h2Y25Ka05DOHlBQzk1Ykc5eWNtUTBMek1BTDNsc2IzSnlaRFF2TkFBdmVX
eHZjbkprTlM4eEFDOTViRzl5Y21RMUx6SUFMM2xzYjNKeVpEVXZNd0F2ZVd4dmNuSmtOUzgwQUM5
NWJHOXljbVExTHpVQUwzbHNiM0p5WkRZdk1RQXZlV3h2Y25Ka05pOHlBQzk1Ykc5eWNtUTJMek1B
TDNsc2IzSnlaRFl2TkFBdmVXeHZjbkprTmk4MUFDOTViRzl5Y21RMkx6WUFMM2xzYjNKeVpEY3ZN
UUF2ZVd4dmNuSmtOeTh5QUM5NWJHOXljbVEzTHpNQUwzbHNiM0p5WkRjdk5BQXZlV3h2Y25Ka055
ODFBQzk1Ykc5eWNtUTNMellBTDNsc2IzSnlaRGN2TndBdmVXeHZjbkprT0M4eEFDOTViRzl5Y21R
NEx6SUFMM2xzYjNKeVpEZ3ZNd0F2ZVd4dmNuSmtPQzgwQUM5NWJHOXljbVE0THpVQUwzbHNiM0p5
WkRndk5nQXZlV3h2Y25Ka09DODNBQzk1Ykc5eWNtUTRMemdBTDNsc2IzSnlaRGt2TVFBdmVXeHZj
bkprT1M4eUFDOTViRzl5Y21RNUx6TUFMM2xzYjNKeVpEa3ZOQUF2ZVd4dmNuSmtPUzgxQUM5NWJH
OXljbVE1THpZQUwzbHNiM0p5WkRrdk53QXZlV3h2Y25Ka09TODRBQzk1Ykc5eWNtUTVMemtBWVd4
cFkyVmliSFZsQUdGdWRHbHhkV1YzYUdsMFpRQmhiblJwY1hWbGQyaHBkR1V4QUdGdWRHbHhkV1Yz
YUdsMFpUSUFZVzUwYVhGMVpYZG9hWFJsTXdCaGJuUnBjWFZsZDJocGRHVTBBR0Z4ZFdGdFlYSnBi
bVVBWVhGMVlXMWhjbWx1WlRFQVlYRjFZVzFoY21sdVpUSUFZWEYxWVcxaGNtbHVaVE1BWVhGMVlX
MWhjbWx1WlRRQVlYcDFjbVVBWVhwMWNtVXhBR0Y2ZFhKbE1nQmhlblZ5WlRNQVlYcDFjbVUwQUdK
bGFXZGxBR0pwYzNGMVpRQmlhWE54ZFdVeEFHSnBjM0YxWlRJQVltbHpjWFZsTXdCaWFYTnhkV1Uw
QUdKc1lXNWphR1ZrWVd4dGIyNWtBR0pzZFdVQVlteDFaVEVBWW14MVpUSUFZbXgxWlRNQVlteDFa
VFFBWW14MVpYWnBiMnhsZEFCaWNtOTNiZ0JpY205M2JqRUFZbkp2ZDI0eUFHSnliM2R1TXdCaWNt
OTNialFBWW5WeWJIbDNiMjlrQUdKMWNteDVkMjl2WkRFQVluVnliSGwzYjI5a01nQmlkWEpzZVhk
dmIyUXpBR0oxY214NWQyOXZaRFFBWTJGa1pYUmliSFZsQUdOaFpHVjBZbXgxWlRFQVkyRmtaWFJp
YkhWbE1nQmpZV1JsZEdKc2RXVXpBR05oWkdWMFlteDFaVFFBWTJoaGNuUnlaWFZ6WlFCamFHRnlk
SEpsZFhObE1RQmphR0Z5ZEhKbGRYTmxNZ0JqYUdGeWRISmxkWE5sTXdCamFHRnlkSEpsZFhObE5B
QmphRzlqYjJ4aGRHVUFZMmh2WTI5c1lYUmxNUUJqYUc5amIyeGhkR1V5QUdOb2IyTnZiR0YwWlRN
QVkyaHZZMjlzWVhSbE5BQmpiM0poYkFCamIzSmhiREVBWTI5eVlXd3lBR052Y21Gc013QmpiM0po
YkRRQVkyOXlibVpzYjNkbGNtSnNkV1VBWTI5eWJuTnBiR3NBWTI5eWJuTnBiR3N4QUdOdmNtNXph
V3hyTWdCamIzSnVjMmxzYXpNQVkyOXlibk5wYkdzMEFHTnlhVzF6YjI0QVkzbGhiZ0JqZVdGdU1R
QmplV0Z1TWdCamVXRnVNd0JqZVdGdU5BQmtZWEpyWjI5c1pHVnVjbTlrQUdSaGNtdG5iMnhrWlc1
eWIyUXhBR1JoY210bmIyeGtaVzV5YjJReUFHUmhjbXRuYjJ4a1pXNXliMlF6QUdSaGNtdG5iMnhr
Wlc1eWIyUTBBR1JoY210bmNtVmxiZ0JrWVhKcmEyaGhhMmtBWkdGeWEyOXNhWFpsWjNKbFpXNEFa
R0Z5YTI5c2FYWmxaM0psWlc0eEFHUmhjbXR2YkdsMlpXZHlaV1Z1TWdCa1lYSnJiMnhwZG1WbmNt
Vmxiak1BWkdGeWEyOXNhWFpsWjNKbFpXNDBBR1JoY210dmNtRnVaMlVBWkdGeWEyOXlZVzVuWlRF
QVpHRnlhMjl5WVc1blpUSUFaR0Z5YTI5eVlXNW5aVE1BWkdGeWEyOXlZVzVuWlRRQVpHRnlhMjl5
WTJocFpBQmtZWEpyYjNKamFHbGtNUUJrWVhKcmIzSmphR2xrTWdCa1lYSnJiM0pqYUdsa013QmtZ
WEpyYjNKamFHbGtOQUJrWVhKcmMyRnNiVzl1QUdSaGNtdHpaV0ZuY21WbGJnQmtZWEpyYzJWaFoz
SmxaVzR4QUdSaGNtdHpaV0ZuY21WbGJqSUFaR0Z5YTNObFlXZHlaV1Z1TXdCa1lYSnJjMlZoWjNK
bFpXNDBBR1JoY210emJHRjBaV0pzZFdVQVpHRnlhM05zWVhSbFozSmhlUUJrWVhKcmMyeGhkR1Zu
Y21GNU1RQmtZWEpyYzJ4aGRHVm5jbUY1TWdCa1lYSnJjMnhoZEdWbmNtRjVNd0JrWVhKcmMyeGhk
R1ZuY21GNU5BQmtZWEpyYzJ4aGRHVm5jbVY1QUdSaGNtdDBkWEp4ZFc5cGMyVUFaR0Z5YTNacGIy
eGxkQUJrWldWd2NHbHVhd0JrWldWd2NHbHVhekVBWkdWbGNIQnBibXN5QUdSbFpYQndhVzVyTXdC
a1pXVndjR2x1YXpRQVpHVmxjSE5yZVdKc2RXVUFaR1ZsY0hOcmVXSnNkV1V4QUdSbFpYQnphM2xp
YkhWbE1nQmtaV1Z3YzJ0NVlteDFaVE1BWkdWbGNITnJlV0pzZFdVMEFHUnBiV2R5WVhrQVpHbHRa
M0psZVFCa2IyUm5aWEppYkhWbEFHUnZaR2RsY21Kc2RXVXhBR1J2WkdkbGNtSnNkV1V5QUdSdlpH
ZGxjbUpzZFdVekFHUnZaR2RsY21Kc2RXVTBBR1pwY21WaWNtbGphd0JtYVhKbFluSnBZMnN4QUda
cGNtVmljbWxqYXpJQVptbHlaV0p5YVdOck13Qm1hWEpsWW5KcFkyczBBR1pzYjNKaGJIZG9hWFJs
QUdadmNtVnpkR2R5WldWdUFHZGhhVzV6WW05eWJ3Qm5hRzl6ZEhkb2FYUmxBR2R2YkdRQVoyOXNa
REVBWjI5c1pESUFaMjlzWkRNQVoyOXNaRFFBWjI5c1pHVnVjbTlrQUdkdmJHUmxibkp2WkRFQVoy
OXNaR1Z1Y205a01nQm5iMnhrWlc1eWIyUXpBR2R2YkdSbGJuSnZaRFFBWjNKaGVRQm5jbUY1TUFC
bmNtRjVNUUJuY21GNU1UQUFaM0poZVRFd01BQm5jbUY1TVRFQVozSmhlVEV5QUdkeVlYa3hNd0Ju
Y21GNU1UUUFaM0poZVRFMUFHZHlZWGt4TmdCbmNtRjVNVGNBWjNKaGVURTRBR2R5WVhreE9RQm5j
bUY1TWdCbmNtRjVNakFBWjNKaGVUSXhBR2R5WVhreU1nQm5jbUY1TWpNQVozSmhlVEkwQUdkeVlY
a3lOUUJuY21GNU1qWUFaM0poZVRJM0FHZHlZWGt5T0FCbmNtRjVNamtBWjNKaGVUTUFaM0poZVRN
d0FHZHlZWGt6TVFCbmNtRjVNeklBWjNKaGVUTXpBR2R5WVhrek5BQm5jbUY1TXpVQVozSmhlVE0y
QUdkeVlYa3pOd0JuY21GNU16Z0FaM0poZVRNNUFHZHlZWGswQUdkeVlYazBNQUJuY21GNU5ERUFa
M0poZVRReUFHZHlZWGswTXdCbmNtRjVORFFBWjNKaGVUUTFBR2R5WVhrME5nQm5jbUY1TkRjQVoz
SmhlVFE0QUdkeVlYazBPUUJuY21GNU5RQm5jbUY1TlRBQVozSmhlVFV4QUdkeVlYazFNZ0JuY21G
NU5UTUFaM0poZVRVMEFHZHlZWGsxTlFCbmNtRjVOVFlBWjNKaGVUVTNBR2R5WVhrMU9BQm5jbUY1
TlRrQVozSmhlVFlBWjNKaGVUWXdBR2R5WVhrMk1RQm5jbUY1TmpJQVozSmhlVFl6QUdkeVlYazJO
QUJuY21GNU5qVUFaM0poZVRZMkFHZHlZWGsyTndCbmNtRjVOamdBWjNKaGVUWTVBR2R5WVhrM0FH
ZHlZWGszTUFCbmNtRjVOekVBWjNKaGVUY3lBR2R5WVhrM013Qm5jbUY1TnpRQVozSmhlVGMxQUdk
eVlYazNOZ0JuY21GNU56Y0FaM0poZVRjNEFHZHlZWGszT1FCbmNtRjVPQUJuY21GNU9EQUFaM0po
ZVRneEFHZHlZWGs0TWdCbmNtRjVPRE1BWjNKaGVUZzBBR2R5WVhrNE5RQm5jbUY1T0RZQVozSmhl
VGczQUdkeVlYazRPQUJuY21GNU9Ea0FaM0poZVRrQVozSmhlVGt3QUdkeVlYazVNUUJuY21GNU9U
SUFaM0poZVRrekFHZHlZWGs1TkFCbmNtRjVPVFVBWjNKaGVUazJBR2R5WVhrNU53Qm5jbUY1T1Rn
QVozSmhlVGs1QUdkeVpXVnVBR2R5WldWdU1RQm5jbVZsYmpJQVozSmxaVzR6QUdkeVpXVnVOQUJu
Y21WbGJubGxiR3h2ZHdCbmNtVjVBR2R5Wlhrd0FHZHlaWGt4QUdkeVpYa3hNQUJuY21WNU1UQXdB
R2R5WlhreE1RQm5jbVY1TVRJQVozSmxlVEV6QUdkeVpYa3hOQUJuY21WNU1UVUFaM0psZVRFMkFH
ZHlaWGt4TndCbmNtVjVNVGdBWjNKbGVURTVBR2R5WlhreUFHZHlaWGt5TUFCbmNtVjVNakVBWjNK
bGVUSXlBR2R5WlhreU13Qm5jbVY1TWpRQVozSmxlVEkxQUdkeVpYa3lOZ0JuY21WNU1qY0FaM0ps
ZVRJNEFHZHlaWGt5T1FCbmNtVjVNd0JuY21WNU16QUFaM0psZVRNeEFHZHlaWGt6TWdCbmNtVjVN
ek1BWjNKbGVUTTBBR2R5Wlhrek5RQm5jbVY1TXpZQVozSmxlVE0zQUdkeVpYa3pPQUJuY21WNU16
a0FaM0psZVRRQVozSmxlVFF3QUdkeVpYazBNUUJuY21WNU5ESUFaM0psZVRRekFHZHlaWGswTkFC
bmNtVjVORFVBWjNKbGVUUTJBR2R5WlhrME53Qm5jbVY1TkRnQVozSmxlVFE1QUdkeVpYazFBR2R5
WlhrMU1BQm5jbVY1TlRFQVozSmxlVFV5QUdkeVpYazFNd0JuY21WNU5UUUFaM0psZVRVMUFHZHla
WGsxTmdCbmNtVjVOVGNBWjNKbGVUVTRBR2R5WlhrMU9RQm5jbVY1TmdCbmNtVjVOakFBWjNKbGVU
WXhBR2R5WlhrMk1nQm5jbVY1TmpNQVozSmxlVFkwQUdkeVpYazJOUUJuY21WNU5qWUFaM0psZVRZ
M0FHZHlaWGsyT0FCbmNtVjVOamtBWjNKbGVUY0FaM0psZVRjd0FHZHlaWGszTVFCbmNtVjVOeklB
WjNKbGVUY3pBR2R5WlhrM05BQm5jbVY1TnpVQVozSmxlVGMyQUdkeVpYazNOd0JuY21WNU56Z0Fa
M0psZVRjNUFHZHlaWGs0QUdkeVpYazRNQUJuY21WNU9ERUFaM0psZVRneUFHZHlaWGs0TXdCbmNt
VjVPRFFBWjNKbGVUZzFBR2R5WlhrNE5nQm5jbVY1T0RjQVozSmxlVGc0QUdkeVpYazRPUUJuY21W
NU9RQm5jbVY1T1RBQVozSmxlVGt4QUdkeVpYazVNZ0JuY21WNU9UTUFaM0psZVRrMEFHZHlaWGs1
TlFCbmNtVjVPVFlBWjNKbGVUazNBR2R5WlhrNU9BQm5jbVY1T1RrQWFHOXVaWGxrWlhjQWFHOXVa
WGxrWlhjeEFHaHZibVY1WkdWM01nQm9iMjVsZVdSbGR6TUFhRzl1Wlhsa1pYYzBBR2h2ZEhCcGJt
c0FhRzkwY0dsdWF6RUFhRzkwY0dsdWF6SUFhRzkwY0dsdWF6TUFhRzkwY0dsdWF6UUFhVzVrYVdG
dWNtVmtBR2x1WkdsaGJuSmxaREVBYVc1a2FXRnVjbVZrTWdCcGJtUnBZVzV5WldRekFHbHVaR2xo
Ym5KbFpEUUFhVzVrYVdkdkFHbHVkbWx6QUdsMmIzSjVBR2wyYjNKNU1RQnBkbTl5ZVRJQWFYWnZj
bmt6QUdsMmIzSjVOQUJyYUdGcmFRQnJhR0ZyYVRFQWEyaGhhMmt5QUd0b1lXdHBNd0JyYUdGcmFU
UUFiR0YyWlc1a1pYSUFiR0YyWlc1a1pYSmliSFZ6YUFCc1lYWmxibVJsY21Kc2RYTm9NUUJzWVha
bGJtUmxjbUpzZFhOb01nQnNZWFpsYm1SbGNtSnNkWE5vTXdCc1lYWmxibVJsY21Kc2RYTm9OQUJz
WVhkdVozSmxaVzRBYkdWdGIyNWphR2xtWm05dUFHeGxiVzl1WTJocFptWnZiakVBYkdWdGIyNWph
R2xtWm05dU1nQnNaVzF2Ym1Ob2FXWm1iMjR6QUd4bGJXOXVZMmhwWm1admJqUUFiR2xuYUhSaWJI
VmxBR3hwWjJoMFlteDFaVEVBYkdsbmFIUmliSFZsTWdCc2FXZG9kR0pzZFdVekFHeHBaMmgwWW14
MVpUUUFiR2xuYUhSamIzSmhiQUJzYVdkb2RHTjVZVzRBYkdsbmFIUmplV0Z1TVFCc2FXZG9kR041
WVc0eUFHeHBaMmgwWTNsaGJqTUFiR2xuYUhSamVXRnVOQUJzYVdkb2RHZHZiR1JsYm5KdlpBQnNh
V2RvZEdkdmJHUmxibkp2WkRFQWJHbG5hSFJuYjJ4a1pXNXliMlF5QUd4cFoyaDBaMjlzWkdWdWNt
OWtNd0JzYVdkb2RHZHZiR1JsYm5KdlpEUUFiR2xuYUhSbmIyeGtaVzV5YjJSNVpXeHNiM2NBYkds
bmFIUm5jbUY1QUd4cFoyaDBaM0psZVFCc2FXZG9kSEJwYm1zQWJHbG5hSFJ3YVc1ck1RQnNhV2Rv
ZEhCcGJtc3lBR3hwWjJoMGNHbHVhek1BYkdsbmFIUndhVzVyTkFCc2FXZG9kSE5oYkcxdmJnQnNh
V2RvZEhOaGJHMXZiakVBYkdsbmFIUnpZV3h0YjI0eUFHeHBaMmgwYzJGc2JXOXVNd0JzYVdkb2RI
TmhiRzF2YmpRQWJHbG5hSFJ6WldGbmNtVmxiZ0JzYVdkb2RITnJlV0pzZFdVQWJHbG5hSFJ6YTNs
aWJIVmxNUUJzYVdkb2RITnJlV0pzZFdVeUFHeHBaMmgwYzJ0NVlteDFaVE1BYkdsbmFIUnphM2xp
YkhWbE5BQnNhV2RvZEhOc1lYUmxZbXgxWlFCc2FXZG9kSE5zWVhSbFozSmhlUUJzYVdkb2RITnNZ
WFJsWjNKbGVRQnNhV2RvZEhOMFpXVnNZbXgxWlFCc2FXZG9kSE4wWldWc1lteDFaVEVBYkdsbmFI
UnpkR1ZsYkdKc2RXVXlBR3hwWjJoMGMzUmxaV3hpYkhWbE13QnNhV2RvZEhOMFpXVnNZbXgxWlRR
QWJHbG5hSFI1Wld4c2IzY0FiR2xuYUhSNVpXeHNiM2N4QUd4cFoyaDBlV1ZzYkc5M01nQnNhV2Rv
ZEhsbGJHeHZkek1BYkdsbmFIUjVaV3hzYjNjMEFHeHBiV1ZuY21WbGJnQnNhVzVsYmdCdFlXZGxi
blJoQUcxaFoyVnVkR0V4QUcxaFoyVnVkR0V5QUcxaFoyVnVkR0V6QUcxaFoyVnVkR0UwQUcxaGNt
OXZiZ0J0WVhKdmIyNHhBRzFoY205dmJqSUFiV0Z5YjI5dU13QnRZWEp2YjI0MEFHMWxaR2wxYldG
eGRXRnRZWEpwYm1VQWJXVmthWFZ0WW14MVpRQnRaV1JwZFcxdmNtTm9hV1FBYldWa2FYVnRiM0pq
YUdsa01RQnRaV1JwZFcxdmNtTm9hV1F5QUcxbFpHbDFiVzl5WTJocFpETUFiV1ZrYVhWdGIzSmph
R2xrTkFCdFpXUnBkVzF3ZFhKd2JHVUFiV1ZrYVhWdGNIVnljR3hsTVFCdFpXUnBkVzF3ZFhKd2JH
VXlBRzFsWkdsMWJYQjFjbkJzWlRNQWJXVmthWFZ0Y0hWeWNHeGxOQUJ0WldScGRXMXpaV0ZuY21W
bGJnQnRaV1JwZFcxemJHRjBaV0pzZFdVQWJXVmthWFZ0YzNCeWFXNW5aM0psWlc0QWJXVmthWFZ0
ZEhWeWNYVnZhWE5sQUcxbFpHbDFiWFpwYjJ4bGRISmxaQUJ0YVdSdWFXZG9kR0pzZFdVQWJXbHVk
R055WldGdEFHMXBjM1I1Y205elpRQnRhWE4wZVhKdmMyVXhBRzFwYzNSNWNtOXpaVElBYldsemRI
bHliM05sTXdCdGFYTjBlWEp2YzJVMEFHMXZZMk5oYzJsdUFHNWhkbUZxYjNkb2FYUmxBRzVoZG1G
cWIzZG9hWFJsTVFCdVlYWmhhbTkzYUdsMFpUSUFibUYyWVdwdmQyaHBkR1V6QUc1aGRtRnFiM2Rv
YVhSbE5BQnVZWFo1QUc1aGRubGliSFZsQUc1dmJtVUFiMnhrYkdGalpRQnZiR2wyWldSeVlXSUFi
MnhwZG1Wa2NtRmlNUUJ2YkdsMlpXUnlZV0l5QUc5c2FYWmxaSEpoWWpNQWIyeHBkbVZrY21GaU5B
QnZjbUZ1WjJVQWIzSmhibWRsTVFCdmNtRnVaMlV5QUc5eVlXNW5aVE1BYjNKaGJtZGxOQUJ2Y21G
dVoyVnlaV1FBYjNKaGJtZGxjbVZrTVFCdmNtRnVaMlZ5WldReUFHOXlZVzVuWlhKbFpETUFiM0po
Ym1kbGNtVmtOQUJ2Y21Ob2FXUUFiM0pqYUdsa01RQnZjbU5vYVdReUFHOXlZMmhwWkRNQWIzSmph
R2xrTkFCd1lXeGxaMjlzWkdWdWNtOWtBSEJoYkdWbmNtVmxiZ0J3WVd4bFozSmxaVzR4QUhCaGJH
Vm5jbVZsYmpJQWNHRnNaV2R5WldWdU13QndZV3hsWjNKbFpXNDBBSEJoYkdWMGRYSnhkVzlwYzJV
QWNHRnNaWFIxY25GMWIybHpaVEVBY0dGc1pYUjFjbkYxYjJselpUSUFjR0ZzWlhSMWNuRjFiMmx6
WlRNQWNHRnNaWFIxY25GMWIybHpaVFFBY0dGc1pYWnBiMnhsZEhKbFpBQndZV3hsZG1sdmJHVjBj
bVZrTVFCd1lXeGxkbWx2YkdWMGNtVmtNZ0J3WVd4bGRtbHZiR1YwY21Wa013QndZV3hsZG1sdmJH
VjBjbVZrTkFCd1lYQmhlV0YzYUdsd0FIQmxZV05vY0hWbVpnQndaV0ZqYUhCMVptWXhBSEJsWVdO
b2NIVm1aaklBY0dWaFkyaHdkV1ptTXdCd1pXRmphSEIxWm1ZMEFIQmxjblVBY0dsdWF3QndhVzVy
TVFCd2FXNXJNZ0J3YVc1ck13QndhVzVyTkFCd2JIVnRBSEJzZFcweEFIQnNkVzB5QUhCc2RXMHpB
SEJzZFcwMEFIQnZkMlJsY21Kc2RXVUFjSFZ5Y0d4bEFIQjFjbkJzWlRFQWNIVnljR3hsTWdCd2RY
SndiR1V6QUhCMWNuQnNaVFFBY21Wa0FISmxaREVBY21Wa01nQnlaV1F6QUhKbFpEUUFjbTl6ZVdK
eWIzZHVBSEp2YzNsaWNtOTNiakVBY205emVXSnliM2R1TWdCeWIzTjVZbkp2ZDI0ekFISnZjM2xp
Y205M2JqUUFjbTk1WVd4aWJIVmxBSEp2ZVdGc1lteDFaVEVBY205NVlXeGliSFZsTWdCeWIzbGhi
R0pzZFdVekFISnZlV0ZzWW14MVpUUUFjMkZrWkd4bFluSnZkMjRBYzJGc2JXOXVBSE5oYkcxdmJq
RUFjMkZzYlc5dU1nQnpZV3h0YjI0ekFITmhiRzF2YmpRQWMyRnVaSGxpY205M2JnQnpaV0ZuY21W
bGJnQnpaV0ZuY21WbGJqRUFjMlZoWjNKbFpXNHlBSE5sWVdkeVpXVnVNd0J6WldGbmNtVmxialFB
YzJWaGMyaGxiR3dBYzJWaGMyaGxiR3d4QUhObFlYTm9aV3hzTWdCelpXRnphR1ZzYkRNQWMyVmhj
MmhsYkd3MEFITnBaVzV1WVFCemFXVnVibUV4QUhOcFpXNXVZVElBYzJsbGJtNWhNd0J6YVdWdWJt
RTBBSE5yZVdKc2RXVUFjMnQ1WW14MVpURUFjMnQ1WW14MVpUSUFjMnQ1WW14MVpUTUFjMnQ1WW14
MVpUUUFjMnhoZEdWaWJIVmxBSE5zWVhSbFlteDFaVEVBYzJ4aGRHVmliSFZsTWdCemJHRjBaV0pz
ZFdVekFITnNZWFJsWW14MVpUUUFjMnhoZEdWbmNtRjVBSE5zWVhSbFozSmhlVEVBYzJ4aGRHVm5j
bUY1TWdCemJHRjBaV2R5WVhrekFITnNZWFJsWjNKaGVUUUFjMnhoZEdWbmNtVjVBSE51YjNjQWMy
NXZkekVBYzI1dmR6SUFjMjV2ZHpNQWMyNXZkelFBYzNCeWFXNW5aM0psWlc0QWMzQnlhVzVuWjNK
bFpXNHhBSE53Y21sdVoyZHlaV1Z1TWdCemNISnBibWRuY21WbGJqTUFjM0J5YVc1blozSmxaVzQw
QUhOMFpXVnNZbXgxWlFCemRHVmxiR0pzZFdVeEFITjBaV1ZzWW14MVpUSUFjM1JsWld4aWJIVmxN
d0J6ZEdWbGJHSnNkV1UwQUhSaGJnQjBZVzR4QUhSaGJqSUFkR0Z1TXdCMFlXNDBBSFJvYVhOMGJH
VUFkR2hwYzNSc1pURUFkR2hwYzNSc1pUSUFkR2hwYzNSc1pUTUFkR2hwYzNSc1pUUUFkRzl0WVhS
dkFIUnZiV0YwYnpFQWRHOXRZWFJ2TWdCMGIyMWhkRzh6QUhSdmJXRjBielFBZEhWeWNYVnZhWE5s
QUhSMWNuRjFiMmx6WlRFQWRIVnljWFZ2YVhObE1nQjBkWEp4ZFc5cGMyVXpBSFIxY25GMWIybHpa
VFFBZG1sdmJHVjBBSFpwYjJ4bGRISmxaQUIyYVc5c1pYUnlaV1F4QUhacGIyeGxkSEpsWkRJQWRt
bHZiR1YwY21Wa013QjJhVzlzWlhSeVpXUTBBSGRvWldGMEFIZG9aV0YwTVFCM2FHVmhkRElBZDJo
bFlYUXpBSGRvWldGME5BQjNhR2wwWlFCM2FHbDBaWE50YjJ0bEFIbGxiR3h2ZHdCNVpXeHNiM2N4
QUhsbGJHeHZkeklBZVdWc2JHOTNNd0I1Wld4c2IzYzBBSGxsYkd4dmQyZHlaV1Z1QUd4aFkyc0Fh
R2wwWlFCcFoyaDBaM0psZVFCWU1URXZBQzhsY3k4bGN3QnBiV0ZuWlhOallXeGxBR1poYkhObEFH
SnNZV05yQUdSdmRIUmxaQUJrWVhOb1pXUUFZM0F0UG5OeVl3Qm9kRzFzZEdGaWJHVXVZd0JsYlds
MFgyaDBiV3hmYVcxbkFHTndMVDV6Y21OYk1GMEFkSEpoYm5Od1lYSmxiblFBWHlWa0FDVmtBREVB
TWdBekFEUUFOUUEyQURjQU9BQTVBREV3QURFeEFERXlBREV6QURFMEFERTFBREUyQURFM0FERTRB
REU1QURJd0FFRm5ibTlrWldsdVptOWZkQUJCWjJWa1oyVnBibVp2WDNRQWNtOTNad0JqYjJ4bkFF
Rm5jbUZ3YUdsdVptOWZkQUE4VkVGQ1RFVStBR1JsYkhnZ1BqMGdNQUJ3YjNOZmFIUnRiRjkwWW13
QVpHVnNlU0ErUFNBd0FIUmhZbXhsSUhOcGVtVWdkRzl2SUhOdFlXeHNJR1p2Y2lCamIyNTBaVzUw
Q2dCbWFYaGxaQ0IwWVdKc1pTQnphWHBsSUhkcGRHZ2dkVzV6Y0dWamFXWnBaV1FnZDJsa2RHZ2di
M0lnYUdWcFoyaDBDZ0JqWld4c0lITnBlbVVnZEc5dklITnRZV3hzSUdadmNpQmpiMjUwWlc1MENn
Qm1hWGhsWkNCalpXeHNJSE5wZW1VZ2QybDBhQ0IxYm5Od1pXTnBabWxsWkNCM2FXUjBhQ0J2Y2lC
b1pXbG5hSFFLQUU1dklHOXlJR2x0Y0hKdmNHVnlJR2x0WVdkbElHWnBiR1U5SWlWeklnb0FjR1Z1
WTI5c2IzSUFZMjlzYjNJQUxUNEFMUzBBWmxCUkxtTUFVRkZqYUdWamF3QklaV0Z3SUc5MlpYSm1i
RzkzQ2dBbElWQlRMVUZrYjJKbExUSXVNQW92Ym05a1pTQjdDaUFnTDFrZ1pYaGphQ0JrWldZS0lD
QXZXQ0JsZUdOb0lHUmxaZ29nSUM5NUlHVjRZMmdnWkdWbUNpQWdMM2dnWlhoamFDQmtaV1lLSUNC
dVpYZHdZWFJvQ2lBZ2VDQjVJRzF2ZG1WMGJ3b2dJSGdnV1NCc2FXNWxkRzhLSUNCWUlGa2diR2x1
WlhSdkNpQWdXQ0I1SUd4cGJtVjBid29nSUdOc2IzTmxjR0YwYUNCbWFXeHNDbjBnWkdWbUNpOWpa
V3hzSUhzS0lDQXZXU0JsZUdOb0lHUmxaZ29nSUM5WUlHVjRZMmdnWkdWbUNpQWdMM2tnWlhoamFD
QmtaV1lLSUNBdmVDQmxlR05vSUdSbFpnb2dJRzVsZDNCaGRHZ0tJQ0I0SUhrZ2JXOTJaWFJ2Q2lB
Z2VDQlpJR3hwYm1WMGJ3b2dJRmdnV1NCc2FXNWxkRzhLSUNCWUlIa2diR2x1WlhSdkNpQWdZMnh2
YzJWd1lYUm9JSE4wY205clpRcDlJR1JsWmdvQWMyaHZkM0JoWjJVS0FHWmhhV3hsWkNCaGRDQnVi
MlJsSUNWa1d6QmRDZ0J1Y0MwK1kyVnNiSE5iTUYwQWJXRjZaUzVqQUdOb2ExTm5jbUZ3YUFCbVlX
bHNaV1FnWVhRZ2JtOWtaU0FsWkZzeFhRb0FibkF0UG1ObGJHeHpXekZkQUdScGRHVnRjd0JtYVc1
a1UxWmxjblFBSlNVbEpWQmhaMlU2SURFZ01Rb2xKU1VsVUdGblpVSnZkVzVrYVc1blFtOTRPaUFs
WkNBbFpDQWxaQ0FsWkFvQUpXWWdKV1lnZEhKaGJuTnNZWFJsQ2dBd0lEQWdNU0J6WlhSeVoySmpi
Mnh2Y2dvQUpXWWdKV1lnSldZZ0pXWWdibTlrWlFvQU1DQXdJREFnYzJWMGNtZGlZMjlzYjNJS0FD
Vm1JQ1ZtSUNWbUlDVm1JR05sYkd3S0FERWdNQ0F3SUhObGRISm5ZbU52Ykc5eUNnQjFibVY0Y0dW
amRHVmtJR05oYzJVZ2FXNGdiRzlqWVhSbFgyVnVaSEJ2YVc1MENnQXdBSFJ5WVhCbGVtOXBaQzVq
QUd4dlkyRjBaVjlsYm1Sd2IybHVkQUJoWkdSZmMyVm5iV1Z1ZERvZ1pYSnliM0lLQUc1bGQyNXZa
R1U2SUZGMVpYSjVMWFJoWW14bElHOTJaWEptYkc5M0NnQnVaWGR1YjJSbEFHNWxkM1J5WVhBNklG
UnlZWEJsZW05cFpDMTBZV0pzWlNCdmRtVnlabXh2ZHlBbFpBb0FibVYzZEhKaGNBQnBibVJsZUM1
akFGSlVjbVZsVTJWaGNtTm9BRzR0UG14bGRtVnNJRDQ5SURBQVVsUnlaV1ZKYm5ObGNuUUFiR1Yy
Wld3Z1BqMGdNQ0FtSmlCc1pYWmxiQ0E4UFNBb0ttNHBMVDVzWlhabGJBQnlMVDVpYjNWdVpHRnll
VnRwWFNBOFBTQnlMVDVpYjNWdVpHRnllVnRPVlUxRVNVMVRJQ3NnYVYwQWNpQW1KaUJ1SUNZbUlH
NWxkd0JTVkhKbFpVbHVjMlZ5ZERJQWJHVjJaV3dnUGowZ01DQW1KaUJzWlhabGJDQThQU0J1TFQ1
c1pYWmxiQUJHUVV4VFJRQnViMlJsTG1NQVRtOWtaVU52ZG1WeUFISWdKaVlnYmdCUWFXTnJRbkpo
Ym1Ob0FFRmtaRUp5WVc1amFBQnBJRHdnVGs5RVJVTkJVa1FBYm1WM0FHNGdKaVlnYVNBK1BTQXdJ
Q1ltSUdrZ1BDQk9UMFJGUTBGU1JBQkVhWE5qYjI1Q2NtRnVZMmdBY2dCeVpXTjBZVzVuYkdVdVl3
QlNaV04wUVhKbFlRQnlJQ1ltSUhKeUFFTnZiV0pwYm1WU1pXTjBBSElnSmlZZ2N3QlBkbVZ5YkdG
d0FHNEFjM0JzYVhRdWNTNWpBRk53YkdsMFRtOWtaUUJpQUc0dFBtTnZkVzUwSUNzZ0tDcHViaWt0
UG1OdmRXNTBJRDA5SUU1UFJFVkRRVkpFSUNzZ01RQk1iMkZrVG05a1pYTUFjUUJ3QUhKMGNDMCtj
M0JzYVhRdVVHRnlkR2wwYVc5dWMxc3dYUzV3WVhKMGFYUnBiMjViYVYwZ1BUMGdNQ0I4ZkNCeWRI
QXRQbk53YkdsMExsQmhjblJwZEdsdmJuTmJNRjB1Y0dGeWRHbDBhVzl1VzJsZElEMDlJREVBY25S
d0xUNXpjR3hwZEM1UVlYSjBhWFJwYjI1eld6QmRMbU52ZFc1MFd6QmRJQ3NnY25Sd0xUNXpjR3hw
ZEM1UVlYSjBhWFJwYjI1eld6QmRMbU52ZFc1MFd6RmRJRDA5SUU1UFJFVkRRVkpFSUNzZ01RQk5a
WFJvYjJSYVpYSnZBSEowY0MwK2MzQnNhWFF1VUdGeWRHbDBhVzl1YzFzd1hTNWpiM1Z1ZEZzd1hT
QStQU0J5ZEhBdFBrMXBia1pwYkd3Z0ppWWdjblJ3TFQ1emNHeHBkQzVRWVhKMGFYUnBiMjV6V3pC
ZExtTnZkVzUwV3pGZElENDlJSEowY0MwK1RXbHVSbWxzYkFBaGNuUndMVDV6Y0d4cGRDNVFZWEow
YVhScGIyNXpXekJkTG5SaGEyVnVXMmxkQUVOc1lYTnphV1o1QUVkbGRFSnlZVzVqYUdWekFHNHRQ
bUp5WVc1amFGdHBYUzVqYUdsc1pBQUFBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0Fn
SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJ
Q0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lD
QWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNB
Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0Fn
SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJ
Q0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQVFJREJBVUdCd2dKQ2dzTURRNFBFQkVTRXhRVkZoY1lHUm9i
SEIwZUh5QWhJaU1rSlNZbktBSUNBZ0lDQWhBTVdRRUFIMUFJQXdjU0V4UlhGaGNJQzJrTUh3b0ZE
QTRwRVNzUExSQXZNQ0F5QmpRMUd4d2RIZ3NNSVNJakpDVW1KeWdNR0JrWEJBb2JIQm9nS2dvaElp
TWtKU1luS0F3S0RsTUtMRmd4V0ZoWVdGaFlEQnNjRHk1WU15RWlJeVFsSmljb0d4ei9VLy8vSVNJ
akpDVW1KeWdNLy84Ri8vLy9DUlQvLy8vLy93d2JIUDhRRlJZaElpTWtKU1luS0JzYy8vLy8veUVp
SXlRbEppY29EUDhTRXhRUkZoZi8vLy8vLy84TUd4ei8vLzhTSVNJakpDVW1KeWdiSFAvLy8vOGhJ
aU1rSlNZbktBei8vLy8vLy84VC8vLy8vLy8vREJzYy8vLy8veUVpSXlRbEppY29HeHovLy8vL0lT
SWpKQ1VtSnlnU0V4UVZGaGNZR2YvLy8vLy8vLy8vL3lNa0pTWW5HeElURkJZWElqWm9BUjg0VmlF
Z0Foc2JHMTRiR3pjNWNEYlN3azhFUENKSElqOGlSQ0lpV0NKbElpSUZCbDlnT1FRSENBa0tDd3dO
RGdSbVoxMXFiUVVHYjFnN2NRY0lDUW9MREEwT0JISThXM00rWVVZYkVoTVVGaGNFQlFZL1FXSkpC
d2dKQ2dzTURRNEZCZ0JjQUFBSENBa0tDd3dORGdRQUFFOEFBQUJUUWdBQUFBQUFCQVVHQUVSVVZR
Y0lDUW9MREEwT0JRWUFBQUFBQndnSkNnc01EUTRFQUNvc0xrY3hNd0FBQUFBQUFBUUZCZ0FBQUVv
SENBa0tDd3dORGdVR0FBQUFBQWNJQ1FvTERBME9CQUFBQUFBQUFFd0FBQUFBQUFBRUJRWUFBQUFB
QndnSkNnc01EUTRGQmdBQUFBQUhDQWtLQ3d3TkRpa3JMUzh3TWpRMUFBQUFBQUFBQUFBQUtTc3RN
RElBQkM4QUpDTUFFaFFXR2h3ZUlCZ0FCUWN2THk4QUx5OEFBQWtJS0FBQUFTSUNCZ0FBQUFBQUNB
QUFBQUFBQUFBQUFBQUFBQUFsQXlZVENpa1ZDeW9YRGkwWkVSc01LeDBOTEI4UElSQUFNd0F3QUM5
REFERUFMd0ExTGlkQ01rRUFPamdBUERSRkFEWUFRQUFBUHdCRU56czVQUUFDQXdNQkFRSUJBUUVE
QXdNREF3TURBd0VCQVFFQkFRRUJBUUVCQVFFQkFRRUNBUUVDQUFZQkF3TURBd01CQUFFQ0F3QUVB
UUlEQUFRQUJBQUVBQU1DQVFJQkFnRlRlVzUwWVhnZ1pYSnliM0k2SUc1dmJpMXpjR0ZqWlNCemRI
SnBibWNnZFhObFpDQmlaV1p2Y21VZ1BGUkJRa3hGUGdCVGVXNTBZWGdnWlhKeWIzSTZJRzV2Ymkx
emNHRmpaU0J6ZEhKcGJtY2dkWE5sWkNCaFpuUmxjaUE4TDFSQlFreEZQZ0FBS1NvcUtpc3NMQzB0
TFMwdExTMHRMUzB1THpBeE1qTTBOVFkzT0RrNk96dzlQajQvUDBGQVFrSkNRa0pDUTBORVJFUkdS
VWRIUjBsSVNraExTRXhJVFUxT1RrOVAvd01QRUJFak9pUTlKVUFWUXlaRkowZ1lTeGxOR2lnY1Ro
MGVVRkZTV1Zwc2EyNWpaRmRwYzNsdWRHRjRJR1Z5Y205eUFHMWxiVzl5ZVNCbGVHaGhkWE4wWldR
QUpYTWdhVzRnYkdsdVpTQWxaQ0FLQUU1dmRDQmlkV2xzZENCM2FYUm9JR3hwWW1WNGNHRjBMaUJV
WVdKc1pTQm1iM0p0WVhSMGFXNW5JR2x6SUc1dmRDQmhkbUZwYkdGaWJHVXVDZ0J5YjNWMFpTNWpB
R3hwWW5CaGRHZ3ZKWE02SldRNklDVnpDZ0J6YUc5eWRHVnpkQzVqQUhOdmRYSmpaU0J3YjJsdWRD
QnViM1FnYVc0Z1lXNTVJSFJ5YVdGdVoyeGxBR1JsYzNScGJtRjBhVzl1SUhCdmFXNTBJRzV2ZENC
cGJpQmhibmtnZEhKcFlXNW5iR1VBWTJGdWJtOTBJR1pwYm1RZ2RISnBZVzVuYkdVZ2NHRjBhQUJq
WVc1dWIzUWdiV0ZzYkc5aklHOXdjd0JqWVc1dWIzUWdjbVZoYkd4dll5QnZjSE1BZEhKcFlXNW5k
V3hoZEdsdmJpQm1ZV2xzWldRQVkyRnVibTkwSUcxaGJHeHZZeUIwY21sekFHTmhibTV2ZENCeVpX
RnNiRzlqSUhSeWFYTUFZMkZ1Ym05MElHMWhiR3h2WXlCa2NTNXdibXh6QUdOaGJtNXZkQ0J5WldG
c2JHOWpJR1J4TG5CdWJITUFZMkZ1Ym05MElHMWhiR3h2WXlCd2JteHpBR05oYm01dmRDQnRZV3hz
YjJNZ2NHNXNjSE1BWTJGdWJtOTBJSEpsWVd4c2IyTWdjRzVzY3dCallXNXViM1FnY21WaGJHeHZZ
eUJ3Ym14d2N3QlVJU0laRFFFQ0F4RkxIQXdRQkFzZEVoNG5hRzV2Y0hGaUlBVUdEeE1VRlJvSUZn
Y29KQmNZQ1FvT0d4OGxJNE9DZlNZcUt6dzlQajlEUjBwTldGbGFXMXhkWGw5Z1lXTmtaV1puYVdw
cmJISnpkSGw2ZTN3QVNXeHNaV2RoYkNCaWVYUmxJSE5sY1hWbGJtTmxBRVJ2YldGcGJpQmxjbkp2
Y2dCU1pYTjFiSFFnYm05MElISmxjSEpsYzJWdWRHRmliR1VBVG05MElHRWdkSFI1QUZCbGNtMXBj
M05wYjI0Z1pHVnVhV1ZrQUU5d1pYSmhkR2x2YmlCdWIzUWdjR1Z5YldsMGRHVmtBRTV2SUhOMVky
Z2dabWxzWlNCdmNpQmthWEpsWTNSdmNua0FUbThnYzNWamFDQndjbTlqWlhOekFFWnBiR1VnWlho
cGMzUnpBRlpoYkhWbElIUnZieUJzWVhKblpTQm1iM0lnWkdGMFlTQjBlWEJsQUU1dklITndZV05s
SUd4bFpuUWdiMjRnWkdWMmFXTmxBRTkxZENCdlppQnRaVzF2Y25rQVVtVnpiM1Z5WTJVZ1luVnpl
UUJKYm5SbGNuSjFjSFJsWkNCemVYTjBaVzBnWTJGc2JBQlNaWE52ZFhKalpTQjBaVzF3YjNKaGNt
bHNlU0IxYm1GMllXbHNZV0pzWlFCSmJuWmhiR2xrSUhObFpXc0FRM0p2YzNNdFpHVjJhV05sSUd4
cGJtc0FVbVZoWkMxdmJteDVJR1pwYkdVZ2MzbHpkR1Z0QUVScGNtVmpkRzl5ZVNCdWIzUWdaVzF3
ZEhrQVEyOXVibVZqZEdsdmJpQnlaWE5sZENCaWVTQndaV1Z5QUU5d1pYSmhkR2x2YmlCMGFXMWxa
Q0J2ZFhRQVEyOXVibVZqZEdsdmJpQnlaV1oxYzJWa0FFaHZjM1FnYVhNZ1pHOTNiZ0JJYjNOMElH
bHpJSFZ1Y21WaFkyaGhZbXhsQUVGa1pISmxjM01nYVc0Z2RYTmxBRUp5YjJ0bGJpQndhWEJsQUVr
dlR5Qmxjbkp2Y2dCT2J5QnpkV05vSUdSbGRtbGpaU0J2Y2lCaFpHUnlaWE56QUVKc2IyTnJJR1Js
ZG1salpTQnlaWEYxYVhKbFpBQk9ieUJ6ZFdOb0lHUmxkbWxqWlFCT2IzUWdZU0JrYVhKbFkzUnZj
bmtBU1hNZ1lTQmthWEpsWTNSdmNua0FWR1Y0ZENCbWFXeGxJR0oxYzNrQVJYaGxZeUJtYjNKdFlY
UWdaWEp5YjNJQVNXNTJZV3hwWkNCaGNtZDFiV1Z1ZEFCQmNtZDFiV1Z1ZENCc2FYTjBJSFJ2YnlC
c2IyNW5BRk41YldKdmJHbGpJR3hwYm1zZ2JHOXZjQUJHYVd4bGJtRnRaU0IwYjI4Z2JHOXVad0JV
YjI4Z2JXRnVlU0J2Y0dWdUlHWnBiR1Z6SUdsdUlITjVjM1JsYlFCT2J5Qm1hV3hsSUdSbGMyTnlh
WEIwYjNKeklHRjJZV2xzWVdKc1pRQkNZV1FnWm1sc1pTQmtaWE5qY21sd2RHOXlBRTV2SUdOb2FX
eGtJSEJ5YjJObGMzTUFRbUZrSUdGa1pISmxjM01BUm1sc1pTQjBiMjhnYkdGeVoyVUFWRzl2SUcx
aGJua2diR2x1YTNNQVRtOGdiRzlqYTNNZ1lYWmhhV3hoWW14bEFGSmxjMjkxY21ObElHUmxZV1Jz
YjJOcklIZHZkV3hrSUc5alkzVnlBRk4wWVhSbElHNXZkQ0J5WldOdmRtVnlZV0pzWlFCUWNtVjJh
VzkxY3lCdmQyNWxjaUJrYVdWa0FFOXdaWEpoZEdsdmJpQmpZVzVqWld4bFpBQkdkVzVqZEdsdmJp
QnViM1FnYVcxd2JHVnRaVzUwWldRQVRtOGdiV1Z6YzJGblpTQnZaaUJrWlhOcGNtVmtJSFI1Y0dV
QVNXUmxiblJwWm1sbGNpQnlaVzF2ZG1Wa0FFUmxkbWxqWlNCdWIzUWdZU0J6ZEhKbFlXMEFUbThn
WkdGMFlTQmhkbUZwYkdGaWJHVUFSR1YyYVdObElIUnBiV1Z2ZFhRQVQzVjBJRzltSUhOMGNtVmhi
WE1nY21WemIzVnlZMlZ6QUV4cGJtc2dhR0Z6SUdKbFpXNGdjMlYyWlhKbFpBQlFjbTkwYjJOdmJD
Qmxjbkp2Y2dCQ1lXUWdiV1Z6YzJGblpRQkdhV3hsSUdSbGMyTnlhWEIwYjNJZ2FXNGdZbUZrSUhO
MFlYUmxBRTV2ZENCaElITnZZMnRsZEFCRVpYTjBhVzVoZEdsdmJpQmhaR1J5WlhOeklISmxjWFZw
Y21Wa0FFMWxjM05oWjJVZ2RHOXZJR3hoY21kbEFGQnliM1J2WTI5c0lIZHliMjVuSUhSNWNHVWda
bTl5SUhOdlkydGxkQUJRY205MGIyTnZiQ0J1YjNRZ1lYWmhhV3hoWW14bEFGQnliM1J2WTI5c0lH
NXZkQ0J6ZFhCd2IzSjBaV1FBVTI5amEyVjBJSFI1Y0dVZ2JtOTBJSE4xY0hCdmNuUmxaQUJPYjNR
Z2MzVndjRzl5ZEdWa0FGQnliM1J2WTI5c0lHWmhiV2xzZVNCdWIzUWdjM1Z3Y0c5eWRHVmtBRUZr
WkhKbGMzTWdabUZ0YVd4NUlHNXZkQ0J6ZFhCd2IzSjBaV1FnWW5rZ2NISnZkRzlqYjJ3QVFXUmtj
bVZ6Y3lCdWIzUWdZWFpoYVd4aFlteGxBRTVsZEhkdmNtc2dhWE1nWkc5M2JnQk9aWFIzYjNKcklI
VnVjbVZoWTJoaFlteGxBRU52Ym01bFkzUnBiMjRnY21WelpYUWdZbmtnYm1WMGQyOXlhd0JEYjI1
dVpXTjBhVzl1SUdGaWIzSjBaV1FBVG04Z1luVm1abVZ5SUhOd1lXTmxJR0YyWVdsc1lXSnNaUUJU
YjJOclpYUWdhWE1nWTI5dWJtVmpkR1ZrQUZOdlkydGxkQ0J1YjNRZ1kyOXVibVZqZEdWa0FFTmhi
bTV2ZENCelpXNWtJR0ZtZEdWeUlITnZZMnRsZENCemFIVjBaRzkzYmdCUGNHVnlZWFJwYjI0Z1lX
eHlaV0ZrZVNCcGJpQndjbTluY21WemN3QlBjR1Z5WVhScGIyNGdhVzRnY0hKdlozSmxjM01BVTNS
aGJHVWdabWxzWlNCb1lXNWtiR1VBVW1WdGIzUmxJRWt2VHlCbGNuSnZjZ0JSZFc5MFlTQmxlR05s
WldSbFpBQk9ieUJ0WldScGRXMGdabTkxYm1RQVYzSnZibWNnYldWa2FYVnRJSFI1Y0dVQVRtOGda
WEp5YjNJZ2FXNW1iM0p0WVhScGIyNEFBQklRRXhRVkZoY1lHUm9iSEIwZUh5QWhFQkFpSXhBa0pT
WW5LQ2txS3hBc0xTNFJMekFSRVRFUkVSRXlNelExTmpjNE9SRVFFQkFRRUJBUUVCQVFFQkFRRUJB
UUVCQVFFQkFRRUJBUU9oQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFR
RUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFF
QkFRRUJBUUVCQVFFQkFRT3hBOFBUNC9RRUVRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVC
QVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFRaEFRRUJBUUVCQVFFQkFRRUJB
UUVCQVFFQkFRRUJBUVF4QVFSQkJGUmtjUVNCQkpFQkFRRUVwTFRFMFFFRTRRVDFBUUVCQVFVUkFR
RUJBUUVCQVFFQkFRRUJCU0VCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFF
QkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVC
QlRFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJB
UUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFR
RUJBUUVCQVFFQkFRRUJBUVZGVldWeEFRV0ZrUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFX
aEJiWEYxZVgyQmhZaEFRRUJBUUVCQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFELy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vd0FBQUFE
Ky93RDhBUUFBK0FFQUFIZ0FBQUFBLy92Zit3QUFnQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBUEFEOC8rQ3YvLy8vLy8vLy8vLy8vOS8vLy8vLy95QkFzQUFBQUFBQUFBQUFB
QUFBQUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOEF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFEOEFBQUFBQUNHL3YvLy93QkFTUUFBQUFBQUdBRGYvd0RJQUFBQUFBQUFBQUVBUEFB
QUFBQUFBQUFBQUFBQUFCRGdBUjRBWVArL0FBQUFBQUFBL3djQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQStNOERBQUFBQXdBZy8zOEFBQUJPQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ4QUFBQUFBQUFB
QUFBRUFBZ0hnQXdBQUVBQUFBQUFBQUFBQkFBSUFBQUFBRDhEd0FBQUFBQUFBQVFBQ0FBQUFBQUFB
QUFBQUFBQUFBQUVBQWdBQUFBQUFNQUFBQUFBQUFBQUJBQUlBQUFBQUQ5QUFBQUFBQUFBQUFBQUNB
QUFBQUEvd2NBQUFBQUFBQUFBQUFnQUFBQUFBRC9BQUFBQUFBQUFCQUFJQUFBQUFBQUFBQUFBQUFB
QUFBQUFDQUFBQUFBUHdJQUFBQUFBQUFBQUFBRUFBQUFBQkFBQUFBQUFBQ0FBSURBM3dBTUFBQUFB
QUFBQUFBQUFBQUFBQjhBQUFBQUFBRCsvLy8vQVB6Ly93QUFBQUFBQUFBQS9BQUFBQUFBQU1ELzMv
OEhBQUFBQUFBQUFBQUFBSUFHQVB3QUFCZytBQUNBdndETUFBQUFBQUFBQUFBQUFBQUlBQUFBQUFB
QUFBQUFBQUJnLy8vL0h3QUEvd01BQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCZ0FBQUJBQUFZQUFBQUFBQUFB
QUFBT0FBQUFBQVFBQUFBY0FBQUFBQUFBQUFBQUFBQUFBQUFBREFBQVA1L0x3QUEvd1AvZndBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT01RQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFNVC8vLy8vQUFBQXdBQUFBQUFBQUFBQUFRRGdud0FBQUFCL1B3QUFBQUFB
QUFBQUFBQUFBQUFBQUFBUUFCQUFBUHovLy84ZkFBQUFBQUFNQUFBQUFBQUFRQUFNOEFBQUFBQUFB
TUQ0QUFBQUFBQUFBTUFBQUFBQUFBQUFBUDhBLy8vL0lSQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQS8vLy8vMzhBQVBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBS0FENEFE
Z0FPQUFZSUQ0Ly8vLy9QLy8vLy8vZngvODhYLy9md0FBLy8vL0F3QUEvLy8vL3dFQWV3UFF3YTlD
QUF3ZnZQLy9BQUFBQUFBQy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy84UEFQLy8vLzkvQUFBQS93Y0FBUC8vLy8vLy8vLy8vLzgvQUFBQUFB
QUEvUC8vL3YvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vOGYvd01BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFEZ2h3UCtBQUFBQUFBQUFBQUFBQUFBQUFBQmdBQUFBQUFBQUFBQUFBQUFB
QUFBQUFELy8vLy8vMy8vRHdBQUFBQUFBQUFBLy8vLysvLy8vLy8vLy8vLy8vOFBBUC8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9Qd0FBQVA4UEh2Ly8vd0g4d2VBQUFBQUFBQUFBQUFB
QUFCNEJBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvL3dBQUFBRC8vLy8v
RHdBQUFQLy8vMy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLzkvQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvLy8vLy8vLy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
RC8vLy8vLy85L0FBQUFBQUFBd0FEZ0FBQUFBQUFBQUFBQUFBQ0FEM0FBQUFBQUFBQUFBQUFBQUFB
QUFQOEEvLzkvQUFNQUFBQUFBQUFBQUFBQUFBQUdBQUFBQUFBQUFBQUFBQUFBQUFCRUNBQUFBQS8v
QXdBQUFBQUFBUEFBQUFBQUFBQUFBQUFRd0FBQS8vOERCd0FBQUFBQStBQUFBQUFJZ0FBQUFBQUFB
QUFBQUFBSUFQOC9BTUFBQUFBQUFBQUFBQUFBQUFBQUFBRHdBQUNBQ3dBQUFBQUFBQUNBQWdBQXdB
QUFRd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURnQUFBRUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFJQUFBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBL1A4REFBQUFB
QUFBQUFBQUFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXcvLy8vQTM4QS8v
Ly8vL2YvZnc4QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlEKy93RDhBUUFBK0FFQUFQZy9BQUFBQUFB
QUFBQUFBQUFBQUFBQWYzOEFNSWYvLy8vLy80Ly9BQUFBQUFBQTRQLy9CLzhQQUFBQUFBQUEvLy8v
Ly84L0FBQUFBQThBQUFBQUFBQUFBQUFBQUFBQUFJQUFBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFB
QUFBZ1A4QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3SThBQUFDQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSWYvQVA4QkFBQUE0QUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQS9nQUFBUDhBQUFEL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFQLy8vMzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBREFQL3ovUHdBQUFBTUFB
QUFBQUFEK0F3QUFBQUFBQUFBQUFBQUFBQUFZQUE4QUFBQUFBQUFBQUFBQUFBQUFBQURoQVFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFQQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFI
QUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
ejhBLy8vLy8zLysvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vUHdBQUFBRC8vLy8vLy8vLy96
OEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vLy8vLy85L0FQLy9Bd0FBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnQUFDQUFB
QUFnQUFDQUFBQUFnQUFDQUFBQUFnQUFBQUFJQUFBQUNBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFNQS8vLy8vLzhQLy8vLy8vLy8vLy8vLy8vL0R3
RC9mLzUvL3YvKy93QUFBQUQvQi8vLy8zLy8vLy8vLy8vL0QvLy8vLy8vQndBQUFBQUFBQUFBd1Av
Ly93Y0EvLy8vLy84SC93RURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy93RUF2Ly8v
Ly8vLy8vLy9ILy8vRHdELy8vLy8zd2NBQVAvL0FRRC8vLy8vLy8vL2YvMy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vSHYvLy8vLy8vLzgvRHdELy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
RDQvLy8vLy8vLy8vL2gvd0FBQUFBQUFQLy8vLy8vLy8vL1B3QUFBQUFBQUFELy8vLy8vLy8vLy8v
Ly8vLy8vdzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy84QUFRSURCQVVHQndnSi8vLy8v
Ly8vL3dvTERBME9EeEFSRWhNVUZSWVhHQmthR3h3ZEhoOGdJU0lqLy8vLy8vLy9DZ3NNRFE0UEVC
RVNFeFFWRmhjWUdSb2JIQjBlSHlBaElpUC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0FBRUNCQWNEQmdVQUVoRVRGQlVXRnhnWkdo
c2NIUjRmSUNFUklpTWtFU1VtSnlncEtpc3NFUzB1THhBUU1CQVFFQkFRRUJBeE1qTVFORFVRRUJF
UkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkUyRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVS
RVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJF
UkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSTnhFUkVSRTRFVGs2T3p3OVBoRVJFUkVSRVJFUkVS
RVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFL0VCQVFFQkFRRUJB
UUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRVVCQkVVSkRSRVZHUjBoSkVCQVFTa3RN
VFU0UUVCQlBVQkFRRUJCUkVCQVFFQkFRRUJBUUVSRVJVbE1RRUJBUUVCQVFFQkFRRUJFUkVSRlVF
QkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVC
QVFFQkFRRUJBUUVSRlZFQkFRRUZZUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJB
UUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUVZ4QVFFQkFR
RUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUVdGbGFXeEFRRUJBUUVCQVFF
QkFRRUJBUUVCQVFFQkFRRUJCY0VCQVFFQkFRRUJBUUVCQVFFQkFRRUJBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vL0FBQUFBQUFBQUFEKy8vOEgvdi8vQndBQUFBQUFCQ0FFLy85Ly8vLy9mLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0Qvd01BSDFBQUFBQUFBQUFBQUFBQUlBQUFB
QUFBM3p4QTEvLy8rLy8vLy8vLy8vLy8vNy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vd1A4Ly8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vL3dEKy8vLy9md0wrLy8vLy93QUFBQUFBLzcrMkFQLy8vd2NIQUFB
QS93Zi8vLy8vLy8vLy92L0QvLy8vLy8vLy8vLy8vLy8vN3gvKzRmK2ZBQUQvLy8vLy8vOEE0UC8v
Ly8vLy8vLy8vLy8vL3dNQS8vLy8vLzhITUFULy8vLzgveDhBQVAvLy93RUFBQUFBQUFBQUFQMGZB
QUFBQUFBQThBUC9mLy8vLy8vLy8vL3YvOS9oLzgvLy92N3VuL24vLy8zRjQ1OVpnTERQL3dNQTdv
ZjUvLy85YmNPSEdRSmV3UDgvQU82LysvLy8vZTNqdnhzQkFNLy9BQUR1bi9uLy8vM3Q0NThad0xE
UC93SUE3TWM5MWhqSC84UEhIWUVBd1A4QUFPN2YvZi8vL2UvajN4MWdBOC8vQUFEczMvMy8vLzN2
NDk4ZFlFRFAvd1lBN04vOS8vLy8vK2ZmWFlBQXovOEEvT3ovZi96Ly8vc3ZmNEJmL3dBQURBRCsv
Ly8vLzMvL0J6OGcvd01BQUFBQWxpWHcvcTdzL3p0ZklQL3pBQUFBQUFFQUFBRC9Bd0FBLy83Ly8v
OGYvdjhELy8vKy8vLy9Id0FBQUFBQUFBQUEvLy8vLy8vL2Yvbi9BLy8vNThILy8zOUEvelAvLy8v
L3Z5RC8vLy8vLy9mLy8vLy8vLy8vLy84OWZ6My8vLy8vL3ozLy8vLy9QWDg5LzMvLy8vLy8vLy8v
UGYvLy8vLy8vLy8vaHdBQUFBRC8vd0FBLy8vLy8vLy8vLy8vL3g4QS92Ly8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL24vLy8vdi8vQi8vLy8v
Ly8vLy8vLzhjQkFQL2ZEd0QvL3c4QS8vOFBBUC9mRFFELy8vLy8vLy9QLy84QmdCRC9Bd0FBQUFE
L0EvLy8vLy8vLy8vLy8vLy9BUC8vLy8vL0IvLy8vLy8vLy8vL1B3RC8vLzhmL3cvL0FjRC8vLy8v
UHg4QS8vLy8vLzhQLy8vL0EvOERBQUFBQVAvLy93Ly8vLy8vLy8vL2YvNy9Id0QvQS84RGdBQUFB
QUFBQUFBQUFBQUEvLy8vLy8vLzcvL3ZELzhEQUFBQUFQLy8vLy8vOC8vLy8vLy8vNy8vQXdELy8v
Ly8vLzgvQVAvai8vLy8vLzgvQUFBQUFBQUFBQUFBQUFBQUFONXZBUC8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy93QUFBQUFBQUFBQS8vOC9QLy8vLy84L1AvK3EvLy8vUC8vLy8vLy8vOTlm
M0IvUEQvOGYzQjhBQUFBQUFBQUFBQUFBQUFBQUFBS0FBQUQvSHdBQUFBQUFBQUFBQUFBQUFJVDhM
ejVRdmYvejRFTUFBUC8vLy8vL0FRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFNRC8vLy8vLy84REFBRC8vLy8vLzMvLy8vLy8vMy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy9IM2dNQVAvLy8vKy9JUC8vLy8vLy8vK0FBQUQvLzM4QWYzOS9mMzkvZjMvLy8vLy9BQUFB
QUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ0FBQUEvZ00rSC83Ly8vLy8v
Ly8vLy85LzRQNy8vLy8vLy8vLy8vLy85K0QvLy8vL1AvNy8vLy8vLy8vLy8vLy9md0FBLy8vL0J3
QUFBQUFBQVAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vejhBQUFBQUFBQUFBQUQvLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9Id0FBQUFBQUFQLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vL0h3QUFBQUFBQUFBQS8vLy8vLzgvL3gvLy8vOFBBQUQvLy8vLy8zL3dqLy8vLzRELy8vLy8v
Ly8vLy8vL0FBQUFBSUQvL1AvLy8vLy8vLy8vLy8vLy8za1BBUDhIQUFBQUFBQUFBQUFBLzd2My8v
Ly9BQUFBLy8vLy8vLy9Ed0QvLy8vLy8vLy8vdzhBL3dNQUFQd0kvLy8vLy84SC8vLy8vd2NBLy8v
L0gvLy8vLy8vLy9mL0FJRC9Bd0FBQUFELy8vLy8vLzkvQVA4Ly93UC8vMzhFLy8vLy8vLy8vMzhG
QUFBNC8vODhBSDUrZmdCL2Z3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8vQi84RC8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vOFBBUC8vZi9qLy8vLy8vdy8vLy8vLy8vLy8vLy8vLy8vL1Av
Ly8vLy8vLy8vLy8vLy8vLzhEQUFBQUFIOEErT0QvL1g5ZjIvLy8vLy8vLy8vLy8vLy8vLzhEQUFB
QStQLy8vLy8vLy8vLy8vLy8vejhBQVAvLy8vLy8vLy8vL1AvLy8vLy8vd0FBQUFBQS93OEFBQUFB
QUFBQUFBQUFBQUFBQU4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vSHdBQS93UCsvLzhIL3YvL0I4RC8v
Ly8vLy8vLy8vLy9mL3o4L0J3QUFBQUEvKy8vLzMvLy83Zi9QLzgvQUFBQUFQLy8vLy8vLy8vLy8v
Ly8vLy8vL3djQUFBQUFBQUFBQVAvLy8vLy8veDhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBRC8vLzhmLy8vLy8vLy9BUUFBQUFBQS8vLy9md0FBLy8vL0J3QUFBQUFB
QVAvLy96Ly8vLy8vRC84K0FBQUFBQUQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vUC84REFBQUFB
QUFBQUFBQUFELzkvLy8vLzcrUi8vOC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy84L0FQ
Ly8vd01BQUFBQUFBQUFBUC8vLy8vLy8vL0FBQUFBQUFBQUFBQnY4Ty8rLy84UEFBQUFBQUQvLy84
ZkFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vejhBLy84L0FQLy9Cd0FBQUFBQUFBQUFBQUFB
QUFBQUFBQUEvLy8vLy8vLy8vLy9BUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8v
Ly8vL3o4QUFBREEvd0FBL1AvLy8vLy8vd0VBQVAvLy93SC9BLy8vLy8vLy84Zi9BQUFBQUFBQUFB
RC8vLy8vLy8vLy94NEEvd01BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vejhBL3dN
QUFBQUFBQUQvLy8vLy8vLy8vLy8vLy8vL2Z3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8v
Ly8vLy8vLy8vd2NBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vOS9BQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vLy8vLy8vL0FRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQVAvLy8vLy8vLy8vSHdELy8vLy8vMzhBQVBqL0FBQUFBQUFBQUFBQUFBQUFBd0FBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8vLy8vLy8vLzMvLy8vLy8v
Ly8vLzMyVGUvK3Z2Ly8vLy8vLy8vNy9uMzkvLy8vOTdYL3o5Ly8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vOC8vLy8vL2YvLzkvLy8vL2YvLzkvLy8v
L2YvLzkvLy8vL2YvLy8vLzMvLy8vOS8vLzN6Ly8vLy8vLy8rLy8vLytXL3ZjS2hPcVdxcGIzOTE3
LysvOFA3dnYvRHdBQUFBQUFBQUFBVEVOZlFVeE1BRXhEWDBOVVdWQkZBQUFBQUV4RFgwNVZUVVZT
U1VNQUFFeERYMVJKVFVVQUFBQUFBRXhEWDBOUFRFeEJWRVVBQUV4RFgwMVBUa1ZVUVZKWkFFeERY
MDFGVTFOQlIwVlRBRXhCVGtjQVF5NVZWRVl0T0FCUVQxTkpXQUJOVlZOTVgweFBRMUJCVkVnQUVR
QUtBQkVSRVFBQUFBQUZBQUFBQUFBQUNRQUFBQUFMQUFBQUFBQUFBQUFSQUE4S0VSRVJBd29IQUFF
VENRc0xBQUFKQmdzQUFBc0FCaEVBQUFBUkVSRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUN3QUFBQUFB
QUFBQUVRQUtDaEVSRVFBS0FBQUNBQWtMQUFBQUNRQUxBQUFMQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQXdBQUFBQUFBQUFBQUFBQUF3QUFBQUFEQUFBQUFBSkRBQUFBQUFBREFBQURB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT0FBQUFBQUFBQUFBQUFBQU5BQUFBQkEw
QUFBQUFDUTRBQUFBQUFBNEFBQTRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFB
QUFBQUFBQUFBQUFBRHdBQUFBQVBBQUFBQUFrUUFBQUFBQUFRQUFBUUFBQVNBQUFBRWhJU0FBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJJQUFBQVNFaElBQUFBQUFBQUpBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUxBQUFBQUFBQUFBQUFBQUFLQUFB
QUFBb0FBQUFBQ1FzQUFBQUFBQXNBQUFzQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
REFBQUFBQUFBQUFBQUFBQURBQUFBQUFNQUFBQUFBa01BQUFBQUFBTUFBQU1BQUF0S3lBZ0lEQllN
SGdBS0c1MWJHd3BBQzB3V0Nzd1dDQXdXQzB3ZUNzd2VDQXdlQUJwYm1ZQVNVNUdBRTVCVGdBd01U
SXpORFUyTnpnNVFVSkRSRVZHTGdCaGJHNTFiUUJoYkhCb1lRQmliR0Z1YXdCamJuUnliQUJrYVdk
cGRBQm5jbUZ3YUFCc2IzZGxjZ0J3Y21sdWRBQndkVzVqZEFCemNHRmpaUUIxY0hCbGNnQjRaR2xu
YVhRQVF5NVZWRVl0T0FBQUFBQUFBQUFBQUVNQUwzQnliMk12YzJWc1ppOW1aQzhBY25kaEFHbHVa
bWx1YVhSNUFHNWhiZ0FKQUFvQURRQU1BQWNBR3dCYld6cGhiRzUxYlRwZFgxMEFXMTViT21Gc2Ju
VnRPbDFmWFFCYld6cHpjR0ZqWlRwZFhRQmJYbHM2YzNCaFkyVTZYVjBBVzFzNlpHbG5hWFE2WFYw
QVcxNWJPbVJwWjJsME9sMWRBQzkwYlhBdmRHMXdabWxzWlY5WVdGaFlXRmdBZHlzPSI7dmFyIHRl
bXBEb3VibGVQdHI9U1RBVElDVE9QO1NUQVRJQ1RPUCs9MTY7ZnVuY3Rpb24gX19fYXNzZXJ0X2Zh
aWwoY29uZGl0aW9uLGZpbGVuYW1lLGxpbmUsZnVuYyl7YWJvcnQoIkFzc2VydGlvbiBmYWlsZWQ6
ICIrUG9pbnRlcl9zdHJpbmdpZnkoY29uZGl0aW9uKSsiLCBhdDogIitbZmlsZW5hbWU/UG9pbnRl
cl9zdHJpbmdpZnkoZmlsZW5hbWUpOiJ1bmtub3duIGZpbGVuYW1lIixsaW5lLGZ1bmM/UG9pbnRl
cl9zdHJpbmdpZnkoZnVuYyk6InVua25vd24gZnVuY3Rpb24iXSl9ZnVuY3Rpb24gX2Vtc2NyaXB0
ZW5fZ2V0X25vdygpe2Fib3J0KCl9ZnVuY3Rpb24gX2Vtc2NyaXB0ZW5fZ2V0X25vd19pc19tb25v
dG9uaWMoKXtyZXR1cm4gRU5WSVJPTk1FTlRfSVNfTk9ERXx8dHlwZW9mIGRhdGVOb3chPT0idW5k
ZWZpbmVkInx8KEVOVklST05NRU5UX0lTX1dFQnx8RU5WSVJPTk1FTlRfSVNfV09SS0VSKSYmc2Vs
ZlsicGVyZm9ybWFuY2UiXSYmc2VsZlsicGVyZm9ybWFuY2UiXVsibm93Il19dmFyIEVSUk5PX0NP
REVTPXtFUEVSTToxLEVOT0VOVDoyLEVTUkNIOjMsRUlOVFI6NCxFSU86NSxFTlhJTzo2LEUyQklH
OjcsRU5PRVhFQzo4LEVCQURGOjksRUNISUxEOjEwLEVBR0FJTjoxMSxFV09VTERCTE9DSzoxMSxF
Tk9NRU06MTIsRUFDQ0VTOjEzLEVGQVVMVDoxNCxFTk9UQkxLOjE1LEVCVVNZOjE2LEVFWElTVDox
NyxFWERFVjoxOCxFTk9ERVY6MTksRU5PVERJUjoyMCxFSVNESVI6MjEsRUlOVkFMOjIyLEVORklM
RToyMyxFTUZJTEU6MjQsRU5PVFRZOjI1LEVUWFRCU1k6MjYsRUZCSUc6MjcsRU5PU1BDOjI4LEVT
UElQRToyOSxFUk9GUzozMCxFTUxJTks6MzEsRVBJUEU6MzIsRURPTTozMyxFUkFOR0U6MzQsRU5P
TVNHOjQyLEVJRFJNOjQzLEVDSFJORzo0NCxFTDJOU1lOQzo0NSxFTDNITFQ6NDYsRUwzUlNUOjQ3
LEVMTlJORzo0OCxFVU5BVENIOjQ5LEVOT0NTSTo1MCxFTDJITFQ6NTEsRURFQURMSzozNSxFTk9M
Q0s6MzcsRUJBREU6NTIsRUJBRFI6NTMsRVhGVUxMOjU0LEVOT0FOTzo1NSxFQkFEUlFDOjU2LEVC
QURTTFQ6NTcsRURFQURMT0NLOjM1LEVCRk9OVDo1OSxFTk9TVFI6NjAsRU5PREFUQTo2MSxFVElN
RTo2MixFTk9TUjo2MyxFTk9ORVQ6NjQsRU5PUEtHOjY1LEVSRU1PVEU6NjYsRU5PTElOSzo2NyxF
QURWOjY4LEVTUk1OVDo2OSxFQ09NTTo3MCxFUFJPVE86NzEsRU1VTFRJSE9QOjcyLEVET1RET1Q6
NzMsRUJBRE1TRzo3NCxFTk9UVU5JUTo3NixFQkFERkQ6NzcsRVJFTUNIRzo3OCxFTElCQUNDOjc5
LEVMSUJCQUQ6ODAsRUxJQlNDTjo4MSxFTElCTUFYOjgyLEVMSUJFWEVDOjgzLEVOT1NZUzozOCxF
Tk9URU1QVFk6MzksRU5BTUVUT09MT05HOjM2LEVMT09QOjQwLEVPUE5PVFNVUFA6OTUsRVBGTk9T
VVBQT1JUOjk2LEVDT05OUkVTRVQ6MTA0LEVOT0JVRlM6MTA1LEVBRk5PU1VQUE9SVDo5NyxFUFJP
VE9UWVBFOjkxLEVOT1RTT0NLOjg4LEVOT1BST1RPT1BUOjkyLEVTSFVURE9XTjoxMDgsRUNPTk5S
RUZVU0VEOjExMSxFQUREUklOVVNFOjk4LEVDT05OQUJPUlRFRDoxMDMsRU5FVFVOUkVBQ0g6MTAx
LEVORVRET1dOOjEwMCxFVElNRURPVVQ6MTEwLEVIT1NURE9XTjoxMTIsRUhPU1RVTlJFQUNIOjEx
MyxFSU5QUk9HUkVTUzoxMTUsRUFMUkVBRFk6MTE0LEVERVNUQUREUlJFUTo4OSxFTVNHU0laRTo5
MCxFUFJPVE9OT1NVUFBPUlQ6OTMsRVNPQ0tUTk9TVVBQT1JUOjk0LEVBRERSTk9UQVZBSUw6OTks
RU5FVFJFU0VUOjEwMixFSVNDT05OOjEwNixFTk9UQ09OTjoxMDcsRVRPT01BTllSRUZTOjEwOSxF
VVNFUlM6ODcsRURRVU9UOjEyMixFU1RBTEU6MTE2LEVOT1RTVVA6OTUsRU5PTUVESVVNOjEyMyxF
SUxTRVE6ODQsRU9WRVJGTE9XOjc1LEVDQU5DRUxFRDoxMjUsRU5PVFJFQ09WRVJBQkxFOjEzMSxF
T1dORVJERUFEOjEzMCxFU1RSUElQRTo4Nn07ZnVuY3Rpb24gX19fc2V0RXJyTm8odmFsdWUpe2lm
KE1vZHVsZVsiX19fZXJybm9fbG9jYXRpb24iXSlIRUFQMzJbTW9kdWxlWyJfX19lcnJub19sb2Nh
dGlvbiJdKCk+PjJdPXZhbHVlO3JldHVybiB2YWx1ZX1mdW5jdGlvbiBfY2xvY2tfZ2V0dGltZShj
bGtfaWQsdHApe3ZhciBub3c7aWYoY2xrX2lkPT09MCl7bm93PURhdGUubm93KCl9ZWxzZSBpZihj
bGtfaWQ9PT0xJiZfZW1zY3JpcHRlbl9nZXRfbm93X2lzX21vbm90b25pYygpKXtub3c9X2Vtc2Ny
aXB0ZW5fZ2V0X25vdygpfWVsc2V7X19fc2V0RXJyTm8oRVJSTk9fQ09ERVMuRUlOVkFMKTtyZXR1
cm4tMX1IRUFQMzJbdHA+PjJdPW5vdy8xZTN8MDtIRUFQMzJbdHArND4+Ml09bm93JTFlMyoxZTMq
MWUzfDA7cmV0dXJuIDB9ZnVuY3Rpb24gX19fY2xvY2tfZ2V0dGltZSgpe3JldHVybiBfY2xvY2tf
Z2V0dGltZS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gX19fbG9jaygpe31mdW5jdGlv
biBfX19tYXBfZmlsZShwYXRobmFtZSxzaXplKXtfX19zZXRFcnJObyhFUlJOT19DT0RFUy5FUEVS
TSk7cmV0dXJuLTF9dmFyIEVSUk5PX01FU1NBR0VTPXswOiJTdWNjZXNzIiwxOiJOb3Qgc3VwZXIt
dXNlciIsMjoiTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSIsMzoiTm8gc3VjaCBwcm9jZXNzIiw0
OiJJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbCIsNToiSS9PIGVycm9yIiw2OiJObyBzdWNoIGRldmlj
ZSBvciBhZGRyZXNzIiw3OiJBcmcgbGlzdCB0b28gbG9uZyIsODoiRXhlYyBmb3JtYXQgZXJyb3Ii
LDk6IkJhZCBmaWxlIG51bWJlciIsMTA6Ik5vIGNoaWxkcmVuIiwxMToiTm8gbW9yZSBwcm9jZXNz
ZXMiLDEyOiJOb3QgZW5vdWdoIGNvcmUiLDEzOiJQZXJtaXNzaW9uIGRlbmllZCIsMTQ6IkJhZCBh
ZGRyZXNzIiwxNToiQmxvY2sgZGV2aWNlIHJlcXVpcmVkIiwxNjoiTW91bnQgZGV2aWNlIGJ1c3ki
LDE3OiJGaWxlIGV4aXN0cyIsMTg6IkNyb3NzLWRldmljZSBsaW5rIiwxOToiTm8gc3VjaCBkZXZp
Y2UiLDIwOiJOb3QgYSBkaXJlY3RvcnkiLDIxOiJJcyBhIGRpcmVjdG9yeSIsMjI6IkludmFsaWQg
YXJndW1lbnQiLDIzOiJUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbSIsMjQ6IlRvbyBtYW55
IG9wZW4gZmlsZXMiLDI1OiJOb3QgYSB0eXBld3JpdGVyIiwyNjoiVGV4dCBmaWxlIGJ1c3kiLDI3
OiJGaWxlIHRvbyBsYXJnZSIsMjg6Ik5vIHNwYWNlIGxlZnQgb24gZGV2aWNlIiwyOToiSWxsZWdh
bCBzZWVrIiwzMDoiUmVhZCBvbmx5IGZpbGUgc3lzdGVtIiwzMToiVG9vIG1hbnkgbGlua3MiLDMy
OiJCcm9rZW4gcGlwZSIsMzM6Ik1hdGggYXJnIG91dCBvZiBkb21haW4gb2YgZnVuYyIsMzQ6Ik1h
dGggcmVzdWx0IG5vdCByZXByZXNlbnRhYmxlIiwzNToiRmlsZSBsb2NraW5nIGRlYWRsb2NrIGVy
cm9yIiwzNjoiRmlsZSBvciBwYXRoIG5hbWUgdG9vIGxvbmciLDM3OiJObyByZWNvcmQgbG9ja3Mg
YXZhaWxhYmxlIiwzODoiRnVuY3Rpb24gbm90IGltcGxlbWVudGVkIiwzOToiRGlyZWN0b3J5IG5v
dCBlbXB0eSIsNDA6IlRvbyBtYW55IHN5bWJvbGljIGxpbmtzIiw0MjoiTm8gbWVzc2FnZSBvZiBk
ZXNpcmVkIHR5cGUiLDQzOiJJZGVudGlmaWVyIHJlbW92ZWQiLDQ0OiJDaGFubmVsIG51bWJlciBv
dXQgb2YgcmFuZ2UiLDQ1OiJMZXZlbCAyIG5vdCBzeW5jaHJvbml6ZWQiLDQ2OiJMZXZlbCAzIGhh
bHRlZCIsNDc6IkxldmVsIDMgcmVzZXQiLDQ4OiJMaW5rIG51bWJlciBvdXQgb2YgcmFuZ2UiLDQ5
OiJQcm90b2NvbCBkcml2ZXIgbm90IGF0dGFjaGVkIiw1MDoiTm8gQ1NJIHN0cnVjdHVyZSBhdmFp
bGFibGUiLDUxOiJMZXZlbCAyIGhhbHRlZCIsNTI6IkludmFsaWQgZXhjaGFuZ2UiLDUzOiJJbnZh
bGlkIHJlcXVlc3QgZGVzY3JpcHRvciIsNTQ6IkV4Y2hhbmdlIGZ1bGwiLDU1OiJObyBhbm9kZSIs
NTY6IkludmFsaWQgcmVxdWVzdCBjb2RlIiw1NzoiSW52YWxpZCBzbG90Iiw1OToiQmFkIGZvbnQg
ZmlsZSBmbXQiLDYwOiJEZXZpY2Ugbm90IGEgc3RyZWFtIiw2MToiTm8gZGF0YSAoZm9yIG5vIGRl
bGF5IGlvKSIsNjI6IlRpbWVyIGV4cGlyZWQiLDYzOiJPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMi
LDY0OiJNYWNoaW5lIGlzIG5vdCBvbiB0aGUgbmV0d29yayIsNjU6IlBhY2thZ2Ugbm90IGluc3Rh
bGxlZCIsNjY6IlRoZSBvYmplY3QgaXMgcmVtb3RlIiw2NzoiVGhlIGxpbmsgaGFzIGJlZW4gc2V2
ZXJlZCIsNjg6IkFkdmVydGlzZSBlcnJvciIsNjk6IlNybW91bnQgZXJyb3IiLDcwOiJDb21tdW5p
Y2F0aW9uIGVycm9yIG9uIHNlbmQiLDcxOiJQcm90b2NvbCBlcnJvciIsNzI6Ik11bHRpaG9wIGF0
dGVtcHRlZCIsNzM6IkNyb3NzIG1vdW50IHBvaW50IChub3QgcmVhbGx5IGVycm9yKSIsNzQ6IlRy
eWluZyB0byByZWFkIHVucmVhZGFibGUgbWVzc2FnZSIsNzU6IlZhbHVlIHRvbyBsYXJnZSBmb3Ig
ZGVmaW5lZCBkYXRhIHR5cGUiLDc2OiJHaXZlbiBsb2cuIG5hbWUgbm90IHVuaXF1ZSIsNzc6ImYu
ZC4gaW52YWxpZCBmb3IgdGhpcyBvcGVyYXRpb24iLDc4OiJSZW1vdGUgYWRkcmVzcyBjaGFuZ2Vk
Iiw3OToiQ2FuICAgYWNjZXNzIGEgbmVlZGVkIHNoYXJlZCBsaWIiLDgwOiJBY2Nlc3NpbmcgYSBj
b3JydXB0ZWQgc2hhcmVkIGxpYiIsODE6Ii5saWIgc2VjdGlvbiBpbiBhLm91dCBjb3JydXB0ZWQi
LDgyOiJBdHRlbXB0aW5nIHRvIGxpbmsgaW4gdG9vIG1hbnkgbGlicyIsODM6IkF0dGVtcHRpbmcg
dG8gZXhlYyBhIHNoYXJlZCBsaWJyYXJ5Iiw4NDoiSWxsZWdhbCBieXRlIHNlcXVlbmNlIiw4Njoi
U3RyZWFtcyBwaXBlIGVycm9yIiw4NzoiVG9vIG1hbnkgdXNlcnMiLDg4OiJTb2NrZXQgb3BlcmF0
aW9uIG9uIG5vbi1zb2NrZXQiLDg5OiJEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkIiw5MDoi
TWVzc2FnZSB0b28gbG9uZyIsOTE6IlByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldCIsOTI6
IlByb3RvY29sIG5vdCBhdmFpbGFibGUiLDkzOiJVbmtub3duIHByb3RvY29sIiw5NDoiU29ja2V0
IHR5cGUgbm90IHN1cHBvcnRlZCIsOTU6Ik5vdCBzdXBwb3J0ZWQiLDk2OiJQcm90b2NvbCBmYW1p
bHkgbm90IHN1cHBvcnRlZCIsOTc6IkFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJv
dG9jb2wgZmFtaWx5Iiw5ODoiQWRkcmVzcyBhbHJlYWR5IGluIHVzZSIsOTk6IkFkZHJlc3Mgbm90
IGF2YWlsYWJsZSIsMTAwOiJOZXR3b3JrIGludGVyZmFjZSBpcyBub3QgY29uZmlndXJlZCIsMTAx
OiJOZXR3b3JrIGlzIHVucmVhY2hhYmxlIiwxMDI6IkNvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29y
ayIsMTAzOiJDb25uZWN0aW9uIGFib3J0ZWQiLDEwNDoiQ29ubmVjdGlvbiByZXNldCBieSBwZWVy
IiwxMDU6Ik5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUiLDEwNjoiU29ja2V0IGlzIGFscmVhZHkg
Y29ubmVjdGVkIiwxMDc6IlNvY2tldCBpcyBub3QgY29ubmVjdGVkIiwxMDg6IkNhbid0IHNlbmQg
YWZ0ZXIgc29ja2V0IHNodXRkb3duIiwxMDk6IlRvbyBtYW55IHJlZmVyZW5jZXMiLDExMDoiQ29u
bmVjdGlvbiB0aW1lZCBvdXQiLDExMToiQ29ubmVjdGlvbiByZWZ1c2VkIiwxMTI6Ikhvc3QgaXMg
ZG93biIsMTEzOiJIb3N0IGlzIHVucmVhY2hhYmxlIiwxMTQ6IlNvY2tldCBhbHJlYWR5IGNvbm5l
Y3RlZCIsMTE1OiJDb25uZWN0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MiLDExNjoiU3RhbGUgZmls
ZSBoYW5kbGUiLDEyMjoiUXVvdGEgZXhjZWVkZWQiLDEyMzoiTm8gbWVkaXVtIChpbiB0YXBlIGRy
aXZlKSIsMTI1OiJPcGVyYXRpb24gY2FuY2VsZWQiLDEzMDoiUHJldmlvdXMgb3duZXIgZGllZCIs
MTMxOiJTdGF0ZSBub3QgcmVjb3ZlcmFibGUifTt2YXIgUEFUSD17c3BsaXRQYXRoOihmdW5jdGlv
bihmaWxlbmFtZSl7dmFyIHNwbGl0UGF0aFJlPS9eKFwvP3wpKFtcc1xTXSo/KSgoPzpcLnsxLDJ9
fFteXC9dKz98KShcLlteLlwvXSp8KSkoPzpbXC9dKikkLztyZXR1cm4gc3BsaXRQYXRoUmUuZXhl
YyhmaWxlbmFtZSkuc2xpY2UoMSl9KSxub3JtYWxpemVBcnJheTooZnVuY3Rpb24ocGFydHMsYWxs
b3dBYm92ZVJvb3Qpe3ZhciB1cD0wO2Zvcih2YXIgaT1wYXJ0cy5sZW5ndGgtMTtpPj0wO2ktLSl7
dmFyIGxhc3Q9cGFydHNbaV07aWYobGFzdD09PSIuIil7cGFydHMuc3BsaWNlKGksMSl9ZWxzZSBp
ZihsYXN0PT09Ii4uIil7cGFydHMuc3BsaWNlKGksMSk7dXArK31lbHNlIGlmKHVwKXtwYXJ0cy5z
cGxpY2UoaSwxKTt1cC0tfX1pZihhbGxvd0Fib3ZlUm9vdCl7Zm9yKDt1cDt1cC0tKXtwYXJ0cy51
bnNoaWZ0KCIuLiIpfX1yZXR1cm4gcGFydHN9KSxub3JtYWxpemU6KGZ1bmN0aW9uKHBhdGgpe3Zh
ciBpc0Fic29sdXRlPXBhdGguY2hhckF0KDApPT09Ii8iLHRyYWlsaW5nU2xhc2g9cGF0aC5zdWJz
dHIoLTEpPT09Ii8iO3BhdGg9UEFUSC5ub3JtYWxpemVBcnJheShwYXRoLnNwbGl0KCIvIikuZmls
dGVyKChmdW5jdGlvbihwKXtyZXR1cm4hIXB9KSksIWlzQWJzb2x1dGUpLmpvaW4oIi8iKTtpZigh
cGF0aCYmIWlzQWJzb2x1dGUpe3BhdGg9Ii4ifWlmKHBhdGgmJnRyYWlsaW5nU2xhc2gpe3BhdGgr
PSIvIn1yZXR1cm4oaXNBYnNvbHV0ZT8iLyI6IiIpK3BhdGh9KSxkaXJuYW1lOihmdW5jdGlvbihw
YXRoKXt2YXIgcmVzdWx0PVBBVEguc3BsaXRQYXRoKHBhdGgpLHJvb3Q9cmVzdWx0WzBdLGRpcj1y
ZXN1bHRbMV07aWYoIXJvb3QmJiFkaXIpe3JldHVybiIuIn1pZihkaXIpe2Rpcj1kaXIuc3Vic3Ry
KDAsZGlyLmxlbmd0aC0xKX1yZXR1cm4gcm9vdCtkaXJ9KSxiYXNlbmFtZTooZnVuY3Rpb24ocGF0
aCl7aWYocGF0aD09PSIvIilyZXR1cm4iLyI7dmFyIGxhc3RTbGFzaD1wYXRoLmxhc3RJbmRleE9m
KCIvIik7aWYobGFzdFNsYXNoPT09LTEpcmV0dXJuIHBhdGg7cmV0dXJuIHBhdGguc3Vic3RyKGxh
c3RTbGFzaCsxKX0pLGV4dG5hbWU6KGZ1bmN0aW9uKHBhdGgpe3JldHVybiBQQVRILnNwbGl0UGF0
aChwYXRoKVszXX0pLGpvaW46KGZ1bmN0aW9uKCl7dmFyIHBhdGhzPUFycmF5LnByb3RvdHlwZS5z
bGljZS5jYWxsKGFyZ3VtZW50cywwKTtyZXR1cm4gUEFUSC5ub3JtYWxpemUocGF0aHMuam9pbigi
LyIpKX0pLGpvaW4yOihmdW5jdGlvbihsLHIpe3JldHVybiBQQVRILm5vcm1hbGl6ZShsKyIvIity
KX0pLHJlc29sdmU6KGZ1bmN0aW9uKCl7dmFyIHJlc29sdmVkUGF0aD0iIixyZXNvbHZlZEFic29s
dXRlPWZhbHNlO2Zvcih2YXIgaT1hcmd1bWVudHMubGVuZ3RoLTE7aT49LTEmJiFyZXNvbHZlZEFi
c29sdXRlO2ktLSl7dmFyIHBhdGg9aT49MD9hcmd1bWVudHNbaV06RlMuY3dkKCk7aWYodHlwZW9m
IHBhdGghPT0ic3RyaW5nIil7dGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnRzIHRvIHBhdGgu
cmVzb2x2ZSBtdXN0IGJlIHN0cmluZ3MiKX1lbHNlIGlmKCFwYXRoKXtyZXR1cm4iIn1yZXNvbHZl
ZFBhdGg9cGF0aCsiLyIrcmVzb2x2ZWRQYXRoO3Jlc29sdmVkQWJzb2x1dGU9cGF0aC5jaGFyQXQo
MCk9PT0iLyJ9cmVzb2x2ZWRQYXRoPVBBVEgubm9ybWFsaXplQXJyYXkocmVzb2x2ZWRQYXRoLnNw
bGl0KCIvIikuZmlsdGVyKChmdW5jdGlvbihwKXtyZXR1cm4hIXB9KSksIXJlc29sdmVkQWJzb2x1
dGUpLmpvaW4oIi8iKTtyZXR1cm4ocmVzb2x2ZWRBYnNvbHV0ZT8iLyI6IiIpK3Jlc29sdmVkUGF0
aHx8Ii4ifSkscmVsYXRpdmU6KGZ1bmN0aW9uKGZyb20sdG8pe2Zyb209UEFUSC5yZXNvbHZlKGZy
b20pLnN1YnN0cigxKTt0bz1QQVRILnJlc29sdmUodG8pLnN1YnN0cigxKTtmdW5jdGlvbiB0cmlt
KGFycil7dmFyIHN0YXJ0PTA7Zm9yKDtzdGFydDxhcnIubGVuZ3RoO3N0YXJ0Kyspe2lmKGFycltz
dGFydF0hPT0iIilicmVha312YXIgZW5kPWFyci5sZW5ndGgtMTtmb3IoO2VuZD49MDtlbmQtLSl7
aWYoYXJyW2VuZF0hPT0iIilicmVha31pZihzdGFydD5lbmQpcmV0dXJuW107cmV0dXJuIGFyci5z
bGljZShzdGFydCxlbmQtc3RhcnQrMSl9dmFyIGZyb21QYXJ0cz10cmltKGZyb20uc3BsaXQoIi8i
KSk7dmFyIHRvUGFydHM9dHJpbSh0by5zcGxpdCgiLyIpKTt2YXIgbGVuZ3RoPU1hdGgubWluKGZy
b21QYXJ0cy5sZW5ndGgsdG9QYXJ0cy5sZW5ndGgpO3ZhciBzYW1lUGFydHNMZW5ndGg9bGVuZ3Ro
O2Zvcih2YXIgaT0wO2k8bGVuZ3RoO2krKyl7aWYoZnJvbVBhcnRzW2ldIT09dG9QYXJ0c1tpXSl7
c2FtZVBhcnRzTGVuZ3RoPWk7YnJlYWt9fXZhciBvdXRwdXRQYXJ0cz1bXTtmb3IodmFyIGk9c2Ft
ZVBhcnRzTGVuZ3RoO2k8ZnJvbVBhcnRzLmxlbmd0aDtpKyspe291dHB1dFBhcnRzLnB1c2goIi4u
Iil9b3V0cHV0UGFydHM9b3V0cHV0UGFydHMuY29uY2F0KHRvUGFydHMuc2xpY2Uoc2FtZVBhcnRz
TGVuZ3RoKSk7cmV0dXJuIG91dHB1dFBhcnRzLmpvaW4oIi8iKX0pfTt2YXIgVFRZPXt0dHlzOltd
LGluaXQ6KGZ1bmN0aW9uKCl7fSksc2h1dGRvd246KGZ1bmN0aW9uKCl7fSkscmVnaXN0ZXI6KGZ1
bmN0aW9uKGRldixvcHMpe1RUWS50dHlzW2Rldl09e2lucHV0OltdLG91dHB1dDpbXSxvcHM6b3Bz
fTtGUy5yZWdpc3RlckRldmljZShkZXYsVFRZLnN0cmVhbV9vcHMpfSksc3RyZWFtX29wczp7b3Bl
bjooZnVuY3Rpb24oc3RyZWFtKXt2YXIgdHR5PVRUWS50dHlzW3N0cmVhbS5ub2RlLnJkZXZdO2lm
KCF0dHkpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT0RFVil9c3RyZWFt
LnR0eT10dHk7c3RyZWFtLnNlZWthYmxlPWZhbHNlfSksY2xvc2U6KGZ1bmN0aW9uKHN0cmVhbSl7
c3RyZWFtLnR0eS5vcHMuZmx1c2goc3RyZWFtLnR0eSl9KSxmbHVzaDooZnVuY3Rpb24oc3RyZWFt
KXtzdHJlYW0udHR5Lm9wcy5mbHVzaChzdHJlYW0udHR5KX0pLHJlYWQ6KGZ1bmN0aW9uKHN0cmVh
bSxidWZmZXIsb2Zmc2V0LGxlbmd0aCxwb3Mpe2lmKCFzdHJlYW0udHR5fHwhc3RyZWFtLnR0eS5v
cHMuZ2V0X2NoYXIpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOWElPKX12
YXIgYnl0ZXNSZWFkPTA7Zm9yKHZhciBpPTA7aTxsZW5ndGg7aSsrKXt2YXIgcmVzdWx0O3RyeXty
ZXN1bHQ9c3RyZWFtLnR0eS5vcHMuZ2V0X2NoYXIoc3RyZWFtLnR0eSl9Y2F0Y2goZSl7dGhyb3cg
bmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlPKX1pZihyZXN1bHQ9PT11bmRlZmluZWQm
JmJ5dGVzUmVhZD09PTApe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVBR0FJ
Til9aWYocmVzdWx0PT09bnVsbHx8cmVzdWx0PT09dW5kZWZpbmVkKWJyZWFrO2J5dGVzUmVhZCsr
O2J1ZmZlcltvZmZzZXQraV09cmVzdWx0fWlmKGJ5dGVzUmVhZCl7c3RyZWFtLm5vZGUudGltZXN0
YW1wPURhdGUubm93KCl9cmV0dXJuIGJ5dGVzUmVhZH0pLHdyaXRlOihmdW5jdGlvbihzdHJlYW0s
YnVmZmVyLG9mZnNldCxsZW5ndGgscG9zKXtpZighc3RyZWFtLnR0eXx8IXN0cmVhbS50dHkub3Bz
LnB1dF9jaGFyKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FTlhJTyl9Zm9y
KHZhciBpPTA7aTxsZW5ndGg7aSsrKXt0cnl7c3RyZWFtLnR0eS5vcHMucHV0X2NoYXIoc3RyZWFt
LnR0eSxidWZmZXJbb2Zmc2V0K2ldKX1jYXRjaChlKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihF
UlJOT19DT0RFUy5FSU8pfX1pZihsZW5ndGgpe3N0cmVhbS5ub2RlLnRpbWVzdGFtcD1EYXRlLm5v
dygpfXJldHVybiBpfSl9LGRlZmF1bHRfdHR5X29wczp7Z2V0X2NoYXI6KGZ1bmN0aW9uKHR0eSl7
aWYoIXR0eS5pbnB1dC5sZW5ndGgpe3ZhciByZXN1bHQ9bnVsbDtpZihFTlZJUk9OTUVOVF9JU19O
T0RFKXt2YXIgQlVGU0laRT0yNTY7dmFyIGJ1Zj1uZXcgQnVmZmVyKEJVRlNJWkUpO3ZhciBieXRl
c1JlYWQ9MDt2YXIgaXNQb3NpeFBsYXRmb3JtPXByb2Nlc3MucGxhdGZvcm0hPSJ3aW4zMiI7dmFy
IGZkPXByb2Nlc3Muc3RkaW4uZmQ7aWYoaXNQb3NpeFBsYXRmb3JtKXt2YXIgdXNpbmdEZXZpY2U9
ZmFsc2U7dHJ5e2ZkPWZzLm9wZW5TeW5jKCIvZGV2L3N0ZGluIiwiciIpO3VzaW5nRGV2aWNlPXRy
dWV9Y2F0Y2goZSl7fX10cnl7Ynl0ZXNSZWFkPWZzLnJlYWRTeW5jKGZkLGJ1ZiwwLEJVRlNJWkUs
bnVsbCl9Y2F0Y2goZSl7aWYoZS50b1N0cmluZygpLmluZGV4T2YoIkVPRiIpIT0tMSlieXRlc1Jl
YWQ9MDtlbHNlIHRocm93IGV9aWYodXNpbmdEZXZpY2Upe2ZzLmNsb3NlU3luYyhmZCl9aWYoYnl0
ZXNSZWFkPjApe3Jlc3VsdD1idWYuc2xpY2UoMCxieXRlc1JlYWQpLnRvU3RyaW5nKCJ1dGYtOCIp
fWVsc2V7cmVzdWx0PW51bGx9fWVsc2UgaWYodHlwZW9mIHdpbmRvdyE9InVuZGVmaW5lZCImJnR5
cGVvZiB3aW5kb3cucHJvbXB0PT0iZnVuY3Rpb24iKXtyZXN1bHQ9d2luZG93LnByb21wdCgiSW5w
dXQ6ICIpO2lmKHJlc3VsdCE9PW51bGwpe3Jlc3VsdCs9IlxuIn19ZWxzZSBpZih0eXBlb2YgcmVh
ZGxpbmU9PSJmdW5jdGlvbiIpe3Jlc3VsdD1yZWFkbGluZSgpO2lmKHJlc3VsdCE9PW51bGwpe3Jl
c3VsdCs9IlxuIn19aWYoIXJlc3VsdCl7cmV0dXJuIG51bGx9dHR5LmlucHV0PWludEFycmF5RnJv
bVN0cmluZyhyZXN1bHQsdHJ1ZSl9cmV0dXJuIHR0eS5pbnB1dC5zaGlmdCgpfSkscHV0X2NoYXI6
KGZ1bmN0aW9uKHR0eSx2YWwpe2lmKHZhbD09PW51bGx8fHZhbD09PTEwKXtNb2R1bGVbInByaW50
Il0oVVRGOEFycmF5VG9TdHJpbmcodHR5Lm91dHB1dCwwKSk7dHR5Lm91dHB1dD1bXX1lbHNle2lm
KHZhbCE9MCl0dHkub3V0cHV0LnB1c2godmFsKX19KSxmbHVzaDooZnVuY3Rpb24odHR5KXtpZih0
dHkub3V0cHV0JiZ0dHkub3V0cHV0Lmxlbmd0aD4wKXtNb2R1bGVbInByaW50Il0oVVRGOEFycmF5
VG9TdHJpbmcodHR5Lm91dHB1dCwwKSk7dHR5Lm91dHB1dD1bXX19KX0sZGVmYXVsdF90dHkxX29w
czp7cHV0X2NoYXI6KGZ1bmN0aW9uKHR0eSx2YWwpe2lmKHZhbD09PW51bGx8fHZhbD09PTEwKXtN
b2R1bGVbInByaW50RXJyIl0oVVRGOEFycmF5VG9TdHJpbmcodHR5Lm91dHB1dCwwKSk7dHR5Lm91
dHB1dD1bXX1lbHNle2lmKHZhbCE9MCl0dHkub3V0cHV0LnB1c2godmFsKX19KSxmbHVzaDooZnVu
Y3Rpb24odHR5KXtpZih0dHkub3V0cHV0JiZ0dHkub3V0cHV0Lmxlbmd0aD4wKXtNb2R1bGVbInBy
aW50RXJyIl0oVVRGOEFycmF5VG9TdHJpbmcodHR5Lm91dHB1dCwwKSk7dHR5Lm91dHB1dD1bXX19
KX19O3ZhciBNRU1GUz17b3BzX3RhYmxlOm51bGwsbW91bnQ6KGZ1bmN0aW9uKG1vdW50KXtyZXR1
cm4gTUVNRlMuY3JlYXRlTm9kZShudWxsLCIvIiwxNjM4NHw1MTEsMCl9KSxjcmVhdGVOb2RlOihm
dW5jdGlvbihwYXJlbnQsbmFtZSxtb2RlLGRldil7aWYoRlMuaXNCbGtkZXYobW9kZSl8fEZTLmlz
RklGTyhtb2RlKSl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRVBFUk0pfWlm
KCFNRU1GUy5vcHNfdGFibGUpe01FTUZTLm9wc190YWJsZT17ZGlyOntub2RlOntnZXRhdHRyOk1F
TUZTLm5vZGVfb3BzLmdldGF0dHIsc2V0YXR0cjpNRU1GUy5ub2RlX29wcy5zZXRhdHRyLGxvb2t1
cDpNRU1GUy5ub2RlX29wcy5sb29rdXAsbWtub2Q6TUVNRlMubm9kZV9vcHMubWtub2QscmVuYW1l
Ok1FTUZTLm5vZGVfb3BzLnJlbmFtZSx1bmxpbms6TUVNRlMubm9kZV9vcHMudW5saW5rLHJtZGly
Ok1FTUZTLm5vZGVfb3BzLnJtZGlyLHJlYWRkaXI6TUVNRlMubm9kZV9vcHMucmVhZGRpcixzeW1s
aW5rOk1FTUZTLm5vZGVfb3BzLnN5bWxpbmt9LHN0cmVhbTp7bGxzZWVrOk1FTUZTLnN0cmVhbV9v
cHMubGxzZWVrfX0sZmlsZTp7bm9kZTp7Z2V0YXR0cjpNRU1GUy5ub2RlX29wcy5nZXRhdHRyLHNl
dGF0dHI6TUVNRlMubm9kZV9vcHMuc2V0YXR0cn0sc3RyZWFtOntsbHNlZWs6TUVNRlMuc3RyZWFt
X29wcy5sbHNlZWsscmVhZDpNRU1GUy5zdHJlYW1fb3BzLnJlYWQsd3JpdGU6TUVNRlMuc3RyZWFt
X29wcy53cml0ZSxhbGxvY2F0ZTpNRU1GUy5zdHJlYW1fb3BzLmFsbG9jYXRlLG1tYXA6TUVNRlMu
c3RyZWFtX29wcy5tbWFwLG1zeW5jOk1FTUZTLnN0cmVhbV9vcHMubXN5bmN9fSxsaW5rOntub2Rl
OntnZXRhdHRyOk1FTUZTLm5vZGVfb3BzLmdldGF0dHIsc2V0YXR0cjpNRU1GUy5ub2RlX29wcy5z
ZXRhdHRyLHJlYWRsaW5rOk1FTUZTLm5vZGVfb3BzLnJlYWRsaW5rfSxzdHJlYW06e319LGNocmRl
djp7bm9kZTp7Z2V0YXR0cjpNRU1GUy5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6TUVNRlMubm9k
ZV9vcHMuc2V0YXR0cn0sc3RyZWFtOkZTLmNocmRldl9zdHJlYW1fb3BzfX19dmFyIG5vZGU9RlMu
Y3JlYXRlTm9kZShwYXJlbnQsbmFtZSxtb2RlLGRldik7aWYoRlMuaXNEaXIobm9kZS5tb2RlKSl7
bm9kZS5ub2RlX29wcz1NRU1GUy5vcHNfdGFibGUuZGlyLm5vZGU7bm9kZS5zdHJlYW1fb3BzPU1F
TUZTLm9wc190YWJsZS5kaXIuc3RyZWFtO25vZGUuY29udGVudHM9e319ZWxzZSBpZihGUy5pc0Zp
bGUobm9kZS5tb2RlKSl7bm9kZS5ub2RlX29wcz1NRU1GUy5vcHNfdGFibGUuZmlsZS5ub2RlO25v
ZGUuc3RyZWFtX29wcz1NRU1GUy5vcHNfdGFibGUuZmlsZS5zdHJlYW07bm9kZS51c2VkQnl0ZXM9
MDtub2RlLmNvbnRlbnRzPW51bGx9ZWxzZSBpZihGUy5pc0xpbmsobm9kZS5tb2RlKSl7bm9kZS5u
b2RlX29wcz1NRU1GUy5vcHNfdGFibGUubGluay5ub2RlO25vZGUuc3RyZWFtX29wcz1NRU1GUy5v
cHNfdGFibGUubGluay5zdHJlYW19ZWxzZSBpZihGUy5pc0NocmRldihub2RlLm1vZGUpKXtub2Rl
Lm5vZGVfb3BzPU1FTUZTLm9wc190YWJsZS5jaHJkZXYubm9kZTtub2RlLnN0cmVhbV9vcHM9TUVN
RlMub3BzX3RhYmxlLmNocmRldi5zdHJlYW19bm9kZS50aW1lc3RhbXA9RGF0ZS5ub3coKTtpZihw
YXJlbnQpe3BhcmVudC5jb250ZW50c1tuYW1lXT1ub2RlfXJldHVybiBub2RlfSksZ2V0RmlsZURh
dGFBc1JlZ3VsYXJBcnJheTooZnVuY3Rpb24obm9kZSl7aWYobm9kZS5jb250ZW50cyYmbm9kZS5j
b250ZW50cy5zdWJhcnJheSl7dmFyIGFycj1bXTtmb3IodmFyIGk9MDtpPG5vZGUudXNlZEJ5dGVz
OysraSlhcnIucHVzaChub2RlLmNvbnRlbnRzW2ldKTtyZXR1cm4gYXJyfXJldHVybiBub2RlLmNv
bnRlbnRzfSksZ2V0RmlsZURhdGFBc1R5cGVkQXJyYXk6KGZ1bmN0aW9uKG5vZGUpe2lmKCFub2Rl
LmNvbnRlbnRzKXJldHVybiBuZXcgVWludDhBcnJheTtpZihub2RlLmNvbnRlbnRzLnN1YmFycmF5
KXJldHVybiBub2RlLmNvbnRlbnRzLnN1YmFycmF5KDAsbm9kZS51c2VkQnl0ZXMpO3JldHVybiBu
ZXcgVWludDhBcnJheShub2RlLmNvbnRlbnRzKX0pLGV4cGFuZEZpbGVTdG9yYWdlOihmdW5jdGlv
bihub2RlLG5ld0NhcGFjaXR5KXtpZihub2RlLmNvbnRlbnRzJiZub2RlLmNvbnRlbnRzLnN1YmFy
cmF5JiZuZXdDYXBhY2l0eT5ub2RlLmNvbnRlbnRzLmxlbmd0aCl7bm9kZS5jb250ZW50cz1NRU1G
Uy5nZXRGaWxlRGF0YUFzUmVndWxhckFycmF5KG5vZGUpO25vZGUudXNlZEJ5dGVzPW5vZGUuY29u
dGVudHMubGVuZ3RofWlmKCFub2RlLmNvbnRlbnRzfHxub2RlLmNvbnRlbnRzLnN1YmFycmF5KXt2
YXIgcHJldkNhcGFjaXR5PW5vZGUuY29udGVudHM/bm9kZS5jb250ZW50cy5sZW5ndGg6MDtpZihw
cmV2Q2FwYWNpdHk+PW5ld0NhcGFjaXR5KXJldHVybjt2YXIgQ0FQQUNJVFlfRE9VQkxJTkdfTUFY
PTEwMjQqMTAyNDtuZXdDYXBhY2l0eT1NYXRoLm1heChuZXdDYXBhY2l0eSxwcmV2Q2FwYWNpdHkq
KHByZXZDYXBhY2l0eTxDQVBBQ0lUWV9ET1VCTElOR19NQVg/MjoxLjEyNSl8MCk7aWYocHJldkNh
cGFjaXR5IT0wKW5ld0NhcGFjaXR5PU1hdGgubWF4KG5ld0NhcGFjaXR5LDI1Nik7dmFyIG9sZENv
bnRlbnRzPW5vZGUuY29udGVudHM7bm9kZS5jb250ZW50cz1uZXcgVWludDhBcnJheShuZXdDYXBh
Y2l0eSk7aWYobm9kZS51c2VkQnl0ZXM+MClub2RlLmNvbnRlbnRzLnNldChvbGRDb250ZW50cy5z
dWJhcnJheSgwLG5vZGUudXNlZEJ5dGVzKSwwKTtyZXR1cm59aWYoIW5vZGUuY29udGVudHMmJm5l
d0NhcGFjaXR5PjApbm9kZS5jb250ZW50cz1bXTt3aGlsZShub2RlLmNvbnRlbnRzLmxlbmd0aDxu
ZXdDYXBhY2l0eSlub2RlLmNvbnRlbnRzLnB1c2goMCl9KSxyZXNpemVGaWxlU3RvcmFnZTooZnVu
Y3Rpb24obm9kZSxuZXdTaXplKXtpZihub2RlLnVzZWRCeXRlcz09bmV3U2l6ZSlyZXR1cm47aWYo
bmV3U2l6ZT09MCl7bm9kZS5jb250ZW50cz1udWxsO25vZGUudXNlZEJ5dGVzPTA7cmV0dXJufWlm
KCFub2RlLmNvbnRlbnRzfHxub2RlLmNvbnRlbnRzLnN1YmFycmF5KXt2YXIgb2xkQ29udGVudHM9
bm9kZS5jb250ZW50cztub2RlLmNvbnRlbnRzPW5ldyBVaW50OEFycmF5KG5ldyBBcnJheUJ1ZmZl
cihuZXdTaXplKSk7aWYob2xkQ29udGVudHMpe25vZGUuY29udGVudHMuc2V0KG9sZENvbnRlbnRz
LnN1YmFycmF5KDAsTWF0aC5taW4obmV3U2l6ZSxub2RlLnVzZWRCeXRlcykpKX1ub2RlLnVzZWRC
eXRlcz1uZXdTaXplO3JldHVybn1pZighbm9kZS5jb250ZW50cylub2RlLmNvbnRlbnRzPVtdO2lm
KG5vZGUuY29udGVudHMubGVuZ3RoPm5ld1NpemUpbm9kZS5jb250ZW50cy5sZW5ndGg9bmV3U2l6
ZTtlbHNlIHdoaWxlKG5vZGUuY29udGVudHMubGVuZ3RoPG5ld1NpemUpbm9kZS5jb250ZW50cy5w
dXNoKDApO25vZGUudXNlZEJ5dGVzPW5ld1NpemV9KSxub2RlX29wczp7Z2V0YXR0cjooZnVuY3Rp
b24obm9kZSl7dmFyIGF0dHI9e307YXR0ci5kZXY9RlMuaXNDaHJkZXYobm9kZS5tb2RlKT9ub2Rl
LmlkOjE7YXR0ci5pbm89bm9kZS5pZDthdHRyLm1vZGU9bm9kZS5tb2RlO2F0dHIubmxpbms9MTth
dHRyLnVpZD0wO2F0dHIuZ2lkPTA7YXR0ci5yZGV2PW5vZGUucmRldjtpZihGUy5pc0Rpcihub2Rl
Lm1vZGUpKXthdHRyLnNpemU9NDA5Nn1lbHNlIGlmKEZTLmlzRmlsZShub2RlLm1vZGUpKXthdHRy
LnNpemU9bm9kZS51c2VkQnl0ZXN9ZWxzZSBpZihGUy5pc0xpbmsobm9kZS5tb2RlKSl7YXR0ci5z
aXplPW5vZGUubGluay5sZW5ndGh9ZWxzZXthdHRyLnNpemU9MH1hdHRyLmF0aW1lPW5ldyBEYXRl
KG5vZGUudGltZXN0YW1wKTthdHRyLm10aW1lPW5ldyBEYXRlKG5vZGUudGltZXN0YW1wKTthdHRy
LmN0aW1lPW5ldyBEYXRlKG5vZGUudGltZXN0YW1wKTthdHRyLmJsa3NpemU9NDA5NjthdHRyLmJs
b2Nrcz1NYXRoLmNlaWwoYXR0ci5zaXplL2F0dHIuYmxrc2l6ZSk7cmV0dXJuIGF0dHJ9KSxzZXRh
dHRyOihmdW5jdGlvbihub2RlLGF0dHIpe2lmKGF0dHIubW9kZSE9PXVuZGVmaW5lZCl7bm9kZS5t
b2RlPWF0dHIubW9kZX1pZihhdHRyLnRpbWVzdGFtcCE9PXVuZGVmaW5lZCl7bm9kZS50aW1lc3Rh
bXA9YXR0ci50aW1lc3RhbXB9aWYoYXR0ci5zaXplIT09dW5kZWZpbmVkKXtNRU1GUy5yZXNpemVG
aWxlU3RvcmFnZShub2RlLGF0dHIuc2l6ZSl9fSksbG9va3VwOihmdW5jdGlvbihwYXJlbnQsbmFt
ZSl7dGhyb3cgRlMuZ2VuZXJpY0Vycm9yc1tFUlJOT19DT0RFUy5FTk9FTlRdfSksbWtub2Q6KGZ1
bmN0aW9uKHBhcmVudCxuYW1lLG1vZGUsZGV2KXtyZXR1cm4gTUVNRlMuY3JlYXRlTm9kZShwYXJl
bnQsbmFtZSxtb2RlLGRldil9KSxyZW5hbWU6KGZ1bmN0aW9uKG9sZF9ub2RlLG5ld19kaXIsbmV3
X25hbWUpe2lmKEZTLmlzRGlyKG9sZF9ub2RlLm1vZGUpKXt2YXIgbmV3X25vZGU7dHJ5e25ld19u
b2RlPUZTLmxvb2t1cE5vZGUobmV3X2RpcixuZXdfbmFtZSl9Y2F0Y2goZSl7fWlmKG5ld19ub2Rl
KXtmb3IodmFyIGkgaW4gbmV3X25vZGUuY29udGVudHMpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9y
KEVSUk5PX0NPREVTLkVOT1RFTVBUWSl9fX1kZWxldGUgb2xkX25vZGUucGFyZW50LmNvbnRlbnRz
W29sZF9ub2RlLm5hbWVdO29sZF9ub2RlLm5hbWU9bmV3X25hbWU7bmV3X2Rpci5jb250ZW50c1tu
ZXdfbmFtZV09b2xkX25vZGU7b2xkX25vZGUucGFyZW50PW5ld19kaXJ9KSx1bmxpbms6KGZ1bmN0
aW9uKHBhcmVudCxuYW1lKXtkZWxldGUgcGFyZW50LmNvbnRlbnRzW25hbWVdfSkscm1kaXI6KGZ1
bmN0aW9uKHBhcmVudCxuYW1lKXt2YXIgbm9kZT1GUy5sb29rdXBOb2RlKHBhcmVudCxuYW1lKTtm
b3IodmFyIGkgaW4gbm9kZS5jb250ZW50cyl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9f
Q09ERVMuRU5PVEVNUFRZKX1kZWxldGUgcGFyZW50LmNvbnRlbnRzW25hbWVdfSkscmVhZGRpcjoo
ZnVuY3Rpb24obm9kZSl7dmFyIGVudHJpZXM9WyIuIiwiLi4iXTtmb3IodmFyIGtleSBpbiBub2Rl
LmNvbnRlbnRzKXtpZighbm9kZS5jb250ZW50cy5oYXNPd25Qcm9wZXJ0eShrZXkpKXtjb250aW51
ZX1lbnRyaWVzLnB1c2goa2V5KX1yZXR1cm4gZW50cmllc30pLHN5bWxpbms6KGZ1bmN0aW9uKHBh
cmVudCxuZXduYW1lLG9sZHBhdGgpe3ZhciBub2RlPU1FTUZTLmNyZWF0ZU5vZGUocGFyZW50LG5l
d25hbWUsNTExfDQwOTYwLDApO25vZGUubGluaz1vbGRwYXRoO3JldHVybiBub2RlfSkscmVhZGxp
bms6KGZ1bmN0aW9uKG5vZGUpe2lmKCFGUy5pc0xpbmsobm9kZS5tb2RlKSl7dGhyb3cgbmV3IEZT
LkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKX1yZXR1cm4gbm9kZS5saW5rfSl9LHN0cmVh
bV9vcHM6e3JlYWQ6KGZ1bmN0aW9uKHN0cmVhbSxidWZmZXIsb2Zmc2V0LGxlbmd0aCxwb3NpdGlv
bil7dmFyIGNvbnRlbnRzPXN0cmVhbS5ub2RlLmNvbnRlbnRzO2lmKHBvc2l0aW9uPj1zdHJlYW0u
bm9kZS51c2VkQnl0ZXMpcmV0dXJuIDA7dmFyIHNpemU9TWF0aC5taW4oc3RyZWFtLm5vZGUudXNl
ZEJ5dGVzLXBvc2l0aW9uLGxlbmd0aCk7YXNzZXJ0KHNpemU+PTApO2lmKHNpemU+OCYmY29udGVu
dHMuc3ViYXJyYXkpe2J1ZmZlci5zZXQoY29udGVudHMuc3ViYXJyYXkocG9zaXRpb24scG9zaXRp
b24rc2l6ZSksb2Zmc2V0KX1lbHNle2Zvcih2YXIgaT0wO2k8c2l6ZTtpKyspYnVmZmVyW29mZnNl
dCtpXT1jb250ZW50c1twb3NpdGlvbitpXX1yZXR1cm4gc2l6ZX0pLHdyaXRlOihmdW5jdGlvbihz
dHJlYW0sYnVmZmVyLG9mZnNldCxsZW5ndGgscG9zaXRpb24sY2FuT3duKXtpZighbGVuZ3RoKXJl
dHVybiAwO3ZhciBub2RlPXN0cmVhbS5ub2RlO25vZGUudGltZXN0YW1wPURhdGUubm93KCk7aWYo
YnVmZmVyLnN1YmFycmF5JiYoIW5vZGUuY29udGVudHN8fG5vZGUuY29udGVudHMuc3ViYXJyYXkp
KXtpZihjYW5Pd24pe25vZGUuY29udGVudHM9YnVmZmVyLnN1YmFycmF5KG9mZnNldCxvZmZzZXQr
bGVuZ3RoKTtub2RlLnVzZWRCeXRlcz1sZW5ndGg7cmV0dXJuIGxlbmd0aH1lbHNlIGlmKG5vZGUu
dXNlZEJ5dGVzPT09MCYmcG9zaXRpb249PT0wKXtub2RlLmNvbnRlbnRzPW5ldyBVaW50OEFycmF5
KGJ1ZmZlci5zdWJhcnJheShvZmZzZXQsb2Zmc2V0K2xlbmd0aCkpO25vZGUudXNlZEJ5dGVzPWxl
bmd0aDtyZXR1cm4gbGVuZ3RofWVsc2UgaWYocG9zaXRpb24rbGVuZ3RoPD1ub2RlLnVzZWRCeXRl
cyl7bm9kZS5jb250ZW50cy5zZXQoYnVmZmVyLnN1YmFycmF5KG9mZnNldCxvZmZzZXQrbGVuZ3Ro
KSxwb3NpdGlvbik7cmV0dXJuIGxlbmd0aH19TUVNRlMuZXhwYW5kRmlsZVN0b3JhZ2Uobm9kZSxw
b3NpdGlvbitsZW5ndGgpO2lmKG5vZGUuY29udGVudHMuc3ViYXJyYXkmJmJ1ZmZlci5zdWJhcnJh
eSlub2RlLmNvbnRlbnRzLnNldChidWZmZXIuc3ViYXJyYXkob2Zmc2V0LG9mZnNldCtsZW5ndGgp
LHBvc2l0aW9uKTtlbHNle2Zvcih2YXIgaT0wO2k8bGVuZ3RoO2krKyl7bm9kZS5jb250ZW50c1tw
b3NpdGlvbitpXT1idWZmZXJbb2Zmc2V0K2ldfX1ub2RlLnVzZWRCeXRlcz1NYXRoLm1heChub2Rl
LnVzZWRCeXRlcyxwb3NpdGlvbitsZW5ndGgpO3JldHVybiBsZW5ndGh9KSxsbHNlZWs6KGZ1bmN0
aW9uKHN0cmVhbSxvZmZzZXQsd2hlbmNlKXt2YXIgcG9zaXRpb249b2Zmc2V0O2lmKHdoZW5jZT09
PTEpe3Bvc2l0aW9uKz1zdHJlYW0ucG9zaXRpb259ZWxzZSBpZih3aGVuY2U9PT0yKXtpZihGUy5p
c0ZpbGUoc3RyZWFtLm5vZGUubW9kZSkpe3Bvc2l0aW9uKz1zdHJlYW0ubm9kZS51c2VkQnl0ZXN9
fWlmKHBvc2l0aW9uPDApe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTlZB
TCl9cmV0dXJuIHBvc2l0aW9ufSksYWxsb2NhdGU6KGZ1bmN0aW9uKHN0cmVhbSxvZmZzZXQsbGVu
Z3RoKXtNRU1GUy5leHBhbmRGaWxlU3RvcmFnZShzdHJlYW0ubm9kZSxvZmZzZXQrbGVuZ3RoKTtz
dHJlYW0ubm9kZS51c2VkQnl0ZXM9TWF0aC5tYXgoc3RyZWFtLm5vZGUudXNlZEJ5dGVzLG9mZnNl
dCtsZW5ndGgpfSksbW1hcDooZnVuY3Rpb24oc3RyZWFtLGJ1ZmZlcixvZmZzZXQsbGVuZ3RoLHBv
c2l0aW9uLHByb3QsZmxhZ3Mpe2lmKCFGUy5pc0ZpbGUoc3RyZWFtLm5vZGUubW9kZSkpe3Rocm93
IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT0RFVil9dmFyIHB0cjt2YXIgYWxsb2Nh
dGVkO3ZhciBjb250ZW50cz1zdHJlYW0ubm9kZS5jb250ZW50cztpZighKGZsYWdzJjIpJiYoY29u
dGVudHMuYnVmZmVyPT09YnVmZmVyfHxjb250ZW50cy5idWZmZXI9PT1idWZmZXIuYnVmZmVyKSl7
YWxsb2NhdGVkPWZhbHNlO3B0cj1jb250ZW50cy5ieXRlT2Zmc2V0fWVsc2V7aWYocG9zaXRpb24+
MHx8cG9zaXRpb24rbGVuZ3RoPHN0cmVhbS5ub2RlLnVzZWRCeXRlcyl7aWYoY29udGVudHMuc3Vi
YXJyYXkpe2NvbnRlbnRzPWNvbnRlbnRzLnN1YmFycmF5KHBvc2l0aW9uLHBvc2l0aW9uK2xlbmd0
aCl9ZWxzZXtjb250ZW50cz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChjb250ZW50cyxwb3Np
dGlvbixwb3NpdGlvbitsZW5ndGgpfX1hbGxvY2F0ZWQ9dHJ1ZTtwdHI9X21hbGxvYyhsZW5ndGgp
O2lmKCFwdHIpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT01FTSl9YnVm
ZmVyLnNldChjb250ZW50cyxwdHIpfXJldHVybntwdHI6cHRyLGFsbG9jYXRlZDphbGxvY2F0ZWR9
fSksbXN5bmM6KGZ1bmN0aW9uKHN0cmVhbSxidWZmZXIsb2Zmc2V0LGxlbmd0aCxtbWFwRmxhZ3Mp
e2lmKCFGUy5pc0ZpbGUoc3RyZWFtLm5vZGUubW9kZSkpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9y
KEVSUk5PX0NPREVTLkVOT0RFVil9aWYobW1hcEZsYWdzJjIpe3JldHVybiAwfXZhciBieXRlc1dy
aXR0ZW49TUVNRlMuc3RyZWFtX29wcy53cml0ZShzdHJlYW0sYnVmZmVyLDAsbGVuZ3RoLG9mZnNl
dCxmYWxzZSk7cmV0dXJuIDB9KX19O3ZhciBJREJGUz17ZGJzOnt9LGluZGV4ZWREQjooZnVuY3Rp
b24oKXtpZih0eXBlb2YgaW5kZXhlZERCIT09InVuZGVmaW5lZCIpcmV0dXJuIGluZGV4ZWREQjt2
YXIgcmV0PW51bGw7aWYodHlwZW9mIHdpbmRvdz09PSJvYmplY3QiKXJldD13aW5kb3cuaW5kZXhl
ZERCfHx3aW5kb3cubW96SW5kZXhlZERCfHx3aW5kb3cud2Via2l0SW5kZXhlZERCfHx3aW5kb3cu
bXNJbmRleGVkREI7YXNzZXJ0KHJldCwiSURCRlMgdXNlZCwgYnV0IGluZGV4ZWREQiBub3Qgc3Vw
cG9ydGVkIik7cmV0dXJuIHJldH0pLERCX1ZFUlNJT046MjEsREJfU1RPUkVfTkFNRToiRklMRV9E
QVRBIixtb3VudDooZnVuY3Rpb24obW91bnQpe3JldHVybiBNRU1GUy5tb3VudC5hcHBseShudWxs
LGFyZ3VtZW50cyl9KSxzeW5jZnM6KGZ1bmN0aW9uKG1vdW50LHBvcHVsYXRlLGNhbGxiYWNrKXtJ
REJGUy5nZXRMb2NhbFNldChtb3VudCwoZnVuY3Rpb24oZXJyLGxvY2FsKXtpZihlcnIpcmV0dXJu
IGNhbGxiYWNrKGVycik7SURCRlMuZ2V0UmVtb3RlU2V0KG1vdW50LChmdW5jdGlvbihlcnIscmVt
b3RlKXtpZihlcnIpcmV0dXJuIGNhbGxiYWNrKGVycik7dmFyIHNyYz1wb3B1bGF0ZT9yZW1vdGU6
bG9jYWw7dmFyIGRzdD1wb3B1bGF0ZT9sb2NhbDpyZW1vdGU7SURCRlMucmVjb25jaWxlKHNyYyxk
c3QsY2FsbGJhY2spfSkpfSkpfSksZ2V0REI6KGZ1bmN0aW9uKG5hbWUsY2FsbGJhY2spe3ZhciBk
Yj1JREJGUy5kYnNbbmFtZV07aWYoZGIpe3JldHVybiBjYWxsYmFjayhudWxsLGRiKX12YXIgcmVx
O3RyeXtyZXE9SURCRlMuaW5kZXhlZERCKCkub3BlbihuYW1lLElEQkZTLkRCX1ZFUlNJT04pfWNh
dGNoKGUpe3JldHVybiBjYWxsYmFjayhlKX1pZighcmVxKXtyZXR1cm4gY2FsbGJhY2soIlVuYWJs
ZSB0byBjb25uZWN0IHRvIEluZGV4ZWREQiIpfXJlcS5vbnVwZ3JhZGVuZWVkZWQ9KGZ1bmN0aW9u
KGUpe3ZhciBkYj1lLnRhcmdldC5yZXN1bHQ7dmFyIHRyYW5zYWN0aW9uPWUudGFyZ2V0LnRyYW5z
YWN0aW9uO3ZhciBmaWxlU3RvcmU7aWYoZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhJREJG
Uy5EQl9TVE9SRV9OQU1FKSl7ZmlsZVN0b3JlPXRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKElEQkZT
LkRCX1NUT1JFX05BTUUpfWVsc2V7ZmlsZVN0b3JlPWRiLmNyZWF0ZU9iamVjdFN0b3JlKElEQkZT
LkRCX1NUT1JFX05BTUUpfWlmKCFmaWxlU3RvcmUuaW5kZXhOYW1lcy5jb250YWlucygidGltZXN0
YW1wIikpe2ZpbGVTdG9yZS5jcmVhdGVJbmRleCgidGltZXN0YW1wIiwidGltZXN0YW1wIix7dW5p
cXVlOmZhbHNlfSl9fSk7cmVxLm9uc3VjY2Vzcz0oZnVuY3Rpb24oKXtkYj1yZXEucmVzdWx0O0lE
QkZTLmRic1tuYW1lXT1kYjtjYWxsYmFjayhudWxsLGRiKX0pO3JlcS5vbmVycm9yPShmdW5jdGlv
bihlKXtjYWxsYmFjayh0aGlzLmVycm9yKTtlLnByZXZlbnREZWZhdWx0KCl9KX0pLGdldExvY2Fs
U2V0OihmdW5jdGlvbihtb3VudCxjYWxsYmFjayl7dmFyIGVudHJpZXM9e307ZnVuY3Rpb24gaXNS
ZWFsRGlyKHApe3JldHVybiBwIT09Ii4iJiZwIT09Ii4uIn1mdW5jdGlvbiB0b0Fic29sdXRlKHJv
b3Qpe3JldHVybihmdW5jdGlvbihwKXtyZXR1cm4gUEFUSC5qb2luMihyb290LHApfSl9dmFyIGNo
ZWNrPUZTLnJlYWRkaXIobW91bnQubW91bnRwb2ludCkuZmlsdGVyKGlzUmVhbERpcikubWFwKHRv
QWJzb2x1dGUobW91bnQubW91bnRwb2ludCkpO3doaWxlKGNoZWNrLmxlbmd0aCl7dmFyIHBhdGg9
Y2hlY2sucG9wKCk7dmFyIHN0YXQ7dHJ5e3N0YXQ9RlMuc3RhdChwYXRoKX1jYXRjaChlKXtyZXR1
cm4gY2FsbGJhY2soZSl9aWYoRlMuaXNEaXIoc3RhdC5tb2RlKSl7Y2hlY2sucHVzaC5hcHBseShj
aGVjayxGUy5yZWFkZGlyKHBhdGgpLmZpbHRlcihpc1JlYWxEaXIpLm1hcCh0b0Fic29sdXRlKHBh
dGgpKSl9ZW50cmllc1twYXRoXT17dGltZXN0YW1wOnN0YXQubXRpbWV9fXJldHVybiBjYWxsYmFj
ayhudWxsLHt0eXBlOiJsb2NhbCIsZW50cmllczplbnRyaWVzfSl9KSxnZXRSZW1vdGVTZXQ6KGZ1
bmN0aW9uKG1vdW50LGNhbGxiYWNrKXt2YXIgZW50cmllcz17fTtJREJGUy5nZXREQihtb3VudC5t
b3VudHBvaW50LChmdW5jdGlvbihlcnIsZGIpe2lmKGVycilyZXR1cm4gY2FsbGJhY2soZXJyKTt0
cnl7dmFyIHRyYW5zYWN0aW9uPWRiLnRyYW5zYWN0aW9uKFtJREJGUy5EQl9TVE9SRV9OQU1FXSwi
cmVhZG9ubHkiKTt0cmFuc2FjdGlvbi5vbmVycm9yPShmdW5jdGlvbihlKXtjYWxsYmFjayh0aGlz
LmVycm9yKTtlLnByZXZlbnREZWZhdWx0KCl9KTt2YXIgc3RvcmU9dHJhbnNhY3Rpb24ub2JqZWN0
U3RvcmUoSURCRlMuREJfU1RPUkVfTkFNRSk7dmFyIGluZGV4PXN0b3JlLmluZGV4KCJ0aW1lc3Rh
bXAiKTtpbmRleC5vcGVuS2V5Q3Vyc29yKCkub25zdWNjZXNzPShmdW5jdGlvbihldmVudCl7dmFy
IGN1cnNvcj1ldmVudC50YXJnZXQucmVzdWx0O2lmKCFjdXJzb3Ipe3JldHVybiBjYWxsYmFjayhu
dWxsLHt0eXBlOiJyZW1vdGUiLGRiOmRiLGVudHJpZXM6ZW50cmllc30pfWVudHJpZXNbY3Vyc29y
LnByaW1hcnlLZXldPXt0aW1lc3RhbXA6Y3Vyc29yLmtleX07Y3Vyc29yLmNvbnRpbnVlKCl9KX1j
YXRjaChlKXtyZXR1cm4gY2FsbGJhY2soZSl9fSkpfSksbG9hZExvY2FsRW50cnk6KGZ1bmN0aW9u
KHBhdGgsY2FsbGJhY2spe3ZhciBzdGF0LG5vZGU7dHJ5e3ZhciBsb29rdXA9RlMubG9va3VwUGF0
aChwYXRoKTtub2RlPWxvb2t1cC5ub2RlO3N0YXQ9RlMuc3RhdChwYXRoKX1jYXRjaChlKXtyZXR1
cm4gY2FsbGJhY2soZSl9aWYoRlMuaXNEaXIoc3RhdC5tb2RlKSl7cmV0dXJuIGNhbGxiYWNrKG51
bGwse3RpbWVzdGFtcDpzdGF0Lm10aW1lLG1vZGU6c3RhdC5tb2RlfSl9ZWxzZSBpZihGUy5pc0Zp
bGUoc3RhdC5tb2RlKSl7bm9kZS5jb250ZW50cz1NRU1GUy5nZXRGaWxlRGF0YUFzVHlwZWRBcnJh
eShub2RlKTtyZXR1cm4gY2FsbGJhY2sobnVsbCx7dGltZXN0YW1wOnN0YXQubXRpbWUsbW9kZTpz
dGF0Lm1vZGUsY29udGVudHM6bm9kZS5jb250ZW50c30pfWVsc2V7cmV0dXJuIGNhbGxiYWNrKG5l
dyBFcnJvcigibm9kZSB0eXBlIG5vdCBzdXBwb3J0ZWQiKSl9fSksc3RvcmVMb2NhbEVudHJ5Oihm
dW5jdGlvbihwYXRoLGVudHJ5LGNhbGxiYWNrKXt0cnl7aWYoRlMuaXNEaXIoZW50cnkubW9kZSkp
e0ZTLm1rZGlyKHBhdGgsZW50cnkubW9kZSl9ZWxzZSBpZihGUy5pc0ZpbGUoZW50cnkubW9kZSkp
e0ZTLndyaXRlRmlsZShwYXRoLGVudHJ5LmNvbnRlbnRzLHtjYW5Pd246dHJ1ZX0pfWVsc2V7cmV0
dXJuIGNhbGxiYWNrKG5ldyBFcnJvcigibm9kZSB0eXBlIG5vdCBzdXBwb3J0ZWQiKSl9RlMuY2ht
b2QocGF0aCxlbnRyeS5tb2RlKTtGUy51dGltZShwYXRoLGVudHJ5LnRpbWVzdGFtcCxlbnRyeS50
aW1lc3RhbXApfWNhdGNoKGUpe3JldHVybiBjYWxsYmFjayhlKX1jYWxsYmFjayhudWxsKX0pLHJl
bW92ZUxvY2FsRW50cnk6KGZ1bmN0aW9uKHBhdGgsY2FsbGJhY2spe3RyeXt2YXIgbG9va3VwPUZT
Lmxvb2t1cFBhdGgocGF0aCk7dmFyIHN0YXQ9RlMuc3RhdChwYXRoKTtpZihGUy5pc0RpcihzdGF0
Lm1vZGUpKXtGUy5ybWRpcihwYXRoKX1lbHNlIGlmKEZTLmlzRmlsZShzdGF0Lm1vZGUpKXtGUy51
bmxpbmsocGF0aCl9fWNhdGNoKGUpe3JldHVybiBjYWxsYmFjayhlKX1jYWxsYmFjayhudWxsKX0p
LGxvYWRSZW1vdGVFbnRyeTooZnVuY3Rpb24oc3RvcmUscGF0aCxjYWxsYmFjayl7dmFyIHJlcT1z
dG9yZS5nZXQocGF0aCk7cmVxLm9uc3VjY2Vzcz0oZnVuY3Rpb24oZXZlbnQpe2NhbGxiYWNrKG51
bGwsZXZlbnQudGFyZ2V0LnJlc3VsdCl9KTtyZXEub25lcnJvcj0oZnVuY3Rpb24oZSl7Y2FsbGJh
Y2sodGhpcy5lcnJvcik7ZS5wcmV2ZW50RGVmYXVsdCgpfSl9KSxzdG9yZVJlbW90ZUVudHJ5Oihm
dW5jdGlvbihzdG9yZSxwYXRoLGVudHJ5LGNhbGxiYWNrKXt2YXIgcmVxPXN0b3JlLnB1dChlbnRy
eSxwYXRoKTtyZXEub25zdWNjZXNzPShmdW5jdGlvbigpe2NhbGxiYWNrKG51bGwpfSk7cmVxLm9u
ZXJyb3I9KGZ1bmN0aW9uKGUpe2NhbGxiYWNrKHRoaXMuZXJyb3IpO2UucHJldmVudERlZmF1bHQo
KX0pfSkscmVtb3ZlUmVtb3RlRW50cnk6KGZ1bmN0aW9uKHN0b3JlLHBhdGgsY2FsbGJhY2spe3Zh
ciByZXE9c3RvcmUuZGVsZXRlKHBhdGgpO3JlcS5vbnN1Y2Nlc3M9KGZ1bmN0aW9uKCl7Y2FsbGJh
Y2sobnVsbCl9KTtyZXEub25lcnJvcj0oZnVuY3Rpb24oZSl7Y2FsbGJhY2sodGhpcy5lcnJvcik7
ZS5wcmV2ZW50RGVmYXVsdCgpfSl9KSxyZWNvbmNpbGU6KGZ1bmN0aW9uKHNyYyxkc3QsY2FsbGJh
Y2spe3ZhciB0b3RhbD0wO3ZhciBjcmVhdGU9W107T2JqZWN0LmtleXMoc3JjLmVudHJpZXMpLmZv
ckVhY2goKGZ1bmN0aW9uKGtleSl7dmFyIGU9c3JjLmVudHJpZXNba2V5XTt2YXIgZTI9ZHN0LmVu
dHJpZXNba2V5XTtpZighZTJ8fGUudGltZXN0YW1wPmUyLnRpbWVzdGFtcCl7Y3JlYXRlLnB1c2go
a2V5KTt0b3RhbCsrfX0pKTt2YXIgcmVtb3ZlPVtdO09iamVjdC5rZXlzKGRzdC5lbnRyaWVzKS5m
b3JFYWNoKChmdW5jdGlvbihrZXkpe3ZhciBlPWRzdC5lbnRyaWVzW2tleV07dmFyIGUyPXNyYy5l
bnRyaWVzW2tleV07aWYoIWUyKXtyZW1vdmUucHVzaChrZXkpO3RvdGFsKyt9fSkpO2lmKCF0b3Rh
bCl7cmV0dXJuIGNhbGxiYWNrKG51bGwpfXZhciBjb21wbGV0ZWQ9MDt2YXIgZGI9c3JjLnR5cGU9
PT0icmVtb3RlIj9zcmMuZGI6ZHN0LmRiO3ZhciB0cmFuc2FjdGlvbj1kYi50cmFuc2FjdGlvbihb
SURCRlMuREJfU1RPUkVfTkFNRV0sInJlYWR3cml0ZSIpO3ZhciBzdG9yZT10cmFuc2FjdGlvbi5v
YmplY3RTdG9yZShJREJGUy5EQl9TVE9SRV9OQU1FKTtmdW5jdGlvbiBkb25lKGVycil7aWYoZXJy
KXtpZighZG9uZS5lcnJvcmVkKXtkb25lLmVycm9yZWQ9dHJ1ZTtyZXR1cm4gY2FsbGJhY2soZXJy
KX1yZXR1cm59aWYoKytjb21wbGV0ZWQ+PXRvdGFsKXtyZXR1cm4gY2FsbGJhY2sobnVsbCl9fXRy
YW5zYWN0aW9uLm9uZXJyb3I9KGZ1bmN0aW9uKGUpe2RvbmUodGhpcy5lcnJvcik7ZS5wcmV2ZW50
RGVmYXVsdCgpfSk7Y3JlYXRlLnNvcnQoKS5mb3JFYWNoKChmdW5jdGlvbihwYXRoKXtpZihkc3Qu
dHlwZT09PSJsb2NhbCIpe0lEQkZTLmxvYWRSZW1vdGVFbnRyeShzdG9yZSxwYXRoLChmdW5jdGlv
bihlcnIsZW50cnkpe2lmKGVycilyZXR1cm4gZG9uZShlcnIpO0lEQkZTLnN0b3JlTG9jYWxFbnRy
eShwYXRoLGVudHJ5LGRvbmUpfSkpfWVsc2V7SURCRlMubG9hZExvY2FsRW50cnkocGF0aCwoZnVu
Y3Rpb24oZXJyLGVudHJ5KXtpZihlcnIpcmV0dXJuIGRvbmUoZXJyKTtJREJGUy5zdG9yZVJlbW90
ZUVudHJ5KHN0b3JlLHBhdGgsZW50cnksZG9uZSl9KSl9fSkpO3JlbW92ZS5zb3J0KCkucmV2ZXJz
ZSgpLmZvckVhY2goKGZ1bmN0aW9uKHBhdGgpe2lmKGRzdC50eXBlPT09ImxvY2FsIil7SURCRlMu
cmVtb3ZlTG9jYWxFbnRyeShwYXRoLGRvbmUpfWVsc2V7SURCRlMucmVtb3ZlUmVtb3RlRW50cnko
c3RvcmUscGF0aCxkb25lKX19KSl9KX07dmFyIE5PREVGUz17aXNXaW5kb3dzOmZhbHNlLHN0YXRp
Y0luaXQ6KGZ1bmN0aW9uKCl7Tk9ERUZTLmlzV2luZG93cz0hIXByb2Nlc3MucGxhdGZvcm0ubWF0
Y2goL153aW4vKTt2YXIgZmxhZ3M9cHJvY2Vzc1siYmluZGluZyJdKCJjb25zdGFudHMiKTtpZihm
bGFnc1siZnMiXSl7ZmxhZ3M9ZmxhZ3NbImZzIl19Tk9ERUZTLmZsYWdzRm9yTm9kZU1hcD17IjEw
MjQiOmZsYWdzWyJPX0FQUEVORCJdLCI2NCI6ZmxhZ3NbIk9fQ1JFQVQiXSwiMTI4IjpmbGFnc1si
T19FWENMIl0sIjAiOmZsYWdzWyJPX1JET05MWSJdLCIyIjpmbGFnc1siT19SRFdSIl0sIjQwOTYi
OmZsYWdzWyJPX1NZTkMiXSwiNTEyIjpmbGFnc1siT19UUlVOQyJdLCIxIjpmbGFnc1siT19XUk9O
TFkiXX19KSxidWZmZXJGcm9tOihmdW5jdGlvbihhcnJheUJ1ZmZlcil7cmV0dXJuIEJ1ZmZlci5h
bGxvYz9CdWZmZXIuZnJvbShhcnJheUJ1ZmZlcik6bmV3IEJ1ZmZlcihhcnJheUJ1ZmZlcil9KSxt
b3VudDooZnVuY3Rpb24obW91bnQpe2Fzc2VydChFTlZJUk9OTUVOVF9JU19OT0RFKTtyZXR1cm4g
Tk9ERUZTLmNyZWF0ZU5vZGUobnVsbCwiLyIsTk9ERUZTLmdldE1vZGUobW91bnQub3B0cy5yb290
KSwwKX0pLGNyZWF0ZU5vZGU6KGZ1bmN0aW9uKHBhcmVudCxuYW1lLG1vZGUsZGV2KXtpZighRlMu
aXNEaXIobW9kZSkmJiFGUy5pc0ZpbGUobW9kZSkmJiFGUy5pc0xpbmsobW9kZSkpe3Rocm93IG5l
dyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTlZBTCl9dmFyIG5vZGU9RlMuY3JlYXRlTm9k
ZShwYXJlbnQsbmFtZSxtb2RlKTtub2RlLm5vZGVfb3BzPU5PREVGUy5ub2RlX29wcztub2RlLnN0
cmVhbV9vcHM9Tk9ERUZTLnN0cmVhbV9vcHM7cmV0dXJuIG5vZGV9KSxnZXRNb2RlOihmdW5jdGlv
bihwYXRoKXt2YXIgc3RhdDt0cnl7c3RhdD1mcy5sc3RhdFN5bmMocGF0aCk7aWYoTk9ERUZTLmlz
V2luZG93cyl7c3RhdC5tb2RlPXN0YXQubW9kZXwoc3RhdC5tb2RlJjI5Mik+PjJ9fWNhdGNoKGUp
e2lmKCFlLmNvZGUpdGhyb3cgZTt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFU1tl
LmNvZGVdKX1yZXR1cm4gc3RhdC5tb2RlfSkscmVhbFBhdGg6KGZ1bmN0aW9uKG5vZGUpe3ZhciBw
YXJ0cz1bXTt3aGlsZShub2RlLnBhcmVudCE9PW5vZGUpe3BhcnRzLnB1c2gobm9kZS5uYW1lKTtu
b2RlPW5vZGUucGFyZW50fXBhcnRzLnB1c2gobm9kZS5tb3VudC5vcHRzLnJvb3QpO3BhcnRzLnJl
dmVyc2UoKTtyZXR1cm4gUEFUSC5qb2luLmFwcGx5KG51bGwscGFydHMpfSksZmxhZ3NGb3JOb2Rl
OihmdW5jdGlvbihmbGFncyl7ZmxhZ3MmPX4yMDk3MTUyO2ZsYWdzJj1+MjA0ODtmbGFncyY9fjMy
NzY4O2ZsYWdzJj1+NTI0Mjg4O3ZhciBuZXdGbGFncz0wO2Zvcih2YXIgayBpbiBOT0RFRlMuZmxh
Z3NGb3JOb2RlTWFwKXtpZihmbGFncyZrKXtuZXdGbGFnc3w9Tk9ERUZTLmZsYWdzRm9yTm9kZU1h
cFtrXTtmbGFnc149a319aWYoIWZsYWdzKXtyZXR1cm4gbmV3RmxhZ3N9ZWxzZXt0aHJvdyBuZXcg
RlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU5WQUwpfX0pLG5vZGVfb3BzOntnZXRhdHRyOihm
dW5jdGlvbihub2RlKXt2YXIgcGF0aD1OT0RFRlMucmVhbFBhdGgobm9kZSk7dmFyIHN0YXQ7dHJ5
e3N0YXQ9ZnMubHN0YXRTeW5jKHBhdGgpfWNhdGNoKGUpe2lmKCFlLmNvZGUpdGhyb3cgZTt0aHJv
dyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFU1tlLmNvZGVdKX1pZihOT0RFRlMuaXNXaW5k
b3dzJiYhc3RhdC5ibGtzaXplKXtzdGF0LmJsa3NpemU9NDA5Nn1pZihOT0RFRlMuaXNXaW5kb3dz
JiYhc3RhdC5ibG9ja3Mpe3N0YXQuYmxvY2tzPShzdGF0LnNpemUrc3RhdC5ibGtzaXplLTEpL3N0
YXQuYmxrc2l6ZXwwfXJldHVybntkZXY6c3RhdC5kZXYsaW5vOnN0YXQuaW5vLG1vZGU6c3RhdC5t
b2RlLG5saW5rOnN0YXQubmxpbmssdWlkOnN0YXQudWlkLGdpZDpzdGF0LmdpZCxyZGV2OnN0YXQu
cmRldixzaXplOnN0YXQuc2l6ZSxhdGltZTpzdGF0LmF0aW1lLG10aW1lOnN0YXQubXRpbWUsY3Rp
bWU6c3RhdC5jdGltZSxibGtzaXplOnN0YXQuYmxrc2l6ZSxibG9ja3M6c3RhdC5ibG9ja3N9fSks
c2V0YXR0cjooZnVuY3Rpb24obm9kZSxhdHRyKXt2YXIgcGF0aD1OT0RFRlMucmVhbFBhdGgobm9k
ZSk7dHJ5e2lmKGF0dHIubW9kZSE9PXVuZGVmaW5lZCl7ZnMuY2htb2RTeW5jKHBhdGgsYXR0ci5t
b2RlKTtub2RlLm1vZGU9YXR0ci5tb2RlfWlmKGF0dHIudGltZXN0YW1wIT09dW5kZWZpbmVkKXt2
YXIgZGF0ZT1uZXcgRGF0ZShhdHRyLnRpbWVzdGFtcCk7ZnMudXRpbWVzU3luYyhwYXRoLGRhdGUs
ZGF0ZSl9aWYoYXR0ci5zaXplIT09dW5kZWZpbmVkKXtmcy50cnVuY2F0ZVN5bmMocGF0aCxhdHRy
LnNpemUpfX1jYXRjaChlKXtpZighZS5jb2RlKXRocm93IGU7dGhyb3cgbmV3IEZTLkVycm5vRXJy
b3IoRVJSTk9fQ09ERVNbZS5jb2RlXSl9fSksbG9va3VwOihmdW5jdGlvbihwYXJlbnQsbmFtZSl7
dmFyIHBhdGg9UEFUSC5qb2luMihOT0RFRlMucmVhbFBhdGgocGFyZW50KSxuYW1lKTt2YXIgbW9k
ZT1OT0RFRlMuZ2V0TW9kZShwYXRoKTtyZXR1cm4gTk9ERUZTLmNyZWF0ZU5vZGUocGFyZW50LG5h
bWUsbW9kZSl9KSxta25vZDooZnVuY3Rpb24ocGFyZW50LG5hbWUsbW9kZSxkZXYpe3ZhciBub2Rl
PU5PREVGUy5jcmVhdGVOb2RlKHBhcmVudCxuYW1lLG1vZGUsZGV2KTt2YXIgcGF0aD1OT0RFRlMu
cmVhbFBhdGgobm9kZSk7dHJ5e2lmKEZTLmlzRGlyKG5vZGUubW9kZSkpe2ZzLm1rZGlyU3luYyhw
YXRoLG5vZGUubW9kZSl9ZWxzZXtmcy53cml0ZUZpbGVTeW5jKHBhdGgsIiIse21vZGU6bm9kZS5t
b2RlfSl9fWNhdGNoKGUpe2lmKCFlLmNvZGUpdGhyb3cgZTt0aHJvdyBuZXcgRlMuRXJybm9FcnJv
cihFUlJOT19DT0RFU1tlLmNvZGVdKX1yZXR1cm4gbm9kZX0pLHJlbmFtZTooZnVuY3Rpb24ob2xk
Tm9kZSxuZXdEaXIsbmV3TmFtZSl7dmFyIG9sZFBhdGg9Tk9ERUZTLnJlYWxQYXRoKG9sZE5vZGUp
O3ZhciBuZXdQYXRoPVBBVEguam9pbjIoTk9ERUZTLnJlYWxQYXRoKG5ld0RpciksbmV3TmFtZSk7
dHJ5e2ZzLnJlbmFtZVN5bmMob2xkUGF0aCxuZXdQYXRoKX1jYXRjaChlKXtpZighZS5jb2RlKXRo
cm93IGU7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVNbZS5jb2RlXSl9fSksdW5s
aW5rOihmdW5jdGlvbihwYXJlbnQsbmFtZSl7dmFyIHBhdGg9UEFUSC5qb2luMihOT0RFRlMucmVh
bFBhdGgocGFyZW50KSxuYW1lKTt0cnl7ZnMudW5saW5rU3luYyhwYXRoKX1jYXRjaChlKXtpZigh
ZS5jb2RlKXRocm93IGU7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVNbZS5jb2Rl
XSl9fSkscm1kaXI6KGZ1bmN0aW9uKHBhcmVudCxuYW1lKXt2YXIgcGF0aD1QQVRILmpvaW4yKE5P
REVGUy5yZWFsUGF0aChwYXJlbnQpLG5hbWUpO3RyeXtmcy5ybWRpclN5bmMocGF0aCl9Y2F0Y2go
ZSl7aWYoIWUuY29kZSl0aHJvdyBlO3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVT
W2UuY29kZV0pfX0pLHJlYWRkaXI6KGZ1bmN0aW9uKG5vZGUpe3ZhciBwYXRoPU5PREVGUy5yZWFs
UGF0aChub2RlKTt0cnl7cmV0dXJuIGZzLnJlYWRkaXJTeW5jKHBhdGgpfWNhdGNoKGUpe2lmKCFl
LmNvZGUpdGhyb3cgZTt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFU1tlLmNvZGVd
KX19KSxzeW1saW5rOihmdW5jdGlvbihwYXJlbnQsbmV3TmFtZSxvbGRQYXRoKXt2YXIgbmV3UGF0
aD1QQVRILmpvaW4yKE5PREVGUy5yZWFsUGF0aChwYXJlbnQpLG5ld05hbWUpO3RyeXtmcy5zeW1s
aW5rU3luYyhvbGRQYXRoLG5ld1BhdGgpfWNhdGNoKGUpe2lmKCFlLmNvZGUpdGhyb3cgZTt0aHJv
dyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFU1tlLmNvZGVdKX19KSxyZWFkbGluazooZnVu
Y3Rpb24obm9kZSl7dmFyIHBhdGg9Tk9ERUZTLnJlYWxQYXRoKG5vZGUpO3RyeXtwYXRoPWZzLnJl
YWRsaW5rU3luYyhwYXRoKTtwYXRoPU5PREVKU19QQVRILnJlbGF0aXZlKE5PREVKU19QQVRILnJl
c29sdmUobm9kZS5tb3VudC5vcHRzLnJvb3QpLHBhdGgpO3JldHVybiBwYXRofWNhdGNoKGUpe2lm
KCFlLmNvZGUpdGhyb3cgZTt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFU1tlLmNv
ZGVdKX19KX0sc3RyZWFtX29wczp7b3BlbjooZnVuY3Rpb24oc3RyZWFtKXt2YXIgcGF0aD1OT0RF
RlMucmVhbFBhdGgoc3RyZWFtLm5vZGUpO3RyeXtpZihGUy5pc0ZpbGUoc3RyZWFtLm5vZGUubW9k
ZSkpe3N0cmVhbS5uZmQ9ZnMub3BlblN5bmMocGF0aCxOT0RFRlMuZmxhZ3NGb3JOb2RlKHN0cmVh
bS5mbGFncykpfX1jYXRjaChlKXtpZighZS5jb2RlKXRocm93IGU7dGhyb3cgbmV3IEZTLkVycm5v
RXJyb3IoRVJSTk9fQ09ERVNbZS5jb2RlXSl9fSksY2xvc2U6KGZ1bmN0aW9uKHN0cmVhbSl7dHJ5
e2lmKEZTLmlzRmlsZShzdHJlYW0ubm9kZS5tb2RlKSYmc3RyZWFtLm5mZCl7ZnMuY2xvc2VTeW5j
KHN0cmVhbS5uZmQpfX1jYXRjaChlKXtpZighZS5jb2RlKXRocm93IGU7dGhyb3cgbmV3IEZTLkVy
cm5vRXJyb3IoRVJSTk9fQ09ERVNbZS5jb2RlXSl9fSkscmVhZDooZnVuY3Rpb24oc3RyZWFtLGJ1
ZmZlcixvZmZzZXQsbGVuZ3RoLHBvc2l0aW9uKXtpZihsZW5ndGg9PT0wKXJldHVybiAwO3RyeXty
ZXR1cm4gZnMucmVhZFN5bmMoc3RyZWFtLm5mZCxOT0RFRlMuYnVmZmVyRnJvbShidWZmZXIuYnVm
ZmVyKSxvZmZzZXQsbGVuZ3RoLHBvc2l0aW9uKX1jYXRjaChlKXt0aHJvdyBuZXcgRlMuRXJybm9F
cnJvcihFUlJOT19DT0RFU1tlLmNvZGVdKX19KSx3cml0ZTooZnVuY3Rpb24oc3RyZWFtLGJ1ZmZl
cixvZmZzZXQsbGVuZ3RoLHBvc2l0aW9uKXt0cnl7cmV0dXJuIGZzLndyaXRlU3luYyhzdHJlYW0u
bmZkLE5PREVGUy5idWZmZXJGcm9tKGJ1ZmZlci5idWZmZXIpLG9mZnNldCxsZW5ndGgscG9zaXRp
b24pfWNhdGNoKGUpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTW2UuY29kZV0p
fX0pLGxsc2VlazooZnVuY3Rpb24oc3RyZWFtLG9mZnNldCx3aGVuY2Upe3ZhciBwb3NpdGlvbj1v
ZmZzZXQ7aWYod2hlbmNlPT09MSl7cG9zaXRpb24rPXN0cmVhbS5wb3NpdGlvbn1lbHNlIGlmKHdo
ZW5jZT09PTIpe2lmKEZTLmlzRmlsZShzdHJlYW0ubm9kZS5tb2RlKSl7dHJ5e3ZhciBzdGF0PWZz
LmZzdGF0U3luYyhzdHJlYW0ubmZkKTtwb3NpdGlvbis9c3RhdC5zaXplfWNhdGNoKGUpe3Rocm93
IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTW2UuY29kZV0pfX19aWYocG9zaXRpb248MCl7
dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKX1yZXR1cm4gcG9zaXRp
b259KX19O3ZhciBXT1JLRVJGUz17RElSX01PREU6MTY4OTUsRklMRV9NT0RFOjMzMjc5LHJlYWRl
cjpudWxsLG1vdW50OihmdW5jdGlvbihtb3VudCl7YXNzZXJ0KEVOVklST05NRU5UX0lTX1dPUktF
Uik7aWYoIVdPUktFUkZTLnJlYWRlcilXT1JLRVJGUy5yZWFkZXI9bmV3IEZpbGVSZWFkZXJTeW5j
O3ZhciByb290PVdPUktFUkZTLmNyZWF0ZU5vZGUobnVsbCwiLyIsV09SS0VSRlMuRElSX01PREUs
MCk7dmFyIGNyZWF0ZWRQYXJlbnRzPXt9O2Z1bmN0aW9uIGVuc3VyZVBhcmVudChwYXRoKXt2YXIg
cGFydHM9cGF0aC5zcGxpdCgiLyIpO3ZhciBwYXJlbnQ9cm9vdDtmb3IodmFyIGk9MDtpPHBhcnRz
Lmxlbmd0aC0xO2krKyl7dmFyIGN1cnI9cGFydHMuc2xpY2UoMCxpKzEpLmpvaW4oIi8iKTtpZigh
Y3JlYXRlZFBhcmVudHNbY3Vycl0pe2NyZWF0ZWRQYXJlbnRzW2N1cnJdPVdPUktFUkZTLmNyZWF0
ZU5vZGUocGFyZW50LHBhcnRzW2ldLFdPUktFUkZTLkRJUl9NT0RFLDApfXBhcmVudD1jcmVhdGVk
UGFyZW50c1tjdXJyXX1yZXR1cm4gcGFyZW50fWZ1bmN0aW9uIGJhc2UocGF0aCl7dmFyIHBhcnRz
PXBhdGguc3BsaXQoIi8iKTtyZXR1cm4gcGFydHNbcGFydHMubGVuZ3RoLTFdfUFycmF5LnByb3Rv
dHlwZS5mb3JFYWNoLmNhbGwobW91bnQub3B0c1siZmlsZXMiXXx8W10sKGZ1bmN0aW9uKGZpbGUp
e1dPUktFUkZTLmNyZWF0ZU5vZGUoZW5zdXJlUGFyZW50KGZpbGUubmFtZSksYmFzZShmaWxlLm5h
bWUpLFdPUktFUkZTLkZJTEVfTU9ERSwwLGZpbGUsZmlsZS5sYXN0TW9kaWZpZWREYXRlKX0pKTso
bW91bnQub3B0c1siYmxvYnMiXXx8W10pLmZvckVhY2goKGZ1bmN0aW9uKG9iail7V09SS0VSRlMu
Y3JlYXRlTm9kZShlbnN1cmVQYXJlbnQob2JqWyJuYW1lIl0pLGJhc2Uob2JqWyJuYW1lIl0pLFdP
UktFUkZTLkZJTEVfTU9ERSwwLG9ialsiZGF0YSJdKX0pKTsobW91bnQub3B0c1sicGFja2FnZXMi
XXx8W10pLmZvckVhY2goKGZ1bmN0aW9uKHBhY2spe3BhY2tbIm1ldGFkYXRhIl0uZmlsZXMuZm9y
RWFjaCgoZnVuY3Rpb24oZmlsZSl7dmFyIG5hbWU9ZmlsZS5maWxlbmFtZS5zdWJzdHIoMSk7V09S
S0VSRlMuY3JlYXRlTm9kZShlbnN1cmVQYXJlbnQobmFtZSksYmFzZShuYW1lKSxXT1JLRVJGUy5G
SUxFX01PREUsMCxwYWNrWyJibG9iIl0uc2xpY2UoZmlsZS5zdGFydCxmaWxlLmVuZCkpfSkpfSkp
O3JldHVybiByb290fSksY3JlYXRlTm9kZTooZnVuY3Rpb24ocGFyZW50LG5hbWUsbW9kZSxkZXYs
Y29udGVudHMsbXRpbWUpe3ZhciBub2RlPUZTLmNyZWF0ZU5vZGUocGFyZW50LG5hbWUsbW9kZSk7
bm9kZS5tb2RlPW1vZGU7bm9kZS5ub2RlX29wcz1XT1JLRVJGUy5ub2RlX29wcztub2RlLnN0cmVh
bV9vcHM9V09SS0VSRlMuc3RyZWFtX29wcztub2RlLnRpbWVzdGFtcD0obXRpbWV8fG5ldyBEYXRl
KS5nZXRUaW1lKCk7YXNzZXJ0KFdPUktFUkZTLkZJTEVfTU9ERSE9PVdPUktFUkZTLkRJUl9NT0RF
KTtpZihtb2RlPT09V09SS0VSRlMuRklMRV9NT0RFKXtub2RlLnNpemU9Y29udGVudHMuc2l6ZTtu
b2RlLmNvbnRlbnRzPWNvbnRlbnRzfWVsc2V7bm9kZS5zaXplPTQwOTY7bm9kZS5jb250ZW50cz17
fX1pZihwYXJlbnQpe3BhcmVudC5jb250ZW50c1tuYW1lXT1ub2RlfXJldHVybiBub2RlfSksbm9k
ZV9vcHM6e2dldGF0dHI6KGZ1bmN0aW9uKG5vZGUpe3JldHVybntkZXY6MSxpbm86dW5kZWZpbmVk
LG1vZGU6bm9kZS5tb2RlLG5saW5rOjEsdWlkOjAsZ2lkOjAscmRldjp1bmRlZmluZWQsc2l6ZTpu
b2RlLnNpemUsYXRpbWU6bmV3IERhdGUobm9kZS50aW1lc3RhbXApLG10aW1lOm5ldyBEYXRlKG5v
ZGUudGltZXN0YW1wKSxjdGltZTpuZXcgRGF0ZShub2RlLnRpbWVzdGFtcCksYmxrc2l6ZTo0MDk2
LGJsb2NrczpNYXRoLmNlaWwobm9kZS5zaXplLzQwOTYpfX0pLHNldGF0dHI6KGZ1bmN0aW9uKG5v
ZGUsYXR0cil7aWYoYXR0ci5tb2RlIT09dW5kZWZpbmVkKXtub2RlLm1vZGU9YXR0ci5tb2RlfWlm
KGF0dHIudGltZXN0YW1wIT09dW5kZWZpbmVkKXtub2RlLnRpbWVzdGFtcD1hdHRyLnRpbWVzdGFt
cH19KSxsb29rdXA6KGZ1bmN0aW9uKHBhcmVudCxuYW1lKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJv
cihFUlJOT19DT0RFUy5FTk9FTlQpfSksbWtub2Q6KGZ1bmN0aW9uKHBhcmVudCxuYW1lLG1vZGUs
ZGV2KXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FUEVSTSl9KSxyZW5hbWU6
KGZ1bmN0aW9uKG9sZE5vZGUsbmV3RGlyLG5ld05hbWUpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9y
KEVSUk5PX0NPREVTLkVQRVJNKX0pLHVubGluazooZnVuY3Rpb24ocGFyZW50LG5hbWUpe3Rocm93
IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVQRVJNKX0pLHJtZGlyOihmdW5jdGlvbihw
YXJlbnQsbmFtZSl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRVBFUk0pfSks
cmVhZGRpcjooZnVuY3Rpb24obm9kZSl7dmFyIGVudHJpZXM9WyIuIiwiLi4iXTtmb3IodmFyIGtl
eSBpbiBub2RlLmNvbnRlbnRzKXtpZighbm9kZS5jb250ZW50cy5oYXNPd25Qcm9wZXJ0eShrZXkp
KXtjb250aW51ZX1lbnRyaWVzLnB1c2goa2V5KX1yZXR1cm4gZW50cmllc30pLHN5bWxpbms6KGZ1
bmN0aW9uKHBhcmVudCxuZXdOYW1lLG9sZFBhdGgpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVS
Uk5PX0NPREVTLkVQRVJNKX0pLHJlYWRsaW5rOihmdW5jdGlvbihub2RlKXt0aHJvdyBuZXcgRlMu
RXJybm9FcnJvcihFUlJOT19DT0RFUy5FUEVSTSl9KX0sc3RyZWFtX29wczp7cmVhZDooZnVuY3Rp
b24oc3RyZWFtLGJ1ZmZlcixvZmZzZXQsbGVuZ3RoLHBvc2l0aW9uKXtpZihwb3NpdGlvbj49c3Ry
ZWFtLm5vZGUuc2l6ZSlyZXR1cm4gMDt2YXIgY2h1bms9c3RyZWFtLm5vZGUuY29udGVudHMuc2xp
Y2UocG9zaXRpb24scG9zaXRpb24rbGVuZ3RoKTt2YXIgYWI9V09SS0VSRlMucmVhZGVyLnJlYWRB
c0FycmF5QnVmZmVyKGNodW5rKTtidWZmZXIuc2V0KG5ldyBVaW50OEFycmF5KGFiKSxvZmZzZXQp
O3JldHVybiBjaHVuay5zaXplfSksd3JpdGU6KGZ1bmN0aW9uKHN0cmVhbSxidWZmZXIsb2Zmc2V0
LGxlbmd0aCxwb3NpdGlvbil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlP
KX0pLGxsc2VlazooZnVuY3Rpb24oc3RyZWFtLG9mZnNldCx3aGVuY2Upe3ZhciBwb3NpdGlvbj1v
ZmZzZXQ7aWYod2hlbmNlPT09MSl7cG9zaXRpb24rPXN0cmVhbS5wb3NpdGlvbn1lbHNlIGlmKHdo
ZW5jZT09PTIpe2lmKEZTLmlzRmlsZShzdHJlYW0ubm9kZS5tb2RlKSl7cG9zaXRpb24rPXN0cmVh
bS5ub2RlLnNpemV9fWlmKHBvc2l0aW9uPDApe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5P
X0NPREVTLkVJTlZBTCl9cmV0dXJuIHBvc2l0aW9ufSl9fTtTVEFUSUNUT1ArPTE2O1NUQVRJQ1RP
UCs9MTY7U1RBVElDVE9QKz0xNjt2YXIgRlM9e3Jvb3Q6bnVsbCxtb3VudHM6W10sZGV2aWNlczp7
fSxzdHJlYW1zOltdLG5leHRJbm9kZToxLG5hbWVUYWJsZTpudWxsLGN1cnJlbnRQYXRoOiIvIixp
bml0aWFsaXplZDpmYWxzZSxpZ25vcmVQZXJtaXNzaW9uczp0cnVlLHRyYWNraW5nRGVsZWdhdGU6
e30sdHJhY2tpbmc6e29wZW5GbGFnczp7UkVBRDoxLFdSSVRFOjJ9fSxFcnJub0Vycm9yOm51bGws
Z2VuZXJpY0Vycm9yczp7fSxmaWxlc3lzdGVtczpudWxsLHN5bmNGU1JlcXVlc3RzOjAsaGFuZGxl
RlNFcnJvcjooZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgRlMuRXJybm9FcnJvcikpdGhy
b3cgZSsiIDogIitzdGFja1RyYWNlKCk7cmV0dXJuIF9fX3NldEVyck5vKGUuZXJybm8pfSksbG9v
a3VwUGF0aDooZnVuY3Rpb24ocGF0aCxvcHRzKXtwYXRoPVBBVEgucmVzb2x2ZShGUy5jd2QoKSxw
YXRoKTtvcHRzPW9wdHN8fHt9O2lmKCFwYXRoKXJldHVybntwYXRoOiIiLG5vZGU6bnVsbH07dmFy
IGRlZmF1bHRzPXtmb2xsb3dfbW91bnQ6dHJ1ZSxyZWN1cnNlX2NvdW50OjB9O2Zvcih2YXIga2V5
IGluIGRlZmF1bHRzKXtpZihvcHRzW2tleV09PT11bmRlZmluZWQpe29wdHNba2V5XT1kZWZhdWx0
c1trZXldfX1pZihvcHRzLnJlY3Vyc2VfY291bnQ+OCl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3Io
RVJSTk9fQ09ERVMuRUxPT1ApfXZhciBwYXJ0cz1QQVRILm5vcm1hbGl6ZUFycmF5KHBhdGguc3Bs
aXQoIi8iKS5maWx0ZXIoKGZ1bmN0aW9uKHApe3JldHVybiEhcH0pKSxmYWxzZSk7dmFyIGN1cnJl
bnQ9RlMucm9vdDt2YXIgY3VycmVudF9wYXRoPSIvIjtmb3IodmFyIGk9MDtpPHBhcnRzLmxlbmd0
aDtpKyspe3ZhciBpc2xhc3Q9aT09PXBhcnRzLmxlbmd0aC0xO2lmKGlzbGFzdCYmb3B0cy5wYXJl
bnQpe2JyZWFrfWN1cnJlbnQ9RlMubG9va3VwTm9kZShjdXJyZW50LHBhcnRzW2ldKTtjdXJyZW50
X3BhdGg9UEFUSC5qb2luMihjdXJyZW50X3BhdGgscGFydHNbaV0pO2lmKEZTLmlzTW91bnRwb2lu
dChjdXJyZW50KSl7aWYoIWlzbGFzdHx8aXNsYXN0JiZvcHRzLmZvbGxvd19tb3VudCl7Y3VycmVu
dD1jdXJyZW50Lm1vdW50ZWQucm9vdH19aWYoIWlzbGFzdHx8b3B0cy5mb2xsb3cpe3ZhciBjb3Vu
dD0wO3doaWxlKEZTLmlzTGluayhjdXJyZW50Lm1vZGUpKXt2YXIgbGluaz1GUy5yZWFkbGluayhj
dXJyZW50X3BhdGgpO2N1cnJlbnRfcGF0aD1QQVRILnJlc29sdmUoUEFUSC5kaXJuYW1lKGN1cnJl
bnRfcGF0aCksbGluayk7dmFyIGxvb2t1cD1GUy5sb29rdXBQYXRoKGN1cnJlbnRfcGF0aCx7cmVj
dXJzZV9jb3VudDpvcHRzLnJlY3Vyc2VfY291bnR9KTtjdXJyZW50PWxvb2t1cC5ub2RlO2lmKGNv
dW50Kys+NDApe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVMT09QKX19fX1y
ZXR1cm57cGF0aDpjdXJyZW50X3BhdGgsbm9kZTpjdXJyZW50fX0pLGdldFBhdGg6KGZ1bmN0aW9u
KG5vZGUpe3ZhciBwYXRoO3doaWxlKHRydWUpe2lmKEZTLmlzUm9vdChub2RlKSl7dmFyIG1vdW50
PW5vZGUubW91bnQubW91bnRwb2ludDtpZighcGF0aClyZXR1cm4gbW91bnQ7cmV0dXJuIG1vdW50
W21vdW50Lmxlbmd0aC0xXSE9PSIvIj9tb3VudCsiLyIrcGF0aDptb3VudCtwYXRofXBhdGg9cGF0
aD9ub2RlLm5hbWUrIi8iK3BhdGg6bm9kZS5uYW1lO25vZGU9bm9kZS5wYXJlbnR9fSksaGFzaE5h
bWU6KGZ1bmN0aW9uKHBhcmVudGlkLG5hbWUpe3ZhciBoYXNoPTA7Zm9yKHZhciBpPTA7aTxuYW1l
Lmxlbmd0aDtpKyspe2hhc2g9KGhhc2g8PDUpLWhhc2grbmFtZS5jaGFyQ29kZUF0KGkpfDB9cmV0
dXJuKHBhcmVudGlkK2hhc2g+Pj4wKSVGUy5uYW1lVGFibGUubGVuZ3RofSksaGFzaEFkZE5vZGU6
KGZ1bmN0aW9uKG5vZGUpe3ZhciBoYXNoPUZTLmhhc2hOYW1lKG5vZGUucGFyZW50LmlkLG5vZGUu
bmFtZSk7bm9kZS5uYW1lX25leHQ9RlMubmFtZVRhYmxlW2hhc2hdO0ZTLm5hbWVUYWJsZVtoYXNo
XT1ub2RlfSksaGFzaFJlbW92ZU5vZGU6KGZ1bmN0aW9uKG5vZGUpe3ZhciBoYXNoPUZTLmhhc2hO
YW1lKG5vZGUucGFyZW50LmlkLG5vZGUubmFtZSk7aWYoRlMubmFtZVRhYmxlW2hhc2hdPT09bm9k
ZSl7RlMubmFtZVRhYmxlW2hhc2hdPW5vZGUubmFtZV9uZXh0fWVsc2V7dmFyIGN1cnJlbnQ9RlMu
bmFtZVRhYmxlW2hhc2hdO3doaWxlKGN1cnJlbnQpe2lmKGN1cnJlbnQubmFtZV9uZXh0PT09bm9k
ZSl7Y3VycmVudC5uYW1lX25leHQ9bm9kZS5uYW1lX25leHQ7YnJlYWt9Y3VycmVudD1jdXJyZW50
Lm5hbWVfbmV4dH19fSksbG9va3VwTm9kZTooZnVuY3Rpb24ocGFyZW50LG5hbWUpe3ZhciBlcnI9
RlMubWF5TG9va3VwKHBhcmVudCk7aWYoZXJyKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihlcnIs
cGFyZW50KX12YXIgaGFzaD1GUy5oYXNoTmFtZShwYXJlbnQuaWQsbmFtZSk7Zm9yKHZhciBub2Rl
PUZTLm5hbWVUYWJsZVtoYXNoXTtub2RlO25vZGU9bm9kZS5uYW1lX25leHQpe3ZhciBub2RlTmFt
ZT1ub2RlLm5hbWU7aWYobm9kZS5wYXJlbnQuaWQ9PT1wYXJlbnQuaWQmJm5vZGVOYW1lPT09bmFt
ZSl7cmV0dXJuIG5vZGV9fXJldHVybiBGUy5sb29rdXAocGFyZW50LG5hbWUpfSksY3JlYXRlTm9k
ZTooZnVuY3Rpb24ocGFyZW50LG5hbWUsbW9kZSxyZGV2KXtpZighRlMuRlNOb2RlKXtGUy5GU05v
ZGU9KGZ1bmN0aW9uKHBhcmVudCxuYW1lLG1vZGUscmRldil7aWYoIXBhcmVudCl7cGFyZW50PXRo
aXN9dGhpcy5wYXJlbnQ9cGFyZW50O3RoaXMubW91bnQ9cGFyZW50Lm1vdW50O3RoaXMubW91bnRl
ZD1udWxsO3RoaXMuaWQ9RlMubmV4dElub2RlKys7dGhpcy5uYW1lPW5hbWU7dGhpcy5tb2RlPW1v
ZGU7dGhpcy5ub2RlX29wcz17fTt0aGlzLnN0cmVhbV9vcHM9e307dGhpcy5yZGV2PXJkZXZ9KTtG
Uy5GU05vZGUucHJvdG90eXBlPXt9O3ZhciByZWFkTW9kZT0yOTJ8NzM7dmFyIHdyaXRlTW9kZT0x
NDY7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoRlMuRlNOb2RlLnByb3RvdHlwZSx7cmVhZDp7Z2V0
OihmdW5jdGlvbigpe3JldHVybih0aGlzLm1vZGUmcmVhZE1vZGUpPT09cmVhZE1vZGV9KSxzZXQ6
KGZ1bmN0aW9uKHZhbCl7dmFsP3RoaXMubW9kZXw9cmVhZE1vZGU6dGhpcy5tb2RlJj1+cmVhZE1v
ZGV9KX0sd3JpdGU6e2dldDooZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5tb2RlJndyaXRlTW9kZSk9
PT13cml0ZU1vZGV9KSxzZXQ6KGZ1bmN0aW9uKHZhbCl7dmFsP3RoaXMubW9kZXw9d3JpdGVNb2Rl
OnRoaXMubW9kZSY9fndyaXRlTW9kZX0pfSxpc0ZvbGRlcjp7Z2V0OihmdW5jdGlvbigpe3JldHVy
biBGUy5pc0Rpcih0aGlzLm1vZGUpfSl9LGlzRGV2aWNlOntnZXQ6KGZ1bmN0aW9uKCl7cmV0dXJu
IEZTLmlzQ2hyZGV2KHRoaXMubW9kZSl9KX19KX12YXIgbm9kZT1uZXcgRlMuRlNOb2RlKHBhcmVu
dCxuYW1lLG1vZGUscmRldik7RlMuaGFzaEFkZE5vZGUobm9kZSk7cmV0dXJuIG5vZGV9KSxkZXN0
cm95Tm9kZTooZnVuY3Rpb24obm9kZSl7RlMuaGFzaFJlbW92ZU5vZGUobm9kZSl9KSxpc1Jvb3Q6
KGZ1bmN0aW9uKG5vZGUpe3JldHVybiBub2RlPT09bm9kZS5wYXJlbnR9KSxpc01vdW50cG9pbnQ6
KGZ1bmN0aW9uKG5vZGUpe3JldHVybiEhbm9kZS5tb3VudGVkfSksaXNGaWxlOihmdW5jdGlvbiht
b2RlKXtyZXR1cm4obW9kZSY2MTQ0MCk9PT0zMjc2OH0pLGlzRGlyOihmdW5jdGlvbihtb2RlKXty
ZXR1cm4obW9kZSY2MTQ0MCk9PT0xNjM4NH0pLGlzTGluazooZnVuY3Rpb24obW9kZSl7cmV0dXJu
KG1vZGUmNjE0NDApPT09NDA5NjB9KSxpc0NocmRldjooZnVuY3Rpb24obW9kZSl7cmV0dXJuKG1v
ZGUmNjE0NDApPT09ODE5Mn0pLGlzQmxrZGV2OihmdW5jdGlvbihtb2RlKXtyZXR1cm4obW9kZSY2
MTQ0MCk9PT0yNDU3Nn0pLGlzRklGTzooZnVuY3Rpb24obW9kZSl7cmV0dXJuKG1vZGUmNjE0NDAp
PT09NDA5Nn0pLGlzU29ja2V0OihmdW5jdGlvbihtb2RlKXtyZXR1cm4obW9kZSY0OTE1Mik9PT00
OTE1Mn0pLGZsYWdNb2Rlczp7InIiOjAsInJzIjoxMDUyNjcyLCJyKyI6MiwidyI6NTc3LCJ3eCI6
NzA1LCJ4dyI6NzA1LCJ3KyI6NTc4LCJ3eCsiOjcwNiwieHcrIjo3MDYsImEiOjEwODksImF4Ijox
MjE3LCJ4YSI6MTIxNywiYSsiOjEwOTAsImF4KyI6MTIxOCwieGErIjoxMjE4fSxtb2RlU3RyaW5n
VG9GbGFnczooZnVuY3Rpb24oc3RyKXt2YXIgZmxhZ3M9RlMuZmxhZ01vZGVzW3N0cl07aWYodHlw
ZW9mIGZsYWdzPT09InVuZGVmaW5lZCIpe3Rocm93IG5ldyBFcnJvcigiVW5rbm93biBmaWxlIG9w
ZW4gbW9kZTogIitzdHIpfXJldHVybiBmbGFnc30pLGZsYWdzVG9QZXJtaXNzaW9uU3RyaW5nOihm
dW5jdGlvbihmbGFnKXt2YXIgcGVybXM9WyJyIiwidyIsInJ3Il1bZmxhZyYzXTtpZihmbGFnJjUx
Mil7cGVybXMrPSJ3In1yZXR1cm4gcGVybXN9KSxub2RlUGVybWlzc2lvbnM6KGZ1bmN0aW9uKG5v
ZGUscGVybXMpe2lmKEZTLmlnbm9yZVBlcm1pc3Npb25zKXtyZXR1cm4gMH1pZihwZXJtcy5pbmRl
eE9mKCJyIikhPT0tMSYmIShub2RlLm1vZGUmMjkyKSl7cmV0dXJuIEVSUk5PX0NPREVTLkVBQ0NF
U31lbHNlIGlmKHBlcm1zLmluZGV4T2YoInciKSE9PS0xJiYhKG5vZGUubW9kZSYxNDYpKXtyZXR1
cm4gRVJSTk9fQ09ERVMuRUFDQ0VTfWVsc2UgaWYocGVybXMuaW5kZXhPZigieCIpIT09LTEmJiEo
bm9kZS5tb2RlJjczKSl7cmV0dXJuIEVSUk5PX0NPREVTLkVBQ0NFU31yZXR1cm4gMH0pLG1heUxv
b2t1cDooZnVuY3Rpb24oZGlyKXt2YXIgZXJyPUZTLm5vZGVQZXJtaXNzaW9ucyhkaXIsIngiKTtp
ZihlcnIpcmV0dXJuIGVycjtpZighZGlyLm5vZGVfb3BzLmxvb2t1cClyZXR1cm4gRVJSTk9fQ09E
RVMuRUFDQ0VTO3JldHVybiAwfSksbWF5Q3JlYXRlOihmdW5jdGlvbihkaXIsbmFtZSl7dHJ5e3Zh
ciBub2RlPUZTLmxvb2t1cE5vZGUoZGlyLG5hbWUpO3JldHVybiBFUlJOT19DT0RFUy5FRVhJU1R9
Y2F0Y2goZSl7fXJldHVybiBGUy5ub2RlUGVybWlzc2lvbnMoZGlyLCJ3eCIpfSksbWF5RGVsZXRl
OihmdW5jdGlvbihkaXIsbmFtZSxpc2Rpcil7dmFyIG5vZGU7dHJ5e25vZGU9RlMubG9va3VwTm9k
ZShkaXIsbmFtZSl9Y2F0Y2goZSl7cmV0dXJuIGUuZXJybm99dmFyIGVycj1GUy5ub2RlUGVybWlz
c2lvbnMoZGlyLCJ3eCIpO2lmKGVycil7cmV0dXJuIGVycn1pZihpc2Rpcil7aWYoIUZTLmlzRGly
KG5vZGUubW9kZSkpe3JldHVybiBFUlJOT19DT0RFUy5FTk9URElSfWlmKEZTLmlzUm9vdChub2Rl
KXx8RlMuZ2V0UGF0aChub2RlKT09PUZTLmN3ZCgpKXtyZXR1cm4gRVJSTk9fQ09ERVMuRUJVU1l9
fWVsc2V7aWYoRlMuaXNEaXIobm9kZS5tb2RlKSl7cmV0dXJuIEVSUk5PX0NPREVTLkVJU0RJUn19
cmV0dXJuIDB9KSxtYXlPcGVuOihmdW5jdGlvbihub2RlLGZsYWdzKXtpZighbm9kZSl7cmV0dXJu
IEVSUk5PX0NPREVTLkVOT0VOVH1pZihGUy5pc0xpbmsobm9kZS5tb2RlKSl7cmV0dXJuIEVSUk5P
X0NPREVTLkVMT09QfWVsc2UgaWYoRlMuaXNEaXIobm9kZS5tb2RlKSl7aWYoRlMuZmxhZ3NUb1Bl
cm1pc3Npb25TdHJpbmcoZmxhZ3MpIT09InIifHxmbGFncyY1MTIpe3JldHVybiBFUlJOT19DT0RF
Uy5FSVNESVJ9fXJldHVybiBGUy5ub2RlUGVybWlzc2lvbnMobm9kZSxGUy5mbGFnc1RvUGVybWlz
c2lvblN0cmluZyhmbGFncykpfSksTUFYX09QRU5fRkRTOjQwOTYsbmV4dGZkOihmdW5jdGlvbihm
ZF9zdGFydCxmZF9lbmQpe2ZkX3N0YXJ0PWZkX3N0YXJ0fHwwO2ZkX2VuZD1mZF9lbmR8fEZTLk1B
WF9PUEVOX0ZEUztmb3IodmFyIGZkPWZkX3N0YXJ0O2ZkPD1mZF9lbmQ7ZmQrKyl7aWYoIUZTLnN0
cmVhbXNbZmRdKXtyZXR1cm4gZmR9fXRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVT
LkVNRklMRSl9KSxnZXRTdHJlYW06KGZ1bmN0aW9uKGZkKXtyZXR1cm4gRlMuc3RyZWFtc1tmZF19
KSxjcmVhdGVTdHJlYW06KGZ1bmN0aW9uKHN0cmVhbSxmZF9zdGFydCxmZF9lbmQpe2lmKCFGUy5G
U1N0cmVhbSl7RlMuRlNTdHJlYW09KGZ1bmN0aW9uKCl7fSk7RlMuRlNTdHJlYW0ucHJvdG90eXBl
PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEZTLkZTU3RyZWFtLnByb3RvdHlwZSx7b2JqZWN0
OntnZXQ6KGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZX0pLHNldDooZnVuY3Rpb24odmFsKXt0
aGlzLm5vZGU9dmFsfSl9LGlzUmVhZDp7Z2V0OihmdW5jdGlvbigpe3JldHVybih0aGlzLmZsYWdz
JjIwOTcxNTUpIT09MX0pfSxpc1dyaXRlOntnZXQ6KGZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMuZmxh
Z3MmMjA5NzE1NSkhPT0wfSl9LGlzQXBwZW5kOntnZXQ6KGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu
ZmxhZ3MmMTAyNH0pfX0pfXZhciBuZXdTdHJlYW09bmV3IEZTLkZTU3RyZWFtO2Zvcih2YXIgcCBp
biBzdHJlYW0pe25ld1N0cmVhbVtwXT1zdHJlYW1bcF19c3RyZWFtPW5ld1N0cmVhbTt2YXIgZmQ9
RlMubmV4dGZkKGZkX3N0YXJ0LGZkX2VuZCk7c3RyZWFtLmZkPWZkO0ZTLnN0cmVhbXNbZmRdPXN0
cmVhbTtyZXR1cm4gc3RyZWFtfSksY2xvc2VTdHJlYW06KGZ1bmN0aW9uKGZkKXtGUy5zdHJlYW1z
W2ZkXT1udWxsfSksY2hyZGV2X3N0cmVhbV9vcHM6e29wZW46KGZ1bmN0aW9uKHN0cmVhbSl7dmFy
IGRldmljZT1GUy5nZXREZXZpY2Uoc3RyZWFtLm5vZGUucmRldik7c3RyZWFtLnN0cmVhbV9vcHM9
ZGV2aWNlLnN0cmVhbV9vcHM7aWYoc3RyZWFtLnN0cmVhbV9vcHMub3Blbil7c3RyZWFtLnN0cmVh
bV9vcHMub3BlbihzdHJlYW0pfX0pLGxsc2VlazooZnVuY3Rpb24oKXt0aHJvdyBuZXcgRlMuRXJy
bm9FcnJvcihFUlJOT19DT0RFUy5FU1BJUEUpfSl9LG1ham9yOihmdW5jdGlvbihkZXYpe3JldHVy
biBkZXY+Pjh9KSxtaW5vcjooZnVuY3Rpb24oZGV2KXtyZXR1cm4gZGV2JjI1NX0pLG1ha2VkZXY6
KGZ1bmN0aW9uKG1hLG1pKXtyZXR1cm4gbWE8PDh8bWl9KSxyZWdpc3RlckRldmljZTooZnVuY3Rp
b24oZGV2LG9wcyl7RlMuZGV2aWNlc1tkZXZdPXtzdHJlYW1fb3BzOm9wc319KSxnZXREZXZpY2U6
KGZ1bmN0aW9uKGRldil7cmV0dXJuIEZTLmRldmljZXNbZGV2XX0pLGdldE1vdW50czooZnVuY3Rp
b24obW91bnQpe3ZhciBtb3VudHM9W107dmFyIGNoZWNrPVttb3VudF07d2hpbGUoY2hlY2subGVu
Z3RoKXt2YXIgbT1jaGVjay5wb3AoKTttb3VudHMucHVzaChtKTtjaGVjay5wdXNoLmFwcGx5KGNo
ZWNrLG0ubW91bnRzKX1yZXR1cm4gbW91bnRzfSksc3luY2ZzOihmdW5jdGlvbihwb3B1bGF0ZSxj
YWxsYmFjayl7aWYodHlwZW9mIHBvcHVsYXRlPT09ImZ1bmN0aW9uIil7Y2FsbGJhY2s9cG9wdWxh
dGU7cG9wdWxhdGU9ZmFsc2V9RlMuc3luY0ZTUmVxdWVzdHMrKztpZihGUy5zeW5jRlNSZXF1ZXN0
cz4xKXtjb25zb2xlLmxvZygid2FybmluZzogIitGUy5zeW5jRlNSZXF1ZXN0cysiIEZTLnN5bmNm
cyBvcGVyYXRpb25zIGluIGZsaWdodCBhdCBvbmNlLCBwcm9iYWJseSBqdXN0IGRvaW5nIGV4dHJh
IHdvcmsiKX12YXIgbW91bnRzPUZTLmdldE1vdW50cyhGUy5yb290Lm1vdW50KTt2YXIgY29tcGxl
dGVkPTA7ZnVuY3Rpb24gZG9DYWxsYmFjayhlcnIpe2Fzc2VydChGUy5zeW5jRlNSZXF1ZXN0cz4w
KTtGUy5zeW5jRlNSZXF1ZXN0cy0tO3JldHVybiBjYWxsYmFjayhlcnIpfWZ1bmN0aW9uIGRvbmUo
ZXJyKXtpZihlcnIpe2lmKCFkb25lLmVycm9yZWQpe2RvbmUuZXJyb3JlZD10cnVlO3JldHVybiBk
b0NhbGxiYWNrKGVycil9cmV0dXJufWlmKCsrY29tcGxldGVkPj1tb3VudHMubGVuZ3RoKXtkb0Nh
bGxiYWNrKG51bGwpfX1tb3VudHMuZm9yRWFjaCgoZnVuY3Rpb24obW91bnQpe2lmKCFtb3VudC50
eXBlLnN5bmNmcyl7cmV0dXJuIGRvbmUobnVsbCl9bW91bnQudHlwZS5zeW5jZnMobW91bnQscG9w
dWxhdGUsZG9uZSl9KSl9KSxtb3VudDooZnVuY3Rpb24odHlwZSxvcHRzLG1vdW50cG9pbnQpe3Zh
ciByb290PW1vdW50cG9pbnQ9PT0iLyI7dmFyIHBzZXVkbz0hbW91bnRwb2ludDt2YXIgbm9kZTtp
Zihyb290JiZGUy5yb290KXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FQlVT
WSl9ZWxzZSBpZighcm9vdCYmIXBzZXVkbyl7dmFyIGxvb2t1cD1GUy5sb29rdXBQYXRoKG1vdW50
cG9pbnQse2ZvbGxvd19tb3VudDpmYWxzZX0pO21vdW50cG9pbnQ9bG9va3VwLnBhdGg7bm9kZT1s
b29rdXAubm9kZTtpZihGUy5pc01vdW50cG9pbnQobm9kZSkpe3Rocm93IG5ldyBGUy5FcnJub0Vy
cm9yKEVSUk5PX0NPREVTLkVCVVNZKX1pZighRlMuaXNEaXIobm9kZS5tb2RlKSl7dGhyb3cgbmV3
IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5PVERJUil9fXZhciBtb3VudD17dHlwZTp0eXBl
LG9wdHM6b3B0cyxtb3VudHBvaW50Om1vdW50cG9pbnQsbW91bnRzOltdfTt2YXIgbW91bnRSb290
PXR5cGUubW91bnQobW91bnQpO21vdW50Um9vdC5tb3VudD1tb3VudDttb3VudC5yb290PW1vdW50
Um9vdDtpZihyb290KXtGUy5yb290PW1vdW50Um9vdH1lbHNlIGlmKG5vZGUpe25vZGUubW91bnRl
ZD1tb3VudDtpZihub2RlLm1vdW50KXtub2RlLm1vdW50Lm1vdW50cy5wdXNoKG1vdW50KX19cmV0
dXJuIG1vdW50Um9vdH0pLHVubW91bnQ6KGZ1bmN0aW9uKG1vdW50cG9pbnQpe3ZhciBsb29rdXA9
RlMubG9va3VwUGF0aChtb3VudHBvaW50LHtmb2xsb3dfbW91bnQ6ZmFsc2V9KTtpZighRlMuaXNN
b3VudHBvaW50KGxvb2t1cC5ub2RlKSl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09E
RVMuRUlOVkFMKX12YXIgbm9kZT1sb29rdXAubm9kZTt2YXIgbW91bnQ9bm9kZS5tb3VudGVkO3Zh
ciBtb3VudHM9RlMuZ2V0TW91bnRzKG1vdW50KTtPYmplY3Qua2V5cyhGUy5uYW1lVGFibGUpLmZv
ckVhY2goKGZ1bmN0aW9uKGhhc2gpe3ZhciBjdXJyZW50PUZTLm5hbWVUYWJsZVtoYXNoXTt3aGls
ZShjdXJyZW50KXt2YXIgbmV4dD1jdXJyZW50Lm5hbWVfbmV4dDtpZihtb3VudHMuaW5kZXhPZihj
dXJyZW50Lm1vdW50KSE9PS0xKXtGUy5kZXN0cm95Tm9kZShjdXJyZW50KX1jdXJyZW50PW5leHR9
fSkpO25vZGUubW91bnRlZD1udWxsO3ZhciBpZHg9bm9kZS5tb3VudC5tb3VudHMuaW5kZXhPZiht
b3VudCk7YXNzZXJ0KGlkeCE9PS0xKTtub2RlLm1vdW50Lm1vdW50cy5zcGxpY2UoaWR4LDEpfSks
bG9va3VwOihmdW5jdGlvbihwYXJlbnQsbmFtZSl7cmV0dXJuIHBhcmVudC5ub2RlX29wcy5sb29r
dXAocGFyZW50LG5hbWUpfSksbWtub2Q6KGZ1bmN0aW9uKHBhdGgsbW9kZSxkZXYpe3ZhciBsb29r
dXA9RlMubG9va3VwUGF0aChwYXRoLHtwYXJlbnQ6dHJ1ZX0pO3ZhciBwYXJlbnQ9bG9va3VwLm5v
ZGU7dmFyIG5hbWU9UEFUSC5iYXNlbmFtZShwYXRoKTtpZighbmFtZXx8bmFtZT09PSIuInx8bmFt
ZT09PSIuLiIpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTlZBTCl9dmFy
IGVycj1GUy5tYXlDcmVhdGUocGFyZW50LG5hbWUpO2lmKGVycil7dGhyb3cgbmV3IEZTLkVycm5v
RXJyb3IoZXJyKX1pZighcGFyZW50Lm5vZGVfb3BzLm1rbm9kKXt0aHJvdyBuZXcgRlMuRXJybm9F
cnJvcihFUlJOT19DT0RFUy5FUEVSTSl9cmV0dXJuIHBhcmVudC5ub2RlX29wcy5ta25vZChwYXJl
bnQsbmFtZSxtb2RlLGRldil9KSxjcmVhdGU6KGZ1bmN0aW9uKHBhdGgsbW9kZSl7bW9kZT1tb2Rl
IT09dW5kZWZpbmVkP21vZGU6NDM4O21vZGUmPTQwOTU7bW9kZXw9MzI3Njg7cmV0dXJuIEZTLm1r
bm9kKHBhdGgsbW9kZSwwKX0pLG1rZGlyOihmdW5jdGlvbihwYXRoLG1vZGUpe21vZGU9bW9kZSE9
PXVuZGVmaW5lZD9tb2RlOjUxMTttb2RlJj01MTF8NTEyO21vZGV8PTE2Mzg0O3JldHVybiBGUy5t
a25vZChwYXRoLG1vZGUsMCl9KSxta2RpclRyZWU6KGZ1bmN0aW9uKHBhdGgsbW9kZSl7dmFyIGRp
cnM9cGF0aC5zcGxpdCgiLyIpO3ZhciBkPSIiO2Zvcih2YXIgaT0wO2k8ZGlycy5sZW5ndGg7Kytp
KXtpZighZGlyc1tpXSljb250aW51ZTtkKz0iLyIrZGlyc1tpXTt0cnl7RlMubWtkaXIoZCxtb2Rl
KX1jYXRjaChlKXtpZihlLmVycm5vIT1FUlJOT19DT0RFUy5FRVhJU1QpdGhyb3cgZX19fSksbWtk
ZXY6KGZ1bmN0aW9uKHBhdGgsbW9kZSxkZXYpe2lmKHR5cGVvZiBkZXY9PT0idW5kZWZpbmVkIil7
ZGV2PW1vZGU7bW9kZT00Mzh9bW9kZXw9ODE5MjtyZXR1cm4gRlMubWtub2QocGF0aCxtb2RlLGRl
dil9KSxzeW1saW5rOihmdW5jdGlvbihvbGRwYXRoLG5ld3BhdGgpe2lmKCFQQVRILnJlc29sdmUo
b2xkcGF0aCkpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT0VOVCl9dmFy
IGxvb2t1cD1GUy5sb29rdXBQYXRoKG5ld3BhdGgse3BhcmVudDp0cnVlfSk7dmFyIHBhcmVudD1s
b29rdXAubm9kZTtpZighcGFyZW50KXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RF
Uy5FTk9FTlQpfXZhciBuZXduYW1lPVBBVEguYmFzZW5hbWUobmV3cGF0aCk7dmFyIGVycj1GUy5t
YXlDcmVhdGUocGFyZW50LG5ld25hbWUpO2lmKGVycil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3Io
ZXJyKX1pZighcGFyZW50Lm5vZGVfb3BzLnN5bWxpbmspe3Rocm93IG5ldyBGUy5FcnJub0Vycm9y
KEVSUk5PX0NPREVTLkVQRVJNKX1yZXR1cm4gcGFyZW50Lm5vZGVfb3BzLnN5bWxpbmsocGFyZW50
LG5ld25hbWUsb2xkcGF0aCl9KSxyZW5hbWU6KGZ1bmN0aW9uKG9sZF9wYXRoLG5ld19wYXRoKXt2
YXIgb2xkX2Rpcm5hbWU9UEFUSC5kaXJuYW1lKG9sZF9wYXRoKTt2YXIgbmV3X2Rpcm5hbWU9UEFU
SC5kaXJuYW1lKG5ld19wYXRoKTt2YXIgb2xkX25hbWU9UEFUSC5iYXNlbmFtZShvbGRfcGF0aCk7
dmFyIG5ld19uYW1lPVBBVEguYmFzZW5hbWUobmV3X3BhdGgpO3ZhciBsb29rdXAsb2xkX2Rpcixu
ZXdfZGlyO3RyeXtsb29rdXA9RlMubG9va3VwUGF0aChvbGRfcGF0aCx7cGFyZW50OnRydWV9KTtv
bGRfZGlyPWxvb2t1cC5ub2RlO2xvb2t1cD1GUy5sb29rdXBQYXRoKG5ld19wYXRoLHtwYXJlbnQ6
dHJ1ZX0pO25ld19kaXI9bG9va3VwLm5vZGV9Y2F0Y2goZSl7dGhyb3cgbmV3IEZTLkVycm5vRXJy
b3IoRVJSTk9fQ09ERVMuRUJVU1kpfWlmKCFvbGRfZGlyfHwhbmV3X2Rpcil0aHJvdyBuZXcgRlMu
RXJybm9FcnJvcihFUlJOT19DT0RFUy5FTk9FTlQpO2lmKG9sZF9kaXIubW91bnQhPT1uZXdfZGly
Lm1vdW50KXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FWERFVil9dmFyIG9s
ZF9ub2RlPUZTLmxvb2t1cE5vZGUob2xkX2RpcixvbGRfbmFtZSk7dmFyIHJlbGF0aXZlPVBBVEgu
cmVsYXRpdmUob2xkX3BhdGgsbmV3X2Rpcm5hbWUpO2lmKHJlbGF0aXZlLmNoYXJBdCgwKSE9PSIu
Iil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKX1yZWxhdGl2ZT1Q
QVRILnJlbGF0aXZlKG5ld19wYXRoLG9sZF9kaXJuYW1lKTtpZihyZWxhdGl2ZS5jaGFyQXQoMCkh
PT0iLiIpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT1RFTVBUWSl9dmFy
IG5ld19ub2RlO3RyeXtuZXdfbm9kZT1GUy5sb29rdXBOb2RlKG5ld19kaXIsbmV3X25hbWUpfWNh
dGNoKGUpe31pZihvbGRfbm9kZT09PW5ld19ub2RlKXtyZXR1cm59dmFyIGlzZGlyPUZTLmlzRGly
KG9sZF9ub2RlLm1vZGUpO3ZhciBlcnI9RlMubWF5RGVsZXRlKG9sZF9kaXIsb2xkX25hbWUsaXNk
aXIpO2lmKGVycil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoZXJyKX1lcnI9bmV3X25vZGU/RlMu
bWF5RGVsZXRlKG5ld19kaXIsbmV3X25hbWUsaXNkaXIpOkZTLm1heUNyZWF0ZShuZXdfZGlyLG5l
d19uYW1lKTtpZihlcnIpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKGVycil9aWYoIW9sZF9kaXIu
bm9kZV9vcHMucmVuYW1lKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FUEVS
TSl9aWYoRlMuaXNNb3VudHBvaW50KG9sZF9ub2RlKXx8bmV3X25vZGUmJkZTLmlzTW91bnRwb2lu
dChuZXdfbm9kZSkpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVCVVNZKX1p
ZihuZXdfZGlyIT09b2xkX2Rpcil7ZXJyPUZTLm5vZGVQZXJtaXNzaW9ucyhvbGRfZGlyLCJ3Iik7
aWYoZXJyKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihlcnIpfX10cnl7aWYoRlMudHJhY2tpbmdE
ZWxlZ2F0ZVsid2lsbE1vdmVQYXRoIl0pe0ZTLnRyYWNraW5nRGVsZWdhdGVbIndpbGxNb3ZlUGF0
aCJdKG9sZF9wYXRoLG5ld19wYXRoKX19Y2F0Y2goZSl7Y29uc29sZS5sb2coIkZTLnRyYWNraW5n
RGVsZWdhdGVbJ3dpbGxNb3ZlUGF0aCddKCciK29sZF9wYXRoKyInLCAnIituZXdfcGF0aCsiJykg
dGhyZXcgYW4gZXhjZXB0aW9uOiAiK2UubWVzc2FnZSl9RlMuaGFzaFJlbW92ZU5vZGUob2xkX25v
ZGUpO3RyeXtvbGRfZGlyLm5vZGVfb3BzLnJlbmFtZShvbGRfbm9kZSxuZXdfZGlyLG5ld19uYW1l
KX1jYXRjaChlKXt0aHJvdyBlfWZpbmFsbHl7RlMuaGFzaEFkZE5vZGUob2xkX25vZGUpfXRyeXtp
ZihGUy50cmFja2luZ0RlbGVnYXRlWyJvbk1vdmVQYXRoIl0pRlMudHJhY2tpbmdEZWxlZ2F0ZVsi
b25Nb3ZlUGF0aCJdKG9sZF9wYXRoLG5ld19wYXRoKX1jYXRjaChlKXtjb25zb2xlLmxvZygiRlMu
dHJhY2tpbmdEZWxlZ2F0ZVsnb25Nb3ZlUGF0aCddKCciK29sZF9wYXRoKyInLCAnIituZXdfcGF0
aCsiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiAiK2UubWVzc2FnZSl9fSkscm1kaXI6KGZ1bmN0aW9u
KHBhdGgpe3ZhciBsb29rdXA9RlMubG9va3VwUGF0aChwYXRoLHtwYXJlbnQ6dHJ1ZX0pO3ZhciBw
YXJlbnQ9bG9va3VwLm5vZGU7dmFyIG5hbWU9UEFUSC5iYXNlbmFtZShwYXRoKTt2YXIgbm9kZT1G
Uy5sb29rdXBOb2RlKHBhcmVudCxuYW1lKTt2YXIgZXJyPUZTLm1heURlbGV0ZShwYXJlbnQsbmFt
ZSx0cnVlKTtpZihlcnIpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKGVycil9aWYoIXBhcmVudC5u
b2RlX29wcy5ybWRpcil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRVBFUk0p
fWlmKEZTLmlzTW91bnRwb2ludChub2RlKSl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9f
Q09ERVMuRUJVU1kpfXRyeXtpZihGUy50cmFja2luZ0RlbGVnYXRlWyJ3aWxsRGVsZXRlUGF0aCJd
KXtGUy50cmFja2luZ0RlbGVnYXRlWyJ3aWxsRGVsZXRlUGF0aCJdKHBhdGgpfX1jYXRjaChlKXtj
b25zb2xlLmxvZygiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnd2lsbERlbGV0ZVBhdGgnXSgnIitwYXRo
KyInKSB0aHJldyBhbiBleGNlcHRpb246ICIrZS5tZXNzYWdlKX1wYXJlbnQubm9kZV9vcHMucm1k
aXIocGFyZW50LG5hbWUpO0ZTLmRlc3Ryb3lOb2RlKG5vZGUpO3RyeXtpZihGUy50cmFja2luZ0Rl
bGVnYXRlWyJvbkRlbGV0ZVBhdGgiXSlGUy50cmFja2luZ0RlbGVnYXRlWyJvbkRlbGV0ZVBhdGgi
XShwYXRoKX1jYXRjaChlKXtjb25zb2xlLmxvZygiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25EZWxl
dGVQYXRoJ10oJyIrcGF0aCsiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiAiK2UubWVzc2FnZSl9fSks
cmVhZGRpcjooZnVuY3Rpb24ocGF0aCl7dmFyIGxvb2t1cD1GUy5sb29rdXBQYXRoKHBhdGgse2Zv
bGxvdzp0cnVlfSk7dmFyIG5vZGU9bG9va3VwLm5vZGU7aWYoIW5vZGUubm9kZV9vcHMucmVhZGRp
cil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5PVERJUil9cmV0dXJuIG5v
ZGUubm9kZV9vcHMucmVhZGRpcihub2RlKX0pLHVubGluazooZnVuY3Rpb24ocGF0aCl7dmFyIGxv
b2t1cD1GUy5sb29rdXBQYXRoKHBhdGgse3BhcmVudDp0cnVlfSk7dmFyIHBhcmVudD1sb29rdXAu
bm9kZTt2YXIgbmFtZT1QQVRILmJhc2VuYW1lKHBhdGgpO3ZhciBub2RlPUZTLmxvb2t1cE5vZGUo
cGFyZW50LG5hbWUpO3ZhciBlcnI9RlMubWF5RGVsZXRlKHBhcmVudCxuYW1lLGZhbHNlKTtpZihl
cnIpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKGVycil9aWYoIXBhcmVudC5ub2RlX29wcy51bmxp
bmspe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVQRVJNKX1pZihGUy5pc01v
dW50cG9pbnQobm9kZSkpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVCVVNZ
KX10cnl7aWYoRlMudHJhY2tpbmdEZWxlZ2F0ZVsid2lsbERlbGV0ZVBhdGgiXSl7RlMudHJhY2tp
bmdEZWxlZ2F0ZVsid2lsbERlbGV0ZVBhdGgiXShwYXRoKX19Y2F0Y2goZSl7Y29uc29sZS5sb2co
IkZTLnRyYWNraW5nRGVsZWdhdGVbJ3dpbGxEZWxldGVQYXRoJ10oJyIrcGF0aCsiJykgdGhyZXcg
YW4gZXhjZXB0aW9uOiAiK2UubWVzc2FnZSl9cGFyZW50Lm5vZGVfb3BzLnVubGluayhwYXJlbnQs
bmFtZSk7RlMuZGVzdHJveU5vZGUobm9kZSk7dHJ5e2lmKEZTLnRyYWNraW5nRGVsZWdhdGVbIm9u
RGVsZXRlUGF0aCJdKUZTLnRyYWNraW5nRGVsZWdhdGVbIm9uRGVsZXRlUGF0aCJdKHBhdGgpfWNh
dGNoKGUpe2NvbnNvbGUubG9nKCJGUy50cmFja2luZ0RlbGVnYXRlWydvbkRlbGV0ZVBhdGgnXSgn
IitwYXRoKyInKSB0aHJldyBhbiBleGNlcHRpb246ICIrZS5tZXNzYWdlKX19KSxyZWFkbGluazoo
ZnVuY3Rpb24ocGF0aCl7dmFyIGxvb2t1cD1GUy5sb29rdXBQYXRoKHBhdGgpO3ZhciBsaW5rPWxv
b2t1cC5ub2RlO2lmKCFsaW5rKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5F
Tk9FTlQpfWlmKCFsaW5rLm5vZGVfb3BzLnJlYWRsaW5rKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJv
cihFUlJOT19DT0RFUy5FSU5WQUwpfXJldHVybiBQQVRILnJlc29sdmUoRlMuZ2V0UGF0aChsaW5r
LnBhcmVudCksbGluay5ub2RlX29wcy5yZWFkbGluayhsaW5rKSl9KSxzdGF0OihmdW5jdGlvbihw
YXRoLGRvbnRGb2xsb3cpe3ZhciBsb29rdXA9RlMubG9va3VwUGF0aChwYXRoLHtmb2xsb3c6IWRv
bnRGb2xsb3d9KTt2YXIgbm9kZT1sb29rdXAubm9kZTtpZighbm9kZSl7dGhyb3cgbmV3IEZTLkVy
cm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5PRU5UKX1pZighbm9kZS5ub2RlX29wcy5nZXRhdHRyKXt0
aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FUEVSTSl9cmV0dXJuIG5vZGUubm9k
ZV9vcHMuZ2V0YXR0cihub2RlKX0pLGxzdGF0OihmdW5jdGlvbihwYXRoKXtyZXR1cm4gRlMuc3Rh
dChwYXRoLHRydWUpfSksY2htb2Q6KGZ1bmN0aW9uKHBhdGgsbW9kZSxkb250Rm9sbG93KXt2YXIg
bm9kZTtpZih0eXBlb2YgcGF0aD09PSJzdHJpbmciKXt2YXIgbG9va3VwPUZTLmxvb2t1cFBhdGgo
cGF0aCx7Zm9sbG93OiFkb250Rm9sbG93fSk7bm9kZT1sb29rdXAubm9kZX1lbHNle25vZGU9cGF0
aH1pZighbm9kZS5ub2RlX29wcy5zZXRhdHRyKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJO
T19DT0RFUy5FUEVSTSl9bm9kZS5ub2RlX29wcy5zZXRhdHRyKG5vZGUse21vZGU6bW9kZSY0MDk1
fG5vZGUubW9kZSZ+NDA5NSx0aW1lc3RhbXA6RGF0ZS5ub3coKX0pfSksbGNobW9kOihmdW5jdGlv
bihwYXRoLG1vZGUpe0ZTLmNobW9kKHBhdGgsbW9kZSx0cnVlKX0pLGZjaG1vZDooZnVuY3Rpb24o
ZmQsbW9kZSl7dmFyIHN0cmVhbT1GUy5nZXRTdHJlYW0oZmQpO2lmKCFzdHJlYW0pe3Rocm93IG5l
dyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVCQURGKX1GUy5jaG1vZChzdHJlYW0ubm9kZSxt
b2RlKX0pLGNob3duOihmdW5jdGlvbihwYXRoLHVpZCxnaWQsZG9udEZvbGxvdyl7dmFyIG5vZGU7
aWYodHlwZW9mIHBhdGg9PT0ic3RyaW5nIil7dmFyIGxvb2t1cD1GUy5sb29rdXBQYXRoKHBhdGgs
e2ZvbGxvdzohZG9udEZvbGxvd30pO25vZGU9bG9va3VwLm5vZGV9ZWxzZXtub2RlPXBhdGh9aWYo
IW5vZGUubm9kZV9vcHMuc2V0YXR0cil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09E
RVMuRVBFUk0pfW5vZGUubm9kZV9vcHMuc2V0YXR0cihub2RlLHt0aW1lc3RhbXA6RGF0ZS5ub3co
KX0pfSksbGNob3duOihmdW5jdGlvbihwYXRoLHVpZCxnaWQpe0ZTLmNob3duKHBhdGgsdWlkLGdp
ZCx0cnVlKX0pLGZjaG93bjooZnVuY3Rpb24oZmQsdWlkLGdpZCl7dmFyIHN0cmVhbT1GUy5nZXRT
dHJlYW0oZmQpO2lmKCFzdHJlYW0pe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVT
LkVCQURGKX1GUy5jaG93bihzdHJlYW0ubm9kZSx1aWQsZ2lkKX0pLHRydW5jYXRlOihmdW5jdGlv
bihwYXRoLGxlbil7aWYobGVuPDApe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVT
LkVJTlZBTCl9dmFyIG5vZGU7aWYodHlwZW9mIHBhdGg9PT0ic3RyaW5nIil7dmFyIGxvb2t1cD1G
Uy5sb29rdXBQYXRoKHBhdGgse2ZvbGxvdzp0cnVlfSk7bm9kZT1sb29rdXAubm9kZX1lbHNle25v
ZGU9cGF0aH1pZighbm9kZS5ub2RlX29wcy5zZXRhdHRyKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJv
cihFUlJOT19DT0RFUy5FUEVSTSl9aWYoRlMuaXNEaXIobm9kZS5tb2RlKSl7dGhyb3cgbmV3IEZT
LkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlTRElSKX1pZighRlMuaXNGaWxlKG5vZGUubW9kZSkp
e3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTlZBTCl9dmFyIGVycj1GUy5u
b2RlUGVybWlzc2lvbnMobm9kZSwidyIpO2lmKGVycil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3Io
ZXJyKX1ub2RlLm5vZGVfb3BzLnNldGF0dHIobm9kZSx7c2l6ZTpsZW4sdGltZXN0YW1wOkRhdGUu
bm93KCl9KX0pLGZ0cnVuY2F0ZTooZnVuY3Rpb24oZmQsbGVuKXt2YXIgc3RyZWFtPUZTLmdldFN0
cmVhbShmZCk7aWYoIXN0cmVhbSl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMu
RUJBREYpfWlmKChzdHJlYW0uZmxhZ3MmMjA5NzE1NSk9PT0wKXt0aHJvdyBuZXcgRlMuRXJybm9F
cnJvcihFUlJOT19DT0RFUy5FSU5WQUwpfUZTLnRydW5jYXRlKHN0cmVhbS5ub2RlLGxlbil9KSx1
dGltZTooZnVuY3Rpb24ocGF0aCxhdGltZSxtdGltZSl7dmFyIGxvb2t1cD1GUy5sb29rdXBQYXRo
KHBhdGgse2ZvbGxvdzp0cnVlfSk7dmFyIG5vZGU9bG9va3VwLm5vZGU7bm9kZS5ub2RlX29wcy5z
ZXRhdHRyKG5vZGUse3RpbWVzdGFtcDpNYXRoLm1heChhdGltZSxtdGltZSl9KX0pLG9wZW46KGZ1
bmN0aW9uKHBhdGgsZmxhZ3MsbW9kZSxmZF9zdGFydCxmZF9lbmQpe2lmKHBhdGg9PT0iIil7dGhy
b3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5PRU5UKX1mbGFncz10eXBlb2YgZmxh
Z3M9PT0ic3RyaW5nIj9GUy5tb2RlU3RyaW5nVG9GbGFncyhmbGFncyk6ZmxhZ3M7bW9kZT10eXBl
b2YgbW9kZT09PSJ1bmRlZmluZWQiPzQzODptb2RlO2lmKGZsYWdzJjY0KXttb2RlPW1vZGUmNDA5
NXwzMjc2OH1lbHNle21vZGU9MH12YXIgbm9kZTtpZih0eXBlb2YgcGF0aD09PSJvYmplY3QiKXtu
b2RlPXBhdGh9ZWxzZXtwYXRoPVBBVEgubm9ybWFsaXplKHBhdGgpO3RyeXt2YXIgbG9va3VwPUZT
Lmxvb2t1cFBhdGgocGF0aCx7Zm9sbG93OiEoZmxhZ3MmMTMxMDcyKX0pO25vZGU9bG9va3VwLm5v
ZGV9Y2F0Y2goZSl7fX12YXIgY3JlYXRlZD1mYWxzZTtpZihmbGFncyY2NCl7aWYobm9kZSl7aWYo
ZmxhZ3MmMTI4KXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FRVhJU1QpfX1l
bHNle25vZGU9RlMubWtub2QocGF0aCxtb2RlLDApO2NyZWF0ZWQ9dHJ1ZX19aWYoIW5vZGUpe3Ro
cm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT0VOVCl9aWYoRlMuaXNDaHJkZXYo
bm9kZS5tb2RlKSl7ZmxhZ3MmPX41MTJ9aWYoZmxhZ3MmNjU1MzYmJiFGUy5pc0Rpcihub2RlLm1v
ZGUpKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FTk9URElSKX1pZighY3Jl
YXRlZCl7dmFyIGVycj1GUy5tYXlPcGVuKG5vZGUsZmxhZ3MpO2lmKGVycil7dGhyb3cgbmV3IEZT
LkVycm5vRXJyb3IoZXJyKX19aWYoZmxhZ3MmNTEyKXtGUy50cnVuY2F0ZShub2RlLDApfWZsYWdz
Jj1+KDEyOHw1MTIpO3ZhciBzdHJlYW09RlMuY3JlYXRlU3RyZWFtKHtub2RlOm5vZGUscGF0aDpG
Uy5nZXRQYXRoKG5vZGUpLGZsYWdzOmZsYWdzLHNlZWthYmxlOnRydWUscG9zaXRpb246MCxzdHJl
YW1fb3BzOm5vZGUuc3RyZWFtX29wcyx1bmdvdHRlbjpbXSxlcnJvcjpmYWxzZX0sZmRfc3RhcnQs
ZmRfZW5kKTtpZihzdHJlYW0uc3RyZWFtX29wcy5vcGVuKXtzdHJlYW0uc3RyZWFtX29wcy5vcGVu
KHN0cmVhbSl9aWYoTW9kdWxlWyJsb2dSZWFkRmlsZXMiXSYmIShmbGFncyYxKSl7aWYoIUZTLnJl
YWRGaWxlcylGUy5yZWFkRmlsZXM9e307aWYoIShwYXRoIGluIEZTLnJlYWRGaWxlcykpe0ZTLnJl
YWRGaWxlc1twYXRoXT0xO01vZHVsZVsicHJpbnRFcnIiXSgicmVhZCBmaWxlOiAiK3BhdGgpfX10
cnl7aWYoRlMudHJhY2tpbmdEZWxlZ2F0ZVsib25PcGVuRmlsZSJdKXt2YXIgdHJhY2tpbmdGbGFn
cz0wO2lmKChmbGFncyYyMDk3MTU1KSE9PTEpe3RyYWNraW5nRmxhZ3N8PUZTLnRyYWNraW5nLm9w
ZW5GbGFncy5SRUFEfWlmKChmbGFncyYyMDk3MTU1KSE9PTApe3RyYWNraW5nRmxhZ3N8PUZTLnRy
YWNraW5nLm9wZW5GbGFncy5XUklURX1GUy50cmFja2luZ0RlbGVnYXRlWyJvbk9wZW5GaWxlIl0o
cGF0aCx0cmFja2luZ0ZsYWdzKX19Y2F0Y2goZSl7Y29uc29sZS5sb2coIkZTLnRyYWNraW5nRGVs
ZWdhdGVbJ29uT3BlbkZpbGUnXSgnIitwYXRoKyInLCBmbGFncykgdGhyZXcgYW4gZXhjZXB0aW9u
OiAiK2UubWVzc2FnZSl9cmV0dXJuIHN0cmVhbX0pLGNsb3NlOihmdW5jdGlvbihzdHJlYW0pe2lm
KHN0cmVhbS5nZXRkZW50cylzdHJlYW0uZ2V0ZGVudHM9bnVsbDt0cnl7aWYoc3RyZWFtLnN0cmVh
bV9vcHMuY2xvc2Upe3N0cmVhbS5zdHJlYW1fb3BzLmNsb3NlKHN0cmVhbSl9fWNhdGNoKGUpe3Ro
cm93IGV9ZmluYWxseXtGUy5jbG9zZVN0cmVhbShzdHJlYW0uZmQpfX0pLGxsc2VlazooZnVuY3Rp
b24oc3RyZWFtLG9mZnNldCx3aGVuY2Upe2lmKCFzdHJlYW0uc2Vla2FibGV8fCFzdHJlYW0uc3Ry
ZWFtX29wcy5sbHNlZWspe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVTUElQ
RSl9c3RyZWFtLnBvc2l0aW9uPXN0cmVhbS5zdHJlYW1fb3BzLmxsc2VlayhzdHJlYW0sb2Zmc2V0
LHdoZW5jZSk7c3RyZWFtLnVuZ290dGVuPVtdO3JldHVybiBzdHJlYW0ucG9zaXRpb259KSxyZWFk
OihmdW5jdGlvbihzdHJlYW0sYnVmZmVyLG9mZnNldCxsZW5ndGgscG9zaXRpb24pe2lmKGxlbmd0
aDwwfHxwb3NpdGlvbjwwKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU5W
QUwpfWlmKChzdHJlYW0uZmxhZ3MmMjA5NzE1NSk9PT0xKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJv
cihFUlJOT19DT0RFUy5FQkFERil9aWYoRlMuaXNEaXIoc3RyZWFtLm5vZGUubW9kZSkpe3Rocm93
IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJU0RJUil9aWYoIXN0cmVhbS5zdHJlYW1f
b3BzLnJlYWQpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTlZBTCl9dmFy
IHNlZWtpbmc9dHlwZW9mIHBvc2l0aW9uIT09InVuZGVmaW5lZCI7aWYoIXNlZWtpbmcpe3Bvc2l0
aW9uPXN0cmVhbS5wb3NpdGlvbn1lbHNlIGlmKCFzdHJlYW0uc2Vla2FibGUpe3Rocm93IG5ldyBG
Uy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVTUElQRSl9dmFyIGJ5dGVzUmVhZD1zdHJlYW0uc3Ry
ZWFtX29wcy5yZWFkKHN0cmVhbSxidWZmZXIsb2Zmc2V0LGxlbmd0aCxwb3NpdGlvbik7aWYoIXNl
ZWtpbmcpc3RyZWFtLnBvc2l0aW9uKz1ieXRlc1JlYWQ7cmV0dXJuIGJ5dGVzUmVhZH0pLHdyaXRl
OihmdW5jdGlvbihzdHJlYW0sYnVmZmVyLG9mZnNldCxsZW5ndGgscG9zaXRpb24sY2FuT3duKXtp
ZihsZW5ndGg8MHx8cG9zaXRpb248MCl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09E
RVMuRUlOVkFMKX1pZigoc3RyZWFtLmZsYWdzJjIwOTcxNTUpPT09MCl7dGhyb3cgbmV3IEZTLkVy
cm5vRXJyb3IoRVJSTk9fQ09ERVMuRUJBREYpfWlmKEZTLmlzRGlyKHN0cmVhbS5ub2RlLm1vZGUp
KXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSVNESVIpfWlmKCFzdHJlYW0u
c3RyZWFtX29wcy53cml0ZSl7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlO
VkFMKX1pZihzdHJlYW0uZmxhZ3MmMTAyNCl7RlMubGxzZWVrKHN0cmVhbSwwLDIpfXZhciBzZWVr
aW5nPXR5cGVvZiBwb3NpdGlvbiE9PSJ1bmRlZmluZWQiO2lmKCFzZWVraW5nKXtwb3NpdGlvbj1z
dHJlYW0ucG9zaXRpb259ZWxzZSBpZighc3RyZWFtLnNlZWthYmxlKXt0aHJvdyBuZXcgRlMuRXJy
bm9FcnJvcihFUlJOT19DT0RFUy5FU1BJUEUpfXZhciBieXRlc1dyaXR0ZW49c3RyZWFtLnN0cmVh
bV9vcHMud3JpdGUoc3RyZWFtLGJ1ZmZlcixvZmZzZXQsbGVuZ3RoLHBvc2l0aW9uLGNhbk93bik7
aWYoIXNlZWtpbmcpc3RyZWFtLnBvc2l0aW9uKz1ieXRlc1dyaXR0ZW47dHJ5e2lmKHN0cmVhbS5w
YXRoJiZGUy50cmFja2luZ0RlbGVnYXRlWyJvbldyaXRlVG9GaWxlIl0pRlMudHJhY2tpbmdEZWxl
Z2F0ZVsib25Xcml0ZVRvRmlsZSJdKHN0cmVhbS5wYXRoKX1jYXRjaChlKXtjb25zb2xlLmxvZygi
RlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25Xcml0ZVRvRmlsZSddKCciK3BhdGgrIicpIHRocmV3IGFu
IGV4Y2VwdGlvbjogIitlLm1lc3NhZ2UpfXJldHVybiBieXRlc1dyaXR0ZW59KSxhbGxvY2F0ZToo
ZnVuY3Rpb24oc3RyZWFtLG9mZnNldCxsZW5ndGgpe2lmKG9mZnNldDwwfHxsZW5ndGg8PTApe3Ro
cm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTlZBTCl9aWYoKHN0cmVhbS5mbGFn
cyYyMDk3MTU1KT09PTApe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVCQURG
KX1pZighRlMuaXNGaWxlKHN0cmVhbS5ub2RlLm1vZGUpJiYhRlMuaXNEaXIoc3RyZWFtLm5vZGUu
bW9kZSkpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT0RFVil9aWYoIXN0
cmVhbS5zdHJlYW1fb3BzLmFsbG9jYXRlKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19D
T0RFUy5FT1BOT1RTVVBQKX1zdHJlYW0uc3RyZWFtX29wcy5hbGxvY2F0ZShzdHJlYW0sb2Zmc2V0
LGxlbmd0aCl9KSxtbWFwOihmdW5jdGlvbihzdHJlYW0sYnVmZmVyLG9mZnNldCxsZW5ndGgscG9z
aXRpb24scHJvdCxmbGFncyl7aWYoKHN0cmVhbS5mbGFncyYyMDk3MTU1KT09PTEpe3Rocm93IG5l
dyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVBQ0NFUyl9aWYoIXN0cmVhbS5zdHJlYW1fb3Bz
Lm1tYXApe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT0RFVil9cmV0dXJu
IHN0cmVhbS5zdHJlYW1fb3BzLm1tYXAoc3RyZWFtLGJ1ZmZlcixvZmZzZXQsbGVuZ3RoLHBvc2l0
aW9uLHByb3QsZmxhZ3MpfSksbXN5bmM6KGZ1bmN0aW9uKHN0cmVhbSxidWZmZXIsb2Zmc2V0LGxl
bmd0aCxtbWFwRmxhZ3Mpe2lmKCFzdHJlYW18fCFzdHJlYW0uc3RyZWFtX29wcy5tc3luYyl7cmV0
dXJuIDB9cmV0dXJuIHN0cmVhbS5zdHJlYW1fb3BzLm1zeW5jKHN0cmVhbSxidWZmZXIsb2Zmc2V0
LGxlbmd0aCxtbWFwRmxhZ3MpfSksbXVubWFwOihmdW5jdGlvbihzdHJlYW0pe3JldHVybiAwfSks
aW9jdGw6KGZ1bmN0aW9uKHN0cmVhbSxjbWQsYXJnKXtpZighc3RyZWFtLnN0cmVhbV9vcHMuaW9j
dGwpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT1RUWSl9cmV0dXJuIHN0
cmVhbS5zdHJlYW1fb3BzLmlvY3RsKHN0cmVhbSxjbWQsYXJnKX0pLHJlYWRGaWxlOihmdW5jdGlv
bihwYXRoLG9wdHMpe29wdHM9b3B0c3x8e307b3B0cy5mbGFncz1vcHRzLmZsYWdzfHwiciI7b3B0
cy5lbmNvZGluZz1vcHRzLmVuY29kaW5nfHwiYmluYXJ5IjtpZihvcHRzLmVuY29kaW5nIT09InV0
ZjgiJiZvcHRzLmVuY29kaW5nIT09ImJpbmFyeSIpe3Rocm93IG5ldyBFcnJvcignSW52YWxpZCBl
bmNvZGluZyB0eXBlICInK29wdHMuZW5jb2RpbmcrJyInKX12YXIgcmV0O3ZhciBzdHJlYW09RlMu
b3BlbihwYXRoLG9wdHMuZmxhZ3MpO3ZhciBzdGF0PUZTLnN0YXQocGF0aCk7dmFyIGxlbmd0aD1z
dGF0LnNpemU7dmFyIGJ1Zj1uZXcgVWludDhBcnJheShsZW5ndGgpO0ZTLnJlYWQoc3RyZWFtLGJ1
ZiwwLGxlbmd0aCwwKTtpZihvcHRzLmVuY29kaW5nPT09InV0ZjgiKXtyZXQ9VVRGOEFycmF5VG9T
dHJpbmcoYnVmLDApfWVsc2UgaWYob3B0cy5lbmNvZGluZz09PSJiaW5hcnkiKXtyZXQ9YnVmfUZT
LmNsb3NlKHN0cmVhbSk7cmV0dXJuIHJldH0pLHdyaXRlRmlsZTooZnVuY3Rpb24ocGF0aCxkYXRh
LG9wdHMpe29wdHM9b3B0c3x8e307b3B0cy5mbGFncz1vcHRzLmZsYWdzfHwidyI7dmFyIHN0cmVh
bT1GUy5vcGVuKHBhdGgsb3B0cy5mbGFncyxvcHRzLm1vZGUpO2lmKHR5cGVvZiBkYXRhPT09InN0
cmluZyIpe3ZhciBidWY9bmV3IFVpbnQ4QXJyYXkobGVuZ3RoQnl0ZXNVVEY4KGRhdGEpKzEpO3Zh
ciBhY3R1YWxOdW1CeXRlcz1zdHJpbmdUb1VURjhBcnJheShkYXRhLGJ1ZiwwLGJ1Zi5sZW5ndGgp
O0ZTLndyaXRlKHN0cmVhbSxidWYsMCxhY3R1YWxOdW1CeXRlcyx1bmRlZmluZWQsb3B0cy5jYW5P
d24pfWVsc2UgaWYoQXJyYXlCdWZmZXIuaXNWaWV3KGRhdGEpKXtGUy53cml0ZShzdHJlYW0sZGF0
YSwwLGRhdGEuYnl0ZUxlbmd0aCx1bmRlZmluZWQsb3B0cy5jYW5Pd24pfWVsc2V7dGhyb3cgbmV3
IEVycm9yKCJVbnN1cHBvcnRlZCBkYXRhIHR5cGUiKX1GUy5jbG9zZShzdHJlYW0pfSksY3dkOihm
dW5jdGlvbigpe3JldHVybiBGUy5jdXJyZW50UGF0aH0pLGNoZGlyOihmdW5jdGlvbihwYXRoKXt2
YXIgbG9va3VwPUZTLmxvb2t1cFBhdGgocGF0aCx7Zm9sbG93OnRydWV9KTtpZihsb29rdXAubm9k
ZT09PW51bGwpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT0VOVCl9aWYo
IUZTLmlzRGlyKGxvb2t1cC5ub2RlLm1vZGUpKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJO
T19DT0RFUy5FTk9URElSKX12YXIgZXJyPUZTLm5vZGVQZXJtaXNzaW9ucyhsb29rdXAubm9kZSwi
eCIpO2lmKGVycil7dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoZXJyKX1GUy5jdXJyZW50UGF0aD1s
b29rdXAucGF0aH0pLGNyZWF0ZURlZmF1bHREaXJlY3RvcmllczooZnVuY3Rpb24oKXtGUy5ta2Rp
cigiL3RtcCIpO0ZTLm1rZGlyKCIvaG9tZSIpO0ZTLm1rZGlyKCIvaG9tZS93ZWJfdXNlciIpfSks
Y3JlYXRlRGVmYXVsdERldmljZXM6KGZ1bmN0aW9uKCl7RlMubWtkaXIoIi9kZXYiKTtGUy5yZWdp
c3RlckRldmljZShGUy5tYWtlZGV2KDEsMykse3JlYWQ6KGZ1bmN0aW9uKCl7cmV0dXJuIDB9KSx3
cml0ZTooZnVuY3Rpb24oc3RyZWFtLGJ1ZmZlcixvZmZzZXQsbGVuZ3RoLHBvcyl7cmV0dXJuIGxl
bmd0aH0pfSk7RlMubWtkZXYoIi9kZXYvbnVsbCIsRlMubWFrZWRldigxLDMpKTtUVFkucmVnaXN0
ZXIoRlMubWFrZWRldig1LDApLFRUWS5kZWZhdWx0X3R0eV9vcHMpO1RUWS5yZWdpc3RlcihGUy5t
YWtlZGV2KDYsMCksVFRZLmRlZmF1bHRfdHR5MV9vcHMpO0ZTLm1rZGV2KCIvZGV2L3R0eSIsRlMu
bWFrZWRldig1LDApKTtGUy5ta2RldigiL2Rldi90dHkxIixGUy5tYWtlZGV2KDYsMCkpO3ZhciBy
YW5kb21fZGV2aWNlO2lmKHR5cGVvZiBjcnlwdG8hPT0idW5kZWZpbmVkIil7dmFyIHJhbmRvbUJ1
ZmZlcj1uZXcgVWludDhBcnJheSgxKTtyYW5kb21fZGV2aWNlPShmdW5jdGlvbigpe2NyeXB0by5n
ZXRSYW5kb21WYWx1ZXMocmFuZG9tQnVmZmVyKTtyZXR1cm4gcmFuZG9tQnVmZmVyWzBdfSl9ZWxz
ZSBpZihFTlZJUk9OTUVOVF9JU19OT0RFKXtyYW5kb21fZGV2aWNlPShmdW5jdGlvbigpe3JldHVy
biByZXF1aXJlKCJjcnlwdG8iKVsicmFuZG9tQnl0ZXMiXSgxKVswXX0pfWVsc2V7cmFuZG9tX2Rl
dmljZT0oZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5yYW5kb20oKSoyNTZ8MH0pfUZTLmNyZWF0ZURl
dmljZSgiL2RldiIsInJhbmRvbSIscmFuZG9tX2RldmljZSk7RlMuY3JlYXRlRGV2aWNlKCIvZGV2
IiwidXJhbmRvbSIscmFuZG9tX2RldmljZSk7RlMubWtkaXIoIi9kZXYvc2htIik7RlMubWtkaXIo
Ii9kZXYvc2htL3RtcCIpfSksY3JlYXRlU3BlY2lhbERpcmVjdG9yaWVzOihmdW5jdGlvbigpe0ZT
Lm1rZGlyKCIvcHJvYyIpO0ZTLm1rZGlyKCIvcHJvYy9zZWxmIik7RlMubWtkaXIoIi9wcm9jL3Nl
bGYvZmQiKTtGUy5tb3VudCh7bW91bnQ6KGZ1bmN0aW9uKCl7dmFyIG5vZGU9RlMuY3JlYXRlTm9k
ZSgiL3Byb2Mvc2VsZiIsImZkIiwxNjM4NHw1MTEsNzMpO25vZGUubm9kZV9vcHM9e2xvb2t1cDoo
ZnVuY3Rpb24ocGFyZW50LG5hbWUpe3ZhciBmZD0rbmFtZTt2YXIgc3RyZWFtPUZTLmdldFN0cmVh
bShmZCk7aWYoIXN0cmVhbSl0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FQkFE
Rik7dmFyIHJldD17cGFyZW50Om51bGwsbW91bnQ6e21vdW50cG9pbnQ6ImZha2UifSxub2RlX29w
czp7cmVhZGxpbms6KGZ1bmN0aW9uKCl7cmV0dXJuIHN0cmVhbS5wYXRofSl9fTtyZXQucGFyZW50
PXJldDtyZXR1cm4gcmV0fSl9O3JldHVybiBub2RlfSl9LHt9LCIvcHJvYy9zZWxmL2ZkIil9KSxj
cmVhdGVTdGFuZGFyZFN0cmVhbXM6KGZ1bmN0aW9uKCl7aWYoTW9kdWxlWyJzdGRpbiJdKXtGUy5j
cmVhdGVEZXZpY2UoIi9kZXYiLCJzdGRpbiIsTW9kdWxlWyJzdGRpbiJdKX1lbHNle0ZTLnN5bWxp
bmsoIi9kZXYvdHR5IiwiL2Rldi9zdGRpbiIpfWlmKE1vZHVsZVsic3Rkb3V0Il0pe0ZTLmNyZWF0
ZURldmljZSgiL2RldiIsInN0ZG91dCIsbnVsbCxNb2R1bGVbInN0ZG91dCJdKX1lbHNle0ZTLnN5
bWxpbmsoIi9kZXYvdHR5IiwiL2Rldi9zdGRvdXQiKX1pZihNb2R1bGVbInN0ZGVyciJdKXtGUy5j
cmVhdGVEZXZpY2UoIi9kZXYiLCJzdGRlcnIiLG51bGwsTW9kdWxlWyJzdGRlcnIiXSl9ZWxzZXtG
Uy5zeW1saW5rKCIvZGV2L3R0eTEiLCIvZGV2L3N0ZGVyciIpfXZhciBzdGRpbj1GUy5vcGVuKCIv
ZGV2L3N0ZGluIiwiciIpO2Fzc2VydChzdGRpbi5mZD09PTAsImludmFsaWQgaGFuZGxlIGZvciBz
dGRpbiAoIitzdGRpbi5mZCsiKSIpO3ZhciBzdGRvdXQ9RlMub3BlbigiL2Rldi9zdGRvdXQiLCJ3
Iik7YXNzZXJ0KHN0ZG91dC5mZD09PTEsImludmFsaWQgaGFuZGxlIGZvciBzdGRvdXQgKCIrc3Rk
b3V0LmZkKyIpIik7dmFyIHN0ZGVycj1GUy5vcGVuKCIvZGV2L3N0ZGVyciIsInciKTthc3NlcnQo
c3RkZXJyLmZkPT09MiwiaW52YWxpZCBoYW5kbGUgZm9yIHN0ZGVyciAoIitzdGRlcnIuZmQrIiki
KX0pLGVuc3VyZUVycm5vRXJyb3I6KGZ1bmN0aW9uKCl7aWYoRlMuRXJybm9FcnJvcilyZXR1cm47
RlMuRXJybm9FcnJvcj1mdW5jdGlvbiBFcnJub0Vycm9yKGVycm5vLG5vZGUpe3RoaXMubm9kZT1u
b2RlO3RoaXMuc2V0RXJybm89KGZ1bmN0aW9uKGVycm5vKXt0aGlzLmVycm5vPWVycm5vO2Zvcih2
YXIga2V5IGluIEVSUk5PX0NPREVTKXtpZihFUlJOT19DT0RFU1trZXldPT09ZXJybm8pe3RoaXMu
Y29kZT1rZXk7YnJlYWt9fX0pO3RoaXMuc2V0RXJybm8oZXJybm8pO3RoaXMubWVzc2FnZT1FUlJO
T19NRVNTQUdFU1tlcnJub107aWYodGhpcy5zdGFjaylPYmplY3QuZGVmaW5lUHJvcGVydHkodGhp
cywic3RhY2siLHt2YWx1ZToobmV3IEVycm9yKS5zdGFjayx3cml0YWJsZTp0cnVlfSl9O0ZTLkVy
cm5vRXJyb3IucHJvdG90eXBlPW5ldyBFcnJvcjtGUy5FcnJub0Vycm9yLnByb3RvdHlwZS5jb25z
dHJ1Y3Rvcj1GUy5FcnJub0Vycm9yO1tFUlJOT19DT0RFUy5FTk9FTlRdLmZvckVhY2goKGZ1bmN0
aW9uKGNvZGUpe0ZTLmdlbmVyaWNFcnJvcnNbY29kZV09bmV3IEZTLkVycm5vRXJyb3IoY29kZSk7
RlMuZ2VuZXJpY0Vycm9yc1tjb2RlXS5zdGFjaz0iPGdlbmVyaWMgZXJyb3IsIG5vIHN0YWNrPiJ9
KSl9KSxzdGF0aWNJbml0OihmdW5jdGlvbigpe0ZTLmVuc3VyZUVycm5vRXJyb3IoKTtGUy5uYW1l
VGFibGU9bmV3IEFycmF5KDQwOTYpO0ZTLm1vdW50KE1FTUZTLHt9LCIvIik7RlMuY3JlYXRlRGVm
YXVsdERpcmVjdG9yaWVzKCk7RlMuY3JlYXRlRGVmYXVsdERldmljZXMoKTtGUy5jcmVhdGVTcGVj
aWFsRGlyZWN0b3JpZXMoKTtGUy5maWxlc3lzdGVtcz17Ik1FTUZTIjpNRU1GUywiSURCRlMiOklE
QkZTLCJOT0RFRlMiOk5PREVGUywiV09SS0VSRlMiOldPUktFUkZTfX0pLGluaXQ6KGZ1bmN0aW9u
KGlucHV0LG91dHB1dCxlcnJvcil7YXNzZXJ0KCFGUy5pbml0LmluaXRpYWxpemVkLCJGUy5pbml0
IHdhcyBwcmV2aW91c2x5IGNhbGxlZC4gSWYgeW91IHdhbnQgdG8gaW5pdGlhbGl6ZSBsYXRlciB3
aXRoIGN1c3RvbSBwYXJhbWV0ZXJzLCByZW1vdmUgYW55IGVhcmxpZXIgY2FsbHMgKG5vdGUgdGhh
dCBvbmUgaXMgYXV0b21hdGljYWxseSBhZGRlZCB0byB0aGUgZ2VuZXJhdGVkIGNvZGUpIik7RlMu
aW5pdC5pbml0aWFsaXplZD10cnVlO0ZTLmVuc3VyZUVycm5vRXJyb3IoKTtNb2R1bGVbInN0ZGlu
Il09aW5wdXR8fE1vZHVsZVsic3RkaW4iXTtNb2R1bGVbInN0ZG91dCJdPW91dHB1dHx8TW9kdWxl
WyJzdGRvdXQiXTtNb2R1bGVbInN0ZGVyciJdPWVycm9yfHxNb2R1bGVbInN0ZGVyciJdO0ZTLmNy
ZWF0ZVN0YW5kYXJkU3RyZWFtcygpfSkscXVpdDooZnVuY3Rpb24oKXtGUy5pbml0LmluaXRpYWxp
emVkPWZhbHNlO3ZhciBmZmx1c2g9TW9kdWxlWyJfZmZsdXNoIl07aWYoZmZsdXNoKWZmbHVzaCgw
KTtmb3IodmFyIGk9MDtpPEZTLnN0cmVhbXMubGVuZ3RoO2krKyl7dmFyIHN0cmVhbT1GUy5zdHJl
YW1zW2ldO2lmKCFzdHJlYW0pe2NvbnRpbnVlfUZTLmNsb3NlKHN0cmVhbSl9fSksZ2V0TW9kZToo
ZnVuY3Rpb24oY2FuUmVhZCxjYW5Xcml0ZSl7dmFyIG1vZGU9MDtpZihjYW5SZWFkKW1vZGV8PTI5
Mnw3MztpZihjYW5Xcml0ZSltb2RlfD0xNDY7cmV0dXJuIG1vZGV9KSxqb2luUGF0aDooZnVuY3Rp
b24ocGFydHMsZm9yY2VSZWxhdGl2ZSl7dmFyIHBhdGg9UEFUSC5qb2luLmFwcGx5KG51bGwscGFy
dHMpO2lmKGZvcmNlUmVsYXRpdmUmJnBhdGhbMF09PSIvIilwYXRoPXBhdGguc3Vic3RyKDEpO3Jl
dHVybiBwYXRofSksYWJzb2x1dGVQYXRoOihmdW5jdGlvbihyZWxhdGl2ZSxiYXNlKXtyZXR1cm4g
UEFUSC5yZXNvbHZlKGJhc2UscmVsYXRpdmUpfSksc3RhbmRhcmRpemVQYXRoOihmdW5jdGlvbihw
YXRoKXtyZXR1cm4gUEFUSC5ub3JtYWxpemUocGF0aCl9KSxmaW5kT2JqZWN0OihmdW5jdGlvbihw
YXRoLGRvbnRSZXNvbHZlTGFzdExpbmspe3ZhciByZXQ9RlMuYW5hbHl6ZVBhdGgocGF0aCxkb250
UmVzb2x2ZUxhc3RMaW5rKTtpZihyZXQuZXhpc3RzKXtyZXR1cm4gcmV0Lm9iamVjdH1lbHNle19f
X3NldEVyck5vKHJldC5lcnJvcik7cmV0dXJuIG51bGx9fSksYW5hbHl6ZVBhdGg6KGZ1bmN0aW9u
KHBhdGgsZG9udFJlc29sdmVMYXN0TGluayl7dHJ5e3ZhciBsb29rdXA9RlMubG9va3VwUGF0aChw
YXRoLHtmb2xsb3c6IWRvbnRSZXNvbHZlTGFzdExpbmt9KTtwYXRoPWxvb2t1cC5wYXRofWNhdGNo
KGUpe312YXIgcmV0PXtpc1Jvb3Q6ZmFsc2UsZXhpc3RzOmZhbHNlLGVycm9yOjAsbmFtZTpudWxs
LHBhdGg6bnVsbCxvYmplY3Q6bnVsbCxwYXJlbnRFeGlzdHM6ZmFsc2UscGFyZW50UGF0aDpudWxs
LHBhcmVudE9iamVjdDpudWxsfTt0cnl7dmFyIGxvb2t1cD1GUy5sb29rdXBQYXRoKHBhdGgse3Bh
cmVudDp0cnVlfSk7cmV0LnBhcmVudEV4aXN0cz10cnVlO3JldC5wYXJlbnRQYXRoPWxvb2t1cC5w
YXRoO3JldC5wYXJlbnRPYmplY3Q9bG9va3VwLm5vZGU7cmV0Lm5hbWU9UEFUSC5iYXNlbmFtZShw
YXRoKTtsb29rdXA9RlMubG9va3VwUGF0aChwYXRoLHtmb2xsb3c6IWRvbnRSZXNvbHZlTGFzdExp
bmt9KTtyZXQuZXhpc3RzPXRydWU7cmV0LnBhdGg9bG9va3VwLnBhdGg7cmV0Lm9iamVjdD1sb29r
dXAubm9kZTtyZXQubmFtZT1sb29rdXAubm9kZS5uYW1lO3JldC5pc1Jvb3Q9bG9va3VwLnBhdGg9
PT0iLyJ9Y2F0Y2goZSl7cmV0LmVycm9yPWUuZXJybm99cmV0dXJuIHJldH0pLGNyZWF0ZUZvbGRl
cjooZnVuY3Rpb24ocGFyZW50LG5hbWUsY2FuUmVhZCxjYW5Xcml0ZSl7dmFyIHBhdGg9UEFUSC5q
b2luMih0eXBlb2YgcGFyZW50PT09InN0cmluZyI/cGFyZW50OkZTLmdldFBhdGgocGFyZW50KSxu
YW1lKTt2YXIgbW9kZT1GUy5nZXRNb2RlKGNhblJlYWQsY2FuV3JpdGUpO3JldHVybiBGUy5ta2Rp
cihwYXRoLG1vZGUpfSksY3JlYXRlUGF0aDooZnVuY3Rpb24ocGFyZW50LHBhdGgsY2FuUmVhZCxj
YW5Xcml0ZSl7cGFyZW50PXR5cGVvZiBwYXJlbnQ9PT0ic3RyaW5nIj9wYXJlbnQ6RlMuZ2V0UGF0
aChwYXJlbnQpO3ZhciBwYXJ0cz1wYXRoLnNwbGl0KCIvIikucmV2ZXJzZSgpO3doaWxlKHBhcnRz
Lmxlbmd0aCl7dmFyIHBhcnQ9cGFydHMucG9wKCk7aWYoIXBhcnQpY29udGludWU7dmFyIGN1cnJl
bnQ9UEFUSC5qb2luMihwYXJlbnQscGFydCk7dHJ5e0ZTLm1rZGlyKGN1cnJlbnQpfWNhdGNoKGUp
e31wYXJlbnQ9Y3VycmVudH1yZXR1cm4gY3VycmVudH0pLGNyZWF0ZUZpbGU6KGZ1bmN0aW9uKHBh
cmVudCxuYW1lLHByb3BlcnRpZXMsY2FuUmVhZCxjYW5Xcml0ZSl7dmFyIHBhdGg9UEFUSC5qb2lu
Mih0eXBlb2YgcGFyZW50PT09InN0cmluZyI/cGFyZW50OkZTLmdldFBhdGgocGFyZW50KSxuYW1l
KTt2YXIgbW9kZT1GUy5nZXRNb2RlKGNhblJlYWQsY2FuV3JpdGUpO3JldHVybiBGUy5jcmVhdGUo
cGF0aCxtb2RlKX0pLGNyZWF0ZURhdGFGaWxlOihmdW5jdGlvbihwYXJlbnQsbmFtZSxkYXRhLGNh
blJlYWQsY2FuV3JpdGUsY2FuT3duKXt2YXIgcGF0aD1uYW1lP1BBVEguam9pbjIodHlwZW9mIHBh
cmVudD09PSJzdHJpbmciP3BhcmVudDpGUy5nZXRQYXRoKHBhcmVudCksbmFtZSk6cGFyZW50O3Zh
ciBtb2RlPUZTLmdldE1vZGUoY2FuUmVhZCxjYW5Xcml0ZSk7dmFyIG5vZGU9RlMuY3JlYXRlKHBh
dGgsbW9kZSk7aWYoZGF0YSl7aWYodHlwZW9mIGRhdGE9PT0ic3RyaW5nIil7dmFyIGFycj1uZXcg
QXJyYXkoZGF0YS5sZW5ndGgpO2Zvcih2YXIgaT0wLGxlbj1kYXRhLmxlbmd0aDtpPGxlbjsrK2kp
YXJyW2ldPWRhdGEuY2hhckNvZGVBdChpKTtkYXRhPWFycn1GUy5jaG1vZChub2RlLG1vZGV8MTQ2
KTt2YXIgc3RyZWFtPUZTLm9wZW4obm9kZSwidyIpO0ZTLndyaXRlKHN0cmVhbSxkYXRhLDAsZGF0
YS5sZW5ndGgsMCxjYW5Pd24pO0ZTLmNsb3NlKHN0cmVhbSk7RlMuY2htb2Qobm9kZSxtb2RlKX1y
ZXR1cm4gbm9kZX0pLGNyZWF0ZURldmljZTooZnVuY3Rpb24ocGFyZW50LG5hbWUsaW5wdXQsb3V0
cHV0KXt2YXIgcGF0aD1QQVRILmpvaW4yKHR5cGVvZiBwYXJlbnQ9PT0ic3RyaW5nIj9wYXJlbnQ6
RlMuZ2V0UGF0aChwYXJlbnQpLG5hbWUpO3ZhciBtb2RlPUZTLmdldE1vZGUoISFpbnB1dCwhIW91
dHB1dCk7aWYoIUZTLmNyZWF0ZURldmljZS5tYWpvcilGUy5jcmVhdGVEZXZpY2UubWFqb3I9NjQ7
dmFyIGRldj1GUy5tYWtlZGV2KEZTLmNyZWF0ZURldmljZS5tYWpvcisrLDApO0ZTLnJlZ2lzdGVy
RGV2aWNlKGRldix7b3BlbjooZnVuY3Rpb24oc3RyZWFtKXtzdHJlYW0uc2Vla2FibGU9ZmFsc2V9
KSxjbG9zZTooZnVuY3Rpb24oc3RyZWFtKXtpZihvdXRwdXQmJm91dHB1dC5idWZmZXImJm91dHB1
dC5idWZmZXIubGVuZ3RoKXtvdXRwdXQoMTApfX0pLHJlYWQ6KGZ1bmN0aW9uKHN0cmVhbSxidWZm
ZXIsb2Zmc2V0LGxlbmd0aCxwb3Mpe3ZhciBieXRlc1JlYWQ9MDtmb3IodmFyIGk9MDtpPGxlbmd0
aDtpKyspe3ZhciByZXN1bHQ7dHJ5e3Jlc3VsdD1pbnB1dCgpfWNhdGNoKGUpe3Rocm93IG5ldyBG
Uy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTyl9aWYocmVzdWx0PT09dW5kZWZpbmVkJiZieXRl
c1JlYWQ9PT0wKXt0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FQUdBSU4pfWlm
KHJlc3VsdD09PW51bGx8fHJlc3VsdD09PXVuZGVmaW5lZClicmVhaztieXRlc1JlYWQrKztidWZm
ZXJbb2Zmc2V0K2ldPXJlc3VsdH1pZihieXRlc1JlYWQpe3N0cmVhbS5ub2RlLnRpbWVzdGFtcD1E
YXRlLm5vdygpfXJldHVybiBieXRlc1JlYWR9KSx3cml0ZTooZnVuY3Rpb24oc3RyZWFtLGJ1ZmZl
cixvZmZzZXQsbGVuZ3RoLHBvcyl7Zm9yKHZhciBpPTA7aTxsZW5ndGg7aSsrKXt0cnl7b3V0cHV0
KGJ1ZmZlcltvZmZzZXQraV0pfWNhdGNoKGUpe3Rocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5P
X0NPREVTLkVJTyl9fWlmKGxlbmd0aCl7c3RyZWFtLm5vZGUudGltZXN0YW1wPURhdGUubm93KCl9
cmV0dXJuIGl9KX0pO3JldHVybiBGUy5ta2RldihwYXRoLG1vZGUsZGV2KX0pLGNyZWF0ZUxpbms6
KGZ1bmN0aW9uKHBhcmVudCxuYW1lLHRhcmdldCxjYW5SZWFkLGNhbldyaXRlKXt2YXIgcGF0aD1Q
QVRILmpvaW4yKHR5cGVvZiBwYXJlbnQ9PT0ic3RyaW5nIj9wYXJlbnQ6RlMuZ2V0UGF0aChwYXJl
bnQpLG5hbWUpO3JldHVybiBGUy5zeW1saW5rKHRhcmdldCxwYXRoKX0pLGZvcmNlTG9hZEZpbGU6
KGZ1bmN0aW9uKG9iail7aWYob2JqLmlzRGV2aWNlfHxvYmouaXNGb2xkZXJ8fG9iai5saW5rfHxv
YmouY29udGVudHMpcmV0dXJuIHRydWU7dmFyIHN1Y2Nlc3M9dHJ1ZTtpZih0eXBlb2YgWE1MSHR0
cFJlcXVlc3QhPT0idW5kZWZpbmVkIil7dGhyb3cgbmV3IEVycm9yKCJMYXp5IGxvYWRpbmcgc2hv
dWxkIGhhdmUgYmVlbiBwZXJmb3JtZWQgKGNvbnRlbnRzIHNldCkgaW4gY3JlYXRlTGF6eUZpbGUs
IGJ1dCBpdCB3YXMgbm90LiBMYXp5IGxvYWRpbmcgb25seSB3b3JrcyBpbiB3ZWIgd29ya2Vycy4g
VXNlIC0tZW1iZWQtZmlsZSBvciAtLXByZWxvYWQtZmlsZSBpbiBlbWNjIG9uIHRoZSBtYWluIHRo
cmVhZC4iKX1lbHNlIGlmKE1vZHVsZVsicmVhZCJdKXt0cnl7b2JqLmNvbnRlbnRzPWludEFycmF5
RnJvbVN0cmluZyhNb2R1bGVbInJlYWQiXShvYmoudXJsKSx0cnVlKTtvYmoudXNlZEJ5dGVzPW9i
ai5jb250ZW50cy5sZW5ndGh9Y2F0Y2goZSl7c3VjY2Vzcz1mYWxzZX19ZWxzZXt0aHJvdyBuZXcg
RXJyb3IoIkNhbm5vdCBsb2FkIHdpdGhvdXQgcmVhZCgpIG9yIFhNTEh0dHBSZXF1ZXN0LiIpfWlm
KCFzdWNjZXNzKV9fX3NldEVyck5vKEVSUk5PX0NPREVTLkVJTyk7cmV0dXJuIHN1Y2Nlc3N9KSxj
cmVhdGVMYXp5RmlsZTooZnVuY3Rpb24ocGFyZW50LG5hbWUsdXJsLGNhblJlYWQsY2FuV3JpdGUp
e2Z1bmN0aW9uIExhenlVaW50OEFycmF5KCl7dGhpcy5sZW5ndGhLbm93bj1mYWxzZTt0aGlzLmNo
dW5rcz1bXX1MYXp5VWludDhBcnJheS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uIExhenlVaW50OEFy
cmF5X2dldChpZHgpe2lmKGlkeD50aGlzLmxlbmd0aC0xfHxpZHg8MCl7cmV0dXJuIHVuZGVmaW5l
ZH12YXIgY2h1bmtPZmZzZXQ9aWR4JXRoaXMuY2h1bmtTaXplO3ZhciBjaHVua051bT1pZHgvdGhp
cy5jaHVua1NpemV8MDtyZXR1cm4gdGhpcy5nZXR0ZXIoY2h1bmtOdW0pW2NodW5rT2Zmc2V0XX07
TGF6eVVpbnQ4QXJyYXkucHJvdG90eXBlLnNldERhdGFHZXR0ZXI9ZnVuY3Rpb24gTGF6eVVpbnQ4
QXJyYXlfc2V0RGF0YUdldHRlcihnZXR0ZXIpe3RoaXMuZ2V0dGVyPWdldHRlcn07TGF6eVVpbnQ4
QXJyYXkucHJvdG90eXBlLmNhY2hlTGVuZ3RoPWZ1bmN0aW9uIExhenlVaW50OEFycmF5X2NhY2hl
TGVuZ3RoKCl7dmFyIHhocj1uZXcgWE1MSHR0cFJlcXVlc3Q7eGhyLm9wZW4oIkhFQUQiLHVybCxm
YWxzZSk7eGhyLnNlbmQobnVsbCk7aWYoISh4aHIuc3RhdHVzPj0yMDAmJnhoci5zdGF0dXM8MzAw
fHx4aHIuc3RhdHVzPT09MzA0KSl0aHJvdyBuZXcgRXJyb3IoIkNvdWxkbid0IGxvYWQgIit1cmwr
Ii4gU3RhdHVzOiAiK3hoci5zdGF0dXMpO3ZhciBkYXRhbGVuZ3RoPU51bWJlcih4aHIuZ2V0UmVz
cG9uc2VIZWFkZXIoIkNvbnRlbnQtbGVuZ3RoIikpO3ZhciBoZWFkZXI7dmFyIGhhc0J5dGVTZXJ2
aW5nPShoZWFkZXI9eGhyLmdldFJlc3BvbnNlSGVhZGVyKCJBY2NlcHQtUmFuZ2VzIikpJiZoZWFk
ZXI9PT0iYnl0ZXMiO3ZhciB1c2VzR3ppcD0oaGVhZGVyPXhoci5nZXRSZXNwb25zZUhlYWRlcigi
Q29udGVudC1FbmNvZGluZyIpKSYmaGVhZGVyPT09Imd6aXAiO3ZhciBjaHVua1NpemU9MTAyNCox
MDI0O2lmKCFoYXNCeXRlU2VydmluZyljaHVua1NpemU9ZGF0YWxlbmd0aDt2YXIgZG9YSFI9KGZ1
bmN0aW9uKGZyb20sdG8pe2lmKGZyb20+dG8pdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHJhbmdl
ICgiK2Zyb20rIiwgIit0bysiKSBvciBubyBieXRlcyByZXF1ZXN0ZWQhIik7aWYodG8+ZGF0YWxl
bmd0aC0xKXRocm93IG5ldyBFcnJvcigib25seSAiK2RhdGFsZW5ndGgrIiBieXRlcyBhdmFpbGFi
bGUhIHByb2dyYW1tZXIgZXJyb3IhIik7dmFyIHhocj1uZXcgWE1MSHR0cFJlcXVlc3Q7eGhyLm9w
ZW4oIkdFVCIsdXJsLGZhbHNlKTtpZihkYXRhbGVuZ3RoIT09Y2h1bmtTaXplKXhoci5zZXRSZXF1
ZXN0SGVhZGVyKCJSYW5nZSIsImJ5dGVzPSIrZnJvbSsiLSIrdG8pO2lmKHR5cGVvZiBVaW50OEFy
cmF5IT0idW5kZWZpbmVkIil4aHIucmVzcG9uc2VUeXBlPSJhcnJheWJ1ZmZlciI7aWYoeGhyLm92
ZXJyaWRlTWltZVR5cGUpe3hoci5vdmVycmlkZU1pbWVUeXBlKCJ0ZXh0L3BsYWluOyBjaGFyc2V0
PXgtdXNlci1kZWZpbmVkIil9eGhyLnNlbmQobnVsbCk7aWYoISh4aHIuc3RhdHVzPj0yMDAmJnho
ci5zdGF0dXM8MzAwfHx4aHIuc3RhdHVzPT09MzA0KSl0aHJvdyBuZXcgRXJyb3IoIkNvdWxkbid0
IGxvYWQgIit1cmwrIi4gU3RhdHVzOiAiK3hoci5zdGF0dXMpO2lmKHhoci5yZXNwb25zZSE9PXVu
ZGVmaW5lZCl7cmV0dXJuIG5ldyBVaW50OEFycmF5KHhoci5yZXNwb25zZXx8W10pfWVsc2V7cmV0
dXJuIGludEFycmF5RnJvbVN0cmluZyh4aHIucmVzcG9uc2VUZXh0fHwiIix0cnVlKX19KTt2YXIg
bGF6eUFycmF5PXRoaXM7bGF6eUFycmF5LnNldERhdGFHZXR0ZXIoKGZ1bmN0aW9uKGNodW5rTnVt
KXt2YXIgc3RhcnQ9Y2h1bmtOdW0qY2h1bmtTaXplO3ZhciBlbmQ9KGNodW5rTnVtKzEpKmNodW5r
U2l6ZS0xO2VuZD1NYXRoLm1pbihlbmQsZGF0YWxlbmd0aC0xKTtpZih0eXBlb2YgbGF6eUFycmF5
LmNodW5rc1tjaHVua051bV09PT0idW5kZWZpbmVkIil7bGF6eUFycmF5LmNodW5rc1tjaHVua051
bV09ZG9YSFIoc3RhcnQsZW5kKX1pZih0eXBlb2YgbGF6eUFycmF5LmNodW5rc1tjaHVua051bV09
PT0idW5kZWZpbmVkIil0aHJvdyBuZXcgRXJyb3IoImRvWEhSIGZhaWxlZCEiKTtyZXR1cm4gbGF6
eUFycmF5LmNodW5rc1tjaHVua051bV19KSk7aWYodXNlc0d6aXB8fCFkYXRhbGVuZ3RoKXtjaHVu
a1NpemU9ZGF0YWxlbmd0aD0xO2RhdGFsZW5ndGg9dGhpcy5nZXR0ZXIoMCkubGVuZ3RoO2NodW5r
U2l6ZT1kYXRhbGVuZ3RoO2NvbnNvbGUubG9nKCJMYXp5RmlsZXMgb24gZ3ppcCBmb3JjZXMgZG93
bmxvYWQgb2YgdGhlIHdob2xlIGZpbGUgd2hlbiBsZW5ndGggaXMgYWNjZXNzZWQiKX10aGlzLl9s
ZW5ndGg9ZGF0YWxlbmd0aDt0aGlzLl9jaHVua1NpemU9Y2h1bmtTaXplO3RoaXMubGVuZ3RoS25v
d249dHJ1ZX07aWYodHlwZW9mIFhNTEh0dHBSZXF1ZXN0IT09InVuZGVmaW5lZCIpe2lmKCFFTlZJ
Uk9OTUVOVF9JU19XT1JLRVIpdGhyb3ciQ2Fubm90IGRvIHN5bmNocm9ub3VzIGJpbmFyeSBYSFJz
IG91dHNpZGUgd2Vid29ya2VycyBpbiBtb2Rlcm4gYnJvd3NlcnMuIFVzZSAtLWVtYmVkLWZpbGUg
b3IgLS1wcmVsb2FkLWZpbGUgaW4gZW1jYyI7dmFyIGxhenlBcnJheT1uZXcgTGF6eVVpbnQ4QXJy
YXk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMobGF6eUFycmF5LHtsZW5ndGg6e2dldDooZnVuY3Rp
b24oKXtpZighdGhpcy5sZW5ndGhLbm93bil7dGhpcy5jYWNoZUxlbmd0aCgpfXJldHVybiB0aGlz
Ll9sZW5ndGh9KX0sY2h1bmtTaXplOntnZXQ6KGZ1bmN0aW9uKCl7aWYoIXRoaXMubGVuZ3RoS25v
d24pe3RoaXMuY2FjaGVMZW5ndGgoKX1yZXR1cm4gdGhpcy5fY2h1bmtTaXplfSl9fSk7dmFyIHBy
b3BlcnRpZXM9e2lzRGV2aWNlOmZhbHNlLGNvbnRlbnRzOmxhenlBcnJheX19ZWxzZXt2YXIgcHJv
cGVydGllcz17aXNEZXZpY2U6ZmFsc2UsdXJsOnVybH19dmFyIG5vZGU9RlMuY3JlYXRlRmlsZShw
YXJlbnQsbmFtZSxwcm9wZXJ0aWVzLGNhblJlYWQsY2FuV3JpdGUpO2lmKHByb3BlcnRpZXMuY29u
dGVudHMpe25vZGUuY29udGVudHM9cHJvcGVydGllcy5jb250ZW50c31lbHNlIGlmKHByb3BlcnRp
ZXMudXJsKXtub2RlLmNvbnRlbnRzPW51bGw7bm9kZS51cmw9cHJvcGVydGllcy51cmx9T2JqZWN0
LmRlZmluZVByb3BlcnRpZXMobm9kZSx7dXNlZEJ5dGVzOntnZXQ6KGZ1bmN0aW9uKCl7cmV0dXJu
IHRoaXMuY29udGVudHMubGVuZ3RofSl9fSk7dmFyIHN0cmVhbV9vcHM9e307dmFyIGtleXM9T2Jq
ZWN0LmtleXMobm9kZS5zdHJlYW1fb3BzKTtrZXlzLmZvckVhY2goKGZ1bmN0aW9uKGtleSl7dmFy
IGZuPW5vZGUuc3RyZWFtX29wc1trZXldO3N0cmVhbV9vcHNba2V5XT1mdW5jdGlvbiBmb3JjZUxv
YWRMYXp5RmlsZSgpe2lmKCFGUy5mb3JjZUxvYWRGaWxlKG5vZGUpKXt0aHJvdyBuZXcgRlMuRXJy
bm9FcnJvcihFUlJOT19DT0RFUy5FSU8pfXJldHVybiBmbi5hcHBseShudWxsLGFyZ3VtZW50cyl9
fSkpO3N0cmVhbV9vcHMucmVhZD1mdW5jdGlvbiBzdHJlYW1fb3BzX3JlYWQoc3RyZWFtLGJ1ZmZl
cixvZmZzZXQsbGVuZ3RoLHBvc2l0aW9uKXtpZighRlMuZm9yY2VMb2FkRmlsZShub2RlKSl7dGhy
b3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlPKX12YXIgY29udGVudHM9c3RyZWFt
Lm5vZGUuY29udGVudHM7aWYocG9zaXRpb24+PWNvbnRlbnRzLmxlbmd0aClyZXR1cm4gMDt2YXIg
c2l6ZT1NYXRoLm1pbihjb250ZW50cy5sZW5ndGgtcG9zaXRpb24sbGVuZ3RoKTthc3NlcnQoc2l6
ZT49MCk7aWYoY29udGVudHMuc2xpY2Upe2Zvcih2YXIgaT0wO2k8c2l6ZTtpKyspe2J1ZmZlcltv
ZmZzZXQraV09Y29udGVudHNbcG9zaXRpb24raV19fWVsc2V7Zm9yKHZhciBpPTA7aTxzaXplO2kr
Kyl7YnVmZmVyW29mZnNldCtpXT1jb250ZW50cy5nZXQocG9zaXRpb24raSl9fXJldHVybiBzaXpl
fTtub2RlLnN0cmVhbV9vcHM9c3RyZWFtX29wcztyZXR1cm4gbm9kZX0pLGNyZWF0ZVByZWxvYWRl
ZEZpbGU6KGZ1bmN0aW9uKHBhcmVudCxuYW1lLHVybCxjYW5SZWFkLGNhbldyaXRlLG9ubG9hZCxv
bmVycm9yLGRvbnRDcmVhdGVGaWxlLGNhbk93bixwcmVGaW5pc2gpe0Jyb3dzZXIuaW5pdCgpO3Zh
ciBmdWxsbmFtZT1uYW1lP1BBVEgucmVzb2x2ZShQQVRILmpvaW4yKHBhcmVudCxuYW1lKSk6cGFy
ZW50O3ZhciBkZXA9Z2V0VW5pcXVlUnVuRGVwZW5kZW5jeSgiY3AgIitmdWxsbmFtZSk7ZnVuY3Rp
b24gcHJvY2Vzc0RhdGEoYnl0ZUFycmF5KXtmdW5jdGlvbiBmaW5pc2goYnl0ZUFycmF5KXtpZihw
cmVGaW5pc2gpcHJlRmluaXNoKCk7aWYoIWRvbnRDcmVhdGVGaWxlKXtGUy5jcmVhdGVEYXRhRmls
ZShwYXJlbnQsbmFtZSxieXRlQXJyYXksY2FuUmVhZCxjYW5Xcml0ZSxjYW5Pd24pfWlmKG9ubG9h
ZClvbmxvYWQoKTtyZW1vdmVSdW5EZXBlbmRlbmN5KGRlcCl9dmFyIGhhbmRsZWQ9ZmFsc2U7TW9k
dWxlWyJwcmVsb2FkUGx1Z2lucyJdLmZvckVhY2goKGZ1bmN0aW9uKHBsdWdpbil7aWYoaGFuZGxl
ZClyZXR1cm47aWYocGx1Z2luWyJjYW5IYW5kbGUiXShmdWxsbmFtZSkpe3BsdWdpblsiaGFuZGxl
Il0oYnl0ZUFycmF5LGZ1bGxuYW1lLGZpbmlzaCwoZnVuY3Rpb24oKXtpZihvbmVycm9yKW9uZXJy
b3IoKTtyZW1vdmVSdW5EZXBlbmRlbmN5KGRlcCl9KSk7aGFuZGxlZD10cnVlfX0pKTtpZighaGFu
ZGxlZClmaW5pc2goYnl0ZUFycmF5KX1hZGRSdW5EZXBlbmRlbmN5KGRlcCk7aWYodHlwZW9mIHVy
bD09InN0cmluZyIpe0Jyb3dzZXIuYXN5bmNMb2FkKHVybCwoZnVuY3Rpb24oYnl0ZUFycmF5KXtw
cm9jZXNzRGF0YShieXRlQXJyYXkpfSksb25lcnJvcil9ZWxzZXtwcm9jZXNzRGF0YSh1cmwpfX0p
LGluZGV4ZWREQjooZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LmluZGV4ZWREQnx8d2luZG93Lm1v
ekluZGV4ZWREQnx8d2luZG93LndlYmtpdEluZGV4ZWREQnx8d2luZG93Lm1zSW5kZXhlZERCfSks
REJfTkFNRTooZnVuY3Rpb24oKXtyZXR1cm4iRU1fRlNfIit3aW5kb3cubG9jYXRpb24ucGF0aG5h
bWV9KSxEQl9WRVJTSU9OOjIwLERCX1NUT1JFX05BTUU6IkZJTEVfREFUQSIsc2F2ZUZpbGVzVG9E
QjooZnVuY3Rpb24ocGF0aHMsb25sb2FkLG9uZXJyb3Ipe29ubG9hZD1vbmxvYWR8fChmdW5jdGlv
bigpe30pO29uZXJyb3I9b25lcnJvcnx8KGZ1bmN0aW9uKCl7fSk7dmFyIGluZGV4ZWREQj1GUy5p
bmRleGVkREIoKTt0cnl7dmFyIG9wZW5SZXF1ZXN0PWluZGV4ZWREQi5vcGVuKEZTLkRCX05BTUUo
KSxGUy5EQl9WRVJTSU9OKX1jYXRjaChlKXtyZXR1cm4gb25lcnJvcihlKX1vcGVuUmVxdWVzdC5v
bnVwZ3JhZGVuZWVkZWQ9ZnVuY3Rpb24gb3BlblJlcXVlc3Rfb251cGdyYWRlbmVlZGVkKCl7Y29u
c29sZS5sb2coImNyZWF0aW5nIGRiIik7dmFyIGRiPW9wZW5SZXF1ZXN0LnJlc3VsdDtkYi5jcmVh
dGVPYmplY3RTdG9yZShGUy5EQl9TVE9SRV9OQU1FKX07b3BlblJlcXVlc3Qub25zdWNjZXNzPWZ1
bmN0aW9uIG9wZW5SZXF1ZXN0X29uc3VjY2Vzcygpe3ZhciBkYj1vcGVuUmVxdWVzdC5yZXN1bHQ7
dmFyIHRyYW5zYWN0aW9uPWRiLnRyYW5zYWN0aW9uKFtGUy5EQl9TVE9SRV9OQU1FXSwicmVhZHdy
aXRlIik7dmFyIGZpbGVzPXRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKEZTLkRCX1NUT1JFX05BTUUp
O3ZhciBvaz0wLGZhaWw9MCx0b3RhbD1wYXRocy5sZW5ndGg7ZnVuY3Rpb24gZmluaXNoKCl7aWYo
ZmFpbD09MClvbmxvYWQoKTtlbHNlIG9uZXJyb3IoKX1wYXRocy5mb3JFYWNoKChmdW5jdGlvbihw
YXRoKXt2YXIgcHV0UmVxdWVzdD1maWxlcy5wdXQoRlMuYW5hbHl6ZVBhdGgocGF0aCkub2JqZWN0
LmNvbnRlbnRzLHBhdGgpO3B1dFJlcXVlc3Qub25zdWNjZXNzPWZ1bmN0aW9uIHB1dFJlcXVlc3Rf
b25zdWNjZXNzKCl7b2srKztpZihvaytmYWlsPT10b3RhbClmaW5pc2goKX07cHV0UmVxdWVzdC5v
bmVycm9yPWZ1bmN0aW9uIHB1dFJlcXVlc3Rfb25lcnJvcigpe2ZhaWwrKztpZihvaytmYWlsPT10
b3RhbClmaW5pc2goKX19KSk7dHJhbnNhY3Rpb24ub25lcnJvcj1vbmVycm9yfTtvcGVuUmVxdWVz
dC5vbmVycm9yPW9uZXJyb3J9KSxsb2FkRmlsZXNGcm9tREI6KGZ1bmN0aW9uKHBhdGhzLG9ubG9h
ZCxvbmVycm9yKXtvbmxvYWQ9b25sb2FkfHwoZnVuY3Rpb24oKXt9KTtvbmVycm9yPW9uZXJyb3J8
fChmdW5jdGlvbigpe30pO3ZhciBpbmRleGVkREI9RlMuaW5kZXhlZERCKCk7dHJ5e3ZhciBvcGVu
UmVxdWVzdD1pbmRleGVkREIub3BlbihGUy5EQl9OQU1FKCksRlMuREJfVkVSU0lPTil9Y2F0Y2go
ZSl7cmV0dXJuIG9uZXJyb3IoZSl9b3BlblJlcXVlc3Qub251cGdyYWRlbmVlZGVkPW9uZXJyb3I7
b3BlblJlcXVlc3Qub25zdWNjZXNzPWZ1bmN0aW9uIG9wZW5SZXF1ZXN0X29uc3VjY2Vzcygpe3Zh
ciBkYj1vcGVuUmVxdWVzdC5yZXN1bHQ7dHJ5e3ZhciB0cmFuc2FjdGlvbj1kYi50cmFuc2FjdGlv
bihbRlMuREJfU1RPUkVfTkFNRV0sInJlYWRvbmx5Iil9Y2F0Y2goZSl7b25lcnJvcihlKTtyZXR1
cm59dmFyIGZpbGVzPXRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKEZTLkRCX1NUT1JFX05BTUUpO3Zh
ciBvaz0wLGZhaWw9MCx0b3RhbD1wYXRocy5sZW5ndGg7ZnVuY3Rpb24gZmluaXNoKCl7aWYoZmFp
bD09MClvbmxvYWQoKTtlbHNlIG9uZXJyb3IoKX1wYXRocy5mb3JFYWNoKChmdW5jdGlvbihwYXRo
KXt2YXIgZ2V0UmVxdWVzdD1maWxlcy5nZXQocGF0aCk7Z2V0UmVxdWVzdC5vbnN1Y2Nlc3M9ZnVu
Y3Rpb24gZ2V0UmVxdWVzdF9vbnN1Y2Nlc3MoKXtpZihGUy5hbmFseXplUGF0aChwYXRoKS5leGlz
dHMpe0ZTLnVubGluayhwYXRoKX1GUy5jcmVhdGVEYXRhRmlsZShQQVRILmRpcm5hbWUocGF0aCks
UEFUSC5iYXNlbmFtZShwYXRoKSxnZXRSZXF1ZXN0LnJlc3VsdCx0cnVlLHRydWUsdHJ1ZSk7b2sr
KztpZihvaytmYWlsPT10b3RhbClmaW5pc2goKX07Z2V0UmVxdWVzdC5vbmVycm9yPWZ1bmN0aW9u
IGdldFJlcXVlc3Rfb25lcnJvcigpe2ZhaWwrKztpZihvaytmYWlsPT10b3RhbClmaW5pc2goKX19
KSk7dHJhbnNhY3Rpb24ub25lcnJvcj1vbmVycm9yfTtvcGVuUmVxdWVzdC5vbmVycm9yPW9uZXJy
b3J9KX07dmFyIFNZU0NBTExTPXtERUZBVUxUX1BPTExNQVNLOjUsbWFwcGluZ3M6e30sdW1hc2s6
NTExLGNhbGN1bGF0ZUF0OihmdW5jdGlvbihkaXJmZCxwYXRoKXtpZihwYXRoWzBdIT09Ii8iKXt2
YXIgZGlyO2lmKGRpcmZkPT09LTEwMCl7ZGlyPUZTLmN3ZCgpfWVsc2V7dmFyIGRpcnN0cmVhbT1G
Uy5nZXRTdHJlYW0oZGlyZmQpO2lmKCFkaXJzdHJlYW0pdGhyb3cgbmV3IEZTLkVycm5vRXJyb3Io
RVJSTk9fQ09ERVMuRUJBREYpO2Rpcj1kaXJzdHJlYW0ucGF0aH1wYXRoPVBBVEguam9pbjIoZGly
LHBhdGgpfXJldHVybiBwYXRofSksZG9TdGF0OihmdW5jdGlvbihmdW5jLHBhdGgsYnVmKXt0cnl7
dmFyIHN0YXQ9ZnVuYyhwYXRoKX1jYXRjaChlKXtpZihlJiZlLm5vZGUmJlBBVEgubm9ybWFsaXpl
KHBhdGgpIT09UEFUSC5ub3JtYWxpemUoRlMuZ2V0UGF0aChlLm5vZGUpKSl7cmV0dXJuLUVSUk5P
X0NPREVTLkVOT1RESVJ9dGhyb3cgZX1IRUFQMzJbYnVmPj4yXT1zdGF0LmRldjtIRUFQMzJbYnVm
KzQ+PjJdPTA7SEVBUDMyW2J1Zis4Pj4yXT1zdGF0LmlubztIRUFQMzJbYnVmKzEyPj4yXT1zdGF0
Lm1vZGU7SEVBUDMyW2J1ZisxNj4+Ml09c3RhdC5ubGluaztIRUFQMzJbYnVmKzIwPj4yXT1zdGF0
LnVpZDtIRUFQMzJbYnVmKzI0Pj4yXT1zdGF0LmdpZDtIRUFQMzJbYnVmKzI4Pj4yXT1zdGF0LnJk
ZXY7SEVBUDMyW2J1ZiszMj4+Ml09MDtIRUFQMzJbYnVmKzM2Pj4yXT1zdGF0LnNpemU7SEVBUDMy
W2J1Zis0MD4+Ml09NDA5NjtIRUFQMzJbYnVmKzQ0Pj4yXT1zdGF0LmJsb2NrcztIRUFQMzJbYnVm
KzQ4Pj4yXT1zdGF0LmF0aW1lLmdldFRpbWUoKS8xZTN8MDtIRUFQMzJbYnVmKzUyPj4yXT0wO0hF
QVAzMltidWYrNTY+PjJdPXN0YXQubXRpbWUuZ2V0VGltZSgpLzFlM3wwO0hFQVAzMltidWYrNjA+
PjJdPTA7SEVBUDMyW2J1Zis2ND4+Ml09c3RhdC5jdGltZS5nZXRUaW1lKCkvMWUzfDA7SEVBUDMy
W2J1Zis2OD4+Ml09MDtIRUFQMzJbYnVmKzcyPj4yXT1zdGF0LmlubztyZXR1cm4gMH0pLGRvTXN5
bmM6KGZ1bmN0aW9uKGFkZHIsc3RyZWFtLGxlbixmbGFncyl7dmFyIGJ1ZmZlcj1uZXcgVWludDhB
cnJheShIRUFQVTguc3ViYXJyYXkoYWRkcixhZGRyK2xlbikpO0ZTLm1zeW5jKHN0cmVhbSxidWZm
ZXIsMCxsZW4sZmxhZ3MpfSksZG9Na2RpcjooZnVuY3Rpb24ocGF0aCxtb2RlKXtwYXRoPVBBVEgu
bm9ybWFsaXplKHBhdGgpO2lmKHBhdGhbcGF0aC5sZW5ndGgtMV09PT0iLyIpcGF0aD1wYXRoLnN1
YnN0cigwLHBhdGgubGVuZ3RoLTEpO0ZTLm1rZGlyKHBhdGgsbW9kZSwwKTtyZXR1cm4gMH0pLGRv
TWtub2Q6KGZ1bmN0aW9uKHBhdGgsbW9kZSxkZXYpe3N3aXRjaChtb2RlJjYxNDQwKXtjYXNlIDMy
NzY4OmNhc2UgODE5MjpjYXNlIDI0NTc2OmNhc2UgNDA5NjpjYXNlIDQ5MTUyOmJyZWFrO2RlZmF1
bHQ6cmV0dXJuLUVSUk5PX0NPREVTLkVJTlZBTH1GUy5ta25vZChwYXRoLG1vZGUsZGV2KTtyZXR1
cm4gMH0pLGRvUmVhZGxpbms6KGZ1bmN0aW9uKHBhdGgsYnVmLGJ1ZnNpemUpe2lmKGJ1ZnNpemU8
PTApcmV0dXJuLUVSUk5PX0NPREVTLkVJTlZBTDt2YXIgcmV0PUZTLnJlYWRsaW5rKHBhdGgpO3Zh
ciBsZW49TWF0aC5taW4oYnVmc2l6ZSxsZW5ndGhCeXRlc1VURjgocmV0KSk7dmFyIGVuZENoYXI9
SEVBUDhbYnVmK2xlbl07c3RyaW5nVG9VVEY4KHJldCxidWYsYnVmc2l6ZSsxKTtIRUFQOFtidWYr
bGVuXT1lbmRDaGFyO3JldHVybiBsZW59KSxkb0FjY2VzczooZnVuY3Rpb24ocGF0aCxhbW9kZSl7
aWYoYW1vZGUmfjcpe3JldHVybi1FUlJOT19DT0RFUy5FSU5WQUx9dmFyIG5vZGU7dmFyIGxvb2t1
cD1GUy5sb29rdXBQYXRoKHBhdGgse2ZvbGxvdzp0cnVlfSk7bm9kZT1sb29rdXAubm9kZTt2YXIg
cGVybXM9IiI7aWYoYW1vZGUmNClwZXJtcys9InIiO2lmKGFtb2RlJjIpcGVybXMrPSJ3IjtpZihh
bW9kZSYxKXBlcm1zKz0ieCI7aWYocGVybXMmJkZTLm5vZGVQZXJtaXNzaW9ucyhub2RlLHBlcm1z
KSl7cmV0dXJuLUVSUk5PX0NPREVTLkVBQ0NFU31yZXR1cm4gMH0pLGRvRHVwOihmdW5jdGlvbihw
YXRoLGZsYWdzLHN1Z2dlc3RGRCl7dmFyIHN1Z2dlc3Q9RlMuZ2V0U3RyZWFtKHN1Z2dlc3RGRCk7
aWYoc3VnZ2VzdClGUy5jbG9zZShzdWdnZXN0KTtyZXR1cm4gRlMub3BlbihwYXRoLGZsYWdzLDAs
c3VnZ2VzdEZELHN1Z2dlc3RGRCkuZmR9KSxkb1JlYWR2OihmdW5jdGlvbihzdHJlYW0saW92LGlv
dmNudCxvZmZzZXQpe3ZhciByZXQ9MDtmb3IodmFyIGk9MDtpPGlvdmNudDtpKyspe3ZhciBwdHI9
SEVBUDMyW2lvditpKjg+PjJdO3ZhciBsZW49SEVBUDMyW2lvdisoaSo4KzQpPj4yXTt2YXIgY3Vy
cj1GUy5yZWFkKHN0cmVhbSxIRUFQOCxwdHIsbGVuLG9mZnNldCk7aWYoY3VycjwwKXJldHVybi0x
O3JldCs9Y3VycjtpZihjdXJyPGxlbilicmVha31yZXR1cm4gcmV0fSksZG9Xcml0ZXY6KGZ1bmN0
aW9uKHN0cmVhbSxpb3YsaW92Y250LG9mZnNldCl7dmFyIHJldD0wO2Zvcih2YXIgaT0wO2k8aW92
Y250O2krKyl7dmFyIHB0cj1IRUFQMzJbaW92K2kqOD4+Ml07dmFyIGxlbj1IRUFQMzJbaW92Kyhp
KjgrNCk+PjJdO3ZhciBjdXJyPUZTLndyaXRlKHN0cmVhbSxIRUFQOCxwdHIsbGVuLG9mZnNldCk7
aWYoY3VycjwwKXJldHVybi0xO3JldCs9Y3Vycn1yZXR1cm4gcmV0fSksdmFyYXJnczowLGdldDoo
ZnVuY3Rpb24odmFyYXJncyl7U1lTQ0FMTFMudmFyYXJncys9NDt2YXIgcmV0PUhFQVAzMltTWVND
QUxMUy52YXJhcmdzLTQ+PjJdO3JldHVybiByZXR9KSxnZXRTdHI6KGZ1bmN0aW9uKCl7dmFyIHJl
dD1Qb2ludGVyX3N0cmluZ2lmeShTWVNDQUxMUy5nZXQoKSk7cmV0dXJuIHJldH0pLGdldFN0cmVh
bUZyb21GRDooZnVuY3Rpb24oKXt2YXIgc3RyZWFtPUZTLmdldFN0cmVhbShTWVNDQUxMUy5nZXQo
KSk7aWYoIXN0cmVhbSl0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FQkFERik7
cmV0dXJuIHN0cmVhbX0pLGdldFNvY2tldEZyb21GRDooZnVuY3Rpb24oKXt2YXIgc29ja2V0PVNP
Q0tGUy5nZXRTb2NrZXQoU1lTQ0FMTFMuZ2V0KCkpO2lmKCFzb2NrZXQpdGhyb3cgbmV3IEZTLkVy
cm5vRXJyb3IoRVJSTk9fQ09ERVMuRUJBREYpO3JldHVybiBzb2NrZXR9KSxnZXRTb2NrZXRBZGRy
ZXNzOihmdW5jdGlvbihhbGxvd051bGwpe3ZhciBhZGRycD1TWVNDQUxMUy5nZXQoKSxhZGRybGVu
PVNZU0NBTExTLmdldCgpO2lmKGFsbG93TnVsbCYmYWRkcnA9PT0wKXJldHVybiBudWxsO3ZhciBp
bmZvPV9fcmVhZF9zb2NrYWRkcihhZGRycCxhZGRybGVuKTtpZihpbmZvLmVycm5vKXRocm93IG5l
dyBGUy5FcnJub0Vycm9yKGluZm8uZXJybm8pO2luZm8uYWRkcj1ETlMubG9va3VwX2FkZHIoaW5m
by5hZGRyKXx8aW5mby5hZGRyO3JldHVybiBpbmZvfSksZ2V0NjQ6KGZ1bmN0aW9uKCl7dmFyIGxv
dz1TWVNDQUxMUy5nZXQoKSxoaWdoPVNZU0NBTExTLmdldCgpO2lmKGxvdz49MClhc3NlcnQoaGln
aD09PTApO2Vsc2UgYXNzZXJ0KGhpZ2g9PT0tMSk7cmV0dXJuIGxvd30pLGdldFplcm86KGZ1bmN0
aW9uKCl7YXNzZXJ0KFNZU0NBTExTLmdldCgpPT09MCl9KX07ZnVuY3Rpb24gX19fc3lzY2FsbDEw
KHdoaWNoLHZhcmFyZ3Mpe1NZU0NBTExTLnZhcmFyZ3M9dmFyYXJnczt0cnl7dmFyIHBhdGg9U1lT
Q0FMTFMuZ2V0U3RyKCk7RlMudW5saW5rKHBhdGgpO3JldHVybiAwfWNhdGNoKGUpe2lmKHR5cGVv
ZiBGUz09PSJ1bmRlZmluZWQifHwhKGUgaW5zdGFuY2VvZiBGUy5FcnJub0Vycm9yKSlhYm9ydChl
KTtyZXR1cm4tZS5lcnJub319ZnVuY3Rpb24gX19fc3lzY2FsbDE0MCh3aGljaCx2YXJhcmdzKXtT
WVNDQUxMUy52YXJhcmdzPXZhcmFyZ3M7dHJ5e3ZhciBzdHJlYW09U1lTQ0FMTFMuZ2V0U3RyZWFt
RnJvbUZEKCksb2Zmc2V0X2hpZ2g9U1lTQ0FMTFMuZ2V0KCksb2Zmc2V0X2xvdz1TWVNDQUxMUy5n
ZXQoKSxyZXN1bHQ9U1lTQ0FMTFMuZ2V0KCksd2hlbmNlPVNZU0NBTExTLmdldCgpO3ZhciBvZmZz
ZXQ9b2Zmc2V0X2xvdztGUy5sbHNlZWsoc3RyZWFtLG9mZnNldCx3aGVuY2UpO0hFQVAzMltyZXN1
bHQ+PjJdPXN0cmVhbS5wb3NpdGlvbjtpZihzdHJlYW0uZ2V0ZGVudHMmJm9mZnNldD09PTAmJndo
ZW5jZT09PTApc3RyZWFtLmdldGRlbnRzPW51bGw7cmV0dXJuIDB9Y2F0Y2goZSl7aWYodHlwZW9m
IEZTPT09InVuZGVmaW5lZCJ8fCEoZSBpbnN0YW5jZW9mIEZTLkVycm5vRXJyb3IpKWFib3J0KGUp
O3JldHVybi1lLmVycm5vfX1mdW5jdGlvbiBfX19zeXNjYWxsMTQ1KHdoaWNoLHZhcmFyZ3Mpe1NZ
U0NBTExTLnZhcmFyZ3M9dmFyYXJnczt0cnl7dmFyIHN0cmVhbT1TWVNDQUxMUy5nZXRTdHJlYW1G
cm9tRkQoKSxpb3Y9U1lTQ0FMTFMuZ2V0KCksaW92Y250PVNZU0NBTExTLmdldCgpO3JldHVybiBT
WVNDQUxMUy5kb1JlYWR2KHN0cmVhbSxpb3YsaW92Y250KX1jYXRjaChlKXtpZih0eXBlb2YgRlM9
PT0idW5kZWZpbmVkInx8IShlIGluc3RhbmNlb2YgRlMuRXJybm9FcnJvcikpYWJvcnQoZSk7cmV0
dXJuLWUuZXJybm99fWZ1bmN0aW9uIF9fX3N5c2NhbGwxNDYod2hpY2gsdmFyYXJncyl7U1lTQ0FM
TFMudmFyYXJncz12YXJhcmdzO3RyeXt2YXIgc3RyZWFtPVNZU0NBTExTLmdldFN0cmVhbUZyb21G
RCgpLGlvdj1TWVNDQUxMUy5nZXQoKSxpb3ZjbnQ9U1lTQ0FMTFMuZ2V0KCk7cmV0dXJuIFNZU0NB
TExTLmRvV3JpdGV2KHN0cmVhbSxpb3YsaW92Y250KX1jYXRjaChlKXtpZih0eXBlb2YgRlM9PT0i
dW5kZWZpbmVkInx8IShlIGluc3RhbmNlb2YgRlMuRXJybm9FcnJvcikpYWJvcnQoZSk7cmV0dXJu
LWUuZXJybm99fWZ1bmN0aW9uIF9fX3N5c2NhbGwxOTIod2hpY2gsdmFyYXJncyl7U1lTQ0FMTFMu
dmFyYXJncz12YXJhcmdzO3RyeXt2YXIgYWRkcj1TWVNDQUxMUy5nZXQoKSxsZW49U1lTQ0FMTFMu
Z2V0KCkscHJvdD1TWVNDQUxMUy5nZXQoKSxmbGFncz1TWVNDQUxMUy5nZXQoKSxmZD1TWVNDQUxM
Uy5nZXQoKSxvZmY9U1lTQ0FMTFMuZ2V0KCk7b2ZmPDw9MTI7dmFyIHB0cjt2YXIgYWxsb2NhdGVk
PWZhbHNlO2lmKGZkPT09LTEpe3B0cj1fbWVtYWxpZ24oUEFHRV9TSVpFLGxlbik7aWYoIXB0cily
ZXR1cm4tRVJSTk9fQ09ERVMuRU5PTUVNO19tZW1zZXQocHRyLDAsbGVuKTthbGxvY2F0ZWQ9dHJ1
ZX1lbHNle3ZhciBpbmZvPUZTLmdldFN0cmVhbShmZCk7aWYoIWluZm8pcmV0dXJuLUVSUk5PX0NP
REVTLkVCQURGO3ZhciByZXM9RlMubW1hcChpbmZvLEhFQVBVOCxhZGRyLGxlbixvZmYscHJvdCxm
bGFncyk7cHRyPXJlcy5wdHI7YWxsb2NhdGVkPXJlcy5hbGxvY2F0ZWR9U1lTQ0FMTFMubWFwcGlu
Z3NbcHRyXT17bWFsbG9jOnB0cixsZW46bGVuLGFsbG9jYXRlZDphbGxvY2F0ZWQsZmQ6ZmQsZmxh
Z3M6ZmxhZ3N9O3JldHVybiBwdHJ9Y2F0Y2goZSl7aWYodHlwZW9mIEZTPT09InVuZGVmaW5lZCJ8
fCEoZSBpbnN0YW5jZW9mIEZTLkVycm5vRXJyb3IpKWFib3J0KGUpO3JldHVybi1lLmVycm5vfX1m
dW5jdGlvbiBfX19zeXNjYWxsMTk1KHdoaWNoLHZhcmFyZ3Mpe1NZU0NBTExTLnZhcmFyZ3M9dmFy
YXJnczt0cnl7dmFyIHBhdGg9U1lTQ0FMTFMuZ2V0U3RyKCksYnVmPVNZU0NBTExTLmdldCgpO3Jl
dHVybiBTWVNDQUxMUy5kb1N0YXQoRlMuc3RhdCxwYXRoLGJ1Zil9Y2F0Y2goZSl7aWYodHlwZW9m
IEZTPT09InVuZGVmaW5lZCJ8fCEoZSBpbnN0YW5jZW9mIEZTLkVycm5vRXJyb3IpKWFib3J0KGUp
O3JldHVybi1lLmVycm5vfX1mdW5jdGlvbiBfX19zeXNjYWxsMTk3KHdoaWNoLHZhcmFyZ3Mpe1NZ
U0NBTExTLnZhcmFyZ3M9dmFyYXJnczt0cnl7dmFyIHN0cmVhbT1TWVNDQUxMUy5nZXRTdHJlYW1G
cm9tRkQoKSxidWY9U1lTQ0FMTFMuZ2V0KCk7cmV0dXJuIFNZU0NBTExTLmRvU3RhdChGUy5zdGF0
LHN0cmVhbS5wYXRoLGJ1Zil9Y2F0Y2goZSl7aWYodHlwZW9mIEZTPT09InVuZGVmaW5lZCJ8fCEo
ZSBpbnN0YW5jZW9mIEZTLkVycm5vRXJyb3IpKWFib3J0KGUpO3JldHVybi1lLmVycm5vfX1mdW5j
dGlvbiBfX19zeXNjYWxsMjIxKHdoaWNoLHZhcmFyZ3Mpe1NZU0NBTExTLnZhcmFyZ3M9dmFyYXJn
czt0cnl7dmFyIHN0cmVhbT1TWVNDQUxMUy5nZXRTdHJlYW1Gcm9tRkQoKSxjbWQ9U1lTQ0FMTFMu
Z2V0KCk7c3dpdGNoKGNtZCl7Y2FzZSAwOnt2YXIgYXJnPVNZU0NBTExTLmdldCgpO2lmKGFyZzww
KXtyZXR1cm4tRVJSTk9fQ09ERVMuRUlOVkFMfXZhciBuZXdTdHJlYW07bmV3U3RyZWFtPUZTLm9w
ZW4oc3RyZWFtLnBhdGgsc3RyZWFtLmZsYWdzLDAsYXJnKTtyZXR1cm4gbmV3U3RyZWFtLmZkfTtj
YXNlIDE6Y2FzZSAyOnJldHVybiAwO2Nhc2UgMzpyZXR1cm4gc3RyZWFtLmZsYWdzO2Nhc2UgNDp7
dmFyIGFyZz1TWVNDQUxMUy5nZXQoKTtzdHJlYW0uZmxhZ3N8PWFyZztyZXR1cm4gMH07Y2FzZSAx
MjpjYXNlIDEyOnt2YXIgYXJnPVNZU0NBTExTLmdldCgpO3ZhciBvZmZzZXQ9MDtIRUFQMTZbYXJn
K29mZnNldD4+MV09MjtyZXR1cm4gMH07Y2FzZSAxMzpjYXNlIDE0OmNhc2UgMTM6Y2FzZSAxNDpy
ZXR1cm4gMDtjYXNlIDE2OmNhc2UgODpyZXR1cm4tRVJSTk9fQ09ERVMuRUlOVkFMO2Nhc2UgOTpf
X19zZXRFcnJObyhFUlJOT19DT0RFUy5FSU5WQUwpO3JldHVybi0xO2RlZmF1bHQ6e3JldHVybi1F
UlJOT19DT0RFUy5FSU5WQUx9fX1jYXRjaChlKXtpZih0eXBlb2YgRlM9PT0idW5kZWZpbmVkInx8
IShlIGluc3RhbmNlb2YgRlMuRXJybm9FcnJvcikpYWJvcnQoZSk7cmV0dXJuLWUuZXJybm99fWZ1
bmN0aW9uIF9fX3N5c2NhbGwzMyh3aGljaCx2YXJhcmdzKXtTWVNDQUxMUy52YXJhcmdzPXZhcmFy
Z3M7dHJ5e3ZhciBwYXRoPVNZU0NBTExTLmdldFN0cigpLGFtb2RlPVNZU0NBTExTLmdldCgpO3Jl
dHVybiBTWVNDQUxMUy5kb0FjY2VzcyhwYXRoLGFtb2RlKX1jYXRjaChlKXtpZih0eXBlb2YgRlM9
PT0idW5kZWZpbmVkInx8IShlIGluc3RhbmNlb2YgRlMuRXJybm9FcnJvcikpYWJvcnQoZSk7cmV0
dXJuLWUuZXJybm99fWZ1bmN0aW9uIF9fX3N5c2NhbGw1KHdoaWNoLHZhcmFyZ3Mpe1NZU0NBTExT
LnZhcmFyZ3M9dmFyYXJnczt0cnl7dmFyIHBhdGhuYW1lPVNZU0NBTExTLmdldFN0cigpLGZsYWdz
PVNZU0NBTExTLmdldCgpLG1vZGU9U1lTQ0FMTFMuZ2V0KCk7dmFyIHN0cmVhbT1GUy5vcGVuKHBh
dGhuYW1lLGZsYWdzLG1vZGUpO3JldHVybiBzdHJlYW0uZmR9Y2F0Y2goZSl7aWYodHlwZW9mIEZT
PT09InVuZGVmaW5lZCJ8fCEoZSBpbnN0YW5jZW9mIEZTLkVycm5vRXJyb3IpKWFib3J0KGUpO3Jl
dHVybi1lLmVycm5vfX1mdW5jdGlvbiBfX19zeXNjYWxsNTQod2hpY2gsdmFyYXJncyl7U1lTQ0FM
TFMudmFyYXJncz12YXJhcmdzO3RyeXt2YXIgc3RyZWFtPVNZU0NBTExTLmdldFN0cmVhbUZyb21G
RCgpLG9wPVNZU0NBTExTLmdldCgpO3N3aXRjaChvcCl7Y2FzZSAyMTUwOTpjYXNlIDIxNTA1Ontp
Zighc3RyZWFtLnR0eSlyZXR1cm4tRVJSTk9fQ09ERVMuRU5PVFRZO3JldHVybiAwfTtjYXNlIDIx
NTEwOmNhc2UgMjE1MTE6Y2FzZSAyMTUxMjpjYXNlIDIxNTA2OmNhc2UgMjE1MDc6Y2FzZSAyMTUw
ODp7aWYoIXN0cmVhbS50dHkpcmV0dXJuLUVSUk5PX0NPREVTLkVOT1RUWTtyZXR1cm4gMH07Y2Fz
ZSAyMTUxOTp7aWYoIXN0cmVhbS50dHkpcmV0dXJuLUVSUk5PX0NPREVTLkVOT1RUWTt2YXIgYXJn
cD1TWVNDQUxMUy5nZXQoKTtIRUFQMzJbYXJncD4+Ml09MDtyZXR1cm4gMH07Y2FzZSAyMTUyMDp7
aWYoIXN0cmVhbS50dHkpcmV0dXJuLUVSUk5PX0NPREVTLkVOT1RUWTtyZXR1cm4tRVJSTk9fQ09E
RVMuRUlOVkFMfTtjYXNlIDIxNTMxOnt2YXIgYXJncD1TWVNDQUxMUy5nZXQoKTtyZXR1cm4gRlMu
aW9jdGwoc3RyZWFtLG9wLGFyZ3ApfTtjYXNlIDIxNTIzOntpZighc3RyZWFtLnR0eSlyZXR1cm4t
RVJSTk9fQ09ERVMuRU5PVFRZO3JldHVybiAwfTtkZWZhdWx0OmFib3J0KCJiYWQgaW9jdGwgc3lz
Y2FsbCAiK29wKX19Y2F0Y2goZSl7aWYodHlwZW9mIEZTPT09InVuZGVmaW5lZCJ8fCEoZSBpbnN0
YW5jZW9mIEZTLkVycm5vRXJyb3IpKWFib3J0KGUpO3JldHVybi1lLmVycm5vfX1mdW5jdGlvbiBf
X19zeXNjYWxsNih3aGljaCx2YXJhcmdzKXtTWVNDQUxMUy52YXJhcmdzPXZhcmFyZ3M7dHJ5e3Zh
ciBzdHJlYW09U1lTQ0FMTFMuZ2V0U3RyZWFtRnJvbUZEKCk7RlMuY2xvc2Uoc3RyZWFtKTtyZXR1
cm4gMH1jYXRjaChlKXtpZih0eXBlb2YgRlM9PT0idW5kZWZpbmVkInx8IShlIGluc3RhbmNlb2Yg
RlMuRXJybm9FcnJvcikpYWJvcnQoZSk7cmV0dXJuLWUuZXJybm99fWZ1bmN0aW9uIF9fX3N5c2Nh
bGw5MSh3aGljaCx2YXJhcmdzKXtTWVNDQUxMUy52YXJhcmdzPXZhcmFyZ3M7dHJ5e3ZhciBhZGRy
PVNZU0NBTExTLmdldCgpLGxlbj1TWVNDQUxMUy5nZXQoKTt2YXIgaW5mbz1TWVNDQUxMUy5tYXBw
aW5nc1thZGRyXTtpZighaW5mbylyZXR1cm4gMDtpZihsZW49PT1pbmZvLmxlbil7dmFyIHN0cmVh
bT1GUy5nZXRTdHJlYW0oaW5mby5mZCk7U1lTQ0FMTFMuZG9Nc3luYyhhZGRyLHN0cmVhbSxsZW4s
aW5mby5mbGFncyk7RlMubXVubWFwKHN0cmVhbSk7U1lTQ0FMTFMubWFwcGluZ3NbYWRkcl09bnVs
bDtpZihpbmZvLmFsbG9jYXRlZCl7X2ZyZWUoaW5mby5tYWxsb2MpfX1yZXR1cm4gMH1jYXRjaChl
KXtpZih0eXBlb2YgRlM9PT0idW5kZWZpbmVkInx8IShlIGluc3RhbmNlb2YgRlMuRXJybm9FcnJv
cikpYWJvcnQoZSk7cmV0dXJuLWUuZXJybm99fXZhciBjdHR6X2k4PWFsbG9jYXRlKFs4LDAsMSww
LDIsMCwxLDAsMywwLDEsMCwyLDAsMSwwLDQsMCwxLDAsMiwwLDEsMCwzLDAsMSwwLDIsMCwxLDAs
NSwwLDEsMCwyLDAsMSwwLDMsMCwxLDAsMiwwLDEsMCw0LDAsMSwwLDIsMCwxLDAsMywwLDEsMCwy
LDAsMSwwLDYsMCwxLDAsMiwwLDEsMCwzLDAsMSwwLDIsMCwxLDAsNCwwLDEsMCwyLDAsMSwwLDMs
MCwxLDAsMiwwLDEsMCw1LDAsMSwwLDIsMCwxLDAsMywwLDEsMCwyLDAsMSwwLDQsMCwxLDAsMiww
LDEsMCwzLDAsMSwwLDIsMCwxLDAsNywwLDEsMCwyLDAsMSwwLDMsMCwxLDAsMiwwLDEsMCw0LDAs
MSwwLDIsMCwxLDAsMywwLDEsMCwyLDAsMSwwLDUsMCwxLDAsMiwwLDEsMCwzLDAsMSwwLDIsMCwx
LDAsNCwwLDEsMCwyLDAsMSwwLDMsMCwxLDAsMiwwLDEsMCw2LDAsMSwwLDIsMCwxLDAsMywwLDEs
MCwyLDAsMSwwLDQsMCwxLDAsMiwwLDEsMCwzLDAsMSwwLDIsMCwxLDAsNSwwLDEsMCwyLDAsMSww
LDMsMCwxLDAsMiwwLDEsMCw0LDAsMSwwLDIsMCwxLDAsMywwLDEsMCwyLDAsMSwwXSwiaTgiLEFM
TE9DX1NUQVRJQyk7ZnVuY3Rpb24gX19fdW5sb2NrKCl7fWZ1bmN0aW9uIF9fZXhpdChzdGF0dXMp
e01vZHVsZVsiZXhpdCJdKHN0YXR1cyl9ZnVuY3Rpb24gX2V4aXQoc3RhdHVzKXtfX2V4aXQoc3Rh
dHVzKX12YXIgX2Vudmlyb249U1RBVElDVE9QO1NUQVRJQ1RPUCs9MTY7ZnVuY3Rpb24gX19fYnVp
bGRFbnZpcm9ubWVudChlbnYpe3ZhciBNQVhfRU5WX1ZBTFVFUz02NDt2YXIgVE9UQUxfRU5WX1NJ
WkU9MTAyNDt2YXIgcG9vbFB0cjt2YXIgZW52UHRyO2lmKCFfX19idWlsZEVudmlyb25tZW50LmNh
bGxlZCl7X19fYnVpbGRFbnZpcm9ubWVudC5jYWxsZWQ9dHJ1ZTtFTlZbIlVTRVIiXT1FTlZbIkxP
R05BTUUiXT0id2ViX3VzZXIiO0VOVlsiUEFUSCJdPSIvIjtFTlZbIlBXRCJdPSIvIjtFTlZbIkhP
TUUiXT0iL2hvbWUvd2ViX3VzZXIiO0VOVlsiTEFORyJdPSJDLlVURi04IjtFTlZbIl8iXT1Nb2R1
bGVbInRoaXNQcm9ncmFtIl07cG9vbFB0cj1zdGF0aWNBbGxvYyhUT1RBTF9FTlZfU0laRSk7ZW52
UHRyPXN0YXRpY0FsbG9jKE1BWF9FTlZfVkFMVUVTKjQpO0hFQVAzMltlbnZQdHI+PjJdPXBvb2xQ
dHI7SEVBUDMyW19lbnZpcm9uPj4yXT1lbnZQdHJ9ZWxzZXtlbnZQdHI9SEVBUDMyW19lbnZpcm9u
Pj4yXTtwb29sUHRyPUhFQVAzMltlbnZQdHI+PjJdfXZhciBzdHJpbmdzPVtdO3ZhciB0b3RhbFNp
emU9MDtmb3IodmFyIGtleSBpbiBlbnYpe2lmKHR5cGVvZiBlbnZba2V5XT09PSJzdHJpbmciKXt2
YXIgbGluZT1rZXkrIj0iK2VudltrZXldO3N0cmluZ3MucHVzaChsaW5lKTt0b3RhbFNpemUrPWxp
bmUubGVuZ3RofX1pZih0b3RhbFNpemU+VE9UQUxfRU5WX1NJWkUpe3Rocm93IG5ldyBFcnJvcigi
RW52aXJvbm1lbnQgc2l6ZSBleGNlZWRlZCBUT1RBTF9FTlZfU0laRSEiKX12YXIgcHRyU2l6ZT00
O2Zvcih2YXIgaT0wO2k8c3RyaW5ncy5sZW5ndGg7aSsrKXt2YXIgbGluZT1zdHJpbmdzW2ldO3dy
aXRlQXNjaWlUb01lbW9yeShsaW5lLHBvb2xQdHIpO0hFQVAzMltlbnZQdHIraSpwdHJTaXplPj4y
XT1wb29sUHRyO3Bvb2xQdHIrPWxpbmUubGVuZ3RoKzF9SEVBUDMyW2VudlB0citzdHJpbmdzLmxl
bmd0aCpwdHJTaXplPj4yXT0wfXZhciBFTlY9e307ZnVuY3Rpb24gX2dldGVudihuYW1lKXtpZihu
YW1lPT09MClyZXR1cm4gMDtuYW1lPVBvaW50ZXJfc3RyaW5naWZ5KG5hbWUpO2lmKCFFTlYuaGFz
T3duUHJvcGVydHkobmFtZSkpcmV0dXJuIDA7aWYoX2dldGVudi5yZXQpX2ZyZWUoX2dldGVudi5y
ZXQpO19nZXRlbnYucmV0PWFsbG9jYXRlVVRGOChFTlZbbmFtZV0pO3JldHVybiBfZ2V0ZW52LnJl
dH12YXIgX2xsdm1fY2VpbF9mNjQ9TWF0aF9jZWlsO3ZhciBfbGx2bV9mYWJzX2Y2ND1NYXRoX2Fi
czt2YXIgX2xsdm1fZmxvb3JfZjY0PU1hdGhfZmxvb3I7dmFyIF9sbHZtX3Bvd19mNjQ9TWF0aF9w
b3c7dmFyIF9sbHZtX3NxcnRfZjY0PU1hdGhfc3FydDtmdW5jdGlvbiBfbGx2bV90cmFwKCl7YWJv
cnQoInRyYXAhIil9ZnVuY3Rpb24gX2xvbmdqbXAoZW52LHZhbHVlKXtNb2R1bGVbInNldFRocmV3
Il0oZW52LHZhbHVlfHwxKTt0aHJvdyJsb25nam1wIn1mdW5jdGlvbiBfZW1zY3JpcHRlbl9tZW1j
cHlfYmlnKGRlc3Qsc3JjLG51bSl7SEVBUFU4LnNldChIRUFQVTguc3ViYXJyYXkoc3JjLHNyYytu
dW0pLGRlc3QpO3JldHVybiBkZXN0fWZ1bmN0aW9uIF9zZXRlbnYoZW52bmFtZSxlbnZ2YWwsb3Zl
cndyaXRlKXtpZihlbnZuYW1lPT09MCl7X19fc2V0RXJyTm8oRVJSTk9fQ09ERVMuRUlOVkFMKTty
ZXR1cm4tMX12YXIgbmFtZT1Qb2ludGVyX3N0cmluZ2lmeShlbnZuYW1lKTt2YXIgdmFsPVBvaW50
ZXJfc3RyaW5naWZ5KGVudnZhbCk7aWYobmFtZT09PSIifHxuYW1lLmluZGV4T2YoIj0iKSE9PS0x
KXtfX19zZXRFcnJObyhFUlJOT19DT0RFUy5FSU5WQUwpO3JldHVybi0xfWlmKEVOVi5oYXNPd25Q
cm9wZXJ0eShuYW1lKSYmIW92ZXJ3cml0ZSlyZXR1cm4gMDtFTlZbbmFtZV09dmFsO19fX2J1aWxk
RW52aXJvbm1lbnQoRU5WKTtyZXR1cm4gMH1mdW5jdGlvbiBfdGltZXMoYnVmZmVyKXtpZihidWZm
ZXIhPT0wKXtfbWVtc2V0KGJ1ZmZlciwwLDE2KX1yZXR1cm4gMH1pZihFTlZJUk9OTUVOVF9JU19O
T0RFKXtfZW1zY3JpcHRlbl9nZXRfbm93PWZ1bmN0aW9uIF9lbXNjcmlwdGVuX2dldF9ub3dfYWN0
dWFsKCl7dmFyIHQ9cHJvY2Vzc1siaHJ0aW1lIl0oKTtyZXR1cm4gdFswXSoxZTMrdFsxXS8xZTZ9
fWVsc2UgaWYodHlwZW9mIGRhdGVOb3chPT0idW5kZWZpbmVkIil7X2Vtc2NyaXB0ZW5fZ2V0X25v
dz1kYXRlTm93fWVsc2UgaWYodHlwZW9mIHNlbGY9PT0ib2JqZWN0IiYmc2VsZlsicGVyZm9ybWFu
Y2UiXSYmdHlwZW9mIHNlbGZbInBlcmZvcm1hbmNlIl1bIm5vdyJdPT09ImZ1bmN0aW9uIil7X2Vt
c2NyaXB0ZW5fZ2V0X25vdz0oZnVuY3Rpb24oKXtyZXR1cm4gc2VsZlsicGVyZm9ybWFuY2UiXVsi
bm93Il0oKX0pfWVsc2UgaWYodHlwZW9mIHBlcmZvcm1hbmNlPT09Im9iamVjdCImJnR5cGVvZiBw
ZXJmb3JtYW5jZVsibm93Il09PT0iZnVuY3Rpb24iKXtfZW1zY3JpcHRlbl9nZXRfbm93PShmdW5j
dGlvbigpe3JldHVybiBwZXJmb3JtYW5jZVsibm93Il0oKX0pfWVsc2V7X2Vtc2NyaXB0ZW5fZ2V0
X25vdz1EYXRlLm5vd31GUy5zdGF0aWNJbml0KCk7X19BVElOSVRfXy51bnNoaWZ0KChmdW5jdGlv
bigpe2lmKCFNb2R1bGVbIm5vRlNJbml0Il0mJiFGUy5pbml0LmluaXRpYWxpemVkKUZTLmluaXQo
KX0pKTtfX0FUTUFJTl9fLnB1c2goKGZ1bmN0aW9uKCl7RlMuaWdub3JlUGVybWlzc2lvbnM9ZmFs
c2V9KSk7X19BVEVYSVRfXy5wdXNoKChmdW5jdGlvbigpe0ZTLnF1aXQoKX0pKTtfX0FUSU5JVF9f
LnVuc2hpZnQoKGZ1bmN0aW9uKCl7VFRZLmluaXQoKX0pKTtfX0FURVhJVF9fLnB1c2goKGZ1bmN0
aW9uKCl7VFRZLnNodXRkb3duKCl9KSk7aWYoRU5WSVJPTk1FTlRfSVNfTk9ERSl7dmFyIGZzPXJl
cXVpcmUoImZzIik7dmFyIE5PREVKU19QQVRIPXJlcXVpcmUoInBhdGgiKTtOT0RFRlMuc3RhdGlj
SW5pdCgpfV9fX2J1aWxkRW52aXJvbm1lbnQoRU5WKTtEWU5BTUlDVE9QX1BUUj1zdGF0aWNBbGxv
Yyg0KTtTVEFDS19CQVNFPVNUQUNLVE9QPWFsaWduTWVtb3J5KFNUQVRJQ1RPUCk7U1RBQ0tfTUFY
PVNUQUNLX0JBU0UrVE9UQUxfU1RBQ0s7RFlOQU1JQ19CQVNFPWFsaWduTWVtb3J5KFNUQUNLX01B
WCk7SEVBUDMyW0RZTkFNSUNUT1BfUFRSPj4yXT1EWU5BTUlDX0JBU0U7c3RhdGljU2VhbGVkPXRy
dWU7dmFyIEFTU0VSVElPTlM9ZmFsc2U7ZnVuY3Rpb24gaW50QXJyYXlGcm9tU3RyaW5nKHN0cmlu
Z3ksZG9udEFkZE51bGwsbGVuZ3RoKXt2YXIgbGVuPWxlbmd0aD4wP2xlbmd0aDpsZW5ndGhCeXRl
c1VURjgoc3RyaW5neSkrMTt2YXIgdThhcnJheT1uZXcgQXJyYXkobGVuKTt2YXIgbnVtQnl0ZXNX
cml0dGVuPXN0cmluZ1RvVVRGOEFycmF5KHN0cmluZ3ksdThhcnJheSwwLHU4YXJyYXkubGVuZ3Ro
KTtpZihkb250QWRkTnVsbCl1OGFycmF5Lmxlbmd0aD1udW1CeXRlc1dyaXR0ZW47cmV0dXJuIHU4
YXJyYXl9ZnVuY3Rpb24gaW50QXJyYXlUb1N0cmluZyhhcnJheSl7dmFyIHJldD1bXTtmb3IodmFy
IGk9MDtpPGFycmF5Lmxlbmd0aDtpKyspe3ZhciBjaHI9YXJyYXlbaV07aWYoY2hyPjI1NSl7aWYo
QVNTRVJUSU9OUyl7YXNzZXJ0KGZhbHNlLCJDaGFyYWN0ZXIgY29kZSAiK2NocisiICgiK1N0cmlu
Zy5mcm9tQ2hhckNvZGUoY2hyKSsiKSAgYXQgb2Zmc2V0ICIraSsiIG5vdCBpbiAweDAwLTB4RkYu
Iil9Y2hyJj0yNTV9cmV0LnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShjaHIpKX1yZXR1cm4gcmV0
LmpvaW4oIiIpfXZhciBkZWNvZGVCYXNlNjQ9dHlwZW9mIGF0b2I9PT0iZnVuY3Rpb24iP2F0b2I6
KGZ1bmN0aW9uKGlucHV0KXt2YXIga2V5U3RyPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFi
Y2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSI7dmFyIG91dHB1dD0iIjt2YXIg
Y2hyMSxjaHIyLGNocjM7dmFyIGVuYzEsZW5jMixlbmMzLGVuYzQ7dmFyIGk9MDtpbnB1dD1pbnB1
dC5yZXBsYWNlKC9bXkEtWmEtejAtOVwrXC9cPV0vZywiIik7ZG97ZW5jMT1rZXlTdHIuaW5kZXhP
ZihpbnB1dC5jaGFyQXQoaSsrKSk7ZW5jMj1rZXlTdHIuaW5kZXhPZihpbnB1dC5jaGFyQXQoaSsr
KSk7ZW5jMz1rZXlTdHIuaW5kZXhPZihpbnB1dC5jaGFyQXQoaSsrKSk7ZW5jND1rZXlTdHIuaW5k
ZXhPZihpbnB1dC5jaGFyQXQoaSsrKSk7Y2hyMT1lbmMxPDwyfGVuYzI+PjQ7Y2hyMj0oZW5jMiYx
NSk8PDR8ZW5jMz4+MjtjaHIzPShlbmMzJjMpPDw2fGVuYzQ7b3V0cHV0PW91dHB1dCtTdHJpbmcu
ZnJvbUNoYXJDb2RlKGNocjEpO2lmKGVuYzMhPT02NCl7b3V0cHV0PW91dHB1dCtTdHJpbmcuZnJv
bUNoYXJDb2RlKGNocjIpfWlmKGVuYzQhPT02NCl7b3V0cHV0PW91dHB1dCtTdHJpbmcuZnJvbUNo
YXJDb2RlKGNocjMpfX13aGlsZShpPGlucHV0Lmxlbmd0aCk7cmV0dXJuIG91dHB1dH0pO2Z1bmN0
aW9uIGludEFycmF5RnJvbUJhc2U2NChzKXtpZih0eXBlb2YgRU5WSVJPTk1FTlRfSVNfTk9ERT09
PSJib29sZWFuIiYmRU5WSVJPTk1FTlRfSVNfTk9ERSl7dmFyIGJ1Zjt0cnl7YnVmPUJ1ZmZlci5m
cm9tKHMsImJhc2U2NCIpfWNhdGNoKF8pe2J1Zj1uZXcgQnVmZmVyKHMsImJhc2U2NCIpfXJldHVy
biBuZXcgVWludDhBcnJheShidWYuYnVmZmVyLGJ1Zi5ieXRlT2Zmc2V0LGJ1Zi5ieXRlTGVuZ3Ro
KX10cnl7dmFyIGRlY29kZWQ9ZGVjb2RlQmFzZTY0KHMpO3ZhciBieXRlcz1uZXcgVWludDhBcnJh
eShkZWNvZGVkLmxlbmd0aCk7Zm9yKHZhciBpPTA7aTxkZWNvZGVkLmxlbmd0aDsrK2kpe2J5dGVz
W2ldPWRlY29kZWQuY2hhckNvZGVBdChpKX1yZXR1cm4gYnl0ZXN9Y2F0Y2goXyl7dGhyb3cgbmV3
IEVycm9yKCJDb252ZXJ0aW5nIGJhc2U2NCBzdHJpbmcgdG8gYnl0ZXMgZmFpbGVkLiIpfX1mdW5j
dGlvbiB0cnlQYXJzZUFzRGF0YVVSSShmaWxlbmFtZSl7aWYoIWlzRGF0YVVSSShmaWxlbmFtZSkp
e3JldHVybn1yZXR1cm4gaW50QXJyYXlGcm9tQmFzZTY0KGZpbGVuYW1lLnNsaWNlKGRhdGFVUklQ
cmVmaXgubGVuZ3RoKSl9ZnVuY3Rpb24gaW52b2tlX2QoaW5kZXgpe3RyeXtyZXR1cm4gTW9kdWxl
WyJkeW5DYWxsX2QiXShpbmRleCl9Y2F0Y2goZSl7aWYodHlwZW9mIGUhPT0ibnVtYmVyIiYmZSE9
PSJsb25nam1wIil0aHJvdyBlO01vZHVsZVsic2V0VGhyZXciXSgxLDApfX1mdW5jdGlvbiBpbnZv
a2VfZGRkZChpbmRleCxhMSxhMixhMyl7dHJ5e3JldHVybiBNb2R1bGVbImR5bkNhbGxfZGRkZCJd
KGluZGV4LGExLGEyLGEzKX1jYXRjaChlKXtpZih0eXBlb2YgZSE9PSJudW1iZXIiJiZlIT09Imxv
bmdqbXAiKXRocm93IGU7TW9kdWxlWyJzZXRUaHJldyJdKDEsMCl9fWZ1bmN0aW9uIGludm9rZV9p
KGluZGV4KXt0cnl7cmV0dXJuIE1vZHVsZVsiZHluQ2FsbF9pIl0oaW5kZXgpfWNhdGNoKGUpe2lm
KHR5cGVvZiBlIT09Im51bWJlciImJmUhPT0ibG9uZ2ptcCIpdGhyb3cgZTtNb2R1bGVbInNldFRo
cmV3Il0oMSwwKX19ZnVuY3Rpb24gaW52b2tlX2lpKGluZGV4LGExKXt0cnl7cmV0dXJuIE1vZHVs
ZVsiZHluQ2FsbF9paSJdKGluZGV4LGExKX1jYXRjaChlKXtpZih0eXBlb2YgZSE9PSJudW1iZXIi
JiZlIT09ImxvbmdqbXAiKXRocm93IGU7TW9kdWxlWyJzZXRUaHJldyJdKDEsMCl9fWZ1bmN0aW9u
IGludm9rZV9paWkoaW5kZXgsYTEsYTIpe3RyeXtyZXR1cm4gTW9kdWxlWyJkeW5DYWxsX2lpaSJd
KGluZGV4LGExLGEyKX1jYXRjaChlKXtpZih0eXBlb2YgZSE9PSJudW1iZXIiJiZlIT09Imxvbmdq
bXAiKXRocm93IGU7TW9kdWxlWyJzZXRUaHJldyJdKDEsMCl9fWZ1bmN0aW9uIGludm9rZV9paWlp
KGluZGV4LGExLGEyLGEzKXt0cnl7cmV0dXJuIE1vZHVsZVsiZHluQ2FsbF9paWlpIl0oaW5kZXgs
YTEsYTIsYTMpfWNhdGNoKGUpe2lmKHR5cGVvZiBlIT09Im51bWJlciImJmUhPT0ibG9uZ2ptcCIp
dGhyb3cgZTtNb2R1bGVbInNldFRocmV3Il0oMSwwKX19ZnVuY3Rpb24gaW52b2tlX2lpaWlpKGlu
ZGV4LGExLGEyLGEzLGE0KXt0cnl7cmV0dXJuIE1vZHVsZVsiZHluQ2FsbF9paWlpaSJdKGluZGV4
LGExLGEyLGEzLGE0KX1jYXRjaChlKXtpZih0eXBlb2YgZSE9PSJudW1iZXIiJiZlIT09Imxvbmdq
bXAiKXRocm93IGU7TW9kdWxlWyJzZXRUaHJldyJdKDEsMCl9fWZ1bmN0aW9uIGludm9rZV9paWlp
aWkoaW5kZXgsYTEsYTIsYTMsYTQsYTUpe3RyeXtyZXR1cm4gTW9kdWxlWyJkeW5DYWxsX2lpaWlp
aSJdKGluZGV4LGExLGEyLGEzLGE0LGE1KX1jYXRjaChlKXtpZih0eXBlb2YgZSE9PSJudW1iZXIi
JiZlIT09ImxvbmdqbXAiKXRocm93IGU7TW9kdWxlWyJzZXRUaHJldyJdKDEsMCl9fWZ1bmN0aW9u
IGludm9rZV9paWlpaWlpKGluZGV4LGExLGEyLGEzLGE0LGE1LGE2KXt0cnl7cmV0dXJuIE1vZHVs
ZVsiZHluQ2FsbF9paWlpaWlpIl0oaW5kZXgsYTEsYTIsYTMsYTQsYTUsYTYpfWNhdGNoKGUpe2lm
KHR5cGVvZiBlIT09Im51bWJlciImJmUhPT0ibG9uZ2ptcCIpdGhyb3cgZTtNb2R1bGVbInNldFRo
cmV3Il0oMSwwKX19ZnVuY3Rpb24gaW52b2tlX3YoaW5kZXgpe3RyeXtNb2R1bGVbImR5bkNhbGxf
diJdKGluZGV4KX1jYXRjaChlKXtpZih0eXBlb2YgZSE9PSJudW1iZXIiJiZlIT09ImxvbmdqbXAi
KXRocm93IGU7TW9kdWxlWyJzZXRUaHJldyJdKDEsMCl9fWZ1bmN0aW9uIGludm9rZV92aShpbmRl
eCxhMSl7dHJ5e01vZHVsZVsiZHluQ2FsbF92aSJdKGluZGV4LGExKX1jYXRjaChlKXtpZih0eXBl
b2YgZSE9PSJudW1iZXIiJiZlIT09ImxvbmdqbXAiKXRocm93IGU7TW9kdWxlWyJzZXRUaHJldyJd
KDEsMCl9fWZ1bmN0aW9uIGludm9rZV92aWkoaW5kZXgsYTEsYTIpe3RyeXtNb2R1bGVbImR5bkNh
bGxfdmlpIl0oaW5kZXgsYTEsYTIpfWNhdGNoKGUpe2lmKHR5cGVvZiBlIT09Im51bWJlciImJmUh
PT0ibG9uZ2ptcCIpdGhyb3cgZTtNb2R1bGVbInNldFRocmV3Il0oMSwwKX19ZnVuY3Rpb24gaW52
b2tlX3ZpaWkoaW5kZXgsYTEsYTIsYTMpe3RyeXtNb2R1bGVbImR5bkNhbGxfdmlpaSJdKGluZGV4
LGExLGEyLGEzKX1jYXRjaChlKXtpZih0eXBlb2YgZSE9PSJudW1iZXIiJiZlIT09ImxvbmdqbXAi
KXRocm93IGU7TW9kdWxlWyJzZXRUaHJldyJdKDEsMCl9fWZ1bmN0aW9uIGludm9rZV92aWlpZGRp
KGluZGV4LGExLGEyLGEzLGE0LGE1LGE2KXt0cnl7TW9kdWxlWyJkeW5DYWxsX3ZpaWlkZGkiXShp
bmRleCxhMSxhMixhMyxhNCxhNSxhNil9Y2F0Y2goZSl7aWYodHlwZW9mIGUhPT0ibnVtYmVyIiYm
ZSE9PSJsb25nam1wIil0aHJvdyBlO01vZHVsZVsic2V0VGhyZXciXSgxLDApfX1mdW5jdGlvbiBp
bnZva2VfdmlpaWkoaW5kZXgsYTEsYTIsYTMsYTQpe3RyeXtNb2R1bGVbImR5bkNhbGxfdmlpaWki
XShpbmRleCxhMSxhMixhMyxhNCl9Y2F0Y2goZSl7aWYodHlwZW9mIGUhPT0ibnVtYmVyIiYmZSE9
PSJsb25nam1wIil0aHJvdyBlO01vZHVsZVsic2V0VGhyZXciXSgxLDApfX1mdW5jdGlvbiBpbnZv
a2VfdmlpaWlpKGluZGV4LGExLGEyLGEzLGE0LGE1KXt0cnl7TW9kdWxlWyJkeW5DYWxsX3ZpaWlp
aSJdKGluZGV4LGExLGEyLGEzLGE0LGE1KX1jYXRjaChlKXtpZih0eXBlb2YgZSE9PSJudW1iZXIi
JiZlIT09ImxvbmdqbXAiKXRocm93IGU7TW9kdWxlWyJzZXRUaHJldyJdKDEsMCl9fWZ1bmN0aW9u
IGludm9rZV92aWlpaWlpKGluZGV4LGExLGEyLGEzLGE0LGE1LGE2KXt0cnl7TW9kdWxlWyJkeW5D
YWxsX3ZpaWlpaWkiXShpbmRleCxhMSxhMixhMyxhNCxhNSxhNil9Y2F0Y2goZSl7aWYodHlwZW9m
IGUhPT0ibnVtYmVyIiYmZSE9PSJsb25nam1wIil0aHJvdyBlO01vZHVsZVsic2V0VGhyZXciXSgx
LDApfX1Nb2R1bGUuYXNtR2xvYmFsQXJnPXsiTWF0aCI6TWF0aCwiSW50OEFycmF5IjpJbnQ4QXJy
YXksIkludDE2QXJyYXkiOkludDE2QXJyYXksIkludDMyQXJyYXkiOkludDMyQXJyYXksIlVpbnQ4
QXJyYXkiOlVpbnQ4QXJyYXksIlVpbnQxNkFycmF5IjpVaW50MTZBcnJheSwiVWludDMyQXJyYXki
OlVpbnQzMkFycmF5LCJGbG9hdDMyQXJyYXkiOkZsb2F0MzJBcnJheSwiRmxvYXQ2NEFycmF5IjpG
bG9hdDY0QXJyYXksIk5hTiI6TmFOLCJJbmZpbml0eSI6SW5maW5pdHl9O01vZHVsZS5hc21MaWJy
YXJ5QXJnPXsiYWJvcnQiOmFib3J0LCJhc3NlcnQiOmFzc2VydCwiZW5sYXJnZU1lbW9yeSI6ZW5s
YXJnZU1lbW9yeSwiZ2V0VG90YWxNZW1vcnkiOmdldFRvdGFsTWVtb3J5LCJhYm9ydE9uQ2Fubm90
R3Jvd01lbW9yeSI6YWJvcnRPbkNhbm5vdEdyb3dNZW1vcnksImludm9rZV9kIjppbnZva2VfZCwi
aW52b2tlX2RkZGQiOmludm9rZV9kZGRkLCJpbnZva2VfaSI6aW52b2tlX2ksImludm9rZV9paSI6
aW52b2tlX2lpLCJpbnZva2VfaWlpIjppbnZva2VfaWlpLCJpbnZva2VfaWlpaSI6aW52b2tlX2lp
aWksImludm9rZV9paWlpaSI6aW52b2tlX2lpaWlpLCJpbnZva2VfaWlpaWlpIjppbnZva2VfaWlp
aWlpLCJpbnZva2VfaWlpaWlpaSI6aW52b2tlX2lpaWlpaWksImludm9rZV92IjppbnZva2Vfdiwi
aW52b2tlX3ZpIjppbnZva2VfdmksImludm9rZV92aWkiOmludm9rZV92aWksImludm9rZV92aWlp
IjppbnZva2VfdmlpaSwiaW52b2tlX3ZpaWlkZGkiOmludm9rZV92aWlpZGRpLCJpbnZva2Vfdmlp
aWkiOmludm9rZV92aWlpaSwiaW52b2tlX3ZpaWlpaSI6aW52b2tlX3ZpaWlpaSwiaW52b2tlX3Zp
aWlpaWkiOmludm9rZV92aWlpaWlpLCJfX19hc3NlcnRfZmFpbCI6X19fYXNzZXJ0X2ZhaWwsIl9f
X2J1aWxkRW52aXJvbm1lbnQiOl9fX2J1aWxkRW52aXJvbm1lbnQsIl9fX2Nsb2NrX2dldHRpbWUi
Ol9fX2Nsb2NrX2dldHRpbWUsIl9fX2xvY2siOl9fX2xvY2ssIl9fX21hcF9maWxlIjpfX19tYXBf
ZmlsZSwiX19fc2V0RXJyTm8iOl9fX3NldEVyck5vLCJfX19zeXNjYWxsMTAiOl9fX3N5c2NhbGwx
MCwiX19fc3lzY2FsbDE0MCI6X19fc3lzY2FsbDE0MCwiX19fc3lzY2FsbDE0NSI6X19fc3lzY2Fs
bDE0NSwiX19fc3lzY2FsbDE0NiI6X19fc3lzY2FsbDE0NiwiX19fc3lzY2FsbDE5MiI6X19fc3lz
Y2FsbDE5MiwiX19fc3lzY2FsbDE5NSI6X19fc3lzY2FsbDE5NSwiX19fc3lzY2FsbDE5NyI6X19f
c3lzY2FsbDE5NywiX19fc3lzY2FsbDIyMSI6X19fc3lzY2FsbDIyMSwiX19fc3lzY2FsbDMzIjpf
X19zeXNjYWxsMzMsIl9fX3N5c2NhbGw1IjpfX19zeXNjYWxsNSwiX19fc3lzY2FsbDU0IjpfX19z
eXNjYWxsNTQsIl9fX3N5c2NhbGw2IjpfX19zeXNjYWxsNiwiX19fc3lzY2FsbDkxIjpfX19zeXNj
YWxsOTEsIl9fX3VubG9jayI6X19fdW5sb2NrLCJfX2V4aXQiOl9fZXhpdCwiX2Nsb2NrX2dldHRp
bWUiOl9jbG9ja19nZXR0aW1lLCJfZW1zY3JpcHRlbl9hc21fY29uc3RfaWlpIjpfZW1zY3JpcHRl
bl9hc21fY29uc3RfaWlpLCJfZW1zY3JpcHRlbl9nZXRfbm93IjpfZW1zY3JpcHRlbl9nZXRfbm93
LCJfZW1zY3JpcHRlbl9nZXRfbm93X2lzX21vbm90b25pYyI6X2Vtc2NyaXB0ZW5fZ2V0X25vd19p
c19tb25vdG9uaWMsIl9lbXNjcmlwdGVuX21lbWNweV9iaWciOl9lbXNjcmlwdGVuX21lbWNweV9i
aWcsIl9leGl0IjpfZXhpdCwiX2dldGVudiI6X2dldGVudiwiX2xsdm1fY2VpbF9mNjQiOl9sbHZt
X2NlaWxfZjY0LCJfbGx2bV9mYWJzX2Y2NCI6X2xsdm1fZmFic19mNjQsIl9sbHZtX2Zsb29yX2Y2
NCI6X2xsdm1fZmxvb3JfZjY0LCJfbGx2bV9wb3dfZjY0IjpfbGx2bV9wb3dfZjY0LCJfbGx2bV9z
cXJ0X2Y2NCI6X2xsdm1fc3FydF9mNjQsIl9sbHZtX3RyYXAiOl9sbHZtX3RyYXAsIl9sb25nam1w
IjpfbG9uZ2ptcCwiX3NldGVudiI6X3NldGVudiwiX3RpbWVzIjpfdGltZXMsIkRZTkFNSUNUT1Bf
UFRSIjpEWU5BTUlDVE9QX1BUUiwidGVtcERvdWJsZVB0ciI6dGVtcERvdWJsZVB0ciwiQUJPUlQi
OkFCT1JULCJTVEFDS1RPUCI6U1RBQ0tUT1AsIlNUQUNLX01BWCI6U1RBQ0tfTUFYLCJjdHR6X2k4
IjpjdHR6X2k4fTsvLyBFTVNDUklQVEVOX1NUQVJUX0FTTQordmFyIGFzbT0oLyoqIEBzdXBwcmVz
cyB7dXNlbGVzc0NvZGV9ICovIGZ1bmN0aW9uKGdsb2JhbCxlbnYsYnVmZmVyKSB7CisidXNlIGFz
bSI7dmFyIGE9bmV3IGdsb2JhbC5JbnQ4QXJyYXkoYnVmZmVyKTt2YXIgYj1uZXcgZ2xvYmFsLklu
dDE2QXJyYXkoYnVmZmVyKTt2YXIgYz1uZXcgZ2xvYmFsLkludDMyQXJyYXkoYnVmZmVyKTt2YXIg
ZD1uZXcgZ2xvYmFsLlVpbnQ4QXJyYXkoYnVmZmVyKTt2YXIgZT1uZXcgZ2xvYmFsLlVpbnQxNkFy
cmF5KGJ1ZmZlcik7dmFyIGY9bmV3IGdsb2JhbC5VaW50MzJBcnJheShidWZmZXIpO3ZhciBnPW5l
dyBnbG9iYWwuRmxvYXQzMkFycmF5KGJ1ZmZlcik7dmFyIGg9bmV3IGdsb2JhbC5GbG9hdDY0QXJy
YXkoYnVmZmVyKTt2YXIgaT1lbnYuRFlOQU1JQ1RPUF9QVFJ8MDt2YXIgaj1lbnYudGVtcERvdWJs
ZVB0cnwwO3ZhciBrPWVudi5BQk9SVHwwO3ZhciBsPWVudi5TVEFDS1RPUHwwO3ZhciBtPWVudi5T
VEFDS19NQVh8MDt2YXIgbj1lbnYuY3R0el9pOHwwO3ZhciBvPTA7dmFyIHA9MDt2YXIgcT0wO3Zh
ciByPTA7dmFyIHM9Z2xvYmFsLk5hTix0PWdsb2JhbC5JbmZpbml0eTt2YXIgdT0wLHY9MCx3PTAs
eD0wLHk9MC4wO3ZhciB6PTA7dmFyIEE9Z2xvYmFsLk1hdGguZmxvb3I7dmFyIEI9Z2xvYmFsLk1h
dGguYWJzO3ZhciBDPWdsb2JhbC5NYXRoLnNxcnQ7dmFyIEQ9Z2xvYmFsLk1hdGgucG93O3ZhciBF
PWdsb2JhbC5NYXRoLmNvczt2YXIgRj1nbG9iYWwuTWF0aC5zaW47dmFyIEc9Z2xvYmFsLk1hdGgu
dGFuO3ZhciBIPWdsb2JhbC5NYXRoLmFjb3M7dmFyIEk9Z2xvYmFsLk1hdGguYXNpbjt2YXIgSj1n
bG9iYWwuTWF0aC5hdGFuO3ZhciBLPWdsb2JhbC5NYXRoLmF0YW4yO3ZhciBMPWdsb2JhbC5NYXRo
LmV4cDt2YXIgTT1nbG9iYWwuTWF0aC5sb2c7dmFyIE49Z2xvYmFsLk1hdGguY2VpbDt2YXIgTz1n
bG9iYWwuTWF0aC5pbXVsO3ZhciBQPWdsb2JhbC5NYXRoLm1pbjt2YXIgUT1nbG9iYWwuTWF0aC5t
YXg7dmFyIFI9Z2xvYmFsLk1hdGguY2x6MzI7dmFyIFM9ZW52LmFib3J0O3ZhciBUPWVudi5hc3Nl
cnQ7dmFyIFU9ZW52LmVubGFyZ2VNZW1vcnk7dmFyIFY9ZW52LmdldFRvdGFsTWVtb3J5O3ZhciBX
PWVudi5hYm9ydE9uQ2Fubm90R3Jvd01lbW9yeTt2YXIgWD1lbnYuaW52b2tlX2Q7dmFyIFk9ZW52
Lmludm9rZV9kZGRkO3ZhciBaPWVudi5pbnZva2VfaTt2YXIgXz1lbnYuaW52b2tlX2lpO3ZhciAk
PWVudi5pbnZva2VfaWlpO3ZhciBhYT1lbnYuaW52b2tlX2lpaWk7dmFyIGJhPWVudi5pbnZva2Vf
aWlpaWk7dmFyIGNhPWVudi5pbnZva2VfaWlpaWlpO3ZhciBkYT1lbnYuaW52b2tlX2lpaWlpaWk7
dmFyIGVhPWVudi5pbnZva2Vfdjt2YXIgZmE9ZW52Lmludm9rZV92aTt2YXIgZ2E9ZW52Lmludm9r
ZV92aWk7dmFyIGhhPWVudi5pbnZva2VfdmlpaTt2YXIgaWE9ZW52Lmludm9rZV92aWlpZGRpO3Zh
ciBqYT1lbnYuaW52b2tlX3ZpaWlpO3ZhciBrYT1lbnYuaW52b2tlX3ZpaWlpaTt2YXIgbGE9ZW52
Lmludm9rZV92aWlpaWlpO3ZhciBtYT1lbnYuX19fYXNzZXJ0X2ZhaWw7dmFyIG5hPWVudi5fX19i
dWlsZEVudmlyb25tZW50O3ZhciBvYT1lbnYuX19fY2xvY2tfZ2V0dGltZTt2YXIgcGE9ZW52Ll9f
X2xvY2s7dmFyIHFhPWVudi5fX19tYXBfZmlsZTt2YXIgcmE9ZW52Ll9fX3NldEVyck5vO3ZhciBz
YT1lbnYuX19fc3lzY2FsbDEwO3ZhciB0YT1lbnYuX19fc3lzY2FsbDE0MDt2YXIgdWE9ZW52Ll9f
X3N5c2NhbGwxNDU7dmFyIHZhPWVudi5fX19zeXNjYWxsMTQ2O3ZhciB3YT1lbnYuX19fc3lzY2Fs
bDE5Mjt2YXIgeGE9ZW52Ll9fX3N5c2NhbGwxOTU7dmFyIHlhPWVudi5fX19zeXNjYWxsMTk3O3Zh
ciB6YT1lbnYuX19fc3lzY2FsbDIyMTt2YXIgQWE9ZW52Ll9fX3N5c2NhbGwzMzt2YXIgQmE9ZW52
Ll9fX3N5c2NhbGw1O3ZhciBDYT1lbnYuX19fc3lzY2FsbDU0O3ZhciBEYT1lbnYuX19fc3lzY2Fs
bDY7dmFyIEVhPWVudi5fX19zeXNjYWxsOTE7dmFyIEZhPWVudi5fX191bmxvY2s7dmFyIEdhPWVu
di5fX2V4aXQ7dmFyIEhhPWVudi5fY2xvY2tfZ2V0dGltZTt2YXIgSWE9ZW52Ll9lbXNjcmlwdGVu
X2FzbV9jb25zdF9paWk7dmFyIEphPWVudi5fZW1zY3JpcHRlbl9nZXRfbm93O3ZhciBLYT1lbnYu
X2Vtc2NyaXB0ZW5fZ2V0X25vd19pc19tb25vdG9uaWM7dmFyIExhPWVudi5fZW1zY3JpcHRlbl9t
ZW1jcHlfYmlnO3ZhciBNYT1lbnYuX2V4aXQ7dmFyIE5hPWVudi5fZ2V0ZW52O3ZhciBPYT1lbnYu
X2xsdm1fY2VpbF9mNjQ7dmFyIFBhPWVudi5fbGx2bV9mYWJzX2Y2NDt2YXIgUWE9ZW52Ll9sbHZt
X2Zsb29yX2Y2NDt2YXIgUmE9ZW52Ll9sbHZtX3Bvd19mNjQ7dmFyIFNhPWVudi5fbGx2bV9zcXJ0
X2Y2NDt2YXIgVGE9ZW52Ll9sbHZtX3RyYXA7dmFyIFVhPWVudi5fbG9uZ2ptcDt2YXIgVmE9ZW52
Ll9zZXRlbnY7dmFyIFdhPWVudi5fdGltZXM7dmFyIFhhPTAuMDsKKy8vIEVNU0NSSVBURU5fU1RB
UlRfRlVOQ1MKK2Z1bmN0aW9uIG5iKGEpe2E9YXwwO3ZhciBiPTA7Yj1sO2w9bCthfDA7bD1sKzE1
Ji0xNjtyZXR1cm4gYnwwfWZ1bmN0aW9uIG9iKCl7cmV0dXJuIGx8MH1mdW5jdGlvbiBwYihhKXth
PWF8MDtsPWF9ZnVuY3Rpb24gcWIoYSxiKXthPWF8MDtiPWJ8MDtsPWE7bT1ifWZ1bmN0aW9uIHJi
KGEsYil7YT1hfDA7Yj1ifDA7aWYoIW8pe289YTtwPWJ9fWZ1bmN0aW9uIHNiKGEpe2E9YXwwO3o9
YX1mdW5jdGlvbiB0Yigpe3JldHVybiB6fDB9ZnVuY3Rpb24gdWIoYSl7YT1hfDA7Y1s0MTg0MF09
YTtyZXR1cm4gMH1mdW5jdGlvbiB2Yigpe3JldHVybiBjWzQxODQwXXwwfWZ1bmN0aW9uIHdiKGEs
Yil7YT1hfDA7Yj1ifDA7SWEoMCxhfDAsYnwwKXwwO3JldHVybn1mdW5jdGlvbiB4YihhKXthPWF8
MDtjWzQyMTgzXT1hO3JldHVybn1mdW5jdGlvbiB5YihhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7
dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTA7aT1sO2w9bCsxNnwwO2Y9aSs0fDA7Zz1pO2NbZj4+Ml09
MDtoPWtzKCl8MDtwcyhoLDEwOTA0KTtwcyhoLDE3MTQ4KTtabCgxKXwwO1lsKDE2KXwwO2VwKDEp
O3doaWxlKDEpe2E9U24oYSl8MDtlPWNbZj4+Ml18MDtpZighYSlicmVhaztpZighZSl7bHMoaCxh
LGQpfDA7b3MoaCxhLGIsZixnKXwwO2hyKGgsYSl8MH1sbihhKXwwO2E9MTc0MTgxfWw9aTtyZXR1
cm4gZXwwfWZ1bmN0aW9uIHpiKGEpe2E9YXwwO3ZhciBkPTAsZT0wLGY9MCxnPTA7Zz1sO2w9bCsx
NnwwO2Q9Zys0fDA7ZT1nO2Y9Y1soY1thKzE2Pj4yXXwwKSs4Pj4yXXwwO2E9YSs2NHwwO3N3aXRj
aChjW2E+PjJdfDApe2Nhc2UgMDp7dngoZik7YnJlYWt9Y2FzZSAxOntpZihiWyhjW2YrMTY+PjJd
fDApKzEzNj4+MV0mMSluQihmKTticmVha31jYXNlIDQ6Y2FzZSA1OmNhc2UgNjp7c3goZixlLGQp
O0NiKGYsY1tlPj4yXXwwLGNbZD4+Ml18MCxjW2E+PjJdfDApO2JyZWFrfWRlZmF1bHQ6e319bD1n
O3JldHVybn1mdW5jdGlvbiBBYihhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wO2Q9Y1soY1th
KzE2Pj4yXXwwKSs4Pj4yXXwwO2lmKCEoY1s0MTg0MV18MCkpe2NbNDE4NDFdPWNbNDQ0Ml07Y1s0
MTg0Ml09OTtjWzQxODQzXT0xN31lPWQrNjR8MDtmPShjW2U+PjJdfDApKzh8MDtiPWNbZj4+Ml18
MDtjW2Y+PjJdPTE2NzM2NDtzd2l0Y2goY1thKzY0Pj4yXXwwKXtjYXNlIDI6e2l4KGEsZCxhLDAp
O2JyZWFrfWNhc2UgMzp7aXgoYSxkLGEsMSk7YnJlYWt9Y2FzZSAxOmNhc2UgMDp7aWYoIShjW2Er
MTUyPj4yXSYxMzQyMTc3MjgpKV9wKGQsYSl8MDticmVha31jYXNlIDY6Y2FzZSA1OmNhc2UgNDp7
QmIoZCk7aWYoIShjW2ErMTUyPj4yXSYxMzQyMTc3MjgpKV9wKGQsYSl8MDticmVha31kZWZhdWx0
Ont9fWNbKGNbZT4+Ml18MCkrOD4+Ml09YjtyZXR1cm59ZnVuY3Rpb24gQmIoYil7Yj1ifDA7dmFy
IGQ9MCxlPTA7ZD1jWzQxODQ1XXwwO2lmKChkfDApIT0oY1s0MTg0NF18MCkpe2U9Y1tjWzQxODc2
XT4+Ml18MDtpZighZSl7ZT10QihiLDAsODQ4MjcsMTc0MTgxKXwwO2NbY1s0MTg3Nl0+PjJdPWU7
ZD1jWzQxODQ1XXwwfWlmKGQ+Pj4wPj0oY1s0MTg0Nl18MCk+Pj4wKXtkbSgxNjczNzYsMSl8MDtk
PWNbNDE4NDVdfDB9YVtkPj4wXT0wO2Q9Y1s0MTg0NF18MDtjWzQxODQ1XT1kO0NtKGIsZSxkKXww
fWlmKGNbKGNbYisxNj4+Ml18MCkrMTI+PjJdfDApe2U9Y1soY1s0MTg3Nl18MCkrND4+Ml18MDtk
PWNbNDE4NjFdfDA7aWYoZD4+PjA+PShjWzQxODYyXXwwKT4+PjApe2RtKDE2NzQ0MCwxKXwwO2Q9
Y1s0MTg2MV18MH1hW2Q+PjBdPTA7ZD1jWzQxODYwXXwwO2NbNDE4NjFdPWQ7Q20oYixlLGQpfDB9
TG0oYiw1OTU3NyxjWyhjWzQxODc2XXwwKSs4MjM2Pj4yXXwwLDE3NDE4MSl8MDtkPTA7d2hpbGUo
MSl7aWYoKGR8MCk9PTgpYnJlYWs7Z20oMTY3Mzc2KyhkPDw0KXwwKTtkPWQrMXwwfV9JKGNbNDE4
NzZdfDApO2hbMV09MS4wO2hbNV09MS4wO2NbNDE4NzddPTA7Y1s0MTg4MV09MDtyZXR1cm59ZnVu
Y3Rpb24gQ2IoZCxlLGYsZyl7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0w
O2k9WkkoODI0MCl8MDtjWzQxODc2XT1pO2E6ZG8gc3dpdGNoKGd8MCl7Y2FzZSA2OntiW2krODIz
Mj4+MV09MTQ7Zz01OTU5MzticmVha31jYXNlIDU6e2JbaSs4MjMyPj4xXT0xMjtnPTU5NTk3O2Jy
ZWFrfWRlZmF1bHQ6e2c9SW0oZCw1OTU3Nyl8MDtpZigoZ3wwP2FbZz4+MF18MDowKT8oaD1EYihn
KXwwLChoJjY1NTM1KT4xMCk6MCl7aT1jWzQxODc2XXwwO2JbaSs4MjMyPj4xXT1oO2JyZWFrIGF9
Zz1EYig1OTU4OSl8MDtpPWNbNDE4NzZdfDA7YltpKzgyMzI+PjFdPWc7Zz01OTU4OX19d2hpbGUo
MCk7Y1tpKzgyMzY+PjJdPWc7aj1kKzE2fDA7Zz1jW2o+PjJdfDA7aWYoIShjW2crMTgwPj4yXXww
KSloPTA7ZWxzZXtoPXRCKGQsMCw4NDgyNywxNzQxODEpfDA7aT1jWzQxODc2XXwwO2c9Y1tqPj4y
XXwwfWNbaT4+Ml09aDtpZighKGFbZysxMTM+PjBdJjgpKWc9MDtlbHNlIGc9dEIoZCwwLDU5NjAx
LDE3NDE4MSl8MDtjWyhjWzQxODc2XXwwKSs0Pj4yXT1nO2k9dEIoZCwxLDg0ODI3LDE3NDE4MSl8
MDtjWyhjWzQxODc2XXwwKSs4Pj4yXT1pO2k9dEIoZCwxLDU5NjAxLDE3NDE4MSl8MDtjWyhjWzQx
ODc2XXwwKSsxMj4+Ml09aTtpPXRCKGQsMiw4NDgyNywxNzQxODEpfDA7Zz1jWzQxODc2XXwwO2Nb
ZysxNj4+Ml09aTtpZighZiloPTA7ZWxzZXtoPXRCKGQsMiw1OTYwOSwxNzQxODEpfDA7Zz1jWzQx
ODc2XXwwfWNbZysyMD4+Ml09aDtpZighZSloPTA7ZWxzZXtoPXRCKGQsMiw1OTYxNywxNzQxODEp
fDA7Zz1jWzQxODc2XXwwfWNbZysyND4+Ml09aDtoPWFbKGNbaj4+Ml18MCkrMTEzPj4wXXwwO2lm
KCEoaCYzMykpaT0wO2Vsc2V7aT10QihkLDIsNTk2MDEsMTc0MTgxKXwwO2c9Y1s0MTg3Nl18MDto
PWFbKGNbaj4+Ml18MCkrMTEzPj4wXXwwfWNbZysyOD4+Ml09aTtpZighKGgmMikpaT0wO2Vsc2V7
aT10QihkLDIsNTk2MjUsMTc0MTgxKXwwO2c9Y1s0MTg3Nl18MDtoPWFbKGNbaj4+Ml18MCkrMTEz
Pj4wXXwwfWNbZyszMj4+Ml09aTtpZighKGgmNCkpaD0wO2Vsc2V7aD10QihkLDIsNTk2MzQsMTc0
MTgxKXwwO2c9Y1s0MTg3Nl18MH1jW2crMzY+PjJdPWg7Zz0wO3doaWxlKDEpe2lmKChnfDApPT04
KWJyZWFrO2NtKDE2NzM3NisoZzw8NCl8MCwxMDI0LChjWzQxODc2XXwwKSs0MCsoZzw8MTApfDAp
O2c9ZysxfDB9cmV0dXJufWZ1bmN0aW9uIERiKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAs
aD0wLGk9MCxqPTA7aj1sO2w9bCsxMDQwfDA7aD1qO2c9ais4fDA7Zj0wO2Q9YjthOndoaWxlKDEp
e2Rve2U9ZDtkPWQrMXwwO2U9YVtlPj4wXXwwO2lmKCEoZTw8MjQ+PjI0KSlicmVhayBhfXdoaWxl
KCgoZTw8MjQ+PjI0KSstNDh8MCk+Pj4wPj0xMCk7aWYoKGZ8MCk+PTEwMjMpe2k9NzticmVha31h
W2crZj4+MF09ZTtmPWYrMXwwfWlmKChpfDApPT03KXtjW2g+PjJdPWI7X2woMCw1OTY0MyxoKXww
fWFbZytmPj4wXT0wO2k9KHJNKGcpfDApJjY1NTM1O2w9ajtyZXR1cm4gaXwwfWZ1bmN0aW9uIEVi
KGIpe2I9YnwwO3ZhciBkPTAsZT0wO2U9Y1soY1tiKzE2Pj4yXXwwKSs4Pj4yXXwwO2Q9Y1tjWzQx
ODc2XT4+Ml18MDtiPWNbNDE4NDldfDA7aWYoYj4+PjA+PShjWzQxODUwXXwwKT4+PjApe2RtKDE2
NzM5MiwxKXwwO2I9Y1s0MTg0OV18MH1hW2I+PjBdPTA7Yj1jWzQxODQ4XXwwO2NbNDE4NDldPWI7
Q20oZSxkLGIpfDA7aWYoY1soY1tlKzE2Pj4yXXwwKSsxMj4+Ml18MCl7ZD1jWyhjWzQxODc2XXww
KSs0Pj4yXXwwO2I9Y1s0MTg2NV18MDtpZihiPj4+MD49KGNbNDE4NjZdfDApPj4+MCl7ZG0oMTY3
NDU2LDEpfDA7Yj1jWzQxODY1XXwwfWFbYj4+MF09MDtiPWNbNDE4NjRdfDA7Y1s0MTg2NV09YjtD
bShlLGQsYil8MH1oWzJdPTEuMDtoWzZdPTEuMDtjWzQxODc4XT0wO2NbNDE4ODJdPTA7cmV0dXJu
fWZ1bmN0aW9uIEZiKGIpe2I9YnwwO3ZhciBkPTAsZT0wO2U9Y1soY1tiKzE2Pj4yXXwwKSs4Pj4y
XXwwO2I9Y1s0MTg0OV18MDtpZigoY1s0MTg0OF18MCkhPShifDApKXtkPWNbKGNbNDE4NzZdfDAp
Kzg+PjJdfDA7aWYoYj4+PjA+PShjWzQxODUwXXwwKT4+PjApe2RtKDE2NzM5MiwxKXwwO2I9Y1s0
MTg0OV18MH1hW2I+PjBdPTA7Yj1jWzQxODQ4XXwwO2NbNDE4NDldPWI7Q20oZSxkLGIpfDB9Yj1j
WzQxODY1XXwwO2lmKChjWzQxODY0XXwwKSE9KGJ8MCkpe2Q9Y1soY1s0MTg3Nl18MCkrMTI+PjJd
fDA7aWYoYj4+PjA+PShjWzQxODY2XXwwKT4+PjApe2RtKDE2NzQ1NiwxKXwwO2I9Y1s0MTg2NV18
MH1hW2I+PjBdPTA7Yj1jWzQxODY0XXwwO2NbNDE4NjVdPWI7Q20oZSxkLGIpfDB9aFs5XT0xLjA7
aFsxMV09MS4wO2NbNDE4ODVdPTA7Y1s0MTg4N109MDtyZXR1cm59ZnVuY3Rpb24gR2IoYil7Yj1i
fDA7dmFyIGQ9MCxlPTA7ZT1jWyhjW2IrMTY+PjJdfDApKzg+PjJdfDA7Yj1jWzQxODQ5XXwwO2lm
KChjWzQxODQ4XXwwKSE9KGJ8MCkpe2Q9Y1soY1s0MTg3Nl18MCkrMTY+PjJdfDA7aWYoYj4+PjA+
PShjWzQxODUwXXwwKT4+PjApe2RtKDE2NzM5MiwxKXwwO2I9Y1s0MTg0OV18MH1hW2I+PjBdPTA7
Yj1jWzQxODQ4XXwwO2NbNDE4NDldPWI7Q20oZSxkLGIpfDB9Yj1jWzQxODUzXXwwO2lmKChjWzQx
ODUyXXwwKSE9KGJ8MCkpe2Q9Y1soY1s0MTg3Nl18MCkrMjQ+PjJdfDA7aWYoYj4+PjA+PShjWzQx
ODU0XXwwKT4+PjApe2RtKDE2NzQwOCwxKXwwO2I9Y1s0MTg1M118MH1hW2I+PjBdPTA7Yj1jWzQx
ODUyXXwwO2NbNDE4NTNdPWI7Q20oZSxkLGIpfDB9Yj1jWzQxODU3XXwwO2lmKChjWzQxODU2XXww
KSE9KGJ8MCkpe2Q9Y1soY1s0MTg3Nl18MCkrMjA+PjJdfDA7aWYoYj4+PjA+PShjWzQxODU4XXww
KT4+PjApe2RtKDE2NzQyNCwxKXwwO2I9Y1s0MTg1N118MH1hW2I+PjBdPTA7Yj1jWzQxODU2XXww
O2NbNDE4NTddPWI7Q20oZSxkLGIpfDB9Yj1jWzQxODY1XXwwO2lmKChjWzQxODY0XXwwKSE9KGJ8
MCkpe2Q9Y1soY1s0MTg3Nl18MCkrMjg+PjJdfDA7aWYoYj4+PjA+PShjWzQxODY2XXwwKT4+PjAp
e2RtKDE2NzQ1NiwxKXwwO2I9Y1s0MTg2NV18MH1hW2I+PjBdPTA7Yj1jWzQxODY0XXwwO2NbNDE4
NjVdPWI7Q20oZSxkLGIpfDB9Yj1jWzQxODY5XXwwO2lmKChjWzQxODY4XXwwKSE9KGJ8MCkpe2Q9
Y1soY1s0MTg3Nl18MCkrMzY+PjJdfDA7aWYoYj4+PjA+PShjWzQxODcwXXwwKT4+PjApe2RtKDE2
NzQ3MiwxKXwwO2I9Y1s0MTg2OV18MH1hW2I+PjBdPTA7Yj1jWzQxODY4XXwwO2NbNDE4NjldPWI7
Q20oZSxkLGIpfDB9Yj1jWzQxODczXXwwO2lmKChjWzQxODcyXXwwKSE9KGJ8MCkpe2Q9Y1soY1s0
MTg3Nl18MCkrMzI+PjJdfDA7aWYoYj4+PjA+PShjWzQxODc0XXwwKT4+PjApe2RtKDE2NzQ4OCwx
KXwwO2I9Y1s0MTg3M118MH1hW2I+PjBdPTA7Yj1jWzQxODcyXXwwO2NbNDE4NzNdPWI7Q20oZSxk
LGIpfDB9aFsxMF09MS4wO2hbMTJdPTEuMDtoWzNdPTEuMDtoWzRdPTEuMDtoWzddPTEuMDtoWzhd
PTEuMDtjWzQxODg2XT0wO2NbNDE4ODhdPTA7Y1s0MTg3OV09MDtjWzQxODgwXT0wO2NbNDE4ODNd
PTA7Y1s0MTg4NF09MDtyZXR1cm59ZnVuY3Rpb24gSGIoZCxlLGYpe2Q9ZHwwO2U9ZXwwO2Y9Znww
O3ZhciBnPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MDt0PWw7
bD1sKzEwNTZ8MDtqPXQrMTZ8MDtzPXQrOHwwO3I9dDtrPXQrMzJ8MDtvPWNbKGNbZCsxNj4+Ml18
MCkrMTI+PjJdfDA7cD1jWzExMzQ0KyhvPDwyKT4+Ml18MDtmbShwLDU5NzQ2KXwwO2c9Zis0fDA7
UWIoaywraFsoY1tnPj4yXXwwKSsxNj4+M10pO2ZtKHAsayl8MDtUYihkLDE3NDE4MSxjW2NbZz4+
Ml0+PjJdfDApO05iKGQpO3E9YVtmKzQ4Pj4wXXwwO3E9cTw8MjQ+PjI0PT0xMDg/LTE6cTw8MjQ+
PjI0PT0xMTQmMTtnPWNbZz4+Ml18MDtpZighZylnPTA7ZWxzZSBnPWNbZysyND4+Ml0mMTI3O2k9
YlsoY1s0MTg3Nl18MCkrODIzMj4+MV18MDtpZigoaSY2NTUzNSk+MTQ/KG09Y1sxMTM5MisoKGkm
NjU1MzUpKy0xNTw8Mik+PjJdJmcsbj0xNjc1MDgrKG88PDIpfDAsKGNbbj4+Ml18MCkhPShtfDAp
KTowKXtjW3I+PjJdPW07cEwoayw1OTc0OSxyKXwwO2ZtKHAsayl8MDtjW24+PjJdPW19cj1lKzh8
MDtoW3I+PjNdPStoW3I+PjNdKyAraFtmKzI0Pj4zXTtmbShwLDU5NzU1KXwwO2Nbaj4+Ml09Y1tl
Pj4yXTtjW2orND4+Ml09Y1tlKzQ+PjJdO2Nbais4Pj4yXT1jW2UrOD4+Ml07Y1tqKzEyPj4yXT1j
W2UrMTI+PjJdO1BiKHAsaik7Y1tzPj4yXT1xO3BMKGssODcyNTQscyl8MDtmbShwLGspfDA7UWIo
aywraFtmKzMyPj4zXSk7Zm0ocCxrKXwwO1RiKGQsMTc0MTgxLGNbZj4+Ml18MCk7bD10O3JldHVy
bn1mdW5jdGlvbiBJYihhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGk9
MDtpPWw7bD1sKzEwNDB8MDtmPWk7Zz1pKzE2fDA7ZT1jWyhjW2ErMTY+PjJdfDApKzEyPj4yXXww
O01iKGEpO05iKGEpO2lmKCFkKXthPWNbMTEzNDQrKGU8PDIpPj4yXXwwO2ZtKGEsNTk3NDMpfDB9
ZWxzZXtpZigoZHwxfDApPT0zKVZiKGEsZCxiLDIpO2Vsc2UgV2IoYSk7YT1jWzExMzQ0KyhlPDwy
KT4+Ml18MDtmbShhLDU5NzQwKXwwfTtjW2Y+PjJdPWNbYj4+Ml07Y1tmKzQ+PjJdPWNbYis0Pj4y
XTtjW2YrOD4+Ml09Y1tiKzg+PjJdO2NbZisxMj4+Ml09Y1tiKzEyPj4yXTtQYihhLGYpO1FiKGcs
K2hbYisxNj4+M10tK2hbYj4+M10pO2ZtKGEsZyl8MDtRYihnLCtoW2IrMjQ+PjNdLStoW2IrOD4+
M10pO2ZtKGEsZyl8MDtsPWk7cmV0dXJufWZ1bmN0aW9uIEpiKGEsYixjLGQpe2E9YXwwO2I9Ynww
O2M9Y3wwO2Q9ZHwwO01iKGEpO05iKGEpO2lmKCFkKU9iKGEsMTEyLGIsYyk7ZWxzZXtpZigoZHwx
fDApPT0zKVZiKGEsZCxiLGMpO2Vsc2UgV2IoYSk7T2IoYSw4MCxiLGMpfXJldHVybn1mdW5jdGlv
biBLYihhLGIsYyxkLGUsZil7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7TWIo
YSk7TmIoYSk7aWYoIWYpT2IoYSw2NixiLGMpO2Vsc2V7aWYoKGZ8MXwwKT09MylWYihhLGYsYixj
KTtlbHNlIFdiKGEpO09iKGEsOTgsYixjKX1yZXR1cm59ZnVuY3Rpb24gTGIoYSxiLGMpe2E9YXww
O2I9YnwwO2M9Y3wwO01iKGEpO05iKGEpO09iKGEsNzYsYixjKTtyZXR1cm59ZnVuY3Rpb24gTWIo
Yil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MC4wLGk9MCxqPTAsaz0wLG09MCxuPTA7bj1sO2w9
bCsxMTg0fDA7aT1uO2Y9bisyNHwwO209bis4fDA7Y20obSwxMDI0LG4rMTUyfDApO2o9YisxNnww
O2Q9Y1tqPj4yXXwwO2c9K2hbZCsxNTI+PjNdO2U9OCsoY1tkKzEyPj4yXTw8Myl8MDtpZihnIT0r
aFtlPj4zXSl7aFtlPj4zXT1nO2ZtKG0sNTk3MDYpfDA7aFtpPj4zXT0raFsoY1tqPj4yXXwwKSsx
NTI+PjNdO3BMKGYsNTk3MjAsaSl8MDtSYihmLDApO2ZtKG0sZil8MDtmPW0rNHwwO2Q9Y1tmPj4y
XXwwO2U9bSs4fDA7aWYoZD4+PjA+PShjW2U+PjJdfDApPj4+MCl7ZG0obSwxKXwwO2Q9Y1tmPj4y
XXwwfWNbZj4+Ml09ZCsxO2FbZD4+MF09NDE7ZD1jW2Y+PjJdfDA7aWYoZD4+PjA+PShjW2U+PjJd
fDApPj4+MCl7ZG0obSwxKXwwO2Q9Y1tmPj4yXXwwfWFbZD4+MF09MDtkPWNbbT4+Ml18MDtjW2Y+
PjJdPWQ7VGIoYiw1OTcyNSxkKTtkPWNbaj4+Ml18MH1kPWNbZCsxNjA+PjJdfDA7aWYoZHwwKXtq
PW0rNHwwO2s9bSs4fDA7YTp3aGlsZSgxKXtpPWQrNHwwO2Q9Y1tkPj4yXXwwO2lmKCFkKWJyZWFr
O3N3aXRjaChhW2Q+PjBdfDApe2Nhc2UgMTAyOntpZighKHhKKGQsOTU5MjMpfDApKXtkPWk7Y29u
dGludWUgYX1icmVha31jYXNlIDk4OntpZighKHhKKGQsOTU5MDUpfDApKXtkPWk7Y29udGludWUg
YX1icmVha31jYXNlIDExNTp7aWYoISh4SihkLDk1OTEwKXwwKSl7ZD1pO2NvbnRpbnVlIGF9YnJl
YWt9ZGVmYXVsdDp7fX1mbShtLGQpfDA7ZG97Zj1kO2Q9ZCsxfDB9d2hpbGUoKGFbZj4+MF18MCkh
PTApO2lmKGFbZD4+MF18MCl7ZT1jW2o+PjJdfDA7aWYoZT4+PjA+PShjW2s+PjJdfDApPj4+MCl7
ZG0obSwxKXwwO2U9Y1tqPj4yXXwwfWNbaj4+Ml09ZSsxO2FbZT4+MF09NDA7Zj0wO3doaWxlKDEp
e2lmKCEoYVtkPj4wXXwwKSlicmVhaztpZihmfDApe2U9Y1tqPj4yXXwwO2lmKGU+Pj4wPj0oY1tr
Pj4yXXwwKT4+PjApe2RtKG0sMSl8MDtlPWNbaj4+Ml18MH1jW2o+PjJdPWUrMTthW2U+PjBdPTQ0
fWZtKG0sZCl8MDtkb3tlPWQ7ZD1kKzF8MH13aGlsZSgoYVtlPj4wXXwwKSE9MCk7Zj1mKzF8MH1k
PWNbaj4+Ml18MDtpZihkPj4+MD49KGNbaz4+Ml18MCk+Pj4wKXtkbShtLDEpfDA7ZD1jW2o+PjJd
fDB9Y1tqPj4yXT1kKzE7YVtkPj4wXT00MX1kPWNbaj4+Ml18MDtpZihkPj4+MD49KGNbaz4+Ml18
MCk+Pj4wKXtkbShtLDEpfDA7ZD1jW2o+PjJdfDB9YVtkPj4wXT0wO2Q9Y1ttPj4yXXwwO2Nbaj4+
Ml09ZDtUYihiLDU5NzI1LGQpO2Q9aX1nbShtKX1sPW47cmV0dXJufWZ1bmN0aW9uIE5iKGEpe2E9
YXwwO1NiKChjW2ErMTY+PjJdfDApKzE2fDApO1RiKGEsNjg2NjcsMTczODgyKTtyZXR1cm59ZnVu
Y3Rpb24gT2IoYixkLGUsZil7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaT0w
LGo9MCxrPTA7az1sO2w9bCsxMDQwfDA7aj1rO2k9aysxNnwwO2g9Y1sxMTM0NCsoY1soY1tiKzE2
Pj4yXXwwKSsxMj4+Ml08PDIpPj4yXXwwO2c9aCs0fDA7Yj1jW2c+PjJdfDA7aWYoYj4+PjA+PShj
W2grOD4+Ml18MCk+Pj4wKXtkbShoLDEpfDA7Yj1jW2c+PjJdfDB9Y1tnPj4yXT1iKzE7YVtiPj4w
XT1kO2Nbaj4+Ml09ZjtwTChpLDU5NjcwLGopfDA7Zm0oaCxpKXwwO2I9MDt3aGlsZSgxKXtpZigo
YnwwKT49KGZ8MCkpYnJlYWs7aT1lKyhiPDw0KXwwO2Nbaj4+Ml09Y1tpPj4yXTtjW2orND4+Ml09
Y1tpKzQ+PjJdO2Nbais4Pj4yXT1jW2krOD4+Ml07Y1tqKzEyPj4yXT1jW2krMTI+PjJdO1BiKGgs
aik7Yj1iKzF8MH1sPWs7cmV0dXJufWZ1bmN0aW9uIFBiKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9
MCxkPTA7Yz1sO2w9bCsxMDI0fDA7ZD1jO1FiKGQsK2hbYj4+M10pO2ZtKGEsZCl8MDtRYihkLCto
eCgraFtiKzg+PjNdKSk7Zm0oYSxkKXwwO2w9YztyZXR1cm59ZnVuY3Rpb24gUWIoYSxiKXthPWF8
MDtiPStiO3ZhciBjPTAsZD0wO2M9bDtsPWwrMTZ8MDtkPWM7aFtkPj4zXT1iPi0xLjBlLTA4JmI8
MS4wZS0wOD8wLjA6YjtwTChhLDU5Njc1LGQpfDA7UmIoYSwxKTtsPWM7cmV0dXJufWZ1bmN0aW9u
IFJiKGIsYyl7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTA7ZD1XSihiLDQ2KXwwO2lmKCFkKXtpZihj
fDApe2Q9YisockooYil8MCl8MDtlPTEwfX1lbHNle3doaWxlKDEpe2I9ZCsxfDA7aWYoIShhW2I+
PjBdfDApKWJyZWFrO2Vsc2UgZD1ifWE6d2hpbGUoMSl7c3dpdGNoKGFbZD4+MF18MCl7Y2FzZSA0
Njp7ZT01O2JyZWFrIGF9Y2FzZSA0ODpicmVhaztkZWZhdWx0OntlPTY7YnJlYWsgYX19YVtkPj4w
XT0wO2Q9ZCstMXwwfWlmKChlfDApPT01KWFbZD4+MF09MDtlbHNlIGlmKChlfDApPT02KWQ9ZCsx
fDA7aWYoY3wwKWU9MTB9aWYoKGV8MCk9PTEwKXthW2Q+PjBdPTMyO2FbZCsxPj4wXT0wfXJldHVy
bn1mdW5jdGlvbiBTYihiKXtiPWJ8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTA7aj1sO2w9
bCszMnwwO2k9aisxNnwwO2g9ajtlPWFbYiszPj4wXXwwO2Y9ZFtiPj4wXXwwO2c9ZFtiKzE+PjBd
fDA7Yj1kW2IrMj4+MF18MDtpZihlPDwyND4+MjQ9PS0xKXtjW2g+PjJdPWY7Y1toKzQ+PjJdPWc7
Y1toKzg+PjJdPWI7cEwoMTczODgyLDY4NTQ3LGgpfDB9ZWxzZXtjW2k+PjJdPWY7Y1tpKzQ+PjJd
PWc7Y1tpKzg+PjJdPWI7Y1tpKzEyPj4yXT1lJjI1NTtwTCgxNzM4ODIsNTk2ODgsaSl8MH1sPWo7
cmV0dXJufWZ1bmN0aW9uIFRiKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDtVYihjWzExMzQ0Kyhj
WyhjW2ErMTY+PjJdfDApKzEyPj4yXTw8Mik+PjJdfDAsYixkKTtyZXR1cm59ZnVuY3Rpb24gVWIo
YixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTA7Zj1sO2w9bCsxMDQw
fDA7aD1mO2c9Zis4fDA7aT1ySihlKXwwO2NbaD4+Ml09ZDtjW2grND4+Ml09aTtwTChnLDU5Njgx
LGgpfDA7Zm0oYixnKXwwO2ZtKGIsZSl8MDtlPWIrNHwwO2Q9Y1tlPj4yXXwwO2lmKGQ+Pj4wPj0o
Y1tiKzg+PjJdfDApPj4+MCl7ZG0oYiwxKXwwO2Q9Y1tlPj4yXXwwfWNbZT4+Ml09ZCsxO2FbZD4+
MF09MzI7bD1mO3JldHVybn1mdW5jdGlvbiBWYihiLGQsZixpKXtiPWJ8MDtkPWR8MDtmPWZ8MDtp
PWl8MDt2YXIgaj0wLjAsaz0wLG09MC4wLG49MC4wLG89MC4wLHA9MC4wLHE9MC4wLHI9MCxzPTAs
dD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAuMDt4PWw7bD1sKzExMjB8MDt0PXgrNjR8MDt3PXgrODB8
MDtrPXgrMzJ8MDtyPXgrMTZ8MDtzPXg7dT1jW2IrMTY+PjJdfDA7aj0rKGNbdSsxMzY+PjJdfDAp
Ki4wMTc0NTMyOTI1MTk5NDMyOTU7aWYoKGVbKGNbNDE4NzZdfDApKzgyMzI+PjFdfDApPDE0KVdi
KGIpO2Vsc2V7Y20odywxMDI0LHgrOTZ8MCk7dj0oZHwwKT09MjtpZih2KXtKQihmLGssaSxqLDIp
O2Y9dys0fDA7ZD1jW2Y+PjJdfDA7aWYoZD4+PjA+PShjW3crOD4+Ml18MCk+Pj4wKXtkbSh3LDEp
fDA7ZD1jW2Y+PjJdfDB9Y1tmPj4yXT1kKzE7YVtkPj4wXT05MTtjW3Q+PjJdPWNbaz4+Ml07Y1t0
KzQ+PjJdPWNbays0Pj4yXTtjW3QrOD4+Ml09Y1trKzg+PjJdO2NbdCsxMj4+Ml09Y1trKzEyPj4y
XTtQYih3LHQpO3M9aysxNnwwO2NbdD4+Ml09Y1tzPj4yXTtjW3QrND4+Ml09Y1tzKzQ+PjJdO2Nb
dCs4Pj4yXT1jW3MrOD4+Ml07Y1t0KzEyPj4yXT1jW3MrMTI+PjJdO1BiKHcsdCl9ZWxzZXtKQihm
LGssaSwwLjAsMyk7cT0raFtrKzI0Pj4zXTtvPStoW2s+PjNdO2lmKGo9PTAuMCl7bj0raFtrKzg+
PjNdO3A9cSouMjU7aj1uO209b31lbHNle3A9cSouMjU7eT1wO209K0UoK2opKnkrbztuPStoW2sr
OD4+M107aj0rRigraikqeStufWhbcj4+M109bTtoW3IrOD4+M109ajtoW3M+PjNdPW87aFtzKzg+
PjNdPW47Zj13KzR8MDtkPWNbZj4+Ml18MDtpZihkPj4+MD49KGNbdys4Pj4yXXwwKT4+PjApe2Rt
KHcsMSl8MDtkPWNbZj4+Ml18MH1jW2Y+PjJdPWQrMTthW2Q+PjBdPTQwO2NbdD4+Ml09Y1tyPj4y
XTtjW3QrND4+Ml09Y1tyKzQ+PjJdO2NbdCs4Pj4yXT1jW3IrOD4+Ml07Y1t0KzEyPj4yXT1jW3Ir
MTI+PjJdO1BiKHcsdCk7WGIodyxwKTtjW3Q+PjJdPWNbcz4+Ml07Y1t0KzQ+PjJdPWNbcys0Pj4y
XTtjW3QrOD4+Ml09Y1tzKzg+PjJdO2NbdCsxMj4+Ml09Y1tzKzEyPj4yXTtQYih3LHQpO1hiKHcs
cSl9Zm0odyw1OTczMSl8MDtkPXUrMTQwfDA7aj0rZ1tkPj4yXTtmPXUrNTZ8MDtpZihqPjAuMCl7
WWIodyxqLGYpO1liKHcsK2dbZD4+Ml0sdSs5NnwwKX1lbHNle1liKHcsMC4wLGYpO1liKHcsMS4w
LHUrOTZ8MCl9aG0odyl8MDtrPXcrNHwwO2Q9Y1trPj4yXXwwO2k9dys4fDA7Zj1kPj4+MD49KGNb
aT4+Ml18MCk+Pj4wO2lmKHYpe2lmKGYpe2RtKHcsMSl8MDtkPWNbaz4+Ml18MH1jW2s+PjJdPWQr
MTthW2Q+PjBdPTkzfWVsc2V7aWYoZil7ZG0odywxKXwwO2Q9Y1trPj4yXXwwfWNbaz4+Ml09ZCsx
O2FbZD4+MF09NDF9ZD1jW2s+PjJdfDA7aWYoZD4+PjA+PShjW2k+PjJdfDApPj4+MCl7ZG0odywx
KXwwO2Q9Y1trPj4yXXwwfWFbZD4+MF09MDt2PWNbdz4+Ml18MDtjW2s+PjJdPXY7VGIoYiw1OTcy
OCx2KTtnbSh3KX1sPXg7cmV0dXJufWZ1bmN0aW9uIFdiKGEpe2E9YXwwO1NiKChjW2ErMTY+PjJd
fDApKzU2fDApO1RiKGEsNTk3MjgsMTczODgyKTtyZXR1cm59ZnVuY3Rpb24gWGIoYSxiKXthPWF8
MDtiPStiO3ZhciBjPTAsZD0wO2M9bDtsPWwrMTAyNHwwO2Q9YztRYihkLGIpO2ZtKGEsZCl8MDts
PWM7cmV0dXJufWZ1bmN0aW9uIFliKGEsYixjKXthPWF8MDtiPStiO2M9Y3wwO3ZhciBkPTAsZT0w
LGY9MDtkPWw7bD1sKzEwNDB8MDtmPWQ7ZT1kKzh8MDtoW2Y+PjNdPWI7cEwoZSw1OTczNCxmKXww
O1JiKGUsMSk7U2IoYyk7VWIoYSxlLDE3Mzg4Mik7bD1kO3JldHVybn1mdW5jdGlvbiBaYihhLGIs
ZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxpPTA7ZT1sO2w9bCsxMDQw
fDA7aT1lO2Y9ZSsxNnwwO2c9Y1sxMTM0NCsoY1soY1thKzE2Pj4yXXwwKSsxMj4+Ml08PDIpPj4y
XXwwO2ZtKGcsNTk4NDMpfDA7Y1tpPj4yXT1jW2Q+PjJdO2NbaSs0Pj4yXT1jW2QrND4+Ml07Y1tp
Kzg+PjJdPWNbZCs4Pj4yXTtjW2krMTI+PjJdPWNbZCsxMj4+Ml07UGIoZyxpKTtRYihmLCtoW2Qr
MTY+PjNdLStoW2Q+PjNdKTtmbShnLGYpfDA7UWIoZiwraFtkKzI0Pj4zXS0raFtkKzg+PjNdKTtm
bShnLGYpfDA7VGIoYSwxNzQxODEsY1tiKzg+PjJdfDApO2w9ZTtyZXR1cm59ZnVuY3Rpb24gX2Io
YSl7YT1hfDA7dmFyIGI9MDtzd2l0Y2goY1thKzY0Pj4yXXwwKXtjYXNlIDA6e2I9eXIoY1thPj4y
XXwwKXwwO21zKGIsY1soY1thKzE2Pj4yXXwwKSs4Pj4yXXwwLDYwNjMwLDApfDA7enIoYik7YnJl
YWt9Y2FzZSAxOnt2eChjWyhjW2E+PjJdfDApKzE2OD4+Ml18MCk7YnJlYWt9ZGVmYXVsdDp7fX1y
ZXR1cm59ZnVuY3Rpb24gJGIoYil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MDtmPWw7bD1sKzE2
fDA7ZD1mO2U9Y1soY1tiKzE2Pj4yXXwwKSs4Pj4yXXwwO2lmKCEoY1s0MTg4OV18MCkpe2NbNDE4
ODldPWNbNDQ0Ml07Y1s0MTg5MF09OTtjWzQxODkxXT0xN31jWyhjW2UrNjQ+PjJdfDApKzg+PjJd
PTE2NzU1NjthYyhlLDEpO2NbZD4+Ml09MDthW2QrND4+MF09KGFbKGNbZSsxNj4+Ml18MCkrMTE1
Pj4wXXwwKT09MSYxO2c9Y1tiKzY0Pj4yXXwwO2FbZCs1Pj4wXT0oKGd8MCk9PTB8KGd8MCk9PTMp
JjE7YVtkKzY+PjBdPTA7YmMoZSxiLDEsZCk7bD1mO3JldHVybn1mdW5jdGlvbiBhYyhhLGIpe2E9
YXwwO2I9YnwwO3ZhciBkPTA7Y1thPj4yXT1jW2E+PjJdJi05O2Q9SnAoYSl8MDt3aGlsZSgxKXtp
ZighZClicmVhazthYyhkLDApO2Q9S3AoZCl8MH1hOmRvIGlmKGJ8MCl7Yj1jbyhhKXwwO3doaWxl
KDEpe2lmKCFiKWJyZWFrIGE7Y1tiPj4yXT1jW2I+PjJdJi05O2Q9UG0oYSxiKXwwO3doaWxlKDEp
e2lmKCFkKWJyZWFrO2NbZD4+Ml09Y1tkPj4yXSYtOTtkPVJtKGEsZCl8MH1iPWVvKGEsYil8MH19
d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIGJjKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9
ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wO3E9bDts
PWwrMTZ8MDtwPXErOHwwO289cTtuPShkfDApIT0wO2lmKG4pe209UWwoMTE3NjQsY1s0MzQ1XXww
KXwwO1NvKGEsMSw4Njc5OSwxMiwwKTtTbyhhLDIsODY3OTksMTIsMCk7U28oYSwwLDg2Nzk5LC0x
MiwwKTtmPWNjKGEsMCxtKXwwO2o9Y28oYSl8MDtpPTA7Zz0wO3doaWxlKDEpe2lmKCFqKWJyZWFr
O2lmKCEoVkooRG4oail8MCw5MzAzOSw3KXwwKSl7az1nO2c9ZGMobSxEbihqKXwwKXwwfWVsc2V7
az1nKzF8MDtnPWcrZnwwfWNbKExvKGosODY3OTksMCl8MCkrOD4+Ml09ZztoPVBtKGEsail8MDtn
PWk7d2hpbGUoMSl7aWYoIWgpYnJlYWs7Y1soTG8oaCw4Njc5OSwwKXwwKSs4Pj4yXT1nO2g9Um0o
YSxoKXwwO2c9ZysxfDB9aj1lbyhhLGopfDA7aT1nO2c9a31LbChtKXwwfWVsc2UgZj0wO209Y1tl
Pj4yXXwwO2NbZT4+Ml09bSsxO2VjKGIsbSk7bXIoYiw4MjMzNyl8MDtmYyhhLGIsZCxlKTtnYyhh
LGIsZSk7bXIoYiw4MjMwOCl8MDtlYyhiLGNbZT4+Ml18MCk7aWYobil7Y1tvPj4yXT1mO3NyKGIs
NTk4NDYsbyl9ZWxzZXtjW3A+PjJdPWNbKExvKGEsODY3OTksMCl8MCkrOD4+Ml07c3IoYiw1OTg2
NixwKX1pYyhhLGIsZCxoYyhhLGIsZCxlKXwwLGUpO2pjKGEsYixkLGUpO21yKGIsMTM0OTAxKXww
O3A9KGNbZT4+Ml18MCkrLTF8MDtjW2U+PjJdPXA7ZWMoYixwKTtpZihuKW1yKGIsOTU4MzApfDA7
ZWxzZSBtcihiLDY4MTkwKXwwO2w9cTtyZXR1cm59ZnVuY3Rpb24gY2MoYSxiLGQpe2E9YXwwO2I9
YnwwO2Q9ZHwwO3ZhciBlPTA7aWYoKHNvKGEpfDApIT0oYXwwKSl7ZT1iKzF8MDtjWyhMbyhhLDg2
Nzk5LDApfDApKzg+PjJdPWI7aWYoIShWSihEbihhKXwwLDkzMDM5LDcpfDApKXtiPURuKGEpfDA7
dmMoZCxiLGNbKExvKGEsODY3OTksMCl8MCkrOD4+Ml18MCk7Yj1lfWVsc2UgYj1lfWU9SnAoYSl8
MDt3aGlsZSgxKXtpZighZSlicmVhazthPWNjKGUsYixkKXwwO2U9S3AoZSl8MDtiPWF9cmV0dXJu
IGJ8MH1mdW5jdGlvbiBkYyhhLGIpe2E9YXwwO2I9YnwwO2E9YmJbY1thPj4yXSYzMV0oYSxiLDUx
Mil8MDtpZighYSlhPS0xO2Vsc2UgYT1jW2ErMTI+PjJdfDA7cmV0dXJuIGF8MH1mdW5jdGlvbiBl
YyhhLGIpe2E9YXwwO2I9YnwwO3doaWxlKDEpe2lmKChifDApPD0wKWJyZWFrO21yKGEsNjA1OTgp
fDA7Yj1iKy0xfDB9cmV0dXJufWZ1bmN0aW9uIGZjKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHww
O2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wO2g9bDtsPWwrMzJ8MDtnPWgrMTZ8MDtmPWgr
OHwwO2k9aDtqPURuKGEpfDA7ZWMoYixjW2U+PjJdfDApO2NbaT4+Ml09bWMoaixlKXwwO3NyKGIs
NTk5NTQsaSk7aWYoZHwwKXttcihiLDgyMzA4KXwwO2VjKGIsY1tlPj4yXXwwKTtqPShxbihhKXww
KSE9MDtjW2Y+PjJdPWo/OTI2ODU6MTIyMTAwO3NyKGIsNjA1NjgsZik7ZWMoYixjW2U+PjJdfDAp
O2o9KHNuKGEpfDApIT0wO2NbZz4+Ml09aj85MjY4NToxMjIxMDA7c3IoYiw2MDU4NSxnKX1sPWg7
cmV0dXJufWZ1bmN0aW9uIGdjKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxo
PTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTA7bz1sO2w9bCsxNnwwO249bys4fDA7bT1vO2k9c28o
Yil8MDtqPWNbYj4+Ml0mMztmPURtKGksaiwwKXwwO2E6ZG8gaWYoZnwwKXtrPWUrNXwwO3doaWxl
KDEpe2lmKCFmKWJyZWFrIGE7Zz1KbShiLGYpfDA7ZG8gaWYoZ3wwKXtoPWYrOHwwO2lmKCEoYVtn
Pj4wXXwwKSl7Zz1jW2g+PjJdfDA7aWYoKGFbZz4+MF18MCkhPTEwOClicmVhaztpZih4SihnLDg2
MjQwKXwwKWJyZWFrfW1yKGQsODIzMDgpfDA7ZWMoZCxjW2U+PjJdfDApO2NbbT4+Ml09bWMoY1to
Pj4yXXwwLGUpfDA7c3IoZCw2MDAwNCxtKTtpZihhW2s+PjBdfDA/b2MoY1toPj4yXXwwKXwwOjAp
e3BjKEptKGIsZil8MCxkLGUpO2JyZWFrfWNbbj4+Ml09bWMoSm0oYixmKXwwLGUpfDA7c3IoZCw2
MDAxMSxuKX13aGlsZSgwKTtmPURtKGksaixmKXwwfX13aGlsZSgwKTtsPW87cmV0dXJufWZ1bmN0
aW9uIGhjKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxp
PTA7aT1sO2w9bCsxNnwwO2g9aTtmPUpwKGEpfDA7aWYoZil7bXIoYiw4MjMwOCl8MDtnPWNbZT4+
Ml18MDtjW2U+PjJdPWcrMTtlYyhiLGcpO2c9KGR8MCkhPTA7aWYoZyl7bXIoYiw1OTkyOCl8MDth
PTA7ZD1mfWVsc2V7bXIoYiw1OTk4OCl8MDtlYyhiLGNbZT4+Ml18MCk7YT0wO2Q9Zn13aGlsZSgx
KXtpZighZClicmVhaztpZighYSlhPTE7ZWxzZSBtcihiLDgyMzA4KXwwO2lmKGcpbmMoZCxiLGUp
O2Vsc2V7Y1toPj4yXT1jWyhMbyhkLDg2Nzk5LDApfDApKzg+PjJdO3NyKGIsMTIyMTg3LGgpfWQ9
S3AoZCl8MH1pZihnKWE9MTtlbHNle2NbZT4+Ml09KGNbZT4+Ml18MCkrLTE7bXIoYiwxMzQ5MDEp
fDA7ZWMoYixjW2U+PjJdfDApO21yKGIsODIzMDMpfDA7YT0xfX1lbHNlIGE9MDtsPWk7cmV0dXJu
IGF8MH1mdW5jdGlvbiBpYyhhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9Znww
O3ZhciBnPTAsaD0wO2c9Y28oYSl8MDtpZighZyl7aWYoKGR8MCkhPTAmKGV8MCkhPTApe2NbZj4+
Ml09KGNbZj4+Ml18MCkrLTE7bXIoYiwxMzQ5MDEpfDA7ZWMoYixjW2Y+PjJdfDApO21yKGIsODIz
MDMpfDB9fWVsc2V7bXIoYiw4MjMwOCl8MDtoPShkfDApIT0wO2lmKGgpaWYoIWUpe2U9Y1tmPj4y
XXwwO2NbZj4+Ml09ZSsxO2VjKGIsZSk7bXIoYiw1OTkyOCl8MDtlPTB9ZWxzZSBlPTA7ZWxzZXtl
PWNbZj4+Ml18MDtjW2Y+PjJdPWUrMTtlYyhiLGUpO21yKGIsNTk5NDIpfDA7ZWMoYixjW2Y+PjJd
fDApO2U9MH13aGlsZSgxKXtpZighZylicmVhaztpZihWSihEbihnKXwwLDkzMDM5LDcpfDApe2Rv
IGlmKGUpaWYoaCl7bXIoYiw4MjMwOCl8MDticmVha31lbHNle21yKGIsODYwMzApfDA7YnJlYWt9
ZWxzZSBlPTE7d2hpbGUoMCk7bGMoZyxiLGQsZil9Zz1lbyhhLGcpfDB9Y1tmPj4yXT0oY1tmPj4y
XXwwKSstMTttcihiLDEzNDkwMSl8MDtlYyhiLGNbZj4+Ml18MCk7bXIoYiw4MjMwMyl8MH1yZXR1
cm59ZnVuY3Rpb24gamMoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxn
PTAsaD0wLGk9MDtmPWNvKGEpfDA7YTpkbyBpZihmfDApe3doaWxlKDEpe2lmKCFmKWJyZWFrIGE7
aWYoUG0oYSxmKXwwKWJyZWFrO2Y9ZW8oYSxmKXwwfW1yKGIsODIzMDgpfDA7aT1jW2U+PjJdfDA7
Y1tlPj4yXT1pKzE7ZWMoYixpKTttcihiLDU5ODc4KXwwO2k9KGR8MCkhPTA7aWYoaSlnPTA7ZWxz
ZXtlYyhiLGNbZT4+Ml18MCk7Zz0wfXdoaWxlKDEpe2lmKCFmKWJyZWFrO2g9UG0oYSxmKXwwO3do
aWxlKDEpe2lmKCFoKWJyZWFrO2RvIGlmKGcpaWYoaSl7bXIoYiw4MjMwOCl8MDticmVha31lbHNl
e21yKGIsODYwMzApfDA7YnJlYWt9ZWxzZSBnPTE7d2hpbGUoMCk7a2MoaCxiLGQsZSk7aD1SbShh
LGgpfDB9Zj1lbyhhLGYpfDB9Y1tlPj4yXT0oY1tlPj4yXXwwKSstMTttcihiLDEzNDkwMSl8MDtl
YyhiLGNbZT4+Ml18MCk7bXIoYiw4MjMwMyl8MH13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24ga2Mo
YSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTA7
aj1sO2w9bCszMnwwO2k9aisyNHwwO2g9aisxNnwwO2c9ais4fDA7Zj1qO2lmKCFkKXtjW2k+PjJd
PWNbKExvKGEsODY3OTksMCl8MCkrOD4+Ml07c3IoYiwxMjIxODcsaSl9ZWxzZXtpPWNbZT4+Ml18
MDtjW2U+PjJdPWkrMTtlYyhiLGkpO21yKGIsODIzMzcpfDA7ZWMoYixjW2U+PjJdfDApO2NbZj4+
Ml09Y1soTG8oYSw4Njc5OSwwKXwwKSs4Pj4yXTtzcihiLDU5ODkwLGYpO2VjKGIsY1tlPj4yXXww
KTtjW2c+PjJdPWNbKExvKGNbKChjW2E+PjJdJjN8MCk9PTM/YTphKzQ4fDApKzQwPj4yXXwwLDg2
Nzk5LDApfDApKzg+PjJdO3NyKGIsNTk5MDQsZyk7ZWMoYixjW2U+PjJdfDApO2NbaD4+Ml09Y1so
TG8oY1soKGNbYT4+Ml0mM3wwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwLDg2Nzk5LDApfDApKzg+
PjJdO3NyKGIsNTk5MTcsaCk7Z2MoYSxiLGUpO21yKGIsMTM0OTAxKXwwO2k9KGNbZT4+Ml18MCkr
LTF8MDtjW2U+PjJdPWk7ZWMoYixpKTttcihiLDY4MTkwKXwwfWw9ajtyZXR1cm59ZnVuY3Rpb24g
bGMoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MDtp
PWw7bD1sKzMyfDA7aD1pKzE2fDA7Zz1pKzh8MDtmPWk7aWYoIWQpe2NbaD4+Ml09Y1soTG8oYSw4
Njc5OSwwKXwwKSs4Pj4yXTtzcihiLDEyMjE4NyxoKX1lbHNle2g9Y1tlPj4yXXwwO2NbZT4+Ml09
aCsxO2VjKGIsaCk7bXIoYiw4MjMzNyl8MDtlYyhiLGNbZT4+Ml18MCk7Y1tmPj4yXT1jWyhMbyhh
LDg2Nzk5LDApfDApKzg+PjJdO3NyKGIsNTk4OTAsZik7ZWMoYixjW2U+PjJdfDApO2NbZz4+Ml09
bWMoRG4oYSl8MCxlKXwwO3NyKGIsNTk5NTQsZyk7Z2MoYSxiLGUpO21yKGIsMTM0OTAxKXwwO2g9
KGNbZT4+Ml18MCkrLTF8MDtjW2U+PjJdPWg7ZWMoYixoKTttcihiLDY4MTkwKXwwfWw9aTtyZXR1
cm59ZnVuY3Rpb24gbWMoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTA7Zz1kKzR8MDtp
ZihhW2c+PjBdfDApYj15QihiKXwwO2lmKCEoY1s0MTg5Ml18MCkpe2NtKDE2NzU2OCwxMDI0LDAp
O2U9Yn1lbHNlIGU9YjthOndoaWxlKDEpe2Y9YVtlPj4wXXwwO3N3aXRjaChmPDwyND4+MjQpe2Nh
c2UgMDpicmVhayBhO2Nhc2UgMzQ6e2ZtKDE2NzU2OCw1OTk2Nyl8MDticmVha31jYXNlIDkyOntm
bSgxNjc1NjgsODE1NzkpfDA7YnJlYWt9Y2FzZSA0Nzp7Zm0oMTY3NTY4LDU5OTcwKXwwO2JyZWFr
fWNhc2UgODp7Zm0oMTY3NTY4LDU5OTczKXwwO2JyZWFrfWNhc2UgMTI6e2ZtKDE2NzU2OCw1OTk3
Nil8MDticmVha31jYXNlIDEwOntmbSgxNjc1NjgsNTk5NzkpfDA7YnJlYWt9Y2FzZSAxMzp7Zm0o
MTY3NTY4LDU5OTgyKXwwO2JyZWFrfWNhc2UgOTp7Zm0oMTY3NTY4LDU5OTg1KXwwO2JyZWFrfWRl
ZmF1bHQ6e2Q9Y1s0MTg5M118MDtpZihkPj4+MD49KGNbNDE4OTRdfDApPj4+MCl7ZG0oMTY3NTY4
LDEpfDA7ZD1jWzQxODkzXXwwfWNbNDE4OTNdPWQrMTthW2Q+PjBdPWZ9fWU9ZSsxfDB9ZD1jWzQx
ODkzXXwwO2lmKGQ+Pj4wPj0oY1s0MTg5NF18MCk+Pj4wKXtkbSgxNjc1NjgsMSl8MDtkPWNbNDE4
OTNdfDB9YVtkPj4wXT0wO2Q9Y1s0MTg5Ml18MDtjWzQxODkzXT1kO2lmKGFbZz4+MF18MClfSShi
KTtyZXR1cm4gZHwwfWZ1bmN0aW9uIG5jKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtiYyhhLGIs
MCxjKTthPUpwKGEpfDA7d2hpbGUoMSl7aWYoIWEpYnJlYWs7bXIoYiw4MjMwOCl8MDtuYyhhLGIs
Yyk7YT1LcChhKXwwfXJldHVybn1mdW5jdGlvbiBvYyhiKXtiPWJ8MDt2YXIgYz0wO2M9YisxfDA7
YTpkbyBpZigoYVtiPj4wXXwwKT09OTUpe2I9KGFbYz4+MF18MCkrLTEwMDw8MjQ+PjI0O3N3aXRj
aCgoKGImMjU1KT4+PjJ8Yjw8NiYyNTUpPDwyND4+MjQpe2Nhc2UgMDp7aWYoISh4SihjLDYwNTI1
KXwwKSl7Yj0xO2JyZWFrIGF9YnJlYWt9Y2FzZSAyOntpZighKHhKKGMsNjA1MzEpfDApKXtiPTE7
YnJlYWsgYX1icmVha31jYXNlIDE6e2lmKCEoeEooYyw2MDUzOCl8MCkpe2I9MTticmVhayBhfXJl
dHVybiAoeEooYyw2MDU1Mil8MCk9PTB8MH1jYXNlIDQ6e2lmKCEoeEooYyw2MDU0NSl8MCkpe2I9
MTticmVhayBhfWI9KHhKKGMsNjA1NjApfDApPT0wJjE7YnJlYWsgYX1kZWZhdWx0OntiPTA7YnJl
YWsgYX19Yj0wfWVsc2UgYj0wO3doaWxlKDApO3JldHVybiBifDB9ZnVuY3Rpb24gcGMoYixkLGUp
e2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTA7aT1sO2w9bCsxNnwwO2Y9aTtk
byBpZihifDA/YVtiPj4wXXwwOjApe2g9d3QoYil8MDtpZighaCl7Y1tmPj4yXT1iO19sKDAsNjAw
MTYsZil8MDticmVha31tcihkLDEzNDkwMSl8MDtnPWNbZT4+Ml18MDtjW2U+PjJdPWcrMTtlYyhk
LGcpO21yKGQsNjAwNDMpfDA7Zz1oKzh8MDtiPTA7Zj0wO3doaWxlKDEpe2lmKChmfDApPj0oY1to
Pj4yXXwwKSlicmVhaztpZighYiliPTE7ZWxzZSBtcihkLDgyMzA4KXwwO3FjKChjW2c+PjJdfDAp
KyhmKjgwfDApfDAsZCxlKTtmPWYrMXwwfWNbZT4+Ml09KGNbZT4+Ml18MCkrLTE7bXIoZCwxMzQ5
MDEpfDA7ZWMoZCxjW2U+PjJdfDApO21yKGQsODIzMDMpfDA7eHQoaCl9d2hpbGUoMCk7bD1pO3Jl
dHVybn1mdW5jdGlvbiBxYyhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0w
LGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAs
eD0wLHk9MCx6PTAsQT0wLEI9MC4wLEM9MC4wLEQ9MC4wO0E9bDtsPWwrMjQwfDA7eT1BKzIyNHww
O3g9QSsyMTZ8MDt3PUErMjA4fDA7dj1BKzIwMHwwO3U9QSsxOTJ8MDt0PUErMTg0fDA7cz1BKzE3
NnwwO3I9QSsxNTJ8MDtxPUErMTM2fDA7cD1BKzEyOHwwO289QSsxMTJ8MDtuPUErMTA0fDA7bT1B
Kzk2fDA7az1BKzg4fDA7aj1BKzcyfDA7aT1BKzQ4fDA7ej1BKzQwfDA7Zz1BKzh8MDtmPUE7ZT1j
W2Q+PjJdfDA7Y1tkPj4yXT1lKzE7ZWMoYixlKTttcihiLDgyMzM3KXwwO2VjKGIsY1tkPj4yXXww
KTtlPWNbYT4+Ml18MDthOmRvIHN3aXRjaChlfDApe2Nhc2UgMTpjYXNlIDA6e2NbZj4+Ml09KGV8
MCk9PTA/Njk6MTAxO3NyKGIsNjAwNDYsZik7ZWMoYixjW2Q+PjJdfDApO0Q9K2hbYSsxNj4+M107
Qz0raFthKzI0Pj4zXTtCPStoW2ErMzI+PjNdO2hbZz4+M109K2hbYSs4Pj4zXTtoW2crOD4+M109
RDtoW2crMTY+PjNdPUM7aFtnKzI0Pj4zXT1CO3NyKGIsNjAwNTksZyk7YnJlYWt9Y2FzZSAzOmNh
c2UgMjp7Y1t6Pj4yXT0oZXwwKT09Mj84MDoxMTI7c3IoYiw2MDA0Nix6KTtlYyhiLGNbZD4+Ml18
MCk7cmMoYixhKzh8MCk7YnJlYWt9Y2FzZSA1OmNhc2UgNDp7Y1tpPj4yXT0oZXwwKT09ND82Njo5
ODtzcihiLDYwMDQ2LGkpO2VjKGIsY1tkPj4yXXwwKTtyYyhiLGErOHwwKTticmVha31jYXNlIDY6
e3NyKGIsNjAwOTQsQSs1NnwwKTtlYyhiLGNbZD4+Ml18MCk7cmMoYixhKzh8MCk7YnJlYWt9Y2Fz
ZSA3OntzcihiLDYwMTA2LEErNjR8MCk7ZWMoYixjW2Q+PjJdfDApO0Q9K2hbYSsxNj4+M107aFtq
Pj4zXT0raFthKzg+PjNdO2hbais4Pj4zXT1EO3NyKGIsNjAxMTgsaik7ZWMoYixjW2Q+PjJdfDAp
O3o9Y1thKzI0Pj4yXXwwO2Nbaz4+Ml09KHp8MCk9PTA/MTA4Oih6fDApPT0xPzk5OjExNDtzcihi
LDYwMTQwLGspO2VjKGIsY1tkPj4yXXwwKTtoW20+PjNdPStoW2ErMzI+PjNdO3NyKGIsNjAxNTYs
bSk7ZWMoYixjW2Q+PjJdfDApO2Nbbj4+Ml09bWMoY1thKzQwPj4yXXwwLGQpfDA7c3IoYiw2MDE3
MyxuKTticmVha31jYXNlIDk6Y2FzZSA4OntjW28+PjJdPShlfDApPT04PzY3Ojk5O3NyKGIsNjAw
NDYsbyk7ZWMoYixjW2Q+PjJdfDApO3NyKGIsNjAxODcsQSsxMjB8MCk7ZWMoYixjW2Q+PjJdfDAp
O2NbcD4+Ml09bWMoY1thKzg+PjJdfDAsZCl8MDtzcihiLDYwMjA0LHApO2JyZWFrfWNhc2UgMTM6
Y2FzZSAxNDp7Y1txPj4yXT0oZXwwKT09MTM/Njc6OTk7c3IoYiw2MDA0NixxKTtlYyhiLGNbZD4+
Ml18MCk7c3dpdGNoKGNbYSs4Pj4yXXwwKXtjYXNlIDA6e3NyKGIsNjAxODcsQSsxNDR8MCk7ZWMo
YixjW2Q+PjJdfDApO2Nbcj4+Ml09bWMoY1thKzE2Pj4yXXwwLGQpfDA7c3IoYiw2MDIwNCxyKTti
cmVhayBhfWNhc2UgMTp7c3IoYiw2MDIxOSxBKzE2MHwwKTtlYyhiLGNbZD4+Ml18MCk7c2MoYixh
KzE2fDAsZCk7YnJlYWsgYX1kZWZhdWx0OntzcihiLDYwMjM4LEErMTY4fDApO2VjKGIsY1tkPj4y
XXwwKTt0YyhiLGErMTZ8MCxkKTticmVhayBhfX19Y2FzZSAxMDp7c3IoYiw2MDI1NyxzKTtlYyhi
LGNbZD4+Ml18MCk7aFt0Pj4zXT0raFthKzg+PjNdO3NyKGIsNjAyNjksdCk7ZWMoYixjW2Q+PjJd
fDApO2NbdT4+Ml09bWMoY1thKzE2Pj4yXXwwLGQpfDA7c3IoYiw2MDI4NSx1KTticmVha31jYXNl
IDExOntzcihiLDYwMjk5LHYpO2VjKGIsY1tkPj4yXXwwKTtjW3c+PjJdPW1jKGNbYSs4Pj4yXXww
LGQpfDA7c3IoYiw2MDMxMSx3KTticmVha31jYXNlIDE1OntzcihiLDYwMzI2LHgpO2VjKGIsY1tk
Pj4yXXwwKTtjW3k+PjJdPWNbYSs4Pj4yXTtzcihiLDYwMzM4LHkpO2JyZWFrfWRlZmF1bHQ6e319
d2hpbGUoMCk7ej0oY1tkPj4yXXwwKSstMXwwO2NbZD4+Ml09ejtlYyhiLHopO21yKGIsNjgxOTAp
fDA7bD1BO3JldHVybn1mdW5jdGlvbiByYyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9
MCxnPTAsaT0wLGo9MCxrPTAuMDtqPWw7bD1sKzQ4fDA7aT1qKzMyfDA7Zz1qKzE2fDA7Zj1qKzh8
MDtlPWNbYj4+Ml18MDtkPWNbYis0Pj4yXXwwO3NyKGEsNjA0OTksaik7Yj0wO3doaWxlKDEpe2lm
KChifDApPj0oZXwwKSlicmVhaztpZigoYnwwKT4wKXNyKGEsODYwMzAsZik7az0raFtkKyhiKjI0
fDApKzg+PjNdO2hbZz4+M109K2hbZCsoYioyNHwwKT4+M107aFtnKzg+PjNdPWs7c3IoYSw2MDUx
MSxnKTtiPWIrMXwwfXNyKGEsNjA0NTIsaSk7bD1qO3JldHVybn1mdW5jdGlvbiBzYyhhLGIsZCl7
YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLjAsaT0wO2U9bDtsPWwrMzJ8MDtmPWUr
MTZ8MDtpPWU7ZWMoYSxjW2Q+PjJdfDApO2c9K2hbYis4Pj4zXTtoW2k+PjNdPStoW2I+PjNdO2hb
aSs4Pj4zXT1nO3NyKGEsNjA0NTUsaSk7ZWMoYSxjW2Q+PjJdfDApO2c9K2hbYisyND4+M107aFtm
Pj4zXT0raFtiKzE2Pj4zXTtoW2YrOD4+M109ZztzcihhLDYwNDc3LGYpO2VjKGEsY1tkPj4yXXww
KTt1YyhhLGNbYiszMj4+Ml18MCxjW2IrMzY+PjJdfDAsZCk7bD1lO3JldHVybn1mdW5jdGlvbiB0
YyhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLjAsaT0wLjAsaj0wO2U9
bDtsPWwrNDh8MDtmPWUrMjR8MDtqPWU7ZWMoYSxjW2Q+PjJdfDApO2c9K2hbYis4Pj4zXTtpPSto
W2IrMTY+PjNdO2hbaj4+M109K2hbYj4+M107aFtqKzg+PjNdPWc7aFtqKzE2Pj4zXT1pO3NyKGEs
NjAzNTQsaik7ZWMoYSxjW2Q+PjJdfDApO2k9K2hbYiszMj4+M107Zz0raFtiKzQwPj4zXTtoW2Y+
PjNdPStoW2IrMjQ+PjNdO2hbZis4Pj4zXT1pO2hbZisxNj4+M109ZztzcihhLDYwMzgyLGYpO2Vj
KGEsY1tkPj4yXXwwKTt1YyhhLGNbYis0OD4+Ml18MCxjW2IrNTI+PjJdfDAsZCk7bD1lO3JldHVy
bn1mdW5jdGlvbiB1YyhhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGk9
MCxqPTAsaz0wLG09MCxuPTAsbz0wLjA7bT1sO2w9bCs0OHwwO2s9bSszMnwwO2o9bSsxNnwwO2k9
bSs4fDA7c3IoYSw2MDQxMCxtKTtmPTA7d2hpbGUoMSl7aWYoKGZ8MCk+PShifDApKWJyZWFrO2lm
KChmfDApPjApc3IoYSw4NjAzMCxpKTtvPStnW2QrKGY8PDMpPj4yXTtuPW1jKGNbZCsoZjw8Mykr
ND4+Ml18MCxlKXwwO2hbaj4+M109bztjW2orOD4+Ml09bjtzcihhLDYwNDIxLGopO2Y9ZisxfDB9
c3IoYSw2MDQ1MixrKTtsPW07cmV0dXJufWZ1bmN0aW9uIHZjKGEsYixkKXthPWF8MDtiPWJ8MDtk
PWR8MDt2YXIgZT0wLGY9MCxnPTA7Zz1sO2w9bCsxNnwwO2Y9ZztlPWJiW2NbYT4+Ml0mMzFdKGEs
Yiw1MTIpfDA7aWYoZSl7aWYoKGNbZSsxMj4+Ml18MCkhPShkfDApKXtjW2Y+PjJdPWI7X2woMCw2
MDYwMSxmKXwwfX1lbHNle2Y9JEkoMSwxNil8MDtjW2YrOD4+Ml09R0woYil8MDtjW2YrMTI+PjJd
PWQ7YmJbY1thPj4yXSYzMV0oYSxmLDEpfDB9bD1nO3JldHVybn1mdW5jdGlvbiB3YyhhLGIsZCl7
YT1hfDA7Yj1ifDA7ZD1kfDA7X0koY1tiKzg+PjJdfDApO19JKGIpO3JldHVybn1mdW5jdGlvbiB4
YyhhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MDtiPWw7bD1sKzMy
fDA7ZD1iKzI0fDA7ZT1iKzE2fDA7Zz1iO2Y9Y1thKzE2Pj4yXXwwO21yKGEsNjE0NTYpfDA7aj1j
W2NbYSsxMj4+Ml0+PjJdfDA7aT1jW2orND4+Ml18MDtoPWNbais4Pj4yXXwwO2NbZz4+Ml09Y1tq
Pj4yXTtjW2crND4+Ml09aTtjW2crOD4+Ml09aDtzcihhLDYxNDY2LGcpO2NbZT4+Ml09RG4oY1tm
Kzg+PjJdfDApfDA7c3IoYSw2MTUwMSxlKTtjW2Q+PjJdPU8oY1thKzE2OD4+Ml18MCxjW2ErMTY0
Pj4yXXwwKXwwO3NyKGEsNjE1MTQsZCk7bXIoYSw2MTUyNyl8MDttcihhLDYxNTM3KXwwO21yKGEs
NjE1NDUpfDA7bXIoYSw2MTU1Myl8MDttcihhLDYxNTYxKXwwO21yKGEsNjE1NjkpfDA7bXIoYSw2
MTU3Nyl8MDttcihhLDYxNTgxKXwwO21yKGEsNjE1ODYpfDA7bD1iO3JldHVybn1mdW5jdGlvbiB5
YyhhKXthPWF8MDttcihhLDYxNDM3KXwwO3JldHVybn1mdW5jdGlvbiB6YyhhKXthPWF8MDtjWzQx
ODk2XT0yO3JldHVybn1mdW5jdGlvbiBBYyhhKXthPWF8MDtjWzQxODk2XT0xO3JldHVybn1mdW5j
dGlvbiBCYyhhKXthPWF8MDtjWzQxODk2XT0yO3JldHVybn1mdW5jdGlvbiBDYyhhKXthPWF8MDtj
WzQxODk2XT0wO3JldHVybn1mdW5jdGlvbiBEYyhhKXthPWF8MDtjWzQxODk2XT0yO3JldHVybn1m
dW5jdGlvbiBFYyhiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAuMCxpPTAuMCxq
PTAsaz0wLjAsbT0wLG49MCxvPTAscD0wLHE9MC4wLHI9MC4wLHM9MDtwPWw7bD1sKzgwfDA7bz1w
O209Y1soY1tiKzE2Pj4yXXwwKSsxNj4+Ml18MDtuPWNbNDE4OTZdfDA7Zj1jW2UrND4+Ml18MDtn
PStoW2IrMzUyPj4zXSoraFtmKzE2Pj4zXTtpPWNbYiszNjA+PjJdfDA/MS41NzA3OTYzMjY3OTQ4
OTY2OjAuMDtqPWNbZT4+Ml18MDtrPWcqLjMzMzMzMzMzMzMzMzMzMzMqKygockooail8MCk+Pj4w
KTtmPWNbZis4Pj4yXXwwO2lmKCFmKWY9LTE7ZWxzZSBmPWNbZisyMD4+Ml18MDtzPWFbZSs0OD4+
MF18MDtyPStoW2Q+PjNdO3E9K2hbZCs4Pj4zXTtlPU9jKGopfDA7Y1tvPj4yXT00O2Nbbys0Pj4y
XT1zPDwyND4+MjQ9PTEwOD8wOnM8PDI0Pj4yND09MTE0PzI6MTtjW28rOD4+Ml09bTtjW28rMTI+
PjJdPW47Y1tvKzE2Pj4yXT0wO2NbbysyMD4+Ml09ZjtoW28rMjQ+PjNdPWc7aFtvKzMyPj4zXT1p
O2Nbbys0MD4+Ml09NjtoW28rNDg+PjNdPWc7aFtvKzU2Pj4zXT1rO2Nbbys2ND4+Ml09fn4ociso
cj49MC4wPy41Oi0uNSkpO2Nbbys2OD4+Ml09fn4ocSsocSstNzIuMD49MC4wPy03MS41Oi03Mi41
KSk7Y1tvKzcyPj4yXT1lO3NyKGIsNjEzODIsbyk7bD1wO3JldHVybn1mdW5jdGlvbiBGYyhiLGUp
e2I9YnwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MDtuPWw7
bD1sKzMyfDA7aj1uO2k9bisyMHwwO209ZSszMnwwO2E6ZG8gc3dpdGNoKGNbbT4+Ml18MCl7Y2Fz
ZSA1OntmPTA7d2hpbGUoMSl7Zz1jWzEyNjUyKyhmPDwyKT4+Ml18MDtpZigoZnwwKT09OClicmVh
ayBhO2g9Y1tlPj4yXXwwO2lmKChhW2c+PjBdfDApPT0oYVtoPj4wXXwwKT8oeEooZyxoKXwwKT09
MDowKXtrPTEwO2JyZWFrIGF9Zj1mKzF8MH19Y2FzZSAxOntnPWUrMXwwO2g9ZSsyfDA7Zj0oTmMo
aSxkW2U+PjBdfDAsZFtnPj4wXXwwLGRbaD4+MF18MCl8MCkrMzJ8MDtpZighKGNbaT4+Ml18MCkp
az0xMDtlbHNle289ZFtlPj4wXXwwO2k9ZFtnPj4wXXwwO2s9ZFtoPj4wXXwwO2Nbaj4+Ml09MDtj
W2orND4+Ml09ZjtjW2orOD4+Ml09bztjW2orMTI+PjJdPWk7Y1tqKzE2Pj4yXT1rO3NyKGIsNjEz
MjUsaik7az0xMH1icmVha31kZWZhdWx0Om1hKDEyMzIwNSw2MDcyMiwxNjMsNjA3NTMpfXdoaWxl
KDApO2lmKChrfDApPT0xMCljW2U+PjJdPWY7Y1ttPj4yXT02O2w9bjtyZXR1cm59ZnVuY3Rpb24g
R2MoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MC4wLGk9MC4wLGo9MCxr
PTAsbT0wLjAsbj0wLjAsbz0wLjAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTA7ZT1sO2w9bCsxMTJ8
MDtmPWUrOHwwO3U9ZSsxMDR8MDt0PWU7az1jW2ErMTY+PjJdfDA7cz1+fitoW2srMTUyPj4zXTty
PWNbaysxNj4+Ml18MDtxPWNbays1Nj4+Ml18MDtwPWNbNDE4OTZdfDA7TGMoayx1LHQpO249K2hb
Yj4+M107az1+fihuKyhuPj0wLjA/LjU6LS41KSk7bT0raFtiKzg+PjNdO2o9fn4obSsobT49MC4w
Py41Oi0uNSkpO2k9K2hbYisxNj4+M107bj1pLW47Zz0raFtiKzI0Pj4zXTttPWctbTtiPWNbdT4+
Ml18MDtvPStoW3Q+PjNdO2NbZj4+Ml09MTtjW2YrND4+Ml09MTtjW2YrOD4+Ml09YjtjW2YrMTI+
PjJdPXM7Y1tmKzE2Pj4yXT1yO2NbZisyMD4+Ml09cTtjW2YrMjQ+PjJdPXA7Y1tmKzI4Pj4yXT0w
O2NbZiszMj4+Ml09ZHwwPzIwOi0xO2hbZis0MD4+M109bztjW2YrNDg+PjJdPTA7aFtmKzU2Pj4z
XT0wLjA7Y1tmKzY0Pj4yXT1rO2NbZis2OD4+Ml09ajtjW2YrNzI+PjJdPX5+KG4rKG4+PTAuMD8u
NTotLjUpKTtjW2YrNzY+PjJdPX5+KG0rKG0+PTAuMD8uNTotLjUpKTtjW2YrODA+PjJdPWs7Y1tm
Kzg0Pj4yXT1qO2NbZis4OD4+Ml09fn4oaSsoaT49MC4wPy41Oi0uNSkpO2NbZis5Mj4+Ml09fn4o
ZysoZz49MC4wPy41Oi0uNSkpO3NyKGEsNjEyNjAsZik7bD1lO3JldHVybn1mdW5jdGlvbiBIYyhh
LGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxpPTAuMCxqPTAsaz0w
LG09MCxuPTAsbz0wLHA9MCxxPTA7Zj1sO2w9bCs5NnwwO2c9Zis4fDA7bz1mKzgwfDA7cD1mO3E9
Y1thKzE2Pj4yXXwwO249fn4raFtxKzE1Mj4+M107bT1jW3ErMTY+PjJdfDA7az1jW3ErNTY+PjJd
fDA7aj1jWzQxODk2XXwwO0xjKHEsbyxwKTtvPWNbbz4+Ml18MDtpPStoW3A+PjNdO2NbZz4+Ml09
MjtjW2crND4+Ml09MztjW2crOD4+Ml09bztjW2crMTI+PjJdPW47Y1tnKzE2Pj4yXT1tO2NbZysy
MD4+Ml09aztjW2crMjQ+PjJdPWo7Y1tnKzI4Pj4yXT0wO2NbZyszMj4+Ml09ZXwwPzIwOi0xO2hb
Zys0MD4+M109aTtjW2crNDg+PjJdPTA7Y1tnKzUyPj4yXT0wO2NbZys1Nj4+Ml09MDtjW2crNjA+
PjJdPTA7Y1tnKzY0Pj4yXT0wO2NbZys2OD4+Ml09ZCsxO3NyKGEsNjExNjQsZyk7TWMoYSxiLGQs
MSk7bD1mO3JldHVybn1mdW5jdGlvbiBJYyhhLGIsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7ZD1kfDA7
ZT1lfDA7Zj1mfDA7Zz1nfDA7dmFyIGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0w
LHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLjAsRT0wLjAs
Rj0wO0M9bDtsPWwrMTkyfDA7Qj1DKzE3NnwwO3o9QysxNjh8MDtBPUMrMTA0fDA7eT1DKzk2fDA7
aT1DKzg4fDA7dT1DKzE4MHwwO3Y9Qys4MHwwO3c9QysxNnwwO3g9QztmPWErMTZ8MDtlPWNbZj4+
Ml18MDtxPX5+K2hbZSsxNTI+PjNdO3I9Y1tlKzE2Pj4yXXwwO3M9Y1s0MTg5Nl18MDtpZigoZHww
KTw9MyltYSg2MDcxNSw2MDcyMiwzNjAsNjA3NDIpO3Q9WkkoKGQqMTQwfDApKzE0MHwwKXwwO0xj
KGUsdSx2KTtpZighZyl7bz00O2o9MDtrPS0xfWVsc2V7bz01O2o9Y1soY1tmPj4yXXwwKSs1Nj4+
Ml18MDtrPTIwfUU9K2hbYj4+M107bj13KzQ4fDA7aFtuPj4zXT1FO0Q9K2hbYis4Pj4zXTtoW3cr
NTY+PjNdPUQ7Y1tpPj4yXT1+fihFKyhFPj0wLjA/LjU6LS41KSk7Y1tpKzQ+PjJdPX5+KEQrKEQ+
PTAuMD8uNTotLjUpKTttPXgrOHwwO2U9dCsocEwodCw3MzkzMixpKXwwKXwwO3A9MTtnPTA7d2hp
bGUoMSl7aT1nKzN8MDtpZigoaXwwKT49KGR8MCkpYnJlYWs7Y1t3Pj4yXT1jW24+PjJdO2Nbdys0
Pj4yXT1jW24rND4+Ml07Y1t3Kzg+PjJdPWNbbis4Pj4yXTtjW3crMTI+PjJdPWNbbisxMj4+Ml07
Zj0xO3doaWxlKDEpe2lmKChmfDApPT00KXtmPTE7YnJlYWt9Rj1mK2d8MDtoW3crKGY8PDQpPj4z
XT0raFtiKyhGPDw0KT4+M107aFt3KyhmPDw0KSs4Pj4zXT0raFtiKyhGPDw0KSs4Pj4zXTtmPWYr
MXwwfXdoaWxlKDEpe2lmKChmfDApPT03KWJyZWFrO1BBKHgsdywzLCsoZnwwKSouMTY2NjY2NjY2
NjY2NjY2NjYsMCwwKTtEPStoW3g+PjNdO0U9K2hbbT4+M107Y1t5Pj4yXT1+fihEKyhEPj0wLjA/
LjU6LS41KSk7Y1t5KzQ+PjJdPX5+KEUrKEU+PTAuMD8uNTotLjUpKTtmPWYrMXwwO2U9ZSsocEwo
ZSw3MzkzMix5KXwwKXwwfXA9cCs2fDA7Zz1pfWY9Y1t1Pj4yXXwwO0U9K2hbdj4+M107Y1tBPj4y
XT0zO2NbQSs0Pj4yXT1vO2NbQSs4Pj4yXT1mO2NbQSsxMj4+Ml09cTtjW0ErMTY+PjJdPXI7Y1tB
KzIwPj4yXT1qO2NbQSsyND4+Ml09cztjW0ErMjg+PjJdPTA7Y1tBKzMyPj4yXT1rO2hbQSs0MD4+
M109RTtjW0ErNDg+PjJdPTA7Y1tBKzUyPj4yXT0wO2NbQSs1Nj4+Ml09MDtjW0ErNjA+PjJdPXA7
c3IoYSw2MTIxNSxBKTtjW3o+PjJdPXQ7c3IoYSw3MzkzOSx6KTtfSSh0KTtmPXArLTF8MDtlPTA7
d2hpbGUoMSl7aWYoKGV8MCk+PShwfDApKWJyZWFrO2NbQj4+Ml09KChlfDApJShmfDApfDB8MCkh
PTAmMTtzcihhLDczOTQ0LEIpO2U9ZSsxfDB9bXIoYSwxMzQ5MDEpfDA7bD1DO3JldHVybn1mdW5j
dGlvbiBKYyhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLjAsaT0wLGo9
MCxrPTAsbT0wLG49MCxvPTA7ZT1sO2w9bCs5NnwwO2Y9ZSs4fDA7bT1lKzgwfDA7bj1lO289Y1th
KzE2Pj4yXXwwO2s9fn4raFtvKzE1Mj4+M107aj1jW28rMTY+PjJdfDA7aT1jWzQxODk2XXwwO0xj
KG8sbSxuKTttPWNbbT4+Ml18MDtnPStoW24+PjNdO2NbZj4+Ml09MjtjW2YrND4+Ml09MTtjW2Yr
OD4+Ml09bTtjW2YrMTI+PjJdPWs7Y1tmKzE2Pj4yXT1qO2NbZisyMD4+Ml09MDtjW2YrMjQ+PjJd
PWk7Y1tmKzI4Pj4yXT0wO2NbZiszMj4+Ml09MDtoW2YrNDA+PjNdPWc7Y1tmKzQ4Pj4yXT0wO2Nb
Zis1Mj4+Ml09MDtjW2YrNTY+PjJdPTA7Y1tmKzYwPj4yXT0wO2NbZis2ND4+Ml09MDtjW2YrNjg+
PjJdPWQ7c3IoYSw2MTE2NCxmKTtNYyhhLGIsZCwwKTtsPWU7cmV0dXJufWZ1bmN0aW9uIEtjKGEs
Yil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTA7ZD1sO2w9bCsxNnwwO2U9ZDtjW2U+PjJdPWI7c3Io
YSw2MTE1OCxlKTtsPWQ7cmV0dXJufWZ1bmN0aW9uIExjKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8
MDt2YXIgZT0wLjA7c3dpdGNoKGNbYSsxNDQ+PjJdfDApe2Nhc2UgMTp7ZT0xMC4wO2E9MTticmVh
a31jYXNlIDI6e2U9MTAuMDthPTI7YnJlYWt9ZGVmYXVsdDp7ZT0wLjA7YT0wfX1jW2I+PjJdPWE7
aFtkPj4zXT1lO3JldHVybn1mdW5jdGlvbiBNYyhhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtl
PWV8MDt2YXIgZj0wLGc9MCxpPTAsaj0wLGs9MC4wLG09MC4wO2o9bDtsPWwrMTZ8MDtpPWorOHww
O2c9ajtmPTA7d2hpbGUoMSl7aWYoKGZ8MCk+PShkfDApKWJyZWFrO209K2hbYisoZjw8NCk+PjNd
O2s9K2hbYisoZjw8NCkrOD4+M107Y1tnPj4yXT1+fihtKyhtPj0wLjA/LjU6LS41KSk7Y1tnKzQ+
PjJdPX5+KGsrKGs+PTAuMD8uNTotLjUpKTtzcihhLDczOTMyLGcpO2Y9ZisxfDB9aWYoZXwwKXtr
PStoW2I+PjNdO209K2hbYis4Pj4zXTtjW2k+PjJdPX5+KGsrKGs+PTAuMD8uNTotLjUpKTtjW2kr
ND4+Ml09fn4obSsobT49MC4wPy41Oi0uNSkpO3NyKGEsNzM5MzIsaSl9bXIoYSwxMzQ5MDEpfDA7
bD1qO3JldHVybn1mdW5jdGlvbiBOYyhhLGQsZSxmKXthPWF8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2
YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MDtjW2E+PjJdPTA7az1jWzQxODk3XXww
O2g9MTk1MDc1O2c9MDtpPS0xO3doaWxlKDEpe2lmKChnfDApPj0oa3wwKSl7bD02O2JyZWFrfW09
KGJbMTcwODA0KyhnPDwxKT4+MV18MCktZHwwO249KGJbMTcxMzE2KyhnPDwxKT4+MV18MCktZXww
O2o9KGJbMTcxODI4KyhnPDwxKT4+MV18MCktZnwwO2o9KE8obixuKXwwKSsoTyhtLG0pfDApKyhP
KGosail8MCl8MDtpZigoanwwKTwoaHwwKSlpZighailicmVhaztlbHNle2g9ajtpPWd9Zz1nKzF8
MH1pZigobHwwKT09Nil7Y1s0MTg5N109aysxO2lmKChrfDApPT0yNTYpZz1pO2Vsc2V7YlsxNzA4
MDQrKGc8PDEpPj4xXT1kO2JbMTcxMzE2KyhnPDwxKT4+MV09ZTtiWzE3MTgyOCsoZzw8MSk+PjFd
PWY7Y1thPj4yXT0xfX1yZXR1cm4gZ3wwfWZ1bmN0aW9uIE9jKGIpe2I9YnwwO3ZhciBkPTAsZT0w
LGY9MCxnPTAsaD0wLGk9MDtpPWw7bD1sKzE2fDA7aD1pO2Q9Y1s0MTg5OF18MDtpZighZCl7Y1s0
MTg5OV09NjQ7ZD1aSSg2NCl8MDtjWzQxODk4XT1kO2U9MH1lbHNlIGU9MDt3aGlsZSgxKXtnPWIr
MXwwO2Y9YVtiPj4wXXwwO2lmKCEoZjw8MjQ+PjI0KSlicmVhaztiPWNbNDE4OTldfDA7aWYoKGV8
MCk+KGIrLTh8MCkpe2Q9Yjw8MTtjWzQxODk5XT1kO2Q9YUooY1s0MTg5OF18MCxkKXwwO2NbNDE4
OThdPWQ7ZD1kK2V8MH1pZihmPDwyND4+MjQ8PS0xKXthW2Q+PjBdPTkyO2NbaD4+Ml09ZiYyNTU7
cEwoZCsxfDAsNzQwNTcsaCl8MDtiPWc7ZD1kKzR8MDtlPWUrNHwwO2NvbnRpbnVlfWlmKGY8PDI0
Pj4yND09OTIpe2FbZD4+MF09OTI7ZT1lKzF8MDtkPWQrMXwwfWFbZD4+MF09ZjtiPWc7ZD1kKzF8
MDtlPWUrMXwwfWFbZD4+MF09MDtsPWk7cmV0dXJuIGNbNDE4OThdfDB9ZnVuY3Rpb24gUGMoYil7
Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wO2U9Y1tiKzE2Pj4yXXwwO3N3aXRjaChjW2IrNjQ+PjJdfDAp
e2Nhc2UgMDp7bXIoYiw2MTA1Myl8MDtkPWUrMjA4fDA7ZT1jW2Q+PjJdfDA7aWYoZXwwP2FbZT4+
MF18MDowKXttcihiLDYxMDY3KXwwO21yKGIscncoY1tkPj4yXXwwKXwwKXwwO21yKGIsMTM0OTAx
KXwwfWJyZWFrfWNhc2UgMTp7ZD1lKzIwOHwwO2Y9Y1tkPj4yXXwwO2lmKGZ8MD9hW2Y+PjBdfDA6
MCl7bXIoYiw2MTA2Nyl8MDttcihiLHJ3KGNbZD4+Ml18MCl8MCl8MDttcihiLDg3NjM4KXwwO21y
KGIscncoRG4oY1tlKzg+PjJdfDApfDApfDApfDA7bXIoYiwxMzQ5MDEpfDB9YnJlYWt9Y2FzZSAz
OntmPXJ3KERuKGNbZSs4Pj4yXXwwKXwwKXwwO21yKGIsNjEwNzYpfDA7bXIoYixmKXwwO21yKGIs
NjEwODYpfDA7bXIoYixmKXwwO21yKGIsNjEwNDEpfDA7YnJlYWt9ZGVmYXVsdDp7fX1yZXR1cm59
ZnVuY3Rpb24gUWMoYSl7YT1hfDA7dmFyIGI9MDtiPWNbYSsxNj4+Ml18MDtzd2l0Y2goY1thKzY0
Pj4yXXwwKXtjYXNlIDI6e1NjKGEsY1tiKzI2ND4+Ml18MCxjW2IrMjcyPj4yXXwwLGNbYisyNjg+
PjJdfDAsY1tiKzIwOD4+Ml18MCxjW2IrMjI4Pj4yXXwwLGNbYisyNDQ+PjJdfDAsY1tiKzIxMj4+
Ml18MCk7YnJlYWt9Y2FzZSAzOntTYyhhLGNbYisyNjQ+PjJdfDAsY1tiKzI3Mj4+Ml18MCxjW2Ir
MjY4Pj4yXXwwLGNbYisyMDg+PjJdfDAsY1tiKzIyOD4+Ml18MCxjW2IrMjQ0Pj4yXXwwLGNbYisy
MTI+PjJdfDApO21yKGEsNjEwNDUpfDA7YnJlYWt9ZGVmYXVsdDp7fX1yZXR1cm59ZnVuY3Rpb24g
UmMoYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wO2c9Y1th
KzE2Pj4yXXwwO1NjKGEsY1tnKzI2ND4+Ml18MCxjW2crMjcyPj4yXXwwLGNbZysyNjg+PjJdfDAs
YixkLGUsZik7cmV0dXJufWZ1bmN0aW9uIFNjKGIsZCxlLGYsZyxpLGosayl7Yj1ifDA7ZD1kfDA7
ZT1lfDA7Zj1mfDA7Zz1nfDA7aT1pfDA7aj1qfDA7az1rfDA7dmFyIG09MCxuPTAsbz0wLHA9MCxx
PTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAuMDt5PWw7bD1sKzEyOHwwO3g9
eSsxMjB8MDt1PXkrMTEyfDA7dD15Kzk2fDA7cz15KzgwfDA7cj15KzU2fDA7dz15KzQ4fDA7cT15
KzQwfDA7dj15KzI0fDA7cD15O2E6ZG8gaWYoKGV8MCkhPTAmKGZ8MCkhPTApe209ZisxMHwwO2lm
KChjWzQxOTAwXXwwKTwoZnwwKSl7Y1s0MTkwMF09bTtvPWFKKGNbNDE5MDFdfDAsbTw8Myl8MDtj
WzQxOTAxXT1vfWVsc2Ugbz1jWzQxOTAxXXwwO209MDt3aGlsZSgxKXtpZigobXwwKT49KGZ8MCkp
YnJlYWs7ej0raFtlKyhtPDw0KT4+M107Y1tvKyhtPDwzKT4+Ml09fn4oeisoej49MC4wPy41Oi0u
NSkpO3o9K2hbZSsobTw8NCkrOD4+M107Y1tvKyhtPDwzKSs0Pj4yXT1+fih6Kyh6Pj0wLjA/LjU6
LS41KSk7bT1tKzF8MH1uPWIrNjR8MDttPWNbbj4+Ml18MDtlPShnfDApIT0wO2lmKGUmKG18MCk9
PTApe2lmKCEoYVtnPj4wXXwwKSlicmVhaztzd2l0Y2goZHwwKXtjYXNlIDA6e3Y9Y1tvPj4yXXww
O3c9Y1tvKzEyPj4yXXwwO3g9Y1tvKzg+PjJdfDA7Zj1jW28rND4+Ml18MDtjW3A+PjJdPWc7Y1tw
KzQ+PjJdPXY7Y1twKzg+PjJdPXc7Y1twKzEyPj4yXT14O2NbcCsxNj4+Ml09ZjtzcihiLDYwNzg3
LHApO2JyZWFrIGF9Y2FzZSAxOnt3PWNbbz4+Ml18MDt4PWNbbys0Pj4yXXwwO2Y9KGNbbys4Pj4y
XXwwKS13fDA7Y1t2Pj4yXT1nO2Nbdis0Pj4yXT13O2Nbdis4Pj4yXT14O2NbdisxMj4+Ml09Zjtz
cihiLDYwODA4LHYpO2JyZWFrIGF9Y2FzZSAyOntjW3E+PjJdPWc7c3IoYiw2MDgyOCxxKTttPTA7
d2hpbGUoMSl7aWYoKG18MCk+PShmfDApKWJyZWFrO3Y9Y1s0MTkwMV18MDt4PWNbdisobTw8Mykr
ND4+Ml18MDtjW3c+PjJdPWNbdisobTw8Myk+PjJdO2Nbdys0Pj4yXT14O3NyKGIsNjA4MzYsdyk7
bT1tKzF8MH1tcihiLDEzNDkwMSl8MDticmVhayBhfWRlZmF1bHQ6bWEoMTIzMjA1LDYwODQzLDYz
LDYwODYzKX19aWYoZSYobXwwKT09MSl7aWYoIShhW2c+PjBdfDApKWJyZWFrO2lmKCFkKXt3PWNb
bysxMj4+Ml18MDt4PWNbbys4Pj4yXXwwO2Y9Y1tvKzQ+PjJdfDA7Y1tyPj4yXT1jW28+PjJdO2Nb
cis0Pj4yXT13O2Nbcis4Pj4yXT14O2NbcisxMj4+Ml09ZjtjW3IrMTY+PjJdPWc7Y1tyKzIwPj4y
XT1pO3NyKGIsNjA4ODAscik7YnJlYWt9ZWxzZSBtYSgxMjMyMDUsNjA4NDMsNzUsNjA4NjMpfWlm
KChtJi0yfDApPT0yKXtzd2l0Y2goZHwwKXtjYXNlIDE6e21yKGIsNjA5MTMpfDA7YnJlYWt9Y2Fz
ZSAwOnttcihiLDYwOTM0KXwwO2JyZWFrfWNhc2UgMjp7bXIoYiw2MDk1Myl8MDticmVha31kZWZh
dWx0Om1hKDEyMzIwNSw2MDg0Myw5MSw2MDg2Myl9aWYoa3wwP2Fbaz4+MF18MDowKXttcihiLDY2
NDMzKXwwO21yKGIsdXcoayl8MCl8MDttcihiLDgzNzE0KXwwfWlmKGU/YVtnPj4wXXwwOjApe21y
KGIsNjA5NzIpfDA7bXIoYix1dyhnKXwwKXwwO21yKGIsODM3MTQpfDB9aWYoanwwP2Fbaj4+MF18
MDowKXttcihiLDY3MzkyKXwwO21yKGIscncoail8MCl8MDttcihiLDgzNzE0KXwwfWlmKGl8MD9h
W2k+PjBdfDA6MCl7bXIoYiw2MDk4MCl8MDttcihiLHJ3KGkpfDApfDA7bXIoYiw4MzcxNCl8MH1t
cihiLDYwOTg5KXwwO21yKGIsNjA5OTcpfDA7YjpkbyBzd2l0Y2goZHwwKXtjYXNlIDE6e2Y9Y1s0
MTkwMV18MDt3PWNbZj4+Ml18MDt4PWNbZis0Pj4yXXwwO2Y9KGNbZis4Pj4yXXwwKS13fDA7Y1tz
Pj4yXT13O2Nbcys0Pj4yXT14O2Nbcys4Pj4yXT1mO3NyKGIsNjEwMDcscyk7YnJlYWt9Y2FzZSAw
Ont2PWNbNDE5MDFdfDA7dz1jW3YrMTI+PjJdfDA7eD1jW3YrOD4+Ml18MDtmPWNbdis0Pj4yXXww
O2NbdD4+Ml09Y1t2Pj4yXTtjW3QrND4+Ml09dztjW3QrOD4+Ml09eDtjW3QrMTI+PjJdPWY7c3Io
Yiw2MTAxNix0KTticmVha31jYXNlIDI6e3c9Y1s0MTkwMV18MDttPWNbdys0Pj4yXXwwO2NbdT4+
Ml09Y1t3Pj4yXTtjW3UrND4+Ml09bTtzcihiLDYxMDI4LHUpO209MTt3aGlsZSgxKXtpZigobXww
KT49KGZ8MCkpYnJlYWsgYjt2PWNbNDE5MDFdfDA7dz1jW3YrKG08PDMpKzQ+PjJdfDA7Y1t4Pj4y
XT1jW3YrKG08PDMpPj4yXTtjW3grND4+Ml09dztzcihiLDYxMDM0LHgpO209bSsxfDB9fWRlZmF1
bHQ6e319d2hpbGUoMCk7aWYoKGNbbj4+Ml18MCk9PTMpe21yKGIsNjYyNTcpfDA7YnJlYWt9ZWxz
ZXttcihiLDYxMDQxKXwwO2JyZWFrfX19d2hpbGUoMCk7bD15O3JldHVybn1mdW5jdGlvbiBUYyhh
KXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MDtiPWw7bD1sKzMyfDA7
ZD1iKzI0fDA7ZT1iKzE2fDA7Zz1iO2Y9Y1thKzE2Pj4yXXwwO21yKGEsNjE0NTYpfDA7aj1jW2Nb
YSsxMj4+Ml0+PjJdfDA7aT1jW2orND4+Ml18MDtoPWNbais4Pj4yXXwwO2NbZz4+Ml09Y1tqPj4y
XTtjW2crND4+Ml09aTtjW2crOD4+Ml09aDtzcihhLDYxNDY2LGcpO2NbZT4+Ml09RG4oY1tmKzg+
PjJdfDApfDA7c3IoYSw2MTUwMSxlKTtjW2Q+PjJdPU8oY1thKzE2OD4+Ml18MCxjW2ErMTY0Pj4y
XXwwKXwwO3NyKGEsNjE1MTQsZCk7bXIoYSw2MTUyNyl8MDttcihhLDYxNTM3KXwwO21yKGEsNjE1
NDUpfDA7bXIoYSw2MTU1Myl8MDttcihhLDYxNTYxKXwwO21yKGEsNjE1NjkpfDA7bXIoYSw2MTU3
Nyl8MDttcihhLDYxNTgxKXwwO21yKGEsNjE1ODYpfDA7bD1iO3JldHVybn1mdW5jdGlvbiBVYyhh
KXthPWF8MDttcihhLDYxNDM3KXwwO3JldHVybn1mdW5jdGlvbiBWYyhhKXthPWF8MDtjWzQxOTAy
XT0yO3JldHVybn1mdW5jdGlvbiBXYyhhKXthPWF8MDtjWzQxOTAyXT0xO3JldHVybn1mdW5jdGlv
biBYYyhhKXthPWF8MDtjWzQxOTAyXT0yO3JldHVybn1mdW5jdGlvbiBZYyhhKXthPWF8MDtjWzQx
OTAyXT0wO3JldHVybn1mdW5jdGlvbiBaYyhhKXthPWF8MDtjWzQxOTAyXT0yO3JldHVybn1mdW5j
dGlvbiBfYyhiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAuMCxpPTAuMCxqPTAs
az0wLG09MCxuPTAsbz0wLjAscD0wLjAscT0wO249bDtsPWwrODB8MDttPW47aj1jWyhjW2IrMTY+
PjJdfDApKzE2Pj4yXXwwO2s9Y1s0MTkwMl18MDtmPWNbZSs0Pj4yXXwwO2c9K2hbYiszNTI+PjNd
KitoW2YrMTY+PjNdO2k9Y1tiKzM2MD4+Ml18MD8xLjU3MDc5NjMyNjc5NDg5NjY6MC4wO2Y9Y1tm
Kzg+PjJdfDA7aWYoIWYpZj0tMTtlbHNlIGY9Y1tmKzIwPj4yXXwwO3E9YVtlKzQ4Pj4wXXwwO3A9
K2hbZD4+M107bz0raFtkKzg+PjNdO2U9aWQoY1tlPj4yXXwwKXwwO2NbbT4+Ml09NDtjW20rND4+
Ml09cTw8MjQ+PjI0PT0xMDg/MDpxPDwyND4+MjQ9PTExND8yOjE7Y1ttKzg+PjJdPWo7Y1ttKzEy
Pj4yXT1rO2NbbSsxNj4+Ml09MDtjW20rMjA+PjJdPWY7aFttKzI0Pj4zXT1nO2hbbSszMj4+M109
aTtjW20rNDA+PjJdPTQ7aFttKzQ4Pj4zXT0wLjA7aFttKzU2Pj4zXT0wLjA7Y1ttKzY0Pj4yXT1+
fihwKyhwPj0wLjA/LjU6LS41KSk7Y1ttKzY4Pj4yXT1+fihvKyhvPj0wLjA/LjU6LS41KSk7Y1tt
KzcyPj4yXT1lO3NyKGIsNjEzODIsbSk7bD1uO3JldHVybn1mdW5jdGlvbiAkYyhiLGUpe2I9Ynww
O2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MDtuPWw7bD1sKzMy
fDA7aj1uO2k9bisyMHwwO209ZSszMnwwO2E6ZG8gc3dpdGNoKGNbbT4+Ml18MCl7Y2FzZSA1Ontm
PTA7d2hpbGUoMSl7Zz1jWzEyNjUyKyhmPDwyKT4+Ml18MDtpZigoZnwwKT09OClicmVhayBhO2g9
Y1tlPj4yXXwwO2lmKChhW2c+PjBdfDApPT0oYVtoPj4wXXwwKT8oeEooZyxoKXwwKT09MDowKXtr
PTEwO2JyZWFrIGF9Zj1mKzF8MH19Y2FzZSAxOntnPWUrMXwwO2g9ZSsyfDA7Zj0oaGQoaSxkW2U+
PjBdfDAsZFtnPj4wXXwwLGRbaD4+MF18MCl8MCkrMzJ8MDtpZighKGNbaT4+Ml18MCkpaz0xMDtl
bHNle289ZFtlPj4wXXwwO2k9ZFtnPj4wXXwwO2s9ZFtoPj4wXXwwO2Nbaj4+Ml09MDtjW2orND4+
Ml09ZjtjW2orOD4+Ml09bztjW2orMTI+PjJdPWk7Y1tqKzE2Pj4yXT1rO3NyKGIsNjEzMjUsaik7
az0xMH1icmVha31jYXNlIDA6e2Y9MDtrPTEwO2JyZWFrfWRlZmF1bHQ6bWEoMTIzMjA1LDYxMzQ2
LDE2OCw2MTM2NSl9d2hpbGUoMCk7aWYoKGt8MCk9PTEwKWNbZT4+Ml09ZjtjW20+PjJdPTY7bD1u
O3JldHVybn1mdW5jdGlvbiBhZChhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAs
Zz0wLjAsaT0wLjAsaj0wLGs9MCxtPTAuMCxuPTAuMCxvPTAuMCxwPTAscT0wLHI9MCxzPTAsdD0w
LHU9MDtlPWw7bD1sKzExMnwwO2Y9ZSs4fDA7dT1lKzEwNHwwO3Q9ZTtrPWNbYSsxNj4+Ml18MDtz
PX5+K2hbaysxNTI+PjNdO3I9Y1trKzE2Pj4yXXwwO3E9Y1trKzU2Pj4yXXwwO3A9Y1s0MTkwMl18
MDtmZChrLHUsdCk7bj0raFtiPj4zXTtrPX5+KG4rKG4+PTAuMD8uNTotLjUpKTttPStoW2IrOD4+
M107aj1+fihtKyhtPj0wLjA/LjU6LS41KSk7aT0raFtiKzE2Pj4zXTtuPWktbjtnPStoW2IrMjQ+
PjNdO209Zy1tO2I9Y1t1Pj4yXXwwO289K2hbdD4+M107Y1tmPj4yXT0xO2NbZis0Pj4yXT0xO2Nb
Zis4Pj4yXT1iO2NbZisxMj4+Ml09cztjW2YrMTY+PjJdPXI7Y1tmKzIwPj4yXT1xO2NbZisyND4+
Ml09cDtjW2YrMjg+PjJdPTA7Y1tmKzMyPj4yXT1kfDA/MjA6LTE7aFtmKzQwPj4zXT1vO2NbZis0
OD4+Ml09MDtoW2YrNTY+PjNdPTAuMDtjW2YrNjQ+PjJdPWs7Y1tmKzY4Pj4yXT1qO2NbZis3Mj4+
Ml09fn4obisobj49MC4wPy41Oi0uNSkpO2NbZis3Nj4+Ml09fn4obSsobT49MC4wPy41Oi0uNSkp
O2NbZis4MD4+Ml09aztjW2YrODQ+PjJdPWo7Y1tmKzg4Pj4yXT1+fihpKyhpPj0wLjA/LjU6LS41
KSk7Y1tmKzkyPj4yXT1+fihnKyhnPj0wLjA/LjU6LS41KSk7c3IoYSw2MTI2MCxmKTtsPWU7cmV0
dXJufWZ1bmN0aW9uIGJkKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAs
Zz0wLGk9MC4wLGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MDtmPWw7bD1sKzk2fDA7Zz1mKzh8
MDtvPWYrODB8MDtwPWY7cT1jW2ErMTY+PjJdfDA7bj1+fitoW3ErMTUyPj4zXTttPWNbcSsxNj4+
Ml18MDtrPWNbcSs1Nj4+Ml18MDtqPWNbNDE5MDJdfDA7ZmQocSxvLHApO289Y1tvPj4yXXwwO2k9
K2hbcD4+M107Y1tnPj4yXT0yO2NbZys0Pj4yXT0zO2NbZys4Pj4yXT1vO2NbZysxMj4+Ml09bjtj
W2crMTY+PjJdPW07Y1tnKzIwPj4yXT1rO2NbZysyND4+Ml09ajtjW2crMjg+PjJdPTA7Y1tnKzMy
Pj4yXT1lfDA/MjA6LTE7aFtnKzQwPj4zXT1pO2NbZys0OD4+Ml09MDtjW2crNTI+PjJdPTA7Y1tn
KzU2Pj4yXT0wO2NbZys2MD4+Ml09MDtjW2crNjQ+PjJdPTA7Y1tnKzY4Pj4yXT1kKzE7c3IoYSw2
MTE2NCxnKTtnZChhLGIsZCwxKTtsPWY7cmV0dXJufWZ1bmN0aW9uIGNkKGEsYixkLGUsZixnKXth
PWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaT0wLGo9MCxrPTAsbT0wLG49
MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0w
LEM9MCxEPTAuMCxFPTAuMCxGPTA7Qz1sO2w9bCsxOTJ8MDtCPUMrMTc2fDA7ej1DKzE2OHwwO0E9
QysxMDR8MDt5PUMrOTZ8MDtmPUMrODh8MDt1PUMrMTgwfDA7dj1DKzgwfDA7dz1DKzE2fDA7eD1D
O2U9YSsxNnwwO3A9Y1tlPj4yXXwwO3E9fn4raFtwKzE1Mj4+M107cj1jW3ArMTY+PjJdfDA7cz1j
WzQxOTAyXXwwO3Q9WkkoKGQqMTQwfDApKzE0MHwwKXwwO2ZkKHAsdSx2KTtpZighZyl7bz00O2o9
MDtrPS0xfWVsc2V7bz01O2o9Y1soY1tlPj4yXXwwKSs1Nj4+Ml18MDtrPTIwfUU9K2hbYj4+M107
bj13KzQ4fDA7aFtuPj4zXT1FO0Q9K2hbYis4Pj4zXTtoW3crNTY+PjNdPUQ7Y1tmPj4yXT1+fihF
KyhFPj0wLjA/LjU6LS41KSk7Y1tmKzQ+PjJdPX5+KEQrKEQ+PTAuMD8uNTotLjUpKTttPXgrOHww
O2U9dCsocEwodCw3MzkzMixmKXwwKXwwO3A9MTtnPTA7d2hpbGUoMSl7aT1nKzN8MDtpZigoaXww
KT49KGR8MCkpYnJlYWs7Y1t3Pj4yXT1jW24+PjJdO2Nbdys0Pj4yXT1jW24rND4+Ml07Y1t3Kzg+
PjJdPWNbbis4Pj4yXTtjW3crMTI+PjJdPWNbbisxMj4+Ml07Zj0xO3doaWxlKDEpe2lmKChmfDAp
PT00KXtmPTE7YnJlYWt9Rj1mK2d8MDtoW3crKGY8PDQpPj4zXT0raFtiKyhGPDw0KT4+M107aFt3
KyhmPDw0KSs4Pj4zXT0raFtiKyhGPDw0KSs4Pj4zXTtmPWYrMXwwfXdoaWxlKDEpe2lmKChmfDAp
PT03KWJyZWFrO1BBKHgsdywzLCsoZnwwKSouMTY2NjY2NjY2NjY2NjY2NjYsMCwwKTtEPStoW3g+
PjNdO0U9K2hbbT4+M107Y1t5Pj4yXT1+fihEKyhEPj0wLjA/LjU6LS41KSk7Y1t5KzQ+PjJdPX5+
KEUrKEU+PTAuMD8uNTotLjUpKTtmPWYrMXwwO2U9ZSsocEwoZSw3MzkzMix5KXwwKXwwfXA9cCs2
fDA7Zz1pfWY9Y1t1Pj4yXXwwO0U9K2hbdj4+M107Y1tBPj4yXT0zO2NbQSs0Pj4yXT1vO2NbQSs4
Pj4yXT1mO2NbQSsxMj4+Ml09cTtjW0ErMTY+PjJdPXI7Y1tBKzIwPj4yXT1qO2NbQSsyND4+Ml09
cztjW0ErMjg+PjJdPTA7Y1tBKzMyPj4yXT1rO2hbQSs0MD4+M109RTtjW0ErNDg+PjJdPTA7Y1tB
KzUyPj4yXT0wO2NbQSs1Nj4+Ml09MDtjW0ErNjA+PjJdPXA7c3IoYSw2MTIxNSxBKTtjW3o+PjJd
PXQ7c3IoYSw3MzkzOSx6KTtfSSh0KTtmPXArLTF8MDtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+PShw
fDApKWJyZWFrO2NbQj4+Ml09KChlfDApJShmfDApfDB8MCkhPTAmMTtzcihhLDczOTQ0LEIpO2U9
ZSsxfDB9bXIoYSwxMzQ5MDEpfDA7bD1DO3JldHVybn1mdW5jdGlvbiBkZChhLGIsZCl7YT1hfDA7
Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLjAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTA7ZT1s
O2w9bCs5NnwwO2Y9ZSs4fDA7bT1lKzgwfDA7bj1lO289Y1thKzE2Pj4yXXwwO2s9fn4raFtvKzE1
Mj4+M107aj1jW28rMTY+PjJdfDA7aT1jWzQxOTAyXXwwO2ZkKG8sbSxuKTttPWNbbT4+Ml18MDtn
PStoW24+PjNdO2NbZj4+Ml09MjtjW2YrND4+Ml09MTtjW2YrOD4+Ml09bTtjW2YrMTI+PjJdPWs7
Y1tmKzE2Pj4yXT1qO2NbZisyMD4+Ml09MDtjW2YrMjQ+PjJdPWk7Y1tmKzI4Pj4yXT0wO2NbZisz
Mj4+Ml09MDtoW2YrNDA+PjNdPWc7Y1tmKzQ4Pj4yXT0wO2NbZis1Mj4+Ml09MDtjW2YrNTY+PjJd
PTA7Y1tmKzYwPj4yXT0wO2NbZis2ND4+Ml09MDtjW2YrNjg+PjJdPWQ7c3IoYSw2MTE2NCxmKTtn
ZChhLGIsZCwwKTtsPWU7cmV0dXJufWZ1bmN0aW9uIGVkKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9
MCxlPTA7ZD1sO2w9bCsxNnwwO2U9ZDtjW2U+PjJdPWI7c3IoYSw2MTE1OCxlKTtsPWQ7cmV0dXJu
fWZ1bmN0aW9uIGZkKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLjA7c3dpdGNoKGNb
YSsxNDQ+PjJdfDApe2Nhc2UgMTp7ZT0xMC4wO2E9MTticmVha31jYXNlIDI6e2U9MTAuMDthPTI7
YnJlYWt9ZGVmYXVsdDp7ZT0wLjA7YT0wfX1jW2I+PjJdPWE7aFtkPj4zXT1lO3JldHVybn1mdW5j
dGlvbiBnZChhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxpPTAs
aj0wLGs9MC4wLG09MC4wO2o9bDtsPWwrMTZ8MDtpPWorOHwwO2c9ajtmPTA7d2hpbGUoMSl7aWYo
KGZ8MCk+PShkfDApKWJyZWFrO209K2hbYisoZjw8NCk+PjNdO2s9K2hbYisoZjw8NCkrOD4+M107
Y1tnPj4yXT1+fihtKyhtPj0wLjA/LjU6LS41KSk7Y1tnKzQ+PjJdPX5+KGsrKGs+PTAuMD8uNTot
LjUpKTtzcihhLDczOTMyLGcpO2Y9ZisxfDB9aWYoZXwwKXtrPStoW2I+PjNdO209K2hbYis4Pj4z
XTtjW2k+PjJdPX5+KGsrKGs+PTAuMD8uNTotLjUpKTtjW2krND4+Ml09fn4obSsobT49MC4wPy41
Oi0uNSkpO3NyKGEsNzM5MzIsaSl9bXIoYSwxMzQ5MDEpfDA7bD1qO3JldHVybn1mdW5jdGlvbiBo
ZChhLGQsZSxmKXthPWF8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9
MCxsPTAsbT0wLG49MDtjW2E+PjJdPTA7az1jWzQxOTAzXXwwO2g9MTk1MDc1O2c9MDtpPS0xO3do
aWxlKDEpe2lmKChnfDApPj0oa3wwKSl7bD02O2JyZWFrfW09KGJbMTcyMzQwKyhnPDwxKT4+MV18
MCktZHwwO249KGJbMTcyODUyKyhnPDwxKT4+MV18MCktZXwwO2o9KGJbMTczMzY0KyhnPDwxKT4+
MV18MCktZnwwO2o9KE8obixuKXwwKSsoTyhtLG0pfDApKyhPKGosail8MCl8MDtpZigoanwwKTwo
aHwwKSlpZighailicmVhaztlbHNle2g9ajtpPWd9Zz1nKzF8MH1pZigobHwwKT09Nil7Y1s0MTkw
M109aysxO2lmKChrfDApPT0yNTYpZz1pO2Vsc2V7YlsxNzIzNDArKGc8PDEpPj4xXT1kO2JbMTcy
ODUyKyhnPDwxKT4+MV09ZTtiWzE3MzM2NCsoZzw8MSk+PjFdPWY7Y1thPj4yXT0xfX1yZXR1cm4g
Z3wwfWZ1bmN0aW9uIGlkKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MDtpPWw7
bD1sKzE2fDA7aD1pO2Q9Y1s0MTkwNF18MDtpZighZCl7Y1s0MTkwNV09NjQ7ZD1aSSg2NCl8MDtj
WzQxOTA0XT1kO2U9MH1lbHNlIGU9MDt3aGlsZSgxKXtnPWIrMXwwO2Y9YVtiPj4wXXwwO2lmKCEo
Zjw8MjQ+PjI0KSlicmVhaztiPWNbNDE5MDVdfDA7aWYoKGV8MCk+KGIrLTh8MCkpe2Q9Yjw8MTtj
WzQxOTA1XT1kO2Q9YUooY1s0MTkwNF18MCxkKXwwO2NbNDE5MDRdPWQ7ZD1kK2V8MH1pZihmPDwy
ND4+MjQ8PS0xKXthW2Q+PjBdPTkyO2NbaD4+Ml09ZiYyNTU7cEwoZCsxfDAsNzQwNTcsaCl8MDti
PWc7ZD1kKzR8MDtlPWUrNHwwO2NvbnRpbnVlfWlmKGY8PDI0Pj4yND09OTIpe2FbZD4+MF09OTI7
ZT1lKzF8MDtkPWQrMXwwfWFbZD4+MF09ZjtiPWc7ZD1kKzF8MDtlPWUrMXwwfWFbZD4+MF09MDts
PWk7cmV0dXJuIGNbNDE5MDRdfDB9ZnVuY3Rpb24gamQoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0w
LGY9MCxnPTA7ZD1sO2w9bCsxNnwwO2I9ZDttcihhLDY2MTY1KXwwO2lmKChjW2ErNjQ+PjJdfDAp
PT0yKW1yKGEsNjYxODApfDA7ZWxzZSBtcihhLDEzNDkwMSl8MDtnPWNbY1thKzEyPj4yXT4+Ml18
MDtmPWNbZys0Pj4yXXwwO2U9Y1tnKzg+PjJdfDA7Y1tiPj4yXT1jW2c+PjJdO2NbYis0Pj4yXT1m
O2NbYis4Pj4yXT1lO3NyKGEsNjYxOTEsYik7bD1kO3JldHVybn1mdW5jdGlvbiBrZChhKXthPWF8
MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MDtnPWw7bD1sKzMyfDA7Zj1nKzh8MDtlPWc7bXIoYSw2
NjExOSl8MDtkPWErNjR8MDtiPWErMTJ8MDtpZigoY1tkPj4yXXwwKSE9Mil7Y1tlPj4yXT1jWyhj
W2I+PjJdfDApKzI4Pj4yXTtzcihhLDY2MTMwLGUpfWlmKChjWyhjW2I+PjJdfDApKzIwPj4yXXww
KT09MD8oY1tkPj4yXXwwKSE9MjowKXtiPWNbYSs0NzY+PjJdfDA7ZD1jW2ErNDgwPj4yXXwwO2U9
Y1thKzQ4ND4+Ml18MDtjW2Y+PjJdPWNbYSs0NzI+PjJdO2NbZis0Pj4yXT1iO2NbZis4Pj4yXT1k
O2NbZisxMj4+Ml09ZTtzcihhLDYyNDk5LGYpfW1yKGEsNjYxNDUpfDA7bXIoYSw2NjE1OCl8MDts
PWc7cmV0dXJufWZ1bmN0aW9uIGxkKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9
MCxqPTAsaz0wLG09MCxuPTA7az1sO2w9bCszMnwwO2o9aysyNHwwO2Y9ays4fDA7aT1rO2c9Y1ti
KzE2Pj4yXXwwO2FbMTczODkyXT0wO2U9YisxMnwwO2g9Zys4fDA7aWYoIShjWyhjW2U+PjJdfDAp
KzI4Pj4yXXwwKSl7Y1tpPj4yXT1EbihjW2g+PjJdfDApfDA7c3IoYiw2MjQzMCxpKTtkPWIrNjR8
MDtpZigoY1tkPj4yXXwwKT09MiltcihiLDYyNDYzKXwwO2Vsc2UgbXIoYiw2MjQ0NSl8MDtkbyBp
ZighKGNbKGNbZT4+Ml18MCkrMjA+PjJdfDApKWlmKChjW2Q+PjJdfDApPT0yKXtuPWNbYis0NjA+
PjJdfDA7bT1jW2IrNDY0Pj4yXXwwO2Q9Y1tiKzQ2OD4+Ml18MDtjW2Y+PjJdPWNbYis0NTY+PjJd
O2NbZis0Pj4yXT1uO2NbZis4Pj4yXT1tO2NbZisxMj4+Ml09ZDtzcihiLDYyNDk5LGYpO2JyZWFr
fWVsc2V7bXIoYiw2MjQ3NSl8MDticmVha313aGlsZSgwKTttcihiLDYyNTI5KXwwO2V5KGIsY1so
Y1tlPj4yXXwwKSsyND4+Ml18MCwxMjkyOCk7Z3koYik7ZD1jWyhjW2U+PjJdfDApKzIwPj4yXXww
O2lmKGR8MCl7Y1tpPj4yXT1jW2Q+PjJdO2NbaSs0Pj4yXT0wO2V5KGIsMCxpKX19Y1s0MTkwNl09
KGFbKGNbKGNbaD4+Ml18MCkrMTY+PjJdfDApKzExNT4+MF18MCk9PTE/MTotMTtpZighKGFbMTcz
ODkyXXwwKSl7bXIoYiw2MjU0OSl8MDthWzE3Mzg5Ml09MX1kPWNbZysyMDg+PjJdfDA7aWYoZHww
KXtjW2o+PjJdPWh5KGQsY1s0MTkwNl18MCl8MDtzcihiLDYyNTYyLGopfWw9aztyZXR1cm59ZnVu
Y3Rpb24gbWQoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MDtiPWw7bD1s
KzE2fDA7Zj1iO2NbZj4+Ml09ZDtjW2YrND4+Ml09ZTtzcihhLDYyNDE0LGYpO2w9YjtyZXR1cm59
ZnVuY3Rpb24gbmQoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MCxnPTAsaT0wLGo9MCxrPTAs
bT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAuMCx2PTAuMCx3PTAuMDtzPWw7bD1s
KzE0NHwwO3I9cysxMjh8MDtxPXMrMTEyfDA7cD1zKzcyfDA7bz1zKzU2fDA7bj1zKzQwfDA7bT1z
KzMyfDA7ZT1zKzI0fDA7Yj1zKzh8MDtkPXM7Zj1jW2ErNDU2Pj4yXXwwO2o9Y1thKzQ2MD4+Ml18
MDtnPWNbYSs0NjQ+PjJdfDA7aT1jW2ErNDY4Pj4yXXwwO2s9YSsxMnwwO3Q9KGNbKGNbaz4+Ml18
MCkrMjg+PjJdfDApKzF8MDtjW2Q+PjJdPXQ7Y1tkKzQ+PjJdPXQ7c3IoYSw2MjA0MSxkKTtpZigh
KGNbKGNbaz4+Ml18MCkrMjA+PjJdfDApKXtjW2I+PjJdPWY7Y1tiKzQ+PjJdPWo7Y1tiKzg+PjJd
PWc7Y1tiKzEyPj4yXT1pO3NyKGEsNjIwNTgsYil9ZD1hKzM2MHwwO2NbZT4+Ml09Y1tkPj4yXXww
PzYyMDkyOjYyMTAyO3NyKGEsNjIxMTEsZSk7Yj1hKzY0fDA7aWYoKGNbYj4+Ml18MCk9PTEpe2Nb
bT4+Ml09ZztjW20rND4+Ml09aTtzcihhLDYyMTM2LG0pfW09Y1thKzIwMD4+Ml18MDt0PWNbYSsy
MDQ+PjJdfDA7Y1tuPj4yXT1jW2ErMTk2Pj4yXTtjW24rND4+Ml09bTtjW24rOD4+Ml09dDtzcihh
LDYyMTc1LG4pO2lmKCEoY1soY1trPj4yXXwwKSsyMD4+Ml18MCkpe2Nbbz4+Ml09ZjtjW28rND4+
Ml09ajtjW28rOD4+Ml09Zy1mO2NbbysxMj4+Ml09aS1qO3NyKGEsNjIxOTUsbyl9dz0raFthKzQ5
Nj4+M107dD1jW2Q+PjJdfDA7dj0raFthKzUwND4+M107dT0raFthKzUxMj4+M107aFtwPj4zXT0r
aFthKzQ4OD4+M107aFtwKzg+PjNdPXc7Y1twKzE2Pj4yXT10O2hbcCsyND4+M109djtoW3ArMzI+
PjNdPXU7c3IoYSw2MjIzNSxwKTtpZigoY1tiPj4yXXwwKT09MSl7aWYoKGd8MCk+MTQzOTl8KGl8
MCk+MTQzOTkpe3Q9Y1soY1trPj4yXXwwKSsxNj4+Ml18MDtjW3E+PjJdPWc7Y1txKzQ+PjJdPWk7
Y1txKzg+PjJdPTE0NDAwO2hiW3QmMzFdKDYyMjc4LHEpfWNbcj4+Ml09ZjtjW3IrND4+Ml09ajtj
W3IrOD4+Ml09ZztjW3IrMTI+PjJdPWk7c3IoYSw2MjM3MyxyKX1sPXM7cmV0dXJufWZ1bmN0aW9u
IG9kKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MDtlPWw7bD1sKzE2fDA7ZD1lO2I9YSsxMnwwO2lm
KGNbKGNbYj4+Ml18MCkrMjA+PjJdfDApe21yKGEsNjE5NjUpfDA7ZXkoYSwwLChjWyhjW2I+PjJd
fDApKzIwPj4yXXwwKSs0fDApfW1yKGEsNjE5ODIpfDA7bXIoYSw2MjAwOSl8MDtjW2Q+PjJdPWNb
KGNbYj4+Ml18MCkrMjg+PjJdO3NyKGEsNjIwMjQsZCk7bD1lO3JldHVybn1mdW5jdGlvbiBwZChh
KXthPWF8MDt2YXIgYj0wLGQ9MDtiPWw7bD1sKzE2fDA7ZD1iO2NbZD4+Ml09RG4oY1soY1thKzE2
Pj4yXXwwKSs4Pj4yXXwwKXwwO3NyKGEsNjE5NTgsZCk7bXIoYSw2MTk1MSl8MDtsPWI7cmV0dXJu
fWZ1bmN0aW9uIHFkKGEpe2E9YXwwO21yKGEsNzczOTQpfDA7cmV0dXJufWZ1bmN0aW9uIHJkKGEp
e2E9YXwwO21yKGEsNjE5NTEpfDA7cmV0dXJufWZ1bmN0aW9uIHNkKGEpe2E9YXwwO21yKGEsNzcz
OTQpfDA7cmV0dXJufWZ1bmN0aW9uIHRkKGEpe2E9YXwwO21yKGEsNjE5NTEpfDA7cmV0dXJufWZ1
bmN0aW9uIHVkKGEpe2E9YXwwO21yKGEsNzczOTQpfDA7cmV0dXJufWZ1bmN0aW9uIHZkKGEsYixk
LGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MDtlPWw7bD1sKzE2fDA7
ZD1lO2lmKGJ8MD8oZz0oY1thKzE2Pj4yXXwwKSsyNzJ8MCxjW2c+PjJdfDApOjApe21yKGEsNjE4
NDcpfDA7d3IoYSxjW2c+PjJdfDAsMik7bXIoYSw2MTg1OCl8MDtjW2Q+PjJdPWh5KGIsY1s0MTkw
Nl18MCl8MDtzcihhLDYxODYyLGQpfWw9ZTtyZXR1cm59ZnVuY3Rpb24gd2QoYixkLGUpe2I9Ynww
O2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLjAsaT0wLGo9MCxrPTAsbT0wLG49MDttPWw7bD1sKzMy
fDA7aj1tKzh8MDtrPW07Zj1jW2IrMTY+PjJdfDA7aWYoISgraFtmKzQwPj4zXTwuNSkpe0RkKGIs
ZisxNnwwKTtpPWUrNHwwO3RyKGIsK2hbKGNbaT4+Ml18MCkrMTY+PjNdKTtjW2o+PjJdPWNbY1tp
Pj4yXT4+Ml07c3IoYiw2MTgwNixqKTtpPWh5KGNbZT4+Ml18MCxjWzQxOTA2XXwwKXwwO3N3aXRj
aChhW2UrNDg+PjBdfDApe2Nhc2UgMTE0OntuPWUrMzJ8MDtmPW47Zz0raFtuPj4zXTticmVha31j
YXNlIDEwODp7Zj1lKzMyfDA7Zz0wLjA7YnJlYWt9ZGVmYXVsdDp7bj1lKzMyfDA7Zj1uO2c9K2hb
bj4+M10qLjV9fWhbZD4+M109K2hbZD4+M10tZztuPWQrOHwwO2hbbj4+M109K2hbbj4+M10rICto
W2UrMjQ+PjNdO2Nbaj4+Ml09Y1tkPj4yXTtjW2orND4+Ml09Y1tkKzQ+PjJdO2Nbais4Pj4yXT1j
W2QrOD4+Ml07Y1tqKzEyPj4yXT1jW2QrMTI+PjJdO3ZyKGIsaik7bXIoYiw2MTgyMSl8MDt0cihi
LCtoW2Y+PjNdKTtjW2s+PjJdPWk7c3IoYiw2MTgzMCxrKX1sPW07cmV0dXJufWZ1bmN0aW9uIHhk
KGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTA7Zz1sO2w9bCszMnwwO2Y9
ZztjW2Y+PjJdPWNbYj4+Ml07Y1tmKzQ+PjJdPWNbYis0Pj4yXTtjW2YrOD4+Ml09Y1tiKzg+PjJd
O2NbZisxMj4+Ml09Y1tiKzEyPj4yXTtoW2YrMTY+PjNdPStoW2IrMTY+PjNdLStoW2I+PjNdO2hb
ZisyND4+M109K2hbYisyND4+M10tK2hbYis4Pj4zXTtiPWErMTZ8MDtpZihkfDA/KGU9Y1tiPj4y
XXwwLCtoW2UrODA+PjNdPi41KTowKXtEZChhLGUrNTZ8MCk7d3IoYSxmLDIpO21yKGEsNjE3NjQp
fDB9aWYoK2hbKGNbYj4+Ml18MCkrNDA+PjNdPi41KXtFZChhKTtEZChhLChjW2I+PjJdfDApKzE2
fDApO3dyKGEsZiwyKTttcihhLDYxNzg0KXwwfWw9ZztyZXR1cm59ZnVuY3Rpb24geWQoYSxiLGQs
ZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaT0wLGo9MDtqPWw7bD1sKzE2
fDA7aT1qO2c9YSsxNnwwO2lmKGV8MD8oZj1jW2c+PjJdfDAsK2hbZis4MD4+M10+LjUpOjApe0Rk
KGEsZis1NnwwKTttcihhLDYxNjg1KXwwO2NbaT4+Ml09Y1tiPj4yXTtjW2krND4+Ml09Y1tiKzQ+
PjJdO2NbaSs4Pj4yXT1jW2IrOD4+Ml07Y1tpKzEyPj4yXT1jW2IrMTI+PjJdO3ZyKGEsaSk7bXIo
YSw2MTY5NCl8MDtlPTE7d2hpbGUoMSl7aWYoKGV8MCk+PShkfDApKWJyZWFrO2Y9YisoZTw8NCl8
MDtjW2k+PjJdPWNbZj4+Ml07Y1tpKzQ+PjJdPWNbZis0Pj4yXTtjW2krOD4+Ml09Y1tmKzg+PjJd
O2NbaSsxMj4+Ml09Y1tmKzEyPj4yXTt2cihhLGkpO21yKGEsNjE3MDMpfDA7ZT1lKzF8MH1tcihh
LDYxNzMwKXwwfWlmKCtoWyhjW2c+PjJdfDApKzQwPj4zXT4uNSl7RWQoYSk7RGQoYSwoY1tnPj4y
XXwwKSsxNnwwKTttcihhLDYxNjg1KXwwO2NbaT4+Ml09Y1tiPj4yXTtjW2krND4+Ml09Y1tiKzQ+
PjJdO2NbaSs4Pj4yXT1jW2IrOD4+Ml07Y1tpKzEyPj4yXT1jW2IrMTI+PjJdO3ZyKGEsaSk7bXIo
YSw2MTY5NCl8MDtlPTE7d2hpbGUoMSl7aWYoKGV8MCk+PShkfDApKWJyZWFrO2c9YisoZTw8NCl8
MDtjW2k+PjJdPWNbZz4+Ml07Y1tpKzQ+PjJdPWNbZys0Pj4yXTtjW2krOD4+Ml09Y1tnKzg+PjJd
O2NbaSsxMj4+Ml09Y1tnKzEyPj4yXTt2cihhLGkpO21yKGEsNjE3MDMpfDA7ZT1lKzF8MH1tcihh
LDYxNzQ2KXwwfWw9ajtyZXR1cm59ZnVuY3Rpb24gemQoYSxiLGQsZSxmLGcpe2E9YXwwO2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO3ZhciBpPTAsaj0wLGs9MDtrPWw7bD1sKzE2fDA7Zj1r
O2k9YSsxNnwwO2lmKGd8MD8oaj1jW2k+PjJdfDAsK2hbais4MD4+M10+LjUpOjApe0RkKGEsais1
NnwwKTttcihhLDYxNjg1KXwwO2NbZj4+Ml09Y1tiPj4yXTtjW2YrND4+Ml09Y1tiKzQ+PjJdO2Nb
Zis4Pj4yXT1jW2IrOD4+Ml07Y1tmKzEyPj4yXT1jW2IrMTI+PjJdO3ZyKGEsZik7bXIoYSw2MTY5
NCl8MDtlPTE7d2hpbGUoMSl7aWYoKGV8MCk+PShkfDApKWJyZWFrO3dyKGEsYisoZTw8NCl8MCwz
KTttcihhLDYxNzIwKXwwO2U9ZSszfDB9bXIoYSw2MTczMCl8MH1pZigraFsoY1tpPj4yXXwwKSs0
MD4+M10+LjUpe0VkKGEpO0RkKGEsKGNbaT4+Ml18MCkrMTZ8MCk7bXIoYSw2MTY4NSl8MDtjW2Y+
PjJdPWNbYj4+Ml07Y1tmKzQ+PjJdPWNbYis0Pj4yXTtjW2YrOD4+Ml09Y1tiKzg+PjJdO2NbZisx
Mj4+Ml09Y1tiKzEyPj4yXTt2cihhLGYpO21yKGEsNjE2OTQpfDA7ZT0xO3doaWxlKDEpe2lmKChl
fDApPj0oZHwwKSlicmVhazt3cihhLGIrKGU8PDQpfDAsMyk7bXIoYSw2MTcyMCl8MDtlPWUrM3ww
fW1yKGEsNjE3MTIpfDB9bD1rO3JldHVybn1mdW5jdGlvbiBBZChhLGIsZCl7YT1hfDA7Yj1ifDA7
ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGk9MDtnPWw7bD1sKzE2fDA7Zj1nO2U9YSsxNnwwO2lmKCto
WyhjW2U+PjJdfDApKzQwPj4zXT4uNSl7RWQoYSk7RGQoYSwoY1tlPj4yXXwwKSsxNnwwKTttcihh
LDYxNjg1KXwwO2NbZj4+Ml09Y1tiPj4yXTtjW2YrND4+Ml09Y1tiKzQ+PjJdO2NbZis4Pj4yXT1j
W2IrOD4+Ml07Y1tmKzEyPj4yXT1jW2IrMTI+PjJdO3ZyKGEsZik7bXIoYSw2MTY5NCl8MDtlPTE7
d2hpbGUoMSl7aWYoKGV8MCk+PShkfDApKWJyZWFrO2k9YisoZTw8NCl8MDtjW2Y+PjJdPWNbaT4+
Ml07Y1tmKzQ+PjJdPWNbaSs0Pj4yXTtjW2YrOD4+Ml09Y1tpKzg+PjJdO2NbZisxMj4+Ml09Y1tp
KzEyPj4yXTt2cihhLGYpO21yKGEsNjE3MDMpfDA7ZT1lKzF8MH1tcihhLDYxNzEyKXwwfWw9Zzty
ZXR1cm59ZnVuY3Rpb24gQmQoYSxiKXthPWF8MDtiPWJ8MDttcihhLDYxNjgyKXwwO21yKGEsYil8
MDttcihhLDEzNDkwMSl8MDtyZXR1cm59ZnVuY3Rpb24gQ2QoYSxiLGQsZSxmKXthPWF8MDtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGk9MCxqPTAsaz0wLG09MCxuPTA7bj1sO2w9bCsz
MnwwO2c9bisxNnwwO209bis4fDA7az1uO2k9YSsxNnwwO2lmKGZ8MD8oaj1jW2k+PjJdfDAsK2hb
ais4MD4+M10+LjUpOjApe0RkKGEsais1NnwwKTttcihhLDc3Mjg5KXwwO3dyKGEsZCxlKTttcihh
LDg3NjM4KXwwO2NbZz4+Ml09Y1tkPj4yXTtjW2crND4+Ml09Y1tkKzQ+PjJdO2NbZys4Pj4yXT1j
W2QrOD4+Ml07Y1tnKzEyPj4yXT1jW2QrMTI+PjJdO3ZyKGEsZyk7Y1trPj4yXT1lO2Nbays0Pj4y
XT1iO3NyKGEsNjE1OTksayl9aWYoK2hbKGNbaT4+Ml18MCkrNDA+PjNdPi41KXtFZChhKTtEZChh
LChjW2k+PjJdfDApKzE2fDApO21yKGEsNzcyODkpfDA7d3IoYSxkLGUpO21yKGEsODc2MzgpfDA7
Y1tnPj4yXT1jW2Q+PjJdO2NbZys0Pj4yXT1jW2QrND4+Ml07Y1tnKzg+PjJdPWNbZCs4Pj4yXTtj
W2crMTI+PjJdPWNbZCsxMj4+Ml07dnIoYSxnKTtjW20+PjJdPWU7Y1ttKzQ+PjJdPWI7c3IoYSw2
MTYxNSxtKX1sPW47cmV0dXJufWZ1bmN0aW9uIERkKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxl
PTAsZj0wLGc9MC4wLGk9MC4wO2Y9bDtsPWwrMzJ8MDtlPWY7aWYoYnwwKXtzd2l0Y2goY1soY1th
KzE2Pj4yXXwwKSs0Pj4yXXwwKXtjYXNlIDE6Y2FzZSAwOntkPTk2Mjg2O2JyZWFrfWNhc2UgMjp7
ZD05NjI3MzticmVha31jYXNlIDM6e2Q9OTYyMzc7YnJlYWt9ZGVmYXVsdDpkPTYxNjUxfWk9K2hb
Yis4Pj4zXTtnPStoW2IrMTY+PjNdO2hbZT4+M109K2hbYj4+M107aFtlKzg+PjNdPWk7aFtlKzE2
Pj4zXT1nO2NbZSsyND4+Ml09ZDtzcihhLDYxNjU4LGUpfWw9ZjtyZXR1cm59ZnVuY3Rpb24gRWQo
Yil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxpPTAsaj0wLGs9MCxtPTA7bT1sO2w9bCsxNnww
O2s9bSs4fDA7aj1tO2c9YisxNnwwO2k9Y1tnPj4yXXwwO2Q9Y1tpKzE2MD4+Ml18MDt0cihiLCto
W2krMTUyPj4zXSk7bXIoYiw2MTYzMil8MDt3aGlsZSgxKXtpZighZClicmVhaztpPWQrNHwwO2Y9
Y1tkPj4yXXwwO2lmKCFmKWJyZWFrO2lmKCEoeEooZiw5NTkxMCl8MCkpe2Q9aTtjb250aW51ZX1l
bHNlIGU9Zjt3aGlsZSgxKXtkPWUrMXwwO2lmKCEoYVtlPj4wXXwwKSlicmVhaztlbHNlIGU9ZH1h
OndoaWxlKDEpe2lmKCEoYVtkPj4wXXwwKSlicmVhaztjW2o+PjJdPWQ7c3IoYiw2MTY0NyxqKTt3
aGlsZSgxKXtlPWQrMXwwO2lmKCEoYVtkPj4wXXwwKSl7ZD1lO2NvbnRpbnVlIGF9ZWxzZSBkPWV9
fWlmKCEoeEooZiwxMTkxMjcpfDApKWhbKGNbZz4+Ml18MCkrMTUyPj4zXT0wLjA7Y1trPj4yXT1m
O3NyKGIsODE2MzMsayk7ZD1pfWw9bTtyZXR1cm59ZnVuY3Rpb24gRmQoYil7Yj1ifDA7dmFyIGQ9
MDttcihiLDY3NjcxKXwwO2Q9SW0oY1soY1tiPj4yXXwwKSsxNjg+PjJdfDAsNjc3MjcpfDA7aWYo
ZHwwP2FbZD4+MF18MDowKXttcihiLDY3NzM4KXwwO21yKGIsZCl8MDttcihiLDY3NzYyKXwwfW1y
KGIsNjc3ODMpfDA7bXIoYiw2NzgzMSl8MDttcihiLDY3ODg1KXwwO2Q9YisxMnwwO21yKGIscnco
Y1tjW2NbZD4+Ml0+PjJdPj4yXXwwKXwwKXwwO21yKGIsNzEwMTQpfDA7bXIoYixydyhjWyhjW2Nb
ZD4+Ml0+PjJdfDApKzQ+PjJdfDApfDApfDA7bXIoYiw3MTAyNCl8MDttcihiLHJ3KGNbKGNbY1tk
Pj4yXT4+Ml18MCkrOD4+Ml18MCl8MCl8MDttcihiLDY4MjY3KXwwO21yKGIsNjgyOTEpfDA7cmV0
dXJufWZ1bmN0aW9uIEdkKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaT0wLGo9MC4wLGs9
MC4wLG09MC4wO2k9bDtsPWwrNDh8MDtnPWkrMTZ8MDtmPWkrOHwwO2U9aTtkPWNbYisxNj4+Ml18
MDttcihiLDY3NTA2KXwwO2Q9ZCs4fDA7aWYoYVsoRG4oY1tkPj4yXXwwKXwwKT4+MF18MCl7bXIo
Yiw2ODIzMCl8MDttcihiLHJ3KERuKGNbZD4+Ml18MCl8MCl8MCl8MH1jW2U+PjJdPU8oY1tiKzE2
OD4+Ml18MCxjW2IrMTY0Pj4yXXwwKXwwO3NyKGIsNjc1MTEsZSk7ZT1jW2IrNDUyPj4yXXwwO2Nb
Zj4+Ml09Y1tiKzQ0OD4+Ml07Y1tmKzQ+PjJdPWU7c3IoYiw2NzUyNyxmKTttPStoW2IrMzkyPj4z
XTtrPStoW2IrNDAwPj4zXTtqPStoW2IrNDA4Pj4zXTtoW2c+PjNdPStoW2IrMzg0Pj4zXTtoW2cr
OD4+M109bTtoW2crMTY+PjNdPWs7aFtnKzI0Pj4zXT1qO3NyKGIsNjc1NjAsZyk7bXIoYiw2NzU5
MSl8MDttcihiLDY3NjI3KXwwO21yKGIsNjkyMjEpfDA7bD1pO3JldHVybn1mdW5jdGlvbiBIZChh
KXthPWF8MDttcihhLDY3NDk4KXwwO3JldHVybn1mdW5jdGlvbiBJZChhLGIsZCxlKXthPWF8MDti
PWJ8MDtkPWR8MDtlPWV8MDtkZShhLGIsMCw4NjU4MyxjWyhjW2ErMTY+PjJdfDApKzg+PjJdfDAp
O21yKGEsNjkyMjEpfDA7cmV0dXJufWZ1bmN0aW9uIEpkKGEpe2E9YXwwO21yKGEsNjczNDYpfDA7
cmV0dXJufWZ1bmN0aW9uIEtkKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTA7ZT1sO2w9bCsx
NnwwO2Y9ZTtnPWNbYisxNj4+Ml18MDtkPWcrOHwwO2RlKGIsY1tnKzIxMj4+Ml18MCwwLDk2Mjg2
LGNbZD4+Ml18MCk7bXIoYiw2NzQ1MCl8MDt0cihiLCtoW2IrNDg4Pj4zXSk7bXIoYiw4NzYzOCl8
MDt0cihiLCtoW2IrNDk2Pj4zXSk7Y1tmPj4yXT0wLShjW2IrMzYwPj4yXXwwKTtzcihiLDY3NDY5
LGYpO3RyKGIsK2hbYis1MDQ+PjNdKTttcihiLDg3NjM4KXwwO3RyKGIsLStoW2IrNTEyPj4zXSk7
bXIoYiw2NzQ5Myl8MDtpZihhWyhEbihjW2Q+PjJdfDApfDApPj4wXXwwKXttcihiLDY3NDAyKXww
O21yKGIscncoRG4oY1tkPj4yXXwwKXwwKXwwKXwwO21yKGIsNjc0MTApfDB9bD1lO3JldHVybn1m
dW5jdGlvbiBMZChhKXthPWF8MDttcihhLDY3MzQ2KXwwO3JldHVybn1mdW5jdGlvbiBNZChhKXth
PWF8MDt2YXIgYj0wLGQ9MDtkPWNbYSsxNj4+Ml18MDtiPWQrOHwwO2RlKGEsY1tkKzIxMj4+Ml18
MCwwLDkzMDM5LGNbYj4+Ml18MCk7bXIoYSw2OTIyMSl8MDttcihhLDY3NDAyKXwwO21yKGEscnco
RG4oY1tiPj4yXXwwKXwwKXwwKXwwO21yKGEsNjc0MTApfDA7cmV0dXJufWZ1bmN0aW9uIE5kKGEp
e2E9YXwwO21yKGEsNjczNDYpfDA7cmV0dXJufWZ1bmN0aW9uIE9kKGEpe2E9YXwwO3ZhciBiPTAs
ZD0wLGU9MDtkPWNbYSsxNj4+Ml18MDtiPWNbYSsxNjA+PjJdfDA7aWYoKGJ8MCk+MSliPWNbKGNb
KGNbYT4+Ml18MCkrMzA4Pj4yXXwwKSsoYjw8Mik+PjJdfDA7ZWxzZSBiPTA7ZT1kKzh8MDtkZShh
LGNbZCsyMTI+PjJdfDAsYiw5NjI3MyxjW2U+PjJdfDApO21yKGEsNjkyMjEpfDA7bXIoYSw2NzQw
Mil8MDttcihhLHJ3KERuKGNbZT4+Ml18MCl8MCl8MCl8MDttcihhLDY3NDEwKXwwO3JldHVybn1m
dW5jdGlvbiBQZChhKXthPWF8MDttcihhLDY3MzQ2KXwwO3JldHVybn1mdW5jdGlvbiBRZChhKXth
PWF8MDt2YXIgYj0wLGQ9MDtkPWNbYSsxNj4+Ml18MDtiPWQrOHwwO2RlKGEsY1tkKzIxMj4+Ml18
MCwwLDk2MjM3LGNbYj4+Ml18MCk7bXIoYSw2OTIyMSl8MDttcihhLDY3NDAyKXwwO2I9cXcoODcx
MjksY1tiPj4yXXwwKXwwO21yKGEscncoYil8MCl8MDtfSShiKTttcihhLDY3NDEwKXwwO3JldHVy
bn1mdW5jdGlvbiBSZChhKXthPWF8MDttcihhLDY3MzQ2KXwwO3JldHVybn1mdW5jdGlvbiBTZChi
LGMsZCxlLGYpe2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO21yKGIsNjczNTIpfDA7aWYo
ZnwwKXttcihiLDY3MzU1KXwwO21yKGIscncoZil8MCl8MDttcihiLDgzNzE0KXwwfW1yKGIsNjcy
NDUpfDA7bXIoYiw2OTE4Mil8MDtpZihjfDA/YVtjPj4wXXwwOjApe21yKGIsNjczNjMpfDA7bXIo
YixjKXwwO21yKGIsODM3MTQpfDB9aWYoZHwwP2FbZD4+MF18MDowKXttcihiLDY3Mzc3KXwwO21y
KGIsc3coZCwxKXwwKXwwO21yKGIsODM3MTQpfDB9aWYoZXwwP2FbZT4+MF18MDowKXttcihiLDY3
MzkyKXwwO21yKGIscncoZSl8MCl8MDttcihiLDgzNzE0KXwwfW1yKGIsNjkyMjEpfDA7cmV0dXJu
fWZ1bmN0aW9uIFRkKGEpe2E9YXwwO21yKGEsNjkxNzYpfDA7bXIoYSw2NzM0Nil8MDtyZXR1cm59
ZnVuY3Rpb24gVWQoZSxmLGcpe2U9ZXwwO2Y9ZnwwO2c9Z3wwO3ZhciBpPTAsaj0wLGs9MCxtPTAs
bj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxC
PTAsQz0wLEQ9MCxFPTAsRj0wLEc9MC4wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wO009bDtsPWwr
MTc2fDA7TD1NKzE2MHwwO0s9TSsxNTJ8MDtGPU0rMTM2fDA7Sj1NKzEyOHwwO0U9TSsxMjB8MDtE
PU0rMTEyfDA7Qz1NKzEwNHwwO0I9TSs5NnwwO0E9TSs4OHwwO3k9TSs4MHwwO3c9TSs3MnwwO3Y9
TSs2NHwwO3U9TSs1NnwwO3Q9TSs0OHwwO2k9TSs0MHwwO3E9TSszMnwwO3M9TSsyNHwwO3I9TSsx
NnwwO3A9TSs4fDA7bz1NO0k9Y1tlKzE2Pj4yXXwwO21yKGUsNjY4NzcpfDA7c3dpdGNoKGFbZys0
OD4+MF18MCl7Y2FzZSAxMDg6e21yKGUsNjY4ODMpfDA7YnJlYWt9Y2FzZSAxMTQ6e21yKGUsNjY5
MDQpfDA7YnJlYWt9ZGVmYXVsdDptcihlLDY2OTIzKXwwfUg9Zis4fDA7Rz0raFtIPj4zXSsgK2hb
ZysyND4+M107aFtIPj4zXT1HO0g9SSsyNjB8MDtpZighKGJbSD4+MV0mNTEyKSl7bXIoZSw2Njk0
NSl8MDt0cihlLCtoW2Y+PjNdKTttcihlLDY2OTUwKXwwO3RyKGUsLUcpO21yKGUsODM3MTQpfDB9
eD1nKzR8MDtmPWNbeD4+Ml18MDtuPWNbZis4Pj4yXXwwO2lmKG4pe3N3aXRjaChjWyhjWyhjWyhj
W2U+PjJdfDApKzE2OD4+Ml18MCkrMTY+PjJdfDApKzI0ND4+Ml18MCl7Y2FzZSAxOnttPW47Zj1u
KzE2fDA7aT1uKzh8MDticmVha31jYXNlIDI6e209bisyNHwwO2Y9biszMnwwO2k9bisyOHwwO2Jy
ZWFrfWRlZmF1bHQ6e209bis0fDA7Zj1uKzE2fDA7aT1uKzh8MH19aj1jW2Y+PjJdfDA7Zj1jW2k+
PjJdfDA7az1jW24rMTI+PjJdfDA7Y1tvPj4yXT1jW20+PjJdO3NyKGUsNjY5NTYsbyk7aT1jW24r
MjQ+PjJdfDA7aWYoaXwwKXtjW3A+PjJdPWk7c3IoZSw2Njk3MyxwKX1tcihlLDgzNzE0KXwwO2lm
KGZ8MCl7Y1tyPj4yXT1mO3NyKGUsNjY5Nzcscil9aWYoa3wwKXtjW3M+PjJdPWs7c3IoZSw2Njk5
NSxzKX1pZighailqPTA7ZWxzZXtjW3E+PjJdPWo7c3IoZSw2NzAxNCxxKX19ZWxzZXtjW2k+PjJd
PWNbZj4+Ml07c3IoZSw2NzAzMSxpKTtqPTA7Zj0wfWk9Y1t4Pj4yXXwwO2lmKGl8MD8oej1jW2kr
MjQ+PjJdfDAseiYxMjd8MCk6MCl7aWYoISgoZnwwKSE9MHwoeiYxfDApPT0wKSlzcihlLDY3MDQ5
LHQpO2lmKCEoKGp8MCkhPTB8KHomMnwwKT09MCkpc3IoZSw2NzA2OSx1KTtpZih6JjEwMHwwKXtz
cihlLDY3MDkwLHYpO2lmKCEoeiY0KSlmPTA7ZWxzZXtzcihlLDkxMDMwLHcpO2Y9MX1pZih6JjY0
KXtjW3k+PjJdPWZ8MD84NjAzMDoxNzQxODE7c3IoZSw2NzEwOSx5KTtmPTF9aWYoeiYzMnwwKXtj
W0E+PjJdPWZ8MD84NjAzMDoxNzQxODE7c3IoZSw2NzEyMCxBKX1zcihlLDgzNzE0LEIpfWlmKHom
OHwwKXNyKGUsNjcxMzUsQyk7aWYoeiYxNnwwKXNyKGUsNjcxNTksRCl9aFtFPj4zXT0raFsoY1t4
Pj4yXXwwKSsxNj4+M107c3IoZSw2NzE4MSxFKTtmPUkrMTZ8MDtzd2l0Y2goY1tJKzQ4Pj4yXXww
KXtjYXNlIDU6e2Y9Y1tmPj4yXXwwO2lmKGlLKGYsMTIyMTA2KXwwKXtjW0o+PjJdPWY7c3IoZSw2
NzE5OSxKKX1icmVha31jYXNlIDE6e0U9ZFtmKzE+PjBdfDA7Sj1kW2YrMj4+MF18MDtjW0Y+PjJd
PWRbZj4+MF07Y1tGKzQ+PjJdPUU7Y1tGKzg+PjJdPUo7c3IoZSw2NzIxMCxGKTticmVha31kZWZh
dWx0Om1hKDEyMzIwNSw2NjM5MSw0ODYsNjcyMzIpfW1yKGUsNjcyNDUpfDA7aWYoYltIPj4xXSY1
MTIpe2NbSz4+Ml09cncoY1tJKzIxMj4+Ml18MCl8MDtzcihlLDY3MjQ3LEspO21yKGUsNjcyOTYp
fDA7dHIoZSwtRyk7bXIoZSw2NzMxNCl8MH1tcihlLHN3KGNbZz4+Ml18MCwxKXwwKXwwO2lmKGJb
SD4+MV0mNTEyKXNyKGUsNjczMTcsTCk7bXIoZSw2NzMzNyl8MDtsPU07cmV0dXJufWZ1bmN0aW9u
IFZkKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wO3N3aXRjaChjfDApe2Nhc2UgMjp7
ZD1hZShhLGIsMil8MDticmVha31jYXNlIDM6e2Q9YmUoYSl8MDticmVha31kZWZhdWx0OmQ9MH1t
cihhLDY2ODQxKXwwO19kKGEsYyxkKTttcihhLDY2ODUwKXwwO3RyKGEsK2hbYj4+M10pO21yKGEs
NjY4NTYpfDA7Yz1iKzh8MDt0cihhLC0raFtjPj4zXSk7bXIoYSw2Njg2Myl8MDt0cihhLCtoW2Ir
MTY+PjNdLStoW2I+PjNdKTttcihhLDY2ODcwKXwwO3RyKGEsK2hbYisyND4+M10tK2hbYz4+M10p
O21yKGEsNjYyNTcpfDA7cmV0dXJufWZ1bmN0aW9uIFdkKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9
Y3wwO2Q9ZHwwO3ZhciBlPTA7c3dpdGNoKGR8MCl7Y2FzZSAyOntlPWFlKGEsYixjKXwwO2JyZWFr
fWNhc2UgMzp7ZT1iZShhKXwwO2JyZWFrfWRlZmF1bHQ6ZT0wfW1yKGEsNjY4MzIpfDA7X2QoYSxk
LGUpO21yKGEsNjYyNDcpfDA7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oY3wwKSlicmVhazt0cihh
LCtoW2IrKGU8PDQpPj4zXSk7bXIoYSw4NjAzMCl8MDt0cihhLC0raFtiKyhlPDw0KSs4Pj4zXSk7
bXIoYSw4NzYzOCl8MDtlPWUrMXwwfXRyKGEsK2hbYj4+M10pO21yKGEsODYwMzApfDA7dHIoYSwt
K2hbYis4Pj4zXSk7bXIoYSw2NjI1Nyl8MDtyZXR1cm59ZnVuY3Rpb24gWGQoYSxkLGUsZixnLGgp
e2E9YXwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2c9Y1thKzE2Pj4yXXwwO3N3aXRj
aChofDApe2Nhc2UgMjp7Zj1hZShhLGQsZSl8MDticmVha31jYXNlIDM6e2Y9YmUoYSl8MDticmVh
a31kZWZhdWx0OmY9MH1tcihhLDY2NDI3KXwwO2lmKGJbZysyNjA+PjFdJjUxMil7bXIoYSw2NjQz
Myl8MDttcihhLHJ3KGNbZysyMTI+PjJdfDApfDApfDA7bXIoYSw2NjQzOSl8MH1fZChhLGgsZik7
bXIoYSw2NjQ0NCl8MDtjZShhLGQsZSk7bXIoYSw2NjI1Nyl8MDtyZXR1cm59ZnVuY3Rpb24gWWQo
YSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTA7bXIoYSw2NjIzNyl8MDtfZChhLDAsMCk7
bXIoYSw2NjI0Nyl8MDtkPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShjfDApKWJyZWFrO3RyKGEsK2hb
YisoZDw8NCk+PjNdKTttcihhLDg2MDMwKXwwO3RyKGEsLStoW2IrKGQ8PDQpKzg+PjNdKTttcihh
LDg3NjM4KXwwO2Q9ZCsxfDB9bXIoYSw2NjI1Nyl8MDtyZXR1cm59ZnVuY3Rpb24gWmQoYSxiKXth
PWF8MDtiPWJ8MDttcihhLDY2MjMxKXwwO21yKGEscncoYil8MCl8MDttcihhLDY4MjkxKXwwO3Jl
dHVybn1mdW5jdGlvbiBfZChiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaT0w
LGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MDtxPWw7bD1sKzk2fDA7az1xKzQ4fDA7cD1xKzQw
fDA7bj1xKzMyfDA7bz1xKzI0fDA7aj1xKzE2fDA7Zz1xKzh8MDtmPXE7bT1jW2IrMTY+PjJdfDA7
bXIoYiw2NjI2Mil8MDthOmRvIHN3aXRjaChkfDApe2Nhc2UgMjp7Y1tmPj4yXT1lO3NyKGIsNjYy
NzAsZik7YnJlYWt9Y2FzZSAzOntjW2c+PjJdPWU7c3IoYiw2NjI4MSxnKTticmVha31jYXNlIDA6
e21yKGIsMTIwNTAxKXwwO2JyZWFrfWRlZmF1bHQ6e2Q9bSs1NnwwO2Y9aztnPWQ7aT1mKzQwfDA7
ZG97Y1tmPj4yXT1jW2c+PjJdO2Y9Zis0fDA7Zz1nKzR8MH13aGlsZSgoZnwwKTwoaXwwKSk7JGQo
YixrKTtpZigoY1ttKzg4Pj4yXXwwKT09MSl7ZD1hW2QrMz4+MF18MDtzd2l0Y2goZDw8MjQ+PjI0
KXtjYXNlIC0xOmNhc2UgMDpicmVhayBhO2RlZmF1bHQ6e319aFtqPj4zXT0rKGQmMjU1KSouMDAz
OTIxNTY4NjI3NDUwOTg7c3IoYiw2NjI5MixqKX19fXdoaWxlKDApO21yKGIsNjYzMTEpfDA7ZT1t
KzE2fDA7Zj1rO2c9ZTtpPWYrNDB8MDtkb3tjW2Y+PjJdPWNbZz4+Ml07Zj1mKzR8MDtnPWcrNHww
fXdoaWxlKChmfDApPChpfDApKTskZChiLGspO2Q9bSsxNTJ8MDtpZigraFtkPj4zXSE9MS4wKXtt
cihiLDY2MzIyKXwwO3RyKGIsK2hbZD4+M10pfXN3aXRjaChjW20rMTQ0Pj4yXXwwKXtjYXNlIDE6
e2Nbbz4+Ml09NjYzNjI7c3IoYiw2NjMzOSxvKTticmVha31jYXNlIDI6e2Nbbj4+Ml09NjYzNjY7
c3IoYiw2NjMzOSxuKTticmVha31kZWZhdWx0Ont9fWI6ZG8gaWYoKGNbbSs0OD4+Ml18MCk9PTEp
e2Q9YVtlKzM+PjBdfDA7c3dpdGNoKGQ8PDI0Pj4yNCl7Y2FzZSAtMTpjYXNlIDA6YnJlYWsgYjtk
ZWZhdWx0Ont9fWhbcD4+M109KyhkJjI1NSkqLjAwMzkyMTU2ODYyNzQ1MDk4O3NyKGIsNjYzNzAs
cCl9d2hpbGUoMCk7bXIoYiw4MzcxNCl8MDtsPXE7cmV0dXJufWZ1bmN0aW9uICRkKGIsZSl7Yj1i
fDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MDtnPWw7bD1sKzE2fDA7Zj1nO2E6ZG8gc3dpdGNo
KGNbZSszMj4+Ml18MCl7Y2FzZSA1OnttcihiLGNbZT4+Ml18MCl8MDticmVha31jYXNlIDE6aWYo
IShhW2UrMz4+MF18MCkpe21yKGIsMTIyMTcxKXwwO2JyZWFrIGF9ZWxzZXtpPWRbZSsxPj4wXXww
O2g9ZFtlKzI+PjBdfDA7Y1tmPj4yXT1kW2U+PjBdO2NbZis0Pj4yXT1pO2NbZis4Pj4yXT1oO3Ny
KGIsNjg1NDcsZik7YnJlYWsgYX1kZWZhdWx0Om1hKDEyMzIwNSw2NjM5MSwxMTcsNjY0MTEpfXdo
aWxlKDApO2w9ZztyZXR1cm59ZnVuY3Rpb24gYWUoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3Zh
ciBmPTAuMCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wO3Q9bDts
PWwrMTEyfDA7bz10KzY0fDA7cj10KzU2fDA7bj10KzQ4fDA7bT10KzQwfDA7aT10KzMyfDA7az10
O3E9Y1s0MTkwOF18MDtjWzQxOTA4XT1xKzE7cD1jW2IrMTY+PjJdfDA7Zj0rKGNbcCsxMzY+PjJd
fDApKi4wMTc0NTMyOTI1MTk5NDMyOTU7Y1trPj4yXT0wO2Nbays0Pj4yXT0wO2Nbays4Pj4yXT0w
O2NbaysxMj4+Ml09MDtjW2srMTY+PjJdPTA7Y1trKzIwPj4yXT0wO2NbaysyND4+Ml09MDtjW2sr
Mjg+PjJdPTA7SkIoZCxrLGUsZiwwKTtjW28+PjJdPXE7c3IoYiw2NjY2NCxvKTttcihiLDY2NzI5
KXwwO3RyKGIsK2hbaz4+M10pO21yKGIsNjY3MzQpfDA7dHIoYiwraFtrKzg+PjNdKTttcihiLDY2
NzQxKXwwO3RyKGIsK2hbaysxNj4+M10pO21yKGIsNjY3NDgpfDA7dHIoYiwraFtrKzI0Pj4zXSk7
bXIoYiw2Njc1NSl8MDtrPXArMTQwfDA7Zj0rZ1trPj4yXTtpZihmPjAuMCl7aFtpPj4zXT1mKy0u
MDAxO3NyKGIsNjY3NjAsaSl9ZWxzZSBtcihiLDY2NTM2KXwwO2Q9cCs1NnwwO2U9bztpPWQ7aj1l
KzQwfDA7ZG97Y1tlPj4yXT1jW2k+PjJdO2U9ZSs0fDA7aT1pKzR8MH13aGlsZSgoZXwwKTwoanww
KSk7JGQoYixvKTttcihiLDY2NTcyKXwwO2E6ZG8gaWYoKGNbcCs4OD4+Ml18MCk9PTEpe2Q9YVtk
KzM+PjBdfDA7c3dpdGNoKGQ8PDI0Pj4yNCl7Y2FzZSAtMTpjYXNlIDA6e3M9NzticmVhayBhfWRl
ZmF1bHQ6e319aFttPj4zXT0rKGQmMjU1KSouMDAzOTIxNTY4NjI3NDUwOTg7c3IoYiw4NDYzMSxt
KX1lbHNlIHM9Nzt3aGlsZSgwKTtpZigoc3wwKT09NyltcihiLDY2NTg3KXwwO21yKGIsNjY1OTAp
fDA7Zj0rZ1trPj4yXTtpZihmPjAuMCl7aFtuPj4zXT1mO3NyKGIsNjY3NjAsbil9ZWxzZSBtcihi
LDY2NTk2KXwwO2Q9cCs5NnwwO2U9bztpPWQ7aj1lKzQwfDA7ZG97Y1tlPj4yXT1jW2k+PjJdO2U9
ZSs0fDA7aT1pKzR8MH13aGlsZSgoZXwwKTwoanwwKSk7JGQoYixvKTttcihiLDY2NTcyKXwwO2I6
ZG8gaWYoKGNbcCsxMjg+PjJdfDApPT0xKXtkPWFbZCszPj4wXXwwO3N3aXRjaChkPDwyND4+MjQp
e2Nhc2UgLTE6Y2FzZSAwOntzPTE0O2JyZWFrIGJ9ZGVmYXVsdDp7fX1oW3I+PjNdPSsoZCYyNTUp
Ki4wMDM5MjE1Njg2Mjc0NTA5ODtzcihiLDg0NjMxLHIpfWVsc2Ugcz0xNDt3aGlsZSgwKTtpZigo
c3wwKT09MTQpbXIoYiw2NjU4Nyl8MDttcihiLDY2ODAwKXwwO2w9dDtyZXR1cm4gcXwwfWZ1bmN0
aW9uIGJlKGIpe2I9YnwwO3ZhciBkPTAsZT0wLjAsZj0wLGc9MCxpPTAsaj0wLGs9MCxtPTAsbj0w
LG89MCxwPTAscT0wLHI9MC4wO3E9bDtsPWwrNjR8MDtrPXErMTZ8MDtvPXErOHwwO2o9cTtuPWNb
NDE5MDddfDA7Y1s0MTkwN109bisxO209Y1tiKzE2Pj4yXXwwO3I9KyhjW20rMTM2Pj4yXXwwKSou
MDE3NDUzMjkyNTE5OTQzMjk1O2U9cjtpZihyPT0wLjApe2Y9NTA7ZD01MH1lbHNle2Y9fn4oKCtF
KCtlKSsxLjApKjUwLjApO2Q9fn4oKDEuMC0rRigrZSkpKjUwLjApfWNbaz4+Ml09bjtjW2srND4+
Ml09ZjtjW2srOD4+Ml09ZDtzcihiLDY2NDUyLGspO21yKGIsNjY1MzYpfDA7ZD1tKzU2fDA7Zj1r
O2c9ZDtpPWYrNDB8MDtkb3tjW2Y+PjJdPWNbZz4+Ml07Zj1mKzR8MDtnPWcrNHwwfXdoaWxlKChm
fDApPChpfDApKTskZChiLGspO21yKGIsNjY1NzIpfDA7YTpkbyBpZigoY1ttKzg4Pj4yXXwwKT09
MSl7ZD1hW2QrMz4+MF18MDtzd2l0Y2goZDw8MjQ+PjI0KXtjYXNlIC0xOmNhc2UgMDp7cD02O2Jy
ZWFrIGF9ZGVmYXVsdDp7fX1oW2o+PjNdPSsoZCYyNTUpKi4wMDM5MjE1Njg2Mjc0NTA5ODtzcihi
LDg0NjMxLGopfWVsc2UgcD02O3doaWxlKDApO2lmKChwfDApPT02KW1yKGIsNjY1ODcpfDA7bXIo
Yiw2NjU5MCl8MDttcihiLDY2NTk2KXwwO2Q9bSs5NnwwO2Y9aztnPWQ7aT1mKzQwfDA7ZG97Y1tm
Pj4yXT1jW2c+PjJdO2Y9Zis0fDA7Zz1nKzR8MH13aGlsZSgoZnwwKTwoaXwwKSk7JGQoYixrKTtt
cihiLDY2NTcyKXwwO2I6ZG8gaWYoKGNbbSsxMjg+PjJdfDApPT0xKXtkPWFbZCszPj4wXXwwO3N3
aXRjaChkPDwyND4+MjQpe2Nhc2UgLTE6Y2FzZSAwOntwPTEwO2JyZWFrIGJ9ZGVmYXVsdDp7fX1o
W28+PjNdPSsoZCYyNTUpKi4wMDM5MjE1Njg2Mjc0NTA5ODtzcihiLDg0NjMxLG8pfWVsc2UgcD0x
MDt3aGlsZSgwKTtpZigocHwwKT09MTApbXIoYiw2NjU4Nyl8MDttcihiLDY2NjMyKXwwO2w9cTty
ZXR1cm4gbnwwfWZ1bmN0aW9uIGNlKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9
MCxnPTAsaT0wO2k9bDtsPWwrMTZ8MDtnPWk7ZT03NztmPTA7d2hpbGUoMSl7aWYoKGZ8MCk+PShk
fDApKWJyZWFrO2NbZz4+Ml09ZTtzcihhLDY2NDQ5LGcpO3RyKGEsK2hbYisoZjw8NCk+PjNdKTtt
cihhLDg2MDMwKXwwO3RyKGEsLStoW2IrKGY8PDQpKzg+PjNdKTtlPShmfDApPT0wPzY3OjMyO2Y9
ZisxfDB9bD1pO3JldHVybn1mdW5jdGlvbiBkZShiLGQsZSxmLGcpe2I9YnwwO2Q9ZHwwO2U9ZXww
O2Y9ZnwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MDtqPWw7bD1sKzE2fDA7aT1qKzh8MDtoPWo7bXIo
Yiw2NzQyMCl8MDttcihiLHJ3KGQpfDApfDA7aWYoZXwwKXtjW2g+PjJdPXJ3KGUpfDA7c3IoYiw2
NzQyOCxoKX1jW2k+PjJdPWY7c3IoYiw2NzQzMixpKTtkPUltKGcsNjc0NDQpfDA7aWYoZHwwP2Fb
ZD4+MF18MDowKXttcihiLDg3NjM4KXwwO21yKGIscncoZCl8MCl8MH1tcihiLDgzNzE0KXwwO2w9
ajtyZXR1cm59ZnVuY3Rpb24gZWUoYSl7YT1hfDA7dmFyIGI9MDttcihhLDY4MjUxKXwwO2I9YSsx
MnwwO21yKGEsb2UoY1tjW2NbYj4+Ml0+PjJdPj4yXXwwKXwwKXwwO21yKGEsNzEwMTQpfDA7bXIo
YSxvZShjWyhjW2NbYj4+Ml0+PjJdfDApKzQ+PjJdfDApfDApfDA7bXIoYSw3MTAyNCl8MDttcihh
LG9lKGNbKGNbY1tiPj4yXT4+Ml18MCkrOD4+Ml18MCl8MCl8MDttcihhLDY4MjY3KXwwO3JldHVy
bn1mdW5jdGlvbiBmZShiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTA7Zj1sO2w9bCsxNnwwO2U9Zjtk
PWNbYisxNj4+Ml18MDttcihiLDY4MjI4KXwwO2Q9ZCs4fDA7aWYoYVsoRG4oY1tkPj4yXXwwKXww
KT4+MF18MCl7bXIoYiw2ODIzMCl8MDttcihiLG9lKERuKGNbZD4+Ml18MCl8MCl8MCl8MH1jW2U+
PjJdPU8oY1tiKzE2OD4+Ml18MCxjW2IrMTY0Pj4yXXwwKXwwO3NyKGIsNjgyMzksZSk7Y1s0MTkw
OV09MDtsPWY7cmV0dXJufWZ1bmN0aW9uIGdlKGEpe2E9YXwwO2NbNDE5MDldPTE7cmV0dXJufWZ1
bmN0aW9uIGhlKGEpe2E9YXwwO2NbNDE5MDldPS0xO3JldHVybn1mdW5jdGlvbiBpZShiLGQsZSl7
Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaT0wLGo9MCxrPTAsbT0wLG49MDtuPWw7bD1s
KzQ4fDA7aT1uKzh8MDttPW47Zj1jW2IrMTY+PjJdfDA7aWYoY1tmKzE0ND4+Ml18MD8oaz1lKzR8
MCxqPX5+KCtoW2IrMzUyPj4zXSoraFsoY1trPj4yXXwwKSsxNj4+M10pLGp8MCk6MCl7cGUoYik7
bXIoYiw2ODE2Nyl8MDtnPWQrOHwwO2hbZz4+M109K2hbZz4+M10tKyhqfDApKi41NTtjW2k+PjJd
PWNbZD4+Ml07Y1tpKzQ+PjJdPWNbZCs0Pj4yXTtjW2krOD4+Ml09Y1tkKzg+PjJdO2NbaSsxMj4+
Ml09Y1tkKzEyPj4yXTt2cihiLGkpO21yKGIsNjgxODEpfDA7bXIoYixjW2U+PjJdfDApfDA7bXIo
Yiw2ODE5MCl8MDttcihiLDY3OTg4KXwwO2c9aTtkPWYrMTZ8MDtmPWcrNDB8MDtkb3tjW2c+PjJd
PWNbZD4+Ml07Zz1nKzR8MDtkPWQrNHwwfXdoaWxlKChnfDApPChmfDApKTtxZShiLGkpO21yKGIs
NjgxOTIpfDA7aT1jW2s+PjJdfDA7az1jW2krOD4+Ml18MDtrPWNbKChrfDApPT0wP2k6ays0fDAp
Pj4yXXwwO21yKGIsODM3MTQpfDA7bXIoYixrKXwwO21yKGIsODM3MTQpfDA7Y1ttPj4yXT1qO3Ny
KGIsNjgyMDEsbSk7c3dpdGNoKGFbZSs0OD4+MF18MCl7Y2FzZSAxMDg6e21yKGIsNjgyMDYpfDA7
YnJlYWt9Y2FzZSAxMTQ6e21yKGIsNjgyMTcpfDA7YnJlYWt9ZGVmYXVsdDp7fX1yZShiKTttcihi
LDEzNDkwMSl8MH1sPW47cmV0dXJufWZ1bmN0aW9uIGplKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8
MDt2YXIgZT0wLGY9MCxnPTAsaT0wLGo9MCxrPTAuMCxtPTAuMCxuPTAuMDtqPWw7bD1sKzQ4fDA7
Zj1qO2c9Y1thKzE2Pj4yXXwwO2k9ZysxNDR8MDtpZihjW2k+PjJdfDApe249K2hbYj4+M107bT0r
aFtiKzI0Pj4zXTtlPWIrOHwwO2s9K2hbZT4+M107aFtiPj4zXT1uLStoW2IrMTY+PjNdK247aFtl
Pj4zXT1rLW0raztwZShhKTttcihhLDY4MTUzKXwwO3dyKGEsYiwyKTttcihhLDY3OTg4KXwwO2Rv
IGlmKCFkKWlmKCEoY1s0MTkwOV18MCkpe21yKGEsODIyNzIpfDA7YnJlYWt9ZWxzZXttcihhLDEy
MTk5MCl8MDticmVha31lbHNle2I9ZjtkPWcrNTZ8MDtlPWIrNDB8MDtkb3tjW2I+PjJdPWNbZD4+
Ml07Yj1iKzR8MDtkPWQrNHwwfXdoaWxlKChifDApPChlfDApKTtxZShhLGYpfXdoaWxlKDApO2lm
KChjWzQxOTA5XXwwKT09MSljWzQxOTA5XT0wO21yKGEsNjgwOTkpfDA7dHIoYSwraFtnKzE1Mj4+
M10pO21yKGEsNjgxNDIpfDA7Yj1mO2Q9ZysxNnwwO2U9Yis0MHwwO2Rve2NbYj4+Ml09Y1tkPj4y
XTtiPWIrNHwwO2Q9ZCs0fDB9d2hpbGUoKGJ8MCk8KGV8MCkpO3FlKGEsZik7Yj1jW2k+PjJdfDA7
aWYoKGJ8MCk9PTEpe21yKGEsNjc5OTYpfDA7Yj1jW2k+PjJdfDB9aWYoKGJ8MCk9PTIpbXIoYSw2
ODAwNSl8MDtyZShhKTttcihhLDEzNDkwMSl8MH1sPWo7cmV0dXJufWZ1bmN0aW9uIGtlKGEsYixk
LGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGk9MCxqPTA7aj1sO2w9bCs0
OHwwO2Y9ajtnPWNbYSsxNj4+Ml18MDtpPWcrMTQ0fDA7aWYoY1tpPj4yXXwwKXtwZShhKTttcihh
LDY4MTI1KXwwO3dyKGEsYixkKTttcihhLDY3OTg4KXwwO2RvIGlmKCFlKWlmKCEoY1s0MTkwOV18
MCkpe21yKGEsODIyNzIpfDA7YnJlYWt9ZWxzZXttcihhLDEyMTk5MCl8MDticmVha31lbHNle2I9
ZjtkPWcrNTZ8MDtlPWIrNDB8MDtkb3tjW2I+PjJdPWNbZD4+Ml07Yj1iKzR8MDtkPWQrNHwwfXdo
aWxlKChifDApPChlfDApKTtxZShhLGYpfXdoaWxlKDApO2lmKChjWzQxOTA5XXwwKT09MSljWzQx
OTA5XT0wO21yKGEsNjgwOTkpfDA7dHIoYSwraFtnKzE1Mj4+M10pO21yKGEsNjgxNDIpfDA7Yj1m
O2Q9ZysxNnwwO2U9Yis0MHwwO2Rve2NbYj4+Ml09Y1tkPj4yXTtiPWIrNHwwO2Q9ZCs0fDB9d2hp
bGUoKGJ8MCk8KGV8MCkpO3FlKGEsZik7Yj1jW2k+PjJdfDA7aWYoKGJ8MCk9PTEpe21yKGEsNjc5
OTYpfDA7Yj1jW2k+PjJdfDB9aWYoKGJ8MCk9PTIpbXIoYSw2ODAwNSl8MDtyZShhKTttcihhLDEz
NDkwMSl8MH1sPWo7cmV0dXJufWZ1bmN0aW9uIGxlKGEsYixkLGUsZixnKXthPWF8MDtiPWJ8MDtk
PWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaT0wLGo9MCxrPTAsbT0wO209bDtsPWwrNDh8MDtp
PW07aj1jW2ErMTY+PjJdfDA7az1qKzE0NHwwO2lmKGNbaz4+Ml18MCl7cGUoYSk7bXIoYSw2Nzk3
NCl8MDt3cihhLGIsZCk7bXIoYSw2Nzk4OCl8MDtlPWk7Zj1qKzE2fDA7Zz1lKzQwfDA7ZG97Y1tl
Pj4yXT1jW2Y+PjJdO2U9ZSs0fDA7Zj1mKzR8MH13aGlsZSgoZXwwKTwoZ3wwKSk7cWUoYSxpKTtt
cihhLDY4MDk5KXwwO3RyKGEsK2hbaisxNTI+PjNdKTtlPWNbaz4+Ml18MDtpZigoZXwwKT09MSl7
bXIoYSw2Nzk5Nil8MDtlPWNbaz4+Ml18MH1pZigoZXwwKT09MiltcihhLDY4MDA1KXwwO21yKGEs
NjgxMDgpfDA7cmUoYSk7bXIoYSwxMzQ5MDEpfDB9bD1tO3JldHVybn1mdW5jdGlvbiBtZShhLGIs
ZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTA7aT1sO2w9bCs0OHww
O2c9aTtlPWNbYSsxNj4+Ml18MDtoPWUrMTQ0fDA7aWYoY1toPj4yXXwwKXtwZShhKTttcihhLDY3
OTc0KXwwO3dyKGEsYixkKTttcihhLDY3OTg4KXwwO2Y9ZztiPWUrMTZ8MDtkPWYrNDB8MDtkb3tj
W2Y+PjJdPWNbYj4+Ml07Zj1mKzR8MDtiPWIrNHwwfXdoaWxlKChmfDApPChkfDApKTtxZShhLGcp
O2I9Y1toPj4yXXwwO2lmKChifDApPT0xKXttcihhLDY3OTk2KXwwO2I9Y1toPj4yXXwwfWlmKChi
fDApPT0yKW1yKGEsNjgwMDUpfDA7cmUoYSk7bXIoYSwxMzQ5MDEpfDB9bD1pO3JldHVybn1mdW5j
dGlvbiBuZShhLGIpe2E9YXwwO2I9YnwwO21yKGEsNjc5NzEpfDA7bXIoYSxvZShiKXwwKXwwO21y
KGEsMTM0OTAxKXwwO3JldHVybn1mdW5jdGlvbiBvZShhKXthPWF8MDtyZXR1cm4gYXwwfWZ1bmN0
aW9uIHBlKGIpe2I9YnwwO2lmKCEoYVtiKzE0ND4+MF18MCkpbXIoYiw2ODA5Nil8MDtlbHNlIG1y
KGIsY1tiKzE0OD4+Ml18MCl8MDtyZXR1cm59ZnVuY3Rpb24gcWUoYixlKXtiPWJ8MDtlPWV8MDt2
YXIgZj0wLGc9MCxoPTAsaT0wO2c9bDtsPWwrMTZ8MDtmPWc7YTpkbyBzd2l0Y2goY1tlKzMyPj4y
XXwwKXtjYXNlIDU6e21yKGIsY1tlPj4yXXwwKXwwO2JyZWFrfWNhc2UgMTppZighKGFbZSszPj4w
XXwwKSl7bXIoYiw4MjI3Mil8MDticmVhayBhfWVsc2V7aT1kW2UrMT4+MF18MDtoPWRbZSsyPj4w
XXwwO2NbZj4+Ml09ZFtlPj4wXTtjW2YrND4+Ml09aTtjW2YrOD4+Ml09aDtzcihiLDY4NTQ3LGYp
O2JyZWFrIGF9ZGVmYXVsdDptYSgxMjMyMDUsNjgwMTQsNDksNjgwNzgpfXdoaWxlKDApO2w9Zzty
ZXR1cm59ZnVuY3Rpb24gcmUoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MCxnPTAsaD0wO2g9
bDtsPWwrMTZ8MDtnPWg7Zj1jW2ErMTY+PjJdfDA7c3dpdGNoKGNbZisxMj4+Ml18MCl7Y2FzZSA4
OntiPTE7ZD05NjI3MztlPWYrOHwwO2JyZWFrfWNhc2UgMTA6e2I9MDtkPTk2MjczO2U9Zis4fDA7
YnJlYWt9Y2FzZSAzOmNhc2UgMjpjYXNlIDk6e2I9MTtkPTk2MjM3O2U9Zis4fDA7YnJlYWt9Y2Fz
ZSA3OmNhc2UgNjpjYXNlIDExOntiPTA7ZD05NjIzNztlPWYrOHwwO2JyZWFrfWNhc2UgMDp7Yj0x
O2Q9OTYyODY7ZT1mKzh8MDticmVha31jYXNlIDQ6e2I9MDtkPTY4MDUwO2U9Zis4fDA7YnJlYWt9
Y2FzZSAxOntiPTE7ZD05NjI4NjtlPWYrOHwwO2JyZWFrfWNhc2UgNTp7Yj0wO2Q9OTYyODY7ZT1m
Kzh8MDticmVha31kZWZhdWx0Om1hKDEyMzIwNSw2ODAxNCwxMDYsNjgwMzMpfWY9Y1soY1tlPj4y
XXwwKSs4Pj4yXXwwO2NbZz4+Ml09YjtjW2crND4+Ml09ZDtjW2crOD4+Ml09ZjtzcihhLDY4MDYy
LGcpO2w9aDtyZXR1cm59ZnVuY3Rpb24gc2UoYSl7YT1hfDA7dmFyIGI9MDttcihhLDcwOTg2KXww
O21yKGEsNzA5OTQpfDA7Yj1hKzEyfDA7bXIoYSxEZShjW2NbY1tiPj4yXT4+Ml0+PjJdfDApfDAp
fDA7bXIoYSw3MTAxNCl8MDttcihhLERlKGNbKGNbY1tiPj4yXT4+Ml18MCkrND4+Ml18MCl8MCl8
MDttcihhLDcxMDI0KXwwO21yKGEsRGUoY1soY1tjW2I+PjJdPj4yXXwwKSs4Pj4yXXwwKXwwKXww
O21yKGEsNzEwMjcpfDA7cmV0dXJufWZ1bmN0aW9uIHRlKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9
MCxnPTAsaT0wLGo9MDtqPWw7bD1sKzMyfDA7aT1qKzI0fDA7Zz1qKzE2fDA7Zj1qKzh8MDtlPWo7
ZD1jW2IrMTY+PjJdfDA7Y1s0MTkxM109fn4oK2hbYisyMzI+PjNdLStoW2IrMjE2Pj4zXSk7Y1s0
MTkxMl09fn4oK2hbYisyMjQ+PjNdLStoW2IrMjA4Pj4zXSk7bXIoYiw2OTY3Myl8MDttcihiLDY5
NjgwKXwwO2Q9RG4oY1tkKzg+PjJdfDApfDA7aWYoYVtkPj4wXXwwKXttcihiLDY5NzQ5KXwwO21y
KGIsRGUoZCl8MCl8MDttcihiLDY5NzU3KXwwfWNbZT4+Ml09TyhjW2IrMTY4Pj4yXXwwLGNbYisx
NjQ+PjJdfDApfDA7c3IoYiw2OTc2NixlKTttcihiLDY5Nzg2KXwwO21yKGIsNjk4MjEpfDA7bXIo
Yiw2OTg0OSl8MDttcihiLDY5ODU1KXwwO21yKGIsNjk4OTgpfDA7bXIoYiw2OTkzOSl8MDttcihi
LDY5OTU4KXwwO21yKGIsNjk5NzUpfDA7bXIoYiw3MDAyMyl8MDttcihiLDcwMDc2KXwwO21yKGIs
NzAxNTIpfDA7bXIoYiw3MDIyOCl8MDttcihiLDcwMjM3KXwwO21yKGIsNzAyNjApfDA7bXIoYiw3
MDI4Nyl8MDttcihiLDcwMzQwKXwwO21yKGIsNzAzNjIpfDA7bXIoYiw3MDQwNyl8MDttcihiLDcw
NDE5KXwwO21yKGIsNzA0MjkpfDA7bXIoYiw3MDQ1NSl8MDttcihiLDcwMzQwKXwwO21yKGIsNzA1
MDcpfDA7bXIoYiw3MDQwNyl8MDttcihiLDcwNDE5KXwwO21yKGIsNzA1NTEpfDA7bXIoYiw3MDI2
MCl8MDttcihiLDcwMjg3KXwwO21yKGIsNzAzNDApfDA7bXIoYiw3MDUwNyl8MDttcihiLDcwNDA3
KXwwO21yKGIsNzA0MTkpfDA7bXIoYiw3MDQyOSl8MDttcihiLDcwNDU1KXwwO21yKGIsNzAzNDAp
fDA7bXIoYiw3MDM2Mil8MDttcihiLDcwNDA3KXwwO21yKGIsNzA0MTkpfDA7bXIoYiw3MDU2NCl8
MDttcihiLDcwNTcyKXwwO21yKGIsNzA1NzgpfDA7bXIoYiw3MDU5Mil8MDttcihiLDcwNjAwKXww
O21yKGIsNzA2MzMpfDA7ZT0oY1s0MTkxM118MCkrMTB8MDtjW2Y+PjJdPWNbNDE5MTJdO2NbZis0
Pj4yXT1lO3NyKGIsNzA3MTAsZik7bXIoYiw3MDc0MCl8MDttcihiLDcwNzQ5KXwwO21yKGIsNzA4
MDcpfDA7bXIoYiw3MDgxNyl8MDttcihiLDcwODgyKXwwO2Y9Y1s0MTkxM118MDtjW2c+PjJdPWNb
NDE5MTJdO2NbZys0Pj4yXT1mO3NyKGIsNzA5MTksZyk7Zz1jWzQxOTEzXXwwO2NbaT4+Ml09Y1s0
MTkxMl07Y1tpKzQ+PjJdPWc7c3IoYiw3MDk0NyxpKTtsPWo7cmV0dXJufWZ1bmN0aW9uIHVlKGEp
e2E9YXwwO21yKGEsNjkyMjQpfDA7bXIoYSw2OTIzNil8MDttcihhLDY5MjQ0KXwwO21yKGEsNjkz
MDcpfDA7bXIoYSw2OTIzNil8MDttcihhLDY5MzUyKXwwO21yKGEsNjk0MDEpfDA7bXIoYSw2OTQ1
NSl8MDttcihhLDY5MjM2KXwwO21yKGEsNjk1NTUpfDA7bXIoYSw2OTYwNCl8MDttcihhLDY5MjM2
KXwwO21yKGEsNjk2NTYpfDA7cmV0dXJufWZ1bmN0aW9uIHZlKGIsZCxlLGYsZyl7Yj1ifDA7ZD1k
fDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0wO2o9bDtsPWwrMzJ8MDtpPWorMTZ8
MDtoPWorOHwwO2c9ajttcihiLDY5MTgyKXwwO2lmKGR8MD9hW2Q+PjBdfDA6MCl7Y1tnPj4yXT1E
ZShkKXwwO3NyKGIsNjkxODUsZyl9aWYoZXwwP2FbZT4+MF18MDowKXtjW2g+PjJdPURlKGUpfDA7
c3IoYiw2OTE5NixoKX1pZihmfDA/YVtmPj4wXXwwOjApe2NbaT4+Ml09RGUoZil8MDtzcihiLDY5
MjA4LGkpfW1yKGIsNjkyMjEpfDA7bD1qO3JldHVybn1mdW5jdGlvbiB3ZShhKXthPWF8MDttcihh
LDY5MTc2KXwwO3JldHVybn1mdW5jdGlvbiB4ZShiLGUsZil7Yj1ifDA7ZT1lfDA7Zj1mfDA7dmFy
IGc9MCxpPTAuMCxqPTAuMCxrPTAuMCxtPTAuMCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAs
dT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MC4wO0E9bDtsPWwrMTEyfDA7eT1BKzk2fDA7
ej1BKzg4fDA7dz1BKzgwfDA7cT1BKzcyfDA7dj1BKzY0fDA7dD1BKzU2fDA7cz1BKzQ4fDA7cj1B
KzQwfDA7cD1BKzI0fDA7bz1BKzh8MDtuPUE7eD1jW2IrMTY+PjJdfDA7c3dpdGNoKGFbZis0OD4+
MF18MCl7Y2FzZSAxMDg6e2o9K2hbZT4+M107bT0raFtmKzMyPj4zXTticmVha31jYXNlIDExNDp7
bT0raFtmKzMyPj4zXTtqPStoW2U+PjNdLW07YnJlYWt9ZGVmYXVsdDp7bT0raFtmKzMyPj4zXTtq
PStoW2U+PjNdLW0qLjV9fWc9Zis0MHwwO2k9K2hbZz4+M107dT1mKzR8MDtrPStoWyhjW3U+PjJd
fDApKzE2Pj4zXTtpZihpPGspe2k9ayoxLjErMS4wO2hbZz4+M109aX1CPWorLTguMDtrPSsoKGNb
NDE5MTNdfDApPj4+MCktK2hbZSs4Pj4zXS1pK2sqLjIrKGs8MTIuMD8xLjQ6Mi4wKTtzcihiLDY4
ODM4LG4pO2hbbz4+M109QjtoW28rOD4+M109aztzcihiLDY4Nzc1LG8pO2hbcD4+M109ais4LjAr
bS1CO2hbcCs4Pj4zXT1pO3NyKGIsNjg3OTkscCk7bXIoYiw2ODg3Myl8MDttcihiLDY4OTA3KXww
O2c9Y1t1Pj4yXXwwO2U9Y1tnKzg+PjJdfDA7aWYoZSl7Y1tyPj4yXT1jW2UrND4+Ml07c3IoYiw2
ODk5NyxyKTtnPWNbZSs4Pj4yXXwwO2lmKGd8MCl7Y1tzPj4yXT1nO3NyKGIsNjkwMTYscyl9Zz1j
W2UrMTI+PjJdfDA7aWYoZ3wwKXtjW3Q+PjJdPWc7c3IoYiw2OTAzMyx0KX1nPWNbZSsxNj4+Ml18
MDtpZihnfDApe2Nbdj4+Ml09ZztzcihiLDY5MDUxLHYpfX1lbHNle2NbcT4+Ml09Y1tnPj4yXTtz
cihiLDY4OTk3LHEpfWhbdz4+M109K2hbKGNbdT4+Ml18MCkrMTY+PjNdO3NyKGIsNjkwNjcsdyk7
Zz14KzE2fDA7c3dpdGNoKGNbeCs0OD4+Ml18MCl7Y2FzZSA1OntnPWNbZz4+Ml18MDtpZihpSyhn
LDEyMjEwNil8MCl7Y1t6Pj4yXT1nO3NyKGIsNjkwODcseil9YnJlYWt9Y2FzZSAxOnt4PWRbZysx
Pj4wXXwwO3o9ZFtnKzI+PjBdfDA7Y1t5Pj4yXT1kW2c+PjBdO2NbeSs0Pj4yXT14O2NbeSs4Pj4y
XT16O3NyKGIsNjkwOTcseSk7YnJlYWt9ZGVmYXVsdDptYSgxMjMyMDUsNjg1NjEsNDM4LDY5MTE4
KX1tcihiLDY5MTMxKXwwO21yKGIsRGUoY1tmPj4yXXwwKXwwKXwwO21yKGIsNjkxNDIpfDA7bXIo
Yiw2OTE2NSl8MDtsPUE7cmV0dXJufWZ1bmN0aW9uIHllKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8
MDt2YXIgZT0wLGY9MCxnPTAuMCxpPTAuMCxqPTAsaz0wLjAsbT0wLjA7ZT1sO2w9bCszMnwwO2Y9
ZSsxNnwwO2o9ZTttcihhLDY4NzM5KXwwO209K2hbYj4+M107aT0raFtiKzE2Pj4zXS1tO2s9K2hb
YisyND4+M107Zz1rLStoW2IrOD4+M107az0rKChjWzQxOTEzXXwwKT4+PjApLWs7aFtqPj4zXT1t
LWk7aFtqKzg+PjNdPWs7c3IoYSw2ODc3NSxqKTtoW2Y+PjNdPWkqMi4wO2hbZis4Pj4zXT1nKjIu
MDtzcihhLDY4Nzk5LGYpO0hlKGEsZCk7bXIoYSw2ODYyMSl8MDtGZShhKTttcihhLDY4ODI3KXww
O2w9ZTtyZXR1cm59ZnVuY3Rpb24gemUoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7
dmFyIGY9MC4wLGc9MCxpPTAuMCxqPTAsaz0wLG09MCxuPTA7bT1sO2w9bCs0OHwwO2s9bSsyNHww
O2o9bSs4fDA7Zz1tO21yKGEsNjgzNDQpfDA7bj1jWzQxOTEzXXwwO2NbZz4+Ml09Y1s0MTkxMl07
Y1tnKzQ+PjJdPW47c3IoYSw2ODU5NyxnKTtIZShhLGUpO21yKGEsNjg2MjEpfDA7RmUoYSk7bXIo
YSw2ODYyNCl8MDtnPWQrLTF8MDtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+PShkfDApKWJyZWFrO2k9
K2hbYisoZTw8NCk+PjNdO2Y9KygoY1s0MTkxM118MCk+Pj4wKS0raFtiKyhlPDw0KSs4Pj4zXTtp
ZighZSl7bXIoYSw2ODY1MSl8MDtoW2o+PjNdPWk7aFtqKzg+PjNdPWY7c3IoYSw2ODcxNyxqKTtt
cihhLDY4NzI4KXwwfWVsc2V7aFtrPj4zXT1pO2hbays4Pj4zXT1mO3NyKGEsNjg3MTcsayl9aWYo
KGV8MCk9PShnfDApKW1yKGEsNjg3MzEpfDA7ZT1lKzF8MH1tcihhLDY4NDYwKXwwO2w9bTtyZXR1
cm59ZnVuY3Rpb24gQWUoYSxiLGQsZSxmLGcpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9Znww
O2c9Z3wwO3ZhciBoPTA7Zj1sO2w9bCsxNnwwO2U9ZjttcihhLDY4MzQ0KXwwO2g9Y1s0MTkxM118
MDtjW2U+PjJdPWNbNDE5MTJdO2NbZSs0Pj4yXT1oO3NyKGEsNjg1OTcsZSk7SGUoYSxnKTttcihh
LDY4NjIxKXwwO0ZlKGEpO21yKGEsNjg2MjQpfDA7SWUoYSxiLGQpO21yKGEsNjg2MzcpfDA7bD1m
O3JldHVybn1mdW5jdGlvbiBCZShhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAs
Zz0wLGk9MCxqPTAsaz0wLG09MC4wO2s9bDtsPWwrNDh8MDtqPWsrMjR8MDtpPWsrOHwwO2Y9aztt
cihhLDY4MzQ0KXwwO2c9Y1s0MTkxM118MDtjW2Y+PjJdPWNbNDE5MTJdO2NbZis0Pj4yXT1nO3Ny
KGEsNjgzODEsZik7bXIoYSw2ODQyMSl8MDtmPWQrLTF8MDtnPWIrOHwwO2U9MDt3aGlsZSgxKXtp
ZigoZXwwKT49KGR8MCkpYnJlYWs7aWYoIWUpe21yKGEsNjg0MzMpfDA7bT0rKChjWzQxOTEzXXww
KT4+PjApLStoW2c+PjNdO2hbaT4+M109K2hbYj4+M107aFtpKzg+PjNdPW07c3IoYSw2ODQzNyxp
KTttcihhLDY4NDQ4KXwwfWVsc2V7bT0rKChjWzQxOTEzXXwwKT4+PjApLStoW2IrKGU8PDQpKzg+
PjNdO2hbaj4+M109K2hbYisoZTw8NCk+PjNdO2hbais4Pj4zXT1tO3NyKGEsNjg0Mzcsail9aWYo
KGV8MCk9PShmfDApKW1yKGEsNjg0NTIpfDA7ZT1lKzF8MH1tcihhLDY4NDU2KXwwO0ZlKGEpO21y
KGEsNjg0NjApfDA7bD1rO3JldHVybn1mdW5jdGlvbiBDZShhLGIpe2E9YXwwO2I9YnwwO21yKGEs
NjgyNzkpfDA7bXIoYSxEZShiKXwwKXwwO21yKGEsNjgyOTEpfDA7cmV0dXJufWZ1bmN0aW9uIERl
KGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0w
LHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wO3U9bDtsPWwrMTZ8MDtlPXU7ZD1jWzQxOTEwXXwwO2lm
KCFkKXtjWzQxOTExXT02NDtkPXd3KDY0KXwwO2NbNDE5MTBdPWR9cz1lKzE1fDA7cj1lKzE0fDA7
Zz0wO3E9MDtvPTA7ZT0wO2Y9MDthOndoaWxlKDEpe249KG98MCkhPTA7az1nO3A9YjtqPWU7Yjp3
aGlsZSgxKXtpZighcCl7dD0zMjticmVhayBhfWU9YVtwPj4wXXwwO2lmKCEoZTw8MjQ+PjI0KSl7
dD0zMjticmVhayBhfWI9Y1s0MTkxMV18MDtpZigocXwwKT4oYistOHwwKSl7ZD1iPDwxO2NbNDE5
MTFdPWQ7ZD15dyhjWzQxOTEwXXwwLGQpfDA7Y1s0MTkxMF09ZDtkPWQrcXwwO2U9YVtwPj4wXXww
fXN3aXRjaChlPDwyND4+MjQpe2Nhc2UgNjA6e2U9NDtiPTg3MTg3O3Q9MjY7YnJlYWsgYn1jYXNl
IDYyOntlPTQ7Yj04NzE3MDt0PTI3O2JyZWFrIGJ9Y2FzZSAzODp7dD0xMDticmVhayBifWNhc2Ug
NDU6e2U9NTtiPTg3MTgxO2k9ajticmVhayBifWRlZmF1bHQ6e319aWYobiZlPDwyND4+MjQ9PTMy
KXt0PTEyO2JyZWFrfXN3aXRjaChlPDwyND4+MjQpe2Nhc2UgMzQ6e2U9NjtiPTg3MTUwO3Q9MjY7
YnJlYWsgYn1jYXNlIDM5OntlPTU7Yj04NzE3NTt0PTI3O2JyZWFrIGJ9ZGVmYXVsdDp7fX1pZihl
PDwyND4+MjQ8MCl7aT0xMjc7Yj0wfWVsc2V7ZT0xO2I9cDt0PTI2O2JyZWFrfXdoaWxlKDEpe2c9
aSYyNTU7aD1lJjI1NTtpZihnPj4+MD49aD4+PjApYnJlYWs7ZT1pJmgmMjU1O2k9Zz4+PjE7Yj1i
KzF8MH1pZigoYnwwKTw9MSl7Zz1PTihqfDAsZnwwLDYpfDA7Zz1ITihnfDAsenwwLGUmMjU1fDAs
MCl8MDtmPXo7bT1rKy0xfDA7aWYoKGt8MCk+MSl7Yj1tO2U9Z31lbHNle3Q9MjE7YnJlYWt9fWVs
c2V7Yj1iKy0xfDA7ZT1lJjI1NTtmPTB9az1iO3A9cCsxfDA7aj1lfWlmKCh0fDApPT0xMCl7dD0w
O2I9KEVlKHApfDApPT0wO2U9Yj81OjE7Yj1iPzg3MTY0OnA7aT1qfWVsc2UgaWYoKHR8MCk9PTEy
KXt0PTA7Yj0oYVtvPj4wXXwwKT09MzI7ZT1iPzY6MTtiPWI/ODcxNTc6cDtpPWp9ZWxzZSBpZigo
dHwwKT09MjEpe3Q9MDthW3M+PjBdPTU5O2U9MztoPXI7aT1nO2o9Zjt3aGlsZSgxKXtiPU1OKGl8
MCxqfDAsMTAsMCl8MDtnPWgrLTF8MDthW2g+PjBdPWJ8NDg7Yj1pO2k9TE4oaXwwLGp8MCwxMCww
KXwwO2Y9ajtqPXo7bz1lO2U9ZSsxfDA7aWYoKG98MCk+MTEpe3Q9MjM7YnJlYWsgYX1pZighKGY+
Pj4wPjB8KGZ8MCk9PTAmYj4+PjA+OSkpYnJlYWs7ZWxzZSBoPWd9Yj1oKy0yfDA7YVtnPj4wXT0z
NTthW2I+PjBdPTM4O2s9bTtmPWp9ZWxzZSBpZigodHwwKT09MjYpe3Q9MDtpPWp9ZWxzZSBpZigo
dHwwKT09Mjcpe3Q9MDtpPWp9aD1kK2V8MDtnPWU7d2hpbGUoMSl7aWYoIWcpYnJlYWs7YVtkPj4w
XT1hW2I+PjBdfDA7Zz1nKy0xfDA7Yj1iKzF8MDtkPWQrMXwwfWc9aztiPXArMXwwO3E9ZStxfDA7
bz1wO2Q9aDtlPWl9aWYoKHR8MCk9PTIzKXtYTCg2ODI5Nyw0NiwxLGNbMTM5MThdfDApfDA7TWEo
MSl9ZWxzZSBpZigodHwwKT09MzIpe2FbZD4+MF09MDtsPXU7cmV0dXJuIGNbNDE5MTBdfDB9cmV0
dXJuIDB9ZnVuY3Rpb24gRWUoYil7Yj1ifDA7dmFyIGM9MCxkPTA7ZD1iKzF8MDtjPWFbZD4+MF18
MDthOmRvIGlmKGM8PDI0Pj4yND09MzUpe2Q9YisyfDA7Yz1hW2Q+PjBdfDA7c3dpdGNoKGM8PDI0
Pj4yNCl7Y2FzZSA4ODpjYXNlIDEyMDpicmVhaztkZWZhdWx0OntiPWQ7d2hpbGUoMSl7ZD1iKzF8
MDtpZigoYystNDgmMjU1KT49MTApYnJlYWsgYTtiPWQ7Yz1hW2Q+PjBdfDB9fX1kPWIrM3wwO3do
aWxlKDEpe2M9YVtkPj4wXXwwO2lmKChjKy00OCYyNTUpPj0xMClzd2l0Y2goYzw8MjQ+PjI0KXtj
YXNlIDY1OmNhc2UgNjY6Y2FzZSA2NzpjYXNlIDY4OmNhc2UgNjk6Y2FzZSA3MDpjYXNlIDk3OmNh
c2UgOTg6Y2FzZSA5OTpjYXNlIDEwMDpjYXNlIDEwMTpjYXNlIDEwMjpicmVhaztkZWZhdWx0OmJy
ZWFrIGF9ZD1kKzF8MH19ZWxzZSB3aGlsZSgxKXtiPWQrMXwwO2lmKCgoYyYtMzMpKy02NSYyNTUp
Pj0yNilicmVhayBhO2Q9YjtjPWFbYj4+MF18MH13aGlsZSgwKTtyZXR1cm4gYzw8MjQ+PjI0PT01
OXwwfWZ1bmN0aW9uIEZlKGEpe2E9YXwwO3ZhciBiPTAuMCxkPTAsZT0wLGY9MCxnPTAsaT0wLGo9
MCxrPTA7az1sO2w9bCs0OHwwO2Q9ays4fDA7aj1rO2k9Y1thKzE2Pj4yXXwwO21yKGEsNjg0NzIp
fDA7ZT1kO2Y9aSsxNnwwO2c9ZSs0MHwwO2Rve2NbZT4+Ml09Y1tmPj4yXTtlPWUrNHwwO2Y9Zis0
fDB9d2hpbGUoKGV8MCk8KGd8MCkpO0dlKGEsZCk7Yj0raFtpKzE1Mj4+M107aWYoYiE9MS4wKXto
W2o+PjNdPWI7c3IoYSw2ODQ5MCxqKX1zd2l0Y2goY1tpKzE0ND4+Ml18MCl7Y2FzZSAxOnttcihh
LDY4NTA3KXwwO2JyZWFrfWNhc2UgMjp7bXIoYSw2ODUyNSl8MDticmVha31kZWZhdWx0Ont9fW1y
KGEsNjg1NDIpfDA7bD1rO3JldHVybn1mdW5jdGlvbiBHZShiLGUpe2I9YnwwO2U9ZXwwO3ZhciBm
PTAsZz0wLGg9MCxpPTA7Zz1sO2w9bCsxNnwwO2Y9ZzthOmRvIHN3aXRjaChjW2UrMzI+PjJdfDAp
e2Nhc2UgNTp7bXIoYixjW2U+PjJdfDApfDA7YnJlYWt9Y2FzZSAxOmlmKCEoYVtlKzM+PjBdfDAp
KXttcihiLDEyMDUwMSl8MDticmVhayBhfWVsc2V7aT1kW2UrMT4+MF18MDtoPWRbZSsyPj4wXXww
O2NbZj4+Ml09ZFtlPj4wXTtjW2YrND4+Ml09aTtjW2YrOD4+Ml09aDtzcihiLDY4NTQ3LGYpO2Jy
ZWFrIGF9ZGVmYXVsdDptYSgxMjMyMDUsNjg1NjEsOTQsNjg1ODEpfXdoaWxlKDApO2w9ZztyZXR1
cm59ZnVuY3Rpb24gSGUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wO2c9bDts
PWwrNDh8MDtmPWc7aWYoIWIpbXIoYSw2ODcwMCl8MDtlbHNle2Q9Y1thKzE2Pj4yXXwwO21yKGEs
Njg2NzApfDA7Yj1mO2Q9ZCs1NnwwO2U9Yis0MHwwO2Rve2NbYj4+Ml09Y1tkPj4yXTtiPWIrNHww
O2Q9ZCs0fDB9d2hpbGUoKGJ8MCk8KGV8MCkpO0dlKGEsZik7bXIoYSw2ODY5Nyl8MH1sPWc7cmV0
dXJufWZ1bmN0aW9uIEllKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAs
aT0wLGo9MC4wLGs9MC4wO2k9bDtsPWwrMzJ8MDtnPWk7ZT02ODY1MTtmPTA7d2hpbGUoMSl7aWYo
KGZ8MCk+PShkfDApKWJyZWFrO2s9K2hbYisoZjw8NCk+PjNdO2o9KygoY1s0MTkxM118MCk+Pj4w
KS0raFtiKyhmPDw0KSs4Pj4zXTtjW2c+PjJdPWU7aFtnKzg+PjNdPWs7aFtnKzE2Pj4zXT1qO3Ny
KGEsNjg2NTQsZyk7ZT0oZnwwKT09MD82ODY2NzoxNzQxODE7Zj1mKzF8MH1tcihhLDgzNzE0KXww
O2w9aTtyZXR1cm59ZnVuY3Rpb24gSmUoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wO2I9bDtsPWwr
MTZ8MDtkPWIrOHwwO2U9YjttcihhLDczMjg0KXwwO21yKGEsNzMyOTkpfDA7bXIoYSw3MzMzOCl8
MDttcihhLDczMzg3KXwwO2NbZT4+Ml09MTIyMTA2O2NbZSs0Pj4yXT03MzQ3NTtzcihhLDczNDU2
LGUpO2NbZD4+Ml09MTIxOTkwO2NbZCs0Pj4yXT03MzQ4MTtzcihhLDczNDU2LGQpO2w9YjtyZXR1
cm59ZnVuY3Rpb24gS2UoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLjAsZj0wLjAsZz0wLjAsaT0w
LjAsaj0wO2I9bDtsPWwrNjR8MDtkPWIrOHwwO2o9YjtjW2o+PjJdPURuKGNbKGNbYSsxNj4+Ml18
MCkrOD4+Ml18MCl8MDtzcihhLDcyMjM3LGopO2k9K2hbYSszNjg+PjNdKi41KitoW2ErNDg4Pj4z
XTtnPStoW2ErMzc2Pj4zXSouNSoraFthKzQ5Nj4+M107Zj0rSigrKGkqMi4wMDAwMDAwOTQ5OTQ5
MDI2ZS0wMykpKjE4MC4wKi42MzY2MTk3NzIzNjc1ODE0O2U9K0ooKyhnKjIuMDAwMDAwMDk0OTk0
OTAyNmUtMDMpKSoxODAuMCouNjM2NjE5NzcyMzY3NTgxNDtoW2Q+PjNdPWk7aFtkKzg+PjNdPWc7
aFtkKzE2Pj4zXT0tNTAwLjA7aFtkKzI0Pj4zXT1pO2hbZCszMj4+M109ZztoW2QrNDA+PjNdPTAu
MDtoW2QrNDg+PjNdPShmPmU/ZjplKSoxLjI7c3IoYSw3MjI1OSxkKTttcihhLDcyNDA2KXwwO21y
KGEsNzMyMzYpfDA7bD1iO3JldHVybn1mdW5jdGlvbiBMZShhKXthPWF8MDttcihhLDcyMjIwKXww
O3JldHVybn1mdW5jdGlvbiBNZShhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIg
Zj0wLGg9MDtmPWw7bD1sKzE2fDA7aD1mO2NbaD4+Ml09YjtjW2grND4+Ml09ZDtjW2grOD4+Ml09
ZTtzcihhLDcyMTkwLGgpO2dbNDE5MTRdPSsoTyhkLC0xMCl8MCk7bD1mO3JldHVybn1mdW5jdGlv
biBOZShhKXthPWF8MDttcihhLDcyMTczKXwwO3JldHVybn1mdW5jdGlvbiBPZShhKXthPWF8MDtt
cihhLDcyMTU1KXwwO3JldHVybn1mdW5jdGlvbiBQZShhKXthPWF8MDttcihhLDcyMTM5KXwwO3Jl
dHVybn1mdW5jdGlvbiBRZShhKXthPWF8MDttcihhLDcyMTE4KXwwO2dbNDE5MTRdPStnWzQxOTE0
XSstMi4wO3JldHVybn1mdW5jdGlvbiBSZShhKXthPWF8MDttcihhLDcyMDk5KXwwO3JldHVybn1m
dW5jdGlvbiBTZShhKXthPWF8MDt2YXIgYj0wLGQ9MDtiPWw7bD1sKzE2fDA7ZD1iO2NbZD4+Ml09
RG4oY1soY1thKzE2Pj4yXXwwKSs4Pj4yXXwwKXwwO3NyKGEsNzIwNzcsZCk7bD1iO3JldHVybn1m
dW5jdGlvbiBUZShhKXthPWF8MDttcihhLDcyMDYxKXwwO3JldHVybn1mdW5jdGlvbiBVZShhKXth
PWF8MDttcihhLDcyMDQzKXwwO2dbNDE5MTRdPStnWzQxOTE0XSstNS4wO3JldHVybn1mdW5jdGlv
biBWZShhKXthPWF8MDttcihhLDcyMDI3KXwwO2dbNDE5MTRdPStnWzQxOTE0XSs1LjA7cmV0dXJu
fWZ1bmN0aW9uIFdlKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLjAsaT0wLGo9MCxr
PTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLjAsdD0wLjAsdT0wLjA7cj1sO2w9bCsxNDR8
MDtvPXIrMTA0fDA7cT1yKzU2fDA7bT1yKzMyfDA7aj1yKzI0fDA7bj1yO3A9ZSs0fDA7aT1jW3A+
PjJdfDA7Zj0raFtpKzE2Pj4zXTtpPWNbaT4+Ml18MDtjW24+PjJdPWNbZT4+Ml07aFtuKzg+PjNd
PWY7Y1tuKzE2Pj4yXT1pO3NyKGIsNzE4NzMsbik7Z1s0MTkxNV09K2dbNDE5MTRdKy05LjA7c3dp
dGNoKGFbZSs0OD4+MF18MCl7Y2FzZSAxMDg6e2Y9K2hbZD4+M107YnJlYWt9Y2FzZSAxMTQ6e2k9
ZDtmPStoW2Q+PjNdLStoW2UrMzI+PjNdO2s9NTticmVha31kZWZhdWx0OntpPWQ7Zj0raFtkPj4z
XS0raFtlKzMyPj4zXSouNTtrPTV9fWlmKChrfDApPT01KWhbaT4+M109Zjt1PStoW2IrNDg4Pj4z
XTt0PSgraFtiKzUwND4+M10rZikqdTtzPSgraFtiKzUxMj4+M10rICtoW2QrOD4+M10pKitoW2Ir
NDk2Pj4zXTtoW2o+PjNdPStoWyhjW3A+PjJdfDApKzE2Pj4zXSp1O249YWYoYiw3MTkyNSxqKXww
O2Y9KyhjW2IrMzYwPj4yXXwwKTtoW20+PjNdPTAuMDtoW20rOD4+M109MC4wO2hbbSsxNj4+M109
ZjtpPWFmKGIsNzExNDIsbSl8MDtmPStnWzQxOTE1XTtoW28+PjNdPXQ7aFtvKzg+PjNdPXM7aFtv
KzE2Pj4zXT1mO2Q9YWYoYiw3MTE3NCxvKXwwO2o9bztrPShjW2IrMTY+PjJdfDApKzE2fDA7bT1q
KzQwfDA7ZG97Y1tqPj4yXT1jW2s+PjJdO2o9ais0fDA7az1rKzR8MH13aGlsZSgoanwwKTwobXww
KSk7bz1iZihiLG8sMC4wKXwwO2U9Y1tlPj4yXXwwO2NbcT4+Ml09Y1tjW3A+PjJdPj4yXTtoW3Er
OD4+M109LjI1O2hbcSsxNj4+M109MC4wO2NbcSsyND4+Ml09ZTtjW3ErMjg+PjJdPTcyMDEyO2Nb
cSszMj4+Ml09bjtjW3ErMzY+PjJdPWk7Y1txKzQwPj4yXT1kO2NbcSs0ND4+Ml09bztxPWFmKGIs
NzE5MzcscSl8MDttcihiLHEpfDA7X0kocSk7X0koaSk7X0kobyk7X0koZCk7X0kobik7bD1yO3Jl
dHVybn1mdW5jdGlvbiBYZShhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsaT0w
LjAsaj0wLjAsaz0wLjAsbT0wLG49MCxvPTAscD0wLjAscT0wLjAscj0wLHM9MCx0PTAsdT0wLHY9
MCx3PTAseD0wLHk9MCx6PTAsQT0wLjA7ej1sO2w9bCsyNDB8MDt4PXorMTkyfDA7eT16KzE1Mnww
O3Q9eisxMjh8MDtyPXorMTA0fDA7bz16KzgwfDA7bj16KzQ4fDA7ZT16KzI0fDA7bT16O21yKGEs
NzE3NTApfDA7Z1s0MTkxNV09K2dbNDE5MTRdKy02LjA7aT0raFtiPj4zXTtqPStoW2ErNDg4Pj4z
XTtwPSgraFthKzUwND4+M10raSkqajtBPStoW2IrOD4+M107az0raFthKzQ5Nj4+M107cT0oK2hb
YSs1MTI+PjNdK0EpKms7aj0oK2hbYisxNj4+M10taSkqajtrPSgraFtiKzI0Pj4zXS1BKSprO3M9
YSsxNnwwO0E9aytqO2k9K2hbKGNbcz4+Ml18MCkrMTUyPj4zXS9BKjIuNTtoW20+PjNdPWo7aFtt
Kzg+PjNdPUEqLjI1O2hbbSsxNj4+M109aztiPWFmKGEsNzExMTAsbSl8MDttPWErMzYwfDA7QT0r
KGNbbT4+Ml18MCk7aFtlPj4zXT05MC4wO2hbZSs4Pj4zXT0wLjA7aFtlKzE2Pj4zXT1BO2U9YWYo
YSw3MTE0MixlKXwwO0E9K2dbNDE5MTVdO2hbeD4+M109cDtoW3grOD4+M109cTtoW3grMTY+PjNd
PUE7Zj1hZihhLDcxMTc0LHgpfDA7dT14O3Y9KGNbcz4+Ml18MCkrMTZ8MDt3PXUrNDB8MDtkb3tj
W3U+PjJdPWNbdj4+Ml07dT11KzR8MDt2PXYrNHwwfXdoaWxlKCh1fDApPCh3fDApKTt2PWJmKGEs
eCwwLjApfDA7aFtuPj4zXT0xLjA7aFtuKzg+PjNdPWk7Y1tuKzE2Pj4yXT1iO2NbbisyMD4+Ml09
ZTtjW24rMjQ+PjJdPWY7Y1tuKzI4Pj4yXT12O3c9YWYoYSw3MTc2NSxuKXwwO21yKGEsdyl8MDtf
SShiKTtfSShlKTtfSShmKTtfSSh2KTtfSSh3KTtpZihkfDApe2hbbz4+M109ajtoW28rOD4+M109
aztoW28rMTY+PjNdPTEuMDtmPWFmKGEsNzExMTAsbyl8MDtBPSsoY1ttPj4yXXwwKTtoW3I+PjNd
PTAuMDtoW3IrOD4+M109MC4wO2hbcisxNj4+M109QTtlPWFmKGEsNzExNDIscil8MDtBPStnWzQx
OTE1XTtoW3Q+PjNdPXA7aFt0Kzg+PjNdPXE7aFt0KzE2Pj4zXT1BO2I9YWYoYSw3MTE3NCx0KXww
O3U9eDt2PShjW3M+PjJdfDApKzU2fDA7dz11KzQwfDA7ZG97Y1t1Pj4yXT1jW3Y+PjJdO3U9dSs0
fDA7dj12KzR8MH13aGlsZSgodXwwKTwod3wwKSk7eD1iZihhLHgsMC4wKXwwO2hbeT4+M109MC4w
O2hbeSs4Pj4zXT0wLjA7aFt5KzE2Pj4zXT0wLjA7Y1t5KzI0Pj4yXT1mO2NbeSsyOD4+Ml09ZTtj
W3krMzI+PjJdPWI7Y1t5KzM2Pj4yXT14O3k9YWYoYSw3MTgxMSx5KXwwO21yKGEseSl8MDtfSShm
KTtfSShlKTtfSShiKTtfSSh4KTtfSSh5KX1sPXo7cmV0dXJufWZ1bmN0aW9uIFllKGEsYixkLGUp
e2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAs
cD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxE
PTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MC4wLE09MCxOPTAuMDtLPWw7bD1sKzMz
NnwwO0I9SysyOTZ8MDtKPUsrMjg4fDA7ST1LKzI3MnwwO0g9SysyNjR8MDtHPUsrMjQwfDA7RD1L
KzIzMnwwO0E9SysyMDh8MDt6PUsrMTg0fDA7dz1LKzE2MHwwO3Y9SysxNTJ8MDt1PUsrMTM2fDA7
dD1LKzEyOHwwO3M9Sys5NnwwO3I9Sys4OHwwO3E9Sys1NnwwO2Y9Sys0OHwwO209SysyNHwwO2s9
SzttcihhLDcxNjE1KXwwO2dbNDE5MTVdPStnWzQxOTE0XSstMi4wO289YSs0ODh8MDtwPWErNDk2
fDA7TD0raFtwPj4zXTtoW2s+PjNdPStoW28+PjNdO2hbays4Pj4zXT1MO2hbaysxNj4+M109MS4w
O2s9YWYoYSw3MTExMCxrKXwwO3k9YSszNjB8MDtMPSsoY1t5Pj4yXXwwKTtoW20+PjNdPTAuMDto
W20rOD4+M109MC4wO2hbbSsxNj4+M109TDttPWFmKGEsNzExNDIsbSl8MDtMPStnWzQxOTE1XSst
Mi4wO2hbQj4+M109MC4wO2hbQis4Pj4zXT0wLjA7aFtCKzE2Pj4zXT1MO249YWYoYSw3MTE3NCxC
KXwwO0M9YSsxNnwwO2k9QjtqPShjW0M+PjJdfDApKzE2fDA7eD1pKzQwfDA7ZG97Y1tpPj4yXT1j
W2o+PjJdO2k9aSs0fDA7aj1qKzR8MH13aGlsZSgoaXwwKTwoeHwwKSk7aj1iZihhLEIsMC4wKXww
O2NbZj4+Ml09NzEyMzc7Y1tmKzQ+PjJdPWQrMTtFPWErNTA0fDA7Rj1hKzUxMnwwO2k9MDtmPWFm
KGEsNzEyMDYsZil8MDt3aGlsZSgxKXtpZigoaXwwKT49KGR8MCkpYnJlYWs7Tj0raFtGPj4zXSsg
K2hbYisoaTw8NCkrOD4+M107TD0raFsoY1tDPj4yXXwwKSsxNTI+PjNdO2hbcT4+M109K2hbRT4+
M10rICtoW2IrKGk8PDQpPj4zXTtoW3ErOD4+M109TjtoW3ErMTY+PjNdPTAuMDtoW3ErMjQ+PjNd
PUw7TT1hZihhLDcxMjUxLHEpfDA7Y1tyPj4yXT1mO2Nbcis0Pj4yXT1NO3g9YWYoYSw3MTI4MCxy
KXwwO19JKE0pO19JKGYpO2k9aSsxfDA7Zj14fUw9K2hbRj4+M10rICtoW2IrOD4+M107Tj0raFso
Y1tDPj4yXXwwKSsxNTI+PjNdO2hbcz4+M109K2hbRT4+M10rICtoW2I+PjNdO2hbcys4Pj4zXT1M
O2hbcysxNj4+M109MC4wO2hbcysyND4+M109Tjt4PWFmKGEsNzEyNTEscyl8MDtjW3Q+PjJdPWY7
Y1t0KzQ+PjJdPXg7TT1hZihhLDcxMjgwLHQpfDA7X0koeCk7X0koZik7Y1t1Pj4yXT1rO2NbdSs0
Pj4yXT1tO2NbdSs4Pj4yXT1uO2NbdSsxMj4+Ml09ajt4PWFmKGEsNzE2MzAsdSl8MDtjW3Y+PjJd
PU07Y1t2KzQ+PjJdPXg7TT1hZihhLDcxMzM1LHYpfDA7X0koeCk7bXIoYSxNKXwwO19JKGspO19J
KG0pO19JKG4pO19JKGopO19JKE0pO2lmKGV8MCl7Tj0raFtwPj4zXTtoW3c+PjNdPStoW28+PjNd
O2hbdys4Pj4zXT1OO2hbdysxNj4+M109MS4wO249YWYoYSw3MTExMCx3KXwwO049KyhjW3k+PjJd
fDApO2hbej4+M109MC4wO2hbeis4Pj4zXT0wLjA7aFt6KzE2Pj4zXT1OO209YWYoYSw3MTE0Mix6
KXwwO049K2dbNDE5MTVdKy0yLjA7aFtBPj4zXT0wLjA7aFtBKzg+PjNdPTAuMDtoW0ErMTY+PjNd
PU47az1hZihhLDcxMTc0LEEpfDA7aT1CO2o9KGNbQz4+Ml18MCkrNTZ8MDt4PWkrNDB8MDtkb3tj
W2k+PjJdPWNbaj4+Ml07aT1pKzR8MDtqPWorNHwwfXdoaWxlKChpfDApPCh4fDApKTtqPWJmKGEs
QiwuMjUpfDA7Y1tEPj4yXT1kO2k9MDtmPWFmKGEsNzE2NzUsRCl8MDt3aGlsZSgxKXtpZigoaXww
KT49KGR8MCkpYnJlYWs7Tj0raFtGPj4zXSsgK2hbYisoaTw8NCkrOD4+M107aFtHPj4zXT0raFtF
Pj4zXSsgK2hbYisoaTw8NCk+PjNdO2hbRys4Pj4zXT1OO2hbRysxNj4+M109MC4wO0Q9YWYoYSw3
MTY5MCxHKXwwO2NbSD4+Ml09ZjtjW0grND4+Ml09RDtNPWFmKGEsNzE3MTIsSCl8MDtfSShEKTtf
SShmKTtpPWkrMXwwO2Y9TX1jW0k+PjJdPW47Y1tJKzQ+PjJdPW07Y1tJKzg+PjJdPWs7Y1tJKzEy
Pj4yXT1qO0k9YWYoYSw3MTcyMixJKXwwO2NbSj4+Ml09ZjtjW0orND4+Ml09STtNPWFmKGEsNzEz
MzUsSil8MDtfSShJKTttcihhLE0pfDA7X0kobik7X0kobSk7X0koayk7X0koaik7X0koTSl9bD1L
O3JldHVybn1mdW5jdGlvbiBaZShhLGIsZCxlLGYsaSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7
Zj1mfDA7aT1pfDA7dmFyIGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1
PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MC4wLEQ9MC4wO0I9bDtsPWwrMjA4fDA7
ZT1CKzE2MHwwO0E9QisxNTJ8MDt6PUIrMTM2fDA7eT1CKzEyOHwwO3g9Qis5NnwwO3c9Qis4OHww
O3Y9Qis1NnwwO2s9Qis0OHwwO3M9QisyNHwwO3I9QjttcihhLDcxNTQyKXwwO2dbNDE5MTVdPStn
WzQxOTE0XSstNC4wO0M9K2hbYSs0OTY+PjNdO2hbcj4+M109K2hbYSs0ODg+PjNdO2hbcis4Pj4z
XT1DO2hbcisxNj4+M109MS4wO3I9YWYoYSw3MTExMCxyKXwwO0M9KyhjW2ErMzYwPj4yXXwwKTto
W3M+PjNdPTAuMDtoW3MrOD4+M109MC4wO2hbcysxNj4+M109QztzPWFmKGEsNzExNDIscyl8MDtD
PStnWzQxOTE1XSstMi4wO2hbZT4+M109MC4wO2hbZSs4Pj4zXT0wLjA7aFtlKzE2Pj4zXT1DO3Q9
YWYoYSw3MTE3NCxlKXwwO3U9YSsxNnwwO2Y9ZTtpPShjW3U+PjJdfDApKzU2fDA7aj1mKzQwfDA7
ZG97Y1tmPj4yXT1jW2k+PjJdO2Y9Zis0fDA7aT1pKzR8MH13aGlsZSgoZnwwKTwoanwwKSk7bj1i
ZihhLGUsMC4wKXwwO2Nbaz4+Ml09NzE1NTY7Y1trKzQ+PjJdPWQrMjtvPWErNTA0fDA7cD1hKzUx
MnwwO3E9ZCstMXwwO209MDtlPWFmKGEsNzEyMDYsayl8MDt3aGlsZSgxKXtpZigobXwwKT49KGR8
MCkpYnJlYWs7Zj1iKyhtPDw0KXwwO2k9YisobTw8NCkrOHwwO0Q9K2hbcD4+M10rICtoW2k+PjNd
O0M9K2hbKGNbdT4+Ml18MCkrMTUyPj4zXTtoW3Y+PjNdPStoW28+PjNdKyAraFtmPj4zXTtoW3Yr
OD4+M109RDtoW3YrMTY+PjNdPTAuMDtoW3YrMjQ+PjNdPUM7az1hZihhLDcxMjUxLHYpfDA7Y1t3
Pj4yXT1lO2Nbdys0Pj4yXT1rO2o9YWYoYSw3MTI4MCx3KXwwO19JKGspO19JKGUpO2lmKChtfDAp
PT0wfChtfDApPT0ocXwwKSl7Qz0raFtwPj4zXSsgK2hbaT4+M107RD0raFsoY1t1Pj4yXXwwKSsx
NTI+PjNdO2hbeD4+M109K2hbbz4+M10rICtoW2Y+PjNdO2hbeCs4Pj4zXT1DO2hbeCsxNj4+M109
MC4wO2hbeCsyND4+M109RDtrPWFmKGEsNzEyNTEseCl8MDtjW3k+PjJdPWo7Y1t5KzQ+PjJdPWs7
ZT1hZihhLDcxMjgwLHkpfDA7X0koayk7X0koail9ZWxzZSBlPWo7bT1tKzF8MH1jW3o+PjJdPXI7
Y1t6KzQ+PjJdPXM7Y1t6Kzg+PjJdPXQ7Y1t6KzEyPj4yXT1uO2I9YWYoYSw3MTU2NSx6KXwwO2Nb
QT4+Ml09ZTtjW0ErND4+Ml09YjtkPWFmKGEsNzEzMzUsQSl8MDtfSShiKTttcihhLGQpfDA7X0ko
cik7X0kocyk7X0kodCk7X0kobik7X0koZCk7bD1CO3JldHVybn1mdW5jdGlvbiBfZShhLGIsZCl7
YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAscD0w
LHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MC4wLHg9MCx5PTAuMDt2PWw7bD1sKzE2MHwwO2U9
disxMjB8MDt1PXYrMTEyfDA7dD12Kzk2fDA7cz12Kzg4fDA7cj12KzU2fDA7bT12KzQ4fDA7bj12
KzI0fDA7cT12O21yKGEsNzEwOTQpfDA7Z1s0MTkxNV09K2dbNDE5MTRdKy02LjA7dz0raFthKzQ5
Nj4+M107aFtxPj4zXT0raFthKzQ4OD4+M107aFtxKzg+PjNdPXc7aFtxKzE2Pj4zXT0xLjA7cT1h
ZihhLDcxMTEwLHEpfDA7dz0rKGNbYSszNjA+PjJdfDApO2hbbj4+M109MC4wO2hbbis4Pj4zXT0w
LjA7aFtuKzE2Pj4zXT13O249YWYoYSw3MTE0MixuKXwwO3c9K2dbNDE5MTVdO2hbZT4+M109MC4w
O2hbZSs4Pj4zXT0wLjA7aFtlKzE2Pj4zXT13O289YWYoYSw3MTE3NCxlKXwwO3A9YSsxNnwwO2Y9
ZTtpPShjW3A+PjJdfDApKzE2fDA7aj1mKzQwfDA7ZG97Y1tmPj4yXT1jW2k+PjJdO2Y9Zis0fDA7
aT1pKzR8MH13aGlsZSgoZnwwKTwoanwwKSk7aT1iZihhLGUsMC4wKXwwO2NbbT4+Ml09NzEyMzc7
Y1ttKzQ+PjJdPWQ7aj1hKzUwNHwwO2s9YSs1MTJ8MDtmPTA7ZT1hZihhLDcxMjA2LG0pfDA7d2hp
bGUoMSl7aWYoKGZ8MCk+PShkfDApKWJyZWFrO3k9K2hbaz4+M10rICtoW2IrKGY8PDQpKzg+PjNd
O3c9K2hbKGNbcD4+Ml18MCkrMTUyPj4zXTtoW3I+PjNdPStoW2o+PjNdKyAraFtiKyhmPDw0KT4+
M107aFtyKzg+PjNdPXk7aFtyKzE2Pj4zXT0wLjA7aFtyKzI0Pj4zXT13O3g9YWYoYSw3MTI1MSxy
KXwwO2Nbcz4+Ml09ZTtjW3MrND4+Ml09eDttPWFmKGEsNzEyODAscyl8MDtfSSh4KTtfSShlKTtm
PWYrMXwwO2U9bX1jW3Q+PjJdPXE7Y1t0KzQ+PjJdPW47Y1t0Kzg+PjJdPW87Y1t0KzEyPj4yXT1p
O3Q9YWYoYSw3MTI4OSx0KXwwO2NbdT4+Ml09ZTtjW3UrND4+Ml09dDt4PWFmKGEsNzEzMzUsdSl8
MDtfSSh0KTttcihhLHgpfDA7X0kocSk7X0kobik7X0kobyk7X0koaSk7X0koeCk7bD12O3JldHVy
bn1mdW5jdGlvbiAkZShhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wO2Q9bDtsPWwrMTZ8MDtl
PWQ7Y1tlPj4yXT1iO3NyKGEsNzEwNzUsZSk7bD1kO3JldHVybn1mdW5jdGlvbiBhZihhLGIsZCl7
YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTA7aT1sO2w9bCsxMDU2fDA7
aD1pO2U9aSsyNHwwO2Y9aSs4fDA7Y1tmPj4yXT1kO2c9TEsoZSwxMDI0LGIsZil8MDtkbyBpZigo
Z3wwKT49MClpZigoZ3wwKT4xMDIzKXthPVpJKGcrMXwwKXwwO2NbZj4+Ml09ZDtxTChhLGIsZil8
MDticmVha31lbHNle2E9R0woZSl8MDticmVha31lbHNle2E9Y1soY1thKzEyPj4yXXwwKSsxNj4+
Ml18MDtjW2g+PjJdPXlKKGNbKGpKKCl8MCk+PjJdfDApfDA7aGJbYSYzMV0oNzE1MjAsaCk7YT1H
TCgxNzQxODEpfDB9d2hpbGUoMCk7bD1pO3JldHVybiBhfDB9ZnVuY3Rpb24gYmYoYSxiLGUpe2E9
YXwwO2I9YnwwO2U9K2U7dmFyIGY9MCxnPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9
MCxyPTAuMCxzPTAuMDtxPWw7bD1sKzExMnwwO289cSsxMDR8MDtqPXErOTZ8MDtpPXErNjR8MDtu
PXErNDh8MDtwPXErMzJ8MDttPXErMTZ8MDtrPXE7Zz1jW2IrMzI+PjJdfDA7YTpkbyBzd2l0Y2go
Z3wwKXtjYXNlIDU6e2Y9Y1tiPj4yXXwwO2lmKCEoeEooZiwxMjEwOTQpfDApKXtjW2s+PjJdPTcx
MzU3O2hbays4Pj4zXT1lO2Y9YWYoYSw3MTM0MCxrKXwwO2JyZWFrIGF9aWYoISh4SihmLDExODIy
NCl8MCkpe2NbbT4+Ml09NzEzNjE7aFttKzg+PjNdPWU7Zj1hZihhLDcxMzQwLG0pfDA7YnJlYWsg
YX1pZighKHhKKGYsMTE2MjIzKXwwKSl7Y1twPj4yXT03MTM2NztoW3ArOD4+M109ZTtmPWFmKGEs
NzEzNDAscCl8MDticmVhayBhfWVsc2V7Y1tuPj4yXT1mO2hbbis4Pj4zXT1lO2Y9YWYoYSw3MTM0
MCxuKXwwO2JyZWFrIGF9fWNhc2UgMTp7cz0rKGRbYisxPj4wXXwwKSouMDAzOTA2MjU7cj0rKGRb
YisyPj4wXXwwKSouMDAzOTA2MjU7aFtpPj4zXT0rKGRbYj4+MF18MCkqLjAwMzkwNjI1O2hbaSs4
Pj4zXT1zO2hbaSsxNj4+M109cjtoW2krMjQ+PjNdPWU7Zj1hZihhLDcxMzcyLGkpfDA7YnJlYWt9
ZGVmYXVsdDp7cD1jWzEzOTE4XXwwO249Y1tiPj4yXXwwO2Nbaj4+Ml09ZztjW2orND4+Ml09bjt6
TChwLDcxNDExLGopfDA7bWEoMTIzMjA1LDcxNDYxLDQzNiw3MTQ4MSl9fXdoaWxlKDApO2Nbbz4+
Ml09ZjtwPWFmKGEsNzE0OTgsbyl8MDtfSShmKTtsPXE7cmV0dXJuIHB8MH1mdW5jdGlvbiBjZihh
KXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MDtiPWw7bD1sKzMyfDA7
ZD1iKzI0fDA7ZT1iKzE2fDA7Zz1iO2Y9Y1thKzE2Pj4yXXwwO2g9Y1tjW2ErMTI+PjJdPj4yXXww
O2o9Y1toPj4yXXwwO2k9Y1toKzQ+PjJdfDA7aD1jW2grOD4+Ml18MDtjW2c+PjJdPTczOTI3O2Nb
Zys0Pj4yXT1qO2NbZys4Pj4yXT1pO2NbZysxMj4+Ml09aDtzcihhLDc2NTQ2LGcpO2Y9RG4oY1tm
Kzg+PjJdfDApfDA7Y1tlPj4yXT03MzkyNztjW2UrND4+Ml09ZjtzcihhLDc2NTc4LGUpO2NbZD4+
Ml09NzM5Mjc7c3IoYSw3NjU5MixkKTtsPWI7cmV0dXJufWZ1bmN0aW9uIGRmKGEpe2E9YXwwO3Zh
ciBiPTAsZD0wO2I9bDtsPWwrMTZ8MDtkPWI7Y1tkPj4yXT03MzkyNztzcihhLDc2NDk0LGQpO2w9
YjtyZXR1cm59ZnVuY3Rpb24gZWYoYSl7YT1hfDA7dmFyIGI9MC4wLGQ9MC4wLGU9MC4wLGY9MCxn
PTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9
MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0w
LE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTA7Vz1sO2w9bCszMDR8
MDtWPVcrMjk2fDA7VT1XKzI4OHwwO1Q9VysyNzJ8MDtSPVcrMjY0fDA7UT1XKzI1NnwwO1A9Vysy
NDh8MDtPPVcrMjQwfDA7Tj1XKzIzMnwwO009VysyMjR8MDtMPVcrMjE2fDA7Sz1XKzIwOHwwO0o9
VysyMDB8MDtJPVcrMTkyfDA7SD1XKzE4NHwwO0c9VysxNzZ8MDtGPVcrMTY4fDA7RT1XKzE2MHww
O0M9VysxNTJ8MDtBPVcrMTQ0fDA7ej1XKzEzNnwwO3k9VysxMjh8MDt4PVcrMTIwfDA7dz1XKzEx
MnwwO3Y9VysxMDR8MDt1PVcrOTZ8MDt0PVcrODh8MDtzPVcrODB8MDtyPVcrNzJ8MDtxPVcrNjR8
MDtwPVcrNTZ8MDtvPVcrNDh8MDtTPVcrNDB8MDtCPVcrMjR8MDtuPVcrMTZ8MDttPVc7Zz1jW2Er
NDU2Pj4yXXwwO2k9Y1thKzQ2MD4+Ml18MDtqPWNbYSs0NjQ+PjJdfDA7az1jW2ErNDY4Pj4yXXww
O2Y9YSszNjB8MDthOmRvIGlmKGNbNDAwN118MCl7c3dpdGNoKGNbZj4+Ml18MCl7Y2FzZSA5MDpj
YXNlIDA6YnJlYWsgYTtkZWZhdWx0Ont9fXJmKCk7Y1s0MDA3XT0wfXdoaWxlKDApO2U9KCsoa3ww
KS0rKGl8MCkpKi4wMTM4ODg4ODg4ODg4ODg4ODg7Yj0oKyhqfDApLSsoZ3wwKSkqLjAxMzg4ODg4
ODg4ODg4ODg4ODtrPShjW2Y+PjJdfDApPT05MDtkPWs/ZTpiO2U9az9iOmU7aFttPj4zXT1kO2hb
bSs4Pj4zXT1lO3NyKGEsNzQxMTQsbSk7Y1tuPj4yXT03MzkyNztzcihhLDc0MTI5LG4pO2lmKGQ+
MC4wKXtiPStGSihkKTtoWzE2ODc3XT1iO2I9YiszLjAtKyh+fmJ8MCl9ZWxzZSBiPTMuMDtiPStE
KDEwLjAsK2IpO2hbMTY4NzddPWI7aFtCPj4zXT1iO2hbQis4Pj4zXT1iO3NyKGEsNzQyOTgsQik7
Y1tTPj4yXT03MzkyNztzcihhLDc0MzMzLFMpO2Nbbz4+Ml09NzM5Mjc7c3IoYSw3NDM5MSxvKTtj
W3A+PjJdPTczOTI3O3NyKGEsNzQ0NTEscCk7Y1txPj4yXT03MzkyNztzcihhLDc0NTAwLHEpO2Nb
cj4+Ml09NzM5Mjc7c3IoYSw3NDUzOSxyKTtjW3M+PjJdPTczOTI3O3NyKGEsNzQ1OTAscyk7Y1t0
Pj4yXT03MzkyNztzcihhLDc0NjUyLHQpO2NbdT4+Ml09NzM5Mjc7c3IoYSw3NDc2Mix1KTtjW3Y+
PjJdPTczOTI3O3NyKGEsNzQ4NTMsdik7Y1t3Pj4yXT03MzkyNztzcihhLDc0OTA3LHcpO2NbeD4+
Ml09NzM5Mjc7c3IoYSw3NDk3Nix4KTtzcihhLDc1MDEyLHkpO2Nbej4+Ml09NzM5Mjc7c3IoYSw3
NTEzNyx6KTtjW0E+PjJdPTczOTI3O3NyKGEsNzUxNjYsQSk7c3IoYSw3NTIwNixDKTtjW0U+PjJd
PTczOTI3O3NyKGEsNzUyOTksRSk7Y1tGPj4yXT03MzkyNztzcihhLDc1MzU4LEYpO2NbRz4+Ml09
NzM5Mjc7c3IoYSw3NTQzOSxHKTtzcihhLDc1NTA5LEgpO2NbST4+Ml09NzM5Mjc7c3IoYSw3NTU5
OCxJKTtjW0o+PjJdPTczOTI3O3NyKGEsNzU3MDMsSik7Y1tLPj4yXT03MzkyNztzcihhLDc1Nzc5
LEspO2NbTD4+Ml09NzM5Mjc7c3IoYSw3NTgxOCxMKTtjW00+PjJdPTczOTI3O3NyKGEsNzU5MTcs
TSk7Y1tOPj4yXT03MzkyNztzcihhLDc1OTYzLE4pO3NyKGEsNzYwNTIsTyk7Y1tQPj4yXT03Mzky
NztzcihhLDc2MDkzLFApO2NbUT4+Ml09NzM5Mjc7c3IoYSw3NjE3NixRKTtjW1I+PjJdPTczOTI3
O3NyKGEsNzYyNzcsUik7aFtUPj4zXT1lO2hbVCs4Pj4zXT1kO3NyKGEsNzYzNDEsVCk7c3IoYSw3
NjM2OSxVKTtzcihhLDc2Mzc3LFYpO2w9VztyZXR1cm59ZnVuY3Rpb24gZmYoYSl7YT1hfDA7dmFy
IGI9MDtiPWw7bD1sKzE2fDA7c3IoYSw3NDEwNyxiKTtsPWI7cmV0dXJufWZ1bmN0aW9uIGdmKGIs
ZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MC4wLGk9MC4wLGo9MC4wLGs9MCxtPTAs
bj0wLjAsbz0wLHA9MCxxPTAscj0wO3I9bDtsPWwrNDh8MDtxPXIrMjR8MDtwPXIrOHwwO289cjtz
d2l0Y2goYVtlKzQ4Pj4wXXwwKXtjYXNlIDEwODp7az1kO2k9K2hbZSszMj4+M107aj0raFtkPj4z
XTticmVha31jYXNlIDExNDp7aT0raFtlKzMyPj4zXTtnPWk7Zj01O2JyZWFrfWRlZmF1bHQ6e2k9
K2hbZSszMj4+M107Zz1pKi41O2Y9NX19aWYoKGZ8MCk9PTUpe2o9K2hbZD4+M10tZztoW2Q+PjNd
PWo7az1kfW09ZSs0fDA7Zj1jW20+PjJdfDA7Zz0raFtmKzE2Pj4zXTtkPWQrOHwwO249K2hbZD4+
M10rZyouMDA0NjI5NjI5NjI5NjI5NjI5O2hbZD4+M109bjtpPWoraSouMDA2OTQ0NDQ0NDQ0NDQ0
NDQ0O2hbaz4+M109aTtmPWNbZj4+Ml18MDtkbyBpZihmKXtkPWNbNDE5MTZdfDA7aWYoZHwwPyh4
SihkLGYpfDApPT0wOjApYnJlYWs7Y1tvPj4yXT1wZihmKXwwO3NyKGIsNzQwMDYsbyk7bz1jW20+
PjJdfDA7Y1s0MTkxNl09Y1tvPj4yXTtnPStoW28rMTY+PjNdfXdoaWxlKDApO2Y9fn5nO2Y9KGZ8
MCk+MT9mOjE7aWYoKGZ8MCkhPShjWzQxOTE3XXwwKSl7aj0raFsxNjg3N107Y1twPj4yXT1mO2hb
cCs4Pj4zXT1qO3NyKGIsNzQwMTQscCk7Y1s0MTkxN109Zn1jW3E+PjJdPXFmKGNbZT4+Ml18MCl8
MDtoW3ErOD4+M109aTtoW3ErMTY+PjNdPW47c3IoYiw3NDAzNSxxKTtsPXI7cmV0dXJufWZ1bmN0
aW9uIGhmKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAuMCxpPTAuMCxq
PTAuMCxrPTAuMDtlPWw7bD1sKzQ4fDA7Zj1lO2k9K2hbYj4+M107az0oK2hbYisxNj4+M10taSkq
LjAyNzc3Nzc3Nzc3Nzc3Nzc3NjtnPStoW2IrOD4+M107aj0oK2hbYisyND4+M10tZykqLjAyNzc3
Nzc3Nzc3Nzc3Nzc3NjtjW2Y+PjJdPTE7Y1tmKzQ+PjJdPWR8MD83Mzk0ODoxNzQxODE7aFtmKzg+
PjNdPWs7aFtmKzE2Pj4zXT1qO2hbZisyND4+M109aSouMDEzODg4ODg4ODg4ODg4ODg4O2hbZisz
Mj4+M109ZyouMDEzODg4ODg4ODg4ODg4ODg4O3NyKGEsNzM5NTQsZik7bD1lO3JldHVybn1mdW5j
dGlvbiBqZihhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtlPWw7bD1sKzE2fDA7bmYo
Y1thKzE2Pj4yXXwwLGUrOHwwLGUpO29mKGEsYixkLDEpO2w9ZTtyZXR1cm59ZnVuY3Rpb24ga2Yo
YSxiLGQsZSxmLGcpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO3ZhciBpPTAs
aj0wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MC4wLHY9MC4wLHc9MDt0
PWw7bD1sKzEyOHwwO3M9dCsxMTJ8MDtxPXQrMTA0fDA7cD10Kzk2fDA7ZT10Kzg4fDA7bj10KzE2
fDA7bz10O2s9Y1thKzE2Pj4yXXwwO2o9WkkoKGQqMTQwfDApKzE0MHwwKXwwO25mKGssdCsxMTZ8
MCx0KzgwfDApO3Y9K2hbYj4+M107az1uKzQ4fDA7aFtrPj4zXT12O3U9K2hbYis4Pj4zXTtoW24r
NTY+PjNdPXU7Y1tlPj4yXT1+fih2Kyh2Pj0wLjA/LjU6LS41KSk7Y1tlKzQ+PjJdPX5+KHUrKHU+
PTAuMD8uNTotLjUpKTtpPW8rOHwwO2U9aisocEwoaiw3MzkzMixlKXwwKXwwO3I9MTtnPTA7d2hp
bGUoMSl7bT1nKzN8MDtpZigobXwwKT49KGR8MCkpYnJlYWs7Y1tuPj4yXT1jW2s+PjJdO2Nbbis0
Pj4yXT1jW2srND4+Ml07Y1tuKzg+PjJdPWNbays4Pj4yXTtjW24rMTI+PjJdPWNbaysxMj4+Ml07
Zj0xO3doaWxlKDEpe2lmKChmfDApPT00KXtmPTE7YnJlYWt9dz1mK2d8MDtoW24rKGY8PDQpPj4z
XT0raFtiKyh3PDw0KT4+M107aFtuKyhmPDw0KSs4Pj4zXT0raFtiKyh3PDw0KSs4Pj4zXTtmPWYr
MXwwfXdoaWxlKDEpe2lmKChmfDApPT03KWJyZWFrO1BBKG8sbiwzLCsoZnwwKSouMTY2NjY2NjY2
NjY2NjY2NjYsMCwwKTt1PStoW28+PjNdO3Y9K2hbaT4+M107Y1twPj4yXT1+fih1Kyh1Pj0wLjA/
LjU6LS41KSk7Y1twKzQ+PjJdPX5+KHYrKHY+PTAuMD8uNTotLjUpKTtmPWYrMXwwO2U9ZSsocEwo
ZSw3MzkzMixwKXwwKXwwfXI9cis2fDA7Zz1tfWNbcT4+Ml09ajtzcihhLDczOTM5LHEpO19JKGop
O2Y9cistMXwwO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KHJ8MCkpYnJlYWs7Y1tzPj4yXT0oKGV8
MCklKGZ8MCl8MHwwKSE9MCYxO3NyKGEsNzM5NDQscyk7ZT1lKzF8MH1tcihhLDEzNDkwMSl8MDts
PXQ7cmV0dXJufWZ1bmN0aW9uIGxmKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wO2U9
bDtsPWwrMTZ8MDtuZihjW2ErMTY+PjJdfDAsZSs4fDAsZSk7b2YoYSxiLGQsMCk7bD1lO3JldHVy
bn1mdW5jdGlvbiBtZihhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wO2Q9bDtsPWwrMTZ8MDtl
PWQ7Y1tlPj4yXT03MzkyNztjW2UrND4+Ml09YjtzcihhLDczOTIwLGUpO2w9ZDtyZXR1cm59ZnVu
Y3Rpb24gbmYoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAuMDtzd2l0Y2goY1thKzE0
ND4+Ml18MCl7Y2FzZSAxOntlPTEwLjA7YT0xO2JyZWFrfWNhc2UgMjp7ZT0xMC4wO2E9MjticmVh
a31kZWZhdWx0OntlPTAuMDthPTB9fWNbYj4+Ml09YTtoW2Q+PjNdPWU7cmV0dXJufWZ1bmN0aW9u
IG9mKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGk9MCxqPTAs
az0wLjAsbT0wLjA7aj1sO2w9bCsxNnwwO2k9ais4fDA7Zz1qO2Y9MDt3aGlsZSgxKXtpZigoZnww
KT49KGR8MCkpYnJlYWs7bT0raFtiKyhmPDw0KT4+M107az0raFtiKyhmPDw0KSs4Pj4zXTtjW2c+
PjJdPX5+KG0rKG0+PTAuMD8uNTotLjUpKTtjW2crND4+Ml09fn4oaysoaz49MC4wPy41Oi0uNSkp
O3NyKGEsNzM5MzIsZyk7Zj1mKzF8MH1pZihlfDApe2s9K2hbYj4+M107bT0raFtiKzg+PjNdO2Nb
aT4+Ml09fn4oaysoaz49MC4wPy41Oi0uNSkpO2NbaSs0Pj4yXT1+fihtKyhtPj0wLjA/LjU6LS41
KSk7c3IoYSw3MzkzMixpKX1tcihhLDEzNDkwMSl8MDtsPWo7cmV0dXJufWZ1bmN0aW9uIHBmKGIp
e2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wO2g9bDtsPWwrMTZ8MDtmPWg7YTp3aGlsZSgx
KXtkPTE1NzU2O3doaWxlKDEpe2U9Y1tkKzQ+PjJdfDA7aWYoIWUpYnJlYWs7aWYoISh4SihlLGIp
fDApKXtnPTY7YnJlYWsgYX1kPWQrOHwwfWNbZj4+Ml09NzQwODg7Y1tmKzQ+PjJdPWI7X2woMSw3
NDA2MixmKXwwO2Q9SEwoYiw0NSl8MDtpZighZCl7ZD03NDEwNTticmVha31hW2Q+PjBdPTB9bD1o
O3JldHVybiBkfDB9ZnVuY3Rpb24gcWYoYil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAs
aT0wO2k9bDtsPWwrMTZ8MDtoPWk7ZD1jWzQxOTE4XXwwO2lmKCFkKXtjWzQxOTE5XT02NDtkPVpJ
KDY0KXwwO2NbNDE5MThdPWQ7ZT0wfWVsc2UgZT0wO3doaWxlKDEpe2c9YisxfDA7Zj1hW2I+PjBd
fDA7aWYoIShmPDwyND4+MjQpKWJyZWFrO2I9Y1s0MTkxOV18MDtpZigoZXwwKT4oYistOHwwKSl7
ZD1iPDwxO2NbNDE5MTldPWQ7ZD1hSihjWzQxOTE4XXwwLGQpfDA7Y1s0MTkxOF09ZDtkPWQrZXww
fWlmKGY8PDI0Pj4yNDw9LTEpe2FbZD4+MF09OTI7Y1toPj4yXT1mJjI1NTtwTChkKzF8MCw3NDA1
NyxoKXwwO2I9ZztkPWQrNHwwO2U9ZSs0fDA7Y29udGludWV9aWYoZjw8MjQ+PjI0PT05Mil7YVtk
Pj4wXT05MjtlPWUrMXwwO2Q9ZCsxfDB9YVtkPj4wXT1mO2I9ZztkPWQrMXwwO2U9ZSsxfDB9YVtk
Pj4wXT0wO2w9aTtyZXR1cm4gY1s0MTkxOF18MH1mdW5jdGlvbiByZigpe3ZhciBhPTAsYj0wO2E9
bDtsPWwrMTZ8MDtiPWE7Y1tiPj4yXT03NDA4ODtjW2IrND4+Ml09NzY0ODU7X2woMCw3NjQ2Nyxi
KXwwO2w9YTtyZXR1cm59ZnVuY3Rpb24gc2YoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1l
fDA7dmFyIGY9MCxnPTAuMCxpPTAuMCxqPTAsaz0wO2U9bDtsPWwrMzJ8MDtmPWUrOHwwO2o9ZTti
PWIrOHwwO2s9Y1tiPj4yXXwwO2Nbaj4+Ml09aztjW2orND4+Ml09aztzcihhLDc3MDY1LGopO2k9
KCtoW2Q+PjNdKyAraFtkKzE2Pj4zXSkqLjU7Zz0oK2hbZCs4Pj4zXSsgK2hbZCsyND4+M10pKi41
O2NbZj4+Ml09Y1tiPj4yXTtoW2YrOD4+M109aTtoW2YrMTY+PjNdPWc7c3IoYSw3NzEwNyxmKTts
PWU7cmV0dXJufWZ1bmN0aW9uIHRmKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3Zh
ciBmPTAsZz0wLjAsaT0wLjAsaj0wLjAsaz0wLjA7ZT1sO2w9bCs0OHwwO2Y9ZTtpPStoW2Q+PjNd
O2s9K2hbZCsxNj4+M10taTtnPStoW2QrMjQ+PjNdO2o9Zy0raFtkKzg+PjNdO2c9Kyh+figraFth
KzIzMj4+M10tK2hbYSsyMTY+PjNdKT4+PjApLWc7Y1tmPj4yXT1jW2IrOD4+Ml07aFtmKzg+PjNd
PWs7aFtmKzE2Pj4zXT1qO2hbZisyND4+M109aTtoW2YrMzI+PjNdPWc7c3IoYSw3NzE1MixmKTtt
cihhLDc3MjQ0KXwwO2w9ZTtyZXR1cm59ZnVuY3Rpb24gdWYoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7
Yz1jfDA7ZD1kfDA7cmV0dXJufWZ1bmN0aW9uIHZmKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHww
O2U9ZXwwO3ZhciBmPTAuMCxnPTAuMCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9
MCxzPTAsdD0wLHU9MC4wO3Q9bDtsPWwrMTYwfDA7cz10KzE1MnwwO3I9dCsxMzZ8MDtxPXQrMTIw
fDA7az10KzExMnwwO249dCsxMDR8MDttPXQrODh8MDtqPXQrNzJ8MDtpPXQrNjR8MDtvPXQ7aWYo
IWEpbWEoOTYwNjEsNzcyNDksMjEyLDc3MjY4KTtpZighYiltYSg5NjA5MSw3NzI0OSwyMTMsNzcy
NjgpO3A9Yis4fDA7aWYoIShjW3A+PjJdfDApKW1hKDk2MDk0LDc3MjQ5LDIxNCw3NzI2OCk7aWYo
Y1tiKzUyPj4yXXwwKXtjW28+PjJdPWNbZD4+Ml07Y1tvKzQ+PjJdPWNbZCs0Pj4yXTtjW28rOD4+
Ml09Y1tkKzg+PjJdO2NbbysxMj4+Ml09Y1tkKzEyPj4yXTtiPW8rMzJ8MDtkPWQrMTZ8MDtjW2I+
PjJdPWNbZD4+Ml07Y1tiKzQ+PjJdPWNbZCs0Pj4yXTtjW2IrOD4+Ml09Y1tkKzg+PjJdO2NbYisx
Mj4+Ml09Y1tkKzEyPj4yXTtmPStoW28+PjNdO2hbbysxNj4+M109ZjtoW28rMjQ+PjNdPStoW28r
NDA+PjNdO2hbbys0OD4+M109K2hbYj4+M107Zz0raFtvKzg+PjNdO2hbbys1Nj4+M109ZztpZihl
PDwyND4+MjQpe3NyKGEsNzcyODksaSk7Yj0wO3doaWxlKDEpe2lmKChifDApPT00KWJyZWFrO3U9
K2hbbysoYjw8NCkrOD4+M107aFtqPj4zXT0raFtvKyhiPDw0KT4+M107aFtqKzg+PjNdPXU7c3Io
YSw3NzI5MixqKTtiPWIrMXwwfWhbbT4+M109ZjtoW20rOD4+M109ZztzcihhLDc3MjkyLG0pO209
Y1twPj4yXXwwO2Nbbj4+Ml09NDtjW24rND4+Ml09bTtzcihhLDc3Mjk5LG4pfXNyKGEsNzcyODks
ayk7Yj0wO3doaWxlKDEpe2lmKChifDApPT00KWJyZWFrO3U9K2hbbysoYjw8NCkrOD4+M107aFtx
Pj4zXT0raFtvKyhiPDw0KT4+M107aFtxKzg+PjNdPXU7c3IoYSw3NzI5MixxKTtiPWIrMXwwfWhb
cj4+M109ZjtoW3IrOD4+M109ZztzcihhLDc3MjkyLHIpO3I9Y1twPj4yXXwwO2Nbcz4+Ml09NDtj
W3MrND4+Ml09cjtzcihhLDc3MzE0LHMpfWw9dDtyZXR1cm59ZnVuY3Rpb24gd2YoYixkLGUsZil7
Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MCxw
PTAuMDtvPWw7bD1sKzExMnwwO249bysyNHwwO209bysxNnwwO2s9bztpPW8rMjh8MDtpZighYilt
YSg5NjA2MSw3NzI0OSwxNTMsNzczMzApO2lmKCFkKW1hKDk2MDkxLDc3MjQ5LDE1NCw3NzMzMCk7
aWYoIShjW2QrOD4+Ml18MCkpbWEoOTYwOTQsNzcyNDksMTU1LDc3MzMwKTtqPWQrNTJ8MDtpZihj
W2o+PjJdfDApe2Y9ZCs2MHwwO2c9Y1tmPj4yXXwwO2lmKChnfDApPT04NClnPTE4O2Vsc2V7Z2Jb
ZyYxMjddKGQpO2Nbaj4+Ml09MDtjW2Y+PjJdPTA7Y1tkKzU2Pj4yXT0wO2c9MTB9fWVsc2UgZz0x
MDtkbyBpZigoZ3wwKT09MTApe2lmKCEoKE1yKGQpfDApPDwyND4+MjQpKWJyZWFrO2Y9ek4oY1tk
KzIwPj4yXXwwKXwwO2lmKChjW2QrMjQ+PjJdJi0yfDApPT02KXtfTChmLGkpfDA7aT1jW2krMzY+
PjJdfDA7Y1tkKzU2Pj4yXT1pO2Y9cEooMCxpLDEsMSxmLDApfDA7Y1tqPj4yXT1mO2FbZCsxNj4+
MF09MX1lbHNlIGY9Y1tqPj4yXXwwO2lmKGZ8MCljW2QrNjA+PjJdPTg0O05yKGQpO2lmKGNbaj4+
Ml18MClnPTE4fXdoaWxlKDApO2lmKChnfDApPT0xOCl7cD0raFtlKzg+PjNdLSsoY1tkKzM2Pj4y
XXwwKTtoW2s+PjNdPStoW2U+PjNdLSsoY1tkKzMyPj4yXXwwKTtoW2srOD4+M109cDtzcihiLDc3
MzQ4LGspO2lmKCEoYVtkKzE2Pj4wXXwwKSl7Y1ttPj4yXT1jW2QrMTI+PjJdO3NyKGIsNzczNzks
bSl9ZWxzZSBmeShiLGQpO3NyKGIsNzczOTQsbil9bD1vO3JldHVybn1mdW5jdGlvbiB4ZihhKXth
PWF8MDtuSihjW2ErNTI+PjJdfDAsY1thKzU2Pj4yXXwwKXwwO3JldHVybn1mdW5jdGlvbiB5Zihh
LGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MDtnPWw7bD1sKzgwfDA7
Zj1nKzQ4fDA7aWYoIWEpbWEoOTYwNjEsNzcyNDksMTIxLDc3NDA0KTtlPWNbYSsxNj4+Ml18MDtp
ZighZSltYSg4NDkyMSw3NzI0OSwxMjMsNzc0MDQpO2lmKCFiKW1hKDk2MDkxLDc3MjQ5LDEyNCw3
NzQwNCk7ZD1iKzh8MDtpZighKGNbZD4+Ml18MCkpbWEoOTYwOTQsNzcyNDksMTI1LDc3NDA0KTtp
ZighKGNbZSs4Pj4yXXwwKSltYSgxMjM2OTAsNzcyNDksMTI4LDc3NDA0KTtlbHNle3NyKGEsNzc0
MjQsZyk7c3IoYSw3NzQzMyxnKzh8MCk7c3IoYSw3NzQ2MCxnKzE2fDApO3NyKGEsNzc0ODUsZysy
NHwwKTtzcihhLDc3NTE0LGcrMzJ8MCk7c3IoYSw3NzU0MixnKzQwfDApO2NbZj4+Ml09Y1tkPj4y
XTtzcihhLDc3NTQ5LGYpO3NyKGEsNzc1ODgsZys1NnwwKTtzcihhLDk1ODMwLGcrNjR8MCk7bD1n
O3JldHVybn19ZnVuY3Rpb24gemYoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFy
IGY9MCxnPTAsaT0wLGo9MCxrPTAsbT0wLjA7aT1sO2w9bCsxMjh8MDtnPWkrODB8MDtmPWk7aWYo
IWEpbWEoOTYwNjEsNzcyNDksOTcsNzc1OTMpO2lmKCFiKW1hKDk2MDkxLDc3MjQ5LDk4LDc3NTkz
KTtlPWNbYis4Pj4yXXwwO2lmKCFlKW1hKDk2MDk0LDc3MjQ5LDk5LDc3NTkzKTtlbHNle209K2hb
ZD4+M107aj1+fihtKyhtPj0wLjA/LjU6LS41KSk7bT0raFtkKzg+PjNdO2I9fn4obSsobT49MC4w
Py41Oi0uNSkpO209K2hbZCsxNj4+M107az1+fihtKyhtPj0wLjA/LjU6LS41KSk7bT0raFtkKzI0
Pj4zXTtkPX5+KG0rKG0+PTAuMD8uNTotLjUpKTtjW2Y+PjJdPTI7Y1tmKzQ+PjJdPTU7Y1tmKzg+
PjJdPTA7Y1tmKzEyPj4yXT0wO2NbZisxNj4+Ml09MDtjW2YrMjA+PjJdPS0xO2NbZisyND4+Ml09
MTtjW2YrMjg+PjJdPS0xO2NbZiszMj4+Ml09MDtoW2YrNDA+PjNdPTAuMDtjW2YrNDg+PjJdPTA7
Y1tmKzUyPj4yXT0wO2NbZis1Nj4+Ml09MDtjW2YrNjA+PjJdPTA7Y1tmKzY0Pj4yXT0wO2NbZis2
OD4+Ml09NTtjW2YrNzI+PjJdPTA7Y1tmKzc2Pj4yXT1lO3NyKGEsNzc2MTIsZik7Y1tnPj4yXT1q
O2NbZys0Pj4yXT1iO2NbZys4Pj4yXT1qO2NbZysxMj4+Ml09ZDtjW2crMTY+PjJdPWs7Y1tnKzIw
Pj4yXT1kO2NbZysyND4+Ml09aztjW2crMjg+PjJdPWI7Y1tnKzMyPj4yXT1qO2NbZyszNj4+Ml09
YjtzcihhLDc3NjcwLGcpO2w9aTtyZXR1cm59fWZ1bmN0aW9uIEFmKGEsYixkLGUpe2E9YXwwO2I9
YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAuMCxnPTAuMCxpPTAuMCxqPTAuMCxrPTAsbT0wLG49MCxv
PTA7bz1sO2w9bCs5NnwwO249bys1NnwwO209byszMnwwO2s9bztpPStoW2Q+PjNdO2o9K2hbZCsx
Nj4+M10taTtmPStoW2QrMjQ+PjNdO2c9Zi0raFtkKzg+PjNdO2lmKCFhKW1hKDk2MDYxLDc3MjQ5
LDUzLDc3NzAyKTtpZighYiltYSg5NjA5MSw3NzI0OSw1NCw3NzcwMik7ZT1iKzh8MDtpZighKGNb
ZT4+Ml18MCkpbWEoOTYwOTQsNzcyNDksNTUsNzc3MDIpO21yKGEsNzc3MjEpfDA7bXIoYSxjW2U+
PjJdfDApfDA7ZT1hKzM2MHwwO2Y9LWY7aWYoIShjW2U+PjJdfDApKXtoW24+PjNdPWo7aFtuKzg+
PjNdPWc7aFtuKzE2Pj4zXT1pO2hbbisyND4+M109ZjtzcihhLDc3ODUwLG4pfWVsc2V7aFtrPj4z
XT1nO2hbays4Pj4zXT1qO2hbaysxNj4+M109aTtoW2srMjQ+PjNdPWY7c3IoYSw3Nzc0MSxrKTtj
W20+PjJdPWNbZT4+Ml07aFttKzg+PjNdPWk7aFttKzE2Pj4zXT1mO3NyKGEsNzc4MjAsbSl9bXIo
YSw3NzkyOSl8MDtsPW87cmV0dXJufWZ1bmN0aW9uIEJmKGEpe2E9YXwwO3ZhciBiPTAsYz0wO2I9
Y28oYSl8MDt3aGlsZSgxKXtpZighYilicmVhaztDZihiKTtiPWVvKGEsYil8MH1jPWNvKGEpfDA7
d2hpbGUoMSl7aWYoIWMpYnJlYWs7Yj1QbShhLGMpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7RGYo
Yik7Yj1SbShhLGIpfDB9Yz1lbyhhLGMpfDB9cmV0dXJufWZ1bmN0aW9uIENmKGEpe2E9YXwwO3Zh
ciBiPTAsZD0wO05vKGEsMTIyMjQxLDMwNCwxKXwwO1dBKGEpO0tCKGEsY1soY1socm8oYSl8MCkr
MTY+PjJdfDApKzExNj4+Ml0mMSk7YT1hKzE2fDA7Y1soY1thPj4yXXwwKSsxNzY+PjJdPTA7Yj12
dygyMCl8MDtkPWNbYT4+Ml18MDtjW2QrMTcyPj4yXT1iO2NbZCsxODQ+PjJdPTA7ZD12dygyMCl8
MDtiPWNbYT4+Ml18MDtjW2IrMTgwPj4yXT1kO2NbYisyMDA+PjJdPTA7Yj12dygxMil8MDtkPWNb
YT4+Ml18MDtjW2QrMTk2Pj4yXT1iO2NbZCsxOTI+PjJdPTA7ZD12dygxMil8MDtiPWNbYT4+Ml18
MDtjW2IrMTg4Pj4yXT1kO2NbYisyMDg+PjJdPTA7Yj12dygxMil8MDthPWNbYT4+Ml18MDtjW2Er
MjA0Pj4yXT1iO2NbYSsyMTY+PjJdPTE7cmV0dXJufWZ1bmN0aW9uIERmKGQpe2Q9ZHwwO3ZhciBl
PTAsZj0wLGc9MCxoPTAsaT0wO05vKGQsMTIyMjU0LDE3NiwxKXwwO1hBKGQpfDA7aD1EQShkLGNb
NDIyMThdfDAsMSwwKXwwO2c9ZCsxNnwwO2NbKGNbZz4+Ml18MCkrMTU2Pj4yXT1oO2g9RkEoY1so
KGNbZD4+Ml0mM3wwKT09Mz9kOmQrNDh8MCkrNDA+PjJdfDAsY1s0MjIxMl18MCwxNzQxODEpfDA7
aT1GQShjWygoY1tkPj4yXSYzfDApPT0yP2Q6ZCstNDh8MCkrNDA+PjJdfDAsY1s0MjIxMl18MCwx
NzQxODEpfDA7ZT1jW2c+PjJdfDA7Zj1lKzE1NHwwO2JbZj4+MV09MTtiW2UrMTY4Pj4xXT0xO2lm
KChofDApPT0oaXwwKSYoYVtoPj4wXXwwKSE9MCl7YltmPj4xXT0xZTM7aT1lKzE1NnwwO2NbaT4+
Ml09KGNbaT4+Ml18MCkqMTAwfWlmKHprKGQpfDApe2k9Y1tnPj4yXXwwO2JbaSsxNTQ+PjFdPTA7
Y1tpKzE1Nj4+Ml09MH1pPShEQShkLGNbNDIyMzFdfDAsMCwwKXwwKSYyNTU7YVsoY1tnPj4yXXww
KSsxNTI+PjBdPWk7aT0oREEoZCxjWzQyMjE5XXwwLDEsMCl8MCkmNjU1MzU7YlsoY1tnPj4yXXww
KSsxNzA+PjFdPWk7cmV0dXJufWZ1bmN0aW9uIEVmKGEpe2E9YXwwO3ZhciBiPTAsZD0wO0ZmKGNb
KGNbYSsxNj4+Ml18MCkrMTkyPj4yXXwwKTtkPWNvKGEpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7
Yj1QbShhLGQpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7ckIoYik7Yj1SbShhLGIpfDB9R2YoZCk7
ZD1lbyhhLGQpfDB9SGYoYSk7cmV0dXJufWZ1bmN0aW9uIEZmKGIpe2I9YnwwO3ZhciBkPTAsZT0w
LGY9MCxnPTA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7Zj1iKzE2fDA7Zz1jWyhjW2Y+PjJdfDApKzE2
ND4+Ml18MDtJZihiKTtkPWNbZj4+Ml18MDtpZigoYVtkKzE1Nj4+MF18MCkhPTEpe2I9Zztjb250
aW51ZX1lPWNbZCsxODA+PjJdfDA7aWYoZSl7X0koZSk7ZD1jW2Y+PjJdfDB9ZT1jW2QrMTcyPj4y
XXwwO2lmKGUpe19JKGUpO2Q9Y1tmPj4yXXwwfV9JKGQpO19JKGIpO2I9Z31yZXR1cm59ZnVuY3Rp
b24gR2YoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wO2U9YSsxNnwwO2I9Y1tlPj4yXXwwO2Q9Y1ti
KzE3Mj4+Ml18MDtpZihkKXtfSShkKTtiPWNbZT4+Ml18MH1kPWNbYisxODA+PjJdfDA7aWYoZCl7
X0koZCk7Yj1jW2U+PjJdfDB9ZD1jW2IrMTg4Pj4yXXwwO2lmKGQpe19JKGQpO2I9Y1tlPj4yXXww
fWQ9Y1tiKzE5Nj4+Ml18MDtpZihkKXtfSShkKTtiPWNbZT4+Ml18MH1kPWNbYisyMDQ+PjJdfDA7
aWYoZCl7X0koZCk7Yj1jW2U+PjJdfDB9b3coY1tiKzEwND4+Ml18MCk7b3coY1soY1tlPj4yXXww
KSsxMDg+PjJdfDApO2I9Y1soY1tlPj4yXXwwKSs4Pj4yXXwwO2lmKGJ8MClnYltjWyhjW2IrND4+
Ml18MCkrND4+Ml0mMTI3XShhKTtQbyhhLDEyMjI0MSl8MDtyZXR1cm59ZnVuY3Rpb24gSGYoYSl7
YT1hfDA7dmFyIGQ9MCxlPTAsZj0wO2Q9SnAoYSl8MDt3aGlsZSgxKXtpZighZClicmVhaztIZihk
KTtkPUtwKGQpfDB9aWYoTm8oYSwxMjIyNzcsMCwxKXwwKXtmPWErMTZ8MDtkPWNbZj4+Ml18MDtl
PWNbZCsxODQ+PjJdfDA7aWYoZSl7X0koZSk7ZD1jW2Y+PjJdfDB9ZT1jW2QrMjY4Pj4yXXwwO2lm
KGUpe19JKGUpO2Q9Y1tmPj4yXXwwfWU9Y1tkKzIxNj4+Ml18MDtpZihlKXtfSShlKTtkPWNbZj4+
Ml18MH1kbyBpZihjW2QrMTk2Pj4yXXwwKXtlPWJbZCsyMzY+PjFdfDA7d2hpbGUoMSl7aWYoKGV8
MCk+KGJbZCsyMzg+PjFdfDApKWJyZWFrO19JKGNbKGNbZCsxOTY+PjJdfDApKyhlPDw2KSsxMj4+
Ml18MCk7ZT1lKzF8MDtkPWNbZj4+Ml18MH1lPWNbZCsxOTY+PjJdfDA7aWYoKGJbZCsyMzY+PjFd
fDApPT0tMSl7X0koZSstNjR8MCk7YnJlYWt9ZWxzZXtfSShlKTticmVha319d2hpbGUoMCk7aWYo
KHNvKGEpfDApIT0oYXwwKSl7b3coY1soY1tmPj4yXXwwKSsxMj4+Ml18MCk7UG8oYSwxMjIyNzcp
fDB9fXJldHVybn1mdW5jdGlvbiBJZihhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTA7ZT1hKzE2fDA7
ZD1jW2U+PjJdfDA7Yj1jW2QrMTc2Pj4yXXwwO3doaWxlKDEpe2E9YistMXwwO2lmKChifDApPD0w
KWJyZWFrO2I9Y1soY1tkKzE3Mj4+Ml18MCkrKGE8PDIpPj4yXXwwO1hnKGIpO19JKGNbYisxNj4+
Ml18MCk7X0koYik7Yj1hO2Q9Y1tlPj4yXXwwfWI9Y1tkKzE4ND4+Ml18MDt3aGlsZSgxKXthPWIr
LTF8MDtpZigoYnwwKTw9MClicmVhaztiPWNbKGNbKGNbZT4+Ml18MCkrMTgwPj4yXXwwKSsoYTw8
Mik+PjJdfDA7WGcoYik7X0koY1tiKzE2Pj4yXXwwKTtfSShiKTtiPWF9cmV0dXJufWZ1bmN0aW9u
IEpmKGEpe2E9YXwwO2lmKG1uKGEpfDApS2YoYSk7JHgoYSk7cmV0dXJufWZ1bmN0aW9uIEtmKGEp
e2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTAsZz0wLGg9MDtoPWw7bD1sKzQ4fDA7Zz1oKzMyfDA7
Zj1oO2I9ZXQoYSwtMSw4KXwwO2Q9ZnQoYSwwLGYpfDA7ZHQoYSwyLDgsZil8MDtkPShkfDApPT0w
O2U9KGJ8MCk8MDtpZihlJmQpTGYoYSk7ZWxzZXtpZihkKWNbZisxNj4+Ml09MztlbHNlIGI9ZT84
OmI7Y1tmKzg+PjJdPWI7Y1tmKzIwPj4yXT0wO2U9QnMoYSxnLDApfDA7Yj1jW2c+PjJdfDA7ZG8g
aWYoKGJ8MCk9PTEpe0xmKGEpO2I9MH1lbHNle2lmKGNbKGNbKGNbYSsxNj4+Ml18MCkrOD4+Ml18
MCkrODQ+PjJdfDApe0xmKGEpO2I9MDticmVha31jW2YrMTI+PjJdPTE7ZD0wO3doaWxlKDEpe2lm
KChkfDApPj0oYnwwKSlicmVhaztiPWNbZSsoZDw8Mik+PjJdfDA7TWYoYixhKTtMZihiKTtkPWQr
MXwwO2I9Y1tnPj4yXXwwfU5mKGEpO2N0KGNbZz4+Ml18MCxlLGEsZil8MDtPZihhKTtQZihjW2c+
PjJdfDAsZSxhKTtiPTB9d2hpbGUoMCk7d2hpbGUoMSl7aWYoKGJ8MCk+PShjW2c+PjJdfDApKWJy
ZWFrO2Y9ZSsoYjw8Mil8MDtfSShjWyhjWyhjW2Y+PjJdfDApKzE2Pj4yXXwwKSs4Pj4yXXwwKTtI
ZihjW2Y+PjJdfDApO3FvKGEsY1tmPj4yXXwwKXwwO2I9YisxfDB9X0koZSl9bD1oO3JldHVybn1m
dW5jdGlvbiBMZihhKXthPWF8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxt
PTAsbj0wO209bDtsPWwrNDh8MDtrPW0rNDB8MDtlPW07aT1EQShhLHltKGEsMCw3Nzk0NCwwKXww
LC0xLDEpfDA7SUIoYSwxMCk7ZD15ayhhLGUpfDA7UmYoYSxhKTtCZihhKTtmPShpfDApPT0xO2c9
ZSszMnwwO2g9KGl8MCk9PTI7aT0oaXwwKT09MztqPWUrMjh8MDtlPWUrMjR8MDt3aGlsZSgxKXtr
aihhLGQpO2lmKGYpe2Q9MzticmVha31pZihjW2c+PjJdfDApe19sKDAsNzc5NTAsayl8MDtjW2U+
PjJdPTA7ZD0wfXVoKGEsKGR8MCkhPTAmMSk7aWYoaCl7ZD03O2JyZWFrfXhpKGEsZCk7aWYoaSl7
ZD05O2JyZWFrfW49KGNbaj4+Ml18MCkrLTF8MDtjW2o+PjJdPW47aWYoISgobnwwKSE9MCYoY1tl
Pj4yXXwwKSE9MCkpe2Q9MTE7YnJlYWt9fWlmKChkfDApPT0zKVNmKGEsMSk7ZWxzZSBpZigoZHww
KT09NylTZihhLDIpO2Vsc2UgaWYoKGR8MCk9PTkpU2YoYSwyKTtlbHNlIGlmKChkfDApPT0xMSl7
aWYoYlsoY1thKzE2Pj4yXXwwKSsxMzY+PjFdJjE2KVRmKGEpO2VrKGEpO1hmKGEpO2lmKChJQShJ
bShhLDc4MDQxKXwwKXwwKTw8MjQ+PjI0KV9rKGEpfWw9bTtyZXR1cm59ZnVuY3Rpb24gTWYoYixk
KXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MDtObyhiLDEyMjI3NywyODAsMSl8MDtlPXZ3KDk2KXww
O2I9Y1tiKzE2Pj4yXXwwO2NbYis4Pj4yXT1lO2Q9Y1tkKzE2Pj4yXXwwO2Y9Y1tkKzg+PjJdfDA7
aFtlPj4zXT0raFtmPj4zXTtoW2UrMjQ+PjNdPStoW2YrMjQ+PjNdO2NbYisxNDQ+PjJdPWNbZCsx
NDQ+PjJdO2FbYisxMTU+PjBdPWFbZCsxMTU+PjBdfDA7Y1tiKzExNj4+Ml09Y1tkKzExNj4+Ml07
Y1tiKzI0OD4+Ml09Y1tkKzI0OD4+Ml07Y1tiKzI1Mj4+Ml09Y1tkKzI1Mj4+Ml07Y1tiKzI0ND4+
Ml09Y1tkKzI0ND4+Ml07cmV0dXJufWZ1bmN0aW9uIE5mKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9
MDtiPXZ3KChtbihhKXwwKTw8NCl8MDtkPWNvKGEpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7ZT1j
W2QrMTY+PjJdfDA7Y1tlKzEzMj4+Ml09YjtoW2I+PjNdPStoW2UrMTY+PjNdKi4wMTM4ODg4ODg4
ODg4ODg4ODg7aFtiKzg+PjNdPStoW2UrMjQ+PjNdKi4wMTM4ODg4ODg4ODg4ODg4ODg7Yj1iKzE2
fDA7ZD1lbyhhLGQpfDB9cmV0dXJufWZ1bmN0aW9uIE9mKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9
MCxmPTA7ZT1jWyhjWyhjbyhhKXwwKSsxNj4+Ml18MCkrMTMyPj4yXXwwO2I9ZTtkPWNvKGEpfDA7
d2hpbGUoMSl7aWYoIWQpYnJlYWs7Zj1jW2QrMTY+PjJdfDA7Y1tmKzEzMj4+Ml09MDtoW2YrMTY+
PjNdPStoW2I+PjNdKjcyLjA7aFtmKzI0Pj4zXT0raFtiKzg+PjNdKjcyLjA7Yj1iKzE2fDA7ZD1l
byhhLGQpfDB9X0koZSk7cmV0dXJufWZ1bmN0aW9uIFBmKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8
MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MDtlPTA7Zj0wO3doaWxlKDEpe2lmKChlfDApPj0oYXww
KSlicmVhaztpPShjWyhjWyhjW2IrKGU8PDIpPj4yXXwwKSsxNj4+Ml18MCkrMTgwPj4yXXwwKStm
fDA7ZT1lKzF8MDtmPWl9aT1kKzE2fDA7Y1soY1tpPj4yXXwwKSsxODA+PjJdPWY7Zz12dygoZjw8
MikrNHwwKXwwO2NbKGNbaT4+Ml18MCkrMTg0Pj4yXT1nO2c9MDtlPTE7d2hpbGUoMSl7aWYoKGd8
MCk+PShhfDApKWJyZWFrO2g9KGNbYisoZzw8Mik+PjJdfDApKzE2fDA7Zj0xO3doaWxlKDEpe2Q9
Y1toPj4yXXwwO2lmKChmfDApPihjW2QrMTgwPj4yXXwwKSlicmVhaztkPUFzKGNbKGNbZCsxODQ+
PjJdfDApKyhmPDwyKT4+Ml18MCl8MDtjWyhjWyhjW2k+PjJdfDApKzE4ND4+Ml18MCkrKGU8PDIp
Pj4yXT1kO1FmKGNbKGNbKGNbaD4+Ml18MCkrMTg0Pj4yXXwwKSsoZjw8Mik+PjJdfDAsZCk7Zj1m
KzF8MDtlPWUrMXwwfWc9ZysxfDB9cmV0dXJufWZ1bmN0aW9uIFFmKGIsZCl7Yj1ifDA7ZD1kfDA7
dmFyIGU9MCxmPTAsZz0wO05vKGQsMTIyMjc3LDI4MCwxKXwwO2c9ZCsxNnwwO2Q9KGNbZz4+Ml18
MCkrMTZ8MDtmPWIrMTZ8MDtiPShjW2Y+PjJdfDApKzE2fDA7Y1tkPj4yXT1jW2I+PjJdO2NbZCs0
Pj4yXT1jW2IrND4+Ml07Y1tkKzg+PjJdPWNbYis4Pj4yXTtjW2QrMTI+PjJdPWNbYisxMj4+Ml07
Y1tkKzE2Pj4yXT1jW2IrMTY+PjJdO2NbZCsyMD4+Ml09Y1tiKzIwPj4yXTtjW2QrMjQ+PjJdPWNb
YisyND4+Ml07Y1tkKzI4Pj4yXT1jW2IrMjg+PjJdO2I9Y1tmPj4yXXwwO2Q9Y1tnPj4yXXwwO2Fb
ZCsyNzU+PjBdPWFbYisyNzU+PjBdfDA7ZD1kKzQ4fDA7Yj1iKzQ4fDA7ZT1kKzY0fDA7ZG97Y1tk
Pj4yXT1jW2I+PjJdO2Q9ZCs0fDA7Yj1iKzR8MH13aGlsZSgoZHwwKTwoZXwwKSk7Yj1jWyhjW2Y+
PjJdfDApKzE4MD4+Ml18MDtjWyhjW2c+PjJdfDApKzE4MD4+Ml09YjtkPXZ3KChiPDwyKSs0fDAp
fDA7Y1soY1tnPj4yXXwwKSsxODQ+PjJdPWQ7ZD0xO3doaWxlKDEpe2U9Y1tmPj4yXXwwO2lmKChk
fDApPihifDApKWJyZWFrO2U9QXMoY1soY1tlKzE4ND4+Ml18MCkrKGQ8PDIpPj4yXXwwKXwwO2Nb
KGNbKGNbZz4+Ml18MCkrMTg0Pj4yXXwwKSsoZDw8Mik+PjJdPWU7UWYoY1soY1soY1tmPj4yXXww
KSsxODQ+PjJdfDApKyhkPDwyKT4+Ml18MCxlKTtkPWQrMXwwfWY9ZSsxMnwwO2NbKGNbZz4+Ml18
MCkrMTI+PjJdPWNbZj4+Ml07Y1tmPj4yXT0wO3JldHVybn1mdW5jdGlvbiBSZihhLGIpe2E9YXww
O2I9YnwwO2lmKChzbyhhKXwwKSE9KGF8MCkpTm8oYSwxMjIyNzcsMjgwLDEpfDA7aWYoKGF8MCk9
PShifDApKWNbKGNbKHNvKGEpfDApKzE2Pj4yXXwwKSsxODg+PjJdPWE7YT1KcChhKXwwO3doaWxl
KDEpe2lmKCFhKWJyZWFrO1JmKGEsYik7YT1LcChhKXwwfXJldHVybn1mdW5jdGlvbiBTZihhLGIp
e2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MDttPWw7
bD1sKzEwNDB8MDtrPW0rOHwwO2o9bTtlPW0rMTZ8MDtmPXltKGEsMSw4MDAxOCwxNzQxODEpfDA7
Zz15bShhLDEsNzgwODQsMTc0MTgxKXwwO2g9KGJ8MCk+MDtkPShifDApPT0xO2I9Y28oYSl8MDt3
aGlsZSgxKXtpZighYilicmVhaztpZihoPyhpPWIrMTZ8MCxjW2o+PjJdPWNbKGNbaT4+Ml18MCkr
MjMyPj4yXSxwTChlLDEyMjE4NyxqKXwwLENtKGIsZixlKXwwLCFkKTowKXtjW2s+PjJdPWNbKGNb
aT4+Ml18MCkrMjM2Pj4yXTtwTChlLDEyMjE4NyxrKXwwO0NtKGIsZyxlKXwwfWI9ZW8oYSxiKXww
fWw9bTtyZXR1cm59ZnVuY3Rpb24gVGYoYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO2M9SXAoYSw3
OTUyMiwwKXwwO2lmKGN8MCl7Yj1jbyhjKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFrO2Q9ZW8oYyxi
KXwwO2RoKGEsYik7VWYoYSxiKTtHZihiKTtwbyhhLGIpfDA7Yj1kfU1wKGEsYyl8MH1yZXR1cm59
ZnVuY3Rpb24gVWYoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAs
aj0wO2o9Y1soY1tiKzE2Pj4yXXwwKSsyMzI+PjJdfDA7aT1hKzE2fDA7YT1jWyhjW2k+PjJdfDAp
KzE5Nj4+Ml18MDtkPWNbYSsoajw8Nik+PjJdfDA7aD1hKyhqPDw2KSs0fDA7Zz0wO2U9MDt3aGls
ZSgxKXtpZigoZXwwKT49KGR8MCkpe2Y9NzticmVha31mPWNbKGNbaD4+Ml18MCkrKGU8PDIpPj4y
XXwwO2U9ZSsxfDA7aWYoKGZ8MCk9PShifDApKXtmPTQ7YnJlYWt9ZWxzZSBnPWZ9aWYoKGZ8MCk9
PTQpe3doaWxlKDEpe2lmKChlfDApPj0oZHwwKSlicmVhaztmPWNbYSsoajw8NikrND4+Ml18MDtj
W2YrKGUrLTE8PDIpPj4yXT1jW2YrKGU8PDIpPj4yXTtmPWNbKGNbaT4+Ml18MCkrMTk2Pj4yXXww
O2U9ZSsxfDA7ZD1jW2YrKGo8PDYpPj4yXXwwO2E9ZjtmPTR9Y1thKyhqPDw2KT4+Ml09ZCstMX1l
bHNlIGlmKChmfDApPT03PyhnfDApIT0oYnwwKTowKW1hKDc4MDUwLDc4MDU3LDI0OCw3ODA2Nyk7
cmV0dXJufWZ1bmN0aW9uIFZmKGEpe2E9YXwwO3JldHVybiBjWyhjWyhzbyhhKXwwKSsxNj4+Ml18
MCkrMTg4Pj4yXXwwfWZ1bmN0aW9uIFdmKGIsYyl7Yj1ifDA7Yz1jfDA7dmFyIGQ9MDtkPWFbYisy
OD4+MF18MDtpZihhW2MrMjg+PjBdfDApaWYoZDw8MjQ+PjI0KXtkPX5+KCtoW2I+PjNdLStoW2M+
PjNdKTtpZighZClkPX5+KCtoW2IrOD4+M10tK2hbYys4Pj4zXSl9ZWxzZSBkPS0xO2Vsc2UgZD1k
PDwyND4+MjQhPTAmMTtyZXR1cm4gZHwwfWZ1bmN0aW9uIFhmKGEpe2E9YXwwO1lmKGEsMSk7cmV0
dXJufWZ1bmN0aW9uIFlmKGQsZSl7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaT0wLGo9MCxrPTAs
bT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLjAsej0w
LEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAs
Tz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wLFk9MCxaPTAsXz0wLjA7Wj1s
O2w9bCs2NTZ8MDtPPVorNTkyfDA7Tj1aKzU1MnwwO2Y9Wis1NDR8MDtUPVorOTZ8MDtVPVo7WT1a
KzYzMnwwO1Y9ZCsxNnwwO1g9YlsoY1tWPj4yXXwwKSsxMzY+PjFdJjE0O1A9WCY2NTUzNTtRPVQr
MTZ8MDtjW1E+PjJdPVorMzY4O1I9VSsxNnwwO2NbUj4+Ml09WisxOTI7ZG8gaWYoWDw8MTY+PjE2
KXtTPVg8PDE2Pj4xNj09NDtkbyBpZihTKXtaZihkKTtpZighKGFbKGNbKGNbZCs2MD4+Ml18MCkr
MTY+PjJdfDApKzExMz4+MF0mMSkpQT05O2Vsc2V7X2woMCw3ODA5MCxmKXwwO0E9OX19ZWxzZSBp
ZihYPDwxNj4+MTY9PTgpe1pmKGQpO2lmKCEoYVsoY1soY1tkKzYwPj4yXXwwKSsxNj4+Ml18MCkr
MTEzPj4wXSYxKSl7TEIoZCwwKTtuPTA7bT0wO2s9MDticmVha31lbHNle19mKGQpO0xCKGQsMSk7
bj0wO209MDtrPTA7YnJlYWt9fWVsc2UgQT05O3doaWxlKDApO2lmKChBfDApPT05KXtZayhkKTtp
ZihseSgpfDApYnJlYWs7Vz12dyg5Nil8MDtLPWNbKGNbVj4+Ml18MCkrMjQ4Pj4yXXwwO2NbWSs4
Pj4yXT0oS3wwKS80fDA7Y1tZKzEyPj4yXT1LO2s9dncoNTEyKXwwO0Y9WSs0fDA7Y1tGPj4yXT0w
O2NbWT4+Ml09MDtqPWNbVj4+Ml18MDtDPWJbaisyMzY+PjFdfDA7RD0wO0w9MDtNPWs7RT1rO209
aztuPWs7bz1rO0g9MDtJPTA7YTp3aGlsZSgxKXtpZigoQ3wwKT4oYltqKzIzOD4+MV18MCkpYnJl
YWs7cD1jW2orMTk2Pj4yXXwwO2k9Y1twKyhDPDw2KT4+Ml18MDtHPWkrRHwwO2c9Y1twKyhDPDw2
KSs0Pj4yXXwwO2Y9Y1tnPj4yXXwwO2lmKCFmKWY9SDtlbHNle189KyhIfDApO2Y9Y1tmKzE2Pj4y
XXwwO3k9K2hbZisxNj4+M10tK2hbZis4OD4+M107Zj1+fih5Pl8/Xzp5KX1pZigoaXwwKSE9MD8o
Sj1jW2crKGkrLTE8PDIpPj4yXXwwLChKfDApIT0wKTowKXt5PSsoSXwwKTtnPWNbSisxNj4+Ml18
MDtfPStoW2crOTY+PjNdKyAraFtnKzE2Pj4zXTtnPX5+KF88eT95Ol8pfWVsc2UgZz1JO0I9Zist
MTZ8MDt6PWcrMTZ8MDt4PTA7dD1MO3I9TTtxPWo7dT1FO3Y9bTtnPWs7Zj1wO3doaWxlKDEpe2lm
KCh4fDApPj0oaXwwKSlicmVhaztrPWNbKGNbZisoQzw8NikrND4+Ml18MCkrKHg8PDIpPj4yXXww
O3c9aysxNnwwO2Y9Y1t3Pj4yXXwwO2k9Y1tmKzExMj4+Ml18MDtpZihpKXtpPWkrMTZ8MDtqPWNb
KGNbaT4+Ml18MCkrOTY+PjJdfDA7aWYoIWope0E9MjE7YnJlYWsgYX1zPWorNTZ8MDtmPWYrMTZ8
MDtjW3M+PjJdPWNbZj4+Ml07Y1tzKzQ+PjJdPWNbZis0Pj4yXTtjW3MrOD4+Ml09Y1tmKzg+PjJd
O2NbcysxMj4+Ml09Y1tmKzEyPj4yXTthWyhjWyhjW2k+PjJdfDApKzk2Pj4yXXwwKSs4MT4+MF09
MTtmPWNbdz4+Ml18MH1pZigoYVtmKzE1Nj4+MF18MCkhPTA/KCRhW2NbMTcyMjg+PjJdJjMxXShr
KXwwKTw8MjQ+PjI0PT0wOjApe3E9dDtmPXI7aj11O2s9djtpPW99ZWxzZXtzPTA7cT10O2o9dTtr
PXY7QT0yNX1iOmRvIGlmKChBfDApPT0yNSl7d2hpbGUoMSl7QT0wO3A9Y1t3Pj4yXXwwO2k9Y1so
Y1twKzE4MD4+Ml18MCkrKHM8PDIpPj4yXXwwO2lmKCFpKWJyZWFrO3N3aXRjaChhWyhjW2krMTY+
PjJdfDApKzExMj4+MF18MCl7Y2FzZSA2OmNhc2UgNDp7Zj1xO2k9cjticmVha31kZWZhdWx0Onsk
ZihpLDEsMTYsNjQpO2Y9cSsxfDA7Y1tyKyhxPDwyKT4+Ml09aTtpZighKGYmMTI3KSl7Zz15dyhn
LChxPDwyKSs1MTZ8MCl8MDtpPWc7aj1nO2s9ZztuPWc7bz1nfWVsc2UgaT1yfX1zPXMrMXwwO3E9
ZjtyPWk7QT0yNX1mPWNbcCsxODg+PjJdfDA7YzpkbyBpZighZilpPW87ZWxzZXtzPTA7aT1vO3do
aWxlKDEpe2Y9Y1tmKyhzPDwyKT4+Ml18MDtpZighZilicmVhayBjOyRmKGYsMiwwLDEyOCk7bz1x
KzF8MDtjW3IrKHE8PDIpPj4yXT1mO2lmKCEobyYxMjcpKXtnPXl3KGksKHE8PDIpKzUxNnwwKXww
O2Y9ZztqPWc7az1nO249ZztpPWd9ZWxzZSBmPXI7cD1jW3c+PjJdfDA7cz1zKzF8MDtxPW87cj1m
O2Y9Y1twKzE4OD4+Ml18MH19d2hpbGUoMCk7Zj1jW3ArMjA0Pj4yXXwwO2lmKCFmKWY9cjtlbHNl
e2lmKCEoYVtwKzE1Nj4+MF18MCkpe3Y9cCs5NnwwO189K2hbdj4+M107cz1wKzI0MHwwO2hbdj4+
M109K2hbcz4+M107aFtzPj4zXT1fO3M9MDtwPXJ9ZWxzZXtzPTA7cD1yfXdoaWxlKDEpe2Y9Y1tm
KyhzPDwyKT4+Ml18MDtpZighZil7Zj1wO2JyZWFrIGJ9JGYoZiwwLDAsMTI4KTtvPXErMXwwO2Nb
cCsocTw8Mik+PjJdPWY7aWYoIShvJjEyNykpe2c9eXcobiwocTw8MikrNTE2fDApfDA7Zj1nO2o9
ZztrPWc7bj1nO2k9Z31lbHNlIGY9cDtzPXMrMXwwO3E9bztwPWY7Zj1jWyhjW3c+PjJdfDApKzIw
ND4+Ml18MH19fXdoaWxlKDApO3U9Y1tWPj4yXXwwO3c9Y1t1KzE5Nj4+Ml18MDt4PXgrMXwwO3Q9
cTtyPWY7cT11O3U9ajt2PWs7bz1pO2k9Y1t3KyhDPDw2KT4+Ml18MDtmPXd9Qz1DKzF8MDtEPUc7
TD10O009cjtFPXU7aj1xO209djtrPWc7SD1CO0k9en1pZigoQXwwKT09MjEpbWEoNzgxNTgsNzgx
NzEsMzEzLDc4MTg0KTtjW1k+PjJdPUg7Y1tGPj4yXT1JO3JMKEUsTCw0LDEwKTtjW1crODQ+PjJd
PXZ3KChEPDw1KSsxMTUyMHwwKXwwO2NbWSsxNj4+Ml09dncoQzw8NSl8MDtkOmRvIGlmKFg8PDE2
Pj4xNj09Mil7Zj0oY1tWPj4yXXwwKSsxOTJ8MDt3aGlsZSgxKXtnPWNbZj4+Ml18MDtpZighZyli
cmVhayBkO2k9ZysxNnwwO2Y9Y1tpPj4yXXwwO2lmKChhW2YrMTU2Pj4wXXwwKT09MT8oY1tmKzEw
ND4+Ml18MCkhPTA6MCl7YmcoZyk7Zj1jW2k+PjJdfDB9Zj1mKzE2NHwwfX13aGlsZSgwKTt6PVUr
NDh8MDtBPVUrLTQ4fDA7Qj1UKzQ4fDA7Qz1UKy00OHwwO3k9KyhLfDApO3g9MDtlOndoaWxlKDEp
e2lmKCh4fDApPj0oTHwwKSlicmVhazt2PU0rKHg8PDIpfDA7cj1jW3Y+PjJdfDA7cz1jZyhyKXww
O3Q9cisxNnwwO2c9Y1t0Pj4yXXwwO2lmKCEoYVtnKzQ0Pj4wXXwwKSl7Zz0oYVtnKzg0Pj4wXXww
KT09MD9zOnI7Zj1nO2c9Y1tnKzE2Pj4yXXwwfWVsc2UgZj1yO2k9ZisxNnwwO2lmKGNbZysxNjQ+
PjJdJjMyKXtnPWNbUT4+Ml18MDtUTihnfDAsY1tpPj4yXXwwLDE3Nil8MDtuPVQ7bz1mO3A9bis0
OHwwO2Rve2Nbbj4+Ml09Y1tvPj4yXTtuPW4rNHwwO289bys0fDB9d2hpbGUoKG58MCk8KHB8MCkp
O2NbUT4+Ml09ZztvPWNbZj4+Ml0mMztuPWNbVD4+Ml0mMztjWygobnwwKT09Mz9UOkIpKzQwPj4y
XT1jWygob3wwKT09Mj9mOmYrLTQ4fDApKzQwPj4yXTtjWygobnwwKT09Mj9UOkMpKzQwPj4yXT1j
Wygob3wwKT09Mz9mOmYrNDh8MCkrNDA+PjJdO249ZysxNnwwO289KGNbaT4+Ml18MCkrNTZ8MDtw
PW4rNDB8MDtkb3tjW24+PjJdPWNbbz4+Ml07bj1uKzR8MDtvPW8rNHwwfXdoaWxlKChufDApPChw
fDApKTtuPWcrNTZ8MDtvPShjW2k+PjJdfDApKzE2fDA7cD1uKzQwfDA7ZG97Y1tuPj4yXT1jW28+
PjJdO249bis0fDA7bz1vKzR8MH13aGlsZSgobnwwKTwocHwwKSk7YVtnKzExMj4+MF09MTtjW2cr
MTE2Pj4yXT1mO2Y9VH1xPWYrMTZ8MDt3PTE7Zj14O3doaWxlKDEpe3U9ZisxfDA7aWYoKHV8MCk+
PShMfDApKWJyZWFrO2o9TSsodTw8Mil8MDtmPWNbaj4+Ml18MDtpZigoc3wwKSE9KGNnKGYpfDAp
KWJyZWFrO2lmKCEoYVsoY1t0Pj4yXXwwKSsxMTM+PjBdfDApKXtrPWYrMTZ8MDtnPWNbaz4+Ml18
MDtpZighKGFbZys0ND4+MF18MCkpe2c9KGFbZys4ND4+MF18MCk9PTA/czpmO2Y9ZztnPWNbZysx
Nj4+Ml18MH1pPWYrMTZ8MDtpZihjW2crMTY0Pj4yXSYzMil7Zz1jW1I+PjJdfDA7VE4oZ3wwLGNb
aT4+Ml18MCwxNzYpfDA7bj1VO289ZjtwPW4rNDh8MDtkb3tjW24+PjJdPWNbbz4+Ml07bj1uKzR8
MDtvPW8rNHwwfXdoaWxlKChufDApPChwfDApKTtjW1I+PjJdPWc7bz1jW2Y+PjJdJjM7bj1jW1U+
PjJdJjM7Y1soKG58MCk9PTM/VTp6KSs0MD4+Ml09Y1soKG98MCk9PTI/ZjpmKy00OHwwKSs0MD4+
Ml07Y1soKG58MCk9PTI/VTpBKSs0MD4+Ml09Y1soKG98MCk9PTM/ZjpmKzQ4fDApKzQwPj4yXTtu
PWcrMTZ8MDtvPShjW2k+PjJdfDApKzU2fDA7cD1uKzQwfDA7ZG97Y1tuPj4yXT1jW28+PjJdO249
bis0fDA7bz1vKzR8MH13aGlsZSgobnwwKTwocHwwKSk7bj1nKzU2fDA7bz0oY1tpPj4yXXwwKSsx
NnwwO3A9bis0MHwwO2Rve2Nbbj4+Ml09Y1tvPj4yXTtuPW4rNHwwO289bys0fDB9d2hpbGUoKG58
MCk8KHB8MCkpO2FbZysxMTI+PjBdPTE7Y1tnKzExNj4+Ml09Zn1pPWNbcT4+Ml18MDtmPWcrMTZ8
MDtuPU47bz1pKzE2fDA7cD1uKzQwfDA7ZG97Y1tuPj4yXT1jW28+PjJdO249bis0fDA7bz1vKzR8
MH13aGlsZSgobnwwKTwocHwwKSk7bj1PO289ZjtwPW4rNDB8MDtkb3tjW24+PjJdPWNbbz4+Ml07
bj1uKzR8MDtvPW8rNHwwfXdoaWxlKChufDApPChwfDApKTtpZihXZihOLE8pfDApYnJlYWs7Zj1n
KzU2fDA7bj1OO289aSs1NnwwO3A9bis0MHwwO2Rve2Nbbj4+Ml09Y1tvPj4yXTtuPW4rNHwwO289
bys0fDB9d2hpbGUoKG58MCk8KHB8MCkpO249TztvPWY7cD1uKzQwfDA7ZG97Y1tuPj4yXT1jW28+
PjJdO249bis0fDA7bz1vKzR8MH13aGlsZSgobnwwKTwocHwwKSk7aWYoV2YoTixPKXwwKWJyZWFr
O0s9Y1t0Pj4yXXwwO2lmKChjW0srMTY0Pj4yXSYxNXwwKT09Mj8oY1tLKzk2Pj4yXXwwKSE9KGNb
KGNbaz4+Ml18MCkrOTY+PjJdfDApOjApYnJlYWs7aWYoY1soY1soY1tqPj4yXXwwKSsxNj4+Ml18
MCkrMTY0Pj4yXSY2NHwwKWJyZWFrfXc9dysxfDA7Zj11fWlmKFMpe2lmKCh3fDApPT0xKWY9Tztl
bHNlIGY9dncodzw8Mil8MDtjW2Y+PjJdPWNnKGNbdj4+Ml18MCl8MDtnPTE7d2hpbGUoMSl7aWYo
KGd8MCk+PSh3fDApKWJyZWFrO2NbZisoZzw8Mik+PjJdPWNbdisoZzw8Mik+PjJdO2c9ZysxfDB9
dXkoZCxmLHcsUCwxNzIyNCk7aWYoKHd8MCk+MSlfSShmKTt4PXU7Y29udGludWV9Zj1jW3I+PjJd
JjM7Sz1jWygoZnwwKT09Mz9yOnIrNDh8MCkrNDA+PjJdfDA7Zj1jWygoZnwwKT09Mj9yOnIrLTQ4
fDApKzQwPj4yXXwwO2c9Y1tLKzE2Pj4yXXwwO2k9Y1tnKzIzMj4+Ml18MDtpZigoS3wwKSE9KGZ8
MCkpaWYoKGl8MCk9PShjWyhjW2YrMTY+PjJdfDApKzIzMj4+Ml18MCkpe2RnKGQsWSxXLE0seCx3
LFApO3g9dTtjb250aW51ZX1lbHNle2VnKGQsWSxXLE0seCx3LFApO3g9dTtjb250aW51ZX1mPWNb
Vj4+Ml18MDtkbyBpZigoaXwwKT09KGJbZisyMzg+PjFdfDApKWlmKChpfDApPjApe2Y9fn4oK2hb
KGNbKGNbY1soY1tmKzE5Nj4+Ml18MCkrKGkrLTE8PDYpKzQ+PjJdPj4yXXwwKSsxNj4+Ml18MCkr
MjQ+PjNdLStoW2crMjQ+PjNdKTticmVha31lbHNle2Y9fn4raFtnKzgwPj4zXTticmVha31lbHNl
IGlmKChpfDApPT0oYltmKzIzNj4+MV18MCkpe2Y9fn4oK2hbZysyND4+M10tK2hbKGNbKGNbY1so
Y1tmKzE5Nj4+Ml18MCkrKGkrMTw8NikrND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyND4+M10pO2Jy
ZWFrfWVsc2V7Zj1jW2YrMTk2Pj4yXXwwO189K2hbZysyND4+M107Sz1+figraFsoY1soY1tjW2Yr
KGkrLTE8PDYpKzQ+PjJdPj4yXXwwKSsxNj4+Ml18MCkrMjQ+PjNdLV8pO2Y9fn4oXy0raFsoY1so
Y1tjW2YrKGkrMTw8NikrND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyND4+M10pO2Y9KEt8MCk8KGZ8
MCk/SzpmO2JyZWFrfXdoaWxlKDApO1J6KFcsTSx4LHcseSwrKChmfDApLzJ8MHwwKSwxNzIyNCk7
Zj0wO3doaWxlKDEpe2lmKChmfDApPj0od3wwKSl7eD11O2NvbnRpbnVlIGV9Zz1jWyhjWyhjW00r
KGYreDw8Mik+PjJdfDApKzE2Pj4yXXwwKSs5Nj4+Ml18MDtpZihnfDApYkIoZCxnKTtmPWYrMXww
fX1mPShjW1Y+PjJdfDApKzE5MnwwO3doaWxlKDEpe2c9Y1tmPj4yXXwwO2lmKCFnKWJyZWFrO2k9
ZysxNnwwO2Y9Y1tpPj4yXXwwO2lmKChhW2YrMTU2Pj4wXXwwKT09MT8oY1tmKzEwND4+Ml18MCkh
PTA6MCl7YmcoZyk7YkIoZCxjWyhjW2k+PjJdfDApKzEwND4+Ml18MCk7Zj1jW2k+PjJdfDB9Zj1m
KzE2NHwwfWlmKCFlKXtuPVc7az1XfWVsc2V7ZmcoZCk7bj1XO2s9V319ZjpkbyBpZigoY1s0MjI0
MV18MCkhPTB8KGNbNDIyNDJdfDApIT0wPyhjWzQyMjQ3XXwwKSE9MHwoY1s0MjI0Nl18MCkhPTA6
MCl7aj1jbyhkKXwwO3doaWxlKDEpe2lmKCFqKWJyZWFrIGY7ZzpkbyBpZihjWzQyMjQxXXwwKXtm
PVNtKGQsail8MDt3aGlsZSgxKXtpZighZilicmVhayBnO2c9ZistNDh8MDtpPShjW2Y+PjJdJjN8
MCk9PTI/ZjpnO2lmKGNbKGNbaSsxNj4+Ml18MCkrMTAwPj4yXXwwKXtaeihpLDEpfDA7YkIoZCxj
WyhjWygoY1tmPj4yXSYzfDApPT0yP2Y6ZykrMTY+PjJdfDApKzEwMD4+Ml18MCl9Zj1UbShkLGYp
fDB9fXdoaWxlKDApO2g6ZG8gaWYoY1s0MjI0Ml18MCl7Zj1QbShkLGopfDA7d2hpbGUoMSl7aWYo
IWYpYnJlYWsgaDtnPWYrMTZ8MDtpZihjWyhjW2c+PjJdfDApKzEwND4+Ml18MD9aeihmLDApfDA6
MCliQihkLGNbKGNbZz4+Ml18MCkrMTA0Pj4yXXwwKTtmPVJtKGQsZil8MH19d2hpbGUoMCk7aj1l
byhkLGopfDB9fXdoaWxlKDApO3N3aXRjaChYJjE1KXtjYXNlIDQ6Y2FzZSA4OmJyZWFrO2RlZmF1
bHQ6e19JKG0pO19JKGNbbis4ND4+Ml18MCk7X0koayk7X0koY1tZKzE2Pj4yXXwwKTtteSgpfX1j
WzQyMTgxXT0xO2NbNDIxODJdPTF9d2hpbGUoMCk7bD1aO3JldHVybn1mdW5jdGlvbiBaZihhKXth
PWF8MDt2YXIgYj0wLGQ9MCxlPTAuMCxmPTA7Yj1jbyhhKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFr
O2Q9Y1tiKzE2Pj4yXXwwO2lmKGNbZCsyMDQ+PjJdfDApe2Y9ZCs5NnwwO2U9K2hbZj4+M107ZD1k
KzI0MHwwO2hbZj4+M109K2hbZD4+M107aFtkPj4zXT1lfWI9ZW8oYSxiKXwwfXJldHVybn1mdW5j
dGlvbiBfZihiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wO2Q9KGNbYisxNj4+Ml18MCkrMTky
fDA7YTp3aGlsZSgxKXtmPWNbZD4+Ml18MDtpZighZil7ZD0xMjticmVha31nPWYrMTZ8MDtkPWNb
Zz4+Ml18MDtkbyBpZigoYVtkKzE1Nj4+MF18MCk9PTEpe2U9Y1tkKzExMj4+Ml18MDtpZighZSl7
ZT1jW2QrMTA0Pj4yXXwwO2lmKCFlKWJyZWFrO2JnKGYpO2Q9ZX1lbHNle2U9Y1soY1tlKzE2Pj4y
XXwwKSs5Nj4+Ml18MDtpZighZSl7ZD02O2JyZWFrIGF9Zj1lKzU2fDA7ZD1kKzE2fDA7Y1tmPj4y
XT1jW2Q+PjJdO2NbZis0Pj4yXT1jW2QrND4+Ml07Y1tmKzg+PjJdPWNbZCs4Pj4yXTtjW2YrMTI+
PjJdPWNbZCsxMj4+Ml07YVtlKzgxPj4wXT0xO2Q9ZX1iQihiLGQpO2Q9Y1tnPj4yXXwwfXdoaWxl
KDApO2Q9ZCsxNjR8MH1pZigoZHwwKT09NiltYSg3ODM1OCw3ODE3MSwyMzQsNzgzNzcpO2Vsc2Ug
aWYoKGR8MCk9PTEyKXJldHVybn1mdW5jdGlvbiAkZihiLGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8
MDtmPWZ8MDt2YXIgZz0wO2RvIGlmKCFkKXtnPWNbYj4+Ml0mMztkPWNbKChnfDApPT0zP2I6Yis0
OHwwKSs0MD4+Ml18MDtnPWNbKChnfDApPT0yP2I6YistNDh8MCkrNDA+PjJdfDA7aWYoKGR8MCkh
PShnfDApKXtkPShjWyhjW2QrMTY+PjJdfDApKzIzMj4+Ml18MCk9PShjWyhjW2crMTY+PjJdfDAp
KzIzMj4+Ml18MCk/MjoxO2JyZWFrfWQ9Y1tiKzE2Pj4yXXwwO2lmKCEoYVtkKzQ0Pj4wXXwwKSlk
PShhW2QrODQ+PjBdfDApPT0wPzg6NDtlbHNlIGQ9NH13aGlsZSgwKTthOmRvIGlmKCFlKXN3aXRj
aChkfDApe2Nhc2UgMTp7ZT1jW2I+PjJdJjM7ZT0oY1soY1soY1soKGV8MCk9PTM/YjpiKzQ4fDAp
KzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKTwoY1soY1soY1soKGV8MCk9PTI/YjpiKy00
OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCk/MTY6MzI7YnJlYWsgYX1jYXNlIDI6
e2U9Y1tiPj4yXSYzO2U9KGNbKGNbKGNbKChlfDApPT0zP2I6Yis0OHwwKSs0MD4+Ml18MCkrMTY+
PjJdfDApKzIzNj4+Ml18MCk8KGNbKGNbKGNbKChlfDApPT0yP2I6YistNDh8MCkrNDA+PjJdfDAp
KzE2Pj4yXXwwKSsyMzY+PjJdfDApPzE2OjMyO2JyZWFrIGF9ZGVmYXVsdDp7ZT0xNjticmVhayBh
fX13aGlsZSgwKTtjWyhjW2IrMTY+PjJdfDApKzE2ND4+Ml09ZHxmfGU7cmV0dXJufWZ1bmN0aW9u
IGFnKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGk9MCxqPTAsaz0wLG09MCxuPTAs
bz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxD
PTAsRD0wO0Q9bDtsPWwrNjI0fDA7ej1EKzU4NHwwO3k9RCs1NDR8MDtzPUQrMzY4fDA7ZT1EKzE5
MnwwO3Q9RCs5NnwwO3Y9RDt1PXQrMTZ8MDtjW3U+PjJdPXM7dz12KzE2fDA7Y1t3Pj4yXT1lO0M9
Y1tiPj4yXXwwO0I9Y1tkPj4yXXwwO3g9QysxNnwwO3E9Y1t4Pj4yXXwwO2Q9Y1txKzE2ND4+Ml18
MDtmPWQmMTU7QT1CKzE2fDA7Yj1jW0E+PjJdfDA7Zz1jW2IrMTY0Pj4yXSYxNTtkbyBpZigoZ3ww
KT09KGZ8MCkpe3A9Y2coQyl8MDtyPWNnKEIpfDA7bj1jW3A+PjJdfDA7Zz1uJjM7Zj1jWyhjWygo
Z3wwKT09Mz9wOnArNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwO2c9Y1soY1soKGd8MCk9PTI/cDpw
Ky00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDA7aT0oY1tmKzIzMj4+Ml18MCktKGNbZysyMzI+PjJd
fDApfDA7bz1jW3I+PjJdfDA7bT1vJjM7az1jWyhjWygobXwwKT09Mz9yOnIrNDh8MCkrNDA+PjJd
fDApKzE2Pj4yXXwwO209Y1soY1soKG18MCk9PTI/cjpyKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJd
fDA7aj0oY1trKzIzMj4+Ml18MCktKGNbbSsyMzI+PjJdfDApfDA7aT0oaXwwKT4tMT9pOjAtaXww
O2o9KGp8MCk+LTE/ajowLWp8MDtpZigoaXwwKSE9KGp8MCkpe2I9aS1qfDA7YnJlYWt9Zz1+figr
aFtmKzE2Pj4zXS0raFtnKzE2Pj4zXSk7Zz0oZ3wwKT4tMT9nOjAtZ3wwO2Y9fn4oK2hbaysxNj4+
M10tK2hbbSsxNj4+M10pO2Y9KGZ8MCk+LTE/ZjowLWZ8MDtpZigoZ3wwKSE9KGZ8MCkpe2I9Zy1m
fDA7YnJlYWt9Zz1uPj4+NDtmPW8+Pj40O2lmKChnfDApIT0oZnwwKSl7Yj1nLWZ8MDticmVha31p
ZighKGFbcSs0ND4+MF18MCkpe2Q9KGFbcSs4ND4+MF18MCk9PTA/cDpDO2c9ZDtkPWNbKGNbZCsx
Nj4+Ml18MCkrMTY0Pj4yXXwwfWVsc2UgZz1DO2Y9ZysxNnwwO2lmKGQmMzIpe1ROKHN8MCxjW2Y+
PjJdfDAsMTc2KXwwO2k9dDtqPWc7az1pKzQ4fDA7ZG97Y1tpPj4yXT1jW2o+PjJdO2k9aSs0fDA7
aj1qKzR8MH13aGlsZSgoaXwwKTwoa3wwKSk7Y1t1Pj4yXT1zO2o9Y1tnPj4yXSYzO2k9Y1t0Pj4y
XSYzO2NbKChpfDApPT0zP3Q6dCs0OHwwKSs0MD4+Ml09Y1soKGp8MCk9PTI/ZzpnKy00OHwwKSs0
MD4+Ml07Y1soKGl8MCk9PTI/dDp0Ky00OHwwKSs0MD4+Ml09Y1soKGp8MCk9PTM/ZzpnKzQ4fDAp
KzQwPj4yXTtpPXMrMTZ8MDtqPShjW2Y+PjJdfDApKzU2fDA7az1pKzQwfDA7ZG97Y1tpPj4yXT1j
W2o+PjJdO2k9aSs0fDA7aj1qKzR8MH13aGlsZSgoaXwwKTwoa3wwKSk7aT1zKzU2fDA7aj0oY1tm
Pj4yXXwwKSsxNnwwO2s9aSs0MHwwO2Rve2NbaT4+Ml09Y1tqPj4yXTtpPWkrNHwwO2o9ais0fDB9
d2hpbGUoKGl8MCk8KGt8MCkpO2FbcysxMTI+PjBdPTE7Y1tzKzExNj4+Ml09ZztnPXQ7Yj1jW0E+
PjJdfDB9aWYoIShhW2IrNDQ+PjBdfDApKXtiPShhW2IrODQ+PjBdfDApPT0wP3I6QjtmPWI7Yj1j
W2IrMTY+PjJdfDB9ZWxzZSBmPUI7ZD1mKzE2fDA7aWYoIShjW2IrMTY0Pj4yXSYzMikpZT1iO2Vs
c2V7VE4oZXwwLGNbZD4+Ml18MCwxNzYpfDA7aT12O2o9ZjtrPWkrNDh8MDtkb3tjW2k+PjJdPWNb
aj4+Ml07aT1pKzR8MDtqPWorNHwwfXdoaWxlKChpfDApPChrfDApKTtjW3c+PjJdPWU7aj1jW2Y+
PjJdJjM7aT1jW3Y+PjJdJjM7Y1soKGl8MCk9PTM/djp2KzQ4fDApKzQwPj4yXT1jWygoanwwKT09
Mj9mOmYrLTQ4fDApKzQwPj4yXTtjWygoaXwwKT09Mj92OnYrLTQ4fDApKzQwPj4yXT1jWygoanww
KT09Mz9mOmYrNDh8MCkrNDA+PjJdO2k9ZSsxNnwwO2o9KGNbZD4+Ml18MCkrNTZ8MDtrPWkrNDB8
MDtkb3tjW2k+PjJdPWNbaj4+Ml07aT1pKzR8MDtqPWorNHwwfXdoaWxlKChpfDApPChrfDApKTtp
PWUrNTZ8MDtqPShjW2Q+PjJdfDApKzE2fDA7az1pKzQwfDA7ZG97Y1tpPj4yXT1jW2o+PjJdO2k9
aSs0fDA7aj1qKzR8MH13aGlsZSgoaXwwKTwoa3wwKSk7YVtlKzExMj4+MF09MTtjW2UrMTE2Pj4y
XT1mfWQ9Y1tnKzE2Pj4yXXwwO2I9ZSsxNnwwO2k9eTtqPWQrMTZ8MDtrPWkrNDB8MDtkb3tjW2k+
PjJdPWNbaj4+Ml07aT1pKzR8MDtqPWorNHwwfXdoaWxlKChpfDApPChrfDApKTtpPXo7aj1iO2s9
aSs0MHwwO2Rve2NbaT4+Ml09Y1tqPj4yXTtpPWkrNHwwO2o9ais0fDB9d2hpbGUoKGl8MCk8KGt8
MCkpO2I9V2YoeSx6KXwwO2lmKCFiKXtiPWUrNTZ8MDtpPXk7aj1kKzU2fDA7az1pKzQwfDA7ZG97
Y1tpPj4yXT1jW2o+PjJdO2k9aSs0fDA7aj1qKzR8MH13aGlsZSgoaXwwKTwoa3wwKSk7aT16O2o9
YjtrPWkrNDB8MDtkb3tjW2k+PjJdPWNbaj4+Ml07aT1pKzR8MDtqPWorNHwwfXdoaWxlKChpfDAp
PChrfDApKTtiPVdmKHkseil8MDtpZighYil7ZD1jWyhjW3g+PjJdfDApKzE2ND4+Ml0mMTkyO2I9
Y1soY1tBPj4yXXwwKSsxNjQ+PjJdJjE5MjtpZigoZHwwKT09KGJ8MCkpe2I9KChjW0M+PjJdfDAp
Pj4+NCktKChjW0I+PjJdfDApPj4+NCl8MDticmVha31lbHNle2I9ZC1ifDA7YnJlYWt9fX19ZWxz
ZSBiPWctZnwwO3doaWxlKDApO2w9RDtyZXR1cm4gYnwwfWZ1bmN0aW9uIGJnKGIpe2I9YnwwO3Zh
ciBkPTAsZT0wLGY9MCxnPTAuMCxpPTAuMDtmPWIrMTZ8MDtkPWNbZj4+Ml18MDtpZihjW2QrMTc2
Pj4yXXwwKXtkPWNbZCsxODA+PjJdfDA7d2hpbGUoMSl7ZD0oY1tkPj4yXXwwKSsxNnwwO2U9Y1tk
Pj4yXXwwO2lmKCEoYVtlKzExMj4+MF18MCkpYnJlYWs7ZWxzZSBkPWUrMTE2fDB9ZT1jW2UrOTY+
PjJdfDA7Zz0raFtlKzI0Pj4zXTtpPStoW2UrMzI+PjNdO2U9KGNbKGNbKHJvKGIpfDApKzE2Pj4y
XXwwKSsxMTY+PjJdJjF8MCkhPTA7Yj1jW2Y+PjJdfDA7Zj1jWyhjW2Q+PjJdfDApKzk2Pj4yXXww
O2hbZis1Nj4+M109KGU/aTpnKSouNSsgK2hbYisxNj4+M107aFtmKzY0Pj4zXT0raFtiKzI0Pj4z
XTthW2YrODE+PjBdPTF9cmV0dXJufWZ1bmN0aW9uIGNnKGEpe2E9YXwwO3ZhciBiPTAsZD0wO3do
aWxlKDEpe2I9Y1thKzE2Pj4yXXwwO2Q9Y1tiKzE3Mj4+Ml18MDtpZighZClicmVhaztlbHNlIGE9
ZH13aGlsZSgxKXtiPWNbYisxMTY+PjJdfDA7aWYoIWIpYnJlYWs7YT1iO2I9Y1tiKzE2Pj4yXXww
fXJldHVybiBhfDB9ZnVuY3Rpb24gZGcoYixkLGUsZixnLGksail7Yj1ifDA7ZD1kfDA7ZT1lfDA7
Zj1mfDA7Zz1nfDA7aT1pfDA7aj1qfDA7dmFyIGs9MCxtPTAuMCxuPTAsbz0wLHA9MCxxPTAscj0w
LHM9MCx0PTAsdT0wLHY9MC4wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MC4wLEQ9MC4wLEU9
MC4wLEY9MC4wLEc9MC4wO0I9bDtsPWwrMTcxMnwwO3g9QisxNjY0fDA7cz1CKzE0ODh8MDt0PUIr
MTM5MnwwO0E9QisxNjk2fDA7eT1CKzY5NnwwO3o9QjtwPXQrMTZ8MDtjW3A+PjJdPXM7cT1jW2Yr
KGc8PDIpPj4yXXwwO3I9cSsxNnwwO2s9Y1tyPj4yXXwwO3U9YVtrKzExMz4+MF18MDtpZihjW2sr
MTY0Pj4yXSYzMil7VE4oc3wwLGt8MCwxNzYpfDA7az10O249cTtvPWsrNDh8MDtkb3tjW2s+PjJd
PWNbbj4+Ml07az1rKzR8MDtuPW4rNHwwfXdoaWxlKChrfDApPChvfDApKTtjW3A+PjJdPXM7az1j
W3Q+PjJdJjM7Y1soKGt8MCk9PTM/dDp0KzQ4fDApKzQwPj4yXT1jWygoY1txPj4yXSYzfDApPT0y
P3E6cSstNDh8MCkrNDA+PjJdO2NbKChrfDApPT0yP3Q6dCstNDh8MCkrNDA+PjJdPWNbKChjW3E+
PjJdJjN8MCk9PTM/cTpxKzQ4fDApKzQwPj4yXTtrPXMrMTZ8MDtuPShjW3I+PjJdfDApKzU2fDA7
bz1rKzQwfDA7ZG97Y1trPj4yXT1jW24+PjJdO2s9ays0fDA7bj1uKzR8MH13aGlsZSgoa3wwKTwo
b3wwKSk7az1zKzU2fDA7bj0oY1tyPj4yXXwwKSsxNnwwO289ays0MHwwO2Rve2Nbaz4+Ml09Y1tu
Pj4yXTtrPWsrNHwwO249bis0fDB9d2hpbGUoKGt8MCk8KG98MCkpO2FbcysxMTI+PjBdPTE7Y1tz
KzExNj4+Ml09cTtxPXR9az0xO3doaWxlKDEpe2lmKChrfDApPj0oaXwwKSl7dz02O2JyZWFrfWlm
KCEoYVsoY1soY1tmKyhrK2c8PDIpPj4yXXwwKSsxNj4+Ml18MCkrMTEzPj4wXXwwKSlrPWsrMXww
O2Vsc2V7dz03O2JyZWFrfX1hOmRvIGlmKCh3fDApPT02KWlmKCEodTw8MjQ+PjI0KSl7az1jW3Er
MTY+PjJdfDA7aWYoY1trKzk2Pj4yXXwwKXtEZyhiLGQsZSxxLGopO2JyZWFrfWlmKChqfDApPT0y
KXtBPWNbcT4+Ml0mMztFZyhjWygoQXwwKT09Mz9xOnErNDh8MCkrNDA+PjJdfDAsY1soKEF8MCk9
PTI/cTpxKy00OHwwKSs0MD4+Ml18MCxmLGcsaSwyKTticmVha310PWFbays0OT4+MF18MDt1PWFb
ays4OT4+MF18MDtpZighKHQ8PDI0Pj4yND09MSZ1PDwyND4+MjQhPTQpPyEodDw8MjQ+PjI0IT00
JnU8PDI0Pj4yND09MSk6MCl7cD1jW3E+PjJdJjM7bz1jWygocHwwKT09Mz9xOnErNDh8MCkrNDA+
PjJdfDA7cD1jWygocHwwKT09Mj9xOnErLTQ4fDApKzQwPj4yXXwwO2s9Y1tvKzE2Pj4yXXwwO249
Y1trKzIzMj4+Ml18MDtpZigobnwwKT4wKXt1PWNbKGNbYisxNj4+Ml18MCkrMTk2Pj4yXXwwO3Q9
bit+KGFbKGNbKGNbYis2MD4+Ml18MCkrMTY+PjJdfDApKzExMz4+MF0mMSl8MDttPStoWyhjWyhj
W2NbdSsodDw8NikrND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyND4+M10tK2hbdSsodDw8NikrMTY+
PjNdLStoW2srMjQ+PjNdLStoW3UrKG48PDYpKzI0Pj4zXX1lbHNlIG09KyhjWyhjW2IrMTY+PjJd
fDApKzI1Mj4+Ml18MCk7Qz0rKGkrMXwwKTt2PSsoY1tkKzEyPj4yXXwwKS9DO209bS9DO0dnKGIs
ZCxlLG8scSx5LDEpO0dnKGIsZCxlLHAscSx6LDApO3M9eSs1MnwwO3Q9eis1MnwwO3A9KGp8MCk9
PTEwO3E9ZSs4MHwwO2s9MDt3aGlsZSgxKXtpZigoa3wwKT49KGl8MCkpYnJlYWsgYTtyPWNbZiso
aytnPDwyKT4+Ml18MDtvPWNbcz4+Ml18MDtuPW8rLTF8MDtHPStoW3krNTYrKG48PDUpPj4zXTtG
PStoW3krNTYrKG48PDUpKzE2Pj4zXTtFPStoW3krNTYrKG48PDUpKzI0Pj4zXTtoWzE2ODc4XT1H
O2hbMTY4NzldPUU7az1rKzF8MDtDPSsoa3wwKTtEPXYqQztoWzE2ODgwXT1GK0Q7Qz1FK20qQzto
WzE2ODgxXT1DO2hbMTY4ODJdPUc7aFsxNjg4M109QztuPShjW3Q+PjJdfDApKy0xfDA7Rz0raFt6
KzU2KyhuPDw1KSsxNj4+M107aFsxNjg4NF09RztoWzE2ODg1XT1DK207RT0raFt6KzU2KyhuPDw1
KT4+M107Rj0raFt6KzU2KyhuPDw1KSsyND4+M107aFsxNjg4OF09RztoWzE2ODg3XT1GO2hbMTY4
ODZdPUUtRDtoWzE2ODg5XT1DO249MDt3aGlsZSgxKXtpZigobnwwKT49KG98MCkpe249MDticmVh
a31vPXkrNTYrKG48PDUpfDA7Y1t4Pj4yXT1jW28+PjJdO2NbeCs0Pj4yXT1jW28rND4+Ml07Y1t4
Kzg+PjJdPWNbbys4Pj4yXTtjW3grMTI+PjJdPWNbbysxMj4+Ml07Y1t4KzE2Pj4yXT1jW28rMTY+
PjJdO2NbeCsyMD4+Ml09Y1tvKzIwPj4yXTtjW3grMjQ+PjJdPWNbbysyND4+Ml07Y1t4KzI4Pj4y
XT1jW28rMjg+PjJdO0x6KGUseCk7bj1uKzF8MDtvPWNbcz4+Ml18MH13aGlsZSgxKXtpZigobnww
KT09MylicmVhaztqPTEzNTAyNCsobjw8NSl8MDtjW3g+PjJdPWNbaj4+Ml07Y1t4KzQ+PjJdPWNb
ais0Pj4yXTtjW3grOD4+Ml09Y1tqKzg+PjJdO2NbeCsxMj4+Ml09Y1tqKzEyPj4yXTtjW3grMTY+
PjJdPWNbaisxNj4+Ml07Y1t4KzIwPj4yXT1jW2orMjA+PjJdO2NbeCsyND4+Ml09Y1tqKzI0Pj4y
XTtjW3grMjg+PjJdPWNbaisyOD4+Ml07THooZSx4KTtuPW4rMXwwfW89Y1t0Pj4yXXwwO3doaWxl
KDEpe249bystMXwwO2lmKChvfDApPD0wKWJyZWFrO289eis1Nisobjw8NSl8MDtjW3g+PjJdPWNb
bz4+Ml07Y1t4KzQ+PjJdPWNbbys0Pj4yXTtjW3grOD4+Ml09Y1tvKzg+PjJdO2NbeCsxMj4+Ml09
Y1tvKzEyPj4yXTtjW3grMTY+PjJdPWNbbysxNj4+Ml07Y1t4KzIwPj4yXT1jW28rMjA+PjJdO2Nb
eCsyND4+Ml09Y1tvKzI0Pj4yXTtjW3grMjg+PjJdPWNbbysyOD4+Ml07THooZSx4KTtvPW59aWYo
cCluPW55KGUsQSl8MDtlbHNlIG49dHkoZSxBKXwwO289Y1tBPj4yXXwwO2lmKCFvKWJyZWFrIGE7
SnoocixjWygoY1tyPj4yXSYzfDApPT0yP3I6cistNDh8MCkrNDA+PjJdfDAsbixvLDE3MjI0KTtj
W3E+PjJdPTB9fUZnKGIsZCxlLGYsZyxpLHEsKGp8MCk9PTEwJjEpfWVsc2Ugdz03O3doaWxlKDAp
O2lmKCh3fDApPT03KUNnKGIsZixnLGkscSxqKTtsPUI7cmV0dXJufWZ1bmN0aW9uIGVnKGIsZCxl
LGYsZyxpLGope2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2k9aXwwO2o9anwwO3ZhciBr
PTAsbT0wLjAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAs
ej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxO
PTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFh
PTAsYmE9MCxjYT0wO2JhPWw7bD1sKzI1NzZ8MDtTPWJhKzI1Mjh8MDtfPWJhKzI1Njh8MDtrPWJh
KzIzNTJ8MDtuPWJhKzIxNzZ8MDt0PWJhKzE5MDR8MDtZPWJhKzE4MDh8MDskPWJhKzE3MTJ8MDtU
PWJhKzEwMTZ8MDtVPWJhKzMyMHwwO1Y9YmErMjU2fDA7WD1iYSsyNTY0fDA7Wj1iYSsyNTYwfDA7
ej1iYSsyODh8MDtBPWJhKzIyNHwwO0w9YmErMTkyfDA7TT1iYSsxNjB8MDtOPWJhKzEyOHwwO1A9
YmErOTZ8MDtRPWJhKzY0fDA7Uj1iYSszMnwwO1c9YmE7cz10KzE2fDA7Y1tzPj4yXT1rO289WSsx
NnwwO2Nbbz4+Ml09bjthYT0kKzE2fDA7Y1thYT4+Ml09YmErMmUzO2lmKCEoY1s0MTkyMF18MCkp
e2NbNDE5MjBdPXd3KDMyZTMpfDA7Y1s0MTkyMV09d3coMzJlMyl8MDtjWzQxOTIyXT0yZTM7Y1s0
MTkyM109MmUzfXU9Y1tmKyhnPDwyKT4+Ml18MDtLPWNbdT4+Ml0mMztwPXUrNDh8MDtxPXUrLTQ4
fDA7Sz0oY1soY1soY1soKEt8MCk9PTM/dTpwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18
MCktKGNbKGNbKGNbKChLfDApPT0yP3U6cSkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDAp
fDA7cj11KzE2fDA7aWYoKCgoS3wwKT4tMT9LOjAtS3wwKXwwKTw9MSl7az1jW3I+PjJdfDA7aWYo
IShjW2srMTY0Pj4yXSYzMikpe0s9dTtuPTB9ZWxzZXtuPWNbcz4+Ml18MDtUTihufDAsa3wwLDE3
Nil8MDt3PXQ7eD11O3k9dys0OHwwO2Rve2Nbdz4+Ml09Y1t4Pj4yXTt3PXcrNHwwO3g9eCs0fDB9
d2hpbGUoKHd8MCk8KHl8MCkpO2Nbcz4+Ml09bjt3PWNbdD4+Ml0mMztjWygod3wwKT09Mz90OnQr
NDh8MCkrNDA+PjJdPWNbKChjW3U+PjJdJjN8MCk9PTI/dTpxKSs0MD4+Ml07Y1soKHd8MCk9PTI/
dDp0Ky00OHwwKSs0MD4+Ml09Y1soKGNbdT4+Ml0mM3wwKT09Mz91OnApKzQwPj4yXTt3PW4rMTZ8
MDt4PShjW3I+PjJdfDApKzU2fDA7eT13KzQwfDA7ZG97Y1t3Pj4yXT1jW3g+PjJdO3c9dys0fDA7
eD14KzR8MH13aGlsZSgod3wwKTwoeXwwKSk7az1jW3M+PjJdfDA7dz1rKzU2fDA7eD0oY1tyPj4y
XXwwKSsxNnwwO3k9dys0MHwwO2Rve2Nbdz4+Ml09Y1t4Pj4yXTt3PXcrNHwwO3g9eCs0fDB9d2hp
bGUoKHd8MCk8KHl8MCkpO2FbaysxMTI+PjBdPTE7bj0wO0o9MTJ9fWVsc2V7VE4oa3wwLGNbcj4+
Ml18MCwxNzYpfDA7dz10O3g9dTt5PXcrNDh8MDtkb3tjW3c+PjJdPWNbeD4+Ml07dz13KzR8MDt4
PXgrNHwwfXdoaWxlKCh3fDApPCh5fDApKTt3PXQrNDh8MDt4PXA7eT13KzQ4fDA7ZG97Y1t3Pj4y
XT1jW3g+PjJdO3c9dys0fDA7eD14KzR8MH13aGlsZSgod3wwKTwoeXwwKSk7Y1tzPj4yXT1rO2s9
Y1tyPj4yXXwwO2lmKCEoY1trKzE2ND4+Ml0mMzIpKXtUTihufDAsa3wwLDE3Nil8MDt3PVk7eD11
O3k9dys0OHwwO2Rve2Nbdz4+Ml09Y1t4Pj4yXTt3PXcrNHwwO3g9eCs0fDB9d2hpbGUoKHd8MCk8
KHl8MCkpO2Nbbz4+Ml09bjtvPWNbdD4+Ml18MDtjWygobyYzfDApPT0zP3Q6dCs0OHwwKSs0MD4+
Ml09Y1soKGNbdT4+Ml0mM3wwKT09Mz91OnApKzQwPj4yXTt3PVkrNDh8MDt4PXA7eT13KzQ4fDA7
ZG97Y1t3Pj4yXT1jW3g+PjJdO3c9dys0fDA7eD14KzR8MH13aGlsZSgod3wwKTwoeXwwKSl9ZWxz
ZXtuPWNbbz4+Ml18MDtUTihufDAsa3wwLDE3Nil8MDt3PVk7eD11O3k9dys0OHwwO2Rve2Nbdz4+
Ml09Y1t4Pj4yXTt3PXcrNHwwO3g9eCs0fDB9d2hpbGUoKHd8MCk8KHl8MCkpO2Nbbz4+Ml09bjt3
PWNbWT4+Ml0mMztjWygod3wwKT09Mz9ZOlkrNDh8MCkrNDA+PjJdPWNbKChjW3U+PjJdJjN8MCk9
PTI/dTpxKSs0MD4+Ml07Y1soKHd8MCk9PTI/WTpZKy00OHwwKSs0MD4+Ml09Y1soKGNbdT4+Ml0m
M3wwKT09Mz91OnApKzQwPj4yXTt3PW4rMTZ8MDt4PShjW3I+PjJdfDApKzU2fDA7eT13KzQwfDA7
ZG97Y1t3Pj4yXT1jW3g+PjJdO3c9dys0fDA7eD14KzR8MH13aGlsZSgod3wwKTwoeXwwKSk7az1j
W28+PjJdfDA7dz1rKzU2fDA7eD0oY1tyPj4yXXwwKSsxNnwwO3k9dys0MHwwO2Rve2Nbdz4+Ml09
Y1t4Pj4yXTt3PXcrNHwwO3g9eCs0fDB9d2hpbGUoKHd8MCk8KHl8MCkpO2FbaysxMTI+PjBdPTE7
Y1trKzExNj4+Ml09dTtvPWNbdD4+Ml18MDtjWygobyYzfDApPT0zP3Q6dCs0OHwwKSs0MD4+Ml09
Y1soKGNbdT4+Ml0mM3wwKT09Mj91OnEpKzQwPj4yXTt3PShjW3M+PjJdfDApKzE2fDA7eD0oY1ty
Pj4yXXwwKSs1NnwwO3k9dys0MHwwO2Rve2Nbdz4+Ml09Y1t4Pj4yXTt3PXcrNHwwO3g9eCs0fDB9
d2hpbGUoKHd8MCk8KHl8MCkpfWs9Y2codSl8MDt3aGlsZSgxKXtuPWNbKGNbaysxNj4+Ml18MCkr
MTcyPj4yXXwwO2lmKCFuKWJyZWFrO2Vsc2Ugaz1ufWNbKChvJjN8MCk9PTI/dDp0Ky00OHwwKSs0
MD4+Ml09Y1soKGNbaz4+Ml0mM3wwKT09Mj9rOmsrLTQ4fDApKzQwPj4yXTtrPWNbcz4+Ml18MDth
W2srODQ+PjBdPTA7YVtrKzExMj4+MF09MTtuPWsrNTZ8MDtjW24+PjJdPTA7Y1tuKzQ+PjJdPTA7
Y1tuKzg+PjJdPTA7Y1tuKzEyPj4yXT0wO249MTtKPTEyfWlmKChKfDApPT0xMil7Y1trKzExNj4+
Ml09dTtLPXR9SD0oanwwKT09MjtpZihIPyh2PWlnKGIsSyxjWzQxOTIwXXwwLF8pfDAsY1taPj4y
XT12LCh2fDApIT0wKTowKUo9NjM7ZWxzZSBKPTE1O2E6ZG8gaWYoKEp8MCk9PTE1KXtHPShqfDAp
PT0xMDtjW1o+PjJdPTA7bz1jW0s+PjJdJjM7az1jWygob3wwKT09Mz9LOksrNDh8MCkrNDA+PjJd
fDA7bz1jWygob3wwKT09Mj9LOksrLTQ4fDApKzQwPj4yXXwwO2NbXz4+Ml09bztqZyh6LGIsZCxr
LDAsSyk7Y1tUPj4yXT1jW3o+PjJdO2NbVCs0Pj4yXT1jW3orND4+Ml07Y1tUKzg+PjJdPWNbeis4
Pj4yXTtjW1QrMTI+PjJdPWNbeisxMj4+Ml07Y1tUKzE2Pj4yXT1jW3orMTY+PjJdO2NbVCsyMD4+
Ml09Y1t6KzIwPj4yXTtjW1QrMjQ+PjJdPWNbeisyND4+Ml07Y1tUKzI4Pj4yXT1jW3orMjg+PjJd
O2NbVj4+Ml09Y1t6Pj4yXTtjW1YrND4+Ml09Y1t6KzQ+PjJdO2NbVis4Pj4yXT1jW3orOD4+Ml07
Y1tWKzEyPj4yXT1jW3orMTI+PjJdO2NbVisxNj4+Ml09Y1t6KzE2Pj4yXTtjW1YrMjA+PjJdPWNb
eisyMD4+Ml07TXooZSxLLDEsVCxrZyhrKXwwKTtCPVQrNTJ8MDtJPShjW0I+PjJdfDApKy0xfDA7
RD1WKzI0fDA7aFtEPj4zXT0raFtUKzU2KyhJPDw1KSsyND4+M107RT1WKzh8MDtoW0U+PjNdPSto
W1QrNTYrKEk8PDUpKzg+PjNdO0k9Y1trKzE2Pj4yXXwwO0Y9YisxNnwwO209K2hbSSsyND4+M10t
K2hbKGNbKGNbRj4+Ml18MCkrMTk2Pj4yXXwwKSsoY1tJKzIzMj4+Ml08PDYpKzE2Pj4zXTtjW1M+
PjJdPWNbVj4+Ml07Y1tTKzQ+PjJdPWNbVis0Pj4yXTtjW1MrOD4+Ml09Y1tWKzg+PjJdO2NbUysx
Mj4+Ml09Y1tWKzEyPj4yXTtjW1MrMTY+PjJdPWNbVisxNj4+Ml07Y1tTKzIwPj4yXT1jW1YrMjA+
PjJdO2NbUysyND4+Ml09Y1tWKzI0Pj4yXTtjW1MrMjg+PjJdPWNbVisyOD4+Ml07bGcoQSxTLDEs
bSk7Y1tWPj4yXT1jW0E+PjJdO2NbVis0Pj4yXT1jW0ErND4+Ml07Y1tWKzg+PjJdPWNbQSs4Pj4y
XTtjW1YrMTI+PjJdPWNbQSsxMj4+Ml07Y1tWKzE2Pj4yXT1jW0ErMTY+PjJdO2NbVisyMD4+Ml09
Y1tBKzIwPj4yXTtjW1YrMjQ+PjJdPWNbQSsyND4+Ml07Y1tWKzI4Pj4yXT1jW0ErMjg+PjJdO0E9
VisxNnwwO2lmKCtoW1Y+PjNdPCtoW0E+PjNdPytoW0U+PjNdPCtoW0Q+PjNdOjApe0k9Y1tCPj4y
XXwwO2NbQj4+Ml09SSsxO0k9VCs1NisoSTw8NSl8MDtjW0k+PjJdPWNbVj4+Ml07Y1tJKzQ+PjJd
PWNbVis0Pj4yXTtjW0krOD4+Ml09Y1tWKzg+PjJdO2NbSSsxMj4+Ml09Y1tWKzEyPj4yXTtjW0kr
MTY+PjJdPWNbVisxNj4+Ml07Y1tJKzIwPj4yXT1jW1YrMjA+PjJdO2NbSSsyND4+Ml09Y1tWKzI0
Pj4yXTtjW0krMjg+PjJdPWNbVisyOD4+Ml19dz1iKzYwfDA7Qz1VKzUyfDA7eD1lKzU2fDA7eT1l
KzY5fDA7aj1lKzE2fDA7ej1lKzI5fDA7ST1LO3E9MDtyPS0xO2I6d2hpbGUoMSl7cz1rO3Q9MDtr
PTA7dT1JO3doaWxlKDEpe3A9bzt2PW87aWYoKGFbKGNbcCsxNj4+Ml18MCkrMTU2Pj4wXXwwKSE9
MSlicmVhayBiO2lmKCgkYVtjWzE3MjI4Pj4yXSYzMV0ocCl8MCk8PDI0Pj4yNClicmVhayBiO289
dHwxO2NhPTEzNTAyNCsodDw8NSl8MDttZyhMLGQsYixjWyhjW3MrMTY+PjJdfDApKzIzMj4+Ml18
MCk7Y1tjYT4+Ml09Y1tMPj4yXTtjW2NhKzQ+PjJdPWNbTCs0Pj4yXTtjW2NhKzg+PjJdPWNbTCs4
Pj4yXTtjW2NhKzEyPj4yXT1jW0wrMTI+PjJdO2NbY2ErMTY+PjJdPWNbTCsxNj4+Ml07Y1tjYSsy
MD4+Ml09Y1tMKzIwPj4yXTtjW2NhKzI0Pj4yXT1jW0wrMjQ+PjJdO2NbY2ErMjg+PjJdPWNbTCsy
OD4+Ml07aWYoIWspe3E9bmcocCl8MDtrPShxfDApPCgoYVsoY1soY1t3Pj4yXXwwKSsxNj4+Ml18
MCkrMTEzPj4wXTw8MSYyKSszJjI1NXwwKTtxPWs/cTpxKy0yfDA7cj1rP3I6MTtrPShrXjEpJjF9
aWYoISgoa3wwKT09MHwocnwwKT4wKSlicmVhaztjYT0xMzUwMjQrKG88PDUpfDA7amcoTSxiLGQs
cCx1LGNbY1soY1twKzE2Pj4yXXwwKSsxODA+PjJdPj4yXXwwKTtjW2NhPj4yXT1jW00+PjJdO2Nb
Y2ErND4+Ml09Y1tNKzQ+PjJdO2NbY2ErOD4+Ml09Y1tNKzg+PjJdO2NbY2ErMTI+PjJdPWNbTSsx
Mj4+Ml07Y1tjYSsxNj4+Ml09Y1tNKzE2Pj4yXTtjW2NhKzIwPj4yXT1jW00rMjA+PjJdO2NbY2Er
MjQ+PjJdPWNbTSsyND4+Ml07Y1tjYSsyOD4+Ml09Y1tNKzI4Pj4yXTtjYT1jW2NbKGNbdisxNj4+
Ml18MCkrMTgwPj4yXT4+Ml18MDtvPWNbY2E+PjJdJjM7cz1jWygob3wwKT09Mz9jYTpjYSs0OHww
KSs0MD4+Ml18MDtvPWNbKChvfDApPT0yP2NhOmNhKy00OHwwKSs0MD4+Ml18MDtjW18+PjJdPW87
dD10KzJ8MDtyPXIrLTF8MDt1PWNhfWpnKE4sYixkLHAsdSxjW2NbKGNbcCsxNj4+Ml18MCkrMTgw
Pj4yXT4+Ml18MCk7Y1tVPj4yXT1jW04+PjJdO2NbVSs0Pj4yXT1jW04rND4+Ml07Y1tVKzg+PjJd
PWNbTis4Pj4yXTtjW1UrMTI+PjJdPWNbTisxMj4+Ml07Y1tVKzE2Pj4yXT1jW04rMTY+PjJdO2Nb
VSsyMD4+Ml09Y1tOKzIwPj4yXTtjW1UrMjQ+PjJdPWNbTisyND4+Ml07Y1tVKzI4Pj4yXT1jW04r
Mjg+PjJdO1B6KGUsdSwxLFUsa2coY1soKGNbdT4+Ml0mM3wwKT09Mj91OnUrLTQ4fDApKzQwPj4y
XXwwKXwwKTtjYT1VKzU2KygoY1tDPj4yXXwwKSstMTw8NSl8MDt0PWNbdisxNj4+Ml18MDttPSto
WyhjWyhjW0Y+PjJdfDApKzE5Nj4+Ml18MCkrKGNbdCsyMzI+PjJdPDw2KSsyND4+M10rICtoW3Qr
MjQ+PjNdO2NbUz4+Ml09Y1tjYT4+Ml07Y1tTKzQ+PjJdPWNbY2ErND4+Ml07Y1tTKzg+PjJdPWNb
Y2ErOD4+Ml07Y1tTKzEyPj4yXT1jW2NhKzEyPj4yXTtjW1MrMTY+PjJdPWNbY2ErMTY+PjJdO2Nb
UysyMD4+Ml09Y1tjYSsyMD4+Ml07Y1tTKzI0Pj4yXT1jW2NhKzI0Pj4yXTtjW1MrMjg+PjJdPWNb
Y2ErMjg+PjJdO2xnKFYsUyw0LG0pO2lmKCtoW1Y+PjNdPCtoW0E+PjNdPytoW0U+PjNdPCtoW0Q+
PjNdOjApe2NhPWNbQz4+Ml18MDtjW0M+PjJdPWNhKzE7Y2E9VSs1NisoY2E8PDUpfDA7Y1tjYT4+
Ml09Y1tWPj4yXTtjW2NhKzQ+PjJdPWNbVis0Pj4yXTtjW2NhKzg+PjJdPWNbVis4Pj4yXTtjW2Nh
KzEyPj4yXT1jW1YrMTI+PjJdO2NbY2ErMTY+PjJdPWNbVisxNj4+Ml07Y1tjYSsyMD4+Ml09Y1tW
KzIwPj4yXTtjW2NhKzI0Pj4yXT1jW1YrMjQ+PjJdO2NbY2ErMjg+PjJdPWNbVisyOD4+Ml19aFt4
Pj4zXT0xLjU3MDc5NjMyNjc5NDg5NjY7YVt5Pj4wXT0xO29nKGUsSSx1LFQsVSxvKTtpZighRyl7
az10eShlLFgpfDA7bz1jW1g+PjJdfDA7aWYoSCYob3wwKT40KXtjYT1rKzE2fDA7Y1tjYT4+Ml09
Y1trPj4yXTtjW2NhKzQ+PjJdPWNbays0Pj4yXTtjW2NhKzg+PjJdPWNbays4Pj4yXTtjW2NhKzEy
Pj4yXT1jW2srMTI+PjJdO2NhPWsrMzJ8MDtvPWsrKG8rLTE8PDQpfDA7Y1tjYT4+Ml09Y1tvPj4y
XTtjW2NhKzQ+PjJdPWNbbys0Pj4yXTtjW2NhKzg+PjJdPWNbbys4Pj4yXTtjW2NhKzEyPj4yXT1j
W28rMTI+PjJdO1VOKGsrNDh8MCxvfDAsMTYpfDA7Y1tYPj4yXT00O289NH1lbHNlIEo9MzN9ZWxz
ZXtrPW55KGUsWCl8MDtvPWNbWD4+Ml18MDtKPTMzfWlmKChKfDApPT0zMyl7Sj0wO2lmKCFvKWJy
ZWFrIGF9dT1jW1o+PjJdfDA7cD11K298MDtpZigocHwwKT4oY1s0MTkyMl18MCkpe2NbNDE5MjJd
PXA8PDE7dD15dyhjWzQxOTIwXXwwLHA8PDUpfDA7Y1s0MTkyMF09dDtvPWNbWD4+Ml18MH1lbHNl
IHQ9Y1s0MTkyMF18MDtzPTA7cD11O3doaWxlKDEpe2lmKChzfDApPj0ob3wwKSlicmVhaztjYT10
KyhwPDw0KXwwO3U9aysoczw8NCl8MDtjW2NhPj4yXT1jW3U+PjJdO2NbY2ErND4+Ml09Y1t1KzQ+
PjJdO2NbY2ErOD4+Ml09Y1t1Kzg+PjJdO2NbY2ErMTI+PjJdPWNbdSsxMj4+Ml07cz1zKzF8MDtw
PXArMXwwfWNbWj4+Ml09cDtvPXBnKGNbY1soY1t2KzE2Pj4yXXwwKSsxODA+PjJdPj4yXXwwLHEs
dCxaKXwwO3FnKEksZSk7cD1jW28+PjJdJjM7az1jWygocHwwKT09Mz9vOm8rNDh8MCkrNDA+PjJd
fDA7cD1jWygocHwwKT09Mj9vOm8rLTQ4fDApKzQwPj4yXXwwO2NbXz4+Ml09cDtJPWsrMTZ8MDtq
ZyhQLGIsZCxrLGNbY1soY1tJPj4yXXwwKSsxNzI+PjJdPj4yXXwwLG8pO2NbVD4+Ml09Y1tQPj4y
XTtjW1QrND4+Ml09Y1tQKzQ+PjJdO2NbVCs4Pj4yXT1jW1ArOD4+Ml07Y1tUKzEyPj4yXT1jW1Ar
MTI+PjJdO2NbVCsxNj4+Ml09Y1tQKzE2Pj4yXTtjW1QrMjA+PjJdPWNbUCsyMD4+Ml07Y1tUKzI0
Pj4yXT1jW1ArMjQ+PjJdO2NbVCsyOD4+Ml09Y1tQKzI4Pj4yXTtNeihlLG8sMSxULGtnKGspfDAp
O2NhPVQrNTYrKChjW0I+PjJdfDApKy0xPDw1KXwwO0k9Y1tJPj4yXXwwO209K2hbSSsyND4+M10t
K2hbKGNbKGNbRj4+Ml18MCkrMTk2Pj4yXXwwKSsoY1tJKzIzMj4+Ml08PDYpKzE2Pj4zXTtjW1M+
PjJdPWNbY2E+PjJdO2NbUys0Pj4yXT1jW2NhKzQ+PjJdO2NbUys4Pj4yXT1jW2NhKzg+PjJdO2Nb
UysxMj4+Ml09Y1tjYSsxMj4+Ml07Y1tTKzE2Pj4yXT1jW2NhKzE2Pj4yXTtjW1MrMjA+PjJdPWNb
Y2ErMjA+PjJdO2NbUysyND4+Ml09Y1tjYSsyND4+Ml07Y1tTKzI4Pj4yXT1jW2NhKzI4Pj4yXTts
ZyhWLFMsMSxtKTtpZigraFtWPj4zXTwraFtBPj4zXT8raFtFPj4zXTwraFtEPj4zXTowKXtjYT1j
W0I+PjJdfDA7Y1tCPj4yXT1jYSsxO2NhPVQrNTYrKGNhPDw1KXwwO2NbY2E+PjJdPWNbVj4+Ml07
Y1tjYSs0Pj4yXT1jW1YrND4+Ml07Y1tjYSs4Pj4yXT1jW1YrOD4+Ml07Y1tjYSsxMj4+Ml09Y1tW
KzEyPj4yXTtjW2NhKzE2Pj4yXT1jW1YrMTY+PjJdO2NbY2ErMjA+PjJdPWNbVisyMD4+Ml07Y1tj
YSsyND4+Ml09Y1tWKzI0Pj4yXTtjW2NhKzI4Pj4yXT1jW1YrMjg+PjJdfWhbaj4+M109LTEuNTcw
Nzk2MzI2Nzk0ODk2NjthW3o+PjBdPTE7ST1vO289cH1rPXR8MTtyPTEzNTAyNCsodDw8NSl8MDtt
ZyhRLGQsYixjWyhjW3MrMTY+PjJdfDApKzIzMj4+Ml18MCk7Y1tyPj4yXT1jW1E+PjJdO2Nbcis0
Pj4yXT1jW1ErND4+Ml07Y1tyKzg+PjJdPWNbUSs4Pj4yXTtjW3IrMTI+PjJdPWNbUSsxMj4+Ml07
Y1tyKzE2Pj4yXT1jW1ErMTY+PjJdO2NbcisyMD4+Ml09Y1tRKzIwPj4yXTtjW3IrMjQ+PjJdPWNb
USsyND4+Ml07Y1tyKzI4Pj4yXT1jW1ErMjg+PjJdO2pnKFIsYixkLHAsdSwwKTtjW1U+PjJdPWNb
Uj4+Ml07Y1tVKzQ+PjJdPWNbUis0Pj4yXTtjW1UrOD4+Ml09Y1tSKzg+PjJdO2NbVSsxMj4+Ml09
Y1tSKzEyPj4yXTtjW1UrMTY+PjJdPWNbUisxNj4+Ml07Y1tVKzIwPj4yXT1jW1IrMjA+PjJdO2Nb
VSsyND4+Ml09Y1tSKzI0Pj4yXTtjW1UrMjg+PjJdPWNbUisyOD4+Ml07Y1tWPj4yXT1jW1I+PjJd
O2NbVis0Pj4yXT1jW1IrND4+Ml07Y1tWKzg+PjJdPWNbUis4Pj4yXTtjW1YrMTI+PjJdPWNbUisx
Mj4+Ml07Y1tWKzE2Pj4yXT1jW1IrMTY+PjJdO2NbVisyMD4+Ml09Y1tSKzIwPj4yXTtjW1YrMjQ+
PjJdPWNbUisyND4+Ml07Y1tWKzI4Pj4yXT1jW1IrMjg+PjJdO3I9KG58MCkhPTA7cz11Ky00OHww
O1B6KGUscj9ZOnUsMSxVLGtnKGNbKChjW3U+PjJdJjN8MCk9PTI/dTpzKSs0MD4+Ml18MCl8MCk7
Y2E9KGNbQz4+Ml18MCkrLTF8MDtoW0Q+PjNdPStoW1UrNTYrKGNhPDw1KSsyND4+M107aFtFPj4z
XT0raFtVKzU2KyhjYTw8NSkrOD4+M107Y2E9Y1t2KzE2Pj4yXXwwO209K2hbKGNbKGNbRj4+Ml18
MCkrMTk2Pj4yXXwwKSsoY1tjYSsyMzI+PjJdPDw2KSsyND4+M10rICtoW2NhKzI0Pj4zXTtjW1M+
PjJdPWNbVj4+Ml07Y1tTKzQ+PjJdPWNbVis0Pj4yXTtjW1MrOD4+Ml09Y1tWKzg+PjJdO2NbUysx
Mj4+Ml09Y1tWKzEyPj4yXTtjW1MrMTY+PjJdPWNbVisxNj4+Ml07Y1tTKzIwPj4yXT1jW1YrMjA+
PjJdO2NbUysyND4+Ml09Y1tWKzI0Pj4yXTtjW1MrMjg+PjJdPWNbVisyOD4+Ml07bGcoVyxTLDQs
bSk7Y1tWPj4yXT1jW1c+PjJdO2NbVis0Pj4yXT1jW1crND4+Ml07Y1tWKzg+PjJdPWNbVys4Pj4y
XTtjW1YrMTI+PjJdPWNbVysxMj4+Ml07Y1tWKzE2Pj4yXT1jW1crMTY+PjJdO2NbVisyMD4+Ml09
Y1tXKzIwPj4yXTtjW1YrMjQ+PjJdPWNbVysyND4+Ml07Y1tWKzI4Pj4yXT1jW1crMjg+PjJdO2lm
KCtoW1Y+PjNdPCtoW0E+PjNdPytoW0U+PjNdPCtoW0Q+PjNdOjApe2NhPWNbQz4+Ml18MDtjW0M+
PjJdPWNhKzE7Y2E9VSs1NisoY2E8PDUpfDA7Y1tjYT4+Ml09Y1tWPj4yXTtjW2NhKzQ+PjJdPWNb
Vis0Pj4yXTtjW2NhKzg+PjJdPWNbVis4Pj4yXTtjW2NhKzEyPj4yXT1jW1YrMTI+PjJdO2NbY2Er
MTY+PjJdPWNbVisxNj4+Ml07Y1tjYSsyMD4+Ml09Y1tWKzIwPj4yXTtjW2NhKzI0Pj4yXT1jW1Yr
MjQ+PjJdO2NbY2ErMjg+PjJdPWNbVisyOD4+Ml19b2coZSxJLHUsVCxVLGspO2lmKEcpcT1ueShl
LFgpfDA7ZWxzZSBxPXR5KGUsWCl8MDtrPWNbWD4+Ml18MDtpZighKEgmKGt8MCk+NCkpe2lmKCFr
KWJyZWFrfWVsc2V7Y2E9cSsxNnwwO2NbY2E+PjJdPWNbcT4+Ml07Y1tjYSs0Pj4yXT1jW3ErND4+
Ml07Y1tjYSs4Pj4yXT1jW3ErOD4+Ml07Y1tjYSsxMj4+Ml09Y1txKzEyPj4yXTtjYT1xKzMyfDA7
az1xKyhrKy0xPDw0KXwwO2NbY2E+PjJdPWNbaz4+Ml07Y1tjYSs0Pj4yXT1jW2srND4+Ml07Y1tj
YSs4Pj4yXT1jW2srOD4+Ml07Y1tjYSsxMj4+Ml09Y1trKzEyPj4yXTtVTihxKzQ4fDAsa3wwLDE2
KXwwO2NbWD4+Ml09NDtrPTR9bz1jW1o+PjJdfDA7bj1vK2t8MDtpZigobnwwKT4oY1s0MTkyMl18
MCkpe2NbNDE5MjJdPW48PDE7cD15dyhjWzQxOTIwXXwwLG48PDUpfDA7Y1s0MTkyMF09cDtrPWNb
WD4+Ml18MH1lbHNlIHA9Y1s0MTkyMF18MDtuPTA7d2hpbGUoMSl7aWYoKG58MCk+PShrfDApKWJy
ZWFrO2NhPXArKG88PDQpfDA7WD1xKyhuPDw0KXwwO2NbY2E+PjJdPWNbWD4+Ml07Y1tjYSs0Pj4y
XT1jW1grND4+Ml07Y1tjYSs4Pj4yXT1jW1grOD4+Ml07Y1tjYSsxMj4+Ml09Y1tYKzEyPj4yXTtu
PW4rMXwwO289bysxfDB9Y1taPj4yXT1vO3FnKEksZSk7aWYocilrPShjW1k+PjJdJjN8MCk9PTI/
WTpZKy00OHwwO2Vsc2Ugaz0oY1t1Pj4yXSYzfDApPT0yP3U6cztjW18+PjJdPWNbays0MD4+Ml07
dj1vO0o9NjN9d2hpbGUoMCk7YzpkbyBpZigoSnwwKT09NjMpe2lmKChpfDApPT0xKXtKeihLLGNb
Xz4+Ml18MCxjWzQxOTIwXXwwLHYsMTcyMjQpO2JyZWFrfXQ9ZCsxMnwwO3U9distMXwwO209Kygo
TyhjW3Q+PjJdfDAsaSstMXwwKXwwKS8yfDB8MCk7bj1jWzQxOTIwXXwwO2s9MTt3aGlsZSgxKXtp
Zigoa3wwKT49KHV8MCkpYnJlYWs7Y2E9bisoazw8NCl8MDtoW2NhPj4zXT0raFtjYT4+M10tbTtr
PWsrMXwwfWs9Y1s0MTkyMl18MDtpZigoa3wwKT4oY1s0MTkyM118MCkpe2NbNDE5MjNdPWs7bz15
dyhjWzQxOTIxXXwwLGs8PDQpfDA7Y1s0MTkyMV09bztuPWNbNDE5MjBdfDB9ZWxzZSBvPWNbNDE5
MjFdfDA7az0wO3doaWxlKDEpe2lmKChrfDApPj0odnwwKSlicmVhaztjYT1vKyhrPDw0KXwwO2Q9
bisoazw8NCl8MDtjW2NhPj4yXT1jW2Q+PjJdO2NbY2ErND4+Ml09Y1tkKzQ+PjJdO2NbY2ErOD4+
Ml09Y1tkKzg+PjJdO2NbY2ErMTI+PjJdPWNbZCsxMj4+Ml07az1rKzF8MH1KeihLLGNbXz4+Ml18
MCxvLHYsMTcyMjQpO3I9JCs0OHwwO3M9JCstNDh8MDtxPTE7d2hpbGUoMSl7aWYoKHF8MCk+PShp
fDApKWJyZWFrIGM7bz1jW2YrKHErZzw8Mik+PjJdfDA7cD1vKzE2fDA7az1jW3A+PjJdfDA7aWYo
Y1trKzE2ND4+Ml0mMzIpe249Y1thYT4+Ml18MDtUTihufDAsa3wwLDE3Nil8MDt3PSQ7eD1vO3k9
dys0OHwwO2Rve2Nbdz4+Ml09Y1t4Pj4yXTt3PXcrNHwwO3g9eCs0fDB9d2hpbGUoKHd8MCk8KHl8
MCkpO2NbYWE+PjJdPW47dz1jWyQ+PjJdJjM7Y1soKHd8MCk9PTM/JDpyKSs0MD4+Ml09Y1soKGNb
bz4+Ml0mM3wwKT09Mj9vOm8rLTQ4fDApKzQwPj4yXTtjWygod3wwKT09Mj8kOnMpKzQwPj4yXT1j
WygoY1tvPj4yXSYzfDApPT0zP286bys0OHwwKSs0MD4+Ml07dz1uKzE2fDA7eD0oY1twPj4yXXww
KSs1NnwwO3k9dys0MHwwO2Rve2Nbdz4+Ml09Y1t4Pj4yXTt3PXcrNHwwO3g9eCs0fDB9d2hpbGUo
KHd8MCk8KHl8MCkpO2s9Y1thYT4+Ml18MDt3PWsrNTZ8MDt4PShjW3A+PjJdfDApKzE2fDA7eT13
KzQwfDA7ZG97Y1t3Pj4yXT1jW3g+PjJdO3c9dys0fDA7eD14KzR8MH13aGlsZSgod3wwKTwoeXww
KSk7YVtrKzExMj4+MF09MTtjW2srMTE2Pj4yXT1vO289JH1wPWNbNDE5MjBdfDA7az0xO3doaWxl
KDEpe2lmKChrfDApPj0odXwwKSlicmVhaztjYT1wKyhrPDw0KXwwO2hbY2E+PjNdPStoW2NhPj4z
XSsgKyhjW3Q+PjJdfDApO2s9aysxfDB9bj1jWzQxOTIxXXwwO2s9MDt3aGlsZSgxKXtpZigoa3ww
KT49KHZ8MCkpYnJlYWs7Y2E9bisoazw8NCl8MDtfPXArKGs8PDQpfDA7Y1tjYT4+Ml09Y1tfPj4y
XTtjW2NhKzQ+PjJdPWNbXys0Pj4yXTtjW2NhKzg+PjJdPWNbXys4Pj4yXTtjW2NhKzEyPj4yXT1j
W18rMTI+PjJdO2s9aysxfDB9SnoobyxjWygoY1tvPj4yXSYzfDApPT0yP286bystNDh8MCkrNDA+
PjJdfDAsbix2LDE3MjI0KTtxPXErMXwwfX13aGlsZSgwKTtsPWJhO3JldHVybn1mdW5jdGlvbiBm
ZyhhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTA7Yj1jbyhhKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFr
O2Q9UG0oYSxiKXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrO2lmKCgkYVtjWzQzMDZdJjMxXShkKXww
KTw8MjQ+PjI0PyhlPWNbKGNbZCsxNj4+Ml18MCkrOD4+Ml18MCxlfDApOjApZ2coZSk7ZD1SbShh
LGQpfDB9Yj1lbyhhLGIpfDB9cmV0dXJufWZ1bmN0aW9uIGdnKGEpe2E9YXwwO3ZhciBiPTAsZD0w
LGU9MCxmPTAsZz0wO2Y9Y1thKzQ+PjJdfDA7Zz13dyhmKjQ4fDApfDA7Yj1nO2Q9MDtlPShjW2E+
PjJdfDApKygoZistMXwwKSo0OHwwKXwwO3doaWxlKDEpe2lmKChkfDApPj0oZnwwKSl7Yj0wO2Jy
ZWFrfWhnKGUsYik7Yj1iKzQ4fDA7ZD1kKzF8MDtlPWUrLTQ4fDB9d2hpbGUoMSl7ZD1jW2E+PjJd
fDA7aWYoKGJ8MCk+PShmfDApKWJyZWFrO19JKGNbZCsoYio0OHwwKT4+Ml18MCk7Yj1iKzF8MH1f
SShkKTtjW2E+PjJdPWc7cmV0dXJufWZ1bmN0aW9uIGhnKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9
MCxlPTAsZj0wLGc9MCxoPTA7Zz1jW2ErND4+Ml18MDtoPXd3KGc8PDQpfDA7ZD1oO2U9MDtmPShj
W2E+PjJdfDApKyhnKy0xPDw0KXwwO3doaWxlKDEpe2lmKChlfDApPj0oZ3wwKSlicmVhaztjW2Q+
PjJdPWNbZj4+Ml07Y1tkKzQ+PjJdPWNbZis0Pj4yXTtjW2QrOD4+Ml09Y1tmKzg+PjJdO2NbZCsx
Mj4+Ml09Y1tmKzEyPj4yXTtkPWQrMTZ8MDtlPWUrMXwwO2Y9ZistMTZ8MH1jW2I+PjJdPWg7Y1ti
KzQ+PjJdPWc7Y1tiKzg+PjJdPWNbYSsxMj4+Ml07Y1tiKzEyPj4yXT1jW2ErOD4+Ml07aD1iKzE2
fDA7Zz1hKzMyfDA7Y1toPj4yXT1jW2c+PjJdO2NbaCs0Pj4yXT1jW2crND4+Ml07Y1toKzg+PjJd
PWNbZys4Pj4yXTtjW2grMTI+PjJdPWNbZysxMj4+Ml07aD1iKzMyfDA7Zz1hKzE2fDA7Y1toPj4y
XT1jW2c+PjJdO2NbaCs0Pj4yXT1jW2crND4+Ml07Y1toKzg+PjJdPWNbZys4Pj4yXTtjW2grMTI+
PjJdPWNbZysxMj4+Ml07cmV0dXJufWZ1bmN0aW9uIGlnKGIsZCxlLGYpe2I9YnwwO2Q9ZHwwO2U9
ZXwwO2Y9ZnwwO3ZhciBnPTAsaT0wLjAsaj0wLjAsaz0wLjAsbT0wLG49MCxvPTAscD0wLHE9MCxy
PTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wO3g9bDtsPWwrOTZ8MDtxPXgrODB8MDtzPXgr
NjR8MDtyPXgrNDh8MDt1PXgrMzJ8MDt2PXgrMTZ8MDt3PXg7bT1kO3doaWxlKDEpe3Q9bSsxNnww
O2c9Y1t0Pj4yXXwwO2lmKCEoYVtnKzExMj4+MF18MCkpYnJlYWs7bT1jW2crMTE2Pj4yXXwwfWc9
Y1ttPj4yXSYzO289Y1soKGd8MCk9PTI/bTptKy00OHwwKSs0MD4+Ml18MDtnPWNbKChnfDApPT0z
P206bSs0OHwwKSs0MD4+Ml18MDttPW8rMTZ8MDtuPWcrMTZ8MDt5PShjWyhjW20+PjJdfDApKzIz
Mj4+Ml18MCktKGNbKGNbbj4+Ml18MCkrMjMyPj4yXXwwKXwwO3N3aXRjaCgoKHl8MCk+LTE/eTow
LXl8MCl8MCl7Y2FzZSAxOntnPTA7YnJlYWt9Y2FzZSAyOntpZighKGFbKGNbKGNbYis2MD4+Ml18
MCkrMTY+PjJdfDApKzExMz4+MF0mMSkpcD02O2Vsc2UgZz0wO2JyZWFrfWRlZmF1bHQ6cD02fWRv
IGlmKChwfDApPT02KXtpZigoY1soKGNbZD4+Ml0mM3wwKT09Mz9kOmQrNDh8MCkrNDA+PjJdfDAp
PT0oZ3wwKSl7Y1tmPj4yXT1vO3k9KGNbbj4+Ml18MCkrMTZ8MDtwPShjW3Q+PjJdfDApKzE2fDA7
Y1tzPj4yXT1jW3k+PjJdO2Nbcys0Pj4yXT1jW3krND4+Ml07Y1tzKzg+PjJdPWNbeSs4Pj4yXTtj
W3MrMTI+PjJdPWNbeSsxMj4+Ml07Y1txPj4yXT1jW3A+PjJdO2NbcSs0Pj4yXT1jW3ArND4+Ml07
Y1txKzg+PjJdPWNbcCs4Pj4yXTtjW3ErMTI+PjJdPWNbcCsxMj4+Ml07QWcodSxzLHEpO3A9KGNb
bT4+Ml18MCkrMTZ8MDt5PShjW3Q+PjJdfDApKzU2fDA7Y1tzPj4yXT1jW3A+PjJdO2Nbcys0Pj4y
XT1jW3ArND4+Ml07Y1tzKzg+PjJdPWNbcCs4Pj4yXTtjW3MrMTI+PjJdPWNbcCsxMj4+Ml07Y1tx
Pj4yXT1jW3k+PjJdO2NbcSs0Pj4yXT1jW3krND4+Ml07Y1txKzg+PjJdPWNbeSs4Pj4yXTtjW3Er
MTI+PjJdPWNbeSsxMj4+Ml07QWcodixzLHEpfWVsc2V7Y1tmPj4yXT1nO3k9KGNbbT4+Ml18MCkr
MTZ8MDtwPShjW3Q+PjJdfDApKzU2fDA7Y1tzPj4yXT1jW3k+PjJdO2Nbcys0Pj4yXT1jW3krND4+
Ml07Y1tzKzg+PjJdPWNbeSs4Pj4yXTtjW3MrMTI+PjJdPWNbeSsxMj4+Ml07Y1txPj4yXT1jW3A+
PjJdO2NbcSs0Pj4yXT1jW3ArND4+Ml07Y1txKzg+PjJdPWNbcCs4Pj4yXTtjW3ErMTI+PjJdPWNb
cCsxMj4+Ml07QWcodSxzLHEpO3A9KGNbbj4+Ml18MCkrMTZ8MDt5PShjW3Q+PjJdfDApKzE2fDA7
Y1tzPj4yXT1jW3A+PjJdO2Nbcys0Pj4yXT1jW3ArND4+Ml07Y1tzKzg+PjJdPWNbcCs4Pj4yXTtj
W3MrMTI+PjJdPWNbcCsxMj4+Ml07Y1txPj4yXT1jW3k+PjJdO2NbcSs0Pj4yXT1jW3krND4+Ml07
Y1txKzg+PjJdPWNbeSs4Pj4yXTtjW3ErMTI+PjJdPWNbeSsxMj4+Ml07QWcodixzLHEpfWc9Y1so
Y1t0Pj4yXXwwKSs5Nj4+Ml18MDtpZighZyl7Zz1lKzE2fDA7Y1tlPj4yXT1jW3U+PjJdO2NbZSs0
Pj4yXT1jW3UrND4+Ml07Y1tlKzg+PjJdPWNbdSs4Pj4yXTtjW2UrMTI+PjJdPWNbdSsxMj4+Ml07
Y1tnPj4yXT1jW3U+PjJdO2NbZys0Pj4yXT1jW3UrND4+Ml07Y1tnKzg+PjJdPWNbdSs4Pj4yXTtj
W2crMTI+PjJdPWNbdSsxMj4+Ml07Zz1lKzQ4fDA7eT1lKzMyfDA7Y1t5Pj4yXT1jW3Y+PjJdO2Nb
eSs0Pj4yXT1jW3YrND4+Ml07Y1t5Kzg+PjJdPWNbdis4Pj4yXTtjW3krMTI+PjJdPWNbdisxMj4+
Ml07Y1tnPj4yXT1jW3Y+PjJdO2NbZys0Pj4yXT1jW3YrND4+Ml07Y1tnKzg+PjJdPWNbdis4Pj4y
XTtjW2crMTI+PjJdPWNbdisxMj4+Ml07Zz00O2JyZWFrfWo9K2hbZysyND4+M107aT0raFtnKzMy
Pj4zXTtwPShjWyhjWyhybyhvKXwwKSsxNj4+Ml18MCkrMTE2Pj4yXSYxfDApPT0wO2s9cD9pOmo7
eT0oY1soY1t0Pj4yXXwwKSs5Nj4+Ml18MCkrNTZ8MDtjW3c+PjJdPWNbeT4+Ml07Y1t3KzQ+PjJd
PWNbeSs0Pj4yXTtjW3crOD4+Ml09Y1t5Kzg+PjJdO2NbdysxMj4+Ml09Y1t5KzEyPj4yXTtjW3I+
PjJdPWNbdj4+Ml07Y1tyKzQ+PjJdPWNbdis0Pj4yXTtjW3IrOD4+Ml09Y1t2Kzg+PjJdO2Nbcisx
Mj4+Ml09Y1t2KzEyPj4yXTtjW3M+PjJdPWNbdT4+Ml07Y1tzKzQ+PjJdPWNbdSs0Pj4yXTtjW3Mr
OD4+Ml09Y1t1Kzg+PjJdO2NbcysxMj4+Ml09Y1t1KzEyPj4yXTtjW3E+PjJdPWNbeT4+Ml07Y1tx
KzQ+PjJdPWNbeSs0Pj4yXTtjW3ErOD4+Ml09Y1t5Kzg+PjJdO2NbcSsxMj4+Ml09Y1t5KzEyPj4y
XTt5PShCZyhyLHMscSl8MCk9PTA7aT0ocD9qOmkpKi41O2o9K2hbdz4+M107aWYoeSl7aFt3Pj4z
XT1qLWk7eT13Kzh8MDtoW3k+PjNdPStoW3k+PjNdK2sqLjV9ZWxzZXtoW3c+PjNdPWoraTt5PXcr
OHwwO2hbeT4+M109K2hbeT4+M10tayouNX1nPWUrMTZ8MDtjW2U+PjJdPWNbdT4+Ml07Y1tlKzQ+
PjJdPWNbdSs0Pj4yXTtjW2UrOD4+Ml09Y1t1Kzg+PjJdO2NbZSsxMj4+Ml09Y1t1KzEyPj4yXTtj
W2c+PjJdPWNbdT4+Ml07Y1tnKzQ+PjJdPWNbdSs0Pj4yXTtjW2crOD4+Ml09Y1t1Kzg+PjJdO2Nb
ZysxMj4+Ml09Y1t1KzEyPj4yXTtnPWUrMzJ8MDt5PWUrNDh8MDt1PWUrNjR8MDtjW3U+PjJdPWNb
dz4+Ml07Y1t1KzQ+PjJdPWNbdys0Pj4yXTtjW3UrOD4+Ml09Y1t3Kzg+PjJdO2NbdSsxMj4+Ml09
Y1t3KzEyPj4yXTtjW3k+PjJdPWNbdz4+Ml07Y1t5KzQ+PjJdPWNbdys0Pj4yXTtjW3krOD4+Ml09
Y1t3Kzg+PjJdO2NbeSsxMj4+Ml09Y1t3KzEyPj4yXTtjW2c+PjJdPWNbdz4+Ml07Y1tnKzQ+PjJd
PWNbdys0Pj4yXTtjW2crOD4+Ml09Y1t3Kzg+PjJdO2NbZysxMj4+Ml09Y1t3KzEyPj4yXTtnPWUr
ODB8MDt5PWUrOTZ8MDtjW3k+PjJdPWNbdj4+Ml07Y1t5KzQ+PjJdPWNbdis0Pj4yXTtjW3krOD4+
Ml09Y1t2Kzg+PjJdO2NbeSsxMj4+Ml09Y1t2KzEyPj4yXTtjW2c+PjJdPWNbdj4+Ml07Y1tnKzQ+
PjJdPWNbdis0Pj4yXTtjW2crOD4+Ml09Y1t2Kzg+PjJdO2NbZysxMj4+Ml09Y1t2KzEyPj4yXTtn
PTd9d2hpbGUoMCk7bD14O3JldHVybiBnfDB9ZnVuY3Rpb24gamcoYixkLGUsZixnLGkpe2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2k9aXwwO3ZhciBqPTAuMCxrPTAsbD0wLG09MC4wLG49
MCxvPTAuMCxwPTAuMCxxPTA7cT1jW2YrMTY+PjJdfDA7cD0raFtxKzE2Pj4zXTtqPXAtK2hbcSs4
OD4+M107bT1qKy00LjA7bD13ZyhkLGYsZyxpLC0xKXwwO2lmKCFsKXtuPX5+KGorKG0+PTAuMD8t
My41Oi00LjUpKTtrPWNbZT4+Ml18MDtrPShrfDApPihufDApP246a31lbHNle2s9eGcoZCxmLGwp
fDA7ZG8gaWYoIWspe249Y1tsKzE2Pj4yXXwwO2o9K2hbbisyNDA+PjNdKyAraFtuKzE2Pj4zXTtp
ZighKGFbbisxNTY+PjBdfDApKXtqPSsoY1soY1tkKzE2Pj4yXXwwKSsyNDg+PjJdfDApKi41K2o7
YnJlYWt9ZWxzZXtqPWorICsoY1tlKzg+PjJdfDApO2JyZWFrfX1lbHNlIGo9K2hbKGNbaysxNj4+
Ml18MCkrMzI+PjNdKyArKGNbZSs4Pj4yXXwwKTt3aGlsZSgwKTtvPWo8bT9qOm07az1+fihvKyhv
Pj0wLjA/LjU6LS41KSl9bz0rKGt8MCk7bj0oYVtxKzE1Nj4+MF18MCk9PTE7aWYobj8oY1txKzEw
ND4+Ml18MCkhPTA6MCltPXArMTAuMDtlbHNlIG09cCs0LjArICtoW3ErOTY+PjNdO2w9d2coZCxm
LGcsaSwxKXwwO2lmKCFsKXtmPX5+KG0rKG0+PTAuMD8uNTotLjUpKTtrPWNbZSs0Pj4yXXwwO2s9
KGt8MCk8KGZ8MCk/ZjprfWVsc2V7az14ZyhkLGYsbCl8MDtkbyBpZighayl7Zj1jW2wrMTY+PjJd
fDA7aj0raFtmKzE2Pj4zXS0raFtmKzg4Pj4zXTtpZighKGFbZisxNTY+PjBdfDApKXtqPWotKyhj
WyhjW2QrMTY+PjJdfDApKzI0OD4+Ml18MCkqLjU7YnJlYWt9ZWxzZXtqPWotKyhjW2UrOD4+Ml18
MCk7YnJlYWt9fWVsc2Ugaj0raFsoY1trKzE2Pj4yXXwwKSsxNj4+M10tKyhjW2UrOD4+Ml18MCk7
d2hpbGUoMCk7bT1qPm0/ajptO2s9fn4obSsobT49MC4wPy41Oi0uNSkpfWo9KyhrfDApO2lmKG4/
KGNbcSsxMDQ+PjJdfDApIT0wOjApe2o9ai0raFtxKzk2Pj4zXTtpZihqPG8paj1wfXA9K2hbcSsy
ND4+M107ZD1jWyhjW2QrMTY+PjJdfDApKzE5Nj4+Ml18MDtxPWNbcSsyMzI+PjJdfDA7bT1wLSto
W2QrKHE8PDYpKzE2Pj4zXTtwPStoW2QrKHE8PDYpKzI0Pj4zXStwO2hbYj4+M109bztoW2IrOD4+
M109bTtoW2IrMTY+PjNdPWo7aFtiKzI0Pj4zXT1wO3JldHVybn1mdW5jdGlvbiBrZyhiKXtiPWJ8
MDtiPWNbYisxNj4+Ml18MDtpZigoYVtiKzE1Nj4+MF18MCk9PTEpaWYoKGNbYisxNzY+PjJdfDAp
PjEpYj0xO2Vsc2UgYj0oY1tiKzE4ND4+Ml18MCk+MSYxO2Vsc2UgYj0wO3JldHVybiBifDB9ZnVu
Y3Rpb24gbGcoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT0rZTt2YXIgZj0wLGc9MDtnPWw7
bD1sKzMyfDA7Zj1nO3N3aXRjaChkfDApe2Nhc2UgMTp7dmcoZiwraFtiPj4zXSxlLCtoW2IrMTY+
PjNdLCtoW2IrOD4+M10pO2JyZWFrfWNhc2UgNDp7dmcoZiwraFtiPj4zXSwraFtiKzI0Pj4zXSwr
aFtiKzE2Pj4zXSxlKTticmVha31kZWZhdWx0Ont9fWNbYT4+Ml09Y1tmPj4yXTtjW2ErND4+Ml09
Y1tmKzQ+PjJdO2NbYSs4Pj4yXT1jW2YrOD4+Ml07Y1thKzEyPj4yXT1jW2YrMTI+PjJdO2NbYSsx
Nj4+Ml09Y1tmKzE2Pj4yXTtjW2ErMjA+PjJdPWNbZisyMD4+Ml07Y1thKzI0Pj4yXT1jW2YrMjQ+
PjJdO2NbYSsyOD4+Ml09Y1tmKzI4Pj4yXTtsPWc7cmV0dXJufWZ1bmN0aW9uIG1nKGEsYixkLGUp
e2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAuMCxnPTAuMCxpPTAuMCxqPTAuMCxrPTAs
bD0wLG09MCxuPTAsbz0wO2w9Y1tiKzE2Pj4yXXwwO2s9bCsoZTw8NSl8MDtqPStoW2s+PjNdO209
bCsoZTw8NSkrOHwwO2c9K2hbbT4+M107bj1sKyhlPDw1KSsxNnwwO2Y9K2hbbj4+M107bD1sKyhl
PDw1KSsyNHwwO2k9K2hbbD4+M107aWYoaj09Zil7ZD1jWyhjW2QrMTY+PjJdfDApKzE5Nj4+Ml18
MDtvPWUrMXwwO2o9KyhjW2I+PjJdfDApO2c9K2hbZCsobzw8NikrMjQ+PjNdKyAraFsoY1soY1tj
W2QrKG88PDYpKzQ+PjJdPj4yXXwwKSsxNj4+Ml18MCkrMjQ+PjNdO2Y9KyhjW2IrND4+Ml18MCk7
aT0raFsoY1soY1tjW2QrKGU8PDYpKzQ+PjJdPj4yXXwwKSsxNj4+Ml18MCkrMjQ+PjNdLStoW2Qr
KGU8PDYpKzE2Pj4zXTtoW2s+PjNdPWo7aFttPj4zXT1nO2hbbj4+M109ZjtoW2w+PjNdPWl9aFth
Pj4zXT1qO2hbYSs4Pj4zXT1nO2hbYSsxNj4+M109ZjtoW2ErMjQ+PjNdPWk7cmV0dXJufWZ1bmN0
aW9uIG5nKGIpe2I9YnwwO3ZhciBkPTAsZT0wO2I9Y1tiKzE2Pj4yXXwwO2U9YisxNnwwO2Q9MDt3
aGlsZSgxKXtiPWNbY1tiKzE4MD4+Ml0+PjJdfDA7Yj1jWyhjWygoY1tiPj4yXSYzfDApPT0yP2I6
YistNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwO2lmKChhW2IrMTU2Pj4wXXwwKSE9MSlicmVhaztp
ZigoY1tiKzE4ND4+Ml18MCkhPTEpYnJlYWs7aWYoKGNbYisxNzY+PjJdfDApIT0xKWJyZWFrO2lm
KCtoW2IrMTY+PjNdIT0raFtlPj4zXSlicmVhaztkPWQrMXwwfXJldHVybiBkfDB9ZnVuY3Rpb24g
b2coYSxiLGQsZSxmLGcpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO3ZhciBo
PTAsaT0wLGo9MCxrPTA7az1sO2w9bCszMnwwO2o9aztoPXNnKGIsLTEpfDA7Yj1zZyhiLDEpfDA7
aWYoISgoaHwwKSE9MD8hKF96KGgpfDApOjApKWk9MztkbyBpZigoaXwwKT09Myl7aWYoYnwwPyhf
eihiKXwwKT09MDowKWJyZWFrO2g9dGcoZCwtMSl8MDtiPXRnKGQsMSl8MDtpZihofDA/KF96KGgp
fDApPT0wOjApYnJlYWs7aWYoYnwwPyhfeihiKXwwKT09MDowKWJyZWFrO2g9ZSs1MnwwO2I9MDt3
aGlsZSgxKXtpZigoYnwwKT49KGNbaD4+Ml18MCkpYnJlYWs7ZD1lKzU2KyhiPDw1KXwwO2Nbaj4+
Ml09Y1tkPj4yXTtjW2orND4+Ml09Y1tkKzQ+PjJdO2Nbais4Pj4yXT1jW2QrOD4+Ml07Y1tqKzEy
Pj4yXT1jW2QrMTI+PjJdO2NbaisxNj4+Ml09Y1tkKzE2Pj4yXTtjW2orMjA+PjJdPWNbZCsyMD4+
Ml07Y1tqKzI0Pj4yXT1jW2QrMjQ+PjJdO2NbaisyOD4+Ml09Y1tkKzI4Pj4yXTtMeihhLGopO2I9
YisxfDB9aD1jW2ErODA+PjJdfDA7aT1nKy0zfDA7Yj0wO3doaWxlKDEpe2lmKChifDApPj0oZ3ww
KSlicmVhaztlPTEzNTAyNCsoYjw8NSl8MDtjW2o+PjJdPWNbZT4+Ml07Y1tqKzQ+PjJdPWNbZSs0
Pj4yXTtjW2orOD4+Ml09Y1tlKzg+PjJdO2NbaisxMj4+Ml09Y1tlKzEyPj4yXTtjW2orMTY+PjJd
PWNbZSsxNj4+Ml07Y1tqKzIwPj4yXT1jW2UrMjA+PjJdO2NbaisyND4+Ml09Y1tlKzI0Pj4yXTtj
W2orMjg+PjJdPWNbZSsyOD4+Ml07THooYSxqKTtiPWIrMXwwfWQ9aCsxfDA7aT1pK2R8MDtoPWNb
Zis1Mj4+Ml18MDt3aGlsZSgxKXtiPWgrLTF8MDtpZigoaHwwKTw9MClicmVhaztoPWYrNTYrKGI8
PDUpfDA7Y1tqPj4yXT1jW2g+PjJdO2Nbais0Pj4yXT1jW2grND4+Ml07Y1tqKzg+PjJdPWNbaCs4
Pj4yXTtjW2orMTI+PjJdPWNbaCsxMj4+Ml07Y1tqKzE2Pj4yXT1jW2grMTY+PjJdO2NbaisyMD4+
Ml09Y1toKzIwPj4yXTtjW2orMjQ+PjJdPWNbaCsyND4+Ml07Y1tqKzI4Pj4yXT1jW2grMjg+PjJd
O0x6KGEsaik7aD1ifXVnKGEsZCxpKX13aGlsZSgwKTtsPWs7cmV0dXJufWZ1bmN0aW9uIHBnKGEs
YixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wO2Y9Y1tlPj4yXXwwO3do
aWxlKDEpe2lmKCFiKWJyZWFrO2E9Y1tjWyhjWyhjWygoY1thPj4yXSYzfDApPT0yP2E6YSstNDh8
MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsxODA+PjJdPj4yXXwwO2I9YistMXwwfWNbZT4+Ml09Zisx
O2c9ZCsoZjw8NCl8MDtiPWQrKGYrLTE8PDQpfDA7Y1tnPj4yXT1jW2I+PjJdO2NbZys0Pj4yXT1j
W2IrND4+Ml07Y1tnKzg+PjJdPWNbYis4Pj4yXTtjW2crMTI+PjJdPWNbYisxMj4+Ml07Zj1jW2U+
PjJdfDA7Y1tlPj4yXT1mKzE7Zj1kKyhmPDw0KXwwO2NbZj4+Ml09Y1tiPj4yXTtjW2YrND4+Ml09
Y1tiKzQ+PjJdO2NbZis4Pj4yXT1jW2IrOD4+Ml07Y1tmKzEyPj4yXT1jW2IrMTI+PjJdO2Y9ZCso
Y1tlPj4yXTw8NCl8MDtlPShjWyhjWygoY1thPj4yXSYzfDApPT0zP2E6YSs0OHwwKSs0MD4+Ml18
MCkrMTY+PjJdfDApKzE2fDA7Y1tmPj4yXT1jW2U+PjJdO2NbZis0Pj4yXT1jW2UrND4+Ml07Y1tm
Kzg+PjJdPWNbZSs4Pj4yXTtjW2YrMTI+PjJdPWNbZSsxMj4+Ml07cmV0dXJuIGF8MH1mdW5jdGlv
biBxZyhiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLjAsZz0wLjAsaT0wLGo9MCxrPTAsbD0w
LG09MDttPWQrODR8MDtsPWQrODB8MDtlPTA7ZD1iO2E6d2hpbGUoMSl7aj1jWygoY1tkPj4yXSYz
fDApPT0yP2Q6ZCstNDh8MCkrNDA+PjJdfDA7az1qKzE2fDA7aWYoKGFbKGNbaz4+Ml18MCkrMTU2
Pj4wXXwwKSE9MSlicmVhaztpZigoJGFbY1sxNzIyOD4+Ml0mMzFdKGopfDApPDwyND4+MjQpYnJl
YWs7ZD1jW2w+PjJdfDA7d2hpbGUoMSl7aWYoKGV8MCk+PShkfDApKWJyZWFrIGE7aWYoISgraFso
Y1ttPj4yXXwwKSsoZTw8NSkrOD4+M10+K2hbKGNbaz4+Ml18MCkrMjQ+PjNdKSlicmVhaztlPWUr
MXwwfWQ9Y1ttPj4yXXwwO2I9Y1trPj4yXXwwO2RvIGlmKCEoK2hbZCsoZTw8NSkrMjQ+PjNdPCto
W2IrMjQ+PjNdKSl7Zz0raFtkKyhlPDw1KT4+M107aT1+fmc7Zj0raFtkKyhlPDw1KSsxNj4+M107
aWYoIShjW2IrMTA0Pj4yXXwwKSl7cmcoaixpLH5+KChmK2cpKi41KSx+fmYpO2JyZWFrfWVsc2V7
cmcoaixpLH5+Zix+figraFtiKzk2Pj4zXStmKSk7YnJlYWt9fXdoaWxlKDApO2Q9Y1tjWyhjW2s+
PjJdfDApKzE4MD4+Ml0+PjJdfDB9cmV0dXJufWZ1bmN0aW9uIHJnKGEsYixkLGUpe2E9YXwwO2I9
YnwwO2Q9ZHwwO2U9ZXwwO2E9Y1thKzE2Pj4yXXwwO2hbYSsxNj4+M109KyhkfDApO2hbYSs4OD4+
M109KyhkLWJ8MCk7aFthKzk2Pj4zXT0rKGUtZHwwKTtyZXR1cm59ZnVuY3Rpb24gc2coYSxiKXth
PWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTA7aD1jW2E+PjJdJjM7aT1jWyhj
WyhjWygoaHwwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsxODA+PjJdfDA7aD0o
KGh8MCk9PTI/YTphKy00OHwwKSs0MHwwO2c9MDthPTA7d2hpbGUoMSl7ZT1jW2krKGc8PDIpPj4y
XXwwO2lmKCFlKWJyZWFrO2Y9Y1soY1soY1soKGNbZT4+Ml0mM3wwKT09Mj9lOmUrLTQ4fDApKzQw
Pj4yXXwwKSsxNj4+Ml18MCkrMjM2Pj4yXXwwO2RvIGlmKChPKGYtKGNbKGNbKGNbaD4+Ml18MCkr
MTY+PjJdfDApKzIzNj4+Ml18MCl8MCxiKXwwKT49MSl7ZD1jW2UrMTY+PjJdfDA7aWYoIShjW2Qr
OD4+Ml18MCkpe2Q9Y1tkKzExNj4+Ml18MDtpZighZClicmVhaztpZighKGNbKGNbZCsxNj4+Ml18
MCkrOD4+Ml18MCkpYnJlYWt9aWYoYXwwPyhPKChjWyhjWyhjWygoY1thPj4yXSYzfDApPT0yP2E6
YSstNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzY+PjJdfDApLWZ8MCxiKXwwKTw9MDowKWJy
ZWFrO2E9ZX13aGlsZSgwKTtnPWcrMXwwfXJldHVybiBhfDB9ZnVuY3Rpb24gdGcoYSxiKXthPWF8
MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTA7aD1jW2E+PjJdJjM7aT1jWyhjWyhj
WygoaHwwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTcyPj4yXXwwO2g9KCho
fDApPT0zP2E6YSs0OHwwKSs0MHwwO2c9MDthPTA7d2hpbGUoMSl7ZT1jW2krKGc8PDIpPj4yXXww
O2lmKCFlKWJyZWFrO2Y9Y1soY1soY1soKGNbZT4+Ml0mM3wwKT09Mz9lOmUrNDh8MCkrNDA+PjJd
fDApKzE2Pj4yXXwwKSsyMzY+PjJdfDA7ZG8gaWYoKE8oZi0oY1soY1soY1toPj4yXXwwKSsxNj4+
Ml18MCkrMjM2Pj4yXXwwKXwwLGIpfDApPj0xKXtkPWNbZSsxNj4+Ml18MDtpZighKGNbZCs4Pj4y
XXwwKSl7ZD1jW2QrMTE2Pj4yXXwwO2lmKCFkKWJyZWFrO2lmKCEoY1soY1tkKzE2Pj4yXXwwKSs4
Pj4yXXwwKSlicmVha31pZihhfDA/KE8oKGNbKGNbKGNbKChjW2E+PjJdJjN8MCk9PTM/YTphKzQ4
fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjM2Pj4yXXwwKS1mfDAsYil8MCk8PTA6MClicmVhazth
PWV9d2hpbGUoMCk7Zz1nKzF8MH1yZXR1cm4gYXwwfWZ1bmN0aW9uIHVnKGEsYixkKXthPWF8MDti
PWJ8MDtkPWR8MDt2YXIgZT0wLjAsZj0wLGc9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLjA7bD1hKzg0
fDA7aT1iKy0xfDA7d2hpbGUoMSl7aWYoKGl8MCk+KGR8MCkpYnJlYWs7Zj1jW2w+PjJdfDA7aj1m
KyhpPDw1KXwwO2U9K2hbaj4+M107aWYoIShpLWImMSkpe2Y9ZisoaTw8NSkrMTZ8MDttPStoW2Y+
PjNdO2c9fn4oKG0rZSkqLjUpO2lmKGU+PW0pe2hbaj4+M109KyhnKy04fDApO2hbZj4+M109Kyhn
Kzh8MCl9fWVsc2V7Zj1mKyhpPDw1KSsxNnwwO209K2hbZj4+M107Zz1+figobStlKSouNSk7aWYo
ZSsxNi4wPm0pe2hbaj4+M109KyhnKy04fDApO2hbZj4+M109KyhnKzh8MCl9fWk9aSsxfDB9az0o
Y1thKzgwPj4yXXwwKSstMXwwO2c9MDt3aGlsZSgxKXtpZigoZ3wwKT49KGt8MCkpYnJlYWs7aT1j
W2w+PjJdfDA7Zj1pKyhnPDw1KXwwO2o9ZysxfDA7YT1pKyhqPDw1KXwwO2lmKCEoKGd8MCk8KGJ8
MCl8KGd8MCk+KGR8MCkpPyhnLWImMXwwKT09MDowKXtlPStoW2Y+PjNdKzE2LjA7Zj1pKyhqPDw1
KSsxNnwwO2lmKGU+K2hbZj4+M10paFtmPj4zXT1lO2U9K2hbaSsoZzw8NSkrMTY+PjNdKy0xNi4w
O2lmKCEoZTwraFthPj4zXSkpe2c9ajtjb250aW51ZX1oW2E+PjNdPWU7Zz1qO2NvbnRpbnVlfWlm
KCEoKGd8MCk8KGR8MCkmKGp8MCk+PShifDApKSl7Zz1qO2NvbnRpbnVlfWlmKGotYiYxfDApe2c9
ajtjb250aW51ZX1lPStoW2krKGo8PDUpKzE2Pj4zXTtpZigraFtmPj4zXSsxNi4wPmUpaFtmPj4z
XT1lKy0xNi4wO2Y9aSsoZzw8NSkrMTZ8MDtlPStoW2E+PjNdO2lmKCEoK2hbZj4+M10rLTE2LjA8
ZSkpe2c9ajtjb250aW51ZX1oW2Y+PjNdPWUrMTYuMDtnPWp9cmV0dXJufWZ1bmN0aW9uIHZnKGEs
YixjLGQsZSl7YT1hfDA7Yj0rYjtjPStjO2Q9K2Q7ZT0rZTtoW2E+PjNdPWI7aFthKzg+PjNdPWM7
aFthKzE2Pj4zXT1kO2hbYSsyND4+M109ZTtyZXR1cm59ZnVuY3Rpb24gd2coYixkLGUsZixnKXti
PWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGk9MCxqPTAsaz0wO2s9Y1soY1ti
KzE2Pj4yXXwwKSsxOTY+PjJdfDA7aD1jW2QrMTY+PjJdfDA7aj1jW2grMjMyPj4yXXwwO2k9ayso
ajw8Nil8MDtqPWsrKGo8PDYpKzR8MDtoPWNbaCsyMzY+PjJdfDA7YTpkb3toPWgrZ3wwO2lmKCho
fDApPD0tMSl7Yj0wO2JyZWFrfWlmKChofDApPj0oY1tpPj4yXXwwKSl7Yj0wO2JyZWFrfWI9Y1so
Y1tqPj4yXXwwKSsoaDw8Mik+PjJdfDA7az1jW2IrMTY+PjJdfDA7c3dpdGNoKGFbaysxNTY+PjBd
fDApe2Nhc2UgMDpicmVhayBhO2Nhc2UgMTp7aWYoY1trKzEwND4+Ml18MClicmVhayBhO2JyZWFr
fWRlZmF1bHQ6e319fXdoaWxlKCh6ZyhiLGQsZSxmKXwwKTw8MjQ+PjI0IT0wKTtyZXR1cm4gYnww
fWZ1bmN0aW9uIHhnKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0w
O2Q9Y1tkKzE2Pj4yXXwwO2lmKCEoYVtkKzE1Nj4+MF18MCkpe2k9Y1tkKzIxMj4+Ml18MDtoPWl9
ZWxzZXtpPWNbKGNbKGNbY1tkKzE4MD4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsxMTY+PjJdfDA7Zz1j
W2k+PjJdJjM7aD1jWyhjWyhjWygoZ3wwKT09Mj9pOmkrLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18
MCkrMjEyPj4yXXwwO2k9Y1soY1soY1soKGd8MCk9PTM/aTppKzQ4fDApKzQwPj4yXXwwKSsxNj4+
Ml18MCkrMjEyPj4yXXwwfWQ9Y1tlKzE2Pj4yXXwwO2lmKCEoYVtkKzE1Nj4+MF18MCkpe2U9Y1tk
KzIxMj4+Ml18MDtlPShlfDApPT0oYnwwKT8wOmU7cmV0dXJuICgoZXwwKT09KGh8MCl8KChlfDAp
PT0wfChlfDApPT0oaXwwKSk/MDplKXwwfWY9Y1soY1soY1tjW2QrMTgwPj4yXT4+Ml18MCkrMTY+
PjJdfDApKzExNj4+Ml18MDtnPWNbZj4+Ml0mMztkPWNbKGNbKGNbKChnfDApPT0zP2Y6Zis0OHww
KSs0MD4+Ml18MCkrMTY+PjJdfDApKzIxMj4+Ml18MDtkPShkfDApPT0oYnwwKT8wOmQ7aWYoISgh
KChkfDApPT0oaHwwKXwoKGR8MCk9PTB8KGR8MCk9PShpfDApKSk/KHlnKGQsZSl8MCkhPTA6MCkp
e2Q9Y1soY1soY1soKGd8MCk9PTI/ZjpmKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIxMj4+
Ml18MDtkPShkfDApPT0oYnwwKT8wOmQ7aWYoKGR8MCk9PShofDApfCgoZHwwKT09MHwoZHwwKT09
KGl8MCkpKWQ9MDtlbHNle2U9KHlnKGQsZSl8MCk9PTA7cmV0dXJuIChlPzA6ZCl8MH19cmV0dXJu
IGR8MH1mdW5jdGlvbiB5ZyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLjAsZj0wLjA7ZD1j
W2ErMTY+PjJdfDA7YT1jW2IrMTY+PjJdfDA7Zj0raFthKzE2Pj4zXTtpZigoK2hbZCsxNj4+M108
PWY/Zjw9K2hbZCszMj4+M106MCk/KGU9K2hbYSsyND4+M10sK2hbZCsyND4+M108PWUpOjApYT1l
PD0raFtkKzQwPj4zXSYxO2Vsc2UgYT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gemcoYixkLGUsZil7
Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaT0wLGo9MDtpPWNbYisxNj4+Ml18
MDtqPShjW2krMjM2Pj4yXXwwKT4oY1soY1tkKzE2Pj4yXXwwKSsyMzY+PjJdfDApO2E6ZG8gaWYo
KGNbaSsxODQ+PjJdfDApPT0xKXtiOmRvIGlmKGZ8MCl7aD0wO2I9Y1tjW2krMTgwPj4yXT4+Ml18
MDt3aGlsZSgxKXtpZigoaHwwKT49MilicmVhayBiO2I9Y1soKGNbYj4+Ml0mM3wwKT09Mj9iOmIr
LTQ4fDApKzQwPj4yXXwwO2Q9Y1soKGNbZj4+Ml0mM3wwKT09Mj9mOmYrLTQ4fDApKzQwPj4yXXww
O2lmKChifDApPT0oZHwwKSlicmVhayBiO2c9Y1tiKzE2Pj4yXXwwO2I9Y1tkKzE2Pj4yXXwwO2lm
KGpeKGNbZysyMzY+PjJdfDApPihjW2IrMjM2Pj4yXXwwKSl7Yj0xO2JyZWFrIGF9aWYoKGNbZysx
ODQ+PjJdfDApIT0xKWJyZWFrIGI7aWYoIShhW2crMTU2Pj4wXXwwKSlicmVhayBiO2lmKChjW2Ir
MTg0Pj4yXXwwKSE9MSlicmVhayBiO2lmKCEoYVtiKzE1Nj4+MF18MCkpYnJlYWsgYjtoPWgrMXww
O2Y9Y1tjW2IrMTgwPj4yXT4+Ml18MDtiPWNbY1tnKzE4MD4+Ml0+PjJdfDB9fXdoaWxlKDApO2lm
KGV8MD8oY1tpKzE3Nj4+Ml18MCk9PTE6MCl7Zz0wO2Q9ZTtiPWNbY1tpKzE3Mj4+Ml0+PjJdfDA7
d2hpbGUoMSl7aWYoKGd8MCk+PTIpe2I9MDticmVhayBhfWI9Y1soKGNbYj4+Ml0mM3wwKT09Mz9i
OmIrNDh8MCkrNDA+PjJdfDA7ZD1jWygoY1tkPj4yXSYzfDApPT0zP2Q6ZCs0OHwwKSs0MD4+Ml18
MDtpZigoYnwwKT09KGR8MCkpe2I9MDticmVhayBhfWY9Y1tiKzE2Pj4yXXwwO2I9Y1tkKzE2Pj4y
XXwwO2lmKGpeKGNbZisyMzY+PjJdfDApPihjW2IrMjM2Pj4yXXwwKSl7Yj0xO2JyZWFrIGF9aWYo
KGNbZisxNzY+PjJdfDApIT0xKXtiPTA7YnJlYWsgYX1pZighKGFbZisxNTY+PjBdfDApKXtiPTA7
YnJlYWsgYX1pZigoY1tiKzE3Nj4+Ml18MCkhPTEpe2I9MDticmVhayBhfWlmKCEoYVtiKzE1Nj4+
MF18MCkpe2I9MDticmVhayBhfWc9ZysxfDA7ZD1jW2NbYisxNzI+PjJdPj4yXXwwO2I9Y1tjW2Yr
MTcyPj4yXT4+Ml18MH19ZWxzZSBiPTB9ZWxzZSBiPTA7d2hpbGUoMCk7cmV0dXJuIGJ8MH1mdW5j
dGlvbiBBZyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MC4wO2Q9K2hbYys4Pj4zXSsg
K2hbYis4Pj4zXTtoW2E+PjNdPStoW2M+PjNdKyAraFtiPj4zXTtoW2ErOD4+M109ZDtyZXR1cm59
ZnVuY3Rpb24gQmcoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMCxlPTAuMDtkPSto
W2IrOD4+M107ZT0raFtiPj4zXTtyZXR1cm4gKH5+KCgraFtjPj4zXS1lKSooK2hbYSs4Pj4zXS1k
KS0oK2hbYT4+M10tZSkqKCtoW2MrOD4+M10tZCkpfDApPjB8MH1mdW5jdGlvbiBDZyhiLGQsZSxm
LGcsaSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aT1pfDA7dmFyIGo9MCxrPTAsbT0w
LjAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAuMCx0PTAsdT0wLHY9MC4wLHc9MC4wLHg9MCx5PTAs
ej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxO
PTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTA7Uj1sO2w9bCsyNTZ8MDtEPVIrMjMyfDA7Qz1SKzIx
NnwwO1A9Uis4OHwwO089Uis4MHwwO0s9Uis2NHwwO0w9UisyMDB8MDtNPVIrMTg0fDA7Tj1SO0U9
UisxNjh8MDtGPVIrMTUyfDA7Rz1SKzEzNnwwO0g9UisxMjB8MDtJPVIrMTA0fDA7Qj1jW2c+PjJd
JjM7Sj1jWygoQnwwKT09Mz9nOmcrNDh8MCkrNDA+PjJdfDA7Qj1jWygoQnwwKT09Mj9nOmcrLTQ4
fDApKzQwPj4yXXwwO2RvIGlmKChCeShKKXwwKSE9Mj8oQnkoQil8MCkhPTI6MCl7Zz0wO2o9MDtr
PTA7d2hpbGUoMSl7aWYoKGt8MCk+PShmfDApKWJyZWFrO0E9Y1soY1tkKyhrK2U8PDIpPj4yXXww
KSsxNj4+Ml18MDtnPWcrKChjW0ErOTY+PjJdfDApIT0wJjEpfDA7aWYoISgoYVtBKzQ0Pj4wXXww
KT09MD8oYVtBKzg0Pj4wXXwwKT09MDowKSlqPTE7az1rKzF8MH1pZighailpZighZyl7RWcoSixC
LGQsZSxmLGkpO2JyZWFrfWVsc2V7SmcoSixCLGQsZSxmLGksZyk7YnJlYWt9eT12dygxNTYpfDA7
ej1LZyhiLHkpfDA7dD1JcCh6LDc4MzIwLDEpfDA7Tm8odCwxMjIyNzcsMjgwLDEpfDA7S20odCw4
MDAxOCw4MDAzMil8MDttPStoWyhjW0IrMTY+PjJdfDApKzE2Pj4zXTtzPStoWyhjW0orMTY+PjJd
fDApKzE2Pj4zXTtBPWIrMTZ8MDtxPShjWyhjW0E+PjJdfDApKzExNj4+Ml0mMXwwKT09MDtyPXE/
QjpKO3E9cT9KOkI7dD1MZyh0LHEpfDA7dT1MZyh6LHIpfDA7Zz0wO3A9MDt3aGlsZSgxKXtpZigo
cHwwKT49KGZ8MCkpYnJlYWs7aj1kKyhwK2U8PDIpfDA7d2hpbGUoMSl7bz1jW2o+PjJdfDA7bj1v
KzE2fDA7aj1jW24+PjJdfDA7aWYoIShhW2orMTEyPj4wXXwwKSlicmVhaztlbHNlIGo9aisxMTZ8
MH1pZigoY1soKGNbbz4+Ml0mM3wwKT09Mz9vOm8rNDh8MCkrNDA+PjJdfDApPT0ocXwwKSlrPU1n
KHosdCx1LG8pfDA7ZWxzZSBrPU1nKHosdSx0LG8pfDA7aj1jW24+PjJdfDA7Y1tqKzEyMD4+Ml09
aztpZighZylpZigoYVtqKzQ0Pj4wXXwwKT09MD8oYVtqKzg0Pj4wXXwwKT09MDowKXtjWyhjW2sr
MTY+PjJdfDApKzEyMD4+Ml09bztnPWt9ZWxzZSBnPTA7cD1wKzF8MH1pZighZyl4PWFuKHosdCx1
LDAsMSl8MDtlbHNlIHg9ZztDbSh4LGNbNDIyMThdfDAsNzgzMjQpfDA7Zz16KzE2fDA7bj1jW2c+
PjJdfDA7Y1tuKzE0ND4+Ml09Y1soY1tBPj4yXXwwKSsxNDQ+PjJdO2NbbisxODg+PjJdPXo7SUIo
eixpKTtCZih6KTtraih6LDApO3VoKHosMCk7eGkoeiwwKTtxPXErMTZ8MDtpPWNbcT4+Ml18MDtu
PWNbcisxNj4+Ml18MDtyPXQrMTZ8MDtvPWNbcj4+Ml18MDtwPW8rMTZ8MDt2PSsofn5tfDApO3c9
Kyh+figoK2hbKGNbdSsxNj4+Ml18MCkrMTY+PjNdKyAraFtwPj4zXSkqLjUpfDApO209Kyh+fnN8
MCk7cz0rKH5+KCgraFtpKzE2Pj4zXS0raFtpKzk2Pj4zXSsgK2hbbisxNj4+M10rICtoW24rODg+
PjNdKSouNSl8MCk7bj1vKzI0fDA7Zz0oY1tnPj4yXXwwKSsxOTJ8MDt3aGlsZSgxKXtqPWNbZz4+
Ml18MDtpZighailicmVhaztkbyBpZigoanwwKSE9KHR8MCkpe2c9Y1tqKzE2Pj4yXXwwO2s9Zysy
NHwwO2lmKChqfDApPT0odXwwKSl7aFtrPj4zXT1tO2hbZysxNj4+M109dzticmVha31lbHNle2hb
az4+M109czticmVha319ZWxzZXtoW24+PjNdPXY7aFtwPj4zXT13O2c9b313aGlsZSgwKTtnPWcr
MTY0fDB9ZWsoeik7WWYoeiwwKTskeCh6KTtrPWNbcT4+Ml18MDtnPWNbcj4+Ml18MDtpZighKGNb
KGNbQT4+Ml18MCkrMTE2Pj4yXSYxKSl7aj1nKzE2fDA7bT0raFtrKzI0Pj4zXS0raFtnKzI0Pj4z
XX1lbHNle2o9ZysyNHwwO209K2hbZysxNj4+M10rICtoW2srMjQ+PjNdfWhbSz4+M109K2hbaysx
Nj4+M10tK2hbaj4+M107aFtLKzg+PjNdPW07aT1OKzE2fDA7dD1OKzMyfDA7dT1OKzQ4fDA7cj0w
O3doaWxlKDEpe2lmKChyfDApPj0oZnwwKSlicmVhaztnPWQrKHIrZTw8Mil8MDt3aGlsZSgxKXtq
PWNbZz4+Ml18MDtxPWorMTZ8MDtnPWNbcT4+Ml18MDtpZighKGFbZysxMTI+PjBdfDApKWJyZWFr
O2Vsc2UgZz1nKzExNnwwfW89Y1tnKzEyMD4+Ml18MDtwPW8rMTZ8MDtnPWNbcD4+Ml18MDtpZigh
KChvfDApPT0oeHwwKSYoY1tnKzEyMD4+Ml18MCk9PTApKXtuPWNbY1tnKzg+PjJdPj4yXXwwO289
bis0fDA7aj1JeihqLGNbbz4+Ml18MCl8MDtjW2orOD4+Ml09Y1tuKzg+PjJdO2c9aisxNnwwO2s9
bisxNnwwO1M9Y1soY1tBPj4yXXwwKSsxMTY+PjJdJjE7Y1tDPj4yXT1jW2s+PjJdO2NbQys0Pj4y
XT1jW2srND4+Ml07Y1tDKzg+PjJdPWNbays4Pj4yXTtjW0MrMTI+PjJdPWNbaysxMj4+Ml07Y1tE
Pj4yXT1jW0s+PjJdO2NbRCs0Pj4yXT1jW0srND4+Ml07Y1tEKzg+PjJdPWNbSys4Pj4yXTtjW0Qr
MTI+PjJdPWNbSysxMj4+Ml07TmcoTCxDLEQsUyk7Y1tnPj4yXT1jW0w+PjJdO2NbZys0Pj4yXT1j
W0wrND4+Ml07Y1tnKzg+PjJdPWNbTCs4Pj4yXTtjW2crMTI+PjJdPWNbTCsxMj4+Ml07Y1tqKzEy
Pj4yXT1jW24rMTI+PjJdO2c9aiszMnwwO1M9biszMnwwO2s9Y1soY1tBPj4yXXwwKSsxMTY+PjJd
JjE7Y1tDPj4yXT1jW1M+PjJdO2NbQys0Pj4yXT1jW1MrND4+Ml07Y1tDKzg+PjJdPWNbUys4Pj4y
XTtjW0MrMTI+PjJdPWNbUysxMj4+Ml07Y1tEPj4yXT1jW0s+PjJdO2NbRCs0Pj4yXT1jW0srND4+
Ml07Y1tEKzg+PjJdPWNbSys4Pj4yXTtjW0QrMTI+PjJdPWNbSysxMj4+Ml07TmcoTSxDLEQsayk7
Y1tnPj4yXT1jW00+PjJdO2NbZys0Pj4yXT1jW00rND4+Ml07Y1tnKzg+PjJdPWNbTSs4Pj4yXTtj
W2crMTI+PjJdPWNbTSsxMj4+Ml07Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oY1tvPj4yXXwwKSli
cmVhaztrPShjW2o+PjJdfDApKyhnPDw0KXwwO1Q9KGNbbj4+Ml18MCkrKGc8PDQpfDA7Uz1jWyhj
W0E+PjJdfDApKzExNj4+Ml0mMTtjW0M+PjJdPWNbVD4+Ml07Y1tDKzQ+PjJdPWNbVCs0Pj4yXTtj
W0MrOD4+Ml09Y1tUKzg+PjJdO2NbQysxMj4+Ml09Y1tUKzEyPj4yXTtjW0Q+PjJdPWNbSz4+Ml07
Y1tEKzQ+PjJdPWNbSys0Pj4yXTtjW0QrOD4+Ml09Y1tLKzg+PjJdO2NbRCsxMj4+Ml09Y1tLKzEy
Pj4yXTtOZyhFLEMsRCxTKTtjW2s+PjJdPWNbRT4+Ml07Y1trKzQ+PjJdPWNbRSs0Pj4yXTtjW2sr
OD4+Ml09Y1tFKzg+PjJdO2NbaysxMj4+Ml09Y1tFKzEyPj4yXTtjW04+PjJdPWNbRT4+Ml07Y1tO
KzQ+PjJdPWNbRSs0Pj4yXTtjW04rOD4+Ml09Y1tFKzg+PjJdO2NbTisxMj4+Ml09Y1tFKzEyPj4y
XTtrPWcrMXwwO2lmKChrfDApPj0oY1tvPj4yXXwwKSl7UT00ODticmVha31TPShjW2o+PjJdfDAp
KyhrPDw0KXwwO2s9KGNbbj4+Ml18MCkrKGs8PDQpfDA7VD1jWyhjW0E+PjJdfDApKzExNj4+Ml0m
MTtjW0M+PjJdPWNbaz4+Ml07Y1tDKzQ+PjJdPWNbays0Pj4yXTtjW0MrOD4+Ml09Y1trKzg+PjJd
O2NbQysxMj4+Ml09Y1trKzEyPj4yXTtjW0Q+PjJdPWNbSz4+Ml07Y1tEKzQ+PjJdPWNbSys0Pj4y
XTtjW0QrOD4+Ml09Y1tLKzg+PjJdO2NbRCsxMj4+Ml09Y1tLKzEyPj4yXTtOZyhGLEMsRCxUKTtj
W1M+PjJdPWNbRj4+Ml07Y1tTKzQ+PjJdPWNbRis0Pj4yXTtjW1MrOD4+Ml09Y1tGKzg+PjJdO2Nb
UysxMj4+Ml09Y1tGKzEyPj4yXTtjW2k+PjJdPWNbRj4+Ml07Y1tpKzQ+PjJdPWNbRis0Pj4yXTtj
W2krOD4+Ml09Y1tGKzg+PjJdO2NbaSsxMj4+Ml09Y1tGKzEyPj4yXTtTPWcrMnwwO1Q9KGNbaj4+
Ml18MCkrKFM8PDQpfDA7Uz0oY1tuPj4yXXwwKSsoUzw8NCl8MDtrPWNbKGNbQT4+Ml18MCkrMTE2
Pj4yXSYxO2NbQz4+Ml09Y1tTPj4yXTtjW0MrND4+Ml09Y1tTKzQ+PjJdO2NbQys4Pj4yXT1jW1Mr
OD4+Ml07Y1tDKzEyPj4yXT1jW1MrMTI+PjJdO2NbRD4+Ml09Y1tLPj4yXTtjW0QrND4+Ml09Y1tL
KzQ+PjJdO2NbRCs4Pj4yXT1jW0srOD4+Ml07Y1tEKzEyPj4yXT1jW0srMTI+PjJdO05nKEcsQyxE
LGspO2NbVD4+Ml09Y1tHPj4yXTtjW1QrND4+Ml09Y1tHKzQ+PjJdO2NbVCs4Pj4yXT1jW0crOD4+
Ml07Y1tUKzEyPj4yXT1jW0crMTI+PjJdO2NbdD4+Ml09Y1tHPj4yXTtjW3QrND4+Ml09Y1tHKzQ+
PjJdO2NbdCs4Pj4yXT1jW0crOD4+Ml07Y1t0KzEyPj4yXT1jW0crMTI+PjJdO1Q9ZyszfDA7az0o
Y1tuPj4yXXwwKSsoVDw8NCl8MDtTPWNbKGNbQT4+Ml18MCkrMTE2Pj4yXSYxO2NbQz4+Ml09Y1tr
Pj4yXTtjW0MrND4+Ml09Y1trKzQ+PjJdO2NbQys4Pj4yXT1jW2srOD4+Ml07Y1tDKzEyPj4yXT1j
W2srMTI+PjJdO2NbRD4+Ml09Y1tLPj4yXTtjW0QrND4+Ml09Y1tLKzQ+PjJdO2NbRCs4Pj4yXT1j
W0srOD4+Ml07Y1tEKzEyPj4yXT1jW0srMTI+PjJdO05nKEgsQyxELFMpO2NbdT4+Ml09Y1tIPj4y
XTtjW3UrND4+Ml09Y1tIKzQ+PjJdO2NbdSs4Pj4yXT1jW0grOD4+Ml07Y1t1KzEyPj4yXT1jW0gr
MTI+PjJdO2V1KChjW0E+PjJdfDApKzE2fDAsTik7Zz1UfWlmKChRfDApPT00OClRPTA7Zz1jWyhj
W3E+PjJdfDApKzk2Pj4yXXwwO2lmKGd8MCl7VD1nKzU2fDA7cD0oY1soY1twPj4yXXwwKSs5Nj4+
Ml18MCkrNTZ8MDtTPWNbKGNbQT4+Ml18MCkrMTE2Pj4yXSYxO2NbQz4+Ml09Y1twPj4yXTtjW0Mr
ND4+Ml09Y1twKzQ+PjJdO2NbQys4Pj4yXT1jW3ArOD4+Ml07Y1tDKzEyPj4yXT1jW3ArMTI+PjJd
O2NbRD4+Ml09Y1tLPj4yXTtjW0QrND4+Ml09Y1tLKzQ+PjJdO2NbRCs4Pj4yXT1jW0srOD4+Ml07
Y1tEKzEyPj4yXT1jW0srMTI+PjJdO05nKEksQyxELFMpO2NbVD4+Ml09Y1tJPj4yXTtjW1QrND4+
Ml09Y1tJKzQ+PjJdO2NbVCs4Pj4yXT1jW0krOD4+Ml07Y1tUKzEyPj4yXT1jW0krMTI+PjJdO1Q9
Y1soY1txPj4yXXwwKSs5Nj4+Ml18MDthW1QrODE+PjBdPTE7YkIoYixUKX19cj1yKzF8MH1PZyh6
LHkpfWVsc2UgUT0zO3doaWxlKDApO2lmKChRfDApPT0zPyhjWzQxOTI0XXwwKT09MDowKXtjWzQx
OTI0XT0xO19sKDAsNzgxOTcsTyl8MDtRPURuKEopfDA7Uz0ocW4oYil8MCkhPTA7VD1EbihCKXww
O2NbUD4+Ml09UTtjW1ArND4+Ml09Uz8xMjI1NDY6MTIyNTQ5O2NbUCs4Pj4yXT1UO19sKDMsNzgz
MDMsUCl8MH1sPVI7cmV0dXJufWZ1bmN0aW9uIERnKGIsZCxlLGYsZyl7Yj1ifDA7ZD1kfDA7ZT1l
fDA7Zj1mfDA7Zz1nfDA7dmFyIGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9
MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLjAsQj0wLjAsQz0wLjAsRD0wLjAsRT0w
LjA7ej1sO2w9bCsxNjAwfDA7dT16KzE1NTJ8MDtuPXorMTUzNnwwO3Q9eis4NDB8MDt2PXorMTQ0
fDA7dz16KzE1ODR8MDtqPXorMzJ8MDtzPXorMTZ8MDtvPXo7cT1jW2Y+PjJdJjM7cD1jWygocXww
KT09Mz9mOmYrNDh8MCkrNDA+PjJdfDA7eD1mKy00OHwwO3E9Y1soKHF8MCk9PTI/Zjp4KSs0MD4+
Ml18MDtyPWYrMTZ8MDtrPWNbcj4+Ml18MDtpPWNbaysxNzI+PjJdfDA7d2hpbGUoMSl7bT1jWyhj
W2krMTY+PjJdfDApKzE3Mj4+Ml18MDtpZighbSlicmVhaztlbHNlIGk9bX1rPShjW2srOTY+PjJd
fDApKzU2fDA7aT0oY1soKGNbaT4+Ml0mM3wwKT09Mz9pOmkrNDh8MCkrNDA+PjJdfDApKzE2fDA7
bT0oY1tpPj4yXXwwKSsxNnwwO2Nbaz4+Ml09Y1ttPj4yXTtjW2srND4+Ml09Y1ttKzQ+PjJdO2Nb
ays4Pj4yXT1jW20rOD4+Ml07Y1trKzEyPj4yXT1jW20rMTI+PjJdO2s9Y1tyPj4yXXwwO2FbKGNb
ays5Nj4+Ml18MCkrODE+PjBdPTE7aWYoKGd8MCkhPTIpe2s9Y1tpPj4yXXwwO0M9K2hbaysxNj4+
M107RT1DLStoW2srODg+PjNdO0M9K2hbays5Nj4+M10rQztCPStoW2srMjQ+PjNdO0Q9K2hbays4
MD4+M10qLjUrQjtrPWNbKGNbYisxNj4+Ml18MCkrMTk2Pj4yXXwwO209Y1twKzE2Pj4yXXwwO2o9
Y1ttKzIzMj4+Ml18MDtCPSsofn4oKyh+fihCLStoW2srKGo8PDYpKzE2Pj4zXS0raFttKzI0Pj4z
XSsgK2hbaysoajw8NikrMjQ+PjNdKXwwKSouMTY2NjY2NjY2NjY2NjY2NjYpfDApO0I9RC0oQjw1
LjA/NS4wOkIpO0dnKGIsZCxlLHAsZix0LDEpO0dnKGIsZCxlLHEsZix2LDApO2o9dCs1MnwwO2s9
Y1tqPj4yXXwwO209aystMXwwO0E9K2hbdCs1NisobTw8NSk+PjNdO2hbMTY4NzhdPUE7aFsxNjg3
OV09K2hbdCs1NisobTw8NSkrMjQ+PjNdO2hbMTY4ODBdPUU7aFsxNjg4MV09QjtoWzE2ODgyXT1B
O2hbMTY4ODNdPUI7bT12KzUyfDA7aT0oY1ttPj4yXXwwKSstMXwwO0E9K2hbdis1NisoaTw8NSkr
MTY+PjNdO2hbMTY4ODRdPUE7aFsxNjg4NV09RDtoWzE2ODg2XT1DO2hbMTY4ODldPUI7aFsxNjg4
N109K2hbdis1NisoaTw8NSkrMjQ+PjNdO2hbMTY4ODhdPUE7aT0wO3doaWxlKDEpe2lmKChpfDAp
Pj0oa3wwKSl7aT0wO2JyZWFrfWs9dCs1NisoaTw8NSl8MDtjW3U+PjJdPWNbaz4+Ml07Y1t1KzQ+
PjJdPWNbays0Pj4yXTtjW3UrOD4+Ml09Y1trKzg+PjJdO2NbdSsxMj4+Ml09Y1trKzEyPj4yXTtj
W3UrMTY+PjJdPWNbaysxNj4+Ml07Y1t1KzIwPj4yXT1jW2srMjA+PjJdO2NbdSsyND4+Ml09Y1tr
KzI0Pj4yXTtjW3UrMjg+PjJdPWNbaysyOD4+Ml07THooZSx1KTtpPWkrMXwwO2s9Y1tqPj4yXXww
fXdoaWxlKDEpe2lmKChpfDApPT0zKWJyZWFrO3Q9MTM1MDI0KyhpPDw1KXwwO2NbdT4+Ml09Y1t0
Pj4yXTtjW3UrND4+Ml09Y1t0KzQ+PjJdO2NbdSs4Pj4yXT1jW3QrOD4+Ml07Y1t1KzEyPj4yXT1j
W3QrMTI+PjJdO2NbdSsxNj4+Ml09Y1t0KzE2Pj4yXTtjW3UrMjA+PjJdPWNbdCsyMD4+Ml07Y1t1
KzI0Pj4yXT1jW3QrMjQ+PjJdO2NbdSsyOD4+Ml09Y1t0KzI4Pj4yXTtMeihlLHUpO2k9aSsxfDB9
aj1jW20+PjJdfDA7d2hpbGUoMSl7aT1qKy0xfDA7aWYoKGp8MCk8PTApYnJlYWs7aj12KzU2Kyhp
PDw1KXwwO2NbdT4+Ml09Y1tqPj4yXTtjW3UrND4+Ml09Y1tqKzQ+PjJdO2NbdSs4Pj4yXT1jW2or
OD4+Ml07Y1t1KzEyPj4yXT1jW2orMTI+PjJdO2NbdSsxNj4+Ml09Y1tqKzE2Pj4yXTtjW3UrMjA+
PjJdPWNbaisyMD4+Ml07Y1t1KzI0Pj4yXT1jW2orMjQ+PjJdO2NbdSsyOD4+Ml09Y1tqKzI4Pj4y
XTtMeihlLHUpO2o9aX1pZigoZ3wwKT09MTApaj1ueShlLHcpfDA7ZWxzZSBqPXR5KGUsdyl8MDtp
PWNbdz4+Ml18MDtpZihpfDApeT0xN31lbHNle2k9KGNbcCsxNj4+Ml18MCkrMTZ8MDt2PWsrMTZ8
MDtjW24+PjJdPWNbaT4+Ml07Y1tuKzQ+PjJdPWNbaSs0Pj4yXTtjW24rOD4+Ml09Y1tpKzg+PjJd
O2NbbisxMj4+Ml09Y1tpKzEyPj4yXTtjW3U+PjJdPWNbdj4+Ml07Y1t1KzQ+PjJdPWNbdis0Pj4y
XTtjW3UrOD4+Ml09Y1t2Kzg+PjJdO2NbdSsxMj4+Ml09Y1t2KzEyPj4yXTtBZyhzLG4sdSk7dj0o
Y1txKzE2Pj4yXXwwKSsxNnwwO2k9KGNbcj4+Ml18MCkrNTZ8MDtjW24+PjJdPWNbdj4+Ml07Y1tu
KzQ+PjJdPWNbdis0Pj4yXTtjW24rOD4+Ml09Y1t2Kzg+PjJdO2NbbisxMj4+Ml09Y1t2KzEyPj4y
XTtjW3U+PjJdPWNbaT4+Ml07Y1t1KzQ+PjJdPWNbaSs0Pj4yXTtjW3UrOD4+Ml09Y1tpKzg+PjJd
O2NbdSsxMj4+Ml09Y1tpKzEyPj4yXTtBZyhvLG4sdSk7aT1jWyhjW3I+PjJdfDApKzk2Pj4yXXww
O0Q9K2hbaSs1Nj4+M107RT0raFtpKzY0Pj4zXS0raFtpKzMyPj4zXSouNTtpPWorMTZ8MDtjW2o+
PjJdPWNbcz4+Ml07Y1tqKzQ+PjJdPWNbcys0Pj4yXTtjW2orOD4+Ml09Y1tzKzg+PjJdO2Nbaisx
Mj4+Ml09Y1tzKzEyPj4yXTtjW2k+PjJdPWNbcz4+Ml07Y1tpKzQ+PjJdPWNbcys0Pj4yXTtjW2kr
OD4+Ml09Y1tzKzg+PjJdO2NbaSsxMj4+Ml09Y1tzKzEyPj4yXTtpPWorMzJ8MDt2PWorNDh8MDt5
PWorNjR8MDtoW2orNjQ+PjNdPUQ7aFtqKzcyPj4zXT1FO2Nbdj4+Ml09Y1t5Pj4yXTtjW3YrND4+
Ml09Y1t5KzQ+PjJdO2Nbdis4Pj4yXT1jW3krOD4+Ml07Y1t2KzEyPj4yXT1jW3krMTI+PjJdO2Nb
aT4+Ml09Y1t5Pj4yXTtjW2krND4+Ml09Y1t5KzQ+PjJdO2NbaSs4Pj4yXT1jW3krOD4+Ml07Y1tp
KzEyPj4yXT1jW3krMTI+PjJdO2k9ais4MHwwO3k9ais5NnwwO2NbeT4+Ml09Y1tvPj4yXTtjW3kr
ND4+Ml09Y1tvKzQ+PjJdO2NbeSs4Pj4yXT1jW28rOD4+Ml07Y1t5KzEyPj4yXT1jW28rMTI+PjJd
O2NbaT4+Ml09Y1tvPj4yXTtjW2krND4+Ml09Y1tvKzQ+PjJdO2NbaSs4Pj4yXT1jW28rOD4+Ml07
Y1tpKzEyPj4yXT1jW28rMTI+PjJdO2Nbdz4+Ml09NztpPTc7eT0xN31pZigoeXwwKT09MTcpSnoo
ZixjWygoY1tmPj4yXSYzfDApPT0yP2Y6eCkrNDA+PjJdfDAsaixpLDE3MjI0KTtsPXo7cmV0dXJu
fWZ1bmN0aW9uIEVnKGEsYixkLGUsZixnKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtn
PWd8MDt2YXIgaT0wLjAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MC4wLHM9MCx0PTAu
MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MC4wLEE9MC4wLEI9MC4wLEM9MC4wLEQ9MC4wLEU9MCxG
PTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MDtOPWw7bD1sKzM1MnwwO3g9TiszMzZ8
MDt3PU4rMzIwfDA7TD1OKzEyOHwwO3U9TiszMDR8MDt5PU4rMjg4fDA7TT1OKzExMnwwO0U9Tis5
NnwwO0Y9Tis4MHwwO0c9Tis2NHwwO0g9Tis0OHwwO0k9TiszMnwwO0o9TisxNnwwO0s9TjthPWEr
MTZ8MDtxPShjW2E+PjJdfDApKzE2fDA7dj0oY1tkKyhlPDwyKT4+Ml18MCkrMTZ8MDtzPShjW3Y+
PjJdfDApKzE2fDA7Y1t3Pj4yXT1jW3E+PjJdO2Nbdys0Pj4yXT1jW3ErND4+Ml07Y1t3Kzg+PjJd
PWNbcSs4Pj4yXTtjW3crMTI+PjJdPWNbcSsxMj4+Ml07Y1t4Pj4yXT1jW3M+PjJdO2NbeCs0Pj4y
XT1jW3MrND4+Ml07Y1t4Kzg+PjJdPWNbcys4Pj4yXTtjW3grMTI+PjJdPWNbcysxMj4+Ml07QWco
dSx3LHgpO0M9K2hbdT4+M107RD0raFt1Kzg+PjNdO3U9KGNbYisxNj4+Ml18MCkrMTZ8MDt2PShj
W3Y+PjJdfDApKzU2fDA7Y1t3Pj4yXT1jW3U+PjJdO2Nbdys0Pj4yXT1jW3UrND4+Ml07Y1t3Kzg+
PjJdPWNbdSs4Pj4yXTtjW3crMTI+PjJdPWNbdSsxMj4+Ml07Y1t4Pj4yXT1jW3Y+PjJdO2NbeCs0
Pj4yXT1jW3YrND4+Ml07Y1t4Kzg+PjJdPWNbdis4Pj4yXTtjW3grMTI+PjJdPWNbdisxMj4+Ml07
QWcoeSx3LHgpO0E9K2hbeT4+M107Qj0raFt5Kzg+PjNdO2lmKChmfDApPjEpe3o9K2hbKGNbYT4+
Ml18MCkrODA+PjNdO2k9eiouNTt6PXovKyhmKy0xfDApfWVsc2V7aT0wLjA7ej0wLjB9cD0oZ3w4
fDApPT0xMDttPUwrOHwwO3E9TCsxNnwwO3I9KEErQyoyLjApKi4zMzMzMzMzMzMzMzMzMzMzO3M9
TCszMnwwO3Q9KEEqMi4wK0MpKi4zMzMzMzMzMzMzMzMzMzMzO249TCsyNHwwO3U9TCs0OHwwO3Y9
TCs2NHwwO3c9TCs4MHwwO3g9TCs5NnwwO3k9TCsxMTJ8MDtrPUwrMTI4fDA7bz1MKzEzNnwwO2k9
RC1pO2I9MDt3aGlsZSgxKXtpZigoYnwwKT49KGZ8MCkpYnJlYWs7aj1jW2QrKGIrZTw8Mik+PjJd
fDA7aFtMPj4zXT1DO2hbbT4+M109RDtpZihwKXtJZyhNLHIsaSk7Y1txPj4yXT1jW00+PjJdO2Nb
cSs0Pj4yXT1jW00rND4+Ml07Y1txKzg+PjJdPWNbTSs4Pj4yXTtjW3ErMTI+PjJdPWNbTSsxMj4+
Ml07SWcoRSx0LGkpO2Nbcz4+Ml09Y1tFPj4yXTtjW3MrND4+Ml09Y1tFKzQ+PjJdO2Nbcys4Pj4y
XT1jW0UrOD4+Ml07Y1tzKzEyPj4yXT1jW0UrMTI+PjJdO2E9NDtnPTN9ZWxzZXtoW3E+PjNdPUM7
aFtuPj4zXT1EO0lnKEYscixpKTtjW3M+PjJdPWNbRj4+Ml07Y1tzKzQ+PjJdPWNbRis0Pj4yXTtj
W3MrOD4+Ml09Y1tGKzg+PjJdO2NbcysxMj4+Ml09Y1tGKzEyPj4yXTtJZyhHLHIsaSk7Y1t1Pj4y
XT1jW0c+PjJdO2NbdSs0Pj4yXT1jW0crND4+Ml07Y1t1Kzg+PjJdPWNbRys4Pj4yXTtjW3UrMTI+
PjJdPWNbRysxMj4+Ml07SWcoSCxyLGkpO2Nbdj4+Ml09Y1tIPj4yXTtjW3YrND4+Ml09Y1tIKzQ+
PjJdO2Nbdis4Pj4yXT1jW0grOD4+Ml07Y1t2KzEyPj4yXT1jW0grMTI+PjJdO0lnKEksdCxpKTtj
W3c+PjJdPWNbST4+Ml07Y1t3KzQ+PjJdPWNbSSs0Pj4yXTtjW3crOD4+Ml09Y1tJKzg+PjJdO2Nb
dysxMj4+Ml09Y1tJKzEyPj4yXTtJZyhKLHQsaSk7Y1t4Pj4yXT1jW0o+PjJdO2NbeCs0Pj4yXT1j
W0orND4+Ml07Y1t4Kzg+PjJdPWNbSis4Pj4yXTtjW3grMTI+PjJdPWNbSisxMj4+Ml07SWcoSyx0
LGkpO2NbeT4+Ml09Y1tLPj4yXTtjW3krND4+Ml09Y1tLKzQ+PjJdO2NbeSs4Pj4yXT1jW0srOD4+
Ml07Y1t5KzEyPj4yXT1jW0srMTI+PjJdO2hbaz4+M109QTtoW28+PjNdPUI7YT0xMDtnPTl9aFtM
KyhnPDw0KT4+M109QTtoW0wrKGc8PDQpKzg+PjNdPUI7SnooaixjWygoY1tqPj4yXSYzfDApPT0y
P2o6aistNDh8MCkrNDA+PjJdfDAsTCxhLDE3MjI0KTtpPWkrejtiPWIrMXwwfWw9TjtyZXR1cm59
ZnVuY3Rpb24gRmcoYSxkLGUsZixnLGksaixrKXthPWF8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8
MDtpPWl8MDtqPWp8MDtrPWt8MDt2YXIgbT0wLG49MC4wLG89MCxwPTAscT0wLHI9MCxzPTAuMCx0
PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAuMCxBPTAuMCxCPTAuMCxDPTAuMCxEPTAuMDt4PWw7
bD1sKzE0NDB8MDt0PXgrMTM5MnwwO3Y9eCsxNDI0fDA7dz14KzY5NnwwO3U9eDtyPWNbaj4+Ml0m
MztxPWNbKChyfDApPT0zP2o6ais0OHwwKSs0MD4+Ml18MDtyPWNbKChyfDApPT0yP2o6aistNDh8
MCkrNDA+PjJdfDA7bT1jW3ErMTY+PjJdfDA7bz1jW20rMjMyPj4yXXwwO3A9Y1thKzE2Pj4yXXww
O2lmKChvfDApPChiW3ArMjM4Pj4xXXwwKSl7eT1jW3ArMTk2Pj4yXXwwO3A9bysxfDA7bj0raFtt
KzI0Pj4zXS0raFt5KyhvPDw2KSszMj4+M10tK2hbKGNbKGNbY1t5KyhwPDw2KSs0Pj4yXT4+Ml18
MCkrMTY+PjJdfDApKzI0Pj4zXS0raFt5KyhwPDw2KSs0MD4+M119ZWxzZSBuPSsoY1twKzI1Mj4+
Ml18MCk7ej0rKGkrMXwwKTtzPSsoY1tkKzEyPj4yXXwwKS96O249bi96O0hnKGEsZCxlLHEsaix3
LDEpO0hnKGEsZCxlLHIsaix1LDApO3I9dys1MnwwO2o9dSs1MnwwO2E9KGt8MCk9PTA7ZD1lKzgw
fDA7bT0wO3doaWxlKDEpe2lmKChtfDApPj0oaXwwKSlicmVhaztxPWNbZisobStnPDwyKT4+Ml18
MDtwPWNbcj4+Ml18MDtvPXArLTF8MDtEPStoW3crNTYrKG88PDUpPj4zXTtCPStoW3crNTYrKG88
PDUpKzg+PjNdO0M9K2hbdys1Nisobzw8NSkrMTY+PjNdO2hbMTY4NzhdPUQ7aFsxNjg4MV09Qjtt
PW0rMXwwO3o9KyhtfDApO0E9cyp6O2hbMTY4ODBdPUMrQTt6PUItbip6O2hbMTY4NzldPXo7aFsx
Njg4Ml09RDtoWzE2ODg1XT16O289KGNbaj4+Ml18MCkrLTF8MDtEPStoW3UrNTYrKG88PDUpKzE2
Pj4zXTtoWzE2ODg0XT1EO2hbMTY4ODNdPXotbjtCPStoW3UrNTYrKG88PDUpPj4zXTtDPStoW3Ur
NTYrKG88PDUpKzg+PjNdO2hbMTY4ODhdPUQ7aFsxNjg4OV09QztoWzE2ODg2XT1CLUE7aFsxNjg4
N109ejtvPTA7d2hpbGUoMSl7aWYoKG98MCk+PShwfDApKXtvPTA7YnJlYWt9cD13KzU2KyhvPDw1
KXwwO2NbdD4+Ml09Y1twPj4yXTtjW3QrND4+Ml09Y1twKzQ+PjJdO2NbdCs4Pj4yXT1jW3ArOD4+
Ml07Y1t0KzEyPj4yXT1jW3ArMTI+PjJdO2NbdCsxNj4+Ml09Y1twKzE2Pj4yXTtjW3QrMjA+PjJd
PWNbcCsyMD4+Ml07Y1t0KzI0Pj4yXT1jW3ArMjQ+PjJdO2NbdCsyOD4+Ml09Y1twKzI4Pj4yXTtM
eihlLHQpO289bysxfDA7cD1jW3I+PjJdfDB9d2hpbGUoMSl7aWYoKG98MCk9PTMpYnJlYWs7eT0x
MzUwMjQrKG88PDUpfDA7Y1t0Pj4yXT1jW3k+PjJdO2NbdCs0Pj4yXT1jW3krND4+Ml07Y1t0Kzg+
PjJdPWNbeSs4Pj4yXTtjW3QrMTI+PjJdPWNbeSsxMj4+Ml07Y1t0KzE2Pj4yXT1jW3krMTY+PjJd
O2NbdCsyMD4+Ml09Y1t5KzIwPj4yXTtjW3QrMjQ+PjJdPWNbeSsyND4+Ml07Y1t0KzI4Pj4yXT1j
W3krMjg+PjJdO0x6KGUsdCk7bz1vKzF8MH1wPWNbaj4+Ml18MDt3aGlsZSgxKXtvPXArLTF8MDtp
ZigocHwwKTw9MClicmVhaztwPXUrNTYrKG88PDUpfDA7Y1t0Pj4yXT1jW3A+PjJdO2NbdCs0Pj4y
XT1jW3ArND4+Ml07Y1t0Kzg+PjJdPWNbcCs4Pj4yXTtjW3QrMTI+PjJdPWNbcCsxMj4+Ml07Y1t0
KzE2Pj4yXT1jW3ArMTY+PjJdO2NbdCsyMD4+Ml09Y1twKzIwPj4yXTtjW3QrMjQ+PjJdPWNbcCsy
ND4+Ml07Y1t0KzI4Pj4yXT1jW3ArMjg+PjJdO0x6KGUsdCk7cD1vfWlmKGEpbz10eShlLHYpfDA7
ZWxzZSBvPW55KGUsdil8MDtwPWNbdj4+Ml18MDtpZighcClicmVhaztKeihxLGNbKChjW3E+PjJd
JjN8MCk9PTI/cTpxKy00OHwwKSs0MD4+Ml18MCxvLHAsMTcyMjQpO2NbZD4+Ml09MH1sPXg7cmV0
dXJufWZ1bmN0aW9uIEdnKGEsYixkLGUsZixnLGkpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9
ZnwwO2c9Z3wwO2k9aXwwO3ZhciBqPTAsaz0wLG09MCxuPTAsbz0wLHA9MC4wO249bDtsPWwrMTI4
fDA7aj1uKzk2fDA7az1uKzY0fDA7bz1uKzMyfDA7bT1uO2pnKG8sYSxiLGUsMCxmKTtjW2c+PjJd
PWNbbz4+Ml07Y1tnKzQ+PjJdPWNbbys0Pj4yXTtjW2crOD4+Ml09Y1tvKzg+PjJdO2NbZysxMj4+
Ml09Y1tvKzEyPj4yXTtjW2crMTY+PjJdPWNbbysxNj4+Ml07Y1tnKzIwPj4yXT1jW28rMjA+PjJd
O2NbZysyND4+Ml09Y1tvKzI0Pj4yXTtjW2crMjg+PjJdPWNbbysyOD4+Ml07Y1trPj4yXT1jW28+
PjJdO2Nbays0Pj4yXT1jW28rND4+Ml07Y1trKzg+PjJdPWNbbys4Pj4yXTtjW2srMTI+PjJdPWNb
bysxMj4+Ml07Y1trKzE2Pj4yXT1jW28rMTY+PjJdO2NbaysyMD4+Ml09Y1tvKzIwPj4yXTtjW2sr
MjQ+PjJdPWNbbysyND4+Ml07Y1trKzI4Pj4yXT1jW28rMjg+PjJdO2NbZys0OD4+Ml09NDtpZigh
KGk8PDI0Pj4yNCkpUHooZCxmLDIsZywwKTtlbHNlIE16KGQsZiwyLGcsMCk7Yj1nKzUyfDA7Zj0o
Y1tiPj4yXXwwKSstMXwwO289aysyNHwwO2hbbz4+M109K2hbZys1NisoZjw8NSkrMjQ+PjNdO2k9
ays4fDA7aFtpPj4zXT0raFtnKzU2KyhmPDw1KSs4Pj4zXTtlPWNbZSsxNj4+Ml18MDtwPStoWyhj
WyhjW2ErMTY+PjJdfDApKzE5Nj4+Ml18MCkrKGNbZSsyMzI+PjJdPDw2KSsyND4+M10rICtoW2Ur
MjQ+PjNdO2Nbaj4+Ml09Y1trPj4yXTtjW2orND4+Ml09Y1trKzQ+PjJdO2Nbais4Pj4yXT1jW2sr
OD4+Ml07Y1tqKzEyPj4yXT1jW2srMTI+PjJdO2NbaisxNj4+Ml09Y1trKzE2Pj4yXTtjW2orMjA+
PjJdPWNbaysyMD4+Ml07Y1tqKzI0Pj4yXT1jW2srMjQ+PjJdO2NbaisyOD4+Ml09Y1trKzI4Pj4y
XTtsZyhtLGosNCxwKTtjW2s+PjJdPWNbbT4+Ml07Y1trKzQ+PjJdPWNbbSs0Pj4yXTtjW2srOD4+
Ml09Y1ttKzg+PjJdO2NbaysxMj4+Ml09Y1ttKzEyPj4yXTtjW2srMTY+PjJdPWNbbSsxNj4+Ml07
Y1trKzIwPj4yXT1jW20rMjA+PjJdO2NbaysyND4+Ml09Y1ttKzI0Pj4yXTtjW2srMjg+PjJdPWNb
bSsyOD4+Ml07aWYoK2hbaz4+M108K2hbaysxNj4+M10/K2hbaT4+M108K2hbbz4+M106MCl7bz1j
W2I+PjJdfDA7Y1tiPj4yXT1vKzE7bz1nKzU2KyhvPDw1KXwwO2Nbbz4+Ml09Y1trPj4yXTtjW28r
ND4+Ml09Y1trKzQ+PjJdO2Nbbys4Pj4yXT1jW2srOD4+Ml07Y1tvKzEyPj4yXT1jW2srMTI+PjJd
O2NbbysxNj4+Ml09Y1trKzE2Pj4yXTtjW28rMjA+PjJdPWNbaysyMD4+Ml07Y1tvKzI0Pj4yXT1j
W2srMjQ+PjJdO2NbbysyOD4+Ml09Y1trKzI4Pj4yXX1sPW47cmV0dXJufWZ1bmN0aW9uIEhnKGEs
YixkLGUsZixnLGkpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2k9aXwwO3Zh
ciBqPTAsaz0wLG09MCxuPTAsbz0wLHA9MC4wO249bDtsPWwrMTI4fDA7aj1uKzk2fDA7az1uKzY0
fDA7bz1uKzMyfDA7bT1uO2pnKG8sYSxiLGUsMCxmKTtjW2c+PjJdPWNbbz4+Ml07Y1tnKzQ+PjJd
PWNbbys0Pj4yXTtjW2crOD4+Ml09Y1tvKzg+PjJdO2NbZysxMj4+Ml09Y1tvKzEyPj4yXTtjW2cr
MTY+PjJdPWNbbysxNj4+Ml07Y1tnKzIwPj4yXT1jW28rMjA+PjJdO2NbZysyND4+Ml09Y1tvKzI0
Pj4yXTtjW2crMjg+PjJdPWNbbysyOD4+Ml07Y1trPj4yXT1jW28+PjJdO2Nbays0Pj4yXT1jW28r
ND4+Ml07Y1trKzg+PjJdPWNbbys4Pj4yXTtjW2srMTI+PjJdPWNbbysxMj4+Ml07Y1trKzE2Pj4y
XT1jW28rMTY+PjJdO2NbaysyMD4+Ml09Y1tvKzIwPj4yXTtjW2srMjQ+PjJdPWNbbysyND4+Ml07
Y1trKzI4Pj4yXT1jW28rMjg+PjJdO2NbZys0OD4+Ml09MTtpZighKGk8PDI0Pj4yNCkpUHooZCxm
LDIsZywwKTtlbHNlIE16KGQsZiwyLGcsMCk7Yj1nKzUyfDA7Zj0oY1tiPj4yXXwwKSstMXwwO289
aysyNHwwO2hbbz4+M109K2hbZys1NisoZjw8NSkrMjQ+PjNdO2k9ays4fDA7aFtpPj4zXT0raFtn
KzU2KyhmPDw1KSs4Pj4zXTtlPWNbZSsxNj4+Ml18MDtwPStoW2UrMjQ+PjNdLStoWyhjWyhjW2Er
MTY+PjJdfDApKzE5Nj4+Ml18MCkrKGNbZSsyMzI+PjJdPDw2KSsyND4+M107Y1tqPj4yXT1jW2s+
PjJdO2Nbais0Pj4yXT1jW2srND4+Ml07Y1tqKzg+PjJdPWNbays4Pj4yXTtjW2orMTI+PjJdPWNb
aysxMj4+Ml07Y1tqKzE2Pj4yXT1jW2srMTY+PjJdO2NbaisyMD4+Ml09Y1trKzIwPj4yXTtjW2or
MjQ+PjJdPWNbaysyND4+Ml07Y1tqKzI4Pj4yXT1jW2srMjg+PjJdO2xnKG0saiwxLHApO2Nbaz4+
Ml09Y1ttPj4yXTtjW2srND4+Ml09Y1ttKzQ+PjJdO2Nbays4Pj4yXT1jW20rOD4+Ml07Y1trKzEy
Pj4yXT1jW20rMTI+PjJdO2NbaysxNj4+Ml09Y1ttKzE2Pj4yXTtjW2srMjA+PjJdPWNbbSsyMD4+
Ml07Y1trKzI0Pj4yXT1jW20rMjQ+PjJdO2NbaysyOD4+Ml09Y1ttKzI4Pj4yXTtpZigraFtrPj4z
XTwraFtrKzE2Pj4zXT8raFtpPj4zXTwraFtvPj4zXTowKXtvPWNbYj4+Ml18MDtjW2I+PjJdPW8r
MTtvPWcrNTYrKG88PDUpfDA7Y1tvPj4yXT1jW2s+PjJdO2Nbbys0Pj4yXT1jW2srND4+Ml07Y1tv
Kzg+PjJdPWNbays4Pj4yXTtjW28rMTI+PjJdPWNbaysxMj4+Ml07Y1tvKzE2Pj4yXT1jW2srMTY+
PjJdO2NbbysyMD4+Ml09Y1trKzIwPj4yXTtjW28rMjQ+PjJdPWNbaysyND4+Ml07Y1tvKzI4Pj4y
XT1jW2srMjg+PjJdfWw9bjtyZXR1cm59ZnVuY3Rpb24gSWcoYSxiLGMpe2E9YXwwO2I9K2I7Yz0r
YztoW2E+PjNdPWI7aFthKzg+PjNdPWM7cmV0dXJufWZ1bmN0aW9uIEpnKGIsZCxlLGYsZyxpLGop
e2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2k9aXwwO2o9anwwO3ZhciBrPTAsbT0wLG49
MCxvPTAscD0wLjAscT0wLjAscj0wLjAscz0wLjAsdD0wLjAsdT0wLjAsdj0wLjAsdz0wLjAseD0w
LjAseT0wLHo9MCxBPTAuMCxCPTAuMCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9
MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0w
LFo9MC4wO1k9bDtsPWwrMjg4fDA7Uj1ZKzI1NnwwO1E9WSsyNDB8MDtQPVkrMjI0fDA7Vj1ZKzI4
MHwwO1c9WSsyNzJ8MDtYPVkrMzJ8MDtTPVkrMTZ8MDtUPVk7bT1ZKzIwOHwwO249WSsxOTJ8MDtv
PWNbZSsoZjw8Mik+PjJdfDA7VT12dyhnPDwyKXwwO2s9MDt3aGlsZSgxKXtpZigoa3wwKT49KGd8
MCkpYnJlYWs7Y1tVKyhrPDwyKT4+Ml09Y1tlKyhrK2Y8PDIpPj4yXTtrPWsrMXwwfXJMKFUsZyw0
LDExKTtlPWIrMTZ8MDtmPShjW2U+PjJdfDApKzE2fDA7bz1vKzE2fDA7Qz0oY1tvPj4yXXwwKSsx
NnwwO2NbUT4+Ml09Y1tmPj4yXTtjW1ErND4+Ml09Y1tmKzQ+PjJdO2NbUSs4Pj4yXT1jW2YrOD4+
Ml07Y1tRKzEyPj4yXT1jW2YrMTI+PjJdO2NbUj4+Ml09Y1tDPj4yXTtjW1IrND4+Ml09Y1tDKzQ+
PjJdO2NbUis4Pj4yXT1jW0MrOD4+Ml07Y1tSKzEyPj4yXT1jW0MrMTI+PjJdO0FnKG0sUSxSKTtj
W1M+PjJdPWNbbT4+Ml07Y1tTKzQ+PjJdPWNbbSs0Pj4yXTtjW1MrOD4+Ml09Y1ttKzg+PjJdO2Nb
UysxMj4+Ml09Y1ttKzEyPj4yXTtDPWQrMTZ8MDtmPShjW0M+PjJdfDApKzE2fDA7bz0oY1tvPj4y
XXwwKSs1NnwwO2NbUT4+Ml09Y1tmPj4yXTtjW1ErND4+Ml09Y1tmKzQ+PjJdO2NbUSs4Pj4yXT1j
W2YrOD4+Ml07Y1tRKzEyPj4yXT1jW2YrMTI+PjJdO2NbUj4+Ml09Y1tvPj4yXTtjW1IrND4+Ml09
Y1tvKzQ+PjJdO2NbUis4Pj4yXT1jW28rOD4+Ml07Y1tSKzEyPj4yXT1jW28rMTI+PjJdO0FnKG4s
USxSKTtjW1Q+PjJdPWNbbj4+Ml07Y1tUKzQ+PjJdPWNbbis0Pj4yXTtjW1QrOD4+Ml09Y1tuKzg+
PjJdO2NbVCsxMj4+Ml09Y1tuKzEyPj4yXTt3PStoWyhjW2U+PjJdfDApKzk2Pj4zXSsgK2hbUz4+
M107eD0raFtUPj4zXS0raFsoY1tDPj4yXXwwKSs4OD4+M107dT14K3c7dj11Ki41O0M9Y1tVPj4y
XXwwO2NbWD4+Ml09Y1tTPj4yXTtjW1grND4+Ml09Y1tTKzQ+PjJdO2NbWCs4Pj4yXT1jW1MrOD4+
Ml07Y1tYKzEyPj4yXT1jW1MrMTI+PjJdO289WCsxNnwwO2Nbbz4+Ml09Y1tTPj4yXTtjW28rND4+
Ml09Y1tTKzQ+PjJdO2Nbbys4Pj4yXT1jW1MrOD4+Ml07Y1tvKzEyPj4yXT1jW1MrMTI+PjJdO2U9
WCszMnwwO2NbZT4+Ml09Y1tUPj4yXTtjW2UrND4+Ml09Y1tUKzQ+PjJdO2NbZSs4Pj4yXT1jW1Qr
OD4+Ml07Y1tlKzEyPj4yXT1jW1QrMTI+PjJdO2Y9WCs0OHwwO2NbZj4+Ml09Y1tUPj4yXTtjW2Yr
ND4+Ml09Y1tUKzQ+PjJdO2NbZis4Pj4yXT1jW1QrOD4+Ml07Y1tmKzEyPj4yXT1jW1QrMTI+PjJd
O0p6KEMsY1soKGNbQz4+Ml0mM3wwKT09Mj9DOkMrLTQ4fDApKzQwPj4yXXwwLFgsNCwxNzIyNCk7
Qz1jWyhjW0MrMTY+PjJdfDApKzk2Pj4yXXwwO2hbQys1Nj4+M109djt6PVMrOHwwO3I9K2hbej4+
M107cz0raFtDKzMyPj4zXTtoW0MrNjQ+PjNdPShzKzYuMCkqLjUrcjthW0MrODE+PjBdPTE7cj1y
KzMuMDtCPStoW0MrMjQ+PjNdO0E9KHUtQikqLjU7Qj0oQit1KSouNTtDPVgrMjR8MDtEPVgrNDB8
MDtFPVgrNTZ8MDtGPVgrNjR8MDtHPVQrOHwwO0g9WCs3MnwwO0k9WCs4MHwwO0o9WCs4OHwwO0s9
WCs5NnwwO0w9WCsxMDR8MDtNPVgrMTEyfDA7Tj1YKzEyMHwwO089Vis0fDA7bj0oaXwwKT09NiYx
O3E9MC4wO3A9MC4wO3M9cytyO209MTt3aGlsZSgxKXtpZigobXwwKT49KGp8MCkpe3k9NjticmVh
a31kPWNbVSsobTw8Mik+PjJdfDA7aWYoIShtJjEpKXtjW1g+PjJdPWNbUz4+Ml07Y1tYKzQ+PjJd
PWNbUys0Pj4yXTtjW1grOD4+Ml09Y1tTKzg+PjJdO2NbWCsxMj4+Ml09Y1tTKzEyPj4yXTtoW28+
PjNdPUE7aFtDPj4zXT0raFt6Pj4zXTtoW2U+PjNdPUE7aFtEPj4zXT1zO2hbZj4+M109QjtoW0U+
PjNdPXM7aFtGPj4zXT1CO3Q9K2hbRz4+M107aFtIPj4zXT10O1o9K2hbVD4+M107aFtJPj4zXT1a
O2hbSj4+M109dDtoW0s+PjNdPVo7Wj1zKzYuMDtoW0w+PjNdPVo7aFtNPj4zXT0raFtTPj4zXTto
W04+PjNdPVo7cz0raFsoY1soY1tkKzE2Pj4yXXwwKSs5Nj4+Ml18MCkrMzI+PjNdO3Q9WitzKi41
O3M9WitzfWVsc2V7az1kKzE2fDA7Yj1jWyhjW2s+PjJdfDApKzk2Pj4yXXwwO2lmKChtfDApPT0x
KXtwPStoW2IrMjQ+PjNdO3E9KHArdSkqLjU7cD0odS1wKSouNX1yPXIrLTYuMC0raFtiKzMyPj4z
XTtjW1g+PjJdPWNbUz4+Ml07Y1tYKzQ+PjJdPWNbUys0Pj4yXTtjW1grOD4+Ml09Y1tTKzg+PjJd
O2NbWCsxMj4+Ml09Y1tTKzEyPj4yXTtoW28+PjNdPStoW1M+PjNdO3Q9cistNi4wO2hbQz4+M109
dDtoW2U+PjNdPStoW1Q+PjNdO2hbRD4+M109dDtjW2Y+PjJdPWNbVD4+Ml07Y1tmKzQ+PjJdPWNb
VCs0Pj4yXTtjW2YrOD4+Ml09Y1tUKzg+PjJdO2NbZisxMj4+Ml09Y1tUKzEyPj4yXTtoW0Y+PjNd
PXE7aFtIPj4zXT0raFtHPj4zXTtoW0k+PjNdPXE7aFtKPj4zXT1yO2hbSz4+M109cDtoW0w+PjNd
PXI7aFtNPj4zXT1wO2hbTj4+M109K2hbej4+M107dD0raFsoY1soY1trPj4yXXwwKSs5Nj4+Ml18
MCkrMzI+PjNdKi41K3J9Y1tPPj4yXT04O2NbVj4+Ml09WDtjW1A+PjJdPWNbUz4+Ml07Y1tQKzQ+
PjJdPWNbUys0Pj4yXTtjW1ArOD4+Ml09Y1tTKzg+PjJdO2NbUCsxMj4+Ml09Y1tTKzEyPj4yXTtj
W1E+PjJdPWNbVD4+Ml07Y1tRKzQ+PjJdPWNbVCs0Pj4yXTtjW1ErOD4+Ml09Y1tUKzg+PjJdO2Nb
USsxMj4+Ml09Y1tUKzEyPj4yXTtjW1I+PjJdPWNbVj4+Ml07Y1tSKzQ+PjJdPWNbVis0Pj4yXTtr
PWp5KFAsUSxSLFcsbil8MDtiPWNbVz4+Ml18MDtpZighYilicmVhaztpPWNbKGNbZCsxNj4+Ml18
MCkrOTY+PjJdfDA7aFtpKzU2Pj4zXT12O2hbaSs2ND4+M109dDthW2krODE+PjBdPTE7SnooZCxj
WygoY1tkPj4yXSYzfDApPT0yP2Q6ZCstNDh8MCkrNDA+PjJdfDAsayxiLDE3MjI0KTttPW0rMXww
fWE6ZG8gaWYoKHl8MCk9PTYpe3Y9KHgrdyoyLjApKi4zMzMzMzMzMzMzMzMzMzMzO3U9KHgqMi4w
K3cpKi4zMzMzMzMzMzMzMzMzMzMzO3doaWxlKDEpe2lmKChtfDApPj0oZ3wwKSlicmVhaztkPWNb
VSsobTw8Mik+PjJdfDA7aWYoIShtJjEpKXtjW1g+PjJdPWNbUz4+Ml07Y1tYKzQ+PjJdPWNbUys0
Pj4yXTtjW1grOD4+Ml09Y1tTKzg+PjJdO2NbWCsxMj4+Ml09Y1tTKzEyPj4yXTtoW28+PjNdPUE7
aFtDPj4zXT0raFt6Pj4zXTtoW2U+PjNdPUE7aFtEPj4zXT1zO2hbZj4+M109QjtoW0U+PjNdPXM7
aFtGPj4zXT1CO3Q9K2hbRz4+M107aFtIPj4zXT10O1o9K2hbVD4+M107aFtJPj4zXT1aO2hbSj4+
M109dDtoW0s+PjNdPVo7Wj1zKzYuMDtoW0w+PjNdPVo7aFtNPj4zXT0raFtTPj4zXTtzPVo7dD1w
O3A9Wn1lbHNle3k9KG18MCk9PTE7dD15P3Y6cDtxPXk/dTpxO3A9cistNi4wO2NbWD4+Ml09Y1tT
Pj4yXTtjW1grND4+Ml09Y1tTKzQ+PjJdO2NbWCs4Pj4yXT1jW1MrOD4+Ml07Y1tYKzEyPj4yXT1j
W1MrMTI+PjJdO2hbbz4+M109K2hbUz4+M107cj1yKy0xMi4wO2hbQz4+M109cjtoW2U+PjNdPSto
W1Q+PjNdO2hbRD4+M109cjtjW2Y+PjJdPWNbVD4+Ml07Y1tmKzQ+PjJdPWNbVCs0Pj4yXTtjW2Yr
OD4+Ml09Y1tUKzg+PjJdO2NbZisxMj4+Ml09Y1tUKzEyPj4yXTtoW0Y+PjNdPXE7aFtIPj4zXT0r
aFtHPj4zXTtoW0k+PjNdPXE7aFtKPj4zXT1wO2hbSz4+M109dDtoW0w+PjNdPXA7aFtNPj4zXT10
O3I9cDtwPStoW3o+PjNdfWhbTj4+M109cDtjW08+PjJdPTg7Y1tWPj4yXT1YO2NbUD4+Ml09Y1tT
Pj4yXTtjW1ArND4+Ml09Y1tTKzQ+PjJdO2NbUCs4Pj4yXT1jW1MrOD4+Ml07Y1tQKzEyPj4yXT1j
W1MrMTI+PjJdO2NbUT4+Ml09Y1tUPj4yXTtjW1ErND4+Ml09Y1tUKzQ+PjJdO2NbUSs4Pj4yXT1j
W1QrOD4+Ml07Y1tRKzEyPj4yXT1jW1QrMTI+PjJdO2NbUj4+Ml09Y1tWPj4yXTtjW1IrND4+Ml09
Y1tWKzQ+PjJdO2s9ankoUCxRLFIsVyxuKXwwO2I9Y1tXPj4yXXwwO2lmKCFiKWJyZWFrIGE7Snoo
ZCxjWygoY1tkPj4yXSYzfDApPT0yP2Q6ZCstNDh8MCkrNDA+PjJdfDAsayxiLDE3MjI0KTttPW0r
MXwwO3A9dH1fSShVKX13aGlsZSgwKTtsPVk7cmV0dXJufWZ1bmN0aW9uIEtnKGIsZCl7Yj1ifDA7
ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGk9MCxqPTAsaz0wO2c9bDtsPWwrMTZ8MDtmPWc7aj0ocW4o
Yil8MCk9PTA7aj1qPzE3NjQ4OjE3NjQwO2FbZj4+MF09YVtqPj4wXXwwO2FbZisxPj4wXT1hW2or
MT4+MF18MDthW2YrMj4+MF09YVtqKzI+PjBdfDA7YVtmKzM+PjBdPWFbaiszPj4wXXwwO2Y9Z24o
NzgzMzUsZiwwKXwwO05vKGYsMTIyMjc3LDI4MCwxKXwwO3ltKGYsMCw4MDAxOCwxNzQxODEpfDA7
aj12dyg5Nil8MDtlPWNbZisxNj4+Ml18MDtjW2UrOD4+Ml09ajtpPWNbYisxNj4+Ml18MDtrPWNb
aSs4Pj4yXXwwO2hbaj4+M109K2hbaz4+M107aFtqKzI0Pj4zXT0raFtrKzI0Pj4zXTthW2UrMTE1
Pj4wXT1hW2krMTE1Pj4wXXwwO2NbZSsxMTY+PjJdPWNbaSsxMTY+PjJdJjFeMTtjW2UrMjQ4Pj4y
XT1jW2krMjQ4Pj4yXTtjW2UrMjUyPj4yXT1jW2krMjUyPj4yXTtlPURtKHNvKGIpfDAsMSwwKXww
O3doaWxlKDEpe2lmKCFlKWJyZWFrO3ltKGYsMSxjW2UrOD4+Ml18MCxjW2UrMTI+PjJdfDApfDA7
ZT1EbShzbyhiKXwwLDEsZSl8MH1lPURtKHNvKGIpfDAsMiwwKXwwO3doaWxlKDEpe2lmKCFlKWJy
ZWFrO3ltKGYsMixjW2UrOD4+Ml18MCxjW2UrMTI+PjJdfDApfDA7ZT1EbShzbyhiKXwwLDIsZSl8
MH1pZighKHltKGYsMiw5NjI1MSwwKXwwKSl5bShmLDIsOTYyNTEsMTc0MTgxKXwwO2lmKCEoeW0o
ZiwyLDk2MjQyLDApfDApKXltKGYsMiw5NjI0MiwxNzQxODEpfDA7UGcoZixkKTtsPWc7cmV0dXJu
IGZ8MH1mdW5jdGlvbiBMZyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MDtlPWw7bD1s
KzE2fDA7ZD1lO2E9bm8oYSxEbihiKXwwLDEpfDA7Tm8oYSwxMjIyNDEsMzA0LDEpfDA7TW0oYixh
KXwwO2lmKChCeShiKXwwKT09Mil7Zj1iKzE2fDA7Yj13dygockooY1tjWyhjW2Y+PjJdfDApKzEw
ND4+Ml0+PjJdfDApfDApKzN8MCl8MDtjW2Q+PjJdPWNbY1soY1tmPj4yXXwwKSsxMDQ+PjJdPj4y
XTtwTChiLDc4MzMwLGQpfDA7S20oYSw4NjI0MCxiKXwwfWw9ZTtyZXR1cm4gYXwwfWZ1bmN0aW9u
IE1nKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2M9YW4oYSxiLGMsMCwxKXwwO05v
KGMsMTIyMjU0LDE3NiwxKXwwO01tKGQsYyl8MDtyZXR1cm4gY3wwfWZ1bmN0aW9uIE5nKGEsYixk
LGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGk9MCxqPTAuMDtpPWw7bD1s
KzMyfDA7Zz1pKzE2fDA7Zj1pO2lmKGV8MCl7aj0raFtiPj4zXTtlPWIrOHwwO2hbYj4+M109K2hb
ZT4+M107aFtlPj4zXT0tan07Y1tmPj4yXT1jW2I+PjJdO2NbZis0Pj4yXT1jW2IrND4+Ml07Y1tm
Kzg+PjJdPWNbYis4Pj4yXTtjW2YrMTI+PjJdPWNbYisxMj4+Ml07Y1tnPj4yXT1jW2Q+PjJdO2Nb
Zys0Pj4yXT1jW2QrND4+Ml07Y1tnKzg+PjJdPWNbZCs4Pj4yXTtjW2crMTI+PjJdPWNbZCsxMj4+
Ml07QWcoYSxmLGcpO2w9aTtyZXR1cm59ZnVuY3Rpb24gT2coYSxiKXthPWF8MDtiPWJ8MDtjWzQy
MjMzXT1jW2I+PjJdO2NbNDIyMzddPWNbYis0Pj4yXTtjWzQyMjM4XT1jW2IrOD4+Ml07Y1s0MjIx
OF09Y1tiKzEyPj4yXTtjWzQyMjE5XT1jW2IrMTY+PjJdO2NbNDIyMjVdPWNbYisyMD4+Ml07Y1s0
MjIyNF09Y1tiKzI0Pj4yXTtjWzQyMjIzXT1jW2IrMjg+PjJdO2NbNDIyNDldPWNbYiszMj4+Ml07
Y1s0MjI0MV09Y1tiKzM2Pj4yXTtjWzQyMjI2XT1jW2IrNDA+PjJdO2NbNDIyMzZdPWNbYis0ND4+
Ml07Y1s0MjI0NV09Y1tiKzQ4Pj4yXTtjWzQyMjQ0XT1jW2IrNTI+PjJdO2NbNDIyNDNdPWNbYis1
Nj4+Ml07Y1s0MjI0OF09Y1tiKzYwPj4yXTtjWzQyMjQyXT1jW2IrNjQ+PjJdO2NbNDIyMjddPWNb
Yis2OD4+Ml07Y1s0MjE4OV09Y1tiKzcyPj4yXTtjWzQyMTkwXT1jW2IrNzY+PjJdO2NbNDIxOTFd
PWNbYis4MD4+Ml07Y1s0MjIwMV09Y1tiKzg0Pj4yXTtjWzQyMTk0XT1jW2IrODg+PjJdO2NbNDIx
OTVdPWNbYis5Mj4+Ml07Y1s0MjE5Nl09Y1tiKzk2Pj4yXTtjWzQyMTk4XT1jW2IrMTAwPj4yXTtj
WzQyMTk5XT1jW2IrMTA0Pj4yXTtjWzQyMjAyXT1jW2IrMTA4Pj4yXTtjWzQyMjA1XT1jW2IrMTEy
Pj4yXTtjWzQyMjAzXT1jW2IrMTE2Pj4yXTtjWzQyMjA0XT1jW2IrMTIwPj4yXTtjWzQyMjA3XT1j
W2IrMTI0Pj4yXTtjWzQyMjA2XT1jW2IrMTI4Pj4yXTtjWzQyMjA4XT1jW2IrMTMyPj4yXTtjWzQy
MjA5XT1jW2IrMTM2Pj4yXTtjWzQyMjAwXT1jW2IrMTQwPj4yXTtjWzQyMjEyXT1jW2IrMTQ0Pj4y
XTtjWzQyMTg0XT1jW2IrMTQ4Pj4yXTtjWzQyMTgxXT1jW2IrMTUyPj4yXTtfSShiKTtFZihhKTts
bihhKXwwO3JldHVybn1mdW5jdGlvbiBQZyhhLGIpe2E9YXwwO2I9YnwwO2NbYj4+Ml09Y1s0MjIz
M107Y1tiKzQ+PjJdPWNbNDIyMzddO2NbYis4Pj4yXT1jWzQyMjM4XTtjW2IrMTI+PjJdPWNbNDIy
MThdO2NbYisxNj4+Ml09Y1s0MjIxOV07Y1tiKzIwPj4yXT1jWzQyMjI1XTtjW2IrMjQ+PjJdPWNb
NDIyMjRdO2NbYisyOD4+Ml09Y1s0MjIyM107Y1tiKzMyPj4yXT1jWzQyMjQ5XTtjW2IrMzY+PjJd
PWNbNDIyNDFdO2NbYis0MD4+Ml09Y1s0MjIyNl07Y1tiKzQ0Pj4yXT1jWzQyMjM2XTtjW2IrNDg+
PjJdPWNbNDIyNDVdO2NbYis1Mj4+Ml09Y1s0MjI0NF07Y1tiKzU2Pj4yXT1jWzQyMjQzXTtjW2Ir
NjA+PjJdPWNbNDIyNDhdO2NbYis2ND4+Ml09Y1s0MjI0Ml07Y1tiKzY4Pj4yXT1jWzQyMjI3XTtj
W2IrNzI+PjJdPWNbNDIxODldO2NbYis3Nj4+Ml09Y1s0MjE5MF07Y1tiKzgwPj4yXT1jWzQyMTkx
XTtjW2IrODQ+PjJdPWNbNDIyMDFdO2NbYis4OD4+Ml09Y1s0MjE5NF07Y1tiKzkyPj4yXT1jWzQy
MTk1XTtjW2IrOTY+PjJdPWNbNDIxOTZdO2NbYisxMDA+PjJdPWNbNDIxOThdO2NbYisxMDQ+PjJd
PWNbNDIxOTldO2NbYisxMDg+PjJdPWNbNDIyMDJdO2NbYisxMTI+PjJdPWNbNDIyMDVdO2NbYisx
MTY+PjJdPWNbNDIyMDNdO2NbYisxMjA+PjJdPWNbNDIyMDRdO2NbYisxMjQ+PjJdPWNbNDIyMDdd
O2NbYisxMjg+PjJdPWNbNDIyMDZdO2NbYisxMzI+PjJdPWNbNDIyMDhdO2NbYisxMzY+PjJdPWNb
NDIyMDldO2NbYisxNDA+PjJdPWNbNDIyMDBdO2NbYisxNDQ+PjJdPWNbNDIyMTJdO2NbYisxNTI+
PjJdPWNbNDIxODFdO2NbYisxNDg+PjJdPWNbNDIxODRdO2NbNDIyMzNdPTA7Y1s0MjIzN109eW0o
YSwyLDgwMjU5LDApfDA7Y1s0MjIzOF09eW0oYSwyLDgwMjY4LDApfDA7Yj15bShhLDIsODY2MTQs
MCl8MDtjWzQyMjE4XT1iO2lmKCFiKWNbNDIyMThdPXltKGEsMiw4NjYxNCwxNzQxODEpfDA7Y1s0
MjIxOV09MDtjWzQyMjI1XT0wO2NbNDIyMjRdPXltKGEsMiw4NjQ5NCwwKXwwO2NbNDIyMjNdPXlt
KGEsMiw4NjQ4NSwwKXwwO2NbNDIyNDldPXltKGEsMiw4Njc5MCwwKXwwO2NbNDIyNDFdPTA7Y1s0
MjIyNl09eW0oYSwyLDg2MjQwLDApfDA7Y1s0MjIzNl09eW0oYSwyLDc4MzQwLDApfDA7Y1s0MjI0
NV09MDtjWzQyMjQ0XT15bShhLDIsODY2OTAsMCl8MDtjWzQyMjQzXT15bShhLDIsODY2NzYsMCl8
MDtjWzQyMjQ4XT15bShhLDIsODY3ODEsMCl8MDtjWzQyMjQyXT0wO2NbNDIyMjddPTA7Y1s0MjE4
OV09eW0oYSwxLDk2MDQ5LDApfDA7Y1s0MjE5MF09eW0oYSwxLDk2MDQzLDApfDA7Y1s0MjE5MV09
eW0oYSwxLDkwNjcxLDApfDA7Y1s0MjIwMV09MDtjWzQyMTk0XT15bShhLDEsODY0ODUsMCl8MDtj
WzQyMTk1XT15bShhLDEsODY0OTQsMCl8MDtjWzQyMTk2XT0wO2NbNDIxOThdPXltKGEsMSw4NjI0
MCwwKXwwO2NbNDIxOTldPTA7Y1s0MjIwMl09MDtjWzQyMjA1XT15bShhLDEsODY0NDYsMCl8MDtj
WzQyMjAzXT15bShhLDEsODY1MjksMCl8MDtjWzQyMjA0XT15bShhLDEsODY1MzUsMCl8MDtjWzQy
MjA3XT15bShhLDEsODY1NDcsMCl8MDtjWzQyMjA2XT15bShhLDEsODYzODUsMCl8MDtjWzQyMjA4
XT15bShhLDEsODY1NTIsMCl8MDtjWzQyMjA5XT15bShhLDEsNzgzNTIsMCl8MDtjWzQyMjAwXT0w
O2NbNDIyMTJdPTA7Y1s0MjE4NF09eW0oYSwwLDg2NDQ2LDApfDA7cmV0dXJufWZ1bmN0aW9uIFFn
KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAuMCxmPTAuMCxnPTAuMCxpPTAuMDtkPWNbKGNb
KGNbYT4+Ml18MCkrMTY+PjJdfDApKzk2Pj4yXXwwO2E9Y1soY1soY1tiPj4yXXwwKSsxNj4+Ml18
MCkrOTY+PjJdfDA7Yj0oYXwwKSE9MDtpZihkKWlmKGI/KGY9K2hbZCsyND4+M10saT0raFtkKzMy
Pj4zXSxlPStoW2ErMjQ+PjNdLGc9K2hbYSszMj4+M10sIShmPmUpKTowKWlmKCEoZjxlKSlpZihp
PmcpYT0tMTtlbHNlIGE9aTxnJjE7ZWxzZSBhPTE7ZWxzZSBhPS0xO2Vsc2UgYT1iJjE7cmV0dXJu
IGF8MH1mdW5jdGlvbiBSZyhhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTA7d2hpbGUoMSl7Yj1jWyhj
W2ErMTY+PjJdfDApKzExNj4+Ml18MDtpZighYilicmVhaztlbHNlIGE9Yn1iPWNbYT4+Ml0mMztk
PWNbKGNbKChifDApPT0yP2E6YSstNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwO2U9Y1tkKzIzMj4+
Ml18MDthPWNbKGNbKChifDApPT0zP2E6YSs0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDA7Yj1jW2Er
MjMyPj4yXXwwO2lmKChlfDApPD0oYnwwKSlpZigoZXwwKTwoYnwwKSlhPTE7ZWxzZSBhPShjW2Qr
MjM2Pj4yXXwwKTwoY1thKzIzNj4+Ml18MCkmMTtlbHNlIGE9MDtyZXR1cm4gYXwwfWZ1bmN0aW9u
IFNnKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTA7ZD1sO2w9bCsxNnww
O2U9ZCs4fDA7Zj1kO2g9KGNbYSsxNj4+Ml18MCkrMTgwfDA7Zz0oY1tiKzE2Pj4yXXwwKSsxNzJ8
MDtjW2Y+PjJdPWNbaD4+Ml07Y1tmKzQ+PjJdPWNbaCs0Pj4yXTtjW2U+PjJdPWNbZz4+Ml07Y1tl
KzQ+PjJdPWNbZys0Pj4yXTtiPVRnKGEsZixiLGUpfDA7bD1kO3JldHVybiBifDB9ZnVuY3Rpb24g
VGcoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTA7Zj1jW2IrND4+
Ml18MDthOmRvIGlmKChmfDApPjA/KGc9Y1tlKzQ+PjJdfDAsKGd8MCk+MCk6MClpZigoZnwwKTwo
Z3wwKSl7Zj1jW2I+PjJdfDA7ZT0wO3doaWxlKDEpe2I9Y1tmKyhlPDwyKT4+Ml18MDtpZighYil7
Yj0wO2JyZWFrIGF9aWYoKGNbKChjW2I+PjJdJjN8MCk9PTI/YjpiKy00OHwwKSs0MD4+Ml18MCk9
PShkfDApKWJyZWFrO2Vsc2UgZT1lKzF8MH19ZWxzZXtmPWNbZT4+Ml18MDtlPTA7d2hpbGUoMSl7
Yj1jW2YrKGU8PDIpPj4yXXwwO2lmKCFiKXtiPTA7YnJlYWsgYX1pZigoY1soKGNbYj4+Ml0mM3ww
KT09Mz9iOmIrNDh8MCkrNDA+PjJdfDApPT0oYXwwKSlicmVhaztlbHNlIGU9ZSsxfDB9fWVsc2Ug
Yj0wO3doaWxlKDApO3JldHVybiBifDB9ZnVuY3Rpb24gVWcoYSxiKXthPWF8MDtiPWJ8MDt2YXIg
ZD0wLGU9MCxmPTAsZz0wLGg9MDtkPWw7bD1sKzE2fDA7ZT1kKzh8MDtmPWQ7aD0oY1thKzE2Pj4y
XXwwKSsxODh8MDtnPShjW2IrMTY+PjJdfDApKzE5NnwwO2NbZj4+Ml09Y1toPj4yXTtjW2YrND4+
Ml09Y1toKzQ+PjJdO2NbZT4+Ml09Y1tnPj4yXTtjW2UrND4+Ml09Y1tnKzQ+PjJdO2I9VGcoYSxm
LGIsZSl8MDtsPWQ7cmV0dXJuIGJ8MH1mdW5jdGlvbiBWZyhhKXthPWF8MDt2YXIgYj0wLGQ9MCxl
PTAsZj0wO2U9YSs0OHwwO2Q9Y1soY1soKGNbYT4+Ml0mM3wwKT09Mz9hOmUpKzQwPj4yXXwwKSsx
Nj4+Ml18MDtiPWNbZCsxODA+PjJdfDA7aWYoIWIpYj13dygoY1tkKzE4ND4+Ml08PDIpKzh8MCl8
MDtlbHNlIGI9eXcoYiwoY1tkKzE4ND4+Ml08PDIpKzh8MCl8MDtjWyhjWyhjWygoY1thPj4yXSYz
fDApPT0zP2E6ZSkrNDA+PjJdfDApKzE2Pj4yXXwwKSsxODA+PjJdPWI7Zj1jWyhjWygoY1thPj4y
XSYzfDApPT0zP2E6ZSkrNDA+PjJdfDApKzE2Pj4yXXwwO2Q9Y1tmKzE4MD4+Ml18MDtmPWYrMTg0
fDA7Yj1jW2Y+PjJdfDA7Y1tmPj4yXT1iKzE7Y1tkKyhiPDwyKT4+Ml09YTtlPWNbKGNbKChjW2E+
PjJdJjN8MCk9PTM/YTplKSs0MD4+Ml18MCkrMTY+PjJdfDA7Y1soY1tlKzE4MD4+Ml18MCkrKGNb
ZSsxODQ+PjJdPDwyKT4+Ml09MDtlPWErLTQ4fDA7Yj1jWyhjWygoY1thPj4yXSYzfDApPT0yP2E6
ZSkrNDA+PjJdfDApKzE2Pj4yXXwwO2Q9Y1tiKzE3Mj4+Ml18MDtpZighZCliPXd3KChjW2IrMTc2
Pj4yXTw8MikrOHwwKXwwO2Vsc2UgYj15dyhkLChjW2IrMTc2Pj4yXTw8MikrOHwwKXwwO2NbKGNb
KGNbKChjW2E+PjJdJjN8MCk9PTI/YTplKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE3Mj4+Ml09Yjti
PWNbKGNbKChjW2E+PjJdJjN8MCk9PTI/YTplKSs0MD4+Ml18MCkrMTY+PjJdfDA7ZD1jW2IrMTcy
Pj4yXXwwO2I9YisxNzZ8MDtmPWNbYj4+Ml18MDtjW2I+PjJdPWYrMTtjW2QrKGY8PDIpPj4yXT1h
O2Y9Y1soY1soKGNbYT4+Ml0mM3wwKT09Mj9hOmUpKzQwPj4yXXwwKSsxNj4+Ml18MDtjWyhjW2Yr
MTcyPj4yXXwwKSsoY1tmKzE3Nj4+Ml08PDIpPj4yXT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gV2co
YSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTA7ZT1hKzR8MDtmPWNb
ZT4+Ml18MDtkPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShmfDApKWJyZWFrO2c9Y1thPj4yXXwwO2g9
ZysoZDw8Mil8MDtpZigoY1toPj4yXXwwKT09KGJ8MCkpe2k9NDticmVha31lbHNlIGQ9ZCsxfDB9
aWYoKGl8MCk9PTQpe2k9ZistMXwwO2NbZT4+Ml09aTtjW2g+PjJdPWNbZysoaTw8Mik+PjJdO2Nb
KGNbYT4+Ml18MCkrKGk8PDIpPj4yXT0wfXJldHVybn1mdW5jdGlvbiBYZyhhKXthPWF8MDtpZigh
YSltYSg3ODM5Myw3ODQwMywxMTcsNzg0MTIpO2Vsc2V7V2coKGNbKGNbKChjW2E+PjJdJjN8MCk9
PTM/YTphKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTgwfDAsYSk7V2coKGNbKGNbKChjW2E+
PjJdJjN8MCk9PTI/YTphKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE3MnwwLGEpO3JldHVy
bn19ZnVuY3Rpb24gWWcoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MDtlPWErNDh8MDtkPWNb
KGNbKChjW2E+PjJdJjN8MCk9PTM/YTplKSs0MD4+Ml18MCkrMTY+PjJdfDA7Yj1jW2QrMjA0Pj4y
XXwwO2lmKCFiKWI9d3coKGNbZCsyMDg+PjJdPDwyKSs4fDApfDA7ZWxzZSBiPXl3KGIsKGNbZCsy
MDg+PjJdPDwyKSs4fDApfDA7Y1soY1soY1soKGNbYT4+Ml0mM3wwKT09Mz9hOmUpKzQwPj4yXXww
KSsxNj4+Ml18MCkrMjA0Pj4yXT1iO2Y9Y1soY1soKGNbYT4+Ml0mM3wwKT09Mz9hOmUpKzQwPj4y
XXwwKSsxNj4+Ml18MDtiPWNbZisyMDQ+PjJdfDA7Zj1mKzIwOHwwO2Q9Y1tmPj4yXXwwO2NbZj4+
Ml09ZCsxO2NbYisoZDw8Mik+PjJdPWE7ZT1jWyhjWygoY1thPj4yXSYzfDApPT0zP2E6ZSkrNDA+
PjJdfDApKzE2Pj4yXXwwO2NbKGNbZSsyMDQ+PjJdfDApKyhjW2UrMjA4Pj4yXTw8Mik+PjJdPTA7
cmV0dXJufWZ1bmN0aW9uIFpnKGEpe2E9YXwwO19nKGEsKGNbKGNbKChjW2E+PjJdJjN8MCk9PTM/
YTphKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjA0fDApO3JldHVybn1mdW5jdGlvbiBfZyhh
LGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wO2g9Yis0fDA7ZT1jW2g+PjJd
fDA7Zj1jW2I+PjJdfDA7ZD0wO3doaWxlKDEpe2lmKChkfDApPj0oZXwwKSl7Zz00O2JyZWFrfWlm
KChjW2YrKGQ8PDIpPj4yXXwwKT09KGF8MCkpYnJlYWs7ZWxzZSBkPWQrMXwwfWlmKChnfDApPT00
KXtpZighZilkPXd3KChlPDwyKSs4fDApfDA7ZWxzZSBkPXl3KGYsKGU8PDIpKzh8MCl8MDtjW2I+
PjJdPWQ7Zj1jW2g+PjJdfDA7Zz1mKzF8MDtjW2g+PjJdPWc7Y1tkKyhmPDwyKT4+Ml09YTtjWyhj
W2I+PjJdfDApKyhnPDwyKT4+Ml09MH1yZXR1cm59ZnVuY3Rpb24gJGcoZCxlLGYpe2Q9ZHwwO2U9
ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO249dncoOTYpfDA7
Zz1uKzQ4fDA7Y1tnPj4yXT1jW2c+PjJdfDM7Y1tuPj4yXT1jW24+PjJdJi00fDI7aD12dygxNzYp
fDA7bT1uKzE2fDA7Y1ttPj4yXT1oO2NbKChjW24+PjJdJjN8MCk9PTM/bjpnKSs0MD4+Ml09ZDtq
PW4rLTQ4fDA7Y1soKGNbbj4+Ml0mM3wwKT09Mj9uOmopKzQwPj4yXT1lO2FbaCsxMTI+PjBdPTE7
aWYoIWYpe2NbaCsxNTY+PjJdPTE7YltoKzE1ND4+MV09MTtiW2grMTY4Pj4xXT0xO2JbaCsxNzA+
PjFdPTF9ZWxzZXtjW24+PjJdPWNbbj4+Ml0mMTV8Y1tmPj4yXSYtMTY7Y1tnPj4yXT1jW2c+PjJd
JjE1fGNbZj4+Ml0mLTE2O2w9ZisxNnwwO2k9Y1tsPj4yXXwwO2JbaCsxNjg+PjFdPWJbaSsxNjg+
PjFdfDA7YltoKzE1ND4+MV09YltpKzE1ND4+MV18MDtjW2grMTU2Pj4yXT1jW2krMTU2Pj4yXTti
W2grMTcwPj4xXT1iW2krMTcwPj4xXXwwO2Q9Y1soKGNbbj4+Ml0mM3wwKT09Mz9uOmcpKzQwPj4y
XXwwO2U9Y1tmPj4yXSYzO2s9Zis0OHwwO2lmKChkfDApIT0oY1soKGV8MCk9PTM/ZjprKSs0MD4+
Ml18MCkpe2c9ZistNDh8MDtpZigoZHwwKT09KGNbKChlfDApPT0yP2Y6ZykrNDA+PjJdfDApKXto
PWgrMTZ8MDtkPWkrNTZ8MDtlPWgrNDB8MDtkb3tjW2g+PjJdPWNbZD4+Ml07aD1oKzR8MDtkPWQr
NHwwfXdoaWxlKChofDApPChlfDApKX19ZWxzZXtoPWgrMTZ8MDtkPWkrMTZ8MDtlPWgrNDB8MDtk
b3tjW2g+PjJdPWNbZD4+Ml07aD1oKzR8MDtkPWQrNHwwfXdoaWxlKChofDApPChlfDApKTtnPWYr
LTQ4fDB9ZD1jWygoY1tuPj4yXSYzfDApPT0yP246aikrNDA+PjJdfDA7ZT1jW2Y+PjJdJjM7aWYo
KGR8MCkhPShjWygoZXwwKT09Mj9mOmcpKzQwPj4yXXwwKSl7aWYoKGR8MCk9PShjWygoZXwwKT09
Mz9mOmspKzQwPj4yXXwwKSl7aD0oY1ttPj4yXXwwKSs1NnwwO2Q9KGNbbD4+Ml18MCkrMTZ8MDtl
PWgrNDB8MDtkb3tjW2g+PjJdPWNbZD4+Ml07aD1oKzR8MDtkPWQrNHwwfXdoaWxlKChofDApPChl
fDApKX19ZWxzZXtoPShjW20+PjJdfDApKzU2fDA7ZD0oY1tsPj4yXXwwKSs1NnwwO2U9aCs0MHww
O2Rve2NbaD4+Ml09Y1tkPj4yXTtoPWgrNHwwO2Q9ZCs0fDB9d2hpbGUoKGh8MCk8KGV8MCkpfWQ9
KGNbbD4+Ml18MCkrMTcyfDA7aWYoIShjW2Q+PjJdfDApKWNbZD4+Ml09bjtjWyhjW20+PjJdfDAp
KzExNj4+Ml09Zn1yZXR1cm4gbnwwfWZ1bmN0aW9uIGFoKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8
MDtyZXR1cm4gVmcoJGcoYSxiLGMpfDApfDB9ZnVuY3Rpb24gYmgoYSxiKXthPWF8MDtiPWJ8MDt2
YXIgZD0wLGU9MCxmPTA7YT0oY1thKzE2Pj4yXXwwKSsxOTJ8MDtmPWNbYT4+Ml18MDtkPWNbYisx
Nj4+Ml18MDtjW2QrMTY0Pj4yXT1mO2U9ZjtpZihmfDApY1soY1tlKzE2Pj4yXXwwKSsxNjg+PjJd
PWI7Y1thPj4yXT1iO2NbZCsxNjg+PjJdPTA7aWYoKGV8MCk9PShifDApKW1hKDc4NDI5LDc4NDAz
LDIxNSw3ODQ0NSk7ZWxzZSByZXR1cm59ZnVuY3Rpb24gY2goYSxiKXthPWF8MDtiPWJ8MDt2YXIg
ZD0wLGU9MCxmPTA7aWYoKGF8MCk9PShifDApKW1hKDc4NDU1LDc4NDAzLDIyMCw3ODQ2Mik7Zj1j
W2IrMTY+PjJdfDA7ZD1mKzE2NHwwO2lmKGNbZD4+Ml18MCltYSg3ODQ3NSw3ODQwMywyMjEsNzg0
NjIpO2U9KGNbYSsxNj4+Ml18MCkrMTY0fDA7Y1tkPj4yXT1jW2U+PjJdO2Q9Y1tlPj4yXXwwO2lm
KGR8MCljWyhjW2QrMTY+PjJdfDApKzE2OD4+Ml09YjtjW2YrMTY4Pj4yXT1hO2NbZT4+Ml09Yjty
ZXR1cm59ZnVuY3Rpb24gZGgoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MDtpZighKGVoKGEs
Yil8MCkpbWEoNzg0OTQsNzg0MDMsMjMxLDc4NTE1KTtiPWNbYisxNj4+Ml18MDtkPWNbYisxNjQ+
PjJdfDA7ZT1kO2I9YisxNjh8MDtpZihkfDApY1soY1tkKzE2Pj4yXXwwKSsxNjg+PjJdPWNbYj4+
Ml07Yj1jW2I+PjJdfDA7aWYoIWIpY1soY1thKzE2Pj4yXXwwKSsxOTI+PjJdPWU7ZWxzZSBjWyhj
W2IrMTY+PjJdfDApKzE2ND4+Ml09ZTtyZXR1cm59ZnVuY3Rpb24gZWgoYSxiKXthPWF8MDtiPWJ8
MDthPShjW2ErMTY+PjJdfDApKzE5MnwwO3doaWxlKDEpe2E9Y1thPj4yXXwwO2lmKChhfDApPT0w
fChhfDApPT0oYnwwKSlicmVhazthPShjW2ErMTY+PjJdfDApKzE2NHwwfXJldHVybiBhfDB9ZnVu
Y3Rpb24gZmgoYil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MDtkPXZ3KDY0KXwwO2NbZD4+Ml09
Y1tkPj4yXSYtNHwxO2U9ZCsxNnwwO2NbZT4+Ml09dncoMzA0KXwwO2NbZCsyND4+Ml09c28oYil8
MDtnPWNbZT4+Ml18MDthW2crMTU2Pj4wXT0xO2hbZys5Nj4+M109MS4wO2hbZys4OD4+M109MS4w
O2hbZys4MD4+M109MS4wO2NbZysyMTY+PjJdPTE7Y1tnKzE3Nj4+Ml09MDtnPXZ3KDIwKXwwO2Y9
Y1tlPj4yXXwwO2NbZisxNzI+PjJdPWc7Y1tmKzE4ND4+Ml09MDtmPXZ3KDIwKXwwO2NbKGNbZT4+
Ml18MCkrMTgwPj4yXT1mO2JoKGIsZCk7Yj0oY1tiKzE2Pj4yXXwwKSsyMzJ8MDtjW2I+PjJdPShj
W2I+PjJdfDApKzE7cmV0dXJuIGR8MH1mdW5jdGlvbiBnaChiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBl
PTAsZj0wLGc9MCxoPTA7Zz1kKzQ4fDA7ZT1jWyhjWygoY1tkPj4yXSYzfDApPT0zP2Q6ZykrNDA+
PjJdfDApKzE2Pj4yXXwwO2Y9Y1tlKzE4OD4+Ml18MDtpZighZillPXd3KChjW2UrMTkyPj4yXTw8
MikrOHwwKXwwO2Vsc2UgZT15dyhmLChjW2UrMTkyPj4yXTw8MikrOHwwKXwwO2NbKGNbKGNbKChj
W2Q+PjJdJjN8MCk9PTM/ZDpnKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE4OD4+Ml09ZTtoPWNbKGNb
KChjW2Q+PjJdJjN8MCk9PTM/ZDpnKSs0MD4+Ml18MCkrMTY+PjJdfDA7Zj1jW2grMTg4Pj4yXXww
O2g9aCsxOTJ8MDtlPWNbaD4+Ml18MDtjW2g+PjJdPWUrMTtjW2YrKGU8PDIpPj4yXT1kO2c9Y1so
Y1soKGNbZD4+Ml0mM3wwKT09Mz9kOmcpKzQwPj4yXXwwKSsxNj4+Ml18MDtjWyhjW2crMTg4Pj4y
XXwwKSsoY1tnKzE5Mj4+Ml08PDIpPj4yXT0wO2c9ZCstNDh8MDtlPWNbKGNbKChjW2Q+PjJdJjN8
MCk9PTI/ZDpnKSs0MD4+Ml18MCkrMTY+PjJdfDA7Zj1jW2UrMTk2Pj4yXXwwO2lmKCFmKWU9d3co
KGNbZSsyMDA+PjJdPDwyKSs4fDApfDA7ZWxzZSBlPXl3KGYsKGNbZSsyMDA+PjJdPDwyKSs4fDAp
fDA7Y1soY1soY1soKGNbZD4+Ml0mM3wwKT09Mj9kOmcpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTk2
Pj4yXT1lO2U9Y1soY1soKGNbZD4+Ml0mM3wwKT09Mj9kOmcpKzQwPj4yXXwwKSsxNj4+Ml18MDtm
PWNbZSsxOTY+PjJdfDA7ZT1lKzIwMHwwO2g9Y1tlPj4yXXwwO2NbZT4+Ml09aCsxO2NbZisoaDw8
Mik+PjJdPWQ7aD1jWyhjWygoY1tkPj4yXSYzfDApPT0yP2Q6ZykrNDA+PjJdfDApKzE2Pj4yXXww
O2NbKGNbaCsxOTY+PjJdfDApKyhjW2grMjAwPj4yXTw8Mik+PjJdPTA7YVsoY1tiKzE2Pj4yXXww
KSsyNDA+PjBdPTE7YVsoY1soVmYoYil8MCkrMTY+PjJdfDApKzI0MD4+MF09MTtyZXR1cm59ZnVu
Y3Rpb24gaGgoYSl7YT1hfDA7dmFyIGI9MCxkPTA7aWYoIWEpbWEoNzgzOTMsNzg0MDMsMjY5LDc4
NTMyKTtiPWNbKGNbYSsxNj4+Ml18MCkrMTE2Pj4yXXwwO2lmKGJ8MD8oZD0oY1tiKzE2Pj4yXXww
KSsxNzJ8MCwoY1tkPj4yXXwwKT09KGF8MCkpOjApY1tkPj4yXT0wO1dnKChjWyhjWygoY1thPj4y
XSYzfDApPT0zP2E6YSs0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE4OHwwLGEpO1dnKChjWyhj
WygoY1thPj4yXSYzfDApPT0yP2E6YSstNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsxOTZ8MCxh
KTtyZXR1cm59ZnVuY3Rpb24gaWgoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTA7Zj1s
O2w9bCsxNnwwO2Q9KGNbYSsxNj4+Ml18MCkrMTcyfDA7ZT1jW2Q+PjJdfDA7ZG8gaWYoKGV8MCkh
PShifDApKWlmKCFlKXtjW2Q+PjJdPWI7amgoYSxiKTticmVha31lbHNlIG1hKDgwNDQwLDc4NDAz
LDM0MCw3ODU3MCk7ZWxzZSBfbCgwLDc4NTQ5LGYpfDA7d2hpbGUoMCk7bD1mO3JldHVybn1mdW5j
dGlvbiBqaChhLGQpe2E9YXwwO2Q9ZHwwO3ZhciBmPTAsZz0wLGg9MCxpPTA7Zj0oY1tkKzE2Pj4y
XXwwKSsxNzB8MDtpPWNbYSsxNj4+Ml18MDthPWJbaSsxNzA+PjFdfDA7aWYoKGVbZj4+MV18MCk8
KGEmNjU1MzUpKWJbZj4+MV09YTtnPWkrMTY4fDA7aD1pKzE1NHwwO2Y9aSsxNTZ8MDthPWQ7d2hp
bGUoMSl7aWYoIWEpYnJlYWs7ZD1jW2ErMTY+PjJdfDA7aT1kKzE2OHwwO2JbaT4+MV09KGVbaT4+
MV18MCkrKGVbZz4+MV18MCk7aT1kKzE1NHwwO2JbaT4+MV09KGVbaT4+MV18MCkrKGVbaD4+MV18
MCk7aT1kKzE1NnwwO2NbaT4+Ml09KGNbaT4+Ml18MCkrKGNbZj4+Ml18MCk7YT1jW2QrMTcyPj4y
XXwwfXJldHVybn1mdW5jdGlvbiBraChkKXtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wO2Y9ZCsx
NnwwO2U9Y1soY1tmPj4yXXwwKSsxNzI+PjJdfDA7YTp3aGlsZSgxKXtpZighZSlicmVhaztsaChl
LGQpO2g9Y1tlKzE2Pj4yXXwwO2c9Y1toKzE3Mj4+Ml18MDtpZighKGJbaCsxNjg+PjFdfDApKW1o
KGUpO3doaWxlKDEpe2lmKChhWyhjW2UrMTY+PjJdfDApKzExMj4+MF18MCkhPTEpe2U9Zztjb250
aW51ZSBhfWU9Y1soY1soKGNbZT4+Ml0mM3wwKT09Mj9lOmUrLTQ4fDApKzQwPj4yXXwwKSsxNj4+
Ml18MDtpZigoYVtlKzE1Nj4+MF18MCkhPTEpe2U9Zztjb250aW51ZSBhfWlmKChjW2UrMTg0Pj4y
XXwwKSE9MSl7ZT1nO2NvbnRpbnVlIGF9ZT1jW2NbZSsxODA+PjJdPj4yXXwwO2xoKGUsZCl9fWNb
KGNbZj4+Ml18MCkrMTcyPj4yXT0wO3JldHVybn1mdW5jdGlvbiBsaChhLGQpe2E9YXwwO2Q9ZHww
O3ZhciBmPTA7Zj1jW2QrMTY+PjJdfDA7ZD1jW2ErMTY+PjJdfDA7YT1kKzE2OHwwO2JbYT4+MV09
KGVbYT4+MV18MCktKGVbZisxNjg+PjFdfDApO2E9ZCsxNTR8MDtiW2E+PjFdPShlW2E+PjFdfDAp
LShlW2YrMTU0Pj4xXXwwKTtkPWQrMTU2fDA7Y1tkPj4yXT0oY1tkPj4yXXwwKS0oY1tmKzE1Nj4+
Ml18MCk7cmV0dXJufWZ1bmN0aW9uIG1oKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTAsZz0w
O2lmKCFhKW1hKDc4MzkzLDc4NDAzLDEyOCw3ODU4Myk7Zz1hKzQ4fDA7ZD0wO3doaWxlKDEpe2I9
Y1thPj4yXXwwO2U9KGNbKGNbKChiJjN8MCk9PTM/YTpnKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE4
MHwwO2Y9Y1soY1tlPj4yXXwwKSsoZDw8Mik+PjJdfDA7aWYoIWYpYnJlYWs7aWYoKGZ8MCk9PShh
fDApKVdnKGUsYSk7ZD1kKzF8MH1nPWErLTQ4fDA7Zj0wO3doaWxlKDEpe2Q9KGNbKGNbKChiJjN8
MCk9PTI/YTpnKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE3MnwwO2U9Y1soY1tkPj4yXXwwKSsoZjw8
Mik+PjJdfDA7aWYoIWUpYnJlYWs7aWYoKGV8MCk9PShhfDApKXtXZyhkLGEpO2I9Y1thPj4yXXww
fWY9ZisxfDB9cmV0dXJufWZ1bmN0aW9uIG5oKGQpe2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAs
aT0wLGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MDtwPWw7bD1sKzEwNDB8
MDtuPXArMTAzMnwwO289cDttPXArOHwwO2s9ZCsxNnwwO2Q9Y1trPj4yXXwwO2o9YltkKzIzNj4+
MV18MDt3aGlsZSgxKXtpZigoanwwKT4oYltkKzIzOD4+MV18MCkpYnJlYWs7aT1jW2QrMTk2Pj4y
XXwwO2g9aSsoajw8Nil8MDtpPWkrKGo8PDYpKzR8MDtnPTA7ZD0wO3doaWxlKDEpe2lmKChnfDAp
Pj0oY1toPj4yXXwwKSlicmVhaztlPWNbKGNbaT4+Ml18MCkrKGc8PDIpPj4yXXwwO2Y9ZSsxNnww
O2lmKGNbKGNbZj4+Ml18MCkrMTEyPj4yXXwwKXtpZighZCl7YVtuPj4wXT1hWzE3NjQ0XXwwO2Fb
bisxPj4wXT1hWzE3NjQ1XXwwO2FbbisyPj4wXT1hWzE3NjQ2XXwwO2FbbiszPj4wXT1hWzE3NjQ3
XXwwO2Q9Z24oNzg2MDUsbiwwKXwwfWNbbz4+Ml09ZztwTChtLDEyMjE4NyxvKXwwO3Q9bm8oZCxt
LDEpfDA7Tm8odCw3ODYwOCwyNCwxKXwwO3E9Y1soY1tmPj4yXXwwKSsxODA+PjJdfDA7cj1jW3E+
PjJdfDA7cj1jWyhjWyhjWygoY1tyPj4yXSYzfDApPT0yP3I6cistNDh8MCkrNDA+PjJdfDApKzE2
Pj4yXXwwKSsyMzY+PjJdfDA7cT1jW3ErND4+Ml18MDtxPWNbKGNbKGNbKChjW3E+PjJdJjN8MCk9
PTI/cTpxKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzNj4+Ml18MDtzPShyfDApPihxfDAp
O2Y9Y1t0KzE2Pj4yXXwwO2NbZisxMj4+Ml09cz9xOnI7Y1tmKzE2Pj4yXT1zP3I6cTtjW2YrMjA+
PjJdPWV9Zz1nKzF8MH1pZihkfDApe2lmKChtbihkKXwwKT4xKW9oKGQsaCk7bG4oZCl8MH1qPWor
MXwwO2Q9Y1trPj4yXXwwfWw9cDtyZXR1cm59ZnVuY3Rpb24gb2goYSxiKXthPWF8MDtiPWJ8MDt2
YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtkPTA7aD1jbyhhKXwwO2E6d2hpbGUo
MSl7aWYoIWgpYnJlYWs7aT1lbyhhLGgpfDA7aj1oKzE2fDA7Zz1pO3doaWxlKDEpe2lmKCFnKXto
PWk7Y29udGludWUgYX1mPWNbZysxNj4+Ml18MDtlPWNbaj4+Ml18MDtpZigoY1tmKzE2Pj4yXXww
KT4oY1tlKzEyPj4yXXwwKSl7aWYoKGNbZSsxNj4+Ml18MCk8PShjW2YrMTI+PjJdfDApKWFuKGEs
aCxnLDAsMSl8MH1lbHNle2FuKGEsZyxoLDAsMSl8MDtkPTF9Zz1lbyhhLGcpfDB9fWRvIGlmKGR8
MCl7aD1JcChhLDc4NjEzLDEpfDA7aj12dygobW4oYSl8MCk8PDIpfDA7aT12dygobW4oYSl8MCk8
PDIpfDA7Zj1iKzR8MDtlPWNvKGEpfDA7Yjp3aGlsZSgxKXtpZighZSl7ZD0yMzticmVha31pZigo
Y1soY1tlKzE2Pj4yXXwwKSs4Pj4yXXwwKT09MD9vbihhLGUsMSwxKXwwOjApe2M6ZG8gaWYocGgo
YSxlLGgsaSl8MCl7Zz1tbihoKXwwO2lmKChxaChhLGgsail8MCkhPShnfDApKXtkPTE3O2JyZWFr
IGJ9ckwoaSxnLDQsMTIpO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGd8MCkpYnJlYWsgYztiPWkr
KGQ8PDIpfDA7az1jW2orKGQ8PDIpPj4yXXwwO2NbKGNbaysxNj4+Ml18MCkrMjM2Pj4yXT1jW2I+
PjJdO2NbKGNbZj4+Ml18MCkrKGNbYj4+Ml08PDIpPj4yXT1rO2Q9ZCsxfDB9fXdoaWxlKDApO3No
KGgpfWU9ZW8oYSxlKXwwfWlmKChkfDApPT0xNyltYSg3ODYxOCw3ODYyOCwyNjUsNzg2MzkpO2Vs
c2UgaWYoKGR8MCk9PTIzKXtfSShqKTticmVha319d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIHBo
KGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0w
O2g9Y1tiKzE2Pj4yXXwwO2NbaCs4Pj4yXT0xO2g9Y1soY1soY1toKzIwPj4yXXwwKSsxNj4+Ml18
MCkrMjM2Pj4yXXwwO2NbZSsoKG1uKGQpfDApPDwyKT4+Ml09aDtpbyhkLGIsMSl8MDtoPVBtKGEs
Yil8MDtmPTA7d2hpbGUoMSl7aWYoIWgpYnJlYWs7aj1jW2g+PjJdJjM7Zz1jWygoanwwKT09Mj9o
OmgrLTQ4fDApKzQwPj4yXXwwO2k9Y1tnKzE2Pj4yXXwwO2Y9ZisoKGNbKGNbKGNbaSsyMD4+Ml18
MCkrMTY+PjJdfDApKzIzNj4+Ml18MCk+KGNbKGNbKGNbKGNbKGNbKChqfDApPT0zP2g6aCs0OHww
KSs0MD4+Ml18MCkrMTY+PjJdfDApKzIwPj4yXXwwKSsxNj4+Ml18MCkrMjM2Pj4yXXwwKSYxKXww
O2lmKCEoY1tpKzg+PjJdfDApKWY9KHBoKGEsZyxkLGUpfDApK2Z8MDtoPVJtKGEsaCl8MH1oPVNt
KGEsYil8MDt3aGlsZSgxKXtpZighaClicmVhaztpPWNbaD4+Ml0mMztnPWNbKChpfDApPT0zP2g6
aCs0OHwwKSs0MD4+Ml18MDtqPWNbZysxNj4+Ml18MDtmPWYrKChjWyhjWyhjWyhjWyhjWygoaXww
KT09Mj9oOmgrLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjA+PjJdfDApKzE2Pj4yXXwwKSsy
MzY+PjJdfDApPihjWyhjWyhjW2orMjA+PjJdfDApKzE2Pj4yXXwwKSsyMzY+PjJdfDApJjEpfDA7
aWYoIShjW2orOD4+Ml18MCkpZj0ocGgoYSxnLGQsZSl8MCkrZnwwO2g9VG0oYSxoKXwwfXJldHVy
biBmfDB9ZnVuY3Rpb24gcWgoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9
MDtmPTA7d2hpbGUoMSl7ZT10aChhLGIpfDA7aWYoIWUpYnJlYWs7Y1tkKyhmPDwyKT4+Ml09Y1so
Y1tlKzE2Pj4yXXwwKSsyMD4+Ml07cG8oYixlKXwwO2U9UG0oYSxlKXwwO3doaWxlKDEpe2lmKCFl
KWJyZWFrO2c9Um0oYSxlKXwwO2RuKGEsZSl8MDtlPWd9Zj1mKzF8MH1yZXR1cm4gZnwwfWZ1bmN0
aW9uIHJoKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuIChjW2E+PjJdfDApLShjW2I+PjJdfDApfDB9
ZnVuY3Rpb24gc2goYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yj1jbyhhKXwwO3doaWxlKDEpe2lmKCFi
KWJyZWFrO2M9ZW8oYSxiKXwwO3BvKGEsYil8MDtiPWN9cmV0dXJufWZ1bmN0aW9uIHRoKGEsYil7
YT1hfDA7Yj1ifDA7dmFyIGM9MDtjPWNvKGIpfDA7d2hpbGUoMSl7aWYoIWMpe2M9MDticmVha31p
ZighKG9uKGEsYywxLDApfDApKWJyZWFrO2M9ZW8oYixjKXwwfXJldHVybiBjfDB9ZnVuY3Rpb24g
dWgoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MDt2aChiKTtpPWIrMTZ8
MDtmPTA7ZT0wO3doaWxlKDEpe2lmKChmfDApPj0oY1soY1tpPj4yXXwwKSsyMjA+PjJdfDApKWJy
ZWFrO3doKGIsZik7Zj1mKzF8MDtlPSh4aChiLDAsZCl8MCkrZXwwfXloKGIpO2g9MTt3aGlsZSgx
KXtmPWNbaT4+Ml18MDtnPWNbZisxODA+PjJdfDA7aWYoKGh8MCk+KGd8MCkpYnJlYWs7Zz0oemgo
Y1soY1tmKzE4ND4+Ml18MCkrKGg8PDIpPj4yXXwwLGQpfDApK2V8MDtoPWgrMXwwO2U9Z31kbyBp
ZigoZ3wwKT4wKXtmPUltKGIsNzg2NTMpfDA7aWYoZnwwPyhJQShmKXwwKTw8MjQ+PjI0PT0wOjAp
YnJlYWs7WWsoYik7YVsxNzM4OTNdPTE7ZT14aChiLDIsZCl8MH13aGlsZSgwKTtBaChiLGUpO3Jl
dHVybn1mdW5jdGlvbiB2aChkKXtkPWR8MDt2YXIgZT0wO2lmKDApeEEoKTthWzE3Mzg5M109MDtj
WzQxOTI3XT1kO2U9KChubihWZihkKXwwKXwwKTw8MikrNHwwO2NbNDE5MjZdPXZ3KGUpfDA7Y1s0
MTkyNV09dncoZSl8MDtxaShkKTtlPWQrMTZ8MDtpZihiWyhjW2U+PjJdfDApKzEzNj4+MV0mMTYp
cmkoZCk7RmsoZCk7dGwoZCwxKTtzaShkKTtIaChkKTtlPWNbZT4+Ml18MDtjWzQxOTI4XT1iW2Ur
MjM2Pj4xXTtjWzQxOTI5XT1iW2UrMjM4Pj4xXTtyZXR1cm59ZnVuY3Rpb24gd2goYSxkKXthPWF8
MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTA7YT1jW2ErMTY+PjJdfDA7Y1thKzE5Mj4+Ml09Y1soY1th
KzIxNj4+Ml18MCkrKGQ8PDIpPj4yXTthOmRvIGlmKChkfDApPjApe2Q9YlthKzIzOD4+MV18MDtl
PWErMTk2fDA7YT1iW2ErMjM2Pj4xXXwwO3doaWxlKDEpe2lmKChhfDApPihkfDApKWJyZWFrIGE7
Zj1jW2U+PjJdfDA7Zz1mKyhhPDw2KSs0fDA7Zj1mKyhhPDw2KXwwO2NbZz4+Ml09KGNbZz4+Ml18
MCkrKGNbZj4+Ml08PDIpO2NbZj4+Ml09MDthPWErMXwwfX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rp
b24geGgoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxpPTAsaj0wLGs9
MCxtPTAsbj0wLG89MDtvPWw7bD1sKzMyfDA7bj1vO2lmKChifDApPjEpe2U9WGgoMCl8MDtZaChh
KX1lbHNlIGU9MjE0NzQ4MzY0NzttPWNbMTM5MThdfDA7az1iO2Y9MDtiPWU7d2hpbGUoMSl7aWYo
KGt8MCk+PTMpYnJlYWs7Zj1jWzQyMTgwXXwwO2lmKChrfDApPT0yKWlmKChlfDApPihifDApKXtf
aChhKTtlPWJ9ZWxzZSBlPWI7ZWxzZXtlPShmfDApPDQ/Zjo0O2lmKChWZihhKXwwKT09KGF8MCkp
WmgoYSxrKTtpZighaylJaChhKTtKaChhKTtnPVhoKDApfDA7aWYoKGd8MCk+KGJ8MCkpe2Y9ZTtl
PWd9ZWxzZXtZaChhKTtmPWU7ZT1nO2I9Z319Zz0wO2o9MDt3aGlsZSgxKXtpZigoanwwKT49KGZ8
MCkpYnJlYWs7aWYoMCl7Y1tuPj4yXT1rO2Nbbis0Pj4yXT1qO2Nbbis4Pj4yXT1nO2NbbisxMj4+
Ml09ZTtjW24rMTY+PjJdPWI7ekwobSw3OTA0NixuKXwwfWk9ZysxfDA7aWYoKGV8MCk9PTB8KGd8
MCk+PShjWzQxOTMwXXwwKSlicmVhazskaChhLGopO2U9WGgoMCl8MDtpZigoZXwwKT4oYnwwKSln
PWk7ZWxzZXtZaChhKTtnPStoWzIwODc4XSorKGJ8MCk+KyhlfDApPzA6aTtiPWV9aj1qKzF8MH1p
ZighZSl7ZT0wO2JyZWFrfWVsc2Ugaz1rKzF8MH1pZigoZXwwKT4oYnwwKSlfaChhKTtpZigoYnww
KT4wKXthaShhLDApO2U9WGgoMCl8MH1lbHNlIGU9YjthOmRvIGlmKGR8MCl7Yj0wO3doaWxlKDEp
e2lmKChifDApPj0oZnwwKSlicmVhayBhO2JpKGEpO2I9YisxfDB9fXdoaWxlKDApO2w9bztyZXR1
cm4gZXwwfWZ1bmN0aW9uIHloKGEpe2E9YXwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxq
PTAsaz0wLG09MCxuPTAsbz0wLHA9MDtwPWw7bD1sKzE2fDA7bj1wO1doKGEpO2s9YSsxNnwwO2Q9
Y1trPj4yXXwwO209Y1sxMzkxOF18MDtqPWJbZCsyMzY+PjFdfDA7d2hpbGUoMSl7aWYoKGp8MCk+
KGJbZCsyMzg+PjFdfDApKWJyZWFrO2U9Y1tkKzE5Nj4+Ml18MDtmPWNbZSsoajw8NikrOD4+Ml18
MDtjW2UrKGo8PDYpPj4yXT1mO2c9Y1tlKyhqPDw2KSsxMj4+Ml18MDtjW2UrKGo8PDYpKzQ+PjJd
PWc7aT0wO3doaWxlKDEpe2lmKChpfDApPj0oZnwwKSlicmVhaztoPWNbZysoaTw8Mik+PjJdfDA7
aWYoIWgpe289NjticmVha31jWyhjW2grMTY+PjJdfDApKzIzNj4+Ml09aTtpPWkrMXwwfWlmKChv
fDApPT02KXtvPTA7aWYoMCl7ZT1EbihhKXwwO2Q9Y1soY1soY1trPj4yXXwwKSsxOTY+PjJdfDAp
KyhqPDw2KT4+Ml18MDtjW24+PjJdPWU7Y1tuKzQ+PjJdPWo7Y1tuKzg+PjJdPWk7Y1tuKzEyPj4y
XT1kO3pMKG0sNzg5OTYsbil8MDtkPWNbaz4+Ml18MDtlPWNbZCsxOTY+PjJdfDB9Y1tlKyhqPDw2
KT4+Ml09aX1qPWorMXwwfWw9cDtyZXR1cm59ZnVuY3Rpb24gemgoYSxiKXthPWF8MDtiPWJ8MDt2
YXIgZD0wLGU9MCxmPTAsZz0wO1NrKGEpO0hoKGEpO0loKGEpO0poKGEpO2Y9YSsxNnwwO2Q9eGgo
YSwyLGIpfDA7ZT0xO3doaWxlKDEpe2c9Y1tmPj4yXXwwO2lmKChlfDApPihjW2crMTgwPj4yXXww
KSlicmVhaztkPSh6aChjWyhjW2crMTg0Pj4yXXwwKSsoZTw8Mik+PjJdfDAsYil8MCkrZHwwO2U9
ZSsxfDB9S2goYSk7cmV0dXJuIGR8MH1mdW5jdGlvbiBBaChkLGUpe2Q9ZHwwO2U9ZXwwO3ZhciBm
PTAsZz0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLjA7cT1sO2w9bCsxNnww
O3A9cTtmPWNbNDE5MjVdfDA7aWYoZnwwKXtfSShmKTtjWzQxOTI1XT0wfWY9Y1s0MTkyNl18MDtp
ZihmfDApe19JKGYpO2NbNDE5MjZdPTB9bz1kKzE2fDA7Zj0xO3doaWxlKDEpe2c9Y1tvPj4yXXww
O2lmKChmfDApPihjW2crMTgwPj4yXXwwKSlicmVhaztCaChjWyhjW2crMTg0Pj4yXXwwKSsoZjw8
Mik+PjJdfDApO2Y9ZisxfDB9bj1iW2crMjM2Pj4xXXwwO2Y9Zzt3aGlsZSgxKXtpZigobnwwKT4o
YltmKzIzOD4+MV18MCkpYnJlYWs7ZWxzZSBtPTA7d2hpbGUoMSl7Zj1jW2YrMTk2Pj4yXXwwO2lm
KChtfDApPj0oY1tmKyhuPDw2KT4+Ml18MCkpYnJlYWs7az0oY1soY1tmKyhuPDw2KSs0Pj4yXXww
KSsobTw8Mik+PjJdfDApKzE2fDA7Zj1jW2s+PjJdfDA7Y1tmKzIzNj4+Ml09bTtmPWNbZisxODg+
PjJdfDA7YTpkbyBpZihmfDApe2c9MDt3aGlsZSgxKXtpPWNbZisoZzw8Mik+PjJdfDA7aWYoIWkp
YnJlYWsgYTtqPWkrMTZ8MDtpZigoYVsoY1tqPj4yXXwwKSsxMTI+PjBdfDApPT00KXtoaChpKTtf
SShjW2o+PjJdfDApO19JKGkpO2c9ZystMXwwO2Y9Y1soY1trPj4yXXwwKSsxODg+PjJdfDB9Zz1n
KzF8MH19d2hpbGUoMCk7bT1tKzF8MDtmPWNbbz4+Ml18MH1DaChjW2YrKG48PDYpKzU2Pj4yXXww
KTtuPW4rMXwwO2Y9Y1tvPj4yXXwwfWlmKDApe289Y1sxMzkxOF18MDtkPURuKGQpfDA7cj0reUEo
KTtjW3A+PjJdPWQ7Y1twKzQ+PjJdPWU7aFtwKzg+PjNdPXI7ekwobyw3ODY2NCxwKXwwfWw9cTty
ZXR1cm59ZnVuY3Rpb24gQmgoYSl7YT1hfDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9
MCxrPTA7Zz1hKzE2fDA7ZD0xO3doaWxlKDEpe2Y9Y1tnPj4yXXwwO2lmKChkfDApPihjW2YrMTgw
Pj4yXXwwKSlicmVhaztCaChjWyhjW2YrMTg0Pj4yXXwwKSsoZDw8Mik+PjJdfDApO2Q9ZCsxfDB9
YTpkbyBpZihjW2YrMjY4Pj4yXXwwKXtlPWJbZisyMzY+PjFdfDA7ZD1mO3doaWxlKDEpe2lmKChl
fDApPihiW2QrMjM4Pj4xXXwwKSlicmVhayBhO2o9Y1soY1tkKzI2OD4+Ml18MCkrKGU8PDIpPj4y
XXwwO2k9RGgoYSxqLC0xKXwwO2o9RGgoYSxqLDEpfDA7Y1soY1soY1tnPj4yXXwwKSsyNjg+PjJd
fDApKyhlPDwyKT4+Ml09aTtrPWNbKGNbKGNbKFZmKGEpfDApKzE2Pj4yXXwwKSsxOTY+PjJdfDAp
KyhlPDw2KSs0Pj4yXXwwO2k9Y1soY1tpKzE2Pj4yXXwwKSsyMzY+PjJdfDA7Zj1jW2c+PjJdfDA7
aD1jW2YrMTk2Pj4yXXwwO2NbaCsoZTw8NikrND4+Ml09aysoaTw8Mik7Y1toKyhlPDw2KT4+Ml09
KGNbKGNbaisxNj4+Ml18MCkrMjM2Pj4yXXwwKSsxLWk7ZT1lKzF8MDtkPWZ9fXdoaWxlKDApO3Jl
dHVybn1mdW5jdGlvbiBDaChhKXthPWF8MDtpZihhfDApe19JKGNbYSs4Pj4yXXwwKTtfSShhKX1y
ZXR1cm59ZnVuY3Rpb24gRGgoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wO2Q9
Yjt3aGlsZSgxKXtiPUVoKGIsYyl8MDtpZighYilicmVhaztpZihGaChhLGIpfDApe2Q9Yjtjb250
aW51ZX1lPShHaChhLGIpfDApPT0wO2Q9ZT9kOmJ9cmV0dXJuIGR8MH1mdW5jdGlvbiBFaChhLGIp
e2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTA7aWYoIWEpbWEoNzg3MDMsNzg2MjgsMTAy
Myw3ODcwNSk7aWYoKGJ8MCk8MCl7YT1jW2ErMTY+PjJdfDA7ZT1jW2ErMjM2Pj4yXXwwO2lmKChl
fDApPjApe2E9KGNbKGNbKGNbNDE5MjddfDApKzE2Pj4yXXwwKSsxOTY+PjJdfDApKyhjW2ErMjMy
Pj4yXTw8NikrNHwwO2Q9ZSstMXwwO2Y9N31lbHNlIGc9MH1lbHNle2E9Y1thKzE2Pj4yXXwwO2U9
Y1thKzIzNj4+Ml18MDthPShjWyhjWyhjWzQxOTI3XXwwKSsxNj4+Ml18MCkrMTk2Pj4yXXwwKSso
Y1thKzIzMj4+Ml08PDYpKzR8MDtkPWUrMXwwO2Y9N31pZigoZnwwKT09Nyl7YT1jWyhjW2E+PjJd
fDApKyhkPDwyKT4+Ml18MDtpZihhKWlmKChPKChjWyhjW2ErMTY+PjJdfDApKzIzNj4+Ml18MCkt
ZXwwLGIpfDApPjApZz1hO2Vsc2UgbWEoNzg3MTQsNzg2MjgsMTAyOSw3ODcwNSk7ZWxzZSBnPTB9
cmV0dXJuIGd8MH1mdW5jdGlvbiBGaChiLGQpe2I9YnwwO2Q9ZHwwO2lmKCEoYVsoY1tkKzE2Pj4y
XXwwKSsxNTY+PjBdfDApKWI9KEJvKGIsZCl8MCkhPTAmMTtlbHNlIGI9MDtyZXR1cm4gYnwwfWZ1
bmN0aW9uIEdoKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTA7ZD1jW2QrMTY+PjJdfDA7aWYo
KChhW2QrMTU2Pj4wXXwwKT09MT8oY1tkKzE3Nj4+Ml18MCk9PTE6MCk/KGNbZCsxODQ+PjJdfDAp
PT0xOjApe2Q9Y1tkKzE4MD4+Ml18MDt3aGlsZSgxKXtkPWNbZD4+Ml18MDtlPWNbZCsxNj4+Ml18
MDtpZighKGFbZSsxMTI+PjBdfDApKWJyZWFrO2Vsc2UgZD1lKzExNnwwfWlmKEJvKGIsZCl8MClk
PTE7ZWxzZSBmPTd9ZWxzZSBmPTc7aWYoKGZ8MCk9PTcpZD0wO3JldHVybiBkfDB9ZnVuY3Rpb24g
SGgoYil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wO2Y9bDtsPWwrMTZ8MDtlPWY7ZD1jWzQyMTg0XXww
O2E6ZG8gaWYoKGR8MCkhPTB8KGNbNDIyMDVdfDApIT0wKXtkPUZBKGIsZCwwKXwwO2lmKGR8MCl7
c3dpdGNoKGFbZD4+MF18MCl7Y2FzZSAwOmJyZWFrIGE7Y2FzZSAxMTE6e2lmKCEoeEooZCw3ODkx
Nil8MCkpe1JoKGIsMSk7YnJlYWsgYX1icmVha31jYXNlIDEwNTp7aWYoISh4SihkLDgzNzA1KXww
KSl7UmgoYiwwKTticmVhayBhfWJyZWFrfWRlZmF1bHQ6e319Y1tlPj4yXT1kO19sKDEsNzg5MjAs
ZSl8MDticmVha31kPUpwKGIpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7aWYoIShDaihkKXwwKSlI
aChkKTtkPUtwKGQpfDB9aWYoY1s0MjIwNV18MClTaChiKX13aGlsZSgwKTtsPWY7cmV0dXJufWZ1
bmN0aW9uIEloKGQpe2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7az1kKzE2
fDA7ZT1jW2s+PjJdfDA7aj1iW2UrMjM2Pj4xXXwwO3doaWxlKDEpe2lmKChqfDApPihiW2UrMjM4
Pj4xXXwwKSlicmVhaztlbHNle2Y9MDtpPTB9d2hpbGUoMSl7Zz1jW2UrMTk2Pj4yXXwwO2g9Y1tn
KyhqPDw2KT4+Ml18MDtpZigoaXwwKT49KGh8MCkpYnJlYWs7Zz1jWyhjWyhjW2crKGo8PDYpKzQ+
PjJdfDApKyhpPDwyKT4+Ml18MCkrMTY+PjJdfDA7YVtnKzE1OD4+MF09MDthW2crMTU3Pj4wXT0w
O2NbZysyODQ+PjJdPWk7aWYoKGZ8MCk9PTAmKGNbZysxOTI+PjJdfDApPjApe2Y9UGgoaCxoKXww
O2U9Y1trPj4yXXwwO2NbKGNbZSsxOTY+PjJdfDApKyhqPDw2KSs1Nj4+Ml09ZjtmPTF9aT1pKzF8
MH1hOmRvIGlmKGYpe2k9MDtmPWg7d2hpbGUoMSl7aWYoKGl8MCk+PShmfDApKWJyZWFrIGE7aD1j
WyhjW2crKGo8PDYpKzQ+PjJdfDApKyhpPDwyKT4+Ml18MDtpZighKGFbKGNbaCsxNj4+Ml18MCkr
MTU3Pj4wXXwwKSl7UWgoZCxoKTtlPWNbaz4+Ml18MDtmPWNbZSsxOTY+PjJdfDA7Zz1mO2Y9Y1tm
KyhqPDw2KT4+Ml18MH1pPWkrMXwwfX13aGlsZSgwKTtqPWorMXwwfXJldHVybn1mdW5jdGlvbiBK
aChkKXtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89
MCxwPTAscT0wLHI9MCxzPTAsdD0wO3M9ZCsxNnwwO2U9Y1tzPj4yXXwwO2lmKGFbZSsyNDA+PjBd
fDApe2g9MDtyPWJbZSsyMzY+PjFdfDA7cT0wO2k9MDthOndoaWxlKDEpe2lmKChyfDApPihiW2Ur
MjM4Pj4xXXwwKSlicmVhaztmPWNbZSsxOTY+PjJdfDA7Zz1jW2YrKHI8PDYpPj4yXXwwO2lmKCFn
KXtnPXE7Zj1pfWVsc2V7Zj1jW2YrKHI8PDYpKzQ+PjJdfDA7bz1jWyhjWyhjW2Y+PjJdfDApKzE2
Pj4yXXwwKSsyMzY+PjJdfDA7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oZ3wwKSlicmVhazthWyhj
WyhjW2YrKGU8PDIpPj4yXXwwKSsxNj4+Ml18MCkrMTU3Pj4wXT0wO2U9ZSsxfDB9ZT0oZTw8Mikr
NHwwO2lmKCFoKXA9d3coZSl8MDtlbHNlIHA9eXcoaSxlKXwwO209MDtuPTA7d2hpbGUoMSl7ZT1j
W3M+PjJdfDA7Zj1jW2UrMTk2Pj4yXXwwO2c9Y1tmKyhyPDw2KT4+Ml18MDtpZigoZ3wwKTw9KG58
MCkpYnJlYWs7aj1jWyhjW2YrKHI8PDYpKzQ+PjJdfDApKygoKGNbZSsxMTY+PjJdJjF8MCk9PTA/
Zyt+bnwwOm4pPDwyKT4+Ml18MDtsPWorMTZ8MDtlPTA7az0wO3doaWxlKDEpe2k9Y1tsPj4yXXww
O2lmKChlfDApPj0oY1tpKzIwMD4+Ml18MCkpe2Y9MDtnPTA7ZT1pO2JyZWFrfWk9aysoKExoKGQs
Y1soY1tpKzE5Nj4+Ml18MCkrKGU8PDIpPj4yXXwwKXwwKSE9MCYxKXwwO2U9ZSsxfDA7az1pfXdo
aWxlKDEpe2lmKChnfDApPj0oY1tlKzE5Mj4+Ml18MCkpYnJlYWs7aT1mKygoTGgoZCxjWyhjW2Ur
MTg4Pj4yXXwwKSsoZzw8Mik+PjJdfDApfDApIT0wJjEpfDA7Zj1pO2c9ZysxfDA7ZT1jW2w+PjJd
fDB9aWYoZnxrKWlmKChrfDApPT0wJihhW2UrMTU3Pj4wXXwwKT09MCllPShNaChkLGoscCsobTw8
Mil8MCxyKXwwKSttfDA7ZWxzZSBlPW07ZWxzZXtjW3ArKG08PDIpPj4yXT1qO2U9bSsxfDB9bT1l
O249bisxfDB9YjpkbyBpZihtKXtjOmRvIGlmKCEoY1tlKzExNj4+Ml0mMSkpe2Y9cDtlPXArKG08
PDIpfDA7d2hpbGUoMSl7ZT1lKy00fDA7aWYoZj4+PjA+PWU+Pj4wKXtnPTA7YnJlYWsgY31uPWNb
Zj4+Ml18MDtjW2Y+PjJdPWNbZT4+Ml07Y1tlPj4yXT1uO2Y9Zis0fDB9fWVsc2UgZz0wO3doaWxl
KDApO3doaWxlKDEpe2U9Y1tzPj4yXXwwO2k9Y1tlKzE5Nj4+Ml18MDtmPWNbaSsocjw8Nik+PjJd
fDA7aWYoKGd8MCk+PShmfDApKXttPTA7Zz1pO2JyZWFrfW49Y1twKyhnPDwyKT4+Ml18MDtjWyhj
W2krKHI8PDYpKzQ+PjJdfDApKyhnPDwyKT4+Ml09bjtjWyhjW24rMTY+PjJdfDApKzIzNj4+Ml09
ZytvO2c9ZysxfDB9d2hpbGUoMSl7aWYoKG18MCk+PShmfDApKWJyZWFrIGI7bD0oY1soY1tnKyhy
PDw2KSs0Pj4yXXwwKSsobTw8Mik+PjJdfDApKzE2fDA7aT1jWyhjW2w+PjJdfDApKzE4OD4+Ml18
MDtpZihpKXtrPTA7Zj1pO3doaWxlKDEpe2c9Y1tmKyhrPDwyKT4+Ml18MDtlPWNbcz4+Ml18MDtp
ZighZylicmVhaztqPWNbZz4+Ml0mMztpPWNbKGNbKGNbKChqfDApPT0yP2c6ZystNDh8MCkrNDA+
PjJdfDApKzE2Pj4yXXwwKSsyMzY+PjJdfDA7aj1jWyhjWyhjWygoanwwKT09Mz9nOmcrNDh8MCkr
NDA+PjJdfDApKzE2Pj4yXXwwKSsyMzY+PjJdfDA7aWYoIShjW2UrMTE2Pj4yXSYxKSlpZigoaXww
KTwoanwwKSl0PTM2O2Vsc2UgZT1rO2Vsc2UgaWYoKGl8MCk+KGp8MCkpdD0zNjtlbHNlIGU9aztp
ZigodHwwKT09MzYpe3Q9MDtpZihMaChkLGcpfDApe3Q9Mzc7YnJlYWsgYX1oaChnKTtOaChkLGcp
O2U9aystMXwwO2Y9Y1soY1tsPj4yXXwwKSsxODg+PjJdfDB9az1lKzF8MH1mPWNbZSsxOTY+PjJd
fDA7Zz1mO2Y9Y1tmKyhyPDw2KT4+Ml18MH1tPW0rMXwwfX13aGlsZSgwKTthWyhjWyhjWyhjWzQx
OTI3XXwwKSsxNj4+Ml18MCkrMTk2Pj4yXXwwKSsocjw8NikrNDk+PjBdPTA7aD1wO2c9cDtmPXB9
cj1yKzF8MDtxPWc7aT1mfWlmKCh0fDApPT0zNyltYSg3ODc2Miw3ODYyOCwxNTYxLDc4ODAxKTtp
ZihofDApX0kocSl9cmV0dXJufWZ1bmN0aW9uIEtoKGEpe2E9YXwwO3ZhciBkPTAsZT0wO2U9YSsx
NnwwO2E9Y1tlPj4yXXwwO2E6ZG8gaWYoY1thKzI2OD4+Ml18MCl7ZD1iW2ErMjM2Pj4xXXwwO3do
aWxlKDEpe2lmKChkfDApPihiW2ErMjM4Pj4xXXwwKSlicmVhayBhO2NbKGNbYSsyNjg+PjJdfDAp
KyhkPDwyKT4+Ml09Y1tjWyhjW2ErMTk2Pj4yXXwwKSsoZDw8NikrND4+Ml0+PjJdO2Q9ZCsxfDA7
YT1jW2U+PjJdfDB9fXdoaWxlKDApO3JldHVybn1mdW5jdGlvbiBMaChhLGIpe2E9YXwwO2I9Ynww
O2lmKChjWyhjW2IrMTY+PjJdfDApKzE1Nj4+Ml18MCkhPTA/KE9oKGEsY1soKGNbYj4+Ml0mM3ww
KT09Mz9iOmIrNDh8MCkrNDA+PjJdfDApfDApIT0wOjApYT0oT2goYSxjWygoY1tiPj4yXSYzfDAp
PT0yP2I6YistNDh8MCkrNDA+PjJdfDApfDApIT0wJjE7ZWxzZSBhPTA7cmV0dXJuIGF8MH1mdW5j
dGlvbiBNaChiLGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxpPTAs
aj0wLGs9MCxsPTA7bD1kKzE2fDA7Zz1jW2w+PjJdfDA7YVtnKzE1Nz4+MF09MTthOmRvIGlmKChj
W2crMTkyPj4yXXwwKT4wKXtoPTA7aj0wO3doaWxlKDEpe2k9Y1soY1tnKzE4OD4+Ml18MCkrKGo8
PDIpPj4yXXwwO2lmKCFpKWJyZWFrIGE7aWYoKExoKGIsaSl8MCkhPTA/KGs9Y1soKGNbaT4+Ml0m
M3wwKT09Mj9pOmkrLTQ4fDApKzQwPj4yXXwwLChhWyhjW2srMTY+PjJdfDApKzE1Nz4+MF18MCk9
PTApOjApaD0oTWgoYixrLGUrKGg8PDIpfDAsZil8MCkraHwwO2o9aisxfDA7Zz1jW2w+PjJdfDB9
fWVsc2UgaD0wO3doaWxlKDApO2lmKChjW2crMjMyPj4yXXwwKT09KGZ8MCkpe2NbZSsoaDw8Mik+
PjJdPWQ7cmV0dXJuIGgrMXwwfWVsc2UgbWEoNzg4MTQsNzg2MjgsMTQ5MCw3ODgzMCk7cmV0dXJu
IDB9ZnVuY3Rpb24gTmgoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxq
PTAsaz0wLGw9MCxtPTA7aT1jW2Q+PjJdJjM7aj1jWygoaXwwKT09Mj9kOmQrLTQ4fDApKzQwPj4y
XXwwO2Y9Y1soY1tqKzE2Pj4yXXwwKSsxODg+PjJdfDA7YTpkbyBpZighZil7ZT1kKzQ4fDA7bT0x
NX1lbHNle2w9ZCs0OHwwO2c9KChpfDApPT0zP2Q6bCkrNDB8MDtlPTA7d2hpbGUoMSl7aD1jW2Yr
KGU8PDIpPj4yXXwwO2lmKCFoKXtlPWw7bT0xNTticmVhayBhfWlmKChjWygoY1toPj4yXSYzfDAp
PT0yP2g6aCstNDh8MCkrNDA+PjJdfDApPT0oY1tnPj4yXXwwKSlicmVhaztlbHNlIGU9ZSsxfDB9
aWgoZCxoKTtlPShjW2QrMTY+PjJdfDApKzE3MnwwO2lmKCEoY1tlPj4yXXwwKSljW2U+PjJdPWg7
ZT1jW2grMTY+PjJdfDA7aWYoKGFbZSsxMTI+PjBdfDApPT00PyhrPWUrMTE2fDAsKGNbaz4+Ml18
MCk9PTApOjApY1trPj4yXT1kO2U9Y1soY1soKGNbZD4+Ml0mM3wwKT09Mz9kOmwpKzQwPj4yXXww
KSsxNj4+Ml18MDtmPWNbZSsyMDQ+PjJdfDA7aWYoIWYpZT13dygoY1tlKzIwOD4+Ml08PDIpKzh8
MCl8MDtlbHNlIGU9eXcoZiwoY1tlKzIwOD4+Ml08PDIpKzh8MCl8MDtjWyhjWyhjWygoY1tkPj4y
XSYzfDApPT0zP2Q6bCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMDQ+PjJdPWU7aT1jWyhjWygoY1tk
Pj4yXSYzfDApPT0zP2Q6bCkrNDA+PjJdfDApKzE2Pj4yXXwwO2o9Y1tpKzIwND4+Ml18MDtpPWkr
MjA4fDA7az1jW2k+PjJdfDA7Y1tpPj4yXT1rKzE7Y1tqKyhrPDwyKT4+Ml09ZDtkPWNbKGNbKChj
W2Q+PjJdJjN8MCk9PTM/ZDpsKSs0MD4+Ml18MCkrMTY+PjJdfDA7Y1soY1tkKzIwND4+Ml18MCkr
KGNbZCsyMDg+PjJdPDwyKT4+Ml09MH13aGlsZSgwKTtpZigobXwwKT09MTUpe209JGcoaixjWygo
aXwwKT09Mz9kOmUpKzQwPj4yXXwwLGQpfDA7bD1jW2QrMTY+PjJdfDA7ZD1jW20rMTY+PjJdfDA7
YVtkKzExMj4+MF09KGFbbCsxMTI+PjBdfDApPT00PzQ6MztjW2QrOTY+PjJdPWNbbCs5Nj4+Ml07
Z2goYixtKX1yZXR1cm59ZnVuY3Rpb24gT2goYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wO2M9Rmgo
YSxiKXwwO3JldHVybiBHaChhLGIpfDB8Y3wwfWZ1bmN0aW9uIFBoKGEsYil7YT1hfDA7Yj1ifDA7
dmFyIGQ9MDtkPXZ3KDEyKXwwO2NbZD4+Ml09YTtjW2QrND4+Ml09YjtjW2QrOD4+Ml09dncoTyhi
LGEpfDApfDA7cmV0dXJuIGR8MH1mdW5jdGlvbiBRaChiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAs
Zj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wO289ZCsx
NnwwO2w9Y1tvPj4yXXwwO2s9Y1soY1soY1tiKzE2Pj4yXXwwKSsxOTY+PjJdfDApKyhjW2wrMjMy
Pj4yXTw8NikrNTY+PjJdfDA7YVtsKzE1Nz4+MF09MTthW2wrMTU4Pj4wXT0xO2w9KGNbKGNbKFZm
KGIpfDApKzE2Pj4yXXwwKSsxODA+PjJdfDApPjA7ZT1jW28+PjJdfDA7Zj1jW2UrMTg4Pj4yXXww
O2E6ZG8gaWYoZil7bT1rKzR8MDtuPWsrOHwwO2Q9MDtiOndoaWxlKDEpe2o9Y1tmKyhkPDwyKT4+
Ml18MDtpZighail7cD1lO2JyZWFrIGF9aWYobCl7aWYoKEJvKGIsY1soKGNbaj4+Ml0mM3wwKT09
Mz9qOmorNDh8MCkrNDA+PjJdfDApfDApIT0wPyhCbyhiLGNbKChjW2o+PjJdJjN8MCk9PTI/ajpq
Ky00OHwwKSs0MD4+Ml18MCl8MCkhPTA6MClxPTd9ZWxzZSBxPTc7ZG8gaWYoKHF8MCk9PTcpe3E9
MDtoPWorMTZ8MDtpZihjWyhjW2g+PjJdfDApKzE1Nj4+Ml18MCl7ZT1jW2o+PjJdJjM7Zz1qKy00
OHwwO3I9Y1soY1soKGV8MCk9PTI/ajpnKSs0MD4+Ml18MCkrMTY+PjJdfDA7aT1jW3IrMjg0Pj4y
XXwwO2Y9KGl8MCk8KGNbaz4+Ml18MCk7aWYoKGFbcisxNTg+PjBdfDApPT0xKXtpZighZil7cT0x
MDticmVhayBifWU9Y1soY1soY1soKGV8MCk9PTM/ajpqKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18
MCkrMjg0Pj4yXXwwO2Y9Y1ttPj4yXXwwO2lmKChlfDApPj0oZnwwKSl7cT0xMjticmVhayBifWFb
KGNbbj4+Ml18MCkrKChPKGYsaSl8MCkrZSk+PjBdPTE7aGgoaik7ZD1kKy0xfDA7aWYoKGFbKGNb
aD4+Ml18MCkrMTEyPj4wXXwwKT09NClicmVhaztOaChiLGopO2JyZWFrfWVsc2V7aWYoIWYpe3E9
MTY7YnJlYWsgYn1lPWNbKGNbKGNbKChlfDApPT0zP2o6ais0OHwwKSs0MD4+Ml18MCkrMTY+PjJd
fDApKzI4ND4+Ml18MDtmPWNbbT4+Ml18MDtpZigoZXwwKT49KGZ8MCkpe3E9MTg7YnJlYWsgYn1h
WyhjW24+PjJdfDApKygoTyhmLGUpfDApK2kpPj4wXT0xO2U9Y1soKGNbaj4+Ml0mM3wwKT09Mj9q
OmcpKzQwPj4yXXwwO2lmKGFbKGNbZSsxNj4+Ml18MCkrMTU3Pj4wXXwwKWJyZWFrO1FoKGIsZSk7
YnJlYWt9fX13aGlsZSgwKTtmPWNbbz4+Ml18MDtkPWQrMXwwO2U9ZjtmPWNbZisxODg+PjJdfDB9
aWYoKHF8MCk9PTEwKW1hKDc4ODQwLDc4NjI4LDEyNTEsNzg4NzIpO2Vsc2UgaWYoKHF8MCk9PTEy
KW1hKDc4ODg0LDc4NjI4LDEyNTIsNzg4NzIpO2Vsc2UgaWYoKHF8MCk9PTE2KW1hKDc4ODQwLDc4
NjI4LDEyNjAsNzg4NzIpO2Vsc2UgaWYoKHF8MCk9PTE4KW1hKDc4ODg0LDc4NjI4LDEyNjEsNzg4
NzIpfWVsc2UgcD1lO3doaWxlKDApO2FbcCsxNTg+PjBdPTA7cmV0dXJufWZ1bmN0aW9uIFJoKGEs
Yil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtjPWNvKGEpfDA7d2hpbGUoMSl7aWYoIWMpYnJlYWs7VGgo
YSxjLGIpO2M9ZW8oYSxjKXwwfXJldHVybn1mdW5jdGlvbiBTaChiKXtiPWJ8MDt2YXIgZD0wLGU9
MCxmPTAsZz0wLGg9MDtnPWw7bD1sKzE2fDA7Zj1nO2Q9Y28oYil8MDt3aGlsZSgxKXtpZighZCli
cmVhaztlPUZBKGQsY1s0MjIwNV18MCwwKXwwO2E6ZG8gaWYoZXwwKXtzd2l0Y2goYVtlPj4wXXww
KXtjYXNlIDA6YnJlYWsgYTtjYXNlIDExMTp7aWYoISh4SihlLDc4OTE2KXwwKSl7VGgoYixkLDEp
O2JyZWFrIGF9YnJlYWt9Y2FzZSAxMDU6e2lmKCEoeEooZSw4MzcwNSl8MCkpe1RoKGIsZCwwKTti
cmVhayBhfWJyZWFrfWRlZmF1bHQ6e319aD1EbihkKXwwO2NbZj4+Ml09ZTtjW2YrND4+Ml09aDtf
bCgxLDc4OTUxLGYpfDB9d2hpbGUoMCk7ZD1lbyhiLGQpfDB9bD1nO3JldHVybn1mdW5jdGlvbiBU
aChiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTA7aj1jWzQx
OTI2XXwwO2g9ZCsxNnwwO2Y9Y1toPj4yXXwwO2E6ZG8gaWYoIShjW2YrMjEyPj4yXXwwKSl7aT0o
ZXwwKSE9MDtiOmRvIGlmKGkpe2c9MDtkPTA7ZT1mO3doaWxlKDEpe2Y9Y1soY1tlKzE4MD4+Ml18
MCkrKGc8PDIpPj4yXXwwO2lmKCFmKWJyZWFrIGI7aWYoIShVaChmKXwwKSl7Y1tqKyhkPDwyKT4+
Ml09ZjtkPWQrMXwwO2U9Y1toPj4yXXwwfWc9ZysxfDB9fWVsc2V7Zz0wO2Q9MDtlPWY7d2hpbGUo
MSl7Zj1jWyhjW2UrMTcyPj4yXXwwKSsoZzw8Mik+PjJdfDA7aWYoIWYpYnJlYWsgYjtpZighKFVo
KGYpfDApKXtjW2orKGQ8PDIpPj4yXT1mO2Q9ZCsxfDA7ZT1jW2g+PjJdfDB9Zz1nKzF8MH19d2hp
bGUoMCk7aWYoKGR8MCk+PTIpe2NbaisoZDw8Mik+PjJdPTA7ckwoaixkLDQsMTMpO2g9aT8yOjM7
Zz1pPy0xOjE7Zj0xO3doaWxlKDEpe2Q9Y1tqKyhmPDwyKT4+Ml18MDtpZighZClicmVhayBhO2U9
Y1tqKyhmKy0xPDwyKT4+Ml18MDtlPWNbKChjW2U+PjJdJjN8MCk9PShofDApP2U6ZSsoZyo0OHww
KXwwKSs0MD4+Ml18MDtkPWNbKChjW2Q+PjJdJjN8MCk9PShofDApP2Q6ZCsoZyo0OHwwKXwwKSs0
MD4+Ml18MDtpZihVZyhlLGQpfDApYnJlYWsgYTtpPSRnKGUsZCwwKXwwO2FbKGNbaSsxNj4+Ml18
MCkrMTEyPj4wXT00O2doKGIsaSk7Zj1mKzF8MH19fXdoaWxlKDApO3JldHVybn1mdW5jdGlvbiBV
aChhKXthPWF8MDt2YXIgYj0wO3doaWxlKDEpe2I9Y1soY1thKzE2Pj4yXXwwKSsxMTY+PjJdfDA7
aWYoIWIpYnJlYWs7ZWxzZSBhPWJ9Yj1jW2E+PjJdJjM7cmV0dXJuIChjWyhjWyhjWygoYnwwKT09
Mz9hOmErNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMTI+PjJdfDApIT0oY1soY1soY1soKGJ8
MCk9PTI/YTphKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIxMj4+Ml18MCl8MH1mdW5jdGlv
biBWaChhLGIpe2E9YXwwO2I9YnwwO3JldHVybiAoKGNbY1thPj4yXT4+Ml18MCk+Pj40KS0oKGNb
Y1tiPj4yXT4+Ml18MCk+Pj40KXwwfWZ1bmN0aW9uIFdoKGEpe2E9YXwwO3ZhciBkPTAsZT0wLGY9
MCxnPTAsaD0wLGk9MCxqPTA7Zj1jW2ErMTY+PjJdfDA7Zz1mKzIyMHwwO2g9Y1tnPj4yXXwwO2lm
KChofDApPj0yKXtpPWYrMjE2fDA7YT0wO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KGh8MCkpYnJl
YWs7ZD1jWyhjW2k+PjJdfDApKyhlPDwyKT4+Ml18MDtpZihhfDApY1soY1thKzE2Pj4yXXwwKSsx
NjQ+PjJdPWQ7aj1jW2QrMTY+PjJdfDA7Y1tqKzE2OD4+Ml09YTthPWQ7ZD1qO3doaWxlKDEpe2Q9
Y1tkKzE2ND4+Ml18MDtpZighZClicmVhazthPWQ7ZD1jW2QrMTY+PjJdfDB9ZT1lKzF8MH1jW2c+
PjJdPTE7Y1tmKzE5Mj4+Ml09Y1tjW2YrMjE2Pj4yXT4+Ml07YltmKzIzNj4+MV09Y1s0MTkyOF07
YltmKzIzOD4+MV09Y1s0MTkyOV19cmV0dXJufWZ1bmN0aW9uIFhoKGQpe2Q9ZHwwO3ZhciBlPTAs
Zj0wLGc9MCxoPTAsaT0wLGo9MDtpPWNbNDE5MjddfDA7aj1pKzE2fDA7Zj1jW2o+PjJdfDA7Zz0w
O2g9YltmKzIzNj4+MV18MDt3aGlsZSgxKXtpZigoaHwwKT49KGJbZisyMzg+PjFdfDApKWJyZWFr
O2Q9Y1tmKzE5Nj4+Ml18MDtpZighKGFbZCsoaDw8NikrNDk+PjBdfDApKXtlPW9pKGksaCl8MDtk
PWNbaj4+Ml18MDtmPWNbZCsxOTY+PjJdfDA7Y1tmKyhoPDw2KSs1Mj4+Ml09ZTthW2YrKGg8PDYp
KzQ5Pj4wXT0xfWVsc2V7ZT1jW2QrKGg8PDYpKzUyPj4yXXwwO2Q9Zn1nPWUrZ3wwO2g9aCsxfDA7
Zj1kfXJldHVybiBnfDB9ZnVuY3Rpb24gWWgoYSl7YT1hfDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxp
PTAsaj0wO2E9Y1thKzE2Pj4yXXwwO2c9YlthKzIzOD4+MV18MDtpPWErMTk2fDA7YT1iW2ErMjM2
Pj4xXXwwO3doaWxlKDEpe2lmKChhfDApPihnfDApKWJyZWFrO2Y9Y1tpPj4yXXwwO2U9Y1tmKyhh
PDw2KT4+Ml18MDtmPWYrKGE8PDYpKzR8MDtkPTA7d2hpbGUoMSl7aWYoKGR8MCk+PShlfDApKWJy
ZWFrO2o9Y1soY1soY1tmPj4yXXwwKSsoZDw8Mik+PjJdfDApKzE2Pj4yXXwwO2hbaisxNj4+M109
KyhjW2orMjM2Pj4yXXwwKTtkPWQrMXwwfWE9YSsxfDB9cmV0dXJufWZ1bmN0aW9uIFpoKGQsZSl7
ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxx
PTAscj0wO3I9bDtsPWwrMTZ8MDttPXI7bj1kKzE2fDA7bz16QShjWyhjW24+PjJdfDApKzIzMj4+
Ml18MCl8MDtqPWNbbj4+Ml18MDtmPWorMTkyfDA7Zz1mO3doaWxlKDEpe2c9Y1tnPj4yXXwwO2lm
KCFnKWJyZWFrO2c9Y1tnKzE2Pj4yXXwwO2FbZysxNTc+PjBdPTA7Zz1nKzE2NHwwfWg9YltqKzIz
OD4+MV18MDtpPWorMTk2fDA7Zz1iW2orMjM2Pj4xXXwwO3doaWxlKDEpe2lmKChnfDApPihofDAp
KWJyZWFrO2NbKGNbaT4+Ml18MCkrKGc8PDYpPj4yXT0wO2c9ZysxfDB9aT0oZXwwKT09MDt3aGls
ZSgxKXtnPWNbZj4+Ml18MDtpZighZylicmVhaztoPWcrMTZ8MDtmPWNbaD4+Ml18MDtpZigoY1tj
WyhpP2YrMTcyfDA6ZisxODB8MCk+PjJdPj4yXXwwKT09MD8oaz1mKzE1N3wwLChhW2s+PjBdfDAp
PT0wKTowKXthW2s+PjBdPTE7QkEobyxnKTt3aGlsZSgxKXtmPUNBKG8pfDA7aWYoIWYpYnJlYWs7
aWYoKGFbKGNbZisxNj4+Ml18MCkrMTU5Pj4wXXwwKT09Nyl7WGsoZCxmLGUsbyk7Y29udGludWV9
ZWxzZXttaShkLGYpO25pKG8sZixlKTtjb250aW51ZX19Zj1jW2g+PjJdfDB9Zj1mKzE2NHwwfWlm
KENBKG8pfDApX2woMSw3OTE1OSxtKXwwO2Y9Y1tuPj4yXXwwO2o9YltmKzIzNj4+MV18MDt3aGls
ZSgxKXtpZigoanwwKT4oYltmKzIzOD4+MV18MCkpYnJlYWs7YVsoY1soY1soY1s0MTkyN118MCkr
MTY+PjJdfDApKzE5Nj4+Ml18MCkrKGo8PDYpKzQ5Pj4wXT0wO2lmKChjW2YrMTE2Pj4yXSYxfDAp
IT0wPyhwPWNbZisxOTY+PjJdfDAscT1jW3ArKGo8PDYpPj4yXXwwLChxfDApPjApOjApe2c9Y1tw
KyhqPDw2KSs0Pj4yXXwwO2g9cSstMXwwO2k9KGh8MCkvMnwwO2Y9MDt3aGlsZSgxKXtpZigoZnww
KT4oaXwwKSlicmVhaztnaShjW2crKGY8PDIpPj4yXXwwLGNbZysoaC1mPDwyKT4+Ml18MCk7Zj1m
KzF8MH1mPWNbbj4+Ml18MH1qPWorMXwwfWlmKChWZihkKXwwKT09KGR8MCk/KFhoKDApfDApPjA6
MClhaShkLDApO0FBKG8pO2w9cjtyZXR1cm59ZnVuY3Rpb24gX2goZCl7ZD1kfDA7dmFyIGU9MCxm
PTAsZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MDtuPWQrMTZ8MDtkPWNbbj4+Ml18MDtm
PWJbZCsyMzY+PjFdfDA7ZT1iW2QrMjM4Pj4xXXwwO2w9ZTw8MTY+PjE2O209ZCsxOTZ8MDtnPWY7
d2hpbGUoMSl7aWYoKGd8MCk+KGx8MCkpYnJlYWs7az1jW20+PjJdfDA7aj1jW2srKGc8PDYpPj4y
XXwwO2s9aysoZzw8NikrNHwwO2k9MDt3aGlsZSgxKXtpZigoaXwwKT49KGp8MCkpYnJlYWs7bz1j
WyhjWyhjW2s+PjJdfDApKyhpPDwyKT4+Ml18MCkrMTY+PjJdfDA7Y1tvKzIzNj4+Ml09fn4raFtv
KzE2Pj4zXTtpPWkrMXwwfWc9ZysxfDB9d2hpbGUoMSl7aWYoKGZ8MCk+KGU8PDE2Pj4xNnwwKSli
cmVhazthWyhjWyhjWyhjWzQxOTI3XXwwKSsxNj4+Ml18MCkrMTk2Pj4yXXwwKSsoZjw8NikrNDk+
PjBdPTA7bz1jW2QrMTk2Pj4yXXwwO3JMKGNbbysoZjw8NikrND4+Ml18MCxjW28rKGY8PDYpPj4y
XXwwLDQsMTQpO289Y1tuPj4yXXwwO2Y9ZisxfDA7ZT1iW28rMjM4Pj4xXXwwO2Q9b31yZXR1cm59
ZnVuY3Rpb24gJGgoYSxkKXthPWF8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTA7Zz0oKGR8MCklNHww
fDApPDImMTtlPWNbYSsxNj4+Ml18MDtpZighKGQmMSkpe2Q9YltlKzIzNj4+MV18MDtmPTE7ZT1i
W2UrMjM4Pj4xXXwwO2Q9KGQ8PDE2Pj4xNjw9KGJbKGNbKGNbNDE5MjddfDApKzE2Pj4yXXwwKSsy
MzY+PjFdfDApJjEpKyhkPDwxNj4+MTYpfDB9ZWxzZXtkPWJbZSsyMzg+PjFdfDA7Zj0tMTtlPWJb
ZSsyMzY+PjFdfDA7ZD0oKGQ8PDE2Pj4xNj49KGJbKGNbKGNbNDE5MjddfDApKzE2Pj4yXXwwKSsy
Mzg+PjFdfDApKTw8MzE+PjMxKSsoZDw8MTY+PjE2KXwwfWU9ZitlfDA7d2hpbGUoMSl7aWYoKGR8
MCk9PShlfDApKWJyZWFrO2ppKGEsZCxnLChpaShhLGQsZC1mfDApfDApJjI1NSk7ZD1kK2Z8MH1h
aShhLGdeMSk7cmV0dXJufWZ1bmN0aW9uIGFpKGQsZSl7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAs
aD0wLGk9MCxqPTAsaz0wO2s9ZCsxNnwwO2c9Y1trPj4yXXwwO2k9YltnKzIzNj4+MV18MDtqPWJb
ZysyMzg+PjFdfDA7aD1nKzE5NnwwO2Y9aTw8MTY+PjE2O3doaWxlKDEpe2lmKChmfDApPihqfDAp
KXtoPWk7YnJlYWt9YVsoY1toPj4yXXwwKSsoZjw8NikrNDg+PjBdPTE7Zj1mKzF8MH13aGlsZSgx
KXtmPTA7aD1oPDwxNj4+MTY7d2hpbGUoMSl7aWYoKGh8MCk+KGJbZysyMzg+PjFdfDApKWJyZWFr
O2lmKGFbKGNbZysxOTY+PjJdfDApKyhoPDw2KSs0OD4+MF18MCl7Zj0oaGkoZCxoLGUpfDApK2Z8
MDtnPWNbaz4+Ml18MH1oPWgrMXwwfWlmKChmfDApPD0wKWJyZWFrO2g9YltnKzIzNj4+MV18MH1y
ZXR1cm59ZnVuY3Rpb24gYmkoZCl7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9
MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MDtvPWQrMTZ8MDtlPWNbbz4+Ml18MDtuPWJbZSsyMzg+
PjFdfDA7YTp3aGlsZSgxKXtpZigobnwwKTwoYltlKzIzNj4+MV18MCkpe2U9MTY7YnJlYWt9Zj1j
W2UrMTk2Pj4yXXwwO2FbZisobjw8NikrNDg+PjBdPTA7cD0obnwwKT4wO3E9bisxfDA7Zz0wO2I6
d2hpbGUoMSl7bD0oY1tmKyhuPDw2KT4+Ml18MCkrLTF8MDttPWYrKG48PDYpKzR8MDtrPWYrKHE8
PDYpfDA7d2hpbGUoMSl7aWYoKGd8MCk+PShsfDApKWJyZWFrIGI7aj1jW20+PjJdfDA7aT1jW2or
KGc8PDIpPj4yXXwwO2c9ZysxfDA7aj1jW2orKGc8PDIpPj4yXXwwO2lmKChjWyhjW2krMTY+PjJd
fDApKzIzNj4+Ml18MCk+PShjWyhjW2orMTY+PjJdfDApKzIzNj4+Ml18MCkpe2U9NzticmVhayBh
fWlmKGNpKGQsaSxqKXwwKWNvbnRpbnVlO2lmKHApe2Y9ZGkoaSxqKXwwO2g9ZGkoaixpKXwwfWVs
c2V7Zj0wO2g9MH1pZigoY1trPj4yXXwwKT4wKXtmPShlaShpLGopfDApK2Z8MDtoPShlaShqLGkp
fDApK2h8MH1pZigoaHwwKTw9KGZ8MCkpYnJlYWt9ZmkoZCxuLGksaik7ZT1jW28+PjJdfDA7Zj1j
W2UrMTk2Pj4yXXwwfW49bistMXwwfWlmKChlfDApPT03KW1hKDc5MTEwLDc4NjI4LDcyMSw3OTEz
Nik7ZWxzZSBpZigoZXwwKT09MTYpcmV0dXJufWZ1bmN0aW9uIGNpKGIsZCxlKXtiPWJ8MDtkPWR8
MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7aj1jW2QrMTY+PjJdfDA7aT1jW2or
MjEyPj4yXXwwO2Y9Y1tlKzE2Pj4yXXwwO2c9Y1tmKzIxMj4+Ml18MDtoPShpfDApIT0oZ3wwKTtk
byBpZighKGFbMTczODkzXXwwKSlpZigoZ3wwKT09MHwoKGl8MCk9PTB8aF4xKSlrPTk7ZWxzZXtp
ZigoYVtqKzE1OT4+MF18MCk9PTc/KGFbaisxNTY+PjBdfDApPT0xOjApe2I9MDticmVha31pZigo
YVtmKzE1OT4+MF18MCk9PTc/KGFbZisxNTY+PjBdfDApPT0xOjApe2I9MDticmVha31iPTF9ZWxz
ZSBpZihoKWI9MTtlbHNlIGs9OTt3aGlsZSgwKTtpZigoa3wwKT09OSl7Zj1jW2IrMTY+PjJdfDA7
Yj1jWyhjW2YrMTk2Pj4yXXwwKSsoY1tqKzIzMj4+Ml08PDYpKzU2Pj4yXXwwO2lmKCFiKWI9MDtl
bHNle2o9KGNbZisxMTY+PjJdJjF8MCk9PTA7az1PKGNbYis0Pj4yXXwwLGNbKGNbKGo/ZDplKSsx
Nj4+Ml18MCkrMjg0Pj4yXXwwKXwwO2I9YVsoY1tiKzg+PjJdfDApKygoY1soY1soaj9lOmQpKzE2
Pj4yXXwwKSsyODQ+PjJdfDApK2spPj4wXXwwfX1yZXR1cm4gYnwwfWZ1bmN0aW9uIGRpKGEsZCl7
YT1hfDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO2w9YSsx
NnwwO2o9Y1soY1tkKzE2Pj4yXXwwKSsxNzI+PjJdfDA7ZD0wO3doaWxlKDEpe2E9Y1tqPj4yXXww
O2lmKCFhKWJyZWFrO2k9Y1thKzE2Pj4yXXwwO2s9YltpKzE1ND4+MV18MDtnPWNbKGNbKGNbKChj
W2E+PjJdJjN8MCk9PTM/YTphKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjM2Pj4yXXwwO2k9
aSsxNnwwO2Y9Y1soY1tsPj4yXXwwKSsxNzI+PjJdfDA7YT1kO3doaWxlKDEpe2Q9Y1tmPj4yXXww
O2lmKCFkKWJyZWFrO2U9KGNbKGNbKGNbKChjW2Q+PjJdJjN8MCk9PTM/ZDpkKzQ4fDApKzQwPj4y
XXwwKSsxNj4+Ml18MCkrMjM2Pj4yXXwwKS1nfDA7aWYoKGV8MCk8PTApe2lmKChlfDApPT0wPyht
PWNbZCsxNj4+Ml18MCwraFttKzE2Pj4zXT4raFtpPj4zXSk6MCl7ZD1tO249OX19ZWxzZXtkPWNb
ZCsxNj4+Ml18MDtuPTl9aWYoKG58MCk9PTkpe249MDthPShPKGJbZCsxNTQ+PjFdfDAsayl8MCkr
YXwwfWY9Zis0fDB9aj1qKzR8MDtkPWF9cmV0dXJuIGR8MH1mdW5jdGlvbiBlaShhLGQpe2E9YXww
O2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MDtsPWErMTZ8MDtq
PWNbKGNbZCsxNj4+Ml18MCkrMTgwPj4yXXwwO2Q9MDt3aGlsZSgxKXthPWNbaj4+Ml18MDtpZigh
YSlicmVhaztpPWNbYSsxNj4+Ml18MDtrPWJbaSsxNTQ+PjFdfDA7Zz1jWyhjWyhjWygoY1thPj4y
XSYzfDApPT0yP2E6YSstNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzY+PjJdfDA7aT1pKzU2
fDA7Zj1jWyhjW2w+PjJdfDApKzE4MD4+Ml18MDthPWQ7d2hpbGUoMSl7ZD1jW2Y+PjJdfDA7aWYo
IWQpYnJlYWs7ZT0oY1soY1soY1soKGNbZD4+Ml0mM3wwKT09Mj9kOmQrLTQ4fDApKzQwPj4yXXww
KSsxNj4+Ml18MCkrMjM2Pj4yXXwwKS1nfDA7aWYoKGV8MCk8PTApe2lmKChlfDApPT0wPyhtPWNb
ZCsxNj4+Ml18MCwraFttKzU2Pj4zXT4raFtpPj4zXSk6MCl7ZD1tO249OX19ZWxzZXtkPWNbZCsx
Nj4+Ml18MDtuPTl9aWYoKG58MCk9PTkpe249MDthPShPKGJbZCsxNTQ+PjFdfDAsayl8MCkrYXww
fWY9Zis0fDB9aj1qKzR8MDtkPWF9cmV0dXJuIGR8MH1mdW5jdGlvbiBmaShiLGQsZSxmKXtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxv
PTA7aT1hWyhjW2UrMTY+PjJdfDApKzE1Nj4+MF18MDtpZihpPDwyND4+MjQhPShhWyhjW2YrMTY+
PjJdfDApKzE1Nj4+MF18MCkpe2o9YisxNnwwO2w9Y1soY1tqPj4yXXwwKSsxOTY+PjJdfDA7az1j
W2wrKGQ8PDYpPj4yXXwwO2w9bCsoZDw8NikrNHwwO2I9MDtnPTA7aD0wO3doaWxlKDEpe2lmKChi
fDApPj0oa3wwKSlicmVhaztvPShhWyhjWyhjWyhjW2w+PjJdfDApKyhiPDwyKT4+Ml18MCkrMTY+
PjJdfDApKzE1Nj4+MF18MCk9PTA7Yj1iKzF8MDtnPWcrKG8mMSl8MDtoPWgrKChvXjEpJjEpfDB9
aT1pPDwyND4+MjQ9PTA7aD0oZ3wwKTwoaHwwKT8oaT9lOmYpOmk/ZjplO2k9MDtiPTA7d2hpbGUo
MSl7aWYoKGJ8MCk+PShrfDApKWJyZWFrO2k9KGNbKGNbbD4+Ml18MCkrKGI8PDIpPj4yXXwwKT09
KGh8MCk/YjppO2I9YisxfDB9bz0oYVsoY1toKzE2Pj4yXXwwKSsxNTY+PjBdfDApPT0wJjE7bj0w
O2c9aTt3aGlsZSgxKXtiPWcrLTF8MDtpZigoZ3wwKTw9MCl7bT0wO2I9aTticmVha31pZigoYVso
Y1soY1soY1tsPj4yXXwwKSsoYjw8Mik+PjJdfDApKzE2Pj4yXXwwKSsxNTY+PjBdfDApIT0ob3ww
KSl7bT0wO2I9aTticmVha31uPW4rMXwwO2c9Yn13aGlsZSgxKXtiPWIrMXwwO2lmKChifDApPj0o
a3wwKSlicmVhaztpZigoYVsoY1soY1soY1tsPj4yXXwwKSsoYjw8Mik+PjJdfDApKzE2Pj4yXXww
KSsxNTY+PjBdfDApIT0ob3wwKSlicmVhazttPW0rMXwwfWdpKGUsZik7aj1jWyhjW2o+PjJdfDAp
KzE5Nj4+Ml18MDtrPWNbaisoZDw8Nik+PjJdfDA7aj1qKyhkPDw2KSs0fDA7Yj0wO3doaWxlKDEp
e2lmKChifDApPj0oa3wwKSl7aD0wO2c9aTticmVha31pPShjWyhjW2o+PjJdfDApKyhiPDwyKT4+
Ml18MCk9PShofDApP2I6aTtiPWIrMXwwfXdoaWxlKDEpe2I9ZystMXwwO2lmKChnfDApPD0wKXtn
PTA7Yj1pO2JyZWFrfWlmKChhWyhjWyhjWyhjW2o+PjJdfDApKyhiPDwyKT4+Ml18MCkrMTY+PjJd
fDApKzE1Nj4+MF18MCkhPShvfDApKXtnPTA7Yj1pO2JyZWFrfWg9aCsxfDA7Zz1ifXdoaWxlKDEp
e2I9YisxfDA7aWYoKGJ8MCk+PShrfDApKWJyZWFrO2lmKChhWyhjWyhjWyhjW2o+PjJdfDApKyhi
PDwyKT4+Ml18MCkrMTY+PjJdfDApKzE1Nj4+MF18MCkhPShvfDApKWJyZWFrO2c9ZysxfDB9ZD1o
LWd8MDtvPW4tbXwwO2lmKCgoKGR8MCk+LTE/ZDowLWR8MCl8MCk+KCgob3wwKT4tMT9vOjAtb3ww
KXwwKSlnaShlLGYpfXJldHVybn1mdW5jdGlvbiBnaShhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAs
ZT0wLGY9MCxnPTAsaD0wO2Y9Y1thKzE2Pj4yXXwwO2U9Y1tmKzIzMj4+Ml18MDtmPWYrMjM2fDA7
ZD1jW2Y+PjJdfDA7Zz1iKzE2fDA7aD1jWyhjW2c+PjJdfDApKzIzNj4+Ml18MDtjW2Y+PjJdPWg7
Zj0oY1s0MTkyN118MCkrMTZ8MDtjWyhjWyhjWyhjW2Y+PjJdfDApKzE5Nj4+Ml18MCkrKGU8PDYp
KzQ+PjJdfDApKyhoPDwyKT4+Ml09YTtjWyhjW2c+PjJdfDApKzIzNj4+Ml09ZDtjWyhjWyhjWyhj
W2Y+PjJdfDApKzE5Nj4+Ml18MCkrKGU8PDYpKzQ+PjJdfDApKyhkPDwyKT4+Ml09YjtyZXR1cm59
ZnVuY3Rpb24gaGkoZCxlLGYpe2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAs
az0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTA7cT1kKzE2fDA7bj1jWyhjW3E+PjJd
fDApKzE5Nj4+Ml18MDthW24rKGU8PDYpKzQ4Pj4wXT0wO3I9KGV8MCk+MDtzPWUrMXwwO289KGZ8
MCkhPTA7cD1lKy0xfDA7Zz0wO2k9MDtmPW47YTp3aGlsZSgxKXtsPShjW2YrKGU8PDYpPj4yXXww
KSstMXwwO209ZisoZTw8NikrNHwwO2g9Zisoczw8Nil8MDtuPWc7d2hpbGUoMSl7aWYoKG58MCk+
PShsfDApKXtmPTE3O2JyZWFrIGF9az1jW20+PjJdfDA7aj1jW2srKG48PDIpPj4yXXwwO249bisx
fDA7az1jW2srKG48PDIpPj4yXXwwO2lmKChjWyhjW2orMTY+PjJdfDApKzIzNj4+Ml18MCk+PShj
WyhjW2srMTY+PjJdfDApKzIzNj4+Ml18MCkpe2Y9NTticmVhayBhfWlmKGNpKGQsaixrKXwwKWNv
bnRpbnVlO2lmKHIpe2Y9ZGkoaixrKXwwO2c9ZGkoayxqKXwwfWVsc2V7Zj0wO2c9MH1pZigoY1to
Pj4yXXwwKT4wKXtmPShlaShqLGspfDApK2Z8MDtnPShlaShrLGopfDApK2d8MH1pZigoZnwwKT4o
Z3wwKSlicmVhaztpZigoZnwwKT09KGd8MCkmKG8mKGZ8MCk+MCkpe2Y9ZzticmVha319Z2koaixr
KTtpPWYtZytpfDA7Zz1jWyhjWyhjWzQxOTI3XXwwKSsxNj4+Ml18MCkrMTk2Pj4yXXwwO2FbZyso
ZTw8NikrNDk+PjBdPTA7aD1jW3E+PjJdfDA7Zj1jW2grMTk2Pj4yXXwwO2FbZisoZTw8NikrNDg+
PjBdPTE7aWYoKGJbaCsyMzY+PjFdfDApPChlfDApKXthW2crKHA8PDYpKzQ5Pj4wXT0wO2FbZiso
cDw8NikrNDg+PjBdPTF9aWYoKGJbaCsyMzg+PjFdfDApPD0oZXwwKSl7Zz1uO2NvbnRpbnVlfWFb
Zysoczw8NikrNDk+PjBdPTA7YVtmKyhzPDw2KSs0OD4+MF09MTtnPW59aWYoKGZ8MCk9PTUpbWEo
NzkxMTAsNzg2MjgsNzcwLDc5MTQ0KTtlbHNlIGlmKChmfDApPT0xNylyZXR1cm4gaXwwO3JldHVy
biAwfWZ1bmN0aW9uIGlpKGEsZSxmKXthPWF8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGk9MC4wLGo9
MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wO3A9Y1s0MTkyNV18MDtxPWErMTZ8MDth
PWNbKGNbcT4+Ml18MCkrMTk2Pj4yXXwwO3I9Y1thKyhlPDw2KSs0Pj4yXXwwO249KGZ8MCk+KGV8
MCk7bz1wKzR8MDttPTA7d2hpbGUoMSl7Zj1jW2ErKGU8PDYpPj4yXXwwO2lmKChtfDApPj0oZnww
KSl7YT0wO2o9MDticmVha31sPShjW3IrKG08PDIpPj4yXXwwKSsxNnwwO2E9Y1tsPj4yXXwwO2E6
ZG8gaWYobil7az1jW2ErMTgwPj4yXXwwO2E9MDtqPTA7d2hpbGUoMSl7Zj1jW2srKGo8PDIpPj4y
XXwwO2lmKCFmKWJyZWFrIGE7Zz1jW2YrMTY+PjJdfDA7aWYoKGJbZysxNTQ+PjFdfDApPjApe2Nb
cCsoYTw8Mik+PjJdPWNbKGNbKGNbKChjW2Y+PjJdJjN8MCk9PTI/ZjpmKy00OHwwKSs0MD4+Ml18
MCkrMTY+PjJdfDApKzIzNj4+Ml08PDh8ZFtnKzg4Pj4wXTthPWErMXwwfWo9aisxfDB9fWVsc2V7
az1jW2ErMTcyPj4yXXwwO2o9MDthPTA7d2hpbGUoMSl7Zj1jW2srKGo8PDIpPj4yXXwwO2lmKCFm
KWJyZWFrIGE7Zz1jW2YrMTY+PjJdfDA7aWYoKGJbZysxNTQ+PjFdfDApPjApe2NbcCsoYTw8Mik+
PjJdPWNbKGNbKGNbKChjW2Y+PjJdJjN8MCk9PTM/ZjpmKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18
MCkrMjM2Pj4yXTw8OHxkW2crNDg+PjBdO2E9YSsxfDB9aj1qKzF8MH19d2hpbGUoMCk7YjpkbyBz
d2l0Y2goYXwwKXtjYXNlIDA6e2k9LTEuMDticmVha31jYXNlIDE6e2k9KyhjW3A+PjJdfDApO2Jy
ZWFrfWNhc2UgMjp7aT0rKCgoY1tvPj4yXXwwKSsoY1twPj4yXXwwKXwwKS8yfDB8MCk7YnJlYWt9
ZGVmYXVsdDp7ckwocCxhLDQsMTIpO2Y9KGF8MCkvMnwwO2lmKGEmMXwwKXtpPSsoY1twKyhmPDwy
KT4+Ml18MCk7YnJlYWsgYn1qPWNbcCsoZjw8Mik+PjJdfDA7Zz0oY1twKyhhKy0xPDwyKT4+Ml18
MCktanwwO2E9Y1twKyhmKy0xPDwyKT4+Ml18MDtmPWEtKGNbcD4+Ml18MCl8MDtpZigoZnwwKT09
KGd8MCkpe2k9KygoYStqfDApLzJ8MHwwKTticmVhayBifWVsc2V7aT0rKCgoTyhmLGopfDApKyhP
KGEsZyl8MCl8MCkvKGYrZ3wwKXwwfDApO2JyZWFrIGJ9fX13aGlsZSgwKTtoWyhjW2w+PjJdfDAp
KzI0MD4+M109aTttPW0rMXwwO2E9Y1soY1txPj4yXXwwKSsxOTY+PjJdfDB9d2hpbGUoMSl7aWYo
KGp8MCk+PShmfDApKWJyZWFrO2c9Y1tyKyhqPDwyKT4+Ml18MDtwPWNbZysxNj4+Ml18MDtpZigo
Y1twKzE4ND4+Ml18MCk9PTA/KGNbcCsxNzY+PjJdfDApPT0wOjApe2E9KGtpKGcpfDB8YSYyNTUp
JjI1NTtmPWNbKGNbKGNbcT4+Ml18MCkrMTk2Pj4yXXwwKSsoZTw8Nik+PjJdfDB9aj1qKzF8MH1y
ZXR1cm4gYXwwfWZ1bmN0aW9uIGppKGIsZCxlLGYpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3Zh
ciBnPTAsaT0wLGo9MCxrPTAsbD0wLG09MC4wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wO289Y1so
Y1tiKzE2Pj4yXXwwKSsxOTY+PjJdfDA7cz1jW28rKGQ8PDYpKzQ+PjJdfDA7bz1jW28rKGQ8PDYp
Pj4yXXwwO3E9KGV8MCkhPTA7cD0oZnxlfDApPT0wO2Y9MDtlPW87bz1zKyhvPDwyKXwwO3doaWxl
KDEpe249ZSstMXwwO2lmKChlfDApPjApZT1zO2Vsc2UgYnJlYWs7YTp3aGlsZSgxKXtiOndoaWxl
KDEpe2lmKGU+Pj4wPj1vPj4+MClicmVhayBhO3doaWxlKDEpe2lmKGU+Pj4wPj1vPj4+MClicmVh
ayBhO2w9Y1tlPj4yXXwwO209K2hbKGNbbCsxNj4+Ml18MCkrMjQwPj4zXTtpZighKG08MC4wKSli
cmVhaztlPWUrNHwwfWs9MDt3aGlsZSgxKXtnPWs8PDI0Pj4yND09MDt3aGlsZSgxKXtlPWUrNHww
O2lmKGU+Pj4wPj1vPj4+MClicmVhayBhO2lmKGcpe2c9MTE7YnJlYWt9aT1jW2U+PjJdfDA7aWYo
IShjWyhjW2krMTY+PjJdfDApKzIxMj4+Ml18MCkpe2c9MTM7YnJlYWt9fWlmKChnfDApPT0xMSl7
aT1jW2U+PjJdfDA7aj1pfWVsc2UgaWYoKGd8MCk9PTEzKWo9aTtpZihjaShiLGwsail8MCljb250
aW51ZSBiO2c9Y1tpKzE2Pj4yXXwwO2lmKCtoW2crMjQwPj4zXT49MC4wKWJyZWFrO2s9KGNbZysy
MTI+PjJdfDApPT0wP2s6MX1nPX5+bTtrPX5+K2hbKGNbaSsxNj4+Ml18MCkrMjQwPj4zXTtpZigo
Z3wwKT4oa3wwKXxxJihnfDApPT0oa3wwKSlicmVha31naShsLGopO2Y9ZisxfDB9ZT1uO289cD9v
Ky00fDA6b31pZihmfDA/KHI9Y1soY1soY1s0MTkyN118MCkrMTY+PjJdfDApKzE5Nj4+Ml18MCxh
W3IrKGQ8PDYpKzQ5Pj4wXT0wLChkfDApPjApOjApYVtyKyhkKy0xPDw2KSs0OT4+MF09MDtyZXR1
cm59ZnVuY3Rpb24ga2koYSl7YT1hfDA7dmFyIGI9MC4wLGQ9MCxlPTAsZj0wLGc9MDtnPWNbYSsx
Nj4+Ml18MDtpZigoY1tnKzIwMD4+Ml18MCk+MCl7Zj1jW2crMTk2Pj4yXXwwO2E9Y1tmPj4yXXww
O2E9Y1soKGNbYT4+Ml0mM3wwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDA7ZD0xO3doaWxlKDEpe2U9
Y1tmKyhkPDwyKT4+Ml18MDtpZighZSlicmVhaztlPWNbKChjW2U+PjJdJjN8MCk9PTM/ZTplKzQ4
fDApKzQwPj4yXXwwO2E9KGNbKGNbZSsxNj4+Ml18MCkrMjM2Pj4yXXwwKT4oY1soY1thKzE2Pj4y
XXwwKSsyMzY+PjJdfDApP2U6YTtkPWQrMXwwfWI9K2hbKGNbYSsxNj4+Ml18MCkrMjQwPj4zXTtp
ZighKGI+PTAuMCkpYT0xO2Vsc2V7aFtnKzI0MD4+M109YisxLjA7YT0wfX1lbHNlIGlmKChjW2cr
MTkyPj4yXXwwKT4wKXtlPWNbZysxODg+PjJdfDA7ZD1jW2U+PjJdfDA7YT0xO2Q9Y1soKGNbZD4+
Ml0mM3wwKT09Mj9kOmQrLTQ4fDApKzQwPj4yXXwwO3doaWxlKDEpe2Y9Y1tlKyhhPDwyKT4+Ml18
MDtpZighZilicmVhaztmPWNbKChjW2Y+PjJdJjN8MCk9PTI/ZjpmKy00OHwwKSs0MD4+Ml18MDth
PWErMXwwO2Q9KGNbKGNbZisxNj4+Ml18MCkrMjM2Pj4yXXwwKTwoY1soY1tkKzE2Pj4yXXwwKSsy
MzY+PjJdfDApP2Y6ZH1iPStoWyhjW2QrMTY+PjJdfDApKzI0MD4+M107aWYoYj4wLjApe2hbZysy
NDA+PjNdPWIrLTEuMDthPTB9ZWxzZSBhPTF9ZWxzZSBhPTE7cmV0dXJuIGF8MH1mdW5jdGlvbiBs
aShhLGIpe2E9YXwwO2I9YnwwO3JldHVybiAoY1soY1soY1thPj4yXXwwKSsxNj4+Ml18MCkrMjM2
Pj4yXXwwKS0oY1soY1soY1tiPj4yXXwwKSsxNj4+Ml18MCkrMjM2Pj4yXXwwKXwwfWZ1bmN0aW9u
IG1pKGEsZCl7YT1hfDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTAs
bj0wLG89MCxwPTA7cD1sO2w9bCs5NnwwO289cCs2NHwwO249cCs0OHwwO2g9cCsyNHwwO2Y9cDtq
PWQrMTZ8MDtrPWNbKGNbaj4+Ml18MCkrMjMyPj4yXXwwO209YSsxNnwwO2U9Y1soY1ttPj4yXXww
KSsxOTY+PjJdfDA7aT1jW2UrKGs8PDYpPj4yXXwwO2RvIGlmKChjW2UrKGs8PDYpKzg+PjJdfDAp
Pj0xKXtjWyhjW2UrKGs8PDYpKzQ+PjJdfDApKyhpPDwyKT4+Ml09ZDtjWyhjW2o+PjJdfDApKzIz
Nj4+Ml09aTthPWNbbT4+Ml18MDtmPWNbYSsxOTY+PjJdfDA7ZT1mKyhrPDw2KXwwO2c9Y1tlPj4y
XXwwO2NbZT4+Ml09ZysxO2lmKChnfDApPj0oY1tmKyhrPDw2KSs4Pj4yXXwwKSltYSg3OTIyNCw3
ODYyOCwxMzQ2LDc5MjYwKTtnPWNbKGNbKGNbKGNbNDE5MjddfDApKzE2Pj4yXXwwKSsxOTY+PjJd
fDApKyhrPDw2KSs4Pj4yXXwwO2lmKChpfDApPihnfDApKXttPURuKGQpfDA7bj1jWyhjW2o+PjJd
fDApKzIzNj4+Ml18MDtvPWNbKGNbKGNbKGNbNDE5MjddfDApKzE2Pj4yXXwwKSsxOTY+PjJdfDAp
KyhrPDw2KSs4Pj4yXXwwO2NbaD4+Ml09MTM1OTtjW2grND4+Ml09bTtjW2grOD4+Ml09bjtjW2gr
MTI+PjJdPWs7Y1toKzE2Pj4yXT1vO19sKDEsNzkyNzYsaCl8MDticmVha31lPWJbYSsyMzY+PjFd
fDA7YT1iW2ErMjM4Pj4xXXwwO2lmKChrfDApPChlfDApfChrfDApPihhPDwxNj4+MTZ8MCkpe2Nb
bj4+Ml09MTM2NDtjW24rND4+Ml09aztjW24rOD4+Ml09ZTtjW24rMTI+PjJdPWE8PDE2Pj4xNjtf
bCgxLDc5MzQ5LG4pfDA7YnJlYWt9aWYoKChjW2YrKGs8PDYpKzQ+PjJdfDApKyhpPDwyKXwwKT4+
PjA+KChjW2YrKGs8PDYpKzEyPj4yXXwwKSsoZzw8Mil8MCk+Pj4wKXtpPURuKGQpfDA7bj1jWyhj
W20+PjJdfDApKzE5Nj4+Ml18MDttPShjW24rKGs8PDYpKzQ+PjJdfDApKyhjWyhjW2o+PjJdfDAp
KzIzNj4+Ml08PDIpfDA7bj0oY1tuKyhrPDw2KSsxMj4+Ml18MCkrKGNbKGNbKGNbKGNbNDE5Mjdd
fDApKzE2Pj4yXXwwKSsxOTY+PjJdfDApKyhrPDw2KSs4Pj4yXTw8Mil8MDtjW28+PjJdPTEzNzA7
Y1tvKzQ+PjJdPWs7Y1tvKzg+PjJdPWk7Y1tvKzEyPj4yXT1tO2NbbysxNj4+Ml09aztjW28rMjA+
PjJdPWs7Y1tvKzI0Pj4yXT1uO19sKDEsNzk0MTAsbyl8MH19ZWxzZXtuPURuKGEpfDA7bz1Ebihk
KXwwO2NbZj4+Ml09MTMzOTtjW2YrND4+Ml09bjtjW2YrOD4+Ml09bztjW2YrMTI+PjJdPWs7Y1tm
KzE2Pj4yXT1pO19sKDEsNzkxNjksZil8MH13aGlsZSgwKTtsPXA7cmV0dXJufWZ1bmN0aW9uIG5p
KGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTA7aD1kKzE2fDA7YTpkbyBp
ZighZSl7Zz0wO3doaWxlKDEpe2Q9Y1toPj4yXXwwO2lmKChnfDApPj0oY1tkKzE4ND4+Ml18MCkp
YnJlYWsgYTtkPWNbKGNbZCsxODA+PjJdfDApKyhnPDwyKT4+Ml18MDtlPWQrLTQ4fDA7Zj0oY1so
Y1soKGNbZD4+Ml0mM3wwKT09Mj9kOmUpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTU3fDA7aWYoIShh
W2Y+PjBdfDApKXthW2Y+PjBdPTE7QkEoYixjWygoY1tkPj4yXSYzfDApPT0yP2Q6ZSkrNDA+PjJd
fDApfWc9ZysxfDB9fWVsc2V7Zz0wO3doaWxlKDEpe2Q9Y1toPj4yXXwwO2lmKChnfDApPj0oY1tk
KzE3Nj4+Ml18MCkpYnJlYWsgYTtkPWNbKGNbZCsxNzI+PjJdfDApKyhnPDwyKT4+Ml18MDtlPWQr
NDh8MDtmPShjWyhjWygoY1tkPj4yXSYzfDApPT0zP2Q6ZSkrNDA+PjJdfDApKzE2Pj4yXXwwKSsx
NTd8MDtpZighKGFbZj4+MF18MCkpe2FbZj4+MF09MTtCQShiLGNbKChjW2Q+PjJdJjN8MCk9PTM/
ZDplKSs0MD4+Ml18MCl9Zz1nKzF8MH19d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIG9pKGQsZSl7
ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxx
PTAscj0wLHM9MCx0PTAsdT0wLHY9MDt2PWw7bD1sKzE2fDA7dT12O2c9ZCsxNnwwO2Y9Y1soY1tn
Pj4yXXwwKSsxOTY+PjJdfDA7cz1jW2YrKGU8PDYpKzQ+PjJdfDA7dD1lKzF8MDtkPWNbKGNbKGNb
KGNbNDE5MjddfDApKzE2Pj4yXXwwKSsxOTY+PjJdfDApKyh0PDw2KT4+Ml18MDtpZigoY1s0MTkz
MV18MCk+KGR8MCkpcT1jWzQxOTMyXXwwO2Vsc2V7ZD1kKzF8MDtjWzQxOTMxXT1kO2Y9Y1s0MTkz
Ml18MDtpZighZilkPXd3KGQ8PDIpfDA7ZWxzZSBkPXl3KGYsZDw8Mil8MDtjWzQxOTMyXT1kO2Y9
Y1soY1tnPj4yXXwwKSsxOTY+PjJdfDA7cT1kfXI9ZisodDw8Nil8MDtkPTA7d2hpbGUoMSl7aWYo
KGR8MCk+PShjW3I+PjJdfDApKWJyZWFrO2NbcSsoZDw8Mik+PjJdPTA7ZD1kKzF8MH1wPWYrKGU8
PDYpfDA7bz0wO2g9MDtkPTA7aj1xO3doaWxlKDEpe2s9Y1twPj4yXXwwO2lmKChvfDApPj0oa3ww
KSlicmVhaztuPWNbKGNbKGNbcysobzw8Mik+PjJdfDApKzE2Pj4yXXwwKSsxODA+PjJdfDA7YTpk
byBpZigoaHwwKT4wKXttPTA7d2hpbGUoMSl7Zz1jW24rKG08PDIpPj4yXXwwO2lmKCFnKWJyZWFr
IGE7az1nKzE2fDA7aT1jWyhjWyhjWygoY1tnPj4yXSYzfDApPT0yP2c6ZystNDh8MCkrNDA+PjJd
fDApKzE2Pj4yXXwwKSsyMzY+PjJdfDA7d2hpbGUoMSl7Zz1pKzF8MDtpZigoaXwwKT49KGh8MCkp
YnJlYWs7aT1nO2Q9KE8oY1tqKyhnPDwyKT4+Ml18MCxiWyhjW2s+PjJdfDApKzE1ND4+MV18MCl8
MCkrZHwwfW09bSsxfDB9fXdoaWxlKDApO2k9MDt3aGlsZSgxKXtnPWNbbisoaTw8Mik+PjJdfDA7
aWYoIWcpYnJlYWs7aj1jWyhjWyhjWygoY1tnPj4yXSYzfDApPT0yP2c6ZystNDh8MCkrNDA+PjJd
fDApKzE2Pj4yXXwwKSsyMzY+PjJdfDA7bT1xKyhqPDwyKXwwO2NbbT4+Ml09KGNbbT4+Ml18MCkr
KGJbKGNbZysxNj4+Ml18MCkrMTU0Pj4xXXwwKTtoPShqfDApPihofDApP2o6aDtpPWkrMXwwO2o9
cX1vPW8rMXwwfWk9ZisoZTw8NikrNHwwO2g9MDt3aGlsZSgxKXtpZigoaHwwKT49KGt8MCkpYnJl
YWs7Zz1jWyhjWyhjW2k+PjJdfDApKyhoPDwyKT4+Ml18MCkrMTY+PjJdfDA7aWYoYVtnKzE0NT4+
MF18MCl7ZT1nKzE4MHwwO2NbdT4+Ml09Y1tlPj4yXTtjW3UrND4+Ml09Y1tlKzQ+PjJdO2Q9KHBp
KHUsMSl8MCkrZHwwfWg9aCsxfDB9aT1jW3I+PjJdfDA7aD1mKyh0PDw2KSs0fDA7Zz0wO3doaWxl
KDEpe2lmKChnfDApPj0oaXwwKSlicmVhaztmPWNbKGNbKGNbaD4+Ml18MCkrKGc8PDIpPj4yXXww
KSsxNj4+Ml18MDtpZihhW2YrMTQ1Pj4wXXwwKXt0PWYrMTcyfDA7Y1t1Pj4yXT1jW3Q+PjJdO2Nb
dSs0Pj4yXT1jW3QrND4+Ml07ZD0ocGkodSwtMSl8MCkrZHwwfWc9ZysxfDB9bD12O3JldHVybiBk
fDB9ZnVuY3Rpb24gcGkoYSxkKXthPWF8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaT0wLGo9MCxr
PTAsbD0wLG09MCxuPTA7bj0oZHwwKTwxO2w9Y1thPj4yXXwwO2Q9MDthPTA7YTp3aGlsZSgxKXtt
PWNbbCsoZDw8Mik+PjJdfDA7aWYoIW0pYnJlYWs7ZD1kKzF8MDtpZihuKXtqPW0rNDh8MDtrPW0r
MTZ8MDtpPWQ7d2hpbGUoMSl7ZT1jW2wrKGk8PDIpPj4yXXwwO2lmKCFlKWNvbnRpbnVlIGE7Zj1j
W2UrMTY+PjJdfDA7Zz1jW2s+PjJdfDA7aWYoKCtoW2YrNTY+PjNdLStoW2crNTY+PjNdKSorKChj
WyhjWyhjWygoY1tlPj4yXSYzfDApPT0zP2U6ZSs0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIz
Nj4+Ml18MCktKGNbKGNbKGNbKChjW20+PjJdJjN8MCk9PTM/bTpqKSs0MD4+Ml18MCkrMTY+PjJd
fDApKzIzNj4+Ml18MCl8MCk8MC4wKWE9KE8oYltmKzE1ND4+MV18MCxiW2crMTU0Pj4xXXwwKXww
KSthfDA7aT1pKzF8MH19ZWxzZXtqPW0rLTQ4fDA7az1tKzE2fDA7aT1kO3doaWxlKDEpe2U9Y1ts
KyhpPDwyKT4+Ml18MDtpZighZSljb250aW51ZSBhO2Y9Y1tlKzE2Pj4yXXwwO2c9Y1trPj4yXXww
O2lmKCgraFtmKzE2Pj4zXS0raFtnKzE2Pj4zXSkqKygoY1soY1soY1soKGNbZT4+Ml0mM3wwKT09
Mj9lOmUrLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjM2Pj4yXXwwKS0oY1soY1soY1soKGNb
bT4+Ml0mM3wwKT09Mj9tOmopKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjM2Pj4yXXwwKXwwKTwwLjAp
YT0oTyhiW2YrMTU0Pj4xXXwwLGJbZysxNTQ+PjFdfDApfDApK2F8MDtpPWkrMXwwfX19cmV0dXJu
IGF8MH1mdW5jdGlvbiBxaShhKXthPWF8MDt2YXIgYj0wLjAsZD0wLjA7Y1s0MTkzMF09ODtjWzQy
MTgwXT0yNDtoWzIwODc4XT0uOTk1O2E9SW0oYSw3OTUzMil8MDtpZihhfDA/KGI9K3NNKGEpLGI+
MC4wKTowKXtkPWIqKyhjWzQxOTMwXXwwKTtjWzQxOTMwXT1+fihkPjEuMD9kOjEuMCk7Yj1iKiso
Y1s0MjE4MF18MCk7Y1s0MjE4MF09fn4oYj4xLjA/YjoxLjApfXJldHVybn1mdW5jdGlvbiByaShh
KXthPWF8MDt2YXIgZD0wLGU9MDtlPShiWyhjW2ErMTY+PjJdfDApKzIzOD4+MV18MCkrMnwwO2Q9
dncoZTw8Mil8MDt0aShhLGQsZSwwKXwwO19JKGQpO3JldHVybn0KK2Z1bmN0aW9uIFVxKGIpe2I9
YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wO2c9KGJ8MCk9PTI7ZD0oY1s0MjAzOV18MCkrMjR8
MDt3aGlsZSgxKXtkPWNbZD4+Ml18MDtpZighZClicmVhaztlPWQrNHwwO2Y9Y1tlPj4yXXwwO2lm
KCEoKGc/KGFbZj4+MF18MCk9PShhWzgzMDg5XXwwKTowKT8hKHhKKGYsODMwODkpfDApOjApKXto
PXltKGNbY1s0MjAzOV0+PjJdfDAsYixmLDApfDA7Y1tlPj4yXT1oO2lmKCFoKWNbZT4+Ml09eW0o
Y1tjWzQyMDM5XT4+Ml18MCxiLGYsMTc0MTgxKXwwO2NbZD4+Ml09MjY2O2JwKGNbNDIwMzhdfDAs
Zil8MH1kPWQrMTJ8MH1yZXR1cm59ZnVuY3Rpb24gVnEoYSl7YT1hfDA7V3EoY1thPj4yXXwwKTtj
W2ErND4+Ml09MDtjW2E+PjJdPTA7cmV0dXJufWZ1bmN0aW9uIFdxKGEpe2E9YXwwO3ZhciBiPTA7
d2hpbGUoMSl7aWYoIWEpYnJlYWs7Yj1jW2ErMTI+PjJdfDA7c3dpdGNoKGNbYT4+Ml18MCl7Y2Fz
ZSAyNjU6e1dxKGNbYSs0Pj4yXXwwKTticmVha31jYXNlIDI2NjpjYXNlIDI2Nzp7YnAoY1s0MjAz
OF18MCxjW2ErOD4+Ml18MCl8MDticmVha31kZWZhdWx0Ont9fVpuKGNbNDIwMzhdfDAsYSk7YT1i
fXJldHVybn1mdW5jdGlvbiBYcShhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAs
aD0wO2g9bDtsPWwrMTA0MHwwO2Y9aDtnPWgrOHwwO2Q9ckooYSl8MDtkPWQrMisockooYil8MCl8
MDtpZihkPj4+MDwxMDI1KWU9ZztlbHNlIGU9WkkoZCl8MDtjW2Y+PjJdPWE7Y1tmKzQ+PjJdPWI7
cEwoZSw4MzEyNixmKXwwO2Q9JG8oY1s0MjAzOF18MCxlKXwwO2JwKGNbNDIwMzhdfDAsYSl8MDti
cChjWzQyMDM4XXwwLGIpfDA7aWYoKGV8MCkhPShnfDApKV9JKGUpO2w9aDtyZXR1cm4gZHwwfWZ1
bmN0aW9uIFlxKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuIFNxKDI1OSxhLGIpfDB9ZnVuY3Rpb24g
WnEoYSl7YT1hfDA7cmV0dXJuIFNxKDI2NSxhLDApfDB9ZnVuY3Rpb24gX3EoYSl7YT1hfDA7cmV0
dXJuIFNxKDI2MixhLDApfDB9ZnVuY3Rpb24gJHEoYSl7YT1hfDA7dmFyIGI9MCxkPTA7Yj0oY1s0
MjAzOV18MCkrMjR8MDt3aGlsZSgxKXtiPWNbYj4+Ml18MDtpZighYilicmVhaztpZigoY1tiPj4y
XXwwKT09MjY2PyhkPWNbYis0Pj4yXXwwLGR8MCk6MClDbShhLGQsY1tiKzg+PjJdfDApfDA7Yj1i
KzEyfDB9cmV0dXJufWZ1bmN0aW9uIGFyKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXww
O3ZhciBmPTA7Zj1kKzR8MDthOmRvIGlmKChjW2Q+PjJdfDApPT0yNjIpe2Q9Y1tmPj4yXXwwO2Y9
Y28oZCl8MDt3aGlsZSgxKXtpZighZilicmVhayBhO2JyKGEsYixpbyhjW2NbNDIwMzldPj4yXXww
LGYsMCl8MCwwLGUpO2Y9ZW8oZCxmKXwwfX1lbHNlIHdoaWxlKDEpe2Y9Y1tmPj4yXXwwO2lmKCFm
KWJyZWFrIGE7ZD1pbyhjW2NbNDIwMzldPj4yXXwwLGNbZis0Pj4yXXwwLDApfDA7YnIoYSxiLGQs
Y1tmKzg+PjJdfDAsZSk7Zj1mKzEyfDB9d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIGJyKGEsYixk
LGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MDtkPWFuKGNbY1s0MjAz
OV0+PjJdfDAsYSxkLGYsMSl8MDtpZihkfDApe2c9Y1tkPj4yXSYzO2Y9Y1soKGd8MCk9PTI/ZDpk
Ky00OHwwKSs0MD4+Ml18MDthPShmfDApPT0oYXwwKT8oY1soKGd8MCk9PTM/ZDpkKzQ4fDApKzQw
Pj4yXXwwKSE9KGZ8MCk6MDtjcihkLDk2MjQyLGE/ZTpiKTtjcihkLDk2MjUxLGE/YjplKTskcShk
KX1yZXR1cm59ZnVuY3Rpb24gY3IoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTA7aWYo
ZHwwKXtlPXltKGNbY1s0MjAzOV0+PjJdfDAsMixiLDApfDA7aWYoIWUpZT15bShjW2NbNDIwMzld
Pj4yXXwwLDIsYiwxNzQxODEpfDA7Q20oYSxlLGQpfDB9cmV0dXJufWZ1bmN0aW9uIGRyKGEsYixk
KXthPWF8MDtiPWJ8MDtkPWR8MDtjWzQyMDA3XT1iO2NbNDIwMzhdPWE7Y1s0MTk4N109MDthPWR8
MD9kOjE3NjU2O2NbNDIwNDFdPWE7Z3AoYSxiKTtCcSgpfDA7YT1jWzQxOTg3XXwwO2lmKCFhKXtG
cCgpO2E9Y1s0MTk4N118MH1yZXR1cm4gYXwwfWZ1bmN0aW9uIGVyKGEsYil7YT1hfDA7Yj1ifDA7
cmV0dXJuIGRyKDAsYSxiKXwwfWZ1bmN0aW9uIGZyKGEsYil7YT1hfDA7Yj1ifDA7Yj1KcihhLDEs
Yil8MDtpZighYiliPTk5OTtlbHNle2I9Y1tiKzE2Pj4yXXwwO2NbYSsxODQ+PjJdPWNbYis0Pj4y
XTtjW2ErMTcyPj4yXT1jW2IrMTI+PjJdO2NbYSsxNzY+PjJdPWNbYj4+Ml07Y1thKzE4MD4+Ml09
Y1tiKzE2Pj4yXTtiPTMwMH1yZXR1cm4gYnwwfWZ1bmN0aW9uIGdyKGEsYil7YT1hfDA7Yj1ifDA7
dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wO2k9bDtsPWwrMTZ8MDtmPWk7Tm8oYiwxMjIyNzcs
MjgwLDEpfDA7Zz1iKzE2fDA7Y1soY1tnPj4yXXwwKSsxNDQ+PjJdPWE7aWYoKHNvKGIpfDApIT0o
YnwwKSljWyhjWyhzbyhiKXwwKSsxNj4+Ml18MCkrMTQ0Pj4yXT1hO2U9SW0oYiw4MzM0Mil8MDtk
PWErMTcyfDA7aWYoKGV8MCkhPTA/KGNbZD4+Ml09MCwoZnIoYSxlKXwwKT09OTk5KTowKXtkPUty
KGEsMSxlKXwwO2NbZj4+Ml09ZTtjW2YrND4+Ml09ZDtfbCgxLDgzODY5LGYpfDA7ZD0tMX1lbHNl
e2U9Y1tkPj4yXXwwO2lmKCFlKWQ9LTE7ZWxzZXtGdigxKTtkdyhiLGNbY1thKzE4MD4+Ml0+PjJd
JjEpO2Q9Y1soY1tnPj4yXXwwKSs4Pj4yXXwwO2NbKGNbKHNvKGIpfDApKzE2Pj4yXXwwKSs4Pj4y
XT1kO0V6KCk7ZD1jW2U+PjJdfDA7aWYoZHwwPyhnYltkJjEyN10oYiksaD1jW2UrND4+Ml18MCxo
fDApOjApY1soY1tnPj4yXXwwKSsxNDg+PjJdPWg7RnYoMCk7ZD0wfX1sPWk7cmV0dXJuIGR8MH1m
dW5jdGlvbiBocihhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wO2lmKE5vKGIsMTIyMjc3LDAs
MSl8MCl7ZD1iKzE2fDA7YT1jW2Q+PjJdfDA7ZT1jW2ErMTQ4Pj4yXXwwO2lmKGUpe2diW2UmMTI3
XShiKTthPWNbZD4+Ml18MDtjW2ErMTQ4Pj4yXT0wfWlmKGNbYSs4Pj4yXXwwKWl3KGIpfXJldHVy
biAwfWZ1bmN0aW9uIGlyKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAs
az0wO2s9bDtsPWwrMTZ8MDtqPWsrOHwwO2k9aztkPWNbYis3Nj4+Ml18MDtmPWNbYj4+Ml18MDtp
ZigoZHwwKSE9MD8oZT1jW2Q+PjJdfDAsKGV8MCkhPTApOjApe2diW2UmMTI3XShiKTtnPTEyfWVs
c2UgZz00O2RvIGlmKChnfDApPT00KWlmKChjW2IrNDA+PjJdfDApPT0wPyhoPWIrMzZ8MCwoY1to
Pj4yXXwwKT09MCk6MCl7aWYoYVtmKzEzPj4wXXwwKWpyKGIpO2Q9YiszMnwwO2U9Y1tkPj4yXXww
O2lmKCFlKXtjW2g+PjJdPWNbMTM4ODVdO2c9MTI7YnJlYWt9Zj1hTShlLDkxNTU2KXwwO2NbaD4+
Ml09ZjtpZighZil7aj1jWyhjW2IrMTI+PjJdfDApKzE2Pj4yXXwwO2g9Y1tkPj4yXXwwO2Q9eUoo
Y1soakooKXwwKT4+Ml18MCl8MDtjW2k+PjJdPWg7Y1tpKzQ+PjJdPWQ7aGJbaiYzMV0oODMxMzIs
aSk7ZD0xfWVsc2UgZz0xMn1lbHNlIGc9MTI7d2hpbGUoMCk7aWYoKGd8MCk9PTEyKWlmKCEoY1ti
KzE1Mj4+Ml0mMTAyNCkpZD0wO2Vsc2V7aGJbY1soY1tiKzEyPj4yXXwwKSsxNj4+Ml0mMzFdKDgz
MTcwLGopO2Q9MX1sPWs7cmV0dXJuIGR8MH1mdW5jdGlvbiBqcihiKXtiPWJ8MDt2YXIgZD0wLGU9
MCxmPTAsZz0wLGg9MCxpPTA7aD1sO2w9bCsxMTJ8MDtlPWg7Zz1oKzR8MDtkPWNbYisyND4+Ml18
MDtpZighZClhW2c+PjBdPTA7ZWxzZXtjW2U+PjJdPWQrMTtwTChnLDgzMTg4LGUpfDB9ZT1jW2Ir
MjA+PjJdfDA7ZT1lfDA/ZTo4MzE5MjtkPXJKKGUpfDA7aT1ySihnKXwwO2Y9Yis1MnwwO2k9ZCsx
K2krKHJKKGNbZj4+Ml18MCl8MCl8MDtkPWkrMTF8MDtpZigoY1s0MjA0Ml18MCk+Pj4wPChpKzF8
MCk+Pj4wKXtjWzQyMDQyXT1kO2Q9YUooY1s0MjA0M118MCxkKXwwO2NbNDIwNDNdPWR9ZWxzZSBk
PWNbNDIwNDNdfDA7eEsoZCxlKXwwO0lMKGNbNDIwNDNdfDAsZyl8MDtkPWNbNDIwNDNdfDA7ZD1k
KyhySihkKXwwKXwwO2FbZD4+MF09NDY7YVtkKzE+PjBdPTA7ZD1HTChjW2Y+PjJdfDApfDA7Zj1j
WzQyMDQzXXwwO3doaWxlKDEpe2U9SEwoZCw1OCl8MDtpZighZSlicmVhaztJTChmLGUrMXwwKXww
O2k9Y1s0MjA0M118MDtnPWkrKHJKKGkpfDApfDA7YVtnPj4wXT00NjthW2crMT4+MF09MDthW2U+
PjBdPTA7Zj1pfUlMKGYsZCl8MDtfSShkKTtjW2IrMzI+PjJdPWNbNDIwNDNdO2w9aDtyZXR1cm59
ZnVuY3Rpb24ga3IoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTA7
aD1sO2w9bCsxNnwwO2c9aCs4fDA7Zj1oO2lmKChifDApIT0wJihkfDApIT0wKXtpZihjW2ErMTUy
Pj4yXSYxMDI0fDApe2hiW2NbKGNbYSsxMj4+Ml18MCkrMTY+PjJdJjMxXSg4MzE3MCxmKTtNYSgx
KX1pZigobHIoYSxiLGQpfDApPT0oZHwwKSllPWQ7ZWxzZXtmPWNbKGNbYSsxMj4+Ml18MCkrMTY+
PjJdfDA7Y1tnPj4yXT1kO2hiW2YmMzFdKDgzMjAyLGcpO01hKDEpfX1lbHNlIGU9MDtsPWg7cmV0
dXJuIGV8MH1mdW5jdGlvbiBscihiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAs
aD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wO289bDtsPWwrMTZ8MDtuPW87Zj1jWyhjW2I+PjJd
fDApKzEwND4+Ml18MDtkbyBpZighZil7aj1iKzQwfDA7aD1jW2o+PjJdfDA7aWYoIWgpe2U9WEwo
ZCwxLGUsY1tiKzM2Pj4yXXwwKXwwO2JyZWFrfWY9Yis0NHwwO2k9Yis0OHwwO2c9Y1tpPj4yXXww
O2RvIGlmKCgoY1tmPj4yXXwwKSstMS1nfDApPj4+MDxlPj4+MCl7Zz1lKzQwOTYrZyYtNDA5Njtj
W2Y+PjJdPWc7Zj1hSihoLGcpfDA7Y1tqPj4yXT1mO2lmKCFmKXtoYltjWyhjW2IrMTI+PjJdfDAp
KzE2Pj4yXSYzMV0oODMyMjcsbik7TWEoMSl9ZWxzZXtrPWY7bT1jW2k+PjJdfDA7YnJlYWt9fWVs
c2V7az1oO209Z313aGlsZSgwKTtUTihrK218MCxkfDAsZXwwKXwwO249KGNbaT4+Ml18MCkrZXww
O2NbaT4+Ml09bjthWyhjW2o+PjJdfDApK24+PjBdPTB9ZWxzZSBlPWJiW2YmMzFdKGIsZCxlKXww
O3doaWxlKDApO2w9bztyZXR1cm4gZXwwfWZ1bmN0aW9uIG1yKGEsYil7YT1hfDA7Yj1ifDA7dmFy
IGM9MDtjPXJKKGIpfDA7Yj0oa3IoYSxiLGMpfDApPT0oY3wwKTtyZXR1cm4gKGI/MTotMSl8MH1m
dW5jdGlvbiBucihiLGMpe2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wO2Q9bDtsPWwrMTZ8MDtlPWQ7
YVtlPj4wXT1jO2I9KGtyKGIsZSwxKXwwKT09MTtsPWQ7cmV0dXJuIChiP2M6LTEpfDB9ZnVuY3Rp
b24gb3IoYil7Yj1ifDA7dmFyIGQ9MDtkPWNbYiszNj4+Ml18MDtpZigoKGR8MCkhPTA/KGFbYisx
NDQ+PjBdfDApPT0wOjApPyhjWyhjW2I+PjJdfDApKzEwND4+Ml18MCk9PTA6MCliPVBMKGQpfDA7
ZWxzZSBiPTA7cmV0dXJuIGJ8MH1mdW5jdGlvbiBwcihhKXthPWF8MDt2YXIgYj0wLGQ9MDtiPWNb
YSs3Nj4+Ml18MDtpZihifDA/KGQ9Y1tiKzQ+PjJdfDAsZHwwKTowKWdiW2QmMTI3XShhKTtvcihh
KXwwO3JldHVybn1mdW5jdGlvbiBxcihhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTA7ZT1sO2w9bCsx
NnwwO2Q9Y1thKzc2Pj4yXXwwO2lmKGNbYSsxNTI+PjJdJjEwMjR8MCl7aGJbY1soY1thKzEyPj4y
XXwwKSsxNj4+Ml0mMzFdKDgzMjU0LGUpO01hKDEpfWlmKChkfDApIT0wPyhiPWNbZCs4Pj4yXXww
LChifDApIT0wKTowKWdiW2ImMTI3XShhKTtlbHNle29yKGEpfDA7cnIoYSl9bD1lO3JldHVybn1m
dW5jdGlvbiBycihiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTA7ZD1iKzMyfDA7aWYoKGNbZD4+Ml18
MD8oZT1iKzM2fDAsZj1jW2U+PjJdfDAsKGZ8MCkhPShjWzEzODg1XXwwKSk6MCk/KGFbYisxNDQ+
PjBdfDApPT0wOjApe2lmKGZ8MCl7TEwoZil8MDtjW2U+PjJdPTB9Y1tkPj4yXT0wfXJldHVybn1m
dW5jdGlvbiBzcihhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxp
PTA7aT1sO2w9bCsxMDU2fDA7Zj1pO2g9aSsyNHwwO2c9aSs4fDA7Y1tnPj4yXT1kO2U9TEsoaCwx
MDI0LGIsZyl8MDtpZigoZXwwKT49MCl7aWYoKGV8MCk+MTAyMyl7ZT13dyhlKzF8MCl8MDtjW2c+
PjJdPWQ7Zj1lO2U9cUwoZSxiLGcpfDB9ZWxzZSBmPWg7a3IoYSxmLGUpfDA7aWYoKGZ8MCkhPSho
fDApKV9JKGYpfWVsc2V7Y1tmPj4yXT15SihjWyhqSigpfDApPj4yXXwwKXwwO19sKDEsODMyNzEs
Zil8MH1sPWk7cmV0dXJufWZ1bmN0aW9uIHRyKGEsYil7YT1hfDA7Yj0rYjt2YXIgZD0wLGU9MCxm
PTA7ZD1sO2w9bCsxNnwwO2U9ZDtmPXVyKGUsYil8MDtrcihhLGYsY1tlPj4yXXwwKXwwO2w9ZDty
ZXR1cm59ZnVuY3Rpb24gdXIoYixkKXtiPWJ8MDtkPStkO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0w
LGo9MCxrPTAsbD0wO2lmKCEoZDwtMS4wZTE1KSlpZighKGQ+MS4wZTE1KSl7ZD1kKjEuMGU0O2Y9
fn4oKGQ8MC4wPy0uNTouNSkrZCk7aWYoIWYpe2Y9MTIzMjA1O2U9MX1lbHNle2w9KGZ8MCk8MDtr
PTQ7aT0wO2U9MTczOTQ4O2Y9bD8wLWZ8MDpmO3doaWxlKDEpe2lmKCEoKGZ8MCkhPTB8KGt8MCk+
MCkpYnJlYWs7Zz0oZnwwKSUxMHwwO2o9KGZ8MCkvMTB8MDtoPWUrLTF8MDtpZigoZ3wwKT09MCZp
PDwyND4+MjQ9PTApZj0wO2Vsc2V7YVtoPj4wXT1nfDQ4O2Y9MTtlPWh9aWYoKGt8MCk9PTEpaWYo
IShmPDwyND4+MjQpKWY9MTtlbHNle2U9ZSstMXwwO2FbZT4+MF09NDY7Zj0xfWs9aystMXwwO2k9
ZjtmPWp9aWYobCl7ZT1lKy0xfDA7YVtlPj4wXT00NX1mPWU7ZT0xNzM5NDgtZXwwfX1lbHNle2Y9
ODMyODY7ZT0xOH1lbHNle2Y9ODMyODU7ZT0xOX1jW2I+PjJdPWU7cmV0dXJuIGZ8MH1mdW5jdGlv
biB2cihhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MDtkPWw7bD1sKzE2fDA7ZT1kO2Y9
dXIoZSwraFtiPj4zXSl8MDtrcihhLGYsY1tlPj4yXXwwKXwwO2tyKGEsODc2MzgsMSl8MDtiPXVy
KGUsK2hbYis4Pj4zXSl8MDtrcihhLGIsY1tlPj4yXXwwKXwwO2w9ZDtyZXR1cm59ZnVuY3Rpb24g
d3IoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTA7Zz1sO2w9bCsx
NnwwO2Y9ZztlPTA7d2hpbGUoMSl7aD1iKyhlPDw0KXwwO2NbZj4+Ml09Y1toPj4yXTtjW2YrND4+
Ml09Y1toKzQ+PjJdO2NbZis4Pj4yXT1jW2grOD4+Ml07Y1tmKzEyPj4yXT1jW2grMTI+PjJdO3Zy
KGEsZik7ZT1lKzF8MDtpZigoZXwwKT49KGR8MCkpYnJlYWs7a3IoYSw4NzYzOCwxKXwwfWw9Zzty
ZXR1cm59ZnVuY3Rpb24geHIoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wO2Q9dncoMzkyKXwwO2lm
KGR8MCl7Y1tkPj4yXT0xOTIxMjtjW2QrMTY+PjJdPTIyO2NbZCszMj4+Ml09YTtjW2QrMzY+PjJd
PWJ9cmV0dXJuIGR8MH1mdW5jdGlvbiB5cihhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wO2I9
dncoMzkyKXwwO2Q9YjtlPWE7Zj1kKzQwfDA7ZG97Y1tkPj4yXT1jW2U+PjJdO2Q9ZCs0fDA7ZT1l
KzR8MH13aGlsZSgoZHwwKTwoZnwwKSk7Zj1iKzYwfDA7ZT1hKzYwfDA7Y1tmPj4yXT1jW2U+PjJd
O2NbZis0Pj4yXT1jW2UrND4+Ml07Y1tmKzg+PjJdPWNbZSs4Pj4yXTtjW2YrMTI+PjJdPWNbZSsx
Mj4+Ml07Y1tmKzE2Pj4yXT1jW2UrMTY+PjJdO2Y9Yis4MHwwO2U9YSs4MHwwO2NbZj4+Ml09Y1tl
Pj4yXTtjW2YrND4+Ml09Y1tlKzQ+PjJdO2NbZis4Pj4yXT1jW2UrOD4+Ml07Y1tmKzEyPj4yXT1j
W2UrMTI+PjJdO2NbZisxNj4+Ml09Y1tlKzE2Pj4yXTtyZXR1cm4gYnwwfWZ1bmN0aW9uIHpyKGEp
e2E9YXwwO0dyKGEpO19JKGEpO3JldHVybn1mdW5jdGlvbiBBcihhLGIpe2E9YXwwO2I9YnwwO3Zh
ciBkPTAsZT0wO2U9YSsxNjB8MDtkPWNbZT4+Ml18MDtpZihkKXtlPWNbNDIwNDRdfDA7aWYoZSl7
ZD1jW2UrND4+Ml18MDtpZighZCl7ZD12dyg2MzIpfDA7Y1soY1s0MjA0NF18MCkrND4+Ml09ZH19
fWVsc2V7ZD12dyg2MzIpfDA7Y1tlPj4yXT1kO2NbYSsxNjQ+PjJdPWR9Y1s0MjA0NF09ZDtjW2Qr
MzI+PjJdPWI7Y1tkPj4yXT1hO3JldHVybn1mdW5jdGlvbiBCcihhLGIpe2E9YXwwO2I9YnwwO3Zh
ciBkPTAsZT0wO2U9YSsxNjB8MDtkPWNbZT4+Ml18MDtpZihkKXtlPWNbNDIwNDVdfDA7aWYoZSl7
ZD1jW2UrND4+Ml18MDtpZighZCl7ZD12dyg2MzIpfDA7Y1soY1s0MjA0NV18MCkrND4+Ml09ZH19
fWVsc2V7ZD12dyg2MzIpfDA7Y1tlPj4yXT1kO2NbYSsxNjQ+PjJdPWR9Y1s0MjA0NV09ZDtjW2Qr
NTI+PjJdPWI7Y1tkPj4yXT1hO3JldHVybiAoSnIoYSwzLGIpfDApIT0wfDB9ZnVuY3Rpb24gQ3Io
YSl7YT1hfDA7dmFyIGI9MDtiPWNbYSsxNjA+PjJdfDA7Y1thKzE2ND4+Ml09YjtyZXR1cm4gYnww
fWZ1bmN0aW9uIERyKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MDthPWErMTY0fDA7Yj1jW2E+PjJd
fDA7ZD1jW2IrND4+Ml18MDtpZihkfDA/KGU9ZCs1MnwwLChjW2U+PjJdfDApPT0wKTowKWNbZT4+
Ml09Y1tiKzUyPj4yXTtjW2E+PjJdPWQ7cmV0dXJuIGR8MH1mdW5jdGlvbiBFcihhLGIsZCl7YT1h
fDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTA7ZT1hKzh8MDtmPWIrMTB8MDtpZigoY1tlPj4yXXww
KT4oYnwwKSlhPWNbYT4+Ml18MDtlbHNle2NbZT4+Ml09ZjtmPXl3KGNbYT4+Ml18MCxmPDwyKXww
O2NbYT4+Ml09ZjthPWZ9Y1thKyhiPDwyKT4+Ml09ZDtyZXR1cm59ZnVuY3Rpb24gRnIoYSl7YT1h
fDA7dmFyIGI9MDtiPWNbYT4+Ml18MDtpZihifDApX0koYik7Y1thPj4yXT0wO2NbYSs4Pj4yXT0w
O2NbYSs0Pj4yXT0wO3JldHVybn1mdW5jdGlvbiBHcihhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTA7
ZD1hKzE2MHwwO2I9Y1tkPj4yXXwwO3doaWxlKDEpe2lmKCFiKWJyZWFrO2U9Y1tiKzQ+PjJdfDA7
RnIoYis2MDR8MCk7RnIoYis1OTJ8MCk7X0koY1tiKzU4ND4+Ml18MCk7X0koY1tiKzU4OD4+Ml18
MCk7X0koYik7Yj1lfWNbNDIwNDVdPTA7Y1s0MjA0NF09MDtjW2ErMTkyPj4yXT0wO2NbYSsxNjQ+
PjJdPTA7Y1tkPj4yXT0wO2NbYSsyOD4+Ml09MDtyZXR1cm59ZnVuY3Rpb24gSHIoYixkLGUsZixn
LGgpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBpPTAsaj0wLGs9MCxt
PTAsbj0wO249bDtsPWwrMTI4fDA7az1uKzY0fDA7bT1uO21MKGssZSw2Myl8MDtpPVdKKGssNTgp
fDA7aWYoaXwwKWFbaT4+MF09MDtiPWIrNjArKGQ8PDIpfDA7d2hpbGUoMSl7ZD1jW2I+PjJdfDA7
aWYoIWQpe2Q9YjtiPTA7YnJlYWt9bUwobSxjW2QrND4+Ml18MCw2Myl8MDtkPVdKKG0sNTgpfDA7
aWYoZHwwKWFbZD4+MF09MDtpZigoeEooayxtKXwwKTwxKXtqPTk7YnJlYWt9Yj1jW2I+PjJdfDB9
d2hpbGUoMSl7aWYoKGp8MCk9PTkpe2Q9YjtiPWNbYj4+Ml18MH1pZighYilicmVhazttTChtLGNb
Yis0Pj4yXXwwLDYzKXwwO2I9V0oobSw1OCl8MDtpZihifDApYVtiPj4wXT0wO2lmKHhKKGssbSl8
MClicmVhaztiPWNbZD4+Ml18MDtpZigoY1tiKzg+PjJdfDApPD0oZnwwKSlicmVhaztqPTl9bT13
dygyMCl8MDtjW20+PjJdPWNbZD4+Ml07Y1tkPj4yXT1tO2NbbSs0Pj4yXT1lO2NbbSs4Pj4yXT1m
O2NbbSsxMj4+Ml09ZztjW20rMTY+PjJdPWg7bD1uO3JldHVybiAxfWZ1bmN0aW9uIElyKGEsYil7
YT1hfDA7Yj1ifDA7Yj1sO2w9bCsxNnwwO19sKDEsODMzNjYsYil8MDtsPWI7cmV0dXJuIDB9ZnVu
Y3Rpb24gSnIoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0w
LGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTA7cz1sO2w9bCsxNDR8MDtyPXM7bz1zKzgw
fDA7cD1zKzE2fDA7bj0oZCstM3wwKT4+PjA8Mj8wOmQ7bUwobyxlLDYzKXwwO2U9V0oobyw1OCl8
MDtpZihlKXtmPWUrMXwwO2FbZT4+MF09MDtlPVdKKGYsNTgpfDA7aWYoIWUpbT0wO2Vsc2V7YVtl
Pj4wXT0wO209ZSsxfDB9fWVsc2V7bT0wO2Y9MH1pPShmfDApIT0wO2o9KG18MCk9PTA7az0obnww
KT09KGR8MCk7aD1iKzYwKyhkPDwyKXwwO2E6d2hpbGUoMSl7ZT1jW2g+PjJdfDA7aWYoIWUpe2U9
MDticmVha31tTChwLGNbZSs0Pj4yXXwwLDYzKXwwO2U9V0oocCw1OCl8MDtpZighZSllPTA7ZWxz
ZXthW2U+PjBdPTA7ZT1lKzF8MH1kbyBpZighKHhKKHAsbyl8MCkpe2c9KGV8MCkhPTA7aWYoaSZn
P3hKKGUsZil8MDowKWJyZWFrO2lmKCFqP3hKKG0sY1soY1soY1toPj4yXXwwKSsxMj4+Ml18MCkr
OD4+Ml18MCl8MDowKWJyZWFrO2lmKGt8Z14xKXtxPTE2O2JyZWFrIGF9aWYoSnIoYixuLGUpfDAp
e3E9MTY7YnJlYWsgYX19d2hpbGUoMCk7aD1jW2g+PjJdfDB9ZG8gaWYoKHF8MCk9PTE2KXtlPWNb
aD4+Ml18MDtpZihlKXtmPWUrMTZ8MDtpZigoY1tmPj4yXXwwKT09MD8oSXIoMCwwKXwwLChjW2Y+
PjJdfDApPT0wKTowKXtlPTA7YnJlYWt9aWYoKGNbYis4Pj4yXXwwKT4wKXtxPWNbMTM5MThdfDA7
bz1jW2UrND4+Ml18MDtwPWNbKGNbZSsxMj4+Ml18MCkrOD4+Ml18MDtjW3I+PjJdPWNbMTkyMjQr
KGQ8PDIpPj4yXTtjW3IrND4+Ml09bztjW3IrOD4+Ml09cDt6TChxLDgzMzk3LHIpfDB9fWVsc2Ug
ZT0wfXdoaWxlKDApO2NbYis4MCsoZDw8Mik+PjJdPWU7bD1zO3JldHVybiBlfDB9ZnVuY3Rpb24g
S3IoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTA7ZG8gaWYoIWUp
ZT0wO2Vsc2V7aWYoY1s0ODExXXwwKXtjbSgxNjgxODQsMCwwKTtjWzQ4MTFdPTB9aD1HTChlKXww
O2U9V0ooaCw1OCl8MDtpZihlKXthW2U+PjBdPTA7Zj1iKzYwKyhkPDwyKXwwO2U9MTtnPWY7d2hp
bGUoMSl7Yj1jW2c+PjJdfDA7aWYoIWIpYnJlYWs7ZD1HTChjW2IrND4+Ml18MCl8MDtiPVdKKGQs
NTgpfDA7aWYoYnwwKWFbYj4+MF09MDtpZighKChhW2g+PjBdfDApIT0wPyhpSyhoLGQpfDApIT0w
OjApKXtlPWNbNDIwNDddfDA7aWYoZT4+PjA+PShjWzQyMDQ4XXwwKT4+PjApe2RtKDE2ODE4NCwx
KXwwO2U9Y1s0MjA0N118MH1jWzQyMDQ3XT1lKzE7YVtlPj4wXT0zMjtmbSgxNjgxODQsY1soY1tn
Pj4yXXwwKSs0Pj4yXXwwKXwwO2U9Y1s0MjA0N118MDtpZihlPj4+MD49KGNbNDIwNDhdfDApPj4+
MCl7ZG0oMTY4MTg0LDEpfDA7ZT1jWzQyMDQ3XXwwfWNbNDIwNDddPWUrMTthW2U+PjBdPTU4O2Zt
KDE2ODE4NCxjWyhjWyhjW2c+PjJdfDApKzEyPj4yXXwwKSs4Pj4yXXwwKXwwO2U9MH1fSShkKTtn
PWNbZz4+Ml18MH1fSShoKTtpZihlPDwyND4+MjQpe2c9MDtpPTE5fX1lbHNle19JKGgpO2c9MDtm
PWIrNjArKGQ8PDIpfDA7ZT0xO2k9MTl9aWYoKGl8MCk9PTE5KXt3aGlsZSgxKXtiPWNbZj4+Ml18
MDtpZighYilicmVhaztkPUdMKGNbYis0Pj4yXXwwKXwwO2I9V0ooZCw1OCl8MDtpZihifDApYVti
Pj4wXT0wO2lmKCEoKGd8MCkhPTA/KGlLKGcsZCl8MCk9PTA6MCkpe2U9Y1s0MjA0N118MDtpZihl
Pj4+MD49KGNbNDIwNDhdfDApPj4+MCl7ZG0oMTY4MTg0LDEpfDA7ZT1jWzQyMDQ3XXwwfWNbNDIw
NDddPWUrMTthW2U+PjBdPTMyO2ZtKDE2ODE4NCxkKXwwO2U9MH1nPWQ7Zj1jW2Y+PjJdfDA7aT0x
OX1pZihlPDwyND4+MjQpe2U9MTc0MTgxO2JyZWFrfX1lPWNbNDIwNDddfDA7aWYoZT4+PjA+PShj
WzQyMDQ4XXwwKT4+PjApe2RtKDE2ODE4NCwxKXwwO2U9Y1s0MjA0N118MH1hW2U+PjBdPTA7ZT1j
WzQyMDQ2XXwwO2NbNDIwNDddPWV9d2hpbGUoMCk7cmV0dXJuIGV8MH1mdW5jdGlvbiBMcihiKXti
PWJ8MDt2YXIgZD0wO2lmKCFiKW1hKDk2MDMwLDgzNDE0LDU3Myw4MzQyOCk7aWYoIShhW2I+PjBd
fDApKW1hKDk2MDM1LDgzNDE0LDU3NCw4MzQyOCk7ZD1jWzQyMDUwXXwwO2lmKCFkKWI9MDtlbHNl
IGI9YmJbY1tkPj4yXSYzMV0oZCxiLDUxMil8MDtyZXR1cm4gYnwwfWZ1bmN0aW9uIE1yKGIpe2I9
YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2s9bDtsPWwrMTZ8MDtqPWsr
OHwwO2k9aztpZighYiltYSg5NjA5MSw4MzQxNCw1ODksODM0NDUpO2c9Yis4fDA7ZT1jW2c+PjJd
fDA7aWYoIWUpbWEoOTYwOTQsODM0MTQsNTkwLDgzNDQ1KTtpZighKGFbZT4+MF18MCkpbWEoOTYx
MDMsODM0MTQsNTkxLDgzNDQ1KTtoPWIrMjB8MDtmPWNbaD4+Ml18MDtkbyBpZighZil7ZD1SQShl
KXwwO2lmKCFkKXtjW2k+PjJdPWNbZz4+Ml07X2woMCw4MzQ2OSxpKXwwO2Q9MDticmVha31pPWFN
KGQsMTIzNjMyKXwwO2NbaD4+Ml09aTtpZighaSl7Y1tqPj4yXT15SihjWyhqSigpfDApPj4yXXww
KXwwO2Nbais0Pj4yXT1kO19sKDAsODM0OTQsail8MDtkPTA7YnJlYWt9ZD1jWzQyMDUxXXwwO2lm
KChkfDApPjQ5KXthW2IrMTc+PjBdPTE7ZD0xO2JyZWFrfWVsc2V7Y1s0MjA1MV09ZCsxO2Q9MTti
cmVha319ZWxzZXtvTShmLDAsMCl8MDtpZighKGNbaD4+Ml18MCkpbWEoODM1MTUsODM0MTQsNjE0
LDgzNDQ1KTtlbHNlIGQ9MX13aGlsZSgwKTtsPWs7cmV0dXJuIGR8MH1mdW5jdGlvbiBOcihiKXti
PWJ8MDt2YXIgZD0wLGU9MDtpZihhW2IrMTc+PjBdfDA/KGQ9YisyMHwwLGU9Y1tkPj4yXXwwLGV8
MCk6MCl7TEwoZSl8MDtjW2Q+PjJdPTB9cmV0dXJufWZ1bmN0aW9uIE9yKGEsYixkKXthPWF8MDti
PWJ8MDtkPWR8MDt2YXIgZT0wLGY9MC4wLGc9MC4wO2lmKCFiKXtlPS0xO2Q9LTF9ZWxzZXtlPWNb
Yis0OD4+Ml18MDtmPSsoZXwwKTtpZighZSl7Zz0raFtkPj4zXTtmPStoW2QrOD4+M119ZWxzZXto
W2QrOD4+M109ZjtoW2Q+PjNdPWY7Zz1mfWU9fn4oKygoY1tiKzQwPj4yXXwwKSo3MnwwKS9nKTtk
PX5+KCsoKGNbYis0ND4+Ml18MCkqNzJ8MCkvZil9Y1thPj4yXT1lO2NbYSs0Pj4yXT1kO3JldHVy
bn1mdW5jdGlvbiBQcihiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaT0wLGo9
MCxrPTAsbT0wLG49MC4wO209bDtsPWwrNDh8MDtmPW0rMTZ8MDtqPW07az1tKzMyfDA7aWYoKGV8
MCkhPTA/KGFbZT4+MF18MCkhPTA6MCl7aWYoKDA9PTA/KGc9Y1s0MjE3OF18MCwoY1s0MjA1Ml18
MCkhPShnfDApKTowKT8oY1s0MjA1Ml09ZyxpPWNbNDIwNTBdfDAsaXwwKTowKXtLbChpKXwwO2Nb
NDIwNTBdPTB9bj0raFsoY1soY1tkKzE2Pj4yXXwwKSs4Pj4yXXwwKSsyND4+M107bj0hKG4+PTEu
MCk/OTYuMDpuO2hbais4Pj4zXT1uO2hbaj4+M109bjtkPVFyKGUpfDA7Y1tmPj4yXT1jW2o+PjJd
O2NbZis0Pj4yXT1jW2orND4+Ml07Y1tmKzg+PjJdPWNbais4Pj4yXTtjW2YrMTI+PjJdPWNbaisx
Mj4+Ml07T3IoayxkLGYpO2Q9Y1trPj4yXXwwO2Y9Y1trKzQ+PjJdfDB9ZWxzZXtkPS0xO2Y9LTF9
Y1tiPj4yXT1kO2NbYis0Pj4yXT1mO2w9bTtyZXR1cm59ZnVuY3Rpb24gUXIoYSl7YT1hfDA7dmFy
IGI9MCxkPTAsZT0wLGY9MDtmPWw7bD1sKzE2fDA7ZT1mO2lmKCFhKW1hKDk2MDMwLDgzNDE0LDYz
OCw4MzUyMSk7aWYoIShjWzQyMDUwXXwwKSljWzQyMDUwXT1RbCgxOTI0OCxjWzQzNTNdfDApfDA7
Yj1McihhKXwwO2E6ZG8gaWYoIWIpe2I9dncoNjQpfDA7aWYoIWIpYj0wO2Vsc2V7ZD1iKzh8MDtj
W2Q+PjJdPSRvKDAsYSl8MDtpZighKChNcihiKXwwKTw8MjQ+PjI0KSl7UnIoYik7Yj0wO2JyZWFr
fWlmKCEoY1tiKzIwPj4yXXwwKSltYSg4MzUxNSw4MzQxNCw2NTMsODM1MjEpO2RvIHN3aXRjaChT
cihiKXwwKXtjYXNlIDA6e2E9UHkoY1tkPj4yXXwwKXwwO2NbYis1Mj4+Ml09YTtpZighYSl7Y1tl
Pj4yXT1jW2Q+PjJdO19sKDAsODM1MzgsZSl8MDtScihiKTtiPTA7YnJlYWsgYX1icmVha31jYXNl
IDI6e1RyKGIpO2JyZWFrfWNhc2UgMzp7VXIoYik7YnJlYWt9Y2FzZSAxOntWcihiKTticmVha31j
YXNlIDQ6e1dyKGIpO2JyZWFrfWNhc2UgNjp7WHIoYik7YnJlYWt9Y2FzZSAxMTp7WXIoYik7YnJl
YWt9Y2FzZSA4OntacihiKTticmVha31jYXNlIDU6e19yKGIpO2JyZWFrfWNhc2UgMTI6eyRyKGIp
O2JyZWFrfWRlZmF1bHQ6e319d2hpbGUoMCk7TnIoYik7ZT1jWzQyMDUwXXwwO2JiW2NbZT4+Ml0m
MzFdKGUsYiwxKXwwfX1lbHNlIE5yKGIpO3doaWxlKDApO2w9ZjtyZXR1cm4gYnwwfWZ1bmN0aW9u
IFJyKGEpe2E9YXwwO3ZhciBiPTA7Yj1jW2ErOD4+Ml18MDtpZihifDApYnAoMCxiKXwwO19JKGEp
O3JldHVybn1mdW5jdGlvbiBTcihhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MCxoPTAs
aT0wLGo9MDtqPWw7bD1sKzIyNHwwO2Y9aisyMDB8MDtnPWo7aD1hKzIwfDA7Yj1jW2g+PjJdfDA7
YTpkbyBpZigoYnwwKSE9MD8od04oZiwxLDIwLGIpfDApPT0yMDowKXtkPTA7d2hpbGUoMSl7aWYo
ZD4+PjA+PTEwKXtpPTEzO2JyZWFrIGF9aWYoIShkTChmLGNbMTkyODQrKGQ8PDQpPj4yXXwwLGNb
MTkyODQrKGQ8PDQpKzQ+PjJdfDApfDApKWJyZWFrO2Q9ZCsxfDB9ZT1hKzI4fDA7Y1tlPj4yXT1j
WzE5Mjg0KyhkPDw0KSsxMj4+Ml07Yj1jWzE5Mjg0KyhkPDw0KSs4Pj4yXXwwO2E9YSsyNHwwO2Nb
YT4+Ml09Yjtzd2l0Y2goZHwwKXtjYXNlIDc6YnJlYWs7Y2FzZSA4OntpZihkTChmKzh8MCw4Mzc1
NCw0KXwwKWJyZWFrIGE7Y1tlPj4yXT04Mzc1OTtjW2E+PjJdPTExO2I9MTE7YnJlYWsgYX1kZWZh
dWx0OmJyZWFrIGF9d2hpbGUoMSl7aWYoIShnTChnLDIwMCxjW2g+PjJdfDApfDApKXtpPTExO2Jy
ZWFrfWlmKCEoZEwoZyw4Mzc0OSw0KXwwKSl7aT04O2JyZWFrfX1pZigoaXwwKT09OCl7Y1tlPj4y
XT04Njg3OTtjW2E+PjJdPTg7Yj04O2JyZWFrfWVsc2UgaWYoKGl8MCk9PTExKXtiPWNbYT4+Ml18
MDticmVha319ZWxzZSBpPTEzO3doaWxlKDApO2lmKChpfDApPT0xMyl7Y1thKzI4Pj4yXT04Mzc2
NDtjW2ErMjQ+PjJdPTA7Yj0wfWw9ajtyZXR1cm4gYnwwfWZ1bmN0aW9uIFRyKGEpe2E9YXwwO3Zh
ciBiPTAsZD0wLGU9MCxmPTA7Zj1sO2w9bCsxNnwwO2I9Zis0fDA7ZD1mO2NbYSs0OD4+Ml09MDtl
PWErMjB8MDtvTShjW2U+PjJdfDAsNiwwKXwwO2lmKChpcyhjW2U+PjJdfDAsMixiKXwwKTw8MjQ+
PjI0PyhpcyhjW2U+PjJdfDAsMixkKXwwKTw8MjQ+PjI0OjApe2NbYSs0MD4+Ml09Y1tiPj4yXTtj
W2ErNDQ+PjJdPWNbZD4+Ml19bD1mO3JldHVybn1mdW5jdGlvbiBVcihhKXthPWF8MDt2YXIgYj0w
LGQ9MCxlPTAsZj0wO2Y9bDtsPWwrMTZ8MDtiPWYrNHwwO2Q9ZjtjW2ErNDg+PjJdPTA7ZT1hKzIw
fDA7b00oY1tlPj4yXXwwLDE2LDApfDA7aWYoKGFzKGNbZT4+Ml18MCw0LGIpfDApPDwyND4+MjQ/
KGFzKGNbZT4+Ml18MCw0LGQpfDApPDwyND4+MjQ6MCl7Y1thKzQwPj4yXT1jW2I+PjJdO2NbYSs0
ND4+Ml09Y1tkPj4yXX1sPWY7cmV0dXJufWZ1bmN0aW9uIFZyKGEpe2E9YXwwO3ZhciBiPTAsZD0w
LGU9MCxmPTAsZz0wLGg9MDtoPWw7bD1sKzE2fDA7Yj1oKzEyfDA7ZD1oKzh8MDtlPWgrNHwwO2Y9
aDtjW2ErNDg+PjJdPTA7Zz1hKzIwfDA7b00oY1tnPj4yXXwwLDE2LDApfDA7aWYoKCgoaXMoY1tn
Pj4yXXwwLDIsYil8MCk8PDI0Pj4yND8oaXMoY1tnPj4yXXwwLDIsZCl8MCk8PDI0Pj4yNDowKT8o
aXMoY1tnPj4yXXwwLDIsZSl8MCk8PDI0Pj4yNDowKT8oaXMoY1tnPj4yXXwwLDIsZil8MCk8PDI0
Pj4yNDowKXtjW2ErNDA+PjJdPWNbYj4+Ml08PDE2fGNbZD4+Ml07Y1thKzQ0Pj4yXT1jW2U+PjJd
PDwxNnxjW2Y+PjJdfWw9aDtyZXR1cm59ZnVuY3Rpb24gV3IoYSl7YT1hfDA7dmFyIGI9MCxkPTAs
ZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MDttPWw7bD1sKzMyfDA7Yj1tKzE2fDA7ZT1t
KzEyfDA7Zj1tKzh8MDtoPW0rNHwwO2k9bTtjW2ErNDg+PjJdPTA7aj1hKzIwfDA7d2hpbGUoMSl7
aWYoISgoYXMoY1tqPj4yXXwwLDEsYil8MCk8PDI0Pj4yNCkpYnJlYWs7ZD1jW2I+PjJdfDA7aWYo
KGR8MCk9PTI1NSljb250aW51ZTtpZihXSig4MzczNyxkKXwwKWNvbnRpbnVlO2lmKChkfDApPT0x
OTIpe2s9NjticmVha31nPWNbaj4+Ml18MDtpZigoZHwwKT09MTk0KXtrPTExO2JyZWFrfWlmKCEo
KGFzKGcsMixlKXwwKTw8MjQ+PjI0KSlicmVhaztvTShjW2o+PjJdfDAsKGNbZT4+Ml18MCkrLTJ8
MCwxKXwwfWlmKChrfDApPT02KXtpZigoKGFzKGNbaj4+Ml18MCwzLGkpfDApPDwyND4+MjQ/KGFz
KGNbaj4+Ml18MCwyLGYpfDApPDwyND4+MjQ6MCk/KGFzKGNbaj4+Ml18MCwyLGgpfDApPDwyND4+
MjQ6MCl7Y1thKzQ0Pj4yXT1jW2Y+PjJdO2NbYSs0MD4+Ml09Y1toPj4yXX19ZWxzZSBpZigoKChr
fDApPT0xMT8oYXMoZywzLGkpfDApPDwyND4+MjQ6MCk/KGFzKGNbaj4+Ml18MCwyLGYpfDApPDwy
ND4+MjQ6MCk/KGFzKGNbaj4+Ml18MCwyLGgpfDApPDwyND4+MjQ6MCl7Y1thKzQ0Pj4yXT1jW2Y+
PjJdO2NbYSs0MD4+Ml09Y1toPj4yXX1sPW07cmV0dXJufWZ1bmN0aW9uIFhyKGEpe2E9YXwwO3Zh
ciBiPTAsZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTA7bT1sO2w9bCsxMDU2fDA7
aj1tO2I9bSszMnwwO2U9bSsyOHwwO2Y9bSsyNHwwO2c9bSsyMHwwO2g9bSsxNnwwO2NbYSs0OD4+
Ml09NzI7aT1hKzIwfDA7b00oY1tpPj4yXXwwLDAsMCl8MDt3aGlsZSgxKXtpZighKGdMKGIsMTAy
NCxjW2k+PjJdfDApfDApKWJyZWFrO2Q9aEwoYiw4MzcyMil8MDtpZighZCljb250aW51ZTtjW2o+
PjJdPWU7Y1tqKzQ+PjJdPWY7Y1tqKzg+PjJdPWc7Y1tqKzEyPj4yXT1oO2lmKChjTShkLDg5MzQ1
LGopfDApPT00KXtrPTU7YnJlYWt9fWlmKChrfDApPT01KXtqPWNbZT4+Ml18MDtjW2ErMzI+PjJd
PWo7az1jW2Y+PjJdfDA7Y1thKzM2Pj4yXT1rO2NbYSs0MD4+Ml09KGNbZz4+Ml18MCktajtjW2Er
NDQ+PjJdPShjW2g+PjJdfDApLWt9bD1tO3JldHVybn1mdW5jdGlvbiBZcihhKXthPWF8MDt2YXIg
Yj0wLGQ9MCxlPTAsZj0wLGc9MCxoPTA7Zz1sO2w9bCsxNnwwO2I9Zys0fDA7ZD1nO2NbYSs0OD4+
Ml09MDtlPWErMjB8MDtvTShjW2U+PjJdfDAsMTUsMCl8MDtoPShCTihjW2U+PjJdfDApfDApPT04
ODtmPWNbZT4+Ml18MDtpZihoKXtvTShmLDI0LDApfDA7aWYoKGlzKGNbZT4+Ml18MCw0LGIpfDAp
PDwyND4+MjQ/KGlzKGNbZT4+Ml18MCw0LGQpfDApPDwyND4+MjQ6MCl7Y1thKzQwPj4yXT1jW2I+
PjJdO2NbYSs0ND4+Ml09Y1tkPj4yXX19ZWxzZXtvTShmLDI2LDApfDA7aWYoKGlzKGNbZT4+Ml18
MCwyLGIpfDApPDwyND4+MjQ/KGlzKGNbZT4+Ml18MCwyLGQpfDApPDwyND4+MjQ6MCl7Y1thKzQw
Pj4yXT1jW2I+PjJdO2NbYSs0ND4+Ml09Y1tkPj4yXX19bD1nO3JldHVybn1mdW5jdGlvbiBacihi
KXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxx
PTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9
MCxGPTA7Rj1sO2w9bCszNTJ8MDtDPUYrODB8MDtCPUYrNzJ8MDtFPUYrNjR8MDtEPUYrNTZ8MDtB
PUYrNDh8MDtkPUYrNDB8MDtzPUYrMzJ8MDt0PUYrMjR8MDt1PUYrMTZ8MDt2PUYrOHwwO3c9Rjt4
PUYrMzI4fDA7eT1GKzEyOHwwO3o9Ris5NnwwO2lmKCEoY1s0MjA1M118MCkpe2lmKEVNKDE2ODIx
Niw4MzYwNywxKXwwKXtjW2Q+PjJdPTgzNjA3O19sKDEsODM2MzQsZCl8MH1jWzQyMDUzXT0xNjgy
MTZ9bT1iKzIwfDA7b00oY1ttPj4yXXwwLDAsMCl8MDtuPXorMTJ8MDtvPXorMjB8MDtwPXorOHww
O3E9eisxNnwwO3I9eis0fDA7ZD0wO2c9MDtmPTA7ZT0wO2E6d2hpbGUoMSl7aWYoIShnTCh5LDIw
MCxjW20+PjJdfDApfDApKWJyZWFrO2lmKGc8PDI0Pj4yND09MHxkPDwyND4+MjQ9PTApe2k9eTtr
PWV9ZWxzZSBicmVhaztiOndoaWxlKDEpe2o9ZjtjOndoaWxlKDEpe3doaWxlKDEpe2lmKHFOKDE2
ODIxNixpLDQseiwwKXwwKXtmPWo7ZT1rO2NvbnRpbnVlIGF9YVtpKyhjW24+PjJdfDApPj4wXT0w
O2FbaSsoY1tvPj4yXXwwKT4+MF09MDtlPWkrKGNbcD4+Ml18MCl8MDtmPWkrKGNbcT4+Ml18MCl8
MDtpPWkrKChjW3I+PjJdfDApKzEpfDA7aWYoISh4SihlLDk2MDQzKXwwKSlicmVhaztpZighKHhK
KGUsOTYwNDkpfDApKWJyZWFrIGM7aWYoeEooZSw4MzY4MSl8MCljb250aW51ZTtjW0M+PjJdPXQ7
Y1tDKzQ+PjJdPXU7Y1tDKzg+PjJdPXY7Y1tDKzEyPj4yXT13O2lmKChjTShmLDgzNjg5LEMpfDAp
PT00KWJyZWFrIGJ9Y1tBPj4yXT1zO2NbQSs0Pj4yXT14O2lmKChjTShmLDgzNjcxLEEpfDApIT0y
KXtjW0Q+PjJdPXM7aWYoKGNNKGYsODYyNDYsRCl8MCk9PTEpe2U9MTtmPWhzKCtoW3M+PjNdLDgz
Njc4KXwwfWVsc2V7ZT1nO2Y9an19ZWxzZXtlPTE7Zj1ocygraFtzPj4zXSx4KXwwfWlmKCEoZDw8
MjQ+PjI0KSl7ZD0wO2c9ZTtqPWZ9ZWxzZXtnPWU7ZT1rO2NvbnRpbnVlIGF9fWNbRT4+Ml09cztj
W0UrND4+Ml09eDtpZigoY00oZiw4MzY3MSxFKXwwKSE9Mil7Y1tCPj4yXT1zO2lmKChjTShmLDg2
MjQ2LEIpfDApPT0xKXtkPTE7ZT1ocygraFtzPj4zXSw4MzY3OCl8MH1lbHNlIGU9a31lbHNle2Q9
MTtlPWhzKCtoW3M+PjNdLHgpfDB9aWYoIShnPDwyND4+MjQpKXtnPTA7Zj1qO2s9ZX1lbHNle2Y9
ajtjb250aW51ZSBhfX1kPTE7Zz0xO2Y9fn4oK2hbdj4+M10rMS4wLStoW3Q+PjNdKT4+PjA7ZT1+
figraFt3Pj4zXSsxLjAtK2hbdT4+M10pPj4+MH1jW2IrNDg+PjJdPTA7Y1tiKzQwPj4yXT1mO2Nb
Yis0ND4+Ml09ZTtsPUY7cmV0dXJufWZ1bmN0aW9uIF9yKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9
MCxmPTAuMCxnPTAuMDtkPWw7bD1sKzMyfDA7Yj1kO2NbYSs0OD4+Ml09MDtlPWErMjB8MDtvTShj
W2U+PjJdfDAsMCwwKXwwO2lmKCEoYnMoY1tlPj4yXXwwLGIpfDApKXtnPStoW2I+PjNdO2NbYSsz
Mj4+Ml09fn5nO2Y9K2hbYis4Pj4zXTtjW2ErMzY+PjJdPX5+ZjtjW2ErNDA+PjJdPX5+KCtoW2Ir
MTY+PjNdLWcpO2NbYSs0ND4+Ml09fn4oK2hbYisyND4+M10tZil9bD1kO3JldHVybn1mdW5jdGlv
biAkcihhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wO2Y9bDtsPWwrMTZ8MDtiPWYrNHwwO2Q9
ZjtjW2ErNDg+PjJdPTA7ZT1hKzIwfDA7b00oY1tlPj4yXXwwLDYsMCl8MDtpZigoYXMoY1tlPj4y
XXwwLDEsYil8MCk8PDI0Pj4yND8oYXMoY1tlPj4yXXwwLDEsZCl8MCk8PDI0Pj4yNDowKXtjW2Er
NDA+PjJdPWNbYj4+Ml07Y1thKzQ0Pj4yXT1jW2Q+PjJdfWw9ZjtyZXR1cm59ZnVuY3Rpb24gYXMo
YSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wO2NbZD4+Ml09MDtlPTA7d2hpbGUo
MSl7aWYoZT4+PjA+PWI+Pj4wKXtlPTE7YnJlYWt9Zj1CTihhKXwwO2lmKEtMKGEpfDApe2U9MDti
cmVha31jW2Q+PjJdPWNbZD4+Ml08PDh8ZjtlPWUrMXwwfXJldHVybiBlfDB9ZnVuY3Rpb24gYnMo
YSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MDtoPWw7bD1sKzEwNDB8MDtk
PWg7ZT1oKzE2fDA7d2hpbGUoMSl7aWYoIShnTChlLDEwMjQsYSl8MCkpe2E9MTticmVha31mPWhM
KGUsODM1OTcpfDA7aWYoZnwwKXtnPTQ7YnJlYWt9fWlmKChnfDApPT00KXtjW2QrND4+Ml09ZTtj
W2Q+PjJdPWYrOTtjW2QrOD4+Ml09YTthPWNzKGQsYil8MH1sPWg7cmV0dXJuIGF8MH1mdW5jdGlv
biBjcyhiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MDtnPWw7bD1sKzEwMjR8MDtmPWc7
ZHMoYik7ZT1hW2NbYj4+Ml0+PjBdfDA7aWYoIShlPDwyND4+MjQpKWU9KGVzKGIpfDApJjI1NTtl
bHNlIGU9ZTw8MjQ+PjI0O2lmKCgoKGV8MCk9PTkxPyhjW2I+PjJdPShjW2I+PjJdfDApKzEsZnMo
YixmKSwoZ3MoZixkKXwwKT09MCk6MCk/KGZzKGIsZiksKGdzKGYsZCs4fDApfDApPT0wKTowKT8o
ZnMoYixmKSwoZ3MoZixkKzE2fDApfDApPT0wKTowKXtmcyhiLGYpO2U9KGdzKGYsZCsyNHwwKXww
KSE9MCYxfWVsc2UgZT0xO2w9ZztyZXR1cm4gZXwwfWZ1bmN0aW9uIGRzKGIpe2I9YnwwO3ZhciBk
PTA7ZD1jW2I+PjJdfDA7d2hpbGUoMSl7ZD1hW2Q+PjBdfDA7aWYoIShkPDwyND4+MjQpKWQ9KGVz
KGIpfDApJjI1NTtlbHNlIGQ9ZDw8MjQ+PjI0O2lmKCEoKGQmMjU1KTw8MjQ+PjI0KSlicmVhaztp
ZighKFhKKGQmMjU1KXwwKSlicmVhaztkPShjW2I+PjJdfDApKzF8MDtjW2I+PjJdPWR9cmV0dXJu
fWZ1bmN0aW9uIGVzKGIpe2I9YnwwO3ZhciBkPTA7ZD1iKzR8MDtpZighKGdMKGNbZD4+Ml18MCwx
MDI0LGNbYis4Pj4yXXwwKXwwKSliPTA7ZWxzZXtkPWNbZD4+Ml18MDtjW2I+PjJdPWQ7Yj1hW2Q+
PjBdfDB9cmV0dXJuIGJ8MH1mdW5jdGlvbiBmcyhiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0w
LGc9MDtkcyhiKTtlPTA7Zj1jW2I+PjJdfDA7d2hpbGUoMSl7Zj1hW2Y+PjBdfDA7aWYoIShmPDwy
ND4+MjQpKWc9KGVzKGIpfDApJjI1NTtlbHNlIGc9Zjw8MjQ+PjI0O2Y9Zzw8MjQ+PjI0O2lmKCFm
KWJyZWFrO2lmKCEoKGZ8MCk9PTQ2fChmKy00OHwwKT4+PjA8MTApKWJyZWFrO2FbZCtlPj4wXT1n
O2U9ZSsxfDA7Zj0oY1tiPj4yXXwwKSsxfDA7Y1tiPj4yXT1mO2lmKChlfDApPT0xMDIzKXtlPTEw
MjM7YnJlYWt9fWFbZCtlPj4wXT0wO3JldHVybn1mdW5jdGlvbiBncyhhLGIpe2E9YXwwO2I9Ynww
O3ZhciBkPTAuMCxlPTAsZj0wO2U9bDtsPWwrMTZ8MDtmPWU7ZD0rdE0oYSxmKTtpZigoY1tmPj4y
XXwwKT09KGF8MCkpYT0xO2Vsc2V7aFtiPj4zXT1kO2E9MH1sPWU7cmV0dXJuIGF8MH1mdW5jdGlv
biBocyhhLGIpe2E9K2E7Yj1ifDA7dmFyIGM9MC4wO2RvIGlmKCEoeEooYiw4MzcwNSl8MCkpe2E9
YSo3Mi4wO2M9YTthPWE+PTAuMD8uNTotLjV9ZWxzZXtpZighKHhKKGIsODM3MDgpfDApKXthPWEq
Ljc1O2M9YTthPWE+PTAuMD8uNTotLjU7YnJlYWt9aWYoISh4SihiLDgzNzExKXwwKSl7YT1hKjEy
LjA7Yz1hO2E9YT49MC4wPy41Oi0uNTticmVha31pZih4SihiLDgzNjc4KXwwP3hKKGIsODM3MTQp
fDA6MClpZighKHhKKGIsODM3MTYpfDApKXthPWEqMjguMzQ2NDU2NjY0O2M9YTthPWE+PTAuMD8u
NTotLjU7YnJlYWt9ZWxzZXtiPSh4SihiLDgzNzE5KXwwKT09MDtjPWEqMi44MzQ2NDU2NjYzOTk5
OTk3O3JldHVybiAoYj9+fihjKyhjPj0wLjA/LjU6LS41KSk6MCl8MH1jPWE+PTAuMD8uNTotLjV9
d2hpbGUoMCk7cmV0dXJuIH5+KGErYyl8MH1mdW5jdGlvbiBpcyhhLGIsZCl7YT1hfDA7Yj1ifDA7
ZD1kfDA7dmFyIGU9MCxmPTA7Y1tkPj4yXT0wO2U9MDt3aGlsZSgxKXtpZihlPj4+MD49Yj4+PjAp
e2U9MTticmVha31mPUJOKGEpfDA7aWYoS0woYSl8MCl7ZT0wO2JyZWFrfWNbZD4+Ml09Y1tkPj4y
XXxmPDwoZTw8Myk7ZT1lKzF8MH1yZXR1cm4gZXwwfWZ1bmN0aW9uIGpzKGEsYixkKXthPWF8MDti
PWJ8MDtkPWR8MDt2YXIgZT0wO2E9Y1tiKzIwPj4yXXwwO2lmKGF8MClMTChhKXwwO2lmKGNbYis1
Mj4+Ml18MD8oZT1jW2IrNjA+PjJdfDAsZXwwKTowKWdiW2UmMTI3XShiKTtfSShiKTtyZXR1cm59
ZnVuY3Rpb24ga3MoKXt2YXIgYT0wO3ltKDAsMSw4NjI0MCw5MDUyNyl8MDthPXhyKDAsMSl8MDtz
RShhLDApO3JldHVybiBhfDB9ZnVuY3Rpb24gbHMoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3Zh
ciBmPTAsZz0wLGk9MCxqPTAsaz0wLG09MC4wLG49MC4wLG89MC4wLHA9MC4wO2s9bDtsPWwrMzA0
fDA7aj1rKzI0fDA7aT1rKzh8MDtmPWs7Zz1rKzQwfDA7aWYoKGZyKGIsZSl8MCkhPTk5OSlpZigo
Z3IoYixkKXwwKT09LTEpYj0tMTtlbHNle2I9Y1tkKzE2Pj4yXXwwO2U9YisxNnwwO2lmKCEoYVso
Y1tiKzg+PjJdfDApKzgxPj4wXXwwKSl7cD0raFtlPj4zXTtvPStoW2IrMjQ+PjNdO249K2hbYisz
Mj4+M107bT0raFtiKzQwPj4zXTtjW2o+PjJdPX5+KHArKHA+PTAuMD8uNTotLjUpKTtjW2orND4+
Ml09fn4obysobz49MC4wPy41Oi0uNSkpO2Nbais4Pj4yXT1+fihuKyhuPj0wLjA/LjU6LS41KSk7
Y1tqKzEyPj4yXT1+fihtKyhtPj0wLjA/LjU6LS41KSk7cEwoZyw4MzkxOCxqKXwwfWVsc2V7bT0r
aFtiKzI0Pj4zXTtuPStoW2U+PjNdO289K2hbYis0MD4+M107cD0raFtiKzMyPj4zXTtjW2k+PjJd
PX5+KG0rKG0+PTAuMD8uNTotLjUpKTtjW2krND4+Ml09fn4obisobj49MC4wPy41Oi0uNSkpO2Nb
aSs4Pj4yXT1+fihvKyhvPj0wLjA/LjU6LS41KSk7Y1tpKzEyPj4yXT1+fihwKyhwPj0wLjA/LjU6
LS41KSk7cEwoZyw4MzkxOCxpKXwwfUxtKGQsODc3MDUsZywxNzQxODEpfDA7Yj0wfWVsc2V7Yj1L
cihiLDEsZSl8MDtjW2Y+PjJdPWU7Y1tmKzQ+PjJdPWI7X2woMSw4Mzg2OSxmKXwwO2I9LTF9bD1r
O3JldHVybiBifDB9ZnVuY3Rpb24gbXMoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7
dmFyIGY9MCxnPTAsaD0wLGk9MDtpPWw7bD1sKzE2fDA7Zz1pO2Y9Y1tiKzYwPj4yXXwwO0JyKGEs
ZCl8MDtiPWNbYSsxNjQ+PjJdfDA7Y1tiKzU2Pj4yXT1iRChiLGNbYis1Mj4+Ml18MCl8MDtpZigo
Tm8oZiwxMjIyNzcsMCwxKXwwKSE9MD8oY1soY1tmKzE2Pj4yXXwwKSs4Pj4yXXwwKSE9MDowKWg9
NTtlbHNlIGlmKCEoY1tiKzE1Mj4+Ml0mNjcxMDg4NjQpKXtibSg4MzkzMCxnKTtiPS0xfWVsc2Ug
aD01O2lmKChofDApPT01KXtjW2IrMzY+PjJdPWU7aWYoIWUpe2g9YisxNTJ8MDtjW2g+PjJdPWNb
aD4+Ml18MTM0MjE3NzI4fWg9R3YoYSxmKXwwO2REKGIpO0dyKGEpO2I9aH1sPWk7cmV0dXJuIGJ8
MH1mdW5jdGlvbiBucyhhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9
MCxoPTAsaT0wO2k9bDtsPWwrMTZ8MDtnPWk7Zj1jW2IrNjA+PjJdfDA7QnIoYSxkKXwwO2I9Y1th
KzE2ND4+Ml18MDtjW2IrNTY+PjJdPWJEKGIsY1tiKzUyPj4yXXwwKXwwO2lmKChObyhmLDEyMjI3
NywwLDEpfDApIT0wPyhjWyhjW2YrMTY+PjJdfDApKzg+PjJdfDApIT0wOjApaD01O2Vsc2UgaWYo
IShjW2IrMTUyPj4yXSY2NzEwODg2NCkpe2JtKDgzOTMwLGcpO2I9LTF9ZWxzZSBoPTU7aWYoKGh8
MCk9PTUpe0FyKGEsZSk7aD1HdihhLGYpfDA7ZEQoYik7cXIoYik7R3IoYSk7Yj1ofWw9aTtyZXR1
cm4gYnwwfWZ1bmN0aW9uIG9zKGEsYixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1m
fDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbT0wO209bDtsPWwrMTZ8MDtoPW0rOHwwO2c9bTti
PWNbYis2MD4+Ml18MDtCcihhLGQpfDA7aj1jW2ErMTY0Pj4yXXwwO2Nbais1Nj4+Ml09YkQoaixj
W2orNTI+PjJdfDApfDA7aWYoKE5vKGIsMTIyMjc3LDAsMSl8MCkhPTA/KGNbKGNbYisxNj4+Ml18
MCkrOD4+Ml18MCkhPTA6MClrPTU7ZWxzZSBpZighKGNbaisxNTI+PjJdJjY3MTA4ODY0KSl7Ym0o
ODM5MzAsZyk7Yj0tMX1lbHNlIGs9NTtkbyBpZigoa3wwKT09NSl7aWYoZXwwPyhpPVpJKDQwOTYp
fDAsY1tlPj4yXT1pLGl8MCk6MCl7Zz1qKzQwfDA7Y1tnPj4yXT1pO2Nbais0ND4+Ml09NDA5Njtk
PWorNDh8MDtjW2Q+PjJdPTA7Yj1HdihhLGIpfDA7ZEQoaik7aWYoIWIpe2NbZT4+Ml09Y1tnPj4y
XTtjW2Y+PjJdPWNbZD4+Ml19R3IoYSk7YnJlYWt9X2woMSw4Mzk1MSxoKXwwO2I9LTF9d2hpbGUo
MCk7bD1tO3JldHVybiBifDB9ZnVuY3Rpb24gcHMoYSxiKXthPWF8MDtiPWJ8MDtxRShhLDAsYik7
cmV0dXJufWZ1bmN0aW9uIHFzKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MDtp
ZighKChhfDApIT0wPyh5cyhhKXwwKSE9MDowKSlhPTg0MDA3O2U9ckooYSl8MDtpZigoZXwwKT49
MTA0KXtkPXd3KGUrMjV8MCl8MDtpZighZClkPTA7ZWxzZSBmPTZ9ZWxzZSBmPTY7aWYoKGZ8MCk9
PTYpe3hLKGQsYSl8MDtjW2I+PjJdPWV9cmV0dXJuIGR8MH1mdW5jdGlvbiBycyhhLGIpe2E9YXww
O2I9YnwwO2lvKGIsYSwxKXwwO3JldHVybn1mdW5jdGlvbiBzcyhhLGIsZCxlLGYpe2E9YXwwO2I9
YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2NbYj4+Ml09ZDtjW2IrND4+Ml09ZCs0MDk2O2NbYisxMj4+
Ml09MDtjW2IrOD4+Ml09MDtjW2E+PjJdPWI7Y1thKzQ+PjJdPWI7Y1thKzg+PjJdPWQ7Y1thKzEy
Pj4yXT1lO2NbYSsxNj4+Ml09ZjtyZXR1cm59ZnVuY3Rpb24gdHMoYSxiLGQsZSl7YT1hfDA7Yj1i
fDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO3dzKGUsYik7aT1lKzEy
fDA7aj1lKzE2fDA7Yj0wO2E6d2hpbGUoMSl7az14cyhlKXwwO2lmKCFrKWJyZWFrO2I9YisxfDA7
Zj1jW2k+PjJdfDA7aWYoZnwwKWhiW2YmMzFdKGssZCk7aD1VbShhLGspfDA7d2hpbGUoMSl7aWYo
IWgpY29udGludWUgYTtnPWNbaD4+Ml0mMztmPWNbKChnfDApPT0zP2g6aCs0OHwwKSs0MD4+Ml18
MDtpZigoZnwwKT09KGt8MCkpZj1jWygoZ3wwKT09Mj9oOmgrLTQ4fDApKzQwPj4yXXwwO2lmKCEo
YWJbY1tqPj4yXSY2M10oZiwtMSl8MCkpd3MoZSxmKTtoPVZtKGEsaCxrKXwwfX1yZXR1cm4gYnww
fWZ1bmN0aW9uIHVzKGEpe2E9YXwwO3ZhciBiPTA7YT1jWyhjW2E+PjJdfDApKzEyPj4yXXwwO3do
aWxlKDEpe2lmKCFhKWJyZWFrO2I9Y1thKzEyPj4yXXwwO3ZzKGEpO2E9Yn1yZXR1cm59ZnVuY3Rp
b24gdnMoYSl7YT1hfDA7X0koY1thPj4yXXwwKTtfSShhKTtyZXR1cm59ZnVuY3Rpb24gd3MoYSxi
KXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtrPWw7bD1s
KzE2fDA7aj1rKzh8MDtmPWs7Zz1hKzh8MDtpPWErNHwwO2Q9Y1tpPj4yXXwwO2lmKChjW2c+PjJd
fDApPT0oY1tkKzQ+PjJdfDApKXtkPWNbZCsxMj4+Ml18MDtkbyBpZighZCl7ZT13dygxNil8MDtp
ZighZSl7X2woMSw4Mzk4OCxmKXwwO1VhKDE2ODI0OCwxKX1jW2UrOD4+Ml09Y1tpPj4yXTtjW2Ur
MTI+PjJdPTA7ZD13dyg0ZTYpfDA7Y1tlPj4yXT1kO2lmKCFkKXtfbCgxLDgzOTg4LGopfDA7VWEo
MTY4MjQ4LDEpfWVsc2V7Y1tlKzQ+PjJdPWQrNGU2O2NbKGNbaT4+Ml18MCkrMTI+PjJdPWU7aD1l
O2JyZWFrfX1lbHNlIGg9ZDt3aGlsZSgwKTtjW2k+PjJdPWg7Y1tnPj4yXT1jW2g+PjJdfWFiW2Nb
YSsxNj4+Ml0mNjNdKGIsMSl8MDtqPWNbZz4+Ml18MDtjW2c+PjJdPWorNDtjW2o+PjJdPWI7bD1r
O3JldHVybn1mdW5jdGlvbiB4cyhhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MDtmPWEr
OHwwO2I9Y1tmPj4yXXwwO2Q9YSs0fDA7ZT1jW2Q+PjJdfDA7aWYoKGJ8MCk9PShjW2U+PjJdfDAp
KWlmKChlfDApPT0oY1thPj4yXXwwKSliPTA7ZWxzZXtiPWNbZSs4Pj4yXXwwO2NbZD4+Ml09Yjti
PWNbYis0Pj4yXXwwO2NbZj4+Ml09YjtnPTR9ZWxzZSBnPTQ7aWYoKGd8MCk9PTQpe2I9YistNHww
O2NbZj4+Ml09YjtiPWNbYj4+Ml18MH1yZXR1cm4gYnwwfWZ1bmN0aW9uIHlzKGIpe2I9YnwwO3Zh
ciBjPTA7YTp3aGlsZSgxKXtjPWI7Yj1iKzF8MDtjPWFbYz4+MF18MDtzd2l0Y2goYzw8MjQ+PjI0
KXtjYXNlIDk1OmNvbnRpbnVlIGE7Y2FzZSAwOntiPTE7YnJlYWsgYX1kZWZhdWx0Ont9fWlmKCEo
Z0soYyYyNTUpfDApKXtiPTA7YnJlYWt9fXJldHVybiBifDB9ZnVuY3Rpb24genMoYSxiKXthPWF8
MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTA7ZD0wO2Y9Y28oYSl8MDt3aGlsZSgxKXtpZighZilicmVh
aztlPVBtKGIsZil8MDt3aGlsZSgxKXtpZighZSlicmVhaztpZihpbyhhLGNbKChjW2U+PjJdJjN8
MCk9PTI/ZTplKy00OHwwKSs0MD4+Ml18MCwwKXwwKXtlbihhLGUsMSl8MDtkPWQrMXwwfWU9Um0o
YixlKXwwfWY9ZW8oYSxmKXwwfXJldHVybiBkfDB9ZnVuY3Rpb24gQXMoYSl7YT1hfDA7YT1Mbyhh
LDg0MDEyLDApfDA7aWYoIWEpbWEoODQwMTcsODQwMjAsNTI5LDg0MDI5KTtlbHNlIHJldHVybiBj
W2ErOD4+Ml18MDtyZXR1cm4gMH1mdW5jdGlvbiBCcyhiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7
dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0
PTAsdT0wLHY9MCx3PTA7dT1sO2w9bCs0MzIwfDA7cz11KzI0fDA7cj11Kzh8MDtxPXU7dD11KzQx
ODR8MDtwPXUrNDE2MHwwO2Y9dSs0MHwwO2lmKG1uKGIpfDApe1NvKGIsMCw4NDAzOCwtMTIsMCk7
U28oYiwxLDg0MDUwLDE2LDApO289cXMoZSxmLHQpfDA7az1DcyhiKXwwO209d3coKG1uKGspfDAp
PDwyKXwwO3NzKHAsdSs0MTQ0fDAsdSs0OHwwLDIzLDIyKTtoPWNvKGspfDA7bj1wKzE2fDA7aT1v
KyhjW2Y+PjJdfDApfDA7aj1jWzEzOTE4XXwwO2U9MDt3aGlsZSgxKXtpZighaClicmVhaztpZigh
KGFiW2Nbbj4+Ml0mNjNdKGgsLTEpfDApKXtjW3E+PjJdPWU7cEwoaSw4NDk1MixxKXwwO3Y9SXAo
ayxvLDEpfDA7dz1JcChiLG8sMSl8MDtObyh3LDg0MDM4LDEyLDApfDA7YVsoTG8odyw4NDAzOCww
KXwwKSs4Pj4wXT0xO2Y9dHMoayxoLHYscCl8MDtFcyh2LHcpO2c9RnModyl8MDtHcyhiLHcpO2Nb
bSsoZTw8Mik+PjJdPXc7cW8oayx2KXwwO2lmKDApe2Nbcj4+Ml09ZTtjW3IrND4+Ml09ZjtjW3Ir
OD4+Ml09Zzt6TChqLDg0MDYyLHIpfDB9ZT1lKzF8MH1oPWVvKGssaCl8MH1pZigwKXtyPW1uKGIp
fDA7dj1ubihiKXwwO3c9RG4oYil8MDtjW3M+PjJdPXI7Y1tzKzQ+PjJdPXY7Y1tzKzg+PjJdPWU7
Y1tzKzEyPj4yXT13O3pMKGosODQwOTIscyl8MH1sbihrKXwwO1RvKGIsMCw4NDAzOCk7VG8oYiwx
LDg0MDUwKTt1cyhwKTtmPXl3KG0sZTw8Mil8MDtpZigob3wwKSE9KHR8MCkpX0kobyl9ZWxzZXtm
PTA7ZT0wfWNbZD4+Ml09ZTtsPXU7cmV0dXJuIGZ8MH1mdW5jdGlvbiBDcyhiKXtiPWJ8MDt2YXIg
ZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTA7aT1sO2w9bCsxNnwwO2g9aTthW2g+PjBdPWFbMTc2NTJd
fDA7YVtoKzE+PjBdPWFbMTc2NTNdfDA7YVtoKzI+PjBdPWFbMTc2NTRdfDA7YVtoKzM+PjBdPWFb
MTc2NTVdfDA7aD1nbig4NDEzOSxoLDApfDA7SnMoaCxiKTtkPWNvKGIpfDA7d2hpbGUoMSl7aWYo
IWQpYnJlYWs7aWYoIShjWyhMbyhkLDg0MDUwLDApfDApKzEyPj4yXXwwKSl7Zz1ubyhoLERuKGQp
fDAsMSl8MDtObyhnLDg0MDUwLDE2LDEpfDA7Y1soY1tnKzE2Pj4yXXwwKSsxMj4+Ml09ZDtjWyhM
byhkLDg0MDUwLDApfDApKzEyPj4yXT1nfWQ9ZW8oYixkKXwwfWU9Y28oYil8MDt3aGlsZSgxKXtp
ZighZSlicmVhaztmPWNbKExvKGUsODQwNTAsMCl8MCkrMTI+PjJdfDA7ZD1QbShiLGUpfDA7d2hp
bGUoMSl7aWYoIWQpYnJlYWs7Zz1jWyhMbyhjWygoY1tkPj4yXSYzfDApPT0yP2Q6ZCstNDh8MCkr
NDA+PjJdfDAsODQwNTAsMCl8MCkrMTI+PjJdfDA7ZG8gaWYoKGd8MCkhPShmfDApKWlmKGc+Pj4w
PmY+Pj4wKXthbihoLGYsZywwLDEpfDA7YnJlYWt9ZWxzZXthbihoLGcsZiwwLDEpfDA7YnJlYWt9
d2hpbGUoMCk7ZD1SbShiLGQpfDB9ZT1lbyhiLGUpfDB9bD1pO3JldHVybiBofDB9ZnVuY3Rpb24g
RHMoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wO2I9KGNbYisxNj4+Ml18MCkrOHwwO2U9YVtiPj4w
XXwwO2lmKChkfDApPj0wKWFbYj4+MF09ZDtyZXR1cm4gZXwwfWZ1bmN0aW9uIEVzKGEsYil7YT1h
fDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wO2U9Y28oYSl8MDt3aGlsZSgxKXtpZighZSlicmVhaztm
PWNbKGNbZSsxNj4+Ml18MCkrMTI+PjJdfDA7YTpkbyBpZigoY1tmPj4yXSYzfDApPT0xKWlvKGIs
ZiwxKXwwO2Vsc2V7ZD1jbyhmKXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrIGE7aW8oYixkLDEpfDA7
ZD1lbyhmLGQpfDB9fXdoaWxlKDApO2U9ZW8oYSxlKXwwfXJldHVybn1mdW5jdGlvbiBGcyhhKXth
PWF8MDtyZXR1cm4genMoYSxjW2ErNjA+PjJdfDApfDB9ZnVuY3Rpb24gR3MoYSxiKXthPWF8MDti
PWJ8MDtIcyhhLGIsMCk7cmV0dXJufWZ1bmN0aW9uIEhzKGIsYyxkKXtiPWJ8MDtjPWN8MDtkPWR8
MDt2YXIgZT0wLGY9MCxnPTA7Zz0oZHwwKT09MDtiPUpwKGIpfDA7d2hpbGUoMSl7aWYoIWIpYnJl
YWs7aWYoKGFbKExvKGIsODQwMzgsMCl8MCkrOD4+MF18MCk9PTA/KGY9SXMoYixjLGQpfDAsZnww
KTowKXtpZihnKWU9KFZKKERuKGIpfDAsOTMwMzksNyl8MCk9PTA7ZWxzZSBlPTE7SHMoYixmLGUm
MSl9Yj1LcChiKXwwfXJldHVybn1mdW5jdGlvbiBJcyhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7
dmFyIGU9MCxmPTAsZz0wO2U9MDtnPWNvKGEpfDA7d2hpbGUoMSl7aWYoIWcpYnJlYWs7Zj1ubyhi
LERuKGcpfDAsMCl8MDtpZihmKXtpZighZSllPUlwKGIsRG4oYSl8MCwxKXwwO2lvKGUsZiwxKXww
fWc9ZW8oYSxnKXwwfWlmKChkfDApIT0wJihlfDApPT0wKWU9SXAoYixEbihhKXwwLDEpfDA7aWYo
ZXwwPyh6cyhlLGEpfDAsTW0oYSxlKXwwLChWSihEbihlKXwwLDkzMDM5LDcpfDApPT0wKTowKWNb
KE5vKGUsODQwMTIsMTIsMCl8MCkrOD4+Ml09YTtyZXR1cm4gZXwwfWZ1bmN0aW9uIEpzKGEsYil7
YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7aD1sO2w9bCsx
NnwwO2c9aDtkPUpwKGIpfDA7ZT1jWzEzOTE4XXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrO2E6ZG8g
aWYoIShWSihEbihkKXwwLDkzMDM5LDcpfDApKXtmPW5vKGEsRG4oZCl8MCwxKXwwO05vKGYsODQw
NTAsMTYsMSl8MDtjWyhjW2YrMTY+PjJdfDApKzEyPj4yXT1kO2I9Y28oZCl8MDt3aGlsZSgxKXtp
ZighYilicmVhayBhO2lmKGNbKExvKGIsODQwNTAsMCl8MCkrMTI+PjJdfDApe2s9RG4oYil8MDtq
PURuKGQpfDA7aT1EbihjWyhMbyhiLDg0MDUwLDApfDApKzEyPj4yXXwwKXwwO2NbZz4+Ml09aztj
W2crND4+Ml09ajtjW2crOD4+Ml09aTt6TChlLDg0MTQyLGcpfDB9Y1soTG8oYiw4NDA1MCwwKXww
KSsxMj4+Ml09ZjtiPWVvKGQsYil8MH19ZWxzZSBKcyhhLGQpO3doaWxlKDApO2Q9S3AoZCl8MH1s
PWg7cmV0dXJufWZ1bmN0aW9uIEtzKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9
MCxmPTAsZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLjA7bj0raFthPj4zXTtqPX5+KG4rKG4+
PTAuMD8uNTotLjUpKTtuPStoW2ErOD4+M107YT1+fihuKyhuPj0wLjA/LjU6LS41KSk7bj0raFti
Pj4zXTtnPX5+KG4rKG4+PTAuMD8uNTotLjUpKTtuPStoW2IrOD4+M107Zj1+fihuKyhuPj0wLjA/
LjU6LS41KSk7bD1nLWp8MDtpPSgobHwwKT4tMT9sOjAtbHwwKTw8MTtsPWw+PjMxfDE7bT1mLWF8
MDtrPSgobXwwKT4tMT9tOjAtbXwwKTw8MTttPW0+PjMxfDE7YTpkbyBpZigoaXwwKT4oa3wwKSl7
ZT0wLWl8MDtkPWstKGk+PjEpfDA7Yj1qO3doaWxlKDEpe0N4KGMsYixhKTtpZigoYnwwKT09KGd8
MCkpYnJlYWsgYTtqPShkfDApPi0xO2Q9ZCtrKyhqP2U6MCl8MDtiPWIrbHwwO2E9KGo/bTowKSth
fDB9fWVsc2V7ZT0wLWt8MDtkPWo7Yj1pLShrPj4xKXwwO3doaWxlKDEpe0N4KGMsZCxhKTtpZigo
YXwwKT09KGZ8MCkpYnJlYWsgYTtrPShifDApPi0xO2Q9KGs/bDowKStkfDA7Yj1iK2krKGs/ZTow
KXwwO2E9YSttfDB9fXdoaWxlKDApO3JldHVybn1mdW5jdGlvbiBMcyhhLGIsZCxlKXthPWF8MDti
PWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbT0wLG49MDtuPWw7
bD1sKzE2fDA7az1uO2o9bis0fDA7ZG8gaWYoKGF8MCk8MSlkPTA7ZWxzZXtmPWUrMTZ8MDtpZigo
Y1tmPj4yXXwwKT4+PjA8NCl7ZD1NcyhhLGIsZCxlKXwwO2JyZWFrfW09d3coYTw8NSl8MDtkPTA7
d2hpbGUoMSl7aWYoKGR8MCk9PShhfDApKWJyZWFrO2c9Y1tiKyhkPDwyKT4+Ml18MDtkQihnKTto
PW0rKGQ8PDUpfDA7Zz0oY1tnKzE2Pj4yXXwwKSsxNnwwO2NbaD4+Ml09Y1tnPj4yXTtjW2grND4+
Ml09Y1tnKzQ+PjJdO2NbaCs4Pj4yXT1jW2crOD4+Ml07Y1toKzEyPj4yXT1jW2crMTI+PjJdO2Nb
aCsxNj4+Ml09Y1tnKzE2Pj4yXTtjW2grMjA+PjJdPWNbZysyMD4+Ml07Y1toKzI0Pj4yXT1jW2cr
MjQ+PjJdO2NbaCsyOD4+Ml09Y1tnKzI4Pj4yXTtkPWQrMXwwfWlmKChjW2Y+PjJdfDApPT00KXto
PWUrMjh8MDthOmRvIGlmKGNbaD4+Ml0mMnwwKXtmPWUrMjR8MDtjW2Y+PjJdPXZ3KGE8PDIpfDA7
ZD0wO3doaWxlKDEpe2lmKChkfDApPT0oYXwwKSlicmVhayBhO2c9SW0oY1tiKyhkPDwyKT4+Ml18
MCw4NDIwOSl8MDtpZihnfDA/KGNbaz4+Ml09aixnPShjTShnLDEyMjE4NyxrKXwwKT4wLGk9Y1tq
Pj4yXXwwLGcmKGl8MCk+LTEpOjApY1soY1tmPj4yXXwwKSsoZDw8Mik+PjJdPWk7ZD1kKzF8MH19
d2hpbGUoMCk7ZD1OcyhhLG0sZSl8MDtpZihjW2g+PjJdJjIpX0koY1tlKzI0Pj4yXXwwKX1lbHNl
IGQ9MDtfSShtKX13aGlsZSgwKTtsPW47cmV0dXJuIGR8MH1mdW5jdGlvbiBNcyhiLGQsZSxmKXti
PWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9
MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0w
LEU9MCxGPTAsRz0wLEg9MC4wLEk9MC4wLEo9MC4wLEs9MC4wO0c9bDtsPWwrMTQ0fDA7Qj1HKzEz
NnwwO0E9Rys2NHwwO0Y9Rys0OHwwO3Y9Rys0MHwwO3U9Rzt0PUcrMTIwfDA7eD1HKzEwNHwwO0M9
Rys5NnwwO0Q9Y1tmKzIwPj4yXXwwO2NbeD4+Ml09MDtjW3grND4+Ml09MDtjW3grOD4+Ml09MDtj
W3grMTI+PjJdPTA7YTpkbyBpZigoYnwwKT49MSl7bz0oRHwwKT09MDtFPWNbMTM5MThdfDA7cD10
KzR8MDtxPXQrOHwwO3I9dCsxMnwwO3k9eCs0fDA7dz14Kzh8MDt6PXgrMTJ8MDtuPTA7Zz0wO3do
aWxlKDEpe2lmKChufDApPT0oYnwwKSlicmVhaztzPWNbZCsobjw8Mik+PjJdfDA7ZEIocyk7aWYo
IW8/KGFbRCtuPj4wXXwwKSE9MDowKXttPWNbcysxNj4+Ml18MDtIPStoW20rMTY+PjNdO2k9fn4o
SCsoSD49MC4wPy41Oi0uNSkpO2NbdD4+Ml09aTtIPStoW20rMjQ+PjNdO2o9fn4oSCsoSD49MC4w
Py41Oi0uNSkpO2NbcD4+Ml09ajtIPStoW20rMzI+PjNdO2s9fn4oSCsoSD49MC4wPy41Oi0uNSkp
O2NbcT4+Ml09aztIPStoW20rNDA+PjNdO209fn4oSCsoSD49MC4wPy41Oi0uNSkpO2Nbcj4+Ml09
bTtpZighZyl7Y1t4Pj4yXT1jW3Q+PjJdO2NbeCs0Pj4yXT1jW3QrND4+Ml07Y1t4Kzg+PjJdPWNb
dCs4Pj4yXTtjW3grMTI+PjJdPWNbdCsxMj4+Ml19ZWxzZXtjW3g+PjJdPWNbKChjW3g+PjJdfDAp
PihpfDApP3Q6eCk+PjJdO2NbeT4+Ml09Y1soKGNbeT4+Ml18MCk+KGp8MCk/dDp4KSs0Pj4yXTtj
W3c+PjJdPWNbKChjW3c+PjJdfDApPChrfDApP3Q6eCkrOD4+Ml07Y1t6Pj4yXT1jWygoY1t6Pj4y
XXwwKTwobXwwKT90OngpKzEyPj4yXX1nPWcrMXwwfWlmKDA+Mil7bT1EbihzKXwwO3M9Y1tzKzE2
Pj4yXXwwO0s9K2hbcysxNj4+M107Sj0raFtzKzI0Pj4zXTtJPStoW3MrMzI+PjNdO0g9K2hbcys0
MD4+M107Y1t1Pj4yXT1tO2hbdSs4Pj4zXT1LO2hbdSsxNj4+M109SjtoW3UrMjQ+PjNdPUk7aFt1
KzMyPj4zXT1IO3pMKEUsODQyNzYsdSl8MH1uPW4rMXwwfXE9d3coYjw8NSl8MDtnPTA7d2hpbGUo
MSl7aWYoKGd8MCk9PShifDApKWJyZWFrO3U9cSsoZzw8NSl8MDt0PShjWyhjW2QrKGc8PDIpPj4y
XXwwKSsxNj4+Ml18MCkrMTZ8MDtjW3U+PjJdPWNbdD4+Ml07Y1t1KzQ+PjJdPWNbdCs0Pj4yXTtj
W3UrOD4+Ml09Y1t0Kzg+PjJdO2NbdSsxMj4+Ml09Y1t0KzEyPj4yXTtjW3UrMTY+PjJdPWNbdCsx
Nj4+Ml07Y1t1KzIwPj4yXT1jW3QrMjA+PjJdO2NbdSsyND4+Ml09Y1t0KzI0Pj4yXTtjW3UrMjg+
PjJdPWNbdCsyOD4+Ml07Zz1nKzF8MH1vPWYrOHwwO3A9UXMoYixxLGNbbz4+Ml18MCl8MDtpZigw
KXtjW3Y+PjJdPXA7ekwoRSw4NDMwNCx2KXwwfWlmKChwfDApPj0xKXtuPShEfDApIT0wO2lmKG4p
e2k9KChjW3c+PjJdfDApKyhjW3g+PjJdfDApfDApLzJ8MDtnPSgoY1t6Pj4yXXwwKSsoY1t5Pj4y
XXwwKXwwKS8yfDB9ZWxzZXtpPTA7Zz0wfWNbQys0Pj4yXT1nO2NbQz4+Ml09aTttPXZ3KGI8PDQp
fDA7az1mKzE2fDA7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oYnwwKSlicmVhaztpPWNbZCsoZzw8
Mik+PjJdfDA7aj1tKyhnPDw0KXwwO2NbbSsoZzw8NCkrMTI+PjJdPWc7aWYoKGNbaz4+Ml18MCk9
PTMpe3g9KGNbaSsxNj4+Ml18MCkrMTZ8MDt5PWNbbz4+Ml18MDt6PURuKGkpfDA7Y1tBPj4yXT1j
W3g+PjJdO2NbQSs0Pj4yXT1jW3grND4+Ml07Y1tBKzg+PjJdPWNbeCs4Pj4yXTtjW0ErMTI+PjJd
PWNbeCsxMj4+Ml07Y1tBKzE2Pj4yXT1jW3grMTY+PjJdO2NbQSsyMD4+Ml09Y1t4KzIwPj4yXTtj
W0ErMjQ+PjJdPWNbeCsyND4+Ml07Y1tBKzI4Pj4yXT1jW3grMjg+PjJdO2NbQj4+Ml09Y1tDPj4y
XTtjW0IrND4+Ml09Y1tDKzQ+PjJdO1JzKEEsaixwLHksQix6KX1lbHNle2NbQj4+Ml09Y1tDPj4y
XTtjW0IrND4+Ml09Y1tDKzQ+PjJdO1NzKGUsaSxqLHAsZixCKX1nPWcrMXwwfWo9dncoYjw8Mil8
MDtnPTA7d2hpbGUoMSl7aWYoKGd8MCk+PShifDApKWJyZWFrO2NbaisoZzw8Mik+PjJdPW0rKGc8
PDQpO2c9ZysxfDB9ckwoaixiLDQsMjMpO2s9d3goKXwwO2c9dncoYjw8Myl8MDtiOmRvIGlmKG4p
e2k9MDt3aGlsZSgxKXtpZigoaXwwKT49KGJ8MCkpe2k9MDticmVha31pZihhW0QraT4+MF18MCl7
ZT1jW2orKGk8PDIpPj4yXXwwO2Y9ZysoY1tlKzEyPj4yXTw8Myl8MDtjW0I+PjJdPWNbQz4+Ml07
Y1tCKzQ+PjJdPWNbQys0Pj4yXTtVcyhlLGssZixCKX1pPWkrMXwwfXdoaWxlKDEpe2lmKChpfDAp
Pj0oYnwwKSlicmVhayBiO2lmKCEoYVtEK2k+PjBdfDApKXtDPWNbaisoaTw8Mik+PjJdfDA7VnMo
aSxDLGssZysoY1tDKzEyPj4yXTw8Myl8MCxwLGNbbz4+Ml18MCxxKX1pPWkrMXwwfX1lbHNle2k9
MDt3aGlsZSgxKXtpZigoaXwwKT49KGJ8MCkpYnJlYWsgYjtEPWNbaisoaTw8Mik+PjJdfDA7VnMo
aSxELGssZysoY1tEKzEyPj4yXTw8Myl8MCxwLGNbbz4+Ml18MCxxKTtpPWkrMXwwfX13aGlsZSgw
KTtfSShqKTtpPTA7d2hpbGUoMSl7aWYoKGl8MCk+PShifDApKWJyZWFrO19JKGNbbSsoaTw8NCkr
ND4+Ml18MCk7aT1pKzF8MH1fSShtKTt6eChrKTtfSShxKTtpZigwPjEpe2k9MDt3aGlsZSgxKXtp
ZigoaXwwKT49KGJ8MCkpYnJlYWsgYTtDPWNbZysoaTw8Myk+PjJdfDA7RD1jW2crKGk8PDMpKzQ+
PjJdfDA7Y1tGPj4yXT1pO2NbRis0Pj4yXT1DO2NbRis4Pj4yXT1EO3pMKEUsODQzMjAsRil8MDtp
PWkrMXwwfX19ZWxzZSBnPTB9ZWxzZSBnPTA7d2hpbGUoMCk7bD1HO3JldHVybiBnfDB9ZnVuY3Rp
b24gTnMoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxpPTAuMCxqPTAs
az0wLG09MC4wLG49MC4wLG89MC4wLHA9MC4wLHE9MC4wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0w
LHg9MCx5PTAsej0wO3o9bDtsPWwrMTZ8MDtnPXo7eD12dyhhPDwzKXwwO2Y9Y1tkKzQ+PjJdfDA7
eT1kKzI4fDA7ZT0oZnwwKT4wO2RvIGlmKCEoY1t5Pj4yXSYxKSlpZihlKXtrPTE7dz0oYSstMStm
fDApLyhmfDApfDA7YnJlYWt9ZWxzZXtmPX5+K04oKygrQygrKCsoYXwwKSkpKSk7az0xO3c9KGEr
LTErZnwwKS8oZnwwKXwwO2JyZWFrfWVsc2UgaWYoZSl7az0wO3c9ZjtmPShhKy0xK2Z8MCkvKGZ8
MCl8MDticmVha31lbHNle2Y9fn4rTigrKCtDKCsoKyhhfDApKSkpKTtrPTA7dz1mO2Y9KGErLTEr
ZnwwKS8oZnwwKXwwO2JyZWFrfXdoaWxlKDApO2lmKDApe3Y9Y1sxMzkxOF18MDtjW2c+PjJdPWt8
MD84NDIxNTo4NDIyNTtjW2crND4+Ml09dztjW2crOD4+Ml09Zjt6TCh2LDg0MjM4LGcpfDB9dD12
dygoZjw8MykrOHwwKXwwO3U9dncoKHc8PDMpKzh8MCl8MDt2PXZ3KGEqMjR8MCl8MDtqPWQrOHww
O2U9MDtnPXY7d2hpbGUoMSl7aWYoKGV8MCk+PShhfDApKWJyZWFrO3A9K2hbYisoZTw8NSkrOD4+
M107bz0raFtiKyhlPDw1KSsyND4+M107cT0rKChjW2o+PjJdfDApPj4+MCk7aFtnPj4zXT0raFti
KyhlPDw1KSsxNj4+M10tK2hbYisoZTw8NSk+PjNdK3E7aFtnKzg+PjNdPW8tcCtxO2NbZysxNj4+
Ml09ZTtlPWUrMXwwO2c9ZysyNHwwfXM9dncoYTw8Mil8MDtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+
PShhfDApKWJyZWFrO2NbcysoZTw8Mik+PjJdPXYrKGUqMjR8MCk7ZT1lKzF8MH1lPWNbZCsyND4+
Ml18MDtpZighZSl7aWYoIShjW3k+PjJdJjY0KSlyTChzLGEsNCwyNSl9ZWxzZXtjWzQyMTAxXT1l
O3JMKHMsYSw0LDI0KX1yPShrfDApPT0wO2U9MDtnPTA7aj0wO3doaWxlKDEpe2lmKChqfDApPj0o
YXwwKSl7aT0wLjA7ZT0wO2JyZWFrfWs9Y1tzKyhqPDwyKT4+Ml18MDtkPXQrKGc8PDMpfDA7cT0r
aFtkPj4zXTtwPStoW2s+PjNdO2hbZD4+M109cT5wP3E6cDtkPXUrKGU8PDMpfDA7cD0raFtkPj4z
XTtxPStoW2srOD4+M107aFtkPj4zXT1wPnE/cDpxO2lmKHIpe2U9ZSsxfDA7ZD0oZXwwKT09KHd8
MCk7ZT1kPzA6ZTtnPWcrKGQmMSl8MH1lbHNle2c9ZysxfDA7ZD0oZ3wwKT09KGZ8MCk7ZT1lKyhk
JjEpfDA7Zz1kPzA6Z31qPWorMXwwfXdoaWxlKDEpe2lmKChlfDApPihmfDApKXtpPTAuMDtlPXc7
YnJlYWt9ZD10KyhlPDwzKXwwO3E9K2hbZD4+M107aFtkPj4zXT1pO2k9cStpO2U9ZSsxfDB9d2hp
bGUoMSl7aWYoKGV8MCk8PTApYnJlYWs7ZD1lKy0xfDA7cT0raFt1KyhkPDwzKT4+M107aFt1Kyhl
PDwzKT4+M109aTtpPXEraTtlPWR9aFt1Pj4zXT1pO2U9MDtnPTA7ZD0wO3doaWxlKDEpe2lmKChk
fDApPj0oYXwwKSlicmVhaztrPWNbKGNbcysoZDw8Mik+PjJdfDApKzE2Pj4yXXwwO2k9K2hbYiso
azw8NSk+PjNdO209LWk7cD0raFtiKyhrPDw1KSs4Pj4zXTtxPS1wO249K2hbYisoazw8NSkrMTY+
PjNdO289K2hbYisoazw8NSkrMjQ+PjNdO2o9Y1t5Pj4yXXwwO2RvIGlmKCEoaiY0KSlpZighKGom
OCkpe2k9KG0tbisgK2hbdCsoZzw8Myk+PjNdKyAraFt0KyhnKzE8PDMpPj4zXSkqLjU7YnJlYWt9
ZWxzZXtpPWktbisgK2hbdCsoZysxPDwzKT4+M107YnJlYWt9ZWxzZSBpPStoW3QrKGc8PDMpPj4z
XTt3aGlsZSgwKTtjW3grKGs8PDMpPj4yXT1+fmk7ZG8gaWYoIShqJjE2KSlpZighKGomMzIpKXtp
PShxLW8rICtoW3UrKGU8PDMpPj4zXSsgK2hbdSsoZSsxPDwzKT4+M10pKi41O2JyZWFrfWVsc2V7
aT0raFt1KyhlKzE8PDMpPj4zXTticmVha31lbHNlIGk9cC1vKyAraFt1KyhlPDwzKT4+M107d2hp
bGUoMCk7Y1t4KyhrPDwzKSs0Pj4yXT1+fmk7aWYocil7ZT1lKzF8MDtrPShlfDApPT0od3wwKTtl
PWs/MDplO2c9ZysoayYxKXwwfWVsc2V7Zz1nKzF8MDtrPShnfDApPT0oZnwwKTtlPWUrKGsmMSl8
MDtnPWs/MDpnfWQ9ZCsxfDB9X0kodik7X0kocyk7X0kodCk7X0kodSk7bD16O3JldHVybiB4fDB9
ZnVuY3Rpb24gT3MoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wO2Q9Y1s0MjEwMV18MDthPWNbZCso
Y1soY1thPj4yXXwwKSsxNj4+Ml08PDIpPj4yXXwwO2I9Y1tkKyhjWyhjW2I+PjJdfDApKzE2Pj4y
XTw8Mik+PjJdfDA7cmV0dXJuICgoYXwwKT4oYnwwKT8xOigoYXwwKTwoYnwwKSk8PDMxPj4zMSl8
MH1mdW5jdGlvbiBQcyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAuMCxlPTAuMDthPWNbYT4+Ml18
MDtiPWNbYj4+Ml18MDtlPStoW2E+PjNdKyAraFthKzg+PjNdO2Q9K2hbYj4+M10rICtoW2IrOD4+
M107cmV0dXJuIChlPGQ/MTooZT5kKTw8MzE+PjMxKXwwfWZ1bmN0aW9uIFFzKGEsYixkKXthPWF8
MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLjAsZj0wLjAsZz0wLjAsaT0wLjAsaj0wLjAsaz0wLG09MCxu
PTAuMCxvPTAuMCxwPTAscT0wLHI9MCxzPTA7cz1sO2w9bCs5NnwwO3E9cys4MHwwO3I9cys0OHww
O3A9cys4fDA7bT1zO2s9KGEqMTAwfDApKy0xfDA7ZT0rKGQ8PDF8MCk7bj0wLjA7bz0wLjA7ZD0w
O3doaWxlKDEpe2lmKChkfDApPj0oYXwwKSlicmVhaztqPStoW2IrKGQ8PDUpKzE2Pj4zXS0raFti
KyhkPDw1KT4+M10rZTtpPStoW2IrKGQ8PDUpKzI0Pj4zXS0raFtiKyhkPDw1KSs4Pj4zXStlO249
bi1qLWk7bz1vLWkqajtkPWQrMXwwfWk9KyhrfDApO2o9bipuLWkqNC4wKm87aWYoIShqPDAuMCkp
e2U9K0MoK2opO2c9aSoyLjA7Zj0oZS1uKS9nO2c9KC1uLWUpL2c7ZD1+fmY7ZD0oZHwwKT09MD8x
OmQ7aWYoMD4yKXttPWNbMTM5MThdfDA7WEwoODQ0NjMsMjcsMSxtKXwwO2hbcD4+M109aTtoW3Ar
OD4+M109bjtoW3ArMTY+PjNdPW87aFtwKzI0Pj4zXT1qO2hbcCszMj4+M109ZTt6TChtLDg0NDkx
LHApfDA7Y1tyPj4yXT1kO2hbcis4Pj4zXT1mO2NbcisxNj4+Ml09fn5nO2hbcisyND4+M109Zzt6
TChtLDg0NTE3LHIpfDA7aFtxPj4zXT0oZippK24pKmYrbztoW3ErOD4+M109KGcqaStuKSpnK287
ekwobSw4NDUzOSxxKXwwfX1lbHNle2hbbT4+M109ajtfbCgxLDg0NDM2LG0pfDA7ZD0tMX1sPXM7
cmV0dXJuIGR8MH1mdW5jdGlvbiBScyhhLGIsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1l
fDA7Zj1mfDA7Zz1nfDA7dmFyIGk9MCxqPTAsaz0wLG09MCxuPTAuMCxvPTAuMCxwPTAuMCxxPTAu
MCxyPTAscz0wLHQ9MCx1PTAsdj0wLjAsdz0wLjA7dT1sO2w9bCszMnwwO3Q9dSsxNnwwO3M9dTtw
PStoW2E+PjNdO3E9K2hbYSs4Pj4zXTtuPStoW2ErMTY+PjNdO289K2hbYSsyND4+M107cj13eCgp
fDA7aj1jW2Y+PjJdfDA7YT1qLWV8MDtrPWNbZis0Pj4yXXwwO2k9ay1lfDA7aj1lLX5+KHArKHA+
PTAuMD8uNTotLjUpKStqK35+KG4rKG4+PTAuMD8uNTotLjUpKXwwO2s9ZS1+fihxKyhxPj0wLjA/
LjU6LS41KSkrayt+fihvKyhvPj0wLjA/LjU6LS41KSl8MDtpZigoYXwwKT4tMSlmPShhfDApLyhk
fDApfDA7ZWxzZSBmPSgoYSsxfDApLyhkfDApfDApKy0xfDA7aWYoKGl8MCk+LTEpbT0oaXwwKS8o
ZHwwKXwwO2Vsc2UgbT0oKGkrMXwwKS8oZHwwKXwwKSstMXwwO2lmKChqfDApPi0xKWo9KGp8MCkv
KGR8MCl8MDtlbHNlIGo9KChqKzF8MCkvKGR8MCl8MCkrLTF8MDtpZigoa3wwKT4tMSlpPShrfDAp
LyhkfDApfDA7ZWxzZSBpPSgoaysxfDApLyhkfDApfDApKy0xfDA7d2hpbGUoMSl7aWYoKGZ8MCk+
KGp8MCkpYnJlYWs7ZWxzZSBhPW07d2hpbGUoMSl7aWYoKGF8MCk+KGl8MCkpYnJlYWs7Q3gocixm
LGEpO2E9YSsxfDB9Zj1mKzF8MH1rPWIrNHwwO2Nbaz4+Ml09R3gocil8MDtqPUZ4KHIpfDA7bT1i
Kzh8MDtjW20+PjJdPWo7dz0rKGU8PDF8MCk7dj0rKGR8MCk7aT1+fitOKCsoKG4rdy1wKS92KSk7
YT1+fitOKCsoKG8rdy1xKS92KSk7Y1tiPj4yXT1hK2k7YTpkbyBpZigwPjIpe2Y9Y1sxMzkxOF18
MDtjW3M+PjJdPWc7Y1tzKzQ+PjJdPWo7Y1tzKzg+PjJdPWk7Y1tzKzEyPj4yXT1hO3pMKGYsODQz
OTUscyl8MDthPTA7d2hpbGUoMSl7aWYoKGF8MCk+PShjW20+PjJdfDApKWJyZWFrIGE7Zz1jW2s+
PjJdfDA7cz1jW2crKGE8PDMpKzQ+PjJdfDA7Y1t0Pj4yXT1jW2crKGE8PDMpPj4yXTtjW3QrND4+
Ml09czt6TChmLDg0NDIyLHQpfDA7YT1hKzF8MH19d2hpbGUoMCk7engocik7bD11O3JldHVybn1m
dW5jdGlvbiBTcyhhLGIsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1n
fDA7dmFyIGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAuMCx1PTAs
dj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxK
PTAsSz0wLEw9MCxNPTAsTz0wLFA9MCxRPTAuMCxSPTAuMDtQPWw7bD1sKzEyOHwwO0Y9UCsxMTJ8
MDtFPVArMTA0fDA7Tz1QKzE2fDA7TT1QO0g9UCs2NHwwO0k9UCs1NnwwO3o9UCs0MHwwO0E9UCs5
NnwwO3k9UCs4OHwwO3Y9UCsyNHwwO3c9UCs4MHwwO3g9UCs3MnwwO0s9Y1tmKzg+PjJdfDA7Rz1j
W2YrMTI+PjJdfDA7Qz0oYXwwKT09MD9iOmE7TD13eCgpfDA7Sj1iKzE2fDA7Qj1jW0o+PjJdfDA7
dD0raFtCKzE2Pj4zXTtEPShjW2c+PjJdfDApLX5+KHQrKHQ+PTAuMD8uNTotLjUpKXwwO3Q9K2hb
QisyND4+M107Qj0oY1tnKzQ+PjJdfDApLX5+KHQrKHQ+PTAuMD8uNTotLjUpKXwwO2E6ZG8gaWYo
KGNbZisxNj4+Ml18MCk9PTEpe3Y9d3coKG1uKGIpfDApPDwyKXwwO2E9MDtnPWNvKGIpfDA7d2hp
bGUoMSl7aWYoIWcpYnJlYWs7eD1nKzE2fDA7Y1t2KyhhPDwyKT4+Ml09Y1soY1t4Pj4yXXwwKSsx
MTI+PjJdO2NbKGNbeD4+Ml18MCkrMTEyPj4yXT0wO2E9YSsxfDA7Zz1lbyhiLGcpfDB9bz1ELUt8
MDtwPUItS3wwO3E9RCtLfDA7cj1CK0t8MDtuPTE7d2hpbGUoMSl7YT1jW0o+PjJdfDA7aWYoKG58
MCk+KGNbYSsxODA+PjJdfDApKWJyZWFrO209Y1soY1thKzE4ND4+Ml18MCkrKG48PDIpPj4yXXww
O2k9Y1ttKzE2Pj4yXXwwO3Q9K2hbaSsxNj4+M107YT1+fih0Kyh0Pj0wLjA/LjU6LS41KSk7dD0r
aFtpKzI0Pj4zXTtnPX5+KHQrKHQ+PTAuMD8uNTotLjUpKTt0PStoW2krMzI+PjNdO2Y9fn4odCso
dD49MC4wPy41Oi0uNSkpO3Q9K2hbaSs0MD4+M107aT1+fih0Kyh0Pj0wLjA/LjU6LS41KSk7Yjpk
byBpZigoZnwwKT4oYXwwKSYoaXwwKT4oZ3wwKSl7YT1vK2F8MDtqPXArZ3wwO2Y9cStmfDA7az1y
K2l8MDtpZigoYXwwKT4tMSlnPShhfDApLyhlfDApfDA7ZWxzZSBnPSgoYSsxfDApLyhlfDApfDAp
Ky0xfDA7aWYoKGp8MCk+LTEpaj0oanwwKS8oZXwwKXwwO2Vsc2Ugaj0oKGorMXwwKS8oZXwwKXww
KSstMXwwO2lmKChmfDApPi0xKWk9KGZ8MCkvKGV8MCl8MDtlbHNlIGk9KChmKzF8MCkvKGV8MCl8
MCkrLTF8MDtpZigoa3wwKT4tMSlmPShrfDApLyhlfDApfDA7ZWxzZSBmPSgoaysxfDApLyhlfDAp
fDApKy0xfDA7d2hpbGUoMSl7aWYoKGd8MCk+KGl8MCkpYnJlYWs7ZWxzZSBhPWo7d2hpbGUoMSl7
aWYoKGF8MCk+KGZ8MCkpYnJlYWs7Q3goTCxnLGEpO2E9YSsxfDB9Zz1nKzF8MH1hPWNvKG0pfDA7
d2hpbGUoMSl7aWYoIWEpYnJlYWsgYjtjWyhjW2ErMTY+PjJdfDApKzIxMj4+Ml09bTthPWVvKG0s
YSl8MH19d2hpbGUoMCk7bj1uKzF8MH1yPXorOHwwO3M9SCs0fDA7dD0rKEt8MCk7dT1JKzR8MDtx
PUErNHwwO3A9eSs0fDA7bz1jbyhiKXwwO3doaWxlKDEpe2lmKCFvKWJyZWFrO09BKHosbyk7Uj0r
aFt6Pj4zXTtRPStoW3I+PjNdO209RCt+fihSKyhSPj0wLjA/LjU6LS41KSl8MDtjW0g+PjJdPW07
bj1CK35+KFErKFE+PTAuMD8uNTotLjUpKXwwO2Nbcz4+Ml09bjtnPW8rMTZ8MDthPWNbZz4+Ml18
MDtjOmRvIGlmKCEoY1thKzIxMj4+Ml18MCkpe2NbST4+Ml09fn4oKCtoW2ErOTY+PjNdKyAraFth
Kzg4Pj4zXSkqLjUrdCk7Y1t1Pj4yXT1+figraFthKzgwPj4zXSouNSt0KTtjW0U+PjJdPWNbSD4+
Ml07Y1tFKzQ+PjJdPWNbSCs0Pj4yXTtjW0Y+PjJdPWNbST4+Ml07Y1tGKzQ+PjJdPWNbSSs0Pj4y
XTtYcyhBLEUsRik7YT1jW0E+PjJdfDA7Zj1jW3E+PjJdfDA7Y1tFPj4yXT1jW0g+PjJdO2NbRSs0
Pj4yXT1jW0grND4+Ml07Y1tGPj4yXT1jW0k+PjJdO2NbRis0Pj4yXT1jW0krND4+Ml07WXMoeSxF
LEYpO2k9Y1t5Pj4yXXwwO2o9Y1twPj4yXXwwO2lmKChhfDApPi0xKWc9KGF8MCkvKGV8MCl8MDtl
bHNlIGc9KChhKzF8MCkvKGV8MCl8MCkrLTF8MDtpZigoZnwwKT4tMSlrPShmfDApLyhlfDApfDA7
ZWxzZSBrPSgoZisxfDApLyhlfDApfDApKy0xfDA7aWYoKGl8MCk+LTEpaT0oaXwwKS8oZXwwKXww
O2Vsc2UgaT0oKGkrMXwwKS8oZXwwKXwwKSstMXwwO2lmKChqfDApPi0xKWY9KGp8MCkvKGV8MCl8
MDtlbHNlIGY9KChqKzF8MCkvKGV8MCl8MCkrLTF8MDt3aGlsZSgxKXtpZigoZ3wwKT4oaXwwKSli
cmVhaztlbHNlIGE9azt3aGlsZSgxKXtpZigoYXwwKT4oZnwwKSlicmVhaztDeChMLGcsYSk7YT1h
KzF8MH1nPWcrMXwwfWlmKChtfDApPi0xKWE9KG18MCkvKGV8MCl8MDtlbHNlIGE9KChtKzF8MCkv
KGV8MCl8MCkrLTF8MDtjW0g+PjJdPWE7aWYoKG58MCk+LTEpYT0obnwwKS8oZXwwKXwwO2Vsc2Ug
YT0oKG4rMXwwKS8oZXwwKXwwKSstMXwwO2Nbcz4+Ml09YTthPVBtKEMsbyl8MDt3aGlsZSgxKXtp
ZighYSlicmVhayBjO2NbRj4+Ml09Y1tIPj4yXTtjW0YrND4+Ml09Y1tIKzQ+PjJdO1pzKGEsRixM
LEQsQixlLEcpO2E9Um0oQyxhKXwwfX1lbHNle2lmKChtfDApPi0xKWE9KG18MCkvKGV8MCl8MDtl
bHNlIGE9KChtKzF8MCkvKGV8MCl8MCkrLTF8MDtjW0g+PjJdPWE7aWYoKG58MCk+LTEpYT0obnww
KS8oZXwwKXwwO2Vsc2UgYT0oKG4rMXwwKS8oZXwwKXwwKSstMXwwO2Nbcz4+Ml09YTthPVBtKEMs
byl8MDt3aGlsZSgxKXtpZighYSlicmVhayBjO2lmKChjWyhjW2c+PjJdfDApKzIxMj4+Ml18MCkh
PShjWyhjWyhjWygoY1thPj4yXSYzfDApPT0yP2E6YSstNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXww
KSsyMTI+PjJdfDApKXtjW0Y+PjJdPWNbSD4+Ml07Y1tGKzQ+PjJdPWNbSCs0Pj4yXTtacyhhLEYs
TCxELEIsZSxHKX1hPVJtKEMsYSl8MH19d2hpbGUoMCk7bz1lbyhiLG8pfDB9YT0wO2c9Y28oYil8
MDt3aGlsZSgxKXtpZighZylicmVhaztjWyhjW2crMTY+PjJdfDApKzExMj4+Ml09Y1t2KyhhPDwy
KT4+Ml07YT1hKzF8MDtnPWVvKGIsZyl8MH1fSSh2KX1lbHNle3I9dis4fDA7cz1IKzR8MDt0PSso
S3wwKTt1PUkrNHwwO3E9dys0fDA7cD14KzR8MDtvPWNvKGIpfDA7d2hpbGUoMSl7aWYoIW8pYnJl
YWsgYTtPQSh2LG8pO1E9K2hbdj4+M107Uj0raFtyPj4zXTttPUQrfn4oUSsoUT49MC4wPy41Oi0u
NSkpfDA7Y1tIPj4yXT1tO249Qit+fihSKyhSPj0wLjA/LjU6LS41KSl8MDtjW3M+PjJdPW47YT1j
W28rMTY+PjJdfDA7Y1tJPj4yXT1+figoK2hbYSs5Nj4+M10rICtoW2ErODg+PjNdKSouNSt0KTtj
W3U+PjJdPX5+KCtoW2ErODA+PjNdKi41K3QpO2NbRT4+Ml09Y1tIPj4yXTtjW0UrND4+Ml09Y1tI
KzQ+PjJdO2NbRj4+Ml09Y1tJPj4yXTtjW0YrND4+Ml09Y1tJKzQ+PjJdO1hzKHcsRSxGKTthPWNb
dz4+Ml18MDtmPWNbcT4+Ml18MDtjW0U+PjJdPWNbSD4+Ml07Y1tFKzQ+PjJdPWNbSCs0Pj4yXTtj
W0Y+PjJdPWNbST4+Ml07Y1tGKzQ+PjJdPWNbSSs0Pj4yXTtZcyh4LEUsRik7aT1jW3g+PjJdfDA7
aj1jW3A+PjJdfDA7aWYoKGF8MCk+LTEpZz0oYXwwKS8oZXwwKXwwO2Vsc2UgZz0oKGErMXwwKS8o
ZXwwKXwwKSstMXwwO2lmKChmfDApPi0xKWs9KGZ8MCkvKGV8MCl8MDtlbHNlIGs9KChmKzF8MCkv
KGV8MCl8MCkrLTF8MDtpZigoaXwwKT4tMSlpPShpfDApLyhlfDApfDA7ZWxzZSBpPSgoaSsxfDAp
LyhlfDApfDApKy0xfDA7aWYoKGp8MCk+LTEpZj0oanwwKS8oZXwwKXwwO2Vsc2UgZj0oKGorMXww
KS8oZXwwKXwwKSstMXwwO3doaWxlKDEpe2lmKChnfDApPihpfDApKWJyZWFrO2Vsc2UgYT1rO3do
aWxlKDEpe2lmKChhfDApPihmfDApKWJyZWFrO0N4KEwsZyxhKTthPWErMXwwfWc9ZysxfDB9aWYo
KG18MCk+LTEpYT0obXwwKS8oZXwwKXwwO2Vsc2UgYT0oKG0rMXwwKS8oZXwwKXwwKSstMXwwO2Nb
SD4+Ml09YTtpZigobnwwKT4tMSlhPShufDApLyhlfDApfDA7ZWxzZSBhPSgobisxfDApLyhlfDAp
fDApKy0xfDA7Y1tzPj4yXT1hO2E9UG0oQyxvKXwwO3doaWxlKDEpe2lmKCFhKWJyZWFrO2NbRj4+
Ml09Y1tIPj4yXTtjW0YrND4+Ml09Y1tIKzQ+PjJdO1pzKGEsRixMLEQsQixlLEcpO2E9Um0oQyxh
KXwwfW89ZW8oYixvKXwwfX13aGlsZSgwKTtpPWQrNHwwO2NbaT4+Ml09R3goTCl8MDtqPWQrOHww
O2Nbaj4+Ml09RngoTCl8MDtnPWNbSj4+Ml18MDtRPSsoSzw8MXwwKTtSPSsoZXwwKTthPX5+K04o
KygoK2hbZyszMj4+M10rUS0raFtnKzE2Pj4zXSkvUikpO2c9fn4rTigrKCgraFtnKzQwPj4zXStR
LStoW2crMjQ+PjNdKS9SKSk7Y1tkPj4yXT1nK2E7ZDpkbyBpZigwPjIpe2Y9Y1sxMzkxOF18MDtk
PURuKGIpfDA7Yj1jW2o+PjJdfDA7Y1tNPj4yXT1kO2NbTSs0Pj4yXT1iO2NbTSs4Pj4yXT1hO2Nb
TSsxMj4+Ml09Zzt6TChmLDg0Mzk1LE0pfDA7YT0wO3doaWxlKDEpe2lmKChhfDApPj0oY1tqPj4y
XXwwKSlicmVhayBkO2I9Y1tpPj4yXXwwO009Y1tiKyhhPDwzKSs0Pj4yXXwwO2NbTz4+Ml09Y1ti
KyhhPDwzKT4+Ml07Y1tPKzQ+PjJdPU07ekwoZiw4NDQyMixPKXwwO2E9YSsxfDB9fXdoaWxlKDAp
O3p4KEwpO2w9UDtyZXR1cm59ZnVuY3Rpb24gVHMoYSxiKXthPWF8MDtiPWJ8MDtyZXR1cm4gKGNb
Y1tiPj4yXT4+Ml18MCktKGNbY1thPj4yXT4+Ml18MCl8MH1mdW5jdGlvbiBVcyhhLGIsZCxlKXth
PWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7aj1sO2w9
bCszMnwwO2g9aisxNnwwO2k9ajtrPWNbYSs0Pj4yXXwwO2c9Y1thKzg+PjJdfDA7Y1tkPj4yXT0w
LShjW2U+PjJdfDApO2Y9ZCs0fDA7Y1tmPj4yXT0wLShjW2UrND4+Ml18MCk7YT0wO2U9azt3aGls
ZSgxKXtpZigoYXwwKT49KGd8MCkpYnJlYWs7Y1toPj4yXT1jW2U+PjJdO2NbaCs0Pj4yXT1jW2Ur
ND4+Ml07QXgoYixoKTthPWErMXwwO2U9ZSs4fDB9aWYoMD4xKXtrPWNbMTM5MThdfDA7Yj1jW2Q+
PjJdfDA7ZD1jW2Y+PjJdfDA7Y1tpPj4yXT1nO2NbaSs0Pj4yXT1iO2NbaSs4Pj4yXT1kO3pMKGss
ODQzNjksaSl8MH1sPWo7cmV0dXJufWZ1bmN0aW9uIFZzKGEsYixkLGUsZixnLGkpe2E9YXwwO2I9
YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2k9aXwwO3ZhciBqPTAsaz0wLGw9MC4wLG09MC4w
LG49MC4wLG89MC4wLHA9MC4wLHE9MC4wO2s9Y1tiKzEyPj4yXXwwO2w9K2hbaSsoazw8NSk+PjNd
O209K2hbaSsoazw8NSkrOD4+M107bj0raFtpKyhrPDw1KSsxNj4+M107bz0raFtpKyhrPDw1KSsy
ND4+M107aWYoISgoYXwwKT09MD8ocT0rKGc8PDF8MCkscD0rKGZ8MCksKFdzKCh+fitOKCsoKHEt
bCtuKS9wKSl8MCkvLTJ8MCwofn4rTigrKChxLW0rbykvcCkpfDApLy0yfDAsYixkLGUsZixpKXww
KSE9MCk6MCkpaj0zO2E6ZG8gaWYoKGp8MCk9PTM/KFdzKDAsMCxiLGQsZSxmLGkpfDApPT0wOjAp
aWYoKH5+K04oKyhuLWwpKXwwKTwofn4rTigrKG8tbSkpfDApKXtrPTE7d2hpbGUoMSl7aj0wLWt8
MDthPTA7d2hpbGUoMSl7aWYoKGF8MCk8PShqfDApKXtnPWo7YnJlYWt9aWYoV3MoaixhLGIsZCxl
LGYsaSl8MClicmVhayBhO2E9YSstMXwwfXdoaWxlKDEpe2lmKChnfDApPj0oa3wwKSlicmVhaztp
ZihXcyhnLGEsYixkLGUsZixpKXwwKWJyZWFrIGE7Zz1nKzF8MH13aGlsZSgxKXtpZigoYXwwKT49
KGt8MCkpYnJlYWs7aWYoV3MoZyxhLGIsZCxlLGYsaSl8MClicmVhayBhO2E9YSsxfDB9d2hpbGUo
MSl7aWYoKGd8MCk8PShqfDApKWJyZWFrO2lmKFdzKGcsYSxiLGQsZSxmLGkpfDApYnJlYWsgYTtn
PWcrLTF8MH13aGlsZSgxKXtpZigoYXwwKTw9MClicmVhaztpZighKFdzKGcsYSxiLGQsZSxmLGkp
fDApKWE9YSstMXwwO2Vsc2UgYnJlYWsgYX1rPWsrMXwwfX1lbHNle2s9MTt3aGlsZSgxKXtqPTAt
a3wwO2E9MDt3aGlsZSgxKXtpZigoYXwwKT49KGt8MCkpe2c9ajticmVha31pZihXcyhhLGosYixk
LGUsZixpKXwwKWJyZWFrIGE7YT1hKzF8MH13aGlsZSgxKXtpZigoZ3wwKT49KGt8MCkpYnJlYWs7
aWYoV3MoYSxnLGIsZCxlLGYsaSl8MClicmVhayBhO2c9ZysxfDB9d2hpbGUoMSl7aWYoKGF8MCk8
PShqfDApKWJyZWFrO2lmKFdzKGEsZyxiLGQsZSxmLGkpfDApYnJlYWsgYTthPWErLTF8MH13aGls
ZSgxKXtpZigoZ3wwKTw9KGp8MCkpYnJlYWs7aWYoV3MoYSxnLGIsZCxlLGYsaSl8MClicmVhayBh
O2c9ZystMXwwfXdoaWxlKDEpe2lmKChhfDApPj0wKWJyZWFrO2lmKCEoV3MoYSxnLGIsZCxlLGYs
aSl8MCkpYT1hKzF8MDtlbHNlIGJyZWFrIGF9az1rKzF8MH19d2hpbGUoMCk7cmV0dXJufWZ1bmN0
aW9uIFdzKGEsYixkLGUsZixnLGkpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3ww
O2k9aXwwO3ZhciBqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9
MCx3PTAuMCx4PTAuMDt0PWw7bD1sKzQ4fDA7cj10KzMyfDA7cz10Kzh8MDtxPXQ7bT1kKzR8MDtv
PWNbZCs4Pj4yXXwwO3A9cSs0fDA7aj1jW20+PjJdfDA7az0wO3doaWxlKDEpe2lmKChrfDApPj0o
b3wwKSl7bj01O2JyZWFrfXY9ajt1PWNbdis0Pj4yXXwwO2NbcT4+Ml09KGNbdj4+Ml18MCkrYTtj
W3A+PjJdPXUrYjtjW3I+PjJdPWNbcT4+Ml07Y1tyKzQ+PjJdPWNbcSs0Pj4yXTtpZihEeChlLHIp
fDApe2o9MDticmVha31qPWorOHwwO2s9aysxfDB9aWYoKG58MCk9PTUpe2Q9Y1tkKzEyPj4yXXww
O3g9K2hbaSsoZDw8NSk+PjNdO3c9K2hbaSsoZDw8NSkrOD4+M107Y1tmPj4yXT0oTyhnLGEpfDAp
LX5+KHgrKHg+PTAuMD8uNTotLjUpKTtkPWYrNHwwO2NbZD4+Ml09KE8oZyxiKXwwKS1+fih3Kyh3
Pj0wLjA/LjU6LS41KSk7aj1jW20+PjJdfDA7az0wO3doaWxlKDEpe2lmKChrfDApPj0ob3wwKSli
cmVhazt1PWo7dj1jW3UrND4+Ml18MDtjW3E+PjJdPShjW3U+PjJdfDApK2E7Y1twPj4yXT12K2I7
Y1tyPj4yXT1jW3E+PjJdO2Nbcis0Pj4yXT1jW3ErND4+Ml07QXgoZSxyKTtqPWorOHwwO2s9aysx
fDB9aWYoMD4xKXtqPWNbMTM5MThdfDA7dT1jW2Y+PjJdfDA7dj1jW2Q+PjJdfDA7Y1tzPj4yXT1v
O2Nbcys0Pj4yXT1hO2Nbcys4Pj4yXT1iO2NbcysxMj4+Ml09dTtjW3MrMTY+PjJdPXY7ekwoaiw4
NDMzNSxzKXwwO2o9MX1lbHNlIGo9MX1sPXQ7cmV0dXJuIGp8MH1mdW5jdGlvbiBYcyhhLGIsZCl7
YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MDtlPShjW2IrND4+Ml18MCktKGNbZCs0Pj4yXXwwKXww
O2NbYT4+Ml09KGNbYj4+Ml18MCktKGNbZD4+Ml18MCk7Y1thKzQ+PjJdPWU7cmV0dXJufWZ1bmN0
aW9uIFlzKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wO2U9KGNbZCs0Pj4yXXwwKSso
Y1tiKzQ+PjJdfDApfDA7Y1thPj4yXT0oY1tkPj4yXXwwKSsoY1tiPj4yXXwwKTtjW2ErND4+Ml09
ZTtyZXR1cm59ZnVuY3Rpb24gWnMoYSxiLGQsZSxmLGcsaSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1l
fDA7Zj1mfDA7Zz1nfDA7aT1pfDA7dmFyIGo9MC4wLGs9MC4wLG09MCxuPTAsbz0wLjAscD0wLjAs
cT0wLjAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wO0E9bDtsPWwrMTEy
fDA7eD1BKzk2fDA7dz1BKzgwfDA7cj1BKzQ4fDA7cz1BKzMyfDA7eT1BKzE2fDA7ej1BO249QSs2
NHwwO2hbeT4+M109KyhjW2I+PjJdfDApO3Q9eSs4fDA7aFt0Pj4zXT0rKGNbYis0Pj4yXXwwKTth
OmRvIGlmKChpfDApIT0wPyh1PWErMTZ8MCxtPWNbKGNbdT4+Ml18MCkrOD4+Ml18MCwobXwwKSE9
MCk6MCl7cT0rKGV8MCk7cD0rKGZ8MCk7bz0xLjAvKyhnfDApO249eis4fDA7aT0wO3doaWxlKDEp
e2lmKChpfDApPj0oY1ttKzQ+PjJdfDApKWJyZWFrIGE7Zj1jW20+PjJdfDA7YT1jW2YrKGkqNDh8
MCk+PjJdfDA7Yj1jW2YrKGkqNDh8MCkrND4+Ml18MDtnPWNbZisoaSo0OHwwKSs4Pj4yXXwwO2U9
Y1tmKyhpKjQ4fDApKzEyPj4yXXwwO209ZisoaSo0OHwwKSsxNnwwO2Nbcj4+Ml09Y1ttPj4yXTtj
W3IrND4+Ml09Y1ttKzQ+PjJdO2Nbcis4Pj4yXT1jW20rOD4+Ml07Y1tyKzEyPj4yXT1jW20rMTI+
PjJdO2Y9ZisoaSo0OHwwKSszMnwwO2Nbcz4+Ml09Y1tmPj4yXTtjW3MrND4+Ml09Y1tmKzQ+PjJd
O2Nbcys4Pj4yXT1jW2YrOD4+Ml07Y1tzKzEyPj4yXT1jW2YrMTI+PjJdO2lmKCFnKXtjW3k+PjJd
PWNbYT4+Ml07Y1t5KzQ+PjJdPWNbYSs0Pj4yXTtjW3krOD4+Ml09Y1thKzg+PjJdO2NbeSsxMj4+
Ml09Y1thKzEyPj4yXTttPWErMTZ8MDtjW3o+PjJdPWNbbT4+Ml07Y1t6KzQ+PjJdPWNbbSs0Pj4y
XTtjW3orOD4+Ml09Y1ttKzg+PjJdO2NbeisxMj4+Ml09Y1ttKzEyPj4yXTttPTJ9ZWxzZXtjW3k+
PjJdPWNbcj4+Ml07Y1t5KzQ+PjJdPWNbcis0Pj4yXTtjW3krOD4+Ml09Y1tyKzg+PjJdO2NbeSsx
Mj4+Ml09Y1tyKzEyPj4yXTtjW3o+PjJdPWNbYT4+Ml07Y1t6KzQ+PjJdPWNbYSs0Pj4yXTtjW3or
OD4+Ml09Y1thKzg+PjJdO2NbeisxMj4+Ml09Y1thKzEyPj4yXTttPTF9aj0raFt5Pj4zXStxO2hb
eT4+M109ajtrPStoW3Q+PjNdK3A7aFt0Pj4zXT1rO2lmKCEoaj49MC4wKSlqPShqKzEuMCkqbyst
MS4wO2Vsc2Ugaj1qKm87aFt5Pj4zXT1qO2lmKCEoaz49MC4wKSlqPShrKzEuMCkqbystMS4wO2Vs
c2Ugaj1rKm87aFt0Pj4zXT1qO2o9K2hbej4+M10rcTtoW3o+PjNdPWo7az0raFtuPj4zXStwO2hb
bj4+M109aztpZighKGo+PTAuMCkpaj0oaisxLjApKm8rLTEuMDtlbHNlIGo9aipvO2hbej4+M109
ajtpZighKGs+PTAuMCkpaj0oaysxLjApKm8rLTEuMDtlbHNlIGo9aypvO2hbbj4+M109ajtjW3c+
PjJdPWNbeT4+Ml07Y1t3KzQ+PjJdPWNbeSs0Pj4yXTtjW3crOD4+Ml09Y1t5Kzg+PjJdO2Nbdysx
Mj4+Ml09Y1t5KzEyPj4yXTtjW3g+PjJdPWNbej4+Ml07Y1t4KzQ+PjJdPWNbeis0Pj4yXTtjW3gr
OD4+Ml09Y1t6Kzg+PjJdO2NbeCsxMj4+Ml09Y1t6KzEyPj4yXTtLcyh3LHgsZCk7d2hpbGUoMSl7
aWYoKG18MCk+PShifDApKWJyZWFrO2NbeT4+Ml09Y1t6Pj4yXTtjW3krND4+Ml09Y1t6KzQ+PjJd
O2NbeSs4Pj4yXT1jW3orOD4+Ml07Y1t5KzEyPj4yXT1jW3orMTI+PjJdO2c9YSsobTw8NCl8MDtj
W3o+PjJdPWNbZz4+Ml07Y1t6KzQ+PjJdPWNbZys0Pj4yXTtjW3orOD4+Ml09Y1tnKzg+PjJdO2Nb
eisxMj4+Ml09Y1tnKzEyPj4yXTtqPStoW3o+PjNdK3E7aFt6Pj4zXT1qO2s9K2hbbj4+M10rcDto
W24+PjNdPWs7aWYoIShqPj0wLjApKWo9KGorMS4wKSpvKy0xLjA7ZWxzZSBqPWoqbztoW3o+PjNd
PWo7aWYoIShrPj0wLjApKWo9KGsrMS4wKSpvKy0xLjA7ZWxzZSBqPWsqbztoW24+PjNdPWo7Y1t3
Pj4yXT1jW3k+PjJdO2Nbdys0Pj4yXT1jW3krND4+Ml07Y1t3Kzg+PjJdPWNbeSs4Pj4yXTtjW3cr
MTI+PjJdPWNbeSsxMj4+Ml07Y1t4Pj4yXT1jW3o+PjJdO2NbeCs0Pj4yXT1jW3orND4+Ml07Y1t4
Kzg+PjJdPWNbeis4Pj4yXTtjW3grMTI+PjJdPWNbeisxMj4+Ml07S3Modyx4LGQpO209bSsxfDB9
aWYoZXwwKXtjW3k+PjJdPWNbej4+Ml07Y1t5KzQ+PjJdPWNbeis0Pj4yXTtjW3krOD4+Ml09Y1t6
Kzg+PjJdO2NbeSsxMj4+Ml09Y1t6KzEyPj4yXTtjW3o+PjJdPWNbcz4+Ml07Y1t6KzQ+PjJdPWNb
cys0Pj4yXTtjW3orOD4+Ml09Y1tzKzg+PjJdO2NbeisxMj4+Ml09Y1tzKzEyPj4yXTtqPStoW3o+
PjNdK3E7aFt6Pj4zXT1qO2s9K2hbbj4+M10rcDtoW24+PjNdPWs7aWYoIShqPj0wLjApKWo9KGor
MS4wKSpvKy0xLjA7ZWxzZSBqPWoqbztoW3o+PjNdPWo7aWYoIShrPj0wLjApKWo9KGsrMS4wKSpv
Ky0xLjA7ZWxzZSBqPWsqbztoW24+PjNdPWo7Y1t3Pj4yXT1jW3k+PjJdO2Nbdys0Pj4yXT1jW3kr
ND4+Ml07Y1t3Kzg+PjJdPWNbeSs4Pj4yXTtjW3crMTI+PjJdPWNbeSsxMj4+Ml07Y1t4Pj4yXT1j
W3o+PjJdO2NbeCs0Pj4yXT1jW3orND4+Ml07Y1t4Kzg+PjJdPWNbeis4Pj4yXTtjW3grMTI+PjJd
PWNbeisxMj4+Ml07S3Modyx4LGQpfWk9aSsxfDA7bT1jWyhjW3U+PjJdfDApKzg+PjJdfDB9fWVs
c2Ugdj00O3doaWxlKDApO2lmKCh2fDApPT00KXtPQShuLGNbKChjW2E+PjJdJjN8MCk9PTI/YTph
Ky00OHwwKSs0MD4+Ml18MCk7Y1t6Pj4yXT1jW24+PjJdO2Nbeis0Pj4yXT1jW24rND4+Ml07Y1t6
Kzg+PjJdPWNbbis4Pj4yXTtjW3orMTI+PjJdPWNbbisxMj4+Ml07aj0raFt6Pj4zXSsgKyhlfDAp
O2hbej4+M109ajttPXorOHwwO2s9K2hbbT4+M10rICsoZnwwKTtoW20+PjNdPWs7aWYoIShqPj0w
LjApKWo9KGorMS4wKS8rKGd8MCkrLTEuMDtlbHNlIGo9ai8rKGd8MCk7aFt6Pj4zXT1qO2lmKCEo
az49MC4wKSlqPShrKzEuMCkvKyhnfDApKy0xLjA7ZWxzZSBqPWsvKyhnfDApO2hbbT4+M109ajtj
W3c+PjJdPWNbeT4+Ml07Y1t3KzQ+PjJdPWNbeSs0Pj4yXTtjW3crOD4+Ml09Y1t5Kzg+PjJdO2Nb
dysxMj4+Ml09Y1t5KzEyPj4yXTtjW3g+PjJdPWNbej4+Ml07Y1t4KzQ+PjJdPWNbeis0Pj4yXTtj
W3grOD4+Ml09Y1t6Kzg+PjJdO2NbeCsxMj4+Ml09Y1t6KzEyPj4yXTtLcyh3LHgsZCl9bD1BO3Jl
dHVybn1mdW5jdGlvbiBfcyhhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9Znww
O3ZhciBnPTAsaT0wLGo9MCxrPTAsbD0wLG09MC4wLG49MC4wLG89MC4wLHA9MC4wLHE9MCxyPTAs
cz0wLHQ9MDthOmRvIGlmKChhfDApPDEpZj0wLWF8MDtlbHNle3M9KGV8MCk9PTA7cT0oZnwwKT09
MDtqPTA7d2hpbGUoMSl7aWYoKGp8MCk9PShhfDApKXtmPTA7YnJlYWsgYX1yPWNbYisoajw8Mik+
PjJdfDA7Zz1zP3I6ZTtrPWNbZCsoajw8Myk+PjJdfDA7bD1jW2QrKGo8PDMpKzQ+PjJdfDA7bT0r
KGt8MCk7bj1tKi4wMTM4ODg4ODg4ODg4ODg4ODg7bz0rKGx8MCk7cD1vKi4wMTM4ODg4ODg4ODg4
ODg4ODg7aT1jbyhyKXwwO3doaWxlKDEpe2lmKCFpKWJyZWFrO2Y9Y1tpKzE2Pj4yXXwwO3Q9Y1tm
KzEzMj4+Ml18MDtoW3Q+PjNdPStoW3Q+PjNdK247dD10Kzh8MDtoW3Q+PjNdPStoW3Q+PjNdK3A7
dD1mKzE2fDA7aFt0Pj4zXT0raFt0Pj4zXSttO3Q9ZisyNHwwO2hbdD4+M109K2hbdD4+M10rbztm
PWNbZisxMDg+PjJdfDA7aWYoZnwwKXt0PWYrNTZ8MDtoW3Q+PjNdPStoW3Q+PjNdK207dD1mKzY0
fDA7aFt0Pj4zXT0raFt0Pj4zXStvfWI6ZG8gaWYoIXEpe2Y9UG0oZyxpKXwwO3doaWxlKDEpe2lm
KCFmKWJyZWFrIGI7JHMoZixrLGwpO2Y9Um0oZyxmKXwwfX13aGlsZSgwKTtpPWVvKHIsaSl8MH1h
dChyLGssbCk7aj1qKzF8MH19d2hpbGUoMCk7cmV0dXJuIGZ8MH1mdW5jdGlvbiAkcyhhLGIsZCl7
YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGk9MCxqPTAuMCxrPTAsbD0wLjAsbT0w
LG49MDtlPWNbYSsxNj4+Ml18MDthPWNbZSs5Nj4+Ml18MDtpZihhfDApe209YSs1NnwwO2hbbT4+
M109K2hbbT4+M10rICsoYnwwKTttPWErNjR8MDtoW20+PjNdPStoW20+PjNdKyArKGR8MCl9YT1j
W2UrMTA4Pj4yXXwwO2lmKGF8MCl7bT1hKzU2fDA7aFttPj4zXT0raFttPj4zXSsgKyhifDApO209
YSs2NHwwO2hbbT4+M109K2hbbT4+M10rICsoZHwwKX1hPWNbZSsxMDA+PjJdfDA7aWYoYXwwKXtt
PWErNTZ8MDtoW20+PjNdPStoW20+PjNdKyArKGJ8MCk7bT1hKzY0fDA7aFttPj4zXT0raFttPj4z
XSsgKyhkfDApfWE9Y1tlKzEwND4+Ml18MDtpZihhfDApe209YSs1NnwwO2hbbT4+M109K2hbbT4+
M10rICsoYnwwKTttPWErNjR8MDtoW20+PjNdPStoW20+PjNdKyArKGR8MCl9bT1jW2UrOD4+Ml18
MDthOmRvIGlmKG18MCl7bD0rKGJ8MCk7aj0rKGR8MCk7Yj1jW20rND4+Ml18MDthPTA7d2hpbGUo
MSl7aWYoKGF8MCk+PShifDApKWJyZWFrIGE7az1jW20+PjJdfDA7ZD1jW2srKGEqNDh8MCk+PjJd
fDA7Zj1jW2srKGEqNDh8MCkrND4+Ml18MDtnPWNbaysoYSo0OHwwKSs4Pj4yXXwwO2k9Y1trKyhh
KjQ4fDApKzEyPj4yXXwwO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KGZ8MCkpYnJlYWs7bj1kKyhl
PDw0KXwwO2hbbj4+M109K2hbbj4+M10rbDtuPWQrKGU8PDQpKzh8MDtoW24+PjNdPStoW24+PjNd
K2o7ZT1lKzF8MH1pZihnfDApe249aysoYSo0OHwwKSsxNnwwO2hbbj4+M109K2hbbj4+M10rbDtu
PWsrKGEqNDh8MCkrMjR8MDtoW24+PjNdPStoW24+PjNdK2p9aWYoaXwwKXtuPWsrKGEqNDh8MCkr
MzJ8MDtoW24+PjNdPStoW24+PjNdK2w7bj1rKyhhKjQ4fDApKzQwfDA7aFtuPj4zXT0raFtuPj4z
XStqfWE9YSsxfDB9fXdoaWxlKDApO3JldHVybn1mdW5jdGlvbiBhdChiLGQsZSl7Yj1ifDA7ZD1k
fDA7ZT1lfDA7dmFyIGY9MCxnPTAuMCxpPTAuMCxqPTAsaz0wLjAsbD0wLjAsbT0wLG49MC4wLG89
MDtqPWIrMTZ8MDtiPWNbaj4+Ml18MDtvPWIrMTZ8MDttPWIrMjR8MDtmPWIrMzJ8MDtiPWIrNDB8
MDtnPSsoZHwwKTtsPStoW2Y+PjNdK2c7aT0rKGV8MCk7bj0raFttPj4zXStpO2s9K2hbYj4+M10r
aTtoW28+PjNdPStoW28+PjNdK2c7aFttPj4zXT1uO2hbZj4+M109bDtoW2I+PjNdPWs7Yj1jW2o+
PjJdfDA7Zj1jW2IrMTI+PjJdfDA7aWYoKGZ8MCkhPTA/KGFbZis4MT4+MF18MCkhPTA6MCl7bz1m
KzU2fDA7aFtvPj4zXT0raFtvPj4zXStnO2Y9Zis2NHwwO2hbZj4+M109K2hbZj4+M10raTtmPTF9
ZWxzZSBmPTE7d2hpbGUoMSl7aWYoKGZ8MCk+KGNbYisxODA+PjJdfDApKWJyZWFrO2F0KGNbKGNb
YisxODQ+PjJdfDApKyhmPDwyKT4+Ml18MCxkLGUpO2Y9ZisxfDA7Yj1jW2o+PjJdfDB9cmV0dXJu
fWZ1bmN0aW9uIGJ0KGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTA7Zj1M
cyhhLGIsZCxlKXwwO2lmKCFmKWE9MTtlbHNle2E9X3MoYSxiLGYsZCxjW2UrMTI+PjJdfDApfDA7
X0koZil9cmV0dXJuIGF8MH1mdW5jdGlvbiBjdChhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtl
PWV8MDt2YXIgZj0wLGc9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MDtwPWw7
bD1sKzMyfDA7bz1wO249YnQoYSxiLGQsZSl8MDtpZighbil7ZEIoZCk7bT0oY1tkKzE2Pj4yXXww
KSsxNnwwO2Nbbz4+Ml09Y1ttPj4yXTtjW28rND4+Ml09Y1ttKzQ+PjJdO2Nbbys4Pj4yXT1jW20r
OD4+Ml07Y1tvKzEyPj4yXT1jW20rMTI+PjJdO2NbbysxNj4+Ml09Y1ttKzE2Pj4yXTtjW28rMjA+
PjJdPWNbbSsyMD4+Ml07Y1tvKzI0Pj4yXT1jW20rMjQ+PjJdO2NbbysyOD4+Ml09Y1ttKzI4Pj4y
XTtmPW8rOHwwO2c9bysxNnwwO2k9bysyNHwwO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KGF8MCkp
YnJlYWs7az1jWyhjW2IrKGU8PDIpPj4yXXwwKSsxNj4+Ml18MDtqPWNbaysxODA+PjJdfDA7az1r
KzE4NHwwO2Q9MTt3aGlsZSgxKXtpZigoZHwwKT4oanwwKSlicmVhaztyPShjWyhjWyhjW2s+PjJd
fDApKyhkPDwyKT4+Ml18MCkrMTY+PjJdfDApKzE2fDA7aFtvPj4zXT0raFsoK2hbbz4+M108K2hb
cj4+M10/bzpyKT4+M107cj1jWyhjWyhjW2s+PjJdfDApKyhkPDwyKT4+Ml18MCkrMTY+PjJdfDA7
cT1yKzE2fDA7aFtmPj4zXT0raFsoK2hbZj4+M108K2hbcisyND4+M10/bzpxKSs4Pj4zXTtoW2c+
PjNdPStoWygraFtnPj4zXT4raFtyKzMyPj4zXT9vOnEpKzE2Pj4zXTtoW2k+PjNdPStoWygraFtp
Pj4zXT4raFtyKzQwPj4zXT9vOnEpKzI0Pj4zXTtkPWQrMXwwfWU9ZSsxfDB9Y1ttPj4yXT1jW28+
PjJdO2NbbSs0Pj4yXT1jW28rND4+Ml07Y1ttKzg+PjJdPWNbbys4Pj4yXTtjW20rMTI+PjJdPWNb
bysxMj4+Ml07Y1ttKzE2Pj4yXT1jW28rMTY+PjJdO2NbbSsyMD4+Ml09Y1tvKzIwPj4yXTtjW20r
MjQ+PjJdPWNbbysyND4+Ml07Y1ttKzI4Pj4yXT1jW28rMjg+PjJdfWw9cDtyZXR1cm4gbnwwfWZ1
bmN0aW9uIGR0KGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9
MDtnPWw7bD1sKzE2fDA7Zj1nO2lmKCFlKW1hKDg0NTUzLDg0NTU5LDE0MDAsODQ1NjYpO2Q9ZXQo
YSxkLGQpfDA7Y1tlKzg+PjJdPWQ7aWYoMCl7aD1jWzEzOTE4XXwwO2NbZj4+Ml09ZDt6TChoLDg0
NTc4LGYpfDB9Y1tlKzEyPj4yXT0wO2NbZSsyMD4+Ml09MDtmdChhLGIsZSl8MDtsPWc7cmV0dXJu
IGNbZSsxNj4+Ml18MH1mdW5jdGlvbiBldChiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9
MCxnPTAsaD0wLGk9MDtpPWw7bD1sKzE2fDA7aD1pO2Y9aSs0fDA7Zz1JbShiLDg0NzA4KXwwO2E6
ZG8gaWYoZyl7Y1toPj4yXT1mO2g9KGNNKGcsMTIyMTg3LGgpfDApPT0xO2I9Y1tmPj4yXXwwO2lm
KGgmKGJ8MCk+LTEpZD1iO2Vsc2V7c3dpdGNoKGFbZz4+MF18MCl7Y2FzZSA4NDpjYXNlIDExNjpi
cmVhaztkZWZhdWx0OmJyZWFrIGF9ZD1lfX13aGlsZSgwKTtsPWk7cmV0dXJuIGR8MH1mdW5jdGlv
biBmdChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7cmV0dXJuIGd0KEltKGEsODQ1OTEpfDAsYixj
KXwwfWZ1bmN0aW9uIGd0KGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGk9MCxqPTAs
az0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MC4wO3U9bDtsPWwrNjR8
MDtyPXUrNDB8MDtxPXUrMzJ8MDt0PXUrMjR8MDtzPXUrMTZ8MDttPXUrOHwwO2s9dTtpPXUrNDh8
MDtqPXUrNDR8MDtpZighZSltYSg4NDU1Myw4NDU1OSwxMjkyLDg0NjAwKTtvPWUrMjh8MDtjW28+
PjJdPTA7cD1lKzE2fDA7Y1twPj4yXT1kO249ZSs0fDA7Y1tuPj4yXT0wO2NbZSsyND4+Ml09MDth
OmRvIGlmKGJ8MD8oZj1hW2I+PjBdfDAsZjw8MjQ+PjI0KTowKXN3aXRjaChmPDwyND4+MjR8MCl7
Y2FzZSA5NzppZighKFZKKGIsODQ2MTgsNSl8MCkpe2NbcD4+Ml09NDttPWh0KGIrNXwwLGUpfDA7
Y1trPj4yXT1qO209KGNNKG0sMTIyMTg3LGspfDApPjA7ZD1jW2o+PjJdfDA7aWYoIShtJihkfDAp
PjApKWJyZWFrIGE7Y1tuPj4yXT1kO2JyZWFrIGF9ZWxzZXtpZihWSihiLDg0NjI0LDYpfDApYnJl
YWsgYTtjW3A+PjJdPTU7Y1ttPj4yXT1pO209KGNNKGIrNXwwLDg0NjMxLG0pfDApPjA7dj0rZ1tp
Pj4yXTtnW2U+PjJdPW0mdj4wLjA/djoxLjA7YnJlYWsgYX1jYXNlIDk5OntpZihmPDwyND4+MjQh
PTk5KWJyZWFrIGE7aWYoeEooYiw5MzAzOSl8MClicmVhayBhO2NbcD4+Ml09MTticmVhayBhfWNh
c2UgMTAzOntpZihmPDwyND4+MjQhPTEwMylicmVhayBhO2lmKHhKKGIsOTYyODYpfDApYnJlYWsg
YTtjW3A+PjJdPTM7YnJlYWsgYX1jYXNlIDExMDp7aWYoZjw8MjQ+PjI0IT0xMTApYnJlYWsgYTtp
Zih4SihiLDk2MjczKXwwKWJyZWFrIGE7Y1twPj4yXT0yO2JyZWFrIGF9ZGVmYXVsdDpicmVhayBh
fXdoaWxlKDApO2lmKDApe2Q9Y1sxMzkxOF18MDtYTCg4NDYzNCwxMSwxLGQpfDA7Y1tzPj4yXT1p
dChjW3A+PjJdfDApfDA7ekwoZCw4NDY0NixzKXwwO2lmKChjW3A+PjJdfDApPT01KXtoW3Q+PjNd
PStnW2U+PjJdO3pMKGQsODQ2NTksdCl8MH1jW3E+PjJdPWNbbj4+Ml07ekwoZCw4NDY3MixxKXww
O2Nbcj4+Ml09Y1tvPj4yXTt6TChkLDg0Njg1LHIpfDB9bD11O3JldHVybiBjW3A+PjJdfDB9ZnVu
Y3Rpb24gaHQoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTA7YTpkbyBpZigoYVtiPj4w
XXwwKT09OTUpe2Y9ZCsyOHwwO2U9MTt3aGlsZSgxKXtiPWIrMXwwO2I6d2hpbGUoMSl7aWYoIWUp
YnJlYWsgYTtkPWFbYj4+MF18MDtpZighKGQ8PDI0Pj4yNCkpYnJlYWsgYTtzd2l0Y2goZDw8MjQ+
PjI0fDApe2Nhc2UgOTk6e2c9MTA7YnJlYWsgYn1jYXNlIDEwNTp7Zz05O2JyZWFrIGJ9Y2FzZSAx
MTc6e2c9MTE7YnJlYWsgYn1jYXNlIDExNjp7Zz0xMjticmVhayBifWNhc2UgOTg6e2Q9MzI7YnJl
YWsgYn1jYXNlIDEwODp7Zz03O2JyZWFrIGJ9Y2FzZSAxMTQ6e2c9ODticmVhayBifWRlZmF1bHQ6
ZT0wfX1pZigoZ3wwKT09Nyl7Zz0wO2Q9NH1lbHNlIGlmKChnfDApPT04KXtnPTA7ZD04fWVsc2Ug
aWYoKGd8MCk9PTkpe2c9MDtkPTY0fWVsc2UgaWYoKGd8MCk9PTEwKXtnPTA7ZD0xfWVsc2UgaWYo
KGd8MCk9PTExKXtnPTA7ZD0yfWVsc2UgaWYoKGd8MCk9PTEyKXtnPTA7ZD0xNn1jW2Y+PjJdPWNb
Zj4+Ml18ZH19d2hpbGUoMCk7cmV0dXJuIGJ8MH1mdW5jdGlvbiBpdChhKXthPWF8MDtzd2l0Y2go
YXwwKXtjYXNlIDE6e2E9OTMwMzk7YnJlYWt9Y2FzZSAyOnthPTk2MjczO2JyZWFrfWNhc2UgMzp7
YT05NjI4NjticmVha31jYXNlIDQ6e2E9ODQ2MTg7YnJlYWt9Y2FzZSA1OnthPTg0NjI0O2JyZWFr
fWRlZmF1bHQ6YT04NDY5OH1yZXR1cm4gYXwwfWZ1bmN0aW9uIGp0KGEsYixkLGUpe2E9YXwwO2I9
YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTAsbj0wO249bDts
PWwrOTZ8MDtrPW47bT1uKzgwfDA7ZG8gaWYoYSl7aWYoIWUpe2U9JEkoMSwyMCl8MDtjW2UrND4+
Ml09ZD4+PjA+ODA/ZDo4MH1kPWNbZT4+Ml18MDtqPWNbZSs0Pj4yXXwwO2lmKCFkKXtoPTEwMDtk
PWE7aT0kSSgxMDAsail8MH1lbHNle2g9ZCsxMDB8MDtpPWFKKGNbZSs4Pj4yXXwwLE8oaCxqKXww
KXwwO1ZOKGkrKE8oaixkKXwwKXwwLDAsaioxMDB8MCl8MDtkPWF9d2hpbGUoMSl7ZD1rdChrLGQs
YixtKXwwO2lmKCFkKWJyZWFrO2E9Y1tlPj4yXXwwO2Y9aDw8MTtnPU8oaCxqKXwwO2lmKChhfDAp
PT0oaHwwKSl7aT1hSihpLE8oZixqKXwwKXwwO1ZOKGkrZ3wwLDAsZ3wwKXwwO2E9Y1tlPj4yXXww
fWVsc2UgZj1oO2E9aSsoTyhhLGopfDApfDA7Zz1rO2g9YSs4MHwwO2Rve2NbYT4+Ml09Y1tnPj4y
XTthPWErNHwwO2c9Zys0fDB9d2hpbGUoKGF8MCk8KGh8MCkpO2NbZT4+Ml09KGNbZT4+Ml18MCkr
MTtoPWZ9aWYoY1ttPj4yXXwwKXttPWUrMTZ8MDtjW20+PjJdPWNbbT4+Ml18MX1kPWNbZT4+Ml18
MDtpZighZCl7X0koaSk7X0koZSk7ZT0wO2JyZWFrfWVsc2V7Y1tlKzg+PjJdPWFKKGksTyhkLGop
fDApfDA7YnJlYWt9fXdoaWxlKDApO2w9bjtyZXR1cm4gZXwwfWZ1bmN0aW9uIGt0KGIsZCxlLGYp
e2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTA7aj1sO2w9bCs4MHww
O2g9ais2NHwwO2k9ajtjW2Y+PjJdPTA7ZG97Zz1hW2Q+PjBdfDA7ZD1kKzF8MH13aGlsZSgoWEoo
Zyl8MCkhPTApO2E6ZG8gc3dpdGNoKGd8MCl7Y2FzZSA2OTp7Y1tiPj4yXT0wO2Q9bHQoZCxiKzh8
MCl8MDtpZighZCl7Y1tmPj4yXT0xO2Q9MDticmVhayBhfWlmKGUpY1tiKzcyPj4yXT1jW2U+PjJd
O2JyZWFrfWNhc2UgMTAxOntjW2I+PjJdPTE7ZD1sdChkLGIrOHwwKXwwO2lmKCFkKXtjW2Y+PjJd
PTE7ZD0wO2JyZWFrIGF9aWYoZSljW2IrNzI+PjJdPWNbZT4+Ml07YnJlYWt9Y2FzZSA4MDp7Y1ti
Pj4yXT0yO2Q9bXQoZCxiKzh8MCl8MDtpZighZCl7Y1tmPj4yXT0xO2Q9MDticmVhayBhfWlmKGUp
Y1tiKzcyPj4yXT1jW2UrND4+Ml07YnJlYWt9Y2FzZSAxMTI6e2NbYj4+Ml09MztkPW10KGQsYis4
fDApfDA7aWYoIWQpe2NbZj4+Ml09MTtkPTA7YnJlYWsgYX1pZihlKWNbYis3Mj4+Ml09Y1tlKzQ+
PjJdO2JyZWFrfWNhc2UgOTg6e2NbYj4+Ml09NDtkPW10KGQsYis4fDApfDA7aWYoIWQpe2NbZj4+
Ml09MTtkPTA7YnJlYWsgYX1pZihlKWNbYis3Mj4+Ml09Y1tlKzg+PjJdO2JyZWFrfWNhc2UgNjY6
e2NbYj4+Ml09NTtkPW10KGQsYis4fDApfDA7aWYoIWQpe2NbZj4+Ml09MTtkPTA7YnJlYWsgYX1p
ZihlKWNbYis3Mj4+Ml09Y1tlKzg+PjJdO2JyZWFrfWNhc2UgOTk6e2Q9bnQoZCxoKXwwO2lmKCFk
KXtjW2Y+PjJdPTE7ZD0wO2JyZWFrIGF9Zz1vdChjW2g+PjJdfDAsaSl8MDtjW2g+PjJdPWc7aWYo
IWcpe2NbZj4+Ml09MTtkPTA7YnJlYWsgYX1pZighKGNbaT4+Ml18MCkpe2NbYj4+Ml09OTtjW2Ir
OD4+Ml09Y1tpKzg+PjJdO2lmKCFlKWJyZWFrIGE7Y1tiKzcyPj4yXT1jW2UrMjQ+PjJdO2JyZWFr
IGF9ZWxzZXtjW2I+PjJdPTE0O2Y9Yis4fDA7Zz1pO2g9Zis2NHwwO2Rve2NbZj4+Ml09Y1tnPj4y
XTtmPWYrNHwwO2c9Zys0fDB9d2hpbGUoKGZ8MCk8KGh8MCkpO2lmKCFlKWJyZWFrIGE7Y1tiKzcy
Pj4yXT1jW2UrNDA+PjJdO2JyZWFrIGF9fWNhc2UgNjc6e2Q9bnQoZCxoKXwwO2lmKCFkKXtjW2Y+
PjJdPTE7ZD0wO2JyZWFrIGF9Zz1vdChjW2g+PjJdfDAsaSl8MDtjW2g+PjJdPWc7aWYoIWcpe2Nb
Zj4+Ml09MTtkPTA7YnJlYWsgYX1pZighKGNbaT4+Ml18MCkpe2NbYj4+Ml09ODtjW2IrOD4+Ml09
Y1tpKzg+PjJdO2lmKCFlKWJyZWFrIGE7Y1tiKzcyPj4yXT1jW2UrMjA+PjJdO2JyZWFrIGF9ZWxz
ZXtjW2I+PjJdPTEzO2Y9Yis4fDA7Zz1pO2g9Zis2NHwwO2Rve2NbZj4+Ml09Y1tnPj4yXTtmPWYr
NHwwO2c9Zys0fDB9d2hpbGUoKGZ8MCk8KGh8MCkpO2lmKCFlKWJyZWFrIGE7Y1tiKzcyPj4yXT1j
W2UrNDA+PjJdO2JyZWFrIGF9fWNhc2UgNzY6e2NbYj4+Ml09NjtkPW10KGQsYis4fDApfDA7aWYo
IWQpe2NbZj4+Ml09MTtkPTA7YnJlYWsgYX1pZihlKWNbYis3Mj4+Ml09Y1tlKzEyPj4yXTticmVh
a31jYXNlIDg0OntjW2I+PjJdPTc7ZD1wdChkLGIrOHwwKXwwO2lmKCFkKXtjW2Y+PjJdPTE7ZD0w
O2JyZWFrIGF9ZD1wdChkLGIrMTZ8MCl8MDtpZighZCl7Y1tmPj4yXT0xO2Q9MDticmVhayBhfWQ9
cXQoZCxiKzI0fDApfDA7aWYoIWQpe2NbZj4+Ml09MTtkPTA7YnJlYWsgYX1kPXB0KGQsYiszMnww
KXwwO2lmKCFkKXtjW2Y+PjJdPTE7ZD0wO2JyZWFrIGF9ZD1udChkLGIrNDB8MCl8MDtpZighZCl7
Y1tmPj4yXT0xO2Q9MDticmVhayBhfWlmKGUpY1tiKzcyPj4yXT1jW2UrMTY+PjJdO2JyZWFrfWNh
c2UgNzA6e2NbYj4+Ml09MTA7ZD1wdChkLGIrOHwwKXwwO2lmKCFkKXtjW2Y+PjJdPTE7ZD0wO2Jy
ZWFrIGF9ZD1udChkLGIrMTZ8MCl8MDtpZighZCl7Y1tmPj4yXT0xO2Q9MDticmVhayBhfWlmKGUp
Y1tiKzcyPj4yXT1jW2UrMjg+PjJdO2JyZWFrfWNhc2UgODM6e2NbYj4+Ml09MTE7ZD1udChkLGIr
OHwwKXwwO2lmKCFkKXtjW2Y+PjJdPTE7ZD0wO2JyZWFrIGF9aWYoZSljW2IrNzI+PjJdPWNbZSsz
Mj4+Ml07YnJlYWt9Y2FzZSA3Mzp7Y1tiPj4yXT0xMjtkPWx0KGQsYis4fDApfDA7aWYoIWQpe2Nb
Zj4+Ml09MTtkPTA7YnJlYWsgYX1kPW50KGQsYis0MHwwKXwwO2lmKCFkKXtjW2Y+PjJdPTE7ZD0w
O2JyZWFrIGF9aWYoZSljW2IrNzI+PjJdPWNbZSszNj4+Ml07YnJlYWt9Y2FzZSAxMTY6e2NbYj4+
Ml09MTU7ZD1ydChkLGIrOHwwKXwwO2lmKCFkKXtjW2Y+PjJdPTE7ZD0wO2JyZWFrIGF9aWYoZSlj
W2IrNzI+PjJdPWNbZSs0ND4+Ml07YnJlYWt9Y2FzZSAwOntkPTA7YnJlYWt9ZGVmYXVsdDp7Y1tm
Pj4yXT0xO2Q9MH19d2hpbGUoMCk7bD1qO3JldHVybiBkfDB9ZnVuY3Rpb24gbHQoYSxiKXthPWF8
MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGk9MDtpPWw7bD1sKzE2fDA7ZT1pO2hbYj4+M109
K3RNKGEsZSk7Zj1jW2U+PjJdfDA7aWYoKChmfDApIT0oYXwwKT8oaFtiKzg+PjNdPSt0TShmLGUp
LGc9Y1tlPj4yXXwwLChmfDApIT0oZ3wwKSk6MCk/KGhbYisxNj4+M109K3RNKGcsZSksZD1jW2U+
PjJdfDAsKGd8MCkhPShkfDApKTowKXtoW2IrMjQ+PjNdPSt0TShkLGUpO2E9Y1tlPj4yXXwwO2E9
KGR8MCk9PShhfDApPzA6YX1lbHNlIGE9MDtsPWk7cmV0dXJuIGF8MH1mdW5jdGlvbiBtdChhLGIp
e2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaT0wLGo9MCxrPTA7az1sO2w9bCsxNnww
O2o9ays0fDA7Zz1rO2E9c3QoYSxqKXwwO2RvIGlmKGEpe2Q9Y1tqPj4yXXwwO2k9JEkoZCwyNCl8
MDtjW2I+PjJdPWQ7ZT1pO2Y9MDt3aGlsZSgxKXtpZigoZnwwKT49KGR8MCkpe2Q9OTticmVha31o
W2U+PjNdPSt0TShhLGcpO2Q9Y1tnPj4yXXwwO2lmKChhfDApPT0oZHwwKSl7ZD01O2JyZWFrfWhb
ZSs4Pj4zXT0rdE0oZCxnKTthPWNbZz4+Ml18MDtpZigoZHwwKT09KGF8MCkpe2Q9NzticmVha31o
W2UrMTY+PjNdPTAuMDtlPWUrMjR8MDtkPWNbYj4+Ml18MDtmPWYrMXwwfWlmKChkfDApPT01KXtj
W2o+PjJdPWY7X0koaSk7YT0wO2JyZWFrfWVsc2UgaWYoKGR8MCk9PTcpe2Nbaj4+Ml09ZjtfSShp
KTthPTA7YnJlYWt9ZWxzZSBpZigoZHwwKT09OSl7Y1tqPj4yXT1mO2NbYis0Pj4yXT1pO2JyZWFr
fX1lbHNlIGE9MDt3aGlsZSgwKTtsPWs7cmV0dXJuIGF8MH1mdW5jdGlvbiBudChiLGQpe2I9Ynww
O2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MDtqPWw7bD1sKzE2fDA7aT1qO2I9c3Qo
YixpKXwwO2Y9Y1tpPj4yXXwwO2RvIGlmKCEoKGJ8MCk9PTB8KGZ8MCk8MSkpe3doaWxlKDEpe2g9
YVtiPj4wXXwwO2U9aDw8MjQ+PjI0PT0wO2lmKGVeaDw8MjQ+PjI0IT00NSliPWIrMXwwO2Vsc2Ug
YnJlYWt9aWYoIWUpe2g9JEkoZisxfDAsMSl8MDtnPWg7ZT1mO3doaWxlKDEpe2I9YisxfDA7aWYo
KGV8MCk8PTApe2U9OTticmVha31lPWFbYj4+MF18MDtpZighKGU8PDI0Pj4yNCkpe2U9ODticmVh
a31hW2c+PjBdPWU7ZT0oY1tpPj4yXXwwKSstMXwwO2NbaT4+Ml09ZTtnPWcrMXwwfWlmKChlfDAp
PT04KXtfSShoKTtiPTA7YnJlYWt9ZWxzZSBpZigoZXwwKT09OSl7YVtnPj4wXT0wO2NbZD4+Ml09
aDticmVha319ZWxzZSBiPTB9ZWxzZSBiPTA7d2hpbGUoMCk7bD1qO3JldHVybiBifDB9ZnVuY3Rp
b24gb3QoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wO2U9YVtiPj4wXXwwO3N3aXRjaChlfDApe2Nh
c2UgOTE6e2I9dHQoYisxfDAsZCl8MDticmVha31jYXNlIDQwOntiPXV0KGIrMXwwLGQpfDA7YnJl
YWt9Y2FzZSA0NzpjYXNlIDM1OntjW2Q+PjJdPTA7Y1tkKzg+PjJdPWI7YnJlYWt9ZGVmYXVsdDpp
ZighKGdLKGUpfDApKWI9MDtlbHNle2NbZD4+Ml09MDtjW2QrOD4+Ml09Yn19cmV0dXJuIGJ8MH1m
dW5jdGlvbiBwdChhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLjAsZj0wO2Y9bDtsPWwrMTZ8
MDtkPWY7ZT0rdE0oYSxkKTtkPWNbZD4+Ml18MDtpZigoZHwwKT09KGF8MCkpZD0wO2Vsc2UgaFti
Pj4zXT1lO2w9ZjtyZXR1cm4gZHwwfWZ1bmN0aW9uIHF0KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9
MCxlPTA7ZD1sO2w9bCsxNnwwO2U9ZDthPXN0KGEsZSl8MDtlPWNbZT4+Ml18MDtjW2I+PjJdPShl
fDApPDA/MDplfDA/MjoxO2w9ZDtyZXR1cm4gYXwwfWZ1bmN0aW9uIHJ0KGEsYil7YT1hfDA7Yj1i
fDA7dmFyIGQ9MCxlPTA7ZD1sO2w9bCsxNnwwO2U9ZDtjW2I+PjJdPVlKKGEsZSwxMCl8MDtiPWNb
ZT4+Ml18MDtsPWQ7cmV0dXJuICgoYnwwKT09KGF8MCk/MDpiKXwwfWZ1bmN0aW9uIHN0KGEsYil7
YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTA7ZD1sO2w9bCsxNnwwO2U9ZDtjW2I+PjJdPUJMKGEsZSwx
MCl8MDtiPWNbZT4+Ml18MDtsPWQ7cmV0dXJuICgoYnwwKT09KGF8MCk/MDpiKXwwfWZ1bmN0aW9u
IHR0KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGk9MCxqPTAsaz0wLG09MCxuPTAs
bz0wO289bDtsPWwrMTZ8MDttPW87Y1tiPj4yXT0xO249Yis4fDA7aT1wdChhLG4pfDA7ZG8gaWYo
KCgoKGl8MCkhPTA/KGo9cHQoaSxiKzE2fDApfDAsKGp8MCkhPTApOjApPyhlPXB0KGosYisyNHww
KXwwLChlfDApIT0wKTowKT8oZj1wdChlLGIrMzJ8MCl8MCwoZnwwKSE9MCk6MCk/KGs9Yis0MHww
LGQ9c3QoZixrKXwwLChkfDApIT0wKTowKXtiPWNbaz4+Ml18MDtmPSRJKGIsOCl8MDtlPTA7d2hp
bGUoMSl7aWYoKGV8MCk+PShifDApKXtkPTEzO2JyZWFrfWQ9cHQoZCxtKXwwO2lmKCFkKXtkPTk7
YnJlYWt9Z1tmKyhlPDwzKT4+Ml09K2hbbT4+M107ZD1udChkLGYrKGU8PDMpKzR8MCl8MDtpZigh
ZCl7ZD0xMjticmVha31lPWUrMXwwO2I9Y1trPj4yXXwwfWlmKChkfDApPT05KXtfSShmKTthPTA7
YnJlYWt9ZWxzZSBpZigoZHwwKT09MTIpe19JKGYpO2E9MDticmVha31lbHNlIGlmKChkfDApPT0x
Myl7Y1tuKzM2Pj4yXT1mO2JyZWFrfX1lbHNlIGE9MDt3aGlsZSgwKTtsPW87cmV0dXJuIGF8MH1m
dW5jdGlvbiB1dChhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxpPTAsaj0wLGs9MCxt
PTAsbj0wLG89MCxwPTA7cD1sO2w9bCsxNnwwO249cDtjW2I+PjJdPTI7az1wdChhLGIrOHwwKXww
O2RvIGlmKCgoKCgoKGt8MCkhPTA/KG09cHQoayxiKzE2fDApfDAsKG18MCkhPTApOjApPyhlPXB0
KG0sYisyNHwwKXwwLChlfDApIT0wKTowKT8oZj1wdChlLGIrMzJ8MCl8MCwoZnwwKSE9MCk6MCk/
KGk9cHQoZixiKzQwfDApfDAsKGl8MCkhPTApOjApPyhqPXB0KGksYis0OHwwKXwwLChqfDApIT0w
KTowKT8obz1iKzU2fDAsZD1zdChqLG8pfDAsKGR8MCkhPTApOjApe2U9Y1tvPj4yXXwwO2k9JEko
ZSw4KXwwO2Y9MDt3aGlsZSgxKXtpZigoZnwwKT49KGV8MCkpe2Q9MTU7YnJlYWt9ZD1wdChkLG4p
fDA7aWYoIWQpe2Q9MTE7YnJlYWt9Z1tpKyhmPDwzKT4+Ml09K2hbbj4+M107ZD1udChkLGkrKGY8
PDMpKzR8MCl8MDtpZighZCl7ZD0xNDticmVha31mPWYrMXwwO2U9Y1tvPj4yXXwwfWlmKChkfDAp
PT0xMSl7X0koaSk7YT0wO2JyZWFrfWVsc2UgaWYoKGR8MCk9PTE0KXtfSShpKTthPTA7YnJlYWt9
ZWxzZSBpZigoZHwwKT09MTUpe2NbYis2MD4+Ml09aTticmVha319ZWxzZSBhPTA7d2hpbGUoMCk7
bD1wO3JldHVybiBhfDB9ZnVuY3Rpb24gdnQoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3JldHVy
biBqdChhLGIsYywwKXwwfWZ1bmN0aW9uIHd0KGEpe2E9YXwwO3JldHVybiB2dChhLDAsMCl8MH1m
dW5jdGlvbiB4dChhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MCxoPTA7ZT1jW2ErMTI+
PjJdfDA7aWYoYXwwKXtmPWNbYSs4Pj4yXXwwO2c9YSs0fDA7aD0oZXwwKT09MDtiPTA7d2hpbGUo
MSl7aWYoKGJ8MCk+PShjW2E+PjJdfDApKWJyZWFrO2Q9ZisoTyhjW2c+PjJdfDAsYil8MCl8MDtp
ZighaClnYltlJjEyN10oZCk7eXQoZCk7Yj1iKzF8MH1fSShmKTtfSShhKX1yZXR1cm59ZnVuY3Rp
b24geXQoYSl7YT1hfDA7c3dpdGNoKGNbYT4+Ml18MCl7Y2FzZSAzOmNhc2UgMjp7X0koY1thKzgr
ND4+Ml18MCk7YnJlYWt9Y2FzZSA1OmNhc2UgNDp7X0koY1thKzgrND4+Ml18MCk7YnJlYWt9Y2Fz
ZSA2OntfSShjW2ErOCs0Pj4yXXwwKTticmVha31jYXNlIDc6e19JKGNbYSs0MD4+Ml18MCk7YnJl
YWt9Y2FzZSA5OmNhc2UgODp7X0koY1thKzg+PjJdfDApO2JyZWFrfWNhc2UgMTQ6Y2FzZSAxMzp7
enQoYSs4fDApO2JyZWFrfWNhc2UgMTA6e19JKGNbYSsxNj4+Ml18MCk7YnJlYWt9Y2FzZSAxMTp7
X0koY1thKzg+PjJdfDApO2JyZWFrfWNhc2UgMTI6e19JKGNbYSs0MD4+Ml18MCk7YnJlYWt9ZGVm
YXVsdDp7fX1yZXR1cm59ZnVuY3Rpb24genQoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wO3N3aXRj
aChjW2E+PjJdfDApe2Nhc2UgMTp7ZT1hKzQwfDA7Yj1hKzgrMzZ8MDthPTA7d2hpbGUoMSl7ZD1j
W2I+PjJdfDA7aWYoKGF8MCk+PShjW2U+PjJdfDApKWJyZWFrO19JKGNbZCsoYTw8MykrND4+Ml18
MCk7YT1hKzF8MH1fSShkKTticmVha31jYXNlIDI6e2U9YSs1NnwwO2Q9YSs2MHwwO2E9MDt3aGls
ZSgxKXtiPWNbZD4+Ml18MDtpZigoYXwwKT49KGNbZT4+Ml18MCkpYnJlYWs7X0koY1tiKyhhPDwz
KSs0Pj4yXXwwKTthPWErMXwwfV9JKGIpO2JyZWFrfWRlZmF1bHQ6e319cmV0dXJufWZ1bmN0aW9u
IEF0KGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAs
bT0wLG49MCxvPTA7bz1sO2w9bCsxNnwwO2s9bys0fDA7bj1vO2NbZD4+Ml09MDtjW2U+PjJdPShx
bihybyhiKXwwKXwwKSE9MCYxO2Y9Y1s0MjIyOF18MDthOmRvIGlmKGZ8MD8oaD1KbShiLGYpfDAs
aT1hW2g+PjBdfDAsaTw8MjQ+PjI0KTowKXtmPTE5NDQ0O3doaWxlKDEpe2c9Y1tmPj4yXXwwO2lm
KCFnKWJyZWFrIGE7aWYoaTw8MjQ+PjI0PT0oYVtnPj4wXXwwKT8oeEooaCxnKXwwKT09MDowKWJy
ZWFrO2Y9ZisxMnwwfWNbZD4+Ml09Y1tmKzQ+PjJdO2NbZT4+Ml09Y1tmKzg+PjJdfXdoaWxlKDAp
O2Y9Y1s0MjIzOV18MDtpZigoZnwwPyhjW2U+PjJdfDApPT0xOjApPyhqPUptKGIsZil8MCxhW2o+
PjBdfDApOjApQnQoaixlKTtmPWNbNDIyNDBdfDA7aWYoKGZ8MD8oY1tkPj4yXXwwKT09MTowKT8o
bT1KbShiLGYpfDAsYVttPj4wXXwwKTowKUJ0KG0sZCk7aWYoYVsoY1tiKzE2Pj4yXXwwKSsxNTM+
PjBdfDApe2o9YistNDh8MDtpPXJvKGNbKChjW2I+PjJdJjN8MCk9PTI/YjpqKSs0MD4+Ml18MCl8
MDttPWNbYj4+Ml0mMztBdChhbihpLGNbKChtfDApPT0yP2I6aikrNDA+PjJdfDAsY1soKG18MCk9
PTM/YjpiKzQ4fDApKzQwPj4yXXwwLDAsMCl8MCxrLG4pO2NbZT4+Ml09Y1trPj4yXXxjW2U+PjJd
O2NbZD4+Ml09Y1tuPj4yXXxjW2Q+PjJdfWw9bztyZXR1cm59ZnVuY3Rpb24gQnQoYixkKXtiPWJ8
MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wO289bDts
PWwrMTZ8MDttPW87az1vKzR8MDtqPTA7ZT0wO2E6d2hpbGUoMSl7Y1tkPj4yXT1lO2c9KGp8MCk8
NDtoPShqfDApPT0zO2k9KGp8MCk9PTA7d2hpbGUoMSl7aWYoIShnJihhW2I+PjBdfDApIT0wKSli
cmVhayBhO2Nbaz4+Ml09MDtmPUN0KGIsayl8MDtlPWNbaz4+Ml18MDtpZighZSl7bj01O2JyZWFr
IGF9Yj0oZXwwKT09ODtpZighKGgmYikpe2lmKCEoaSZiKSlicmVhaztpZihhW2Y+PjBdfDApYnJl
YWt9Y1trPj4yXT0wO2I9Zn1lPWNbZD4+Ml18ZTw8KGo8PDMpO2o9aisxfDA7Yj1mfWlmKChufDAp
PT01KXtjW20+PjJdPWI7X2woMCw4NDcxMyxtKXwwfWw9bztyZXR1cm59ZnVuY3Rpb24gQ3QoYSxi
KXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTA7Zj1sO2w9bCsxNnwwO2U9ZjtjW2U+PjJdPTA7
ZD1EdChhLDE5NTA0LGUpfDA7aWYoKGR8MCk9PShhfDApKXt3aGlsZSgxKXtkPUR0KGEsMTk1MjAs
ZSl8MDtpZigoYXwwKT09KGR8MCkpYnJlYWs7ZWxzZSBhPWR9ZD1EdChhLDE5NTY4LGUpfDB9YT1j
W2U+PjJdfDA7aWYoKGF8MCkhPTAmKGEmMTV8MCk9PTApe2E9YXwxO2NbZT4+Ml09YX1jW2I+PjJd
PWNbYj4+Ml18YTtsPWY7cmV0dXJuIGR8MH1mdW5jdGlvbiBEdChhLGIsZCl7YT1hfDA7Yj1ifDA7
ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO3doaWxlKDEpe2U9Y1tiPj4yXXwwO2lmKCFlKWJyZWFrO2Y9
ckooZSl8MDtpZighKFZKKGEsZSxmKXwwKSl7Zz00O2JyZWFrfWI9Yis4fDB9aWYoKGd8MCk9PTQp
e2NbZD4+Ml09Y1tkPj4yXXxjW2IrND4+Ml07YT1hK2Z8MH1yZXR1cm4gYXwwfWZ1bmN0aW9uIEV0
KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MC4wLGU9MCxmPTAsZz0wLGk9MDtnPTA7ZD0wLjA7d2hp
bGUoMSl7aWYoKGd8MCk9PTQpYnJlYWs7Zj1iPj4oZzw8MykmMTU7ZT0xMzM2O3doaWxlKDEpe2lm
KCEoY1tlKzE2Pj4yXXwwKSlicmVhaztpZigoZnwwKT09KGNbZT4+Ml18MCkpe2k9NjticmVha31l
PWUrMjR8MH1pZigoaXwwKT09Nil7aT0wO2Q9K2hbZSs4Pj4zXStkfWc9ZysxfDB9cmV0dXJuICso
ZCoxMC4wKitFQShhLGNbNDIyMzJdfDAsMS4wLDAuMCkpfWZ1bmN0aW9uIEZ0KGEsYixkLGUsZixn
KXthPWF8MDtiPWJ8MDtkPWR8MDtlPStlO2Y9K2Y7Zz1nfDA7dmFyIGk9MC4wLGo9MC4wLGs9MC4w
LG09MCxuPTAuMCxvPTAscD0wO3A9bDtsPWwrOTZ8MDttPXArODB8MDtvPXA7az1mPjQuMD9mKi4w
ODc1Oi4zNTtpPStoW2QrOD4+M107bj1pKms7aj0raFtkPj4zXTtrPWoqaztlPStoW2I+PjNdO2o9
ZStqO2hbbT4+M109ajtmPStoW2IrOD4+M107aT1pK2Y7aFttKzg+PjNdPWk7ZD1vKzY0fDA7aWYo
IShnJjMyKSl7Y1tkPj4yXT1jW20+PjJdO2NbZCs0Pj4yXT1jW20rND4+Ml07Y1tkKzg+PjJdPWNb
bSs4Pj4yXTtjW2QrMTI+PjJdPWNbbSsxMj4+Ml07Y1tvPj4yXT1jW20+PjJdO2Nbbys0Pj4yXT1j
W20rND4+Ml07Y1tvKzg+PjJdPWNbbSs4Pj4yXTtjW28rMTI+PjJdPWNbbSsxMj4+Ml07bT1vKzMy
fDA7Y1ttPj4yXT1jW2I+PjJdO2NbbSs0Pj4yXT1jW2IrND4+Ml07Y1ttKzg+PjJdPWNbYis4Pj4y
XTtjW20rMTI+PjJdPWNbYisxMj4+Ml07Zj1pO2U9an1lbHNle2NbZD4+Ml09Y1tiPj4yXTtjW2Qr
ND4+Ml09Y1tiKzQ+PjJdO2NbZCs4Pj4yXT1jW2IrOD4+Ml07Y1tkKzEyPj4yXT1jW2IrMTI+PjJd
O2Nbbz4+Ml09Y1tiPj4yXTtjW28rND4+Ml09Y1tiKzQ+PjJdO2Nbbys4Pj4yXT1jW2IrOD4+Ml07
Y1tvKzEyPj4yXT1jW2IrMTI+PjJdO2I9byszMnwwO2NbYj4+Ml09Y1ttPj4yXTtjW2IrND4+Ml09
Y1ttKzQ+PjJdO2NbYis4Pj4yXT1jW20rOD4+Ml07Y1tiKzEyPj4yXT1jW20rMTI+PjJdfWhbbysx
Nj4+M109ZStuO2hbbysyND4+M109Zi1rO2hbbys0OD4+M109ZS1uO2hbbys1Nj4+M109ZitrO2Rv
IGlmKCEoZyY2NCkpaWYoIShnJjEyOCkpe0hEKGEsbysxNnwwLDMsZz4+PjQmMV4xKTticmVha31l
bHNle0hEKGEsbyszMnwwLDMsZz4+PjQmMV4xKTticmVha31lbHNlIEhEKGEsbywzLGc+Pj40JjFe
MSk7d2hpbGUoMCk7bD1wO3JldHVybn1mdW5jdGlvbiBHdChhLGIsZCxlLGYsZyl7YT1hfDA7Yj1i
fDA7ZD1kfDA7ZT0rZTtmPStmO2c9Z3wwO3ZhciBpPTAuMCxqPTAuMCxrPTAuMCxtPTAuMCxuPTAs
bz0wLjAscD0wLjAscT0wLjAscj0wLjAscz0wLjAsdD0wLjAsdT0wLjAsdj0wLjAsdz0wLHg9MCx5
PTA7eD1sO2w9bCsxNjB8MDtuPXgrMTQ0fDA7dz14O3E9ZSo0LjA7eT0oZyYzMnwwKT09MDtxPSEo
cTxmKXx5Py40NTpmL3EqLjQ1O3M9IShmPjEuMCl8eT8wLjA6KGYrLTEuMCkqLjA1L2U7dT0raFtk
Kzg+PjNdO3I9LXU7dj1xKnI7dD0raFtkPj4zXTtxPXQqcTtyPXMqcjtzPXQqcztwPStoW2I+PjNd
O2U9cCt0O2hbbj4+M109ZTtvPStoW2IrOD4+M107Zj11K287aFtuKzg+PjNdPWY7dD10Ki41K3A7
dT11Ki41K287ZD13KzEyOHwwO2lmKHkpe2NbZD4+Ml09Y1tuPj4yXTtjW2QrND4+Ml09Y1tuKzQ+
PjJdO2NbZCs4Pj4yXT1jW24rOD4+Ml07Y1tkKzEyPj4yXT1jW24rMTI+PjJdO2Nbdz4+Ml09Y1tu
Pj4yXTtjW3crND4+Ml09Y1tuKzQ+PjJdO2Nbdys4Pj4yXT1jW24rOD4+Ml07Y1t3KzEyPj4yXT1j
W24rMTI+PjJdO3k9dys2NHwwO2NbeT4+Ml09Y1tiPj4yXTtjW3krND4+Ml09Y1tiKzQ+PjJdO2Nb
eSs4Pj4yXT1jW2IrOD4+Ml07Y1t5KzEyPj4yXT1jW2IrMTI+PjJdO2k9bztqPXA7az1vO209cDtm
PW87ZT1wfWVsc2V7Y1tkPj4yXT1jW2I+PjJdO2NbZCs0Pj4yXT1jW2IrND4+Ml07Y1tkKzg+PjJd
PWNbYis4Pj4yXTtjW2QrMTI+PjJdPWNbYisxMj4+Ml07Y1t3Pj4yXT1jW2I+PjJdO2Nbdys0Pj4y
XT1jW2IrND4+Ml07Y1t3Kzg+PjJdPWNbYis4Pj4yXTtjW3crMTI+PjJdPWNbYisxMj4+Ml07eT13
KzY0fDA7Y1t5Pj4yXT1jW24+PjJdO2NbeSs0Pj4yXT1jW24rND4+Ml07Y1t5Kzg+PjJdPWNbbis4
Pj4yXTtjW3krMTI+PjJdPWNbbisxMj4+Ml07aT1mK3M7aj1lK3I7az1mLXM7bT1lLXJ9aFt3KzE2
Pj4zXT1lLXY7aFt3KzI0Pj4zXT1mLXE7aFt3KzMyPj4zXT10LXI7aFt3KzQwPj4zXT11LXM7aFt3
KzQ4Pj4zXT1tO2hbdys1Nj4+M109aztoW3crODA+PjNdPWo7aFt3Kzg4Pj4zXT1pO2hbdys5Nj4+
M109dCtyO2hbdysxMDQ+PjNdPXUrcztoW3crMTEyPj4zXT1lK3Y7aFt3KzEyMD4+M109ZitxO2Rv
IGlmKCEoZyY2NCkpaWYoIShnJjEyOCkpe0hEKGEsdyw5LDEpO2JyZWFrfWVsc2V7SEQoYSx3KzQ4
fDAsNiwxKTticmVha31lbHNlIEhEKGEsdyw2LDEpO3doaWxlKDApO2w9eDtyZXR1cm59ZnVuY3Rp
b24gSHQoYSxiLGQsZSxmLGcpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9K2U7Zj0rZjtnPWd8MDt2YXIg
aT0wLjAsaj0wLjAsaz0wLjAsbT0wLjAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAuMCx0PTAuMDtx
PWw7bD1sKzY0fDA7cD1xO3Q9K2hbZCs4Pj4zXTtzPStoW2Q+PjNdO2s9K2hbYj4+M107ZT1rK3M7
bT0raFtiKzg+PjNdO2Y9bSt0O2k9aytzKi4yO2o9bSt0Ki4yO2s9aytzKi42O209bSt0Ki42O2hb
cD4+M109aS10O2hbcCs4Pj4zXT1qK3M7bj1wKzE2fDA7aFtuPj4zXT1pK3Q7bz1wKzI0fDA7aFtv
Pj4zXT1qLXM7aFtwKzMyPj4zXT1rK3Q7aFtwKzQwPj4zXT1tLXM7aFtwKzQ4Pj4zXT1rLXQ7aFtw
KzU2Pj4zXT1tK3M7aWYoIShnJjY0KSl7aWYoZyYxMjh8MCl7ZD0yO2c9MTtyPTN9fWVsc2V7ZD0z
O2c9MDtyPTN9aWYoKHJ8MCk9PTMpe2hbcCsoZzw8NCk+PjNdPWk7aFtwKyhnPDw0KSs4Pj4zXT1q
O2hbcCsoZDw8NCk+PjNdPWs7aFtwKyhkPDw0KSs4Pj4zXT1tfUhEKGEscCw0LDEpO2NbcD4+Ml09
Y1tiPj4yXTtjW3ArND4+Ml09Y1tiKzQ+PjJdO2NbcCs4Pj4yXT1jW2IrOD4+Ml07Y1twKzEyPj4y
XT1jW2IrMTI+PjJdO2hbbj4+M109ZTtoW28+PjNdPWY7S0QoYSxwLDIpO2w9cTtyZXR1cm59ZnVu
Y3Rpb24gSXQoYSxiLGQsZSxmLGcpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9K2U7Zj0rZjtnPWd8MDt2
YXIgaT0wLjAsaj0wLjAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAuMCxyPTAuMCxzPTAuMCx0PTAu
MDtvPWw7bD1sKzY0fDA7bj1vO2o9K2hbZCs4Pj4zXTtyPWoqLS40O2k9K2hbZD4+M107cT1pKi40
O3Q9K2hbYj4+M107ZT10K2kqLjg7cz0raFtiKzg+PjNdO2Y9cytqKi44O2k9dCtpO2o9cytqO2hb
bj4+M109dCtyO2s9bis4fDA7aFtrPj4zXT1zK3E7ZD1uKzE2fDA7aFtkPj4zXT10LXI7bT1uKzI0
fDA7aFttPj4zXT1zLXE7aFtuKzMyPj4zXT1lLXI7aFtuKzQwPj4zXT1mLXE7aFtuKzQ4Pj4zXT1l
K3I7aFtuKzU2Pj4zXT1mK3E7aWYoIShnJjY0KSl7aWYoZyYxMjh8MCl7Y1tkPj4yXT1jW2I+PjJd
O2NbZCs0Pj4yXT1jW2IrND4+Ml07Y1tkKzg+PjJdPWNbYis4Pj4yXTtjW2QrMTI+PjJdPWNbYisx
Mj4+Ml07ZD0yO3A9NX19ZWxzZXtjW24+PjJdPWNbYj4+Ml07Y1tuKzQ+PjJdPWNbYis0Pj4yXTtj
W24rOD4+Ml09Y1tiKzg+PjJdO2NbbisxMj4+Ml09Y1tiKzEyPj4yXTtkPTM7cD01fWlmKChwfDAp
PT01KXtoW24rKGQ8PDQpPj4zXT1lO2hbbisoZDw8NCkrOD4+M109Zn1IRChhLG4sNCxnPj4+NCYx
XjEpO2hbbj4+M109ZTtoW2s+PjNdPWY7aFtuKzE2Pj4zXT1pO2hbbT4+M109ajtLRChhLG4sMik7
bD1vO3JldHVybn1mdW5jdGlvbiBKdChhLGIsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT0r
ZTtmPStmO2c9Z3wwO3ZhciBpPTAsaj0wLGs9MC4wLG09MC4wLG49MC4wLG89MC4wLHA9MC4wLHE9
MC4wO2o9bDtsPWwrODB8MDtpPWo7bj0raFtkKzg+PjNdO2s9biotLjMzMzMzMzMzMzMzMzMzMzM7
cD0raFtkPj4zXTtmPXAqLjMzMzMzMzMzMzMzMzMzMzM7cT0raFtiPj4zXTttPXErcCouNTtvPSto
W2IrOD4+M107ZT1vK24qLjU7ZD1pKzY0fDA7aFtpKzY0Pj4zXT1xK3A7aFtpKzcyPj4zXT1vK247
Y1tpPj4yXT1jW2Q+PjJdO2NbaSs0Pj4yXT1jW2QrND4+Ml07Y1tpKzg+PjJdPWNbZCs4Pj4yXTtj
W2krMTI+PjJdPWNbZCsxMj4+Ml07aFtpKzE2Pj4zXT1tK2s7aFtpKzI0Pj4zXT1lK2Y7ZD1pKzMy
fDA7Y1tkPj4yXT1jW2I+PjJdO2NbZCs0Pj4yXT1jW2IrND4+Ml07Y1tkKzg+PjJdPWNbYis4Pj4y
XTtjW2QrMTI+PjJdPWNbYisxMj4+Ml07aFtpKzQ4Pj4zXT1tLWs7aFtpKzU2Pj4zXT1lLWY7ZG8g
aWYoIShnJjY0KSl7ZD1nPj4+NCYxXjE7aWYoIShnJjEyOCkpe0hEKGEsaSw0LGQpO2JyZWFrfWVs
c2V7SEQoYSxpLDMsZCk7YnJlYWt9fWVsc2UgSEQoYSxkLDMsZz4+PjQmMV4xKTt3aGlsZSgwKTts
PWo7cmV0dXJufWZ1bmN0aW9uIEt0KGEsYixjLGQsZSxmKXthPWF8MDtiPWJ8MDtjPWN8MDtkPStk
O2U9K2U7Zj1mfDA7dmFyIGc9MCxpPTAsaj0wLjAsaz0wLjAsbT0wLjA7Zz1sO2w9bCszMnwwO2k9
ZztrPStoW2M+PjNdO2U9K2hbYys4Pj4zXTtkPStDKCsoZSplK2sqaykpKi41O209K2hbYj4+M107
az1rKi41O2hbaT4+M109bStrLWQ7aj0raFtiKzg+PjNdO2U9ZSouNTtoW2krOD4+M109ai1kK2U7
aFtpKzE2Pj4zXT1tK2QraztoW2krMjQ+PjNdPWorZCtlO0dEKGEsaSwyLGY+Pj40JjFeMSk7bD1n
O3JldHVybn1mdW5jdGlvbiBMdChhLGIsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT0rZTtm
PStmO2c9Z3wwO3ZhciBpPTAuMCxqPTAuMCxrPTAuMCxtPTAuMCxuPTAuMCxvPTAuMCxwPTAuMCxx
PTAscj0wLHM9MCx0PTA7dD1sO2w9bCsxMTJ8MDtxPXQrNDh8MDtyPXQrMTZ8MDtzPXQ7bj1mPjQu
MD9mKi4xMjU6LjU7cD0raFtiPj4zXTtvPStoW2Q+PjNdO2k9K2hbYis4Pj4zXTttPStoW2QrOD4+
M107ZT1tKm47Zj1vKm47Y1tyPj4yXT1jW2I+PjJdO2Nbcis0Pj4yXT1jW2IrND4+Ml07Y1tyKzg+
PjJdPWNbYis4Pj4yXTtjW3IrMTI+PjJdPWNbYisxMj4+Ml07aFtyKzE2Pj4zXT1vK3A7aFtyKzI0
Pj4zXT1tK2k7aFtxPj4zXT1uKihvLW0pK3A7aj1uKihtK28pO2s9aitpO2hbcSs4Pj4zXT1rO2hb
cSs0OD4+M109aitwO2k9bioobS1vKStpO2hbcSs1Nj4+M109aTtvPWUqLS45NTttPW8rZitwO249
ZioxLjMzMzMzMzMzMzMzMzMzMzM7aWYoIShnJjMyKSl7ZT1lKjEuMzMzMzMzMzMzMzMzMzMzMztq
PWYqLS4zMzMzMzMzMzMzMzMzMzMyNjtpPWktZTtmPWstZTtlPW0tbn1lbHNle2U9ZSoxLjMzMzMz
MzMzMzMzMzMzMzM7aj1mKjIuMzMzMzMzMzMzMzMzMzMzO2k9aStlO2Y9aytlO2U9bStufWhbcSsx
Nj4+M109ZTtoW3ErMjQ+PjNdPWY7aFtxKzMyPj4zXT1qLW8rcDtoW3ErNDA+PjNdPWk7S0QoYSxy
LDIpO2lmKCEoZyY2NCkpe2lmKGcmMTI4fDApUEEocyxxLDMsLjUscSwwKX1lbHNlIFBBKHMscSwz
LC41LDAscSk7SkQoYSxxLDQsMCwwLDApO2w9dDtyZXR1cm59ZnVuY3Rpb24gTXQoYSxiLGQsZSxm
LGcpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9K2U7Zj0rZjtnPWd8MDt2YXIgaT0wO2c9bDtsPWwrMzJ8
MDtpPWc7ZT0raFtkPj4zXSsgK2hbYj4+M107Zj0raFtkKzg+PjNdKyAraFtiKzg+PjNdO2NbaT4+
Ml09Y1tiPj4yXTtjW2krND4+Ml09Y1tiKzQ+PjJdO2NbaSs4Pj4yXT1jW2IrOD4+Ml07Y1tpKzEy
Pj4yXT1jW2IrMTI+PjJdO2hbaSsxNj4+M109ZTtoW2krMjQ+PjNdPWY7S0QoYSxpLDIpO2w9Zzty
ZXR1cm59ZnVuY3Rpb24gTnQoYSxiLGQsZSxmLGcpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9
ZnwwO2c9Z3wwO3ZhciBpPTAuMCxqPTAsaz0wLG09MCxuPTAsbz0wLjAscD0wLjAscT0wLHI9MCxz
PTA7bj1sO2w9bCs4MHwwO2o9bis3MnwwO2s9bis4fDA7bT1uO2k9K0V0KGEsZyk7aT1pKmk7aFtt
Pj4zXT1pO2NbZisxMj4+Ml09ZztnPWYrMzJ8MDthPWUrM3wwO2Y9YisoYTw8NCl8MDtjW2c+PjJd
PWNbZj4+Ml07Y1tnKzQ+PjJdPWNbZis0Pj4yXTtjW2crOD4+Ml09Y1tmKzg+PjJdO2NbZysxMj4+
Ml09Y1tmKzEyPj4yXTtpZigoZXwwKT4oZHwwKT8obz0raFtiKyhlPDw0KT4+M10tK2hbZj4+M10s
cD0raFtiKyhlPDw0KSs4Pj4zXS0raFtiKyhhPDw0KSs4Pj4zXSxwKnArbypvPGkpOjApZT1lKy0z
fDA7cz1rKzQ4fDA7cj1iKyhlPDw0KXwwO2Nbcz4+Ml09Y1tyPj4yXTtjW3MrND4+Ml09Y1tyKzQ+
PjJdO2Nbcys4Pj4yXT1jW3IrOD4+Ml07Y1tzKzEyPj4yXT1jW3IrMTI+PjJdO3E9ayszMnwwO2E9
YisoZSsxPDw0KXwwO2NbcT4+Ml09Y1thPj4yXTtjW3ErND4+Ml09Y1thKzQ+PjJdO2NbcSs4Pj4y
XT1jW2ErOD4+Ml07Y1txKzEyPj4yXT1jW2ErMTI+PjJdO2Y9aysxNnwwO2Q9YisoZSsyPDw0KXww
O2NbZj4+Ml09Y1tkPj4yXTtjW2YrND4+Ml09Y1tkKzQ+PjJdO2NbZis4Pj4yXT1jW2QrOD4+Ml07
Y1tmKzEyPj4yXT1jW2QrMTI+PjJdO2Nbaz4+Ml09Y1tnPj4yXTtjW2srND4+Ml09Y1tnKzQ+PjJd
O2Nbays4Pj4yXT1jW2crOD4+Ml07Y1trKzEyPj4yXT1jW2crMTI+PjJdO2Nbaj4+Ml09aztjW2or
ND4+Ml09bTtGeihqLDI2LGssMSk7Y1tyPj4yXT1jW3M+PjJdO2Nbcis0Pj4yXT1jW3MrND4+Ml07
Y1tyKzg+PjJdPWNbcys4Pj4yXTtjW3IrMTI+PjJdPWNbcysxMj4+Ml07Y1thPj4yXT1jW3E+PjJd
O2NbYSs0Pj4yXT1jW3ErND4+Ml07Y1thKzg+PjJdPWNbcSs4Pj4yXTtjW2ErMTI+PjJdPWNbcSsx
Mj4+Ml07Y1tkPj4yXT1jW2Y+PjJdO2NbZCs0Pj4yXT1jW2YrND4+Ml07Y1tkKzg+PjJdPWNbZis4
Pj4yXTtjW2QrMTI+PjJdPWNbZisxMj4+Ml07bT1iKyhlKzM8PDQpfDA7Y1ttPj4yXT1jW2s+PjJd
O2NbbSs0Pj4yXT1jW2srND4+Ml07Y1ttKzg+PjJdPWNbays4Pj4yXTtjW20rMTI+PjJdPWNbaysx
Mj4+Ml07bD1uO3JldHVybiBlfDB9ZnVuY3Rpb24gT3QoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0w
LjAsZT0wLjAsZj0wO2Y9Y1thPj4yXXwwO2Q9K2hbYj4+M10tK2hbZj4+M107ZT0raFtiKzg+PjNd
LStoW2YrOD4+M107cmV0dXJuIGUqZStkKmQ8PStoW2NbYSs0Pj4yXT4+M118MH1mdW5jdGlvbiBQ
dChhLGIsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7dmFyIGk9
MCxqPTAuMCxrPTAsbT0wLG49MCxvPTAscD0wLjAscT0wLjAscj0wLHM9MDtvPWw7bD1sKzgwfDA7
az1vKzcyfDA7bT1vKzh8MDtuPW87aj0rRXQoYSxnKTtqPWoqajtoW24+PjNdPWo7Y1tmKzg+PjJd
PWc7Zj1mKzE2fDA7YT1iKyhkPDw0KXwwO2NbZj4+Ml09Y1thPj4yXTtjW2YrND4+Ml09Y1thKzQ+
PjJdO2NbZis4Pj4yXT1jW2ErOD4+Ml07Y1tmKzEyPj4yXT1jW2ErMTI+PjJdO2lmKCEoKGV8MCk+
KGR8MCk/KGk9ZCszfDAscD0raFthPj4zXS0raFtiKyhpPDw0KT4+M10scT0raFtiKyhkPDw0KSs4
Pj4zXS0raFtiKyhpPDw0KSs4Pj4zXSxxKnErcCpwPGopOjApKWk9ZDtlPWIrKGkrMzw8NCl8MDtj
W20+PjJdPWNbZT4+Ml07Y1ttKzQ+PjJdPWNbZSs0Pj4yXTtjW20rOD4+Ml09Y1tlKzg+PjJdO2Nb
bSsxMj4+Ml09Y1tlKzEyPj4yXTtnPW0rMTZ8MDtkPWIrKGkrMjw8NCl8MDtjW2c+PjJdPWNbZD4+
Ml07Y1tnKzQ+PjJdPWNbZCs0Pj4yXTtjW2crOD4+Ml09Y1tkKzg+PjJdO2NbZysxMj4+Ml09Y1tk
KzEyPj4yXTtyPW0rMzJ8MDthPWIrKGkrMTw8NCl8MDtjW3I+PjJdPWNbYT4+Ml07Y1tyKzQ+PjJd
PWNbYSs0Pj4yXTtjW3IrOD4+Ml09Y1thKzg+PjJdO2NbcisxMj4+Ml09Y1thKzEyPj4yXTtzPW0r
NDh8MDtjW3M+PjJdPWNbZj4+Ml07Y1tzKzQ+PjJdPWNbZis0Pj4yXTtjW3MrOD4+Ml09Y1tmKzg+
PjJdO2NbcysxMj4+Ml09Y1tmKzEyPj4yXTtjW2s+PjJdPXM7Y1trKzQ+PjJdPW47RnooaywyNixt
LDApO249YisoaTw8NCl8MDtjW24+PjJdPWNbcz4+Ml07Y1tuKzQ+PjJdPWNbcys0Pj4yXTtjW24r
OD4+Ml09Y1tzKzg+PjJdO2NbbisxMj4+Ml09Y1tzKzEyPj4yXTtjW2E+PjJdPWNbcj4+Ml07Y1th
KzQ+PjJdPWNbcis0Pj4yXTtjW2ErOD4+Ml09Y1tyKzg+PjJdO2NbYSsxMj4+Ml09Y1tyKzEyPj4y
XTtjW2Q+PjJdPWNbZz4+Ml07Y1tkKzQ+PjJdPWNbZys0Pj4yXTtjW2QrOD4+Ml09Y1tnKzg+PjJd
O2NbZCsxMj4+Ml09Y1tnKzEyPj4yXTtjW2U+PjJdPWNbbT4+Ml07Y1tlKzQ+PjJdPWNbbSs0Pj4y
XTtjW2UrOD4+Ml09Y1ttKzg+PjJdO2NbZSsxMj4+Ml09Y1ttKzEyPj4yXTtsPW87cmV0dXJuIGl8
MH1mdW5jdGlvbiBRdChhLGIsZCxlLGYsZyxpKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8
MDtnPWd8MDtpPWl8MDt2YXIgaj0wLjAsaz0wLjAsbD0wLG09MC4wLG49MC4wLG89MC4wLHA9MC4w
LHE9MC4wLHI9MCxzPTAuMCx0PTAuMCx1PTAsdj0wLHc9MDt1PShnfDApIT0wO2w9KGl8MCkhPTA7
aWYoISgoZXwwKT09KGR8MCkmKHUmbCkpKXtpZihsKXtqPStFdChhLGkpO2s9K2hbYisoZTw8NCk+
PjNdO3A9K2hbYisoZTw8NCkrOD4+M107bD1lKzN8MDtyPWIrKGw8PDQpfDA7bj0raFtyPj4zXTts
PWIrKGw8PDQpKzh8MDtvPStoW2w+PjNdO3Q9ay1uO3M9cC1vO3Q9K0MoKyhzKnMrdCp0KSkqLjk7
aj1qPj10P3Q6ajtpZihwPT1vKXttPShrPG4/LWo6aikrbjtqPXB9ZWxzZXttPWs7aj0ocDxvPy1q
OmopK299dz1lKzF8MDtoW2IrKHc8PDQpPj4zXT1rO2hbYisodzw8NCkrOD4+M109cDtlPWIrKGUr
Mjw8NCl8MDtoW3I+PjNdPW07aFtsPj4zXT1qO2NbZT4+Ml09Y1tyPj4yXTtjW2UrND4+Ml09Y1ty
KzQ+PjJdO2NbZSs4Pj4yXT1jW3IrOD4+Ml07Y1tlKzEyPj4yXT1jW3IrMTI+PjJdO2NbZisxMj4+
Ml09aTtoW2YrMzI+PjNdPW47aFtmKzQwPj4zXT1vfWlmKHUpe209K0V0KGEsZyk7bD1iKyhkPDw0
KXwwO2s9K2hbbD4+M107aj0raFtiKyhkPDw0KSs4Pj4zXTt3PWQrM3wwO289K2hbYisodzw8NCk+
PjNdO3A9K2hbYisodzw8NCkrOD4+M107dD1rLW87cz1qLXA7dD0rQygrKHMqcyt0KnQpKSouOTtt
PW0+PXQ/dDptO2lmKGo9PXApe249KGs8bz9tOi1tKStrO209an1lbHNle249azttPShqPHA/bTot
bSkran13PWQrMXwwO3Y9Yisodzw8NCl8MDtoW3Y+PjNdPW47aFtiKyh3PDw0KSs4Pj4zXT1tO2Nb
bD4+Ml09Y1t2Pj4yXTtjW2wrND4+Ml09Y1t2KzQ+PjJdO2NbbCs4Pj4yXT1jW3YrOD4+Ml07Y1ts
KzEyPj4yXT1jW3YrMTI+PjJdO3Y9ZCsyfDA7aFtiKyh2PDw0KT4+M109bztoW2IrKHY8PDQpKzg+
PjNdPXA7dj0xNn19ZWxzZXtyPWIrKGU8PDQpfDA7cz0raFtyPj4zXTt0PStoW2IrKGU8PDQpKzg+
PjNdO2w9ZSszfDA7dT1iKyhsPDw0KXwwO2s9K2hbdT4+M107bD1iKyhsPDw0KSs4fDA7aj0raFts
Pj4zXTttPStFdChhLGcpO3E9K0V0KGEsaSk7bj1zLWs7cD10LWo7bj0rQygrKHAqcCtuKm4pKTt3
PSEocSttPj1uKTtuPW4qLjMzMzMzMzMzMzMzMzMzMzM7bT13P206bjtuPXc/cTpuO2lmKHQ9PWop
e3c9czxrO3A9KHc/LW46bikraztxPSh3P206LW0pK3M7bz10O209dH1lbHNle3c9dDxqO3A9cztx
PXM7bz0odz9tOi1tKSt0O209KHc/LW46bikran13PWUrMXwwO3Y9Yisodzw8NCl8MDtoW3Y+PjNd
PXE7aFtiKyh3PDw0KSs4Pj4zXT1vO2Nbcj4+Ml09Y1t2Pj4yXTtjW3IrND4+Ml09Y1t2KzQ+PjJd
O2Nbcis4Pj4yXT1jW3YrOD4+Ml07Y1tyKzEyPj4yXT1jW3YrMTI+PjJdO3Y9YisoZSsyPDw0KXww
O2hbdT4+M109cDtoW2w+PjNdPW07Y1t2Pj4yXT1jW3U+PjJdO2Nbdis0Pj4yXT1jW3UrND4+Ml07
Y1t2Kzg+PjJdPWNbdSs4Pj4yXTtjW3YrMTI+PjJdPWNbdSsxMj4+Ml07Y1tmKzEyPj4yXT1pO2hb
ZiszMj4+M109cztoW2YrNDA+PjNdPXQ7dj0xNn1pZigodnwwKT09MTYpe2NbZis4Pj4yXT1nO2hb
ZisxNj4+M109aztoW2YrMjQ+PjNdPWp9cmV0dXJufWZ1bmN0aW9uIFJ0KGEsYixjLGQsZSl7YT1h
fDA7Yj1ifDA7Yz1jfDA7ZD0rZDtlPWV8MDt2YXIgZj0wLjAsZz0wLjAsaT0wLjAsaj0wLjAsaz0w
LjAsbD0wLjAsbT0wLjAsbj0wLjAsbz0wLjA7bj0raFtiPj4zXTtrPStoW2M+PjNdLW47bz0raFti
Kzg+PjNdO2w9K2hbYys4Pj4zXS1vO2o9ZCoxMC4wLygrQygrKGsqaytsKmwpKSsuMDAwMSk7az1q
Kigoaz49MC4wPy4wMDAxOi0uMDAwMSkrayk7aj0oKGw+PTAuMD8uMDAwMTotLjAwMDEpK2wpKmo7
bD1rKi41O209aiouNTtpPW4tbTtmPW8tbDtuPW0rbjtsPW8rbDtvPWkrazttPWYrajtrPW4raztq
PWwrajtnPW8+az9vOms7Zz1uPmc/bjpnO2Q9bT5qP206ajtkPWw+ZD9sOmQ7az1vPGs/bzprO2s9
bjxrP246aztqPW08aj9tOmo7aj1sPGo/bDpqO2hbYT4+M109aTxrP2k6aztoW2ErOD4+M109Zjxq
P2Y6ajtoW2ErMTY+PjNdPWk+Zz9pOmc7aFthKzI0Pj4zXT1mPmQ/ZjpkO3JldHVybn1mdW5jdGlv
biBTdChhLGIsZCxlLGYsZyxpKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPStmO2c9K2c7aT1p
fDA7dmFyIGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAuMCxzPTAuMCx0PTAuMDtxPWw7
bD1sKzQ4fDA7bT1xKzMyfDA7az1xKzE2fDA7cD1xO249KGNbYSsxNj4+Ml18MCkrMTJ8MDtvPWNb
bj4+Ml18MDtjW24+PjJdPWI7RkQoYSxjWyhjW2E+PjJdfDApKzMzNj4+Ml18MCk7T0QoYSxnKTt0
PStoW2U+PjNdLStoW2Q+PjNdO2I9ZSs4fDA7cz0raFtiPj4zXS0raFtkKzg+PjNdO3I9MTAuMC8o
K0MoKyh0KnQrcypzKSkrLjAwMDEpO2hbZT4+M109ciooKHQ+PTAuMD8uMDAwMTotLjAwMDEpK3Qp
O2hbYj4+M109KChzPj0wLjA/LjAwMDE6LS4wMDAxKStzKSpyO2I9MDt3aGlsZSgxKXtpZigoYnww
KT49NClicmVhaztqPWk+PihiPDwzKSYyNTU7aWYoIWopYnJlYWs7Y1trPj4yXT1jW2Q+PjJdO2Nb
ays0Pj4yXT1jW2QrND4+Ml07Y1trKzg+PjJdPWNbZCs4Pj4yXTtjW2srMTI+PjJdPWNbZCsxMj4+
Ml07Y1ttPj4yXT1jW2U+PjJdO2NbbSs0Pj4yXT1jW2UrND4+Ml07Y1ttKzg+PjJdPWNbZSs4Pj4y
XTtjW20rMTI+PjJdPWNbZSsxMj4+Ml07VHQocCxhLGssbSxmLGcsaik7Y1tkPj4yXT1jW3A+PjJd
O2NbZCs0Pj4yXT1jW3ArND4+Ml07Y1tkKzg+PjJdPWNbcCs4Pj4yXTtjW2QrMTI+PjJdPWNbcCsx
Mj4+Ml07Yj1iKzF8MH1jW24+PjJdPW87bD1xO3JldHVybn1mdW5jdGlvbiBUdChhLGIsZCxlLGYs
ZyxpKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPStmO2c9K2c7aT1pfDA7dmFyIGo9MCxrPTAs
bT0wLG49MCxvPTAscD0wLHE9MCxyPTAuMDtxPWw7bD1sKzMyfDA7bT1xKzE2fDA7az1xO249aSYx
NTtqPTEzMzY7d2hpbGUoMSl7bz1jW2o+PjJdfDA7aWYoIW8pYnJlYWs7aWYoKG58MCk9PShvfDAp
KXtwPTQ7YnJlYWt9aj1qKzI0fDB9aWYoKHB8MCk9PTQpe3I9K2hbais4Pj4zXSpmO2hbZT4+M109
cioraFtlPj4zXTtvPWUrOHwwO2hbbz4+M109cioraFtvPj4zXTtwPWNbaisxNj4+Ml18MDtjW2s+
PjJdPWNbZD4+Ml07Y1trKzQ+PjJdPWNbZCs0Pj4yXTtjW2srOD4+Ml09Y1tkKzg+PjJdO2Nbaysx
Mj4+Ml09Y1tkKzEyPj4yXTtjW20+PjJdPWNbZT4+Ml07Y1ttKzQ+PjJdPWNbZSs0Pj4yXTtjW20r
OD4+Ml09Y1tlKzg+PjJdO2NbbSsxMj4+Ml09Y1tlKzEyPj4yXTtqYltwJjE1XShiLGssbSxmLGcs
aSk7aFtkPj4zXT0raFtlPj4zXSsgK2hbZD4+M107cD1kKzh8MDtoW3A+PjNdPStoW28+PjNdKyAr
aFtwPj4zXX07Y1thPj4yXT1jW2Q+PjJdO2NbYSs0Pj4yXT1jW2QrND4+Ml07Y1thKzg+PjJdPWNb
ZCs4Pj4yXTtjW2ErMTI+PjJdPWNbZCsxMj4+Ml07bD1xO3JldHVybn1mdW5jdGlvbiBVdChiKXti
PWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTA7aT1sO2w9bCsxNnwwO2c9aSs4fDA7Zj1p
O2Q9SW0oYiw4NDgxNSl8MDtpZigoZHwwKSE9MD8oYVtkPj4wXXwwKSE9MDowKXtlPWQ7aD01fWVs
c2V7ZD1JbShiLDg0ODI3KXwwO2lmKChkfDApIT0wPyhhW2Q+PjBdfDApIT0wOjApe2U9ZDtoPTV9
ZWxzZSBkPTB9aWYoKGh8MCk9PTUpe2Q9dnQoZSwwLDEyMCl8MDtpZighZCl7Y1tmPj4yXT1Ebihi
KXwwO19sKDAsODQ4MzQsZil8MDtjW2c+PjJdPWU7X2woMyw4NDg4NyxnKXwwfX1sPWk7cmV0dXJu
IGR8MH1mdW5jdGlvbiBWdChhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MDtnPWw7bD1s
KzE2fDA7Zj12dygzMDQpfDA7aWYoIWYpX2woMSw4NDg5NSxnKXwwO2U9YSsxNnwwO2E9Y1tlPj4y
XXwwO2NbZj4+Ml09YTtjW2U+PjJdPWY7aWYoIWEpe2NbZisxNDQ+PjJdPTM7Y1tmKzE0OD4+Ml09
MDtoW2YrMTUyPj4zXT0xLjB9ZWxzZXtiPWYrMTZ8MDtkPWErMTZ8MDtlPWIrNDB8MDtkb3tjW2I+
PjJdPWNbZD4+Ml07Yj1iKzR8MDtkPWQrNHwwfXdoaWxlKChifDApPChlfDApKTtiPWYrNTZ8MDtk
PWErNTZ8MDtlPWIrNDB8MDtkb3tjW2I+PjJdPWNbZD4+Ml07Yj1iKzR8MDtkPWQrNHwwfXdoaWxl
KChifDApPChlfDApKTtjW2YrMTQ0Pj4yXT1jW2ErMTQ0Pj4yXTtjW2YrMTQ4Pj4yXT1jW2ErMTQ4
Pj4yXTtoW2YrMTUyPj4zXT0raFthKzE1Mj4+M107Y1tmKzEzNj4+Ml09Y1thKzEzNj4+Ml07Yj1m
Kzk2fDA7ZD1hKzk2fDA7ZT1iKzQwfDA7ZG97Y1tiPj4yXT1jW2Q+PjJdO2I9Yis0fDA7ZD1kKzR8
MH13aGlsZSgoYnwwKTwoZXwwKSl9bD1nO3JldHVybiBmfDB9ZnVuY3Rpb24gV3QoYSl7YT1hfDA7
dmFyIGI9MDthPWErMTZ8MDtiPWNbYT4+Ml18MDtpZighYiltYSg4NDkyMSw4NDkyNSwxMTcsODQ5
MzIpO2Vsc2V7X0koY1tiKzIxMj4+Ml18MCk7X0koY1tiKzIwOD4+Ml18MCk7X0koY1tiKzIxNj4+
Ml18MCk7X0koY1tiKzIyMD4+Ml18MCk7X0koY1tiKzIyND4+Ml18MCk7X0koY1tiKzIyOD4+Ml18
MCk7X0koY1tiKzIzMj4+Ml18MCk7X0koY1tiKzIzNj4+Ml18MCk7X0koY1tiKzI0MD4+Ml18MCk7
X0koY1tiKzI0ND4+Ml18MCk7X0koY1tiKzI0OD4+Ml18MCk7X0koY1tiKzI1Mj4+Ml18MCk7X0ko
Y1tiKzI1Nj4+Ml18MCk7X0koY1tiKzI3Mj4+Ml18MCk7X0koY1tiKzI4ND4+Ml18MCk7X0koY1ti
KzI4MD4+Ml18MCk7Y1thPj4yXT1jW2I+PjJdO19JKGIpO3JldHVybn19ZnVuY3Rpb24gWHQoZCxl
LGYsZyxoLGksail7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7aj1qfDA7dmFy
IGs9MCxsPTA7bD1jW2QrMTY+PjJdfDA7az1jW2QrMTUyPj4yXXwwO2lmKChlfDApIT0wJihrJjMy
NzY4fDApIT0wKWNbbCsxOTI+PjJdPWU7aWYoKChrJjY1NTM2fDApIT0wPyhjW2wrMjEyPj4yXT1x
dyhpLGopfDAsKGZ8MCkhPTApOjApPyhhW2Y+PjBdfDApIT0wOjApe2NbbCsyMDg+PjJdPXF3KGYs
ail8MDtkPTF9ZWxzZSBkPTA7ZG8gaWYoayY0MTk0MzA0KXtpZihnfDA/YVtnPj4wXXwwOjApe2Nb
bCsyMjg+PjJdPXF3KGcsail8MDtkPWwrMjYwfDA7YltkPj4xXT1iW2Q+PjFdfDE7ZD0xO2JyZWFr
fWU9Y1tsKzE5Mj4+Ml18MDtpZihlKXtjW2wrMjI4Pj4yXT1HTChlKXwwO2Q9MX19d2hpbGUoMCk7
aWYoKGh8MCkhPTAmKGsmODM4ODYwOHwwKSE9MD8oYVtoPj4wXXwwKSE9MDowKXtjW2wrMjQ0Pj4y
XT1xdyhoLGopfDA7ZD0xfXJldHVybiBkfDB9ZnVuY3Rpb24gWXQoYixkLGUpe2I9YnwwO2Q9ZHww
O2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wO2o9bDtsPWwrODB8MDtpPWo7aD1qKzh8MDtn
PWNbKGNbYj4+Ml18MCkrMTY4Pj4yXXwwO2Y9Y1soY1soY1tnKzE2Pj4yXXwwKSs4Pj4yXXwwKSs5
Mj4+Ml18MDtadChiLGUpO2I9SW0oZCw4Njc5OSl8MDtpZigoYnwwKSE9MD8oYVtiPj4wXXwwKSE9
MDowKXtmbShlLGIpfDA7Zj1lKzR8MDtiPWNbZj4+Ml18MDtpZihiPj4+MD49KGNbZSs4Pj4yXXww
KT4+PjApe2RtKGUsMSl8MDtiPWNbZj4+Ml18MH1hW2I+PjBdPTA7Yj1jW2U+PjJdfDA7Y1tmPj4y
XT1ifWVsc2V7aWYoKGd8MCkhPShkfDApJihmfDApIT0wKXtmbShlLGYpfDA7Zj1lKzR8MDtiPWNb
Zj4+Ml18MDtpZihiPj4+MD49KGNbZSs4Pj4yXXwwKT4+PjApe2RtKGUsMSl8MDtiPWNbZj4+Ml18
MH1jW2Y+PjJdPWIrMTthW2I+PjBdPTk1fXN3aXRjaChDbyhkKXwwKXtjYXNlIDA6e2Y9KGd8MCk9
PShkfDApPzk2Mjg2Ojg0OTQ2O2I9KGNbZD4+Ml18MCk+Pj40O2JyZWFrfWNhc2UgMTp7Zj05NjI3
MztiPShjW2Q+PjJdfDApPj4+NDticmVha31jYXNlIDI6e2Y9OTYyMzc7Yj0oY1tkPj4yXXwwKT4+
PjQ7YnJlYWt9ZGVmYXVsdDp7Zj0wO2I9MH19Zm0oZSxmKXwwO2NbaT4+Ml09YjtwTChoLDg0OTUy
LGkpfDA7Zm0oZSxoKXwwO2Y9ZSs0fDA7Yj1jW2Y+PjJdfDA7aWYoYj4+PjA+PShjW2UrOD4+Ml18
MCk+Pj4wKXtkbShlLDEpfDA7Yj1jW2Y+PjJdfDB9YVtiPj4wXT0wO2I9Y1tlPj4yXXwwO2NbZj4+
Ml09Yn1sPWo7cmV0dXJuIGJ8MH1mdW5jdGlvbiBadChiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAs
Zj0wLGc9MCxoPTAsaT0wO2k9bDtsPWwrMTQ0fDA7aD1pO2c9aSs4fDA7ZT1jW2IrMTYwPj4yXXww
O2lmKChlfDApPjE/Y1tiKzE1Mj4+Ml0mNjR8MDowKXtmbShkLGNbKGNbKGNbYj4+Ml18MCkrMzA4
Pj4yXXwwKSsoZTw8Mik+PjJdfDApfDA7Zj1kKzR8MDtlPWNbZj4+Ml18MDtpZihlPj4+MD49KGNb
ZCs4Pj4yXXwwKT4+PjApe2RtKGQsMSl8MDtlPWNbZj4+Ml18MH1jW2Y+PjJdPWUrMTthW2U+PjBd
PTk1fWY9Y1tiKzE5Nj4+Ml18MDtlPWNbYisyMDA+PjJdfDA7aWYoKGZ8MCk+MHwoZXwwKT4wKXtj
W2g+PjJdPWY7Y1toKzQ+PjJdPWU7cEwoZyw4NDk1NixoKXwwO2ZtKGQsZyl8MH1sPWk7cmV0dXJu
fWZ1bmN0aW9uIF90KGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLjAsZj0wLGk9MC4w
LGo9MCxrPTAuMCxtPTAuMCxuPTAsbz0wLHA9MCxxPTAscj0wLjAscz0wO3M9bDtsPWwrNDh8MDtw
PXMrMTZ8MDtmPXMrMzJ8MDtxPXM7cj0raFsoY1thKzE2Pj4yXXwwKSsxNTI+PjNdO289JHQoZCww
LGYpfDA7aWYoKG8rLTF8MCk+Pj4wPj0yKXtlPStoW2IrMTY+PjNdO2s9KGUrICtoW2I+PjNdKSou
NTtoW3E+PjNdPWs7aT0raFtiKzI0Pj4zXTttPShpKyAraFtiKzg+PjNdKSouNTtoW3ErOD4+M109
bTtrPWUtazttPWktbTtuPXI+LjU7aWYobilPRChhLC41KTtqPWNbZj4+Ml18MDtpPTAuMDtmPWNb
ais4Pj4yXXwwO3doaWxlKDEpe2Q9Y1tmPj4yXXwwO2lmKCFkKWJyZWFrO2I9Zis0fDA7aWYoK2db
Yj4+Ml09PTAuMCllPWk7ZWxzZXtERChhLGQpO2lmKCEoY1tmKzEyPj4yXXwwKSllPTYuMjgzMTg1
MzA3MTc5NTg2O2Vsc2UgZT0rZ1tiPj4yXSo2LjI4MzE4NTMwNzE3OTU4NitpO2NbcD4+Ml09Y1tx
Pj4yXTtjW3ArND4+Ml09Y1txKzQ+PjJdO2NbcCs4Pj4yXT1jW3ErOD4+Ml07Y1twKzEyPj4yXT1j
W3ErMTI+PjJdO2I9X0UocCxrLG0saSxlKXwwO0pEKGEsY1tiPj4yXXwwLGNbYis0Pj4yXXwwLDAs
MCwxKTtYSShiKX1pPWU7Zj1mKzEyfDB9aWYobilPRChhLHIpO2F1KGopfWw9cztyZXR1cm4gb3ww
fWZ1bmN0aW9uICR0KGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGg9MCxpPTAsaj0w
LjAsaz0wLjAsbT0wLjAsbj0wLG89MCxwPTAscT0wLHI9MDtyPWw7bD1sKzE2fDA7bz1yKzh8MDtu
PXI7cT12dygxMil8MDtpPUdMKGIpfDA7YTpkbyBpZighZCl7ZD0xO2Y9aTt3aGlsZSgxKXtzd2l0
Y2goYVtmPj4wXXwwKXtjYXNlIDA6YnJlYWsgYTtjYXNlIDU4OntkPWQrMXwwO2JyZWFrfWRlZmF1
bHQ6e319Zj1mKzF8MH19d2hpbGUoMCk7Y1txKzQ+PjJdPWk7cD12dygoZCoxMnwwKSsxMnwwKXww
O2NbcSs4Pj4yXT1wO209MS4wO2g9MDtkPTA7Zj1pO3doaWxlKDEpe2Y9REwoZiw5MzAxNyl8MDtp
ZighZil7Zj0yMDticmVha31qPStidShmKTtpZighKGo+PTAuMCkpe2Y9MTc7YnJlYWt9az1qLW07
aWYoaz4wLjApaWYoKGNbNDkyMF18MCkhPTA/IShrPDEuMGUtMDUmaz4tMS4wZS0wNSk6MCl7Y1tu
Pj4yXT1iO19sKDAsODQ5Njcsbil8MDtjWzQ5MjBdPTA7aj1tO2Q9M31lbHNlIGo9bTtrPW0tajtp
ZihqPjAuMClhW3ArKGgqMTJ8MCkrOD4+MF09MTtpZihhW2Y+PjBdfDApY1twKyhoKjEyfDApPj4y
XT1mO2Y9aCsxfDA7Z1twKyhoKjEyfDApKzQ+PjJdPWo7aWYoazwxLjBlLTA1Jms+LTEuMGUtMDUp
e2g9ZjtmPTMwO2JyZWFrfWVsc2V7bT1rO2g9ZjtmPTB9fWI6ZG8gaWYoKGZ8MCk9PTE3KXtpZigh
KGNbNDkyMF18MCkpZD0xO2Vsc2V7Y1tvPj4yXT1iO19sKDEsODUwMDIsbyl8MDtjWzQ5MjBdPTA7
ZD0yfWF1KHEpfWVsc2UgaWYoKGZ8MCk9PTIwKWlmKG0+MC4wKXtmPTA7aT0wO3doaWxlKDEpe2lm
KChmfDApPj0oaHwwKSlicmVhaztvPWkrKCtnW3ArKGYqMTJ8MCkrND4+Ml09PTAuMCYxKXwwO2Y9
ZisxfDA7aT1vfWlmKChpfDApPD0wKXtmPXArKChoKy0xfDApKjEyfDApKzR8MDtnW2Y+PjJdPW0r
ICtnW2Y+PjJdO2Y9MzA7YnJlYWt9aj1tLysoaXwwKTtmPTA7d2hpbGUoMSl7aWYoKGZ8MCk+PSho
fDApKXtmPTMwO2JyZWFrIGJ9aT1wKyhmKjEyfDApKzR8MDtpZigrZ1tpPj4yXT09MC4wKWdbaT4+
Ml09ajtmPWYrMXwwfX1lbHNlIGY9MzA7d2hpbGUoMCk7aWYoKGZ8MCk9PTMwKXt3aGlsZSgxKXtm
PWgrLTF8MDtpZigoaHwwKTw9MClicmVhaztpZigrZ1twKyhmKjEyfDApKzQ+PjJdPjAuMClicmVh
aztlbHNlIGg9Zn1jW3ArKGgqMTJ8MCk+PjJdPTA7Y1txPj4yXT1oO2NbZT4+Ml09cX1sPXI7cmV0
dXJuIGR8MH1mdW5jdGlvbiBhdShhKXthPWF8MDtfSShjW2ErND4+Ml18MCk7X0koY1thKzg+PjJd
fDApO19JKGEpO3JldHVybn1mdW5jdGlvbiBidShiKXtiPWJ8MDt2YXIgZD0wLjAsZT0wLGY9MCxn
PTA7Zj1sO2w9bCsxNnwwO2U9ZjtiPVdKKGIsNTkpfDA7aWYoIWIpZD0wLjA7ZWxzZXtnPWIrMXww
O2FbYj4+MF09MDtkPSt0TShnLGUpO2Q9KGQ+PTAuMD8oY1tlPj4yXXwwKSE9KGd8MCk6MCk/ZDot
MS4wfWw9ZjtyZXR1cm4gK2R9ZnVuY3Rpb24gY3UoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7
ZT1lfDA7dmFyIGY9MC4wLGk9MCxqPTAsaz0wLG09MC4wLG49MC4wLG89MCxwPTAscT0wLHI9MCxz
PTAuMCx0PTA7dD1sO2w9bCs4MHwwO2k9dCs2NHwwO3I9dDtzPStoWyhjW2ErMTY+PjJdfDApKzE1
Mj4+M107cT0kdChkLDAsaSl8MDtpZigocSstMXwwKT4+PjA+PTIpe2lmKCFlKXtjW3I+PjJdPWNb
Yj4+Ml07Y1tyKzQ+PjJdPWNbYis0Pj4yXTtjW3IrOD4+Ml09Y1tiKzg+PjJdO2NbcisxMj4+Ml09
Y1tiKzEyPj4yXTtwPXIrMTZ8MDtvPWIrMTZ8MDtjW3A+PjJdPWNbbz4+Ml07Y1twKzQ+PjJdPWNb
bys0Pj4yXTtjW3ArOD4+Ml09Y1tvKzg+PjJdO2NbcCsxMj4+Ml09Y1tvKzEyPj4yXTtwPXIrMzJ8
MDtvPWIrMzJ8MDtjW3A+PjJdPWNbbz4+Ml07Y1twKzQ+PjJdPWNbbys0Pj4yXTtjW3ArOD4+Ml09
Y1tvKzg+PjJdO2NbcCsxMj4+Ml09Y1tvKzEyPj4yXTtwPXIrNDh8MDtvPWIrNDh8MDtjW3A+PjJd
PWNbbz4+Ml07Y1twKzQ+PjJdPWNbbys0Pj4yXTtjW3ArOD4+Ml09Y1tvKzg+PjJdO2NbcCsxMj4+
Ml09Y1tvKzEyPj4yXX1lbHNle3A9YiszMnwwO2Nbcj4+Ml09Y1twPj4yXTtjW3IrND4+Ml09Y1tw
KzQ+PjJdO2Nbcis4Pj4yXT1jW3ArOD4+Ml07Y1tyKzEyPj4yXT1jW3ArMTI+PjJdO3A9cisxNnww
O289Yis0OHwwO2NbcD4+Ml09Y1tvPj4yXTtjW3ArND4+Ml09Y1tvKzQ+PjJdO2NbcCs4Pj4yXT1j
W28rOD4+Ml07Y1twKzEyPj4yXT1jW28rMTI+PjJdO3A9ciszMnwwO2NbcD4+Ml09Y1tiPj4yXTtj
W3ArND4+Ml09Y1tiKzQ+PjJdO2NbcCs4Pj4yXT1jW2IrOD4+Ml07Y1twKzEyPj4yXT1jW2IrMTI+
PjJdO3A9cis0OHwwO289YisxNnwwO2NbcD4+Ml09Y1tvPj4yXTtjW3ArND4+Ml09Y1tvKzQ+PjJd
O2NbcCs4Pj4yXT1jW28rOD4+Ml07Y1twKzEyPj4yXT1jW28rMTI+PjJdfWs9cisxNnwwO209K2hb
az4+M107Zj0raFtyPj4zXTtuPW0tZjtvPXIrMzJ8MDtoW28+PjNdPWY7aFtrPj4zXT1mO3A9cz4u
NTtpZihwKU9EKGEsLjUpO2k9Y1tpPj4yXXwwO2o9cis0OHwwO2U9Y1tpKzg+PjJdfDA7d2hpbGUo
MSl7ZD1jW2U+PjJdfDA7aWYoIWQpYnJlYWs7Yj1lKzR8MDtpZighKCtnW2I+PjJdPT0wLjApKXtE
RChhLGQpO2lmKCEoY1tlKzEyPj4yXXwwKSlmPW07ZWxzZSBmPW4qK2dbYj4+Ml0rICtoW3I+PjNd
O2hbbz4+M109ZjtoW2s+PjNdPWY7SEQoYSxyLDQsMSk7Zj0raFtrPj4zXTtoW2o+PjNdPWY7aFty
Pj4zXT1mfWU9ZSsxMnwwfWlmKHApT0QoYSxzKTthdShpKX1sPXQ7cmV0dXJuIHF8MH1mdW5jdGlv
biBkdShhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wO2Q9Y1thKzE2Pj4y
XXwwO2U9Y1thKzE1Mj4+Ml18MDtpZihlJjQyNTk4NDB8MCl7Zj1lJjEzMTA3MjtnPWY+Pj4xNl4y
O2NbZCsyNjQ+PjJdPWc7aD1kKzI2OHwwO2NbaD4+Ml09ZysyO2c9ZCsyNzJ8MDtfSShjW2c+PjJd
fDApO2Q9dncoY1toPj4yXTw8NCl8MDtjW2c+PjJdPWQ7Y1tkPj4yXT1jW2I+PjJdO2NbZCs0Pj4y
XT1jW2IrND4+Ml07Y1tkKzg+PjJdPWNbYis4Pj4yXTtjW2QrMTI+PjJdPWNbYisxMj4+Ml07Zz1k
KzE2fDA7Yj1iKzE2fDA7Y1tnPj4yXT1jW2I+PjJdO2NbZys0Pj4yXT1jW2IrND4+Ml07Y1tnKzg+
PjJdPWNbYis4Pj4yXTtjW2crMTI+PjJdPWNbYisxMj4+Ml07aWYoIShlJjgxOTIpKWZEKGEsZCxk
LDIpfDA7aWYoIWYpWnYoZCl9cmV0dXJufWZ1bmN0aW9uIGV1KGEsYil7YT1hfDA7Yj1ifDA7dmFy
IGM9MCxkPTAuMCxlPTAsZj0wLGc9MCxpPTAuMCxqPTAuMCxrPTAuMCxtPTAuMCxuPTAuMCxvPTAs
cD0wLHE9MDtxPWw7bD1sKzE0NHwwO2M9cSs4MHwwO2U9cSsxNnwwO2Y9cTtrPStoW2I+PjNdO289
YSsxNnwwO209K2hbbz4+M107aWYoISgoKCgoKCgoKCEoaz5tKT8obj0raFthPj4zXSwhKGs8bikp
OjApPyhkPStoW2IrOD4+M10saT0raFthKzI0Pj4zXSwhKGQ+aSkpOjApPyhqPStoW2ErOD4+M10s
IShkPGopKTowKT8oaz0raFtiKzE2Pj4zXSwhKGs+bXxrPG4pKTowKT8oaz0raFtiKzI0Pj4zXSwh
KGs+aXxrPGopKTowKT8oaz0raFtiKzMyPj4zXSwhKGs+bXxrPG4pKTowKT8oaz0raFtiKzQwPj4z
XSwhKGs+aXxrPGopKTowKT8oaz0raFtiKzQ4Pj4zXSwhKGs+bXxrPG4pKTowKT8obj0raFtiKzU2
Pj4zXSwhKG4+aXxuPGopKTowKSlwPTExO2E6ZG8gaWYoKHB8MCk9PTExKXtpZighKGZ1KGIpfDAp
KXtQQShmLGIsMywuNSxjLGUpO2V1KGEsYyk7ZXUoYSxlKTticmVha31mPWErMjR8MDtnPWErOHww
O2U9MDt3aGlsZSgxKXtpZigoZXwwKT09NClicmVhayBhO2Q9K2hbYisoZTw8NCk+PjNdO2lmKCEo
ZD4raFtvPj4zXSkpe2lmKGQ8K2hbYT4+M10pe2M9YTtwPTE2fX1lbHNle2M9bztwPTE2fWlmKChw
fDApPT0xNil7cD0wO2hbYz4+M109ZH1kPStoW2IrKGU8PDQpKzg+PjNdO2lmKCEoZD4raFtmPj4z
XSkpe2lmKGQ8K2hbZz4+M10pe2M9YTtwPTE5fX1lbHNle2M9bztwPTE5fWlmKChwfDApPT0xOSl7
cD0wO2hbYys4Pj4zXT1kfWU9ZSsxfDB9fXdoaWxlKDApO2w9cTtyZXR1cm59ZnVuY3Rpb24gZnUo
YSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MCxnPTAuMCxoPTAsaT0wO2I9bDtsPWwrNDh8MDtk
PWIrMzJ8MDtlPWIrMTZ8MDtmPWI7aT1hKzQ4fDA7aD1hKzE2fDA7Y1tmPj4yXT1jW2E+PjJdO2Nb
Zis0Pj4yXT1jW2ErND4+Ml07Y1tmKzg+PjJdPWNbYSs4Pj4yXTtjW2YrMTI+PjJdPWNbYSsxMj4+
Ml07Y1tlPj4yXT1jW2k+PjJdO2NbZSs0Pj4yXT1jW2krND4+Ml07Y1tlKzg+PjJdPWNbaSs4Pj4y
XTtjW2UrMTI+PjJdPWNbaSsxMj4+Ml07Y1tkPj4yXT1jW2g+PjJdO2NbZCs0Pj4yXT1jW2grND4+
Ml07Y1tkKzg+PjJdPWNbaCs4Pj4yXTtjW2QrMTI+PjJdPWNbaCsxMj4+Ml07Zz0rY3coZixlLGQp
O2g9YSszMnwwO2NbZj4+Ml09Y1thPj4yXTtjW2YrND4+Ml09Y1thKzQ+PjJdO2NbZis4Pj4yXT1j
W2ErOD4+Ml07Y1tmKzEyPj4yXT1jW2ErMTI+PjJdO2NbZT4+Ml09Y1tpPj4yXTtjW2UrND4+Ml09
Y1tpKzQ+PjJdO2NbZSs4Pj4yXT1jW2krOD4+Ml07Y1tlKzEyPj4yXT1jW2krMTI+PjJdO2NbZD4+
Ml09Y1toPj4yXTtjW2QrND4+Ml09Y1toKzQ+PjJdO2NbZCs4Pj4yXT1jW2grOD4+Ml07Y1tkKzEy
Pj4yXT1jW2grMTI+PjJdO2E9Zzw0LjAmK2N3KGYsZSxkKTw0LjAmMTtsPWI7cmV0dXJuIGF8MH1m
dW5jdGlvbiBndShiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLjAsZz0wLjAsaT0wLjAsaj0w
LGs9MCxtPTAsbj0wLjA7bT1sO2w9bCsxNnwwO2s9bTtqPWNbYisxNTI+PjJdfDA7bj0raFtiKzQz
Mj4+M107aT0raFtiKzM1Mj4+M10qLjAxMzg4ODg4ODg4ODg4ODg4ODtmPWkqbjtoW2IrNDg4Pj4z
XT1mO2c9K2hbYis0NDA+PjNdO2k9aSpnO2hbYis0OTY+PjNdPWk7aFtiKzUyMD4+M109biouMDEz
ODg4ODg4ODg4ODg4ODg4O2U9Yis1Mjh8MDtoW2U+PjNdPWcqLjAxMzg4ODg4ODg4ODg4ODg4ODtp
ZihqJjQwOTZ8Y1s0MjE4M118MCloW2U+PjNdPWcqLS4wMTM4ODg4ODg4ODg4ODg4ODg7ZT0oY1ti
KzM2MD4+Ml18MCk9PTA7bj0rKChjW2IrNDQ4Pj4yXXwwKT4+PjApO2c9KygoY1tiKzQ1Mj4+Ml18
MCk+Pj4wKTtoW2IrMzY4Pj4zXT0oZT9uOmcpL2Y7aFtiKzM3Nj4+M109KGU/ZzpuKS9pO0xEKGIs
RkEoZCx5bShkLDAsODY1OTUsMCl8MCwxNzQxODEpfDApO2NbYisxNjA+PjJdPTA7aHUoYixkKTtp
ZihqJjJ8MClpdShiLGQpO2U9Y28oZCl8MDt3aGlsZSgxKXtpZighZSlicmVhazthWyhjW2UrMTY+
PjJdfDApKzExNj4+MF09MDtlPWVvKGQsZSl8MH1qdShiLGspO3doaWxlKDEpe2lmKCEoKGt1KGIp
fDApPDwyND4+MjQpKWJyZWFrO2lmKChsdShiKXwwKT4xKWtEKGIpO211KGIpO3doaWxlKDEpe2lm
KCEoKG51KGIpfDApPDwyND4+MjQpKWJyZWFrO291KGIsZCk7cHUoYil9aWYoKGx1KGIpfDApPjEp
bEQoYik7cXUoYixrKX1ydShiKTtsPW07cmV0dXJufWZ1bmN0aW9uIGh1KGEsYil7YT1hfDA7Yj1i
fDA7dmFyIGQ9MDtkPVZ0KGEpfDA7Y1tkKzQ+PjJdPTA7Y1tkKzg+PjJdPWI7Y1tkKzEyPj4yXT0w
O3F2KGEsY1soY1tiKzE2Pj4yXXwwKSsxMj4+Ml18MCxiKTtnRChhLGIpO3JldHVybn1mdW5jdGlv
biBpdShiLGMpe2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGY9MCxnPTA7REQoYiwxMTk1OTIpO2Q9
SW0oYyw4NTQyMyl8MDtpZihkfDA/YVtkPj4wXXwwOjApREQoYixkKTtkPUltKGMsODY1MDMpfDA7
aWYoZHwwP2FbZD4+MF18MDowKUJEKGIsZCk7Q3YoYixjKTtnPWNvKGMpfDA7d2hpbGUoMSl7aWYo
IWcpYnJlYWs7ZD1JbShnLDEyMjU0MCl8MDtpZihkfDA/YVtkPj4wXXwwOjApQkQoYixkKTtkPUlt
KGcsMTIyNTMxKXwwO2lmKGR8MD9hW2Q+PjBdfDA6MClERChiLGQpO2Q9SW0oZyw4NjQ2OSl8MDtk
byBpZihkfDA/YVtkPj4wXXwwOjApe2lmKCEoV0ooZCw1OCl8MCkpe0JEKGIsZCk7YnJlYWt9ZT1H
TChkKXwwO2Q9ZTt3aGlsZSgxKXtkPURMKGQsOTMwMTcpfDA7aWYoIWQpYnJlYWs7aWYoIShhW2Q+
PjBdfDApKXtkPTA7Y29udGludWV9QkQoYixkKTtkPTB9X0koZSl9d2hpbGUoMCk7ZD1JbShnLDg2
NTAzKXwwO2lmKGR8MD9hW2Q+PjBdfDA6MClCRChiLGQpO2Y9UG0oYyxnKXwwO3doaWxlKDEpe2lm
KCFmKWJyZWFrO2Q9SW0oZiwxMjI1NDApfDA7ZG8gaWYoZHwwP2FbZD4+MF18MDowKXtpZighKFdK
KGQsNTgpfDApKXtCRChiLGQpO2JyZWFrfWU9R0woZCl8MDtkPWU7d2hpbGUoMSl7ZD1ETChkLDkz
MDE3KXwwO2lmKCFkKWJyZWFrO2lmKCEoYVtkPj4wXXwwKSl7ZD0wO2NvbnRpbnVlfUJEKGIsZCk7
ZD0wfV9JKGUpfXdoaWxlKDApO2Q9SW0oZiw4NjUwMyl8MDtpZihkfDA/YVtkPj4wXXwwOjApQkQo
YixkKTtmPVJtKGMsZil8MH1nPWVvKGMsZyl8MH1yZXR1cm59ZnVuY3Rpb24ganUoYSxiKXthPWF8
MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTA7aT1sO2w9bCsxNnwwO2U9aSs4fDA7
Zz1pO2g9Y1thPj4yXXwwO2Q9Y1toKzMxMj4+Ml18MDtmPWErMTU2fDA7Y1tmPj4yXT1kO2g9Y1to
KzMxNj4+Ml18MDtpZighaClpZigoZHwwKT4xPyhjW2ErMTUyPj4yXSY2NHwwKT09MDowKXtjW2U+
PjJdPWNbYSs1Mj4+Ml07X2woMCw4NTU5OCxlKXwwO2NbZj4+Ml09MTtlPTE7ZD0wfWVsc2V7ZT0x
O2Q9MH1lbHNle2Q9aCs0fDA7aWYoKGNbaD4+Ml18MCk+MT8oY1thKzE1Mj4+Ml0mNjR8MCk9PTA6
MCl7Y1tnPj4yXT1jW2ErNTI+PjJdO19sKDAsODU1OTgsZyl8MDtjW2grOD4+Ml09KGNbZj4+Ml18
MCkrMX1lPWNbZD4+Ml18MDtkPWgrOHwwfWNbYSsxNjA+PjJdPWU7Y1tiPj4yXT1kO2w9aTtyZXR1
cm59ZnVuY3Rpb24ga3UoYSl7YT1hfDA7cmV0dXJuIChjW2ErMTYwPj4yXXwwKTw9KGNbYSsxNTY+
PjJdfDApfDB9ZnVuY3Rpb24gbHUoYSl7YT1hfDA7dmFyIGI9MDtiPWNbKGNbYT4+Ml18MCkrMzE2
Pj4yXXwwO3JldHVybiBjWygoYnwwKT09MD9hKzE1NnwwOmIpPj4yXXwwfWZ1bmN0aW9uIG11KGEp
e2E9YXwwO3ZhciBiPTAsZD0wO2Q9YSsxNzJ8MDtiPWNbZCs0Pj4yXXwwO2E9YSsxOTZ8MDtjW2E+
PjJdPWNbZD4+Ml07Y1thKzQ+PjJdPWI7cmV0dXJufWZ1bmN0aW9uIG51KGEpe2E9YXwwO3ZhciBi
PTAsZD0wO2Q9Y1thKzE5Nj4+Ml18MDtpZigoKGR8MCk+LTE/KGR8MCk8KGNbYSsxNjQ+PjJdfDAp
OjApPyhiPWNbYSsyMDA+PjJdfDAsKGJ8MCk+LTEpOjApYT0oYnwwKTwoY1thKzE2OD4+Ml18MCkm
MTtlbHNlIGE9MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIG91KGQsZSl7ZD1kfDA7ZT1lfDA7dmFyIGY9
MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTA7cD1sO2w9bCsxNzZ8MDtr
PXA7Zj1wKzQ4fDA7bT1wKzMyfDA7bj1jW2QrMTY+PjJdfDA7bz1jW2QrMTUyPj4yXXwwO2lmKChj
W2QrMTYwPj4yXXwwKTw9MT8oY1tkKzE5Nj4+Ml18MCk8PTA6MCloPTA7ZWxzZXtjbShtLDEyOCxm
KTtnPW4rMjEyfDA7aD1jW2c+PjJdfDA7WnQoZCxtKTtmbShtLGgpfDA7aT1tKzR8MDtmPWNbaT4+
Ml18MDtpZihmPj4+MD49KGNbbSs4Pj4yXXwwKT4+PjApe2RtKG0sMSl8MDtmPWNbaT4+Ml18MH1h
W2Y+PjBdPTA7Zj1jW20+PjJdfDA7Y1tpPj4yXT1mO2NbZz4+Ml09Zn1aRShJbShlLDg1MDQ4KXww
KTt0dShkKTtpRChkKTtCRChkLDEyMjEwNik7REQoZCwxMTk1OTIpO2RvIGlmKG8mNDI1OTg0MHww
KXtpZigoY1tuKzIwOD4+Ml18MCk9PTA/KGJbbisyNjA+PjFdJjEpPT0wOjApYnJlYWs7aWYobyY2
NTUzNjApe2k9byYxMzEwNzI7Y1tuKzI2ND4+Ml09aT4+PjE2XjI7Zj12dygoaT4+PjEyXjMyKSsz
MnwwKXwwO2c9ZCsyODh8MDtjW2Y+PjJdPWNbZz4+Ml07Y1tmKzQ+PjJdPWNbZys0Pj4yXTtjW2Yr
OD4+Ml09Y1tnKzg+PjJdO2NbZisxMj4+Ml09Y1tnKzEyPj4yXTtnPWYrMTZ8MDtxPWQrMzA0fDA7
Y1tnPj4yXT1jW3E+PjJdO2NbZys0Pj4yXT1jW3ErND4+Ml07Y1tnKzg+PjJdPWNbcSs4Pj4yXTtj
W2crMTI+PjJdPWNbcSsxMj4+Ml07aWYoIWkpe1p2KGYpO2c9NH1lbHNlIGc9Mn1lbHNle2Y9MDtn
PTB9aWYoIShvJjgxOTIpKWZEKGQsZixmLGcpfDA7Y1tuKzI3Mj4+Ml09ZjtjW24rMjY4Pj4yXT1n
fXdoaWxlKDApO2lmKG8mMzI3Njh8MD8oaj1jWyhjW2UrMTY+PjJdfDApKzEyPj4yXXwwLGp8MCk6
MCljW24rMTkyPj4yXT1jW2o+PjJdO2c9KG8mNHwwKSE9MDtkbyBpZighZyl7Zj1uKzIwOHwwO2lm
KChjW2Y+PjJdfDApPT0wPyhiW24rMjYwPj4xXSYxKT09MDowKWJyZWFrO3E9ZCsyNTZ8MDtjW2s+
PjJdPWNbcT4+Ml07Y1trKzQ+PjJdPWNbcSs0Pj4yXTtjW2srOD4+Ml09Y1txKzg+PjJdO2Nbaysx
Mj4+Ml09Y1txKzEyPj4yXTtjW2srMTY+PjJdPWNbcSsxNj4+Ml07Y1trKzIwPj4yXT1jW3ErMjA+
PjJdO2NbaysyND4+Ml09Y1txKzI0Pj4yXTtjW2srMjg+PjJdPWNbcSsyOD4+Ml07ZHUoZCxrKTt3
RChkLGNbZj4+Ml18MCxjW24rMjI4Pj4yXXwwLGNbbisyNDQ+PjJdfDAsY1tuKzIxMj4+Ml18MCl9
d2hpbGUoMCk7dXUoZCxlKTtmPWNbKGNbZSsxNj4+Ml18MCkrMTI+PjJdfDA7aWYoZnwwKXB3KGQs
NCxmKTtkbyBpZighZyl7aWYoKGNbbisyMDg+PjJdfDApPT0wPyhiW24rMjYwPj4xXSYxKT09MDow
KWJyZWFrO3hEKGQpfXdoaWxlKDApO3Z1KGQsZSxvKTtqRChkKTtpZihofDApe2dtKG0pO2Nbbisy
MTI+PjJdPWh9bD1wO3JldHVybn1mdW5jdGlvbiBwdShhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAs
Zj0wLGc9MCxoPTAsaT0wLGo9MDtoPWw7bD1sKzMyfDA7ZD1oKzI0fDA7Yj1oKzE2fDA7aj1oKzh8
MDtmPWg7Zz1hKzE5NnwwO2k9YSsxODh8MDtjW2I+PjJdPWNbZz4+Ml07Y1tiKzQ+PjJdPWNbZys0
Pj4yXTtjW2Q+PjJdPWNbaT4+Ml07Y1tkKzQ+PjJdPWNbaSs0Pj4yXTtzdShqLGIsZCk7aT1jW2or
ND4+Ml18MDtlPWc7Y1tlPj4yXT1jW2o+PjJdO2NbZSs0Pj4yXT1pO2lmKCEoKG51KGEpfDApPDwy
ND4+MjQpKXtlPWErMTgwfDA7aWYoIShjW2ErMTg0Pj4yXXwwKSljW2ErMjAwPj4yXT1jW2ErMTc2
Pj4yXTtlbHNlIGNbZz4+Ml09Y1thKzE3Mj4+Ml07Y1tiPj4yXT1jW2c+PjJdO2NbYis0Pj4yXT1j
W2crND4+Ml07Y1tkPj4yXT1jW2U+PjJdO2NbZCs0Pj4yXT1jW2UrND4+Ml07c3UoZixiLGQpO2k9
Y1tmKzQ+PjJdfDA7aj1nO2Nbaj4+Ml09Y1tmPj4yXTtjW2orND4+Ml09aX1sPWg7cmV0dXJufWZ1
bmN0aW9uIHF1KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MDtkPWNbYj4+Ml18MDtpZighZCl7ZD1h
KzE2MHwwO2NbZD4+Ml09KGNbZD4+Ml18MCkrMX1lbHNle2NbYSsxNjA+PjJdPWNbZD4+Ml07Y1ti
Pj4yXT1kKzR9cmV0dXJufWZ1bmN0aW9uIHJ1KGEpe2E9YXwwO2hEKGEpO1d0KGEpO3JldHVybn1m
dW5jdGlvbiBzdShhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MDtlPShjW2QrND4+Ml18
MCkrKGNbYis0Pj4yXXwwKXwwO2NbYT4+Ml09KGNbZD4+Ml18MCkrKGNbYj4+Ml18MCk7Y1thKzQ+
PjJdPWU7cmV0dXJufWZ1bmN0aW9uIHR1KGEpe2E9YXwwO3ZhciBiPTAuMCxkPTAuMCxlPTAuMCxm
PTAsZz0wLjAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAuMCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9
MC4wO3Q9bDtsPWwrNDh8MDtuPXQrMzJ8MDtmPXQrMjR8MDtqPXQrOHwwO2s9dCsxNnwwO209dDty
PWErMTk2fDA7cT1jW3I+PjJdfDA7cj1jW3IrND4+Ml18MDtwPWY7Y1twPj4yXT1xO2NbcCs0Pj4y
XT1yO3A9YSsxNjR8MDtpPWNbcD4+Ml18MDtwPWNbcCs0Pj4yXXwwO3M9ajtjW3M+PjJdPWk7Y1tz
KzQ+PjJdPXA7cz1hKzM2MHwwO2lmKCEoY1tzPj4yXXwwKSl7az1xO2o9cn1lbHNle2Nbbj4+Ml09
Y1tmPj4yXTtjW24rND4+Ml09Y1tmKzQ+PjJdO0J2KGssbik7cj1rO2s9Y1tyPj4yXXwwO3I9Y1ty
KzQ+PjJdfDA7cD1mO2NbcD4+Ml09aztjW3ArND4+Ml09cjtjW24+PjJdPWNbaj4+Ml07Y1tuKzQ+
PjJdPWNbais0Pj4yXTtCdihtLG4pO3A9bTtpPWNbcD4+Ml18MDtwPWNbcCs0Pj4yXXwwO2Nbaj4+
Ml09aTtjW2orND4+Ml09cDtqPXJ9ZD0raFthKzMyMD4+M107Zz1kKisoa3wwKS0raFthKzI0MD4+
M107aFthKzI4OD4+M109ZztlPStoW2ErMzI4Pj4zXTtvPWUqKyhqfDApLStoW2ErMjQ4Pj4zXTto
W2ErMjk2Pj4zXT1vO2hbYSszMDQ+PjNdPWQrZztoW2ErMzEyPj4zXT1lK287Zj1hKzQ3MnwwO2lm
KCEoY1soY1thKzEyPj4yXXwwKSsyOD4+Ml18MCkpe3I9YSs0NTZ8MDtjW2Y+PjJdPWNbcj4+Ml07
Y1tmKzQ+PjJdPWNbcis0Pj4yXTtjW2YrOD4+Ml09Y1tyKzg+PjJdO2NbZisxMj4+Ml09Y1tyKzEy
Pj4yXX1lbHNle3E9YSs0NTZ8MDtjW2Y+PjJdPWNbKChjW2Y+PjJdfDApPChjW3E+PjJdfDApP2Y6
cSk+PjJdO3I9YSs0NzZ8MDtjW3I+PjJdPWNbKChjW3I+PjJdfDApPChjW2ErNDYwPj4yXXwwKT9m
OnEpKzQ+PjJdO3I9YSs0ODB8MDtjW3I+PjJdPWNbKChjW3I+PjJdfDApPihjW2ErNDY0Pj4yXXww
KT9mOnEpKzg+PjJdO3I9YSs0ODR8MDtjW3I+PjJdPWNbKChjW3I+PjJdfDApPihjW2ErNDY4Pj4y
XXwwKT9mOnEpKzEyPj4yXX1tPWNbYSsxNTI+PjJdfDA7Yj0raFthKzMzNj4+M107aWYoIShtJjEy
OCkpe2I9KCsoa3wwKS0rKGl8MCkqLjUpKmQrYjtoW2ErMjU2Pj4zXT1iO2c9KCsoanwwKS0rKHB8
MCkqLjUpKmUrICtoW2ErMzQ0Pj4zXTtvPWc7ZD1kK2I7Zz1nK2V9ZWxzZXtkPStoW2ErMzY4Pj4z
XSouNTtlPWItZDtoW2ErMjU2Pj4zXT1lO2c9K2hbYSszNDQ+PjNdO3U9K2hbYSszNzY+PjNdKi41
O289Zy11O2Q9ZCtiO2c9dStnO2I9ZX1oW2ErMjY0Pj4zXT1vO2hbYSsyNzI+PjNdPWQ7aFthKzI4
MD4+M109ZztpZighKGNbcz4+Ml18MCkpe2U9K2hbYSszNTI+PjNdO2hbYSs1MDQ+PjNdPStoW2Er
Mzg0Pj4zXS9lLWI7aWYoIShtJjQwOTZ8Y1s0MjE4M10pKXtkPStoW2ErMzkyPj4zXS9lO2I9b31l
bHNle2Q9LWc7Yj0raFthKzM5Mj4+M10vZX1oW2ErNTEyPj4zXT1kLWJ9ZWxzZXtmPWErMzg0fDA7
ZT0raFthKzM1Mj4+M107aFthKzUxMj4+M109LWctK2hbYSszOTI+PjNdL2U7aWYoIShtJjQwOTZ8
Y1s0MjE4M10pKWQ9K2hbZj4+M10vZTtlbHNle2Q9LWQ7Yj0raFtmPj4zXS9lfWhbYSs1MDQ+PjNd
PWQtYn1sPXQ7cmV0dXJufWZ1bmN0aW9uIHV1KGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAu
MCxoPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wO3M9bDtsPWwrNDh8
MDtxPXM7bz1zKzQwfDA7cD1zKzM2fDA7cj1zKzMyfDA7ZT1JbShkLDg1NDIzKXwwO2lmKCFlKXtq
PTE7ZT0xMjE5OTB9ZWxzZXtpPShhW2U+PjBdfDApPT0wO2o9aSYxO2U9aT8xMjE5OTA6ZX1oPWNb
YisxNTI+PjJdfDA7aT0oYVtlPj4wXXwwKT09MTE2O2lmKCEoaCYyNTYpKWlmKGkpe209KHhKKGUs
MTIyMTcxKXwwKT09MDtrPW0/MTIxOTkwOmU7bT1tPzE6ajtuPTh9ZWxzZXtrPWU7bT1qO249OH1l
bHNlIGlmKCEoaT8hKHhKKGUsMTIyMTcxKXwwKTowKSl7az1lO209ajtuPTh9aWYoKG58MCk9PTg/
ISgobXwwKSE9MCYoaCYzMzU1NDQzMnwwKSE9MCk6MClpZighKCh4dihrLG8scCl8MCk8PDI0Pj4y
NCkpe0REKGIsayk7QkQoYiwxMjIxNzEpO3I9YisyNTZ8MDtjW3E+PjJdPWNbcj4+Ml07Y1txKzQ+
PjJdPWNbcis0Pj4yXTtjW3ErOD4+Ml09Y1tyKzg+PjJdO2NbcSsxMj4+Ml09Y1tyKzEyPj4yXTtj
W3ErMTY+PjJdPWNbcisxNj4+Ml07Y1txKzIwPj4yXT1jW3IrMjA+PjJdO2NbcSsyND4+Ml09Y1ty
KzI0Pj4yXTtjW3ErMjg+PjJdPWNbcisyOD4+Ml07SUQoYixxLDEpfWVsc2V7Y1tyPj4yXT0wO2k9
Y1tvPj4yXXwwO0REKGIsaSk7QkQoYiwxMjIxNzEpO3d2KGQscil8MDtlPWNbbys0Pj4yXXwwO2g9
REEoZCxjWzQyMTg3XXwwLDAsMCl8MDtmPStnW3A+PjJdO2lmKCFlKUVEKGIsMTIyMTA2LGgsZik7
ZWxzZSBFRChiLGUsaCxmKTtyPShjW3I+PjJdfDApPj4+MSYxfDI7cD1iKzI1NnwwO2NbcT4+Ml09
Y1twPj4yXTtjW3ErND4+Ml09Y1twKzQ+PjJdO2NbcSs4Pj4yXT1jW3ArOD4+Ml07Y1txKzEyPj4y
XT1jW3ArMTI+PjJdO2NbcSsxNj4+Ml09Y1twKzE2Pj4yXTtjW3ErMjA+PjJdPWNbcCsyMD4+Ml07
Y1txKzI0Pj4yXT1jW3ArMjQ+PjJdO2NbcSsyOD4+Ml09Y1twKzI4Pj4yXTtJRChiLHEscik7X0ko
aSl9ZT1jWyhjWyhjW2QrMTY+PjJdfDApKzg+PjJdfDApKzg4Pj4yXXwwO2lmKGV8MCl6dihiLGUp
O2w9cztyZXR1cm59ZnVuY3Rpb24gdnUoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAs
Zj0wLGc9MDtnPShjW2E+PjJdfDApKzI4fDA7Y1tnPj4yXT0oY1tnPj4yXXwwKSsxO2c9KGQmNHww
KSE9MDtpZighZyl3dShhLGIsZCk7YTpkbyBpZighKGQmMSkpe2lmKGQmMTZ8MCl7cUQoYSk7Zj1j
byhiKXwwO3doaWxlKDEpe2lmKCFmKWJyZWFrO2U9UG0oYixmKXwwO3doaWxlKDEpe2lmKCFlKWJy
ZWFrO3l1KGEsZSk7ZT1SbShiLGUpfDB9Zj1lbyhiLGYpfDB9ckQoYSk7b0QoYSk7ZT1jbyhiKXww
O3doaWxlKDEpe2lmKCFlKWJyZWFrO3h1KGEsZSk7ZT1lbyhiLGUpfDB9cEQoYSk7YnJlYWt9aWYo
IShkJjgpKXtmPWNvKGIpfDA7d2hpbGUoMSl7aWYoIWYpYnJlYWsgYTt4dShhLGYpO2U9UG0oYixm
KXwwO3doaWxlKDEpe2lmKCFlKWJyZWFrO3h1KGEsY1soKGNbZT4+Ml0mM3wwKT09Mj9lOmUrLTQ4
fDApKzQwPj4yXXwwKTt5dShhLGUpO2U9Um0oYixlKXwwfWY9ZW8oYixmKXwwfX1vRChhKTtlPWNv
KGIpfDA7d2hpbGUoMSl7aWYoIWUpYnJlYWs7aWYoKHp1KGIsZSl8MCk8PDI0Pj4yNCl4dShhLGUp
O2U9ZW8oYixlKXwwfXBEKGEpO3FEKGEpO2Y9Y28oYil8MDt3aGlsZSgxKXtpZighZilicmVhaztl
PVBtKGIsZil8MDt3aGlsZSgxKXtpZighZSlicmVhaztpZigoQXUoYixlKXwwKTw8MjQ+PjI0KXl1
KGEsZSk7ZT1SbShiLGUpfDB9Zj1lbyhiLGYpfDB9ckQoYSl9ZWxzZXtvRChhKTtlPWNvKGIpfDA7
d2hpbGUoMSl7aWYoIWUpYnJlYWs7eHUoYSxlKTtlPWVvKGIsZSl8MH1wRChhKTtxRChhKTtmPWNv
KGIpfDA7d2hpbGUoMSl7aWYoIWYpYnJlYWs7ZT1QbShiLGYpfDA7d2hpbGUoMSl7aWYoIWUpYnJl
YWs7eXUoYSxlKTtlPVJtKGIsZSl8MH1mPWVvKGIsZil8MH1yRChhKX13aGlsZSgwKTtpZihnKXd1
KGEsYixkKTtyZXR1cm59ZnVuY3Rpb24gd3UoZSxmLGkpe2U9ZXwwO2Y9ZnwwO2k9aXwwO3ZhciBq
PTAsaz0wLG09MCxuPTAsbz0wLjAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAs
eT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxN
PTAsTj0wLE89MCxQPTAsUT0wO1A9bDtsPWwrMTI4fDA7dz1QKzcyfDA7Tj1QKzY0fDA7SD1QKzEx
MnwwO0k9UDtKPVArMTA0fDA7Sz1mKzE2fDA7TD0oaSY0fDApIT0wO009ZSsxNnwwO3g9SSszMnww
O3k9SSsxNnwwO0E9SSs4fDA7Qj1JKzI0fDA7Qz1JKzQ4fDA7RD1JKzQwfDA7RT1JKzU2fDA7Rj0o
aSY4fDApPT0wO0c9Sis0fDA7dj0xO3doaWxlKDEpe2o9Y1tLPj4yXXwwO2lmKCh2fDApPihjW2or
MTgwPj4yXXwwKSlicmVhazt1PWNbKGNbaisxODQ+PjJdfDApKyh2PDwyKT4+Ml18MDtpZigodXYo
ZSx1KXwwKTw8MjQ+PjI0KXtpZihMKXd1KGUsdSxpKTt2dihlLHUpO3I9Y1tNPj4yXXwwO3M9cisy
MDh8MDtpZighKGNbcz4+Ml18MCkpdD0oYltyKzI2MD4+MV0mMSkhPTA7ZWxzZSB0PTE7WkUoSW0o
dSw4NTA0OCl8MCk7aWYoIShMfHReMSkpe3E9KGNbdSsxNj4+Ml18MCkrMTZ8MDtjW3c+PjJdPWNb
cT4+Ml07Y1t3KzQ+PjJdPWNbcSs0Pj4yXTtjW3crOD4+Ml09Y1txKzg+PjJdO2NbdysxMj4+Ml09
Y1txKzEyPj4yXTtjW3crMTY+PjJdPWNbcSsxNj4+Ml07Y1t3KzIwPj4yXT1jW3ErMjA+PjJdO2Nb
dysyND4+Ml09Y1txKzI0Pj4yXTtjW3crMjg+PjJdPWNbcSsyOD4+Ml07ZHUoZSx3KTt3RChlLGNb
cz4+Ml18MCxjW3IrMjI4Pj4yXXwwLGNbcisyNDQ+PjJdfDAsY1tyKzIxMj4+Ml18MCl9Y1tIPj4y
XT0wO2o9d3YodSxIKXwwO2lmKCFqKXA9MDtlbHNle0ZEKGUsaik7cD1jW0g+PjJdJjF9cT11KzE2
fDA7aj1kWyhjW3E+PjJdfDApKzExMj4+MF18MDtkbyBpZighKGomMSkpe2lmKGomMnwwKXtqPUdB
KHUsMCw5MTMwMCl8MDtrPUdBKHUsMCw5MTMwOCl8MDtPPTI5O2JyZWFrfWlmKGomOHwwKXtqPUdB
KHUsMCw5MTMxNil8MDtrPUdBKHUsMCw5MTMyNCl8MDtPPTI5O2JyZWFrfWlmKGomNHwwKXtqPUdB
KHUsMCw5MTMzMil8MDtrPUdBKHUsMCw5MTM0MCl8MDtPPTI5O2JyZWFrfWo9SW0odSwxMjI1NDAp
fDA7aWYoIWopaz0wO2Vsc2Ugaz0oYVtqPj4wXXwwKT09MD8wOmo7aj1JbSh1LDEyMjUzMSl8MDtp
ZighailqPWs7ZWxzZSBqPShhW2o+PjBdfDApPT0wP2s6ajttPUltKHUsODY0NjkpfDA7aWYobSlr
PShhW20+PjBdfDApPT0wP2s6bTtpZighKChwfDApIT0wJihrfDApIT0wKSl7bT1JbSh1LDg1NDIz
KXwwO2lmKG18MD9hW20+PjBdfDA6MCl7az1tO089Mjk7YnJlYWt9aj0oanwwKT09MD8xMjIxMDY6
ajtuPShrfDApPT0wPzExOTU5MjprO2NbSj4+Ml09MDtpZighcClrPTA7ZWxzZSBPPTMxfWVsc2Ug
Tz0yOX1lbHNle2o9R0EodSwwLDkxMjg0KXwwO2s9R0EodSwwLDkxMjkyKXwwO089Mjl9d2hpbGUo
MCk7aWYoKE98MCk9PTI5KXtjW0o+PjJdPTA7aj0oanwwKT09MD8xMjIxMDY6ajtuPShrfDApPT0w
PzExOTU5MjprO089MzF9aWYoKE98MCk9PTMxKXtPPTA7aWYoISgoeHYobixKLHcpfDApPDwyND4+
MjQpKXtERChlLG4pO2s9MX1lbHNle0REKGUsY1tKPj4yXXwwKTtrPWNbRz4+Ml18MDttPURBKHUs
Y1s0MjE4N118MCwwLDApfDA7bz0rZ1t3Pj4yXTtpZighaylFRChlLDEyMjEwNixtLG8pO2Vsc2Ug
RUQoZSxrLG0sbyk7az0oY1tIPj4yXXwwKT4+PjEmMXwyfX1tPWNbNDIxODZdfDA7aWYoKG18MD8o
ej1KbSh1LG0pfDAsenwwKTowKT9hW3o+PjBdfDA6MClPRChlLCtFQSh1LGNbNDIxODZdfDAsMS4w
LDAuMCkpO3A9Y1tIPj4yXXwwO2RvIGlmKHAmNCl7bT1EQSh1LGNbNDIxODVdfDAsMSwwKXwwO2lm
KG18a3wwKXtuPWNbcT4+Ml18MDtRPW4rMTZ8MDtjW0k+PjJdPWNbUT4+Ml07Y1tJKzQ+PjJdPWNb
USs0Pj4yXTtjW0krOD4+Ml09Y1tRKzg+PjJdO2NbSSsxMj4+Ml09Y1tRKzEyPj4yXTtuPW4rMzJ8
MDtjW3g+PjJdPWNbbj4+Ml07Y1t4KzQ+PjJdPWNbbis0Pj4yXTtjW3grOD4+Ml09Y1tuKzg+PjJd
O2NbeCsxMj4+Ml09Y1tuKzEyPj4yXTtoW3k+PjNdPStoW3g+PjNdO2hbQj4+M109K2hbQT4+M107
aFtDPj4zXT0raFtJPj4zXTtoW0U+PjNdPStoW0Q+PjNdO2lmKCFtKUJEKGUsMTIyMTcxKTtlbHNl
IEJEKGUsaik7eXkoZSxJLDQscCxrKX19ZWxzZXtpZighKHAmNjQpKXtpZihEQSh1LGNbNDIxODVd
fDAsMSwwKXwwKXtCRChlLGopO1E9KGNbcT4+Ml18MCkrMTZ8MDtjW3c+PjJdPWNbUT4+Ml07Y1t3
KzQ+PjJdPWNbUSs0Pj4yXTtjW3crOD4+Ml09Y1tRKzg+PjJdO2NbdysxMj4+Ml09Y1tRKzEyPj4y
XTtjW3crMTY+PjJdPWNbUSsxNj4+Ml07Y1t3KzIwPj4yXT1jW1ErMjA+PjJdO2NbdysyND4+Ml09
Y1tRKzI0Pj4yXTtjW3crMjg+PjJdPWNbUSsyOD4+Ml07SUQoZSx3LGspO2JyZWFrfWlmKCFrKWJy
ZWFrO0JEKGUsMTIyMTcxKTtRPShjW3E+PjJdfDApKzE2fDA7Y1t3Pj4yXT1jW1E+PjJdO2Nbdys0
Pj4yXT1jW1ErND4+Ml07Y1t3Kzg+PjJdPWNbUSs4Pj4yXTtjW3crMTI+PjJdPWNbUSsxMj4+Ml07
Y1t3KzE2Pj4yXT1jW1ErMTY+PjJdO2NbdysyMD4+Ml09Y1tRKzIwPj4yXTtjW3crMjQ+PjJdPWNb
USsyND4+Ml07Y1t3KzI4Pj4yXT1jW1ErMjg+PjJdO0lEKGUsdyxrKTticmVha31RPWNbcT4+Ml18
MDtwPVErMTZ8MDtjW0k+PjJdPWNbcD4+Ml07Y1tJKzQ+PjJdPWNbcCs0Pj4yXTtjW0krOD4+Ml09
Y1twKzg+PjJdO2NbSSsxMj4+Ml09Y1twKzEyPj4yXTtRPVErMzJ8MDtjW3g+PjJdPWNbUT4+Ml07
Y1t4KzQ+PjJdPWNbUSs0Pj4yXTtjW3grOD4+Ml09Y1tRKzg+PjJdO2NbeCsxMj4+Ml09Y1tRKzEy
Pj4yXTtoW3k+PjNdPStoW3g+PjNdO2hbQj4+M109K2hbQT4+M107aFtDPj4zXT0raFtJPj4zXTto
W0U+PjNdPStoW0Q+PjNdO2lmKCEoREEodSxjWzQyMTg1XXwwLDEsMCl8MCkpQkQoZSwxMjIxNzEp
O2Vsc2UgQkQoZSxqKTtpZigoY3UoZSxJLG4sMCl8MCk+MSl7Y1tOPj4yXT1Ebih1KXwwO19sKDMs
ODU0MzEsTil8MH1RPShjW3E+PjJdfDApKzE2fDA7Y1t3Pj4yXT1jW1E+PjJdO2Nbdys0Pj4yXT1j
W1ErND4+Ml07Y1t3Kzg+PjJdPWNbUSs4Pj4yXTtjW3crMTI+PjJdPWNbUSsxMj4+Ml07Y1t3KzE2
Pj4yXT1jW1ErMTY+PjJdO2NbdysyMD4+Ml09Y1tRKzIwPj4yXTtjW3crMjQ+PjJdPWNbUSsyND4+
Ml07Y1t3KzI4Pj4yXT1jW1ErMjg+PjJdO0lEKGUsdywwKX13aGlsZSgwKTtfSShjW0o+PjJdfDAp
O2o9Y1soY1txPj4yXXwwKSsxMj4+Ml18MDtpZihqfDApcHcoZSw1LGopO2lmKHQpe2lmKEwpe1E9
KGNbcT4+Ml18MCkrMTZ8MDtjW3c+PjJdPWNbUT4+Ml07Y1t3KzQ+PjJdPWNbUSs0Pj4yXTtjW3cr
OD4+Ml09Y1tRKzg+PjJdO2NbdysxMj4+Ml09Y1tRKzEyPj4yXTtjW3crMTY+PjJdPWNbUSsxNj4+
Ml07Y1t3KzIwPj4yXT1jW1ErMjA+PjJdO2NbdysyND4+Ml09Y1tRKzI0Pj4yXTtjW3crMjg+PjJd
PWNbUSsyOD4+Ml07ZHUoZSx3KTt3RChlLGNbcz4+Ml18MCxjW3IrMjI4Pj4yXXwwLGNbcisyNDQ+
PjJdfDAsY1tyKzIxMj4+Ml18MCl9eEQoZSl9YTpkbyBpZighRil7az1jbyh1KXwwO3doaWxlKDEp
e2lmKCFrKWJyZWFrIGE7eHUoZSxrKTtqPVBtKHUsayl8MDt3aGlsZSgxKXtpZighailicmVhazt5
dShlLGopO2o9Um0odSxqKXwwfWs9ZW8odSxrKXwwfX13aGlsZSgwKTt5dihlLGYpO2lmKCFMKXd1
KGUsdSxpKX12PXYrMXwwfWw9UDtyZXR1cm59ZnVuY3Rpb24geHUoYixkKXtiPWJ8MDtkPWR8MDt2
YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2o9bDtsPWwrMzJ8MDtlPWo7aD1jW2I+PjJd
fDA7aT1kKzE2fDA7YTpkbyBpZigoKGNbKGNbaT4+Ml18MCkrOD4+Ml18MD8obXYoYixybyhkKXww
LGQpfDApPDwyND4+MjQ6MCk/KGs9YisyNTZ8MCxjW2U+PjJdPWNbaz4+Ml0sY1tlKzQ+PjJdPWNb
ays0Pj4yXSxjW2UrOD4+Ml09Y1trKzg+PjJdLGNbZSsxMj4+Ml09Y1trKzEyPj4yXSxjW2UrMTY+
PjJdPWNbaysxNj4+Ml0sY1tlKzIwPj4yXT1jW2srMjA+PjJdLGNbZSsyND4+Ml09Y1trKzI0Pj4y
XSxjW2UrMjg+PjJdPWNbaysyOD4+Ml0sKG52KGQsZSl8MCk8PDI0Pj4yNCk6MCk/KGY9KGNbaT4+
Ml18MCkrMTE2fDAsZz1jW2grMjg+PjJdfDAsKGd8MCkhPShhW2Y+PjBdfDApKTowKXthW2Y+PjBd
PWc7TEQoYixEbihkKXwwKTtlPUZBKGQsY1s0MjIxM118MCwxNzQxODEpfDA7aWYoYVtlPj4wXXww
KUxEKGIsZSk7ZT1GQShkLGNbNDIyMDFdfDAsMTc0MTgxKXwwO2I6ZG8gaWYoYVtlPj4wXXwwKXtE
dShlKXwwO2U9MTY4NDA4O3doaWxlKDEpe2Y9ZTtlPWUrNHwwO2Y9Y1tmPj4yXXwwO2lmKCFmKWJy
ZWFrIGI7aWYoKGFbZj4+MF18MCkhPTEwNSljb250aW51ZTtpZighKHhKKGYsMTE5MTI3KXwwKSli
cmVhayBhfX13aGlsZSgwKTtvdihiLGQpO2hiW2NbKGNbKGNbKGNbaT4+Ml18MCkrOD4+Ml18MCkr
ND4+Ml18MCkrMjA+PjJdJjMxXShiLGQpO2U9Y1soY1tpPj4yXXwwKSsxMDg+PjJdfDA7aWYoZXww
P2FbZSs4MT4+MF18MDowKXB3KGIsMTAsZSk7cHYoYil9d2hpbGUoMCk7bD1qO3JldHVybn1mdW5j
dGlvbiB5dShiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wO2g9bDtsPWwr
MzJ8MDtnPWg7ZT1iKzI1NnwwO2NbZz4+Ml09Y1tlPj4yXTtjW2crND4+Ml09Y1tlKzQ+PjJdO2Nb
Zys4Pj4yXT1jW2UrOD4+Ml07Y1tnKzEyPj4yXT1jW2UrMTI+PjJdO2NbZysxNj4+Ml09Y1tlKzE2
Pj4yXTtjW2crMjA+PjJdPWNbZSsyMD4+Ml07Y1tnKzI0Pj4yXT1jW2UrMjQ+PjJdO2NbZysyOD4+
Ml09Y1tlKzI4Pj4yXTthOmRvIGlmKChCdShkLGcpfDApPDwyND4+MjQ/KGY9ZCstNDh8MCwoQ3Uo
YixkKXwwKTw8MjQ+PjI0KTowKXtpPWQrNDh8MDtlPXJKKERuKGNbKChjW2Q+PjJdJjN8MCk9PTM/
ZDppKSs0MD4+Ml18MCl8MCl8MDtlPVpJKGUrMysockooRG4oY1soKGNbZD4+Ml0mM3wwKT09Mj9k
OmYpKzQwPj4yXXwwKXwwKXwwKXwwKXwwO3hLKGUsRG4oY1soKGNbZD4+Ml0mM3wwKT09Mz9kOmkp
KzQwPj4yXXwwKXwwKXwwO2k9KHFuKHJvKGNbKChjW2Q+PjJdJjN8MCk9PTI/ZDpmKSs0MD4+Ml18
MCl8MCl8MCk9PTA7Zz1lKyhySihlKXwwKXwwO2lmKGkpe2FbZz4+MF09YVsxMjI1NDldfDA7YVtn
KzE+PjBdPWFbMTIyNTUwXXwwO2FbZysyPj4wXT1hWzEyMjU1MV18MH1lbHNle2FbZz4+MF09YVsx
MjI1NDZdfDA7YVtnKzE+PjBdPWFbMTIyNTQ3XXwwO2FbZysyPj4wXT1hWzEyMjU0OF18MH1JTChl
LERuKGNbKChjW2Q+PjJdJjN8MCk9PTI/ZDpmKSs0MD4+Ml18MCl8MCl8MDtMRChiLGUpO19JKGUp
O2U9RkEoZCxjWzQyMjM1XXwwLDE3NDE4MSl8MDtpZihhW2U+PjBdfDApTEQoYixlKTtlPUZBKGQs
Y1s0MjIyOV18MCwxNzQxODEpfDA7YjpkbyBpZighKGFbZT4+MF18MCkpZT0wO2Vsc2V7RHUoZSl8
MDtlPTE2ODQwODt3aGlsZSgxKXtmPWU7ZT1lKzR8MDtmPWNbZj4+Ml18MDtpZighZil7ZT0xNjg0
MDg7YnJlYWsgYn1pZigoYVtmPj4wXXwwKSE9MTA1KWNvbnRpbnVlO2lmKCEoeEooZiwxMTkxMjcp
fDApKWJyZWFrIGF9fXdoaWxlKDApO0V1KGIsZCxlKTtGdShiLGQsZSk7R3UoYil9d2hpbGUoMCk7
bD1oO3JldHVybn1mdW5jdGlvbiB6dShhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wO2Q9YSsx
NnwwO2E9MTt3aGlsZSgxKXtlPWNbZD4+Ml18MDtpZigoYXwwKT4oY1tlKzE4MD4+Ml18MCkpe2E9
MTticmVha31pZighKEJvKGNbKGNbZSsxODQ+PjJdfDApKyhhPDwyKT4+Ml18MCxiKXwwKSlhPWEr
MXwwO2Vsc2V7YT0wO2JyZWFrfX1yZXR1cm4gYXwwfWZ1bmN0aW9uIEF1KGEsYil7YT1hfDA7Yj1i
fDA7dmFyIGQ9MCxlPTA7ZD1hKzE2fDA7YT0xO3doaWxlKDEpe2U9Y1tkPj4yXXwwO2lmKChhfDAp
PihjW2UrMTgwPj4yXXwwKSl7YT0xO2JyZWFrfWlmKCEoQm8oY1soY1tlKzE4ND4+Ml18MCkrKGE8
PDIpPj4yXXwwLGIpfDApKWE9YSsxfDA7ZWxzZXthPTA7YnJlYWt9fXJldHVybiBhfDB9ZnVuY3Rp
b24gQnUoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTA7aj1sO2w9
bCs2NHwwO2k9aiszMnwwO2Y9ajtnPWIrMTZ8MDtiPWNbZz4+Ml18MDtlPWNbYis4Pj4yXXwwO2lm
KChlfDApIT0wPyhlPWUrOHwwLGNbZj4+Ml09Y1tlPj4yXSxjW2YrND4+Ml09Y1tlKzQ+PjJdLGNb
Zis4Pj4yXT1jW2UrOD4+Ml0sY1tmKzEyPj4yXT1jW2UrMTI+PjJdLGNbZisxNj4+Ml09Y1tlKzE2
Pj4yXSxjW2YrMjA+PjJdPWNbZSsyMD4+Ml0sY1tmKzI0Pj4yXT1jW2UrMjQ+PjJdLGNbZisyOD4+
Ml09Y1tlKzI4Pj4yXSxjW2k+PjJdPWNbZD4+Ml0sY1tpKzQ+PjJdPWNbZCs0Pj4yXSxjW2krOD4+
Ml09Y1tkKzg+PjJdLGNbaSsxMj4+Ml09Y1tkKzEyPj4yXSxjW2krMTY+PjJdPWNbZCsxNj4+Ml0s
Y1tpKzIwPj4yXT1jW2QrMjA+PjJdLGNbaSsyND4+Ml09Y1tkKzI0Pj4yXSxjW2krMjg+PjJdPWNb
ZCsyOD4+Ml0sKGx2KGYsaSl8MCkhPTApOjApYj0xO2Vsc2UgaD0zO2RvIGlmKChofDApPT0zKXtl
PWNbYis5Nj4+Ml18MDtpZihlKXtjW2k+PjJdPWNbZD4+Ml07Y1tpKzQ+PjJdPWNbZCs0Pj4yXTtj
W2krOD4+Ml09Y1tkKzg+PjJdO2NbaSsxMj4+Ml09Y1tkKzEyPj4yXTtjW2krMTY+PjJdPWNbZCsx
Nj4+Ml07Y1tpKzIwPj4yXT1jW2QrMjA+PjJdO2NbaSsyND4+Ml09Y1tkKzI0Pj4yXTtjW2krMjg+
PjJdPWNbZCsyOD4+Ml07aWYoKENCKGUsaSl8MCk8PDI0Pj4yNCl7Yj0xO2JyZWFrfWI9Y1tnPj4y
XXwwfWI9Y1tiKzEwOD4+Ml18MDtpZigoYnwwP2FbYis4MT4+MF18MDowKT8oY1tpPj4yXT1jW2Q+
PjJdLGNbaSs0Pj4yXT1jW2QrND4+Ml0sY1tpKzg+PjJdPWNbZCs4Pj4yXSxjW2krMTI+PjJdPWNb
ZCsxMj4+Ml0sY1tpKzE2Pj4yXT1jW2QrMTY+PjJdLGNbaSsyMD4+Ml09Y1tkKzIwPj4yXSxjW2kr
MjQ+PjJdPWNbZCsyND4+Ml0sY1tpKzI4Pj4yXT1jW2QrMjg+PjJdLChDQihiLGkpfDApPDwyND4+
MjQpOjApe2I9MTticmVha31iPTB9d2hpbGUoMCk7bD1qO3JldHVybiBifDB9ZnVuY3Rpb24gQ3Uo
YixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MDthOmRvIGlmKChjW2IrMTU2Pj4yXXwwKT49Mj8o
ZT1GQShkLGNbNDIyMzRdfDAsMTc0MTgxKXwwLChodihiLGUpfDApPDwyND4+MjQ9PTApOjApaWYo
IShhW2U+PjBdfDApKXtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+PTIpe2U9MDticmVhayBhfWY9KGV8
MCk9PTE7Zj1GQShjWygoY1tkPj4yXSYzfDApPT0oKGY/MjozKXwwKT9kOmQrKChmPy0xOjEpKjQ4
fDApfDApKzQwPj4yXXwwLGNbNDIyMTFdfDAsMTc0MTgxKXwwO2lmKCEoYVtmPj4wXXwwKSl7ZT0x
O2JyZWFrIGF9aWYoISgoaHYoYixmKXwwKTw8MjQ+PjI0KSllPWUrMXwwO2Vsc2V7ZT0xO2JyZWFr
fX19ZWxzZSBlPTA7ZWxzZSBlPTE7d2hpbGUoMCk7cmV0dXJuIGV8MH1mdW5jdGlvbiBEdShiKXti
PWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTA7
cD1sO2w9bCsxOTJ8MDtvPXArMjR8MDtuPXArMTZ8MDttPXArOHwwO2s9cDtnPXArNDh8MDtqPXAr
MzJ8MDtpZihhWzg1MzA1XXwwKXtjbSgxNjg2NzIsMTI4LDE3Mzk0OCk7YVs4NTMwNV09MH1jbShq
LDEyOCxwKzU2fDApO2NbZz4+Ml09YjtoPWorNHwwO2k9ais4fDA7ZD0wO2U9MDthOndoaWxlKDEp
e2Y9ZDtiOndoaWxlKDEpc3dpdGNoKGZ2KGcsail8MCl7Y2FzZSAwOntkPTIxO2JyZWFrIGF9Y2Fz
ZSA0MDppZighKGY8PDI0Pj4yNCkpe2Y9MTtjb250aW51ZSBifWVsc2V7ZD03O2JyZWFrIGF9Y2Fz
ZSA0MTppZighKGY8PDI0Pj4yNCkpe2Q9OTticmVhayBhfWVsc2V7Zj0wO2NvbnRpbnVlIGJ9ZGVm
YXVsdDpicmVhayBifWlmKCEoZjw8MjQ+PjI0KSl7aWYoKGV8MCk9PTYzKXtkPTEyO2JyZWFrfWQ9
Y1s0MjE2OV18MDtpZihkPj4+MD49KGNbNDIxNzBdfDApPj4+MCl7ZG0oMTY4NjcyLDEpfDA7ZD1j
WzQyMTY5XXwwfWNbNDIxNjldPWQrMTthW2Q+PjBdPTA7Y1sxNjg0MDgrKGU8PDIpPj4yXT1jWzQy
MTY5XTtlPWUrMXwwfWQ9Y1toPj4yXXwwO2lmKGQ+Pj4wPj0oY1tpPj4yXXwwKT4+PjApe2RtKGos
MSl8MDtkPWNbaD4+Ml18MH1hW2Q+PjBdPTA7ZD1jW2o+PjJdfDA7Y1toPj4yXT1kO2ZtKDE2ODY3
MixkKXwwO2Q9Y1s0MjE2OV18MDtpZihkPj4+MD49KGNbNDIxNzBdfDApPj4+MCl7ZG0oMTY4Njcy
LDEpfDA7ZD1jWzQyMTY5XXwwfWNbNDIxNjldPWQrMTthW2Q+PjBdPTA7ZD1mfWRvIGlmKChkfDAp
PT03KXtjW2s+PjJdPWI7X2woMSw4NTMwNixrKXwwO2NbNDIxMDJdPTA7Z20oail9ZWxzZSBpZigo
ZHwwKT09OSl7Y1ttPj4yXT1iO19sKDEsODUzNDAsbSl8MDtjWzQyMTAyXT0wO2dtKGopfWVsc2Ug
aWYoKGR8MCk9PTEyKXtjW24+PjJdPWI7X2woMCw4NTM2OCxuKXwwO2NbNDIxNjVdPTA7Z20oail9
ZWxzZSBpZigoZHwwKT09MjEpe2lmKGY8PDI0Pj4yNCl7Y1tvPj4yXT1iO19sKDEsODUzOTEsbyl8
MDtjWzQyMTAyXT0wO2dtKGopO2JyZWFrfWNbMTY4NDA4KyhlPDwyKT4+Ml09MDtnbShqKTtkPWNb
NDIxNjldfDA7aWYoZD4+PjA+PShjWzQyMTcwXXwwKT4+PjApe2RtKDE2ODY3MiwxKXwwO2Q9Y1s0
MjE2OV18MH1hW2Q+PjBdPTA7Y1s0MjE2OV09Y1s0MjE2OF19d2hpbGUoMCk7bD1wO3JldHVybiAx
Njg0MDh9ZnVuY3Rpb24gRXUoZCxmLGcpe2Q9ZHwwO2Y9ZnwwO2c9Z3wwO3ZhciBpPTAsaj0wLGs9
MCxtPTAuMCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6
PTAsQT0wO0E9bDtsPWwrMTYwfDA7eT1BKzI0fDA7dz1BKzIwfDA7dj1BKzE2fDA7bz1BO3A9QSsz
MnwwO3g9Y1tkKzE1Mj4+Ml18MDtjW3k+PjJdPTA7Y1t3Pj4yXT0wO2Nbdj4+Ml09MDt6PVZ0KGQp
fDA7Y1t6KzQ+PjJdPTM7Y1t6Kzg+PjJdPWY7Y1t6KzEyPj4yXT05O3Q9ZisxNnwwO249Y1soY1t0
Pj4yXXwwKSs5Nj4+Ml18MDtpZigobnwwPyhhW24rODI+PjBdfDApPT0wOjApPyhKQShJbShmLDg1
MTIxKXwwLDApfDApPDwyND4+MjQ6MCl7bj16KzI2MHwwO2Jbbj4+MV09YltuPj4xXXw1MTJ9aWYo
Z3wwP2NbKGNbdD4+Ml18MCkrOD4+Ml18MDowKUZEKGQsZyk7Zz1jWzQyMjUwXXwwO2lmKChnfDA/
KGk9Sm0oZixnKXwwLGl8MCk6MCk/YVtpPj4wXXwwOjApT0QoZCwrRUEoZixjWzQyMjUwXXwwLDEu
MCwwLjApKTtkbyBpZih4JjE2Nzc3MjE2fDApe2c9Zis0OHwwO2lmKChlWyhjWyhybyhjWygoY1tm
Pj4yXSYzfDApPT0zP2Y6ZykrNDA+PjJdfDApfDApKzE2Pj4yXXwwKSsxNzg+PjFdfDApPjIpe209
K2hbKGNbKGNbKGNbKChjW2Y+PjJdJjN8MCk9PTM/ZjpnKSs0MD4+Ml18MCkrMTY+PjJdfDApKzEz
Mj4+Ml18MCkrMTY+PjNdKjcyLjA7aFt6KzE3Nj4+M109Kyh+fihtKyhtPj0wLjA/LjU6LS41KSl8
MCk7bT0raFsoY1soY1soY1soKGNbZj4+Ml0mM3wwKT09Mj9mOmYrLTQ4fDApKzQwPj4yXXwwKSsx
Nj4+Ml18MCkrMTMyPj4yXXwwKSsxNj4+M10qNzIuMDtoW3orMTg0Pj4zXT0rKH5+KG0rKG0+PTAu
MD8uNTotLjUpKXwwKTticmVha31lbHNle249eisxNzZ8MDtjW24+PjJdPTA7Y1tuKzQ+PjJdPTA7
Y1tuKzg+PjJdPTA7Y1tuKzEyPj4yXT0wO2JyZWFrfX13aGlsZSgwKTtpZih4JjMyNzY4fDApe249
Y1t0Pj4yXXwwO2c9Y1tuKzk2Pj4yXXwwO2lmKCFnKWc9Y1t6KzE5Mj4+Ml18MDtlbHNle2c9Y1tn
Pj4yXXwwO2NbeisxOTI+PjJdPWd9aT16KzE5NnwwO2NbaT4+Ml09ZztrPXorMjA0fDA7Y1trPj4y
XT1nO2o9eisyMDB8MDtjW2o+PjJdPWc7Zz1jW24rMTA4Pj4yXXwwO2lmKGd8MCljW2k+PjJdPWNb
Zz4+Ml07Zz1jW24rMTA0Pj4yXXwwO2lmKGd8MCljW2o+PjJdPWNbZz4+Ml07Zz1jW24rMTAwPj4y
XXwwO2lmKGd8MCljW2s+PjJdPWNbZz4+Ml19aWYoISh4JjY1NTM2KSlqPTA7ZWxzZXtjbShvLDEy
OCxwKTtjW3orMjEyPj4yXT1xdyhZdChkLGYsbyl8MCxmKXwwO2dtKG8pO2c9SW0oZiw5NjI2NCl8
MDtpZigoZ3wwKSE9MD8oYVtnPj4wXXwwKSE9MDowKXE9MzE7ZWxzZXtnPUltKGYsOTYyNjkpfDA7
aWYoKGd8MCkhPTA/KGFbZz4+MF18MCkhPTA6MClxPTMxO2Vsc2UgaT0wfWlmKChxfDApPT0zMSlp
PXF3KGcsZil8MDtnPUltKGYsODUxMzQpfDA7aWYoKGd8MCkhPTA/KGFbZz4+MF18MCkhPTA6MClx
PTM2O2Vsc2UgcT0zNDtkbyBpZigocXwwKT09MzQpe2c9SW0oZiw4NTE0Myl8MDtpZihnfDA/YVtn
Pj4wXXwwOjApe3E9MzY7YnJlYWt9aWYoaXwwKXtnPUdMKGkpfDA7cT0zOX19d2hpbGUoMCk7aWYo
KHF8MCk9PTM2KXtnPXF3KGcsZil8MDtxPTM5fWlmKChxfDApPT0zOSljW3orMjA4Pj4yXT1nO2c9
SW0oZiw4NTE1MSl8MDtpZigoZ3wwKSE9MD8oYVtnPj4wXXwwKSE9MDowKXE9NDQ7ZWxzZSBxPTQy
O2RvIGlmKChxfDApPT00Mil7Zz1JbShmLDg1MTYxKXwwO2lmKGd8MD9hW2c+PjBdfDA6MCl7cT00
NDticmVha31pZihpfDApe2c9R0woaSl8MDtxPTQ3fX13aGlsZSgwKTtpZigocXwwKT09NDQpe2c9
cXcoZyxmKXwwO3E9NDd9aWYoKHF8MCk9PTQ3KWNbeisyMTY+PjJdPWc7Zz1JbShmLDg1MTcwKXww
O2lmKChnfDApIT0wPyhhW2c+PjBdfDApIT0wOjApcT01MjtlbHNlIHE9NTA7ZG8gaWYoKHF8MCk9
PTUwKXtnPUltKGYsODUxNzkpfDA7aWYoZ3wwP2FbZz4+MF18MDowKXtxPTUyO2JyZWFrfWlmKGl8
MCljW3orMjIwPj4yXT1HTChpKXwwfXdoaWxlKDApO2lmKChxfDApPT01Mil7Y1t6KzIyMD4+Ml09
cXcoZyxmKXwwO3E9eisyNjB8MDtiW3E+PjFdPWJbcT4+MV18MTI4fWc9SW0oZiw4NTE4Nyl8MDtp
ZigoZ3wwKSE9MD8oYVtnPj4wXXwwKSE9MDowKXE9NTk7ZWxzZSBxPTU3O2RvIGlmKChxfDApPT01
Nyl7Zz1JbShmLDg1MTk2KXwwO2lmKGd8MD9hW2c+PjBdfDA6MCl7cT01OTticmVha31pZihpfDAp
Y1t6KzIyND4+Ml09R0woaSl8MH13aGlsZSgwKTtpZigocXwwKT09NTkpe2NbeisyMjQ+PjJdPXF3
KGcsZil8MDtxPXorMjYwfDA7YltxPj4xXT1iW3E+PjFdfDI1Nn1qPWl9ZG8gaWYoeCY4Mzg4NjA4
KXtnPUltKGYsODUyMDQpfDA7aWYoKGd8MCkhPTA/KGFbZz4+MF18MCkhPTA6MClpPXF3KGcsZil8
MDtlbHNlIGk9MDtnPUltKGYsODUyMTEpfDA7aWYoKGd8MCkhPTA/KGFbZz4+MF18MCkhPTA6MCl7
cT16KzI2MHwwO2JbcT4+MV09YltxPj4xXXw2NDtnPXF3KGcsZil8MDtxPTcyfWVsc2UgcT03MDtp
ZigocXwwKT09NzA/aXwwOjApe2c9R0woaSl8MDtxPTcyfWlmKChxfDApPT03MiljW3orMjQ0Pj4y
XT1nO2c9SW0oZiw4NTIyMil8MDtpZigoZ3wwKSE9MD8oYVtnPj4wXXwwKSE9MDowKXtnPXF3KGcs
Zil8MDtxPTc4fWVsc2UgcT03NjtpZigocXwwKT09NzY/aXwwOjApe2c9R0woaSl8MDtxPTc4fWlm
KChxfDApPT03OCljW3orMjQ4Pj4yXT1nO2c9SW0oZiw4NTIzNCl8MDtpZigoZ3wwKSE9MD8oYVtn
Pj4wXXwwKSE9MDowKXtjW3orMjUyPj4yXT1xdyhnLGYpfDA7cD16KzI2MHwwO2JbcD4+MV09Yltw
Pj4xXXwxNn1lbHNlIHE9ODI7aWYoKHF8MCk9PTgyP2l8MDowKWNbeisyNTI+PjJdPUdMKGkpfDA7
Zz1JbShmLDg1MjQ1KXwwO2lmKGd8MD9hW2c+PjBdfDA6MCl7cT16KzI2MHwwO2JbcT4+MV09Yltx
Pj4xXXwzMjtjW3orMjU2Pj4yXT1xdyhnLGYpfDA7YnJlYWt9aWYoaSljW3orMjU2Pj4yXT1HTChp
KXwwO2Vsc2UgaT0wfWVsc2UgaT0wO3doaWxlKDApO2RvIGlmKHgmNDE5NDMwNHwwKXtnPUltKGYs
OTYyMjkpfDA7aWYoKGd8MCkhPTA/KGFbZz4+MF18MCkhPTA6MClxPTk0O2Vsc2UgcT05MjtkbyBp
ZigocXwwKT09OTIpe2c9SW0oZiw4NTI1Nil8MDtpZihnfDA/YVtnPj4wXXwwOjApe3E9OTQ7YnJl
YWt9Zz1jW3orMTkyPj4yXXwwO2lmKGd8MCljW3orMjI4Pj4yXT1HTChnKXwwfXdoaWxlKDApO2lm
KChxfDApPT05NCl7cD1adShnLGYpfDA7Y1t6KzIyOD4+Ml09cXcocCxmKXwwO19JKHApO3A9eisy
NjB8MDtiW3A+PjFdPWJbcD4+MV18MX1nPUltKGYsODUyNjgpfDA7aWYoKGd8MCkhPTA/KGFbZz4+
MF18MCkhPTA6MCl7cD1adShnLGYpfDA7Y1t6KzIzMj4+Ml09cXcocCxmKXwwO19JKHApO3A9eisy
NjB8MDtiW3A+PjFdPWJbcD4+MV18OH1lbHNlIHE9MTAwO2lmKChxfDApPT0xMDA/KHI9Y1t6KzE5
Mj4+Ml18MCxyfDApOjApY1t6KzIzMj4+Ml09R0wocil8MDtnPUltKGYsODUyODEpfDA7aWYoKGd8
MCkhPTA/KGFbZz4+MF18MCkhPTA6MCl7cj1adShnLGYpfDA7Y1t6KzIzNj4+Ml09cXcocixmKXww
O19JKHIpO3I9eisyNjB8MDtiW3I+PjFdPWJbcj4+MV18Mn1lbHNlIHE9MTA1O2lmKChxfDApPT0x
MDU/KHM9Y1t6KzIwMD4+Ml18MCxzfDApOjApY1t6KzIzNj4+Ml09R0wocyl8MDtnPUltKGYsODUy
OTMpfDA7aWYoZ3wwP2FbZz4+MF18MDowKXtzPVp1KGcsZil8MDtjW3orMjQwPj4yXT1xdyhzLGYp
fDA7X0kocyk7cz16KzI2MHwwO2Jbcz4+MV09YltzPj4xXXw0O2JyZWFrfWc9Y1t6KzIwND4+Ml18
MDtpZihnfDApY1t6KzI0MD4+Ml09R0woZyl8MH13aGlsZSgwKTtfSShqKTtfSShpKTtkbyBpZih4
JjQyNTk4NDB8MD8odT1jWyhjW3Q+PjJdfDApKzg+PjJdfDAsdXwwKTowKXtpZighKGNbeisyMDg+
PjJdfDApKXtpZigoeCY1MjQyODh8MCk9PTB8KGNbeisyMjg+PjJdfDApPT0wKWJyZWFrfWVsc2Ug
aWYoISh4JjUyNDI4OCkpYnJlYWs7bT0raFsoY1tkKzE2Pj4yXXwwKSsxNTI+PjNdKi41O209bT4y
LjA/bToyLjA7aT1jW3UrND4+Ml18MDtnPTA7d2hpbGUoMSl7aWYoKGd8MCk+PShpfDApKWJyZWFr
O191KHksdyx2LChjW3U+PjJdfDApKyhnKjQ4fDApfDAsbSk7Zz1nKzF8MH1qPWNbdj4+Ml18MDtj
W3orMjc2Pj4yXT1qO2s9Y1t3Pj4yXXwwO2NbeisyODA+PjJdPWs7aWYoISh4JjgxOTIpKXtnPTA7
aT0wO3doaWxlKDEpe2lmKChpfDApPj0oanwwKSlicmVhaztnPShjW2srKGk8PDIpPj4yXXwwKStn
fDA7aT1pKzF8MH15PWNbeT4+Ml18MDtmRChkLHkseSxnKXwwO2c9eX1lbHNlIGc9Y1t5Pj4yXXww
O2NbeisyODQ+PjJdPWc7Y1t6KzI2ND4+Ml09MjtjW3orMjcyPj4yXT1nO2NbeisyNjg+PjJdPWNb
az4+Ml19d2hpbGUoMCk7dUQoZCxmKTtnPWNbeisyMDg+PjJdfDA7aWYoISgoZ3wwKT09MD8hKGJb
eisyNjA+PjFdJjEpOjApKXdEKGQsZyxjW3orMjI4Pj4yXXwwLGNbeisyNDQ+PjJdfDAsY1t6KzIx
Mj4+Ml18MCk7bD1BO3JldHVybn1mdW5jdGlvbiBGdShiLGUsZil7Yj1ifDA7ZT1lfDA7Zj1mfDA7
dmFyIGc9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLjAsdT0w
LHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAs
Sj0wLEs9MCxMPTAsTT0wLjAsTj0wLjAsTz0wLFA9MCxRPTAsUj0wLFM9MDtQPWw7bD1sKzI0MHww
O0w9UCsyMjR8MDtLPVArMjA4fDA7eD1QKzEyOHwwO3c9UCsxMTJ8MDtPPVArNjR8MDtDPVArNDh8
MDtEPVArMzJ8MDtFPVArMTZ8MDtGPVA7Rz1QKzE5MnwwO0g9UCsxNzZ8MDt5PVArMTYwfDA7Qj1Q
KzE0NHwwO2NbRT4+Ml09MDtjW0UrND4+Ml09MDtjW0UrOD4+Ml09MDtjW0UrMTI+PjJdPTA7TT0r
aFsoY1tiKzE2Pj4yXXwwKSsxNTI+PjNdO1pFKEltKGUsODUwNDgpfDApO0o9ZSsxNnwwO2E6ZG8g
aWYoY1soY1tKPj4yXXwwKSs4Pj4yXXwwKXtOPStFQShlLGNbNDIyMzJdfDAsMS4wLDAuMCk7az1G
QShlLGNbNDIyMjBdfDAsMTc0MTgxKXwwO3Y9KGZ8MCkhPTA7YjpkbyBpZih2KXtnPWY7d2hpbGUo
MSl7aT1nO2c9Zys0fDA7aT1jW2k+PjJdfDA7aWYoIWkpe289MDticmVhayBifWlmKChhW2k+PjBd
fDApIT0xMTYpY29udGludWU7aWYoISh4SihpLDk1OTM5KXwwKSl7bz0xO2JyZWFrfX19ZWxzZSBv
PTA7d2hpbGUoMCk7aj1rO3E9MDtpPTA7Yzp3aGlsZSgxKXtzd2l0Y2goYVtqPj4wXXwwKXtjYXNl
IDA6YnJlYWsgYztjYXNlIDU4OntnPXErMXwwO2JyZWFrfWNhc2UgNTk6e2c9cTtpPWkrMXwwO2Jy
ZWFrfWRlZmF1bHQ6Zz1xfWo9aisxfDA7cT1nfW49KHF8MCkhPTA7aWYoKGl8MCkhPTAmbilpZigh
KE51KGIsZSxmLGsscSsxfDAsTixNKXwwKSlicmVhaztlbHNlIG09MTIyMTA2O2Vsc2UgbT1rO2c9
ZFsoY1tKPj4yXXwwKSsxMTU+PjBdfDA7aWYoIShnJjEpKWlmKCEoZyYyKSlpZighKGcmOCkpaWYo
IShnJjQpKXtpPW07aj1HQShlLGNbNDIyMjFdfDAsbSl8MH1lbHNle2o9OTEzNDA7Zz05MTMzMjtr
PTE2ODg4ODtpPTE2ODg4ODtwPTE4fWVsc2V7aj05MTMyNDtnPTkxMzE2O2s9MTY4ODg4O2k9MTY4
ODg4O3A9MTh9ZWxzZXtqPTkxMzA4O2c9OTEzMDA7az0xNjg4ODg7aT0xNjg4ODg7cD0xOH1lbHNl
e2o9OTEyOTI7Zz05MTI4NDtrPTE2ODg4ODtpPTE2ODg4ODtwPTE4fWlmKChwfDApPT0xOCl7aT1j
W2k+PjJdfDA7aT1HQShlLGksT3UobSxnKXwwKXwwO2c9R0EoZSxjW2s+PjJdfDAsail8MDtpZigo
aXwwKT09KG18MCkpe2k9bTtqPWd9ZWxzZXtCRChiLGkpO2o9Z319aWYoKGp8MCkhPShtfDApKURE
KGIsaik7aWYobzw8MjQ+PjI0KXtpPShhW2k+PjBdfDApPT0wPzEyMjEwNjppO2c9KGFbaj4+MF18
MCk9PTA/MTIyMTA2Omo7QkQoYiwxMjIxNzEpO0REKGIsaSk7dT1PO3I9Y1tjWyhjW0o+PjJdfDAp
Kzg+PjJdPj4yXXwwO3M9dSs0OHwwO2Rve2NbdT4+Ml09Y1tyPj4yXTt1PXUrNHwwO3I9cis0fDB9
d2hpbGUoKHV8MCk8KHN8MCkpO0o9ZEEoTyxQdShlKXwwLE0sMCwwKXwwO0hEKGIsY1tKKzg+PjJd
fDAsY1tKPj4yXXwwLDEpO1F1KEopO0JEKGIsaSk7aWYoKGd8MCkhPShpfDApKUREKGIsZyk7Zz1j
W08rOD4+Ml18MDtpZihnfDApe0k9TysxNnwwO0o9Y1tPPj4yXXwwO2NbSz4+Ml09Y1tJPj4yXTtj
W0srND4+Ml09Y1tJKzQ+PjJdO2NbSys4Pj4yXT1jW0krOD4+Ml07Y1tLKzEyPj4yXT1jW0krMTI+
PjJdO2NbTD4+Ml09Y1tKPj4yXTtjW0wrND4+Ml09Y1tKKzQ+PjJdO2NbTCs4Pj4yXT1jW0orOD4+
Ml07Y1tMKzEyPj4yXT1jW0orMTI+PjJdO1N0KGIsMixLLEwsTixNLGcpfWc9Y1tPKzEyPj4yXXww
O2lmKCFnKWJyZWFrO0o9TyszMnwwO089KGNbTz4+Ml18MCkrKChjW08rND4+Ml18MCkrLTE8PDQp
fDA7Y1tLPj4yXT1jW0o+PjJdO2NbSys0Pj4yXT1jW0orND4+Ml07Y1tLKzg+PjJdPWNbSis4Pj4y
XTtjW0srMTI+PjJdPWNbSisxMj4+Ml07Y1tMPj4yXT1jW08+PjJdO2NbTCs0Pj4yXT1jW08rND4+
Ml07Y1tMKzg+PjJdPWNbTys4Pj4yXTtjW0wrMTI+PjJdPWNbTysxMj4+Ml07U3QoYiwzLEssTCxO
LE0sZyk7YnJlYWt9Zz1jW0o+PjJdfDA7aWYoIW4pe2RvIGlmKCEoYVtnKzExNT4+MF0mMykpe2lm
KGFbaT4+MF18MCl7QkQoYixpKTtERChiLGopO2JyZWFrfUJEKGIsMTIyMTA2KTtpZighKGFbaj4+
MF18MCkpe0REKGIsMTIyMTA2KTticmVha31lbHNle0REKGIsaik7YnJlYWt9fXdoaWxlKDApO2s9
YisxNTJ8MDttPU8rNHwwO249Tys4fDA7bz1PKzEyfDA7cD1PKzMyfDA7cT1PKzE2fDA7aj0wO3do
aWxlKDEpe2c9Y1soY1tKPj4yXXwwKSs4Pj4yXXwwO2lmKChqfDApPj0oY1tnKzQ+PjJdfDApKWJy
ZWFrIGE7dT1PO3I9KGNbZz4+Ml18MCkrKGoqNDh8MCl8MDtzPXUrNDh8MDtkb3tjW3U+PjJdPWNb
cj4+Ml07dT11KzR8MDtyPXIrNHwwfXdoaWxlKCh1fDApPChzfDApKTtnPWNbTz4+Ml18MDtpPWNb
bT4+Ml18MDtkbyBpZighKGNbaz4+Ml0mMTYzODQpKXtKRChiLGcsaSwwLDAsMCk7Zz1jW24+PjJd
fDA7aWYoZ3wwKXtJPWNbTz4+Ml18MDtjW0s+PjJdPWNbcT4+Ml07Y1tLKzQ+PjJdPWNbcSs0Pj4y
XTtjW0srOD4+Ml09Y1txKzg+PjJdO2NbSysxMj4+Ml09Y1txKzEyPj4yXTtjW0w+PjJdPWNbST4+
Ml07Y1tMKzQ+PjJdPWNbSSs0Pj4yXTtjW0wrOD4+Ml09Y1tJKzg+PjJdO2NbTCsxMj4+Ml09Y1tJ
KzEyPj4yXTtTdChiLDIsSyxMLE4sTSxnKX1nPWNbbz4+Ml18MDtpZihnfDApe0k9KGNbTz4+Ml18
MCkrKChjW20+PjJdfDApKy0xPDw0KXwwO2NbSz4+Ml09Y1twPj4yXTtjW0srND4+Ml09Y1twKzQ+
PjJdO2NbSys4Pj4yXT1jW3ArOD4+Ml07Y1tLKzEyPj4yXT1jW3ArMTI+PjJdO2NbTD4+Ml09Y1tJ
Pj4yXTtjW0wrND4+Ml09Y1tJKzQ+PjJdO2NbTCs4Pj4yXT1jW0krOD4+Ml07Y1tMKzEyPj4yXT1j
W0krMTI+PjJdO1N0KGIsMyxLLEwsTixNLGcpfWlmKChjWyhjWyhjW0o+PjJdfDApKzg+PjJdfDAp
KzQ+PjJdfDApPjEpe2lmKCEoY1tuPj4yXXwwKSl7aWYoISh2JihjW28+PjJdfDApIT0wKSlicmVh
a31lbHNlIGlmKCF2KWJyZWFrO0ZEKGIsZil9fWVsc2UgSkQoYixnLGksY1tuPj4yXXwwLGNbbz4+
Ml18MCwwKTt3aGlsZSgwKTtqPWorMXwwfX1JPWNbKGNbZys4Pj4yXXwwKSs0Pj4yXXwwO0E9SSo0
OHwwO3o9WkkoQSl8MDtBPVpJKEEpfDA7dD0rKHErMnwwKSouNTt2PU8rNHwwO3A9Qys4fDA7cT1E
Kzh8MDtlPUUrOHwwO2Y9Ris4fDA7bz0wO3doaWxlKDEpe2lmKChvfDApPj0oSXwwKSlicmVhazt1
PU87cj0oY1tjWyhjW0o+PjJdfDApKzg+PjJdPj4yXXwwKSsobyo0OHwwKXwwO3M9dSs0OHwwO2Rv
e2NbdT4+Ml09Y1tyPj4yXTt1PXUrNHwwO3I9cis0fDB9d2hpbGUoKHV8MCk8KHN8MCkpO2c9Y1t2
Pj4yXXwwO2Nbeisobyo0OHwwKSs0Pj4yXT1nO2NbQSsobyo0OHwwKSs0Pj4yXT1nO249Zzw8NDtt
PVpJKG4pfDA7Y1t6KyhvKjQ4fDApPj4yXT1tO249Wkkobil8MDtjW0ErKG8qNDh8MCk+PjJdPW47
az1jW08+PjJdfDA7Y1tGPj4yXT1jW2s+PjJdO2NbRis0Pj4yXT1jW2srND4+Ml07Y1tGKzg+PjJd
PWNbays4Pj4yXTtjW0YrMTI+PjJdPWNbaysxMj4+Ml07az0wO3doaWxlKDEpe2lmKChrfDApPj0o
ZystMXwwKSlicmVhaztjW0M+PjJdPWNbRj4+Ml07Y1tDKzQ+PjJdPWNbRis0Pj4yXTtjW0MrOD4+
Ml09Y1tGKzg+PjJdO2NbQysxMj4+Ml09Y1tGKzEyPj4yXTtnPWsrMXwwO2o9KGNbTz4+Ml18MCkr
KGc8PDQpfDA7Y1tEPj4yXT1jW2o+PjJdO2NbRCs0Pj4yXT1jW2orND4+Ml07Y1tEKzg+PjJdPWNb
ais4Pj4yXTtjW0QrMTI+PjJdPWNbaisxMj4+Ml07aj1tKyhrPDw0KXwwO2lmKCFrKXtjW0s+PjJd
PWNbQz4+Ml07Y1tLKzQ+PjJdPWNbQys0Pj4yXTtjW0srOD4+Ml09Y1tDKzg+PjJdO2NbSysxMj4+
Ml09Y1tDKzEyPj4yXTtjW0w+PjJdPWNbRD4+Ml07Y1tMKzQ+PjJdPWNbRCs0Pj4yXTtjW0wrOD4+
Ml09Y1tEKzg+PjJdO2NbTCsxMj4+Ml09Y1tEKzEyPj4yXTtSdShHLEssTCk7Y1tqPj4yXT1jW0c+
PjJdO2Nbais0Pj4yXT1jW0crND4+Ml07Y1tqKzg+PjJdPWNbRys4Pj4yXTtjW2orMTI+PjJdPWNb
RysxMj4+Ml19ZWxzZXtjW0s+PjJdPWNbRT4+Ml07Y1tLKzQ+PjJdPWNbRSs0Pj4yXTtjW0srOD4+
Ml09Y1tFKzg+PjJdO2NbSysxMj4+Ml09Y1tFKzEyPj4yXTtjW0w+PjJdPWNbRD4+Ml07Y1tMKzQ+
PjJdPWNbRCs0Pj4yXTtjW0wrOD4+Ml09Y1tEKzg+PjJdO2NbTCsxMj4+Ml09Y1tEKzEyPj4yXTtS
dShILEssTCk7Y1tqPj4yXT1jW0g+PjJdO2Nbais0Pj4yXT1jW0grND4+Ml07Y1tqKzg+PjJdPWNb
SCs4Pj4yXTtjW2orMTI+PjJdPWNbSCsxMj4+Ml19Uj1jW08+PjJdfDA7cz1rKzJ8MDtTPVIrKHM8
PDQpfDA7Y1tFPj4yXT1jW1M+PjJdO2NbRSs0Pj4yXT1jW1MrND4+Ml07Y1tFKzg+PjJdPWNbUys4
Pj4yXTtjW0UrMTI+PjJdPWNbUysxMj4+Ml07dT1rKzN8MDtSPVIrKHU8PDQpfDA7Y1tGPj4yXT1j
W1I+PjJdO2NbRis0Pj4yXT1jW1IrND4+Ml07Y1tGKzg+PjJdPWNbUis4Pj4yXTtjW0YrMTI+PjJd
PWNbUisxMj4+Ml07UT1tKyhnPDw0KXwwO3I9bSsoczw8NCl8MDtjW3c+PjJdPWNbQz4+Ml07Y1t3
KzQ+PjJdPWNbQys0Pj4yXTtjW3crOD4+Ml09Y1tDKzg+PjJdO2NbdysxMj4+Ml09Y1tDKzEyPj4y
XTtjW3g+PjJdPWNbRD4+Ml07Y1t4KzQ+PjJdPWNbRCs0Pj4yXTtjW3grOD4+Ml09Y1tEKzg+PjJd
O2NbeCsxMj4+Ml09Y1tEKzEyPj4yXTtjW0s+PjJdPWNbUz4+Ml07Y1tLKzQ+PjJdPWNbUys0Pj4y
XTtjW0srOD4+Ml09Y1tTKzg+PjJdO2NbSysxMj4+Ml09Y1tTKzEyPj4yXTtjW0w+PjJdPWNbUj4+
Ml07Y1tMKzQ+PjJdPWNbUis0Pj4yXTtjW0wrOD4+Ml09Y1tSKzg+PjJdO2NbTCsxMj4+Ml09Y1tS
KzEyPj4yXTtTdSh5LHcseCxLLEwpO2Nbcj4+Ml09Y1t5Pj4yXTtjW3IrND4+Ml09Y1t5KzQ+PjJd
O2Nbcis4Pj4yXT1jW3krOD4+Ml07Y1tyKzEyPj4yXT1jW3krMTI+PjJdO2NbUT4+Ml09Y1t5Pj4y
XTtjW1ErND4+Ml09Y1t5KzQ+PjJdO2NbUSs4Pj4yXT1jW3krOD4+Ml07Y1tRKzEyPj4yXT1jW3kr
MTI+PjJdO2hbbisoazw8NCk+PjNdPStoW0M+PjNdLStoW2o+PjNdKnQ7aFtuKyhrPDw0KSs4Pj4z
XT0raFtwPj4zXS0raFttKyhrPDw0KSs4Pj4zXSp0O2hbbisoZzw8NCk+PjNdPStoW0Q+PjNdLSto
W1E+PjNdKnQ7aFtuKyhnPDw0KSs4Pj4zXT0raFtxPj4zXS0raFttKyhnPDw0KSs4Pj4zXSp0O2hb
bisoczw8NCk+PjNdPStoW0U+PjNdLStoW3I+PjNdKnQ7aFtuKyhzPDw0KSs4Pj4zXT0raFtlPj4z
XS0raFttKyhzPDw0KSs4Pj4zXSp0O2s9dTtnPWNbdj4+Ml18MH1TPW0rKGs8PDQpfDA7Y1tLPj4y
XT1jW0U+PjJdO2NbSys0Pj4yXT1jW0UrND4+Ml07Y1tLKzg+PjJdPWNbRSs4Pj4yXTtjW0srMTI+
PjJdPWNbRSsxMj4+Ml07Y1tMPj4yXT1jW0Y+PjJdO2NbTCs0Pj4yXT1jW0YrND4+Ml07Y1tMKzg+
PjJdPWNbRis4Pj4yXTtjW0wrMTI+PjJdPWNbRisxMj4+Ml07UnUoQixLLEwpO2NbUz4+Ml09Y1tC
Pj4yXTtjW1MrND4+Ml09Y1tCKzQ+PjJdO2NbUys4Pj4yXT1jW0IrOD4+Ml07Y1tTKzEyPj4yXT1j
W0IrMTI+PjJdO2hbbisoazw8NCk+PjNdPStoW0Y+PjNdLStoW1M+PjNdKnQ7aFtuKyhrPDw0KSs4
Pj4zXT0raFtmPj4zXS0raFttKyhrPDw0KSs4Pj4zXSp0O289bysxfDB9cz1HTChpKXwwO2Y9MDty
PWk7Zz1pO2o9aTtpPXM7d2hpbGUoMSl7aT1ETChpLDkzMDE3KXwwO2lmKCFpKWJyZWFrO2U9KGFb
aT4+MF18MCk9PTA/MTIyMTA2Omk7aWYoKGV8MCkhPShqfDApKWlmKCEoYVsoY1tKPj4yXXwwKSsx
MTU+PjBdJjMpKXtCRChiLGUpO0REKGIsZSk7aj1lfWVsc2Ugaj1lO209KGZ8MCk9PTA7bj1mPj4+
MDwyO2k9MDt3aGlsZSgxKXtpZigoaXwwKT49KEl8MCkpYnJlYWs7bz1jW0ErKGkqNDh8MCk+PjJd
fDA7cD1jW3orKGkqNDh8MCk+PjJdfDA7cT1jW0ErKGkqNDh8MCkrND4+Ml18MDtrPTA7d2hpbGUo
MSl7aWYoKGt8MCk+PShxfDApKWJyZWFrO1M9bysoazw8NCl8MDtoW1M+PjNdPStoW1M+PjNdKyAr
aFtwKyhrPDw0KT4+M107Uz1vKyhrPDw0KSs4fDA7aFtTPj4zXT0raFtTPj4zXSsgK2hbcCsoazw8
NCkrOD4+M107az1rKzF8MH1KRChiLG8scSwwLDAsMCk7aT1pKzF8MH1mPWYrMXwwO3I9bT9lOnI7
Zz1uP2U6ZztpPTB9aT1jW08rOD4+Ml18MDtpZighaSlpPTA7ZWxzZXtpZihnKXtpZighKGFbKGNb
Sj4+Ml18MCkrMTE1Pj4wXSYzKSl7QkQoYixnKTtERChiLGcpfX1lbHNlIGc9MDtSPU8rMTZ8MDtT
PWNbTz4+Ml18MDtjW0s+PjJdPWNbUj4+Ml07Y1tLKzQ+PjJdPWNbUis0Pj4yXTtjW0srOD4+Ml09
Y1tSKzg+PjJdO2NbSysxMj4+Ml09Y1tSKzEyPj4yXTtjW0w+PjJdPWNbUz4+Ml07Y1tMKzQ+PjJd
PWNbUys0Pj4yXTtjW0wrOD4+Ml09Y1tTKzg+PjJdO2NbTCsxMj4+Ml09Y1tTKzEyPj4yXTtTdChi
LDIsSyxMLE4sTSxpKTtpPWd9aj1PKzEyfDA7Zz1jW2o+PjJdfDA7aWYoZ3wwKXtpZigoaXwwKSE9
KHJ8MCk/KGFbKGNbSj4+Ml18MCkrMTE1Pj4wXSYzKT09MDowKXtCRChiLHIpO0REKGIscik7Zz1j
W2o+PjJdfDB9Uj1PKzMyfDA7Uz0oY1tPPj4yXXwwKSsoKGNbdj4+Ml18MCkrLTE8PDQpfDA7Y1tL
Pj4yXT1jW1I+PjJdO2NbSys0Pj4yXT1jW1IrND4+Ml07Y1tLKzg+PjJdPWNbUis4Pj4yXTtjW0sr
MTI+PjJdPWNbUisxMj4+Ml07Y1tMPj4yXT1jW1M+PjJdO2NbTCs0Pj4yXT1jW1MrND4+Ml07Y1tM
Kzg+PjJdPWNbUys4Pj4yXTtjW0wrMTI+PjJdPWNbUysxMj4+Ml07U3QoYiwzLEssTCxOLE0sZyl9
X0kocyk7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oSXwwKSlicmVhaztfSShjW3orKGcqNDh8MCk+
PjJdfDApO19JKGNbQSsoZyo0OHwwKT4+Ml18MCk7Zz1nKzF8MH1fSSh6KTtfSShBKX13aGlsZSgw
KTtsPVA7cmV0dXJufWZ1bmN0aW9uIEd1KGEpe2E9YXwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0w
LGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAs
eD0wLHk9MDt4PWw7bD1sKzY0fDA7cj14KzQ4fDA7dT14KzMyfDA7dD14KzE2fDA7cz14O3c9Y1th
KzE2Pj4yXXwwO3Y9Y1t3Kzg+PjJdfDA7cT13KzIwOHwwO2lmKCEoKGNbcT4+Ml18MCk9PTA/IShi
W3crMjYwPj4xXSYxKTowKSlkPTM7YTpkbyBpZigoZHwwKT09Mz8oeEQoYSkscD13KzI3NnwwLGU9
Y1twPj4yXXwwLGV8MCk6MCl7aD13KzI4MHwwO2Q9Y1toPj4yXXwwO2k9dysyNjh8MDtqPXcrMjg0
fDA7az13KzI3MnwwO209dysyMjh8MDtuPXcrMjQ0fDA7bz13KzIxMnwwO2Y9Y1tkPj4yXXwwO2c9
MTt3aGlsZSgxKXtpZigoZ3wwKT49KGV8MCkpYnJlYWsgYTtjW2k+PjJdPWNbZCsoZzw8Mik+PjJd
O2Nbaz4+Ml09KGNbaj4+Ml18MCkrKGY8PDQpO3dEKGEsY1txPj4yXXwwLGNbbT4+Ml18MCxjW24+
PjJdfDAsY1tvPj4yXXwwKTt4RChhKTt5PWNbaD4+Ml18MDtmPShjW3krKGc8PDIpPj4yXXwwKStm
fDA7Zz1nKzF8MDtlPWNbcD4+Ml18MDtkPXl9fXdoaWxlKDApO2NbdysyNjg+PjJdPTA7Y1t3KzI3
Mj4+Ml09MDtxPXYrMTZ8MDtkPWNbcT4+Ml18MDtlPWNbZCs4Pj4yXXwwO2lmKCFlKWY9dysyNjB8
MDtlbHNle3A9Y1tlPj4yXXwwO2Q9Y1twPj4yXXwwO3k9Y1twKzg+PjJdfDA7bz1wKzE2fDA7Y1t0
Pj4yXT1jW28+PjJdO2NbdCs0Pj4yXT1jW28rND4+Ml07Y1t0Kzg+PjJdPWNbbys4Pj4yXTtjW3Qr
MTI+PjJdPWNbbysxMj4+Ml07cD1wKzMyfDA7Y1tzPj4yXT1jW3A+PjJdO2Nbcys0Pj4yXT1jW3Ar
ND4+Ml07Y1tzKzg+PjJdPWNbcCs4Pj4yXTtjW3MrMTI+PjJdPWNbcCsxMj4+Ml07aWYoIXkpe2Nb
dT4+Ml09Y1tkPj4yXTtjW3UrND4+Ml09Y1tkKzQ+PjJdO2NbdSs4Pj4yXT1jW2QrOD4+Ml07Y1t1
KzEyPj4yXT1jW2QrMTI+PjJdfWVsc2V7Y1t1Pj4yXT1jW3Q+PjJdO2NbdSs0Pj4yXT1jW3QrND4+
Ml07Y1t1Kzg+PjJdPWNbdCs4Pj4yXTtjW3UrMTI+PjJdPWNbdCsxMj4+Ml19Zj13KzI2MHwwO3A9
YltmPj4xXXwwO289Y1t3KzIyMD4+Ml18MDtjW3I+PjJdPWNbdT4+Ml07Y1tyKzQ+PjJdPWNbdSs0
Pj4yXTtjW3IrOD4+Ml09Y1t1Kzg+PjJdO2NbcisxMj4+Ml09Y1t1KzEyPj4yXTtIdShhLHIsKHA8
PDgmNjU1MzUpPDwxNj4+MTY+PjE1JjI1NSxvLChwPDwxNCY2NTUzNSk8PDE2Pj4xNj4+MTUmMjU1
KTtwPWNbKGNbcT4+Ml18MCkrOD4+Ml18MDtvPWNbcD4+Ml18MDtwPShjW3ArND4+Ml18MCkrLTF8
MDtkPWNbbysocCo0OHwwKT4+Ml18MDtlPWNbbysocCo0OHwwKSs0Pj4yXXwwO3k9Y1tvKyhwKjQ4
fDApKzEyPj4yXXwwO249bysocCo0OHwwKSsxNnwwO2NbdD4+Ml09Y1tuPj4yXTtjW3QrND4+Ml09
Y1tuKzQ+PjJdO2NbdCs4Pj4yXT1jW24rOD4+Ml07Y1t0KzEyPj4yXT1jW24rMTI+PjJdO3Q9byso
cCo0OHwwKSszMnwwO2Nbcz4+Ml09Y1t0Pj4yXTtjW3MrND4+Ml09Y1t0KzQ+PjJdO2Nbcys4Pj4y
XT1jW3QrOD4+Ml07Y1tzKzEyPj4yXT1jW3QrMTI+PjJdO2lmKCF5KXt5PWQrKGUrLTE8PDQpfDA7
Y1t1Pj4yXT1jW3k+PjJdO2NbdSs0Pj4yXT1jW3krND4+Ml07Y1t1Kzg+PjJdPWNbeSs4Pj4yXTtj
W3UrMTI+PjJdPWNbeSsxMj4+Ml19ZWxzZXtjW3U+PjJdPWNbcz4+Ml07Y1t1KzQ+PjJdPWNbcys0
Pj4yXTtjW3UrOD4+Ml09Y1tzKzg+PjJdO2NbdSsxMj4+Ml09Y1tzKzEyPj4yXX1kPWJbZj4+MV18
MDt5PWNbdysyMjQ+PjJdfDA7Y1tyPj4yXT1jW3U+PjJdO2Nbcis0Pj4yXT1jW3UrND4+Ml07Y1ty
Kzg+PjJdPWNbdSs4Pj4yXTtjW3IrMTI+PjJdPWNbdSsxMj4+Ml07SHUoYSxyLChkPDw3JjY1NTM1
KTw8MTY+PjE2Pj4xNSYyNTUseSwoZDw8MTMmNjU1MzUpPDwxNj4+MTY+PjE1JjI1NSk7ZD1jW3E+
PjJdfDB9ZT1jW2QrOTY+PjJdfDA7Zz0oYltmPj4xXTw8MTImNjU1MzUpPDwxNj4+MTY+PjE1PDwx
Nj4+MTY7bT13KzIxNnwwO2g9Y1ttPj4yXXwwO249dysyMzJ8MDtpPWNbbj4+Ml18MDtvPXcrMjQ4
fDA7aj1jW28+PjJdfDA7cD13KzIxMnwwO2s9Y1twPj4yXXwwO2lmKCEoKElBKEZBKHYsY1s0MjIz
MF18MCwxMjIxMDApfDApfDApPDwyND4+MjQpKWQ9MDtlbHNlIGQ9Y1soY1txPj4yXXwwKSs4Pj4y
XXwwO0l1KGEsZSwxMSxnLGgsaSxqLGssZCk7aj1jWyhjW3E+PjJdfDApKzEwOD4+Ml18MDtrPShi
W2Y+PjFdPDwxMiY2NTUzNSk8PDE2Pj4xNj4+MTU8PDE2Pj4xNjtpPWNbbT4+Ml18MDtoPWNbbj4+
Ml18MDtlPWNbbz4+Ml18MDtnPWNbcD4+Ml18MDtpZighKChJQShGQSh2LGNbNDIyMzBdfDAsMTIy
MTAwKXwwKXwwKTw8MjQ+PjI0KSlkPTA7ZWxzZSBkPWNbKGNbcT4+Ml18MCkrOD4+Ml18MDtJdShh
LGosMTEsayxpLGgsZSxnLGQpO0l1KGEsY1soY1txPj4yXXwwKSsxMDA+PjJdfDAsNywoYltmPj4x
XTw8MTMmNjU1MzUpPDwxNj4+MTY+PjE1PDwxNj4+MTYsY1t3KzIyND4+Ml18MCxjW3crMjQwPj4y
XXwwLGNbdysyNTY+PjJdfDAsY1twPj4yXXwwLDApO0l1KGEsY1soY1txPj4yXXwwKSsxMDQ+PjJd
fDAsNiwoYltmPj4xXTw8MTQmNjU1MzUpPDwxNj4+MTY+PjE1PDwxNj4+MTYsY1t3KzIyMD4+Ml18
MCxjW3crMjM2Pj4yXXwwLGNbdysyNTI+PjJdfDAsY1twPj4yXXwwLDApO3ZEKGEpO1d0KGEpO2w9
eDtyZXR1cm59ZnVuY3Rpb24gSHUoYSxkLGUsZixnKXthPWF8MDtkPWR8MDtlPWV8MDtmPWZ8MDtn
PWd8MDt2YXIgaD0wLGk9MCxqPTA7aj1sO2w9bCsxNnwwO2g9ajtpPWNbYSsxNj4+Ml18MDtpZigh
KGU8PDI0Pj4yNCkpZj1jW2krMjA4Pj4yXXwwO2lmKCEoZzw8MjQ+PjI0PT0wPygoZnwwKT09MD8o
YltpKzI2MD4+MV0mMSk9PTA6MCk6MCkpe2NbaD4+Ml09Y1tkPj4yXTtjW2grND4+Ml09Y1tkKzQ+
PjJdO2NbaCs4Pj4yXT1jW2QrOD4+Ml07Y1toKzEyPj4yXT1jW2QrMTI+PjJdO011KGEsaCl9bD1q
O3JldHVybn1mdW5jdGlvbiBJdShiLGQsZSxmLGcsaCxpLGosayl7Yj1ifDA7ZD1kfDA7ZT1lfDA7
Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7aj1qfDA7az1rfDA7dmFyIG09MCxuPTAsbz0wLHA9MCxx
PTAscj0wO3I9bDtsPWwrMTZ8MDtvPXI7cT1jW2IrMTUyPj4yXXwwO2lmKGR8MD9hW2QrODE+PjBd
fDA6MCl7aWYoIWopbj0wO2Vsc2V7bj12dygockooail8MCkrMTF8MCl8MDtzd2l0Y2goZXwwKXtj
YXNlIDExOnttPTg2MjQwO2JyZWFrfWNhc2UgNzp7bT04NjY1NjticmVha31jYXNlIDY6e209ODY2
NjY7YnJlYWt9ZGVmYXVsdDptYSgxMjMyMDUsODQ5MjUsMjczMCw4NTA2MCl9Y1tvPj4yXT1qO2Nb
bys0Pj4yXT1tO3BMKG4sODUwNzYsbyl8MH1vPWIrMTZ8MDtqPShjW28+PjJdfDApKzEyfDA7cD1j
W2o+PjJdfDA7Y1tqPj4yXT1lO2o9KGZ8MCkhPTB8KGd8MCkhPTA7bT0ocSY0fDApPT0wO2lmKGom
bSl7SnUoYixkKTt3RChiLGcsaCxpLG4pfXB3KGIsZSxkKTtpZihrfDApS3UoYixkLGspO2lmKGop
e2lmKCFtKXtKdShiLGQpO3dEKGIsZyxoLGksbil9eEQoYil9X0kobik7Y1soY1tvPj4yXXwwKSsx
Mj4+Ml09cH1sPXI7cmV0dXJufWZ1bmN0aW9uIEp1KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxl
PTAsZj0wLGc9MCxpPTAsaj0wO2Q9Y1thKzE2Pj4yXXwwO2U9Y1thKzE1Mj4+Ml18MDtpZihlJjQy
NTk4NDB8MCl7Zj1lJjEzMTA3MjtpPWY+Pj4xNl4yO2NbZCsyNjQ+PjJdPWk7aj1kKzI2OHwwO2Nb
aj4+Ml09aSsyO2k9ZCsyNzJ8MDtfSShjW2k+PjJdfDApO2Q9dncoY1tqPj4yXTw8NCl8MDtjW2k+
PjJdPWQ7aT1iKzU2fDA7aj1iKzI0fDA7aFtkPj4zXT0raFtpPj4zXS0raFtqPj4zXSouNTtnPWIr
NjR8MDtiPWIrMzJ8MDtoW2QrOD4+M109K2hbZz4+M10tK2hbYj4+M10qLjU7aFtkKzE2Pj4zXT0r
aFtqPj4zXSouNSsgK2hbaT4+M107aFtkKzI0Pj4zXT0raFtiPj4zXSouNSsgK2hbZz4+M107aWYo
IShlJjgxOTIpKWZEKGEsZCxkLDIpfDA7aWYoIWYpWnYoZCl9cmV0dXJufWZ1bmN0aW9uIEt1KGIs
ZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89
MCxwPTAuMDtvPWw7bD1sKzk2fDA7Zz1vKzgwfDA7aT1vKzMyfDA7aj1vKzE2fDA7az1vO2Y9Y1tk
Pj4yXXwwO3doaWxlKDEpe209YVtmPj4wXXwwO2lmKCEobTw8MjQ+PjI0KSlicmVhaztpZighKFhK
KG0mMjU1KXwwKSl7bj00O2JyZWFrfWVsc2UgZj1mKzF8MH1pZigobnwwKT09NCl7cD0raFtkKzI0
Pj4zXTttPWQrNTZ8MDtMdShpLCtoW20+PjNdK3AqLjUsK2hbZCs2ND4+M10tK2hbZCszMj4+M10q
LjUpO249aSsxNnwwO0x1KGosK2hbaT4+M10tcCwraFtpKzg+PjNdKTtjW24+PjJdPWNbaj4+Ml07
Y1tuKzQ+PjJdPWNbais0Pj4yXTtjW24rOD4+Ml09Y1tqKzg+PjJdO2NbbisxMj4+Ml09Y1tqKzEy
Pj4yXTtuPWkrMzJ8MDtjW2c+PjJdPWNbbT4+Ml07Y1tnKzQ+PjJdPWNbbSs0Pj4yXTtjW2crOD4+
Ml09Y1ttKzg+PjJdO2NbZysxMj4+Ml09Y1ttKzEyPj4yXTtWQShrLGUsZyk7Y1tuPj4yXT1jW2s+
PjJdO2Nbbis0Pj4yXT1jW2srND4+Ml07Y1tuKzg+PjJdPWNbays4Pj4yXTtjW24rMTI+PjJdPWNb
aysxMj4+Ml07RkQoYixjWyhjW2I+PjJdfDApKzMzNj4+Ml18MCk7QkQoYixjW2QrOD4+Ml18MCk7
S0QoYixpLDMpfWw9bztyZXR1cm59ZnVuY3Rpb24gTHUoYSxiLGMpe2E9YXwwO2I9K2I7Yz0rYzto
W2E+PjNdPWI7aFthKzg+PjNdPWM7cmV0dXJufWZ1bmN0aW9uIE11KGEsYil7YT1hfDA7Yj1ifDA7
dmFyIGQ9MCxlPTAsZj0wLGc9MC4wLGk9MC4wLGo9MCxrPTA7ZD1jW2ErMTY+PjJdfDA7ZT1jW2Er
MTUyPj4yXXwwO2lmKGUmNDI1OTg0MHwwKXtmPWUmMTMxMDcyO2o9Zj4+PjE2XjI7Y1tkKzI2ND4+
Ml09ajtrPWQrMjY4fDA7Y1trPj4yXT1qKzI7aj1kKzI3MnwwO19JKGNbaj4+Ml18MCk7ZD12dyhj
W2s+PjJdPDw0KXwwO2Nbaj4+Ml09ZDtpPStoW2I+PjNdO2hbZD4+M109aSstMy4wO2c9K2hbYis4
Pj4zXTtoW2QrOD4+M109ZystMy4wO2hbZCsxNj4+M109aSszLjA7aFtkKzI0Pj4zXT1nKzMuMDtp
ZighKGUmODE5MikpZkQoYSxkLGQsMil8MDtpZighZiladihkKX1yZXR1cm59ZnVuY3Rpb24gTnUo
YSxiLGQsZSxmLGgsaSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7aD0raDtpPStpO3Zh
ciBqPTAsaz0wLG09MC4wLG49MC4wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0w
LHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MDtKPWw7
bD1sKzI1NnwwO0Q9SisyMjR8MDtDPUorMjA4fDA7aj1KKzE5MnwwO0Y9SisxNDR8MDtHPUorOTZ8
MDtIPUorNDh8MDtFPUo7az1KKzI0MHwwO2U9JHQoZSxmLGspfDA7aWYoKGV8MCk+MSl7ej1iKzQ4
fDA7QT1ybyhjWygoY1tiPj4yXSYzfDApPT0zP2I6eikrNDA+PjJdfDApfDA7ej1EbihjWygoY1ti
Pj4yXSYzfDApPT0zP2I6eikrNDA+PjJdfDApfDA7QT0ocW4oQSl8MCkhPTA7Qj1EbihjWygoY1ti
Pj4yXSYzfDApPT0yP2I6YistNDh8MCkrNDA+PjJdfDApfDA7Y1tqPj4yXT16O2Nbais0Pj4yXT1B
Pzg1MDk1Ojg1MTAwO2Nbais4Pj4yXT1CO19sKDMsODUxMDUsail8MDtpZigoZXwwKT09MillPTE7
ZWxzZSBJPTR9ZWxzZSBpZigoZXwwKT09MSllPTE7ZWxzZSBJPTQ7aWYoKEl8MCk9PTQpe0I9Yisx
NnwwO3I9Y1trPj4yXXwwO3M9cis4fDA7dD1IKzR8MDt1PUYrOHwwO3Y9RisxMnwwO3c9KGR8MCkh
PTA7cT0oZHwwKT09MDt4PUYrMzJ8MDt5PUYrNHwwO3o9RisxNnwwO0E9RSs0fDA7ZT0wO3A9MDt3
aGlsZSgxKXtmPWNbKGNbQj4+Ml18MCkrOD4+Ml18MDtpZigocHwwKT49KGNbZis0Pj4yXXwwKSli
cmVhaztqPUY7Zj0oY1tmPj4yXXwwKSsocCo0OHwwKXwwO2I9ais0OHwwO2Rve2Nbaj4+Ml09Y1tm
Pj4yXTtqPWorNHwwO2Y9Zis0fDB9d2hpbGUoKGp8MCk8KGJ8MCkpO2I9MTttPTEuMDtvPWNbcz4+
Ml18MDthOndoaWxlKDEpe2Y9Y1tvPj4yXXwwO2lmKCFmKWJyZWFrO2s9bys0fDA7bj0rZ1trPj4y
XTtkbyBpZihuPDEuMGUtMDUmbj4tMS4wZS0wNSlmPWI7ZWxzZXtCRChhLGYpO249K2dbaz4+Ml07
bT1tLW47ZT1jW28+PjJdfDA7aWYoYnwwKXtYdShGLG4sSCxFKTtrPWNbSD4+Ml18MDtKRChhLGss
Y1t0Pj4yXXwwLDAsMCwwKTtfSShrKTtpZihtPDEuMGUtMDUmbT4tMS4wZS0wNSl7ST0xMTticmVh
ayBhfWVsc2V7Zj0wO2JyZWFrfX1pZihtPDEuMGUtMDUmbT4tMS4wZS0wNSl7ST0xMzticmVhayBh
fWo9RztmPUU7Yj1qKzQ4fDA7ZG97Y1tqPj4yXT1jW2Y+PjJdO2o9ais0fDA7Zj1mKzR8MH13aGls
ZSgoanwwKTwoYnwwKSk7bj0rZ1trPj4yXTtYdShHLG4vKG0rbiksSCxFKTtfSShjW0c+PjJdfDAp
O2Y9Y1tIPj4yXXwwO0pEKGEsZixjW3Q+PjJdfDAsMCwwLDApO19JKGYpO2Y9MH13aGlsZSgwKTti
PWY7bz1vKzEyfDB9aWYoKEl8MCk9PTExKXtJPTA7X0koY1tFPj4yXXwwKX1lbHNlIGlmKChJfDAp
PT0xMyl7ST0wO289Y1tFPj4yXXwwO0pEKGEsbyxjW0E+PjJdfDAsMCwwLDApO19JKG8pfWlmKGNb
dT4+Ml18MCl7QkQoYSxjW2Nbcz4+Ml0+PjJdfDApO0REKGEsY1tjW3M+PjJdPj4yXXwwKTtrPWNb
Rj4+Ml18MDtvPWNbdT4+Ml18MDtjW0M+PjJdPWNbej4+Ml07Y1tDKzQ+PjJdPWNbeis0Pj4yXTtj
W0MrOD4+Ml09Y1t6Kzg+PjJdO2NbQysxMj4+Ml09Y1t6KzEyPj4yXTtjW0Q+PjJdPWNbaz4+Ml07
Y1tEKzQ+PjJdPWNbays0Pj4yXTtjW0QrOD4+Ml09Y1trKzg+PjJdO2NbRCsxMj4+Ml09Y1trKzEy
Pj4yXTtTdChhLDIsQyxELGgsaSxvKX1pZihjW3Y+PjJdfDApe0JEKGEsZSk7REQoYSxlKTtrPShj
W0Y+PjJdfDApKygoY1t5Pj4yXXwwKSstMTw8NCl8MDtvPWNbdj4+Ml18MDtjW0M+PjJdPWNbeD4+
Ml07Y1tDKzQ+PjJdPWNbeCs0Pj4yXTtjW0MrOD4+Ml09Y1t4Kzg+PjJdO2NbQysxMj4+Ml09Y1t4
KzEyPj4yXTtjW0Q+PjJdPWNbaz4+Ml07Y1tEKzQ+PjJdPWNbays0Pj4yXTtjW0QrOD4+Ml09Y1tr
Kzg+PjJdO2NbRCsxMj4+Ml09Y1trKzEyPj4yXTtTdChhLDMsQyxELGgsaSxvKX1kbyBpZigoY1so
Y1soY1tCPj4yXXwwKSs4Pj4yXXwwKSs0Pj4yXXwwKT4xKXtpZighKGNbdT4+Ml18MCkpe2lmKCEo
dyYoY1t2Pj4yXXwwKSE9MCkpYnJlYWt9ZWxzZSBpZihxKWJyZWFrO0ZEKGEsZCl9d2hpbGUoMCk7
cD1wKzF8MH1hdShyKTtlPTB9bD1KO3JldHVybiBlfDB9ZnVuY3Rpb24gT3UoYixkKXtiPWJ8MDtk
PWR8MDt2YXIgZT0wLGY9MDtlPTE7YTp3aGlsZSgxKXtzd2l0Y2goYVtiPj4wXXwwKXtjYXNlIDA6
YnJlYWsgYTtjYXNlIDU4OntlPWUrMXwwO2JyZWFrfWRlZmF1bHQ6e319Yj1iKzF8MH1mPU8oKHJK
KGQpfDApKzF8MCxlKXwwO2I9ZisxMHwwO2lmKChjWzQyMTY2XXwwKTwoZnwwKSl7Y1s0MjE2Nl09
YjtiPWFKKGNbNDIxNjddfDAsYil8MDtjWzQyMTY3XT1ifWVsc2UgYj1jWzQyMTY3XXwwO3hLKGIs
ZCl8MDt3aGlsZSgxKXtlPWUrLTF8MDtiPWNbNDIxNjddfDA7aWYoIWUpYnJlYWs7Zj1iKyhySihi
KXwwKXwwO2FbZj4+MF09NTg7YVtmKzE+PjBdPTA7SUwoYixkKXwwfXJldHVybiBifDB9ZnVuY3Rp
b24gUHUoYil7Yj1ifDA7dmFyIGQ9MCxlPTA7ZD1jWzQyMjI4XXwwO2E6ZG8gaWYoIWQpZT03O2Vs
c2V7ZD1KbShiLGQpfDA7c3dpdGNoKGFbZD4+MF18MCl7Y2FzZSAxMTA6aWYoISh4SihkLDEyMDUw
MSl8MCkpe2Q9MTticmVhayBhfWVsc2V7ZT03O2JyZWFrIGF9Y2FzZSAxMDI6aWYoISh4SihkLDg1
MDgyKXwwKSl7ZD0yO2JyZWFrIGF9ZWxzZXtlPTc7YnJlYWsgYX1jYXNlIDk4OntpZighKHhKKGQs
ODUwOTApfDApKXtkPTM7YnJlYWsgYX1pZighKHhKKGQsOTYwNTYpfDApKXtkPTQ7YnJlYWsgYX1l
bHNle2U9NzticmVhayBhfX1kZWZhdWx0OntlPTc7YnJlYWsgYX19fXdoaWxlKDApO2lmKChlfDAp
PT03KXtkPShxbihybyhjWygoY1tiPj4yXSYzfDApPT0yP2I6YistNDh8MCkrNDA+PjJdfDApfDAp
fDApIT0wO2Q9ZD8yOjF9cmV0dXJuIGR8MH1mdW5jdGlvbiBRdShhKXthPWF8MDtpZihhfDApe19J
KGNbYSs4Pj4yXXwwKTtfSShhKX1yZXR1cm59ZnVuY3Rpb24gUnUoYSxiLGMpe2E9YXwwO2I9Ynww
O2M9Y3wwO3ZhciBkPTAuMCxlPTAuMCxmPTAuMDtlPStoW2I+PjNdLStoW2M+PjNdO2Y9K2hbYis4
Pj4zXS0raFtjKzg+PjNdO2Q9Mi4wLytDKCsoZSplKy4wMDAxK2YqZikpO2hbYT4+M109ZCpmO2hb
YSs4Pj4zXT0tKGUqZCk7cmV0dXJufWZ1bmN0aW9uIFN1KGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7
Yz1jfDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MC4wLGc9MC4wLGk9MC4wLGo9MC4wO2c9K2hbYz4+M10t
K2hbZD4+M107aT0raFtjKzg+PjNdLStoW2QrOD4+M107Zj0rQygrKGkqaStnKmcpKTtpZihmPC4w
MDAxKXtqPStoW2I+PjNdLStoW2U+PjNdO2Y9K2hbYis4Pj4zXS0raFtlKzg+PjNdO2k9ZjtnPWo7
Zj0rQygrKGoqaisuMDAwMStmKmYpKX1qPTIuMC9mO2hbYT4+M109aSpqO2hbYSs4Pj4zXT0tKGoq
Zyk7cmV0dXJufWZ1bmN0aW9uIFR1KGEsYixjKXthPSthO2I9K2I7Yz0rYztyZXR1cm4gKyhjKi41
KigxLjAtYS9iKSl9ZnVuY3Rpb24gVXUoYSxiLGMpe2E9K2E7Yj0rYjtjPStjO3JldHVybiArKGMq
LjUpfWZ1bmN0aW9uIFZ1KGEsYixjKXthPSthO2I9K2I7Yz0rYztyZXR1cm4gKyhjKi41KihhL2Ip
KX1mdW5jdGlvbiBXdShhLGIsYyl7YT0rYTtiPStiO2M9K2M7Yj1hL2I7cmV0dXJuICsoKCEoYjw9
LjUpPzEuMC1iOmIpKmMpfWZ1bmN0aW9uIFh1KGEsYixkLGUpe2E9YXwwO2I9K2I7ZD1kfDA7ZT1l
fDA7dmFyIGY9MC4wLGc9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLjAscj0wLHM9
MDtwPWw7bD1sKzE2fDA7bz1wO249Y1thKzQ+PjJdfDA7aj0obistMXwwKS8zfDA7aWYoKG4rLTR8
MCk+Pj4wPDMpe2NbZCs0Pj4yXT00O2NbZD4+Ml09dncoNjQpfDA7Y1tlKzQ+PjJdPTQ7bj12dyg2
NCl8MDtjW2U+PjJdPW47UEEobyxjW2E+PjJdfDAsMyxiLGNbZD4+Ml18MCxuKX1lbHNle249dnco
ajw8Myl8MDtnPTA7aT1jW2E+PjJdfDA7Zj0wLjA7d2hpbGUoMSl7aWYoKGd8MCk+PShqfDApKWJy
ZWFrO3E9K1l1KGkpO2hbbisoZzw8Myk+PjNdPXE7Zz1nKzF8MDtpPWkrNDh8MDtmPXErZn1iPWYq
YjttPTA7Zj0wLjA7d2hpbGUoMSl7aWYoKGp8MCk8PShtfDApKWJyZWFrO2Y9K2hbbisobTw8Myk+
PjNdK2Y7aWYoZj49YilicmVhazttPW0rMXwwfWs9bSozfDA7Zz1rKzR8MDtpPWQrNHwwO2NbaT4+
Ml09ZztjW2Q+PjJdPXZ3KGc8PDQpfDA7Zz0oKGotbXwwKSozfDApKzF8MDtqPWUrNHwwO2Nbaj4+
Ml09ZztjW2U+PjJdPXZ3KGc8PDQpfDA7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oY1tpPj4yXXww
KSlicmVhaztyPShjW2Q+PjJdfDApKyhnPDw0KXwwO3M9KGNbYT4+Ml18MCkrKGc8PDQpfDA7Y1ty
Pj4yXT1jW3M+PjJdO2Nbcis0Pj4yXT1jW3MrND4+Ml07Y1tyKzg+PjJdPWNbcys4Pj4yXTtjW3Ir
MTI+PjJdPWNbcysxMj4+Ml07Zz1nKzF8MH1nPWcrLTR8MDtpPTA7d2hpbGUoMSl7aWYoKGl8MCk+
PShjW2o+PjJdfDApKWJyZWFrO3M9KGNbZT4+Ml18MCkrKGk8PDQpfDA7cj0oY1thPj4yXXwwKSso
Zzw8NCl8MDtjW3M+PjJdPWNbcj4+Ml07Y1tzKzQ+PjJdPWNbcis0Pj4yXTtjW3MrOD4+Ml09Y1ty
Kzg+PjJdO2NbcysxMj4+Ml09Y1tyKzEyPj4yXTtnPWcrMXwwO2k9aSsxfDB9cT0raFtuKyhtPDwz
KT4+M107UEEobywoY1thPj4yXXwwKSsoazw8NCl8MCwzLChiLWYrcSkvcSwoY1tkPj4yXXwwKSso
azw8NCl8MCxjW2U+PjJdfDApO19JKG4pfWw9cDtyZXR1cm59ZnVuY3Rpb24gWXUoYSl7YT1hfDA7
dmFyIGI9MC4wLGM9MC4wLGQ9MC4wLGU9MC4wLGY9MC4wO2U9K2hbYSsxNj4+M107ZD0raFthPj4z
XS1lO2Y9K2hbYSsyND4+M107Yj0raFthKzg+PjNdLWY7ZD0rQygrKGIqYitkKmQpKTtiPStoW2Er
MzI+PjNdO2U9ZS1iO2M9K2hbYSs0MD4+M107Zj1mLWM7ZD0rQygrKGYqZitlKmUpKStkO2I9Yi0r
aFthKzQ4Pj4zXTtjPWMtK2hbYSs1Nj4+M107cmV0dXJuICsoZCsgK0MoKyhjKmMrYipiKSkpfWZ1
bmN0aW9uIFp1KGIsZCl7Yj1ifDA7ZD1kfDA7ZD1zbyhkKXwwO2lmKChhWyhjW2QrMTY+PjJdfDAp
KzExNT4+MF18MCk9PTEpZD15QihiKXwwO2Vsc2UgZD12QihiLGQpfDA7cmV0dXJuIGV2KGQpfDB9
ZnVuY3Rpb24gX3UoYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPStmO3ZhciBn
PTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MDtxPWw7bD1sKzE2
NjR8MDttPXErMTYwMHwwO249cSs4MDB8MDtvPXE7cD13dygyNCl8MDtjW3ArMTY+PjJdPTE7aj0o
KGNbZSs0Pj4yXXwwKSstMXwwKS8zfDA7aD0wO2k9cDt3aGlsZSgxKXtpZigoaHwwKT49KGp8MCkp
YnJlYWs7az1oKjN8MDtnPTA7d2hpbGUoMSl7aWYoKGd8MCk9PTQpYnJlYWs7cj1tKyhnPDw0KXww
O3M9KGNbZT4+Ml18MCkrKGcrazw8NCl8MDtjW3I+PjJdPWNbcz4+Ml07Y1tyKzQ+PjJdPWNbcys0
Pj4yXTtjW3IrOD4+Ml09Y1tzKzg+PjJdO2NbcisxMj4+Ml09Y1tzKzEyPj4yXTtnPWcrMXwwfWg9
aCsxfDA7aT0kdShtLGkpfDB9Zz0wO2g9MDtpPXA7d2hpbGUoMSl7aWYoIWkpe2g9cDtnPXA7YnJl
YWt9aj1jW2krMTY+PjJdfDA7az1uKyhnPDw0KXwwO2U9bysoZzw8NCl8MDthdihoLGksaixrLGUs
Zik7Zz1nKzF8MDtpZighKChnfDApPT01MHwoanwwKT09MCkpe2g9aTtpPWo7Y29udGludWV9YnYo
YSxiLGQsZyxuLG8pO2Nbbj4+Ml09Y1trPj4yXTtjW24rND4+Ml09Y1trKzQ+PjJdO2Nbbis4Pj4y
XT1jW2srOD4+Ml07Y1tuKzEyPj4yXT1jW2srMTI+PjJdO2Nbbz4+Ml09Y1tlPj4yXTtjW28rND4+
Ml09Y1tlKzQ+PjJdO2Nbbys4Pj4yXT1jW2UrOD4+Ml07Y1tvKzEyPj4yXT1jW2UrMTI+PjJdO2g9
aTtnPTE7aT1qfXdoaWxlKDEpe2lmKCFoKWJyZWFrO3M9Y1toKzE2Pj4yXXwwO19JKGcpO2g9cztn
PXN9bD1xO3JldHVybn1mdW5jdGlvbiAkdShhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9
MCxnPTA7Zz1sO2w9bCsxNDR8MDtmPWcrMTI4fDA7ZD1nKzY0fDA7ZT1nO2lmKCEoZnUoYSl8MCkp
e1BBKGYsYSwzLC41LGQsZSk7ZD0kdShlLCR1KGQsYil8MCl8MH1lbHNle2Q9YisxNnwwO2lmKChj
W2Q+PjJdfDApPT0xKXtjW2Q+PjJdPTA7Y1tiPj4yXT1jW2E+PjJdO2NbYis0Pj4yXT1jW2ErND4+
Ml07Y1tiKzg+PjJdPWNbYSs4Pj4yXTtjW2IrMTI+PjJdPWNbYSsxMj4+Ml19ZD1hKzQ4fDA7Y1tm
Pj4yXT1jW2Q+PjJdO2NbZis0Pj4yXT1jW2QrND4+Ml07Y1tmKzg+PjJdPWNbZCs4Pj4yXTtjW2Yr
MTI+PjJdPWNbZCsxMj4+Ml07ZD1kdihmLGIpfDB9bD1nO3JldHVybiBkfDB9ZnVuY3Rpb24gYXYo
YSxiLGQsZSxmLGcpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9K2c7dmFyIGk9MC4w
LGo9MC4wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAuMCx0PTAuMDtyPWw7bD1sKzk2
fDA7bj1yKzgwfDA7bT1yKzY0fDA7az1yKzQ4fDA7bz1yKzMyfDA7cD1yKzE2fDA7cT1yO2Nbbz4+
Ml09Y1tiPj4yXTtjW28rND4+Ml09Y1tiKzQ+PjJdO2Nbbys4Pj4yXT1jW2IrOD4+Ml07Y1tvKzEy
Pj4yXT1jW2IrMTI+PjJdO2RvIGlmKGEpe2NbcD4+Ml09Y1thPj4yXTtjW3ArND4+Ml09Y1thKzQ+
PjJdO2NbcCs4Pj4yXT1jW2ErOD4+Ml07Y1twKzEyPj4yXT1jW2ErMTI+PjJdO2lmKCFkKXtpPSto
W28+PjNdO2hbcT4+M109aSoyLjAtK2hbcD4+M107aj0raFtvKzg+PjNdO2hbcSs4Pj4zXT1qKjIu
MC0raFtwKzg+PjNdO2JyZWFrfWVsc2V7Y1txPj4yXT1jW2Q+PjJdO2NbcSs0Pj4yXT1jW2QrND4+
Ml07Y1txKzg+PjJdPWNbZCs4Pj4yXTtjW3ErMTI+PjJdPWNbZCsxMj4+Ml07aT0raFtvPj4zXTtq
PStoW28rOD4+M107YnJlYWt9fWVsc2V7Y1txPj4yXT1jW2Q+PjJdO2NbcSs0Pj4yXT1jW2QrND4+
Ml07Y1txKzg+PjJdPWNbZCs4Pj4yXTtjW3ErMTI+PjJdPWNbZCsxMj4+Ml07aT0raFtvPj4zXTto
W3A+PjNdPWkqMi4wLStoW3E+PjNdO2o9K2hbbys4Pj4zXTtoW3ArOD4+M109aioyLjAtK2hbcSs4
Pj4zXX13aGlsZSgwKTtjW2s+PjJdPWNbcD4+Ml07Y1trKzQ+PjJdPWNbcCs0Pj4yXTtjW2srOD4+
Ml09Y1twKzg+PjJdO2NbaysxMj4+Ml09Y1twKzEyPj4yXTtjW20+PjJdPWNbbz4+Ml07Y1ttKzQ+
PjJdPWNbbys0Pj4yXTtjW20rOD4+Ml09Y1tvKzg+PjJdO2NbbSsxMj4+Ml09Y1tvKzEyPj4yXTtj
W24+PjJdPWNbcT4+Ml07Y1tuKzQ+PjJdPWNbcSs0Pj4yXTtjW24rOD4+Ml09Y1txKzg+PjJdO2Nb
bisxMj4+Ml09Y1txKzEyPj4yXTt0PStjdihrLG0sbik7cz0rRSgrdCkqZztnPStGKCt0KSpnO2hb
ZT4+M109aStzO2hbZSs4Pj4zXT1qK2c7aFtmPj4zXT1pLXM7aFtmKzg+PjNdPWotZztsPXI7cmV0
dXJufWZ1bmN0aW9uIGJ2KGEsYixkLGUsZixnKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8
MDtnPWd8MDt2YXIgaD0wLGk9MCxqPTAsaz0wLGw9MDtpPWU8PDE7aj1jW2Q+PjJdfDA7aD0wO2s9
MDt3aGlsZSgxKXtpZigoaHwwKT49KGp8MCkpYnJlYWs7bD0oY1soY1tiPj4yXXwwKSsoaDw8Mik+
PjJdfDApK2t8MDtoPWgrMXwwO2s9bH1sPWorMXwwO2NbZD4+Ml09bDtsPXl3KGNbYj4+Ml18MCxs
PDwyKXwwO2NbYj4+Ml09bDtjW2wrKGg8PDIpPj4yXT1pO2NbYT4+Ml09eXcoY1thPj4yXXwwLGsr
aTw8NCl8MDtiPWkrLTEra3wwO2g9MDt3aGlsZSgxKXtpZigoaHwwKT49KGV8MCkpYnJlYWs7bD0o
Y1thPj4yXXwwKSsoaCtrPDw0KXwwO2o9ZisoaDw8NCl8MDtjW2w+PjJdPWNbaj4+Ml07Y1tsKzQ+
PjJdPWNbais0Pj4yXTtjW2wrOD4+Ml09Y1tqKzg+PjJdO2NbbCsxMj4+Ml09Y1tqKzEyPj4yXTts
PShjW2E+PjJdfDApKyhiLWg8PDQpfDA7aj1nKyhoPDw0KXwwO2NbbD4+Ml09Y1tqPj4yXTtjW2wr
ND4+Ml09Y1tqKzQ+PjJdO2NbbCs4Pj4yXT1jW2orOD4+Ml07Y1tsKzEyPj4yXT1jW2orMTI+PjJd
O2g9aCsxfDB9cmV0dXJufWZ1bmN0aW9uIGN2KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIg
ZD0wLjAsZT0wLjAsZj0wLjA7Zj0raFtiKzg+PjNdO2Q9K2hbYj4+M107ZT0rSygrKCtoW2MrOD4+
M10tZiksKygraFtjPj4zXS1kKSk7ZD0rSygrKCtoW2ErOD4+M10tZiksKygraFthPj4zXS1kKSk7
ZT1lLWQ7cmV0dXJuICsoKGU+MC4wP2UrLTYuMjgzMTg1MzA3MTc5NTg2OmUpKi41K2QpfWZ1bmN0
aW9uIGR2KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MDtkPXd3KDI0KXwwO2NbZCsxNj4+Ml09MDtj
W2Q+PjJdPWNbYT4+Ml07Y1tkKzQ+PjJdPWNbYSs0Pj4yXTtjW2QrOD4+Ml09Y1thKzg+PjJdO2Nb
ZCsxMj4+Ml09Y1thKzEyPj4yXTtjW2IrMTY+PjJdPWQ7cmV0dXJuIGR8MH1mdW5jdGlvbiBldihi
KXtiPWJ8MDt2YXIgYz0wLGQ9MCxlPTAsZj0wLGc9MDtjPWI7Zj1iO2E6d2hpbGUoMSl7ZT0wO3do
aWxlKDEpe2Q9YztjPWMrMXwwO2Q9YVtkPj4wXXwwO2lmKCEoZDw8MjQ+PjI0KSlicmVhayBhO2lm
KGU8PDI0Pj4yNCl7Zz01O2JyZWFrfWlmKGQ8PDI0Pj4yNCE9OTIpYnJlYWs7ZWxzZSBlPTF9Yjpk
byBpZigoZ3wwKT09NSl7Zz0wO3N3aXRjaChkPDwyND4+MjR8MCl7Y2FzZSAxMTQ6e2Q9MTM7YnJl
YWsgYn1jYXNlIDEwODpjYXNlIDExMDp7ZD0xMDticmVhayBifWRlZmF1bHQ6YnJlYWsgYn19d2hp
bGUoMCk7YVtmPj4wXT1kO2Y9ZisxfDB9YVtmPj4wXT0wO3JldHVybiBifDB9ZnVuY3Rpb24gZnYo
YixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MDtlPWNbYj4+Ml18MDt3aGls
ZSgxKXtnPWFbZT4+MF18MDtpZighKGc8PDI0Pj4yNCkpe2Y9MDticmVha31mPWc8PDI0Pj4yNDtp
ZighKGc8PDI0Pj4yND09NDR8KFhKKGYpfDApIT0wKSl7aD01O2JyZWFrfWU9ZSsxfDB9YTpkbyBp
ZigoaHwwKT09NSl7c3dpdGNoKGZ8MCl7Y2FzZSAwOntmPTA7YnJlYWsgYX1jYXNlIDQxOmNhc2Ug
NDA6e2U9ZSsxfDA7YnJlYWsgYX1kZWZhdWx0Ont9fWg9ZCs0fDA7aT1kKzh8MDt3aGlsZSgxKXtp
ZigoZ3YoZzw8MjQ+PjI0KXwwKTw8MjQ+PjI0KXtmPTE7YnJlYWsgYX1mPWNbaD4+Ml18MDtpZihm
Pj4+MD49KGNbaT4+Ml18MCk+Pj4wKXtkbShkLDEpfDA7Zj1jW2g+PjJdfDB9Y1toPj4yXT1mKzE7
YVtmPj4wXT1nO2Y9ZSsxfDA7ZT1mO2c9YVtmPj4wXXwwfX13aGlsZSgwKTtjW2I+PjJdPWU7cmV0
dXJuIGZ8MH1mdW5jdGlvbiBndihhKXthPWF8MDtzd2l0Y2goYXwwKXtjYXNlIDA6Y2FzZSA0NDpj
YXNlIDQxOmNhc2UgNDA6e2E9MTticmVha31kZWZhdWx0OmE9MH1yZXR1cm4gYXwwfWZ1bmN0aW9u
IGh2KGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuIGl2KGNbYT4+Ml18MCxjW2ErMTYwPj4yXXwwLGNb
YSsxNTY+PjJdfDAsYil8MH1mdW5jdGlvbiBpdihiLGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtm
PWZ8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MDtvPWw7bD1sKzE2MHwwO2s9
bysyMHwwO209bysxNnwwO249bztjW2s+PjJdPTA7Y1ttPj4yXT0wO2NtKG4sMTI4LG8rMjR8MCk7
Zm0obixmKXwwO2c9bis0fDA7Zj1jW2c+PjJdfDA7aWYoZj4+PjA+PShjW24rOD4+Ml18MCk+Pj4w
KXtkbShuLDEpfDA7Zj1jW2c+PjJdfDB9YVtmPj4wXT0wO2g9Y1tuPj4yXXwwO2NbZz4+Ml09aDtp
PWIrMzAwfDA7aj1iKzI5NnwwO2Y9MDtnPWg7YTp3aGlsZSgxKXtpZihmKXtmPTE7YnJlYWt9Zj1G
TChnLGNbaT4+Ml18MCxrKXwwO2lmKCFmKXtmPTA7YnJlYWt9Zz1GTChmLGNbaj4+Ml18MCxtKXww
O2g9KGd8MCkhPTA7aWYoaClmPUZMKDAsY1tqPj4yXXwwLG0pfDA7ZWxzZSBmPTA7c3dpdGNoKCgo
ZnwwKSE9MCYxKSsoaCYxKSYzKXtjYXNlIDI6e2c9anYoYixnLDApfDA7Zj1qdihiLGYsZSl8MDto
PShnfDApPihmfDApO2Y9KGYmZ3wwKT4tMSYoKChoP2c6Zil8MCk+PShkfDApJigoaD9mOmcpfDAp
PD0oZHwwKSk7Zz0wO2NvbnRpbnVlIGF9Y2FzZSAxOntmPShqdihiLGcsZCl8MCk9PShkfDApO2c9
MDtjb250aW51ZSBhfWRlZmF1bHQ6e2Y9MDtnPTA7Y29udGludWUgYX19fWdtKG4pO2w9bztyZXR1
cm4gZnwwfWZ1bmN0aW9uIGp2KGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxo
PTA7aD1hW2Q+PjBdfDA7aWYoIShoPDwyND4+MjQ9PTk3Pyh4SihkLDg1NDE5KXwwKT09MDowKSlm
PTM7YTpkbyBpZigoZnwwKT09Myl7aWYoKGt2KGQpfDApPDwyND4+MjQpe2U9ck0oZCl8MDticmVh
a31nPWNbYiszMDg+PjJdfDA7aWYoIWcpZT0tMTtlbHNle2I9Y1tiKzMxMj4+Ml18MDtlPTE7d2hp
bGUoMSl7aWYoKGV8MCk+KGJ8MCkpe2U9LTE7YnJlYWsgYX1mPWNbZysoZTw8Mik+PjJdfDA7aWYo
aDw8MjQ+PjI0PT0oYVtmPj4wXXwwKT8oeEooZCxmKXwwKT09MDowKWJyZWFrIGE7ZT1lKzF8MH19
fXdoaWxlKDApO3JldHVybiBlfDB9ZnVuY3Rpb24ga3YoYil7Yj1ifDA7dmFyIGM9MDt3aGlsZSgx
KXtjPWFbYj4+MF18MDtpZighKGM8PDI0Pj4yNCkpe2I9MTticmVha31pZigoKGMmMjU1KSstNDh8
MCk+Pj4wPDEwKWI9YisxfDA7ZWxzZXtiPTA7YnJlYWt9fXJldHVybiBifDB9ZnVuY3Rpb24gbHYo
YSxiKXthPWF8MDtiPWJ8MDtpZigoK2hbYSsxNj4+M10+PStoW2I+PjNdPytoW2IrMTY+PjNdPj0r
aFthPj4zXTowKT8raFthKzI0Pj4zXT49K2hbYis4Pj4zXTowKWE9K2hbYisyND4+M10+PStoW2Er
OD4+M10mMTtlbHNlIGE9MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIG12KGIsZCxlKXtiPWJ8MDtkPWR8
MDtlPWV8MDt2YXIgZj0wLGc9MDthOmRvIGlmKChjW2IrMTU2Pj4yXXwwKT49Mj8oZj1GQShlLGNb
NDIyMTFdfDAsMTc0MTgxKXwwLChodihiLGYpfDApPDwyND4+MjQ9PTApOjApaWYoIShhW2Y+PjBd
fDApKWlmKCEoVW0oZCxlKXwwKSlmPTE7ZWxzZXtmPVVtKGQsZSl8MDt3aGlsZSgxKXtpZighZil7
Zj0wO2JyZWFrIGF9Zz1GQShmLGNbNDIyMzRdfDAsMTc0MTgxKXwwO2lmKCEoYVtnPj4wXXwwKSl7
Zj0xO2JyZWFrIGF9aWYoKGh2KGIsZyl8MCk8PDI0Pj4yNCl7Zj0xO2JyZWFrIGF9Zj1WbShkLGYs
ZSl8MH19ZWxzZSBmPTA7ZWxzZSBmPTE7d2hpbGUoMCk7cmV0dXJuIGZ8MH1mdW5jdGlvbiBudihh
LGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MDtkPWw7bD1sKzY0fDA7ZT1kKzMyfDA7Zj1k
O2E9KGNbYSsxNj4+Ml18MCkrNDh8MDtjW2Y+PjJdPWNbYT4+Ml07Y1tmKzQ+PjJdPWNbYSs0Pj4y
XTtjW2YrOD4+Ml09Y1thKzg+PjJdO2NbZisxMj4+Ml09Y1thKzEyPj4yXTtjW2YrMTY+PjJdPWNb
YSsxNj4+Ml07Y1tmKzIwPj4yXT1jW2ErMjA+PjJdO2NbZisyND4+Ml09Y1thKzI0Pj4yXTtjW2Yr
Mjg+PjJdPWNbYSsyOD4+Ml07Y1tlPj4yXT1jW2I+PjJdO2NbZSs0Pj4yXT1jW2IrND4+Ml07Y1tl
Kzg+PjJdPWNbYis4Pj4yXTtjW2UrMTI+PjJdPWNbYisxMj4+Ml07Y1tlKzE2Pj4yXT1jW2IrMTY+
PjJdO2NbZSsyMD4+Ml09Y1tiKzIwPj4yXTtjW2UrMjQ+PjJdPWNbYisyND4+Ml07Y1tlKzI4Pj4y
XT1jW2IrMjg+PjJdO2I9KGx2KGYsZSl8MCkmMjU1O2w9ZDtyZXR1cm4gYnwwfWZ1bmN0aW9uIG92
KGEsZCl7YT1hfDA7ZD1kfDA7dmFyIGY9MC4wLGc9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxv
PTAscD0wLHE9MC4wLHI9MCxzPTAsdD0wLHU9MC4wLHY9MC4wO3I9Y1thKzE1Mj4+Ml18MDtzPVZ0
KGEpfDA7Y1tzKzQ+PjJdPTI7Y1tzKzg+PjJdPWQ7Y1tzKzEyPj4yXT04O2lmKHImMTY3NzcyMTZ8
MCl7aWYoKGVbKGNbKHJvKGQpfDApKzE2Pj4yXXwwKSsxNzg+PjFdfDApPjIpe2Y9K2hbKGNbKGNb
ZCsxNj4+Ml18MCkrMTMyPj4yXXwwKSsxNj4+M10qNzIuMDtmPSsofn4oZisoZj49MC4wPy41Oi0u
NSkpfDApfWVsc2UgZj0wLjA7aFtzKzE2OD4+M109Zn1rPWQrMTZ8MDtxdihhLGNbKGNbaz4+Ml18
MCkrMTA0Pj4yXXwwLGQpO2RvIGlmKHImNDI1OTg0MHwwKXtpZigoY1tzKzIwOD4+Ml18MCk9PTA/
KGJbcysyNjA+PjFdJjEpPT0wOjApYnJlYWs7cD1CeShkKXwwO2w9Y1trPj4yXXwwO2Y9K2hbbCsx
Nj4+M107cT0raFtsKzI0Pj4zXTtsPXJ2KGQpfDA7YTpkbyBpZigocHwyfDApPT0zKXtuPWNbKGNb
az4+Ml18MCkrMTI+PjJdfDA7aWYoISgoc3Yobil8MCk8PDI0Pj4yNCkpZz0wO2Vsc2UgZz0oY1tu
KzQ+PjJdfGx8MCkhPTA7aWYoISgociY1MjQyODh8MCk9PTB8KChufDApPT0wfGcpKSl7aT1uKzh8
MDtvPWNbaT4+Ml18MDtvPShvfDApPDM/MTpvO2o9bis0fDA7bT1jW2o+PjJdfDA7bT0obXwwKT4x
P206MTtwPWNbbis0ND4+Ml18MDtnPUltKGQsODc3MzkpfDA7aWYoIWcpZz0wO2Vsc2UgZz1yTShn
KXwwO2c9KGcrLTR8MCk+Pj4wPjU2PzIwOmc7aWYoIShjW2o+PjJdfGwpKXtjW3MrMjY0Pj4yXT0w
O2k9dncoMzIpfDA7Zz1jW2s+PjJdfDA7dj0raFtnKzg4Pj4zXTtoW2k+PjNdPWYtdjt1PStoW2cr
ODA+PjNdKi41O2hbaSs4Pj4zXT1xLXU7aFtpKzE2Pj4zXT12K2Y7aFtpKzI0Pj4zXT11K3E7Zz0y
O2JyZWFrfWk9Y1tpPj4yXXwwO2lmKCgoaXwwKTwzPytoW24rMzI+PjNdPT0wLjA6MCk/K2hbbisy
ND4+M109PTAuMDowKXtpPXMrMjY0fDA7aWYoY1tuPj4yXXwwKXtjW2k+PjJdPTE7aT12dygzMil8
MDtoW2k+PjNdPWY7aFtpKzg+PjNdPXE7Zz0obTw8MSkrLTF8MDtoW2krMTY+PjNdPStoW3ArKGc8
PDQpPj4zXStmO2hbaSsyND4+M109K2hbcCsoZzw8NCkrOD4+M10rcTtnPTI7YnJlYWt9Y1tpPj4y
XT0yO2k9KG08PDEpKy0xfDA7aT10digraFtwKyhpPDw0KT4+M10sK2hbcCsoaTw8NCkrOD4+M10s
Zyl8MDtqPTA7d2hpbGUoMSl7aWYoKGp8MCk+PShnfDApKWJyZWFrIGE7cD1pKyhqPDw0KXwwO2hb
cD4+M109K2hbcD4+M10rZjtwPWkrKGo8PDQpKzh8MDtoW3A+PjNdPStoW3A+PjNdK3E7aj1qKzF8
MH19bT1PKGksbSstMXwwKXwwO2NbcysyNjQ+PjJdPTI7aWYoKGl8MCk8KGd8MCkpe2k9dncobzw8
NCl8MDtnPTA7d2hpbGUoMSl7aWYoKGd8MCk+PShvfDApKXtnPW87YnJlYWsgYX1uPWcrbXwwO2hb
aSsoZzw8NCk+PjNdPStoW3ArKG48PDQpPj4zXStmO2hbaSsoZzw8NCkrOD4+M109K2hbcCsobjw8
NCkrOD4+M10rcTtnPWcrMXwwfX1lbHNle2w9KGl8MCkvKGd8MCl8MDtpPXZ3KGc8PDQpfDA7aj0w
O2s9MDt3aGlsZSgxKXtpZigoanwwKT49KGd8MCkpYnJlYWsgYTtvPWsrbXwwO2hbaSsoajw8NCk+
PjNdPStoW3ArKG88PDQpPj4zXStmO2hbaSsoajw8NCkrOD4+M109K2hbcCsobzw8NCkrOD4+M10r
cTtqPWorMXwwO2s9aytsfDB9fX1lbHNlIHQ9MzF9ZWxzZSB0PTMxO3doaWxlKDApO2lmKCh0fDAp
PT0zMSl7Y1tzKzI2ND4+Ml09MDtpPXZ3KDMyKXwwO2c9Y1trPj4yXXwwO2hbaT4+M109Zi0raFtn
Kzg4Pj4zXTt2PStoW2crODA+PjNdKi41O2hbaSs4Pj4zXT1xLXY7aFtpKzE2Pj4zXT0raFtnKzk2
Pj4zXStmO2hbaSsyND4+M109ditxO2c9Mn1pZighKHImODE5MikpZkQoYSxpLGksZyl8MDtjW3Mr
MjcyPj4yXT1pO2NbcysyNjg+PjJdPWd9d2hpbGUoMCk7WkUoSW0oZCw4NTA0OCl8MCk7c0QoYSxk
KTtyZXR1cm59ZnVuY3Rpb24gcHYoYSl7YT1hfDA7dEQoYSk7V3QoYSk7cmV0dXJufWZ1bmN0aW9u
IHF2KGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAs
bT0wO209bDtsPWwrMTQ0fDA7aj1tO2Y9SW0oZSw5NjI2NCl8MDtpPUltKGUsOTYyMjkpfDA7az1J
bShlLDg1MjA0KXwwO2NtKGosMTI4LG0rMTZ8MCk7aWYoIWQpaD0wO2Vsc2UgaD1jW2Q+PjJdfDA7
aWYoISgoZnwwKSE9MD8oYVtmPj4wXXwwKSE9MDowKSlmPUltKGUsOTYyNjkpfDA7Zz1ZdChiLGUs
ail8MDtpZighaSlkPTA7ZWxzZSBkPVp1KGksZSl8MDtYdChiLGgsZixkLGssZyxlKXwwO19JKGQp
O2dtKGopO2w9bTtyZXR1cm59ZnVuY3Rpb24gcnYoYil7Yj1ifDA7dmFyIGQ9MCxlPTA7Yj1HQShi
LGNbNDIyMDFdfDAsMTc0MTgxKXwwO2E6ZG8gaWYoIShhW2I+PjBdfDApKWI9MDtlbHNle0R1KGIp
fDA7Yj0wO2Q9MTY4NDA4O3doaWxlKDEpe2U9Y1tkPj4yXXwwO2lmKCFlKWJyZWFrIGE7ZT0oeEoo
ZSw5NTkyMyl8MCk9PTA7Yj1lPzE6YjtkPWQrNHwwfX13aGlsZSgwKTtyZXR1cm4gYnwwfWZ1bmN0
aW9uIHN2KGEpe2E9YXwwO3ZhciBiPTAuMDtpZigoKGNbYSs4Pj4yXXwwKT09ND8oYj0raFthKzE2
Pj4zXSwoKH5+KGIrKGI+PTAuMD8uNTotLjUpKXwwKSU5MHwwfDApPT0wKTowKT8raFthKzI0Pj4z
XT09MC4wOjApYT0raFthKzMyPj4zXT09MC4wJjE7ZWxzZSBhPTA7cmV0dXJuIGF8MH1mdW5jdGlv
biB0dihhLGIsYyl7YT0rYTtiPStiO2M9Y3wwO3ZhciBkPTAuMCxlPTAsZj0wLjAsZz0wO2Y9Ni4y
ODMxODUzMDcxNzk1ODYvKyhjfDApO2c9dncoYzw8NCl8MDtkPTAuMDtlPTA7d2hpbGUoMSl7aWYo
KGV8MCk+PShjfDApKWJyZWFrO2hbZysoZTw8NCk+PjNdPStFKCtkKSphO2hbZysoZTw8NCkrOD4+
M109K0YoK2QpKmI7ZD1kK2Y7ZT1lKzF8MH1yZXR1cm4gZ3wwfWZ1bmN0aW9uIHV2KGIsZCl7Yj1i
fDA7ZD1kfDA7dmFyIGU9MDthOmRvIGlmKChjW2IrMTU2Pj4yXXwwKT49Mj8oZT1GQShkLHltKGQs
MCw4NjU4MywwKXwwLDE3NDE4MSl8MCwoaHYoYixlKXwwKTw8MjQ+PjI0PT0wKTowKWlmKCEoYVtl
Pj4wXXwwKSl7ZT1jbyhkKXwwO3doaWxlKDEpe2lmKCFlKXtlPTA7YnJlYWsgYX1pZigobXYoYixk
LGUpfDApPDwyND4+MjQpe2U9MTticmVhayBhfWU9ZW8oZCxlKXwwfX1lbHNlIGU9MDtlbHNlIGU9
MTt3aGlsZSgwKTtyZXR1cm4gZXwwfWZ1bmN0aW9uIHZ2KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9
MDtkPVZ0KGEpfDA7Y1tkKzQ+PjJdPTE7Y1tkKzg+PjJdPWI7Y1tkKzEyPj4yXT0xO3F2KGEsY1so
Y1tiKzE2Pj4yXXwwKSsxMj4+Ml18MCxiKTttRChhLGIpO3JldHVybn1mdW5jdGlvbiB3dihiLGQp
e2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTA7Yj1JbShiLDg2NDc5KXwwO2E6ZG8gaWYo
KGJ8MCkhPTA/KGFbYj4+MF18MCkhPTA6MCl7RHUoYil8MDtlPTE2ODQwODtiPTA7d2hpbGUoMSl7
d2hpbGUoMSl7Zj1jW2U+PjJdfDA7aWYoIWYpe2U9MTY4NDA4O2JyZWFrIGF9aWYoISh4SihmLDk1
OTIzKXwwKSl7Zz0xMDticmVha31pZighKHhKKGYsOTEzNzgpfDApKXtmPWU7Zz0xMjticmVha31p
ZighKHhKKGYsOTEzODUpfDApKXtmPWU7Zz0xNDticmVha31pZighKHhKKGYsOTEzNjApfDApKXtm
PWU7Zz0xNjticmVha31lPWUrNHwwfWlmKChnfDApPT0xMCl7ZT1lKzR8MDtiPWJ8MTtjb250aW51
ZX1lbHNlIGlmKChnfDApPT0xMil7d2hpbGUoMSl7aD1mO2Y9Zis0fDA7Zz1jW2Y+PjJdfDA7Y1to
Pj4yXT1nO2lmKCFnKWJyZWFrO2Vsc2UgZz0xMn1iPWJ8Mztjb250aW51ZX1lbHNlIGlmKChnfDAp
PT0xNCl7d2hpbGUoMSl7Zz1mO2Y9Zis0fDA7aD1jW2Y+PjJdfDA7Y1tnPj4yXT1oO2lmKCFoKWJy
ZWFrO2Vsc2UgZz0xNH1iPWJ8NjQ7Y29udGludWV9ZWxzZSBpZigoZ3wwKT09MTYpe3doaWxlKDEp
e2c9ZjtmPWYrNHwwO2g9Y1tmPj4yXXwwO2NbZz4+Ml09aDtpZighaClicmVhaztlbHNlIGc9MTZ9
Yj1ifDQ7Y29udGludWV9fX1lbHNle2U9MDtiPTB9d2hpbGUoMCk7Y1tkPj4yXT1iO3JldHVybiBl
fDB9ZnVuY3Rpb24geHYoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsaD0wLGk9MCxq
PTAsaz0wLG09MDtrPWw7bD1sKzE2fDA7aT1rO2o9ays0fDA7Y1tqPj4yXT0wO209KCR0KGIsMCxq
KXwwKT09MDtqPWNbaj4+Ml18MDtpZigobT8oZj1jW2o+PjJdfDAsKGZ8MCk+PTIpOjApPyhoPWor
OHwwLChjW2NbaD4+Ml0+PjJdfDApIT0wKTowKXtpZigoZnwwKT4yKV9sKDAsODU0NDYsaSl8MDtt
PXd3KChySihiKXwwKSsxfDApfDA7Y1tkPj4yXT1tO3hLKG0sY1tjW2g+PjJdPj4yXXwwKXwwO2lm
KCEoY1soY1toPj4yXXwwKSsxMj4+Ml18MCkpY1tkKzQ+PjJdPTA7ZWxzZXttPWNbZD4+Ml18MDtt
PW0rKChySihtKXwwKSsxKXwwO2NbZCs0Pj4yXT1tO3hLKG0sY1soY1toPj4yXXwwKSsxMj4+Ml18
MCl8MH1iPWNbaD4+Ml18MDtkbyBpZighKGFbYis4Pj4wXXwwKSlpZighKGFbYisyMD4+MF18MCkp
e2dbZT4+Ml09MC4wO2JyZWFrfWVsc2V7Z1tlPj4yXT0xLjAtK2dbYisxNj4+Ml07YnJlYWt9ZWxz
ZSBjW2U+PjJdPWNbYis0Pj4yXTt3aGlsZSgwKTthdShqKTtiPTF9ZWxzZXtjW2Q+PjJdPTA7YXUo
aik7Yj0wfWw9aztyZXR1cm4gYnwwfWZ1bmN0aW9uIHl2KGEsYil7YT1hfDA7Yj1ifDA7bkQoYSxi
KTtXdChhKTtyZXR1cm59ZnVuY3Rpb24genYoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxm
PTAsaT0wLGo9MCxrPTAuMCxtPTAuMCxuPTAsbz0wLjAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAs
dj0wLHc9MCx4PTAseT0wLHo9MCxBPTA7eD1sO2w9bCs5NnwwO3A9eCs0OHwwO3M9eCsxNnwwO3c9
eCs4fDA7dj14O3Q9eCs4MHwwO2NbdD4+Ml09MWUzO2Y9d3coMTZlMyl8MDt1PWErMjU2fDA7ZT0x
O2o9MTtpPTA7cT0wO3I9Y1tiKzg+PjJdfDA7d2hpbGUoMSl7aWYoKHF8MCk+PShjW2I+PjJdfDAp
KWJyZWFrO2Q9Y1tyPj4yXXwwO2E6ZG8gc3dpdGNoKGR8MCl7Y2FzZSAxOmNhc2UgMDp7bj1yKzgw
fDA7Y1tzPj4yXT1jW24+PjJdO2Nbcys0Pj4yXT1jW24rND4+Ml07Y1tzKzg+PjJdPWNbbis4Pj4y
XTtjW3MrMTI+PjJdPWNbbisxMj4+Ml07Y1tzKzE2Pj4yXT1jW24rMTY+PjJdO2NbcysyMD4+Ml09
Y1tuKzIwPj4yXTtjW3MrMjQ+PjJdPWNbbisyND4+Ml07Y1tzKzI4Pj4yXT1jW24rMjg+PjJdO2Nb
cD4+Ml09Y1t1Pj4yXTtjW3ArND4+Ml09Y1t1KzQ+PjJdO2NbcCs4Pj4yXT1jW3UrOD4+Ml07Y1tw
KzEyPj4yXT1jW3UrMTI+PjJdO2NbcCsxNj4+Ml09Y1t1KzE2Pj4yXTtjW3ArMjA+PjJdPWNbdSsy
MD4+Ml07Y1twKzI0Pj4yXT1jW3UrMjQ+PjJdO2NbcCsyOD4+Ml09Y1t1KzI4Pj4yXTtpZighKGx2
KHMscCl8MCkpZD1qO2Vsc2V7ej1yKzh8MDtBPXIrMjR8MDtoW2Y+PjNdPStoW3o+PjNdLStoW0E+
PjNdO249cisxNnwwO3k9ciszMnwwO2hbZis4Pj4zXT0raFtuPj4zXS0raFt5Pj4zXTtoW2YrMTY+
PjNdPStoW0E+PjNdKyAraFt6Pj4zXTtoW2YrMjQ+PjNdPStoW3k+PjNdKyAraFtuPj4zXTtHRChh
LGYsMiwoZHwwKT09MD9qOjApO2Q9an1icmVha31jYXNlIDM6Y2FzZSAyOntBPXIrODB8MDtjW3M+
PjJdPWNbQT4+Ml07Y1tzKzQ+PjJdPWNbQSs0Pj4yXTtjW3MrOD4+Ml09Y1tBKzg+PjJdO2Nbcysx
Mj4+Ml09Y1tBKzEyPj4yXTtjW3MrMTY+PjJdPWNbQSsxNj4+Ml07Y1tzKzIwPj4yXT1jW0ErMjA+
PjJdO2NbcysyND4+Ml09Y1tBKzI0Pj4yXTtjW3MrMjg+PjJdPWNbQSsyOD4+Ml07Y1twPj4yXT1j
W3U+PjJdO2NbcCs0Pj4yXT1jW3UrND4+Ml07Y1twKzg+PjJdPWNbdSs4Pj4yXTtjW3ArMTI+PjJd
PWNbdSsxMj4+Ml07Y1twKzE2Pj4yXT1jW3UrMTY+PjJdO2NbcCsyMD4+Ml09Y1t1KzIwPj4yXTtj
W3ArMjQ+PjJdPWNbdSsyND4+Ml07Y1twKzI4Pj4yXT1jW3UrMjg+PjJdO2lmKCEobHYocyxwKXww
KSlkPWo7ZWxzZXtkPXIrOHwwO2Y9QXYoZix0LGNbZCs0Pj4yXXwwLGNbZD4+Ml18MCl8MDtIRChh
LGYsY1tkPj4yXXwwLChjW3I+PjJdfDApPT0yP2o6MCk7ZD1qfWJyZWFrfWNhc2UgNTpjYXNlIDQ6
e0E9cis4MHwwO2Nbcz4+Ml09Y1tBPj4yXTtjW3MrND4+Ml09Y1tBKzQ+PjJdO2Nbcys4Pj4yXT1j
W0ErOD4+Ml07Y1tzKzEyPj4yXT1jW0ErMTI+PjJdO2NbcysxNj4+Ml09Y1tBKzE2Pj4yXTtjW3Mr
MjA+PjJdPWNbQSsyMD4+Ml07Y1tzKzI0Pj4yXT1jW0ErMjQ+PjJdO2NbcysyOD4+Ml09Y1tBKzI4
Pj4yXTtjW3A+PjJdPWNbdT4+Ml07Y1twKzQ+PjJdPWNbdSs0Pj4yXTtjW3ArOD4+Ml09Y1t1Kzg+
PjJdO2NbcCsxMj4+Ml09Y1t1KzEyPj4yXTtjW3ArMTY+PjJdPWNbdSsxNj4+Ml07Y1twKzIwPj4y
XT1jW3UrMjA+PjJdO2NbcCsyND4+Ml09Y1t1KzI0Pj4yXTtjW3ArMjg+PjJdPWNbdSsyOD4+Ml07
aWYoIShsdihzLHApfDApKWQ9ajtlbHNle2Q9cis4fDA7Zj1BdihmLHQsY1tkKzQ+PjJdfDAsY1tk
Pj4yXXwwKXwwO0pEKGEsZixjW2Q+PjJdfDAsMCwwLChjW3I+PjJdfDApPT00P2omMjU1OjApO2Q9
an1icmVha31jYXNlIDY6e0E9cis4MHwwO2Nbcz4+Ml09Y1tBPj4yXTtjW3MrND4+Ml09Y1tBKzQ+
PjJdO2Nbcys4Pj4yXT1jW0ErOD4+Ml07Y1tzKzEyPj4yXT1jW0ErMTI+PjJdO2NbcysxNj4+Ml09
Y1tBKzE2Pj4yXTtjW3MrMjA+PjJdPWNbQSsyMD4+Ml07Y1tzKzI0Pj4yXT1jW0ErMjQ+PjJdO2Nb
cysyOD4+Ml09Y1tBKzI4Pj4yXTtjW3A+PjJdPWNbdT4+Ml07Y1twKzQ+PjJdPWNbdSs0Pj4yXTtj
W3ArOD4+Ml09Y1t1Kzg+PjJdO2NbcCsxMj4+Ml09Y1t1KzEyPj4yXTtjW3ArMTY+PjJdPWNbdSsx
Nj4+Ml07Y1twKzIwPj4yXT1jW3UrMjA+PjJdO2NbcCsyND4+Ml09Y1t1KzI0Pj4yXTtjW3ArMjg+
PjJdPWNbdSsyOD4+Ml07aWYoIShsdihzLHApfDApKWQ9ajtlbHNle2Q9cis4fDA7Zj1BdihmLHQs
Y1tkKzQ+PjJdfDAsY1tkPj4yXXwwKXwwO0tEKGEsZixjW2Q+PjJdfDApO2Q9an1icmVha31jYXNl
IDc6e0E9cis4MHwwO2Nbcz4+Ml09Y1tBPj4yXTtjW3MrND4+Ml09Y1tBKzQ+PjJdO2Nbcys4Pj4y
XT1jW0ErOD4+Ml07Y1tzKzEyPj4yXT1jW0ErMTI+PjJdO2NbcysxNj4+Ml09Y1tBKzE2Pj4yXTtj
W3MrMjA+PjJdPWNbQSsyMD4+Ml07Y1tzKzI0Pj4yXT1jW0ErMjQ+PjJdO2NbcysyOD4+Ml09Y1tB
KzI4Pj4yXTtjW3A+PjJdPWNbdT4+Ml07Y1twKzQ+PjJdPWNbdSs0Pj4yXTtjW3ArOD4+Ml09Y1t1
Kzg+PjJdO2NbcCsxMj4+Ml09Y1t1KzEyPj4yXTtjW3ArMTY+PjJdPWNbdSsxNj4+Ml07Y1twKzIw
Pj4yXT1jW3UrMjA+PjJdO2NbcCsyND4+Ml09Y1t1KzI0Pj4yXTtjW3ArMjg+PjJdPWNbdSsyOD4+
Ml07aWYoIShsdihzLHApfDApKWQ9ajtlbHNle2hbZj4+M109K2hbcis4Pj4zXTtoW2YrOD4+M109
K2hbcisxNj4+M107ZD1jW3IrMTEyPj4yXXwwO2NbcD4+Ml09Y1tmPj4yXTtjW3ArND4+Ml09Y1tm
KzQ+PjJdO2NbcCs4Pj4yXT1jW2YrOD4+Ml07Y1twKzEyPj4yXT1jW2YrMTI+PjJdO0FEKGEscCxk
KTtkPWp9YnJlYWt9Y2FzZSA4OntERChhLGNbcis4Pj4yXXwwKTtkPTE7YnJlYWt9Y2FzZSA5OntC
RChhLGNbcis4Pj4yXXwwKTtkPTE7YnJlYWt9Y2FzZSAxMzp7aWYoKGNbcis4Pj4yXXwwKSE9Mil7
ZD1yKzE2fDA7ej1jW2QrMzY+PjJdfDA7QT1jW3orMTI+PjJdfDA7bz0rZ1t6Kzg+PjJdO2Q9fn4o
K0soKygraFtyKzQwPj4zXS0raFtyKzI0Pj4zXSksKygraFtyKzMyPj4zXS0raFtkPj4zXSkpKjU3
LjI5NTc3OTUxMzA4MjMyKTtERChhLGNbeis0Pj4yXXwwKTtFRChhLEEsZCxvKTtkPTI7YnJlYWsg
YX1BPWNbcis2OD4+Ml18MDtqPWNbQSs0Pj4yXXwwO249Y1tBKzEyPj4yXXwwO289K2dbQSs4Pj4y
XTtrPStoW3IrNDA+PjNdO209K2hbcisxNj4+M107aWYoaz09bT8raFtyKzQ4Pj4zXT09K2hbcisy
ND4+M106MClkPTA7ZWxzZSBkPX5+KCtIKCsoKG0taykvK2hbciszMj4+M10pKSo1Ny4yOTU3Nzk1
MTMwODIzMik7REQoYSxqKTtFRChhLG4sZCxvKTtkPTM7YnJlYWt9Y2FzZSAxNDp7X2woMCw4NTUx
Mix2KXwwO2Q9ajticmVha31jYXNlIDEyOntpZighZSl7ZT0wO2Q9an1lbHNle19sKDAsODU1NTIs
dyl8MDtlPTA7ZD1qfWJyZWFrfWNhc2UgMTE6e0R1KGNbcis4Pj4yXXwwKXwwO0ZEKGEsMTY4NDA4
KTtpPTE2ODQwODtkPWo7YnJlYWt9ZGVmYXVsdDpkPWp9d2hpbGUoMCk7aj1kO3E9cSsxfDA7cj1y
KzEyMHwwfWlmKGl8MClGRChhLGNbKGNbYT4+Ml18MCkrMzM2Pj4yXXwwKTtfSShmKTtsPXg7cmV0
dXJufWZ1bmN0aW9uIEF2KGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAs
Zz0wO2c9Y1tiPj4yXXwwO2Y9Zzw8MTtmPShmfDApPihlfDApP2Y6ZTtpZigoZ3wwKTwoZXwwKSl7
YT15dyhhLGY8PDQpfDA7Y1tiPj4yXT1mfWI9MDt3aGlsZSgxKXtpZigoYnwwKT49KGV8MCkpYnJl
YWs7aFthKyhiPDw0KT4+M109K2hbZCsoYioyNHwwKT4+M107aFthKyhiPDw0KSs4Pj4zXT0raFtk
KyhiKjI0fDApKzg+PjNdO2I9YisxfDB9cmV0dXJuIGF8MH1mdW5jdGlvbiBCdihhLGIpe2E9YXww
O2I9YnwwO3ZhciBkPTA7ZD1jW2I+PjJdfDA7Y1thPj4yXT1jW2IrND4+Ml07Y1thKzQ+PjJdPWQ7
cmV0dXJufWZ1bmN0aW9uIEN2KGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2c9ZCsx
NnwwO2Y9MTt3aGlsZSgxKXtkPWNbZz4+Ml18MDtpZigoZnwwKT4oY1tkKzE4MD4+Ml18MCkpYnJl
YWs7ZT1jWyhjW2QrMTg0Pj4yXXwwKSsoZjw8Mik+PjJdfDA7Q3YoYixlKTtkPUltKGUsMTIyNTQw
KXwwO2lmKGR8MD9hW2Q+PjBdfDA6MClCRChiLGQpO2Q9SW0oZSwxMjI1MzEpfDA7aWYoZHwwP2Fb
ZD4+MF18MDowKUJEKGIsZCk7ZD1JbShlLDg1NDIzKXwwO2lmKGR8MD9hW2Q+PjBdfDA6MClCRChi
LGQpO2Q9SW0oZSw4NjQ2OSl8MDtpZihkfDA/YVtkPj4wXXwwOjApREQoYixkKTtkPUltKGUsODY1
MDMpfDA7aWYoZHwwP2FbZD4+MF18MDowKUJEKGIsZCk7Zj1mKzF8MH1yZXR1cm59ZnVuY3Rpb24g
RHYoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wO2I9Y1s0MjE3Ml18MDtpZighYil7Yj1RbCgxOTY4
NCxjWzQzNDVdfDApfDA7Y1s0MjE3Ml09Yn1pZighKGJiW2NbYj4+Ml0mMzFdKGIsYSw0KXwwKSl7
ZD1jWzQyMTcyXXwwO2U9Y1tkPj4yXXwwO2I9R0woYSl8MDtiYltlJjMxXShkLGIsMSl8MDtiPTF9
ZWxzZSBiPTA7cmV0dXJuIGJ8MH1mdW5jdGlvbiBFdihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7
X0koYik7cmV0dXJufWZ1bmN0aW9uIEZ2KGEpe2E9YXwwO3ZhciBiPTA7Yj1jWzQyMTczXXwwO2lm
KCFhKXtpZigoYnwwKT4wPyhiPWIrLTF8MCxjWzQyMTczXT1iLChifDApPT0wKTowKXtiTCgxLGNb
NDIxNzRdfDApfDA7X0koY1s0MjE3NF18MCl9fWVsc2V7Y1s0MjE3M109YisxO2lmKCFiKXtjWzQy
MTc0XT1HTChiTCgxLDApfDApfDA7YkwoMSwxMzQ4NjUpfDB9fXJldHVybn1mdW5jdGlvbiBHdihh
LGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxv
PTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLjA7dT1sO2w9bCs5NnwwO3I9dSs3MnwwO3E9
dSs1NnwwO3A9dSs0OHwwO3Q9dSszMnwwO3M9dSsyNHwwO2U9dSs4fDA7ZD11O2lmKDApeEEoKTtk
byBpZigoTm8oYiwxMjIyNzcsMCwxKXwwKSE9MD8obz1iKzE2fDAsKGNbKGNbbz4+Ml18MCkrOD4+
Ml18MCkhPTApOjApe0h2KGIpO0l2KGEsYik7SnYoYSxiKTtGdigxKTtqPWErNTZ8MDtrPWErMTg0
fDA7bT1hKzE5MnwwO249YSsyOHwwO2k9Q3IoYSl8MDthOndoaWxlKDEpe2lmKCFpKXtnPTMzO2Jy
ZWFrfWQ9Y1tqPj4yXXwwO2lmKCFkKXtjW2krMjA+PjJdPTA7ZD0wfWVsc2V7Y1tpKzIwPj4yXT1j
W2QrOD4+Ml07ZD1jW2QrMTI+PjJdfDB9Y1tpKzI0Pj4yXT1kO2NbaSsxMj4+Ml09YTtjW2krMjg+
PjJdPWNbaz4+Ml07Y1tpKzYyMD4+Ml09MjQ3NDg7Y1tpKzYyND4+Ml09MTQ7aWYoIShjWyhjW28+
PjJdfDApKzg+PjJdfDApKXtnPTEzO2JyZWFrfWU9aSs1MnwwO2c9YkQoaSxjW2U+PjJdfDApfDA7
Y1tpKzU2Pj4yXT1nO3N3aXRjaChnfDApe2Nhc2UgOTk5OntnPTE2O2JyZWFrIGF9Y2FzZSAyMTp7
ZD0xO2JyZWFrfWNhc2UgMjQ6e2Q9NTIwO2JyZWFrfWRlZmF1bHQ6ZD1LdihiKXwwfWY9aSsxNTJ8
MDtjW2Y+PjJdPWNbZj4+Ml18ZDtkPWNbbT4+Ml18MDtkbyBpZighZClnPTI0O2Vsc2V7aWYoY1tk
KzE1Mj4+Ml0mMzJ8MD8oeEooY1tlPj4yXXwwLGNbZCs1Mj4+Ml18MCl8MCk9PTA6MCl7ZD1jWzQy
MTc1XXwwO2lmKCFkKXtnPTI3O2JyZWFrfWNbZCs4Pj4yXT1pO2NbaSszNj4+Ml09Y1tkKzM2Pj4y
XTtnPTI5O2JyZWFrfWREKGQpO2NbbT4+Ml09MDtjW24+PjJdPTA7Zz0yNH13aGlsZSgwKTtpZigo
Z3wwKT09MjQpe2NbNDIxNzVdPTA7Zz0yN31pZigoZ3wwKT09Mjc/KGc9MCwoY0QoaSl8MCk9PTAp
OjApe2NbbT4+Ml09aTtnPTI5fWlmKChnfDApPT0yOSl7Y1tpKzg+PjJdPTA7Y1tpKzEwND4+Ml09
MjQ4NjA7THYoaSk7TXYoaSk7TnYoaSxiKTtPdihpLGIpO1B2KGksYik7aWYoIShjW2Y+PjJdJjEy
OCkpZ3UoaSxiKTtjWzQyMTc1XT1pfWk9RHIoYSl8MH1pZigoZ3wwKT09MTMpe19sKDEsODU3MTAs
cyl8MDtGdigwKTtpZighMCl7ZD0tMTticmVha31kPWNbMTM5MThdfDA7cz1EbihiKXwwO3Y9K3lB
KCk7Y1t0Pj4yXT1zO2hbdCs4Pj4zXT12O3pMKGQsODU2ODEsdCl8MDtkPS0xO2JyZWFrfWVsc2Ug
aWYoKGd8MCk9PTE2KXtjW3A+PjJdPWNbZT4+Ml07X2woMSw4NTczMSxwKXwwO0Z2KDApO2lmKCEw
KXtkPS0xO2JyZWFrfWQ9Y1sxMzkxOF18MDt0PURuKGIpfDA7dj0reUEoKTtjW3E+PjJdPXQ7aFtx
Kzg+PjNdPXY7ekwoZCw4NTY4MSxxKXwwO2Q9LTE7YnJlYWt9ZWxzZSBpZigoZ3wwKT09MzMpe0Z2
KDApO2lmKCEwKXtkPTA7YnJlYWt9ZD1jWzEzOTE4XXwwO3Q9RG4oYil8MDt2PSt5QSgpO2Nbcj4+
Ml09dDtoW3IrOD4+M109djt6TChkLDg1NjgxLHIpfDA7ZD0wO2JyZWFrfX1lbHNlIGc9NTt3aGls
ZSgwKTtpZigoZ3wwKT09NSl7X2woMSw4NTYzMyxkKXwwO2lmKCEwKWQ9LTE7ZWxzZXtkPWNbMTM5
MThdfDA7dD1EbihiKXwwO3Y9K3lBKCk7Y1tlPj4yXT10O2hbZSs4Pj4zXT12O3pMKGQsODU2ODEs
ZSl8MDtkPS0xfX1sPXU7cmV0dXJuIGR8MH1mdW5jdGlvbiBIdihhKXthPWF8MDt2YXIgYj0wO2I9
Y28oYSl8MDt3aGlsZSgxKXtpZighYilicmVhaztVdihhLGIpO2I9ZW8oYSxiKXwwfXJldHVybn1m
dW5jdGlvbiBJdihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxpPTAsaj0wLGs9MCxt
PTAsbj0wLG89MCxwPTAuMDtvPWw7bD1sKzMyfDA7az1vKzI0fDA7Zj1vKzE2fDA7aj1vKzh8MDtu
PW87Y1tiKzE2OD4+Ml09ZDtnPWIrMjkzfDA7YVtnPj4wXT0wO2U9SW0oZCw5MDUzMCl8MDtpZihl
fDA/KGNbZj4+Ml09aixjW2YrND4+Ml09bixpPWNNKGUsOTA1MzcsZil8MCwoaXwwKT4wKTowKXtw
PStoW2o+PjNdKjcyLjA7ZT1iKzIwOHwwO2hbZT4+M109cDtoW2IrMjAwPj4zXT1wO2lmKChpfDAp
IT0xKWhbZT4+M109K2hbbj4+M10qNzIuMDthW2c+PjBdPTF9Zj1iKzI5MnwwO2FbZj4+MF09MDtl
PUltKGQsODYxMzMpfDA7aWYoZXwwPyhjW2s+PjJdPWosY1trKzQ+PjJdPW4sbT1jTShlLDkwNTM3
LGspfDAsKG18MCk+MCk6MCl7cD0raFtqPj4zXSo3Mi4wO2U9YisyMjR8MDtoW2U+PjNdPXA7aFti
KzIxNj4+M109cDtpZigobXwwKSE9MSloW2U+PjNdPStoW24+PjNdKjcyLjA7YVtmPj4wXT0xfWU9
YisyOTR8MDthW2U+PjBdPTA7Zj1iKzIzMnwwO2c9ZCsxNnwwO249KGNbKGNbZz4+Ml18MCkrOD4+
Ml18MCkrNDh8MDtjW2Y+PjJdPWNbbj4+Ml07Y1tmKzQ+PjJdPWNbbis0Pj4yXTtjW2YrOD4+Ml09
Y1tuKzg+PjJdO2NbZisxMj4+Ml09Y1tuKzEyPj4yXTtmPWNbKGNbZz4+Ml18MCkrOD4+Ml18MDtp
ZigraFtmKzQ4Pj4zXT4uMDAxPytoW2YrNTY+PjNdPi4wMDE6MClhW2U+PjBdPTE7Y1tiKzI4OD4+
Ml09YVtmKzgxPj4wXXwwPzkwOjA7ZT1iKzE5NnwwO2NbZT4+Ml09ODYxMzc7Zj1JbShkLDg2MTQw
KXwwO2lmKGZ8MD9hW2Y+PjBdfDA6MCljW2U+PjJdPWY7bj1iKzI1NnwwO209KGNbZz4+Ml18MCkr
MTZ8MDtjW24+PjJdPWNbbT4+Ml07Y1tuKzQ+PjJdPWNbbSs0Pj4yXTtjW24rOD4+Ml09Y1ttKzg+
PjJdO2NbbisxMj4+Ml09Y1ttKzEyPj4yXTtjW24rMTY+PjJdPWNbbSsxNj4+Ml07Y1tuKzIwPj4y
XT1jW20rMjA+PjJdO2NbbisyND4+Ml09Y1ttKzI0Pj4yXTtjW24rMjg+PjJdPWNbbSsyOD4+Ml07
Y1s0MjE4NV09eW0oZCwwLDg2NTM1LDApfDA7Y1s0MjE4Nl09eW0oZCwwLDg2NTIwLDApfDA7Y1ti
KzMyMD4+Ml09R0EoMCxjWzQyMTk1XXwwLDkzMDI3KXwwO2hbYiszMjg+PjNdPStFQSgwLGNbNDIx
OTRdfDAsMTQuMCwxLjApO2NbYiszMzY+PjJdPTE5NzIwO2NbYisxODg+PjJdPURuKGQpfDA7bD1v
O3JldHVybn1mdW5jdGlvbiBKdihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MDtlPWIr
MzA0fDA7Zj1jW2U+PjJdfDA7aWYoZnwwKXtfSShmKTtjW2U+PjJdPTB9Zj1iKzMwOHwwO2U9Y1tm
Pj4yXXwwO2lmKGV8MCl7X0koZSk7Y1tmPj4yXT0wfWc9YiszMTZ8MDtlPWNbZz4+Ml18MDtpZihl
fDApe19JKGUpO2NbZz4+Ml09MH1lPUltKGQsODU4ODQpfDA7aWYoZSl7Y1tiKzMxMj4+Ml09U3Yo
YixkLGUpfDA7ZT1JbShkLDg1ODkxKXwwO2lmKGV8MD9hW2U+PjBdfDA6MCljW2c+PjJdPVR2KGIs
ZSl8MH1lbHNle2NbZj4+Ml09MDtjW2IrMzEyPj4yXT0xfXJldHVybn1mdW5jdGlvbiBLdihiKXti
PWJ8MDtiPUltKGIsODU4NTIpfDA7YTpkbyBpZighYiliPTA7ZWxzZSBzd2l0Y2goYVtiPj4wXXww
KXtjYXNlIDExMDp7aWYoISh4SihiKzF8MCw4NTg2NCl8MCkpYj0xO2Vsc2V7Yj0wO2JyZWFrIGF9
YnJlYWt9Y2FzZSAxMDE6e2lmKCEoeEooYisxfDAsODU4NzQpfDApKWI9MTY7ZWxzZXtiPTA7YnJl
YWsgYX1icmVha31kZWZhdWx0OntiPTA7YnJlYWsgYX19d2hpbGUoMCk7cmV0dXJuIGJ8MH1mdW5j
dGlvbiBMdihiKXtiPWJ8MDt2YXIgZD0wLjAsZT0wO2U9Y1tiPj4yXXwwO2lmKCEoYVtlKzI5Mj4+
MF18MCkpe2lmKChjW2IrNTY+PjJdfDApPT0zMDApZD0raFsoY1tiKzY4Pj4yXXwwKSs4Pj4zXTtl
bHNlIGQ9NC4wO2hbYisyNDg+PjNdPWQ7aFtiKzI0MD4+M109ZH1lbHNle2I9YisyNDB8MDtlPWUr
MjE2fDA7Y1tiPj4yXT1jW2U+PjJdO2NbYis0Pj4yXT1jW2UrND4+Ml07Y1tiKzg+PjJdPWNbZSs4
Pj4yXTtjW2IrMTI+PjJdPWNbZSsxMj4+Ml19cmV0dXJufWZ1bmN0aW9uIE12KGIpe2I9YnwwO3Zh
ciBkPTA7ZD1jW2I+PjJdfDA7YTpkbyBpZighKGFbZCsyOTM+PjBdfDApKXN3aXRjaChjW2IrNTY+
PjJdfDApe2Nhc2UgMzAwOntkPWIrNDE2fDA7Yj0oY1tiKzg0Pj4yXXwwKSs4fDA7Y1tkPj4yXT1j
W2I+PjJdO2NbZCs0Pj4yXT1jW2IrND4+Ml07Y1tkKzg+PjJdPWNbYis4Pj4yXTtjW2QrMTI+PjJd
PWNbYisxMj4+Ml07YnJlYWsgYX1jYXNlIDMwOmNhc2UgMjE6Y2FzZSAyMjpjYXNlIDQ6Y2FzZSAz
OmNhc2UgMjp7aFtiKzQyND4+M109MzYuMDtoW2IrNDE2Pj4zXT0zNi4wO2JyZWFrIGF9ZGVmYXVs
dDp7ZD1iKzQxNnwwO2NbZD4+Ml09MDtjW2QrND4+Ml09MDtjW2QrOD4+Ml09MDtjW2QrMTI+PjJd
PTA7YnJlYWsgYX19ZWxzZXtiPWIrNDE2fDA7ZD1kKzIwMHwwO2NbYj4+Ml09Y1tkPj4yXTtjW2Ir
ND4+Ml09Y1tkKzQ+PjJdO2NbYis4Pj4yXT1jW2QrOD4+Ml07Y1tiKzEyPj4yXT1jW2QrMTI+PjJd
fXdoaWxlKDApO3JldHVybn1mdW5jdGlvbiBOdihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAuMCxm
PTA7Zj1jWyhjW2I+PjJdfDApKzE5Mj4+Ml18MDtlPStoWyhjWyhjW2QrMTY+PjJdfDApKzg+PjJd
fDApKzI0Pj4zXTtkbyBpZighKGUhPTAuMCkpe2lmKGZ8MD9hW2YrMTI4Pj4wXXwwOjApe2I9Yis0
MzJ8MDtmPWYrMTEyfDA7Y1tiPj4yXT1jW2Y+PjJdO2NbYis0Pj4yXT1jW2YrND4+Ml07Y1tiKzg+
PjJdPWNbZis4Pj4yXTtjW2IrMTI+PjJdPWNbZisxMj4+Ml07YnJlYWt9ZD1iKzQzMnwwO2lmKChj
W2IrNTY+PjJdfDApPT0zMDApe2I9KGNbYis4ND4+Ml18MCkrNDB8MDtjW2Q+PjJdPWNbYj4+Ml07
Y1tkKzQ+PjJdPWNbYis0Pj4yXTtjW2QrOD4+Ml09Y1tiKzg+PjJdO2NbZCsxMj4+Ml09Y1tiKzEy
Pj4yXTticmVha31lbHNle2hbYis0NDA+PjNdPTk2LjA7aFtkPj4zXT05Ni4wO2JyZWFrfX1lbHNl
e2hbYis0NDA+PjNdPWU7aFtiKzQzMj4+M109ZX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gT3Yo
YixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLjAsZj0wLjAsZz0wLGk9MC4wLGo9MC4wLGs9MC4wLG09
MCxuPTAsbz0wLjAscD0wLjAscT0wLjAscj0wLjAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0w
LHo9MCxBPTA7QT1sO2w9bCsxMTJ8MDt0PUErODB8MDt1PUErNTZ8MDtzPUErNDB8MDt2PUErMzJ8
MDt3PUErMjR8MDt4PUErMTZ8MDt5PUErOHwwO3o9QTttPWNbYj4+Ml18MDtvPStoW20rMjcyPj4z
XTtxPStoW20rMjgwPj4zXTtwPStoW20rMjU2Pj4zXTtyPStoW20rMjY0Pj4zXTtmPStoW2IrMjQw
Pj4zXTtlPXAtZjtoW2IrMjA4Pj4zXT1lO2k9K2hbYisyNDg+PjNdO2o9ci1pO2hbYisyMTY+PjNd
PWo7Zj1mK287aFtiKzIyND4+M109ZjtpPWkrcTtoW2IrMjMyPj4zXT1pO2U9Zi1lO2o9aS1qO2hb
eD4+M109MS4wO2c9Y1soY1tkKzE2Pj4yXXwwKSs4Pj4yXXwwO2k9K2hbZys2ND4+M107ZG8gaWYo
aT4uMDAxPyhrPStoW2crNzI+PjNdLGs+LjAwMSk6MCl7ZT1lPT0wLjA/aTplO2Y9aj09MC4wP2s6
ajtpZighKGk8ZXxrPGYpPyEoaz5mJihpPmUmKGFbZys4MD4+MF18MCkhPTApKTowKXtrPWU7aj1m
O2k9MS4wO2JyZWFrfW49aS9lPGsvZjtpPShuP2k6aykvKG4/ZTpmKTtoW3g+PjNdPWk7az1lO2o9
Zn1lbHNle2s9ZTtpPTEuMH13aGlsZSgwKTtmPShwK28pKi41O2hbeT4+M109ZjtlPShyK3EpKi41
O2hbej4+M109ZTtjW2IrMzYwPj4yXT1jW20rMjg4Pj4yXTtrPWkqaztoW3Y+PjNdPWs7aj1pKmo7
aFt3Pj4zXT1qO2c9SW0oZCw4NTc4Myl8MDtpZihnKXttPVpJKChySihnKXwwKSsxfDApfDA7bj1a
SSgockooZyl8MCkrMXwwKXwwO2Nbcz4+Ml09djtjW3MrND4+Ml09dztjW3MrOD4+Ml09eDtjW3Mr
MTI+PjJdPW07ZG8gaWYoKGNNKGcsODU3OTIscyl8MCk9PTQpe2c9bm8oY1tkKzYwPj4yXXwwLG0s
MCl8MDtpZihnfDApe3U9Y1tnKzE2Pj4yXXwwO2hbeT4+M109K2hbdSsxNj4+M107aFt6Pj4zXT0r
aFt1KzI0Pj4zXX19ZWxzZXtjW3U+PjJdPXY7Y1t1KzQ+PjJdPXc7Y1t1Kzg+PjJdPXg7Y1t1KzEy
Pj4yXT1tO2NbdSsxNj4+Ml09bjtpZigoY00oZyw4NTgxMix1KXwwKSE9NCl7Y1t0Pj4yXT12O2Nb
dCs0Pj4yXT13O2NbdCs4Pj4yXT14O2NbdCsxMj4+Ml09eTtjW3QrMTY+PjJdPXo7Y00oZyw4NTgz
Mix0KXwwO2JyZWFrfWc9bm8oY1tkKzYwPj4yXXwwLG0sMCl8MDtpZihnfDApe3U9Y1tnKzE2Pj4y
XXwwO2hbeT4+M109K2hbdSsxNj4+M107aFt6Pj4zXT0raFt1KzI0Pj4zXX19d2hpbGUoMCk7X0ko
bSk7X0kobik7az0raFt2Pj4zXTtqPStoW3c+PjNdO2k9K2hbeD4+M107Zj0raFt5Pj4zXTtlPSto
W3o+PjNdfWhbYiszNjg+PjNdPWs7aFtiKzM3Nj4+M109ajtoW2IrMzUyPj4zXT1pO2hbYiszMzY+
PjNdPWY7aFtiKzM0ND4+M109ZTtsPUE7cmV0dXJufWZ1bmN0aW9uIFB2KGIsZCl7Yj1ifDA7ZD1k
fDA7dmFyIGU9MCxmPTAsZz0wLjAsaT0wLjAsaj0wLGs9MC4wLG09MC4wLG49MC4wLG89MC4wLHA9
MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0w
LEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MC4wLFA9MC4wLFE9MC4wO009
bDtsPWwrMjI0fDA7Sj1NKzIwMHwwO3o9TSsxNjh8MDtFPU0rMTQ0fDA7ST1NKzEyMHwwO0Y9TSs5
NnwwO0c9TSs2NHwwO2U9TSsxODR8MDt2PU0rMTc2fDA7dz1NKzE2MHwwO3k9TSsxMzZ8MDt4PU0r
MTEyfDA7QT1NKzgwfDA7Qj1NKzQ4fDA7Qz1NKzMyfDA7RD1NKzE2fDA7Sz1NKzh8MDtMPU07dT1j
W2I+PjJdfDA7Y1tHPj4yXT0wO2NbRys0Pj4yXT0wO2NbRys4Pj4yXT0wO2NbRysxMj4+Ml09MDtI
PWIrMzY4fDA7Y1tJPj4yXT1jW0g+PjJdO2NbSSs0Pj4yXT1jW0grND4+Ml07Y1tJKzg+PjJdPWNb
SCs4Pj4yXTtjW0krMTI+PjJdPWNbSCsxMj4+Ml07SD1iKzM2MHwwO2lmKGNbSD4+Ml18MCl7Y1tK
Pj4yXT1jW0k+PjJdO2NbSis0Pj4yXT1jW0krND4+Ml07Y1tKKzg+PjJdPWNbSSs4Pj4yXTtjW0or
MTI+PjJdPWNbSSsxMj4+Ml07UXYoZSxKKTtjW0k+PjJdPWNbZT4+Ml07Y1tJKzQ+PjJdPWNbZSs0
Pj4yXTtjW0krOD4+Ml09Y1tlKzg+PjJdO2NbSSsxMj4+Ml09Y1tlKzEyPj4yXX10PWIrNDE2fDA7
Y1tGPj4yXT1jW3Q+PjJdO2NbRis0Pj4yXT1jW3QrND4+Ml07Y1tGKzg+PjJdPWNbdCs4Pj4yXTtj
W0YrMTI+PjJdPWNbdCsxMj4+Ml07aWYoKGFbdSsyOTQ+PjBdfDApIT0wPyhjW2IrMTUyPj4yXSYz
MnwwKSE9MDowKXtpPStoW3UrMjMyPj4zXS0raFtGPj4zXSoyLjA7aFtFPj4zXT1pO2s9K2hbdSsy
NDA+PjNdLStoW0YrOD4+M10qMi4wO3A9RSs4fDA7aFtwPj4zXT1rO2lmKCEoaTwuMDAwMSkpe289
K2hbST4+M107ZT1+fihvL2kpO2Y9YisxNjR8MDtjW2Y+PjJdPWU7aWYoby1pKisoZXwwKT4uMDAw
MSl7ZT1lKzF8MDtjW2Y+PjJdPWV9fWVsc2V7Y1tiKzE2ND4+Ml09MTtlPTF9aWYoIShrPC4wMDAx
KSl7Zz0raFtJKzg+PjNdO2Y9fn4oZy9rKTtqPWIrMTY4fDA7Y1tqPj4yXT1mO2lmKGctayorKGZ8
MCk+LjAwMDEpe2Y9ZisxfDA7Y1tqPj4yXT1mfX1lbHNle2NbYisxNjg+PjJdPTE7Zj0xO2c9K2hb
SSs4Pj4zXX1jW2IrMjA0Pj4yXT1PKGYsZSl8MDtvPStoWygraFtJPj4zXTxpP0k6RSk+PjNdO2hb
ST4+M109bztlPXA7Zj1JO209K2hbKGc8az9JOkUpKzg+PjNdO2c9bztqPTIxfWVsc2V7aWYoY1ti
KzY4Pj4yXXwwKXtlPWNbYis4ND4+Ml18MDtpPStoW2UrMjQ+PjNdLStoW0Y+PjNdKjIuMDtpPWk8
MC4wPzAuMDppO2hbRT4+M109aTtvPStoW2UrMzI+PjNdLStoW0YrOD4+M10qMi4wO2U9RSs4fDA7
aFtlPj4zXT1vO2lmKG88MC4wKXtmPUU7aj0xN31lbHNlIGU9RX1lbHNle2hbRSs4Pj4zXT0wLjA7
Zj1FO2U9RTtqPTE3fWlmKChqfDApPT0xNyl7aFtlPj4zXT0wLjA7ZT1mO2k9K2hbZj4+M119Y1ti
KzIwND4+Ml09MTtjW2IrMTY4Pj4yXT0xO2NbYisxNjQ+PjJdPTE7Zz0raFtJPj4zXTtpZihpPGcp
e2hbZT4+M109ZztpPWd9ZT1FKzh8MDtrPStoW2U+PjNdO209K2hbSSs4Pj4zXTtpZihrPG0pe2Y9
RTtqPTIxfWVsc2V7cj1lO209a319aWYoKGp8MCk9PTIxKXtoW2YrOD4+M109bTtyPWU7bT0raFtl
Pj4zXX1uPStoW0Y+PjNdO3M9Yis0MzJ8MDtrPStoW3M+PjNdKi4wMTM4ODg4ODg4ODg4ODg4ODgq
KG4qMi4wK2kpO2NbYis0NDg+PjJdPX5+KGsrKGs+PTAuMD8uNTotLjUpKTtxPUYrOHwwO2s9K2hb
cT4+M107dD1iKzQ0MHwwO289K2hbdD4+M10qLjAxMzg4ODg4ODg4ODg4ODg4OCooayoyLjArbSk7
Y1tiKzQ1Mj4+Ml09fn4obysobz49MC4wPy41Oi0uNSkpO2o9YisxODh8MDtwPWIrMTgwfDA7ZT1i
KzE3MnwwO2Y9dSsxOTZ8MDtjW2U+PjJdPTA7Y1tlKzQ+PjJdPTA7Y1tlKzg+PjJdPTA7Y1tlKzEy
Pj4yXT0wO2NbZSsxNj4+Ml09MDtjW2UrMjA+PjJdPTA7UnYodixiLGFbY1tmPj4yXT4+MF18MCk7
dT12O3Y9Y1t1KzQ+PjJdfDA7ZT1wO2NbZT4+Ml09Y1t1Pj4yXTtjW2UrND4+Ml09djtSdih3LGIs
YVsoY1tmPj4yXXwwKSsxPj4wXXwwKTtlPXc7dz1jW2U+PjJdfDA7ZT1jW2UrND4+Ml18MDt2PWo7
Y1t2Pj4yXT13O2Nbdis0Pj4yXT1lO3c9KGNbcD4+Ml18MCkrd3wwO2lmKCEoKCgod3wwKT4tMT93
OjAtd3wwKXwwKT09MT8odz0oY1tiKzE4ND4+Ml18MCkrZXwwLCgoKHd8MCk+LTE/dzowLXd8MCl8
MCk9PTEpOjApKXtSdih5LGIsNjYpO3Y9eTt5PWNbdis0Pj4yXXwwO3c9cDtjW3c+PjJdPWNbdj4+
Ml07Y1t3KzQ+PjJdPXk7UnYoeCxiLDc2KTt3PXg7eD1jW3crND4+Ml18MDt5PWo7Y1t5Pj4yXT1j
W3c+PjJdO2NbeSs0Pj4yXT14O2Nbej4+Ml09Y1tmPj4yXTtfbCgwLDg1NzYzLHopfDB9aWYoYVso
Y1soY1tkKzE2Pj4yXXwwKSs4Pj4yXXwwKSs4Mj4+MF18MCl7aWYoaT5nKXttPShpLWcpKi41O2hb
Rz4+M109bX1lbHNlIG09MC4wO2k9K2hbcj4+M107bz0raFtJKzg+PjNdO2lmKGk+byl7aT0oaS1v
KSouNTtoW0crOD4+M109aX1lbHNlIGk9MC4wfWVsc2V7aT0wLjA7bT0wLjB9aWYoIShjW0g+PjJd
fDApKWo9MTtlbHNle2NbSj4+Ml09Y1tJPj4yXTtjW0orND4+Ml09Y1tJKzQ+PjJdO2NbSis4Pj4y
XT1jW0krOD4+Ml07Y1tKKzEyPj4yXT1jW0krMTI+PjJdO1F2KEEsSik7Y1tJPj4yXT1jW0E+PjJd
O2NbSSs0Pj4yXT1jW0ErND4+Ml07Y1tJKzg+PjJdPWNbQSs4Pj4yXTtjW0krMTI+PjJdPWNbQSsx
Mj4+Ml07Y1tKPj4yXT1jW0U+PjJdO2NbSis0Pj4yXT1jW0UrND4+Ml07Y1tKKzg+PjJdPWNbRSs4
Pj4yXTtjW0orMTI+PjJdPWNbRSsxMj4+Ml07UXYoQixKKTtjW0U+PjJdPWNbQj4+Ml07Y1tFKzQ+
PjJdPWNbQis0Pj4yXTtjW0UrOD4+Ml09Y1tCKzg+PjJdO2NbRSsxMj4+Ml09Y1tCKzEyPj4yXTtj
W0o+PjJdPWNbRj4+Ml07Y1tKKzQ+PjJdPWNbRis0Pj4yXTtjW0orOD4+Ml09Y1tGKzg+PjJdO2Nb
SisxMj4+Ml09Y1tGKzEyPj4yXTtRdihDLEopO2NbRj4+Ml09Y1tDPj4yXTtjW0YrND4+Ml09Y1tD
KzQ+PjJdO2NbRis4Pj4yXT1jW0MrOD4+Ml07Y1tGKzEyPj4yXT1jW0MrMTI+PjJdO2NbSj4+Ml09
Y1tHPj4yXTtjW0orND4+Ml09Y1tHKzQ+PjJdO2NbSis4Pj4yXT1jW0crOD4+Ml07Y1tKKzEyPj4y
XT1jW0crMTI+PjJdO1F2KEQsSik7Y1tHPj4yXT1jW0Q+PjJdO2NbRys0Pj4yXT1jW0QrND4+Ml07
Y1tHKzg+PjJdPWNbRCs4Pj4yXTtjW0crMTI+PjJdPWNbRCsxMj4+Ml07bj0raFtGPj4zXTttPSto
W0c+PjNdO2s9K2hbcT4+M107aT0raFtHKzg+PjNdO2c9K2hbST4+M107aj0oY1tIPj4yXXwwKT09
MH1vPW0rbjtoW2IrMzg0Pj4zXT1vO1A9aStrO2hbYiszOTI+PjNdPVA7Tj1tK24rZztoW2IrNDAw
Pj4zXT1OO1E9K2hbSSs4Pj4zXTtuPWkraytRO2hbYis0MDg+PjNdPW47bT0raFtiKzM1Mj4+M107
aFtiKzMyMD4+M109Zy9tO2hbYiszMjg+PjNdPVEvbTttPStoW3M+PjNdO289byouMDEzODg4ODg4
ODg4ODg4ODg4Km07Zj1iKzQ1NnwwO2NbZj4+Ml09fn4obysobz49MC4wPy41Oi0uNSkpO289K2hb
dD4+M107az1QKi4wMTM4ODg4ODg4ODg4ODg4ODgqbztjW2IrNDYwPj4yXT1+fihrKyhrPj0wLjA/
LjU6LS41KSk7bT1OKi4wMTM4ODg4ODg4ODg4ODg4ODgqbTtlPWIrNDY0fDA7Y1tlPj4yXT1+fiht
KyhtPj0wLjA/LjU6LS41KSk7bz1uKi4wMTM4ODg4ODg4ODg4ODg4ODgqbztjW2IrNDY4Pj4yXT1+
fihvKyhvPj0wLjA/LjU6LS41KSk7aWYoIWope2NbSj4+Ml09Y1tmPj4yXTtjW0orND4+Ml09Y1tm
KzQ+PjJdO0J2KEssSik7ST1LO0s9Y1tJKzQ+PjJdfDA7Yj1mO2NbYj4+Ml09Y1tJPj4yXTtjW2Ir
ND4+Ml09SztjW0o+PjJdPWNbZT4+Ml07Y1tKKzQ+PjJdPWNbZSs0Pj4yXTtCdihMLEopO2I9TDtL
PWNbYis0Pj4yXXwwO0w9ZTtjW0w+PjJdPWNbYj4+Ml07Y1tMKzQ+PjJdPUt9bD1NO3JldHVybn1m
dW5jdGlvbiBRdihhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMDtjPStoW2I+PjNdO2hbYT4+M109
K2hbYis4Pj4zXTtoW2ErOD4+M109YztyZXR1cm59ZnVuY3Rpb24gUnYoYSxiLGQpe2E9YXwwO2I9
YnwwO2Q9ZHwwO2Q9KGQ8PDI0Pj4yNCkrLTY2fDA7c3dpdGNoKGQ+Pj4xfGQ8PDMxfDApe2Nhc2Ug
OTp7Y1tiKzE3Nj4+Ml09KGNbYisxNjg+PjJdfDApKy0xO2I9MDtkPS0xO2JyZWFrfWNhc2UgMDp7
Yj0wO2Q9MTticmVha31jYXNlIDU6e2I9MTtkPTA7YnJlYWt9Y2FzZSA4OntjW2IrMTcyPj4yXT0o
Y1tiKzE2ND4+Ml18MCkrLTE7Yj0tMTtkPTA7YnJlYWt9ZGVmYXVsdDp7Yj0wO2Q9MH19Y1thPj4y
XT1iO2NbYSs0Pj4yXT1kO3JldHVybn1mdW5jdGlvbiBTdihiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1l
fDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTA7aj1sO2w9bCsxNnwwO2c9ajtmPUltKGQsODYwMDQp
fDA7aT1iKzI5NnwwO2NbaT4+Ml09KGZ8MCk9PTA/ODYwMTM6ZjtkPUltKGQsODYwMTcpfDA7Zj1i
KzMwMHwwO2Q9KGR8MCk9PTA/ODYwMzA6ZDtjW2Y+PjJdPWQ7ZD1KTChjW2k+PjJdfDAsZCl8MDtp
ZihkfDApe2NbZz4+Ml09YVtkPj4wXTtfbCgwLDg2MDMyLGcpfDA7Y1tmPj4yXT0xNzQxODF9ZD1H
TChlKXwwO2NbYiszMDQ+PjJdPWQ7aD1iKzMwOHwwO2Y9MDtiPTA7d2hpbGUoMSl7ZT1ETChkLGNb
aT4+Ml18MCl8MDtpZighZSlicmVhaztnPWIrMXwwO2lmKChifDApPChmfDApKWQ9Y1toPj4yXXww
O2Vsc2V7Zj1mKzEyOHwwO2Q9Y1toPj4yXXwwO2lmKCFkKWQ9d3coZjw8Mil8MDtlbHNlIGQ9eXco
ZCxmPDwyKXwwO2NbaD4+Ml09ZH1jW2QrKGc8PDIpPj4yXT1lO2I9ZztkPTB9aWYoYnwwKXtpPXl3
KGNbaD4+Ml18MCwoYjw8MikrOHwwKXwwO2NbaD4+Ml09aTtjW2k+PjJdPTA7Y1soY1toPj4yXXww
KSsoYisxPDwyKT4+Ml09MH1sPWo7cmV0dXJuIGJ8MH1mdW5jdGlvbiBUdihhLGIpe2E9YXwwO2I9
YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2s9bDtsPWwrMTZ8MDtqPWs7
aT1hKzMxMnwwO2Q9d3coKGNbaT4+Ml08PDIpKzh8MCl8MDtlPTA7aD0xO3doaWxlKDEpe2c9Y1tp
Pj4yXXwwO2lmKChofDApPihnfDApKWJyZWFrO2Y9ZSsxfDA7aWYoKGl2KGEsaCxnLGIpfDApPDwy
ND4+MjQpe2NbZCsoZjw8Mik+PjJdPWg7ZT1mfWg9aCsxfDB9aWYoIWUpe2Nbaj4+Ml09YjtfbCgw
LDg1OTAzLGopfDA7X0koZCk7ZD0wfWVsc2V7Y1tkPj4yXT1lO2NbZCsoZSsxPDwyKT4+Ml09KGNb
aT4+Ml18MCkrMX1sPWs7cmV0dXJuIGR8MH1mdW5jdGlvbiBVdihhLGIpe2E9YXwwO2I9YnwwO3Zh
ciBkPTAsZT0wLjAsZj0wLjAsZz0wLjA7ZD1jW2IrMTY+PjJdfDA7Zz0raFtkKzE2Pj4zXTtoW2Qr
NDg+PjNdPWctK2hbZCs4OD4+M107ZT0raFtkKzI0Pj4zXTtmPStoW2QrODA+PjNdKi41O2hbZCs1
Nj4+M109ZS1mO2hbZCs2ND4+M109K2hbZCs5Nj4+M10rZztoW2QrNzI+PjNdPWYrZTtiPVBtKGEs
Yil8MDt3aGlsZSgxKXtpZighYilicmVhaztWdihiKTtiPVJtKGEsYil8MH1yZXR1cm59ZnVuY3Rp
b24gVnYoYSl7YT1hfDA7YT1jWyhjW2ErMTY+PjJdfDApKzg+PjJdfDA7aWYoYXwwKVd2KGEpO3Jl
dHVybn1mdW5jdGlvbiBXdihhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MCxpPTAsaj0w
LGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAs
ej0wLEE9MCxCPTAsQz0wO0M9bDtsPWwrMjQwfDA7dj1DKzE5MnwwO3U9QysxNzZ8MDt3PUMrNjR8
MDt4PUMrMzJ8MDt5PUM7ej1DKzE0NHwwO0E9QysxMTJ8MDtCPWErNHwwO2lmKChjW0I+PjJdfDAp
PD0wKW1hKDg2MTcxLDg0OTI1LDM5OTQsODYxODUpO2I9Y1thPj4yXXwwO2Q9dztlPWI7Zj1kKzQ4
fDA7ZG97Y1tkPj4yXT1jW2U+PjJdO2Q9ZCs0fDA7ZT1lKzR8MH13aGlsZSgoZHwwKTwoZnwwKSk7
ZD12O2U9YjtmPWQrNDh8MDtkb3tjW2Q+PjJdPWNbZT4+Ml07ZD1kKzR8MDtlPWUrNHwwfXdoaWxl
KChkfDApPChmfDApKTtYdih4LHYpO2k9eCs4fDA7aj15Kzh8MDtrPXgrMTZ8MDttPXkrMTZ8MDtu
PXgrMjR8MDtvPXkrMjR8MDtwPXcrOHwwO3E9dysxMnwwO3I9dyszMnwwO3M9dys0fDA7dD13KzE2
fDA7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oY1tCPj4yXXwwKSlicmVhaztpZigoZ3wwKT4wKXti
PShjW2E+PjJdfDApKyhnKjQ4fDApfDA7ZD13O2U9YjtmPWQrNDh8MDtkb3tjW2Q+PjJdPWNbZT4+
Ml07ZD1kKzR8MDtlPWUrNHwwfXdoaWxlKChkfDApPChmfDApKTtkPXY7ZT1iO2Y9ZCs0OHwwO2Rv
e2NbZD4+Ml09Y1tlPj4yXTtkPWQrNHwwO2U9ZSs0fDB9d2hpbGUoKGR8MCk8KGZ8MCkpO1h2KHks
dik7aFt4Pj4zXT0raFsoK2hbeD4+M108K2hbeT4+M10/eDp5KT4+M107aFtpPj4zXT0raFsoK2hb
aT4+M108K2hbaj4+M10/eDp5KSs4Pj4zXTtoW2s+PjNdPStoWygraFtrPj4zXT4raFttPj4zXT94
OnkpKzE2Pj4zXTtoW24+PjNdPStoWygraFtuPj4zXT4raFtvPj4zXT94OnkpKzI0Pj4zXX1iPWNb
cD4+Ml18MDtpZihifDApe2Y9Y1t3Pj4yXXwwO2NbdT4+Ml09Y1t0Pj4yXTtjW3UrND4+Ml09Y1t0
KzQ+PjJdO2NbdSs4Pj4yXT1jW3QrOD4+Ml07Y1t1KzEyPj4yXT1jW3QrMTI+PjJdO2Nbdj4+Ml09
Y1tmPj4yXTtjW3YrND4+Ml09Y1tmKzQ+PjJdO2Nbdis4Pj4yXT1jW2YrOD4+Ml07Y1t2KzEyPj4y
XT1jW2YrMTI+PjJdO1J0KHosdSx2LDEuMCxiKTtjW3k+PjJdPWNbej4+Ml07Y1t5KzQ+PjJdPWNb
eis0Pj4yXTtjW3krOD4+Ml09Y1t6Kzg+PjJdO2NbeSsxMj4+Ml09Y1t6KzEyPj4yXTtjW3krMTY+
PjJdPWNbeisxNj4+Ml07Y1t5KzIwPj4yXT1jW3orMjA+PjJdO2NbeSsyND4+Ml09Y1t6KzI0Pj4y
XTtjW3krMjg+PjJdPWNbeisyOD4+Ml07aFt4Pj4zXT0raFsoK2hbeD4+M108K2hbeT4+M10/eDp5
KT4+M107aFtpPj4zXT0raFsoK2hbaT4+M108K2hbaj4+M10/eDp5KSs4Pj4zXTtoW2s+PjNdPSto
WygraFtrPj4zXT4raFttPj4zXT94OnkpKzE2Pj4zXTtoW24+PjNdPStoWygraFtuPj4zXT4raFtv
Pj4zXT94OnkpKzI0Pj4zXX1iPWNbcT4+Ml18MDtpZihifDApe2Y9KGNbdz4+Ml18MCkrKChjW3M+
PjJdfDApKy0xPDw0KXwwO2NbdT4+Ml09Y1tyPj4yXTtjW3UrND4+Ml09Y1tyKzQ+PjJdO2NbdSs4
Pj4yXT1jW3IrOD4+Ml07Y1t1KzEyPj4yXT1jW3IrMTI+PjJdO2Nbdj4+Ml09Y1tmPj4yXTtjW3Yr
ND4+Ml09Y1tmKzQ+PjJdO2Nbdis4Pj4yXT1jW2YrOD4+Ml07Y1t2KzEyPj4yXT1jW2YrMTI+PjJd
O1J0KEEsdSx2LDEuMCxiKTtjW3k+PjJdPWNbQT4+Ml07Y1t5KzQ+PjJdPWNbQSs0Pj4yXTtjW3kr
OD4+Ml09Y1tBKzg+PjJdO2NbeSsxMj4+Ml09Y1tBKzEyPj4yXTtjW3krMTY+PjJdPWNbQSsxNj4+
Ml07Y1t5KzIwPj4yXT1jW0ErMjA+PjJdO2NbeSsyND4+Ml09Y1tBKzI0Pj4yXTtjW3krMjg+PjJd
PWNbQSsyOD4+Ml07aFt4Pj4zXT0raFsoK2hbeD4+M108K2hbeT4+M10/eDp5KT4+M107aFtpPj4z
XT0raFsoK2hbaT4+M108K2hbaj4+M10/eDp5KSs4Pj4zXTtoW2s+PjNdPStoWygraFtrPj4zXT4r
aFttPj4zXT94OnkpKzE2Pj4zXTtoW24+PjNdPStoWygraFtuPj4zXT4raFtvPj4zXT94OnkpKzI0
Pj4zXX1nPWcrMXwwfUI9YSs4fDA7Y1tCPj4yXT1jW3g+PjJdO2NbQis0Pj4yXT1jW3grND4+Ml07
Y1tCKzg+PjJdPWNbeCs4Pj4yXTtjW0IrMTI+PjJdPWNbeCsxMj4+Ml07Y1tCKzE2Pj4yXT1jW3gr
MTY+PjJdO2NbQisyMD4+Ml09Y1t4KzIwPj4yXTtjW0IrMjQ+PjJdPWNbeCsyND4+Ml07Y1tCKzI4
Pj4yXT1jW3grMjg+PjJdO2w9QztyZXR1cm59ZnVuY3Rpb24gWHYoYSxiKXthPWF8MDtiPWJ8MDt2
YXIgZD0wLGU9MCxmPTAsZz0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLjAscD0wLjAscT0wLjAs
cj0wLjAscz0wLjAsdD0wO249bDtsPWwrNDh8MDtpPW4rMzJ8MDtqPW47az1jW2IrND4+Ml18MDtp
Zigoa3wwKTw9MCltYSg4NjIwMSw4NDkyNSwzOTY4LDg2MjEzKTtpZigoKGs+Pj4wKSUzfDB8MCkh
PTEpbWEoODYyMjMsODQ5MjUsMzk2OSw4NjIxMyk7bT1qKzE2fDA7ZD1jW2I+PjJdfDA7Y1ttPj4y
XT1jW2Q+PjJdO2NbbSs0Pj4yXT1jW2QrND4+Ml07Y1ttKzg+PjJdPWNbZCs4Pj4yXTtjW20rMTI+
PjJdPWNbZCsxMj4+Ml07Y1tqPj4yXT1jW2Q+PjJdO2Nbais0Pj4yXT1jW2QrND4+Ml07Y1tqKzg+
PjJdPWNbZCs4Pj4yXTtjW2orMTI+PjJdPWNbZCsxMj4+Ml07ZT1pKzh8MDtmPWorOHwwO2c9aisy
NHwwO2I9MTt3aGlsZSgxKXtpZigoYnwwKT49KGt8MCkpYnJlYWs7cD0raFtkKyhiPDw0KSs4Pj4z
XTt0PWIrMXwwO289K2hbZCsodDw8NCkrOD4+M107cj0oK2hbZCsodDw8NCk+PjNdKyAraFtkKyhi
PDw0KT4+M10pKi41O2hbaT4+M109cjtwPShvK3ApKi41O2hbZT4+M109cDtvPStoWygraFtqPj4z
XTxyP2o6aSk+PjNdO2hbaj4+M109bztzPStoWygraFtmPj4zXTxwP2o6aSkrOD4+M107aFtmPj4z
XT1zO3I9K2hbKCtoW20+PjNdPnI/bTppKT4+M107aFttPj4zXT1yO3A9K2hbKCtoW2c+PjNdPnA/
bTppKSs4Pj4zXTtoW2c+PjNdPXA7dD1kKyhiKzI8PDQpfDA7Y1tpPj4yXT1jW3Q+PjJdO2NbaSs0
Pj4yXT1jW3QrND4+Ml07Y1tpKzg+PjJdPWNbdCs4Pj4yXTtjW2krMTI+PjJdPWNbdCsxMj4+Ml07
cT0raFtpPj4zXTtoW2o+PjNdPStoWyhvPHE/ajppKT4+M107bz0raFtlPj4zXTtoW2Y+PjNdPSto
WyhzPG8/ajppKSs4Pj4zXTtoW20+PjNdPStoWyhyPnE/bTppKT4+M107aFtnPj4zXT0raFsocD5v
P206aSkrOD4+M107Yj1iKzN8MH1jW2E+PjJdPWNbaj4+Ml07Y1thKzQ+PjJdPWNbais0Pj4yXTtj
W2ErOD4+Ml09Y1tqKzg+PjJdO2NbYSsxMj4+Ml09Y1tqKzEyPj4yXTtjW2ErMTY+PjJdPWNbaisx
Nj4+Ml07Y1thKzIwPj4yXT1jW2orMjA+PjJdO2NbYSsyND4+Ml09Y1tqKzI0Pj4yXTtjW2ErMjg+
PjJdPWNbaisyOD4+Ml07bD1uO3JldHVybn1mdW5jdGlvbiBZdihhLGIsYyl7YT1hfDA7Yj1ifDA7
Yz1jfDA7dmFyIGQ9MCxlPTAuMCxmPTAuMCxnPTAuMCxpPTAsaj0wLjAsaz0wLGw9MCxtPTAuMCxu
PTAuMCxvPTAuMCxwPTAuMCxxPTAuMCxyPTAuMDtxPStoW2E+PjNdO3I9K2hbYz4+M107az0hKHE+
PXIpO2lmKCghaz9xPD0raFtjKzE2Pj4zXTowKT8oZT0raFthKzg+PjNdLGU+PStoW2MrOD4+M10p
OjApaT1lPD0raFtjKzI0Pj4zXTtlbHNlIGk9MDtlPStoW2I+PjNdO2lmKChlPj1yP2U8PStoW2Mr
MTY+PjNdOjApPyhmPStoW2IrOD4+M10sZj49K2hbYys4Pj4zXSk6MCl7ZD1mPD0raFtjKzI0Pj4z
XTtpZighKGleZCkpaWYoaSZkKWQ9MTtlbHNlIGw9MTE7ZWxzZSBkPTB9ZWxzZSBpZihpKWQ9MDtl
bHNlIGw9MTE7YTpkbyBpZigobHwwKT09MTEpe3A9K2hbYSs4Pj4zXTtkbyBpZihxPT1lKXtyPSto
W2MrOD4+M107aWYoIShrfHA+PXJeK2hbYis4Pj4zXT49cl4xKT9xPD0raFtjKzE2Pj4zXTowKXtk
PTA7YnJlYWsgYX19ZWxzZXtqPStoW2IrOD4+M107aWYocD09ail7aWYoIShxPj1yXmU+PXIpKWJy
ZWFrO2lmKCEocD49K2hbYys4Pj4zXSkpYnJlYWs7aWYoIShwPD0raFtjKzI0Pj4zXSkpYnJlYWs7
ZWxzZXtkPTA7YnJlYWsgYX19bz0oai1wKS8oZS1xKTtsPXE8ZTtnPWw/cTplO2U9bD9lOnE7Zj0o
ci1xKSpvK3A7bT0raFtjKzg+PjNdO2lmKCEoIShyPj1nKXwhKHI8PWUpfCEoZj49bSkpP2Y8PSto
W2MrMjQ+PjNdOjApe2Q9MDticmVhayBhfW49K2hbYysxNj4+M107Zj0obi1yKSpvK2Y7aWYoZj49
bT8hKCEobjw9ZSl8KG4+PWc/IShmPD0raFtjKzI0Pj4zXSk6MSkpOjApe2Q9MDticmVhayBhfWw9
cDxqO2c9bD9wOmo7Zj1sP2o6cDtlPShtLXApL28rcTtpZihlPj1yPyEoIShtPD1mKXwoIShtPj1n
KXwhKGU8PW4pKSk6MCl7ZD0wO2JyZWFrIGF9cD0raFtjKzI0Pj4zXTtxPShwLW0pL28rZTtpZihx
Pj1yPyEoIShwPD1mKXwoIShwPj1nKXwhKHE8PW4pKSk6MCl7ZD0wO2JyZWFrIGF9fXdoaWxlKDAp
O2Q9LTF9d2hpbGUoMCk7cmV0dXJuIGR8MH1mdW5jdGlvbiBadihhKXthPWF8MDt2YXIgYj0wLGM9
MC4wO2I9YSsxNnwwO2M9K2hbYj4+M107aFthKzMyPj4zXT1jO2hbYSs0OD4+M109YztoW2ErNDA+
PjNdPStoW2ErMjQ+PjNdO2hbYSs1Nj4+M109K2hbYSs4Pj4zXTtoW2I+PjNdPStoW2E+PjNdO3Jl
dHVybn1mdW5jdGlvbiBfdihhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MC4wLGY9MC4w
LGc9MC4wLGk9MC4wO2lmKChjWzQyMTc2XXwwKSE9KGR8MCkpe1NKKCsoZHwwKSouMTU5MTU0OTQz
MDkxODk1MzUsMTY3MTEyLDE2NzEyMCk7Y1s0MjE3Nl09ZH1nPStoW2I+PjNdO2U9K2hbMjA4OTBd
O2Y9K2hbYis4Pj4zXTtpPStoWzIwODg5XTtoW2E+PjNdPWUqZy1pKmY7aFthKzg+PjNdPWkqZytm
KmU7cmV0dXJufWZ1bmN0aW9uICR2KGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLjAs
Zj0wLGc9MC4wLGk9MCxqPTAsaz0wO2s9bDtsPWwrMTZ8MDtmPWs7ZT0raFtiPj4zXTtpPWIrOHww
O2c9K2hbaT4+M107YTpkbyBzd2l0Y2goZHwwKXtjYXNlIDA6e2o9MTE7YnJlYWt9Y2FzZSA5MDp7
aFtiPj4zXT1nO2U9LWU7aj0xMDticmVha31jYXNlIDE4MDp7ZT0tZztqPTEwO2JyZWFrfWNhc2Ug
MjcwOntoW2I+PjNdPWc7aj0xMDticmVha31kZWZhdWx0OntpZigoZHwwKTwwKXtjW2Y+PjJdPWNb
Yj4+Ml07Y1tmKzQ+PjJdPWNbYis0Pj4yXTtjW2YrOD4+Ml09Y1tiKzg+PjJdO2NbZisxMj4+Ml09
Y1tiKzEyPj4yXTthdyhhLGYsMC1kfDApO2JyZWFrIGF9aWYoKGR8MCk+MzYwKXtjW2Y+PjJdPWNb
Yj4+Ml07Y1tmKzQ+PjJdPWNbYis0Pj4yXTtjW2YrOD4+Ml09Y1tiKzg+PjJdO2NbZisxMj4+Ml09
Y1tiKzEyPj4yXTskdihhLGYsKGQ+Pj4wKSUzNjB8MCk7YnJlYWsgYX1lbHNle2NbZj4+Ml09Y1ti
Pj4yXTtjW2YrND4+Ml09Y1tiKzQ+PjJdO2NbZis4Pj4yXT1jW2IrOD4+Ml07Y1tmKzEyPj4yXT1j
W2IrMTI+PjJdO192KGEsZixkKTticmVhayBhfX19d2hpbGUoMCk7aWYoKGp8MCk9PTEwKXtoW2k+
PjNdPWU7aj0xMX1pZigoanwwKT09MTEpe2NbYT4+Ml09Y1tiPj4yXTtjW2ErND4+Ml09Y1tiKzQ+
PjJdO2NbYSs4Pj4yXT1jW2IrOD4+Ml07Y1thKzEyPj4yXT1jW2IrMTI+PjJdfWw9aztyZXR1cm59
ZnVuY3Rpb24gYXcoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAuMCxmPTAsZz0wLjAs
aT0wLGo9MCxrPTA7az1sO2w9bCsxNnwwO2Y9aztlPStoW2I+PjNdO2k9Yis4fDA7Zz0raFtpPj4z
XTthOmRvIHN3aXRjaChkfDApe2Nhc2UgMDp7aj0xMTticmVha31jYXNlIDkwOntoW2I+PjNdPS1n
O2o9MTA7YnJlYWt9Y2FzZSAxODA6e2U9LWc7aj0xMDticmVha31jYXNlIDI3MDp7aFtiPj4zXT1n
O2o9MTA7YnJlYWt9ZGVmYXVsdDp7aWYoKGR8MCk8MCl7Y1tmPj4yXT1jW2I+PjJdO2NbZis0Pj4y
XT1jW2IrND4+Ml07Y1tmKzg+PjJdPWNbYis4Pj4yXTtjW2YrMTI+PjJdPWNbYisxMj4+Ml07JHYo
YSxmLDAtZHwwKTticmVhayBhfWlmKChkfDApPjM2MCl7Y1tmPj4yXT1jW2I+PjJdO2NbZis0Pj4y
XT1jW2IrND4+Ml07Y1tmKzg+PjJdPWNbYis4Pj4yXTtjW2YrMTI+PjJdPWNbYisxMj4+Ml07YXco
YSxmLChkPj4+MCklMzYwfDApO2JyZWFrIGF9ZWxzZXtjW2Y+PjJdPWNbYj4+Ml07Y1tmKzQ+PjJd
PWNbYis0Pj4yXTtjW2YrOD4+Ml09Y1tiKzg+PjJdO2NbZisxMj4+Ml09Y1tiKzEyPj4yXTtfdihh
LGYsMzYwLWR8MCk7YnJlYWsgYX19fXdoaWxlKDApO2lmKChqfDApPT0xMCl7aFtpPj4zXT1lO2o9
MTF9aWYoKGp8MCk9PTExKXtjW2E+PjJdPWNbYj4+Ml07Y1thKzQ+PjJdPWNbYis0Pj4yXTtjW2Er
OD4+Ml09Y1tiKzg+PjJdO2NbYSsxMj4+Ml09Y1tiKzEyPj4yXX1sPWs7cmV0dXJufWZ1bmN0aW9u
IGJ3KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLjAsZT0wLjAsZj0wLjAsZz0wLjA7
Zz0raFtjPj4zXTtkPStoW2MrOD4+M107Zj1kKyAraFtiPj4zXTtlPWcrICtoW2IrMjQ+PjNdO2Q9
ZCsgK2hbYisxNj4+M107aFthPj4zXT1nKyAraFtiKzg+PjNdO2hbYSs4Pj4zXT1mO2hbYSsxNj4+
M109ZTtoW2ErMjQ+PjNdPWQ7cmV0dXJufWZ1bmN0aW9uIGN3KGEsYixjKXthPWF8MDtiPWJ8MDtj
PWN8MDt2YXIgZD0wLjAsZT0wLjAsZj0wLjAsZz0wLjA7Zj0raFthPj4zXTtkPStoW2I+PjNdLWY7
Zz0raFthKzg+PjNdO2U9K2hbYis4Pj4zXS1nO2Y9KCtoW2MrOD4+M10tZykqZC0oK2hbYz4+M10t
ZikqZTtmPWYqZjtyZXR1cm4gKyhmPDEuMGUtMTA/MC4wOmYvKGUqZStkKmQpKX1mdW5jdGlvbiBk
dyhiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLjAsZz0wLGk9MCxqPTAsaz0wLG09MCxuPTA7
bj1sO2w9bCsxNnwwO2c9bis4fDA7aT1uO2U9dncoOTYpfDA7bT1iKzE2fDA7Y1soY1ttPj4yXXww
KSs4Pj4yXT1lO2U9SW0oYiw4NjI1MCl8MDtpZighZSl7ZT1OYSg4NjI1OSl8MDtpZihlfDApaz0z
fWVsc2Ugaz0zO2lmKChrfDApPT0zKVZhKDg2MjcxLGV8MCwxKXwwO2U9KGV3KGIpfDApJjI1NTth
WyhjW20+PjJdfDApKzExNT4+MF09ZTtpZigwPT0wPyhlPUltKGIsODYyODIpfDAsY1s0MjE3OF09
ZSwoZXwwKT09MCk6MCljWzQyMTc4XT1jWzQyMTc3XTtmPStFQShiLHltKGIsMCw4NjI5MiwwKXww
LDAuMCwwLjApO2hbY1soY1ttPj4yXXwwKSs4Pj4yXT4+M109ZjtlPUltKGIsODYzMDApfDA7YTpk
byBpZighZSllPTA7ZWxzZXtzd2l0Y2goYVtlPj4wXXwwKXtjYXNlIDc2OntpZighKHhKKGUsODYz
MDgpfDApKXtlPTE7YnJlYWsgYX1icmVha31jYXNlIDY2OntpZighKHhKKGUsODYzMTEpfDApKXtl
PTI7YnJlYWsgYX1icmVha31jYXNlIDgyOntlPSh4SihlLDg2MzE0KXwwKT09MDtlPWU/MzowO2Jy
ZWFrIGF9ZGVmYXVsdDp7ZT0wO2JyZWFrIGF9fWU9MH13aGlsZSgwKTtjWyhjW20+PjJdfDApKzEx
Nj4+Ml09ZTw8MnwoZDw8MjQ+PjI0PT0wPzA6ZSk7Zj0rRUEoYix5bShiLDAsODYzMTcsMCl8MCwu
MjUsLjAyKTtoW2k+PjNdPWY7Zj1mKjcyLjA7Y1soY1ttPj4yXXwwKSsyNDg+PjJdPX5+KGYrKGY+
PTAuMD8uNTotLjUpKTtlPUZBKGIseW0oYiwwLDg2MzI1LDApfDAsMCl8MDtpZihlKXtjW2c+PjJd
PWk7aWYoY00oZSw4NjI0NixnKXwwKXtmPStoW2k+PjNdO2lmKGY8LjAyKXtoW2k+PjNdPS4wMjtm
PS4wMn19ZWxzZXtoW2k+PjNdPS41O2Y9LjV9aWYoaEwoZSw4NjMzMyl8MClhWyhjW20+PjJdfDAp
KzI3Nj4+MF09MX1lbHNle2hbaT4+M109LjU7Zj0uNX1mPWYqNzIuMDtjWyhjW20+PjJdfDApKzI1
Mj4+Ml09fn4oZisoZj49MC4wPy41Oi0uNSkpO2k9KERBKGIseW0oYiwwLDg2MzQxLDApfDAsMCww
KXwwKSYyNTU7YVsoY1ttPj4yXXwwKSsyNDM+PjBdPWk7aT1VQShGQShiLHltKGIsMCw4NjM1MSww
KXwwLDApfDAsMTk3MzIsMTk3NDgpfDA7Y1soY1ttPj4yXXwwKSsyNDQ+PjJdPWk7ZncoYik7aT1n
dyhiLDg2MzYxLChjWyhjW20+PjJdfDApKzg+PjJdfDApKzY0fDApfDA7ZT1jWyhjW20+PjJdfDAp
Kzg+PjJdfDA7YVtlKzgwPj4wXT1pO2d3KGIsODYzNjYsZSs0OHwwKXwwO2U9SUEoSW0oYiw4NjM3
MSl8MCl8MDthWyhjWyhjW20+PjJdfDApKzg+PjJdfDApKzgyPj4wXT1lO2U9SW0oYiw4NjM3OCl8
MDtkbyBpZighZSl7ZT1JbShiLDg2Mzg1KXwwO2lmKGV8MCl7ZT0oYVtlPj4wXXwzMik8PDI0Pj4y
ND09MTA4JjE7az0yNzticmVha31lPUltKGIsODYzOTcpfDA7aWYoZXwwKXtlPUlBKGUpfDA7az0y
N319ZWxzZXtlPShyTShlKXwwKT09OTAmMTtrPTI3fXdoaWxlKDApO2lmKChrfDApPT0yNylhWyhj
WyhjW20+PjJdfDApKzg+PjJdfDApKzgxPj4wXT1lO2NbNDIxNzldPVVBKEltKGIsODY0MDcpfDAs
MTk3NjQsMTk3ODApfDA7YVsxNzQwNzZdPUlBKEltKGIsODY0MTkpfDApfDA7Y1s0MjE4MV09MDtj
WzQyMTgyXT0wO2hbKGNbKGNbbT4+Ml18MCkrOD4+Ml18MCkrMjQ+PjNdPTAuMDtlPUltKGIsODY0
MzEpfDA7aWYoKGV8MCkhPTA/KGFbZT4+MF18MCkhPTA6MClrPTMyO2Vsc2Ugaz0zMDtpZigoKGt8
MCk9PTMwPyhqPUltKGIsODY0MzUpfDAsanwwKTowKT9hW2o+PjBdfDA6MCl7ZT1qO2s9MzJ9aWYo
KGt8MCk9PTMyKXtmPStzTShlKTtoWyhjWyhjW20+PjJdfDApKzg+PjJdfDApKzI0Pj4zXT1mfWh3
KGIpO2NbNDIxODRdPXltKGIsMCw4NjQ0NiwwKXwwO2NbNDIxODddPXltKGIsMCw4NjQ1NSwwKXww
O2NbNDIxODhdPXltKGIsMCw5MDUzMCwwKXwwO2NbNDIxODldPXltKGIsMSw5NjA0OSwwKXwwO2Nb
NDIxOTBdPXltKGIsMSw5NjA0MywwKXwwO2NbNDIxOTFdPXltKGIsMSw5MDY3MSwwKXwwO2NbNDIx
OTJdPXltKGIsMSwxMjI1NDAsMCl8MDtjWzQyMTkzXT15bShiLDEsODY0NjksMCl8MDtjWzQyMjAx
XT15bShiLDEsODY0NzksMCl8MDtjWzQyMTk0XT15bShiLDEsODY0ODUsMCl8MDtjWzQyMTk1XT15
bShiLDEsODY0OTQsMCl8MDtjWzQyMTk2XT15bShiLDEsODY1MDMsMCl8MDtrPXltKGIsMSw4NjI0
MCwwKXwwO2NbNDIxOThdPWs7aWYoIWspY1s0MjE5OF09eW0oYiwxLDg2MjQwLDkwNTI3KXwwO2Nb
NDIxOTldPXltKGIsMSw4NjUxMywwKXwwO2NbNDIyMDJdPXltKGIsMSw4NjM0MSwwKXwwO2NbNDIy
MTZdPXltKGIsMSw4NjUyMCwwKXwwO2NbNDIyMDVdPXltKGIsMSw4NjQ0NiwwKXwwO2NbNDIxOTdd
PXltKGIsMSw5MDUzMCwwKXwwO2NbNDIyMDNdPXltKGIsMSw4NjUyOSwwKXwwO2NbNDIyMDRdPXlt
KGIsMSw4NjUzNSwwKXwwO2NbNDIyMDddPXltKGIsMSw4NjU0NywwKXwwO2NbNDIyMDZdPXltKGIs
MSw4NjM4NSwwKXwwO2NbNDIyMDhdPXltKGIsMSw4NjU1MiwwKXwwO2NbNDIyMDldPXltKGIsMSw4
NjU2MywwKXwwO2NbNDIyMTBdPXltKGIsMSwxMjIwODksMCl8MDtjWzQyMjAwXT15bShiLDEsODY1
NzMsMCl8MDtjWzQyMjExXT15bShiLDEsODY1ODMsMCl8MDtjWzQyMjEyXT15bShiLDEsODY1ODks
MCl8MDtjWzQyMjEzXT15bShiLDEsODY1OTUsMCl8MDtjWzQyMjE0XT15bShiLDEsODY2MDMsMCl8
MDtjWzQyMjE1XT15bShiLDEsODY2MTIsMCl8MDtjWzQyMjE3XT15bShiLDEsODY0NTUsMCl8MDtj
WzQyMjE4XT15bShiLDIsODY2MTQsMCl8MDtjWzQyMjIwXT15bShiLDIsMTIyNTQwLDApfDA7Y1s0
MjIyMV09eW0oYiwyLDg2NDY5LDApfDA7Y1s0MjIyM109eW0oYiwyLDg2NDg1LDApfDA7Y1s0MjIy
NF09eW0oYiwyLDg2NDk0LDApfDA7Y1s0MjIyNV09eW0oYiwyLDg2NTAzLDApfDA7Y1s0MjIyNl09
eW0oYiwyLDg2MjQwLDApfDA7Y1s0MjIyN109eW0oYiwyLDg2NTEzLDApfDA7Y1s0MjIzNl09eW0o
YiwyLDg2NjIxLDApfDA7Y1s0MjIyOF09eW0oYiwyLDg2NjMyLDApfDA7Y1s0MjIzOV09eW0oYiwy
LDg2NjM2LDApfDA7Y1s0MjI0MF09eW0oYiwyLDg2NjQ2LDApfDA7Y1s0MjI0MV09eW0oYiwyLDg2
NjU2LDApfDA7Y1s0MjI0Ml09eW0oYiwyLDg2NjY2LDApfDA7Y1s0MjI0M109eW0oYiwyLDg2Njc2
LDApfDA7Y1s0MjI0NF09eW0oYiwyLDg2NjkwLDApfDA7Y1s0MjI0NV09eW0oYiwyLDg2NzA0LDAp
fDA7Y1s0MjI0Nl09eW0oYiwyLDg2NzE5LDApfDA7Y1s0MjI0N109eW0oYiwyLDg2NzMzLDApfDA7
Y1s0MjIxOV09eW0oYiwyLDg2NzQ0LDApfDA7Y1s0MjIzMV09eW0oYiwyLDg2MzQxLDApfDA7Y1s0
MjIyOV09eW0oYiwyLDg2NDc5LDApfDA7Y1s0MjIzMF09eW0oYiwyLDg2NzUxLDApfDA7Y1s0MjIz
Ml09eW0oYiwyLDg2NzYwLDApfDA7Y1s0MjIzM109eW0oYiwyLDg2NzcwLDApfDA7Y1s0MjIzNF09
eW0oYiwyLDg2NTgzLDApfDA7Y1s0MjIzNV09eW0oYiwyLDg2NTk1LDApfDA7Y1s0MjI0OF09eW0o
YiwyLDg2NzgxLDApfDA7Y1s0MjI0OV09eW0oYiwyLDg2NzkwLDApfDA7Y1s0MjI1MF09eW0oYiwy
LDg2NTIwLDApfDA7ZT1VdChiKXwwO2NbKGNbKGNbbT4+Ml18MCkrOD4+Ml18MCkrODg+PjJdPWU7
ZT1JbShiLDg2Nzk5KXwwO2lmKGV8MD9hW2U+PjBdfDA6MCl7Yj1xdyhlLGIpfDA7Y1soY1soY1tt
Pj4yXXwwKSs4Pj4yXXwwKSs5Mj4+Ml09Yn1sPW47cmV0dXJufWZ1bmN0aW9uIGV3KGEpe2E9YXww
O3ZhciBiPTAsZD0wO2Q9bDtsPWwrMTZ8MDtiPWQ7YT1HQShhLHltKGEsMCw4Njg4MywwKXwwLDg2
ODkxKXwwO2lmKCgoKCgoKGlLKGEsODY4OTcpfDApIT0wPyhpSyhhLDg2OTA1KXwwKSE9MDowKT8o
aUsoYSw4NjkxMil8MCkhPTA6MCk/KGlLKGEsODY5MTUpfDApIT0wOjApPyhpSyhhLDg2OTI2KXww
KSE9MDowKT8oaUsoYSw4NjkzNyl8MCkhPTA6MCk/KGlLKGEsODY5NDcpfDApIT0wOjApaWYoKGlL
KGEsODY5NTgpfDApIT0wPyhpSyhhLDg2OTY0KXwwKSE9MDowKWlmKChpSyhhLDg2ODkxKXwwKSE9
MD8oaUsoYSw4Njk2OSl8MCkhPTA6MCl7Y1tiPj4yXT1hO19sKDAsODY5NzQsYil8MDthPTB9ZWxz
ZSBhPTA7ZWxzZSBhPTI7ZWxzZSBhPTE7bD1kO3JldHVybiBhfDB9ZnVuY3Rpb24gZncoYil7Yj1i
fDA7dmFyIGQ9MC4wLGU9MCxmPTA7ZT1JbShiLDg2ODQxKXwwO2E6ZG8gaWYoZXwwPyhmPWFbZT4+
MF18MCxmPDwyND4+MjQpOjApc3dpdGNoKGY8PDI0Pj4yNHwwKXtjYXNlIDk3OntpZihmPDwyND4+
MjQhPTk3KWJyZWFrIGE7aWYoeEooZSw4Njg0Nyl8MClicmVhayBhO2NbKGNbKGNbYisxNj4+Ml18
MCkrOD4+Ml18MCkrODQ+PjJdPTQ7YnJlYWsgYX1jYXNlIDk5OntpZihmPDwyND4+MjQhPTk5KWJy
ZWFrIGE7aWYoeEooZSw4Njg1Mil8MClicmVhayBhO2NbKGNbKGNbYisxNj4+Ml18MCkrOD4+Ml18
MCkrODQ+PjJdPTM7YnJlYWsgYX1jYXNlIDEwMTp7aWYoZjw8MjQ+PjI0IT0xMDEpYnJlYWsgYTtp
Zih4SihlLDg2ODYxKXwwKWJyZWFrIGE7Y1soY1soY1tiKzE2Pj4yXXwwKSs4Pj4yXXwwKSs4ND4+
Ml09NTticmVhayBhfWNhc2UgMTAyOntpZihmPDwyND4+MjQhPTEwMilicmVhayBhO2lmKHhKKGUs
ODY4NjgpfDApYnJlYWsgYTtjWyhjWyhjW2IrMTY+PjJdfDApKzg+PjJdfDApKzg0Pj4yXT0yO2Jy
ZWFrIGF9ZGVmYXVsdDp7ZD0rc00oZSk7aWYoIShkPjAuMCkpYnJlYWsgYTtiPWNbKGNbYisxNj4+
Ml18MCkrOD4+Ml18MDtjW2IrODQ+PjJdPTE7aFtiKzE2Pj4zXT1kO2JyZWFrIGF9fXdoaWxlKDAp
O3JldHVybn1mdW5jdGlvbiBndyhiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MC4wLGc9
MC4wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wO289bDtsPWwrNDh8MDttPW8rMzJ8MDtpPW8rMTZ8
MDtrPW8rOHwwO2o9bztuPW8rNDB8MDthW24+PjBdPTA7Yj1JbShiLGQpfDA7ZG8gaWYoYil7Y1tp
Pj4yXT1rO2NbaSs0Pj4yXT1qO2NbaSs4Pj4yXT1uO2k9KGNNKGIsODY4MjUsaSl8MCk+MTtnPSto
W2s+PjNdO2Y9K2hbaj4+M107aWYoaSZnPjAuMCZmPjAuMCl7Zz1nKjcyLjA7aFtlPj4zXT0rKH5+
KGcrKGc+PTAuMD8uNTotLjUpKXwwKTtnPWYqNzIuMDtoW2UrOD4+M109Kyh+fihnKyhnPj0wLjA/
LjU6LS41KSl8MCk7Yj0oYVtuPj4wXXwwKT09MzM7YnJlYWt9YVtuPj4wXT0wO2NbbT4+Ml09aztj
W20rND4+Ml09bjttPShjTShiLDg2ODM1LG0pfDApPjA7Zj0raFtrPj4zXTtpZihtJmY+MC4wKXtn
PWYqNzIuMDtnPSsofn4oZysoZz49MC4wPy41Oi0uNSkpfDApO2hbZT4+M109ZztoW2UrOD4+M109
ZztiPShhW24+PjBdfDApPT0zM31lbHNlIGI9MH1lbHNlIGI9MDt3aGlsZSgwKTtsPW87cmV0dXJu
IGImMXwwfWZ1bmN0aW9uIGh3KGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MC4wLGc9MC4wLGk9MDtk
PUltKGIsODYyNDApfDA7ZG8gaWYoZHwwP2FbZD4+MF18MDowKXtlPShjWyhjW2IrNjA+PjJdfDAp
KzE2Pj4yXXwwKSsxMTN8MDthW2U+PjBdPWFbZT4+MF18ODtlPShjcChkKXwwKSE9MDtnPStFQShi
LHltKGIsMCw4NjQ4NSwwKXwwLDE0LjAsMS4wKTtpPUdBKGIseW0oYiwwLDg2NDk0LDApfDAsOTMw
MjcpfDA7ZD1sdyhiLGQsZT8yOjAsZyxpLEdBKGIseW0oYiwwLDg2NTAzLDApfDAsMTIyMTA2KXww
KXwwO2k9YisxNnwwO2NbKGNbaT4+Ml18MCkrMTI+PjJdPWQ7ZD1JbShiLDkwNjYyKXwwO2U9KGR8
MCkhPTA7ZG8gaWYoKHNvKGIpfDApPT0oYnwwKSl7aWYoZT8oYVtkPj4wXXwwKT09MTE2OjApe2Q9
MTticmVha31kPTB9ZWxzZXtpZihlPyhhW2Q+PjBdfDApPT05ODowKXtkPTA7YnJlYWt9ZD0xfXdo
aWxlKDApO2U9SW0oYiw4NjgwMil8MDthOmRvIGlmKGUpc3dpdGNoKGFbZT4+MF18MCl7Y2FzZSAx
MDg6e2Q9ZHwyO2JyZWFrIGF9Y2FzZSAxMTQ6e2Q9ZHw0O2JyZWFrIGF9ZGVmYXVsdDpicmVhayBh
fXdoaWxlKDApO2FbKGNbaT4+Ml18MCkrMjc1Pj4wXT1kO2lmKChzbyhiKXwwKSE9KGJ8MCkpe2Q9
Y1soY1tpPj4yXXwwKSsxMj4+Ml18MDtmPStoW2QrMjQ+PjNdKzE2LjA7Zz0raFtkKzMyPj4zXSs4
LjA7Yj0oY1soY1soc28oYil8MCkrMTY+PjJdfDApKzExNj4+Ml0mMXwwKT09MDtkPWNbaT4+Ml18
MDtlPWFbZCsyNzU+PjBdPDwxJjI7aWYoYil7Yj1lJjI1NTtoW2QrNDgrKGI8PDQpPj4zXT1mO2hb
ZCs0OCsoYjw8NCkrOD4+M109ZzticmVha31lbHNle2I9KGVeMykmMjU1O2hbZCs0OCsoYjw8NCk+
PjNdPWc7aFtkKzQ4KyhiPDw0KSs4Pj4zXT1mO2JyZWFrfX19d2hpbGUoMCk7cmV0dXJufWZ1bmN0
aW9uIGl3KGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MDtlPWErMTZ8MDtkPWNbZT4+Ml18MDtiPWNb
ZCs4Pj4yXXwwO2RvIGlmKCFiKWI9ZDtlbHNle2Q9Y1tiKzg4Pj4yXXwwO2lmKGQpe3h0KGQpO2Q9
Y1tlPj4yXXwwO2I9Y1tkKzg+PjJdfDA7aWYoIWIpe2I9ZDticmVha319X0koY1tiKzkyPj4yXXww
KTtiPWNbZT4+Ml18MH13aGlsZSgwKTtfSShjW2IrOD4+Ml18MCk7ZT1jW2U+PjJdfDA7Y1tlKzg+
PjJdPTA7b3coY1tlKzEyPj4yXXwwKTtUbyhhLDAsMTIyMjc3KTtyZXR1cm59ZnVuY3Rpb24ganco
YixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtmPWNb
ZD4+Ml18MDtsPWQrMjR8MDtjW2w+PjJdPTA7Y1tsKzQ+PjJdPTA7Y1tsKzg+PjJdPTA7Y1tsKzEy
Pj4yXT0wO2lmKGFbZj4+MF18MCl7aT13dygockooZil8MCkrMXwwKXwwO2FbaT4+MF09MDtqPWQr
MTJ8MDtlPWk7YTp3aGlsZSgxKXtiOndoaWxlKDEpe2g9ZisxfDA7Zz1hW2Y+PjBdfDA7aWYoIShn
PDwyND4+MjQpKWJyZWFrIGE7aWYoIShnPDwyND4+MjQ9PS0xfCgoZyYyNTUpPDE2MXwoY1tqPj4y
XXwwKSE9MikpKXthW2U+PjBdPWc7aD1hW2g+PjBdfDA7Zz1lKzJ8MDthW2UrMT4+MF09aDtpZigh
KGg8PDI0Pj4yNCkpe2U9ZzticmVhayBhfWVsc2V7ZT1nO2Y9ZisyfDA7Y29udGludWV9fXN3aXRj
aChnPDwyND4+MjQpe2Nhc2UgOTI6YnJlYWsgYjtjYXNlIDEwOntrPTEyO2JyZWFrIGJ9ZGVmYXVs
dDp7fX1hW2U+PjBdPWc7ZT1lKzF8MDtmPWh9aWYoKGt8MCk9PTEyKXtrPTA7Zj1lKzF8MDthW2U+
PjBdPTA7a3coYixkLGksMTEwKTtlPWY7aT1mO2Y9aDtjb250aW51ZX1nPWFbaD4+MF18MDtzd2l0
Y2goZzw8MjQ+PjI0fDApe2Nhc2UgMTE0OmNhc2UgMTA4OmNhc2UgMTEwOntnPWUrMXwwO2FbZT4+
MF09MDtrdyhiLGQsaSxhW2g+PjBdfDApO2U9ZzticmVha31kZWZhdWx0OnthW2U+PjBdPWc7ZT1l
KzF8MDtnPWl9fWk9ZztmPShhW2g+PjBdfDApPT0wP2g6ZisyfDB9aWYoKGl8MCkhPShlfDApKXth
W2U+PjBdPTA7a3coYixkLGksMTEwKX1kPWQrNDB8MDtjW2Q+PjJdPWNbbD4+Ml07Y1tkKzQ+PjJd
PWNbbCs0Pj4yXTtjW2QrOD4+Ml09Y1tsKzg+PjJdO2NbZCsxMj4+Ml09Y1tsKzEyPj4yXX1yZXR1
cm59ZnVuY3Rpb24ga3coZCxlLGYsZyl7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7dmFyIGk9MC4w
LGo9MC4wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTA7cz1sO2w9bCszMnwwO3E9cysx
NnwwO3A9cztyPWUrNzZ8MDtrPWJbcj4+MV18MDtvPWUrNzJ8MDttPWNbbz4+Ml18MDtpZighbSlu
PXZ3KChrKjU2fDApKzExMnwwKXwwO2Vsc2Ugbj14dyhtLGsrMnwwLDU2LGsrMXwwKXwwO2Nbbz4+
Ml09bjtrPWJbcj4+MV18MDttPW4rKGsqNTZ8MCl8MDtjW20+PjJdPWY7YVtuKyhrKjU2fDApKzQ4
Pj4wXT1nO2lmKChmfDApIT0wPyhhW2Y+PjBdfDApIT0wOjApe2NbNDE3ODJdPWNbZSs0Pj4yXTto
WzIwODkzXT0raFtlKzE2Pj4zXTtnPWNbZCsxNDQ+PjJdfDA7Y1tuKyhrKjU2fDApKzQ+PjJdPWJi
W2NbZz4+Ml0mMzFdKGcsMTY3MTI4LDEpfDA7cEEocCxkLG0pO2o9K2hbcD4+M107aFtxPj4zXT1q
O2k9K2hbcCs4Pj4zXX1lbHNle2hbcT4+M109MC4wO2k9Kyh+figraFtlKzE2Pj4zXSoxLjIpfDAp
O2hbbisoayo1NnwwKSs0MD4+M109aTtqPTAuMH1iW3I+PjFdPShiW3I+PjFdfDApKzE8PDE2Pj4x
NjtyPWUrMjR8MDtoW3I+PjNdPStoWygraFtyPj4zXT5qP3I6cSk+PjNdO3I9ZSszMnwwO2hbcj4+
M109K2hbcj4+M10raTtsPXM7cmV0dXJufWZ1bmN0aW9uIGx3KGIsZSxmLGcsaSxqKXtiPWJ8MDtl
PWV8MDtmPWZ8MDtnPStnO2k9aXwwO2o9anwwO3ZhciBrPTAsbT0wLG49MCxvPTAscD0wLHE9MCxy
PTAscz0wLHQ9MCx1PTA7dT1sO2w9bCszMnwwO3I9dSsxNnwwO3E9dSs4fDA7cD11O3Q9dncoODgp
fDA7c3dpdGNoKENvKGIpfDApe2Nhc2UgMDp7bT0wO3M9Y1tiKzYwPj4yXXwwO249YjtvPTA7YnJl
YWt9Y2FzZSAxOnttPTA7cz1zbyhybyhiKXwwKXwwO249MDtvPWI7YnJlYWt9Y2FzZSAyOnttPWI7
cz1zbyhybyhjWygoY1tiPj4yXSYzfDApPT0yP2I6YistNDh8MCkrNDA+PjJdfDApfDApfDA7bj0w
O289MDticmVha31kZWZhdWx0OnttPTA7cz0wO249MDtvPTB9fWNbdCs0Pj4yXT1pO2NbdCs4Pj4y
XT1qO2hbdCsxNj4+M109ZztrPXMrMTZ8MDtqPXQrMTJ8MDtjW2o+PjJdPWRbKGNbaz4+Ml18MCkr
MTE1Pj4wXTthOmRvIGlmKGYmNCl7Y1t0Pj4yXT1HTChlKXwwO2lmKGYmMnwwKWFbdCs4Mj4+MF09
MX1lbHNlIHN3aXRjaChmfDApe2Nhc2UgMjp7Y1t0Pj4yXT1HTChlKXwwO2FbdCs4Mj4+MF09MTtp
ZighKFRGKGIsdCl8MCkpYnJlYWsgYTtzd2l0Y2goQ28oYil8MCl7Y2FzZSAwOntjW3A+PjJdPURu
KG4pfDA7X2woMyw4NzAxNyxwKXwwO2JyZWFrIGF9Y2FzZSAxOntjW3E+PjJdPURuKG8pfDA7X2wo
Myw4NzAzOSxxKXwwO2JyZWFrIGF9Y2FzZSAyOntwPURuKGNbKChjW20+PjJdJjN8MCk9PTM/bTpt
KzQ4fDApKzQwPj4yXXwwKXwwO3E9KHFuKHMpfDApIT0wO3M9RG4oY1soKGNbbT4+Ml0mM3wwKT09
Mj9tOm0rLTQ4fDApKzQwPj4yXXwwKXwwO2Nbcj4+Ml09cDtjW3IrND4+Ml09cT8xMjI1NDY6MTIy
NTQ5O2Nbcis4Pj4yXT1zO19sKDMsODcwNjAscil8MDticmVhayBhfWRlZmF1bHQ6YnJlYWsgYX19
Y2FzZSAwOntpPW13KGUsYiwwKXwwO2NbdD4+Ml09aTtpZigoY1tqPj4yXXwwKT09MSlpPXlCKGkp
fDA7ZWxzZSBpPXZCKGkscyl8MDtfSShjW3Q+PjJdfDApO2NbdD4+Ml09aTtqdyhjWyhjW2s+PjJd
fDApKzE0ND4+Ml18MCx0KTticmVhayBhfWRlZmF1bHQ6bWEoODcwODcsODcxMDMsMTY2LDg3MTEy
KX13aGlsZSgwKTtsPXU7cmV0dXJuIHR8MH1mdW5jdGlvbiBtdyhiLGQsZSl7Yj1ifDA7ZD1kfDA7
ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0w
LHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTA7c3dpdGNoKENvKGQpfDApe2Nhc2UgMDp7
aT1EbihkKXwwO2c9ckooaSl8MDtmPWNbKGNbZCsxNj4+Ml18MCkrMTI+PjJdfDA7aWYoZil7Zj1j
W2Y+PjJdfDA7aWYoIWIpe3Y9MDt0PTI7dT0yO3M9MjtoPTI7eT04NzEzNTttPTg3MTMyO2o9OTA1
Mjc7bz0xNzQxODE7cT0xNzQxODE7cD0wO3I9MDtuPTI7dz1mO3g9ODcxMjl9ZWxzZXt2PTA7dD0y
O3U9MjtzPTI7aD0yO3k9ODcxMzU7bT04NzEzMjtqPTkwNTI3O289MTc0MTgxO3E9MTc0MTgxO3A9
MDtyPTA7bj1ySihmKXwwO3c9Zjt4PTg3MTI5fX1lbHNle3Y9MDt0PTI7dT0yO3M9MjtoPTI7eT04
NzEzNTttPTg3MTMyO2o9OTA1Mjc7bz0xNzQxODE7cT0xNzQxODE7cD0wO3I9MDtuPTI7dz04NzEy
Mzt4PTg3MTI5fWJyZWFrfWNhc2UgMTp7aT1EbihybyhkKXwwKXwwO2c9ckooaSl8MDtqPURuKGQp
fDA7aD1ySihqKXwwO2Y9Y1soY1tkKzE2Pj4yXXwwKSsxMDQ+PjJdfDA7aWYoZil7Zj1jW2Y+PjJd
fDA7aWYoIWIpe3Y9MDt0PTI7dT0yO3M9Mjt5PTg3MTM1O209ODcxMzI7bz0xNzQxODE7cT0xNzQx
ODE7cD0wO3I9MDtuPTI7dz1mO3g9ODcxMjl9ZWxzZXt2PTA7dD0yO3U9MjtzPTI7eT04NzEzNTtt
PTg3MTMyO289MTc0MTgxO3E9MTc0MTgxO3A9MDtyPTA7bj1ySihmKXwwO3c9Zjt4PTg3MTI5fX1l
bHNle3Y9MDt0PTI7dT0yO3M9Mjt5PTg3MTM1O209ODcxMzI7bz0xNzQxODE7cT0xNzQxODE7cD0w
O3I9MDtuPTI7dz04NzEyMzt4PTg3MTI5fWJyZWFrfWNhc2UgMjp7aD1kKzQ4fDA7aT1Ebihzbyhy
byhjWygoY1tkPj4yXSYzfDApPT0zP2Q6aCkrNDA+PjJdfDApfDApfDApfDA7Zz1ySihpKXwwO2w9
RG4oY1soKGNbZD4+Ml0mM3wwKT09Mz9kOmgpKzQwPj4yXXwwKXwwO2s9ckoobCl8MDtmPWQrMTZ8
MDtxPWNbKGNbZj4+Ml18MCkrNTI+PjJdfDA7aWYoIXEpcj0wO2Vsc2Ugcj1ySihxKXwwO209RG4o
Y1soKGNbZD4+Ml0mM3wwKT09Mj9kOmQrLTQ4fDApKzQwPj4yXXwwKXwwO2Y9Y1tmPj4yXXwwO289
Y1tmKzkyPj4yXXwwO2lmKCFvKXA9MDtlbHNlIHA9ckoobyl8MDtqPXJKKG0pfDA7Zj1jW2YrOTY+
PjJdfDA7aWYoZil7Zj1jW2Y+PjJdfDA7aWYoIWIpbj0yO2Vsc2Ugbj1ySihmKXwwfWVsc2V7bj0y
O2Y9ODcxMjN9eD0ocW4oc28ocm8oY1soKGNbZD4+Ml0mM3wwKT09Mz9kOmgpKzQwPj4yXXwwKXww
KXwwKXwwKT09MDt2PTE7dD1rO3U9ajtzPWsrMisocnwwP3IrMXwwOjApK2orKHB8MD9wKzF8MDow
KXwwO2g9Mjt5PWw7aj05MDUyNzt3PWY7eD14PzEyMjU0OToxMjI1NDY7YnJlYWt9ZGVmYXVsdDp7
dj0wO3Q9Mjt1PTI7cz0yO2g9MjtnPTI7eT04NzEzNTttPTg3MTMyO2o9OTA1Mjc7aT04NzEyNjtv
PTE3NDE4MTtxPTE3NDE4MTtwPTA7cj0wO249Mjt3PTg3MTIzO3g9ODcxMjl9fWU9KGV8MCk9PTA7
bD0wO2Y9YjthOndoaWxlKDEpe2Q9ZisxfDA7YjpkbyBzd2l0Y2goYVtmPj4wXXwwKXtjYXNlIDA6
YnJlYWsgYTtjYXNlIDkyOntmPWYrMnwwO3N3aXRjaChhW2Q+PjBdfDApe2Nhc2UgNzg6e2s9aDti
cmVhayBifWNhc2UgNzE6e2s9ZzticmVhayBifWNhc2UgNjk6e2s9czticmVhayBifWNhc2UgNzI6
e2s9dTticmVhayBifWNhc2UgODQ6e2s9dDticmVhayBifWNhc2UgNzY6e2s9bjticmVhayBifWNh
c2UgOTI6e2lmKCFlKXtrPTE7YnJlYWsgYn1icmVha31kZWZhdWx0Ont9fWs9MjticmVha31kZWZh
dWx0OntrPTE7Zj1kfX13aGlsZSgwKTtsPWwra3wwfXM9d3cobCsxfDApfDA7bj0odnwwKT09MDts
PShyfDApPT0wO2Q9KHB8MCk9PTA7Zj1zO2c9YjtjOndoaWxlKDEpe2s9ZysxfDA7aD1hW2c+PjBd
fDA7c3dpdGNoKGg8PDI0Pj4yNCl7Y2FzZSAwOmJyZWFrIGM7Y2FzZSA5MjpicmVhaztkZWZhdWx0
OnthW2Y+PjBdPWg7Zj1mKzF8MDtnPWs7Y29udGludWUgY319aD1nKzJ8MDtnPWFbaz4+MF18MDtz
d2l0Y2goZzw8MjQ+PjI0fDApe2Nhc2UgNzE6e2c9aTt3aGlsZSgxKXtiPWFbZz4+MF18MDthW2Y+
PjBdPWI7aWYoIShiPDwyND4+MjQpKXtnPWg7Y29udGludWUgY31nPWcrMXwwO2Y9ZisxfDB9fWNh
c2UgNzg6e2c9ajt3aGlsZSgxKXtiPWFbZz4+MF18MDthW2Y+PjBdPWI7aWYoIShiPDwyND4+MjQp
KXtnPWg7Y29udGludWUgY31nPWcrMXwwO2Y9ZisxfDB9fWNhc2UgNjk6e2lmKG4pe2c9aDtjb250
aW51ZSBjfWVsc2UgZz15O3doaWxlKDEpe2I9YVtnPj4wXXwwO2FbZj4+MF09YjtpZighKGI8PDI0
Pj4yNCkpYnJlYWs7Zz1nKzF8MDtmPWYrMXwwfWlmKGwpZz14O2Vsc2V7YVtmPj4wXT01ODtnPXE7
d2hpbGUoMSl7Zj1mKzF8MDtiPWFbZz4+MF18MDthW2Y+PjBdPWI7aWYoIShiPDwyND4+MjQpKXtn
PXg7YnJlYWt9ZWxzZSBnPWcrMXwwfX13aGlsZSgxKXtiPWFbZz4+MF18MDthW2Y+PjBdPWI7aWYo
IShiPDwyND4+MjQpKXtnPW07YnJlYWt9Zz1nKzF8MDtmPWYrMXwwfXdoaWxlKDEpe2I9YVtnPj4w
XXwwO2FbZj4+MF09YjtpZighKGI8PDI0Pj4yNCkpYnJlYWs7Zz1nKzF8MDtmPWYrMXwwfWlmKGQp
e2c9aDtjb250aW51ZSBjfWFbZj4+MF09NTg7Zz1vO3doaWxlKDEpe2Y9ZisxfDA7Yj1hW2c+PjBd
fDA7YVtmPj4wXT1iO2lmKCEoYjw8MjQ+PjI0KSl7Zz1oO2NvbnRpbnVlIGN9ZWxzZSBnPWcrMXww
fX1jYXNlIDg0OntnPXk7d2hpbGUoMSl7Yj1hW2c+PjBdfDA7YVtmPj4wXT1iO2lmKCEoYjw8MjQ+
PjI0KSl7Zz1oO2NvbnRpbnVlIGN9Zz1nKzF8MDtmPWYrMXwwfX1jYXNlIDcyOntnPW07d2hpbGUo
MSl7Yj1hW2c+PjBdfDA7YVtmPj4wXT1iO2lmKCEoYjw8MjQ+PjI0KSl7Zz1oO2NvbnRpbnVlIGN9
Zj1mKzF8MDtnPWcrMXwwfX1jYXNlIDc2OntnPXc7d2hpbGUoMSl7Yj1hW2c+PjBdfDA7YVtmPj4w
XT1iO2lmKCEoYjw8MjQ+PjI0KSl7Zz1oO2NvbnRpbnVlIGN9Zj1mKzF8MDtnPWcrMXwwfX1jYXNl
IDkyOntpZighZSl7YVtmPj4wXT05MjtmPWYrMXwwO2c9aDtjb250aW51ZSBjfWJyZWFrfWRlZmF1
bHQ6e319YVtmPj4wXT05MjthW2YrMT4+MF09ZztmPWYrMnwwO2c9aH1hW2Y+PjBdPTA7cmV0dXJu
IHN8MH1mdW5jdGlvbiBudyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTA7aWYo
YXwwKXtkPWE7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oYnwwKSlicmVhaztpZighZSlfSShjW2Q+
PjJdfDApO2c9Y1tkKzg+PjJdfDA7aWYoZ3wwPyhmPWNbZCsxMj4+Ml18MCxmfDApOjApZ2JbZiYx
MjddKGcpO2Q9ZCs1NnwwO2U9ZSsxfDB9X0koYSl9cmV0dXJufWZ1bmN0aW9uIG93KGQpe2Q9ZHww
O3ZhciBlPTA7aWYoZHwwKXtfSShjW2Q+PjJdfDApO2U9ZCs3MnwwO2lmKGFbZCs4Mj4+MF18MCl7
ZT1jW2U+PjJdfDA7aWYoZXwwKUVGKGUsMSl9ZWxzZSBudyhjW2U+PjJdfDAsYltkKzc2Pj4xXXww
KTtfSShkKX1yZXR1cm59ZnVuY3Rpb24gcHcoZCxlLGYpe2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBn
PTAuMCxpPTAsaj0wLjAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wO3U9
bDtsPWwrMzJ8MDtxPXUrMTZ8MDtyPXU7az1jW2QrMTY+PjJdfDA7cz1rKzEyfDA7dD1jW3M+PjJd
fDA7Y1tzPj4yXT1lO2lmKCEoYVtmKzgyPj4wXXwwKSl7cD1mKzc2fDA7aWYoKGJbcD4+MV18MCk+
PTEpe3lEKGQsMCk7QkQoZCxjW2YrOD4+Ml18MCk7c3dpdGNoKGFbZis4MD4+MF18MCl7Y2FzZSAx
MTY6e2o9K2hbZis2ND4+M107Zz0raFtmKzQ4Pj4zXSouNStqO2JyZWFrfWNhc2UgOTg6e2o9K2hb
Zis2ND4+M107Zz0raFtmKzQ4Pj4zXSotLjUraisgK2hbZiszMj4+M107YnJlYWt9ZGVmYXVsdDp7
aj0raFtmKzY0Pj4zXTtnPStoW2YrMzI+PjNdKi41K2p9fWc9Zy0raFtmKzE2Pj4zXTtvPXIrOHww
O2hbbz4+M109ZztpZihiW2srMjYwPj4xXSY1MTIpaFtvPj4zXT1nLWo7bT1mKzcyfDA7bj1mKzU2
fDA7aT1mKzQwfDA7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0oYltwPj4xXXwwKSlicmVhaztrPWNb
bT4+Ml18MDtzd2l0Y2goYVtrKyhlKjU2fDApKzQ4Pj4wXXwwKXtjYXNlIDEwODp7Zz0raFtuPj4z
XS0raFtpPj4zXSouNTticmVha31jYXNlIDExNDp7Zz0raFtpPj4zXSouNSsgK2hbbj4+M107YnJl
YWt9ZGVmYXVsdDpnPStoW24+PjNdfWhbcj4+M109ZztjW3E+PjJdPWNbcj4+Ml07Y1txKzQ+PjJd
PWNbcis0Pj4yXTtjW3ErOD4+Ml09Y1tyKzg+PjJdO2NbcSsxMj4+Ml09Y1tyKzEyPj4yXTtBRChk
LHEsaysoZSo1NnwwKXwwKTtoW28+PjNdPStoW28+PjNdLStoWyhjW20+PjJdfDApKyhlKjU2fDAp
KzQwPj4zXTtlPWUrMXwwfXpEKGQpO2k9MTh9fWVsc2V7akYoZCxjW2YrNzI+PjJdfDAsZik7aT0x
OH1pZigoaXwwKT09MTgpY1tzPj4yXT10O2w9dTtyZXR1cm59ZnVuY3Rpb24gcXcoYSxiKXthPWF8
MDtiPWJ8MDtyZXR1cm4gbXcoYSxiLDEpfDB9ZnVuY3Rpb24gcncoYSl7YT1hfDA7cmV0dXJuIHN3
KGEsMCl8MH1mdW5jdGlvbiBzdyhiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAs
aT0wLGo9MCxrPTA7ZT1jWzQyMjUxXXwwO2lmKCFlKXtjWzQyMjUyXT02NDtlPXd3KDY0KXwwO2Nb
NDIyNTFdPWV9aj1kPDwyND4+MjQ9PTA7aT0wO2Y9MDtoPWI7d2hpbGUoMSl7aWYoIWgpYnJlYWs7
ZD1hW2g+PjBdfDA7aWYoIShkPDwyND4+MjQpKWJyZWFrO2I9Y1s0MjI1Ml18MDtpZigoaXwwKT4o
YistOHwwKSl7ZT1iPDwxO2NbNDIyNTJdPWU7ZT15dyhjWzQyMjUxXXwwLGUpfDA7Y1s0MjI1MV09
ZTtlPWUraXwwO2Q9YVtoPj4wXXwwfWE6ZG8gc3dpdGNoKGQ8PDI0Pj4yNCl7Y2FzZSAzODp7aWYo
aj8odHcoaCl8MCkhPTA6MClrPTE4O2Vsc2V7Zj01O2Q9ODcxNjR9YnJlYWt9Y2FzZSA2MDp7Zj00
O2Q9ODcxODc7YnJlYWt9Y2FzZSA2Mjp7Zj00O2Q9ODcxNzA7YnJlYWt9Y2FzZSA0NTp7Zj01O2Q9
ODcxODE7YnJlYWt9ZGVmYXVsdDp7aWYoKGZ8MCkhPTAmZDw8MjQ+PjI0PT0zMilpZigoYVtmPj4w
XXwwKT09MzIpe2Y9NjtkPTg3MTU3O2JyZWFrIGF9ZWxzZXtrPTE4O2JyZWFrIGF9c3dpdGNoKGQ8
PDI0Pj4yNCl7Y2FzZSAzNDp7Zj02O2Q9ODcxNTA7YnJlYWsgYX1jYXNlIDM5OntmPTU7ZD04NzE3
NTticmVhayBhfWNhc2UgMTA6aWYoail7az0xODticmVhayBhfWVsc2V7Zj01O2Q9ODcxNDQ7YnJl
YWsgYX1kZWZhdWx0OntrPTE4O2JyZWFrIGF9fX19d2hpbGUoMCk7aWYoKGt8MCk9PTE4KXtrPTA7
ZD1qfGQ8PDI0Pj4yNCE9MTM7Zj1kPzE6NTtkPWQ/aDo4NzEzOH1nPWUrZnwwO2I9Zjt3aGlsZSgx
KXtpZighYilicmVhazthW2U+PjBdPWFbZD4+MF18MDtiPWIrLTF8MDtkPWQrMXwwO2U9ZSsxfDB9
Yj1oO2k9ZitpfDA7ZT1nO2g9aCsxfDA7Zj1ifWFbZT4+MF09MDtyZXR1cm4gY1s0MjI1MV18MH1m
dW5jdGlvbiB0dyhiKXtiPWJ8MDt2YXIgYz0wLGQ9MDtkPWIrMXwwO2M9YVtkPj4wXXwwO2E6ZG8g
aWYoYzw8MjQ+PjI0PT0zNSl7ZD1iKzJ8MDtjPWFbZD4+MF18MDtzd2l0Y2goYzw8MjQ+PjI0KXtj
YXNlIDg4OmNhc2UgMTIwOmJyZWFrO2RlZmF1bHQ6e2I9ZDt3aGlsZSgxKXtkPWIrMXwwO2lmKChj
Ky00OCYyNTUpPj0xMClicmVhayBhO2I9ZDtjPWFbZD4+MF18MH19fWQ9YiszfDA7d2hpbGUoMSl7
Yz1hW2Q+PjBdfDA7aWYoKGMrLTQ4JjI1NSk+PTEwKXN3aXRjaChjPDwyND4+MjQpe2Nhc2UgNjU6
Y2FzZSA2NjpjYXNlIDY3OmNhc2UgNjg6Y2FzZSA2OTpjYXNlIDcwOmNhc2UgOTc6Y2FzZSA5ODpj
YXNlIDk5OmNhc2UgMTAwOmNhc2UgMTAxOmNhc2UgMTAyOmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX1k
PWQrMXwwfX1lbHNlIHdoaWxlKDEpe2I9ZCsxfDA7aWYoKChjJi0zMykrLTY1JjI1NSk+PTI2KWJy
ZWFrIGE7ZD1iO2M9YVtiPj4wXXwwfXdoaWxlKDApO3JldHVybiBjPDwyND4+MjQ9PTU5fDB9ZnVu
Y3Rpb24gdXcoYil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MDtkPWNbNDIy
NTNdfDA7aWYoIWQpe2NbNDIyNTRdPTY0O2Q9d3coNjQpfDA7Y1s0MjI1M109ZDtpPTB9ZWxzZSBp
PTA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7ZT1hW2I+PjBdfDA7aWYoIShlPDwyND4+MjQpKWJyZWFr
O2Y9Y1s0MjI1NF18MDtpZigoaXwwKT4oZistOHwwKSl7ZD1mPDwxO2NbNDIyNTRdPWQ7ZD15dyhj
WzQyMjUzXXwwLGQpfDA7Y1s0MjI1M109ZDtkPWQraXwwO2U9YVtiPj4wXXwwfXN3aXRjaChlPDwy
ND4+MjQpe2Nhc2UgMzg6e2lmKCEodHcoYil8MCkpe2c9NTtlPTg3MTY0fWVsc2Ugaj0xMjticmVh
a31jYXNlIDYwOntnPTQ7ZT04NzE4NzticmVha31jYXNlIDYyOntnPTQ7ZT04NzE3MDticmVha31j
YXNlIDM0OntnPTY7ZT04NzE1MDticmVha31jYXNlIDM5OntnPTU7ZT04NzE3NTticmVha31kZWZh
dWx0Omo9MTJ9aWYoKGp8MCk9PTEyKXtqPTA7Zz0xO2U9Yn1oPWQrZ3wwO2Y9Zzt3aGlsZSgxKXtp
ZighZilicmVhazthW2Q+PjBdPWFbZT4+MF18MDtmPWYrLTF8MDtlPWUrMXwwO2Q9ZCsxfDB9aT1n
K2l8MDtkPWg7Yj1iKzF8MH1hW2Q+PjBdPTA7cmV0dXJuIGNbNDIyNTNdfDB9ZnVuY3Rpb24gdnco
YSl7YT1hfDA7dmFyIGI9MDtpZighYSlhPTA7ZWxzZXtiPXd3KGEpfDA7Vk4oYnwwLDAsYXwwKXww
O2E9Yn1yZXR1cm4gYXwwfWZ1bmN0aW9uIHd3KGEpe2E9YXwwO2lmKGEpe2E9WkkoYSl8MDtpZigh
YSl7WEwoOTY1MzIsMTQsMSxjWzEzOTE4XXwwKXwwO2E9MH19ZWxzZSBhPTA7cmV0dXJuIGF8MH1m
dW5jdGlvbiB4dyhhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDthPWFKKGEsTyhkLGIp
fDApfDA7aWYoISgoYnwwKSE9MCYoYXwwKT09MCkpe2lmKGI+Pj4wPmU+Pj4wKVZOKGErKE8oZSxk
KXwwKXwwLDAsTyhiLWV8MCxkKXwwKXwwfWVsc2UgWEwoOTY1MzIsMTQsMSxjWzEzOTE4XXwwKXww
O3JldHVybiBhfDB9ZnVuY3Rpb24geXcoYSxiKXthPWF8MDtiPWJ8MDthPWFKKGEsYil8MDtpZigo
YnwwKSE9MCYoYXwwKT09MClYTCg5NjUzMiwxNCwxLGNbMTM5MThdfDApfDA7cmV0dXJuIGF8MH1m
dW5jdGlvbiB6dyhhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxp
PTAsaj0wLGs9MC4wLG09MCxuPTAscT0wLHI9MCxzPTAsdD0wLHU9MDt1PWw7bD1sKzgwfDA7cj11
KzQwfDA7cT11KzMyfDA7bj11KzI0fDA7bT11O3M9NDt0PVpJKDQwKXwwO2NbdD4+Ml09MDtmPXUr
Njh8MDtnPXUrNjR8MDtpZigwKXtvPTA7aGEoNTcsYXwwLGZ8MCxnfDApO2k9bztvPTA7aWYoKGl8
MCkhPTAmKHB8MCkhPTApe2o9U04oY1tpPj4yXXwwLHR8MCxzfDApfDA7aWYoIWopVWEoaXwwLHB8
MCk7ej1wfWVsc2Ugaj0tMTtpZigoanwwKSE9MSl7aj1jWzEzOTE4XXwwO2k9Y1tmPj4yXXwwO2Y9
Y1tnPj4yXXwwO289MDtjW20+PjJdPTg3MjM2O2NbbSs0Pj4yXT1pO2NbbSs4Pj4yXT1mO2NbbSsx
Mj4+Ml09ZDtjW20rMTY+PjJdPWI7YWEoMTMsanwwLDg3MTkyLG18MCl8MDtmPW87bz0wO2lmKChm
fDApIT0wJihwfDApIT0wKXtnPVNOKGNbZj4+Ml18MCx0fDAsc3wwKXwwO2lmKCFnKVVhKGZ8MCxw
fDApO3o9cH1lbHNlIGc9LTE7aWYoKGd8MCkhPTEpe289MDtlYSgxKTtmPW87bz0wO2lmKChmfDAp
IT0wJihwfDApIT0wKXtnPVNOKGNbZj4+Ml18MCx0fDAsc3wwKXwwO2lmKCFnKVVhKGZ8MCxwfDAp
O3o9cH1lbHNlIGc9LTE7aWYoKGd8MCkhPTEpaj02O2Vsc2V7Zj16O2o9MTV9fWVsc2V7Zj16O2o9
MTV9fWVsc2V7Zj16O2o9MTV9fWVsc2Ugaj02O2RvIGlmKChqfDApPT02KXtvPTA7Zj1fKDIwLGF8
MCl8MDtnPW87bz0wO2lmKChnfDApIT0wJihwfDApIT0wKXtpPVNOKGNbZz4+Ml18MCx0fDAsc3ww
KXwwO2lmKCFpKVVhKGd8MCxwfDApO3o9cH1lbHNlIGk9LTE7aWYoKGl8MCkhPTEpe2lmKCFmKXtv
PTA7ZWEoMik7Zj1vO289MDtpZigoZnwwKSE9MCYocHwwKSE9MCl7Zz1TTihjW2Y+PjJdfDAsdHww
LHN8MCl8MDtpZighZylVYShmfDAscHwwKTt6PXB9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtmPXo7
aj0xNTticmVha319aWYoKGR8MCk8MSl7bz0wO2VhKDMpO2Y9bztvPTA7aWYoKGZ8MCkhPTAmKHB8
MCkhPTApe2c9U04oY1tmPj4yXXwwLHR8MCxzfDApfDA7aWYoIWcpVWEoZnwwLHB8MCk7ej1wfWVs
c2UgZz0tMTtpZigoZ3wwKT09MSl7Zj16O2o9MTU7YnJlYWt9Zj0wO2JyZWFrfWVsc2V7Y1s0MjI1
NV09KGV8MCk+LTE/ZTozMDt0PVJOKDE2OTAyNCwxLHR8MCxzfDApfDA7cz16O289MDtmPW87bz0w
O2lmKChmfDApIT0wJihwfDApIT0wKXtnPVNOKGNbZj4+Ml18MCx0fDAsc3wwKXwwO2lmKCFnKVVh
KGZ8MCxwfDApO3o9cH1lbHNlIGc9LTE7aWYoKGd8MCk9PTEpe2Y9ejtqPTE1O2JyZWFrfWY9MDtq
PTE1O2JyZWFrfX1lbHNle2Y9ejtqPTE1fX13aGlsZSgwKTthOmRvIGlmKChqfDApPT0xNSl7Yjp3
aGlsZSgxKXtpZihmfDApe2Y9MjticmVhayBhfW89MDtlYSg0KTtmPW87bz0wO2lmKChmfDApIT0w
JihwfDApIT0wKXtnPVNOKGNbZj4+Ml18MCx0fDAsc3wwKXwwO2lmKCFnKVVhKGZ8MCxwfDApO3o9
cH1lbHNlIGc9LTE7aWYoKGd8MCk9PTEpe2Y9ejtqPTE1O2NvbnRpbnVlfWE9Y1sxMzkxOF18MDtt
PTA7d2hpbGUoMSl7bz0wO2o9WigxKXwwO2Y9bztvPTA7aWYoKGZ8MCkhPTAmKHB8MCkhPTApe2c9
U04oY1tmPj4yXXwwLHR8MCxzfDApfDA7aWYoIWcpVWEoZnwwLHB8MCk7ej1wfWVsc2UgZz0tMTtp
ZigoZ3wwKT09MSl7Zj16O2o9MTU7Y29udGludWUgYn1pZighailicmVhaztvPTA7Zj1fKDIxLGp8
MCl8MDtnPW87bz0wO2lmKChnfDApIT0wJihwfDApIT0wKXtpPVNOKGNbZz4+Ml18MCx0fDAsc3ww
KXwwO2lmKCFpKVVhKGd8MCxwfDApO3o9cH1lbHNlIGk9LTE7aWYoKGl8MCk9PTEpe2Y9ejtqPTE1
O2NvbnRpbnVlIGJ9bz0wO2dhKDI0LGp8MCxmfDApO2Y9bztvPTA7aWYoKGZ8MCkhPTAmKHB8MCkh
PTApe2c9U04oY1tmPj4yXXwwLHR8MCxzfDApfDA7aWYoIWcpVWEoZnwwLHB8MCk7ej1wfWVsc2Ug
Zz0tMTtpZigoZ3wwKT09MSl7Zj16O2o9MTU7Y29udGludWUgYn1tPW0rMXwwO2RvIGlmKCgobXww
KSUxMDB8MHwwKT09MCYwIT0wKXtmPShtfDApJTFlM3wwO2lmKChmfDApPT0xMDApe289MDskKDI3
LDg3MjM2LGF8MCl8MDtmPW87bz0wO2lmKChmfDApIT0wJihwfDApIT0wKXtnPVNOKGNbZj4+Ml18
MCx0fDAsc3wwKXwwO2lmKCFnKVVhKGZ8MCxwfDApO3o9cH1lbHNlIGc9LTE7aWYoKGd8MCk9PTEp
e2Y9ejtqPTE1O2NvbnRpbnVlIGJ9bz0wO2Nbbj4+Ml09bTthYSgxMyxhfDAsODcyNTQsbnwwKXww
O2Y9bztvPTA7aWYoKGZ8MCkhPTAmKHB8MCkhPTApe2c9U04oY1tmPj4yXXwwLHR8MCxzfDApfDA7
aWYoIWcpVWEoZnwwLHB8MCk7ej1wfWVsc2UgZz0tMTtpZigoZ3wwKT09MSl7Zj16O2o9MTU7Y29u
dGludWUgYn1icmVha31vPTA7Y1txPj4yXT1tO2FhKDEzLGF8MCw4NzI1NCxxfDApfDA7Zz1vO289
MDtpZigoZ3wwKSE9MCYocHwwKSE9MCl7aT1TTihjW2c+PjJdfDAsdHwwLHN8MCl8MDtpZighaSlV
YShnfDAscHwwKTt6PXB9ZWxzZSBpPS0xO2lmKChpfDApPT0xKXtmPXo7aj0xNTtjb250aW51ZSBi
fWlmKCFmKXtvPTA7JCgyOCwxMCxhfDApfDA7Zj1vO289MDtpZigoZnwwKSE9MCYocHwwKSE9MCl7
Zz1TTihjW2Y+PjJdfDAsdHwwLHN8MCl8MDtpZighZylVYShmfDAscHwwKTt6PXB9ZWxzZSBnPS0x
O2lmKChnfDApPT0xKXtmPXo7aj0xNTtjb250aW51ZSBifX19d2hpbGUoMCk7aWYoKG18MCk+PShk
fDApKWJyZWFrfXN3aXRjaChifDApe2Nhc2UgMTp7bz0wO2VhKDUpO2Y9bztvPTA7aWYoKGZ8MCkh
PTAmKHB8MCkhPTApe2c9U04oY1tmPj4yXXwwLHR8MCxzfDApfDA7aWYoIWcpVWEoZnwwLHB8MCk7
ej1wfWVsc2UgZz0tMTtpZigoZ3wwKT09MSl7Zj16O2o9MTU7Y29udGludWUgYn1icmVha31jYXNl
IDI6e289MDtlYSg2KTtmPW87bz0wO2lmKChmfDApIT0wJihwfDApIT0wKXtnPVNOKGNbZj4+Ml18
MCx0fDAsc3wwKXwwO2lmKCFnKVVhKGZ8MCxwfDApO3o9cH1lbHNlIGc9LTE7aWYoKGd8MCk9PTEp
e2Y9ejtqPTE1O2NvbnRpbnVlIGJ9YnJlYWt9ZGVmYXVsdDp7bz0wO2VhKDcpO2Y9bztvPTA7aWYo
KGZ8MCkhPTAmKHB8MCkhPTApe2c9U04oY1tmPj4yXXwwLHR8MCxzfDApfDA7aWYoIWcpVWEoZnww
LHB8MCk7ej1wfWVsc2UgZz0tMTtpZigoZ3wwKT09MSl7Zj16O2o9MTU7Y29udGludWUgYn1vPTA7
ZWEoMyk7Zj1vO289MDtpZigoZnwwKSE9MCYocHwwKSE9MCl7Zz1TTihjW2Y+PjJdfDAsdHwwLHN8
MCl8MDtpZighZylVYShmfDAscHwwKTt6PXB9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtmPXo7aj0x
NTtjb250aW51ZSBifX19aWYoITApe2Y9MDticmVhayBhfWlmKChtfDApPjk5KXtvPTA7JCgyOCwx
MCxhfDApfDA7Zj1vO289MDtpZigoZnwwKSE9MCYocHwwKSE9MCl7Zz1TTihjW2Y+PjJdfDAsdHww
LHN8MCl8MDtpZighZylVYShmfDAscHwwKTt6PXB9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtmPXo7
aj0xNTtjb250aW51ZX19Zj1jWzQyMjk1XXwwO2c9Y1s0MjI5Nl18MDtvPTA7az0rWCgxKTtpPW87
bz0wO2lmKChpfDApIT0wJihwfDApIT0wKXtqPVNOKGNbaT4+Ml18MCx0fDAsc3wwKXwwO2lmKCFq
KVVhKGl8MCxwfDApO3o9cH1lbHNlIGo9LTE7aWYoKGp8MCk9PTEpe2Y9ejtqPTE1O2NvbnRpbnVl
fW89MDtjW3I+PjJdPTg3MjM2O2Nbcis0Pj4yXT1mO2Nbcis4Pj4yXT1nO2NbcisxMj4+Ml09bTto
W3IrMTY+PjNdPWs7YWEoMTMsYXwwLDg3MjU4LHJ8MCl8MDtmPW87bz0wO2lmKChmfDApIT0wJihw
fDApIT0wKXtnPVNOKGNbZj4+Ml18MCx0fDAsc3wwKXwwO2lmKCFnKVVhKGZ8MCxwfDApO3o9cH1l
bHNlIGc9LTE7aWYoKGd8MCk9PTEpe2Y9ejtqPTE1fWVsc2UgYnJlYWt9Zj0wfXdoaWxlKDApO19J
KHR8MCk7bD11O3JldHVybiBmfDB9ZnVuY3Rpb24gQXcoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHww
O3ZhciBlPTAsZj0wLGc9MCxoPTA7YT0oY1thKzE2Pj4yXXwwKSsxOTJ8MDtlPTA7aD0wO3doaWxl
KDEpe2E9Y1thPj4yXXwwO2lmKCFhKWJyZWFrO2c9Y1thKzE2Pj4yXXwwO2Y9Y1tnKzE4MD4+Ml18
MDthPTA7d2hpbGUoMSl7aWYoIShjW2YrKGE8PDIpPj4yXXwwKSlicmVhazthPWErMXwwO2U9ZSsx
fDB9YT1nKzE2NHwwO2g9aCsxfDB9Y1tiPj4yXT1oO2NbZD4+Ml09ZTtyZXR1cm59ZnVuY3Rpb24g
QncoYil7Yj1ifDA7dmFyIGQ9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTA7Y1s0MjI5OF09
YjtjWzQyMzA1XT0wO2NbNDIyOTZdPTA7Y1s0MjI5NV09MDtpPWIrMTZ8MDtiPShjW2k+PjJdfDAp
KzE5MnwwO2g9MDtmPTA7d2hpbGUoMSl7Yj1jW2I+PjJdfDA7aWYoIWIpYnJlYWs7Zz1jW2IrMTY+
PjJdfDA7YVtnKzE1Nz4+MF09MDtoPWgrMXwwO2NbNDIyOTVdPWg7ZD1jW2crMTgwPj4yXXwwO2I9
MDt3aGlsZSgxKXtpZighKGNbZCsoYjw8Mik+PjJdfDApKWJyZWFrO2s9ZisxfDA7Y1s0MjI5Nl09
aztiPWIrMXwwO2Y9a31iPWcrMTY0fDB9Yj1jWzQyMzA2XXwwO2lmKCFiKWI9d3coaDw8Mil8MDtl
bHNlIGI9eXcoYixoPDwyKXwwO2NbNDIzMDZdPWI7Y1s0MjMwN109MDtiPWNbNDIzMDBdfDA7aWYo
IWIpYj13dyhjWzQyMjk1XTw8Mil8MDtlbHNlIGI9eXcoYixjWzQyMjk1XTw8Mil8MDtjWzQyMzAw
XT1iO2NbNDIyOTldPTA7ZD0xO2I9KGNbaT4+Ml18MCkrMTkyfDA7d2hpbGUoMSl7Yj1jW2I+PjJd
fDA7aWYoIWIpYnJlYWs7az1iKzE2fDA7aT1jW2s+PjJdfDA7aj1pKzI5MnwwO2Nbaj4+Ml09MDtp
PWNbaSsxNzI+PjJdfDA7aD1kO2c9MDtiPTA7d2hpbGUoMSl7ZD1jW2krKGc8PDIpPj4yXXwwO2lm
KCFkKWJyZWFrO2Y9YisxfDA7Y1tqPj4yXT1mO2I9Y1tkKzE2Pj4yXXwwO2NbYisxNjA+PjJdPTA7
Y1tiKzE2ND4+Ml09LTE7aWYoIWgpYj0wO2Vsc2V7bD1jW2Q+PjJdJjM7Yj0oKGNbKGNbKGNbKChs
fDApPT0yP2Q6ZCstNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApLShjWyhjWyhj
WygobHwwKT09Mz9kOmQrNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApfDApPChl
W2IrMTcwPj4xXXwwfDApPzA6aH1oPWI7Zz1nKzF8MDtiPWZ9Yj12dygoZzw8MikrNHwwKXwwO2Q9
Y1trPj4yXXwwO2NbZCsyNjQ+PjJdPWI7Y1tkKzI2OD4+Ml09MDtkPWNbZCsxODA+PjJdfDA7Yj0w
O2Rve2w9YjtiPWIrMXwwfXdoaWxlKChjW2QrKGw8PDIpPj4yXXwwKSE9MCk7ZD12dyhiPDwyKXww
O2I9Y1trPj4yXXwwO2NbYisyNzI+PjJdPWQ7Y1tiKzI3Nj4+Ml09MDtkPWg7Yj1iKzE2NHwwfXJl
dHVybiBkfDB9ZnVuY3Rpb24gQ3coKXt2YXIgYT0wLGI9MCxkPTAsZj0wLGc9MCxoPTAsaT0wLGo9
MCxrPTAsbT0wLG49MCxvPTA7bz1sO2w9bCsxNnwwO249bys4fDA7az1vO209ekEoY1s0MjI5NV18
MCl8MDthPShjWyhjWzQyMjk4XXwwKSsxNj4+Ml18MCkrMTkyfDA7d2hpbGUoMSl7Yj1jW2E+PjJd
fDA7aWYoIWIpe2o9MDticmVha31kPWIrMTZ8MDthPWNbZD4+Ml18MDtpZighKGNbYSsyOTI+PjJd
fDApKXtCQShtLGIpO2E9Y1tkPj4yXXwwfWE9YSsxNjR8MH13aGlsZSgxKXthPUNBKG0pfDA7aWYo
IWEpYnJlYWs7aT1hKzE2fDA7YT1jW2k+PjJdfDA7Zj1hKzIzMnwwO2NbZj4+Ml09MDtkPWNbYSsx
NzI+PjJdfDA7Yj0wO2g9MDt3aGlsZSgxKXtnPWNbZCsoYjw8Mik+PjJdfDA7aWYoIWcpe2Y9MDti
cmVha31nPShjWyhjWyhjWygoY1tnPj4yXSYzfDApPT0zP2c6Zys0OHwwKSs0MD4+Ml18MCkrMTY+
PjJdfDApKzIzMj4+Ml18MCkrKGVbKGNbZysxNj4+Ml18MCkrMTcwPj4xXXwwKXwwO2c9KGh8MCk+
KGd8MCk/aDpnO2NbZj4+Ml09ZztiPWIrMXwwO2g9Z313aGlsZSgxKXtiPWNbKGNbYSsxODA+PjJd
fDApKyhmPDwyKT4+Ml18MDtpZighYilicmVhaztkPWIrLTQ4fDA7Zz0oY1soY1soKGNbYj4+Ml0m
M3wwKT09Mj9iOmQpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjkyfDA7aD1jW2c+PjJdfDA7Y1tnPj4y
XT1oKy0xO2lmKChofDApPDIpe0JBKG0sY1soKGNbYj4+Ml0mM3wwKT09Mj9iOmQpKzQwPj4yXXww
KTthPWNbaT4+Ml18MH1mPWYrMXwwfWo9aisxfDB9YTpkbyBpZigoanwwKSE9KGNbNDIyOTVdfDAp
KXtfbCgxLDg3NTkwLGspfDA7YT0oY1soY1s0MjI5OF18MCkrMTY+PjJdfDApKzE5MnwwO3doaWxl
KDEpe2I9Y1thPj4yXXwwO2lmKCFiKWJyZWFrIGE7ZD1iKzE2fDA7YT1jW2Q+PjJdfDA7aWYoY1th
KzI5Mj4+Ml18MCl7az1EbihiKXwwO2E9Y1soY1tkPj4yXXwwKSsyOTI+PjJdfDA7Y1tuPj4yXT1r
O2Nbbis0Pj4yXT1hO19sKDMsODc2MTIsbil8MDthPWNbZD4+Ml18MH1hPWErMTY0fDB9fXdoaWxl
KDApO0FBKG0pO2w9bztyZXR1cm59ZnVuY3Rpb24gRHcoKXt2YXIgYj0wLGQ9MCxlPTA7Yj0oY1so
Y1s0MjI5OF18MCkrMTY+PjJdfDApKzE5MnwwO3doaWxlKDEpe2I9Y1tiPj4yXXwwO2lmKCFiKWJy
ZWFrO2U9YisxNnwwO2I9Y1tlPj4yXXwwO2Q9Y1tiKzI2ND4+Ml18MDtpZihkKXtfSShkKTtiPWNb
ZT4+Ml18MH1kPWNbYisyNzI+PjJdfDA7aWYoZCl7X0koZCk7Yj1jW2U+PjJdfDB9YVtiKzE1Nz4+
MF09MDtiPWIrMTY0fDB9cmV0dXJufWZ1bmN0aW9uIEV3KCl7dmFyIGE9MCxiPTAsZD0wLGU9MCxm
PTA7YT0oY1soY1s0MjI5OF18MCkrMTY+PjJdfDApKzE5MnwwO3doaWxlKDEpe2E9Y1thPj4yXXww
O2lmKCFhKWJyZWFrO2E9Y1thKzE2Pj4yXXwwO2NbYSsyODA+PjJdPTA7YT1hKzE2NHwwfWY9dnco
Y1s0MjI5NV08PDIpfDA7ZT0wO2E9KGNbKGNbNDIyOThdfDApKzE2Pj4yXXwwKSsxOTJ8MDt3aGls
ZSgxKXtiPWNbYT4+Ml18MDtpZighYilicmVhaztkPWIrMTZ8MDthPWNbZD4+Ml18MDtpZighKGNb
YSsyODA+PjJdfDApKXtjW2YrKGU8PDIpPj4yXT1SdyhiKXwwO2I9ZSsxfDA7YT1jW2Q+PjJdfDB9
ZWxzZSBiPWU7ZT1iO2E9YSsxNjR8MH1hPVN3KGYsZSl8MDt3aGlsZSgxKXtpZigoVHcoYSl8MCk8
PTEpYnJlYWs7WHcoYSxjWyhXdyhWdyhVdyhhKXwwKXwwKXwwKSs4Pj4yXXwwKX1fSShhKTthPTA7
d2hpbGUoMSl7aWYoKGF8MCk+PShlfDApKWJyZWFrO19JKGNbZisoYTw8Mik+PjJdfDApO2E9YSsx
fDB9X0koZik7aWYoKGNbNDIyOTldfDApPT0oKGNbNDIyOTVdfDApKy0xfDApKXtZdygpO3JldHVy
bn1lbHNlIG1hKDg3MzM1LDg3MzY1LDUyMyw4NzM3MCl9ZnVuY3Rpb24gRncoKXt2YXIgYT0wLGI9
MCxkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2k9Y1s0MjMwNV18MDtmPWNbNDIyOTld
fDA7aj1jWzQyMzAwXXwwO2s9Y1s0MjI1NV18MDtiPTA7YT0wO2c9aTt3aGlsZSgxKXtpZigoZ3ww
KT49KGZ8MCkpe2g9ODticmVha31lPWNbaisoZzw8Mik+PjJdfDA7ZD1jWyhjW2UrMTY+PjJdfDAp
KzE2MD4+Ml18MDtpZigoZHwwKTwwKXtpZighYSlhPWU7ZWxzZSBhPShjWyhjW2ErMTY+PjJdfDAp
KzE2MD4+Ml18MCk+KGR8MCk/ZTphO2I9YisxfDA7aWYoKGJ8MCk+PShrfDApKWJyZWFrfWU9Zysx
fDA7Y1s0MjMwNV09ZTtnPWV9aWYoKGh8MCk9PTgpaWYoKGl8MCk+MCl7Zj0wO3doaWxlKDEpe2lm
KChmfDApPj0oaXwwKSlicmVhaztkPWNbaisoZjw8Mik+PjJdfDA7ZT1jWyhjW2QrMTY+PjJdfDAp
KzE2MD4+Ml18MDtpZigoZXwwKTwwKXtpZighYSlhPWQ7ZWxzZSBhPShjWyhjW2ErMTY+PjJdfDAp
KzE2MD4+Ml18MCk+KGV8MCk/ZDphO2I9YisxfDA7aWYoKGJ8MCk+PShrfDApKWJyZWFrfWY9Zisx
fDB9Y1s0MjMwNV09Zn1yZXR1cm4gYXwwfWZ1bmN0aW9uIEd3KGEpe2E9YXwwO3ZhciBiPTAsZD0w
O2I9Y1thPj4yXSYzO2Q9Y1soKGJ8MCk9PTM/YTphKzQ4fDApKzQwPj4yXXwwO2E9Y1soKGJ8MCk9
PTI/YTphKy00OHwwKSs0MD4+Ml18MDtiPShjWyhjW2QrMTY+PjJdfDApKzI4OD4+Ml18MCk8KGNb
KGNbYSsxNj4+Ml18MCkrMjg4Pj4yXXwwKTthPWI/ZDphO2NbNDIzMDFdPTA7Y1s0MjMwMl09MjE0
NzQ4MzY0NztkPWNbYSsxNj4+Ml18MDtjWzQyMzAzXT1jW2QrMjg0Pj4yXTtjWzQyMzA0XT1jW2Qr
Mjg4Pj4yXTtpZihiKVF3KGEpO2Vsc2UgUHcoYSk7cmV0dXJuIGNbNDIzMDFdfDB9ZnVuY3Rpb24g
SHcoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxu
PTAsbz0wO289bDtsPWwrMTZ8MDtuPW87Zz1jW2I+PjJdJjM7bT1iKy00OHwwO2o9Yis0OHwwO2s9
YisxNnwwO2c9KGNbKGNbKGNbKChnfDApPT0yP2I6bSkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+
PjJdfDApLShjWyhjWyhjWygoZ3wwKT09Mz9iOmopKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4y
XXwwKS0oZVsoY1trPj4yXXwwKSsxNzA+PjFdfDApfDA7ZG8gaWYoKGd8MCk+MCl7ZD1jW2E+PjJd
JjM7aD1jWygoZHwwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDA7aT1jW2grMTY+PjJdfDA7aWYoKChj
W2krMjc2Pj4yXXwwKSsoY1tpKzI2OD4+Ml18MCl8MCk9PTEpe0x3KGgsZyk7YnJlYWt9ZD1jWygo
ZHwwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwO2Y9Y1tkKzE2Pj4yXXwwO2lmKCgoY1tmKzI3Nj4+
Ml18MCkrKGNbZisyNjg+PjJdfDApfDApPT0xKXtMdyhkLDAtZ3wwKTticmVha31pZigoY1tpKzI4
OD4+Ml18MCk8KGNbZisyODg+PjJdfDApKXtMdyhoLGcpO2JyZWFrfWVsc2V7THcoZCwwLWd8MCk7
YnJlYWt9fXdoaWxlKDApO2Q9YSsxNnwwO2Y9Y1soY1tkPj4yXXwwKSsxNjA+PjJdfDA7Zz1jW2I+
PjJdJjM7Zz1NdyhjWygoZ3wwKT09Mz9iOmopKzQwPj4yXXwwLGNbKChnfDApPT0yP2I6bSkrNDA+
PjJdfDAsZiwxKXwwO2k9Y1tiPj4yXSYzO2lmKChNdyhjWygoaXwwKT09Mj9iOm0pKzQwPj4yXXww
LGNbKChpfDApPT0zP2I6aikrNDA+PjJdfDAsZiwwKXwwKT09KGd8MCkpe2NbKGNbaz4+Ml18MCkr
MTYwPj4yXT0wLWY7Y1soY1tkPj4yXXwwKSsxNjA+PjJdPTA7TncoYSxiKTtuPWNbZysxNj4+Ml18
MDtPdyhnLGNbbisyODA+PjJdfDAsY1tuKzI4ND4+Ml18MCl8MDtsPW87cmV0dXJufWVsc2V7X2wo
MSw4NzI5NixuKXwwO1VhKDE2OTAyNCwxKX19ZnVuY3Rpb24gSXcoKXt2YXIgYj0wLGQ9MCxmPTAs
Zz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7S3coKTttPXZ3KChjWzQyMjk3XTw8
MikrNHwwKXwwO2Q9Y1s0MjI5N118MDtiPTA7d2hpbGUoMSl7aWYoKGJ8MCk+KGR8MCkpYnJlYWs7
Y1ttKyhiPDwyKT4+Ml09MDtiPWIrMXwwfWI9KGNbKGNbNDIyOThdfDApKzE2Pj4yXXwwKSsxOTJ8
MDtkPWI7d2hpbGUoMSl7ZD1jW2Q+PjJdfDA7aWYoIWQpYnJlYWs7ZD1jW2QrMTY+PjJdfDA7aWYo
IShhW2QrMTU2Pj4wXXwwKSl7bD1tKyhjW2QrMjMyPj4yXTw8Mil8MDtjW2w+PjJdPShjW2w+PjJd
fDApKzF9ZD1kKzE2NHwwfXdoaWxlKDEpe2I9Y1tiPj4yXXwwO2lmKCFiKWJyZWFrO2w9YisxNnww
O2I9Y1tsPj4yXXwwO2lmKCEoYVtiKzE1Nj4+MF18MCkpe2g9Y1s0MjI5N118MDtmPWNbYisxNzI+
PjJdfDA7az0wO2o9MDtkPTA7d2hpbGUoMSl7Zz1jW2YrKGQ8PDIpPj4yXXwwO2lmKCFnKWJyZWFr
O249Y1tnKzE2Pj4yXXwwO2k9KGNbKGNbKGNbKChjW2c+PjJdJjN8MCk9PTM/ZzpnKzQ4fDApKzQw
Pj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKSsoZVtuKzE3MD4+MV18MCl8MDtrPShjW24rMTU2
Pj4yXXwwKStrfDA7aj0oanwwKT4oaXwwKT9qOmk7ZD1kKzF8MH1nPWNbYisxODA+PjJdfDA7aT0w
O2Q9MDt3aGlsZSgxKXtmPWNbZysoZDw8Mik+PjJdfDA7aWYoIWYpYnJlYWs7bz1jW2YrMTY+PjJd
fDA7bj0oY1soY1soY1soKGNbZj4+Ml0mM3wwKT09Mj9mOmYrLTQ4fDApKzQwPj4yXXwwKSsxNj4+
Ml18MCkrMjMyPj4yXXwwKS0oZVtvKzE3MD4+MV18MCl8MDtpPShjW28rMTU2Pj4yXXwwKStpfDA7
aD0oaHwwKTwobnwwKT9oOm47ZD1kKzF8MH1kPShqfDApPjA/ajowO2lmKChrfDApPT0oaXwwKSl7
Zz1kO2Y9ZDt3aGlsZSgxKXtkPWYrMXwwO2lmKChmfDApPj0oaHwwKSlicmVhaztnPShjW20rKGQ8
PDIpPj4yXXwwKTwoY1ttKyhnPDwyKT4+Ml18MCk/ZDpnO2Y9ZH1vPWIrMjMyfDA7bj1tKyhjW28+
PjJdPDwyKXwwO2Nbbj4+Ml09KGNbbj4+Ml18MCkrLTE7bj1tKyhnPDwyKXwwO2Nbbj4+Ml09KGNb
bj4+Ml18MCkrMTtjW28+PjJdPWd9ZD1jW2IrMjY0Pj4yXXwwO2lmKGQpe19JKGQpO2I9Y1tsPj4y
XXwwfWQ9Y1tiKzI3Mj4+Ml18MDtpZihkKXtfSShkKTtiPWNbbD4+Ml18MH1hW2IrMTU3Pj4wXT0w
fWI9YisxNjR8MH1fSShtKTtyZXR1cm59ZnVuY3Rpb24gSncoKXt2YXIgYT0wLGI9MCxkPTAsZj0w
LGc9MCxoPTA7Yj0wO3doaWxlKDEpe2lmKChifDApPj0oY1s0MjI5OV18MCkpYnJlYWs7YT1jWyhj
WzQyMzAwXXwwKSsoYjw8Mik+PjJdfDA7ZG8gaWYoKChjWyhjW2ErMTY+PjJdfDApKzE2MD4+Ml18
MCk9PTA/KGQ9R3coYSl8MCxkfDApOjApPyhmPWNbZD4+Ml0mMyxmPShjWyhjWyhjWygoZnwwKT09
Mj9kOmQrLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKS0oY1soY1soY1soKGZ8
MCk9PTM/ZDpkKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKS0oZVsoY1tkKzE2
Pj4yXXwwKSsxNzA+PjFdfDApfDAsKGZ8MCk+PTIpOjApe2g9Y1thPj4yXSYzO2c9Y1soKGh8MCk9
PTM/YTphKzQ4fDApKzQwPj4yXXwwO2E9Y1soKGh8MCk9PTI/YTphKy00OHwwKSs0MD4+Ml18MDtp
ZigoY1soY1tnKzE2Pj4yXXwwKSsyODg+PjJdfDApPChjWyhjW2ErMTY+PjJdfDApKzI4OD4+Ml18
MCkpe0x3KGcsZj4+PjEpO2JyZWFrfWVsc2V7THcoYSwoZnwwKS8tMnwwKTticmVha319d2hpbGUo
MCk7Yj1iKzF8MH1EdygpO3JldHVybn1mdW5jdGlvbiBLdygpe3ZhciBiPTAsZD0wLGU9MCxmPTAs
Zz0wLGg9MCxpPTAsaj0wO2k9bDtsPWwrMTZ8MDtoPWk7Y1toPj4yXT0wO2NbaD4+Ml09MjE0NzQ4
MzY0NztjWzQyMjk3XT0tMjE0NzQ4MzY0NztiPShjWyhjWzQyMjk4XXwwKSsxNj4+Ml18MCkrMTky
fDA7ZT1iO2c9MjE0NzQ4MzY0NztmPS0yMTQ3NDgzNjQ3O3doaWxlKDEpe2Q9Y1tlPj4yXXwwO2lm
KCFkKWJyZWFrO2U9Y1tkKzE2Pj4yXXwwO2lmKCEoYVtlKzE1Nj4+MF18MCkpe2o9Y1tlKzIzMj4+
Ml18MDtkPShnfDApPChqfDApP2c6ajtjW2g+PjJdPWQ7Zj0oZnwwKT4oanwwKT9mOmo7Y1s0MjI5
N109Zn1lbHNlIGQ9ZztlPWUrMTY0fDA7Zz1kfWlmKGd8MCl7d2hpbGUoMSl7Yj1jW2I+PjJdfDA7
aWYoIWIpYnJlYWs7Yj1jW2IrMTY+PjJdfDA7aj1iKzIzMnwwO2Nbaj4+Ml09KGNbaj4+Ml18MCkt
ZztiPWIrMTY0fDB9Y1s0MjI5N109Zi1nO2NbaD4+Ml09MH1sPWk7cmV0dXJufWZ1bmN0aW9uIEx3
KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wO2Y9YSsxNnwwO2E9Y1tmPj4yXXwwO2U9
YSsyMzJ8MDtjW2U+PjJdPShjW2U+PjJdfDApLWI7ZT0wO3doaWxlKDEpe2Q9Y1soY1thKzI3Mj4+
Ml18MCkrKGU8PDIpPj4yXXwwO2lmKCFkKXtlPTA7YnJlYWt9aWYoKGR8MCkhPShjW2ErMjgwPj4y
XXwwKSl7THcoY1soKGNbZD4+Ml0mM3wwKT09Mj9kOmQrLTQ4fDApKzQwPj4yXXwwLGIpO2E9Y1tm
Pj4yXXwwfWU9ZSsxfDB9d2hpbGUoMSl7ZD1jWyhjW2ErMjY0Pj4yXXwwKSsoZTw8Mik+PjJdfDA7
aWYoIWQpYnJlYWs7aWYoKGR8MCkhPShjW2ErMjgwPj4yXXwwKSl7THcoY1soKGNbZD4+Ml0mM3ww
KT09Mz9kOmQrNDh8MCkrNDA+PjJdfDAsYik7YT1jW2Y+PjJdfDB9ZT1lKzF8MH1yZXR1cm59ZnVu
Y3Rpb24gTXcoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0w
LGk9MCxqPTA7Zz0oZXwwKT09MCYxO2g9MC1kfDA7Zj1jWyhjW2IrMTY+PjJdfDApKzI4OD4+Ml18
MDtiPWE7d2hpbGUoMSl7YT1jW2IrMTY+PjJdfDA7aWYoKGNbYSsyODQ+PjJdfDApPD0oZnwwKT8o
ZnwwKTw9KGNbYSsyODg+PjJdfDApOjApYnJlYWs7YT1jW2ErMjgwPj4yXXwwO2k9YSs0OHwwO2o9
KGNbYSsxNj4+Ml18MCkrMTYwfDA7Y1tqPj4yXT0oKChifDApPT0oY1soKGNbYT4+Ml0mM3wwKT09
Mz9hOmkpKzQwPj4yXXwwKT9lOmcpfDA/ZDpoKSsoY1tqPj4yXXwwKTtqPWNbYT4+Ml0mMztpPWNb
KChqfDApPT0zP2E6aSkrNDA+PjJdfDA7YT1jWygoanwwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXww
O2I9KGNbKGNbaSsxNj4+Ml18MCkrMjg4Pj4yXXwwKT4oY1soY1thKzE2Pj4yXXwwKSsyODg+PjJd
fDApP2k6YX1yZXR1cm4gYnwwfWZ1bmN0aW9uIE53KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxl
PTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7aT1hKzE2fDA7ZT0oY1tpPj4yXXwwKSsxNjR8MDtj
WyhjW2IrMTY+PjJdfDApKzE2ND4+Ml09Y1tlPj4yXTtjWyhjWzQyMzAwXXwwKSsoY1tlPj4yXTw8
Mik+PjJdPWI7Y1soY1tpPj4yXXwwKSsxNjQ+PjJdPS0xO2k9KGNbKChjW2E+PjJdJjN8MCk9PTM/
YTphKzQ4fDApKzQwPj4yXXwwKSsxNnwwO2U9Y1tpPj4yXXwwO2c9ZSsyNzZ8MDtmPWNbZz4+Ml18
MDtqPWYrLTF8MDtjW2c+PjJdPWo7Zz1lKzI3MnwwO2g9MDt3aGlsZSgxKXtpZigoaHwwKT49KGZ8
MCkpe2s9MzticmVha31kPWNbZz4+Ml18MDtpZigoY1tkKyhoPDwyKT4+Ml18MCk9PShhfDApKWJy
ZWFrO2g9aCsxfDB9aWYoKGt8MCk9PTMpZD1jW2UrMjcyPj4yXXwwO2NbZCsoaDw8Mik+PjJdPWNb
ZCsoajw8Mik+PjJdO2NbKGNbKGNbaT4+Ml18MCkrMjcyPj4yXXwwKSsoajw8Mik+PjJdPTA7aT0o
Y1soKGNbYT4+Ml0mM3wwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwKSsxNnwwO2U9Y1tpPj4yXXww
O2c9ZSsyNjh8MDtmPWNbZz4+Ml18MDtqPWYrLTF8MDtjW2c+PjJdPWo7Zz1lKzI2NHwwO2g9MDt3
aGlsZSgxKXtpZigoaHwwKT49KGZ8MCkpe2s9ODticmVha31kPWNbZz4+Ml18MDtpZigoY1tkKyho
PDwyKT4+Ml18MCk9PShhfDApKWJyZWFrO2g9aCsxfDB9aWYoKGt8MCk9PTgpZD1jW2UrMjY0Pj4y
XXwwO2NbZCsoaDw8Mik+PjJdPWNbZCsoajw8Mik+PjJdO2NbKGNbKGNbaT4+Ml18MCkrMjY0Pj4y
XXwwKSsoajw8Mik+PjJdPTA7az0oY1soKGNbYj4+Ml0mM3wwKT09Mz9iOmIrNDh8MCkrNDA+PjJd
fDApKzE2fDA7YT1jW2s+PjJdfDA7aj1jW2ErMjcyPj4yXXwwO2E9YSsyNzZ8MDtpPWNbYT4+Ml18
MDtjW2E+PjJdPWkrMTtjW2orKGk8PDIpPj4yXT1iO2s9Y1trPj4yXXwwO2NbKGNbaysyNzI+PjJd
fDApKyhjW2srMjc2Pj4yXTw8Mik+PjJdPTA7az0oY1soKGNbYj4+Ml0mM3wwKT09Mj9iOmIrLTQ4
fDApKzQwPj4yXXwwKSsxNnwwO2k9Y1trPj4yXXwwO2o9Y1tpKzI2ND4+Ml18MDtpPWkrMjY4fDA7
YT1jW2k+PjJdfDA7Y1tpPj4yXT1hKzE7Y1tqKyhhPDwyKT4+Ml09YjtrPWNbaz4+Ml18MDtjWyhj
W2srMjY0Pj4yXXwwKSsoY1trKzI2OD4+Ml08PDIpPj4yXT0wO3JldHVybn1mdW5jdGlvbiBPdyhh
LGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2c9YSsxNnwwO2E9Y1tnPj4y
XXwwO2NbYSsyODA+PjJdPWI7Y1thKzI4ND4+Ml09ZDtmPTA7d2hpbGUoMSl7ZT1jWyhjW2ErMjcy
Pj4yXXwwKSsoZjw8Mik+PjJdfDA7aWYoIWUpe2Y9MDticmVha31pZigoZXwwKSE9KGJ8MCkpe2Q9
T3coY1soKGNbZT4+Ml0mM3wwKT09Mj9lOmUrLTQ4fDApKzQwPj4yXXwwLGUsZCl8MDthPWNbZz4+
Ml18MH1mPWYrMXwwfXdoaWxlKDEpe2U9Y1soY1thKzI2ND4+Ml18MCkrKGY8PDIpPj4yXXwwO2lm
KCFlKWJyZWFrO2lmKChlfDApIT0oYnwwKSl7ZD1PdyhjWygoY1tlPj4yXSYzfDApPT0zP2U6ZSs0
OHwwKSs0MD4+Ml18MCxlLGQpfDA7YT1jW2c+PjJdfDB9Zj1mKzF8MH1jW2ErMjg4Pj4yXT1kO3Jl
dHVybiBkKzF8MH1mdW5jdGlvbiBQdyhhKXthPWF8MDt2YXIgYj0wLGQ9MCxmPTAsZz0wLGg9MCxp
PTAsaj0wO2k9YSsxNnwwO2c9MDt3aGlsZSgxKXthPWNbaT4+Ml18MDtkPWNbKGNbYSsxODA+PjJd
fDApKyhnPDwyKT4+Ml18MDtpZighZCl7ZD0wO2JyZWFrfWY9Y1tkKzE2Pj4yXXwwO2lmKChjW2Yr
MTY0Pj4yXXwwKTwwKXthPWNbZD4+Ml0mMztiPWNbKGNbKChhfDApPT0yP2Q6ZCstNDh8MCkrNDA+
PjJdfDApKzE2Pj4yXXwwO2o9Y1tiKzI4OD4+Ml18MDtpZigoY1s0MjMwM118MCk+KGp8MCl8KGp8
MCk+KGNbNDIzMDRdfDApPyhoPShjW2IrMjMyPj4yXXwwKS0oY1soY1soY1soKGF8MCk9PTM/ZDpk
KzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKS0oZVtmKzE3MD4+MV18MCl8MCwo
aHwwKTwoY1s0MjMwMl18MCl8KGNbNDIzMDFdfDApPT0wKTowKXtjWzQyMzAxXT1kO2NbNDIzMDJd
PWh9fWVsc2V7Yj1jWygoY1tkPj4yXSYzfDApPT0yP2Q6ZCstNDh8MCkrNDA+PjJdfDA7aWYoKGNb
KGNbYisxNj4+Ml18MCkrMjg4Pj4yXXwwKTwoY1thKzI4OD4+Ml18MCkpUHcoYil9Zz1nKzF8MH13
aGlsZSgxKXtiPWNbKGNbYSsyNjQ+PjJdfDApKyhkPDwyKT4+Ml18MDtpZighKChifDApIT0wJihj
WzQyMzAyXXwwKT4wKSlicmVhaztiPWNbKChjW2I+PjJdJjN8MCk9PTM/YjpiKzQ4fDApKzQwPj4y
XXwwO2lmKChjWyhjW2IrMTY+PjJdfDApKzI4OD4+Ml18MCk8KGNbYSsyODg+PjJdfDApKXtQdyhi
KTthPWNbaT4+Ml18MH1kPWQrMXwwfXJldHVybn1mdW5jdGlvbiBRdyhhKXthPWF8MDt2YXIgYj0w
LGQ9MCxmPTAsZz0wLGg9MCxpPTAsaj0wO2k9YSsxNnwwO2c9MDt3aGlsZSgxKXthPWNbaT4+Ml18
MDtkPWNbKGNbYSsxNzI+PjJdfDApKyhnPDwyKT4+Ml18MDtpZighZCl7ZD0wO2JyZWFrfWY9Y1tk
KzE2Pj4yXXwwO2lmKChjW2YrMTY0Pj4yXXwwKTwwKXthPWNbZD4+Ml0mMztiPWNbKGNbKChhfDAp
PT0zP2Q6ZCs0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDA7aj1jW2IrMjg4Pj4yXXwwO2lmKChjWzQy
MzAzXXwwKT4oanwwKXwoanwwKT4oY1s0MjMwNF18MCk/KGg9KGNbKGNbKGNbKChhfDApPT0yP2Q6
ZCstNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApLShjW2IrMjMyPj4yXXwwKS0o
ZVtmKzE3MD4+MV18MCl8MCwoaHwwKTwoY1s0MjMwMl18MCl8KGNbNDIzMDFdfDApPT0wKTowKXtj
WzQyMzAxXT1kO2NbNDIzMDJdPWh9fWVsc2V7Yj1jWygoY1tkPj4yXSYzfDApPT0zP2Q6ZCs0OHww
KSs0MD4+Ml18MDtpZigoY1soY1tiKzE2Pj4yXXwwKSsyODg+PjJdfDApPChjW2ErMjg4Pj4yXXww
KSlRdyhiKX1nPWcrMXwwfXdoaWxlKDEpe2I9Y1soY1thKzI3Mj4+Ml18MCkrKGQ8PDIpPj4yXXww
O2lmKCEoKGJ8MCkhPTAmKGNbNDIzMDJdfDApPjApKWJyZWFrO2I9Y1soKGNbYj4+Ml0mM3wwKT09
Mj9iOmIrLTQ4fDApKzQwPj4yXXwwO2lmKChjWyhjW2IrMTY+PjJdfDApKzI4OD4+Ml18MCk8KGNb
YSsyODg+PjJdfDApKXtRdyhiKTthPWNbaT4+Ml18MH1kPWQrMXwwfXJldHVybn1mdW5jdGlvbiBS
dyhhKXthPWF8MDt2YXIgYj0wO2I9dncoMTYpfDA7Y1tiPj4yXT1hO2NbYis0Pj4yXT1meChhLGIp
fDA7Y1tiKzEyPj4yXT1iO3JldHVybiBifDB9ZnVuY3Rpb24gU3coYSxiKXthPWF8MDtiPWJ8MDt2
YXIgZD0wLGU9MDtlPXZ3KDgpfDA7Y1tlPj4yXT1hO2NbZSs0Pj4yXT1iO2Q9MDt3aGlsZSgxKXtp
ZigoZHwwKT49KGJ8MCkpYnJlYWs7Y1soY1thKyhkPDwyKT4+Ml18MCkrOD4+Ml09ZDtkPWQrMXww
fWQ9KGJ8MCkvMnwwO3doaWxlKDEpe2lmKChkfDApPD0tMSlicmVhaztYdyhlLGQpO2Q9ZCstMXww
fXJldHVybiBlfDB9ZnVuY3Rpb24gVHcoYSl7YT1hfDA7cmV0dXJuIGNbYSs0Pj4yXXwwfWZ1bmN0
aW9uIFV3KGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTA7Zj1jW2E+PjJdfDA7Yj1jW2Y+PjJd
fDA7Y1tiKzg+PjJdPS0xO2Q9YSs0fDA7ZT0oY1tkPj4yXXwwKSstMXwwO2NbZj4+Ml09Y1tmKyhl
PDwyKT4+Ml07Zj1jW2E+PjJdfDA7Y1soY1tmPj4yXXwwKSs4Pj4yXT0wO2NbZisoZTw8Mik+PjJd
PWI7Y1tkPj4yXT1lO1h3KGEsMCk7cmV0dXJuIGJ8MH1mdW5jdGlvbiBWdyhhKXthPWF8MDtyZXR1
cm4gZXgoY1thPj4yXXwwLDAsMCl8MH1mdW5jdGlvbiBXdyhhKXthPWF8MDt2YXIgYj0wLGQ9MCxm
PTAsZz0wLGg9MCxpPTA7Yj1hKzE2fDA7aWYoKGNbKGNbYj4+Ml18MCkrMTY0Pj4yXXwwKT4tMSlt
YSg4NzM4NCw4NzM2NSw0NjMsODczOTgpO2c9YSs0OHwwO2Q9YXgoY1soKGNbYT4+Ml0mM3wwKT09
Mz9hOmcpKzQwPj4yXXwwKXwwO2k9YSstNDh8MDtmPWF4KGNbKChjW2E+PjJdJjN8MCk9PTI/YTpp
KSs0MD4+Ml18MCl8MDtoPWNbYT4+Ml0mMztiPShjWyhjWyhjWygoaHwwKT09Mj9hOmkpKzQwPj4y
XXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKS0oY1soY1soY1soKGh8MCk9PTM/YTpnKSs0MD4+Ml18
MCkrMTY+PjJdfDApKzIzMj4+Ml18MCktKGVbKGNbYj4+Ml18MCkrMTcwPj4xXXwwKXwwO2lmKChj
W2QrOD4+Ml18MCk9PS0xKWJ4KGNbZD4+Ml18MCwwLGIpO2Vsc2UgYngoY1tmPj4yXXwwLDAsMC1i
fDApO2N4KGEpO3JldHVybiBkeChkLGYpfDB9ZnVuY3Rpb24gWHcoYSxiKXthPWF8MDtiPWJ8MDt2
YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTA7aD1jW2E+PjJdfDA7Zz1jW2ErND4+Ml18MDt3aGls
ZSgxKXthPWI8PDE7Zj1hKzJ8MDthPWF8MTtpZighKChhfDApPChnfDApPyhjWyhjW2grKGE8PDIp
Pj4yXXwwKSs0Pj4yXXwwKTwoY1soY1toKyhiPDwyKT4+Ml18MCkrND4+Ml18MCk6MCkpYT1iO2lm
KChmfDApPj0oZ3wwKSlicmVhaztkPWgrKGY8PDIpfDA7ZT1jW2Q+PjJdfDA7aWYoKGZ8MCk9PShi
fDApPzE6KGNbZSs0Pj4yXXwwKT49KGNbKGNbaCsoYTw8Mik+PjJdfDApKzQ+PjJdfDApKWJyZWFr
O2k9aCsoYjw8Mil8MDthPWNbaT4+Ml18MDtjW2k+PjJdPWU7Y1tkPj4yXT1hO2NbKGNbaT4+Ml18
MCkrOD4+Ml09YjtjW2ErOD4+Ml09ZjtiPWZ9cmV0dXJufWZ1bmN0aW9uIFl3KCl7T3coY1soY1so
Y1s0MjI5OF18MCkrMTY+PjJdfDApKzE5Mj4+Ml18MCwwLDEpfDA7WncoY1soY1soY1s0MjI5OF18
MCkrMTY+PjJdfDApKzE5Mj4+Ml18MCwwKTtyZXR1cm59ZnVuY3Rpb24gWncoYSxiKXthPWF8MDti
PWJ8MDt2YXIgZD0wLGU9MCxmPTA7Zj1hKzE2fDA7ZD0wO3doaWxlKDEpe2E9Y1tmPj4yXXwwO2U9
Y1soY1thKzI3Mj4+Ml18MCkrKGQ8PDIpPj4yXXwwO2lmKCFlKXtlPTA7YnJlYWt9aWYoKGV8MCkh
PShifDApKVp3KGNbKChjW2U+PjJdJjN8MCk9PTI/ZTplKy00OHwwKSs0MD4+Ml18MCxlKTtkPWQr
MXwwfXdoaWxlKDEpe2Q9Y1soY1thKzI2ND4+Ml18MCkrKGU8PDIpPj4yXXwwO2lmKCFkKWJyZWFr
O2lmKChkfDApIT0oYnwwKSl7WncoY1soKGNbZD4+Ml0mM3wwKT09Mz9kOmQrNDh8MCkrNDA+PjJd
fDAsZCk7YT1jW2Y+PjJdfDB9ZT1lKzF8MH1pZihifDApX3coYik7cmV0dXJufWZ1bmN0aW9uIF93
KGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTA7Yj1jW2E+PjJdJjM7ZD1j
WygoYnwwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDA7ZT1jW2QrMTY+PjJdfDA7aWYoKGNbZSsyODA+
PjJdfDApPT0oYXwwKSlpPTE7ZWxzZXtlPWNbKChifDApPT0yP2E6YSstNDh8MCkrNDA+PjJdfDA7
aT0tMTtkPWU7ZT1jW2UrMTY+PjJdfDB9Zz1jW2UrMTgwPj4yXXwwO2I9MDtmPTA7d2hpbGUoMSl7
aD1jW2crKGY8PDIpPj4yXXwwO2lmKCFoKWJyZWFrO2I9KCR3KGgsZCxpKXwwKStifDA7Zj1mKzF8
MH1nPWNbZSsxNzI+PjJdfDA7ZT0wO3doaWxlKDEpe2Y9Y1tnKyhlPDwyKT4+Ml18MDtpZighZili
cmVhaztiPSgkdyhmLGQsaSl8MCkrYnwwO2U9ZSsxfDB9Y1soY1thKzE2Pj4yXXwwKSsxNjA+PjJd
PWI7cmV0dXJufWZ1bmN0aW9uICR3KGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9
MCxnPTAsaD0wLGk9MDtoPWNbYT4+Ml0mMztpPShofDApPT0zP2E6YSs0OHwwO2U9Y1tpKzQwPj4y
XXwwO2lmKChlfDApPT0oYnwwKSllPWNbKChofDApPT0yP2E6YSstNDh8MCkrNDA+PjJdfDA7Zz1j
W2IrMTY+PjJdfDA7Zj1jWyhjW2UrMTY+PjJdfDApKzI4OD4+Ml18MDtpZigoY1tnKzI4ND4+Ml18
MCk8PShmfDApPyhmfDApPD0oY1tnKzI4OD4+Ml18MCk6MCl7Zj1jW2ErMTY+PjJdfDA7aWYoKGNb
ZisxNjQ+PjJdfDApPi0xKWU9Y1tmKzE2MD4+Ml18MDtlbHNlIGU9MDtnPTE7ZT1lLShjW2YrMTU2
Pj4yXXwwKXwwfWVsc2V7Zz0wO2U9Y1soY1thKzE2Pj4yXXwwKSsxNTY+PjJdfDB9aT0oY1soKGR8
MCk+MD8oKGh8MCk9PTI/YTphKy00OHwwKTppKSs0MD4+Ml18MCk9PShifDApPzE6LTE7cmV0dXJu
ICgoKGc/aTowLWl8MCl8MCk8MD8wLWV8MDplKXwwfWZ1bmN0aW9uIGF4KGEpe2E9YXwwO3ZhciBi
PTAsZD0wO2E9Y1soY1thKzE2Pj4yXXwwKSsyODA+PjJdfDA7d2hpbGUoMSl7Yj1hKzEyfDA7ZD1j
W2I+PjJdfDA7aWYoISgoZHwwKSE9KGF8MCkmKGR8MCkhPTApKWJyZWFrO2E9Y1tkKzEyPj4yXXww
O2lmKCFhKXthPWQ7Y29udGludWV9Y1tiPj4yXT1hfXJldHVybiBhfDB9ZnVuY3Rpb24gYngoYSxi
LGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTA7aD1hKzE2fDA7ZT1jW2g+
PjJdfDA7Zz1lKzIzMnwwO2NbZz4+Ml09KGNbZz4+Ml18MCkrZDtnPTA7d2hpbGUoMSl7Zj1jWyhj
W2UrMjY0Pj4yXXwwKSsoZzw8Mik+PjJdfDA7aWYoIWYpe2c9MDticmVha31mPWNbKChjW2Y+PjJd
JjN8MCk9PTM/ZjpmKzQ4fDApKzQwPj4yXXwwO2lmKChmfDApIT0oYnwwKSl7YngoZixhLGQpO2U9
Y1toPj4yXXwwfWc9ZysxfDB9d2hpbGUoMSl7Zj1jWyhjW2UrMjcyPj4yXXwwKSsoZzw8Mik+PjJd
fDA7aWYoIWYpYnJlYWs7Zj1jWygoY1tmPj4yXSYzfDApPT0yP2Y6ZistNDh8MCkrNDA+PjJdfDA7
aWYoKGZ8MCkhPShifDApKXtieChmLGEsZCk7ZT1jW2g+PjJdfDB9Zz1nKzF8MH1yZXR1cm59ZnVu
Y3Rpb24gY3goYil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wO2g9bDtsPWwrMzJ8
MDtkPShjW2IrMTY+PjJdfDApKzE2NHwwO2lmKChjW2Q+PjJdfDApPi0xKXtfbCgxLDg3NDg3LGgp
fDA7VWEoMTY5MDI0LDEpfWc9Y1s0MjI5OV18MDtjW2Q+PjJdPWc7ZD1jWzQyMzAwXXwwO2NbNDIy
OTldPWcrMTtjW2QrKGc8PDIpPj4yXT1iO2Q9Y1tiPj4yXXwwO2c9Yis0OHwwO2U9Y1soKGQmM3ww
KT09Mz9iOmcpKzQwPj4yXXwwO2lmKCEoYVsoY1tlKzE2Pj4yXXwwKSsxNTc+PjBdfDApKXtmPWNb
NDIzMDZdfDA7ZD1jWzQyMzA3XXwwO2NbNDIzMDddPWQrMTtjW2YrKGQ8PDIpPj4yXT1lO2Q9Y1ti
Pj4yXXwwfWY9YistNDh8MDtlPWNbKChkJjN8MCk9PTI/YjpmKSs0MD4+Ml18MDtpZighKGFbKGNb
ZSsxNj4+Ml18MCkrMTU3Pj4wXXwwKSl7aT1jWzQyMzA2XXwwO2Q9Y1s0MjMwN118MDtjWzQyMzA3
XT1kKzE7Y1tpKyhkPDwyKT4+Ml09ZTtkPWNbYj4+Ml18MH1pPShjWygoZCYzfDApPT0zP2I6Zykr
NDA+PjJdfDApKzE2fDA7ZD1jW2k+PjJdfDA7YVtkKzE1Nz4+MF09MTtlPWNbZCsyNzI+PjJdfDA7
ZD1kKzI3NnwwO2c9Y1tkPj4yXXwwO2NbZD4+Ml09ZysxO2NbZSsoZzw8Mik+PjJdPWI7Zz1jW2k+
PjJdfDA7Y1soY1tnKzI3Mj4+Ml18MCkrKGNbZysyNzY+PjJdPDwyKT4+Ml09MDtpPWNbaT4+Ml18
MDtpZighKGNbKGNbaSsxODA+PjJdfDApKygoY1tpKzI3Nj4+Ml18MCkrLTE8PDIpPj4yXXwwKSl7
X2woMSw4NzUyMSxoKzh8MCl8MDtVYSgxNjkwMjQsMSl9aT0oY1soKGNbYj4+Ml0mM3wwKT09Mj9i
OmYpKzQwPj4yXXwwKSsxNnwwO2U9Y1tpPj4yXXwwO2FbZSsxNTc+PjBdPTE7Zj1jW2UrMjY0Pj4y
XXwwO2U9ZSsyNjh8MDtnPWNbZT4+Ml18MDtjW2U+PjJdPWcrMTtjW2YrKGc8PDIpPj4yXT1iO2I9
Y1tpPj4yXXwwO2NbKGNbYisyNjQ+PjJdfDApKyhjW2IrMjY4Pj4yXTw8Mik+PjJdPTA7aT1jW2k+
PjJdfDA7aWYoIShjWyhjW2krMTcyPj4yXXwwKSsoKGNbaSsyNjg+PjJdfDApKy0xPDwyKT4+Ml18
MCkpe19sKDEsODc1NTYsaCsxNnwwKXwwO1VhKDE2OTAyNCwxKX1lbHNle2w9aDtyZXR1cm59fWZ1
bmN0aW9uIGR4KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9
MDt3aGlsZSgxKXtnPWErMTJ8MDtkPWNbZz4+Ml18MDtpZigoZHwwKT09MHwoZHwwKT09KGF8MCkp
YnJlYWs7ZWxzZSBhPWR9d2hpbGUoMSl7Zj1iKzEyfDA7ZD1jW2Y+PjJdfDA7aWYoKGR8MCk9PTB8
KGR8MCk9PShifDApKWJyZWFrO2Vsc2UgYj1kfWlmKChhfDApIT0oYnwwKSl7ZT1jW2ErOD4+Ml18
MDtkPWNbYis4Pj4yXXwwO2RvIGlmKChlfDApPi0xKWlmKChkfDApPT0tMSloPWE7ZWxzZSBqPTEw
O2Vsc2UgaWYoKGR8MCk+LTEpaWYoKGV8MCk9PS0xKXtoPWI7YnJlYWt9ZWxzZXtqPTEwO2JyZWFr
fWVsc2UgbWEoODc0MTAsODczNjUsMzI3LDg3NDU3KTt3aGlsZSgwKTtpZigoanwwKT09MTApaD0o
Y1tiKzQ+PjJdfDApPChjW2ErND4+Ml18MCk/YTpiO2NbZj4+Ml09aDtjW2c+PjJdPWg7Y1toKzQ+
PjJdPShjW2IrND4+Ml18MCkrKGNbYSs0Pj4yXXwwKTtpZigoY1toKzg+PjJdfDApPi0xKWk9aDtl
bHNlIG1hKDg3NDY4LDg3MzY1LDMzNSw4NzQ1Nyl9ZWxzZSBpPWE7cmV0dXJuIGl8MH1mdW5jdGlv
biBleChhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0w
LGw9MCxtPTA7bD1heChhKXwwO2lmKGQpe2s9Y1tkPj4yXSYzO2lmKCgoY1soY1soY1soKGt8MCk9
PTI/ZDpkKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCktKGNbKGNbKGNbKChr
fDApPT0zP2Q6ZCs0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCl8MCkhPShlWyhj
W2QrMTY+PjJdfDApKzE3MD4+MV18MHwwKSlmPTN9ZWxzZXtkPTA7Zj0zfWE6ZG8gaWYoKGZ8MCk9
PTMpe2s9YSsxNnwwO2o9MDt3aGlsZSgxKXtmPWNbaz4+Ml18MDtpPWNbKGNbZisxODA+PjJdfDAp
KyhqPDwyKT4+Ml18MDtpZighaSl7aj0wO2JyZWFrfWY9aSsxNnwwO2c9aSstNDh8MDtoPWNbKChj
W2k+PjJdJjN8MCk9PTI/aTpnKSs0MD4+Ml18MDtkbyBpZigoY1soY1tmPj4yXXwwKSsxNjQ+PjJd
fDApPi0xKXtpZigoaHwwKSE9KGJ8MCkpZD1leChoLGEsZCl8MH1lbHNlIGlmKChheChoKXwwKSE9
KGx8MCkpe2lmKGR8MD8obT1jW2k+PjJdJjMsaD1jW2Q+PjJdJjMsKChjWyhjWyhjWygobXwwKT09
Mj9pOmcpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKS0oY1soY1soY1soKG18MCk9PTM/
aTppKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKS0oZVsoY1tmPj4yXXwwKSsx
NzA+PjFdfDApfDApPj0oKGNbKGNbKGNbKChofDApPT0yP2Q6ZCstNDh8MCkrNDA+PjJdfDApKzE2
Pj4yXXwwKSsyMzI+PjJdfDApLShjWyhjWyhjWygoaHwwKT09Mz9kOmQrNDh8MCkrNDA+PjJdfDAp
KzE2Pj4yXXwwKSsyMzI+PjJdfDApLShlWyhjW2QrMTY+PjJdfDApKzE3MD4+MV18MCl8MCkpOjAp
YnJlYWs7ZD1pfXdoaWxlKDApO2o9aisxfDB9d2hpbGUoMSl7Zj1jWyhjW2YrMTcyPj4yXXwwKSso
ajw8Mik+PjJdfDA7aWYoIWYpYnJlYWsgYTtnPWYrMTZ8MDtoPWYrNDh8MDtpPWNbKChjW2Y+PjJd
JjN8MCk9PTM/ZjpoKSs0MD4+Ml18MDtkbyBpZigoY1soY1tnPj4yXXwwKSsxNjQ+PjJdfDApPi0x
KXtpZigoaXwwKSE9KGJ8MCkpZD1leChpLGEsZCl8MH1lbHNlIGlmKChheChpKXwwKSE9KGx8MCkp
e2lmKGR8MD8oaT1jW2Y+PjJdJjMsbT1jW2Q+PjJdJjMsKChjWyhjWyhjWygoaXwwKT09Mj9mOmYr
LTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKS0oY1soY1soY1soKGl8MCk9PTM/
ZjpoKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCktKGVbKGNbZz4+Ml18MCkrMTcwPj4x
XXwwKXwwKT49KChjWyhjWyhjWygobXwwKT09Mj9kOmQrLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18
MCkrMjMyPj4yXXwwKS0oY1soY1soY1soKG18MCk9PTM/ZDpkKzQ4fDApKzQwPj4yXXwwKSsxNj4+
Ml18MCkrMjMyPj4yXXwwKS0oZVsoY1tkKzE2Pj4yXXwwKSsxNzA+PjFdfDApfDApKTowKWJyZWFr
O2Q9Zn13aGlsZSgwKTtqPWorMXwwO2Y9Y1trPj4yXXwwfX13aGlsZSgwKTtyZXR1cm4gZHwwfWZ1
bmN0aW9uIGZ4KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9
MCxsPTAsbT0wLG49MCxvPTA7bD1hKzE2fDA7ZD1jW2w+PjJdfDA7Y1tkKzI4MD4+Ml09YjthPTE7
aD0wO3doaWxlKDEpe2c9Y1soY1tkKzE3Mj4+Ml18MCkrKGg8PDIpPj4yXXwwO2lmKCFnKXtoPTA7
YnJlYWt9Zj1jW2crMTY+PjJdfDA7aWYoKChjW2YrMTY0Pj4yXXwwKTw9LTE/KGk9Y1tnPj4yXSYz
LGo9Zys0OHwwLGs9Y1soY1soKGl8MCk9PTM/ZzpqKSs0MD4+Ml18MCkrMTY+PjJdfDAsKGNbaysy
ODA+PjJdfDApPT0wKTowKT8oKGNbKGNbKGNbKChpfDApPT0yP2c6ZystNDh8MCkrNDA+PjJdfDAp
KzE2Pj4yXXwwKSsyMzI+PjJdfDApLShjW2srMjMyPj4yXXwwKXwwKT09KGVbZisxNzA+PjFdfDB8
MCk6MCl7Y3goZyk7YT0oZngoY1soKGNbZz4+Ml0mM3wwKT09Mz9nOmopKzQwPj4yXXwwLGIpfDAp
K2F8MDtkPWNbbD4+Ml18MH1oPWgrMXwwfXdoaWxlKDEpe2Y9Y1soY1tkKzE4MD4+Ml18MCkrKGg8
PDIpPj4yXXwwO2lmKCFmKWJyZWFrO2c9Y1tmKzE2Pj4yXXwwO2lmKCgoY1tnKzE2ND4+Ml18MCk8
PS0xPyhtPWNbZj4+Ml0mMyxuPWYrLTQ4fDAsbz1jWyhjWygobXwwKT09Mj9mOm4pKzQwPj4yXXww
KSsxNj4+Ml18MCwoY1tvKzI4MD4+Ml18MCk9PTApOjApPygoY1tvKzIzMj4+Ml18MCktKGNbKGNb
KGNbKChtfDApPT0zP2Y6Zis0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCl8MCk9
PShlW2crMTcwPj4xXXwwfDApOjApe2N4KGYpO2E9KGZ4KGNbKChjW2Y+PjJdJjN8MCk9PTI/Zjpu
KSs0MD4+Ml18MCxiKXwwKSthfDA7ZD1jW2w+PjJdfDB9aD1oKzF8MH1yZXR1cm4gYXwwfWZ1bmN0
aW9uIGd4KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wO2Q9SW0oYSw4NzYyMCl8MDtp
ZighZClkPTMwO2Vsc2UgZD1yTShkKXwwO3JldHVybiB6dyhhLGIsYyxkKXwwfWZ1bmN0aW9uIGh4
KGEpe2E9K2E7cmV0dXJuICsoKGNbNDIxODNdfDApPT0wP2E6K2hbMjA4OTVdLWEpfWZ1bmN0aW9u
IGl4KGIsZCxlLGYpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaT0wLGo9MCxrPTAs
bT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLjAsdD0wLjAsdT0wO3I9bDtsPWwrMTZ8MDtxPXI7
Y1s0MjMwOF09Y1soY1soY1tkKzY0Pj4yXXwwKSs4Pj4yXXwwKSs0Pj4yXTtqeChkKTtpPWNbZCsx
Nj4+Ml18MDt0PStoW2krMzI+PjNdO3M9K2hbaSs0MD4+M107a3goZSw4NzYzMSwraFtiKzM1Mj4+
M10pO2t4KGUsODc2MzgsdCouMDEzODg4ODg4ODg4ODg4ODg4KTtreChlLDg3NjM4LHMqLjAxMzg4
ODg4ODg4ODg4ODg4OCk7bHgoZSk7aT1jbyhkKXwwO3doaWxlKDEpe2lmKCFpKWJyZWFrO2c9aSsx
NnwwO2lmKCEoYVsoY1tnPj4yXXwwKSsxMTg+PjBdfDApKXtteChlLDg3NjQwLFdwKERuKGkpfDAp
fDApO3A9KGNbZz4+Ml18MCkrMTZ8MDtjW3E+PjJdPWNbcD4+Ml07Y1txKzQ+PjJdPWNbcCs0Pj4y
XTtjW3ErOD4+Ml09Y1twKzg+PjJdO2NbcSsxMj4+Ml09Y1twKzEyPj4yXTtueChlLHEpO2lmKCEo
YVsoY1soY1tnPj4yXXwwKSsxMDQ+PjJdfDApKzgyPj4wXXwwKSl7Yj1ybyhpKXwwO2I9b3goYixj
W2NbKGNbZz4+Ml18MCkrMTA0Pj4yXT4+Ml18MCl8MH1lbHNlIGI9V3AoSm0oaSxjWzQyMTk4XXww
KXwwKXwwO2t4KGUsODc2MzgsK2hbKGNbZz4+Ml18MCkrMzI+PjNdKTtreChlLDg3NjM4LCtoWyhj
W2c+PjJdfDApKzQwPj4zXSk7bXgoZSw4NzYzOCxiKTtteChlLDg3NjM4LEdBKGksY1s0MjIwMV18
MCw5NTg4OSl8MCk7bXgoZSw4NzYzOCxjW2NbKGNbZz4+Ml18MCkrOD4+Ml0+PjJdfDApO214KGUs
ODc2MzgsR0EoaSxjWzQyMTkyXXwwLDEyMjEwNil8MCk7Yj1HQShpLGNbNDIxOTNdfDAsMTc0MTgx
KXwwO2lmKCEoYVtiPj4wXXwwKSliPUdBKGksY1s0MjE5Ml18MCwxMTk1OTIpfDA7bXgoZSw4NzYz
OCxiKTtseChlKX1pPWVvKGQsaSl8MH1vPWY8PDI0Pj4yND09MDtuPWNvKGQpfDA7d2hpbGUoMSl7
aWYoIW4pYnJlYWs7bT1QbShkLG4pfDA7d2hpbGUoMSl7aWYoIW0pYnJlYWs7aWYobyl7Zj0xNzQx
ODE7aj0xNzQxODF9ZWxzZXtqPUltKG0sOTYyNDIpfDA7Zj1JbShtLDk2MjUxKXwwO2Y9ZnwwP2Y6
MTc0MTgxO2o9anwwP2o6MTc0MTgxfXA9bSsxNnwwO2I9Y1twPj4yXXwwO2s9Y1tiKzg+PjJdfDA7
YTpkbyBpZihrKXtpPWNbays0Pj4yXXwwO2I9MDtnPTA7d2hpbGUoMSl7aWYoKGJ8MCk+PShpfDAp
KWJyZWFrO3U9KGNbKGNbaz4+Ml18MCkrKGIqNDh8MCkrND4+Ml18MCkrZ3wwO2I9YisxfDA7Zz11
fW14KGUsMCw5NjIzNyk7cHgoZSxjWygoY1ttPj4yXSYzfDApPT0zP206bSs0OHwwKSs0MD4+Ml18
MCxqKTtweChlLGNbKChjW20+PjJdJjN8MCk9PTI/bTptKy00OHwwKSs0MD4+Ml18MCxmKTtxeChl
LGcpO2Y9MDt3aGlsZSgxKXtiPWNbcD4+Ml18MDtnPWNbYis4Pj4yXXwwO2lmKChmfDApPj0oY1tn
KzQ+PjJdfDApKWJyZWFrIGE7aT1jW2c+PjJdfDA7Zz1jW2krKGYqNDh8MCk+PjJdfDA7aT1jW2kr
KGYqNDh8MCkrND4+Ml18MDtiPTA7d2hpbGUoMSl7aWYoKGJ8MCk+PShpfDApKWJyZWFrO3U9Zyso
Yjw8NCl8MDtjW3E+PjJdPWNbdT4+Ml07Y1txKzQ+PjJdPWNbdSs0Pj4yXTtjW3ErOD4+Ml09Y1t1
Kzg+PjJdO2NbcSsxMj4+Ml09Y1t1KzEyPj4yXTtueChlLHEpO2I9YisxfDB9Zj1mKzF8MH19d2hp
bGUoMCk7aWYoY1tiKzk2Pj4yXXwwKXt1PXJvKGNbKChjW20+PjJdJjN8MCk9PTM/bTptKzQ4fDAp
KzQwPj4yXXwwKXwwO214KGUsODc2Mzgsb3godSxjW2NbKGNbcD4+Ml18MCkrOTY+PjJdPj4yXXww
KXwwKTt1PShjWyhjW3A+PjJdfDApKzk2Pj4yXXwwKSs1NnwwO2NbcT4+Ml09Y1t1Pj4yXTtjW3Er
ND4+Ml09Y1t1KzQ+PjJdO2NbcSs4Pj4yXT1jW3UrOD4+Ml07Y1txKzEyPj4yXT1jW3UrMTI+PjJd
O254KGUscSl9bXgoZSw4NzYzOCxHQShtLGNbNDIyMjldfDAsOTU4ODkpfDApO214KGUsODc2Mzgs
R0EobSxjWzQyMjIwXXwwLDEyMjEwNil8MCk7bHgoZSk7bT1SbShkLG0pfDB9bj1lbyhkLG4pfDB9
cngoODc2NDYsZSk7bD1yO3JldHVybn1mdW5jdGlvbiBqeChhKXthPWF8MDt2YXIgYj0wLjA7aWYo
Y1s0MjE4M118MCl7YT1jW2ErMTY+PjJdfDA7Yj0raFthKzI0Pj4zXSsgK2hbYSs0MD4+M107aFsy
MDg5NV09YjtoWzIwODk2XT1iKi4wMTM4ODg4ODg4ODg4ODg4ODh9cmV0dXJufWZ1bmN0aW9uIGt4
KGEsYixjKXthPWF8MDtiPWJ8MDtjPStjO3ZhciBkPTAsZT0wLGY9MDtmPWw7bD1sKzEwNDB8MDtl
PWY7ZD1mKzh8MDtpZihifDApcngoYixhKTtoW2U+PjNdPWM7cEwoZCw4NzY1MixlKXwwO3J4KGQs
YSk7bD1mO3JldHVybn1mdW5jdGlvbiBseChiKXtiPWJ8MDthWzE3NDA3N109MTA7YWJbY1s0MjMw
OF0mNjNdKGIsMTc0MDc3KXwwO3JldHVybn1mdW5jdGlvbiBteChhLGIsYyl7YT1hfDA7Yj1ifDA7
Yz1jfDA7aWYoYnwwKXJ4KGIsYSk7cngoYyxhKTtyZXR1cm59ZnVuY3Rpb24gbngoYSxiKXthPWF8
MDtiPWJ8MDt2YXIgZD0wLjA7a3goYSw4NzYzOCwraFtiPj4zXSouMDEzODg4ODg4ODg4ODg4ODg4
KTtpZighKGNbNDIxODNdfDApKWQ9K2hbYis4Pj4zXTtlbHNlIGQ9K2hbMjA4OTVdLStoW2IrOD4+
M107a3goYSw4NzYzOCxkKi4wMTM4ODg4ODg4ODg4ODg4ODgpO3JldHVybn1mdW5jdGlvbiBveChh
LGIpe2E9YXwwO2I9YnwwO3ZhciBjPTA7Yz0kbyhhLGIpfDA7Yj1XcChjKXwwO2JwKGEsYyl8MDty
ZXR1cm4gYnwwfWZ1bmN0aW9uIHB4KGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wO2lm
KCEoYVsoY1tkKzE2Pj4yXXwwKSsxMTg+PjBdfDApKWQ9V3AoRG4oZCl8MCl8MDtlbHNle2Y9cm8o
ZCl8MDtkPW94KGYsKFdKKERuKGQpfDAsNTgpfDApKzF8MCl8MH1teChiLDg3NjM4LGQpO2lmKGV8
MD9hW2U+PjBdfDA6MClteChiLDkzMDE3LFdwKGUpfDApO3JldHVybn1mdW5jdGlvbiBxeChhLGIp
e2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MDtkPWw7bD1sKzEwNDB8MDtmPWQ7ZT1kKzh8MDty
eCg4NzYzOCxhKTtjW2Y+PjJdPWI7cEwoZSwxMjIxODcsZil8MDtyeChlLGEpO2w9ZDtyZXR1cm59
ZnVuY3Rpb24gcngoYSxiKXthPWF8MDtiPWJ8MDthYltjWzQyMzA4XSY2M10oYixhKXwwO3JldHVy
bn0KK2Z1bmN0aW9uIEVCKGEsYil7YT1hfDA7Yj1ifDA7aWYoKCtoW2ErMTY+PjNdPj0raFtiPj4z
XT8raFtiKzE2Pj4zXT49K2hbYT4+M106MCk/K2hbYSsyND4+M10+PStoW2IrOD4+M106MClhPSto
W2IrMjQ+PjNdPj0raFthKzg+PjNdJjE7ZWxzZSBhPTA7cmV0dXJuIGF8MH1mdW5jdGlvbiBGQihh
LGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxu
PTA7bj1sO2w9bCs5NnwwO2s9bis2NHwwO2o9bis0OHwwO2k9biszMnwwO2Y9bisxNnwwO2c9bjtt
PWErNHwwO2Q9Y1ttPj4yXXwwO2lmKCFkKW1hKDk0NzU5LDkyNjk0LDE2MzcsOTQ3NjcpO2U9Y1th
Pj4yXXwwO2NbZz4+Ml09Y1tlPj4yXTtjW2crND4+Ml09Y1tlKzQ+PjJdO2NbZys4Pj4yXT1jW2Ur
OD4+Ml07Y1tnKzEyPj4yXT1jW2UrMTI+PjJdO2U9MTt3aGlsZSgxKXtpZigoZXwwKT49KGR8MCkp
e2g9NzticmVha31kPShjW2E+PjJdfDApKyhlPDw0KXwwO2NbZj4+Ml09Y1tkPj4yXTtjW2YrND4+
Ml09Y1tkKzQ+PjJdO2NbZis4Pj4yXT1jW2QrOD4+Ml07Y1tmKzEyPj4yXT1jW2QrMTI+PjJdO2Nb
aT4+Ml09Y1tkPj4yXTtjW2krND4+Ml09Y1tkKzQ+PjJdO2NbaSs4Pj4yXT1jW2QrOD4+Ml07Y1tp
KzEyPj4yXT1jW2QrMTI+PjJdO2Nbaj4+Ml09Y1tnPj4yXTtjW2orND4+Ml09Y1tnKzQ+PjJdO2Nb
ais4Pj4yXT1jW2crOD4+Ml07Y1tqKzEyPj4yXT1jW2crMTI+PjJdO2Nbaz4+Ml09Y1tiPj4yXTtj
W2srND4+Ml09Y1tiKzQ+PjJdO2Nbays4Pj4yXT1jW2IrOD4+Ml07Y1trKzEyPj4yXT1jW2IrMTI+
PjJdO2NbaysxNj4+Ml09Y1tiKzE2Pj4yXTtjW2srMjA+PjJdPWNbYisyMD4+Ml07Y1trKzI0Pj4y
XT1jW2IrMjQ+PjJdO2NbaysyOD4+Ml09Y1tiKzI4Pj4yXTtpZigoWXYoaSxqLGspfDApIT0tMSl7
ZD0xO2JyZWFrfTtjW2c+PjJdPWNbZj4+Ml07Y1tnKzQ+PjJdPWNbZis0Pj4yXTtjW2crOD4+Ml09
Y1tmKzg+PjJdO2NbZysxMj4+Ml09Y1tmKzEyPj4yXTtlPWUrMXwwO2Q9Y1ttPj4yXXwwfWRvIGlm
KChofDApPT03KXtkPWNbYSs4Pj4yXXwwO2lmKGR8MD8oZz1hKzE2fDAsaD1jW2E+PjJdfDAsY1tp
Pj4yXT1jW2c+PjJdLGNbaSs0Pj4yXT1jW2crND4+Ml0sY1tpKzg+PjJdPWNbZys4Pj4yXSxjW2kr
MTI+PjJdPWNbZysxMj4+Ml0sY1tqPj4yXT1jW2g+PjJdLGNbais0Pj4yXT1jW2grND4+Ml0sY1tq
Kzg+PjJdPWNbaCs4Pj4yXSxjW2orMTI+PjJdPWNbaCsxMj4+Ml0sY1trPj4yXT1jW2I+PjJdLGNb
ays0Pj4yXT1jW2IrND4+Ml0sY1trKzg+PjJdPWNbYis4Pj4yXSxjW2srMTI+PjJdPWNbYisxMj4+
Ml0sY1trKzE2Pj4yXT1jW2IrMTY+PjJdLGNbaysyMD4+Ml09Y1tiKzIwPj4yXSxjW2srMjQ+PjJd
PWNbYisyND4+Ml0sY1trKzI4Pj4yXT1jW2IrMjg+PjJdLChHQihpLGosZCxrKXwwKTw8MjQ+PjI0
KTowKXtkPTE7YnJlYWt9ZD1jW2ErMTI+PjJdfDA7aWYoZHwwPyhoPWErMzJ8MCxtPShjW2E+PjJd
fDApKygoY1ttPj4yXXwwKSstMTw8NCl8MCxjW2k+PjJdPWNbaD4+Ml0sY1tpKzQ+PjJdPWNbaCs0
Pj4yXSxjW2krOD4+Ml09Y1toKzg+PjJdLGNbaSsxMj4+Ml09Y1toKzEyPj4yXSxjW2o+PjJdPWNb
bT4+Ml0sY1tqKzQ+PjJdPWNbbSs0Pj4yXSxjW2orOD4+Ml09Y1ttKzg+PjJdLGNbaisxMj4+Ml09
Y1ttKzEyPj4yXSxjW2s+PjJdPWNbYj4+Ml0sY1trKzQ+PjJdPWNbYis0Pj4yXSxjW2srOD4+Ml09
Y1tiKzg+PjJdLGNbaysxMj4+Ml09Y1tiKzEyPj4yXSxjW2srMTY+PjJdPWNbYisxNj4+Ml0sY1tr
KzIwPj4yXT1jW2IrMjA+PjJdLGNbaysyND4+Ml09Y1tiKzI0Pj4yXSxjW2srMjg+PjJdPWNbYisy
OD4+Ml0sKEdCKGksaixkLGspfDApPDwyND4+MjQpOjApe2Q9MTticmVha31kPTB9d2hpbGUoMCk7
bD1uO3JldHVybiBkfDB9ZnVuY3Rpb24gR0IoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1l
fDA7dmFyIGY9MCxnPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAuMDttPWw7bD1sKzE2MHwwO2c9
bSsxNDR8MDtmPW0rMTI4fDA7bj1tKzk2fDA7aT1tKzY0fDA7aj1tKzMyfDA7az1tO289K2hbZSsx
Nj4+M107Y1tmPj4yXT1jW2E+PjJdO2NbZis0Pj4yXT1jW2ErND4+Ml07Y1tmKzg+PjJdPWNbYSs4
Pj4yXTtjW2YrMTI+PjJdPWNbYSsxMj4+Ml07Y1tnPj4yXT1jW2I+PjJdO2NbZys0Pj4yXT1jW2Ir
ND4+Ml07Y1tnKzg+PjJdPWNbYis4Pj4yXTtjW2crMTI+PjJdPWNbYisxMj4+Ml07UnQobixmLGcs
MS4wLGQpO2lmKCgobz49K2hbbj4+M10/KGNbZj4+Ml09Y1thPj4yXSxjW2YrND4+Ml09Y1thKzQ+
PjJdLGNbZis4Pj4yXT1jW2ErOD4+Ml0sY1tmKzEyPj4yXT1jW2ErMTI+PjJdLGNbZz4+Ml09Y1ti
Pj4yXSxjW2crND4+Ml09Y1tiKzQ+PjJdLGNbZys4Pj4yXT1jW2IrOD4+Ml0sY1tnKzEyPj4yXT1j
W2IrMTI+PjJdLFJ0KGksZixnLDEuMCxkKSwraFtpKzE2Pj4zXT49K2hbZT4+M10pOjApPyhvPSto
W2UrMjQ+PjNdLGNbZj4+Ml09Y1thPj4yXSxjW2YrND4+Ml09Y1thKzQ+PjJdLGNbZis4Pj4yXT1j
W2ErOD4+Ml0sY1tmKzEyPj4yXT1jW2ErMTI+PjJdLGNbZz4+Ml09Y1tiPj4yXSxjW2crND4+Ml09
Y1tiKzQ+PjJdLGNbZys4Pj4yXT1jW2IrOD4+Ml0sY1tnKzEyPj4yXT1jW2IrMTI+PjJdLFJ0KGos
ZixnLDEuMCxkKSxvPj0raFtqKzg+PjNdKTowKT8oY1tmPj4yXT1jW2E+PjJdLGNbZis0Pj4yXT1j
W2ErND4+Ml0sY1tmKzg+PjJdPWNbYSs4Pj4yXSxjW2YrMTI+PjJdPWNbYSsxMj4+Ml0sY1tnPj4y
XT1jW2I+PjJdLGNbZys0Pj4yXT1jW2IrND4+Ml0sY1tnKzg+PjJdPWNbYis4Pj4yXSxjW2crMTI+
PjJdPWNbYisxMj4+Ml0sUnQoayxmLGcsMS4wLGQpLCtoW2srMjQ+PjNdPj0raFtlKzg+PjNdKTow
KWY9MTtlbHNlIGY9MDtsPW07cmV0dXJuIGZ8MH1mdW5jdGlvbiBIQihiLGQpe2I9YnwwO2Q9ZHww
O3ZhciBlPTAsZj0wLGc9MDtnPWw7bD1sKzE2fDA7Zj1nO2E6ZG8gaWYoKGJ8MCkhPTA/KGU9YVti
Pj4wXXwwLGU8PDI0Pj4yNCE9MCk6MCl7ZG8gc3dpdGNoKGU8PDI0Pj4yNHwwKXtjYXNlIDQ4Ontk
PTI7YnJlYWsgYX1jYXNlIDU3OmNhc2UgNTY6Y2FzZSA1NTpjYXNlIDU0OmNhc2UgNTM6Y2FzZSA1
MjpjYXNlIDUxOmNhc2UgNTA6Y2FzZSA0OTp7ZD0xMDticmVhayBhfWNhc2UgNjc6Y2FzZSA5OTp7
ZT1iKzF8MDtpZighKGlLKGUsOTQ3ODIpfDApKXtkPTQ7YnJlYWsgYX1pZighKGlLKGUsOTQ3ODgp
fDApKXtkPTEyO2JyZWFrIGF9YnJlYWt9Y2FzZSA3MDpjYXNlIDEwMjp7aWYoIShpSyhiKzF8MCw5
NDc5Nil8MCkpe2Q9MjticmVhayBhfWJyZWFrfWNhc2UgNzY6Y2FzZSAxMDg6e2lmKCEoaUsoYisx
fDAsOTQ4MDEpfDApKXtkPTI7YnJlYWsgYX1icmVha31jYXNlIDc4OmNhc2UgMTEwOntlPWIrMXww
O2lmKCEoaUsoZSw5NDgwNSl8MCkpe2Q9MDticmVhayBhfWlmKCEoaUsoZSw5NDgwOSl8MCkpe2Q9
MjticmVhayBhfWJyZWFrfWNhc2UgNzk6Y2FzZSAxMTE6e2lmKCEoaUsoYisxfDAsOTQ4MTEpfDAp
KXtkPTg7YnJlYWsgYX1icmVha31jYXNlIDgwOmNhc2UgMTEyOntpZighKGlLKGIrMXwwLDk0ODE2
KXwwKSl7ZD02O2JyZWFrIGF9YnJlYWt9Y2FzZSA4MzpjYXNlIDExNTp7aWYoIShpSyhiKzF8MCw5
NDgyNCl8MCkpe2Q9MTA7YnJlYWsgYX1icmVha31jYXNlIDg0OmNhc2UgMTE2OntpZighKGlLKGIr
MXwwLDk0ODMwKXwwKSl7ZD0xMDticmVhayBhfWJyZWFrfWNhc2UgODk6Y2FzZSAxMjE6e2lmKCEo
aUsoYisxfDAsOTQ4MzQpfDApKXtkPTEwO2JyZWFrIGF9YnJlYWt9ZGVmYXVsdDp7fX13aGlsZSgw
KTtjW2Y+PjJdPWI7X2woMCw5NDgzNyxmKXwwfXdoaWxlKDApO2w9ZztyZXR1cm4gZHwwfWZ1bmN0
aW9uIElCKGQsZil7ZD1kfDA7Zj1mfDA7dmFyIGc9MDtnPUltKGQsOTQ4NzgpfDA7aWYoZylpZigh
KGFbZz4+MF18MCkpZj0wO2Vsc2UgZj1IQihnLGYpfDA7ZD0oY1tkKzE2Pj4yXXwwKSsxMzZ8MDti
W2Q+PjFdPWZ8ZVtkPj4xXTtyZXR1cm59ZnVuY3Rpb24gSkIoYSxiLGMsZCxlKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPStkO2U9ZXwwO3ZhciBmPTAuMCxnPTAuMCxpPTAuMCxqPTAuMCxrPTAuMCxtPTAs
bj0wLG89MC4wLHA9MCxxPTAuMCxyPTAscz0wLjAsdD0wLHU9MCx2PTAsdz0wO3Y9bDtsPWwrMzJ8
MDtwPXYrMTZ8MDtyPXY7dD1lJjE7dT1lJjI7YTpkbyBpZigoY3wwKT09Mil7cz0raFthKzE2Pj4z
XTtmPStoW2E+PjNdO2o9K2hbYSsyND4+M107aT0raFthKzg+PjNdO2Y9Zi0ocy1mKTtoW3A+PjNd
PWY7aFtyPj4zXT1zO2k9aS0oai1pKTtoW3ArOD4+M109aTtoW3IrOD4+M109an1lbHNle2c9K2hb
YT4+M107aFtyPj4zXT1nO2hbcD4+M109ZztqPStoW2ErOD4+M107bT1yKzh8MDtoW20+PjNdPWo7
bj1wKzh8MDtoW24+PjNdPWo7ZT0wO2Y9ZztpPWo7d2hpbGUoMSl7aWYoKGV8MCk+PShjfDApKXtz
PWc7YnJlYWsgYX13PWErKGU8PDQpfDA7cT0raFt3Pj4zXTtrPStoWyhxPGY/dzpwKT4+M107aFtw
Pj4zXT1rO3M9K2hbYSsoZTw8NCkrOD4+M107bz0raFsoczxpP3c6cCkrOD4+M107aFtuPj4zXT1v
O3E9K2hbKHE+Zz93OnIpPj4zXTtoW3I+PjNdPXE7cz0raFsocz5qP3c6cikrOD4+M107aFttPj4z
XT1zO2U9ZSsxfDA7Zj1rO2k9bztnPXE7aj1zfX13aGlsZSgwKTtnPShzLWYpKi41O3E9ZytmO289
KGotaSkqLjU7az1vK2k7aWYoIXQpe2Y9ai1rO2o9ZDtpPStGKCtqKTtqPStFKCtqKTtpZighdSl7
Zz1pKmYtaztmPS1rLW8qaX1lbHNle2Y9aSpmO2c9ay1mO2Y9ZitrfWhbYis4Pj4zXT1nO2hbYisy
ND4+M109ZjtkPWoqKHMtcSk7aFtiPj4zXT1xLWQ7aFtiKzE2Pj4zXT1kK3F9ZWxzZXtkPStDKCso
bypvK2cqZykpO2hbYis4Pj4zXT11fDA/azotaztoW2I+PjNdPXE7aFtiKzE2Pj4zXT1kKi4yNTto
W2IrMjQ+PjNdPWR9bD12O3JldHVybn1mdW5jdGlvbiBLQihhLGIpe2E9YXwwO2I9YnwwO3ZhciBk
PTAuMCxlPTAsZj0wO2U9YSsxNnwwO2Y9Y1tlPj4yXXwwO2lmKCEoYjw8MjQ+PjI0KSl7ZD0raFtm
KzMyPj4zXSozNi4wO2hbZis4OD4+M109ZDthPWYrNDB8MH1lbHNle2Q9K2hbZis0MD4+M10qMzYu
MDtoW2YrODg+PjNdPWQ7YT1mKzMyfDB9aFtmKzk2Pj4zXT1kO2hbKGNbZT4+Ml18MCkrODA+PjNd
PStoW2E+PjNdKjcyLjA7cmV0dXJufWZ1bmN0aW9uIExCKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9
MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0w
LHc9MCx4PTAseT0wLEE9MDt5PWw7bD1sKzE2fDA7aj15Kzh8MDt4PTQ7dz1aSSg0MCl8MDtjW3c+
PjJdPTA7cz15O289MDtlPV8oMjIsYnwwKXwwO2Y9bztvPTA7aWYoKGZ8MCkhPTAmKHB8MCkhPTAp
e2c9U04oY1tmPj4yXXwwLHd8MCx4fDApfDA7aWYoIWcpVWEoZnwwLHB8MCk7ej1wfWVsc2UgZz0t
MTthOmRvIGlmKChnfDApIT0xKXtvPTA7dj1fKDIzLGU8PDN8MCl8MDtmPW87bz0wO2lmKChmfDAp
IT0wJihwfDApIT0wKXtlPVNOKGNbZj4+Ml18MCx3fDAseHwwKXwwO2lmKCFlKVVhKGZ8MCxwfDAp
O3o9cH1lbHNlIGU9LTE7aWYoKGV8MCkhPTEpe2lmKCEoYVsxNzQwNzZdfDApKXQ9MDtlbHNle289
MDtlPVooMil8MDtmPW87bz0wO2lmKChmfDApIT0wJihwfDApIT0wKXtnPVNOKGNbZj4+Ml18MCx3
fDAseHwwKXwwO2lmKCFnKVVhKGZ8MCxwfDApO3o9cH1lbHNlIGc9LTE7aWYoKGd8MCk9PTEpe249
MDtrPTA7bT0wO2o9MDtpPTA7ZD12O2g9djtlPXo7Zz0wO3U9NzQ7YnJlYWt9dD1lfW89MDtlPSQo
MzEsYnwwLDk0ODg2KXwwO2Y9bztvPTA7aWYoKGZ8MCkhPTAmKHB8MCkhPTApe2c9U04oY1tmPj4y
XXwwLHd8MCx4fDApfDA7aWYoIWcpVWEoZnwwLHB8MCk7ej1wfWVsc2UgZz0tMTtpZigoZ3wwKSE9
MSl7Y1s0MjM2Nl09MDtiOmRvIGlmKGV8MD8oaT1hW2U+PjBdfDAsaTw8MjQ+PjI0KTowKXtoPWU7
Zj1pO2c9MDt3aGlsZSgxKXtpPWgrMXwwO2lmKCEoZjw8MjQ+PjI0KSlicmVhayBiO3N3aXRjaChm
PDwyND4+MjR8MCl7Y2FzZSA5OTp7ZT04O3U9MTY7YnJlYWt9Y2FzZSAxMDU6e2U9MTg7dT0xNjti
cmVha31jYXNlIDEwOTp7ZT0xO3U9MTY7YnJlYWt9Y2FzZSAxMTQ6e2U9NDt1PTE2O2JyZWFrfWNh
c2UgMTE1OntlPTI7dT0xNjticmVha31kZWZhdWx0OmU9Z31pZigodXwwKT09MTYpe3U9MDtlPWd8
ZTtjWzQyMzY2XT1lfWg9aTtmPWFbaT4+MF18MDtnPWV9fXdoaWxlKDApO2lmKGR8MCl7bz0wO2Fh
KDExLDAsOTQ4OTAsanwwKXwwO2U9bztvPTA7aWYoKGV8MCkhPTAmKHB8MCkhPTApe2Y9U04oY1tl
Pj4yXXwwLHd8MCx4fDApfDA7aWYoIWYpVWEoZXwwLHB8MCk7ej1wfWVsc2UgZj0tMTtpZigoZnww
KT09MSl7bj0wO2s9dDttPTA7aj0wO2k9MDtkPXY7aD12O2U9ejtnPTA7dT03NDticmVha319bz0w
O3I9JCgzMixifDAsMCl8MDtlPW87bz0wO2lmKChlfDApIT0wJihwfDApIT0wKXtmPVNOKGNbZT4+
Ml18MCx3fDAseHwwKXwwO2lmKCFmKVVhKGV8MCxwfDApO3o9cH1lbHNlIGY9LTE7aWYoKGZ8MCkh
PTEpe209Y1tyKzE2Pj4yXXwwO2lmKGNbNDIzNjZdJjJ8MCl7bz0wO2dhKDI1LGNbMTM5MThdfDAs
bXwwKTtlPW87bz0wO2lmKChlfDApIT0wJihwfDApIT0wKXtmPVNOKGNbZT4+Ml18MCx3fDAseHww
KXwwO2lmKCFmKVVhKGV8MCxwfDApO3o9cH1lbHNlIGY9LTE7aWYoKGZ8MCk9PTEpe249MDtrPXQ7
bT0wO2o9MDtpPXI7ZD12O2g9djtlPXo7Zz0wO3U9NzQ7YnJlYWt9fW89MDtnPV8oMjQsYnwwKXww
O2U9bztvPTA7aWYoKGV8MCkhPTAmKHB8MCkhPTApe2Y9U04oY1tlPj4yXXwwLHd8MCx4fDApfDA7
aWYoIWYpVWEoZXwwLHB8MCk7ej1wfWVsc2UgZj0tMTtpZigoZnwwKSE9MSl7bj0wO3doaWxlKDEp
e2lmKCFnKWJyZWFrO289MDtlPSQoMzMsYnwwLGd8MCl8MDtmPW87bz0wO2lmKChmfDApIT0wJihw
fDApIT0wKXtoPVNOKGNbZj4+Ml18MCx3fDAseHwwKXwwO2lmKCFoKVVhKGZ8MCxwfDApO3o9cH1l
bHNlIGg9LTE7aWYoKGh8MCk9PTEpe2s9dDttPTA7aj0wO2k9cjtkPXY7aD12O2U9ejtnPTA7dT03
NDticmVhayBhfWk9bjt3aGlsZSgxKXtpZighZSlicmVhaztpZighKDA9PTI/KGNbKGNbZSsxNj4+
Ml18MCkrOD4+Ml18MCkhPTA6MCkpdT0zMjtjOmRvIGlmKCh1fDApPT0zMil7dT0wO2RvIGlmKGFb
MTc0MDc2XXwwKXtrPWNbZT4+Ml0mMztqPShjW2NbKChrfDApPT0zP2U6ZSs0OHwwKSs0MD4+Ml0+
PjJdfDApPj4+NDtrPShjW2NbKChrfDApPT0yP2U6ZSstNDh8MCkrNDA+PjJdPj4yXXwwKT4+PjQ7
aWYoaj4+PjA+az4+PjApe289MDtmPWFhKDE1LHR8MCxrfDAsanwwKXwwO2g9bztvPTA7aWYoKGh8
MCkhPTAmKHB8MCkhPTApe2Q9U04oY1toPj4yXXwwLHd8MCx4fDApfDA7aWYoIWQpVWEoaHwwLHB8
MCk7ej1wfWVsc2UgZD0tMTtpZigoZHwwKT09MSl7az10O209MDtqPTA7aT1yO2Q9djtoPXY7ZT16
O2c9MDt1PTc0O2JyZWFrIGF9aWYoZnwwKWJyZWFrIGM7bz0wO2hhKDU5LHR8MCxrfDAsanwwKTtm
PW87bz0wO2lmKChmfDApIT0wJihwfDApIT0wKXtoPVNOKGNbZj4+Ml18MCx3fDAseHwwKXwwO2lm
KCFoKVVhKGZ8MCxwfDApO3o9cH1lbHNlIGg9LTE7aWYoKGh8MCk9PTEpe2s9dDttPTA7aj0wO2k9
cjtkPXY7aD12O2U9ejtnPTA7dT03NDticmVhayBhfWJyZWFrfWVsc2V7bz0wO2Y9YWEoMTUsdHww
LGp8MCxrfDApfDA7aD1vO289MDtpZigoaHwwKSE9MCYocHwwKSE9MCl7ZD1TTihjW2g+PjJdfDAs
d3wwLHh8MCl8MDtpZighZClVYShofDAscHwwKTt6PXB9ZWxzZSBkPS0xO2lmKChkfDApPT0xKXtr
PXQ7bT0wO2o9MDtpPXI7ZD12O2g9djtlPXo7Zz0wO3U9NzQ7YnJlYWsgYX1pZihmfDApYnJlYWsg
YztvPTA7aGEoNTksdHwwLGp8MCxrfDApO2Y9bztvPTA7aWYoKGZ8MCkhPTAmKHB8MCkhPTApe2g9
U04oY1tmPj4yXXwwLHd8MCx4fDApfDA7aWYoIWgpVWEoZnwwLHB8MCk7ej1wfWVsc2UgaD0tMTtp
ZigoaHwwKT09MSl7az10O209MDtqPTA7aT1yO2Q9djtoPXY7ZT16O2c9MDt1PTc0O2JyZWFrIGF9
YnJlYWt9fXdoaWxlKDApO2NbdisoaTw8MykrND4+Ml09ZTtvPTA7aD1fKDI1LGV8MCl8MDtkPW87
bz0wO2lmKChkfDApIT0wJihwfDApIT0wKXtmPVNOKGNbZD4+Ml18MCx3fDAseHwwKXwwO2lmKCFm
KVVhKGR8MCxwfDApO3o9cH1lbHNlIGY9LTE7aWYoKGZ8MCk9PTEpe2s9dDttPTA7aj0wO2k9cjtk
PXY7aD12O2U9ejtnPTA7dT03NDticmVhayBhfWNbdisoaTw8Myk+PjJdPWg7aT1pKzF8MH13aGls
ZSgwKTtvPTA7ZT0kKDM0LGJ8MCxlfDApfDA7Zj1vO289MDtpZigoZnwwKSE9MCYocHwwKSE9MCl7
aD1TTihjW2Y+PjJdfDAsd3wwLHh8MCl8MDtpZighaClVYShmfDAscHwwKTt6PXB9ZWxzZSBoPS0x
O2lmKChofDApPT0xKXtrPXQ7bT0wO2o9MDtpPXI7ZD12O2g9djtlPXo7Zz0wO3U9NzQ7YnJlYWsg
YX19bz0wO2c9JCgzNSxifDAsZ3wwKXwwO2U9bztvPTA7aWYoKGV8MCkhPTAmKHB8MCkhPTApe2Y9
U04oY1tlPj4yXXwwLHd8MCx4fDApfDA7aWYoIWYpVWEoZXwwLHB8MCk7ej1wfWVsc2UgZj0tMTtp
ZigoZnwwKT09MSl7az10O209MDtqPTA7aT1yO2Q9djtoPXY7ZT16O2c9MDt1PTc0O2JyZWFrIGF9
bj1pfW89MDtqPV8oMjYsbjw8M3wwKXwwO2U9bztvPTA7aWYoKGV8MCkhPTAmKHB8MCkhPTApe2Y9
U04oY1tlPj4yXXwwLHd8MCx4fDApfDA7aWYoIWYpVWEoZXwwLHB8MCk7ej1wfWVsc2UgZj0tMTtp
ZigoZnwwKSE9MSl7bz0wO2phKDI1LHZ8MCxufDAsOCwzNik7ZT1vO289MDtpZigoZXwwKSE9MCYo
cHwwKSE9MCl7Zj1TTihjW2U+PjJdfDAsd3wwLHh8MCl8MDtpZighZilVYShlfDAscHwwKTt6PXB9
ZWxzZSBmPS0xO2lmKChmfDApIT0xKXtnPWNbbT4+Ml18MDtvPTA7ZmEoODcsZysyfDApO2U9bztv
PTA7aWYoKGV8MCkhPTAmKHB8MCkhPTApe2Y9U04oY1tlPj4yXXwwLHd8MCx4fDApfDA7aWYoIWYp
VWEoZXwwLHB8MCk7ej1wfWVsc2UgZj0tMTtpZigoZnwwKSE9MSl7aT1jW20rMTY+PjJdfDA7ZD1p
KyhnKjQwfDApfDA7aT1pKygoZysxfDApKjQwfDApfDA7cT1jWzEzOTE4XXwwO2g9MDt3aGlsZSgx
KXtpZigoaHwwKT49KG58MCkpYnJlYWs7aWYoKGh8MCk+MD9jWzQyMzY2XSYxNnwwOjApe289MDtn
YSgyNSxxfDAsbXwwKTtlPW87bz0wO2lmKChlfDApIT0wJihwfDApIT0wKXtmPVNOKGNbZT4+Ml18
MCx3fDAseHwwKXwwO2lmKCFmKVVhKGV8MCxwfDApO3o9cH1lbHNlIGY9LTE7aWYoKGZ8MCk9PTEp
e2s9dDttPWo7aT1yO2Q9djtoPXY7ZT16O2c9cTt1PTc0O2JyZWFrIGF9fWU9Y1t2KyhoPDwzKSs0
Pj4yXXwwO2s9Y1tlPj4yXSYzO2c9Y1soY1soY1soKGt8MCk9PTM/ZTplKzQ4fDApKzQwPj4yXXww
KSsxNj4+Ml18MCkrMTEyPj4yXXwwO2U9Y1soY1soY1soKGt8MCk9PTI/ZTplKy00OHwwKSs0MD4+
Ml18MCkrMTY+PjJdfDApKzExMj4+Ml18MDtpZigoZ3wwKT09KGV8MCkpe289MDtqYSgyNixtfDAs
Z3wwLGl8MCxkfDApO2U9bztvPTA7aWYoKGV8MCkhPTAmKHB8MCkhPTApe2Y9U04oY1tlPj4yXXww
LHd8MCx4fDApfDA7aWYoIWYpVWEoZXwwLHB8MCk7ej1wfWVsc2UgZj0tMTtpZigoZnwwKT09MSl7
az10O209ajtpPXI7ZD12O2g9djtlPXo7Zz1xO3U9NzQ7YnJlYWsgYX19ZWxzZXtvPTA7aGEoNjAs
bXwwLGV8MCxpfDApO2U9bztvPTA7aWYoKGV8MCkhPTAmKHB8MCkhPTApe2Y9U04oY1tlPj4yXXww
LHd8MCx4fDApfDA7aWYoIWYpVWEoZXwwLHB8MCk7ej1wfWVsc2UgZj0tMTtpZigoZnwwKT09MSl7
az10O209ajtpPXI7ZD12O2g9djtlPXo7Zz1xO3U9NzQ7YnJlYWsgYX1vPTA7aGEoNjAsbXwwLGd8
MCxkfDApO2U9bztvPTA7aWYoKGV8MCkhPTAmKHB8MCkhPTApe2Y9U04oY1tlPj4yXXwwLHd8MCx4
fDApfDA7aWYoIWYpVWEoZXwwLHB8MCk7ej1wfWVsc2UgZj0tMTtpZigoZnwwKT09MSl7az10O209
ajtpPXI7ZD12O2g9djtlPXo7Zz1xO3U9NzQ7YnJlYWsgYX19bz0wO2U9YWEoMTYsbXwwLGl8MCxk
fDApfDA7Zj1vO289MDtpZigoZnwwKSE9MCYocHwwKSE9MCl7Zz1TTihjW2Y+PjJdfDAsd3wwLHh8
MCl8MDtpZighZylVYShmfDAscHwwKTt6PXB9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtrPXQ7bT1q
O2k9cjtkPXY7aD12O2U9ejtnPXE7dT03NDticmVhayBhfWlmKGV8MCl7az10O209ajtpPXI7ZD12
O2g9djticmVhayBhfWU9aisoaDw8Myl8MDtvPTA7amEoMjcsc3wwLG18MCxkfDAsaXwwKTtmPW87
bz0wO2lmKChmfDApIT0wJihwfDApIT0wKXtnPVNOKGNbZj4+Ml18MCx3fDAseHwwKXwwO2lmKCFn
KVVhKGZ8MCxwfDApO3o9cH1lbHNlIGc9LTE7aWYoKGd8MCk9PTEpe2s9dDttPWo7aT1yO2Q9djto
PXY7ZT16O2c9cTt1PTc0O2JyZWFrIGF9Zz1zO2s9Y1tnKzQ+PjJdfDA7Y1tlPj4yXT1jW2c+PjJd
O2NbZSs0Pj4yXT1rO289MDtmYSg4OCxtfDApO2U9bztvPTA7aWYoKGV8MCkhPTAmKHB8MCkhPTAp
e2Y9U04oY1tlPj4yXXwwLHd8MCx4fDApfDA7aWYoIWYpVWEoZXwwLHB8MCk7ej1wfWVsc2UgZj0t
MTtpZigoZnwwKT09MSl7az10O209ajtpPXI7ZD12O2g9djtlPXo7Zz1xO3U9NzQ7YnJlYWsgYX1o
PWgrMXwwfW89MDtlYSg4KTtlPW87bz0wO2lmKChlfDApIT0wJihwfDApIT0wKXtmPVNOKGNbZT4+
Ml18MCx3fDAseHwwKXwwO2lmKCFmKVVhKGV8MCxwfDApO3o9cH1lbHNlIGY9LTE7aWYoKGZ8MCkh
PTEpe289MDtlPV8oMjcscnwwKXwwO2Y9bztvPTA7aWYoKGZ8MCkhPTAmKHB8MCkhPTApe2c9U04o
Y1tmPj4yXXwwLHd8MCx4fDApfDA7aWYoIWcpVWEoZnwwLHB8MCk7ej1wfWVsc2UgZz0tMTtpZigo
Z3wwKSE9MSl7Y1tyKzIwPj4yXT1lO289MDtlPV8oMjgscnwwKXwwO2Y9bztvPTA7aWYoKGZ8MCkh
PTAmKHB8MCkhPTApe2c9U04oY1tmPj4yXXwwLHd8MCx4fDApfDA7aWYoIWcpVWEoZnwwLHB8MCk7
ej1wfWVsc2UgZz0tMTtpZigoZ3wwKSE9MSl7Y1tyKzI0Pj4yXT1lO289MDtoYSg2MSxufDAsanww
LHJ8MCk7ZT1vO289MDtpZigoZXwwKSE9MCYocHwwKSE9MCl7Zj1TTihjW2U+PjJdfDAsd3wwLHh8
MCl8MDtpZighZilVYShlfDAscHwwKTt6PXB9ZWxzZSBmPS0xO2lmKChmfDApIT0xKXt3PVJOKDE2
OTQ2OCwxLHd8MCx4fDApfDA7eD16O289MDtlPW87bz0wO2lmKChlfDApIT0wJihwfDApIT0wKXtm
PVNOKGNbZT4+Ml18MCx3fDAseHwwKXwwO2lmKCFmKVVhKGV8MCxwfDApO3o9cH1lbHNlIGY9LTE7
aWYoKGZ8MCkhPTEpe2s9dDttPWo7aT1yO2Q9djtoPXY7ZT0wO2c9cTt1PTc0fWVsc2V7az10O209
ajtpPXI7ZD12O2g9djtlPXo7Zz1xO3U9NzR9fWVsc2V7az10O209ajtpPXI7ZD12O2g9djtlPXo7
Zz1xO3U9NzR9fWVsc2V7az10O209ajtpPXI7ZD12O2g9djtlPXo7Zz1xO3U9NzR9fWVsc2V7az10
O209ajtpPXI7ZD12O2g9djtlPXo7Zz1xO3U9NzR9fWVsc2V7az10O209ajtpPXI7ZD12O2g9djtl
PXo7Zz1xO3U9NzR9fWVsc2V7az10O209ajtpPXI7ZD12O2g9djtlPXo7Zz0wO3U9NzR9fWVsc2V7
az10O209ajtpPXI7ZD12O2g9djtlPXo7Zz0wO3U9NzR9fWVsc2V7az10O209MDtpPXI7ZD12O2g9
djtlPXo7Zz0wO3U9NzR9fWVsc2V7bj0wO2s9dDttPTA7aj0wO2k9cjtkPXY7aD12O2U9ejtnPTA7
dT03NH19ZWxzZXtuPTA7az10O209MDtqPTA7aT1yO2Q9djtoPXY7ZT16O2c9MDt1PTc0fX1lbHNl
e249MDtrPXQ7bT0wO2o9MDtpPTA7ZD12O2g9djtlPXo7Zz0wO3U9NzR9fWVsc2V7bj0wO2s9MDtt
PTA7aj0wO2k9MDtkPTA7aD12O2U9ejtnPTA7dT03NH19ZWxzZXtuPTA7az0wO209MDtqPTA7aT0w
O2Q9MDtoPTA7ZT16O2c9MDt1PTc0fXdoaWxlKDApO2Q6d2hpbGUoMSl7aWYoKHV8MCk9PTc0KXt1
PTA7aWYoZXwwKXtxPWc7Y29udGludWV9bz0wO2ZhKDg5LGl8MCk7ZT1vO289MDtpZigoZXwwKSE9
MCYocHwwKSE9MCl7Zj1TTihjW2U+PjJdfDAsd3wwLHh8MCl8MDtpZighZilVYShlfDAscHwwKTt6
PXB9ZWxzZSBmPS0xO2lmKChmfDApPT0xKXtBPWc7Zj1oO3E9ZDtyPWk7cz1qO3Q9bTt2PWs7dT1u
O2U9ejtnPUE7aD1mO2Q9cTtpPXI7aj1zO209dDtrPXY7bj11O3U9NzQ7Y29udGludWV9aWYoY1s0
MjM2Nl0mNHwwKXtvPTA7a2EoNyxnfDAsaXwwLG58MCxtfDAsZHwwKTtlPW87bz0wO2lmKChlfDAp
IT0wJihwfDApIT0wKXtmPVNOKGNbZT4+Ml18MCx3fDAseHwwKXwwO2lmKCFmKVVhKGV8MCxwfDAp
O3o9cH1lbHNlIGY9LTE7aWYoKGZ8MCk9PTEpe2Y9ZztxPWg7cj1kO3M9aTt0PWo7dj1tO0E9azt1
PW47ZT16O2c9ZjtoPXE7ZD1yO2k9cztqPXQ7bT12O2s9QTtuPXU7dT03NDtjb250aW51ZX19bz0w
O2xhKDEwLGJ8MCxpfDAsbnwwLG18MCxkfDAsMCk7ZT1vO289MDtpZigoZXwwKSE9MCYocHwwKSE9
MCl7Zj1TTihjW2U+PjJdfDAsd3wwLHh8MCl8MDtpZighZilVYShlfDAscHwwKTt6PXB9ZWxzZSBm
PS0xO2lmKChmfDApPT0xKXtmPWc7cT1oO3I9ZDtzPWk7dD1qO3Y9bTtBPWs7dT1uO2U9ejtnPWY7
aD1xO2Q9cjtpPXM7aj10O209djtrPUE7bj11O3U9NzQ7Y29udGludWV9cT1nfWlmKCEoYVsxNzQw
NzZdfDApKWU9MDtlbHNle289MDtmYSg5MCxrfDApO2U9bztvPTA7aWYoKGV8MCkhPTAmKHB8MCkh
PTApe2Y9U04oY1tlPj4yXXwwLHd8MCx4fDApfDA7aWYoIWYpVWEoZXwwLHB8MCk7ej1wfWVsc2Ug
Zj0tMTtpZigoZnwwKT09MSl7ZT16O2c9cTt1PTc0O2NvbnRpbnVlfWU9MH13aGlsZSgxKXtpZigo
ZXwwKT49KG58MCkpYnJlYWs7bz0wO2ZhKDkxLGNbbSsoZTw8MykrND4+Ml18MCk7Zj1vO289MDtp
ZigoZnwwKSE9MCYocHwwKSE9MCl7Zz1TTihjW2Y+PjJdfDAsd3wwLHh8MCl8MDtpZighZylVYShm
fDAscHwwKTt6PXB9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtlPXo7Zz1xO3U9NzQ7Y29udGludWUg
ZH1lPWUrMXwwfW89MDtmYSg5MSxqfDApO2U9bztvPTA7aWYoKGV8MCkhPTAmKHB8MCkhPTApe2Y9
U04oY1tlPj4yXXwwLHd8MCx4fDApfDA7aWYoIWYpVWEoZXwwLHB8MCk7ej1wfWVsc2UgZj0tMTtp
ZigoZnwwKT09MSl7ZT16O2c9cTt1PTc0O2NvbnRpbnVlfW89MDtmYSg5MixpfDApO2U9bztvPTA7
aWYoKGV8MCkhPTAmKHB8MCkhPTApe2Y9U04oY1tlPj4yXXwwLHd8MCx4fDApfDA7aWYoIWYpVWEo
ZXwwLHB8MCk7ej1wfWVsc2UgZj0tMTtpZigoZnwwKT09MSl7ZT16O2c9cTt1PTc0O2NvbnRpbnVl
fW89MDtmYSg5MSxofDApO2U9bztvPTA7aWYoKGV8MCkhPTAmKHB8MCkhPTApe2Y9U04oY1tlPj4y
XXwwLHd8MCx4fDApfDA7aWYoIWYpVWEoZXwwLHB8MCk7ej1wfWVsc2UgZj0tMTtpZigoZnwwKT09
MSl7ZT16O2c9cTt1PTc0fWVsc2UgYnJlYWt9X0kod3wwKTtsPXk7cmV0dXJufWZ1bmN0aW9uIE1C
KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxpPTAsaj0wLGs9MCxtPTAsbj0w
LG89MCxwPTAscT0wLHI9MC4wO3E9bDtsPWwrNjR8MDtwPXErMzJ8MDtvPXErMTZ8MDtqPXE7az1x
KzQ4fDA7V0woOTU3NTcsYSl8MDtXTCg5NTc2OCxhKXwwO209YisxNnwwO249ais4fDA7aT1rKzR8
MDtnPTA7d2hpbGUoMSl7aWYoKGd8MCk+PShjW2I+PjJdfDApKWJyZWFrO2Q9Y1ttPj4yXXwwO2U9
Y1tkKyhnKjQwfDApKzIwPj4yXXwwO2Y9Y1tkKyhnKjQwfDApKzI0Pj4yXXwwO2lmKChlfDApPT0o
ZnwwKSl7RkMoaixlKTtkPX5+K2hbaj4+M107ZT1+fitoW24+PjNdfWVsc2V7SEMoaywoY1tlPj4y
XSYxfDApPT0wP2U6ZixkKyhnKjQwfDApfDApO2Q9Y1trPj4yXXwwO2U9Y1tpPj4yXXwwfWNbbz4+
Ml09ZztjW28rND4+Ml09ZDtjW28rOD4+Ml09ZTt6TChhLDk1Nzg4LG8pfDA7Zz1nKzF8MH1mPWIr
NHwwO2U9YisyMHwwO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGNbZj4+Ml18MCkpYnJlYWs7bz1j
W2U+PjJdfDA7Yj1jW28rKGQqMjR8MCkrMTY+PjJdfDA7cj0raFtvKyhkKjI0fDApPj4zXTtjW3A+
PjJdPWNbbysoZCoyNHwwKSsxMj4+Ml07Y1twKzQ+PjJdPWI7aFtwKzg+PjNdPXI7ekwoYSw5NTgw
OCxwKXwwO2Q9ZCsxfDB9V0woOTU4MzAsYSl8MDtsPXE7cmV0dXJufWZ1bmN0aW9uIE5CKGEpe2E9
YXwwO3ZhciBiPTAuMCxkPTAuMCxlPTAsZj0wO2Y9Y1thPj4yXSYzO2U9Y1soY1soKGZ8MCk9PTM/
YTphKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MDthPWNbKGNbKChmfDApPT0yP2E6YSstNDh8MCkr
NDA+PjJdfDApKzE2Pj4yXXwwO2I9K2hbZSsxNj4+M10tK2hbYSsxNj4+M107ZD0raFtlKzI0Pj4z
XS0raFthKzI0Pj4zXTtyZXR1cm4gfn4oZCpkK2IqYil8MH1mdW5jdGlvbiBPQihhLGIpe2E9YXww
O2I9YnwwO3JldHVybiAoY1thPj4yXXwwKS0oY1tiPj4yXXwwKXwwfWZ1bmN0aW9uIFBCKGIsZCxl
LGYpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxu
PTA7bj1sO2w9bCszMnwwO2o9bjtGQyhuKzE2fDAsZCk7az1kKzMyfDA7bT1kKzM2fDA7Zz0wO3do
aWxlKDEpe2lmKChnfDApPj0oY1trPj4yXXwwKSlicmVhaztoPWNbKGNbbT4+Ml18MCkrKGc8PDIp
Pj4yXXwwO2RvIGlmKCEoYVtoKzM2Pj4wXXwwKSl7aT1jW2grMjA+PjJdfDA7aWYoKGl8MCk9PShk
fDApKXtEQyhqLGgsY1toKzI0Pj4yXXwwKTtZQyhiLGYsaCwwLjApfDA7YnJlYWt9ZWxzZXtEQyhq
LGgsaSk7WUMoYixlLGgsMC4wKXwwO2JyZWFrfX13aGlsZSgwKTtnPWcrMXwwfWNbYj4+Ml09KGNb
Yj4+Ml18MCkrMjtsPW47cmV0dXJufWZ1bmN0aW9uIFFCKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8
MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2s9bDtsPWwrMzJ8MDtoPWs7RkMoaysx
NnwwLGIpO2k9YiszMnwwO2o9YiszNnwwO2Y9MDt3aGlsZSgxKXtpZigoZnwwKT49KGNbaT4+Ml18
MCkpYnJlYWs7Zz1jWyhjW2o+PjJdfDApKyhmPDwyKT4+Ml18MDtlPWNbZysyMD4+Ml18MDtpZigo
ZXwwKT09KGJ8MCkpZT1jW2crMjQ+PjJdfDA7REMoaCxnLGUpO1lDKGEsZCxnLDAuMCl8MDtmPWYr
MXwwfWNbYT4+Ml09KGNbYT4+Ml18MCkrMTtjW2QrMjQ+PjJdPWI7Y1tkKzIwPj4yXT1iO2w9azty
ZXR1cm59ZnVuY3Rpb24gUkIoYixkLGUsZil7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9
MCxpPTAsaj0wLGs9MC4wLG09MC4wLG49MCxvPTAuMCxwPTAuMCxxPTAscj0wLHM9MCx0PTAsdT0w
LHY9MCx3PTAuMCx4PTAuMCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTA7
SD1sO2w9bCsxMjh8MDtDPUgrNjR8MDtuPUgrNDh8MDtEPUgrMzJ8MDtFPUgrMTZ8MDtGPUg7Zz0w
O2k9ZTt3aGlsZSgxKXtpZighaSlicmVhaztnPWcrMXwwO2k9Y1tpKzg+PjJdfDB9Qj12dygoZyo1
NnwwKSstMTEyfDApfDA7Y1tDKzUyPj4yXT0wO2NbQys0OD4+Ml09MDtBPWUrOHwwO2U9Y1tBPj4y
XXwwO2k9Y1tlKzg+PjJdfDA7Zz1jW2UrMjA+PjJdfDA7aWYoY1tnPj4yXSYxKWc9Y1tlKzI0Pj4y
XXwwO0RDKG4sZSxnKTtqPWU7cT1lO3A9MC4wO289K2hbbj4+M107ej0wO209MC4wO3g9K2hbbis4
Pj4zXTt3aGlsZSgxKXt5PWkrOHwwO2lmKCEoY1t5Pj4yXXwwKSlicmVhazt2PUVDKGosaSl8MDt1
RyhkLHYsY1txKzEyPj4yXXwwKTt0PXErMzZ8MDt1PWkrMzZ8MDtpZigoYVt0Pj4wXXwwKT09KGFb
dT4+MF18MCkpaWYoKGNbeT4+Ml18MCk9PShmfDApKXtEQyhFLGksdik7ZT1FO0c9MTJ9ZWxzZXtq
PXE7ZT16O2s9eH1lbHNle0ZDKEQsdik7ZT1EO0c9MTJ9aWYoKEd8MCk9PTEyKXtHPTA7dz0raFtl
Pj4zXTtrPStoW2UrOD4+M107ZT1hW3Q+PjBdfDA7cz1lPDwyND4+MjQ9PTA7cj0ocXwwKT09KGNb
QT4+Ml18MCk7aWYocyl7aWYoIShhW3U+PjBdfDApKWU9MDtlbHNlIGU9KGNbaSsyMD4+Ml18MCk9
PSh2fDApPzQ6MjtuPXYrNDh8MDtxPWcrNDh8MDtqPWcrNDB8MDtnPXI/MDpwPm8/NDoyfWVsc2V7
aWYoZTw8MjQ+PjI0PT0oYVt1Pj4wXXwwKSllPTA7ZWxzZSBlPShjW2krMjA+PjJdfDApPT0odnww
KT8xOjM7bj12KzQwfDA7cT1nKzQwfDA7aj1nKzQ4fDA7Zz1yPzA6bT54PzE6M31HQyhDLHMmMSwr
aFtqPj4zXSwraFtxPj4zXSwraFtuPj4zXSxnLGUpO3E9eisxfDA7Zz1CKyh6KjU2fDApfDA7ZT1D
O2o9Zys1NnwwO2Rve2NbZz4+Ml09Y1tlPj4yXTtnPWcrNHwwO2U9ZSs0fDB9d2hpbGUoKGd8MCk8
KGp8MCkpO2lmKChhW3Q+PjBdfDApIT0oYVt1Pj4wXXwwKT8oY1t5Pj4yXXwwKT09KGZ8MCk6MCl7
REMoRixpLHYpO249KGFbdT4+MF18MCk9PTA7ZT12KzQwfDA7Zz12KzQ4fDA7cD0raFsobj9nOmUp
Pj4zXTtHQyhDLG4mMSwraFsobj9lOmcpPj4zXSxwLHAsbj8obz53PzQ6Mik6eD5rPzE6MywwKTtu
PXorMnwwO2c9QisocSo1NnwwKXwwO2U9QztqPWcrNTZ8MDtkb3tjW2c+PjJdPWNbZT4+Ml07Zz1n
KzR8MDtlPWUrNHwwfXdoaWxlKChnfDApPChqfDApKTtnPXY7aj1pO3A9bztvPXc7ZT1uO209eH1l
bHNle2c9djtqPWk7cD1vO289dztlPXE7bT14fX12PWk7aT1jW3k+PjJdfDA7cT1qO3o9ZTt4PWs7
aj12fWk9YUooQix6KjU2fDApfDA7ZT16Ky0xfDA7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oenww
KSlicmVhaztpZigoZ3wwKT4wKWNbaSsoZyo1NnwwKSs0OD4+Ml09aSsoKGcrLTF8MCkqNTZ8MCk7
aWYoKGd8MCk8KGV8MCkpe0c9ZysxfDA7Y1tpKyhnKjU2fDApKzUyPj4yXT1pKyhHKjU2fDApO2c9
Rztjb250aW51ZX1lbHNle2c9ZysxfDA7Y29udGludWV9fWNbYj4+Ml09ejtjW2IrND4+Ml09aTts
PUg7cmV0dXJufWZ1bmN0aW9uIFNCKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTAsZz0wLGk9
MCxqPTAsaz0wO2o9UWwoMjQ2NzYsY1s0MzQ1XXwwKXwwO2s9YSs4fDA7aT0wO3doaWxlKDEpe2lm
KChpfDApPj0oY1thPj4yXXwwKSlicmVhaztiPShjW2s+PjJdfDApKyhpKjcyfDApfDA7aWYoIShj
W2I+PjJdJjQpKXt3aGlsZSgxKXtkPWNbKGNbYiszNj4+Ml18MCkrOD4+Ml18MDtpZighZClicmVh
aztkPWNbZCsyMD4+Ml18MDtpZighZClicmVhaztpZighKGNbZD4+Ml0mMSkpYj1kO2Vsc2UgYnJl
YWt9Zz12dyg0MCl8MDtjW2crMzY+PjJdPWI7aFtnKzg+PjNdPStoW2IrNDA+PjNdO2Y9YjtkPWNb
Yj4+Ml18MDt3aGlsZSgxKXtjW2Y+PjJdPWR8NDtkPWNbY1tmKzM2Pj4yXT4+Ml18MDtpZighZCli
cmVhaztlPWNbZCsyND4+Ml18MDtpZighZSlicmVhaztkPWNbZT4+Ml18MDtpZihkJjF8MClicmVh
aztlbHNlIGY9ZX1oW2crMTY+PjNdPStoW2YrNTY+PjNdO3lDKGosZywraFtiKzQ4Pj4zXSl9aT1p
KzF8MH1yZXR1cm4ganwwfWZ1bmN0aW9uIFRCKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTAs
Zz0wLGk9MCxqPTAsaz0wO2o9UWwoMjQ2NzYsY1s0MzQ1XXwwKXwwO2s9YSs4fDA7aT0wO3doaWxl
KDEpe2lmKChpfDApPj0oY1thPj4yXXwwKSlicmVhaztiPShjW2s+PjJdfDApKyhpKjcyfDApfDA7
aWYoIShjW2I+PjJdJjIpKXt3aGlsZSgxKXtkPWNbKGNbYiszNj4+Ml18MCkrMTI+PjJdfDA7aWYo
IWQpYnJlYWs7ZD1jW2QrMjA+PjJdfDA7aWYoIWQpYnJlYWs7aWYoIShjW2Q+PjJdJjEpKWI9ZDtl
bHNlIGJyZWFrfWc9dncoNDApfDA7Y1tnKzM2Pj4yXT1iO2hbZys4Pj4zXT0raFtiKzQ4Pj4zXTtm
PWI7ZD1jW2I+PjJdfDA7d2hpbGUoMSl7Y1tmPj4yXT1kfDI7ZD1jWyhjW2YrMzY+PjJdfDApKzQ+
PjJdfDA7aWYoIWQpYnJlYWs7ZT1jW2QrMjQ+PjJdfDA7aWYoIWUpYnJlYWs7ZD1jW2U+PjJdfDA7
aWYoZCYxfDApYnJlYWs7ZWxzZSBmPWV9aFtnKzE2Pj4zXT0raFtmKzY0Pj4zXTt5QyhqLGcsK2hb
Yis0MD4+M10pfWk9aSsxfDB9cmV0dXJuIGp8MH1mdW5jdGlvbiBVQihiLGQsZSl7Yj1ifDA7ZD1k
fDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2o9ZSsyMHwwO2k9ZSsyNHwwO2U9
MDt3aGlsZSgxKXtpZigoZXwwKT49KGJ8MCkpYnJlYWs7Zz1jW2QrKGU8PDMpPj4yXXwwO2g9Y1tk
KyhlPDwzKSs0Pj4yXXwwO2Y9MDt3aGlsZSgxKXtpZigoZnwwKT49KGd8MCkpYnJlYWs7az1oKyhm
KjU2fDApfDA7eEMoYkMoY1soKGFbaz4+MF18MCk9PTA/ajppKT4+Ml18MCxrKXwwLGspO2Y9Zisx
fDB9ZT1lKzF8MH1yZXR1cm59ZnVuY3Rpb24gVkIoYSl7YT1hfDA7dmFyIGI9MCxkPTA7ZD1hKzIw
fDA7ZEMoY1tkPj4yXXwwKTtiPWErMjR8MDtkQyhjW2I+PjJdfDApO2VDKGNbZD4+Ml18MCk7ZUMo
Y1tiPj4yXXwwKTtmQyhjW2Q+PjJdfDAsYSk7ZkMoY1tiPj4yXXwwLGEpO2dDKGNbZD4+Ml18MCk7
Z0MoY1tiPj4yXXwwKTtyZXR1cm59ZnVuY3Rpb24gV0IoYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtk
PWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAs
cj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLjAsQj0wLjAsQz0wLjAsRD0w
LEU9MC4wO3o9bDtsPWwrMjI0fDA7bj16KzE3NnwwO209eisyMDh8MDt4PXorMTYwfDA7eT16KzEy
OHwwO2s9eis5NnwwO3Q9eis2NHwwO3U9ejtvPXorMzJ8MDt2PXUrOHwwO2hbdj4+M109MTc5NzY5
MzEzNDg2MjMxNTcwODE0NTI3NC4wZTI4NDtoW3U+PjNdPTE3OTc2OTMxMzQ4NjIzMTU3MDgxNDUy
NzQuMGUyODQ7dz11KzI0fDA7aFt3Pj4zXT0tMTc5NzY5MzEzNDg2MjMxNTcwODE0NTI3NC4wZTI4
NDtwPXUrMTZ8MDtoW3A+PjNdPS0xNzk3NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0LjBlMjg0O1dMKDk1
MDA1LGEpfDA7Y1tuPj4yXT0xMDtjW24rND4+Ml09MTA7ekwoYSw5NTQxMSxuKXwwO1dMKDEyMzA3
NixhKXwwO2k9Yis0fDA7aj1iKzEyfDA7cT10Kzh8MDtyPXQrMTZ8MDtzPXQrMjR8MDtnPTA7d2hp
bGUoMSl7aWYoKGd8MCk+PShjW2k+PjJdfDApKWJyZWFrO0Q9KGNbaj4+Ml18MCkrKGcqNzJ8MCkr
NDB8MDtjW3Q+PjJdPWNbRD4+Ml07Y1t0KzQ+PjJdPWNbRCs0Pj4yXTtjW3QrOD4+Ml09Y1tEKzg+
PjJdO2NbdCsxMj4+Ml09Y1tEKzEyPj4yXTtjW3QrMTY+PjJdPWNbRCsxNj4+Ml07Y1t0KzIwPj4y
XT1jW0QrMjA+PjJdO2NbdCsyND4+Ml09Y1tEKzI0Pj4yXTtjW3QrMjg+PjJdPWNbRCsyOD4+Ml07
Qz0raFtxPj4zXTtCPStoW3I+PjNdO0E9K2hbcz4+M107aFtrPj4zXT0raFt0Pj4zXTtoW2srOD4+
M109QztoW2srMTY+PjNdPUI7aFtrKzI0Pj4zXT1BO3pMKGEsMTIzMDk1LGspfDA7Zz1nKzF8MH1n
PTA7d2hpbGUoMSl7aWYoKGd8MCk+PShkfDApKWJyZWFrO0Q9Y1tmKyhnPDwzKSs0Pj4yXXwwO2s9
ZSsoZzw8Myl8MDtjW20+PjJdPWNbaz4+Ml07Y1ttKzQ+PjJdPWNbays0Pj4yXTtjW24+PjJdPWNb
dT4+Ml07Y1tuKzQ+PjJdPWNbdSs0Pj4yXTtjW24rOD4+Ml09Y1t1Kzg+PjJdO2NbbisxMj4+Ml09
Y1t1KzEyPj4yXTtjW24rMTY+PjJdPWNbdSsxNj4+Ml07Y1tuKzIwPj4yXT1jW3UrMjA+PjJdO2Nb
bisyND4+Ml09Y1t1KzI0Pj4yXTtjW24rMjg+PjJdPWNbdSsyOD4+Ml07Y0MobyxhLEQsbSxiLG4p
O2NbdT4+Ml09Y1tvPj4yXTtjW3UrND4+Ml09Y1tvKzQ+PjJdO2NbdSs4Pj4yXT1jW28rOD4+Ml07
Y1t1KzEyPj4yXT1jW28rMTI+PjJdO2NbdSsxNj4+Ml09Y1tvKzE2Pj4yXTtjW3UrMjA+PjJdPWNb
bysyMD4+Ml07Y1t1KzI0Pj4yXT1jW28rMjQ+PjJdO2NbdSsyOD4+Ml09Y1tvKzI4Pj4yXTtnPWcr
MXwwfVdMKDk1NDI4LGEpfDA7aT1iKzh8MDtnPTA7d2hpbGUoMSl7aWYoKGd8MCk+PShjW2I+PjJd
fDApKWJyZWFrO0Q9KGNbaT4+Ml18MCkrKGcqNzJ8MCkrNDB8MDtjW3Q+PjJdPWNbRD4+Ml07Y1t0
KzQ+PjJdPWNbRCs0Pj4yXTtjW3QrOD4+Ml09Y1tEKzg+PjJdO2NbdCsxMj4+Ml09Y1tEKzEyPj4y
XTtjW3QrMTY+PjJdPWNbRCsxNj4+Ml07Y1t0KzIwPj4yXT1jW0QrMjA+PjJdO2NbdCsyND4+Ml09
Y1tEKzI0Pj4yXTtjW3QrMjg+PjJdPWNbRCsyOD4+Ml07RT0raFt0Pj4zXTtBPStoW3E+PjNdO0I9
K2hbcj4+M107Qz0raFtzPj4zXTtoW3k+PjNdPUU7aFt5Kzg+PjNdPUE7aFt5KzE2Pj4zXT1CO2hb
eSsyND4+M109Qzt6TChhLDEyMzEzMix5KXwwO2hbdT4+M109K2hbKCtoW3U+PjNdPEU/dTp0KT4+
M107aFt2Pj4zXT0raFsoK2hbdj4+M108QT91OnQpKzg+PjNdO2hbcD4+M109K2hbKCtoW3A+PjNd
PkI/dTp0KSsxNj4+M107aFt3Pj4zXT0raFsoK2hbdz4+M10+Qz91OnQpKzI0Pj4zXTtnPWcrMXww
fXY9fn4oK2hbdj4+M10rMTAuMCk7eT1+figraFtwPj4zXSsxMC4wKTtEPX5+KCtoW3c+PjNdKzEw
LjApO2NbeD4+Ml09fn4oK2hbdT4+M10rMTAuMCk7Y1t4KzQ+PjJdPXY7Y1t4Kzg+PjJdPXk7Y1t4
KzEyPj4yXT1EO3pMKGEsOTU0NTMseCl8MDtsPXo7cmV0dXJufWZ1bmN0aW9uIFhCKGIsZCxlLGYs
ZyxpKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtpPWl8MDt2YXIgaj0wLjAsaz0wLjAs
bT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxB
PTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89
MCxQPTAsUT0wO049bDtsPWwrMTEyfDA7Rj1OKzg4fDA7RT1OKzcyfDA7TT1OKzMyfDA7ST1OKzE2
fDA7Sj1OO0s9Tis1NnwwO0w9Tis0MHwwO0c9Y1sxMzkxOF18MDt3PShpfDApPT0wO3g9Sis4fDA7
eT1JKzh8MDt2PTA7bT0wO249MDtvPTA7cD0wO2k9MDt3aGlsZSgxKXtpZigodnwwKT49KGV8MCkp
YnJlYWs7ej1jW2crKHY8PDMpKzQ+PjJdfDA7QT16KzQ4fDA7dT0oY1soY1soKGNbej4+Ml0mM3ww
KT09Mz96OkEpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTZ8MDtCPXorMTZ8MDtDPShjW0I+PjJdfDAp
KzE2fDA7Y1tFPj4yXT1jW3U+PjJdO2NbRSs0Pj4yXT1jW3UrND4+Ml07Y1tFKzg+PjJdPWNbdSs4
Pj4yXTtjW0UrMTI+PjJdPWNbdSsxMj4+Ml07Y1tGPj4yXT1jW0M+PjJdO2NbRis0Pj4yXT1jW0Mr
ND4+Ml07Y1tGKzg+PjJdPWNbQys4Pj4yXTtjW0YrMTI+PjJdPWNbQysxMj4+Ml07WUIoSyxFLEYp
O2NbST4+Ml09Y1tLPj4yXTtjW0krND4+Ml09Y1tLKzQ+PjJdO2NbSSs4Pj4yXT1jW0srOD4+Ml07
Y1tJKzEyPj4yXT1jW0srMTI+PjJdO0M9eistNDh8MDt1PShjWyhjWygoY1t6Pj4yXSYzfDApPT0y
P3o6QykrNDA+PjJdfDApKzE2Pj4yXXwwKSsxNnwwO3Q9KGNbQj4+Ml18MCkrNTZ8MDtjW0U+PjJd
PWNbdT4+Ml07Y1tFKzQ+PjJdPWNbdSs0Pj4yXTtjW0UrOD4+Ml09Y1t1Kzg+PjJdO2NbRSsxMj4+
Ml09Y1t1KzEyPj4yXTtjW0Y+PjJdPWNbdD4+Ml07Y1tGKzQ+PjJdPWNbdCs0Pj4yXTtjW0YrOD4+
Ml09Y1t0Kzg+PjJdO2NbRisxMj4+Ml09Y1t0KzEyPj4yXTtZQihMLEUsRik7Y1tKPj4yXT1jW0w+
PjJdO2NbSis0Pj4yXT1jW0wrND4+Ml07Y1tKKzg+PjJdPWNbTCs4Pj4yXTtjW0orMTI+PjJdPWNb
TCsxMj4+Ml07dD1jW2YrKHY8PDMpPj4yXXwwO3U9Y1tmKyh2PDwzKSs0Pj4yXXwwO3M9dCozfDA7
RD1zKzF8MDtpZigoc3wwKT49KG58MCkpe2lmKG18MClfSShpKTtwPXd3KEQ8PDQpfDA7bT1wO249
RDtvPXA7aT1wfWlmKCEoYVt1Pj4wXXwwKSl7az0rKF9CKHUsZCl8MCk7aj0raFtJPj4zXX1lbHNl
e2o9K1pCKHUsZCk7az0raFt5Pj4zXX1yPW0rMTZ8MDtoW20rMTY+PjNdPWo7aFttKzI0Pj4zXT1r
O2NbcD4+Ml09Y1tyPj4yXTtjW3ArND4+Ml09Y1tyKzQ+PjJdO2NbcCs4Pj4yXT1jW3IrOD4+Ml07
Y1twKzEyPj4yXT1jW3IrMTI+PjJdO3I9MTtxPXU7cz0yO3doaWxlKDEpe2lmKChyfDApPj0odHww
KSlicmVhaztxPXUrKHIqNTZ8MCl8MDtpZighKGFbcT4+MF18MCkpaz0rKF9CKHEsZCl8MCk7ZWxz
ZSBqPStaQihxLGQpO089bSsocysyPDw0KXwwO1E9bSsocysxPDw0KXwwO1A9bSsoczw8NCl8MDto
W1A+PjNdPWo7aFttKyhzPDw0KSs4Pj4zXT1rO2NbUT4+Ml09Y1tQPj4yXTtjW1ErND4+Ml09Y1tQ
KzQ+PjJdO2NbUSs4Pj4yXT1jW1ArOD4+Ml07Y1tRKzEyPj4yXT1jW1ArMTI+PjJdO2NbTz4+Ml09
Y1tQPj4yXTtjW08rND4+Ml09Y1tQKzQ+PjJdO2NbTys4Pj4yXT1jW1ArOD4+Ml07Y1tPKzEyPj4y
XT1jW1ArMTI+PjJdO3I9cisxfDA7cz1zKzN8MH1pZighKGFbcT4+MF18MCkpe2s9KyhfQihxLGQp
fDApO2o9K2hbSj4+M119ZWxzZXtqPStaQihxLGQpO2s9K2hbeD4+M119UT1tKyhzPDw0KXwwO089
cysxfDA7UD1tKyhPPDw0KXwwO2hbUD4+M109ajtoW20rKE88PDQpKzg+PjNdPWs7Y1tRPj4yXT1j
W1A+PjJdO2NbUSs0Pj4yXT1jW1ArND4+Ml07Y1tRKzg+PjJdPWNbUCs4Pj4yXTtjW1ErMTI+PjJd
PWNbUCsxMj4+Ml07aWYoMD4xKXtQPURuKGNbKChjW3o+PjJdJjN8MCk9PTM/ejpBKSs0MD4+Ml18
MCl8MDtRPURuKGNbKChjW3o+PjJdJjN8MCk9PTI/ejpDKSs0MD4+Ml18MCl8MDtjW00+PjJdPVA7
Y1tNKzQ+PjJdPVE7ekwoRyw5NDk2NCxNKXwwfUp6KHosY1soKGNbej4+Ml0mM3wwKT09Mj96OkMp
KzQwPj4yXXwwLG0sRCwyNDY2NCk7aWYoKCF3PyhIPWNbKGNbQj4+Ml18MCkrOTY+PjJdfDAsSHww
KTowKT8oYVtIKzgxPj4wXXwwKT09MDowKXtjW0U+PjJdPWNbST4+Ml07Y1tFKzQ+PjJdPWNbSSs0
Pj4yXTtjW0UrOD4+Ml09Y1tJKzg+PjJdO2NbRSsxMj4+Ml09Y1tJKzEyPj4yXTtjW0Y+PjJdPWNb
Sj4+Ml07Y1tGKzQ+PjJdPWNbSis0Pj4yXTtjW0YrOD4+Ml09Y1tKKzg+PjJdO2NbRisxMj4+Ml09
Y1tKKzEyPj4yXTtjQShiLHosRSxGKX12PXYrMXwwfV9JKG8pO2w9TjtyZXR1cm59ZnVuY3Rpb24g
WUIoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTA7aFtiPj4zXT0raFtiPj4zXSsgK2hb
ZD4+M107ZT1iKzh8MDtoW2U+PjNdPStoW2U+PjNdKyAraFtkKzg+PjNdO2NbYT4+Ml09Y1tiPj4y
XTtjW2ErND4+Ml09Y1tiKzQ+PjJdO2NbYSs4Pj4yXT1jW2IrOD4+Ml07Y1thKzEyPj4yXT1jW2Ir
MTI+PjJdO3JldHVybn1mdW5jdGlvbiBaQihhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAuMCxlPTA7
Yj1iQyhjW2IrMjQ+PjJdfDAsYSl8MDtlPWNbYiszNj4+Ml18MDtkPStoW2UrNDA+PjNdO3JldHVy
biArKCgraFtlKzU2Pj4zXS1kKSooKyhjW2ErNDQ+PjJdfDApLysoKGNbYisyND4+Ml18MCkrMXww
KSkrZCl9ZnVuY3Rpb24gX0IoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLjAsZT0wO2U9YkMoY1ti
KzIwPj4yXXwwLGEpfDA7Yj1jW2UrMzY+PjJdfDA7ZD0raFtiKzQ4Pj4zXTtyZXR1cm4gfn4oKDEu
MC0rKGNbYSs0ND4+Ml18MCkvKygoY1tlKzI0Pj4yXXwwKSsxfDApKSooK2hbYis2ND4+M10tZCkr
ZCl8MH1mdW5jdGlvbiAkQihhKXthPWF8MDtyZXR1cm4gMH1mdW5jdGlvbiBhQyhhKXthPWF8MDty
ZXR1cm4gMH1mdW5jdGlvbiBiQyhhLGIpe2E9YXwwO2I9YnwwO2E9YmJbY1thPj4yXSYzMV0oYSxi
Kzh8MCw1MTIpfDA7aWYoIWEpbWEoOTQ5NzcsOTQ5ODMsNDIzLDk0OTkxKTthPWNbYSsxNj4+Ml18
MDthPWJiW2NbYT4+Ml0mMzFdKGEsYisxNnwwLDUxMil8MDtpZighYSltYSg5NTAwMiw5NDk4Myw0
MjUsOTQ5OTEpO2Vsc2UgcmV0dXJuIGF8MDtyZXR1cm4gMH1mdW5jdGlvbiBjQyhiLGQsZSxmLGcs
aSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aT1pfDA7dmFyIGo9MCxrPTAuMCxtPTAs
bj0wLG89MCxwPTAuMCxxPTAuMCxyPTAuMCxzPTAuMCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6
PTAsQT0wLEI9MC4wLEM9MC4wLEQ9MC4wO3o9bDtsPWwrMzJ8MDt5PXorMTZ8MDt1PXorOHwwO209
ejtqPWNbKGNbKGNbKChjW2U+PjJdJjN8MCk9PTM/ZTplKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18
MCkrMTEyPj4yXXwwO3Q9Y1tmKzQ+PjJdfDA7aWYoIShhW3Q+PjBdfDApKXtrPStoW2orNTY+PjNd
O3M9K2hbais0MD4+M107aj1fQih0LGcpfDA7az0ocytrKSouNX1lbHNle2s9K2hbais2ND4+M107
cz0raFtqKzQ4Pj4zXTtqPX5+KChzK2spKi41KTtrPStaQih0LGcpfUE9fn5rO3A9K2hbaT4+M107
cj0rKEF8MCk7cD1wPHI/cDpyO2hbaT4+M109cDt2PWkrOHwwO3E9K2hbdj4+M107cz0rKGp8MCk7
cT1xPHM/cTpzO2hbdj4+M109cTt3PWkrMTZ8MDtrPStoW3c+PjNdO3I9az5yP2s6cjtoW3c+PjNd
PXI7eD1pKzI0fDA7az0raFt4Pj4zXTtzPWs+cz9rOnM7aFt4Pj4zXT1zO2NbbT4+Ml09QTtjW20r
ND4+Ml09ajt6TChkLDk1NTA0LG0pfDA7bz1jW2Y+PjJdfDA7bT10O249MTtmPUE7d2hpbGUoMSl7
aWYoKG58MCk+PShvfDApKWJyZWFrO209dCsobio1NnwwKXwwO2lmKCEoYVttPj4wXXwwKSlqPV9C
KG0sZyl8MDtlbHNlIGY9fn4rWkIobSxnKTtCPSsoZnwwKTtEPXA8Qj9wOkI7aFtpPj4zXT1EO2s9
KyhqfDApO0M9cTxrP3E6aztoW3Y+PjNdPUM7Qj1yPkI/cjpCO2hbdz4+M109QjtrPXM+az9zOms7
aFt4Pj4zXT1rO2NbdT4+Ml09ZjtjW3UrND4+Ml09ajt6TChkLDk1NTI2LHUpfDA7bj1uKzF8MDtw
PUQ7cT1DO3I9QjtzPWt9aj1jWyhjWyhjWygoY1tlPj4yXSYzfDApPT0yP2U6ZSstNDh8MCkrNDA+
PjJdfDApKzE2Pj4yXXwwKSsxMTI+PjJdfDA7aWYoIShhW20+PjBdfDApKXtrPStoW2orNTY+PjNd
O0Q9K2hbais0MD4+M107aj1fQihtLGcpfDA7az0oRCtrKSouNX1lbHNle2s9K2hbais2ND4+M107
RD0raFtqKzQ4Pj4zXTtqPX5+KChEK2spKi41KTtrPStaQihtLGcpfUE9fn5rO0M9KyhBfDApO2hb
aT4+M109cDxDP3A6QztEPSsoanwwKTtoW3Y+PjNdPXE8RD9xOkQ7aFt3Pj4zXT1yPkM/cjpDO2hb
eD4+M109cz5EP3M6RDtjW3k+PjJdPUE7Y1t5KzQ+PjJdPWo7ekwoZCw5NTU0MCx5KXwwO2NbYj4+
Ml09Y1tpPj4yXTtjW2IrND4+Ml09Y1tpKzQ+PjJdO2NbYis4Pj4yXT1jW2krOD4+Ml07Y1tiKzEy
Pj4yXT1jW2krMTI+PjJdO2NbYisxNj4+Ml09Y1tpKzE2Pj4yXTtjW2IrMjA+PjJdPWNbaSsyMD4+
Ml07Y1tiKzI0Pj4yXT1jW2krMjQ+PjJdO2NbYisyOD4+Ml09Y1tpKzI4Pj4yXTtsPXo7cmV0dXJu
fWZ1bmN0aW9uIGRDKGEpe2E9YXwwO3ZhciBiPTA7YT1PbChhKXwwO3doaWxlKDEpe2lmKCFhKWJy
ZWFrO2I9T2woY1thKzE2Pj4yXXwwKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFrO2NbYiszMj4+Ml09
SUMoY1tiKzI0Pj4yXXwwKXwwO2I9Y1tiPj4yXXwwfWE9Y1thPj4yXXwwfXJldHVybn1mdW5jdGlv
biBlQyhhKXthPWF8MDt2YXIgYj0wO2E9T2woYSl8MDt3aGlsZSgxKXtpZighYSlicmVhaztiPU9s
KGNbYSsxNj4+Ml18MCl8MDt3aGlsZSgxKXtpZighYilicmVhaztpZihjW2IrMjQ+PjJdfDApd0Mo
Yik7Yj1jW2I+PjJdfDB9YT1jW2E+PjJdfDB9cmV0dXJufWZ1bmN0aW9uIGZDKGEsYil7YT1hfDA7
Yj1ifDA7dmFyIGQ9MDtkPU9sKGEpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7YT1PbChjW2QrMTY+
PjJdfDApfDA7d2hpbGUoMSl7aWYoIWEpYnJlYWs7a0MoYSxiKTthPWNbYT4+Ml18MH1kPWNbZD4+
Ml18MH1yZXR1cm59ZnVuY3Rpb24gZ0MoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MCxnPTAs
aT0wO2U9T2woYSl8MDt3aGlsZSgxKXtpZighZSlicmVhaztpPWUrOHwwO2Y9T2woY1tlKzE2Pj4y
XXwwKXwwO3doaWxlKDEpe2lmKCFmKWJyZWFrO2E9ZisyNHwwO2E6ZG8gaWYoY1thPj4yXXwwKXtp
ZihjWzQyMzY2XSY4fDApaEMoZix+fitoW2k+PjNdKTtnPWYrMzJ8MDtOQyhjW2c+PjJdfDApO2I9
Y1thPj4yXXwwO2Q9ZisyOHwwO2E9MDt3aGlsZSgxKXtpZigoYXwwKT49KGJ8MCkpYnJlYWsgYTtj
WyhjWyhjW2Q+PjJdfDApKyhhPDwyKT4+Ml18MCkrNDQ+PjJdPShjWyhjWyhjW2c+PjJdfDApKzQ+
PjJdfDApKyhhKjEyfDApKzQ+PjJdfDApKzE7YT1hKzF8MH19d2hpbGUoMCk7Zj1jW2Y+PjJdfDB9
ZT1jW2U+PjJdfDB9cmV0dXJufWZ1bmN0aW9uIGhDKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxl
PTAsZj0wLGc9MCxpPTAsaj0wLGs9MC4wLG09MC4wO2o9bDtsPWwrMzJ8MDtkPWo7Zz1hKzI0fDA7
YTpkbyBpZigoY1tnPj4yXXwwKT49Mil7aT1jWzEzOTE4XXwwO209K2hbYSs4Pj4zXTtrPStoW2Er
MTY+PjNdO2NbZD4+Ml09YjtoW2QrOD4+M109bTtoW2QrMTY+PjNdPWs7ekwoaSw5NTU2MSxkKXww
O2Y9YSszMnwwO2E9YSsyOHwwO2I9MDt3aGlsZSgxKXtpZigoYnwwKT49KGNbZz4+Ml18MCkpYnJl
YWsgYTtlPWNbKGNbKGNbZj4+Ml18MCkrND4+Ml18MCkrKGIqMTJ8MCkrOD4+Ml18MDtiOmRvIGlm
KFNsKGUpfDApe2lDKGksY1soY1thPj4yXXwwKSsoYjw8Mik+PjJdfDApO1dMKDk1NTgxLGkpfDA7
ZD1iYltjW2U+PjJdJjMxXShlLDAsMTI4KXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrIGI7V0woOTU1
ODYsaSl8MDtpQyhpLGNbKGNbYT4+Ml18MCkrKGNbZD4+Ml08PDIpPj4yXXwwKTtXTCgxMzQ5MDEs
aSl8MDtkPWJiW2NbZT4+Ml0mMzFdKGUsZCw4KXwwfX13aGlsZSgwKTtiPWIrMXwwfX13aGlsZSgw
KTtsPWo7cmV0dXJufWZ1bmN0aW9uIGlDKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0w
LGk9MCxqPTAuMCxrPTAuMCxtPTAuMDtnPWw7bD1sKzgwfDA7Zj1nKzQwfDA7ZT1nO2lmKCEoYVtk
Pj4wXXwwKSl7bT0raFtkKzE2Pj4zXTtqPStoW2QrOD4+M107az0raFtkKzI0Pj4zXTtpPWpDKGNb
ZCszMj4+Ml18MCl8MDtlPWpDKGNbZCszNj4+Ml18MCl8MDtoW2Y+PjNdPW07aFtmKzg+PjNdPWo7
aFtmKzE2Pj4zXT1rO2hbZisyND4+M109ajtjW2YrMzI+PjJdPWk7Y1tmKzM2Pj4yXT1lO3pMKGIs
OTU1OTIsZil8MH1lbHNle2s9K2hbZCs4Pj4zXTtqPStoW2QrMTY+PjNdO209K2hbZCsyND4+M107
Zj1qQyhjW2QrMzI+PjJdfDApfDA7aT1qQyhjW2QrMzY+PjJdfDApfDA7aFtlPj4zXT1rO2hbZSs4
Pj4zXT1qO2hbZSsxNj4+M109aztoW2UrMjQ+PjNdPW07Y1tlKzMyPj4yXT1mO2NbZSszNj4+Ml09
aTt6TChiLDk1NTkyLGUpfDB9bD1nO3JldHVybn1mdW5jdGlvbiBqQyhhKXthPWF8MDtzd2l0Y2go
YXwwKXtjYXNlIDA6e2E9OTU2NDM7YnJlYWt9Y2FzZSAxOnthPTk1NjM4O2JyZWFrfWNhc2UgMjp7
YT05NTYzMTticmVha31jYXNlIDM6e2E9OTU2MjQ7YnJlYWt9Y2FzZSA0OnthPTk1NjE2O2JyZWFr
fWRlZmF1bHQ6YT0wfXJldHVybiBhfDB9ZnVuY3Rpb24ga0MoYSxiKXthPWF8MDtiPWJ8MDt2YXIg
ZD0wLGU9MCxmPTAsZz0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0
PTAsdT0wLHY9MCx3PTA7dz1sO2w9bCsxNnwwO3I9dys4fDA7dD13O3U9Y1thKzMyPj4yXXwwO3Y9
Y1thKzI4Pj4yXXwwO3A9YSsyNHwwO209cis0fDA7bj10KzR8MDtqPTA7YT1jW3A+PjJdfDA7YTp3
aGlsZSgxKXtxPWorMXwwO2lmKChxfDApPj0oYXwwKSlicmVhaztvPXYrKGo8PDIpfDA7az1xO3do
aWxlKDEpe2lmKChrfDApPj0oYXwwKSl7aj1xO2NvbnRpbnVlIGF9YjpkbyBpZigoKE1DKHUsaixr
KXwwKT09MD8oTUModSxrLGopfDApPT0wOjApPyhzPXYrKGs8PDIpfDAsbEMoY1tvPj4yXXwwLGNb
cz4+Ml18MCl8MCk6MCl7Zj1jW28+PjJdfDA7YT1jW2YrNDg+PjJdfDA7aT1jW3M+PjJdfDA7ZD1j
W2krNDg+PjJdfDA7ZT0oZHwwKT09MDtpZihhKWlmKGUpYT0xO2Vsc2UgYT0raFthKzg+PjNdIT0r
aFtkKzg+PjNdO2Vsc2UgYT1lXjE7Zz1hJjE7bUMocixmLGksMCxnKTthPWNbcj4+Ml18MDtpPWNb
bT4+Ml18MDtmPWdeMTttQyh0LGNbbz4+Ml18MCxjW3M+PjJdfDAsMSxmKTtkPWNbdD4+Ml18MDtl
PWNbbj4+Ml18MDtzd2l0Y2goaXwwKXtjYXNlIC0xOntuQyhjW3M+PjJdfDAsY1tvPj4yXXwwLGcs
MCxhLGIpO25DKGNbcz4+Ml18MCxjW28+PjJdfDAsZiwxLGQsYik7aWYoKGV8MCkhPTEpYnJlYWsg
YjtvQyhjW28+PjJdfDAsY1tzPj4yXXwwLGYsYik7YnJlYWsgYn1jYXNlIDA6c3dpdGNoKGV8MCl7
Y2FzZSAtMTp7bkMoY1tzPj4yXXwwLGNbbz4+Ml18MCxnLDAsYSxiKTtuQyhjW3M+PjJdfDAsY1tv
Pj4yXXwwLGYsMSxkLGIpO2JyZWFrIGJ9Y2FzZSAwOntuQyhjW28+PjJdfDAsY1tzPj4yXXwwLDAs
ZyxhLGIpO25DKGNbbz4+Ml18MCxjW3M+PjJdfDAsMSxmLGQsYik7YnJlYWsgYn1jYXNlIDE6e25D
KGNbbz4+Ml18MCxjW3M+PjJdfDAsMCxnLGEsYik7bkMoY1tvPj4yXXwwLGNbcz4+Ml18MCwxLGYs
ZCxiKTticmVhayBifWRlZmF1bHQ6YnJlYWsgYn1jYXNlIDE6e25DKGNbbz4+Ml18MCxjW3M+PjJd
fDAsMCxnLGEsYik7bkMoY1tvPj4yXXwwLGNbcz4+Ml18MCwxLGYsZCxiKTtpZigoZXwwKSE9LTEp
YnJlYWsgYjtvQyhjW28+PjJdfDAsY1tzPj4yXXwwLGYsYik7YnJlYWsgYn1kZWZhdWx0OmJyZWFr
IGJ9fXdoaWxlKDApO2s9aysxfDA7YT1jW3A+PjJdfDB9fWw9dztyZXR1cm59ZnVuY3Rpb24gbEMo
YSxiKXthPWF8MDtiPWJ8MDtpZighKCtoW2ErOD4+M109PStoW2IrOD4+M10pKW1hKDk1NzE0LDk0
OTgzLDg0Myw5NTc0NSk7aWYoKCtoW2ErMTY+PjNdPT0raFtiKzE2Pj4zXT8raFthKzI0Pj4zXT09
K2hbYisyND4+M106MCk/KGNbYSszMj4+Ml18MCk9PShjW2IrMzI+PjJdfDApOjApYT0oY1thKzM2
Pj4yXXwwKT09KGNbYiszNj4+Ml18MCkmMTtlbHNlIGE9MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIG1D
KGEsYixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaT0w
O2c9MDt3aGlsZSgxKXtiPXBDKGIsZSl8MDtpZighYil7aD0wO2JyZWFrfWQ9cEMoZCxmKXwwO2lm
KCFkKXtpPTY7YnJlYWt9aWYoIShsQyhiLGQpfDApKXtpPTc7YnJlYWt9Zz1nKzF8MH1pZigoaXww
KT09NiltYSgxMjMyMDUsOTQ5ODMsODcxLDk1NjYzKTtlbHNlIGlmKChpfDApPT03KWg9ckMoYixx
QyhiLGQpfDAsZysxfDAsMS1lfDApfDA7Y1thPj4yXT1nO2NbYSs0Pj4yXT1oO3JldHVybn1mdW5j
dGlvbiBuQyhiLGQsZSxmLGcsaSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aT1pfDA7
dmFyIGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MDtvPWkrMjB8MDtuPWkrMjR8MDtpPWJDKGNb
KChhW2I+PjBdfDApPT0wP286bik+PjJdfDAsYil8MDtLQyhjW2krMzI+PjJdfDAsY1tiKzQwPj4y
XXwwLGNbZCs0MD4+Ml18MCk7az0xO3doaWxlKDEpe2lmKChrfDApPihnfDApKWJyZWFrO2w9cEMo
YixlKXwwO209cEMoZCxmKXwwO2RvIGlmKCEoYVtiPj4wXXwwKSl7aj1iQyhjW24+PjJdfDAsbCl8
MDtpZigraFtsKzg+PjNdPT0raFtiKzE2Pj4zXSl7cD0oY1tiKzMyPj4yXXwwKT09MTtpPShNQyhj
W2krMzI+PjJdfDAsY1tiKzQwPj4yXXwwLGNbZCs0MD4+Ml18MCl8MCkhPTA7Yj1jW2orMzI+PjJd
fDA7aWYocClpZihpKXtLQyhiLGNbbSs0MD4+Ml18MCxjW2wrNDA+PjJdfDApO2k9ajticmVha31l
bHNle0tDKGIsY1tsKzQwPj4yXXwwLGNbbSs0MD4+Ml18MCk7aT1qO2JyZWFrfWVsc2UgaWYoaSl7
S0MoYixjW2wrNDA+PjJdfDAsY1ttKzQwPj4yXXwwKTtpPWo7YnJlYWt9ZWxzZXtLQyhiLGNbbSs0
MD4+Ml18MCxjW2wrNDA+PjJdfDApO2k9ajticmVha319ZWxzZXtwPShjW2IrMzY+PjJdfDApPT0x
O2k9KE1DKGNbaSszMj4+Ml18MCxjW2IrNDA+PjJdfDAsY1tkKzQwPj4yXXwwKXwwKSE9MDtiPWNb
aiszMj4+Ml18MDtpZihwKWlmKGkpe0tDKGIsY1tsKzQwPj4yXXwwLGNbbSs0MD4+Ml18MCk7aT1q
O2JyZWFrfWVsc2V7S0MoYixjW20rNDA+PjJdfDAsY1tsKzQwPj4yXXwwKTtpPWo7YnJlYWt9ZWxz
ZSBpZihpKXtLQyhiLGNbbSs0MD4+Ml18MCxjW2wrNDA+PjJdfDApO2k9ajticmVha31lbHNle0tD
KGIsY1tsKzQwPj4yXXwwLGNbbSs0MD4+Ml18MCk7aT1qO2JyZWFrfX19ZWxzZXtqPWJDKGNbbz4+
Ml18MCxsKXwwO2lmKCtoW2wrOD4+M109PStoW2IrMTY+PjNdKXtwPShjW2IrMzI+PjJdfDApPT0y
O2k9KE1DKGNbaSszMj4+Ml18MCxjW2IrNDA+PjJdfDAsY1tkKzQwPj4yXXwwKXwwKSE9MDtiPWNb
aiszMj4+Ml18MDtpZihwKWlmKGkpe0tDKGIsY1tsKzQwPj4yXXwwLGNbbSs0MD4+Ml18MCk7aT1q
O2JyZWFrfWVsc2V7S0MoYixjW20rNDA+PjJdfDAsY1tsKzQwPj4yXXwwKTtpPWo7YnJlYWt9ZWxz
ZSBpZihpKXtLQyhiLGNbbSs0MD4+Ml18MCxjW2wrNDA+PjJdfDApO2k9ajticmVha31lbHNle0tD
KGIsY1tsKzQwPj4yXXwwLGNbbSs0MD4+Ml18MCk7aT1qO2JyZWFrfX1lbHNle3A9KGNbYiszNj4+
Ml18MCk9PTI7aT0oTUMoY1tpKzMyPj4yXXwwLGNbYis0MD4+Ml18MCxjW2QrNDA+PjJdfDApfDAp
IT0wO2I9Y1tqKzMyPj4yXXwwO2lmKHApaWYoaSl7S0MoYixjW20rNDA+PjJdfDAsY1tsKzQwPj4y
XXwwKTtpPWo7YnJlYWt9ZWxzZXtLQyhiLGNbbCs0MD4+Ml18MCxjW20rNDA+PjJdfDApO2k9ajti
cmVha31lbHNlIGlmKGkpe0tDKGIsY1tsKzQwPj4yXXwwLGNbbSs0MD4+Ml18MCk7aT1qO2JyZWFr
fWVsc2V7S0MoYixjW20rNDA+PjJdfDAsY1tsKzQwPj4yXXwwKTtpPWo7YnJlYWt9fX13aGlsZSgw
KTtiPWw7ZD1tO2s9aysxfDB9cmV0dXJufWZ1bmN0aW9uIG9DKGIsZCxlLGYpe2I9YnwwO2Q9ZHww
O2U9ZXwwO2Y9ZnwwO3ZhciBnPTA7d2hpbGUoMSl7aWYoIShsQyhiLGQpfDApKWJyZWFrO2c9cEMo
YiwxKXwwO2Q9cEMoZCxlKXwwO2I9Z31nPWNbKGJDKGNbKChhW2I+PjBdfDApPT0wP2YrMjB8MDpm
KzI0fDApPj4yXXwwLGIpfDApKzMyPj4yXXwwO0xDKGcsY1tiKzQwPj4yXXwwLGNbZCs0MD4+Ml18
MCk7cmV0dXJufWZ1bmN0aW9uIHBDKGEsYil7YT1hfDA7Yj1ifDA7aWYoIWEpbWEoOTU2NTAsOTQ5
ODMsNzk4LDk1NjU0KTtlbHNlIHJldHVybiBjWygoYnwwKT09MD9hKzQ4fDA6YSs1MnwwKT4+Ml18
MDtyZXR1cm4gMH1mdW5jdGlvbiBxQyhiLGMpe2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGY9MDtm
PWw7bD1sKzE2fDA7ZT1mO2Q9YVtiPj4wXXwwO2lmKGQ8PDI0Pj4yND09KGFbYz4+MF18MCk/ISgr
aFtiKzg+PjNdIT0raFtjKzg+PjNdKTowKXtpZighKGQ8PDI0Pj4yNCkpYj1zQyhiLGMsMywxKXww
O2Vsc2UgYj1zQyhiLGMsNCwyKXwwO2w9ZjtyZXR1cm4gYnwwfV9sKDEsOTU2NzYsZSl8MDtVYSgx
Njk0NjgsMSk7cmV0dXJuIDB9ZnVuY3Rpb24gckMoYixkLGUsZil7Yj1ifDA7ZD1kfDA7ZT1lfDA7
Zj1mfDA7dmFyIGc9MCxpPTAsaj0wO2o9MTt3aGlsZSgxKXtpZigoanwwKT4oZXwwKSlicmVhaztp
PXBDKGIsZil8MDtnPStoW2krOD4+M109PStoW2IrMTY+PjNdO2RvIGlmKCEoYVtiPj4wXXwwKSlp
ZihnKXtnPShjW2IrMzI+PjJdfDApPT0xO2JyZWFrfWVsc2V7Zz0oY1tiKzM2Pj4yXXwwKT09Mzti
cmVha31lbHNlIGlmKGcpe2c9KGNbYiszMj4+Ml18MCk9PTQ7YnJlYWt9ZWxzZXtnPShjW2IrMzY+
PjJdfDApPT0yO2JyZWFrfXdoaWxlKDApO2I9aTtqPWorMXwwO2Q9Zz8wLWR8MDpkfXJldHVybiBk
fDB9ZnVuY3Rpb24gc0MoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxn
PTAuMCxpPTAuMCxqPTAuMCxrPTAuMCxsPTAsbT0wLG49MCxvPTA7aj0raFthKzI0Pj4zXTtrPSto
W2IrMTY+PjNdO2RvIGlmKCEoajxrKT8oZz0raFthKzE2Pj4zXSxpPStoW2IrMjQ+PjNdLCEoZz5p
KSk6MCl7aWYoazxqJmc8ayl7Yj10QyhhLGIsZCxlKXwwO2JyZWFrfWlmKGs8ZyZnPGkpe2I9MC0o
dEMoYixhLGQsZSl8MCl8MDticmVha31pZighKGc9PWspKWlmKGo9PWspe2Q9Y1thKzM2Pj4yXXww
O3JldHVybiAoKGR8MCk9PShjW2IrMzI+PjJdfDApPzA6KGR8MCk9PShlfDApPzE6LTEpfDB9ZWxz
ZXtkPWNbYSszMj4+Ml18MDtiPShkfDApPT0oY1tiKzM2Pj4yXXwwKT8wOihkfDApPT0oZXwwKT8x
Oi0xO2JyZWFrfWlmKCEoaj09aSkpaWYoajxpKXtvPShjW2ErMzY+PjJdfDApPT0oZHwwKTtkPXZD
KGNbYiszMj4+Ml18MCxjW2ErMzI+PjJdfDAsZCxlKXwwO3JldHVybiAobz9kOjAtZHwwKXwwfWVs
c2V7bz0oY1tiKzM2Pj4yXXwwKT09KGV8MCk7Yj12QyhjW2ErMzI+PjJdfDAsY1tiKzMyPj4yXXww
LGQsZSl8MDtiPW8/YjowLWJ8MDticmVha31vPWNbYSszMj4+Ml18MDtuPWNbYiszMj4+Ml18MDtp
Zigob3wwKT09KG58MCkpe2I9Y1tiKzM2Pj4yXXwwO2lmKChjW2ErMzY+PjJdfDApPT0oYnwwKSl7
Yj0wO2JyZWFrfX1lbHNlIGI9Y1tiKzM2Pj4yXXwwO209KG58MCk9PShkfDApO2lmKChufDApPT0o
YnwwKSl7aWYobSl7Yj0xO2JyZWFrfWlmKChufDApPT0oZXwwKSl7Yj0tMTticmVha31pZigob3ww
KSE9KGR8MCk/KGNbYSszNj4+Ml18MCkhPShkfDApOjApe2I9MTticmVha31pZigob3wwKSE9KGV8
MCk/KGNbYSszNj4+Ml18MCkhPShlfDApOjApe2I9LTE7YnJlYWt9Yj0wO2JyZWFrfWY9KGJ8MCk9
PShlfDApO2lmKG0mZil7Yj0oY1thKzM2Pj4yXXwwKT09KGV8MCk7aWYoKG98MCk9PShkfDApKXtp
ZighYil7Yj0tMTticmVha319ZWxzZSBpZihiKXtiPTE7YnJlYWt9Yj0wO2JyZWFrfWw9KGJ8MCk9
PShkfDApO2lmKChufDApPT0oZXwwKSZsKXtiPShvfDApPT0oZXwwKTtpZigoY1thKzM2Pj4yXXww
KT09KGR8MCkpe2lmKCFiKXtiPS0xO2JyZWFrfX1lbHNlIGlmKGIpe2I9MTticmVha31iPTA7YnJl
YWt9aWYoIW4pe2lmKGwpe2I9dUMobyxjW2ErMzY+PjJdfDAsZCl8MDticmVha31pZihmKXtiPTAt
KHVDKG8sY1thKzM2Pj4yXXwwLGUpfDApfDA7YnJlYWt9fWY9Y1thKzM2Pj4yXXwwO2lmKG0mKGJ8
MCk9PTApe2I9dUMoZixvLGQpfDA7YnJlYWt9ZWxzZXtiPTAtKHVDKGYsbyxlKXwwKXwwO2JyZWFr
fX1lbHNlIGI9MDt3aGlsZSgwKTtyZXR1cm4gYnwwfWZ1bmN0aW9uIHRDKGEsYixkLGUpe2E9YXww
O2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGk9MC4wLGo9MC4wO2k9K2hbYSsyND4+M107
aj0raFtiKzI0Pj4zXTtkbyBpZihpPGope2E9Y1thKzM2Pj4yXXwwO2lmKChhfDApPT0oZHwwKT8o
Y1tiKzMyPj4yXXwwKT09KGV8MCk6MCl7YT0tMTticmVha31pZigoYXwwKT09KGV8MCk/KGNbYisz
Mj4+Ml18MCk9PShkfDApOjApe2E9MTticmVha31hPTB9ZWxzZXtmPWNbYiszMj4+Ml18MDtnPShm
fDApPT0oZXwwKTtpZihpPT1qKWlmKGcpe2E9dkMoY1thKzM2Pj4yXXwwLGNbYiszNj4+Ml18MCxk
LGUpfDA7YnJlYWt9ZWxzZXthPTAtKHZDKGNbYiszNj4+Ml18MCxjW2ErMzY+PjJdfDAsZCxlKXww
KXwwO2JyZWFrfWlmKGc/KGNbYiszNj4+Ml18MCk9PShlfDApOjApe2E9LTE7YnJlYWt9aWYoKGZ8
MCk9PShkfDApPyhjW2IrMzY+PjJdfDApPT0oZHwwKTowKXthPTE7YnJlYWt9YT0wfXdoaWxlKDAp
O3JldHVybiBhfDB9ZnVuY3Rpb24gdUMoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3JldHVybiAo
KGF8MCk9PShjfDApPygoYnwwKT09KGN8MCkpPDwzMT4+MzE6MSl8MH1mdW5jdGlvbiB2QyhhLGIs
YyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtpZigoYXwwKT09KGR8MCkpe2I9KGF8MCk9PTA7
aWYoYilyZXR1cm4gMDtlbHNlIGI9YiYxfXJldHVybiAoKGF8MCkhPTB8KGJ8MCkhPShjfDApKTw8
MzE+PjMxfDB9ZnVuY3Rpb24gd0MoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MCxnPTAsaD0w
O2c9Y1thKzI4Pj4yXXwwO2g9Y1thKzI0Pj4yXXwwO2Q9Y1thKzMyPj4yXXwwO2E9MDthOndoaWxl
KDEpe2U9YSsxfDA7aWYoKGV8MCk+PShofDApKWJyZWFrO2Y9ZysoYTw8Mil8MDtiPWU7d2hpbGUo
MSl7aWYoKGJ8MCk9PShofDApKXthPWU7Y29udGludWUgYX1zd2l0Y2gocUMoY1tmPj4yXXwwLGNb
ZysoYjw8Mik+PjJdfDApfDApe2Nhc2UgMTp7S0MoZCxhLGIpO2JyZWFrfWNhc2UgLTE6e0tDKGQs
YixhKTticmVha31kZWZhdWx0Ont9fWI9YisxfDB9fXJldHVybn1mdW5jdGlvbiB4QyhhLGIpe2E9
YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MDtmPWErMjR8MDtlPWNbZj4+Ml18MDtkPWUrMXwwO2Nb
Zj4+Ml09ZDtjW2IrNDA+PjJdPWU7ZT1hKzI4fDA7YT1jW2U+PjJdfDA7aWYoIWEpYT13dyhkPDwy
KXwwO2Vsc2UgYT15dyhhLGQ8PDIpfDA7Y1tlPj4yXT1hO2NbYSsoKGNbZj4+Ml18MCkrLTE8PDIp
Pj4yXT1iO3JldHVybn1mdW5jdGlvbiB5QyhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD0rZDt2YXIgZT0w
LGY9MCxnPTA7Zz1sO2w9bCsxNnwwO2Y9ZztoW2Y+PjNdPWQ7ZT1iYltjW2E+PjJdJjMxXShhLGYs
NTEyKXwwO2lmKCFlKXtlPXZ3KDI0KXwwO2hbZSs4Pj4zXT0raFtmPj4zXTtjW2UrMTY+PjJdPVFs
KDI0NzEyLGNbNDM0NV18MCl8MDtiYltjW2E+PjJdJjMxXShhLGUsMSl8MH1mPWNbZSsxNj4+Ml18
MDtiYltjW2Y+PjJdJjMxXShmLGIsMSl8MDtsPWc7cmV0dXJufWZ1bmN0aW9uIHpDKGEsYixkKXth
PWF8MDtiPWJ8MDtkPWR8MDtKQyhjW2IrMzI+PjJdfDApO19JKGNbYisyOD4+Ml18MCk7X0koYik7
cmV0dXJufWZ1bmN0aW9uIEFDKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBl
PTAuMCxmPTAuMDtlPStoW2I+PjNdO2Y9K2hbYz4+M107aWYoIShlPmYpKWlmKGU8ZilhPSEoK2hb
Yis4Pj4zXT49K2hbYys4Pj4zXSk8PDMxPj4zMTtlbHNlIGE9MDtlbHNlIGE9ISgraFtiKzg+PjNd
PD0raFtjKzg+PjNdKSYxO3JldHVybiBhfDB9ZnVuY3Rpb24gQkMoYSxiLGQpe2E9YXwwO2I9Ynww
O2Q9ZHwwO0tsKGNbYisxNj4+Ml18MCl8MDtfSShiKTtyZXR1cm59ZnVuY3Rpb24gQ0MoYSxiLGMs
ZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MC4wLGY9MC4wO2Y9K2hbYj4+M107ZT0r
aFtjPj4zXTtyZXR1cm4gKGY+ZT8xOihmPGUpPDwzMT4+MzEpfDB9ZnVuY3Rpb24gREMoYixkLGUp
e2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAuMCxnPTAuMCxpPTAsaj0wO2k9KGFbZCszNj4+MF18
MCkhPTA7aj1lKzQwfDA7ZG8gaWYoKGNbZCsyND4+Ml18MCk9PShlfDApKXtmPStoW2o+PjNdO2lm
KGkpe2c9KCtoW2UrNjQ+PjNdKyAraFtlKzQ4Pj4zXSkqLjU7YnJlYWt9ZWxzZXtnPStoW2UrNDg+
PjNdO2Y9KCtoW2UrNTY+PjNdK2YpKi41O2JyZWFrfX1lbHNlIGlmKGkpe2c9KCtoW2UrNjQ+PjNd
KyAraFtlKzQ4Pj4zXSkqLjU7Zj0raFtlKzU2Pj4zXTticmVha31lbHNle2c9K2hbZSs2ND4+M107
Zj0oK2hbZSs1Nj4+M10rICtoW2o+PjNdKSouNTticmVha313aGlsZSgwKTtoW2I+PjNdPWY7aFti
Kzg+PjNdPWc7cmV0dXJufWZ1bmN0aW9uIEVDKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MDtkPWNb
YSsyMD4+Ml18MDtpZigoZHwwKSE9KGNbYisyMD4+Ml18MCk/KGR8MCkhPShjW2IrMjQ+PjJdfDAp
OjApZD1jW2ErMjQ+PjJdfDA7cmV0dXJuIGR8MH1mdW5jdGlvbiBGQyhhLGIpe2E9YXwwO2I9Ynww
O3ZhciBjPTAuMDtjPSgraFtiKzY0Pj4zXSsgK2hbYis0OD4+M10pKi41O2hbYT4+M109KCtoW2Ir
NTY+PjNdKyAraFtiKzQwPj4zXSkqLjU7aFthKzg+PjNdPWM7cmV0dXJufWZ1bmN0aW9uIEdDKGIs
ZCxlLGYsZyxpLGope2I9YnwwO2Q9ZHwwO2U9K2U7Zj0rZjtnPStnO2k9aXwwO2o9anwwO3ZhciBr
PTAsbD0wO2FbYj4+MF09ZDtoW2IrOD4+M109ZTtpZihmPGcpe2s9MDtsPWk7ZD1qO2U9ZjtmPWd9
ZWxzZXtrPTE7bD1qO2Q9aTtlPWd9aFtiKzI0Pj4zXT1mO2hbYisxNj4+M109ZTtjW2IrMzY+PjJd
PWQ7Y1tiKzMyPj4yXT1sO2FbYisxPj4wXT1rO3JldHVybn1mdW5jdGlvbiBIQyhhLGIsZCl7YT1h
fDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MDtlPWNbYiszNj4+Ml18MDtkbyBpZigoY1tlKzQ+PjJdfDAp
IT0oZHwwKSl7aWYoKGNbZSsxMj4+Ml18MCk9PShkfDApKXtlPX5+KCgraFtiKzU2Pj4zXSsgK2hb
Yis0MD4+M10pKi41KTtkPX5+K2hbYis0OD4+M107YnJlYWt9aWYoKGNbZSs4Pj4yXXwwKT09KGR8
MCkpe2U9fn4raFtiKzQwPj4zXTtkPX5+KCgraFtiKzY0Pj4zXSsgK2hbYis0OD4+M10pKi41KTti
cmVha31pZigoY1tlPj4yXXwwKT09KGR8MCkpe2U9fn4raFtiKzU2Pj4zXTtkPX5+KCgraFtiKzY0
Pj4zXSsgK2hbYis0OD4+M10pKi41KX1lbHNle2U9MDtkPTB9fWVsc2V7ZT1+figoK2hbYis1Nj4+
M10rICtoW2IrNDA+PjNdKSouNSk7ZD1+fitoW2IrNjQ+PjNdfXdoaWxlKDApO2NbYT4+Ml09ZTtj
W2ErND4+Ml09ZDtyZXR1cm59ZnVuY3Rpb24gSUMoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9
MCxnPTA7ZD12dyg4KXwwO2NbZD4+Ml09YTtlPWQrNHwwO2NbZT4+Ml09dncoYSoxMnwwKXwwO2I9
MDt3aGlsZSgxKXtpZigoYnwwKT49KGF8MCkpYnJlYWs7Zz1mRygpfDA7Zj1jW2U+PjJdfDA7Y1tm
KyhiKjEyfDApKzg+PjJdPWc7Y1tmKyhiKjEyfDApPj4yXT0wO2I9YisxfDB9cmV0dXJuIGR8MH1m
dW5jdGlvbiBKQyhhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTA7ZD1hKzR8MDtiPTA7d2hpbGUoMSl7
ZT1jW2Q+PjJdfDA7aWYoKGJ8MCk+PShjW2E+PjJdfDApKWJyZWFrO0tsKGNbZSsoYioxMnwwKSs4
Pj4yXXwwKXwwO2I9YisxfDB9X0koZSk7X0koYSk7cmV0dXJufWZ1bmN0aW9uIEtDKGEsYixkKXth
PWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MDtlPWw7bD1sKzE2fDA7Zj1lO2NbZj4+Ml09ZDtk
PWNbKGNbYSs0Pj4yXXwwKSsoYioxMnwwKSs4Pj4yXXwwO2JiW2NbZD4+Ml0mMzFdKGQsZiwxKXww
O2w9ZTtyZXR1cm59ZnVuY3Rpb24gTEMoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAs
Zj0wLGc9MDtlPWw7bD1sKzE2fDA7Zj1lO2NbZj4+Ml09ZDthPWErNHwwO2c9Y1soY1thPj4yXXww
KSsoYioxMnwwKSs4Pj4yXXwwO2JiW2NbZz4+Ml0mMzFdKGcsZiwyKXwwO2NbZj4+Ml09YjtkPWNb
KGNbYT4+Ml18MCkrKGQqMTJ8MCkrOD4+Ml18MDtiYltjW2Q+PjJdJjMxXShkLGYsMil8MDtsPWU7
cmV0dXJufWZ1bmN0aW9uIE1DKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MDtl
PWw7bD1sKzE2fDA7Zj1lO2NbZj4+Ml09ZDtkPWNbKGNbYSs0Pj4yXXwwKSsoYioxMnwwKSs4Pj4y
XXwwO2Q9KGJiW2NbZD4+Ml0mMzFdKGQsZiw1MTIpfDApIT0wJjE7bD1lO3JldHVybiBkfDB9ZnVu
Y3Rpb24gTkMoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MDtiPWNbYT4+Ml18MDtzd2l0Y2go
YnwwKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOntjWyhjW2ErND4+Ml18MCkrND4+Ml09MDticmVha31k
ZWZhdWx0OntlPU9DKGIpfDA7Zj1hKzR8MDtkPTA7Yj0wO3doaWxlKDEpe2lmKChkfDApPj0oY1th
Pj4yXXwwKSl7Yj0wO2JyZWFrfWlmKCEoY1soY1tmPj4yXXwwKSsoZCoxMnwwKT4+Ml18MCkpYj1Q
QyhhLGQsYixlKXwwO2Q9ZCsxfDB9d2hpbGUoMSl7ZD1RQyhlKXwwO2lmKChkfDApPD0tMSlicmVh
aztjWyhjW2Y+PjJdfDApKyhkKjEyfDApKzQ+PjJdPWI7Yj1iKzF8MH1SQyhlKX19cmV0dXJufWZ1
bmN0aW9uIE9DKGEpe2E9YXwwO3ZhciBiPTA7Yj12dyg4KXwwO2NbYis0Pj4yXT12dyhhPDwyKXww
O2NbYj4+Ml09LTE7cmV0dXJuIGJ8MH1mdW5jdGlvbiBQQyhhLGIsZCxlKXthPWF8MDtiPWJ8MDtk
PWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MDtpPWErNHwwO2c9Y1tpPj4yXXwwO2o9
ZysoYioxMnwwKXwwO2Nbaj4+Ml09MTtnPWNbZysoYioxMnwwKSs4Pj4yXXwwO2g9Zys0fDA7ZD1k
KzF8MDtnPU9sKGcpfDA7d2hpbGUoMSl7aWYoIWcpYnJlYWs7Zj1jWyhjW2g+PjJdfDApKzg+PjJd
fDA7aWYoKGZ8MCk8MClmPWNbZys4Pj4yXXwwO2Vsc2UgZj1nKygwLWYpfDA7Zj1jW2Y+PjJdfDA7
aWYoIShjWyhjW2k+PjJdfDApKyhmKjEyfDApPj4yXXwwKSlkPVBDKGEsZixkLGUpfDA7Zz1jW2c+
PjJdfDB9Y1tqPj4yXT0yO1NDKGUsYik7cmV0dXJuIGQrMXwwfWZ1bmN0aW9uIFFDKGEpe2E9YXww
O3ZhciBiPTAsZD0wO2I9Y1thPj4yXXwwO2lmKChifDApPT0tMSlhPS0xO2Vsc2V7ZD1jWyhjW2Er
ND4+Ml18MCkrKGI8PDIpPj4yXXwwO2NbYT4+Ml09YistMTthPWR9cmV0dXJuIGF8MH1mdW5jdGlv
biBSQyhhKXthPWF8MDtfSShjW2ErND4+Ml18MCk7X0koYSk7cmV0dXJufWZ1bmN0aW9uIFNDKGEs
Yil7YT1hfDA7Yj1ifDA7dmFyIGQ9MDtkPShjW2E+PjJdfDApKzF8MDtjW2E+PjJdPWQ7Y1soY1th
KzQ+PjJdfDApKyhkPDwyKT4+Ml09YjtyZXR1cm59ZnVuY3Rpb24gVEMoYSl7YT1hfDA7dmFyIGQ9
MCxlPTAsZj0wO2U9Y1thPj4yXXwwO2NbYSs4Pj4yXT1lO2NbYSsxMj4+Ml09Y1thKzQ+PjJdO2Q9
YSsxNnwwO2E9MDt3aGlsZSgxKXtpZigoYXwwKT49KGV8MCkpYnJlYWs7Zj1jW2Q+PjJdfDA7Yltm
KyhhKjQwfDApKzE4Pj4xXT1iW2YrKGEqNDB8MCkrMTY+PjFdfDA7YT1hKzF8MH1yZXR1cm59ZnVu
Y3Rpb24gVUMoYSl7YT1hfDA7dmFyIGQ9MCxlPTAsZj0wO2Q9Y1thKzg+PjJdfDA7Y1thPj4yXT1k
O2NbYSs0Pj4yXT1jW2ErMTI+PjJdO2U9YSsxNnwwO2E9MDt3aGlsZSgxKXtpZigoYXwwKT49KGR8
MCkpYnJlYWs7Zj1jW2U+PjJdfDA7YltmKyhhKjQwfDApKzE2Pj4xXT1iW2YrKGEqNDB8MCkrMTg+
PjFdfDA7YT1hKzF8MH1kPWQrMnwwO3doaWxlKDEpe2lmKChhfDApPj0oZHwwKSlicmVhaztiWyhj
W2U+PjJdfDApKyhhKjQwfDApKzE2Pj4xXT0wO2E9YSsxfDB9cmV0dXJufWZ1bmN0aW9uIFZDKGEs
Yil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wO2Q9dncoKChjW2E+PjJdfDApKjZ8MCkrKGI8
PDEpPDwyKXwwO2NbYSsyMD4+Ml09dncoKCgoY1thPj4yXXwwKSozfDApK2J8MCkqMjR8MCl8MDtl
PWNbYT4+Ml18MDtmPWErMTZ8MDthPTA7d2hpbGUoMSl7aWYoKGF8MCk+PShlfDApKWJyZWFrO2Nb
KGNbZj4+Ml18MCkrKGEqNDB8MCkrMjg+PjJdPWQ7ZD1kKzI0fDA7YT1hKzF8MH1lPWUrMnwwO3do
aWxlKDEpe2lmKChhfDApPj0oZXwwKSlicmVhaztjWyhjW2Y+PjJdfDApKyhhKjQwfDApKzI4Pj4y
XT1kO2Q9ZCsoYjw8Mil8MDthPWErMXwwfXJldHVybn1mdW5jdGlvbiBXQyhhKXthPWF8MDt2YXIg
Yj0wO2I9dncoMjQpfDA7Y1tiPj4yXT0wO2NbYisxNj4+Ml09dncoYSo0MHwwKXwwO3JldHVybiBi
fDB9ZnVuY3Rpb24gWEMoYSl7YT1hfDA7dmFyIGI9MCxkPTA7ZD1jW2ErMTY+PjJdfDA7Yj1jW2E+
PjJdfDA7Y1tkKyhiKjQwfDApKzMyPj4yXT1iO2NbYT4+Ml09YisxO3JldHVybiBkKyhiKjQwfDAp
fDB9ZnVuY3Rpb24gWUMoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT0rZTt2YXIgZj0wLGc9
MDtnPWErNHwwO2Y9Y1tnPj4yXXwwO2NbZz4+Ml09ZisxO2c9Y1thKzIwPj4yXXwwO2E9ZysoZioy
NHwwKXwwO2NbZysoZioyNHwwKSsxMj4+Ml09Y1tiKzMyPj4yXTtjW2crKGYqMjR8MCkrMTY+PjJd
PWNbZCszMj4+Ml07aFthPj4zXT1lO2NbZysoZioyNHwwKSs4Pj4yXT0wO1pDKGIsZik7WkMoZCxm
KTtyZXR1cm4gYXwwfWZ1bmN0aW9uIFpDKGEsZCl7YT1hfDA7ZD1kfDA7dmFyIGU9MCxmPTA7ZT1h
KzE2fDA7Zj1iW2U+PjFdfDA7Y1soY1thKzI4Pj4yXXwwKSsoZjw8MTY+PjE2PDwyKT4+Ml09ZDti
W2U+PjFdPWYrMTw8MTY+PjE2O3JldHVybn1mdW5jdGlvbiBfQyhhKXthPWF8MDt2YXIgYj0wO2I9
YSsxNnwwO19JKGNbKGNbYj4+Ml18MCkrMjg+PjJdfDApO19JKGNbYj4+Ml18MCk7X0koY1thKzIw
Pj4yXXwwKTtfSShhKTtyZXR1cm59ZnVuY3Rpb24gJEMoYSxkLGUpe2E9YXwwO2Q9ZHwwO2U9ZXww
O3ZhciBmPTAsZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO2c9Y1thPj4yXXwwO2k9YSsxNnww
O2Y9MDt3aGlsZSgxKXtpZigoZnwwKT49KGd8MCkpYnJlYWs7Y1soY1tpPj4yXXwwKSsoZio0MHww
KT4+Ml09LTIxNDc0ODM2NDg7Zj1mKzF8MH1uRygpO2E6ZG8gaWYoIShxRyhkKXwwKSl7Y1tkKzg+
PjJdPTA7Y1tkPj4yXT0wO2Q9YSsyMHwwO2I6d2hpbGUoMSl7Zz1zRygpfDA7aWYoIWcpe2Y9MDti
cmVhayBhfWNbZz4+Ml09MC0oY1tnPj4yXXwwKTtpZigoZ3wwKT09KGV8MCkpe2Y9MDticmVhayBh
fWk9ZysxNnwwO2o9ZysyOHwwO2Y9MDt3aGlsZSgxKXtpZigoZnwwKT49KGJbaT4+MV18MCkpY29u
dGludWUgYjtrPShjW2Q+PjJdfDApKygoY1soY1tqPj4yXXwwKSsoZjw8Mik+PjJdfDApKjI0fDAp
fDA7bD1hRChhLGssZyl8MDttPWNbbD4+Ml18MDtkbyBpZigobXwwKTwwKXtuPX5+LSgraFtrPj4z
XSsgKyhjW2c+PjJdfDApKTtpZigobXwwKT09LTIxNDc0ODM2NDgpe2NbbD4+Ml09bjtpZihxRyhs
KXwwKXtmPTE7YnJlYWsgYX1jW2wrOD4+Ml09ZztjW2wrMTI+PjJdPWs7YnJlYWt9ZWxzZXtpZigo
bXwwKT49KG58MCkpYnJlYWs7dEcobCxuKTtjW2wrOD4+Ml09ZztjW2wrMTI+PjJdPWs7YnJlYWt9
fXdoaWxlKDApO2Y9ZisxfDB9fX1lbHNlIGY9MTt3aGlsZSgwKTtyZXR1cm4gZnwwfWZ1bmN0aW9u
IGFEKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wO2U9Y1tiKzEyPj4yXXwwO2lmKChl
fDApPT0oY1tkKzMyPj4yXXwwKSllPWNbYisxNj4+Ml18MDtyZXR1cm4gKGNbYSsxNj4+Ml18MCkr
KGUqNDB8MCl8MH1mdW5jdGlvbiBiRChhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxn
PTAsaD0wLGk9MDtnPWNbYT4+Ml18MDtKcihnLDMsYil8MDtiPWNbZys5Mj4+Ml18MDtkbyBpZihi
KXtkPWNbYisxNj4+Ml18MDtoPWNbZCsxMj4+Ml18MDtjW2ErNzY+PjJdPWg7ZT1jW2QrMTY+PjJd
fDA7Y1thKzg0Pj4yXT1lO2Y9YSs4MHwwO2NbZj4+Ml09Y1tkPj4yXTtjW2ErODg+PjJdPWNbYis0
Pj4yXTtkPWErMTUyfDA7ZT1jW2Q+PjJdfGNbZT4+Ml07Y1tkPj4yXT1lO2I9Y1tnKzgwPj4yXXww
O2lmKCFiKXtjW2ErNjA+PjJdPTA7Yj05OTk7YnJlYWt9ZWxzZXtnPWNbYisxNj4+Ml18MDtjW2Er
NjA+PjJdPWNbZysxMj4+Ml07aT1jW2crMTY+PjJdfDA7Y1thKzY4Pj4yXT1pO2NbYSs3Mj4+Ml09
Y1tiKzQ+PjJdO2NbZD4+Ml09ZXxjW2k+PjJdO2NbYSs2ND4+Ml09Y1soKGh8MCk9PTA/ZjpnKT4+
Ml07Yj0zMDA7YnJlYWt9fWVsc2UgYj05OTk7d2hpbGUoMCk7cmV0dXJuIGJ8MH1mdW5jdGlvbiBj
RChhKXthPWF8MDt2YXIgYj0wLGQ9MDtiPWNbYSs2MD4+Ml18MDtpZighKGlyKGEpfDApKWlmKChi
fDApIT0wPyhkPWNbYj4+Ml18MCwoZHwwKSE9MCk6MCl7Z2JbZCYxMjddKGEpO2E9MH1lbHNlIGE9
MDtlbHNlIGE9MTtyZXR1cm4gYXwwfWZ1bmN0aW9uIGREKGEpe2E9YXwwO3ZhciBiPTAsZD0wO2I9
Y1thKzYwPj4yXXwwO2lmKGJ8MD8oZD1jW2IrND4+Ml18MCxkfDApOjApZ2JbZCYxMjddKGEpO2Nb
KGNbYT4+Ml18MCkrMjQ+PjJdPTA7cXIoYSk7cmV0dXJufWZ1bmN0aW9uIGVEKGEsYixkKXthPWF8
MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLjAsZj0wLjAsZz0wLjAsaT0wLjA7ZT0raFtiKzUwND4+M107
Zj0raFtiKzUxMj4+M107aT0raFtiKzM1Mj4+M107aWYoIShjW2IrMzYwPj4yXXwwKSl7Zz0raFtk
Pj4zXStlO2Q9ZCs4fDA7ZT1mfWVsc2UgZz0tKGYrICtoW2QrOD4+M10pO2Y9K2hbYis1Mjg+PjNd
KmkqKCtoW2Q+PjNdK2UpO2hbYT4+M109K2hbYis1MjA+PjNdKmkqZztoW2ErOD4+M109ZjtyZXR1
cm59ZnVuY3Rpb24gZkQoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MC4w
LGc9MC4wLGk9MC4wLGo9MC4wLGs9MC4wO2Y9K2hbYSs1MDQ+PjNdO2c9K2hbYSs1MTI+PjNdO2k9
K2hbYSszNTI+PjNdO2o9K2hbYSs1MjA+PjNdKmk7aT0raFthKzUyOD4+M10qaTthOmRvIGlmKCEo
Y1thKzM2MD4+Ml18MCkpe2E9MDt3aGlsZSgxKXtpZigoYXwwKT49KGV8MCkpYnJlYWsgYTtoW2Qr
KGE8PDQpPj4zXT0oK2hbYisoYTw8NCk+PjNdK2YpKmo7aFtkKyhhPDw0KSs4Pj4zXT0oK2hbYiso
YTw8NCkrOD4+M10rZykqaTthPWErMXwwfX1lbHNle2E9MDt3aGlsZSgxKXtpZigoYXwwKT49KGV8
MCkpYnJlYWsgYTtrPS0oaiooK2hbYisoYTw8NCkrOD4+M10rZykpO2hbZCsoYTw8NCkrOD4+M109
KCtoW2IrKGE8PDQpPj4zXStmKSppO2hbZCsoYTw8NCk+PjNdPWs7YT1hKzF8MH19d2hpbGUoMCk7
cmV0dXJuIGR8MH1mdW5jdGlvbiBnRChhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTA7Yj1jW2ErNjA+
PjJdfDA7aWYoYnwwPyhkPWNbYis4Pj4yXXwwLGR8MCk6MClnYltkJjEyN10oYSk7cmV0dXJufWZ1
bmN0aW9uIGhEKGEpe2E9YXwwO3ZhciBiPTAsZD0wO2I9Y1thKzYwPj4yXXwwO2lmKGJ8MD8oZD1j
W2IrMTI+PjJdfDAsZHwwKTowKWdiW2QmMTI3XShhKTtwcihhKTtyZXR1cm59ZnVuY3Rpb24gaUQo
YSl7YT1hfDA7dmFyIGI9MCxkPTA7Yj1jW2ErNjA+PjJdfDA7aWYoYnwwPyhkPWNbYisyND4+Ml18
MCxkfDApOjApZ2JbZCYxMjddKGEpO3JldHVybn1mdW5jdGlvbiBqRChhKXthPWF8MDt2YXIgYj0w
LGQ9MDtiPWNbYSs2MD4+Ml18MDtpZihifDA/KGQ9Y1tiKzI4Pj4yXXwwLGR8MCk6MClnYltkJjEy
N10oYSk7cmV0dXJufWZ1bmN0aW9uIGtEKGEpe2E9YXwwO3ZhciBiPTAsZD0wO2I9Y1thKzYwPj4y
XXwwO2lmKGJ8MD8oZD1jW2IrMTY+PjJdfDAsZHwwKTowKXtiPWNbYSsxNjA+PjJdfDA7a2JbZCYz
MV0oYSxjWyhjWyhjW2E+PjJdfDApKzMwOD4+Ml18MCkrKGI8PDIpPj4yXXwwLGIsY1thKzE1Nj4+
Ml18MCl9cmV0dXJufWZ1bmN0aW9uIGxEKGEpe2E9YXwwO3ZhciBiPTAsZD0wO2I9Y1thKzYwPj4y
XXwwO2lmKGJ8MD8oZD1jW2IrMjA+PjJdfDAsZHwwKTowKWdiW2QmMTI3XShhKTtyZXR1cm59ZnVu
Y3Rpb24gbUQoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wO2I9Y1thKzYwPj4yXXwwO2lmKGJ8MD8o
ZD1jW2IrMzI+PjJdfDAsZHwwKTowKWdiW2QmMTI3XShhKTtyZXR1cm59ZnVuY3Rpb24gbkQoYSxi
KXthPWF8MDtiPWJ8MDt2YXIgZD0wO2I9Y1thKzYwPj4yXXwwO2lmKGJ8MD8oZD1jW2IrMzY+PjJd
fDAsZHwwKTowKWdiW2QmMTI3XShhKTtyZXR1cm59ZnVuY3Rpb24gb0QoYSl7YT1hfDA7dmFyIGI9
MCxkPTA7Yj1jW2ErNjA+PjJdfDA7aWYoYnwwPyhkPWNbYis0MD4+Ml18MCxkfDApOjApZ2JbZCYx
MjddKGEpO3JldHVybn1mdW5jdGlvbiBwRChhKXthPWF8MDt2YXIgYj0wLGQ9MDtiPWNbYSs2MD4+
Ml18MDtpZihifDA/KGQ9Y1tiKzQ0Pj4yXXwwLGR8MCk6MClnYltkJjEyN10oYSk7cmV0dXJufWZ1
bmN0aW9uIHFEKGEpe2E9YXwwO3ZhciBiPTAsZD0wO2I9Y1thKzYwPj4yXXwwO2lmKGJ8MD8oZD1j
W2IrNDg+PjJdfDAsZHwwKTowKWdiW2QmMTI3XShhKTtyZXR1cm59ZnVuY3Rpb24gckQoYSl7YT1h
fDA7dmFyIGI9MCxkPTA7Yj1jW2ErNjA+PjJdfDA7aWYoYnwwPyhkPWNbYis1Mj4+Ml18MCxkfDAp
OjApZ2JbZCYxMjddKGEpO3JldHVybn1mdW5jdGlvbiBzRChhLGIpe2E9YXwwO2I9YnwwO3ZhciBk
PTA7Yj1jW2ErNjA+PjJdfDA7aWYoYnwwPyhkPWNbYis1Nj4+Ml18MCxkfDApOjApZ2JbZCYxMjdd
KGEpO3JldHVybn1mdW5jdGlvbiB0RChhKXthPWF8MDt2YXIgYj0wLGQ9MDtiPWNbYSs2MD4+Ml18
MDtpZihifDA/KGQ9Y1tiKzYwPj4yXXwwLGR8MCk6MClnYltkJjEyN10oYSk7cmV0dXJufWZ1bmN0
aW9uIHVEKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MDtiPWNbYSs2MD4+Ml18MDtpZihifDA/KGQ9
Y1tiKzY0Pj4yXXwwLGR8MCk6MClnYltkJjEyN10oYSk7cmV0dXJufWZ1bmN0aW9uIHZEKGEpe2E9
YXwwO3ZhciBiPTAsZD0wO2I9Y1thKzYwPj4yXXwwO2lmKGJ8MD8oZD1jW2IrNjg+PjJdfDAsZHww
KTowKWdiW2QmMTI3XShhKTtyZXR1cm59ZnVuY3Rpb24gd0QoYSxiLGQsZSxmKXthPWF8MDtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MDtnPWNbYSs2MD4+Ml18MDtpZihnfDA/KGg9
Y1tnKzcyPj4yXXwwLGh8MCk6MClsYltoJjddKGEsYixkLGUsZik7cmV0dXJufWZ1bmN0aW9uIHhE
KGEpe2E9YXwwO3ZhciBiPTAsZD0wO2I9Y1thKzYwPj4yXXwwO2lmKGJ8MD8oZD1jW2IrNzY+PjJd
fDAsZHwwKTowKWdiW2QmMTI3XShhKTtyZXR1cm59ZnVuY3Rpb24geUQoYSxiKXthPWF8MDtiPWJ8
MDt2YXIgZD0wLGU9MDtkPWNbYSs2MD4+Ml18MDtpZihkfDA/KGU9Y1tkKzgwPj4yXXwwLGV8MCk6
MCloYltlJjMxXShhLGIpO3JldHVybn1mdW5jdGlvbiB6RChhKXthPWF8MDt2YXIgYj0wLGQ9MDti
PWNbYSs2MD4+Ml18MDtpZihifDA/KGQ9Y1tiKzg0Pj4yXXwwLGR8MCk6MClnYltkJjEyN10oYSk7
cmV0dXJufWZ1bmN0aW9uIEFEKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxo
PTAsaT0wLGo9MCxrPTAsbT0wO2s9bDtsPWwrNDh8MDtmPWsrMzJ8MDtoPWs7aT1rKzE2fDA7aj1j
W2IrNjA+PjJdfDA7bT1jW2U+PjJdfDA7ZG8gaWYobXwwP2FbbT4+MF18MDowKXttPWNbYisxNj4+
Ml18MDtpZihtfDA/KGNbbSsxNDQ+PjJdfDApPT0wOjApYnJlYWs7aWYoIShjW2IrMTUyPj4yXSY4
MTkyKSl7Y1tmPj4yXT1jW2Q+PjJdO2NbZis0Pj4yXT1jW2QrND4+Ml07Y1tmKzg+PjJdPWNbZCs4
Pj4yXTtjW2YrMTI+PjJdPWNbZCsxMj4+Ml07ZUQoaSxiLGYpO2NbaD4+Ml09Y1tpPj4yXTtjW2gr
ND4+Ml09Y1tpKzQ+PjJdO2NbaCs4Pj4yXT1jW2krOD4+Ml07Y1toKzEyPj4yXT1jW2krMTI+PjJd
fWVsc2V7Y1toPj4yXT1jW2Q+PjJdO2NbaCs0Pj4yXT1jW2QrND4+Ml07Y1toKzg+PjJdPWNbZCs4
Pj4yXTtjW2grMTI+PjJdPWNbZCsxMj4+Ml19aWYoanwwPyhnPWNbais4OD4+Ml18MCxnfDApOjAp
e2NbZj4+Ml09Y1toPj4yXTtjW2YrND4+Ml09Y1toKzQ+PjJdO2NbZis4Pj4yXT1jW2grOD4+Ml07
Y1tmKzEyPj4yXT1jW2grMTI+PjJdO2liW2cmMTI3XShiLGYsZSl9fXdoaWxlKDApO2w9aztyZXR1
cm59ZnVuY3Rpb24gQkQoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MDtm
PWNbYis2MD4+Ml18MDtnPShjW2IrMTY+PjJdfDApKzE2fDA7aT1XSihkLDU4KXwwO2g9KGl8MCkh
PTA7aWYoaClhW2k+PjBdPTA7aWYoZnwwPyhDRChjW2IrNjg+PjJdfDAsZCxnKSxlPWNbZis5Mj4+
Ml18MCxlfDApOjApaGJbZSYzMV0oYixnKTtpZihoKWFbaT4+MF09NTg7cmV0dXJufWZ1bmN0aW9u
IENEKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAs
az0wO2s9bDtsPWwrMzJ8MDtnPWsrMTZ8MDtqPWsrOHwwO2k9aztjW2Q+PjJdPWI7Y1tkKzMyPj4y
XT01O2U9UkUoYil8MDtmPWNbYSsxNj4+Ml18MDtpZighKChmfDApIT0wPyh2TShlLGYsY1thKzIw
Pj4yXXwwLDQsMzcpfDApIT0wOjApKWg9MzthOmRvIGlmKChofDApPT0zKXtzd2l0Y2goU0UoYixk
LGNbYSsyND4+Ml18MCl8MCl7Y2FzZSAwOmJyZWFrIGE7Y2FzZSAxOmJyZWFrO2RlZmF1bHQ6e19s
KDEsOTU4NjgsZyl8MDticmVhayBhfX1hPXd3KChySihiKXwwKSsxNnwwKXwwO2NbaT4+Ml09Yjtw
TChhLDk1ODMzLGkpfDA7aWYoRHYoYSl8MCl7Y1tqPj4yXT1iO19sKDAsOTU4NDIsail8MH1fSShh
KX13aGlsZSgwKTtsPWs7cmV0dXJufWZ1bmN0aW9uIEREKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9
MCxmPTAsZz0wLGg9MCxpPTA7Zj1jW2IrNjA+PjJdfDA7Zz0oY1tiKzE2Pj4yXXwwKSs1NnwwO2k9
V0ooZCw1OCl8MDtoPShpfDApIT0wO2lmKGgpYVtpPj4wXT0wO2lmKGZ8MD8oQ0QoY1tiKzY4Pj4y
XXwwLGQsZyksZT1jW2YrOTI+PjJdfDAsZXwwKTowKWhiW2UmMzFdKGIsZyk7aWYoaClhW2k+PjBd
PTU4O3JldHVybn1mdW5jdGlvbiBFRChhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPStlO3Zh
ciBmPTAsaD0wLGk9MCxqPTA7aD1jW2ErNjA+PjJdfDA7aT1hKzE2fDA7aj0oY1tpPj4yXXwwKSs5
NnwwO2lmKGh8MD8oQ0QoY1thKzY4Pj4yXXwwLGIsaiksZj1jW2grOTI+PjJdfDAsZnwwKTowKWhi
W2YmMzFdKGEsaik7aj1jW2k+PjJdfDA7Y1tqKzEzNj4+Ml09ZDtnW2orMTQwPj4yXT1lO3JldHVy
bn1mdW5jdGlvbiBGRChiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxpPTAsaj0wLGs9
MCxtPTA7bT1sO2w9bCsxNnwwO2s9bTtqPWNbYis2MD4+Ml18MDtiPWNbYisxNj4+Ml18MDtjW2Ir
MTYwPj4yXT1kO2E6ZG8gaWYoKGR8MCkhPTAmKGp8MCkhPTApe2o9YisxNDR8MDtpPWIrMTUyfDA7
Zz1iKzE0OHwwO2I9ZDtiOndoaWxlKDEpe2Y9Yis0fDA7Yj1jW2I+PjJdfDA7aWYoIWIpYnJlYWsg
YTtjOmRvIHN3aXRjaChhW2I+PjBdfDApe2Nhc2UgMTE1OntpZighKHhKKGIsOTU4ODkpfDApKXtj
W2o+PjJdPTM7Yj1mO2NvbnRpbnVlIGJ9aWYoISh4SihiLDk1OTEwKXwwKSl7ZT0xMTU7d2hpbGUo
MSl7ZD1iKzF8MDtpZighKGU8PDI0Pj4yNCkpYnJlYWs7Yj1kO2U9YVtkPj4wXXwwfWhbaT4+M109
K3NNKGQpO2I9Zjtjb250aW51ZSBifWJyZWFrfWNhc2UgMTAwOntpZighKHhKKGIsMTIyMTE5KXww
KSl7Y1tqPj4yXT0xO2I9Zjtjb250aW51ZSBifWlmKCEoeEooYiwxMjIxMTIpfDApKXtjW2o+PjJd
PTI7Yj1mO2NvbnRpbnVlIGJ9YnJlYWt9Y2FzZSAxMDU6e2lmKHhKKGIsMTE5MTI3KXwwP3hKKGIs
OTU4OTUpfDA6MClicmVhayBjO2Nbaj4+Ml09MDtiPWY7Y29udGludWUgYn1jYXNlIDk4OntpZigh
KHhKKGIsOTU5MDUpfDApKXtoW2k+PjNdPTIuMDtiPWY7Y29udGludWUgYn1icmVha31jYXNlIDEw
Mjp7aWYoISh4SihiLDk1OTIzKXwwKSl7Y1tnPj4yXT0xO2I9Zjtjb250aW51ZSBifWJyZWFrfWNh
c2UgMTE3OntpZighKHhKKGIsOTU5MzApfDApKXtjW2c+PjJdPTA7Yj1mO2NvbnRpbnVlIGJ9YnJl
YWt9Y2FzZSAxMTY6e2lmKCEoeEooYiw5NTkzOSl8MCkpe2I9Zjtjb250aW51ZSBifWJyZWFrfWRl
ZmF1bHQ6e319d2hpbGUoMCk7Y1trPj4yXT1iO19sKDAsOTU5NDcsayl8MDtiPWZ9fXdoaWxlKDAp
O2w9bTtyZXR1cm59ZnVuY3Rpb24gR0QoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7
dmFyIGY9MCxnPTAsaT0wLGo9MDtqPWw7bD1sKzMyfDA7Zz1qO2Q9Y1thKzYwPj4yXXwwO2lmKChk
fDA/KGk9ZCs5NnwwLGY9Y1tpPj4yXXwwLGZ8MCk6MCk/Y1soY1thKzE2Pj4yXXwwKSsxNDQ+PjJd
fDA6MCl7ZD1iKzE2fDA7aFtnPj4zXT0oK2hbZD4+M10rICtoW2I+PjNdKSouNTtoW2crOD4+M109
KCtoW2IrMjQ+PjNdKyAraFtiKzg+PjNdKSouNTtiPWcrMTZ8MDtjW2I+PjJdPWNbZD4+Ml07Y1ti
KzQ+PjJdPWNbZCs0Pj4yXTtjW2IrOD4+Ml09Y1tkKzg+PjJdO2NbYisxMj4+Ml09Y1tkKzEyPj4y
XTtpZighKGNbYSsxNTI+PjJdJjgxOTIpKXtmRChhLGcsZywyKXwwO2Y9Y1tpPj4yXXwwfWliW2Ym
MTI3XShhLGcsZSl9bD1qO3JldHVybn1mdW5jdGlvbiBIRChhLGIsZCxlKXthPWF8MDtiPWJ8MDtk
PWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTA7bz1sO2w9
bCs0OHwwO209bztmPWNbYSs2MD4+Ml18MDtpZigoZnwwPyhuPWYrMTAwfDAsY1tuPj4yXXwwKTow
KT8oaz1hKzE2fDAsaj1jW2s+PjJdfDAsY1tqKzE0ND4+Ml18MCk6MCl7aWYoIShlJjQpKXtmPWU7
Zz0wfWVsc2V7Zj1lJi01O2U9aisxNnwwO2c9bTtoPWU7aT1nKzQwfDA7ZG97Y1tnPj4yXT1jW2g+
PjJdO2c9Zys0fDA7aD1oKzR8MH13aGlsZSgoZ3wwKTwoaXwwKSk7Zz1lO2g9ais1NnwwO2k9Zys0
MHwwO2Rve2NbZz4+Ml09Y1toPj4yXTtnPWcrNHwwO2g9aCs0fDB9d2hpbGUoKGd8MCk8KGl8MCkp
O2c9MX1pZighKGNbYSsxNTI+PjJdJjgxOTIpKXtlPWQrMTB8MDtpZigoY1s0MjQwNl18MCk8KGR8
MCkpe2NbNDI0MDZdPWU7ZT15dyhjWzQyNDA3XXwwLGU8PDQpfDA7Y1s0MjQwN109ZX1lbHNlIGU9
Y1s0MjQwN118MDtmRChhLGIsZSxkKXwwO2tiW2Nbbj4+Ml0mMzFdKGEsZSxkLGYpfWVsc2Uga2Jb
Y1tuPj4yXSYzMV0oYSxiLGQsZik7aWYoZ3wwKXtnPShjW2s+PjJdfDApKzE2fDA7aD1tO2k9Zys0
MHwwO2Rve2NbZz4+Ml09Y1toPj4yXTtnPWcrNHwwO2g9aCs0fDB9d2hpbGUoKGd8MCk8KGl8MCkp
fX1sPW87cmV0dXJufWZ1bmN0aW9uIElEKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0w
LGY9MCxnPTA7ZT1sO2w9bCs2NHwwO2Y9ZTtjW2Y+PjJdPWNbYj4+Ml07Y1tmKzQ+PjJdPWNbYis0
Pj4yXTtjW2YrOD4+Ml09Y1tiKzg+PjJdO2NbZisxMj4+Ml09Y1tiKzEyPj4yXTtnPWYrMzJ8MDti
PWIrMTZ8MDtjW2c+PjJdPWNbYj4+Ml07Y1tnKzQ+PjJdPWNbYis0Pj4yXTtjW2crOD4+Ml09Y1ti
Kzg+PjJdO2NbZysxMj4+Ml09Y1tiKzEyPj4yXTtoW2YrMTY+PjNdPStoW2Y+PjNdO2hbZisyND4+
M109K2hbZis0MD4+M107aFtmKzQ4Pj4zXT0raFtnPj4zXTtoW2YrNTY+PjNdPStoW2YrOD4+M107
SEQoYSxmLDQsZCk7bD1lO3JldHVybn1mdW5jdGlvbiBKRChhLGIsZCxlLGYsZyl7YT1hfDA7Yj1i
fDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0wO2k9Y1thKzYwPj4yXXww
O2RvIGlmKChpfDA/KGo9aSsxMDR8MCxoPWNbaj4+Ml18MCxofDApOjApP2NbKGNbYSsxNj4+Ml18
MCkrMTQ0Pj4yXXwwOjApe2lmKGNbYSsxNTI+PjJdJjgxOTJ8MCl7bWJbaCYxNV0oYSxiLGQsZSxm
LGcmMjU1KTticmVha31oPWQrMTB8MDtpZigoY1s0MjQwNl18MCk8KGR8MCkpe2NbNDI0MDZdPWg7
aD15dyhjWzQyNDA3XXwwLGg8PDQpfDA7Y1s0MjQwN109aH1lbHNlIGg9Y1s0MjQwN118MDtmRChh
LGIsaCxkKXwwO21iW2Nbaj4+Ml0mMTVdKGEsaCxkLGUsZixnJjI1NSl9d2hpbGUoMCk7cmV0dXJu
fWZ1bmN0aW9uIEtEKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTA7ZT1j
W2ErNjA+PjJdfDA7ZG8gaWYoKGV8MD8oZz1lKzEwOHwwLGY9Y1tnPj4yXXwwLGZ8MCk6MCk/Y1so
Y1thKzE2Pj4yXXwwKSsxNDQ+PjJdfDA6MCl7aWYoY1thKzE1Mj4+Ml0mODE5MnwwKXtpYltmJjEy
N10oYSxiLGQpO2JyZWFrfWU9ZCsxMHwwO2lmKChjWzQyNDA2XXwwKTwoZHwwKSl7Y1s0MjQwNl09
ZTtlPXl3KGNbNDI0MDddfDAsZTw8NCl8MDtjWzQyNDA3XT1lfWVsc2UgZT1jWzQyNDA3XXwwO2ZE
KGEsYixlLGQpfDA7aWJbY1tnPj4yXSYxMjddKGEsZSxkKX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rp
b24gTEQoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MDtlPWNbYis2MD4+Ml18MDtpZigoZHww
PyEoKGV8MCk9PTB8KGFbZD4+MF18MCk9PTApOjApPyhmPWNbZSsxMTI+PjJdfDAsZnwwKTowKWhi
W2YmMzFdKGIsZCk7cmV0dXJufWZ1bmN0aW9uIE1EKGIsZCxlLGYsZyxpKXtiPWJ8MDtkPWR8MDtl
PWV8MDtmPWZ8MDtnPWd8MDtpPWl8MDt2YXIgaj0wLjAsaz0wLjAsbT0wLG49MCxvPTAuMCxwPTAu
MCxxPTAuMCxyPTAuMCxzPTAsdD0wLjAsdT0wLjAsdj0wLjAsdz0wLjAseD0wLHk9MCx6PTAsQT0w
LEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wO0Y9bDtsPWwrMTEyfDA7Qj1GKzY0fDA7RT1GO249Ris5
NnwwO3g9Ris0OHwwO3k9RiszMnwwO0M9Y1tiKzYwPj4yXXwwO2lmKCFiKW1hKDk2MDYxLDk2ZTMs
NjkxLDk2MDExKTtpZighZCltYSg5NjAzMCw5NmUzLDY5Miw5NjAxMSk7aWYoIShhW2Q+PjBdfDAp
KW1hKDk2MDM1LDk2ZTMsNjkzLDk2MDExKTtEPUxyKGQpfDA7aWYoIUQpe2lmKChDfDApIT0wJihQ
eShkKXwwKSE9MD8obT1jW0MrMTE2Pj4yXXwwLG18MCk6MClsYlttJjddKGIsZCxlLGYsZyYyNTUp
fWVsc2V7cz1iKzQzMnwwO2NbQj4+Ml09Y1tzPj4yXTtjW0IrND4+Ml09Y1tzKzQ+PjJdO2NbQis4
Pj4yXT1jW3MrOD4+Ml07Y1tCKzEyPj4yXT1jW3MrMTI+PjJdO09yKG4sRCxCKTtzPWNbbj4+Ml18
MDttPWNbbis0Pj4yXXwwO2lmKCEoKHN8MCk8MSYobXwwKTwxKSl7bj1FKzE2fDA7Y1tuPj4yXT1j
W2U+PjJdO2Nbbis0Pj4yXT1jW2UrND4+Ml07Y1tuKzg+PjJdPWNbZSs4Pj4yXTtjW24rMTI+PjJd
PWNbZSsxMj4+Ml07Y1tFPj4yXT1jW2U+PjJdO2NbRSs0Pj4yXT1jW2UrND4+Ml07Y1tFKzg+PjJd
PWNbZSs4Pj4yXTtjW0UrMTI+PjJdPWNbZSsxMj4+Ml07ej1FKzh8MDtBPUUrMjR8MDtkPTE7d2hp
bGUoMSl7aWYoKGR8MCk+PShmfDApKWJyZWFrO0c9ZSsoZDw8NCl8MDt2PStoW0c+PjNdO2hbRT4+
M109K2hbKCtoW0U+PjNdPHY/RTpHKT4+M107dz0raFtlKyhkPDw0KSs4Pj4zXTtoW3o+PjNdPSto
WygraFt6Pj4zXTx3P0U6RykrOD4+M107aFtuPj4zXT0raFsoK2hbbj4+M10+dj9uOkcpPj4zXTto
W0E+PjNdPStoWygraFtBPj4zXT53P246RykrOD4+M107ZD1kKzF8MH1rPStoW24+PjNdO2o9K2hb
RT4+M107dD1rLWo7dT0raFtBPj4zXTt2PStoW3o+PjNdO3c9dS12O289KyhtfDApO3A9KyhzfDAp
O3E9dC9wO3I9dy9vO2E6ZG8gc3dpdGNoKE5EKGkpfDApe2Nhc2UgMTppZihxPHIpe3A9cSpwO289
cSpvO2JyZWFrIGF9ZWxzZXtwPXIqcDtvPXIqbzticmVhayBhfWNhc2UgMjp7cD1xKnA7YnJlYWt9
Y2FzZSAzOntvPXIqbzticmVha31jYXNlIDQ6e3A9cSpwO289cipvO2JyZWFrfWRlZmF1bHQ6e319
d2hpbGUoMCk7aWYocDx0KXt0PSh0LXApKi41O2o9ait0O2hbRT4+M109ajtrPWstdDtoW24+PjNd
PWt9aWYobzx3KXt3PSh3LW8pKi41O2hbej4+M109dit3O2hbQT4+M109dS13fWlmKCEoY1tiKzE1
Mj4+Ml0mODE5Mikpe2NbQj4+Ml09Y1tFPj4yXTtjW0IrND4+Ml09Y1tFKzQ+PjJdO2NbQis4Pj4y
XT1jW0UrOD4+Ml07Y1tCKzEyPj4yXT1jW0UrMTI+PjJdO2VEKHgsYixCKTtjW0U+PjJdPWNbeD4+
Ml07Y1tFKzQ+PjJdPWNbeCs0Pj4yXTtjW0UrOD4+Ml09Y1t4Kzg+PjJdO2NbRSsxMj4+Ml09Y1t4
KzEyPj4yXTtjW0I+PjJdPWNbbj4+Ml07Y1tCKzQ+PjJdPWNbbis0Pj4yXTtjW0IrOD4+Ml09Y1tu
Kzg+PjJdO2NbQisxMj4+Ml09Y1tuKzEyPj4yXTtlRCh5LGIsQik7Y1tuPj4yXT1jW3k+PjJdO2Nb
bis0Pj4yXT1jW3krND4+Ml07Y1tuKzg+PjJdPWNbeSs4Pj4yXTtjW24rMTI+PjJdPWNbeSsxMj4+
Ml07az0raFtuPj4zXTtqPStoW0U+PjNdfWlmKGo+ayl7aFtFPj4zXT1rO2hbbj4+M109an1qPSto
W3o+PjNdO2s9K2hbQT4+M107aWYoaj5rKXtoW3o+PjNdPWs7aFtBPj4zXT1qfWlmKEN8MCl7Rz1j
W2IrNzI+PjJdfDA7Y1tCPj4yXT1jW0U+PjJdO2NbQis0Pj4yXT1jW0UrND4+Ml07Y1tCKzg+PjJd
PWNbRSs4Pj4yXTtjW0IrMTI+PjJdPWNbRSsxMj4+Ml07Y1tCKzE2Pj4yXT1jW0UrMTY+PjJdO2Nb
QisyMD4+Ml09Y1tFKzIwPj4yXTtjW0IrMjQ+PjJdPWNbRSsyND4+Ml07Y1tCKzI4Pj4yXT1jW0Ur
Mjg+PjJdO1BEKGIsRCxCLGcsRyl9fX1sPUY7cmV0dXJufWZ1bmN0aW9uIE5EKGIpe2I9YnwwO2lm
KGFbYj4+MF18MClpZihpSyhiLDk2MDQzKXwwKWlmKGlLKGIsOTYwNDkpfDApaWYoIShpSyhiLDk2
MDU2KXwwKSliPTQ7ZWxzZSBiPShJQShiKXwwKTw8MjQ+PjI0IT0wJjE7ZWxzZSBiPTM7ZWxzZSBi
PTI7ZWxzZSBiPTA7cmV0dXJuIGJ8MH1mdW5jdGlvbiBPRChhLGIpe2E9YXwwO2I9K2I7aWYoY1th
KzYwPj4yXXwwKWhbKGNbYSsxNj4+Ml18MCkrMTUyPj4zXT1iO3JldHVybn1mdW5jdGlvbiBQRChi
LGQsZSxmLGcpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MCxr
PTAsbT0wLG49MDtuPWw7bD1sKzE3NnwwO2s9bis4fDA7aj1uO2g9bis0MHwwO2lmKCFiKW1hKDk2
MDYxLDk2MDY1LDUyLDk2MDc5KTtpZighZCltYSg5NjA5MSw5NjA2NSw1Myw5NjA3OSk7aT1jW2Qr
OD4+Ml18MDtpZighaSltYSg5NjA5NCw5NjA2NSw1NCw5NjA3OSk7aWYoIShhW2k+PjBdfDApKW1h
KDk2MTAzLDk2MDY1LDU1LDk2MDc5KTt4SyhoLGNbZCsyOD4+Ml18MCl8MDtpPWgrKHJKKGgpfDAp
fDA7YVtpPj4wXT01ODthW2krMT4+MF09MDtJTChoLGcpfDA7aWYoKFFEKGIsaCl8MCk9PTk5OSl7
Y1tqPj4yXT1oO19sKDAsOTYxMTUsail8MH1nPWNbYis5Mj4+Ml18MDtpZihnfDA/KG09Y1tnPj4y
XXwwLG18MCk6MCl7Y1trPj4yXT1jW2U+PjJdO2Nbays0Pj4yXT1jW2UrND4+Ml07Y1trKzg+PjJd
PWNbZSs4Pj4yXTtjW2srMTI+PjJdPWNbZSsxMj4+Ml07Y1trKzE2Pj4yXT1jW2UrMTY+PjJdO2Nb
aysyMD4+Ml09Y1tlKzIwPj4yXTtjW2srMjQ+PjJdPWNbZSsyND4+Ml07Y1trKzI4Pj4yXT1jW2Ur
Mjg+PjJdO2tiW20mMzFdKGIsZCxrLGYpfWw9bjtyZXR1cm59ZnVuY3Rpb24gUUQoYSxiKXthPWF8
MDtiPWJ8MDtiPUpyKGNbYT4+Ml18MCw0LGIpfDA7aWYoIWIpYj05OTk7ZWxzZXtiPWNbYisxNj4+
Ml18MDtjW2ErOTI+PjJdPWNbYisxMj4+Ml07Y1thKzk2Pj4yXT1jW2I+PjJdO2I9MzAwfXJldHVy
biBifDB9ZnVuY3Rpb24gUkQoYSl7YT1hfDA7cmV0dXJuIDF9ZnVuY3Rpb24gU0QoYil7Yj1ifDA7
dmFyIGM9MDthW2IrNTM2Pj4wXT0wO2M9YiszMzZ8MDtoW2M+PjNdPStoW2M+PjNdKzEwLjAvK2hb
YiszNTI+PjNdO2FbYis1Mzc+PjBdPTE7cmV0dXJuIDB9ZnVuY3Rpb24gVEQoYil7Yj1ifDA7dmFy
IGM9MDthW2IrNTM2Pj4wXT0wO2M9YiszMzZ8MDtoW2M+PjNdPStoW2M+PjNdLTEwLjAvK2hbYisz
NTI+PjNdO2FbYis1Mzc+PjBdPTE7cmV0dXJuIDB9ZnVuY3Rpb24gVUQoYil7Yj1ifDA7dmFyIGM9
MDthW2IrNTM2Pj4wXT0wO2M9YiszNDR8MDtoW2M+PjNdPStoW2M+PjNdLTEwLjAvK2hbYiszNTI+
PjNdO2FbYis1Mzc+PjBdPTE7cmV0dXJuIDB9ZnVuY3Rpb24gVkQoYil7Yj1ifDA7dmFyIGM9MDth
W2IrNTM2Pj4wXT0wO2M9YiszNDR8MDtoW2M+PjNdPStoW2M+PjNdKzEwLjAvK2hbYiszNTI+PjNd
O2FbYis1Mzc+PjBdPTE7cmV0dXJuIDB9ZnVuY3Rpb24gV0QoYil7Yj1ifDA7dmFyIGM9MDthW2Ir
NTM2Pj4wXT0wO2M9YiszNTJ8MDtoW2M+PjNdPStoW2M+PjNdKjEuMTthW2IrNTM3Pj4wXT0xO3Jl
dHVybiAwfWZ1bmN0aW9uIFhEKGIpe2I9YnwwO3ZhciBjPTA7YVtiKzUzNj4+MF09MDtjPWIrMzUy
fDA7aFtjPj4zXT0raFtjPj4zXSouOTA5MDkwOTA5MDkwOTA5MTthW2IrNTM3Pj4wXT0xO3JldHVy
biAwfWZ1bmN0aW9uIFlEKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAuMCxpPTAuMDtlPWIr
NTM2fDA7ZD0oYVtlPj4wXXwwKT09MDthW2U+PjBdPWQmMTtpZihkKXtkPWNbYis0NDg+PjJdfDA7
ZT1jW2IrNDUyPj4yXXwwO2k9KyhkPj4+MCk7Zz0rKGU+Pj4wKTtmPWkvKyhkfDApPGcvKyhlfDAp
O2hbYiszNTI+PjNdPShmP2k6ZykvKygoZj9kOmUpfDApO2U9YiszMzZ8MDtjW2U+PjJdPTA7Y1tl
KzQ+PjJdPTA7Y1tlKzg+PjJdPTA7Y1tlKzEyPj4yXT0wO2FbYis1Mzc+PjBdPTF9cmV0dXJuIDB9
ZnVuY3Rpb24gWkQoYil7Yj1ifDA7dmFyIGQ9MCxlPTA7ZD1jWyhjW2I+PjJdfDApKzE2OD4+Ml18
MDtlPWIrNTgwfDA7aWYoIShjW2U+PjJdfDApKXtjW2U+PjJdPWQ7ZT0oY1tkKzE2Pj4yXXwwKSsx
MTJ8MDthW2U+PjBdPWFbZT4+MF18MjtuRShiLGQpfWd1KGIsZCk7YVtiKzU0MD4+MF09MTtyZXR1
cm59ZnVuY3Rpb24gX0QoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLjAsaT0w
LjAsaj0wLGs9MDtrPWw7bD1sKzE2fDA7Zj1rO3N3aXRjaChkfDApe2Nhc2UgMTp7Y1tmPj4yXT1j
W2U+PjJdO2NbZis0Pj4yXT1jW2UrND4+Ml07Y1tmKzg+PjJdPWNbZSs4Pj4yXTtjW2YrMTI+PjJd
PWNbZSsxMj4+Ml07Z0UoYixmKTttRShiKTthW2IrNTM4Pj4wXT0xO2FbYis1NDE+PjBdPTE7aj0x
MzticmVha31jYXNlIDI6e2FbYis1Mzg+PjBdPTE7YVtiKzU0MT4+MF09MjtqPTEzO2JyZWFrfWNh
c2UgMzp7Y1tmPj4yXT1jW2U+PjJdO2NbZis0Pj4yXT1jW2UrND4+Ml07Y1tmKzg+PjJdPWNbZSs4
Pj4yXTtjW2YrMTI+PjJdPWNbZSsxMj4+Ml07Z0UoYixmKTthW2IrNTM4Pj4wXT0xO2FbYis1NDE+
PjBdPTM7aj0xMzticmVha31jYXNlIDQ6e2FbYis1MzY+PjBdPTA7aWYoIShjW2IrMzYwPj4yXXww
KSl7Zj1iKzM1MnwwO2k9K2hbZj4+M107ZD1iKzMzNnwwO2hbZD4+M109KCtoW2U+PjNdLSsoKGNb
Yis0NDg+PjJdfDApPj4+MCkqLjUpKi4xMDAwMDAwMDAwMDAwMDAwOS8oK2hbYis1MjA+PjNdKmkp
KyAraFtkPj4zXTtnPStoW2UrOD4+M10tKygoY1tiKzQ1Mj4+Ml18MCk+Pj4wKSouNTtkPWIrNTI4
fDB9ZWxzZXtmPWIrMzUyfDA7aT0raFtmPj4zXTtkPWIrMzM2fDA7aFtkPj4zXT0raFtkPj4zXS0o
K2hbZSs4Pj4zXS0rKChjW2IrNDUyPj4yXXwwKT4+PjApKi41KSouMTAwMDAwMDAwMDAwMDAwMDkv
KCtoW2IrNTI4Pj4zXSppKTtnPStoW2U+PjNdLSsoKGNbYis0NDg+PjJdfDApPj4+MCkqLjU7ZD1i
KzUyMHwwfWo9YiszNDR8MDtoW2o+PjNdPWcqLjEwMDAwMDAwMDAwMDAwMDA5LygraFtkPj4zXSpp
KSsgK2hbaj4+M107aFtmPj4zXT1pKjEuMTtqPTEzO2JyZWFrfWNhc2UgNTp7YVtiKzUzNj4+MF09
MDtqPWIrMzUyfDA7aT0raFtqPj4zXSouOTA5MDkwOTA5MDkwOTA5MTtoW2o+PjNdPWk7aWYoIShj
W2IrMzYwPj4yXXwwKSl7Zj1iKzMzNnwwO2hbZj4+M109K2hbZj4+M10tKCtoW2U+PjNdLSsoKGNb
Yis0NDg+PjJdfDApPj4+MCkqLjUpKi4xMDAwMDAwMDAwMDAwMDAwOS8oK2hbYis1MjA+PjNdKmkp
O2c9K2hbZSs4Pj4zXS0rKChjW2IrNDUyPj4yXXwwKT4+PjApKi41O2Y9Yis1Mjh8MH1lbHNle2Y9
YiszMzZ8MDtoW2Y+PjNdPSgraFtlKzg+PjNdLSsoKGNbYis0NTI+PjJdfDApPj4+MCkqLjUpKi4x
MDAwMDAwMDAwMDAwMDAwOS8oK2hbYis1Mjg+PjNdKmkpKyAraFtmPj4zXTtnPStoW2U+PjNdLSso
KGNbYis0NDg+PjJdfDApPj4+MCkqLjU7Zj1iKzUyMHwwfWo9YiszNDR8MDtoW2o+PjNdPStoW2o+
PjNdLWcqLjEwMDAwMDAwMDAwMDAwMDA5LygraFtmPj4zXSppKTtqPTEzO2JyZWFrfWRlZmF1bHQ6
e319aWYoKGp8MCk9PTEzKWFbYis1Mzc+PjBdPTE7Yj1iKzU2MHwwO2NbYj4+Ml09Y1tlPj4yXTtj
W2IrND4+Ml09Y1tlKzQ+PjJdO2NbYis4Pj4yXT1jW2UrOD4+Ml07Y1tiKzEyPj4yXT1jW2UrMTI+
PjJdO2w9aztyZXR1cm59ZnVuY3Rpb24gJEQoYixjLGQpe2I9YnwwO2M9Y3wwO2Q9ZHwwO2FbYis1
Mzg+PjBdPTA7YVtiKzU0MT4+MF09MDtyZXR1cm59ZnVuY3Rpb24gYUUoYixkKXtiPWJ8MDtkPWR8
MDt2YXIgZT0wLGY9MC4wLGc9MC4wLGk9MCxqPTAuMCxrPTA7az1sO2w9bCsxNnwwO2U9aztpPWIr
NTYwfDA7aj0oK2hbZD4+M10tK2hbaT4+M10pLytoW2IrNTIwPj4zXTtnPSgraFtkKzg+PjNdLSto
W2IrNTY4Pj4zXSkvK2hbYis1Mjg+PjNdO2lmKCEoK0IoK2opPC4wMDAxJitCKCtnKTwuMDAwMSkp
e3N3aXRjaChhW2IrNTQxPj4wXXwwKXtjYXNlIDA6e2NbZT4+Ml09Y1tkPj4yXTtjW2UrND4+Ml09
Y1tkKzQ+PjJdO2NbZSs4Pj4yXT1jW2QrOD4+Ml07Y1tlKzEyPj4yXT1jW2QrMTI+PjJdO2dFKGIs
ZSk7YnJlYWt9Y2FzZSAyOntmPStoW2IrMzUyPj4zXTtpZighKGNbYiszNjA+PjJdfDApKXtlPWIr
MzM2fDA7aFtlPj4zXT0raFtlPj4zXS1qL2Y7ZT1iKzM0NHwwO2hbZT4+M109K2hbZT4+M10tZy9m
fWVsc2V7ZT1iKzMzNnwwO2hbZT4+M109K2hbZT4+M10tZy9mO2U9YiszNDR8MDtoW2U+PjNdPSto
W2U+PjNdK2ovZn1hW2IrNTM3Pj4wXT0xO2JyZWFrfWRlZmF1bHQ6e319Y1tpPj4yXT1jW2Q+PjJd
O2NbaSs0Pj4yXT1jW2QrND4+Ml07Y1tpKzg+PjJdPWNbZCs4Pj4yXTtjW2krMTI+PjJdPWNbZCsx
Mj4+Ml19bD1rO3JldHVybn1mdW5jdGlvbiBiRShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7cmV0
dXJufWZ1bmN0aW9uIGNFKGEpe2E9YXwwO3JldHVybn1mdW5jdGlvbiBkRShiLGQsZSl7Yj1ifDA7
ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTA7aj1jW2I+PjJdfDA7aWYoZCl7ZD1h
TShkLDEyMzYzMil8MDtpZihkfDApe2k9ZXIoZCwwKXwwO0xMKGQpfDA7Zj01fX1lbHNle2k9ZXIo
Y1sxMzg1M118MCwwKXwwO2Y9NX1pZigoZnwwKT09NT9pfDA6MCl7Zz1qKzE2OHwwO2Q9Y1tnPj4y
XXwwO2lmKGR8MCl7Zj1jW2orMTcyPj4yXXwwO2lmKChmfDApIT0wPyhoPWNbZis0Pj4yXXwwLCho
fDApIT0wKTowKXtnYltoJjEyN10oZCk7ZD1jW2c+PjJdfDB9aXcoZCk7bG4oY1tnPj4yXXwwKXww
fVNvKGksMCwxMjIyNzcsMjgwLDEpO1NvKGksMSwxMjIyNDEsMzA0LDEpO1NvKGksMiwxMjIyNTQs
MTc2LDEpO2NbZz4+Ml09aTtjWyhjW2krMTY+PjJdfDApKzE0ND4+Ml09ajtpZigobHMoaixpLGUp
fDApIT0tMSl7Y1tiKzU4MD4+Ml09MDtjW2IrNTc2Pj4yXT0wO2FbYis1Mzc+PjBdPTF9fXJldHVy
bn1mdW5jdGlvbiBlRShhLGIpe2E9YXwwO2I9YnwwO2E9Y1thPj4yXXwwO2xzKGEsY1thKzE2OD4+
Ml18MCxiKXwwO3JldHVybn1mdW5jdGlvbiBmRShhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFy
IGU9MCxmPTAsZz0wLGg9MCxpPTA7Zz1jW2E+PjJdfDA7Zj1nKzE2MHwwO2U9Y1tmPj4yXXwwO2lm
KChlfDApIT0wPyhjW2crMTY0Pj4yXXwwKT09MDowKXtpPWcrMTkyfDA7aD1jW2k+PjJdfDA7Y1tm
Pj4yXT0wO2NbaT4+Ml09MDtmPWh9ZWxzZXtmPTA7ZT0wfW5zKGcsY1tnKzE2OD4+Ml18MCxiLGQp
fDA7aWYoZXwwKXtpPWNbYT4+Ml18MDtjW2krMTYwPj4yXT1lO2NbaSsxOTI+PjJdPWZ9cmV0dXJu
fWZ1bmN0aW9uIGdFKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGk9MC4wLGo9MC4w
LGs9MC4wLG09MDtmPWw7bD1sKzgwfDA7ZT1mKzQ4fDA7Zz1mO209ZiszMnwwO2NbZT4+Ml09Y1tk
Pj4yXTtjW2UrND4+Ml09Y1tkKzQ+PjJdO2NbZSs4Pj4yXT1jW2QrOD4+Ml07Y1tlKzEyPj4yXT1j
W2QrMTI+PjJdO2hFKG0sYixlKTtrPStoW20+PjNdO2o9K2hbbSs4Pj4zXTtpPTEuMC8raFtiKzM1
Mj4+M107aFtnKzE2Pj4zXT1pK2s7aFtnKzI0Pj4zXT1pK2o7aFtnPj4zXT1rLWk7aFtnKzg+PjNd
PWotaTtkPWNbKGNbYj4+Ml18MCkrMTY4Pj4yXXwwO2NbZT4+Ml09Y1tnPj4yXTtjW2UrND4+Ml09
Y1tnKzQ+PjJdO2NbZSs4Pj4yXT1jW2crOD4+Ml07Y1tlKzEyPj4yXT1jW2crMTI+PjJdO2NbZSsx
Nj4+Ml09Y1tnKzE2Pj4yXTtjW2UrMjA+PjJdPWNbZysyMD4+Ml07Y1tlKzI0Pj4yXT1jW2crMjQ+
PjJdO2NbZSsyOD4+Ml09Y1tnKzI4Pj4yXTtkPWlFKGQsZSl8MDtlPWIrNTc2fDA7aWYoKGR8MCkh
PShjW2U+PjJdfDApKXtqRShiKTtjW2U+PjJdPWQ7a0UoYik7YVtiKzUzNz4+MF09MX1sPWY7cmV0
dXJufWZ1bmN0aW9uIGhFKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLjAsZj0wLjAs
Zz0wLjAsaT0wO2lmKCEoY1tiKzM2MD4+Ml18MCkpe2U9K2hbYiszNTI+PjNdO2Y9K2hbZCs4Pj4z
XTtnPWU7aT1iKzUyOHwwO2U9K2hbZD4+M10vKCtoW2IrNTIwPj4zXSplKS0raFtiKzUwND4+M119
ZWxzZXtlPStoW2IrMzUyPj4zXTtmPS0raFtkPj4zXTtnPWU7aT1iKzUyMHwwO2U9K2hbZCs4Pj4z
XS8oK2hbYis1Mjg+PjNdKmUpLStoW2IrNTA0Pj4zXX1nPWYvKCtoW2k+PjNdKmcpLStoW2IrNTEy
Pj4zXTtoW2E+PjNdPWU7aFthKzg+PjNdPWc7cmV0dXJufWZ1bmN0aW9uIGlFKGEsYil7YT1hfDA7
Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MDtnPWw7bD1sKzMyfDA7Zj1nO2U9Y28oYSl8MDthOndo
aWxlKDEpe2lmKCFlKXtlPTk7YnJlYWt9ZD1QbShhLGUpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7
Y1tmPj4yXT1jW2I+PjJdO2NbZis0Pj4yXT1jW2IrND4+Ml07Y1tmKzg+PjJdPWNbYis4Pj4yXTtj
W2YrMTI+PjJdPWNbYisxMj4+Ml07Y1tmKzE2Pj4yXT1jW2IrMTY+PjJdO2NbZisyMD4+Ml09Y1ti
KzIwPj4yXTtjW2YrMjQ+PjJdPWNbYisyND4+Ml07Y1tmKzI4Pj4yXT1jW2IrMjg+PjJdO2lmKChE
QihkLGYpfDApPDwyND4+MjQpe2U9NjticmVhayBhfWQ9Um0oYSxkKXwwfWU9ZW8oYSxlKXwwfWRv
IGlmKChlfDApIT02KWlmKChlfDApPT05KXtkPWZvKGEpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7
Y1tmPj4yXT1jW2I+PjJdO2NbZis0Pj4yXT1jW2IrND4+Ml07Y1tmKzg+PjJdPWNbYis4Pj4yXTtj
W2YrMTI+PjJdPWNbYisxMj4+Ml07Y1tmKzE2Pj4yXT1jW2IrMTY+PjJdO2NbZisyMD4+Ml09Y1ti
KzIwPj4yXTtjW2YrMjQ+PjJdPWNbYisyND4+Ml07Y1tmKzI4Pj4yXT1jW2IrMjg+PjJdO2lmKChB
QihkLGYpfDApPDwyND4+MjQpe2U9MTI7YnJlYWt9ZD1nbyhhLGQpfDB9aWYoKGV8MCk9PTEyKWJy
ZWFrO2NbZj4+Ml09Y1tiPj4yXTtjW2YrND4+Ml09Y1tiKzQ+PjJdO2NbZis4Pj4yXT1jW2IrOD4+
Ml07Y1tmKzEyPj4yXT1jW2IrMTI+PjJdO2NbZisxNj4+Ml09Y1tiKzE2Pj4yXTtjW2YrMjA+PjJd
PWNbYisyMD4+Ml07Y1tmKzI0Pj4yXT1jW2IrMjQ+PjJdO2NbZisyOD4+Ml09Y1tiKzI4Pj4yXTtk
PWxFKGEsZil8MDtpZighZCl7ZD1hO2JyZWFrfWVsc2UgYnJlYWt9d2hpbGUoMCk7bD1nO3JldHVy
biBkfDB9ZnVuY3Rpb24gakUoYil7Yj1ifDA7dmFyIGQ9MDtkPWNbYis1NzY+PjJdfDA7YTpkbyBp
ZihkfDApc3dpdGNoKENvKGQpfDApe2Nhc2UgMDp7ZD0oY1tkKzE2Pj4yXXwwKSsxMTJ8MDthW2Q+
PjBdPWFbZD4+MF0mLTI7YnJlYWsgYX1jYXNlIDE6e2Q9KGNbZCsxNj4+Ml18MCkrMTE3fDA7YVtk
Pj4wXT1hW2Q+PjBdJi0yO2JyZWFrIGF9Y2FzZSAyOntkPShjW2QrMTY+PjJdfDApKzExNXwwO2Fb
ZD4+MF09YVtkPj4wXSYtMjticmVhayBhfWRlZmF1bHQ6YnJlYWsgYX13aGlsZSgwKTtjW2IrNTg0
Pj4yXT0wO3JldHVybn1mdW5jdGlvbiBrRShiKXtiPWJ8MDt2YXIgZD0wLGU9MDtlPWIrNTg0fDA7
ZD1jW2U+PjJdfDA7aWYoZHwwKXtfSShkKTtjW2U+PjJdPTB9ZD1jW2IrNTc2Pj4yXXwwO2E6ZG8g
aWYoZHwwKXN3aXRjaChDbyhkKXwwKXtjYXNlIDA6e2I9KGNbZCsxNj4+Ml18MCkrMTEyfDA7YVti
Pj4wXT1hW2I+PjBdfDE7Yj15bShkLDAsOTYyMjksMCl8MDtpZighYilicmVhayBhO2NbZT4+Ml09
cXcoSm0oZCxiKXwwLGQpfDA7YnJlYWsgYX1jYXNlIDE6e2I9KGNbZCsxNj4+Ml18MCkrMTE3fDA7
YVtiPj4wXT1hW2I+PjBdfDE7Yj15bShybyhkKXwwLDEsOTYyMjksMCl8MDtpZighYilicmVhayBh
O2NbZT4+Ml09cXcoSm0oZCxiKXwwLGQpfDA7YnJlYWsgYX1jYXNlIDI6e2I9KGNbZCsxNj4+Ml18
MCkrMTE1fDA7YVtiPj4wXT1hW2I+PjBdfDE7Yj15bShybyhjWygoY1tkPj4yXSYzfDApPT0yP2Q6
ZCstNDh8MCkrNDA+PjJdfDApfDAsMiw5NjIyOSwwKXwwO2lmKCFiKWJyZWFrIGE7Y1tlPj4yXT1x
dyhKbShkLGIpfDAsZCl8MDticmVhayBhfWRlZmF1bHQ6YnJlYWsgYX13aGlsZSgwKTtyZXR1cm59
ZnVuY3Rpb24gbEUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGk9MCxqPTAs
az0wLG09MCxuPTAuMCxvPTAuMDttPWw7bD1sKzMyfDA7ZT1tO2c9Y1thKzE2Pj4yXXwwO2k9Y1tn
KzE4MD4+Ml18MDtqPWcrMTg0fDA7ZD0xO3doaWxlKDEpe2lmKChkfDApPihpfDApKXtrPTQ7YnJl
YWt9Zj1jWyhjW2o+PjJdfDApKyhkPDwyKT4+Ml18MDtjW2U+PjJdPWNbYj4+Ml07Y1tlKzQ+PjJd
PWNbYis0Pj4yXTtjW2UrOD4+Ml09Y1tiKzg+PjJdO2NbZSsxMj4+Ml09Y1tiKzEyPj4yXTtjW2Ur
MTY+PjJdPWNbYisxNj4+Ml07Y1tlKzIwPj4yXT1jW2IrMjA+PjJdO2NbZSsyND4+Ml09Y1tiKzI0
Pj4yXTtjW2UrMjg+PjJdPWNbYisyOD4+Ml07Zj1sRShmLGUpfDA7aWYoIWYpZD1kKzF8MDtlbHNl
e2E9ZjticmVha319ZG8gaWYoKGt8MCk9PTQpe289K2hbZysyND4+M107bj0raFtnKzQwPj4zXTtp
ZigoKCtoW2IrMTY+PjNdPj0raFtnKzE2Pj4zXT8raFtnKzMyPj4zXT49K2hbYj4+M106MCk/K2hb
YisyND4+M10+PW86MCk/bj49K2hbYis4Pj4zXTowKWJyZWFrO2E9MH13aGlsZSgwKTtsPW07cmV0
dXJuIGF8MH1mdW5jdGlvbiBtRShiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTA7Zj1iKzU4MHwwO2Q9
Y1tmPj4yXXwwO2E6ZG8gaWYoZHwwKXN3aXRjaChDbyhkKXwwKXtjYXNlIDA6e2U9KGNbZCsxNj4+
Ml18MCkrMTEyfDA7YVtlPj4wXT1hW2U+PjBdJi03fDQ7YnJlYWsgYX1jYXNlIDE6e2U9KGNbZCsx
Nj4+Ml18MCkrMTE3fDA7YVtlPj4wXT1hW2U+PjBdJi03fDQ7YnJlYWsgYX1jYXNlIDI6e2U9KGNb
ZCsxNj4+Ml18MCkrMTE1fDA7YVtlPj4wXT1hW2U+PjBdJi03fDQ7YnJlYWsgYX1kZWZhdWx0OmJy
ZWFrIGF9d2hpbGUoMCk7ZD1iKzU4OHwwO2U9Y1tkPj4yXXwwO2lmKGV8MCl7X0koZSk7Y1tkPj4y
XT0wfWQ9Y1tiKzU3Nj4+Ml18MDtjW2Y+PjJdPWQ7YjpkbyBpZihkfDApc3dpdGNoKENvKGQpfDAp
e2Nhc2UgMDp7Zj0oY1tkKzE2Pj4yXXwwKSsxMTJ8MDthW2Y+PjBdPWFbZj4+MF18MjtuRShiLGQp
O2JyZWFrIGJ9Y2FzZSAxOntmPShjW2QrMTY+PjJdfDApKzExN3wwO2FbZj4+MF09YVtmPj4wXXwy
O29FKGIsZCk7YnJlYWsgYn1jYXNlIDI6e2Y9KGNbZCsxNj4+Ml18MCkrMTE1fDA7YVtmPj4wXT1h
W2Y+PjBdfDI7cEUoYixkKTticmVhayBifWRlZmF1bHQ6YnJlYWsgYn13aGlsZSgwKTtyZXR1cm59
ZnVuY3Rpb24gbkUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wO2Q9YSs1OTJ8
MDtkbyBpZigoc28oYil8MCk9PShifDApKWlmKCEocW4oYil8MCkpe0VyKGQsMCw5NjI4Nik7YnJl
YWt9ZWxzZXtFcihkLDAsOTYyNzgpO2JyZWFrfWVsc2UgRXIoZCwwLDk2MjkyKTt3aGlsZSgwKTtF
cihkLDEsRG4oYil8MCk7Y1thKzU5Nj4+Ml09MjtmPWErNjA0fDA7ZD0wO2U9Mjt3aGlsZSgxKXtk
PURtKGIsMCxkKXwwO2lmKCFkKWJyZWFrO0VyKGYsZSxjW2QrOD4+Ml18MCk7RXIoZixlKzF8MCxK
bShiLGQpfDApO0VyKGYsZSsyfDAsMCk7ZT1lKzN8MH1jW2ErNjA4Pj4yXT1lO2Q9eW0oYiwwLDk2
MjY0LDApfDA7aWYoIWQpe2Q9eW0oYiwwLDk2MjY5LDApfDA7aWYoZHwwKWc9MTF9ZWxzZSBnPTEx
O2lmKChnfDApPT0xMSljW2ErNTg4Pj4yXT1xdyhKbShiLGQpfDAsYil8MDtyZXR1cm59ZnVuY3Rp
b24gb0UoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MDtmPWErNTkyfDA7
RXIoZiwwLDk2MjczKTtFcihmLDEsRG4oYil8MCk7Y1thKzU5Nj4+Ml09MjtmPWErNjA0fDA7Zz1z
byhybyhiKXwwKXwwO2U9MjtkPTA7d2hpbGUoMSl7ZD1EbShnLDEsZCl8MDtpZighZClicmVhaztF
cihmLGUsY1tkKzg+PjJdfDApO0VyKGYsZXwxLEptKGIsZCl8MCk7ZT1lKzJ8MH1jW2ErNjA4Pj4y
XT1lO2Q9eW0ocm8oYil8MCwxLDk2MjY0LDApfDA7aWYoIWQpe2Q9eW0ocm8oYil8MCwxLDk2MjY5
LDApfDA7aWYoZHwwKWg9Nn1lbHNlIGg9NjtpZigoaHwwKT09NiljW2ErNTg4Pj4yXT1xdyhKbShi
LGQpfDAsYil8MDtyZXR1cm59ZnVuY3Rpb24gcEUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9
MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTA7aD1hKzU5MnwwO0VyKGgsMCw5NjIzNyk7az1i
KzQ4fDA7RXIoaCwxLERuKGNbKChjW2I+PjJdJjN8MCk9PTM/YjprKSs0MD4+Ml18MCl8MCk7az0o
cW4ocm8oY1soKGNbYj4+Ml0mM3wwKT09Mz9iOmspKzQwPj4yXXwwKXwwKXwwKSE9MDtFcihoLDMs
az8xMjI1NDY6MTIyNTQ5KTtrPWIrLTQ4fDA7RXIoaCw0LERuKGNbKChjW2I+PjJdJjN8MCk9PTI/
YjprKSs0MD4+Ml18MCl8MCk7Y1thKzU5Nj4+Ml09NztpPWErNjA0fDA7aj1zbyhybyhjWygoY1ti
Pj4yXSYzfDApPT0yP2I6aykrNDA+PjJdfDApfDApfDA7Zz03O2Q9MDthOndoaWxlKDEpe3doaWxl
KDEpe2Q9RG0oaiwyLGQpfDA7aWYoIWQpYnJlYWsgYTtlPWQrOHwwO2Y9Y1tlPj4yXXwwO2lmKCEo
eEooZiw5NjI0Mil8MCkpe2w9NTticmVha31pZighKHhKKGYsOTYyNTEpfDApKXtsPTc7YnJlYWt9
aWYoeEooZiw5NjI2MCl8MClicmVhaztFcihoLDYsSm0oYixkKXwwKX1pZigobHwwKT09NSl7bD0w
O0VyKGgsMixKbShiLGQpfDApfWVsc2UgaWYoKGx8MCk9PTcpe2w9MDtFcihoLDUsSm0oYixkKXww
KX1FcihpLGcsY1tlPj4yXXwwKTtFcihpLGcrMXwwLEptKGIsZCl8MCk7Zz1nKzJ8MH1jW2ErNjA4
Pj4yXT1nO2Q9eW0ocm8oY1soKGNbYj4+Ml0mM3wwKT09Mj9iOmspKzQwPj4yXXwwKXwwLDIsOTYy
NjQsMCl8MDtpZighZCl7ZD15bShybyhjWygoY1tiPj4yXSYzfDApPT0yP2I6aykrNDA+PjJdfDAp
fDAsMiw5NjI2OSwwKXwwO2lmKGR8MClsPTEzfWVsc2UgbD0xMztpZigobHwwKT09MTMpY1thKzU4
OD4+Ml09cXcoSm0oYixkKXwwLGIpfDA7cmV0dXJufWZ1bmN0aW9uIHFFKGEsYixkKXthPWF8MDti
PWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTA7Zz1yRShhLGIsY1tkPj4yXXwwKXwwO2Q9Y1tkKzQ+
PjJdfDA7d2hpbGUoMSl7Zj1jW2QrND4+Ml18MDtpZighZilicmVhaztiPTA7d2hpbGUoMSl7ZT1j
W2YrKGIqMjB8MCkrND4+Ml18MDtpZighZSlicmVhaztIcihhLGNbZD4+Ml18MCxlLGNbZisoYioy
MHwwKSs4Pj4yXXwwLGcsZisoYioyMHwwKXwwKXwwO2I9YisxfDB9ZD1kKzh8MH1yZXR1cm59ZnVu
Y3Rpb24gckUoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTA7ZT13dygxMil8MDtpZigh
YiliPTA7ZWxzZSBiPUdMKGIpfDA7Y1tlKzQ+PjJdPWI7Y1tlKzg+PjJdPUdMKGQpfDA7ZD1hKzEw
MHwwO2NbZT4+Ml09Y1tkPj4yXTtjW2Q+PjJdPWU7cmV0dXJuIGV8MH1mdW5jdGlvbiBzRShiLGMp
e2I9YnwwO2M9Y3wwO3RFKGIpO2FbYis0ND4+MF09MDt1RShiKXwwO3RBKGIpfDA7cmV0dXJufWZ1
bmN0aW9uIHRFKGIpe2I9YnwwO3ZhciBkPTAsZT0wO2Q9Y1tiKzMyPj4yXXwwO2E6ZG8gaWYoZHww
KXdoaWxlKDEpe2U9Y1tkPj4yXXwwO2lmKCFlKWJyZWFrIGE7aWYoKGFbZT4+MF18MCk9PTEwMz9o
TChlLDk2MzAxKXwwOjApcUUoYiwwLGNbZCs0Pj4yXXwwKTtkPWQrOHwwfXdoaWxlKDApO3JldHVy
bn1mdW5jdGlvbiB1RShhKXthPWF8MDt2YXIgYj0wO2I9SnIoYSwyLDk2MzE0KXwwO2lmKCFiKWE9
OTk5O2Vsc2V7Y1thKzE0OD4+Ml09Y1soY1tiKzE2Pj4yXXwwKSsxMj4+Ml07YT0zMDB9cmV0dXJu
IGF8MH1mdW5jdGlvbiB2RShhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MDthPWNbYSsx
NDg+PjJdfDA7aWYoKGF8MCkhPTA/KGU9Y1thPj4yXXwwLChlfDApIT0wKTowKWE9YWJbZSY2M10o
YixkKXwwO2Vsc2UgYT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gd0UoYSxiLGQsZSl7YT1hfDA7Yj1i
fDA7ZD1kfDA7ZT1lfDA7cmV0dXJuIChjW2I+PjJdfDApLShjW2Q+PjJdfDApfDB9ZnVuY3Rpb24g
eEUoYSl7YT1hfDA7dmFyIGI9MC4wLGQ9MC4wO2E9Y1thKzE2Pj4yXXwwO2Q9K2hbYSsxNj4+M107
Yj0raFthKzI0Pj4zXTtyZXR1cm4gKHlFKH5+KGQ+Yj9kOmIpPj4+MCl8MCkrMXwwfWZ1bmN0aW9u
IHlFKGEpe2E9YXwwO3ZhciBiPTAsYz0wO2lmKCFhKWE9LTE7ZWxzZXtjPWE+Pj4wPjY1NTM1O2E9
Yz9hPj4+MTY6YTtjPWM/MTY6MDtiPWE+Pj4wPjI1NTthPWI/YT4+Pjg6YTtjPWI/Y3w4OmM7Yj1h
Pj4+MD4xNTthPWI/YT4+PjQ6YTtjPWI/Y3w0OmM7Yj1hPj4+MD4zO2E9KGI/Y3wyOmMpKygoYj9h
Pj4+MjphKT4+PjA+MSYxKXwwfXJldHVybiBhfDB9ZnVuY3Rpb24gekUoYixkLGUsZixnKXtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaT0wLjAsaj0wLjAsaz0wLG09MCxuPTAsbz0w
LHA9MCxxPTAscj0wO3I9bDtsPWwrMzJ8MDtxPXI7cD1BRShiLGQsZSxmLGcpfDA7ZT1CRShwKXww
O2lmKChlfDApPj0wKXtuPXErMTZ8MDtvPXErMjR8MDttPXErOHwwO2s9ZyszMnwwO2U9MDtnPTA7
d2hpbGUoMSl7aWYoKGd8MCk+PShkfDApKWJyZWFrO2Y9YisoZyo0MHwwKSszMnwwO2RvIGlmKGNb
Zj4+Ml18MCl7Q0UocSxwLGIrKGcqNDB8MCl8MCk7aT0raFtuPj4zXTtqPStoW28+PjNdO2lmKCEo
Y1txPj4yXXwwKSl7YVsoY1tmPj4yXXwwKSszNj4+MF09MTticmVha31pZigraFttPj4zXT09MC4w
KXtmPWNbZj4+Ml18MDtoW2YrMTY+PjNdPWk7aFtmKzI0Pj4zXT1qO2FbZiszNj4+MF09MTticmVh
a31pZigoYVtrPj4wXXwwKT09MSl7Zj1jW2Y+PjJdfDA7aFtmKzE2Pj4zXT1pO2hbZisyND4+M109
ajthW2YrMzY+PjBdPTF9ZWxzZSBlPTF9d2hpbGUoMCk7Zz1nKzF8MH1ERShwKX1sPXI7cmV0dXJu
IGV8MH1mdW5jdGlvbiBBRShhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9Znww
O3ZhciBnPTAsaD0wLGk9MCxqPTA7Zz12dygyOCl8MDtqPVFsKDI0ODk2LGNbNDM0OF18MCl8MDto
PWcrMjB8MDtjW2g+PjJdPWo7ZG8gaWYoail7aj1qSCgpfDA7Y1tnKzI0Pj4yXT1qO2lmKCFqKXtY
TCg5NjUzMiwxNCwxLGNbMTM5MThdfDApfDA7aT02O2JyZWFrfWVsc2V7Y1tnPj4yXT1hO2NbZys0
Pj4yXT1iO2NbZys4Pj4yXT1kO2NbZysxMj4+Ml09ZTtjW2crMTY+PjJdPWY7YnJlYWt9fWVsc2V7
WEwoOTY1MzIsMTQsMSxjWzEzOTE4XXwwKXwwO2k9Nn13aGlsZSgwKTtpZigoaXwwKT09Nil7YT1j
W2g+PjJdfDA7aWYoYXwwKUtsKGEpfDA7YT1jW2crMjQ+PjJdfDA7aWYoYXwwKWxIKGEpfDA7X0ko
Zyk7Zz0wfXJldHVybiBnfDB9ZnVuY3Rpb24gQkUoYSl7YT1hfDA7dmFyIGI9MDtiPU1FKGEpfDA7
aWYoKGJ8MCk+PTApe05FKGEpO09FKGEpO2I9S2woY1thKzIwPj4yXXwwKXwwfXJldHVybiBifDB9
ZnVuY3Rpb24gQ0UoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAuMCxmPTAsZz0wLGk9
MC4wLGo9MCxrPTAuMCxtPTAsbj0wLG89MCxwPTAscT0wLjAscj0wLHM9MCx0PTAsdT0wLHY9MCx3
PTAseD0wLHk9MCx6PTAsQT0wLjAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAs
Sz0wLjAsTD0wLE09MDtNPWw7bD1sKzQ2NHwwO0o9TSs0MTZ8MDtMPU0rNDAwfDA7Rz1NKzM4NHww
O209TSszNTJ8MDtuPU0rMzIwfDA7bz1NKzI4OHwwO3A9TSsyNTZ8MDtyPU0rMjI0fDA7cz1NKzE5
MnwwO3Q9TSsxNjB8MDt1PU0rMTI4fDA7dj1NKzk2fDA7eD1NKzY0fDA7eT1NKzMyfDA7SD1NO3o9
Y1tkKzMyPj4yXXwwO2U9K2hbej4+M107Qz1kKzE2fDA7QT0oZSoyLjArICtoW0M+PjNdKSouMTI1
O0Q9eis4fDA7ST1kKzI0fDA7aT0raFtJPj4zXTtLPSgraFtEPj4zXSoyLjAraSkqLjU7aWYoIXop
bWEoOTYzMjUsOTYzMzUsNDQ1LDk2MzQ1KTtmPUo7Zz1mKzM2fDA7ZG97Y1tmPj4yXT0wO2Y9Zis0
fDB9d2hpbGUoKGZ8MCk8KGd8MCkpO0I9eisxNnwwO2hbQj4+M109K2hbZD4+M10tZTtFPWQrOHww
O0Y9eisyNHwwO2hbRj4+M109aSsgK2hbRT4+M107RUUobSxiLGQsSik7aj1jW20+PjJdfDA7Zj1j
W20rND4+Ml18MDtlPStoW20rOD4+M107bT1tKzE2fDA7Y1tMPj4yXT1jW20+PjJdO2NbTCs0Pj4y
XT1jW20rND4+Ml07Y1tMKzg+PjJdPWNbbSs4Pj4yXTtjW0wrMTI+PjJdPWNbbSsxMj4+Ml07YTpk
byBpZighail7Y1thPj4yXT0wO2NbYSs0Pj4yXT1mO2hbYSs4Pj4zXT1lO2E9YSsxNnwwO2NbYT4+
Ml09Y1tMPj4yXTtjW2ErND4+Ml09Y1tMKzQ+PjJdO2NbYSs4Pj4yXT1jW0wrOD4+Ml07Y1thKzEy
Pj4yXT1jW0wrMTI+PjJdfWVsc2V7aFtGPj4zXT0raFtFPj4zXTtFRShuLGIsZCxKKTtnPWNbbj4+
Ml18MDttPWNbbis0Pj4yXXwwO2k9K2hbbis4Pj4zXTtuPW4rMTZ8MDtjW0c+PjJdPWNbbj4+Ml07
Y1tHKzQ+PjJdPWNbbis0Pj4yXTtjW0crOD4+Ml09Y1tuKzg+PjJdO2NbRysxMj4+Ml09Y1tuKzEy
Pj4yXTtpZighZyl7Y1thPj4yXT0wO2NbYSs0Pj4yXT1tO2hbYSs4Pj4zXT1pO2E9YSsxNnwwO2Nb
YT4+Ml09Y1tHPj4yXTtjW2ErND4+Ml09Y1tHKzQ+PjJdO2NbYSs4Pj4yXT1jW0crOD4+Ml07Y1th
KzEyPj4yXT1jW0crMTI+PjJdO2JyZWFrfWlmKGk8ZSl7Y1tMPj4yXT1jW0c+PjJdO2NbTCs0Pj4y
XT1jW0crND4+Ml07Y1tMKzg+PjJdPWNbRys4Pj4yXTtjW0wrMTI+PjJdPWNbRysxMj4+Ml07Zj1t
O2U9aX1lbHNlIGc9ajtoW0Y+PjNdPStoW0U+PjNdLStoW0Q+PjNdO0VFKG8sYixkLEopO209Y1tv
Pj4yXXwwO2o9Y1tvKzQ+PjJdfDA7aT0raFtvKzg+PjNdO289bysxNnwwO2NbRz4+Ml09Y1tvPj4y
XTtjW0crND4+Ml09Y1tvKzQ+PjJdO2NbRys4Pj4yXT1jW28rOD4+Ml07Y1tHKzEyPj4yXT1jW28r
MTI+PjJdO2lmKCFtKXtjW2E+PjJdPTA7Y1thKzQ+PjJdPWo7aFthKzg+PjNdPWk7YT1hKzE2fDA7
Y1thPj4yXT1jW0c+PjJdO2NbYSs0Pj4yXT1jW0crND4+Ml07Y1thKzg+PjJdPWNbRys4Pj4yXTtj
W2ErMTI+PjJdPWNbRysxMj4+Ml07YnJlYWt9aWYoaTxlKXtjW0w+PjJdPWNbRz4+Ml07Y1tMKzQ+
PjJdPWNbRys0Pj4yXTtjW0wrOD4+Ml09Y1tHKzg+PjJdO2NbTCsxMj4+Ml09Y1tHKzEyPj4yXTtm
PWo7ZT1pfWVsc2UgbT1nO2hbQj4+M109K2hbZD4+M107aFtGPj4zXT0raFtJPj4zXSsgK2hbRT4+
M107RUUocCxiLGQsSik7Zz1jW3A+PjJdfDA7aj1jW3ArND4+Ml18MDtpPStoW3ArOD4+M107cD1w
KzE2fDA7Y1tHPj4yXT1jW3A+PjJdO2NbRys0Pj4yXT1jW3ArND4+Ml07Y1tHKzg+PjJdPWNbcCs4
Pj4yXTtjW0crMTI+PjJdPWNbcCsxMj4+Ml07aWYoIWcpe2NbYT4+Ml09MDtjW2ErND4+Ml09ajto
W2ErOD4+M109aTthPWErMTZ8MDtjW2E+PjJdPWNbRz4+Ml07Y1thKzQ+PjJdPWNbRys0Pj4yXTtj
W2ErOD4+Ml09Y1tHKzg+PjJdO2NbYSsxMj4+Ml09Y1tHKzEyPj4yXTticmVha31pZihpPGUpe2Nb
TD4+Ml09Y1tHPj4yXTtjW0wrND4+Ml09Y1tHKzQ+PjJdO2NbTCs4Pj4yXT1jW0crOD4+Ml07Y1tM
KzEyPj4yXT1jW0crMTI+PjJdO209ZztmPWo7ZT1pfWhbRj4+M109K2hbRT4+M10tK2hbRD4+M107
RUUocixiLGQsSik7Zz1jW3I+PjJdfDA7aj1jW3IrND4+Ml18MDtpPStoW3IrOD4+M107cj1yKzE2
fDA7Y1tHPj4yXT1jW3I+PjJdO2NbRys0Pj4yXT1jW3IrND4+Ml07Y1tHKzg+PjJdPWNbcis4Pj4y
XTtjW0crMTI+PjJdPWNbcisxMj4+Ml07aWYoIWcpe2NbYT4+Ml09MDtjW2ErND4+Ml09ajtoW2Er
OD4+M109aTthPWErMTZ8MDtjW2E+PjJdPWNbRz4+Ml07Y1thKzQ+PjJdPWNbRys0Pj4yXTtjW2Er
OD4+Ml09Y1tHKzg+PjJdO2NbYSsxMj4+Ml09Y1tHKzEyPj4yXTticmVha31pZihpPGUpe2NbTD4+
Ml09Y1tHPj4yXTtjW0wrND4+Ml09Y1tHKzQ+PjJdO2NbTCs4Pj4yXT1jW0crOD4+Ml07Y1tMKzEy
Pj4yXT1jW0crMTI+PjJdO209ZztmPWo7ZT1pfWhbQj4+M109K2hbQz4+M10rICtoW2Q+PjNdO2hb
Rj4+M109K2hbST4+M10rICtoW0U+PjNdO0VFKHMsYixkLEopO2c9Y1tzPj4yXXwwO2o9Y1tzKzQ+
PjJdfDA7aT0raFtzKzg+PjNdO3M9cysxNnwwO2NbRz4+Ml09Y1tzPj4yXTtjW0crND4+Ml09Y1tz
KzQ+PjJdO2NbRys4Pj4yXT1jW3MrOD4+Ml07Y1tHKzEyPj4yXT1jW3MrMTI+PjJdO2lmKCFnKXtj
W2E+PjJdPTA7Y1thKzQ+PjJdPWo7aFthKzg+PjNdPWk7YT1hKzE2fDA7Y1thPj4yXT1jW0c+PjJd
O2NbYSs0Pj4yXT1jW0crND4+Ml07Y1thKzg+PjJdPWNbRys4Pj4yXTtjW2ErMTI+PjJdPWNbRysx
Mj4+Ml07YnJlYWt9aWYoaTxlKXtjW0w+PjJdPWNbRz4+Ml07Y1tMKzQ+PjJdPWNbRys0Pj4yXTtj
W0wrOD4+Ml09Y1tHKzg+PjJdO2NbTCsxMj4+Ml09Y1tHKzEyPj4yXTttPWc7Zj1qO2U9aX1oW0Y+
PjNdPStoW0U+PjNdO0VFKHQsYixkLEopO2c9Y1t0Pj4yXXwwO2o9Y1t0KzQ+PjJdfDA7aT0raFt0
Kzg+PjNdO3Q9dCsxNnwwO2NbRz4+Ml09Y1t0Pj4yXTtjW0crND4+Ml09Y1t0KzQ+PjJdO2NbRys4
Pj4yXT1jW3QrOD4+Ml07Y1tHKzEyPj4yXT1jW3QrMTI+PjJdO2lmKCFnKXtjW2E+PjJdPTA7Y1th
KzQ+PjJdPWo7aFthKzg+PjNdPWk7YT1hKzE2fDA7Y1thPj4yXT1jW0c+PjJdO2NbYSs0Pj4yXT1j
W0crND4+Ml07Y1thKzg+PjJdPWNbRys4Pj4yXTtjW2ErMTI+PjJdPWNbRysxMj4+Ml07YnJlYWt9
aWYoaTxlKXtjW0w+PjJdPWNbRz4+Ml07Y1tMKzQ+PjJdPWNbRys0Pj4yXTtjW0wrOD4+Ml09Y1tH
Kzg+PjJdO2NbTCsxMj4+Ml09Y1tHKzEyPj4yXTttPWc7Zj1qO2U9aX1oW0Y+PjNdPStoW0U+PjNd
LStoW0Q+PjNdO0VFKHUsYixkLEopO2c9Y1t1Pj4yXXwwO2o9Y1t1KzQ+PjJdfDA7aT0raFt1Kzg+
PjNdO3U9dSsxNnwwO2NbRz4+Ml09Y1t1Pj4yXTtjW0crND4+Ml09Y1t1KzQ+PjJdO2NbRys4Pj4y
XT1jW3UrOD4+Ml07Y1tHKzEyPj4yXT1jW3UrMTI+PjJdO2lmKCFnKXtjW2E+PjJdPTA7Y1thKzQ+
PjJdPWo7aFthKzg+PjNdPWk7YT1hKzE2fDA7Y1thPj4yXT1jW0c+PjJdO2NbYSs0Pj4yXT1jW0cr
ND4+Ml07Y1thKzg+PjJdPWNbRys4Pj4yXTtjW2ErMTI+PjJdPWNbRysxMj4+Ml07YnJlYWt9aWYo
aTxlKXtjW0w+PjJdPWNbRz4+Ml07Y1tMKzQ+PjJdPWNbRys0Pj4yXTtjW0wrOD4+Ml09Y1tHKzg+
PjJdO2NbTCsxMj4+Ml09Y1tHKzEyPj4yXTtmPWo7ZT1pfWVsc2UgZz1tO2o9KGNbSisyOD4+Ml18
MCk9PTA7ZG8gaWYoIShjW0orMjQ+PjJdfDApKWlmKGope2lmKGNbSiszMj4+Ml18MCl7dz0zODti
cmVha31pZighKChjW0orMTI+PjJdfDApPT0wJihjW0o+PjJdfDApPT0wKSl3PTM4fWVsc2Ugdz00
NjtlbHNlIGlmKGopdz0zODtlbHNlIHc9NDY7d2hpbGUoMCk7YjpkbyBpZigod3wwKT09MzgpaWYo
IShjW0orMzI+PjJdfDApKXtoW0I+PjNdPStoW2Q+PjNdLStoW3o+PjNdO3A9dis0fDA7cj12Kzh8
MDtzPXYrMTZ8MDttPUY7aj1FO2k9K2hbST4+M107Yzp3aGlsZSgxKXt3aGlsZSgxKXtoW20+PjNd
PStoW2o+PjNdK2k7aWYoISgraFtCPj4zXTw9K2hbQz4+M10rICtoW2Q+PjNdKSl7dz00NjticmVh
ayBifUVFKHYsYixkLEopO249Y1t2Pj4yXXwwO289Y1twPj4yXXwwO2s9K2hbcj4+M107Y1tHPj4y
XT1jW3M+PjJdO2NbRys0Pj4yXT1jW3MrND4+Ml07Y1tHKzg+PjJdPWNbcys4Pj4yXTtjW0crMTI+
PjJdPWNbcysxMj4+Ml07aWYoIW4pYnJlYWsgYztpZihrPGUpYnJlYWs7ZWxzZXttPUI7aj1CO2k9
QX19Y1tMPj4yXT1jW0c+PjJdO2NbTCs0Pj4yXT1jW0crND4+Ml07Y1tMKzg+PjJdPWNbRys4Pj4y
XTtjW0wrMTI+PjJdPWNbRysxMj4+Ml07bT1CO2o9QjtpPUE7Zz1uO2Y9bztlPWt9Y1thPj4yXT0w
O2NbYSs0Pj4yXT1vO2hbYSs4Pj4zXT1rO2E9YSsxNnwwO2NbYT4+Ml09Y1tHPj4yXTtjW2ErND4+
Ml09Y1tHKzQ+PjJdO2NbYSs4Pj4yXT1jW0crOD4+Ml07Y1thKzEyPj4yXT1jW0crMTI+PjJdO2Jy
ZWFrIGF9ZWxzZSB3PTQ2O3doaWxlKDApO2Q6ZG8gaWYoKHd8MCk9PTQ2KWlmKChjW0orMTI+PjJd
fDApPT0wJihjW0o+PjJdfDApPT0wKXtoW0I+PjNdPStoW2Q+PjNdLStoW3o+PjNdO2s9K2hbRT4+
M107bj14KzR8MDtvPXgrOHwwO3A9eCsxNnwwO2k9aztrPStoW0k+PjNdK2s7d2hpbGUoMSl7aFtG
Pj4zXT1rO2lmKCEoaz49aS0raFtEPj4zXSkpYnJlYWsgZDtFRSh4LGIsZCxKKTtqPWNbeD4+Ml18
MDttPWNbbj4+Ml18MDtpPStoW28+PjNdO2NbRz4+Ml09Y1twPj4yXTtjW0crND4+Ml09Y1twKzQ+
PjJdO2NbRys4Pj4yXT1jW3ArOD4+Ml07Y1tHKzEyPj4yXT1jW3ArMTI+PjJdO2lmKCFqKWJyZWFr
O2lmKGk8ZSl7Y1tMPj4yXT1jW0c+PjJdO2NbTCs0Pj4yXT1jW0crND4+Ml07Y1tMKzg+PjJdPWNb
Rys4Pj4yXTtjW0wrMTI+PjJdPWNbRysxMj4+Ml07Zz1qO2Y9bTtlPWl9aT0raFtFPj4zXTtrPSto
W0Y+PjNdLUt9Y1thPj4yXT0wO2NbYSs0Pj4yXT1tO2hbYSs4Pj4zXT1pO2E9YSsxNnwwO2NbYT4+
Ml09Y1tHPj4yXTtjW2ErND4+Ml09Y1tHKzQ+PjJdO2NbYSs4Pj4yXT1jW0crOD4+Ml07Y1thKzEy
Pj4yXT1jW0crMTI+PjJdO2JyZWFrIGF9d2hpbGUoMCk7aT0raFtkPj4zXTtrPStoW0M+PjNdK2k7
aFtCPj4zXT1rO3E9K2hbRD4+M107aFtGPj4zXT0raFtFPj4zXS1xO2o9Y1tKKzQ+PjJdfDA7ZG8g
aWYoIShjW0orOD4+Ml18MCkpe209Y1tKPj4yXXwwO2lmKCEoKGp8MCk9PTAmKG18MCk9PTApKXt3
PTU5O2JyZWFrfWlmKGNbSisyMD4+Ml18MCl7aj0wO209MDt3PTU5O2JyZWFrfWlmKGNbSiszMj4+
Ml18MCl7aj0wO209MDt3PTU5fX1lbHNle209Y1tKPj4yXXwwO3c9NTl9d2hpbGUoMCk7ZTpkbyBp
Zigod3wwKT09NTkpe2Y6ZG8gaWYoKGp8MCk9PTAmKG18MCk9PTApe2hbQj4+M109aztwPXkrNHww
O3I9eSs4fDA7cz15KzE2fDA7bT1GO2o9RTtpPXE7Zzp3aGlsZSgxKXt3aGlsZSgxKXtoW20+PjNd
PStoW2o+PjNdLWk7aT0raFtkPj4zXTtpZighKCtoW0I+PjNdPj1pLStoW3o+PjNdKSlicmVhayBm
O0VFKHksYixkLEopO249Y1t5Pj4yXXwwO289Y1twPj4yXXwwO2s9K2hbcj4+M107Y1tHPj4yXT1j
W3M+PjJdO2NbRys0Pj4yXT1jW3MrND4+Ml07Y1tHKzg+PjJdPWNbcys4Pj4yXTtjW0crMTI+PjJd
PWNbcysxMj4+Ml07aWYoIW4pYnJlYWsgZztpZihrPGUpYnJlYWs7ZWxzZXttPUI7aj1CO2k9QX19
Y1tMPj4yXT1jW0c+PjJdO2NbTCs0Pj4yXT1jW0crND4+Ml07Y1tMKzg+PjJdPWNbRys4Pj4yXTtj
W0wrMTI+PjJdPWNbRysxMj4+Ml07bT1CO2o9QjtpPUE7Zz1uO2Y9bztlPWt9Y1thPj4yXT0wO2Nb
YSs0Pj4yXT1vO2hbYSs4Pj4zXT1rO2E9YSsxNnwwO2NbYT4+Ml09Y1tHPj4yXTtjW2ErND4+Ml09
Y1tHKzQ+PjJdO2NbYSs4Pj4yXT1jW0crOD4+Ml07Y1thKzEyPj4yXT1jW0crMTI+PjJdO2JyZWFr
IGF9d2hpbGUoMCk7aWYoY1tKKzIwPj4yXXwwKWJyZWFrO2lmKGNbSiszMj4+Ml18MClicmVhazto
W0I+PjNdPStoW0M+PjNdK2k7aT0raFtFPj4zXTtuPUgrNHwwO289SCs4fDA7cD1IKzE2fDA7az1p
O2k9aS0raFtEPj4zXTt3aGlsZSgxKXtoW0Y+PjNdPWk7aWYoIShpPD0raFtJPj4zXStrKSlicmVh
ayBlO0VFKEgsYixkLEopO2o9Y1tIPj4yXXwwO209Y1tuPj4yXXwwO2k9K2hbbz4+M107Y1tHPj4y
XT1jW3A+PjJdO2NbRys0Pj4yXT1jW3ArND4+Ml07Y1tHKzg+PjJdPWNbcCs4Pj4yXTtjW0crMTI+
PjJdPWNbcCsxMj4+Ml07aWYoIWopYnJlYWs7aWYoaTxlKXtjW0w+PjJdPWNbRz4+Ml07Y1tMKzQ+
PjJdPWNbRys0Pj4yXTtjW0wrOD4+Ml09Y1tHKzg+PjJdO2NbTCsxMj4+Ml09Y1tHKzEyPj4yXTtn
PWo7Zj1tO2U9aX1rPStoW0U+PjNdO2k9K2hbRj4+M10rS31jW2E+PjJdPTA7Y1thKzQ+PjJdPW07
aFthKzg+PjNdPWk7YT1hKzE2fDA7Y1thPj4yXT1jW0c+PjJdO2NbYSs0Pj4yXT1jW0crND4+Ml07
Y1thKzg+PjJdPWNbRys4Pj4yXTtjW2ErMTI+PjJdPWNbRysxMj4+Ml07YnJlYWsgYX13aGlsZSgw
KTtjW2E+PjJdPWc7Y1thKzQ+PjJdPWY7aFthKzg+PjNdPWU7YT1hKzE2fDA7Y1thPj4yXT1jW0w+
PjJdO2NbYSs0Pj4yXT1jW0wrND4+Ml07Y1thKzg+PjJdPWNbTCs4Pj4yXTtjW2ErMTI+PjJdPWNb
TCsxMj4+Ml19d2hpbGUoMCk7bD1NO3JldHVybn1mdW5jdGlvbiBERShhKXthPWF8MDtsSChjW2Er
MjQ+PjJdfDApfDA7X0koYSk7cmV0dXJufWZ1bmN0aW9uIEVFKGIsZCxlLGYpe2I9YnwwO2Q9ZHww
O2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaT0wLjAsaj0wLGs9MCxtPTAsbj0wLjAsbz0wLHA9MCxxPTAs
cj0wLjAscz0wLHQ9MDt0PWw7bD1sKzQ4fDA7cT10KzMyfDA7cz10KzE2fDA7cD10O2c9Y1tlKzMy
Pj4yXXwwO2lmKCFnKW1hKDk2MzI1LDk2MzM1LDM4Miw5NjM1NCk7bz1nKzE2fDA7Y1twPj4yXT1j
W28+PjJdO2NbcCs0Pj4yXT1jW28rND4+Ml07Y1twKzg+PjJdPWNbbys4Pj4yXTtjW3ArMTI+PjJd
PWNbbysxMj4+Ml07bz1kKzR8MDttPTA7Zz0wO3doaWxlKDEpe2lmKChtfDApPj0oY1tvPj4yXXww
KSlicmVhaztqPWNbZD4+Ml18MDtrPWorKG0qNDB8MCl8MDtkbyBpZigoa3wwKSE9KGV8MCkpe2lm
KCtoW2orKG0qNDB8MCkrMTY+PjNdPjAuMD8raFtqKyhtKjQwfDApKzI0Pj4zXT4wLjA6MClicmVh
aztnPWcrKChGRShlLGspfDApIT0wJjEpfDB9d2hpbGUoMCk7bT1tKzF8MH1HRShlLHEpO209Y1tk
KzI0Pj4yXXwwO209bkgobSxjW20+PjJdfDAscSl8MDtpZighbSl7Y1tiPj4yXT1nO2hbYis4Pj4z
XT0wLjA7cz1iKzE2fDA7Y1tzPj4yXT1jW3A+PjJdO2Nbcys0Pj4yXT1jW3ArND4+Ml07Y1tzKzg+
PjJdPWNbcCs4Pj4yXTtjW3MrMTI+PjJdPWNbcCsxMj4+Ml19ZWxzZXtrPW07aT0wLjA7d2hpbGUo
MSl7aWYoIWspYnJlYWs7aj1jWyhjW2srND4+Ml18MCkrMTY+PjJdfDA7aWYoKGp8MCkhPShlfDAp
KXtIRShqLHMpO249K0lFKHEscyk7aWYobj4wLjApe2c9ZysxfDA7aT0rSkUoZSxqLHEsbixmKStp
fWQ9Y1tqKzMyPj4yXXwwO2lmKCgoZHwwKSE9MD8oYVtkKzM2Pj4wXXwwKSE9MDowKT8oR0Uoaixz
KSxyPStJRShxLHMpLHI+MC4wKTowKXtnPWcrMXwwO2k9K0tFKGUsaixxLHIsZikraX19az1jW2s+
PjJdfDB9aUgobSk7Y1tiPj4yXT1nO2hbYis4Pj4zXT1pO3M9YisxNnwwO2Nbcz4+Ml09Y1twPj4y
XTtjW3MrND4+Ml09Y1twKzQ+PjJdO2Nbcys4Pj4yXT1jW3ArOD4+Ml07Y1tzKzEyPj4yXT1jW3Ar
MTI+PjJdfWw9dDtyZXR1cm59ZnVuY3Rpb24gRkUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLjAs
ZT0wLjAsZj0wLjAsZz0wLjA7YT1jW2ErMzI+PjJdfDA7aWYoK2hbYisxNj4+M109PTAuMD8raFti
KzI0Pj4zXT09MC4wOjApe2lmKCgoKGF8MCkhPTA/KGQ9K2hbYj4+M10sZT0raFthKzE2Pj4zXSxk
PmUpOjApP2Q8K2hbYT4+M10rZTowKT8oZj0raFtiKzg+PjNdLGc9K2hbYSsyND4+M10sZj5nKTow
KWE9ZjwraFthKzg+PjNdK2cmMTtlbHNlIGE9MDtyZXR1cm4gYXwwfW1hKDk2MzkxLDk2MzM1LDIx
OSw5NjQyOCk7cmV0dXJuIDB9ZnVuY3Rpb24gR0UoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLjAs
ZT0wLjA7YT1jW2ErMzI+PjJdfDA7ZT0raFthKzE2Pj4zXTtjW2I+PjJdPX5+ZTtkPStoW2ErMjQ+
PjNdO2NbYis0Pj4yXT1+fmQ7Y1tiKzg+PjJdPX5+KCtoW2E+PjNdK2UpO2NbYisxMj4+Ml09fn4o
K2hbYSs4Pj4zXStkKTtyZXR1cm59ZnVuY3Rpb24gSEUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0w
LjAsZT0wLjA7ZT0raFthPj4zXTtjW2I+PjJdPX5+ZTtkPStoW2ErOD4+M107Y1tiKzQ+PjJdPX5+
ZDtjW2IrOD4+Ml09fn4oK2hbYSsxNj4+M10rZSk7Y1tiKzEyPj4yXT1+figraFthKzI0Pj4zXStk
KTtyZXR1cm59ZnVuY3Rpb24gSUUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLjAsZT0wLGY9MCxn
PTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtpPWNbYSs4Pj4yXXwwO2o9Y1tiPj4yXXwwO2lmKCgoKGl8
MCk+PShqfDApPyhrPWNbYT4+Ml18MCxsPWNbYis4Pj4yXXwwLChrfDApPD0obHwwKSk6MCk/KGU9
Y1thKzEyPj4yXXwwLGY9Y1tiKzQ+PjJdfDAsKGV8MCk+PShmfDApKTowKT8oZz1jW2ErND4+Ml18
MCxoPWNbYisxMj4+Ml18MCwoZ3wwKTw9KGh8MCkpOjApZD0oKyhjWygoZXwwKTwoaHwwKT9hOmIp
KzEyPj4yXXwwKS0rKGNbKChnfDApPihmfDApP2E6YikrND4+Ml18MCkpKigrKGNbKChpfDApPChs
fDApP2E6YikrOD4+Ml18MCktKyhjWygoa3wwKT4oanwwKT9hOmIpPj4yXXwwKSk7ZWxzZSBkPTAu
MDtyZXR1cm4gK2R9ZnVuY3Rpb24gSkUoYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8MDtlPStl
O2Y9ZnwwO3ZhciBnPTAuMCxoPTAuMCxpPTAsaj0wO2o9bDtsPWwrMTZ8MDtpPWo7YT1MRShhLGIp
fDA7Zj1mKygoKGF8MCk8MD81OmEpPDwyKXwwO2E9Y1tmPj4yXXwwO2lmKCFhKXtjW2Y+PjJdPWI7
Zz1lfWVsc2V7SEUoYSxpKTtnPStJRShkLGkpO2c9Zz5lP2c6MC4wO2E9Y1tmPj4yXXwwO2lmKChj
W2ErMzI+PjJdfDApIT0wPyhHRShhLGkpLGg9K0lFKGQsaSksaD5lKTowKWc9aD5nP2g6ZztpZigh
KGc+MC4wKSl7Y1tmPj4yXT1iO2c9ZX19bD1qO3JldHVybiArZ31mdW5jdGlvbiBLRShhLGIsZCxl
LGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9K2U7Zj1mfDA7dmFyIGc9MC4wLGg9MC4wLGk9MCxqPTA7
aj1sO2w9bCsxNnwwO2k9ajthPUxFKGEsYil8MDtmPWYrKCgoYXwwKTwwPzU6YSk8PDIpfDA7YT1j
W2Y+PjJdfDA7aWYoIWEpe2NbZj4+Ml09YjtnPWV9ZWxzZXtIRShhLGkpO2c9K0lFKGQsaSk7Zz1n
PmU/ZzowLjA7YT1jW2Y+PjJdfDA7aWYoKGNbYSszMj4+Ml18MCkhPTA/KEdFKGEsaSksaD0rSUUo
ZCxpKSxoPmUpOjApZz1oPmc/aDpnO2lmKCEoZz4wLjApKXtjW2Y+PjJdPWI7Zz1lfX1sPWo7cmV0
dXJuICtnfWZ1bmN0aW9uIExFKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLjAsaT0w
LjAsaj0wLjAsaz0wLjA7ZT1jW2IrMzI+PjJdfDA7Zj1jW2QrMzI+PjJdfDA7aWYoKGV8MCk9PShm
fDApKW1hKDk2MzcwLDk2MzM1LDI3Niw5NjM4MCk7ZG8gaWYoKGFbZSszNj4+MF18MCkhPTA/KGFb
ZiszNj4+MF18MCkhPTA6MCl7aj0raFtiPj4zXTtpZihqPT0wLjA/K2hbYis4Pj4zXT09MC4wOjAp
e2U9LTE7YnJlYWt9az0raFtkPj4zXTtpPStoW2QrOD4+M107aWYoIShrPT0wLjAmaT09MC4wKSl7
Zz0raFtiKzg+PjNdO2lmKGk8Zyl7aWYoazxqKXtlPTA7YnJlYWt9ZT1rPmo/MjoxO2JyZWFrfWU9
azxqO2lmKGk+Zyl7aWYoZSl7ZT02O2JyZWFrfWU9az5qPzg6NzticmVha31pZighZSlpZihrPmop
ZT01O2Vsc2UgZT0tMTtlbHNlIGU9M31lbHNlIGU9LTF9ZWxzZSBlPS0xO3doaWxlKDApO3JldHVy
biBlfDB9ZnVuY3Rpb24gTUUoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MCxnPTAsaD0wLGk9
MCxqPTAsaz0wLG09MCxuPTAsbz0wO2s9bDtsPWwrMzJ8MDtkPWsrMjR8MDtlPWsrMTZ8MDtmPWs7
Zz14RShhKXwwO2g9YSs0fDA7aT1lKzR8MDtqPWErMjB8MDtiPTA7d2hpbGUoMSl7aWYoKGJ8MCk+
PShjW2g+PjJdfDApKXtiPTA7YnJlYWt9bT12dygzMil8MDtvPShjW2E+PjJdfDApKyhiKjQwfDAp
fDA7bj1tKzEyfDA7Y1ttKzI4Pj4yXT1vO1BFKGYsbyk7Y1tuPj4yXT1jW2Y+PjJdO2Nbbis0Pj4y
XT1jW2YrND4+Ml07Y1tuKzg+PjJdPWNbZis4Pj4yXTtjW24rMTI+PjJdPWNbZisxMj4+Ml07bj1j
W24+PjJdfDA7Y1tlPj4yXT0oKChjW20rMjA+PjJdfDApLW58MCkvMnwwKStuO249Y1ttKzE2Pj4y
XXwwO2NbaT4+Ml09KCgoY1ttKzI0Pj4yXXwwKS1ufDApLzJ8MCkrbjtjW2Q+PjJdPWNbZT4+Ml07
Y1tkKzQ+PjJdPWNbZSs0Pj4yXTtjW20rOD4+Ml09UUUoZCxnKXwwO249Y1tqPj4yXXwwO2lmKCEo
YmJbY1tuPj4yXSYzMV0obixtLDEpfDApKXtiPS0xO2JyZWFrfWVsc2UgYj1iKzF8MH1sPWs7cmV0
dXJuIGJ8MH1mdW5jdGlvbiBORShhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTA7ZD1hKzIwfDA7ZT1j
W2Q+PjJdfDA7Yj1hKzI0fDA7YT1iYltjW2U+PjJdJjMxXShlLDAsMTI4KXwwO3doaWxlKDEpe2lm
KCFhKWJyZWFrO2U9Y1tiPj4yXXwwO29IKGUsYSsxMnwwLGNbYSsyOD4+Ml18MCxlLDApfDA7ZT1j
W2Q+PjJdfDA7YT1iYltjW2U+PjJdJjMxXShlLGEsOCl8MH1yZXR1cm59ZnVuY3Rpb24gT0UoYSl7
YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MCxnPTAsaD0wO2U9YSsyMHwwO2Y9U2woY1tlPj4yXXww
KXwwO2Q9MDt3aGlsZSgxKXtpZighKFNsKGNbZT4+Ml18MCl8MCkpYnJlYWs7Zz1jW2U+PjJdfDA7
YT1jWyhjW2crOD4+Ml18MCkrND4+Ml18MDtpZighYSl7aD04O2JyZWFrfWI9Y1soY1tnKzQ+PjJd
fDApKzg+PjJdfDA7aWYoKGJ8MCk8MClhPWNbYSs4Pj4yXXwwO2Vsc2UgYT1hKygwLWIpfDA7aWYo
IWEpe2g9ODticmVha31iYltjW2c+PjJdJjMxXShnLGEsNDA5Nil8MDtfSShhKTtkPWQrMXwwfWlm
KChofDApPT04KW1hKDk2NDQxLDk2MzM1LDYxNiw5NjQ0NCk7aWYoKGZ8MCk9PShkfDApKXJldHVy
bjtlbHNlIG1hKDk2NDU2LDk2MzM1LDYyMyw5NjQ0NCl9ZnVuY3Rpb24gUEUoYSxiKXthPWF8MDti
PWJ8MDt2YXIgZD0wLGU9MC4wLGY9MC4wLGc9MC4wLGk9MCxqPTAsaz0wLGw9MC4wO2Q9Y1tiKzMy
Pj4yXXwwO2lmKCFkKXtlPTAuMDtmPTAuMH1lbHNle2U9K2hbZD4+M107Zj0raFtkKzg+PjNdfWw9
K2hbYj4+M107az1+fitBKCsobC1lKSk7Zz0raFtiKzg+PjNdO2o9fn4rQSgrKGctZikpO2k9fn4r
TigrKGwrZSsgK2hbYisxNj4+M10pKTtpZigoaXwwKT09MjE0NzQ4MzY0NyltYSg5NjQ2OCw5NjMz
NSwyNjQsOTY0OTUpO2Q9fn4rTigrKGcrZisgK2hbYisyND4+M10pKTtpZigoZHwwKT09MjE0NzQ4
MzY0NyltYSg5NjUwNSw5NjMzNSwyNjYsOTY0OTUpO2Vsc2V7Y1thPj4yXT1rO2NbYSs0Pj4yXT1q
O2NbYSs4Pj4yXT1pO2NbYSsxMj4+Ml09ZDtyZXR1cm59fWZ1bmN0aW9uIFFFKGEsYil7YT1hfDA7
Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wO2Y9MDtlPWNbYT4+Ml18MDtkPWNbYSs0
Pj4yXXwwO3doaWxlKDEpe2E9YistMXwwO2lmKChifDApPD0wKWJyZWFrO2k9ZT4+PmEmMTtiPWQ+
Pj5hJjE7Zz1iKy0xfDA7aD1nJihlXmQpO2c9ZyYwLWk7Zj1pPDwxfGY8PDJ8aV5iO2I9YTtlPWhe
ZV5nO2Q9aF5kXmd9cmV0dXJuIGZ8MH1mdW5jdGlvbiBSRShiKXtiPWJ8MDt2YXIgZD0wLGU9MCxm
PTAsZz0wO2Q9ckooYil8MDtpZihkPj4+MD49KGNbNDI0MDhdfDApPj4+MCl7ZD1kKzExfDA7Y1s0
MjQwOF09ZDtkPXl3KGNbNDI0MDldfDAsZCl8MDtjWzQyNDA5XT1kO2lmKCFkKWQ9MDtlbHNlIGU9
NH1lbHNle2Q9Y1s0MjQwOV18MDtlPTR9aWYoKGV8MCk9PTQpe2c9ZDt3aGlsZSgxKXtlPWFbYj4+
MF18MDtpZighKGU8PDI0Pj4yNCkpYnJlYWs7Zj1lJjI1NTtpZihrSyhmKXwwKWU9KGpLKGYpfDAp
JjI1NTthW2c+PjBdPWU7Zz1nKzF8MDtiPWIrMXwwfWFbZz4+MF09MH1yZXR1cm4gZHwwfWZ1bmN0
aW9uIFNFKGIsZSxmKXtiPWJ8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLjAsaT0wLGo9MC4wLGs9MC4w
LG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAs
QT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLjA7Rj1sO2w9bCsxNDR8MDtzPUYrOTZ8MDtwPUYr
ODB8MDt2PUYrMTI0fDA7dD1GKzcyfDA7dz1GKzY0fDA7eD1GKzU2fDA7Qz1GKzQ4fDA7RD1GKzQw
fDA7RT1GKzMyfDA7eT1GKzI0fDA7ej1GKzE2fDA7QT1GKzh8MDtCPUY7aT1GKzEyMHwwO209Risx
MTZ8MDtuPUYrMTEyfDA7bz1GKzEwOHwwO2NbZSszMj4+Ml09ZjtyPWI7d2hpbGUoMSlpZigoYVty
Pj4wXXwwKT09MzIpcj1yKzF8MDtlbHNlIGJyZWFrO2Nbbz4+Ml09MjU1O2I9YVtyPj4wXXwwO2E6
ZG8gaWYoYjw8MjQ+PjI0PT0zNSl7Y1twPj4yXT1pO2NbcCs0Pj4yXT1tO2NbcCs4Pj4yXT1uO2Nb
cCsxMj4+Ml09bztpZigoY00ociw5NjU0NyxwKXwwKTw9Mil7Yj1hW3I+PjBdfDA7cT0xMjticmVh
a31zd2l0Y2goZnwwKXtjYXNlIDA6e0c9KygoY1tpPj4yXXwwKT4+PjApKi4wMDM5MjE1Njg2Mjc0
NTA5ODtoW0M+PjNdPUc7Zz0rKChjW20+PjJdfDApPj4+MCkqLjAwMzkyMTU2ODYyNzQ1MDk4O2hb
RD4+M109ZztqPSsoKGNbbj4+Ml18MCk+Pj4wKSouMDAzOTIxNTY4NjI3NDUwOTg7aFtFPj4zXT1q
O2s9KygoY1tvPj4yXXwwKT4+PjApKi4wMDM5MjE1Njg2Mjc0NTA5ODtURShHLGcsaix0LHcseCk7
aFtlPj4zXT0raFt0Pj4zXTtoW2UrOD4+M109K2hbdz4+M107aFtlKzE2Pj4zXT0raFt4Pj4zXTto
W2UrMjQ+PjNdPWs7Yj0wO2JyZWFrIGF9Y2FzZSAxOnthW2U+PjBdPWNbaT4+Ml07YVtlKzE+PjBd
PWNbbT4+Ml07YVtlKzI+PjBdPWNbbj4+Ml07YVtlKzM+PjBdPWNbbz4+Ml07Yj0wO2JyZWFrIGF9
Y2FzZSAzOntqPSsoKGNbaT4+Ml18MCk+Pj4wKSouMDAzOTIxNTY4NjI3NDUwOTg7aFtDPj4zXT1q
O2s9KygoY1ttPj4yXXwwKT4+PjApKi4wMDM5MjE1Njg2Mjc0NTA5ODtoW0Q+PjNdPWs7Rz0rKChj
W24+PjJdfDApPj4+MCkqLjAwMzkyMTU2ODYyNzQ1MDk4O2hbRT4+M109RztVRShqLGssRyx5LHos
QSxCKTthW2U+PjBdPX5+K2hbeT4+M10qMjU1O2FbZSsxPj4wXT1+fitoW3o+PjNdKjI1NTthW2Ur
Mj4+MF09fn4raFtBPj4zXSoyNTU7YVtlKzM+PjBdPX5+K2hbQj4+M10qMjU1O2I9MDticmVhayBh
fWNhc2UgMjp7Y1tlPj4yXT0oKChjW2k+PjJdfDApKjY1NTM1fDApPj4+MCkvMjU1fDA7Y1tlKzQ+
PjJdPSgoKGNbbT4+Ml18MCkqNjU1MzV8MCk+Pj4wKS8yNTV8MDtjW2UrOD4+Ml09KCgoY1tuPj4y
XXwwKSo2NTUzNXwwKT4+PjApLzI1NXwwO2NbZSsxMj4+Ml09KCgoY1tvPj4yXXwwKSo2NTUzNXww
KT4+PjApLzI1NXwwO2I9MDticmVhayBhfWNhc2UgNDp7aFtlPj4zXT0rKChjW2k+PjJdfDApPj4+
MCkqLjAwMzkyMTU2ODYyNzQ1MDk4O2hbZSs4Pj4zXT0rKChjW20+PjJdfDApPj4+MCkqLjAwMzky
MTU2ODYyNzQ1MDk4O2hbZSsxNj4+M109KygoY1tuPj4yXXwwKT4+PjApKi4wMDM5MjE1Njg2Mjc0
NTA5ODtoW2UrMjQ+PjNdPSsoKGNbbz4+Ml18MCk+Pj4wKSouMDAzOTIxNTY4NjI3NDUwOTg7Yj0w
O2JyZWFrIGF9ZGVmYXVsdDp7Yj0wO2JyZWFrIGF9fX1lbHNlIHE9MTI7d2hpbGUoMCk7YjpkbyBp
ZigocXwwKT09MTIpe2lmKCEoYjw8MjQ+PjI0IT00Nj8oKGImMjU1KSstNDh8MCk+Pj4wPj0xMDow
KSl7Yj1ySihyKXwwO2lmKGI+Pj4wPj0oY1s0MjQxMF18MCk+Pj4wKXtiPWIrMTF8MDtjWzQyNDEw
XT1iO2I9eXcoY1s0MjQxMV18MCxiKXwwO2NbNDI0MTFdPWI7aWYoIWIpe2I9LTE7YnJlYWt9fWVs
c2UgYj1jWzQyNDExXXwwO209YjtpPXI7Yzp3aGlsZSgxKXtuPWkrMXwwO2k9YVtpPj4wXXwwO3N3
aXRjaChpPDwyND4+MjQpe2Nhc2UgMDpicmVhayBjO2Nhc2UgNDQ6e2k9MzI7YnJlYWt9ZGVmYXVs
dDp7fX1hW20+PjBdPWk7bT1tKzF8MDtpPW59YVttPj4wXT0wO2Nbcz4+Ml09dDtjW3MrND4+Ml09
dztjW3MrOD4+Ml09eDtpZigoY00oYiw5NjU2MSxzKXwwKT09Myl7az0raFt0Pj4zXTtrPWs8MS4w
P2s6MS4wO2s9az4wLjA/azowLjA7aFt0Pj4zXT1rO2o9K2hbdz4+M107aj1qPDEuMD9qOjEuMDtq
PWo+MC4wP2o6MC4wO2hbdz4+M109ajtnPStoW3g+PjNdO2c9ZzwxLjA/ZzoxLjA7Zz1nPjAuMD9n
OjAuMDtoW3g+PjNdPWc7c3dpdGNoKGZ8MCl7Y2FzZSAwOntoW2U+PjNdPWs7aFtlKzg+PjNdPWo7
aFtlKzE2Pj4zXT1nO2hbZSsyND4+M109MS4wO2I9MDticmVhayBifWNhc2UgMTp7VkUoayxqLGcs
QyxELEUpO2FbZT4+MF09fn4oK2hbQz4+M10qMjU1LjApO2FbZSsxPj4wXT1+figraFtEPj4zXSoy
NTUuMCk7YVtlKzI+PjBdPX5+KCtoW0U+PjNdKjI1NS4wKTthW2UrMz4+MF09LTE7Yj0wO2JyZWFr
IGJ9Y2FzZSAzOntWRShrLGosZyxDLEQsRSk7VUUoK2hbQz4+M10sK2hbRD4+M10sK2hbRT4+M10s
eSx6LEEsQik7YVtlPj4wXT1+fitoW3k+PjNdKjI1NTthW2UrMT4+MF09fn4raFt6Pj4zXSoyNTU7
YVtlKzI+PjBdPX5+K2hbQT4+M10qMjU1O2FbZSszPj4wXT1+fitoW0I+PjNdKjI1NTtiPTA7YnJl
YWsgYn1jYXNlIDI6e1ZFKGssaixnLEMsRCxFKTtjW2U+PjJdPX5+KCtoW0M+PjNdKjY1NTM1LjAp
O2NbZSs0Pj4yXT1+figraFtEPj4zXSo2NTUzNS4wKTtjW2UrOD4+Ml09fn4oK2hbRT4+M10qNjU1
MzUuMCk7Y1tlKzEyPj4yXT02NTUzNTtiPTA7YnJlYWsgYn1jYXNlIDQ6e1ZFKGssaixnLEMsRCxF
KTtoW2U+PjNdPStoW0M+PjNdO2hbZSs4Pj4zXT0raFtEPj4zXTtoW2UrMTY+PjNdPStoW0U+PjNd
O2hbZSsyND4+M109MS4wO2I9MDticmVhayBifWRlZmF1bHQ6e2I9MDticmVhayBifX19fWk9V0Uo
cil8MDtjW3Y+PjJdPWk7aWYoIWkpYj0tMTtlbHNle2I9Y1s0MjQxMl18MDtpZighKCgoYnwwKSE9
MD8odT1jW2I+PjJdfDAsKGFbdT4+MF18MCk9PShhW2k+PjBdfDApKTowKT8oeEoodSxpKXwwKT09
MDowKSl7Yj12TSh2LDI0OTMyLDI0OTEsMTIsMzgpfDA7Y1s0MjQxMl09YjtpZighYilzd2l0Y2go
ZnwwKXtjYXNlIDA6e2NbZT4+Ml09MDtjW2UrND4+Ml09MDtjW2UrOD4+Ml09MDtjW2UrMTI+PjJd
PTA7Y1tlKzE2Pj4yXT0wO2NbZSsyMD4+Ml09MDtoW2UrMjQ+PjNdPTEuMDtiPTE7YnJlYWsgYn1j
YXNlIDE6e2FbZSsyPj4wXT0wO2FbZSsxPj4wXT0wO2FbZT4+MF09MDthW2UrMz4+MF09LTE7Yj0x
O2JyZWFrIGJ9Y2FzZSAzOntjW2U+PjJdPTA7Yj0xO2JyZWFrIGJ9Y2FzZSAyOntjW2UrOD4+Ml09
MDtjW2UrND4+Ml09MDtjW2U+PjJdPTA7Y1tlKzEyPj4yXT02NTUzNTtiPTE7YnJlYWsgYn1jYXNl
IDQ6e2NbZT4+Ml09MDtjW2UrND4+Ml09MDtjW2UrOD4+Ml09MDtjW2UrMTI+PjJdPTA7Y1tlKzE2
Pj4yXT0wO2NbZSsyMD4+Ml09MDtoW2UrMjQ+PjNdPTEuMDtiPTE7YnJlYWsgYn1kZWZhdWx0Onti
PTE7YnJlYWsgYn19fXN3aXRjaChmfDApe2Nhc2UgMDp7aFtlPj4zXT0rKGRbYis0Pj4wXXwwKSou
MDAzOTIxNTY4NjI3NDUwOTg7aFtlKzg+PjNdPSsoZFtiKzU+PjBdfDApKi4wMDM5MjE1Njg2Mjc0
NTA5ODtoW2UrMTY+PjNdPSsoZFtiKzY+PjBdfDApKi4wMDM5MjE1Njg2Mjc0NTA5ODtoW2UrMjQ+
PjNdPSsoZFtiKzEwPj4wXXwwKSouMDAzOTIxNTY4NjI3NDUwOTg7Yj0wO2JyZWFrIGJ9Y2FzZSAx
OnthW2U+PjBdPWFbYis3Pj4wXXwwO2FbZSsxPj4wXT1hW2IrOD4+MF18MDthW2UrMj4+MF09YVti
Kzk+PjBdfDA7YVtlKzM+PjBdPWFbYisxMD4+MF18MDtiPTA7YnJlYWsgYn1jYXNlIDM6e2o9Kyhk
W2IrNz4+MF18MCkqLjAwMzkyMTU2ODYyNzQ1MDk4O2hbQz4+M109ajtrPSsoZFtiKzg+PjBdfDAp
Ki4wMDM5MjE1Njg2Mjc0NTA5ODtoW0Q+PjNdPWs7Rz0rKGRbYis5Pj4wXXwwKSouMDAzOTIxNTY4
NjI3NDUwOTg7aFtFPj4zXT1HO1VFKGosayxHLHkseixBLEIpO2FbZT4+MF09fn4raFt5Pj4zXSoy
NTU7YVtlKzE+PjBdPX5+K2hbej4+M10qMjU1O2FbZSsyPj4wXT1+fitoW0E+PjNdKjI1NTthW2Ur
Mz4+MF09fn4raFtCPj4zXSoyNTU7Yj0wO2JyZWFrIGJ9Y2FzZSAyOntjW2U+PjJdPShkW2IrNz4+
MF18MCkqMjU3O2NbZSs0Pj4yXT0oZFtiKzg+PjBdfDApKjI1NztjW2UrOD4+Ml09KGRbYis5Pj4w
XXwwKSoyNTc7Y1tlKzEyPj4yXT0oZFtiKzEwPj4wXXwwKSoyNTc7Yj0wO2JyZWFrIGJ9Y2FzZSA0
OntoW2U+PjNdPSsoZFtiKzc+PjBdfDApKi4wMDM5MjE1Njg2Mjc0NTA5ODtoW2UrOD4+M109Kyhk
W2IrOD4+MF18MCkqLjAwMzkyMTU2ODYyNzQ1MDk4O2hbZSsxNj4+M109KyhkW2IrOT4+MF18MCkq
LjAwMzkyMTU2ODYyNzQ1MDk4O2hbZSsyND4+M109KyhkW2IrMTA+PjBdfDApKi4wMDM5MjE1Njg2
Mjc0NTA5ODtiPTA7YnJlYWsgYn1kZWZhdWx0OntiPTA7YnJlYWsgYn19fX13aGlsZSgwKTtsPUY7
cmV0dXJuIGJ8MH1mdW5jdGlvbiBURShhLGIsYyxkLGUsZil7YT0rYTtiPStiO2M9K2M7ZD1kfDA7
ZT1lfDA7Zj1mfDA7dmFyIGc9MC4wLGk9MC4wLGo9MC4wLGs9MC4wLGw9MC4wLG09MC4wO2k9Yjxj
P2I6YzttPWI+Yz9iOmM7bT1tPGE/YTptO2k9bS0oaT5hP2E6aSk7Zz1pL207aWYobT4wLjApaWYo
Zz4wLjApe2o9KG0tYSkvaTtrPShtLWIpL2k7bD0obS1jKS9pO2RvIGlmKCEobT09YSkpe2lmKG09
PWIpe2E9aisyLjAtbDticmVha31pZihtPT1jKWE9ays0LjAtajtlbHNlIGE9MC4wfWVsc2UgYT0o
Yi1jKS9pO3doaWxlKDApO2E9YSo2MC4wO2lmKGE8MC4wKWE9YSszNjAuMH1lbHNlIGE9MC4wO2Vs
c2V7Zz0wLjA7YT0wLjB9aFtkPj4zXT1hKi4wMDI3Nzc3Nzc3Nzc3Nzc3Nzg7aFtmPj4zXT1tO2hb
ZT4+M109ZztyZXR1cm59ZnVuY3Rpb24gVUUoYSxiLGMsZCxlLGYsZyl7YT0rYTtiPStiO2M9K2M7
ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aFtkPj4zXT0xLjAtYTtoW2U+PjNdPTEuMC1iO2hbZj4+
M109MS4wLWM7Yj0raFtkPj4zXTtjPStoW2U+PjNdO2M9YjxjP2I6YztoW2c+PjNdPWM7Yj0raFtm
Pj4zXTtjPWI8Yz9iOmM7aFtnPj4zXT1jO2hbZD4+M109K2hbZD4+M10tYztoW2U+PjNdPStoW2U+
PjNdLStoW2c+PjNdO2hbZj4+M109K2hbZj4+M10tK2hbZz4+M107cmV0dXJufWZ1bmN0aW9uIFZF
KGEsYixjLGQsZSxmKXthPSthO2I9K2I7Yz0rYztkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLjAs
aT0wLjAsaj0wLjAsaz0wLGw9MDthOmRvIGlmKCEoYjw9MC4wKSl7aT0hKGE+PTEuMCk/YSo2LjA6
MC4wO2w9fn5pO2k9aS0rKGx8MCk7YT0oMS4wLWIpKmM7aj0oMS4wLWkqYikqYztiPSgxLjAtKDEu
MC1pKSpiKSpjO3N3aXRjaChsfDApe2Nhc2UgMDp7Zz1hO2k9YjthPWM7az04O2JyZWFrIGF9Y2Fz
ZSAxOntnPWE7aT1jO2E9ajtrPTg7YnJlYWsgYX1jYXNlIDI6e2c9YjtpPWM7az04O2JyZWFrIGF9
Y2FzZSAzOntnPWM7aT1qO2s9ODticmVhayBhfWNhc2UgNDp7Zz1jO2k9YTthPWI7az04O2JyZWFr
IGF9Y2FzZSA1OntnPWo7aT1hO2E9YztrPTg7YnJlYWsgYX1kZWZhdWx0OmJyZWFrIGF9fWVsc2V7
Zz1jO2k9YzthPWM7az04fXdoaWxlKDApO2lmKChrfDApPT04KXtoW2Q+PjNdPWE7aFtlPj4zXT1p
O2hbZj4+M109Z31yZXR1cm59ZnVuY3Rpb24gV0UoYil7Yj1ifDA7dmFyIGQ9MCxlPTA7ZD1hW2I+
PjBdfDA7aWYoKChkPDwyND4+MjQhPTk4PyhlPWIrMXwwLCEoZDw8MjQ+PjI0PT0xMTl8KFZKKGUs
MTIyMDU4LDQpfDApPT0wKSk6MCk/IShkPDwyND4+MjQ9PTEwOHwoVkooZSwxMjIwNjMsNCl8MCk9
PTApOjApPyhWSihlLDEyMjA2OCw4KXwwKSE9MDowKXtkbyBpZihkPDwyND4+MjQ9PTQ3KXtkPVdK
KGUsNDcpfDA7aWYoIWQpYj1lO2Vsc2V7aWYoKGFbZT4+MF18MCkhPTQ3KXtlPShwSygxMjIwNzcs
ZSw0KXwwKT09MDtiPWU/ZCsxfDA6YjticmVha31kPWNbNDI0MTNdfDA7aWYoKGR8MD9hW2Q+PjBd
fDA6MCk/cEsoMTIyMDc3LGQsMyl8MDowKXtiPVlFKGQsYisyfDApfDA7YnJlYWt9Yj1iKzJ8MH19
ZWxzZXtkPWNbNDI0MTNdfDA7aWYoKChkfDApIT0wPyhhW2Q+PjBdfDApIT0wOjApPyhwSygxMjIw
NzcsZCwzKXwwKSE9MDowKWI9WUUoZCxiKXwwfXdoaWxlKDApO2I9UkUoYil8MH1yZXR1cm4gYnww
fWZ1bmN0aW9uIFhFKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuIGlLKGNbYT4+Ml18MCxjW2I+PjJd
fDApfDB9ZnVuY3Rpb24gWUUoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wO2Y9
bDtsPWwrMTZ8MDtlPWY7Zz1ySihhKXwwO2c9KHJKKGIpfDApK2d8MDtkPWcrMTN8MDtpZigoZysz
fDApPj4+MDwoY1s0MjQxNF18MCk+Pj4wKWQ9Y1s0MjQxNV18MDtlbHNle2NbNDI0MTRdPWQ7ZD15
dyhjWzQyNDE1XXwwLGQpfDA7Y1s0MjQxNV09ZH1jW2U+PjJdPWE7Y1tlKzQ+PjJdPWI7cEwoZCwx
MjIwODIsZSl8MDtsPWY7cmV0dXJuIGNbNDI0MTVdfDB9ZnVuY3Rpb24gWkUoYSl7YT1hfDA7Y1s0
MjQxM109YTtyZXR1cm59ZnVuY3Rpb24gX0UoYSxiLGMsZCxlKXthPWF8MDtiPStiO2M9K2M7ZD0r
ZDtlPStlO3ZhciBmPTAsZz0wO2Y9bDtsPWwrMjA4fDA7Zz1mOyRFKGcsK2hbYT4+M10sK2hbYSs4
Pj4zXSxiLGMsZCxlKTthPWFGKGcpfDA7bD1mO3JldHVybiBhfDB9ZnVuY3Rpb24gJEUoYSxiLGMs
ZCxlLGYsZyl7YT1hfDA7Yj0rYjtjPStjO2Q9K2Q7ZT0rZTtmPStmO2c9K2c7dmFyIGk9MCxqPTA7
aFthPj4zXT1iO2hbYSs4Pj4zXT1jO2o9YSsxNnwwO2hbaj4+M109ZDtpPWErMjR8MDtoW2k+PjNd
PWU7aFthKzMyPj4zXT0wLjA7Yz0rSygrKCtGKCtmKS9lKSwrKCtFKCtmKS9kKSk7aFthKzU2Pj4z
XT1jO2U9K0soKygrRigrZykvZSksKygrRSgrZykvZCkpO2hbYSs0MD4+M109MS4wO2hbYSs0OD4+
M109MC4wO2U9ZS0rQSgrKChlLWMpKi4xNTkxNTQ5NDMwOTE4OTUzNSkpKjYuMjgzMTg1MzA3MTc5
NTg2O2hbYSs2ND4+M109Zy1mPjMuMTQxNTkyNjUzNTg5NzkzJmUtYzwzLjE0MTU5MjY1MzU4OTc5
Mz9lKzYuMjgzMTg1MzA3MTc5NTg2OmU7Z0YoYSk7aEYoYSk7aUYoYSk7Zz0raFtqPj4zXTtnPShn
LStoW2k+PjNdKS9nO2hbYSsxNjg+PjNdPWc7aFthKzE3Nj4+M109KDIuMC1nKSpnO2c9MS4wLWc7
aFthKzE4ND4+M109ZztoW2ErMTkyPj4zXT1nKmc7cmV0dXJufWZ1bmN0aW9uIGFGKGEpe2E9YXww
O3ZhciBiPTAsYz0wLjAsZD0wLGU9MC4wLGY9MC4wLGc9MC4wLGk9MC4wLGo9MCxrPTAsbD0wLG09
MCxuPTAuMCxvPTAuMCxwPTAscT0wLHI9MC4wLHM9MC4wLHQ9MC4wLHU9MC4wLHY9MC4wLHc9MC4w
LHg9MC4wLHk9MC4wLHo9MC4wO3E9dncoOCl8MDtmPStoW2ErNTY+PjNdO2U9K2hbYSs2ND4+M10t
ZjtwPTE7Yj0wO3doaWxlKDEpe289ZS8rKHB8MCk7aWYoIShiPDwyND4+MjQ9PTAmKHB8MCk8MTAy
NCkpYnJlYWs7YTpkbyBpZighKG88PTEuNTcwNzk2MzI2Nzk0ODk2NikpYj0wO2Vsc2V7Yz1mO2Q9
MDtiPTE7d2hpbGUoMSl7aWYoIShiPDwyND4+MjQhPTAmKGR8MCk8KHB8MCkpKWJyZWFrIGE7bj1j
K287Yj0rYkYoYSxjLG4pPD0xLjBlLTA1JjE7Yz1uO2Q9ZCsxfDB9fXdoaWxlKDApO3A9cDw8MX1p
PStFKCtmKTt1PStGKCtmKTtkPWErMTZ8MDtzPStoW2Q+PjNdO3Y9cyppO2o9YSsyNHwwO2M9K2hb
aj4+M107Zz1jKnU7aT1jKmk7Yz0raFthPj4zXTtrPWErNDB8MDt0PStoW2s+PjNdO2w9YSs0OHww
O3I9K2hbbD4+M107ZT10KnYrYy1yKmc7bT1hKzh8MDtuPStoW20+PjNdO2c9cip2K3QqZytuO3M9
LSh1KnMpO2NGKHEsYyxuKTtkRihxLGUsZyk7bj0rRygrKG8qLjUpKTtuPStGKCtvKSouMzMzMzMz
MzMzMzMzMzMzMyooK0MoKyhuKm4qMy4wKzQuMCkpKy0xLjApO2M9ZjtmPWc7Zz1yKnMrdCppO2k9
dCpzLXIqaTtiPTA7d2hpbGUoMSl7aWYoKGJ8MCk+PShwfDApKWJyZWFrO3I9YytvO3U9K0UoK3Ip
O3Y9K0YoK3IpO3g9K2hbZD4+M107ej14KnU7dz0raFtqPj4zXTt0PXcqdjt1PXcqdTt3PStoW2s+
PjNdO3k9K2hbbD4+M107cz13KnorICtoW2E+PjNdLXkqdDt0PXkqeit3KnQrICtoW20+PjNdO3g9
LSh2KngpO3Y9dyp4LXkqdTt1PXkqeCt3KnU7ZUYocSxlK2kqbixmK2cqbixzLXYqbix0LXUqbixz
LHQpO2M9cjtlPXM7Zj10O2c9dTtpPXY7Yj1iKzF8MH1mRihxKTtyZXR1cm4gcXwwfWZ1bmN0aW9u
IGJGKGEsYixjKXthPWF8MDtiPStiO2M9K2M7dmFyIGQ9MC4wLGU9MC4wLGY9MC4wLGc9MC4wLGk9
MC4wO2Q9YytiO2k9K2hbYSsxNj4+M107ZT0raFthKzI0Pj4zXS9pO2c9K0UoK2QpO2Y9K0UoKyhk
KjIuMCkpO2Q9K0UoKyhkKjMuMCkpO2E9ZTwuMjU/MTAzMjg6MTA1ODQ7cmV0dXJuICsoKChlKi4w
MDErNC45OCkqZSsuMjA3KS8oZSsuMDA2NykqaSorTCgrKCgoK2hbYSszMj4+M10qZSsgK2hbYSs0
MD4+M10pKmUrICtoW2ErNDg+PjNdKS8oK2hbYSs1Nj4+M10rZSkqZysoKCtoW2E+PjNdKmUrICto
W2ErOD4+M10pKmUrICtoW2ErMTY+PjNdKS8oK2hbYSsyND4+M10rZSkrKCgraFthKzY0Pj4zXSpl
KyAraFthKzcyPj4zXSkqZSsgK2hbYSs4MD4+M10pLygraFthKzg4Pj4zXStlKSpmKygoK2hbYSs5
Nj4+M10qZSsgK2hbYSsxMDQ+PjNdKSplKyAraFthKzExMj4+M10pLygraFthKzEyMD4+M10rZSkq
ZCsoKCgraFthKzE2MD4+M10qZSsgK2hbYSsxNjg+PjNdKSplKyAraFthKzE3Nj4+M10pLygraFth
KzE4ND4+M10rZSkqZysoKCtoW2ErMTI4Pj4zXSplKyAraFthKzEzNj4+M10pKmUrICtoW2ErMTQ0
Pj4zXSkvKCtoW2ErMTUyPj4zXStlKSsoKCtoW2ErMTkyPj4zXSplKyAraFthKzIwMD4+M10pKmUr
ICtoW2ErMjA4Pj4zXSkvKCtoW2ErMjE2Pj4zXStlKSpmKygoK2hbYSsyMjQ+PjNdKmUrICtoW2Er
MjMyPj4zXSkqZSsgK2hbYSsyNDA+PjNdKS8oK2hbYSsyNDg+PjNdK2UpKmQpKihjLWIpKSkpfWZ1
bmN0aW9uIGNGKGEsYixkKXthPWF8MDtiPStiO2Q9K2Q7dmFyIGU9MDtjWzQyNDE2XT0xMDA7ZT12
dygxNjAwKXwwO2NbYT4+Ml09ZTtoW2U+PjNdPWI7aFtlKzg+PjNdPWQ7Y1thKzQ+PjJdPTE7cmV0
dXJufWZ1bmN0aW9uIGRGKGEsYixkKXthPWF8MDtiPStiO2Q9K2Q7dmFyIGU9MCxmPTA7Zj1jW2E+
PjJdfDA7ZT0oY1thKzQ+PjJdfDApKy0xfDA7ZUYoYSwraFtmKyhlPDw0KT4+M10sK2hbZisoZTw8
NCkrOD4+M10sYixkLGIsZCk7cmV0dXJufWZ1bmN0aW9uIGVGKGEsYixkLGUsZixnLGkpe2E9YXww
O2I9K2I7ZD0rZDtlPStlO2Y9K2Y7Zz0rZztpPStpO3ZhciBqPTAsaz0wLGw9MCxtPTA7bD1hKzR8
MDtqPWNbbD4+Ml18MDtrPWNbNDI0MTZdfDA7aWYoKGorM3wwKTwoa3wwKSlhPWNbYT4+Ml18MDtl
bHNle2NbNDI0MTZdPWs8PDE7aj1hSihjW2E+PjJdfDAsazw8NSl8MDtjW2E+PjJdPWo7YT1qO2o9
Y1tsPj4yXXwwfWhbYSsoajw8NCk+PjNdPWI7bT1qKzF8MDtoW2ErKGo8PDQpKzg+PjNdPWQ7aFth
KyhtPDw0KT4+M109ZTtrPWorMnwwO2hbYSsobTw8NCkrOD4+M109ZjtoW2ErKGs8PDQpPj4zXT1n
O2NbbD4+Ml09aiszO2hbYSsoazw8NCkrOD4+M109aTtyZXR1cm59ZnVuY3Rpb24gZkYoYSl7YT1h
fDA7dmFyIGI9MDtiPWNbYT4+Ml18MDtkRihhLCtoW2I+PjNdLCtoW2IrOD4+M10pO2NbYT4+Ml09
YUooY1thPj4yXXwwLGNbYSs0Pj4yXTw8NCl8MDtjWzQyNDE2XT0wO3JldHVybn1mdW5jdGlvbiBn
RihhKXthPWF8MDt2YXIgYj0wLjAsYz0wLjAsZD0wLjAsZT0wLjA7ZD0raFthKzE2Pj4zXTtiPSto
W2ErMjQ+PjNdO2I9K0MoKyhkKmQtYipiKSk7ZD1iKitoW2ErNDA+PjNdO2I9YioraFthKzQ4Pj4z
XTtlPStoW2E+PjNdO2hbYSsxMDQ+PjNdPWUtZDtjPStoW2ErOD4+M107aFthKzExMj4+M109Yy1i
O2hbYSsxMjA+PjNdPWUrZDtoW2ErMTI4Pj4zXT1jK2I7cmV0dXJufWZ1bmN0aW9uIGhGKGEpe2E9
YXwwO3ZhciBiPTAuMCxjPTAuMCxkPTAuMCxlPTAuMCxmPTAuMCxnPTAuMCxpPTAuMCxqPTAuMDtk
PStoW2ErMTY+PjNdO2k9K2hbYSs1Nj4+M107aj0rRSgraSkqZDtiPStoW2ErMjQ+PjNdO2k9K0Yo
K2kpKmI7Zz0raFthKzY0Pj4zXTtkPStFKCtnKSpkO2I9K0YoK2cpKmI7Zz0raFthPj4zXTtjPSto
W2ErNDA+PjNdO2U9K2hbYSs0OD4+M107aFthKzcyPj4zXT1jKmorZy1lKmk7Zj0raFthKzg+PjNd
O2hbYSs4MD4+M109ZSpqK2YrYyppO2hbYSs4OD4+M109ZytjKmQtZSpiO2hbYSs5Nj4+M109Zitl
KmQrYypiO3JldHVybn1mdW5jdGlvbiBpRihhKXthPWF8MDt2YXIgYj0wLjAsYz0wLjAsZD0wLjAs
ZT0wLjAsZj0wLjAsZz0wLjAsaT0wLjAsaj0wLjAsaz0wLjAsbD0wLjAsbT0wLjAsbj0wO2s9K2hb
YSsyND4+M107bD0raFthKzE2Pj4zXTtlPWsvbDttPStoW2ErNDg+PjNdO249K0IoK20pPC4xO2o9
K2hbYSs0MD4+M107ZG8gaWYobil7Yj1tL2o7Yz0rSigrKGIqZSkpO2Q9LWM7aWYoajwwLjApe2I9
K0ooKyhiL2UpKTtlPWQ7ZD0zLjE0MTU5MjY1MzU4OTc5My1jO2M9NC43MTIzODg5ODAzODQ2OS1i
O2I9MS41NzA3OTYzMjY3OTQ4OTY2LWI7YnJlYWt9ZWxzZXtiPStKKCsoYi9lKSk7ZT0tMy4xNDE1
OTI2NTM1ODk3OTMtYztjPTEuNTcwNzk2MzI2Nzk0ODk2Ni1iO2I9LTEuNTcwNzk2MzI2Nzk0ODk2
Ni1iO2JyZWFrfX1lbHNle2I9ai9tO2M9K0ooKyhiL2UpKTtkPWMrMS41NzA3OTYzMjY3OTQ4OTY2
O2lmKG08MC4wKXtiPStKKCsoYiplKSk7ZT1jKy0xLjU3MDc5NjMyNjc5NDg5NjY7Yz1iKzMuMTQx
NTkyNjUzNTg5NzkzO2JyZWFrfWVsc2V7Yj0rSigrKGIqZSkpO2U9ZDtkPWMrNC43MTIzODg5ODAz
ODQ2OTtjPWI7Yj1iKy0zLjE0MTU5MjY1MzU4OTc5MzticmVha319d2hpbGUoMCk7Zz0raFthKzU2
Pj4zXTtlPWUtK0EoKygoZS1nKSouMTU5MTU0OTQzMDkxODk1MzUpKSo2LjI4MzE4NTMwNzE3OTU4
NjtiPWItK0EoKygoYi1nKSouMTU5MTU0OTQzMDkxODk1MzUpKSo2LjI4MzE4NTMwNzE3OTU4Njtm
PWQtK0EoKygoZC1nKSouMTU5MTU0OTQzMDkxODk1MzUpKSo2LjI4MzE4NTMwNzE3OTU4NjtnPWMt
K0EoKygoYy1nKSouMTU5MTU0OTQzMDkxODk1MzUpKSo2LjI4MzE4NTMwNzE3OTU4NjtpPStoW2Er
NjQ+PjNdO2lmKCEoZTw9aSkpe2U9K2hbYSs3Mj4+M107Yz0raFthKzg4Pj4zXTtjPWU8Yz9lOmN9
ZWxzZSBjPStFKCtlKSpsKmorICtoW2E+PjNdLWsqK0YoK2UpKm07aFthKzEzNj4+M109YztpZigh
KGI8PWkpKXtlPStoW2ErODA+PjNdO2Q9K2hbYSs5Nj4+M107ZD1lPGQ/ZTpkfWVsc2UgZD0rRSgr
YikqbCptKyAraFthKzg+PjNdKyArRigrYikqaypqO2hbYSsxNDQ+PjNdPWQ7aWYoIShmPD1pKSl7
Zj0raFthKzcyPj4zXTtiPStoW2ErODg+PjNdO2I9Zj5iP2Y6Yn1lbHNlIGI9K0UoK2YpKmwqaisg
K2hbYT4+M10tayorRigrZikqbTtoW2ErMTUyPj4zXT1iLWM7aWYoIShnPD1pKSl7bT0raFthKzgw
Pj4zXTtiPStoW2ErOTY+PjNdO2I9bT5iP206Yn1lbHNlIGI9K0UoK2cpKmwqbSsgK2hbYSs4Pj4z
XSsgK0YoK2cpKmsqajtoW2ErMTYwPj4zXT1iLWQ7cmV0dXJufWZ1bmN0aW9uIGpGKGIsZCxlKXti
PWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MC4wLGk9MCxqPTAsaz0wLjAsbT0wLG49MDtuPWw7
bD1sKzgwfDA7bT1uO2tGKGIpO2s9K2hbZSs1Nj4+M107Zz0raFtlKzY0Pj4zXTtzd2l0Y2goYVtl
KzgwPj4wXXwwKXtjYXNlIDExNjp7Zz0oK2hbZSs0OD4+M10tK2xGKGQpKSouNStnO2Y9NDticmVh
a31jYXNlIDk4OntnPWctKCtoW2UrNDg+PjNdLStsRihkKSkqLjU7Zj00O2JyZWFrfWRlZmF1bHQ6
e319aWYoKGZ8MCk9PTQpZz1nKy0xLjA7aFttPj4zXT1rO2hbbSs4Pj4zXT1nO2NbbSsyMD4+Ml09
Y1tlKzg+PjJdO2NbbSsxNj4+Ml09Y1tlKzQ+PjJdO2hbbSszMj4+M109K2hbZSsxNj4+M107aj1i
KzE2fDA7Zj1JbShjWyhjW2o+PjJdfDApKzg+PjJdfDAsMTIyMDg5KXwwO2U9bSs1NnwwO2NbZT4+
Ml09ZjtpPW0rNjB8MDtjW2k+PjJdPWNbKGNbaj4+Ml18MCkrMjEyPj4yXTtqPW0rNjR8MDthW2o+
PjBdPTA7aWYoISgoZnwwKSE9MD8oYVtmPj4wXXwwKSE9MDowKSljW2U+PjJdPTEyMjEwMDtpZigo
YVtkKzQ+PjBdfDApPT0xKXtlPWNbZD4+Ml18MDtGRChiLGNbKGNbYj4+Ml18MCkrMzM2Pj4yXXww
KTtmPWNbZSsyND4+Ml18MDtpZighZilCRChiLDEyMjEwNik7ZWxzZSBCRChiLGYpO25GKGIsZSxt
KTtpZihhW2o+PjBdfDApX0koY1tpPj4yXXwwKX1lbHNlIG1GKGIsY1tkPj4yXXwwLG0pO29GKGIp
O2w9bjtyZXR1cm59ZnVuY3Rpb24ga0YoYSl7YT1hfDA7dmFyIGQ9MCxlPTAsZj0wO2Q9VnQoYSl8
MDtlPWNbZD4+Ml18MDthPWNbZSs0Pj4yXXwwO2NbZCs0Pj4yXT1hO2NbZCsxMj4+Ml09Y1tlKzEy
Pj4yXTtzd2l0Y2goYXwwKXtjYXNlIDI6e2E9ZSs4fDA7Zj02O2JyZWFrfWNhc2UgMDp7YT1lKzh8
MDtmPTY7YnJlYWt9Y2FzZSAxOnthPWUrOHwwO2Y9NjticmVha31jYXNlIDM6e2E9ZSs4fDA7Zj02
O2JyZWFrfWRlZmF1bHQ6e319aWYoKGZ8MCk9PTYpY1tkKzg+PjJdPWNbYT4+Ml07Y1tkKzIwOD4+
Ml09Y1tlKzIwOD4+Ml07Y1tkKzIyOD4+Ml09Y1tlKzIyOD4+Ml07Y1tkKzI0ND4+Ml09Y1tlKzI0
ND4+Ml07Zj1kKzI2MHwwO2JbZj4+MV09YltmPj4xXSYtMnxiW2UrMjYwPj4xXSYxO3JldHVybn1m
dW5jdGlvbiBsRihiKXtiPWJ8MDt2YXIgZD0wLjAsZT0wLGY9MDtzd2l0Y2goYVtiKzQ+PjBdfDAp
e2Nhc2UgMTp7ZT1jW2I+PjJdfDA7Yj1lKzcyfDA7ZT1lKzU2fDA7Zj01O2JyZWFrfWNhc2UgMzp7
ZT1jW2I+PjJdfDA7Yj1lKzI0fDA7ZT1lKzh8MDtmPTU7YnJlYWt9Y2FzZSAyOntlPWNbYj4+Ml18
MDtiPWUrMzJ8MDtlPWUrMTZ8MDtmPTU7YnJlYWt9ZGVmYXVsdDpkPTAuMH1pZigoZnwwKT09NSlk
PStoW2I+PjNdLStoW2U+PjNdO3JldHVybiArZH1mdW5jdGlvbiBtRihkLGUsZil7ZD1kfDA7ZT1l
fDA7Zj1mfDA7dmFyIGc9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MC4wLHA9MC4wLHE9MCxyPTAs
cz0wO249bDtsPWwrOTZ8MDtqPW4rNjR8MDtpPW4rMzJ8MDtnPW4rMTZ8MDtrPW47bT1iW2UrND4+
MV18MDtpZihtPDwxNj4+MTY+PTEpe3I9ZSs4fDA7cD0raFtlKzI0Pj4zXTtvPStoW3I+PjNdO2hb
az4+M109KG8rcCkqLjUrICtoW2Y+PjNdO2hbays4Pj4zXT0oK2hbZSsxNj4+M10rICtoW2UrMzI+
PjNdKSouNSsgK2hbZis4Pj4zXTtxPWNbZT4+Ml18MDtzPWYrMTZ8MDtmPWFbZSs2Pj4wXXwwO2Nb
Zz4+Ml09Y1trPj4yXTtjW2crND4+Ml09Y1trKzQ+PjJdO2NbZys4Pj4yXT1jW2srOD4+Ml07Y1tn
KzEyPj4yXT1jW2srMTI+PjJdO2NbaT4+Ml09Y1tzPj4yXTtjW2krND4+Ml09Y1tzKzQ+PjJdO2Nb
aSs4Pj4yXT1jW3MrOD4+Ml07Y1tpKzEyPj4yXT1jW3MrMTI+PjJdO2NbaSsxNj4+Ml09Y1tzKzE2
Pj4yXTtjW2krMjA+PjJdPWNbcysyMD4+Ml07Y1tpKzI0Pj4yXT1jW3MrMjQ+PjJdO2NbaSsyOD4+
Ml09Y1tzKzI4Pj4yXTtjW2o+PjJdPWNbcj4+Ml07Y1tqKzQ+PjJdPWNbcis0Pj4yXTtjW2orOD4+
Ml09Y1tyKzg+PjJdO2NbaisxMj4+Ml09Y1tyKzEyPj4yXTtjW2orMTY+PjJdPWNbcisxNj4+Ml07
Y1tqKzIwPj4yXT1jW3IrMjA+PjJdO2NbaisyND4+Ml09Y1tyKzI0Pj4yXTtjW2orMjg+PjJdPWNb
cisyOD4+Ml07QUYoZCxtPDwxNj4+MTYscSxnLChwLW8pKi41LGksaixmKX1sPW47cmV0dXJufWZ1
bmN0aW9uIG5GKGUsZixnKXtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaT0wLGo9MCxrPTAsbT0wLjAs
bj0wLjAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MDt5PWw7bD1s
KzE3NnwwO3Q9eSs5NnwwO3Y9eSs2NHwwO3c9eSsxMzZ8MDtwPXk7cT15KzEyOHwwO3I9Zis0OHww
O2Nbdj4+Ml09Y1tyPj4yXTtjW3YrND4+Ml09Y1tyKzQ+PjJdO2Nbdis4Pj4yXT1jW3IrOD4+Ml07
Y1t2KzEyPj4yXT1jW3IrMTI+PjJdO2NbdisxNj4+Ml09Y1tyKzE2Pj4yXTtjW3YrMjA+PjJdPWNb
cisyMD4+Ml07Y1t2KzI0Pj4yXT1jW3IrMjQ+PjJdO2NbdisyOD4+Ml09Y1tyKzI4Pj4yXTttPSto
W2c+PjNdO249K2hbZys4Pj4zXTtyPWYrODR8MDtpPWNbcj4+Ml18MDtpZighKGNbZj4+Ml18MCkp
eD0oY1tmKzg+PjJdfDApIT0wO2Vsc2UgeD0xO3U9ZisxMDh8MDtqPWNbdT4+Ml18MDtpZihqfDAp
cEYoZyxqLDE2NzI5Nik7aFt2Pj4zXT0raFt2Pj4zXSttO3M9disxNnwwO2hbcz4+M109K2hbcz4+
M10rbTtzPXYrOHwwO2hbcz4+M109K2hbcz4+M10rbjtzPXYrMjR8MDtoW3M+PjNdPStoW3M+PjNd
K247aWYoeD8oY1tlKzE1Mj4+Ml0mNHwwKT09MDowKXtjW3Q+PjJdPWNbdj4+Ml07Y1t0KzQ+PjJd
PWNbdis0Pj4yXTtjW3QrOD4+Ml09Y1t2Kzg+PjJdO2NbdCsxMj4+Ml09Y1t2KzEyPj4yXTtjW3Qr
MTY+PjJdPWNbdisxNj4+Ml07Y1t0KzIwPj4yXT1jW3YrMjA+PjJdO2NbdCsyND4+Ml09Y1t2KzI0
Pj4yXTtjW3QrMjg+PjJdPWNbdisyOD4+Ml07cz1xRihlLGcsZix0LHcpfDB9ZWxzZSBzPTA7bz1m
KzQyfDA7aj1iW28+PjFdfDA7aWYoIShqJjMyKSl7az1jW2YrMjA+PjJdfDA7aWYoayl7aj1yRihl
LGssY1tmKzI4Pj4yXXwwLGomNjU1MzUscSl8MDtpZighKGJbbz4+MV0mNCkpe2NbdD4+Ml09Y1t2
Pj4yXTtjW3QrND4+Ml09Y1t2KzQ+PjJdO2NbdCs4Pj4yXT1jW3YrOD4+Ml07Y1t0KzEyPj4yXT1j
W3YrMTI+PjJdO2NbdCsxNj4+Ml09Y1t2KzE2Pj4yXTtjW3QrMjA+PjJdPWNbdisyMD4+Ml07Y1t0
KzI0Pj4yXT1jW3YrMjQ+PjJdO2NbdCsyOD4+Ml09Y1t2KzI4Pj4yXTtJRChlLHQsail9ZWxzZXtv
PWRbZiszMz4+MF18MDtjW3Q+PjJdPWNbdj4+Ml07Y1t0KzQ+PjJdPWNbdis0Pj4yXTtjW3QrOD4+
Ml09Y1t2Kzg+PjJdO2NbdCsxMj4+Ml09Y1t2KzEyPj4yXTtjW3QrMTY+PjJdPWNbdisxNj4+Ml07
Y1t0KzIwPj4yXT1jW3YrMjA+PjJdO2NbdCsyND4+Ml09Y1t2KzI0Pj4yXTtjW3QrMjg+PjJdPWNb
disyOD4+Ml07eXkoZSxzRihwLHQsbyl8MCw0LDQsail9X0koY1txPj4yXXwwKX13aGlsZSgxKXtq
PWNbaT4+Ml18MDtpZighailicmVhazt0RihlLGosZyk7aT1pKzR8MH1pPWNbcj4+Ml18MDtPRChl
LDEuMCk7aj1mKzI0fDA7d2hpbGUoMSl7az1pKzR8MDtpPWNbaT4+Ml18MDtpZighaSlicmVhaztp
ZighKGFbaSsxMDA+PjBdfDApKXtpPWs7Y29udGludWV9dUYoZSxpLGcsY1tqPj4yXXwwLGNbaz4+
Ml18MCk7aT1rfWlmKGFbZiszMz4+MF18MCl7Y1t0Pj4yXT1jW3Y+PjJdO2NbdCs0Pj4yXT1jW3Yr
ND4+Ml07Y1t0Kzg+PjJdPWNbdis4Pj4yXTtjW3QrMTI+PjJdPWNbdisxMj4+Ml07Y1t0KzE2Pj4y
XT1jW3YrMTY+PjJdO2NbdCsyMD4+Ml09Y1t2KzIwPj4yXTtjW3QrMjQ+PjJdPWNbdisyND4+Ml07
Y1t0KzI4Pj4yXT1jW3YrMjg+PjJdO3ZGKGUsZix0KX19aWYoc3wwKXdGKGUsdyk7aWYoKHg/Y1tl
KzE1Mj4+Ml0mNHwwOjApPyhjW3Q+PjJdPWNbdj4+Ml0sY1t0KzQ+PjJdPWNbdis0Pj4yXSxjW3Qr
OD4+Ml09Y1t2Kzg+PjJdLGNbdCsxMj4+Ml09Y1t2KzEyPj4yXSxjW3QrMTY+PjJdPWNbdisxNj4+
Ml0sY1t0KzIwPj4yXT1jW3YrMjA+PjJdLGNbdCsyND4+Ml09Y1t2KzI0Pj4yXSxjW3QrMjg+PjJd
PWNbdisyOD4+Ml0scUYoZSxnLGYsdCx3KXwwKTowKXdGKGUsdyk7aWYoY1t1Pj4yXXwwKXhGKGcs
MTY3Mjk2KTtsPXk7cmV0dXJufWZ1bmN0aW9uIG9GKGEpe2E9YXwwO3ZhciBiPTA7Yj1jW2ErMTY+
PjJdfDA7Y1tiKzIwOD4+Ml09MDtjW2IrMjI4Pj4yXT0wO2NbYisyNDQ+PjJdPTA7Y1tiKzIxMj4+
Ml09MDtXdChhKTtyZXR1cm59ZnVuY3Rpb24gcEYoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3Zh
ciBlPTAuMCxmPTAsZz0wLGk9MDtpPWErMTZ8MDtmPWNbaT4+Ml18MDtpZihmfDApe2lmKCEoY1ti
Pj4yXXwwKSl7Zj0wO2c9ZH1lbHNle2NbZD4+Ml09ZjtmPWNbYj4+Ml18MDtnPWl9Y1tnPj4yXT1m
fWY9Y1thKzIwPj4yXXwwO2lmKGZ8MCl7Zz1iKzR8MDtpZighKGNbZz4+Ml18MCkpe2Y9MDtnPWR9
ZWxzZXtjW2QrND4+Ml09ZjtmPWNbZz4+Ml18MDtnPWl9Y1tnKzQ+PjJdPWZ9ZT0raFthKzMyPj4z
XTtpZihlPj0wLjApe2Y9YisxNnwwO2lmKCEoK2hbZj4+M10+PTAuMCkpZT0tMS4wO2Vsc2V7aFtk
KzE2Pj4zXT1lO2U9K2hbZj4+M107ZD1pfWhbZCsxNj4+M109ZX1yZXR1cm59ZnVuY3Rpb24gcUYo
ZCxlLGYsZyxoKXtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaT0wLGo9MCxrPTAs
bT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTA7dT1sO2w9bCsyMjR8MDtuPXUrOHww
O2s9dTt0PXUrNDB8MDtqPXUrMTg0fDA7aT11KzU2fDA7bT1jW2QrMTY+PjJdfDA7bz1tKzIwOHww
O2NbaD4+Ml09Y1tvPj4yXTtwPW0rMjI4fDA7Y1toKzQ+PjJdPWNbcD4+Ml07cT1tKzI0NHwwO2Nb
aCs4Pj4yXT1jW3E+PjJdO3I9bSsyMTJ8MDtjW2grMTI+PjJdPWNbcj4+Ml07cz1tKzI2MHwwO2Fb
aCsxNj4+MF09KGJbcz4+MV08PDE1JjY1NTM1KTw8MTY+PjE2Pj4xNTtoPWNbZisxNj4+Ml18MDtp
ZigoaHwwKSE9MD8oYVtoPj4wXXwwKSE9MDowKWk9MDtlbHNle2NtKHQsMTI4LGkpO2k9ZSs2MHww
O2g9Y1tpPj4yXXwwO2lmKCFoKXtoPUdMKFl0KGQsY1ttKzg+PjJdfDAsdCl8MCl8MDtjW2k+PjJd
PWg7YVtlKzY0Pj4wXT0xfWZtKHQsaCl8MDtpPWNbNDI0MTddfDA7Y1s0MjQxN109aSsxO2Nbaz4+
Ml09aTtwTChqLDEyMjE4MyxrKXwwO2ZtKHQsail8MDtpPXQrNHwwO2g9Y1tpPj4yXXwwO2lmKGg+
Pj4wPj0oY1t0Kzg+PjJdfDApPj4+MCl7ZG0odCwxKXwwO2g9Y1tpPj4yXXwwfWFbaD4+MF09MDto
PWNbdD4+Ml18MDtjW2k+PjJdPWg7aT0xfWg9WHQoZCwwLGNbZj4+Ml18MCxjW2YrMTI+PjJdfDAs
Y1tmKzg+PjJdfDAsaCxjW20rOD4+Ml18MCl8MDtpZihpKWdtKHQpO2RvIGlmKGh8MCl7aWYoKGNb
bz4+Ml18MCk9PTA/KGJbcz4+MV0mMSk9PTA6MClicmVhaztjW24+PjJdPWNbZz4+Ml07Y1tuKzQ+
PjJdPWNbZys0Pj4yXTtjW24rOD4+Ml09Y1tnKzg+PjJdO2NbbisxMj4+Ml09Y1tnKzEyPj4yXTtj
W24rMTY+PjJdPWNbZysxNj4+Ml07Y1tuKzIwPj4yXT1jW2crMjA+PjJdO2NbbisyND4+Ml09Y1tn
KzI0Pj4yXTtjW24rMjg+PjJdPWNbZysyOD4+Ml07ZHUoZCxuKTt3RChkLGNbbz4+Ml18MCxjW3A+
PjJdfDAsY1txPj4yXXwwLGNbcj4+Ml18MCl9d2hpbGUoMCk7bD11O3JldHVybiBofDB9ZnVuY3Rp
b24gckYoYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgaD0wLjAs
aT0wLGo9MDtqPWw7bD1sKzE2fDA7aT1qO2lmKCEoKHh2KGIsZixpKXwwKTw8MjQ+PjI0KSl7REQo
YSxiKTtiPTF9ZWxzZXtERChhLGNbZj4+Ml18MCk7Yj1jW2YrND4+Ml18MDtoPStnW2k+PjJdO2lm
KCFiKUVEKGEsMTIyMTA2LGQsaCk7ZWxzZSBFRChhLGIsZCxoKTtiPWU+Pj4xJjF8Mn1CRChhLDEy
MjE3MSk7bD1qO3JldHVybiBifDB9ZnVuY3Rpb24gc0YoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHww
O3ZhciBlPTAsZj0wLjAsZz0wLjAsaT0wLjAsaj0wLjA7Y1thPj4yXT1jW2I+PjJdO2NbYSs0Pj4y
XT1jW2IrND4+Ml07Y1thKzg+PjJdPWNbYis4Pj4yXTtjW2ErMTI+PjJdPWNbYisxMj4+Ml07ZT1h
KzMyfDA7Yj1iKzE2fDA7Y1tlPj4yXT1jW2I+PjJdO2NbZSs0Pj4yXT1jW2IrND4+Ml07Y1tlKzg+
PjJdPWNbYis4Pj4yXTtjW2UrMTI+PjJdPWNbYisxMj4+Ml07aWYoKGR8MCk+MSl7aj0rKGR8MCkq
LjU7aT0raFthPj4zXStqO2hbYT4+M109aTtkPWErOHwwO2c9K2hbZD4+M10rajtoW2Q+PjNdPWc7
Zj0raFtlPj4zXS1qO2hbZT4+M109ZjtlPWErNDB8MDtqPStoW2U+PjNdLWo7aFtlPj4zXT1qfWVs
c2V7Zj0raFtlPj4zXTtnPStoW2ErOD4+M107aT0raFthPj4zXTtqPStoW2ErNDA+PjNdfWhbYSsx
Nj4+M109ZjtoW2ErMjQ+PjNdPWc7aFthKzQ4Pj4zXT1pO2hbYSs1Nj4+M109ajtyZXR1cm4gYXww
fWZ1bmN0aW9uIHRGKGUsZixnKXtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaT0wLGo9MC4wLGs9MC4w
LG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MDt2PWw7bD1sKzE3NnwwO3I9
dis5NnwwO3M9disxMzZ8MDt0PXYrNjR8MDtwPXY7cT12KzEyOHwwO3U9Zis0OHwwO2NbdD4+Ml09
Y1t1Pj4yXTtjW3QrND4+Ml09Y1t1KzQ+PjJdO2NbdCs4Pj4yXT1jW3UrOD4+Ml07Y1t0KzEyPj4y
XT1jW3UrMTI+PjJdO2NbdCsxNj4+Ml09Y1t1KzE2Pj4yXTtjW3QrMjA+PjJdPWNbdSsyMD4+Ml07
Y1t0KzI0Pj4yXT1jW3UrMjQ+PjJdO2NbdCsyOD4+Ml09Y1t1KzI4Pj4yXTtqPStoW2c+PjNdO2s9
K2hbZys4Pj4zXTtpZighKGNbZj4+Ml18MCkpdT0oY1tmKzg+PjJdfDApIT0wO2Vsc2UgdT0xO2hb
dD4+M109K2hbdD4+M10rajtvPXQrMTZ8MDtoW28+PjNdPStoW28+PjNdK2o7bz10Kzh8MDtoW28+
PjNdPStoW28+PjNdK2s7bz10KzI0fDA7aFtvPj4zXT0raFtvPj4zXStrO2lmKHU/KGNbZSsxNTI+
PjJdJjR8MCk9PTA6MCl7Y1tyPj4yXT1jW3Q+PjJdO2Nbcis0Pj4yXT1jW3QrND4+Ml07Y1tyKzg+
PjJdPWNbdCs4Pj4yXTtjW3IrMTI+PjJdPWNbdCsxMj4+Ml07Y1tyKzE2Pj4yXT1jW3QrMTY+PjJd
O2NbcisyMD4+Ml09Y1t0KzIwPj4yXTtjW3IrMjQ+PjJdPWNbdCsyND4+Ml07Y1tyKzI4Pj4yXT1j
W3QrMjg+PjJdO289cUYoZSxnLGYscixzKXwwfWVsc2Ugbz0wO249Zis0MnwwO2k9YltuPj4xXXww
O2E6ZG8gaWYoIShpJjMyKSl7bT1jW2YrMjA+PjJdfDA7aWYobXwwKXtpPXJGKGUsbSxjW2YrMjg+
PjJdfDAsaSY2NTUzNSxxKXwwO2lmKCEoYltuPj4xXSY0KSl7Y1tyPj4yXT1jW3Q+PjJdO2Nbcis0
Pj4yXT1jW3QrND4+Ml07Y1tyKzg+PjJdPWNbdCs4Pj4yXTtjW3IrMTI+PjJdPWNbdCsxMj4+Ml07
Y1tyKzE2Pj4yXT1jW3QrMTY+PjJdO2NbcisyMD4+Ml09Y1t0KzIwPj4yXTtjW3IrMjQ+PjJdPWNb
dCsyND4+Ml07Y1tyKzI4Pj4yXT1jW3QrMjg+PjJdO0lEKGUscixpKX1lbHNle249ZFtmKzMzPj4w
XXwwO2Nbcj4+Ml09Y1t0Pj4yXTtjW3IrND4+Ml09Y1t0KzQ+PjJdO2Nbcis4Pj4yXT1jW3QrOD4+
Ml07Y1tyKzEyPj4yXT1jW3QrMTI+PjJdO2NbcisxNj4+Ml09Y1t0KzE2Pj4yXTtjW3IrMjA+PjJd
PWNbdCsyMD4+Ml07Y1tyKzI0Pj4yXT1jW3QrMjQ+PjJdO2NbcisyOD4+Ml09Y1t0KzI4Pj4yXTt5
eShlLHNGKHAscixuKXwwLDQsNCxpKX1fSShjW3E+PjJdfDApfWlmKGFbZiszMz4+MF18MCl7Y1ty
Pj4yXT1jW3Q+PjJdO2Nbcis0Pj4yXT1jW3QrND4+Ml07Y1tyKzg+PjJdPWNbdCs4Pj4yXTtjW3Ir
MTI+PjJdPWNbdCsxMj4+Ml07Y1tyKzE2Pj4yXT1jW3QrMTY+PjJdO2NbcisyMD4+Ml09Y1t0KzIw
Pj4yXTtjW3IrMjQ+PjJdPWNbdCsyND4+Ml07Y1tyKzI4Pj4yXT1jW3QrMjg+PjJdO3ZGKGUsZixy
KX1pPWYrODh8MDtzd2l0Y2goYVtmKzkyPj4wXXwwKXtjYXNlIDE6e25GKGUsY1tpPj4yXXwwLGcp
O2JyZWFrIGF9Y2FzZSAzOnt6RihlLGNbaT4+Ml18MCxnKTticmVhayBhfWRlZmF1bHQ6e21GKGUs
Y1tpPj4yXXwwLGcpO2JyZWFrIGF9fX13aGlsZSgwKTtpZihvfDApd0YoZSxzKTtpZigodT9jW2Ur
MTUyPj4yXSY0fDA6MCk/KGNbcj4+Ml09Y1t0Pj4yXSxjW3IrND4+Ml09Y1t0KzQ+PjJdLGNbcis4
Pj4yXT1jW3QrOD4+Ml0sY1tyKzEyPj4yXT1jW3QrMTI+PjJdLGNbcisxNj4+Ml09Y1t0KzE2Pj4y
XSxjW3IrMjA+PjJdPWNbdCsyMD4+Ml0sY1tyKzI0Pj4yXT1jW3QrMjQ+PjJdLGNbcisyOD4+Ml09
Y1t0KzI4Pj4yXSxxRihlLGcsZixyLHMpfDApOjApd0YoZSxzKTtsPXY7cmV0dXJufWZ1bmN0aW9u
IHVGKGYsZyxpLGosayl7Zj1mfDA7Zz1nfDA7aT1pfDA7aj1qfDA7az1rfDA7dmFyIG09MC4wLG49
MCxvPTAuMCxwPTAuMCxxPTAscj0wLjAscz0wLjAsdD0wLjAsdT0wLjAsdj0wLHc9MCx4PTAuMCx5
PTAsej0wLEE9MCxCPTAsQz0wO0E9bDtsPWwrMzJ8MDt5PUErMTZ8MDt6PUE7cj0raFtpPj4zXTt4
PStoW2krOD4+M107cT0oanwwKT09MD8xMjIxMDY6ajtERChmLHEpO0JEKGYscSk7dD0raFtnKzQ4
Pj4zXTtvPStoW2crNTY+PjNdO3U9K2hbZys2ND4+M107cD0raFtnKzcyPj4zXTtzPXQrcjtyPXUr
cjt4PW8reDtxPWcrMTAwfDA7aT1hW3E+PjBdfDA7aWYoKGkmMSkhPTA/KG49Y1tnKzk2Pj4yXXww
LCgoZVtnKzgwPj4xXXwwKSsoZVtnKzg0Pj4xXXwwKXwwKTwoY1tuKzEwND4+Ml18MCkpOjApe2k9
YltnKzg2Pj4xXXwwO2RvIGlmKGk8PDE2Pj4xNilpZigoKGVbZys4Mj4+MV18MCkrKGkmNjU1MzUp
fDApPT0oY1tuKzEwMD4+Ml18MCkpe0I9YVtuKzMyPj4wXXwwO0M9KEI8PDI0Pj4yNCkvMnwwO2o9
KEM8PDI0Pj4yNCkrKGRbbiszMz4+MF18MCl8MDtpPWo7aj1qJjI1NTttPXgtKyhDPDwyND4+MjQp
O249QjticmVha31lbHNle249YVtuKzMyPj4wXXwwO2k9MDtqPSgobjw8MjQ+PjI0KS8yfDApPDwy
ND4+MjQ7bT14O2JyZWFrfWVsc2V7Qz1hW24rMzI+PjBdfDA7aj0oKEM8PDI0Pj4yNCkvMnwwKTw8
MjQ+PjI0O2k9aisoZFtuKzMzPj4wXXwwKXwwO209eDtuPUN9d2hpbGUoMCk7aFt6Kzg+PjNdPW0t
KyhqfDApO2hbej4+M109cisgKygoKG48PDI0Pj4yNCkvMnwwKTw8MjQ+PjI0KTtjW3k+PjJdPWNb
ej4+Ml07Y1t5KzQ+PjJdPWNbeis0Pj4yXTtjW3krOD4+Ml09Y1t6Kzg+PjJdO2NbeSsxMj4+Ml09
Y1t6KzEyPj4yXTt5RihmLHksMC4wLHAtbysgKyhpJjI1NXwwKSsgKyhuPDwyND4+MjQpKTtpPWFb
cT4+MF18MH1pZihpJjI/KHY9YltnKzg2Pj4xXXwwLHc9Y1tnKzk2Pj4yXXwwLCgoZVtnKzgyPj4x
XXwwKSsodiY2NTUzNSl8MCk8KGNbdysxMDA+PjJdfDApKTowKXtpPWJbZys4ND4+MV18MDtkbyBp
ZighKGk8PDE2Pj4xNikpe2k9YVt3KzMyPj4wXXwwO0M9KGk8PDI0Pj4yNCkvMnwwO249KEM8PDI0
Pj4yNCkrKGRbdyszMz4+MF18MCl8MDtqPW4mMjU1O249biYyNTU7bT0rKEM8PDI0Pj4yNCk7aFt6
Pj4zXT1zLW0tKyhufDApO2lmKChjW3crMTA0Pj4yXXwwKT09KGVbZys4MD4+MV18MCkpe2o9bjw8
MSYyNTU7YnJlYWt9aWYoKGt8MCkhPTA/KGJbays4Nj4+MV18MCkhPXY8PDE2Pj4xNjowKWo9fn4o
KyhqJjI1NSktdSsgK2hbdys2ND4+M10tbSkmMjU1fWVsc2V7aWYoKChlW2crODA+PjFdfDApKyhp
JjY1NTM1KXwwKT09KGNbdysxMDQ+PjJdfDApKXtpPWFbdyszMj4+MF18MDtDPShpPDwyND4+MjQp
LzJ8MDtqPShDJjI1NSkrKGRbdyszMz4+MF18MCkmMjU1O2hbej4+M109cy0rKEM8PDI0Pj4yNCk7
YnJlYWt9aT1hW3crMzI+PjBdfDA7bT0rKCgoaTw8MjQ+PjI0KS8yfDApPDwyND4+MjQpO2hbej4+
M109cy1tO2lmKChrfDApIT0wPyhiW2srODY+PjFdfDApIT12PDwxNj4+MTY6MClqPX5+KCtoW3cr
NjQ+PjNdLXUtbSkmMjU1O2Vsc2Ugaj0wfXdoaWxlKDApO2hbeis4Pj4zXT14LSsoKChpPDwyND4+
MjQpLzJ8MCk8PDI0Pj4yNCk7Y1t5Pj4yXT1jW3o+PjJdO2NbeSs0Pj4yXT1jW3orND4+Ml07Y1t5
Kzg+PjJdPWNbeis4Pj4yXTtjW3krMTI+PjJdPWNbeisxMj4+Ml07eUYoZix5LHUtdCsgKyhqJjI1
NSkrICsoaTw8MjQ+PjI0KSwwLjApfWw9QTtyZXR1cm59ZnVuY3Rpb24gdkYoZSxmLGcpe2U9ZXww
O2Y9ZnwwO2c9Z3wwO3ZhciBpPTAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLjA7cD1sO2w9
bCsxNjB8MDtvPXArMTEyfDA7bj1wO2o9cCsxNDR8MDttPWNbZisyND4+Ml18MDtCRChlLChtfDAp
PT0wPzEyMjEwNjptKTttPWYrNDJ8MDtpPWJbbT4+MV18MDtpZighKGkmMzg0KSlGRChlLGNbKGNb
ZT4+Ml18MCkrMzM2Pj4yXXwwKTtlbHNle2Nbais0Pj4yXT0wO2Nbaj4+Ml09MDtpPWkmNjU1MzU7
aWYoIShpJjI1Nikpe2lmKGkmMTI4fDApe2k9MTIyMTEyO2s9NH19ZWxzZXtpPTEyMjExOTtrPTR9
aWYoKGt8MCk9PTQpY1tqPj4yXT1pO0ZEKGUsail9az1mKzMzfDA7T0QoZSwrKGRbaz4+MF18MCkp
O2E6ZG8gaWYoIShiW20+PjFdJjQpKXtpPWJbZiszNj4+MV0mMTUzNjA7aWYoIShpPDwxNj4+MTYp
KXtpPWFbaz4+MF18MDtpZigoaSYyNTUpPjEpe3E9KyhpJjI1NSkqLjU7aFtnPj4zXT0raFtnPj4z
XStxO249Zys4fDA7aFtuPj4zXT0raFtuPj4zXStxO249ZysxNnwwO2hbbj4+M109K2hbbj4+M10t
cTtuPWcrMjR8MDtoW24+PjNdPStoW24+PjNdLXF9O2Nbbz4+Ml09Y1tnPj4yXTtjW28rND4+Ml09
Y1tnKzQ+PjJdO2Nbbys4Pj4yXT1jW2crOD4+Ml07Y1tvKzEyPj4yXT1jW2crMTI+PjJdO2Nbbysx
Nj4+Ml09Y1tnKzE2Pj4yXTtjW28rMjA+PjJdPWNbZysyMD4+Ml07Y1tvKzI0Pj4yXT1jW2crMjQ+
PjJdO2NbbysyOD4+Ml09Y1tnKzI4Pj4yXTtJRChlLG8sMCk7YnJlYWt9aj1uKzE2fDA7bT1kW2s+
PjBdfDA7Y1tvPj4yXT1jW2c+PjJdO2Nbbys0Pj4yXT1jW2crND4+Ml07Y1tvKzg+PjJdPWNbZys4
Pj4yXTtjW28rMTI+PjJdPWNbZysxMj4+Ml07Y1tvKzE2Pj4yXT1jW2crMTY+PjJdO2NbbysyMD4+
Ml09Y1tnKzIwPj4yXTtjW28rMjQ+PjJdPWNbZysyND4+Ml07Y1tvKzI4Pj4yXT1jW2crMjg+PjJd
O3NGKGosbyxtKXwwO2RvIHN3aXRjaCgoKGkmNjU1MzUpKy0xMDI0fDApPj4+MTAmNDE5NDMwM3ww
KXtjYXNlIDc6e0tEKGUsaiwyKTticmVhayBhfWNhc2UgMzp7S0QoZSxuKzMyfDAsMik7YnJlYWsg
YX1jYXNlIDE6e0tEKGUsbis0OHwwLDIpO2JyZWFrIGF9Y2FzZSAwOntnPW4rNjR8MDtjW24+PjJd
PWNbZz4+Ml07Y1tuKzQ+PjJdPWNbZys0Pj4yXTtjW24rOD4+Ml09Y1tnKzg+PjJdO2NbbisxMj4+
Ml09Y1tnKzEyPj4yXTtLRChlLG4sMik7YnJlYWsgYX1jYXNlIDExOntLRChlLGosMyk7YnJlYWsg
YX1jYXNlIDU6e0tEKGUsbiszMnwwLDMpO2JyZWFrIGF9Y2FzZSAyOntnPW4rODB8MDtjW2c+PjJd
PWNbaj4+Ml07Y1tnKzQ+PjJdPWNbais0Pj4yXTtjW2crOD4+Ml09Y1tqKzg+PjJdO2NbZysxMj4+
Ml09Y1tqKzEyPj4yXTtLRChlLG4rNDh8MCwzKTticmVhayBhfWNhc2UgODp7Zz1uKzY0fDA7Y1tu
Pj4yXT1jW2c+PjJdO2Nbbis0Pj4yXT1jW2crND4+Ml07Y1tuKzg+PjJdPWNbZys4Pj4yXTtjW24r
MTI+PjJdPWNbZysxMj4+Ml07S0QoZSxuLDMpO2JyZWFrIGF9Y2FzZSAxMzp7S0QoZSxqLDQpO2Jy
ZWFrIGF9Y2FzZSA2OntnPW4rODB8MDtjW2c+PjJdPWNbaj4+Ml07Y1tnKzQ+PjJdPWNbais0Pj4y
XTtjW2crOD4+Ml09Y1tqKzg+PjJdO2NbZysxMj4+Ml09Y1tqKzEyPj4yXTtLRChlLG4rMzJ8MCw0
KTticmVhayBhfWNhc2UgMTA6e2c9bis4MHwwO2NbZz4+Ml09Y1tqPj4yXTtjW2crND4+Ml09Y1tq
KzQ+PjJdO2NbZys4Pj4yXT1jW2orOD4+Ml07Y1tnKzEyPj4yXT1jW2orMTI+PjJdO2c9bis5Nnww
O289biszMnwwO2NbZz4+Ml09Y1tvPj4yXTtjW2crND4+Ml09Y1tvKzQ+PjJdO2NbZys4Pj4yXT1j
W28rOD4+Ml07Y1tnKzEyPj4yXT1jW28rMTI+PjJdO0tEKGUsbis0OHwwLDQpO2JyZWFrIGF9Y2Fz
ZSAxMjp7Zz1uKzY0fDA7Y1tuPj4yXT1jW2c+PjJdO2Nbbis0Pj4yXT1jW2crND4+Ml07Y1tuKzg+
PjJdPWNbZys4Pj4yXTtjW24rMTI+PjJdPWNbZysxMj4+Ml07S0QoZSxuLDQpO2JyZWFrIGF9Y2Fz
ZSA5OntLRChlLGosMik7S0QoZSxuKzQ4fDAsMik7YnJlYWsgYX1jYXNlIDQ6e2c9bis2NHwwO2Nb
bj4+Ml09Y1tnPj4yXTtjW24rND4+Ml09Y1tnKzQ+PjJdO2Nbbis4Pj4yXT1jW2crOD4+Ml07Y1tu
KzEyPj4yXT1jW2crMTI+PjJdO0tEKGUsbiwyKTtLRChlLG4rMzJ8MCwyKTticmVhayBhfWRlZmF1
bHQ6YnJlYWsgYX13aGlsZSgwKX1lbHNle209ZFtrPj4wXXwwO2Nbbz4+Ml09Y1tnPj4yXTtjW28r
ND4+Ml09Y1tnKzQ+PjJdO2Nbbys4Pj4yXT1jW2crOD4+Ml07Y1tvKzEyPj4yXT1jW2crMTI+PjJd
O2NbbysxNj4+Ml09Y1tnKzE2Pj4yXTtjW28rMjA+PjJdPWNbZysyMD4+Ml07Y1tvKzI0Pj4yXT1j
W2crMjQ+PjJdO2NbbysyOD4+Ml09Y1tnKzI4Pj4yXTt5eShlLHNGKG4sbyxtKXwwLDQsNCwwKX13
aGlsZSgwKTtsPXA7cmV0dXJufWZ1bmN0aW9uIHdGKGQsZSl7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxn
PTAsaD0wO2g9Y1tkKzE2Pj4yXXwwO2Y9aCsyMDh8MDtpZigoY1tmPj4yXXwwKT09MD8oYltoKzI2
MD4+MV0mMSk9PTA6MClkPTA7ZWxzZXt4RChkKTtkPWNbZj4+Ml18MH1pZigoZHwwKSE9KGNbZT4+
Ml18MCkpe19JKGQpO2NbZj4+Ml09Y1tlPj4yXX1kPWgrMjI4fDA7Zj1jW2Q+PjJdfDA7Zz1lKzR8
MDtpZigoZnwwKSE9KGNbZz4+Ml18MCkpe19JKGYpO2NbZD4+Ml09Y1tnPj4yXX1kPWgrMjQ0fDA7
Zj1jW2Q+PjJdfDA7Zz1lKzh8MDtpZigoZnwwKSE9KGNbZz4+Ml18MCkpe19JKGYpO2NbZD4+Ml09
Y1tnPj4yXX1kPWgrMjEyfDA7Zj1jW2Q+PjJdfDA7Zz1lKzEyfDA7aWYoKGZ8MCkhPShjW2c+PjJd
fDApKXtfSShmKTtjW2Q+PjJdPWNbZz4+Ml19aD1oKzI2MHwwO2JbaD4+MV09YltoPj4xXSYtMnxh
W2UrMTY+PjBdJjE7cmV0dXJufWZ1bmN0aW9uIHhGKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MC4w
LGU9MDtlPWNbYj4+Ml18MDtpZihlfDApY1thKzE2Pj4yXT1lO2U9Y1tiKzQ+PjJdfDA7aWYoZXww
KWNbYSsyMD4+Ml09ZTtkPStoW2IrMTY+PjNdO2lmKGQ+PTAuMCloW2ErMzI+PjNdPWQ7cmV0dXJu
fWZ1bmN0aW9uIHlGKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9K2Q7ZT0rZTt2YXIgZj0wLGc9MCxp
PTA7Zj1sO2w9bCs2NHwwO2c9ZiszMnwwO2k9ZjtjW2k+PjJdPWNbYj4+Ml07Y1tpKzQ+PjJdPWNb
Yis0Pj4yXTtjW2krOD4+Ml09Y1tiKzg+PjJdO2NbaSsxMj4+Ml09Y1tiKzEyPj4yXTtoW2krMTY+
PjNdPStoW2I+PjNdK2Q7aFtpKzI0Pj4zXT0raFtiKzg+PjNdK2U7Y1tnPj4yXT1jW2k+PjJdO2Nb
Zys0Pj4yXT1jW2krND4+Ml07Y1tnKzg+PjJdPWNbaSs4Pj4yXTtjW2crMTI+PjJdPWNbaSsxMj4+
Ml07Y1tnKzE2Pj4yXT1jW2krMTY+PjJdO2NbZysyMD4+Ml09Y1tpKzIwPj4yXTtjW2crMjQ+PjJd
PWNbaSsyND4+Ml07Y1tnKzI4Pj4yXT1jW2krMjg+PjJdO0lEKGEsZywxKTtsPWY7cmV0dXJufWZ1
bmN0aW9uIHpGKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxpPTAsaj0wLjAs
az0wLjAsbT0wLjAsbj0wLjA7aT1sO2w9bCs2NHwwO2c9aTtrPStoW2U+PjNdO249aysgK2hbZD4+
M107bT0raFtlKzg+PjNdO2o9bSsgK2hbZCs4Pj4zXTtrPWsrICtoW2QrMTY+PjNdO209bSsgK2hb
ZCsyND4+M107aFtnPj4zXT1rO2hbZys4Pj4zXT1tO2hbZyszMj4+M109bjtoW2crNDA+PjNdPWo7
aFtnKzE2Pj4zXT1uO2hbZysyND4+M109bTtoW2crNDg+PjNdPWs7aFtnKzU2Pj4zXT1qO2Y9Y1tk
KzM2Pj4yXXwwO2lmKCFmKWY9Y1tlKzU2Pj4yXXwwO2U9Y1tkKzMyPj4yXXwwO2lmKCFlKW1hKDEy
MjEyNiwxMjIxMzQsNjIzLDEyMjE0Nik7aWYoIShhW2U+PjBdfDApKW1hKDEyMjE2MCwxMjIxMzQs
NjI0LDEyMjE0Nik7ZWxzZXtNRChiLGUsZyw0LDEsZik7bD1pO3JldHVybn19ZnVuY3Rpb24gQUYo
ZCxlLGYsZyxpLGosayxtKXtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtpPStpO2o9anwwO2s9a3ww
O209bXwwO3ZhciBuPTAuMCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAs
eT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MC4wLEo9MCxLPTAsTD0w
LE09MC4wLE49MC4wLE89MCxQPTAsUT0wLFI9MDtSPWw7bD1sKzEyOHwwO0s9UisxMDR8MDtPPVIr
NDh8MDtQPVIrMTZ8MDtMPVI7Sj1MO2NbSj4+Ml09MDtjW0orND4+Ml09MDtNPStoW2c+PjNdO049
TS1pO0k9TStpO0o9TCs4fDA7aFtKPj4zXT0oK2hbaysyND4+M10tK2hbays4Pj4zXSkqLjUrICto
W2crOD4+M107eUQoZCwxKTtEPVArMTZ8MDtFPVArNHwwO0Y9UCsyNHwwO0c9Tys0fDA7SD1PKzE2
fDA7cz0obXwwKT09MDt0PU8rMjR8MDt1PU8rOHwwO3Y9TyszMnwwO3c9Tys0MHwwO3g9Tys0OHww
O3k9aisxNnwwO3o9ais0fDA7QT1QKzh8MDtxPTA7d2hpbGUoMSl7aWYoKHF8MCk+PShlfDApKWJy
ZWFrO3N3aXRjaChhW2YrKHEqMjR8MCkrNj4+MF18MCl7Y2FzZSAxMDg6e2k9TjticmVha31jYXNl
IDExNDp7aT1JLStoW2YrKHEqMjR8MCkrOD4+M107YnJlYWt9ZGVmYXVsdDppPU0tK2hbZisocSoy
NHwwKSs4Pj4zXSouNX1oW2c+PjNdPWk7Qj1mKyhxKjI0fDApKzE2fDA7aFtKPj4zXT0raFtKPj4z
XS0raFtCPj4zXTtDPWYrKHEqMjR8MCkrNHwwO3A9Y1tmKyhxKjI0fDApPj4yXXwwO3I9MDt3aGls
ZSgxKXtpZigocnwwKT49KGJbQz4+MV18MCkpYnJlYWs7bz1wKzR8MDttPWNbbz4+Ml18MDtpZiht
KXtoW0Q+PjNdPStoWygraFttKzE2Pj4zXT4wLjA/bTpqKSsxNj4+M107Y1tQPj4yXT1jWygoY1tt
Pj4yXXwwKT09MD9qOm0pPj4yXTtrPWNbKChjW20rND4+Ml18MCk9PTA/ajptKSs0Pj4yXXwwO2Nb
RT4+Ml09azttPWNbbSsyND4+Ml0mMTI3O2lmKCFtKVE9MTI7ZWxzZSBtPWNbRj4+Ml0mLTEyOHxt
fWVsc2V7aFtEPj4zXT0raFt5Pj4zXTtjW1A+PjJdPWNbaj4+Ml07az1jW3o+PjJdfDA7Y1tFPj4y
XT1rO1E9MTJ9aWYoKFF8MCk9PTEyKXtRPTA7bT1jW0Y+PjJdJi0xMjh9Y1tGPj4yXT1tO0JEKGQs
ayk7Y1tPPj4yXT1jW3A+PjJdO2NbRz4+Ml09UDtoW0g+PjNdPStoW3ArMTY+PjNdO2lmKHMpbj0x
LjA7ZWxzZSBuPStoW3ArMjQ+PjNdO2hbdD4+M109bjtjW0E+PjJdPWNbKGNbbz4+Ml18MCkrOD4+
Ml07Y1t1Pj4yXT1jW3ArOD4+Ml07bz1wKzMyfDA7aFt2Pj4zXT0raFtvPj4zXTtoW3c+PjNdPSto
W0I+PjNdO2FbeD4+MF09MTA4O2hbTD4+M109aTtjW0s+PjJdPWNbTD4+Ml07Y1tLKzQ+PjJdPWNb
TCs0Pj4yXTtjW0srOD4+Ml09Y1tMKzg+PjJdO2NbSysxMj4+Ml09Y1tMKzEyPj4yXTtBRChkLEss
Tyk7bj0raFtvPj4zXStpO2hbZz4+M109bjtwPXArNTZ8MDtyPXIrMXwwO2k9bn1xPXErMXwwfXpE
KGQpO2w9UjtyZXR1cm59ZnVuY3Rpb24gQkYoYSl7YT1hfDA7X0koY1thPj4yXXwwKTtfSShjW2Er
ND4+Ml18MCk7X0koY1thKzg+PjJdfDApO19JKGNbYSsxNj4+Ml18MCk7X0koY1thKzEyPj4yXXww
KTtfSShjW2ErMjA+PjJdfDApO19JKGNbYSsyND4+Ml18MCk7cmV0dXJufWZ1bmN0aW9uIENGKGEp
e2E9YXwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2lmKGF8MCl7aj1hKzR8
MDtlPTA7Zz1jW2E+PjJdfDA7d2hpbGUoMSl7aWYoKGV8MCk+PShiW2o+PjFdfDApKWJyZWFrO2s9
Zys0fDA7ZD0wO2Y9Y1tnPj4yXXwwO3doaWxlKDEpe2lmKChkfDApPj0oYltrPj4xXXwwKSlicmVh
aztfSShjW2Y+PjJdfDApO2g9Y1tmKzg+PjJdfDA7aWYoaHwwPyhpPWNbZisxMj4+Ml18MCxpfDAp
OjApZ2JbaSYxMjddKGgpO2Q9ZCsxfDA7Zj1mKzU2fDB9ZT1lKzF8MDtnPWcrMjR8MH1kPWNbYT4+
Ml18MDtpZihkfDApX0koZCk7X0koYSl9cmV0dXJufWZ1bmN0aW9uIERGKGEpe2E9YXwwO19JKGNb
YSszMj4+Ml18MCk7X0koYSk7cmV0dXJufWZ1bmN0aW9uIEVGKGIsZCl7Yj1ifDA7ZD1kfDA7c3dp
dGNoKGFbYis0Pj4wXXwwKXtjYXNlIDE6e0ZGKGNbYj4+Ml18MCk7YnJlYWt9Y2FzZSAzOntERihj
W2I+PjJdfDApO2JyZWFrfWRlZmF1bHQ6Q0YoY1tiPj4yXXwwKX1pZihkfDApX0koYik7cmV0dXJu
fWZ1bmN0aW9uIEZGKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MDtlPWErODR8MDtpZigoY1thKzEw
MD4+Ml18MCk9PS0xKUtsKGNbZT4+Ml18MCl8MDtlbHNle2I9Y1tlPj4yXXwwO19JKGNbYSs5Mj4+
Ml18MCk7X0koY1thKzk2Pj4yXXwwKTt3aGlsZSgxKXtkPWNbYj4+Ml18MDtpZighZClicmVhaztH
RihkKTtiPWIrNHwwfV9JKGNbZT4+Ml18MCl9QkYoYSk7X0koYSk7cmV0dXJufWZ1bmN0aW9uIEdG
KGEpe2E9YXwwO0VGKGErODh8MCwwKTtCRihhKTtfSShhKTtyZXR1cm59ZnVuY3Rpb24gSEYoYixl
LGYpe2I9YnwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTA7Yj1jWyhjWyhjW2IrMTY+PjJdfDApKzEwND4+
Ml18MCkrNzI+PjJdfDA7aWYoKGFbYis0Pj4wXXwwKSE9Mj8oZz1JRihjW2I+PjJdfDAsZSl8MCwo
Z3wwKSE9MCk6MCl7Y1tmPj4yXT1kW2crMzU+PjBdO2I9Zys0OHwwfWVsc2UgYj0wO3JldHVybiBi
fDB9ZnVuY3Rpb24gSUYoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MDtkPWNbYSs0Pj4yXXww
O2lmKCEoKGR8MCkhPTA/KGlLKGQsYil8MCk9PTA6MCkpZT0zO2E6ZG8gaWYoKGV8MCk9PTMpe2Q9
Y1thKzg0Pj4yXXwwO3doaWxlKDEpe2E9Y1tkPj4yXXwwO2lmKCFhKXthPTA7YnJlYWsgYX1hPUpG
KGEsYil8MDtpZighYSlkPWQrNHwwO2Vsc2UgYnJlYWt9fXdoaWxlKDApO3JldHVybiBhfDB9ZnVu
Y3Rpb24gSkYoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wO2U9Y1tiKzQ+PjJdfDA7aWYoISgoZXww
KSE9MD8oaUsoZSxkKXwwKT09MDowKSlpZigoYVtiKzkyPj4wXXwwKT09MSliPUlGKGNbYis4OD4+
Ml18MCxkKXwwO2Vsc2UgYj0wO3JldHVybiBifDB9ZnVuY3Rpb24gS0YoYSxiLGMsZCxlKXthPWF8
MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtyZXR1cm4gMH1mdW5jdGlvbiBMRihkKXtkPWR8MDt2
YXIgZj0wLjAsZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MDtwPWQr
OTJ8MDtjW3A+PjJdPXZ3KChjW2QrMTAwPj4yXTw8MikrNHwwKXwwO249dncoKGNbZCsxMDQ+PjJd
PDwyKSs0fDApfDA7Y1tkKzk2Pj4yXT1uO289ZCszMnwwO209Y1tkKzg0Pj4yXXwwO3doaWxlKDEp
e2w9Y1ttPj4yXXwwO2lmKCFsKWJyZWFrO2Q9YltsKzgyPj4xXXwwO2Y9K2hbbCs3Mj4+M107aWYo
ZDw8MTY+PjE2PT0xKWk9fn5mO2Vsc2V7aT1+figoZi0rKE8oKGFbbz4+MF18MCkrLTF8MCwoZCY2
NTUzNSkrLTF8MCl8MCkpLysoZCY2NTUzNSkpO2k9KGl8MCk+MT9pOjF9aj1iW2wrODA+PjFdfDA7
Zj0raFtsKzY0Pj4zXTtpZihqPDwxNj4+MTY9PTEpaz1+fmY7ZWxzZXtrPX5+KChmLSsoTygoYVtv
Pj4wXXwwKSstMXwwLChqJjY1NTM1KSstMXwwKXwwKSkvKyhqJjY1NTM1KSk7az0oa3wwKT4xP2s6
MX1xPWVbbCs4Nj4+MV18MDtnPShkJjY1NTM1KStxfDA7ZD1xO3doaWxlKDEpe2lmKChkfDApPj0o
Z3wwKSlicmVhaztxPShjW3A+PjJdfDApKyhkPDwyKXwwO3I9Y1txPj4yXXwwO2NbcT4+Ml09KHJ8
MCk+KGl8MCk/cjppO2Q9ZCsxfDB9ZD1lW2wrODQ+PjFdfDA7Zz0oaiY2NTUzNSkrZHwwO3doaWxl
KDEpe2lmKChkfDApPj0oZ3wwKSlicmVhaztyPW4rKGQ8PDIpfDA7cT1jW3I+PjJdfDA7Y1tyPj4y
XT0ocXwwKT4oa3wwKT9xOms7ZD1kKzF8MH1tPW0rNHwwfXJldHVybn1mdW5jdGlvbiBNRihhKXth
PWF8MDt2YXIgYj0wLGQ9MDtkPWw7bD1sKzE2fDA7Yj1kO2lmKGE+Pj4wPDIxKWE9Y1s1NDgyNCso
YTw8Mik+PjJdfDA7ZWxzZXtjW2I+PjJdPWE7cEwoMTc0MDgxLDEyMjE4NyxiKXwwO2E9MTc0MDgx
fWw9ZDtyZXR1cm4gYXwwfWZ1bmN0aW9uIE5GKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIg
Zj0wLGc9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7az1hKzEwNHwwO2w9YSsxMDB8MDtq
PWQrMTZ8MDtmPTA7Zz0wO3doaWxlKDEpe2lmKChmfDApPihjW2s+PjJdfDApKWJyZWFrO2k9bm8o
ZCxNRihmKXwwLDEpfDA7Tm8oaSwxMjIyNDEsMzA0LDEpfDA7bT1pKzE2fDA7Y1soY1ttPj4yXXww
KSsxNzY+PjJdPTA7bz12dygoY1tsPj4yXTw8MikrNHwwKXwwO249Y1ttPj4yXXwwO2NbbisxNzI+
PjJdPW87Y1tuKzE4ND4+Ml09MDtuPXZ3KChjW2w+PjJdPDwyKSs0fDApfDA7Y1soY1ttPj4yXXww
KSsxODA+PjJdPW47aWYoIWcpY1soY1tqPj4yXXwwKSsxOTI+PjJdPWk7ZWxzZSBjWyhjW2crMTY+
PjJdfDApKzE2ND4+Ml09aTtmPWYrMXwwO2c9aX1qPWIrMTZ8MDtmPTA7Zz0wO3doaWxlKDEpe2lm
KChmfDApPihjW2w+PjJdfDApKWJyZWFrO2k9bm8oYixNRihmKXwwLDEpfDA7Tm8oaSwxMjIyNDEs
MzA0LDEpfDA7bz1pKzE2fDA7Y1soY1tvPj4yXXwwKSsxNzY+PjJdPTA7bT12dygoY1trPj4yXTw8
MikrNHwwKXwwO249Y1tvPj4yXXwwO2NbbisxNzI+PjJdPW07Y1tuKzE4ND4+Ml09MDtuPXZ3KChj
W2s+PjJdPDwyKSs0fDApfDA7Y1soY1tvPj4yXXwwKSsxODA+PjJdPW47aWYoIWcpY1soY1tqPj4y
XXwwKSsxOTI+PjJdPWk7ZWxzZSBjWyhjW2crMTY+PjJdfDApKzE2ND4+Ml09aTtmPWYrMXwwO2c9
aX1mPWNbYSs4ND4+Ml18MDt3aGlsZSgxKXtnPWNbZj4+Ml18MDtpZighZylicmVhaztvPWcrODR8
MDtuPW5vKGQsTUYoZVtvPj4xXXwwKXwwLDApfDA7bz1ubyhkLE1GKChlW2crODA+PjFdfDApKyhl
W28+PjFdfDApfDApfDAsMCl8MDtPRihkLG4sbyx+fitoW2crNjQ+PjNdKTtvPWcrODZ8MDtuPW5v
KGIsTUYoZVtvPj4xXXwwKXwwLDApfDA7bz1ubyhiLE1GKChlW2crODI+PjFdfDApKyhlW28+PjFd
fDApfDApfDAsMCl8MDtPRihiLG4sbyx+fitoW2crNzI+PjNdKTtmPWYrNHwwfVBGKGQpO1BGKGIp
O3JldHVybn1mdW5jdGlvbiBPRihhLGQsZixnKXthPWF8MDtkPWR8MDtmPWZ8MDtnPWd8MDt2YXIg
aD0wLGk9MDtoPWFuKGEsZCxmLDAsMCl8MDtpZighaCl7aT1hbihhLGQsZiwwLDEpfDA7Tm8oaSwx
MjIyNTQsMTc2LDEpfDA7YlsoY1tpKzE2Pj4yXXwwKSsxNzA+PjFdPWc7ZD1kKzE2fDA7YT1jW2Q+
PjJdfDA7aD1jW2ErMTgwPj4yXXwwO2lmKCFoKWE9d3coKGNbYSsxODQ+PjJdPDwyKSs4fDApfDA7
ZWxzZSBhPXl3KGgsKGNbYSsxODQ+PjJdPDwyKSs4fDApfDA7Zz1jW2Q+PjJdfDA7Y1tnKzE4MD4+
Ml09YTtnPWcrMTg0fDA7aD1jW2c+PjJdfDA7Y1tnPj4yXT1oKzE7Y1thKyhoPDwyKT4+Ml09aTtk
PWNbZD4+Ml18MDtjWyhjW2QrMTgwPj4yXXwwKSsoY1tkKzE4ND4+Ml08PDIpPj4yXT0wO2Q9Zisx
NnwwO2E9Y1tkPj4yXXwwO2g9Y1thKzE3Mj4+Ml18MDtpZighaClhPXd3KChjW2ErMTc2Pj4yXTw8
MikrOHwwKXwwO2Vsc2UgYT15dyhoLChjW2ErMTc2Pj4yXTw8MikrOHwwKXwwO2c9Y1tkPj4yXXww
O2NbZysxNzI+PjJdPWE7Zz1nKzE3NnwwO2Y9Y1tnPj4yXXwwO2NbZz4+Ml09ZisxO2NbYSsoZjw8
Mik+PjJdPWk7aT1jW2Q+PjJdfDA7Y1soY1tpKzE3Mj4+Ml18MCkrKGNbaSsxNzY+PjJdPDwyKT4+
Ml09MH1lbHNle2k9KGNbaCsxNj4+Ml18MCkrMTcwfDA7Zj1lW2k+PjFdfDA7YltpPj4xXT0oZnww
KT4oZ3wwKT9mOmd9cmV0dXJufWZ1bmN0aW9uIFBGKGEpe2E9YXwwO3ZhciBkPTAsZT0wLGY9MCxn
PTAsaD0wLGk9MDtkPWNbKGNbYSsxNj4+Ml18MCkrMTkyPj4yXXwwO3doaWxlKDEpe2Y9ZCsxNnww
O2g9Y1soY1tmPj4yXXwwKSsxNjQ+PjJdfDA7aWYoIWgpYnJlYWs7aWYoYW4oYSxkLGgsMCwwKXww
KXtkPWg7Y29udGludWV9Zz1hbihhLGQsaCwwLDEpfDA7Tm8oZywxMjIyNTQsMTc2LDEpfDA7Ylso
Y1tnKzE2Pj4yXXwwKSsxNzA+PjFdPTA7ZD1jW2Y+PjJdfDA7ZT1jW2QrMTgwPj4yXXwwO2lmKCFl
KWQ9d3coKGNbZCsxODQ+PjJdPDwyKSs4fDApfDA7ZWxzZSBkPXl3KGUsKGNbZCsxODQ+PjJdPDwy
KSs4fDApfDA7aT1jW2Y+PjJdfDA7Y1tpKzE4MD4+Ml09ZDtpPWkrMTg0fDA7ZT1jW2k+PjJdfDA7
Y1tpPj4yXT1lKzE7Y1tkKyhlPDwyKT4+Ml09ZztmPWNbZj4+Ml18MDtjWyhjW2YrMTgwPj4yXXww
KSsoY1tmKzE4ND4+Ml08PDIpPj4yXT0wO2Y9aCsxNnwwO2Q9Y1tmPj4yXXwwO2U9Y1tkKzE3Mj4+
Ml18MDtpZighZSlkPXd3KChjW2QrMTc2Pj4yXTw8MikrOHwwKXwwO2Vsc2UgZD15dyhlLChjW2Qr
MTc2Pj4yXTw8MikrOHwwKXwwO2U9Y1tmPj4yXXwwO2NbZSsxNzI+PjJdPWQ7ZT1lKzE3NnwwO2k9
Y1tlPj4yXXwwO2NbZT4+Ml09aSsxO2NbZCsoaTw8Mik+PjJdPWc7ZD1jW2Y+PjJdfDA7Y1soY1tk
KzE3Mj4+Ml18MCkrKGNbZCsxNzY+PjJdPDwyKT4+Ml09MDtkPWh9cmV0dXJufWZ1bmN0aW9uIFFG
KGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wO2c9YSs5MnwwO2U9
MDtmPTA7Yj1jWyhjWyhjW2IrMTY+PjJdfDApKzE5Mj4+Ml18MCkrMTY+PjJdfDA7d2hpbGUoMSl7
Yj1jW2IrMTY0Pj4yXXwwO2lmKCFiKWJyZWFrO2I9Y1tiKzE2Pj4yXXwwO2g9YisyMzJ8MDtjWyhj
W2c+PjJdfDApKyhmPDwyKT4+Ml09KGNbaD4+Ml18MCktZTtlPWNbaD4+Ml18MDtmPWYrMXwwfWE9
YSs5NnwwO2U9MDtmPTA7Yj1jWyhjWyhjW2QrMTY+PjJdfDApKzE5Mj4+Ml18MCkrMTY+PjJdfDA7
d2hpbGUoMSl7Yj1jW2IrMTY0Pj4yXXwwO2lmKCFiKWJyZWFrO2I9Y1tiKzE2Pj4yXXwwO2g9Yisy
MzJ8MDtjWyhjW2E+PjJdfDApKyhmPDwyKT4+Ml09KGNbaD4+Ml18MCktZTtlPWNbaD4+Ml18MDtm
PWYrMXwwfXJldHVybn1mdW5jdGlvbiBSRihiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9
MDtoPWw7bD1sKzE2fDA7Zz1oKzR8MDtkPWg7Y1tkPj4yXT1jWzQ0MTFdO2U9Y1tiKzEwMD4+Ml18
MDtpZigoZXwwKSE9MT8oZj1iKzEwNHwwLChjW2Y+PjJdfDApIT0xKTowKXtjW2IrOTI+PjJdPXZ3
KChlPDwyKSs0fDApfDA7Y1tiKzk2Pj4yXT12dygoY1tmPj4yXTw8MikrNHwwKXwwO2FbZz4+MF09
YVtkPj4wXXwwO2FbZysxPj4wXT1hW2QrMT4+MF18MDthW2crMj4+MF09YVtkKzI+PjBdfDA7YVtn
KzM+PjBdPWFbZCszPj4wXXwwO2Y9Z24oMTIyMjY3LGcsMCl8MDthW2c+PjBdPWFbZD4+MF18MDth
W2crMT4+MF09YVtkKzE+PjBdfDA7YVtnKzI+PjBdPWFbZCsyPj4wXXwwO2FbZyszPj4wXT1hW2Qr
Mz4+MF18MDtnPWduKDEyMjI3MixnLDApfDA7Tm8oZiwxMjIyNzcsMjgwLDEpfDA7Tm8oZywxMjIy
NzcsMjgwLDEpfDA7TkYoYixmLGcpO2d4KGYsMiwyMTQ3NDgzNjQ3KXwwO2d4KGcsMiwyMTQ3NDgz
NjQ3KXwwO1FGKGIsZixnKTtTRihmLGcpfWVsc2UgTEYoYik7bD1oO3JldHVybn1mdW5jdGlvbiBT
RihhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MDtkPShjW2IrMTY+PjJdfDApKzE5Mnww
O3doaWxlKDEpe2Q9Y1tkPj4yXXwwO2lmKCFkKWJyZWFrO2Y9ZCsxNnwwO2Q9Y1tmPj4yXXwwO2U9
Y1tkKzE3Mj4+Ml18MDtpZihlKXtfSShlKTtkPWNbZj4+Ml18MH1lPWNbZCsxODA+PjJdfDA7aWYo
ZSl7X0koZSk7ZD1jW2Y+PjJdfDB9ZD1kKzE2NHwwfWxuKGEpfDA7bG4oYil8MDtyZXR1cm59ZnVu
Y3Rpb24gVEYoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaT0wLGo9MCxrPTAsbT0w
LG49MCxvPTAscD0wLHE9MC4wLHI9MC4wO3A9bDtsPWwrMjcyfDA7bj1wKzEwNHwwO289cCsxMzZ8
MDtqPXArNzJ8MDtrPXA7Zz1wKzE0NHwwO2Nbays0OD4+Ml09Yjtzd2l0Y2goQ28oYil8MCl7Y2Fz
ZSAwOntlPWNbYis2MD4+Ml18MDticmVha31jYXNlIDE6e2U9cm8oYil8MDticmVha31jYXNlIDI6
e2U9cm8oY1soKGNbYj4+Ml0mM3wwKT09Mj9iOmIrLTQ4fDApKzQwPj4yXXwwKXwwO2JyZWFrfWRl
ZmF1bHQ6e319aT1rKzUyfDA7Y1tpPj4yXT1lO209Y1tlKzYwPj4yXXwwO2hbayszMj4+M109K2hb
ZCsxNj4+M107Y1trKzE2Pj4yXT1jW2QrND4+Ml07Y1trKzIwPj4yXT1jW2QrOD4+Ml07Y1trKzQw
Pj4yXT0wO2Y9YkkoY1tkPj4yXXwwLG8sayl8MDtpZighZil7Y20obiwxMjgsZyk7YVtkKzgyPj4w
XT0wO2U9R0woVUYoYixuKXwwKXwwO2NbZD4+Ml09ZTtpZigoY1tkKzEyPj4yXXwwKT09MSllPXlC
KGUpfDA7ZWxzZSBlPXZCKGUsY1tpPj4yXXwwKXwwO19JKGNbZD4+Ml18MCk7Y1tkPj4yXT1lO2p3
KGNbKGNbbSsxNj4+Ml18MCkrMTQ0Pj4yXXwwLGQpO2dtKG4pO2U9Y1tvPj4yXXwwfWVsc2V7ZT1m
KzR8MDtpZigoYVtlPj4wXXwwKT09MSl7aWYoKGNbKGNbZj4+Ml18MCkrMjQ+PjJdfDApPT0wP1ZG
KGIpfDA6MCl7aT1HTChWRihiKXwwKXwwO2NbKGNbZj4+Ml18MCkrMjQ+PjJdPWl9bT1XRihtLGNb
Zj4+Ml18MCwwLGspfDA7Y1tvPj4yXT1jW28+PjJdfG07bT1jW2Y+PjJdfDA7cj0raFttKzY0Pj4z
XSouNTtxPStoW20rNzI+PjNdKi41O1hGKGosLXIsLXEscixxKTttPWNbZj4+Ml18MDtjW24+PjJd
PWNbaj4+Ml07Y1tuKzQ+PjJdPWNbais0Pj4yXTtjW24rOD4+Ml09Y1tqKzg+PjJdO2NbbisxMj4+
Ml09Y1tqKzEyPj4yXTtjW24rMTY+PjJdPWNbaisxNj4+Ml07Y1tuKzIwPj4yXT1jW2orMjA+PjJd
O2NbbisyND4+Ml09Y1tqKzI0Pj4yXTtjW24rMjg+PjJdPWNbaisyOD4+Ml07WUYobSxuLDE1KX1l
bHNle1pGKGNbKGNbbSsxNj4+Ml18MCkrMTQ0Pj4yXXwwLGNbZj4+Ml18MCxrKTtuPWNbZj4+Ml18
MDtxPStoW24rMjQ+PjNdKi41O3I9K2hbbiszMj4+M10qLjU7WEYoaiwtcSwtcixxLHIpO249KGNb
Zj4+Ml18MCkrOHwwO2Nbbj4+Ml09Y1tqPj4yXTtjW24rND4+Ml09Y1tqKzQ+PjJdO2Nbbis4Pj4y
XT1jW2orOD4+Ml07Y1tuKzEyPj4yXT1jW2orMTI+PjJdO2NbbisxNj4+Ml09Y1tqKzE2Pj4yXTtj
W24rMjA+PjJdPWNbaisyMD4+Ml07Y1tuKzI0Pj4yXT1jW2orMjQ+PjJdO2NbbisyOD4+Ml09Y1tq
KzI4Pj4yXX1oW2QrMjQ+PjNdPStoW2orMTY+PjNdLStoW2o+PjNdO2hbZCszMj4+M109K2hbaisy
ND4+M10tK2hbais4Pj4zXTtjW2QrNzI+PjJdPWY7aWYoKGFbZT4+MF18MCk9PTEpe19JKGNbZD4+
Ml18MCk7Y1tkPj4yXT1HTCgxMjIyOTApfDB9ZT1jW28+PjJdfDB9bD1wO3JldHVybiBlfDB9ZnVu
Y3Rpb24gVUYoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wO2E6ZG8gc3dpdGNoKENvKGIpfDApe2Nh
c2UgMDp7Zm0oZCxEbihiKXwwKXwwO2JyZWFrfWNhc2UgMTp7Zm0oZCxEbihiKXwwKXwwO2JyZWFr
fWNhc2UgMjp7Zm0oZCxEbihjWygoY1tiPj4yXSYzfDApPT0zP2I6Yis0OHwwKSs0MD4+Ml18MCl8
MCl8MDtlPWIrLTQ4fDA7Zm0oZCxEbihjWygoY1tiPj4yXSYzfDApPT0yP2I6ZSkrNDA+PjJdfDAp
fDApfDA7aWYoIShxbihybyhjWygoY1tiPj4yXSYzfDApPT0yP2I6ZSkrNDA+PjJdfDApfDApfDAp
KXtmbShkLDEyMjU0OSl8MDticmVhayBhfWVsc2V7Zm0oZCwxMjI1NDYpfDA7YnJlYWsgYX19ZGVm
YXVsdDp7fX13aGlsZSgwKTtlPWQrNHwwO2I9Y1tlPj4yXXwwO2lmKGI+Pj4wPj0oY1tkKzg+PjJd
fDApPj4+MCl7ZG0oZCwxKXwwO2I9Y1tlPj4yXXwwfWFbYj4+MF09MDtkPWNbZD4+Ml18MDtjW2U+
PjJdPWQ7cmV0dXJuIGR8MH1mdW5jdGlvbiBWRihiKXtiPWJ8MDt2YXIgYz0wLGQ9MDtjPUltKGIs
MTIyNTMxKXwwO2lmKCEoKGN8MCkhPTA/KGFbYz4+MF18MCkhPTA6MCkpZD0zO2RvIGlmKChkfDAp
PT0zKXtjPUltKGIsMTIyNTQwKXwwO2lmKGN8MD9hW2M+PjBdfDA6MClicmVhaztjPTB9d2hpbGUo
MCk7cmV0dXJuIGN8MH1mdW5jdGlvbiBXRihmLGcsaSxqKXtmPWZ8MDtnPWd8MDtpPWl8MDtqPWp8
MDt2YXIgaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTA7dz1s
O2w9bCsxNnwwO3U9dys4fDA7dD13O3Y9ZysxMDh8MDtrPWNbdj4+Ml18MDtpZihrfDApcEYoaixr
LDE2NzMyOCk7Y1tnKzgwPj4yXT1pO2s9YkcoZixnLGopfDA7cj1nKzM2fDA7Zj1iW3I+PjFdfDA7
aWYoIShmJjEyOCkpYVtnKzMyPj4wXT0yO2k9ZyszM3wwO2lmKCEoZiYzMikpYVtpPj4wXT0xO1JG
KGcpO249Y1tnKzEwND4+Ml18MDtwPWFbZyszMj4+MF18MDtmPU8obisxfDAscCl8MDtvPWRbaT4+
MF08PDE7cT1jW2crMTAwPj4yXXwwO3A9TyhxKzF8MCxwKXwwO209Zys5NnwwO2Y9bytmfDA7aT0w
O3doaWxlKDEpe2lmKChpfDApPj0obnwwKSlicmVhaztmPShjWyhjW20+PjJdfDApKyhpPDwyKT4+
Ml18MCkrZnwwO2k9aSsxfDB9bj1nKzkyfDA7aT1wK298MDttPTA7d2hpbGUoMSl7aWYoKG18MCk+
PShxfDApKWJyZWFrO2k9KGNbKGNbbj4+Ml18MCkrKG08PDIpPj4yXXwwKStpfDA7bT1tKzF8MH1u
PWcrMzh8MDtkbyBpZihiW3I+PjFdJjEpe3I9YltuPj4xXXwwO209ciY2NTUzNTtpZihyPDwxNj4+
MTY/KHM9YltnKzQwPj4xXXwwLHM8PDE2Pj4xNik6MCl7aWYoISgoZnwwKT4obXwwKXwoaXwwKT4o
cyY2NTUzNXwwKSkpe2k9MDtmPTA7YnJlYWt9X2woMCwxMjIzMzEsdCl8MDtrPTE7aT0wO2Y9MDti
cmVha31fbCgwLDEyMjM2NSx1KXwwO2s9MX13aGlsZSgwKTt1PWVbbj4+MV18MDtoW2crNjQ+PjNd
PSsoKChmfDApPih1fDApP2Y6dSl8MCk7dT1lW2crNDA+PjFdfDA7aFtnKzcyPj4zXT0rKCgoaXww
KT4odXwwKT9pOnUpfDApO2lmKGNbdj4+Ml18MCl4RihqLDE2NzMyOCk7bD13O3JldHVybiBrfDB9
ZnVuY3Rpb24gWEYoYSxiLGMsZCxlKXthPWF8MDtiPStiO2M9K2M7ZD0rZDtlPStlO2hbYT4+M109
YjtoW2ErOD4+M109YztoW2ErMTY+PjNdPWQ7aFthKzI0Pj4zXT1lO3JldHVybn1mdW5jdGlvbiBZ
RihlLGYsZyl7ZT1lfDA7Zj1mfDA7Zz1nfDA7dmFyIGk9MCxqPTAsaz0wLG09MC4wLG49MC4wLG89
MCxwPTAscT0wLjAscj0wLjAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLjAsej0wLEE9MCxC
PTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MC4wLEs9MDtJPWw7bD1sKzY0fDA7Rz1J
KzMyfDA7SD1JO0U9Y1tlKzg0Pj4yXXwwO2s9Y1tlKzgwPj4yXXwwO2lmKChrfDA/KGk9Y1trKzI0
Pj4yXXwwLGl8MCk6MCk/KGo9ZSsyNHwwLChjW2o+PjJdfDApPT0wKTowKWNbaj4+Ml09R0woaSl8
MDtGPWUrNDh8MDtpPWYrMTZ8MDtuPStoW2k+PjNdO209K2hbZj4+M107az1+fihuLW0tKyh+fito
W2UrNjQ+PjNdfDApKTtpZigoa3wwKTw9LTEpbWEoMTIyMjk4LDEyMjEzNCwxNzYxLDEyMjMwOCk7
bz1mKzI0fDA7eT0raFtvPj4zXTtwPWYrOHwwO3E9K2hbcD4+M107cj0rKH5+K2hbZSs3Mj4+M118
MCk7cz1+fih5LXEtcik7aWYoKHN8MCk8PS0xKW1hKDEyMjMyMSwxMjIxMzQsMTc2NCwxMjIzMDgp
O3Q9YltlKzM2Pj4xXXwwO2o9dCY2NTUzNTthOmRvIGlmKGomMSl7YjpkbyBpZigoa3wwKT4wKXN3
aXRjaChqJjYpe2Nhc2UgNDp7aFtpPj4zXT1tK3I7YnJlYWsgYn1jYXNlIDI6e0o9KyhrfDApO2hb
aT4+M109bitKO209bStKO2hbZj4+M109bTticmVhayBifWRlZmF1bHQ6e0o9KyhrPj4+MXwwKTtt
PW0rSjtoW2Y+PjNdPW07aFtpPj4zXT1uLUo7YnJlYWsgYn19d2hpbGUoMCk7aWYoKHN8MCk+MClz
d2l0Y2godCYyNCl7Y2FzZSAxNjp7eT1xK3I7aFtvPj4zXT15O3M9MDtpPTA7YnJlYWsgYX1jYXNl
IDg6e0o9KyhzfDApO3k9eStKO2hbbz4+M109eTtoW3A+PjNdPXErSjtzPTA7aT0wO2JyZWFrIGF9
ZGVmYXVsdDp7Sj0rKHM+Pj4xfDApO2hbcD4+M109cStKO3k9eS1KO2hbbz4+M109eTtzPTA7aT0w
O2JyZWFrIGF9fWVsc2V7cz0wO2k9MH19ZWxzZSBpPWs7d2hpbGUoMCk7bj0rKGRbZSszMz4+MF18
MCk7Qz1lKzMyfDA7dT1hW0M+PjBdfDA7cT0rKHU8PDI0Pj4yNCk7RD1lKzEwNHwwO2s9Y1tEPj4y
XXwwO3Q9KGl8MCkvKGt8MCl8MDtvPWktKE8odCxrKXwwKXwwO289fn4oKChvfDApPi0xPy41Oi0u
NSkrICsob3wwKSk7Qj1lKzk2fDA7cD11PDwyND4+MjQ7aT1+fihtK24rcSk7aj0wO3doaWxlKDEp
e2lmKChqfDApPihrfDApKWJyZWFrO0E9KGNbQj4+Ml18MCkrKGo8PDIpfDA7az1jW0E+PjJdfDA7
Y1tBPj4yXT1pO2k9aSt0KygoanwwKTwob3wwKSYxKStrK3B8MDtqPWorMXwwO2s9Y1tEPj4yXXww
fUE9ZSsxMDB8MDtrPWNbQT4+Ml18MDt0PShzfDApLyhrfDApfDA7cD1zLShPKHQsayl8MCl8MDtw
PX5+KCgocHwwKT4tMT8uNTotLjUpKyArKHB8MCkpO3o9ZSs5MnwwO289dTw8MjQ+PjI0O2k9fn4o
eS1uLXEpO2o9MDt3aGlsZSgxKXtpZigoanwwKT4oa3wwKSlicmVhazt4PShjW3o+PjJdfDApKyhq
PDwyKXwwO2s9Y1t4Pj4yXXwwO2NbeD4+Ml09aTtpPWktdCsoKChqfDApPChwfDApKTw8MzE+PjMx
KS1rLW98MDtqPWorMXwwO2s9Y1tBPj4yXXwwfXU9KGd8MCk9PTA7dj1IKzE2fDA7dz1IKzI0fDA7
eD1IKzh8MDtpPUU7d2hpbGUoMSl7bz1jW2k+PjJdfDA7aWYoIW8pYnJlYWs7az1iW28rODQ+PjFd
fDA7aWYodSl7aj0wO3A9YltvKzgwPj4xXXwwO3M9YltvKzg2Pj4xXXwwO3Q9YltvKzgyPj4xXXww
fWVsc2V7aj1rPDwxNj4+MTY9PTA/ODowO3M9YltvKzg2Pj4xXXwwO2o9czw8MTY+PjE2PT0wP2p8
NDpqO3A9YltvKzgwPj4xXXwwO3Q9YltvKzgyPj4xXXwwO2o9KCgocCY2NTUzNSkrKGsmNjU1MzUp
fDApPT0oY1tEPj4yXXwwKT9qfDI6ail8KCh0JjY1NTM1KSsocyY2NTUzNSl8MCk9PShjW0E+PjJd
fDApfUs9Y1tCPj4yXXwwO2s9ayY2NTUzNTtoW0g+PjNdPSsoY1tLKyhrPDwyKT4+Ml18MCk7RT1h
W0M+PjBdfDA7aFt2Pj4zXT0rKChjW0srKChwJjY1NTM1KStrPDwyKT4+Ml18MCktRXwwKTtwPWNb
ej4+Ml18MDtoW3c+PjNdPSsoY1twKygocyY2NTUzNSk8PDIpPj4yXXwwKTtoW3g+PjNdPSsoKGNb
cCsoKHQmNjU1MzUpKyhzJjY1NTM1KTw8Mik+PjJdfDApK0V8MCk7Y1tHPj4yXT1jW0g+PjJdO2Nb
Rys0Pj4yXT1jW0grND4+Ml07Y1tHKzg+PjJdPWNbSCs4Pj4yXTtjW0crMTI+PjJdPWNbSCsxMj4+
Ml07Y1tHKzE2Pj4yXT1jW0grMTY+PjJdO2NbRysyMD4+Ml09Y1tIKzIwPj4yXTtjW0crMjQ+PjJd
PWNbSCsyND4+Ml07Y1tHKzI4Pj4yXT1jW0grMjg+PjJdO19GKG8sRyxqJmcpO2k9aSs0fDB9YVtl
KzM1Pj4wXT1nO2NbRj4+Ml09Y1tmPj4yXTtjW0YrND4+Ml09Y1tmKzQ+PjJdO2NbRis4Pj4yXT1j
W2YrOD4+Ml07Y1tGKzEyPj4yXT1jW2YrMTI+PjJdO2NbRisxNj4+Ml09Y1tmKzE2Pj4yXTtjW0Yr
MjA+PjJdPWNbZisyMD4+Ml07Y1tGKzI0Pj4yXT1jW2YrMjQ+PjJdO2NbRisyOD4+Ml09Y1tmKzI4
Pj4yXTtsPUk7cmV0dXJufWZ1bmN0aW9uIFpGKGQsZSxmKXtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIg
Zz0wLGk9MCxqPTAuMCxrPTAuMCxtPTAsbj0wLG89MC4wLHA9MC4wLHE9MC4wLHI9MCxzPTAuMCx0
PTAuMCx1PTAuMCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9
MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MC4wLFE9MC4wLFI9MC4wO089bDts
PWwrMTEyfDA7SD1PKzQ4fDA7ST1PKzE2fDA7Sj1PO2NbST4+Ml09MDtjW0krND4+Ml09MDtjW0kr
OD4+Ml09MDtjW0krMTI+PjJdPTA7Y1tJKzE2Pj4yXT0wO2NbSSsyMD4+Ml09MDtjW0krMjQ+PjJd
PTA7Y1tJKzI4Pj4yXT0wO0s9ZSs0fDA7TD1mKzE2fDA7TT1mKzMyfDA7Tj1JKzE2fDA7cj1iW0s+
PjFdfDA7bj1yPDwxNj4+MTY7Zz0wO2o9LTEuMDttPTA7d2hpbGUoMSl7aWYoKG18MCk+PShufDAp
KXtnPTE7YnJlYWt9aT1jW2U+PjJdfDA7aWYoKGJbaSsobSoyNHwwKSs0Pj4xXXwwKT4xKXtnPTA7
YnJlYWt9aT1jWyhjW2krKG0qMjR8MCk+PjJdfDApKzQ+PjJdfDA7aWYoIWkpe2s9K2hbTT4+M107
aFtOPj4zXT1rO2k9TH1lbHNle2lmKGNbaSsyND4+Ml0mMTI3fDApe2c9MDticmVha31rPStoWygr
aFtpKzE2Pj4zXT4wLjA/aTpMKSsxNj4+M107aFtOPj4zXT1rO2k9KGNbaT4+Ml18MCk9PTA/TDpp
fWk9Y1tpPj4yXXwwO2NbST4+Ml09aTtpZighKGo9PS0xLjApKXtpZihrIT1qKXtnPTA7YnJlYWt9
fWVsc2Ugaj1rO2lmKGcpe2lmKHhKKGksZyl8MCl7Zz0wO2JyZWFrfX1lbHNlIGc9aTttPW0rMXww
fWFbZSs2Pj4wXT1nO0U9Zis0OHwwO0Y9ZisyMHwwO0c9SSs0fDA7dz1mKzQwfDA7eD1JKzI0fDA7
eT1kKzE0NHwwO3o9SCs0fDA7dj1KKzh8MDtBPUgrMTZ8MDtCPUgrMjR8MDtDPUgrOHwwO0Q9SCsx
MnwwO2Y9KGd8MCk9PTA7aj0wLjA7cz0wLjA7dD0wLjA7dT0wLjA7bj0wO2c9cjt3aGlsZSgxKXtp
ZigobnwwKT49KGc8PDE2Pj4xNnwwKSlicmVhaztrPTAuMDtxPTAuMDttPTA7cD0wLjA7aj0wLjA7
aT1jW2U+PjJdfDA7d2hpbGUoMSl7aWYoKG18MCk+PShiW2krKG4qMjR8MCkrND4+MV18MCkpYnJl
YWs7Y1tIPj4yXT1xdyhjWyhjW2krKG4qMjR8MCk+PjJdfDApKyhtKjU2fDApPj4yXXwwLGNbRT4+
Ml18MCl8MDtpPShjW2U+PjJdfDApKyhuKjI0fDApfDA7Zz1jWyhjW2k+PjJdfDApKyhtKjU2fDAp
KzQ+PjJdfDA7aWYoIWcpe2hbTj4+M109K2hbTT4+M107Y1tJPj4yXT1jW0w+PjJdO2NbRz4+Ml09
Y1tGPj4yXTtjW3g+PjJdPWNbeD4+Ml0mLTEyOHxjW3c+PjJdJjEyN31lbHNle2c9Y1tnKzI0Pj4y
XSYxMjc7aWYoIWcpZz1jW3c+PjJdJjEyNztjW3g+PjJdPWNbeD4+Ml0mLTEyOHxnO3I9Y1soY1tp
Pj4yXXwwKSsobSo1NnwwKSs0Pj4yXXwwO2hbTj4+M109K2hbKCtoW3IrMTY+PjNdPjAuMD9yOkwp
KzE2Pj4zXTtjW0k+PjJdPWNbKChjW3I+PjJdfDApPT0wP0w6cik+PjJdO2NbRz4+Ml09Y1soKGNb
cis0Pj4yXXwwKT09MD9MOnIpKzQ+PjJdfWk9Y1t5Pj4yXXwwO2Nbej4+Ml09YmJbY1tpPj4yXSYz
MV0oaSxJLDEpfDA7cEEoSixkLEgpO1E9K2hbSj4+M107bz0raFt2Pj4zXTtfSShjWyhjWyhjW2U+
PjJdfDApKyhuKjI0fDApPj4yXXwwKSsobSo1NnwwKT4+Ml18MCk7aT1jW2U+PjJdfDA7cj1jW2kr
KG4qMjR8MCk+PjJdfDA7Y1tyKyhtKjU2fDApPj4yXT1jW0g+PjJdO2hbcisobSo1NnwwKSszMj4+
M109UTtoW3IrKG0qNTZ8MCkrMTY+PjNdPStoW0E+PjNdO2hbcisobSo1NnwwKSsyND4+M109K2hb
Qj4+M107Y1tyKyhtKjU2fDApKzQ+PjJdPWNbej4+Ml07Y1tyKyhtKjU2fDApKzg+PjJdPWNbQz4+
Ml07Y1tyKyhtKjU2fDApKzEyPj4yXT1jW0Q+PjJdO1A9K2hbTj4+M107Uj0raFtCPj4zXTtrPVI+
az9SOms7cT1RK3E7bT1tKzF8MDtwPVA+cD9QOnA7aj1vPmo/bzpqfWhbaSsobioyNHwwKSs4Pj4z
XT1xO2c9KG58MCk9PTA7ZG8gaWYoZilpZihnKXtvPXA7az1wLWs7Zz1pO2JyZWFrfWVsc2V7bz1w
O2s9dC11K3AtaztnPWkrKG4qMjR8MCl8MDticmVha31lbHNle289ajtrPWc/cDpqO2c9aSsobioy
NHwwKXwwfXdoaWxlKDApO2hbZysxNj4+M109aztzPXE+cz9xOnM7dD1vK3Q7dT0raFtpKyhuKjI0
fDApKzE2Pj4zXSt1O249bisxfDA7Zz1iW0s+PjFdfDB9aFtlKzI0Pj4zXT1zO2hbZSszMj4+M109
Zzw8MTY+PjE2PT0xP2o6dDtsPU87cmV0dXJufWZ1bmN0aW9uIF9GKGUsZixnKXtlPWV8MDtmPWZ8
MDtnPWd8MDt2YXIgaT0wLGo9MCxrPTAuMCxtPTAuMCxuPTAuMCxvPTAuMCxwPTAuMCxxPTAuMCxy
PTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MC4wLEE9MC4wO3k9bDtsPWwrNjR8MDt2
PXkrMzJ8MDt4PXk7aj1lKzI0fDA7aWYoKGNbaj4+Ml18MCk9PTA/KGk9Y1soY1tlKzk2Pj4yXXww
KSsyND4+Ml18MCxpfDApOjApY1tqPj4yXT1HTChpKXwwO3Q9ZSszNnwwO3c9Ylt0Pj4xXXwwO2k9
dyY2NTUzNTthOmRvIGlmKGkmMSl7az0raFtlKzY0Pj4zXTtxPStoW2UrNzI+PjNdO2o9ZisxNnww
O209K2hbaj4+M107bz0raFtmPj4zXTtuPW0tby1rO2I6ZG8gaWYobj4wLjApc3dpdGNoKGkmNil7
Y2FzZSA0OnttPW8raztoW2o+PjNdPW07az1vO2JyZWFrIGJ9Y2FzZSAyOnttPW4rbTtoW2o+PjNd
PW07az1vK247aFtmPj4zXT1rO2JyZWFrIGJ9ZGVmYXVsdDp7cD1uKi41O2s9cCtvO2hbZj4+M109
azttPW0tcDtoW2o+PjNdPW07YnJlYWsgYn19ZWxzZSBrPW87d2hpbGUoMCk7aT1mKzI0fDA7cD0r
aFtpPj4zXTtqPWYrOHwwO249K2hbaj4+M107bz1wLW4tcTtpZihvPjAuMClzd2l0Y2godyYyNCl7
Y2FzZSAxNjp7bz1uK3E7aFtpPj4zXT1vO2JyZWFrIGF9Y2FzZSA4OntxPW8rcDtoW2k+PjNdPXE7
bj1uK287aFtqPj4zXT1uO289cTticmVhayBhfWRlZmF1bHQ6e289byouNTtuPW8rbjtoW2o+PjNd
PW47bz1wLW87aFtpPj4zXT1vO2JyZWFrIGF9fWVsc2Ugbz1wfWVsc2V7az0raFtmPj4zXTtuPSto
W2YrOD4+M107bT0raFtmKzE2Pj4zXTtvPStoW2YrMjQ+PjNdfXdoaWxlKDApO3M9ZSs0OHwwO2Nb
cz4+Ml09Y1tmPj4yXTtjW3MrND4+Ml09Y1tmKzQ+PjJdO2Nbcys4Pj4yXT1jW2YrOD4+Ml07Y1tz
KzEyPj4yXT1jW2YrMTI+PjJdO2NbcysxNj4+Ml09Y1tmKzE2Pj4yXTtjW3MrMjA+PjJdPWNbZisy
MD4+Ml07Y1tzKzI0Pj4yXT1jW2YrMjQ+PjJdO2NbcysyOD4+Ml09Y1tmKzI4Pj4yXTthW2UrMzU+
PjBdPWc7QT0rKGRbZSszMz4+MF18MCk7ej0rKGRbZSszND4+MF18MCk7cD1rK0ErejtoW3g+PjNd
PXA7cT1uK0ErejtzPXgrOHwwO2hbcz4+M109cTtuPW0tQS16O2Y9eCsxNnwwO2hbZj4+M109bjtv
PW8tQS16O3I9eCsyNHwwO2hbcj4+M109bztqPWUrODh8MDtzd2l0Y2goYVtlKzkyPj4wXXwwKXtj
YXNlIDE6e3c9Y1tqPj4yXXwwO2Nbdj4+Ml09Y1t4Pj4yXTtjW3YrND4+Ml09Y1t4KzQ+PjJdO2Nb
dis4Pj4yXT1jW3grOD4+Ml07Y1t2KzEyPj4yXT1jW3grMTI+PjJdO2NbdisxNj4+Ml09Y1t4KzE2
Pj4yXTtjW3YrMjA+PjJdPWNbeCsyMD4+Ml07Y1t2KzI0Pj4yXT1jW3grMjQ+PjJdO2NbdisyOD4+
Ml09Y1t4KzI4Pj4yXTtZRih3LHYsZyk7YnJlYWt9Y2FzZSAzOntpPWNbaj4+Ml18MDtrPStoW2kr
MjQ+PjNdO209bi1wLStoW2krMTY+PjNdO2M6ZG8gaWYobT4wLjApc3dpdGNoKHcmNil7Y2FzZSA0
OntoW2Y+PjNdPW4tbTticmVhayBjfWNhc2UgMjp7aFt4Pj4zXT1tK3A7YnJlYWsgY31kZWZhdWx0
OmJyZWFrIGN9d2hpbGUoMCk7az1vLXEtaztkOmRvIGlmKGs+MC4wKXN3aXRjaCh3JjI0KXtjYXNl
IDE2OntoW3I+PjNdPW8tazticmVhayBkfWNhc2UgODp7aFtzPj4zXT1rK3E7YnJlYWsgZH1kZWZh
dWx0OmJyZWFrIGR9d2hpbGUoMCk7Y1t2Pj4yXT1jW3g+PjJdO2Nbdis0Pj4yXT1jW3grND4+Ml07
Y1t2Kzg+PjJdPWNbeCs4Pj4yXTtjW3YrMTI+PjJdPWNbeCsxMj4+Ml07Y1t2KzE2Pj4yXT1jW3gr
MTY+PjJdO2NbdisyMD4+Ml09Y1t4KzIwPj4yXTtjW3YrMjQ+PjJdPWNbeCsyND4+Ml07Y1t2KzI4
Pj4yXT1jW3grMjg+PjJdOyRGKGksdik7YnJlYWt9ZGVmYXVsdDp7aT1jW2o+PjJdfDA7az0raFtp
KzMyPj4zXTttPW4tcC0raFtpKzI0Pj4zXTtlOmRvIGlmKG0+MC4wPyh1PXcmNix1PDwxNj4+MTYh
PTYpOjApc3dpdGNoKHUmNyl7Y2FzZSA0OntoW2Y+PjNdPW4tbTticmVhayBlfWNhc2UgMjp7aFt4
Pj4zXT1tK3A7YnJlYWsgZX1kZWZhdWx0OntBPW0qLjU7aFt4Pj4zXT1BK3A7aFtmPj4zXT1uLUE7
YnJlYWsgZX19d2hpbGUoMCk7az1vLXEtaztmOmRvIGlmKGs+MC4wKXN3aXRjaCh3JjI0KXtjYXNl
IDE2OntoW3I+PjNdPW8tazticmVhayBmfWNhc2UgODp7aFtzPj4zXT1rK3E7YnJlYWsgZn1kZWZh
dWx0OntBPWsqLjU7aFtzPj4zXT1BK3E7aFtyPj4zXT1vLUE7YnJlYWsgZn19d2hpbGUoMCk7dz1p
Kzh8MDtjW3c+PjJdPWNbeD4+Ml07Y1t3KzQ+PjJdPWNbeCs0Pj4yXTtjW3crOD4+Ml09Y1t4Kzg+
PjJdO2NbdysxMj4+Ml09Y1t4KzEyPj4yXTtjW3crMTY+PjJdPWNbeCsxNj4+Ml07Y1t3KzIwPj4y
XT1jW3grMjA+PjJdO2NbdysyND4+Ml09Y1t4KzI0Pj4yXTtjW3crMjg+PjJdPWNbeCsyOD4+Ml07
eD1iW3Q+PjFdJjc2ODthRyhjW2o+PjJdfDAsKHgmMTAyMyk9PTUxMj8xMDg6KHgmMTAyMyk9PTI1
Nj8xMTQ6MTEwKX19bD15O3JldHVybn1mdW5jdGlvbiAkRihhLGIpe2E9YXwwO2I9YnwwO2NbYT4+
Ml09Y1tiPj4yXTtjW2ErND4+Ml09Y1tiKzQ+PjJdO2NbYSs4Pj4yXT1jW2IrOD4+Ml07Y1thKzEy
Pj4yXT1jW2IrMTI+PjJdO2NbYSsxNj4+Ml09Y1tiKzE2Pj4yXTtjW2ErMjA+PjJdPWNbYisyMD4+
Ml07Y1thKzI0Pj4yXT1jW2IrMjQ+PjJdO2NbYSsyOD4+Ml09Y1tiKzI4Pj4yXTtyZXR1cm59ZnVu
Y3Rpb24gYUcoZCxlKXtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTA7Zz1iW2QrND4+MV18MDtm
PTA7d2hpbGUoMSl7aWYoKGZ8MCk+PShnfDApKWJyZWFrO2g9KGNbZD4+Ml18MCkrKGYqMjR8MCkr
NnwwO2lmKCEoYVtoPj4wXXwwKSlhW2g+PjBdPWU7Zj1mKzF8MH1yZXR1cm59ZnVuY3Rpb24gYkco
ZCxmLGcpe2Q9ZHwwO2Y9ZnwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAs
bz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MDtsPWYrODR8MDt0PWNbbD4+Ml18MDt1PXd4
KCl8MDt2PWZHKCl8MDtpPTA7aD0wO2s9T2wodCl8MDt3aGlsZSgxKXtpZighaylicmVhaztqPU9s
KGNbays4Pj4yXXwwKXwwO3doaWxlKDEpe2lmKCFqKWJyZWFrO2o9Y1tqPj4yXXwwO2k9aSsxfDB9
aD1oKzF8MDtpZihhW2srMTI+PjBdfDApakcodixoKTtrPWNbaz4+Ml18MH1oPXZ3KChpPDwyKSs0
fDApfDA7Y1tsPj4yXT1oO2k9MDtqPTA7az0wO3E9MDtyPU9sKHQpfDA7d2hpbGUoMSl7aWYoIXIp
YnJlYWs7cz1xJjY1NTM1O3A9MDtvPU9sKGNbcis4Pj4yXXwwKXwwO3doaWxlKDEpe2lmKCFvKWJy
ZWFrO249Y1tvKzg+PjJdfDA7Y1toPj4yXT1uO2s9Y0coZCxuLGYsZyl8MHxrO2w9ZEcodSxxLHAs
bil8MDtiW24rODY+PjFdPXM7YltuKzg0Pj4xXT1sO2w9bCsoZVtuKzgwPj4xXXwwKXwwO209cSso
ZVtuKzgyPj4xXXwwKXwwO2lmKGtHKHYsbSl8MCl7cD1uKzEwMHwwO2FbcD4+MF09YVtwPj4wXXwy
fXA9bDtoPWgrNHwwO289Y1tvPj4yXXwwO2k9KGx8MCk+KGl8MCk/bDppO2o9KG18MCk+KGp8MCk/
bTpqfXE9cSsxfDA7cj1jW3I+PjJdfDB9Y1tmKzEwMD4+Ml09ajtjW2YrMTA0Pj4yXT1pO0tsKHQp
fDA7S2wodil8MDt6eCh1KTtyZXR1cm4ga3wwfWZ1bmN0aW9uIGNHKGYsZyxpLGope2Y9ZnwwO2c9
Z3wwO2k9aXwwO2o9anwwO3ZhciBrPTAuMCxtPTAuMCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0
PTAsdT0wLHY9MC4wO3U9bDtsPWwrMTZ8MDt0PXUrOHwwO3M9dTtjW2crOTY+PjJdPWk7cT1nKzM2
fDA7bz1iW3E+PjFdfDA7aWYoIShvJjY0KSl7aWYoIShiW2krMzY+PjFdJjY0KSluPTI7ZWxzZSBu
PWFbaSszND4+MF18MDthW2crMzQ+PjBdPW59aWYoIShvJjMyKSl7bj1hW2krODg+PjBdfDA7aWYo
bjw8MjQ+PjI0PD0tMSlpZighKGJbaSszNj4+MV0mMzIpKW49MTtlbHNlIG49YVtpKzMzPj4wXXww
O2FbZyszMz4+MF09bn1uPWcrODh8MDtwPWcrOTJ8MDtzd2l0Y2goYVtwPj4wXXwwKXtjYXNlIDE6
e289V0YoZixjW24+PjJdfDAsZyxqKXwwO2k9Y1tuPj4yXXwwO249bztvPWkrNjR8MDtpPWkrNzJ8
MDticmVha31jYXNlIDM6e289ZUcoY1tuPj4yXXwwLGopfDA7aT1jW24+PjJdfDA7bj1vO289aSsx
NnwwO2k9aSsyNHwwO2JyZWFrfWRlZmF1bHQ6e1pGKGNbKGNbZisxNj4+Ml18MCkrMTQ0Pj4yXXww
LGNbbj4+Ml18MCxqKTtpPWNbbj4+Ml18MDtuPTA7bz1pKzI0fDA7aT1pKzMyfDB9fWs9KygoZFtn
KzMzPj4wXXwwKSsoZFtnKzM0Pj4wXXwwKTw8MXwwKTttPStoW28+PjNdK2s7az0raFtpPj4zXStr
O2k9ZyszOHwwO2RvIGlmKGJbcT4+MV0mMSl7bz1iW2k+PjFdfDA7aWYobzw8MTY+PjE2PyhyPWJb
Zys0MD4+MV18MCxyPDwxNj4+MTYpOjApe2lmKCEobT4rKG8mNjU1MzUpfGs+KyhyJjY1NTM1KSkp
e209MC4wO2s9MC4wO2JyZWFrfWlmKChhW3A+PjBdfDApPT0zKXttPTAuMDtrPTAuMDticmVha31f
bCgwLDEyMjQxNixzKXwwO249MTttPTAuMDtrPTAuMDticmVha31fbCgwLDEyMjQ0OSx0KXwwO249
MX13aGlsZSgwKTt2PSsoZVtpPj4xXXwwKTtoW2crNjQ+PjNdPW0+dj9tOnY7bT0rKGVbZys0MD4+
MV18MCk7aFtnKzcyPj4zXT1rPm0/azptO2w9dTtyZXR1cm4gbnwwfWZ1bmN0aW9uIGRHKGEsYixj
LGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wO2o9ZCs4
MHwwO2k9KGVbaj4+MV18MCkrLTF8MDtoPTA7YTp3aGlsZSgxKXtmPWM7d2hpbGUoMSl7aWYoaCli
cmVhayBhO2c9aStmfDA7d2hpbGUoMSl7aWYoKGd8MCk8KGZ8MCkpe2M9ZjtoPTE7Y29udGludWUg
YX1pZihFeChhLGcsYil8MClicmVhaztnPWcrLTF8MH1mPWcrMXwwfX1oPWQrODJ8MDtmPWM7d2hp
bGUoMSl7aWYoKGZ8MCk8KGMrKGVbaj4+MV18MCl8MCkpZz1iO2Vsc2UgYnJlYWs7d2hpbGUoMSl7
aWYoKGd8MCk+PSgoZVtoPj4xXXwwKStifDApKWJyZWFrO0N4KGEsZixnKTtnPWcrMXwwfWY9Zisx
fDB9cmV0dXJuIGN8MH1mdW5jdGlvbiBlRyhiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAuMCxmPTAu
MCxnPTAsaT0wLGo9MCxrPTAsbT0wO209bDtsPWwrMTZ8MDtqPW07aT1tKzh8MDtkPWQrNTJ8MDtn
PWIrMzJ8MDtQcihpLGNbZD4+Ml18MCxjW2c+PjJdfDApO2s9Y1tpPj4yXXwwO2k9Y1tpKzQ+PjJd
fDA7aWYoKGkma3wwKT09LTEpe2Nbaj4+Ml09Y1tnPj4yXTtfbCgxLDEyMjQ5OSxqKXwwO2Q9MTtm
PTAuMDtlPTAuMH1lbHNle2FbKGNbKGNbZD4+Ml18MCkrMTY+PjJdfDApKzExND4+MF09MTtkPTA7
Zj0rKGl8MCk7ZT0rKGt8MCl9Y1tiPj4yXT0wO2NbYis0Pj4yXT0wO2NbYis4Pj4yXT0wO2NbYisx
Mj4+Ml09MDtoW2IrMTY+PjNdPWU7aFtiKzI0Pj4zXT1mO2w9bTtyZXR1cm4gZHwwfWZ1bmN0aW9u
IGZHKCl7cmV0dXJuIFFsKDU0OTA4LGNbNDM0NV18MCl8MH1mdW5jdGlvbiBnRyhhLGIsZCl7YT1h
fDA7Yj1ifDA7ZD1kfDA7ZD12dygxMil8MDtjW2Q+PjJdPWNbYj4+Ml07cmV0dXJuIGR8MH1mdW5j
dGlvbiBoRyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7X0koYik7cmV0dXJufWZ1bmN0aW9uIGlH
KGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2I9Y1tiPj4yXXwwO2U9Y1tkPj4yXXww
O3JldHVybiAoKGJ8MCk+KGV8MCk/MTooKGJ8MCk8KGV8MCkpPDwzMT4+MzEpfDB9ZnVuY3Rpb24g
akcoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MDtkPWw7bD1sKzE2fDA7ZT1kO2NbZT4+Ml09
YjtiYltjW2E+PjJdJjMxXShhLGUsMSl8MDtsPWQ7cmV0dXJufWZ1bmN0aW9uIGtHKGEsYil7YT1h
fDA7Yj1ifDA7dmFyIGQ9MCxlPTA7ZD1sO2w9bCsxNnwwO2U9ZDtjW2U+PjJdPWI7Yj0oYmJbY1th
Pj4yXSYzMV0oYSxlLDUxMil8MCkhPTAmMTtsPWQ7cmV0dXJuIGJ8MH1mdW5jdGlvbiBsRyhhKXth
PWF8MDt2YXIgYj0wO2lmKCEoY1s0MjQxOF18MCkpe2I9dncoKGE8PDIpKzR8MCl8MDtjWzQyNDE4
XT1iO2NbYj4+Ml09MTY5Njc2O2NbNDI0MjldPWF9Y1s0MjQzMF09MDtyZXR1cm59ZnVuY3Rpb24g
bUcoKXtfSShjWzQyNDE4XXwwKTtjWzQyNDE4XT0wO2NbNDI0MzBdPTA7cmV0dXJufWZ1bmN0aW9u
IG5HKCl7Y1s0MjQzMF09MDtyZXR1cm59ZnVuY3Rpb24gb0coKXt2YXIgYT0wLGI9MCxkPTA7Yj1j
WzQyNDMwXXwwO2Q9Y1s0MjQxOF18MDthPTE7d2hpbGUoMSl7aWYoKGF8MCk+KGJ8MCkpe2E9NTti
cmVha31pZigoY1soY1tkKyhhPDwyKT4+Ml18MCkrND4+Ml18MCk9PShhfDApKWE9YSsxfDA7ZWxz
ZXthPTQ7YnJlYWt9fWlmKChhfDApPT00KW1hKDEyMzIwNSwxMjI1NTIsNTksMTIyNTU4KTtlbHNl
IGlmKChhfDApPT01KXJldHVybn1mdW5jdGlvbiBwRyhhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAs
Zj0wLGc9MCxoPTA7Zj1jWzQyNDE4XXwwO2c9Y1tmKyhhPDwyKT4+Ml18MDtoPWNbZz4+Ml18MDt3
aGlsZSgxKXtiPShhfDApLzJ8MDtkPWNbZisoYjw8Mik+PjJdfDA7ZT1mKyhhPDwyKXwwO2lmKChj
W2Q+PjJdfDApPj0oaHwwKSlicmVhaztjW2U+PjJdPWQ7Y1tkKzQ+PjJdPWE7YT1ifWNbZT4+Ml09
ZztjW2crND4+Ml09YTtyZXR1cm59ZnVuY3Rpb24gcUcoYSl7YT1hfDA7dmFyIGI9MCxkPTA7ZD1s
O2w9bCsxNnwwO2I9Y1s0MjQzMF18MDtpZigoYnwwKT09KGNbNDI0MjldfDApKXtfbCgxLDEyMjU2
NixkKXwwO2E9MX1lbHNle2I9YisxfDA7Y1s0MjQzMF09YjtjWyhjWzQyNDE4XXwwKSsoYjw8Mik+
PjJdPWE7cEcoYik7b0coKTthPTB9bD1kO3JldHVybiBhfDB9ZnVuY3Rpb24gckcoYSl7YT1hfDA7
dmFyIGI9MCxkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtlPWNbNDI0MThdfDA7
Zj1jW2UrKGE8PDIpPj4yXXwwO2c9Y1tmPj4yXXwwO2g9Y1s0MjQzMF18MDtpPShofDApLzJ8MDt3
aGlsZSgxKXtpZigoYXwwKT4oaXwwKSlicmVhaztkPWE8PDE7Yj1jW2UrKGQ8PDIpPj4yXXwwO2lm
KChkfDApPChofDApKXtsPWR8MTtqPWNbZSsobDw8Mik+PjJdfDA7az0oY1tiPj4yXXwwKTwoY1tq
Pj4yXXwwKTtkPWs/bDpkO2I9az9qOmJ9aWYoKGd8MCk+PShjW2I+PjJdfDApKWJyZWFrO2NbZSso
YTw8Mik+PjJdPWI7Y1tiKzQ+PjJdPWE7YT1kfWNbZSsoYTw8Mik+PjJdPWY7Y1tmKzQ+PjJdPWE7
cmV0dXJufWZ1bmN0aW9uIHNHKCl7dmFyIGE9MCxiPTAsZD0wLGU9MDtiPWNbNDI0MzBdfDA7aWYo
IWIpYT0wO2Vsc2V7ZT1jWzQyNDE4XXwwO2Q9ZSs0fDA7YT1jW2Q+PjJdfDA7Y1tkPj4yXT1jW2Ur
KGI8PDIpPj4yXTtiPWIrLTF8MDtjWzQyNDMwXT1iO2lmKGJ8MClyRygxKTtvRygpfXJldHVybiBh
fDB9ZnVuY3Rpb24gdEcoYSxiKXthPWF8MDtiPWJ8MDtjW2E+PjJdPWI7cEcoY1thKzQ+PjJdfDAp
O29HKCk7cmV0dXJufWZ1bmN0aW9uIHVHKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0w
LGc9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7bT1iKzE2fDA7aj1jW20+PjJdfDA7aj0o
YVtqKygoY1tlKzEyPj4yXXwwKSo0MHwwKSszNj4+MF18MCkhPShhW2orKChjW2UrMTY+PjJdfDAp
KjQwfDApKzM2Pj4wXXwwKTtrPX5+KCgraFtkKzY0Pj4zXSstMy4wLStoW2QrNDg+PjNdKSouNSk7
bD1+figoK2hbZCs1Nj4+M10rLTMuMC0raFtkKzQwPj4zXSkqLjUpO2c9KGt8MCk8KGx8MCk/azps
O249ZCs0fDA7Zj0wO3doaWxlKDEpe2I9Y1tuPj4yXXwwO2lmKChmfDApPj0oYnwwKSl7Zz1mO2Jy
ZWFrfWk9Y1tkKzgrKGY8PDIpPj4yXXwwO289Y1ttPj4yXXwwO2lmKChhW28rKChjW2krMTI+PjJd
fDApKjQwfDApKzM2Pj4wXXwwKT09KGFbbysoKGNbaSsxNj4+Ml18MCkqNDB8MCkrMzY+PjBdfDAp
KXtnPWY7YnJlYWt9dkcoaSxnKTtmPWYrMXwwfXdoaWxlKDEpe2lmKChnfDApPj0oYnwwKSlicmVh
aztmPWNbZCs4KyhnPDwyKT4+Ml18MDtpZihqfChmfDApPT0oZXwwKSl7dkcoZixhWyhjW20+PjJd
fDApKygoY1tmKzEyPj4yXXwwKSo0MHwwKSszNj4+MF18MD9rOmwpO2I9Y1tuPj4yXXwwfWc9Zysx
fDB9cmV0dXJufWZ1bmN0aW9uIHZHKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTA7ZD1hKzh8
MDtlPWNbZD4+Ml18MDtjW2Q+PjJdPWUrMTtpZigoZXwwKT49KGJ8MCkpe2NbZD4+Ml09MDtoW2E+
PjNdPStoW2E+PjNdKzE2Mzg0LjB9cmV0dXJufWZ1bmN0aW9uIHdHKGEsYil7YT1hfDA7Yj1ifDA7
dmFyIGQ9MCxlPTAsZj0wLGc9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLjAsbz0wLjAscD0wLjAscT0w
LjAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MC4wLHo9MC4wLEE9MC4wLEI9MC4wLEM9
MCxEPTAsRT0wLjA7eD1sO2w9bCsxMTJ8MDt1PXgrNjR8MDt0PXgrOTZ8MDttPXgrMzJ8MDt2PXg7
dz12dygyOCl8MDtiPW1uKGEpfDA7cz13KzR8MDtjW3M+PjJdPWI7Yj12dyhiKjcyfDApfDA7cj13
KzEyfDA7Y1tyPj4yXT1iO2U9dis4fDA7aFtlPj4zXT0xNzk3NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0
LjBlMjg0O2hbdj4+M109MTc5NzY5MzEzNDg2MjMxNTcwODE0NTI3NC4wZTI4NDtmPXYrMjR8MDto
W2Y+PjNdPS0xNzk3NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0LjBlMjg0O2c9disxNnwwO2hbZz4+M109
LTE3OTc2OTMxMzQ4NjIzMTU3MDgxNDUyNzQuMGUyODQ7aT1tKzE2fDA7aj1tKzh8MDtrPW0rMjR8
MDtkPWNvKGEpfDA7bj0xNzk3NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0LjBlMjg0O289MTc5NzY5MzEz
NDg2MjMxNTcwODE0NTI3NC4wZTI4NDtwPS0xNzk3NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0LjBlMjg0
O3E9LTE3OTc2OTMxMzQ4NjIzMTU3MDgxNDUyNzQuMGUyODQ7d2hpbGUoMSl7aWYoIWQpYnJlYWs7
Qz1kKzE2fDA7RD1jW0M+PjJdfDA7ej0oK2hbRCs5Nj4+M10rICtoW0QrODg+PjNdKSouNTt6PXo8
MS4wPzEuMDp6O3k9K2hbRCs4MD4+M10qLjU7eT15PDEuMD8xLjA6eTtFPStoW0QrMTY+PjNdO0I9
RS16O2hbbT4+M109Qjt6PUUrejtoW2k+PjNdPXo7RT0raFtEKzI0Pj4zXTtBPUUteTtoW2o+PjNd
PUE7eT1FK3k7aFtrPj4zXT15O0I9K2hbKG48Qj92Om0pPj4zXTtoW3Y+PjNdPUI7QT0raFsobzxB
P3Y6bSkrOD4+M107aFtlPj4zXT1BO3o9K2hbKHA+ej92Om0pKzE2Pj4zXTtoW2c+PjNdPXo7eT0r
aFsocT55P3Y6bSkrMjQ+PjNdO2hbZj4+M109eTtEPWIrNDB8MDtjW0Q+PjJdPWNbbT4+Ml07Y1tE
KzQ+PjJdPWNbbSs0Pj4yXTtjW0QrOD4+Ml09Y1ttKzg+PjJdO2NbRCsxMj4+Ml09Y1ttKzEyPj4y
XTtjW0QrMTY+PjJdPWNbbSsxNj4+Ml07Y1tEKzIwPj4yXT1jW20rMjA+PjJdO2NbRCsyND4+Ml09
Y1ttKzI0Pj4yXTtjW0QrMjg+PjJdPWNbbSsyOD4+Ml07Y1tiPj4yXT1jW2I+PjJdfDE7Y1soY1tD
Pj4yXXwwKSsxMTI+PjJdPWI7Yj1iKzcyfDA7ZD1lbyhhLGQpfDA7bj1CO289QTtwPXo7cT15fWhb
dj4+M109bistMzYuMDtoW2U+PjNdPW8rLTM2LjA7aFtnPj4zXT1wKzM2LjA7aFtmPj4zXT1xKzM2
LjA7RD1jW3I+PjJdfDA7Zj1jW3M+PjJdfDA7Y1t1Pj4yXT1jW3Y+PjJdO2NbdSs0Pj4yXT1jW3Yr
ND4+Ml07Y1t1Kzg+PjJdPWNbdis4Pj4yXTtjW3UrMTI+PjJdPWNbdisxMj4+Ml07Y1t1KzE2Pj4y
XT1jW3YrMTY+PjJdO2NbdSsyMD4+Ml09Y1t2KzIwPj4yXTtjW3UrMjQ+PjJdPWNbdisyND4+Ml07
Y1t1KzI4Pj4yXT1jW3YrMjg+PjJdO2Y9R0coRCxmLHQsdSl8MDtpZihjWzQyMzY2XSYxfDApe3I9
Y1tyPj4yXXwwO0M9Y1tzPj4yXXwwO0Q9Y1t0Pj4yXXwwO2NbdT4+Ml09Y1t2Pj4yXTtjW3UrND4+
Ml09Y1t2KzQ+PjJdO2NbdSs4Pj4yXT1jW3YrOD4+Ml07Y1t1KzEyPj4yXT1jW3YrMTI+PjJdO2Nb
dSsxNj4+Ml09Y1t2KzE2Pj4yXTtjW3UrMjA+PjJdPWNbdisyMD4+Ml07Y1t1KzI0Pj4yXT1jW3Yr
MjQ+PjJdO2NbdSsyOD4+Ml09Y1t2KzI4Pj4yXTt4RyhyLEMsdSxmLEQpfWU9dys4fDA7Y1tlPj4y
XT12dygoY1t0Pj4yXXwwKSo3MnwwKXwwO2Nbdz4+Ml09Y1t0Pj4yXTtkPWNbdD4+Ml18MDtiPTA7
d2hpbGUoMSl7aWYoKGJ8MCk+PShkfDApKWJyZWFrO0Q9KGNbZT4+Ml18MCkrKGIqNzJ8MCkrNDB8
MDtDPWYrKGI8PDUpfDA7Y1tEPj4yXT1jW0M+PjJdO2NbRCs0Pj4yXT1jW0MrND4+Ml07Y1tEKzg+
PjJdPWNbQys4Pj4yXTtjW0QrMTI+PjJdPWNbQysxMj4+Ml07Y1tEKzE2Pj4yXT1jW0MrMTY+PjJd
O2NbRCsyMD4+Ml09Y1tDKzIwPj4yXTtjW0QrMjQ+PjJdPWNbQysyND4+Ml07Y1tEKzI4Pj4yXT1j
W0MrMjg+PjJdO2I9YisxfDB9X0koZik7Y1t1Pj4yXT1jW3Y+PjJdO2NbdSs0Pj4yXT1jW3YrND4+
Ml07Y1t1Kzg+PjJdPWNbdis4Pj4yXTtjW3UrMTI+PjJdPWNbdisxMj4+Ml07Y1t1KzE2Pj4yXT1j
W3YrMTY+PjJdO2NbdSsyMD4+Ml09Y1t2KzIwPj4yXTtjW3UrMjQ+PjJdPWNbdisyND4+Ml07Y1t1
KzI4Pj4yXT1jW3YrMjg+PjJdO2NbdysxNj4+Ml09eUcodyx1KXwwO2w9eDtyZXR1cm4gd3wwfWZ1
bmN0aW9uIHhHKGEsYixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9
MC4wLGk9MCxqPTAsaz0wLjAsbT0wLjAsbj0wLjAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAuMCx1
PTAuMCx2PTAuMDtxPWw7bD1sKzEyOHwwO3A9cSs5NnwwO289cSs2NHwwO2o9cSszMnwwO3I9cSsx
NnwwO3M9cTttPStoW2QrMTY+PjNdO249K2hbZD4+M107az0raFtkKzI0Pj4zXTtnPStoW2QrOD4+
M107aT1jWzEzOTE4XXwwO1dMKDEyMjU4MSxpKXwwO2Nbcz4+Ml09MTA7Y1tzKzQ+PjJdPTEwO2Nb
cys4Pj4yXT1+fihtKzEwLjAtbik7Y1tzKzEyPj4yXT1+fihrKzEwLjAtZyk7ekwoaSwxMjMwMTEs
cyl8MDtoW3I+PjNdPTEwLjAtbjtoW3IrOD4+M109MTAuMC1nO3pMKGksMTIzMDU5LHIpfDA7V0wo
MTIzMDc2LGkpfDA7ZD0wO3doaWxlKDEpe2lmKChkfDApPj0oYnwwKSlicmVhazt2PStoW2ErKGQq
NzJ8MCkrNDg+PjNdO3U9K2hbYSsoZCo3MnwwKSs1Nj4+M107dD0raFthKyhkKjcyfDApKzY0Pj4z
XTtoW2o+PjNdPStoW2ErKGQqNzJ8MCkrNDA+PjNdO2hbais4Pj4zXT12O2hbaisxNj4+M109dTto
W2orMjQ+PjNdPXQ7ekwoaSwxMjMwOTUsail8MDtkPWQrMXwwfVdMKDEyMzExMyxpKXwwO2Q9MDt3
aGlsZSgxKXtpZigoZHwwKT49KGZ8MCkpYnJlYWs7dD0raFtlKyhkPDw1KSs4Pj4zXTt1PStoW2Ur
KGQ8PDUpKzE2Pj4zXTt2PStoW2UrKGQ8PDUpKzI0Pj4zXTtoW28+PjNdPStoW2UrKGQ8PDUpPj4z
XTtoW28rOD4+M109dDtoW28rMTY+PjNdPXU7aFtvKzI0Pj4zXT12O3pMKGksMTIzMTMyLG8pfDA7
ZD1kKzF8MH1XTCgxMjMxNTAsaSl8MDtoW3A+PjNdPW47aFtwKzg+PjNdPWc7aFtwKzE2Pj4zXT1t
O2hbcCsyND4+M109azt6TChpLDEyMzEzMixwKXwwO1dMKDEyMjg5NyxpKXwwO2w9cTtyZXR1cm59
ZnVuY3Rpb24geUcoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MC4wLGY9MCxnPTAsaT0wLGo9
MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0w
LHo9MCxBPTAsQj0wLEM9MCxEPTA7QT1sO2w9bCszMnwwO3Q9QSsxNnwwO2s9QTt3PWNbYT4+Ml18
MDt5PVdDKHc8PDJ8Mil8MDt6PVFsKDU0OTQ0LGNbNDM0NV18MCl8MDt2PVFsKDU0OTgwLGNbNDM0
NV18MCl8MDt3PXZ3KHc8PDcpfDA7Zj12dyhjW2E+PjJdPDw0KXwwO3g9YSs4fDA7Zz1iKzE2fDA7
aT1rKzh8MDtqPWIrMjR8MDttPWIrOHwwO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGNbYT4+Ml18
MCkpYnJlYWs7bj1jW3g+PjJdfDA7bz1uKyhkKjcyfDApfDA7Y1tuKyhkKjcyfDApKzMyPj4yXT00
O3A9bisoZCo3MnwwKSszNnwwO2NbcD4+Ml09ZisoZDw8Mjw8Mik7cT1uKyhkKjcyfDApKzQwfDA7
ZT0raFtuKyhkKjcyfDApKzU2Pj4zXTtpZihlPCtoW2c+PjNdKXtoW2s+PjNdPWU7aFtpPj4zXT0r
aFtuKyhkKjcyfDApKzQ4Pj4zXTtjW3Q+PjJdPWNbaz4+Ml07Y1t0KzQ+PjJdPWNbays0Pj4yXTtj
W3QrOD4+Ml09Y1trKzg+PjJdO2NbdCsxMj4+Ml09Y1trKzEyPj4yXTtzPXpHKHkseix0LHcsMSl8
MDtjW3MrMjA+PjJdPW87Y1tjW3A+PjJdPj4yXT1zfWU9K2hbbisoZCo3MnwwKSs2ND4+M107aWYo
ZTwraFtqPj4zXSl7aFtrPj4zXT0raFtxPj4zXTtoW2k+PjNdPWU7Y1t0Pj4yXT1jW2s+PjJdO2Nb
dCs0Pj4yXT1jW2srND4+Ml07Y1t0Kzg+PjJdPWNbays4Pj4yXTtjW3QrMTI+PjJdPWNbaysxMj4+
Ml07cz16Ryh5LHYsdCx3LDApfDA7Y1tzKzIwPj4yXT1vO2NbKGNbcD4+Ml18MCkrND4+Ml09c31p
ZigraFtxPj4zXT4raFtiPj4zXSl7Y1t0Pj4yXT1jW3E+PjJdO2NbdCs0Pj4yXT1jW3ErND4+Ml07
Y1t0Kzg+PjJdPWNbcSs4Pj4yXTtjW3QrMTI+PjJdPWNbcSsxMj4+Ml07cz16Ryh5LHosdCx3LDEp
fDA7Y1tzKzI0Pj4yXT1vO2NbKGNbcD4+Ml18MCkrOD4+Ml09c31pZigraFtuKyhkKjcyfDApKzQ4
Pj4zXT4raFttPj4zXSl7Y1t0Pj4yXT1jW3E+PjJdO2NbdCs0Pj4yXT1jW3ErND4+Ml07Y1t0Kzg+
PjJdPWNbcSs4Pj4yXTtjW3QrMTI+PjJdPWNbcSsxMj4+Ml07cz16Ryh5LHYsdCx3LDApfDA7Y1tz
KzI0Pj4yXT1vO2NbKGNbcD4+Ml18MCkrMTI+PjJdPXN9ZD1kKzF8MH1vPXZ3KGNbeT4+Ml08PDIp
fDA7cj1hKzR8MDtzPWErMTJ8MDtwPXQrOHwwO209MDtxPTA7bj0wO3doaWxlKDEpe2Q9Y1tyPj4y
XXwwO2lmKChufDApPj0oZHwwKSl7Yj0wO2JyZWFrfWc9Y1tzPj4yXXwwO2k9Zysobio3MnwwKXww
O2o9Zysobio3MnwwKSszNnwwO2Nbaj4+Ml09bysobTw8Mik7Yj1nKyhuKjcyfDApKzQwfDA7Y1t0
Pj4yXT1jW2I+PjJdO2NbdCs0Pj4yXT1jW2IrND4+Ml07Y1t0Kzg+PjJdPWNbYis4Pj4yXTtjW3Qr
MTI+PjJdPWNbYisxMj4+Ml07Yj1nKyhuKjcyfDApKzU2fDA7az1nKyhuKjcyfDApKzMyfDA7ZD1i
YltjW3Y+PjJdJjMxXSh2LHQsNTEyKXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrO2lmKCEoK2hbZCs4
Pj4zXTwraFtiPj4zXSkpYnJlYWs7Qz1jW2Q+PjJdfDA7Qj1jW2o+PjJdfDA7Zj1jW2s+PjJdfDA7
Y1trPj4yXT1mKzE7Y1tCKyhmPDwyKT4+Ml09QztjWyhjW2Q+PjJdfDApKzI0Pj4yXT1pO2Q9YmJb
Y1t2Pj4yXSYzMV0odixkLDgpfDB9Zj1nKyhuKjcyfDApKzY0fDA7ZD1iYltjW3o+PjJdJjMxXSh6
LHQsNTEyKXwwO3doaWxlKDEpe2lmKCFkKXt1PTIwO2JyZWFrfWU9K2hbZj4+M107aWYoISgraFtk
KzE2Pj4zXTxlKSlicmVhaztiPWNbZD4+Ml18MDtCPWNbaj4+Ml18MDtDPWNbaz4+Ml18MDtjW2s+
PjJdPUMrMTtjW0IrKEM8PDIpPj4yXT1iO2NbKGNbZD4+Ml18MCkrMjQ+PjJdPWk7ZD1iYltjW3o+
PjJdJjMxXSh6LGQsOCl8MH1pZigodXwwKT09MjApe3U9MDtlPStoW2Y+PjNdfWhbcD4+M109ZTti
PWcrKG4qNzJ8MCkrNTZ8MDtkPWJiW2Nbdj4+Ml0mMzFdKHYsdCw1MTIpfDA7d2hpbGUoMSl7aWYo
IWQpe3U9MjU7YnJlYWt9ZT0raFtiPj4zXTtpZighKCtoW2QrOD4+M108ZSkpYnJlYWs7RD1jW2Q+
PjJdfDA7Qj1jW2o+PjJdfDA7Qz1jW2s+PjJdfDA7Y1trPj4yXT1DKzE7Y1tCKyhDPDwyKT4+Ml09
RDtjWyhjW2Q+PjJdfDApKzIwPj4yXT1pO2Q9YmJbY1t2Pj4yXSYzMV0odixkLDgpfDB9aWYoKHV8
MCk9PTI1KXt1PTA7ZT0raFtiPj4zXX1oW3Q+PjNdPWU7aFtwPj4zXT0raFtnKyhuKjcyfDApKzQ4
Pj4zXTtkPWJiW2Nbej4+Ml0mMzFdKHosdCw1MTIpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7aWYo
ISgraFtkKzE2Pj4zXTwraFtmPj4zXSkpYnJlYWs7Qj1jW2Q+PjJdfDA7Qz1jW2o+PjJdfDA7RD1j
W2s+PjJdfDA7Y1trPj4yXT1EKzE7Y1tDKyhEPDwyKT4+Ml09QjtjWyhjW2Q+PjJdfDApKzIwPj4y
XT1pO2Q9YmJbY1t6Pj4yXSYzMV0oeixkLDgpfDB9RD1jW2s+PjJdfDA7bT1EK218MDtxPShEfDAp
PihxfDApP0Q6cTtuPW4rMXwwfXdoaWxlKDEpe2lmKChifDApPj0oZHwwKSlicmVhaztBRygoY1tz
Pj4yXXwwKSsoYio3MnwwKXwwKTtiPWIrMXwwO2Q9Y1tyPj4yXXwwfWQ9Y1t5Pj4yXXwwO0Q9Y1t5
KzE2Pj4yXXwwO2NbRCsoZCo0MHwwKSszMj4+Ml09ZDtkPWQrMXwwO2NbRCsoZCo0MHwwKSszMj4+
Ml09ZDtWQyh5LHEpO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGNbYT4+Ml18MCkpYnJlYWs7Qkco
KGNbeD4+Ml18MCkrKGQqNzJ8MCl8MCx5KTtkPWQrMXwwfUtsKHopfDA7S2wodil8MDtfSSh3KTtD
Ryh5KTtUQyh5KTtsPUE7cmV0dXJuIHl8MH1mdW5jdGlvbiB6RyhiLGQsZSxmLGcpe2I9YnwwO2Q9
ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO3ZhciBoPTAsaT0wO2g9YmJbY1tkPj4yXSYzMV0oZCxlLDUx
Mil8MDtkbyBpZighaCl7Yj1YQyhiKXwwO2lmKCFmKW1hKDEyMjk5NCwxMjI5NDIsMjkxLDEyMzAw
MSk7ZWxzZXtoPWNbYiszMj4+Ml18MDtpPWYrKGg8PDUpfDA7Zj1mKyhoPDw1KSs4fDA7Y1tmPj4y
XT1jW2U+PjJdO2NbZis0Pj4yXT1jW2UrND4+Ml07Y1tmKzg+PjJdPWNbZSs4Pj4yXTtjW2YrMTI+
PjJdPWNbZSsxMj4+Ml07Y1tpPj4yXT1iO2FbYiszNj4+MF09ZztiYltjW2Q+PjJdJjMxXShkLGks
MSl8MDticmVha319ZWxzZSBpPWg7d2hpbGUoMCk7cmV0dXJuIGNbaT4+Ml18MH1mdW5jdGlvbiBB
RyhiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGk9MCxqPTA7YTpkbyBpZigoK2hbYis2ND4+
M10rLTMuMC0raFtiKzQ4Pj4zXSkqLjU8Mi4wKXtpPWNbYiszMj4+Ml18MDtqPWIrMzZ8MDtnPTA7
d2hpbGUoMSl7aWYoKGd8MCk+PShpfDApKWJyZWFrIGE7ZD1jWyhjW2o+PjJdfDApKyhnPDwyKT4+
Ml18MDtiOmRvIGlmKGFbZCszNj4+MF18MCl7Zj1jW2QrMjA+PjJdfDA7aWYoKGZ8MCk9PShifDAp
KXtlPWNbZCsyND4+Ml18MDtkPWU7ZT1jW2U+PjJdfDA7ZG97Y1tkPj4yXT1lfDg7ZD1jW2NbZCsz
Nj4+Ml0+PjJdfDA7aWYoIWQpYnJlYWsgYjtkPWNbZCsyND4+Ml18MDtlPWNbZD4+Ml18MH13aGls
ZSghKGUmMXwwKSl9ZWxzZXtlPWY7ZD1jW2Y+PjJdfDA7ZG97Y1tlPj4yXT1kfDg7ZD1jWyhjW2Ur
MzY+PjJdfDApKzg+PjJdfDA7aWYoIWQpYnJlYWsgYjtlPWNbZCsyMD4+Ml18MDtkPWNbZT4+Ml18
MH13aGlsZSghKGQmMXwwKSl9fXdoaWxlKDApO2c9ZysxfDB9fXdoaWxlKDApO2M6ZG8gaWYoKCto
W2IrNTY+PjNdKy0zLjAtK2hbYis0MD4+M10pKi41PDIuMCl7aT1jW2IrMzI+PjJdfDA7aj1iKzM2
fDA7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oaXwwKSlicmVhayBjO2Q9Y1soY1tqPj4yXXwwKSso
Zzw8Mik+PjJdfDA7ZDpkbyBpZighKGFbZCszNj4+MF18MCkpe2Y9Y1tkKzIwPj4yXXwwO2lmKChm
fDApPT0oYnwwKSl7ZT1jW2QrMjQ+PjJdfDA7ZD1lO2U9Y1tlPj4yXXwwO2Rve2NbZD4+Ml09ZXwx
NjtkPWNbKGNbZCszNj4+Ml18MCkrND4+Ml18MDtpZighZClicmVhayBkO2Q9Y1tkKzI0Pj4yXXww
O2U9Y1tkPj4yXXwwfXdoaWxlKCEoZSYxfDApKX1lbHNle2U9ZjtkPWNbZj4+Ml18MDtkb3tjW2U+
PjJdPWR8MTY7ZD1jWyhjW2UrMzY+PjJdfDApKzEyPj4yXXwwO2lmKCFkKWJyZWFrIGQ7ZT1jW2Qr
MjA+PjJdfDA7ZD1jW2U+PjJdfDB9d2hpbGUoIShkJjF8MCkpfX13aGlsZSgwKTtnPWcrMXwwfX13
aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gQkcoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxm
PTAuMCxnPTAuMCxpPTAuMCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAuMCxxPTA7Zz0raFth
KzU2Pj4zXS0raFthKzQwPj4zXTtpPStoW2ErNjQ+PjNdLStoW2ErNDg+PjNdO2Y9KGkrZykqLjUr
NTAwLjA7aWYoKGkrLTMuMCkqLjU8Mi4wKXtsPShjW2E+PjJdJjh8MCk9PTA7Zj1sPzE2Mzg0LjA6
ZjtwPWw/MTYzODQuMDpnfWVsc2UgcD1nO2lmKChnKy0zLjApKi41PDIuMCl7bD0oY1thPj4yXSYx
NnwwKT09MDtpPWw/MTYzODQuMDppO2Y9bD8xNjM4NC4wOmZ9bD1hKzM2fDA7ZD1jW2w+PjJdfDA7
ZT1jW2QrOD4+Ml18MDtpZigoZXwwKSE9MD8oaj1jW2QrND4+Ml18MCwoanwwKSE9MCk6MCl7aj1Z
QyhiLGUsaixmKXwwO2U9YSs0fDA7ZD1jW2U+PjJdfDA7Y1tlPj4yXT1kKzE7Y1thKzgrKGQ8PDIp
Pj4yXT1qO2Q9Y1tsPj4yXXwwfWU9Y1tkKzQ+PjJdfDA7aWYoKGV8MCkhPTA/KGs9Y1tkPj4yXXww
LChrfDApIT0wKTowKXtrPVlDKGIsZSxrLGYpfDA7aj1hKzR8MDtkPWNbaj4+Ml18MDtjW2o+PjJd
PWQrMTtjW2ErOCsoZDw8Mik+PjJdPWs7ZD1jW2w+PjJdfDB9ZT1jW2QrOD4+Ml18MDtpZigoZXww
KSE9MD8obT1jW2QrMTI+PjJdfDAsKG18MCkhPTApOjApe209WUMoYixlLG0sZil8MDtrPWErNHww
O2Q9Y1trPj4yXXwwO2Nbaz4+Ml09ZCsxO2NbYSs4KyhkPDwyKT4+Ml09bTtkPWNbbD4+Ml18MH1l
PWNbZCsxMj4+Ml18MDtpZigoZXwwKSE9MD8obj1jW2Q+PjJdfDAsKG58MCkhPTApOjApe249WUMo
YixlLG4sZil8MDttPWErNHwwO2Q9Y1ttPj4yXXwwO2NbbT4+Ml09ZCsxO2NbYSs4KyhkPDwyKT4+
Ml09bjtkPWNbbD4+Ml18MH1lPWNbZCs0Pj4yXXwwO2lmKChlfDApIT0wPyhvPWNbZCsxMj4+Ml18
MCwob3wwKSE9MCk6MCl7bz1ZQyhiLGUsbyxpKXwwO249YSs0fDA7ZD1jW24+PjJdfDA7Y1tuPj4y
XT1kKzE7Y1thKzgrKGQ8PDIpPj4yXT1vO2Q9Y1tsPj4yXXwwfWU9Y1tkKzg+PjJdfDA7aWYoZXww
PyhxPWNbZD4+Ml18MCxxfDApOjApe2I9WUMoYixlLHEscCl8MDtvPWErNHwwO3E9Y1tvPj4yXXww
O2Nbbz4+Ml09cSsxO2NbYSs4KyhxPDwyKT4+Ml09Yn1yZXR1cm59ZnVuY3Rpb24gQ0coYSl7YT1h
fDA7dmFyIGI9MCxkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTA7aj1sO2w9bCsxNnwwO2k9ais4
fDA7aD1qO2Y9YSsxNnwwO2c9Y1sxMzkxOF18MDtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+PShjW2E+
PjJdfDApKXtiPTEwO2JyZWFrfWI9Y1tmPj4yXXwwO2Q9YisoZSo0MHwwKSsyMHwwO2lmKChjW2Q+
PjJdfDApPT0wPyhjW2g+PjJdPWUsekwoZywxMjI5MDcsaCl8MCwoY1tkPj4yXXwwKT09MCk6MCl7
Yj01O2JyZWFrfWI9YisoZSo0MHwwKSsyNHwwO2lmKChjW2I+PjJdfDApPT0wPyhjW2k+PjJdPWUs
ekwoZywxMjI5NTksaSl8MCwoY1tiPj4yXXwwKT09MCk6MCl7Yj04O2JyZWFrfWU9ZSsxfDB9aWYo
KGJ8MCk9PTUpbWEoMTIyOTI5LDEyMjk0MiwzMTEsMTIyOTQ5KTtlbHNlIGlmKChifDApPT04KW1h
KDEyMjk4MSwxMjI5NDIsMzEzLDEyMjk0OSk7ZWxzZSBpZigoYnwwKT09MTApe2w9ajtyZXR1cm59
fWZ1bmN0aW9uIERHKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAuMCxm
PTAuMDtlPStoW2IrOD4+M107Zj0raFtjKzg+PjNdO2lmKCEoZT5mKSlpZighKGU8Zikpe2Y9K2hb
Yj4+M107ZT0raFtjPj4zXTtpZihmPmUpYT0xO2Vsc2UgYT0oZjxlKTw8MzE+PjMxfWVsc2UgYT0t
MTtlbHNlIGE9MTtyZXR1cm4gYXwwfWZ1bmN0aW9uIEVHKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9
Y3wwO2Q9ZHwwO3ZhciBlPTAuMCxmPTAuMDtlPStoW2I+PjNdO2Y9K2hbYz4+M107aWYoIShlPmYp
KWlmKCEoZTxmKSl7Zj0raFtiKzg+PjNdO2U9K2hbYys4Pj4zXTtpZihmPmUpYT0xO2Vsc2UgYT0o
ZjxlKTw8MzE+PjMxfWVsc2UgYT0tMTtlbHNlIGE9MTtyZXR1cm4gYXwwfWZ1bmN0aW9uIEZHKGEp
e2E9YXwwO3ZhciBiPTAsZD0wO2Q9YSs4fDA7X0koY1soY1tkPj4yXXwwKSszNj4+Ml18MCk7Yj1h
KzEyfDA7X0koY1soY1tiPj4yXXwwKSszNj4+Ml18MCk7X0koY1tkPj4yXXwwKTtfSShjW2I+PjJd
fDApO19DKGNbYSsxNj4+Ml18MCk7S2woY1thKzIwPj4yXXwwKXwwO0tsKGNbYSsyND4+Ml18MCl8
MDtfSShhKTtyZXR1cm59ZnVuY3Rpb24gR0coYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1l
fDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTA7cD1sO2w9
bCszMnwwO2g9cDtpPWI8PDI7Zj1pKzR8MDtpPWkrNXwwO289d3coaSo1NnwwKXwwO2k9dncoaTw8
Mil8MDtnPWYqNXwxO2o9d3coZyo3MnwwKXwwO209Zzw8NTtrPXZ3KG0pfDA7bT12dyhtKXwwO2Nb
aD4+Ml09Y1tlPj4yXTtjW2grND4+Ml09Y1tlKzQ+PjJdO2NbaCs4Pj4yXT1jW2UrOD4+Ml07Y1to
KzEyPj4yXT1jW2UrMTI+PjJdO2NbaCsxNj4+Ml09Y1tlKzE2Pj4yXTtjW2grMjA+PjJdPWNbZSsy
MD4+Ml07Y1toKzI0Pj4yXT1jW2UrMjQ+PjJdO2NbaCsyOD4+Ml09Y1tlKzI4Pj4yXTtIRyhhLGIs
aCxvLDApO3lNKDE3Myk7SUcoZixpKTtTRyhmLG8saSxnLGopfDA7bj1KRyhmLG8saiwwLGspfDA7
Y1toPj4yXT1jW2U+PjJdO2NbaCs0Pj4yXT1jW2UrND4+Ml07Y1toKzg+PjJdPWNbZSs4Pj4yXTtj
W2grMTI+PjJdPWNbZSsxMj4+Ml07Y1toKzE2Pj4yXT1jW2UrMTY+PjJdO2NbaCsyMD4+Ml09Y1tl
KzIwPj4yXTtjW2grMjQ+PjJdPWNbZSsyND4+Ml07Y1toKzI4Pj4yXT1jW2UrMjg+PjJdO0hHKGEs
YixoLG8sMSk7SUcoZixpKTtTRyhmLG8saSxnLGopfDA7Zj1KRyhmLG8saiwxLG0pfDA7Zz12dyhP
KG48PDUsZil8MCl8MDtiPTA7YT0wO3doaWxlKDEpe2lmKChifDApPj0oZnwwKSlicmVhaztoPW0r
KGI8PDUpfDA7ZT0wO3doaWxlKDEpe2lmKChlfDApPj0obnwwKSlicmVhaztxPWErKChLRyhnKyhh
PDw1KXwwLGgsaysoZTw8NSl8MCl8MCkhPTAmMSl8MDtlPWUrMXwwO2E9cX1iPWIrMXwwfXE9eXco
ZyxhPDw1KXwwO19JKG8pO19JKGkpO19JKGopO19JKGspO19JKG0pO2NbZD4+Ml09YTtsPXA7cmV0
dXJuIHF8MH1mdW5jdGlvbiBIRyhhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9
ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wO2o9bDtsPWwrOTZ8MDtoPWorNjR8MDtpPWo7Y1to
Pj4yXT1jW2Q+PjJdO2NbaCs0Pj4yXT1jW2QrND4+Ml07Y1toKzg+PjJdPWNbZCs4Pj4yXTtjW2gr
MTI+PjJdPWNbZCsxMj4+Ml07Y1toKzE2Pj4yXT1jW2QrMTY+PjJdO2NbaCsyMD4+Ml09Y1tkKzIw
Pj4yXTtjW2grMjQ+PjJdPWNbZCsyND4+Ml07Y1toKzI4Pj4yXT1jW2QrMjg+PjJdO1FHKGgsZiwx
LGkpO2Q9UkcoZSwxLGkpfDA7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oYnwwKSlicmVhaztrPWEr
KGcqNzJ8MCkrNDB8MDtjW2g+PjJdPWNbaz4+Ml07Y1toKzQ+PjJdPWNbays0Pj4yXTtjW2grOD4+
Ml09Y1trKzg+PjJdO2NbaCsxMj4+Ml09Y1trKzEyPj4yXTtjW2grMTY+PjJdPWNbaysxNj4+Ml07
Y1toKzIwPj4yXT1jW2srMjA+PjJdO2NbaCsyND4+Ml09Y1trKzI0Pj4yXTtjW2grMjg+PjJdPWNb
aysyOD4+Ml07UUcoaCxmLDAsaSk7ZD1SRyhlLGQsaSl8MDtnPWcrMXwwfWw9ajtyZXR1cm59ZnVu
Y3Rpb24gSUcoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MDtkPTA7d2hp
bGUoMSl7aWYoKGR8MCk+KGF8MCkpYnJlYWs7Y1tiKyhkPDwyKT4+Ml09ZDtkPWQrMXwwfWc9YSsx
fDA7ZD0xO3doaWxlKDEpe2lmKChkfDApPihhfDApKWJyZWFrO2g9fn4oK0FNKCkqKyhnLWR8MCkr
ICsoZHwwKSk7ZT1iKyhkPDwyKXwwO2Y9YisoaDw8Mil8MDtpZigoZHwwKSE9KGh8MCkpe2g9Y1tl
Pj4yXXwwO2NbZT4+Ml09Y1tmPj4yXTtjW2Y+PjJdPWh9ZD1kKzF8MH1yZXR1cm59ZnVuY3Rpb24g
SkcoYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxp
PTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7Zz1hKjV8MDtqPWcrMXwwO2w9dncoajw8Mil8MDtj
WzQyNDMxXT12dyhqPDw0KXwwO2NbNDI0MzJdPXZ3KChhKjU2fDApKzU2fDApfDA7aj12dyhhPDwy
KXwwO2NbNDI0MzNdPWo7az0wO3doaWxlKDEpe2lmKChrfDApPihnfDApKWJyZWFrO2lmKExHKGQr
KGsqNzJ8MCl8MCxiKXwwKWJyZWFrO2s9aysxfDB9aD1jWzQyNDMxXXwwO2k9Y1s0MjQzMl18MDtn
PTE7d2hpbGUoMSl7aWYoKGd8MCk+KGF8MCkpYnJlYWs7Y1toKyhnPDw0KSs4Pj4yXT1jW2IrKGcq
NTZ8MCkrNDg+PjJdO209YisoZyo1NnwwKSs0NHwwO2NbaCsoZzw8NCkrND4+Ml09Y1ttPj4yXTtj
W2grKGc8PDQpPj4yXT1nO249aSsoZyo1NnwwKXwwO289YisoZyo1NnwwKXwwO2Nbbj4+Ml09Y1tv
Pj4yXTtjW24rND4+Ml09Y1tvKzQ+PjJdO2Nbbis4Pj4yXT1jW28rOD4+Ml07Y1tuKzEyPj4yXT1j
W28rMTI+PjJdO2NbaSsoZyo1NnwwKSsxNj4+Ml09Y1ttPj4yXTtjW2krKGcqNTZ8MCkrMzI+PjJd
PWc7Y1tpKyhnKjU2fDApKzQ4Pj4yXT0xO2c9ZysxfDB9Y1s0MjQzNF09YTtjWzQyNDM1XT0wO2Nb
aj4+Ml09MTtnPWNbZCsoayo3MnwwKSs0MD4+Ml18MDtpZigoZ3wwKTw9MCl7Zz1jW2QrKGsqNzJ8
MCkrNDg+PjJdfDA7aWYoKGd8MCk+MClnPU1HKGwsZiwwLGIsZCwwLGssZyxlLDIpfDA7ZWxzZSBn
PTB9ZWxzZSBnPU1HKGwsZiwwLGIsZCwwLGssZyxlLDEpfDA7X0kobCk7X0koY1s0MjQzMV18MCk7
X0koY1s0MjQzMl18MCk7X0koY1s0MjQzM118MCk7cmV0dXJuIGd8MH1mdW5jdGlvbiBLRyhhLGIs
Yyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MC4wLGU9MC4wLGY9MC4wLGc9MC4wO2c9K2hbKCto
W2I+PjNdPitoW2M+PjNdP2I6Yyk+PjNdO2Y9K2hbKCtoW2IrMTY+PjNdPCtoW2MrMTY+PjNdP2I6
YykrMTY+PjNdO2hbYSsxNj4+M109ZjtoW2E+PjNdPWc7ZT0raFsoK2hbYis4Pj4zXT4raFtjKzg+
PjNdP2I6YykrOD4+M107ZD0raFsoK2hbYisyND4+M108K2hbYysyND4+M10/YjpjKSsyND4+M107
aFthKzI0Pj4zXT1kO2hbYSs4Pj4zXT1lO3JldHVybiAhKGc+PWYpJiEoZT49ZCkmMXwwfWZ1bmN0
aW9uIExHKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MC4wLGU9MC4wLGY9MDtmPWNbYSs0Pj4yXXww
O2RvIGlmKChjW2ErNjg+PjJdfDApIT0yPyEoKGZ8MCk8MXwoY1thPj4yXXwwKTwxKTowKXtpZigh
KChjW2ErNDA+PjJdfDApPDE/KGNbYSs0ND4+Ml18MCk8MTowKSl7aWYoKGNbYSs0OD4+Ml18MCk+
PTEpe2E9MDticmVha31pZigoY1thKzUyPj4yXXwwKT49MSl7YT0wO2JyZWFrfX1kPStoW2IrKGYq
NTZ8MCkrMjQ+PjNdO2U9K2hbYisoZio1NnwwKSs4Pj4zXTtpZighKGQ+ZSsxLjBlLTA3KSlpZihk
PGUrLTEuMGUtMDcpYT0wO2Vsc2UgYT0raFtiKyhmKjU2fDApKzE2Pj4zXT4raFtiKyhmKjU2fDAp
Pj4zXSYxO2Vsc2UgYT0xfWVsc2UgYT0wO3doaWxlKDApO3JldHVybiBhfDB9ZnVuY3Rpb24gTUco
YSxiLGQsZSxmLGcsaSxqLGssbCl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7
aT1pfDA7aj1qfDA7az1rfDA7bD1sfDA7dmFyIG09MCxuPTAsbz0wLjAscD0wLjAscT0wLjAscj0w
LHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEM9MCxEPTAsRT0wLEY9MCxHPTAs
SD0wLEk9MC4wLEo9MCxLPTAuMCxMPTAsTT0wLE49MCxPPTAsUD0wO0Q9KGt8MCk9PTA7Qz1pO2E6
d2hpbGUoMSl7eT1mKyhDKjcyfDApfDA7aWYoKEN8MCk8MSlicmVhaztpPWErKEM8PDIpfDA7aWYo
Y1tpPj4yXXwwKWJyZWFrO2NbaT4+Ml09MTt2PWYrKEMqNzJ8MCkrOHwwO3Q9ZisoQyo3MnwwKSsx
NnwwO3A9K2hbdD4+M107dz1mKyhDKjcyfDApKzI0fDA7eD1mKyhDKjcyfDApKzMyfDA7bz0raFt4
Pj4zXTtpZigocD5vPyhBPWNbeT4+Ml18MCxJPStoW2UrKEEqNTZ8MCk+PjNdLEk9PStoW2UrKEEq
NTZ8MCkrMTY+PjNdKTowKT8oQT1jW2YrKEMqNzJ8MCkrND4+Ml18MCxLPStoW2UrKEEqNTZ8MCk+
PjNdLEs9PStoW2UrKEEqNTZ8MCkrMTY+PjNdKTowKXtpPWIrKGQ8PDUpfDA7aWYoRCl7aFtpPj4z
XT1JO3E9cDtwPUt9ZWxzZXtoW2k+PjNdPW87cT0tSTtvPS1LfWhbYisoZDw8NSkrOD4+M109bzto
W2IrKGQ8PDUpKzE2Pj4zXT1wO2hbYisoZDw8NSkrMjQ+PjNdPXE7ZD1kKzF8MH1pPWYrKEMqNzJ8
MCkrNDB8MDt6PWNbaT4+Ml18MDtkbyBpZigoenwwKTwxPyhMPWYrKEMqNzJ8MCkrNDR8MCwoY1tM
Pj4yXXwwKTwxKTowKXtpPWYrKEMqNzJ8MCkrNDh8MDtuPWYrKEMqNzJ8MCkrNTJ8MDtpZigoY1tp
Pj4yXXwwKT4wPyhNPWNbbj4+Ml18MCwoTXwwKT4wKTowKXttPWNbZisoTSo3MnwwKT4+Ml18MDts
PWNbeT4+Ml18MDtpZigoTXwwKT09KGp8MCkpe2w9TkcoZyxsLG0pfDA7ZD1NRyhhLGIsZCxlLGYs
ZyxjW24+PjJdfDAsQyxrLDEpfDA7Zz1sO2w9MTticmVha31lbHNle2w9TkcoZyxtLGwpfDA7ZD1N
RyhhLGIsZCxlLGYsZyxjW2k+PjJdfDAsQyxrLDEpfDA7Zz1sO2k9bjtsPTE7YnJlYWt9fWQ9TUco
YSxiLGQsZSxmLGcseixDLGssMil8MDtkPU1HKGEsYixkLGUsZixnLGNbTD4+Ml18MCxDLGssMil8
MDtkPU1HKGEsYixkLGUsZixnLGNbaT4+Ml18MCxDLGssMSl8MDtpPW47bD0xfWVsc2UgUD0xOTt3
aGlsZSgwKTtkbyBpZigoUHwwKT09MTkpe1A9MDtBPWYrKEMqNzJ8MCkrNDh8MDtyPWNbQT4+Ml18
MDtpZigocnwwKTwxPyhOPWYrKEMqNzJ8MCkrNTJ8MCwoY1tOPj4yXXwwKTwxKTowKXtuPWYrKEMq
NzJ8MCkrNDR8MDtpZigoenwwKT4wPyhPPWNbbj4+Ml18MCwoT3wwKT4wKTowKXttPWNbZisoQyo3
MnwwKSs0Pj4yXXwwO2w9Y1tmKyh6KjcyfDApKzQ+PjJdfDA7aWYoKE98MCk9PShqfDApKXtsPU5H
KGcsbCxtKXwwO2Q9TUcoYSxiLGQsZSxmLGcsY1tuPj4yXXwwLEMsaywyKXwwO2c9bDtsPTI7YnJl
YWt9ZWxzZXtsPU5HKGcsbSxsKXwwO2Q9TUcoYSxiLGQsZSxmLGcsY1tpPj4yXXwwLEMsaywyKXww
O2c9bDtpPW47bD0yO2JyZWFrfX1kPU1HKGEsYixkLGUsZixnLHosQyxrLDIpfDA7ZD1NRyhhLGIs
ZCxlLGYsZyxjW24+PjJdfDAsQyxrLDIpfDA7ZD1NRyhhLGIsZCxlLGYsZyxjW0E+PjJdfDAsQyxr
LDEpfDA7aT1OO2w9MTticmVha311PWYrKEMqNzJ8MCkrNDR8MDtzPWNbdT4+Ml18MDttPShzfDAp
PjA7aWYoKHp8MCk+MCl7aWYobSl7aWYoKHJ8MCk+MD8oRT1mKyhDKjcyfDApKzUyfDAsRj1jW0U+
PjJdfDAsKEZ8MCk+MCk6MCl7bj1jW2YrKEYqNzJ8MCk+PjJdfDA7bT1jW2YrKHoqNzJ8MCkrND4+
Ml18MDtpZighKChsfDApPT0yJihGfDApPT0oanwwKSk/ISgobHwwKT09MSYoc3wwKT09KGp8MCkp
OjApe2w9TkcoZyxuLG0pfDA7ZD1NRyhhLGIsZCxlLGYsZyxjW2k+PjJdfDAsQyxrLDIpfDA7ZD1N
RyhhLGIsZCxlLGYsZyxjW0E+PjJdfDAsQyxrLDEpfDA7ZD1NRyhhLGIsZCxlLGYsbCxjW3U+PjJd
fDAsQyxrLDIpfDA7Zz1sO2k9RTtsPTE7YnJlYWt9bD1ORyhnLG0sbil8MDtkPU1HKGEsYixkLGUs
ZixnLGNbdT4+Ml18MCxDLGssMil8MDtkPU1HKGEsYixkLGUsZixnLGNbRT4+Ml18MCxDLGssMSl8
MDtkPU1HKGEsYixkLGUsZixsLGNbaT4+Ml18MCxDLGssMil8MDtnPWw7aT1BO2w9MTticmVha31t
PWNbeT4+Ml18MDtpZigrQigrKCtoW3g+PjNdLStoW2UrKG0qNTZ8MCkrMjQ+PjNdKSk8PTEuMGUt
MDc/K0IoKygraFt3Pj4zXS0raFtlKyhtKjU2fDApKzE2Pj4zXSkpPD0xLjBlLTA3OjApe249Y1tm
Kyh6KjcyfDApKzQ+PjJdfDA7bT1jW2UrKG0qNTZ8MCkrNDQ+PjJdfDA7aWYoKGx8MCk9PTEmKHp8
MCk9PShqfDApKXtsPU5HKGcsbSxuKXwwO2Q9TUcoYSxiLGQsZSxmLGcsY1tpPj4yXXwwLEMsaywy
KXwwO2Q9TUcoYSxiLGQsZSxmLGwsY1tBPj4yXXwwLEMsaywxKXwwO2Q9TUcoYSxiLGQsZSxmLGws
Y1t1Pj4yXXwwLEMsaywyKXwwO2c9bDtpPWYrKEMqNzJ8MCkrNTJ8MDtsPTE7YnJlYWt9ZWxzZXts
PU5HKGcsbixtKXwwO2Q9TUcoYSxiLGQsZSxmLGcsY1t1Pj4yXXwwLEMsaywyKXwwO2Q9TUcoYSxi
LGQsZSxmLGcsY1tBPj4yXXwwLEMsaywxKXwwO2Q9TUcoYSxiLGQsZSxmLGcsY1tmKyhDKjcyfDAp
KzUyPj4yXXwwLEMsaywxKXwwO2c9bDtsPTI7YnJlYWt9fW49Y1tmKyhDKjcyfDApKzQ+PjJdfDA7
bT1jW2YrKHoqNzJ8MCkrND4+Ml18MDtpZigobHwwKT09MSYoc3wwKT09KGp8MCkpe2w9TkcoZyxt
LG4pfDA7ZD1NRyhhLGIsZCxlLGYsZyxjW3U+PjJdfDAsQyxrLDIpfDA7ZD1NRyhhLGIsZCxlLGYs
bCxjW2YrKEMqNzJ8MCkrNTI+PjJdfDAsQyxrLDEpfDA7ZD1NRyhhLGIsZCxlLGYsbCxjW0E+PjJd
fDAsQyxrLDEpfDA7Zz1sO2w9MjticmVha31lbHNle2w9TkcoZyxuLG0pfDA7ZD1NRyhhLGIsZCxl
LGYsZyxjW2k+PjJdfDAsQyxrLDIpfDA7ZD1NRyhhLGIsZCxlLGYsZyxjW0E+PjJdfDAsQyxrLDEp
fDA7ZD1NRyhhLGIsZCxlLGYsZyxjW2YrKEMqNzJ8MCkrNTI+PjJdfDAsQyxrLDEpfDA7Zz1sO2k9
dTtsPTI7YnJlYWt9fX1lbHNlIGlmKCFtKWJyZWFrIGE7aWYoKHJ8MCk+MD8oRz1mKyhDKjcyfDAp
KzUyfDAsSD1jW0c+PjJdfDAsKEh8MCk+MCk6MCl7bj1jW3k+PjJdfDA7aWYoK0IoKygraFt0Pj4z
XS0raFtlKyhuKjU2fDApKzg+PjNdKSk8PTEuMGUtMDc/K0IoKygraFt2Pj4zXS0raFtlKyhuKjU2
fDApPj4zXSkpPD0xLjBlLTA3OjApe209Y1tmKyhIKjcyfDApPj4yXXwwO2lmKChsfDApPT0yJihy
fDApPT0oanwwKSl7bD1ORyhnLG0sbil8MDtkPU1HKGEsYixkLGUsZixnLGNbQT4+Ml18MCxDLGss
MSl8MDtkPU1HKGEsYixkLGUsZixsLGNbaT4+Ml18MCxDLGssMil8MDtkPU1HKGEsYixkLGUsZixs
LGNbZisoQyo3MnwwKSs0ND4+Ml18MCxDLGssMil8MDtnPWw7aT1HO2w9MTticmVha31lbHNle2w9
TkcoZyxuLG0pfDA7ZD1NRyhhLGIsZCxlLGYsZyxjW2YrKEMqNzJ8MCkrNDQ+PjJdfDAsQyxrLDIp
fDA7ZD1NRyhhLGIsZCxlLGYsZyxjW0c+PjJdfDAsQyxrLDEpfDA7ZD1NRyhhLGIsZCxlLGYsZyxj
W2k+PjJdfDAsQyxrLDIpfDA7Zz1sO2k9QTtsPTE7YnJlYWt9fW09Y1tmKyhIKjcyfDApPj4yXXww
O249Y1tlKygoY1tmKyhDKjcyfDApKzQ+PjJdfDApKjU2fDApKzQ0Pj4yXXwwO2lmKChsfDApPT0y
JihIfDApPT0oanwwKSl7bD1ORyhnLG4sbSl8MDtkPU1HKGEsYixkLGUsZixnLGNbRz4+Ml18MCxD
LGssMSl8MDtkPU1HKGEsYixkLGUsZixsLGNbZisoQyo3MnwwKSs0ND4+Ml18MCxDLGssMil8MDtk
PU1HKGEsYixkLGUsZixsLGNbaT4+Ml18MCxDLGssMil8MDtnPWw7aT1BO2w9MTticmVha31lbHNl
e2w9TkcoZyxtLG4pfDA7ZD1NRyhhLGIsZCxlLGYsZyxjW2k+PjJdfDAsQyxrLDIpfDA7ZD1NRyhh
LGIsZCxlLGYsZyxjW0E+PjJdfDAsQyxrLDEpfDA7ZD1NRyhhLGIsZCxlLGYsZyxjW2YrKEMqNzJ8
MCkrNDQ+PjJdfDAsQyxrLDIpfDA7Zz1sO2k9RztsPTE7YnJlYWt9fW89K2hbdD4+M107bj1jW3k+
PjJdfDA7aWYoKCgrQigrKG8tK2hbZSsobio1NnwwKSs4Pj4zXSkpPD0xLjBlLTA3PytCKCsoK2hb
dj4+M10tK2hbZSsobio1NnwwKT4+M10pKTw9MS4wZS0wNzowKT8oSj1jW2YrKEMqNzJ8MCkrND4+
Ml18MCwrQigrKCtoW3g+PjNdLStoW2UrKEoqNTZ8MCkrOD4+M10pKTw9MS4wZS0wNyk6MCk/K0Io
KygraFt3Pj4zXS0raFtlKyhKKjU2fDApPj4zXSkpPD0xLjBlLTA3OjApaWYoKGx8MCk9PTEpe2w9
TkcoZyxuLEopfDA7ZD1NRyhhLGIsZCxlLGYsZyxjW2k+PjJdfDAsQyxrLDIpfDA7ZD1NRyhhLGIs
ZCxlLGYsZyxjW2YrKEMqNzJ8MCkrNDQ+PjJdfDAsQyxrLDIpfDA7ZD1NRyhhLGIsZCxlLGYsbCxj
W2YrKEMqNzJ8MCkrNTI+PjJdfDAsQyxrLDEpfDA7Zz1sO2k9QTtsPTE7YnJlYWt9ZWxzZXtsPU5H
KGcsSixuKXwwO2Q9TUcoYSxiLGQsZSxmLGcsY1tmKyhDKjcyfDApKzUyPj4yXXwwLEMsaywxKXww
O2Q9TUcoYSxiLGQsZSxmLGcsY1tBPj4yXXwwLEMsaywxKXwwO2Q9TUcoYSxiLGQsZSxmLGwsY1tp
Pj4yXXwwLEMsaywyKXwwO2c9bDtpPWYrKEMqNzJ8MCkrNDR8MDtsPTI7YnJlYWt9aj1jW2YrKEMq
NzJ8MCkrND4+Ml18MDtpZigoKCtCKCsoby0raFtlKyhqKjU2fDApKzI0Pj4zXSkpPD0xLjBlLTA3
PytCKCsoK2hbdj4+M10tK2hbZSsoaio1NnwwKSsxNj4+M10pKTw9MS4wZS0wNzowKT8rQigrKCto
W3g+PjNdLStoW2UrKG4qNTZ8MCkrMjQ+PjNdKSk8PTEuMGUtMDc6MCk/K0IoKygraFt3Pj4zXS0r
aFtlKyhuKjU2fDApKzE2Pj4zXSkpPD0xLjBlLTA3OjApe209Y1tlKyhqKjU2fDApKzQ0Pj4yXXww
O2o9Y1tlKyhuKjU2fDApKzQ0Pj4yXXwwO2lmKChsfDApPT0xKXtsPU5HKGcsaixtKXwwO2Q9TUco
YSxiLGQsZSxmLGcsY1tpPj4yXXwwLEMsaywyKXwwO2Q9TUcoYSxiLGQsZSxmLGcsY1tmKyhDKjcy
fDApKzQ0Pj4yXXwwLEMsaywyKXwwO2Q9TUcoYSxiLGQsZSxmLGwsY1tmKyhDKjcyfDApKzUyPj4y
XXwwLEMsaywxKXwwO2c9bDtpPUE7bD0xO2JyZWFrfWVsc2V7bD1ORyhnLG0sail8MDtkPU1HKGEs
YixkLGUsZixnLGNbZisoQyo3MnwwKSs1Mj4+Ml18MCxDLGssMSl8MDtkPU1HKGEsYixkLGUsZixn
LGNbQT4+Ml18MCxDLGssMSl8MDtkPU1HKGEsYixkLGUsZixsLGNbaT4+Ml18MCxDLGssMil8MDtn
PWw7aT1mKyhDKjcyfDApKzQ0fDA7bD0yO2JyZWFrfX1kPU1HKGEsYixkLGUsZixnLHosQyxrLDIp
fDA7ZD1NRyhhLGIsZCxlLGYsZyxjW0E+PjJdfDAsQyxrLDEpfDA7ZD1NRyhhLGIsZCxlLGYsZyxj
W2YrKEMqNzJ8MCkrNDQ+PjJdfDAsQyxrLDIpfDA7aT1mKyhDKjcyfDApKzUyfDA7bD0xfXdoaWxl
KDApO2o9QztDPWNbaT4+Ml18MH1yZXR1cm4gZHwwfWZ1bmN0aW9uIE5HKGEsYixkKXthPWF8MDti
PWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9
MCxxPTAscj0wO2Y9bDtsPWwrMTZ8MDtyPWYrNHwwO2k9ZjtlPShjWzQyNDM1XXwwKSsxfDA7Y1s0
MjQzNV09ZTttPWNbNDI0MzJdfDA7T0coYixkLHIsaSk7cj1jW3I+PjJdfDA7aD1jW20rKGIqNTZ8
MCkrMzIrKHI8PDIpPj4yXXwwO2k9Y1ttKyhkKjU2fDApKzMyKyhjW2k+PjJdPDwyKT4+Ml18MDtu
PWNbNDI0MzRdfDA7Zz1uKzF8MDtuPW4rMnwwO2NbNDI0MzRdPW47cT1jWzQyNDMxXXwwO2NbcSso
Zzw8NCk+PjJdPWI7Y1txKyhuPDw0KT4+Ml09ZDtvPXErKGg8PDQpKzR8MDtwPXErKGc8PDQpKzR8
MDtjW3A+PjJdPWNbbz4+Ml07Y1txKyhjW28+PjJdPDw0KSs4Pj4yXT1nO2NbcSsoZzw8NCkrOD4+
Ml09bjtjW3ErKG48PDQpKzQ+PjJdPWc7aj1xKyhpPDw0KSs4fDA7Y1txKyhuPDw0KSs4Pj4yXT1j
W2o+PjJdO2NbcSsoY1tqPj4yXTw8NCkrND4+Ml09bjtjW28+PjJdPWk7Y1tqPj4yXT1oO2o9bSso
Yio1NnwwKSs0OHwwO289Y1tqPj4yXXwwO2k9bSsoZCo1NnwwKSs0OHwwO2s9Y1tpPj4yXXwwO2Nb
bSsoYio1NnwwKSsxNisocjw8Mik+PjJdPWQ7Y1ttKyhiKjU2fDApKzMyKyhvPDwyKT4+Ml09Zztj
W20rKGIqNTZ8MCkrMTYrKG88PDIpPj4yXT1jW3ErKGNbcD4+Ml08PDQpPj4yXTtjW20rKGQqNTZ8
MCkrMzIrKGs8PDIpPj4yXT1uO2NbbSsoZCo1NnwwKSsxNisoazw8Mik+PjJdPWI7Y1tqPj4yXT0o
Y1tqPj4yXXwwKSsxO2NbaT4+Ml09KGNbaT4+Ml18MCkrMTtkPWNbNDI0MzNdfDA7Y1tkKyhhPDwy
KT4+Ml09aDtjW2QrKGU8PDIpPj4yXT1nO2w9ZjtyZXR1cm4gZXwwfWZ1bmN0aW9uIE9HKGEsYixk
LGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLjAsaD0wLGk9MCxqPTAuMCxr
PTAuMCxsPTAsbT0wLG49MDtsPWNbNDI0MzJdfDA7bT1sKyhhKjU2fDApfDA7bj1sKyhiKjU2fDAp
fDA7Zj0wO2c9LTQuMDtpPTA7d2hpbGUoMSl7aWYoKGl8MCk9PTQpYnJlYWs7aD1jW2wrKGEqNTZ8
MCkrMTYrKGk8PDIpPj4yXXwwO2lmKChofDApPj0xPyhqPStQRyhtLGwrKGgqNTZ8MCl8MCxuKSxq
PmcpOjApe2Y9aTtnPWp9aT1pKzF8MH1jW2Q+PjJdPWY7Zj0wO2k9MDtnPS00LjA7d2hpbGUoMSl7
aWYoKGl8MCk9PTQpYnJlYWs7aD1jW2wrKGIqNTZ8MCkrMTYrKGk8PDIpPj4yXXwwO2lmKChofDAp
Pj0xPyhrPStQRyhuLGwrKGgqNTZ8MCl8MCxtKSxrPmcpOjApe2Y9aTtnPWt9aT1pKzF8MH1jW2U+
PjJdPWY7cmV0dXJufWZ1bmN0aW9uIFBHKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0w
LjAsZT0wLjAsZj0wLjAsZz0wLjAsaT0wLjA7Zz0raFthPj4zXTtpPStoW2I+PjNdLWc7ZD0raFth
Kzg+PjNdO2Y9K2hbYis4Pj4zXS1kO2c9K2hbYz4+M10tZztkPStoW2MrOD4+M10tZDtlPWQqZitn
Kmk7aWYoIShkKmktZypmPj0wLjApKWQ9LWUvKCtDKCsoZCpkK2cqZykpKitDKCsoZipmK2kqaSkp
KSstMi4wO2Vsc2UgZD1lLygrQygrKGQqZCtnKmcpKSorQygrKGYqZitpKmkpKSk7cmV0dXJuICtk
fWZ1bmN0aW9uIFFHKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0w
LGk9MCxqPTAsaz0wLjAsbD0wLjA7Y1tlPj4yXT1jW2E+PjJdO2NbZSs0Pj4yXT1jW2ErND4+Ml07
Y1tlKzg+PjJdPWNbYSs4Pj4yXTtjW2UrMTI+PjJdPWNbYSsxMj4+Ml07aT1lKzMyfDA7aj1hKzE2
fDA7Y1tpPj4yXT1jW2o+PjJdO2NbaSs0Pj4yXT1jW2orND4+Ml07Y1tpKzg+PjJdPWNbais4Pj4y
XTtjW2krMTI+PjJdPWNbaisxMj4+Ml07aWYoIWQpe2Y9YSs4fDA7Zz1qO2k9YSsyNHwwO2Q9YX1l
bHNle2Y9YSsyNHwwO2c9YTtpPWErOHwwO2Q9an1rPStoW2c+PjNdO2w9K2hbaT4+M107aFtlKzE2
Pj4zXT0raFtkPj4zXTtoW2UrMjQ+PjNdPWw7aFtlKzQ4Pj4zXT1rO2hbZSs1Nj4+M109K2hbZj4+
M107YTpkbyBpZihifDApe2Q9MDt3aGlsZSgxKXtpZigoZHwwKT09NClicmVhayBhO2o9ZSsoZDw8
NCkrOHwwO2w9K2hbaj4+M107Yj1lKyhkPDw0KXwwO2hbaj4+M109K2hbYj4+M107aFtiPj4zXT0t
bDtkPWQrMXwwfX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gUkcoYSxiLGQpe2E9YXwwO2I9Ynww
O2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTA7aD1iKzN8
MDtpPWIrMXwwO2o9YisyfDA7az1hKyhiKjU2fDApKzQ0fDA7bD1hKyhoKjU2fDApKzQ0fDA7ZT0w
O2Y9Yjt3aGlsZSgxKXtpZigoZnwwKT4oaHwwKSlicmVhaztkbyBpZigoZnwwKSE9KGJ8MCkpaWYo
KGZ8MCk9PShofDApKXtjW2w+PjJdPWI7Zz1qO2JyZWFrfWVsc2V7Y1thKyhmKjU2fDApKzQ0Pj4y
XT1mKzE7Zz1mKy0xfDA7YnJlYWt9ZWxzZXtjW2s+PjJdPWk7Zz1ofXdoaWxlKDApO2NbYSsoZio1
NnwwKSs0OD4+Ml09ZztjW2ErKGYqNTZ8MCkrMzI+PjJdPTA7bj1hKyhmKjU2fDApfDA7bT1kKyhl
PDw0KXwwO2Nbbj4+Ml09Y1ttPj4yXTtjW24rND4+Ml09Y1ttKzQ+PjJdO2Nbbis4Pj4yXT1jW20r
OD4+Ml07Y1tuKzEyPj4yXT1jW20rMTI+PjJdO1VOKGErKGcqNTZ8MCkrMTZ8MCxtfDAsMTYpfDA7
ZT1lKzF8MDtmPWYrMXwwfXJldHVybiBiKzR8MH1mdW5jdGlvbiBTRyhhLGIsZCxlLGYpe2E9YXww
O2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wO2NbNDI0MzZd
PWU8PDE7Y1s0MjQzN109ZTtrPXZ3KGUqODB8MCl8MDtjWzQyNDM4XT0xO2NbNDI0MzldPTE7Vk4o
ZnwwLDAsZSo3MnwwKXwwO2c9VEcoY1tkKzQ+PjJdfDAsYixmLGspfDA7ZT0xO3doaWxlKDEpe2lm
KChlfDApPihhfDApKWJyZWFrO2NbYisoZSo1NnwwKSs0MD4+Ml09ZztjW2IrKGUqNTZ8MCkrMzY+
PjJdPWc7ZT1lKzF8MH1qPVVHKGEpfDA7Zz0yO2k9MTt3aGlsZSgxKXtpZigoaXwwKT4oanwwKSli
cmVhaztlPVZHKGEsaSstMXwwKXwwO2g9VkcoYSxpKXwwO3doaWxlKDEpe2lmKChlfDApPj0oaHww
KSl7ZT0xO2JyZWFrfVdHKGNbZCsoZzw8Mik+PjJdfDAsYixmLGspO2U9ZSsxfDA7Zz1nKzF8MH13
aGlsZSgxKXtpZigoZXwwKT4oYXwwKSlicmVhaztYRyhlLGIsZixrKTtlPWUrMXwwfWk9aSsxfDB9
ZT1WRyhhLGopfDA7d2hpbGUoMSl7aWYoKGV8MCk+PShhfDApKWJyZWFrO1dHKGNbZCsoZzw8Mik+
PjJdfDAsYixmLGspO2c9ZysxfDA7ZT1lKzF8MH1fSShrKTtyZXR1cm4gY1s0MjQzOF18MH1mdW5j
dGlvbiBURyhhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxpPTAs
aj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MDtmPWFIKCl8MDtjW2Ur
KGYqNDB8MCk+PjJdPTI7cz1lKyhmKjQwfDApKzh8MDtrPWIrKGEqNTZ8MCl8MDtsPWIrKGEqNTZ8
MCkrMTZ8MDtlSChzLGssbCk7bj1hSCgpfDA7Y1tlKyhmKjQwfDApKzM2Pj4yXT1uO2NbZSsobio0
MHwwKT4+Ml09MztjW2UrKG4qNDB8MCkrMjg+PjJdPWY7aj1hSCgpfDA7Y1tlKyhmKjQwfDApKzMy
Pj4yXT1qO2NbZSsoaio0MHwwKT4+Ml09MjtyPWUrKGoqNDB8MCkrOHwwO2ZIKHIsayxsKTtjW2Ur
KGoqNDB8MCkrMjg+PjJdPWY7bD1hSCgpfDA7Y1tlKyhqKjQwfDApKzMyPj4yXT1sO2NbZSsobCo0
MHwwKT4+Ml09MztjW2UrKGwqNDB8MCkrMjg+PjJdPWo7az1hSCgpfDA7Y1tlKyhqKjQwfDApKzM2
Pj4yXT1rO2NbZSsoayo0MHwwKT4+Ml09MTtjW2UrKGsqNDB8MCkrND4+Ml09YTtjW2UrKGsqNDB8
MCkrMjg+PjJdPWo7aj1hSCgpfDA7Y1tlKyhrKjQwfDApKzMyPj4yXT1qO2NbZSsoaio0MHwwKT4+
Ml09MztjW2UrKGoqNDB8MCkrMjg+PjJdPWs7Zz1hSCgpfDA7Y1tlKyhrKjQwfDApKzM2Pj4yXT1n
O2NbZSsoZyo0MHwwKT4+Ml09MztjW2UrKGcqNDB8MCkrMjg+PjJdPWs7az0kRyhkKXwwO2k9JEco
ZCl8MDttPSRHKGQpfDA7bz0kRyhkKXwwO3A9ZCsoayo3MnwwKSs4fDA7cT1kKyhpKjcyfDApKzh8
MDt0PWQrKG8qNzJ8MCkrMjR8MDtjW3Q+PjJdPWNbcz4+Ml07Y1t0KzQ+PjJdPWNbcys0Pj4yXTtj
W3QrOD4+Ml09Y1tzKzg+PjJdO2NbdCsxMj4+Ml09Y1tzKzEyPj4yXTtVTihxfDAsc3wwLDE2KXww
O2NbcD4+Ml09Y1txPj4yXTtjW3ArND4+Ml09Y1txKzQ+PjJdO2NbcCs4Pj4yXT1jW3ErOD4+Ml07
Y1twKzEyPj4yXT1jW3ErMTI+PjJdO3A9ZCsoayo3MnwwKSsyNHwwO3E9ZCsoaSo3MnwwKSsyNHww
O3M9ZCsobSo3MnwwKSs4fDA7Y1tzPj4yXT1jW3I+PjJdO2Nbcys0Pj4yXT1jW3IrND4+Ml07Y1tz
Kzg+PjJdPWNbcis4Pj4yXTtjW3MrMTI+PjJdPWNbcisxMj4+Ml07VU4ocXwwLHJ8MCwxNil8MDtj
W3A+PjJdPWNbcT4+Ml07Y1twKzQ+PjJdPWNbcSs0Pj4yXTtjW3ArOD4+Ml09Y1txKzg+PjJdO2Nb
cCsxMj4+Ml09Y1txKzEyPj4yXTtoW2QrKG8qNzJ8MCkrMTY+PjNdPTEwNzM3NDE4MjQuMDtoW2Qr
KG8qNzJ8MCkrOD4+M109MTA3Mzc0MTgyNC4wO2hbZCsobSo3MnwwKSszMj4+M109LTEwNzM3NDE4
MjQuMDtoW2QrKG0qNzJ8MCkrMjQ+PjNdPS0xMDczNzQxODI0LjA7Y1tkKyhpKjcyfDApPj4yXT1h
O2NbZCsoayo3MnwwKSs0Pj4yXT1hO2NbZCsoaSo3MnwwKSs0MD4+Ml09bztjW2QrKGsqNzJ8MCkr
NDA+PjJdPW87Y1tkKyhpKjcyfDApKzQ4Pj4yXT1tO2NbZCsoayo3MnwwKSs0OD4+Ml09bTtjW2Qr
KG0qNzJ8MCkrNDA+PjJdPWs7Y1tkKyhvKjcyfDApKzQ4Pj4yXT1rO2NbZCsobSo3MnwwKSs0ND4+
Ml09aTtjW2QrKG8qNzJ8MCkrNTI+PjJdPWk7Y1tkKyhrKjcyfDApKzU2Pj4yXT1qO2NbZCsoaSo3
MnwwKSs1Nj4+Ml09ZztjW2QrKG0qNzJ8MCkrNTY+PjJdPWw7Y1tkKyhvKjcyfDApKzU2Pj4yXT1u
O2NbZCsoaSo3MnwwKSs2OD4+Ml09MTtjW2QrKGsqNzJ8MCkrNjg+PjJdPTE7Y1tkKyhvKjcyfDAp
KzY4Pj4yXT0xO2NbZCsobSo3MnwwKSs2OD4+Ml09MTtjW2UrKG4qNDB8MCkrMjQ+PjJdPW87Y1tl
KyhsKjQwfDApKzI0Pj4yXT1tO2NbZSsoaio0MHwwKSsyND4+Ml09aztjW2UrKGcqNDB8MCkrMjQ+
PjJdPWk7Y1tiKyhhKjU2fDApKzMyPj4yXT0xO3JldHVybiBmfDB9ZnVuY3Rpb24gVUcoYSl7YT1h
fDA7dmFyIGI9MC4wO2I9KyhhfDApO2E9MDt3aGlsZSgxKXtpZighKGI+PTEuMCkpYnJlYWs7Yj0r
Q0ooYik7YT1hKzF8MH1yZXR1cm4gYSstMXwwfWZ1bmN0aW9uIFZHKGEsYil7YT1hfDA7Yj1ifDA7
dmFyIGM9MC4wLGQ9MC4wO2Q9KyhhfDApO2M9ZDthPTA7d2hpbGUoMSl7aWYoKGF8MCk+PShifDAp
KWJyZWFrO2M9K0NKKGMpO2E9YSsxfDB9cmV0dXJuIH5+K04oKyhkL2MpKXwwfWZ1bmN0aW9uIFdH
KGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGk9MC4wLGo9MC4w
LGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLjAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9
MCx6PTAsQT0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0w
LE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wLFg9MDtXPWw7bD1sKzk2fDA7Uz1X
KzMyfDA7Zj1XKzE2fDA7VD1XO3M9UztrPWIrKGEqNTZ8MCl8MDtyPXMrNTZ8MDtkb3tjW3M+PjJd
PWNbaz4+Ml07cz1zKzR8MDtrPWsrNHwwfXdoaWxlKChzfDApPChyfDApKTtVPVMrMTZ8MDtWPVMr
MjR8MDtpPStoW1Y+PjNdO0g9Uys4fDA7aj0raFtIPj4zXTtkbyBpZighKGk+aisxLjBlLTA3KSl7
aWYoIShpPGorLTEuMGUtMDcpPytoW1U+PjNdPitoW1M+PjNdOjApe0c9NDticmVha31HPShfRyhh
LGIsMSl8MCk9PTA7Zj1jW1MrMzY+PjJdfDA7aWYoRyl7bj0wO0c9N31lbHNle2Y9WUcoUyxVLGYs
YixlKXwwO0c9MjB9fWVsc2UgRz00O3doaWxlKDApO2lmKChHfDApPT00KXtjW2Y+PjJdPWNbUz4+
Ml07Y1tmKzQ+PjJdPWNbUys0Pj4yXTtjW2YrOD4+Ml09Y1tTKzg+PjJdO2NbZisxMj4+Ml09Y1tT
KzEyPj4yXTtjW1M+PjJdPWNbVT4+Ml07Y1tTKzQ+PjJdPWNbVSs0Pj4yXTtjW1MrOD4+Ml09Y1tV
Kzg+PjJdO2NbUysxMj4+Ml09Y1tVKzEyPj4yXTtjW1U+PjJdPWNbZj4+Ml07Y1tVKzQ+PjJdPWNb
Zis0Pj4yXTtjW1UrOD4+Ml09Y1tmKzg+PjJdO2NbVSsxMj4+Ml09Y1tmKzEyPj4yXTtFPVMrMzZ8
MDtGPWNbRT4+Ml18MDtHPVMrNDB8MDtmPWNbRz4+Ml18MDtjW0U+PjJdPWY7Y1tHPj4yXT1GO2lm
KCEoX0coYSxiLDIpfDApKXtuPTE7Rz03fWVsc2V7Zj1ZRyhTLFUsZixiLGUpfDA7Rz0xOX19aWYo
KEd8MCk9PTcpe209WUcoUyxVLGYsYixlKXwwO2Y9JEcoZCl8MDtjW2QrKGYqNzJ8MCkrNjg+PjJd
PTE7cz1kKyhmKjcyfDApfDA7az1kKyhtKjcyfDApfDA7cj1zKzcyfDA7ZG97Y1tzPj4yXT1jW2s+
PjJdO3M9cys0fDA7az1rKzR8MH13aGlsZSgoc3wwKTwocnwwKSk7cT0raFtIPj4zXTtoW2QrKGYq
NzJ8MCkrMTY+PjNdPXE7aFtkKyhtKjcyfDApKzMyPj4zXT1xO3E9K2hbUz4+M107aFtkKyhmKjcy
fDApKzg+PjNdPXE7aFtkKyhtKjcyfDApKzI0Pj4zXT1xO2NbZCsobSo3MnwwKSs0OD4+Ml09Zjtj
W2QrKG0qNzJ8MCkrNTI+PjJdPTA7Y1tkKyhmKjcyfDApKzQwPj4yXT1tO2NbZCsoZio3MnwwKSs0
ND4+Ml09MDtnPWNbZCsoZio3MnwwKSs0OD4+Ml18MDtpZigoZ3wwKT4wKXtrPWQrKGcqNzJ8MCkr
NDB8MDtpZigoY1trPj4yXXwwKT09KG18MCkpY1trPj4yXT1mO2c9ZCsoZyo3MnwwKSs0NHwwO2lm
KChjW2c+PjJdfDApPT0obXwwKSljW2c+PjJdPWZ9Zz1jW2QrKGYqNzJ8MCkrNTI+PjJdfDA7aWYo
KGd8MCk+MCl7az1kKyhnKjcyfDApKzQwfDA7aWYoKGNbaz4+Ml18MCk9PShtfDApKWNbaz4+Ml09
ZjtnPWQrKGcqNzJ8MCkrNDR8MDtpZigoY1tnPj4yXXwwKT09KG18MCkpY1tnPj4yXT1mfUU9YUgo
KXwwO0c9YUgoKXwwO0Y9ZCsobSo3MnwwKSs1NnwwO0Q9Y1tGPj4yXXwwO2NbZSsoRCo0MHwwKT4+
Ml09MjtDPWUrKEQqNDB8MCkrOHwwO2NbQz4+Ml09Y1tTPj4yXTtjW0MrND4+Ml09Y1tTKzQ+PjJd
O2NbQys4Pj4yXT1jW1MrOD4+Ml07Y1tDKzEyPj4yXT1jW1MrMTI+PjJdO2NbZSsoRCo0MHwwKSs0
Pj4yXT1hO2NbZSsoRCo0MHwwKSszMj4+Ml09RztjW2UrKEQqNDB8MCkrMzY+PjJdPUU7Y1tlKyhF
KjQwfDApPj4yXT0zO2NbZSsoRSo0MHwwKSsyND4+Ml09bTtjW2UrKEUqNDB8MCkrMjg+PjJdPUQ7
Y1tlKyhHKjQwfDApPj4yXT0zO2NbZSsoRyo0MHwwKSsyND4+Ml09ZjtjW2UrKEcqNDB8MCkrMjg+
PjJdPUQ7Y1tGPj4yXT1FO2NbZCsoZio3MnwwKSs1Nj4+Ml09RztpZihuKUc9MTk7ZWxzZSBHPTIw
fWlmKChHfDApPT0xOSlpZighKF9HKGEsYiwxKXwwKSl7Zz0xO0c9MjF9ZWxzZXtnPTE7Rz0zMn1l
bHNlIGlmKChHfDApPT0yMClpZighKF9HKGEsYiwyKXwwKSl7Zz0wO0c9MjF9ZWxzZXtnPTA7Rz0z
Mn1pZigoR3wwKT09MjEpe289WUcoVSxTLGNbUys0MD4+Ml18MCxiLGUpfDA7bj0kRyhkKXwwO2Nb
ZCsobio3MnwwKSs2OD4+Ml09MTtzPWQrKG4qNzJ8MCl8MDtrPWQrKG8qNzJ8MCl8MDtyPXMrNzJ8
MDtkb3tjW3M+PjJdPWNbaz4+Ml07cz1zKzR8MDtrPWsrNHwwfXdoaWxlKChzfDApPChyfDApKTtx
PStoW1Y+PjNdO2hbZCsobio3MnwwKSsxNj4+M109cTtoW2QrKG8qNzJ8MCkrMzI+PjNdPXE7cT0r
aFtVPj4zXTtoW2QrKG4qNzJ8MCkrOD4+M109cTtoW2QrKG8qNzJ8MCkrMjQ+PjNdPXE7Y1tkKyhv
KjcyfDApKzQ4Pj4yXT1uO2NbZCsobyo3MnwwKSs1Mj4+Ml09MDtjW2QrKG4qNzJ8MCkrNDA+PjJd
PW87Y1tkKyhuKjcyfDApKzQ0Pj4yXT0wO2s9Y1tkKyhuKjcyfDApKzQ4Pj4yXXwwO2lmKChrfDAp
PjApe209ZCsoayo3MnwwKSs0MHwwO2lmKChjW20+PjJdfDApPT0ob3wwKSljW20+PjJdPW47az1k
KyhrKjcyfDApKzQ0fDA7aWYoKGNbaz4+Ml18MCk9PShvfDApKWNbaz4+Ml09bn1rPWNbZCsobio3
MnwwKSs1Mj4+Ml18MDtpZigoa3wwKT4wKXttPWQrKGsqNzJ8MCkrNDB8MDtpZigoY1ttPj4yXXww
KT09KG98MCkpY1ttPj4yXT1uO2s9ZCsoayo3MnwwKSs0NHwwO2lmKChjW2s+PjJdfDApPT0ob3ww
KSljW2s+PjJdPW59RD1hSCgpfDA7Rj1hSCgpfDA7RT1kKyhvKjcyfDApKzU2fDA7Qz1jW0U+PjJd
fDA7Y1tlKyhDKjQwfDApPj4yXT0yO0E9ZSsoQyo0MHwwKSs4fDA7Y1tBPj4yXT1jW1U+PjJdO2Nb
QSs0Pj4yXT1jW1UrND4+Ml07Y1tBKzg+PjJdPWNbVSs4Pj4yXTtjW0ErMTI+PjJdPWNbVSsxMj4+
Ml07Y1tlKyhDKjQwfDApKzQ+PjJdPWE7Y1tlKyhDKjQwfDApKzMyPj4yXT1GO2NbZSsoQyo0MHww
KSszNj4+Ml09RDtjW2UrKEQqNDB8MCk+PjJdPTM7Y1tlKyhEKjQwfDApKzI0Pj4yXT1vO2NbZSso
RCo0MHwwKSsyOD4+Ml09QztjW2UrKEYqNDB8MCk+PjJdPTM7Y1tlKyhGKjQwfDApKzI0Pj4yXT1u
O2NbZSsoRio0MHwwKSsyOD4+Ml09QztjW0U+PjJdPUQ7Y1tkKyhuKjcyfDApKzU2Pj4yXT1GO0Y9
ZjtmPTB9ZWxzZSBpZigoR3wwKT09MzIpe0Y9ZjtvPVlHKFUsUyxjW1MrNDA+PjJdfDAsYixlKXww
O2Y9MX1hOmRvIGlmKChGfDApPjApe0Q9ZCsobyo3MnwwKSsyNHwwO0U9ZCsobyo3MnwwKSszMnww
O0M9KGZ8MCkhPTA7eT1nP2IrKGEqNTZ8MCkrNDh8MDpiKyhhKjU2fDApKzQ0fDA7ej1UKzh8MDtn
PTA7Zj0wO3g9RjtiOndoaWxlKDEpe2s9ZCsoeCo3MnwwKXwwO3Y9ZCsoeCo3MnwwKSsyNHwwO2lm
KCEoYkgodixEKXwwKSlicmVhayBhO209ZCsoeCo3MnwwKSs1NnwwO3U9Y1ttPj4yXXwwO249YUgo
KXwwO3A9YUgoKXwwO2NbZSsodSo0MHwwKT4+Ml09MTtjW2UrKHUqNDB8MCkrND4+Ml09YTtjW2Ur
KHUqNDB8MCkrMzI+PjJdPW47Y1tlKyh1KjQwfDApKzM2Pj4yXT1wO2NbZSsobio0MHwwKT4+Ml09
MztjW2UrKG4qNDB8MCkrMjQ+PjJdPXg7Y1tlKyhuKjQwfDApKzI4Pj4yXT11O2NbZSsocCo0MHww
KT4+Ml09Mzt3PSRHKGQpfDA7Y1tlKyhwKjQwfDApKzI0Pj4yXT13O0E9ZCsodyo3MnwwKXwwO2Nb
ZCsodyo3MnwwKSs2OD4+Ml09MTtjW2UrKHAqNDB8MCkrMjg+PjJdPXU7Zz0oeHwwKT09KEZ8MCk/
dzpnO3U9ZCsoeCo3MnwwKSszMnwwO2lmKCtCKCsoK2hbdT4+M10tK2hbRT4+M10pKTw9MS4wZS0w
Nz8rQigrKCtoW3Y+PjNdLStoW0Q+PjNdKSk8PTEuMGUtMDc6MClmPXc7cz1BO3I9cys3MnwwO2Rv
e2Nbcz4+Ml09Y1trPj4yXTtzPXMrNHwwO2s9ays0fDB9d2hpbGUoKHN8MCk8KHJ8MCkpO2NbbT4+
Ml09bjtjW2QrKHcqNzJ8MCkrNTY+PjJdPXA7dD1kKyh4KjcyfDApKzQ4fDA7bT1kKyh4KjcyfDAp
KzUyfDA7az0oY1ttPj4yXXwwKTwxO2RvIGlmKChjW3Q+PjJdfDApPDEpe2lmKGspYnJlYWsgYjtz
PWQrKHgqNzJ8MCkrNDB8MDtrPWNbcz4+Ml18MDtkbyBpZigoa3wwKT4wPyhNPWQrKHgqNzJ8MCkr
NDR8MCxOPWNbTT4+Ml18MCwoTnwwKT4wKTowKXtyPWQrKHgqNzJ8MCkrNjB8MDtrPWNbcj4+Ml18
MDtpZigoa3wwKTw9MCl7Y1tkKyh3KjcyfDApKzQwPj4yXT1OO2NbZCsodyo3MnwwKSs0ND4+Ml09
LTE7Y1tNPj4yXT0tMTtjW2QrKE4qNzJ8MCkrNDg+PjJdPXc7YnJlYWt9aWYoKGNbZCsoeCo3Mnww
KSs2ND4+Ml18MCk9PTEpe2NbZCsodyo3MnwwKSs0MD4+Ml09TjtjW00+PjJdPS0xO2NbZCsodyo3
MnwwKSs0ND4+Ml09aztjW2QrKChjW3M+PjJdfDApKjcyfDApKzQ4Pj4yXT14O3A9dztuPU59ZWxz
ZXtjW2QrKHcqNzJ8MCkrNDQ+PjJdPS0xO3Q9ZCsodyo3MnwwKSs0MHwwO2NbdD4+Ml09Y1tNPj4y
XTtuPWNbcz4+Ml18MDtjW00+PjJdPW47Y1tzPj4yXT1rO2NbZCsoayo3MnwwKSs0OD4+Ml09eDtw
PXg7az1jW3Q+PjJdfDB9Y1tkKyhuKjcyfDApKzQ4Pj4yXT1wO2NbZCsoayo3MnwwKSs0OD4+Ml09
dztjW2QrKHcqNzJ8MCkrNjA+PjJdPTA7Y1tyPj4yXT0wfWVsc2UgRz03Nzt3aGlsZSgwKTtkbyBp
ZigoR3wwKT09Nzcpe0c9MDtuPWQrKGsqNzJ8MCkrNDh8MDtwPWNbbj4+Ml18MDtrPWQrKGsqNzJ8
MCkrNTJ8MDtpZigocHwwKT4wPyhjW2s+PjJdfDApPjA6MCl7az1jW2QrKHAqNzJ8MCkrND4+Ml18
MDtpZigoa3wwKT4wPyhaRyhrLGIsVSl8MCk9PTA6MCl7Y1tkKyh3KjcyfDApKzQ0Pj4yXT0tMTtj
W2QrKHgqNzJ8MCkrNDQ+PjJdPS0xO2Nbcz4+Ml09LTE7Y1tkKygoY1tkKyh3KjcyfDApKzQwPj4y
XXwwKSo3MnwwKSs1Mj4+Ml09dzticmVha31jW2QrKHgqNzJ8MCkrNDQ+PjJdPS0xO2NbZCsodyo3
MnwwKSs0ND4+Ml09LTE7Y1tkKyh3KjcyfDApKzQwPj4yXT0tMTtjW2QrKChjW3M+PjJdfDApKjcy
fDApKzQ4Pj4yXT14O2JyZWFrfWNbbj4+Ml09eDtjW2s+PjJdPXd9d2hpbGUoMCk7aWYoK0IoKygr
aFt1Pj4zXS0raFtFPj4zXSkpPD0xLjBlLTA3P0MmK0IoKygraFt2Pj4zXS0raFtEPj4zXSkpPD0x
LjBlLTA3OjApe2s9Y1t5Pj4yXXwwO2lmKChrfDApPjA/KFpHKGssYixTKXwwKSE9MDowKXtjW2Qr
KChjW20+PjJdfDApKjcyfDApKzQwPj4yXT14O249ZCsodyo3MnwwKSs1MnwwO2s9d31lbHNle2Nb
ZCsoKGNbZCsodyo3MnwwKSs1Mj4+Ml18MCkqNzJ8MCkrNDQ+PjJdPXc7bj1tO2s9eH1jW24+PjJd
PS0xO2NbZCsoayo3MnwwKSs0OD4+Ml09LTE7az1jW20+PjJdfDA7YnJlYWt9az1jW20+PjJdfDA7
bT1kKyhrKjcyfDApKzQwfDA7bj1jW20+PjJdfDA7cD1kKyhrKjcyfDApKzQ0fDA7aWYoKG58MCk+
MD8oTz1jW3A+PjJdfDAsUD0obnwwKT09KHh8MCksKE98MCk+MCk6MCl7Y1tkKyhrKjcyfDApKzYw
Pj4yXT1QP086bjtjW2QrKGsqNzJ8MCkrNjQ+PjJdPVA/MToyfWNbbT4+Ml09eDtjW3A+PjJdPXd9
ZWxzZXtpZighayl7aT0raFt1Pj4zXTtqPStoW0g+PjNdO3E9aS1qO2lmKCEoK0IoK3EpPD0xLjBl
LTA3KSl7aFt6Pj4zXT1pO2k9K2hbUz4+M107aFtUPj4zXT0oK2hbVT4+M10taSkqKHEvKCtoW1Y+
PjNdLWopKStpO3M9KGNIKFQsdil8MCkhPTB9ZWxzZSBzPStoW3Y+PjNdPitoW1M+PjNdO3I9ZCso
eCo3MnwwKSs0MHwwO2s9Y1tyPj4yXXwwO2RvIGlmKChrfDApPjA/KFE9ZCsoeCo3MnwwKSs0NHww
LFI9Y1tRPj4yXXwwLChSfDApPjApOjApe3A9ZCsoeCo3MnwwKSs2MHwwO2s9Y1twPj4yXXwwO2lm
KChrfDApPD0wKXtjW2QrKHcqNzJ8MCkrNDA+PjJdPVI7Y1tkKyh3KjcyfDApKzQ0Pj4yXT0tMTtj
W1E+PjJdPS0xO2NbZCsoUio3MnwwKSs0OD4+Ml09dzticmVha31pZigoY1tkKyh4KjcyfDApKzY0
Pj4yXXwwKT09MSl7Y1tkKyh3KjcyfDApKzQwPj4yXT1SO2NbUT4+Ml09LTE7Y1tkKyh3KjcyfDAp
KzQ0Pj4yXT1rO2NbZCsoKGNbcj4+Ml18MCkqNzJ8MCkrNDg+PjJdPXg7bj13O209Un1lbHNle2Nb
ZCsodyo3MnwwKSs0ND4+Ml09LTE7WD1kKyh3KjcyfDApKzQwfDA7Y1tYPj4yXT1jW1E+PjJdO209
Y1tyPj4yXXwwO2NbUT4+Ml09bTtjW3I+PjJdPWs7Y1tkKyhrKjcyfDApKzQ4Pj4yXT14O249eDtr
PWNbWD4+Ml18MH1jW2QrKG0qNzJ8MCkrNDg+PjJdPW47Y1tkKyhrKjcyfDApKzQ4Pj4yXT13O2Nb
ZCsodyo3MnwwKSs2MD4+Ml09MDtjW3A+PjJdPTB9ZWxzZSBHPTEwNjt3aGlsZSgwKTtkbyBpZigo
R3wwKT09MTA2KXtHPTA7bT1kKyhrKjcyfDApKzQ4fDA7bj1jW20+PjJdfDA7az1kKyhrKjcyfDAp
KzUyfDA7aWYoKG58MCk+MD8oY1trPj4yXXwwKT4wOjApe2s9Y1tkKyhuKjcyfDApKzQ+PjJdfDA7
aWYoKGt8MCk+MD8oWkcoayxiLFUpfDApPT0wOjApe2NbZCsodyo3MnwwKSs0ND4+Ml09LTE7Y1tk
Kyh4KjcyfDApKzQ0Pj4yXT0tMTtjW3I+PjJdPS0xO2NbZCsoKGNbZCsodyo3MnwwKSs0MD4+Ml18
MCkqNzJ8MCkrNTI+PjJdPXc7YnJlYWt9Y1tkKyh4KjcyfDApKzQ0Pj4yXT0tMTtjW2QrKHcqNzJ8
MCkrNDQ+PjJdPS0xO2NbZCsodyo3MnwwKSs0MD4+Ml09LTE7Y1tkKygoY1tyPj4yXXwwKSo3Mnww
KSs0OD4+Ml09eDticmVha31jW20+PjJdPXg7Y1trPj4yXT13fXdoaWxlKDApO2lmKCtCKCsoK2hb
dT4+M10tK2hbRT4+M10pKTw9MS4wZS0wNz9DJitCKCsoK2hbdj4+M10tK2hbRD4+M10pKTw9MS4w
ZS0wNzowKXtrPWNbdD4+Ml18MDtjW2QrKGsqNzJ8MCkrNDA+PjJdPXg7Y1tkKyhrKjcyfDApKzQ0
Pj4yXT0tMTtrPWQrKHgqNzJ8MCkrNTJ8MDtYPWNbaz4+Ml18MDtjW2QrKFgqNzJ8MCkrNDA+PjJd
PXc7Y1tkKyhYKjcyfDApKzQ0Pj4yXT0tMTtjW2QrKHcqNzJ8MCkrNDg+PjJdPVg7Y1tkKyh3Kjcy
fDApKzUyPj4yXT0tMTtjW2s+PjJdPS0xO2s9LTF9ZWxzZSBHPTExNjtkbyBpZigoR3wwKT09MTE2
KXtHPTA7az1jW3Q+PjJdfDA7Y1tkKyhrKjcyfDApKzQwPj4yXT14O209ZCsoayo3MnwwKSs0NHww
O2lmKHMpe2NbbT4+Ml09dztYPWQrKHgqNzJ8MCkrNTJ8MDt2PWNbWD4+Ml18MDtjW2QrKHYqNzJ8
MCkrNDA+PjJdPXc7Y1tkKyh2KjcyfDApKzQ0Pj4yXT0tMTtjW1g+PjJdPS0xO2JyZWFrfWVsc2V7
Y1ttPj4yXT0tMTtrPWQrKHgqNzJ8MCkrNTJ8MDtYPWNbaz4+Ml18MDtjW2QrKFgqNzJ8MCkrNDA+
PjJdPXg7Y1tkKyhYKjcyfDApKzQ0Pj4yXT13O2NbZCsodyo3MnwwKSs0OD4+Ml09WDtjW2QrKHcq
NzJ8MCkrNTI+PjJdPS0xO2s9Y1trPj4yXXwwO2JyZWFrfX13aGlsZSgwKTticmVha31zPWQrKHgq
NzJ8MCkrNDB8MDtrPWNbcz4+Ml18MDtkbyBpZigoa3wwKT4wPyhJPWQrKHgqNzJ8MCkrNDR8MCxK
PWNbST4+Ml18MCwoSnwwKT4wKTowKXtyPWQrKHgqNzJ8MCkrNjB8MDtrPWNbcj4+Ml18MDtpZigo
a3wwKTw9MCl7Y1tkKyh3KjcyfDApKzQwPj4yXT1KO2NbZCsodyo3MnwwKSs0ND4+Ml09LTE7Y1tJ
Pj4yXT0tMTtjW2QrKEoqNzJ8MCkrNDg+PjJdPXc7YnJlYWt9aWYoKGNbZCsoeCo3MnwwKSs2ND4+
Ml18MCk9PTEpe2NbZCsodyo3MnwwKSs0MD4+Ml09SjtjW0k+PjJdPS0xO2NbZCsodyo3MnwwKSs0
ND4+Ml09aztjW2QrKChjW3M+PjJdfDApKjcyfDApKzQ4Pj4yXT14O3A9dztuPUp9ZWxzZXtjW2Qr
KHcqNzJ8MCkrNDQ+PjJdPS0xO1g9ZCsodyo3MnwwKSs0MHwwO2NbWD4+Ml09Y1tJPj4yXTtuPWNb
cz4+Ml18MDtjW0k+PjJdPW47Y1tzPj4yXT1rO2NbZCsoayo3MnwwKSs0OD4+Ml09eDtwPXg7az1j
W1g+PjJdfDB9Y1tkKyhuKjcyfDApKzQ4Pj4yXT1wO2NbZCsoayo3MnwwKSs0OD4+Ml09dztjW2Qr
KHcqNzJ8MCkrNjA+PjJdPTA7Y1tyPj4yXT0wfWVsc2UgRz01MTt3aGlsZSgwKTtkbyBpZigoR3ww
KT09NTEpe0c9MDtuPWQrKGsqNzJ8MCkrNDh8MDtwPWNbbj4+Ml18MDtrPWQrKGsqNzJ8MCkrNTJ8
MDtpZigocHwwKT4wPyhjW2s+PjJdfDApPjA6MCl7az1jW2QrKHAqNzJ8MCkrND4+Ml18MDtpZigo
a3wwKT4wPyhaRyhrLGIsVSl8MCk9PTA6MCl7Y1tkKyh3KjcyfDApKzQ0Pj4yXT0tMTtjW2QrKHgq
NzJ8MCkrNDQ+PjJdPS0xO2Nbcz4+Ml09LTE7Y1tkKygoY1tkKyh3KjcyfDApKzQwPj4yXXwwKSo3
MnwwKSs1Mj4+Ml09dzticmVha31jW2QrKHgqNzJ8MCkrNDQ+PjJdPS0xO2NbZCsodyo3MnwwKSs0
ND4+Ml09LTE7Y1tkKyh3KjcyfDApKzQwPj4yXT0tMTtjW2QrKChjW3M+PjJdfDApKjcyfDApKzQ4
Pj4yXT14O2JyZWFrfWNbbj4+Ml09eDtjW2s+PjJdPXd9d2hpbGUoMCk7aWYoK0IoKygraFt1Pj4z
XS0raFtFPj4zXSkpPD0xLjBlLTA3P0MmK0IoKygraFt2Pj4zXS0raFtEPj4zXSkpPD0xLjBlLTA3
OjApe2s9Y1t5Pj4yXXwwO2lmKChrfDApPjA/KFpHKGssYixTKXwwKSE9MDowKXtjW2QrKChjW3Q+
PjJdfDApKjcyfDApKzQwPj4yXT14O209ZCsodyo3MnwwKSs1MnwwO2s9d31lbHNle2NbZCsoKGNb
ZCsodyo3MnwwKSs0OD4+Ml18MCkqNzJ8MCkrNDQ+PjJdPXc7az14fWNbbT4+Ml09LTE7Y1tkKyhr
KjcyfDApKzQ4Pj4yXT0tMTtrPWNbdD4+Ml18MDticmVha31rPWNbdD4+Ml18MDttPWQrKGsqNzJ8
MCkrNDB8MDtuPWNbbT4+Ml18MDtwPWQrKGsqNzJ8MCkrNDR8MDtpZigobnwwKT4wPyhLPWNbcD4+
Ml18MCxMPShufDApPT0oeHwwKSwoS3wwKT4wKTowKXtjW2QrKGsqNzJ8MCkrNjA+PjJdPUw/Szpu
O2NbZCsoayo3MnwwKSs2ND4+Ml09TD8xOjJ9Y1ttPj4yXT14O2NbcD4+Ml09d313aGlsZSgwKTtj
W0E+PjJdPWE7Y1tkKyh4KjcyfDApKzQ+PjJdPWE7aWYoKGt8MCk+MCl4PWs7ZWxzZSBicmVhayBh
fVhMKDEyMzIzNSwxOSwxLGNbMTM5MThdfDApfDB9ZWxzZXtnPTA7Zj0wfXdoaWxlKDApO2RIKGEs
RixvLDEsZCxlKTtkSChhLGcsZiwyLGQsZSk7Y1tiKyhhKjU2fDApKzMyPj4yXT0xO2w9VztyZXR1
cm59ZnVuY3Rpb24gWEcoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxn
PTAsaD0wO2lmKCEoY1tiKyhhKjU2fDApKzMyPj4yXXwwKSl7Zj1iKyhhKjU2fDApfDA7Zz1iKyhh
KjU2fDApKzE2fDA7aD1iKyhhKjU2fDApKzM2fDA7Y1toPj4yXT1jW2QrKChZRyhmLGcsY1toPj4y
XXwwLGIsZSl8MCkqNzJ8MCkrNTY+PjJdO2E9YisoYSo1NnwwKSs0MHwwO2NbYT4+Ml09Y1tkKygo
WUcoZyxmLGNbYT4+Ml18MCxiLGUpfDApKjcyfDApKzU2Pj4yXX1yZXR1cm59ZnVuY3Rpb24gWUco
YSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLjAsaT0wLGo9
MC4wLGs9MC4wLGw9MC4wLG09MC4wLG49MC4wLG89MCxwPTAuMCxxPTAscj0wO289YSs4fDA7cT1i
Kzh8MDthOndoaWxlKDEpe2I6ZG8gc3dpdGNoKGNbZisoZCo0MHwwKT4+Ml18MCl7Y2FzZSAzOnty
PTM7YnJlYWsgYX1jYXNlIDI6e2c9K2hbbz4+M107aT1mKyhkKjQwfDApKzh8MDtqPStoW2YrKGQq
NDB8MCkrMTY+PjNdO2s9aisxLjBlLTA3O2RvIGlmKCEoZz5rKSl7bD1qKy0xLjBlLTA3O2lmKCEo
ZzxsKT8raFthPj4zXT4raFtpPj4zXTowKWJyZWFrO2lmKCtCKCsoZy1qKSk8PTEuMGUtMDc/KG09
K2hbaT4+M10sK0IoKygraFthPj4zXS1tKSk8PTEuMGUtMDcpOjApe2c9K2hbcT4+M107ZG8gaWYo
IShnPmspKXtpZighKGc8bCk/K2hbYj4+M10+bTowKWJyZWFrO2Q9ZisoZCo0MHwwKSszMnwwO2Jy
ZWFrIGJ9d2hpbGUoMCk7ZD1mKyhkKjQwfDApKzM2fDA7YnJlYWsgYn1kPWYrKGQqNDB8MCkrMzJ8
MDticmVhayBifXdoaWxlKDApO2Q9ZisoZCo0MHwwKSszNnwwO2JyZWFrfWNhc2UgMTp7Zz0raFtv
Pj4zXTtpPWNbZisoZCo0MHwwKSs0Pj4yXXwwO2lmKCtCKCsoZy0raFtlKyhpKjU2fDApKzg+PjNd
KSk8PTEuMGUtMDc/KG49K2hbYT4+M10sK0IoKyhuLStoW2UrKGkqNTZ8MCk+PjNdKSk8PTEuMGUt
MDcpOjApaj1uO2Vsc2Ugcj0xOTtkbyBpZigocnwwKT09MTkpe3I9MDtpZigrQigrKGctK2hbZSso
aSo1NnwwKSsyND4+M10pKTw9MS4wZS0wNz8ocD0raFthPj4zXSwrQigrKHAtK2hbZSsoaSo1Nnww
KSsxNj4+M10pKTw9MS4wZS0wNyk6MCl7aj1wO2JyZWFrfWlmKCEoWkcoaSxlLGEpfDApKXtkPWYr
KGQqNDB8MCkrMzZ8MDticmVhayBifWVsc2V7ZD1mKyhkKjQwfDApKzMyfDA7YnJlYWsgYn19d2hp
bGUoMCk7aWYoISgrQigrKGctK2hbcT4+M10pKTw9MS4wZS0wNykpaWYoIShaRyhpLGUsYil8MCkp
e2Q9ZisoZCo0MHwwKSszNnwwO2JyZWFrIGJ9ZWxzZXtkPWYrKGQqNDB8MCkrMzJ8MDticmVhayBi
fWVsc2UgaWYoK2hbYj4+M108ail7ZD1mKyhkKjQwfDApKzMyfDA7YnJlYWsgYn1lbHNle2Q9Ziso
ZCo0MHwwKSszNnwwO2JyZWFrIGJ9fWRlZmF1bHQ6e3I9MzE7YnJlYWsgYX19d2hpbGUoMCk7ZD1j
W2Q+PjJdfDB9aWYoKHJ8MCk9PTMpcmV0dXJuIGNbZisoZCo0MHwwKSsyND4+Ml18MDtlbHNlIGlm
KChyfDApPT0zMSl7WEwoMTIzMTY5LDM1LDEsY1sxMzkxOF18MCl8MDttYSgxMjMyMDUsMTIzMjA3
LDM0OSwxMjMyMTkpfXJldHVybiAwfWZ1bmN0aW9uIFpHKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8
MDt2YXIgZD0wLjAsZT0wLjAsZj0wLGc9MC4wLGk9MCxqPTAsaz0wLjA7Zj1iKyhhKjU2fDApKzE2
fDA7Zz0raFtiKyhhKjU2fDApKzI0Pj4zXTtpPWIrKGEqNTZ8MCl8MDtlPStoW2IrKGEqNTZ8MCkr
OD4+M107ZG8gaWYoIShnPmUrMS4wZS0wNykpe2lmKCEoZzxlKy0xLjBlLTA3KT8raFtmPj4zXT4r
aFtpPj4zXTowKXtqPTQ7YnJlYWt9ZD0raFtjKzg+PjNdO2lmKCtCKCsoZy1kKSk8PTEuMGUtMDcp
e2Q9K2hbYz4+M108K2hbZj4+M10/MS4wOi0xLjA7YnJlYWt9aWYoISgrQigrKGUtZCkpPD0xLjBl
LTA3KSl7az0raFtmPj4zXTtkPSgraFtpPj4zXS1rKSooZC1nKS0oK2hbYz4+M10taykqKGUtZyk7
YnJlYWt9ZWxzZXtkPStoW2M+PjNdPCtoW2k+PjNdPzEuMDotMS4wO2JyZWFrfX1lbHNlIGo9NDt3
aGlsZSgwKTtkbyBpZigoanwwKT09NCl7ZD0raFtjKzg+PjNdO2lmKCtCKCsoZy1kKSk8PTEuMGUt
MDcpe2Q9K2hbYz4+M108K2hbZj4+M10/MS4wOi0xLjA7YnJlYWt9aWYoISgrQigrKGUtZCkpPD0x
LjBlLTA3KSl7az0raFtpPj4zXTtkPSgraFtmPj4zXS1rKSooZC1lKS0oK2hbYz4+M10taykqKGct
ZSk7YnJlYWt9ZWxzZXtkPStoW2M+PjNdPCtoW2k+PjNdPzEuMDotMS4wO2JyZWFrfX13aGlsZSgw
KTtyZXR1cm4gZD4wLjB8MH1mdW5jdGlvbiBfRyhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7cmV0
dXJuIGNbYisoKGNbKChkfDApPT0xP2IrKGEqNTZ8MCkrNDh8MDpiKyhhKjU2fDApKzQ0fDApPj4y
XXwwKSo1NnwwKSszMj4+Ml18MH1mdW5jdGlvbiAkRyhhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTA7
ZT1sO2w9bCsxNnwwO2Q9ZTtiPWNbNDI0MzhdfDA7aWYoKGJ8MCk8KGNbNDI0MzddfDApKXtjW2Er
KGIqNzJ8MCk+PjJdPS0xO2NbYSsoYio3MnwwKSs0Pj4yXT0tMTtjW2ErKGIqNzJ8MCkrNjg+PjJd
PTE7Y1s0MjQzOF09YisxO2w9ZTtyZXR1cm4gYnwwfWVsc2V7ZT1jWzEzOTE4XXwwO2NbZD4+Ml09
Yjt6TChlLDEyMzI5NCxkKXwwO21hKDEyMzIwNSwxMjMyMDcsODgsMTIzMzMyKX1yZXR1cm4gMH1m
dW5jdGlvbiBhSCgpe3ZhciBhPTA7YT1jWzQyNDM5XXwwO2lmKChhfDApPChjWzQyNDM2XXwwKSl7
Y1s0MjQzOV09YSsxO3JldHVybiBhfDB9ZWxzZXtYTCgxMjMyNTUsMzAsMSxjWzEzOTE4XXwwKXww
O21hKDEyMzIwNSwxMjMyMDcsNzIsMTIzMjg2KX1yZXR1cm4gMH1mdW5jdGlvbiBiSChhLGIpe2E9
YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAuMDtjPStoW2ErOD4+M107ZD0raFtiKzg+PjNdO2lmKCEo
Yz5kKzEuMGUtMDcpKWlmKGM8ZCstMS4wZS0wNylhPTA7ZWxzZSBhPStoW2E+PjNdPj0raFtiPj4z
XSYxO2Vsc2UgYT0xO3JldHVybiBhfDB9ZnVuY3Rpb24gY0goYSxiKXthPWF8MDtiPWJ8MDt2YXIg
Yz0wLjAsZD0wLjA7Yz0raFthKzg+PjNdO2Q9K2hbYis4Pj4zXTtpZighKGM8ZCstMS4wZS0wNykp
aWYoYz5kKzEuMGUtMDcpYT0wO2Vsc2UgYT0raFthPj4zXTwraFtiPj4zXSYxO2Vsc2UgYT0xO3Jl
dHVybiBhfDB9ZnVuY3Rpb24gZEgoYSxiLGQsZSxmLGcpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXww
O2Y9ZnwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAs
cj0wO3E9ZisoZCo3MnwwKSsyNHwwO3A9KGV8MCk9PTE7YTp3aGlsZSgxKXtvPWYrKGIqNzJ8MCkr
MjR8MDtqPWYrKGIqNzJ8MCkrNDh8MDtrPWYrKGIqNzJ8MCkrNTJ8MDtsPWYrKGIqNzJ8MCl8MDtt
PWYrKGIqNzJ8MCkrNHwwO249ZisoYio3MnwwKSs1NnwwO2lmKChifDApPD0wKWJyZWFrO3doaWxl
KDEpe2lmKCEoYkgobyxxKXwwKSlicmVhayBhO2Q9Y1tqPj4yXXwwO2U9KGR8MCk+MDtkbyBpZihw
KXtpZihlPyhjW2YrKGQqNzJ8MCkrND4+Ml18MCk9PShhfDApOjApYnJlYWs7ZD1jW2s+PjJdfDA7
aWYoKGR8MCk8PTApe2I9ZDtjb250aW51ZSBhfWlmKChjW2YrKGQqNzJ8MCkrND4+Ml18MCkhPShh
fDApKXtiPWQ7Y29udGludWUgYX19ZWxzZXtpZihlPyhjW2YrKGQqNzJ8MCk+PjJdfDApPT0oYXww
KTowKWJyZWFrO2Q9Y1trPj4yXXwwO2lmKChkfDApPD0wKXtiPWQ7Y29udGludWUgYX1pZigoY1tm
KyhkKjcyfDApPj4yXXwwKSE9KGF8MCkpe2I9ZDtjb250aW51ZSBhfX13aGlsZSgwKTtpZigoY1ts
Pj4yXXwwKSE9KGNbZisoZCo3MnwwKT4+Ml18MCkpe2I9ZDtjb250aW51ZSBhfWlmKChjW20+PjJd
fDApIT0oY1tmKyhkKjcyfDApKzQ+PjJdfDApKXtiPWQ7Y29udGludWUgYX1yPWNbZisoZCo3Mnww
KSs1Nj4+Ml18MDtlPWNbZysocio0MHwwKSsyOD4+Ml18MDtoPWcrKGUqNDB8MCkrMzJ8MDtpPWNb
bj4+Ml18MDtpZigoY1toPj4yXXwwKT09KHJ8MCkpY1toPj4yXT1pO2Vsc2UgY1tnKyhlKjQwfDAp
KzM2Pj4yXT1pO2U9Y1tmKyhkKjcyfDApKzQ4Pj4yXXwwO2Nbaj4+Ml09ZTtkbyBpZigoZXwwKT4w
KXtoPWYrKGUqNzJ8MCkrNDB8MDtpZigoY1toPj4yXXwwKT09KGR8MCkpe2NbaD4+Ml09YjticmVh
a31lPWYrKGUqNzJ8MCkrNDR8MDtpZigoY1tlPj4yXXwwKT09KGR8MCkpY1tlPj4yXT1ifXdoaWxl
KDApO2U9Y1tmKyhkKjcyfDApKzUyPj4yXXwwO2Nbaz4+Ml09ZTtkbyBpZigoZXwwKT4wKXtoPWYr
KGUqNzJ8MCkrNDB8MDtpZigoY1toPj4yXXwwKT09KGR8MCkpe2NbaD4+Ml09YjticmVha31lPWYr
KGUqNzJ8MCkrNDR8MDtpZigoY1tlPj4yXXwwKT09KGR8MCkpY1tlPj4yXT1ifXdoaWxlKDApO3I9
ZisoZCo3MnwwKSsyNHwwO2Nbbz4+Ml09Y1tyPj4yXTtjW28rND4+Ml09Y1tyKzQ+PjJdO2Nbbys4
Pj4yXT1jW3IrOD4+Ml07Y1tvKzEyPj4yXT1jW3IrMTI+PjJdO2NbZisoZCo3MnwwKSs2OD4+Ml09
Mn19cmV0dXJufWZ1bmN0aW9uIGVIKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLjAs
Zj0wLjA7ZT0raFtiKzg+PjNdO2Y9K2hbZCs4Pj4zXTtkbyBpZighKGU+ZisxLjBlLTA3KSl7aWYo
ISgrQigrKGUtZikpPD0xLjBlLTA3KSl7Y1thPj4yXT1jW2Q+PjJdO2NbYSs0Pj4yXT1jW2QrND4+
Ml07Y1thKzg+PjJdPWNbZCs4Pj4yXTtjW2ErMTI+PjJdPWNbZCsxMj4+Ml07YnJlYWt9aWYoK2hb
Yj4+M10+K2hbZD4+M10rMS4wZS0wNyl7Y1thPj4yXT1jW2I+PjJdO2NbYSs0Pj4yXT1jW2IrND4+
Ml07Y1thKzg+PjJdPWNbYis4Pj4yXTtjW2ErMTI+PjJdPWNbYisxMj4+Ml07YnJlYWt9ZWxzZXtj
W2E+PjJdPWNbZD4+Ml07Y1thKzQ+PjJdPWNbZCs0Pj4yXTtjW2ErOD4+Ml09Y1tkKzg+PjJdO2Nb
YSsxMj4+Ml09Y1tkKzEyPj4yXTticmVha319ZWxzZXtjW2E+PjJdPWNbYj4+Ml07Y1thKzQ+PjJd
PWNbYis0Pj4yXTtjW2ErOD4+Ml09Y1tiKzg+PjJdO2NbYSsxMj4+Ml09Y1tiKzEyPj4yXX13aGls
ZSgwKTtyZXR1cm59ZnVuY3Rpb24gZkgoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAu
MCxmPTAuMDtlPStoW2IrOD4+M107Zj0raFtkKzg+PjNdO2RvIGlmKCEoZTxmKy0xLjBlLTA3KSl7
aWYoISgrQigrKGUtZikpPD0xLjBlLTA3KSl7Y1thPj4yXT1jW2Q+PjJdO2NbYSs0Pj4yXT1jW2Qr
ND4+Ml07Y1thKzg+PjJdPWNbZCs4Pj4yXTtjW2ErMTI+PjJdPWNbZCsxMj4+Ml07YnJlYWt9aWYo
K2hbYj4+M108K2hbZD4+M10pe2NbYT4+Ml09Y1tiPj4yXTtjW2ErND4+Ml09Y1tiKzQ+PjJdO2Nb
YSs4Pj4yXT1jW2IrOD4+Ml07Y1thKzEyPj4yXT1jW2IrMTI+PjJdO2JyZWFrfWVsc2V7Y1thPj4y
XT1jW2Q+PjJdO2NbYSs0Pj4yXT1jW2QrND4+Ml07Y1thKzg+PjJdPWNbZCs4Pj4yXTtjW2ErMTI+
PjJdPWNbZCsxMj4+Ml07YnJlYWt9fWVsc2V7Y1thPj4yXT1jW2I+PjJdO2NbYSs0Pj4yXT1jW2Ir
ND4+Ml07Y1thKzg+PjJdPWNbYis4Pj4yXTtjW2ErMTI+PjJdPWNbYisxMj4+Ml19d2hpbGUoMCk7
cmV0dXJufWZ1bmN0aW9uIGdIKGEpe2E9YXwwO3ZhciBiPTA7Yj12dyg4KXwwO2lmKGJ8MCl7Y1ti
KzQ+PjJdPWE7Y1tiPj4yXT0wfXJldHVybiBifDB9ZnVuY3Rpb24gaEgoYSxiKXthPWF8MDtiPWJ8
MDtpZihiKXtiPWdIKGIpfDA7Y1tiPj4yXT1hO2E9Yn1yZXR1cm4gYXwwfWZ1bmN0aW9uIGlIKGEp
e2E9YXwwO3ZhciBiPTA7ZG97Yj1hO2E9Y1thPj4yXXwwO19JKGIpfXdoaWxlKChhfDApIT0wKTty
ZXR1cm59ZnVuY3Rpb24gakgoKXt2YXIgYT0wO2E9dncoMTk5Mil8MDtpZihhfDApY1thPj4yXT1r
SChhKXwwO3JldHVybiBhfDB9ZnVuY3Rpb24ga0goYSl7YT1hfDA7dmFyIGI9MDtiPXFIKGEpfDA7
Y1tiKzQ+PjJdPTA7YT1hKzE5NzJ8MDtjW2E+PjJdPShjW2E+PjJdfDApKzE7cmV0dXJuIGJ8MH1m
dW5jdGlvbiBsSChhKXthPWF8MDttSChhLGNbYT4+Ml18MCk7X0koY1thPj4yXXwwKTtfSShhKTty
ZXR1cm4gMH1mdW5jdGlvbiBtSChhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAs
aD0wLGk9MDtnPWErMTk4MHwwO2g9YSsxOTEyfDA7aT1hKzE5MzZ8MDthOmRvIGlmKChjW2IrND4+
Ml18MCk+MCl7ZD0wO3doaWxlKDEpe2lmKChkfDApPT02NClicmVhayBhO2U9Yis4KyhkKjIwfDAp
KzE2fDA7Zj1jW2U+PjJdfDA7aWYoZnwwPyhtSChhLGYpLF9JKGNbZT4+Ml18MCksd0goYixkKSxj
W2c+PjJdPShjW2c+PjJdfDApKy0xLGNbaD4+Ml18MCk6MCljW2k+PjJdPShjW2k+PjJdfDApKzE7
ZD1kKzF8MH19ZWxzZXtkPTA7d2hpbGUoMSl7aWYoKGR8MCk9PTY0KWJyZWFrIGE7aWYoY1tiKzgr
KGQqMjB8MCkrMTY+PjJdfDA/KHdIKGIsZCksY1tnPj4yXT0oY1tnPj4yXXwwKSstMSxjW2g+PjJd
fDApOjApY1tpPj4yXT0oY1tpPj4yXXwwKSsxO2Q9ZCsxfDB9fXdoaWxlKDApO3JldHVybn1mdW5j
dGlvbiBuSChhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTA7
aWYoIWIpbWEoMTIzNjkwLDEyMzM0MCwxOTQsMTIzMzQ4KTtlPWNbYis0Pj4yXXwwO2lmKChlfDAp
PD0tMSltYSgxMjMzNjAsMTIzMzQwLDE5NSwxMjMzNDgpO2lmKCFkKW1hKDEyMzYzMiwxMjMzNDAs
MTk2LDEyMzM0OCk7aT1hKzE5NTJ8MDtjW2k+PjJdPShjW2k+PjJdfDApKzE7YTpkbyBpZigoZXww
KT4wKXtpPTA7ZT0wO3doaWxlKDEpe2lmKChpfDApPT02NClicmVhayBhO2Y9Yis4KyhpKjIwfDAp
KzE2fDA7aWYoKGNbZj4+Ml18MCkhPTA/KEJIKGQsYis4KyhpKjIwfDApfDApfDApIT0wOjApe2c9
bkgoYSxjW2Y+PjJdfDAsZCl8MDtpZighZSllPWc7ZWxzZXtmPWU7d2hpbGUoMSl7aD1jW2Y+PjJd
fDA7aWYoIWgpYnJlYWs7ZWxzZSBmPWh9Y1tmPj4yXT1nfX1pPWkrMXwwfX1lbHNle2c9MDtlPTA7
d2hpbGUoMSl7aWYoKGd8MCk9PTY0KWJyZWFrIGE7Zj1iKzgrKGcqMjB8MCl8MDtpZigoY1tiKzgr
KGcqMjB8MCkrMTY+PjJdfDApIT0wPyhCSChkLGYpfDApIT0wOjApZT1oSChlLGYpfDA7Zz1nKzF8
MH19d2hpbGUoMCk7cmV0dXJuIGV8MH1mdW5jdGlvbiBvSChhLGIsZCxlLGYpe2E9YXwwO2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9
MCxxPTA7cD1sO2w9bCs2NHwwO2s9cCs1MnwwO209cCszMnwwO249cCsxNnwwO289cDtjW2s+PjJd
PTA7aWYoISgoYnwwKSE9MCYoZXwwKSE9MCkpbWEoMTIzNTQ2LDEyMzM0MCwyNDcsMTIzMzc0KTtp
ZigoZnwwKT4tMT8oaj1jW2U+PjJdfDAsKGNbais0Pj4yXXwwKT49KGZ8MCkpOjApe2c9MDt3aGls
ZSgxKXtpZigoZ3wwKT49MilicmVhaztpZigoY1tiKyhnPDwyKT4+Ml18MCk+KGNbYisoZysyPDwy
KT4+Ml18MCkpe2g9ODticmVha31lbHNlIGc9ZysxfDB9aWYoKGh8MCk9PTgpbWEoMTIzNDIxLDEy
MzM0MCwyNTAsMTIzMzc0KTtpPWErMTkxMnwwO2c9YSsxOTA4fDA7aD1jW2c+PjJdfDA7aWYoY1tp
Pj4yXXwwKXtxPWh8MD9hKzE5MjR8MDphKzE5MTZ8MDtjW3E+PjJdPShjW3E+PjJdfDApKzF9aWYo
IWgpe3E9YSsxOTY0fDA7Y1txPj4yXT0oY1txPj4yXXwwKSsxfWlmKCEocEgoYSxiLGQsaixrLGYp
fDApKWc9MDtlbHNle2lmKGNbaT4+Ml18MCl7cT1jW2c+PjJdfDA/YSsxOTQ4fDA6YSsxOTQ0fDA7
Y1txPj4yXT0oY1txPj4yXXwwKSsxfWc9cUgoYSl8MDtxPWErMTk3NnwwO2NbcT4+Ml09KGNbcT4+
Ml18MCkrMTtxPWNbZT4+Ml18MDtjW2crND4+Ml09KGNbcSs0Pj4yXXwwKSsxO3RIKG4scSk7Y1tt
Pj4yXT1jW24+PjJdO2NbbSs0Pj4yXT1jW24rND4+Ml07Y1ttKzg+PjJdPWNbbis4Pj4yXTtjW20r
MTI+PjJdPWNbbisxMj4+Ml07cT1tKzE2fDA7Y1txPj4yXT1jW2U+PjJdO3ZIKGEsbSxnLDApfDA7
dEgobyxjW2s+PjJdfDApO2NbbT4+Ml09Y1tvPj4yXTtjW20rND4+Ml09Y1tvKzQ+PjJdO2NbbSs4
Pj4yXT1jW28rOD4+Ml07Y1ttKzEyPj4yXT1jW28rMTI+PjJdO2NbcT4+Ml09Y1trPj4yXTt2SChh
LG0sZywwKXwwO2NbZT4+Ml09ZztnPWErMTk4MHwwO2NbZz4+Ml09KGNbZz4+Ml18MCkrMjtnPTF9
bD1wO3JldHVybiBnfDB9bWEoMTIzMzg2LDEyMzM0MCwyNDgsMTIzMzc0KTtyZXR1cm4gMH1mdW5j
dGlvbiBwSChhLGIsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7
dmFyIGg9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wO3E9bDtsPWwrODB8MDttPXEr
NTJ8MDtuPXErNDh8MDtvPXErMzJ8MDtwPXErMTZ8MDtrPXE7Y1tuPj4yXT0wO2lmKCEoKGJ8MCkh
PTAmKGV8MCkhPTAmKGZ8MCkhPTApKW1hKDEyMzQ2NCwxMjMzNDAsMzExLDEyMzQ3OCk7aWYoKGd8
MCk+LTE/KGk9ZSs0fDAsaD1jW2k+PjJdfDAsKGh8MCk+PShnfDApKTowKXtpZihjW2ErMTkxMj4+
Ml18MCl7aD1jW2ErMTkwOD4+Ml18MD9hKzE5NDh8MDphKzE5NDR8MDtjW2g+PjJdPShjW2g+PjJd
fDApKzE7aD1jW2k+PjJdfDB9ZG8gaWYoKGh8MCk+KGd8MCkpe2k9dUgoYixlKXwwO2g9ZSs4Kyhp
KjIwfDApKzE2fDA7aT1lKzgrKGkqMjB8MCl8MDtpZighKHBIKGEsYixkLGNbaD4+Ml18MCxuLGcp
fDApKXtBSChvLGIsaSk7Y1tpPj4yXT1jW28+PjJdO2NbaSs0Pj4yXT1jW28rND4+Ml07Y1tpKzg+
PjJdPWNbbys4Pj4yXTtjW2krMTI+PjJdPWNbbysxMj4+Ml07aj0wO2JyZWFrfWVsc2V7dEgocCxj
W2g+PjJdfDApO2NbaT4+Ml09Y1twPj4yXTtjW2krND4+Ml09Y1twKzQ+PjJdO2NbaSs4Pj4yXT1j
W3ArOD4+Ml07Y1tpKzEyPj4yXT1jW3ArMTI+PjJdO2o9Y1tuPj4yXXwwO2NbbSsxNj4+Ml09ajt0
SChrLGopO2NbbT4+Ml09Y1trPj4yXTtjW20rND4+Ml09Y1trKzQ+PjJdO2NbbSs4Pj4yXT1jW2sr
OD4+Ml07Y1ttKzEyPj4yXT1jW2srMTI+PjJdO2o9YSsxOTgwfDA7Y1tqPj4yXT0oY1tqPj4yXXww
KSsxO2o9dkgoYSxtLGUsZil8MDticmVha319ZWxzZSBpZigoaHwwKT09KGd8MCkpe2NbbT4+Ml09
Y1tiPj4yXTtjW20rND4+Ml09Y1tiKzQ+PjJdO2NbbSs4Pj4yXT1jW2IrOD4+Ml07Y1ttKzEyPj4y
XT1jW2IrMTI+PjJdO2NbbSsxNj4+Ml09ZDtqPWErMTk4MHwwO2Nbaj4+Ml09KGNbaj4+Ml18MCkr
MTtqPXZIKGEsbSxlLGYpfDA7YnJlYWt9ZWxzZSBtYSgxMjM1MjMsMTIzMzQwLDM0MSwxMjM0Nzgp
O3doaWxlKDApO2w9cTtyZXR1cm4ganwwfW1hKDEyMzQ5MSwxMjMzNDAsMzEyLDEyMzQ3OCk7cmV0
dXJuIDB9ZnVuY3Rpb24gcUgoYSl7YT1hfDA7YT1hKzE5Njh8MDtjW2E+PjJdPShjW2E+PjJdfDAp
KzE7YT1aSSgxMjg4KXwwO3JIKGEpO3JldHVybiBhfDB9ZnVuY3Rpb24gckgoYSl7YT1hfDA7dmFy
IGI9MDtjW2E+PjJdPTA7Y1thKzQ+PjJdPS0xO2I9MDt3aGlsZSgxKXtpZigoYnwwKT09NjQpYnJl
YWs7c0goYSs4KyhiKjIwfDApfDApO2I9YisxfDB9cmV0dXJufWZ1bmN0aW9uIHNIKGEpe2E9YXww
O3hIKGEpO2NbYSsxNj4+Ml09MDtyZXR1cm59ZnVuY3Rpb24gdEgoYSxiKXthPWF8MDtiPWJ8MDt2
YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTA7aT1sO2w9bCszMnwwO2c9aSsxNnwwO2g9aTtpZigh
YiltYSgxMjM2OTAsMTIzNTI5LDk5LDEyMzUzNik7eEgoZyk7ZD0xO2Y9MDt3aGlsZSgxKXtpZigo
ZnwwKT09NjQpYnJlYWs7ZG8gaWYoY1tiKzgrKGYqMjB8MCkrMTY+PjJdfDApe2U9Yis4KyhmKjIw
fDApfDA7aWYoIWQpe0FIKGgsZyxlKTtjW2c+PjJdPWNbaD4+Ml07Y1tnKzQ+PjJdPWNbaCs0Pj4y
XTtjW2crOD4+Ml09Y1toKzg+PjJdO2NbZysxMj4+Ml09Y1toKzEyPj4yXTtkPTA7YnJlYWt9ZWxz
ZXtjW2c+PjJdPWNbZT4+Ml07Y1tnKzQ+PjJdPWNbZSs0Pj4yXTtjW2crOD4+Ml09Y1tlKzg+PjJd
O2NbZysxMj4+Ml09Y1tlKzEyPj4yXTtkPTA7YnJlYWt9fXdoaWxlKDApO2Y9ZisxfDB9Y1thPj4y
XT1jW2c+PjJdO2NbYSs0Pj4yXT1jW2crND4+Ml07Y1thKzg+PjJdPWNbZys4Pj4yXTtjW2ErMTI+
PjJdPWNbZysxMj4+Ml07bD1pO3JldHVybn1mdW5jdGlvbiB1SChhLGIpe2E9YXwwO2I9YnwwO3Zh
ciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MDtrPWw7bD1s
KzMyfDA7aT1rKzE2fDA7aj1rO2lmKCEoKGF8MCkhPTAmKGJ8MCkhPTApKW1hKDEyMzU0NiwxMjM1
MjksMTI1LDEyMzU1Myk7ZD0wO2U9MDtmPTA7Zz0xO2g9MDt3aGlsZSgxKXtpZigoaHwwKT09NjQp
YnJlYWs7aWYoY1tiKzgrKGgqMjB8MCkrMTY+PjJdfDApe249Yis4KyhoKjIwfDApfDA7cD16SChu
KXwwO0FIKGosYSxuKTtjW2k+PjJdPWNbaj4+Ml07Y1tpKzQ+PjJdPWNbais0Pj4yXTtjW2krOD4+
Ml09Y1tqKzg+PjJdO2NbaSsxMj4+Ml09Y1tqKzEyPj4yXTtuPSh6SChpKXwwKS1wfDA7bT0oZ3ww
KSE9MHwobnwwKTwoZnwwKTtvPW18KHB8MCk8KGV8MCkmKG58MCk9PShmfDApO2Q9bz9oOmQ7ZT1v
P3A6ZTtmPW8/bjpmO2c9bT8wOmd9aD1oKzF8MH1sPWs7cmV0dXJuIGR8MH1mdW5jdGlvbiB2SChh
LGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTA7aWYoIWIpbWEo
MTIzNzEyLDEyMzUyOSwxNjcsMTIzNTY0KTtpZighZCltYSgxMjM2OTAsMTIzNTI5LDE2OCwxMjM1
NjQpO2RvIGlmKChjW2Q+PjJdfDApPDY0KXthPTA7d2hpbGUoMSl7aWYoKGF8MCk+PTY0KXtlPTEw
O2JyZWFrfWlmKCEoY1tkKzgrKGEqMjB8MCkrMTY+PjJdfDApKXtlPTg7YnJlYWt9YT1hKzF8MH1p
ZigoZXwwKT09OCl7Zj1kKzgrKGEqMjB8MCl8MDtjW2Y+PjJdPWNbYj4+Ml07Y1tmKzQ+PjJdPWNb
Yis0Pj4yXTtjW2YrOD4+Ml09Y1tiKzg+PjJdO2NbZisxMj4+Ml09Y1tiKzEyPj4yXTtjW2YrMTY+
PjJdPWNbYisxNj4+Ml07Zj0wO2c9ZDticmVha31lbHNlIGlmKChlfDApPT0xMCltYSgxMjM1NzQs
MTIzNTI5LDE3OCwxMjM1NjQpfWVsc2V7aWYoY1thKzE5MTI+PjJdfDApe2g9Y1thKzE5MDg+PjJd
fDA/YSsxOTQ4fDA6YSsxOTQ0fDA7Y1toPj4yXT0oY1toPj4yXXwwKSsxfWlmKCFlKW1hKDEyMzU4
NywxMjM1MjksMTg3LDEyMzU2NCk7ZWxzZXtDSChhLGQsYixlKTtmPTE7Zz0oY1tkKzQ+PjJdfDAp
PT0wP2ErMTk3MnwwOmErMTk3NnwwO2JyZWFrfX13aGlsZSgwKTtjW2c+PjJdPShjW2c+PjJdfDAp
KzE7cmV0dXJuIGZ8MH1mdW5jdGlvbiB3SChhLGIpe2E9YXwwO2I9YnwwO2lmKCEoKGF8MCkhPTAm
Yj4+PjA8NjQpKW1hKDEyMzU5MSwxMjM1MjksMjAxLDEyMzYxOSk7aWYoIShjW2ErOCsoYioyMHww
KSsxNj4+Ml18MCkpbWEoMTI0MTEzLDEyMzUyOSwyMDIsMTIzNjE5KTtlbHNle3NIKGErOCsoYioy
MHwwKXwwKTtjW2E+PjJdPShjW2E+PjJdfDApKy0xO3JldHVybn19ZnVuY3Rpb24geEgoYSl7YT1h
fDA7dmFyIGI9MDtiPTA7d2hpbGUoMSl7aWYoKGJ8MCk9PTQpYnJlYWs7Y1thKyhiPDwyKT4+Ml09
MDtiPWIrMXwwfXJldHVybn1mdW5jdGlvbiB5SChhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTA7ZT1s
O2w9bCsxNnwwO2Q9ZTtjW2Q+PjJdPTE7Y1tkKzg+PjJdPS0xO2I9MTt3aGlsZSgxKXtpZigoYnww
KT09MilicmVhaztjW2QrKGIrMjw8Mik+PjJdPTA7Y1tkKyhiPDwyKT4+Ml09MDtiPWIrMXwwfWNb
YT4+Ml09Y1tkPj4yXTtjW2ErND4+Ml09Y1tkKzQ+PjJdO2NbYSs4Pj4yXT1jW2QrOD4+Ml07Y1th
KzEyPj4yXT1jW2QrMTI+PjJdO2w9ZTtyZXR1cm59ZnVuY3Rpb24gekgoYSl7YT1hfDA7dmFyIGI9
MCxkPTAsZT0wO2lmKCFhKW1hKDEyMzYzMiwxMjM2MzQsMTI4LDEyMzY0Nik7YTpkbyBpZigoY1th
Pj4yXXwwKT4oY1thKzg+PjJdfDApKWI9MDtlbHNle2I9MTtkPTA7d2hpbGUoMSl7aWYoKGR8MCk9
PTIpYnJlYWsgYTtlPU8oY1thKyhkKzI8PDIpPj4yXXwwLGIpfDA7Yj1lLShjW2ErKGQ8PDIpPj4y
XXwwKXwwO2Q9ZCsxfDB9fXdoaWxlKDApO3JldHVybiBifDB9ZnVuY3Rpb24gQUgoYSxiLGQpe2E9
YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MDtnPWw7bD1sKzE2fDA7
Zj1nO2lmKCEoKGJ8MCkhPTAmKGR8MCkhPTApKW1hKDEyMzY1NSwxMjM2MzQsMTk1LDEyMzY2Myk7
ZG8gaWYoKGNbYj4+Ml18MCk+KGNbYis4Pj4yXXwwKSl7Y1thPj4yXT1jW2Q+PjJdO2NbYSs0Pj4y
XT1jW2QrND4+Ml07Y1thKzg+PjJdPWNbZCs4Pj4yXTtjW2ErMTI+PjJdPWNbZCsxMj4+Ml19ZWxz
ZXtpZigoY1tkPj4yXXwwKT4oY1tkKzg+PjJdfDApKXtjW2E+PjJdPWNbYj4+Ml07Y1thKzQ+PjJd
PWNbYis0Pj4yXTtjW2ErOD4+Ml09Y1tiKzg+PjJdO2NbYSsxMj4+Ml09Y1tiKzEyPj4yXTticmVh
a31lbHNlIGU9MDt3aGlsZSgxKXtpZigoZXwwKT09MilicmVhaztqPWNbYisoZTw8Mik+PjJdfDA7
aD1jW2QrKGU8PDIpPj4yXXwwO2NbZisoZTw8Mik+PjJdPShqfDApPChofDApP2o6aDtoPWUrMnww
O2o9Y1tiKyhoPDwyKT4+Ml18MDtpPWNbZCsoaDw8Mik+PjJdfDA7Y1tmKyhoPDwyKT4+Ml09KGp8
MCk+KGl8MCk/ajppO2U9ZSsxfDB9Y1thPj4yXT1jW2Y+PjJdO2NbYSs0Pj4yXT1jW2YrND4+Ml07
Y1thKzg+PjJdPWNbZis4Pj4yXTtjW2ErMTI+PjJdPWNbZisxMj4+Ml19d2hpbGUoMCk7bD1nO3Jl
dHVybn1mdW5jdGlvbiBCSChhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wO2lmKChhfDApIT0w
JihifDApIT0wKWQ9MDtlbHNlIG1hKDEyMzY3NSwxMjM2MzQsMjE2LDEyMzY4Mik7d2hpbGUoMSl7
aWYoKGR8MCk+PTIpe2Q9MTticmVha31lPWQrMnwwO2lmKChjW2ErKGQ8PDIpPj4yXXwwKT4oY1ti
KyhlPDwyKT4+Ml18MCkpe2Q9MDticmVha31pZigoY1tiKyhkPDwyKT4+Ml18MCk+KGNbYSsoZTw8
Mik+PjJdfDApKXtkPTA7YnJlYWt9ZWxzZSBkPWQrMXwwfXJldHVybiBkfDB9ZnVuY3Rpb24gQ0go
YSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxoPTAsaT0wLGo9MDtpZigh
YiltYSgxMjM2OTAsMTIzNjkyLDQwLDEyMzcwMik7aWYoIWQpbWEoMTIzNzEyLDEyMzY5Miw0MSwx
MjM3MDIpO2o9YSsxOTEyfDA7aWYoY1tqPj4yXXwwKXtpPWNbYSsxOTA4Pj4yXXwwP2ErMTkzMnww
OmErMTkyOHwwO2NbaT4+Ml09KGNbaT4+Ml18MCkrMX1oPWIrNHwwO2k9Y1toPj4yXXwwO0RIKGEs
YixkKTtkPWErMTMyNHwwO0VIKGEpO2Y9ekgoYSsxODUyfDApfDA7Zj0oekgoYSsxODY4fDApfDAp
K2Z8MDtpZihjW2o+PjJdfDA/KGZ8MCkhPTAmKGNbYSsxOTA4Pj4yXXwwKT09MDowKXtqPWErMTk2
MHwwO2dbaj4+Ml09KygoY1thKzEzMjA+PjJdfDApPj4+MCkvKyhmfDApKyArZ1tqPj4yXX1qPXFI
KGEpfDA7Y1tlPj4yXT1qO2NbaD4+Ml09aTtjW2orND4+Ml09aTtGSChhLGIsaixkKTtpZigoKGNb
Y1tlPj4yXT4+Ml18MCkrKGNbYj4+Ml18MCl8MCk9PTY1KXJldHVybjtlbHNlIG1hKDEyMzcxNCwx
MjM2OTIsODYsMTIzNzAyKX1mdW5jdGlvbiBESChhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFy
IGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wO2g9bDtsPWwrMTZ8MDtnPWg7aWYoIWIpbWEoMTIzNjkw
LDEyMzY5MiwxMDYsMTI0MTAxKTtpZighZCltYSgxMjM3MTIsMTIzNjkyLDEwNywxMjQxMDEpO2Vs
c2UgZT0wO3doaWxlKDEpe2lmKChlfDApPj02NClicmVhaztpZighKGNbYis4KyhlKjIwfDApKzE2
Pj4yXXwwKSl7Zj03O2JyZWFrfWo9Yis4KyhlKjIwfDApfDA7aT1hKzQrKGUqMjB8MCl8MDtjW2k+
PjJdPWNbaj4+Ml07Y1tpKzQ+PjJdPWNbais0Pj4yXTtjW2krOD4+Ml09Y1tqKzg+PjJdO2NbaSsx
Mj4+Ml09Y1tqKzEyPj4yXTtjW2krMTY+PjJdPWNbaisxNj4+Ml07ZT1lKzF8MH1pZigoZnwwKT09
NyltYSgxMjQxMTMsMTIzNjkyLDExMSwxMjQxMDEpO2U9YSs0fDA7aj1hKzEyODR8MDtjW2o+PjJd
PWNbZD4+Ml07Y1tqKzQ+PjJdPWNbZCs0Pj4yXTtjW2orOD4+Ml09Y1tkKzg+PjJdO2NbaisxMj4+
Ml09Y1tkKzEyPj4yXTtjW2orMTY+PjJdPWNbZCsxNj4+Ml07ZD1hKzEzMDR8MDtjW2Q+PjJdPWNb
ZT4+Ml07Y1tkKzQ+PjJdPWNbZSs0Pj4yXTtjW2QrOD4+Ml09Y1tlKzg+PjJdO2NbZCsxMj4+Ml09
Y1tlKzEyPj4yXTtlPTE7d2hpbGUoMSl7aWYoKGV8MCk9PTY1KWJyZWFrO0FIKGcsZCxhKzQrKGUq
MjB8MCl8MCk7Y1tkPj4yXT1jW2c+PjJdO2NbZCs0Pj4yXT1jW2crND4+Ml07Y1tkKzg+PjJdPWNb
Zys4Pj4yXTtjW2QrMTI+PjJdPWNbZysxMj4+Ml07ZT1lKzF8MH1jW2ErMTMyMD4+Ml09ekgoZCl8
MDtySChiKTtsPWg7cmV0dXJufWZ1bmN0aW9uIEVIKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxm
PTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9
MCx2PTA7dT1sO2w9bCs0OHwwO2k9dSszMnwwO2s9dSsxNnwwO209dTtHSChhKTtISChhKTtxPWEr
MTg0NHwwO3M9YSsxODQ4fDA7dD1hKzE4OTJ8MDtuPWErMTg1MnwwO289YSsxODg0fDA7cD1hKzE4
Njh8MDtqPWErMTg4OHwwO2Y9MDtlPTA7d2hpbGUoMSl7ZD1jW3E+PjJdfDA7Yj1jW3M+PjJdfDA7
aWYoKGIrZHwwKT49NjUpYnJlYWs7aD02NS0oY1t0Pj4yXXwwKXwwO2lmKChkfDApPChofDApJihi
fDApPChofDApKXtnPS0xO2g9MH1lbHNle3I9MTI7YnJlYWt9d2hpbGUoMSl7aWYoKGh8MCk9PTY1
KWJyZWFrO2lmKCEoY1thKzE1ODQrKGg8PDIpPj4yXXwwKSl7dj1hKzQrKGgqMjB8MCl8MDtBSChr
LHYsbik7Y1tpPj4yXT1jW2s+PjJdO2NbaSs0Pj4yXT1jW2srND4+Ml07Y1tpKzg+PjJdPWNbays4
Pj4yXTtjW2krMTI+PjJdPWNbaysxMj4+Ml07Yj16SChpKXwwO2Q9Y1tvPj4yXXwwO0FIKG0sdixw
KTtjW2k+PjJdPWNbbT4+Ml07Y1tpKzQ+PjJdPWNbbSs0Pj4yXTtjW2krOD4+Ml09Y1ttKzg+PjJd
O2NbaSsxMj4+Ml09Y1ttKzEyPj4yXTt2PXpIKGkpfDA7Yj12LShjW2o+PjJdfDApKyhkLWIpfDA7
ZD0oYnwwKT4tMTtiPWQ/YjowLWJ8MDtkPShkXjEpJjE7aWYoKGJ8MCk8PShnfDApKWlmKChifDAp
PT0oZ3wwKSl7dj0oY1thKzE4NDQrKGQ8PDIpPj4yXXwwKTwoY1thKzE4NDQrKGY8PDIpPj4yXXww
KTtiPWc7ZD12P2Q6ZjtlPXY/aDplfWVsc2V7Yj1nO2Q9Zn1lbHNlIGU9aH1lbHNle2I9ZztkPWZ9
Zz1iO2g9aCsxfDA7Zj1kfUlIKGEsZSxmKX1pZigocnwwKT09MTIpe2I9KGR8MCk+PSg2NS0oY1t0
Pj4yXXwwKXwwKSYxO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT09NjUpYnJlYWs7aWYoIShjW2ErMTU4
NCsoZDw8Mik+PjJdfDApKUlIKGEsZCxiKTtkPWQrMXwwfWQ9Y1txPj4yXXwwO2I9Y1tzPj4yXXww
fWlmKChiK2R8MCkhPTY1KW1hKDEyMzg1NywxMjM2OTIsMjEwLDEyMzk0Myk7dj1jW3Q+PjJdfDA7
aWYoKGR8MCk8KHZ8MCl8KGJ8MCk8KHZ8MCkpbWEoMTIzOTU0LDEyMzY5MiwyMTIsMTIzOTQzKTtl
bHNle2w9dTtyZXR1cm59fWZ1bmN0aW9uIEZIKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9
ZXwwO3ZhciBmPTA7aWYoIWIpbWEoMTIzNjkwLDEyMzY5MiwyOTcsMTIzNzU0KTtpZighZCltYSgx
MjM3NjQsMTIzNjkyLDI5OCwxMjM3NTQpO2lmKCFlKW1hKDEyMzc2NiwxMjM2OTIsMjk5LDEyMzc1
NCk7ZWxzZSBmPTA7d2hpbGUoMSl7aWYoKGZ8MCk+PTY1KXtlPTE0O2JyZWFrfWU9Y1thKzEzMjQr
KGY8PDIpPj4yXXwwO2lmKGU+Pj4wPj0yKXtlPTk7YnJlYWt9c3dpdGNoKGV8MCl7Y2FzZSAwOnt2
SChhLGErNCsoZioyMHwwKXwwLGIsMCl8MDticmVha31jYXNlIDE6e3ZIKGEsYSs0KyhmKjIwfDAp
fDAsZCwwKXwwO2JyZWFrfWRlZmF1bHQ6e319Zj1mKzF8MH1pZigoZXwwKT09OSltYSgxMjM3Njgs
MTIzNjkyLDMwMywxMjM3NTQpO2Vsc2UgaWYoKGV8MCk9PTE0KXJldHVybn1mdW5jdGlvbiBHSChh
KXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wO2Q9bDtsPWwrMTZ8MDtlPWQ7Y1thKzE4NDg+PjJd
PTA7Y1thKzE4NDQ+PjJdPTA7Yj1hKzE4NTJ8MDtmPWErMTg2OHwwO3lIKGUpO2NbZj4+Ml09Y1tl
Pj4yXTtjW2YrND4+Ml09Y1tlKzQ+PjJdO2NbZis4Pj4yXT1jW2UrOD4+Ml07Y1tmKzEyPj4yXT1j
W2UrMTI+PjJdO2NbYj4+Ml09Y1tlPj4yXTtjW2IrND4+Ml09Y1tlKzQ+PjJdO2NbYis4Pj4yXT1j
W2UrOD4+Ml07Y1tiKzEyPj4yXT1jW2UrMTI+PjJdO2NbYSsxODg4Pj4yXT0wO2NbYSsxODg0Pj4y
XT0wO2I9MDt3aGlsZSgxKXtpZigoYnwwKT09NjUpYnJlYWs7Y1thKzE1ODQrKGI8PDIpPj4yXT0w
O2NbYSsxMzI0KyhiPDwyKT4+Ml09LTE7Yj1iKzF8MH1sPWQ7cmV0dXJufWZ1bmN0aW9uIEhIKGEp
e2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89
MCxwPTAscT0wLHI9MDtvPWw7bD1sKzMwNHwwO2s9byszMnwwO209bysxNnwwO249bztiPTA7d2hp
bGUoMSl7aWYoKGJ8MCk9PTY1KWJyZWFrO2NbaysoYjw8Mik+PjJdPXpIKGErNCsoYioyMHwwKXww
KXwwO2I9YisxfDB9Yj0wO2Q9MDtlPTA7Zz0wO2E6d2hpbGUoMSl7aWYoKGd8MCk9PTY0KWJyZWFr
O2k9ZysxfDA7aj1hKzQrKGcqMjB8MCl8MDtoPWsrKGc8PDIpfDA7Zj1pO3doaWxlKDEpe2lmKChm
fDApPT02NSl7Zz1pO2NvbnRpbnVlIGF9QUgobixqLGErNCsoZioyMHwwKXwwKTtjW20+PjJdPWNb
bj4+Ml07Y1ttKzQ+PjJdPWNbbis0Pj4yXTtjW20rOD4+Ml09Y1tuKzg+PjJdO2NbbSsxMj4+Ml09
Y1tuKzEyPj4yXTtwPXpIKG0pfDA7cD1wLShjW2g+PjJdfDApLShjW2srKGY8PDIpPj4yXXwwKXww
O3E9cD4+PjA+ZT4+PjA7cj1xP2Y6YjtmPWYrMXwwO2I9cjtkPXE/ZzpkO2U9cT9wOmV9fUlIKGEs
ZCwwKTtJSChhLGIsMSk7bD1vO3JldHVybn1mdW5jdGlvbiBJSChhLGIsZCl7YT1hfDA7Yj1ifDA7
ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTA7aT1sO2w9bCsxNnwwO2g9aTtlPWErMTU4NCso
Yjw8Mil8MDtpZihjW2U+PjJdfDApbWEoMTI0MDU3LDEyMzY5MiwyNTcsMTI0MDkyKTtjW2ErMTMy
NCsoYjw8Mik+PjJdPWQ7Y1tlPj4yXT0xO2c9YSsxODQ0KyhkPDwyKXwwO2Y9YSsxODUyKyhkPDw0
KXwwO2U9YSs0KyhiKjIwfDApfDA7aWYoIShjW2c+PjJdfDApKXtjW2Y+PjJdPWNbZT4+Ml07Y1tm
KzQ+PjJdPWNbZSs0Pj4yXTtjW2YrOD4+Ml09Y1tlKzg+PjJdO2NbZisxMj4+Ml09Y1tlKzEyPj4y
XX1lbHNle0FIKGgsZSxmKTtjW2Y+PjJdPWNbaD4+Ml07Y1tmKzQ+PjJdPWNbaCs0Pj4yXTtjW2Yr
OD4+Ml09Y1toKzg+PjJdO2NbZisxMj4+Ml09Y1toKzEyPj4yXX1jW2ErMTg4NCsoZDw8Mik+PjJd
PXpIKGYpfDA7Y1tnPj4yXT0oY1tnPj4yXXwwKSsxO2w9aTtyZXR1cm59ZnVuY3Rpb24gSkgoKXt2
YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9
MCx0PTA7dD1sO2w9bCsxMjAwfDA7cj10KzgwMHwwO2c9dDtjWzQyNDQwXT0wO2NbNDI0NDFdPS0y
O2Y9cjtpPTIwMDtuPWc7cD0wO3E9MDtvPXI7YTp3aGlsZSgxKXtiW28+PjFdPXA7aWYoKGYrKGk8
PDEpKy0yfDApPj4+MD5vPj4+MClrPWk7ZWxzZXttPW8tZj4+MTtlPW0rMXwwO2lmKGk+Pj4wPjk5
OTkpe3M9OTU7YnJlYWt9az1pPDwxO2s9az4+PjA8MWU0P2s6MWU0O2g9Wkkoayo2fDMpfDA7aWYo
aCl7VE4oaHwwLGZ8MCxlPDwxfDApfDA7aT1oKyhrPj4+MTw8Mil8MDtUTihpfDAsbnwwLGU8PDJ8
MCl8MDtpZigoZnwwKT09KHJ8MCkpe2U9MDtmPWh9ZWxzZXtfSShmKTtlPTA7Zj1ofX1lbHNle2U9
NDtpPW59aj0oZXwwKT09MDtoPWYrKG08PDEpfDA7c3dpdGNoKChqPygoZisoazw8MSkrLTJ8MCk+
Pj4wPmg+Pj4wPzA6OSk6ZSkmMTUpe2Nhc2UgOTp7ZT0xO3M9OTY7YnJlYWsgYX1jYXNlIDQ6e3M9
OTU7YnJlYWsgYX1jYXNlIDA6e2c9aj9pKyhtPDwyKXwwOmc7bj1pO289aj9oOm87YnJlYWt9ZGVm
YXVsdDp7ZT0wO2JyZWFrIGF9fX1pZigocHwwKT09MzEpe2U9MDtzPTk2O2JyZWFrfWU9Yls1ODM1
OCsocDw8MSk+PjFdfDA7aj1lPDwxNj4+MTY7ZG8gaWYoZTw8MTY+PjE2IT0tODIpe2g9Y1s0MjQ0
MV18MDtpZigoaHwwKT09LTIpe2g9Z0koKXwwO2NbNDI0NDFdPWh9aWYoKGh8MCk+PTEpaWYoaD4+
PjA8Mjk2KWk9ZFsxMjQxMzIraD4+MF18MDtlbHNlIGk9MjtlbHNle2NbNDI0NDFdPTA7aT0wfWg9
aStqfDA7aWYoaD4+PjA8PTI3MT8oaXwwKT09KGFbMTI0NDI4K2g+PjBdfDApOjApe3A9YVsxMjQ3
MDAraD4+MF18MDtlPXA8PDI0Pj4yNDtpZihwPDwyND4+MjQ8MSl7aD0wLWV8MDtzPTIzO2JyZWFr
fWVsc2V7Y1s0MjQ0MV09LTI7Zz1nKzR8MDtjW2c+PjJdPTA7aj0ocXwwKT09MD8wOnErLTF8MDto
PW87YnJlYWt9fWVsc2Ugcz0yMn1lbHNlIHM9MjI7d2hpbGUoMCk7aWYoKHN8MCk9PTIyKXtzPTA7
cD1hWzEyNDk3MitwPj4wXXwwO2g9cCYyNTU7aWYoIShwPDwyND4+MjQpKXtoPWNbNDI0NDFdfDA7
YjpkbyBzd2l0Y2gocXwwKXtjYXNlIDA6e2NbNDI0NDBdPShjWzQyNDQwXXwwKSsxO2NJKDEyNTM2
OSk7aD1vO2JyZWFrfWNhc2UgMzppZigoaHwwKTwxKWlmKCFoKXtlPTE7cz05NjticmVhayBhfWVs
c2V7aD1vO2JyZWFrIGJ9ZWxzZXtjWzQyNDQxXT0tMjtoPW87YnJlYWsgYn1kZWZhdWx0Omg9b313
aGlsZSgwKTt3aGlsZSgxKXtpZihlPDwxNj4+MTY9PTgpYnJlYWs7aWYoKGh8MCk9PShmfDApKXtl
PTE7cz05NjticmVhayBhfWU9aCstMnwwO2c9ZystNHwwO2g9ZTtlPWJbNTgzNTgrKGJbZT4+MV08
PDEpPj4xXXwwfWc9Zys0fDA7Y1tnPj4yXT0wO2U9MTtqPTN9ZWxzZSBzPTIzfWRvIGlmKChzfDAp
PT0yMyl7cz0wO2o9ZFsxMjUwODgraD4+MF18MDtlPWNbZysoMS1qPDwyKT4+Ml18MDtkbyBzd2l0
Y2goaHwwKXtjYXNlIDQ6e3M9MjY7YnJlYWsgYX1jYXNlIDI6e2NbNDI0NDJdPUtIKGNbZystND4+
Ml18MCwyKXwwO2JyZWFrfWNhc2UgMzp7Y1s0MjQ0Ml09S0goY1tnKy00Pj4yXXwwLDEpfDA7YnJl
YWt9Y2FzZSA1OntlPU1IKCl8MDticmVha31jYXNlIDg6e05IKGNbNDI0NDNdfDApO2JyZWFrfWNh
c2UgOTp7T0goY1tnPj4yXXwwKTticmVha31jYXNlIDE4OntQSChjW2c+PjJdfDApO2JyZWFrfWNh
c2UgMTk6e1FIKCk7YnJlYWt9Y2FzZSAyMDp7UEgoY1tnPj4yXXwwKTticmVha31jYXNlIDIxOntR
SCgpO2JyZWFrfWNhc2UgMjI6e1BIKGNbZz4+Ml18MCk7YnJlYWt9Y2FzZSAyMzp7UUgoKTticmVh
a31jYXNlIDI0OntQSChjW2c+PjJdfDApO2JyZWFrfWNhc2UgMjU6e1FIKCk7YnJlYWt9Y2FzZSAy
Njp7UEgoY1tnPj4yXXwwKTticmVha31jYXNlIDI3OntRSCgpO2JyZWFrfWNhc2UgMjg6e1BIKGNb
Zz4+Ml18MCk7YnJlYWt9Y2FzZSAyOTp7UUgoKTticmVha31jYXNlIDMwOntQSChjW2c+PjJdfDAp
O2JyZWFrfWNhc2UgMzE6e1FIKCk7YnJlYWt9Y2FzZSAzMjp7UEgoY1tnPj4yXXwwKTticmVha31j
YXNlIDMzOntRSCgpO2JyZWFrfWNhc2UgMzQ6e2U9Y1tnKy00Pj4yXXwwO2JyZWFrfWNhc2UgMzU6
e2U9Y1tnPj4yXXwwO2JyZWFrfWNhc2UgMzg6e2U9Y1s0MjQ0M118MDtpPWNbZSs0Pj4yXXwwO2lm
KGk+Pj4wPj0oY1tlKzg+PjJdfDApPj4+MCl7ZG0oZSwxKXwwO2k9Y1s0MjQ0M118MDtlPWk7aT1j
W2krND4+Ml18MH1hW2k+PjBdPTA7cD1jW2U+PjJdfDA7Y1tlKzQ+PjJdPXA7aWYoUkgocCl8MCl7
cz01MTticmVhayBhfWNbKGNbZz4+Ml18MCkrODA+PjJdPWNbNDI0NDRdO2U9UWwoNTUwMTYsY1s0
MzQ0XXwwKXwwO2NbKGNbZz4+Ml18MCkrODQ+PjJdPWU7Y1s0MjQ0NF09Y1tnPj4yXTtjWyhjW2c+
PjJdfDApKzEwOD4+Ml09Y1tjWzQyNDQ1XT4+Ml07ZT1jW2c+PjJdfDA7YnJlYWt9Y2FzZSAzOTp7
ZT1jWzQyNDQzXXwwO2k9Y1tlKzQ+PjJdfDA7aWYoaT4+PjA+PShjW2UrOD4+Ml18MCk+Pj4wKXtk
bShlLDEpfDA7aT1jWzQyNDQzXXwwO2U9aTtpPWNbaSs0Pj4yXXwwfWFbaT4+MF09MDtwPWNbZT4+
Ml18MDtjW2UrND4+Ml09cDtpZihSSChwKXwwKXtzPTU2O2JyZWFrIGF9ZT1jWzQyNDQ0XXwwO2Nb
NDI0NDRdPWNbZSs4MD4+Ml07YnJlYWt9Y2FzZSA0MDp7ZT1jW2c+PjJdfDA7YnJlYWt9Y2FzZSA0
MTp7ZT1jW2crLTQ+PjJdfDA7YnJlYWt9Y2FzZSA0Mjp7ZT1jW2crLTQ+PjJdfDA7YnJlYWt9Y2Fz
ZSA0Mzp7ZT1jW2crLTQ+PjJdfDA7YnJlYWt9Y2FzZSA0NDp7ZT1jW2crLTQ+PjJdfDA7YnJlYWt9
Y2FzZSA0NTp7ZT1jW2crLTQ+PjJdfDA7YnJlYWt9Y2FzZSA0ODp7ZT1jW2c+PjJdfDA7YnJlYWt9
Y2FzZSA0OTp7ZT1jW2c+PjJdfDA7YnJlYWt9Y2FzZSA1MDp7YVsoY1tnKy04Pj4yXXwwKSsxMj4+
MF09MTtlPWNbZz4+Ml18MDticmVha31jYXNlIDUxOntTSCgpO2JyZWFrfWNhc2UgNTI6e2U9VEgo
KXwwO2JyZWFrfWNhc2UgNTM6e2U9Y1tnPj4yXXwwO2JyZWFrfWNhc2UgNTQ6e2U9Y1tnPj4yXXww
O2JyZWFrfWNhc2UgNTU6e2U9KGNbZystOD4+Ml18MCkrMTAwfDA7YVtlPj4wXT1hW2U+PjBdfDE7
ZT1jW2c+PjJdfDA7YnJlYWt9Y2FzZSA1Njp7VUgoY1tnKy00Pj4yXXwwLGNbZz4+Ml18MCwxKTti
cmVha31jYXNlIDU3OntlPWNbZystMTI+PjJdfDA7YnJlYWt9Y2FzZSA1ODp7VUgoY1tnKy00Pj4y
XXwwLGNbZz4+Ml18MCwyKTticmVha31jYXNlIDU5OntlPWNbZystMTI+PjJdfDA7YnJlYWt9Y2Fz
ZSA2MDp7VUgoY1tnKy00Pj4yXXwwLGNbZz4+Ml18MCwzKTticmVha31jYXNlIDYxOntlPWNbZyst
MTI+PjJdfDA7YnJlYWt9Y2FzZSA2Mjp7VUgoY1tnPj4yXXwwLE1IKCl8MCwyKTticmVha31jYXNl
IDYzOntlPWNbZystOD4+Ml18MDticmVha31jYXNlIDY0OntlPWNbZystND4+Ml18MDticmVha31j
YXNlIDY1OntlPWNbZz4+Ml18MDticmVha31kZWZhdWx0Ont9fXdoaWxlKDApO2k9MC1qfDA7cD1n
KyhpPDwyKXwwO2k9bysoaTw8MSl8MDtnPXArNHwwO2NbcCs0Pj4yXT1lO2U9KGRbMTI1MjYwK2g+
PjBdfDApKy00MXwwO3A9YltpPj4xXXwwO2g9cCsoYls1ODU5MCsoZTw8MSk+PjFdfDApfDA7aWYo
aD4+PjA8MjcyPyhhWzEyNDQyOCtoPj4wXXwwKT09KHB8MCk6MCl7ZT1hWzEyNDcwMCtoPj4wXXww
O2o9cTtoPWk7YnJlYWt9ZT1hWzEyNTMzMCtlPj4wXXwwO2o9cTtoPWl9d2hpbGUoMCk7aT1rO3A9
ZTtxPWo7bz1oKzJ8MH1pZigoc3wwKT09MjYpe0xIKCk7ZT0xO3M9OTZ9ZWxzZSBpZigoc3wwKT09
NTEpe2NJKDEyNTE1OCk7TEgoKTtlPTE7cz05Nn1lbHNlIGlmKChzfDApPT01Nil7Y0koMTI1MjA5
KTtMSCgpO2U9MTtzPTk2fWVsc2UgaWYoKHN8MCk9PTk1KXtjSSgxMjUzODIpO2U9MjtzPTk2fWlm
KChzfDApPT05NilpZigoZnwwKSE9KHJ8MCkpX0koZik7bD10O3JldHVybiBlfDB9ZnVuY3Rpb24g
S0goYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wO2U9dncoOCl8MDthW2UrND4+MF09ZDtjW2U+PjJd
PWI7cmV0dXJuIGV8MH1mdW5jdGlvbiBMSCgpe3ZhciBhPTAsYj0wO2E9Y1s0MjQ0NF18MDtiPWNb
NDI0NDJdfDA7aWYoYnwwKXtFRihiLDEpO2NbNDI0NDJdPTB9Y1sxMzc2N109NjI7d2hpbGUoMSl7
aWYoIWEpYnJlYWs7Yj1jW2ErODA+PjJdfDA7WUgoYSk7YT1ifWNbMTM3NjddPTUxO2NbMTM3NzZd
PTYzO2I9Y1s0MjQ0N118MDtiYltjW2I+PjJdJjMxXShiLDAsNjQpfDA7Y1sxMzc3Nl09NTE7Y1sx
Mzc4NV09NjQ7Yj1jWzQyNDQ4XXwwO2JiW2NbYj4+Ml0mMzFdKGIsMCw2NCl8MDtjWzEzNzg1XT01
MTskSCgpO3JldHVybn1mdW5jdGlvbiBNSCgpe3ZhciBhPTAsZD0wLGU9MCxmPTAsZz0wLGg9MDtl
PWNbNDI0NDhdfDA7Zj12dyg0MCl8MDtpZihTbChjWzQyNDQ3XXwwKXwwKU9IKDApO2E9U2woZSl8
MDtiW2YrND4+MV09YTthOmRvIGlmKCFhKWE9ZTtlbHNle2NbZj4+Ml09dncoYSoyNHwwKXwwO2E9
MDtkPWJiW2NbZT4+Ml0mMzFdKGUsMCwxMjgpfDA7d2hpbGUoMSl7aWYoIWQpe2E9ZTticmVhayBh
fWc9KGNbZj4+Ml18MCkrKGEqMjR8MCl8MDtoPWQrOHwwO2NbZz4+Ml09Y1toPj4yXTtjW2crND4+
Ml09Y1toKzQ+PjJdO2NbZys4Pj4yXT1jW2grOD4+Ml07Y1tnKzEyPj4yXT1jW2grMTI+PjJdO2Nb
ZysxNj4+Ml09Y1toKzE2Pj4yXTtjW2crMjA+PjJdPWNbaCsyMD4+Ml07YT1hKzF8MDtkPWJiW2Nb
ZT4+Ml0mMzFdKGUsZCw4KXwwfX13aGlsZSgwKTtiYltjW2E+PjJdJjMxXShlLDAsNjQpfDA7cmV0
dXJuIGZ8MH1mdW5jdGlvbiBOSChiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTA7ZT12dyg2NCl8MDtm
PWIrNHwwO2Q9Y1tmPj4yXXwwO2lmKGQ+Pj4wPj0oY1tiKzg+PjJdfDApPj4+MCl7ZG0oYiwxKXww
O2Q9Y1tmPj4yXXwwfWFbZD4+MF09MDtiPWNbYj4+Ml18MDtjW2Y+PjJdPWI7Y1tlKzg+PjJdPUdM
KGIpfDA7Y1tlKzEyPj4yXT1jW2NbNDI0NDVdPj4yXTtmPWNbNDI0NDddfDA7YmJbY1tmPj4yXSYz
MV0oZixlLDEpfDA7cmV0dXJufWZ1bmN0aW9uIE9IKGQpe2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxo
PTAsaT0wLGo9MCxrPTA7aT12dygzMil8MDtqPWNbNDI0NDddfDA7ZT1TbChqKXwwO2s9aSs4fDA7
YVtpKzE0Pj4wXT1kO2E6ZG8gaWYoIWUpe2Nbaz4+Ml09dncoNTYpfDA7YltpKzEyPj4xXT0xO2g9
R0woMTc0MTgxKXwwO2s9Y1trPj4yXXwwO2Nbaz4+Ml09aDtjW2srND4+Ml09Y1tjWzQyNDQ1XT4+
Ml19ZWxzZXtiW2krMTI+PjFdPWU7Y1trPj4yXT12dyhlKjU2fDApfDA7ZD0wO2U9T2woail8MDt3
aGlsZSgxKXtpZighZSlicmVhayBhO2Y9KGNbaz4+Ml18MCkrKGQqNTZ8MCl8MDtnPWUrOHwwO2g9
Zis1NnwwO2Rve2NbZj4+Ml09Y1tnPj4yXTtmPWYrNHwwO2c9Zys0fDB9d2hpbGUoKGZ8MCk8KGh8
MCkpO2Q9ZCsxfDA7ZT1jW2U+PjJdfDB9fXdoaWxlKDApO2JiW2Nbaj4+Ml0mMzFdKGosMCw2NCl8
MDtrPWNbNDI0NDhdfDA7YmJbY1trPj4yXSYzMV0oayxpLDEpfDA7cmV0dXJufWZ1bmN0aW9uIFBI
KGEpe2E9YXwwO3ZhciBiPTAsZD0wLjAsZT0wLGY9MCxnPTAsaT0wLGo9MDtqPWw7bD1sKzMyfDA7
Zz1qO2k9dncoOCl8MDtmPWNbY1s0MjQ0NV0+PjJdfDA7Y1tnPj4yXT1jW2E+PjJdO2NbZys0Pj4y
XT1jW2ErND4+Ml07Y1tnKzg+PjJdPWNbYSs4Pj4yXTtjW2crMTI+PjJdPWNbYSsxMj4+Ml07Y1tn
KzE2Pj4yXT1jW2ErMTY+PjJdO2NbZysyMD4+Ml09Y1thKzIwPj4yXTtjW2crMjQ+PjJdPWNbYSsy
ND4+Ml07Y1tnKzI4Pj4yXT1jW2ErMjg+PjJdO2lmKGZ8MCl7YT1nKzR8MDtpZigoY1thPj4yXXww
KT09MD8oYj1jW2YrND4+Ml18MCxifDApOjApY1thPj4yXT1iO2E9ZysxNnwwO2lmKCtoW2E+PjNd
PDAuMD8oZD0raFtmKzE2Pj4zXSxkPj0wLjApOjApaFthPj4zXT1kO2lmKChjW2c+PjJdfDApPT0w
PyhlPWNbZj4+Ml18MCxlfDApOjApY1tnPj4yXT1lO2E9Y1tmKzI0Pj4yXSYxMjc7aWYoYXwwKXtm
PWcrMjR8MDtlPWNbZj4+Ml18MDtjW2Y+PjJdPWUmMTI3fGF8ZSYtMTI4fX1mPWNbKGNbNDI0NDZd
fDApKzE0ND4+Ml18MDtjW2k+PjJdPWJiW2NbZj4+Ml0mMzFdKGYsZywxKXwwO2NbaSs0Pj4yXT1j
WzQyNDQ1XTtjWzQyNDQ1XT1pO2w9ajtyZXR1cm59ZnVuY3Rpb24gUUgoKXt2YXIgYT0wLGI9MDti
PWNbNDI0NDVdfDA7YT1jW2IrND4+Ml18MDtfSShiKTtjWzQyNDQ1XT1hO3JldHVybn1mdW5jdGlv
biBSSChiKXtiPWJ8MDt2YXIgYz0wO3doaWxlKDEpe2M9YVtiPj4wXXwwO2lmKCEoYzw8MjQ+PjI0
KSl7Yj0wO2JyZWFrfWlmKGM8PDI0Pj4yND09MzIpYj1iKzF8MDtlbHNle2I9MTticmVha319cmV0
dXJuIGJ8MH1mdW5jdGlvbiBTSCgpe3ZhciBiPTAsZD0wLGU9MDtlPVFsKDU1MDUyLGNbNDM0NF18
MCl8MDtiPWNbNDI0NDRdfDA7ZD12dygxNil8MDtjW2QrOD4+Ml09ZTtpZihhW2IrMTEyPj4wXSYy
KWFbZCsxMj4+MF09MTtlPWNbYis4ND4+Ml18MDtiYltjW2U+PjJdJjMxXShlLGQsMSl8MDtyZXR1
cm59ZnVuY3Rpb24gVEgoKXt2YXIgYT0wO2E9Y1soY1s0MjQ0NF18MCkrODQ+PjJdfDA7cmV0dXJu
IGJiW2NbYT4+Ml0mMzFdKGEsMCwyNTYpfDB9ZnVuY3Rpb24gVUgoYixkLGUpe2I9YnwwO2Q9ZHww
O2U9ZXwwO3ZhciBmPTAsZz0wLGg9MDtnPXZ3KDE2KXwwO2Y9Y1s0MjQ0NF18MDtoPWNbZis4ND4+
Ml18MDtoPWNbKGJiW2NbaD4+Ml0mMzFdKGgsMCwyNTYpfDApKzg+PjJdfDA7Y1tnKzg+PjJdPWI7
YmJbY1toPj4yXSYzMV0oaCxnLDEpfDA7YVtiKzkyPj4wXT1lO2lmKGFbZisxMTI+PjBdJjEpYVti
KzEwMD4+MF09MTtjW2IrODg+PjJdPWQ7cmV0dXJufWZ1bmN0aW9uIFZIKGEsYixjKXthPWF8MDti
PWJ8MDtjPWN8MDtfSShiKTtyZXR1cm59ZnVuY3Rpb24gV0goYSxiLGQpe2E9YXwwO2I9YnwwO2Q9
ZHwwO0tsKGNbYis4Pj4yXXwwKXwwO19JKGIpO3JldHVybn1mdW5jdGlvbiBYSChhLGIsZCl7YT1h
fDA7Yj1ifDA7ZD1kfDA7YUkoY1tiKzg+PjJdfDApO19JKGIpO3JldHVybn1mdW5jdGlvbiBZSChh
KXthPWF8MDtLbChjW2ErODQ+PjJdfDApfDA7QkYoYSk7X0koYSk7cmV0dXJufWZ1bmN0aW9uIFpI
KGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDtfSShjW2IrOD4+Ml18MCk7X0koYik7cmV0dXJufWZ1
bmN0aW9uIF9IKGEsZCxlKXthPWF8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTA7Zz1kKzEy
fDA7YT1iW2c+PjFdfDA7aWYoYTw8MTY+PjE2KXtoPWQrOHwwO2U9MDtmPWNbaD4+Ml18MDt3aGls
ZSgxKXtpZigoZXwwKT49KGE8PDE2Pj4xNnwwKSlicmVhaztfSShjW2Y+PjJdfDApO2U9ZSsxfDA7
Zj1mKzU2fDA7YT1iW2c+PjFdfDB9X0koY1toPj4yXXwwKX1fSShkKTtyZXR1cm59ZnVuY3Rpb24g
JEgoKXt2YXIgYT0wLGI9MDthPWNbNDI0NDVdfDA7d2hpbGUoMSl7Yj1jW2ErND4+Ml18MDtpZigh
YilicmVhaztfSShhKTthPWJ9cmV0dXJufWZ1bmN0aW9uIGFJKGIpe2I9YnwwO3ZhciBkPTA7ZD1i
Kzg4fDA7c3dpdGNoKGFbYis5Mj4+MF18MCl7Y2FzZSAxOntZSChjW2Q+PjJdfDApO2JyZWFrfWNh
c2UgMjp7Q0YoY1tkPj4yXXwwKTticmVha31kZWZhdWx0Ont9fUJGKGIpO19JKGIpO3JldHVybn1m
dW5jdGlvbiBiSShhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2Y9bDts
PWwrMTYwfDA7ZT1mKzh8MDtnPWY7Y1tnPj4yXT0wO2NbZys0Pj4yXT0wO2NbNDI0NDVdPWc7Y1s0
MjQ0NF09MDtjWzQyNDQyXT0wO2NbNDI0NDZdPWNbKGNbKGNbZCs1Mj4+Ml18MCkrMTY+PjJdfDAp
KzE0ND4+Ml07Y1s0MjQ0N109UWwoNTUwODgsY1s0MzQ0XXwwKXwwO2NbNDI0NDhdPVFsKDU1MTI0
LGNbNDM0NF18MCl8MDtjbShlLDEyOCxmKzI0fDApO2NbNDI0NDNdPWU7aWYoIShlSShhLGUsZCl8
MCkpe0pIKCl8MDtjW2I+PjJdPWZJKCl8MDthPWNbNDI0NDJdfDB9ZWxzZXtjW2I+PjJdPTI7YT0w
fUtsKGNbNDI0NDddfDApfDA7S2woY1s0MjQ0OF18MCl8MDtjWzQyNDQ3XT0wO2NbNDI0NDhdPTA7
Y1s0MjQ0NV09MDtnbShlKTtsPWY7cmV0dXJuIGF8MH1mdW5jdGlvbiBjSShiKXtiPWJ8MDt2YXIg
ZD0wLGU9MDtlPWw7bD1sKzE2fDA7ZD1lO2lmKCEoYVsxNjk3OTZdfDApKXthWzE2OTc5Nl09MTtj
W2Q+PjJdPWI7Y1tkKzQ+PjJdPTA7X2woMSwxMjUzOTksZCl8MDtkSSgpfWVsc2V7bD1lO3JldHVy
bn19ZnVuY3Rpb24gZEkoKXtUYSgpfWZ1bmN0aW9uIGVJKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8
MDthPWw7bD1sKzE2fDA7aWYoIShjWzQyNDUwXXwwKSl7X2woMCwxMjU0MTUsYSl8MDtjWzQyNDUw
XT0oY1s0MjQ1MF18MCkrMX1sPWE7cmV0dXJuIDF9ZnVuY3Rpb24gZkkoKXtyZXR1cm4gMX1mdW5j
dGlvbiBnSSgpe3JldHVybiAtMX1mdW5jdGlvbiBoSShhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9
ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAscT0wLHI9MCxz
PTAsdD0wLHU9MDt1PWw7bD1sKzY0fDA7bT11KzQ4fDA7az11KzMyfDA7cz00O2o9WkkoNDApfDA7
Y1tqPj4yXT0wO249dSsxNnwwO3E9dTtyPWNbZD4+Ml18MDtpPWNbZCs0Pj4yXXwwO3M9Uk4oMTY5
ODA0LDEsanwwLHN8MCl8MDtqPXo7bz0wO2Q9bztvPTA7aWYoKGR8MCkhPTAmKHB8MCkhPTApe2c9
U04oY1tkPj4yXXwwLHN8MCxqfDApfDA7aWYoIWcpVWEoZHwwLHB8MCk7ej1wfWVsc2UgZz0tMTtp
ZigoZ3wwKT09MSlkPXo7ZWxzZSBkPTA7d2hpbGUoMSl7aWYoZHwwKXtkPS0xO2JyZWFrfW89MDtj
W20+PjJdPWNbZT4+Ml07Y1ttKzQ+PjJdPWNbZSs0Pj4yXTtjW20rOD4+Ml09Y1tlKzg+PjJdO2Nb
bSsxMj4+Ml09Y1tlKzEyPj4yXTtnYSgyNixufDAsbXwwKTtkPW87bz0wO2lmKChkfDApIT0wJihw
fDApIT0wKXtnPVNOKGNbZD4+Ml18MCxzfDAsanwwKXwwO2lmKCFnKVVhKGR8MCxwfDApO3o9cH1l
bHNlIGc9LTE7aWYoKGd8MCk9PTEpe2Q9ejtjb250aW51ZX07Y1tlPj4yXT1jW24+PjJdO2NbZSs0
Pj4yXT1jW24rND4+Ml07Y1tlKzg+PjJdPWNbbis4Pj4yXTtjW2UrMTI+PjJdPWNbbisxMj4+Ml07
aD1lKzE2fDA7bz0wO2NbbT4+Ml09Y1toPj4yXTtjW20rND4+Ml09Y1toKzQ+PjJdO2NbbSs4Pj4y
XT1jW2grOD4+Ml07Y1ttKzEyPj4yXT1jW2grMTI+PjJdO2dhKDI2LHF8MCxtfDApO2Q9bztvPTA7
aWYoKGR8MCkhPTAmKHB8MCkhPTApe2c9U04oY1tkPj4yXXwwLHN8MCxqfDApfDA7aWYoIWcpVWEo
ZHwwLHB8MCk7ej1wfWVsc2UgZz0tMTtpZigoZ3wwKT09MSl7ZD16O2NvbnRpbnVlfTtjW2g+PjJd
PWNbcT4+Ml07Y1toKzQ+PjJdPWNbcSs0Pj4yXTtjW2grOD4+Ml09Y1txKzg+PjJdO2NbaCsxMj4+
Ml09Y1txKzEyPj4yXTtjWzQyNDkwXT0wO289MDtmYSg5Myw0KTtkPW87bz0wO2lmKChkfDApIT0w
JihwfDApIT0wKXtnPVNOKGNbZD4+Ml18MCxzfDAsanwwKXwwO2lmKCFnKVVhKGR8MCxwfDApO3o9
cH1lbHNlIGc9LTE7aWYoKGd8MCk9PTEpe2Q9ejtjb250aW51ZX1nPWNbNDI0OTFdfDA7ZD1jWzQy
NDkwXXwwO2NbNDI0OTBdPWQrMTtkPWcrKGQ8PDQpfDA7Y1tkPj4yXT1jW3I+PjJdO2NbZCs0Pj4y
XT1jW3IrND4+Ml07Y1tkKzg+PjJdPWNbcis4Pj4yXTtjW2QrMTI+PjJdPWNbcisxMj4+Ml07bz0w
O2Nbaz4+Ml09Y1tlPj4yXTtjW2srND4+Ml09Y1tlKzQ+PjJdO2Nbays4Pj4yXT1jW2UrOD4+Ml07
Y1trKzEyPj4yXT1jW2UrMTI+PjJdO2NbbT4+Ml09Y1toPj4yXTtjW20rND4+Ml09Y1toKzQ+PjJd
O2NbbSs4Pj4yXT1jW2grOD4+Ml07Y1ttKzEyPj4yXT1jW2grMTI+PjJdO2Q9ZGEoMSxhfDAsYnww
LHJ8MCxpfDAsa3wwLG18MCl8MDtnPW87bz0wO2lmKChnfDApIT0wJihwfDApIT0wKXtoPVNOKGNb
Zz4+Ml18MCxzfDAsanwwKXwwO2lmKCFoKVVhKGd8MCxwfDApO3o9cH1lbHNlIGg9LTE7aWYoKGh8
MCk9PTEpZD16O2Vsc2V7dD04O2JyZWFrfX1pZigodHwwKT09OClpZigoZHwwKT09LTEpZD0tMTtl
bHNle2NbZis0Pj4yXT1jWzQyNDkwXTtjW2Y+PjJdPWNbNDI0OTFdO2Q9MH1fSShzfDApO2w9dTty
ZXR1cm4gZHwwfWZ1bmN0aW9uIGlJKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MC4wLGU9MCxmPTAu
MCxnPTAuMCxpPTAuMDtkPStoW2I+PjNdO2U9Yis4fDA7Zj0raFtlPj4zXTtpPWYqZitkKmQ7Zz0r
QygraSk7aWYoaT4xLjBlLTA2KXtoW2I+PjNdPWQvZztoW2U+PjNdPWYvZ307Y1thPj4yXT1jW2I+
PjJdO2NbYSs0Pj4yXT1jW2IrND4+Ml07Y1thKzg+PjJdPWNbYis4Pj4yXTtjW2ErMTI+PjJdPWNb
YisxMj4+Ml07cmV0dXJufWZ1bmN0aW9uIGpJKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTA7
Zj1sO2w9bCszMnwwO2U9ZisxNnwwO2Q9ZjtpZigoY1s0MjQ5NF18MCk8KGF8MCkpe2I9Y1s0MjQ5
MV18MDtpZighYil7ZT1aSShhPDw0KXwwO2NbNDI0OTFdPWU7aWYoIWUpe2U9Y1sxMzkxOF18MDtj
W2Q+PjJdPTEyNTQ3NjtjW2QrND4+Ml09NTMxO2NbZCs4Pj4yXT0xMjU2MTE7ekwoZSwxMjU0ODQs
ZCl8MDtVYSgxNjk4MDQsMSl9fWVsc2V7ZD1hSihiLGE8PDQpfDA7Y1s0MjQ5MV09ZDtpZighZCl7
ZD1jWzEzOTE4XXwwO2NbZT4+Ml09MTI1NDc2O2NbZSs0Pj4yXT01Mzc7Y1tlKzg+PjJdPTEyNTYy
OTt6TChkLDEyNTQ4NCxlKXwwO1VhKDE2OTgwNCwxKX19Y1s0MjQ5NF09YX1sPWY7cmV0dXJufWZ1
bmN0aW9uIGtJKGEsYixkLGUsZixnKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8
MDt2YXIgaT0wLGo9MC4wLGs9MCxtPTAuMCxuPTAsbz0wLjAscD0wLjAscT0wLHI9MC4wLHM9MC4w
LHQ9MC4wLHU9MC4wLHY9MC4wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9
MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0w
LjAsVT0wLjAsVj0wLjAsVz0wLjA7Uj1sO2w9bCszMzZ8MDtKPVIrMzIwfDA7ST1SKzMwNHwwO3c9
UisxNDR8MDtxPVIrMTI4fDA7Rz1SKzExMnwwO0g9Uis5NnwwO1E9Uis4MHwwO0E9Uis2NHwwO0M9
Uis0OHwwO0s9UiszMnwwO0w9UisxNnwwO009Ujt4PVIrMjg4fDA7eT1SKzI3MnwwO3o9UisyNTZ8
MDtCPVIrMjQwfDA7RD1SKzIyNHwwO0U9UisyMDh8MDtOPVIrMTkyfDA7Tz1SKzE3NnwwO1A9Uisx
NjB8MDtpPWNbNDI0OTNdfDA7ZG8gaWYoKGNbNDI0OTJdfDApPChlfDApKXtpZighaSl7aT1aSShl
KjQwfDApfDA7Y1s0MjQ5M109aTtpZighaSl7aT0tMTticmVha319ZWxzZXtpPWFKKGksZSo0MHww
KXwwO2NbNDI0OTNdPWk7aWYoIWkpe2k9LTE7YnJlYWt9fWNbNDI0OTJdPWU7az02fWVsc2Ugaz02
O3doaWxlKDApO2lmKChrfDApPT02KXtoW2k+PjNdPTAuMDtrPTE7aj0wLjA7d2hpbGUoMSl7aWYo
KGt8MCk+PShlfDApKWJyZWFrO249ZCsoazw8NCl8MDtGPWQrKGsrLTE8PDQpfDA7Y1tJPj4yXT1j
W24+PjJdO2NbSSs0Pj4yXT1jW24rND4+Ml07Y1tJKzg+PjJdPWNbbis4Pj4yXTtjW0krMTI+PjJd
PWNbbisxMj4+Ml07Y1tKPj4yXT1jW0Y+PjJdO2NbSis0Pj4yXT1jW0YrND4+Ml07Y1tKKzg+PjJd
PWNbRis4Pj4yXTtjW0orMTI+PjJdPWNbRisxMj4+Ml07dj0rbEkoSSxKKStqO2hbaSsoayo0MHww
KT4+M109djtrPWsrMXwwO2o9dn1GPWUrLTF8MDtuPWkrKEYqNDB8MCl8MDtrPTE7d2hpbGUoMSl7
aWYoKGt8MCk+PShlfDApKWJyZWFrO1M9aSsoayo0MHwwKXwwO2hbUz4+M109K2hbUz4+M10vK2hb
bj4+M107az1rKzF8MH1rPTA7d2hpbGUoMSl7aWYoKGt8MCk+PShlfDApKWJyZWFrO1M9aSsoayo0
MHwwKSs4fDA7bj1pKyhrKjQwfDApfDA7dj0rbUkoK2hbbj4+M10pO2NbSj4+Ml09Y1tmPj4yXTtj
W0orND4+Ml09Y1tmKzQ+PjJdO2NbSis4Pj4yXT1jW2YrOD4+Ml07Y1tKKzEyPj4yXT1jW2YrMTI+
PjJdO25JKHgsSix2KTtjW1M+PjJdPWNbeD4+Ml07Y1tTKzQ+PjJdPWNbeCs0Pj4yXTtjW1MrOD4+
Ml09Y1t4Kzg+PjJdO2NbUysxMj4+Ml09Y1t4KzEyPj4yXTtTPWkrKGsqNDB8MCkrMjR8MDt2PStv
SSgraFtuPj4zXSk7Y1tKPj4yXT1jW2c+PjJdO2NbSis0Pj4yXT1jW2crND4+Ml07Y1tKKzg+PjJd
PWNbZys4Pj4yXTtjW0orMTI+PjJdPWNbZysxMj4+Ml07bkkoeSxKLHYpO2NbUz4+Ml09Y1t5Pj4y
XTtjW1MrND4+Ml09Y1t5KzQ+PjJdO2NbUys4Pj4yXT1jW3krOD4+Ml07Y1tTKzEyPj4yXT1jW3kr
MTI+PjJdO2s9aysxfDB9Y1tJPj4yXT1jW2Y+PjJdO2NbSSs0Pj4yXT1jW2YrND4+Ml07Y1tJKzg+
PjJdPWNbZis4Pj4yXTtjW0krMTI+PjJdPWNbZisxMj4+Ml07Y1tKPj4yXT1jW2c+PjJdO2NbSis0
Pj4yXT1jW2crND4+Ml07Y1tKKzg+PjJdPWNbZys4Pj4yXTtjW0orMTI+PjJdPWNbZysxMj4+Ml07
cEkoZCxlLGksSSxKLEcsQSxILEMpO2NbcT4+Ml09Y1tHPj4yXTtjW3ErND4+Ml09Y1tHKzQ+PjJd
O2NbcSs4Pj4yXT1jW0crOD4+Ml07Y1txKzEyPj4yXT1jW0crMTI+PjJdO2Nbdz4+Ml09Y1tBPj4y
XTtjW3crND4+Ml09Y1tBKzQ+PjJdO2Nbdys4Pj4yXT1jW0ErOD4+Ml07Y1t3KzEyPj4yXT1jW0Er
MTI+PjJdO2NbST4+Ml09Y1tIPj4yXTtjW0krND4+Ml09Y1tIKzQ+PjJdO2NbSSs4Pj4yXT1jW0gr
OD4+Ml07Y1tJKzEyPj4yXT1jW0grMTI+PjJdO2NbSj4+Ml09Y1tDPj4yXTtjW0orND4+Ml09Y1tD
KzQ+PjJdO2NbSis4Pj4yXT1jW0MrOD4+Ml07Y1tKKzEyPj4yXT1jW0MrMTI+PjJdO2lmKCEocUko
YSxiLHEsdyxJLEosZCxlKXwwKSl7Y1tKPj4yXT1jW0E+PjJdO2NbSis0Pj4yXT1jW0ErND4+Ml07
Y1tKKzg+PjJdPWNbQSs4Pj4yXTtjW0orMTI+PjJdPWNbQSsxMj4+Ml07bkkoeixKLC4zMzMzMzMz
MzMzMzMzMzMzKTtjW0k+PjJdPWNbRz4+Ml07Y1tJKzQ+PjJdPWNbRys0Pj4yXTtjW0krOD4+Ml09
Y1tHKzg+PjJdO2NbSSsxMj4+Ml09Y1tHKzEyPj4yXTtjW0o+PjJdPWNbej4+Ml07Y1tKKzQ+PjJd
PWNbeis0Pj4yXTtjW0orOD4+Ml09Y1t6Kzg+PjJdO2NbSisxMj4+Ml09Y1t6KzEyPj4yXTtySShC
LEksSik7dj0raFtCPj4zXTt1PStoW0IrOD4+M107Y1tKPj4yXT1jW0M+PjJdO2NbSis0Pj4yXT1j
W0MrND4+Ml07Y1tKKzg+PjJdPWNbQys4Pj4yXTtjW0orMTI+PjJdPWNbQysxMj4+Ml07bkkoRCxK
LC4zMzMzMzMzMzMzMzMzMzMzKTtjW0k+PjJdPWNbSD4+Ml07Y1tJKzQ+PjJdPWNbSCs0Pj4yXTtj
W0krOD4+Ml09Y1tIKzg+PjJdO2NbSSsxMj4+Ml09Y1tIKzEyPj4yXTtjW0o+PjJdPWNbRD4+Ml07
Y1tKKzQ+PjJdPWNbRCs0Pj4yXTtjW0orOD4+Ml09Y1tEKzg+PjJdO2NbSisxMj4+Ml09Y1tEKzEy
Pj4yXTtzSShFLEksSik7dD0raFtFPj4zXTtwPStoW0UrOD4+M107cT1jWzQyNDkzXXwwO3I9K2hb
Rz4+M107cz0raFtIPj4zXTtvPStoW0crOD4+M107bT0raFtIKzg+PjNdO249USs4fDA7aT0tMTtq
PS0xLjA7az0xO3doaWxlKDEpe2lmKChrfDApPj0oRnwwKSlicmVhaztUPStoW3ErKGsqNDB8MCk+
PjNdO1U9K3RJKFQpO1Y9K21JKFQpO1c9K29JKFQpO1Q9K3VJKFQpO2hbUT4+M109Vip2K3IqVStX
KnQrcypUO2hbbj4+M109VypwK1YqdStvKlUrbSpUO1M9ZCsoazw8NCl8MDtjW0k+PjJdPWNbUT4+
Ml07Y1tJKzQ+PjJdPWNbUSs0Pj4yXTtjW0krOD4+Ml09Y1tRKzg+PjJdO2NbSSsxMj4+Ml09Y1tR
KzEyPj4yXTtjW0o+PjJdPWNbUz4+Ml07Y1tKKzQ+PjJdPWNbUys0Pj4yXTtjW0orOD4+Ml09Y1tT
Kzg+PjJdO2NbSisxMj4+Ml09Y1tTKzEyPj4yXTtUPStsSShJLEopO1M9VD5qO2k9Uz9rOmk7aj1T
P1Q6ajtrPWsrMXwwfVM9ZCsoaTw8NCl8MDtRPWQrKGkrLTE8PDQpfDA7Y1tJPj4yXT1jW1M+PjJd
O2NbSSs0Pj4yXT1jW1MrND4+Ml07Y1tJKzg+PjJdPWNbUys4Pj4yXTtjW0krMTI+PjJdPWNbUysx
Mj4+Ml07Y1tKPj4yXT1jW1E+PjJdO2NbSis0Pj4yXT1jW1ErND4+Ml07Y1tKKzg+PjJdPWNbUSs4
Pj4yXTtjW0orMTI+PjJdPWNbUSsxMj4+Ml07c0koTixJLEopO2NbSj4+Ml09Y1tOPj4yXTtjW0or
ND4+Ml09Y1tOKzQ+PjJdO2NbSis4Pj4yXT1jW04rOD4+Ml07Y1tKKzEyPj4yXT1jW04rMTI+PjJd
O2lJKEwsSik7UT1pKzF8MDtOPWQrKFE8PDQpfDA7Y1tJPj4yXT1jW04+PjJdO2NbSSs0Pj4yXT1j
W04rND4+Ml07Y1tJKzg+PjJdPWNbTis4Pj4yXTtjW0krMTI+PjJdPWNbTisxMj4+Ml07Y1tKPj4y
XT1jW1M+PjJdO2NbSis0Pj4yXT1jW1MrND4+Ml07Y1tKKzg+PjJdPWNbUys4Pj4yXTtjW0orMTI+
PjJdPWNbUysxMj4+Ml07c0koTyxJLEopO2NbSj4+Ml09Y1tPPj4yXTtjW0orND4+Ml09Y1tPKzQ+
PjJdO2NbSis4Pj4yXT1jW08rOD4+Ml07Y1tKKzEyPj4yXT1jW08rMTI+PjJdO2lJKE0sSik7Y1tJ
Pj4yXT1jW0w+PjJdO2NbSSs0Pj4yXT1jW0wrND4+Ml07Y1tJKzg+PjJdPWNbTCs4Pj4yXTtjW0kr
MTI+PjJdPWNbTCsxMj4+Ml07Y1tKPj4yXT1jW00+PjJdO2NbSis0Pj4yXT1jW00rND4+Ml07Y1tK
Kzg+PjJdPWNbTSs4Pj4yXTtjW0orMTI+PjJdPWNbTSsxMj4+Ml07ckkoUCxJLEopO2NbSj4+Ml09
Y1tQPj4yXTtjW0orND4+Ml09Y1tQKzQ+PjJdO2NbSis4Pj4yXT1jW1ArOD4+Ml07Y1tKKzEyPj4y
XT1jW1ArMTI+PjJdO2lJKEssSik7Y1tJPj4yXT1jW2Y+PjJdO2NbSSs0Pj4yXT1jW2YrND4+Ml07
Y1tJKzg+PjJdPWNbZis4Pj4yXTtjW0krMTI+PjJdPWNbZisxMj4+Ml07Y1tKPj4yXT1jW0s+PjJd
O2NbSis0Pj4yXT1jW0srND4+Ml07Y1tKKzg+PjJdPWNbSys4Pj4yXTtjW0orMTI+PjJdPWNbSysx
Mj4+Ml07a0koYSxiLGQsUSxJLEopfDA7Y1tJPj4yXT1jW0s+PjJdO2NbSSs0Pj4yXT1jW0srND4+
Ml07Y1tJKzg+PjJdPWNbSys4Pj4yXTtjW0krMTI+PjJdPWNbSysxMj4+Ml07Y1tKPj4yXT1jW2c+
PjJdO2NbSis0Pj4yXT1jW2crND4+Ml07Y1tKKzg+PjJdPWNbZys4Pj4yXTtjW0orMTI+PjJdPWNb
ZysxMj4+Ml07a0koYSxiLFMsZS1pfDAsSSxKKXwwO2k9MH1lbHNlIGk9MH1sPVI7cmV0dXJuIGl8
MH1mdW5jdGlvbiBsSShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAuMDtjPStoW2I+PjNd
LStoW2E+PjNdO2Q9K2hbYis4Pj4zXS0raFthKzg+PjNdO3JldHVybiArKCtDKCsoZCpkK2MqYykp
KX1mdW5jdGlvbiBtSShhKXthPSthO3ZhciBiPTAuMDtiPTEuMC1hO3JldHVybiArKGIqYiooYSoz
LjApKX1mdW5jdGlvbiBuSShhLGIsZCl7YT1hfDA7Yj1ifDA7ZD0rZDt2YXIgZT0wO2hbYj4+M109
K2hbYj4+M10qZDtlPWIrOHwwO2hbZT4+M109K2hbZT4+M10qZDtjW2E+PjJdPWNbYj4+Ml07Y1th
KzQ+PjJdPWNbYis0Pj4yXTtjW2ErOD4+Ml09Y1tiKzg+PjJdO2NbYSsxMj4+Ml09Y1tiKzEyPj4y
XTtyZXR1cm59ZnVuY3Rpb24gb0koYSl7YT0rYTtyZXR1cm4gKyhhKmEqMy4wKigxLjAtYSkpfWZ1
bmN0aW9uIHBJKGEsYixkLGUsZixnLGksaixrKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8
MDtnPWd8MDtpPWl8MDtqPWp8MDtrPWt8MDt2YXIgbT0wLjAsbj0wLjAsbz0wLjAscD0wLjAscT0w
LHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLjAseD0wLjAseT0wLjAsej0wLjAsQT0wLjAsQj0wLEM9
MCxEPTAsRT0wLEY9MCxHPTAsSD0wLjAsST0wLjAsSj0wLEs9MCxMPTAsTT0wO0c9bDtsPWwrMTI4
fDA7Qj1HKzExMnwwO3Y9Rys4MHwwO3U9RztyPUcrOTZ8MDtzPUcrNjR8MDt0PUcrNDh8MDtDPUcr
MzJ8MDtEPUcrMTZ8MDtFPWErKGIrLTE8PDQpfDA7cT0wO3c9MC4wO3g9MC4wO3k9MC4wO3o9MC4w
O0E9MC4wO3doaWxlKDEpe2lmKChxfDApPj0oYnwwKSlicmVhaztLPWQrKHEqNDB8MCkrOHwwO2Nb
dj4+Ml09Y1tLPj4yXTtjW3YrND4+Ml09Y1tLKzQ+PjJdO2Nbdis4Pj4yXT1jW0srOD4+Ml07Y1t2
KzEyPj4yXT1jW0srMTI+PjJdO2NbQj4+Ml09Y1tLPj4yXTtjW0IrND4+Ml09Y1tLKzQ+PjJdO2Nb
Qis4Pj4yXT1jW0srOD4+Ml07Y1tCKzEyPj4yXT1jW0srMTI+PjJdO0g9K0FJKHYsQikreDtKPWQr
KHEqNDB8MCkrMjR8MDtjW3Y+PjJdPWNbSz4+Ml07Y1t2KzQ+PjJdPWNbSys0Pj4yXTtjW3YrOD4+
Ml09Y1tLKzg+PjJdO2NbdisxMj4+Ml09Y1tLKzEyPj4yXTtjW0I+PjJdPWNbSj4+Ml07Y1tCKzQ+
PjJdPWNbSis0Pj4yXTtjW0IrOD4+Ml09Y1tKKzg+PjJdO2NbQisxMj4+Ml09Y1tKKzEyPj4yXTtw
PStBSSh2LEIpK0E7Y1t2Pj4yXT1jW0o+PjJdO2Nbdis0Pj4yXT1jW0orND4+Ml07Y1t2Kzg+PjJd
PWNbSis4Pj4yXTtjW3YrMTI+PjJdPWNbSisxMj4+Ml07Y1tCPj4yXT1jW0o+PjJdO2NbQis0Pj4y
XT1jW0orND4+Ml07Y1tCKzg+PjJdPWNbSis4Pj4yXTtjW0IrMTI+PjJdPWNbSisxMj4+Ml07bz0r
QUkodixCKSt5O0w9YSsocTw8NCl8MDtNPWQrKHEqNDB8MCl8MDtJPStCSSgraFtNPj4zXSk7Y1tC
Pj4yXT1jW2E+PjJdO2NbQis0Pj4yXT1jW2ErND4+Ml07Y1tCKzg+PjJdPWNbYSs4Pj4yXTtjW0Ir
MTI+PjJdPWNbYSsxMj4+Ml07bkkocyxCLEkpO0k9K0NJKCtoW00+PjNdKTtjW0I+PjJdPWNbRT4+
Ml07Y1tCKzQ+PjJdPWNbRSs0Pj4yXTtjW0IrOD4+Ml09Y1tFKzg+PjJdO2NbQisxMj4+Ml09Y1tF
KzEyPj4yXTtuSSh0LEIsSSk7Y1t2Pj4yXT1jW3M+PjJdO2Nbdis0Pj4yXT1jW3MrND4+Ml07Y1t2
Kzg+PjJdPWNbcys4Pj4yXTtjW3YrMTI+PjJdPWNbcysxMj4+Ml07Y1tCPj4yXT1jW3Q+PjJdO2Nb
Qis0Pj4yXT1jW3QrND4+Ml07Y1tCKzg+PjJdPWNbdCs4Pj4yXTtjW0IrMTI+PjJdPWNbdCsxMj4+
Ml07ckkocix2LEIpO2Nbdj4+Ml09Y1tMPj4yXTtjW3YrND4+Ml09Y1tMKzQ+PjJdO2Nbdis4Pj4y
XT1jW0wrOD4+Ml07Y1t2KzEyPj4yXT1jW0wrMTI+PjJdO2NbQj4+Ml09Y1tyPj4yXTtjW0IrND4+
Ml09Y1tyKzQ+PjJdO2NbQis4Pj4yXT1jW3IrOD4+Ml07Y1tCKzEyPj4yXT1jW3IrMTI+PjJdO3NJ
KHUsdixCKTtjW3Y+PjJdPWNbSz4+Ml07Y1t2KzQ+PjJdPWNbSys0Pj4yXTtjW3YrOD4+Ml09Y1tL
Kzg+PjJdO2NbdisxMj4+Ml09Y1tLKzEyPj4yXTtjW0I+PjJdPWNbdT4+Ml07Y1tCKzQ+PjJdPWNb
dSs0Pj4yXTtjW0IrOD4+Ml09Y1t1Kzg+PjJdO2NbQisxMj4+Ml09Y1t1KzEyPj4yXTtJPStBSSh2
LEIpK3c7Y1t2Pj4yXT1jW0o+PjJdO2Nbdis0Pj4yXT1jW0orND4+Ml07Y1t2Kzg+PjJdPWNbSis4
Pj4yXTtjW3YrMTI+PjJdPWNbSisxMj4+Ml07Y1tCPj4yXT1jW3U+PjJdO2NbQis0Pj4yXT1jW3Ur
ND4+Ml07Y1tCKzg+PjJdPWNbdSs4Pj4yXTtjW0IrMTI+PjJdPWNbdSsxMj4+Ml07cT1xKzF8MDt3
PUk7eD1IO3k9bzt6PStBSSh2LEIpK3o7QT1wfW89eSp4LUEqQTtwPW8+PTAuMD9vOi1vO2lmKCEo
cD49MS4wZS0wNj8obT0oeSp3LUEqeikvbyxuPSh4KnotQSp3KS9vLCEocDwxLjBlLTA2fG08PTAu
MHxuPD0wLjApKTowKSlGPTY7aWYoKEZ8MCk9PTYpe2Nbdj4+Ml09Y1thPj4yXTtjW3YrND4+Ml09
Y1thKzQ+PjJdO2Nbdis4Pj4yXT1jW2ErOD4+Ml07Y1t2KzEyPj4yXT1jW2ErMTI+PjJdO2NbQj4+
Ml09Y1tFPj4yXTtjW0IrND4+Ml09Y1tFKzQ+PjJdO2NbQis4Pj4yXT1jW0UrOD4+Ml07Y1tCKzEy
Pj4yXT1jW0UrMTI+PjJdO209K2xJKHYsQikqLjMzMzMzMzMzMzMzMzMzMzM7bj1tfTtjW2c+PjJd
PWNbYT4+Ml07Y1tnKzQ+PjJdPWNbYSs0Pj4yXTtjW2crOD4+Ml09Y1thKzg+PjJdO2NbZysxMj4+
Ml09Y1thKzEyPj4yXTtjW0I+PjJdPWNbZT4+Ml07Y1tCKzQ+PjJdPWNbZSs0Pj4yXTtjW0IrOD4+
Ml09Y1tlKzg+PjJdO2NbQisxMj4+Ml09Y1tlKzEyPj4yXTtuSShDLEIsbSk7Y1tpPj4yXT1jW0M+
PjJdO2NbaSs0Pj4yXT1jW0MrND4+Ml07Y1tpKzg+PjJdPWNbQys4Pj4yXTtjW2krMTI+PjJdPWNb
QysxMj4+Ml07Y1tqPj4yXT1jW0U+PjJdO2Nbais0Pj4yXT1jW0UrND4+Ml07Y1tqKzg+PjJdPWNb
RSs4Pj4yXTtjW2orMTI+PjJdPWNbRSsxMj4+Ml07Y1tCPj4yXT1jW2Y+PjJdO2NbQis0Pj4yXT1j
W2YrND4+Ml07Y1tCKzg+PjJdPWNbZis4Pj4yXTtjW0IrMTI+PjJdPWNbZisxMj4+Ml07bkkoRCxC
LG4pO2Nbaz4+Ml09Y1tEPj4yXTtjW2srND4+Ml09Y1tEKzQ+PjJdO2Nbays4Pj4yXT1jW0QrOD4+
Ml07Y1trKzEyPj4yXT1jW0QrMTI+PjJdO2w9RztyZXR1cm59ZnVuY3Rpb24gcUkoYSxiLGQsZSxm
LGcsaSxqKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtpPWl8MDtqPWp8MDt2
YXIgaz0wLjAsbT0wLjAsbj0wLjAsbz0wLjAscD0wLjAscT0wLHI9MC4wLHM9MC4wLHQ9MCx1PTAu
MCx2PTAsdz0wLjAseD0wLHk9MC4wLHo9MCxBPTAsQj0wLEM9MCxEPTAuMCxFPTA7Qz1sO2w9bCs2
NHwwO0I9Qzt6PShqfDApPT0yO3k9K2hbZD4+M107dT0raFtkKzg+PjNdO3Y9Qis4fDA7dz0raFtl
Pj4zXTt4PUIrMTZ8MDtwPStoW2UrOD4+M107cT1CKzI0fDA7cj0raFtmPj4zXTtzPStoW2c+PjNd
O3Q9QiszMnwwO289K2hbZis4Pj4zXTtuPStoW2crOD4+M107ZT1CKzQwfDA7Zj1CKzQ4fDA7Zz1C
KzU2fDA7ZD0xO2s9NC4wO209NC4wO3doaWxlKDEpe2hbQj4+M109eTtoW3Y+PjNdPXU7RD1tKi4z
MzMzMzMzMzMzMzMzMzMzO2hbeD4+M109RCp3K3k7aFtxPj4zXT1EKnArdTtEPWsqLjMzMzMzMzMz
MzMzMzMzMzM7aFt0Pj4zXT1yLUQqcztoW2U+PjNdPW8tRCpuO2hbZj4+M109cjtoW2c+PjNdPW87
aWYoZD8oRD0rdkkoQiw0KSxEPCt2SShpLGopKy0uMDAxKTowKXtkPTA7YnJlYWt9aWYod0koYSxi
LEIpfDApe0E9NTticmVha31pZihtPT0wLjAmaz09MC4wKXtBPTk7YnJlYWt9RT1tPi4wMTtkPTA7
az1FP2sqLjU6MC4wO209RT9tKi41OjAuMH1hOmRvIGlmKChBfDApPT01KXtqSSgoY1s0MjQ5MF18
MCkrNHwwKTtlPWNbNDI0OTFdfDA7ZD0xO3doaWxlKDEpe2lmKChkfDApPT00KXtkPTE7YnJlYWsg
YX1FPWNbNDI0OTBdfDA7aFtlKyhFPDw0KT4+M109K2hbQisoZDw8NCk+PjNdO0Q9K2hbQisoZDw8
NCkrOD4+M107Y1s0MjQ5MF09RSsxO2hbZSsoRTw8NCkrOD4+M109RDtkPWQrMXwwfX1lbHNlIGlm
KChBfDApPT05KWlmKHope2pJKChjWzQyNDkwXXwwKSs0fDApO2U9Y1s0MjQ5MV18MDtkPTE7d2hp
bGUoMSl7aWYoKGR8MCk9PTQpe2Q9MTticmVhayBhfUU9Y1s0MjQ5MF18MDtoW2UrKEU8PDQpPj4z
XT0raFtCKyhkPDw0KT4+M107RD0raFtCKyhkPDw0KSs4Pj4zXTtjWzQyNDkwXT1FKzE7aFtlKyhF
PDw0KSs4Pj4zXT1EO2Q9ZCsxfDB9fWVsc2UgZD0wO3doaWxlKDApO2w9QztyZXR1cm4gZHwwfWZ1
bmN0aW9uIHJJKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wO2hbYj4+M109K2hbYj4+
M10rICtoW2Q+PjNdO2U9Yis4fDA7aFtlPj4zXT0raFtlPj4zXSsgK2hbZCs4Pj4zXTtjW2E+PjJd
PWNbYj4+Ml07Y1thKzQ+PjJdPWNbYis0Pj4yXTtjW2ErOD4+Ml09Y1tiKzg+PjJdO2NbYSsxMj4+
Ml09Y1tiKzEyPj4yXTtyZXR1cm59ZnVuY3Rpb24gc0koYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHww
O3ZhciBlPTA7aFtiPj4zXT0raFtiPj4zXS0raFtkPj4zXTtlPWIrOHwwO2hbZT4+M109K2hbZT4+
M10tK2hbZCs4Pj4zXTtjW2E+PjJdPWNbYj4+Ml07Y1thKzQ+PjJdPWNbYis0Pj4yXTtjW2ErOD4+
Ml09Y1tiKzg+PjJdO2NbYSsxMj4+Ml09Y1tiKzEyPj4yXTtyZXR1cm59ZnVuY3Rpb24gdEkoYSl7
YT0rYTthPTEuMC1hO3JldHVybiArKGEqYSphKX1mdW5jdGlvbiB1SShhKXthPSthO3JldHVybiAr
KGEqYSphKX1mdW5jdGlvbiB2SShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAsZT0wLjAs
Zj0wLjAsZz0wO2M9MC4wO2Q9MTt3aGlsZSgxKXtpZigoZHwwKT49KGJ8MCkpYnJlYWs7Zz1kKy0x
fDA7ZT0raFthKyhkPDw0KT4+M10tK2hbYSsoZzw8NCk+PjNdO2Y9K2hbYSsoZDw8NCkrOD4+M10t
K2hbYSsoZzw8NCkrOD4+M107Yz0rQygrKGYqZitlKmUpKStjO2Q9ZCsxfDB9cmV0dXJuICtjfWZ1
bmN0aW9uIHdJKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaT0wLGo9
MCxrPTAsbT0wLG49MCxvPTAuMCxwPTAuMCxxPTAuMCxyPTAuMCxzPTAuMCx0PTAsdT0wLHY9MC4w
LHc9MCx4PTAuMCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MC4wLEU9MC4wO0M9bDtsPWwrNjR8MDt0
PUMrMzJ8MDt1PUM7dz11KzE2fDA7eT1kKzE2fDA7ej1kKzMyfDA7QT1kKzQ4fDA7Qj1kKzh8MDtn
PWQrMjR8MDtpPWQrNDB8MDtqPWQrNTZ8MDtrPXUrOHwwO209dSsyNHwwO2Y9MDthOndoaWxlKDEp
e2lmKChmfDApPj0oYnwwKSl7ZT0xO2JyZWFrfW49YSsoZjw8NSl8MDtjW3U+PjJdPWNbbj4+Ml07
Y1t1KzQ+PjJdPWNbbis0Pj4yXTtjW3UrOD4+Ml09Y1tuKzg+PjJdO2NbdSsxMj4+Ml09Y1tuKzEy
Pj4yXTtuPWErKGY8PDUpKzE2fDA7Y1t3Pj4yXT1jW24+PjJdO2Nbdys0Pj4yXT1jW24rND4+Ml07
Y1t3Kzg+PjJdPWNbbis4Pj4yXTtjW3crMTI+PjJdPWNbbisxMj4+Ml07bj14SShkLHUsdCl8MDti
OmRvIGlmKChufDApIT00KXtvPStoW3U+PjNdO3A9K2hbaz4+M107cT0raFt3Pj4zXTtyPStoW20+
PjNdO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KG58MCkpYnJlYWsgYjtzPStoW3QrKGU8PDMpPj4z
XTtpZigoIShzPDEuMGUtMDZ8cz4uOTk5OTk5KT8oeD1zKnMqcyxFPXMqMy4wLEQ9MS4wLXMscz1F
KnMqRCx2PUQqRCxFPXYqRSxEPXYqRCx2PStoW3k+PjNdKkUrICtoW2Q+PjNdKkQrICtoW3o+PjNd
KnMrICtoW0E+PjNdKngseD0raFtnPj4zXSpFKyAraFtCPj4zXSpEKyAraFtpPj4zXSpzKyAraFtq
Pj4zXSp4LHM9di1vLEQ9eC1wLCEoRCpEK3MqczwuMDAxKSk6MCk/KEU9di1xLEQ9eC1yLCEoRCpE
K0UqRTwuMDAxKSk6MCl7ZT0wO2JyZWFrIGF9ZT1lKzF8MH19d2hpbGUoMCk7Zj1mKzF8MH1sPUM7
cmV0dXJuIGV8MH1mdW5jdGlvbiB4SShhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxm
PTAsZz0wLjAsaT0wLGo9MC4wLGs9MCxtPTAsbj0wLG89MCxwPTAuMCxxPTAuMCxyPTAscz0wLHQ9
MCx1PTAsdj0wO3Y9bDtsPWwrOTZ8MDtzPXYrNDh8MDt0PXYrMjR8MDtrPXY7dT12KzgwfDA7cD0r
aFtiPj4zXTtnPStoW2IrMTY+PjNdLXA7cT0raFtiKzg+PjNdO2o9K2hbYisyND4+M10tcTtjW3U+
PjJdPTA7YTpkbyBpZighKGc9PTAuMCkpe2o9ai9nO209YSsxNnwwO249YSszMnwwO289YSs0OHww
O3lJKCtoW2ErOD4+M10tK2hbYT4+M10qaiwraFthKzI0Pj4zXS0raFttPj4zXSpqLCtoW2ErNDA+
PjNdLStoW24+PjNdKmosK2hbYSs1Nj4+M10tK2hbbz4+M10qaixzKTtoW3M+PjNdPWoqcC1xKyAr
aFtzPj4zXTtlPVVJKHMsdCl8MDtpZigoZXwwKT09NCliPTQ7ZWxzZXtmPXMrOHwwO2k9cysxNnww
O2s9cysyNHwwO2c9MS4wL2c7Yj0wO3doaWxlKDEpe2lmKChifDApPj0oZXwwKSlicmVhaztqPSto
W3QrKGI8PDMpPj4zXTtpZihqPj0wLjAmajw9MS4wPyh5SSgraFthPj4zXSwraFttPj4zXSwraFtu
Pj4zXSwraFtvPj4zXSxzKSxxPSgraFtzPj4zXS1wKygoK2hbaz4+M10qaisgK2hbaT4+M10pKmor
ICtoW2Y+PjNdKSpqKSpnLHE+PTAuMCZxPD0xLjApOjApekkoaixkLHUpO2I9YisxfDB9Yj1jW3U+
PjJdfDB9fWVsc2V7eUkoK2hbYT4+M10sK2hbYSsxNj4+M10sK2hbYSszMj4+M10sK2hbYSs0OD4+
M10scyk7aFtzPj4zXT0raFtzPj4zXS1wO3I9VUkocyx0KXwwO2lmKCEoaj09MC4wKSl7aWYoKHJ8
MCk9PTQpe2I9NDticmVha31tPWErOHwwO249YSsyNHwwO289YSs0MHwwO2U9YSs1NnwwO2Y9cys4
fDA7aT1zKzE2fDA7az1zKzI0fDA7Zz0xLjAvajtiPTA7d2hpbGUoMSl7aWYoKGJ8MCk+PShyfDAp
KWJyZWFrO2o9K2hbdCsoYjw8Myk+PjNdO2lmKGo+PTAuMCZqPD0xLjA/KHlJKCtoW20+PjNdLCto
W24+PjNdLCtoW28+PjNdLCtoW2U+PjNdLHMpLHA9KCtoW3M+PjNdLXErKCgraFtrPj4zXSpqKyAr
aFtpPj4zXSkqaisgK2hbZj4+M10pKmopKmcscD49MC4wJnA8PTEuMCk6MCl6SShqLGQsdSk7Yj1i
KzF8MH1iPWNbdT4+Ml18MDticmVha315SSgraFthKzg+PjNdLCtoW2ErMjQ+PjNdLCtoW2ErNDA+
PjNdLCtoW2ErNTY+PjNdLHMpO2hbcz4+M109K2hbcz4+M10tcTtpPVVJKHMsayl8MDtiPShpfDAp
PT00O2I6ZG8gaWYoKHJ8MCk9PTQpe2lmKGIpe2I9NDticmVhayBhfWVsc2UgYj0wO3doaWxlKDEp
e2lmKChifDApPj0oaXwwKSlicmVhayBiO3pJKCtoW2srKGI8PDMpPj4zXSxkLHUpO2I9YisxfDB9
fWVsc2V7aWYoYil7Yj0wO3doaWxlKDEpe2lmKChifDApPj0ocnwwKSlicmVhayBiO3pJKCtoW3Qr
KGI8PDMpPj4zXSxkLHUpO2I9YisxfDB9fWVsc2UgZT0wO3doaWxlKDEpe2lmKChlfDApPj0ocnww
KSlicmVhayBiO2Y9dCsoZTw8Myl8MDtiPTA7d2hpbGUoMSl7aWYoKGJ8MCk+PShpfDApKWJyZWFr
O2c9K2hbZj4+M107aWYoZz09K2hbaysoYjw8Myk+PjNdKXpJKGcsZCx1KTtiPWIrMXwwfWU9ZSsx
fDB9fXdoaWxlKDApO2I9Y1t1Pj4yXXwwfXdoaWxlKDApO2w9djtyZXR1cm4gYnwwfWZ1bmN0aW9u
IHlJKGEsYixjLGQsZSl7YT0rYTtiPStiO2M9K2M7ZD0rZDtlPWV8MDtoW2UrMjQ+PjNdPWQtYSso
Yi1jKSozLjA7aFtlKzE2Pj4zXT0oYythKSozLjAtYio2LjA7aFtlKzg+PjNdPShiLWEpKjMuMDto
W2U+PjNdPWE7cmV0dXJufWZ1bmN0aW9uIHpJKGEsYixkKXthPSthO2I9YnwwO2Q9ZHwwO3ZhciBl
PTA7aWYoYT49MC4wJmE8PTEuMCl7ZT1jW2Q+PjJdfDA7aFtiKyhlPDwzKT4+M109YTtjW2Q+PjJd
PWUrMX1yZXR1cm59ZnVuY3Rpb24gQUkoYSxiKXthPWF8MDtiPWJ8MDtyZXR1cm4gKygraFtiKzg+
PjNdKitoW2ErOD4+M10rICtoW2I+PjNdKitoW2E+PjNdKX1mdW5jdGlvbiBCSShhKXthPSthO3Zh
ciBiPTAuMDtiPTEuMC1hO3JldHVybiArKGIqYiooYithKjMuMCkpfWZ1bmN0aW9uIENJKGEpe2E9
K2E7cmV0dXJuICsoYSphKigoMS4wLWEpKjMuMCthKSl9CitmdW5jdGlvbiBzeChkLGYsZyl7ZD1k
fDA7Zj1mfDA7Zz1nfDA7dmFyIGk9MCxqPTAsaz0wLG09MC4wLG49MCxvPTAuMCxwPTAscT0wLjAs
cj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEc9MCxI
PTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9
MCxXPTAsWD0wLFk9MDtZPWw7bD1sKzIyODh8MDtXPVkrMjA4fDA7Vj1ZKzE5MnwwO1U9WSsxNzZ8
MDtUPVkrMTYwfDA7Uz1ZKzE0NHwwO1I9WSsxMjh8MDtQPVkrMTEyfDA7Tz1ZKzk2fDA7Tj1ZKzgw
fDA7TT1ZKzY0fDA7TD1ZKzU2fDA7Sz1ZKzQ4fDA7WD1ZKzMyfDA7UT1ZKzI0fDA7Sj1ZO0c9WSsx
MjY0fDA7SD1ZKzIyNHwwO0k9ZCsxNnwwO0M9KGVbKGNbST4+Ml18MCkrMTc4Pj4xXXwwKT4yO0Z2
KDEpO2p4KGQpO2NtKEgsMTAyNCxZKzI0MHwwKTt0QihkLDEsODc2NTcsMTc0MTgxKXwwO3RCKGQs
MSw4NzY2MSwxNzQxODEpfDA7Y1s0MjE5MF09dEIoZCwxLDk2MDQzLDE3NDE4MSl8MDtjWzQyMTg5
XT10QihkLDEsOTYwNDksMTc0MTgxKXwwO3RCKGQsMiw4NzY1NywxNzQxODEpfDA7aT1hWyhjW0k+
PjJdfDApKzExMz4+MF18MDtpZihpJjE2KXt0QihkLDEsODc2NjcsMTc0MTgxKXwwO2k9YVsoY1tJ
Pj4yXXwwKSsxMTM+PjBdfDB9aWYoaSYxKXt0QihkLDIsODc2NzEsMTc0MTgxKXwwO2k9YVsoY1tJ
Pj4yXXwwKSsxMTM+PjBdfDB9aWYoaSYzMil7dEIoZCwyLDg3NjY3LDE3NDE4MSl8MDtpPWFbKGNb
ST4+Ml18MCkrMTEzPj4wXXwwfWlmKGkmMil7dEIoZCwyLDg3Njc0LDE3NDE4MSl8MDtpPWFbKGNb
ST4+Ml18MCkrMTEzPj4wXXwwfWlmKGkmNCl7dEIoZCwyLDg3NjgyLDE3NDE4MSl8MDtpPWFbKGNb
ST4+Ml18MCkrMTEzPj4wXXwwfWlmKCEoaSY4KSl7dj0wO3c9MDt4PTB9ZWxzZXt4PXRCKGQsMCw4
NzY3MSwxNzQxODEpfDA7dz10QihkLDAsODc2OTAsMTc0MTgxKXwwO3Y9dEIoZCwwLDg3Njk3LDE3
NDE4MSl8MH16PXRCKGQsMCw4NzcwNSwxNzQxODEpfDA7QT1IKzR8MDtCPUgrOHwwO3U9MDtpPTA7
eT1jbyhkKXwwO3doaWxlKDEpe2lmKCF5KWJyZWFrO3Q9eSsxNnwwO2s9Y1t0Pj4yXXwwO289K2hb
aysxNj4+M107aj0oY1s0MjE4M118MCk9PTA7aWYoQyl7aWYoailtPStoW2srMjQ+PjNdO2Vsc2Ug
bT0raFsyMDg5NV0tK2hbaysyND4+M107cT0raFsoY1trKzEzMj4+Ml18MCkrMTY+PjNdKjcyLjA7
aFtKPj4zXT1vO2hbSis4Pj4zXT1tO2hbSisxNj4+M109cTtwTChHLDg3NzA4LEopfDA7Zm0oSCxH
KXwwO2o9Mzt3aGlsZSgxKXtpZigoanwwKT49KGVbKGNbST4+Ml18MCkrMTc4Pj4xXXwwKSlicmVh
aztoW1E+PjNdPStoWyhjWyhjW3Q+PjJdfDApKzEzMj4+Ml18MCkrKGo8PDMpPj4zXSo3Mi4wO3BM
KEcsODc3MjMsUSl8MDtmbShILEcpfDA7aj1qKzF8MH1qPWNbQT4+Ml18MDtpZihqPj4+MD49KGNb
Qj4+Ml18MCk+Pj4wKXtkbShILDEpfDA7aj1jW0E+PjJdfDB9YVtqPj4wXT0wO3M9Y1tIPj4yXXww
O2NbQT4+Ml09cztLbSh5LDg3NjU3LHMpfDA7cz15fWVsc2V7aWYoailtPStoW2srMjQ+PjNdO2Vs
c2UgbT0raFsyMDg5NV0tK2hbaysyND4+M107aFtYPj4zXT1vO2hbWCs4Pj4zXT1tO3BMKEcsODc3
MjksWCl8MDtLbSh5LDg3NjU3LEcpfDA7cz15fWhbSz4+M109K2hbKGNbdD4+Ml18MCkrODA+PjNd
Ki4wMTM4ODg4ODg4ODg4ODg4ODg7cEwoRyw4NzY1MixLKXwwO0NtKHMsY1s0MjE4OV18MCxHKXww
O2o9Y1t0Pj4yXXwwO2hbTD4+M109KCtoW2orOTY+PjNdKyAraFtqKzg4Pj4zXSkqLjAxMzg4ODg4
ODg4ODg4ODg4ODtwTChHLDg3NjUyLEwpfDA7Q20ocyxjWzQyMTkwXXwwLEcpfDA7aj1jW3Q+PjJd
fDA7az1jW2orMTA4Pj4yXXwwO2lmKChrfDApIT0wPyhhW2srODE+PjBdfDApIT0wOjApe3E9K2hb
ays2ND4+M107cT0oY1s0MjE4M118MCk9PTA/cToraFsyMDg5NV0tcTtoW00+PjNdPStoW2srNTY+
PjNdO2hbTSs4Pj4zXT1xO3BMKEcsODc3MjksTSl8MDtLbShzLDg3NjY3LEcpfDA7aj1jW3Q+PjJd
fDB9aWYoeEooY1tjW2orOD4+Ml0+PjJdfDAsOTEyNjQpfDApe2lmKGNbNDIyMTRdfDA/KE95KHkp
fDApPDwyND4+MjQ6MCl7az1jWyhjW3Q+PjJdfDApKzEyPj4yXXwwO3I9ays4fDA7aj1jW3I+PjJd
fDA7aWYoKGp8MCk8Myl7aj1JbShzLDg3NzM5KXwwO2lmKCFqKWo9ODtlbHNlIGo9ck0oail8MDtq
PShqfDApPDM/ODpqfXA9ays0NHwwO3E9MS4wLysoanwwKTtuPTA7d2hpbGUoMSl7aWYoKG58MCk+
PShqfDApKWJyZWFrO2lmKChufDApPjApe2s9Y1tBPj4yXXwwO2lmKGs+Pj4wPj0oY1tCPj4yXXww
KT4+PjApe2RtKEgsMSl8MDtrPWNbQT4+Ml18MH1jW0E+PjJdPWsrMTthW2s+PjBdPTMyfWlmKChj
W3I+PjJdfDApPjIpe2s9Y1twPj4yXXwwO2lmKCEoY1s0MjE4M118MCkpbT0raFtrKyhuPDw0KSs4
Pj4zXSouMDEzODg4ODg4ODg4ODg4ODg4O2Vsc2UgbT0raFsyMDg5Nl0tK2hbaysobjw8NCkrOD4+
M10qLjAxMzg4ODg4ODg4ODg4ODg4ODtoW04+PjNdPStoW2srKG48PDQpPj4zXSouMDEzODg4ODg4
ODg4ODg4ODg4O2hbTis4Pj4zXT1tO3BMKEcsODc3NTIsTil8MH1lbHNle2s9Y1t0Pj4yXXwwO209
cSorKG58MCkqNi4yODMxODUzMDcxNzk1ODY7bz0raFtrKzMyPj4zXSouNSorRSgrbSk7aWYoIShj
WzQyMTgzXXwwKSltPStoW2srNDA+PjNdKi41KitGKCttKTtlbHNlIG09K2hbMjA4OTZdLStoW2sr
NDA+PjNdKi41KitGKCttKTtoW08+PjNdPW87aFtPKzg+PjNdPW07cEwoRyw4Nzc1MixPKXwwfWZt
KEgsRyl8MDtuPW4rMXwwfWs9Y1s0MjIxNF18MDtqPWNbQT4+Ml18MDtpZihqPj4+MD49KGNbQj4+
Ml18MCk+Pj4wKXtkbShILDEpfDA7aj1jW0E+PjJdfDB9YVtqPj4wXT0wO3Q9Y1tIPj4yXXwwO2Nb
QT4+Ml09dDtDbShzLGssdCl8MH19ZWxzZXt0eCh5LGNbaisxMj4+Ml18MCxIKTtobShIKXwwO2o9
Y1tBPj4yXXwwO2lmKGo+Pj4wPj0oY1tCPj4yXXwwKT4+PjApe2RtKEgsMSl8MDtqPWNbQT4+Ml18
MH1hW2o+PjBdPTA7dD1jW0g+PjJdfDA7Y1tBPj4yXT10O0ttKHMsODc2NjEsdCl8MH1hOmRvIGlm
KChjWzQyMTgxXXwwKT4wKXt0PVBtKGQseSl8MDtqPXU7d2hpbGUoMSl7aWYoIXQpYnJlYWsgYTtz
PXQrMTZ8MDtrPWNbcz4+Ml18MDtkbyBpZigoYVtrKzExMj4+MF18MCkhPTY/KEQ9Y1trKzg+PjJd
fDAsKER8MCkhPTApOjApe3I9MDtrPUQ7d2hpbGUoMSl7aWYoKHJ8MCk+PShjW2srND4+Ml18MCkp
YnJlYWs7aWYoKHJ8MCk+MCl7az1jW0E+PjJdfDA7aWYoaz4+PjA+PShjW0I+PjJdfDApPj4+MCl7
ZG0oSCwxKXwwO2s9Y1tBPj4yXXwwfWNbQT4+Ml09aysxO2Fbaz4+MF09NTk7az1jWyhjW3M+PjJd
fDApKzg+PjJdfDB9az1jW2s+PjJdfDA7aWYoY1trKyhyKjQ4fDApKzg+PjJdfDApe2lmKCEoY1s0
MjE4M118MCkpbT0raFtrKyhyKjQ4fDApKzI0Pj4zXTtlbHNlIG09K2hbMjA4OTVdLStoW2srKHIq
NDh8MCkrMjQ+PjNdO2hbUD4+M109K2hbaysocio0OHwwKSsxNj4+M107aFtQKzg+PjNdPW07cEwo
Ryw4Nzc2MixQKXwwO2ZtKEgsRyl8MDtpPTE7az1jW2NbKGNbcz4+Ml18MCkrOD4+Ml0+PjJdfDB9
aWYoY1trKyhyKjQ4fDApKzEyPj4yXXwwKXtpZighKGNbNDIxODNdfDApKW09K2hbaysocio0OHww
KSs0MD4+M107ZWxzZSBtPStoWzIwODk1XS0raFtrKyhyKjQ4fDApKzQwPj4zXTtoW1I+PjNdPSto
W2srKHIqNDh8MCkrMzI+PjNdO2hbUis4Pj4zXT1tO3BMKEcsODc3NzUsUil8MDtmbShILEcpfDA7
aj0xfXA9MDt3aGlsZSgxKXtrPWNbKGNbcz4+Ml18MCkrOD4+Ml18MDtuPWNbaz4+Ml18MDtpZigo
cHwwKT49KGNbbisocio0OHwwKSs0Pj4yXXwwKSlicmVhaztpZigocHwwKT4wKXtrPWNbQT4+Ml18
MDtpZihrPj4+MD49KGNbQj4+Ml18MCk+Pj4wKXtkbShILDEpfDA7az1jW0E+PjJdfDB9Y1tBPj4y
XT1rKzE7YVtrPj4wXT0zMjtrPWNbY1soY1tzPj4yXXwwKSs4Pj4yXT4+Ml18MH1lbHNlIGs9bjt1
PWNbaysocio0OHwwKT4+Ml18MDtxPStoW3UrKHA8PDQpKzg+PjNdO3E9KGNbNDIxODNdfDApPT0w
P3E6K2hbMjA4OTVdLXE7aFtTPj4zXT0raFt1KyhwPDw0KT4+M107aFtTKzg+PjNdPXE7cEwoRyw4
NzcyOSxTKXwwO2ZtKEgsRyl8MDtwPXArMXwwfXI9cisxfDB9az1jW0E+PjJdfDA7aWYoaz4+PjA+
PShjW0I+PjJdfDApPj4+MCl7ZG0oSCwxKXwwO2s9Y1tBPj4yXXwwfWFbaz4+MF09MDtrPWNbSD4+
Ml18MDtjW0E+PjJdPWs7S20odCw4NzY1NyxrKXwwO2s9Y1tzPj4yXXwwO249Y1trKzk2Pj4yXXww
O2lmKG4pe3E9K2hbbis2ND4+M107cT0oY1s0MjE4M118MCk9PTA/cToraFsyMDg5NV0tcTtoW1Q+
PjNdPStoW24rNTY+PjNdO2hbVCs4Pj4zXT1xO3BMKEcsODc3MjksVCl8MDtLbSh0LDg3NjcxLEcp
fDA7az1jW3M+PjJdfDB9bj1jW2srMTA4Pj4yXXwwO2RvIGlmKG4pe2lmKCEoYVtuKzgxPj4wXXww
KSlicmVhaztxPStoW24rNjQ+PjNdO3E9KGNbNDIxODNdfDApPT0wP3E6K2hbMjA4OTVdLXE7aFtV
Pj4zXT0raFtuKzU2Pj4zXTtoW1UrOD4+M109cTtwTChHLDg3NzI5LFUpfDA7S20odCw4NzY2NyxH
KXwwO2s9Y1tzPj4yXXwwfXdoaWxlKDApO249Y1trKzEwMD4+Ml18MDtpZihuKXtxPStoW24rNjQ+
PjNdO3E9KGNbNDIxODNdfDApPT0wP3E6K2hbMjA4OTVdLXE7aFtWPj4zXT0raFtuKzU2Pj4zXTto
W1YrOD4+M109cTtwTChHLDg3NzI5LFYpfDA7S20odCw4NzY3NCxHKXwwO2s9Y1tzPj4yXXwwfWs9
Y1trKzEwND4+Ml18MDtpZighaylicmVhaztxPStoW2srNjQ+PjNdO3E9KGNbNDIxODNdfDApPT0w
P3E6K2hbMjA4OTVdLXE7aFtXPj4zXT0raFtrKzU2Pj4zXTtoW1crOD4+M109cTtwTChHLDg3NzI5
LFcpfDA7S20odCw4NzY4MixHKXwwfXdoaWxlKDApO3Q9Um0oZCx0KXwwfX1lbHNlIGo9dTt3aGls
ZSgwKTt1PWo7eT1lbyhkLHkpfDB9dXgoZCx6LHgsdyx2KTtnbShIKTtpZihiWyhjW0k+PjJdfDAp
KzEzNj4+MV0mMSluQihkKTtjW2Y+PjJdPWk7Y1tnPj4yXT11O0Z2KDApO2w9WTtyZXR1cm59ZnVu
Y3Rpb24gdHgoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLjAsZz0wLjAsaT0w
LjAsaj0wLGs9MCxtPTAsbj0wLG89MC4wO249bDtsPWwrMTA1NnwwO2s9bjtqPW4rMzJ8MDttPWIr
NDh8MDtpZighKGNbbT4+Ml18MCkpe2U9Y1thKzE2Pj4yXXwwO2k9K2hbZSsxNj4+M107aWYoIShj
WzQyMTgzXXwwKSl7Zz0raFtlKzI0Pj4zXTtmPWcrICtoW2IrMjQ+PjNdO2c9ZysgK2hbYis0MD4+
M119ZWxzZXtnPStoW2UrMjQ+PjNdO2Y9K2hbMjA4OTVdLStoW2IrMjQ+PjNdLWc7Zz0raFsyMDg5
NV0tK2hbYis0MD4+M10tZ31vPWkrICtoW2IrMzI+PjNdO2hbaz4+M109aSsgK2hbYisxNj4+M107
aFtrKzg+PjNdPWY7aFtrKzE2Pj4zXT1vO2hbaysyND4+M109ZztwTChqLDg3ODEzLGspfDA7Zm0o
ZCxqKXwwfWI9Yis1NnwwO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KGNbbT4+Ml18MCkpYnJlYWs7
dHgoYSxjWyhjW2I+PjJdfDApKyhlPDwyKT4+Ml18MCxkKTtlPWUrMXwwfWw9bjtyZXR1cm59ZnVu
Y3Rpb24gdXgoYixkLGUsZixnKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaT0w
LGo9MCxrPTAuMCxtPTAuMCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAuMDtzPWw7bD1sKzEw
ODh8MDtvPXMrNTZ8MDtxPXMrNDh8MDtwPXMrMzJ8MDtqPXM7bj1zKzY0fDA7cj1iKzE2fDA7aT1j
W3I+PjJdfDA7aWYoIShjWzQyMTgzXXwwKSl7az0raFtpKzI0Pj4zXTttPStoW2krNDA+PjNdfWVs
c2V7bT0raFsyMDg5NV07az1tLStoW2krMjQ+PjNdO209bS0raFtpKzQwPj4zXX10PStoW2krMzI+
PjNdO2hbaj4+M109K2hbaSsxNj4+M107aFtqKzg+PjNdPWs7aFtqKzE2Pj4zXT10O2hbaisyND4+
M109bTtwTChuLDg3Nzg4LGopfDA7Q20oYixkLG4pfDA7aT1jWyhjW3I+PjJdfDApKzEyPj4yXXww
O2lmKChpfDApIT0wPyhhW2NbaT4+Ml0+PjBdfDApIT0wOjApe3Q9K2hbaSs2ND4+M107dD0oY1s0
MjE4M118MCk9PTA/dDoraFsyMDg5NV0tdDtoW3A+PjNdPStoW2krNTY+PjNdO2hbcCs4Pj4zXT10
O3BMKG4sODc3MjkscCl8MDtDbShiLGUsbil8MDtpPWNbKGNbcj4+Ml18MCkrMTI+PjJdfDA7dD0r
aFtpKzMyPj4zXTtoW3E+PjNdPStoW2krMjQ+PjNdKi4wMTM4ODg4ODg4ODg4ODg4ODg7cEwobiw4
NzgwOCxxKXwwO0NtKGIsZixuKXwwO2hbbz4+M109dCouMDEzODg4ODg4ODg4ODg4ODg4O3BMKG4s
ODc4MDgsbyl8MDtDbShiLGcsbil8MDtpPTF9ZWxzZSBpPTE7d2hpbGUoMSl7aj1jW3I+PjJdfDA7
aWYoKGl8MCk+KGNbaisxODA+PjJdfDApKWJyZWFrO3V4KGNbKGNbaisxODQ+PjJdfDApKyhpPDwy
KT4+Ml18MCxkLGUsZixnKTtpPWkrMXwwfWw9cztyZXR1cm59ZnVuY3Rpb24gdngoYSl7YT1hfDA7
dmFyIGI9MDtiPWw7bD1sKzE2fDA7c3goYSxiLGIrNHwwKTtsPWI7cmV0dXJufWZ1bmN0aW9uIHd4
KCl7cmV0dXJuIFFsKDE5Nzk2LGNbNDM0NV18MCl8MH1mdW5jdGlvbiB4eChhLGIsYyl7YT1hfDA7
Yj1ifDA7Yz1jfDA7X0koYik7cmV0dXJufWZ1bmN0aW9uIHl4KGEsYixkLGUpe2E9YXwwO2I9Ynww
O2Q9ZHwwO2U9ZXwwO2E9Y1tiPj4yXXwwO2U9Y1tkPj4yXXwwO2lmKChhfDApPD0oZXwwKSlpZigo
YXwwKTwoZXwwKSlhPS0xO2Vsc2V7Yj1jW2IrND4+Ml18MDtkPWNbZCs0Pj4yXXwwO3JldHVybiAo
KGJ8MCk+KGR8MCk/MTooKGJ8MCk8KGR8MCkpPDwzMT4+MzEpfDB9ZWxzZSBhPTE7cmV0dXJuIGF8
MH1mdW5jdGlvbiB6eChhKXthPWF8MDtLbChhKXwwO3JldHVybn1mdW5jdGlvbiBBeChhLGIpe2E9
YXwwO2I9YnwwO3ZhciBkPTAsZT0wO2Q9bDtsPWwrMTZ8MDtlPWQ7Y1tlPj4yXT1jW2I+PjJdO2Nb
ZSs0Pj4yXT1jW2IrND4+Ml07Yj1CeChlKXwwO2lmKChiYltjW2E+PjJdJjMxXShhLGIsMSl8MCkh
PShifDApKV9JKGIpO2w9ZDtyZXR1cm59ZnVuY3Rpb24gQngoYSl7YT1hfDA7dmFyIGI9MCxkPTAs
ZT0wO2I9dncoMTYpfDA7ZT1hO2Q9Y1tlKzQ+PjJdfDA7YT1iKzh8MDtjW2E+PjJdPWNbZT4+Ml07
Y1thKzQ+PjJdPWQ7cmV0dXJuIGJ8MH1mdW5jdGlvbiBDeChhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1k
fDA7dmFyIGU9MCxmPTAsZz0wO2U9bDtsPWwrMTZ8MDtmPWUrOHwwO2c9ZTtjW2c+PjJdPWI7Y1tn
KzQ+PjJdPWQ7Y1tmPj4yXT1jW2c+PjJdO2NbZis0Pj4yXT1jW2crND4+Ml07Yj1CeChmKXwwO2lm
KChiYltjW2E+PjJdJjMxXShhLGIsMSl8MCkhPShifDApKV9JKGIpO2w9ZTtyZXR1cm59ZnVuY3Rp
b24gRHgoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wO2Q9bDtsPWwrMTZ8MDtl
PWQ7Zz1iO2Y9Y1tnKzQ+PjJdfDA7Yj1lKzh8MDtjW2I+PjJdPWNbZz4+Ml07Y1tiKzQ+PjJdPWY7
Yj0oYmJbY1thPj4yXSYzMV0oYSxlLDQpfDApIT0wJjE7bD1kO3JldHVybiBifDB9ZnVuY3Rpb24g
RXgoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wO2U9bDtsPWwrMTZ8MDtmPWU7
Y1tmKzg+PjJdPWI7Y1tmKzEyPj4yXT1kO2Q9KGJiW2NbYT4+Ml0mMzFdKGEsZiw0KXwwKSE9MCYx
O2w9ZTtyZXR1cm4gZHwwfWZ1bmN0aW9uIEZ4KGEpe2E9YXwwO3JldHVybiBTbChhKXwwfWZ1bmN0
aW9uIEd4KGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTAsZz0wO2Q9dncoKFNsKGEpfDApPDwz
KXwwO2I9ZDthPU9sKGEpfDA7d2hpbGUoMSl7aWYoIWEpYnJlYWs7Zz1hKzh8MDtmPWNbZys0Pj4y
XXwwO2U9YjtjW2U+PjJdPWNbZz4+Ml07Y1tlKzQ+PjJdPWY7Yj1iKzh8MDthPWNbYT4+Ml18MH1y
ZXR1cm4gZHwwfWZ1bmN0aW9uIEh4KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAuMCxmPTAu
MCxnPTAuMCxpPTAuMCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTA7dD1s
O2w9bCsxNjB8MDtxPXQrMTQ0fDA7ZD10KzQ4fDA7aj10KzEyOHwwO2s9dCsxMTJ8MDttPXQrOTZ8
MDtuPXQrODB8MDtvPXQrMzJ8MDtwPXQrMTZ8MDtyPXQ7cz1hKzE2fDA7YT1jW3M+PjJdfDA7ZT0r
aFthKzE2Pj4zXTtmPStoW2ErMjQ+PjNdO2c9K2hbYSszMj4+M107aT0raFthKzQwPj4zXTtpZigo
YistMXwwKT4+PjA8Mil7SXgoaixlLGkpO2NbcT4+Ml09Y1tqPj4yXTtjW3ErND4+Ml09Y1tqKzQ+
PjJdO2NbcSs4Pj4yXT1jW2orOD4+Ml07Y1txKzEyPj4yXT1jW2orMTI+PjJdO0p4KGQscSk7cD1k
KzE2fDA7SXgoayxnLGYpO2NbcT4+Ml09Y1trPj4yXTtjW3ErND4+Ml09Y1trKzQ+PjJdO2NbcSs4
Pj4yXT1jW2srOD4+Ml07Y1txKzEyPj4yXT1jW2srMTI+PjJdO0p4KG0scSk7Y1twPj4yXT1jW20+
PjJdO2NbcCs0Pj4yXT1jW20rND4+Ml07Y1twKzg+PjJdPWNbbSs4Pj4yXTtjW3ArMTI+PjJdPWNb
bSsxMj4+Ml19ZWxzZXtJeChuLGUsZik7Y1txPj4yXT1jW24+PjJdO2NbcSs0Pj4yXT1jW24rND4+
Ml07Y1txKzg+PjJdPWNbbis4Pj4yXTtjW3ErMTI+PjJdPWNbbisxMj4+Ml07SngoZCxxKTtuPWQr
MTZ8MDtJeChvLGcsaSk7Y1txPj4yXT1jW28+PjJdO2NbcSs0Pj4yXT1jW28rND4+Ml07Y1txKzg+
PjJdPWNbbys4Pj4yXTtjW3ErMTI+PjJdPWNbbysxMj4+Ml07SngocCxxKTtjW24+PjJdPWNbcD4+
Ml07Y1tuKzQ+PjJdPWNbcCs0Pj4yXTtjW24rOD4+Ml09Y1twKzg+PjJdO2NbbisxMj4+Ml09Y1tw
KzEyPj4yXX1hPShjW3M+PjJdfDApKzE2fDA7Y1thPj4yXT1jW2Q+PjJdO2NbYSs0Pj4yXT1jW2Qr
ND4+Ml07Y1thKzg+PjJdPWNbZCs4Pj4yXTtjW2ErMTI+PjJdPWNbZCsxMj4+Ml07Y1thKzE2Pj4y
XT1jW2QrMTY+PjJdO2NbYSsyMD4+Ml09Y1tkKzIwPj4yXTtjW2ErMjQ+PjJdPWNbZCsyND4+Ml07
Y1thKzI4Pj4yXT1jW2QrMjg+PjJdO2E9Y1soY1tzPj4yXXwwKSsxMj4+Ml18MDtpZighYSlhPTE7
ZWxzZXthPWErNTZ8MDtjW3E+PjJdPWNbYT4+Ml07Y1txKzQ+PjJdPWNbYSs0Pj4yXTtjW3ErOD4+
Ml09Y1thKzg+PjJdO2NbcSsxMj4+Ml09Y1thKzEyPj4yXTtKeChyLHEpO2NbYT4+Ml09Y1tyPj4y
XTtjW2ErND4+Ml09Y1tyKzQ+PjJdO2NbYSs4Pj4yXT1jW3IrOD4+Ml07Y1thKzEyPj4yXT1jW3Ir
MTI+PjJdO2E9MX13aGlsZSgxKXtkPWNbcz4+Ml18MDtpZigoYXwwKT4oY1tkKzE4MD4+Ml18MCkp
YnJlYWs7SHgoY1soY1tkKzE4ND4+Ml18MCkrKGE8PDIpPj4yXXwwLGIpO2E9YSsxfDB9bD10O3Jl
dHVybn1mdW5jdGlvbiBJeChhLGIsYyl7YT1hfDA7Yj0rYjtjPStjO2hbYT4+M109YjtoW2ErOD4+
M109YztyZXR1cm59ZnVuY3Rpb24gSngoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAs
Zz0wO2Q9bDtsPWwrMzJ8MDtnPWQrMTZ8MDtlPWQ7Zj0oY1s0MjMwOV18MCkqOTB8MDtjW2c+PjJd
PWNbYj4+Ml07Y1tnKzQ+PjJdPWNbYis0Pj4yXTtjW2crOD4+Ml09Y1tiKzg+PjJdO2NbZysxMj4+
Ml09Y1tiKzEyPj4yXTthdyhlLGcsZik7Y1tiPj4yXT1jW2U+PjJdO2NbYis0Pj4yXT1jW2UrND4+
Ml07Y1tiKzg+PjJdPWNbZSs4Pj4yXTtjW2IrMTI+PjJdPWNbZSsxMj4+Ml07aFtiPj4zXT0raFti
Pj4zXS0raFsyMDg5N107ZT1iKzh8MDtoW2U+PjNdPStoW2U+PjNdLStoWzIwODk4XTtjW2E+PjJd
PWNbYj4+Ml07Y1thKzQ+PjJdPWNbYis0Pj4yXTtjW2ErOD4+Ml09Y1tiKzg+PjJdO2NbYSsxMj4+
Ml09Y1tiKzEyPj4yXTtsPWQ7cmV0dXJufWZ1bmN0aW9uIEt4KGIsZCl7Yj1ifDA7ZD1kfDA7dmFy
IGU9MCxmPTAuMCxnPTAsaT0wLGo9MC4wLGs9MC4wLG09MCxuPTAuMCxvPTAscD0wLHE9MCxyPTAs
cz0wLHQ9MCx1PTAsdj0wLHc9MDt3PWw7bD1sKzExNjh8MDtzPXcrMTQ0fDA7dj13Kzk2fDA7dT13
KzY0fDA7dD13KzQ4fDA7bz13KzMyfDA7cD13KzE2fDA7cT13O2NbdD4+Ml09MDtjW3QrND4+Ml09
MDtjW3QrOD4+Ml09MDtjW3QrMTI+PjJdPTA7cj1iKzE2fDA7bT1jWyhjW3I+PjJdfDApKzExNj4+
Ml18MDtjWzQyMzA5XT1tJjM7bT1tJjE7YVsxNzQwNzldPW07aWYoIShtPDwyND4+MjQpKU14KGIp
O2Vsc2UgTHgoYik7TngoYik7bT1jW3I+PjJdfDA7ZT1jW20rMTI+PjJdfDA7ZG8gaWYoZXwwPyhh
W2UrODE+PjBdfDApPT0wOjApe2c9ZSsyNHwwO2NbdD4+Ml09Y1tnPj4yXTtjW3QrND4+Ml09Y1tn
KzQ+PjJdO2NbdCs4Pj4yXT1jW2crOD4+Ml07Y1t0KzEyPj4yXT1jW2crMTI+PjJdO249K2hbdD4+
M10rMTYuMDtoW3Q+PjNdPW47Zz10Kzh8MDtmPStoW2c+PjNdKzguMDtoW2c+PjNdPWY7Zz0oYVtt
KzI3NT4+MF0mMSkhPTA7aWYoYVsxNzQwNzldfDApe2lmKGcpe2k9bSszMnwwO2hbaT4+M109K2hb
aT4+M10rZn1lbHNle2k9bSsxNnwwO2hbaT4+M109K2hbaT4+M10tZn1nPW0rNDB8MDtmPStoW2c+
PjNdO2k9bSsyNHwwO2o9K2hbaT4+M107az1mLWo7aWYoIShuPmspKWJyZWFrO249KG4taykqLjU7
aFtpPj4zXT1qLW47aFtnPj4zXT1mK247YnJlYWt9aT0oY1s0MjMwOV18MCk9PTA7ZG8gaWYoZylp
ZihpKXtpPW0rNDB8MDtoW2k+PjNdPStoW2k+PjNdK2Y7YnJlYWt9ZWxzZXtpPW0rMjR8MDtoW2k+
PjNdPStoW2k+PjNdLWY7YnJlYWt9ZWxzZSBpZihpKXtpPW0rMjR8MDtoW2k+PjNdPStoW2k+PjNd
LWY7YnJlYWt9ZWxzZXtpPW0rNDB8MDtoW2k+PjNdPStoW2k+PjNdK2Y7YnJlYWt9d2hpbGUoMCk7
Zz1tKzMyfDA7Zj0raFtnPj4zXTtpPW0rMTZ8MDtqPStoW2k+PjNdO2s9Zi1qO2lmKG4+ayl7bj0o
bi1rKSouNTtoW2k+PjNdPWotbjtoW2c+PjNdPWYrbn19d2hpbGUoMCk7aWYoZCl7c3dpdGNoKGNb
NDIzMDldfDApe2Nhc2UgMDp7cT1tKzE2fDA7Y1s0MTc5NF09Y1txPj4yXTtjWzQxNzk1XT1jW3Er
ND4+Ml07Y1s0MTc5Nl09Y1txKzg+PjJdO2NbNDE3OTddPWNbcSsxMj4+Ml07YnJlYWt9Y2FzZSAx
OntJeChvLC0raFttKzQwPj4zXSwraFttKzE2Pj4zXSk7Y1s0MTc5NF09Y1tvPj4yXTtjWzQxNzk1
XT1jW28rND4+Ml07Y1s0MTc5Nl09Y1tvKzg+PjJdO2NbNDE3OTddPWNbbysxMj4+Ml07YnJlYWt9
Y2FzZSAyOntJeChwLCtoW20rMTY+PjNdLC0raFttKzQwPj4zXSk7Y1s0MTc5NF09Y1twPj4yXTtj
WzQxNzk1XT1jW3ArND4+Ml07Y1s0MTc5Nl09Y1twKzg+PjJdO2NbNDE3OTddPWNbcCsxMj4+Ml07
YnJlYWt9Y2FzZSAzOntJeChxLCtoW20rMjQ+PjNdLCtoW20rMTY+PjNdKTtjWzQxNzk0XT1jW3E+
PjJdO2NbNDE3OTVdPWNbcSs0Pj4yXTtjWzQxNzk2XT1jW3ErOD4+Ml07Y1s0MTc5N109Y1txKzEy
Pj4yXTticmVha31kZWZhdWx0Ont9fU94KGIpO2U9Y1soY1tyPj4yXXwwKSsxMj4+Ml18MH1pZihl
fDA/KGFbZSs4MT4+MF18MCk9PTA6MCl7Y1tzPj4yXT1jW3Q+PjJdO2Nbcys0Pj4yXT1jW3QrND4+
Ml07Y1tzKzg+PjJdPWNbdCs4Pj4yXTtjW3MrMTI+PjJdPWNbdCsxMj4+Ml07UHgoYixzKX1pZigh
MCl7bD13O3JldHVybn1pZighKGFbMTc0MDc5XXwwKSl7bj0raFsyMDg5OF07az0raFsyMDg5N107
aFt2Pj4zXT1uO2hbdis4Pj4zXT1rO2hbdisxNj4+M109bjtoW3YrMjQ+PjNdPWs7aFt2KzMyPj4z
XT0taztoW3YrNDA+PjNdPS1uO3BMKHMsODgwNDksdil8MH1lbHNle2s9K2hbMjA4OTddO249K2hb
MjA4OThdO2hbdT4+M109aztoW3UrOD4+M109bjtoW3UrMTY+PjNdPWs7aFt1KzI0Pj4zXT1uO3BM
KHMsODc4MzQsdSl8MH1HTChzKXwwO1RhKCl9ZnVuY3Rpb24gTHgoYil7Yj1ifDA7dmFyIGQ9MCxl
PTAuMCxmPTAuMCxnPTAsaT0wLGo9MDtqPWIrMTZ8MDtpZigoKHNvKGIpfDApIT0oYnwwKT8oZz1j
W2o+PjJdfDAsaT1jW2crMTI+PjJdfDAsKGl8MCkhPTApOjApPyhhW2krODE+PjBdfDApPT0wOjAp
e2Q9YVtnKzI3NT4+MF18MDtpZighKGQmMSkpe2Y9K2hbZysxNj4+M10rICtoW2crOTY+PjNdKi41
O2I9ZysxMDR8MH1lbHNle2Y9K2hbZyszMj4+M10tK2hbZys2ND4+M10qLjU7Yj1nKzcyfDB9ZT0r
aFtiPj4zXTtiPWQ8PDI0Pj4yNDtkbyBpZighKGImNCkpaWYoIShiJjIpKXtlPSgraFtnKzQwPj4z
XSsgK2hbZysyND4+M10pKi41O2JyZWFrfWVsc2V7ZT0raFtnKzQwPj4zXS1lKi41O2JyZWFrfWVs
c2UgZT0raFtnKzI0Pj4zXStlKi41O3doaWxlKDApO2hbaSs1Nj4+M109ZjtoW2krNjQ+PjNdPWU7
YVsoY1soY1tqPj4yXXwwKSsxMj4+Ml18MCkrODE+PjBdPTE7Yj0xfWVsc2UgYj0xO3doaWxlKDEp
e2Q9Y1tqPj4yXXwwO2lmKChifDApPihjW2QrMTgwPj4yXXwwKSlicmVhaztMeChjWyhjW2QrMTg0
Pj4yXXwwKSsoYjw8Mik+PjJdfDApO2I9YisxfDB9cmV0dXJufWZ1bmN0aW9uIE14KGIpe2I9Ynww
O3ZhciBkPTAsZT0wLjAsZj0wLjAsZz0wLjAsaT0wLGo9MCxrPTA7az1iKzE2fDA7aWYoKChzbyhi
KXwwKSE9KGJ8MCk/KGk9Y1trPj4yXXwwLGo9Y1tpKzEyPj4yXXwwLChqfDApIT0wKTowKT8oYVtq
KzgxPj4wXXwwKT09MDowKXtkPWFbaSsyNzU+PjBdfDA7aWYoIShkJjEpKXtnPStoW2krMjQ+PjNd
KyAraFtpKzU2Pj4zXSouNTtiPWkrNDh8MH1lbHNle2c9K2hbaSs0MD4+M10tK2hbaSs4OD4+M10q
LjU7Yj1pKzgwfDB9Zj0raFtiPj4zXTtiPWQ8PDI0Pj4yNDtkbyBpZighKGImNCkpe2U9K2hbaSsx
Nj4+M107aWYoIShiJjIpKXtlPSgraFtpKzMyPj4zXStlKSouNTticmVha31lbHNle2U9ZStmKi41
O2JyZWFrfX1lbHNlIGU9K2hbaSszMj4+M10tZiouNTt3aGlsZSgwKTtoW2orNTY+PjNdPWU7aFtq
KzY0Pj4zXT1nO2FbKGNbKGNbaz4+Ml18MCkrMTI+PjJdfDApKzgxPj4wXT0xO2I9MX1lbHNlIGI9
MTt3aGlsZSgxKXtkPWNbaz4+Ml18MDtpZigoYnwwKT4oY1tkKzE4MD4+Ml18MCkpYnJlYWs7TXgo
Y1soY1tkKzE4ND4+Ml18MCkrKGI8PDIpPj4yXXwwKTtiPWIrMXwwfXJldHVybn1mdW5jdGlvbiBO
eChlKXtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9
MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0w
LEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTA7
Uz1sO2w9bCs1NDR8MDtMPVMrNTA0fDA7Uj1TKzQxNnwwO1E9UyszNzZ8MDtLPVMrMzUyfDA7Sj1T
KzMxMnwwO0k9UysyODh8MDtIPVMrMjQ4fDA7TT1TKzIwMHwwO0I9UysxNTJ8MDtPPVMrOTZ8MDtw
PVMrNDg4fDA7Qz1TKzQ1NnwwO0Q9Uys0MjR8MDtFPVMrMzg0fDA7Rj1TKzM2MHwwO0c9UyszMjB8
MDt3PVMrMjk2fDA7eD1TKzI1NnwwO3k9UysyMzJ8MDt6PVMrMTY4fDA7QT1TKzEzNnwwO2Y9Uys1
NnwwO049UysxNnwwO1A9UztvPWUrMTZ8MDt1PWNbbz4+Ml18MDtnPWJbdSsxMzY+PjFdJjE0O3U9
ZFt1KzExMz4+MF18MDtpZighKCh1JjU0fDApPT0wPyh1JjF8MCk9PTB8KGNbNDIxODJdfDApIT0w
OjApKXt1PWc8PDE2Pj4xNj09MDtuPWNvKGUpfDA7aD0wO2o9MDtpPTA7d2hpbGUoMSl7aWYoIW4p
YnJlYWs7Zz1jWyhjW24rMTY+PjJdfDApKzEwOD4+Ml18MDtkbyBpZihnKWlmKCEoYVtnKzgxPj4w
XXwwKSl7aT1pKzF8MDticmVha31lbHNle2g9aCsxfDA7YnJlYWt9d2hpbGUoMCk7bT1QbShlLG4p
fDA7Zz1qO3doaWxlKDEpe2lmKCFtKWJyZWFrO2s9Y1ttKzE2Pj4yXXwwO2o9Y1trKzEwOD4+Ml18
MDtkbyBpZihqKXtpZihhW2orODE+PjBdfDApe2g9aCsxfDA7YnJlYWt9aWYoIXUpZz1nKygoY1tr
Kzg+PjJdfDApIT0wJjEpfDB9d2hpbGUoMCk7aj1jW2srMTAwPj4yXXwwO2RvIGlmKGope2lmKGFb
ais4MT4+MF18MCl7aD1oKzF8MDticmVha31pZighdSlnPWcrKChjW2srOD4+Ml18MCkhPTAmMSl8
MH13aGlsZSgwKTtqPWNbaysxMDQ+PjJdfDA7ZG8gaWYoail7aWYoYVtqKzgxPj4wXXwwKXtoPWgr
MXwwO2JyZWFrfWlmKCF1KWc9ZysoKGNbays4Pj4yXXwwKSE9MCYxKXwwfXdoaWxlKDApO2o9Y1tr
Kzk2Pj4yXXwwO2RvIGlmKGope2lmKGFbais4MT4+MF18MCl7aD1oKzF8MDticmVha31pZighdSln
PWcrKChjW2srOD4+Ml18MCkhPTAmMSl8MH13aGlsZSgwKTttPVJtKGUsbSl8MH1uPWVvKGUsbil8
MDtqPWd9aWYoIShhWyhjW28+PjJdfDApKzExMz4+MF0mOCkpbz0wO2Vsc2Ugbz1SeChlKXwwO3Q9
aitpfDA7aWYodHwwKXtxPWgraitvKyhtbihlKXwwKXwwO3I9dncocSo0MHwwKXwwO3M9dncodCo0
MHwwKXwwO0l4KE0sMjE0NzQ4MzY0Ny4wLDIxNDc0ODM2NDcuMCk7Zz1NKzE2fDA7SXgocCwtMjE0
NzQ4MzY0Ny4wLC0yMTQ3NDgzNjQ3LjApO2NbZz4+Ml09Y1twPj4yXTtjW2crND4+Ml09Y1twKzQ+
PjJdO2NbZys4Pj4yXT1jW3ArOD4+Ml07Y1tnKzEyPj4yXT1jW3ArMTI+PjJdO2c9cztpPXI7bj1j
byhlKXwwO3doaWxlKDEpe2lmKCFuKWJyZWFrO2NbTD4+Ml09Y1tNPj4yXTtjW0wrND4+Ml09Y1tN
KzQ+PjJdO2NbTCs4Pj4yXT1jW00rOD4+Ml07Y1tMKzEyPj4yXT1jW00rMTI+PjJdO2NbTCsxNj4+
Ml09Y1tNKzE2Pj4yXTtjW0wrMjA+PjJdPWNbTSsyMD4+Ml07Y1tMKzI0Pj4yXT1jW00rMjQ+PjJd
O2NbTCsyOD4+Ml09Y1tNKzI4Pj4yXTtTeChDLG4saSxMKTtjW00+PjJdPWNbQz4+Ml07Y1tNKzQ+
PjJdPWNbQys0Pj4yXTtjW00rOD4+Ml09Y1tDKzg+PjJdO2NbTSsxMj4+Ml09Y1tDKzEyPj4yXTtj
W00rMTY+PjJdPWNbQysxNj4+Ml07Y1tNKzIwPj4yXT1jW0MrMjA+PjJdO2NbTSsyND4+Ml09Y1tD
KzI0Pj4yXTtjW00rMjg+PjJdPWNbQysyOD4+Ml07aD1jWyhjW24rMTY+PjJdfDApKzEwOD4+Ml18
MDtkbyBpZihoKWlmKCEoYVtoKzgxPj4wXXwwKSl7Y1tMPj4yXT1jW0I+PjJdO2NbTCs0Pj4yXT1j
W0IrND4+Ml07Y1tMKzg+PjJdPWNbQis4Pj4yXTtjW0wrMTI+PjJdPWNbQisxMj4+Ml07VXgoaCxp
LGcsMCxMKTtnPWcrNDB8MDticmVha31lbHNle2k9aSs0MHwwO2NbTD4+Ml09Y1tNPj4yXTtjW0wr
ND4+Ml09Y1tNKzQ+PjJdO2NbTCs4Pj4yXT1jW00rOD4+Ml07Y1tMKzEyPj4yXT1jW00rMTI+PjJd
O2NbTCsxNj4+Ml09Y1tNKzE2Pj4yXTtjW0wrMjA+PjJdPWNbTSsyMD4+Ml07Y1tMKzI0Pj4yXT1j
W00rMjQ+PjJdO2NbTCsyOD4+Ml09Y1tNKzI4Pj4yXTtUeChELGgsaSxMKTtjW00+PjJdPWNbRD4+
Ml07Y1tNKzQ+PjJdPWNbRCs0Pj4yXTtjW00rOD4+Ml09Y1tEKzg+PjJdO2NbTSsxMj4+Ml09Y1tE
KzEyPj4yXTtjW00rMTY+PjJdPWNbRCsxNj4+Ml07Y1tNKzIwPj4yXT1jW0QrMjA+PjJdO2NbTSsy
ND4+Ml09Y1tEKzI0Pj4yXTtjW00rMjg+PjJdPWNbRCsyOD4+Ml07YnJlYWt9d2hpbGUoMCk7bT1Q
bShlLG4pfDA7aT1pKzQwfDA7d2hpbGUoMSl7aWYoIW0pYnJlYWs7az1tKzE2fDA7aD1jW2s+PjJd
fDA7aj1jW2grOTY+PjJdfDA7YTpkbyBpZighail2PTUyO2Vsc2V7ZG8gaWYoIShhW2orODE+PjBd
fDApKXtpZighdT9jW2grOD4+Ml18MDowKXskeihGLGUsbSk7Y1tMPj4yXT1jW0Y+PjJdO2NbTCs0
Pj4yXT1jW0YrND4+Ml07Y1tMKzg+PjJdPWNbRis4Pj4yXTtjW0wrMTI+PjJdPWNbRisxMj4+Ml07
VXgoaixpLGcsMSxMKTtnPWcrNDB8MDticmVha31jW0g+PjJdPWNbaj4+Ml07X2woMCw4ODg2MSxI
KXwwO2JyZWFrIGF9ZWxzZXtjW0w+PjJdPWNbTT4+Ml07Y1tMKzQ+PjJdPWNbTSs0Pj4yXTtjW0wr
OD4+Ml09Y1tNKzg+PjJdO2NbTCsxMj4+Ml09Y1tNKzEyPj4yXTtjW0wrMTY+PjJdPWNbTSsxNj4+
Ml07Y1tMKzIwPj4yXT1jW00rMjA+PjJdO2NbTCsyND4+Ml09Y1tNKzI0Pj4yXTtjW0wrMjg+PjJd
PWNbTSsyOD4+Ml07VHgoRSxqLGksTCk7Y1tNPj4yXT1jW0U+PjJdO2NbTSs0Pj4yXT1jW0UrND4+
Ml07Y1tNKzg+PjJdPWNbRSs4Pj4yXTtjW00rMTI+PjJdPWNbRSsxMj4+Ml07Y1tNKzE2Pj4yXT1j
W0UrMTY+PjJdO2NbTSsyMD4+Ml09Y1tFKzIwPj4yXTtjW00rMjQ+PjJdPWNbRSsyND4+Ml07Y1tN
KzI4Pj4yXT1jW0UrMjg+PjJdfXdoaWxlKDApO2k9aSs0MHwwO2g9Y1trPj4yXXwwO3Y9NTJ9d2hp
bGUoMCk7YjpkbyBpZigodnwwKT09NTIpe3Y9MDtqPWNbaCsxMDQ+PjJdfDA7aWYoail7ZG8gaWYo
IShhW2orODE+PjBdfDApKXtpZighdT9jW2grOD4+Ml18MDowKXtWeCh3LG0pO2NbTD4+Ml09Y1t3
Pj4yXTtjW0wrND4+Ml09Y1t3KzQ+PjJdO2NbTCs4Pj4yXT1jW3crOD4+Ml07Y1tMKzEyPj4yXT1j
W3crMTI+PjJdO1V4KGosaSxnLDEsTCk7Zz1nKzQwfDA7YnJlYWt9Y1tJPj4yXT1jW2o+PjJdO19s
KDAsODg4OTYsSSl8MDticmVhayBifWVsc2V7Y1tMPj4yXT1jW00+PjJdO2NbTCs0Pj4yXT1jW00r
ND4+Ml07Y1tMKzg+PjJdPWNbTSs4Pj4yXTtjW0wrMTI+PjJdPWNbTSsxMj4+Ml07Y1tMKzE2Pj4y
XT1jW00rMTY+PjJdO2NbTCsyMD4+Ml09Y1tNKzIwPj4yXTtjW0wrMjQ+PjJdPWNbTSsyND4+Ml07
Y1tMKzI4Pj4yXT1jW00rMjg+PjJdO1R4KEcsaixpLEwpO2NbTT4+Ml09Y1tHPj4yXTtjW00rND4+
Ml09Y1tHKzQ+PjJdO2NbTSs4Pj4yXT1jW0crOD4+Ml07Y1tNKzEyPj4yXT1jW0crMTI+PjJdO2Nb
TSsxNj4+Ml09Y1tHKzE2Pj4yXTtjW00rMjA+PjJdPWNbRysyMD4+Ml07Y1tNKzI0Pj4yXT1jW0cr
MjQ+PjJdO2NbTSsyOD4+Ml09Y1tHKzI4Pj4yXX13aGlsZSgwKTtpPWkrNDB8MDtoPWNbaz4+Ml18
MH1qPWNbaCsxMDA+PjJdfDA7aWYoail7ZG8gaWYoIShhW2orODE+PjBdfDApKXtpZighdT9jW2gr
OD4+Ml18MDowKXtXeCh5LG0pO2NbTD4+Ml09Y1t5Pj4yXTtjW0wrND4+Ml09Y1t5KzQ+PjJdO2Nb
TCs4Pj4yXT1jW3krOD4+Ml07Y1tMKzEyPj4yXT1jW3krMTI+PjJdO1V4KGosaSxnLDEsTCk7Zz1n
KzQwfDA7YnJlYWt9Y1tKPj4yXT1jW2o+PjJdO19sKDAsODg5MzYsSil8MDticmVhayBifWVsc2V7
Y1tMPj4yXT1jW00+PjJdO2NbTCs0Pj4yXT1jW00rND4+Ml07Y1tMKzg+PjJdPWNbTSs4Pj4yXTtj
W0wrMTI+PjJdPWNbTSsxMj4+Ml07Y1tMKzE2Pj4yXT1jW00rMTY+PjJdO2NbTCsyMD4+Ml09Y1tN
KzIwPj4yXTtjW0wrMjQ+PjJdPWNbTSsyND4+Ml07Y1tMKzI4Pj4yXT1jW00rMjg+PjJdO1R4KHgs
aixpLEwpO2NbTT4+Ml09Y1t4Pj4yXTtjW00rND4+Ml09Y1t4KzQ+PjJdO2NbTSs4Pj4yXT1jW3gr
OD4+Ml07Y1tNKzEyPj4yXT1jW3grMTI+PjJdO2NbTSsxNj4+Ml09Y1t4KzE2Pj4yXTtjW00rMjA+
PjJdPWNbeCsyMD4+Ml07Y1tNKzI0Pj4yXT1jW3grMjQ+PjJdO2NbTSsyOD4+Ml09Y1t4KzI4Pj4y
XX13aGlsZSgwKTtpPWkrNDB8MDtoPWNbaz4+Ml18MH1qPWNbaCsxMDg+PjJdfDA7aWYoail7ZG8g
aWYoIShhW2orODE+PjBdfDApKXtpZighdT9jW2grOD4+Ml18MDowKXskeihBLGUsbSk7Y1tMPj4y
XT1jW0E+PjJdO2NbTCs0Pj4yXT1jW0ErND4+Ml07Y1tMKzg+PjJdPWNbQSs4Pj4yXTtjW0wrMTI+
PjJdPWNbQSsxMj4+Ml07VXgoaixpLGcsMSxMKTtnPWcrNDB8MDticmVha31jW0s+PjJdPWNbaj4+
Ml07X2woMCw4ODk3NixLKXwwO2JyZWFrIGJ9ZWxzZXtjW0w+PjJdPWNbTT4+Ml07Y1tMKzQ+PjJd
PWNbTSs0Pj4yXTtjW0wrOD4+Ml09Y1tNKzg+PjJdO2NbTCsxMj4+Ml09Y1tNKzEyPj4yXTtjW0wr
MTY+PjJdPWNbTSsxNj4+Ml07Y1tMKzIwPj4yXT1jW00rMjA+PjJdO2NbTCsyND4+Ml09Y1tNKzI0
Pj4yXTtjW0wrMjg+PjJdPWNbTSsyOD4+Ml07VHgoeixqLGksTCk7Y1tNPj4yXT1jW3o+PjJdO2Nb
TSs0Pj4yXT1jW3orND4+Ml07Y1tNKzg+PjJdPWNbeis4Pj4yXTtjW00rMTI+PjJdPWNbeisxMj4+
Ml07Y1tNKzE2Pj4yXT1jW3orMTY+PjJdO2NbTSsyMD4+Ml09Y1t6KzIwPj4yXTtjW00rMjQ+PjJd
PWNbeisyND4+Ml07Y1tNKzI4Pj4yXT1jW3orMjg+PjJdfXdoaWxlKDApO2k9aSs0MHwwfX13aGls
ZSgwKTttPVJtKGUsbSl8MH1uPWVvKGUsbil8MH1pZihvfDApe2NbZj4+Ml09Y1tNPj4yXTtjW2Yr
ND4+Ml09Y1tNKzQ+PjJdO2NbZis4Pj4yXT1jW00rOD4+Ml07Y1tmKzEyPj4yXT1jW00rMTI+PjJd
O2NbZisxNj4+Ml09Y1tNKzE2Pj4yXTtjW2YrMjA+PjJdPWNbTSsyMD4+Ml07Y1tmKzI0Pj4yXT1j
W00rMjQ+PjJdO2NbZisyOD4+Ml09Y1tNKzI4Pj4yXTtjW2YrMzI+PjJdPWk7aD1MO2c9aCs0MHww
O2Rve2NbaD4+Ml09Y1tmPj4yXTtoPWgrNHwwO2Y9Zis0fDB9d2hpbGUoKGh8MCk8KGd8MCkpO1h4
KE4sZSxMKTtjW00+PjJdPWNbTj4+Ml07Y1tNKzQ+PjJdPWNbTis0Pj4yXTtjW00rOD4+Ml09Y1tO
Kzg+PjJdO2NbTSsxMj4+Ml09Y1tOKzEyPj4yXTtjW00rMTY+PjJdPWNbTisxNj4+Ml07Y1tNKzIw
Pj4yXT1jW04rMjA+PjJdO2NbTSsyND4+Ml09Y1tOKzI0Pj4yXTtjW00rMjg+PjJdPWNbTisyOD4+
Ml19YVtPKzMyPj4wXT1IQShlLHltKGUsMCw4OTAxMiwwKXwwLDEpfDA7Y1tPPj4yXT1jW00+PjJd
O2NbTys0Pj4yXT1jW00rND4+Ml07Y1tPKzg+PjJdPWNbTSs4Pj4yXTtjW08rMTI+PjJdPWNbTSsx
Mj4+Ml07Y1tPKzE2Pj4yXT1jW00rMTY+PjJdO2NbTysyMD4+Ml09Y1tNKzIwPj4yXTtjW08rMjQ+
PjJdPWNbTSsyND4+Ml07Y1tPKzI4Pj4yXT1jW00rMjg+PjJdO3pFKHIscSxzLHQsTyl8MDtpZigw
KVl4KHIscSxzLHQsTyk7Zj0wO2c9MDtoPXM7d2hpbGUoMSl7aWYoKGd8MCk+PSh0fDApKWJyZWFr
O2lmKGFbaCszNj4+MF18MCl7Tz1jW2grMzI+PjJdfDA7YVtPKzgxPj4wXT0xO049Tys1NnwwO1p4
KFAsaCk7Y1tOPj4yXT1jW1A+PjJdO2NbTis0Pj4yXT1jW1ArND4+Ml07Y1tOKzg+PjJdPWNbUCs4
Pj4yXTtjW04rMTI+PjJdPWNbUCsxMj4+Ml07YkIoZSxPKTtmPWYrMXwwfWc9ZysxfDA7aD1oKzQw
fDB9aWYoITApe2lmKChmfDApIT0odHwwKSl7Y1tSPj4yXT1mO2NbUis0Pj4yXT10O19sKDAsODkw
NTcsUil8MH19ZWxzZXtSPWNbMTM5MThdfDA7Y1tRPj4yXT1mO2NbUSs0Pj4yXT10O3pMKFIsODkw
MjQsUSl8MH1fSShyKTtfSShzKX19bD1TO3JldHVybn1mdW5jdGlvbiBPeChhKXthPWF8MDt2YXIg
Yj0wLGQ9MCxlPTAsZj0wLGc9MCxpPTAsaj0wO2k9bDtsPWwrNDh8MDtlPWkrMzJ8MDtmPWkrMTZ8
MDtnPWk7aWYoK2hbMjA4OTddIT0wLjB8K2hbMjA4OThdIT0wLjB8KGNbNDIzMDldfDApIT0wKXtk
PWNvKGEpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7aWYoY1s0MjMwOV18MClLQihkLDApO2I9ZCsx
NnwwO2o9KGNbYj4+Ml18MCkrMTZ8MDtjW2U+PjJdPWNbaj4+Ml07Y1tlKzQ+PjJdPWNbais0Pj4y
XTtjW2UrOD4+Ml09Y1tqKzg+PjJdO2NbZSsxMj4+Ml09Y1tqKzEyPj4yXTtKeChmLGUpO2Nbaj4+
Ml09Y1tmPj4yXTtjW2orND4+Ml09Y1tmKzQ+PjJdO2Nbais4Pj4yXT1jW2YrOD4+Ml07Y1tqKzEy
Pj4yXT1jW2YrMTI+PjJdO2I9Y1soY1tiPj4yXXwwKSsxMDg+PjJdfDA7aWYoYnwwKXtqPWIrNTZ8
MDtjW2U+PjJdPWNbaj4+Ml07Y1tlKzQ+PjJdPWNbais0Pj4yXTtjW2UrOD4+Ml09Y1tqKzg+PjJd
O2NbZSsxMj4+Ml09Y1tqKzEyPj4yXTtKeChnLGUpO2Nbaj4+Ml09Y1tnPj4yXTtjW2orND4+Ml09
Y1tnKzQ+PjJdO2Nbais4Pj4yXT1jW2crOD4+Ml07Y1tqKzEyPj4yXT1jW2crMTI+PjJdfWE6ZG8g
aWYoKGNbNDIxODFdfDApPT0xKXtiPVBtKGEsZCl8MDt3aGlsZSgxKXtpZighYilicmVhayBhO1F4
KGIpO2I9Um0oYSxiKXwwfX13aGlsZSgwKTtkPWVvKGEsZCl8MH1IeChhLGNbKGNbYSsxNj4+Ml18
MCkrMTE2Pj4yXSYzKX1sPWk7cmV0dXJufWZ1bmN0aW9uIFB4KGIsZCl7Yj1ifDA7ZD1kfDA7dmFy
IGU9MC4wLGY9MC4wLGc9MCxpPTAsaj0wO2k9YisxNnwwO2o9Y1tpPj4yXXwwO2c9YVtqKzI3NT4+
MF18MDtiPWc8PDI0Pj4yNDtkbyBpZighKGImNCkpe2U9K2hbaisxNj4+M107aWYoIShiJjIpKXtm
PSgraFtqKzMyPj4zXStlKSouNTticmVha31lbHNle2Y9K2hbZD4+M10qLjUrZTticmVha319ZWxz
ZSBmPStoW2orMzI+PjNdLStoW2Q+PjNdKi41O3doaWxlKDApO2lmKCEoZyYxKSllPStoW2QrOD4+
M10qLjUrICtoW2orMjQ+PjNdO2Vsc2UgZT0raFtqKzQwPj4zXS0raFtkKzg+PjNdKi41O2o9Y1tq
KzEyPj4yXXwwO2hbais1Nj4+M109ZjtoW2orNjQ+PjNdPWU7YVsoY1soY1tpPj4yXXwwKSsxMj4+
Ml18MCkrODE+PjBdPTE7cmV0dXJufWZ1bmN0aW9uIFF4KGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9
MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTA7cz1s
O2w9bCsxNDR8MDtxPXMrMTIwfDA7ZT1zKzE2fDA7aT1zKzEwNHwwO2o9cys4OHwwO2s9cys3Mnww
O209cys1NnwwO249cys0MHwwO289cysyNHwwO3I9cztwPWIrMTZ8MDtkPWNbcD4+Ml18MDtmPWNb
ZCs4Pj4yXXwwO2lmKCFmKXtpZigoYVsxNzQwNzZdfDApPT0wPyhhW2QrMTEyPj4wXXwwKSE9Njow
KXtxPURuKGNbKChjW2I+PjJdJjN8MCk9PTM/YjpiKzQ4fDApKzQwPj4yXXwwKXwwO3I9RG4oY1so
KGNbYj4+Ml0mM3wwKT09Mj9iOmIrLTQ4fDApKzQwPj4yXXwwKXwwO2NbZT4+Ml09cTtjW2UrND4+
Ml09cjtfbCgxLDg4ODQ0LGUpfDB9fWVsc2V7aD0wO2I9Zjt3aGlsZSgxKXtpZigoaHwwKT49KGNb
Yis0Pj4yXXwwKSlicmVhaztnPWNbYj4+Ml18MDtiPWNbZysoaCo0OHwwKT4+Ml18MDtlPWNbZyso
aCo0OHwwKSs0Pj4yXXwwO2Y9Y1tnKyhoKjQ4fDApKzg+PjJdfDA7Zz1jW2crKGgqNDh8MCkrMTI+
PjJdfDA7ZD0wO3doaWxlKDEpe2lmKChkfDApPj0oZXwwKSlicmVhazt0PWIrKGQ8PDQpfDA7Y1tx
Pj4yXT1jW3Q+PjJdO2NbcSs0Pj4yXT1jW3QrND4+Ml07Y1txKzg+PjJdPWNbdCs4Pj4yXTtjW3Er
MTI+PjJdPWNbdCsxMj4+Ml07SngoaSxxKTtjW3Q+PjJdPWNbaT4+Ml07Y1t0KzQ+PjJdPWNbaSs0
Pj4yXTtjW3QrOD4+Ml09Y1tpKzg+PjJdO2NbdCsxMj4+Ml09Y1tpKzEyPj4yXTtkPWQrMXwwfWlm
KGZ8MCl7dD0oY1tjWyhjW3A+PjJdfDApKzg+PjJdPj4yXXwwKSsoaCo0OHwwKSsxNnwwO2NbcT4+
Ml09Y1t0Pj4yXTtjW3ErND4+Ml09Y1t0KzQ+PjJdO2NbcSs4Pj4yXT1jW3QrOD4+Ml07Y1txKzEy
Pj4yXT1jW3QrMTI+PjJdO0p4KGoscSk7Y1t0Pj4yXT1jW2o+PjJdO2NbdCs0Pj4yXT1jW2orND4+
Ml07Y1t0Kzg+PjJdPWNbais4Pj4yXTtjW3QrMTI+PjJdPWNbaisxMj4+Ml19aWYoZ3wwKXt0PShj
W2NbKGNbcD4+Ml18MCkrOD4+Ml0+PjJdfDApKyhoKjQ4fDApKzMyfDA7Y1txPj4yXT1jW3Q+PjJd
O2NbcSs0Pj4yXT1jW3QrND4+Ml07Y1txKzg+PjJdPWNbdCs4Pj4yXTtjW3ErMTI+PjJdPWNbdCsx
Mj4+Ml07SngoayxxKTtjW3Q+PjJdPWNbaz4+Ml07Y1t0KzQ+PjJdPWNbays0Pj4yXTtjW3QrOD4+
Ml09Y1trKzg+PjJdO2NbdCsxMj4+Ml09Y1trKzEyPj4yXX1kPWNbcD4+Ml18MDtoPWgrMXwwO2I9
Y1tkKzg+PjJdfDB9Yj1jW2QrOTY+PjJdfDA7aWYoYil7ZD1iKzU2fDA7Y1txPj4yXT1jW2Q+PjJd
O2NbcSs0Pj4yXT1jW2QrND4+Ml07Y1txKzg+PjJdPWNbZCs4Pj4yXTtjW3ErMTI+PjJdPWNbZCsx
Mj4+Ml07SngobSxxKTtjW2Q+PjJdPWNbbT4+Ml07Y1tkKzQ+PjJdPWNbbSs0Pj4yXTtjW2QrOD4+
Ml09Y1ttKzg+PjJdO2NbZCsxMj4+Ml09Y1ttKzEyPj4yXTtkPWNbcD4+Ml18MH1iPWNbZCsxMDg+
PjJdfDA7aWYoYil7ZD1iKzU2fDA7Y1txPj4yXT1jW2Q+PjJdO2NbcSs0Pj4yXT1jW2QrND4+Ml07
Y1txKzg+PjJdPWNbZCs4Pj4yXTtjW3ErMTI+PjJdPWNbZCsxMj4+Ml07SngobixxKTtjW2Q+PjJd
PWNbbj4+Ml07Y1tkKzQ+PjJdPWNbbis0Pj4yXTtjW2QrOD4+Ml09Y1tuKzg+PjJdO2NbZCsxMj4+
Ml09Y1tuKzEyPj4yXTtkPWNbcD4+Ml18MH1iPWNbZCsxMDA+PjJdfDA7aWYoYil7ZD1iKzU2fDA7
Y1txPj4yXT1jW2Q+PjJdO2NbcSs0Pj4yXT1jW2QrND4+Ml07Y1txKzg+PjJdPWNbZCs4Pj4yXTtj
W3ErMTI+PjJdPWNbZCsxMj4+Ml07SngobyxxKTtjW2Q+PjJdPWNbbz4+Ml07Y1tkKzQ+PjJdPWNb
bys0Pj4yXTtjW2QrOD4+Ml09Y1tvKzg+PjJdO2NbZCsxMj4+Ml09Y1tvKzEyPj4yXTtkPWNbcD4+
Ml18MH1kPWNbZCsxMDQ+PjJdfDA7aWYoZHwwKXt0PWQrNTZ8MDtjW3E+PjJdPWNbdD4+Ml07Y1tx
KzQ+PjJdPWNbdCs0Pj4yXTtjW3ErOD4+Ml09Y1t0Kzg+PjJdO2NbcSsxMj4+Ml09Y1t0KzEyPj4y
XTtKeChyLHEpO2NbdD4+Ml09Y1tyPj4yXTtjW3QrND4+Ml09Y1tyKzQ+PjJdO2NbdCs4Pj4yXT1j
W3IrOD4+Ml07Y1t0KzEyPj4yXT1jW3IrMTI+PjJdfX1sPXM7cmV0dXJufWZ1bmN0aW9uIFJ4KGIp
e2I9YnwwO3ZhciBkPTAsZT0wLGY9MDtmPWIrMTZ8MDtpZigoc28oYil8MCkhPShifDApPyhkPWNb
KGNbZj4+Ml18MCkrMTI+PjJdfDAsKGR8MCkhPTApOjApe2U9MTtiPShhW2QrODE+PjBdfDApIT0w
JjF9ZWxzZXtlPTE7Yj0wfXdoaWxlKDEpe2Q9Y1tmPj4yXXwwO2lmKChlfDApPihjW2QrMTgwPj4y
XXwwKSlicmVhaztkPShSeChjWyhjW2QrMTg0Pj4yXXwwKSsoZTw8Mik+PjJdfDApfDApK2J8MDtl
PWUrMXwwO2I9ZH1yZXR1cm4gYnwwfWZ1bmN0aW9uIFN4KGIsZCxlLGYpe2I9YnwwO2Q9ZHwwO2U9
ZXwwO2Y9ZnwwO3ZhciBnPTAsaT0wLGo9MC4wLGs9MC4wLG09MCxuPTA7Zz1sO2w9bCszMnwwO2k9
ZztuPShhWzE3NDA3OV18MCk9PTA7ZD1kKzE2fDA7bT1jW2Q+PjJdfDA7az0raFsobj9tKzMyfDA6
bSs0MHwwKT4+M107aFtlKzE2Pj4zXT1rKjcyLjA7aj0raFsobj9tKzQwfDA6bSszMnwwKT4+M107
aFtlKzI0Pj4zXT1qKjcyLjA7ZD0oY1tkPj4yXXwwKSsxNnwwO2NbZT4+Ml09Y1tkPj4yXTtjW2Ur
ND4+Ml09Y1tkKzQ+PjJdO2NbZSs4Pj4yXT1jW2QrOD4+Ml07Y1tlKzEyPj4yXT1jW2QrMTI+PjJd
O2hbZT4+M109K2hbZT4+M10tayozNi4wO2Q9ZSs4fDA7aFtkPj4zXT0raFtkPj4zXS1qKjM2LjA7
Y1tpPj4yXT1jW2Y+PjJdO2NbaSs0Pj4yXT1jW2YrND4+Ml07Y1tpKzg+PjJdPWNbZis4Pj4yXTtj
W2krMTI+PjJdPWNbZisxMj4+Ml07Y1tpKzE2Pj4yXT1jW2YrMTY+PjJdO2NbaSsyMD4+Ml09Y1tm
KzIwPj4yXTtjW2krMjQ+PjJdPWNbZisyND4+Ml07Y1tpKzI4Pj4yXT1jW2YrMjg+PjJdO194KGIs
ZSxpKTtsPWc7cmV0dXJufWZ1bmN0aW9uIFR4KGIsZCxlLGYpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9
ZnwwO3ZhciBnPTAsaT0wLGo9MC4wLGs9MC4wLG09MCxuPTA7Zz1sO2w9bCszMnwwO2k9ZztuPShh
WzE3NDA3OV18MCk9PTA7bT1kKzI0fDA7az0raFsobj9tOmQrMzJ8MCk+PjNdO2hbZSsxNj4+M109
aztqPStoWyhuP2QrMzJ8MDptKT4+M107aFtlKzI0Pj4zXT1qO2Q9ZCs1NnwwO2NbZT4+Ml09Y1tk
Pj4yXTtjW2UrND4+Ml09Y1tkKzQ+PjJdO2NbZSs4Pj4yXT1jW2QrOD4+Ml07Y1tlKzEyPj4yXT1j
W2QrMTI+PjJdO2hbZT4+M109K2hbZT4+M10tayouNTtkPWUrOHwwO2hbZD4+M109K2hbZD4+M10t
aiouNTtjW2k+PjJdPWNbZj4+Ml07Y1tpKzQ+PjJdPWNbZis0Pj4yXTtjW2krOD4+Ml09Y1tmKzg+
PjJdO2NbaSsxMj4+Ml09Y1tmKzEyPj4yXTtjW2krMTY+PjJdPWNbZisxNj4+Ml07Y1tpKzIwPj4y
XT1jW2YrMjA+PjJdO2NbaSsyND4+Ml09Y1tmKzI0Pj4yXTtjW2krMjg+PjJdPWNbZisyOD4+Ml07
X3goYixlLGkpO2w9ZztyZXR1cm59ZnVuY3Rpb24gVXgoYixkLGUsZixnKXtiPWJ8MDtkPWR8MDtl
PWV8MDtmPWZ8MDtnPWd8MDtpZihmfDApe2Y9ZCsxNnwwO2NbZj4+Ml09MDtjW2YrND4+Ml09MDtj
W2YrOD4+Ml09MDtjW2YrMTI+PjJdPTA7Y1tkPj4yXT1jW2c+PjJdO2NbZCs0Pj4yXT1jW2crND4+
Ml07Y1tkKzg+PjJdPWNbZys4Pj4yXTtjW2QrMTI+PjJdPWNbZysxMj4+Ml19aWYoIShhWzE3NDA3
OV18MCkpe2c9YisyNHwwO2NbZT4+Ml09Y1tnPj4yXTtjW2UrND4+Ml09Y1tnKzQ+PjJdO2NbZSs4
Pj4yXT1jW2crOD4+Ml07Y1tlKzEyPj4yXT1jW2crMTI+PjJdfWVsc2V7aFtlPj4zXT0raFtiKzMy
Pj4zXTtoW2UrOD4+M109K2hbYisyND4+M119Y1tlKzMyPj4yXT1iO2FbZSszNj4+MF09MDtjW2Qr
MzI+PjJdPWU7cmV0dXJufWZ1bmN0aW9uIFZ4KGEsYil7YT1hfDA7Yj1ifDA7Yj1feihiKXwwO2Rv
IGlmKGIpe2I9Y1tiPj4yXXwwO2lmKCEoY1tiKzg+PjJdfDApKXtiPWNbYj4+Ml18MDtjW2E+PjJd
PWNbYj4+Ml07Y1thKzQ+PjJdPWNbYis0Pj4yXTtjW2ErOD4+Ml09Y1tiKzg+PjJdO2NbYSsxMj4+
Ml09Y1tiKzEyPj4yXTticmVha31lbHNle2I9YisxNnwwO2NbYT4+Ml09Y1tiPj4yXTtjW2ErND4+
Ml09Y1tiKzQ+PjJdO2NbYSs4Pj4yXT1jW2IrOD4+Ml07Y1thKzEyPj4yXT1jW2IrMTI+PjJdO2Jy
ZWFrfX1lbHNle2NbYT4+Ml09MDtjW2ErND4+Ml09MDtjW2ErOD4+Ml09MDtjW2ErMTI+PjJdPTB9
d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIFd4KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MDtiPV96
KGIpfDA7ZG8gaWYoYil7ZD1jW2I+PjJdfDA7Yj0oY1tiKzQ+PjJdfDApKy0xfDA7aWYoIShjW2Qr
KGIqNDh8MCkrMTI+PjJdfDApKXtkPShjW2QrKGIqNDh8MCk+PjJdfDApKygoY1tkKyhiKjQ4fDAp
KzQ+PjJdfDApKy0xPDw0KXwwO2NbYT4+Ml09Y1tkPj4yXTtjW2ErND4+Ml09Y1tkKzQ+PjJdO2Nb
YSs4Pj4yXT1jW2QrOD4+Ml07Y1thKzEyPj4yXT1jW2QrMTI+PjJdO2JyZWFrfWVsc2V7ZD1kKyhi
KjQ4fDApKzMyfDA7Y1thPj4yXT1jW2Q+PjJdO2NbYSs0Pj4yXT1jW2QrND4+Ml07Y1thKzg+PjJd
PWNbZCs4Pj4yXTtjW2ErMTI+PjJdPWNbZCsxMj4+Ml07YnJlYWt9fWVsc2V7Y1thPj4yXT0wO2Nb
YSs0Pj4yXT0wO2NbYSs4Pj4yXT0wO2NbYSsxMj4+Ml09MH13aGlsZSgwKTtyZXR1cm59ZnVuY3Rp
b24gWHgoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wLGs9
MCxtPTAsbj0wLG89MCxwPTAscT0wO3E9bDtsPWwrMTEyfDA7az1xKzcyfDA7bj1xKzMyfDA7bz1x
O3A9ZCsxNnwwO2o9MTt3aGlsZSgxKXtmPWNbcD4+Ml18MDtpZigoanwwKT4oY1tmKzE4MD4+Ml18
MCkpYnJlYWs7Zj1jWyhjW2YrMTg0Pj4yXXwwKSsoajw8Mik+PjJdfDA7Zz1rO2g9ZTtpPWcrNDB8
MDtkb3tjW2c+PjJdPWNbaD4+Ml07Zz1nKzR8MDtoPWgrNHwwfXdoaWxlKChnfDApPChpfDApKTtY
eChuLGYsayk7Zz1lO2g9bjtpPWcrNDB8MDtkb3tjW2c+PjJdPWNbaD4+Ml07Zz1nKzR8MDtoPWgr
NHwwfXdoaWxlKChnfDApPChpfDApKTtqPWorMXwwfWlmKCgoc28oZCl8MCkhPShkfDApPyhtPWNb
KGNbcD4+Ml18MCkrMTI+PjJdfDAsbXwwKTowKT9hW20rODE+PjBdfDA6MCl7cD1lKzMyfDA7bj1j
W3A+PjJdfDA7Y1trPj4yXT1jW2U+PjJdO2Nbays0Pj4yXT1jW2UrND4+Ml07Y1trKzg+PjJdPWNb
ZSs4Pj4yXTtjW2srMTI+PjJdPWNbZSsxMj4+Ml07Y1trKzE2Pj4yXT1jW2UrMTY+PjJdO2Nbaysy
MD4+Ml09Y1tlKzIwPj4yXTtjW2srMjQ+PjJdPWNbZSsyND4+Ml07Y1trKzI4Pj4yXT1jW2UrMjg+
PjJdO1R4KG8sbSxuLGspO2NbZT4+Ml09Y1tvPj4yXTtjW2UrND4+Ml09Y1tvKzQ+PjJdO2NbZSs4
Pj4yXT1jW28rOD4+Ml07Y1tlKzEyPj4yXT1jW28rMTI+PjJdO2NbZSsxNj4+Ml09Y1tvKzE2Pj4y
XTtjW2UrMjA+PjJdPWNbbysyMD4+Ml07Y1tlKzI0Pj4yXT1jW28rMjQ+PjJdO2NbZSsyOD4+Ml09
Y1tvKzI4Pj4yXTtjW3A+PjJdPShjW3A+PjJdfDApKzQwfWc9YjtoPWU7aT1nKzQwfDA7ZG97Y1tn
Pj4yXT1jW2g+PjJdO2c9Zys0fDA7aD1oKzR8MH13aGlsZSgoZ3wwKTwoaXwwKSk7bD1xO3JldHVy
bn1mdW5jdGlvbiBZeChhLGIsZSxmLGcpe2E9YXwwO2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO3Zh
ciBpPTAuMCxqPTAuMCxrPTAuMCxtPTAuMCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MDtzPWw7bD1s
KzE2MHwwO3I9cys5NnwwO3A9cys0OHwwO289cztxPWNbMTM5MThdfDA7bj1kW2crMzI+PjBdfDA7
aT0raFtnPj4zXTtqPStoW2crOD4+M107az0raFtnKzE2Pj4zXTttPStoW2crMjQ+PjNdO2Nbbz4+
Ml09YjtjW28rND4+Ml09ZjtjW28rOD4+Ml09bjtoW28rMTY+PjNdPWk7aFtvKzI0Pj4zXT1qO2hb
byszMj4+M109aztoW28rNDA+PjNdPW07ekwocSw4OTA5OSxvKXwwO2E6ZG8gaWYoMD49Mil7WEwo
ODkxNTksOCwxLHEpfDA7bz0wO3doaWxlKDEpe2lmKChvfDApPj0oYnwwKSlicmVhaztnPWNbYSsz
Mj4+Ml18MDtpPStoW2E+PjNdO2o9K2hbYSs4Pj4zXTtrPStoW2ErMTY+PjNdO209K2hbYSsyND4+
M107aWYoIWcpbj0xNzQxODE7ZWxzZSBuPWNbY1tnKzMyPj4yXT4+Ml18MDtjW3A+PjJdPW87aFtw
Kzg+PjNdPWk7aFtwKzE2Pj4zXT1qO2hbcCsyND4+M109aztoW3ArMzI+PjNdPW07Y1twKzQwPj4y
XT1nO2NbcCs0ND4+Ml09bjt6TChxLDg5MTY4LHApfDA7bz1vKzF8MDthPWErNDB8MH1YTCg4OTIx
MSw4LDEscSl8MDtnPTA7d2hpbGUoMSl7aWYoKGd8MCk+PShmfDApKWJyZWFrIGE7Yj1kW2UrMzY+
PjBdfDA7aT0raFtlKzE2Pj4zXTtqPStoW2UrMjQ+PjNdO2s9K2hbZT4+M107bT0raFtlKzg+PjNd
O3A9Y1tjW2UrMzI+PjJdPj4yXXwwO2Nbcj4+Ml09ZztjW3IrND4+Ml09ZTtjW3IrOD4+Ml09Yjto
W3IrMTY+PjNdPWk7aFtyKzI0Pj4zXT1qO2hbciszMj4+M109aztoW3IrNDA+PjNdPW07Y1tyKzQ4
Pj4yXT1wO3pMKHEsODkyMjAscil8MDtlPWUrNDB8MDtnPWcrMXwwfX13aGlsZSgwKTtsPXM7cmV0
dXJufWZ1bmN0aW9uIFp4KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MC4wO2M9K2hbYis4Pj4zXSou
NSsgK2hbYisyND4+M107aFthPj4zXT0raFtiPj4zXSouNSsgK2hbYisxNj4+M107aFthKzg+PjNd
PWM7cmV0dXJufWZ1bmN0aW9uIF94KGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9
MCxnPTAsaT0wLjAsaj0wLjA7ZT1sO2w9bCsxNnwwO2Y9ZTtqPStoW2I+PjNdO2hbZD4+M109K2hb
KCtoW2Q+PjNdPGo/ZDpiKT4+M107Zz1kKzh8MDtpPStoW2IrOD4+M107aFtnPj4zXT0raFsoK2hb
Zz4+M108aT9kOmIpKzg+PjNdO2o9K2hbYisxNj4+M10rajtoW2Y+PjNdPWo7aT0raFtiKzI0Pj4z
XStpO2hbZis4Pj4zXT1pO2c9ZCsxNnwwO2hbZz4+M109K2hbKCtoW2c+PjNdPmo/ZzpmKT4+M107
Yj1kKzI0fDA7aFtiPj4zXT0raFsoK2hbYj4+M10+aT9nOmYpKzg+PjNdO2NbYT4+Ml09Y1tkPj4y
XTtjW2ErND4+Ml09Y1tkKzQ+PjJdO2NbYSs4Pj4yXT1jW2QrOD4+Ml07Y1thKzEyPj4yXT1jW2Qr
MTI+PjJdO2NbYSsxNj4+Ml09Y1tkKzE2Pj4yXTtjW2ErMjA+PjJdPWNbZCsyMD4+Ml07Y1thKzI0
Pj4yXT1jW2QrMjQ+PjJdO2NbYSsyOD4+Ml09Y1tkKzI4Pj4yXTtsPWU7cmV0dXJufWZ1bmN0aW9u
ICR4KGEpe2E9YXwwO0t4KGEsMSk7cmV0dXJufWZ1bmN0aW9uIGF5KGEpe2E9YXwwO3ZhciBiPTAs
ZD0wLGU9MCxmPTAsZz0wO2U9bDtsPWwrMTZ8MDtkPWU7Yj1SQShJbShhLDkwNTYwKXwwKXwwO2lm
KGIpe2I9YnkoYil8MDtpZihifDApe2Y9Y1tiKzQwPj4yXXwwO2Q9Y1tiKzQ0Pj4yXXwwO2c9YSsx
NnwwO2E9Y1tnPj4yXXwwO2hbYSszMj4+M109KyhmfDApKi4wMTM4ODg4ODg4ODg4ODg4ODg7aFth
KzQwPj4zXT0rKGR8MCkqLjAxMzg4ODg4ODg4ODg4ODg4ODthPXZ3KDEyKXwwO2NbKGNbZz4+Ml18
MCkrMTI+PjJdPWE7Y1thPj4yXT1jW2IrMTI+PjJdO2NbYSs0Pj4yXT0oKGZ8MCkvLTJ8MCktKGNb
YiszMj4+Ml18MCk7Y1thKzg+PjJdPSgoZHwwKS8tMnwwKS0oY1tiKzM2Pj4yXXwwKX19ZWxzZXtj
W2Q+PjJdPURuKGEpfDA7X2woMCw4OTI2OCxkKXwwfWw9ZTtyZXR1cm59ZnVuY3Rpb24gYnkoYil7
Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAscD0w
LHE9MDtwPWw7bD1sKzExNTJ8MDtpPXArMjR8MDtoPXArOHwwO2U9cDtmPXArMTIwfDA7aj1wKzQ0
fDA7az1wKzQwfDA7bT1wKzM2fDA7bj1wKzMyfDA7bz1wKzI4fDA7ZD1jWzQyMzEwXXwwO2lmKCFk
KXtkPVFsKDE5ODMyLGNbNDM0NV18MCl8MDtjWzQyMzEwXT1kfWQ9YmJbY1tkPj4yXSYzMV0oZCxi
LDUxMil8MDtkbyBpZighZCl7Zz1hTShiLDEyMzYzMil8MDtpZighZyl7Y1tlPj4yXT1iO19sKDAs
ODkzMTcsZSl8MDtkPTA7YnJlYWt9ZWxzZXtkPTA7ZT0wfXdoaWxlKDEpe2lmKCEoZ0woZiwxMDI0
LGcpfDApKXtmPTExO2JyZWFrfWNbaD4+Ml09aztjW2grND4+Ml09bTtjW2grOD4+Ml09bjtjW2gr
MTI+PjJdPW87cT0oY00oZiw4OTM0NSxoKXwwKT09NDtlPXE/MTplO2lmKChhW2Y+PjBdfDApIT0z
Nyl7cT0oaEwoZiw4OTM3NCl8MCk9PTA7ZD1xP2Q6MX1pZigoZXwwKSE9MCYoZHwwKSE9MCl7Zj0x
MjticmVha319aWYoKGZ8MCk9PTExKWlmKCFlKXtjW2k+PjJdPWI7X2woMCw4OTM3OSxpKXwwO2Q9
MH1lbHNlIGY9MTI7aWYoKGZ8MCk9PTEyKXtxPXd3KDY0KXwwO2s9Y1trPj4yXXwwO2NbcSszMj4+
Ml09azttPWNbbT4+Ml18MDtjW3ErNDA+PjJdPShjW24+PjJdfDApLWs7Y1txKzM2Pj4yXT0oY1tv
Pj4yXXwwKS1tO2NbcSs4Pj4yXT1iO289Y1s0MjMxMV18MDtjWzQyMzExXT1vKzE7Y1txKzEyPj4y
XT1vO19MKHpOKGcpfDAsail8MDtvPWNbaiszNj4+Ml18MDtuPXd3KG8rMXwwKXwwO2NbcSs1Mj4+
Ml09bjtvTShnLDAsMCl8MDt3TihuLG8sMSxnKXwwO2FbbitvPj4wXT0wO289Y1s0MjMxMF18MDti
YltjW28+PjJdJjMxXShvLHEsMSl8MDthW3ErMTY+PjBdPWQ7ZD1xfUxMKGcpfDB9d2hpbGUoMCk7
bD1wO3JldHVybiBkfDB9ZnVuY3Rpb24gY3koYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO19JKGNb
Yis1Mj4+Ml18MCk7cmV0dXJufWZ1bmN0aW9uIGR5KGEpe2E9YXwwO19JKGNbKGNbYSsxNj4+Ml18
MCkrMTI+PjJdfDApO3JldHVybn1mdW5jdGlvbiBleShiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7
dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTA7bj1sO2w9bCsxNnwwO209bis4fDA7
az1uO2o9KGR8MCkhPTA7YTpkbyBpZihqKXtoPTA7Zj0wO2I6d2hpbGUoMSl3aGlsZSgxKXtpZiho
KWJyZWFrIGE7Zz1jW2QrKGY8PDIpPj4yXXwwO2lmKCFnKXtpPTY7YnJlYWsgYX1mPWYrMXwwO2lm
KCEoYVtnPj4wXXwwKSl7aD0xO2NvbnRpbnVlIGJ9fX1lbHNlIGk9Njt3aGlsZSgwKTtjOmRvIGlm
KChpfDApPT02KXdoaWxlKDEpe2Y9Y1tlPj4yXXwwO2lmKCFmKWJyZWFrIGM7bXIoYixmKXwwO21y
KGIsMTM0OTAxKXwwO2U9ZSs0fDA7aT02fXdoaWxlKDApO2Q6ZG8gaWYoail7aD0wO3doaWxlKDEp
e2Y9Y1tkKyhoPDwyKT4+Ml18MDtpZighZilicmVhayBkO2RvIGlmKGFbZj4+MF18MCl7ZT1SQShm
KXwwO2lmKCFlKXtjW2s+PjJdPWY7X2woMCw4OTQxOCxrKXwwO2JyZWFrfWc9YU0oZSwxMjM2MzIp
fDA7aWYoIWcpe2NbbT4+Ml09ZTtfbCgwLDg5NDQ2LG0pfDA7YnJlYWt9d2hpbGUoMSl7Zj1RQShn
KXwwO2lmKCFmKWJyZWFrO21yKGIsZil8MH1tcihiLDEzNDkwMSl8MDtMTChnKXwwfXdoaWxlKDAp
O2g9aCsxfDB9fXdoaWxlKDApO2w9bjtyZXR1cm59ZnVuY3Rpb24gZnkoYixkKXtiPWJ8MDtkPWR8
MDt2YXIgZT0wLGY9MCxnPTA7ZD1jW2QrNTI+PjJdfDA7YTp3aGlsZSgxKXtlPWFbZD4+MF18MDti
OmRvIHN3aXRjaChlPDwyND4+MjQpe2Nhc2UgMDpicmVhayBhO2Nhc2UgMzc6e2lmKChhW2QrMT4+
MF18MCk9PTM3KXtlPWQrMnwwO2lmKCgoKHBLKGUsODk0NzQsMyl8MCkhPTA/KHBLKGUsODk0Nzgs
NSl8MCkhPTA6MCk/KHBLKGUsODk0ODQsMyl8MCkhPTA6MCk/KHBLKGUsODk0ODgsNyl8MCkhPTA6
MCl7ZT0zNzticmVhayBifWVsc2UgZz0zNztjOndoaWxlKDEpe3N3aXRjaChnPDwyND4+MjQpe2Nh
c2UgMTM6e2Y9MTA7YnJlYWsgY31jYXNlIDEwOmNhc2UgMDp7Zj0xMjticmVhayBjfWRlZmF1bHQ6
e319Zz1kKzF8MDtkPWc7Zz1hW2c+PjBdfDB9aWYoKGZ8MCk9PTEwKXtlPWQrMXwwO2lmKChhW2U+
PjBdfDApPT0xMCl7ZD1kKzJ8MDtjb250aW51ZSBhfX1lbHNlIGlmKChmfDApPT0xMillPWQrMXww
O2Q9Zzw8MjQ+PjI0PT0wP2Q6ZTtjb250aW51ZSBhfWVsc2UgZT0zNzticmVha31kZWZhdWx0Ont9
fXdoaWxlKDApO2Q6d2hpbGUoMSl7c3dpdGNoKGU8PDI0Pj4yNCl7Y2FzZSAxMDpjYXNlIDEzOmNh
c2UgMDpicmVhayBkO2RlZmF1bHQ6e319bnIoYixlPDwyND4+MjQpfDA7Zz1kKzF8MDtkPWc7ZT1h
W2c+PjBdfDB9Zj1kKzF8MDtpZihlPDwyND4+MjQ9PTEzPyhhW2Y+PjBdfDApPT0xMDowKWQ9ZCsy
fDA7ZWxzZSBkPWU8PDI0Pj4yND09MD9kOmY7bnIoYiwxMCl8MH1yZXR1cm59ZnVuY3Rpb24gZ3ko
Yil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MDtmPWw7bD1sKzE2fDA7ZT1mO2Q9Y1s0MjMxMF18
MDthOmRvIGlmKGR8MCl7ZD1iYltjW2Q+PjJdJjMxXShkLDAsMTI4KXwwO3doaWxlKDEpe2lmKCFk
KWJyZWFrIGE7aWYoIShhW2QrMTY+PjBdfDApKXtjW2U+PjJdPWNbZCsxMj4+Ml07c3IoYiw4OTQ5
NixlKTttcihiLDg5NTE0KXwwO2Z5KGIsZCk7bXIoYiw4OTUzMil8MDttcihiLDg5NTQ3KXwwfWc9
Y1s0MjMxMF18MDtkPWJiW2NbZz4+Ml0mMzFdKGcsZCw4KXwwfX13aGlsZSgwKTtsPWY7cmV0dXJu
fWZ1bmN0aW9uIGh5KGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MDtnPWw7bD1s
KzE2fDA7ZT1nO2E6ZG8gc3dpdGNoKGR8MCl7Y2FzZSAwOntmPWI7YnJlYWt9Y2FzZSAxOntmPXpC
KGIpfDA7YnJlYWt9ZGVmYXVsdDp7c3dpdGNoKGl5KGIpfDApe2Nhc2UgMjpicmVhaztjYXNlIDE6
e2Y9ekIoYil8MDticmVhayBhfWRlZmF1bHQ6e2Y9YjticmVhayBhfX1pZighKGNbNDIzMTJdfDAp
KXtfbCgwLDg5NTU5LGUpfDA7Y1s0MjMxMl09MTtmPWJ9ZWxzZSBmPWJ9fXdoaWxlKDApO2lmKCEo
Y1s0MjMxM118MCkpY20oMTY5MjUyLDAsMCk7ZD1jWzQyMzE0XXwwO2lmKGQ+Pj4wPj0oY1s0MjMx
NV18MCk+Pj4wKXtkbSgxNjkyNTIsMSl8MDtkPWNbNDIzMTRdfDB9Y1s0MjMxNF09ZCsxO2FbZD4+
MF09NDA7ZT1mO2I6d2hpbGUoMSl7c3dpdGNoKGFbZT4+MF18MCl7Y2FzZSAwOmJyZWFrIGI7Y2Fz
ZSA5MjpjYXNlIDQxOmNhc2UgNDA6e2Q9Y1s0MjMxNF18MDtpZihkPj4+MD49KGNbNDIzMTVdfDAp
Pj4+MCl7ZG0oMTY5MjUyLDEpfDA7ZD1jWzQyMzE0XXwwfWNbNDIzMTRdPWQrMTthW2Q+PjBdPTky
O2JyZWFrfWRlZmF1bHQ6e319ZD1jWzQyMzE0XXwwO2lmKGQ+Pj4wPj0oY1s0MjMxNV18MCk+Pj4w
KXtkbSgxNjkyNTIsMSl8MDtkPWNbNDIzMTRdfDB9aD1hW2U+PjBdfDA7Y1s0MjMxNF09ZCsxO2Fb
ZD4+MF09aDtlPWUrMXwwfWQ9Y1s0MjMxNF18MDtpZihkPj4+MD49KGNbNDIzMTVdfDApPj4+MCl7
ZG0oMTY5MjUyLDEpfDA7ZD1jWzQyMzE0XXwwfWNbNDIzMTRdPWQrMTthW2Q+PjBdPTQxO2lmKChm
fDApIT0oYnwwKSlfSShmKTtkPWNbNDIzMTRdfDA7aWYoZD4+PjA+PShjWzQyMzE1XXwwKT4+PjAp
e2RtKDE2OTI1MiwxKXwwO2Q9Y1s0MjMxNF18MH1hW2Q+PjBdPTA7aD1jWzQyMzEzXXwwO2NbNDIz
MTRdPWg7bD1nO3JldHVybiBofDB9ZnVuY3Rpb24gaXkoYil7Yj1ifDA7dmFyIGM9MCxkPTA7Yz0w
O2E6d2hpbGUoMSl7d2hpbGUoMSl7ZD1hW2I+PjBdfDA7aWYoIShkPDwyND4+MjQpKWJyZWFrIGE7
aWYoKGQmMjU1KTwxMjcpYj1iKzF8MDtlbHNlIGJyZWFrfWlmKChkJi00KTw8MjQ+PjI0PT0tNjQp
e2M9MTtiPWIrMnwwfWVsc2V7Yz0yO2JyZWFrfX1yZXR1cm4gY3wwfWZ1bmN0aW9uIGp5KGEsYixk
LGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxpPTAsaj0wLGs9MCxt
PTAsbj0wLG89MCxwPTA7bj1sO2w9bCs5NnwwO2k9bis4MHwwO2o9bis3MnwwO209bis2NHwwO2c9
biszMnwwO2s9bjtoW2c+PjNdPStoW2E+PjNdO2hbZys4Pj4zXT0raFthKzg+PjNdO2hbZysxNj4+
M109K2hbYj4+M107aFtnKzI0Pj4zXT0raFtiKzg+PjNdO2RvIGlmKChESShkLGcsail8MCk+PTAp
e2lmKCFmKXtiPWQrNHwwO2E9Y1tiPj4yXXwwO2Y9Y1s0MjMxOF18MDtpZigoYXwwKT4oY1s0MjMx
N118MCkpe2lmKCFmKWE9d3coYTw8NSl8MDtlbHNlIGE9eXcoZixhPDw1KXwwO2NbNDIzMThdPWE7
Zz1jW2I+PjJdfDA7Y1s0MjMxN109ZztmPWF9ZWxzZSBnPWE7Yj1jW2Q+PjJdfDA7YT0wO3doaWxl
KDEpe2lmKChhfDApPj0oZ3wwKSlicmVhaztvPWYrKGE8PDUpfDA7ZD1iKyhhPDw0KXwwO2Nbbz4+
Ml09Y1tkPj4yXTtjW28rND4+Ml09Y1tkKzQ+PjJdO2Nbbys4Pj4yXT1jW2QrOD4+Ml07Y1tvKzEy
Pj4yXT1jW2QrMTI+PjJdO289ZisoYTw8NSkrMTZ8MDtkPWErMXwwO3A9YisoKChkfDApJShnfDAp
fDApPDw0KXwwO2Nbbz4+Ml09Y1twPj4yXTtjW28rND4+Ml09Y1twKzQ+PjJdO2Nbbys4Pj4yXT1j
W3ArOD4+Ml07Y1tvKzEyPj4yXT1jW3ArMTI+PjJdO2E9ZH1jW2s+PjJdPTA7Y1trKzQ+PjJdPTA7
Y1trKzg+PjJdPTA7Y1trKzEyPj4yXT0wO2NbaysxNj4+Ml09MDtjW2srMjA+PjJdPTA7Y1trKzI0
Pj4yXT0wO2NbaysyOD4+Ml09MDtjW2k+PjJdPWNbaj4+Ml07Y1tpKzQ+PjJdPWNbais0Pj4yXTtp
ZigoaEkoZixnLGksayxtKXwwKTwwKXthPTA7YnJlYWt9fWVsc2V7Y1tpPj4yXT1jW2o+PjJdO2Nb
aSs0Pj4yXT1jW2orND4+Ml07WUkoaSxtKX1hPW0rNHwwO2lmKCEoa3koY1thPj4yXXwwKXwwKSl7
Zz1jW2E+PjJdfDA7YT1jWzQyMzE5XXwwO2Y9Y1ttPj4yXXwwO2I9MDt3aGlsZSgxKXtpZigoYnww
KT49KGd8MCkpYnJlYWs7cD1hKyhiPDw0KXwwO289ZisoYjw8NCl8MDtjW3A+PjJdPWNbbz4+Ml07
Y1twKzQ+PjJdPWNbbys0Pj4yXTtjW3ArOD4+Ml09Y1tvKzg+PjJdO2NbcCsxMj4+Ml09Y1tvKzEy
Pj4yXTtiPWIrMXwwfWNbZT4+Ml09Z31lbHNlIGE9MH1lbHNlIGE9MDt3aGlsZSgwKTtsPW47cmV0
dXJuIGF8MH1mdW5jdGlvbiBreShhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTA7ZT1sO2w9bCsxNnww
O2Q9ZTtiPWNbNDIzMjBdfDA7ZG8gaWYoKGJ8MCk8KGF8MCkpe2E9YSszMDAtKChhfDApJTMwMHww
KStifDA7Yj15dyhjWzQyMzE5XXwwLGE8PDQpfDA7Y1s0MjMxOV09YjtpZighYil7X2woMSw4OTY0
OSxkKXwwO2E9MTticmVha31lbHNle2NbNDIzMjBdPWE7YT0wO2JyZWFrfX1lbHNlIGE9MDt3aGls
ZSgwKTtsPWU7cmV0dXJuIGF8MH1mdW5jdGlvbiBseSgpe3ZhciBhPTAsYj0wLGQ9MDtiPWw7bD1s
KzE2fDA7YT1iO2Q9Y1s0MjMyMV18MDtjWzQyMzIxXT1kKzE7ZG8gaWYoKGR8MCk8PTApe2Q9d3co
NDgwMCl8MDtjWzQyMzE5XT1kO2lmKCFkKXtfbCgxLDg5NjcyLGEpfDA7YT0xO2JyZWFrfWNbNDIz
MjBdPTMwMDtjWzQyMzIyXT0wO2NbNDIzMjNdPTA7aWYoMCl7eEEoKTthPTB9ZWxzZSBhPTB9ZWxz
ZSBhPTA7d2hpbGUoMCk7bD1iO3JldHVybiBhfDB9ZnVuY3Rpb24gbXkoKXt2YXIgYT0wLGI9MCxk
PTAsZT0wLjAsZj0wLGc9MDtiPWw7bD1sKzE2fDA7YT1iO2Q9Y1s0MjMyMV18MDtjWzQyMzIxXT1k
Ky0xO2lmKChkfDApPD0xPyhfSShjWzQyMzE5XXwwKSwwKTowKXtkPWNbMTM5MThdfDA7Zz1jWzQy
MzIyXXwwO2Y9Y1s0MjMyM118MDtlPSt5QSgpO2NbYT4+Ml09ZztjW2ErND4+Ml09ZjtoW2ErOD4+
M109ZTt6TChkLDg5NzEwLGEpfDB9bD1iO3JldHVybn1mdW5jdGlvbiBueShhLGIpe2E9YXwwO2I9
YnwwO3JldHVybiBveShhLGIsMCl8MH1mdW5jdGlvbiBveShiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1l
fDA7dmFyIGY9MCxnPTAsaT0wLGo9MCxrPTAuMCxtPTAuMCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9
MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEc9MCxIPTAsST0w
LEo9MCxLPTAsTD0wLE09MCxOPTA7TD1sO2w9bCsxNzZ8MDtHPUwrMTY4fDA7Sz1MKzEyOHwwO3g9
TCsxMjB8MDt2PUwrMTEyfDA7aT1MKzEwNHwwO3M9TCs4OHwwO249TCs3MnwwO2c9TCs2NHwwO3Q9
TCsxNjB8MDtJPUwrMTUyfDA7eT1MKzE0NHwwO3U9TCszMnwwO3c9TDtKPUwrMTM2fDA7Y1s0MjMy
Ml09KGNbNDIzMjJdfDApKzE7SD1jW2IrODA+PjJdfDA7Y1s0MjMyM109KGNbNDIzMjNdfDApK0g7
Zj1iKzg4fDA7d2hpbGUoMSl7Qz1jW2Y+PjJdfDA7aWYoIUMpe0Q9NDticmVha31mPWNbQysxNj4+
Ml18MDtpZighKGFbZisxMTI+PjBdfDApKXtEPTU7YnJlYWt9ZWxzZSBmPWYrMTE2fDB9ZG8gaWYo
KER8MCk9PTQpe19sKDEsODk3NTMsZyl8MDtmPTB9ZWxzZSBpZigoRHwwKT09NSl7Qj1jW2IrODQ+
PjJdfDA7aWYoIShweShILEIsYil8MCkpe2c9SDw8MztpZigoZ3wwKT4oY1s0MjMyNF18MCkpe2Y9
Y1s0MjMyNV18MDtpZighZilmPXd3KEg8PDcpfDA7ZWxzZSBmPXl3KGYsSDw8Nyl8MDtjWzQyMzI1
XT1mO2NbNDIzMjRdPWd9YTpkbyBpZigoSHwwKT4xPytoW0IrOD4+M10+K2hbQis0MD4+M106MCl7
Zj0wO3doaWxlKDEpe2lmKChmfDApPT0oSHwwKSl7cD0xO2JyZWFrIGF9ej1CKyhmPDw1KSsyNHww
O209K2hbej4+M107QT1CKyhmPDw1KSs4fDA7aFt6Pj4zXT0tK2hbQT4+M107aFtBPj4zXT0tbTtm
PWYrMXwwfX1lbHNlIHA9MDt3aGlsZSgwKTtyPWNbQz4+Ml0mMzt6PUMrNDh8MDtmPWNbKChyfDAp
PT0zP0M6eikrNDA+PjJdfDA7QT1DKy00OHwwO2lmKChmfDApPT0oY1soKHJ8MCk9PTI/QzpBKSs0
MD4+Ml18MCkpe2NbaT4+Ml09RG4oZil8MDtfbCgxLDg5ODYwLGkpfDA7Zj0wO2JyZWFrfW89SCst
MXwwO3E9Y1s0MjMyNV18MDtyPXE7Zj0wO2o9MDtiOndoaWxlKDEpe2lmKChqfDApPj0oSHwwKSl7
aj1vO249ZjticmVha31pZigoanwwKT4wKWc9K2hbQisoajw8NSkrOD4+M10+K2hbQisoaistMTw8
NSkrOD4+M10/LTE6MTtlbHNlIGc9MDtpZigoanwwKTwob3wwKSlpPStoW0IrKGorMTw8NSkrOD4+
M10+K2hbQisoajw8NSkrOD4+M10/MTotMTtlbHNlIGk9MDtjOmRvIGlmKChnfDApIT0oaXwwKSlp
ZigoZ3wwKT09MXwoaXwwKT09LTEpe2c9Qisoajw8NSl8MDtoW3ErKGY8PDQpPj4zXT0raFtnPj4z
XTtpPWYrMXwwO2hbcSsoZjw8NCkrOD4+M109K2hbQisoajw8NSkrMjQ+PjNdO2hbcSsoaTw8NCk+
PjNdPStoW2c+PjNdO2c9Qisoajw8NSkrOHwwO0Q9Mjk7YnJlYWt9ZWxzZXtnPUIrKGo8PDUpKzE2
fDA7aFtxKyhmPDw0KT4+M109K2hbZz4+M107aT1mKzF8MDtoW3ErKGY8PDQpKzg+PjNdPStoW0Ir
KGo8PDUpKzg+PjNdO2hbcSsoaTw8NCk+PjNdPStoW2c+PjNdO2c9Qisoajw8NSkrMjR8MDtEPTI5
O2JyZWFrfWVsc2V7c3dpdGNoKGd8MCl7Y2FzZSAtMTpicmVhayBjO2Nhc2UgMDpicmVhaztkZWZh
dWx0OntEPTI4O2JyZWFrIGJ9fWc9Qisoajw8NSl8MDtoW3ErKGY8PDQpPj4zXT0raFtnPj4zXTtp
PWYrMXwwO2hbcSsoZjw8NCkrOD4+M109K2hbQisoajw8NSkrMjQ+PjNdO2hbcSsoaTw8NCk+PjNd
PStoW2c+PjNdO2c9Qisoajw8NSkrOHwwO0Q9Mjl9d2hpbGUoMCk7aWYoKER8MCk9PTI5KXtEPTA7
aFtxKyhpPDw0KSs4Pj4zXT0raFtnPj4zXTtmPWYrMnwwfWo9aisxfDB9aWYoKER8MCk9PTI4KXtj
W24+PjJdPWc7Y1tuKzQ+PjJdPWc7Y1tuKzg+PjJdPTQ4MDtfbCgxLDg5Nzk1LG4pfDA7Zj0wO2Jy
ZWFrfWQ6d2hpbGUoMSl7aWYoKGp8MCk8PS0xKWJyZWFrO2lmKChqfDApPChvfDApKWY9K2hbQiso
ajw8NSkrOD4+M10+K2hbQisoaisxPDw1KSs4Pj4zXT8tMToxO2Vsc2UgZj0wO2lmKChqfDApPjAp
Zz0raFtCKyhqKy0xPDw1KSs4Pj4zXT4raFtCKyhqPDw1KSs4Pj4zXT8xOi0xO2Vsc2UgZz0wO2U6
ZG8gaWYoKGZ8MCkhPShnfDApKWlmKChmfDApPT0xfChnfDApPT0tMSl7Zj1CKyhqPDw1KXwwO2hb
cSsobjw8NCk+PjNdPStoW2Y+PjNdO2c9bisxfDA7aFtxKyhuPDw0KSs4Pj4zXT0raFtCKyhqPDw1
KSsyND4+M107aFtxKyhnPDw0KT4+M109K2hbZj4+M107Zj1CKyhqPDw1KSs4fDA7aT0yO2JyZWFr
fWVsc2V7Zj1CKyhqPDw1KSsxNnwwO2hbcSsobjw8NCk+PjNdPStoW2Y+PjNdO2c9bisxfDA7aFtx
KyhuPDw0KSs4Pj4zXT0raFtCKyhqPDw1KSs4Pj4zXTtoW3ErKGc8PDQpPj4zXT0raFtmPj4zXTtm
PUIrKGo8PDUpKzI0fDA7aT0yO2JyZWFrfWVsc2Ugc3dpdGNoKGZ8MCl7Y2FzZSAwOntmPUIrKGo8
PDUpKzE2fDA7aFtxKyhuPDw0KT4+M109K2hbZj4+M107Zz1uKzF8MDtoW3ErKG48PDQpKzg+PjNd
PStoW0IrKGo8PDUpKzg+PjNdO2hbcSsoZzw8NCk+PjNdPStoW2Y+PjNdO2Y9Qisoajw8NSkrMjR8
MDtpPTI7YnJlYWsgZX1jYXNlIC0xOntOPUIrKGo8PDUpKzE2fDA7aFtxKyhuPDw0KT4+M109K2hb
Tj4+M107Zj1CKyhqPDw1KSs4fDA7aT1uKzF8MDtoW3ErKG48PDQpKzg+PjNdPStoW2Y+PjNdO2hb
cSsoaTw8NCk+PjNdPStoW04+PjNdO049Qisoajw8NSkrMjR8MDtNPW4rMnwwO2hbcSsoaTw8NCkr
OD4+M109K2hbTj4+M107aT1CKyhqPDw1KXwwO2hbcSsoTTw8NCk+PjNdPStoW2k+PjNdO2c9bisz
fDA7aFtxKyhNPDw0KSs4Pj4zXT0raFtOPj4zXTtoW3ErKGc8PDQpPj4zXT0raFtpPj4zXTtpPTQ7
YnJlYWsgZX1kZWZhdWx0OntEPTQyO2JyZWFrIGR9fXdoaWxlKDApO2hbcSsoZzw8NCkrOD4+M109
K2hbZj4+M107aj1qKy0xfDA7bj1uK2l8MH1pZigoRHwwKT09NDIpe2Nbcz4+Ml09ZjtjW3MrND4+
Ml09ZjtjW3MrOD4+Ml09NTEzO19sKDEsODk3OTUscyl8MDtmPTA7YnJlYWt9ZjpkbyBpZighcClm
PTA7ZWxzZXtmPTA7d2hpbGUoMSl7aWYoKGZ8MCk+PShIfDApKXtmPTA7YnJlYWt9TT1CKyhmPDw1
KSsyNHwwO209K2hbTT4+M107Tj1CKyhmPDw1KSs4fDA7aFtNPj4zXT0tK2hbTj4+M107aFtOPj4z
XT0tbTtmPWYrMXwwfXdoaWxlKDEpe2lmKChmfDApPj0obnwwKSl7Zj0wO2JyZWFrIGZ9Tj1xKyhm
PDw0KSs4fDA7aFtOPj4zXT0tK2hbTj4+M107Zj1mKzF8MH19d2hpbGUoMCk7d2hpbGUoMSl7aWYo
KGZ8MCk+PShIfDApKWJyZWFrO2hbQisoZjw8NSk+PjNdPTIxNDc0ODM2NDcuMDtoW0IrKGY8PDUp
KzE2Pj4zXT0tMjE0NzQ4MzY0OC4wO2Y9ZisxfDB9Y1t0Pj4yXT1yO2k9dCs0fDA7Y1tpPj4yXT1u
O2hbdT4+M109K2hbYj4+M107aFt1Kzg+PjNdPStoW2IrOD4+M107aFt1KzE2Pj4zXT0raFtiKzQw
Pj4zXTtoW3UrMjQ+PjNdPStoW2IrNDg+PjNdO2lmKChESSh0LHUsSSl8MCk8MCl7X2woMSw4OTg5
OSx2KXwwO2Y9MDticmVha31pZighZSl7Zz1jW2k+PjJdfDA7Zj1jWzQyMzE4XXwwO2lmKChnfDAp
PihjWzQyMzE3XXwwKSl7aWYoIWYpZj13dyhnPDw1KXwwO2Vsc2UgZj15dyhmLGc8PDUpfDA7Y1s0
MjMxOF09ZjtnPWNbaT4+Ml18MDtjWzQyMzE3XT1nfWo9Y1s0MjMyNV18MDtpPTA7d2hpbGUoMSl7
aWYoKGl8MCk+PShnfDApKWJyZWFrO009ZisoaTw8NSl8MDtOPWorKGk8PDQpfDA7Y1tNPj4yXT1j
W04+PjJdO2NbTSs0Pj4yXT1jW04rND4+Ml07Y1tNKzg+PjJdPWNbTis4Pj4yXTtjW00rMTI+PjJd
PWNbTisxMj4+Ml07TT1mKyhpPDw1KSsxNnwwO049aSsxfDA7dj1qKygoKE58MCklKGd8MCl8MCk8
PDQpfDA7Y1tNPj4yXT1jW3Y+PjJdO2NbTSs0Pj4yXT1jW3YrND4+Ml07Y1tNKzg+PjJdPWNbdis4
Pj4yXTtjW00rMTI+PjJdPWNbdisxMj4+Ml07aT1OfWlmKCEoYVtiKzI5Pj4wXXwwKSl7az0wLjA7
bT0wLjB9ZWxzZXttPStoW2IrMTY+PjNdO2s9K0UoK20pO209K0YoK20pfWhbdys4Pj4zXT1tO2hb
dz4+M109aztpZighKGFbYis2OT4+MF18MCkpe2s9MC4wO209MC4wfWVsc2V7bT0raFtiKzU2Pj4z
XTtrPS0rRSgrbSk7bT0tK0YoK20pfWhbdysyND4+M109bTtoW3crMTY+PjNdPWs7Y1tHPj4yXT1j
W0k+PjJdO2NbRys0Pj4yXT1jW0krND4+Ml07aWYoKGhJKGYsZyxHLHcseSl8MCk8MCl7X2woMSw4
OTkzOCx4KXwwO2Y9MDticmVha319ZWxzZXtjW0c+PjJdPWNbST4+Ml07Y1tHKzQ+PjJdPWNbSSs0
Pj4yXTtZSShHLHkpfW49eSs0fDA7aWYoIShreShjW24+PjJdfDApfDApKXtmPTA7d2hpbGUoMSl7
aWYoKGZ8MCk+PShIfDApKWJyZWFrO2hbQisoZjw8NSk+PjNdPTIxNDc0ODM2NDcuMDtoW0IrKGY8
PDUpKzE2Pj4zXT0tMjE0NzQ4MzY0OC4wO2Y9ZisxfDB9aT1jW24+PjJdfDA7aj1jWzQyMzE5XXww
O2c9Y1t5Pj4yXXwwO2Y9MDt3aGlsZSgxKXtpZigoZnwwKT49KGl8MCkpe2k9MTtmPTEwO2c9MDti
cmVha31OPWorKGY8PDQpfDA7TT1nKyhmPDw0KXwwO2NbTj4+Ml09Y1tNPj4yXTtjW04rND4+Ml09
Y1tNKzQ+PjJdO2NbTis4Pj4yXT1jW00rOD4+Ml07Y1tOKzEyPj4yXT1jW00rMTI+PjJdO2Y9Zisx
fDB9d2hpbGUoMSl7aWYoISgoZ3wwKTwxNSZpPDwyND4+MjQhPTApKWJyZWFrO3F5KEIsSCxjWzQy
MzE5XXwwLGNbbj4+Ml18MCxmKTtqPTA7d2hpbGUoMSl7aWYoKGp8MCk+PShIfDApKWJyZWFrO2lm
KCtoW0IrKGo8PDUpPj4zXT09MjE0NzQ4MzY0Ny4wKXtEPTgyO2JyZWFrfWlmKCtoW0IrKGo8PDUp
KzE2Pj4zXT09LTIxNDc0ODM2NDguMCl7RD04MjticmVha31qPWorMXwwfWlmKChEfDApPT04Mil7
RD0wO049Zjw8MTtmPU47Zz0oTnwwKT4oMjE0NzQ4MzY0Ny8oSHwwKXwwfDApPzE1Omd9aT0oanww
KT09KEh8MCk/MDppO2c9ZysxfDB9aWYoaTw8MjQ+PjI0KXtNPURuKGNbKChjW0M+PjJdJjN8MCk9
PTM/Qzp6KSs0MD4+Ml18MCl8MDtOPURuKGNbKChjW0M+PjJdJjN8MCk9PTI/QzpBKSs0MD4+Ml18
MCl8MDtjW0s+PjJdPU07Y1tLKzQ+PjJdPU47X2woMCw4OTk3NixLKXwwO2NbRz4+Ml09Y1tJPj4y
XTtjW0crND4+Ml09Y1tJKzQ+PjJdO1lJKEcsSik7cXkoQixILGNbSj4+Ml18MCxjW0orND4+Ml18
MCwxMCk7X0koY1tKPj4yXXwwKX1jW2Q+PjJdPWNbbj4+Ml07Zj1jWzQyMzE5XXwwfWVsc2UgZj0w
fWVsc2UgZj0wfXdoaWxlKDApO2w9TDtyZXR1cm4gZnwwfWZ1bmN0aW9uIHB5KGEsYixkKXthPWF8
MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MC4wLGc9MC4wLGk9MCxqPTAsaz0wLG09MC4wLG49MC4w
LG89MCxwPTAuMCxxPTAuMCxyPTAuMCxzPTAuMCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAs
QT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MC4wLEw9MCxNPTAsTj0w
LE89MC4wLFA9MCxRPTAsUj0wO1I9bDtsPWwrMzJ8MDtJPVIrMTZ8MDtIPVIrOHwwO2s9UjtlPTA7
aj0wO3doaWxlKDEpe2lmKChqfDApPj0oYXwwKSlicmVhaztpPWIrKGo8PDUpfDA7cz0raFtiKyhq
PDw1KSs4Pj4zXS0raFtiKyhqPDw1KSsyND4+M107aWYoISgocz49MC4wP3M6LXMpPC4wMSk/KHM9
K2hbaT4+M10tK2hbYisoajw8NSkrMTY+PjNdLCEoKHM+PTAuMD9zOi1zKTwuMDEpKTowKXtpZigo
ZXwwKSE9KGp8MCkpe1A9YisoZTw8NSl8MDtjW1A+PjJdPWNbaT4+Ml07Y1tQKzQ+PjJdPWNbaSs0
Pj4yXTtjW1ArOD4+Ml09Y1tpKzg+PjJdO2NbUCsxMj4+Ml09Y1tpKzEyPj4yXTtjW1ArMTY+PjJd
PWNbaSsxNj4+Ml07Y1tQKzIwPj4yXT1jW2krMjA+PjJdO2NbUCsyND4+Ml09Y1tpKzI0Pj4yXTtj
W1ArMjg+PjJdPWNbaSsyOD4+Ml19ZT1lKzF8MH1qPWorMXwwfUo9YisxNnwwO2RvIGlmKCEoK2hb
Yj4+M10+K2hbSj4+M10pPyhMPWIrOHwwLE49YisyNHwwLCEoK2hbTD4+M10+K2hbTj4+M10pKTow
KXtQPWUrLTF8MDtNPWNbMTM5MThdfDA7dz0wO3doaWxlKDEpe2lmKCh3fDApPj0oUHwwKSlicmVh
aztEPXcrMXwwO0U9YisoRDw8NSl8MDtmPStoW0U+PjNdO0Y9YisoRDw8NSkrMTZ8MDtnPStoW0Y+
PjNdO2lmKGY+Zyl7UT0xNjticmVha31BPWIrKEQ8PDUpKzh8MDttPStoW0E+PjNdO0I9YisoRDw8
NSkrMjR8MDtuPStoW0I+PjNdO2lmKG0+bil7UT0xNjticmVha31HPWIrKHc8PDUpKzE2fDA7dj0r
aFtHPj4zXTxmO2U9diYxO0M9Yisodzw8NSl8MDt1PStoW0M+PjNdPmc7YT11JjE7ej1iKyh3PDw1
KSsyNHwwO3Q9K2hbej4+M108bTtqPXQmMTt5PWIrKHc8PDUpKzh8MDtrPStoW3k+PjNdPm47aT1r
JjE7eD1hK2UraitpfDA7bz0oeHwwKSE9MDtpZighKDA9PTB8b14xKSl7Y1tJPj4yXT13O2NbSSs0
Pj4yXT1EO3pMKE0sOTAxNzYsSSl8MDtyeShkKX1hOmRvIGlmKG8pe2lmKCF2KWlmKCF1KWlmKCF0
KXtpZihrKXtrPTA7bz1lO2U9QjtpPXk7UT0yNH19ZWxzZXtrPWk7aj0wO289ZTtlPUE7aT16O1E9
MjR9ZWxzZXtrPWk7YT0wO289ZTtlPUY7aT1DO1E9MjR9ZWxzZXtrPWk7bz0wO2U9RTtpPUc7UT0y
NH1pZigoUXwwKT09MjQpe1E9MDt3PX5+K2hbaT4+M107aFtpPj4zXT0raFtlPj4zXTtoW2U+PjNd
PSsod3wwKTtpPWs7ZT1vfW89eCstMXwwO2s9MDt3aGlsZSgxKXtpZigoa3wwKT49KG98MCkpYnJl
YWsgYTtkbyBpZigoZXwwKSE9MSl7aWYoKGF8MCk9PTEpe3M9Kyh+figoK2hbRj4+M10rICtoW0M+
PjNdKSouNSsuNSl8MCk7aFtGPj4zXT1zO2hbQz4+M109czthPTA7YnJlYWt9aWYoKGp8MCk9PTEp
e3M9Kyh+figoK2hbQT4+M10rICtoW3o+PjNdKSouNSsuNSl8MCk7aFtBPj4zXT1zO2hbej4+M109
cztqPTA7YnJlYWt9aWYoKGl8MCk9PTEpe3M9Kyh+figoK2hbQj4+M10rICtoW3k+PjNdKSouNSsu
NSl8MCk7aFtCPj4zXT1zO2hbeT4+M109cztpPTB9fWVsc2V7cz0rKH5+KCgraFtFPj4zXSsgK2hb
Rz4+M10pKi41Ky41KXwwKTtoW0U+PjNdPXM7aFtHPj4zXT1zO2U9MH13aGlsZSgwKTtrPWsrMXww
fX13aGlsZSgwKTtwPStoW0M+PjNdO3E9K2hbRz4+M107cj0raFtFPj4zXTtzPStoW0Y+PjNdO2k9
c3kofn5wLH5+cSx+fnIsfn5zKXwwO249K2hbeT4+M107bT0raFt6Pj4zXTtnPStoW0E+PjNdO2Y9
K2hbQj4+M107ZT1zeSh+fm4sfn5tLH5+Zyx+fmYpfDA7aWYoISgoaXwwKSE9MCYoZXwwKSE9MCkp
e3c9RDtjb250aW51ZX1pZigoaXwwKTwoZXwwKSl7Qj1xLXA+cy1yO3c9cTxzO2hbKEI/KHc/RzpD
KTp3P0U6Rik+PjNdPUI/KHc/cjpzKTp3P3E6cDt3PUQ7Y29udGludWV9ZWxzZXtCPW0tbj5mLWc7
dz1tPGY7aFsoQj8odz9HOkMpOnc/RTpGKSs4Pj4zXT1CPyh3P2c6Zik6dz9tOm47dz1EO2NvbnRp
bnVlfX1pZigoUXwwKT09MTYpe2NbSD4+Ml09RDtfbCgxLDkwMTMwLEgpfDA7cnkoZCk7ZT0xO2Jy
ZWFrfWY9K2hbZD4+M107Zz0raFtiPj4zXTtpZighKCgoIShmPGcpPyEoZj4raFtKPj4zXSk6MCk/
KEs9K2hbZCs4Pj4zXSwhKEs8K2hbTD4+M10pKTowKT8hKEs+K2hbTj4+M10pOjApKXtpZigwKXtY
TCg5MDIxOSw0MiwxLE0pfDA7cnkoZCk7Zz0raFtiPj4zXTtmPStoW2Q+PjNdfWlmKGY8ZyloW2Q+
PjNdPWc7ZWxzZSBnPWY7Zj0raFtKPj4zXTtpZihnPmYpaFtkPj4zXT1mO2U9ZCs4fDA7Zz0raFtl
Pj4zXTtmPStoW0w+PjNdO2lmKGc8Zil7aFtlPj4zXT1mO2c9Zn1mPStoW04+PjNdO2lmKGc+Zilo
W2U+PjNdPWZ9aT1kKzQwfDA7Zj0raFtpPj4zXTtlPWIrKFA8PDUpfDA7Zz0raFtlPj4zXTtpZigo
KCEoZjxnKT8hKGY+K2hbYisoUDw8NSkrMTY+PjNdKTowKT8oTz0raFtkKzQ4Pj4zXSwhKE88K2hb
YisoUDw8NSkrOD4+M10pKTowKT8hKE8+K2hbYisoUDw8NSkrMjQ+PjNdKTowKXtlPTA7YnJlYWt9
aWYoMCl7WEwoOTAyNjIsMzksMSxNKXwwO3J5KGQpO2c9K2hbZT4+M107Zj0raFtpPj4zXX1pZihm
PGcpe2hbaT4+M109ZztmPWd9Zz0raFtiKyhQPDw1KSsxNj4+M107aWYoZj5nKWhbaT4+M109Zztl
PWQrNDh8MDtmPStoW2U+PjNdO2c9K2hbYisoUDw8NSkrOD4+M107aWYoZjxnKWhbZT4+M109Zztl
bHNlIGc9ZjtmPStoW2IrKFA8PDUpKzI0Pj4zXTtpZihnPmYpe2hbZT4+M109ZjtlPTB9ZWxzZSBl
PTB9ZWxzZSBRPTEyO3doaWxlKDApO2lmKChRfDApPT0xMil7X2woMSw5MDA4NSxrKXwwO3J5KGQp
O2U9MX1sPVI7cmV0dXJuIGV8MH1mdW5jdGlvbiBxeShhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9
Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAuMCxuPTAuMCxv
PTAscD0wLHE9MCxyPTAscz0wLHQ9MC4wLHU9MCx2PTAuMCx3PTAuMCx4PTAuMCx5PTAuMCx6PTAu
MDtzPU8oZSxiKXwwO3Q9MS4wLysoc3wwKTtlPTA7YTp3aGlsZSgxKXt1PWUrM3wwO2lmKCh1fDAp
Pj0oZHwwKSlicmVhaztvPWMrKGU8PDQpfDA7cD1jKyhlPDw0KSs4fDA7cj1lKzF8MDtxPWMrKHI8
PDQpfDA7cj1jKyhyPDw0KSs4fDA7aj1lKzJ8MDtpPWMrKGo8PDQpfDA7aj1jKyhqPDw0KSs4fDA7
az1jKyh1PDw0KXwwO2w9YysodTw8NCkrOHwwO2c9MDt3aGlsZSgxKXtpZigoZ3wwKT4oc3wwKSl7
ZT11O2NvbnRpbnVlIGF9dj10KisoZ3wwKTttPStoW28+PjNdO249K2hbcD4+M107eT0raFtxPj4z
XTt3PStoW3I+PjNdO3o9K2hbaT4+M107eD0raFtqPj4zXTttPSh5LW0pKnYrbTtuPSh3LW4pKnYr
bjt5PSh6LXkpKnYreTt3PSh4LXcpKnYrdzttPSh5LW0pKnYrbTtuPSh3LW4pKnYrbjttPSgoei15
KygraFtrPj4zXS16KSp2KSp2K3ktbSkqdittO249KCh4LXcrKCtoW2w+PjNdLXgpKnYpKnYrdy1u
KSp2K247Zj0wO3doaWxlKDEpe2lmKChmfDApPj0oYnwwKSlicmVhaztpZihuPD0raFthKyhmPDw1
KSsyND4+M10rLjAwMDE/bj49K2hbYSsoZjw8NSkrOD4+M10rLS4wMDAxOjApe2U9YSsoZjw8NSl8
MDtpZigraFtlPj4zXT5tKWhbZT4+M109bTtlPWErKGY8PDUpKzE2fDA7aWYoK2hbZT4+M108bSlo
W2U+PjNdPW19Zj1mKzF8MH1nPWcrMXwwfX1yZXR1cm59ZnVuY3Rpb24gcnkoYil7Yj1ifDA7dmFy
IGQ9MCxlPTAsZj0wLGc9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLjAsbz0wLjAscD0wLjAscT0wLjAs
cj0wO209bDtsPWwrMTEyfDA7aj1tKzgwfDA7az1tKzQ4fDA7aT1tKzh8MDtnPW07ZT1jWzEzOTE4
XXwwO2Y9Yis4MHwwO2NbZz4+Ml09Y1tmPj4yXTt6TChlLDkwMzAyLGcpfDA7Zz1iKzg0fDA7ZD0w
O3doaWxlKDEpe2lmKChkfDApPj0oY1tmPj4yXXwwKSlicmVhaztyPWNbZz4+Ml18MDtxPStoW3Ir
KGQ8PDUpPj4zXTtwPStoW3IrKGQ8PDUpKzg+PjNdO289K2hbcisoZDw8NSkrMTY+PjNdO249K2hb
cisoZDw8NSkrMjQ+PjNdO2NbaT4+Ml09ZDtoW2krOD4+M109cTtoW2krMTY+PjNdPXA7aFtpKzI0
Pj4zXT1vO2hbaSszMj4+M109bjt6TChlLDkwMzEzLGkpfDA7ZD1kKzF8MH1xPStoW2IrOD4+M107
cD0raFtiKzE2Pj4zXTtyPWFbYisyOT4+MF18MD85MDM0NDo5MDM1NjtoW2s+PjNdPStoW2I+PjNd
O2hbays4Pj4zXT1xO2hbaysxNj4+M109cDtjW2srMjQ+PjJdPXI7ekwoZSw5MDM3MixrKXwwO3A9
K2hbYis0OD4+M107cT0raFtiKzU2Pj4zXTtyPWFbYis2OT4+MF18MD85MDM0NDo5MDM1NjtoW2o+
PjNdPStoW2IrNDA+PjNdO2hbais4Pj4zXT1wO2hbaisxNj4+M109cTtjW2orMjQ+PjJdPXI7ekwo
ZSw5MDQyMyxqKXwwO2w9bTtyZXR1cm59ZnVuY3Rpb24gc3koYSxiLGMsZCl7YT1hfDA7Yj1ifDA7
Yz1jfDA7ZD1kfDA7ZG8gaWYoKGJ8MCk+KGN8MCkmKGR8MCk+KGF8MCkpe2lmKCEoKGN8MCk+KGF8
MCl8KGR8MCk8KGF8MCkpKXthPWQtYXwwO2JyZWFrfWlmKChifDApPChjfDApfChifDApPihkfDAp
KXtiPWItYXwwO2E9ZC1jfDA7YT0oYnwwKTwoYXwwKT9iOmE7YnJlYWt9ZWxzZXthPWItY3wwO2Jy
ZWFrfX1lbHNlIGE9MDt3aGlsZSgwKTtyZXR1cm4gYXwwfWZ1bmN0aW9uIHR5KGEsYil7YT1hfDA7
Yj1ifDA7cmV0dXJuIG95KGEsYiwxKXwwfWZ1bmN0aW9uIHV5KGIsZCxlLGYsZyl7Yj1ifDA7ZD1k
fDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7dmFyIGk9MCxqPTAsaz0wLG09MC4wLG49MC4wLG89MC4wLHA9
MC4wLHE9MC4wLHI9MCxzPTAuMCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxE
PTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MC4wLE09MC4wLE49MC4wLFA9MCxRPTA7
Sz1sO2w9bCszMDR8MDtBPUsrMjcyfDA7ej1LKzIwOHwwO0c9Sys5NnwwO0g9SyszMnwwO0k9Sysx
NnwwO0o9SztyPUsrMTkyfDA7eT1LKzE3NnwwO2k9SysxNjB8MDtCPUsrMjk2fDA7RD1LKzI4OHww
O2o9Y1tkPj4yXXwwO3c9Y1tqPj4yXSYzO2s9aistNDh8MDtFPWNbKCh3fDApPT0yP2o6aykrNDA+
PjJdfDA7dD1HKzE2fDA7dz0oY1soY1soKHd8MCk9PTM/ajpqKzQ4fDApKzQwPj4yXXwwKSsxNj4+
Ml18MCkrMTZ8MDt4PWorMTZ8MDtGPShjW3g+PjJdfDApKzE2fDA7Y1t6Pj4yXT1jW3c+PjJdO2Nb
eis0Pj4yXT1jW3crND4+Ml07Y1t6Kzg+PjJdPWNbdys4Pj4yXTtjW3orMTI+PjJdPWNbdysxMj4+
Ml07Y1tBPj4yXT1jW0Y+PjJdO2NbQSs0Pj4yXT1jW0YrND4+Ml07Y1tBKzg+PjJdPWNbRis4Pj4y
XTtjW0ErMTI+PjJdPWNbRisxMj4+Ml07dnkocix6LEEpO2NbRz4+Ml09Y1tyPj4yXTtjW0crND4+
Ml09Y1tyKzQ+PjJdO2NbRys4Pj4yXT1jW3IrOD4+Ml07Y1tHKzEyPj4yXT1jW3IrMTI+PjJdO2Nb
dD4+Ml09Y1tyPj4yXTtjW3QrND4+Ml09Y1tyKzQ+PjJdO2NbdCs4Pj4yXT1jW3IrOD4+Ml07Y1t0
KzEyPj4yXT1jW3IrMTI+PjJdO2NbST4+Ml09Y1tyPj4yXTtjW0krND4+Ml09Y1tyKzQ+PjJdO2Nb
SSs4Pj4yXT1jW3IrOD4+Ml07Y1tJKzEyPj4yXT1jW3IrMTI+PjJdO3I9RyszMnwwO0Y9Rys0OHww
O3c9KGNbRSsxNj4+Ml18MCkrMTZ8MDt4PShjW3g+PjJdfDApKzU2fDA7Y1t6Pj4yXT1jW3c+PjJd
O2Nbeis0Pj4yXT1jW3crND4+Ml07Y1t6Kzg+PjJdPWNbdys4Pj4yXTtjW3orMTI+PjJdPWNbdysx
Mj4+Ml07Y1tBPj4yXT1jW3g+PjJdO2NbQSs0Pj4yXT1jW3grND4+Ml07Y1tBKzg+PjJdPWNbeCs4
Pj4yXTtjW0ErMTI+PjJdPWNbeCsxMj4+Ml07dnkoeSx6LEEpO2NbRj4+Ml09Y1t5Pj4yXTtjW0Yr
ND4+Ml09Y1t5KzQ+PjJdO2NbRis4Pj4yXT1jW3krOD4+Ml07Y1tGKzEyPj4yXT1jW3krMTI+PjJd
O2Nbcj4+Ml09Y1t5Pj4yXTtjW3IrND4+Ml09Y1t5KzQ+PjJdO2Nbcis4Pj4yXT1jW3krOD4+Ml07
Y1tyKzEyPj4yXT1jW3krMTI+PjJdO2NbSj4+Ml09Y1t5Pj4yXTtjW0orND4+Ml09Y1t5KzQ+PjJd
O2NbSis4Pj4yXT1jW3krOD4+Ml07Y1tKKzEyPj4yXT1jW3krMTI+PjJdO2E6ZG8gaWYoKGV8MCkh
PTEmKGFbMTc0MDc2XXwwKT09MCl7bT0raFtHPj4zXTtuPStoW0Y+PjNdO0w9bS1uO289K2hbRys4
Pj4zXTtwPStoW0crNTY+PjNdO3M9by1wO3E9cypzO2lmKHErTCpMPDEuMGUtMDYpe2NbdD4+Ml09
Y1tHPj4yXTtjW3QrND4+Ml09Y1tHKzQ+PjJdO2NbdCs4Pj4yXT1jW0crOD4+Ml07Y1t0KzEyPj4y
XT1jW0crMTI+PjJdO2Nbcj4+Ml09Y1tGPj4yXTtjW3IrND4+Ml09Y1tGKzQ+PjJdO2Nbcis4Pj4y
XT1jW0YrOD4+Ml07Y1tyKzEyPj4yXT1jW0YrMTI+PjJdO3k9RysyNHwwO3g9Rys0MHwwO249MC4w
O209MC4wfWVsc2V7TT1uLW07TD0rQygrKHErTSpNKSk7dz1jWyhjWyhjW2IrNjA+PjJdfDApKzE2
Pj4yXXwwKSsyNDg+PjJdfDA7Tj0rKChPKHcsZSstMXwwKXwwKS8yfDB8MCk7cT1zKk4vTDtoW3Q+
PjNdPXErbTttPU0qTi9MO3k9RysyNHwwO2hbeT4+M109bStvO2hbcj4+M109cStuO3g9Rys0MHww
O2hbeD4+M109cCttO209KygwLXd8MCk7bj1NKm0vTDttPXMqbS9MfWY9KGZ8MCk9PTY7dT1EKzR8
MDt2PUIrNHwwO2o9MDt3aGlsZSgxKXtpZigoanwwKT49KGV8MCkpYnJlYWsgYTt3PWNbZCsoajw8
Mik+PjJdfDA7az13Ky00OHwwO2I6ZG8gaWYoKGNbKChjW3c+PjJdJjN8MCk9PTI/dzprKSs0MD4+
Ml18MCk9PShFfDApKXtjW0k+PjJdPWNbRz4+Ml07Y1tJKzQ+PjJdPWNbRys0Pj4yXTtjW0krOD4+
Ml09Y1tHKzg+PjJdO2NbSSsxMj4+Ml09Y1tHKzEyPj4yXTtjW0o+PjJdPWNbRj4+Ml07Y1tKKzQ+
PjJdPWNbRis0Pj4yXTtjW0orOD4+Ml09Y1tGKzg+PjJdO2NbSisxMj4+Ml09Y1tGKzEyPj4yXTtp
PTA7d2hpbGUoMSl7aWYoKGl8MCk9PTQpYnJlYWsgYjtQPUgrKGk8PDQpfDA7UT1HKyhpPDw0KXww
O2NbUD4+Ml09Y1tRPj4yXTtjW1ArND4+Ml09Y1tRKzQ+PjJdO2NbUCs4Pj4yXT1jW1ErOD4+Ml07
Y1tQKzEyPj4yXT1jW1ErMTI+PjJdO2k9aSsxfDB9fWVsc2V7Y1tJPj4yXT1jW0Y+PjJdO2NbSSs0
Pj4yXT1jW0YrND4+Ml07Y1tJKzg+PjJdPWNbRis4Pj4yXTtjW0krMTI+PjJdPWNbRisxMj4+Ml07
Y1tKPj4yXT1jW0c+PjJdO2NbSis0Pj4yXT1jW0crND4+Ml07Y1tKKzg+PjJdPWNbRys4Pj4yXTtj
W0orMTI+PjJdPWNbRysxMj4+Ml07aT0wO3doaWxlKDEpe2lmKChpfDApPT00KWJyZWFrIGI7UT1I
KygzLWk8PDQpfDA7UD1HKyhpPDw0KXwwO2NbUT4+Ml09Y1tQPj4yXTtjW1ErND4+Ml09Y1tQKzQ+
PjJdO2NbUSs4Pj4yXT1jW1ArOD4+Ml07Y1tRKzEyPj4yXT1jW1ArMTI+PjJdO2k9aSsxfDB9fXdo
aWxlKDApO2lmKGYpe2NbdT4+Ml09NDtjW0Q+PjJdPXo7aT0wO3doaWxlKDEpe2lmKChpfDApPT00
KWJyZWFrO1E9eisoaTw8NCl8MDtQPUgrKGk8PDQpfDA7Y1tRPj4yXT1jW1A+PjJdO2NbUSs0Pj4y
XT1jW1ArND4+Ml07Y1tRKzg+PjJdPWNbUCs4Pj4yXTtjW1ErMTI+PjJdPWNbUCsxMj4+Ml07aT1p
KzF8MH1jW0E+PjJdPWNbRD4+Ml07Y1tBKzQ+PjJdPWNbRCs0Pj4yXTtZSShBLEIpO0p6KHcsY1so
KGNbdz4+Ml0mM3wwKT09Mj93OmspKzQwPj4yXXwwLGNbQj4+Ml18MCxjW3Y+PjJdfDAsZyl9ZWxz
ZSBKeih3LGNbKChjW3c+PjJdJjN8MCk9PTI/dzprKSs0MD4+Ml18MCxILDQsZyk7Y1t6Pj4yXT1j
W0k+PjJdO2Nbeis0Pj4yXT1jW0krND4+Ml07Y1t6Kzg+PjJdPWNbSSs4Pj4yXTtjW3orMTI+PjJd
PWNbSSsxMj4+Ml07Y1tBPj4yXT1jW0o+PjJdO2NbQSs0Pj4yXT1jW0orND4+Ml07Y1tBKzg+PjJd
PWNbSis4Pj4yXTtjW0ErMTI+PjJdPWNbSisxMj4+Ml07Y0EoYix3LHosQSk7aFt0Pj4zXT0raFt0
Pj4zXSttO2hbeT4+M109K2hbeT4+M10rbjtoW3I+PjNdPStoW3I+PjNdK207aFt4Pj4zXT0raFt4
Pj4zXStuO2o9aisxfDB9fWVsc2V7aWYoKGZ8MCk9PTQpe3d5KGksYik7Y1tBPj4yXT1jW2k+PjJd
O2NbQSs0Pj4yXT1jW2krND4+Ml07Y1tBKzg+PjJdPWNbaSs4Pj4yXTtjW0ErMTI+PjJdPWNbaSsx
Mj4+Ml07eHkoRyxBKX1KeihqLGNbKChjW2o+PjJdJjN8MCk9PTI/ajprKSs0MD4+Ml18MCxHLDQs
Zyk7Y1t6Pj4yXT1jW0k+PjJdO2Nbeis0Pj4yXT1jW0krND4+Ml07Y1t6Kzg+PjJdPWNbSSs4Pj4y
XTtjW3orMTI+PjJdPWNbSSsxMj4+Ml07Y1tBPj4yXT1jW0o+PjJdO2NbQSs0Pj4yXT1jW0orND4+
Ml07Y1tBKzg+PjJdPWNbSis4Pj4yXTtjW0ErMTI+PjJdPWNbSisxMj4+Ml07Y0EoYixqLHosQSl9
d2hpbGUoMCk7bD1LO3JldHVybn1mdW5jdGlvbiB2eShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7
dmFyIGQ9MC4wO2Q9K2hbYys4Pj4zXSsgK2hbYis4Pj4zXTtoW2E+PjNdPStoW2M+PjNdKyAraFti
Pj4zXTtoW2ErOD4+M109ZDtyZXR1cm59ZnVuY3Rpb24gd3koYSxiKXthPWF8MDtiPWJ8MDtiPWNb
YisxNj4+Ml18MDtoWzIwODk5XT0oK2hbYiszMj4+M10rICtoW2IrMTY+PjNdKSouNTtoWzIwOTAw
XT0oK2hbYis0MD4+M10rICtoW2IrMjQ+PjNdKSouNTtjW2E+PjJdPWNbNDE3OThdO2NbYSs0Pj4y
XT1jWzQxNzk5XTtjW2ErOD4+Ml09Y1s0MTgwMF07Y1thKzEyPj4yXT1jWzQxODAxXTtyZXR1cm59
ZnVuY3Rpb24geHkoYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLjAsZD0wLjAsZT0wLjAsZj0wLjAs
Zz0wLjAsaT0wLjA7Zj0raFthPj4zXTtkPStoW2ErNDg+PjNdO2k9KGQrZikqLjU7Zz0raFthKzg+
PjNdO2M9K2hbYSs1Nj4+M107ZT0oYytnKSouNTtmPWQtZjtnPWMtZztmPStDKCsoZypnK2YqZikp
Ki4yO2c9K2hbYj4+M10taTtjPStoW2IrOD4+M10tZTtkPStDKCsoYypjK2cqZykpO2lmKCEoZD09
MC4wKSl7Zz1pLWcvZCpmO2k9ZS1jL2QqZjtoW2ErMzI+PjNdPWc7aFthKzE2Pj4zXT1nO2hbYSs0
MD4+M109aTtoW2ErMjQ+PjNdPWl9cmV0dXJufWZ1bmN0aW9uIHl5KGEsYixkLGUsZil7YT1hfDA7
Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxpPTAsaj0wLGs9MCxtPTAuMCxuPTAsbz0w
LjAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEQ9
MCxFPTAsRj0wLjAsRz0wLEg9MC4wLEk9MC4wLEo9MC4wO0U9bDtsPWwrMjA4fDA7dD1FKzE5Mnww
O3M9RSsxNzZ8MDtCPUUrMzJ8MDt3PUUrMTZ8MDt4PUU7eT1FKzE2MHwwO3o9RSsxNDR8MDt1PUUr
MTI4fDA7dj1FKzExMnwwO2c9ZSYyMTMwNzA2NDMyO0E9KGUmOHwwKT09MD8oKGd8MCk9PTA/NDpn
KTo4O2lmKChBfDApPT00MzYyMDc2MTYpenkoYSxiLGQsZik7ZWxzZXtEPXZ3KChkPDw2KSs2NHww
KXwwO3A9ZCstMXwwO3E9eCs4fDA7cj13Kzh8MDtvPTEyLjA7ZT0wO3doaWxlKDEpe2lmKChlfDAp
Pj0oZHwwKSlicmVhaztuPWIrKGU8PDQpfDA7Y1t3Pj4yXT1jW24+PjJdO2Nbdys0Pj4yXT1jW24r
ND4+Ml07Y1t3Kzg+PjJdPWNbbis4Pj4yXTtjW3crMTI+PjJdPWNbbisxMj4+Ml07aWYoKGV8MCk8
KHB8MCkpe2U9ZSsxfDA7bj1iKyhlPDw0KXwwO2NbeD4+Ml09Y1tuPj4yXTtjW3grND4+Ml09Y1tu
KzQ+PjJdO2NbeCs4Pj4yXT1jW24rOD4+Ml07Y1t4KzEyPj4yXT1jW24rMTI+PjJdfWVsc2V7Y1t4
Pj4yXT1jW2I+PjJdO2NbeCs0Pj4yXT1jW2IrND4+Ml07Y1t4Kzg+PjJdPWNbYis4Pj4yXTtjW3gr
MTI+PjJdPWNbYisxMj4+Ml07ZT1lKzF8MH1tPStoW3g+PjNdLStoW3c+PjNdO0Y9K2hbcT4+M10t
K2hbcj4+M107bT0rQygrKEYqRittKm0pKSouMzMzMzMzMzMzMzMzMzMzMztvPW88bT9vOm19az0o
Z3wxNjc3NzIxNnwwKT09ODM4ODYwODA7bj0oQXwwKT09NDtqPShnfDApPT0xNjc3NzIxNjtlPTA7
aT0wO3doaWxlKDEpe2lmKChpfDApPj0oZHwwKSlicmVhaztnPWIrKGk8PDQpfDA7Y1t3Pj4yXT1j
W2c+PjJdO2Nbdys0Pj4yXT1jW2crND4+Ml07Y1t3Kzg+PjJdPWNbZys4Pj4yXTtjW3crMTI+PjJd
PWNbZysxMj4+Ml07aWYoKGl8MCk8KHB8MCkpe2c9YisoaSsxPDw0KXwwO2NbeD4+Ml09Y1tnPj4y
XTtjW3grND4+Ml09Y1tnKzQ+PjJdO2NbeCs4Pj4yXT1jW2crOD4+Ml07Y1t4KzEyPj4yXT1jW2cr
MTI+PjJdfWVsc2V7Y1t4Pj4yXT1jW2I+PjJdO2NbeCs0Pj4yXT1jW2IrND4+Ml07Y1t4Kzg+PjJd
PWNbYis4Pj4yXTtjW3grMTI+PjJdPWNbYisxMj4+Ml19bT0raFt4Pj4zXS0raFt3Pj4zXTtGPSto
W3E+PjNdLStoW3I+PjNdO209by8rQygrKEYqRittKm0pKTttPWs/bSouMzMzMzMzMzMzMzMzMzMz
MzpqP20qLjU6bTtnPUQrKGU8PDQpfDA7aWYobil7Y1tzPj4yXT1jW3c+PjJdO2Nbcys0Pj4yXT1j
W3crND4+Ml07Y1tzKzg+PjJdPWNbdys4Pj4yXTtjW3MrMTI+PjJdPWNbdysxMj4+Ml07Y1t0Pj4y
XT1jW3g+PjJdO2NbdCs0Pj4yXT1jW3grND4+Ml07Y1t0Kzg+PjJdPWNbeCs4Pj4yXTtjW3QrMTI+
PjJdPWNbeCsxMj4+Ml07QXkoeSxtKi41LHMsdCk7Y1tnPj4yXT1jW3k+PjJdO2NbZys0Pj4yXT1j
W3krND4+Ml07Y1tnKzg+PjJdPWNbeSs4Pj4yXTtjW2crMTI+PjJdPWNbeSsxMj4+Ml19ZWxzZXtj
W2c+PjJdPWNbdz4+Ml07Y1tnKzQ+PjJdPWNbdys0Pj4yXTtjW2crOD4+Ml09Y1t3Kzg+PjJdO2Nb
ZysxMj4+Ml09Y1t3KzEyPj4yXX1nPUQrKGUrMTw8NCl8MDtjW3M+PjJdPWNbdz4+Ml07Y1tzKzQ+
PjJdPWNbdys0Pj4yXTtjW3MrOD4+Ml09Y1t3Kzg+PjJdO2NbcysxMj4+Ml09Y1t3KzEyPj4yXTtj
W3Q+PjJdPWNbeD4+Ml07Y1t0KzQ+PjJdPWNbeCs0Pj4yXTtjW3QrOD4+Ml09Y1t4Kzg+PjJdO2Nb
dCsxMj4+Ml09Y1t4KzEyPj4yXTtBeSh6LG0scyx0KTtjW2c+PjJdPWNbej4+Ml07Y1tnKzQ+PjJd
PWNbeis0Pj4yXTtjW2crOD4+Ml09Y1t6Kzg+PjJdO2NbZysxMj4+Ml09Y1t6KzEyPj4yXTtnPWUr
M3wwO0c9RCsoZSsyPDw0KXwwO2Nbcz4+Ml09Y1t3Pj4yXTtjW3MrND4+Ml09Y1t3KzQ+PjJdO2Nb
cys4Pj4yXT1jW3crOD4+Ml07Y1tzKzEyPj4yXT1jW3crMTI+PjJdO2NbdD4+Ml09Y1t4Pj4yXTtj
W3QrND4+Ml09Y1t4KzQ+PjJdO2NbdCs4Pj4yXT1jW3grOD4+Ml07Y1t0KzEyPj4yXT1jW3grMTI+
PjJdO0F5KHUsMS4wLW0scyx0KTtjW0c+PjJdPWNbdT4+Ml07Y1tHKzQ+PjJdPWNbdSs0Pj4yXTtj
W0crOD4+Ml09Y1t1Kzg+PjJdO2NbRysxMj4+Ml09Y1t1KzEyPj4yXTtpZihuKXtHPUQrKGc8PDQp
fDA7Y1tzPj4yXT1jW3c+PjJdO2Nbcys0Pj4yXT1jW3crND4+Ml07Y1tzKzg+PjJdPWNbdys4Pj4y
XTtjW3MrMTI+PjJdPWNbdysxMj4+Ml07Y1t0Pj4yXT1jW3g+PjJdO2NbdCs0Pj4yXT1jW3grND4+
Ml07Y1t0Kzg+PjJdPWNbeCs4Pj4yXTtjW3QrMTI+PjJdPWNbeCsxMj4+Ml07QXkodiwxLjAtbSou
NSxzLHQpO2NbRz4+Ml09Y1t2Pj4yXTtjW0crND4+Ml09Y1t2KzQ+PjJdO2NbRys4Pj4yXT1jW3Yr
OD4+Ml07Y1tHKzEyPj4yXT1jW3YrMTI+PjJdO2U9ZSs0fDB9ZWxzZSBlPWc7aT1pKzF8MH1rPUQr
KGU8PDQpfDA7Y1trPj4yXT1jW0Q+PjJdO2Nbays0Pj4yXT1jW0QrND4+Ml07Y1trKzg+PjJdPWNb
RCs4Pj4yXTtjW2srMTI+PjJdPWNbRCsxMj4+Ml07az1EKyhlKzE8PDQpfDA7aj1EKzE2fDA7Y1tr
Pj4yXT1jW2o+PjJdO2Nbays0Pj4yXT1jW2orND4+Ml07Y1trKzg+PjJdPWNbais4Pj4yXTtjW2sr
MTI+PjJdPWNbaisxMj4+Ml07ZT1EKyhlKzI8PDQpfDA7az1EKzMyfDA7Y1tlPj4yXT1jW2s+PjJd
O2NbZSs0Pj4yXT1jW2srND4+Ml07Y1tlKzg+PjJdPWNbays4Pj4yXTtjW2UrMTI+PjJdPWNbaysx
Mj4+Ml07ZT1BJjIxNDc0ODM2NDc7YTpkbyBpZigoZXwwKTwyMDEzMjY1OTIpe2lmKChlfDApPj04
Mzg4NjA4MCl7aWYoKGV8MCk8MTM0MjE3NzI4KXtpZigoZXwwKTwxMDA2NjMyOTYpe3N3aXRjaChl
fDApe2Nhc2UgODM4ODYwODA6YnJlYWs7ZGVmYXVsdDpicmVhayBhfWlmKChkfDApPT00KXtHPXZ3
KDE5Mil8MDtjW0c+PjJdPWNbYj4+Ml07Y1tHKzQ+PjJdPWNbYis0Pj4yXTtjW0crOD4+Ml09Y1ti
Kzg+PjJdO2NbRysxMj4+Ml09Y1tiKzEyPj4yXTtwPUcrMTZ8MDt0PWIrMTZ8MDtjW3A+PjJdPWNb
dD4+Ml07Y1twKzQ+PjJdPWNbdCs0Pj4yXTtjW3ArOD4+Ml09Y1t0Kzg+PjJdO2NbcCsxMj4+Ml09
Y1t0KzEyPj4yXTtwPUQrNDh8MDt0PUQrNjR8MDtvPStoW3Q+PjNdO249RyszMnwwO2hbbj4+M109
bztxPUQrNTZ8MDtyPUQrNzJ8MDtIPStoW3I+PjNdO3o9Rys0MHwwO2hbej4+M109SDtGPStoW3A+
PjNdK28tK2hbaz4+M107dT1HKzQ4fDA7aFt1Pj4zXT1GO0o9K2hbcT4+M10rSC0raFtEKzQwPj4z
XTt4PUcrNTZ8MDtoW3g+PjNdPUo7ST0raFt0Pj4zXStGLStoW3A+PjNdO3A9Rys2NHwwO2hbcD4+
M109STttPStoW3I+PjNdK0otK2hbcT4+M107cT1HKzcyfDA7aFtxPj4zXT1tO3I9Rys4MHwwO2hb
cj4+M109bytJLUY7aFtHKzg4Pj4zXT1IK20tSjt0PUQrOTZ8MDt2PUQrODB8MDtKPStoW3Y+PjNd
O2Q9RysxNDR8MDtoW2Q+PjNdPUo7dz1EKzEwNHwwO3M9RCs4OHwwO209K2hbcz4+M107aFtHKzE1
Mj4+M109bTtIPStoW3Q+PjNdK0otK2hbRCsxMTI+PjNdO3k9RysxMjh8MDtoW3k+PjNdPUg7Rj0r
aFt3Pj4zXSttLStoW0QrMTIwPj4zXTtBPUcrMTM2fDA7aFtBPj4zXT1GO0k9K2hbdj4+M10rSC0r
aFt0Pj4zXTt0PUcrMTEyfDA7aFt0Pj4zXT1JO289K2hbcz4+M10rRi0raFt3Pj4zXTt3PUcrMTIw
fDA7aFt3Pj4zXT1vO3M9Rys5NnwwO2hbcz4+M109SitJLUg7dj1HKzEwNHwwO2hbdj4+M109bStv
LUY7az1HKzE2MHwwO2o9YiszMnwwO2Nbaz4+Ml09Y1tqPj4yXTtjW2srND4+Ml09Y1tqKzQ+PjJd
O2Nbays4Pj4yXT1jW2orOD4+Ml07Y1trKzEyPj4yXT1jW2orMTI+PjJdO2s9RysxNzZ8MDtiPWIr
NDh8MDtjW2s+PjJdPWNbYj4+Ml07Y1trKzQ+PjJdPWNbYis0Pj4yXTtjW2srOD4+Ml09Y1tiKzg+
PjJdO2NbaysxMj4+Ml09Y1tiKzEyPj4yXTtIRChhLEcsMTIsZik7Y1tCPj4yXT1jW24+PjJdO2Nb
Qis0Pj4yXT1jW24rND4+Ml07Y1tCKzg+PjJdPWNbbis4Pj4yXTtjW0IrMTI+PjJdPWNbbisxMj4+
Ml07Rj0raFtuPj4zXTtvPStoW3U+PjNdO0Y9RitGLW87dT1CKzE2fDA7aFt1Pj4zXT1GO209K2hb
ej4+M107SD0raFt4Pj4zXTttPW0rbS1IO3g9QisyNHwwO2hbeD4+M109bTt6PUIrMzJ8MDtoW3o+
PjNdPStoW3A+PjNdK0YtbztiPUIrNDB8MDtoW2I+PjNdPStoW3E+PjNdK20tSDtmPUIrNDh8MDtj
W2Y+PjJdPWNbcj4+Ml07Y1tmKzQ+PjJdPWNbcis0Pj4yXTtjW2YrOD4+Ml09Y1tyKzg+PjJdO2Nb
ZisxMj4+Ml09Y1tyKzEyPj4yXTtLRChhLEIsNCk7Y1tCPj4yXT1jW3M+PjJdO2NbQis0Pj4yXT1j
W3MrND4+Ml07Y1tCKzg+PjJdPWNbcys4Pj4yXTtjW0IrMTI+PjJdPWNbcysxMj4+Ml07SD0raFtz
Pj4zXTttPStoW3Q+PjNdO0g9SC0obS1IKTtoW3U+PjNdPUg7bz0raFt2Pj4zXTtGPStoW3c+PjNd
O289by0oRi1vKTtoW3g+PjNdPW87aFt6Pj4zXT0raFt5Pj4zXStILW07aFtiPj4zXT0raFtBPj4z
XStvLUY7Y1tmPj4yXT1jW2Q+PjJdO2NbZis0Pj4yXT1jW2QrND4+Ml07Y1tmKzg+PjJdPWNbZCs4
Pj4yXTtjW2YrMTI+PjJdPWNbZCsxMj4+Ml07S0QoYSxCLDQpO19JKEcpO2JyZWFrfWVsc2UgbWEo
OTA0NzIsOTA0ODMsNzM3LDkwNDkyKX1pZigoZXwwKTwxMTc0NDA1MTIpe3N3aXRjaChlfDApe2Nh
c2UgMTAwNjYzMjk2OmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX15PWQrNXwwO0c9dncoeTw8NCl8MDt6
PWIrMTZ8MDtIPStoW3o+PjNdO0g9KCtoW2I+PjNdLUgpKi42MjUrSDtoW0c+PjNdPUg7QT1iKzQw
fDA7Sj0raFtBPj4zXTtkPWIrMjR8MDt2PUQrNDh8MDt3PUQrNTZ8MDt4PUQrNzJ8MDtKPSgraFtk
Pj4zXS1KKSouNStKKygraFt3Pj4zXS0raFt4Pj4zXSkqMS41O2hbRys4Pj4zXT1KO0k9K2hbej4+
M107ST0oK2hbYj4+M10tSSkqLjI1K0k7aFtHKzE2Pj4zXT1JO2hbRysyND4+M109SjtoW0crMzI+
PjNdPUk7Rj0raFtBPj4zXTtoW0crNDA+PjNdPSgraFtkPj4zXS1GKSouNStGO0k9KCtoW2s+PjNd
LStoW3Y+PjNdKSouNStJO2hbRys0OD4+M109STtGPStoW0E+PjNdO2hbRys1Nj4+M109KCtoW2Q+
PjNdLUYpKi41K0Y7aFtHKzY0Pj4zXT1JO0k9K2hbQT4+M107ST0oK2hbZD4+M10tSSkqLjUrSSso
K2hbdz4+M10tK2hbeD4+M10pO2hbRys3Mj4+M109STtoW0crODA+PjNdPUg7aFtHKzg4Pj4zXT1J
O2hbRys5Nj4+M109SDtJPUktKCtoW3c+PjNdLStoW3g+PjNdKSouMjU7aFtHKzEwND4+M109STto
W0crMTEyPj4zXT0raFtrPj4zXStILStoW3Y+PjNdO2hbRysxMjA+PjNdPSgraFt3Pj4zXS0raFt4
Pj4zXSkqLjUrSTtoW0crMTI4Pj4zXT0raFtHPj4zXTtoW0crMTM2Pj4zXT0oK2hbdz4+M10tK2hb
eD4+M10pKi4yNStKO0hEKGEsRyx5LGYpO2hbQj4+M109K2hbej4+M107Sj0raFtBPj4zXTtoW0Ir
OD4+M109KCtoW2Q+PjNdLUopKi41K0o7aFtCKzE2Pj4zXT0raFtiPj4zXTtoW0IrMjQ+PjNdPSgr
aFtiKzg+PjNdLStoW2IrNTY+PjNdKSouNStKO0tEKGEsQiwyKTtfSShHKTticmVha31lbHNle3N3
aXRjaChlfDApe2Nhc2UgMTE3NDQwNTEyOmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX1kPWQrMXwwO0c9
dncoZDw8NCl8MDtoW0c+PjNdPStoW2o+PjNdO3o9RCs1NnwwO0E9RCs3MnwwO2hbRys4Pj4zXT0r
aFtEKzI0Pj4zXS0oK2hbej4+M10tK2hbQT4+M10pKi41O2hbRysxNj4+M109K2hbRCs0OD4+M107
Sj0raFt6Pj4zXTtoW0crMjQ+PjNdPUotKEotK2hbQT4+M10pKi41O2hbRyszMj4+M109K2hbYisz
Mj4+M107Qj1iKzQwfDA7aFtHKzQwPj4zXT0oK2hbej4+M10tK2hbQT4+M10pKi41KyAraFtCPj4z
XTtoW0crNDg+PjNdPStoW2o+PjNdO2hbRys1Nj4+M109KCtoW3o+PjNdLStoW0E+PjNdKSouNSsg
K2hbQj4+M107Sj0raFtiKzg+PjNdO2hbRys3Mj4+M109Si0oSi0raFtiKzU2Pj4zXSkqLjU7aFtH
KzY0Pj4zXT0raFtiPj4zXTtIRChhLEcsZCxmKTtfSShHKTticmVha319aWYoKGV8MCk8MTY3Nzcy
MTYwKWlmKChlfDApPDE1MDk5NDk0NCl7c3dpdGNoKGV8MCl7Y2FzZSAxMzQyMTc3Mjg6YnJlYWs7
ZGVmYXVsdDpicmVhayBhfXk9ZCs0fDA7Rz12dyh5PDw0KXwwO3o9YisxNnwwO0Y9K2hbej4+M107
eD1EKzQ4fDA7Rj0oK2hbYj4+M10tRikqLjUrRisoK2hbaz4+M10tK2hbeD4+M10pKi4yNTtoW0c+
PjNdPUY7QT1iKzQwfDA7Sj0raFtBPj4zXTtkPWIrMjR8MDtKPSgraFtkPj4zXS1KKSouNStKO2hb
Rys4Pj4zXT1KO2hbRysxNj4+M109Rjt2PUQrNTZ8MDt3PUQrNzJ8MDtIPSgraFt2Pj4zXS0raFt3
Pj4zXSkqLjUrSjtoW0crMjQ+PjNdPUg7Rj0oK2hbaz4+M10tK2hbeD4+M10pKi41K0Y7aFtHKzMy
Pj4zXT1GO2hbRys0MD4+M109SDtoW0crNDg+PjNdPUY7Rj0oK2hbdj4+M10tK2hbdz4+M10pKi41
K0g7aFtHKzU2Pj4zXT1GO0k9K2hbej4+M107ST0oK2hbYj4+M10tSSkqLjUrSSsoK2hbaz4+M10t
K2hbeD4+M10pKi0uNzU7aFtHKzY0Pj4zXT1JO2hbRys3Mj4+M109RjtoW0crODA+PjNdPUk7aFtH
Kzg4Pj4zXT1IO0k9K2hbej4+M107ST0oK2hbYj4+M10tSSkqLjUrSSsoK2hbaz4+M10tK2hbeD4+
M10pKi0uMjU7aFtHKzk2Pj4zXT1JO2hbRysxMDQ+PjNdPUg7aFtHKzExMj4+M109STtoW0crMTIw
Pj4zXT1KO0hEKGEsRyx5LGYpO2hbQj4+M109K2hbej4+M107Sj0raFtBPj4zXTtoW0IrOD4+M109
KCtoW2Q+PjNdLUopKi41K0o7aFtCKzE2Pj4zXT0raFtiPj4zXTtoW0IrMjQ+PjNdPSgraFtiKzg+
PjNdLStoW2IrNTY+PjNdKSouNStKO0tEKGEsQiwyKTtfSShHKTticmVha31lbHNle3N3aXRjaChl
fDApe2Nhc2UgMTUwOTk0OTQ0OmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX15PWQrMnwwO0c9dncoeTw8
NCl8MDt6PWIrMTZ8MDtIPStoW3o+PjNdO3g9RCs0OHwwO0g9KCtoW2I+PjNdLUgpKi41K0grKCto
W2s+PjNdLStoW3g+PjNdKSouNzU7aFtHPj4zXT1IO0E9Yis0MHwwO0o9K2hbQT4+M107ZD1iKzI0
fDA7Sj0oK2hbZD4+M10tSikqLjUrSjtoW0crOD4+M109SjtoW0crMTY+PjNdPUg7dj1EKzU2fDA7
dz1EKzcyfDA7SD0oK2hbdj4+M10tK2hbdz4+M10pKi4yNStKO2hbRysyND4+M109SDtJPStoW3o+
PjNdO2hbRyszMj4+M109KCtoW2I+PjNdLUkpKi41K0krKCtoW2s+PjNdLStoW3g+PjNdKSouMjU7
ST0oK2hbdj4+M10tK2hbdz4+M10pKi41K0g7aFtHKzQwPj4zXT1JO0Y9K2hbej4+M107aFtHKzQ4
Pj4zXT0oK2hbYj4+M10tRikqLjUrRisoK2hbaz4+M10tK2hbeD4+M10pKi0uMjU7aFtHKzU2Pj4z
XT1JO0k9K2hbej4+M107ST0oK2hbYj4+M10tSSkqLjUrSSsoK2hbaz4+M10tK2hbeD4+M10pKi0u
NzU7aFtHKzY0Pj4zXT1JO2hbRys3Mj4+M109SDtoW0crODA+PjNdPUk7aFtHKzg4Pj4zXT1KO0hE
KGEsRyx5LGYpO2hbQj4+M109K2hbej4+M107Sj0raFtBPj4zXTtoW0IrOD4+M109KCtoW2Q+PjNd
LUopKi41K0o7aFtCKzE2Pj4zXT0raFtiPj4zXTtoW0IrMjQ+PjNdPSgraFtiKzg+PjNdLStoW2Ir
NTY+PjNdKSouNStKO0tEKGEsQiwyKTtfSShHKTticmVha31lbHNlIGlmKChlfDApPDE4NDU0OTM3
Nil7c3dpdGNoKGV8MCl7Y2FzZSAxNjc3NzIxNjA6YnJlYWs7ZGVmYXVsdDpicmVhayBhfXk9ZCsx
fDA7Rz12dyh5PDw0KXwwO3o9YisxNnwwO0g9K2hbej4+M107dj1EKzQ4fDA7SD0raFtrPj4zXStI
KygraFtiPj4zXS1IKSouNS0raFt2Pj4zXTtoW0c+PjNdPUg7QT1iKzQwfDA7Sj0raFtBPj4zXTtk
PWIrMjR8MDt3PUQrNTZ8MDt4PUQrNzJ8MDtKPSgraFtkPj4zXS1KKSouNStKKygraFt3Pj4zXS0r
aFt4Pj4zXSkqLjI1O2hbRys4Pj4zXT1KO0g9SC0raFtrPj4zXSsgK2hbdj4+M107aFtHKzE2Pj4z
XT1IO2hbRysyND4+M109K2hbdz4+M10rSi0raFt4Pj4zXTtoW0crMzI+PjNdPUg7SD0oK2hbdz4+
M10tK2hbeD4+M10pKi41K0o7aFtHKzQwPj4zXT1IO0k9K2hbej4+M107ST0oK2hbYj4+M10tSSkq
LjI1K0k7aFtHKzQ4Pj4zXT1JO2hbRys1Nj4+M109SDtoW0crNjQ+PjNdPUk7aFtHKzcyPj4zXT1K
O0hEKGEsRyx5LGYpO2hbQj4+M109K2hbej4+M107Sj0raFtBPj4zXTtoW0IrOD4+M109KCtoW2Q+
PjNdLUopKi41K0o7aFtCKzE2Pj4zXT0raFtiPj4zXTtoW0IrMjQ+PjNdPSgraFtiKzg+PjNdLSto
W2IrNTY+PjNdKSouNStKO0tEKGEsQiwyKTtfSShHKTticmVha31lbHNle3N3aXRjaChlfDApe2Nh
c2UgMTg0NTQ5Mzc2OmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX16PWQrNHwwO0c9dncoejw8NCl8MDt5
PWIrMTZ8MDtIPStoW3k+PjNdO0k9K2hbYj4+M10tSDt1PUQrNDh8MDtJPUkqLjEyNStIKygraFtr
Pj4zXS0raFt1Pj4zXStJKSouNTtoW0c+PjNdPUk7dz1iKzQwfDA7SD0raFt3Pj4zXTt4PWIrMjR8
MDtkPUQrNTZ8MDt2PUQrNzJ8MDtIPSgraFt4Pj4zXS1IKSouNStIKygraFtkPj4zXS0raFt2Pj4z
XSkqLjI1O2hbRys4Pj4zXT1IO0o9K2hbeT4+M107Sj0oK2hbYj4+M10tSikqLjM3NStKO2hbRysx
Nj4+M109SjtoW0crMjQ+PjNdPUg7aFtHKzMyPj4zXT1KO0g9KCtoW2Q+PjNdLStoW3Y+PjNdKSou
NStIO2hbRys0MD4+M109SDtKPUotKCtoW2s+PjNdLStoW3U+PjNdKSouNTtoW0crNDg+PjNdPUo7
aFtHKzU2Pj4zXT1IO0E9Rys2NHwwO2hbQT4+M109SjtKPStoW3c+PjNdO0o9KCtoW3g+PjNdLUop
Ki41K0orKCtoW2Q+PjNdLStoW3Y+PjNdKSotLjI1O2hbRys3Mj4+M109SjtIPUktKCtoW2s+PjNd
LStoW3U+PjNdKSouNTtoW0crODA+PjNdPUg7aFtHKzg4Pj4zXT1KO2hbRys5Nj4+M109SDtKPUot
KCtoW2Q+PjNdLStoW3Y+PjNdKSouNTtoW0crMTA0Pj4zXT1KO3Y9RysxMTJ8MDtoW3Y+PjNdPUk7
aFtHKzEyMD4+M109SjtIRChhLEcseixmKTtoW0I+PjNdPStoW3k+PjNdO0o9K2hbdz4+M107eT1C
Kzh8MDtoW3k+PjNdPSgraFt4Pj4zXS1KKSouNStKO3o9QisxNnwwO2hbej4+M109K2hbQT4+M107
QT1iKzh8MDtkPWIrNTZ8MDtmPUIrMjR8MDtoW2Y+PjNdPSgraFtBPj4zXS0raFtkPj4zXSkqLjUr
SjtLRChhLEIsMik7aFtCPj4zXT0raFt2Pj4zXTtKPStoW3c+PjNdO2hbeT4+M109KCtoW3g+PjNd
LUopKi41K0o7aFt6Pj4zXT0raFtiPj4zXTtoW2Y+PjNdPSgraFtBPj4zXS0raFtkPj4zXSkqLjUr
SjtLRChhLEIsMik7X0koRyk7YnJlYWt9fWlmKChlfDApPDMzNTU0NDMyKXtpZigoZXwwKTw4KXtz
d2l0Y2goZXwwKXtjYXNlIDQ6YnJlYWs7ZGVmYXVsdDpicmVhayBhfWk9d3coKGQqOTZ8MCkrMzJ8
MCl8MDtlPTA7Zz0wO3doaWxlKDEpe2o9Z3wxO2s9aSsoZzw8NCl8MDtpZigoZXwwKT49KGR8MCkp
YnJlYWs7Yj1lPDwyO0c9RCsoYjw8NCl8MDtjW2s+PjJdPWNbRz4+Ml07Y1trKzQ+PjJdPWNbRys0
Pj4yXTtjW2srOD4+Ml09Y1tHKzg+PjJdO2NbaysxMj4+Ml09Y1tHKzEyPj4yXTtHPWkrKGo8PDQp
fDA7Qj1EKygoYnwxKTw8NCl8MDtjW0c+PjJdPWNbQj4+Ml07Y1tHKzQ+PjJdPWNbQis0Pj4yXTtj
W0crOD4+Ml09Y1tCKzg+PjJdO2NbRysxMj4+Ml09Y1tCKzEyPj4yXTtHPWkrKGcrMjw8NCl8MDtj
W0c+PjJdPWNbQj4+Ml07Y1tHKzQ+PjJdPWNbQis0Pj4yXTtjW0crOD4+Ml09Y1tCKzg+PjJdO2Nb
RysxMj4+Ml09Y1tCKzEyPj4yXTtHPWkrKGcrMzw8NCl8MDtCPUQrKChifDIpPDw0KXwwO2NbRz4+
Ml09Y1tCPj4yXTtjW0crND4+Ml09Y1tCKzQ+PjJdO2NbRys4Pj4yXT1jW0IrOD4+Ml07Y1tHKzEy
Pj4yXT1jW0IrMTI+PjJdO0c9aSsoZys0PDw0KXwwO2NbRz4+Ml09Y1tCPj4yXTtjW0crND4+Ml09
Y1tCKzQ+PjJdO2NbRys4Pj4yXT1jW0IrOD4+Ml07Y1tHKzEyPj4yXT1jW0IrMTI+PjJdO0c9aSso
Zys1PDw0KXwwO2I9RCsoKGJ8Myk8PDQpfDA7Y1tHPj4yXT1jW2I+PjJdO2NbRys0Pj4yXT1jW2Ir
ND4+Ml07Y1tHKzg+PjJdPWNbYis4Pj4yXTtjW0crMTI+PjJdPWNbYisxMj4+Ml07ZT1lKzF8MDtn
PWcrNnwwfWNbaz4+Ml09Y1tpPj4yXTtjW2srND4+Ml09Y1tpKzQ+PjJdO2Nbays4Pj4yXT1jW2kr
OD4+Ml07Y1trKzEyPj4yXT1jW2krMTI+PjJdO2Q9aSsoajw8NCl8MDtHPWkrMTZ8MDtjW2Q+PjJd
PWNbRz4+Ml07Y1tkKzQ+PjJdPWNbRys0Pj4yXTtjW2QrOD4+Ml09Y1tHKzg+PjJdO2NbZCsxMj4+
Ml09Y1tHKzEyPj4yXTtKRChhLEcsaiwwLDAsZiYyNTUpO19JKGkpO2JyZWFrfWlmKChlfDApPDE2
Nzc3MjE2KXtzd2l0Y2goZXwwKXtjYXNlIDg6YnJlYWs7ZGVmYXVsdDpicmVhayBhfUhEKGEsYixk
LGYpO2c9QisxNnwwO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KGR8MCkpYnJlYWsgYTtHPWUqM3ww
O2Y9RCsoRysyPDw0KXwwO2NbQj4+Ml09Y1tmPj4yXTtjW0IrND4+Ml09Y1tmKzQ+PjJdO2NbQis4
Pj4yXT1jW2YrOD4+Ml07Y1tCKzEyPj4yXT1jW2YrMTI+PjJdO0c9RCsoRys0PDw0KXwwO2NbZz4+
Ml09Y1tHPj4yXTtjW2crND4+Ml09Y1tHKzQ+PjJdO2NbZys4Pj4yXT1jW0crOD4+Ml07Y1tnKzEy
Pj4yXT1jW0crMTI+PjJdO0tEKGEsQiwyKTtlPWUrMXwwfX1zd2l0Y2goZXwwKXtjYXNlIDE2Nzc3
MjE2OmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX1nPWQrMXwwO2k9dncoZzw8NCl8MDtlPTE7d2hpbGUo
MSl7aWYoKGV8MCk+PShkfDApKWJyZWFrO0c9aSsoZTw8NCl8MDtBPWIrKGU8PDQpfDA7Y1tHPj4y
XT1jW0E+PjJdO2NbRys0Pj4yXT1jW0ErND4+Ml07Y1tHKzg+PjJdPWNbQSs4Pj4yXTtjW0crMTI+
PjJdPWNbQSsxMj4+Ml07ZT1lKzF8MH1iPWQqM3wwO0E9RCsoYisxPDw0KXwwO2NbaT4+Ml09Y1tB
Pj4yXTtjW2krND4+Ml09Y1tBKzQ+PjJdO2NbaSs4Pj4yXT1jW0ErOD4+Ml07Y1tpKzEyPj4yXT1j
W0ErMTI+PjJdO2Q9aSsoZDw8NCl8MDtHPUQrKGIrLTE8PDQpfDA7Y1tkPj4yXT1jW0c+PjJdO2Nb
ZCs0Pj4yXT1jW0crND4+Ml07Y1tkKzg+PjJdPWNbRys4Pj4yXTtjW2QrMTI+PjJdPWNbRysxMj4+
Ml07SEQoYSxpLGcsZik7X0koaSk7Y1tCPj4yXT1jW0c+PjJdO2NbQis0Pj4yXT1jW0crND4+Ml07
Y1tCKzg+PjJdPWNbRys4Pj4yXTtjW0IrMTI+PjJdPWNbRysxMj4+Ml07Rz1CKzE2fDA7Y1tHPj4y
XT1jW0E+PjJdO2NbRys0Pj4yXT1jW0ErND4+Ml07Y1tHKzg+PjJdPWNbQSs4Pj4yXTtjW0crMTI+
PjJdPWNbQSsxMj4+Ml07Zj1CKzMyfDA7aFtmPj4zXT0raFtCPj4zXSsgK2hbRz4+M10tK2hbRCso
Yjw8NCk+PjNdO2hbQis0MD4+M109K2hbQis4Pj4zXSsgK2hbQisyND4+M10tK2hbRCsoYjw8NCkr
OD4+M107S0QoYSxHLDIpO2NbRz4+Ml09Y1tmPj4yXTtjW0crND4+Ml09Y1tmKzQ+PjJdO2NbRys4
Pj4yXT1jW2YrOD4+Ml07Y1tHKzEyPj4yXT1jW2YrMTI+PjJdO0tEKGEsQiwyKTticmVha31lbHNl
e2lmKChlfDApPDUwMzMxNjQ4KXtzd2l0Y2goZXwwKXtjYXNlIDMzNTU0NDMyOmJyZWFrO2RlZmF1
bHQ6YnJlYWsgYX1nPWQrMnwwO2k9dncoZzw8NCl8MDtjW2k+PjJdPWNbYj4+Ml07Y1tpKzQ+PjJd
PWNbYis0Pj4yXTtjW2krOD4+Ml09Y1tiKzg+PjJdO2NbaSsxMj4+Ml09Y1tiKzEyPj4yXTtqPWkr
MTZ8MDtjW2o+PjJdPWNbaz4+Ml07Y1tqKzQ+PjJdPWNbays0Pj4yXTtjW2orOD4+Ml09Y1trKzg+
PjJdO2NbaisxMj4+Ml09Y1trKzEyPj4yXTtqPUQrNDh8MDtkPUQrNjR8MDtoW2krMzI+PjNdPSgr
aFtqPj4zXS0raFtkPj4zXSkqLjMzMzMzMzMzMzMzMzMzMzMrICtoW2s+PjNdO0c9RCs1NnwwO2U9
RCs3MnwwO2hbaSs0MD4+M109KCtoW0c+PjNdLStoW2U+PjNdKSouMzMzMzMzMzMzMzMzMzMzMysg
K2hbRCs0MD4+M107Sj0raFtqPj4zXTtoW2krNDg+PjNdPShKLStoW2Q+PjNdKSouMzMzMzMzMzMz
MzMzMzMzMytKO0o9K2hbRz4+M107aFtpKzU2Pj4zXT0oSi0raFtlPj4zXSkqLjMzMzMzMzMzMzMz
MzMzMzMrSjtlPTQ7d2hpbGUoMSl7aWYoKGV8MCk+PShnfDApKWJyZWFrO0c9aSsoZTw8NCl8MDtk
PWIrKGUrLTI8PDQpfDA7Y1tHPj4yXT1jW2Q+PjJdO2NbRys0Pj4yXT1jW2QrND4+Ml07Y1tHKzg+
PjJdPWNbZCs4Pj4yXTtjW0crMTI+PjJdPWNbZCsxMj4+Ml07ZT1lKzF8MH1IRChhLGksZyxmKTtf
SShpKTtjW0I+PjJdPWNbaj4+Ml07Y1tCKzQ+PjJdPWNbais0Pj4yXTtjW0IrOD4+Ml09Y1tqKzg+
PjJdO2NbQisxMj4+Ml09Y1tqKzEyPj4yXTtHPUIrMTZ8MDtjW0c+PjJdPWNbaz4+Ml07Y1tHKzQ+
PjJdPWNbays0Pj4yXTtjW0crOD4+Ml09Y1trKzg+PjJdO2NbRysxMj4+Ml09Y1trKzEyPj4yXTtL
RChhLEIsMik7YnJlYWt9aWYoKGV8MCk+PTY3MTA4ODY0KXtzd2l0Y2goZXwwKXtjYXNlIDY3MTA4
ODY0OmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX1pZigoZHwwKT09NCl7Rz12dyg5Nil8MDtjW0c+PjJd
PWNbYj4+Ml07Y1tHKzQ+PjJdPWNbYis0Pj4yXTtjW0crOD4+Ml09Y1tiKzg+PjJdO2NbRysxMj4+
Ml09Y1tiKzEyPj4yXTtkPUcrMTZ8MDtjW2Q+PjJdPWNbaz4+Ml07Y1tkKzQ+PjJdPWNbays0Pj4y
XTtjW2QrOD4+Ml09Y1trKzg+PjJdO2NbZCsxMj4+Ml09Y1trKzEyPj4yXTtkPUcrMzJ8MDtBPUQr
NjR8MDtjW2Q+PjJdPWNbQT4+Ml07Y1tkKzQ+PjJdPWNbQSs0Pj4yXTtjW2QrOD4+Ml09Y1tBKzg+
PjJdO2NbZCsxMj4+Ml09Y1tBKzEyPj4yXTtkPUcrNDh8MDtiPWIrMzJ8MDtjW2Q+PjJdPWNbYj4+
Ml07Y1tkKzQ+PjJdPWNbYis0Pj4yXTtjW2QrOD4+Ml09Y1tiKzg+PjJdO2NbZCsxMj4+Ml09Y1ti
KzEyPj4yXTtiPUcrNjR8MDtkPUQrMTI4fDA7Y1tiPj4yXT1jW2Q+PjJdO2NbYis0Pj4yXT1jW2Qr
ND4+Ml07Y1tiKzg+PjJdPWNbZCs4Pj4yXTtjW2IrMTI+PjJdPWNbZCsxMj4+Ml07Yj1HKzgwfDA7
ej1EKzE2MHwwO2NbYj4+Ml09Y1t6Pj4yXTtjW2IrND4+Ml09Y1t6KzQ+PjJdO2NbYis4Pj4yXT1j
W3orOD4+Ml07Y1tiKzEyPj4yXT1jW3orMTI+PjJdO0hEKGEsRyw2LGYpO19JKEcpO2hbQj4+M109
K2hbRCsxNzY+PjNdKyAraFtqPj4zXS0raFtEPj4zXTtoW0IrOD4+M109K2hbRCsxODQ+PjNdKyAr
aFtEKzI0Pj4zXS0raFtEKzg+PjNdO0c9QisxNnwwO2NbRz4+Ml09Y1tBPj4yXTtjW0crND4+Ml09
Y1tBKzQ+PjJdO2NbRys4Pj4yXT1jW0ErOD4+Ml07Y1tHKzEyPj4yXT1jW0ErMTI+PjJdO0tEKGEs
QiwyKTtjW0c+PjJdPWNbZD4+Ml07Y1tHKzQ+PjJdPWNbZCs0Pj4yXTtjW0crOD4+Ml09Y1tkKzg+
PjJdO2NbRysxMj4+Ml09Y1tkKzEyPj4yXTtLRChhLEIsMik7Y1tHPj4yXT1jW0Q+PjJdO2NbRys0
Pj4yXT1jW0QrND4+Ml07Y1tHKzg+PjJdPWNbRCs4Pj4yXTtjW0crMTI+PjJdPWNbRCsxMj4+Ml07
S0QoYSxCLDIpO2JyZWFrfWVsc2UgbWEoOTA0NzIsOTA0ODMsNzE0LDkwNDkyKX1zd2l0Y2goZXww
KXtjYXNlIDUwMzMxNjQ4OmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX1nPWQrM3wwO2k9dncoZzw8NCl8
MDtjW2k+PjJdPWNbYj4+Ml07Y1tpKzQ+PjJdPWNbYis0Pj4yXTtjW2krOD4+Ml09Y1tiKzg+PjJd
O2NbaSsxMj4+Ml09Y1tiKzEyPj4yXTtKPStoW2I+PjNdO2hbaSsxNj4+M109Si0oSi0raFtqPj4z
XSkqLjI1O2U9RCs1NnwwO0o9KCtoW2U+PjNdLStoW0QrNzI+PjNdKSouMzMzMzMzMzMzMzMzMzMz
MysgK2hbYis4Pj4zXTtoW2krMjQ+PjNdPUo7ST0raFtiPj4zXTtoW2krMzI+PjNdPUktKEktK2hb
aj4+M10pKjIuMDtoW2krNDA+PjNdPUo7Sj0raFtiPj4zXTtoW2krNDg+PjNdPUotKEotK2hbaj4+
M10pKjIuMjU7aFtpKzU2Pj4zXT0raFtlPj4zXTtoW2krNjQ+PjNdPStoW0QrNDg+PjNdO2hbaSs3
Mj4+M109K2hbZT4+M107ZT00O3doaWxlKDEpe2lmKChlfDApPj0oZ3wwKSlicmVhaztHPWkrKGU8
PDQpfDA7ZD1iKyhlKy0zPDw0KXwwO2NbRz4+Ml09Y1tkPj4yXTtjW0crND4+Ml09Y1tkKzQ+PjJd
O2NbRys4Pj4yXT1jW2QrOD4+Ml07Y1tHKzEyPj4yXT1jW2QrMTI+PjJdO2U9ZSsxfDB9SEQoYSxp
LGcsZik7X0koaSk7YnJlYWt9fWVsc2UgaWYoKGV8MCk8MzE4NzY3MTA0KXtpZigoZXwwKTwyNTE2
NTgyNDApe2lmKChlfDApPDIxODEwMzgwOCl7c3dpdGNoKGV8MCl7Y2FzZSAyMDEzMjY1OTI6YnJl
YWs7ZGVmYXVsdDpicmVhayBhfUc9ZDw8NDt1PXZ3KEcpfDA7dj1iKzE2fDA7Sj0raFt2Pj4zXTto
W3U+PjNdPUo7ej1iKzQwfDA7ST0raFt6Pj4zXTtBPWIrMjR8MDt5PUQrNDh8MDt3PUQrNTZ8MDt4
PUQrNzJ8MDtJPSgraFtBPj4zXS1JKSouNStJKygraFt3Pj4zXS0raFt4Pj4zXSkqLjEyNTtoW3Ur
OD4+M109STtIPSgraFtrPj4zXS0raFt5Pj4zXSkqMi4wK0o7aFt1KzE2Pj4zXT1IO2hbdSsyND4+
M109STtoW3UrMzI+PjNdPUg7ST0oK2hbdz4+M10tK2hbeD4+M10pKi41K0k7aFt1KzQwPj4zXT1J
O2hbdSs0OD4+M109SjtoW3UrNTY+PjNdPUk7SEQoYSx1LGQsZik7X0kodSk7Rz12dyhHKXwwO0k9
K2hbaz4+M10rICtoW3Y+PjNdLStoW3k+PjNdO2hbRz4+M109STtKPStoW3o+PjNdO0o9KCtoW0E+
PjNdLUopKi41K0orKCtoW3c+PjNdLStoW3g+PjNdKSotLjYyNTtoW0crOD4+M109SjtIPStoW2s+
PjNdLStoW3k+PjNdK0k7eT1HKzE2fDA7aFt5Pj4zXT1IO2hbRysyND4+M109SjtoW0crMzI+PjNd
PUg7Sj0oK2hbdz4+M10tK2hbeD4+M10pKi41K0o7aFtHKzQwPj4zXT1KO2hbRys0OD4+M109STto
W0crNTY+PjNdPUo7SEQoYSxHLGQsZik7aFtCPj4zXT0raFt5Pj4zXTtKPStoW3o+PjNdO2hbQis4
Pj4zXT0oK2hbQT4+M10tSikqLjUrSjtoW0IrMTY+PjNdPStoW2I+PjNdO2hbQisyND4+M109KCto
W2IrOD4+M10tK2hbYis1Nj4+M10pKi41K0o7S0QoYSxCLDIpO19JKEcpO2JyZWFrfWlmKChlfDAp
PDIzNDg4MTAyNCl7c3dpdGNoKGV8MCl7Y2FzZSAyMTgxMDM4MDg6YnJlYWs7ZGVmYXVsdDpicmVh
ayBhfUc9ZDw8NDt3PXZ3KEcpfDA7Sj0raFtiPj4zXTtoW3c+PjNdPUo7eT1iKzQwfDA7ST0raFt5
Pj4zXTt6PWIrMjR8MDt4PUQrNTZ8MDtBPUQrNzJ8MDtJPSgraFt6Pj4zXS1JKSouNStJKygraFt4
Pj4zXS0raFtBPj4zXSkqLjEyNTtoW3crOD4+M109STtoW3crMTY+PjNdPUo7SD0oK2hbeD4+M10t
K2hbQT4+M10pKi41K0k7aFt3KzI0Pj4zXT1IO0o9Si0oK2hbeD4+M10tK2hbQT4+M10pKjIuMDto
W3crMzI+PjNdPUo7aFt3KzQwPj4zXT1IO2hbdys0OD4+M109SjtoW3crNTY+PjNdPUk7SEQoYSx3
LGQsZik7X0kodyk7Rz12dyhHKXwwO0k9K2hbYj4+M10tK2hbaz4+M10rICtoW0QrNDg+PjNdO2hb
Rz4+M109STtKPStoW3k+PjNdO0o9KCtoW3o+PjNdLUopKi41K0orKCtoW3g+PjNdLStoW0E+PjNd
KSotLjYyNTtoW0crOD4+M109SjtoW0crMTY+PjNdPUk7SD0oK2hbeD4+M10tK2hbQT4+M10pKi41
K0o7aFtHKzI0Pj4zXT1IO0k9SS0oK2hbeD4+M10tK2hbQT4+M10pO2hbRyszMj4+M109STtoW0cr
NDA+PjNdPUg7QT1HKzQ4fDA7aFtBPj4zXT1JO2hbRys1Nj4+M109SjtIRChhLEcsZCxmKTtoW0I+
PjNdPStoW2IrMTY+PjNdO0o9K2hbeT4+M107aFtCKzg+PjNdPSgraFt6Pj4zXS1KKSouNStKO2hb
QisxNj4+M109K2hbQT4+M107aFtCKzI0Pj4zXT0oK2hbYis4Pj4zXS0raFtiKzU2Pj4zXSkqLjUr
SjtLRChhLEIsMik7X0koRyk7YnJlYWt9ZWxzZXtzd2l0Y2goZXwwKXtjYXNlIDIzNDg4MTAyNDpi
cmVhaztkZWZhdWx0OmJyZWFrIGF9Rz1kPDw0O3k9dncoRyl8MDt1PWIrMTZ8MDtJPStoW3U+PjNd
O3Y9RCs0OHwwO0k9KCtoW2I+PjNdLUkpKi41K0krKCtoW2s+PjNdLStoW3Y+PjNdKSotMS4xMjU7
aFt5Pj4zXT1JO3c9Yis0MHwwO0o9K2hbdz4+M107eD1iKzI0fDA7QT1EKzU2fDA7ej1EKzcyfDA7
Sj0oK2hbeD4+M10tSikqLjUrSisoK2hbQT4+M10tK2hbej4+M10pKi4xMjU7aFt5Kzg+PjNdPUo7
SD0raFtrPj4zXS0raFt2Pj4zXStJO2hbeSsxNj4+M109SDtoW3krMjQ+PjNdPUo7aFt5KzMyPj4z
XT1IO0o9KCtoW0E+PjNdLStoW3o+PjNdKSouNStKO2hbeSs0MD4+M109SjtoW3krNDg+PjNdPUk7
aFt5KzU2Pj4zXT1KO0hEKGEseSxkLGYpO19JKHkpO3k9dncoRyl8MDtKPStoW3U+PjNdO0o9KCto
W2I+PjNdLUopKi41K0orKCtoW2s+PjNdLStoW3Y+PjNdKSotMS4xMjU7aFt5Pj4zXT1KO0k9K2hb
dz4+M107ST0oK2hbeD4+M10tSSkqLjUrSSsoK2hbQT4+M10tK2hbej4+M10pKi0uNjI1O2hbeSs4
Pj4zXT1JO0g9K2hbaz4+M10tK2hbdj4+M10rSjtoW3krMTY+PjNdPUg7aFt5KzI0Pj4zXT1JO2hb
eSszMj4+M109SDtJPSgraFtBPj4zXS0raFt6Pj4zXSkqLjUrSTtoW3krNDA+PjNdPUk7aFt5KzQ4
Pj4zXT1KO2hbeSs1Nj4+M109STtIRChhLHksZCxmKTtfSSh5KTt5PXZ3KEcpfDA7ST0raFt1Pj4z
XTtJPSgraFtiPj4zXS1JKSouNStJKygraFtrPj4zXS0raFt2Pj4zXSkqLjEyNTtoW3k+PjNdPUk7
Sj0raFt3Pj4zXTtKPSgraFt4Pj4zXS1KKSouNStKKygraFtBPj4zXS0raFt6Pj4zXSkqLS42MjU7
aFt5Kzg+PjNdPUo7SD0raFtrPj4zXS0raFt2Pj4zXStJO2hbeSsxNj4+M109SDtoW3krMjQ+PjNd
PUo7aFt5KzMyPj4zXT1IO0o9KCtoW0E+PjNdLStoW3o+PjNdKSouNStKO2hbeSs0MD4+M109Sjto
W3krNDg+PjNdPUk7aFt5KzU2Pj4zXT1KO0hEKGEseSxkLGYpO19JKHkpO0c9dncoRyl8MDtKPSto
W3U+PjNdO0o9KCtoW2I+PjNdLUopKi41K0orKCtoW2s+PjNdLStoW3Y+PjNdKSouMTI1O2hbRz4+
M109SjtJPStoW3c+PjNdO0k9KCtoW3g+PjNdLUkpKi41K0krKCtoW0E+PjNdLStoW3o+PjNdKSou
MTI1O2hbRys4Pj4zXT1JO0g9K2hbaz4+M10tK2hbdj4+M10rSjt5PUcrMTZ8MDtoW3k+PjNdPUg7
aFtHKzI0Pj4zXT1JO2hbRyszMj4+M109SDtJPSgraFtBPj4zXS0raFt6Pj4zXSkqLjUrSTtoW0cr
NDA+PjNdPUk7aFtHKzQ4Pj4zXT1KO2hbRys1Nj4+M109STtIRChhLEcsZCxmKTtoW0I+PjNdPSto
W3k+PjNdO0k9K2hbdz4+M107eT1CKzh8MDtoW3k+PjNdPSgraFt4Pj4zXS1JKSouNStJO3o9Qisx
NnwwO2hbej4+M109K2hbYj4+M107QT1iKzh8MDtkPWIrNTZ8MDtmPUIrMjR8MDtoW2Y+PjNdPSgr
aFtBPj4zXS0raFtkPj4zXSkqLjUrSTtLRChhLEIsMik7ST0raFt1Pj4zXTtoW0I+PjNdPSgraFti
Pj4zXS1JKSouNStJKygraFtrPj4zXS0raFt2Pj4zXSkqLTEuMTI1O0o9K2hbdz4+M107aFt5Pj4z
XT0oK2hbeD4+M10tSikqLjUrSjtoW3o+PjNdPUk7aFtmPj4zXT0oK2hbQT4+M10tK2hbZD4+M10p
Ki41K0o7S0QoYSxCLDIpO19JKEcpO2JyZWFrfX1pZigoZXwwKTwyODUyMTI2NzIpaWYoKGV8MCk8
MjY4NDM1NDU2KXtzd2l0Y2goZXwwKXtjYXNlIDI1MTY1ODI0MDpicmVhaztkZWZhdWx0OmJyZWFr
IGF9Rz1kPDw0O3U9dncoRyl8MDt2PWIrMTZ8MDtKPStoW3Y+PjNdO3k9RCs0OHwwO0o9Si0raFtr
Pj4zXSsoK2hbYj4+M10tSikqLjUrICtoW3k+PjNdO2hbdT4+M109Sjt3PWIrNDB8MDtJPStoW3c+
PjNdO3g9YisyNHwwO0E9RCs1NnwwO3o9RCs3MnwwO0k9KCtoW3g+PjNdLUkpKi41K0krKCtoW0E+
PjNdLStoW3o+PjNdKSouMTI1O2hbdSs4Pj4zXT1JO0g9KCtoW2s+PjNdLStoW3k+PjNdKSoyLjAr
SjtoW3UrMTY+PjNdPUg7aFt1KzI0Pj4zXT1JO2hbdSszMj4+M109SDtJPSgraFtBPj4zXS0raFt6
Pj4zXSkqLjUrSTtoW3UrNDA+PjNdPUk7aFt1KzQ4Pj4zXT1KO2hbdSs1Nj4+M109STtIRChhLHUs
ZCxmKTtfSSh1KTtHPXZ3KEcpfDA7ST0raFt2Pj4zXTtJPUktK2hbaz4+M10rKCtoW2I+PjNdLUkp
Ki41KyAraFt5Pj4zXTtoW0c+PjNdPUk7Sj0raFt3Pj4zXTtKPSgraFt4Pj4zXS1KKSouNStKKygr
aFtBPj4zXS0raFt6Pj4zXSkqLS42MjU7aFtHKzg+PjNdPUo7SD0oK2hbaz4+M10tK2hbeT4+M10p
KjIuMCtJO3k9RysxNnwwO2hbeT4+M109SDtoW0crMjQ+PjNdPUo7aFtHKzMyPj4zXT1IO0o9KCto
W0E+PjNdLStoW3o+PjNdKSouNStKO2hbRys0MD4+M109SjtoW0crNDg+PjNdPUk7aFtHKzU2Pj4z
XT1KO0hEKGEsRyxkLGYpO2hbQj4+M109K2hbeT4+M107Sj0raFt3Pj4zXTt5PUIrOHwwO2hbeT4+
M109KCtoW3g+PjNdLUopKi41K0o7ej1CKzE2fDA7aFt6Pj4zXT0raFtiPj4zXTtBPWIrOHwwO2Q9
Yis1NnwwO2Y9QisyNHwwO2hbZj4+M109KCtoW0E+PjNdLStoW2Q+PjNdKSouNStKO0tEKGEsQiwy
KTtoW0I+PjNdPStoW3Y+PjNdO0o9K2hbdz4+M107aFt5Pj4zXT0oK2hbeD4+M10tSikqLjUrSjto
W3o+PjNdPStoW0c+PjNdO2hbZj4+M109KCtoW0E+PjNdLStoW2Q+PjNdKSouNStKO0tEKGEsQiwy
KTtfSShHKTticmVha31lbHNle3N3aXRjaChlfDApe2Nhc2UgMjY4NDM1NDU2OmJyZWFrO2RlZmF1
bHQ6YnJlYWsgYX1HPXZ3KGQ8PDQpfDA7aFtHPj4zXT0raFtiPj4zXTt2PUQrNDh8MDt4PUQrNTZ8
MDt5PUQrNzJ8MDtoW0crOD4+M109K2hbRCsyND4+M10tKCtoW3g+PjNdLStoW3k+PjNdKSouNTto
W0crMTY+PjNdPStoW3Y+PjNdO0o9K2hbeD4+M107aFtHKzI0Pj4zXT1KLShKLStoW3k+PjNdKSou
NTtoW0crMzI+PjNdPStoW2IrMzI+PjNdO3o9Yis0MHwwO2hbRys0MD4+M109KCtoW3g+PjNdLSto
W3k+PjNdKSouNSsgK2hbej4+M107aFtHKzQ4Pj4zXT0raFtiPj4zXTtoW0crNTY+PjNdPSgraFt4
Pj4zXS0raFt5Pj4zXSkqLjUrICtoW3o+PjNdO0hEKGEsRyxkLGYpO3c9YisxNnwwO0o9KCtoW2s+
PjNdLStoW3Y+PjNdKSouMjU7ST1KKyAraFt3Pj4zXTtoW0I+PjNdPUk7SD0raFt6Pj4zXTt1PWIr
MjR8MDtGPStoW3g+PjNdLStoW3k+PjNdO0g9KCtoW3U+PjNdLUgpKi41K0grRiouMTI1O0E9Qis4
fDA7aFtBPj4zXT1IO2Q9QisxNnwwO2hbZD4+M109SitJO2Y9QisyNHwwO2hbZj4+M109SC1GKi4y
NTtLRChhLEIsMik7Rj0oK2hbaz4+M10tK2hbdj4+M10pKi4yNTtIPUYrICtoW3c+PjNdO2hbQj4+
M109SDtJPStoW3o+PjNdO0o9K2hbeD4+M10tK2hbeT4+M107ST0oK2hbdT4+M10tSSkqLjUrSStK
Ki0uMTI1O2hbQT4+M109STtoW2Q+PjNdPUYrSDtoW2Y+PjNdPUoqLjI1K0k7S0QoYSxCLDIpO0k9
KCtoW2s+PjNdLStoW3Y+PjNdKSouMjU7aFtCPj4zXT1JKyAraFt3Pj4zXTtKPSgraFt4Pj4zXS0r
aFt5Pj4zXSkqLjc1KyAraFt6Pj4zXTtoW0E+PjNdPUo7aFtkPj4zXT0raFtiPj4zXS1JO2hbZj4+
M109SjtLRChhLEIsMik7X0koRyk7YnJlYWt9ZWxzZSBpZigoZXwwKTwzMDE5ODk4ODgpe3N3aXRj
aChlfDApe2Nhc2UgMjg1MjEyNjcyOmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX15PXZ3KGQ8PDQpfDA7
dj1iKzE2fDA7ST0raFt2Pj4zXTt6PUQrNDh8MDtJPSgraFtrPj4zXS0raFt6Pj4zXSsoK2hbYj4+
M10tSSkpKi41K0k7aFt5Pj4zXT1JO3c9Yis0MHwwO0Y9K2hbdz4+M107eD1iKzI0fDA7Rj0oK2hb
az4+M10tK2hbej4+M10rKCtoW3g+PjNdLUYpKSouNStGO2hbeSs4Pj4zXT1GO2hbeSsxNj4+M109
STtJPStoW3c+PjNdO289K2hbaz4+M10tK2hbej4+M107ST0oK2hbeD4+M10tSS1vKSouNStJO2hb
eSsyND4+M109STtKPStoW3Y+PjNdO0o9KCtoW2I+PjNdLUotbykqLjUrSjtoW3krMzI+PjNdPUo7
aFt5KzQwPj4zXT1JO2hbeSs0OD4+M109SjtoW3krNTY+PjNdPUY7SEQoYSx5LGQsZik7X0koeSk7
Rj0raFt2Pj4zXTtGPSgraFtiPj4zXS1GKSouNStGO0o9K2hbaz4+M10tK2hbej4+M107ST1KKi43
NTtvPUYrSTtoW0I+PjNdPW87SD0raFt3Pj4zXTtIPSgraFt4Pj4zXS1IKSouNStIO0k9SCtJO3k9
Qis4fDA7aFt5Pj4zXT1JO0E9QisxNnwwO2hbQT4+M109bztKPUoqLS43NTtIPUgrSjtHPUIrMjR8
MDtoW0c+PjNdPUg7Sj1GK0o7aFtCKzMyPj4zXT1KO2hbQis0MD4+M109SDtoW0IrNDg+PjNdPUo7
aFtCKzU2Pj4zXT1JO2Q9Qis2NHwwO2NbZD4+Ml09Y1tCPj4yXTtjW2QrND4+Ml09Y1tCKzQ+PjJd
O2NbZCs4Pj4yXT1jW0IrOD4+Ml07Y1tkKzEyPj4yXT1jW0IrMTI+PjJdO0tEKGEsQiw1KTtJPSto
W3Y+PjNdO0o9K2hbYj4+M107aFtCPj4zXT0oSi1JKSouNStJKygraFtrPj4zXS0raFt6Pj4zXSkq
Ljc1O0k9K2hbdz4+M107aFt5Pj4zXT0oK2hbeD4+M10tSSkqLjUrSTtoW0E+PjNdPUo7ZD1iKzh8
MDtmPWIrNTZ8MDtoW0c+PjNdPSgraFtkPj4zXS0raFtmPj4zXSkqLjUrSTtLRChhLEIsMik7ST0r
aFt2Pj4zXTtoW0I+PjNdPUk7Sj0raFt3Pj4zXTtoW3k+PjNdPSgraFt4Pj4zXS1KKSouNStKO2hb
QT4+M109KCtoW2I+PjNdLUkpKi41K0krKCtoW2s+PjNdLStoW3o+PjNdKSotLjc1O2hbRz4+M109
KCtoW2Q+PjNdLStoW2Y+PjNdKSouNStKO0tEKGEsQiwyKTticmVha31lbHNle3N3aXRjaChlfDAp
e2Nhc2UgMzAxOTg5ODg4OmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX1BPWQrMTJ8MDtHPXZ3KEE8PDQp
fDA7eD1iKzE2fDA7bT0raFt4Pj4zXTtzPUQrNDh8MDttPSgraFtiPj4zXS1tKSouNSttKygraFtr
Pj4zXS0raFtzPj4zXSkqLjI1O2hbRz4+M109bTt5PWIrNDB8MDtGPStoW3k+PjNdO3o9YisyNHww
O3Y9RCs1NnwwO3c9RCs3MnwwO0Y9KCtoW3Y+PjNdLStoW3c+PjNdKygraFt6Pj4zXS1GKSkqLjUr
Rjt1PUcrOHwwO2hbdT4+M109RjtoW0crMTY+PjNdPW07Rj0oK2hbdj4+M10tK2hbdz4+M10pKi4x
MjUrRjt0PUcrMjR8MDtoW3Q+PjNdPUY7SD1tLSgraFtrPj4zXS0raFtzPj4zXSkqLjEyNTtkPUcr
MzJ8MDtoW2Q+PjNdPUg7bz0oK2hbdj4+M10tK2hbdz4+M10pKi4xMjUrRjtoW0crNDA+PjNdPW87
aFtHKzQ4Pj4zXT1tO0k9KCtoW3Y+PjNdLStoW3c+PjNdKSouMTI1K287aFtHKzU2Pj4zXT1JO2hb
Rys2ND4+M109bTttPSgraFt2Pj4zXS0raFt3Pj4zXSkqLjEyNStJO2hbRys3Mj4+M109bTtoW0cr
ODA+PjNdPUg7aFtHKzg4Pj4zXT1tO0g9K2hbeD4+M107SD0oK2hbYj4+M10tSCkqLjUrSDtoW0cr
OTY+PjNdPUg7aFtHKzEwND4+M109STtKPUgtKCtoW2s+PjNdLStoW3M+PjNdKSouMTI1O2hbRysx
MTI+PjNdPUo7aFtHKzEyMD4+M109bTtKPUotKCtoW2s+PjNdLStoW3M+PjNdKSouMTI1O2hbRysx
Mjg+PjNdPUo7aFtHKzEzNj4+M109bTtoW0crMTQ0Pj4zXT1KO2hbRysxNTI+PjNdPUk7ST0oK2hb
az4+M10tK2hbcz4+M10pKi4xMjUrSjtoW0crMTYwPj4zXT1JO2hbRysxNjg+PjNdPW87aFtHKzE3
Nj4+M109SjtoW0crMTg0Pj4zXT1GO2hbRysxOTI+PjNdPUo7Sj0raFt1Pj4zXTtoW0crMjAwPj4z
XT1KO2hbRysyMDg+PjNdPUk7aFtHKzIxNj4+M109Sjt1PUcrMjI0fDA7aFt1Pj4zXT1IO2hbRysy
MzI+PjNdPStoW3Q+PjNdO2hbRysyNDA+PjNdPStoW2Q+PjNdO2hbRysyNDg+PjNdPUo7SEQoYSxH
LEEsZik7Sj0raFt1Pj4zXTtoW0I+PjNdPUo7SD0raFt5Pj4zXTtIPSgraFt6Pj4zXS1IKSouNStI
O0E9Qis4fDA7aFtBPj4zXT1IO2Q9QisxNnwwO2hbZD4+M109SjtmPUIrMjR8MDtoW2Y+PjNdPSgr
aFt2Pj4zXS0raFt3Pj4zXSkqLjEyNStIO0tEKGEsQiwyKTtIPStoW3U+PjNdO2hbQj4+M109SDtK
PStoW3k+PjNdO0k9K2hbdj4+M10tK2hbdz4+M107Sj0oK2hbej4+M10tSikqLjUrSitJKi4yNTto
W0E+PjNdPUo7aFtkPj4zXT1IO2hbZj4+M109SSouMTI1K0o7S0QoYSxCLDIpO2hbQj4+M109K2hb
eD4+M107Sj0raFt5Pj4zXTtoW0E+PjNdPSgraFt6Pj4zXS1KKSouNStKO2hbZD4+M109K2hbYj4+
M107aFtmPj4zXT0oK2hbYis4Pj4zXS0raFtiKzU2Pj4zXSkqLjUrSjtLRChhLEIsMik7X0koRyk7
YnJlYWt9fWVsc2V7aWYoKGV8MCk8MzY5MDk4NzUyKXtpZigoZXwwKTwzMzU1NDQzMjApe3N3aXRj
aChlfDApe2Nhc2UgMzE4NzY3MTA0OmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX1BPWQrNHwwO0c9dnco
QTw8NCl8MDt4PWIrMTZ8MDtIPStoW3g+PjNdO2Q9RCs0OHwwO0g9KCtoW2I+PjNdLUgpKi41K0gr
KCtoW2s+PjNdLStoW2Q+PjNdKSouMTI1O2hbRz4+M109SDt5PWIrNDB8MDtKPStoW3k+PjNdO3o9
YisyNHwwO3Y9RCs1NnwwO3c9RCs3MnwwO0o9KCtoW3Y+PjNdLStoW3c+PjNdKygraFt6Pj4zXS1K
KSkqLjUrSjtoW0crOD4+M109SjtvPSgraFtrPj4zXS0raFtkPj4zXSkqLjEyNStIO2hbRysxNj4+
M109bztJPSgraFt2Pj4zXS0raFt3Pj4zXSkqLjEyNStKO2hbRysyND4+M109STtoW0crMzI+PjNd
PW87bz0oK2hbdj4+M10tK2hbdz4+M10pKi4yNStJO2hbRys0MD4+M109bztoW0crNDg+PjNdPUg7
Rj0oK2hbdj4+M10tK2hbdz4+M10pKi4xMjUrbztoW0crNTY+PjNdPUY7SD1ILSgraFtrPj4zXS0r
aFtkPj4zXSkqLjI1O2hbRys2ND4+M109SDtoW0crNzI+PjNdPUY7Rj1ILSgraFtrPj4zXS0raFtk
Pj4zXSkqLjEyNTtoW0crODA+PjNdPUY7aFtHKzg4Pj4zXT1vO2hbRys5Nj4+M109RjtoW0crMTA0
Pj4zXT1JO2hbRysxMTI+PjNdPUg7aFtHKzEyMD4+M109SjtIRChhLEcsQSxmKTtKPStoW3g+PjNd
O0o9KCtoW2I+PjNdLUopKi41K0o7aFtCPj4zXT1KO0g9K2hbeT4+M107SD0oK2hbej4+M10tSCkq
LjUrSDtBPUIrOHwwO2hbQT4+M109SDtkPUIrMTZ8MDtoW2Q+PjNdPUo7Zj1CKzI0fDA7aFtmPj4z
XT0oK2hbdj4+M10tK2hbdz4+M10pKi4xMjUrSDtLRChhLEIsMik7SD0raFt4Pj4zXTtIPSgraFti
Pj4zXS1IKSouNStIO2hbQj4+M109SDtKPStoW3k+PjNdO0k9K2hbdj4+M10tK2hbdz4+M107Sj0o
K2hbej4+M10tSikqLjUrSitJKi4yNTtoW0E+PjNdPUo7aFtkPj4zXT1IO2hbZj4+M109SSouMTI1
K0o7S0QoYSxCLDIpO2hbQj4+M109K2hbeD4+M107Sj0raFt5Pj4zXTtoW0E+PjNdPSgraFt6Pj4z
XS1KKSouNStKO2hbZD4+M109K2hbYj4+M107aFtmPj4zXT0oK2hbYis4Pj4zXS0raFtiKzU2Pj4z
XSkqLjUrSjtLRChhLEIsMik7X0koRyk7YnJlYWt9aWYoKGV8MCk8MzUyMzIxNTM2KXtzd2l0Y2go
ZXwwKXtjYXNlIDMzNTU0NDMyMDpicmVhaztkZWZhdWx0OmJyZWFrIGF9eD1kKzEyfDA7Rz12dyh4
PDw0KXwwO3k9YisxNnwwO209K2hbeT4+M107dT1EKzQ4fDA7bT0oK2hbYj4+M10tbSkqLjUrbSso
K2hbaz4+M10tK2hbdT4+M10pKi4yNTtoW0c+PjNdPW07ej1iKzQwfDA7Rj0raFt6Pj4zXTtBPWIr
MjR8MDtzPUQrNTZ8MDt0PUQrNzJ8MDtGPSgraFtzPj4zXS0raFt0Pj4zXSsoK2hbQT4+M10tRikp
Ki41K0Y7ZD1HKzh8MDtoW2Q+PjNdPUY7aFtHKzE2Pj4zXT1tO0Y9KCtoW3M+PjNdLStoW3Q+PjNd
KSouMTI1K0Y7dj1HKzI0fDA7aFt2Pj4zXT1GO0k9bS0oK2hbaz4+M10tK2hbdT4+M10pKi4xMjU7
dz1HKzMyfDA7aFt3Pj4zXT1JO289KCtoW3M+PjNdLStoW3Q+PjNdKSouMTI1K0Y7aFtHKzQwPj4z
XT1vO2hbRys0OD4+M109bTtIPSgraFtzPj4zXS0raFt0Pj4zXSkqLjEyNStvO2hbRys1Nj4+M109
SDtoW0crNjQ+PjNdPW07bT0oK2hbcz4+M10tK2hbdD4+M10pKi4xMjUrSDtoW0crNzI+PjNdPW07
aFtHKzgwPj4zXT1JO2hbRys4OD4+M109bTtJPStoW3k+PjNdO0k9KCtoW2I+PjNdLUkpKi41K0k7
aFtHKzk2Pj4zXT1JO2hbRysxMDQ+PjNdPUg7Sj1JLSgraFtrPj4zXS0raFt1Pj4zXSkqLjEyNTto
W0crMTEyPj4zXT1KO2hbRysxMjA+PjNdPW07Sj1KLSgraFtrPj4zXS0raFt1Pj4zXSkqLjEyNTto
W0crMTI4Pj4zXT1KO2hbRysxMzY+PjNdPW07aFtHKzE0ND4+M109SjtoW0crMTUyPj4zXT1IO0g9
KCtoW2s+PjNdLStoW3U+PjNdKSouMTI1K0o7aFtHKzE2MD4+M109SDtoW0crMTY4Pj4zXT1vO2hb
RysxNzY+PjNdPUo7aFtHKzE4ND4+M109RjtoW0crMTkyPj4zXT1KO0o9K2hbZD4+M107aFtHKzIw
MD4+M109SjtoW0crMjA4Pj4zXT1IO2hbRysyMTY+PjNdPUo7ZD1HKzIyNHwwO2hbZD4+M109STto
W0crMjMyPj4zXT0raFt2Pj4zXTtoW0crMjQwPj4zXT0raFt3Pj4zXTtoW0crMjQ4Pj4zXT1KO0hE
KGEsRyx4LGYpO2NbQj4+Ml09Y1tkPj4yXTtjW0IrND4+Ml09Y1tkKzQ+PjJdO2NbQis4Pj4yXT1j
W2QrOD4+Ml07Y1tCKzEyPj4yXT1jW2QrMTI+PjJdO2Q9QisxNnwwO2hbZD4+M109K2hbQj4+M107
Sj0raFt6Pj4zXTtmPUIrMjR8MDtoW2Y+PjNdPSgraFtBPj4zXS1KKSouNStKO0tEKGEsQiwyKTto
W0I+PjNdPStoW3k+PjNdO0o9K2hbej4+M107aFtCKzg+PjNdPSgraFtBPj4zXS1KKSouNStKO2hb
ZD4+M109K2hbYj4+M107aFtmPj4zXT0oK2hbYis4Pj4zXS0raFtiKzU2Pj4zXSkqLjUrSjtLRChh
LEIsMik7X0koRyk7YnJlYWt9ZWxzZXtzd2l0Y2goZXwwKXtjYXNlIDM1MjMyMTUzNjpicmVhaztk
ZWZhdWx0OmJyZWFrIGF9QT1kKzR8MDtHPXZ3KEE8PDQpfDA7eD1iKzE2fDA7ST0raFt4Pj4zXTt3
PUQrNDh8MDtJPSgraFtiPj4zXS1JKSouNStJKygraFtrPj4zXS0raFt3Pj4zXSkqLjEyNTtoW0c+
PjNdPUk7eT1iKzQwfDA7Sj0raFt5Pj4zXTt6PWIrMjR8MDt1PUQrNTZ8MDt2PUQrNzJ8MDtKPSgr
aFt1Pj4zXS0raFt2Pj4zXSsoK2hbej4+M10tSikpKi41K0o7ZD1HKzh8MDtoW2Q+PjNdPUo7bz0o
K2hbaz4+M10tK2hbdz4+M10pKi4xMjUrSTtoW0crMTY+PjNdPW87SD0oK2hbdT4+M10tK2hbdj4+
M10pKi4xMjUrSjtoW0crMjQ+PjNdPUg7aFtHKzMyPj4zXT1vO289KCtoW3U+PjNdLStoW3Y+PjNd
KSouMjUrSDtoW0crNDA+PjNdPW87aFtHKzQ4Pj4zXT1JO0Y9KCtoW3U+PjNdLStoW3Y+PjNdKSou
MTI1K287aFtHKzU2Pj4zXT1GO0k9SS0oK2hbaz4+M10tK2hbdz4+M10pKi4yNTtoW0crNjQ+PjNd
PUk7aFtHKzcyPj4zXT1GO0Y9SS0oK2hbaz4+M10tK2hbdz4+M10pKi4xMjU7aFtHKzgwPj4zXT1G
O2hbRys4OD4+M109bztoW0crOTY+PjNdPUY7aFtHKzEwND4+M109SDtoW0crMTEyPj4zXT1JO2hb
RysxMjA+PjNdPUo7SEQoYSxHLEEsZik7Sj0raFt4Pj4zXTtKPSgraFtiPj4zXS1KKSouNStKO2hb
Qj4+M109SjtBPUIrOHwwO2hbQT4+M109K2hbZD4+M107ZD1CKzE2fDA7aFtkPj4zXT1KO0o9K2hb
eT4+M107Zj1CKzI0fDA7aFtmPj4zXT0oK2hbej4+M10tSikqLjUrSjtLRChhLEIsMik7aFtCPj4z
XT0raFt4Pj4zXTtKPStoW3k+PjNdO2hbQT4+M109KCtoW3o+PjNdLUopKi41K0o7aFtkPj4zXT0r
aFtiPj4zXTtoW2Y+PjNdPSgraFtiKzg+PjNdLStoW2IrNTY+PjNdKSouNStKO0tEKGEsQiwyKTtf
SShHKTticmVha319aWYoKGV8MCk8NDAyNjUzMTg0KWlmKChlfDApPDM4NTg3NTk2OCl7c3dpdGNo
KGV8MCl7Y2FzZSAzNjkwOTg3NTI6YnJlYWs7ZGVmYXVsdDpicmVhayBhfWQ9ZCs1fDA7Rz12dyhk
PDw0KXwwO0I9RCs0OHwwO2hbRz4+M109K2hbaj4+M10tKCtoW2s+PjNdLStoW0I+PjNdKSouNTt5
PUQrNTZ8MDtBPUQrNzJ8MDtoW0crOD4+M109K2hbRCsyND4+M10tKCtoW3k+PjNdLStoW0E+PjNd
KSouNTtoW0crMTY+PjNdPStoW0I+PjNdO0o9K2hbeT4+M107aFtHKzI0Pj4zXT1KLShKLStoW0E+
PjNdKSouNTtoW0crMzI+PjNdPStoW2IrMzI+PjNdO3o9Yis0MHwwO2hbRys0MD4+M109K2hbej4+
M107Sj0raFtrPj4zXTtoW0crNDg+PjNdPShKLStoW0I+PjNdKSouNStKO2hbRys1Nj4+M109K2hb
ej4+M107Sj0raFtrPj4zXTtoW0crNjQ+PjNdPShKLStoW0I+PjNdKSouNStKO2hbRys3Mj4+M109
KCtoW3k+PjNdLStoW0E+PjNdKSouNSsgK2hbej4+M107aFtHKzgwPj4zXT0raFtqPj4zXS0oK2hb
az4+M10tK2hbQj4+M10pKi41O2hbRys4OD4+M109KCtoW3k+PjNdLStoW0E+PjNdKSouNSsgK2hb
ej4+M107aFtHKzk2Pj4zXT0raFtqPj4zXS0oK2hbaz4+M10tK2hbQj4+M10pKi41O3o9Yis1Nnww
O2hbRysxMDQ+PjNdPStoW3o+PjNdO0E9Yis4fDA7Sj0raFtBPj4zXTtoW0crMTIwPj4zXT1KLShK
LStoW3o+PjNdKSouNTtoW0crMTEyPj4zXT0raFtiPj4zXTtoW0crMTM2Pj4zXT0raFtBPj4zXTto
W0crMTI4Pj4zXT0raFtqPj4zXS0oK2hbaz4+M10tK2hbQj4+M10pKi41O0hEKGEsRyxkLGYpO19J
KEcpO2JyZWFrfWVsc2V7c3dpdGNoKGV8MCl7Y2FzZSAzODU4NzU5Njg6YnJlYWs7ZGVmYXVsdDpi
cmVhayBhfWQ9ZCszfDA7Rz12dyhkPDw0KXwwO0I9RCs0OHwwO2hbRz4+M109K2hbaj4+M10tKCto
W2s+PjNdLStoW0I+PjNdKSouNTt5PUQrNTZ8MDtBPUQrNzJ8MDtoW0crOD4+M109K2hbRCsyND4+
M10tKCtoW3k+PjNdLStoW0E+PjNdKSouNTtoW0crMTY+PjNdPStoW0I+PjNdO0o9K2hbeT4+M107
aFtHKzI0Pj4zXT1KLShKLStoW0E+PjNdKSouNTtoW0crMzI+PjNdPStoW2IrMzI+PjNdO3o9Yis0
MHwwO2hbRys0MD4+M109KCtoW3k+PjNdLStoW0E+PjNdKSouNSsgK2hbej4+M107aFtHKzQ4Pj4z
XT0raFtqPj4zXS0oK2hbaz4+M10tK2hbQj4+M10pKi41O2hbRys1Nj4+M109KCtoW3k+PjNdLSto
W0E+PjNdKSouNSsgK2hbej4+M107aFtHKzY0Pj4zXT0raFtqPj4zXS0oK2hbaz4+M10tK2hbQj4+
M10pKi41O3o9Yis1NnwwO2hbRys3Mj4+M109K2hbej4+M107QT1iKzh8MDtKPStoW0E+PjNdO2hb
Rys4OD4+M109Si0oSi0raFt6Pj4zXSkqLjU7aFtHKzgwPj4zXT0raFtiPj4zXTtoW0crMTA0Pj4z
XT0raFtBPj4zXTtoW0crOTY+PjNdPStoW2o+PjNdLSgraFtrPj4zXS0raFtCPj4zXSkqLjU7SEQo
YSxHLGQsZik7X0koRyk7YnJlYWt9ZWxzZSBpZigoZXwwKTw0MTk0MzA0MDApe3N3aXRjaChlfDAp
e2Nhc2UgNDAyNjUzMTg0OmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX1kPWQrM3wwO0c9dncoZDw8NCl8
MDtoW0c+PjNdPStoW2I+PjNdO3k9Yis4fDA7ej1EKzQ4fDA7QT1EKzU2fDA7Qj1EKzcyfDA7aFtH
Kzg+PjNdPStoW3k+PjNdLSgraFtBPj4zXS0raFtCPj4zXSkqLjU7Sj0raFtrPj4zXTtoW0crMTY+
PjNdPShKLStoW3o+PjNdKSouNStKO2hbRysyND4+M109K2hbeT4+M10tKCtoW0E+PjNdLStoW0I+
PjNdKSouNTtKPStoW2s+PjNdO2hbRyszMj4+M109KEotK2hbej4+M10pKi41K0o7aFtHKzQwPj4z
XT0raFtEKzQwPj4zXTtoW0crNDg+PjNdPStoW2IrMTY+PjNdO0o9K2hbYisyND4+M107eT1iKzQw
fDA7aFtHKzU2Pj4zXT1KLShKLStoW3k+PjNdKSouNTtKPStoW2s+PjNdO2hbRys2ND4+M109KEot
K2hbej4+M10pKi41K0o7aFtHKzcyPj4zXT0raFt5Pj4zXTtoW0crODg+PjNdPSgraFtBPj4zXS0r
aFtCPj4zXSkqLjUrICtoW3k+PjNdO0o9K2hbaz4+M107aFtHKzgwPj4zXT0oSi0raFt6Pj4zXSkq
LjUrSjtoW0crMTA0Pj4zXT0oK2hbQT4+M10tK2hbQj4+M10pKi41KyAraFtiKzU2Pj4zXTtoW0cr
OTY+PjNdPStoW2I+PjNdO0hEKGEsRyxkLGYpO19JKEcpO2JyZWFrfWVsc2V7c3dpdGNoKGV8MCl7
Y2FzZSA0MTk0MzA0MDA6YnJlYWs7ZGVmYXVsdDpicmVhayBhfWQ9ZCs1fDA7Rz12dyhkPDw0KXww
O2hbRz4+M109K2hbYj4+M107Qj1iKzh8MDtBPUQrNDh8MDt5PUQrNTZ8MDt6PUQrNzJ8MDtoW0cr
OD4+M109K2hbQj4+M10tKCtoW3k+PjNdLStoW3o+PjNdKSouNTtKPStoW2s+PjNdO2hbRysxNj4+
M109KEotK2hbQT4+M10pKi41K0o7aFtHKzI0Pj4zXT0raFtCPj4zXS0oK2hbeT4+M10tK2hbej4+
M10pKi41O0o9K2hbaz4+M107aFtHKzMyPj4zXT0oSi0raFtBPj4zXSkqLjUrSjtoW0crNDA+PjNd
PStoW0QrNDA+PjNdO2hbRys0OD4+M109K2hbYisxNj4+M107Sj0raFtiKzI0Pj4zXTtCPWIrNDB8
MDtoW0crNTY+PjNdPUotKEotK2hbQj4+M10pKi41O0o9K2hbaz4+M107aFtHKzY0Pj4zXT0oSi0r
aFtBPj4zXSkqLjUrSjtoW0crNzI+PjNdPStoW0I+PjNdO2hbRys4OD4+M109KCtoW3k+PjNdLSto
W3o+PjNdKSouNSsgK2hbQj4+M107Sj0raFtrPj4zXTtoW0crODA+PjNdPShKLStoW0E+PjNdKSou
NStKO0I9Yis1NnwwO2hbRysxMDQ+PjNdPSgraFt5Pj4zXS0raFt6Pj4zXSkqLjUrICtoW0I+PjNd
O2hbRys5Nj4+M109K2hbaj4+M10tKCtoW2s+PjNdLStoW0E+PjNdKSouNTtoW0crMTEyPj4zXT0r
aFtqPj4zXS0oK2hbaz4+M10tK2hbQT4+M10pKi41O2hbRysxMjA+PjNdPStoW0I+PjNdO2hbRysx
Mjg+PjNdPStoW2IrNDg+PjNdO2hbRysxMzY+PjNdPStoW0I+PjNdO0hEKGEsRyxkLGYpO19JKEcp
O2JyZWFrfX13aGlsZSgwKTtfSShEKX1sPUU7cmV0dXJufWZ1bmN0aW9uIHp5KGEsYixkLGUpe2E9
YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGk9MCxqPTAsaz0wLjA7Zj1sO2w9bCsx
MTJ8MDtnPWY7az0raFtiKzg+PjNdKjIuMDtjW2c+PjJdPWNbYj4+Ml07Y1tnKzQ+PjJdPWNbYis0
Pj4yXTtjW2crOD4+Ml09Y1tiKzg+PjJdO2NbZysxMj4+Ml09Y1tiKzEyPj4yXTtoW2crMTY+PjNd
PStoW2IrMTY+PjNdO2hbZysyND4+M109ay0raFtiKzI0Pj4zXTtoW2crMzI+PjNdPStoW2IrMzI+
PjNdO2hbZys0MD4+M109ay0raFtiKzQwPj4zXTtoW2crNDg+PjNdPStoW2IrNDg+PjNdO2hbZys1
Nj4+M109ay0raFtiKzU2Pj4zXTtoW2crNjQ+PjNdPStoW2IrNjQ+PjNdO2hbZys3Mj4+M109ay0r
aFtiKzcyPj4zXTtoW2crODA+PjNdPStoW2IrODA+PjNdO2hbZys4OD4+M109ay0raFtiKzg4Pj4z
XTtpPWcrOTZ8MDtqPWIrOTZ8MDtjW2k+PjJdPWNbaj4+Ml07Y1tpKzQ+PjJdPWNbais0Pj4yXTtj
W2krOD4+Ml09Y1tqKzg+PjJdO2NbaSsxMj4+Ml09Y1tqKzEyPj4yXTtKRChhLGIsZCwwLDAsZSYy
NTUpO0pEKGEsZyw3LDAsMCwwKTtsPWY7cmV0dXJufWZ1bmN0aW9uIEF5KGEsYixjLGQpe2E9YXww
O2I9K2I7Yz1jfDA7ZD1kfDA7dmFyIGU9MC4wLGY9MC4wO2Y9K2hbYz4+M107ZT0raFtjKzg+PjNd
O2U9KCtoW2QrOD4+M10tZSkqYitlO2hbYT4+M109KCtoW2Q+PjNdLWYpKmIrZjtoW2ErOD4+M109
ZTtyZXR1cm59ZnVuY3Rpb24gQnkoYSl7YT1hfDA7YT1jWyhjW2ErMTY+PjJdfDApKzg+PjJdfDA7
aWYoYSl7YT1jW2NbYSs0Pj4yXT4+Ml18MDtpZigoYXwwKSE9NzUpaWYoKGF8MCk9PTc4KWE9Mjtl
bHNlIHJldHVybiAoKGF8MCk9PTc3PzM6KGF8MCk9PTgwPzQ6MCl8MDtlbHNlIGE9MX1lbHNlIGE9
MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIEN5KGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MC4wLGc9MCxp
PTAsaj0wLGs9MC4wLG09MC4wLG49MC4wLG89MC4wLHA9MCxxPTAuMCxyPTAuMCxzPTAuMCx0PTAu
MCx1PTAuMCx2PTAuMCx3PTAuMCx4PTAuMCx5PTAuMCx6PTAuMCxBPTAsRD0wLEc9MCxIPTAsST0w
LEo9MCxMPTAsTT0wLE49MCxQPTAuMCxRPTAuMCxSPTAsUz0wLFQ9MC4wLFU9MC4wLFY9MC4wLFc9
MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFhPTAsYmE9MC4wO2FhPWw7bD1sKzE0NHwwO0o9YWErMTEy
fDA7Tj1hYSsxMDR8MDtHPWFhKzk2fDA7SD1hYSs4OHwwO2k9YWErODB8MDtZPWFhKzY0fDA7Xz1h
YSs0OHwwO1I9YWErNDB8MDtTPWFhKzMyfDA7aj1hYSsyNHwwO3A9YWErMTZ8MDtEPWFhKzEzNnww
O0E9YWErMTI4fDA7TD1hYTskPXZ3KDQ4KXwwO1o9YisxNnwwO1c9Y1soY1soY1taPj4yXXwwKSs4
Pj4yXXwwKSs4Pj4yXXwwO2c9KFd8MCk9PTE1NTI7WD1jW1c+PjJdfDA7ZD1jW1crND4+Ml18MDtl
PWNbVys4Pj4yXXwwO209K2hbVysxNj4+M107bj0raFtXKzMyPj4zXTtvPStoW1crMjQ+PjNdO1g9
WHwoSUEoSW0oYiw5MDU0NSl8MCl8MCkmMjU1O2RvIGlmKCFnKXtpZighWCl7Vz1jW1o+PjJdfDA7
az0raFtXKzMyPj4zXSo3Mi4wO2Y9K2hbVys0MD4+M10qNzIuMDtmPSsofn4oZisoZj49MC4wPy41
Oi0uNSkpfDApO2s9Kyh+fihrKyhrPj0wLjA/LjU6LS41KSl8MCk7YnJlYWt9az0rTXkoYik7aWYo
az4wLjApZj1rO2Vsc2V7Vz1jW1o+PjJdfDA7Zj0raFtXKzMyPj4zXTtrPStoW1crNDA+PjNdO2s9
KGY8az9mOmspKjcyLjA7az0rKH5+KGsrKGs+PTAuMD8uNTotLjUpKXwwKTtmPWt9fWVsc2V7Zj0w
LjA7az0wLjB9d2hpbGUoMCk7Vz1EQShiLGNbNDIyMDRdfDAsZCwwKXwwO1Y9K0VBKGIsY1s0MjIw
Nl18MCwwLjAsLTM2MC4wKSttO2lmKCFlKXtVPStFQShiLGNbNDIyMDddfDAsMC4wLC0xMDAuMCk7
ST1EQShiLGNbNDIyMDNdfDAsNCwwKXwwO1Q9K0VBKGIsY1s0MjIwOF18MCwwLjAsLTEwMC4wKX1l
bHNle0k9ZTtVPW47VD1vfWQ9Y1soY1taPj4yXXwwKSsxMDQ+PjJdfDA7ZT1kKzI0fDA7Y1tZPj4y
XT1jW2U+PjJdO2NbWSs0Pj4yXT1jW2UrND4+Ml07Y1tZKzg+PjJdPWNbZSs4Pj4yXTtjW1krMTI+
PjJdPWNbZSsxMj4+Ml07cT0raFtZPj4zXTtpZihxPjAuMCl7aWYoIWcpTT0xMX1lbHNlIGlmKCEo
Z3whKCtoW1krOD4+M10+MC4wKSkpTT0xMTtpZigoTXwwKT09MTEpe2Q9SW0oYiw5MDUzMCl8MDtk
byBpZihkKXtoW3A+PjNdPTAuMDtoW2o+PjNdPTAuMDtjW2k+PjJdPWo7Y1tpKzQ+PjJdPXA7ZD1j
TShkLDkwNTM3LGkpfDA7bT0raFtqPj4zXTtpZihtPDAuMCl7aFtqPj4zXT0wLjA7bT0wLjB9bj0r
aFtwPj4zXTtpZihuPDAuMCl7aFtwPj4zXT0wLjA7bz0wLjB9ZWxzZSBvPW47aWYoKGR8MCk8PTAp
e249cSsxNi4wO2hbWT4+M109bjttPTguMDticmVha31tPW0qNzIuMDttPSsofn4obSsobT49MC4w
Py41Oi0uNSkpPDwxfDApO249cSttO2hbWT4+M109bjtpZigoZHwwKSE9MSl7bT1vKjcyLjA7bT0r
KH5+KG0rKG0+PTAuMD8uNTotLjUpKTw8MXwwKX19ZWxzZXtuPXErMTYuMDtoW1k+PjNdPW47bT04
LjB9d2hpbGUoMCk7ZD1ZKzh8MDtoW2Q+PjNdPStoW2Q+PjNdK207ZD1jWyhjW1o+PjJdfDApKzEw
ND4+Ml18MDtxPW59cz0raFtkKzI0Pj4zXTttPStoW2NbKGNbKHJvKGIpfDApKzE2Pj4yXXwwKSs4
Pj4yXT4+M107aWYobT4wLjApe1A9bSo3Mi4wO1A9Kyh+fihQKyhQPj0wLjA/LjU6LS41KSl8MCk7
UT0rTnkocSxQKTtoW1k+PjNdPVE7cD1ZKzh8MDtoW3A+PjNdPStOeSgraFtwPj4zXSxQKX1lbHNl
IFE9cTtkPWNbKGNbWj4+Ml18MCkrOD4+Ml18MDtkbyBpZighKGFbZCsxMj4+MF18MCkpe2U9SW0o
Yiw5Mzg0Nyl8MDtpZigoZXwwKSE9MD8oYVtlPj4wXXwwKSE9MDowKXtQcihBLHJvKGIpfDAsZSk7
ZD1jW0E+PjJdfDA7Zz1jW0ErND4+Ml18MDtpZigoZyZkfDApPT0tMSl7ZD1EbihiKXwwO2NbRz4+
Ml09ZTtjW0crND4+Ml09ZDtfbCgwLDkwNjIxLEcpfDA7ZT0wO2Q9MDticmVha31lbHNle2FbKGNb
KHJvKGIpfDApKzE2Pj4yXXwwKSsxMTQ+PjBdPTE7ZT1kKzJ8MDtkPWcrMnwwO2JyZWFrfX1lbHNl
e2U9MDtkPTB9fWVsc2V7ZD1jW2Q+PjJdfDA7aWYoKGFbZD4+MF18MCk9PTk5Pyh4SihkLDkwNTUz
KXwwKT09MDowKXtlPUltKGIsOTA1NjApfDA7UHIoRCxybyhiKXwwLGUpO2Q9Y1tEPj4yXXwwO2c9
Y1tEKzQ+PjJdfDA7aWYoKGcmZHwwKT09LTEpe2Q9RG4oYil8MDtjW0g+PjJdPWV8MD9lOjkwNTcw
O2NbSCs0Pj4yXT1kO19sKDAsOTA1NzYsSCl8MDtlPTA7ZD0wO2JyZWFrfWVsc2V7YVsoY1socm8o
Yil8MCkrMTY+PjJdfDApKzExND4+MF09MTtlPWQrMnwwO2Q9ZysyfDA7YnJlYWt9fWVsc2V7ZT0w
O2Q9MH19d2hpbGUoMCk7UD0rKGV8MCk7aFtfPj4zXT1RPlA/UTpQO1A9K2hbWSs4Pj4zXTtyPSso
ZHwwKTtkPV8rOHwwO2hbZD4+M109UD5yP1A6cjtlPShJfDApPDMmKFQhPTAuMHxVIT0wLjApPzEy
MDpJO2c9SW0oYiw5MDY2Mil8MDtpZighZylpPTk5O2Vsc2V7aT1hW2c+PjBdfDA7aT1pPDwyND4+
MjQ9PTExNj8xMTY6aTw8MjQ+PjI0PT05OD85ODo5OX1nPWNbWj4+Ml18MDthWyhjW2crMTA0Pj4y
XXwwKSs4MD4+MF09aTtpZigoZXwwKT09ND8oVD09MC4wPygofn4oVisoVj49MC4wPy41Oi0uNSkp
fDApJTkwfDB8MCk9PTA6MCkmVT09MC4wOjApcD0xO2Vsc2UgTT0zOTtkbyBpZigoTXwwKT09Mzkp
e2c9Y1soY1soY1tnKzg+PjJdfDApKzg+PjJdfDApKzQ0Pj4yXXwwO2lmKGd8MCl7cD1jW2c+PjJd
fDA7Y1tKPj4yXT1jW18+PjJdO2NbSis0Pj4yXT1jW18rND4+Ml07Y1tKKzg+PjJdPWNbXys4Pj4y
XTtjW0orMTI+PjJdPWNbXysxMj4+Ml07aGJbcCYzMV0oTCxKKTtjW18+PjJdPWNbTD4+Ml07Y1tf
KzQ+PjJdPWNbTCs0Pj4yXTtjW18rOD4+Ml09Y1tMKzg+PjJdO2NbXysxMj4+Ml09Y1tMKzEyPj4y
XTtwPTA7YnJlYWt9bT0raFtkPj4zXTtuPW0qMS40MTQyMTM1NjIzNzMwOTUxO2lmKGY+biZpPDwy
ND4+MjQ9PTk5KXtvPW0vZjtvPStDKCsoMS4wLygxLjAtbypvKSkpO289K2hbXz4+M10qbztoW18+
PjNdPW99ZWxzZXtvPStoW18+PjNdKjEuNDE0MjEzNTYyMzczMDk1MTtoW18+PjNdPW87aFtkPj4z
XT1uO209bn1pZigoZXwwKT4yKXt6PStFKCsoMy4xNDE1OTI2NTM1ODk3OTMvKyhlfDApKSk7aFtf
Pj4zXT1vL3o7aFtkPj4zXT1tL3o7cD0wfWVsc2UgcD0wfXdoaWxlKDApO209K2hbZD4+M107Zz1G
QShiLGNbNDIyMDldfDAsMTIyMTAwKXwwO2lmKChhW2c+PjBdfDApPT0xMTU/KHhKKGcsOTA2NzEp
fDApPT0wOjApe2hbXz4+M109aztoW2Q+PjNdPWY7Tj0kKzQwfDA7Y1tOPj4yXT1jW04+PjJdfDIw
NDh9ZWxzZXtpZighKChJQShnKXwwKTw8MjQ+PjI0KSl7ej0raFtfPj4zXTtrPWs+ej9rOno7aFtf
Pj4zXT1rO3o9K2hbZD4+M107Zj1mPno/Zjp6fWVsc2V7TT1jWyhjW1o+PjJdfDApKzEwND4+Ml18
MDtpZighKCEoazwraFtNKzI0Pj4zXSk/IShmPCtoW00rMzI+PjNdKTowKSl7TD1EbihiKXwwO009
RG4ocm8oYil8MCl8MDtjW04+PjJdPUw7Y1tOKzQ+PjJdPU07X2woMCw5MDY3NyxOKXwwfWhbXz4+
M109a31oW2Q+PjNdPWZ9aWYoIVgpe3o9Zjt5PWt9ZWxzZXt5PWs+Zj9rOmY7aFtkPj4zXT15O2hb
Xz4+M109eTt6PXl9ZG8gaWYoISgoSUEoRkEoYixjWzQyMjAwXXwwLDEyMjEwMCl8MCl8MCk8PDI0
Pj4yNCkpe2lmKHApe2Y9K2hbKFE+K2hbXz4+M10/WTpfKT4+M107YnJlYWt9Zj0raFtkPj4zXTtp
ZihQPGYpe2Y9K2hbXz4+M10qK0MoKygxLjAtUCpQLyhmKmYpKSk7Zj1RPmY/UTpmfWVsc2UgZj1R
fWVsc2UgZj1RO3doaWxlKDApO2c9Y1soY1taPj4yXXwwKSsxMDQ+PjJdfDA7aFtnKzQwPj4zXT1z
LXErZjtBPSQrNDB8MDtpZighKGNbQT4+Ml0mMjA0OCkpe3g9K2hbZD4+M10tbTtoW2crNDg+PjNd
PShQPHI/ci1QK3g6eCkrUH1qPShXfDApPjE7Zz1qP1c6MTthOmRvIGlmKChlfDApPDMpe2c9dnco
Zzw8NSl8MDtrPStoW18+PjNdKi41O2Y9K2hbZD4+M10qLjU7aFtnPj4zXT0taztoW2crOD4+M109
LWY7aFtnKzE2Pj4zXT1rO2hbZysyND4+M109ZjtpZihqKXtlPTE7aT0yO3doaWxlKDEpe2lmKChl
fDApPT0oV3wwKSlicmVhazt5PWsrNC4wO3o9Zis0LjA7aFtnKyhpPDw0KT4+M109LXk7aFtnKyhp
PDw0KSs4Pj4zXT0tejtTPWl8MTtoW2crKFM8PDQpPj4zXT15O2hbZysoUzw8NCkrOD4+M109ejtl
PWUrMXwwO2k9aSsyfDA7az15O2Y9en1oW18+PjNdPWsqMi4wO2hbZD4+M109ZioyLjA7ZT0yfWVs
c2UgZT0yfWVsc2V7Zz12dyhPKGc8PDQsZSl8MCl8MDtpPWNbKGNbKGNbKGNbWj4+Ml18MCkrOD4+
Ml18MCkrOD4+Ml18MCkrNDQ+PjJdfDA7YjpkbyBpZighaSl7cT02LjI4MzE4NTMwNzE3OTU4Ni8r
KGV8MCk7dD1xKi41O3I9K0YoK3QpO3M9K1FKKCtCKCtVKSsgK0IoK1QpLDEuMCk7dD1UKjEuNDE0
MjEzNTYyMzczMDk1MS8rRSgrdCk7dT1VKi41O1NKKChxKy0zLjE0MTU5MjY1MzU4OTc5MykqLjUs
UixTKTt2PVYqLjAxNzQ1MzI5MjUxOTk0MzI5NTtrPTAuMDtmPTAuMDttPTAuMDtpPTA7bj0raFtT
Pj4zXSouNTtvPStoW1I+PjNdKi41O3doaWxlKDEpe2lmKChpfDApPj0oZXwwKSlicmVhayBiO209
bStxO1NKKG0sUixTKTtuPStoW1M+PjNdKnIrbjtvPStoW1I+PjNdKnIrbzt4PShvKnQrcykqbit1
Km87U0ooK0soK28sK3gpK3YsUixTKTt4PStRSih4LG8pO3c9K2hbUz4+M10qeCoraFtfPj4zXTt4
PStoW1I+PjNdKngqK2hbZD4+M107YmE9K0IoK3cpO2Y9YmE+Zj9iYTpmO2JhPStCKCt4KTtrPWJh
Pms/YmE6aztoW2crKGk8PDQpPj4zXT13O2hbZysoaTw8NCkrOD4+M109eDtpZihwKWJyZWFrO2Vs
c2UgaT1pKzF8MH1iYT0tdztoW2crMTY+PjNdPWJhO2hbZysyND4+M109eDtoW2crMzI+PjNdPWJh
O2JhPS14O2hbZys0MD4+M109YmE7aFtnKzQ4Pj4zXT13O2hbZys1Nj4+M109YmF9ZWxzZXtoYltj
W2krND4+Ml0mMzFdKGcsXyk7az0raFtkPj4zXSouNTtmPStoW18+PjNdKi41fXdoaWxlKDApO2Y9
ZioyLjA7az1rKjIuMDt5PXk+Zj95OmY7aFtfPj4zXT15O2JhPXo+az96Oms7aFtkPj4zXT1iYTtm
PXkvZjtrPWJhL2s7aT0wO3doaWxlKDEpe2lmKChpfDApPj0oZXwwKSlicmVhaztOPWcrKGk8PDQp
fDA7Yj1nKyhpPDw0KSs4fDA7YmE9K2hbYj4+M10qaztoW04+PjNdPStoW04+PjNdKmY7aFtiPj4z
XT1iYTtpPWkrMXwwfWlmKGope2o9ZSstMXwwO2s9K2hbZz4+M107bT0raFtnKzg+PjNdO2Y9K0so
KyhtLStoW2crKGo8PDQpKzg+PjNdKSwrKGstK2hbZysoajw8NCk+PjNdKSk7aj0wO2M6d2hpbGUo
MSl7aWYoKGp8MCk+PShlfDApKWJyZWFrO3A9aisxfDA7aT0ocHwwKSUoZXwwKXwwO249K2hbZyso
aTw8NCk+PjNdO289K2hbZysoaTw8NCkrOD4+M107cT0rSygrKG8tbSksKyhuLWspKTt6PShmKzMu
MTQxNTkyNjUzNTg5NzkzLXEpKi41O2JhPTQuMC8rRigreik7U0ooZi16LFIsUyk7aFtSPj4zXT0r
aFtSPj4zXSpiYTtoW1M+PjNdPStoW1M+PjNdKmJhO2k9MTtmPW07d2hpbGUoMSl7aWYoKGl8MCk9
PShXfDApKXtmPXE7aj1wO2s9bjttPW87Y29udGludWUgY316PStoW1M+PjNdK2s7YmE9K2hbUj4+
M10rZjtiPShPKGksZSl8MCkranwwO2hbZysoYjw8NCk+PjNdPXo7aFtnKyhiPDw0KSs4Pj4zXT1i
YTtpPWkrMXwwO2s9ejtmPWJhfX1qPU8oZSxXKy0xfDApfDA7aT0wO3doaWxlKDEpe2lmKChpfDAp
Pj0oZXwwKSlicmVhayBhO1M9aStqfDA7ej0raFtnKyhTPDw0KSs4Pj4zXTt5PStCKCsoK2hbZyso
Uzw8NCk+PjNdKSkqMi4wO2JhPStoW18+PjNdO2hbXz4+M109eT5iYT95OmJhO3o9K0IoK3opKjIu
MDtiYT0raFtkPj4zXTtoW2Q+PjNdPXo+YmE/ejpiYTtpPWkrMXwwfX19d2hpbGUoMCk7Y1skPj4y
XT1YO2NbJCs0Pj4yXT1XO2NbJCs4Pj4yXT1lO2hbJCsxNj4+M109VjtoWyQrMzI+PjNdPVU7aFsk
KzI0Pj4zXT1UO2NbJCs0ND4+Ml09ZztmPStoW18+PjNdO2lmKCEoY1tBPj4yXSYyMDQ4KSl7ZT1j
W1o+PjJdfDA7aFtlKzMyPj4zXT1mKi4wMTM4ODg4ODg4ODg4ODg4ODh9ZWxzZXtlPWNbWj4+Ml18
MDtoW2UrMzI+PjNdPStoWyhRPmY/WTpfKT4+M10qLjAxMzg4ODg4ODg4ODg4ODg4ODtkPShQPito
W2Q+PjNdP1k6XykrOHwwfWhbZSs0MD4+M109K2hbZD4+M10qLjAxMzg4ODg4ODg4ODg4ODg4ODtj
W2UrMTI+PjJdPSQ7bD1hYTtyZXR1cm59ZnVuY3Rpb24gRHkoYSl7YT1hfDA7dmFyIGI9MCxkPTAs
ZT0wLGY9MCxnPTAuMCxpPTAuMCxqPTAsaz0wLG09MCxuPTAsbz0wO289bDtsPWwrNjR8MDtqPW8r
NDB8MDtlPW8rMzJ8MDtrPW8rMTZ8MDtuPW87ZD0oY1soY1socm8oYSl8MCkrMTY+PjJdfDApKzEx
Nj4+Ml18MCk+Pj4yJjFeMTttPWErMTZ8MDtmPWNbY1soY1ttPj4yXXwwKSsxMDQ+PjJdPj4yXXww
O2NbNDIzMjZdPWY7Zj1ySihmKXwwO2Y9dncoKChmfDApPjE/ZjoxKSsxfDApfDA7Yj1GeShhLGQs
MSxmKXwwO2lmKCFiKXtjW2U+PjJdPWNbY1soY1ttPj4yXXwwKSsxMDQ+PjJdPj4yXTtfbCgxLDkw
NTA2LGUpfDA7Y1s0MjMyNl09OTA1Mjc7Yj1GeShhLGQsMSxmKXwwfV9JKGYpO0d5KGosYSxiKTtk
PWNbbT4+Ml18MDtpPStoW2QrMzI+PjNdKjcyLjA7aT0rKH5+KGkrKGk+PTAuMD8uNTotLjUpKXww
KTtoW24+PjNdPWk7Zz0raFtkKzQwPj4zXSo3Mi4wO2c9Kyh+fihnKyhnPj0wLjA/LjU6LS41KSl8
MCk7ZD1uKzh8MDtoW2Q+PjNdPWc7aWYoISgoSUEoRkEoYSxjWzQyMjA5XXwwLDEyMjEwMCl8MCl8
MCk8PDI0Pj4yNCkpe2k9K2hbKCtoW2I+PjNdPmk/YjpuKT4+M107aFtuPj4zXT1pO2U9Yis4fDA7
Zz0raFsoK2hbZT4+M10+Zz9iOm4pKzg+PjNdO2hbZD4+M109ZztkPWU7ZT1ifWVsc2V7ZD1iKzh8
MDtlPWJ9YT0oSUEoRkEoYSxjWzQyMjAwXXwwLDEyMjEwMCl8MCl8MCkmMjU1O2Nbaj4+Ml09Y1tu
Pj4yXTtjW2orND4+Ml09Y1tuKzQ+PjJdO2Nbais4Pj4yXT1jW24rOD4+Ml07Y1tqKzEyPj4yXT1j
W24rMTI+PjJdO0h5KGIsaixhKTtJeShrLGkqLS41LGcqLjUpO2Nbaj4+Ml09Y1trPj4yXTtjW2or
ND4+Ml09Y1trKzQ+PjJdO2Nbais4Pj4yXT1jW2srOD4+Ml07Y1tqKzEyPj4yXT1jW2srMTI+PjJd
O0p5KGIsaiwxNSk7bj1jW20+PjJdfDA7aFtuKzMyPj4zXT0raFtlPj4zXSouMDEzODg4ODg4ODg4
ODg4ODg4O2hbbis0MD4+M109KCtoW2Q+PjNdKzEuMCkqLjAxMzg4ODg4ODg4ODg4ODg4ODtjW24r
MTI+PjJdPWI7bD1vO3JldHVybn1mdW5jdGlvbiBFeShhKXthPWF8MDt2YXIgYj0wLjAsZD0wLGU9
MC4wLGY9MC4wLGc9MCxpPTAsaj0wLGs9MCxsPTAuMCxtPTA7aj12dyg0OCl8MDtrPWErMTZ8MDtn
PWNbKGNbKGNbKGNbaz4+Ml18MCkrOD4+Ml18MCkrOD4+Ml18MCkrND4+Ml18MDtmPStFQShhLGNb
NDIxOTBdfDAsMTc5NzY5MzEzNDg2MjMxNTcwODE0NTI3NC4wZTI4NCwwLjApO2I9K0VBKGEsY1s0
MjE4OV18MCwxNzk3NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0LjBlMjg0LDAuMCk7Zj1mPGI/ZjpiO2Y9
Yj09MTc5NzY5MzEzNDg2MjMxNTcwODE0NTI3NC4wZTI4NCZmPT0xNzk3NjkzMTM0ODYyMzE1NzA4
MTQ1Mjc0LjBlMjg0Py4wNTpmPjAuMD8oZj4uMDAwMz9mOi4wMDAzKTpmO2k9Y1trPj4yXXwwO2hb
aSs0MD4+M109ZjtoW2krMzI+PjNdPWY7Yj1mKjcyLjA7Zz1EQShhLGNbNDIyMDRdfDAsZywwKXww
O2k9dncoKGd8MCk8MT8zMjpnPDw1KXwwO2Y9ZiozNi4wO2U9LWY7aFtpPj4zXT1lO2hbaSs4Pj4z
XT1lO2hbaSsxNj4+M109ZjtoW2krMjQ+PjNdPWY7aWYoKGd8MCk+MSl7YT0xO2Q9MjtlPWY7Yj1m
O3doaWxlKDEpe2lmKChhfDApPT0oZ3wwKSlicmVhaztsPWUrNC4wO2Y9Yis0LjA7aFtpKyhkPDw0
KT4+M109LWw7aFtpKyhkPDw0KSs4Pj4zXT0tZjttPWR8MTtoW2krKG08PDQpPj4zXT1sO2hbaSso
bTw8NCkrOD4+M109ZjthPWErMXwwO2Q9ZCsyfDA7ZT1sO2I9Zn1iPWUqMi4wfWNbaj4+Ml09MTtj
W2orND4+Ml09ZztjW2orOD4+Ml09MjttPWorMTZ8MDtjW20+PjJdPTA7Y1ttKzQ+PjJdPTA7Y1tt
Kzg+PjJdPTA7Y1ttKzEyPj4yXT0wO2NbbSsxNj4+Ml09MDtjW20rMjA+PjJdPTA7Y1tqKzQ0Pj4y
XT1pO2w9YiouMDEzODg4ODg4ODg4ODg4ODg4O209Y1trPj4yXXwwO2hbbSszMj4+M109bDtoW20r
NDA+PjNdPWw7Y1ttKzEyPj4yXT1qO3JldHVybn1mdW5jdGlvbiBGeShiLGQsZSxmKXtiPWJ8MDtk
PWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAs
cT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxF
PTA7Zz12dyg3Mil8MDtuPWNbKGNbYisxNj4+Ml18MCkrMTA0Pj4yXXwwO209MDtpPTE7aj1jWzQy
MzI2XXwwO2E6d2hpbGUoMSl7az1hW2o+PjBdfDA7c3dpdGNoKGs8PDI0Pj4yNCl7Y2FzZSAwOmJy
ZWFrIGE7Y2FzZSA5Mjp7aj1qKzF8MDtrPWFbaj4+MF18MDtzd2l0Y2goazw8MjQ+PjI0KXtjYXNl
IDEyNDpjYXNlIDEyNTpjYXNlIDEyMzpjYXNlIDkyOntsPW07YnJlYWt9ZGVmYXVsdDpFPTR9YnJl
YWt9ZGVmYXVsdDpFPTR9aWYoKEV8MCk9PTQpe0U9MDtzd2l0Y2goazw8MjQ+PjI0KXtjYXNlIDEy
Mzp7bD1tKzF8MDticmVha31jYXNlIDEyNTp7bD1tKy0xfDA7YnJlYWt9ZGVmYXVsdDp7bD1tO2k9
aSsoKG18MCk9PTAmazw8MjQ+PjI0PT0xMjQmMSl8MH19aWYoKGx8MCk8MClicmVha31tPWw7aj1q
KzF8MH1CPWcrNTZ8MDtjW0I+PjJdPXZ3KGk8PDIpfDA7YVtnKzY0Pj4wXT1kO3k9KGR8MCk9PTAm
MTt6PW4rODJ8MDtBPWYrMXwwO3Y9KGV8MCkhPTA7dz1uKzE2fDA7eD1uKzR8MDt1PW4rOHwwO2s9
MDttPTA7ZD0wO3Q9MDtsPTA7ZT0wO249ZjtpPTA7aj0wO2I6d2hpbGUoMSl7cD1rO2s9MDtjOndo
aWxlKDEpe2Q6d2hpbGUoMSl7cz1lO2U6d2hpbGUoMSl7cj1rO289aTtmOndoaWxlKDEpe3E9bTtn
OndoaWxlKDEpe3doaWxlKDEpe2lmKHQpe0U9Nzg7YnJlYWsgYn1tPWNbNDIzMjZdfDA7aT1hW20+
PjBdfDA7aWYoKGkrLTEmMjU1KT49MzEpYnJlYWs7Y1s0MjMyNl09bSsxfXN3aXRjaChpPDwyND4+
MjR8MCl7Y2FzZSA5Mjp7RT01MzticmVhayBkfWNhc2UgMDpjYXNlIDEyNDpjYXNlIDEyNTpicmVh
ayBlO2Nhc2UgNjA6YnJlYWsgZjtjYXNlIDYyOmJyZWFrIGc7Y2FzZSAxMjM6YnJlYWs7ZGVmYXVs
dDp7az1kO2k9bTticmVhayBkfX1pPW0rMXwwO2NbNDIzMjZdPWk7aWYobHwwKXtFPTM0O2JyZWFr
IGJ9aWYoIShhW2k+PjBdfDApKXtFPTM0O2JyZWFrIGJ9ZT1GeShiLHksMCxmKXwwO2NbKGNbQj4+
Ml18MCkrKHE8PDIpPj4yXT1lO2lmKCFlKXtFPTM2O2JyZWFrIGJ9ZWxzZXtxPXErMXwwO2w9NH19
aWYoYVt6Pj4wXXwwKXtrPWQ7aT1tO2JyZWFrIGR9aWYoIShsJjE2KSl7RT0yNzticmVhayBifWlm
KG8+Pj4wPkE+Pj4wPyhDPW8rLTF8MCwoQ3wwKSE9KHN8MCkpOjApaT0oYVtDPj4wXXwwKT09MzI/
QzpvO2Vsc2UgaT1vO2FbaT4+MF09MDtyPUdMKGYpfDA7Y1s0MjMyNl09KGNbNDIzMjZdfDApKzE7
bT1xO2w9bCYtMTc7bz1pfWlmKGwmNnwwKXtFPTIyO2JyZWFrIGJ9aWYoYVt6Pj4wXXwwKXtrPWQ7
aT1tO2JyZWFrIGR9Y1s0MjMyNl09bSsxO209cTtsPWx8MTg7az1yO3M9ZjtpPWZ9aWYoISgobCYx
NnwwKT09MCYodnxpPDwyND4+MjQhPTApKSl7RT0zODticmVhayBifWlmKCEobCY0KSl7az12dyg3
Mil8MDtjWyhjW0I+PjJdfDApKyhxPDwyKT4+Ml09azttPXErMXwwfWVsc2V7az1wO209cX1pZihy
fDApY1trKzYwPj4yXT1yO2lmKCEobCY1KSl7YVtmK2o+PjBdPTMyO2w9bHwxO2o9aisxfDB9aT1m
K2p8MDtpZihsJjEpe2lmKChqfDApPjE/KEQ9aSstMXwwLChEfDApIT0obnwwKSk6MClpPShhW0Q+
PjBdfDApPT0zMj9EOmk7YVtpPj4wXT0wO249R0woZil8MDtjW2srNTI+PjJdPWx3KGIsbixhW3o+
PjBdfDA/MjowLCtoW3c+PjNdLGNbeD4+Ml18MCxjW3U+PjJdfDApfDA7YVtrKzY0Pj4wXT0xO249
ZjtqPTB9aT1jWzQyMzI2XXwwO3N3aXRjaChhW2k+PjBdfDApe2Nhc2UgMDp7dD0xO2U9cztpPW87
Y29udGludWUgYn1jYXNlIDEyNTp7RT01MTticmVhayBifWRlZmF1bHQ6e319Y1s0MjMyNl09aSsx
O3A9aztsPTA7az0wO2U9cztpPW99aDpkbyBpZigoRXwwKT09NTMpe0U9MDtrPWYranwwO2k9bSsx
fDA7c3dpdGNoKGFbaT4+MF18MCl7Y2FzZSAwOntrPWQ7aT1tO2JyZWFrIGh9Y2FzZSA2MjpjYXNl
IDYwOmNhc2UgMTI0OmNhc2UgMTI1OmNhc2UgMTIzOntrPWQ7YnJlYWt9Y2FzZSAzMjp7aWYoIShh
W3o+PjBdfDApKWs9MTtlbHNlIEU9NTU7YnJlYWt9ZGVmYXVsdDpFPTU1fWlmKChFfDApPT01NSl7
RT0wO2Fbaz4+MF09OTI7az1kO2w9bHw5O2o9aisxfDB9Y1s0MjMyNl09aX13aGlsZSgwKTtkPWYr
anwwO2lmKGwmNHwwPyhhW2k+PjBdfDApIT0zMjowKXtFPTU5O2JyZWFrIGJ9aWYoIShsJjI0KSls
PShhW2k+PjBdfDApPT0zMj9sOmx8OTtpZighKGwmOCkpaWYoIShsJjE2KSllPXM7ZWxzZXttPWFb
aT4+MF18MDtkPShrfDApIT0wO2lmKCEoZHxtPDwyND4+MjQhPTMyKSlpZigob3wwKSE9KGZ8MCkp
aWYoKGFbbystMT4+MF18MCk9PTMyKW09bztlbHNlIEU9NzM7ZWxzZSBtPWY7ZWxzZSBFPTczO2lm
KChFfDApPT03Myl7RT0wO2Fbbz4+MF09bTttPW8rMXwwO2k9Y1s0MjMyNl18MH1lPWQ/bSstMXww
OnM7bz1tfWVsc2V7bT1hW2k+PjBdfDA7ZT0oa3wwKSE9MDtpZighKCghKGV8bTw8MjQ+PjI0IT0z
Mik/KGFbZCstMT4+MF18MCk9PTMyOjApPyhhW3o+PjBdfDApPT0wOjApKXthW2Q+PjBdPW07aj1q
KzF8MH1pZihlKXtlPXM7bj1mK2orLTF8MH1lbHNlIGU9c31pPWkrMXwwO2NbNDIzMjZdPWk7d2hp
bGUoMSl7aWYoKGFbaT4+MF18MCk+PTApe209cTtkPWs7az1yO2k9bztjb250aW51ZSBjfXM9aSsx
fDA7Y1s0MjMyNl09czthW2Yraj4+MF09YVtpPj4wXXwwO2o9aisxfDA7aT1zfX19aWYoKEV8MCk9
PTIyKXtLeShnLHIpO2c9MH1lbHNlIGlmKChFfDApPT0yNyl7S3koZyxyKTtnPTB9ZWxzZSBpZigo
RXwwKT09MzQpe0t5KGcscik7Zz0wfWVsc2UgaWYoKEV8MCk9PTM2KXtLeShnLHIpO2c9MH1lbHNl
IGlmKChFfDApPT0zOCl7S3koZyxyKTtnPTB9ZWxzZSBpZigoRXwwKT09NTEpe2NbNDIzMjZdPWkr
MTtjW2crNDg+PjJdPW19ZWxzZSBpZigoRXwwKT09NTkpe0t5KGcscik7Zz0wfWVsc2UgaWYoKEV8
MCk9PTc4KWNbZys0OD4+Ml09cTtyZXR1cm4gZ3wwfWZ1bmN0aW9uIEd5KGIsZCxlKXtiPWJ8MDtk
PWR8MDtlPWV8MDt2YXIgZj0wLjAsZz0wLjAsaT0wLjAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAs
cT0wLHI9MCxzPTAsdD0wLHU9MDt1PWw7bD1sKzY0fDA7az11KzQ4fDA7bT11KzQwfDA7bj11KzMy
fDA7dD11KzE2fDA7cz11O2o9Y1tlKzUyPj4yXXwwO2E6ZG8gaWYoIWope249dCs4fDA7bz1lKzQ4
fDA7cD1lKzU2fDA7cT1lKzY0fDA7cj1zKzh8MDtjW3Q+PjJdPTA7Y1t0KzQ+PjJdPTA7Y1t0Kzg+
PjJdPTA7Y1t0KzEyPj4yXT0wO2o9MDt3aGlsZSgxKXtpZigoanwwKT49KGNbbz4+Ml18MCkpYnJl
YWsgYTtHeShzLGQsY1soY1twPj4yXXwwKSsoajw8Mik+PjJdfDApO2lmKCEoYVtxPj4wXXwwKSl7
aFtuPj4zXT0raFtuPj4zXSsgK2hbcj4+M107az10O209K2hbdD4+M10+K2hbcz4+M10/dDpzfWVs
c2V7aFt0Pj4zXT0raFt0Pj4zXSsgK2hbcz4+M107az1uO209KCtoW24+PjNdPitoW3I+PjNdP3Q6
cykrOHwwfWhbaz4+M109K2hbbT4+M107aj1qKzF8MH19ZWxzZXtnPStoW2orMjQ+PjNdO2Y9K2hb
aiszMj4+M107aWYoZz4wLjB8Zj4wLjApe2o9SW0oZCw5MDUzMCl8MDtkbyBpZihqKXtjW2s+PjJd
PW07Y1trKzQ+PjJdPW47aj1jTShqLDkwNTM3LGspfDA7aWYoKGp8MCk8PTApe2k9OC4wO2c9Zysx
Ni4wO2JyZWFrfWk9K2hbbT4+M10qNzIuMDtpPSsofn4oaSsoaT49MC4wPy41Oi0uNSkpPDwxfDAp
O2c9ZytpO2lmKChqfDApIT0xKXtpPStoW24+PjNdKjcyLjA7aT0rKH5+KGkrKGk+PTAuMD8uNTot
LjUpKTw8MXwwKX19ZWxzZXtpPTguMDtnPWcrMTYuMH13aGlsZSgwKTtmPWkrZn1oW3Q+PjNdPWc7
aFt0Kzg+PjNdPWZ9d2hpbGUoMCk7Y1tlPj4yXT1jW3Q+PjJdO2NbZSs0Pj4yXT1jW3QrND4+Ml07
Y1tlKzg+PjJdPWNbdCs4Pj4yXTtjW2UrMTI+PjJdPWNbdCsxMj4+Ml07Y1tiPj4yXT1jW3Q+PjJd
O2NbYis0Pj4yXT1jW3QrND4+Ml07Y1tiKzg+PjJdPWNbdCs4Pj4yXTtjW2IrMTI+PjJdPWNbdCsx
Mj4+Ml07bD11O3JldHVybn1mdW5jdGlvbiBIeShiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFy
IGY9MC4wLGc9MCxpPTAuMCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAuMCxyPTAuMCxzPTA7
cz1sO2w9bCszMnwwO289cysxNnwwO3A9cztxPStoW2Q+PjNdO2k9cS0raFtiPj4zXTtyPStoW2Qr
OD4+M107Zj1yLStoW2IrOD4+M107Y1tiPj4yXT1jW2Q+PjJdO2NbYis0Pj4yXT1jW2QrND4+Ml07
Y1tiKzg+PjJdPWNbZCs4Pj4yXTtjW2IrMTI+PjJdPWNbZCsxMj4+Ml07ZD1jW2IrNTI+PjJdfDA7
aWYoISgoZXwwKSE9MHwoZHwwKT09MCkpe249ZCs0MHwwO2hbbj4+M109K2hbbj4+M10raTtuPWQr
NDh8MDtoW24+PjNdPStoW24+PjNdK2Z9bT1iKzQ4fDA7ZD1jW20+PjJdfDA7YTpkbyBpZihkfDAp
e249Yis2NHwwO2Y9KChhW24+PjBdfDApPT0wP2Y6aSkvKyhkfDApO2s9Yis1NnwwO2o9MDt3aGls
ZSgxKXtpZigoanwwKT49KGR8MCkpYnJlYWsgYTtiPWNbKGNbaz4+Ml18MCkrKGo8PDIpPj4yXXww
O2c9aisxfDA7ZD1+fihmKisoZ3wwKSktfn4oZiorKGp8MCkpfDA7aWYoIShhW24+PjBdfDApKUl5
KHAscSwraFtiKzg+PjNdKyArKGR8MCkpO2Vsc2UgSXkocCwraFtiPj4zXSsgKyhkfDApLHIpO2Nb
bz4+Ml09Y1twPj4yXTtjW28rND4+Ml09Y1twKzQ+PjJdO2Nbbys4Pj4yXT1jW3ArOD4+Ml07Y1tv
KzEyPj4yXT1jW3ArMTI+PjJdO0h5KGIsbyxlKTtqPWc7ZD1jW20+PjJdfDB9fXdoaWxlKDApO2w9
cztyZXR1cm59ZnVuY3Rpb24gSXkoYSxiLGMpe2E9YXwwO2I9K2I7Yz0rYztoW2E+PjNdPWI7aFth
Kzg+PjNdPWM7cmV0dXJufWZ1bmN0aW9uIEp5KGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIg
Zj0wLGc9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MC4wLHM9MC4wO3E9bDts
PWwrNDh8MDtqPXErMzJ8MDtuPXErMTZ8MDttPXE7YVtiKzY1Pj4wXT1lO2s9YisxNnwwO3M9K2hb
ZD4+M107cD1kKzh8MDtyPStoW3A+PjNdO0l5KG4scyxyLStoW2IrOD4+M10pO2Nbaz4+Ml09Y1tu
Pj4yXTtjW2srND4+Ml09Y1tuKzQ+PjJdO2Nbays4Pj4yXT1jW24rOD4+Ml07Y1trKzEyPj4yXT1j
W24rMTI+PjJdO2s9YiszMnwwO0l5KG0sK2hbYj4+M10rcyxyKTtjW2s+PjJdPWNbbT4+Ml07Y1tr
KzQ+PjJdPWNbbSs0Pj4yXTtjW2srOD4+Ml09Y1ttKzg+PjJdO2NbaysxMj4+Ml09Y1ttKzEyPj4y
XTtrPWNbYis0OD4+Ml18MDttPWsrLTF8MDtuPShlfDApPT0wO289Yis1NnwwO2k9Yis2NHwwO2c9
MDt3aGlsZSgxKXtpZigoZ3wwKT49KGt8MCkpYnJlYWs7ZG8gaWYoIW4pe2I9KGd8MCk9PTA7Zj0o
Z3wwKT09KG18MCk7aWYoIShhW2k+PjBdfDApKWlmKGIpe2I9Zj8xNToxNDticmVha31lbHNle2I9
Zj8xMToxMDticmVha31lbHNlIGlmKGIpe2I9Zj8xNToxMzticmVha31lbHNle2I9Zj83OjU7YnJl
YWt9fWVsc2UgYj0wO3doaWxlKDApO2Y9Y1soY1tvPj4yXXwwKSsoZzw8Mik+PjJdfDA7Y1tqPj4y
XT1jW2Q+PjJdO2Nbais0Pj4yXT1jW2QrND4+Ml07Y1tqKzg+PjJdPWNbZCs4Pj4yXTtjW2orMTI+
PjJdPWNbZCsxMj4+Ml07SnkoZixqLGImZSk7aWYoIShhW2k+PjBdfDApKWhbcD4+M109K2hbcD4+
M10tK2hbKGNbKGNbbz4+Ml18MCkrKGc8PDIpPj4yXXwwKSs4Pj4zXTtlbHNlIGhbZD4+M109K2hb
Y1soY1tvPj4yXXwwKSsoZzw8Mik+PjJdPj4zXSsgK2hbZD4+M107Zz1nKzF8MH1sPXE7cmV0dXJu
fWZ1bmN0aW9uIEt5KGEsYil7YT1hfDA7Yj1ifDA7THkoYSk7X0koYik7cmV0dXJufWZ1bmN0aW9u
IEx5KGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MDtkPWErNDh8MDtlPWErNTZ8MDtiPTA7d2hpbGUo
MSl7aWYoKGJ8MCk+PShjW2Q+PjJdfDApKWJyZWFrO0x5KGNbKGNbZT4+Ml18MCkrKGI8PDIpPj4y
XXwwKTtiPWIrMXwwfV9JKGNbYSs2MD4+Ml18MCk7b3coY1thKzUyPj4yXXwwKTtfSShjW2U+PjJd
fDApO19JKGEpO3JldHVybn1mdW5jdGlvbiBNeShhKXthPWF8MDt2YXIgYj0wLjAsZD0wLjA7ZD0r
RUEoYSxjWzQyMTkwXXwwLDAuMCwuMDEpO2I9K0VBKGEsY1s0MjE4OV18MCwwLjAsLjAyKTtiPShk
PmI/ZDpiKSo3Mi4wO3JldHVybiArKCsofn4oYisoYj49MC4wPy41Oi0uNSkpfDApKX1mdW5jdGlv
biBOeShhLGIpe2E9K2E7Yj0rYjt2YXIgYz0wO2M9fn4oYS9iKTtyZXR1cm4gKygrKCgrKGN8MCkq
YisxLjBlLTA1PGEmMSkrY3wwKSpiKX1mdW5jdGlvbiBPeShhKXthPWF8MDthPWNbKGNbYSsxNj4+
Ml18MCkrOD4+Ml18MDtpZighYSlhPTA7ZWxzZSBhPShjW2NbYSs0Pj4yXT4+Ml18MCk9PTc1JjE7
cmV0dXJuIGF8MH1mdW5jdGlvbiBQeShiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MDtm
PWNbNDIzMjddfDA7YTpkbyBpZighZilkPTA7ZWxzZXtnPWNbNDIzMjhdfDA7ZT0wO3doaWxlKDEp
e2lmKChlfDApPj0oZ3wwKSl7ZD0wO2JyZWFrIGF9ZD1jW2YrKGU8PDIpPj4yXXwwO2g9Y1tkPj4y
XXwwO2lmKChhW2g+PjBdfDApPT0oYVtiPj4wXXwwKT8oeEooaCxiKXwwKT09MDowKWJyZWFrIGE7
ZT1lKzF8MH19d2hpbGUoMCk7cmV0dXJuIGR8MH1mdW5jdGlvbiBReShiLGQpe2I9YnwwO2Q9ZHww
O3ZhciBlPTAsZj0wLGc9MDtpZihSQShJbShkLDkwNTYwKXwwKXwwKWlmKChhW2I+PjBdfDApPT0x
MDE/KHhKKGIsOTA3MjUpfDApPT0wOjApe2Q9MTAxO2c9Nn1lbHNle2I9OTA1NTM7Zz00fWVsc2Ug
Zz00O2lmKChnfDApPT00KXtkPWFbYj4+MF18MDtpZihkPDwyND4+MjQ9PTk5KWlmKCEoeEooYiw5
MDU1Myl8MCkpZz0xMTtlbHNle2Q9OTk7Zz02fWVsc2UgZz02fWE6ZG8gaWYoKGd8MCk9PTYpe2U9
MTk4Njg7d2hpbGUoMSl7Zj1jW2U+PjJdfDA7aWYoIWYpe2c9MTE7YnJlYWsgYX1pZigoYVtmPj4w
XXwwKT09ZDw8MjQ+PjI0Pyh4SihmLGIpfDApPT0wOjApe2I9ZTticmVhayBhfWU9ZSsxNnwwfX13
aGlsZSgwKTtpZigoZ3wwKT09MTEpYj1SeShiKXwwO3JldHVybiBifDB9ZnVuY3Rpb24gUnkoYil7
Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTA7aD1sO2w9bCsxNnwwO2c9aDtkPVB5KGIpfDA7
aWYoIWQpe2Y9Y1s0MjMyOF18MDtkPWYrMXwwO2NbNDIzMjhdPWQ7ZT1jWzQyMzI3XXwwO2lmKCFl
KWQ9d3coZDw8Mil8MDtlbHNlIGQ9eXcoZSxkPDwyKXwwO2NbNDIzMjddPWQ7ZD12dygxNil8MDtj
WyhjWzQyMzI3XXwwKSsoZjw8Mik+PjJdPWQ7Y1tkPj4yXT1jWzQ5NjddO2NbZCs0Pj4yXT1jWzQ5
NjhdO2NbZCs4Pj4yXT1jWzQ5NjldO2NbZCsxMj4+Ml09Y1s0OTcwXTtlPUdMKGIpfDA7Y1tkPj4y
XT1lO2RvIGlmKCEwKXtpZigoYVtiPj4wXXwwKT09OTk/KHhKKGIsOTA1NTMpfDApPT0wOjApe2U9
MTticmVha31jW2c+PjJdPWNbNDk2N107Y1tnKzQ+PjJdPWU7X2woMCw5MDczMCxnKXwwO2U9MH1l
bHNlIGU9MTt3aGlsZSgwKTthW2QrMTI+PjBdPWV9bD1oO3JldHVybiBkfDB9ZnVuY3Rpb24gU3ko
YSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wLjAsZD0wLjA7ZD0raFtiPj4zXSouNTI1NzMxMTEyMTE5
MTMzNjtjPStoW2IrOD4+M10qLjg5NDQyNzE5MDk5OTkxNTk7Yz1kPmM/ZDpjO2hbYT4+M109Yyo0
Ljk3OTc5NjU2OTc2NTU2O2hbYSs4Pj4zXT1jKjQuNzM2MDY3OTc3NDk5Nzk7cmV0dXJufWZ1bmN0
aW9uIFR5KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MC4wLGQ9MC4wLGU9MC4wLGY9MCxnPTAuMCxp
PTAuMCxqPTAuMCxrPTAsbD0wLG09MC4wO2Q9K2hbYj4+M107az1iKzh8MDtlPStoW2s+PjNdO2M9
ZS9kO2lmKCEoYz4uOTUxMDU2NTE2Mjk1MTUzNikpaWYoYzwuOTUxMDU2NTE2Mjk1MTUzNil7aj1k
O2U9ZCouOTUxMDU2NTE2Mjk1MTUzNn1lbHNlIGo9ZDtlbHNlIGo9ZSoxLjA1MTQ2MjIyNDIzODI2
NzI7ZD1qKi41MjU3MzExMTIxMTkxMzM2O2c9aiouMjAwODExNDE1ODg2MjI3MjU7aT1qKi4wNTAy
MDI4NTM5NzE1NTY4MTtjPS4zMTQxNTkyNjUzNTg5NzkzO2Y9MDt3aGlsZSgxKXtpZigoZnwwKT49
MTApYnJlYWs7aFthKyhmPDw0KT4+M109K0UoK2MpKmQ7aFthKyhmPDw0KSs4Pj4zXT0rRigrYykq
ZC1pO209YysuNjI4MzE4NTMwNzE3OTU4NjtsPWZ8MTtoW2ErKGw8PDQpPj4zXT0rRSgrbSkqZzto
W2ErKGw8PDQpKzg+PjNdPStGKCttKSpnLWk7Yz1jKzEuMjU2NjM3MDYxNDM1OTE3MjtmPWYrMnww
fWhbYj4+M109ajtoW2s+PjNdPWU7cmV0dXJufWZ1bmN0aW9uIFV5KGEpe2E9YXwwO2E9Y1soY1th
KzE2Pj4yXXwwKSsxMj4+Ml18MDtpZihhfDApe19JKGNbYSs0ND4+Ml18MCk7X0koYSl9cmV0dXJu
fWZ1bmN0aW9uIFZ5KGIsZCxlLGYpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0w
LGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wO289bDtsPWwrODB8MDtrPW8rNDB8MDtnPW87bj1vKzY0
fDA7aD1vKzU2fDA7aWYoIShhW2U+PjBdfDApKXtnPTQxNDQ7aD1iKzQwfDA7ZG97Y1tiPj4yXT1j
W2c+PjJdO2I9Yis0fDA7Zz1nKzR8MH13aGlsZSgoYnwwKTwoaHwwKSl9ZWxzZXtpPShmfDApPT0w
PzkxNDAwOmY7Y1tuPj4yXT0xNTtqPWQrMTZ8MDtmPWNbaj4+Ml18MDtkbyBpZihhWyhjW2YrMTA0
Pj4yXXwwKSs4Mj4+MF18MCl7Zj1IRihkLGUsbil8MDtpZighZil7Zj1jW2o+PjJdfDA7bT04O2Jy
ZWFrfWlmKGh6KGQsZixnLGksY1tuPj4yXXwwLDApfDApe2Nbaz4+Ml09RG4oZCl8MDtjW2srND4+
Ml09ZTtjW2srOD4+Ml09aTtfbCgwLDkxNDAyLGspfDB9fWVsc2UgbT04O3doaWxlKDApO2lmKCht
fDApPT04KXtpZigoY1soY1tmKzg+PjJdfDApKzg+PjJdfDApPT0xNjAwKWg9MDtlbHNle2NbaD4+
Ml09ZDtjW2grND4+Ml09MH1pZihoeihkLDAsZyxlLGNbbj4+Ml18MCxoKXwwKWl6KGQsZSl9Y1tn
KzM2Pj4yXT0wO2g9Yis0MHwwO2Rve2NbYj4+Ml09Y1tnPj4yXTtiPWIrNHwwO2c9Zys0fDB9d2hp
bGUoKGJ8MCk8KGh8MCkpfWw9bztyZXR1cm59ZnVuY3Rpb24gV3koYSxiKXthPWF8MDtiPWJ8MDt2
YXIgZD0wLjAsZT0wLjAsZj0wLGc9MCxpPTAsaj0wLjAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAs
cj0wLHM9MC4wLHQ9MDtyPWw7bD1sKzExMnwwO249cis5NnwwO209cis4MHwwO3A9cis2NHwwO2s9
cis0OHwwO3E9ciszMnwwO289cjtmPXIrMTZ8MDtpZighYSl7Y1s0MjMzMV09MDthPTB9ZWxzZXtn
PWNbYSs0Pj4yXXwwO2E9Y1thPj4yXXwwO2k9KGNbKGNbKHJvKGEpfDApKzE2Pj4yXXwwKSsxMTY+
PjJdJjMpKjkwfDA7Y1tuPj4yXT1jW2I+PjJdO2Nbbis0Pj4yXT1jW2IrND4+Ml07Y1tuKzg+PjJd
PWNbYis4Pj4yXTtjW24rMTI+PjJdPWNbYisxMj4+Ml07YXcoZixuLGkpO2NbcT4+Ml09Y1tmPj4y
XTtjW3ErND4+Ml09Y1tmKzQ+PjJdO2NbcSs4Pj4yXT1jW2YrOD4+Ml07Y1txKzEyPj4yXT1jW2Yr
MTI+PjJdO2E6ZG8gaWYoZyl7ZD0raFtnKzg+PjNdO2U9K2hbZysyND4+M107cz0raFtxPj4zXTtp
ZigoK2hbZz4+M108PXM/czw9K2hbZysxNj4+M106MCk/KGo9K2hbcSs4Pj4zXSxkPD1qKTowKWE9
ajw9ZSYxO2Vsc2UgYT0wfWVsc2V7aWYoKGF8MCk9PShjWzQyMzMxXXwwKSl7Zj1jWzQyMzMyXXww
O2c9Y1s0MjMzNF18MDtpPWNbNDIzMzNdfDB9ZWxzZXtnPWNbKGNbYSsxNj4+Ml18MCkrMTI+PjJd
fDA7Y1s0MjMzNV09ZztpPWNbZys0ND4+Ml18MDtjWzQyMzMzXT1pO2Y9Y1tnKzg+PjJdfDA7Y1s0
MjMzMl09ZjtnPU8oKGNbZys0Pj4yXXwwKSstMXwwLGYpfDA7Zz0oZ3wwKT4wP2c6MDtjWzQyMzM0
XT1nO2NbNDIzMzFdPWF9YT0wO2I9MDt3aGlsZSgxKXtpZigoYXwwKT49KGZ8MCkpe2E9MTticmVh
ayBhfXQ9aSsoZythPDw0KXwwO2Nbbz4+Ml09Y1t0Pj4yXTtjW28rND4+Ml09Y1t0KzQ+PjJdO2Nb
bys4Pj4yXT1jW3QrOD4+Ml07Y1tvKzEyPj4yXT1jW3QrMTI+PjJdO3Q9aSsoZysoKGErNHwwKSUo
ZnwwKXwwKTw8NCl8MDtjW2s+PjJdPWNbcT4+Ml07Y1trKzQ+PjJdPWNbcSs0Pj4yXTtjW2srOD4+
Ml09Y1txKzg+PjJdO2NbaysxMj4+Ml09Y1txKzEyPj4yXTtjW3A+PjJdPWNbNDE4MDJdO2NbcCs0
Pj4yXT1jWzQxODAzXTtjW3ArOD4+Ml09Y1s0MTgwNF07Y1twKzEyPj4yXT1jWzQxODA1XTtjW20+
PjJdPWNbbz4+Ml07Y1ttKzQ+PjJdPWNbbys0Pj4yXTtjW20rOD4+Ml09Y1tvKzg+PjJdO2NbbSsx
Mj4+Ml09Y1tvKzEyPj4yXTtjW24+PjJdPWNbdD4+Ml07Y1tuKzQ+PjJdPWNbdCs0Pj4yXTtjW24r
OD4+Ml09Y1t0Kzg+PjJdO2NbbisxMj4+Ml09Y1t0KzEyPj4yXTtiPWIrKChneihrLHAsbSxuKXww
KT09MCYxKXwwO2lmKChifDApPT0yKXthPTA7YnJlYWt9ZWxzZSBhPWErMnwwfX13aGlsZSgwKX1s
PXI7cmV0dXJuIGF8MH1mdW5jdGlvbiBYeShiLGQsZSxmLGcpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9
ZnwwO2c9Z3wwO2U9Y1tiKzE2Pj4yXXwwO2lmKChhWyhjW2UrMTA0Pj4yXXwwKSs4Mj4+MF18MCkh
PTA/KGFbZSsxNDU+PjBdfDApIT0wOjApYj1LRihiLGQsMCxmLGcpfDA7ZWxzZSBiPTA7cmV0dXJu
IGJ8MH1mdW5jdGlvbiBZeShlLGYpe2U9ZXwwO2Y9ZnwwO3ZhciBpPTAsaj0wLGs9MC4wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9
MC4wLEM9MC4wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsUD0w
LFE9MCxSPTA7UD1sO2w9bCs0OHwwO0g9UCsyNHwwO0c9UCsxNnwwO0E9UCs4fDA7ej1QO0w9UCsz
MnwwO249UCsyOHwwO009Y1tlKzE2Pj4yXXwwO049TSsyMDh8MDtpPWNbTj4+Ml18MDtpZigoaXww
KT09MD8oYltNKzI2MD4+MV0mMSk9PTA6MClKPTA7ZWxzZSBFPTQ7aWYoKEV8MCk9PTQpaWYoIShj
W2UrMTUyPj4yXSY0KSl7d0QoZSxpLGNbTSsyMjg+PjJdfDAsY1tNKzI0ND4+Ml18MCxjW00rMjEy
Pj4yXXwwKTtKPTF9ZWxzZSBKPTE7ST1mKzE2fDA7aT1jW0k+PjJdfDA7cj1jW2krMTI+PjJdfDA7
Rj1jW3IrNDQ+PjJdfDA7Sz1jW3IrOD4+Ml18MDtyPWNbcis0Pj4yXXwwO2lmKChjWzQyMzI5XXww
KTwoS3wwKSl7aT1LKzV8MDtjWzQyMzI5XT1pO2o9Y1s0MjMzMF18MDtpZighailpPXd3KGk8PDQp
fDA7ZWxzZSBpPXl3KGosaTw8NCl8MDtjWzQyMzMwXT1pO2k9Y1tJPj4yXXwwfUQ9KGNbaSsxMDQ+
PjJdfDApKzU2fDA7aT1pKzE2fDA7Y1tEPj4yXT1jW2k+PjJdO2NbRCs0Pj4yXT1jW2krND4+Ml07
Y1tEKzg+PjJdPWNbaSs4Pj4yXTtjW0QrMTI+PjJdPWNbaSsxMj4+Ml07RD1jW0k+PjJdfDA7Qj0r
aFtEKzMyPj4zXSo3Mi4wO0I9KCtoW0QrOTY+PjNdKyAraFtEKzg4Pj4zXSkvKyh+fihCKyhCPj0w
LjA/LjU6LS41KSl8MCk7Qz0raFtEKzQwPj4zXSo3Mi4wO0M9K2hbRCs4MD4+M10vKyh+fihDKyhD
Pj0wLjA/LjU6LS41KSl8MCk7RD1aeShlLGYpfDA7Y1tMPj4yXT0wO2k9ZFsoY1tJPj4yXXwwKSsx
MTc+PjBdfDA7ZG8gaWYoIShpJjEpKXtpZihpJjJ8MCl7cz1HQShmLDAsOTEzMDApfDA7QkQoZSxz
KTtERChlLEdBKGYsMCw5MTMwOCl8MCk7aj0wO2k9MTticmVha31pZihpJjh8MCl7cz1HQShmLDAs
OTEzMTYpfDA7QkQoZSxzKTtERChlLEdBKGYsMCw5MTMyNCl8MCk7aj0wO2k9MTticmVha31pZihp
JjR8MCl7cz1HQShmLDAsOTEzMzIpfDA7QkQoZSxzKTtERChlLEdBKGYsMCw5MTM0MCl8MCk7aj0w
O2k9MTticmVha31pZighKEQmMSkpaWYoIShEJjU3Nikpe2o9MDtpPTB9ZWxzZXtqPV95KGYpfDA7
aT0xfWVsc2V7aj1feShmKXwwO2lmKCEoKHh2KGosTCxuKXwwKTw8MjQ+PjI0KSl7REQoZSxqKTtp
PTF9ZWxzZXtERChlLGNbTD4+Ml18MCk7aT1jW0wrND4+Ml18MDttPURBKGYsY1s0MjIxN118MCww
LDApfDA7az0rZ1tuPj4yXTtpZighaSlFRChlLDEyMjEwNixtLGspO2Vsc2UgRUQoZSxpLG0sayk7
aT0oRCYyKT4+PjF8Mn19cz0keShlLGYpfDB9ZWxzZXtzPUdBKGYsMCw5MTI4NCl8MDtCRChlLHMp
O0REKGUsR0EoZiwwLDkxMjkyKXwwKTtqPTA7aT0xfXdoaWxlKDApO209Y1soY1tJPj4yXXwwKSs4
Pj4yXXwwO2lmKGFbbSsxMj4+MF18MCl7bT1jW20+PjJdfDA7aWYoKGFbbT4+MF18MCk9PTk5KXtt
PSh4SihtLDkwNTUzKXwwKT09MDtFPTMzfWVsc2UgdT0xfWVsc2V7bT0xO0U9MzN9aWYoKEV8MCk9
PTMzKXttPW1eMTtpZigocnwwKSE9MHxpPDwyND4+MjQ9PTB8bSl1PW07ZWxzZXtCRChlLDEyMjE3
MSk7cj0xO3U9MH19dj0oS3wwKTwzO3c9KEQmNTEyfDApIT0wO3k9KEQmOHwwKT09MDt4PShEJjY0
fDApPT0wO3A9KEQmMTAyNHwwKT09MDtxPShEJjIxMzA3MDY0NDR8MCk9PTA7dD0wO3doaWxlKDEp
e2lmKCh0fDApPj0ocnwwKSlicmVhaztuPU8odCxLKXwwO289Y1s0MjMzMF18MDttPTA7d2hpbGUo
MSl7aWYoKG18MCk+PShLfDApKWJyZWFrO1I9bStufDA7az0raFtGKyhSPDw0KSs4Pj4zXTtRPWNb
ST4+Ml18MDtoW28rKG08PDQpPj4zXT0raFtRKzE2Pj4zXSsgK2hbRisoUjw8NCk+PjNdKkI7aFtv
KyhtPDw0KSs4Pj4zXT0raFtRKzI0Pj4zXStrKkM7bT1tKzF8MH1kbyBpZih2KXtpZih3Jih0fDAp
PT0wPyhXSihqLDU4KXwwKSE9MDowKWlmKChfdChlLG8sail8MCk+MSl7Y1t6Pj4yXT1EbihmKXww
O19sKDMsOTEzNDgseil8MDtpPTB9ZWxzZSBpPTA7R0QoZSxjWzQyMzMwXXwwLEssaSYyNTUpO2lm
KCF5KWF6KGUsZil9ZWxzZXtpZigheCl7aWYoKHR8MCk9PTA/KGN1KGUsbyxqLDEpfDApPjE6MCl7
Y1tBPj4yXT1EbihmKXwwO19sKDMsOTEzNDgsQSl8MH1IRChlLGNbNDIzMzBdfDAsSywwKTticmVh
a31pZighcCl7QkQoZSwxMjIxNzEpO0hEKGUsY1s0MjMzMF18MCxLLGkmMjU1KTtCRChlLHMpO0tE
KGUsKGNbNDIzMzBdfDApKzMyfDAsMik7YnJlYWt9aT1pJjI1NTtpZihxKXtIRChlLG8sSyxpKTti
cmVha31lbHNle3l5KGUsbyxLLEQsaSk7YnJlYWt9fXdoaWxlKDApO3Q9dCsxfDA7aT0wfW09Y1so
Y1tJPj4yXXwwKSs4Pj4yXXwwO2lmKCEoYVttKzEyPj4wXXwwKSl7bT1JbShmLDkzODQ3KXwwO2lm
KG18MD9hW20+PjBdfDA6MCl7bz1tO0U9NjV9fWVsc2V7bT1jW20+PjJdfDA7aWYoKGFbbT4+MF18
MCk9PTk5Pyh4SihtLDkwNTUzKXwwKT09MDowKXttPUltKGYsOTA1NjApfDA7aWYobXwwP2FbbT4+
MF18MDowKXtvPW07RT02NX19ZWxzZXtvPW07RT02NX19aWYoKEV8MCk9PTY1KXtuPWNbNDIzMzBd
fDA7bT0wO3doaWxlKDEpe2lmKChtfDApPj0oS3wwKSlicmVhaztrPStoW0YrKG08PDQpKzg+PjNd
O1I9Y1tJPj4yXXwwO2hbbisobTw8NCk+PjNdPStoW1IrMTY+PjNdKyAraFtGKyhtPDw0KT4+M10q
QjtoW24rKG08PDQpKzg+PjNdPStoW1IrMjQ+PjNdK2sqQzttPW0rMXwwfW09aSYyNTU7ZG8gaWYo
ISh1fGk8PDI0Pj4yND09MCkpe2lmKHYpe2lmKHcmKHR8MCk9PTA/KFdKKGosNTgpfDApIT0wOjAp
aWYoKF90KGUsbixqKXwwKT4xKXtjW0c+PjJdPURuKGYpfDA7X2woMyw5MTM0OCxHKXwwO2k9MH1l
bHNlIGk9MDtHRChlLGNbNDIzMzBdfDAsSyxpJjI1NSk7aWYoeSlicmVhaztheihlLGYpO2JyZWFr
fWlmKHgpaWYoIShEJjEyKSl7SEQoZSxuLEssbSk7YnJlYWt9ZWxzZXt5eShlLG4sSyxELG0pO2Jy
ZWFrfWVsc2V7aWYoKGN1KGUsbixqLDEpfDApPjEpe2NbSD4+Ml09RG4oZil8MDtfbCgzLDkxMzQ4
LEgpfDB9SEQoZSxjWzQyMzMwXXwwLEssMCk7YnJlYWt9fXdoaWxlKDApO1I9Y1s0MjMzMF18MDtN
RChlLG8sUixLLGksRkEoZixjWzQyMjEwXXwwLDEyMjEwMCl8MCl9X0koY1tMPj4yXXwwKTtwdyhl
LDEwLGNbKGNbST4+Ml18MCkrMTA0Pj4yXXwwKTtpZihKKXtpZihjW2UrMTUyPj4yXSY0fDApd0Qo
ZSxjW04+PjJdfDAsY1tNKzIyOD4+Ml18MCxjW00rMjQ0Pj4yXXwwLGNbTSsyMTI+PjJdfDApO3hE
KGUpfWw9UDtyZXR1cm59ZnVuY3Rpb24gWnkoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxn
PTAsaD0wO2g9bDtsPWwrMTZ8MDtmPWg7ZT1keihkLGYpfDA7aWYoZXwwKUZEKGIsZSk7ZT1jWzQy
MjE2XXwwO2lmKChlfDA/KGc9Sm0oZCxlKXwwLGd8MCk6MCk/YVtnPj4wXXwwOjApT0QoYiwrRUEo
ZCxjWzQyMjE2XXwwLDEuMCwwLjApKTtsPWg7cmV0dXJuIGNbZj4+Ml18MH1mdW5jdGlvbiBfeShh
KXthPWF8MDtyZXR1cm4gY3ooYSwxMTk1OTIpfDB9ZnVuY3Rpb24gJHkoYixkKXtiPWJ8MDtkPWR8
MDtkPUdBKGQsY1s0MjE5Ml18MCwxNzQxODEpfDA7ZD1hW2Q+PjBdfDA/ZDoxMjIxMDY7QkQoYixk
KTtyZXR1cm4gZHwwfWZ1bmN0aW9uIGF6KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0w
LjAsZz0wLGk9MC4wLGo9MCxrPTAsbT0wO2Q9bDtsPWwrOTZ8MDtqPWQrODB8MDtrPWQrNjR8MDtl
PWQrMzJ8MDttPWQrMTZ8MDtnPWQ7Yj1jW2IrMTY+PjJdfDA7Zj0raFtiKzgwPj4zXTtoW20rOD4+
M109ZiouMzc1O2k9K2hbYis5Nj4+M107aFttPj4zXT1pKi42NjE0O2I9YisxNnwwO2Nbaz4+Ml09
Y1ttPj4yXTtjW2srND4+Ml09Y1ttKzQ+PjJdO2Nbays4Pj4yXT1jW20rOD4+Ml07Y1trKzEyPj4y
XT1jW20rMTI+PjJdO2Nbaj4+Ml09Y1tiPj4yXTtjW2orND4+Ml09Y1tiKzQ+PjJdO2Nbais4Pj4y
XT1jW2IrOD4+Ml07Y1tqKzEyPj4yXT1jW2IrMTI+PjJdO2J6KGcsayxqKTtjW2U+PjJdPWNbZz4+
Ml07Y1tlKzQ+PjJdPWNbZys0Pj4yXTtjW2UrOD4+Ml09Y1tnKzg+PjJdO2NbZSsxMj4+Ml09Y1tn
KzEyPj4yXTtnPWUrOHwwO2I9ZSsyNHwwO2hbYj4+M109K2hbZz4+M107aFtlKzE2Pj4zXT0raFtl
Pj4zXS1pKjEuMzIyODtLRChhLGUsMik7Zj0raFtnPj4zXS1mKi43NTtoW2c+PjNdPWY7aFtiPj4z
XT1mO0tEKGEsZSwyKTtsPWQ7cmV0dXJufWZ1bmN0aW9uIGJ6KGEsYixjKXthPWF8MDtiPWJ8MDtj
PWN8MDt2YXIgZD0wLjA7ZD0raFtjKzg+PjNdKyAraFtiKzg+PjNdO2hbYT4+M109K2hbYz4+M10r
ICtoW2I+PjNdO2hbYSs4Pj4zXT1kO3JldHVybn1mdW5jdGlvbiBjeihiLGQpe2I9YnwwO2Q9ZHww
O3ZhciBlPTA7ZT1HQShiLGNbNDIxOTNdfDAsMTc0MTgxKXwwO2lmKCEoYVtlPj4wXXwwKSl7ZT1H
QShiLGNbNDIxOTJdfDAsMTc0MTgxKXwwO3JldHVybiAoKGFbZT4+MF18MCk9PTA/ZDplKXwwfWVs
c2UgcmV0dXJuIGV8MDtyZXR1cm4gMH1mdW5jdGlvbiBkeihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBl
PTAsZj0wLGc9MCxoPTAsaT0wLGo9MDtlPUdBKGIsY1s0MjIwMV18MCwxNzQxODEpfDA7YTpkbyBp
ZighKGFbZT4+MF18MCkpe2c9MDtlPTB9ZWxzZXtnPUR1KGUpfDA7aD1nO2U9MDtiOndoaWxlKDEp
e2Y9Y1toPj4yXXwwO2lmKCFmKWJyZWFrIGE7c3dpdGNoKGFbZj4+MF18MCl7Y2FzZSAxMDI6e2lm
KCEoeEooZiw5NTkyMyl8MCkpe2g9aCs0fDA7ZT1lfDE7Y29udGludWUgYn1icmVha31jYXNlIDEx
NDp7aWYoISh4SihmLDkxMzYwKXwwKSl7Zj1oO2Rve2o9ZjtmPWYrNHwwO2k9Y1tmPj4yXXwwO2Nb
aj4+Ml09aX13aGlsZSgoaXwwKSE9MCk7aj1oO2U9ZXw0O2g9ajtjb250aW51ZSBifWlmKCEoeEoo
Ziw5MTM3OCl8MCkpe2Y9aDtkb3tpPWY7Zj1mKzR8MDtqPWNbZj4+Ml18MDtjW2k+PjJdPWp9d2hp
bGUoKGp8MCkhPTApO2o9aDtlPWV8MztoPWo7Y29udGludWUgYn1icmVha31jYXNlIDEwMDp7aWYo
ISh4SihmLDkxMzY4KXwwKSl7Zj1oO2Rve2k9ZjtmPWYrNHwwO2o9Y1tmPj4yXXwwO2NbaT4+Ml09
an13aGlsZSgoanwwKSE9MCk7aj1oO2U9ZXw4O2g9ajtjb250aW51ZSBifWJyZWFrfWNhc2UgMTA1
OntpZighKHhKKGYsMTE5MTI3KXwwKSl7aD1oKzR8MDtlPWV8MzI7Y29udGludWUgYn1icmVha31j
YXNlIDExNTp7aWYoKHhKKGYsOTEzODUpfDApPT0wP2V6KGIpfDA6MCl7Zj1oO2Rve2k9ZjtmPWYr
NHwwO2o9Y1tmPj4yXXwwO2NbaT4+Ml09an13aGlsZSgoanwwKSE9MCk7aj1oO2U9ZXw2NDtoPWo7
Y29udGludWUgYn1icmVha31jYXNlIDExOTp7aWYoKHhKKGYsOTEzOTMpfDApPT0wP2Z6KGIpfDA6
MCl7Zj1oO2Rve2k9ZjtmPWYrNHwwO2o9Y1tmPj4yXXwwO2NbaT4+Ml09an13aGlsZSgoanwwKSE9
MCk7aj1oO2U9ZXw1MTI7aD1qO2NvbnRpbnVlIGJ9YnJlYWt9ZGVmYXVsdDp7fX1oPWgrNHwwfX13
aGlsZSgwKTtmPWNbKGNbKGNbYisxNj4+Ml18MCkrOD4+Ml18MCkrOD4+Ml18MDtpZihmKWU9Y1tm
KzQwPj4yXXxlO2NbZD4+Ml09ZTtyZXR1cm4gZ3wwfWZ1bmN0aW9uIGV6KGEpe2E9YXwwO3ZhciBi
PTAuMDthPWNbKGNbKGNbYSsxNj4+Ml18MCkrOD4+Ml18MCkrOD4+Ml18MDtpZigoKChhfDApIT0w
PyhjW2ErOD4+Ml18MCk9PTQ6MCk/KGI9K2hbYSsxNj4+M10sKCh+fihiKyhiPj0wLjA/LjU6LS41
KSl8MCklOTB8MHwwKT09MCk6MCk/K2hbYSsyND4+M109PTAuMDowKWE9K2hbYSszMj4+M109PTAu
MCYxO2Vsc2UgYT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gZnooYSl7YT1hfDA7YT1jWyhjWyhjW2Er
MTY+PjJdfDApKzg+PjJdfDApKzg+PjJdfDA7aWYoIWEpYT0wO2Vsc2UgYT0oY1thKzg+PjJdfDAp
PDMmMTtyZXR1cm4gYXwwfWZ1bmN0aW9uIGd6KGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9
ZHwwO3ZhciBlPTAuMCxmPTAuMCxnPTAuMCxpPTAuMDtpPStoW2MrOD4+M107Zz0tKCtoW2QrOD4+
M10taSk7Zj0raFtjPj4zXTtlPStoW2Q+PjNdLWY7Zj1lKmkrZipnO3JldHVybiAoK2hbYSs4Pj4z
XSplKyAraFthPj4zXSpnLWY+PTAuMF4raFtiPj4zXSpnLWYrICtoW2IrOD4+M10qZT49MC4wXjEp
JjF8MH1mdW5jdGlvbiBoeihiLGQsZSxmLGcsaSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1n
fDA7aT1pfDA7dmFyIGo9MC4wLGs9MC4wLG09MCxuPTAsbz0wLHA9MCxxPTAuMCxyPTAuMCxzPTAu
MCx0PTAuMCx1PTAuMCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0w
LEc9MCxIPTA7Rz1sO2w9bCsxOTJ8MDtCPUcrMTc2fDA7RT1HKzE2MHwwO209RysxNDR8MDt6PUcr
MTI4fDA7QT1HKzExMnwwO249Rys5NnwwO289Rys4MHwwO3A9Rys2NHwwO3Y9Rys0OHwwO3c9Rysz
MnwwO3g9RysxNnwwO0Q9RztpZighZCl7Y1tFPj4yXT0wO2NbRSs0Pj4yXT0wO2NbRSs4Pj4yXT0w
O2NbRSsxMj4+Ml09MDttPShjWyhjWyhybyhiKXwwKSsxNj4+Ml18MCkrMTE2Pj4yXSYxfDApPT0w
O0M9Y1tiKzE2Pj4yXXwwO3E9K2hbQys4MD4+M10qLjU7aj0raFtDKzg4Pj4zXTt0PW0/cTpqO3E9
bT9qOnE7bT0wO0M9RTtqPTAuMDtrPS1xO3I9dDtGPUUrOHwwO3M9MC4wO3Q9LXR9ZWxzZXtrPSto
W2Q+PjNdO3Q9K2hbZCs4Pj4zXTtxPStoW2QrMTY+PjNdO3I9K2hbZCsyND4+M107SXkobSwocStr
KSouNSwocit0KSouNSk7Y1tFPj4yXT1jW20+PjJdO2NbRSs0Pj4yXT1jW20rND4+Ml07Y1tFKzg+
PjJdPWNbbSs4Pj4yXTtjW0UrMTI+PjJdPWNbbSsxMj4+Ml07SD1FKzh8MDttPTE7Qz1FO2o9K2hb
RT4+M107Rj1IO3M9K2hbSD4+M119dT0ocT5yP3E6cikqNC4wO2E6ZG8gaWYoKGZ8MCkhPTA/KHk9
YVtmPj4wXXwwLHk8PDI0Pj4yNCE9MCk6MCl7Zj1mKzF8MDtzd2l0Y2goeTw8MjQ+PjI0fDApe2Nh
c2UgOTk6e3A9MTtnPTA7Zj0wO249MDtqPTAuMDtvPTA7YnJlYWsgYX1jYXNlIDEwMTp7aWYoYVtm
Pj4wXXwwKXtwPTE7Zz0wO2Y9MDtuPTA7aj0wLjA7bz0xO2JyZWFrIGF9aWYoIWkpaFtDPj4zXT1x
O2Vsc2V7anooeixpLHMsdSk7Y1tFPj4yXT1jW3o+PjJdO2NbRSs0Pj4yXT1jW3orND4+Ml07Y1tF
Kzg+PjJdPWNbeis4Pj4yXTtjW0UrMTI+PjJdPWNbeisxMj4+Ml19cD0wO2c9ZyYyO2Y9MDtuPTE7
aj0wLjA7bz0wO209MTticmVhayBhfWNhc2UgMTE1OntoW0Y+PjNdPXQ7c3dpdGNoKGFbZj4+MF18
MCl7Y2FzZSAwOntpZighaSloW0M+PjNdPWo7ZWxzZXtqeihBLGksLXUsaik7Y1tFPj4yXT1jW0E+
PjJdO2NbRSs0Pj4yXT1jW0ErND4+Ml07Y1tFKzg+PjJdPWNbQSs4Pj4yXTtjW0UrMTI+PjJdPWNb
QSsxMj4+Ml19cD0wO2c9ZyYxO2Y9MDtuPTE7aj0tMS41NzA3OTYzMjY3OTQ4OTY2O289MDttPTE7
YnJlYWsgYX1jYXNlIDEwMTp7aWYoIWkpaFtDPj4zXT1xO2Vsc2V7anoobixpLC11LHUpO2NbRT4+
Ml09Y1tuPj4yXTtjW0UrND4+Ml09Y1tuKzQ+PjJdO2NbRSs4Pj4yXT1jW24rOD4+Ml07Y1tFKzEy
Pj4yXT1jW24rMTI+PjJdfXA9MDtnPWcmMztmPTA7bj0xO2o9LS43ODUzOTgxNjMzOTc0NDgzO289
MDttPTE7YnJlYWsgYX1jYXNlIDExOTp7aWYoIWkpaFtDPj4zXT1rO2Vsc2V7dT0tdTtqeihvLGks
dSx1KTtjW0U+PjJdPWNbbz4+Ml07Y1tFKzQ+PjJdPWNbbys0Pj4yXTtjW0UrOD4+Ml09Y1tvKzg+
PjJdO2NbRSsxMj4+Ml09Y1tvKzEyPj4yXX1wPTA7Zz1nJjk7Zj0wO249MTtqPS0yLjM1NjE5NDQ5
MDE5MjM0NTtvPTA7bT0xO2JyZWFrIGF9ZGVmYXVsdDp7aFtGPj4zXT1zO3A9MTtnPTA7Zj0wO249
MDtqPTAuMDtvPTE7YnJlYWsgYX19fWNhc2UgMTE5OntpZihhW2Y+PjBdfDApe3A9MTtnPTA7Zj0w
O249MDtqPTAuMDtvPTE7YnJlYWsgYX1pZighaSloW0M+PjNdPWs7ZWxzZXtqeihwLGkscywtdSk7
Y1tFPj4yXT1jW3A+PjJdO2NbRSs0Pj4yXT1jW3ArND4+Ml07Y1tFKzg+PjJdPWNbcCs4Pj4yXTtj
W0UrMTI+PjJdPWNbcCsxMj4+Ml19cD0wO2c9ZyY4O2Y9MDtuPTE7aj0zLjE0MTU5MjY1MzU4OTc5
MztvPTA7bT0xO2JyZWFrIGF9Y2FzZSAxMTA6e2hbRj4+M109cjtzd2l0Y2goYVtmPj4wXXwwKXtj
YXNlIDA6e2lmKCFpKWhbQz4+M109ajtlbHNle2p6KHYsaSx1LGopO2NbRT4+Ml09Y1t2Pj4yXTtj
W0UrND4+Ml09Y1t2KzQ+PjJdO2NbRSs4Pj4yXT1jW3YrOD4+Ml07Y1tFKzEyPj4yXT1jW3YrMTI+
PjJdfXA9MDtnPWcmNDtmPTA7bj0xO2o9MS41NzA3OTYzMjY3OTQ4OTY2O289MDttPTE7YnJlYWsg
YX1jYXNlIDEwMTp7aWYoIWkpaFtDPj4zXT1xO2Vsc2V7anoodyxpLHUsdSk7Y1tFPj4yXT1jW3c+
PjJdO2NbRSs0Pj4yXT1jW3crND4+Ml07Y1tFKzg+PjJdPWNbdys4Pj4yXTtjW0UrMTI+PjJdPWNb
dysxMj4+Ml19cD0wO2c9ZyY2O2Y9MDtuPTE7aj0uNzg1Mzk4MTYzMzk3NDQ4MztvPTA7bT0xO2Jy
ZWFrIGF9Y2FzZSAxMTk6e2lmKCFpKWhbQz4+M109aztlbHNle2p6KHgsaSx1LC11KTtjW0U+PjJd
PWNbeD4+Ml07Y1tFKzQ+PjJdPWNbeCs0Pj4yXTtjW0UrOD4+Ml09Y1t4Kzg+PjJdO2NbRSsxMj4+
Ml09Y1t4KzEyPj4yXX1wPTA7Zz1nJjEyO2Y9MDtuPTE7aj0yLjM1NjE5NDQ5MDE5MjM0NTtvPTA7
bT0xO2JyZWFrIGF9ZGVmYXVsdDp7aFtGPj4zXT1zO3A9MTtnPTA7Zj0wO249MDtqPTAuMDtvPTE7
YnJlYWsgYX19fWNhc2UgOTU6e3A9MTtmPTE7bj0wO2o9MC4wO289MDticmVhayBhfWRlZmF1bHQ6
e3A9MTtnPTA7Zj0wO249MDtqPTAuMDtvPTE7YnJlYWsgYX19fWVsc2V7cD0xO2c9MDtmPTA7bj0w
O2o9MC4wO289MH13aGlsZSgwKTtIPShjWyhjWyhybyhiKXwwKSsxNj4+Ml18MCkrMTE2Pj4yXSYz
KSo5MHwwO2NbQj4+Ml09Y1tFPj4yXTtjW0IrND4+Ml09Y1tFKzQ+PjJdO2NbQis4Pj4yXT1jW0Ur
OD4+Ml07Y1tCKzEyPj4yXT1jW0UrMTI+PjJdOyR2KEQsQixIKTtjW0U+PjJdPWNbRD4+Ml07Y1tF
KzQ+PjJdPWNbRCs0Pj4yXTtjW0UrOD4+Ml09Y1tEKzg+PjJdO2NbRSsxMj4+Ml09Y1tEKzEyPj4y
XTtpZighKGY8PDI0Pj4yNCkpZz1reihnLGNbKGNbKHJvKGIpfDApKzE2Pj4yXXwwKSsxMTY+PjJd
JjMpfDA7YVtlKzMzPj4wXT1nO2NbZSsyND4+Ml09ZDtrPStoW0M+PjNdO2hbZT4+M109Kyh+fihr
KyhrPj0wLjA/LjU6LS41KSl8MCk7az0raFtGPj4zXTtoW2UrOD4+M109Kyh+fihrKyhrPj0wLjA/
LjU6LS41KSl8MCk7aFtlKzE2Pj4zXT0rbHooaixjWyhjWyhybyhiKXwwKSsxNj4+Ml18MCkrMTE2
Pj4yXSYzKTtrPStoW0M+PjNdO2o9K2hbRj4+M107aWYoaz09MC4wJmo9PTAuMClnPS0xMjg7ZWxz
ZXt1PStLKCtqLCtrKTt0PXUrNC43MTIzODg5ODAzODQ2OTtnPX5+KCghKHQ+PTYuMjgzMTg1MzA3
MTc5NTg2KT90OnUrLTEuNTcwNzk2MzI2Nzk0ODk2NikqNDAuNzQzNjY1NDMxNTI1MjEpJjI1NX1h
W2UrMzI+PjBdPWc7YVtlKzI5Pj4wXT1uO2FbZSsyOD4+MF09bTthW2UrMzA+PjBdPXA7YVtlKzMx
Pj4wXT1mO2w9RztyZXR1cm4gb3wwfWZ1bmN0aW9uIGl6KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9
MCxlPTA7ZD1sO2w9bCsxNnwwO2U9ZDtjW2U+PjJdPURuKGEpfDA7Y1tlKzQ+PjJdPWI7X2woMCw5
MTQ2MyxlKXwwO2w9ZDtyZXR1cm59ZnVuY3Rpb24ganooYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD0r
ZDtlPStlO3ZhciBmPTAsZz0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTA7cD1sO2w9
bCsxMjh8MDtnPXArMTEyfDA7aj1wKzQ4fDA7az1wKzE2fDA7bT1wKzMyfDA7bj1wO289Y1tiPj4y
XXwwO2k9Y1soY1socm8obyl8MCkrMTY+PjJdfDApKzExNj4+Ml0mMztoW2s+PjNdPWU7aFtrKzg+
PjNdPWQ7Zj0oaXwwKSE9MDtpZihmKXtjW2c+PjJdPWNbaz4+Ml07Y1tnKzQ+PjJdPWNbays0Pj4y
XTtjW2crOD4+Ml09Y1trKzg+PjJdO2NbZysxMj4+Ml09Y1trKzEyPj4yXTskdihtLGcsaSo5MHww
KTtjW2s+PjJdPWNbbT4+Ml07Y1trKzQ+PjJdPWNbbSs0Pj4yXTtjW2srOD4+Ml09Y1ttKzg+PjJd
O2NbaysxMj4+Ml09Y1ttKzEyPj4yXX1tPWorNDh8MDtxPWorMzJ8MDtjW2o+PjJdPTA7Y1tqKzQ+
PjJdPTA7Y1tqKzg+PjJdPTA7Y1tqKzEyPj4yXT0wO2NbaisxNj4+Ml09MDtjW2orMjA+PjJdPTA7
Y1tqKzI0Pj4yXT0wO2NbaisyOD4+Ml09MDtjW3E+PjJdPWNbaz4+Ml07Y1txKzQ+PjJdPWNbays0
Pj4yXTtjW3ErOD4+Ml09Y1trKzg+PjJdO2NbcSsxMj4+Ml09Y1trKzEyPj4yXTtjW20+PjJdPWNb
az4+Ml07Y1ttKzQ+PjJdPWNbays0Pj4yXTtjW20rOD4+Ml09Y1trKzg+PjJdO2NbbSsxMj4+Ml09
Y1trKzEyPj4yXTtGeihiLGNbKGNbKGNbKGNbbysxNj4+Ml18MCkrOD4+Ml18MCkrND4+Ml18MCkr
MTI+PjJdfDAsaiwxKTtpZihmKXtjW2c+PjJdPWNbaj4+Ml07Y1tnKzQ+PjJdPWNbais0Pj4yXTtj
W2crOD4+Ml09Y1tqKzg+PjJdO2NbZysxMj4+Ml09Y1tqKzEyPj4yXTthdyhuLGcsaSo5MHwwKTtj
W2o+PjJdPWNbbj4+Ml07Y1tqKzQ+PjJdPWNbbis0Pj4yXTtjW2orOD4+Ml09Y1tuKzg+PjJdO2Nb
aisxMj4+Ml09Y1tuKzEyPj4yXX07Y1thPj4yXT1jW2o+PjJdO2NbYSs0Pj4yXT1jW2orND4+Ml07
Y1thKzg+PjJdPWNbais4Pj4yXTtjW2ErMTI+PjJdPWNbaisxMj4+Ml07bD1wO3JldHVybn1mdW5j
dGlvbiBreihhLGIpe2E9YXwwO2I9YnwwO2E6ZG8gc3dpdGNoKGJ8MCl7Y2FzZSAzOnN3aXRjaChh
fDApe2Nhc2UgNDp7YT0yO2JyZWFrIGF9Y2FzZSAxOnthPTg7YnJlYWsgYX1jYXNlIDg6e2E9MTti
cmVhayBhfWNhc2UgMjp7YT00O2JyZWFrIGF9ZGVmYXVsdDpicmVhayBhfWNhc2UgMjpzd2l0Y2go
YXwwKXtjYXNlIDQ6e2E9MTticmVhayBhfWNhc2UgMTp7YT00O2JyZWFrIGF9ZGVmYXVsdDpicmVh
ayBhfWNhc2UgMTpzd2l0Y2goYXwwKXtjYXNlIDQ6e2E9MjticmVhayBhfWNhc2UgMTp7YT04O2Jy
ZWFrIGF9Y2FzZSA4OnthPTQ7YnJlYWsgYX1jYXNlIDI6e2E9MTticmVhayBhfWRlZmF1bHQ6YnJl
YWsgYX1kZWZhdWx0Ont9fXdoaWxlKDApO3JldHVybiBhfDB9ZnVuY3Rpb24gbHooYSxiKXthPSth
O2I9YnwwO3N3aXRjaChifDApe2Nhc2UgMzp7aWYoIShhPT0zLjE0MTU5MjY1MzU4OTc5MykpaWYo
IShhPT0yLjM1NjE5NDQ5MDE5MjM0NSkpaWYoIShhPT0xLjU3MDc5NjMyNjc5NDg5NjYpKWlmKCEo
YT09MC4wKSlpZighKGE9PS0uNzg1Mzk4MTYzMzk3NDQ4Mykpe2lmKGE9PS0xLjU3MDc5NjMyNjc5
NDg5NjYpYT0zLjE0MTU5MjY1MzU4OTc5M31lbHNlIGE9Mi4zNTYxOTQ0OTAxOTIzNDU7ZWxzZSBh
PTEuNTcwNzk2MzI2Nzk0ODk2NjtlbHNlIGE9MC4wO2Vsc2UgYT0tLjc4NTM5ODE2MzM5NzQ0ODM7
ZWxzZSBhPS0xLjU3MDc5NjMyNjc5NDg5NjY7YnJlYWt9Y2FzZSAyOnthPS1hO2JyZWFrfWNhc2Ug
MTp7YT1hKy0xLjU3MDc5NjMyNjc5NDg5NjY7YnJlYWt9ZGVmYXVsdDp7fX1yZXR1cm4gK2F9ZnVu
Y3Rpb24gbXooYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLjAsZT0wLGY9MC4wLGc9MC4wLGk9MCxq
PTAsaz0wO2U9bDtsPWwrMzJ8MDtrPWUrMTZ8MDtpPWU7YT1jW2E+PjJdfDA7aj0oY1soY1socm8o
YSl8MCkrMTY+PjJdfDApKzExNj4+Ml0mMykqOTB8MDtjW2s+PjJdPWNbYj4+Ml07Y1trKzQ+PjJd
PWNbYis0Pj4yXTtjW2srOD4+Ml09Y1tiKzg+PjJdO2NbaysxMj4+Ml09Y1tiKzEyPj4yXTthdyhp
LGssaik7ZD0raFtpPj4zXTtnPStoW2krOD4+M107YT1jW2ErMTY+PjJdfDA7Zj0raFthKzgwPj4z
XSouNTtpZighKCEoZz49LWYpfCEoZzw9ZikpP2Q+PS0raFthKzg4Pj4zXTowKWE9ZDw9K2hbYSs5
Nj4+M10mMTtlbHNlIGE9MDtsPWU7cmV0dXJuIGF8MH1mdW5jdGlvbiBueihhLGQpe2E9YXwwO2Q9
ZHwwO3ZhciBlPTAsZj0wLGc9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAuMDtuPWw7bD1s
KzMyfDA7bT1uO2k9Y1thKzE2Pj4yXXwwO2o9aSsyMDh8MDtnPWNbaj4+Ml18MDtpZighZylrPShi
W2krMjYwPj4xXSYxKSE9MDtlbHNlIGs9MTtlPWQrMTZ8MDtkPWNbZT4+Ml18MDtmPWNbZCsxMj4+
Ml18MDtpZihmfDApe2lmKGs/KGNbYSsxNTI+PjJdJjR8MCk9PTA6MCl7d0QoYSxnLGNbaSsyMjg+
PjJdfDAsY1tpKzI0ND4+Ml18MCxjW2krMjEyPj4yXXwwKTtkPWNbZT4+Ml18MH1nPWNbYSszNj4+
Ml18MDtwPStoW2QrMjQ+PjNdKyArKGNbZis4Pj4yXXwwKTtvPWNbZj4+Ml18MDtoW20+PjNdPSto
W2QrMTY+PjNdKyArKGNbZis0Pj4yXXwwKTtoW20rOD4+M109cDtjW20rMTY+PjJdPW87ekwoZyw5
MTQ5NCxtKXwwO2c9Y1tlPj4yXXwwO209KGNbZysxMDQ+PjJdfDApKzU2fDA7Zz1nKzE2fDA7Y1tt
Pj4yXT1jW2c+PjJdO2NbbSs0Pj4yXT1jW2crND4+Ml07Y1ttKzg+PjJdPWNbZys4Pj4yXTtjW20r
MTI+PjJdPWNbZysxMj4+Ml07cHcoYSwxMCxjWyhjW2U+PjJdfDApKzEwND4+Ml18MCk7aWYoayl7
aWYoY1thKzE1Mj4+Ml0mNHwwKXdEKGEsY1tqPj4yXXwwLGNbaSsyMjg+PjJdfDAsY1tpKzI0ND4+
Ml18MCxjW2krMjEyPj4yXXwwKTt4RChhKX19bD1uO3JldHVybn1mdW5jdGlvbiBveihhKXthPWF8
MDtMeShjWyhjW2ErMTY+PjJdfDApKzEyPj4yXXwwKTtyZXR1cm59ZnVuY3Rpb24gcHooYixlLGYs
Zyl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0wLGs9MCxtPTA7bT1sO2w9
bCs2NHwwO2s9bSs0MHwwO2g9bTtpZighKGFbZj4+MF18MCkpe2g9NDE0NDtnPWIrNDB8MDtkb3tj
W2I+PjJdPWNbaD4+Ml07Yj1iKzR8MDtoPWgrNHwwfXdoaWxlKChifDApPChnfDApKX1lbHNle2c9
KGd8MCk9PTA/OTE0MDA6ZztpPWNbKGNbZSsxNj4+Ml18MCkrMTI+PjJdfDA7aj12eihpLGYpfDA7
aWYoIWope2lmKGh6KGUsaSsxNnwwLGgsZiwxNSwwKXwwKWl6KGUsZil9ZWxzZSBpZihoeihlLGor
MTZ8MCxoLGcsZFtqKzY1Pj4wXXwwLDApfDApe2Nbaz4+Ml09RG4oZSl8MDtjW2srND4+Ml09Zjtj
W2srOD4+Ml09ZztfbCgwLDkxNDAyLGspfDB9Zz1iKzQwfDA7ZG97Y1tiPj4yXT1jW2g+PjJdO2I9
Yis0fDA7aD1oKzR8MH13aGlsZSgoYnwwKTwoZ3wwKSl9bD1tO3JldHVybn1mdW5jdGlvbiBxeihh
LGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAuMCxlPTAuMCxmPTAsZz0wLGk9MCxqPTAuMCxrPTAsbT0w
LG49MC4wO2s9bDtsPWwrMzJ8MDttPWsrMTZ8MDtpPWs7Zj1jW2ErND4+Ml18MDthPWNbYT4+Ml18
MDtnPShjWyhjWyhybyhhKXwwKSsxNj4+Ml18MCkrMTE2Pj4yXSYzKSo5MHwwO2NbbT4+Ml09Y1ti
Pj4yXTtjW20rND4+Ml09Y1tiKzQ+PjJdO2NbbSs4Pj4yXT1jW2IrOD4+Ml07Y1ttKzEyPj4yXT1j
W2IrMTI+PjJdO2F3KGksbSxnKTtjW2I+PjJdPWNbaT4+Ml07Y1tiKzQ+PjJdPWNbaSs0Pj4yXTtj
W2IrOD4+Ml09Y1tpKzg+PjJdO2NbYisxMj4+Ml09Y1tpKzEyPj4yXTtpZighZil7Zj1jWyhjW2Er
MTY+PjJdfDApKzEyPj4yXXwwO2c9ZisxNnwwO2E9ZisyNHwwO2k9ZiszMnwwO2Y9Zis0MHwwfWVs
c2V7Zz1mO2E9Zis4fDA7aT1mKzE2fDA7Zj1mKzI0fDB9ZT0raFthPj4zXTtkPStoW2Y+PjNdO249
K2hbYj4+M107aWYoKCtoW2c+PjNdPD1uP248PStoW2k+PjNdOjApPyhqPStoW2IrOD4+M10sZTw9
aik6MClhPWo8PWQmMTtlbHNlIGE9MDtsPWs7cmV0dXJuIGF8MH1mdW5jdGlvbiByeihiLGQsZSxm
LGcpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO3ZhciBpPTAuMCxqPTAuMCxrPTAsbT0w
LG49MCxvPTAscD0wLHE9MCxyPTAscz0wLjAsdD0wLHU9MCx2PTAuMDt1PWw7bD1sKzgwfDA7cj11
KzY0fDA7cT11KzMyfDA7dD11O2E6ZG8gaWYoIShhW2QrMjg+PjBdfDApKWU9MDtlbHNle2k9K2hb
ZD4+M107cD1iKzE2fDA7bT1jWyhjW3A+PjJdfDApKzEyPj4yXXwwO2s9bSs0OHwwO209bSs1Nnww
O2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGNbaz4+Ml18MCkpYnJlYWsgYTtuPShjWyhjWyhybyhi
KXwwKSsxNj4+Ml18MCkrMTE2Pj4yXSYxfDApPT0wO289Y1soY1ttPj4yXXwwKSsoZDw8Mik+PjJd
fDA7aj0rKH5+K2hbKG4/bysxNnwwOm8rMjR8MCk+PjNdfDApO2lmKGk+PWo/KHM9Kyh+fitoWyhu
P28rMzJ8MDpvKzQwfDApPj4zXXwwKSxpPD1zKTowKWJyZWFrO2Q9ZCsxfDB9aWYoIShjWyhjWyhy
byhiKXwwKSsxNj4+Ml18MCkrMTE2Pj4yXSYxKSl7dD1jW3A+PjJdfDA7dj0raFt0KzE2Pj4zXTto
W2Y+PjNdPXYrajtqPStoW3QrMjQ+PjNdO2k9K2hbdCs4MD4+M107aFtmKzg+PjNdPWotaSouNTto
W2YrMTY+PjNdPXYrc31lbHNle289KGNbKGNbbT4+Ml18MCkrKGQ8PDIpPj4yXXwwKSsxNnwwO2I9
KGNbcD4+Ml18MCkrMTZ8MDtjW3E+PjJdPWNbbz4+Ml07Y1txKzQ+PjJdPWNbbys0Pj4yXTtjW3Er
OD4+Ml09Y1tvKzg+PjJdO2NbcSsxMj4+Ml09Y1tvKzEyPj4yXTtjW3ErMTY+PjJdPWNbbysxNj4+
Ml07Y1txKzIwPj4yXT1jW28rMjA+PjJdO2NbcSsyND4+Ml09Y1tvKzI0Pj4yXTtjW3ErMjg+PjJd
PWNbbysyOD4+Ml07Y1tyPj4yXT1jW2I+PjJdO2Nbcis0Pj4yXT1jW2IrND4+Ml07Y1tyKzg+PjJd
PWNbYis4Pj4yXTtjW3IrMTI+PjJdPWNbYisxMj4+Ml07YncodCxxLHIpO2NbZj4+Ml09Y1t0Pj4y
XTtjW2YrND4+Ml09Y1t0KzQ+PjJdO2NbZis4Pj4yXT1jW3QrOD4+Ml07Y1tmKzEyPj4yXT1jW3Qr
MTI+PjJdO2NbZisxNj4+Ml09Y1t0KzE2Pj4yXTtjW2YrMjA+PjJdPWNbdCsyMD4+Ml07Y1tmKzI0
Pj4yXT1jW3QrMjQ+PjJdO2NbZisyOD4+Ml09Y1t0KzI4Pj4yXTt0PWNbcD4+Ml18MDtpPStoW3Qr
ODA+PjNdO2o9K2hbdCsyND4+M119aFtmKzI0Pj4zXT1pKi41K2o7Y1tnPj4yXT0xfXdoaWxlKDAp
O2w9dTtyZXR1cm4gZXwwfWZ1bmN0aW9uIHN6KGQsZSl7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxpPTAs
aj0wLGs9MC4wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0w
LjA7dz1sO2w9bCsxNDR8MDtuPXcrOTZ8MDtwPXcrNjR8MDtyPXc7cz13KzEyOHwwO3Q9Y1tkKzE2
Pj4yXXwwO3U9dCsyMDh8MDtmPWNbdT4+Ml18MDtpZighZil2PShiW3QrMjYwPj4xXSYxKSE9MDtl
bHNlIHY9MTttPWUrMTZ8MDtxPWNbbT4+Ml18MDtvPWNbcSsxMj4+Ml18MDtqPW8rMTZ8MDtjW3A+
PjJdPWNbaj4+Ml07Y1twKzQ+PjJdPWNbais0Pj4yXTtjW3ArOD4+Ml09Y1tqKzg+PjJdO2NbcCsx
Mj4+Ml09Y1tqKzEyPj4yXTtjW3ArMTY+PjJdPWNbaisxNj4+Ml07Y1twKzIwPj4yXT1jW2orMjA+
PjJdO2NbcCsyND4+Ml09Y1tqKzI0Pj4yXTtjW3ArMjg+PjJdPWNbaisyOD4+Ml07eD0raFtxKzE2
Pj4zXTtoW3A+PjNdPStoW3A+PjNdK3g7az0raFtxKzI0Pj4zXTtxPXArOHwwO2hbcT4+M109K2hb
cT4+M10raztxPXArMTZ8MDtoW3E+PjNdPStoW3E+PjNdK3g7aj1wKzI0fDA7aFtqPj4zXT0raFtq
Pj4zXStrO2lmKHY/KGNbZCsxNTI+PjJdJjR8MCk9PTA6MCl3RChkLGYsY1t0KzIyOD4+Ml18MCxj
W3QrMjQ0Pj4yXXwwLGNbdCsyMTI+PjJdfDApO2Y9WnkoZCxlKXwwOyR5KGQsZSl8MDtjW3M+PjJd
PTA7aWYoIShmJjEpKWk9MDtlbHNle2k9X3koZSl8MDtpZighKCh4dihpLHMsbil8MCk8PDI0Pj4y
NCkpe0REKGQsaSk7aT0xfWVsc2V7REQoZCxjW3M+PjJdfDApO2k9Y1tzKzQ+PjJdfDA7aj1EQShl
LGNbNDIyMTddfDAsMCwwKXwwO2s9K2dbbj4+Ml07aWYoIWkpRUQoZCwxMjIxMDYsaixrKTtlbHNl
IEVEKGQsaSxqLGspO2k9Zj4+PjEmMXwyfX1qPWNbY1soY1ttPj4yXXwwKSs4Pj4yXT4+Ml18MDtp
ZigoYVtqPj4wXXwwKT09Nzcpe209KHhKKGosOTEyNzEpfDApPT0wO2Y9bT9mfDQ6Zn1pZighKGYm
MjEzMDcwNjQ0NCkpe2Nbbj4+Ml09Y1twPj4yXTtjW24rND4+Ml09Y1twKzQ+PjJdO2Nbbis4Pj4y
XT1jW3ArOD4+Ml07Y1tuKzEyPj4yXT1jW3ArMTI+PjJdO2NbbisxNj4+Ml09Y1twKzE2Pj4yXTtj
W24rMjA+PjJdPWNbcCsyMD4+Ml07Y1tuKzI0Pj4yXT1jW3ArMjQ+PjJdO2NbbisyOD4+Ml09Y1tw
KzI4Pj4yXTtJRChkLG4saSl9ZWxzZXtjW3I+PjJdPWNbcD4+Ml07Y1tyKzQ+PjJdPWNbcCs0Pj4y
XTtjW3IrOD4+Ml09Y1twKzg+PjJdO2NbcisxMj4+Ml09Y1twKzEyPj4yXTtwPXIrMzJ8MDtjW3A+
PjJdPWNbcT4+Ml07Y1twKzQ+PjJdPWNbcSs0Pj4yXTtjW3ArOD4+Ml09Y1txKzg+PjJdO2NbcCsx
Mj4+Ml09Y1txKzEyPj4yXTtoW3IrMTY+PjNdPStoW3A+PjNdO2hbcisyND4+M109K2hbcis4Pj4z
XTtoW3IrNDg+PjNdPStoW3I+PjNdO2hbcis1Nj4+M109K2hbcis0MD4+M107eXkoZCxyLDQsZixp
KX10eihkLGUsbyk7X0koY1tzPj4yXXwwKTtpZih2KXtpZihjW2QrMTUyPj4yXSY0fDApd0QoZCxj
W3U+PjJdfDAsY1t0KzIyOD4+Ml18MCxjW3QrMjQ0Pj4yXXwwLGNbdCsyMTI+PjJdfDApO3hEKGQp
fWw9dztyZXR1cm59ZnVuY3Rpb24gdHooYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAs
Zz0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wO3U9bDts
PWwrMTQ0fDA7cD11KzEyOHwwO289dSsxMTJ8MDtxPXUrMTZ8MDtyPXU7Zz11Kzk2fDA7aT11Kzgw
fDA7cz11KzY0fDA7dD11KzQ4fDA7aj1lKzUyfDA7Zj1jW2o+PjJdfDA7aWYoIWYpZj1kKzE2fDA7
ZWxzZXtuPWYrNTZ8MDttPWUrMTZ8MDtmPWUrMzJ8MDtjW28+PjJdPWNbbT4+Ml07Y1tvKzQ+PjJd
PWNbbSs0Pj4yXTtjW28rOD4+Ml09Y1ttKzg+PjJdO2NbbysxMj4+Ml09Y1ttKzEyPj4yXTtjW3A+
PjJdPWNbZj4+Ml07Y1twKzQ+PjJdPWNbZis0Pj4yXTtjW3ArOD4+Ml09Y1tmKzg+PjJdO2NbcCsx
Mj4+Ml09Y1tmKzEyPj4yXTt1eihnLG8scCk7Zj1kKzE2fDA7bT0oY1tmPj4yXXwwKSsxNnwwO2Nb
bz4+Ml09Y1tnPj4yXTtjW28rND4+Ml09Y1tnKzQ+PjJdO2Nbbys4Pj4yXT1jW2crOD4+Ml07Y1tv
KzEyPj4yXT1jW2crMTI+PjJdO2NbcD4+Ml09Y1ttPj4yXTtjW3ArND4+Ml09Y1ttKzQ+PjJdO2Nb
cCs4Pj4yXT1jW20rOD4+Ml07Y1twKzEyPj4yXT1jW20rMTI+PjJdO2J6KGksbyxwKTtjW24+PjJd
PWNbaT4+Ml07Y1tuKzQ+PjJdPWNbaSs0Pj4yXTtjW24rOD4+Ml09Y1tpKzg+PjJdO2NbbisxMj4+
Ml09Y1tpKzEyPj4yXTtwdyhiLDEwLGNbaj4+Ml18MCk7JHkoYixkKXwwfWs9KGNbZj4+Ml18MCkr
MTZ8MDtjW3I+PjJdPWNbaz4+Ml07Y1tyKzQ+PjJdPWNbays0Pj4yXTtjW3IrOD4+Ml09Y1trKzg+
PjJdO2NbcisxMj4+Ml09Y1trKzEyPj4yXTtrPWUrNDh8MDttPWUrNjR8MDtuPXErMTZ8MDtqPWUr
NTZ8MDtlPXErMTZ8MDtpPTA7d2hpbGUoMSl7aWYoKGl8MCk+PShjW2s+PjJdfDApKWJyZWFrO2lm
KChpfDApPjApe2Y9KGNbaj4+Ml18MCkrKGk8PDIpfDA7Zz1jW2Y+PjJdfDA7aWYoIShhW20+PjBd
fDApKXtnPWcrMzJ8MDtjW24+PjJdPWNbZz4+Ml07Y1tuKzQ+PjJdPWNbZys0Pj4yXTtjW24rOD4+
Ml09Y1tnKzg+PjJdO2NbbisxMj4+Ml09Y1tnKzEyPj4yXTtoW3E+PjNdPStoWyhjW2Y+PjJdfDAp
KzE2Pj4zXTtmPW47Zz0wfWVsc2V7Zz1nKzE2fDA7Y1txPj4yXT1jW2c+PjJdO2NbcSs0Pj4yXT1j
W2crND4+Ml07Y1txKzg+PjJdPWNbZys4Pj4yXTtjW3ErMTI+PjJdPWNbZysxMj4+Ml07aFtlPj4z
XT0raFtxPj4zXTtmPShjW2Y+PjJdfDApKzMyfDA7Zz0xfWhbcSsoZzw8NCkrOD4+M109K2hbZis4
Pj4zXTtjW28+PjJdPWNbcT4+Ml07Y1tvKzQ+PjJdPWNbcSs0Pj4yXTtjW28rOD4+Ml09Y1txKzg+
PjJdO2NbbysxMj4+Ml09Y1txKzEyPj4yXTtjW3A+PjJdPWNbcj4+Ml07Y1twKzQ+PjJdPWNbcis0
Pj4yXTtjW3ArOD4+Ml09Y1tyKzg+PjJdO2NbcCsxMj4+Ml09Y1tyKzEyPj4yXTtieihzLG8scCk7
Y1txPj4yXT1jW3M+PjJdO2NbcSs0Pj4yXT1jW3MrND4+Ml07Y1txKzg+PjJdPWNbcys4Pj4yXTtj
W3ErMTI+PjJdPWNbcysxMj4+Ml07Y1tvPj4yXT1jW24+PjJdO2Nbbys0Pj4yXT1jW24rND4+Ml07
Y1tvKzg+PjJdPWNbbis4Pj4yXTtjW28rMTI+PjJdPWNbbisxMj4+Ml07Y1twPj4yXT1jW3I+PjJd
O2NbcCs0Pj4yXT1jW3IrND4+Ml07Y1twKzg+PjJdPWNbcis4Pj4yXTtjW3ArMTI+PjJdPWNbcisx
Mj4+Ml07YnoodCxvLHApO2Nbbj4+Ml09Y1t0Pj4yXTtjW24rND4+Ml09Y1t0KzQ+PjJdO2Nbbis4
Pj4yXT1jW3QrOD4+Ml07Y1tuKzEyPj4yXT1jW3QrMTI+PjJdO0tEKGIscSwyKX10eihiLGQsY1so
Y1tqPj4yXXwwKSsoaTw8Mik+PjJdfDApO2k9aSsxfDB9bD11O3JldHVybn1mdW5jdGlvbiB1eihh
LGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MC4wO2Q9KCtoW2MrOD4+M10rICtoW2IrOD4+
M10pKi41O2hbYT4+M109KCtoW2M+PjNdKyAraFtiPj4zXSkqLjU7aFthKzg+PjNdPWQ7cmV0dXJu
fWZ1bmN0aW9uIHZ6KGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2U9Y1tiKzYwPj4y
XXwwO2lmKCEoKChlfDApIT0wPyhhW2U+PjBdfDApPT0oYVtkPj4wXXwwKTowKT8oeEooZSxkKXww
KT09MDowKSlmPTQ7YTpkbyBpZigoZnwwKT09NCl7Zz1iKzU2fDA7Zj1jW2IrNDg+PjJdfDA7ZT0w
O3doaWxlKDEpe2lmKChlfDApPj0oZnwwKSl7Yj0wO2JyZWFrIGF9Yj12eihjWyhjW2c+PjJdfDAp
KyhlPDwyKT4+Ml18MCxkKXwwO2lmKCFiKWU9ZSsxfDA7ZWxzZSBicmVha319d2hpbGUoMCk7cmV0
dXJuIGJ8MH1mdW5jdGlvbiB3eihhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTA7ZD1iKzh8MDtoW2Q+
PjNdPStoW2Q+PjNdKjEuMzc1O2NbYT4+Ml09Y1tiPj4yXTtjW2ErND4+Ml09Y1tiKzQ+PjJdO2Nb
YSs4Pj4yXT1jW2IrOD4+Ml07Y1thKzEyPj4yXT1jW2IrMTI+PjJdO3JldHVybn1mdW5jdGlvbiB4
eihhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLjAsZj0wLjAsZz0wLjAsaT0wLjAsaj0wLjAs
az0wLjAsbD0wLjAsbT0wLjA7az0raFtiPj4zXTtmPWsqLjU7bT0raFtiKzg+PjNdO2k9bSouNTto
W2E+PjNdPWY7ZT1tKi40MDkwOTA5MDkwOTA5MDkwNjtoW2ErOD4+M109ZTtoW2ErMTY+PjNdPWY7
Zz1tKi40NTkyNTMwOTA5MDkwOTA5O2hbYSsyND4+M109ZztqPWsqLjI3NTg5MjtoW2ErMzI+PjNd
PWo7aFthKzQwPj4zXT1pO2hbYSs0OD4+M109MC4wO2hbYSs1Nj4+M109aTtrPWsqLS4yNzU4OTI7
aFthKzY0Pj4zXT1rO2hbYSs3Mj4+M109aTtsPS1mO2hbYSs4MD4+M109bDtoW2ErODg+PjNdPWc7
ZD1hKzk2fDA7aFtkPj4zXT1sO2hbYSsxMDQ+PjNdPWU7Yj1hKzExMnwwO2NbYj4+Ml09Y1tkPj4y
XTtjW2IrND4+Ml09Y1tkKzQ+PjJdO2NbYis4Pj4yXT1jW2QrOD4+Ml07Y1tiKzEyPj4yXT1jW2Qr
MTI+PjJdO2I9YSsxMjh8MDtoW2I+PjNdPWw7aFthKzEzNj4+M109bSotLjQwOTA5MDkwOTA5MDkw
OTA2O2Q9YSsxNDR8MDtjW2Q+PjJdPWNbYj4+Ml07Y1tkKzQ+PjJdPWNbYis0Pj4yXTtjW2QrOD4+
Ml09Y1tiKzg+PjJdO2NbZCsxMj4+Ml09Y1tiKzEyPj4yXTtoW2ErMTYwPj4zXT1sO2c9LWc7aFth
KzE2OD4+M109ZztoW2ErMTc2Pj4zXT1rO2k9LWk7aFthKzE4ND4+M109aTtoW2ErMTkyPj4zXT0w
LjA7aFthKzIwMD4+M109aTtoW2ErMjA4Pj4zXT1qO2hbYSsyMTY+PjNdPWk7aFthKzIyND4+M109
ZjtoW2ErMjMyPj4zXT1nO2Q9YSsyNDB8MDtoW2Q+PjNdPWY7aFthKzI0OD4+M109LWU7Yj1hKzI1
NnwwO2NbYj4+Ml09Y1tkPj4yXTtjW2IrND4+Ml09Y1tkKzQ+PjJdO2NbYis4Pj4yXT1jW2QrOD4+
Ml07Y1tiKzEyPj4yXT1jW2QrMTI+PjJdO2I9YSsyODh8MDtkPWErMjcyfDA7Y1tkPj4yXT1jW2E+
PjJdO2NbZCs0Pj4yXT1jW2ErND4+Ml07Y1tkKzg+PjJdPWNbYSs4Pj4yXTtjW2QrMTI+PjJdPWNb
YSsxMj4+Ml07Y1tiPj4yXT1jW2E+PjJdO2NbYis0Pj4yXT1jW2ErND4+Ml07Y1tiKzg+PjJdPWNb
YSs4Pj4yXTtjW2IrMTI+PjJdPWNbYSsxMj4+Ml07cmV0dXJufWZ1bmN0aW9uIHl6KGEsYil7YT1h
fDA7Yj1ifDA7dmFyIGQ9MC4wLGU9MC4wLGY9MC4wLGc9MCxpPTAuMCxqPTAsaz0wLG09MCxuPTAs
bz0wLHA9MC4wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTA7eD1sO2w9bCsxNDR8MDt1
PXgrMTEyfDA7dD14Kzk2fDA7dj14KzgwfDA7cz14KzY0fDA7dz14KzMyfDA7cT14KzE2fDA7cj14
O2c9eCs0OHwwO2RvIGlmKGEpe2o9Y1thKzQ+PjJdfDA7az1jW2E+PjJdfDA7bz0oY1soY1socm8o
ayl8MCkrMTY+PjJdfDApKzExNj4+Ml0mMykqOTB8MDtjW3U+PjJdPWNbYj4+Ml07Y1t1KzQ+PjJd
PWNbYis0Pj4yXTtjW3UrOD4+Ml09Y1tiKzg+PjJdO2NbdSsxMj4+Ml09Y1tiKzEyPj4yXTthdyhn
LHUsbyk7Y1t3Pj4yXT1jW2c+PjJdO2Nbdys0Pj4yXT1jW2crND4+Ml07Y1t3Kzg+PjJdPWNbZys4
Pj4yXTtjW3crMTI+PjJdPWNbZysxMj4+Ml07aWYoanwwKXtkPStoW3c+PjNdO2lmKCEoK2hbaj4+
M108PWQpKXthPTA7YnJlYWt9aWYoIShkPD0raFtqKzE2Pj4zXSkpe2E9MDticmVha31kPStoW3cr
OD4+M107aWYoISgraFtqKzg+PjNdPD1kKSl7YT0wO2JyZWFrfWE9ZDw9K2hbaisyND4+M107YnJl
YWt9aWYoKGt8MCk9PShjWzQyMzM2XXwwKSl7ZD0raFsyMDkwM107ZT0raFsyMDkwNF07aT0raFsy
MDkwNV19ZWxzZXthPWsrMTZ8MDtiPWNbKGNbYT4+Ml18MCkrMTI+PjJdfDA7Y1s0MjMzN109Yjtj
WzQyMzM4XT1jW2IrNDQ+PjJdO2NbNDIzMzldPWNbYis4Pj4yXTtpZighKGNbYis0MD4+Ml0mMjA0
OCkpe249KGNbKGNbKHJvKGspfDApKzE2Pj4yXXwwKSsxMTY+PjJdJjF8MCk9PTA7bz1jW2E+PjJd
fDA7aFsobj8xNjcyNDg6MTY3MjU2KT4+M109K2hbbys5Nj4+M10rICtoW28rODg+PjNdO2hbKG4/
MTY3MjU2OjE2NzI0OCk+PjNdPStoW28rODA+PjNdO2k9K2hbbyszMj4+M10qNzIuMDtmPStoW28r
NDA+PjNdKjcyLjA7Zj0rKH5+KGYrKGY+PTAuMD8uNTotLjUpKXwwKTtpPSsofn4oaSsoaT49MC4w
Py41Oi0uNSkpfDApfWVsc2V7YUIodSxiKTtpPStoW3UrMTY+PjNdLStoW3U+PjNdO2Y9K2hbdSsy
ND4+M10tK2hbdSs4Pj4zXTtvPShjWyhjWyhybyhrKXwwKSsxNj4+Ml18MCkrMTE2Pj4yXSYxfDAp
PT0wO2hbKG8/MTY3MjQ4OjE2NzI1Nik+PjNdPWk7aFsobz8xNjcyNTY6MTY3MjQ4KT4+M109Zn1k
PStoWzIwOTA2XTtpZihkPT0wLjApe2hbMjA5MDZdPTEuMDtkPTEuMH1lPStoWzIwOTA3XTtpZihl
PT0wLjApe2hbMjA5MDddPTEuMDtlPTEuMH1kPWkvZDtoWzIwOTAzXT1kO2U9Zi9lO2hbMjA5MDRd
PWU7aT1pKi41O2hbMjA5MDVdPWk7aFsyMDkwOF09ZiouNTtvPU8oKGNbKGNbNDIzMzddfDApKzQ+
PjJdfDApKy0xfDAsY1s0MjMzOV18MCl8MDtjWzQyMzQwXT0ob3wwKT4wP286MDtjWzQyMzM2XT1r
fWY9K2hbdz4+M10qZDtoW3c+PjNdPWY7bz13Kzh8MDtkPStoW28+PjNdKmU7aFtvPj4zXT1kO2lm
KCEoK0IoK2YpPmkpPyhlPStCKCtkKSxwPStoWzIwOTA4XSwhKGU+cCkpOjApe289Y1s0MjMzOV18
MDtpZigob3wwKTwzKXthPStRSihmL2ksZC9wKTwxLjA7YnJlYWt9Yj0oY1s0MjM0MV18MCklKG98
MCl8MDthPShiKzF8MCklKG98MCl8MDtrPWNbNDIzMzhdfDA7bT1jWzQyMzQwXXwwO249aysobSti
PDw0KXwwO2NbcT4+Ml09Y1tuPj4yXTtjW3ErND4+Ml09Y1tuKzQ+PjJdO2NbcSs4Pj4yXT1jW24r
OD4+Ml07Y1txKzEyPj4yXT1jW24rMTI+PjJdO249aysobSthPDw0KXwwO2Nbcj4+Ml09Y1tuPj4y
XTtjW3IrND4+Ml09Y1tuKzQ+PjJdO2Nbcis4Pj4yXT1jW24rOD4+Ml07Y1tyKzEyPj4yXT1jW24r
MTI+PjJdO2Nbcz4+Ml09Y1t3Pj4yXTtjW3MrND4+Ml09Y1t3KzQ+PjJdO2Nbcys4Pj4yXT1jW3cr
OD4+Ml07Y1tzKzEyPj4yXT1jW3crMTI+PjJdO2Nbdj4+Ml09Y1s0MTgxOF07Y1t2KzQ+PjJdPWNb
NDE4MTldO2Nbdis4Pj4yXT1jWzQxODIwXTtjW3YrMTI+PjJdPWNbNDE4MjFdO2NbdD4+Ml09Y1tx
Pj4yXTtjW3QrND4+Ml09Y1txKzQ+PjJdO2NbdCs4Pj4yXT1jW3ErOD4+Ml07Y1t0KzEyPj4yXT1j
W3ErMTI+PjJdO2NbdT4+Ml09Y1tuPj4yXTtjW3UrND4+Ml09Y1tuKzQ+PjJdO2NbdSs4Pj4yXT1j
W24rOD4+Ml07Y1t1KzEyPj4yXT1jW24rMTI+PjJdO2lmKGd6KHMsdix0LHUpfDApe2Nbcz4+Ml09
Y1t3Pj4yXTtjW3MrND4+Ml09Y1t3KzQ+PjJdO2Nbcys4Pj4yXT1jW3crOD4+Ml07Y1tzKzEyPj4y
XT1jW3crMTI+PjJdO2Nbdj4+Ml09Y1txPj4yXTtjW3YrND4+Ml09Y1txKzQ+PjJdO2Nbdis4Pj4y
XT1jW3ErOD4+Ml07Y1t2KzEyPj4yXT1jW3ErMTI+PjJdO2NbdD4+Ml09Y1tyPj4yXTtjW3QrND4+
Ml09Y1tyKzQ+PjJdO2NbdCs4Pj4yXT1jW3IrOD4+Ml07Y1t0KzEyPj4yXT1jW3IrMTI+PjJdO2Nb
dT4+Ml09Y1s0MTgxOF07Y1t1KzQ+PjJdPWNbNDE4MTldO2NbdSs4Pj4yXT1jWzQxODIwXTtjW3Ur
MTI+PjJdPWNbNDE4MjFdO249KGd6KHMsdix0LHUpfDApIT0wO2lmKG4/KGNbcz4+Ml09Y1t3Pj4y
XSxjW3MrND4+Ml09Y1t3KzQ+PjJdLGNbcys4Pj4yXT1jW3crOD4+Ml0sY1tzKzEyPj4yXT1jW3cr
MTI+PjJdLGNbdj4+Ml09Y1tyPj4yXSxjW3YrND4+Ml09Y1tyKzQ+PjJdLGNbdis4Pj4yXT1jW3Ir
OD4+Ml0sY1t2KzEyPj4yXT1jW3IrMTI+PjJdLGNbdD4+Ml09Y1s0MTgxOF0sY1t0KzQ+PjJdPWNb
NDE4MTldLGNbdCs4Pj4yXT1jWzQxODIwXSxjW3QrMTI+PjJdPWNbNDE4MjFdLGNbdT4+Ml09Y1tx
Pj4yXSxjW3UrND4+Ml09Y1txKzQ+PjJdLGNbdSs4Pj4yXT1jW3ErOD4+Ml0sY1t1KzEyPj4yXT1j
W3ErMTI+PjJdLChneihzLHYsdCx1KXwwKSE9MCk6MCl7YT0xO2JyZWFrfWVsc2V7aj1iO2I9MX13
aGlsZSgxKXtpZigoYnwwKT49KG98MCkpe2I9MzE7YnJlYWt9aWYobil7Zz1hO2E9KGErMXwwKSUo
b3wwKXwwfWVsc2V7Zz0oaistMStvfDApJShvfDApfDA7YT1qfXE9aysobStnPDw0KXwwO3I9ayso
bSthPDw0KXwwO2Nbcz4+Ml09Y1t3Pj4yXTtjW3MrND4+Ml09Y1t3KzQ+PjJdO2Nbcys4Pj4yXT1j
W3crOD4+Ml07Y1tzKzEyPj4yXT1jW3crMTI+PjJdO2Nbdj4+Ml09Y1s0MTgxOF07Y1t2KzQ+PjJd
PWNbNDE4MTldO2Nbdis4Pj4yXT1jWzQxODIwXTtjW3YrMTI+PjJdPWNbNDE4MjFdO2NbdD4+Ml09
Y1txPj4yXTtjW3QrND4+Ml09Y1txKzQ+PjJdO2NbdCs4Pj4yXT1jW3ErOD4+Ml07Y1t0KzEyPj4y
XT1jW3ErMTI+PjJdO2NbdT4+Ml09Y1tyPj4yXTtjW3UrND4+Ml09Y1tyKzQ+PjJdO2NbdSs4Pj4y
XT1jW3IrOD4+Ml07Y1t1KzEyPj4yXT1jW3IrMTI+PjJdO2lmKCEoZ3oocyx2LHQsdSl8MCkpe2I9
MzA7YnJlYWt9ZWxzZXtqPWc7Yj1iKzF8MH19aWYoKGJ8MCk9PTMwKXtjWzQyMzQxXT1nO2E9MDti
cmVha31lbHNlIGlmKChifDApPT0zMSl7Y1s0MjM0MV09ajthPTE7YnJlYWt9fWVsc2UgYT0wfWVs
c2UgYT0wfWVsc2V7Y1s0MjMzNl09MDthPTB9d2hpbGUoMCk7bD14O3JldHVybiBhJjF8MH1mdW5j
dGlvbiB6eihhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAuMCxlPTAuMCxmPTAsZz0wLjAsaT0wLGo9
MCxrPTA7aj1sO2w9bCszMnwwO2Y9aisxNnwwO2k9ajtpZihhKXthPWNbYT4+Ml18MDtrPShjWyhj
WyhybyhhKXwwKSsxNj4+Ml18MCkrMTE2Pj4yXSYzKSo5MHwwO2NbZj4+Ml09Y1tiPj4yXTtjW2Yr
ND4+Ml09Y1tiKzQ+PjJdO2NbZis4Pj4yXT1jW2IrOD4+Ml07Y1tmKzEyPj4yXT1jW2IrMTI+PjJd
O2F3KGksZixrKTtnPStoW2k+PjNdO2U9K2hbaSs4Pj4zXTtpZigoYXwwKT09KGNbNDIzNDRdfDAp
KWQ9K2hbMjA5MTFdO2Vsc2V7aT1jWyhjW2ErMTY+PjJdfDApKzEyPj4yXXwwO2s9KGNbaSs0Pj4y
XTw8MSkrLTJ8MDtkPStoWyhjW2krNDQ+PjJdfDApKygoKChrfDApPjA/azowKXwxKTw8NCk+PjNd
O2hbMjA5MTFdPWQ7Y1s0MjM0NF09YX1pZigrQigrZyk+ZHwrQigrZSk+ZClhPTA7ZWxzZSBhPStR
SihnLGUpPD1kJjF9ZWxzZXtjWzQyMzQ0XT0wO2E9MH1sPWo7cmV0dXJuIGF8MH1mdW5jdGlvbiBB
eihlLGYpe2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9
MCxyPTAscz0wLHQ9MCx1PTAuMCx2PTAsdz0wO3Q9bDtsPWwrMTZ8MDtqPXQ7cj1jW2UrMTY+PjJd
fDA7cz1yKzIwOHwwO2c9Y1tzPj4yXXwwO2lmKChnfDApPT0wPyhiW3IrMjYwPj4xXSYxKT09MDow
KXE9MDtlbHNlIGlmKCEoY1tlKzE1Mj4+Ml0mNCkpe3dEKGUsZyxjW3IrMjI4Pj4yXXwwLGNbcisy
NDQ+PjJdfDAsY1tyKzIxMj4+Ml18MCk7cT0xfWVsc2UgcT0xO249ZisxNnwwO2s9Y1soY1tuPj4y
XXwwKSsxMj4+Ml18MDtvPWNbays0ND4+Ml18MDtwPWNbays4Pj4yXXwwO2s9Y1trKzQ+PjJdfDA7
aWYoKGNbNDIzNDJdfDApPChwfDApKXtnPXArMnwwO2NbNDIzNDJdPWc7aT1jWzQyMzQzXXwwO2lm
KCFpKWc9d3coZzw8NCl8MDtlbHNlIGc9eXcoaSxnPDw0KXwwO2NbNDIzNDNdPWd9ZHooZixqKXww
O2lmKCEoY1tqPj4yXSYzMikpRkQoZSwyMTA0MCk7ZWxzZSBGRChlLDIxMDM2KTtnPWNbNDIyMTZd
fDA7aWYoZ3wwKU9EKGUsK0VBKGYsZywxLjAsMC4wKSk7Zz1kWyhjW24+PjJdfDApKzExNz4+MF18
MDtkbyBpZighKGcmMSkpe2lmKGcmMnwwKXtCRChlLEdBKGYsMCw5MTMwMCl8MCk7Zz1HQShmLDAs
OTEzMDgpfDA7REQoZSxnKTticmVha31pZihnJjh8MCl7QkQoZSxHQShmLDAsOTEzMTYpfDApO2c9
R0EoZiwwLDkxMzI0KXwwO0REKGUsZyk7YnJlYWt9aWYoIShnJjQpKXtnPWN6KGYsMTIyMTA2KXww
O0REKGUsZyk7JHkoZSxmKXwwO2JyZWFrfWVsc2V7QkQoZSxHQShmLDAsOTEzMzIpfDApO2c9R0Eo
ZiwwLDkxMzQwKXwwO0REKGUsZyk7YnJlYWt9fWVsc2V7QkQoZSxHQShmLDAsOTEyODQpfDApO2c9
R0EoZiwwLDkxMjkyKXwwO0REKGUsZyl9d2hpbGUoMCk7aWYoIWspaWYoIShhW2c+PjBdfDApKWk9
MTtlbHNle0JEKGUsZyk7aT0xfWVsc2UgaT1rO2o9MTtmPTA7d2hpbGUoMSl7aWYoKGZ8MCk+PShp
fDApKWJyZWFrO2s9TyhmLHApfDA7bT1jWzQyMzQzXXwwO2c9MDt3aGlsZSgxKXtpZigoZ3wwKT49
KHB8MCkpYnJlYWs7dz1nK2t8MDt1PStoW28rKHc8PDQpKzg+PjNdO3Y9Y1tuPj4yXXwwO2hbbSso
Zzw8NCk+PjNdPStoW3YrMTY+PjNdKyAraFtvKyh3PDw0KT4+M107aFttKyhnPDw0KSs4Pj4zXT0r
aFt2KzI0Pj4zXSt1O2c9ZysxfDB9R0QoZSxtLHAsaik7aj0wO2Y9ZisxfDB9aWYocSl7aWYoY1tl
KzE1Mj4+Ml0mNHwwKXdEKGUsY1tzPj4yXXwwLGNbcisyMjg+PjJdfDAsY1tyKzI0ND4+Ml18MCxj
W3IrMjEyPj4yXXwwKTt4RChlKX1sPXQ7cmV0dXJufWZ1bmN0aW9uIEJ6KGEsYixlLGYpe2E9YXww
O2I9YnwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wO2c9bDtsPWwrNDh8MDtoPWc7ZT1DeihiLGUs
Zil8MDtjW2grMzY+PjJdPWNbZiszNj4+Ml07aHooYixjW2YrMjQ+PjJdfDAsaCxlLGRbZiszMz4+
MF18MCwwKXwwO2I9aDtlPWErNDB8MDtkb3tjW2E+PjJdPWNbYj4+Ml07YT1hKzR8MDtiPWIrNHww
fXdoaWxlKChhfDApPChlfDApKTtsPWc7cmV0dXJufWZ1bmN0aW9uIEN6KGIsZCxlKXtiPWJ8MDtk
PWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxpPTAuMCxqPTAuMCxrPTAsbT0wLjAsbj0wLjAsbz0wLHA9
MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLjAsQj0wLjAsQz0w
O3o9bDtsPWwrMzJ8MDt5PXo7Zz16KzI0fDA7az16KzE2fDA7eD1jWyhjWyhjWyhybyhiKXwwKSs2
MD4+Ml18MCkrMTY+PjJdfDApKzExNj4+Ml0mMztmPWIrMTZ8MDt3PShjW2Y+PjJdfDApKzE2fDA7
Y1t5Pj4yXT1jW3c+PjJdO2NbeSs0Pj4yXT1jW3crND4+Ml07Y1t5Kzg+PjJdPWNbdys4Pj4yXTtj
W3krMTI+PjJdPWNbdysxMj4+Ml07RHooZyx5LHgpO3c9KGNbZCsxNj4+Ml18MCkrMTZ8MDtjW3k+
PjJdPWNbdz4+Ml07Y1t5KzQ+PjJdPWNbdys0Pj4yXTtjW3krOD4+Ml09Y1t3Kzg+PjJdO2NbeSsx
Mj4+Ml09Y1t3KzEyPj4yXTtEeihrLHkseCk7eD1hW2UrMzM+PjBdfDA7eT14JjI1NTthOmRvIHN3
aXRjaCh4PDwyND4+MjQpe2Nhc2UgMDpjYXNlIDE1OntkPTA7YnJlYWt9ZGVmYXVsdDp7ZD1jW2Ur
MjQ+PjJdfDA7aWYoIWQpe3g9KGNbKGNbKHJvKGIpfDApKzE2Pj4yXXwwKSsxMTY+PjJdJjF8MCk9
PTA7dz1jW2Y+PjJdfDA7Qj0raFt3KzgwPj4zXSouNTtBPS1CO209K2hbdys4OD4+M107aj0tbTtu
PXg/ajpBO2k9eD9tOkI7bT14P0I6bTtqPXg/QTpqfWVsc2V7bj0raFtkPj4zXTtpPStoW2QrMTY+
PjNdO209K2hbZCsyND4+M107aj0raFtkKzg+PjNdfXg9Y1tnPj4yXXwwO3Y9Y1tnKzQ+PjJdfDA7
dz1jW2s+PjJdfDA7cz1jW2srND4+Ml18MDt0PX5+ajt1PX5+KChpK24pKi41KTtyPX5+aTtxPX5+
KChtK2opKi41KTtwPX5+bTtvPX5+bjtnPTA7az0wO2Q9MDtlPTA7Yj0wO3doaWxlKDEpe2lmKChr
fDApPT00KWJyZWFrIGE7aWYoMTw8ayZ5KXtzd2l0Y2goa3wwKXtjYXNlIDA6e2U9dTtiPXQ7YnJl
YWt9Y2FzZSAxOntlPXI7Yj1xO2JyZWFrfWNhc2UgMjp7ZT11O2I9cDticmVha31jYXNlIDM6e2U9
bztiPXE7YnJlYWt9ZGVmYXVsdDp7fX1lPXgrZXwwO2I9ditifDA7Zj1lLXd8MDtDPWItc3wwO2Y9
KE8oQyxDKXwwKSsoTyhmLGYpfDApfDA7aWYoKGR8MCk9PTB8KGZ8MCk8KGd8MCkpZD1jWzIxMDQ4
KyhrPDwyKT4+Ml18MDtlbHNlIGY9Z31lbHNlIGY9ZztnPWY7az1rKzF8MH19fXdoaWxlKDApO2w9
ejtyZXR1cm4gZHwwfWZ1bmN0aW9uIER6KGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0w
LjAsZj0wLjA7c3dpdGNoKGR8MCl7Y2FzZSAwOntmPStoW2I+PjNdO2U9K2hbYis4Pj4zXTticmVh
a31jYXNlIDI6e2Y9K2hbYj4+M107ZT0tK2hbYis4Pj4zXTticmVha31jYXNlIDE6e2Y9LStoW2Ir
OD4+M107ZT0raFtiPj4zXTticmVha31jYXNlIDM6e2Y9K2hbYis4Pj4zXTtlPStoW2I+PjNdO2Jy
ZWFrfWRlZmF1bHQ6e2Y9MC4wO2U9MC4wfX1jW2E+PjJdPX5+KGYrKGY+PTAuMD8uNTotLjUpKTtj
W2ErND4+Ml09fn4oZSsoZT49MC4wPy41Oi0uNSkpO3JldHVybn1mdW5jdGlvbiBFeigpe3ZhciBh
PTAsYj0wLGQ9MDthPWw7bD1sKzMyfDA7Yj1hKzE2fDA7ZD1hO2NbZD4+Ml09MDtjW2QrND4+Ml09
MDtjW2QrOD4+Ml09MDtjW2QrMTI+PjJdPTA7Y1tiPj4yXT1jW2Q+PjJdO2NbYis0Pj4yXT1jW2Qr
ND4+Ml07Y1tiKzg+PjJdPWNbZCs4Pj4yXTtjW2IrMTI+PjJdPWNbZCsxMj4+Ml07eXooMCxiKXww
O2NbYj4+Ml09Y1tkPj4yXTtjW2IrND4+Ml09Y1tkKzQ+PjJdO2NbYis4Pj4yXT1jW2QrOD4+Ml07
Y1tiKzEyPj4yXT1jW2QrMTI+PjJdO3p6KDAsYil8MDtjW2I+PjJdPWNbZD4+Ml07Y1tiKzQ+PjJd
PWNbZCs0Pj4yXTtjW2IrOD4+Ml09Y1tkKzg+PjJdO2NbYisxMj4+Ml09Y1tkKzEyPj4yXTtXeSgw
LGIpfDA7bD1hO3JldHVybn1mdW5jdGlvbiBGeihhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtl
PWV8MDt2YXIgZj0wLjAsZz0wLjAsaT0wLjAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAuMCxxPTAs
cj0wLjAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTA7ej1sO2w9bCsxOTJ8MDtz
PXorMTc2fDA7eD16KzExMnwwO3k9eis0OHwwO3Q9eiszMnwwO3U9eisyNHwwO3Y9eisxNnwwO3c9
ejtpZighKGU8PDI0Pj4yNCkpe2s9ZCs0OHwwO2NbdD4+Ml09Y1trPj4yXTtjW3QrND4+Ml09Y1tr
KzQ+PjJdO2NbdCs4Pj4yXT1jW2srOD4+Ml07Y1t0KzEyPj4yXT1jW2srMTI+PjJdO2s9dTttPXY7
bj14O289MH1lbHNle2NbdD4+Ml09Y1tkPj4yXTtjW3QrND4+Ml09Y1tkKzQ+PjJdO2NbdCs4Pj4y
XT1jW2QrOD4+Ml07Y1t0KzEyPj4yXT1jW2QrMTI+PjJdO2s9djttPXU7bj0wO289eH1oW3U+PjNd
PTAuMDtoW3Y+PjNdPTEuMDtxPXQrOHwwO2Y9MC4wO2c9MS4wO2o9MDtwPStoW3Q+PjNdO3doaWxl
KDEpe3I9K2hbcT4+M107Zj0oZitnKSouNTtQQSh3LGQsMyxmLG4sbyk7Y1t0Pj4yXT1jW3c+PjJd
O2NbdCs0Pj4yXT1jW3crND4+Ml07Y1t0Kzg+PjJdPWNbdys4Pj4yXTtjW3QrMTI+PjJdPWNbdysx
Mj4+Ml07Y1tzPj4yXT1jW3c+PjJdO2Nbcys0Pj4yXT1jW3crND4+Ml07Y1tzKzg+PjJdPWNbdys4
Pj4yXTtjW3MrMTI+PjJdPWNbdysxMj4+Ml07YTpkbyBpZighKChhYltiJjYzXShhLHMpfDApPDwy
ND4+MjQpKXtlPTA7d2hpbGUoMSl7aWYoKGV8MCk9PTQpe2U9aztqPTE7YnJlYWsgYX1qPXkrKGU8
PDQpfDA7QT14KyhlPDw0KXwwO2Nbaj4+Ml09Y1tBPj4yXTtjW2orND4+Ml09Y1tBKzQ+PjJdO2Nb
ais4Pj4yXT1jW0ErOD4+Ml07Y1tqKzEyPj4yXT1jW0ErMTI+PjJdO2U9ZSsxfDB9fWVsc2UgZT1t
O3doaWxlKDApO2hbZT4+M109ZjtpPStoW3Q+PjNdO3A9cC1pO2lmKCEoKHA+PTAuMD9wOi1wKT4u
NSk/KHI9ci0raFtxPj4zXSwhKChyPj0wLjA/cjotcik+LjUpKTowKWJyZWFrO2Y9K2hbdT4+M107
Zz0raFt2Pj4zXTtwPWl9YjpkbyBpZighKGo8PDI0Pj4yNCkpe2U9MDt3aGlsZSgxKXtpZigoZXww
KT09NClicmVhayBiO0E9ZCsoZTw8NCl8MDt5PXgrKGU8PDQpfDA7Y1tBPj4yXT1jW3k+PjJdO2Nb
QSs0Pj4yXT1jW3krND4+Ml07Y1tBKzg+PjJdPWNbeSs4Pj4yXTtjW0ErMTI+PjJdPWNbeSsxMj4+
Ml07ZT1lKzF8MH19ZWxzZXtlPTA7d2hpbGUoMSl7aWYoKGV8MCk9PTQpYnJlYWsgYjtBPWQrKGU8
PDQpfDA7eD15KyhlPDw0KXwwO2NbQT4+Ml09Y1t4Pj4yXTtjW0ErND4+Ml09Y1t4KzQ+PjJdO2Nb
QSs4Pj4yXT1jW3grOD4+Ml07Y1tBKzEyPj4yXT1jW3grMTI+PjJdO2U9ZSsxfDB9fXdoaWxlKDAp
O2w9ejtyZXR1cm59ZnVuY3Rpb24gR3ooYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAs
Zz0wLGk9MCxqPTAsaz0wLG09MCxuPTAuMDttPWw7bD1sKzQ4fDA7ZD1tKzE2fDA7ZT1tO2Y9bSsz
MnwwO2c9YSsxNnwwO2k9Y1tnPj4yXXwwO2o9Y1tpKzg+PjJdfDA7aWYoanwwPyhrPWorNHwwLGNb
KGNbaz4+Ml18MCkrMTI+PjJdfDApOjApe2NbZj4+Ml09YTtjW2YrND4+Ml09MDtuPStoW2krOTY+
PjNdO2hbZT4+M109K2hbYj4+M10tK2hbaSsxNj4+M107aFtlKzg+PjNdPStoW2IrOD4+M10tK2hb
aSsyND4+M107az1jWyhjW2s+PjJdfDApKzEyPj4yXXwwO2NbZD4+Ml09Y1tlPj4yXTtjW2QrND4+
Ml09Y1tlKzQ+PjJdO2NbZCs4Pj4yXT1jW2UrOD4+Ml07Y1tkKzEyPj4yXT1jW2UrMTI+PjJdO2s9
YWJbayY2M10oZixkKXwwO2hbKGNbZz4+Ml18MCkrOTY+PjNdPW47SHooZixhLGIsayl9bD1tO3Jl
dHVybn1mdW5jdGlvbiBIeihhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0w
LGc9MCxpPTAsaj0wLGs9MC4wLG09MCxuPTA7bj1sO2w9bCs2NHwwO209bjtqPWIrMTZ8MDtnPWNb
aj4+Ml18MDtrPStoW2crOTY+PjNdO2k9ZysxNnwwO2Y9ZysyNHwwO2I9MDt3aGlsZSgxKXtpZigo
YnwwKT09NClicmVhaztoW20rKGI8PDQpPj4zXT0raFtkKyhiPDw0KT4+M10tK2hbaT4+M107aFtt
KyhiPDw0KSs4Pj4zXT0raFtkKyhiPDw0KSs4Pj4zXS0raFtmPj4zXTtiPWIrMXwwfUZ6KGEsY1so
Y1soY1tnKzg+PjJdfDApKzQ+PjJdfDApKzEyPj4yXXwwLG0sZSk7Yj0wO3doaWxlKDEpe2lmKChi
fDApPT00KWJyZWFrO2U9Y1tqPj4yXXwwO2hbZCsoYjw8NCk+PjNdPStoW2UrMTY+PjNdKyAraFtt
KyhiPDw0KT4+M107aFtkKyhiPDw0KSs4Pj4zXT0raFtlKzI0Pj4zXSsgK2hbbSsoYjw8NCkrOD4+
M107Yj1iKzF8MH1oWyhjW2o+PjJdfDApKzk2Pj4zXT1rO2w9bjtyZXR1cm59ZnVuY3Rpb24gSXoo
YixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MDt3aGlsZSgxKXtmPWIrMTZ8MDtiPWNbZj4+Ml18
MDtpZighKGFbYisxMTI+PjBdfDApKWJyZWFrO2I9Y1tiKzExNj4+Ml18MH1iPWNbYis4Pj4yXXww
O2lmKCFiKXtiPXZ3KDQwKXwwO2NbKGNbZj4+Ml18MCkrOD4+Ml09Yn1lPWNbYj4+Ml18MDtpZigh
ZSliPXd3KCgoY1tiKzQ+PjJdfDApKjQ4fDApKzQ4fDApfDA7ZWxzZSBiPXl3KGUsKChjW2IrND4+
Ml18MCkqNDh8MCkrNDh8MCl8MDtmPWNbKGNbZj4+Ml18MCkrOD4+Ml18MDtjW2Y+PjJdPWI7Zj1m
KzR8MDtlPWNbZj4+Ml18MDtjW2Y+PjJdPWUrMTtmPWIrKGUqNDh8MCl8MDtjW2Y+PjJdPXZ3KGQ8
PDQpfDA7Y1tiKyhlKjQ4fDApKzQ+PjJdPWQ7Yj1iKyhlKjQ4fDApKzh8MDtlPWIrNDB8MDtkb3tj
W2I+PjJdPTA7Yj1iKzR8MH13aGlsZSgoYnwwKTwoZXwwKSk7cmV0dXJuIGZ8MH1mdW5jdGlvbiBK
eihiLGUsZixnLGkpe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2k9aXwwO3ZhciBqPTAsaz0wLG09
MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0w
LEI9MCxDPTAsRD0wLEU9MC4wLEY9MC4wO0Q9bDtsPWwrOTZ8MDtBPUQrMTZ8MDt1PUQ7eD1EKzky
fDA7eT1EKzg4fDA7dj1EKzgwfDA7bT1jWygoY1tiPj4yXSYzfDApPT0zP2I6Yis0OHwwKSs0MD4+
Ml18MDt6PXJvKG0pfDA7Qj1JeihiLGcpfDA7bj1iO3doaWxlKDEpe289Y1tuKzE2Pj4yXXwwO2lm
KCEoYVtvKzExMj4+MF18MCkpYnJlYWs7bj1jW28rMTE2Pj4yXXwwfWlmKChhW2krOD4+MF18MCk9
PTA/KGo9Y1ttKzE2Pj4yXXwwLGs9Y1tlKzE2Pj4yXXwwLChjW2orMjMyPj4yXXwwKT09KGNbaysy
MzI+PjJdfDApKTowKXtwPShjW2orMjM2Pj4yXXwwKT4oY1trKzIzNj4+Ml18MCk7dz1wP206ZTtt
PXA/ZTptfWVsc2Ugdz1lO2lmKChtfDApPT0oY1soKGNbbj4+Ml0mM3wwKT09Mz9uOm4rNDh8MCkr
NDA+PjJdfDApKXtqPW8rODB8MDtrPW8rNDB8MDtwPWRbbys4Nj4+MF18MDtlPWRbbys0Nj4+MF18
MH1lbHNle2o9bys0MHwwO2s9bys4MHwwO3A9ZFtvKzQ2Pj4wXXwwO2U9ZFtvKzg2Pj4wXXwwfW89
Y1tqPj4yXXwwO2o9Y1trPj4yXXwwO2lmKCgoZXwwKSE9MD8ocj1tKzE2fDAscT1jWyhjW3I+PjJd
fDApKzg+PjJdfDAsKHF8MCkhPTApOjApPyhjWyhjW3ErND4+Ml18MCkrMTI+PjJdfDApIT0wOjAp
e2Nbdj4+Ml09bTtjW3YrND4+Ml09ajtqPWcrLTR8MDtlPXUrOHwwO2s9MDt3aGlsZSgxKXtpZigo
a3wwKT49KGp8MCkpYnJlYWs7bj1rKzN8MDtxPWNbcj4+Ml18MDtoW3U+PjNdPStoW2YrKG48PDQp
Pj4zXS0raFtxKzE2Pj4zXTtoW2U+PjNdPStoW2YrKG48PDQpKzg+PjNdLStoW3ErMjQ+PjNdO3E9
Y1soY1soY1txKzg+PjJdfDApKzQ+PjJdfDApKzEyPj4yXXwwO2NbQT4+Ml09Y1t1Pj4yXTtjW0Er
ND4+Ml09Y1t1KzQ+PjJdO2NbQSs4Pj4yXT1jW3UrOD4+Ml07Y1tBKzEyPj4yXT1jW3UrMTI+PjJd
O2lmKCEoKGFiW3EmNjNdKHYsQSl8MCk8PDI0Pj4yNCkpYnJlYWs7ZWxzZSBrPW59Y1t4Pj4yXT1r
O0h6KHYsbSxmKyhrPDw0KXwwLDEpfWVsc2V7Y1t4Pj4yXT0wO2s9MH1pZigoKHB8MCkhPTA/KHQ9
dysxNnwwLHM9Y1soY1t0Pj4yXXwwKSs4Pj4yXXwwLChzfDApIT0wKTowKT8oY1soY1tzKzQ+PjJd
fDApKzEyPj4yXXwwKSE9MDowKXtjW3Y+PjJdPXc7Y1t2KzQ+PjJdPW87bT1nKy00fDA7ZT11Kzh8
MDtqPW07d2hpbGUoMSl7aWYoKGp8MCk8PTApYnJlYWs7Zz1jW3Q+PjJdfDA7aFt1Pj4zXT0raFtm
KyhqPDw0KT4+M10tK2hbZysxNj4+M107aFtlPj4zXT0raFtmKyhqPDw0KSs4Pj4zXS0raFtnKzI0
Pj4zXTtnPWNbKGNbKGNbZys4Pj4yXXwwKSs0Pj4yXXwwKSsxMj4+Ml18MDtjW0E+PjJdPWNbdT4+
Ml07Y1tBKzQ+PjJdPWNbdSs0Pj4yXTtjW0ErOD4+Ml09Y1t1Kzg+PjJdO2NbQSsxMj4+Ml09Y1t1
KzEyPj4yXTtpZighKChhYltnJjYzXSh2LEEpfDApPDwyND4+MjQpKWJyZWFrO2o9aistM3wwfWNb
eT4+Ml09ajtIeih2LHcsZisoajw8NCl8MCwwKX1lbHNle209ZystNHwwO2NbeT4+Ml09bTtqPW19
d2hpbGUoMSl7aWYoKGt8MCk+PShtfDApKWJyZWFrO2U9ayszfDA7RT0raFtmKyhrPDw0KT4+M10t
K2hbZisoZTw8NCk+PjNdO0Y9K2hbZisoazw8NCkrOD4+M10tK2hbZisoZTw8NCkrOD4+M107aWYo
RipGK0UqRTwxLjBlLTA2KWs9ZTtlbHNlIGJyZWFrfWNbeD4+Ml09azt3aGlsZSgxKXtpZigoanww
KTw9MClicmVhazt2PWorM3wwO0Y9K2hbZisoajw8NCk+PjNdLStoW2YrKHY8PDQpPj4zXTtFPSto
W2YrKGo8PDQpKzg+PjNdLStoW2YrKHY8PDQpKzg+PjNdO2lmKCEoRSpFK0YqRjwxLjBlLTA2KSli
cmVhaztqPWorLTN8MH1jW3k+PjJdPWo7S3ooYix3LGYseCx5LEIsaSk7cj1jW3g+PjJdfDA7bj1j
W3k+PjJdfDA7bT1uKzR8MDtuPW4rM3wwO289QSsxNnwwO3A9QSszMnwwO3E9QSs0OHwwO2s9eisx
NnwwO2o9cjt3aGlsZSgxKXtpZigoanwwKT49KG18MCkpYnJlYWs7ej0oY1tCPj4yXXwwKSsoai1y
PDw0KXwwO2U9Zisoajw8NCl8MDtjW3o+PjJdPWNbZT4+Ml07Y1t6KzQ+PjJdPWNbZSs0Pj4yXTtj
W3orOD4+Ml09Y1tlKzg+PjJdO2NbeisxMj4+Ml09Y1tlKzEyPj4yXTtjW0E+PjJdPWNbZT4+Ml07
Y1tBKzQ+PjJdPWNbZSs0Pj4yXTtjW0ErOD4+Ml09Y1tlKzg+PjJdO2NbQSsxMj4+Ml09Y1tlKzEy
Pj4yXTtlPWorMXwwO2lmKChqfDApPj0obnwwKSl7Qz0zODticmVha315PShjW0I+PjJdfDApKyhl
LXI8PDQpfDA7ej1mKyhlPDw0KXwwO2NbeT4+Ml09Y1t6Pj4yXTtjW3krND4+Ml09Y1t6KzQ+PjJd
O2NbeSs4Pj4yXT1jW3orOD4+Ml07Y1t5KzEyPj4yXT1jW3orMTI+PjJdO2Nbbz4+Ml09Y1t6Pj4y
XTtjW28rND4+Ml09Y1t6KzQ+PjJdO2Nbbys4Pj4yXT1jW3orOD4+Ml07Y1tvKzEyPj4yXT1jW3or
MTI+PjJdO3o9aisyfDA7eT0oY1tCPj4yXXwwKSsoei1yPDw0KXwwO3o9Zisoejw8NCl8MDtjW3k+
PjJdPWNbej4+Ml07Y1t5KzQ+PjJdPWNbeis0Pj4yXTtjW3krOD4+Ml09Y1t6Kzg+PjJdO2NbeSsx
Mj4+Ml09Y1t6KzEyPj4yXTtjW3A+PjJdPWNbej4+Ml07Y1twKzQ+PjJdPWNbeis0Pj4yXTtjW3Ar
OD4+Ml09Y1t6Kzg+PjJdO2NbcCsxMj4+Ml09Y1t6KzEyPj4yXTt6PWorM3wwO3k9Zisoejw8NCl8
MDtjW3E+PjJdPWNbeT4+Ml07Y1txKzQ+PjJdPWNbeSs0Pj4yXTtjW3ErOD4+Ml09Y1t5Kzg+PjJd
O2NbcSsxMj4+Ml09Y1t5KzEyPj4yXTtldSgoY1trPj4yXXwwKSsxNnwwLEEpO2o9en1jW0IrND4+
Ml09bS1yO2w9RDtyZXR1cm59ZnVuY3Rpb24gS3ooYixkLGUsZixnLGgsaSl7Yj1ifDA7ZD1kfDA7
ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7dmFyIGo9MCxrPTAsbT0wLG49MCxvPTAscD0w
O3A9bDtsPWwrMTZ8MDttPXArNHwwO249cDtvPWI7d2hpbGUoMSl7aj1jWyhjW28rMTY+PjJdfDAp
KzExNj4+Ml18MDtpZighailicmVhaztlbHNlIG89an1pZighKGFbaSs4Pj4wXXwwKSlqPSgkYVtj
W2k+PjJdJjMxXShvKXwwKSYyNTU7ZWxzZSBqPTA7QXQobyxtLG4pO2s9aSs0fDA7aWYoKCRhW2Nb
az4+Ml0mMzFdKGQpfDApPDwyND4+MjQpY1tuPj4yXT0wO2lmKCgkYVtjW2s+PjJdJjMxXShjWygo
Y1tiPj4yXSYzfDApPT0zP2I6Yis0OHwwKSs0MD4+Ml18MCl8MCk8PDI0Pj4yNCljW20+PjJdPTA7
aWYoanwwKXtkPWNbbT4+Ml18MDtjW20+PjJdPWNbbj4+Ml07Y1tuPj4yXT1kfWlmKCEoYVtpKzk+
PjBdfDApKXtqPWNbbT4+Ml18MDtpZihqfDApY1tmPj4yXT1QdChvLGUsY1tmPj4yXXwwLGNbZz4+
Ml18MCxoLGopfDA7aj1jW24+PjJdfDA7aWYoanwwKWNbZz4+Ml09TnQobyxlLGNbZj4+Ml18MCxj
W2c+PjJdfDAsaCxqKXwwfWVsc2V7az1jW24+PjJdfDA7aj1jW20+PjJdfDA7aWYoanxrfDApUXQo
byxlLGNbZj4+Ml18MCxjW2c+PjJdfDAsaCxqLGspfWw9cDtyZXR1cm59ZnVuY3Rpb24gTHooYSxi
KXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MDtpZigraFtiPj4zXTwraFtiKzE2Pj4zXT8raFtiKzg+
PjNdPCtoW2IrMjQ+PjNdOjApe2Q9Y1thKzg0Pj4yXXwwO2U9YSs4MHwwO2E9Y1tlPj4yXXwwO2Nb
ZT4+Ml09YSsxO2E9ZCsoYTw8NSl8MDtjW2E+PjJdPWNbYj4+Ml07Y1thKzQ+PjJdPWNbYis0Pj4y
XTtjW2ErOD4+Ml09Y1tiKzg+PjJdO2NbYSsxMj4+Ml09Y1tiKzEyPj4yXTtjW2ErMTY+PjJdPWNb
YisxNj4+Ml07Y1thKzIwPj4yXT1jW2IrMjA+PjJdO2NbYSsyND4+Ml09Y1tiKzI0Pj4yXTtjW2Er
Mjg+PjJdPWNbYisyOD4+Ml19cmV0dXJufWZ1bmN0aW9uIE16KGIsZCxlLGYsZyl7Yj1ifDA7ZD1k
fDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7dmFyIGk9MCxqPTAsaz0wLjAsbT0wLjAsbj0wLG89MCxwPTAs
cT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAuMCx6PTAuMDt4PWw7bD1sKzExMnww
O3U9eCs3MnwwO289eCs1NnwwO249eCsxNnwwO3E9eDtqPWNbZD4+Ml0mMztwPWQrNDh8MDt3PWNb
KChqfDApPT0zP2Q6cCkrNDA+PjJdfDA7dD1kKzE2fDA7cj1jW3Q+PjJdfDA7aT1yKzE2fDA7aWYo
YVtyKzQ3Pj4wXXwwKXtCeihuLHcsY1soKGp8MCk9PTI/ZDpkKy00OHwwKSs0MD4+Ml18MCxpKTtq
PW47bj1pKzQwfDA7ZG97Y1tpPj4yXT1jW2o+PjJdO2k9aSs0fDA7aj1qKzR8MH13aGlsZSgoaXww
KTwobnwwKSl9cj13KzE2fDA7aj1jW3I+PjJdfDA7aT1jW2orOD4+Ml18MDtpZighaSluPTA7ZWxz
ZSBuPWNbKGNbaSs0Pj4yXXwwKSsxNj4+Ml18MDtpPWorMTZ8MDtqPShjW3Q+PjJdfDApKzE2fDA7
Y1tvPj4yXT1jW2k+PjJdO2Nbbys0Pj4yXT1jW2krND4+Ml07Y1tvKzg+PjJdPWNbaSs4Pj4yXTtj
W28rMTI+PjJdPWNbaSsxMj4+Ml07Y1t1Pj4yXT1jW2o+PjJdO2NbdSs0Pj4yXT1jW2orND4+Ml07
Y1t1Kzg+PjJdPWNbais4Pj4yXTtjW3UrMTI+PjJdPWNbaisxMj4+Ml07TnoocSxvLHUpO2NbYj4+
Ml09Y1txPj4yXTtjW2IrND4+Ml09Y1txKzQ+PjJdO2NbYis4Pj4yXT1jW3ErOD4+Ml07Y1tiKzEy
Pj4yXT1jW3ErMTI+PjJdO2lmKCEoZzw8MjQ+PjI0KSl7aT1jW3Q+PjJdfDA7aWYoIShhW2krNDU+
PjBdfDApKWk9MDtlbHNle2s9K2hbaSszMj4+M107dj05fX1lbHNle2s9K096KGNbKChjW2Q+PjJd
JjN8MCk9PTM/ZDpwKSs0MD4+Ml18MCk7dj05fWlmKCh2fDApPT05KXtoW2IrMTY+PjNdPWs7aT0x
fWFbYisyOT4+MF09aTtjW2IrODA+PjJdPTA7Y1tiKzg4Pj4yXT1kO3E9ZiszMnwwO2NbcT4+Ml09
Y1tiPj4yXTtjW3ErND4+Ml09Y1tiKzQ+PjJdO2NbcSs4Pj4yXT1jW2IrOD4+Ml07Y1txKzEyPj4y
XT1jW2IrMTI+PjJdO3N3aXRjaChlfDApe2Nhc2UgMTp7aj1jW3I+PjJdfDA7aWYoKGFbaisxNTY+
PjBdfDApPT0wPyhxPWFbKGNbdD4+Ml18MCkrNDk+PjBdfDAscz1xJjI1NSxxPDwyND4+MjQhPTAp
OjApe2NbdT4+Ml09Y1tmPj4yXTtjW3UrND4+Ml09Y1tmKzQ+PjJdO2NbdSs4Pj4yXT1jW2YrOD4+
Ml07Y1t1KzEyPj4yXT1jW2YrMTI+PjJdO2NbdSsxNj4+Ml09Y1tmKzE2Pj4yXTtjW3UrMjA+PjJd
PWNbZisyMD4+Ml07Y1t1KzI0Pj4yXT1jW2YrMjQ+PjJdO2NbdSsyOD4+Ml09Y1tmKzI4Pj4yXTtk
byBpZighKHMmNCkpe2lmKHMmMXwwKXtjW2YrNDg+PjJdPTE7aT11KzI0fDA7aFtpPj4zXT0raFso
K2hbaT4+M10+K2hbYis4Pj4zXT91KzE2fDA6YikrOD4+M107aT1mKzU2fDA7Y1tpPj4yXT1jW3U+
PjJdO2NbaSs0Pj4yXT1jW3UrND4+Ml07Y1tpKzg+PjJdPWNbdSs4Pj4yXTtjW2krMTI+PjJdPWNb
dSsxMj4+Ml07Y1tpKzE2Pj4yXT1jW3UrMTY+PjJdO2NbaSsyMD4+Ml09Y1t1KzIwPj4yXTtjW2kr
MjQ+PjJdPWNbdSsyND4+Ml07Y1tpKzI4Pj4yXT1jW3UrMjg+PjJdO2k9MTticmVha31pPWYrNDh8
MDtpZighKHMmOCkpe2NbaT4+Ml09MjtoW3U+PjNdPStoW2I+PjNdO2hbdSs4Pj4zXT0raFtqKzI0
Pj4zXS0raFtqKzgwPj4zXSouNTtoW3UrMjQ+PjNdPStoW2IrOD4+M107aT1mKzU2fDA7Y1tpPj4y
XT1jW3U+PjJdO2NbaSs0Pj4yXT1jW3UrND4+Ml07Y1tpKzg+PjJdPWNbdSs4Pj4yXTtjW2krMTI+
PjJdPWNbdSsxMj4+Ml07Y1tpKzE2Pj4yXT1jW3UrMTY+PjJdO2NbaSsyMD4+Ml09Y1t1KzIwPj4y
XTtjW2krMjQ+PjJdPWNbdSsyND4+Ml07Y1tpKzI4Pj4yXT1jW3UrMjg+PjJdO2k9MTticmVha31l
bHNle2NbaT4+Ml09ODtoW3UrMTY+PjNdPStoW2I+PjNdO2hbdSs4Pj4zXT0raFtqKzI0Pj4zXS0r
aFtqKzgwPj4zXSouNTtoW3UrMjQ+PjNdPStoW2IrOD4+M107aT1mKzU2fDA7Y1tpPj4yXT1jW3U+
PjJdO2NbaSs0Pj4yXT1jW3UrND4+Ml07Y1tpKzg+PjJdPWNbdSs4Pj4yXTtjW2krMTI+PjJdPWNb
dSsxMj4+Ml07Y1tpKzE2Pj4yXT1jW3UrMTY+PjJdO2NbaSsyMD4+Ml09Y1t1KzIwPj4yXTtjW2kr
MjQ+PjJdPWNbdSsyND4+Ml07Y1tpKzI4Pj4yXT1jW3UrMjg+PjJdO2k9MTticmVha319ZWxzZXtj
W2YrNDg+PjJdPTQ7az0raFt1Pj4zXTtpZigraFtiPj4zXTwraFtqKzE2Pj4zXSl7ej1rKy0xLjA7
eT0raFtiKzg+PjNdO2I9dSsxNnwwO2s9K2hbYj4+M107bT0raFtqKzgwPj4zXSouNSsgK2hbaisy
ND4+M107bT1tKyArKChjWyhjWyhybyh3KXwwKSsxNj4+Ml18MCkrMjUyPj4yXXwwKS8yfDB8MCk7
aT1jW3I+PjJdfDA7aFtiPj4zXT0raFtpKzE2Pj4zXS0raFtpKzg4Pj4zXTtoW3UrMjQ+PjNdPXk7
aFt1Kzg+PjNdPStoW2krMjQ+PjNdLStoW2krODA+PjNdKi41O2hbdT4+M109ejtoW2YrNTY+PjNd
PXo7aFtmKzY0Pj4zXT15O2hbZis3Mj4+M109aztoW2YrODA+PjNdPW07aT1mKzg4fDA7Y1tpPj4y
XT1jW3U+PjJdO2NbaSs0Pj4yXT1jW3UrND4+Ml07Y1tpKzg+PjJdPWNbdSs4Pj4yXTtjW2krMTI+
PjJdPWNbdSsxMj4+Ml07Y1tpKzE2Pj4yXT1jW3UrMTY+PjJdO2NbaSsyMD4+Ml09Y1t1KzIwPj4y
XTtjW2krMjQ+PjJdPWNbdSsyND4+Ml07Y1tpKzI4Pj4yXT1jW3UrMjg+PjJdO2k9MjticmVha31l
bHNle209K2hbYis4Pj4zXTtpPXUrMTZ8MDt5PStoW2k+PjNdKzEuMDt6PStoW2orODA+PjNdKi41
KyAraFtqKzI0Pj4zXTt6PXorICsoKGNbKGNbKHJvKHcpfDApKzE2Pj4yXXwwKSsyNTI+PjJdfDAp
LzJ8MHwwKTtiPWNbcj4+Ml18MDtoW3U+PjNdPStoW2IrOTY+PjNdKyAraFtiKzE2Pj4zXTtoW3Ur
MjQ+PjNdPW07aFt1Kzg+PjNdPStoW2IrMjQ+PjNdLStoW2IrODA+PjNdKi41O2hbaT4+M109eTto
W2YrNTY+PjNdPWs7aFtmKzY0Pj4zXT1tO2hbZis3Mj4+M109eTtoW2YrODA+PjNdPXo7aT1mKzg4
fDA7Y1tpPj4yXT1jW3U+PjJdO2NbaSs0Pj4yXT1jW3UrND4+Ml07Y1tpKzg+PjJdPWNbdSs4Pj4y
XTtjW2krMTI+PjJdPWNbdSsxMj4+Ml07Y1tpKzE2Pj4yXT1jW3UrMTY+PjJdO2NbaSsyMD4+Ml09
Y1t1KzIwPj4yXTtjW2krMjQ+PjJdPWNbdSsyND4+Ml07Y1tpKzI4Pj4yXT1jW3UrMjg+PjJdO2k9
MjticmVha319d2hpbGUoMCk7Y1tmKzUyPj4yXT1pO3doaWxlKDEpe2k9Y1tkKzE2Pj4yXXwwO2lm
KCEoYVtpKzExMj4+MF18MCkpYnJlYWs7ZD1jW2krMTE2Pj4yXXwwfWFbKCh3fDApPT0oY1soKGNb
ZD4+Ml0mM3wwKT09Mz9kOmQrNDh8MCkrNDA+PjJdfDApP2krMTZ8MDppKzU2fDApKzMwPj4wXT0w
fWVsc2V7aj0xO3Y9NDd9YnJlYWt9Y2FzZSAyOntzPWFbKGNbdD4+Ml18MCkrNDk+PjBdfDA7aj1z
JjI1NTtpZighKHM8PDI0Pj4yNCkpdj00NjtlbHNle2NbdT4+Ml09Y1tmPj4yXTtjW3UrND4+Ml09
Y1tmKzQ+PjJdO2NbdSs4Pj4yXT1jW2YrOD4+Ml07Y1t1KzEyPj4yXT1jW2YrMTI+PjJdO2NbdSsx
Nj4+Ml09Y1tmKzE2Pj4yXTtjW3UrMjA+PjJdPWNbZisyMD4+Ml07Y1t1KzI0Pj4yXT1jW2YrMjQ+
PjJdO2NbdSsyOD4+Ml09Y1tmKzI4Pj4yXTtkbyBpZighKGomNCkpe2lmKGomMXwwKWlmKChjW2Yr
NDg+PjJdfDApPT00KXtpPWNbcj4+Ml18MDt6PStoW2krMjQ+PjNdLStoW2krODA+PjNdKi41O2k9
dSsxNnwwO3k9K2hbaT4+M10rMS4wO2s9K2hbYj4+M107bT16LSsoKGNbKGNbKHJvKHcpfDApKzE2
Pj4yXXwwKSsyNTI+PjJdfDApLzJ8MHwwKTtiPWNbcj4+Ml18MDtoW3U+PjNdPStoW2IrOTY+PjNd
KyAraFtiKzE2Pj4zXTtoW3UrOD4+M109ejtoW3UrMjQ+PjNdPStoW2IrODA+PjNdKi41KyAraFti
KzI0Pj4zXTtoW2k+PjNdPXk7aFtmKzU2Pj4zXT1rO2hbZis2ND4+M109bTtoW2YrNzI+PjNdPXk7
aFtmKzgwPj4zXT16O2k9Zis4OHwwO2NbaT4+Ml09Y1t1Pj4yXTtjW2krND4+Ml09Y1t1KzQ+PjJd
O2NbaSs4Pj4yXT1jW3UrOD4+Ml07Y1tpKzEyPj4yXT1jW3UrMTI+PjJdO2NbaSsxNj4+Ml09Y1t1
KzE2Pj4yXTtjW2krMjA+PjJdPWNbdSsyMD4+Ml07Y1tpKzI0Pj4yXT1jW3UrMjQ+PjJdO2NbaSsy
OD4+Ml09Y1t1KzI4Pj4yXTtpPTI7YnJlYWt9ZWxzZXtpPXUrMjR8MDtoW2k+PjNdPStoWygraFtp
Pj4zXT4raFtiKzg+PjNdP3UrMTZ8MDpiKSs4Pj4zXTtpPWYrNTZ8MDtjW2k+PjJdPWNbdT4+Ml07
Y1tpKzQ+PjJdPWNbdSs0Pj4yXTtjW2krOD4+Ml09Y1t1Kzg+PjJdO2NbaSsxMj4+Ml09Y1t1KzEy
Pj4yXTtjW2krMTY+PjJdPWNbdSsxNj4+Ml07Y1tpKzIwPj4yXT1jW3UrMjA+PjJdO2NbaSsyND4+
Ml09Y1t1KzI0Pj4yXTtjW2krMjg+PjJdPWNbdSsyOD4+Ml07aT0xO2JyZWFrfWs9K2hbYj4+M107
aWYoIShqJjgpKXtoW3U+PjNdPWs7ZT1jW3I+PjJdfDA7az0raFtlKzI0Pj4zXTttPStoW2UrODA+
PjNdKi41O2lmKChjW2YrNDg+PjJdfDApPT00KXtoW3UrMjQ+PjNdPW0raztrPStoW2IrOD4+M107
aT11fWVsc2V7aFt1Kzg+PjNdPWstbTtrPStoW2IrOD4+M10rMS4wO2k9dSsxNnwwfWhbaSs4Pj4z
XT1rO2k9Zis1NnwwO2NbaT4+Ml09Y1t1Pj4yXTtjW2krND4+Ml09Y1t1KzQ+PjJdO2NbaSs4Pj4y
XT1jW3UrOD4+Ml07Y1tpKzEyPj4yXT1jW3UrMTI+PjJdO2NbaSsxNj4+Ml09Y1t1KzE2Pj4yXTtj
W2krMjA+PjJdPWNbdSsyMD4+Ml07Y1tpKzI0Pj4yXT1jW3UrMjQ+PjJdO2NbaSsyOD4+Ml09Y1t1
KzI4Pj4yXTtpPTE7YnJlYWt9ZWxzZXtpPXUrMTZ8MDtoW2k+PjNdPWsrMS4wO2U9Y1tyPj4yXXww
O2s9K2hbZSsyND4+M107bT0raFtlKzgwPj4zXSouNTtpZigoY1tmKzQ4Pj4yXXwwKT09NCl7aFt1
KzI0Pj4zXT1tK2s7az0raFtiKzg+PjNdKy0xLjA7aT11fWVsc2V7aFt1Kzg+PjNdPWstbTtrPSto
W2IrOD4+M10rMS4wfWhbaSs4Pj4zXT1rO2k9Zis1NnwwO2NbaT4+Ml09Y1t1Pj4yXTtjW2krND4+
Ml09Y1t1KzQ+PjJdO2NbaSs4Pj4yXT1jW3UrOD4+Ml07Y1tpKzEyPj4yXT1jW3UrMTI+PjJdO2Nb
aSsxNj4+Ml09Y1t1KzE2Pj4yXTtjW2krMjA+PjJdPWNbdSsyMD4+Ml07Y1tpKzI0Pj4yXT1jW3Ur
MjQ+PjJdO2NbaSsyOD4+Ml09Y1t1KzI4Pj4yXTtpPTE7YnJlYWt9fWVsc2V7aT11Kzh8MDtoW2k+
PjNdPStoWygraFtpPj4zXTwraFtiKzg+PjNdP3U6YikrOD4+M107aT1mKzU2fDA7Y1tpPj4yXT1j
W3U+PjJdO2NbaSs0Pj4yXT1jW3UrND4+Ml07Y1tpKzg+PjJdPWNbdSs4Pj4yXTtjW2krMTI+PjJd
PWNbdSsxMj4+Ml07Y1tpKzE2Pj4yXT1jW3UrMTY+PjJdO2NbaSsyMD4+Ml09Y1t1KzIwPj4yXTtj
W2krMjQ+PjJdPWNbdSsyND4+Ml07Y1tpKzI4Pj4yXT1jW3UrMjg+PjJdO2k9MX13aGlsZSgwKTtj
W2YrNTI+PjJdPWk7d2hpbGUoMSl7aT1jW2QrMTY+PjJdfDA7aWYoIShhW2krMTEyPj4wXXwwKSli
cmVhaztkPWNbaSsxMTY+PjJdfDB9YVsoKHd8MCk9PShjWygoY1tkPj4yXSYzfDApPT0zP2Q6ZCs0
OHwwKSs0MD4+Ml18MCk/aSsxNnwwOmkrNTZ8MCkrMzA+PjBdPTA7Y1tmKzQ4Pj4yXT1qfWJyZWFr
fWRlZmF1bHQ6dj00Nn1pZigodnwwKT09NDYpe2o9Y1tmKzQ4Pj4yXXwwO3Y9NDd9YTpkbyBpZigo
dnwwKT09NDcpe2lmKG4pe2Q9Zis1NnwwO2k9Zis1MnwwO2o9ZGJbbiYzXSh3LChjW3Q+PjJdfDAp
KzE2fDAsaixkLGkpfDA7aWYoail7Y1tmKzQ4Pj4yXT1qO2JyZWFrfX1lbHNle2k9Zis1MnwwO2Q9
Zis1NnwwfTtjW2Q+PjJdPWNbZj4+Ml07Y1tkKzQ+PjJdPWNbZis0Pj4yXTtjW2QrOD4+Ml09Y1tm
Kzg+PjJdO2NbZCsxMj4+Ml09Y1tmKzEyPj4yXTtjW2QrMTY+PjJdPWNbZisxNj4+Ml07Y1tkKzIw
Pj4yXT1jW2YrMjA+PjJdO2NbZCsyND4+Ml09Y1tmKzI0Pj4yXTtjW2QrMjg+PjJdPWNbZisyOD4+
Ml07Y1tpPj4yXT0xO3N3aXRjaChlfDApe2Nhc2UgODp7bWEoMTIzMjA1LDkxNTU4LDU2OSw5MTU2
OCk7YnJlYWt9Y2FzZSAyOntoWygoY1tmKzQ4Pj4yXXwwKT09ND9mKzU2fDA6Zis3MnwwKSs4Pj4z
XT0raFtiKzg+PjNdO2JyZWFrIGF9Y2FzZSAxOntoW2YrODA+PjNdPStoW2IrOD4+M107Y1tmKzQ4
Pj4yXT0xO2JyZWFrIGF9ZGVmYXVsdDpicmVhayBhfX13aGlsZSgwKTtsPXg7cmV0dXJufWZ1bmN0
aW9uIE56KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLjA7ZD0raFtjKzg+PjNdKyAr
aFtiKzg+PjNdO2hbYT4+M109K2hbYz4+M10rICtoW2I+PjNdO2hbYSs4Pj4zXT1kO3JldHVybn1m
dW5jdGlvbiBPeihhKXthPWF8MDt2YXIgYj0wLjAsZD0wLGU9MCxmPTAuMCxnPTAsaT0wLGo9MCxr
PTAuMCxsPTAuMDtpPWNbYSsxNj4+Ml18MDtqPWNbaSsxNzI+PjJdfDA7Zj0wLjA7Zz0wO3doaWxl
KDEpe2E9Y1tqKyhnPDwyKT4+Ml18MDtpZighYSlicmVhaztmPStoWyhjWyhjWygoY1thPj4yXSYz
fDApPT0zP2E6YSs0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE2Pj4zXStmO2c9ZysxfDB9ZT1j
W2krMTgwPj4yXXwwO2I9MC4wO2E9MDt3aGlsZSgxKXtkPWNbZSsoYTw8Mik+PjJdfDA7aWYoIWQp
YnJlYWs7Yj0raFsoY1soY1soKGNbZD4+Ml0mM3wwKT09Mj9kOmQrLTQ4fDApKzQwPj4yXXwwKSsx
Nj4+Ml18MCkrMTY+PjNdK2I7YT1hKzF8MH1rPStoW2krMTY+PjNdO2w9K2hbaSsyND4+M107aj1j
W2o+PjJdfDA7Zj0rSygrKGwtK2hbKGNbKGNbKChjW2o+PjJdJjN8MCk9PTM/ajpqKzQ4fDApKzQw
Pj4yXXwwKSsxNj4+Ml18MCkrMjQ+PjNdKSwrKGstZi8rKGd8MCkpKTtqPWNbZT4+Ml18MDtyZXR1
cm4gKygoK0soKygraFsoY1soY1soKGNbaj4+Ml0mM3wwKT09Mj9qOmorLTQ4fDApKzQwPj4yXXww
KSsxNj4+Ml18MCkrMjQ+PjNdLWwpLCsoYi8rKGF8MCktaykpK2YpKi41KX1mdW5jdGlvbiBQeihi
LGQsZSxmLGcpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO3ZhciBpPTAsaj0wLGs9MC4w
LG09MC4wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9
MCxBPTAuMCxCPTAuMDt6PWw7bD1sKzExMnwwO3c9eis3MnwwO3A9eis1NnwwO249eisxNnwwO3Q9
ejtqPWNbZD4+Ml0mMztyPWQrLTQ4fDA7eT1jWygoanwwKT09Mj9kOnIpKzQwPj4yXXwwO3U9ZCsx
NnwwO3M9Y1t1Pj4yXXwwO2k9cys1NnwwO2lmKGFbcys4Nz4+MF18MCl7Qnoobix5LGNbKChqfDAp
PT0zP2Q6ZCs0OHwwKSs0MD4+Ml18MCxpKTtqPW47bj1pKzQwfDA7ZG97Y1tpPj4yXT1jW2o+PjJd
O2k9aSs0fDA7aj1qKzR8MH13aGlsZSgoaXwwKTwobnwwKSl9cz15KzE2fDA7aj1jW3M+PjJdfDA7
aT1jW2orOD4+Ml18MDtpZighaSlvPTA7ZWxzZSBvPWNbKGNbaSs0Pj4yXXwwKSsxNj4+Ml18MDtu
PWIrNDB8MDtpPWorMTZ8MDtqPShjW3U+PjJdfDApKzU2fDA7Y1twPj4yXT1jW2k+PjJdO2NbcCs0
Pj4yXT1jW2krND4+Ml07Y1twKzg+PjJdPWNbaSs4Pj4yXTtjW3ArMTI+PjJdPWNbaSsxMj4+Ml07
Y1t3Pj4yXT1jW2o+PjJdO2Nbdys0Pj4yXT1jW2orND4+Ml07Y1t3Kzg+PjJdPWNbais4Pj4yXTtj
W3crMTI+PjJdPWNbaisxMj4+Ml07TnoodCxwLHcpO2Nbbj4+Ml09Y1t0Pj4yXTtjW24rND4+Ml09
Y1t0KzQ+PjJdO2Nbbis4Pj4yXT1jW3QrOD4+Ml07Y1tuKzEyPj4yXT1jW3QrMTI+PjJdO2lmKCEo
Zzw8MjQ+PjI0KSl7aT1jW3U+PjJdfDA7aWYoIShhW2krODU+PjBdfDApKXE9MDtlbHNle2hbYis1
Nj4+M109K2hbaSs3Mj4+M107cT0xfX1lbHNle209K096KGNbKChjW2Q+PjJdJjN8MCk9PTI/ZDpy
KSs0MD4+Ml18MCkrMy4xNDE1OTI2NTM1ODk3OTM7aFtiKzU2Pj4zXT1tO2lmKG08Ni4yODMxODUz
MDcxNzk1ODYpcT0xO2Vsc2UgbWEoOTE1NzgsOTE1NTgsNjA2LDkxNjAyKX1hW2IrNjk+PjBdPXE7
dD1mKzMyfDA7Y1t0Pj4yXT1jW24+PjJdO2NbdCs0Pj4yXT1jW24rND4+Ml07Y1t0Kzg+PjJdPWNb
bis4Pj4yXTtjW3QrMTI+PjJdPWNbbisxMj4+Ml07c3dpdGNoKGV8MCl7Y2FzZSAxOntqPWNbcz4+
Ml18MDtpZigoYVtqKzE1Nj4+MF18MCk9PTA/KHQ9YVsoY1t1Pj4yXXwwKSs4OT4+MF18MCx2PXQm
MjU1LHQ8PDI0Pj4yNCE9MCk6MCl7Y1t3Pj4yXT1jW2Y+PjJdO2Nbdys0Pj4yXT1jW2YrND4+Ml07
Y1t3Kzg+PjJdPWNbZis4Pj4yXTtjW3crMTI+PjJdPWNbZisxMj4+Ml07Y1t3KzE2Pj4yXT1jW2Yr
MTY+PjJdO2NbdysyMD4+Ml09Y1tmKzIwPj4yXTtjW3crMjQ+PjJdPWNbZisyND4+Ml07Y1t3KzI4
Pj4yXT1jW2YrMjg+PjJdO2RvIGlmKCEodiY0KSlpZighKHYmMSkpe2k9Zis0OHwwO2lmKCEodiY4
KSl7Y1tpPj4yXT0yO2hbdz4+M109K2hbbj4+M107aFt3KzI0Pj4zXT0raFtqKzgwPj4zXSouNSsg
K2hbaisyND4+M107aFt3Kzg+PjNdPStoW2IrNDg+PjNdO2k9Zis1NnwwO2NbaT4+Ml09Y1t3Pj4y
XTtjW2krND4+Ml09Y1t3KzQ+PjJdO2NbaSs4Pj4yXT1jW3crOD4+Ml07Y1tpKzEyPj4yXT1jW3cr
MTI+PjJdO2NbaSsxNj4+Ml09Y1t3KzE2Pj4yXTtjW2krMjA+PjJdPWNbdysyMD4+Ml07Y1tpKzI0
Pj4yXT1jW3crMjQ+PjJdO2NbaSsyOD4+Ml09Y1t3KzI4Pj4yXTtpPTE7YnJlYWt9ZWxzZXtjW2k+
PjJdPTg7aFt3KzE2Pj4zXT0raFtuPj4zXTtoW3crMjQ+PjNdPStoW2orODA+PjNdKi41KyAraFtq
KzI0Pj4zXTtoW3crOD4+M109K2hbYis0OD4+M107aT1mKzU2fDA7Y1tpPj4yXT1jW3c+PjJdO2Nb
aSs0Pj4yXT1jW3crND4+Ml07Y1tpKzg+PjJdPWNbdys4Pj4yXTtjW2krMTI+PjJdPWNbdysxMj4+
Ml07Y1tpKzE2Pj4yXT1jW3crMTY+PjJdO2NbaSsyMD4+Ml09Y1t3KzIwPj4yXTtjW2krMjQ+PjJd
PWNbdysyND4+Ml07Y1tpKzI4Pj4yXT1jW3crMjg+PjJdO2k9MTticmVha319ZWxzZXtjW2YrNDg+
PjJdPTE7az0raFt3Pj4zXTtpZigraFtuPj4zXTwraFtqKzE2Pj4zXSl7Qj1rKy0xLjA7bT0raFti
KzQ4Pj4zXTtiPXcrMTZ8MDtrPStoW2I+PjNdO0E9K2hbais4MD4+M10qLS41KyAraFtqKzI0Pj4z
XTtBPUEtKygoY1soY1socm8oeSl8MCkrMTY+PjJdfDApKzI1Mj4+Ml18MCkvMnwwfDApO2k9Y1tz
Pj4yXXwwO2hbYj4+M109K2hbaSsxNj4+M10tK2hbaSs4OD4+M107aFt3Kzg+PjNdPW07aFt3KzI0
Pj4zXT0raFtpKzgwPj4zXSouNSsgK2hbaSsyND4+M107aFt3Pj4zXT1CO2hbZis1Nj4+M109Qjto
W2YrNjQ+PjNdPUE7aFtmKzcyPj4zXT1rO2hbZis4MD4+M109bTtpPWYrODh8MDtjW2k+PjJdPWNb
dz4+Ml07Y1tpKzQ+PjJdPWNbdys0Pj4yXTtjW2krOD4+Ml09Y1t3Kzg+PjJdO2NbaSsxMj4+Ml09
Y1t3KzEyPj4yXTtjW2krMTY+PjJdPWNbdysxNj4+Ml07Y1tpKzIwPj4yXT1jW3crMjA+PjJdO2Nb
aSsyND4+Ml09Y1t3KzI0Pj4yXTtjW2krMjg+PjJdPWNbdysyOD4+Ml07aT0yO2JyZWFrfWVsc2V7
Qj0raFtiKzQ4Pj4zXTtpPXcrMTZ8MDtBPStoW2k+PjNdKzEuMDttPStoW2orODA+PjNdKi0uNSsg
K2hbaisyND4+M107bT1tLSsoKGNbKGNbKHJvKHkpfDApKzE2Pj4yXXwwKSsyNTI+PjJdfDApLzJ8
MHwwKTtiPWNbcz4+Ml18MDtoW3c+PjNdPStoW2IrOTY+PjNdKyAraFtiKzE2Pj4zXTtoW3crOD4+
M109QjtoW3crMjQ+PjNdPStoW2IrODA+PjNdKi41KyAraFtiKzI0Pj4zXTtoW2k+PjNdPUE7aFtm
KzU2Pj4zXT1rO2hbZis2ND4+M109bTtoW2YrNzI+PjNdPUE7aFtmKzgwPj4zXT1CO2k9Zis4OHww
O2NbaT4+Ml09Y1t3Pj4yXTtjW2krND4+Ml09Y1t3KzQ+PjJdO2NbaSs4Pj4yXT1jW3crOD4+Ml07
Y1tpKzEyPj4yXT1jW3crMTI+PjJdO2NbaSsxNj4+Ml09Y1t3KzE2Pj4yXTtjW2krMjA+PjJdPWNb
dysyMD4+Ml07Y1tpKzI0Pj4yXT1jW3crMjQ+PjJdO2NbaSsyOD4+Ml09Y1t3KzI4Pj4yXTtpPTI7
YnJlYWt9fWVsc2V7Y1tmKzQ4Pj4yXT00O2k9dys4fDA7aFtpPj4zXT0raFsoK2hbaT4+M108K2hb
Yis0OD4+M10/dzpuKSs4Pj4zXTtpPWYrNTZ8MDtjW2k+PjJdPWNbdz4+Ml07Y1tpKzQ+PjJdPWNb
dys0Pj4yXTtjW2krOD4+Ml09Y1t3Kzg+PjJdO2NbaSsxMj4+Ml09Y1t3KzEyPj4yXTtjW2krMTY+
PjJdPWNbdysxNj4+Ml07Y1tpKzIwPj4yXT1jW3crMjA+PjJdO2NbaSsyND4+Ml09Y1t3KzI0Pj4y
XTtjW2krMjg+PjJdPWNbdysyOD4+Ml07aT0xfXdoaWxlKDApO2NbZis1Mj4+Ml09aTt3aGlsZSgx
KXtpPWNbZCsxNj4+Ml18MDtpZighKGFbaSsxMTI+PjBdfDApKWJyZWFrO2Q9Y1tpKzExNj4+Ml18
MH1hWygoeXwwKT09KGNbKChjW2Q+PjJdJjN8MCk9PTI/ZDpkKy00OHwwKSs0MD4+Ml18MCk/aSs1
NnwwOmkrMTZ8MCkrMzA+PjBdPTA7Y1tmKzQ4Pj4yXT12fWVsc2V7aj00O3g9NDd9YnJlYWt9Y2Fz
ZSAyOnt2PWFbKGNbdT4+Ml18MCkrODk+PjBdfDA7aj12JjI1NTtpZighKHY8PDI0Pj4yNCkpeD00
NjtlbHNle2Nbdz4+Ml09Y1tmPj4yXTtjW3crND4+Ml09Y1tmKzQ+PjJdO2Nbdys4Pj4yXT1jW2Yr
OD4+Ml07Y1t3KzEyPj4yXT1jW2YrMTI+PjJdO2NbdysxNj4+Ml09Y1tmKzE2Pj4yXTtjW3crMjA+
PjJdPWNbZisyMD4+Ml07Y1t3KzI0Pj4yXT1jW2YrMjQ+PjJdO2NbdysyOD4+Ml09Y1tmKzI4Pj4y
XTtkbyBpZighKGomNCkpe2lmKGomMXwwKWlmKChjW2YrNDg+PjJdfDApPT00KXtrPStoW3c+PjNd
Ky0xLjA7aT1jW3M+PjJdfDA7Qj0raFtpKzI0Pj4zXS0raFtpKzgwPj4zXSouNTtBPStoW24+PjNd
O209Qi0rKChjWyhjWyhybyh5KXwwKSsxNj4+Ml18MCkrMjUyPj4yXXwwKS8yfDB8MCk7aT1jW3M+
PjJdfDA7aFt3KzE2Pj4zXT0raFtpKzE2Pj4zXSstMi4wLStoW2krODg+PjNdO2hbdys4Pj4zXT1C
O2hbdysyND4+M109K2hbaSs4MD4+M10qLjUrICtoW2krMjQ+PjNdO2hbdz4+M109aztoW2YrNTY+
PjNdPWs7aFtmKzY0Pj4zXT1tO2hbZis3Mj4+M109QTtoW2YrODA+PjNdPUI7aT1mKzg4fDA7Y1tp
Pj4yXT1jW3c+PjJdO2NbaSs0Pj4yXT1jW3crND4+Ml07Y1tpKzg+PjJdPWNbdys4Pj4yXTtjW2kr
MTI+PjJdPWNbdysxMj4+Ml07Y1tpKzE2Pj4yXT1jW3crMTY+PjJdO2NbaSsyMD4+Ml09Y1t3KzIw
Pj4yXTtjW2krMjQ+PjJdPWNbdysyND4+Ml07Y1tpKzI4Pj4yXT1jW3crMjg+PjJdO2k9MjticmVh
a31lbHNle2k9dysyNHwwO2hbaT4+M109K2hbKCtoW2k+PjNdPitoW2IrOD4+M10/dysxNnwwOmIp
Kzg+PjNdO2k9Zis1NnwwO2NbaT4+Ml09Y1t3Pj4yXTtjW2krND4+Ml09Y1t3KzQ+PjJdO2NbaSs4
Pj4yXT1jW3crOD4+Ml07Y1tpKzEyPj4yXT1jW3crMTI+PjJdO2NbaSsxNj4+Ml09Y1t3KzE2Pj4y
XTtjW2krMjA+PjJdPWNbdysyMD4+Ml07Y1tpKzI0Pj4yXT1jW3crMjQ+PjJdO2NbaSsyOD4+Ml09
Y1t3KzI4Pj4yXTtpPTE7YnJlYWt9az0raFtuPj4zXTtpZighKGomOCkpe2hbdz4+M109aystMS4w
O2U9Y1tzPj4yXXwwO2s9K2hbZSsyND4+M107bT0raFtlKzgwPj4zXSouNTtpZigoY1tmKzQ4Pj4y
XXwwKT09NCl7aFt3KzI0Pj4zXT1tK2s7az0raFtiKzQ4Pj4zXSstMS4wO2k9d31lbHNle2hbdys4
Pj4zXT1rLW07az0raFtiKzQ4Pj4zXTtpPXcrMTZ8MH1oW2krOD4+M109aztpPWYrNTZ8MDtjW2k+
PjJdPWNbdz4+Ml07Y1tpKzQ+PjJdPWNbdys0Pj4yXTtjW2krOD4+Ml09Y1t3Kzg+PjJdO2NbaSsx
Mj4+Ml09Y1t3KzEyPj4yXTtjW2krMTY+PjJdPWNbdysxNj4+Ml07Y1tpKzIwPj4yXT1jW3crMjA+
PjJdO2NbaSsyND4+Ml09Y1t3KzI0Pj4yXTtjW2krMjg+PjJdPWNbdysyOD4+Ml07aT0xO2JyZWFr
fWVsc2V7aT13KzE2fDA7aFtpPj4zXT1rKzEuMDtlPWNbcz4+Ml18MDtrPStoW2UrMjQ+PjNdO209
K2hbZSs4MD4+M10qLjU7aWYoKGNbZis0OD4+Ml18MCk9PTQpe2hbdysyND4+M109bStrO2s9K2hb
Yis0OD4+M10rLTEuMDtpPXd9ZWxzZXtoW3crOD4+M109ay1tO2s9K2hbYis0OD4+M10rMS4wfWhb
aSs4Pj4zXT1rO2k9Zis1NnwwO2NbaT4+Ml09Y1t3Pj4yXTtjW2krND4+Ml09Y1t3KzQ+PjJdO2Nb
aSs4Pj4yXT1jW3crOD4+Ml07Y1tpKzEyPj4yXT1jW3crMTI+PjJdO2NbaSsxNj4+Ml09Y1t3KzE2
Pj4yXTtjW2krMjA+PjJdPWNbdysyMD4+Ml07Y1tpKzI0Pj4yXT1jW3crMjQ+PjJdO2NbaSsyOD4+
Ml09Y1t3KzI4Pj4yXTtpPTE7YnJlYWt9fWVsc2V7aT13Kzh8MDtoW2k+PjNdPStoWygraFtpPj4z
XTwraFtiKzQ4Pj4zXT93Om4pKzg+PjNdO2k9Zis1NnwwO2NbaT4+Ml09Y1t3Pj4yXTtjW2krND4+
Ml09Y1t3KzQ+PjJdO2NbaSs4Pj4yXT1jW3crOD4+Ml07Y1tpKzEyPj4yXT1jW3crMTI+PjJdO2Nb
aSsxNj4+Ml09Y1t3KzE2Pj4yXTtjW2krMjA+PjJdPWNbdysyMD4+Ml07Y1tpKzI0Pj4yXT1jW3cr
MjQ+PjJdO2NbaSsyOD4+Ml09Y1t3KzI4Pj4yXTtpPTF9d2hpbGUoMCk7Y1tmKzUyPj4yXT1pO3do
aWxlKDEpe2k9Y1tkKzE2Pj4yXXwwO2lmKCEoYVtpKzExMj4+MF18MCkpYnJlYWs7ZD1jW2krMTE2
Pj4yXXwwfWFbKCh5fDApPT0oY1soKGNbZD4+Ml0mM3wwKT09Mj9kOmQrLTQ4fDApKzQwPj4yXXww
KT9pKzU2fDA6aSsxNnwwKSszMD4+MF09MDtjW2YrNDg+PjJdPWp9YnJlYWt9ZGVmYXVsdDp4PTQ2
fWlmKCh4fDApPT00Nil7aj1jW2YrNDg+PjJdfDA7eD00N31hOmRvIGlmKCh4fDApPT00Nyl7aWYo
byl7ZD1mKzU2fDA7aT1mKzUyfDA7aj1kYltvJjNdKHksKGNbdT4+Ml18MCkrNTZ8MCxqLGQsaSl8
MDtpZihqKXtjW2YrNDg+PjJdPWo7YnJlYWt9fWVsc2V7aT1mKzUyfDA7ZD1mKzU2fDB9O2NbZD4+
Ml09Y1tmPj4yXTtjW2QrND4+Ml09Y1tmKzQ+PjJdO2NbZCs4Pj4yXT1jW2YrOD4+Ml07Y1tkKzEy
Pj4yXT1jW2YrMTI+PjJdO2NbZCsxNj4+Ml09Y1tmKzE2Pj4yXTtjW2QrMjA+PjJdPWNbZisyMD4+
Ml07Y1tkKzI0Pj4yXT1jW2YrMjQ+PjJdO2NbZCsyOD4+Ml09Y1tmKzI4Pj4yXTtjW2k+PjJdPTE7
c3dpdGNoKGV8MCl7Y2FzZSA4OnttYSgxMjMyMDUsOTE1NTgsNzY1LDkxNjAyKTticmVha31jYXNl
IDI6e2hbKChjW2YrNDg+PjJdfDApPT00P2YrNTZ8MDpmKzcyfDApKzg+PjNdPStoW2IrNDg+PjNd
O2JyZWFrIGF9Y2FzZSAxOntoW2YrNjQ+PjNdPStoW2IrNDg+PjNdO2NbZis0OD4+Ml09NDticmVh
ayBhfWRlZmF1bHQ6YnJlYWsgYX19d2hpbGUoMCk7bD16O3JldHVybn1mdW5jdGlvbiBReihiKXti
PWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGk9MCxqPTA7Zz1jW2IrMTY+PjJdfDA7aT1jW2crOTY+
PjJdfDA7aWYoKGFbZys0ND4+MF18MCk9PTA/KGFbZys4ND4+MF18MCk9PTA6MClqPTY7ZWxzZXtk
PWFbZys0OT4+MF18MDtlPWQmMjU1O2lmKCgoZSY4fDApPT0wPyhmPWFbZys4OT4+MF18MCwoZiY4
KT09MCk6MCk/KChlJjV8MCk9PTA/MTpkPDwyND4+MjQhPWY8PDI0Pj4yNCk6MClqPTY7ZWxzZSBi
PTB9aWYoKGp8MCk9PTYpaWYoIWkpYj0xODtlbHNle2I9KGNbKGNbKHJvKGNbKChjW2I+PjJdJjN8
MCk9PTI/YjpiKy00OHwwKSs0MD4+Ml18MCl8MCkrMTY+PjJdfDApKzExNj4+Ml0mMXwwKSE9MDti
PX5+KCtoWyhiP2krMzJ8MDppKzI0fDApPj4zXSsxOC4wKX1yZXR1cm4gYnwwfWZ1bmN0aW9uIFJ6
KGIsZCxlLGYsZyxoLGkpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9K2c7aD0raDtpPWl8MDt2
YXIgaj0wLGs9MCxsPTAsbT0wO2I9Y1soY1tkKyhlPDwyKT4+Ml18MCkrMTY+PjJdfDA7aWYoKGFb
Yis0ND4+MF18MCk9PTA/KGFbYis4ND4+MF18MCk9PTA6MClsPTY7ZWxzZSBsPTM7ZG8gaWYoKGx8
MCk9PTMpe2o9YVtiKzQ5Pj4wXXwwO2s9aiYyNTU7aWYoIShrJjgpKXttPWFbYis4OT4+MF18MDtp
ZigobSY4KT09MD8oKGsmNXwwKT09MD8xOmo8PDI0Pj4yNCE9bTw8MjQ+PjI0KTowKXtsPTY7YnJl
YWt9aWYoIShhW2IrODk+PjBdJjgpKXtpZihrJjR8MCl7VHooZCxlLGYsZyxoLGkpO2JyZWFrfWlm
KCEoayYxKSltYSgxMjMyMDUsOTE1NTgsMTIzMSw5MTYxMCk7ZWxzZXtWeihkLGUsZixnLGgsaSk7
YnJlYWt9fX1pZigoaiYyKT09MD8oYVtiKzg5Pj4wXSYyKT09MDowKXtVeihkLGUsZixnLGgsaSk7
YnJlYWt9VHooZCxlLGYsZyxoLGkpfXdoaWxlKDApO2lmKChsfDApPT02KVN6KGQsZSxmLGcsaCxp
KTtyZXR1cm59ZnVuY3Rpb24gU3ooYixlLGYsZyxpLGope2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9K2c7
aT0raTtqPWp8MDt2YXIgaz0wLG09MC4wLG49MC4wLG89MC4wLHA9MC4wLHE9MCxyPTAscz0wLHQ9
MCx1PTAsdj0wLjAsdz0wLHg9MCx5PTAsej0wLjAsQT0wLEI9MCxDPTAuMCxEPTAsRT0wLjAsRj0w
LjAsRz0wLjAsSD0wLjAsST0wLjAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MC4wLFI9
MC4wLFM9MDtQPWw7bD1sKzE2MDgwfDA7TD1QKzgwfDA7TT1QKzY0fDA7Tj1QKzQ4fDA7Tz1QKzMy
fDA7Sj1QKzE2fDA7Sz1QO0I9Y1tiKyhlPDwyKT4+Ml18MDtuPWkqLjUvKyhmfDApO249bj4yLjA/
bjoyLjA7RD0oY1soKGNbQj4+Ml0mM3wwKT09Mz9COkIrNDh8MCkrNDA+PjJdfDApKzE2fDA7QT1j
W0Q+PjJdfDA7Qz0raFtBKzE2Pj4zXTtIPStoW0ErMjQ+PjNdO0I9Y1tCKzE2Pj4yXXwwO209K2hb
QisxNj4+M107RT1tK0M7Rj0raFtCKzI0Pj4zXStIO2k9K2hbQis1Nj4+M107Rz1pK0M7SD0raFtC
KzY0Pj4zXStIO2s9IShGPj1IKT8tMToxO3A9K2hbQSs5Nj4+M107c3dpdGNoKFd6KGRbQis0OT4+
MF18MCxkW0IrODk+PjBdfDApfDApe2Nhc2UgNjU6Y2FzZSAzMjp7aWYoRj09SClrPTAta3wwO2Jy
ZWFrfWRlZmF1bHQ6e319UT0ocC1tKSozLjA7bT0ocC1pKSozLjA7dj1uKisoa3wwKTt1PUwrOHww
O3c9TCsxNnwwO3g9TCszMnwwO3k9TCs0OHwwO3o9KEgrRikqLjU7QT1MKzY0fDA7Qj1MKzgwfDA7
cz1MKzk2fDA7dD1MKzEwNHwwO3I9MDtvPTAuMDtpPXA7bj1wPFE/cDpRO209cDxtP3A6bTt3aGls
ZSgxKXtpZigocnwwKT49KGZ8MCkpYnJlYWs7cT1lKzF8MDtlPWNbYisoZTw8Mik+PjJdfDA7cD1p
K2c7bj1uK2c7bT1tK2c7bz1vK3Y7aFtMPj4zXT1FO2hbdT4+M109RjtRPW8rRjtYeihNLG4qLjMz
MzMzMzMzMzMzMzMzMzMrRSxRKTtjW3c+PjJdPWNbTT4+Ml07Y1t3KzQ+PjJdPWNbTSs0Pj4yXTtj
W3crOD4+Ml09Y1tNKzg+PjJdO2NbdysxMj4+Ml09Y1tNKzEyPj4yXTtSPXArQztYeihOLFIsUSk7
Y1t4Pj4yXT1jW04+PjJdO2NbeCs0Pj4yXT1jW04rND4+Ml07Y1t4Kzg+PjJdPWNbTis4Pj4yXTtj
W3grMTI+PjJdPWNbTisxMj4+Ml07WHooTyxSLHopO2NbeT4+Ml09Y1tPPj4yXTtjW3krND4+Ml09
Y1tPKzQ+PjJdO2NbeSs4Pj4yXT1jW08rOD4+Ml07Y1t5KzEyPj4yXT1jW08rMTI+PjJdO1E9SC1v
O1h6KEosUixRKTtjW0E+PjJdPWNbSj4+Ml07Y1tBKzQ+PjJdPWNbSis0Pj4yXTtjW0ErOD4+Ml09
Y1tKKzg+PjJdO2NbQSsxMj4+Ml09Y1tKKzEyPj4yXTtYeihLLG0qLjMzMzMzMzMzMzMzMzMzMzMr
RyxRKTtjW0I+PjJdPWNbSz4+Ml07Y1tCKzQ+PjJdPWNbSys0Pj4yXTtjW0IrOD4+Ml09Y1tLKzg+
PjJdO2NbQisxMj4+Ml09Y1tLKzEyPj4yXTtoW3M+PjNdPUc7aFt0Pj4zXT1IO2s9ZSsxNnwwO2lm
KChjWyhjW2s+PjJdfDApKzk2Pj4yXXwwKSE9MD8oUz0oY1soY1socm8oY1soKGNbZT4+Ml0mM3ww
KT09Mz9lOmUrNDh8MCkrNDA+PjJdfDApfDApKzE2Pj4yXXwwKSsxMTY+PjJdJjF8MCk9PTAsaz1j
WyhjW2s+PjJdfDApKzk2Pj4yXXwwLEk9K2hbKFM/aysyNHwwOmsrMzJ8MCk+PjNdLFM9Y1tEPj4y
XXwwLGhbays1Nj4+M109SSouNStwKyAraFtTKzE2Pj4zXSxoW2srNjQ+PjNdPStoW1MrMjQ+PjNd
LGFbays4MT4+MF09MSxJPmcpOjApaT1JK2k7ZWxzZSBpPXA7SnooZSxjWygoY1tlPj4yXSYzfDAp
PT0yP2U6ZSstNDh8MCkrNDA+PjJdfDAsTCw3LGopO2U9cTtyPXIrMXwwfWw9UDtyZXR1cm59ZnVu
Y3Rpb24gVHooYixlLGYsZyxpLGope2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9K2c7aT0raTtqPWp8MDt2
YXIgaz0wLjAsbT0wLG49MC4wLG89MC4wLHA9MC4wLHE9MC4wLHI9MCxzPTAuMCx0PTAsdT0wLHY9
MCx3PTAseD0wLHk9MCx6PTAsQT0wLjAsQj0wLEM9MCxEPTAuMCxFPTAsRj0wLjAsRz0wLjAsSD0w
LjAsST0wLjAsSj0wLjAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MC4wLFM9MDtRPWw7
bD1sKzE2MDgwfDA7TT1RKzgwfDA7Tj1RKzY0fDA7Tz1RKzQ4fDA7UD1RKzMyfDA7Sz1RKzE2fDA7
TD1RO0M9Y1tiKyhlPDwyKT4+Ml18MDtxPWcqLjUvKyhmfDApO3E9cT4yLjA/cToyLjA7RT0oY1so
KGNbQz4+Ml0mM3wwKT09Mz9DOkMrNDh8MCkrNDA+PjJdfDApKzE2fDA7bT1jW0U+PjJdfDA7SD0r
aFttKzE2Pj4zXTtEPStoW20rMjQ+PjNdO0M9Y1tDKzE2Pj4yXXwwO2s9K2hbQysxNj4+M107cD0r
aFtDKzI0Pj4zXTtGPWsrSDtHPXArRDtnPStoW0MrNTY+PjNdO289K2hbQys2ND4+M107SD1nK0g7
ST1vK0Q7bj0hKEY+PUgpPy0xLjA6MS4wO3M9K2hbbSs4MD4+M10qLjU7c3dpdGNoKFd6KGRbQys0
OT4+MF18MCxkW0MrODk+PjBdfDApfDApe2Nhc2UgMTU6e2s9KHEtZysgK2hbbSs5Nj4+M10pKm47
YnJlYWt9Y2FzZSAzODp7az0oZytxKyAraFttKzg4Pj4zXSkqbjticmVha31jYXNlIDQxOntrPShx
LWsrICtoW20rOTY+PjNdKSpuO2JyZWFrfWNhc2UgNDg6e2s9KHEtaysgK2hbbSs5Nj4+M10pKm47
YnJlYWt9Y2FzZSA1ODpjYXNlIDU3OmNhc2UgNTE6Y2FzZSA0NzpjYXNlIDM3OmNhc2UgMTQ6e2s9
biouMzMzMzMzMzMzMzMzMzMzMyooay1nKyAraFttKzg4Pj4zXSsgK2hbbSs5Nj4+M10pO2JyZWFr
fWNhc2UgNzM6e2s9KGsrcSsgK2hbbSs4OD4+M10pKm47YnJlYWt9Y2FzZSA4Mzp7az0oK2hbbSs4
OD4+M10raykqbjticmVha31jYXNlIDg0OntrPSgoay1nKyAraFttKzg4Pj4zXSsgK2hbbSs5Nj4+
M10pKi41K3EpKm47YnJlYWt9Y2FzZSA4NTpjYXNlIDc1OmNhc2UgNzQ6e2s9KChrLWcrICtoW20r
ODg+PjNdKyAraFttKzk2Pj4zXSkqLjUrcSoyLjApKm47YnJlYWt9ZGVmYXVsdDprPTAuMH1wPShz
LXApKjMuMDtvPShzLW8pKjMuMDtxPW4qcTt3PU0rOHwwO3g9TSsxNnwwO3k9TSszMnwwO3o9TSs0
OHwwO0E9KEgrRikqLjU7Qj1NKzY0fDA7Qz1NKzgwfDA7dT1NKzk2fDA7dj1NKzEwNHwwO3Q9MDtn
PXM7cD1zPHA/czpwO249czxvP3M6bzt3aGlsZSgxKXtpZigodHwwKT49KGZ8MCkpYnJlYWs7cj1l
KzF8MDtlPWNbYisoZTw8Mik+PjJdfDA7bz1nK2k7cD1wK2k7bj1uK2k7az1rK3E7aFtNPj4zXT1G
O2hbdz4+M109RztzPWsrRjtYeihOLHMscCouMzMzMzMzMzMzMzMzMzMzMytHKTtjW3g+PjJdPWNb
Tj4+Ml07Y1t4KzQ+PjJdPWNbTis0Pj4yXTtjW3grOD4+Ml09Y1tOKzg+PjJdO2NbeCsxMj4+Ml09
Y1tOKzEyPj4yXTtSPW8rRDtYeihPLHMsUik7Y1t5Pj4yXT1jW08+PjJdO2NbeSs0Pj4yXT1jW08r
ND4+Ml07Y1t5Kzg+PjJdPWNbTys4Pj4yXTtjW3krMTI+PjJdPWNbTysxMj4+Ml07WHooUCxBLFIp
O2Nbej4+Ml09Y1tQPj4yXTtjW3orND4+Ml09Y1tQKzQ+PjJdO2Nbeis4Pj4yXT1jW1ArOD4+Ml07
Y1t6KzEyPj4yXT1jW1ArMTI+PjJdO3M9SC1rO1h6KEsscyxSKTtjW0I+PjJdPWNbSz4+Ml07Y1tC
KzQ+PjJdPWNbSys0Pj4yXTtjW0IrOD4+Ml09Y1tLKzg+PjJdO2NbQisxMj4+Ml09Y1tLKzEyPj4y
XTtYeihMLHMsbiouMzMzMzMzMzMzMzMzMzMzMytJKTtjW0M+PjJdPWNbTD4+Ml07Y1tDKzQ+PjJd
PWNbTCs0Pj4yXTtjW0MrOD4+Ml09Y1tMKzg+PjJdO2NbQysxMj4+Ml09Y1tMKzEyPj4yXTtoW3U+
PjNdPUg7aFt2Pj4zXT1JO209ZSsxNnwwO2lmKChjWyhjW20+PjJdfDApKzk2Pj4yXXwwKSE9MD8o
Uz0oY1soY1socm8oY1soKGNbZT4+Ml0mM3wwKT09Mz9lOmUrNDh8MCkrNDA+PjJdfDApfDApKzE2
Pj4yXXwwKSsxMTY+PjJdJjF8MCk9PTAsbT1jWyhjW20+PjJdfDApKzk2Pj4yXXwwLEo9K2hbKFM/
bSszMnwwOm0rMjR8MCk+PjNdLFM9Y1tFPj4yXXwwLGhbbSs2ND4+M109SiouNStvKyAraFtTKzI0
Pj4zXSxoW20rNTY+PjNdPStoW1MrMTY+PjNdLGFbbSs4MT4+MF09MSxKPmkpOjApZz1KK2c7ZWxz
ZSBnPW87SnooZSxjWygoY1tlPj4yXSYzfDApPT0yP2U6ZSstNDh8MCkrNDA+PjJdfDAsTSw3LGop
O2U9cjt0PXQrMXwwfWw9UTtyZXR1cm59ZnVuY3Rpb24gVXooYixlLGYsZyxpLGope2I9YnwwO2U9
ZXwwO2Y9ZnwwO2c9K2c7aT0raTtqPWp8MDt2YXIgaz0wLG09MC4wLG49MC4wLG89MC4wLHA9MC4w
LHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLjAsdz0wLHg9MCx5PTAsej0wLjAsQT0wLEI9MCxDPTAu
MCxEPTAsRT0wLjAsRj0wLjAsRz0wLjAsSD0wLjAsST0wLjAsSj0wLEs9MCxMPTAsTT0wLE49MCxP
PTAsUD0wLFE9MC4wLFI9MC4wLFM9MDtQPWw7bD1sKzE2MDgwfDA7TD1QKzgwfDA7TT1QKzY0fDA7
Tj1QKzQ4fDA7Tz1QKzMyfDA7Sj1QKzE2fDA7Sz1QO0I9Y1tiKyhlPDwyKT4+Ml18MDtuPWkqLjUv
KyhmfDApO249bj4yLjA/bjoyLjA7RD0oY1soKGNbQj4+Ml0mM3wwKT09Mz9COkIrNDh8MCkrNDA+
PjJdfDApKzE2fDA7QT1jW0Q+PjJdfDA7Qz0raFtBKzE2Pj4zXTtIPStoW0ErMjQ+PjNdO0I9Y1tC
KzE2Pj4yXXwwO209K2hbQisxNj4+M107RT1tK0M7Rj0raFtCKzI0Pj4zXStIO2k9K2hbQis1Nj4+
M107Rz1pK0M7SD0raFtCKzY0Pj4zXStIO2s9IShGPj1IKT8tMToxO3A9K2hbQSs4OD4+M107c3dp
dGNoKFd6KGRbQis0OT4+MF18MCxkW0IrODk+PjBdfDApfDApe2Nhc2UgNjc6Y2FzZSAxMjp7aWYo
Rj09SClrPTAta3wwO2JyZWFrfWRlZmF1bHQ6e319UT0obStwKSozLjA7bT0oaStwKSozLjA7dj1u
Kisoa3wwKTt1PUwrOHwwO3c9TCsxNnwwO3g9TCszMnwwO3k9TCs0OHwwO3o9KEgrRikqLjU7QT1M
KzY0fDA7Qj1MKzgwfDA7cz1MKzk2fDA7dD1MKzEwNHwwO3I9MDtvPTAuMDtpPXA7bj1wPFE/cDpR
O209cDxtP3A6bTt3aGlsZSgxKXtpZigocnwwKT49KGZ8MCkpYnJlYWs7cT1lKzF8MDtlPWNbYiso
ZTw8Mik+PjJdfDA7cD1pK2c7bj1uK2c7bT1tK2c7bz1vK3Y7aFtMPj4zXT1FO2hbdT4+M109RjtR
PW8rRjtYeihNLEUtbiouMzMzMzMzMzMzMzMzMzMzMyxRKTtjW3c+PjJdPWNbTT4+Ml07Y1t3KzQ+
PjJdPWNbTSs0Pj4yXTtjW3crOD4+Ml09Y1tNKzg+PjJdO2NbdysxMj4+Ml09Y1tNKzEyPj4yXTtS
PUMtcDtYeihOLFIsUSk7Y1t4Pj4yXT1jW04+PjJdO2NbeCs0Pj4yXT1jW04rND4+Ml07Y1t4Kzg+
PjJdPWNbTis4Pj4yXTtjW3grMTI+PjJdPWNbTisxMj4+Ml07WHooTyxSLHopO2NbeT4+Ml09Y1tP
Pj4yXTtjW3krND4+Ml09Y1tPKzQ+PjJdO2NbeSs4Pj4yXT1jW08rOD4+Ml07Y1t5KzEyPj4yXT1j
W08rMTI+PjJdO1E9SC1vO1h6KEosUixRKTtjW0E+PjJdPWNbSj4+Ml07Y1tBKzQ+PjJdPWNbSis0
Pj4yXTtjW0ErOD4+Ml09Y1tKKzg+PjJdO2NbQSsxMj4+Ml09Y1tKKzEyPj4yXTtYeihLLEctbSou
MzMzMzMzMzMzMzMzMzMzMyxRKTtjW0I+PjJdPWNbSz4+Ml07Y1tCKzQ+PjJdPWNbSys0Pj4yXTtj
W0IrOD4+Ml09Y1tLKzg+PjJdO2NbQisxMj4+Ml09Y1tLKzEyPj4yXTtoW3M+PjNdPUc7aFt0Pj4z
XT1IO2s9ZSsxNnwwO2lmKChjWyhjW2s+PjJdfDApKzk2Pj4yXXwwKSE9MD8oUz0oY1soY1socm8o
Y1soKGNbZT4+Ml0mM3wwKT09Mz9lOmUrNDh8MCkrNDA+PjJdfDApfDApKzE2Pj4yXXwwKSsxMTY+
PjJdJjF8MCk9PTAsaz1jWyhjW2s+PjJdfDApKzk2Pj4yXXwwLEk9K2hbKFM/aysyNHwwOmsrMzJ8
MCk+PjNdLFM9Y1tEPj4yXXwwLGhbays1Nj4+M109SSotLjUtcCsgK2hbUysxNj4+M10saFtrKzY0
Pj4zXT0raFtTKzI0Pj4zXSxhW2srODE+PjBdPTEsST5nKTowKWk9SStpO2Vsc2UgaT1wO0p6KGUs
Y1soKGNbZT4+Ml0mM3wwKT09Mj9lOmUrLTQ4fDApKzQwPj4yXXwwLEwsNyxqKTtlPXE7cj1yKzF8
MH1sPVA7cmV0dXJufWZ1bmN0aW9uIFZ6KGIsZSxmLGcsaSxqKXtiPWJ8MDtlPWV8MDtmPWZ8MDtn
PStnO2k9K2k7aj1qfDA7dmFyIGs9MC4wLG09MC4wLG49MC4wLG89MC4wLHA9MCxxPTAscj0wLHM9
MCx0PTAsdT0wLHY9MC4wLHc9MCx4PTAuMCx5PTAuMCx6PTAuMCxBPTAuMCxCPTAuMCxDPTAsRD0w
LEU9MCxGPTAuMCxHPTAsSD0wLEk9MC4wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxRPTAu
MCxSPTAuMCxTPTA7UD1sO2w9bCsxNjA4MHwwO0w9UCs4MHwwO009UCs2NHwwO049UCs0OHwwO089
UCszMnwwO0o9UCsxNnwwO0s9UDtDPWNbYisoZTw8Mik+PjJdfDA7Qj1nKi41LysoZnwwKTt3PShj
WygoY1tDPj4yXSYzfDApPT0zP0M6Qys0OHwwKSs0MD4+Ml18MCkrMTZ8MDtEPWNbdz4+Ml18MDt6
PStoW0QrMTY+PjNdO3Y9K2hbRCsyND4+M107Qz1jW0MrMTY+PjJdfDA7bT0raFtDKzI0Pj4zXTt4
PStoW0MrMTY+PjNdK3o7eT1tK3Y7bj0raFtDKzY0Pj4zXTt6PStoW0MrNTY+PjNdK3o7QT1uK3Y7
dT0hKHg+PXopPy0xOjE7bz0raFtEKzgwPj4zXSouNTtDPShXeihkW0MrNDk+PjBdfDAsZFtDKzg5
Pj4wXXwwKXwwKT09Njc7bT0obStvKSozLjA7bj0obitvKSozLjA7Qj0oQj4yLjA/QjoyLjApKiso
KEM/MC11fDA6dSl8MCk7dT1MKzh8MDtDPUwrMTZ8MDtEPUwrMzJ8MDtFPUwrNDh8MDtGPSh6K3gp
Ki41O0c9TCs2NHwwO0g9TCs4MHwwO3M9TCs5NnwwO3Q9TCsxMDR8MDtnPW87az0wLjA7bT1vPG0/
bzptO249bzxuP286bjtxPTA7d2hpbGUoMSl7aWYoKHF8MCk+PShmfDApKWJyZWFrO3I9ZSsxfDA7
cD1jW2IrKGU8PDIpPj4yXXwwO289ZytpO209bStpO249bitpO2s9aytCO2hbTD4+M109eDtoW3U+
PjNdPXk7UT1rK3g7WHooTSxRLHktbSouMzMzMzMzMzMzMzMzMzMzMyk7Y1tDPj4yXT1jW00+PjJd
O2NbQys0Pj4yXT1jW00rND4+Ml07Y1tDKzg+PjJdPWNbTSs4Pj4yXTtjW0MrMTI+PjJdPWNbTSsx
Mj4+Ml07Uj12LW87WHooTixRLFIpO2NbRD4+Ml09Y1tOPj4yXTtjW0QrND4+Ml09Y1tOKzQ+PjJd
O2NbRCs4Pj4yXT1jW04rOD4+Ml07Y1tEKzEyPj4yXT1jW04rMTI+PjJdO1h6KE8sRixSKTtjW0U+
PjJdPWNbTz4+Ml07Y1tFKzQ+PjJdPWNbTys0Pj4yXTtjW0UrOD4+Ml09Y1tPKzg+PjJdO2NbRSsx
Mj4+Ml09Y1tPKzEyPj4yXTtRPXotaztYeihKLFEsUik7Y1tHPj4yXT1jW0o+PjJdO2NbRys0Pj4y
XT1jW0orND4+Ml07Y1tHKzg+PjJdPWNbSis4Pj4yXTtjW0crMTI+PjJdPWNbSisxMj4+Ml07WHoo
SyxRLEEtbiouMzMzMzMzMzMzMzMzMzMzMyk7Y1tIPj4yXT1jW0s+PjJdO2NbSCs0Pj4yXT1jW0sr
ND4+Ml07Y1tIKzg+PjJdPWNbSys4Pj4yXTtjW0grMTI+PjJdPWNbSysxMj4+Ml07aFtzPj4zXT16
O2hbdD4+M109QTtlPXArMTZ8MDtpZigoY1soY1tlPj4yXXwwKSs5Nj4+Ml18MCkhPTA/KFM9KGNb
KGNbKHJvKGNbKChjW3A+PjJdJjN8MCk9PTM/cDpwKzQ4fDApKzQwPj4yXXwwKXwwKSsxNj4+Ml18
MCkrMTE2Pj4yXSYxfDApPT0wLGU9Y1soY1tlPj4yXXwwKSs5Nj4+Ml18MCxJPStoWyhTP2UrMzJ8
MDplKzI0fDApPj4zXSxTPWNbdz4+Ml18MCxoW2UrNjQ+PjNdPUkqLS41LW8rICtoW1MrMjQ+PjNd
LGhbZSs1Nj4+M109K2hbUysxNj4+M10sYVtlKzgxPj4wXT0xLEk+aSk6MClnPUkrZztlbHNlIGc9
bztKeihwLGNbKChjW3A+PjJdJjN8MCk9PTI/cDpwKy00OHwwKSs0MD4+Ml18MCxMLDcsaik7ZT1y
O3E9cSsxfDB9bD1QO3JldHVybn1mdW5jdGlvbiBXeihhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTA7
ZD0wO3doaWxlKDEpe2lmKChkfDApPj04KXtiPS0xO2JyZWFrfWlmKChjWzIxMDY0KyhkPDwyKT4+
Ml18MCk9PShifDApKXtiPWQ7YnJlYWt9ZD1kKzF8MH1kPTA7d2hpbGUoMSl7aWYoKGR8MCk+PTgp
e2Q9LTE7YnJlYWt9aWYoKGNbMjEwNjQrKGQ8PDIpPj4yXXwwKT09KGF8MCkpYnJlYWs7ZD1kKzF8
MH1pZigoZHxifDApPDApZD0wO2Vsc2UgZD1jWzIxMDk2KyhkPDw1KSsoYjw8Mik+PjJdfDA7cmV0
dXJuIGR8MH1mdW5jdGlvbiBYeihhLGIsYyl7YT1hfDA7Yj0rYjtjPStjO2hbYT4+M109YjtoW2Er
OD4+M109YztyZXR1cm59ZnVuY3Rpb24gWXooYil7Yj1ifDA7dmFyIGQ9MCxlPTA7aWYoKGNbNDIy
NDddfDApIT0wfChjWzQyMjQ2XXwwKSE9MCl7ZD1iKzE2fDA7ZT1jWyhjW2Q+PjJdfDApKzEwMD4+
Ml18MDtpZigoZXwwPyhhW2UrODE+PjBdfDApPT0wOjApP1p6KGIsMSl8MDowKXtlPXJvKGNbKChj
W2I+PjJdJjN8MCk9PTM/YjpiKzQ4fDApKzQwPj4yXXwwKXwwO2JCKGUsY1soY1tkPj4yXXwwKSsx
MDA+PjJdfDApfWU9Y1soY1tkPj4yXXwwKSsxMDQ+PjJdfDA7aWYoKGV8MD8oYVtlKzgxPj4wXXww
KT09MDowKT9aeihiLDApfDA6MCl7ZT1ybyhjWygoY1tiPj4yXSYzfDApPT0zP2I6Yis0OHwwKSs0
MD4+Ml18MCl8MDtiQihlLGNbKGNbZD4+Ml18MCkrMTA0Pj4yXXwwKX19cmV0dXJufWZ1bmN0aW9u
IFp6KGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAuMCxnPTAuMCxpPTAsaj0wLjAsaz0wLG09
MCxuPTAsbz0wLHA9MCxxPTAscj0wLjA7cT1sO2w9bCs5NnwwO289cSszMnwwO209cSsxNnwwO249
cTtpPWIrMTZ8MDtkbyBpZigoYVsoY1tpPj4yXXwwKSsxMTI+PjBdfDApIT02KXtlPWNbNDIyNDdd
fDA7aWYoISgoZXwwKSE9MD8oYVsoSm0oYixlKXwwKT4+MF18MCkhPTA6MCkpe2U9Y1s0MjI0Nl18
MDtpZighZSl7ZT0wO2JyZWFrfWlmKCEoYVsoSm0oYixlKXwwKT4+MF18MCkpe2U9MDticmVha319
ZD1kPDwyND4+MjQ9PTA7cD1jW2k+PjJdfDA7cD1jWyhkP3ArMTA0fDA6cCsxMDB8MCk+PjJdfDA7
ZT1feihiKXwwO2lmKGUpe2s9Y1tlPj4yXXwwO2RvIGlmKGQpe2lmKGNbays4Pj4yXXwwKXtlPWNb
az4+Ml18MDtqPStoW2U+PjNdO2c9K2hbaysxNj4+M107ZT1lKzh8MDtmPStoW2srMjQ+PjNdO2Jy
ZWFrfWU9Y1trPj4yXXwwO2c9K2hbZT4+M107Zj0raFtlKzg+PjNdO2U9MDt3aGlsZSgxKXtpZigo
ZXwwKT09NClicmVhaztuPW8rKGU8PDQpfDA7aT0oY1trPj4yXXwwKSsoZTw8NCl8MDtjW24+PjJd
PWNbaT4+Ml07Y1tuKzQ+PjJdPWNbaSs0Pj4yXTtjW24rOD4+Ml09Y1tpKzg+PjJdO2NbbisxMj4+
Ml09Y1tpKzEyPj4yXTtlPWUrMXwwfVBBKG0sbywzLC4xLDAsMCk7aj0raFttPj4zXTtlPW0rOHww
fWVsc2V7ZD0oY1tlKzQ+PjJdfDApKy0xfDA7aT1rKyhkKjQ4fDApfDA7aWYoY1trKyhkKjQ4fDAp
KzEyPj4yXXwwKXtvPWNbaT4+Ml18MDtlPShjW2srKGQqNDh8MCkrND4+Ml18MCkrLTF8MDtqPSto
W28rKGU8PDQpPj4zXTtnPStoW2srKGQqNDh8MCkrMzI+PjNdO2U9bysoZTw8NCkrOHwwO2Y9K2hb
aysoZCo0OHwwKSs0MD4+M107YnJlYWt9bT1jW2k+PjJdfDA7ZD1rKyhkKjQ4fDApKzR8MDtlPShj
W2Q+PjJdfDApKy0xfDA7Zz0raFttKyhlPDw0KT4+M107Zj0raFttKyhlPDw0KSs4Pj4zXTtlPTA7
d2hpbGUoMSl7aWYoKGV8MCk9PTQpYnJlYWs7bT1vKyhlPDw0KXwwO2s9KGNbaT4+Ml18MCkrKGUr
LTQrKGNbZD4+Ml18MCk8PDQpfDA7Y1ttPj4yXT1jW2s+PjJdO2NbbSs0Pj4yXT1jW2srND4+Ml07
Y1ttKzg+PjJdPWNbays4Pj4yXTtjW20rMTI+PjJdPWNbaysxMj4+Ml07ZT1lKzF8MH1QQShuLG8s
MywuOSwwLDApO2o9K2hbbj4+M107ZT1uKzh8MH13aGlsZSgwKTtyPStLKCsoK2hbZT4+M10tZiks
KyhqLWcpKTtyPStFQShiLGNbNDIyNDddfDAsLTI1LjAsLTE4MC4wKSouMDE3NDUzMjkyNTE5OTQz
Mjk1K3I7aj0rRUEoYixjWzQyMjQ2XXwwLDEuMCwwLjApKjEwLjA7aFtwKzU2Pj4zXT1qKitFKCty
KStnO2hbcCs2ND4+M109K0YoK3IpKmorZjthW3ArODE+PjBdPTE7ZT0xfWVsc2UgZT0wfWVsc2Ug
ZT0wO3doaWxlKDApO2w9cTtyZXR1cm4gZXwwfWZ1bmN0aW9uIF96KGIpe2I9YnwwO3ZhciBkPTAs
ZT0wLGY9MCxnPTAsaD0wO2g9bDtsPWwrMTZ8MDtmPWg7ZD1iO3doaWxlKDEpe2U9Y1tkKzE2Pj4y
XXwwO2Q9Y1tlKzg+PjJdfDA7aWYoZHwwKWJyZWFrO2lmKCEoYVtlKzExMj4+MF18MCkpe2c9NTti
cmVha31kPWNbZSsxMTY+PjJdfDB9aWYoKGd8MCk9PTUpe2c9RG4oY1soKGNbYj4+Ml0mM3wwKT09
Mz9iOmIrNDh8MCkrNDA+PjJdfDApfDA7ZD1EbihjWygoY1tiPj4yXSYzfDApPT0yP2I6YistNDh8
MCkrNDA+PjJdfDApfDA7Y1tmPj4yXT1nO2NbZis0Pj4yXT1kO19sKDEsOTE2MjMsZil8MDtkPTB9
bD1oO3JldHVybiBkfDB9ZnVuY3Rpb24gJHooYSxkLGUpe2E9YXwwO2Q9ZHwwO2U9ZXwwO3ZhciBm
PTAuMCxnPTAuMCxpPTAuMCxqPTAuMCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9
MC4wLHU9MC4wO3M9bDtsPWwrOTZ8MDttPXMrODB8MDtuPXMrNjR8MDtvPXMrNDh8MDtwPXMrMzJ8
MDtxPXMrMTZ8MDtyPXM7az1iWyhjW2QrMTY+PjJdfDApKzEzNj4+MV18MDtkPWUrMTZ8MDthQShj
WyhjW2Q+PjJdfDApKzg+PjJdfDAscCxxKTtmPStoW3A+PjNdO2c9K2hbcT4+M107dD1mLWc7aT0r
aFtwKzg+PjNdO2o9K2hbcSs4Pj4zXTt1PWktajthOmRvIGlmKHUqdSt0KnQ8MS4wZS0wNil7Y1tv
Pj4yXT1jW3A+PjJdO2Nbbys0Pj4yXT1jW3ArND4+Ml07Y1tvKzg+PjJdPWNbcCs4Pj4yXTtjW28r
MTI+PjJdPWNbcCsxMj4+Ml19ZWxzZSBzd2l0Y2goayYxNCl7Y2FzZSA0OmNhc2UgMTA6e2hbbj4+
M109KGcrZikqLjU7aFtuKzg+PjNdPShqK2kpKi41O3E9Y1soY1tkPj4yXXwwKSs4Pj4yXXwwO2Nb
bT4+Ml09Y1tuPj4yXTtjW20rND4+Ml09Y1tuKzQ+PjJdO2NbbSs4Pj4yXT1jW24rOD4+Ml07Y1tt
KzEyPj4yXT1jW24rMTI+PjJdO1ZBKHIscSxtKTtjW28+PjJdPWNbcj4+Ml07Y1tvKzQ+PjJdPWNb
cis0Pj4yXTtjW28rOD4+Ml09Y1tyKzg+PjJdO2NbbysxMj4+Ml09Y1tyKzEyPj4yXTticmVhayBh
fWRlZmF1bHQ6e2JBKG8sY1soY1tkPj4yXXwwKSs4Pj4yXXwwLHAscSk7YnJlYWsgYX19d2hpbGUo
MCk7Y1thPj4yXT1jW28+PjJdO2NbYSs0Pj4yXT1jW28rND4+Ml07Y1thKzg+PjJdPWNbbys4Pj4y
XTtjW2ErMTI+PjJdPWNbbysxMj4+Ml07bD1zO3JldHVybn1mdW5jdGlvbiBhQShhLGIsZCl7YT1h
fDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtoPWw7bD1sKzMy
fDA7Zz1oKzE2fDA7Zj1oO2o9Y1thPj4yXXwwO2U9Y1tqPj4yXXwwO2k9Y1tqKzg+PjJdfDA7az1q
KzE2fDA7Y1tnPj4yXT1jW2s+PjJdO2NbZys0Pj4yXT1jW2srND4+Ml07Y1tnKzg+PjJdPWNbays4
Pj4yXTtjW2crMTI+PjJdPWNbaysxMj4+Ml07aj1qKzMyfDA7Y1tmPj4yXT1jW2o+PjJdO2NbZis0
Pj4yXT1jW2orND4+Ml07Y1tmKzg+PjJdPWNbais4Pj4yXTtjW2YrMTI+PjJdPWNbaisxMj4+Ml07
aWYoIWkpe2NbYj4+Ml09Y1tlPj4yXTtjW2IrND4+Ml09Y1tlKzQ+PjJdO2NbYis4Pj4yXT1jW2Ur
OD4+Ml07Y1tiKzEyPj4yXT1jW2UrMTI+PjJdfWVsc2V7Y1tiPj4yXT1jW2c+PjJdO2NbYis0Pj4y
XT1jW2crND4+Ml07Y1tiKzg+PjJdPWNbZys4Pj4yXTtjW2IrMTI+PjJdPWNbZysxMj4+Ml19aT1j
W2E+PjJdfDA7aj0oY1thKzQ+PjJdfDApKy0xfDA7ZT1jW2krKGoqNDh8MCk+PjJdfDA7YT1jW2kr
KGoqNDh8MCkrND4+Ml18MDtrPWNbaSsoaio0OHwwKSsxMj4+Ml18MDtiPWkrKGoqNDh8MCkrMTZ8
MDtjW2c+PjJdPWNbYj4+Ml07Y1tnKzQ+PjJdPWNbYis0Pj4yXTtjW2crOD4+Ml09Y1tiKzg+PjJd
O2NbZysxMj4+Ml09Y1tiKzEyPj4yXTtqPWkrKGoqNDh8MCkrMzJ8MDtjW2Y+PjJdPWNbaj4+Ml07
Y1tmKzQ+PjJdPWNbais0Pj4yXTtjW2YrOD4+Ml09Y1tqKzg+PjJdO2NbZisxMj4+Ml09Y1tqKzEy
Pj4yXTtpZighayl7az1lKyhhKy0xPDw0KXwwO2NbZD4+Ml09Y1trPj4yXTtjW2QrND4+Ml09Y1tr
KzQ+PjJdO2NbZCs4Pj4yXT1jW2srOD4+Ml07Y1tkKzEyPj4yXT1jW2srMTI+PjJdfWVsc2V7Y1tk
Pj4yXT1jW2Y+PjJdO2NbZCs0Pj4yXT1jW2YrND4+Ml07Y1tkKzg+PjJdPWNbZis4Pj4yXTtjW2Qr
MTI+PjJdPWNbZisxMj4+Ml19bD1oO3JldHVybn1mdW5jdGlvbiBiQShhLGIsZCxlKXthPWF8MDti
PWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MC4wLGk9MCxqPTAsaz0wLGw9MCxtPTAuMCxuPTAu
MCxvPTAuMCxwPTAuMCxxPTAuMCxyPTAscz0wLjA7cj1jW2IrND4+Ml18MDtnPTAuMDtmPTA7d2hp
bGUoMSl7aWYoKGZ8MCk+PShyfDApKWJyZWFrO2w9Y1tiPj4yXXwwO2s9Y1tsKyhmKjQ4fDApPj4y
XXwwO2w9Y1tsKyhmKjQ4fDApKzQ+PjJdfDA7aT0zO2o9MDt3aGlsZSgxKXtpZigoaXwwKT49KGx8
MCkpYnJlYWs7cT0raFtrKyhqPDw0KT4+M10tK2hbaysoaTw8NCk+PjNdO3A9K2hbaysoajw8NCkr
OD4+M10tK2hbaysoaTw8NCkrOD4+M107aT1pKzN8MDtqPWorM3wwO2c9K0MoKyhwKnArcSpxKSkr
Z31mPWYrMXwwfWw9MDtnPWcqLjU7YTp3aGlsZSgxKXtpZigobHwwKT49KHJ8MCkpe2Y9MTU7YnJl
YWt9az1jW2I+PjJdfDA7aj1jW2srKGwqNDh8MCk+PjJdfDA7az1jW2srKGwqNDh8MCkrND4+Ml18
MDtmPTM7aT0wO3doaWxlKDEpe2lmKChmfDApPj0oa3wwKSlicmVhazttPStoW2orKGk8PDQpPj4z
XTtwPStoW2orKGk8PDQpKzg+PjNdO249K2hbaisoZjw8NCk+PjNdO289K2hbaisoZjw8NCkrOD4+
M107cT1tLW47cz1wLW87cT0rQygrKHMqcytxKnEpKTtpZihxPj1nKXtmPTEyO2JyZWFrIGF9Zj1m
KzN8MDtpPWkrM3wwO2c9Zy1xfWw9bCsxfDB9aWYoKGZ8MCk9PTEyKXtoW2Q+PjNdPW07aFtkKzg+
PjNdPXA7aFtlPj4zXT1uO2hbZSs4Pj4zXT1vO3M9cS1nO2hbYT4+M109KHMqbStuKmcpL3E7aFth
Kzg+PjNdPShzKnArbypnKS9xO3JldHVybn1lbHNlIGlmKChmfDApPT0xNSltYSgxMjM1MjMsOTE1
NTgsMTMxNiw5MTY4NSl9ZnVuY3Rpb24gY0EoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1k
fDA7WXooYik7cmV0dXJufWZ1bmN0aW9uIGRBKGIsZCxlLGYsZyl7Yj1ifDA7ZD1kfDA7ZT0rZTtm
PWZ8MDtnPWd8MDt2YXIgaT0wLjAsaj0wLjAsaz0wLjAsbD0wLjAsbT0wLjAsbj0wLG89MCxwPTAu
MCxxPTAuMCxyPTAuMCxzPTAsdD0wLjAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MC4w
LEM9MC4wLEQ9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MDtKPWVBKGIpfDA7ST1jW0orND4+Ml18
MDtLPWNbSj4+Ml18MDtIPUkrLTF8MDtCPStoW0srKEg8PDYpKzE2Pj4zXTtDPSsoSXwwKTtEPShn
fDApPT0yO0c9KGZ8MCkhPTA7bj0wO2o9MC4wO2k9MC4wO2w9MC4wO209MC4wO3doaWxlKDEpe2lm
KChufDApPj0oSXwwKSlicmVhaztiPX5+K2ZBKCsobistMXwwKSxDKTtBPW4rMXwwO0w9fn4rZkEo
KyhBfDApLEMpO289Sysobjw8Nil8MDttPStoW28+PjNdO3o9Sysobjw8NikrOHwwO2w9K2hbej4+
M107cz1LKyhuPDw2KSsxNnwwO3Q9K2hbcz4+M107dT1LKyhuPDw2KSsyNHwwO3Y9Sysobjw8Nikr
MzJ8MDt3PUsrKG48PDYpKzQwfDA7eD1LKyhuPDw2KSs0OHwwO3k9Sysobjw8NikrNTZ8MDtrPStn
QSgraFtLKyhMPDw2KSs4Pj4zXS1sLCtoW0srKEw8PDYpPj4zXS1tKTtxPStnQSgraFtLKyhiPDw2
KSs4Pj4zXS1sLCtoW0srKGI8PDYpPj4zXS1tKTtyPStaYVtkJjddKHQsQixlKTtiPShufDApPT0w
O2RvIGlmKGJ8KG58MCk9PShIfDApKWlmKGIpe2k9aysxLjU3MDc5NjMyNjc5NDg5NjY7aWYoIUQp
e2I9MDtwPWk7aj1yO2JyZWFrfWI9MDtwPWk7aj1yO2w9bC0rRigraykqcjttPW0tK0UoK2spKnI7
YnJlYWt9ZWxzZXtpPXErLTEuNTcwNzk2MzI2Nzk0ODk2NjtpZighRCl7Yj0wO3A9aTtqPXI7YnJl
YWt9Yj0wO3A9aTtqPXI7bD1sLStGKCtxKSpyO209bS0rRSgrcSkqcjticmVha31lbHNle3A9ay1x
O3A9MS41NzA3OTYzMjY3OTQ4OTY2LShwPDAuMD9wKzYuMjgzMTg1MzA3MTc5NTg2OnApKi41O2o9
K0UoK3ApO2o9aj09MC4wPzAuMDpyL2o7aT1rKzEuNTcwNzk2MzI2Nzk0ODk2NjtrPXAraTtpZihH
fGo+cioxMC4wKXtxPStmQShxKy0xLjU3MDc5NjMyNjc5NDg5NjYsNi4yODMxODUzMDcxNzk1ODYp
O2I9MTtwPStmQShpLDYuMjgzMTg1MzA3MTc5NTg2KTtqPXI7aT1xfWVsc2V7Yj0wO3A9aztpPWt9
fXdoaWxlKDApO2hbbz4+M109bTtoW3o+PjNdPWw7aFtzPj4zXT10O2FbdT4+MF09MTA4O2hbdj4+
M109aTtoW3c+PjNdPWo7Y1t4Pj4yXT1iO2hbeT4+M109cDtuPUF9bz12dygxMil8MDtiPTA7d2hp
bGUoMSl7aWYoKGJ8MCk+PShJfDApKWJyZWFrO209K2hbSysoYjw8Nik+PjNdO2w9K2hbSysoYjw8
NikrOD4+M107aT0raFtLKyhiPDw2KSszMj4+M107aj0raFtLKyhiPDw2KSs0MD4+M107TD1jW0sr
KGI8PDYpKzQ4Pj4yXXwwO2s9K2hbSysoYjw8NikrNTY+PjNdO2hBKG8sK0UoK2kpKmorbSwrRigr
aSkqaitsKTtpZihMfDApaUEobSxsLGosMSxpLGssZixvKTtiPWIrMXwwfW49KGd8MCk9PTE7az1p
KzMuMTQxNTkyNjUzNTg5NzkzO2lmKG4pakEobyxtLGwsaixpLGspO2Vsc2V7aEEobywrRSgraykq
aittLCtGKCtrKSpqK2wpO2k9a31iPUkrLTJ8MDtrPW07d2hpbGUoMSl7aWYoKGJ8MCk8PS0xKWJy
ZWFrO209K2hbSysoYjw8Nik+PjNdO2w9K2hbSysoYjw8NikrOD4+M107aj0raFtLKyhiPDw2KSs0
MD4+M107TD1jW0srKGI8PDYpKzQ4Pj4yXXwwO2k9K2hbSysoYjw8NikrMzI+PjNdKzMuMTQxNTky
NjUzNTg5NzkzO2s9K2hbSysoYjw8NikrNTY+PjNdKzMuMTQxNTkyNjUzNTg5NzkzO2hBKG8sK0Uo
K2spKmorbSwrRigraykqaitsKTtpZihMfDApaUEobSxsLGosMCxpLGssZixvKTtiPWIrLTF8MDtr
PW19aWYobilqQShvLGssbCxqLGksaSszLjE0MTU5MjY1MzU4OTc5Myk7a0EoSik7cmV0dXJuIG98
MH1mdW5jdGlvbiBlQShhKXthPWF8MDt2YXIgYj0wLjAsZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAs
aj0wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLjA7cT1sO2w9bCsxNDR8MDtp
PXErMTI4fDA7aD1xKzExMnwwO2o9cSs5NnwwO2s9cSs2NHwwO209cTtuPXErODB8MDtvPWxBKCl8
MDtwPWNbYSs0Pj4yXXwwO2Y9Y1thPj4yXXwwO2NbaT4+Ml09Y1tmPj4yXTtjW2krND4+Ml09Y1tm
KzQ+PjJdO2NbaSs4Pj4yXT1jW2YrOD4+Ml07Y1tpKzEyPj4yXT1jW2YrMTI+PjJdO21BKG8saSww
LjApO2c9bSs0OHwwO2NbZz4+Ml09Y1tmPj4yXTtjW2crND4+Ml09Y1tmKzQ+PjJdO2NbZys4Pj4y
XT1jW2YrOD4+Ml07Y1tnKzEyPj4yXT1jW2YrMTI+PjJdO2Q9MDtiPTAuMDthOndoaWxlKDEpe2U9
ZCszfDA7aWYoKGV8MCk+PShwfDApKWJyZWFrO2NbbT4+Ml09Y1tnPj4yXTtjW20rND4+Ml09Y1tn
KzQ+PjJdO2NbbSs4Pj4yXT1jW2crOD4+Ml07Y1ttKzEyPj4yXT1jW2crMTI+PjJdO2E9MTt3aGls
ZSgxKXtpZigoYXwwKT09NClicmVhaztyPW0rKGE8PDQpfDA7cz1mKyhhK2Q8PDQpfDA7Y1tyPj4y
XT1jW3M+PjJdO2Nbcis0Pj4yXT1jW3MrND4+Ml07Y1tyKzg+PjJdPWNbcys4Pj4yXTtjW3IrMTI+
PjJdPWNbcysxMj4+Ml07YT1hKzF8MH1jW2o+PjJdPWNbbT4+Ml07Y1tqKzQ+PjJdPWNbbSs0Pj4y
XTtjW2orOD4+Ml09Y1ttKzg+PjJdO2NbaisxMj4+Ml09Y1ttKzEyPj4yXTthPTE7d2hpbGUoMSl7
aWYoKGF8MCk9PTIxKXtkPWU7Y29udGludWUgYX1QQShuLG0sMywrKGF8MCkqLjA1LDAsMCk7Y1tr
Pj4yXT1jW24+PjJdO2Nbays0Pj4yXT1jW24rND4+Ml07Y1trKzg+PjJdPWNbbis4Pj4yXTtjW2sr
MTI+PjJdPWNbbisxMj4+Ml07Y1toPj4yXT1jW2o+PjJdO2NbaCs0Pj4yXT1jW2orND4+Ml07Y1to
Kzg+PjJdPWNbais4Pj4yXTtjW2grMTI+PjJdPWNbaisxMj4+Ml07Y1tpPj4yXT1jW24+PjJdO2Nb
aSs0Pj4yXT1jW24rND4+Ml07Y1tpKzg+PjJdPWNbbis4Pj4yXTtjW2krMTI+PjJdPWNbbisxMj4+
Ml07dD0rbkEoaCxpKStiO2NbaT4+Ml09Y1trPj4yXTtjW2krND4+Ml09Y1trKzQ+PjJdO2NbaSs4
Pj4yXT1jW2srOD4+Ml07Y1tpKzEyPj4yXT1jW2srMTI+PjJdO21BKG8saSx0KTtjW2o+PjJdPWNb
az4+Ml07Y1tqKzQ+PjJdPWNbays0Pj4yXTtjW2orOD4+Ml09Y1trKzg+PjJdO2NbaisxMj4+Ml09
Y1trKzEyPj4yXTthPWErMXwwO2I9dH19b0Eobyk7bD1xO3JldHVybiBvfDB9ZnVuY3Rpb24gZkEo
YSxiKXthPSthO2I9K2I7dmFyIGM9MC4wO2M9YS0rQSgrKGEvYikpKmI7cmV0dXJuICsoIShhPDAu
MCkmIShhPj1iKT9hOmMpfWZ1bmN0aW9uIGdBKGEsYil7YT0rYTtiPStiO2lmKCEoYT09MC4wJmI9
PTAuMCkpe2E9K0soK2EsK2IpO2lmKCEoYT49MC4wKSlhPWErNi4yODMxODUzMDcxNzk1ODZ9ZWxz
ZSBhPTAuMDtyZXR1cm4gK2F9ZnVuY3Rpb24gaEEoYSxiLGQpe2E9YXwwO2I9K2I7ZD0rZDt2YXIg
ZT0wLGY9MDtlPWNbYT4+Ml18MDtmPWErNHwwO2lmKChlfDApPChjW2Y+PjJdfDApKWY9Y1thKzg+
PjJdfDA7ZWxzZXtjW2Y+PjJdPTJlMztlPWErOHwwO2Y9eXcoY1tlPj4yXXwwLDMyZTMpfDA7Y1tl
Pj4yXT1mO2U9Y1thPj4yXXwwfWNbYT4+Ml09ZSsxO2hbZisoZTw8NCk+PjNdPWI7aFtmKyhlPDw0
KSs4Pj4zXT1kO3JldHVybn1mdW5jdGlvbiBpQShhLGIsYyxkLGUsZixnLGgpe2E9K2E7Yj0rYjtj
PStjO2Q9ZHwwO2U9K2U7Zj0rZjtnPWd8MDtoPWh8MDt2YXIgaT0wLjA7ZD0oZHwwKT09MDtpPWQ/
ZTpmO2RvIGlmKChnfDApPT0xKXtlPShkP2Y6ZSktaTtlPSEoZTw9MS43NDUzMjkyNTE5OTQzMjk2
ZS0wMyk/ZTplKzYuMjgzMTg1MzA3MTc5NTg2O2lmKGU8My4xNDE1OTI2NTM1ODk3OTMpe2pBKGgs
YSxiLGMsZStpLGkpO2JyZWFrfWVsc2V7aEEoaCwrRSgraSkqYythLCtGKCtpKSpjK2EpO2JyZWFr
fX1lbHNlIGhBKGgsK0UoK2kpKmMrYSwrRigraSkqYythKTt3aGlsZSgwKTtyZXR1cm59ZnVuY3Rp
b24gakEoYSxiLGMsZCxlLGYpe2E9YXwwO2I9K2I7Yz0rYztkPStkO2U9K2U7Zj0rZjt2YXIgZz0w
LGg9MC4wO2hBKGEsK0UoK2UpKmQrYiwrRigrZSkqZCtjKTthOmRvIGlmKCEoZD09MC4wKSl7d2hp
bGUoMSl7aWYoIShmPmUpKWJyZWFrO2Y9ZistNi4yODMxODUzMDcxNzk1ODZ9Zj1lLWY7d2hpbGUo
MSl7aWYoIShmPjYuMjgzMTg1MzA3MTc5NTg2KSlicmVhaztmPWYrLTYuMjgzMTg1MzA3MTc5NTg2
fWY9ZiouMDUyNjMxNTc4OTQ3MzY4NDI7Zz0xO3doaWxlKDEpe2lmKChnfDApPT0yMClicmVhayBh
O2g9ZS1mKisoZ3wwKTtoQShhLCtFKCtoKSpkK2IsK0YoK2gpKmQrYyk7Zz1nKzF8MH19d2hpbGUo
MCk7cmV0dXJufWZ1bmN0aW9uIGtBKGEpe2E9YXwwO19JKGNbYT4+Ml18MCk7X0koYSk7cmV0dXJu
fWZ1bmN0aW9uIGxBKCl7dmFyIGE9MDthPXZ3KDEyKXwwO2NbYSs0Pj4yXT0wO2NbYSs4Pj4yXT0y
ZTM7Y1thPj4yXT12dygxMjhlMyl8MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIG1BKGEsYixkKXthPWF8
MDtiPWJ8MDtkPStkO3ZhciBlPTAsZj0wLGc9MCxpPTA7aT1hKzR8MDtlPWNbaT4+Ml18MDtmPWEr
OHwwO2c9Y1tmPj4yXXwwO2lmKChlfDApPChnfDApKWE9Y1thPj4yXXwwO2Vsc2V7Y1tmPj4yXT1n
PDwxO2U9eXcoY1thPj4yXXwwLGc8PDcpfDA7Y1thPj4yXT1lO2E9ZTtlPWNbaT4+Ml18MH1oW2Er
KGU8PDYpPj4zXT0raFtiPj4zXTtoW2ErKGU8PDYpKzg+PjNdPStoW2IrOD4+M107Y1tpPj4yXT1l
KzE7aFthKyhlPDw2KSsxNj4+M109ZDtyZXR1cm59ZnVuY3Rpb24gbkEoYSxiKXthPWF8MDtiPWJ8
MDt2YXIgYz0wLjAsZD0wLjA7Yz0raFthPj4zXS0raFtiPj4zXTtkPStoW2ErOD4+M10tK2hbYis4
Pj4zXTtyZXR1cm4gKygrQygrKGQqZCtjKmMpKSl9ZnVuY3Rpb24gb0EoYSl7YT1hfDA7dmFyIGI9
MDtiPWNbYSs0Pj4yXXwwO2lmKChjW2ErOD4+Ml18MCk+KGJ8MCkpY1thPj4yXT15dyhjW2E+PjJd
fDAsYjw8Nil8MDtyZXR1cm59ZnVuY3Rpb24gcEEoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3Zh
ciBlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7az1sO2w9bCsxNnwwO2o9ays4fDA7aT1rO2c9
aysxMnwwO2NbZz4+Ml09MDtoPWNbZCs0Pj4yXXwwO2lmKCFoKW1hKDkxNzAyLDkxNzEzLDIwMyw5
MTcyNCk7ZT1jW2g+PjJdfDA7aWYoIWUpbWEoOTE3MzgsOTE3MTMsMjA2LDkxNzI0KTtmPWgrOHww
O2lmKCEoY1tmPj4yXXwwKSljW2Y+PjJdPXFBKGUpfDA7aWYoITApZT0wO2Vsc2V7ZT0oRHYoY1to
Pj4yXXwwKXwwKT09MDtlPWU/MDpnfWlmKCEoKHZFKGIsZCxlKXwwKTw8MjQ+PjI0KSlyQShkLGUp
O2RvIGlmKGV8MCl7Zj1jW2c+PjJdfDA7Yj1jWzEzOTE4XXwwO2U9Y1toPj4yXXwwO2lmKCFmKXtj
W2o+PjJdPWU7ekwoYiw5MTc4MSxqKXwwO2JyZWFrfWVsc2V7Y1tpPj4yXT1lO2NbaSs0Pj4yXT1m
O3pMKGIsOTE3NDksaSl8MDticmVha319d2hpbGUoMCk7aj1kKzMyfDA7Y1thPj4yXT1jW2o+PjJd
O2NbYSs0Pj4yXT1jW2orND4+Ml07Y1thKzg+PjJdPWNbais4Pj4yXTtjW2ErMTI+PjJdPWNbaisx
Mj4+Ml07bD1rO3JldHVybn1mdW5jdGlvbiBxQShhKXthPWF8MDt2YXIgYj0wO2I9Y1s0MjM0NV18
MDtpZigoYnwwKSE9MD8oaUsoYixhKXwwKT09MDowKWE9Y1s0MjM1NF18MDtlbHNle19JKGIpO2Nb
NDIzNDVdPUdMKGEpfDA7YT12TSgxNjkzODAsMjEzNTIsMzUsMzYsMjkpfDA7Y1s0MjM1NF09YX1y
ZXR1cm4gYXwwfWZ1bmN0aW9uIHJBKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAuMCxnPTAs
aT0wLjAsaj0wLGs9MC4wO2o9Y1tiKzQ+PjJdfDA7ZT1jW2o+PjJdfDA7aT0raFtqKzE2Pj4zXTtq
PWIrMzJ8MDtoW2o+PjNdPTAuMDtoW2IrNDA+PjNdPWkqMS4yO2hbYisxNj4+M109MC4wO2hbYisy
ND4+M109aSouMTtjW2IrOD4+Ml09MDtjW2IrMTI+PjJdPTA7aWYocEsoZSw5MTgxNSw0KXwwKWlm
KChwSyhlLDkxODIwLDUpfDApIT0wPyhwSyhlLDkxODI2LDkpfDApIT0wOjApe2c9NDE4NDtlPTkx
ODM2fWVsc2V7Zz04MjgwO2U9OTE4NzJ9ZWxzZXtnPTYyMzI7ZT05MTg1M31pZihkfDApY1tkPj4y
XT1lO2U9Y1tiPj4yXXwwO2lmKGV8MCl7Zj0wLjA7d2hpbGUoMSl7Yj1hW2U+PjBdfDA7aWYoIShi
PDwyND4+MjQpKWJyZWFrO2s9ZisgK2hbZysoKGImMjU1KTw8Myk+PjNdO2hbaj4+M109aztlPWUr
MXwwO2Y9a31oW2o+PjNdPWYqaX1yZXR1cm59ZnVuY3Rpb24gc0EoYSxiKXthPWF8MDtiPWJ8MDty
ZXR1cm4gaUsoY1thPj4yXXwwLGNbYj4+Ml18MCl8MH1mdW5jdGlvbiB0QShhKXthPWF8MDt2YXIg
Yj0wO2I9YSsxMDh8MDtjW2I+PjJdPTA7Y1thKzExMj4+Ml09MzI7Y1thKzExNj4+Ml09LTE7Y1th
KzEyMD4+Ml09MTQ7Y1thKzEyND4+Ml09NTg7Y1thKzEyOD4+Ml09MjA7Y1thKzEzMj4+Ml09MDtj
W2ErMTM2Pj4yXT0wO2NbYSsxNDA+PjJdPTA7Yj1RbChiLGNbNDM0NV18MCl8MDtjW2ErMTQ0Pj4y
XT1iO3JldHVybiBifDB9ZnVuY3Rpb24gdUEoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO2Q9JEko
MSwzMil8MDthPWNbYj4+Ml18MDtpZihhfDApY1tkPj4yXT1HTChhKXwwO2E9Y1tiKzQ+PjJdfDA7
aWYoYXwwKWNbZCs0Pj4yXT1HTChhKXwwO2NbZCsyND4+Ml09Y1tiKzI0Pj4yXSYxMjc7aFtkKzE2
Pj4zXT0raFtiKzE2Pj4zXTtjW2QrOD4+Ml09Y1tiKzg+PjJdO3JldHVybiBkfDB9ZnVuY3Rpb24g
dkEoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO19JKGNbYj4+Ml18MCk7X0koY1tiKzQ+PjJdfDAp
O19JKGIpO3JldHVybn1mdW5jdGlvbiB3QShhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8
MDt2YXIgZj0wLjAsZz0wLjAsaT0wLGo9MDthPWNbYj4+Ml18MDtlPWNbZD4+Ml18MDtpPShlfDAp
PT0wO2lmKCFhKWlmKGkpaj01O2Vsc2UgYT0tMTtlbHNlIGlmKCFpKXthPXhKKGEsZSl8MDtpZigh
YSlqPTV9ZWxzZSBhPTE7ZG8gaWYoKGp8MCk9PTUpe2E9Y1tiKzQ+PjJdfDA7ZT1jW2QrND4+Ml18
MDtpPShlfDApPT0wO2lmKCFhKXtpZighaSl7YT0tMTticmVha319ZWxzZXtpZihpKXthPTE7YnJl
YWt9YT14SihhLGUpfDA7aWYoYXwwKWJyZWFrfWE9KGNbYisyND4+Ml0mMTI3KS0oY1tkKzI0Pj4y
XSYxMjcpfDA7aWYoIWEpe2c9K2hbYisxNj4+M107Zj0raFtkKzE2Pj4zXTtpZihnPGYpYT0tMTtl
bHNlIGE9Zz5mJjF9fXdoaWxlKDApO3JldHVybiBhfDB9ZnVuY3Rpb24geEEoKXtXYSgxNjk0MjAp
fDA7cmV0dXJufWZ1bmN0aW9uIHlBKCl7dmFyIGE9MCxiPTA7Yj1sO2w9bCsxNnwwO2E9YjtXYShh
fDApfDA7bD1iO3JldHVybiArKCsoKGNbYSs0Pj4yXXwwKSsoY1thPj4yXXwwKS0oY1s0MjM1NV18
MCktKGNbNDIzNTZdfDApfDApKi4wMTY2NjY2NjY2NjY2NjY2NjYpfWZ1bmN0aW9uIHpBKGEpe2E9
YXwwO3ZhciBiPTAsZD0wO2I9dncoMTYpfDA7YT0oYXwwKT4yP2E6MjtkPXZ3KGE8PDIpfDA7Y1ti
Pj4yXT1kO2NbYisxMj4+Ml09ZDtjW2IrOD4+Ml09ZDtjW2IrND4+Ml09ZCsoYTw8Mik7cmV0dXJu
IGJ8MH1mdW5jdGlvbiBBQShhKXthPWF8MDtfSShjW2E+PjJdfDApO19JKGEpO3JldHVybn1mdW5j
dGlvbiBCQShhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wO2Q9YSsxMnwwO2U9Y1tkPj4yXXww
O2NbZD4+Ml09ZSs0O2NbZT4+Ml09YjtpZigoY1tkPj4yXXwwKT4+PjA+PShjW2ErND4+Ml18MCk+
Pj4wKWNbZD4+Ml09Y1thPj4yXTtyZXR1cm59ZnVuY3Rpb24gQ0EoYSl7YT1hfDA7dmFyIGI9MCxk
PTAsZT0wO2Q9YSs4fDA7Yj1jW2Q+PjJdfDA7aWYoKGJ8MCkhPShjW2ErMTI+PjJdfDApKXtlPWIr
NHwwO2NbZD4+Ml09ZTtiPWNbYj4+Ml18MDtpZihlPj4+MD49KGNbYSs0Pj4yXXwwKT4+PjApY1tk
Pj4yXT1jW2E+PjJdfWVsc2UgYj0wO3JldHVybiBifDB9ZnVuY3Rpb24gREEoYixkLGUsZil7Yj1i
fDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaT0wO2k9bDtsPWwrMTZ8MDtnPWk7aWYo
KChkfDApIT0wPyhoPUptKGIsZCl8MCwoaHwwKSE9MCk6MCk/KGFbaD4+MF18MCkhPTA6MCl7ZD1C
TChoLGcsMTApfDA7ZT0oaHwwKT09KGNbZz4+Ml18MCk/ZTooZHwwKTwoZnwwKT9mOmR9bD1pO3Jl
dHVybiBlfDB9ZnVuY3Rpb24gRUEoYixkLGUsZil7Yj1ifDA7ZD1kfDA7ZT0rZTtmPStmO3ZhciBn
PTAsaD0wLGk9MCxqPTAuMDtpPWw7bD1sKzE2fDA7Zz1pO2lmKCgoYnwwKSE9MCYoZHwwKSE9MD8o
aD1KbShiLGQpfDAsKGh8MCkhPTApOjApPyhhW2g+PjBdfDApIT0wOjApe2o9K3RNKGgsZyk7ZT0o
aHwwKT09KGNbZz4+Ml18MCk/ZTpqPGY/ZjpqfWw9aTtyZXR1cm4gK2V9ZnVuY3Rpb24gRkEoYSxi
LGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2lmKChhfDApIT0wJihifDApIT0wKWM9Sm0oYSxiKXwwO3Jl
dHVybiBjfDB9ZnVuY3Rpb24gR0EoYixjLGQpe2I9YnwwO2M9Y3wwO2Q9ZHwwO2I9RkEoYixjLGQp
fDA7aWYoKGJ8MCkhPTA/KGFbYj4+MF18MCkhPTA6MClkPWI7cmV0dXJuIGR8MH1mdW5jdGlvbiBI
QShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7aWYoIWIpYT1jJjI1NTtlbHNlIGE9SUEoSm0oYSxi
KXwwKXwwO3JldHVybiBhfDB9ZnVuY3Rpb24gSUEoYSl7YT1hfDA7cmV0dXJuIEpBKGEsMCl8MH1m
dW5jdGlvbiBKQShiLGMpe2I9YnwwO2M9Y3wwO3ZhciBkPTA7aWYoKGJ8MCkhPTA/KGQ9YVtiPj4w
XXwwLGQ8PDI0Pj4yNCE9MCk6MClpZigoaUsoYiwxMjIxMDApfDApIT0wPyhpSyhiLDkyNjgyKXww
KSE9MDowKWlmKChpSyhiLDkyNjg1KXwwKSE9MD8oaUsoYiw5MjY5MCl8MCkhPTA6MCl7aWYoKChk
PDwyND4+MjQpKy00OHwwKT4+PjA8MTApYz0ock0oYil8MCkmMjU1fWVsc2UgYz0xO2Vsc2UgYz0w
O3JldHVybiBjfDB9ZnVuY3Rpb24gS0EoYSl7YT1hfDA7dmFyIGI9MCxkPTA7d2hpbGUoMSl7Yj0o
Y1thKzE2Pj4yXXwwKSsyMjB8MDtkPWNbYj4+Ml18MDtpZighKChkfDApIT0oYXwwKSYoZHwwKSE9
MCkpYnJlYWs7YT1jWyhjW2QrMTY+PjJdfDApKzIyMD4+Ml18MDtpZighYSl7YT1kO2NvbnRpbnVl
fWNbYj4+Ml09YX1yZXR1cm4gYXwwfWZ1bmN0aW9uIExBKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9
MCxlPTAsZj0wLGc9MCxoPTA7aWYoKGF8MCkhPShifDApKXtkPWNbYSsxNj4+Ml18MDtlPWQrMjIw
fDA7aWYoIShjW2U+PjJdfDApKXtjW2U+PjJdPWE7Y1tkKzIxNj4+Ml09MX1lbHNlIGE9S0EoYSl8
MDtkPWNbYisxNj4+Ml18MDtlPWQrMjIwfDA7aWYoIShjW2U+PjJdfDApKXtjW2U+PjJdPWI7Y1tk
KzIxNj4+Ml09MX1lbHNle2Q9S0EoYil8MDtiPWQ7ZD1jW2QrMTY+PjJdfDB9Zz1hKzE2fDA7ZT1j
W2c+PjJdfDA7Zj1iKzE2fDA7aD0oY1tlKzEyMD4+Ml18MCk+KGNbZCsxMjA+PjJdfDApO2E9aD9i
OmE7Y1soaD9lOmQpKzIyMD4+Ml09YTtlPShjWyhoP2Y6Zyk+PjJdfDApKzIxNnwwO2NbZT4+Ml09
KGNbZT4+Ml18MCkrKGNbKGNbKGg/ZzpmKT4+Ml18MCkrMjE2Pj4yXXwwKX1yZXR1cm4gYXwwfWZ1
bmN0aW9uIE1BKGIpe2I9YnwwO2I9Y1tiKzE2Pj4yXXwwO2NbYisyMTY+PjJdPTE7Y1tiKzIyMD4+
Ml09MDthW2IrMTU5Pj4wXT0wO3JldHVybn1mdW5jdGlvbiBOQShhLGIpe2E9YXwwO2I9YnwwO2lm
KChLQShhKXwwKT09KGF8MCkpe2E9Y1thKzE2Pj4yXXwwO2NbYSsyMjA+PjJdPWI7Yj0oY1tiKzE2
Pj4yXXwwKSsyMTZ8MDtjW2I+PjJdPShjW2I+PjJdfDApKyhjW2ErMjE2Pj4yXXwwKTtyZXR1cm59
ZWxzZSBtYSg5MjcwMiw5MjY5NCwxOTQsOTI3MTgpfWZ1bmN0aW9uIE9BKGEsYil7YT1hfDA7Yj1i
fDA7dmFyIGQ9MC4wO2I9Y1soY1tiKzE2Pj4yXXwwKSsxMzI+PjJdfDA7ZD0raFtiKzg+PjNdKjcy
LjA7aFthPj4zXT0raFtiPj4zXSo3Mi4wO2hbYSs4Pj4zXT1kO3JldHVybn1mdW5jdGlvbiBQQShh
LGIsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT0rZTtmPWZ8MDtnPWd8MDt2YXIgaT0wLGo9
MCxrPTAsbT0wLjAsbj0wLG89MCxwPTA7bz1sO2w9bCs1NzZ8MDtuPW87aT0wO3doaWxlKDEpe2lm
KChpfDApPihkfDApKWJyZWFrO2s9bisoaTw8NCl8MDtqPWIrKGk8PDQpfDA7Y1trPj4yXT1jW2o+
PjJdO2Nbays0Pj4yXT1jW2orND4+Ml07Y1trKzg+PjJdPWNbais4Pj4yXTtjW2srMTI+PjJdPWNb
aisxMj4+Ml07aT1pKzF8MH1tPTEuMC1lO2k9MTt3aGlsZSgxKXtpZigoaXwwKT4oZHwwKSlicmVh
aztqPWQtaXwwO2s9aSstMXwwO2I9MDt3aGlsZSgxKXtpZigoYnwwKT4oanwwKSlicmVhaztwPWIr
MXwwO2hbbisoaSo5NnwwKSsoYjw8NCk+PjNdPStoW24rKGsqOTZ8MCkrKHA8PDQpPj4zXSplKyAr
aFtuKyhrKjk2fDApKyhiPDw0KT4+M10qbTtoW24rKGkqOTZ8MCkrKGI8PDQpKzg+PjNdPStoW24r
KGsqOTZ8MCkrKHA8PDQpKzg+PjNdKmUrICtoW24rKGsqOTZ8MCkrKGI8PDQpKzg+PjNdKm07Yj1w
fWk9aSsxfDB9YTpkbyBpZihmfDApe2k9MDt3aGlsZSgxKXtpZigoaXwwKT4oZHwwKSlicmVhayBh
O3A9ZisoaTw8NCl8MDtrPW4rKGkqOTZ8MCl8MDtjW3A+PjJdPWNbaz4+Ml07Y1twKzQ+PjJdPWNb
ays0Pj4yXTtjW3ArOD4+Ml09Y1trKzg+PjJdO2NbcCsxMj4+Ml09Y1trKzEyPj4yXTtpPWkrMXww
fX13aGlsZSgwKTtiOmRvIGlmKGd8MCl7aT0wO3doaWxlKDEpe2lmKChpfDApPihkfDApKWJyZWFr
IGI7cD1nKyhpPDw0KXwwO2Y9bisoKGQtaXwwKSo5NnwwKSsoaTw8NCl8MDtjW3A+PjJdPWNbZj4+
Ml07Y1twKzQ+PjJdPWNbZis0Pj4yXTtjW3ArOD4+Ml09Y1tmKzg+PjJdO2NbcCsxMj4+Ml09Y1tm
KzEyPj4yXTtpPWkrMXwwfX13aGlsZSgwKTtwPW4rKGQqOTZ8MCl8MDtjW2E+PjJdPWNbcD4+Ml07
Y1thKzQ+PjJdPWNbcCs0Pj4yXTtjW2ErOD4+Ml09Y1twKzg+PjJdO2NbYSsxMj4+Ml09Y1twKzEy
Pj4yXTtsPW87cmV0dXJufWZ1bmN0aW9uIFFBKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTA7
ZT0wO2Rve2Q9Y1s0MjM1OV18MDtmPWQrMTAyNHwwO2lmKChkLWV8MCk8MTAyNCl7Y1s0MjM1OV09
ZjtmPXl3KGNbNDIzNjBdfDAsZil8MDtjWzQyMzYwXT1mO2Q9Y1s0MjM1OV18MH1lbHNlIGY9Y1s0
MjM2MF18MDtkPWdMKGYrZXwwLGQtZXwwLGIpfDA7aWYoIWQpe2c9NjticmVha31lPShySihkKXww
KStlfDA7ZD1jWzQyMzYwXXwwfXdoaWxlKChhW2QrKGUrLTEpPj4wXXwwKSE9MTApO2lmKChnfDAp
PT02KWQ9Y1s0MjM2MF18MDtyZXR1cm4gKChlfDApPjA/ZDowKXwwfWZ1bmN0aW9uIFJBKGIpe2I9
YnwwO3ZhciBkPTAsZT0wLGY9MDtmPWw7bD1sKzE2fDA7ZG8gaWYoKGJ8MCkhPTA/KGFbYj4+MF18
MCkhPTA6MClpZighMCl7ZD1jWzQyMTc4XXwwO2U9Y1s0MjM2Ml18MDtpZigoY1s0MjM2MV18MCk9
PShkfDApKWQ9ZTtlbHNle2lmKGUpe19JKGNbZT4+Ml18MCk7X0koY1s0MjM2Ml18MCk7Y1s0MjM2
Ml09MDtkPWNbNDIxNzhdfDB9Y1s0MjM2MV09ZDtpZighZClicmVhaztpZighKGFbZD4+MF18MCkp
YnJlYWs7ZD1TQShkKXwwO2NbNDIzNjJdPWR9aWYoISgoYVtiPj4wXXwwKSE9NDcmKGR8MCkhPTAp
KWJyZWFrO2I9VEEoZCxjWzQyMzYzXXwwLGIpfDA7YnJlYWt9ZWxzZSBTKCk7ZWxzZSBiPTA7d2hp
bGUoMCk7bD1mO3JldHVybiBifDB9ZnVuY3Rpb24gU0EoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0w
LGY9MCxnPTA7ZT0wO2Y9MDtnPTA7Yj1HTChhKXwwO2Q9MDt3aGlsZSgxKXtiPURMKGIsOTMwMTcp
fDA7aWYoIWIpYnJlYWs7YT0oZzw8MikrOHwwO2lmKCFmKWE9d3coYSl8MDtlbHNlIGE9eXcoZCxh
KXwwO2NbYSsoZzw8Mik+PjJdPWI7Zj1ySihiKXwwO2U9ZT4+PjA+Zj4+PjA/ZTpmO2Y9YTtnPWcr
MXwwO2I9MDtkPWF9Y1tmKyhnPDwyKT4+Ml09MDtjWzQyMzYzXT1lO3JldHVybiBmfDB9ZnVuY3Rp
b24gVEEoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTA7Zz1sO2w9
bCsxNnwwO2U9ZztoPWNbNDIzNjRdfDA7Y1s0MjM2NF09YUooaCxiKzIrKHJKKGQpfDApfDApfDA7
d2hpbGUoMSl7Yj1jW2E+PjJdfDA7aWYoIWIpe2E9MDticmVha31oPWNbNDIzNjRdfDA7Y1tlPj4y
XT1iO2NbZSs0Pj4yXT05MzAxNTtjW2UrOD4+Ml09ZDtwTChoLDkzMDA4LGUpfDA7aWYoISgkTChj
WzQyMzY0XXwwLDQpfDApKXtmPTQ7YnJlYWt9ZWxzZSBhPWErNHwwfWlmKChmfDApPT00KWE9Y1s0
MjM2NF18MDtsPWc7cmV0dXJuIGF8MH1mdW5jdGlvbiBVQShiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1l
fDA7dmFyIGY9MCxnPTAsaD0wO2c9KGJ8MCk9PTA7Zj0wO3doaWxlKDEpe2g9Y1tkKyhmPDwyKT4+
Ml18MDtpZighaClicmVhaztpZigoIWc/KGFbYj4+MF18MCk9PShhW2g+PjBdfDApOjApPyh4Sihi
LGgpfDApPT0wOjApYnJlYWs7Zj1mKzF8MH1yZXR1cm4gY1tlKyhmPDwyKT4+Ml18MH1mdW5jdGlv
biBWQShhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLjAsaT0wLjAsaj0w
LjAsaz0wLjAsbT0wLjAsbj0wLjAsbz0wLjAscD0wLjAscT0wLjAscj0wLHM9MCx0PTAsdT0wLHY9
MCx3PTAseD0wLHk9MCx6PTAsQT0wLEM9MDt6PWw7bD1sKzgwfDA7eD16KzE2fDA7eT16O3U9Y1ti
KzQ+PjJdfDA7dj1jW2I+PjJdfDA7dz1kKzh8MDtmPTA7ZT0tMTtnPTEuZSszODtiPS0xO3doaWxl
KDEpe2lmKChmfDApPj0odXwwKSlicmVhaztzPWNbdisoZio0OHwwKT4+Ml18MDt0PWNbdisoZio0
OHwwKSs0Pj4yXXwwO3I9MDt3aGlsZSgxKXtpZigocnwwKT49KHR8MCkpYnJlYWs7cT0raFtzKyhy
PDw0KT4+M10tK2hbZD4+M107cD0raFtzKyhyPDw0KSs4Pj4zXS0raFt3Pj4zXTtxPXAqcCtxKnE7
QT0oZXwwKT09LTF8cTxnO0M9QT9yOmU7cj1yKzF8MDtiPUE/ZjpiO2U9QztnPUE/cTpnfWY9Zisx
fDB9Zj1jW3YrKGIqNDh8MCk+PjJdfDA7ZT1lKygoKGV8MCk9PSgoY1t2KyhiKjQ4fDApKzQ+PjJd
fDApKy0xfDApKTw8MzE+PjMxKXwwO2U9ZS0oKGV8MCklM3wwKXwwO2I9MDt3aGlsZSgxKXtpZigo
YnwwKT09NClicmVhaztDPWIrZXwwO2hbeCsoYjw8NCk+PjNdPStoW2YrKEM8PDQpPj4zXTtoW3gr
KGI8PDQpKzg+PjNdPStoW2YrKEM8PDQpKzg+PjNdO2I9YisxfDB9cT0raFtkPj4zXTtrPStoW3g+
PjNdLXE7bz0raFt3Pj4zXTtwPStoW3grOD4+M10tbztqPStoW3grNDg+PjNdLXE7bj0raFt4KzU2
Pj4zXS1vO2I9eSs4fDA7Zz0xLjA7aT0wLjA7aj1uKm4raipqO2s9cCpwK2sqazt3aGlsZSgxKXtw
PShnK2kpKi41O1BBKHkseCwzLHAsMCwwKTttPStoW3k+PjNdO249K2hbYj4+M107aWYoK0IoKyhr
LWopKTwxLjApYnJlYWs7aWYoK0IoKyhnLWkpKTwxLjBlLTA1KWJyZWFrO0M9azxqO209bS1xO249
bi1vO249bipuK20qbTtnPUM/cDpnO2k9Qz9pOnA7aj1DP246ajtrPUM/azpufWhbYT4+M109bTto
W2ErOD4+M109bjtsPXo7cmV0dXJufWZ1bmN0aW9uIFdBKGIpe2I9YnwwO3ZhciBkPTAuMCxlPTAs
Zj0wLGc9MCxpPTAsaj0wLGs9MCxsPTA7ZD0rRUEoYixjWzQyMTkwXXwwLC43NSwuMDEpO2c9Yisx
NnwwO2hbKGNbZz4+Ml18MCkrMzI+PjNdPWQ7ZD0rRUEoYixjWzQyMTg5XXwwLC41LC4wMik7aFso
Y1tnPj4yXXwwKSs0MD4+M109ZDtsPVF5KEdBKGIsY1s0MjE5MV18MCw5MzAxOSl8MCxiKXwwO2Nb
KGNbZz4+Ml18MCkrOD4+Ml09bDtsPUptKGIsY1s0MjE5OF18MCl8MDtkPStFQShiLGNbNDIxOTRd
fDAsMTQuMCwxLjApO2U9R0EoYixjWzQyMTk1XXwwLDkzMDI3KXwwO2Y9R0EoYixjWzQyMTk2XXww
LDEyMjEwNil8MDtpPShjcChsKXwwKSE9MDtrPShCeShiKXwwKT09MjtpPWx3KGIsbCwoaz80OjAp
fChpPzI6MCksZCxlLGYpfDA7Y1soY1tnPj4yXXwwKSsxMDQ+PjJdPWk7aT1jWzQyMTk5XXwwO2lm
KChpfDA/KGo9Sm0oYixpKXwwLGp8MCk6MCk/YVtqPj4wXXwwOjApe2w9KGNwKGopfDApIT0wO2w9
bHcoYixqLGw/MjowLGQsZSxmKXwwO2NbKGNbZz4+Ml18MCkrMTA4Pj4yXT1sO2w9KGNbKHJvKGIp
fDApKzE2Pj4yXXwwKSsxMTN8MDthW2w+PjBdPWFbbD4+MF18MTZ9az0oREEoYixjWzQyMjAyXXww
LDAsMCl8MCkmMjU1O2w9Y1tnPj4yXXwwO2FbbCsxNDQ+PjBdPWs7Z2JbY1tjWyhjW2wrOD4+Ml18
MCkrND4+Ml0+PjJdJjEyN10oYik7cmV0dXJufWZ1bmN0aW9uIFhBKGIpe2I9YnwwO3ZhciBkPTAs
ZT0wLGY9MCxnPTAsaT0wLjAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0w
LHU9MCx2PTA7dj1sO2w9bCsxMTJ8MDttPXYrOTZ8MDtuPXYrODB8MDtzPXYrNDB8MDt1PXY7cj1i
KzQ4fDA7cD1ybyhjWygoY1tiPj4yXSYzfDApPT0zP2I6cikrNDA+PjJdfDApfDA7Zz1tKzh8MDtj
W2c+PjJdPTA7bz1uKzh8MDtjW28+PjJdPTA7ZD1jWzQyMjI2XXwwO2lmKCgoZHwwKSE9MD8oZT1K
bShiLGQpfDAsKGV8MCkhPTApOjApPyhhW2U+PjBdfDApIT0wOjApe1lBKGIsbSk7dD0oY3AoZSl8
MCkhPTA7aT0raFttPj4zXTtmPWNbZz4+Ml18MDtkPWNbbSsxMj4+Ml18MDtlPWx3KGIsZSx0PzI6
MCxpLGYsZCl8MDt0PWIrMTZ8MDtjWyhjW3Q+PjJdfDApKzk2Pj4yXT1lO2U9KGNbcCsxNj4+Ml18
MCkrMTEzfDA7YVtlPj4wXT1hW2U+PjBdfDE7ZT1JQShGQShiLGNbNDIyMzZdfDAsMTIyMTAwKXww
KXwwO2FbKGNbdD4+Ml18MCkrMTE0Pj4wXT1lO3Q9MTtlPWZ9ZWxzZXt0PTA7ZD0wO2k9MC4wO2U9
MH1mPWNbNDIyMjddfDA7aWYoKGZ8MD8oaj1KbShiLGYpfDAsanwwKTowKT9hW2o+PjBdfDA6MCl7
aWYoIWUpe1lBKGIsbSk7aT0raFttPj4zXTtlPWNbZz4+Ml18MDtkPWNbbSsxMj4+Ml18MH1nPShj
cChqKXwwKSE9MDtqPWx3KGIsaixnPzI6MCxpLGUsZCl8MDtjWyhjW2IrMTY+PjJdfDApKzEwOD4+
Ml09ajtqPShjW3ArMTY+PjJdfDApKzExM3wwO2Fbaj4+MF09YVtqPj4wXXwzMn1kPWNbNDIyNDFd
fDA7aWYoKChkfDApIT0wPyhrPUptKGIsZCl8MCwoa3wwKSE9MCk6MCk/KGFbaz4+MF18MCkhPTA6
MCl7WkEoYixtLG4pO2o9KGNwKGspfDApIT0wO2k9K2hbbj4+M107ZD1jW28+PjJdfDA7ZT1jW24r
MTI+PjJdfDA7az1sdyhiLGssaj8yOjAsaSxkLGUpfDA7Y1soY1tiKzE2Pj4yXXwwKSsxMDA+PjJd
PWs7az0oY1twKzE2Pj4yXXwwKSsxMTN8MDthW2s+PjBdPWFbaz4+MF18Mn1lbHNle2U9MDtpPTAu
MDtkPTB9Zj1jWzQyMjQyXXwwO2lmKChmfDA/KHE9Sm0oYixmKXwwLHF8MCk6MCk/YVtxPj4wXXww
OjApe2lmKCFkKXtaQShiLG0sbik7ZT1jW24rMTI+PjJdfDA7aT0raFtuPj4zXTtkPWNbbz4+Ml18
MH1vPShjcChxKXwwKSE9MDtxPWx3KGIscSxvPzI6MCxpLGQsZSl8MDtjWyhjW2IrMTY+PjJdfDAp
KzEwND4+Ml09cTtxPShjW3ArMTY+PjJdfDApKzExM3wwO2FbcT4+MF09YVtxPj4wXXw0fWQ9SW0o
Yiw5NjI0Mil8MDtkPWR8MD9kOjE3NDE4MTtpZihhW2Q+PjBdfDApYVsoY1soY1soKGNbYj4+Ml0m
M3wwKT09Mz9iOnIpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTQ1Pj4wXT0xO2c9YisxNnwwO2Y9KGNb
Zz4+Ml18MCkrMTZ8MDtlPWNbKChjW2I+PjJdJjN8MCk9PTM/YjpyKSs0MD4+Ml18MDtfQShzLGNb
KGNbKGNbKGNbZSsxNj4+Ml18MCkrOD4+Ml18MCkrND4+Ml18MCkrOD4+Ml18MCxlLGQpO2Q9cztl
PWYrNDB8MDtkb3tjW2Y+PjJdPWNbZD4+Ml07Zj1mKzR8MDtkPWQrNHwwfXdoaWxlKChmfDApPChl
fDApKTtpZigoJEEoYixjWzQyMjQ4XXwwKXwwKTw8MjQ+PjI0KWFbKGNbZz4+Ml18MCkrNDY+PjBd
PTA7ZD1JbShiLDk2MjUxKXwwO2Q9ZHwwP2Q6MTc0MTgxO2lmKCEoYVtkPj4wXXwwKSllPWIrLTQ4
fDA7ZWxzZXtlPWIrLTQ4fDA7YVsoY1soY1soKGNbYj4+Ml0mM3wwKT09Mj9iOmUpKzQwPj4yXXww
KSsxNj4+Ml18MCkrMTQ1Pj4wXT0xfWY9KGNbZz4+Ml18MCkrNTZ8MDtlPWNbKChjW2I+PjJdJjN8
MCk9PTI/YjplKSs0MD4+Ml18MDtfQSh1LGNbKGNbKGNbKGNbZSsxNj4+Ml18MCkrOD4+Ml18MCkr
ND4+Ml18MCkrOD4+Ml18MCxlLGQpO2Q9dTtlPWYrNDB8MDtkb3tjW2Y+PjJdPWNbZD4+Ml07Zj1m
KzR8MDtkPWQrNHwwfXdoaWxlKChmfDApPChlfDApKTtpZigoJEEoYixjWzQyMjQ5XXwwKXwwKTw8
MjQ+PjI0KWFbKGNbZz4+Ml18MCkrODY+PjBdPTA7bD12O3JldHVybiB0fDB9ZnVuY3Rpb24gWUEo
YSxiKXthPWF8MDtiPWJ8MDtoW2I+PjNdPStFQShhLGNbNDIyMjNdfDAsMTQuMCwxLjApO2NbYis4
Pj4yXT1HQShhLGNbNDIyMjRdfDAsOTMwMjcpfDA7Y1tiKzEyPj4yXT1HQShhLGNbNDIyMjVdfDAs
MTIyMTA2KXwwO3JldHVybn1mdW5jdGlvbiBaQShhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFy
IGU9MDtlPWIrOHwwO2lmKCEoY1tlPj4yXXwwKSlZQShhLGIpO2hbZD4+M109K0VBKGEsY1s0MjI0
M118MCwraFtiPj4zXSwxLjApO2NbZCs4Pj4yXT1HQShhLGNbNDIyNDRdfDAsY1tlPj4yXXwwKXww
O2NbZCsxMj4+Ml09R0EoYSxjWzQyMjQ1XXwwLGNbYisxMj4+Ml18MCl8MDtyZXR1cm59ZnVuY3Rp
b24gX0EoYixkLGUsZil7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaT0wLGo9
MCxrPTAsbT0wO209bDtsPWwrMTI4fDA7az1tKzgwfDA7aD1tKzQwfDA7Zz1tO2lmKChmfDApIT0w
PyhqPVdKKGYsNTgpfDAsKGp8MCkhPTApOjApe2Fbaj4+MF09MDtpPWorMXwwO2tiW2QmMzFdKGgs
ZSxmLGkpO2U9aztnPWg7ZD1lKzM2fDA7ZG97Y1tlPj4yXT1jW2c+PjJdO2U9ZSs0fDA7Zz1nKzR8
MH13aGlsZSgoZXwwKTwoZHwwKSk7YVtqPj4wXT01ODtmPWl9ZWxzZXtrYltkJjMxXShnLGUsZiww
KTtlPWs7ZD1lKzM2fDA7ZG97Y1tlPj4yXT1jW2c+PjJdO2U9ZSs0fDA7Zz1nKzR8MH13aGlsZSgo
ZXwwKTwoZHwwKSl9ZT1iO2c9aztkPWUrMzZ8MDtkb3tjW2U+PjJdPWNbZz4+Ml07ZT1lKzR8MDtn
PWcrNHwwfXdoaWxlKChlfDApPChkfDApKTtjW2IrMzY+PjJdPWY7bD1tO3JldHVybn1mdW5jdGlv
biAkQShiLGMpe2I9YnwwO2M9Y3wwO3ZhciBkPTA7aWYoKChjfDApIT0wPyhkPUptKGIsYyl8MCwo
ZHwwKSE9MCk6MCk/KGFbZD4+MF18MCkhPTA6MCliPShJQShkKXwwKTw8MjQ+PjI0PT0wJjE7ZWxz
ZSBiPTA7cmV0dXJuIGJ8MH1mdW5jdGlvbiBhQihhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0w
LGY9MCxnPTAsaT0wLGo9MCxrPTAsbT0wLG49MC4wLG89MC4wO2s9bDtsPWwrMzJ8MDtpPWs7aj1j
W2IrOD4+Ml18MDtkPWNbYis0Pj4yXXwwO2Q9KGNbYis0ND4+Ml18MCkrKChPKChkfDApPjE/ZCst
MXwwOjAsail8MCk8PDQpfDA7ZT1pKzE2fDA7Y1tlPj4yXT1jW2Q+PjJdO2NbZSs0Pj4yXT1jW2Qr
ND4+Ml07Y1tlKzg+PjJdPWNbZCs4Pj4yXTtjW2UrMTI+PjJdPWNbZCsxMj4+Ml07Y1tpPj4yXT1j
W2Q+PjJdO2NbaSs0Pj4yXT1jW2QrND4+Ml07Y1tpKzg+PjJdPWNbZCs4Pj4yXTtjW2krMTI+PjJd
PWNbZCsxMj4+Ml07Zj1pKzh8MDtnPWkrMjR8MDtiPTE7d2hpbGUoMSl7aWYoKGJ8MCk+PShqfDAp
KWJyZWFrO209ZCsoYjw8NCl8MDtvPStoW20+PjNdO2hbaT4+M109K2hbKCtoW2k+PjNdPG8/aTpt
KT4+M107bj0raFttKzg+PjNdO2hbZj4+M109K2hbKCtoW2Y+PjNdPG4/aTptKSs4Pj4zXTtoW2U+
PjNdPStoWygraFtlPj4zXT5vP2U6bSk+PjNdO2hbZz4+M109K2hbKCtoW2c+PjNdPm4/ZTptKSs4
Pj4zXTtiPWIrMXwwfWNbYT4+Ml09Y1tpPj4yXTtjW2ErND4+Ml09Y1tpKzQ+PjJdO2NbYSs4Pj4y
XT1jW2krOD4+Ml07Y1thKzEyPj4yXT1jW2krMTI+PjJdO2NbYSsxNj4+Ml09Y1tpKzE2Pj4yXTtj
W2ErMjA+PjJdPWNbaSsyMD4+Ml07Y1thKzI0Pj4yXT1jW2krMjQ+PjJdO2NbYSsyOD4+Ml09Y1tp
KzI4Pj4yXTtsPWs7cmV0dXJufWZ1bmN0aW9uIGJCKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxl
PTAsZj0wLGc9MDtkPWw7bD1sKzY0fDA7Zz1kKzMyfDA7ZT1kO2Y9Y1thKzE2Pj4yXXwwO2E9Zisx
NnwwO2Y9Y1tmKzExNj4+Ml0mMTtjW2c+PjJdPWNbYT4+Ml07Y1tnKzQ+PjJdPWNbYSs0Pj4yXTtj
W2crOD4+Ml09Y1thKzg+PjJdO2NbZysxMj4+Ml09Y1thKzEyPj4yXTtjW2crMTY+PjJdPWNbYSsx
Nj4+Ml07Y1tnKzIwPj4yXT1jW2ErMjA+PjJdO2NbZysyND4+Ml09Y1thKzI0Pj4yXTtjW2crMjg+
PjJdPWNbYSsyOD4+Ml07Y0IoZSxnLGIsZik7Y1thPj4yXT1jW2U+PjJdO2NbYSs0Pj4yXT1jW2Ur
ND4+Ml07Y1thKzg+PjJdPWNbZSs4Pj4yXTtjW2ErMTI+PjJdPWNbZSsxMj4+Ml07Y1thKzE2Pj4y
XT1jW2UrMTY+PjJdO2NbYSsyMD4+Ml09Y1tlKzIwPj4yXTtjW2ErMjQ+PjJdPWNbZSsyND4+Ml07
Y1thKzI4Pj4yXT1jW2UrMjg+PjJdO2w9ZDtyZXR1cm59ZnVuY3Rpb24gY0IoYSxiLGQsZSl7YT1h
fDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MC4wLGc9MC4wLGk9MC4wLGo9MCxrPTAuMCxsPTAu
MCxtPTAuMDtnPStoW2QrNTY+PjNdO2w9K2hbZCs2ND4+M107aj1lPDwyND4+MjQ9PTA7az0raFtk
KzI0Pj4zXTtpPStoW2QrMzI+PjNdO209KGo/azppKSouNTtmPWctbTtnPW0rZztpZihmPCtoW2I+
PjNdKWhbYj4+M109ZjtlPWIrMTZ8MDtpZihnPitoW2U+PjNdKWhbZT4+M109ZztnPShqP2k6aykq
LjU7Zj1sLWc7Zz1nK2w7ZT1iKzh8MDtpZihmPCtoW2U+PjNdKWhbZT4+M109ZjtlPWIrMjR8MDtp
ZihnPitoW2U+PjNdKWhbZT4+M109ZztjW2E+PjJdPWNbYj4+Ml07Y1thKzQ+PjJdPWNbYis0Pj4y
XTtjW2ErOD4+Ml09Y1tiKzg+PjJdO2NbYSsxMj4+Ml09Y1tiKzEyPj4yXTtjW2ErMTY+PjJdPWNb
YisxNj4+Ml07Y1thKzIwPj4yXT1jW2IrMjA+PjJdO2NbYSsyND4+Ml09Y1tiKzI0Pj4yXTtjW2Er
Mjg+PjJdPWNbYisyOD4+Ml07cmV0dXJufWZ1bmN0aW9uIGRCKGIpe2I9YnwwO3ZhciBkPTAsZT0w
LGY9MCxnPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAs
dj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxK
PTAsSz0wLEw9MCxNPTAuMCxOPTAuMCxPPTAuMCxQPTAuMDtMPWw7bD1sKzQ0OHwwO0g9TCs0MTZ8
MDt0PUwrMzg0fDA7dT1MKzMwNHwwO0s9TCsyNTZ8MDtHPUwrMTkyfDA7Qj1MKzE0NHwwO0M9TCs5
NnwwO2Q9TCs0MDB8MDtlPUwrMzY4fDA7Zj1MKzM1MnwwO2c9TCszMzZ8MDt2PUwrMjg4fDA7dz1M
KzIyNHwwO3g9TCsxNjB8MDt5PUwrMTEyfDA7ej1MKzY0fDA7QT1MKzMyfDA7ST1MO0o9YisxNnww
O2lmKChtbihiKXwwKT09MD8oY1soY1tKPj4yXXwwKSsxODA+PjJdfDApPT0wOjApe2VCKGQsMC4w
LDAuMCk7Y1tLPj4yXT1jW2Q+PjJdO2NbSys0Pj4yXT1jW2QrND4+Ml07Y1tLKzg+PjJdPWNbZCs4
Pj4yXTtjW0srMTI+PjJdPWNbZCsxMj4+Ml07Sz1LKzE2fDA7ZUIoZSwwLjAsMC4wKTtjW0s+PjJd
PWNbZT4+Ml07Y1tLKzQ+PjJdPWNbZSs0Pj4yXTtjW0srOD4+Ml09Y1tlKzg+PjJdO2NbSysxMj4+
Ml09Y1tlKzEyPj4yXX1lbHNle2VCKGYsMjE0NzQ4MzY0Ny4wLDIxNDc0ODM2NDcuMCk7Y1tLPj4y
XT1jW2Y+PjJdO2NbSys0Pj4yXT1jW2YrND4+Ml07Y1tLKzg+PjJdPWNbZis4Pj4yXTtjW0srMTI+
PjJdPWNbZisxMj4+Ml07Rj1LKzE2fDA7ZUIoZywtMjE0NzQ4MzY0Ny4wLC0yMTQ3NDgzNjQ3LjAp
O2NbRj4+Ml09Y1tnPj4yXTtjW0YrND4+Ml09Y1tnKzQ+PjJdO2NbRis4Pj4yXT1jW2crOD4+Ml07
Y1tGKzEyPj4yXT1jW2crMTI+PjJdO289Qys4fDA7cD11KzE2fDA7RD1LKzh8MDtxPXUrOHwwO0U9
SysyNHwwO3I9dSsyNHwwO3M9Qis4fDA7bj1jbyhiKXwwO3doaWxlKDEpe2lmKCFuKWJyZWFrO09B
KEIsbik7ZD1uKzE2fDA7bT1jW2Q+PjJdfDA7aFtDPj4zXT0oK2hbbSs5Nj4+M10rICtoW20rODg+
PjNdKSouNTtoW28+PjNdPStoW20rODA+PjNdKi41O2NbdD4+Ml09Y1tCPj4yXTtjW3QrND4+Ml09
Y1tCKzQ+PjJdO2NbdCs4Pj4yXT1jW0IrOD4+Ml07Y1t0KzEyPj4yXT1jW0IrMTI+PjJdO2NbSD4+
Ml09Y1tDPj4yXTtjW0grND4+Ml09Y1tDKzQ+PjJdO2NbSCs4Pj4yXT1jW0MrOD4+Ml07Y1tIKzEy
Pj4yXT1jW0MrMTI+PjJdO2ZCKHUsdCxIKTtjW3Q+PjJdPWNbQj4+Ml07Y1t0KzQ+PjJdPWNbQis0
Pj4yXTtjW3QrOD4+Ml09Y1tCKzg+PjJdO2NbdCsxMj4+Ml09Y1tCKzEyPj4yXTtjW0g+PjJdPWNb
Qz4+Ml07Y1tIKzQ+PjJdPWNbQys0Pj4yXTtjW0grOD4+Ml09Y1tDKzg+PjJdO2NbSCsxMj4+Ml09
Y1tDKzEyPj4yXTtnQih2LHQsSCk7Y1twPj4yXT1jW3Y+PjJdO2NbcCs0Pj4yXT1jW3YrND4+Ml07
Y1twKzg+PjJdPWNbdis4Pj4yXTtjW3ArMTI+PjJdPWNbdisxMj4+Ml07aFtLPj4zXT0raFsoK2hb
Sz4+M108K2hbdT4+M10/Szp1KT4+M107aFtEPj4zXT0raFsoK2hbRD4+M108K2hbcT4+M10/Szp1
KSs4Pj4zXTtoW0Y+PjNdPStoWygraFtGPj4zXT4raFtwPj4zXT9LOnUpKzE2Pj4zXTtoW0U+PjNd
PStoWygraFtFPj4zXT4raFtyPj4zXT9LOnUpKzI0Pj4zXTtkPWNbKGNbZD4+Ml18MCkrMTA4Pj4y
XXwwO2lmKGR8MD9hW2QrODE+PjBdfDA6MCl7bT1jWyhjW0o+PjJdfDApKzExNj4+Ml0mMTtjW0g+
PjJdPWNbSz4+Ml07Y1tIKzQ+PjJdPWNbSys0Pj4yXTtjW0grOD4+Ml09Y1tLKzg+PjJdO2NbSCsx
Mj4+Ml09Y1tLKzEyPj4yXTtjW0grMTY+PjJdPWNbSysxNj4+Ml07Y1tIKzIwPj4yXT1jW0srMjA+
PjJdO2NbSCsyND4+Ml09Y1tLKzI0Pj4yXTtjW0grMjg+PjJdPWNbSysyOD4+Ml07Y0IodyxILGQs
bSk7Y1tLPj4yXT1jW3c+PjJdO2NbSys0Pj4yXT1jW3crND4+Ml07Y1tLKzg+PjJdPWNbdys4Pj4y
XTtjW0srMTI+PjJdPWNbdysxMj4+Ml07Y1tLKzE2Pj4yXT1jW3crMTY+PjJdO2NbSysyMD4+Ml09
Y1t3KzIwPj4yXTtjW0srMjQ+PjJdPWNbdysyND4+Ml07Y1tLKzI4Pj4yXT1jW3crMjg+PjJdfW09
UG0oYixuKXwwO3doaWxlKDEpe2lmKCFtKWJyZWFrO2s9bSsxNnwwO2Q9Y1trPj4yXXwwO2o9ZCs4
fDA7ZT1jW2o+PjJdfDA7aWYoZXwwKXtpPTA7d2hpbGUoMSl7aWYoKGl8MCk8KGNbZSs0Pj4yXXww
KSlnPTA7ZWxzZSBicmVhazt3aGlsZSgxKXtmPWNbZT4+Ml18MDtpZigoZ3wwKT49KGNbZisoaSo0
OHwwKSs0Pj4yXXwwKSlicmVhaztlPShjW2YrKGkqNDh8MCk+PjJdfDApKyhnPDw0KXwwO2NbQj4+
Ml09Y1tlPj4yXTtjW0IrND4+Ml09Y1tlKzQ+PjJdO2NbQis4Pj4yXT1jW2UrOD4+Ml07Y1tCKzEy
Pj4yXT1jW2UrMTI+PjJdO049K2hbQj4+M107aFtLPj4zXT0raFsoK2hbSz4+M108Tj9LOkIpPj4z
XTtNPStoW3M+PjNdO2hbRD4+M109K2hbKCtoW0Q+PjNdPE0/SzpCKSs4Pj4zXTtoW0Y+PjNdPSto
WygraFtGPj4zXT5OP0Y6Qik+PjNdO2hbRT4+M109K2hbKCtoW0U+PjNdPk0/RjpCKSs4Pj4zXTtn
PWcrMXwwO2U9Y1tqPj4yXXwwfWk9aSsxfDB9ZT1jW2QrOTY+PjJdfDA7aWYoKGV8MCkhPTA/KGFb
ZSs4MT4+MF18MCkhPTA6MCl7ZD1jWyhjW0o+PjJdfDApKzExNj4+Ml0mMTtjW0g+PjJdPWNbSz4+
Ml07Y1tIKzQ+PjJdPWNbSys0Pj4yXTtjW0grOD4+Ml09Y1tLKzg+PjJdO2NbSCsxMj4+Ml09Y1tL
KzEyPj4yXTtjW0grMTY+PjJdPWNbSysxNj4+Ml07Y1tIKzIwPj4yXT1jW0srMjA+PjJdO2NbSCsy
ND4+Ml09Y1tLKzI0Pj4yXTtjW0grMjg+PjJdPWNbSysyOD4+Ml07Y0IoeCxILGUsZCk7Y1tLPj4y
XT1jW3g+PjJdO2NbSys0Pj4yXT1jW3grND4+Ml07Y1tLKzg+PjJdPWNbeCs4Pj4yXTtjW0srMTI+
PjJdPWNbeCsxMj4+Ml07Y1tLKzE2Pj4yXT1jW3grMTY+PjJdO2NbSysyMD4+Ml09Y1t4KzIwPj4y
XTtjW0srMjQ+PjJdPWNbeCsyND4+Ml07Y1tLKzI4Pj4yXT1jW3grMjg+PjJdO2Q9Y1trPj4yXXww
fWU9Y1tkKzEwMD4+Ml18MDtpZigoZXwwKSE9MD8oYVtlKzgxPj4wXXwwKSE9MDowKXtkPWNbKGNb
Sj4+Ml18MCkrMTE2Pj4yXSYxO2NbSD4+Ml09Y1tLPj4yXTtjW0grND4+Ml09Y1tLKzQ+PjJdO2Nb
SCs4Pj4yXT1jW0srOD4+Ml07Y1tIKzEyPj4yXT1jW0srMTI+PjJdO2NbSCsxNj4+Ml09Y1tLKzE2
Pj4yXTtjW0grMjA+PjJdPWNbSysyMD4+Ml07Y1tIKzI0Pj4yXT1jW0srMjQ+PjJdO2NbSCsyOD4+
Ml09Y1tLKzI4Pj4yXTtjQih5LEgsZSxkKTtjW0s+PjJdPWNbeT4+Ml07Y1tLKzQ+PjJdPWNbeSs0
Pj4yXTtjW0srOD4+Ml09Y1t5Kzg+PjJdO2NbSysxMj4+Ml09Y1t5KzEyPj4yXTtjW0srMTY+PjJd
PWNbeSsxNj4+Ml07Y1tLKzIwPj4yXT1jW3krMjA+PjJdO2NbSysyND4+Ml09Y1t5KzI0Pj4yXTtj
W0srMjg+PjJdPWNbeSsyOD4+Ml07ZD1jW2s+PjJdfDB9ZT1jW2QrMTA0Pj4yXXwwO2lmKChlfDAp
IT0wPyhhW2UrODE+PjBdfDApIT0wOjApe2Q9Y1soY1tKPj4yXXwwKSsxMTY+PjJdJjE7Y1tIPj4y
XT1jW0s+PjJdO2NbSCs0Pj4yXT1jW0srND4+Ml07Y1tIKzg+PjJdPWNbSys4Pj4yXTtjW0grMTI+
PjJdPWNbSysxMj4+Ml07Y1tIKzE2Pj4yXT1jW0srMTY+PjJdO2NbSCsyMD4+Ml09Y1tLKzIwPj4y
XTtjW0grMjQ+PjJdPWNbSysyND4+Ml07Y1tIKzI4Pj4yXT1jW0srMjg+PjJdO2NCKHosSCxlLGQp
O2NbSz4+Ml09Y1t6Pj4yXTtjW0srND4+Ml09Y1t6KzQ+PjJdO2NbSys4Pj4yXT1jW3orOD4+Ml07
Y1tLKzEyPj4yXT1jW3orMTI+PjJdO2NbSysxNj4+Ml09Y1t6KzE2Pj4yXTtjW0srMjA+PjJdPWNb
eisyMD4+Ml07Y1tLKzI0Pj4yXT1jW3orMjQ+PjJdO2NbSysyOD4+Ml09Y1t6KzI4Pj4yXTtkPWNb
az4+Ml18MH1kPWNbZCsxMDg+PjJdfDA7aWYoZHwwP2FbZCs4MT4+MF18MDowKXtrPWNbKGNbSj4+
Ml18MCkrMTE2Pj4yXSYxO2NbSD4+Ml09Y1tLPj4yXTtjW0grND4+Ml09Y1tLKzQ+PjJdO2NbSCs4
Pj4yXT1jW0srOD4+Ml07Y1tIKzEyPj4yXT1jW0srMTI+PjJdO2NbSCsxNj4+Ml09Y1tLKzE2Pj4y
XTtjW0grMjA+PjJdPWNbSysyMD4+Ml07Y1tIKzI0Pj4yXT1jW0srMjQ+PjJdO2NbSCsyOD4+Ml09
Y1tLKzI4Pj4yXTtjQihBLEgsZCxrKTtjW0s+PjJdPWNbQT4+Ml07Y1tLKzQ+PjJdPWNbQSs0Pj4y
XTtjW0srOD4+Ml09Y1tBKzg+PjJdO2NbSysxMj4+Ml09Y1tBKzEyPj4yXTtjW0srMTY+PjJdPWNb
QSsxNj4+Ml07Y1tLKzIwPj4yXT1jW0ErMjA+PjJdO2NbSysyND4+Ml09Y1tBKzI0Pj4yXTtjW0sr
Mjg+PjJdPWNbQSsyOD4+Ml19fW09Um0oYixtKXwwfW49ZW8oYixuKXwwfWQ9Y1tKPj4yXXwwO2Y9
Y1tkKzE4MD4+Ml18MDtnPWQrMTg0fDA7aT1HKzh8MDtqPUcrMTZ8MDtrPUcrMjR8MDtlPTE7d2hp
bGUoMSl7aWYoKGV8MCk+KGZ8MCkpYnJlYWs7UD0raFsoY1soY1soY1tnPj4yXXwwKSsoZTw8Mik+
PjJdfDApKzE2Pj4yXXwwKSsxNj4+M107aFtHPj4zXT1QO0M9Y1soY1soY1tnPj4yXXwwKSsoZTw8
Mik+PjJdfDApKzE2Pj4yXXwwO089K2hbQysyND4+M107aFtpPj4zXT1PO009K2hbQyszMj4+M107
aFtqPj4zXT1NO049K2hbQys0MD4+M107aFtrPj4zXT1OO2hbSz4+M109K2hbKCtoW0s+PjNdPFA/
SzpHKT4+M107aFtEPj4zXT0raFsoK2hbRD4+M108Tz9LOkcpKzg+PjNdO2hbRj4+M109K2hbKCto
W0Y+PjNdPk0/SzpHKSsxNj4+M107aFtFPj4zXT0raFsoK2hbRT4+M10+Tj9LOkcpKzI0Pj4zXTtl
PWUrMXwwfWU9Y1tkKzEyPj4yXXwwO2lmKChlfDApIT0wPyhhW2UrODE+PjBdfDApIT0wOjApe2Q9
Y1tkKzExNj4+Ml0mMTtjW0g+PjJdPWNbSz4+Ml07Y1tIKzQ+PjJdPWNbSys0Pj4yXTtjW0grOD4+
Ml09Y1tLKzg+PjJdO2NbSCsxMj4+Ml09Y1tLKzEyPj4yXTtjW0grMTY+PjJdPWNbSysxNj4+Ml07
Y1tIKzIwPj4yXT1jW0srMjA+PjJdO2NbSCsyND4+Ml09Y1tLKzI0Pj4yXTtjW0grMjg+PjJdPWNb
SysyOD4+Ml07Y0IoSSxILGUsZCk7Y1tLPj4yXT1jW0k+PjJdO2NbSys0Pj4yXT1jW0krND4+Ml07
Y1tLKzg+PjJdPWNbSSs4Pj4yXTtjW0srMTI+PjJdPWNbSSsxMj4+Ml07Y1tLKzE2Pj4yXT1jW0kr
MTY+PjJdO2NbSysyMD4+Ml09Y1tJKzIwPj4yXTtjW0srMjQ+PjJdPWNbSSsyND4+Ml07Y1tLKzI4
Pj4yXT1jW0krMjg+PjJdO2Q9Y1tKPj4yXXwwfUo9ZCsxNnwwO2NbSj4+Ml09Y1tLPj4yXTtjW0or
ND4+Ml09Y1tLKzQ+PjJdO2NbSis4Pj4yXT1jW0srOD4+Ml07Y1tKKzEyPj4yXT1jW0srMTI+PjJd
O2NbSisxNj4+Ml09Y1tLKzE2Pj4yXTtjW0orMjA+PjJdPWNbSysyMD4+Ml07Y1tKKzI0Pj4yXT1j
W0srMjQ+PjJdO2NbSisyOD4+Ml09Y1tLKzI4Pj4yXX1sPUw7cmV0dXJufWZ1bmN0aW9uIGVCKGEs
YixjKXthPWF8MDtiPStiO2M9K2M7aFthPj4zXT1iO2hbYSs4Pj4zXT1jO3JldHVybn1mdW5jdGlv
biBmQihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7dmFyIGQ9MC4wO2Q9K2hbYis4Pj4zXS0raFtj
Kzg+PjNdO2hbYT4+M109K2hbYj4+M10tK2hbYz4+M107aFthKzg+PjNdPWQ7cmV0dXJufWZ1bmN0
aW9uIGdCKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wLjA7ZD0raFtjKzg+PjNdKyAr
aFtiKzg+PjNdO2hbYT4+M109K2hbYz4+M10rICtoW2I+PjNdO2hbYSs4Pj4zXT1kO3JldHVybn1m
dW5jdGlvbiBoQihhKXthPWF8MDtpZigoY1thKzYwPj4yXXwwKT09KGF8MCkpYT0xO2Vsc2UgYT0o
cEsoRG4oYSl8MCw5MzAzOSw3KXwwKT09MCYxO3JldHVybiBhfDB9ZnVuY3Rpb24gaUIoYSl7YT1h
fDA7dmFyIGI9MDtiPVFsKDIyNjEyLGNbNDM0NV18MCl8MDtsQihhLGIpO3JldHVybiBifDB9ZnVu
Y3Rpb24gakIoYSxiKXthPWF8MDtiPWJ8MDthPWJiW2NbYT4+Ml0mMzFdKGEsYiw1MTIpfDA7aWYo
IWEpYT0wO2Vsc2UgYT1jW2ErMTI+PjJdfDA7cmV0dXJuIGF8MH1mdW5jdGlvbiBrQihhLGIsYyl7
YT1hfDA7Yj1ifDA7Yz1jfDA7Yz1hbihybyhiKXwwLGIsYywwLDEpfDA7Tm8oYywxMjIyNTQsMTc2
LDEpfDA7TW0oYSxjKXwwO3JldHVybiBjfDB9ZnVuY3Rpb24gbEIoYSxiKXthPWF8MDtiPWJ8MDt2
YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTA7aD1sO2w9bCsxNnwwO2c9aDtmPWErMTZ8MDtlPTE7
d2hpbGUoMSl7YT1jW2Y+PjJdfDA7aWYoKGV8MCk+KGNbYSsxODA+PjJdfDApKWJyZWFrO2E9Y1so
Y1thKzE4ND4+Ml18MCkrKGU8PDIpPj4yXXwwO2Q9RG4oYSl8MDtpZighKGJiW2NbYj4+Ml0mMzFd
KGIsZCw1MTIpfDApKXtpPXZ3KDE2KXwwO2NbaSs4Pj4yXT1kO2NbaSsxMj4+Ml09YTtiYltjW2I+
PjJdJjMxXShiLGksMSl8MH1lbHNle2NbZz4+Ml09ZDtfbCgwLDkzMDYyLGcpfDB9bEIoYSxiKTtl
PWUrMXwwfWw9aDtyZXR1cm59ZnVuY3Rpb24gbUIoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO19J
KGIpO3JldHVybn1mdW5jdGlvbiBuQihhKXthPWF8MDt2YXIgYj0wLGM9MCxkPTA7ZD1JcChhLDkz
MDQ3LDEpfDA7Tm8oZCwxMjIyNzcsMjgwLDEpfDA7Yj1jbyhhKXwwO3doaWxlKDEpe2lmKCFiKWJy
ZWFrO2M9UG0oYSxiKXwwO3doaWxlKDEpe2lmKCFjKWJyZWFrO29CKGMsZCk7Yz1SbShhLGMpfDB9
Yj1lbyhhLGIpfDB9Yj1jbyhkKXwwO3doaWxlKDEpe2lmKCFiKWJyZWFrO2M9ZW8oZCxiKXwwO3BC
KGIpO3FvKGEsYil8MDtiPWN9bG4oZCl8MDtyZXR1cm59ZnVuY3Rpb24gb0IoYixkKXtiPWJ8MDtk
PWR8MDt2YXIgZT0wLGY9MDtlPWNbYj4+Ml0mMztmPWNbKChlfDApPT0zP2I6Yis0OHwwKSs0MD4+
Ml18MDtlPWNbKChlfDApPT0yP2I6YistNDh8MCkrNDA+PjJdfDA7aWYoISgoYVsoY1tmKzE2Pj4y
XXwwKSsxMTg+PjBdfDApPT0wPyEoYVsoY1tlKzE2Pj4yXXwwKSsxMTg+PjBdfDApOjApKXtmPXFC
KGYsZCl8MDtlPWtCKGIsZixxQihlLGQpfDApfDA7Zj1jW2IrMTY+PjJdfDA7ZD1mKzh8MDtlPWNb
ZSsxNj4+Ml18MDtjW2UrOD4+Ml09Y1tkPj4yXTtjW2Q+PjJdPTA7ZD1mKzk2fDA7Y1tlKzk2Pj4y
XT1jW2Q+PjJdO2NbZD4+Ml09MDtkPWYrMTA4fDA7Y1tlKzEwOD4+Ml09Y1tkPj4yXTtjW2Q+PjJd
PTA7ZD1mKzEwMHwwO2NbZSsxMDA+PjJdPWNbZD4+Ml07Y1tkPj4yXT0wO2Y9ZisxMDR8MDtjW2Ur
MTA0Pj4yXT1jW2Y+PjJdO2NbZj4+Ml09MDtyQihiKX1yZXR1cm59ZnVuY3Rpb24gcEIoYSl7YT1h
fDA7dmFyIGI9MCxkPTAsZT0wO2U9YSsxNnwwO2I9Y1tlPj4yXXwwO2Q9Y1tiKzEzMj4+Ml18MDtp
ZihkKXtfSShkKTtiPWNbZT4+Ml18MH1kPWNbYis4Pj4yXXwwO2lmKGQpe2diW2NbKGNbZCs0Pj4y
XXwwKSs0Pj4yXSYxMjddKGEpO2I9Y1tlPj4yXXwwfW93KGNbYisxMDQ+PjJdfDApO293KGNbKGNb
ZT4+Ml18MCkrMTA4Pj4yXXwwKTtQbyhhLDEyMjI0MSl8MDtyZXR1cm59ZnVuY3Rpb24gcUIoYixk
KXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTA7Zj1ybyhiKXwwO2E6ZG8gaWYoYVsoY1tiKzE2
Pj4yXXwwKSsxMTg+PjBdfDApe2lvKGQsYiwxKXwwO2I9V0ooRG4oYil8MCw1OCl8MDtpZighYilt
YSg5NjAzMCw5MjY5NCwxMjI1LDkzMTE0KTtkPWIrMXwwO2I9bm8oZixkLDApfDA7aWYoIWIpe2I9
bm8oZixkLDEpfDA7Tm8oYiwxMjIyNDEsMzA0LDEpfDA7ZD1EbShmLDEsMCl8MDt3aGlsZSgxKXtp
ZighZClicmVhayBhO2c9Sm0oYixkKXwwO2U9Y1tkKzEyPj4yXXwwO2lmKChnfDApIT0oZXwwKSlD
bShiLGQsZSl8MDtkPURtKGYsMSxkKXwwfX19d2hpbGUoMCk7cmV0dXJuIGJ8MH1mdW5jdGlvbiBy
QihhKXthPWF8MDt2YXIgYj0wO2I9YSsxNnwwO19JKGNbKGNbYj4+Ml18MCkrMTQ0Pj4yXXwwKTtz
QihhKTtvdyhjWyhjW2I+PjJdfDApKzk2Pj4yXXwwKTtvdyhjWyhjW2I+PjJdfDApKzEwOD4+Ml18
MCk7b3coY1soY1tiPj4yXXwwKSsxMDA+PjJdfDApO293KGNbKGNbYj4+Ml18MCkrMTA0Pj4yXXww
KTtQbyhhLDEyMjI1NCl8MDtyZXR1cm59ZnVuY3Rpb24gc0IoYSl7YT1hfDA7dmFyIGI9MCxkPTAs
ZT0wO2U9YSsxNnwwO2E9Y1tlPj4yXXwwO2I9Y1thKzg+PjJdfDA7aWYoYil7ZD0wO3doaWxlKDEp
e2E9Y1tiPj4yXXwwO2lmKChkfDApPj0oY1tiKzQ+PjJdfDApKWJyZWFrO19JKGNbYSsoZCo0OHww
KT4+Ml18MCk7ZD1kKzF8MDtiPWNbKGNbZT4+Ml18MCkrOD4+Ml18MH1fSShhKTtfSShjWyhjW2U+
PjJdfDApKzg+PjJdfDApO2E9Y1tlPj4yXXwwfWNbYSs4Pj4yXT0wO3JldHVybn1mdW5jdGlvbiB0
QihhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wO2U9eW0oYSxiLGMsMCl8
MDtpZighZSllPXltKGEsYixjLGQpfDA7cmV0dXJuIGV8MH1mdW5jdGlvbiB1QihhLGIpe2E9YXww
O2I9YnwwO3JldHVybiB4SihjW2E+PjJdfDAsY1tiPj4yXXwwKXwwfWZ1bmN0aW9uIHZCKGIsZCl7
Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89MCxw
PTAscT0wO3E9bDtsPWwrMTA3MnwwO2s9cSs4fDA7aj1xO2k9cSsxNnwwO289cSsyNHwwO2NbaT4+
Ml09YjtpZigoY1s0MjM2NV18MCkhPShkfDApKXtjWzQyMzY1XT1kO2FbMTc0MDgwXT0wfWNtKG8s
MTAyNCxxKzQwfDApO3A9bys0fDA7bj1vKzh8MDt3aGlsZSgxKXtmPWIrMXwwO2NbaT4+Ml09Zjtl
PWFbYj4+MF18MDtpZighKGU8PDI0Pj4yNCkpYnJlYWs7ZG8gaWYoKGUmMjU1KTwxOTIpaWYoZTw8
MjQ+PjI0PT0zOCl7Zj14QihpKXwwO2lmKCFmKWU9Mzg7ZWxzZXtpZihmPj4+MDwxMjcpe2U9ZiYy
NTU7YnJlYWt9Yj1jW3A+PjJdfDA7ZT1iPj4+MD49KGNbbj4+Ml18MCk+Pj4wO2lmKGY+Pj4wPDIw
NDcpe2lmKGUpe2RtKG8sMSl8MDtiPWNbcD4+Ml18MH1jW3A+PjJdPWIrMTthW2I+PjBdPWY+Pj42
fDE5MjtlPShmJjYzfDEyOCkmMjU1O2JyZWFrfWlmKGUpe2RtKG8sMSl8MDtiPWNbcD4+Ml18MH1j
W3A+PjJdPWIrMTthW2I+PjBdPWY+Pj4xMnwyMjQ7Yj1jW3A+PjJdfDA7aWYoYj4+PjA+PShjW24+
PjJdfDApPj4+MCl7ZG0obywxKXwwO2I9Y1twPj4yXXwwfWNbcD4+Ml09YisxO2FbYj4+MF09Zj4+
PjYmNjN8MTI4O2U9KGYmNjN8MTI4KSYyNTV9fWVsc2V7aD0wO209OX1lbHNlIGlmKChlJjI1NSk+
PTIyNClpZigoZSYyNTUpPj0yNDApaWYoKGUmMjU1KTwyNDgpe2g9MzttPTl9ZWxzZXtpZighKGFb
MTc0MDgwXXwwKSl7Y1tqPj4yXT1EbihkKXwwO19sKDAsOTQ1Mjksail8MDthWzE3NDA4MF09MX1o
PS0xO2U9d0IoZSxvKXwwO209OX1lbHNle2g9MjttPTl9ZWxzZXtoPTE7bT05fXdoaWxlKDApO2Rv
IGlmKChtfDApPT05KXttPTA7Zz0wO3doaWxlKDEpe2lmKChnfDApPj0oaHwwKSl7bT0zNDticmVh
a31pZigoYVtmPj4wXSYtNjQpPDwyND4+MjQhPS0xMjgpYnJlYWs7Yj1jW3A+PjJdfDA7aWYoYj4+
PjA+PShjW24+PjJdfDApPj4+MCl7ZG0obywxKXwwO2I9Y1twPj4yXXwwfWNbcD4+Ml09YisxO2Fb
Yj4+MF09ZTtnPWcrMXwwO2U9YVtmPj4wXXwwO2Y9ZisxfDB9aWYoKG18MCk9PTM0KXttPTA7Y1tp
Pj4yXT1mO2JyZWFrfWNbaT4+Ml09ZjtpZighKGFbMTc0MDgwXXwwKSl7Zz1EbihkKXwwO2Nbaz4+
Ml09aCsxO2Nbays0Pj4yXT1nO19sKDAsOTQ2NTAsayl8MDthWzE3NDA4MF09MX1lPXdCKGUsbyl8
MH13aGlsZSgwKTtiPWNbcD4+Ml18MDtpZihiPj4+MD49KGNbbj4+Ml18MCk+Pj4wKXtkbShvLDEp
fDA7Yj1jW3A+PjJdfDB9Y1twPj4yXT1iKzE7YVtiPj4wXT1lO2I9Y1tpPj4yXXwwfWI9Y1twPj4y
XXwwO2lmKGI+Pj4wPj0oY1tuPj4yXXwwKT4+PjApe2RtKG8sMSl8MDtiPWNbcD4+Ml18MH1hW2I+
PjBdPTA7bj1jW28+PjJdfDA7Y1twPj4yXT1uO3A9R0wobil8MDtnbShvKTtsPXE7cmV0dXJuIHB8
MH1mdW5jdGlvbiB3QihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wLGo9
MCxrPTA7aj1sO2w9bCsxNnwwO2c9ajthW2c+PjBdPWI7YVtnKzE+PjBdPTA7Zz15QihnKXwwO2g9
ZCs0fDA7aT1kKzh8MDtlPXJKKGcpfDA7Zj1nO3doaWxlKDEpe2lmKChlfDApPD0xKWJyZWFrO2I9
Y1toPj4yXXwwO2lmKGI+Pj4wPj0oY1tpPj4yXXwwKT4+PjApe2RtKGQsMSl8MDtiPWNbaD4+Ml18
MH1rPWFbZj4+MF18MDtjW2g+PjJdPWIrMTthW2I+PjBdPWs7ZT1lKy0xfDA7Zj1mKzF8MH1rPWFb
Zj4+MF18MDtfSShnKTtsPWo7cmV0dXJuIGt8MH1mdW5jdGlvbiB4QihiKXtiPWJ8MDt2YXIgZD0w
LGU9MCxmPTAsZz0wLGg9MCxpPTA7aT1sO2w9bCszMnwwO2g9aTtkPWkrOHwwO2U9Y1tiPj4yXXww
O2E6ZG8gaWYoKGFbZT4+MF18MCkhPTM1KXtjW2g+PjJdPWQ7Zz0wO2I6d2hpbGUoMSl7aWYoKGd8
MCk+PTgpe2Q9MDticmVhayBhfWY9YVtlK2c+PjBdfDA7c3dpdGNoKGY8PDI0Pj4yNCl7Y2FzZSAw
OntkPTA7YnJlYWsgYX1jYXNlIDU5OmJyZWFrIGI7ZGVmYXVsdDp7fX1hW2Q+PjBdPWY7ZD1kKzF8
MDtnPWcrMXwwfWFbZD4+MF09MDtkPXZNKGgsMjI2NDgsMjUyLDgsMzApfDA7aWYoIWQpZD0wO2Vs
c2V7ZT1lKyhnKzEpfDA7ZD1jW2QrND4+Ml18MH19ZWxzZXtoPWFbZSsxPj4wXXwwO2Q9aCYyNTU7
YzpkbyBpZigoaHwzMik8PDI0Pj4yND09MTIwKXtoPTA7Zz0yO3doaWxlKDEpe2lmKChnfDApPj04
KXtmPWg7YnJlYWsgY31mPWFbZStnPj4wXXwwO2Q9ZiYyNTU7aWYoKGYrLTY1JjI1NSk+PTYpaWYo
KGYrLTk3JjI1NSk+PTYpaWYoKGYrLTQ4JjI1NSk8MTApZj0tNDg7ZWxzZXtmPWg7YnJlYWsgY31l
bHNlIGY9LTg3O2Vsc2UgZj0tNTU7ZD1mK2R8MDtoPWQrKGg8PDQpfDA7Zz1nKzF8MH19ZWxzZXtm
PTA7Zz0xO3doaWxlKDEpe2lmKChnfDApPj04KWJyZWFrIGM7aD1hW2UrZz4+MF18MDtkPWgmMjU1
O2lmKChoKy00OCYyNTUpPj0xMClicmVhayBjO2Y9KGYqMTB8MCkrLTQ4K2R8MDtnPWcrMXwwfX13
aGlsZSgwKTtkPShkfDApPT01OTtlPWQ/ZSsoZysxKXwwOmU7ZD1kP2Y6MH13aGlsZSgwKTtjW2I+
PjJdPWU7bD1pO3JldHVybiBkfDB9ZnVuY3Rpb24geUIoYil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0w
LGc9MCxoPTAsaT0wLGo9MCxrPTA7az1sO2w9bCsxMDU2fDA7Zz1rO2k9ays4fDA7Y1tnPj4yXT1i
O2NtKGksMTAyNCxrKzI0fDApO2o9aSs0fDA7aD1pKzh8MDt3aGlsZSgxKXtjW2c+PjJdPWIrMTtk
PWFbYj4+MF18MDtpZighKGQ8PDI0Pj4yNCkpYnJlYWs7Yj1kJjI1NTtpZihkPDwyND4+MjQ9PTM4
KXtiPXhCKGcpfDA7aWYoIWIpe2I9Mzg7Zj02fWVsc2UgZj01fWVsc2UgZj01O2RvIGlmKChmfDAp
PT01KXtmPTA7aWYoYj4+PjA8MTI3KWY9NjtlbHNle2Q9Y1tqPj4yXXwwO2U9ZD4+PjA+PShjW2g+
PjJdfDApPj4+MDtpZihiPj4+MDwyMDQ3KXtpZihlKXtkbShpLDEpfDA7ZD1jW2o+PjJdfDB9Y1tq
Pj4yXT1kKzE7YVtkPj4wXT1iPj4+NnwxOTI7ZD1jW2o+PjJdfDA7aWYoZD4+PjA+PShjW2g+PjJd
fDApPj4+MCl7ZG0oaSwxKXwwO2Q9Y1tqPj4yXXwwfWI9YiY2M3wxMjg7YnJlYWt9aWYoZSl7ZG0o
aSwxKXwwO2Q9Y1tqPj4yXXwwfWNbaj4+Ml09ZCsxO2FbZD4+MF09Yj4+PjEyfDIyNDtkPWNbaj4+
Ml18MDtpZihkPj4+MD49KGNbaD4+Ml18MCk+Pj4wKXtkbShpLDEpfDA7ZD1jW2o+PjJdfDB9Y1tq
Pj4yXT1kKzE7YVtkPj4wXT1iPj4+NiY2M3wxMjg7ZD1jW2o+PjJdfDA7aWYoZD4+PjA+PShjW2g+
PjJdfDApPj4+MCl7ZG0oaSwxKXwwO2Q9Y1tqPj4yXXwwfWI9YiY2M3wxMjh9fXdoaWxlKDApO2lm
KChmfDApPT02KXtkPWNbaj4+Ml18MDtpZihkPj4+MD49KGNbaD4+Ml18MCk+Pj4wKXtkbShpLDEp
fDA7ZD1jW2o+PjJdfDB9fWNbaj4+Ml09ZCsxO2FbZD4+MF09YjtiPWNbZz4+Ml18MH1iPWNbaj4+
Ml18MDtpZihiPj4+MD49KGNbaD4+Ml18MCk+Pj4wKXtkbShpLDEpfDA7Yj1jW2o+PjJdfDB9YVti
Pj4wXT0wO2g9Y1tpPj4yXXwwO2Nbaj4+Ml09aDtqPUdMKGgpfDA7Z20oaSk7bD1rO3JldHVybiBq
fDB9ZnVuY3Rpb24gekIoYil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wO2k9bDts
PWwrMTA0MHwwO2c9aTtjbShnLDEwMjQsaSsxNnwwKTtoPWcrNHwwO2Y9Zys4fDA7d2hpbGUoMSl7
ZD1iKzF8MDtlPWFbYj4+MF18MDtpZighKGU8PDI0Pj4yNCkpYnJlYWs7aWYoKGUmMjU1KTwxMjcp
e2I9Y1toPj4yXXwwO2lmKGI+Pj4wPj0oY1tmPj4yXXwwKT4+PjApe2RtKGcsMSl8MDtiPWNbaD4+
Ml18MH1jW2g+PjJdPWIrMTthW2I+PjBdPWU7Yj1kO2NvbnRpbnVlfWVsc2V7ZT1hW2Q+PjBdJjYz
fGU8PDYmMjU1O2Q9Y1toPj4yXXwwO2lmKGQ+Pj4wPj0oY1tmPj4yXXwwKT4+PjApe2RtKGcsMSl8
MDtkPWNbaD4+Ml18MH1jW2g+PjJdPWQrMTthW2Q+PjBdPWU7Yj1iKzJ8MDtjb250aW51ZX19Yj1j
W2g+PjJdfDA7aWYoYj4+PjA+PShjW2Y+PjJdfDApPj4+MCl7ZG0oZywxKXwwO2I9Y1toPj4yXXww
fWFbYj4+MF09MDtmPWNbZz4+Ml18MDtjW2g+PjJdPWY7aD1HTChmKXwwO2dtKGcpO2w9aTtyZXR1
cm4gaHwwfWZ1bmN0aW9uIEFCKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxp
PTAsaj0wLGs9MCxtPTAsbj0wO249bDtsPWwrODB8MDtlPW4rNDh8MDtkPW4rMzJ8MDtmPW4rNjR8
MDtnPW4rMTZ8MDtpPW47aj1iKzE2fDA7az1hKzE2fDA7bT1jW2s+PjJdfDA7aWYoKCgraFtqPj4z
XT49K2hbbSs0OD4+M10/K2hbbSs2ND4+M10+PStoW2I+PjNdOjApPytoW2IrMjQ+PjNdPj0raFtt
KzU2Pj4zXTowKT8raFttKzcyPj4zXT49K2hbYis4Pj4zXTowKXttPW0rMTZ8MDtjW2Q+PjJdPWNb
aj4+Ml07Y1tkKzQ+PjJdPWNbais0Pj4yXTtjW2QrOD4+Ml09Y1tqKzg+PjJdO2NbZCsxMj4+Ml09
Y1tqKzEyPj4yXTtjW2U+PjJdPWNbYj4+Ml07Y1tlKzQ+PjJdPWNbYis0Pj4yXTtjW2UrOD4+Ml09
Y1tiKzg+PjJdO2NbZSsxMj4+Ml09Y1tiKzEyPj4yXTtCQihnLGQsZSk7Y1tkPj4yXT1jW20+PjJd
O2NbZCs0Pj4yXT1jW20rND4+Ml07Y1tkKzg+PjJdPWNbbSs4Pj4yXTtjW2QrMTI+PjJdPWNbbSsx
Mj4+Ml07Y1tlPj4yXT1jW2c+PjJdO2NbZSs0Pj4yXT1jW2crND4+Ml07Y1tlKzg+PjJdPWNbZys4
Pj4yXTtjW2UrMTI+PjJdPWNbZysxMj4+Ml07ZkIoaSxkLGUpO2NbZj4+Ml09YTtjW2YrND4+Ml09
MDtkPWNbKGNbKGNbKGNbaz4+Ml18MCkrOD4+Ml18MCkrND4+Ml18MCkrMTI+PjJdfDA7Y1tlPj4y
XT1jW2k+PjJdO2NbZSs0Pj4yXT1jW2krND4+Ml07Y1tlKzg+PjJdPWNbaSs4Pj4yXTtjW2UrMTI+
PjJdPWNbaSsxMj4+Ml07ZD1hYltkJjYzXShmLGUpfDB9ZWxzZSBkPTA7bD1uO3JldHVybiBkfDB9
ZnVuY3Rpb24gQkIoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMDtkPSgraFtjKzg+
PjNdKyAraFtiKzg+PjNdKSouNTtoW2E+PjNdPSgraFtjPj4zXSsgK2hbYj4+M10pKi41O2hbYSs4
Pj4zXT1kO3JldHVybn1mdW5jdGlvbiBDQihhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAuMCxlPTAs
Zj0wLjAsZz0wLGk9MC4wLGo9MCxrPTAsbT0wLG49MDtlPWw7bD1sKzgwfDA7aj1lKzY0fDA7az1l
KzQ4fDA7bT1lO249ZSszMnwwO2c9ZSsxNnwwO2hbbT4+M109K2hbYSsyND4+M10qLjU7aFttKzg+
PjNdPStoW2ErMzI+PjNdKi41O2E9YSs1NnwwO2Nbaz4+Ml09Y1thPj4yXTtjW2srND4+Ml09Y1th
KzQ+PjJdO2Nbays4Pj4yXT1jW2ErOD4+Ml07Y1trKzEyPj4yXT1jW2ErMTI+PjJdO2Nbaj4+Ml09
Y1ttPj4yXTtjW2orND4+Ml09Y1ttKzQ+PjJdO2Nbais4Pj4yXT1jW20rOD4+Ml07Y1tqKzEyPj4y
XT1jW20rMTI+PjJdO2ZCKG4sayxqKTtpPStoW24+PjNdO2Y9K2hbbis4Pj4zXTtjW2s+PjJdPWNb
YT4+Ml07Y1trKzQ+PjJdPWNbYSs0Pj4yXTtjW2srOD4+Ml09Y1thKzg+PjJdO2NbaysxMj4+Ml09
Y1thKzEyPj4yXTtjW2o+PjJdPWNbbT4+Ml07Y1tqKzQ+PjJdPWNbbSs0Pj4yXTtjW2orOD4+Ml09
Y1ttKzg+PjJdO2NbaisxMj4+Ml09Y1ttKzEyPj4yXTtnQihnLGssaik7ZD0raFtnKzg+PjNdO2lm
KCgraFtiKzE2Pj4zXT49aT8raFtnPj4zXT49K2hbYj4+M106MCk/K2hbYisyND4+M10+PWY6MClh
PWQ+PStoW2IrOD4+M10mMTtlbHNlIGE9MDtsPWU7cmV0dXJuIGF8MH1mdW5jdGlvbiBEQihhLGIp
e2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTA7
bj1sO2w9bCs4MHwwO2s9bis0OHwwO2o9bjtoPWErMTZ8MDthPWNbaD4+Ml18MDtpPWNbYSs4Pj4y
XXwwO2E6ZG8gaWYoKGl8MCkhPTA/KGc9aSs4fDAsY1tqPj4yXT1jW2c+PjJdLGNbais0Pj4yXT1j
W2crND4+Ml0sY1tqKzg+PjJdPWNbZys4Pj4yXSxjW2orMTI+PjJdPWNbZysxMj4+Ml0sY1tqKzE2
Pj4yXT1jW2crMTY+PjJdLGNbaisyMD4+Ml09Y1tnKzIwPj4yXSxjW2orMjQ+PjJdPWNbZysyND4+
Ml0sY1tqKzI4Pj4yXT1jW2crMjg+PjJdLGNbaz4+Ml09Y1tiPj4yXSxjW2srND4+Ml09Y1tiKzQ+
PjJdLGNbays4Pj4yXT1jW2IrOD4+Ml0sY1trKzEyPj4yXT1jW2IrMTI+PjJdLGNbaysxNj4+Ml09
Y1tiKzE2Pj4yXSxjW2srMjA+PjJdPWNbYisyMD4+Ml0sY1trKzI0Pj4yXT1jW2IrMjQ+PjJdLGNb
aysyOD4+Ml09Y1tiKzI4Pj4yXSwoRUIoaixrKXwwKSE9MCk6MCl7ZD1pKzR8MDthPTA7d2hpbGUo
MSl7aWYoKGF8MCk+PShjW2Q+PjJdfDApKWJyZWFrO2U9ajtmPShjW2k+PjJdfDApKyhhKjQ4fDAp
fDA7Zz1lKzQ4fDA7ZG97Y1tlPj4yXT1jW2Y+PjJdO2U9ZSs0fDA7Zj1mKzR8MH13aGlsZSgoZXww
KTwoZ3wwKSk7Y1trPj4yXT1jW2I+PjJdO2Nbays0Pj4yXT1jW2IrND4+Ml07Y1trKzg+PjJdPWNb
Yis4Pj4yXTtjW2srMTI+PjJdPWNbYisxMj4+Ml07Y1trKzE2Pj4yXT1jW2IrMTY+PjJdO2Nbaysy
MD4+Ml09Y1tiKzIwPj4yXTtjW2srMjQ+PjJdPWNbYisyND4+Ml07Y1trKzI4Pj4yXT1jW2IrMjg+
PjJdO2lmKCEoKEZCKGosayl8MCk8PDI0Pj4yNCkpYT1hKzF8MDtlbHNle2E9MTticmVhayBhfX1h
PWNbaD4+Ml18MDttPTd9ZWxzZSBtPTc7d2hpbGUoMCk7ZG8gaWYoKG18MCk9PTcpe2E9Y1thKzk2
Pj4yXXwwO2lmKGF8MD8oY1trPj4yXT1jW2I+PjJdLGNbays0Pj4yXT1jW2IrND4+Ml0sY1trKzg+
PjJdPWNbYis4Pj4yXSxjW2srMTI+PjJdPWNbYisxMj4+Ml0sY1trKzE2Pj4yXT1jW2IrMTY+PjJd
LGNbaysyMD4+Ml09Y1tiKzIwPj4yXSxjW2srMjQ+PjJdPWNbYisyND4+Ml0sY1trKzI4Pj4yXT1j
W2IrMjg+PjJdLChDQihhLGspfDApPDwyND4+MjQpOjApe2E9MTticmVha31hPTB9d2hpbGUoMCk7
bD1uO3JldHVybiBhfDB9CitmdW5jdGlvbiBzaShhKXthPWF8MDt2YXIgZD0wLGU9MCxmPTAsZz0w
LGg9MCxpPTAsaj0wLGs9MDtoPWErMTZ8MDtpPXZ3KChiWyhjW2g+PjJdfDApKzIzOD4+MV08PDIp
Kzh8MCl8MDtnPWNvKGEpfDA7d2hpbGUoMSl7aWYoIWcpYnJlYWs7Zj1pKyhjWyhjW2crMTY+PjJd
fDApKzIzMj4+Ml08PDIpfDA7Y1tmPj4yXT0oY1tmPj4yXXwwKSsxO2Y9UG0oYSxnKXwwO3doaWxl
KDEpe2lmKCFmKWJyZWFrO2o9Y1tmPj4yXSYzO2Q9Y1soY1soY1soKGp8MCk9PTM/ZjpmKzQ4fDAp
KzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwO2o9Y1soY1soY1soKGp8MCk9PTI/ZjpmKy00
OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MDtrPShkfDApPihqfDApO2U9az9kOmo7
ZD1rP2o6ZDt3aGlsZSgxKXtkPWQrMXwwO2lmKChkfDApPj0oZXwwKSlicmVhaztrPWkrKGQ8PDIp
fDA7Y1trPj4yXT0oY1trPj4yXXwwKSsxfWY9Um0oYSxmKXwwfWc9ZW8oYSxnKXwwfWY9dncoKGJb
KGNbaD4+Ml18MCkrMjM4Pj4xXTw8NikrMTI4fDApfDA7ZT1jW2g+PjJdfDA7Y1tlKzE5Nj4+Ml09
ZjtkPWJbZSsyMzY+PjFdfDA7d2hpbGUoMSl7aWYoKGR8MCk+KGJbZSsyMzg+PjFdfDApKWJyZWFr
O2o9aSsoZDw8Mil8MDtlPWNbaj4+Ml18MDtjW2YrKGQ8PDYpPj4yXT1lO2NbZisoZDw8NikrOD4+
Ml09ZTtqPXZ3KChjW2o+PjJdPDwyKSs0fDApfDA7ZT1jW2g+PjJdfDA7az1jW2UrMTk2Pj4yXXww
O2NbaysoZDw8NikrND4+Ml09ajtjW2srKGQ8PDYpKzEyPj4yXT1qO2Q9ZCsxfDA7Zj1rfV9JKGkp
O3JldHVybn1mdW5jdGlvbiB0aShhLGQsZSxmKXthPWF8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIg
Zz0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7bT1hKzE2fDA7aT0xO3doaWxlKDEpe2c9Y1ttPj4yXXww
O2lmKChpfDApPihjW2crMTgwPj4yXXwwKSlicmVhaztsPXRpKGNbKGNbZysxODQ+PjJdfDApKyhp
PDwyKT4+Ml18MCxkLGUsZil8MDtpPWkrMXwwO2Y9bH1hOmRvIGlmKChWZihhKXwwKSE9KGF8MCkp
e1ZOKGR8MCwwLGU8PDJ8MCl8MDtnPWNvKGEpfDA7d2hpbGUoMSl7aWYoIWcpYnJlYWs7az1nKzE2
fDA7Y1tkKyhjWyhjW2s+PjJdfDApKzIzMj4+Ml08PDIpPj4yXT0xO2k9UG0oYSxnKXwwO3doaWxl
KDEpe2lmKCFpKWJyZWFrO2w9aSstNDh8MDtqPWNbKGNbaz4+Ml18MCkrMjMyPj4yXXwwO3doaWxl
KDEpe2U9aisxfDA7aWYoKGp8MCk+PShjWyhjWyhjWygoY1tpPj4yXSYzfDApPT0yP2k6bCkrNDA+
PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApKWJyZWFrO2NbZCsoZTw8Mik+PjJdPTE7aj1lfWk9
Um0oYSxpKXwwfWc9ZW8oYSxnKXwwfWc9Y1ttPj4yXXwwO2k9YltnKzIzNj4+MV18MDt3aGlsZSgx
KXtpZigoaXwwKT4oYltnKzIzOD4+MV18MCkpYnJlYWsgYTtpZighKGNbZCsoaTw8Mik+PjJdfDAp
KXtpZighZilmPUlwKFZmKGEpfDAsNzk1MjIsMSl8MDtnPW5vKGYsMCwxKXwwO05vKGcsMTIyMjQx
LDMwNCwxKXwwO2w9ZysxNnwwO2o9Y1tsPj4yXXwwO2NbaisyMzI+PjJdPWk7aFtqKzk2Pj4zXT0u
NTtoW2orODg+PjNdPS41O2hbais4MD4+M109MS4wO2NbaisyMTY+PjJdPTE7Y1tqKzE3Nj4+Ml09
MDtqPXZ3KDIwKXwwO2s9Y1tsPj4yXXwwO2NbaysxNzI+PjJdPWo7Y1trKzE4ND4+Ml09MDtrPXZ3
KDIwKXwwO2NbKGNbbD4+Ml18MCkrMTgwPj4yXT1rO2lvKGEsZywxKXwwO2c9Y1ttPj4yXXwwfWk9
aSsxfDB9fXdoaWxlKDApO3JldHVybiBmfDB9ZnVuY3Rpb24gdWkoYSl7YT1hfDA7dmFyIGI9MCxk
PTA7S2goYSk7Yj1hKzE2fDA7YT0xO3doaWxlKDEpe2Q9Y1tiPj4yXXwwO2lmKChhfDApPihjW2Qr
MTgwPj4yXXwwKSlicmVhazt1aShjWyhjW2QrMTg0Pj4yXXwwKSsoYTw8Mik+PjJdfDApO2E9YSsx
fDB9cmV0dXJufWZ1bmN0aW9uIHZpKGEpe2E9YXwwO3ZhciBiPTAsZD0wO2I9Y1thPj4yXSYzO2Q9
d2koY1soKGJ8MCk9PTM/YTphKzQ4fDApKzQwPj4yXXwwKXwwO2I9Y1sxNzIzNisoZCoxMnwwKSso
KHdpKGNbKChifDApPT0yP2E6YSstNDh8MCkrNDA+PjJdfDApfDApPDwyKT4+Ml18MDthPShjW2Er
MTY+PjJdfDApKzE1NnwwO2NbYT4+Ml09TyhjW2E+PjJdfDAsYil8MDtyZXR1cm59ZnVuY3Rpb24g
d2koYil7Yj1ifDA7Yj1jW2IrMTY+PjJdfDA7aWYoKGFbYisxNTY+PjBdfDApPT0xKWI9MjtlbHNl
IGI9KGFbYisxNjA+PjBdfDApPDImMTtyZXR1cm4gYnwwfWZ1bmN0aW9uIHhpKGIsZCl7Yj1ifDA7
ZD1kfDA7aWYoY1soY1tiKzE2Pj4yXXwwKSsxOTI+PjJdfDApe1lrKGIpO3lpKGIpO2lmKGFbMTc0
MDc2XXwwKWtsKGIpO3ppKGIpO2lmKENsKGIpfDApeWkoYik7QWkoYik7aWYoZ3goYiwyLEJpKGIp
fDApfDA/KENpKGIpLGd4KGIsMixCaShiKXwwKXwwKTowKW1hKDc5NTQwLDc5NTY4LDEzNCw3OTU3
OSk7RGkoYik7RWkoYixkKTtGaShiKX1yZXR1cm59ZnVuY3Rpb24geWkoZCl7ZD1kfDA7dmFyIGU9
MCxmPTAsZz0wLGk9MCxqPTAuMCxrPTAuMCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0w
LHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLjAsej0wLjA7dj1kKzE2fDA7ZT1jW3Y+PjJdfDA7dz1j
W2UrMTk2Pj4yXXwwO3Q9YltlKzIzNj4+MV18MDt3aGlsZSgxKXtpZigodHwwKT4oYltlKzIzOD4+
MV18MCkpYnJlYWs7bj13Kyh0PDw2KXwwO289dysodDw8NikrNHwwO3A9dysodDw8NikrNDB8MDtx
PXcrKHQ8PDYpKzI0fDA7cj13Kyh0PDw2KSszMnwwO3M9dysodDw8NikrMTZ8MDttPTA7d2hpbGUo
MSl7aWYoKG18MCk+PShjW24+PjJdfDApKWJyZWFrO2w9KGNbKGNbbz4+Ml18MCkrKG08PDIpPj4y
XXwwKSsxNnwwO2U9Y1tsPj4yXXwwO2o9K2hbZSs4MD4+M10qLjU7aT1jW2UrMjA0Pj4yXXwwO2E6
ZG8gaWYoaSl7Zz0wO3doaWxlKDEpe2Y9Y1tpKyhnPDwyKT4+Ml18MDtpZighZilicmVhayBhO3g9
Y1tmPj4yXSYzO2lmKChjWygoeHwwKT09Mz9mOmYrNDh8MCkrNDA+PjJdfDApPT0oY1soKHh8MCk9
PTI/ZjpmKy00OHwwKSs0MD4+Ml18MCk/KHU9Y1soY1tmKzE2Pj4yXXwwKSs5Nj4+Ml18MCwodXww
KSE9MCk6MCl7az0raFt1KzMyPj4zXSouNTtqPWo+az9qOmt9Zz1nKzF8MH19d2hpbGUoMCk7aWYo
K2hbcD4+M108ail7aFtxPj4zXT1qO2hbcD4+M109an1pZigraFtyPj4zXTxqKXtoW3M+PjNdPWo7
aFtyPj4zXT1qfWY9Y1tlKzIxMj4+Ml18MDtpZihmfDApe2lmKChmfDApPT0oZHwwKSlnPTA7ZWxz
ZXtnPURBKGYsY1s0MjE4OF18MCw4LDApfDA7ZT1jW2w+PjJdfDB9aT1jW2UrMjMyPj4yXXwwO2Y9
Y1tmKzE2Pj4yXXwwO2U9ZisxMjh8MDtqPWorICsoZ3wwKTtpZigoaXwwKT09KGJbZisyMzY+PjFd
fDApKXtrPStoW2U+PjNdO2hbZT4+M109az5qP2s6an1lPWYrMTIwfDA7aWYoKGl8MCk9PShiW2Yr
MjM4Pj4xXXwwKSl7az0raFtlPj4zXTtoW2U+PjNdPWs+aj9rOmp9fW09bSsxfDB9dD10KzF8MDtl
PWNbdj4+Ml18MH1tPWVqKGQpfDA7Zz1jW3Y+PjJdfDA7ZT1iW2crMjM4Pj4xXXwwO2hbKGNbKGNb
Y1t3KyhlPDw2KSs0Pj4yXT4+Ml18MCkrMTY+PjJdfDApKzI0Pj4zXT0raFt3KyhlPDw2KSsxNj4+
M107Zj1iW2crMjM2Pj4xXXwwO2k9ZysyNTJ8MDtrPTAuMDt3aGlsZSgxKXtsPWUrLTF8MDtpZigo
ZXwwKTw9KGZ8MCkpYnJlYWs7eT0raFt3KyhsPDw2KSszMj4+M10rICtoW3crKGU8PDYpKzQwPj4z
XSsgKyhjW2k+PjJdfDApO2o9K2hbdysoZTw8NikrMjQ+PjNdKzguMCsgK2hbdysobDw8NikrMTY+
PjNdO2o9eT5qP3k6ajtpZigoY1t3KyhsPDw2KT4+Ml18MCk+MCloWyhjWyhjW2NbdysobDw8Nikr
ND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyND4+M109K2hbKGNbKGNbY1t3KyhlPDw2KSs0Pj4yXT4+
Ml18MCkrMTY+PjJdfDApKzI0Pj4zXStqO2s9az5qP2s6ajtlPWx9YjpkbyBpZigobXwwKSE9MD8o
Y1tnKzExNj4+Ml0mMXwwKSE9MDowKXtmaihkLDApO2c9Y1t2Pj4yXXwwO2lmKGFbZysyNzY+PjBd
fDApe2U9YltnKzIzOD4+MV18MDtmPWJbZysyMzY+PjFdfDA7aj0raFsoY1soY1tjW3crKGU8PDYp
KzQ+PjJdPj4yXXwwKSsxNj4+Ml18MCkrMjQ+PjNdO2s9MC4wO3doaWxlKDEpe2k9ZSstMXwwO2lm
KChlfDApPD0oZnwwKSlicmVhayBiO3o9K2hbKGNbKGNbY1t3KyhpPDw2KSs0Pj4yXT4+Ml18MCkr
MTY+PjJdfDApKzI0Pj4zXTt5PXotajtqPXo7az1rPnk/azp5O2U9aX19fXdoaWxlKDApO2M6ZG8g
aWYoYVtnKzI3Nj4+MF18MCl7aT1iW2crMjM2Pj4xXXwwO2Y9YltnKzIzOD4+MV18MDt3aGlsZSgx
KXtlPWYrLTF8MDtpZigoZnwwKTw9KGl8MCkpYnJlYWsgYztpZigoY1t3KyhlPDw2KT4+Ml18MCk8
PTApe2Y9ZTtjb250aW51ZX1oWyhjWyhjW2NbdysoZTw8NikrND4+Ml0+PjJdfDApKzE2Pj4yXXww
KSsyND4+M109K2hbKGNbKGNbY1t3KyhmPDw2KSs0Pj4yXT4+Ml18MCkrMTY+PjJdfDApKzI0Pj4z
XStrO2Y9ZX19d2hpbGUoMCk7ZT1nKzE5MnwwO3doaWxlKDEpe2U9Y1tlPj4yXXwwO2lmKCFlKWJy
ZWFrO2U9Y1tlKzE2Pj4yXXwwO2hbZSsyND4+M109K2hbKGNbKGNbY1t3KyhjW2UrMjMyPj4yXTw8
NikrND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyND4+M107ZT1lKzE2NHwwfXJldHVybn1mdW5jdGlv
biB6aShhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTA7YWooYSk7Yj0oY1thKzE2Pj4yXXwwKSsxOTJ8
MDt3aGlsZSgxKXtiPWNbYj4+Ml18MDtpZighYilicmVhaztlPWIrMTZ8MDtiPWNbZT4+Ml18MDtk
PWNbYisyMjQ+PjJdfDA7aWYoZCl7YmooYSxkKTtiPWNbZT4+Ml18MH1kPWNbYisyMjg+PjJdfDA7
aWYoIWQpZD1iO2Vsc2V7YmooYSxkKTtkPWNbZT4+Ml18MH1lPWNbZCsyMDQ+PjJdfDA7aWYoZXww
KXtiPTA7d2hpbGUoMSlpZighKGNbZSsoYjw8Mik+PjJdfDApKWJyZWFrO2Vsc2UgYj1iKzF8MH1i
PWQrMTY0fDB9cmV0dXJufWZ1bmN0aW9uIEFpKGEpe2E9YXwwO09pKGEpO1BpKGEpO1FpKGEpO1Jp
KGEpO1NpKGEpO3JldHVybn1mdW5jdGlvbiBCaShhKXthPWF8MDt2YXIgYj0wLGM9MC4wO2I9SW0o
YSw3OTc2OCl8MDtpZighYilhPTIxNDc0ODM2NDc7ZWxzZXtjPStzTShiKTthPX5+KGMqKyhtbihh
KXwwKSl9cmV0dXJuIGF8MH1mdW5jdGlvbiBDaShkKXtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0w
LGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTA7cj1kKzE2fDA7ZT1j
W3I+PjJdfDA7cT1iW2UrMjM2Pj4xXXwwO3doaWxlKDEpe3A9YltlKzIzOD4+MV18MDtpZigocXww
KT4ocHwwKSl7cz0xOTticmVha31uPWNbZSsxOTY+PjJdfDA7bz1uKyhxPDw2KXwwO209Y1tvPj4y
XXwwO249bisocTw8NikrNHwwO2w9MDtmPTA7YTp3aGlsZSgxKXtpZigobHwwKT49KG18MCkpe3M9
MTQ7YnJlYWt9Zj1jWyhjW24+PjJdfDApKyhsPDwyKT4+Ml18MDtoPWNbZisxNj4+Ml18MDtpPWNb
aCsyNTY+PjJdfDA7YjpkbyBpZihpfDApe2c9MDt3aGlsZSgxKXtqPWNbaSsoZzw8Mik+PjJdfDA7
aWYoIWopYnJlYWsgYjtrPWNbaj4+Ml0mMztpZigoY1soY1soY1soKGt8MCk9PTI/ajpqKy00OHww
KSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCk+KHF8MCkpYnJlYWsgYTtpZigoY1soY1so
Y1soKGt8MCk9PTM/ajpqKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKT4ocXww
KSlicmVhayBhO2Vsc2UgZz1nKzF8MH19d2hpbGUoMCk7aD1jW2grMjQ4Pj4yXXwwO2M6ZG8gaWYo
aHwwKXtnPTA7d2hpbGUoMSl7aT1jW2grKGc8PDIpPj4yXXwwO2lmKCFpKWJyZWFrIGM7aj1jW2k+
PjJdJjM7aWYoKGNbKGNbKGNbKChqfDApPT0zP2k6aSs0OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDAp
KzIzMj4+Ml18MCk+KHF8MCkpYnJlYWsgYTtpZigoY1soY1soY1soKGp8MCk9PTI/aTppKy00OHww
KSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCk+KHF8MCkpYnJlYWsgYTtlbHNlIGc9Zysx
fDB9fXdoaWxlKDApO2w9bCsxfDB9aWYoKHN8MCk9PTE0KXtzPTA7aWYoZil7Zj1jW2Nbbj4+Ml0+
PjJdfDA7ZT1jW2NbbysoKChxfDApPChwfDApPzE6LTEpPDw2KSs0Pj4yXT4+Ml18MDtpZighZSl7
cz0xNjticmVha31vPWZoKGQpfDA7cD1vKzE2fDA7YVsoY1twPj4yXXwwKSsxNTY+PjBdPTI7TWko
byxmLDAuMCwwKXwwO01pKG8sZSwwLjAsMCl8MDtjWyhjW3A+PjJdfDApKzIzMj4+Ml09Y1soY1so
KGNbKGNbZisxNj4+Ml18MCkrMjMyPj4yXXwwKTwoY1soY1tlKzE2Pj4yXXwwKSsyMzI+PjJdfDAp
P2Y6ZSkrMTY+PjJdfDApKzIzMj4+Ml07ZT1jW3I+PjJdfDB9fXE9cSsxfDB9aWYoKHN8MCk9PTE2
KW1hKDc5Njc2LDc5NTY4LDExMSw3OTY3OSk7ZWxzZSBpZigoc3wwKT09MTkpcmV0dXJufWZ1bmN0
aW9uIERpKGEpe2E9YXwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaT0wLGo9MCxrPTA7YT1jW2ErMTY+
PjJdfDA7aT1jW2ErMTk2Pj4yXXwwO2U9YlthKzIzOD4+MV18MDthPWJbYSsyMzY+PjFdfDA7d2hp
bGUoMSl7aWYoKGF8MCk+KGV8MCkpYnJlYWs7Zj1jW2krKGE8PDYpPj4yXXwwO2c9aSsoYTw8Nikr
NHwwO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGZ8MCkpYnJlYWs7az1jWyhjWyhjW2c+PjJdfDAp
KyhkPDwyKT4+Ml18MCkrMTY+PjJdfDA7aj1rKzIzMnwwO2hbaysxNj4+M109KyhjW2o+PjJdfDAp
O2Nbaj4+Ml09YTtkPWQrMXwwfWE9YSsxfDB9cmV0dXJufWZ1bmN0aW9uIEVpKGEsZCl7YT1hfDA7
ZD1kfDA7dmFyIGU9MCxmPTAuMCxnPTAsaT0wLjAsaj0wLGs9MCxsPTAuMCxtPTAsbj0wLG89MCxw
PTA7R2koYSxhKTtnPWErMTZ8MDtrPWNbZz4+Ml18MDthOmRvIGlmKChiW2srMjM4Pj4xXXwwKT4w
PyhqPWNbays4Pj4yXXwwLGU9Y1tqKzg0Pj4yXXwwLGV8MCk6MCl7bz1+figraFtrKzMyPj4zXS0r
aFtrKzE2Pj4zXSk7bT1+figraFtrKzQwPj4zXS0raFtrKzI0Pj4zXSk7cD0oY1trKzExNj4+Ml0m
MXwwKT09MDtuPXA/bTpvO209cD9vOm07aWYoKGV8MCk9PTQpe2U9SGkoYSl8MDtrPWNbZz4+Ml18
MDtqPWNbays4Pj4yXXwwfWVsc2UgZT0oZXwwKT09MiYxO2I6ZG8gaWYoIShlPDwyND4+MjQpKXtz
d2l0Y2goY1tqKzg0Pj4yXXwwKXtjYXNlIDU6e2Y9K2hbais2ND4+M107aWYoZjw9MC4wKWJyZWFr
IGE7aT1mLytoW2srMzI+PjNdO2w9K2hbais3Mj4+M10vK2hbays0MD4+M107Zj1pPGw/aTpsO2lm
KGk+MS4wJmw+MS4wKXtsPWY7YnJlYWsgYn1lbHNlIGJyZWFrIGF9Y2FzZSAxOmJyZWFrO2RlZmF1
bHQ6YnJlYWsgYX1pPStoW2orMTY+PjNdO2Y9KyhufDApLysobXwwKTtpZihmPGkpe2w9MS4wO2Y9
aS9mO2JyZWFrfWVsc2V7bD1mL2k7Zj0xLjA7YnJlYWt9fWVsc2V7Zj0raFtqKzY0Pj4zXTtpZihm
PD0wLjApYnJlYWsgYTtpPWYvKyhtfDApO2Y9K2hbais3Mj4+M10vKyhufDApO2lmKGk8MS4wfGY8
MS4wKWlmKGk8Zil7bD0xLjA7Zj1mL2k7YnJlYWt9ZWxzZXtsPWkvZjtmPTEuMDticmVha31lbHNl
IGw9aX13aGlsZSgwKTtlPShjW2srMTE2Pj4yXSYxfDApPT0wO2k9ZT9mOmw7Zj1lP2w6ZjtlPWsr
MTkyfDA7d2hpbGUoMSl7ZT1jW2U+PjJdfDA7aWYoIWUpYnJlYWs7ZT1jW2UrMTY+PjJdfDA7cD1l
KzE2fDA7bD0raFtwPj4zXSpmO2hbcD4+M109Kyh+fihsKyhsPj0wLjA/LjU6LS41KSl8MCk7cD1l
KzI0fDA7bD0raFtwPj4zXSppO2hbcD4+M109Kyh+fihsKyhsPj0wLjA/LjU6LS41KSl8MCk7ZT1l
KzE2NHwwfUlpKGEsZixpKX13aGlsZSgwKTtpZihkfDApSmkoYSxkKTtyZXR1cm59ZnVuY3Rpb24g
RmkoYil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTA7aD1iKzE2fDA7Yj0oY1toPj4yXXww
KSsxOTJ8MDt3aGlsZSgxKXtiPWNbYj4+Ml18MDtpZighYilicmVhaztnPWIrMTZ8MDtkPTA7d2hp
bGUoMSl7Yj1jW2c+PjJdfDA7Zj1jW2IrMTgwPj4yXXwwO2U9Y1tmKyhkPDwyKT4+Ml18MDtpZigh
ZSlicmVhaztfSShjW2UrMTY+PjJdfDApO19JKGUpO2Q9ZCsxfDB9aWYoZil7X0koZik7Yj1jW2c+
PjJdfDB9ZD1jW2IrMTcyPj4yXXwwO2lmKGQpe19JKGQpO2I9Y1tnPj4yXXwwfWY9YisyNTZ8MDtl
PWNbZis0Pj4yXXwwO2I9YisxODB8MDtjW2I+PjJdPWNbZj4+Ml07Y1tiKzQ+PjJdPWU7Yj1jW2c+
PjJdfDA7ZT1iKzI0OHwwO2Y9Y1tlKzQ+PjJdfDA7Yj1iKzE3MnwwO2NbYj4+Ml09Y1tlPj4yXTtj
W2IrND4+Ml09ZjtiPShjW2c+PjJdfDApKzE2NHwwfWI9MDtkPWNbKGNbaD4+Ml18MCkrMTkyPj4y
XXwwO2E6d2hpbGUoMSl7Zz0oYnwwKT09MDtmPWIrMTZ8MDtiPWQ7d2hpbGUoMSl7aWYoIWIpYnJl
YWsgYTtlPWNbYisxNj4+Ml18MDtkPWNbZSsxNjQ+PjJdfDA7aWYoKGFbZSsxNTY+PjBdfDApIT0y
KWNvbnRpbnVlIGE7aWYoZyljWyhjW2g+PjJdfDApKzE5Mj4+Ml09ZDtlbHNlIGNbKGNbZj4+Ml18
MCkrMTY0Pj4yXT1kO19JKGUpO19JKGIpO2I9ZH19Y1soY1soY1soY1toPj4yXXwwKSsxOTI+PjJd
fDApKzE2Pj4yXXwwKSsxNjg+PjJdPTA7cmV0dXJufWZ1bmN0aW9uIEdpKGEsYil7YT1hfDA7Yj1i
fDA7dmFyIGQ9MCxlPTAsZj0wO2U9YSsxNnwwO2Q9MTt3aGlsZSgxKXtmPWNbZT4+Ml18MDtpZigo
ZHwwKT4oY1tmKzE4MD4+Ml18MCkpYnJlYWs7R2koY1soY1tmKzE4ND4+Ml18MCkrKGQ8PDIpPj4y
XXwwLGIpO2Q9ZCsxfDB9TGkoYSxiKTtyZXR1cm59ZnVuY3Rpb24gSGkoYSl7YT1hfDA7dmFyIGI9
MCxkPTAsZT0wLGY9MCxnPTAsaT0wLGo9MC4wLGs9MC4wLG09MCxuPTAuMCxvPTAuMCxwPTAuMCxx
PTAuMCxyPTAscz0wLHQ9MDtzPWw7bD1sKzgwfDA7ZT1zKzY0fDA7ZD1zKzQ4fDA7Zj1zKzE2fDA7
bT1zO3I9cyszMnwwO2E9YSsxNnwwO2I9Y1soY1thPj4yXXwwKSs4Pj4yXXwwO3Q9Yis0OHwwO2Nb
Zj4+Ml09Y1t0Pj4yXTtjW2YrND4+Ml09Y1t0KzQ+PjJdO2NbZis4Pj4yXT1jW3QrOD4+Ml07Y1tm
KzEyPj4yXT1jW3QrMTI+PjJdO2lmKCghKCtoW2Y+PjNdPC4wMDEpPyhnPWYrOHwwLCEoK2hbZz4+
M108LjAwMSkpOjApPyhpPWIrMzJ8MCxjW20+PjJdPWNbaT4+Ml0sY1ttKzQ+PjJdPWNbaSs0Pj4y
XSxjW20rOD4+Ml09Y1tpKzg+PjJdLGNbbSsxMj4+Ml09Y1tpKzEyPj4yXSxjW2Q+PjJdPWNbZj4+
Ml0sY1tkKzQ+PjJdPWNbZis0Pj4yXSxjW2QrOD4+Ml09Y1tmKzg+PjJdLGNbZCsxMj4+Ml09Y1tm
KzEyPj4yXSxjW2U+PjJdPWNbaT4+Ml0sY1tlKzQ+PjJdPWNbaSs0Pj4yXSxjW2UrOD4+Ml09Y1tp
Kzg+PjJdLGNbZSsxMj4+Ml09Y1tpKzEyPj4yXSxLaShyLGQsZSksY1tmPj4yXT1jW3I+PjJdLGNb
Zis0Pj4yXT1jW3IrND4+Ml0sY1tmKzg+PjJdPWNbcis4Pj4yXSxjW2YrMTI+PjJdPWNbcisxMj4+
Ml0sY1tkPj4yXT1jW3I+PjJdLGNbZCs0Pj4yXT1jW3IrND4+Ml0sY1tkKzg+PjJdPWNbcis4Pj4y
XSxjW2QrMTI+PjJdPWNbcisxMj4+Ml0sY1tlPj4yXT1jW20+PjJdLGNbZSs0Pj4yXT1jW20rND4+
Ml0sY1tlKzg+PjJdPWNbbSs4Pj4yXSxjW2UrMTI+PjJdPWNbbSsxMj4+Ml0sS2koZixkLGUpLGk9
Y1thPj4yXXwwLGo9K2hbaSszMj4+M10saz0raFtpKzQwPj4zXSxuPStoW2Y+PjNdLG89bi9qLHA9
K2hbZz4+M10scT1wL2ssIShvPj0xLjAmcT49MS4wKSk6MCl7bz1vPHE/bzpxO289bz4uNT9vOi41
O3E9K04oKyhvKmsvcCkpKnAvaztwPStOKCsobypqL24pKSpuL2oqajthPWNbaSs4Pj4yXXwwO2hb
YSs2ND4+M109cDtoW2ErNzI+PjNdPXEqazthPTF9ZWxzZSBhPTA7bD1zO3JldHVybiBhfDB9ZnVu
Y3Rpb24gSWkoYSxiLGQpe2E9YXwwO2I9K2I7ZD0rZDt2YXIgZT0wLGY9MDtlPWErMTZ8MDthPTE7
d2hpbGUoMSl7Zj1jW2U+PjJdfDA7aWYoKGF8MCk+KGNbZisxODA+PjJdfDApKWJyZWFrO0lpKGNb
KGNbZisxODQ+PjJdfDApKyhhPDwyKT4+Ml18MCxiLGQpO2E9YSsxfDB9ZT1mKzE2fDA7aFtlPj4z
XT0raFtlPj4zXSpiO2U9ZisyNHwwO2hbZT4+M109K2hbZT4+M10qZDtlPWYrMzJ8MDtoW2U+PjNd
PStoW2U+PjNdKmI7Zj1mKzQwfDA7aFtmPj4zXT0raFtmPj4zXSpkO3JldHVybn1mdW5jdGlvbiBK
aShhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAuMCxlPTAuMCxmPTAsZz0wLGk9MC4wLGo9MCxrPTAs
bT0wLG49MDttPWw7bD1sKzMyfDA7aj1tKzI0fDA7Zz1tKzE2fDA7Zj1tO249Y1thKzE2Pj4yXXww
O2U9K2hbbiszMj4+M10tK2hbbisxNj4+M107ZD0raFtuKzQwPj4zXS0raFtuKzI0Pj4zXTtpPWUv
ZDtpZigwKXtuPWNbMTM5MThdfDA7aFtmPj4zXT1pO2hbZis4Pj4zXT1lKi4wMDAxKmQ7ekwobiw3
OTU5MixmKXwwO2NbZz4+Ml09a2soYSl8MDt6TChuLDc5NjE3LGcpfDB9ZD0raFtiPj4zXTtkbyBp
ZighKGk+ZCoxLjEpKXthPWIrMjR8MDtpZighKGk8PWQqLjgpKXtjW2E+PjJdPTA7az05O2JyZWFr
fWNbYT4+Ml09LTE7aWYoMCl7WEwoNzk2MjcsMzQsMSxjWzEzOTE4XXwwKXwwO2s9OX19ZWxzZXtj
W2IrMjQ+PjJdPX5+KGQqKygoY1tiKzIwPj4yXXwwKS0oY1tiKzE2Pj4yXXwwKXwwKS9pKTtrPTl9
d2hpbGUoMCk7aWYoKGt8MCk9PTk/MDowKXtuPWNbMTM5MThdfDA7Y1tqPj4yXT1jW2IrMjQ+PjJd
O3pMKG4sNzk2NjIsail8MH1sPW07cmV0dXJufWZ1bmN0aW9uIEtpKGEsYixjKXthPWF8MDtiPWJ8
MDtjPWN8MDt2YXIgZD0wLjA7ZD0raFtiKzg+PjNdLStoW2MrOD4+M107aFthPj4zXT0raFtiPj4z
XS0raFtjPj4zXTtoW2ErOD4+M109ZDtyZXR1cm59ZnVuY3Rpb24gTGkoZCxlKXtkPWR8MDtlPWV8
MDt2YXIgZj0wLGc9MC4wLGk9MC4wLGo9MCxrPTAsbD0wLG09MC4wLG49MCxvPTAscD0wLHE9MCxy
PTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAuMDtzPShWZihkKXwwKT09KGR8MCk7dj1kKzE2fDA7
dz1jW3Y+PjJdfDA7YTpkbyBpZihzKXtmPWJbdysyMzY+PjFdfDA7ZD1iW3crMjM4Pj4xXXwwO3E9
ZDw8MTY+PjE2O3I9dysxOTZ8MDtzPXcrMTk2fDA7cD1mPDwxNj4+MTY7aT0tMjE0NzQ4MzY0Ny4w
O2c9MjE0NzQ4MzY0Ny4wO3doaWxlKDEpe2lmKChwfDApPihxfDApKWJyZWFrO2o9Y1tyPj4yXXww
O289Y1tqKyhwPDw2KT4+Ml18MDtpZigob3wwKSE9MD8odD1jW2orKHA8PDYpKzQ+PjJdfDAsdT1j
W3Q+PjJdfDAsKHV8MCkhPTApOjApe2w9MTtqPXU7d2hpbGUoMSl7aj1jW2orMTY+PjJdfDA7az1h
W2orMTU2Pj4wXXwwO2lmKCEoKGx8MCk8KG98MCkmazw8MjQ+PjI0IT0wKSlicmVhaztqPWNbdCso
bDw8Mik+PjJdfDA7bD1sKzF8MH1pZighKGs8PDI0Pj4yNCkpe209K2hbaisxNj4+M10tK2hbais4
OD4+M107bj1nPG07bD1jWyhjW3M+PjJdfDApKyhwPDw2KSs0Pj4yXXwwO2s9bystMnwwO2o9byst
MXwwO3doaWxlKDEpe2o9Y1soY1tsKyhqPDwyKT4+Ml18MCkrMTY+PjJdfDA7aWYoIShhW2orMTU2
Pj4wXXwwKSlicmVhaztlbHNle2o9aztrPWsrLTF8MH19eD0raFtqKzk2Pj4zXSsgK2hbaisxNj4+
M107aT1pPng/aTp4O2c9bj9nOm19fXA9cCsxfDB9az1jW3crMTgwPj4yXXwwO2w9dysxODR8MDtq
PTE7d2hpbGUoMSl7aWYoKGp8MCk+KGt8MCkpYnJlYWsgYTt1PWNbKGNbKGNbbD4+Ml18MCkrKGo8
PDIpPj4yXXwwKSsxNj4+Ml18MDt4PStoW3UrMTY+PjNdKy04LjA7bT0raFt1KzMyPj4zXSs4LjA7
aj1qKzF8MDtpPWk+bT9pOm07Zz1nPHg/Zzp4fX1lbHNle2k9KyhjWyhjWyhjW3crMjYwPj4yXXww
KSsxNj4+Ml18MCkrMjMyPj4yXXwwKTtnPSsoY1soY1soY1t3KzI1Nj4+Ml18MCkrMTY+PjJdfDAp
KzIzMj4+Ml18MCk7Zj1iW3crMjM2Pj4xXXwwO2Q9Ylt3KzIzOD4+MV18MH13aGlsZSgwKTtlPWNb
KGNbZSsxNj4+Ml18MCkrMTk2Pj4yXXwwO209K2hbKGNbKGNbY1tlKyhkPDwxNj4+MTY8PDYpKzQ+
PjJdPj4yXXwwKSsxNj4+Ml18MCkrMjQ+PjNdLStoW3crMTIwPj4zXTt4PStoW3crMTI4Pj4zXSsg
K2hbKGNbKGNbY1tlKyhmPDwxNj4+MTY8PDYpKzQ+PjJdPj4yXXwwKSsxNj4+Ml18MCkrMjQ+PjNd
O2hbdysxNj4+M109ZztoW3crMjQ+PjNdPW07ZT1jW3Y+PjJdfDA7aFtlKzMyPj4zXT1pO2hbZSs0
MD4+M109eDtyZXR1cm59ZnVuY3Rpb24gTWkoYSxkLGUsZil7YT1hfDA7ZD1kfDA7ZT0rZTtmPWZ8
MDt2YXIgZz0wLGg9MCxpPTAsaj0wO2k9dncoOTYpfDA7aj1pKzQ4fDA7Y1tqPj4yXT1jW2o+PjJd
fDM7Y1tpPj4yXT1jW2k+PjJdJi00fDI7Zz12dygxNzYpfDA7aD1pKzE2fDA7Y1toPj4yXT1nO2Nb
KChjW2k+PjJdJjN8MCk9PTM/aTpqKSs0MD4+Ml09YTtjWygoY1tpPj4yXSYzfDApPT0yP2k6aSst
NDh8MCkrNDA+PjJdPWQ7aWYoZT42NTUzNS4wKXtOaShlKTtlPTY1NTM1LjA7Zz1jW2g+PjJdfDB9
YltnKzE3MD4+MV09fn4oZSsoZT49MC4wPy41Oi0uNSkpO2NbZysxNTY+PjJdPWY7VmcoaSl8MDty
ZXR1cm4gaXwwfWZ1bmN0aW9uIE5pKGEpe2E9K2E7dmFyIGI9MCxkPTA7Yj1sO2w9bCsxNnwwO2Q9
YjtoW2Q+PjNdPWE7Y1tkKzg+PjJdPTY1NTM1O19sKDEsNzk2OTIsZCl8MDtsPWI7cmV0dXJufWZ1
bmN0aW9uIE9pKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTA7YT0oY1thKzE2Pj4yXXwwKSsx
OTJ8MDt3aGlsZSgxKXthPWNbYT4+Ml18MDtpZighYSlicmVhaztmPWErMTZ8MDtlPWNbZj4+Ml18
MDthPWUrMTcyfDA7ZD1jW2ErND4+Ml18MDtlPWUrMjQ4fDA7Y1tlPj4yXT1jW2E+PjJdO2NbZSs0
Pj4yXT1kO2U9Y1tmPj4yXXwwO2Q9ZSsxODB8MDthPWNbZCs0Pj4yXXwwO2U9ZSsyNTZ8MDtjW2U+
PjJdPWNbZD4+Ml07Y1tlKzQ+PjJdPWE7ZT1jW2Y+PjJdfDA7YT1jW2UrMTgwPj4yXXwwO2Q9MDt3
aGlsZSgxKWlmKCEoY1thKyhkPDwyKT4+Ml18MCkpYnJlYWs7ZWxzZSBkPWQrMXwwO2I9Y1tlKzE3
Mj4+Ml18MDthPTA7d2hpbGUoMSlpZighKGNbYisoYTw8Mik+PjJdfDApKWJyZWFrO2Vsc2UgYT1h
KzF8MDtjW2UrMTc2Pj4yXT0wO2E9dncoKGErZDw8MikrMTZ8MCl8MDtlPWNbZj4+Ml18MDtjW2Ur
MTcyPj4yXT1hO2NbZSsxODQ+PjJdPTA7ZT12dygxNil8MDthPWNbZj4+Ml18MDtjW2ErMTgwPj4y
XT1lO2E9YSsxNjR8MH1yZXR1cm59ZnVuY3Rpb24gUGkoZCl7ZD1kfDA7dmFyIGY9MCxnPTAsaT0w
LjAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAuMCxxPTAscj0wLHM9MCx0PTAuMCx1PTAsdj0wLHc9
MCx4PTAseT0wLHo9MCxBPTAuMCxCPTAuMDt6PWw7bD1sKzE2fDA7dz16O3g9ZCsxNnwwO3U9Y1t4
Pj4yXXwwO3k9Y1t1KzE5Nj4+Ml18MDtkPShhWyhjWyhjW2QrNjA+PjJdfDApKzE2Pj4yXXwwKSsx
MTM+PjBdJjEpIT0wO3Y9Y1t1KzI0OD4+Ml18MDtjW3c+PjJdPXY7Y1t3KzQ+PjJdPWQ/NTp2O3Y9
Ylt1KzIzNj4+MV18MDtkPXU7d2hpbGUoMSl7aWYoKHZ8MCk+KGJbZCsyMzg+PjFdfDApKWJyZWFr
O3I9eSsodjw8NikrNHwwO2NbKGNbKGNbY1tyPj4yXT4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml09
MDtzPXkrKHY8PDYpfDA7dD0rKGNbdysoKHYmMSk8PDIpPj4yXXwwKTtwPTAuMDtrPTA7YTp3aGls
ZSgxKXtpZigoa3wwKT49KGNbcz4+Ml18MCkpYnJlYWs7Zj1jW3I+PjJdfDA7bT1jW2YrKGs8PDIp
Pj4yXXwwO3U9bSsxNnwwO2Q9Y1t1Pj4yXXwwO2k9K2hbZCs5Nj4+M107aFtkKzI0MD4+M109aTtp
ZigoY1tkKzIwOD4+Ml18MCk+MCl7aj0wO2Y9MDt3aGlsZSgxKXtnPWNbKGNbZCsyMDQ+PjJdfDAp
KyhqPDwyKT4+Ml18MDtpZighZylicmVhaztxPWNbZz4+Ml0mMztpZigoY1soKHF8MCk9PTM/Zzpn
KzQ4fDApKzQwPj4yXXwwKT09KGNbKChxfDApPT0yP2c6ZystNDh8MCkrNDA+PjJdfDApKXtmPShR
eihnKXwwKStmfDA7ZD1jW3U+PjJdfDB9aj1qKzF8MH1xPWQrOTZ8MDtpPStoW3E+PjNdKyArKGZ8
MCk7aFtxPj4zXT1pO2Y9Y1tyPj4yXXwwfXE9aysxfDA7Zj1jW2YrKHE8PDIpPj4yXXwwO2lmKGYp
e289ZisxNnwwO2k9aSt0KyAraFsoY1tvPj4yXXwwKSs4OD4+M107TWkobSxmLGksMCl8MDtkPX5+
KGkrcCk7Y1soY1tvPj4yXXwwKSsyMzI+PjJdPWQ7cD0rKGR8MCk7ZD1jW3U+PjJdfDB9Zj1jW2Qr
MTEyPj4yXXwwO2lmKGYpe2o9Y1tkKzI1Nj4+Ml18MDtrPWNbaj4+Ml18MDtqPWNbais0Pj4yXXww
O2Q9KGNbKGNbKGNbKChjW2s+PjJdJjN8MCk9PTI/azprKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJd
fDApKzIzNj4+Ml18MCk+KGNbKGNbKGNbKChjW2o+PjJdJjN8MCk9PTI/ajpqKy00OHwwKSs0MD4+
Ml18MCkrMTY+PjJdfDApKzIzNj4+Ml18MCk7Zz1kP2o6aztqPWQ/azpqO2s9ZisxNnwwO2Q9Y1tr
Pj4yXXwwO2k9KygoTyhjWyhjW3g+PjJdfDApKzI0OD4+Ml18MCxlW2QrMTcwPj4xXXwwKXwwKS8y
fDB8MCk7bz1jW2c+PjJdJjM7Zj1jWygob3wwKT09Mj9nOmcrLTQ4fDApKzQwPj4yXXwwO2c9Y1so
KG98MCk9PTM/ZzpnKzQ4fDApKzQwPj4yXXwwO2lmKCEoX2koZyxmKXwwKSlNaShmLGcsKyh+figr
aFsoY1tmKzE2Pj4yXXwwKSs5Nj4+M10raSsgK2hbKGNbZysxNj4+Ml18MCkrODg+PjNdKXwwKSxj
W2QrMTU2Pj4yXXwwKXwwO2Q9Y1tqPj4yXSYzO2Y9Y1soKGR8MCk9PTM/ajpqKzQ4fDApKzQwPj4y
XXwwO2Q9Y1soKGR8MCk9PTI/ajpqKy00OHwwKSs0MD4+Ml18MDtpZighKF9pKGQsZil8MCkpe01p
KGYsZCwrKH5+KCtoWyhjW2YrMTY+PjJdfDApKzk2Pj4zXStpKyAraFsoY1tkKzE2Pj4yXXwwKSs4
OD4+M10pfDApLGNbKGNbaz4+Ml18MCkrMTU2Pj4yXXwwKXwwO289MH1lbHNlIG89MH1lbHNlIG89
MDt3aGlsZSgxKXtkPWNbdT4+Ml18MDtpZigob3wwKT49KGNbZCsxOTI+PjJdfDApKXtrPXE7Y29u
dGludWUgYX1tPWNbKGNbZCsxODg+PjJdfDApKyhvPDwyKT4+Ml18MDtrPWNbbT4+Ml0mMztnPWNb
KChrfDApPT0zP206bSs0OHwwKSs0MD4+Ml18MDtrPWNbKChrfDApPT0yP206bSstNDh8MCkrNDA+
PjJdfDA7aj0oY1soY1tnKzE2Pj4yXXwwKSsyMzY+PjJdfDApPChjWyhjW2srMTY+PjJdfDApKzIz
Nj4+Ml18MCk7Zj1qP2c6aztnPWo/azpnO2k9K2hbKGNbZysxNj4+Ml18MCkrODg+PjNdKyAraFso
Y1tmKzE2Pj4yXXwwKSs5Nj4+M107az1tKzE2fDA7aj1+fihpKyArKE8oY1soY1t4Pj4yXXwwKSsy
NDg+PjJdfDAsZVsoY1trPj4yXXwwKSsxNzA+PjFdfDApfDApKTtuPVNnKGYsZyl8MDtpZighbil7
ZD1jW2s+PjJdfDA7aWYoIShjW2QrOTY+PjJdfDApKU1pKGYsZywrKGp8MCksY1tkKzE1Nj4+Ml18
MCl8MH1lbHNle0E9KyhqfDApO2Q9Y1trPj4yXXwwO0I9K2hbZCsxMzY+PjNdO2k9aSsgKyhjWyhj
W3g+PjJdfDApKzI0OD4+Ml18MCkrICsofn4oQisoQj49MC4wPy41Oi0uNSkpfDApO2Y9fn4oaTxB
P0E6aSk7aWYoKGZ8MCk+NjU1MzUpe05pKCsoZnwwKSk7Zj02NTUzNTtkPWNbaz4+Ml18MH1rPWNb
bisxNj4+Ml18MDtqPWsrMTcwfDA7Zz1lW2o+PjFdfDA7YltqPj4xXT0oZnwwKTwoZ3wwKT9nOmY7
az1rKzE1NnwwO2Nbaz4+Ml09Y1soY1soKGNbaz4+Ml18MCk+KGNbZCsxNTY+PjJdfDApP246bSkr
MTY+PjJdfDApKzE1Nj4+Ml19bz1vKzF8MH19dj12KzF8MDtkPWNbeD4+Ml18MH1sPXo7cmV0dXJu
fWZ1bmN0aW9uIFFpKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaT0wLGo9MCxrPTAsbD0w
LG09MCxuPTA7ZD0oY1tiKzE2Pj4yXXwwKSsxOTJ8MDt3aGlsZSgxKXtkPWNbZD4+Ml18MDtpZigh
ZClicmVhaztnPWQrMTZ8MDtkPWNbZz4+Ml18MDtlPWNbZCsyNTY+PjJdfDA7YTpkbyBpZihlKXtm
PTA7d2hpbGUoMSl7ZT1jW2UrKGY8PDIpPj4yXXwwO2lmKCFlKWJyZWFrIGE7bj1maChiKXwwO2Q9
bisxNnwwO2FbKGNbZD4+Ml18MCkrMTU2Pj4wXT0yO2w9ZSsxNnwwO2s9Y1tsPj4yXXwwO2k9fn4o
K2hbays1Nj4+M10tK2hbaysxNj4+M10pO209KGl8MCk+MDtqPW0/MDowLWl8MDtpPW0/aTowO209
ZSs0OHwwO01pKG4sY1soKGNbZT4+Ml0mM3wwKT09Mz9lOm0pKzQwPj4yXXwwLCsoaSsxfDApLGNb
aysxNTY+PjJdfDApfDA7az1lKy00OHwwO01pKG4sY1soKGNbZT4+Ml0mM3wwKT09Mj9lOmspKzQw
Pj4yXXwwLCsoaisxfDApLGNbKGNbbD4+Ml18MCkrMTU2Pj4yXXwwKXwwO2w9Y1tlPj4yXSYzO2k9
KGNbKGNbKGNbKChsfDApPT0zP2U6bSkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApLWl8
MDtlPShjWyhjWyhjWygobHwwKT09Mj9lOmspKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXww
KS1qfDA7Y1soY1tkPj4yXXwwKSsyMzI+PjJdPSgoaXwwKTwoZXwwKT9pOmUpKy0xO2Q9Y1tnPj4y
XXwwO2Y9ZisxfDA7ZT1jW2QrMjU2Pj4yXXwwfX13aGlsZSgwKTtkPWQrMTY0fDB9cmV0dXJufWZ1
bmN0aW9uIFJpKGEpe2E9YXwwO2lmKChjWyhjW2ErMTY+PjJdfDApKzE4MD4+Ml18MCk+MCl7Vmko
YSk7V2koYSk7WGkoYSk7WWkoYSl9cmV0dXJufWZ1bmN0aW9uIFNpKGEpe2E9YXwwO3ZhciBiPTAu
MCxkPTAuMCxlPTAsZj0wO2U9YSsxNnwwO2Y9Y1soY1tlPj4yXXwwKSs4Pj4yXXwwO2lmKChjW2Yr
ODQ+PjJdfDApPT0zPyhiPStoW2YrNjQ+PjNdLGQ9K2hbZis3Mj4+M10sIShkKmI8PTEuMCkpOjAp
e1RpKGEpO2Y9Y1tlPj4yXXwwO2Q9KGNbZisxMTY+PjJdJjF8MCk9PTA/YjpkO01pKGNbZisyNTY+
PjJdfDAsY1tmKzI2MD4+Ml18MCxkPDY1NTM1LjA/ZDo2NTUzNS4wLDFlMyl8MH1yZXR1cm59ZnVu
Y3Rpb24gVGkoYSl7YT1hfDA7dmFyIGQ9MCxlPTAsZj0wLjAsZz0wLGk9MCxqPTAsaz0wLG09MCxu
PTA7bj1sO2w9bCsxNnwwO209bjtlPURBKGEsY1s0MjE4OF18MCw4LDApfDA7VWkoYSk7aT1hKzE2
fDA7Zz1jW2k+PjJdfDA7aj1jW2crMjU2Pj4yXXwwO2s9Y1tnKzI2MD4+Ml18MDtmPSsoZXwwKTtl
PWJbZysyMzY+PjFdfDA7d2hpbGUoMSl7aWYoKGV8MCk+KGJbZysyMzg+PjFdfDApKWJyZWFrO2Q9
Y1tnKzE5Nj4+Ml18MDtkbyBpZihjW2QrKGU8PDYpPj4yXXwwKXtkPWNbY1tkKyhlPDw2KSs0Pj4y
XT4+Ml18MDtpZighZCl7Y1ttPj4yXT1EbihhKXwwO2NbbSs0Pj4yXT1lO19sKDEsNzk3NzYsbSl8
MDticmVha31lbHNle01pKGosZCwraFsoY1tkKzE2Pj4yXXwwKSs4OD4+M10rZisgK2hbZys5Nj4+
M10sMCl8MDtnPWNbaT4+Ml18MDtkPWNbZysxOTY+PjJdfDA7ZD1jWyhjW2QrKGU8PDYpKzQ+PjJd
fDApKygoY1tkKyhlPDw2KT4+Ml18MCkrLTE8PDIpPj4yXXwwO01pKGQsaywraFsoY1tkKzE2Pj4y
XXwwKSs5Nj4+M10rZisgK2hbZys2ND4+M10sMCl8MDticmVha319d2hpbGUoMCk7ZT1lKzF8MDtn
PWNbaT4+Ml18MH1sPW47cmV0dXJufWZ1bmN0aW9uIFVpKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9
MDtkPWIrMTZ8MDtpZighKGNbKGNbZD4+Ml18MCkrMjU2Pj4yXXwwKSl7Zj1maChWZihiKXwwKXww
O2FbKGNbZisxNj4+Ml18MCkrMTU2Pj4wXT0yO2U9ZmgoVmYoYil8MCl8MDthWyhjW2UrMTY+PjJd
fDApKzE1Nj4+MF09MjtpZigoY1soY1tkPj4yXXwwKSsxMj4+Ml18MD8oVmYoYil8MCkhPShifDAp
OjApPyhjWyhjWyhzbyhiKXwwKSsxNj4+Ml18MCkrMTE2Pj4yXSYxfDApPT0wOjApe2I9Y1tkPj4y
XXwwO01pKGYsZSwrKH5+K2hbYis0OCsoKCtoW2IrNDg+PjNdPitoW2IrODA+PjNdPzA6Mik8PDQp
Pj4zXXwwKSwwKXwwfWQ9Y1tkPj4yXXwwO2NbZCsyNTY+PjJdPWY7Y1tkKzI2MD4+Ml09ZX1yZXR1
cm59ZnVuY3Rpb24gVmkoYSl7YT1hfDA7dmFyIGI9MCxkPTA7ZG8gaWYoKFZmKGEpfDApIT0oYXww
KSl7VGkoYSk7YT1hKzE2fDA7Yj1jW2E+PjJdfDA7Yj1TZyhjW2IrMjU2Pj4yXXwwLGNbYisyNjA+
PjJdfDApfDA7aWYoIWIpe2Q9Y1thPj4yXXwwO01pKGNbZCsyNTY+PjJdfDAsY1tkKzI2MD4+Ml18
MCwxLjAsMTI4KXwwO2JyZWFrfWVsc2V7ZD0oY1tiKzE2Pj4yXXwwKSsxNTZ8MDtjW2Q+PjJdPShj
W2Q+PjJdfDApKzEyODticmVha319ZWxzZSBhPWErMTZ8MDt3aGlsZSgwKTtiPTE7d2hpbGUoMSl7
ZD1jW2E+PjJdfDA7aWYoKGJ8MCk+KGNbZCsxODA+PjJdfDApKWJyZWFrO1ZpKGNbKGNbZCsxODQ+
PjJdfDApKyhiPDwyKT4+Ml18MCk7Yj1iKzF8MH1yZXR1cm59ZnVuY3Rpb24gV2koZCl7ZD1kfDA7
dmFyIGU9MCxmPTAsZz0wLGk9MCxqPTAsaz0wLGw9MCxtPTAuMCxuPTAsbz0wO2s9REEoZCxjWzQy
MTg4XXwwLDgsMCl8MDtvPWQrMTZ8MDtlPWNbbz4+Ml18MDttPSsoa3wwKTtrPWJbZSsyMzY+PjFd
fDA7d2hpbGUoMSl7aWYoKGt8MCk+KGJbZSsyMzg+PjFdfDApKXtmPTE7YnJlYWt9ZT1jW2UrMTk2
Pj4yXXwwO2E6ZG8gaWYoY1tlKyhrPDw2KT4+Ml18MD8obD1jW2NbZSsoazw8NikrND4+Ml0+PjJd
fDAsbHwwKTowKXtpPWwrMTZ8MDtmPWNbKGNbaT4+Ml18MCkrMjM2Pj4yXXwwO3doaWxlKDEpe2lm
KChmfDApPD0wKWJyZWFrO2Y9ZistMXwwO2o9Y1soY1soY1soY1soVmYoZCl8MCkrMTY+PjJdfDAp
KzE5Nj4+Ml18MCkrKGs8PDYpKzQ+PjJdfDApKyhmPDwyKT4+Ml18MDtnPWorMTZ8MDtlPWNbZz4+
Ml18MDtpZighKGFbZSsxNTY+PjBdfDApKXtuPTEwO2JyZWFrfWlmKFppKGQsail8MCl7bj05O2Jy
ZWFrfX1pZigobnwwKT09OSl7ZT1jW2c+PjJdfDA7bj0xMH1pZigobnwwKT09MTApe249MDtNaShq
LGNbKGNbbz4+Ml18MCkrMjU2Pj4yXXwwLCtoW2UrOTY+PjNdK20sMCl8MH1mPShjWyhjWyhjW28+
PjJdfDApKzE5Nj4+Ml18MCkrKGs8PDYpPj4yXXwwKSsoY1soY1tpPj4yXXwwKSsyMzY+PjJdfDAp
fDA7d2hpbGUoMSl7aWYoKGZ8MCk+PShjWyhjWyhjWyhWZihkKXwwKSsxNj4+Ml18MCkrMTk2Pj4y
XXwwKSsoazw8Nik+PjJdfDApKWJyZWFrIGE7aT1jWyhjWyhjWyhjWyhWZihkKXwwKSsxNj4+Ml18
MCkrMTk2Pj4yXXwwKSsoazw8NikrND4+Ml18MCkrKGY8PDIpPj4yXXwwO2c9aSsxNnwwO2U9Y1tn
Pj4yXXwwO2lmKCEoYVtlKzE1Nj4+MF18MCkpYnJlYWs7aWYoIShaaShkLGkpfDApKWY9ZisxfDA7
ZWxzZXtuPTE1O2JyZWFrfX1pZigobnwwKT09MTUpe249MDtlPWNbZz4+Ml18MH1NaShjWyhjW28+
PjJdfDApKzI2MD4+Ml18MCxpLCtoW2UrODg+PjNdK20sMCl8MH13aGlsZSgwKTtrPWsrMXwwO2U9
Y1tvPj4yXXwwfXdoaWxlKDEpe2lmKChmfDApPihjW2UrMTgwPj4yXXwwKSlicmVhaztXaShjWyhj
W2UrMTg0Pj4yXXwwKSsoZjw8Mik+PjJdfDApO2Y9ZisxfDA7ZT1jW28+PjJdfDB9cmV0dXJufWZ1
bmN0aW9uIFhpKGEpe2E9YXwwO3ZhciBiPTAsZD0wLjAsZT0wLGY9MCxnPTA7ZT1EQShhLGNbNDIx
ODhdfDAsOCwwKXwwO1VpKGEpO2I9YSsxNnwwO2Q9KyhlfDApO2E9MTt3aGlsZSgxKXtlPWNbYj4+
Ml18MDtpZigoYXwwKT4oY1tlKzE4MD4+Ml18MCkpYnJlYWs7ZT1jWyhjW2UrMTg0Pj4yXXwwKSso
YTw8Mik+PjJdfDA7VWkoZSk7Zj1jW2I+PjJdfDA7Zz1lKzE2fDA7TWkoY1tmKzI1Nj4+Ml18MCxj
WyhjW2c+PjJdfDApKzI1Nj4+Ml18MCwraFtmKzk2Pj4zXStkLDApfDA7Zj1jW2I+PjJdfDA7TWko
Y1soY1tnPj4yXXwwKSsyNjA+PjJdfDAsY1tmKzI2MD4+Ml18MCwraFtmKzY0Pj4zXStkLDApfDA7
WGkoZSk7YT1hKzF8MH1yZXR1cm59ZnVuY3Rpb24gWWkoYSl7YT1hfDA7dmFyIGQ9MCxlPTAsZj0w
LGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MC4wLG49MCxvPTA7ZD1EQShhLGNbNDIxODhdfDAs
OCwwKXwwO249YSsxNnwwO2E9MTt3aGlsZSgxKXtmPWNbbj4+Ml18MDtlPWNbZisxODA+PjJdfDA7
aWYoKGF8MCk+KGV8MCkpYnJlYWs7VWkoY1soY1tmKzE4ND4+Ml18MCkrKGE8PDIpPj4yXXwwKTth
PWErMXwwfW09KyhkfDApO2w9MTthPWU7ZD1mO3doaWxlKDEpe2lmKChsfDApPihhfDApKWJyZWFr
O2s9bCsxfDA7aj1rO3doaWxlKDEpe2U9Y1tkKzE4ND4+Ml18MDtmPWNbZSsobDw8Mik+PjJdfDA7
aWYoKGp8MCk+KGF8MCkpYnJlYWs7ZT1jW2UrKGo8PDIpPj4yXXwwO2c9KGJbKGNbZisxNj4+Ml18
MCkrMjM2Pj4xXXwwKT4oYlsoY1tlKzE2Pj4yXXwwKSsyMzY+PjFdfDApO2k9Zz9lOmY7ZT1nP2Y6
ZTtmPWNbaSsxNj4+Ml18MDtnPWNbZSsxNj4+Ml18MDtvPWJbZysyMzY+PjFdfDA7aD1vPDwxNj4+
MTY7aWYoKGJbZisyMzg+PjFdfDApPj1vPDwxNj4+MTYpe2E9KGNbKGNbKGNbY1soY1tmKzE5Nj4+
Ml18MCkrKGg8PDYpKzQ+PjJdPj4yXXwwKSsxNj4+Ml18MCkrMjM2Pj4yXXwwKTwoY1soY1soY1tj
WyhjW2crMTk2Pj4yXXwwKSsoaDw8NikrND4+Ml0+PjJdfDApKzE2Pj4yXXwwKSsyMzY+PjJdfDAp
O01pKGNbKGNbKGE/aTplKSsxNj4+Ml18MCkrMjYwPj4yXXwwLGNbKGNbKGE/ZTppKSsxNj4+Ml18
MCkrMjU2Pj4yXXwwLG0sMCl8MDthPWNbbj4+Ml18MDtkPWE7YT1jW2ErMTgwPj4yXXwwfWo9aisx
fDB9WWkoZik7ZD1jW24+PjJdfDA7bD1rO2E9Y1tkKzE4MD4+Ml18MH1yZXR1cm59ZnVuY3Rpb24g
WmkoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wO2Q9Y1tkKzE2Pj4yXXwwO2lmKChhW2QrMTU2Pj4w
XXwwKT09MSl7ZD1jW2NbZCsyNTY+PjJdPj4yXXwwO3doaWxlKDEpe2U9Y1soY1tkKzE2Pj4yXXww
KSsxMTY+PjJdfDA7aWYoIWUpYnJlYWs7ZWxzZSBkPWV9aWYoIShCbyhiLGNbKChjW2Q+PjJdJjN8
MCk9PTM/ZDpkKzQ4fDApKzQwPj4yXXwwKXwwKSlkPShCbyhiLGNbKChjW2Q+PjJdJjN8MCk9PTI/
ZDpkKy00OHwwKSs0MD4+Ml18MCl8MCk9PTAmMTtlbHNlIGQ9MH1lbHNlIGQ9MDtyZXR1cm4gZHww
fWZ1bmN0aW9uIF9pKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuICRpKGEsYil8MH1mdW5jdGlvbiAk
aShhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wO2E6ZG8gaWYoKGF8MCk9PShifDApKWE9MTtl
bHNle2Q9Y1soY1thKzE2Pj4yXXwwKSsxODA+PjJdfDA7YT0wO3doaWxlKDEpe2U9Y1tkKyhhPDwy
KT4+Ml18MDtpZighZSl7YT0wO2JyZWFrIGF9aWYoISgkaShjWygoY1tlPj4yXSYzfDApPT0yP2U6
ZSstNDh8MCkrNDA+PjJdfDAsYil8MCkpYT1hKzF8MDtlbHNle2E9MTticmVha319fXdoaWxlKDAp
O3JldHVybiBhfDB9ZnVuY3Rpb24gYWooZCl7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTAs
aj0wLGs9MDtrPWQrMTZ8MDtkPWNbaz4+Ml18MDtqPWJbZCsyMzY+PjFdfDA7d2hpbGUoMSl7aWYo
KGp8MCk+KGJbZCsyMzg+PjFdfDApKWJyZWFrO2g9Y1tkKzE5Nj4+Ml18MDtnPWNbaCsoajw8Nik+
PjJdfDA7aD1oKyhqPDw2KSs0fDA7aT0wO2Y9MDt3aGlsZSgxKXtpZigoZnwwKT49KGd8MCkpYnJl
YWs7ZT1jWyhjWyhjW2g+PjJdfDApKyhmPDwyKT4+Ml18MCkrMTY+PjJdfDA7Y1tlKzIzNj4+Ml09
aTtpZigoYVtlKzE1OT4+MF18MCk9PTYpZT1jW2UrMjE2Pj4yXXwwO2Vsc2UgZT0xO2k9ZStpfDA7
Zj1mKzF8MH1pZigoaXwwKT4oZ3wwKSl7ZD1jW2g+PjJdfDA7aWYoIWQpZD13dygoaTw8MikrNHww
KXwwO2Vsc2UgZD15dyhkLChpPDwyKSs0fDApfDA7Zj1jWyhjW2s+PjJdfDApKzE5Nj4+Ml18MDtj
W2YrKGo8PDYpKzQ+PjJdPWQ7ZT1jW2YrKGo8PDYpPj4yXXwwO3doaWxlKDEpe2Q9ZSstMXwwO2lm
KChlfDApPD0wKWJyZWFrO2g9Y1tmKyhqPDw2KSs0Pj4yXXwwO2U9Y1toKyhkPDwyKT4+Ml18MDtj
W2grKGNbKGNbZSsxNj4+Ml18MCkrMjM2Pj4yXTw8Mik+PjJdPWU7ZT1kO2Y9Y1soY1trPj4yXXww
KSsxOTY+PjJdfDB9Y1tmKyhqPDw2KT4+Ml09aTtjWyhjW2YrKGo8PDYpKzQ+PjJdfDApKyhpPDwy
KT4+Ml09MDtkPWNbaz4+Ml18MH1qPWorMXwwfXJldHVybn1mdW5jdGlvbiBiaihhLGIpe2E9YXww
O2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAscD0wO289
bDtsPWwrNDh8MDtuPW8rMzJ8MDttPW8rOHwwO2Q9bysyNHwwO2s9bysxNnwwO2o9bztlPWIrMTZ8
MDtmPWNbZT4+Ml18MDthOmRvIGlmKChjW2YrMjE2Pj4yXXwwKT49Mil7Y1ttPj4yXT1+figraFtm
KzE2Pj4zXS0raFtmKzg4Pj4zXSk7Y1ttKzQ+PjJdPX5+K2hbZisyND4+M107Y1tuPj4yXT1jW20+
PjJdO2Nbbis0Pj4yXT1jW20rND4+Ml07Y2ooZCxiLG4pO2c9ZDtpPWNbZys0Pj4yXXwwO2Q9bTtj
W2Q+PjJdPWNbZz4+Ml07Y1tkKzQ+PjJdPWk7ZD1jW2U+PjJdfDA7aWYoKGNbZCsxODQ+PjJdfDAp
PjApe2o9Y1tjW2QrMTgwPj4yXT4+Ml18MDtkPShjW2QrMjM2Pj4yXXwwKSsxfDA7aj1TbShhLGNb
KChjW2o+PjJdJjN8MCk9PTI/ajpqKy00OHwwKSs0MD4+Ml18MCl8MDt3aGlsZSgxKXtpZighaili
cmVhayBhO2k9KGNbaj4+Ml0mM3wwKT09Mj9qOmorLTQ4fDA7ZT1pKzQ4fDA7Zj1jWygoY1tpPj4y
XSYzfDApPT0zP2k6ZSkrNDA+PjJdfDA7aWYoKGZ8MCkhPShifDApPyhLQShmKXwwKT09KGJ8MCk6
MCl7Zj1jWygoY1tpPj4yXSYzfDApPT0zP2k6ZSkrNDA+PjJdfDA7Y1tuPj4yXT1jW20+PjJdO2Nb
bis0Pj4yXT1jW20rND4+Ml07ZGooayxhLGYsbixkKTtmPWs7ZT1jW2YrND4+Ml18MDtnPW07Y1tn
Pj4yXT1jW2Y+PjJdO2NbZys0Pj4yXT1lO2toKGkpO2c9aSstNDh8MDtlPWNbKGNbKChjW2k+PjJd
JjN8MCk9PTI/aTpnKSs0MD4+Ml18MCkrMTY+PjJdfDA7Zj1jW2UrMTcyPj4yXXwwO2lmKCFmKWU9
d3coKGNbZSsxNzY+PjJdPDwyKSs4fDApfDA7ZWxzZSBlPXl3KGYsKGNbZSsxNzY+PjJdPDwyKSs4
fDApfDA7Y1soY1soY1soKGNbaT4+Ml0mM3wwKT09Mj9pOmcpKzQwPj4yXXwwKSsxNj4+Ml18MCkr
MTcyPj4yXT1lO3A9Y1soY1soKGNbaT4+Ml0mM3wwKT09Mj9pOmcpKzQwPj4yXXwwKSsxNj4+Ml18
MDtlPWNbcCsxNzI+PjJdfDA7cD1wKzE3NnwwO2Y9Y1twPj4yXXwwO2NbcD4+Ml09ZisxO2NbZSso
Zjw8Mik+PjJdPWk7aT1jWyhjWygoY1tpPj4yXSYzfDApPT0yP2k6ZykrNDA+PjJdfDApKzE2Pj4y
XXwwO2NbKGNbaSsxNzI+PjJdfDApKyhjW2krMTc2Pj4yXTw8Mik+PjJdPTA7ZD1kKzF8MH1qPVRt
KGEsail8MH19ZWxzZXtpPWNbY1tkKzE3Mj4+Ml0+PjJdfDA7ZD0oY1tkKzIzNj4+Ml18MCkrMXww
O2k9UG0oYSxjWygoY1tpPj4yXSYzfDApPT0zP2k6aSs0OHwwKSs0MD4+Ml18MCl8MDt3aGlsZSgx
KXtpZighaSlicmVhayBhO2U9aSstNDh8MDtmPWNbKChjW2k+PjJdJjN8MCk9PTI/aTplKSs0MD4+
Ml18MDtpZigoZnwwKSE9KGJ8MCk/KEtBKGYpfDApPT0oYnwwKTowKXtmPWNbKChjW2k+PjJdJjN8
MCk9PTI/aTplKSs0MD4+Ml18MDtjW24+PjJdPWNbbT4+Ml07Y1tuKzQ+PjJdPWNbbSs0Pj4yXTtk
aihqLGEsZixuLGQpO2Y9ajtlPWNbZis0Pj4yXXwwO2c9bTtjW2c+PjJdPWNbZj4+Ml07Y1tnKzQ+
PjJdPWU7a2goaSk7Zz1pKzQ4fDA7ZT1jWyhjWygoY1tpPj4yXSYzfDApPT0zP2k6ZykrNDA+PjJd
fDApKzE2Pj4yXXwwO2Y9Y1tlKzE4MD4+Ml18MDtpZighZillPXd3KChjW2UrMTg0Pj4yXTw8Mikr
OHwwKXwwO2Vsc2UgZT15dyhmLChjW2UrMTg0Pj4yXTw8MikrOHwwKXwwO2NbKGNbKGNbKChjW2k+
PjJdJjN8MCk9PTM/aTpnKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE4MD4+Ml09ZTtmPWNbKGNbKChj
W2k+PjJdJjN8MCk9PTM/aTpnKSs0MD4+Ml18MCkrMTY+PjJdfDA7az1jW2YrMTgwPj4yXXwwO2Y9
ZisxODR8MDtwPWNbZj4+Ml18MDtjW2Y+PjJdPXArMTtjW2srKHA8PDIpPj4yXT1pO3A9Y1soY1so
KGNbaT4+Ml0mM3wwKT09Mz9pOmcpKzQwPj4yXXwwKSsxNj4+Ml18MDtjWyhjW3ArMTgwPj4yXXww
KSsoY1twKzE4ND4+Ml08PDIpPj4yXT0wO2Q9ZCsxfDB9aT1SbShhLGkpfDB9fX13aGlsZSgwKTts
PW87cmV0dXJufWZ1bmN0aW9uIGNqKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9
MC4wO0tCKGIsY1soY1socm8oYil8MCkrMTY+PjJdfDApKzExNj4+Ml0mMSk7ZT1jW2IrMTY+PjJd
fDA7aFtlKzI0Pj4zXT0rKGNbZCs0Pj4yXXwwKTtmPStoW2UrODg+PjNdKyArKGNbZD4+Ml18MCk7
aFtlKzE2Pj4zXT1mO2Y9ZisgK2hbZSs5Nj4+M107Y1tkPj4yXT1+fihmKyArKGNbKGNbKHJvKGIp
fDApKzE2Pj4yXXwwKSsyNDg+PjJdfDApKTtlPWQ7Yj1jW2UrND4+Ml18MDtkPWE7Y1tkPj4yXT1j
W2U+PjJdO2NbZCs0Pj4yXT1iO3JldHVybn1mdW5jdGlvbiBkaihhLGIsZCxlLGYpe2E9YXwwO2I9
YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTA7aT1sO2w9bCsxNnwwO2g9
aTtiPVZmKGIpfDA7Zz1LQShkKXwwO2lmKChnfDApIT0oZHwwKSljaChnLGQpO2o9Y1tkKzE2Pj4y
XXwwO2NbaisyMzY+PjJdPWY7Zz1jWyhjW2crMTY+PjJdfDApKzIzMj4+Ml18MDtjW2orMjMyPj4y
XT1nO2NbKGNbKGNbKGNbYisxNj4+Ml18MCkrMTk2Pj4yXXwwKSsoZzw8NikrND4+Ml18MCkrKGY8
PDIpPj4yXT1kO2NbaD4+Ml09Y1tlPj4yXTtjW2grND4+Ml09Y1tlKzQ+PjJdO2NqKGEsZCxoKTts
PWk7cmV0dXJufWZ1bmN0aW9uIGVqKGEpe2E9YXwwO3ZhciBkPTAuMCxlPTAuMCxmPTAsZz0wLGk9
MCxqPTAuMCxrPTAsbD0wLG09MCxuPTAuMDttPWNbKGNbKFZmKGEpfDApKzE2Pj4yXXwwKSsxOTY+
PjJdfDA7aWYoKFZmKGEpfDApPT0oYXwwKSlqPTguMDtlbHNlIGo9KyhEQShhLGNbNDIxODhdfDAs
OCwwKXwwKTtsPWErMTZ8MDtnPWNbbD4+Ml18MDtmPTA7az0xO2U9K2hbZysxMjA+PjNdO2Q9K2hb
ZysxMjg+PjNdO3doaWxlKDEpe2lmKChrfDApPihjW2crMTgwPj4yXXwwKSlicmVhaztpPWNbKGNb
ZysxODQ+PjJdfDApKyhrPDwyKT4+Ml18MDtmPWVqKGkpfDB8ZjtpPWNbaSsxNj4+Ml18MDtnPWNb
bD4+Ml18MDtpZigoYltpKzIzOD4+MV18MCk9PShiW2crMjM4Pj4xXXwwKSl7bj0raFtpKzEyMD4+
M10rajtlPWU+bj9lOm59aWYoKGJbaSsyMzY+PjFdfDApPT0oYltnKzIzNj4+MV18MCkpe249K2hb
aSsxMjg+PjNdK2o7ZD1kPm4/ZDpufWs9aysxfDB9aWYoKFZmKGEpfDApIT0oYXwwKT8oY1soY1ts
Pj4yXXwwKSsxMj4+Ml18MCkhPTA6MClpZighKGNbKGNbKHNvKGEpfDApKzE2Pj4yXXwwKSsxMTY+
PjJdJjEpKXtrPWNbbD4+Ml18MDtmPTE7ZT0raFtrKzU2Pj4zXStlO2Q9K2hbays4OD4+M10rZH1l
bHNlIGY9MTtrPWNbbD4+Ml18MDtoW2srMTIwPj4zXT1lO2hbaysxMjg+PjNdPWQ7aWYoKFZmKGEp
fDApIT0oYXwwKSl7bD1jW2w+PjJdfDA7YT1tKyhiW2wrMjM2Pj4xXTw8NikrMjR8MDtuPStoW2E+
PjNdO2hbYT4+M109bj5kP246ZDttPW0rKGJbbCsyMzg+PjFdPDw2KSsxNnwwO249K2hbbT4+M107
aFttPj4zXT1uPmU/bjplfXJldHVybiBmfDB9ZnVuY3Rpb24gZmooYSxkKXthPWF8MDtkPWR8MDt2
YXIgZT0wLGY9MC4wLGc9MC4wLGk9MCxqPTAsaz0wLjAsbD0wLG09MCxuPTAsbz0wLHA9MC4wLHE9
MC4wO289Y1soY1soVmYoYSl8MCkrMTY+PjJdfDApKzE5Nj4+Ml18MDtpZigoVmYoYSl8MCk9PShh
fDApKWU9MDtlbHNlIGU9REEoYSxjWzQyMTg4XXwwLDgsMCl8MDtsPWErMTZ8MDtpPWNbbD4+Ml18
MDttPWUrZHwwO2s9KyhlfDApO2o9MTtmPStoW2krMTI4Pj4zXTtnPStoW2krMTIwPj4zXTtlPWk7
d2hpbGUoMSl7aWYoKGp8MCk+KGNbZSsxODA+PjJdfDApKWJyZWFrO2k9Y1soY1tlKzE4ND4+Ml18
MCkrKGo8PDIpPj4yXXwwO2ZqKGksbSk7aT1jW2krMTY+PjJdfDA7ZT1jW2w+PjJdfDA7aWYoKGJb
aSsyMzg+PjFdfDApPT0oYltlKzIzOD4+MV18MCkpe3E9K2hbaSsxMjA+PjNdK2s7Zz1nPnE/Zzpx
fWlmKChiW2krMjM2Pj4xXXwwKT09KGJbZSsyMzY+PjFdfDApKXtxPStoW2krMTI4Pj4zXStrO2Y9
Zj5xP2Y6cX1qPWorMXwwfWhbZSsxMjA+PjNdPWc7aFtlKzEyOD4+M109ZjtpZigoKFZmKGEpfDAp
IT0oYXwwKT8obj1jW2w+PjJdfDAsY1tuKzEyPj4yXXwwKTowKT8ocD0tZy1mKyAraFtuKzQ4Kygo
K2hbbisxMDQ+PjNdPitoW24rNzI+PjNdPzM6MSk8PDQpKzg+PjNdLStoWyhjWyhjW2NbbysoYltu
KzIzNj4+MV08PDYpKzQ+PjJdPj4yXXwwKSsxNj4+Ml18MCkrMjQ+PjNdKyAraFsoY1soY1tjW28r
KGJbbisyMzg+PjFdPDw2KSs0Pj4yXT4+Ml18MCkrMTY+PjJdfDApKzI0Pj4zXSxwPjAuMCk6MCln
aihhLH5+cCxkKTtpZigoVmYoYSl8MCkhPShhfDApKXtuPWNbbD4+Ml18MDttPW8rKGJbbisyMzY+
PjFdPDw2KSsyNHwwO3E9K2hbbT4+M107cD0raFtuKzEyOD4+M107aFttPj4zXT1xPnA/cTpwO289
bysoYltuKzIzOD4+MV08PDYpKzE2fDA7cD0raFtvPj4zXTtxPStoW24rMTIwPj4zXTtoW28+PjNd
PXA+cT9wOnF9cmV0dXJufWZ1bmN0aW9uIGdqKGEsZCxlKXthPWF8MDtkPWR8MDtlPWV8MDt2YXIg
Zj0wLGc9MC4wLGk9MC4wLGo9MC4wLGs9MCxsPTAsbT0wLG49MC4wLG89MC4wLHA9MCxxPTAscj0w
O2s9Y1soVmYoYSl8MCkrMTY+PjJdfDA7cT1jW2srMTk2Pj4yXXwwO3A9Y1thKzE2Pj4yXXwwO2E9
YltwKzIzOD4+MV18MDtmPWJbcCsyMzY+PjFdfDA7bD0oZCsxfDApLzJ8MDttPXArMTIwfDA7bj0r
aFttPj4zXTtvPSsobHwwKTtpPSsoZXwwKTtlPX5+KG8raStuLStoW3ErKGE8PDYpKzE2Pj4zXSk7
aWYoKGV8MCk+MCl7Zz0rKGV8MCk7d2hpbGUoMSl7aWYoKGF8MCk8KGZ8MCkpYnJlYWs7aWYoKGNb
cSsoYTw8Nik+PjJdfDApPjApe3I9KGNbKGNbY1txKyhhPDw2KSs0Pj4yXT4+Ml18MCkrMTY+PjJd
fDApKzI0fDA7aFtyPj4zXT0raFtyPj4zXStnfWE9YSstMXwwfWo9K2hbcCsxMjg+PjNdO2E9ZTtn
PWorICsoZC1sfDApfWVsc2V7aj0raFtwKzEyOD4+M107YT1kLWx8MDtnPWp9YT1+figrKGF8MCkr
aStnLStoW3ErKGY8PDYpKzI0Pj4zXSk7YTpkbyBpZigoYXwwKT4wKXtlPWJbaysyMzY+PjFdfDA7
Zz0rKGF8MCk7d2hpbGUoMSl7YT1mKy0xfDA7aWYoKGZ8MCk8PShlfDApKWJyZWFrIGE7aWYoKGNb
cSsoYTw8Nik+PjJdfDApPD0wKXtmPWE7Y29udGludWV9Zj0oY1soY1tjW3ErKGE8PDYpKzQ+PjJd
Pj4yXXwwKSsxNj4+Ml18MCkrMjR8MDtoW2Y+PjNdPStoW2Y+PjNdK2c7Zj1hfX13aGlsZSgwKTto
W3ArMTI4Pj4zXT1qKyArKGQtbHwwKTtoW20+PjNdPW4rbztyZXR1cm59ZnVuY3Rpb24gaGooYixk
KXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MDtlPWNbYisxNj4+Ml18MDtmPWFbZSs4ND4+MF18MDti
PWNbZCsxNj4+Ml18MDtkbyBpZihmPDwyND4+MjQ9PShhW2IrODQ+PjBdfDApKXtpZigraFtlKzU2
Pj4zXT09K2hbYis1Nj4+M10pe2lmKCEoZjw8MjQ+PjI0PT0wPzE6K2hbZSs2ND4+M109PStoW2Ir
NjQ+PjNdKSl7Yj0wO2JyZWFrfX1lbHNlIGlmKGY8PDI0Pj4yNCl7Yj0wO2JyZWFrfWlmKCtoW2Ur
MTY+PjNdPT0raFtiKzE2Pj4zXT8raFtlKzI0Pj4zXT09K2hbYisyND4+M106MCl7Yj0xO2JyZWFr
fWI9KGFbZSs0ND4+MF18MCk9PTAmMX1lbHNlIGI9MDt3aGlsZSgwKTtyZXR1cm4gYnwwfWZ1bmN0
aW9uIGlqKGEpe2E9YXwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MDtpPWErMTZ8MDtkPWNb
aT4+Ml18MDtiW2QrMjM2Pj4xXT0zMjc2NztiW2QrMjM4Pj4xXT0tMTtkPTA7aD1jbyhhKXwwO3do
aWxlKDEpe2U9Y1tpPj4yXXwwO2lmKCFoKWJyZWFrO2Y9ZSsyMzh8MDtnPWNbKGNbaCsxNj4+Ml18
MCkrMjMyPj4yXXwwO2lmKChnfDApPihiW2Y+PjFdfDApKWJbZj4+MV09ZztlPWUrMjM2fDA7aWYo
KGd8MCk8KGJbZT4+MV18MCkpYltlPj4xXT1nO2lmKCFkKWQ9aDtlbHNlIGQ9KGd8MCk8KGNbKGNb
ZCsxNj4+Ml18MCkrMjMyPj4yXXwwKT9oOmQ7aD1lbyhhLGgpfDB9Y1tlKzI2ND4+Ml09ZDtyZXR1
cm59ZnVuY3Rpb24gamooYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MCxnPTAuMDtiPUltKGEs
Nzk4MjEpfDA7aWYoIWIpYj0yMTQ3NDgzNjQ3O2Vsc2V7Zz0rc00oYik7Yj1+fihnKisobW4oYSl8
MCkpfWU9YSsxNnwwO2Q9MDt3aGlsZSgxKXtmPWNbZT4+Ml18MDtpZigoZHwwKT49KGNbZisyMjA+
PjJdfDApKWJyZWFrO2NbZisxOTI+PjJdPWNbKGNbZisyMTY+PjJdfDApKyhkPDwyKT4+Ml07Z3go
YSwoY1tmKzE4MD4+Ml18MCk9PTAmMSxiKXwwO2Q9ZCsxfDB9cmV0dXJufWZ1bmN0aW9uIGtqKGEs
ZCl7YT1hfDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2Y9bDtsPWwrMTZ8MDtlPWY7aWYoIShJbShh
LDc5ODMwKXwwKSltaihhLGQpO2Vsc2V7Zz0oY1thKzE2Pj4yXXwwKSsxMzZ8MDtiW2c+PjFdPWJb
Zz4+MV18MTY7bGooYSxkKX1pZigwKXtnPWNbMTM5MThdfDA7YT1jW2ErMTY+PjJdfDA7ZD1iW2Er
MjM2Pj4xXXwwO2NbZT4+Ml09YlthKzIzOD4+MV07Y1tlKzQ+PjJdPWQ7ekwoZyw3OTgzOCxlKXww
fWw9ZjtyZXR1cm59ZnVuY3Rpb24gbGooYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAs
aD0wLGk9MCxqPTAuMDtpPWw7bD1sKzE2fDA7aD1pO2NbNDE5MzNdPTA7YVtoPj4wXT1hWzE3NjQ0
XXwwO2FbaCsxPj4wXT1hWzE3NjQ1XXwwO2FbaCsyPj4wXT1hWzE3NjQ2XXwwO2FbaCszPj4wXT1h
WzE3NjQ3XXwwO2g9Z24oODAwNDgsaCwwKXwwO05vKGgsODAwNzcsMjgwLDEpfDA7em8oaCwxNzMz
MiwxNzI3Mik7bmooYik7ZT1JbShiLDc5ODIxKXwwO2lmKCFlKWY9MjE0NzQ4MzY0NztlbHNle2o9
K3NNKGUpO2Y9fn4oaiorKG1uKGIpfDApKX1EaihiLDApO0VqKGIsaCk7RmooYixoKTtHaihiLGgs
MCwwKTtIaihoKTtnPUlqKGgpfDA7SmooaCk7aWYoZHwwKXt4ayhoKTtsayhoKX1lPUltKGIsODc2
MjApfDA7aWYoIWUpZT0tMTtlbHNlIGU9ck0oZSl8MDt6dyhoLDEsZixlKXwwO0tqKGIsaCxnKTts
bihoKXwwO2w9aTtyZXR1cm59ZnVuY3Rpb24gbWooYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9
MCxmPTAsZz0wLGg9MCxpPTA7Zz1sO2w9bCszMnwwO2Y9ZysxNnwwO2U9Zys4fDA7ZD1nO25qKGEp
O2RvIGlmKCFiKXtvaihhLGEpO0FrKGEpO3BqKGQsYSk7aD1kO2Q9Y1toKzQ+PjJdfDA7Yj1lO2Nb
Yj4+Ml09Y1toPj4yXTtjW2IrND4+Ml09ZDt0bChhLDApO2I9MH1lbHNle3hrKGEpO2xrKGEpO29q
KGEsYSk7QWsoYSk7cGooZCxhKTtpPWQ7ZD1jW2krND4+Ml18MDtoPWU7Y1toPj4yXT1jW2k+PjJd
O2NbaCs0Pj4yXT1kO3RsKGEsMCk7aD1jW2ErMTY+PjJdfDA7aWYoKGNbaCsyMjA+PjJdfDApPD0x
PyhjW2grMTgwPj4yXXwwKTw9MDowKWJyZWFrO2NbYiszMj4+Ml09MTtiPTB9d2hpbGUoMCk7aWso
YSk7Y1tmPj4yXT1jW2U+PjJdO2NbZis0Pj4yXT1jW2UrND4+Ml07aWYocWooYSxmKXwwKXRsKGEs
MCk7aWYoIWIpamooYSk7ZWxzZSBtayhhLGIpO3JqKGEsYik7c2ooYSk7bD1nO3JldHVybn1mdW5j
dGlvbiBuaihkKXtkPWR8MDt2YXIgZj0wLGc9MCxoPTA7aWYoYVsoY1soY1tkKzYwPj4yXXwwKSsx
Nj4+Ml18MCkrMTEzPj4wXSYxKXtnPWNvKGQpfDA7d2hpbGUoMSl7aWYoIWcpYnJlYWs7Zj1QbShk
LGcpfDA7d2hpbGUoMSl7aWYoIWYpYnJlYWs7aD0oY1tmKzE2Pj4yXXwwKSsxNzB8MDtiW2g+PjFd
PShlW2g+PjFdfDApPDwxO2Y9Um0oZCxmKXwwfWc9ZW8oZCxnKXwwfWg9KGNbZCsxNj4+Ml18MCkr
MjUyfDA7Y1toPj4yXT0oKGNbaD4+Ml18MCkrMXwwKS8yfDB9cmV0dXJufWZ1bmN0aW9uIG9qKGEs
Yil7YT1hfDA7Yj1ifDA7dmFyIGQ9MDtiPUpwKGIpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7ZD1B
aihiKXwwO2RvIGlmKGQpaWYoKGR8MCk9PTcmKGNbNDIxNzldfDApPT0xMDApe3dqKGEsYik7YnJl
YWt9ZWxzZXtCaihhLGIsZCk7YnJlYWt9ZWxzZSBvaihhLGIpO3doaWxlKDApO2I9S3AoYil8MH1y
ZXR1cm59ZnVuY3Rpb24gcGooYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9
MCxqPTAsaz0wO2k9ZCsxNnwwO2U9Y1tpPj4yXXwwO2Q9Y1tlKzIyOD4+Ml18MDtlPWNbZSsyMjQ+
PjJdfDA7Zj0oZXwwKT09MDtpZighZClpZihmKXtqPTA7az0wfWVsc2UgZz00O2Vsc2UgaWYoZiln
PTU7ZWxzZSBnPTQ7aWYoKGd8MCk9PTQpe2Q9S0EoZSl8MDtlPWNbaT4+Ml18MDtjW2UrMjI0Pj4y
XT1kO2Q9Y1tlKzIyOD4+Ml18MDtpZighZCl7aD0wO2Q9ZTtnPTEyfWVsc2UgZz01fWRvIGlmKChn
fDApPT01KXtkPUtBKGQpfDA7ZT1jW2k+PjJdfDA7Y1tlKzIyOD4+Ml09ZDtpZihkKXtlPWQrMTZ8
MDtkPWNbZT4+Ml18MDtmPShhW2QrMTU5Pj4wXXwwKT09NSYxO3doaWxlKDEpe2Q9Y1tjW2QrMTgw
Pj4yXT4+Ml18MDtpZighZCl7Zz0xMTticmVha31oPWNbKChjW2Q+PjJdJjN8MCk9PTI/ZDpkKy00
OHwwKSs0MD4+Ml18MDtpZigoaHwwKSE9KEtBKGgpfDApKXtnPTk7YnJlYWt9aGsoZCk7ZD1jW2U+
PjJdfDB9aWYoKGd8MCk9PTkpbWEoNzk5NDEsNzk4ODEsMzQ2LDc5OTczKTtlbHNlIGlmKChnfDAp
PT0xMSl7aD1mO2Q9Y1tpPj4yXXwwO2c9MTI7YnJlYWt9fWVsc2V7aD0wO2Q9ZTtnPTEyfX13aGls
ZSgwKTthOmRvIGlmKChnfDApPT0xMil7ZD1jW2QrMjI0Pj4yXXwwO2lmKCFkKXtqPTA7az1ofWVs
c2V7ZT1kKzE2fDA7ZD1jW2U+PjJdfDA7Zj0oYVtkKzE1OT4+MF18MCk9PTMmMTt3aGlsZSgxKXtk
PWNbY1tkKzE3Mj4+Ml0+PjJdfDA7aWYoIWQpe2o9ZjtrPWg7YnJlYWsgYX1pPWNbKChjW2Q+PjJd
JjN8MCk9PTM/ZDpkKzQ4fDApKzQwPj4yXXwwO2lmKChpfDApIT0oS0EoaSl8MCkpYnJlYWs7aGso
ZCk7ZD1jW2U+PjJdfDB9bWEoNzk5ODYsNzk4ODEsMzUzLDc5OTczKX19d2hpbGUoMCk7Y1tiPj4y
XT1qO2NbYis0Pj4yXT1rO3JldHVybn1mdW5jdGlvbiBxaihhLGQpe2E9YXwwO2Q9ZHwwO3ZhciBl
PTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wO2o9YSsxNnwwO2k9Y1tqPj4yXXwwO2lmKChj
W2krMjI4Pj4yXXwwKT09MD8oY1tpKzIyND4+Ml18MCk9PTA6MClkPTA7ZWxzZSBlPTM7YTpkbyBp
ZigoZXwwKT09Myl7Zz1jbyhhKXwwO2k9ZCs0fDA7aD1jW2Q+PjJdJjY1NTM1O2Q9MDt3aGlsZSgx
KXtpZighZylicmVhayBhO2lmKChnfDApPT0oS0EoZyl8MCkpe2Y9ZysxNnwwO2U9Y1tmPj4yXXww
O2lmKChjW2UrMTg0Pj4yXXwwKT09MD8oaz1jWyhjW2o+PjJdfDApKzIyOD4+Ml18MCwhKChrfDAp
PT0wfChnfDApPT0oa3wwKSkpOjApe2Q9YWgoZyxrLDApfDA7ZT1jW2QrMTY+PjJdfDA7YltlKzE3
MD4+MV09Y1tpPj4yXTtjW2UrMTU2Pj4yXT0wO2U9Y1tmPj4yXXwwfWlmKChjW2UrMTc2Pj4yXXww
KT09MD8obD1jWyhjW2o+PjJdfDApKzIyND4+Ml18MCwhKChsfDApPT0wfChnfDApPT0obHwwKSkp
OjApe2Q9YWgobCxnLDApfDA7Zj1jW2QrMTY+PjJdfDA7YltmKzE3MD4+MV09aDtjW2YrMTU2Pj4y
XT0wfX1nPWVvKGEsZyl8MH19d2hpbGUoMCk7cmV0dXJuIChkfDApIT0wfDB9ZnVuY3Rpb24gcmoo
ZCxlKXtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7Zz1jbyhkKXwwO2s9
ZCsxNnwwO2Y9Y1trPj4yXXwwO2E6ZG8gaWYoZyl7YltmKzIzNj4+MV09MzI3Njc7YltmKzIzOD4+
MV09LTE7aj0oZXwwKT09MDt3aGlsZSgxKXtpZighZylicmVhaztmPUtBKGcpfDA7aT1jW2crMTY+
PjJdfDA7ZT1jW2krMjMyPj4yXXwwO2RvIGlmKChmfDApIT0oZ3wwKSl7aWYoIWopaWYoIWUpZT0w
O2Vsc2UgYnJlYWs7ZT1lKyhjWyhjW2YrMTY+PjJdfDApKzIzMj4+Ml18MCl8MDtjW2krMjMyPj4y
XT1lfXdoaWxlKDApO2Y9Y1trPj4yXXwwO2g9ZisyMzh8MDtpZigoZXwwKT4oYltoPj4xXXwwKSli
W2g+PjFdPWU7Zj1mKzIzNnwwO2lmKChlfDApPChiW2Y+PjFdfDApKWJbZj4+MV09ZTtzd2l0Y2go
YVtpKzE1OT4+MF18MCl7Y2FzZSA2OmNhc2UgMDpicmVhaztkZWZhdWx0Ok1BKGcpfWc9ZW8oZCxn
KXwwfWlmKChWZihkKXwwKT09KGR8MCkpe2lmKChjWzQyMTc5XXwwKT09MTAwKWU9MTtlbHNle3Zq
KGQpO2JyZWFrfXdoaWxlKDEpe2Y9Y1trPj4yXXwwO2lmKChlfDApPihjW2YrMTgwPj4yXXwwKSli
cmVhayBhO3VqKGNbKGNbZisxODQ+PjJdfDApKyhlPDwyKT4+Ml18MCk7ZT1lKzF8MH19fWVsc2V7
YltmKzIzOD4+MV09MDtiW2YrMjM2Pj4xXT0wfXdoaWxlKDApO3JldHVybn1mdW5jdGlvbiBzaihi
KXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wO2o9Yisx
NnwwO2U9MDt3aGlsZSgxKXtkPWNbaj4+Ml18MDtpZigoZXwwKT49KGNbZCsyMjA+PjJdfDApKWJy
ZWFrO2k9Y1soY1tkKzIxNj4+Ml18MCkrKGU8PDIpPj4yXXwwO2NbZCsxOTI+PjJdPWk7ZD1pO3do
aWxlKDEpe2lmKCFkKWJyZWFrO2k9ZCsxNnwwO3RqKChjW2k+PjJdfDApKzE3MnwwKTt0aigoY1tp
Pj4yXXwwKSsxODB8MCk7aT1jW2k+PjJdfDA7YVtpKzE1Nz4+MF09MDtkPWNbaSsxNjQ+PjJdfDB9
ZT1lKzF8MH1pPWNvKGIpfDA7d2hpbGUoMSl7aWYoIWkpYnJlYWs7aD1QbShiLGkpfDA7d2hpbGUo
MSl7aWYoIWgpYnJlYWs7Zj1oKzE2fDA7ZD1jW2Y+PjJdfDA7Zz1jW2QrMTcyPj4yXXwwO2lmKChn
fDApIT0wPyhrPWcrMTZ8MCwoaHwwKT09KGNbKGNbaz4+Ml18MCkrMTE2Pj4yXXwwKSk6MCl7ZD1j
byhiKXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrO2U9UG0oYixkKXwwO3doaWxlKDEpe2lmKCFlKWJy
ZWFrO2lmKChofDApIT0oZXwwKT8obD0oY1tlKzE2Pj4yXXwwKSsxNzJ8MCxtPWNbbD4+Ml18MCwo
bXwwKSE9MCYoZ3wwKT09KG18MCkpOjApY1tsPj4yXT0wO2U9Um0oYixlKXwwfWQ9ZW8oYixkKXww
fV9JKGNbaz4+Ml18MCk7X0koZyk7ZD1jW2Y+PjJdfDB9Y1tkKzE3Mj4+Ml09MDtoPVJtKGIsaCl8
MH1pPWVvKGIsaSl8MH1fSShjWyhjW2o+PjJdfDApKzIxNj4+Ml18MCk7bT1jW2o+PjJdfDA7Y1tt
KzIxNj4+Ml09MDtjW20rMjIwPj4yXT0wO3JldHVybn1mdW5jdGlvbiB0aihhKXthPWF8MDt2YXIg
Yj0wLGQ9MDtkPWErNHwwO2I9Y1tkPj4yXXwwO3doaWxlKDEpe2lmKChifDApPD0tMSlicmVhaztj
WyhjW2E+PjJdfDApKyhiPDwyKT4+Ml09MDtiPWIrLTF8MH1jW2Q+PjJdPTA7cmV0dXJufWZ1bmN0
aW9uIHVqKGEpe2E9YXwwO3ZhciBkPTAsZj0wLGc9MDtkPWErMTZ8MDtmPWNbZD4+Ml18MDtnPWNb
KGNbKGNbZisyNjQ+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDA7YT1mKzIzNnwwO2JbYT4+MV09
ZysoZVthPj4xXXwwKTthPWYrMjM4fDA7YlthPj4xXT1nKyhlW2E+PjFdfDApO2E9MTt3aGlsZSgx
KXtpZigoYXwwKT4oY1tmKzE4MD4+Ml18MCkpYnJlYWs7dWooY1soY1tmKzE4ND4+Ml18MCkrKGE8
PDIpPj4yXXwwKTthPWErMXwwO2Y9Y1tkPj4yXXwwfXJldHVybn1mdW5jdGlvbiB2aihiKXtiPWJ8
MDt2YXIgZD0wO2Q9SnAoVmYoYil8MCl8MDt3aGlsZSgxKXtpZighZClicmVhaztpZigoYVsoY1tk
KzE2Pj4yXXwwKSsyNzQ+PjBdfDApPT03KXdqKGIsZCk7ZD1LcChkKXwwfXJldHVybn1mdW5jdGlv
biB3aihhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTA7ZD0oY1tiKzE2Pj4yXXwwKSsyMDB8MDtkbyBp
ZigoY1tkPj4yXXwwKT09MD8oY1tkPj4yXT1hLHhqKGEsYiksY28oYil8MCk6MCl7eWooYSxiKTtp
ZigoY1s0MjE3OV18MCk9PTEwMCl7bWooYiwwKTt6aihiKTticmVha31lbHNle2lqKGIpO2JyZWFr
fX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24geGooYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9
MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2g9YisxNnwwO2c9Y28oZCl8MDt3aGlsZSgxKXtpZighZyli
cmVhaztpPWVvKGQsZyl8MDtqPWcrMTZ8MDtpZighKGFbKGNbaj4+Ml18MCkrMTU5Pj4wXXwwKSlm
PTE7ZWxzZXtxbyhkLGcpfDA7Zz1pO2NvbnRpbnVlfXdoaWxlKDEpe2U9Y1toPj4yXXwwO2I9Y1tl
KzE4MD4+Ml18MDtpZigoZnwwKT49KGJ8MCkpYnJlYWs7aWYoQm8oY1soY1tlKzE4ND4+Ml18MCkr
KGY8PDIpPj4yXXwwLGcpfDApe2s9NzticmVha31mPWYrMXwwfWlmKChrfDApPT03KXtrPTA7Yj1j
WyhjW2g+PjJdfDApKzE4MD4+Ml18MH1pZigoZnwwKTwoYnwwKSlxbyhkLGcpfDA7Y1soY1tqPj4y
XXwwKSsyMTI+PjJdPTA7Zz1pfWU9Y28oZCl8MDt3aGlsZSgxKXtpZighZSlicmVhaztiPVBtKFZm
KGQpfDAsZSl8MDt3aGlsZSgxKXtpZighYilicmVhaztpZihCbyhkLGNbKChjW2I+PjJdJjN8MCk9
PTI/YjpiKy00OHwwKSs0MD4+Ml18MCl8MCllbihkLGIsMSl8MDtiPVJtKFZmKGQpfDAsYil8MH1l
PWVvKGQsZSl8MH1yZXR1cm59ZnVuY3Rpb24geWooYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9
MCxmPTAsZz0wO2U9YSsxNnwwO2Q9Y1tlPj4yXXwwO2c9ZCsxODB8MDthPWNbZz4+Ml18MDtmPWEr
MXwwO2NbZz4+Ml09ZjtkPWNbZCsxODQ+PjJdfDA7aWYoIWQpYT12dygoYTw8MikrOHwwKXwwO2Vs
c2UgYT14dyhkLGErMnwwLDQsZil8MDtjWyhjW2U+PjJdfDApKzE4ND4+Ml09YTtjW2ErKGY8PDIp
Pj4yXT1iO2h3KGIpO3JldHVybn1mdW5jdGlvbiB6aihiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAs
Zz0wLGg9MDtnPWNbYisxNj4+Ml18MDtkPWcrMTkyfDA7aD0wO3doaWxlKDEpe2Q9Y1tkPj4yXXww
O2lmKCFkKWJyZWFrO2Y9Y1tkKzE2Pj4yXXwwO2lmKCEoY1tmKzIzMj4+Ml18MCkpZT0oYVtmKzE1
Nj4+MF18MCk9PTA/ZDpoO2Vsc2UgZT1oO2Q9ZisxNjR8MDtoPWV9aWYoIWgpbWEoNzk4NjYsNzk4
ODEsMjM4LDc5ODg4KTtjW2crMjY0Pj4yXT1oO2Q9Y28oYil8MDt3aGlsZSgxKXtpZighZCl7ZD0x
MzticmVha31lPWQrMTZ8MDtpZighKChkfDApPT0oaHwwKT8xOihjWyhjW2U+PjJdfDApKzIxNj4+
Ml18MCk8Mikpe2Q9MTE7YnJlYWt9TEEoZCxoKXwwO2FbKGNbZT4+Ml18MCkrMTU5Pj4wXT03O2Q9
ZW8oYixkKXwwfWlmKChkfDApPT0xMSltYSg3OTkwMyw3OTg4MSwyNDIsNzk4ODgpO2Vsc2UgaWYo
KGR8MCk9PTEzKXJldHVybn1mdW5jdGlvbiBBaihiKXtiPWJ8MDt2YXIgZD0wO2lmKCEoQ2ooYil8
MCkpe2Q9VUEoSW0oYiw4MDAxOCl8MCwxNzI4NCwxNzMwOCl8MDthWyhjW2IrMTY+PjJdfDApKzI3
ND4+MF09ZDtiPWR9ZWxzZSBiPTc7cmV0dXJuIGJ8MH1mdW5jdGlvbiBCaihiLGQsZSl7Yj1ifDA7
ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTA7Zz1jbyhkKXwwO2E6ZG8gaWYoZ3ww
KXtqPWUmMjU1O2k9ZysxNnwwO2Y9ZztoPWo7d2hpbGUoMSl7YVsoY1tmKzE2Pj4yXXwwKSsxNTk+
PjBdPWg7Zj1lbyhkLGYpfDA7aWYoIWYpYnJlYWs7TEEoZyxmKXwwO2g9YVsoY1tpPj4yXXwwKSsx
NTk+PjBdfDB9c3dpdGNoKGV8MCl7Y2FzZSAzOmNhc2UgMjp7Yj1iKzE2fDA7Zj1jW2I+PjJdfDA7
aD1jW2YrMjI0Pj4yXXwwO2lmKGgpe2c9TEEoaCxnKXwwO2Y9Y1tiPj4yXXwwfWNbZisyMjQ+PjJd
PWc7YnJlYWt9Y2FzZSA1OmNhc2UgNDp7Yj1iKzE2fDA7Zj1jW2I+PjJdfDA7aD1jW2YrMjI4Pj4y
XXwwO2lmKGgpe2c9TEEoaCxnKXwwO2Y9Y1tiPj4yXXwwfWNbZisyMjg+PjJdPWc7YnJlYWt9ZGVm
YXVsdDpicmVhayBhfXN3aXRjaChlfDApe2Nhc2UgMzp7Zj1mKzIyNHwwO2JyZWFrfWNhc2UgNTp7
Zj1mKzIyOHwwO2JyZWFrfWRlZmF1bHQ6YnJlYWsgYX1hWyhjWyhjW2Y+PjJdfDApKzE2Pj4yXXww
KSsxNTk+PjBdPWp9d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIENqKGEpe2E9YXwwO3JldHVybiAo
VkooRG4oYSl8MCw5MzAzOSw3KXwwKT09MHwwfWZ1bmN0aW9uIERqKGIsZCl7Yj1ifDA7ZD1kfDA7
dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTA7bT1sO2w9bCsxNnwwO2c9bTtpZigh
KFlqKGIpfDApKXtkbyBpZihoQihiKXwwKWlmKCFkKXtjWyhjW2IrMTY+PjJdfDApKzIwND4+Ml09
MDtkPWI7YnJlYWt9ZWxzZXtjWyhjW2IrMTY+PjJdfDApKzIwND4+Ml09KGNbKGNbZCsxNj4+Ml18
MCkrMjA0Pj4yXXwwKSsxO1pqKGIsZCk7ZD1iO2JyZWFrfXdoaWxlKDApO2U9SnAoYil8MDt3aGls
ZSgxKXtpZighZSlicmVhaztEaihlLGQpO2U9S3AoZSl8MH1hOmRvIGlmKGhCKGIpfDApe2U9Y28o
Yil8MDt3aGlsZSgxKXtpZighZSlicmVhayBhO2Y9KGNbZSsxNj4+Ml18MCkrMjEyfDA7aWYoIShj
W2Y+PjJdfDApKWNbZj4+Ml09YjtlPWVvKGIsZSl8MH19d2hpbGUoMCk7c3dpdGNoKF9qKGIpfDAp
e2Nhc2UgMzp7ZD1kKzE2fDA7YVsoY1tkPj4yXXwwKSsyNDE+PjBdPTE7az0xOTticmVha31jYXNl
IDI6e2Q9ZCsxNnwwO2s9MTk7YnJlYWt9Y2FzZSA1OntkPWQrMTZ8MDthWyhjW2Q+PjJdfDApKzI0
Mj4+MF09MTtrPTIxO2JyZWFrfWNhc2UgNDp7ZD1kKzE2fDA7az0yMTticmVha31jYXNlIDE6eyRq
KGIpfDA7YnJlYWt9Y2FzZSA2OmJyZWFrO2RlZmF1bHQ6e2U9RG4oYil8MDtmPUltKGIsODAwMTgp
fDA7Y1tnPj4yXT1lO2NbZys0Pj4yXT1mO19sKDAsODAyMDEsZyl8MH19aWYoKGt8MCk9PTE5KXtr
PSRqKGIpfDA7az1hayhrLGNbKGNbZD4+Ml18MCkrMjA4Pj4yXXwwKXwwO2NbKGNbZD4+Ml18MCkr
MjA4Pj4yXT1rfWVsc2UgaWYoKGt8MCk9PTIxKXtrPSRqKGIpfDA7az1hayhrLGNbKGNbZD4+Ml18
MCkrMjEyPj4yXXwwKXwwO2NbKGNbZD4+Ml18MCkrMjEyPj4yXT1rfWlmKChoQihiKXwwPyhoPWIr
MTZ8MCxpPWNbaD4+Ml18MCxqPWNbaSsyMDg+PjJdfDAsanwwKTowKT8oanwwKT09KGNbaSsyMTI+
PjJdfDApOjApe2o9JGooYil8MDtrPWNbaD4+Ml18MDtjW2srMjA4Pj4yXT1qO2NbaysyMTI+PjJd
PWp9fWw9bTtyZXR1cm59ZnVuY3Rpb24gRWooYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MDtj
WzQxOTMzXT0wO2Q9Y28oYSl8MDt3aGlsZSgxKXtpZighZClicmVhaztpZigoTGooZCl8MCk9PShk
fDApKXtlPU9qKGIsRG4oZCl8MCl8MDtjWyhjW2QrMTY+PjJdfDApKzE0OD4+Ml09ZX1kPWVvKGEs
ZCl8MH1kPWNvKGEpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7Yj1kKzE2fDA7aWYoIShjWyhjW2I+
PjJdfDApKzE0OD4+Ml18MCkpe2U9Y1soY1soTGooZCl8MCkrMTY+PjJdfDApKzE0OD4+Ml18MDtj
WyhjW2I+PjJdfDApKzE0OD4+Ml09ZX1kPWVvKGEsZCl8MH1yZXR1cm59ZnVuY3Rpb24gRmooYSxi
KXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtoPWNvKGEp
fDA7d2hpbGUoMSl7aWYoIWgpYnJlYWs7ZD1jWyhjW2grMTY+PjJdfDApKzE0OD4+Ml18MDtpPVBt
KGEsaCl8MDt3aGlsZSgxKXtpZighaSlicmVhaztkbyBpZigoVGooaSl8MCk9PTA/KGo9aSstNDh8
MCxrPWNbKGNbKExqKGNbKChjW2k+PjJdJjN8MCk9PTI/aTpqKSs0MD4+Ml18MCl8MCkrMTY+PjJd
fDApKzE0OD4+Ml18MCwoZHwwKSE9KGt8MCkpOjApe2Y9Y1tpPj4yXSYzO2c9aSs0OHwwO2U9KChm
fDApPT0zP2k6ZykrNDB8MDtmPWNbKGNbKGNbKChmfDApPT0yP2k6aikrNDA+PjJdfDApKzE2Pj4y
XXwwKSsyMTI+PjJdfDA7aWYoIShVaihpKXwwKSl7aWYoKFNqKGNbKGNbKGNbZT4+Ml18MCkrMTY+
PjJdfDApKzIxMj4+Ml18MCl8MCk9PTA/KFNqKGYpfDApPT0wOjApe1ZqKGIsZCxrLGkpO2JyZWFr
fVdqKGIsZCxrLGkpO2JyZWFrfWVsc2V7Zj1MaihjW2U+PjJdfDApfDA7ZT1jW2k+PjJdJjM7aWYo
KGZ8MCkhPShjWyhjWyhjWyhjWyhjWygoZXwwKT09Mz9pOmcpKzQwPj4yXXwwKSsxNj4+Ml18MCkr
MjEyPj4yXXwwKSsxNj4+Ml18MCkrMjEyPj4yXXwwKT8oZz1MaihjWygoZXwwKT09Mj9pOmopKzQw
Pj4yXXwwKXwwLChnfDApIT0oY1soY1soY1soY1soY1soKGNbaT4+Ml0mM3wwKT09Mj9pOmopKzQw
Pj4yXXwwKSsxNj4+Ml18MCkrMjEyPj4yXXwwKSsxNj4+Ml18MCkrMjA4Pj4yXXwwKSk6MCllPWs7
ZWxzZXtlPWQ7ZD1rfVZqKGIsZCxlLGkpO2JyZWFrfX13aGlsZSgwKTtpPVJtKGEsaSl8MH1oPWVv
KGEsaCl8MH1yZXR1cm59ZnVuY3Rpb24gR2ooYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1l
fDA7dmFyIGY9MCxnPTA7aWYoKGhCKGEpfDApIT0wPyhTaihhKXwwKSE9MDowKXtnPWNvKGEpfDA7
d2hpbGUoMSl7aWYoIWcpYnJlYWs7aWYoIShTbShhLGcpfDApKXtmPWNbKGNbKExqKGcpfDApKzE2
Pj4yXXwwKSsxNDg+PjJdfDA7aWYoIWQpZD1PaihiLDgwMDk5KXwwO2FuKGIsZCxmLDAsMSl8MH1p
ZighKFBtKGEsZyl8MCkpe2Y9Y1soY1soTGooZyl8MCkrMTY+PjJdfDApKzE0OD4+Ml18MDtpZigh
ZSllPU9qKGIsODAxMDQpfDA7YW4oYixmLGUsMCwxKXwwfWc9ZW8oYSxnKXwwfWlmKChlfDApIT0w
JihkfDApIT0wKXtSaihhbihiLGQsZSwwLDEpfDAsMCwxZTMpO2Y9ZH1lbHNlIGY9ZH1lbHNlIGY9
ZDtkPUpwKGEpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7R2ooZCxiLGYsZSk7ZD1LcChkKXwwfXJl
dHVybn1mdW5jdGlvbiBIaihiKXtiPWJ8MDt2YXIgZD0wLGU9MDtkPWNvKGIpfDA7d2hpbGUoMSl7
aWYoIWQpYnJlYWs7ZT1jW2QrMTY+PjJdfDA7YVtlKzE1OD4+MF09MDthW2UrMTU3Pj4wXT0wO2Q9
ZW8oYixkKXwwfWQ9Y28oYil8MDt3aGlsZSgxKXtpZighZClicmVhaztQaihiLGQpO2Q9ZW8oYixk
KXwwfXJldHVybn1mdW5jdGlvbiBJaihhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wO2I9Y28o
YSl8MDt3aGlsZSgxKXtpZighYilicmVhaztjWyhjW2IrMTY+PjJdfDApKzEyOD4+Ml09MDtiPWVv
KGEsYil8MH1iPTA7ZT1jbyhhKXwwO3doaWxlKDEpe2lmKCFlKWJyZWFrO2Q9YisxfDA7aWYoIShj
WyhjW2UrMTY+PjJdfDApKzEyOD4+Ml18MCkpe05qKGEsZSxkKTtiPWR9ZT1lbyhhLGUpfDB9YTpk
byBpZigoYnwwKT4xKXtmPU9qKGEsODAwOTMpfDA7ZD0xO2U9Y28oYSl8MDt3aGlsZSgxKXtpZigh
ZSlicmVhayBhO2lmKChjWyhjW2UrMTY+PjJdfDApKzEyOD4+Ml18MCk9PShkfDApKXthbihhLGYs
ZSwwLDEpfDA7ZD1kKzF8MH1lPWVvKGEsZSl8MH19d2hpbGUoMCk7cmV0dXJuIGJ8MH1mdW5jdGlv
biBKaihhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wO2c9Y28oYSl8MDt3
aGlsZSgxKXtpZighZylicmVhaztoPWcrMTZ8MDtmPVBtKGEsZyl8MDt3aGlsZSgxKXtpZighZili
cmVhaztiPWNbaD4+Ml18MDtkPWNbYisxODA+PjJdfDA7aWYoIWQpYj13dygoY1tiKzE4ND4+Ml08
PDIpKzh8MCl8MDtlbHNlIGI9eXcoZCwoY1tiKzE4ND4+Ml08PDIpKzh8MCl8MDtkPWNbaD4+Ml18
MDtjW2QrMTgwPj4yXT1iO2Q9ZCsxODR8MDtlPWNbZD4+Ml18MDtjW2Q+PjJdPWUrMTtjW2IrKGU8
PDIpPj4yXT1mO2U9Y1toPj4yXXwwO2NbKGNbZSsxODA+PjJdfDApKyhjW2UrMTg0Pj4yXTw8Mik+
PjJdPTA7ZT1mKy00OHwwO2I9Y1soY1soKGNbZj4+Ml0mM3wwKT09Mj9mOmUpKzQwPj4yXXwwKSsx
Nj4+Ml18MDtkPWNbYisxNzI+PjJdfDA7aWYoIWQpYj13dygoY1tiKzE3Nj4+Ml08PDIpKzh8MCl8
MDtlbHNlIGI9eXcoZCwoY1tiKzE3Nj4+Ml08PDIpKzh8MCl8MDtjWyhjWyhjWygoY1tmPj4yXSYz
fDApPT0yP2Y6ZSkrNDA+PjJdfDApKzE2Pj4yXXwwKSsxNzI+PjJdPWI7aT1jWyhjWygoY1tmPj4y
XSYzfDApPT0yP2Y6ZSkrNDA+PjJdfDApKzE2Pj4yXXwwO2I9Y1tpKzE3Mj4+Ml18MDtpPWkrMTc2
fDA7ZD1jW2k+PjJdfDA7Y1tpPj4yXT1kKzE7Y1tiKyhkPDwyKT4+Ml09ZjtlPWNbKGNbKChjW2Y+
PjJdJjN8MCk9PTI/ZjplKSs0MD4+Ml18MCkrMTY+PjJdfDA7Y1soY1tlKzE3Mj4+Ml18MCkrKGNb
ZSsxNzY+PjJdPDwyKT4+Ml09MDtmPVJtKGEsZil8MH1nPWVvKGEsZyl8MH1yZXR1cm59ZnVuY3Rp
b24gS2ooYSxkLGYpe2E9YXwwO2Q9ZHwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9
MCxtPTAsbj0wLG89MDtuPWErMTZ8MDtvPWNbbj4+Ml18MDtiW28rMjM2Pj4xXT0zMjc2NztiW28r
MjM4Pj4xXT0tMTthOmRvIGlmKChmfDApPjEpe2g9dncoKGY8PDIpKzR8MCl8MDtnPWYrMXwwO2Y9
MTt3aGlsZSgxKXtpZigoZnwwKT09KGd8MCkpe209aDtvPWg7YnJlYWsgYX1jW2grKGY8PDIpPj4y
XT0zMjc2NztmPWYrMXwwfX1lbHNle209MDtvPTB9d2hpbGUoMCk7aT0obXwwKT09MDtoPWNvKGEp
fDA7d2hpbGUoMSl7aWYoIWgpYnJlYWs7aj1jWyhjWyhjWyhMaihoKXwwKSsxNj4+Ml18MCkrMTQ4
Pj4yXXwwKSsxNj4+Ml18MDtrPWNbaisyMzI+PjJdfDA7bD1jW2grMTY+PjJdfDA7Y1tsKzIzMj4+
Ml09aztmPWNbbj4+Ml18MDtnPWYrMjM4fDA7aWYoKGt8MCk+KGJbZz4+MV18MCkpYltnPj4xXT1r
O2Y9ZisyMzZ8MDtpZigoa3wwKTwoYltmPj4xXXwwKSliW2Y+PjFdPWs7aWYoIWkpe2o9Y1tqKzEy
OD4+Ml18MDtjW2wrMTI4Pj4yXT1qO2w9bSsoajw8Mil8MDtqPWNbbD4+Ml18MDtjW2w+PjJdPShq
fDApPChrfDApP2o6a31oPWVvKGEsaCl8MH1qPShtfDApIT0wO2I6ZG8gaWYoIWope209YlsoY1tu
Pj4yXXwwKSsyMzY+PjFdfDA7Zz1tPDwxNj4+MTY7aWYobTw8MTY+PjE2PjApe2Y9Y28oYSl8MDt3
aGlsZSgxKXtpZighZilicmVhazttPShjW2YrMTY+PjJdfDApKzIzMnwwO2NbbT4+Ml09KGNbbT4+
Ml18MCktZztmPWVvKGEsZil8MH1mPWNbbj4+Ml18MDtuPWYrMjM2fDA7YltuPj4xXT0oZVtuPj4x
XXwwKS1nO2Y9ZisyMzh8MDtiW2Y+PjFdPShlW2Y+PjFdfDApLWc7Zj0wfWVsc2UgZj0wfWVsc2V7
Zj1jbyhhKXwwO3doaWxlKDEpe2lmKCFmKXtmPTE7YnJlYWsgYn1sPWNbZisxNj4+Ml18MDtuPWwr
MjMyfDA7Y1tuPj4yXT0oY1tuPj4yXXwwKS0oY1ttKyhjW2wrMTI4Pj4yXTw8Mik+PjJdfDApO2Y9
ZW8oYSxmKXwwfX13aGlsZSgwKTtNaihhLGYpO2k9Y28oZCl8MDt3aGlsZSgxKXtpZighaSlicmVh
aztnPWkrMTZ8MDtmPWNbZz4+Ml18MDtoPWNbZisxNzI+PjJdfDA7aWYoaCl7X0koaCk7Zj1jW2c+
PjJdfDB9Zj1jW2YrMTgwPj4yXXwwO2lmKGZ8MClfSShmKTtpPWVvKGQsaSl8MH1fSShjWyhjWyhj
byhhKXwwKSsxNj4+Ml18MCkrMTEyPj4yXXwwKTtmPWNvKGEpfDA7d2hpbGUoMSl7aWYoIWYpYnJl
YWs7Y1soY1tmKzE2Pj4yXXwwKSsxMTI+PjJdPTA7Zj1lbyhhLGYpfDB9aWYoailfSShvKTtyZXR1
cm59ZnVuY3Rpb24gTGooYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wO2I9YSsxNnwwO2Q9KGNbYj4+
Ml18MCkrMTUyfDA7ZT1jW2Q+PjJdfDA7aWYoZSl7aWYoKGV8MCkhPShhfDApKXtlPUxqKGUpfDA7
Y1soY1tiPj4yXXwwKSsxNTI+PjJdPWU7cmV0dXJuIGV8MH19ZWxzZSBjW2Q+PjJdPWE7cmV0dXJu
IGF8MH1mdW5jdGlvbiBNaihhLGQpe2E9YXwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0w
O2k9YSsxNnwwO2U9MTt3aGlsZSgxKXtmPWNbaT4+Ml18MDtpZigoZXwwKT4oY1tmKzE4MD4+Ml18
MCkpYnJlYWs7TWooY1soY1tmKzE4ND4+Ml18MCkrKGU8PDIpPj4yXXwwLDApO2U9ZSsxfDB9aWYo
KGR8MCkhPTB8KGNbZisyMDA+PjJdfDApIT0wKXtiW2YrMjM2Pj4xXT0zMjc2NztiW2YrMjM4Pj4x
XT0tMTtlPTA7aD1jbyhhKXwwO3doaWxlKDEpe2lmKCFoKWJyZWFrO2c9Y1soY1toKzE2Pj4yXXww
KSsyMzI+PjJdfDA7ZD1jW2k+PjJdfDA7Zj1kKzIzOHwwO2lmKChnfDApPihiW2Y+PjFdfDApKWJb
Zj4+MV09ZztkPWQrMjM2fDA7aWYoKGd8MCk8KGJbZD4+MV18MCkpe2JbZD4+MV09ZztlPWh9aD1l
byhhLGgpfDB9Y1soY1tpPj4yXXwwKSsyNjQ+PjJdPWV9cmV0dXJufWZ1bmN0aW9uIE5qKGEsYixk
KXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wO2U9KGNbYisxNj4+Ml18MCkrMTI4fDA7YTpkbyBp
ZighKGNbZT4+Ml18MCkpe2NbZT4+Ml09ZDtlPVBtKGEsYil8MDt3aGlsZSgxKXtpZighZSlicmVh
aztOaihhLGNbKChjW2U+PjJdJjN8MCk9PTI/ZTplKy00OHwwKSs0MD4+Ml18MCxkKTtlPVJtKGEs
ZSl8MH1lPVNtKGEsYil8MDt3aGlsZSgxKXtpZighZSlicmVhayBhO05qKGEsY1soKGNbZT4+Ml0m
M3wwKT09Mz9lOmUrNDh8MCkrNDA+PjJdfDAsZCk7ZT1UbShhLGUpfDB9fXdoaWxlKDApO3JldHVy
bn1mdW5jdGlvbiBPaihhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MDtmPW5vKGEsYiwx
KXwwO2I9ZisxNnwwO2NbKGNbYj4+Ml18MCkrMTc2Pj4yXT0wO2U9dncoMjApfDA7ZD1jW2I+PjJd
fDA7Y1tkKzE3Mj4+Ml09ZTtjW2QrMTg0Pj4yXT0wO2Q9dncoMjApfDA7Yj1jW2I+PjJdfDA7Y1ti
KzE4MD4+Ml09ZDtkPWNbNDE5MzNdfDA7ZT1iKzE2OHwwO2lmKCFkKXtjW2U+PjJdPTA7Y1soY1th
KzE2Pj4yXXwwKSsxOTI+PjJdPWZ9ZWxzZXtjW2U+PjJdPWQ7Y1soY1tkKzE2Pj4yXXwwKSsxNjQ+
PjJdPWZ9Y1s0MTkzM109ZjtjW2IrMTY0Pj4yXT0wO3JldHVybiBmfDB9ZnVuY3Rpb24gUGooYixk
KXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wO2g9ZCsxNnwwO2U9Y1toPj4yXXwwO2Y9
ZSsxNTd8MDtpZighKGFbZj4+MF18MCkpe2FbZj4+MF09MTthW2UrMTU4Pj4wXT0xO2Q9UG0oYixk
KXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrO2U9Um0oYixkKXwwO2Y9Y1soKGNbZD4+Ml0mM3wwKT09
Mj9kOmQrLTQ4fDApKzQwPj4yXXwwO2c9Y1tmKzE2Pj4yXXwwO2lmKGFbZysxNTg+PjBdfDApe1Fq
KGIsZCk7ZD1lO2NvbnRpbnVlfWlmKGFbZysxNTc+PjBdfDApe2Q9ZTtjb250aW51ZX1QaihiLGYp
O2Q9ZX1hWyhjW2g+PjJdfDApKzE1OD4+MF09MH1yZXR1cm59ZnVuY3Rpb24gUWooYSxiKXthPWF8
MDtiPWJ8MDt2YXIgZD0wLGY9MCxnPTA7ZD1jW2I+PjJdJjM7Zz1iKy00OHwwO2Y9Yis0OHwwO2Q9
YW4oYSxjWygoZHwwKT09Mj9iOmcpKzQwPj4yXXwwLGNbKChkfDApPT0zP2I6ZikrNDA+PjJdfDAs
MCwwKXwwO2lmKCFkKXtkPWNbYj4+Ml0mMztkPWFuKGEsY1soKGR8MCk9PTI/YjpnKSs0MD4+Ml18
MCxjWygoZHwwKT09Mz9iOmYpKzQwPj4yXXwwLDAsMSl8MH1nPWNbYisxNj4+Ml18MDtSaihkLGVb
ZysxNzA+PjFdfDAsY1tnKzE1Nj4+Ml18MCk7cW8oYSxiKXwwO3JldHVybn1mdW5jdGlvbiBSaihh
LGQsZil7YT1hfDA7ZD1kfDA7Zj1mfDA7dmFyIGc9MCxoPTA7YT1jW2ErMTY+PjJdfDA7Zz1hKzE3
MHwwO2g9ZVtnPj4xXXwwO2JbZz4+MV09KGh8MCk+KGR8MCk/aDpkO2Q9YSsxNTZ8MDtjW2Q+PjJd
PShjW2Q+PjJdfDApK2Y7cmV0dXJufWZ1bmN0aW9uIFNqKGEpe2E9YXwwO3JldHVybiAoSkEoSW0o
YSw4MDEwOSl8MCwwKXwwKSYyNTV8MH1mdW5jdGlvbiBUaihiKXtiPWJ8MDt2YXIgZD0wLGU9MDtk
PWNbNDIyMzNdfDA7aWYoKCgoZHwwKSE9MD8oZT1KbShiLGQpfDAsKGV8MCkhPTApOjApPyhhW2U+
PjBdfDApIT0wOjApPyhJQShlKXwwKTw8MjQ+PjI0PT0wOjApYj0xO2Vsc2UgYj0wO3JldHVybiBi
fDB9ZnVuY3Rpb24gVWooYSl7YT1hfDA7dmFyIGI9MCxkPTA7ZD1jW2E+PjJdJjM7Yj1jWyhjWyhj
WygoZHwwKT09Mz9hOmErNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMTI+PjJdfDA7YT1jWyhj
WyhjWygoZHwwKT09Mj9hOmErLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjEyPj4yXXwwO2lm
KChifDApPT0oYXwwKSlyZXR1cm4gMTtlbHNle2Q9WGooYixhKXwwO3JldHVybiAoKGR8MCk9PShi
fDApfChkfDApPT0oYXwwKSkmMXwwfXJldHVybiAwfWZ1bmN0aW9uIFZqKGEsYixkLGYpe2E9YXww
O2I9YnwwO2Q9ZHwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTA7aj1sO2w9bCsxNnwwO2g9ajtn
PWFuKGEsYixkLDAsMCl8MDtpZighZyl7Zz1hbihhLGQsYiwwLDApfDA7aWYoIWcpe2c9YW4oYSxi
LGQsMCwxKXwwO2lmKCFnKXtiPURuKGIpfDA7Zj1EbihkKXwwO2NbaD4+Ml09YjtjW2grND4+Ml09
ZjtfbCgxLDgwMTI2LGgpfDB9ZWxzZSBpPTR9ZWxzZSBpPTR9ZWxzZSBpPTQ7aWYoKGl8MCk9PTQp
e2k9Y1tmKzE2Pj4yXXwwO1JqKGcsZVtpKzE3MD4+MV18MCxjW2krMTU2Pj4yXXwwKX1sPWo7cmV0
dXJufWZ1bmN0aW9uIFdqKGEsZCxmLGcpe2E9YXwwO2Q9ZHwwO2Y9ZnwwO2c9Z3wwO3ZhciBoPTAs
aT0wLGo9MCxrPTAsbT0wLG49MDttPWw7bD1sKzExMnwwO2o9bTtpPW0rNHwwO2g9U20oYSxkKXww
O3doaWxlKDEpe2lmKCFoKXtrPTY7YnJlYWt9bj1QbShhLGNbKChjW2g+PjJdJjN8MCk9PTM/aDpo
KzQ4fDApKzQwPj4yXXwwKXwwO2lmKG58MD8oY1soKGNbbj4+Ml0mM3wwKT09Mj9uOm4rLTQ4fDAp
KzQwPj4yXXwwKT09KGZ8MCk6MClicmVhaztoPVRtKGEsaCl8MH1pZigoa3wwKT09Nil7bj1jWzQx
OTM0XXwwO2NbNDE5MzRdPW4rMTtjW2o+PjJdPW47cEwoaSw4MDExNyxqKXwwO2k9T2ooYSxpKXww
O249YW4oYSxpLGQsMCwxKXwwO2k9YW4oYSxpLGYsMCwxKXwwO2Y9Y1tnKzE2Pj4yXXwwO2s9Zisx
NTZ8MDtuPShjW24rMTY+PjJdfDApKzE1NnwwO2Nbbj4+Ml09KGNbbj4+Ml18MCkrKChjW2s+PjJd
fDApKjFlM3wwKTtuPWNbaSsxNj4+Ml18MDtqPW4rMTcwfDA7YltqPj4xXT1iWyhjWygoZVtqPj4x
XXwwKT4oZVtmKzE3MD4+MV18MCk/aTpnKSsxNj4+Ml18MCkrMTcwPj4xXXwwO249bisxNTZ8MDtj
W24+PjJdPShjW24+PjJdfDApKyhjW2s+PjJdfDApfWw9bTtyZXR1cm59ZnVuY3Rpb24gWGooYSxi
KXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTA7YTp3aGlsZSgxKXtlPWErMTZ8MDt3aGlsZSgx
KXtpZigoYXwwKT09KGJ8MCkpYnJlYWsgYTtmPWNbZT4+Ml18MDtkPWNbYisxNj4+Ml18MDtpZigo
Y1tmKzIwND4+Ml18MCk+PShjW2QrMjA0Pj4yXXwwKSlicmVhaztiPWNbZCsyMDA+PjJdfDB9YT1j
W2YrMjAwPj4yXXwwfXJldHVybiBhfDB9ZnVuY3Rpb24gWWooYSl7YT1hfDA7cmV0dXJuIChjbyhh
KXwwKT09MHwwfWZ1bmN0aW9uIFpqKGEsYil7YT1hfDA7Yj1ifDA7Y1soY1thKzE2Pj4yXXwwKSsy
MDA+PjJdPWI7eWooYixhKTt4aihiLGEpO3JldHVybn1mdW5jdGlvbiBfaihiKXtiPWJ8MDt2YXIg
Yz0wO2I9SW0oYiw4MDAxOCl8MDtpZigoYnwwKSE9MD8oYVtiPj4wXXwwKSE9MDowKWlmKHhKKGIs
ODAwMjgpfDApaWYoeEooYiw4MDAzMil8MClpZih4SihiLDgwMDM5KXwwKWlmKHhKKGIsODAwNDMp
fDApaWYoISh4SihiLDgwMDIzKXwwKSliPTE7ZWxzZSBjPTg7ZWxzZSBiPTU7ZWxzZSBiPTQ7ZWxz
ZSBiPTM7ZWxzZSBiPTI7ZWxzZSBjPTg7aWYoKGN8MCk9PTgpYj02O3JldHVybiBifDB9ZnVuY3Rp
b24gJGooYSl7YT1hfDA7dmFyIGI9MCxjPTA7Yz1jbyhhKXwwO2E6ZG8gaWYoIWMpYj0wO2Vsc2V7
Yj1MaihjKXwwO3doaWxlKDEpe2M9ZW8oYSxjKXwwO2lmKCFjKWJyZWFrIGE7YWsoYixjKXwwfX13
aGlsZSgwKTtyZXR1cm4gYnwwfWZ1bmN0aW9uIGFrKGEsYil7YT1hfDA7Yj1ifDA7aWYoYil7YT1M
aihhKXwwO2NbKGNbKExqKGIpfDApKzE2Pj4yXXwwKSsxNTI+PjJdPWF9cmV0dXJuIGF8MH1mdW5j
dGlvbiBiayhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7Tm8oYiw4MDA3NyxjW2Q+PjJdfDAsMSl8
MDtyZXR1cm59ZnVuY3Rpb24gY2soYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO05vKGIsODAyNDQs
Y1tkKzQ+PjJdfDAsMSl8MDtyZXR1cm59ZnVuY3Rpb24gZGsoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9
ZHwwO05vKGIsODAyMjksY1tkKzg+PjJdfDAsMSl8MDtyZXR1cm59ZnVuY3Rpb24gZWsoYil7Yj1i
fDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAscD0wO3A9
bDtsPWwrMjQwfDA7bT1wKzEyMHwwO249cDtjWzQyMjM3XT15bShiLDIsODAyNTksMCl8MDtrPXlt
KGIsMiw4MDI2OCwwKXwwO2NbNDIyMzhdPWs7YTpkbyBpZigoa3wwKSE9MHwoY1s0MjIzN118MCkh
PTApe2s9Y28oYil8MDt3aGlsZSgxKXtpZighaylicmVhayBhO2o9MDtkPTA7aT1VbShiLGspfDA7
d2hpbGUoMSl7aWYoIWkpe2Y9MDticmVha31lPWNbaT4+Ml18MDtnPWUmMztmPWNbKChnfDApPT0y
P2k6aSstNDh8MCkrNDA+PjJdfDA7aD1pKzQ4fDA7YjpkbyBpZigoZnwwKSE9KGNbKChnfDApPT0z
P2k6aCkrNDA+PjJdfDApKXtnPWNbNDIyMzddfDA7ZG8gaWYoKGZ8MCk9PShrfDApJihnfDApIT0w
KXtmPUptKGksZyl8MDtpZighKGFbZj4+MF18MCkpe2U9Y1tpPj4yXXwwO2JyZWFrfWVsc2V7ZT1q
O2Q9ZmsobSxkLGssaSxmKXwwO2JyZWFrIGJ9fXdoaWxlKDApO2Y9Y1s0MjIzOF18MDtpZigoZnww
PyhjWygoZSYzfDApPT0zP2k6aCkrNDA+PjJdfDApPT0oa3wwKTowKT8obz1KbShpLGYpfDAsKGFb
bz4+MF18MCkhPTApOjApZT1mayhuLGosayxpLG8pfDA7ZWxzZSBlPWp9ZWxzZSBlPWo7d2hpbGUo
MCk7aj1lO2k9Vm0oYixpLGspfDB9d2hpbGUoMSl7aWYoKGZ8MCk+PShkfDApKXtlPTA7YnJlYWt9
ZT1tKyhmKjI0fDApKzR8MDtpZigoY1ttKyhmKjI0fDApKzg+PjJdfDApPjEpZ2soayxlKTtlPWNb
ZT4+Ml18MDtpZihlfDApX0koZSk7Zj1mKzF8MH13aGlsZSgxKXtpZigoZXwwKT49KGp8MCkpYnJl
YWs7ZD1uKyhlKjI0fDApKzR8MDtpZigoY1tuKyhlKjI0fDApKzg+PjJdfDApPjEpZ2soayxkKTtk
PWNbZD4+Ml18MDtpZihkfDApX0koZCk7ZT1lKzF8MH1rPWVvKGIsayl8MH19d2hpbGUoMCk7bD1w
O3JldHVybn1mdW5jdGlvbiBmayhiLGQsZSxmLGcpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9
Z3wwO3ZhciBpPTAuMCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MDtwPWw7bD1s
KzE2fDA7az1wO209cCsxMnwwO249cCs4fDA7bz0wO3doaWxlKDEpe2lmKChvfDApPj0oZHwwKSl7
aj0xMDticmVha31qPWNbYisobyoyNHwwKT4+Ml18MDtpZigoYVtqPj4wXXwwKT09KGFbZz4+MF18
MCk/KHhKKGosZyl8MCk9PTA6MCl7aj01O2JyZWFrfW89bysxfDB9ZG8gaWYoKGp8MCk9PTUpe2s9
YisobyoyNHwwKSs0fDA7aj1jW2s+PjJdfDA7aWYoIWope2o9YisobyoyNHwwKSs4fDA7Zz1qO2o9
d3coKGNbaj4+Ml08PDIpKzh8MCl8MH1lbHNle3E9YisobyoyNHwwKSs4fDA7Zz1xO2o9eXcoaiwo
Y1txPj4yXTw8MikrOHwwKXwwfWNbaz4+Ml09ajtyPWNbZz4+Ml18MDtxPXIrMXwwO2NbZz4+Ml09
cTtjW2orKHI8PDIpPj4yXT1mO2NbKGNbaz4+Ml18MCkrKHE8PDIpPj4yXT0wO2o9MTN9ZWxzZSBp
ZigoanwwKT09MTApaWYoKGR8MCk+NCl7cj1EbihlKXwwO2Nbaz4+Ml09NTtjW2srND4+Ml09cjtf
bCgxLDgwMjc3LGspfDA7YnJlYWt9ZWxzZXtzPWIrKG8qMjR8MCkrOHwwO2Nbcz4+Ml09MDtrPXZ3
KDgpfDA7cj1iKyhvKjI0fDApKzR8MDtjW3I+PjJdPWs7cT1jW3M+PjJdfDA7aj1xKzF8MDtjW3M+
PjJdPWo7Y1trKyhxPDwyKT4+Ml09ZjtjWyhjW3I+PjJdfDApKyhqPDwyKT4+Ml09MDtjW2IrKG8q
MjR8MCk+PjJdPWc7Y1tiKyhvKjI0fDApKzEyPj4yXT0wO2hbYisobyoyNHwwKSsxNj4+M109MC4w
O2Q9ZCsxfDA7aj0xMzticmVha313aGlsZSgwKTtpZigoanwwKT09MTMpe0F0KGYsbSxuKTtqPShj
WygoY1tmPj4yXSYzfDApPT0yP2Y6ZistNDh8MCkrNDA+PjJdfDApPT0oZXwwKT9jW24+PjJdfDA6
Y1ttPj4yXXwwO2lmKGope3I9YisobyoyNHwwKSsxMnwwO3M9Y1tyPj4yXXwwO2Nbcj4+Ml09cysx
O2lmKCFzKWk9K0V0KGYsaik7ZWxzZSBpPTAuMDtoW2IrKG8qMjR8MCkrMTY+PjNdPWl9fWw9cDty
ZXR1cm4gZHwwfWZ1bmN0aW9uIGdrKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGk9
MCxqPTAuMCxrPTAuMCxtPTAuMCxuPTAsbz0wLjAscD0wLjAscT0wLjAscj0wLHM9MCx0PTAsdT0w
LHY9MCx3PTAseD0wLHk9MC4wO3g9bDtsPWwrODB8MDt0PXgrNjh8MDt1PXgrNjR8MDtyPXg7dj1k
KzR8MDtuPWNbdj4+Ml18MDt3PWIrMTZ8MDtpPTA7cD0wLjA7cT0wLjA7d2hpbGUoMSl7aWYoKGl8
MCk+PShufDApKWJyZWFrO2Y9Y1soY1tkPj4yXXwwKSsoaTw8Mik+PjJdfDA7Zz1jW2Y+PjJdJjM7
ZT1jWygoZ3wwKT09Mj9mOmYrLTQ4fDApKzQwPj4yXXwwO2lmKChlfDApPT0oYnwwKSllPWNbKChn
fDApPT0zP2Y6Zis0OHwwKSs0MD4+Ml18MDtnPWNbZSsxNj4+Ml18MDtzPWNbdz4+Ml18MDtrPSto
W2crMTY+PjNdLStoW3MrMTY+PjNdO209K2hbZysyND4+M10tK2hbcysyND4+M107bz0rUUooayxt
KTtpPWkrMXwwO3A9ay9vK3A7cT1tL28rcX1qPStRSihwLHEpO3M9Y1t3Pj4yXXwwO2s9K2hbcysx
Nj4+M107bT0raFtzKzI0Pj4zXTt5PStoW3MrOTY+PjNdKyAraFtzKzg4Pj4zXTtvPStoW3MrODA+
PjNdO3M9eT5vKyArKGNbKGNbKHJvKGIpfDApKzE2Pj4yXXwwKSsyNTI+PjJdfDApO2U9Y1t3Pj4y
XXwwO2lmKHMpbz0raFtlKzk2Pj4zXSsgK2hbZSs4OD4+M107ZWxzZXtvPStoW2UrODA+PjNdO289
bysgKyhjWyhjWyhybyhiKXwwKSsxNj4+Ml18MCkrMjUyPj4yXXwwKTtlPWNbdz4+Ml18MH15PSto
W2UrMTY+PjNdK28qKHAvaik7aj0raFtlKzI0Pj4zXStvKihxL2opO2hbcj4+M109aztuPXIrOHww
O2hbbj4+M109bTtoW3IrMTY+PjNdPSh5K2sqMi4wKSouMzMzMzMzMzMzMzMzMzMzMztoW3IrMjQ+
PjNdPShqK20qMi4wKSouMzMzMzMzMzMzMzMzMzMzMztoW3IrMzI+PjNdPSh5KjIuMCtrKSouMzMz
MzMzMzMzMzMzMzMzMztoW3IrNDA+PjNdPShqKjIuMCttKSouMzMzMzMzMzMzMzMzMzMzMztoW3Ir
NDg+PjNdPXk7aFtyKzU2Pj4zXT1qO0d6KGIscik7cz1jW3c+PjJdfDA7aj0raFtyPj4zXS0raFtz
KzE2Pj4zXTtrPStoW24+PjNdLStoW3MrMjQ+PjNdO2o9Kyh+fihqKyhqPj0wLjA/LjU6LS41KSl8
MCk7az0rKH5+KGsrKGs+PTAuMD8uNTotLjUpKXwwKTt5PStoW3MrODg+PjNdO3M9fn4oKHkraikq
MjU2LjAvKCtoW3MrOTY+PjNdK3kpKSYyNTU7cj0wO3doaWxlKDEpe2lmKChyfDApPj0oY1t2Pj4y
XXwwKSlicmVhaztuPWNbKGNbZD4+Ml18MCkrKHI8PDIpPj4yXXwwO0F0KG4sdCx1KTt3aGlsZSgx
KXtpZighbilicmVhaztlbHNlIGc9bjt3aGlsZSgxKXtpZighZyl7aT1uO2JyZWFrfWU9Y1tnPj4y
XXwwO2k9ZystNDh8MDtpZigoY1soKGUmM3wwKT09Mj9nOmkpKzQwPj4yXXwwKT09KGJ8MCkpe2U9
Y1tnKzE2Pj4yXXwwO2hbZSs1Nj4+M109ajtoW2UrNjQ+PjNdPWs7aFtlKzcyPj4zXT0wLjA7Y1tl
KzgwPj4yXT0wO2FbZSs4ND4+MF09MTthW2UrODU+PjBdPTA7YVtlKzg2Pj4wXT0wO2FbZSs4Nz4+
MF09MDthW2UrODg+PjBdPXM7YVtlKzg5Pj4wXT0wO2NbZSs5Mj4+Ml09MDtlPWNbZz4+Ml18MH1m
PWcrMTZ8MDtpZigoY1soKGUmM3wwKT09Mz9nOmcrNDh8MCkrNDA+PjJdfDApPT0oYnwwKSl7ZT1j
W2Y+PjJdfDA7aFtlKzE2Pj4zXT1qO2hbZSsyND4+M109aztoW2UrMzI+PjNdPTAuMDtjW2UrNDA+
PjJdPTA7YVtlKzQ0Pj4wXT0xO2FbZSs0NT4+MF09MDthW2UrNDY+PjBdPTA7YVtlKzQ3Pj4wXT0w
O2FbZSs0OD4+MF09czthW2UrNDk+PjBdPTA7Y1tlKzUyPj4yXT0wfWlmKChhWyhjW2Y+PjJdfDAp
KzExMj4+MF18MCkhPTEpe2c9MDtjb250aW51ZX1lPWNbKGNbKChjW2c+PjJdJjN8MCk9PTI/Zzpp
KSs0MD4+Ml18MCkrMTY+PjJdfDA7aWYoKGFbZSsxNTY+PjBdfDApIT0xKXtnPTA7Y29udGludWV9
aWYoKGNbZSsxODQ+PjJdfDApIT0xKXtnPTA7Y29udGludWV9Zz1jW2NbZSsxODA+PjJdPj4yXXww
fXdoaWxlKDEpe2lmKCFpKWJyZWFrO2U9Y1tpPj4yXXwwO2lmKChjWygoZSYzfDApPT0yP2k6aSst
NDh8MCkrNDA+PjJdfDApPT0oYnwwKSl7ZT1jW2krMTY+PjJdfDA7aFtlKzU2Pj4zXT1qO2hbZSs2
ND4+M109aztoW2UrNzI+PjNdPTAuMDtjW2UrODA+PjJdPTA7YVtlKzg0Pj4wXT0xO2FbZSs4NT4+
MF09MDthW2UrODY+PjBdPTA7YVtlKzg3Pj4wXT0wO2FbZSs4OD4+MF09czthW2UrODk+PjBdPTA7
Y1tlKzkyPj4yXT0wO2U9Y1tpPj4yXXwwfWY9aSs0OHwwO2c9aSsxNnwwO2lmKChjWygoZSYzfDAp
PT0zP2k6ZikrNDA+PjJdfDApPT0oYnwwKSl7ZT1jW2c+PjJdfDA7aFtlKzE2Pj4zXT1qO2hbZSsy
ND4+M109aztoW2UrMzI+PjNdPTAuMDtjW2UrNDA+PjJdPTA7YVtlKzQ0Pj4wXT0xO2FbZSs0NT4+
MF09MDthW2UrNDY+PjBdPTA7YVtlKzQ3Pj4wXT0wO2FbZSs0OD4+MF09czthW2UrNDk+PjBdPTA7
Y1tlKzUyPj4yXT0wfWlmKChhWyhjW2c+PjJdfDApKzExMj4+MF18MCkhPTEpe2k9MDtjb250aW51
ZX1lPWNbKGNbKChjW2k+PjJdJjN8MCk9PTM/aTpmKSs0MD4+Ml18MCkrMTY+PjJdfDA7aWYoKGFb
ZSsxNTY+PjBdfDApIT0xKXtpPTA7Y29udGludWV9aWYoKGNbZSsxNzY+PjJdfDApIT0xKXtpPTA7
Y29udGludWV9aT1jW2NbZSsxNzI+PjJdPj4yXXwwfW49Y1soY1tuKzE2Pj4yXXwwKSsxNzI+PjJd
fDB9cj1yKzF8MH1hWyhjW3c+PjJdfDApKzE0NT4+MF09MTtsPXg7cmV0dXJufWZ1bmN0aW9uIGhr
KGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MDtYZyhhKTtiPWNbYT4+Ml0mMztkPWErLTQ4fDA7ZT1h
KzQ4fDA7Yj1TZyhjWygoYnwwKT09Mj9hOmQpKzQwPj4yXXwwLGNbKChifDApPT0zP2E6ZSkrNDA+
PjJdfDApfDA7aWYoIWIpe2I9Y1thPj4yXSYzO2FoKGNbKChifDApPT0yP2E6ZCkrNDA+PjJdfDAs
Y1soKGJ8MCk9PTM/YTplKSs0MD4+Ml18MCxhKXwwfWVsc2UgaWgoYSxiKTtyZXR1cm59ZnVuY3Rp
b24gaWsoYil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MDtmPWIrMTZ8MDtlPTA7d2hpbGUoMSl7
Yj1jW2Y+PjJdfDA7aWYoKGV8MCk+PShjW2IrMjIwPj4yXXwwKSlicmVhaztkPWNbKGNbYisyMTY+
PjJdfDApKyhlPDwyKT4+Ml18MDtjW2IrMTkyPj4yXT1kO2I9ZDtkPWI7d2hpbGUoMSl7aWYoIWQp
YnJlYWs7Zz1jW2QrMTY+PjJdfDA7YVtnKzE1Nz4+MF09MDtkPWNbZysxNjQ+PjJdfDB9d2hpbGUo
MSl7aWYoIWIpYnJlYWs7amsoYik7Yj1jWyhjW2IrMTY+PjJdfDApKzE2ND4+Ml18MH1lPWUrMXww
fXJldHVybn1mdW5jdGlvbiBqayhiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wO2c9YisxNnww
O2Q9Y1tnPj4yXXwwO2I9ZCsxNTd8MDtpZighKGFbYj4+MF18MCkpe2FbYj4+MF09MTthW2QrMTU4
Pj4wXT0xO2I9MDt3aGlsZSgxKXtmPWNbKGNbZCsxODA+PjJdfDApKyhiPDwyKT4+Ml18MDtpZigh
ZilicmVhaztkPWNbKChjW2Y+PjJdJjN8MCk9PTI/ZjpmKy00OHwwKSs0MD4+Ml18MDtlPWNbZCsx
Nj4+Ml18MDtpZighKGFbZSsxNTg+PjBdfDApKXtpZighKGFbZSsxNTc+PjBdfDApKWprKGQpfWVs
c2V7aGsoZik7Yj1iKy0xfDB9Yj1iKzF8MDtkPWNbZz4+Ml18MH1hW2QrMTU4Pj4wXT0wfXJldHVy
bn1mdW5jdGlvbiBrayhhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MCxoPTA7ZT1jbyhh
KXwwO2I9MDt3aGlsZSgxKXtpZighZSlicmVhaztkPVBtKGEsZSl8MDt3aGlsZSgxKXtpZighZCli
cmVhaztnPWNbZD4+Ml0mMztoPWNbKGNbKGNbKChnfDApPT0yP2Q6ZCstNDh8MCkrNDA+PjJdfDAp
KzE2Pj4yXXwwKSsyMzI+PjJdfDA7Zz1jWyhjWyhjWygoZ3wwKT09Mz9kOmQrNDh8MCkrNDA+PjJd
fDApKzE2Pj4yXXwwKSsyMzI+PjJdfDA7Zj1oLWd8MDtkPVJtKGEsZCl8MDtiPSgoaHwwKT09KGd8
MCk/MDooKGZ8MCk+LTE/ZjowLWZ8MCkrLTF8MCkrYnwwfWU9ZW8oYSxlKXwwfXJldHVybiBifDB9
ZnVuY3Rpb24gbGsoYil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MDtlPWNvKGIpfDA7d2hpbGUo
MSl7aWYoIWUpYnJlYWs7Zz1jW2UrMTY+PjJdfDA7Zj1jW2crMTc2Pj4yXXwwO2c9ZysxNzJ8MDtk
PTA7d2hpbGUoMSl7aWYoKGR8MCk+PShmfDApKWJyZWFrO2FbKGNbKGNbKGNbZz4+Ml18MCkrKGQ8
PDIpPj4yXXwwKSsxNj4+Ml18MCkrMTEyPj4wXT0wO2Q9ZCsxfDB9ZT1lbyhiLGUpfDB9cmV0dXJu
fWZ1bmN0aW9uIG1rKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAuMCxmPTAuMCxnPTAsaT0w
LGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MDtxPWw7bD1sKzE2fDA7bz1xO2o9Y1tiKzI0Pj4y
XXwwO25rKGEpO2s9KGp8MCk9PS0xO209Yis4fDA7aT1rXjE7bj1jWzEzOTE4XXwwO2Y9MTc5NzY5
MzEzNDg2MjMxNTcwODE0NTI3NC4wZTI4NDtnPTA7d2hpbGUoMSl7aWYoIShrfChnfDApPChqfDAp
KSlicmVhaztkPWNvKGEpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7Y1soY1tkKzE2Pj4yXXwwKSsy
MzI+PjJdPTA7ZD1lbyhhLGQpfDB9amooYSk7ZT0rb2soYSk7aFttPj4zXT1lO2lmKDApe2hbbz4+
M109ZTt6TChuLDgwMzI5LG8pfDA7ZT0raFttPj4zXX1pZighKCEoZTw9K2hbYj4+M10pJighKGY8
PWUpfGkpKSl7cD05O2JyZWFrfXBrKGEpO2Y9ZTtnPWcrMXwwfWlmKChwfDApPT05KXtwPWIrMjB8
MDtjW2IrMTY+PjJdPWNbcD4+Ml07Y1twPj4yXT1nfWpqKGEpO3FrKGEpO3JrKCk7aFttPj4zXT0r
b2soYSk7bD1xO3JldHVybn1mdW5jdGlvbiBuayhhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0w
LGc9MCxpPTAsaj0wLGs9MCxsPTAuMCxtPTAuMCxuPTA7Y1s0MTkzOF09d3coKG1uKGEpfDApKjI0
fDApfDA7Y1s0MTkzN109MDtiPWNvKGEpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7Y1soY1tiKzE2
Pj4yXXwwKSsxMjA+PjJdPS0xO2I9ZW8oYSxiKXwwfWk9Y28oYSl8MDt3aGlsZSgxKXtpZighaSli
cmVhaztqPWkrMTZ8MDtkbyBpZighKGNbKGNbaj4+Ml18MCkrMjE2Pj4yXXwwKSl7Zj12dyg0KXww
O2c9Y1s0MTkzOF18MDtrPWNbNDE5MzddfDA7Y1tnKyhrKjI0fDApPj4yXT1mO2NbZj4+Ml09aTtj
W2crKGsqMjR8MCkrND4+Ml09MTtqPWNbaj4+Ml18MDtoW2crKGsqMjR8MCkrOD4+M109K2hbaisz
Mj4+M107aFtnKyhrKjI0fDApKzE2Pj4zXT0raFtqKzQwPj4zXTtjW2orMTIwPj4yXT1rO2NbNDE5
MzddPWsrMX1lbHNle2c9S0EoaSl8MDtrPWcrMTZ8MDtiPWNbaz4+Ml18MDtkPWNbYisxMjA+PjJd
fDA7aWYoKGR8MCk+LTEpe2c9Y1s0MTkzOF18MDtmPWNbZysoZCoyNHwwKT4+Ml18MDtlPWcrKGQq
MjR8MCkrNHwwO2s9Y1tlPj4yXXwwO2NbZT4+Ml09aysxO2NbZisoazw8Mik+PjJdPWk7az1jW2o+
PjJdfDA7aj1nKyhkKjI0fDApKzh8MDtoW2o+PjNdPStoW2o+PjNdKyAraFtrKzMyPj4zXTtqPWcr
KGQqMjR8MCkrMTZ8MDtsPStoW2o+PjNdO209K2hbays0MD4+M107aFtqPj4zXT1sPG0/bTpsO2Nb
aysxMjA+PjJdPWQ7YnJlYWt9ZD12dyhjW2IrMjE2Pj4yXTw8Mil8MDtlPWNbNDE5MzhdfDA7Zj1j
WzQxOTM3XXwwO2I9ZSsoZioyNHwwKXwwO2NbYj4+Ml09ZDtjW2Q+PjJdPWc7aWYoKGd8MCk9PShp
fDApKXtoW2UrKGYqMjR8MCkrOD4+M109K2hbKGNbaz4+Ml18MCkrMzI+PjNdO2Q9MTtiPWl9ZWxz
ZXtjWyhjW2I+PjJdfDApKzQ+PjJdPWk7bj1jW2s+PjJdfDA7Yj1jW2o+PjJdfDA7aFtlKyhmKjI0
fDApKzg+PjNdPStoW2IrMzI+PjNdKyAraFtuKzMyPj4zXTtkPTI7Yj0raFtuKzQwPj4zXTwraFti
KzQwPj4zXT9pOmd9Y1tlKyhmKjI0fDApKzQ+PjJdPWQ7aFtlKyhmKjI0fDApKzE2Pj4zXT0raFso
Y1tiKzE2Pj4yXXwwKSs0MD4+M107Y1soY1trPj4yXXwwKSsxMjA+PjJdPWY7Y1soY1tqPj4yXXww
KSsxMjA+PjJdPWY7Y1s0MTkzN109ZisxfXdoaWxlKDApO2k9ZW8oYSxpKXwwfXJldHVybn1mdW5j
dGlvbiBvayhhKXthPWF8MDt2YXIgYj0wLjAsZD0wLjAsZT0wLGY9MCxnPTAsaT0wLjAsaj0wLjA7
cWsoYSk7Zz1jWzQxOTM1XXwwO2U9Y1thKzE2Pj4yXXwwO2I9KyhPKGNbZSsyNTI+PjJdfDAsZyst
MXwwKXwwKTtmPWNbNDE5MzZdfDA7ZT1lKzI0OHwwO2E9MDtkPTAuMDt3aGlsZSgxKXtpZigoYXww
KT49KGd8MCkpYnJlYWs7aT0raFtmKyhhKjQwfDApKzI0Pj4zXSsgKyhPKGNbZT4+Ml18MCxjW2Yr
KGEqNDB8MCkrMTY+PjJdfDApfDApO2o9K2hbZisoYSo0MHwwKSszMj4+M10rYjthPWErMXwwO2I9
ajtkPWQ8aT9pOmR9cmV0dXJuICsoZC9iKX1mdW5jdGlvbiBwayhhKXthPWF8MDt2YXIgYj0wO2Nb
NDE5MzldPXZ3KChtbihhKXwwKTw8Mil8MDtiPTA7d2hpbGUoMSl7aWYoKGJ8MCk+PShtbihhKXww
KSlicmVhaztjWyhjWzQxOTM5XXwwKSsoYjw8Mik+PjJdPWI7Yj1iKzF8MH1xayhhKTtzayhhKTt0
ayhhKTtyZXR1cm59ZnVuY3Rpb24gcWsoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MCxnPTAs
aT0wLGo9MC4wLGs9MCxsPTA7Y1s0MTkzNV09MDtiPWNbNDE5MzZdfDA7aWYoYnwwKXtlPTA7d2hp
bGUoMSl7aWYoKGV8MCk+PShjWzQxOTM3XXwwKSlicmVhaztkPWNbYisoZSo0MHwwKSs0Pj4yXXww
O2lmKGQpe19JKGQpO2I9Y1s0MTkzNl18MH1kPWNbYisoZSo0MHwwKSs4Pj4yXXwwO2lmKGQpe19J
KGQpO2I9Y1s0MTkzNl18MH1lPWUrMXwwfV9JKGIpfWNbNDE5MzZdPXZ3KChjWzQxOTM3XXwwKSo0
MHwwKXwwO2I9MDt3aGlsZSgxKXtkPWNbNDE5MzddfDA7aWYoKGJ8MCk+PShkfDApKWJyZWFrO2s9
dncoZDw8Mil8MDtjWyhjWzQxOTM2XXwwKSsoYio0MHwwKSs0Pj4yXT1rO2s9dncoY1s0MTkzN108
PDIpfDA7bD1jWzQxOTM2XXwwO2NbbCsoYio0MHwwKSs4Pj4yXT1rO2NbbCsoYio0MHwwKT4+Ml09
YjtjW2wrKGIqNDB8MCkrMTI+PjJdPTA7Y1tsKyhiKjQwfDApKzE2Pj4yXT0wO2w9bCsoYio0MHww
KSsyNHwwO2NbbD4+Ml09MDtjW2wrND4+Ml09MDtjW2wrOD4+Ml09MDtjW2wrMTI+PjJdPTA7Yj1i
KzF8MH1lPWNvKGEpfDA7d2hpbGUoMSl7aWYoIWUpYnJlYWs7ZD1QbShhLGUpfDA7d2hpbGUoMSl7
aWYoIWQpYnJlYWs7aT1jW2Q+PjJdfDA7Zj1kKy00OHwwO2c9Y1s0MTkzNl18MDtiPWNbKGNbKGNb
KChpJjN8MCk9PTM/ZDpkKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwO3doaWxl
KDEpe2I9YisxfDA7aWYoKGJ8MCk+PShjWyhjWyhjWygoaSYzfDApPT0yP2Q6ZikrNDA+PjJdfDAp
KzE2Pj4yXXwwKSsyMzI+PjJdfDApKWJyZWFrO2k9ZysoYio0MHwwKSsxNnwwO2NbaT4+Ml09KGNb
aT4+Ml18MCkrMTtpPWNbZD4+Ml18MH1kPVJtKGEsZCl8MH1lPWVvKGEsZSl8MH1pPWNbNDE5Mzdd
fDA7az1jWzQxOTM4XXwwO2w9Y1s0MTkzNl18MDtkPWErMTZ8MDtiPTA7d2hpbGUoMSl7aWYoKGJ8
MCk+PShpfDApKWJyZWFrO2U9KGNbY1trKyhiKjI0fDApPj4yXT4+Ml18MCkrMTZ8MDtmPWNbKGNb
ZT4+Ml18MCkrMjMyPj4yXXwwO2lmKChmfDApPj0oY1s0MTkzNV18MCkpY1s0MTkzNV09ZisxO2c9
bCsoZio0MHwwKSsyNHwwO2o9K2hbZz4+M107aFtnPj4zXT1qKyAraFtrKyhiKjI0fDApKzg+PjNd
KjcyLjArKGo+MC4wPysoY1soY1tkPj4yXXwwKSsyNDg+PjJdfDApOjAuMCk7Zz1sKyhmKjQwfDAp
KzMyfDA7aj0raFtrKyhiKjI0fDApKzE2Pj4zXSo3Mi4wO2lmKCtoW2c+PjNdPGopaFtnPj4zXT1q
O2NbKGNbbCsoZio0MHwwKSs0Pj4yXXwwKSsoY1tsKyhmKjQwfDApKzEyPj4yXTw8Mik+PjJdPWsr
KGIqMjR8MCk7YT1sKygoY1soY1tlPj4yXXwwKSsyMzI+PjJdfDApKjQwfDApKzEyfDA7Y1thPj4y
XT0oY1thPj4yXXwwKSsxO2I9YisxfDB9cmV0dXJufWZ1bmN0aW9uIHJrKCl7dmFyIGE9MCxiPTAs
ZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wO2s9Y1s0MTkzNV18MDtsPWNb
NDE5MzZdfDA7aj0wO2I9MDthPTA7d2hpbGUoMSl7aWYoKGp8MCk+PShrfDApKWJyZWFrO2Q9bCso
aio0MHwwKXwwO2k9Y1tsKyhqKjQwfDApKzEyPj4yXXwwO2U9KGJ8MCk9PTA7YTpkbyBpZihpKWlm
KCFlKXtpZigoY1tkPj4yXXwwKT4oYXwwKSl7Zj1sKyhqKjQwfDApKzR8MDtkPTA7d2hpbGUoMSl7
aWYoKGR8MCk+PShpfDApKWJyZWFrIGE7Zz1jWyhjW2Y+PjJdfDApKyhkPDwyKT4+Ml18MDtoPWNb
Zys0Pj4yXXwwO2U9MDt3aGlsZSgxKXtpZigoZXwwKT49KGh8MCkpYnJlYWs7bT0oY1soY1soY1tn
Pj4yXXwwKSsoZTw8Mik+PjJdfDApKzE2Pj4yXXwwKSsyMzJ8MDtjW20+PjJdPShjW20+PjJdfDAp
LWI7ZT1lKzF8MH1kPWQrMXwwfX19ZWxzZSBiPTA7ZWxzZXtpZihlKWE9Y1tkPj4yXXwwO2I9Yisx
fDB9d2hpbGUoMCk7aj1qKzF8MH1yZXR1cm59ZnVuY3Rpb24gc2soYSl7YT1hfDA7dmFyIGI9MDti
PWNbNDE5MzldfDA7ckwoYixtbihhKXwwLDQsMTUpO3JldHVybn1mdW5jdGlvbiB0ayhiKXtiPWJ8
MDt2YXIgZD0wLjAsZT0wLGY9MCxnPTAsaT0wLGo9MCxrPTAsbD0wLG09MC4wLG49MCxvPTAscD0w
LHE9MCxyPTAuMCxzPTA7aj1jWzQxOTM1XXwwO2s9Y1s0MTkzNl18MDtnPWNbNDE5MzldfDA7aT0w
O3doaWxlKDEpe2lmKChpfDApPj0oanwwKSl7ZT0wO2Q9MC4wO2JyZWFrfWU9Y1tnKyhpPDwyKT4+
Ml18MDtmPWkrMXwwO2lmKChjW2srKGUqNDB8MCkrMTI+PjJdfDApPDIpaT1mO2Vsc2V7bD00O2Jy
ZWFrfX1pZigobHwwKT09NClpZigoanwwKT4oZnwwKSlkPStoW2srKChjW2crKGY8PDIpPj4yXXww
KSo0MHwwKSsyND4+M107ZWxzZSBkPTAuMDthOmRvIGlmKChpfDApIT0oanwwKSl7ckwoY1trKyhl
KjQwfDApKzQ+PjJdfDAsY1trKyhlKjQwfDApKzEyPj4yXXwwLDQsMTYpO2c9Y1s0MTkzNl18MDty
PStoW2crKGUqNDB8MCkrMjQ+PjNdO3I9IShkPD1yKi4yNSkmIShkPj1yKi43NSk/ZDpyKi41O3M9
Y1tnKyhlKjQwfDApKzEyPj4yXXwwO3E9YisxNnwwO249MDtvPTA7ZD0wLjA7Zj0wO3A9MDt3aGls
ZSgxKXtpZigocHwwKT49KGYrc3wwKSlicmVhayBhO2RvIGlmKCEoY1soY1tnKyhlKjQwfDApKzg+
PjJdfDApKyhwPDwyKT4+Ml18MCkpe2w9Y1soY1tnKyhlKjQwfDApKzQ+PjJdfDApKyhwPDwyKT4+
Ml18MDtiPWwrOHwwO209K2hbYj4+M10qNzIuMCtkKyhkPjAuMD8rKGNbKGNbcT4+Ml18MCkrMjQ4
Pj4yXXwwKTowLjApO2k9KG98MCkhPTA7aWYoIShpJiEobTw9cikpKXtqPWk/bjpsO2k9aT9vOjE7
ZD1tO2JyZWFrfWo9bis0fDA7az1sKzR8MDtpPTA7d2hpbGUoMSl7aWYoKGl8MCk8KGNbaj4+Ml18
MCkpZz0wO2Vsc2UgYnJlYWs7d2hpbGUoMSl7aWYoKGd8MCk+PShjW2s+PjJdfDApKWJyZWFrO2Fb
KGNbKGFoKGNbKGNbbj4+Ml18MCkrKGk8PDIpPj4yXXwwLGNbKGNbbD4+Ml18MCkrKGc8PDIpPj4y
XXwwLDApfDApKzE2Pj4yXXwwKSsxMTI+PjBdPTE7Zz1nKzF8MH1pPWkrMXwwfWc9Y1s0MTkzNl18
MDtjWyhjW2crKGUqNDB8MCkrOD4+Ml18MCkrKHA8PDIpPj4yXT0xO2o9ZysoZSo0MHwwKSsxMnww
O2Nbaj4+Ml09KGNbaj4+Ml18MCkrLTE7aj1nKyhlKjQwfDApKzE2fDA7Y1tqPj4yXT0oY1tqPj4y
XXwwKSsxO2o9ZysoZSo0MHwwKSsyNHwwO2hbaj4+M109K2hbYj4+M10qLTcyLjAtKyhjWyhjW3E+
PjJdfDApKzI0OD4+Ml18MCkrICtoW2o+PjNdO2o9bjtpPW99ZWxzZXtqPW47aT1vO2Y9ZisxfDB9
d2hpbGUoMCk7bj1qO289aTtwPXArMXwwfX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gdWsoYSxi
KXthPWF8MDtiPWJ8MDthPXZrKGNbYT4+Ml18MCl8MDtiPXZrKGNbYj4+Ml18MCl8MDtyZXR1cm4g
KChifDApPChhfDApJjEpLSgoYnwwKT4oYXwwKSYxKXwwfWZ1bmN0aW9uIHZrKGEpe2E9YXwwO3Zh
ciBiPTAsZD0wLGU9MCxmPTAsZz0wO2Y9YSs0fDA7ZD0wO2I9MDt3aGlsZSgxKXtpZigoZHwwKT49
KGNbZj4+Ml18MCkpYnJlYWs7ZT1jWyhjW2E+PjJdfDApKyhkPDwyKT4+Ml18MDtnPXJvKGUpfDA7
ZT1QbShnLGUpfDA7d2hpbGUoMSl7aWYoIWUpYnJlYWs7ZT1SbShnLGUpfDA7Yj1iKzF8MH1kPWQr
MXwwfXJldHVybiBifDB9ZnVuY3Rpb24gd2soYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLjAsZT0w
LjAsZj0wO2Y9Y1s0MTkzNl18MDtlPStoW2YrKChjW2I+PjJdfDApKjQwfDApKzI0Pj4zXTtkPSto
W2YrKChjW2E+PjJdfDApKjQwfDApKzI0Pj4zXTtyZXR1cm4gKGU+ZCYxKS0oZTxkJjEpfDB9ZnVu
Y3Rpb24geGsoYSl7YT1hfDA7dmFyIGI9MDtiPWNvKGEpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7
Y1soY1tiKzE2Pj4yXXwwKSsyMTY+PjJdPTA7Yj1lbyhhLGIpfDB9cmV0dXJufWZ1bmN0aW9uIHlr
KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MDtnPWw7bD1sKzMyfDA7Zj1nKzE2
fDA7ZT1nKzh8MDtkPWcrMjB8MDtjW2Q+PjJdPTU7YT1JbShhLDg0NjI0KXwwO2lmKGF8MD8oY1tl
Pj4yXT1nLGNbZSs0Pj4yXT1kLChjTShhLDgwMzQ0LGUpfDApPj0xKTowKV9sKDAsODAzNTEsZil8
MDtjW2IrMjQ+PjJdPTA7Y1tiKzMyPj4yXT0wO2w9ZztyZXR1cm4gMH1mdW5jdGlvbiB6ayhiKXti
PWJ8MDt2YXIgZD0wLGU9MDtkPWNbNDIyMzNdfDA7aWYoKCgoZHwwKSE9MD8oZT1KbShiLGQpfDAs
KGV8MCkhPTApOjApPyhhW2U+PjBdfDApIT0wOjApPyhJQShlKXwwKTw8MjQ+PjI0PT0wOjApYj0x
O2Vsc2UgYj0wO3JldHVybiBifDB9ZnVuY3Rpb24gQWsoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0w
LGY9MCxnPTAsaD0wLGk9MDtWayhhKTtiPWNvKGEpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7ZD1Q
bShhLGIpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7ZG8gaWYoKChjWyhjW2QrMTY+PjJdfDApKzE3
Mj4+Ml18MCk9PTA/KHprKGQpfDApPT0wOjApPyhlPWQrNDh8MCxmPUtBKGNbKChjW2Q+PjJdJjN8
MCk9PTM/ZDplKSs0MD4+Ml18MCl8MCxnPWQrLTQ4fDAsaD1LQShjWygoY1tkPj4yXSYzfDApPT0y
P2Q6ZykrNDA+PjJdfDApfDAsKGZ8MCkhPShofDApKTowKXtpZigoY1soY1tmKzE2Pj4yXXwwKSsy
MTI+PjJdfDApPT0wPyhjWyhjW2grMTY+PjJdfDApKzIxMj4+Ml18MCk9PTA6MCl7aT1TZyhmLGgp
fDA7aWYoIWkpe2FoKGYsaCxkKXwwO2JyZWFrfWVsc2V7aWgoZCxpKTticmVha319aT1jW2Q+PjJd
JjM7QmsoYSxjWygoaXwwKT09Mz9kOmUpKzQwPj4yXXwwLGNbKChpfDApPT0yP2Q6ZykrNDA+PjJd
fDAsZCl9d2hpbGUoMCk7ZD1SbShhLGQpfDB9Yj1lbyhhLGIpfDB9cmV0dXJufWZ1bmN0aW9uIEJr
KGIsZCxmLGcpe2I9YnwwO2Q9ZHwwO2Y9ZnwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MCxrPTA7aj1j
W2c+PjJdJjM7aD1jWyhjWygoanwwKT09Mz9nOmcrNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwO2k9
Y1toKzIxMj4+Ml18MDtpZighaSlrPTA7ZWxzZSBrPShjW2grMjMyPj4yXXwwKS0oY1soY1soY1so
Y1tpKzE2Pj4yXXwwKSsyNjQ+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApfDA7aD1jWyhjWygo
anwwKT09Mj9nOmcrLTQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MDtpPWNbaCsyMTI+PjJdfDA7aWYo
IWkpaD0wO2Vsc2UgaD0oY1soY1soY1soY1tpKzE2Pj4yXXwwKSsyNjQ+PjJdfDApKzE2Pj4yXXww
KSsyMzI+PjJdfDApLShjW2grMjMyPj4yXXwwKXwwO2o9ZysxNnwwO2s9aCtrKyhlWyhjW2o+PjJd
fDApKzE3MD4+MV18MCl8MDtiPWZoKGIpfDA7YVsoY1tiKzE2Pj4yXXwwKSsxNTY+PjBdPTI7aT1L
QShkKXwwO2Q9S0EoZil8MDtmPU1pKGIsaSwoa3wwKT4wPzAuMDorKDAta3wwKSwoY1soY1tqPj4y
XXwwKSsxNTY+PjJdfDApKjEwfDApfDA7Y1soY1soTWkoYixkLCsoKChrfDApPjA/azowKXwwKSxj
WyhjW2o+PjJdfDApKzE1Nj4+Ml18MCl8MCkrMTY+PjJdfDApKzExNj4+Ml09ZztjWyhjW2YrMTY+
PjJdfDApKzExNj4+Ml09ZztyZXR1cm59ZnVuY3Rpb24gQ2soYSxkLGYsZyl7YT1hfDA7ZD1kfDA7
Zj1mfDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0wLGs9MDtqPWNbZD4+Ml0mMztpPShqfDApPT0zP2Q6
ZCs0OHwwO2o9KGp8MCk9PTI/ZDpkKy00OHwwO2o9Y1soY1soY1soKGNbKGNbKGNbaSs0MD4+Ml18
MCkrMTY+PjJdfDApKzIzMj4+Ml18MCk+KGNbKGNbKGNbais0MD4+Ml18MCkrMTY+PjJdfDApKzIz
Mj4+Ml18MCk/aTpqKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MDtpPWQrMTZ8MDtkPShj
W2k+PjJdfDApKzE3MnwwO2lmKGNbZD4+Ml18MCltYSg4MDQ0MCw4MDQ2MiwxNDgsODA0NzEpO2Nb
ZD4+Ml09ZjtoPShnfDApPT0wO2Rve2Q9Y1tpPj4yXXwwO2lmKGgpZz1jW2YrMTY+PjJdfDA7ZWxz
ZXtnPWNbZisxNj4+Ml18MDtrPWcrMTY4fDA7YltrPj4xXT0oZVtrPj4xXXwwKSsoZVtkKzE2OD4+
MV18MCl9az1nKzE1NHwwO2Jbaz4+MV09KGVbaz4+MV18MCkrKGVbZCsxNTQ+PjFdfDApO2c9Zysx
NTZ8MDtjW2c+PjJdPShjW2c+PjJdfDApKyhjW2QrMTU2Pj4yXXwwKTtkPWYrLTQ4fDA7Zz1jWygo
Y1tmPj4yXSYzfDApPT0yP2Y6ZCkrNDA+PjJdfDA7aWYoKGNbKGNbZysxNj4+Ml18MCkrMjMyPj4y
XXwwKT09KGp8MCkpYnJlYWs7RGsoYSxnKTtmPWNbY1soY1soY1soKGNbZj4+Ml0mM3wwKT09Mj9m
OmQpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTgwPj4yXT4+Ml18MH13aGlsZSgoZnwwKSE9MCk7cmV0
dXJufWZ1bmN0aW9uIERrKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MC4wO2Q9KygoY1soY1thKzE2
Pj4yXXwwKSsyNDg+PjJdfDApLzJ8MHwwKTtiPWNbYisxNj4+Ml18MDthPWIrODh8MDtoW2E+PjNd
PStoW2E+PjNdK2Q7Yj1iKzk2fDA7aFtiPj4zXT0raFtiPj4zXStkO3JldHVybn1mdW5jdGlvbiBF
ayhhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wO2lmKCgoKChhfDApIT0wJihifDApIT0wPyhl
PWNbYT4+Ml0mMyxkPWNbYj4+Ml0mMywoY1soKGV8MCk9PTM/YTphKzQ4fDApKzQwPj4yXXwwKT09
KGNbKChkfDApPT0zP2I6Yis0OHwwKSs0MD4+Ml18MCkpOjApPyhjWygoZXwwKT09Mj9hOmErLTQ4
fDApKzQwPj4yXXwwKT09KGNbKChkfDApPT0yP2I6YistNDh8MCkrNDA+PjJdfDApOjApPyhjWyhj
W2ErMTY+PjJdfDApKzk2Pj4yXXwwKT09KGNbKGNbYisxNj4+Ml18MCkrOTY+PjJdfDApOjApPyho
aihhLGIpfDApIT0wOjApYT0xO2Vsc2UgYT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gRmsoYil7Yj1i
fDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9
MCxxPTAscj0wO3I9YisxNnwwO2Q9Y1tyPj4yXXwwO2NbZCsxOTI+PjJdPTA7Y1tkKzIzMj4+Ml09
MDtWayhiKTtkPTE7d2hpbGUoMSl7ZT1jW3I+PjJdfDA7aWYoKGR8MCk+KGNbZSsxODA+PjJdfDAp
KWJyZWFrO1drKGIsY1soY1tlKzE4ND4+Ml18MCkrKGQ8PDIpPj4yXXwwKTtkPWQrMXwwfWg9Y28o
Yil8MDt3aGlsZSgxKXtpZighaClicmVhaztnPVBtKGIsaCl8MDt3aGlsZSgxKXtpZighZylicmVh
aztkPWNbZz4+Ml18MDtlPShjWyhjWygoZCYzfDApPT0yP2c6ZystNDh8MCkrNDA+PjJdfDApKzE2
Pj4yXXwwKSsxNjB8MDtmPWFbZT4+MF18MDtpZihmPDwyND4+MjQ8Myl7YVtlPj4wXT1mKzE8PDI0
Pj4yNDtkPWNbZz4+Ml18MH1kPShjWyhjWygoZCYzfDApPT0zP2c6Zys0OHwwKSs0MD4+Ml18MCkr
MTY+PjJdfDApKzE2MHwwO2U9YVtkPj4wXXwwO2lmKGU8PDI0Pj4yNDwzKWFbZD4+MF09ZSsxPDwy
ND4+MjQ7Zz1SbShiLGcpfDB9aD1lbyhiLGgpfDB9bT1jbyhiKXwwO3doaWxlKDEpe2lmKCFtKWJy
ZWFrO2lmKChjWyhjW20rMTY+PjJdfDApKzIxMj4+Ml18MCk9PTA/KG18MCk9PShLQShtKXwwKTow
KXtiaChiLG0pO2w9KGNbcj4+Ml18MCkrMjMyfDA7Y1tsPj4yXT0oY1tsPj4yXXwwKSsxfWQ9MDts
PVBtKGIsbSl8MDt3aGlsZSgxKXtpZighbClicmVhaztrPWwrMTZ8MDtoPWNbaz4+Ml18MDthOmRv
IGlmKCEoY1toKzE3Mj4+Ml18MCkpe2lmKEdrKGwpfDApe2lmKCEoRWsoZCxsKXwwKSl7SGsoYixs
KTtkPWw7YnJlYWt9ZT1jWyhjW2QrMTY+PjJdfDApKzE3Mj4+Ml18MDtpZihlfDApe0NrKGIsbCxl
LDApO1lnKGwpO2JyZWFrfWs9Y1tsPj4yXSYzO2lmKChjWyhjWyhjWygoa3wwKT09Mz9sOmwrNDh8
MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJdfDApIT0oY1soY1soY1soKGt8MCk9PTI/bDps
Ky00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCkpYnJlYWs7aWgobCxkKTtZZyhs
KTticmVha31pZihkKXtpPWNbbD4+Ml0mMztlPWwrNDh8MDtmPWNbKChpfDApPT0zP2w6ZSkrNDA+
PjJdfDA7Zz1jW2Q+PjJdJjM7aWYoKGZ8MCk9PShjWygoZ3wwKT09Mz9kOmQrNDh8MCkrNDA+PjJd
fDApPyhuPWNbKChpfDApPT0yP2w6bCstNDh8MCkrNDA+PjJdfDAsKG58MCk9PShjWygoZ3wwKT09
Mj9kOmQrLTQ4fDApKzQwPj4yXXwwKSk6MCl7aWYoKGNbKGNbZisxNj4+Ml18MCkrMjMyPj4yXXww
KT09KGNbKGNbbisxNj4+Ml18MCkrMjMyPj4yXXwwKSl7aWgobCxkKTtZZyhsKTticmVha31pZigo
KGNbaCs5Nj4+Ml18MCk9PTA/KG89ZCsxNnwwLChjWyhjW28+PjJdfDApKzk2Pj4yXXwwKT09MCk6
MCk/KGhqKGwsZCl8MCkhPTA6MClpZighKGFbMTc0MDc2XXwwKSl7Q2soYixsLGNbKGNbbz4+Ml18
MCkrMTcyPj4yXXwwLDEpO1lnKGwpO2JyZWFrfWVsc2V7YVsoY1trPj4yXXwwKSsxMTI+PjBdPTY7
YnJlYWt9ZWxzZSBpPWV9ZWxzZSBpPWV9ZWxzZSBpPWwrNDh8MDtoPWNbbD4+Ml0mMztlPWNbKCho
fDApPT0zP2w6aSkrNDA+PjJdfDA7aj1sKy00OHwwO2lmKChlfDApPT0oY1soKGh8MCk9PTI/bDpq
KSs0MD4+Ml18MCkpe1lnKGwpO2Q9bDticmVha31lPUtBKGUpfDA7Zj1LQShjWygoY1tsPj4yXSYz
fDApPT0yP2w6aikrNDA+PjJdfDApfDA7aD1jW2w+PjJdJjM7aWYoKGNbKChofDApPT0zP2w6aSkr
NDA+PjJdfDApPT0oZXwwKT8oY1soKGh8MCk9PTI/bDpqKSs0MD4+Ml18MCk9PShmfDApOjApe2c9
Y1soY1tlKzE2Pj4yXXwwKSsyMzI+PjJdfDA7aD1jWyhjW2YrMTY+PjJdfDApKzIzMj4+Ml18MDtp
ZigoZ3wwKT09KGh8MCkpe2doKGIsbCk7ZD1sO2JyZWFrfWlmKChofDApPihnfDApKXtJayhiLGUs
ZixsKTtkPWw7YnJlYWt9ZT1hbihiLGYsZSwwLDApfDA7ZG8gaWYoZXwwPyhwPWNbZT4+Ml0mMyxx
PWNbKChwfDApPT0yP2U6ZSstNDh8MCkrNDA+PjJdfDAsKHF8MCkhPShjWygoY1tsPj4yXSYzfDAp
PT0yP2w6aikrNDA+PjJdfDApKTowKXtmPWUrMTZ8MDtpZighKGNbKGNbZj4+Ml18MCkrMTcyPj4y
XXwwKSlJayhiLGNbKChwfDApPT0zP2U6ZSs0OHwwKSs0MD4+Ml18MCxxLGUpO2lmKChjWyhjW2s+
PjJdfDApKzk2Pj4yXXwwKT09MD8oY1soY1tmPj4yXXwwKSs5Nj4+Ml18MCk9PTA6MCl7aWYoISho
aihsLGUpfDApKWJyZWFrO2lmKCEoYVsxNzQwNzZdfDApKXtZZyhsKTtDayhiLGwsY1soY1tmPj4y
XXwwKSsxNzI+PjJdfDAsMSk7YnJlYWsgYX1lbHNle2FbKGNbaz4+Ml18MCkrMTEyPj4wXT02O2Fb
KGNbZj4+Ml18MCkrMTUzPj4wXT0xO2JyZWFrIGF9fX13aGlsZSgwKTtkPWNbbD4+Ml0mMztJayhi
LGNbKChkfDApPT0yP2w6aikrNDA+PjJdfDAsY1soKGR8MCk9PTM/bDppKSs0MD4+Ml18MCxsKTtk
PWx9fWVsc2UgZD1sO3doaWxlKDApO2w9Um0oYixsKXwwfW09ZW8oYixtKXwwfWlmKChWZihiKXww
KSE9KGJ8MCkpe2Q9Y1soY1tyPj4yXXwwKSsyMTY+PjJdfDA7aWYoIWQpZD13dyg0KXwwO2Vsc2Ug
ZD15dyhkLDQpfDA7cj1jW3I+PjJdfDA7Y1tyKzIxNj4+Ml09ZDtjW2Q+PjJdPWNbcisxOTI+PjJd
fXJldHVybn1mdW5jdGlvbiBHayhiKXtiPWJ8MDt2YXIgZD0wO2Q9Y1tiPj4yXSYzO2lmKChhWyhj
WyhjWygoZHwwKT09Mz9iOmIrNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsxNTk+PjBdfDApPT03
KWI9MTtlbHNlIGI9KGFbKGNbKGNbKChkfDApPT0yP2I6YistNDh8MCkrNDA+PjJdfDApKzE2Pj4y
XXwwKSsxNTk+PjBdfDApPT03JjE7cmV0dXJuIGJ8MH1mdW5jdGlvbiBIayhiLGQpe2I9YnwwO2Q9
ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wO2Y9TGsoY1soKGNbZD4+Ml0mM3wwKT09Mz9kOmQr
NDh8MCkrNDA+PjJdfDApfDA7Zz1MayhjWygoY1tkPj4yXSYzfDApPT0yP2Q6ZCstNDh8MCkrNDA+
PjJdfDApfDA7aT0oY1soY1tmKzE2Pj4yXXwwKSsyMzI+PjJdfDApPihjWyhjW2crMTY+PjJdfDAp
KzIzMj4+Ml18MCk7ZT1pP2Y6ZztmPWk/ZzpmO2c9ZisxNnwwO2k9ZSsxNnwwO2E6ZG8gaWYoKGNb
KGNbZz4+Ml18MCkrMjEyPj4yXXwwKSE9KGNbKGNbaT4+Ml18MCkrMjEyPj4yXXwwKSl7aD1TZyhm
LGUpfDA7aWYoaHwwKXtDayhiLGQsaCwxKTticmVha31pZigoY1soY1tnPj4yXXwwKSsyMzI+PjJd
fDApIT0oY1soY1tpPj4yXXwwKSsyMzI+PjJdfDApKXtJayhiLGYsZSxkKTtlPShjW2QrMTY+PjJd
fDApKzE3MnwwO3doaWxlKDEpe2U9Y1tlPj4yXXwwO2lmKCFlKWJyZWFrIGE7Zj1lKy00OHwwO2lm
KChjWyhjWyhjWygoY1tlPj4yXSYzfDApPT0yP2U6ZikrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+
PjJdfDApPihjWyhjW2k+PjJdfDApKzIzMj4+Ml18MCkpYnJlYWsgYTthWyhjW2UrMTY+PjJdfDAp
KzExMj4+MF09NTtlPWNbKGNbKGNbKChjW2U+PjJdJjN8MCk9PTI/ZTpmKSs0MD4+Ml18MCkrMTY+
PjJdfDApKzE4MD4+Ml18MH19fXdoaWxlKDApO3JldHVybn1mdW5jdGlvbiBJayhhLGIsZCxlKXth
PWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7az1lKzE2
fDA7Zj1jW2s+PjJdfDA7aWYoIShjW2YrOTY+PjJdfDApKWo9LTE7ZWxzZSBqPSgoY1soY1tkKzE2
Pj4yXXwwKSsyMzI+PjJdfDApKyhjWyhjW2IrMTY+PjJdfDApKzIzMj4+Ml18MCl8MCkvMnwwO2lm
KGNbZisxNzI+PjJdfDApbWEoODA0ODMsODA0NjIsODksODA1MDgpO2k9ZCsxNnwwO2g9Y1soY1ti
KzE2Pj4yXXwwKSsyMzI+PjJdfDA7d2hpbGUoMSl7Zz1oKzF8MDtmPWNbKGNbaT4+Ml18MCkrMjMy
Pj4yXXwwO2lmKChofDApPj0oZnwwKSlicmVhaztpZigoZ3wwKTwoZnwwKSl7aWYoKGd8MCk9PShq
fDApKWY9SmsoYSxlKXwwO2Vsc2UgZj1LayhhKXwwO2NbKGNbZisxNj4+Ml18MCkrMjMyPj4yXT1n
fWVsc2UgZj1kO3ZpKGFoKGIsZixlKXwwKTtoPWc7Yj1mfWlmKCEoY1soY1trPj4yXXwwKSsxNzI+
PjJdfDApKW1hKDgwNTE5LDgwNDYyLDEwMyw4MDUwOCk7ZWxzZSByZXR1cm59ZnVuY3Rpb24gSmso
YixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLjAsZj0wLjAsZz0wLGk9MCxqPTAuMDtpPWQrMTZ8MDtn
PWNbKGNbaT4+Ml18MCkrOTY+PjJdfDA7ZT0raFtnKzI0Pj4zXTtmPStoW2crMzI+PjNdO2c9Zmgo
Yil8MDtkPWcrMTZ8MDtjWyhjW2Q+PjJdfDApKzEwND4+Ml09Y1soY1tpPj4yXXwwKSs5Nj4+Ml07
aj0rKGNbKGNbKHNvKGcpfDApKzE2Pj4yXXwwKSsyNDg+PjJdfDApO2hbKGNbZD4+Ml18MCkrODg+
PjNdPWo7aWYoIShhWyhjW2k+PjJdfDApKzExND4+MF18MCkpe2I9KGNbKGNbKHNvKGIpfDApKzE2
Pj4yXXwwKSsxMTY+PjJdJjF8MCk9PTA7aT1jW2Q+PjJdfDA7aFtpKzgwPj4zXT1iP2Y6ZTtoW2kr
OTY+PjNdPWI/ZTpmfXJldHVybiBnfDB9ZnVuY3Rpb24gS2soYSl7YT1hfDA7dmFyIGI9MDtiPWZo
KGEpfDA7RGsoYSxiKTtyZXR1cm4gYnwwfWZ1bmN0aW9uIExrKGIpe2I9YnwwO3ZhciBkPTA7ZD1j
W2IrMTY+PjJdfDA7aWYoKGFbZCsxNTk+PjBdfDApPT03KWI9Y1soY1soY1soY1tkKzIxMj4+Ml18
MCkrMTY+PjJdfDApKzI2OD4+Ml18MCkrKGNbZCsyMzI+PjJdPDwyKT4+Ml18MDtlbHNlIGI9S0Eo
Yil8MDtyZXR1cm4gYnwwfWZ1bmN0aW9uIE1rKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTAs
Zz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wO2o9VmYoYSl8MDtoPWNvKGEpfDA7d2hpbGUoMSl7
aWYoIWgpYnJlYWs7Yj1VbShqLGgpfDA7aT0wO3doaWxlKDEpe2lmKCFiKWJyZWFrO2w9Vm0oaixi
LGgpfDA7aWYoQm8oYSxiKXwwKXtrPWk7Yj1sO2k9aztjb250aW51ZX1rPShjW2I+PjJdJjN8MCk9
PTI/YjpiKy00OHwwO209KEVrKGksayl8MCk9PTA7ZT1jW2s+PjJdJjM7Yj1jWygoZXwwKT09Mz9r
OmsrNDh8MCkrNDA+PjJdfDA7ZD1jWyhjW2IrMTY+PjJdfDApKzIzMj4+Ml18MDtlPWNbKChlfDAp
PT0yP2s6aystNDh8MCkrNDA+PjJdfDA7Zj1jWyhjW2UrMTY+PjJdfDApKzIzMj4+Ml18MDtnPShk
fDApPT0oZnwwKTtpZighbSl7Y1soY1trKzE2Pj4yXXwwKSsxNzI+PjJdPWc/aTowO2I9Y1soY1tp
KzE2Pj4yXXwwKSsxNzI+PjJdfDA7aWYoIWIpe209aTtiPWw7aT1tO2NvbnRpbnVlfUNrKGEsayxi
LDApO1pnKGspO209aTtiPWw7aT1tO2NvbnRpbnVlfWlmKCFnKWlmKChmfDApPihkfDApKXtOayhi
LGUsayk7Yj1sO2k9aztjb250aW51ZX1lbHNle05rKGUsYixrKTtiPWw7aT1rO2NvbnRpbnVlfWI9
VWcoYixlKXwwO2lmKCFiKXtnaChqLGspO2I9bDtpPWs7Y29udGludWV9aWYoKGt8MCk9PShifDAp
KXttPWk7Yj1sO2k9bTtjb250aW51ZX1aZyhrKTtpZihjWyhjW2srMTY+PjJdfDApKzE3Mj4+Ml18
MCl7bT1pO2I9bDtpPW07Y29udGludWV9aWgoayxiKTttPWk7Yj1sO2k9bX1oPWVvKGEsaCl8MH1y
ZXR1cm59ZnVuY3Rpb24gTmsoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wO2Y9
T2soYSl8MDtlPU9rKGIpfDA7UGsoZixlLGQsY1soY1tkKzE2Pj4yXXwwKSsxNzI+PjJdfDAsKGZ8
MCk9PShhfDApJihlfDApPT0oYnwwKT8xOjUpO3JldHVybn1mdW5jdGlvbiBPayhiKXtiPWJ8MDt2
YXIgZD0wLGU9MCxmPTA7ZD1jW2IrMTY+PjJdfDA7ZT1jW2QrMjEyPj4yXXwwO2lmKChlfDApIT0w
PyhmPWNbZSsxNj4+Ml18MCwoYVtmKzI3Mj4+MF18MCk9PTApOjApYj1jWyhjW2YrMjY4Pj4yXXww
KSsoY1tkKzIzMj4+Ml08PDIpPj4yXXwwO3JldHVybiBifDB9ZnVuY3Rpb24gUGsoZCxlLGYsZyxo
KXtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaT0wLGo9MCxrPTAsbD0wLG09MCxu
PTAsbz0wO249ZCsxNnwwO2s9Y1soY1tuPj4yXXwwKSsyMzI+PjJdfDA7bz1lKzE2fDA7aT1jWyhj
W28+PjJdfDApKzIzMj4+Ml18MDtpZigoaXwwKTw9KGt8MCkpbWEoODA1NDQsODA1NzIsODEsODA1
ODIpO209Y1tnPj4yXSYzO2lmKCEoKGNbKChtfDApPT0zP2c6Zys0OHwwKSs0MD4+Ml18MCk9PShk
fDApPyhjWygobXwwKT09Mj9nOmcrLTQ4fDApKzQwPj4yXXwwKT09KGV8MCk6MCkpbD01O2E6ZG8g
aWYoKGx8MCk9PTUpe2lmKChiWyhjW2crMTY+PjJdfDApKzE2OD4+MV18MCk+MSl7Y1soY1tmKzE2
Pj4yXXwwKSsxNzI+PjJdPTA7aWYoKChpLWt8MCk9PTE/KGo9U2coZCxlKXwwLGp8MCk6MCk/aGoo
ZixqKXwwOjApe2loKGYsaik7aWYoYVsoY1tuPj4yXXwwKSsxNTY+PjBdfDApYnJlYWs7aWYoYVso
Y1tvPj4yXXwwKSsxNTY+PjBdfDApYnJlYWs7WWcoZik7YnJlYWt9bT1oJjI1NTtoPWQ7bD1jWyhj
W24+PjJdfDApKzIzMj4+Ml18MDt3aGlsZSgxKXtpPWNbKGNbbz4+Ml18MCkrMjMyPj4yXXwwO2lm
KChsfDApPj0oaXwwKSlicmVhayBhO2lmKChsfDApPChpKy0xfDApKXtpPVZmKGQpfDA7aj1nKy00
OHwwO2k9UWsoaSxjWygoY1tnPj4yXSYzfDApPT0yP2c6aikrNDA+PjJdfDApfDA7az1nfWVsc2V7
aT1lO2o9ZystNDh8MDtrPWd9YVsoY1soYWgoaCxpLGYpfDApKzE2Pj4yXXwwKSsxMTI+PjBdPW07
bj0oY1tnKzE2Pj4yXXwwKSsxNjh8MDtiW24+PjFdPShiW24+PjFdfDApKy0xPDwxNj4+MTY7aD1p
O2w9bCsxfDA7Zz1jW2NbKGNbKGNbKChjW2s+PjJdJjN8MCk9PTI/ZzpqKSs0MD4+Ml18MCkrMTY+
PjJdfDApKzE4MD4+Ml0+PjJdfDB9fWRvIGlmKChpLWt8MCk9PTEpe2c9U2coZCxlKXwwO2lmKGd8
MD9oaihmLGcpfDA6MCl7Y1soY1tmKzE2Pj4yXXwwKSsxNzI+PjJdPWc7bT1jW2crMTY+PjJdfDA7
YVttKzExMj4+MF09aDttPW0rMTY4fDA7YlttPj4xXT0oYlttPj4xXXwwKSsxPDwxNj4+MTY7aWYo
YVsoY1tuPj4yXXwwKSsxNTY+PjBdfDApYnJlYWs7aWYoYVsoY1tvPj4yXXwwKSsxNTY+PjBdfDAp
YnJlYWs7WWcoZik7YnJlYWt9Y1soY1tmKzE2Pj4yXXwwKSsxNzI+PjJdPTA7Zz1haChkLGUsZil8
MDthWyhjW2crMTY+PjJdfDApKzExMj4+MF09aH13aGlsZSgwKTtpPWNbKGNbbz4+Ml18MCkrMjMy
Pj4yXXwwO2lmKChpLShjWyhjW24+PjJdfDApKzIzMj4+Ml18MCl8MCk+MSl7aWYoKGNbKChjW2c+
PjJdJjN8MCk9PTM/ZzpnKzQ4fDApKzQwPj4yXXwwKT09KGR8MCkpbD1pO2Vsc2V7bj1mKzE2fDA7
Y1soY1tuPj4yXXwwKSsxNzI+PjJdPTA7bD1haChkLGNbKChjW2c+PjJdJjN8MCk9PTI/ZzpnKy00
OHwwKSs0MD4+Ml18MCxmKXwwO2NbKGNbbj4+Ml18MCkrMTcyPj4yXT1sO1hnKGcpO2c9bDtsPWNb
KGNbbz4+Ml18MCkrMjMyPj4yXXwwfXdoaWxlKDEpe2k9Y1tnPj4yXSYzO2o9Y1soKGl8MCk9PTI/
ZzpnKy00OHwwKSs0MD4+Ml18MDtrPWNbaisxNj4+Ml18MDtpZigoY1trKzIzMj4+Ml18MCk9PShs
fDApKWJyZWFrO2c9Y1tjW2srMTgwPj4yXT4+Ml18MH1pZigoanwwKSE9KGV8MCkpe2FbKGNbKGFo
KGNbKChpfDApPT0zP2c6Zys0OHwwKSs0MD4+Ml18MCxlLGYpfDApKzE2Pj4yXXwwKSsxMTI+PjBd
PWg7WGcoZyl9fX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gUWsoYSxiKXthPWF8MDtiPWJ8MDt2
YXIgZD0wLGU9MCxmPTA7ZD1iKzE2fDA7Yj1jW2Q+PjJdfDA7ZT1jW2IrMjMyPj4yXXwwO1JrKGEs
ZSxjW2IrMjM2Pj4yXXwwLDIpO2I9ZmgoYSl8MDtkPWNbZD4+Ml18MDtmPWNbYisxNj4+Ml18MDto
W2YrODg+PjNdPStoW2QrODg+PjNdO2hbZis5Nj4+M109K2hbZCs5Nj4+M107Y1tmKzIzMj4+Ml09
Y1tkKzIzMj4+Ml07ZD0oY1tkKzIzNj4+Ml18MCkrMXwwO2NbZisyMzY+PjJdPWQ7Y1soY1soY1so
Y1thKzE2Pj4yXXwwKSsxOTY+PjJdfDApKyhlPDw2KSs0Pj4yXXwwKSsoZDw8Mik+PjJdPWI7cmV0
dXJuIGJ8MH1mdW5jdGlvbiBSayhhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIg
Zj0wLGc9MCxoPTAsaT0wLGo9MDtoPWErMTZ8MDtmPWNbKGNbaD4+Ml18MCkrMTk2Pj4yXXwwO2k9
Y1tmKyhiPDw2KSs0Pj4yXXwwO2E6ZG8gaWYoKGV8MCk8MSl7ZD1kLWV8MDt3aGlsZSgxKXtnPWQr
MXwwO2E9Y1tmKyhiPDw2KT4+Ml18MDtpZigoZ3wwKT49KGF8MCkpYnJlYWs7YT1jW2krKGc8PDIp
Pj4yXXwwO2Y9ZCtlfDA7Y1soY1thKzE2Pj4yXXwwKSsyMzY+PjJdPWY7Y1tpKyhmPDwyKT4+Ml09
YTtkPWc7Zj1jWyhjW2g+PjJdfDApKzE5Nj4+Ml18MH1nPWUrLTF8MDtkPWcrYXwwO3doaWxlKDEp
e2lmKChkfDApPj0oYXwwKSlicmVhayBhO2NbaSsoZDw8Mik+PjJdPTA7Zj1jWyhjW2g+PjJdfDAp
KzE5Nj4+Ml18MDtkPWQrMXwwO2E9Y1tmKyhiPDw2KT4+Ml18MH19ZWxzZXtnPWUrLTF8MDthPWNb
ZisoYjw8Nik+PjJdfDA7d2hpbGUoMSl7YT1hKy0xfDA7aWYoKGF8MCk8PShkfDApKWJyZWFrO2o9
Y1tpKyhhPDwyKT4+Ml18MDtmPWcrYXwwO2NbKGNbaisxNj4+Ml18MCkrMjM2Pj4yXT1mO2NbaSso
Zjw8Mik+PjJdPWp9Zj1lK2R8MDthPWQ7d2hpbGUoMSl7YT1hKzF8MDtpZigoYXwwKT49KGZ8MCkp
YnJlYWs7Y1tpKyhhPDwyKT4+Ml09MH1hPWNbKGNbaD4+Ml18MCkrMTk2Pj4yXXwwO2Y9YTthPWNb
YSsoYjw8Nik+PjJdfDB9d2hpbGUoMCk7Y1tmKyhiPDw2KT4+Ml09ZythO3JldHVybn1mdW5jdGlv
biBTayhhKXthPWF8MDt2YXIgYj0wO0ZrKGEpO2I9Y1thKzE2Pj4yXXwwO2NbYisyMjA+PjJdPTE7
Y1tjW2IrMjE2Pj4yXT4+Ml09Y1tiKzE5Mj4+Ml07c2koYSk7WmgoYSwwKTtUayhhKTtNayhhKTtV
ayhhKTtyZXR1cm59ZnVuY3Rpb24gVGsoZCl7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTAs
aj0wLGs9MCxsPTAsbT0wO2s9VmYoZCl8MDtsPWQrMTZ8MDtmPWNbbD4+Ml18MDtqPWJbZisyMzY+
PjFdfDA7ZT1qPDwxNj4+MTY7bT1rKzE2fDA7aWYoajw8MTY+PjE2PjApYVsoY1soY1ttPj4yXXww
KSsxOTY+PjJdfDApKyhlKy0xPDw2KSs0OT4+MF09MDtqPWU7d2hpbGUoMSl7aWYoKGp8MCk+KGJb
ZisyMzg+PjFdfDApKWJyZWFrO2k9Y1soY1soY1soY1tmKzI2OD4+Ml18MCkrKGo8PDIpPj4yXXww
KSsxNj4+Ml18MCkrMjM2Pj4yXXwwO1JrKGssaixpLGNbKGNbZisxOTY+PjJdfDApKyhqPDw2KT4+
Ml18MCk7Zz0wO2g9aTt3aGlsZSgxKXtmPWNbbD4+Ml18MDtlPWNbZisxOTY+PjJdfDA7aWYoKGd8
MCk+PShjW2UrKGo8PDYpPj4yXXwwKSlicmVhaztlPWNbKGNbZSsoajw8NikrND4+Ml18MCkrKGc8
PDIpPj4yXXwwO2NbKGNbKGNbKGNbbT4+Ml18MCkrMTk2Pj4yXXwwKSsoajw8NikrND4+Ml18MCkr
KGg8PDIpPj4yXT1lO2Y9Y1tlKzE2Pj4yXXwwO2NbZisyMzY+PjJdPWg7aWYoKGFbZisxNTY+PjBd
fDApPT0xKWNbZSsyND4+Ml09c28oayl8MDtkaChkLGUpO2JoKGssZSk7Zj0oY1ttPj4yXXwwKSsy
MzJ8MDtjW2Y+PjJdPShjW2Y+PjJdfDApKzE7Zz1nKzF8MDtoPWgrMXwwfWg9Y1soY1ttPj4yXXww
KSsxOTY+PjJdfDA7Y1tlKyhqPDw2KSs0Pj4yXT0oY1toKyhqPDw2KSs0Pj4yXXwwKSsoaTw8Mik7
YVtoKyhqPDw2KSs0OT4+MF09MDtqPWorMXwwfWU9Y1ttPj4yXXwwO2lmKChqfDApPChiW2UrMjM4
Pj4xXXwwKSlhWyhjW2UrMTk2Pj4yXXwwKSsoajw8NikrNDk+PjBdPTA7YVtmKzI3Mj4+MF09MTty
ZXR1cm59ZnVuY3Rpb24gVWsoYSl7YT1hfDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wO2k9
YSsxNnwwO2Q9Y1tpPj4yXXwwO2g9YltkKzIzNj4+MV18MDt3aGlsZSgxKXtpZigoaHwwKT4oYltk
KzIzOD4+MV18MCkpYnJlYWs7Zj1jWyhjW2QrMjY4Pj4yXXwwKSsoaDw8Mik+PjJdfDA7Zz1mKzE2
fDA7d2hpbGUoMSl7ZD1jW2c+PjJdfDA7ZT1jW2NbZCsxODA+PjJdPj4yXXwwO2lmKCFlKWJyZWFr
O1hnKGUpfXdoaWxlKDEpe2Q9Y1tjW2QrMTcyPj4yXT4+Ml18MDtpZighZClicmVhaztYZyhkKTtk
PWNbZz4+Ml18MH1kaChWZihhKXwwLGYpO2NbKGNbKGNbaT4+Ml18MCkrMjY4Pj4yXXwwKSsoaDw8
Mik+PjJdPTA7aD1oKzF8MDtkPWNbaT4+Ml18MH1yZXR1cm59ZnVuY3Rpb24gVmsoYil7Yj1ifDA7
dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTA7bz1sO2w9bCsx
NnwwO249bztmPWNvKGIpfDA7d2hpbGUoMSl7aWYoIWYpYnJlYWs7ZT1mKzE2fDA7ZD1jW2U+PjJd
fDA7aWYoKGFbZCsxNTk+PjBdfDApPT03KXtNQShmKTtkPWNbZT4+Ml18MH1jW2QrMjEyPj4yXT0w
O2Y9ZW8oYixmKXwwfW09YisxNnwwO2s9MTt3aGlsZSgxKXtkPWNbbT4+Ml18MDtpZigoa3wwKT4o
Y1tkKzE4MD4+Ml18MCkpYnJlYWs7aD1jWyhjW2QrMTg0Pj4yXXwwKSsoazw8Mik+PjJdfDA7aT1o
KzE2fDA7ZD1jbyhoKXwwO2E6d2hpbGUoMSl7aWYoIWQpYnJlYWs7aj1lbyhoLGQpfDA7ZT1kKzE2
fDA7aWYoYVsoY1tlPj4yXXwwKSsxNTk+PjBdfDApe2Y9RG4oZCl8MDtnPURuKGIpfDA7Y1tuPj4y
XT1mO2Nbbis0Pj4yXT1nO19sKDAsODA1OTEsbil8MDtxbyhoLGQpfDA7ZD1qO2NvbnRpbnVlfU5B
KGQsY1soY1tpPj4yXXwwKSsyNjQ+PjJdfDApO2c9Y1tlPj4yXXwwO2NbZysyMTI+PjJdPWg7YVtn
KzE1OT4+MF09NztnPVBtKGgsZCl8MDt3aGlsZSgxKXtpZighZyl7ZD1qO2NvbnRpbnVlIGF9ZD1j
WyhjW2crMTY+PjJdfDApKzE3Mj4+Ml18MDtiOmRvIGlmKGR8MClkb3tlPWQrLTQ4fDA7Zj1jWyhj
WygoY1tkPj4yXSYzfDApPT0yP2Q6ZSkrNDA+PjJdfDApKzE2Pj4yXXwwO2lmKChhW2YrMTU2Pj4w
XXwwKSE9MSlicmVhayBiO2NbZisyMTI+PjJdPWg7ZD1jW2NbKGNbKGNbKChjW2Q+PjJdJjN8MCk9
PTI/ZDplKSs0MD4+Ml18MCkrMTY+PjJdfDApKzE4MD4+Ml0+PjJdfDB9d2hpbGUoKGR8MCkhPTAp
O3doaWxlKDApO2c9Um0oaCxnKXwwfX1rPWsrMXwwfWw9bztyZXR1cm59ZnVuY3Rpb24gV2soZCxl
KXtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7az1lKzE2fDA7Zz12dygo
YlsoY1trPj4yXXwwKSsyMzg+PjFdPDwyKSs4fDApfDA7Zj1jW2s+PjJdfDA7Y1tmKzI2OD4+Ml09
ZztnPTA7aD1iW2YrMjM2Pj4xXXwwO3doaWxlKDEpe2lmKChofDApPihiW2YrMjM4Pj4xXXwwKSli
cmVhaztmPWZoKGQpfDA7Y1soY1soY1trPj4yXXwwKSsyNjg+PjJdfDApKyhoPDwyKT4+Ml09Zjtq
PWNbZisxNj4+Ml18MDtjW2orMjMyPj4yXT1oO2FbaisxNTk+PjBdPTc7Y1tqKzIxMj4+Ml09ZTtp
ZihnfDApe2o9KGNbKGFoKGcsZiwwKXwwKSsxNj4+Ml18MCkrMTU0fDA7YltqPj4xXT0oYltqPj4x
XXwwKSoxZTN9Zz1mO2g9aCsxfDA7Zj1jW2s+PjJdfDB9aj1jbyhlKXwwO3doaWxlKDEpe2Y9Y1tr
Pj4yXXwwO2lmKCFqKWJyZWFrO2g9KGNbKGNbZisyNjg+PjJdfDApKyhjWyhjW2orMTY+PjJdfDAp
KzIzMj4+Ml08PDIpPj4yXXwwKSsxNnwwO2Y9KGNbaD4+Ml18MCkrMjE2fDA7Y1tmPj4yXT0oY1tm
Pj4yXXwwKSsxO2Y9UG0oZSxqKXwwO3doaWxlKDEpe2lmKCFmKWJyZWFrO2k9Y1tmPj4yXXwwO2Q9
ZistNDh8MDtnPWNbKGNbKGNbKChpJjN8MCk9PTM/ZjpmKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18
MCkrMjMyPj4yXXwwO3doaWxlKDEpe2lmKChnfDApPj0oY1soY1soY1soKGkmM3wwKT09Mj9mOmQp
KzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKSlicmVhaztpPShjWyhjW2NbKGNbaD4+Ml18
MCkrMTgwPj4yXT4+Ml18MCkrMTY+PjJdfDApKzE2OHwwO2JbaT4+MV09KGJbaT4+MV18MCkrMTw8
MTY+PjE2O2c9ZysxfDA7aT1jW2Y+PjJdfDB9Zj1SbShlLGYpfDB9aj1lbyhlLGopfDB9ZD1iW2Yr
MjM4Pj4xXXwwO2k9ZisyNjh8MDtmPWJbZisyMzY+PjFdfDA7d2hpbGUoMSl7aWYoKGZ8MCk+KGR8
MCkpYnJlYWs7Zz0oY1soY1soY1tpPj4yXXwwKSsoZjw8Mik+PjJdfDApKzE2Pj4yXXwwKSsyMTZ8
MDtoPWNbZz4+Ml18MDtpZigoaHwwKT4xKWNbZz4+Ml09aCstMTtmPWYrMXwwfXJldHVybn1mdW5j
dGlvbiBYayhkLGUsZixnKXtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGk9MCxqPTAs
az0wO2s9KGNbKGNbZSsxNj4+Ml18MCkrMjEyPj4yXXwwKSsxNnwwO2U9Y1trPj4yXXwwO2o9Zisx
fDA7aWYoKGp8MCkhPShhW2UrMjczPj4wXXwwKSl7aT1iW2UrMjM2Pj4xXXwwO3doaWxlKDEpe2g9
YltlKzIzOD4+MV18MDtpZigoaXwwKT4oaDw8MTY+PjE2fDApKWJyZWFrO21pKGQsY1soY1tlKzI2
OD4+Ml18MCkrKGk8PDIpPj4yXXwwKTtpPWkrMXwwO2U9Y1trPj4yXXwwfWk9YltlKzIzNj4+MV18
MDt3aGlsZSgxKXtpZigoaXwwKT4oaDw8MTY+PjE2fDApKWJyZWFrO25pKGcsY1soY1tlKzI2OD4+
Ml18MCkrKGk8PDIpPj4yXXwwLGYpO2Q9Y1trPj4yXXwwO2k9aSsxfDA7aD1iW2QrMjM4Pj4xXXww
O2U9ZH1hW2UrMjczPj4wXT1qfXJldHVybn1mdW5jdGlvbiBZayhiKXtiPWJ8MDt2YXIgZD0wLGU9
MCxmPTAsZz0wLGg9MDtoPWNvKGIpfDA7d2hpbGUoMSl7aWYoIWgpYnJlYWs7Y1soY1toKzE2Pj4y
XXwwKSsyMTI+PjJdPTA7Zz1QbShiLGgpfDA7d2hpbGUoMSl7aWYoIWcpYnJlYWs7ZD1jWyhjW2cr
MTY+PjJdfDApKzE3Mj4+Ml18MDthOmRvIGlmKGR8MClkb3tlPWQrLTQ4fDA7Zj1jWyhjWygoY1tk
Pj4yXSYzfDApPT0yP2Q6ZSkrNDA+PjJdfDApKzE2Pj4yXXwwO2lmKChhW2YrMTU2Pj4wXXwwKSE9
MSlicmVhayBhO2NbZisyMTI+PjJdPTA7ZD1jW2NbKGNbKGNbKChjW2Q+PjJdJjN8MCk9PTI/ZDpl
KSs0MD4+Ml18MCkrMTY+PjJdfDApKzE4MD4+Ml0+PjJdfDB9d2hpbGUoKGR8MCkhPTApO3doaWxl
KDApO2c9Um0oYixnKXwwfWg9ZW8oYixoKXwwfVprKGIpO3JldHVybn1mdW5jdGlvbiBaayhiKXti
PWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTA7ZT1iKzE2fDA7ZD0xO3doaWxlKDEpe2Y9
Y1tlPj4yXXwwO2lmKChkfDApPihjW2YrMTgwPj4yXXwwKSlicmVhaztaayhjWyhjW2YrMTg0Pj4y
XXwwKSsoZDw8Mik+PjJdfDApO2Q9ZCsxfDB9aT1jbyhiKXwwO3doaWxlKDEpe2lmKCFpKWJyZWFr
O2Q9KGNbaSsxNj4+Ml18MCkrMjEyfDA7aWYoIShjW2Q+PjJdfDApKWNbZD4+Ml09YjtoPVBtKGIs
aSl8MDt3aGlsZSgxKXtpZighaClicmVhaztkPWNbKGNbaCsxNj4+Ml18MCkrMTcyPj4yXXwwO2E6
ZG8gaWYoZHwwKWRve2U9Y1tkPj4yXXwwO2c9ZCstNDh8MDtmPWNbKGNbKChlJjN8MCk9PTI/ZDpn
KSs0MD4+Ml18MCkrMTY+PjJdfDA7aWYoKGFbZisxNTY+PjBdfDApIT0xKWJyZWFrIGE7Zj1mKzIx
MnwwO2lmKCEoY1tmPj4yXXwwKSl7Y1tmPj4yXT1iO2U9Y1tkPj4yXXwwfWQ9Y1tjWyhjWyhjWygo
ZSYzfDApPT0yP2Q6ZykrNDA+PjJdfDApKzE2Pj4yXXwwKSsxODA+PjJdPj4yXXwwfXdoaWxlKChk
fDApIT0wKTt3aGlsZSgwKTtoPVJtKGIsaCl8MH1pPWVvKGIsaSl8MH1yZXR1cm59ZnVuY3Rpb24g
X2soYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO2Q9aUIoYSl8MDtjPWNvKGEpfDA7d2hpbGUoMSl7
aWYoIWMpYnJlYWs7Yj1QbShhLGMpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWs7JGsoYixkKTtiPVJt
KGEsYil8MH1jPWVvKGEsYyl8MH1LbChkKXwwO3JldHVybn1mdW5jdGlvbiAkayhhLGIpe2E9YXww
O2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9
MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0w
LEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wO009bDtsPWwrMzIwfDA7SD1NKzI5
NnwwO0c9TSsyODB8MDt4PU0rMTM2fDA7dz1NKzEyMHwwO249TSsxMDR8MDtpPU0rODh8MDtmPU0r
ODB8MDtFPU0rMTZ8MDt6PU07aj1NKzI2NHwwO2s9TSsyNDh8MDttPU0rMjMyfDA7bz1NKzIxNnww
O0E9TSsyMDB8MDtCPU0rMTg0fDA7eT1NKzE2OHwwO0Q9TSsxNTJ8MDtnPWFsKEltKGEsODA2NDUp
fDAsYil8MDtxPWFsKEltKGEsODA2NTEpfDAsYil8MDtyPShxfDApIT0wO2I9KGd8MCkhPTA7ZG8g
aWYoYnxyPyhMPWErMTZ8MCxlPWNbKGNbTD4+Ml18MCkrOD4+Ml18MCxlfDApOjApe2lmKChjW2Ur
ND4+Ml18MCk+MSl7Sz1EbihjWygoY1thPj4yXSYzfDApPT0zP2E6YSs0OHwwKSs0MD4+Ml18MCl8
MDtMPURuKGNbKChjW2E+PjJdJjN8MCk9PTI/YTphKy00OHwwKSs0MD4+Ml18MCl8MDtjW2Y+PjJd
PUs7Y1tmKzQ+PjJdPUw7X2woMCw4MDY1NyxmKXwwO2JyZWFrfUk9Y1tlPj4yXXwwO2U9Y1tJKzQ+
PjJdfDA7cD1jW2E+PjJdJjM7cz1hKy00OHwwO3Q9Y1soKHB8MCk9PTI/YTpzKSs0MD4+Ml18MDt1
PWErNDh8MDtwPWNbKChwfDApPT0zP2E6dSkrNDA+PjJdfDA7Sj13dyg0OCl8MDt2PUkrMTJ8MDtj
W0orMTI+PjJdPWNbdj4+Ml07Qz1JKzh8MDtjW0orOD4+Ml09Y1tDPj4yXTtkbyBpZihiKXtoPShj
W2crMTY+PjJdfDApKzE2fDA7Zz0oY1t0KzE2Pj4yXXwwKSsxNnwwO2NbSD4+Ml09Y1tnPj4yXTtj
W0grND4+Ml09Y1tnKzQ+PjJdO2NbSCs4Pj4yXT1jW2crOD4+Ml07Y1tIKzEyPj4yXT1jW2crMTI+
PjJdO2lmKCEoYmwoSCxoKXwwKSl7bz1EbihjWygoY1thPj4yXSYzfDApPT0zP2E6dSkrNDA+PjJd
fDApfDA7Rj1EbihjWygoY1thPj4yXSYzfDApPT0yP2E6cykrNDA+PjJdfDApfDA7Sz1JbShhLDgw
NjQ1KXwwO2NbaT4+Ml09bztjW2krND4+Ml09RjtjW2krOD4+Ml09SztfbCgwLDgwNjk4LGkpfDA7
Sz0yNjticmVha31iPWNbST4+Ml18MDtjW0g+PjJdPWNbYj4+Ml07Y1tIKzQ+PjJdPWNbYis0Pj4y
XTtjW0grOD4+Ml09Y1tiKzg+PjJdO2NbSCsxMj4+Ml09Y1tiKzEyPj4yXTtpZihibChILGgpfDAp
e0Y9KGNbcCsxNj4+Ml18MCkrMTZ8MDtjW0g+PjJdPWNbRj4+Ml07Y1tIKzQ+PjJdPWNbRis0Pj4y
XTtjW0grOD4+Ml09Y1tGKzg+PjJdO2NbSCsxMj4+Ml09Y1tGKzEyPj4yXTtpZihibChILGgpfDAp
e289RG4oY1soKGNbYT4+Ml0mM3wwKT09Mz9hOnUpKzQwPj4yXXwwKXwwO0Y9RG4oY1soKGNbYT4+
Ml0mM3wwKT09Mj9hOnMpKzQwPj4yXXwwKXwwO0s9SW0oYSw4MDY0NSl8MDtjW24+PjJdPW87Y1tu
KzQ+PjJdPUY7Y1tuKzg+PjJdPUs7X2woMCw4MDc0MSxuKXwwO0s9MjY7YnJlYWt9aWYoIShjW0M+
PjJdfDApKW1hKDgwNzgzLDgwNzk0LDM2OSw4MDgwNSk7bz1JKzE2fDA7Y1tHPj4yXT1jW2I+PjJd
O2NbRys0Pj4yXT1jW2IrND4+Ml07Y1tHKzg+PjJdPWNbYis4Pj4yXTtjW0crMTI+PjJdPWNbYisx
Mj4+Ml07Y1tIPj4yXT1jW28+PjJdO2NbSCs0Pj4yXT1jW28rND4+Ml07Y1tIKzg+PjJdPWNbbys4
Pj4yXTtjW0grMTI+PjJdPWNbbysxMj4+Ml07Y2woeixHLEgsaCk7Rj0oY1tJPj4yXXwwKSs0OHww
O2NbRj4+Ml09Y1t6Pj4yXTtjW0YrND4+Ml09Y1t6KzQ+PjJdO2NbRis4Pj4yXT1jW3orOD4+Ml07
Y1tGKzEyPj4yXT1jW3orMTI+PjJdO0Y9KGNbST4+Ml18MCkrMTZ8MDtjW0c+PjJdPWNbej4+Ml07
Y1tHKzQ+PjJdPWNbeis0Pj4yXTtjW0crOD4+Ml09Y1t6Kzg+PjJdO2NbRysxMj4+Ml09Y1t6KzEy
Pj4yXTtjW0g+PjJdPWNbbz4+Ml07Y1tIKzQ+PjJdPWNbbys0Pj4yXTtjW0grOD4+Ml09Y1tvKzg+
PjJdO2NbSCsxMj4+Ml09Y1tvKzEyPj4yXTtkbChqLEcsSCk7Y1tGPj4yXT1jW2o+PjJdO2NbRis0
Pj4yXT1jW2orND4+Ml07Y1tGKzg+PjJdPWNbais4Pj4yXTtjW0YrMTI+PjJdPWNbaisxMj4+Ml07
Rj1jW0k+PjJdfDA7Yj1GKzE2fDA7Y1tHPj4yXT1jW2I+PjJdO2NbRys0Pj4yXT1jW2IrND4+Ml07
Y1tHKzg+PjJdPWNbYis4Pj4yXTtjW0crMTI+PjJdPWNbYisxMj4+Ml07Y1tIPj4yXT1jW28+PjJd
O2NbSCs0Pj4yXT1jW28rND4+Ml07Y1tIKzg+PjJdPWNbbys4Pj4yXTtjW0grMTI+PjJdPWNbbysx
Mj4+Ml07ZGwoayxHLEgpO2NbRj4+Ml09Y1trPj4yXTtjW0YrND4+Ml09Y1trKzQ+PjJdO2NbRis4
Pj4yXT1jW2srOD4+Ml07Y1tGKzEyPj4yXT1jW2srMTI+PjJdO0Y9Y1tJPj4yXXwwO2I9RiszMnww
O0Y9RisxNnwwO2NbRz4+Ml09Y1tGPj4yXTtjW0crND4+Ml09Y1tGKzQ+PjJdO2NbRys4Pj4yXT1j
W0YrOD4+Ml07Y1tHKzEyPj4yXT1jW0YrMTI+PjJdO2NbSD4+Ml09Y1t6Pj4yXTtjW0grND4+Ml09
Y1t6KzQ+PjJdO2NbSCs4Pj4yXT1jW3orOD4+Ml07Y1tIKzEyPj4yXT1jW3orMTI+PjJdO2RsKG0s
RyxIKTtjW2I+PjJdPWNbbT4+Ml07Y1tiKzQ+PjJdPWNbbSs0Pj4yXTtjW2IrOD4+Ml09Y1ttKzg+
PjJdO2NbYisxMj4+Ml09Y1ttKzEyPj4yXTtiPWNbdj4+Ml18MDtpZighYil7Rj0zO2JyZWFrfUY9
KE50KGEsY1tJPj4yXXwwLDAsMCxKLGIpfDApKzN8MDticmVha31nPWUrLTF8MDtiPTA7d2hpbGUo
MSl7aWYoKGJ8MCk+PShnfDApKWJyZWFrO2lmKGVsKChjW0k+PjJdfDApKyhiPDw0KXwwLGgpfDAp
YnJlYWs7Yj1iKzN8MH1lPWNbdj4+Ml18MDtmPShlfDApIT0wO2lmKChifDApPT0oZ3wwKSlpZihm
KXtGPUorMzJ8MDttPUkrMzJ8MDtuPShjW0k+PjJdfDApKyhnPDw0KXwwO2NbRz4+Ml09Y1ttPj4y
XTtjW0crND4+Ml09Y1ttKzQ+PjJdO2NbRys4Pj4yXT1jW20rOD4+Ml07Y1tHKzEyPj4yXT1jW20r
MTI+PjJdO2NbSD4+Ml09Y1tuPj4yXTtjW0grND4+Ml09Y1tuKzQ+PjJdO2NbSCs4Pj4yXT1jW24r
OD4+Ml07Y1tIKzEyPj4yXT1jW24rMTI+PjJdO2NsKG8sRyxILGgpO2NbRj4+Ml09Y1tvPj4yXTtj
W0YrND4+Ml09Y1tvKzQ+PjJdO2NbRis4Pj4yXT1jW28rOD4+Ml07Y1tGKzEyPj4yXT1jW28rMTI+
PjJdO0Y9ZzticmVha31lbHNlIG1hKDgwODIyLDgwNzk0LDM4Nyw4MDgwNSk7ZWxzZXtpZihmKWI9
TnQoYSxjW0k+PjJdfDAsMCxiLEosZSl8MDtGPWIrM3wwO2JyZWFrfX1lbHNlIEs9MjY7d2hpbGUo
MCk7aWYoKEt8MCk9PTI2KXtiPWUrLTF8MDtpZighKGNbdj4+Ml18MCkpRj1iO2Vsc2V7Rj1KKzMy
fDA7bz1JKzMyfDA7Y1tGPj4yXT1jW28+PjJdO2NbRis0Pj4yXT1jW28rND4+Ml07Y1tGKzg+PjJd
PWNbbys4Pj4yXTtjW0YrMTI+PjJdPWNbbysxMj4+Ml07Rj1ifX1kbyBpZihyKXtmPShjW3ErMTY+
PjJdfDApKzE2fDA7cj0oY1twKzE2Pj4yXXwwKSsxNnwwO2NbSD4+Ml09Y1tyPj4yXTtjW0grND4+
Ml09Y1tyKzQ+PjJdO2NbSCs4Pj4yXT1jW3IrOD4+Ml07Y1tIKzEyPj4yXT1jW3IrMTI+PjJdO2lm
KCEoYmwoSCxmKXwwKSl7Rz1EbihjWygoY1thPj4yXSYzfDApPT0zP2E6dSkrNDA+PjJdfDApfDA7
SD1EbihjWygoY1thPj4yXSYzfDApPT0yP2E6cykrNDA+PjJdfDApfDA7Sz1JbShhLDgwNjUxKXww
O2Nbdz4+Ml09RztjW3crND4+Ml09SDtjW3crOD4+Ml09SztfbCgwLDgwODMzLHcpfDA7Sz01Mjti
cmVha31iPShjW0k+PjJdfDApKyhGPDw0KXwwO2NbSD4+Ml09Y1tiPj4yXTtjW0grND4+Ml09Y1ti
KzQ+PjJdO2NbSCs4Pj4yXT1jW2IrOD4+Ml07Y1tIKzEyPj4yXT1jW2IrMTI+PjJdO2lmKGJsKEgs
Zil8MCl7RT0oY1t0KzE2Pj4yXXwwKSsxNnwwO2NbSD4+Ml09Y1tFPj4yXTtjW0grND4+Ml09Y1tF
KzQ+PjJdO2NbSCs4Pj4yXT1jW0UrOD4+Ml07Y1tIKzEyPj4yXT1jW0UrMTI+PjJdO2lmKGJsKEgs
Zil8MCl7Rz1EbihjWygoY1thPj4yXSYzfDApPT0zP2E6dSkrNDA+PjJdfDApfDA7SD1EbihjWygo
Y1thPj4yXSYzfDApPT0yP2E6cykrNDA+PjJdfDApfDA7Sz1JbShhLDgwNjUxKXwwO2NbeD4+Ml09
RztjW3grND4+Ml09SDtjW3grOD4+Ml09SztfbCgwLDgwODc2LHgpfDA7Sz01MjticmVha31pZigh
KGNbdj4+Ml18MCkpbWEoODA4MjIsODA3OTQsNDI5LDgwODA1KTt4PUorMzJ8MDtjW0c+PjJdPWNb
Yj4+Ml07Y1tHKzQ+PjJdPWNbYis0Pj4yXTtjW0crOD4+Ml09Y1tiKzg+PjJdO2NbRysxMj4+Ml09
Y1tiKzEyPj4yXTtjW0g+PjJdPWNbeD4+Ml07Y1tIKzQ+PjJdPWNbeCs0Pj4yXTtjW0grOD4+Ml09
Y1t4Kzg+PjJdO2NbSCsxMj4+Ml09Y1t4KzEyPj4yXTtjbCh6LEcsSCxmKTtkPUYrLTN8MDtFPShj
W0k+PjJdfDApKyhkPDw0KXwwO2NbRT4+Ml09Y1t6Pj4yXTtjW0UrND4+Ml09Y1t6KzQ+PjJdO2Nb
RSs4Pj4yXT1jW3orOD4+Ml07Y1tFKzEyPj4yXT1jW3orMTI+PjJdO0U9RistMXwwO2I9KGNbST4+
Ml18MCkrKEU8PDQpfDA7Y1tHPj4yXT1jW3o+PjJdO2NbRys0Pj4yXT1jW3orND4+Ml07Y1tHKzg+
PjJdPWNbeis4Pj4yXTtjW0crMTI+PjJdPWNbeisxMj4+Ml07Y1tIPj4yXT1jW3g+PjJdO2NbSCs0
Pj4yXT1jW3grND4+Ml07Y1tIKzg+PjJdPWNbeCs4Pj4yXTtjW0grMTI+PjJdPWNbeCsxMj4+Ml07
ZGwoQSxHLEgpO2NbYj4+Ml09Y1tBPj4yXTtjW2IrND4+Ml09Y1tBKzQ+PjJdO2NbYis4Pj4yXT1j
W0ErOD4+Ml07Y1tiKzEyPj4yXT1jW0ErMTI+PjJdO2I9Y1tJPj4yXXwwO0Q9YisoRjw8NCl8MDti
PWIrKEU8PDQpfDA7Y1tHPj4yXT1jW2I+PjJdO2NbRys0Pj4yXT1jW2IrND4+Ml07Y1tHKzg+PjJd
PWNbYis4Pj4yXTtjW0crMTI+PjJdPWNbYisxMj4+Ml07Y1tIPj4yXT1jW3g+PjJdO2NbSCs0Pj4y
XT1jW3grND4+Ml07Y1tIKzg+PjJdPWNbeCs4Pj4yXTtjW0grMTI+PjJdPWNbeCsxMj4+Ml07ZGwo
QixHLEgpO2NbRD4+Ml09Y1tCPj4yXTtjW0QrND4+Ml09Y1tCKzQ+PjJdO2NbRCs4Pj4yXT1jW0Ir
OD4+Ml07Y1tEKzEyPj4yXT1jW0IrMTI+PjJdO0Q9Y1tJPj4yXXwwO2I9RCsoRistMjw8NCl8MDtF
PUQrKEU8PDQpfDA7Y1tHPj4yXT1jW0U+PjJdO2NbRys0Pj4yXT1jW0UrND4+Ml07Y1tHKzg+PjJd
PWNbRSs4Pj4yXTtjW0crMTI+PjJdPWNbRSsxMj4+Ml07Y1tIPj4yXT1jW3o+PjJdO2NbSCs0Pj4y
XT1jW3orND4+Ml07Y1tIKzg+PjJdPWNbeis4Pj4yXTtjW0grMTI+PjJdPWNbeisxMj4+Ml07ZGwo
eSxHLEgpO2NbYj4+Ml09Y1t5Pj4yXTtjW2IrND4+Ml09Y1t5KzQ+PjJdO2NbYis4Pj4yXT1jW3kr
OD4+Ml07Y1tiKzEyPj4yXT1jW3krMTI+PjJdO2I9Y1tDPj4yXXwwO2lmKCFiKWJyZWFrO2Q9UHQo
YSxjW0k+PjJdfDAsZCxkLEosYil8MDticmVha31lPUY7d2hpbGUoMSl7aWYoKGV8MCk+MCliPTA7
ZWxzZSBicmVhazt3aGlsZSgxKXtpZigoYnwwKT09NClicmVhaztCPUUrKGI8PDQpfDA7QT0oY1tJ
Pj4yXXwwKSsoZS1iPDw0KXwwO2NbQj4+Ml09Y1tBPj4yXTtjW0IrND4+Ml09Y1tBKzQ+PjJdO2Nb
Qis4Pj4yXT1jW0ErOD4+Ml07Y1tCKzEyPj4yXT1jW0ErMTI+PjJdO2I9YisxfDB9aWYoZWwoRSxm
KXwwKXtiPTA7Sz00MzticmVha31lPWUrLTN8MH1hOmRvIGlmKChLfDApPT00Myl3aGlsZSgxKXtL
PTA7aWYoKGJ8MCk9PTQpYnJlYWsgYTtLPShjW0k+PjJdfDApKyhlLWI8PDQpfDA7Qj1FKyhiPDw0
KXwwO2NbSz4+Ml09Y1tCPj4yXTtjW0srND4+Ml09Y1tCKzQ+PjJdO2NbSys4Pj4yXT1jW0IrOD4+
Ml07Y1tLKzEyPj4yXT1jW0IrMTI+PjJdO2I9YisxfDA7Sz00M313aGlsZSgwKTtpZihlfDApe2Q9
ZSstM3wwO2I9Y1tDPj4yXXwwO2lmKCFiKWJyZWFrO2Q9UHQoYSxjW0k+PjJdfDAsZCxGKy0zfDAs
SixiKXwwO2JyZWFrfWlmKCEoY1tDPj4yXXwwKSltYSg4MDc4Myw4MDc5NCw0NTIsODA4MDUpO2Vs
c2V7ZD1KKzE2fDA7RT1JKzE2fDA7YT1jW0k+PjJdfDA7Y1tHPj4yXT1jW0U+PjJdO2NbRys0Pj4y
XT1jW0UrND4+Ml07Y1tHKzg+PjJdPWNbRSs4Pj4yXTtjW0crMTI+PjJdPWNbRSsxMj4+Ml07Y1tI
Pj4yXT1jW2E+PjJdO2NbSCs0Pj4yXT1jW2ErND4+Ml07Y1tIKzg+PjJdPWNbYSs4Pj4yXTtjW0gr
MTI+PjJdPWNbYSsxMj4+Ml07Y2woRCxHLEgsZik7Y1tkPj4yXT1jW0Q+PjJdO2NbZCs0Pj4yXT1j
W0QrND4+Ml07Y1tkKzg+PjJdPWNbRCs4Pj4yXTtjW2QrMTI+PjJdPWNbRCsxMj4+Ml07ZD0wO2Jy
ZWFrfX1lbHNlIEs9NTI7d2hpbGUoMCk7aWYoKEt8MCk9PTUyKWlmKCEoY1tDPj4yXXwwKSlkPTA7
ZWxzZXtkPUorMTZ8MDtLPUkrMTZ8MDtjW2Q+PjJdPWNbSz4+Ml07Y1tkKzQ+PjJdPWNbSys0Pj4y
XTtjW2QrOD4+Ml09Y1tLKzg+PjJdO2NbZCsxMj4+Ml09Y1tLKzEyPj4yXTtkPTB9Yj1GLWQrMXww
O2U9Sis0fDA7Y1tlPj4yXT1iO2NbSj4+Ml09d3coYjw8NCl8MDtiPTA7d2hpbGUoMSl7aWYoKGJ8
MCk+PShjW2U+PjJdfDApKWJyZWFrO0s9KGNbSj4+Ml18MCkrKGI8PDQpfDA7YT0oY1tJPj4yXXww
KSsoZDw8NCl8MDtjW0s+PjJdPWNbYT4+Ml07Y1tLKzQ+PjJdPWNbYSs0Pj4yXTtjW0srOD4+Ml09
Y1thKzg+PjJdO2NbSysxMj4+Ml09Y1thKzEyPj4yXTtkPWQrMXwwO2I9YisxfDB9X0koY1tJPj4y
XXwwKTtfSShJKTtjW2NbKGNbTD4+Ml18MCkrOD4+Ml0+PjJdPUp9d2hpbGUoMCk7bD1NO3JldHVy
bn1mdW5jdGlvbiBhbChiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wO2Y9bDtsPWwrMTZ8MDtl
PWY7aWYoKGJ8MCkhPTA/KGFbYj4+MF18MCkhPTA6MCl7ZD1qQihkLGIpfDA7aWYoIWQpe2NbZT4+
Ml09YjtfbCgwLDgwOTk2LGUpfDA7ZD0wfX1lbHNlIGQ9MDtsPWY7cmV0dXJuIGR8MH1mdW5jdGlv
biBibChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAuMDtkPStoW2E+PjNdO2lmKCgraFti
Pj4zXTw9ZD9kPD0raFtiKzE2Pj4zXTowKT8oYz0raFthKzg+PjNdLCtoW2IrOD4+M108PWMpOjAp
YT1jPD0raFtiKzI0Pj4zXSYxO2Vsc2UgYT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gY2woYSxiLGQs
ZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MC4wLGc9MC4wLGk9MCxqPTAuMCxrPTAu
MCxtPTAuMCxuPTAsbz0wLjAscD0wLjAscT0wLjAscj0wLjAscz0wLjAsdD0wLjAsdT0wLHY9MCx3
PTAseD0wLHk9MC4wLHo9MCxBPTAsQj0wLEM9MDtDPWw7bD1sKzQ2NHwwO249Qys0OHwwO0I9Qysz
MnwwO3U9QysxNnwwO3Y9Qzt3PUMrMzY0fDA7eD1DKzI2NHwwO3o9QysxNjR8MDtBPUMrNjR8MDtx
PStoW2I+PjNdO3I9K2hbYis4Pj4zXTtzPStoW2Q+PjNdO3Q9K2hbZCs4Pj4zXTtjW3U+PjJdPWNb
ZT4+Ml07Y1t1KzQ+PjJdPWNbZSs0Pj4yXTtjW3UrOD4+Ml09Y1tlKzg+PjJdO2NbdSsxMj4+Ml09
Y1tlKzEyPj4yXTtlPWUrMTZ8MDtjW3Y+PjJdPWNbZT4+Ml07Y1t2KzQ+PjJdPWNbZSs0Pj4yXTtj
W3YrOD4+Ml09Y1tlKzg+PjJdO2NbdisxMj4+Ml09Y1tlKzEyPj4yXTtrPStoW3U+PjNdO2lmKChz
PGs/KGY9cisgKyh+figoay1xKSooci10KS8ocS1zKSl8MCksZj49K2hbdSs4Pj4zXSk6MCk/Zjw9
K2hbdis4Pj4zXTowKXtvPWY7cD1rfWVsc2UgaT00O2RvIGlmKChpfDApPT00KXtqPStoW3Y+PjNd
O2lmKHM+ail7Zz1yKyArKH5+KChqLXEpKihyLXQpLyhxLXMpKXwwKTtmPStoW3UrOD4+M107aWYo
Zz49Zj9nPD0raFt2Kzg+PjNdOjApe289ZztwPWo7YnJlYWt9fWVsc2UgZj0raFt1Kzg+PjNdO2lm
KHQ8Zj8obT1xKyArKH5+KChmLXIpKihxLXMpLyhyLXQpKXwwKSwhKCEobT49ayl8IShtPD1qKSkp
OjApe289ZjtwPW07YnJlYWt9Zj0raFt2Kzg+PjNdO2lmKHQ+Zj8oeT1xKyArKH5+KChmLXIpKihx
LXMpLyhyLXQpKXwwKSwhKCEoeT49ayl8ISh5PD1qKSkpOjApe289ZjtwPXk7YnJlYWt9O2Nbbj4+
Ml09Y1tiPj4yXTtjW24rND4+Ml09Y1tiKzQ+PjJdO2Nbbis4Pj4yXT1jW2IrOD4+Ml07Y1tuKzEy
Pj4yXT1jW2IrMTI+PjJdO3c9amwobix3KXwwO2Nbbj4+Ml09Y1tkPj4yXTtjW24rND4+Ml09Y1tk
KzQ+PjJdO2Nbbis4Pj4yXT1jW2QrOD4+Ml07Y1tuKzEyPj4yXT1jW2QrMTI+PjJdO3g9amwobix4
KXwwO2Nbbj4+Ml09Y1t1Pj4yXTtjW24rND4+Ml09Y1t1KzQ+PjJdO2Nbbis4Pj4yXT1jW3UrOD4+
Ml07Y1tuKzEyPj4yXT1jW3UrMTI+PjJdO3o9amwobix6KXwwO2Nbbj4+Ml09Y1t2Pj4yXTtjW24r
ND4+Ml09Y1t2KzQ+PjJdO2Nbbis4Pj4yXT1jW3YrOD4+Ml07Y1tuKzEyPj4yXT1jW3YrMTI+PjJd
O0E9amwobixBKXwwO2NbQj4+Ml09dztjW0IrND4+Ml09eDtjW0IrOD4+Ml09ejtjW0IrMTI+PjJd
PUE7X2woMSw4MDkxOCxCKXwwO21hKDEyMzIwNSw4MDc5NCw3OCw4MDk3MCl9d2hpbGUoMCk7aFth
Pj4zXT1wO2hbYSs4Pj4zXT1vO2w9QztyZXR1cm59ZnVuY3Rpb24gZGwoYSxiLGMpe2E9YXwwO2I9
YnwwO2M9Y3wwO3ZhciBkPTAuMDtkPSgraFtjKzg+PjNdKyAraFtiKzg+PjNdKSouNTtoW2E+PjNd
PSgraFtjPj4zXSsgK2hbYj4+M10pKi41O2hbYSs4Pj4zXT1kO3JldHVybn1mdW5jdGlvbiBlbChh
LGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAuMCxlPTAsZj0wLjAsZz0wLGk9MCxqPTAsaz0wLG09MDtt
PWw7bD1sKzgwfDA7aj1tKzE2fDA7az1tO2U9MDt3aGlsZSgxKXtpZigoZXwwKT09NClicmVhaztp
PWorKGU8PDQpfDA7Zz1hKyhlPDw0KXwwO2NbaT4+Ml09Y1tnPj4yXTtjW2krND4+Ml09Y1tnKzQ+
PjJdO2NbaSs4Pj4yXT1jW2crOD4+Ml07Y1tpKzEyPj4yXT1jW2crMTI+PjJdO2U9ZSsxfDB9ZT1i
Kzh8MDtpPWIrMjR8MDtkPStmbChhLDAuMCwxLjAsK2hbYj4+M10sK2hbZT4+M10sK2hbaT4+M10p
O2lmKGQ+PTAuMCZkPDIuMClQQShrLGosMyxkLGEsMCk7ZWxzZSBkPTIuMDtnPWIrMTZ8MDtmPStm
bChhLDAuMCxkPjEuMD8xLjA6ZCwraFtnPj4zXSwraFtlPj4zXSwraFtpPj4zXSk7aWYoZj49MC4w
JmY8ZCl7UEEoayxqLDMsZixhLDApO2Q9Zn1mPStnbChhLDAuMCxkPjEuMD8xLjA6ZCwraFtlPj4z
XSwraFtiPj4zXSwraFtnPj4zXSk7aWYoZj49MC4wJmY8ZCl7UEEoayxqLDMsZixhLDApO2Q9Zn1m
PStnbChhLDAuMCxkPjEuMD8xLjA6ZCwraFtpPj4zXSwraFtiPj4zXSwraFtnPj4zXSk7aWYoZj49
MC4wJmY8ZCl7UEEoayxqLDMsZixhLDApO2Q9Zn1sPW07cmV0dXJuIGQ8Mi4wfDB9ZnVuY3Rpb24g
ZmwoYSxiLGMsZCxlLGYpe2E9YXwwO2I9K2I7Yz0rYztkPStkO2U9K2U7Zj0rZjt2YXIgZz0wLjAs
aT0wLGo9MCxrPTAsbT0wO209bDtsPWwrMTQ0fDA7aj1tKzgwfDA7az1tKzE2fDA7aT1tO2E6ZG8g
aWYoIShiPT1jKSl7c3dpdGNoKGlsKGEsZCl8MCl7Y2FzZSAwOntiPS0xLjA7YnJlYWsgYX1jYXNl
IDE6e2lmKCtCKCsoK2hbYSs0OD4+M10tZCkpPD0uMDA1KXtiPStoW2ErNTY+PjNdO2I9IShiPj1l
KXwhKGI8PWYpPy0xLjA6YzticmVhayBhfWJyZWFrfWRlZmF1bHQ6e319UEEoaSxhLDMsLjUsaixr
KTtnPShjK2IpKi41O2I9K2ZsKGosYixnLGQsZSxmKTtpZighKGI+PTAuMCkpYj0rZmwoayxnLGMs
ZCxlLGYpfXdoaWxlKDApO2w9bTtyZXR1cm4gK2J9ZnVuY3Rpb24gZ2woYSxiLGMsZCxlLGYpe2E9
YXwwO2I9K2I7Yz0rYztkPStkO2U9K2U7Zj0rZjt2YXIgZz0wLjAsaT0wLGo9MCxrPTAsbT0wO209
bDtsPWwrMTQ0fDA7aj1tKzgwfDA7az1tKzE2fDA7aT1tO2E6ZG8gaWYoIShiPT1jKSl7c3dpdGNo
KGhsKGEsZCl8MCl7Y2FzZSAwOntiPS0xLjA7YnJlYWsgYX1jYXNlIDE6e2lmKCtCKCsoK2hbYSs1
Nj4+M10tZCkpPD0uMDA1KXtiPStoW2ErNDg+PjNdO2I9IShiPj1lKXwhKGI8PWYpPy0xLjA6Yzti
cmVhayBhfWJyZWFrfWRlZmF1bHQ6e319UEEoaSxhLDMsLjUsaixrKTtnPShjK2IpKi41O2I9K2ds
KGosYixnLGQsZSxmKTtpZighKGI+PTAuMCkpYj0rZ2woayxnLGMsZCxlLGYpfXdoaWxlKDApO2w9
bTtyZXR1cm4gK2J9ZnVuY3Rpb24gaGwoYSxiKXthPWF8MDtiPStiO3ZhciBjPTAsZD0wLGU9MCxm
PTAuMCxnPTAsaT0wO2Y9K2hbYSs4Pj4zXTtlPWY8Yj8tMTpmPmImMTtjPTE7ZD1lO2U9KGV8MCk9
PTAmMTt3aGlsZSgxKXtpZigoY3wwKT09NClicmVhaztmPStoW2ErKGM8PDQpKzg+PjNdO2k9Zjxi
Py0xOmY+YiYxO2c9ZSsoKGR8MCkhPTAmKGl8MCkhPShkfDApJjEpfDA7Yz1jKzF8MDtkPWk7ZT1n
fXJldHVybiBlfDB9ZnVuY3Rpb24gaWwoYSxiKXthPWF8MDtiPStiO3ZhciBjPTAsZD0wLGU9MCxm
PTAuMCxnPTAsaT0wO2Y9K2hbYT4+M107ZT1mPGI/LTE6Zj5iJjE7Yz0xO2Q9ZTtlPShlfDApPT0w
JjE7d2hpbGUoMSl7aWYoKGN8MCk9PTQpYnJlYWs7Zj0raFthKyhjPDw0KT4+M107aT1mPGI/LTE6
Zj5iJjE7Zz1lKygoZHwwKSE9MCYoaXwwKSE9KGR8MCkmMSl8MDtjPWMrMXwwO2Q9aTtlPWd9cmV0
dXJuIGV8MH1mdW5jdGlvbiBqbChhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MC4wO2M9
bDtsPWwrMTZ8MDtkPWM7ZT0raFthKzg+PjNdO2hbZD4+M109K2hbYT4+M107aFtkKzg+PjNdPWU7
cEwoYiw4MDk4NCxkKXwwO2w9YztyZXR1cm4gYnwwfWZ1bmN0aW9uIGtsKGEpe2E9YXwwO3ZhciBk
PTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAscT0wLHI9MCxzPTAsdD0wLHU9
MCx2PTA7dj1sO2w9bCsxNnwwO3M9djt1PTQ7dD1aSSg0MCl8MDtjW3Q+PjJdPTA7cj1hKzE2fDA7
ZT1jW3I+PjJdfDA7YTpkbyBpZigoKGJbZSsyMzg+PjFdfDApLShiW2UrMjM2Pj4xXXwwKXwwKT49
Mil7bT0xO2Q9ZTtlPWNbZSsxOTY+PjJdfDA7Yjp3aGlsZSgxKXtuPW0rMXwwO2lmKCEoY1tlKyhu
PDw2KT4+Ml18MCkpe3E9MTU7YnJlYWt9ZWxzZSBrPTA7d2hpbGUoMSl7aD1jW2UrKG08PDYpPj4y
XXwwO2lmKChrfDApPj0oaHwwKSl7bT1uO2NvbnRpbnVlIGJ9aj1jWyhjW2UrKG08PDYpKzQ+PjJd
fDApKyhrPDwyKT4+Ml18MDtvPTA7ZD1fKDE4LGp8MCl8MDtmPW87bz0wO2lmKChmfDApIT0wJihw
fDApIT0wKXtnPVNOKGNbZj4+Ml18MCx0fDAsdXwwKXwwO2lmKCFnKVVhKGZ8MCxwfDApO3o9cH1l
bHNlIGc9LTE7aWYoKGd8MCk9PTEpe2Q9ejticmVhayBifWlmKGQ8PDI0Pj4yNCl7aT1rO2Q9aDt3
aGlsZSgxKXtnPWkrMXwwO2lmKChnfDApPj0oZHwwKSlicmVhaztvPTA7ZD0kKDE3LGp8MCxjWyhj
W2UrKG08PDYpKzQ+PjJdfDApKyhnPDwyKT4+Ml18MCl8MDtlPW87bz0wO2lmKChlfDApIT0wJihw
fDApIT0wKXtmPVNOKGNbZT4+Ml18MCx0fDAsdXwwKXwwO2lmKCFmKVVhKGV8MCxwfDApO3o9cH1l
bHNlIGY9LTE7aWYoKGZ8MCk9PTEpe2Q9ejticmVhayBifWlmKCEoZDw8MjQ+PjI0KSlicmVhaztk
PWNbKGNbcj4+Ml18MCkrMTk2Pj4yXXwwO2k9ZztlPWQ7ZD1jW2QrKG08PDYpPj4yXXwwfWlmKChn
LWt8MCk+MSl7bz0wO2thKDYsYXwwLG18MCxrfDAsaXwwLDEpO2Q9bztvPTA7aWYoKGR8MCkhPTAm
KHB8MCkhPTApe2U9U04oY1tkPj4yXXwwLHR8MCx1fDApfDA7aWYoIWUpVWEoZHwwLHB8MCk7ej1w
fWVsc2UgZT0tMTtpZigoZXwwKT09MSl7ZD16O2JyZWFrIGJ9fX1lPWNbcj4+Ml18MDtrPWsrMXww
O2Q9ZTtlPWNbZSsxOTY+PjJdfDB9fWM6ZG8gaWYoKHF8MCk9PTE1KXt3aGlsZSgxKXtpZigobXww
KT4wKWs9MDtlbHNlIGJyZWFrO3doaWxlKDEpe2U9Y1tkKzE5Nj4+Ml18MDtoPWNbZSsobTw8Nik+
PjJdfDA7aWYoKGt8MCk+PShofDApKWJyZWFrO2o9Y1soY1tlKyhtPDw2KSs0Pj4yXXwwKSsoazw8
Mik+PjJdfDA7bz0wO2Q9XygxOSxqfDApfDA7Zj1vO289MDtpZigoZnwwKSE9MCYocHwwKSE9MCl7
Zz1TTihjW2Y+PjJdfDAsdHwwLHV8MCl8MDtpZighZylVYShmfDAscHwwKTt6PXB9ZWxzZSBnPS0x
O2lmKChnfDApPT0xKXtkPXo7YnJlYWsgY31pZihkPDwyND4+MjQpe2k9aztkPWg7d2hpbGUoMSl7
Zz1pKzF8MDtpZigoZ3wwKT49KGR8MCkpYnJlYWs7bz0wO2Q9JCgxOCxqfDAsY1soY1tlKyhtPDw2
KSs0Pj4yXXwwKSsoZzw8Mik+PjJdfDApfDA7ZT1vO289MDtpZigoZXwwKSE9MCYocHwwKSE9MCl7
Zj1TTihjW2U+PjJdfDAsdHwwLHV8MCl8MDtpZighZilVYShlfDAscHwwKTt6PXB9ZWxzZSBmPS0x
O2lmKChmfDApPT0xKXtkPXo7YnJlYWsgY31pZighKGQ8PDI0Pj4yNCkpYnJlYWs7ZD1jWyhjW3I+
PjJdfDApKzE5Nj4+Ml18MDtpPWc7ZT1kO2Q9Y1tkKyhtPDw2KT4+Ml18MH1pZigoZy1rfDApPjEp
e289MDtrYSg2LGF8MCxtfDAsa3wwLGl8MCwwKTtkPW87bz0wO2lmKChkfDApIT0wJihwfDApIT0w
KXtlPVNOKGNbZD4+Ml18MCx0fDAsdXwwKXwwO2lmKCFlKVVhKGR8MCxwfDApO3o9cH1lbHNlIGU9
LTE7aWYoKGV8MCk9PTEpe2Q9ejticmVhayBjfX19az1rKzF8MDtkPWNbcj4+Ml18MH1tPW0rLTF8
MDtxPTE1fXQ9Uk4oMTY3NzYwLDEsdHwwLHV8MCl8MDt1PXo7bz0wO2Q9bztvPTA7aWYoKGR8MCkh
PTAmKHB8MCkhPTApe2U9U04oY1tkPj4yXXwwLHR8MCx1fDApfDA7aWYoIWUpVWEoZHwwLHB8MCk7
ej1wfWVsc2UgZT0tMTtpZigoZXwwKT09MSlkPXo7ZWxzZSBkPTB9d2hpbGUoMCk7ZDp3aGlsZSgx
KXtpZihkKXtvPTA7YWEoMTEsMyw4MTAyNCxzfDApfDA7ZD1vO289MDtpZigoZHwwKSE9MCYocHww
KSE9MCl7ZT1TTihjW2Q+PjJdfDAsdHwwLHV8MCl8MDtpZighZSlVYShkfDAscHwwKTt6PXB9ZWxz
ZSBlPS0xO2lmKChlfDApPT0xKXtkPXo7Y29udGludWV9ZWxzZSBicmVha31lbHNlIGY9MTt3aGls
ZSgxKXtkPWNbcj4+Ml18MDtpZigoZnwwKT4oY1tkKzE4MD4+Ml18MCkpYnJlYWsgYTtvPTA7ZmEo
ODUsY1soY1tkKzE4ND4+Ml18MCkrKGY8PDIpPj4yXXwwKTtkPW87bz0wO2lmKChkfDApIT0wJihw
fDApIT0wKXtlPVNOKGNbZD4+Ml18MCx0fDAsdXwwKXwwO2lmKCFlKVVhKGR8MCxwfDApO3o9cH1l
bHNlIGU9LTE7aWYoKGV8MCk9PTEpe2Q9ejtjb250aW51ZSBkfWY9ZisxfDB9fX13aGlsZSgwKTtf
SSh0fDApO2w9djtyZXR1cm59ZnVuY3Rpb24gbGwoYil7Yj1ifDA7Yj1jW2IrMTY+PjJdfDA7aWYo
KChhW2IrMTU2Pj4wXXwwKT09MT8oY1tiKzE3Nj4+Ml18MCk9PTE6MCk/KGNbYisxODQ+PjJdfDAp
PT0xOjApYj0oY1tiKzEwND4+Ml18MCk9PTAmMTtlbHNlIGI9MDtyZXR1cm4gYnwwfWZ1bmN0aW9u
IG1sKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wO2k9bDtsPWwr
ODB8MDtoPWkrNDB8MDtnPWk7ZT1jW2NbKGNbYSsxNj4+Ml18MCkrMTcyPj4yXT4+Ml18MDthPWNb
Y1soY1tiKzE2Pj4yXXwwKSsxNzI+PjJdPj4yXXwwO2lmKCgobGwoYil8MCk8PDI0Pj4yNCE9MD8o
Y1soKGNbZT4+Ml0mM3wwKT09Mz9lOmUrNDh8MCkrNDA+PjJdfDApPT0oY1soKGNbYT4+Ml0mM3ww
KT09Mz9hOmErNDh8MCkrNDA+PjJdfDApOjApPyhzbChlLGEpfDApPDwyND4+MjQhPTA6MCl7ZD0o
Y1thKzE2Pj4yXXwwKSsxNnwwO2Y9ZzthPShjW2UrMTY+PjJdfDApKzE2fDA7Yj1mKzQwfDA7ZG97
Y1tmPj4yXT1jW2E+PjJdO2Y9Zis0fDA7YT1hKzR8MH13aGlsZSgoZnwwKTwoYnwwKSk7Zj1oO2E9
ZDtiPWYrNDB8MDtkb3tjW2Y+PjJdPWNbYT4+Ml07Zj1mKzR8MDthPWErNHwwfXdoaWxlKChmfDAp
PChifDApKTthPShXZihnLGgpfDApPT0wJjF9ZWxzZSBhPTA7bD1pO3JldHVybiBhfDB9ZnVuY3Rp
b24gbmwoYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9
MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MDt0PWErMTZ8
MDtxPWNbKGNbKGNbKGNbdD4+Ml18MCkrMTk2Pj4yXXwwKSsoYjw8NikrND4+Ml18MCkrKGQ8PDIp
Pj4yXXwwO3A9ZCsxfDA7bT0oZnwwKT09MTtuPXErMTZ8MDtsPXA7d2hpbGUoMSl7aWYoKGx8MCk+
KGV8MCkpe2c9ZTtzPXA7YnJlYWt9bz1jWyhjWyhjWyhjW3Q+PjJdfDApKzE5Nj4+Ml18MCkrKGI8
PDYpKzQ+PjJdfDApKyhsPDwyKT4+Ml18MDtrPW8rMTZ8MDthOmRvIGlmKG0pd2hpbGUoMSl7ZD1j
W2s+PjJdfDA7aj1jW2NbZCsxODA+PjJdPj4yXXwwO2lmKCFqKWJyZWFrIGE7aD1jWyhjW24+PjJd
fDApKzE4MD4+Ml18MDtpPWorLTQ4fDA7Zj0wO3doaWxlKDEpe2Q9Y1toKyhmPDwyKT4+Ml18MDtp
ZighZCl7cj04O2JyZWFrfWlmKChjWygoY1tkPj4yXSYzfDApPT0yP2Q6ZCstNDh8MCkrNDA+PjJd
fDApPT0oY1soKGNbaj4+Ml0mM3wwKT09Mj9qOmkpKzQwPj4yXXwwKSlicmVhaztlbHNlIGY9Zisx
fDB9aWYoKHJ8MCk9PTgpe3I9MDtkPWFoKHEsY1soKGNbaj4+Ml0mM3wwKT09Mj9qOmkpKzQwPj4y
XXwwLGopfDB9d2hpbGUoMSl7Zj1jW2NbKGNbaz4+Ml18MCkrMTcyPj4yXT4+Ml18MDtpZighZili
cmVhaztpaChmLGQpO1hnKGYpfVhnKGopfWVsc2Ugd2hpbGUoMSl7ZD1jW2s+PjJdfDA7aj1jW2Nb
ZCsxNzI+PjJdPj4yXXwwO2lmKCFqKWJyZWFrIGE7aD1jWyhjW24+PjJdfDApKzE3Mj4+Ml18MDtp
PWorNDh8MDtmPTA7d2hpbGUoMSl7ZD1jW2grKGY8PDIpPj4yXXwwO2lmKCFkKXtyPTE3O2JyZWFr
fWlmKChjWygoY1tkPj4yXSYzfDApPT0zP2Q6ZCs0OHwwKSs0MD4+Ml18MCk9PShjWygoY1tqPj4y
XSYzfDApPT0zP2o6aSkrNDA+PjJdfDApKWJyZWFrO2Vsc2UgZj1mKzF8MH1pZigocnwwKT09MTcp
e3I9MDtkPWFoKGNbKChjW2o+PjJdJjN8MCk9PTM/ajppKSs0MD4+Ml18MCxxLGopfDB9d2hpbGUo
MSl7Zj1jW2NbKGNbaz4+Ml18MCkrMTgwPj4yXT4+Ml18MDtpZighZilicmVhaztpaChmLGQpO1hn
KGYpfVhnKGopfXdoaWxlKDApO2lmKChjW2QrMTc2Pj4yXXwwKSE9KDAtKGNbZCsxODQ+PjJdfDAp
fDApKXtyPTIzO2JyZWFrfWRoKGEsbyk7bD1sKzF8MH1pZigocnwwKT09MjMpbWEoODExNjAsODEy
MDQsMTE1LDgxMjExKTt3aGlsZSgxKXtnPWcrMXwwO2Q9Y1soY1t0Pj4yXXwwKSsxOTY+PjJdfDA7
Zj1kKyhiPDw2KXwwO2lmKChnfDApPj0oY1tmPj4yXXwwKSlicmVhaztlPWNbZCsoYjw8NikrND4+
Ml18MDtyPWNbZSsoZzw8Mik+PjJdfDA7Y1tlKyhzPDwyKT4+Ml09cjtjWyhjW3IrMTY+PjJdfDAp
KzIzNj4+Ml09cztzPXMrMXwwfWNbZj4+Ml09cztjWyhjW2QrKGI8PDYpKzQ+PjJdfDApKyhzPDwy
KT4+Ml09MDtyZXR1cm59ZnVuY3Rpb24gb2woYil7Yj1ifDA7Yj1jW2IrMTY+PjJdfDA7aWYoKChh
W2IrMTU2Pj4wXXwwKT09MT8oY1tiKzE4ND4+Ml18MCk9PTE6MCk/KGNbYisxNzY+PjJdfDApPT0x
OjApYj0oY1tiKzEwND4+Ml18MCk9PTAmMTtlbHNlIGI9MDtyZXR1cm4gYnwwfWZ1bmN0aW9uIHBs
KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wO2k9bDtsPWwrODB8
MDtoPWkrNDB8MDtnPWk7ZT1jW2NbKGNbYSsxNj4+Ml18MCkrMTgwPj4yXT4+Ml18MDthPWNbY1so
Y1tiKzE2Pj4yXXwwKSsxODA+PjJdPj4yXXwwO2lmKCgob2woYil8MCk8PDI0Pj4yNCE9MD8oY1so
KGNbZT4+Ml0mM3wwKT09Mj9lOmUrLTQ4fDApKzQwPj4yXXwwKT09KGNbKChjW2E+PjJdJjN8MCk9
PTI/YTphKy00OHwwKSs0MD4+Ml18MCk6MCk/KHNsKGUsYSl8MCk8PDI0Pj4yNCE9MDowKXtkPShj
W2ErMTY+PjJdfDApKzU2fDA7Zj1nO2E9KGNbZSsxNj4+Ml18MCkrNTZ8MDtiPWYrNDB8MDtkb3tj
W2Y+PjJdPWNbYT4+Ml07Zj1mKzR8MDthPWErNHwwfXdoaWxlKChmfDApPChifDApKTtmPWg7YT1k
O2I9Zis0MHwwO2Rve2NbZj4+Ml09Y1thPj4yXTtmPWYrNHwwO2E9YSs0fDB9d2hpbGUoKGZ8MCk8
KGJ8MCkpO2E9KFdmKGcsaCl8MCk9PTAmMX1lbHNlIGE9MDtsPWk7cmV0dXJuIGF8MH1mdW5jdGlv
biBxbChkKXtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0w
LHA9MCxxPTAscj0wO3I9bDtsPWwrMzJ8MDtwPXIrMTZ8MDtvPXI7bT1kKzE2fDA7Zj1jW20+PjJd
fDA7ZT1iW2YrMjM2Pj4xXXwwO3doaWxlKDEpe2lmKChlfDApPihiW2YrMjM4Pj4xXXwwKSlicmVh
aztjWyhjW2YrMjY4Pj4yXXwwKSsoZTw8Mik+PjJdPTA7ZT1lKzF8MDtmPWNbbT4+Ml18MH1paihk
KTtqPWNvKGQpfDA7d2hpbGUoMSl7aWYoIWopYnJlYWs7cmwoZCxqKTtpPVBtKGQsail8MDt3aGls
ZSgxKXtpZighaSlicmVhaztlbHNlIGY9aTt3aGlsZSgxKXtlPWNbKGNbZisxNj4+Ml18MCkrMTcy
Pj4yXXwwO2lmKCFlKWJyZWFrO2Vsc2UgZj1lfWg9aSstNDh8MDt3aGlsZSgxKXtlPWYrLTQ4fDA7
Zz1jWygoY1tmPj4yXSYzfDApPT0yP2Y6ZSkrNDA+PjJdfDA7aWYoKGNbKGNbZysxNj4+Ml18MCkr
MjMyPj4yXXwwKT49KGNbKGNbKGNbKChjW2k+PjJdJjN8MCk9PTI/aTpoKSs0MD4+Ml18MCkrMTY+
PjJdfDApKzIzMj4+Ml18MCkpYnJlYWs7cmwoZCxnKTtmPWNbY1soY1soY1soKGNbZj4+Ml0mM3ww
KT09Mj9mOmUpKzQwPj4yXXwwKSsxNj4+Ml18MCkrMTgwPj4yXT4+Ml18MH1pPVJtKGQsaSl8MH1q
PWVvKGQsail8MH1lPWNbbT4+Ml18MDtpPWJbZSsyMzY+PjFdfDA7d2hpbGUoMSl7aWYoKGl8MCk+
KGJbZSsyMzg+PjFdfDApKXtrPTE7bj1lO2JyZWFrfWU9Y1soY1tlKzI2OD4+Ml18MCkrKGk8PDIp
Pj4yXXwwO2o9Y1soY1soY1soVmYoZCl8MCkrMTY+PjJdfDApKzE5Nj4+Ml18MCkrKGk8PDYpKzQ+
PjJdfDA7Zj1lKzE2fDA7aWYoKGNbaisoY1soY1tmPj4yXXwwKSsyMzY+PjJdPDwyKT4+Ml18MCkh
PShlfDApKXtxPTE3O2JyZWFrfWg9Y1soY1soY1soVmYoZCl8MCkrMTY+PjJdfDApKzE5Nj4+Ml18
MCkrKGk8PDYpKzQ+PjJdfDA7ZT1jW20+PjJdfDA7Zj1jW2UrMTk2Pj4yXXwwO2NbZisoaTw8Nikr
ND4+Ml09aCsoY1soY1soY1soY1tlKzI2OD4+Ml18MCkrKGk8PDIpPj4yXXwwKSsxNj4+Ml18MCkr
MjM2Pj4yXTw8Mik7ZT0tMTtoPTA7YTp3aGlsZSgxKXtpZigoaHwwKT49KGNbZisoaTw8Nik+PjJd
fDApKWJyZWFrO2Y9Y1soY1tmKyhpPDw2KSs0Pj4yXXwwKSsoaDw8Mik+PjJdfDA7aWYoIWYpYnJl
YWs7Zz1jW2YrMTY+PjJdfDA7YjpkbyBpZighKGFbZysxNTY+PjBdfDApKWlmKCEoQm8oZCxmKXww
KSlicmVhayBhO2Vsc2UgZT1oO2Vsc2V7Zj1jW2NbZysxNzI+PjJdPj4yXXwwO3doaWxlKDEpe2lm
KCFmKWJyZWFrIGI7Zz1jWyhjW2YrMTY+PjJdfDApKzExNj4+Ml18MDtpZighZylicmVhaztlbHNl
IGY9Z31pZihCbyhkLGNbKChjW2Y+PjJdJjN8MCk9PTM/ZjpmKzQ4fDApKzQwPj4yXXwwKXwwKXtq
PShCbyhkLGNbKChjW2Y+PjJdJjN8MCk9PTI/ZjpmKy00OHwwKSs0MD4+Ml18MCl8MCk9PTA7ZT1q
P2U6aH19d2hpbGUoMCk7aD1oKzF8MDtmPWNbKGNbbT4+Ml18MCkrMTk2Pj4yXXwwfWlmKChlfDAp
PT0tMSl7Y1twPj4yXT1EbihkKXwwO2NbcCs0Pj4yXT1pO19sKDAsODExMjQscCl8MH1qPWNbbT4+
Ml18MDtjWyhjW2orMTk2Pj4yXXwwKSsoaTw8Nik+PjJdPWUrMTtpPWkrMXwwO2U9an1pZigocXww
KT09MTcpe3A9RG4oZSl8MDtxPWNbKGNbZj4+Ml18MCkrMjM2Pj4yXXwwO2Nbbz4+Ml09cDtjW28r
ND4+Ml09cTtjW28rOD4+Ml09aTtfbCgxLDgxMDY2LG8pfDA7VWEoMTY3NzYwLDEpfXdoaWxlKDEp
e2lmKChrfDApPihjW24rMTgwPj4yXXwwKSlicmVhaztxbChjWyhjW24rMTg0Pj4yXXwwKSsoazw8
Mik+PjJdfDApO2s9aysxfDA7bj1jW20+PjJdfDB9bD1yO3JldHVybn1mdW5jdGlvbiBybChhLGIp
e2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wO2Q9Y1tiKzE2Pj4yXXwwO2E9KGNbKGNbYSsxNj4+Ml18
MCkrMjY4Pj4yXXwwKSsoY1tkKzIzMj4+Ml08PDIpfDA7ZT1jW2E+PjJdfDA7aWYoISgoZXwwKSE9
MD8oY1soY1tlKzE2Pj4yXXwwKSsyMzY+PjJdfDApPD0oY1tkKzIzNj4+Ml18MCk6MCkpY1thPj4y
XT1iO3JldHVybn1mdW5jdGlvbiBzbChiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wO3doaWxl
KDEpe2Y9Y1tiKzE2Pj4yXXwwO2lmKCEoYVtmKzExMj4+MF18MCkpYnJlYWs7Yj1jW2YrMTE2Pj4y
XXwwfXdoaWxlKDEpe2U9Y1tkKzE2Pj4yXXwwO2lmKCEoYVtlKzExMj4+MF18MCkpYnJlYWs7ZD1j
W2UrMTE2Pj4yXXwwfWlmKChhW2YrMTUzPj4wXXwwKT09MD8oYVtlKzE1Mz4+MF18MCk9PTA6MCl7
Zj1jW2Q+PjJdJjM7ZT1jW2I+PjJdJjM7Yj0oTygoY1soY1soY1soKGV8MCk9PTM/YjpiKzQ4fDAp
KzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKS0oY1soY1soY1soKGV8MCk9PTI/YjpiKy00
OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCl8MCwoY1soY1soY1soKGZ8MCk9PTM/
ZDpkKzQ4fDApKzQwPj4yXXwwKSsxNj4+Ml18MCkrMjMyPj4yXXwwKS0oY1soY1soY1soKGZ8MCk9
PTI/ZDpkKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCl8MCl8MCk+MCYxfWVs
c2UgYj0wO3JldHVybiBifDB9ZnVuY3Rpb24gdGwoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9
MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2s9bDtsPWwrNTQ0fDA7aj1rKzUyOHwwO3VsKGosays1MTJ8
MCxrKTtlPShhWzE3Mzg5NF18MCkrMTw8MjQ+PjI0O2FbMTczODk0XT1lPDwyND4+MjQ9PTA/MTpl
O2U9Y1tiKzE2Pj4yXXwwO2NbZSsyMjA+PjJdPTA7Y1tlKzIzMj4+Ml09MDtlPShkfDApPjA7ZD1j
byhiKXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrO2lmKGU/KGg9Y1tkKzE2Pj4yXXwwLGk9Y1toKzIx
Mj4+Ml18MCwoaXwwKSE9MCk6MCl7Zz1jWyhjWyhjW2krMTY+PjJdfDApKzI2OD4+Ml18MCkrKGNb
aCsyMzI+PjJdPDwyKT4+Ml18MDtmPTd9ZWxzZSBmPTY7aWYoKGZ8MCk9PTY/KGY9MCwoZHwwKT09
KEtBKGQpfDApKTowKXtnPWQ7Zj03fWlmKChmfDApPT03PygwLChhWyhjW2crMTY+PjJdfDApKzE1
Nz4+MF18MCkhPShhWzE3Mzg5NF18MCkpOjApe3ZsKGIpO3dsKGosYixnKTt4bChiKX1kPWVvKGIs
ZCl8MH15bChqKTtsPWs7cmV0dXJufWZ1bmN0aW9uIHVsKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8
MDtjW2I+PjJdPWQ7Y1tiKzQ+PjJdPWQrNTEyO2NbYisxMj4+Ml09MDtjW2IrOD4+Ml09MDtjW2E+
PjJdPWI7Y1thKzQ+PjJdPWI7Y1thKzg+PjJdPWQ7cmV0dXJufWZ1bmN0aW9uIHZsKGEpe2E9YXww
O2NbKGNbYSsxNj4+Ml18MCkrMTkyPj4yXT0wO2NbNDE5NzldPTA7cmV0dXJufWZ1bmN0aW9uIHds
KGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbT0w
LG49MCxvPTAscD0wLHE9MDtxPWw7bD1sKzMyfDA7cD1xO3psKGIsZSk7az1wKzh8MDttPXArMTZ8
MDtuPXArMjR8MDthOndoaWxlKDEpe289QWwoYil8MDtpZighbylicmVhaztlPW8rMTZ8MDtpZigo
YVsoY1tlPj4yXXwwKSsxNTc+PjBdfDApPT0oYVsxNzM4OTRdfDApKWNvbnRpbnVlO0JsKGQsbyk7
aD1jW2U+PjJdfDA7Zz1oKzE4MHwwO2o9Y1tnKzQ+PjJdfDA7aT1wO2NbaT4+Ml09Y1tnPj4yXTtj
W2krND4+Ml09ajtpPWgrMTcyfDA7aj1jW2krND4+Ml18MDtnPWs7Y1tnPj4yXT1jW2k+PjJdO2Nb
Zys0Pj4yXT1qO2c9aCsxODh8MDtqPWNbZys0Pj4yXXwwO2k9bTtjW2k+PjJdPWNbZz4+Ml07Y1tp
KzQ+PjJdPWo7aD1oKzE5NnwwO2k9Y1toKzQ+PjJdfDA7aj1uO2Nbaj4+Ml09Y1toPj4yXTtjW2or
ND4+Ml09aTtqPTM7d2hpbGUoMSl7aWYoKGp8MCk8PS0xKWNvbnRpbnVlIGE7ZT1jW3ArKGo8PDMp
Pj4yXXwwO2I6ZG8gaWYoZXwwKXtpPShjW3ArKGo8PDMpKzQ+PjJdfDApKy0xfDA7aD1lKyhpPDwy
KXwwO3doaWxlKDEpe2lmKChpfDApPD0tMSlicmVhayBiO2Y9Y1toPj4yXXwwO2c9Y1tmPj4yXSYz
O2U9Y1soKGd8MCk9PTI/ZjpmKy00OHwwKSs0MD4+Ml18MDtpZigoZXwwKT09KG98MCkpZT1jWygo
Z3wwKT09Mz9mOmYrNDh8MCkrNDA+PjJdfDA7aWYoKGFbKGNbZSsxNj4+Ml18MCkrMTU3Pj4wXXww
KSE9KGFbMTczODk0XXwwKT8oZXwwKT09KEtBKGUpfDApOjApemwoYixlKTtoPWgrLTR8MDtpPWkr
LTF8MH19d2hpbGUoMCk7aj1qKy0xfDB9fWw9cTtyZXR1cm59ZnVuY3Rpb24geGwoYSl7YT1hfDA7
dmFyIGI9MCxkPTAsZT0wLGY9MDtkPWErMTZ8MDtiPWNbZD4+Ml18MDtmPWIrMjIwfDA7ZT1jW2Y+
PjJdfDA7YT1lKzF8MDtjW2Y+PjJdPWE7Yj1jW2IrMjE2Pj4yXXwwO2lmKCFiKWE9d3coYTw8Mil8
MDtlbHNlIGE9eXcoYixhPDwyKXwwO2Y9Y1tkPj4yXXwwO2NbZisyMTY+PjJdPWE7Y1thKyhlPDwy
KT4+Ml09Y1tmKzE5Mj4+Ml07cmV0dXJufWZ1bmN0aW9uIHlsKGEpe2E9YXwwO3ZhciBiPTA7YT1j
WyhjW2E+PjJdfDApKzEyPj4yXXwwO3doaWxlKDEpe2lmKCFhKWJyZWFrO2I9Y1thKzEyPj4yXXww
O19JKGNbYT4+Ml18MCk7X0koYSk7YT1ifXJldHVybn1mdW5jdGlvbiB6bChiLGUpe2I9YnwwO2U9
ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtrPWw7bD1sKzE2fDA7aD1rKzh8MDtnPWs7
aj1iKzh8MDtmPWNbaj4+Ml18MDtpPWIrNHwwO2I9Y1tpPj4yXXwwO2lmKChmfDApPT0oY1tiKzQ+
PjJdfDApKXtmPWNbYisxMj4+Ml18MDtpZighZil7Zj12dygxNil8MDtpZighZilfbCgxLDgzOTg4
LGcpfDA7Y1tmKzg+PjJdPWNbaT4+Ml07Y1tmKzEyPj4yXT0wO2I9dncoNGU2KXwwO2NbZj4+Ml09
YjtpZighYil7X2woMSw4MTIyNCxoKXwwO2I9Y1tmPj4yXXwwfWNbZis0Pj4yXT1iKzRlNjtjWyhj
W2k+PjJdfDApKzEyPj4yXT1mfWNbaT4+Ml09ZjtmPWNbZj4+Ml18MDtjW2o+PjJdPWZ9YVsoY1tl
KzE2Pj4yXXwwKSsxNTc+PjBdPShkWzE3Mzg5NF18MCkrMTtjW2o+PjJdPWYrNDtjW2Y+PjJdPWU7
bD1rO3JldHVybn1mdW5jdGlvbiBBbChhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MDtm
PWErOHwwO2I9Y1tmPj4yXXwwO2Q9YSs0fDA7ZT1jW2Q+PjJdfDA7aWYoKGJ8MCk9PShjW2U+PjJd
fDApKWlmKChlfDApPT0oY1thPj4yXXwwKSliPTA7ZWxzZXtiPWNbZSs4Pj4yXXwwO2NbZD4+Ml09
YjtiPWNbYis0Pj4yXXwwO2NbZj4+Ml09YjtnPTR9ZWxzZSBnPTQ7aWYoKGd8MCk9PTQpe2I9Yist
NHwwO2NbZj4+Ml09YjtiPWNbYj4+Ml18MH1yZXR1cm4gYnwwfWZ1bmN0aW9uIEJsKGIsZCl7Yj1i
fDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2Y9Y1tiKzE2Pj4yXXwwO2c9ZisyMzJ8MDtjW2c+PjJd
PShjW2c+PjJdfDApKzE7Zz1jW2QrMTY+PjJdfDA7YVtnKzE1Nz4+MF09YVsxNzM4OTRdfDA7Yj1j
WzQxOTc5XXwwO2U9ZysxNjh8MDtpZighYil7Y1tlPj4yXT0wO2NbZisxOTI+PjJdPWR9ZWxzZXtj
W2U+PjJdPWI7Y1soY1tiKzE2Pj4yXXwwKSsxNjQ+PjJdPWR9Y1s0MTk3OV09ZDtjW2crMTY0Pj4y
XT0wO3JldHVybn1mdW5jdGlvbiBDbChiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGk9MCxq
PTAsaz0wLGw9MCxtPTAsbj0wLjAsbz0wLjA7bT1iKzE2fDA7ZD0oY1ttPj4yXXwwKSsxOTJ8MDt3
aGlsZSgxKXtkPWNbZD4+Ml18MDtpZighZClicmVhaztnPWQrMTZ8MDtkPWNbZz4+Ml18MDtlPWNb
ZCsxODg+PjJdfDA7YTpkbyBpZighZSlmPTA7ZWxzZXtmPTA7d2hpbGUoMSl7ZT1jW2UrKGY8PDIp
Pj4yXXwwO2lmKCFlKXtmPTA7YnJlYWsgYX1EbChlKTtkPWNbZz4+Ml18MDtmPWYrMXwwO2U9Y1tk
KzE4OD4+Ml18MH19d2hpbGUoMCk7d2hpbGUoMSl7aWYoKGZ8MCk+PShjW2QrMjA4Pj4yXXwwKSli
cmVhaztlPWNbKGNbZCsyMDQ+PjJdfDApKyhmPDwyKT4+Ml18MDtsPWNbZT4+Ml0mMztpZigoY1so
Y1soY1soKGx8MCk9PTI/ZTplKy00OHwwKSs0MD4+Ml18MCkrMTY+PjJdfDApKzIzMj4+Ml18MCk9
PShjWyhjWyhjWygobHwwKT09Mz9lOmUrNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzI+PjJd
fDApKXtEbChlKTtkPWNbZz4+Ml18MH1mPWYrMXwwfWQ9ZCsxNjR8MH1sPWNbbT4+Ml18MDtkPWNb
bCsxOTY+PjJdfDA7aWYoISgoY1tkKzU2Pj4yXXwwKT09MD8oY1tsKzE4MD4+Ml18MCk8PTA6MCkp
aT0xMztiOmRvIGlmKChpfDApPT0xMyl7aT1jW2QrND4+Ml18MDtnPTA7Yzp3aGlsZSgxKXtkPWNb
aSsoZzw8Mik+PjJdfDA7aWYoIWQpYnJlYWsgYjtlPWNbKGNbZCsxNj4+Ml18MCkrMTk2Pj4yXXww
O2Q9MDt3aGlsZSgxKXtmPWNbZSsoZDw8Mik+PjJdfDA7aWYoIWYpYnJlYWs7bD1jW2YrMTY+PjJd
fDA7aWYoY1tsKzk2Pj4yXXwwPyhhW2wrMTEzPj4wXXwwKT09MDowKWJyZWFrIGM7ZD1kKzF8MH1n
PWcrMXwwfUVsKGIpfXdoaWxlKDApO3VpKGIpO2U9MDtkPShjW20+PjJdfDApKzE5MnwwO3doaWxl
KDEpe2Q9Y1tkPj4yXXwwO2lmKCFkKWJyZWFrO2w9ZCsxNnwwO2Q9Y1tsPj4yXXwwO2Y9Y1tkKzE4
OD4+Ml18MDtkOmRvIGlmKGYpe2s9MDt3aGlsZSgxKXtnPWNbZisoazw8Mik+PjJdfDA7aWYoIWcp
e2s9MDticmVha31pPWNbZysxNj4+Ml18MDtqPWNbaSs5Nj4+Ml18MDtkbyBpZihqKWlmKCEoYVtp
KzExMz4+MF18MCkpe0ZsKGcpO2Y9Y1tsPj4yXXwwO2U9MTtkPWY7Zj1jW2YrMTg4Pj4yXXwwO2Jy
ZWFrfWVsc2V7aFtpKzEzNj4+M109K2hbKChjWyhjW20+PjJdfDApKzExNj4+Ml0mMXwwKT09MD9q
KzI0fDA6aiszMnwwKT4+M107YnJlYWt9d2hpbGUoMCk7az1rKzF8MH13aGlsZSgxKXtpZigoa3ww
KT49KGNbZCsyMDg+PjJdfDApKWJyZWFrIGQ7aT1jWyhjW2QrMjA0Pj4yXXwwKSsoazw8Mik+PjJd
fDA7aj1jW2k+PjJdJjM7Zz1jWygoanwwKT09Mz9pOmkrNDh8MCkrNDA+PjJdfDA7aj1jWygoanww
KT09Mj9pOmkrLTQ4fDApKzQwPj4yXXwwO2RvIGlmKCEoKGd8MCk9PShqfDApPzE6KGNbKGNbZysx
Nj4+Ml18MCkrMjMyPj4yXXwwKSE9KGNbKGNbaisxNj4+Ml18MCkrMjMyPj4yXXwwKSkpe2Y9aTtk
b3tqPWNbZisxNj4+Ml18MDtmPWNbaisxNzI+PjJdfDB9d2hpbGUoKGZ8MCkhPTApO2Y9YVtqKzEx
Mz4+MF18MDtnPWNbaSsxNj4+Ml18MDthW2crMTEzPj4wXT1mO2c9Y1tnKzk2Pj4yXXwwO2lmKGcp
aWYoIShmPDwyND4+MjQpKXtGbChpKTtlPTE7ZD1jW2w+PjJdfDA7YnJlYWt9ZWxzZXtvPStoWygo
Y1soY1ttPj4yXXwwKSsxMTY+PjJdJjF8MCk9PTA/ZysyNHwwOmcrMzJ8MCk+PjNdO2o9aisxMzZ8
MDtuPStoW2o+PjNdO2hbaj4+M109bz5uP286bjticmVha319d2hpbGUoMCk7az1rKzF8MH19d2hp
bGUoMCk7ZD1kKzE2NHwwfWlmKGV8MCl7bmgoYik7QmgoYil9cmV0dXJuIGV8MH1mdW5jdGlvbiBE
bChiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTA7ZD1jW2I+PjJdJjM7aT1jWygo
ZHwwKT09Mz9iOmIrNDh8MCkrNDA+PjJdfDA7Zj1pKzE2fDA7Zz1jWyhjW2Y+PjJdfDApKzIzNj4+
Ml18MDtkPWNbKGNbKGNbKChkfDApPT0yP2I6YistNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsy
MzY+PjJdfDA7aD0oZ3wwKTwoZHwwKTtlPWg/ZDpnO2k9Y1soY1soVmYoaSl8MCkrMTY+PjJdfDAp
KzE5Nj4+Ml18MDtmPWkrKGNbKGNbZj4+Ml18MCkrMjMyPj4yXTw8NikrNHwwO2Q9aD9nOmQ7YTp3
aGlsZSgxKXtkPWQrMXwwO2lmKChkfDApPj0oZXwwKSlicmVhaztnPWNbKGNbKGNbZj4+Ml18MCkr
KGQ8PDIpPj4yXXwwKSsxNj4+Ml18MDtzd2l0Y2goYVtnKzE1Nj4+MF18MCl7Y2FzZSAwOmJyZWFr
IGE7Y2FzZSAxOmJyZWFrO2RlZmF1bHQ6Y29udGludWUgYX1pZihjW2crMTA0Pj4yXXwwKWJyZWFr
fWlmKChkfDApPT0oZXwwKSlkb3tpPWNbYisxNj4+Ml18MDthW2krMTEzPj4wXT0xO2I9Y1tpKzE3
Mj4+Ml18MH13aGlsZSgoYnwwKSE9MCk7cmV0dXJufWZ1bmN0aW9uIEVsKGEpe2E9YXwwO3ZhciBk
PTAsZT0wLGY9MCxnPTA7Zz1hKzE2fDA7YT1jW2c+PjJdfDA7aWYoYlthKzIzNj4+MV18MCltYSg4
MTI4MSw4MTI2NCwxOTAsODEzMDApO2Q9KGJbYSsyMzg+PjFdfDApKzN8MDthPWNbYSsxOTY+PjJd
fDA7aWYoIWEpYT13dyhkPDw2KXwwO2Vsc2UgYT15dyhhLGQ8PDYpfDA7ZD1hKzY0fDA7YT1jW2c+
PjJdfDA7Y1thKzE5Nj4+Ml09ZDthPWJbYSsyMzg+PjFdfDA7d2hpbGUoMSl7aWYoKGF8MCk8PS0x
KWJyZWFrO2Y9YSstMXwwO2U9ZCsoYTw8Nil8MDthPWQrKGY8PDYpfDA7ZD1lKzY0fDA7ZG97Y1tl
Pj4yXT1jW2E+PjJdO2U9ZSs0fDA7YT1hKzR8MH13aGlsZSgoZXwwKTwoZHwwKSk7YT1mO2Q9Y1so
Y1tnPj4yXXwwKSsxOTY+PjJdfDB9Y1tkKyhhPDw2KSs4Pj4yXT0wO2NbZCsoYTw8Nik+PjJdPTA7
ZT12dyg4KXwwO2c9Y1tnPj4yXXwwO2Y9Y1tnKzE5Nj4+Ml18MDtjW2YrKGE8PDYpKzEyPj4yXT1l
O2NbZisoYTw8NikrND4+Ml09ZTtjW2YrKGE8PDYpKzU2Pj4yXT0wO2hbZisoYTw8NikrMjQ+PjNd
PTEuMDtoW2YrKGE8PDYpKzE2Pj4zXT0xLjA7aFtmKyhhPDw2KSs0MD4+M109MS4wO2hbZisoYTw8
NikrMzI+PjNdPTEuMDtnPWcrMjM2fDA7YltnPj4xXT0oYltnPj4xXXwwKSstMTw8MTY+PjE2O3Jl
dHVybn1mdW5jdGlvbiBGbChiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAuMCxnPTAsaT0wLGo9MCxr
PTAsbD0wLG09MCxuPTAsbz0wLHA9MC4wLHE9MC4wLHI9MC4wO2o9YisxNnwwO2lmKGNbKGNbaj4+
Ml18MCkrOTY+PjJdfDApe209Yis0OHwwO2s9VmYoY1soKGNbYj4+Ml0mM3wwKT09Mz9iOm0pKzQw
Pj4yXXwwKXwwO2Q9Y1soY1soY1soKGNbYj4+Ml0mM3wwKT09Mz9iOm0pKzQwPj4yXXwwKSsxNj4+
Ml18MCkrMjMyPj4yXXwwO2w9R2woayxiKXwwO249aysxNnwwO2U9Y1tuPj4yXXwwO2c9Y1tlKzE5
Nj4+Ml18MDtvPWQrLTF8MDtpPWNbY1tnKyhvPDw2KSs0Pj4yXT4+Ml18MDtpZighaSlmPStoW2cr
KGQ8PDYpKzI0Pj4zXSsgK2hbKGNbKGNbY1tnKyhkPDw2KSs0Pj4yXT4+Ml18MCkrMTY+PjJdfDAp
KzI0Pj4zXSsgKyhjW2UrMjUyPj4yXXwwKTtlbHNlIGY9K2hbKGNbaSsxNj4+Ml18MCkrMjQ+PjNd
LStoW2crKG88PDYpKzE2Pj4zXTtkPUhsKGssbyxsKXwwO2s9Y1soY1tqPj4yXXwwKSs5Nj4+Ml18
MDtxPStoW2srMjQ+PjNdO3A9K2hbayszMj4+M107aj0oY1soY1tuPj4yXXwwKSsxMTY+PjJdJjF8
MCk9PTA7cj1qP3A6cTtnPWQrMTZ8MDtlPWNbZz4+Ml18MDtoW2UrODA+PjNdPXI7bD1+fihyKi41
KTtwPShqP3E6cCkqLjU7aFtlKzk2Pj4zXT1wO2hbZSs4OD4+M109cDtjW2UrMTA0Pj4yXT1rO2hb
ZSsyND4+M109KyhsK35+ZnwwKTtlPWFoKGQsY1soKGNbYj4+Ml0mM3wwKT09Mz9iOm0pKzQwPj4y
XXwwLGIpfDA7ZT1jW2UrMTY+PjJdfDA7aFtlKzE2Pj4zXT0tK2hbKGNbZz4+Ml18MCkrODg+PjNd
O2hbZSs1Nj4+M109K2hbKGNbKGNbKChjW2I+PjJdJjN8MCk9PTM/YjptKSs0MD4+Ml18MCkrMTY+
PjJdfDApKzk2Pj4zXTthW2UrMTEyPj4wXT00O2U9YistNDh8MDtkPWFoKGQsY1soKGNbYj4+Ml0m
M3wwKT09Mj9iOmUpKzQwPj4yXXwwLGIpfDA7Zz1jW2c+PjJdfDA7ZD1jW2QrMTY+PjJdfDA7aFtk
KzE2Pj4zXT0raFtnKzk2Pj4zXTtoW2QrNTY+PjNdPStoWyhjWyhjWygoY1tiPj4yXSYzfDApPT0y
P2I6ZSkrNDA+PjJdfDApKzE2Pj4yXXwwKSs4OD4+M107YVtkKzExMj4+MF09NDtkPWNbKGNbbj4+
Ml18MCkrMTk2Pj4yXXwwO2U9ZCsobzw8NikrMTZ8MDtmPSsobHwwKTtpZigraFtlPj4zXTxmKWhb
ZT4+M109ZjtkPWQrKG88PDYpKzI0fDA7aWYoK2hbZD4+M108ZiloW2Q+PjNdPWY7Y1tnKzExMj4+
Ml09Yn1yZXR1cm59ZnVuY3Rpb24gR2woYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAs
Zz0wLGg9MCxpPTAsaj0wLGs9MCxtPTAsbj0wO249bDtsPWwrMzJ8MDtqPW4rOHwwO2Y9bis0fDA7
Zz1uO2Q9Y1tiPj4yXSYzO2U9Y1soKGR8MCk9PTM/YjpiKzQ4fDApKzQwPj4yXXwwO2s9KGNbKGNb
ZSsxNj4+Ml18MCkrMjMyPj4yXXwwKSstMXwwO2E9Y1soY1thKzE2Pj4yXXwwKSsxOTY+PjJdfDA7
aD1jW2ErKGs8PDYpKzQ+PjJdfDA7YT1jW2ErKGs8PDYpPj4yXXwwO2s9ais4fDA7Y1trPj4yXT0t
MTtjW2o+PjJdPS0xO209aisxMnwwO2NbbT4+Ml09YTtpPWorNHwwO2NbaT4+Ml09YTtJbChlLGNb
KChkfDApPT0yP2I6YistNDh8MCkrNDA+PjJdfDAsZixnKTtmPWNbZj4+Ml18MDtnPWNbZz4+Ml18
MDtkPTA7ZT1hO2I9LTE7d2hpbGUoMSl7aWYoKGR8MCk+PShlfDApKWJyZWFrO2U9ZSstMXwwO0ps
KGNbaCsoZDw8Mik+PjJdfDAsaixmLGcpO2lmKChkfDApIT0oZXwwKSlKbChjW2grKGU8PDIpPj4y
XXwwLGosZixnKTthPWNbaT4+Ml18MDtiPWNbaj4+Ml18MDtpZigoYS1ifDApPDIpYnJlYWs7ZWxz
ZSBkPWQrMXwwfWlmKChifDApPihhfDApKWE9KGNbbT4+Ml18MCkrKGNbaz4+Ml18MCl8MDtlbHNl
IGE9YStifDA7bD1uO3JldHVybiAoYSsxfDApLzJ8MHwwfWZ1bmN0aW9uIEhsKGEsYixkKXthPWF8
MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MDtnPWErMTZ8MDtmPWNbKGNbZz4+
Ml18MCkrMTk2Pj4yXXwwO2U9ZisoYjw8Nil8MDtmPWNbZisoYjw8NikrND4+Ml18MDtpZighZilm
PXd3KChjW2U+PjJdPDwyKSs4fDApfDA7ZWxzZSBmPXl3KGYsKGNbZT4+Ml08PDIpKzh8MCl8MDtl
PWNbKGNbZz4+Ml18MCkrMTk2Pj4yXXwwO2NbZSsoYjw8NikrND4+Ml09ZjtlPWNbZSsoYjw8Nik+
PjJdfDA7d2hpbGUoMSl7aWYoKGV8MCk8PShkfDApKWJyZWFrO2g9ZSstMXwwO2k9Y1tmKyhoPDwy
KT4+Ml18MDtjW2YrKGU8PDIpPj4yXT1pO2k9KGNbaSsxNj4+Ml18MCkrMjM2fDA7Y1tpPj4yXT0o
Y1tpPj4yXXwwKSsxO2U9aH1oPWZoKGEpfDA7aT1mKyhkPDwyKXwwO2NbaT4+Ml09aDtoPWNbaCsx
Nj4+Ml18MDtjW2grMjM2Pj4yXT1kO2NbaCsyMzI+PjJdPWI7Zz0oY1soY1tnPj4yXXwwKSsxOTY+
PjJdfDApKyhiPDw2KXwwO2g9KGNbZz4+Ml18MCkrMXwwO2NbZz4+Ml09aDtjW2YrKGg8PDIpPj4y
XT0wO3JldHVybiBjW2k+PjJdfDB9ZnVuY3Rpb24gSWwoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1k
fDA7ZT1lfDA7dmFyIGY9MDthPWNbKGNbYSsxNj4+Ml18MCkrMjM2Pj4yXXwwO2I9Y1soY1tiKzE2
Pj4yXXwwKSsyMzY+PjJdfDA7Zj0oYXwwKT4oYnwwKTtjW2Q+PjJdPWY/YjphO2NbZT4+Ml09Zj9h
OmI7cmV0dXJufWZ1bmN0aW9uIEpsKGIsZCxlLGYpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3Zh
ciBnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTA7bT1sO2w9bCsxNnwwO2g9bSs0fDA7Zz1tO2I9
Y1tiKzE2Pj4yXXwwO2RvIGlmKChhW2IrMTU2Pj4wXXwwKT09MSl7az1jW2IrMjM2Pj4yXXwwO2lm
KGNbYisxNzY+PjJdfDApe2k9Y1tiKzE4MD4+Ml18MDtiPTA7Zz0wO2g9MDt3aGlsZSgxKXtqPWNb
aSsoaDw8Mik+PjJdfDA7aWYoIWopYnJlYWs7bj1jWyhjWyhjWygoY1tqPj4yXSYzfDApPT0yP2o6
aistNDh8MCkrNDA+PjJdfDApKzE2Pj4yXXwwKSsyMzY+PjJdfDA7aj0obnwwKT4oZXwwKTtiPWo/
KChufDApPChmfDApP2I6MSk6YjtnPWo/ZzoxO2g9aCsxfDB9aWYoZzw8MjQ+PjI0IT0wJmI8PDI0
Pj4yND09MCl7Y1tkPj4yXT1rKzE7YnJlYWt9aWYoIShnPDwyND4+MjQ9PTAmYjw8MjQ+PjI0IT0w
KSlicmVhaztjW2QrND4+Ml09aystMTticmVha31pZigoY1tiKzE4ND4+Ml18MCkhPTIpbWEoODEy
NDQsODEyNjQsNjMsODEyNzEpO2k9Y1tiKzE4MD4+Ml18MDtuPWNbaT4+Ml18MDtpPWNbaSs0Pj4y
XXwwO0lsKGNbKChjW24+PjJdJjN8MCk9PTI/bjpuKy00OHwwKSs0MD4+Ml18MCxjWygoY1tpPj4y
XSYzfDApPT0yP2k6aSstNDh8MCkrNDA+PjJdfDAsaCxnKTtpPWNbZz4+Ml18MDtpZigoaXwwKTw9
KGV8MCkpe2NbZD4+Ml09aztjW2QrOD4+Ml09azticmVha31iPWNbaD4+Ml18MDtpZigoYnwwKT49
KGZ8MCkpe2NbZCs0Pj4yXT1rO2NbZCsxMj4+Ml09azticmVha31nPShifDApPChlfDApO2g9KGl8
MCk+KGZ8MCk7aWYoIShoJmcpKXtpZighKCFnPyEoKGl8MCk8KGZ8MCkmKGJ8MCk9PShlfDApKTow
KSljW2QrOD4+Ml09aztpZighaD8hKChpfDApPT0oZnwwKSYoYnwwKT4oZXwwKSk6MClicmVhaztj
W2QrMTI+PjJdPWt9fXdoaWxlKDApO2w9bTtyZXR1cm59ZnVuY3Rpb24gS2woYSl7YT1hfDA7dmFy
IGI9MCxkPTAsZT0wLGY9MCxnPTAsaD0wO2RvIGlmKChhfDApIT0wPyhjW2ErMjQ+PjJdfDApPD0w
OjApe2g9Y1thKzQ+PjJdfDA7Zz1oKzMyfDA7Yj1jW2c+PjJdfDA7aWYoYil7Yj1jYltiJjMxXShh
LDIsMCxoKXwwO2lmKChifDApPDApe2I9LTE7YnJlYWt9fWVsc2UgYj0wO2lmKGNbYSsyOD4+Ml18
MClXbChhLDApfDA7Zj0oYnwwKT09MDtpZihmKXtiYltjW2NbYSsxNj4+Ml0+PjJdJjMxXShhLDAs
NjQpfDA7aWYoKFNsKGEpfDApPjApe2I9LTE7YnJlYWt9ZD1hKzh8MDtiPWNbZD4+Ml18MDtpZigo
Y1tiKzEyPj4yXXwwKT4wKXtlPWErMTJ8MDtjYltjW2U+PjJdJjMxXShhLGNbYis4Pj4yXXwwLDAs
aCl8MDtiPWNbZD4+Ml18MH1lbHNlIGU9YSsxMnwwO2NiW2NbZT4+Ml0mMzFdKGEsYiwwLGgpfDB9
Yj1jW2ErMjA+PjJdfDA7aWYoYil7aWYoZiYoYnwwKT09MSljYltjW2ErMTI+PjJdJjMxXShhLGEs
MCxoKXwwfWVsc2UgX0koYSk7Yj1jW2c+PjJdfDA7aWYoIWIpYj0wO2Vsc2V7Y2JbYiYzMV0oYSw2
LDAsaCl8MDtiPTB9fWVsc2UgYj0tMTt3aGlsZSgwKTtyZXR1cm4gYnwwfWZ1bmN0aW9uIExsKGEs
YixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9
MCxtPTAsbj0wO2Y9YSs0fDA7bj1jW2Y+PjJdfDA7YTpkbyBpZihuKWlmKGIpe209Y1tjW2ErMTY+
PjJdPj4yXXwwO2c9YSs4fDA7aWYoY1tjW2c+PjJdPj4yXSY0MDk2fDApUmwoYSwwKXwwO2U9Y1tu
KzMyPj4yXXwwO2lmKGV8MD8oY2JbZSYzMV0oYSwzLGIsbil8MCk8MDowKXtiPTA7YnJlYWt9Y1tm
Pj4yXT1iO2U9Y1tiKzI4Pj4yXXwwO2NbYSsxMj4+Ml09KGV8MCk9PTA/MTk6ZTtlPWNbY1tnPj4y
XT4+Ml18MDtpZighKGUmMTEyKSl7ZG8gaWYoIShlJjIpKWlmKCEoZSYzKSlpZighKGQmMSkpYnJl
YWs7ZWxzZXtiPW47YnJlYWsgYX1lbHNlIGlmKChkJjN8MCk9PTMpe2I9bjticmVhayBhfWVsc2Ug
YnJlYWs7ZWxzZSBpZihkJjJ8MCl7Yj1uO2JyZWFrIGF9d2hpbGUoMCk7aD1PbChhKXwwO2U9Y1tn
Pj4yXXwwO2w9Y1tlPj4yXXwwO2NbZT4+Ml09bCYtNDA5NztjW2UrND4+Ml09MDtjW2UrMTY+PjJd
PTA7YjpkbyBpZihsJjN8MCl7bD1jW2UrOD4+Ml18MDtmPWwrKGNbZSsxMj4+Ml08PDIpfDA7ZT1s
O3doaWxlKDEpe2lmKGU+Pj4wPj1mPj4+MClicmVhayBiO2NbZT4+Ml09MDtlPWUrNHwwfX13aGls
ZSgwKTtpPShkJjJ8MCk9PTA7aj1iKzh8MDtrPWIrNHwwO2w9YisyNHwwO3doaWxlKDEpe2lmKCFo
KXtiPW47YnJlYWsgYX1kPWNbaD4+Ml18MDtpZihpKXtlPWNbaj4+Ml18MDtpZigoZXwwKTwwKWU9
Y1toKzg+PjJdfDA7ZWxzZSBlPWgrKDAtZSl8MDtnPWNbaz4+Ml18MDtlPWUrKGNbYj4+Ml18MCl8
MDtpZigoZ3wwKTwwKWU9Y1tlPj4yXXwwO2Y9Y1tsPj4yXXwwO2lmKCFmKWU9VWwoMCxlLGcpfDA7
ZWxzZSBlPWJiW2YmMzFdKGEsZSxiKXwwO2NbaCs0Pj4yXT1lfWJiW20mMzFdKGEsaCwzMil8MDto
PWR9fWVsc2UgYj1ufWVsc2UgYj1uO2Vsc2V7Y1tmPj4yXT1iO249Y1tiKzI4Pj4yXXwwO2NbYSsx
Mj4+Ml09KG58MCk9PTA/MTk6bn13aGlsZSgwKTtyZXR1cm4gYnwwfWZ1bmN0aW9uIE1sKGEsYixj
LGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2E9KGN8MCk9PTA7ZG8gaWYoIWIpaWYoYSlhPTA7
ZWxzZSBhPVpJKGMpfDA7ZWxzZSBpZihhKXtfSShiKTthPTA7YnJlYWt9ZWxzZXthPWFKKGIsYyl8
MDticmVha313aGlsZSgwKTtyZXR1cm4gYXwwfWZ1bmN0aW9uIE5sKGEpe2E9YXwwO3ZhciBiPTAs
ZD0wLGU9MDtlPWErOHwwO2I9Y1tlPj4yXXwwO2Q9Y1tiPj4yXXwwO2E6ZG8gaWYoIShkJjEyKSl7
aWYoIShkJjMpKXtkPWIrOHwwO2E9Y1tkPj4yXXwwO2NbZD4+Ml09MDticmVha31hPU9sKGEpfDA7
ZD1jW2U+PjJdfDA7Yj1jW2QrOD4+Ml18MDtkPWIrKGNbZCsxMj4+Ml08PDIpfDA7d2hpbGUoMSl7
aWYoYj4+PjA+PWQ+Pj4wKWJyZWFrIGE7Y1tiPj4yXT0wO2I9Yis0fDB9fWVsc2UgYT1jW2IrND4+
Ml18MDt3aGlsZSgwKTtlPWNbZT4+Ml18MDtjW2U+PjJdPWNbZT4+Ml0mLTQwOTc7Y1tlKzE2Pj4y
XT0wO2NbZSs0Pj4yXT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gT2woYSl7YT1hfDA7dmFyIGI9MCxk
PTAsZT0wLGY9MCxnPTA7Zz1hKzh8MDthPWNbZz4+Ml18MDtiPWNbYT4+Ml18MDtpZighKGImNDA5
Nikpe2E6ZG8gaWYoIShiJjMpKXtpZihiJjExMnwwKXthPWNbYSs4Pj4yXXwwO2JyZWFrfWE9Y1th
KzQ+PjJdfDA7aWYoIWEpYT0wO2Vsc2V7d2hpbGUoMSl7Yj1hKzR8MDtkPWNbYj4+Ml18MDtpZigh
ZCl7ZT1hO2JyZWFrfWNbYj4+Ml09Y1tkPj4yXTtjW2Q+PjJdPWE7YT1kfXdoaWxlKDEpe2I9Y1tl
Pj4yXXwwO2lmKCFiKWJyZWFrIGE7ZD1jW2IrND4+Ml18MDtpZighZCl7ZT1iO2NvbnRpbnVlfXdo
aWxlKDEpe2NbYis0Pj4yXT1jW2Q+PjJdO2NbZD4+Ml09YjtiPWNbZCs0Pj4yXXwwO2lmKCFiKWJy
ZWFrO2Vsc2V7Zj1kO2Q9YjtiPWZ9fWNbZT4+Ml09ZDtlPWR9fX1lbHNle2U9Y1thKzg+PjJdfDA7
Zj1lKyhjW2ErMTI+PjJdPDwyKXwwO2I9MDthPTA7d2hpbGUoMSl7aWYoZT4+PjA+PWY+Pj4wKWJy
ZWFrIGE7ZD1jW2U+PjJdfDA7aWYoZCl7aWYoIWIpe2I9ZDthPWR9ZWxzZSBjW2I+PjJdPWQ7d2hp
bGUoMSl7ZD1jW2I+PjJdfDA7aWYoIWQpYnJlYWs7ZWxzZSBiPWR9Y1tlPj4yXT1ifWU9ZSs0fDB9
fXdoaWxlKDApO2c9Y1tnPj4yXXwwO2NbZys0Pj4yXT1hO2NbZz4+Ml09Y1tnPj4yXXw0MDk2fWVs
c2UgYT1jW2ErND4+Ml18MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIFBsKGEsYixkKXthPWF8MDtiPWJ8
MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxw
PTAscT0wLHI9MCxzPTAsdD0wLHU9MDtzPWErOHwwO2lmKGNbY1tzPj4yXT4+Ml0mNDA5NnwwKVJs
KGEsMCl8MDtyPWNbYSs0Pj4yXXwwO209Y1tyPj4yXXwwO249Y1tyKzQ+PjJdfDA7cT1yKzh8MDt1
PWNbcT4+Ml18MDtvPWNbcisyMD4+Ml18MDtwPWErMjB8MDtmPWNbcD4+Ml0mLTMyNzY5O2NbcD4+
Ml09ZjthOmRvIGlmKCFiKXtpZihkJjM4NHwwKXtmPWNbcz4+Ml18MDtlPWNbZis4Pj4yXXwwO2lm
KCFlKXtlPTA7YnJlYWt9aWYoZCYyNTYpe2U9Y1tlKzQ+PjJdfDA7Y1tmKzQ+PjJdPWU7aWYoIWUp
e2U9MDticmVha319ZWxzZSBjW2YrND4+Ml09ZTtpZigodXwwKTwwKXtlPWNbZSs4Pj4yXXwwO2Jy
ZWFrfWVsc2V7ZT1lKygwLXUpfDA7YnJlYWt9fWlmKGQmNDA5OHwwKXtlPWNbcz4+Ml18MDtpZihj
W2U+PjJdJjE0NHwwKXtlPTA7YnJlYWt9ZT1jW2UrOD4+Ml18MDtpZighZSl7ZT0wO2JyZWFrfWVs
c2V7aD1lO3Q9ODQ7YnJlYWt9fWlmKCEoZCY2NCkpZT0wO2Vsc2V7aT1yKzE2fDA7YjpkbyBpZigo
Y1tpPj4yXXwwKSE9MHwodXwwKTwwKXtqPWErMTJ8MDtrPSh1fDApPDA7Zj0wLXV8MDtlPWNbKGNb
cz4+Ml18MCkrOD4+Ml18MDt3aGlsZSgxKXtpZighZSlicmVhayBiO2c9Y1tlPj4yXXwwO2g9Y1tp
Pj4yXXwwO2lmKGh8MCl7aWYoayliPWNbZSs4Pj4yXXwwO2Vsc2UgYj1lK2Z8MDtpYltoJjEyN10o
YSxiLHIpfWlmKChjW3E+PjJdfDApPj0wKXtlPWc7Y29udGludWV9Y2JbY1tqPj4yXSYzMV0oYSxl
LDAscil8MDtlPWd9fXdoaWxlKDApO2U9Y1tzPj4yXXwwO2NbZSs0Pj4yXT0wO2NbZSs4Pj4yXT0w
O2NbKGNbcz4+Ml18MCkrMTY+PjJdPTA7ZT0wfX1lbHNle2lmKGQmMjA0OXwwKXtnPXIrMTJ8MDtl
PWNbZz4+Ml18MDtoPShkJjF8MCk9PTA7aWYoIShofChlfDApPT0wKSl7ZT1iYltlJjMxXShhLGIs
cil8MDtpZighZSl7ZT0wO2JyZWFrfWVsc2UgZj1lfWVsc2UgZj1iO2RvIGlmKCh1fDApPi0xKWg9
Zit1fDA7ZWxzZXtlPWNiW2NbYSsxMj4+Ml0mMzFdKGEsMCwxMixyKXwwO2lmKGV8MCl7Y1tlKzg+
PjJdPWY7aD1lO2JyZWFrfWlmKCEoY1tnPj4yXXwwKSl7ZT0wO2JyZWFrIGF9ZT1jW3IrMTY+PjJd
fDA7aWYoaHwoZXwwKT09MCl7ZT0wO2JyZWFrIGF9aWJbZSYxMjddKGEsZixyKTtlPTA7YnJlYWsg
YX13aGlsZSgwKTtnPWNbcz4+Ml18MDtlPWNbZz4+Ml18MDtkbyBpZighKGUmMTI4KSl7aWYoIShl
JjE2KSlpZighKGUmMzIpKXt0PTUxO2JyZWFrfWVsc2V7dD00ODticmVha31mPWNbZys0Pj4yXXww
O2U9KGZ8MCkhPTA7aWYoIShkJjgxOTIpKXtpZighZSl7dD00ODticmVha31pZigoZnwwKT09KGNb
Zys4Pj4yXXwwKSl7dD00ODticmVha31yPWYrNHwwO2E9Y1tyPj4yXXwwO2NbaCs0Pj4yXT1hO2Nb
YT4+Ml09aDtjW2g+PjJdPWY7Y1tyPj4yXT1oO2JyZWFrfWVsc2V7aWYoIWUpe3Q9NTE7YnJlYWt9
ZT1jW2Y+PjJdfDA7aWYoIWUpe3Q9NTE7YnJlYWt9Y1toPj4yXT1lO2NbZSs0Pj4yXT1oO2NbaCs0
Pj4yXT1mO2NbZj4+Ml09aDticmVha319ZWxzZSBpZighKGQmODE5MikpdD00ODtlbHNlIHQ9NTE7
d2hpbGUoMCk7aWYoKHR8MCk9PTQ4KXtlPWNbZys4Pj4yXXwwO2NbaD4+Ml09ZTtpZighZSllPWg7
ZWxzZSBjW2grND4+Ml09Y1tlKzQ+PjJdO2NbZSs0Pj4yXT1oO2NbKGNbcz4+Ml18MCkrOD4+Ml09
aH1lbHNlIGlmKCh0fDApPT01MSl7Zj1nKzh8MDtlPWNbZj4+Ml18MDtpZighZSl7Y1tmPj4yXT1o
O2U9aH1lbHNle3I9ZSs0fDA7Y1tjW3I+PjJdPj4yXT1oO2NbaCs0Pj4yXT1jW3I+PjJdfWNbZSs0
Pj4yXT1oO2NbaD4+Ml09MH1lPWNbcz4+Ml18MDtmPWUrMTZ8MDtnPWNbZj4+Ml18MDtpZigoZ3ww
KT4tMSljW2Y+PjJdPWcrMTtjW2UrND4+Ml09aDtpZigodXwwKTwwKXtlPWNbaCs4Pj4yXXwwO2Jy
ZWFrfWVsc2V7ZT1oKygwLXUpfDA7YnJlYWt9fWg9Y1tzPj4yXXwwO2RvIGlmKCEoZCY1MTIpKXtl
PWNbaCs0Pj4yXXwwO2lmKGV8MCl7aWYoKHV8MCk8MClnPWNbZSs4Pj4yXXwwO2Vsc2UgZz1lKygw
LXUpfDA7aWYoKGd8MCk9PShifDApKWJyZWFrfWU9YittfDA7aWYoKG58MCk8MCl7Yj1jW2U+PjJd
fDA7dD02OH1lbHNle2I9ZTt0PTY4fX1lbHNlIHQ9Njg7d2hpbGUoMCk7aWYoKHR8MCk9PTY4KXtn
PSh1fDApPDA7aT0obnwwKTwwO2o9KG98MCk9PTA7az0obnwwKTwxO2w9MC11fDA7ZT1oKzh8MDtk
b3tlPWNbZT4+Ml18MDtpZighZSl7ZT0wO2JyZWFrIGF9aWYoZylmPWNbZSs4Pj4yXXwwO2Vsc2Ug
Zj1lK2x8MDtmPWYrbXwwO2lmKGkpZj1jW2Y+PjJdfDA7ZG8gaWYoailpZihrKXtmPXhKKGIsZil8
MDticmVha31lbHNle2Y9ZEwoYixmLG4pfDA7YnJlYWt9ZWxzZSBmPWNiW28mMzFdKGEsYixmLHIp
fDA7d2hpbGUoMCl9d2hpbGUoKGZ8MCkhPTApO2Y9Y1twPj4yXXwwfWNbcD4+Ml09ZnwzMjc2ODtp
ZighKGQmNDA5OCkpe2RvIGlmKCEoZCY4KSl7Zj1jW3M+PjJdfDA7aWYoIShkJjE2KSl7Y1tmKzQ+
PjJdPWU7YnJlYWt9aWYoKGV8MCk9PShjW2YrOD4+Ml18MCkpe2NbZis0Pj4yXT0wO2U9MDticmVh
ayBhfWVsc2V7ZT1lKzR8MDt0PTEwODticmVha319ZWxzZXtmPWNbcz4+Ml18MDt0PTEwOH13aGls
ZSgwKTtpZigodHwwKT09MTA4KXtlPWNbZT4+Ml18MDtjW2YrND4+Ml09ZTtpZighZSl7ZT0wO2Jy
ZWFrfX1pZigodXwwKTwwKXtlPWNbZSs4Pj4yXXwwO2JyZWFrfWVsc2V7ZT1lKygwLXUpfDA7YnJl
YWt9fWVsc2V7aD1lO3Q9ODR9fXdoaWxlKDApO2lmKCh0fDApPT04NCl7ZT1jW2g+PjJdfDA7aWYo
ZSl7Y1tlKzQ+PjJdPWNbaCs0Pj4yXTtlPWNbaD4+Ml18MH1mPShjW3M+PjJdfDApKzh8MDtnPWNb
Zj4+Ml18MDtpZigoaHwwKT09KGd8MCkpe2NbZj4+Ml09ZTtlPWNbKGNbcz4+Ml18MCkrOD4+Ml18
MDtpZihlfDApY1tlKzQ+PjJdPWNbaCs0Pj4yXX1lbHNle2Y9aCs0fDA7Y1tjW2Y+PjJdPj4yXT1l
O2U9Zys0fDA7aWYoKGh8MCk9PShjW2U+PjJdfDApKWNbZT4+Ml09Y1tmPj4yXX1lPWNbcz4+Ml18
MDtmPWUrNHwwO2lmKChofDApPT0oY1tmPj4yXXwwKSlnPWNbaD4+Ml18MDtlbHNlIGc9MDtjW2Y+
PjJdPWc7dD1lKzE2fDA7Y1t0Pj4yXT0oY1t0Pj4yXXwwKSstMTtpZigodXwwKTwwKWU9Y1toKzg+
PjJdfDA7ZWxzZSBlPWgrKDAtdSl8MDtmPWNbcisxNj4+Ml18MDtpZighKChkJjJ8MCk9PTB8KGZ8
MCk9PTApKWliW2YmMTI3XShhLGUscik7aWYoKGNbcT4+Ml18MCk8MCljYltjW2ErMTI+PjJdJjMx
XShhLGgsMCxyKXwwfXJldHVybiBlfDB9ZnVuY3Rpb24gUWwoYSxiKXthPWF8MDtiPWJ8MDt2YXIg
ZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wO2o9bDtsPWwrMTZ8MDtnPWo7YTpkbyBpZigoYXww
KSE9MCYoYnwwKSE9MD8oZj1aSSg0MCl8MCwoZnwwKSE9MCk6MCl7Y1tmPj4yXT0wO2NbZisxNj4+
Ml09MDtjW2YrND4+Ml09MDtMbChmLGEsMCl8MDtkPWYrMjB8MDtpPWErMzJ8MDtjW2Q+PjJdPTA7
Y1tkKzQ+PjJdPTA7Y1tkKzg+PjJdPTA7Y1tkKzEyPj4yXT0wO2NbZCsxNj4+Ml09MDtkPWNbaT4+
Ml18MDtkbyBpZihkKXtjW2c+PjJdPTA7ZD1jYltkJjMxXShmLDEsZyxhKXwwO2lmKChkfDApPj0w
KWlmKGQpe2U9Y1tnPj4yXXwwO2lmKGV8MClpZighKGNbYis0Pj4yXSZjW2U+PjJdKSl7ZD1mO2g9
MTI7YnJlYWt9ZWxzZXtkPWY7YnJlYWt9ZD1hKzI4fDA7aWYoIShjW2Q+PjJdfDApKXtkPWY7aD0x
Mn1lbHNle19JKGYpO2U9Y2JbY1tkPj4yXSYzMV0oMCwwLDQwLGEpfDA7aWYoIWUpe2Q9MDticmVh
ayBhfWNbZT4+Ml09MDtjW2UrMTY+PjJdPTA7Y1tlKzQ+PjJdPTA7TGwoZSxhLDApfDA7Y1tlKzIw
Pj4yXT0xO2NbZSsyND4+Ml09MDtjW2UrMzI+PjJdPTA7Y1tlKzI4Pj4yXT0wO2Q9ZTtmPWU7aD0x
MX19ZWxzZXtkPWY7aD0xMX1lbHNle2Q9ZjtoPTEyfX1lbHNle2Q9ZjtoPTExfXdoaWxlKDApO2lm
KChofDApPT0xMSl7ZT1jYltjW2QrMTI+PjJdJjMxXShkLDAsMjgsYSl8MDtjW2c+PjJdPWU7aWYo
IWUpe2Q9ZjtoPTEyfWVsc2V7Y1tlPj4yXT1jW2IrND4+Ml07Zz1lKzR8MDtjW2c+PjJdPTA7Y1tn
KzQ+PjJdPTA7Y1tnKzg+PjJdPTA7Y1tnKzEyPj4yXT0wO2NbZysxNj4+Ml09MDtjW2crMjA+PjJd
PTB9fWlmKChofDApPT0xMil7X0koZCk7ZD0wO2JyZWFrfWNbZCs4Pj4yXT1lO2NbZD4+Ml09Y1ti
Pj4yXTtjW2QrMTY+PjJdPWI7ZT1jW2k+PjJdfDA7aWYoZSljYltlJjMxXShkLDUsZixhKXwwfWVs
c2UgZD0wO3doaWxlKDApO2w9ajtyZXR1cm4gZHwwfWZ1bmN0aW9uIFJsKGEsYil7YT1hfDA7Yj1i
fDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MDtmPWNbY1thKzE2Pj4yXT4+Ml18MDtq
PWErOHwwO2c9Y1tqPj4yXXwwO2g9Y1tnPj4yXXwwO2Q9aCY0MDk2O2lmKCFiKWlmKCFkKWI9LTE7
ZWxzZXtlPWQ7Yj1jW2crND4+Ml18MDtpPTV9ZWxzZSBpZighKGNbZysxNj4+Ml18MCkpe2U9MDtp
PTV9ZWxzZSBiPS0xO2E6ZG8gaWYoKGl8MCk9PTUpe2NbZz4+Ml09aCYtNDA5NztpZighKGgmMykp
e2Q9Zys0fDA7aWYoIShoJjEyKSl7Y1tkPj4yXT0wO2Q9Zys4fDB9Y1tkPj4yXT1iO2lmKGV8MCl7
Yj0wO2JyZWFrfWNbKGNbaj4+Ml18MCkrMTY+PjJdPS0xO2I9MDticmVha31jW2crND4+Ml09MDtp
ZighZSl7Y1tnKzE2Pj4yXT0wO3doaWxlKDEpe2lmKCFiKXtiPTA7YnJlYWsgYX1qPWNbYj4+Ml18
MDtiYltmJjMxXShhLGIsMzIpfDA7Yj1qfX1lPWNbZys4Pj4yXXwwO2E9ZSsoY1tnKzEyPj4yXTw8
Mil8MDt3aGlsZSgxKXtpZihlPj4+MD49YT4+PjApe2I9MDticmVhayBhfWQ9Y1tlPj4yXXwwO2lm
KGQpe2NbZT4+Ml09YjtiPWNbZD4+Ml18MDtjW2Q+PjJdPTB9ZT1lKzR8MH19d2hpbGUoMCk7cmV0
dXJuIGJ8MH1mdW5jdGlvbiBTbChhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTA7Yj1hKzh8MDtkPWNb
Yj4+Ml18MDtpZihjW2Q+PjJdJjQwOTYpe1JsKGEsMCl8MDtkPWNbYj4+Ml18MH1lPWQrMTZ8MDth
PWNbZT4+Ml18MDtkbyBpZigoYXwwKTwwKXtiPWNbZD4+Ml18MDtpZihiJjEyfDApe2E9VGwoY1tk
KzQ+PjJdfDApfDA7Y1tlPj4yXT1hO2JyZWFrfWlmKGImMTEyKXthPTA7Yj1kKzh8MDt3aGlsZSgx
KXtiPWNbYj4+Ml18MDtpZighYilicmVhazthPWErMXwwfWNbZT4+Ml09YX19d2hpbGUoMCk7cmV0
dXJuIGF8MH1mdW5jdGlvbiBUbChhKXthPWF8MDt2YXIgYj0wO2lmKCFhKXJldHVybiAwO2Vsc2V7
Yj1UbChjW2ErND4+Ml18MCl8MDtyZXR1cm4gYisxKyhUbChjW2E+PjJdfDApfDApfDB9cmV0dXJu
IDB9ZnVuY3Rpb24gVWwoYixjLGUpe2I9YnwwO2M9Y3wwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MDtn
PWM7aWYoKGV8MCk+PTEpe2g9YytlKy0xfDA7Zz0oaD4+PjA8Yz4+PjA/YzpoKSsoMS1nKSYtMjtm
PWM7d2hpbGUoMSl7aWYoZj4+PjA+PWg+Pj4wKWJyZWFrO2I9TygoKGRbZj4+MF18MCk8PDgpK2Ir
KGRbZisxPj4wXXwwKXwwLDE3MTA5ODExKXwwO2Y9ZisyfDB9Zj1jK2d8MDtpZihmPj4+MD5oPj4+
MCljPWU7ZWxzZXtjPWU7Yj1PKCgoZFtmPj4wXXwwKTw8OCkrYnwwLDE3MTA5ODExKXwwfX1lbHNl
e3doaWxlKDEpe2Y9YVtjPj4wXXwwO2lmKCEoZjw8MjQ+PjI0KSlicmVhaztoPWFbYysxPj4wXXww
O2U9TygoKGYmMjU1KTw8OCkrYisoaCYyNTUpfDAsMTcxMDk4MTEpfDA7Yj1lO2M9YysoaDw8MjQ+
PjI0PzI6MSl8MH1jPWMtZ3wwfXJldHVybiBPKGIrY3wwLDE3MTA5ODExKXwwfWZ1bmN0aW9uIFZs
KGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0w
LG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAs
QT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wO0c9bDtsPWwrMTI4fDA7ej1HKzEyMHwwO3I9RztG
PWErOHwwO2U9Y1tGPj4yXXwwO2lmKGNbZT4+Ml0mNDA5Nil7UmwoYSwwKXwwO2U9Y1tGPj4yXXww
fUU9Y1thKzQ+PjJdfDA7QT1jW0U+PjJdfDA7Qj1jW0UrND4+Ml18MDt4PUUrOHwwO0Q9Y1t4Pj4y
XXwwO0M9Y1tFKzIwPj4yXXwwO3Q9YSsyMHwwO2NbdD4+Ml09Y1t0Pj4yXSYtMzI3Njk7aD1jW2Ur
ND4+Ml18MDthOmRvIGlmKCFiKWlmKChkJjQ0OHwwKT09MHwoaHwwKT09MCllPTA7ZWxzZXtpZigh
KGQmNjQpKXtiOmRvIGlmKCEoZCYyNTYpKXtlPWg7d2hpbGUoMSl7Zj1lKzR8MDtnPWNbZj4+Ml18
MDtpZighZylicmVhayBiO2NbZj4+Ml09Y1tnPj4yXTtjW2c+PjJdPWU7ZT1nfX1lbHNle2U9aDt3
aGlsZSgxKXtmPWNbZT4+Ml18MDtpZighZilicmVhayBiO2E9Zis0fDA7Y1tlPj4yXT1jW2E+PjJd
O2NbYT4+Ml09ZTtlPWZ9fXdoaWxlKDApO2NbKGNbRj4+Ml18MCkrND4+Ml09ZTtpZigoRHwwKTww
KXtlPWNbZSs4Pj4yXXwwO2JyZWFrfWVsc2V7ZT1lKygwLUQpfDA7YnJlYWt9fWI9RSsxNnwwO2lm
KChjW2I+PjJdfDApIT0wfChEfDApPDApe2o9YSsxMnwwO2s9KER8MCk8MDtpPTAtRHwwO2U9aDtk
b3toPWU7d2hpbGUoMSl7ZT1oKzR8MDtmPWNbZT4+Ml18MDtpZighZilicmVhaztjW2U+PjJdPWNb
Zj4+Ml07Y1tmPj4yXT1oO2g9Zn1lPWNbaD4+Ml18MDtmPWNbYj4+Ml18MDtpZihmfDApe2lmKGsp
Zz1jW2grOD4+Ml18MDtlbHNlIGc9aCtpfDA7aWJbZiYxMjddKGEsZyxFKX1pZigoY1t4Pj4yXXww
KTwwKWNiW2Nbaj4+Ml0mMzFdKGEsaCwwLEUpfDB9d2hpbGUoKGV8MCkhPTApO2U9Y1tGPj4yXXww
fWNbZSsxNj4+Ml09MDtjW2UrND4+Ml09MDtlPTB9ZWxzZXt5PWErMTZ8MDt1PShkJjQwOTh8MCk9
PTA7YzpkbyBpZih1fChjWyhjW3k+PjJdfDApKzQ+PjJdfDApIT04KXY9NDU7ZWxzZXtrPShCfDAp
PDA7ZT1iK0F8MDtpZihrKWU9Y1tlPj4yXXwwO2k9KEN8MCk9PTA7aj0oQnwwKTwxO2c9YmJbY1th
Pj4yXSYzMV0oYSxiLDQpfDA7d2hpbGUoMSl7aWYoIWcpe3Y9NDU7YnJlYWsgY31mPWcrQXwwO2lm
KGspZj1jW2Y+PjJdfDA7ZG8gaWYoaSlpZihqKXtmPXhKKGUsZil8MDticmVha31lbHNle2Y9ZEwo
ZSxmLEIpfDA7YnJlYWt9ZWxzZSBmPWNiW0MmMzFdKGEsZSxmLEUpfDA7d2hpbGUoMCk7aWYoZnww
KXt2PTQ1O2JyZWFrIGN9aWYoKGd8MCk9PShifDApKWJyZWFrO2c9YmJbY1thPj4yXSYzMV0oYSxn
LDgpfDB9aD1jWyhjW0Y+PjJdfDApKzQ+PjJdfDA7Y1t6Pj4yXT1jW2grND4+Ml07Y1t6KzQ+PjJd
PWNbaD4+Ml07ZT16O3Y9MTgwfXdoaWxlKDApO2Q6ZG8gaWYoKHZ8MCk9PTQ1KXtkbyBpZighKGQm
MjU2NSkpe2lmKGQmMzJ8MCl7aWYoKER8MCk8MClnPWNbYis4Pj4yXXwwO2Vsc2UgZz1iKygwLUQp
fDA7ZT1nK0F8MDtpZigoQnwwKTwwKWY9Y1tlPj4yXXwwO2Vsc2UgZj1lO2lmKCFoKXtlPWI7Zj16
O2g9ejt2PTE5ODticmVha31lbHNle2U9YjtzPWY7aj1iO3Y9NjQ7YnJlYWt9fWlmKGgpe2lmKChE
fDApPDApZT1jW2grOD4+Ml18MDtlbHNlIGU9aCsoMC1EKXwwO2lmKChlfDApIT0oYnwwKSl7Zj1i
K0F8MDtpZigoQnwwKTwwKXtnPWI7ZT0wO3M9Y1tmPj4yXXwwO2o9MDt2PTY0fWVsc2V7Zz1iO2U9
MDtzPWY7aj0wO3Y9NjR9fWVsc2V7ZT0wO2c9YjtmPXo7az16O2o9MDt2PTE0MX19ZWxzZXtlPTA7
Zz1iO2Y9ejtoPXo7dj0xOTh9fWVsc2V7aWYoIShkJjUxMikpe2U9YitBfDA7aWYoKEJ8MCk8MClm
PWNbZT4+Ml18MDtlbHNlIGY9ZX1lbHNlIGY9YjtpZighaCl7ZT0wO2c9YjtmPXo7aD16O3Y9MTk4
fWVsc2V7Zz1iO2U9MDtzPWY7aj0wO3Y9NjR9fXdoaWxlKDApO2U6ZG8gaWYoKHZ8MCk9PTY0KXtm
OmRvIGlmKChjWyhjW3k+PjJdfDApKzQ+PjJdfDApPT00PyhxPWNbKGNbRj4+Ml18MCkrMjQ+PjJd
fDAsISgoZCY1MTZ8MCk9PTB8KHF8MCk9PTApKTowKXtiPShEfDApPDA7bT0oQnwwKTwwO249KEN8
MCk9PTA7bz0oQnwwKTwxO3A9MC1EfDA7az0wO2Y9aDt3aGlsZSgxKXtpZigoa3wwKT49KHF8MCkp
e2Y9ejtrPXo7bT0wO2JyZWFrfWlmKGIpaT1jW2YrOD4+Ml18MDtlbHNlIGk9ZitwfDA7aT1pK0F8
MDtpZihtKWk9Y1tpPj4yXXwwO2RvIGlmKG4paWYobyl7aT14SihzLGkpfDA7YnJlYWt9ZWxzZXtp
PWRMKHMsaSxCKXwwO2JyZWFrfWVsc2UgaT1jYltDJjMxXShhLHMsaSxFKXwwO3doaWxlKDApO2lm
KCFpKXt2PTgwO2JyZWFrfWNbcisoazw8Mik+PjJdPWk7Zj1jWygoaXwwKTwwP2YrNHwwOmYpPj4y
XXwwO2lmKCFmKXtlPTA7YnJlYWsgYX1lbHNlIGs9aysxfDB9aWYoKHZ8MCk9PTgwKWlmKGIpe2U9
Y1tmKzg+PjJdfDA7YnJlYWsgYX1lbHNle2U9ZitwfDA7YnJlYWsgYX13aGlsZSgxKXtpZigobXww
KT49KHF8MCkpYnJlYWsgZjtkbyBpZigoY1tyKyhtPDwyKT4+Ml18MCk8MCl7aT1oKzR8MDtiPWNb
aT4+Ml18MDtpZigoY1tyKygobXwxKTw8Mik+PjJdfDApPDApe2NbaT4+Ml09Y1tiPj4yXTtjW2I+
PjJdPWg7Y1tmKzQ+PjJdPWI7Zj1iO2g9aztpPWIrNHwwO2JyZWFrfWVsc2V7Y1trPj4yXT1iO2Nb
Zis0Pj4yXT1oO2Y9aDtoPWI7aT1iO2JyZWFrfX1lbHNle2k9Y1toPj4yXXwwO2lmKChjW3IrKCht
fDEpPDwyKT4+Ml18MCk+MCl7cD1pKzR8MDtjW2g+PjJdPWNbcD4+Ml07Y1twPj4yXT1oO2Nbaz4+
Ml09aTtoPWk7YnJlYWt9ZWxzZXtjW2YrND4+Ml09aTtjW2s+PjJdPWg7Zj1pO2k9aSs0fDA7YnJl
YWt9fXdoaWxlKDApO2s9aDttPW0rMnwwO2g9Y1tpPj4yXXwwfX1lbHNle2Y9ejtrPXp9d2hpbGUo
MCk7bj0oRHwwKTwwO289KEJ8MCk8MDtwPShDfDApIT0wO3E9KEJ8MCk8MTtyPTAtRHwwO2k9aDtn
OndoaWxlKDEpe2g9aTt3aGlsZSgxKXtpZihuKWk9Y1toKzg+PjJdfDA7ZWxzZSBpPWgrcnwwO2k9
aStBfDA7aWYobylpPWNbaT4+Ml18MDtkbyBpZighcClpZihxKXtpPXhKKHMsaSl8MDticmVha31l
bHNle2k9ZEwocyxpLEIpfDA7YnJlYWt9ZWxzZSBpPWNiW0MmMzFdKGEscyxpLEUpfDA7d2hpbGUo
MCk7aWYoIWkpe3Y9MTQwO2JyZWFrIGd9aWYoKGl8MCk+PTApYnJlYWs7Yj1oKzR8MDttPWNbYj4+
Ml18MDtpZighbSl7dj0xMjE7YnJlYWsgZ31pZihuKWk9Y1ttKzg+PjJdfDA7ZWxzZSBpPW0rcnww
O2k9aStBfDA7aWYobylpPWNbaT4+Ml18MDtkbyBpZighcClpZihxKXtpPXhKKHMsaSl8MDticmVh
a31lbHNle2k9ZEwocyxpLEIpfDA7YnJlYWt9ZWxzZSBpPWNiW0MmMzFdKGEscyxpLEUpfDA7d2hp
bGUoMCk7aWYoKGl8MCk+PTApe3Y9MTE4O2JyZWFrfWNbYj4+Ml09Y1ttPj4yXTtjW20+PjJdPWg7
Y1tmKzQ+PjJdPW07aD1jW20rND4+Ml18MDtpZighaCl7Zj1tO2g9azt2PTE5ODticmVhayBlfWVs
c2UgZj1tfWlmKCh2fDApPT0xMTgpe3Y9MDtpZighaSl7dj0xMTk7YnJlYWt9Y1trPj4yXT1tO2Nb
Zis0Pj4yXT1oO2k9Y1ttPj4yXXwwO2lmKCFpKXtmPWg7aD1tO3Y9MTk4O2JyZWFrIGV9ZWxzZXtm
PWg7az1tO2NvbnRpbnVlfX1iPWNbaD4+Ml18MDtpZighYil7dj0xMzk7YnJlYWt9aWYobilpPWNb
Yis4Pj4yXXwwO2Vsc2UgaT1iK3J8MDtpPWkrQXwwO2lmKG8paT1jW2k+PjJdfDA7ZG8gaWYoIXAp
aWYocSl7aT14SihzLGkpfDA7YnJlYWt9ZWxzZXtpPWRMKHMsaSxCKXwwO2JyZWFrfWVsc2UgaT1j
YltDJjMxXShhLHMsaSxFKXwwO3doaWxlKDApO2lmKChpfDApPjApe2k9Yis0fDA7Y1toPj4yXT1j
W2k+PjJdO2NbaT4+Ml09aDtjW2s+PjJdPWI7aT1jW2I+PjJdfDA7aWYoIWkpe2g9Yjt2PTE5ODti
cmVhayBlfWVsc2V7az1iO2NvbnRpbnVlfX1pZighaSl7dj0xMzc7YnJlYWt9Y1tmKzQ+PjJdPWI7
Y1trPj4yXT1oO2k9Y1tiKzQ+PjJdfDA7aWYoIWkpe2Y9Yjt2PTE5ODticmVhayBlfWVsc2V7Zj1i
O2s9aH19aWYoKHZ8MCk9PTExOSl7Y1tmKzQ+PjJdPWg7Zj1oO2g9bTt2PTE0MTticmVha31lbHNl
IGlmKCh2fDApPT0xMjEpe2NbZis0Pj4yXT1oO2Y9aDtoPWs7dj0xOTg7YnJlYWt9ZWxzZSBpZigo
dnwwKT09MTM3KXtjW2s+PjJdPWg7az1oO2g9Yjt2PTE0MTticmVha31lbHNlIGlmKCh2fDApPT0x
Mzkpe2Nbaz4+Ml09aDt2PTE5ODticmVha31lbHNlIGlmKCh2fDApPT0xNDApaWYoIWgpe2g9azt2
PTE5ODticmVha31lbHNle3Y9MTQxO2JyZWFrfX13aGlsZSgwKTtkbyBpZigodnwwKT09MTQxKXtj
W3Q+PjJdPWNbdD4+Ml18MzI3Njg7aT1oKzR8MDtjW2s+PjJdPWNbaT4+Ml07Y1tmKzQ+PjJdPWNb
aD4+Ml07aWYoIShkJjUxNikpe2lmKGQmOHwwKXtjW2k+PjJdPWNbej4+Ml07Y1toPj4yXT0wO2Nb
ej4+Ml09aDt2PTE2OTticmVha31pZihkJjE2fDApe3Y9eis0fDA7Y1toPj4yXT1jW3Y+PjJdO2Nb
aT4+Ml09MDtjW3Y+PjJdPWg7dj0xNzU7YnJlYWt9aWYoIXUpe2U9Zjt2PTE4MDticmVhayBkfWlm
KGQmMjA0OXwwKXtpZihjWyhjW3k+PjJdfDApKzQ+PjJdJjR8MCl7ZT1oO2JyZWFrfWNbaT4+Ml09
MDtlPXorNHwwO2NbaD4+Ml09Y1tlPj4yXTtjW2U+PjJdPWg7ZT1oO3Y9MjA1O2JyZWFrfWlmKCEo
ZCYzMikpe2U9MDticmVhayBhfWlmKCEoY1soY1t5Pj4yXXwwKSs0Pj4yXSY0KSl7Y1tlKzQ+PjJd
PTA7eD16KzR8MDtjW2U+PjJdPWNbeD4+Ml07Y1t4Pj4yXT1qO2U9KGNbRj4+Ml18MCkrMTZ8MDtj
W2U+PjJdPShjW2U+PjJdfDApKzE7ZT1oO2JyZWFrfWU9Y1tFKzE2Pj4yXXwwO2lmKGV8MClpYltl
JjEyN10oYSxnLEUpO2lmKChjW3g+PjJdfDApPDApe2NiW2NbYSsxMj4+Ml0mMzFdKGEsaiwwLEUp
fDA7ZT1ofWVsc2UgZT1ofWVsc2UgZT1ofWVsc2UgaWYoKHZ8MCk9PTE5OCl7Y1tmKzQ+PjJdPTA7
Y1toPj4yXT0wO2lmKCEoZCY4KSlpZighKGQmMTYpKXtpZihkJjUxNnwwKXtlPWY7YnJlYWsgZH1p
ZighKGQmMjA0OSkpe2lmKCEoZCYzMikpe2c9MDtlPWY7YnJlYWsgZH14PShjW0Y+PjJdfDApKzE2
fDA7Y1t4Pj4yXT0oY1t4Pj4yXXwwKSsxfWVsc2V7ZT0wO3Y9MjA1fX1lbHNlIHY9MTc1O2Vsc2Ug
dj0xNjl9d2hpbGUoMCk7aWYoKHZ8MCk9PTE2OSl7aD16KzR8MDtlPWNbaD4+Ml18MDtpZighZSl7
ZT1mO2JyZWFrfXdoaWxlKDEpe2Y9ZSs0fDA7Zz1jW2Y+PjJdfDA7aWYoIWcpYnJlYWs7Y1tmPj4y
XT1jW2c+PjJdO2NbZz4+Ml09ZTtlPWd9Y1toPj4yXT1jW2U+PjJdfWVsc2UgaWYoKHZ8MCk9PTE3
NSl7ZT1jW3o+PjJdfDA7aWYoIWUpe2U9ZjticmVha313aGlsZSgxKXtmPWNbZT4+Ml18MDtpZigh
ZilicmVhazt4PWYrNHwwO2NbZT4+Ml09Y1t4Pj4yXTtjW3g+PjJdPWU7ZT1mfWNbej4+Ml09Y1tl
KzQ+PjJdfWVsc2UgaWYoKHZ8MCk9PTIwNSl7aT1FKzEyfDA7aD1jW2k+PjJdfDA7aj0oZCYxfDAp
PT0wO2lmKCEoanwoaHwwKT09MCkpZz1iYltoJjMxXShhLGcsRSl8MDtkbyBpZihnKXtpZigoRHww
KT4tMSl7ZT1nK0R8MDt2PTIxNTticmVha31lPWNiW2NbYSsxMj4+Ml0mMzFdKGEsMCwxMixFKXww
O2lmKGV8MCl7Y1tlKzg+PjJdPWc7YnJlYWt9aWYoKGNbaT4+Ml18MCkhPTA/KHc9Y1tFKzE2Pj4y
XXwwLCEoanwod3wwKT09MCkpOjApe2liW3cmMTI3XShhLGcsRSk7dj0yMTV9ZWxzZSB2PTIxNX1l
bHNlIHY9MjE1O3doaWxlKDApO2lmKCh2fDApPT0yMTUpaWYoIWUpe2U9ZjticmVha31mPShjW0Y+
PjJdfDApKzE2fDA7Zz1jW2Y+PjJdfDA7aWYoKGd8MCk+LTEpY1tmPj4yXT1nKzF9Y1tlKzQ+PjJd
PWNbej4+Ml07Y1tlPj4yXT1jW3orND4+Ml07aDpkbyBpZighKChkJjUxNnwwKT09MD8xOihjWyhj
W3k+PjJdfDApKzQ+PjJdJjh8MCk9PTApKXttPShEfDApPDA7aWYobSlmPWNbZSs4Pj4yXXwwO2Vs
c2UgZj1lKygwLUQpfDA7bj0oQnwwKTwwO2Y9ZitBfDA7aWYobilmPWNbZj4+Ml18MDtqPShDfDAp
PT0wO2s9KEJ8MCk8MTtiPTAtRHwwO3doaWxlKDEpe2k9ZSs0fDA7Zz1jW2k+PjJdfDA7aWYoIWcp
YnJlYWsgaDt3aGlsZSgxKXtoPWNbZz4+Ml18MDtpZighaClicmVhazt6PWgrNHwwO2NbZz4+Ml09
Y1t6Pj4yXTtjW3o+PjJdPWc7Zz1ofWNbaT4+Ml09ZztpZihtKWg9Y1tnKzg+PjJdfDA7ZWxzZSBo
PWcrYnwwO2g9aCtBfDA7aWYobiloPWNbaD4+Ml18MDtkbyBpZihqKWlmKGspe2g9eEooZixoKXww
O2JyZWFrfWVsc2V7aD1kTChmLGgsQil8MDticmVha31lbHNlIGg9Y2JbQyYzMV0oYSxmLGgsRSl8
MDt3aGlsZSgwKTtpZihofDApYnJlYWsgaDtjW2k+PjJdPWNbZz4+Ml07Y1tnPj4yXT1lO2U9Z319
d2hpbGUoMCk7Y1soY1tGPj4yXXwwKSs0Pj4yXT1lO2lmKChEfDApPDApe2U9Y1tlKzg+PjJdfDA7
YnJlYWsgYX1lbHNle2U9ZSsoMC1EKXwwO2JyZWFrIGF9fXdoaWxlKDApO2lmKCh2fDApPT0xODAp
e2lmKChEfDApPDApZz1jW2grOD4+Ml18MDtlbHNlIGc9aCsoMC1EKXwwO2Y9Y1tFKzE2Pj4yXXww
O2lmKCEoKGQmMnwwKT09MHwoZnwwKT09MCkpaWJbZiYxMjddKGEsZyxFKTtpZigoY1t4Pj4yXXww
KTwwKWNiW2NbYSsxMj4+Ml0mMzFdKGEsaCwwLEUpfDA7YT0oY1tGPj4yXXwwKSsxNnwwO0U9Y1th
Pj4yXXwwO2NbYT4+Ml09KEV8MCk8MT8tMTpFKy0xfDB9ZG97Zj1lKzR8MDtlPWNbZj4+Ml18MH13
aGlsZSgoZXwwKSE9MCk7Y1tmPj4yXT1jW3o+PjJdO2NbKGNbRj4+Ml18MCkrND4+Ml09Y1t6KzQ+
PjJdO2U9ZCYyfDA/ZzowfXdoaWxlKDApO2w9RztyZXR1cm4gZXwwfWZ1bmN0aW9uIFdsKGEsYil7
YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MDtpZihjW2NbYSs4Pj4yXT4+Ml0mNDA5Nnww
KVJsKGEsMCl8MDtmPShifDApIT0wO2lmKGYpe2lmKGNbY1tiKzg+PjJdPj4yXSY0MDk2fDApUmwo
YiwwKXwwO2lmKChjW2IrMTY+PjJdfDApPT0oY1thKzE2Pj4yXXwwKSl7ZD1iO2U9N31lbHNlIGI9
MH1lbHNle2Q9MDtlPTd9YTpkbyBpZigoZXwwKT09Nyl7d2hpbGUoMSl7aWYoIWQpYnJlYWs7aWYo
KGR8MCk9PShhfDApKXtiPTA7YnJlYWsgYX1kPWNbZCsyOD4+Ml18MDtlPTd9ZD1hKzI4fDA7ZT1j
W2Q+PjJdfDA7aWYoZXwwKXtnPWUrMjR8MDtjW2c+PjJdPShjW2c+PjJdfDApKy0xfWNbYSszMj4+
Ml09MDtjW2Q+PjJdPTA7aWYoZil7Y1tkPj4yXT1iO2NbYT4+Ml09MTI7Zz1iKzI0fDA7Y1tnPj4y
XT0oY1tnPj4yXXwwKSsxO2JyZWFrfWVsc2V7Y1thPj4yXT1jW2NbYSsxNj4+Ml0+PjJdO2I9ZTti
cmVha319d2hpbGUoMCk7cmV0dXJuIGJ8MH1mdW5jdGlvbiBYbChhLGIsZCl7YT1hfDA7Yj1ifDA7
ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0w
O2E6ZG8gaWYoIShkJjk5KSl7aWYoKGQmNTE2fDApPT0wPyhlPWNbKGNbYSsxNj4+Ml18MCkrND4+
Ml18MCwhKChkJjM4NHwwKSE9MCYoZSYxMnwwKT09MCkpOjApe2lmKGUmMTJ8MCl7aWYoIShkJjQw
OCkpe2U9MDticmVha31vPShkJjEzNnwwKSE9MDtwPShkJjI3MnwwKSE9MDtsPTA7Zj0wO2U9MDtu
PWE7d2hpbGUoMSl7aWYoIW4pYnJlYWs7bT1iYltjW2NbbisxNj4+Ml0+PjJdJjMxXShuLGIsZCl8
MDtkbyBpZighbSlnPWw7ZWxzZXtoPWNbbis0Pj4yXXwwO2k9Y1toKzQ+PjJdfDA7aj1jW2grMjA+
PjJdfDA7Zz1tKyhjW2g+PjJdfDApfDA7aWYoKGl8MCk8MClrPWNbZz4+Ml18MDtlbHNlIGs9Zztp
ZihlfDApe2RvIGlmKCFqKWlmKChpfDApPDEpe2c9eEooayxmKXwwO2JyZWFrfWVsc2V7Zz1kTChr
LGYsaSl8MDticmVha31lbHNlIGc9Y2JbaiYzMV0obixrLGYsaCl8MDt3aGlsZSgwKTtpZighKG8m
KGd8MCk8MHxwJihnfDApPjApKXtnPWw7YnJlYWt9fWc9bjtmPWs7ZT1tfXdoaWxlKDApO2w9Zztu
PWNbbisyOD4+Ml18MH1jW2ErMzI+PjJdPWw7YnJlYWt9aWYoIShkJjI0KSl7ZT0wO2JyZWFrfWo9
YSszMnwwO2Y9Y1tqPj4yXXwwO2lmKGYpe2U9Y1soY1tmKzQ+PjJdfDApKzg+PjJdfDA7Zz1jWyhj
W2YrOD4+Ml18MCkrND4+Ml18MDtpZigoZXwwKTwwKWU9Y1tnKzg+PjJdfDA7ZWxzZSBlPWcrKDAt
ZSl8MDtpZigoZXwwKT09KGJ8MCkpZT1iO2Vsc2V7Zj1hO2g9MzJ9fWVsc2V7Zj1hO2g9MzJ9ZG8g
aWYoKGh8MCk9PTMyKXt3aGlsZSgxKXtpZighZil7aD0zMzticmVha31lPWJiW2NbY1tmKzE2Pj4y
XT4+Ml0mMzFdKGYsYiw0KXwwO2lmKGV8MCl7aD0zNjticmVha31mPWNbZisyOD4+Ml18MDtoPTMy
fWlmKChofDApPT0zMyl7Y1tqPj4yXT0wO2U9MDticmVhayBhfWVsc2UgaWYoKGh8MCk9PTM2KXtj
W2o+PjJdPWY7YnJlYWt9fXdoaWxlKDApO2k9KGQ8PDQmMTI4XjEyOCkrMTI4fDA7ZT1iYltjW2Nb
ZisxNj4+Ml0+PjJdJjMxXShmLGUsZCl8MDt3aGlsZSgxKXtoPWYrMTZ8MDt3aGlsZSgxKXtpZigh
ZSlicmVhaztlbHNlIGc9YTt3aGlsZSgxKXtpZigoZ3wwKT09KGZ8MCkpYnJlYWsgYTtpZihiYltj
W2NbZysxNj4+Ml0+PjJdJjMxXShnLGUsNCl8MClicmVhaztnPWNbZysyOD4+Ml18MH1lPWJiW2Nb
Y1toPj4yXT4+Ml0mMzFdKGYsZSxkKXwwfWY9Y1tmKzI4Pj4yXXwwO2Nbaj4+Ml09ZjtpZighZil7
ZT0wO2JyZWFrIGF9ZT1iYltjW2NbZisxNj4+Ml0+PjJdJjMxXShmLDAsaSl8MH19ZWxzZSBmPWE7
d2hpbGUoMSl7aWYoIWYpe2Y9MDtlPTA7YnJlYWt9ZT1iYltjW2NbZisxNj4+Ml0+PjJdJjMxXShm
LGIsZCl8MDtpZihlfDApYnJlYWs7Zj1jW2YrMjg+PjJdfDB9Y1thKzMyPj4yXT1mfWVsc2UgZT1i
YltjW2NbYSsxNj4+Ml0+PjJdJjMxXShhLGIsZCl8MDt3aGlsZSgwKTtyZXR1cm4gZXwwfWZ1bmN0
aW9uIFlsKGEpe2E9YXwwO3ZhciBiPTA7Yj1jWzQxOTgwXXwwO2NbNDE5ODBdPWE7cmV0dXJuIGJ8
MH1mdW5jdGlvbiBabChhKXthPWF8MDt2YXIgYj0wO2I9Y1s0MTk4MV18MDtjWzQxOTgxXT1hO3Jl
dHVybiBifDB9ZnVuY3Rpb24gX2woYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0w
O2U9bDtsPWwrMTZ8MDtmPWU7Y1tmPj4yXT1kO2Q9JGwoYSxiLGYpfDA7bD1lO3JldHVybiBkfDB9
ZnVuY3Rpb24gJGwoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAs
aT0wO2c9bDtsPWwrMTZ8MDtlPWc7Zj0oYXwwKT09MztoPWY/Y1s0MTk4M118MDooYXwwKT09Mj8x
OmE7Y1s0MTk4M109aDtpPWNbNDE5ODRdfDA7Y1s0MTk4NF09aT4+PjA+aD4+PjA/aTpoO2RvIGlm
KGg+Pj4wPChjWzQxOTgxXXwwKT4+PjApe2E9Y1s0MTk4Ml18MDtpZighYSl7YT1BTigpfDA7Y1s0
MTk4Ml09YTtpZighYSl7YT0xO2JyZWFrfX1pZighZil7RE4oYSl8MDthPWNbNDE5ODJdfDB9TUso
YSxiLGQpfDA7YT0wfWVsc2V7aWYoY1s0MTk4MF18MCl7YW0oYSxiLGQpO2E9MDticmVha31pZihm
KWE9Y1sxMzkxOF18MDtlbHNle2k9Y1sxMzkxOF18MDtjW2U+PjJdPShhfDApPT0xPzgxMzEyOjgx
MzE4O3pMKGksODEzMjYsZSl8MDthPWl9TUsoYSxiLGQpfDA7YT0wfXdoaWxlKDApO2w9ZztyZXR1
cm4gYXwwfWZ1bmN0aW9uIGFtKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MDtp
ZigoY1s0MTk4NV18MCk9PTA/KGY9WkkoY1s0MzU0XXwwKXwwLGNbNDE5ODVdPWYsKGZ8MCk9PTAp
OjApV0woODEzMzEsY1sxMzkxOF18MCl8MDtlbHNlIGU9NDtkbyBpZigoZXwwKT09NCl7aWYoKGF8
MCkhPTMpeyRhW2NbNDE5ODBdJjMxXSgoYXwwKT09MT84MTMxMjo4MTMxOCl8MDskYVtjWzQxOTgw
XSYzMV0oODE5OTApfDB9d2hpbGUoMSl7YT1MSyhjWzQxOTg1XXwwLGNbNDM1NF18MCxiLGQpfDA7
ZT1jWzQzNTRdfDA7aWYoKGF8MCk+LTEmKGF8MCk8KGV8MCkpe2U9NzticmVha31lPWU8PDE7Zj1h
KzF8MDtmPShlfDApPihmfDApP2U6ZjtjWzQzNTRdPWY7aWYoIShhSihjWzQxOTg1XXwwLGYpfDAp
KXtlPTk7YnJlYWt9fWlmKChlfDApPT03KXskYVtjWzQxOTgwXSYzMV0oY1s0MTk4NV18MCl8MDti
cmVha31lbHNlIGlmKChlfDApPT05KXtXTCg4MTMzMSxjWzEzOTE4XXwwKXwwO2JyZWFrfX13aGls
ZSgwKTtyZXR1cm59ZnVuY3Rpb24gYm0oYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MDtkPWw7
bD1sKzE2fDA7ZT1kO2NbZT4+Ml09YjskbCgxLGEsZSl8MDtsPWQ7cmV0dXJufWZ1bmN0aW9uIGNt
KGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wO2lmKCFlKXtlPShkfDApPT0wPzEwMjQ6
ZDtkPWU7ZT1aSShlKXwwO2Y9MX1lbHNlIGY9MDtjW2IrMTI+PjJdPWY7Y1tiPj4yXT1lO2NbYis4
Pj4yXT1lK2Q7Y1tiKzQ+PjJdPWU7YVtlPj4wXT0wO3JldHVybn1mdW5jdGlvbiBkbShhLGIpe2E9
YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MDtoPWErOHwwO2Y9Y1thPj4yXXww
O2c9KGNbaD4+Ml18MCktZnwwO2U9Zzw8MTtnPWcrYnwwO2U9Zz4+PjA+ZT4+PjA/ZzplO2c9YSs0
fDA7Yj1mO2Y9KGNbZz4+Ml18MCktZnwwO2Q9YSsxMnwwO2lmKCEoY1tkPj4yXXwwKSl7aT1aSShl
KXwwO1ROKGl8MCxifDAsZnwwKXwwO2NbZD4+Ml09MTtiPWl9ZWxzZSBiPWFKKGIsZSl8MDtjW2E+
PjJdPWI7Y1tnPj4yXT1iK2Y7Y1toPj4yXT1iK2U7cmV0dXJuIDB9ZnVuY3Rpb24gZW0oYSxiLGQp
e2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wO2Y9YSs0fDA7ZT1jW2Y+PjJdfDA7aWYoKGUr
ZHwwKT4+PjA+KGNbYSs4Pj4yXXwwKT4+PjApe2RtKGEsZCl8MDtlPWNbZj4+Ml18MH1UTihlfDAs
YnwwLGR8MCl8MDtjW2Y+PjJdPShjW2Y+PjJdfDApK2Q7cmV0dXJuIGR8MH1mdW5jdGlvbiBmbShh
LGIpe2E9YXwwO2I9YnwwO3JldHVybiBlbShhLGIsckooYil8MCl8MH1mdW5jdGlvbiBnbShhKXth
PWF8MDtpZihjW2ErMTI+PjJdfDApX0koY1thPj4yXXwwKTtyZXR1cm59ZnVuY3Rpb24gaG0oYSl7
YT1hfDA7dmFyIGI9MCxlPTA7Yj1hKzR8MDtlPWNbYj4+Ml18MDtpZihlPj4+MD4oY1thPj4yXXww
KT4+PjApe2NbYj4+Ml09ZSstMTthPWRbZT4+MF18MH1lbHNlIGE9LTE7cmV0dXJuIGF8MH1mdW5j
dGlvbiBpbShhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7YnAoY1s0MTk4N118MCxjW2IrOD4+Ml18
MCl8MDticChjWzQxOTg3XXwwLGNbYisxMj4+Ml18MCl8MDtabihjWzQxOTg3XXwwLGIpO3JldHVy
bn1mdW5jdGlvbiBqbShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTA7Yz1MbyhhLDgxMzc5LDApfDA7
aWYoKGJ8MCkhPTAmKGN8MCk9PTApe2ttKGEpO2M9TG8oYSw4MTM3OSwwKXwwfXJldHVybiBjfDB9
ZnVuY3Rpb24ga20oYSl7YT1hfDA7dmFyIGI9MCxjPTAsZD0wO2Q9c28oYSl8MDt3cShkLGQsODYs
MCwxKXwwO2M9Y28oZCl8MDt3aGlsZSgxKXtpZighYylicmVhazttbShhLGMpO2I9UG0oZCxjKXww
O3doaWxlKDEpe2lmKCFiKWJyZWFrO25tKGEsYik7Yj1SbShkLGIpfDB9Yz1lbyhkLGMpfDB9cmV0
dXJufWZ1bmN0aW9uIGxtKGIpe2I9YnwwO3ZhciBjPTA7Yz1iKzI0fDA7YVtjPj4wXT1hW2M+PjBd
fDY0O3NtKGIpO2M9THAoYil8MDtwbSgoY3wwKT09MD9iOmMsYik7cmV0dXJufWZ1bmN0aW9uIG1t
KGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MDtkPW9tKGIpfDA7aWYoISgoZHwwKSE9MD8oY1tkKzg+
PjJdfDApIT0wOjApKXBtKGEsYik7cmV0dXJufWZ1bmN0aW9uIG5tKGEsYil7YT1hfDA7Yj1ifDA7
dmFyIGQ9MDtkPW9tKGIpfDA7aWYoISgoZHwwKSE9MD8oY1tkKzg+PjJdfDApIT0wOjApKXBtKGEs
Yik7cmV0dXJufWZ1bmN0aW9uIG9tKGEpe2E9YXwwO3JldHVybiBMbyhhLDgxMzY3LDApfDB9ZnVu
Y3Rpb24gcG0oYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTA7ZD1ObyhiLDgxMzY3LDE2
LDApfDA7Zj1xbShhLGNbYj4+Ml0mMyl8MDtlPWQrOHwwO2E6ZG8gaWYoIShjW2U+PjJdfDApKXth
PXNvKGEpfDA7Y1tlPj4yXT1xbShhLGNbYj4+Ml0mMyl8MDthPXJtKGIpfDA7ZD1kKzEyfDA7Y1tk
Pj4yXT1ZbihybyhiKXwwLCgoYXwwKT40P2E6NCk8PDIpfDA7YT1iYltjW2Y+PjJdJjMxXShmLDAs
MTI4KXwwO3doaWxlKDEpe2lmKCFhKWJyZWFrIGE7ZT1ybyhiKXwwO2U9JG8oZSxjW2ErMTI+PjJd
fDApfDA7Y1soY1tkPj4yXXwwKSsoY1thKzE2Pj4yXTw8Mik+PjJdPWU7YT1iYltjW2Y+PjJdJjMx
XShmLGEsOCl8MH19d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIHFtKGEsYil7YT1hfDA7Yj1ifDA7
dmFyIGQ9MCxlPTA7ZT1sO2w9bCsxNnwwO2Q9ZTthPWptKGEsMCl8MDthOmRvIGlmKCFhKWE9MDtl
bHNlIHN3aXRjaChifDApe2Nhc2UgMDp7YT1jW2ErMTY+PjJdfDA7YnJlYWsgYX1jYXNlIDE6e2E9
Y1thKzg+PjJdfDA7YnJlYWsgYX1jYXNlIDI6Y2FzZSAzOnthPWNbYSsxMj4+Ml18MDticmVhayBh
fWRlZmF1bHQ6e2NbZD4+Ml09YjtfbCgxLDgxMzkyLGQpfDA7YT0wO2JyZWFrIGF9fXdoaWxlKDAp
O2w9ZTtyZXR1cm4gYXwwfWZ1bmN0aW9uIHJtKGEpe2E9YXwwO3ZhciBiPTA7Yj1zbyhybyhhKXww
KXwwO2E9cW0oYixjW2E+PjJdJjMpfDA7aWYoIWEpYT0wO2Vsc2UgYT1TbChhKXwwO3JldHVybiBh
fDB9ZnVuY3Rpb24gc20oYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MDtkPU5vKGEsODEzNzks
MjAsMCl8MDtlPWQrOHwwO2NbZT4+Ml09UHAoYSwxNzQyMCxjWzQzNTNdfDApfDA7Zj1kKzEyfDA7
Y1tmPj4yXT1QcChhLDE3NDIwLGNbNDM1M118MCl8MDtkPWQrMTZ8MDtjW2Q+PjJdPVBwKGEsMTc0
MjAsY1s0MzUzXXwwKXwwO2I9THAoYSl8MDtpZighYil7Yj1jWzQxOTg2XXwwO2lmKCEoKGJ8MCk9
PTB8KGJ8MCk9PShhfDApKSl7Yj1qbShiLDApfDA7dG0oY1tiKzg+PjJdfDAsY1tlPj4yXXwwLGEs
MSk7dG0oY1tiKzEyPj4yXXwwLGNbZj4+Ml18MCxhLDIpO3RtKGNbYisxNj4+Ml18MCxjW2Q+PjJd
fDAsYSwwKX19ZWxzZXthPWptKGIsMCl8MDtXbChjW2U+PjJdfDAsY1thKzg+PjJdfDApfDA7V2wo
Y1tmPj4yXXwwLGNbYSsxMj4+Ml18MCl8MDtXbChjW2Q+PjJdfDAsY1thKzE2Pj4yXXwwKXwwfXJl
dHVybn1mdW5jdGlvbiB0bShiLGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0w
LGg9MDtnPWJiW2NbYj4+Ml0mMzFdKGIsMCwxMjgpfDA7d2hpbGUoMSl7aWYoIWcpYnJlYWs7aD11
bShlLGNbZys4Pj4yXXwwLGNbZysxMj4+Ml18MCxjW2crMTY+PjJdfDAsZil8MDthW2grMjI+PjBd
PWFbZysyMj4+MF18MDthW2grMjE+PjBdPWFbZysyMT4+MF18MDtiYltjW2Q+PjJdJjMxXShkLGgs
MSl8MDtnPWJiW2NbYj4+Ml0mMzFdKGIsZyw4KXwwfXJldHVybn1mdW5jdGlvbiB1bShiLGQsZSxm
LGcpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO3ZhciBoPTA7aD1ZbihiLDI0KXwwO2Fb
aCsyMD4+MF09ZztjW2grOD4+Ml09JG8oYixkKXwwO2NbaCsxMj4+Ml09JG8oYixlKXwwO2NbaCsx
Nj4+Ml09ZjtyZXR1cm4gaHwwfWZ1bmN0aW9uIHZtKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxl
PTA7ZD1sO2w9bCszMnwwO2U9ZDtjW2UrOD4+Ml09YjtiPWJiW2NbYT4+Ml0mMzFdKGEsZSw0KXww
O2w9ZDtyZXR1cm4gYnwwfWZ1bmN0aW9uIHdtKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MDtjPVds
KGEsMCl8MDtiPXZtKGEsYil8MDtXbChhLGMpfDA7cmV0dXJuIGJ8MH1mdW5jdGlvbiB4bShhLGIp
e2E9YXwwO2I9YnwwO2E9b20oYSl8MDtpZighYSlhPTA7ZWxzZSBhPXZtKGNbYSs4Pj4yXXwwLGIp
fDA7cmV0dXJuIGF8MH1mdW5jdGlvbiB5bShiLGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8
MDt2YXIgZz0wLGg9MDtoPWw7bD1sKzE2fDA7Zz1oO2lmKCFiKXtiPWNbNDE5ODZdfDA7aWYoIWIp
e2FbZz4+MF09YVsxNzQ1Nl18MDthW2crMT4+MF09YVsxNzQ1N118MDthW2crMj4+MF09YVsxNzQ1
OF18MDthW2crMz4+MF09YVsxNzQ1OV18MDtiPWduKDAsZywwKXwwO2NbNDE5ODZdPWJ9fWlmKCFm
KWI9QW0oYixkLGUpfDA7ZWxzZSBiPXptKGIsZCxlLGYpfDA7bD1oO3JldHVybiBifDB9ZnVuY3Rp
b24gem0oYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9
MDtpPXNvKGEpfDA7am0oYSwxKXwwO2c9cW0oYSxiKXwwO2Y9d20oZyxkKXwwO2E6ZG8gaWYoIWYp
e2Y9dm0oZyxkKXwwO2lmKGZ8MCl7Zj11bShhLGQsZSxjW2YrMTY+PjJdfDAsYil8MDtiYltjW2c+
PjJdJjMxXShnLGYsMSl8MDtoPTE2O2JyZWFrfWc9cW0oaSxiKXwwO2Y9dW0oYSxkLGUsU2woZyl8
MCxiKXwwO2JiW2NbZz4+Ml0mMzFdKGcsZiwxKXwwO3N3aXRjaChifDApe2Nhc2UgMDp7d3EoaSxp
LDUyLGYsMSl8MDtoPTE2O2JyZWFrIGF9Y2FzZSAxOntkPWNvKGkpfDA7d2hpbGUoMSl7aWYoIWQp
e2g9MTY7YnJlYWsgYX1CbShhLGQsZik7ZD1lbyhpLGQpfDB9fWNhc2UgMjpjYXNlIDM6e2c9Y28o
aSl8MDt3aGlsZSgxKXtpZighZyl7aD0xNjticmVhayBhfWQ9UG0oaSxnKXwwO3doaWxlKDEpe2lm
KCFkKWJyZWFrO0JtKGEsZCxmKTtkPVJtKGksZCl8MH1nPWVvKGksZyl8MH19ZGVmYXVsdDpicmVh
ayBhfX1lbHNle2g9ZisxMnwwO2JwKGEsY1toPj4yXXwwKXwwO2NbaD4+Ml09JG8oYSxlKXwwO2g9
MTZ9d2hpbGUoMCk7aWYoKGh8MCk9PTE2KWlmKChifDApPT0wJihmfDApIT0wKUNtKGEsZixlKXww
O3ZvKGEsYSxmKTtyZXR1cm4gZnwwfWZ1bmN0aW9uIEFtKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8
MDthPXFtKGEsYil8MDtpZighYSlhPTA7ZWxzZSBhPXZtKGEsYyl8MDtyZXR1cm4gYXwwfWZ1bmN0
aW9uIEJtKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTA7Yj1vbShiKXww
O2Y9ZCsxNnwwO2U9Y1tmPj4yXXwwO2lmKChlfDApPjMpe2c9Y1thKzY0Pj4yXXwwO2I9YisxMnww
O2U9ZTw8MjtjW2I+PjJdPWNiW2NbKGNbZz4+Ml18MCkrOD4+Ml0mMzFdKGNbZysxMj4+Ml18MCxj
W2I+PjJdfDAsZSxlKzR8MCl8MH1lbHNlIGI9YisxMnwwO2c9JG8oYSxjW2QrMTI+PjJdfDApfDA7
Y1soY1tiPj4yXXwwKSsoY1tmPj4yXTw8Mik+PjJdPWc7cmV0dXJufWZ1bmN0aW9uIENtKGEsYixk
KXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MDtoPXJvKGEpfDA7Zz0o
b20oYSl8MCkrMTJ8MDtpPWIrMTZ8MDticChoLGNbKGNbZz4+Ml18MCkrKGNbaT4+Ml08PDIpPj4y
XXwwKXwwO2Y9JG8oaCxkKXwwO2NbKGNbZz4+Ml18MCkrKGNbaT4+Ml08PDIpPj4yXT1mO2RvIGlm
KCEoY1thPj4yXSYzKSl7ZT1jWyhqbShoLDApfDApKzE2Pj4yXXwwO2Y9Yis4fDA7Zz13bShlLGNb
Zj4+Ml18MCl8MDtpZighZyl7aT11bShoLGNbZj4+Ml18MCxkLGNbaT4+Ml18MCxjW2E+PjJdJjMp
fDA7YmJbY1tlPj4yXSYzMV0oZSxpLDEpfDA7YnJlYWt9ZWxzZXtpPWcrMTJ8MDticChoLGNbaT4+
Ml18MCl8MDtjW2k+PjJdPSRvKGgsZCl8MDticmVha319d2hpbGUoMCk7dm8oaCxhLGIpO3JldHVy
biAwfWZ1bmN0aW9uIERtKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDthPXFtKGEsYil8MDtkbyBp
ZihhKXtiPWNbYT4+Ml18MDtpZighZCl7YT1iYltiJjMxXShhLDAsMTI4KXwwO2JyZWFrfWVsc2V7
YT1iYltiJjMxXShhLGQsOCl8MDticmVha319ZWxzZSBhPTA7d2hpbGUoMCk7cmV0dXJuIGF8MH1m
dW5jdGlvbiBFbShhKXthPWF8MDt2YXIgYj0wO2NbNDE5ODddPWE7Yj1vbShhKXwwO2lmKGJ8MCl7
Rm0oYSxiKTtQbyhhLGNbYj4+Ml18MCl8MH1iPWptKGEsMCl8MDtpZihiKWlmKCgoUnAoYSxjW2Ir
OD4+Ml18MCl8MCk9PTA/KFJwKGEsY1tiKzEyPj4yXXwwKXwwKT09MDowKT8oUnAoYSxjW2IrMTY+
PjJdfDApfDApPT0wOjApe1BvKGEsY1tiPj4yXXwwKXwwO2I9MH1lbHNlIGI9MTtlbHNlIGI9MDty
ZXR1cm4gYnwwfWZ1bmN0aW9uIEZtKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wO2Y9
cm8oYSl8MDtlPXJtKGEpfDA7Yj1iKzEyfDA7YT0wO3doaWxlKDEpe2Q9Y1tiPj4yXXwwO2lmKChh
fDApPj0oZXwwKSlicmVhazticChmLGNbZCsoYTw8Mik+PjJdfDApfDA7YT1hKzF8MH1abihmLGQp
O3JldHVybn1mdW5jdGlvbiBHbShhKXthPWF8MDt2YXIgYj0wO2I9b20oYSl8MDtpZihifDApe0Zt
KGEsYik7UG8oYSw4MTM2Nyl8MH1yZXR1cm59ZnVuY3Rpb24gSG0oYSl7YT1hfDA7dmFyIGI9MDti
PW9tKGEpfDA7aWYoYnwwKXtGbShhLGIpO1BvKGEsODEzNjcpfDB9cmV0dXJufWZ1bmN0aW9uIElt
KGEsYil7YT1hfDA7Yj1ifDA7Yj14bShhLGIpfDA7aWYoIWIpYj0wO2Vsc2V7YT1jWyhvbShhKXww
KSsxMj4+Ml18MDtiPWNbYSsoY1tiKzE2Pj4yXTw8Mik+PjJdfDB9cmV0dXJuIGJ8MH1mdW5jdGlv
biBKbShhLGIpe2E9YXwwO2I9YnwwO2E9Y1sob20oYSl8MCkrMTI+PjJdfDA7cmV0dXJuIGNbYSso
Y1tiKzE2Pj4yXTw8Mik+PjJdfDB9ZnVuY3Rpb24gS20oYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3ww
O2I9eG0oYSxiKXwwO2lmKCFiKWI9LTE7ZWxzZXtDbShhLGIsYyl8MDtiPTB9cmV0dXJuIGJ8MH1m
dW5jdGlvbiBMbShhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wO2Y9cm8o
YSl8MDtmPXltKGYsY1thPj4yXSYzLGIsMCl8MDtpZighZil7Zj1ybyhhKXwwO2Y9eW0oZixjW2E+
PjJdJjMsYixlKXwwfUNtKGEsZixkKXwwO3JldHVybiAwfWZ1bmN0aW9uIE1tKGEsYil7YT1hfDA7
Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MDtnPXJvKGEpfDA7Zj1jW2E+PjJdfDA7YTpkbyBpZigh
KChjW2I+PjJdXmYpJjMpKXtkPTE7ZT0wO3doaWxlKDEpe2U9RG0oZyxmJjMsZSl8MDtpZighZSli
cmVhayBhO2Q9eG0oYixjW2UrOD4+Ml18MCl8MDtpZighZCl7ZD0xO2JyZWFrIGF9Zj1KbShhLGUp
fDA7Q20oYixkLGYpfDA7aWYoY3AoZil8MClkcChKbShiLGQpfDApO2Q9MDtmPWNbYT4+Ml18MH19
ZWxzZSBkPTE7d2hpbGUoMCk7cmV0dXJuIGR8MH1mdW5jdGlvbiBObShhLGIsZCxlKXthPWF8MDti
PWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MDthPWNbYis0MD4+Ml18MDtmPWNbZCs0MD4+Ml18
MDtpZigoYXwwKT09KGZ8MCkpe2U9KGNbYj4+Ml18MCk+Pj40O2E9KGNbZD4+Ml18MCk+Pj40O2lm
KGU+Pj4wPj1hPj4+MClpZihlPj4+MD5hPj4+MClhPTE7ZWxzZSBnPTY7ZWxzZSBhPS0xfWVsc2V7
ZT0oY1thPj4yXXwwKT4+PjQ7YT0oY1tmPj4yXXwwKT4+PjQ7aWYoZT4+PjA+PWE+Pj4wKWlmKGU+
Pj4wPmE+Pj4wKWE9MTtlbHNlIGc9NjtlbHNlIGE9LTF9aWYoKGd8MCk9PTYpYT0wO3JldHVybiBh
fDB9ZnVuY3Rpb24gT20oYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxn
PTAsaD0wLGk9MDthPShjW2IrNDA+PjJdfDApKzh8MDtnPWNbYT4+Ml18MDthPWNbYSs0Pj4yXXww
O2Y9KGNbZCs0MD4+Ml18MCkrOHwwO2U9Y1tmPj4yXXwwO2Y9Y1tmKzQ+PjJdfDA7ZG8gaWYoIShh
Pj4+MDxmPj4+MHwoYXwwKT09KGZ8MCkmZz4+PjA8ZT4+PjApKWlmKGE+Pj4wPmY+Pj4wfChhfDAp
PT0oZnwwKSZnPj4+MD5lPj4+MClhPTE7ZWxzZXtlPWIrOHwwO2E9Y1tlPj4yXXwwO2U9Y1tlKzQ+
PjJdfDA7aWYoISgoYXwwKT09MCYoZXwwKT09MCk/KGk9ZCs4fDAsaD1jW2k+PjJdfDAsaT1jW2kr
ND4+Ml18MCwhKChofDApPT0wJihpfDApPT0wKSk6MCl7aWYoZT4+PjA8aT4+PjB8KGV8MCk9PShp
fDApJmE+Pj4wPGg+Pj4wKXthPS0xO2JyZWFrfWlmKGU+Pj4wPmk+Pj4wfChlfDApPT0oaXwwKSZh
Pj4+MD5oPj4+MCl7YT0xO2JyZWFrfX1hPTB9ZWxzZSBhPS0xO3doaWxlKDApO3JldHVybiBhfDB9
ZnVuY3Rpb24gUG0oYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wO2I9UW0oYSxiKXwwO2lmKCFiKWI9
MDtlbHNle2Q9YSs0NHwwO2E9YiszMnwwO1JsKGNbZD4+Ml18MCxjW2E+PjJdfDApfDA7Yj1jW2Q+
PjJdfDA7Yj1iYltjW2I+PjJdJjMxXShiLDAsMTI4KXwwO2NbYT4+Ml09TmwoY1tkPj4yXXwwKXww
fXJldHVybiBifDB9ZnVuY3Rpb24gUW0oYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MDtlPWw7
bD1sKzQ4fDA7ZD1lO2lmKChjW2IrMjQ+PjJdfDApPT0oYXwwKSlhPWIrMjh8MDtlbHNle2NbZCsx
Nj4+Ml09YjthPWNbYSs0MD4+Ml18MDthPWJiW2NbYT4+Ml0mMzFdKGEsZCw0KXwwfWw9ZTtyZXR1
cm4gYXwwfWZ1bmN0aW9uIFJtKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTA7ZD1RbShhLGNb
KChjW2I+PjJdJjN8MCk9PTM/YjpiKzQ4fDApKzQwPj4yXXwwKXwwO2lmKCFkKWE9MDtlbHNle2U9
YSs0NHwwO2Q9ZCszMnwwO1JsKGNbZT4+Ml18MCxjW2Q+PjJdfDApfDA7YT1jW2U+PjJdfDA7YT1i
YltjW2E+PjJdJjMxXShhLGIsOCl8MDtjW2Q+PjJdPU5sKGNbZT4+Ml18MCl8MH1yZXR1cm4gYXww
fWZ1bmN0aW9uIFNtKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MDtiPVFtKGEsYil8MDtpZighYili
PTA7ZWxzZXtkPWErNDR8MDthPWIrMjh8MDtSbChjW2Q+PjJdfDAsY1thPj4yXXwwKXwwO2I9Y1tk
Pj4yXXwwO2I9YmJbY1tiPj4yXSYzMV0oYiwwLDEyOCl8MDtjW2E+PjJdPU5sKGNbZD4+Ml18MCl8
MH1yZXR1cm4gYnwwfWZ1bmN0aW9uIFRtKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTA7ZD1R
bShhLGNbKChjW2I+PjJdJjN8MCk9PTI/YjpiKy00OHwwKSs0MD4+Ml18MCl8MDtpZighZClhPTA7
ZWxzZXtlPWErNDR8MDtkPWQrMjh8MDtSbChjW2U+PjJdfDAsY1tkPj4yXXwwKXwwO2E9Y1tlPj4y
XXwwO2E9YmJbY1thPj4yXSYzMV0oYSxiLDgpfDA7Y1tkPj4yXT1ObChjW2U+PjJdfDApfDB9cmV0
dXJuIGF8MH1mdW5jdGlvbiBVbShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTA7Yz1QbShhLGIpfDA7
aWYoIWMpYz1TbShhLGIpfDA7cmV0dXJuIGN8MH1mdW5jdGlvbiBWbShhLGIsZCl7YT1hfDA7Yj1i
fDA7ZD1kfDA7YTpkbyBpZigoY1tiPj4yXSYzfDApPT0yKXtiPVJtKGEsYil8MDtpZighYil7Yj0w
O2Rve2lmKCFiKWI9U20oYSxkKXwwO2Vsc2UgYj1UbShhLGIpfDA7aWYoIWIpe2I9MDticmVhayBh
fX13aGlsZSgoY1tiKzQwPj4yXXwwKT09KGR8MCkpfX1lbHNlIGRve2I9VG0oYSxiKXwwO2lmKCFi
KXtiPTA7YnJlYWsgYX19d2hpbGUoKGNbYis0MD4+Ml18MCk9PShkfDApKTt3aGlsZSgwKTtyZXR1
cm4gYnwwfWZ1bmN0aW9uIFdtKGEsYixlKXthPWF8MDtiPWJ8MDtlPWV8MDt2YXIgZj0wLGc9MCxo
PTA7aD1sO2w9bCszMnwwO2Y9aCsxNnwwO2c9aDtpZigoc24oYSl8MCkhPTA/KGNbZz4+Ml09MCxj
W2crND4+Ml09MCxjW2crOD4+Ml09MCxjW2crMTI+PjJdPTAsY1tmPj4yXT1jW2c+PjJdLGNbZis0
Pj4yXT1jW2crND4+Ml0sY1tmKzg+PjJdPWNbZys4Pj4yXSxjW2YrMTI+PjJdPWNbZysxMj4+Ml0s
KF9tKGEsYixlLGYpfDApIT0wKTowKWY9MDtlbHNlIGY9KChkW2ErMjQ+PjBdfDApPj4+MiYxXjEp
JjI1NXwoYnwwKSE9KGV8MCk7bD1oO3JldHVybiBmfDB9ZnVuY3Rpb24gWG0oYSxiKXthPWF8MDti
PWJ8MDtabShhLGIpO3JldHVybn1mdW5jdGlvbiBZbShiLGQsZSxmLGcpe2I9YnwwO2Q9ZHwwO2U9
ZXwwO2Y9ZnwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDtpbyhiLGQsMSl8MDtp
byhiLGUsMSl8MDtoPVluKGIsOTYpfDA7aT1oKzQ4fDA7bD1rbihiLDIpfDA7aj1jW2k+PjJdfDA7
az1jW2g+PjJdfDA7bT1oKzh8MDtjW20+PjJdPWY7Y1ttKzQ+PjJdPWc7bT1oKzU2fDA7Y1ttPj4y
XT1mO2NbbSs0Pj4yXT1nO2c9bDw8NDtjW2g+PjJdPWsmMTJ8Z3wyO2NbaT4+Ml09aiYxMnxnfDM7
Y1toKzg4Pj4yXT1kO2NbaCs0MD4+Ml09ZTtabShiLGgpO2lmKGFbYisyND4+MF0mNjQpe05vKGgs
ODEzNjcsMTYsMCl8MDtubShiLGgpfXRvKGIsaCk7cmV0dXJuIGh8MH1mdW5jdGlvbiBabShhLGIp
e2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MDtpPWw7
bD1sKzE2fDA7ZD1pO2g9Y1tiPj4yXSYzO2c9KGh8MCk9PTI/YjpiKy00OHwwO2g9KGh8MCk9PTM/
YjpiKzQ4fDA7ZT1jW2grNDA+PjJdfDA7Zj1jW2crNDA+PjJdfDA7d2hpbGUoMSl7aWYoIWEpYnJl
YWs7Y1tkPj4yXT1jW2I+PjJdO2NbZCs0Pj4yXT1jW2IrND4+Ml07Y1tkKzg+PjJdPWNbYis4Pj4y
XTtjW2QrMTI+PjJdPWNbYisxMj4+Ml07aWYoX20oYSxlLGYsZCl8MClicmVhaztqPVFtKGEsZSl8
MDttPWErNDR8MDskbShjW20+PjJdfDAsaiszMnwwLGcpO2s9YSs0OHwwOyRtKGNbaz4+Ml18MCxq
KzI0fDAsZyk7aj1RbShhLGYpfDA7JG0oY1ttPj4yXXwwLGorMjh8MCxoKTskbShjW2s+PjJdfDAs
aisyMHwwLGgpO2E9THAoYSl8MH1sPWk7cmV0dXJufWZ1bmN0aW9uIF9tKGEsYixkLGUpe2E9YXww
O2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MDtoPWw7bD1sKzQ4fDA7Zj1oO2lmKCEo
KGJ8MCk9PTB8KGR8MCk9PTApPyhjW2Y+PjJdPWNbZT4+Ml0sY1tmKzQ+PjJdPWNbZSs0Pj4yXSxj
W2YrOD4+Ml09Y1tlKzg+PjJdLGNbZisxMj4+Ml09Y1tlKzEyPj4yXSxjW2YrNDA+PjJdPWIsZz1R
bShhLGQpfDAsKGd8MCkhPTApOjApe2U9YSs0OHwwO2c9ZysyMHwwO1JsKGNbZT4+Ml18MCxjW2c+
PjJdfDApfDA7YT1jW2U+PjJdfDA7YT1iYltjW2E+PjJdJjMxXShhLGYsNCl8MDtjW2c+PjJdPU5s
KGNbZT4+Ml18MCl8MH1lbHNlIGE9MDtsPWg7cmV0dXJuIGF8MH1mdW5jdGlvbiAkbShhLGIsZCl7
YT1hfDA7Yj1ifDA7ZD1kfDA7UmwoYSxjW2I+PjJdfDApfDA7YmJbY1thPj4yXSYzMV0oYSxkLDEp
fDA7Y1tiPj4yXT1ObChhKXwwO3JldHVybn1mdW5jdGlvbiBhbihhLGIsZCxlLGYpe2E9YXwwO2I9
YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0w
O249bDtsPWwrNDh8MDtpPW4rMjR8MDtrPW4rMTZ8MDtqPW47ZG8gaWYoIShBbihhLDIsZSxrLDAp
fDApKWlmKCFlKXtpZihmfDA/KHNuKGEpfDApPT0wOjApe209MTg7YnJlYWt9O2Nbaj4+Ml09MDtj
W2orND4+Ml09MDtjW2orOD4+Ml09MDtjW2orMTI+PjJdPTA7bT03fWVsc2UgbT0xNztlbHNle289
ajtjW28+PjJdPTA7Y1tvKzQ+PjJdPTA7bz1rO2c9Y1tvKzQ+PjJdfDA7bT1qKzh8MDtjW20+PjJd
PWNbbz4+Ml07Y1ttKzQ+PjJdPWc7Y1tqPj4yXT0yO209N313aGlsZSgwKTthOmRvIGlmKChtfDAp
PT03KXtjW2k+PjJdPWNbaj4+Ml07Y1tpKzQ+PjJdPWNbais0Pj4yXTtjW2krOD4+Ml09Y1tqKzg+
PjJdO2NbaSsxMj4+Ml09Y1tqKzEyPj4yXTtnPV9tKGEsYixkLGkpfDA7YjpkbyBpZighZyl7aWYo
cm4oYSl8MD8oY1tpPj4yXT1jW2o+PjJdLGNbaSs0Pj4yXT1jW2orND4+Ml0sY1tpKzg+PjJdPWNb
ais4Pj4yXSxjW2krMTI+PjJdPWNbaisxMj4+Ml0saD1fbShhLGQsYixpKXwwLGh8MCk6MCl7Zz1o
O2JyZWFrfWRvIGlmKGZ8MCl7Zz1zbyhhKXwwO2NbaT4+Ml09Y1tqPj4yXTtjW2krND4+Ml09Y1tq
KzQ+PjJdO2NbaSs4Pj4yXT1jW2orOD4+Ml07Y1tpKzEyPj4yXT1jW2orMTI+PjJdO2c9X20oZyxi
LGQsaSl8MDtpZighZyl7aWYoIShybihhKXwwKSlicmVhaztnPXNvKGEpfDA7Y1tpPj4yXT1jW2o+
PjJdO2NbaSs0Pj4yXT1jW2orND4+Ml07Y1tpKzg+PjJdPWNbais4Pj4yXTtjW2krMTI+PjJdPWNb
aisxMj4+Ml07Zz1fbShnLGQsYixpKXwwO2lmKCFnKWJyZWFrfVhtKGEsZyk7YnJlYWsgYn13aGls
ZSgwKTttPTE3O2JyZWFrIGF9d2hpbGUoMCl9d2hpbGUoMCk7aWYoKG18MCk9PTE3KWlmKCFmKWc9
MDtlbHNlIG09MTg7aWYoKG18MCk9PTE4KWlmKChXbShhLGIsZCl8MCkhPTA/KEFuKGEsMixlLGss
MSl8MCkhPTA6MCl7Zz1rO2c9WW0oYSxiLGQsY1tnPj4yXXwwLGNbZys0Pj4yXXwwKXwwO0VuKGEs
MixnKX1lbHNlIGc9MDtsPW47cmV0dXJuIGd8MH1mdW5jdGlvbiBibihhLGIsZCl7YT1hfDA7Yj1i
fDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MDtkPShjW2I+PjJdJjN8MCk9PTM7Zz1kP2IrLTQ4
fDA6YjtkPWQ/YjpiKzQ4fDA7Yj1jW2crNDA+PjJdfDA7aD1RbShhLGNbZCs0MD4+Ml18MCl8MDtm
PWErNDR8MDtjbihjW2Y+PjJdfDAsaCszMnwwLGcpO2U9YSs0OHwwO2NuKGNbZT4+Ml18MCxoKzI0
fDAsZyk7Yj1RbShhLGIpfDA7Y24oY1tmPj4yXXwwLGIrMjh8MCxkKTtjbihjW2U+PjJdfDAsYisy
MHwwLGQpO3JldHVybn1mdW5jdGlvbiBjbihhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7UmwoYSxj
W2I+PjJdfDApfDA7YmJbY1thPj4yXSYzMV0oYSxkLDIpfDA7Y1tiPj4yXT1ObChhKXwwO3JldHVy
bn1mdW5jdGlvbiBkbihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTA7ZT1sO2w9
bCsxNnwwO2Y9ZTtkPShjW2Q+PjJdJjN8MCk9PTI/ZDpkKy00OHwwO2c9Y1tkPj4yXSYzO2g9Y1so
KGd8MCk9PTM/ZDpkKzQ4fDApKzQwPj4yXXwwO2c9Y1soKGd8MCk9PTI/ZDpkKy00OHwwKSs0MD4+
Ml18MDtjW2Y+PjJdPWNbZD4+Ml07Y1tmKzQ+PjJdPWNbZCs0Pj4yXTtjW2YrOD4+Ml09Y1tkKzg+
PjJdO2NbZisxMj4+Ml09Y1tkKzEyPj4yXTtpZihfbShiLGgsZyxmKXwwKXtpZigoc28oYil8MCk9
PShifDApKXtpZihhW2IrMjQ+PjBdJjY0KUhtKGQpO3hvKGIsZCk7Vm8oZCk7aD1kKzh8MDtDbihi
LDIsY1toPj4yXXwwLGNbaCs0Pj4yXXwwKX1pZighKHdxKGIsZCw1MywwLDApfDApKWlmKChzbyhi
KXwwKT09KGJ8MCkpe1puKGIsZCk7ZD0wfWVsc2UgZD0wO2Vsc2UgZD0tMX1lbHNlIGQ9LTE7bD1l
O3JldHVybiBkfDB9ZnVuY3Rpb24gZW4oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAs
Zj0wLGc9MCxoPTA7aD1sO2w9bCsxNnwwO2U9aDtmPWlvKGEsY1soKGNbYj4+Ml0mM3wwKT09Mz9i
OmIrNDh8MCkrNDA+PjJdfDAsZCl8MDtnPWlvKGEsY1soKGNbYj4+Ml0mM3wwKT09Mj9iOmIrLTQ4
fDApKzQwPj4yXXwwLGQpfDA7ZG8gaWYoKGZ8MCkhPTAmKGd8MCkhPTApe2NbZT4+Ml09Y1tiPj4y
XTtjW2UrND4+Ml09Y1tiKzQ+PjJdO2NbZSs4Pj4yXT1jW2IrOD4+Ml07Y1tlKzEyPj4yXT1jW2Ir
MTI+PjJdO2U9X20oYSxmLGcsZSl8MDtmPShlfDApPT0wO2lmKCEoKGR8MCkhPTAmZikpe2lmKGYp
YnJlYWt9ZWxzZXtabShhLGIpO2U9Yn1kPWNbZT4+Ml0mMztsPWg7cmV0dXJuICgoZHwwKT09KGNb
Yj4+Ml0mM3wwKT9lOmUrKCgoZHwwKT09Mz8tMToxKSo0OHwwKXwwKXwwfXdoaWxlKDApO2w9aDty
ZXR1cm4gMH1mdW5jdGlvbiBmbihhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtiPWIr
OHwwO2U9ZCs4fDA7ZT1JTihjW2I+PjJdfDAsY1tiKzQ+PjJdfDAsY1tlPj4yXXwwLGNbZSs0Pj4y
XXwwKXwwO3JldHVybiAoKGV8MCk9PTA/MDplPj4zMXwxKXwwfWZ1bmN0aW9uIGduKGIsZCxlKXti
PWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7aD1sO2w9bCsxNnww
O2c9aDtqPWhuKGUpfDA7Zj1hYltjWyhjW2o+PjJdfDApKzQ+PjJdJjYzXShjW2orMTI+PjJdfDAs
NzIpfDA7Y1tmPj4yXT1jW2Y+PjJdJi00O2k9Zis2NHwwO2NbaT4+Ml09ajtrPWYrMjR8MDtkPWNb
ZD4+Ml18MDtjW2s+PjJdPWQ7YVtrPj4wXT1kJjI1NXw4O2NbZis2MD4+Ml09ZjtlPWFiW2NbY1tq
KzQ+PjJdPj4yXSY2M10oZixlKXwwO2NbKGNbaT4+Ml18MCkrMTY+PjJdPWU7aWYoQW4oZiwwLGIs
ZywxKXwwKXtpPWc7aj1jW2krND4+Ml18MDtrPWYrOHwwO2Nbaz4+Ml09Y1tpPj4yXTtjW2srND4+
Ml09an1rPWpuKGYpfDA7RW4oaywwLGYpO2w9aDtyZXR1cm4ga3wwfWZ1bmN0aW9uIGhuKGIpe2I9
YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTA7ZD0oYnwwKSE9MDtpZihkKXtlPWNbYj4+Ml18MDtlPShl
fDApPT0wPzE3NzkyOmV9ZWxzZSBlPTE3NzkyO2c9JGFbY1tlPj4yXSYzMV0oYil8MDtmPWFiW2Nb
ZSs0Pj4yXSY2M10oZyw4MCl8MDtjW2Y+PjJdPWU7Y1tmKzEyPj4yXT1nO2lmKGQpe2c9Y1tiKzQ+
PjJdfDA7Y1tmKzQ+PjJdPShnfDApPT0wPzE3NjY4Omc7Yj1jW2IrOD4+Ml18MDtiPShifDApPT0w
PzE3NzY4OmJ9ZWxzZXtjW2YrND4+Ml09MTc2Njg7Yj0xNzc2OH1jW2YrOD4+Ml09YjthW2YrNTI+
PjBdPTE7cmV0dXJuIGZ8MH1mdW5jdGlvbiBqbihiKXtiPWJ8MDt2YXIgZD0wLGU9MDtjW2IrMzY+
PjJdPVBwKGIsMTc4NDgsY1s0MzUzXXwwKXwwO2NbYis0MD4+Ml09UHAoYiwxNzgxMixjWzQzNTNd
fDApfDA7ZD0oc28oYil8MCk9PShifDApO2NbYis0ND4+Ml09UHAoYixkPzE3NDYwOjE3NDk2LGNb
NDM1M118MCl8MDtkPShzbyhiKXwwKT09KGJ8MCk7Y1tiKzQ4Pj4yXT1QcChiLGQ/MTc1MzI6MTc1
NjgsY1s0MzUzXXwwKXwwO2NbYis1Mj4+Ml09UHAoYiwxNzYwNCxjWzQzNTNdfDApfDA7ZD1McChi
KXwwO2lmKCEoKGR8MCkhPTA/KGU9a24oZCwwKXwwLGNbYj4+Ml09Y1tiPj4yXSYxNXxlPDw0LGU9
Y1tkKzUyPj4yXXwwLGJiW2NbZT4+Ml0mMzFdKGUsYiwxKXwwLCEoYVtkKzI0Pj4wXSY2NCkpOjAp
KWxtKGIpO3RvKGIsYik7cmV0dXJuIGJ8MH1mdW5jdGlvbiBrbihhLGIpe2E9YXwwO2I9YnwwO3Zh
ciBkPTA7ZD0oY1thKzY0Pj4yXXwwKSsyNCsoYjw8Myl8MDtiPWQ7Yj1ITihjW2I+PjJdfDAsY1ti
KzQ+PjJdfDAsMSwwKXwwO2E9ejtjW2Q+PjJdPWI7Y1tkKzQ+PjJdPWE7ej1hO3JldHVybiBifDB9
ZnVuY3Rpb24gbG4oYil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MDtmPUxwKGIpfDA7Zz0oZnww
KT09MDtpZihnPyhkPWIrNjR8MCwoY1soY1tjW2Q+PjJdPj4yXXwwKSsxNj4+Ml18MCkhPTApOjAp
e3hvKGIsYik7Zz1iKzh8MDtDbihiLDAsY1tnPj4yXXwwLGNbZys0Pj4yXXwwKTtkPWNbZD4+Ml18
MDtnYltjWyhjW2Q+PjJdfDApKzE2Pj4yXSYxMjddKGNbZCsxMj4+Ml18MCk7ZD0wfWVsc2UgZT00
O2RvIGlmKChlfDApPT00KXtkPUpwKGIpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7ZT1LcChkKXww
O2xuKGQpfDA7ZD1lfWQ9Y28oYil8MDt3aGlsZSgxKXtpZighZClicmVhaztlPWVvKGIsZCl8MDtw
byhiLGQpfDA7ZD1lfU5uKGIpO3hvKGIsYik7aWYoKCgoKFJwKGIsY1tiKzQwPj4yXXwwKXwwKT09
MD8oUnAoYixjW2IrMzY+PjJdfDApfDApPT0wOjApPyhScChiLGNbYis0OD4+Ml18MCl8MCk9PTA6
MCk/KFJwKGIsY1tiKzQ0Pj4yXXwwKXwwKT09MDowKT8oUnAoYixjW2IrNTI+PjJdfDApfDApPT0w
OjApe2lmKGFbYisyND4+MF0mNjQ/RW0oYil8MDowKXtkPS0xO2JyZWFrfVZvKGIpO2U9Yis4fDA7
Q24oYiwwLGNbZT4+Ml18MCxjW2UrND4+Ml18MCk7aWYoIWcpe01wKGYsYil8MDtabihmLGIpO2Q9
MDticmVha31kPWIrNjR8MDt3aGlsZSgxKXtlPWNbZD4+Ml18MDtmPWNbZSs0OD4+Ml18MDtpZigh
ZilicmVhaztBbyhiLGNbZj4+Ml18MCl8MH1nYltjWyhjW2UrND4+Ml18MCkrMjA+PjJdJjEyN10o
Y1tlKzE2Pj4yXXwwKTtpZighKFdvKGIpfDApKXtkPWNbZD4+Ml18MDtnPWNbZCsxMj4+Ml18MDtm
PShjW2Q+PjJdfDApKzEyfDA7aGJbY1tmPj4yXSYzMV0oZyxiKTtoYltjW2Y+PjJdJjMxXShnLGQp
O2Q9MH1lbHNlIGQ9LTF9ZWxzZSBkPS0xfXdoaWxlKDApO3JldHVybiBkfDB9ZnVuY3Rpb24gbW4o
YSl7YT1hfDA7cmV0dXJuIFNsKGNbYSs0MD4+Ml18MCl8MH1mdW5jdGlvbiBubihhKXthPWF8MDt2
YXIgYj0wLGM9MCxkPTA7Yj0wO2M9Y28oYSl8MDt3aGlsZSgxKXtpZighYylicmVhaztkPShvbihh
LGMsMCwxKXwwKStifDA7Yj1kO2M9ZW8oYSxjKXwwfXJldHVybiBifDB9ZnVuY3Rpb24gb24oYSxi
LGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MDtmPVFtKGEsYil8MDtpZihmKXtp
ZighZSliPTA7ZWxzZSBiPXBuKGNbYSs0ND4+Ml18MCxmKzMyfDApfDA7aWYoZCliPShwbihjW2Er
NDQ+PjJdfDAsZisyOHwwKXwwKStifDB9ZWxzZSBiPTA7cmV0dXJuIGJ8MH1mdW5jdGlvbiBwbihh
LGIpe2E9YXwwO2I9YnwwO3ZhciBkPTA7UmwoYSxjW2I+PjJdfDApfDA7ZD1TbChhKXwwO2NbYj4+
Ml09TmwoYSl8MDtyZXR1cm4gZHwwfWZ1bmN0aW9uIHFuKGIpe2I9YnwwO3JldHVybiBhW2IrMjQ+
PjBdJjF8MH1mdW5jdGlvbiBybihhKXthPWF8MDtyZXR1cm4gKHFuKGEpfDApPT0wfDB9ZnVuY3Rp
b24gc24oYSl7YT1hfDA7cmV0dXJuIChkW2ErMjQ+PjBdfDApPj4+MSYxfDB9ZnVuY3Rpb24gdG4o
YSxiKXthPWF8MDtiPWJ8MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIHVuKGEsYixkLGUsZil7YT1hfDA7
Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7aWYoIWQpe2Y9MTMyODtkPWNbZj4+Ml18MDtmPWNbZis0
Pj4yXXwwO2NbZT4+Ml09ZDtjW2UrND4+Ml09ZjtmPUhOKGR8MCxmfDAsMiwwKXwwO2U9MTMyODtj
W2U+PjJdPWY7Y1tlKzQ+PjJdPXp9ZWxzZXtpZighZilhPVlvKGEsZCl8MDtlbHNlIGE9JG8oYSxk
KXwwO2NbZT4+Ml09YTtjW2UrND4+Ml09MH1yZXR1cm4gMX1mdW5jdGlvbiB2bihhLGIsYyxkKXth
PWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtyZXR1cm4gMH1mdW5jdGlvbiB3bihhLGIsYyxkKXthPWF8
MDtiPWJ8MDtjPWN8MDtkPWR8MDtpZigoYyYxfDApPT0wJjA9PTApYnAoYSxjKXwwO3JldHVybn1m
dW5jdGlvbiB4bihhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtyZXR1cm4gKChjJjF8
MCk9PTAmMD09MD9jOjApfDB9ZnVuY3Rpb24geW4oYSl7YT1hfDA7cmV0dXJufWZ1bmN0aW9uIHpu
KGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtyZXR1cm59ZnVuY3Rpb24gQW4oYixkLGUsZixnKXti
PWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGk9MCxqPTA7aT0oZXwwKSE9MDtk
byBpZihpKXtpZigoYVtlPj4wXXwwKSE9Mzc/KGg9Y1tiKzY0Pj4yXXwwLGg9ZGJbY1soY1toKzQ+
PjJdfDApKzQ+PjJdJjNdKGNbaCsxNj4+Ml18MCxkLGUsZixnKXwwLGh8MCk6MClicmVhaztoPUZu
KGIsZCxlLGYpfDA7aWYoIWgpaj01fWVsc2Ugaj01O3doaWxlKDApO2lmKChqfDApPT01KWlmKGcp
e2g9Y1tiKzY0Pj4yXXwwO2g9ZGJbY1soY1toKzQ+PjJdfDApKzQ+PjJdJjNdKGNbaCsxNj4+Ml18
MCxkLDAsZixnKXwwO2lmKGkmKGh8MCkhPTApe2o9ZjtHbihiLGQsZSxjW2o+PjJdfDAsY1tqKzQ+
PjJdfDApfX1lbHNlIGg9MDtyZXR1cm4gaHwwfWZ1bmN0aW9uIEJuKGEsYixkLGUpe2E9YXwwO2I9
YnwwO2Q9ZHwwO2U9ZXwwO2E9Y1thKzY0Pj4yXXwwO3JldHVybiBjYltjWyhjW2ErND4+Ml18MCkr
OD4+Ml0mMzFdKGNbYSsxNj4+Ml18MCxiLGQsZSl8MH1mdW5jdGlvbiBDbihhLGIsZCxlKXthPWF8
MDtiPWJ8MDtkPWR8MDtlPWV8MDtMbihhLGIsZCxlKXwwO2E9Y1thKzY0Pj4yXXwwO2tiW2NbKGNb
YSs0Pj4yXXwwKSsxMj4+Ml0mMzFdKGNbYSsxNj4+Ml18MCxiLGQsZSk7cmV0dXJufWZ1bmN0aW9u
IERuKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTAsZz0wLGg9MDtoPWw7bD1sKzE2fDA7Zz1o
O2Q9cm8oYSl8MDtmPWErOHwwO2I9ZjtiPUpuKGQsY1thPj4yXSYzLGNbYj4+Ml18MCxjW2IrND4+
Ml18MCl8MDtkbyBpZighYil7Yj1jW2QrNjQ+PjJdfDA7ZD1jWyhjW2IrND4+Ml18MCkrMTY+PjJd
fDA7aWYoZHwwPyhlPWYsZT1jYltkJjMxXShjW2IrMTY+PjJdfDAsY1thPj4yXSYzLGNbZT4+Ml18
MCxjW2UrND4+Ml18MCl8MCxlfDApOjApe2I9ZTticmVha31pZigoY1thPj4yXSYzfDApPT0yKWI9
MDtlbHNle2U9Y1tmPj4yXXwwO2Y9Y1tmKzQ+PjJdfDA7Y1tnPj4yXT0zNztiPWcrOHwwO2NbYj4+
Ml09ZTtjW2IrND4+Ml09ZjtwTCgxNzM4OTUsODE0MTksZyl8MDtiPTE3Mzg5NX19d2hpbGUoMCk7
bD1oO3JldHVybiBifDB9ZnVuY3Rpb24gRW4oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO2E9Y1th
KzY0Pj4yXXwwO2liW2NbKGNbYSs0Pj4yXXwwKSsyND4+Ml0mMTI3XShjW2ErMTY+PjJdfDAsYixk
KTtyZXR1cm59ZnVuY3Rpb24gRm4oYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFy
IGY9MCxnPTAsaD0wLGk9MDtpPWw7bD1sKzMyfDA7aD1pO2I9Y1soY1thKzY0Pj4yXXwwKSs1Niso
KChifDApPT0zPzI6Yik8PDIpPj4yXXwwO2lmKCgoYnwwKSE9MD8oZj1ZbyhhLGQpfDAsKGZ8MCkh
PTApOjApPyhjW2grMjQ+PjJdPWYsZz1iYltjW2I+PjJdJjMxXShiLGgsNCl8MCwoZ3wwKSE9MCk6
MCl7ZD1nKzE2fDA7aD1jW2QrND4+Ml18MDtiPWU7Y1tiPj4yXT1jW2Q+PjJdO2NbYis0Pj4yXT1o
O2I9MX1lbHNlIGI9MDtsPWk7cmV0dXJuIGJ8MH1mdW5jdGlvbiBHbihhLGIsZCxlLGYpe2E9YXww
O2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wO2g9WW4oYSwzMil8MDtnPWgrMTZ8
MDtjW2c+PjJdPWU7Y1tnKzQ+PjJdPWY7Y1toKzI0Pj4yXT0kbyhhLGQpfDA7ZT0oYnwwKT09Mz8y
OmI7Zz1hKzY0fDA7ZD1jW2c+PjJdfDA7Yj1jW2QrNTYrKGU8PDIpPj4yXXwwO2lmKCFiKXtmPVBw
KGEsMTc2OTYsY1s0MzUzXXwwKXwwO2NbKGNbZz4+Ml18MCkrNTYrKGU8PDIpPj4yXT1mO2I9Y1tn
Pj4yXXwwfWVsc2V7Zj1iO2I9ZH1iPWNbYis2OCsoZTw8Mik+PjJdfDA7aWYoIWIpe2I9UHAoYSwx
NzczMixjWzQzNTNdfDApfDA7Y1soY1tnPj4yXXwwKSs2OCsoZTw8Mik+PjJdPWJ9YmJbY1tmPj4y
XSYzMV0oZixoLDEpfDA7YmJbY1tiPj4yXSYzMV0oYixoLDEpfDA7cmV0dXJufWZ1bmN0aW9uIEhu
KGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2E9YisxNnwwO2I9Y1thPj4yXXwwO2E9
Y1thKzQ+PjJdfDA7ZD1kKzE2fDA7ZT1jW2Q+PjJdfDA7ZD1jW2QrND4+Ml18MDtyZXR1cm4gKGE+
Pj4wPmQ+Pj4wfChhfDApPT0oZHwwKSZiPj4+MD5lPj4+MD8xOihhPj4+MDxkPj4+MHwoYXwwKT09
KGR8MCkmYj4+PjA8ZT4+PjApPDwzMT4+MzEpfDB9ZnVuY3Rpb24gSW4oYSxiLGQsZSl7YT1hfDA7
Yj1ifDA7ZD1kfDA7ZT1lfDA7Yj1jW2IrMjQ+PjJdfDA7ZT1jW2QrMjQ+PjJdfDA7cmV0dXJuIChi
Pj4+MD5lPj4+MD8xOihiPj4+MDxlPj4+MCk8PDMxPj4zMSl8MH1mdW5jdGlvbiBKbihhLGIsZCxl
KXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDthPUtuKGEsYixkLGUpfDA7aWYoIWEpYT0wO2Vsc2Ug
YT1jW2ErMjQ+PjJdfDA7cmV0dXJuIGF8MH1mdW5jdGlvbiBLbihhLGIsZCxlKXthPWF8MDtiPWJ8
MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MDtnPWw7bD1sKzMyfDA7Zj1nO2E9Y1soY1thKzY0Pj4y
XXwwKSs2OCsoKChifDApPT0zPzI6Yik8PDIpPj4yXXwwO2lmKCFhKWE9MDtlbHNle2I9ZisxNnww
O2NbYj4+Ml09ZDtjW2IrND4+Ml09ZTthPWJiW2NbYT4+Ml0mMzFdKGEsZiw0KXwwfWw9ZztyZXR1
cm4gYXwwfWZ1bmN0aW9uIExuKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBm
PTA7Zj0oYnwwKT09Mz8yOmI7Yj1LbihhLGYsZCxlKXwwO2lmKCFiKWI9MDtlbHNle2U9YSs2NHww
O2Q9Y1soY1tlPj4yXXwwKSs1NisoZjw8Mik+PjJdfDA7YmJbY1tkPj4yXSYzMV0oZCxiLDIpfDA7
ZT1jWyhjW2U+PjJdfDApKzY4KyhmPDwyKT4+Ml18MDtiYltjW2U+PjJdJjMxXShlLGIsMil8MDti
cChhLGNbYisyND4+Ml18MCl8MDtabihhLGIpO2I9MX1yZXR1cm4gYnwwfWZ1bmN0aW9uIE1uKGIp
e2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MDtjWzQxOTg3XT1iO2c9Y1tiKzY0Pj4y
XXwwO2Y9MDt3aGlsZSgxKXtpZigoZnwwKT09MylicmVhaztoPWcrNTYrKGY8PDIpfDA7ZD1jW2g+
PjJdfDA7YTpkbyBpZihkfDApe2Q9YmJbY1tkPj4yXSYzMV0oZCwwLDEyOCl8MDt3aGlsZSgxKXtp
ZighZClicmVhayBhO2U9Y1toPj4yXXwwO2U9YmJbY1tlPj4yXSYzMV0oZSxkLDgpfDA7aWYoKGFb
Y1tkKzI0Pj4yXT4+MF18MCkhPTM3KXtkPWU7Y29udGludWV9aT1kKzE2fDA7TG4oYixmLGNbaT4+
Ml18MCxjW2krND4+Ml18MCl8MDtkPWV9fXdoaWxlKDApO2Y9ZisxfDB9cmV0dXJufWZ1bmN0aW9u
IE5uKGEpe2E9YXwwO2NbNDE5ODddPWE7YT1hKzY0fDA7T24oKGNbYT4+Ml18MCkrNTZ8MCk7T24o
KGNbYT4+Ml18MCkrNjh8MCk7cmV0dXJufWZ1bmN0aW9uIE9uKGEpe2E9YXwwO3ZhciBiPTAsZD0w
LGU9MDtiPTA7d2hpbGUoMSl7aWYoKGJ8MCk9PTMpYnJlYWs7ZD1hKyhiPDwyKXwwO2U9Y1tkPj4y
XXwwO2lmKGV8MCl7S2woZSl8MDtjW2Q+PjJdPTB9Yj1iKzF8MH1yZXR1cm59ZnVuY3Rpb24gUG4o
YSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2lmKCEoZ0woYixjLGEpfDApKWE9MDtlbHNlIGE9ckoo
Yil8MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIFFuKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuIFdMKGIs
YSl8MH1mdW5jdGlvbiBSbihhKXthPWF8MDtyZXR1cm4gUEwoYSl8MH1mdW5jdGlvbiBTbihhKXth
PWF8MDt2YXIgYj0wLGQ9MCxlPTA7Yj1sO2w9bCszMnwwO2U9YisxMnwwO2Q9YjtjWzQ0NDZdPWNb
NDQ0M107Y1s0NDQ3XT1jWzQ0NDRdO2NbZT4+Ml09YTtjW2UrND4+Ml09ckooYSl8MDtjW2UrOD4+
Ml09MDtjW2Q+PjJdPTE3NzkyO2NbZCs0Pj4yXT0xNzY2ODtjW2QrOD4+Ml09MTc3ODA7YT1lcihl
LGQpfDA7ZnAoMCk7bD1iO3JldHVybiBhfDB9ZnVuY3Rpb24gVG4oYixkLGUpe2I9YnwwO2Q9ZHww
O2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTA7aWYoKGV8MCkhPTA/KGg9Yis4fDAsZj1jW2g+PjJd
fDAsKGZ8MCk8KGNbYis0Pj4yXXwwKSk6MCl7aT0oY1tiPj4yXXwwKStmfDA7Yj0wO2c9YVtpPj4w
XXwwO2Y9ZDtkPWk7d2hpbGUoMSl7ZD1kKzF8MDthW2Y+PjBdPWc7Yj1iKzF8MDtpZighKGc8PDI0
Pj4yNCE9MTAmKGJ8MCk8KGV8MCkpKWJyZWFrO2c9YVtkPj4wXXwwO2lmKCEoZzw8MjQ+PjI0KSli
cmVhaztlbHNlIGY9ZisxfDB9Y1toPj4yXT0oY1toPj4yXXwwKStifWVsc2UgYj0wO3JldHVybiBi
fDB9ZnVuY3Rpb24gVW4oYSl7YT1hfDA7cmV0dXJuIDB9ZnVuY3Rpb24gVm4oYSxiKXthPWF8MDti
PWJ8MDthPVpJKGIpfDA7Vk4oYXwwLDAsYnwwKXwwO3JldHVybiBhfDB9ZnVuY3Rpb24gV24oYSxi
LGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7YT1hSihiLGQpfDA7aWYoZD4+PjA+Yz4+PjAp
Vk4oYStjfDAsMCxkLWN8MCl8MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIFhuKGEsYil7YT1hfDA7Yj1i
fDA7X0koYik7cmV0dXJufWZ1bmN0aW9uIFluKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MDtkPWw7
bD1sKzE2fDA7YT1jW2ErNjQ+PjJdfDA7YT1hYltjWyhjW2E+PjJdfDApKzQ+PjJdJjYzXShjW2Er
MTI+PjJdfDAsYil8MDtpZighYSlfbCgxLDgxNDI1LGQpfDA7bD1kO3JldHVybiBhfDB9ZnVuY3Rp
b24gWm4oYSxiKXthPWF8MDtiPWJ8MDtpZihifDApe2E9Y1thKzY0Pj4yXXwwO2hiW2NbKGNbYT4+
Ml18MCkrMTI+PjJdJjMxXShjW2ErMTI+PjJdfDAsYil9cmV0dXJufWZ1bmN0aW9uIF9uKGEsYixk
LGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2E9KGNbYisxNj4+Ml18MCkrOHwwO2I9Y1thPj4y
XXwwO2E9Y1thKzQ+PjJdfDA7ZD0oY1tkKzE2Pj4yXXwwKSs4fDA7ZT1jW2Q+PjJdfDA7ZD1jW2Qr
ND4+Ml18MDtyZXR1cm4gKGE+Pj4wPGQ+Pj4wfChhfDApPT0oZHwwKSZiPj4+MDxlPj4+MD8tMToo
YT4+PjA+ZD4+PjB8KGF8MCk9PShkfDApJmI+Pj4wPmU+Pj4wKSYxKXwwfWZ1bmN0aW9uICRuKGEs
YixkKXthPWF8MDtiPWJ8MDtkPWR8MDthPWNbYisxNj4+Ml18MDtpZigoYSsyOHwwKSE9KGJ8MCkp
Wm4oY1thKzI0Pj4yXXwwLGIpO3JldHVybn1mdW5jdGlvbiBhbyhhLGIsZCxlKXthPWF8MDtiPWJ8
MDtkPWR8MDtlPWV8MDtiPShjW2NbYisxNj4+Ml0+PjJdfDApPj4+NDtlPShjW2NbZCsxNj4+Ml0+
PjJdfDApPj4+NDtyZXR1cm4gKGI+Pj4wPGU+Pj4wPy0xOmI+Pj4wPmU+Pj4wJjEpfDB9ZnVuY3Rp
b24gYm8oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTA7ZT0xNjcwNDA7Y1tlPj4yXT1i
O2NbZSs0Pj4yXT1kO2NbNDE5OTJdPTE2NzAzMjthPWNbYSs0MD4+Ml18MDthPWJiW2NbYT4+Ml0m
MzFdKGEsMTY3OTUyLDQpfDA7aWYoIWEpYT0wO2Vsc2UgYT1jW2ErMTY+PjJdfDA7cmV0dXJuIGF8
MH1mdW5jdGlvbiBjbyhhKXthPWF8MDthPWNbYSszNj4+Ml18MDthPWJiW2NbYT4+Ml0mMzFdKGEs
MCwxMjgpfDA7aWYoIWEpYT0wO2Vsc2UgYT1jW2ErMTY+PjJdfDA7cmV0dXJuIGF8MH1mdW5jdGlv
biBlbyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTA7Yj1RbShhLGIpfDA7aWYoKGJ8MCkhPTA/KGQ9
Y1thKzM2Pj4yXXwwLGQ9YmJbY1tkPj4yXSYzMV0oZCxiLDgpfDAsKGR8MCkhPTApOjApYj1jW2Qr
MTY+PjJdfDA7ZWxzZSBiPTA7cmV0dXJuIGJ8MH1mdW5jdGlvbiBmbyhhKXthPWF8MDthPWNbYSsz
Nj4+Ml18MDthPWJiW2NbYT4+Ml0mMzFdKGEsMCwyNTYpfDA7aWYoIWEpYT0wO2Vsc2UgYT1jW2Er
MTY+PjJdfDA7cmV0dXJuIGF8MH1mdW5jdGlvbiBnbyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTA7
Yj1RbShhLGIpfDA7aWYoKGJ8MCkhPTA/KGQ9Y1thKzM2Pj4yXXwwLGQ9YmJbY1tkPj4yXSYzMV0o
ZCxiLDE2KXwwLChkfDApIT0wKTowKWI9Y1tkKzE2Pj4yXXwwO2Vsc2UgYj0wO3JldHVybiBifDB9
ZnVuY3Rpb24gaG8oYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxmPTA7
ZT1ibyhhLGIsYyl8MDtkbyBpZigoZHwwKSE9MCYoZXwwKT09MCl7ZT1zbyhhKXwwO2lmKChlfDAp
IT0oYXwwKT8oZj1ibyhlLGIsYyl8MCxmfDApOjApe2lvKGEsZiwxKXwwO2U9ZjticmVha31pZigh
KEJuKGEsMSxiLGMpfDApKWU9MDtlbHNle2U9a24oYSwxKXwwO2U9am8oYSxiLGMsZSx6KXwwO2tv
KGEsZSk7bG8oYSxlKX19d2hpbGUoMCk7cmV0dXJuIGV8MH1mdW5jdGlvbiBpbyhhLGIsZCl7YT1h
fDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MDtlPXNvKGEpfDA7aWYoKGV8MCk9PShjW2IrMjQ+PjJdfDAp
KXtlPWIrOHwwO2U9Ym8oYSxjW2U+PjJdfDAsY1tlKzQ+PjJdfDApfDA7aWYoKGR8MCkhPTAmKGV8
MCk9PTApe2U9THAoYSl8MDtpZighZSllPTA7ZWxzZXtkPWlvKGUsYixkKXwwO21vKGEsZCk7cmV0
dXJuIGR8MH19fWVsc2UgZT0wO3JldHVybiBlfDB9ZnVuY3Rpb24gam8oYixkLGUsZixnKXtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGk9MDtnPVluKGIsNjQpfDA7aD1jW2c+
PjJdfDA7aT1nKzh8MDtjW2k+PjJdPWQ7Y1tpKzQ+PjJdPWU7Y1tnPj4yXT1oJjEyfGY8PDR8MTtj
W2crMjQ+PjJdPXNvKGIpfDA7aWYoYVsoc28oYil8MCkrMjQ+PjBdJjY0KU5vKGcsODEzNjcsMTYs
MCl8MDtyZXR1cm4gZ3wwfWZ1bmN0aW9uIGtvKGEsYil7YT1hfDA7Yj1ifDA7ZG97bW8oYSxiKTth
PUxwKGEpfDB9d2hpbGUoKGF8MCkhPTApO3JldHVybn1mdW5jdGlvbiBsbyhiLGMpe2I9YnwwO2M9
Y3wwO2lmKGFbKHNvKGIpfDApKzI0Pj4wXSY2NCltbShiLGMpO3RvKGIsYyk7cmV0dXJufWZ1bmN0
aW9uIG1vKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTA7ZT1hKzQwfDA7U2woY1tlPj4yXXww
KXwwO2lmKChzbyhhKXwwKT09KGF8MCkpZD1iKzI4fDA7ZWxzZSBkPVluKGEsMzYpfDA7Y1tkKzE2
Pj4yXT1iO2U9Y1tlPj4yXXwwO2JiW2NbZT4+Ml0mMzFdKGUsZCwxKXwwO2U9Y1thKzM2Pj4yXXww
O2JiW2NbZT4+Ml0mMzFdKGUsZCwxKXwwO3JldHVybn1mdW5jdGlvbiBubyhhLGIsZCl7YT1hfDA7
Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wO2o9bDtsPWwrMTZ8MDtnPWo7
aD1zbyhhKXwwO2lmKEFuKGEsMSxiLGcsMCl8MCl7ZT1nO2U9Ym8oYSxjW2U+PjJdfDAsY1tlKzQ+
PjJdfDApfDA7aWYoIWUpaWYoISgoZHwwKT09MHwoaHwwKT09KGF8MCkpPyhmPWcsZj1ibyhoLGNb
Zj4+Ml18MCxjW2YrND4+Ml18MCl8MCwoZnwwKSE9MCk6MCllPWlvKGEsZiwxKXwwO2Vsc2UgaT02
fWVsc2UgaT02O2lmKChpfDApPT02KWlmKChkfDApIT0wPyhBbihhLDEsYixnLDEpfDApIT0wOjAp
e2k9ZztoPWNbaT4+Ml18MDtpPWNbaSs0Pj4yXXwwO2U9a24oYSwxKXwwO2U9am8oYSxoLGksZSx6
KXwwO2tvKGEsZSk7bG8oYSxlKTtFbihhLDEsZSl9ZWxzZSBlPTA7bD1qO3JldHVybiBlfDB9ZnVu
Y3Rpb24gb28oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTA7Y1s0MjAwMV09YjtkPVVt
KGEsYil8MDt3aGlsZSgxKXtpZighZClicmVhaztlPVZtKGEsZCxiKXwwO2JuKGEsZCwwKTtkPWV9
ZT1jW2ErNDA+PjJdfDA7YmJbY1tlPj4yXSYzMV0oZSwxNjc5ODgsMil8MDtlPWNbYSszNj4+Ml18
MDtiYltjW2U+PjJdJjMxXShlLDE2Nzk4OCwyKXwwO3JldHVybn1mdW5jdGlvbiBwbyhiLGQpe2I9
YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MDtmPWQrOHwwO2U9ZjtpZihibyhiLGNbZT4+Ml18MCxj
W2UrND4+Ml18MCl8MCl7aWYoKHNvKGIpfDApPT0oYnwwKSl7ZT1VbShiLGQpfDA7d2hpbGUoMSl7
aWYoIWUpYnJlYWs7Zz1WbShiLGUsZCl8MDtkbihiLGUpfDA7ZT1nfWlmKGFbYisyND4+MF0mNjQp
R20oZCk7eG8oYixkKTtWbyhkKTtnPWY7Q24oYiwxLGNbZz4+Ml18MCxjW2crND4+Ml18MCl9aWYo
ISh3cShiLGQsNTQsMCwwKXwwKSlpZigoc28oYil8MCk9PShifDApKXtabihiLGQpO2U9MH1lbHNl
IGU9MDtlbHNlIGU9LTF9ZWxzZSBlPS0xO3JldHVybiBlfDB9ZnVuY3Rpb24gcW8oYSxiKXthPWF8
MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MDtoPWw7bD1sKzE2fDA7ZT1oO2Q9Y1tiPj4y
XXwwO2RvIGlmKCEoZCYzKSlpZigoTHAoYil8MCk9PShhfDApKXtkPWNbYj4+Ml18MDtnPTU7YnJl
YWt9ZWxzZXtfbCgxLDgxNDUxLGUpfDA7Zj0tMTticmVha31lbHNlIGc9NTt3aGlsZSgwKTthOmRv
IGlmKChnfDApPT01KXN3aXRjaChkJjMpe2Nhc2UgMTp7Zj1wbyhhLGIpfDA7YnJlYWsgYX1jYXNl
IDI6Y2FzZSAzOntmPWRuKGEsYil8MDticmVhayBhfWNhc2UgMDp7Zj1sbihiKXwwO2JyZWFrIGF9
ZGVmYXVsdDp7fX13aGlsZSgwKTtsPWg7cmV0dXJuIGZ8MH1mdW5jdGlvbiBybyhhKXthPWF8MDt2
YXIgYj0wO3N3aXRjaChjW2E+PjJdJjMpe2Nhc2UgMjpjYXNlIDM6e2I9Y1soY1thKzQwPj4yXXww
KSsyND4+Ml18MDticmVha31jYXNlIDE6e2I9Y1thKzI0Pj4yXXwwO2JyZWFrfWNhc2UgMDp7Yj1h
O2JyZWFrfWRlZmF1bHQ6e319cmV0dXJuIGJ8MH1mdW5jdGlvbiBzbyhhKXthPWF8MDt2YXIgYj0w
O3N3aXRjaChjW2E+PjJdJjMpe2Nhc2UgMjpjYXNlIDM6e2I9KGNbYSs0MD4+Ml18MCkrMjR8MDti
cmVha31jYXNlIDE6e2I9YSsyNHwwO2JyZWFrfWNhc2UgMDp7Yj1hKzYwfDA7YnJlYWt9ZGVmYXVs
dDp7fX1yZXR1cm4gY1tiPj4yXXwwfWZ1bmN0aW9uIHRvKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9
MDtlPWNbYis2ND4+Ml18MDtpZighKGFbZSs1Mj4+MF18MCkpRG8oYixkLDEwMCwwKTtlbHNlIHVv
KGIsZCxjW2UrNDg+PjJdfDApO3JldHVybn1mdW5jdGlvbiB1byhhLGIsZCl7YT1hfDA7Yj1ifDA7
ZD1kfDA7dmFyIGU9MDthOmRvIGlmKGR8MCl7dW8oYSxiLGNbZCs4Pj4yXXwwKTtzd2l0Y2goY1ti
Pj4yXSYzKXtjYXNlIDA6e2U9Y1tkPj4yXXwwO2JyZWFrfWNhc2UgMTp7ZT0oY1tkPj4yXXwwKSsx
MnwwO2JyZWFrfWNhc2UgMjp7ZT0oY1tkPj4yXXwwKSsyNHwwO2JyZWFrfWRlZmF1bHQ6YnJlYWsg
YX1lPWNbZT4+Ml18MDtpZihlfDApaWJbZSYxMjddKGEsYixjW2QrND4+Ml18MCl9d2hpbGUoMCk7
cmV0dXJufWZ1bmN0aW9uIHZvKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wO2Y9Y1ti
KzY0Pj4yXXwwO2lmKCEoYVtmKzUyPj4wXXwwKSlEbyhiLGQsMTAxLGUpO2Vsc2Ugd28oYixkLGUs
Y1tmKzQ4Pj4yXXwwKTtyZXR1cm59ZnVuY3Rpb24gd28oYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1k
fDA7ZT1lfDA7dmFyIGY9MDthOmRvIGlmKGV8MCl7d28oYSxiLGQsY1tlKzg+PjJdfDApO3N3aXRj
aChjW2I+PjJdJjMpe2Nhc2UgMDp7Zj0oY1tlPj4yXXwwKSs0fDA7YnJlYWt9Y2FzZSAxOntmPShj
W2U+PjJdfDApKzE2fDA7YnJlYWt9Y2FzZSAyOntmPShjW2U+PjJdfDApKzI4fDA7YnJlYWt9ZGVm
YXVsdDpicmVhayBhfWY9Y1tmPj4yXXwwO2lmKGZ8MClrYltmJjMxXShhLGIsY1tlKzQ+PjJdfDAs
ZCl9d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIHhvKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MDtl
PWNbYis2ND4+Ml18MDtpZighKGFbZSs1Mj4+MF18MCkpRG8oYixkLDEwMiwwKTtlbHNlIHlvKGIs
ZCxjW2UrNDg+PjJdfDApO3JldHVybn1mdW5jdGlvbiB5byhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1k
fDA7dmFyIGU9MDthOmRvIGlmKGR8MCl7eW8oYSxiLGNbZCs4Pj4yXXwwKTtzd2l0Y2goY1tiPj4y
XSYzKXtjYXNlIDA6e2U9KGNbZD4+Ml18MCkrOHwwO2JyZWFrfWNhc2UgMTp7ZT0oY1tkPj4yXXww
KSsyMHwwO2JyZWFrfWNhc2UgMjp7ZT0oY1tkPj4yXXwwKSszMnwwO2JyZWFrfWRlZmF1bHQ6YnJl
YWsgYX1lPWNbZT4+Ml18MDtpZihlfDApaWJbZSYxMjddKGEsYixjW2QrND4+Ml18MCl9d2hpbGUo
MCk7cmV0dXJufWZ1bmN0aW9uIHpvKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wO2U9
WW4oYSwxMil8MDtjW2U+PjJdPWI7Y1tlKzQ+PjJdPWQ7ZD0oY1thKzY0Pj4yXXwwKSs0OHwwO2Nb
ZSs4Pj4yXT1jW2Q+PjJdO2NbZD4+Ml09ZTtyZXR1cm59ZnVuY3Rpb24gQW8oYSxiKXthPWF8MDti
PWJ8MDt2YXIgZD0wLGU9MCxmPTA7ZT0oY1thKzY0Pj4yXXwwKSs0OHwwO2Q9Y1tlPj4yXXwwO2E6
ZG8gaWYoIWQpZD0tMTtlbHNle2lmKChjW2Q+PjJdfDApIT0oYnwwKSl7d2hpbGUoMSl7aWYoIWQp
e2Q9LTE7YnJlYWsgYX1lPWQrOHwwO2Y9Y1tlPj4yXXwwO2lmKChjW2Y+PjJdfDApPT0oYnwwKSli
cmVhaztlbHNlIGQ9Zn1pZihmKWNbZT4+Ml09Y1tmKzg+PjJdfWVsc2UgY1tlPj4yXT1jW2QrOD4+
Ml07Wm4oYSxkKTtkPTB9d2hpbGUoMCk7cmV0dXJuIGR8MH1mdW5jdGlvbiBCbyhhLGIpe2E9YXww
O2I9YnwwO3ZhciBkPTA7ZD1zbyhhKXwwO2E6ZG8gaWYoKGR8MCk9PShzbyhiKXwwKSlzd2l0Y2go
Y1tiPj4yXSYzKXtjYXNlIDA6e3doaWxlKDEpe2lmKChifDApPT0oYXwwKSl7Yj0xO2JyZWFrIGF9
Yj1McChiKXwwO2lmKCFiKXtiPTA7YnJlYWt9fWJyZWFrfWNhc2UgMTp7Yj1iKzh8MDtiPShobyhh
LGNbYj4+Ml18MCxjW2IrND4+Ml18MCwwKXwwKSE9MDticmVhayBhfWRlZmF1bHQ6e2I9KGVuKGEs
YiwwKXwwKSE9MDticmVhayBhfX1lbHNlIGI9MDt3aGlsZSgwKTtyZXR1cm4gYiYxfDB9ZnVuY3Rp
b24gQ28oYSl7YT1hfDA7cmV0dXJuIGNbYT4+Ml0mM3wwfWZ1bmN0aW9uIERvKGEsYixjLGQpe2E9
YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTA7aD1sO2w9bCsxNnwwO2c9
aDtmPU5vKGEsODE0NzUsNDQsMCl8MDtzd2l0Y2goY3wwKXtjYXNlIDEwMDp7ZT1FbyhmLGIsMTAw
KXwwO2lmKCEoRm8oZSxiKXwwKSlHbyhlLGEsYixkKXwwO2JyZWFrfWNhc2UgMTAxOntpZigoKEZv
KEVvKGYsYiwxMDApfDAsYil8MCk9PTA/KEZvKEVvKGYsYiwxMDIpfDAsYil8MCk9PTA6MCk/KGU9
RW8oZixiLDEwMSl8MCwoRm8oZSxiKXwwKT09MCk6MClHbyhlLGEsYixkKXwwO2JyZWFrfWNhc2Ug
MTAyOntIbyhFbyhmLGIsMTAwKXwwLGIpO0hvKEVvKGYsYiwxMDEpfDAsYik7ZT1FbyhmLGIsMTAy
KXwwO2lmKCEoRm8oZSxiKXwwKSlHbyhlLGEsYixkKXwwO2JyZWFrfWRlZmF1bHQ6X2woMSw4MTQ4
NyxnKXwwfWw9aDtyZXR1cm59ZnVuY3Rpb24gRW8oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3Zh
ciBlPTAsZj0wLGc9MDtnPWw7bD1sKzE2fDA7ZT1nO2E6ZG8gc3dpdGNoKGNbYj4+Ml0mMyl7Y2Fz
ZSAwOnN3aXRjaChkfDApe2Nhc2UgMTAwOntkPWErOHwwO2JyZWFrIGF9Y2FzZSAxMDE6e2Q9YSsy
MHwwO2JyZWFrIGF9Y2FzZSAxMDI6e2Q9YSszMnwwO2JyZWFrIGF9ZGVmYXVsdDp7Zj0xNDticmVh
ayBhfX1jYXNlIDE6c3dpdGNoKGR8MCl7Y2FzZSAxMDA6e2Q9YSsxMnwwO2JyZWFrIGF9Y2FzZSAx
MDE6e2Q9YSsyNHwwO2JyZWFrIGF9Y2FzZSAxMDI6e2Q9YSszNnwwO2JyZWFrIGF9ZGVmYXVsdDp7
Zj0xNDticmVhayBhfX1jYXNlIDI6c3dpdGNoKGR8MCl7Y2FzZSAxMDA6e2Q9YSsxNnwwO2JyZWFr
IGF9Y2FzZSAxMDE6e2Q9YSsyOHwwO2JyZWFrIGF9Y2FzZSAxMDI6e2Q9YSs0MHwwO2JyZWFrIGF9
ZGVmYXVsdDp7Zj0xNDticmVhayBhfX1kZWZhdWx0OmY9MTR9d2hpbGUoMCk7aWYoKGZ8MCk9PTE0
KXtfbCgxLDgxNTIxLGUpfDA7ZD0wfWE9Y1tkPj4yXXwwO2lmKCFhKXthPXJvKGIpfDA7YT1QcChh
LDE3ODg0LGNbNDM1M118MCl8MDtjW2Q+PjJdPWF9bD1nO3JldHVybiBhfDB9ZnVuY3Rpb24gRm8o
YSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTA7ZD1sO2w9bCszMnwwO2U9ZDtmPUlvKGIp
fDA7Yj1lKzh8MDtjW2I+PjJdPWY7Y1tiKzQ+PjJdPXo7Yj1iYltjW2E+PjJdJjMxXShhLGUsNCl8
MDtsPWQ7cmV0dXJuIGJ8MH1mdW5jdGlvbiBHbyhhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtl
PWV8MDt2YXIgZj0wLGc9MDtmPVluKHJvKGQpfDAsMzIpfDA7Y1tmKzIwPj4yXT1kO2c9SW8oZCl8
MDtkPWYrOHwwO2NbZD4+Ml09ZztjW2QrND4+Ml09ejtjW2YrMTY+PjJdPWI7aWYoZXwwKXtnPVlu
KGIsOCl8MDtjW2YrMjQ+PjJdPWc7Y1tnPj4yXT1lfWJiW2NbYT4+Ml0mMzFdKGEsZiwxKXwwO3Jl
dHVybiBmfDB9ZnVuY3Rpb24gSG8oYSxiKXthPWF8MDtiPWJ8MDtiPUZvKGEsYil8MDtpZihifDAp
YmJbY1thPj4yXSYzMV0oYSxiLDIpfDA7cmV0dXJufWZ1bmN0aW9uIElvKGEpe2E9YXwwO2E9YSs4
fDA7ej1jW2ErND4+Ml18MDtyZXR1cm4gY1thPj4yXXwwfWZ1bmN0aW9uIEpvKGEsYixkKXthPWF8
MDtiPWJ8MDtkPWR8MDtLbyhiKTtabihjW2IrMTY+PjJdfDAsYik7cmV0dXJufWZ1bmN0aW9uIEtv
KGEpe2E9YXwwO3ZhciBiPTAsZD0wO2I9YSsxNnwwO2E9Y1thKzI0Pj4yXXwwO3doaWxlKDEpe2lm
KCFhKWJyZWFrO2Q9Y1thKzQ+PjJdfDA7Wm4oY1tiPj4yXXwwLGEpO2E9ZH1yZXR1cm59ZnVuY3Rp
b24gTG8oYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wLGs9
MDtrPWw7bD1sKzE2fDA7aT1rO2g9Y1tiKzE2Pj4yXXwwO2Y9aDt3aGlsZSgxKXtpZighZil7Zj0w
O2JyZWFrfWc9Y1tmPj4yXXwwO2lmKChnfDApPT0oZHwwKSl7aj03O2JyZWFrfWlmKChhW2Q+PjBd
fDApPT0oYVtnPj4wXXwwKT8oeEooZCxnKXwwKT09MDowKXtqPTc7YnJlYWt9Zj1jW2YrND4+Ml18
MDtpZigoZnwwKT09KGh8MCkpe2Y9MDticmVha319ZG8gaWYoKGp8MCk9PTcpe2lmKCEoY1tiPj4y
XSY0KSl7aWYoKGZ8MCk9PShofDApJihlfDApPT0wKXtmPWg7YnJlYWt9TW8oYixmLGUpO2JyZWFr
fWlmKGUpaWYoKGh8MCk9PShmfDApKWY9aDtlbHNlIF9sKDEsODE1NDYsaSl8MH13aGlsZSgwKTts
PWs7cmV0dXJuIGZ8MH1mdW5jdGlvbiBNbyhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9
MDtjW2ErMTY+PjJdPWI7ZT1jW2E+PjJdfDA7ZD1kPDwyJjQ7Y1thPj4yXT1lJi01fGQ7aWYoZSYy
fDApe2U9KGUmM3wwKT09Mz8tMToxO2NbYSsoZSo0OHwwKSsxNj4+Ml09YjtlPWErKGUqNDh8MCl8
MDtjW2U+PjJdPWNbZT4+Ml0mLTV8ZH1yZXR1cm59ZnVuY3Rpb24gTm8oYSxiLGQsZSl7YT1hfDA7
Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wO2g9cm8oYSl8MDtmPUxvKGEsYiwwKXww
O2E6ZG8gaWYoKGR8MCkhPTAmKGZ8MCk9PTApe2Q9WW4oaCxkKXwwO2NbZD4+Ml09JG8oaCxiKXww
O3N3aXRjaChjW2E+PjJdJjMpe2Nhc2UgMDp7T28oYSxkKTtnPWQ7YnJlYWsgYX1jYXNlIDE6e09v
KGEsZCk7Zz1kO2JyZWFrIGF9Y2FzZSAyOmNhc2UgMzp7T28oYSxkKTtnPWQ7YnJlYWsgYX1kZWZh
dWx0Ont9fX1lbHNlIGc9Zjt3aGlsZSgwKTtpZihlfDApTG8oYSxiLDEpfDA7cmV0dXJuIGd8MH1m
dW5jdGlvbiBPbyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MDtkPWNbYSsxNj4+Ml18
MDtkbyBpZihkKXtlPWQrNHwwO2Y9Y1tlPj4yXXwwO2lmKChmfDApPT0oZHwwKSl7Y1tlPj4yXT1i
O2U9ZDtkPWI7YnJlYWt9ZWxzZXtjW2IrND4+Ml09ZjtlPWI7YnJlYWt9fWVsc2V7ZT1iO2Q9Yn13
aGlsZSgwKTtjW2QrND4+Ml09ZTtpZighKGNbYT4+Ml0mNCkpTW8oYSxiLDApO3JldHVybn1mdW5j
dGlvbiBQbyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wO2U9cm8oYSl8MDtkPUxvKGEsYiww
KXwwO2lmKCFkKWI9LTE7ZWxzZXtRbyhhLGQpO2lmKCEoY1thPj4yXSYzKSl7Um8oZSxhLGQpO2I9
ZH1lbHNle3dxKHNvKGUpfDAsYSw1NSxkLDApfDA7Yj1kfWJwKGUsY1tkPj4yXXwwKXwwO1puKGUs
Yik7Yj0wfXJldHVybiBifDB9ZnVuY3Rpb24gUW8oYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wO2E9
Y1thKzE2Pj4yXXwwO2Rve2Q9YSs0fDA7YT1jW2Q+PjJdfDB9d2hpbGUoKGF8MCkhPShifDApKTtj
W2Q+PjJdPWNbYis0Pj4yXTtyZXR1cm59ZnVuY3Rpb24gUm8oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9
ZHwwO2lmKChjW2IrMTY+PjJdfDApPT0oZHwwKSl7YT1jW2QrND4+Ml18MDtNbyhiLChhfDApPT0o
ZHwwKT8wOmEsMCl9cmV0dXJufWZ1bmN0aW9uIFNvKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1j
fDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTA7Zj0oZHwwKT4tMTtnPWY/ZDowLWR8MDthOmRvIHN3
aXRjaChifDApe2Nhc2UgMDp7Tm8oYSxjLGcsZSl8MDtpZighZil7Yj1KcChhKXwwO3doaWxlKDEp
e2lmKCFiKWJyZWFrIGE7U28oYiwwLGMsZCxlKTtiPUtwKGIpfDB9fWJyZWFrfWNhc2UgMzpjYXNl
IDI6Y2FzZSAxOntkPShifDApPT0xO2I9Y28oYSl8MDt3aGlsZSgxKXtpZighYilicmVhayBhO2I6
ZG8gaWYoZClObyhiLGMsZyxlKXwwO2Vsc2V7Zj1QbShhLGIpfDA7d2hpbGUoMSl7aWYoIWYpYnJl
YWsgYjtObyhmLGMsZyxlKXwwO2Y9Um0oYSxmKXwwfX13aGlsZSgwKTtiPWVvKGEsYil8MH19ZGVm
YXVsdDp7fX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gVG8oYSxiLGMpe2E9YXwwO2I9YnwwO2M9
Y3wwO3ZhciBkPTAsZT0wO2E6ZG8gc3dpdGNoKGJ8MCl7Y2FzZSAwOnt3cShhLGEsNTYsYywxKXww
O2JyZWFrfWNhc2UgMzpjYXNlIDI6Y2FzZSAxOntlPShifDApPT0xO2Q9Y28oYSl8MDt3aGlsZSgx
KXtpZighZClicmVhayBhO2I6ZG8gaWYoZSlQbyhkLGMpfDA7ZWxzZXtiPVBtKGEsZCl8MDt3aGls
ZSgxKXtpZighYilicmVhayBiO1BvKGIsYyl8MDtiPVJtKGEsYil8MH19d2hpbGUoMCk7ZD1lbyhh
LGQpfDB9fWRlZmF1bHQ6e319d2hpbGUoMCk7cmV0dXJufWZ1bmN0aW9uIFVvKGEsYixjKXthPWF8
MDtiPWJ8MDtjPWN8MDtQbyhiLGMpfDA7cmV0dXJufWZ1bmN0aW9uIFZvKGEpe2E9YXwwO3ZhciBi
PTAsZD0wLGU9MDtkPXJvKGEpfDA7Yj1hKzE2fDA7YT1jW2I+PjJdfDA7aWYoYXwwKWRve2U9YTth
PWNbYSs0Pj4yXXwwO2JwKGQsY1tlPj4yXXwwKXwwO1puKGQsZSl9d2hpbGUoKGF8MCkhPShjW2I+
PjJdfDApKTtjW2I+PjJdPTA7cmV0dXJufWZ1bmN0aW9uIFdvKGEpe2E9YXwwO3JldHVybiBScChh
LFhvKGEpfDApfDB9ZnVuY3Rpb24gWG8oYSl7YT1hfDA7dmFyIGI9MCxkPTA7aWYoIWEpZD0xNjgw
MjQ7ZWxzZSBkPShjW2ErNjQ+PjJdfDApKzIwfDA7Yj1jW2Q+PjJdfDA7aWYoIWIpe2I9UHAoYSwx
NzkyMCxjWzQzNTNdfDApfDA7Y1tkPj4yXT1iO2E9MTY3MDk2O2NbYT4+Ml09LTIxNDc0ODM2NDg7
Y1thKzQ+PjJdPTA7YT0xNjcxMDQ7Y1thPj4yXT0yMTQ3NDgzNjQ3O2NbYSs0Pj4yXT0tMX1yZXR1
cm4gYnwwfWZ1bmN0aW9uIFlvKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuIFpvKFhvKGEpfDAsYil8
MH1mdW5jdGlvbiBabyhhLGIpe2E9YXwwO2I9YnwwO2E9X28oYSxiKXwwO2lmKCFhKWE9MDtlbHNl
IGE9Y1thKzE2Pj4yXXwwO3JldHVybiBhfDB9ZnVuY3Rpb24gX28oYSxiKXthPWF8MDtiPWJ8MDt2
YXIgZD0wLGU9MDtkPWw7bD1sKzMyfDA7ZT1kO2NbZSsxNj4+Ml09YjtiPWJiW2NbYT4+Ml0mMzFd
KGEsZSw0KXwwO2w9ZDtyZXR1cm4gYnwwfWZ1bmN0aW9uICRvKGEsYil7YT1hfDA7Yj1ifDA7dmFy
IGQ9MCxlPTA7aWYoIWIpZD0wO2Vsc2V7ZT1YbyhhKXwwO2Q9X28oZSxiKXwwO2lmKCFkKXtkPShy
SihiKXwwKSsyNHwwO2lmKCFhKWQ9WkkoZCl8MDtlbHNlIGQ9WW4oYSxkKXwwO2E9ZCs4fDA7Y1th
Pj4yXT0xO2NbYSs0Pj4yXT0wO2E9ZCsyMHwwO3hLKGEsYil8MDtjW2QrMTY+PjJdPWE7YmJbY1tl
Pj4yXSYzMV0oZSxkLDEpfDB9ZWxzZXtlPWQrOHwwO2I9ZTtiPUhOKGNbYj4+Ml18MCxjW2IrND4+
Ml18MCwxLDApfDA7Y1tlPj4yXT1iO2NbZSs0Pj4yXT16fWQ9Y1tkKzE2Pj4yXXwwfXJldHVybiBk
fDB9ZnVuY3Rpb24gYXAoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wO2lmKCFi
KWQ9MDtlbHNle2U9WG8oYSl8MDtkPV9vKGUsYil8MDtpZighZCl7ZD0ockooYil8MCkrMjR8MDtp
ZighYSlkPVpJKGQpfDA7ZWxzZSBkPVluKGEsZCl8MDtnPTE2NzA5NjtmPWNbZys0Pj4yXXwwO2E9
ZCs4fDA7Y1thPj4yXT1jW2c+PjJdfDE7Y1thKzQ+PjJdPWY7YT1kKzIwfDA7eEsoYSxiKXwwO2Nb
ZCsxNj4+Ml09YTtiYltjW2U+PjJdJjMxXShlLGQsMSl8MH1lbHNle2c9ZCs4fDA7Zj1nO2Y9SE4o
Y1tmPj4yXXwwLGNbZis0Pj4yXXwwLDEsMCl8MDtjW2c+PjJdPWY7Y1tnKzQ+PjJdPXp9ZD1jW2Qr
MTY+PjJdfDB9cmV0dXJuIGR8MH1mdW5jdGlvbiBicChhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAs
ZT0wLGY9MCxnPTA7aWYoKGJ8MCkhPTA/KGQ9WG8oYSl8MCxlPV9vKGQsYil8MCwoZXwwKSE9MCk6
MClpZigoY1tlKzE2Pj4yXXwwKT09KGJ8MCk/KGI9ZSs4fDAsZz1iLGc9SE4oY1tnPj4yXXwwLGNb
Zys0Pj4yXXwwLC0xLC0xKXwwLGY9eixiLGNbYj4+Ml09ZyxjW2IrND4+Ml09ZixiPTE2NzEwNCwo
Z3wwKT09MCYoZnwwKT09MHwoY1tiPj4yXXwwKT09MCYoY1tiKzQ+PjJdfDApPT0wKTowKXtRcChh
LGQsZSl8MDthPTB9ZWxzZSBhPTA7ZWxzZSBhPS0xO3JldHVybiBhfDB9ZnVuY3Rpb24gY3AoYSl7
YT1hfDA7dmFyIGI9MDtpZighYSlhPTA7ZWxzZXthPWErLTEyfDA7Yj0xNjcwOTY7YT1jW2I+PjJd
JmNbYT4+Ml19cmV0dXJuIGF8MH1mdW5jdGlvbiBkcChhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTA7
aWYoYXwwKXtkPTE2NzA5NjthPWErLTEyfDA7ZT1hO2I9Y1tlKzQ+PjJdfGNbZCs0Pj4yXTtjW2E+
PjJdPWNbZT4+Ml18Y1tkPj4yXTtjW2ErND4+Ml09Yn1yZXR1cm59ZnVuY3Rpb24gZXAoYSl7YT1h
fDA7Y1s0NDg5XT1hO3JldHVybn1mdW5jdGlvbiBmcChhKXthPWF8MDtjWzQyMDExXT1hO2NbNDQ4
OV09MTtyZXR1cm59ZnVuY3Rpb24gZ3AoYSxiKXthPWF8MDtiPWJ8MDtjWzQyMDEyXT1hO2NbNDIw
MTNdPWI7Y1s0MjAxNF09MDtyZXR1cm59ZnVuY3Rpb24gaHAoKXt2YXIgZT0wLGY9MCxnPTAsaD0w
LGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO2lmKCEoY1s0MjAxNV18MCkpe2NbNDIwMTVdPTE7aWYo
IShjWzQyMDE2XXwwKSljWzQyMDE2XT0xO2lmKCEoY1s0MjAwN118MCkpY1s0MjAwN109Y1sxMzg1
M107aWYoIShjWzQyMDA4XXwwKSljWzQyMDA4XT1jWzEzODg1XTtrPWNbNDIwMTddfDA7aWYoISgo
a3wwKSE9MD8oY1trPj4yXXwwKSE9MDowKSl7aXAoKTtrPWpwKGNbNDIwMDddfDAsMTYzODQpfDA7
Y1tjWzQyMDE3XT4+Ml09a31rcCgpfWE6d2hpbGUoMSl7aj1jWzQyMDE4XXwwO2Fbaj4+MF09YVsx
NzM5MjddfDA7ZT0oY1soY1tjWzQyMDE3XT4+Ml18MCkrMjg+PjJdfDApKyhjWzQyMDE2XXwwKXww
O2Y9ajtiOndoaWxlKDEpe2g9Zjt3aGlsZSgxKXtmPWNbMTc5NjArKGRbaD4+MF08PDIpPj4yXXww
O2lmKGJbNTY2ODArKGU8PDEpPj4xXXwwKXtjWzQyMDE5XT1lO2NbNDIwMjBdPWh9Yzp3aGlsZSgx
KXtnPWYmMjU1O2Rve2Y9ZysoYls1Njg2NisoZTw8MSk+PjFdfDApfDA7aWYoKGV8MCk9PShiWzU3
MDc2KyhmPDwxKT4+MV18MCkpYnJlYWsgYztrPWJbNTc2MTIrKGU8PDEpPj4xXXwwO2U9azw8MTY+
PjE2fXdoaWxlKGs8PDE2Pj4xNjw9OTIpO2Y9Y1sxODk4NCsoZzw8Mik+PjJdfDB9ZT1iWzU3ODIy
KyhmPDwxKT4+MV18MDtmPWgrMXwwO2lmKChiWzU2ODY2KyhlPDwxKT4+MV18MCk9PTIxOSlicmVh
aztlbHNlIGg9Zn1kOndoaWxlKDEpe2s9ajtlOndoaWxlKDEpe2U9Yls1NjY4MCsoZTw8MSk+PjFd
fDA7aWYoIShlPDwxNj4+MTYpKXtlPWJbNTY2ODArKGNbNDIwMTldPDwxKT4+MV18MDtmPWNbNDIw
MjBdfDB9ZWxzZSBlPWU8PDE2Pj4xNjtjWzQyMDA5XT1qO2k9ZjtjWzQyMDEwXT1pLWs7YVsxNzM5
MjddPWFbZj4+MF18MDthW2Y+PjBdPTA7Y1s0MjAxOF09ZjtmOndoaWxlKDEpe3N3aXRjaChlfDAp
e2Nhc2UgMTp7bT0yNzticmVhayBhfWNhc2UgMTI6e209NTM7YnJlYWsgYX1jYXNlIDEzOnttPTU1
O2JyZWFrIGF9Y2FzZSAxNDp7bT01NzticmVhayBhfWNhc2UgMTU6e209NjE7YnJlYWsgYX1jYXNl
IDE2OnttPTY1O2JyZWFrIGF9Y2FzZSAxNzp7bT02NzticmVhayBhfWNhc2UgMTg6e209Njk7YnJl
YWsgYX1jYXNlIDE5OnttPTcyO2JyZWFrIGF9Y2FzZSAyMDp7bT03NTticmVhayBhfWNhc2UgMjE6
e209Nzg7YnJlYWsgYX1jYXNlIDIzOnttPTg2O2JyZWFrIGF9Y2FzZSAzMzp7bT0xMTg7YnJlYWsg
YX1jYXNlIDM5OmNhc2UgMzg6Y2FzZSAzNzpjYXNlIDM2OntsPTA7YnJlYWsgYX1jYXNlIDI6e209
Mjk7YnJlYWsgYn1jYXNlIDM6e209MzI7YnJlYWsgYn1jYXNlIDQ6e209MzU7YnJlYWsgYn1jYXNl
IDU6e209Mzc7YnJlYWsgYn1jYXNlIDY6e209Mzk7YnJlYWsgYn1jYXNlIDc6e209NDI7YnJlYWsg
Yn1jYXNlIDg6e209NDQ7YnJlYWsgYn1jYXNlIDk6e209NDc7YnJlYWsgYn1jYXNlIDEwOnttPTQ5
O2JyZWFrIGJ9Y2FzZSAxMTp7bT01MTticmVhayBifWNhc2UgMjI6e209ODM7YnJlYWsgYn1jYXNl
IDI0OnttPTg5O2JyZWFrIGJ9Y2FzZSAyNTp7bT05MjticmVhayBifWNhc2UgMjY6e209OTU7YnJl
YWsgYn1jYXNlIDI3OnttPTk4O2JyZWFrIGJ9Y2FzZSAyODp7bT0xMDE7YnJlYWsgYn1jYXNlIDI5
OnttPTEwNDticmVhayBifWNhc2UgMzA6e209MTA5O2JyZWFrIGJ9Y2FzZSAzMTp7bT0xMTI7YnJl
YWsgYn1jYXNlIDMyOnttPTExNTticmVhayBifWNhc2UgMzQ6e209MTIxO2JyZWFrIGJ9Y2FzZSAw
OmJyZWFrIGY7Y2FzZSAzNTpicmVhaztkZWZhdWx0OnttPTEzNDticmVhayBhfX1oPWNbNDIwMDld
fDA7YVtmPj4wXT1hWzE3MzkyN118MDtlPWNbNDIwMTddfDA7Zz1jW2U+PjJdfDA7aWYoIShjW2cr
NDQ+PjJdfDApKXtuPWNbZysxNj4+Ml18MDtjWzQyMDIyXT1uO2NbZz4+Ml09Y1s0MjAwN107Zz1j
W2U+PjJdfDA7Y1tnKzQ0Pj4yXT0xO2U9bn1lbHNlIGU9Y1s0MjAyMl18MDtpZigoY1s0MjAxOF18
MCk+Pj4wPD0oKGNbZys0Pj4yXXwwKStlfDApPj4+MCl7bT0xMjg7YnJlYWsgZX1zd2l0Y2godHAo
KXwwKXtjYXNlIDA6e209MTMyO2JyZWFrIGR9Y2FzZSAyOnttPTEzMzticmVhayBlfWNhc2UgMTpi
cmVhaztkZWZhdWx0OmNvbnRpbnVlIGF9Y1s0MjAxOF09Y1s0MjAwOV07ZT0oKChjWzQyMDE2XXww
KSstMXwwKS8yfDApKzM2fDB9YVtmPj4wXT1hWzE3MzkyN118MDtmPWNbNDIwMjBdfDA7ZT1jWzQy
MDE5XXwwfWlmKChtfDApPT0xMjgpe209MDtnPWktaHwwO2g9Y1s0MjAwOV18MDtmPWgrKGcrLTEp
fDA7Y1s0MjAxOF09ZjtlPXJwKCl8MDtpPXNwKGUpfDA7aj1jWzQyMDA5XXwwO2lmKCFpKWNvbnRp
bnVlO2Vsc2V7bT0xMjk7YnJlYWt9fWVsc2UgaWYoKG18MCk9PTEzMyl7bT0wO2Y9KGNbKGNbY1s0
MjAxN10+PjJdfDApKzQ+PjJdfDApKyhjWzQyMDIyXXwwKXwwO2NbNDIwMThdPWY7ZT1ycCgpfDA7
aj1jWzQyMDA5XXwwO2NvbnRpbnVlfX1pZigobXwwKT09MTI5KXttPTA7Zj1oK2d8MDtjWzQyMDE4
XT1mO2U9aTtjb250aW51ZX1lbHNlIGlmKChtfDApPT0xMzIpe209MDtmPShjWzQyMDA5XXwwKSso
aS1oKy0xKXwwO2NbNDIwMThdPWY7ZT1ycCgpfDA7aj1jWzQyMDA5XXwwO2NvbnRpbnVlfX1zd2l0
Y2gobXwwKXtjYXNlIDI5OnttPTA7ZT1jWzQyMDEwXXwwO2lmKGV8MCljWyhjW2NbNDIwMTddPj4y
XXwwKSsyOD4+Ml09KGFbKGNbNDIwMDldfDApKyhlKy0xKT4+MF18MCk9PTEwJjE7Y1s0NDg5XT0o
Y1s0NDg5XXwwKSsxO2NvbnRpbnVlIGF9Y2FzZSAzMjp7bT0wO2U9Y1s0MjAxMF18MDtpZihlfDAp
Y1soY1tjWzQyMDE3XT4+Ml18MCkrMjg+PjJdPShhWyhjWzQyMDA5XXwwKSsoZSstMSk+PjBdfDAp
PT0xMCYxO2NbNDIwMTZdPTM7Y29udGludWUgYX1jYXNlIDM1OnttPTA7ZT1jWzQyMDEwXXwwO2lm
KCFlKWNvbnRpbnVlIGE7Y1soY1tjWzQyMDE3XT4+Ml18MCkrMjg+PjJdPShhWyhjWzQyMDA5XXww
KSsoZSstMSk+PjBdfDApPT0xMCYxO2NvbnRpbnVlIGF9Y2FzZSAzNzp7bT0wO2U9Y1s0MjAxMF18
MDtpZighZSljb250aW51ZSBhO2NbKGNbY1s0MjAxN10+PjJdfDApKzI4Pj4yXT0oYVsoY1s0MjAw
OV18MCkrKGUrLTEpPj4wXXwwKT09MTAmMTtjb250aW51ZSBhfWNhc2UgMzk6e209MDtlPWNbNDIw
MTBdfDA7aWYoZXwwKWNbKGNbY1s0MjAxN10+PjJdfDApKzI4Pj4yXT0oYVsoY1s0MjAwOV18MCkr
KGUrLTEpPj4wXXwwKT09MTAmMTtjWzQyMDE2XT0xO2NvbnRpbnVlIGF9Y2FzZSA0Mjp7bT0wO2U9
Y1s0MjAxMF18MDtpZighZSljb250aW51ZSBhO2NbKGNbY1s0MjAxN10+PjJdfDApKzI4Pj4yXT0o
YVsoY1s0MjAwOV18MCkrKGUrLTEpPj4wXXwwKT09MTAmMTtjb250aW51ZSBhfWNhc2UgNDQ6e209
MDtlPWNbNDIwMTBdfDA7aWYoZXwwKWNbKGNbY1s0MjAxN10+PjJdfDApKzI4Pj4yXT0oYVsoY1s0
MjAwOV18MCkrKGUrLTEpPj4wXXwwKT09MTAmMTtscCgpO2NvbnRpbnVlIGF9Y2FzZSA0Nzp7bT0w
O2U9Y1s0MjAxMF18MDtpZighZSljb250aW51ZSBhO2NbKGNbY1s0MjAxN10+PjJdfDApKzI4Pj4y
XT0oYVsoY1s0MjAwOV18MCkrKGUrLTEpPj4wXXwwKT09MTAmMTtjb250aW51ZSBhfWNhc2UgNDk6
e209MDtlPWNbNDIwMTBdfDA7aWYoIWUpY29udGludWUgYTtjWyhjW2NbNDIwMTddPj4yXXwwKSsy
OD4+Ml09KGFbKGNbNDIwMDldfDApKyhlKy0xKT4+MF18MCk9PTEwJjE7Y29udGludWUgYX1jYXNl
IDUxOnttPTA7ZT1jWzQyMDEwXXwwO2lmKCFlKWNvbnRpbnVlIGE7Y1soY1tjWzQyMDE3XT4+Ml18
MCkrMjg+PjJdPShhWyhjWzQyMDA5XXwwKSsoZSstMSk+PjBdfDApPT0xMCYxO2NvbnRpbnVlIGF9
Y2FzZSA4Mzp7bT0wO2U9Y1s0MjAxMF18MDtpZihlfDApY1soY1tjWzQyMDE3XT4+Ml18MCkrMjg+
PjJdPShhWyhjWzQyMDA5XXwwKSsoZSstMSk+PjBdfDApPT0xMCYxO2NbNDIwMTZdPTU7bnAoKTtj
b250aW51ZSBhfWNhc2UgODk6e209MDtlPWNbNDIwMTBdfDA7aWYoZXwwKWNbKGNbY1s0MjAxN10+
PjJdfDApKzI4Pj4yXT0oYVsoY1s0MjAwOV18MCkrKGUrLTEpPj4wXXwwKT09MTAmMTtwcCg4Mzcx
NCk7Y29udGludWUgYX1jYXNlIDkyOnttPTA7ZT1jWzQyMDEwXXwwO2lmKGV8MCljWyhjW2NbNDIw
MTddPj4yXXwwKSsyOD4+Ml09KGFbKGNbNDIwMDldfDApKyhlKy0xKT4+MF18MCk9PTEwJjE7cHAo
ODE1NzkpO2NvbnRpbnVlIGF9Y2FzZSA5NTp7bT0wO2U9Y1s0MjAxMF18MDtpZihlfDApY1soY1tj
WzQyMDE3XT4+Ml18MCkrMjg+PjJdPShhWyhjWzQyMDA5XXwwKSsoZSstMSk+PjBdfDApPT0xMCYx
O2NbNDQ4OV09KGNbNDQ4OV18MCkrMTtjb250aW51ZSBhfWNhc2UgOTg6e209MDtmPWNbNDIwMTBd
fDA7ZT1jWzQyMDA5XXwwO2lmKGZ8MCljWyhjW2NbNDIwMTddPj4yXXwwKSsyOD4+Ml09KGFbZSso
ZistMSk+PjBdfDApPT0xMCYxO3BwKGUpO2NvbnRpbnVlIGF9Y2FzZSAxMDE6e209MDtlPWNbNDIw
MTBdfDA7aWYoZXwwKWNbKGNbY1s0MjAxN10+PjJdfDApKzI4Pj4yXT0oYVsoY1s0MjAwOV18MCkr
KGUrLTEpPj4wXXwwKT09MTAmMTtjWzQyMDE2XT03O2NbNDIwMjFdPTE7bnAoKTtjb250aW51ZSBh
fWNhc2UgMTA0OnttPTA7ZT1jWzQyMDEwXXwwO2lmKGV8MCljWyhjW2NbNDIwMTddPj4yXXwwKSsy
OD4+Ml09KGFbKGNbNDIwMDldfDApKyhlKy0xKT4+MF18MCk9PTEwJjE7bj0oY1s0MjAyMV18MCkr
LTF8MDtjWzQyMDIxXT1uO2lmKCFuKXttPTEwODticmVhayBhfXBwKGNbNDIwMDldfDApO2NvbnRp
bnVlIGF9Y2FzZSAxMDk6e209MDtmPWNbNDIwMTBdfDA7ZT1jWzQyMDA5XXwwO2lmKGZ8MCljWyhj
W2NbNDIwMTddPj4yXXwwKSsyOD4+Ml09KGFbZSsoZistMSk+PjBdfDApPT0xMCYxO2NbNDIwMjFd
PShjWzQyMDIxXXwwKSsxO3BwKGUpO2NvbnRpbnVlIGF9Y2FzZSAxMTI6e209MDtmPWNbNDIwMTBd
fDA7ZT1jWzQyMDA5XXwwO2lmKGZ8MCljWyhjW2NbNDIwMTddPj4yXXwwKSsyOD4+Ml09KGFbZSso
ZistMSk+PjBdfDApPT0xMCYxO3BwKGUpO2NbNDQ4OV09KGNbNDQ4OV18MCkrMTtjb250aW51ZSBh
fWNhc2UgMTE1OnttPTA7Zj1jWzQyMDEwXXwwO2U9Y1s0MjAwOV18MDtpZihmfDApY1soY1tjWzQy
MDE3XT4+Ml18MCkrMjg+PjJdPShhW2UrKGYrLTEpPj4wXXwwKT09MTAmMTtwcChlKTtjb250aW51
ZSBhfWNhc2UgMTIxOnttPTA7Zj1jWzQyMDEwXXwwO2U9Y1s0MjAwOV18MDtpZihmfDApY1soY1tj
WzQyMDE3XT4+Ml18MCkrMjg+PjJdPShhW2UrKGYrLTEpPj4wXXwwKT09MTAmMTtYTChlLGYsMSxj
WzQyMDA4XXwwKXwwO2NvbnRpbnVlIGF9fX1zd2l0Y2gobXwwKXtjYXNlIDI3OntlPWNbNDIwMTBd
fDA7aWYoIWUpbD0tMTtlbHNle2NbKGNbY1s0MjAxN10+PjJdfDApKzI4Pj4yXT0oYVsoY1s0MjAw
OV18MCkrKGUrLTEpPj4wXXwwKT09MTAmMTtsPS0xfWJyZWFrfWNhc2UgNTM6e2U9Y1s0MjAxMF18
MDtpZighZSlsPTI1OTtlbHNle2NbKGNbY1s0MjAxN10+PjJdfDApKzI4Pj4yXT0oYVsoY1s0MjAw
OV18MCkrKGUrLTEpPj4wXXwwKT09MTAmMTtsPTI1OX1icmVha31jYXNlIDU1OntlPWNbNDIwMTBd
fDA7aWYoIWUpbD0yNjA7ZWxzZXtjWyhjW2NbNDIwMTddPj4yXXwwKSsyOD4+Ml09KGFbKGNbNDIw
MDldfDApKyhlKy0xKT4+MF18MCk9PTEwJjE7bD0yNjB9YnJlYWt9Y2FzZSA1Nzp7ZT1jWzQyMDEw
XXwwO2lmKGV8MCljWyhjW2NbNDIwMTddPj4yXXwwKSsyOD4+Ml09KGFbKGNbNDIwMDldfDApKyhl
Ky0xKT4+MF18MCk9PTEwJjE7aWYoIShjWzQyMDE0XXwwKSl7Y1s0MjAxNF09MjU4O2w9MjU4fWVs
c2UgbD0yNTg7YnJlYWt9Y2FzZSA2MTp7ZT1jWzQyMDEwXXwwO2lmKGV8MCljWyhjW2NbNDIwMTdd
Pj4yXXwwKSsyOD4+Ml09KGFbKGNbNDIwMDldfDApKyhlKy0xKT4+MF18MCk9PTEwJjE7aWYoIShj
WzQyMDE0XXwwKSl7Y1s0MjAxNF09MjYxO2w9MjYxfWVsc2UgbD0yNjE7YnJlYWt9Y2FzZSA2NTp7
ZT1jWzQyMDEwXXwwO2lmKCFlKWw9MjYzO2Vsc2V7Y1soY1tjWzQyMDE3XT4+Ml18MCkrMjg+PjJd
PShhWyhjWzQyMDA5XXwwKSsoZSstMSk+PjBdfDApPT0xMCYxO2w9MjYzfWJyZWFrfWNhc2UgNjc6
e2U9Y1s0MjAxMF18MDtpZighZSlsPTI2MjtlbHNle2NbKGNbY1s0MjAxN10+PjJdfDApKzI4Pj4y
XT0oYVsoY1s0MjAwOV18MCkrKGUrLTEpPj4wXXwwKT09MTAmMTtsPTI2Mn1icmVha31jYXNlIDY5
OntlPWNbNDIwMTBdfDA7aWYoZXwwKWNbKGNbY1s0MjAxN10+PjJdfDApKzI4Pj4yXT0oYVsoY1s0
MjAwOV18MCkrKGUrLTEpPj4wXXwwKT09MTAmMTtsPShjWzQyMDE0XXwwKT09MjYxPzI2NDo0NTti
cmVha31jYXNlIDcyOntlPWNbNDIwMTBdfDA7aWYoZXwwKWNbKGNbY1s0MjAxN10+PjJdfDApKzI4
Pj4yXT0oYVsoY1s0MjAwOV18MCkrKGUrLTEpPj4wXXwwKT09MTAmMTtsPShjWzQyMDE0XXwwKT09
MjU4PzI2NDo0NTticmVha31jYXNlIDc1OntmPWNbNDIwMTBdfDA7ZT1jWzQyMDA5XXwwO2lmKGZ8
MCljWyhjW2NbNDIwMTddPj4yXXwwKSsyOD4+Ml09KGFbZSsoZistMSk+PjBdfDApPT0xMCYxO2Nb
NDIwMzddPSRvKGNbNDE5ODddfDAsZSl8MDtsPTI2NzticmVha31jYXNlIDc4OntlPWNbNDIwMTBd
fDA7aWYoZXwwKWNbKGNbY1s0MjAxN10+PjJdfDApKzI4Pj4yXT0oYVsoY1s0MjAwOV18MCkrKGUr
LTEpPj4wXXwwKT09MTAmMTtpZihtcCgpfDApe209KGNbNDIwMTBdfDApKy0xfDA7YVtmPj4wXT1h
WzE3MzkyN118MDtuPWorbXwwO2NbNDIwMThdPW47Y1s0MjAwOV09ajtjWzQyMDEwXT1tO2FbMTcz
OTI3XT1hW24+PjBdfDA7YVtuPj4wXT0wO2NbNDIwMThdPW59Y1s0MjAzN109JG8oY1s0MTk4N118
MCxjWzQyMDA5XXwwKXwwO2w9MjY3O2JyZWFrfWNhc2UgODY6e2U9Y1s0MjAxMF18MDtpZihlfDAp
Y1soY1tjWzQyMDE3XT4+Ml18MCkrMjg+PjJdPShhWyhjWzQyMDA5XXwwKSsoZSstMSk+PjBdfDAp
PT0xMCYxO2NbNDIwMTZdPTE7b3AoKTtsPTI2ODticmVha31jYXNlIDEwODp7Y1s0MjAxNl09MTtx
cCgpO2w9MjY4O2JyZWFrfWNhc2UgMTE4OntmPWNbNDIwMTBdfDA7ZT1jWzQyMDA5XXwwO2lmKGZ8
MCljWyhjW2NbNDIwMTddPj4yXXwwKSsyOD4+Ml09KGFbZSsoZistMSk+PjBdfDApPT0xMCYxO2w9
YVtlPj4wXXwwO2JyZWFrfWNhc2UgMTM0Ont1cCg4MTU4Mik7YnJlYWt9fXJldHVybiBsfDB9ZnVu
Y3Rpb24gaXAoKXt2YXIgYT0wLGI9MCxkPTA7Yj1jWzQyMDE3XXwwO2RvIGlmKCFiKXthPUJwKDQp
fDA7Y1s0MjAxN109YTtpZighYSl1cCg4MTk0MCk7ZWxzZXtjW2E+PjJdPTA7YT0xO2Q9OTticmVh
a319ZWxzZXthPWNbNDIwMjhdfDA7aWYoMD49KGErLTF8MCk+Pj4wKXthPWErOHwwO2I9dnAoYixh
PDwyKXwwO2NbNDIwMTddPWI7aWYoIWIpdXAoODE5NDApO2Vsc2V7ZD1iKyhjWzQyMDI4XTw8Mil8
MDtjW2Q+PjJdPTA7Y1tkKzQ+PjJdPTA7Y1tkKzg+PjJdPTA7Y1tkKzEyPj4yXT0wO2NbZCsxNj4+
Ml09MDtjW2QrMjA+PjJdPTA7Y1tkKzI0Pj4yXT0wO2NbZCsyOD4+Ml09MDtkPTk7YnJlYWt9fX13
aGlsZSgwKTtpZigoZHwwKT09OSljWzQyMDI4XT1hO3JldHVybn1mdW5jdGlvbiBqcChhLGIpe2E9
YXwwO2I9YnwwO3ZhciBkPTA7ZD1CcCg0OCl8MDtpZighZCl1cCg4MTg5NSk7Y1tkKzEyPj4yXT1i
O2I9QnAoYisyfDApfDA7Y1tkKzQ+PjJdPWI7aWYoIWIpdXAoODE4OTUpO2Vsc2V7Y1tkKzIwPj4y
XT0xO3hwKGQsYSk7cmV0dXJuIGR8MH1yZXR1cm4gMH1mdW5jdGlvbiBrcCgpe3ZhciBiPTAsZD0w
O2Q9Y1s0MjAxN118MDtiPWNbZD4+Ml18MDtjWzQyMDIyXT1jW2IrMTY+PjJdO2I9Y1tiKzg+PjJd
fDA7Y1s0MjAxOF09YjtjWzQyMDA5XT1iO2NbNDIwMDddPWNbY1tkPj4yXT4+Ml07YVsxNzM5Mjdd
PWFbYj4+MF18MDtyZXR1cm59ZnVuY3Rpb24gbHAoKXt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MCxo
PTAsaT0wO2c9bDtsPWwrMzJ8MDtmPWc7ZD1nKzE2fDA7ZT1nKzEyfDA7aD1jWzQyMDA5XXwwO2I9
aCsxfDA7aT0oVkooYiw4MTg3OSw0KXwwKT09MDtiPWk/aCs1fDA6YjtjW2Y+PjJdPWU7Y1tmKzQ+
PjJdPWcrMjA7Y1tmKzg+PjJdPWQ7Zj1jTShiLDgxODg0LGYpfDA7aWYoKGZ8MCk+MD8oY1s0NDg5
XT0oY1tlPj4yXXwwKSstMSwoZnwwKSE9MSk6MCl7ZD1iKyhjW2Q+PjJdfDApfDA7Yj1kO2E6d2hp
bGUoMSl7ZT1hW2I+PjBdfDA7c3dpdGNoKGU8PDI0Pj4yNCl7Y2FzZSAwOmNhc2UgMzQ6YnJlYWsg
YTtkZWZhdWx0Ont9fWI9YisxfDB9aWYoKGJ8MCkhPShkfDApJmU8PDI0Pj4yND09MzQpe2FbYj4+
MF09MDtBcChkLGItZHwwKX19bD1nO3JldHVybn1mdW5jdGlvbiBtcCgpe3ZhciBiPTAsZD0wLGU9
MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtqPWw7bD1sKzIwODB8MDtpPWorOHwwO2Y9ajtiPWor
MTA1NnwwO2Q9aiszMnwwO2g9aisxNnwwO2s9YVsoY1s0MjAwOV18MCkrKChjWzQyMDEwXXwwKSst
MSk+PjBdfDA7ZT1rPDwyND4+MjQ9PTQ2O2lmKGV8KChrJjI1NSkrLTQ4fDApPj4+MDwxMClpZihl
Pyh6cCgpfDApIT0wOjApZz00O2Vsc2UgYj0wO2Vsc2UgZz00O2lmKChnfDApPT00KXtrPWNbNDIw
MTFdfDA7Y20oaCwxMDI0LGIpO2ZtKGgsODE3OTApfDA7Zm0oaCxjWzQyMDA5XXwwKXwwO2NbZj4+
Ml09Y1s0NDg5XTtwTChkLDgxODM0LGYpfDA7Zm0oaCxkKXwwO2ZtKGgsKGt8MCk9PTA/ODE3ODQ6
ayl8MDtmbShoLDgxODUxKXwwO2Q9aCs0fDA7Yj1jW2Q+PjJdfDA7aWYoYj4+PjA+PShjW2grOD4+
Ml18MCk+Pj4wKXtkbShoLDEpfDA7Yj1jW2Q+PjJdfDB9YVtiPj4wXT0wO2I9Y1toPj4yXXwwO2Nb
ZD4+Ml09YjtjW2k+PjJdPWI7X2woMCw4MTg3NixpKXwwO2dtKGgpO2I9MX1sPWo7cmV0dXJuIGJ8
MH1mdW5jdGlvbiBucCgpe3ZhciBiPTA7Yj1jWzQyMDIzXXwwO2lmKCFiKXtiPVpJKDEwMjQpfDA7
Y1s0MjAyM109YjtjWzQyMDI1XT1iKzEwMjR9Y1s0MjAyNF09YjthW2I+PjBdPTA7cmV0dXJufWZ1
bmN0aW9uIG9wKCl7Y1s0MjAzN109JG8oY1s0MTk4N118MCxjWzQyMDIzXXwwKXwwO2FbY1s0MjAy
M10+PjBdPTA7cmV0dXJufWZ1bmN0aW9uIHBwKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAs
aD0wLGk9MDtlPWNbNDIwMjRdfDA7ZD1jWzQyMDIzXXwwO2lmKGU+Pj4wPmQ+Pj4wKXtlPWUrLTF8
MDtmPTN9YTp3aGlsZSgxKXtpZigoZnwwKT09MyljWzQyMDI0XT1lO2Y9Y1s0MjAyNV18MDtnPWY7
ZG97aD1iO2I9YisxfDA7aD1hW2g+PjBdfDA7aT1lO2U9ZSsxfDA7YVtpPj4wXT1oO2lmKCEoaDw8
MjQ+PjI0KSlicmVhayBhfXdoaWxlKGU+Pj4wPGY+Pj4wKTtjWzQyMDI0XT1lO2Y9ZDtpPWctZjw8
MTtkPWFKKGQsaSl8MDtjWzQyMDIzXT1kO2NbNDIwMjVdPWQraTtlPWQrKGUtZil8MDtmPTN9Y1s0
MjAyNF09ZTtyZXR1cm59ZnVuY3Rpb24gcXAoKXtjWzQyMDM3XT1hcChjWzQxOTg3XXwwLGNbNDIw
MjNdfDApfDA7YVtjWzQyMDIzXT4+MF09MDtyZXR1cm59ZnVuY3Rpb24gcnAoKXt2YXIgZD0wLGU9
MCxmPTAsZz0wLGg9MDtoPWNbNDIwMThdfDA7Zz1jWzQyMDA5XXwwO2U9KGNbKGNbY1s0MjAxN10+
PjJdfDApKzI4Pj4yXXwwKSsoY1s0MjAxNl18MCl8MDt3aGlsZSgxKXtpZihnPj4+MD49aD4+PjAp
YnJlYWs7ZD1hW2c+PjBdfDA7aWYoIShkPDwyND4+MjQpKWQ9MTtlbHNlIGQ9Y1sxNzk2MCsoKGQm
MjU1KTw8Mik+PjJdfDA7aWYoYls1NjY4MCsoZTw8MSk+PjFdfDApe2NbNDIwMTldPWU7Y1s0MjAy
MF09Z31hOndoaWxlKDEpe2Y9ZCYyNTU7ZG97ZD1mKyhiWzU2ODY2KyhlPDwxKT4+MV18MCl8MDtp
ZigoZXwwKT09KGJbNTcwNzYrKGQ8PDEpPj4xXXwwKSlicmVhayBhO2Q9Yls1NzYxMisoZTw8MSk+
PjFdfDA7ZT1kPDwxNj4+MTZ9d2hpbGUoZDw8MTY+PjE2PD05Mik7ZD1jWzE4OTg0KyhmPDwyKT4+
Ml18MH1nPWcrMXwwO2U9Yls1NzgyMisoZDw8MSk+PjFdfDB9cmV0dXJuIGV8MH1mdW5jdGlvbiBz
cChhKXthPWF8MDt2YXIgZD0wO2lmKGJbNTY2ODArKGE8PDEpPj4xXXwwKXtkPWNbNDIwMThdfDA7
Y1s0MjAxOV09YTtjWzQyMDIwXT1kfXdoaWxlKDEpe2Q9KGJbNTY4NjYrKGE8PDEpPj4xXXwwKSsx
fDA7aWYoKGF8MCk9PShiWzU3MDc2KyhkPDwxKT4+MV18MCkpYnJlYWs7YT1iWzU3NjEyKyhhPDwx
KT4+MV18MH1kPWJbNTc4MjIrKGQ8PDEpPj4xXXwwO3JldHVybiAoZDw8MTY+PjE2PT05Mj8wOmQ8
PDE2Pj4xNil8MH1mdW5jdGlvbiB0cCgpe3ZhciBiPTAsZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAs
aj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7aj1jWzQyMDE3XXwwO2c9Y1tqPj4yXXwwO2k9Y1tnKzQ+
PjJdfDA7Zj1jWzQyMDA5XXwwO2w9Y1s0MjAxOF18MDtrPWw7aWYobD4+PjA+KGkrKChjWzQyMDIy
XXwwKSsxKXwwKT4+PjApdXAoODE2MzcpO2g9ay1mfDA7aWYoIShjW2crNDA+PjJdfDApKWI9KGh8
MCk9PTE/MToyO2Vsc2V7bD1oKy0xfDA7aD1pO2c9MDt3aGlsZSgxKXtpZigoZ3wwKT49KGx8MCkp
YnJlYWs7YVtoPj4wXT1hW2Y+PjBdfDA7aD1oKzF8MDtmPWYrMXwwO2c9ZysxfDB9Zj1jW2o+PjJd
fDA7ZG8gaWYoKGNbZis0ND4+Ml18MCk9PTIpe2NbNDIwMjJdPTA7Y1tmKzE2Pj4yXT0wO2U9Zjtt
PTE3fWVsc2V7d2hpbGUoMSl7aT1mKzEyfDA7aD1jW2k+PjJdfDA7Zz1oLWwrLTF8MDtpZihnfDAp
e209MTY7YnJlYWt9Zz1mKzR8MDtqPWNbZz4+Ml18MDtpZighKGNbZisyMD4+Ml18MCkpe209MTI7
YnJlYWt9Zj1oPDwxO2Y9KGZ8MCk9PTA/KGg+Pj4zKStofDA6ZjtjW2k+PjJdPWY7Zj12cChqLGYr
MnwwKXwwO2NbZz4+Ml09ZjtpZighZilicmVhaztqPWYrKGstail8MDtjWzQyMDE4XT1qO2Y9Y1tj
WzQyMDE3XT4+Ml18MDtrPWp9aWYoKG18MCk9PTEyKWNbZz4+Ml09MDtlbHNlIGlmKChtfDApPT0x
Nil7ZD1iYltjW2NbKGNbNDIwMTJdfDApKzg+PjJdPj4yXSYzMV0oY1s0MjAxM118MCwoY1tmKzQ+
PjJdfDApK2x8MCxnPj4+MDw4MTkyP2c6ODE5Mil8MDtlPWNbY1s0MjAxN10+PjJdfDA7Y1s0MjAy
Ml09ZDtjW2UrMTY+PjJdPWQ7aWYoIWQpe209MTc7YnJlYWt9ZWxzZXtiPTA7YnJlYWt9fXVwKDgx
NjkzKX13aGlsZSgwKTtkbyBpZigobXwwKT09MTcpaWYoIWwpe3dwKGNbNDIwMDddfDApO2I9MTtk
PWNbNDIwMjJdfDA7ZT1jW2NbNDIwMTddPj4yXXwwO2JyZWFrfWVsc2V7Y1tlKzQ0Pj4yXT0yO2I9
MjtkPTA7YnJlYWt9d2hpbGUoMCk7Zj1kK2x8MDtkbyBpZihmPj4+MD4oY1tlKzEyPj4yXXwwKT4+
PjApe209dnAoY1tlKzQ+PjJdfDAsZisoZD4+PjEpfDApfDA7ZD1jWzQyMDE3XXwwO2NbKGNbZD4+
Ml18MCkrND4+Ml09bTtkPWNbKGNbZD4+Ml18MCkrND4+Ml18MDtpZighZCl1cCg4MTczNyk7ZWxz
ZXtuPWNbNDIwMjJdfDA7bz1kO2JyZWFrfX1lbHNle249ZDtvPWNbZSs0Pj4yXXwwfXdoaWxlKDAp
O249bitsfDA7Y1s0MjAyMl09bjthW28rbj4+MF09MDtvPWNbNDIwMTddfDA7YVsoY1soY1tvPj4y
XXwwKSs0Pj4yXXwwKSsoKGNbNDIwMjJdfDApKzEpPj4wXT0wO2NbNDIwMDldPWNbKGNbbz4+Ml18
MCkrND4+Ml19cmV0dXJuIGJ8MH1mdW5jdGlvbiB1cChhKXthPWF8MDt2YXIgYj0wLGQ9MDtiPWw7
bD1sKzE2fDA7ZD1jWzEzOTE4XXwwO2NbYj4+Ml09YTt6TChkLDgxNjMzLGIpfDA7TWEoMil9ZnVu
Y3Rpb24gdnAoYSxiKXthPWF8MDtiPWJ8MDtyZXR1cm4gYUooYSxiKXwwfWZ1bmN0aW9uIHdwKGEp
e2E9YXwwO3ZhciBiPTAsZD0wLGU9MDtkPWNbNDIwMTddfDA7aWYoKGR8MCkhPTA/KGI9Y1tkPj4y
XXwwLChifDApIT0wKTowKWU9NDtlbHNle2lwKCk7Yj1qcChjWzQyMDA3XXwwLDE2Mzg0KXwwO2Q9
Y1s0MjAxN118MDtjW2Q+PjJdPWI7aWYoIWQpYj0wO2Vsc2UgZT00fXhwKGIsYSk7a3AoKTtyZXR1
cm59ZnVuY3Rpb24geHAoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wO2Q9Y1soakooKXwwKT4+Ml18
MDt5cChhKTtjW2E+PjJdPWI7Y1thKzQwPj4yXT0xO2I9Y1s0MjAxN118MDtpZighYiliPTA7ZWxz
ZSBiPWNbYj4+Ml18MDtpZigoYnwwKSE9KGF8MCkpe2NbYSszMj4+Ml09MTtjW2ErMzY+PjJdPTB9
Y1thKzI0Pj4yXT0wO2NbKGpKKCl8MCk+PjJdPWQ7cmV0dXJufWZ1bmN0aW9uIHlwKGIpe2I9Ynww
O3ZhciBkPTA7aWYoYnwwKXtjW2IrMTY+PjJdPTA7ZD1iKzR8MDthW2NbZD4+Ml0+PjBdPTA7YVso
Y1tkPj4yXXwwKSsxPj4wXT0wO2NbYis4Pj4yXT1jW2Q+PjJdO2NbYisyOD4+Ml09MTtjW2IrNDQ+
PjJdPTA7ZD1jWzQyMDE3XXwwO2lmKCFkKWQ9MDtlbHNlIGQ9Y1tkPj4yXXwwO2lmKChkfDApPT0o
YnwwKSlrcCgpfXJldHVybn1mdW5jdGlvbiB6cCgpe3ZhciBiPTAsZD0wO2Q9Y1s0MjAwOV18MDti
PShjWzQyMDEwXXwwKSstMnwwO3doaWxlKDEpe2lmKChifDApPD0tMSl7Yj0wO2JyZWFrfWlmKChh
W2QrYj4+MF18MCk9PTQ2KXtiPTE7YnJlYWt9ZWxzZSBiPWIrLTF8MH1yZXR1cm4gYnwwfWZ1bmN0
aW9uIEFwKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MDtkPWNbNDIwMjZdfDA7aWYoKGR8MCk8KGJ8
MCkpe2lmKCFkKWQ9WkkoYisxfDApfDA7ZWxzZSBkPWFKKGNbNDIwMjddfDAsYisxfDApfDA7Y1s0
MjAyN109ZDtjWzQyMDI2XT1ifWVsc2UgZD1jWzQyMDI3XXwwO3hLKGQsYSl8MDtjWzQyMDExXT1j
WzQyMDI3XTtyZXR1cm59ZnVuY3Rpb24gQnAoYSl7YT1hfDA7cmV0dXJuIFpJKGEpfDB9ZnVuY3Rp
b24gQ3AoYil7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbT0wO209
bDtsPWwrMjExMnwwO2s9bSszMnwwO2k9bSsyNHwwO2g9bSsxNnwwO2c9bSs4fDA7Zj1tO2Q9bSs1
NnwwO2o9bSs0MHwwO2NtKGosMTAyNCxtKzEwODB8MCk7ZT1jWzQyMDExXXwwO2lmKGV8MCl7Zm0o
aixlKXwwO2ZtKGosODE5OTApfDB9Zm0oaixiKXwwO2NbZj4+Ml09Y1s0NDg5XTtwTChkLDgxOTkz
LGYpfDA7Zm0oaixkKXwwO2E6ZG8gaWYoIShhW2NbNDIwMDldPj4wXXwwKSlzd2l0Y2goKChjWzQy
MDE2XXwwKSstMXwwKS8yfDB8MCl7Y2FzZSAyOntjW2c+PjJdPTE2Mzg0O3BMKGQsODIwMTMsZyl8
MDtmbShqLGQpfDA7Yj1jWzQyMDIzXXwwO2lmKCEoYVtiPj4wXXwwKSlicmVhayBhO2k9ckooYil8
MDtmbShqLDgyMDc1KXwwO2I9Y1s0MjAyM118MDtpZigoaXwwKT44MClhW2IrODA+PjBdPTA7Zm0o
aixiKXwwO2JyZWFrIGF9Y2FzZSAzOntjW2g+PjJdPTE2Mzg0O3BMKGQsODIwOTQsaCl8MDtmbShq
LGQpfDA7Yj1jWzQyMDIzXXwwO2lmKCEoYVtiPj4wXXwwKSlicmVhayBhO2k9ckooYil8MDtmbShq
LDgyMTYyKXwwO2I9Y1s0MjAyM118MDtpZigoaXwwKT44MClhW2IrODA+PjBdPTA7Zm0oaixiKXww
O2JyZWFrIGF9Y2FzZSAxOntjW2k+PjJdPTE2Mzg0O3BMKGQsODIxODEsaSl8MDtmbShqLGQpfDA7
YnJlYWsgYX1kZWZhdWx0OmJyZWFrIGF9ZWxzZXtmbShqLDgyMDA1KXwwO2ZtKGosY1s0MjAwOV18
MCl8MDtkPWorNHwwO2I9Y1tkPj4yXXwwO2lmKGI+Pj4wPj0oY1tqKzg+PjJdfDApPj4+MCl7ZG0o
aiwxKXwwO2I9Y1tkPj4yXXwwfWNbZD4+Ml09YisxO2FbYj4+MF09Mzl9d2hpbGUoMCk7ZT1qKzR8
MDtiPWNbZT4+Ml18MDtkPWorOHwwO2lmKGI+Pj4wPj0oY1tkPj4yXXwwKT4+PjApe2RtKGosMSl8
MDtiPWNbZT4+Ml18MH1jW2U+PjJdPWIrMTthW2I+PjBdPTEwO2I9Y1tlPj4yXXwwO2lmKGI+Pj4w
Pj0oY1tkPj4yXXwwKT4+PjApe2RtKGosMSl8MDtiPWNbZT4+Ml18MH1hW2I+PjBdPTA7aT1jW2o+
PjJdfDA7Y1tlPj4yXT1pO2Nbaz4+Ml09aTtfbCgxLDgxODc2LGspfDA7Z20oaik7bD1tO3JldHVy
bn1mdW5jdGlvbiBEcCgpe0VwKGNbNDIwMDldfDApO3JldHVybn1mdW5jdGlvbiBFcChiKXtiPWJ8
MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wO2o9Y1s0MjAxOF18
MDthW2o+PjBdPWFbMTczOTI3XXwwO2k9Y1s0MjAxN118MDtlPWNbaT4+Ml18MDtkPWNbZSs0Pj4y
XXwwO2lmKGo+Pj4wPChkKzJ8MCk+Pj4wKXtmPWQrKChjWzQyMDIyXXwwKSsyKXwwO2c9ZCsoKGNb
ZSsxMj4+Ml18MCkrMil8MDtrPWQ7aD1lO3doaWxlKDEpe2lmKGY+Pj4wPD1rPj4+MClicmVhaztl
PWYrLTF8MDtrPWcrLTF8MDthW2s+PjBdPWFbZT4+MF18MDtoPWNbaT4+Ml18MDtmPWU7Zz1rO2s9
Y1toKzQ+PjJdfDB9ZT1nLWZ8MDtkPWorZXwwO2o9Y1toKzEyPj4yXXwwO2NbNDIwMjJdPWo7Y1to
KzE2Pj4yXT1qO2lmKGQ+Pj4wPChrKzJ8MCk+Pj4wKXVwKDgyMjQwKTtlbHNle2w9YitlfDA7bT1k
fX1lbHNle2w9YjttPWp9Yj1tKy0xfDA7YVtiPj4wXT02NDtjWzQyMDA5XT1sO2FbMTczOTI3XT1h
W2I+PjBdfDA7Y1s0MjAxOF09YjtyZXR1cm59ZnVuY3Rpb24gRnAoKXt2YXIgYT0wO2E9Y1s0MjAx
N118MDtpZighYSlhPTA7ZWxzZSBhPWNbYT4+Ml18MDt5cChhKTtyZXR1cm59ZnVuY3Rpb24gR3Ao
YSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MDtlPWw7bD1sKzgwfDA7Zj1l
O2c9YSs1MnwwO1NwKGEsY1tnPj4yXXwwLDE3NjA0KTthPWYrOHwwO2NbYT4+Ml09YjtjW2ErND4+
Ml09ZDtkPWNbZz4+Ml18MDtkPWJiW2NbZD4+Ml0mMzFdKGQsZiw0KXwwO2w9ZTtyZXR1cm4gZHww
fWZ1bmN0aW9uIEhwKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTA7Zj1H
cChiLGQsZSl8MDtpZighZil7Zj1ZbihiLDcyKXwwO2NbZis2ND4+Ml09Y1tiKzY0Pj4yXTtnPWYr
MjR8MDtoPWNbYisyND4+Ml18MDtjW2c+PjJdPWg7YVtnPj4wXT1oJjI1NSYtOTtjW2YrNTY+PjJd
PWI7Y1tmKzYwPj4yXT1jW2IrNjA+PjJdO2I9Zis4fDA7Y1tiPj4yXT1kO2NbYis0Pj4yXT1lO2pu
KGYpfDB9cmV0dXJuIGZ8MH1mdW5jdGlvbiBJcChhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFy
IGU9MCxmPTAsZz0wO2c9bDtsPWwrMTZ8MDtmPWc7aWYoISgoKGJ8MCkhPTA/KEFuKGEsMCxiLGYs
MCl8MCkhPTA6MCk/KGU9ZixlPUdwKGEsY1tlPj4yXXwwLGNbZSs0Pj4yXXwwKXwwLChlfDApIT0w
KTowKSlpZigoZHwwKSE9MD8oQW4oYSwwLGIsZiwxKXwwKSE9MDowKXtlPWY7ZT1IcChhLGNbZT4+
Ml18MCxjW2UrND4+Ml18MCl8MDtFbihhLDAsZSl9ZWxzZSBlPTA7bD1nO3JldHVybiBlfDB9ZnVu
Y3Rpb24gSnAoYSl7YT1hfDA7YT1jW2ErNTI+PjJdfDA7cmV0dXJuIGJiW2NbYT4+Ml0mMzFdKGEs
MCwxMjgpfDB9ZnVuY3Rpb24gS3AoYSl7YT1hfDA7dmFyIGI9MDtiPUxwKGEpfDA7aWYoIWIpYT0w
O2Vsc2V7Yj1jW2IrNTI+PjJdfDA7YT1iYltjW2I+PjJdJjMxXShiLGEsOCl8MH1yZXR1cm4gYXww
fWZ1bmN0aW9uIExwKGEpe2E9YXwwO3JldHVybiBjW2ErNTY+PjJdfDB9ZnVuY3Rpb24gTXAoYSxi
KXthPWF8MDtiPWJ8MDthPWNbYSs1Mj4+Ml18MDtyZXR1cm4gYmJbY1thPj4yXSYzMV0oYSxiLDIp
fDB9ZnVuY3Rpb24gTnAoYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7YT1jWzQyMDI5
XXwwO2U9KGJ8MCkhPTA7ZG8gaWYoIWEpaWYoZSl7X0koYik7YT0wO2JyZWFrfWVsc2V7YT1aSShk
KXwwO2JyZWFrfWVsc2UgaWYoZSl7Wm4oYSxiKTthPTA7YnJlYWt9ZWxzZXthPVluKGEsZCl8MDti
cmVha313aGlsZSgwKTtyZXR1cm4gYXwwfWZ1bmN0aW9uIE9wKGEsYixkKXthPWF8MDtiPWJ8MDtk
PWR8MDthPWNbNDIwMjldfDA7aWYoIWEpX0koYik7ZWxzZSBabihhLGIpO3JldHVybn1mdW5jdGlv
biBQcChhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTA7ZT1iKzI4fDA7Zj1jW2U+
PjJdfDA7Y1tlPj4yXT0yO2NbNDIwMjldPWE7ZD1RbChiLGQpfDA7Y1tlPj4yXT1mO2NbNDIwMjld
PTA7cmV0dXJuIGR8MH1mdW5jdGlvbiBRcChhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7Y1s0MjAy
OV09YTtyZXR1cm4gYmJbY1tiPj4yXSYzMV0oYixkLDIpfDB9ZnVuY3Rpb24gUnAoYSxiKXthPWF8
MDtiPWJ8MDt2YXIgZD0wLGU9MDtkPShMbChiLDAsMCl8MCkrMjh8MDtlPWNbZD4+Ml18MDtjW2Q+
PjJdPTI7Y1s0MjAyOV09YTtpZighKEtsKGIpfDApKXtjW2Q+PjJdPWU7Y1s0MjAyOV09MDthPTB9
ZWxzZSBhPTE7cmV0dXJuIGF8MH1mdW5jdGlvbiBTcChhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7
aWYoY3wwPyhMbChiLDAsMCl8MCkhPShjfDApOjApTGwoYixjLDApfDA7cmV0dXJufWZ1bmN0aW9u
IFRwKGEsYil7YT1hfDA7Yj1ifDA7aWYoIShjcChhKXwwKSliPVZwKGEsYil8MDtlbHNlIFVwKGEs
Yil8MDtyZXR1cm4gYnwwfWZ1bmN0aW9uIFVwKGIsYyl7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAs
Zj0wO2FbYz4+MF09NjA7ZT1jO3doaWxlKDEpe2Q9ZSsxfDA7Zj1hW2I+PjBdfDA7aWYoIShmPDwy
ND4+MjQpKWJyZWFrO2FbZD4+MF09ZjtiPWIrMXwwO2U9ZH1hW2Q+PjBdPTYyO2FbZSsyPj4wXT0w
O3JldHVybiBjfDB9ZnVuY3Rpb24gVnAoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAs
aD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wO2E6ZG8gaWYoKGJ8MCkhPTA/
KGFbYj4+MF18MCkhPTA6MCl7YVtkPj4wXT0zNDtsPWFbYj4+MF18MDtxPTA7Zz0oKGwrLTQ1JjI1
NSk8MnwoKGwmMjU1KSstNDh8MCk+Pj4wPDEwKSYxO2g9MDtpPTA7aj0wO2U9ZCsxfDA7Zj1iKzF8
MDtiOndoaWxlKDEpe2s9ZTt3aGlsZSgxKXtpZighKGw8PDI0Pj4yNCkpYnJlYWsgYjtlPWwmMjU1
O2M6ZG8gaWYobDw8MjQ+PjI0PT0zNCl7YVtrPj4wXT05MjttPWc7bj0xO2s9aysxfDB9ZWxzZXtp
ZighZyl7bj1sPDwyND4+MjQ+LTEmKGw8PDI0Pj4yNCE9OTUmKGdLKGUpfDApPT0wKTttPTA7bj1u
PzE6aDticmVha31zd2l0Y2gobDw8MjQ+PjI0KXtjYXNlIDQ1OntuPShqfDApPT0wO209bj9nOjA7
bj1uP2g6MTticmVhayBjfWNhc2UgNDY6e249KGl8MCk9PTA7bT1uP2c6MDtuPW4/aDoxO2k9aSsx
fDA7YnJlYWsgY31kZWZhdWx0OntuPShlKy00OHwwKT4+PjA8MTA7bT1uP2c6MDtuPW4/aDoxO2Jy
ZWFrIGN9fX13aGlsZSgwKTtlPWsrMXwwO2Fbaz4+MF09bDtwPWYrMXwwO289YVtmPj4wXXwwO2o9
aisxfDA7Zj1jWzQ3OTVdfDA7aWYoIWYpe2c9bTtoPW47az1lO2Y9cDtsPW87Y29udGludWV9Zz1v
JjI1NTtoPW88PDI0Pj4yNCE9MDtpZigocSZoPyEobDw8MjQ+PjI0PT05MnxsPDwyND4+MjQ+LTEm
KChsKy00NSYyNTUpPjEmKGdLKGw8PDI0Pj4yNCl8MCk9PTApXjEpOjApPyEobzw8MjQ+PjI0Pi0x
JigobystNDUmMjU1KT4xJihnSyhnKXwwKT09MCkpOjApYnJlYWs7aWYoKGp8MCk8KGZ8MCl8aF4x
KXtnPW07aD1uO2s9ZTtmPXA7bD1vO2NvbnRpbnVlfWlmKGw8PDI0Pj4yND09OTJ8bDw8MjQ+PjI0
Pi0xJigoZ0sobDw8MjQ+PjI0KXwwKT09MCYobCstNDUmMjU1KT4xKV4xKXtxPTE7Zz1tO2g9bjts
PW87Zj1wO2NvbnRpbnVlIGJ9aWYobzw8MjQ+PjI0Pi0xJigobystNDUmMjU1KT4xJihnSyhnKXww
KT09MCkpe3E9MTtnPW07aD1uO2w9bztmPXA7Y29udGludWUgYn1hW2U+PjBdPTkyO2FbaysyPj4w
XT0xMDtnPW07aD0xO2o9MDtrPWsrM3wwO2Y9cDtsPW99YVtlPj4wXT05MjthW2srMj4+MF09MTA7
cT0wO2c9bTtoPTE7aj0wO2w9bztlPWsrM3wwO2Y9cH1hW2s+PjBdPTM0O2FbaysxPj4wXT0wO2lm
KCFoKXtpZigoanwwKT09MT8oKGFbYj4+MF18MCkrLTQ1JjI1NSk8MjowKXtiPWQ7YnJlYWt9ZWxz
ZSBlPTE5MTg0O3doaWxlKDEpe2Y9Y1tlPj4yXXwwO2lmKCFmKWJyZWFrIGE7aWYoIShpSyhmLGIp
fDApKXtiPWQ7YnJlYWt9ZWxzZSBlPWUrNHwwfX1lbHNlIGI9ZH1lbHNlIGI9ODIyNzI7d2hpbGUo
MCk7cmV0dXJuIGJ8MH1mdW5jdGlvbiBXcChhKXthPWF8MDtyZXR1cm4gVHAoYSxYcChhKXwwKXww
fWZ1bmN0aW9uIFhwKGEpe2E9YXwwO3ZhciBiPTA7Yj0oKHJKKGEpfDApPDwxKSsyfDA7Yj1iPj4+
MD4xMDI0P2I6MTAyNDthPWNbNDIwMzFdfDA7aWYoYj4+PjA+KGNbNDIwMzBdfDApPj4+MCl7aWYo
IWEpYT1aSShiKXwwO2Vsc2UgYT1hSihhLGIpfDA7Y1s0MjAzMV09YTtjWzQyMDMwXT1ifXJldHVy
biBhfDB9ZnVuY3Rpb24gWXAoYSxiKXthPWF8MDtiPWJ8MDthPUpwKGEpfDA7d2hpbGUoMSl7aWYo
IWEpe2E9MDticmVha31pZigoWnAoYSl8MCk9PTA/aW8oYSxiLDApfDA6MCl7YT0xO2JyZWFrfWE9
S3AoYSl8MH1yZXR1cm4gYXwwfWZ1bmN0aW9uIFpwKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxn
PTAsaD0wLGk9MDtoPURuKGIpfDA7aWYoKGh8MCkhPTA/KGFbaD4+MF18MCkhPTM3OjApZD0wO2Vs
c2UgZT0zO2E6ZG8gaWYoKGV8MCk9PTMpe2Q9b20oYil8MDtiOmRvIGlmKGR8MD8oZj1vbShMcChi
KXwwKXwwLGZ8MCk6MCl7aD1TbChjWyhvbShzbyhiKXwwKXwwKSs4Pj4yXXwwKXwwO2c9ZCsxMnww
O2U9ZisxMnwwO2Q9MDt3aGlsZSgxKXtpZigoZHwwKT49KGh8MCkpYnJlYWsgYjtmPWNbKGNbZz4+
Ml18MCkrKGQ8PDIpPj4yXXwwO2lmKChmfDA/KGk9Y1soY1tlPj4yXXwwKSsoZDw8Mik+PjJdfDAs
aXwwKTowKT94SihmLGkpfDA6MCl7ZD0wO2JyZWFrIGF9ZD1kKzF8MH19d2hpbGUoMCk7ZD1qbShi
LDApfDA7aWYoZClpZigoU2woY1tkKzg+PjJdfDApfDApPjApZD0wO2Vsc2UgcmV0dXJuIChTbChj
W2QrMTI+PjJdfDApfDApPDF8MDtlbHNlIGQ9MX13aGlsZSgwKTtyZXR1cm4gZHwwfWZ1bmN0aW9u
IF9wKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTA7Y1s0MjAzMl09MDtlPUltKGIsODIyODIp
fDA7aWYoKGV8MD8oKGFbZT4+MF18MCkrLTQ4fDApPj4+MDwxMDowKT8oZj1CTChlLDAsMTApfDAs
KGZ8MCk9PTB8KGZ8MCk+NTkpOjApY1s0Nzk1XT1mOyRwKGIsMSk7aWYoKChhcShiLGQsMSl8MCkh
PS0xPyhicShiLGQpfDApIT0tMTowKT8oY3EoYixkKXwwKSE9LTE6MCl7Y1s0Nzk1XT0xMjg7Yj0k
YVtjWyhjWyhjW2IrNjQ+PjJdfDApKzg+PjJdfDApKzg+PjJdJjMxXShkKXwwfWVsc2UgYj0tMTty
ZXR1cm4gYnwwfWZ1bmN0aW9uICRwKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MDtjW2E+PjJdPWNb
YT4+Ml0mLTk7ZD1KcChhKXwwO3doaWxlKDEpe2lmKCFkKWJyZWFrOyRwKGQsMCk7ZD1LcChkKXww
fWE6ZG8gaWYoYnwwKXtiPWNvKGEpfDA7d2hpbGUoMSl7aWYoIWIpYnJlYWsgYTtjW2I+PjJdPWNb
Yj4+Ml0mLTk7ZD1QbShhLGIpfDA7d2hpbGUoMSl7aWYoIWQpYnJlYWs7Y1tkPj4yXT1jW2Q+PjJd
Ji05O2Q9Um0oYSxkKXwwfWI9ZW8oYSxiKXwwfX13aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gYXEo
YixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtpZigo
ZXwwKT09MD8oTHAoYil8MCkhPTA6MCl7aT0wO2c9MTc0MTgxO2s9OTQzMzZ9ZWxzZXtrPShhW2Ir
MjQ+PjBdJjEpPT0wPzE3NDE4MTo4MjMyNjtnPShzbihiKXwwKT09MDtjWzQyMDMzXT15bShiLDIs
OTYyNDIsMCl8MDtjWzQyMDM0XT15bShiLDIsOTYyNTEsMCl8MDtpPTE7Zz1nPzE3NDE4MTo4MjMy
OX1mPURuKGIpfDA7aWYoKGZ8MCkhPTA/KGFbZj4+MF18MCkhPTM3OjApe2g9MTtqPTg3NjM4fWVs
c2V7aD0wO2o9MTc0MTgxO2Y9MTc0MTgxfWRvIGlmKChkcShiLGQpfDApIT0tMT8oZXEoYixkLGcp
fDApIT0tMTowKXtnPShofDApPT0wO2lmKGh8aXwwKXtpZigoZXEoYixkLGspfDApPT0tMSl7Zj0t
MTticmVha31pZigoZXEoYixkLDg3NjMxKXwwKT09LTEpe2Y9LTE7YnJlYWt9fWlmKCFnPyhwcShi
LGQsZil8MCk9PS0xOjApe2Y9LTE7YnJlYWt9aWYoKChlcShiLGQsail8MCkhPS0xPyhlcShiLGQs
ODIzMzcpfDApIT0tMTowKT8oY1s0MjAzMl09KGNbNDIwMzJdfDApKzEsKHVxKGIsZCxlKXwwKSE9
LTEpOjApe2NbYj4+Ml09Y1tiPj4yXXw4O2Y9MH1lbHNlIGY9LTF9ZWxzZSBmPS0xO3doaWxlKDAp
O3JldHVybiBmfDB9ZnVuY3Rpb24gYnEoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAs
Zz0wLGg9MCxpPTAsaj0wLGs9MDthOmRvIGlmKChmcShhLGIpfDApPT0tMSlkPS0xO2Vsc2V7az1q
bShzbyhhKXwwLDApfDA7aT0oa3wwKT09MDtqPWsrMTJ8MDtrPWsrOHwwO2g9Y28oYSl8MDt3aGls
ZSgxKXtpZighaCl7ZD0wO2JyZWFrIGF9aWYoZ3EoYSxoLChjW2g+PjJdfDApPj4+NCwwKXwwKXtp
ZihpKWQ9MDtlbHNlIGQ9Y1trPj4yXXwwO2lmKChocShoLGIsZCl8MCk9PS0xKXtkPS0xO2JyZWFr
IGF9fWc9UG0oYSxoKXwwO2Q9aDt3aGlsZSgxKXtpZighZylicmVhaztmPWcrLTQ4fDA7ZT1jWygo
Y1tnPj4yXSYzfDApPT0yP2c6ZikrNDA+PjJdfDA7aWYoKGR8MCkhPShlfDApPyhncShhLGUsKGNb
aD4+Ml18MCk+Pj40LDApfDApIT0wOjApe2lmKGkpZD0wO2Vsc2UgZD1jW2s+PjJdfDA7aWYoKGhx
KGNbKChjW2c+PjJdJjN8MCk9PTI/ZzpmKSs0MD4+Ml18MCxiLGQpfDApPT0tMSl7ZD0tMTticmVh
ayBhfWQ9Y1soKGNbZz4+Ml0mM3wwKT09Mj9nOmYpKzQwPj4yXXwwfWlmKGlxKGEsZyl8MCl7aWYo
aSllPTA7ZWxzZSBlPWNbaj4+Ml18MDtpZigoanEoZyxiLGUpfDApPT0tMSl7ZD0tMTticmVhayBh
fX1nPVJtKGEsZyl8MH1oPWVvKGEsaCl8MH19d2hpbGUoMCk7cmV0dXJuIGR8MH1mdW5jdGlvbiBj
cShhLGIpe2E9YXwwO2I9YnwwO2NbNDIwMzJdPShjWzQyMDMyXXwwKSstMTtpZigoZHEoYSxiKXww
KT09LTEpYT0tMTtlbHNlIGE9KChlcShhLGIsOTU4MzApfDApPT0tMSk8PDMxPj4zMTtyZXR1cm4g
YXwwfWZ1bmN0aW9uIGRxKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MDtkPWNbNDIwMzJdfDA7d2hp
bGUoMSl7aWYoKGR8MCk8PTApe2Q9MDticmVha31pZigoZXEoYSxiLDEzNDg5OSl8MCk9PS0xKXtk
PS0xO2JyZWFrfWVsc2UgZD1kKy0xfDB9cmV0dXJuIGR8MH1mdW5jdGlvbiBlcShhLGIsZCl7YT1h
fDA7Yj1ifDA7ZD1kfDA7cmV0dXJuIGFiW2NbKGNbKGNbYSs2ND4+Ml18MCkrOD4+Ml18MCkrND4+
Ml0mNjNdKGIsZCl8MH1mdW5jdGlvbiBmcShhLGIpe2E9YXwwO2I9YnwwO2E9SnAoYSl8MDt3aGls
ZSgxKXtpZighYSl7YT0wO2JyZWFrfWlmKCEoWnAoYSl8MCkpe2lmKChhcShhLGIsMCl8MCk9PS0x
KXthPS0xO2JyZWFrfWlmKChicShhLGIpfDApPT0tMSl7YT0tMTticmVha31pZigoY3EoYSxiKXww
KT09LTEpe2E9LTE7YnJlYWt9fWVsc2UgZnEoYSxiKXwwO2E9S3AoYSl8MH1yZXR1cm4gYXwwfWZ1
bmN0aW9uIGdxKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTA7aWYoKFlw
KGEsYil8MCk9PTA/KHJxKGEsYixjLGQpfDApIT0wOjApaWYoKHNxKGEsYil8MCk9PTA/KHRxKGIp
fDApPT0wOjApZT01O2Vsc2UgYT0xO2Vsc2UgZT01O2lmKChlfDApPT01KWE9MDtyZXR1cm4gYXww
fWZ1bmN0aW9uIGhxKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDt2YXIgZD0wO2Q9cm8oYSl8MDtk
byBpZigoZHEoZCxiKXwwKSE9LTE/KGtxKGEsYil8MCkhPS0xOjApe2lmKChtcShhKXwwKT09MD8o
bnEoYSxiLGMpfDApPT0tMTowKXthPS0xO2JyZWFrfWE9ZXEoZCxiLDgyMjkzKXwwfWVsc2UgYT0t
MTt3aGlsZSgwKTtyZXR1cm4gYXwwfWZ1bmN0aW9uIGlxKGEsYil7YT1hfDA7Yj1ifDA7YT1KcChh
KXwwO3doaWxlKDEpe2lmKCFhKXthPTE7YnJlYWt9aWYoKFpwKGEpfDApPT0wP2VuKGEsYiwwKXww
OjApe2E9MDticmVha31hPUtwKGEpfDB9cmV0dXJuIGF8MH1mdW5jdGlvbiBqcShhLGIsZCl7YT1h
fDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2U9Y1thPj4yXSYzO2c9Y1soKGV8MCk9PTM/
YTphKzQ4fDApKzQwPj4yXXwwO2U9Y1soKGV8MCk9PTI/YTphKy00OHwwKSs0MD4+Ml18MDtmPXJv
KGcpfDA7ZG8gaWYoKCgoKChkcShmLGIpfDApIT0tMT8oa3EoZyxiKXwwKSE9LTE6MCk/KGxxKGEs
YixjWzQyMDMzXXwwKXwwKSE9LTE6MCk/KGc9KHFuKHJvKGcpfDApfDApIT0wLChlcShmLGIsZz84
NTA5NTo4NTEwMCl8MCkhPS0xKTowKT8oa3EoZSxiKXwwKSE9LTE6MCk/KGxxKGEsYixjWzQyMDM0
XXwwKXwwKSE9LTE6MCl7aWYoIShtcShhKXwwKSl7aWYoKG5xKGEsYixkKXwwKT09LTEpe2E9LTE7
YnJlYWt9fWVsc2UgaWYoKG9xKGEsYiwxKXwwKT09LTEpe2E9LTE7YnJlYWt9YT1lcShmLGIsODIy
OTMpfDB9ZWxzZSBhPS0xO3doaWxlKDApO3JldHVybiBhfDB9ZnVuY3Rpb24ga3EoYSxiKXthPWF8
MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wO2k9bDtsPWwrMzJ8MDtnPWk7
ZD1pKzh8MDtlPURuKGEpfDA7Zj1ybyhhKXwwO2lmKCFlKXtqPWErOHwwO2E9Y1tqKzQ+PjJdfDA7
ZT1nO2NbZT4+Ml09Y1tqPj4yXTtjW2UrND4+Ml09YTtwTChkLDgyMzEzLGcpfDA7aWYoKGVxKGYs
YixkKXwwKT09LTEpYT0tMTtlbHNlIGg9NH1lbHNlIGlmKChwcShmLGIsZSl8MCk9PS0xKWE9LTE7
ZWxzZSBoPTQ7aWYoKGh8MCk9PTQpYT0wO2w9aTtyZXR1cm4gYXwwfWZ1bmN0aW9uIGxxKGIsYyxk
KXtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGY9MDthOmRvIGlmKChkfDApIT0wPyhlPXJvKGIp
fDAsZj1KbShiLGQpfDAsKGFbZj4+MF18MCkhPTApOjApaWYoKGVxKGUsYyw5MzAxNyl8MCk9PS0x
KWI9LTE7ZWxzZXtkbyBpZihjcChmKXwwKXtpZigocHEoZSxjLGYpfDApPT0tMSl7Yj0tMTticmVh
ayBhfX1lbHNle2I9V0ooZiw1OCl8MDtpZighYilpZigocXEoZSxjLGYsMCl8MCk9PS0xKXtiPS0x
O2JyZWFrIGF9ZWxzZSBicmVhazthW2I+PjBdPTA7aWYoKHFxKGUsYyxmLDApfDApPT0tMSl7Yj0t
MTticmVhayBhfWlmKChlcShlLGMsOTMwMTcpfDApPT0tMSl7Yj0tMTticmVhayBhfWlmKChxcShl
LGMsYisxfDAsMCl8MCk9PS0xKXtiPS0xO2JyZWFrIGF9YVtiPj4wXT01OH13aGlsZSgwKTtiPTB9
ZWxzZSBiPTA7d2hpbGUoMCk7cmV0dXJuIGJ8MH1mdW5jdGlvbiBtcShhKXthPWF8MDtyZXR1cm4g
KGNbYT4+Ml18MCk+Pj4zJjF8MH1mdW5jdGlvbiBucShhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7
dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDthOmRvIGlmKCEoY1thPj4yXSYyKSl7ZT0w
O2s9NH1lbHNle3N3aXRjaChvcShhLGIsMCl8MCl7Y2FzZSAtMTp7ZT0tMTticmVhayBhfWNhc2Ug
MDp7ZT0wO2s9NDticmVhayBhfWRlZmF1bHQ6e319ZT0xO2s9NH13aGlsZSgwKTtiOmRvIGlmKChr
fDApPT00KXtmPW9tKGEpfDA7aj1ybyhhKXwwO2M6ZG8gaWYoZil7aT1mKzEyfDA7aD1iYltjW2Q+
PjJdJjMxXShkLDAsMTI4KXwwO3doaWxlKDEpe2lmKCFoKWJyZWFrIGM7ZG8gaWYoY1thPj4yXSYy
KXtnPWNbNDIwMzNdfDA7aWYoZ3wwPyhjW2grMTY+PjJdfDApPT0oY1tnKzE2Pj4yXXwwKTowKWJy
ZWFrO2c9Y1s0MjAzNF18MDtpZighKChnfDApIT0wPyhjW2grMTY+PjJdfDApPT0oY1tnKzE2Pj4y
XXwwKTowKSlrPTEyfWVsc2Ugaz0xMjt3aGlsZSgwKTtpZigoa3wwKT09MTIpe2s9MDtmPWgrMTZ8
MDtpZigoY1soY1tpPj4yXXwwKSsoY1tmPj4yXTw8Mik+PjJdfDApIT0oY1toKzEyPj4yXXwwKSl7
Zz1lKzF8MDtpZihlKXtpZigoZXEoaixiLDgyMzA4KXwwKT09LTEpe2U9LTE7YnJlYWsgYn1pZigo
ZHEoaixiKXwwKT09LTEpe2U9LTE7YnJlYWsgYn19ZWxzZXtpZigoZHEoaixiKXwwKT09LTEpe2U9
LTE7YnJlYWsgYn1pZigoZXEoaixiLDgyMzA1KXwwKT09LTEpe2U9LTE7YnJlYWsgYn1jWzQyMDMy
XT0oY1s0MjAzMl18MCkrMX1pZigocHEoaixiLGNbaCs4Pj4yXXwwKXwwKT09LTEpe2U9LTE7YnJl
YWsgYn1pZigoZXEoaixiLDgyMzExKXwwKT09LTEpe2U9LTE7YnJlYWsgYn1pZigocHEoaixiLGNb
KGNbaT4+Ml18MCkrKGNbZj4+Ml08PDIpPj4yXXwwKXwwKT09LTEpe2U9LTE7YnJlYWsgYn1lbHNl
IGU9Z319aD1iYltjW2Q+PjJdJjMxXShkLGgsOCl8MH19d2hpbGUoMCk7aWYoKGV8MCk+MCl7aWYo
KGVxKGosYiw4MjMwMyl8MCk9PS0xKXtlPS0xO2JyZWFrfWNbNDIwMzJdPShjWzQyMDMyXXwwKSst
MX1jW2E+PjJdPWNbYT4+Ml18ODtlPTB9d2hpbGUoMCk7cmV0dXJuIGV8MH1mdW5jdGlvbiBvcShi
LGMsZCl7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MCxmPTA7ZT1EbihiKXwwO2I9cm8oYil8MDtp
ZigoZXwwKSE9MD8oYVtlPj4wXXwwKSE9MDowKWlmKChlcShiLGMsODIyOTYpfDApIT0tMT8ocHEo
YixjLGUpfDApIT0tMTowKWlmKChkfDApIT0wPyhlcShiLGMsODIzMDMpfDApPT0tMTowKWI9LTE7
ZWxzZXtiPTE7Zj03fWVsc2UgYj0tMTtlbHNle2I9MDtmPTd9cmV0dXJuIGJ8MH1mdW5jdGlvbiBw
cShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7cmV0dXJuIHFxKGEsYixjLDEpfDB9ZnVuY3Rpb24g
cXEoYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7aWYoIWQpYz1WcChjLFhwKGMpfDAp
fDA7ZWxzZSBjPVdwKGMpfDA7cmV0dXJuIGVxKGEsYixjKXwwfWZ1bmN0aW9uIHJxKGEsYixkLGUp
e2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2E6ZG8gaWYoMDxlPj4+MHwoMD09KGV8MCk/KGNbYj4+
Ml18MCk+Pj40Pj4+MDxkPj4+MDowKSliPTA7ZWxzZXtiPVNtKGEsYil8MDt3aGlsZSgxKXtpZigh
Yil7Yj0xO2JyZWFrIGF9aWYoMDxlPj4+MHwoMD09KGV8MCk/KGNbY1tiKzQwPj4yXT4+Ml18MCk+
Pj40Pj4+MDxkPj4+MDowKSl7Yj0wO2JyZWFrIGF9Yj1UbShhLGIpfDB9fXdoaWxlKDApO3JldHVy
biBifDB9ZnVuY3Rpb24gc3EoYSxiKXthPWF8MDtiPWJ8MDtpZighKFNtKGEsYil8MCkpYT0oUG0o
YSxiKXwwKT09MCYxO2Vsc2UgYT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gdHEoYSl7YT1hfDA7dmFy
IGI9MCxkPTAsZT0wO2E9b20oYSl8MDthOmRvIGlmKCFhKWE9MDtlbHNle2Q9YSs4fDA7ZT1jW2Q+
PjJdfDA7Yj1hKzEyfDA7YT1iYltjW2U+PjJdJjMxXShlLDAsMTI4KXwwO3doaWxlKDEpe2lmKCFh
KXthPTA7YnJlYWsgYX1pZigoY1soY1tiPj4yXXwwKSsoY1thKzE2Pj4yXTw8Mik+PjJdfDApIT0o
Y1thKzEyPj4yXXwwKSl7YT0xO2JyZWFrIGF9ZT1jW2Q+PjJdfDA7YT1iYltjW2U+PjJdJjMxXShl
LGEsOCl8MH19d2hpbGUoMCk7cmV0dXJuIGF8MH1mdW5jdGlvbiB1cShhLGIsZCl7YT1hfDA7Yj1i
fDA7ZD1kfDA7dmFyIGU9MCxmPTA7ZT1qbShhLDApfDA7aWYoZSlpZigoKHZxKGEsYiw5NjI4Nixj
W2UrMTY+PjJdfDAsZCl8MCkhPS0xPyh2cShhLGIsOTYyNzMsY1tlKzg+PjJdfDAsZCl8MCkhPS0x
OjApPyh2cShhLGIsOTYyMzcsY1tlKzEyPj4yXXwwLGQpfDApIT0tMTowKWY9NTtlbHNlIGE9LTE7
ZWxzZSBmPTU7aWYoKGZ8MCk9PTUpYT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gdnEoYixkLGUsZixn
KXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGk9MCxqPTAsaz0wLGw9MCxt
PTAsbj0wLG89MDttPShnfDApIT0wO2lmKG0pbD0wO2Vsc2UgbD1XbChmLDApfDA7az0obHwwKT09
MDtqPWJiW2NbZj4+Ml0mMzFdKGYsMCwxMjgpfDA7Zz0wO3doaWxlKDEpe2lmKCFqKXtuPTIzO2Jy
ZWFrfWk9aisxMnwwO249Y1tpPj4yXXwwO2lmKChufDApIT0wPyhhW24+PjBdfDApIT0wOjApbj0x
MjtlbHNlIG49NztkbyBpZigobnwwKT09Nyl7bj0wO2lmKCEoYVtqKzIyPj4wXXwwKSl7aWYoIWsp
e2g9YmJbY1tsPj4yXSYzMV0obCxqLDQpfDA7bz1jW2grMTI+PjJdfDA7aWYob3wwP2Fbbz4+MF18
MDowKXtuPTEyO2JyZWFrfWlmKCEoYVtoKzIyPj4wXXwwKSluPTEyfX1lbHNlIG49MTJ9d2hpbGUo
MCk7aWYoKG58MCk9PTEyKXtuPTA7aD1nKzF8MDtpZihnKXtpZigoZXEoYixkLDgyMzA4KXwwKT09
LTEpe2c9LTE7YnJlYWt9aWYoKGRxKGIsZCl8MCk9PS0xKXtnPS0xO2JyZWFrfX1lbHNle2lmKChk
cShiLGQpfDApPT0tMSl7Zz0tMTticmVha31pZigoZXEoYixkLGUpfDApPT0tMSl7Zz0tMTticmVh
a31pZigoZXEoYixkLDgyMzA1KXwwKT09LTEpe2c9LTE7YnJlYWt9Y1s0MjAzMl09KGNbNDIwMzJd
fDApKzF9aWYoKHBxKGIsZCxjW2orOD4+Ml18MCl8MCk9PS0xKXtnPS0xO2JyZWFrfWlmKChlcShi
LGQsODIzMTEpfDApPT0tMSl7Zz0tMTticmVha31pZigocHEoYixkLGNbaT4+Ml18MCl8MCk9PS0x
KXtnPS0xO2JyZWFrfWVsc2UgZz1ofWo9YmJbY1tmPj4yXSYzMV0oZixqLDgpfDB9ZG8gaWYoKG58
MCk9PTIzKXtpZigoZ3wwKT4wKXtjWzQyMDMyXT0oY1s0MjAzMl18MCkrLTE7aWYoKGd8MCkhPTEp
e2lmKChlcShiLGQsMTM0OTAxKXwwKT09LTEpe2c9LTE7YnJlYWt9aWYoKGRxKGIsZCl8MCk9PS0x
KXtnPS0xO2JyZWFrfX1nPShlcShiLGQsODIzNDApfDApPT0tMTtpZihtfGcpe2c9Zzw8MzE+PjMx
O2JyZWFrfX1lbHNlIGlmKG0pe2c9MDticmVha31XbChmLGwpfDA7Zz0wfXdoaWxlKDApO3JldHVy
biBnfDB9ZnVuY3Rpb24gd3EoYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8
MDt2YXIgZz0wO3N3aXRjaChjW2I+PjJdJjMpe2Nhc2UgMDp7Zz0xOTticmVha31jYXNlIDE6e2c9
MjA7YnJlYWt9Y2FzZSAzOmNhc2UgMjp7Zz0yMTticmVha31kZWZhdWx0Ont9fWI9YWJbZyY2M10o
YSxiKXwwO2lmKCFiKWI9LTE7ZWxzZXtBcShhLGIsZCxlLGcsZik7Yj0wfXJldHVybiBifDB9ZnVu
Y3Rpb24geHEoYSxiKXthPWF8MDtiPWJ8MDtpZigocm8oYil8MCkhPShhfDApKWI9ZW4oYSxiLDAp
fDA7cmV0dXJuIGJ8MH1mdW5jdGlvbiB5cShhLGIpe2E9YXwwO2I9YnwwO2lmKChybyhiKXwwKSE9
KGF8MCkpYj1pbyhhLGIsMCl8MDtyZXR1cm4gYnwwfWZ1bmN0aW9uIHpxKGEsYil7YT1hfDA7Yj1i
fDA7cmV0dXJuIGF8MH1mdW5jdGlvbiBBcShhLGIsYyxkLGUsZil7YT1hfDA7Yj1ifDA7Yz1jfDA7
ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaT0wO2g9KGZ8MCkhPTA7aWYoaClpYltjJjEy
N10oYSxiLGQpO2c9SnAoYSl8MDt3aGlsZSgxKXtpZighZylicmVhaztpPWFiW2UmNjNdKGcsYil8
MDtpZihpfDApQXEoZyxpLGMsZCxlLGYpO2c9S3AoZyl8MH1pZighaClpYltjJjEyN10oYSxiLGQp
O3JldHVybn1mdW5jdGlvbiBCcSgpe3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbT0w
LG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MDt0PWw7bD1sKzEyMDB8MDtyPXQrODAwfDA7Zz10
O2NbNDIwMzVdPTA7Y1s0MjAzNl09LTI7Zj1yO2k9MjAwO249ZztwPTA7cT0wO289cjthOndoaWxl
KDEpe2Jbbz4+MV09cDtpZigoZisoaTw8MSkrLTJ8MCk+Pj4wPm8+Pj4wKWs9aTtlbHNle209by1m
Pj4xO2U9bSsxfDA7aWYoaT4+PjA+OTk5OSl7cz03NTticmVha31rPWk8PDE7az1rPj4+MDwxZTQ/
azoxZTQ7aD1aSShrKjZ8Myl8MDtpZihoKXtUTihofDAsZnwwLGU8PDF8MCl8MDtpPWgrKGs+Pj4x
PDwyKXwwO1ROKGl8MCxufDAsZTw8MnwwKXwwO2lmKChmfDApPT0ocnwwKSl7ZT0wO2Y9aH1lbHNl
e19JKGYpO2U9MDtmPWh9fWVsc2V7ZT00O2k9bn1qPShlfDApPT0wO2g9ZisobTw8MSl8MDtzd2l0
Y2goKGo/KChmKyhrPDwxKSstMnwwKT4+PjA+aD4+PjA/MDo5KTplKSYxNSl7Y2FzZSA5OntlPTE7
cz03NjticmVhayBhfWNhc2UgNDp7cz03NTticmVhayBhfWNhc2UgMDp7Zz1qP2krKG08PDIpfDA6
ZztuPWk7bz1qP2g6bzticmVha31kZWZhdWx0OntlPTA7YnJlYWsgYX19fWlmKChwfDApPT02KXtl
PTA7cz03NjticmVha31lPWFbODIzNDQrcD4+MF18MDtqPWU8PDI0Pj4yNDtkbyBpZihlPDwyND4+
MjQhPS0xOCl7aD1jWzQyMDM2XXwwO2lmKChofDApPT0tMil7aD1ocCgpfDA7Y1s0MjAzNl09aH1p
ZigoaHwwKT49MSlpZihoPj4+MDwyNjkpaT1kWzgyNDI0K2g+PjBdfDA7ZWxzZSBpPTI7ZWxzZXtj
WzQyMDM2XT0wO2k9MH1oPWkranwwO2lmKGg+Pj4wPD01OT8oaXwwKT09KGRbODI2OTMraD4+MF18
MCk6MCl7cD1hWzgyNzUzK2g+PjBdfDA7ZT1wPDwyND4+MjQ7aWYocDw8MjQ+PjI0PDEpe2g9MC1l
fDA7cz0yMzticmVha31lbHNle2NbNDIwMzZdPS0yO2c9Zys0fDA7Y1tnPj4yXT1jWzQyMDM3XTtq
PShxfDApPT0wPzA6cSstMXwwO2g9bzticmVha319ZWxzZSBzPTIyfWVsc2Ugcz0yMjt3aGlsZSgw
KTtpZigoc3wwKT09MjIpe3M9MDtwPWFbODI4MTMrcD4+MF18MDtoPXAmMjU1O2lmKCEocDw8MjQ+
PjI0KSl7aD1jWzQyMDM2XXwwO2I6ZG8gc3dpdGNoKHF8MCl7Y2FzZSAwOntjWzQyMDM1XT0oY1s0
MjAzNV18MCkrMTtDcCgxMjUzNjkpO2g9bzticmVha31jYXNlIDM6aWYoKGh8MCk8MSlpZighaCl7
ZT0xO3M9NzY7YnJlYWsgYX1lbHNle2g9bzticmVhayBifWVsc2V7Y1s0MjAzNl09LTI7aD1vO2Jy
ZWFrIGJ9ZGVmYXVsdDpoPW99d2hpbGUoMCk7d2hpbGUoMSl7aWYoZTw8MjQ+PjI0PT0xOClicmVh
aztpZigoaHwwKT09KGZ8MCkpe2U9MTtzPTc2O2JyZWFrIGF9ZT1oKy0yfDA7Zz1nKy00fDA7aD1l
O2U9YVs4MjM0NCsoYltlPj4xXXwwKT4+MF18MH1nPWcrNHwwO2NbZz4+Ml09Y1s0MjAzN107ZT0x
O2o9M31lbHNlIHM9MjN9ZG8gaWYoKHN8MCk9PTIzKXtzPTA7aT1kWzgyODkzK2g+PjBdfDA7ZT1j
W2crKDEtaTw8Mik+PjJdfDA7YzpkbyBzd2l0Y2goaHwwKXtjYXNlIDI6e0NxKCk7RHEoKTticmVh
a31jYXNlIDM6e2lmKGNbNDIwMzhdfDApe0NxKCk7RHEoKTtsbihjWzQyMDM4XXwwKXwwO2NbNDE5
ODddPTA7Y1s0MjAzOF09MH1icmVha31jYXNlIDY6e0VxKGNbZz4+Ml18MCxjW2crLTQ+PjJdfDAs
Y1tnKy04Pj4yXXwwKTticmVha31jYXNlIDc6e2U9Y1tnPj4yXXwwO2JyZWFrfWNhc2UgODp7ZT0w
O2JyZWFrfWNhc2UgOTp7ZT0xO2JyZWFrfWNhc2UgMTA6e2U9MDticmVha31jYXNlIDExOntlPTA7
YnJlYWt9Y2FzZSAxMjp7ZT0xO2JyZWFrfWNhc2UgMjE6aWYoIShjW2crLTQ+PjJdfDApKXtHcSgp
O2JyZWFrIGN9ZWxzZXtGcSgpO2JyZWFrIGN9Y2FzZSAyNDp7SHEoKTticmVha31jYXNlIDI1OntI
cSgpO2JyZWFrfWNhc2UgMjY6e2U9MTticmVha31jYXNlIDI3OntlPTA7YnJlYWt9Y2FzZSAzMDp7
SXEoY1tnPj4yXXwwLDAsMCk7YnJlYWt9Y2FzZSAzMTp7SXEoY1tnKy04Pj4yXXwwLGNbZz4+Ml18
MCwwKTticmVha31jYXNlIDMyOntJcShjW2crLTE2Pj4yXXwwLGNbZystOD4+Ml18MCxjW2c+PjJd
fDApO2JyZWFrfWNhc2UgMzM6e0pxKGNbZystOD4+Ml18MCxjW2crLTQ+PjJdfDApO2JyZWFrfWNh
c2UgMzQ6e0pxKDI1OCwwKTticmVha31jYXNlIDM1OntlPTI1ODticmVha31jYXNlIDM2OntlPTI1
OTticmVha31jYXNlIDM3OntlPTI2MDticmVha31jYXNlIDM4OntlPWNbZystND4+Ml18MDticmVh
a31jYXNlIDM5OntlPTA7YnJlYWt9Y2FzZSA0ODp7S3EoY1tnKy04Pj4yXXwwLGNbZz4+Ml18MCk7
YnJlYWt9Y2FzZSA0OTp7S3EoY1tnPj4yXXwwLDApO2JyZWFrfWNhc2UgNTE6e0xxKGNbZz4+Ml18
MCk7YnJlYWt9Y2FzZSA1Mjp7TXEoKTticmVha31jYXNlIDUzOntlPWNbZz4+Ml18MDticmVha31j
YXNlIDU0OntlPTA7YnJlYWt9Y2FzZSA1NTp7ZT0wO2JyZWFrfWNhc2UgNTk6e2U9Y1tnPj4yXXww
O2JyZWFrfWNhc2UgNjA6e2U9Y1tnPj4yXXwwO2JyZWFrfWNhc2UgNjE6e2U9Y1tnPj4yXXwwO2Jy
ZWFrfWNhc2UgNjI6e2U9TnEoY1tnKy04Pj4yXXwwLGNbZz4+Ml18MCl8MDticmVha31kZWZhdWx0
Ont9fXdoaWxlKDApO2k9MC1pfDA7cD1nKyhpPDwyKXwwO2k9bysoaTw8MSl8MDtnPXArNHwwO2Nb
cCs0Pj4yXT1lO2U9KGRbODI5NTYraD4+MF18MCkrLTI0fDA7cD1iW2k+PjFdfDA7aD1wKyhhWzgz
MDE5K2U+PjBdfDApfDA7aWYoaD4+PjA8NjA/KGRbODI2OTMraD4+MF18MCk9PShwfDApOjApe2U9
YVs4Mjc1MytoPj4wXXwwO2o9cTtoPWk7YnJlYWt9ZT1hWzgzMDU0K2U+PjBdfDA7aj1xO2g9aX13
aGlsZSgwKTtpPWs7cD1lO3E9ajtvPWgrMnwwfWlmKChzfDApPT03NSl7Q3AoMTI1MzgyKTtlPTI7
cz03Nn1pZigoc3wwKT09NzYpaWYoKGZ8MCkhPShyfDApKV9JKGYpO2w9dDtyZXR1cm4gZXwwfWZ1
bmN0aW9uIENxKCl7dmFyIGE9MCxiPTA7YT1jWzQyMDM5XXwwO3doaWxlKDEpe2lmKCFhKWJyZWFr
O1ZxKGErOHwwKTtWcSgoY1s0MjAzOV18MCkrMjR8MCk7VnEoKGNbNDIwMzldfDApKzE2fDApO2I9
T3EoY1s0MjAzOV18MCl8MDtjWzQyMDM5XT1iO2E9Yn1yZXR1cm59ZnVuY3Rpb24gRHEoKXtEcCgp
O01uKGNbNDIwMzhdfDApO3JldHVybn1mdW5jdGlvbiBFcShiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1l
fDA7dmFyIGY9MCxnPTAsaD0wO2g9bDtsPWwrMTZ8MDtnPWg7Zj1jWzQyMDM4XXwwO2lmKCFmKXth
WzE2ODE2MF09ZCYxfChlJjI1NSk8PDEmMnxhWzE2ODE2MF0mLTEyfDg7Zj1jWzQyMDQxXXwwO2Fb
Zz4+MF09YVsxNjgxNjBdfDA7YVtnKzE+PjBdPWFbMTY4MTYxXXwwO2FbZysyPj4wXT1hWzE2ODE2
Ml18MDthW2crMz4+MF09YVsxNjgxNjNdfDA7Zj1nbihiLGcsZil8MDtjWzQyMDM4XT1mfWNbNDE5
ODddPWY7Y1s0MjAzOV09UHEoY1s0MjAzOV18MCxmKXwwO2JwKDAsYil8MDtsPWg7cmV0dXJufWZ1
bmN0aW9uIEZxKCl7dmFyIGI9MCxkPTAsZT0wLGY9MCxnPTAsaD0wO1VxKDIpO2U9Y1s0MjAzOV18
MDtmPWFbODMwODldfDA7aD0wO2I9ZSsyNHwwO3doaWxlKDEpe2Q9Y1tiPj4yXXwwO2lmKCFkKWJy
ZWFrO2lmKCgoY1tkPj4yXXwwKT09MjY3PyhnPWNbZCs0Pj4yXXwwLChhW2c+PjBdfDApPT1mPDwy
ND4+MjQpOjApPyh4SihnLDgzMDg5KXwwKT09MDowKWI9Y1tkKzg+PjJdfDA7ZWxzZSBiPWg7aD1i
O2I9ZCsxMnwwfWI9ZSsxNnwwO2E6d2hpbGUoMSl7ZT1jW2I+PjJdfDA7Yj1lKzEyfDA7aWYoIShj
W2I+PjJdfDApKWJyZWFrO2Q9ZSs0fDA7aWYoKGNbZT4+Ml18MCk9PTI2Mil7ZT1jW2Q+PjJdfDA7
ZD1jbyhlKXwwO3doaWxlKDEpe2lmKCFkKWNvbnRpbnVlIGE7Zz1pbyhjW2NbNDIwMzldPj4yXXww
LGQsMCl8MDthcihnLDAsY1tiPj4yXXwwLGgpO2Q9ZW8oZSxkKXwwfX1lbHNlIHdoaWxlKDEpe2Q9
Y1tkPj4yXXwwO2lmKCFkKWNvbnRpbnVlIGE7YXIoY1tkKzQ+PjJdfDAsY1tkKzg+PjJdfDAsY1ti
Pj4yXXwwLGgpO2Q9ZCsxMnwwfX1WcSgoY1s0MjAzOV18MCkrOHwwKTtWcSgoY1s0MjAzOV18MCkr
MTZ8MCk7VnEoKGNbNDIwMzldfDApKzI0fDApO2NbKGNbNDIwMzldfDApKzQ+PjJdPTA7cmV0dXJu
fWZ1bmN0aW9uIEdxKCl7dmFyIGE9MDtVcSgxKTthPShjWzQyMDM5XXwwKSs4fDA7d2hpbGUoMSl7
YT1jW2E+PjJdfDA7aWYoIWEpYnJlYWs7JHEoY1thKzQ+PjJdfDApO2E9YSsxMnwwfVZxKChjWzQy
MDM5XXwwKSs4fDApO1ZxKChjWzQyMDM5XXwwKSsyNHwwKTtWcSgoY1s0MjAzOV18MCkrMTZ8MCk7
Y1soY1s0MjAzOV18MCkrND4+Ml09MDtyZXR1cm59ZnVuY3Rpb24gSHEoKXt2YXIgYT0wLGI9MDth
PWNbNDIwMzldfDA7Yj1jW2ErOD4+Ml18MDtpZighYil7Yj1jW2ErND4+Ml18MDtpZighYiliPTA7
ZWxzZXtiPV9xKGIpfDA7YT1jWzQyMDM5XXwwfWNbYSs0Pj4yXT0wfWVsc2V7Yj1acShiKXwwO2E9
Y1s0MjAzOV18MDtjW2ErMTI+PjJdPTA7Y1thKzg+PjJdPTB9aWYoYnwwKVJxKGErMTZ8MCxiKTty
ZXR1cm59ZnVuY3Rpb24gSXEoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO2lmKGQpYj1YcShiLGQp
fDA7ZD1ZcShubyhjW2NbNDIwMzldPj4yXXwwLGEsMSl8MCxiKXwwO1JxKChjWzQyMDM5XXwwKSs4
fDAsZCk7YnAoY1s0MjAzOF18MCxhKXwwO3JldHVybn1mdW5jdGlvbiBKcShiLGQpe2I9YnwwO2Q9
ZHwwO3ZhciBlPTAsZj0wLGc9MDtpZihkfDApVHEoKTtkPShjWzQyMDM5XXwwKSsyNHwwO3doaWxl
KDEpe2Q9Y1tkPj4yXXwwO2lmKCFkKWJyZWFrO2lmKCEoY1tkKzg+PjJdfDApKVRxKCk7ZD1kKzEy
fDB9Zz0oYnwwKT09MjYwPzI6KGJ8MCk9PTI1OSYxO1VxKGcpO2I9Y1s0MjAzOV18MDtkPWIrMjR8
MDt3aGlsZSgxKXtmPWNbZD4+Ml18MDtpZighZilicmVhaztkbyBpZigoY1tmPj4yXXwwKSE9MjY3
KXtkPWNbZis0Pj4yXXwwO2U9Y1tiPj4yXXwwO2lmKCEoKGFbZCsyMT4+MF18MCkhPTAmKGV8MCk9
PShjWzQyMDM4XXwwKSkpe2Q9eW0oZSxnLGNbZCs4Pj4yXXwwLGNbZis4Pj4yXXwwKXwwO2I9Y1s0
MjAzOV18MDtpZigoY1tiPj4yXXwwKSE9KGNbNDIwMzhdfDApKWJyZWFrfWFbZCsyMj4+MF09MX13
aGlsZSgwKTtkPWYrMTJ8MH1WcShiKzI0fDApO3JldHVybn1mdW5jdGlvbiBLcShhLGIpe2E9YXww
O2I9YnwwO2I9UXEoYSxiKXwwO1JxKChjWzQyMDM5XXwwKSsyNHwwLGIpO3JldHVybn1mdW5jdGlv
biBMcShhKXthPWF8MDt2YXIgYj0wO2I9Y1s0MjAzOV18MDtjWzQyMDM5XT1QcShiLElwKGNbYj4+
Ml18MCxhLDEpfDApfDA7YnAoY1s0MjAzOF18MCxhKXwwO3JldHVybn1mdW5jdGlvbiBNcSgpe3Zh
ciBhPTAsYj0wO2E9Y1s0MjAzOV18MDtiPWNbYT4+Ml18MDthPU9xKGEpfDA7Y1s0MjAzOV09YTtj
W2ErND4+Ml09YjtyZXR1cm59ZnVuY3Rpb24gTnEoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9
MCxmPTAsZz0wO2c9bDtsPWwrMTAyNHwwO2Y9ZztkPXJKKGEpfDA7ZD1kKzErKHJKKGIpfDApfDA7
aWYoZD4+PjA8MTAyNSlkPWY7ZWxzZSBkPVpJKGQpfDA7eEsoZCxhKXwwO0lMKGQsYil8MDtlPSRv
KGNbNDIwMzhdfDAsZCl8MDticChjWzQyMDM4XXwwLGEpfDA7YnAoY1s0MjAzOF18MCxiKXwwO2lm
KChkfDApIT0oZnwwKSlfSShkKTtsPWc7cmV0dXJuIGV8MH1mdW5jdGlvbiBPcShhKXthPWF8MDt2
YXIgYj0wO2I9Y1soY1s0MjAzOV18MCkrMzI+PjJdfDA7Wm4oY1s0MjAzOF18MCxhKTtyZXR1cm4g
YnwwfWZ1bmN0aW9uIFBxKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MDtkPVluKGNbNDIwMzhdfDAs
MzYpfDA7Y1tkKzMyPj4yXT1hO2NbZD4+Ml09YjtyZXR1cm4gZHwwfWZ1bmN0aW9uIFFxKGEsYil7
YT1hfDA7Yj1ifDA7cmV0dXJuIFNxKDI2NyxhLGIpfDB9ZnVuY3Rpb24gUnEoYSxiKXthPWF8MDti
PWJ8MDt2YXIgZD0wLGU9MDtkPWErNHwwO2U9Y1tkPj4yXXwwO2lmKGV8MCljW2UrMTI+PjJdPWI7
Y1tkPj4yXT1iO2lmKCEoY1thPj4yXXwwKSljW2E+PjJdPWI7cmV0dXJufWZ1bmN0aW9uIFNxKGEs
YixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wO2U9WW4oY1s0MjAzOF18MCwxNil8MDtjW2U+
PjJdPWE7Y1tlKzQ+PjJdPWI7Y1tlKzg+PjJdPWQ7cmV0dXJuIGV8MH1mdW5jdGlvbiBUcSgpe3Zh
ciBhPTA7YT1sO2w9bCsxNnwwO19sKDAsODMwOTMsYSl8MDtsPWE7cmV0dXJufQorZnVuY3Rpb24g
REkoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxpPTAuMCxqPTAsaz0w
LG09MCxuPTAscT0wLHI9MCxzPTAsdT0wLHY9MCx3PTAseD0wLHk9MCxBPTAsQj0wLEM9MCxEPTAs
RT0wLEY9MCxHPTAsSD0wLEk9MC4wO0g9bDtsPWwrMTEyfDA7RT1IKzgwfDA7RD1IKzY0fDA7Qz1I
KzQ4fDA7Rz00O0Y9WkkoNDApfDA7Y1tGPj4yXT0wO3c9SCszMnwwO3g9SCsxNnwwO3k9SDtBPUgr
OTZ8MDtHPVJOKDE2OTk4MCwxLEZ8MCxHfDApfDA7Rj16O289MDtlPW87bz0wO2lmKChlfDApIT0w
JihwfDApIT0wKXtmPVNOKGNbZT4+Ml18MCxHfDAsRnwwKXwwO2lmKCFmKVVhKGV8MCxwfDApO3o9
cH1lbHNlIGY9LTE7aWYoKGZ8MCk9PTEpZT16O2Vsc2UgZT0wO2E6d2hpbGUoMSl7aWYoZXwwKXtl
PS0yO2JyZWFrfWc9YSs0fDA7bz0wO2ZhKDk0LGNbZz4+Ml18MCk7ZT1vO289MDtpZigoZXwwKSE9
MCYocHwwKSE9MCl7Zj1TTihjW2U+PjJdfDAsR3wwLEZ8MCl8MDtpZighZilVYShlfDAscHwwKTt6
PXB9ZWxzZSBmPS0xO2lmKChmfDApPT0xKXtlPXo7Y29udGludWV9Y1s0MjUzNF09MDtjWzQyNTM1
XT0wO289MDtmYSg5NSxjW2c+PjJdPDwxfDApO2U9bztvPTA7aWYoKGV8MCkhPTAmKHB8MCkhPTAp
e2Y9U04oY1tlPj4yXXwwLEd8MCxGfDApfDA7aWYoIWYpVWEoZXwwLHB8MCk7ej1wfWVsc2UgZj0t
MTtpZigoZnwwKT09MSl7ZT16O2NvbnRpbnVlfW09KGNbNDI1MzddfDApLzJ8MDtjWzQyNTM4XT1t
O2NbNDI1MzldPW0rLTE7bT1jW2c+PjJdfDA7Zz1jW2E+PjJdfDA7ZT0wO2Y9LTE7aT10O3doaWxl
KDEpe2lmKChlfDApPj0obXwwKSlicmVhaztJPStoW2crKGU8PDQpPj4zXTt2PWk+STt1PXY/ZTpm
O2U9ZSsxfDA7Zj11O2k9dj9JOml9dj1nKyhmPDw0KXwwO2NbeD4+Ml09Y1t2Pj4yXTtjW3grND4+
Ml09Y1t2KzQ+PjJdO2NbeCs4Pj4yXT1jW3YrOD4+Ml07Y1t4KzEyPj4yXT1jW3YrMTI+PjJdO3Y9
ZysoKChmfDApPT0wP206ZikrLTE8PDQpfDA7Y1t3Pj4yXT1jW3Y+PjJdO2Nbdys0Pj4yXT1jW3Yr
ND4+Ml07Y1t3Kzg+PjJdPWNbdis4Pj4yXTtjW3crMTI+PjJdPWNbdisxMj4+Ml07dj1nKygoKGZ8
MCk9PShtKy0xfDApPzA6ZisxfDApPDw0KXwwO2NbeT4+Ml09Y1t2Pj4yXTtjW3krND4+Ml09Y1t2
KzQ+PjJdO2NbeSs4Pj4yXT1jW3YrOD4+Ml07Y1t5KzEyPj4yXT1jW3YrMTI+PjJdO0k9K2hbeD4+
M107aWYoKCtoW3c+PjNdPT1JP0k9PStoW3k+PjNdOjApPytoW3krOD4+M10+K2hbeCs4Pj4zXTow
KXY9MTU7ZWxzZSB2PTEyO2I6ZG8gaWYoKHZ8MCk9PTEyKXt2PTA7bz0wO2U9YWEoMTcsd3wwLHh8
MCx5fDApfDA7Zj1vO289MDtpZigoZnwwKSE9MCYocHwwKSE9MCl7Zz1TTihjW2Y+PjJdfDAsR3ww
LEZ8MCl8MDtpZighZylVYShmfDAscHwwKTt6PXB9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtlPXo7
Y29udGludWUgYX1pZigoZXwwKT09MSl7Zz1jWzQyNTQxXXwwO2U9Y1s0MjU0Ml18MDtmPTA7d2hp
bGUoMSl7aWYoKGZ8MCk+PShtfDApKWJyZWFrIGI7aj1jW2E+PjJdfDA7aWYoISgoKGZ8MCk+MD8o
Qj1mKy0xfDAsK2hbaisoZjw8NCk+PjNdPT0raFtqKyhCPDw0KT4+M10pOjApPytoW2orKGY8PDQp
Kzg+PjNdPT0raFtqKyhCPDw0KSs4Pj4zXTowKSl7dT1jWzQyNTM0XXwwO2NbZysodTw8Myk+PjJd
PWorKGY8PDQpO2NbZysodTw8MykrND4+Ml09ZysoKCh1fDApJShtfDApfDApPDwzKTtjW2UrKHU8
PDIpPj4yXT1nKyh1PDwzKTtjWzQyNTM0XT11KzF9Zj1mKzF8MH19ZWxzZSB2PTE1fXdoaWxlKDAp
O2M6ZG8gaWYoKHZ8MCk9PTE1KXt2PTA7aj1jWzQyNTQxXXwwO2U9Y1s0MjU0Ml18MDtnPW07d2hp
bGUoMSl7Zj1nKy0xfDA7aWYoKGd8MCk8PTApYnJlYWsgYztrPWNbYT4+Ml18MDtpZigoKGd8MCk8
KG18MCk/K2hbaysoZjw8NCk+PjNdPT0raFtrKyhnPDw0KT4+M106MCk/K2hbaysoZjw8NCkrOD4+
M109PStoW2srKGc8PDQpKzg+PjNdOjApe2c9Zjtjb250aW51ZX1nPWNbNDI1MzRdfDA7Y1tqKyhn
PDwzKT4+Ml09aysoZjw8NCk7Y1tqKyhnPDwzKSs0Pj4yXT1qKygoKGd8MCklKG18MCl8MCk8PDMp
O2NbZSsoZzw8Mik+PjJdPWorKGc8PDMpO2NbNDI1MzRdPWcrMTtnPWZ9fXdoaWxlKDApO289MDtn
YSgyNyxlfDAsY1s0MjUzNF18MCk7ZT1vO289MDtpZigoZXwwKSE9MCYocHwwKSE9MCl7Zj1TTihj
W2U+PjJdfDAsR3wwLEZ8MCl8MDtpZighZilVYShlfDAscHwwKTt6PXB9ZWxzZSBmPS0xO2lmKChm
fDApPT0xKXtlPXo7Y29udGludWV9aj0wO2U9Y1s0MjUzNV18MDtkOndoaWxlKDEpe2lmKChqfDAp
Pj0oZXwwKSl7cz0wO2JyZWFrfWs9aisxfDA7Zz1rO3doaWxlKDEpe2lmKChnfDApPj0oZXwwKSl7
aj1rO2NvbnRpbnVlIGR9bz0wO2dhKDI4LGp8MCxnfDApO2U9bztvPTA7aWYoKGV8MCkhPTAmKHB8
MCkhPTApe2Y9U04oY1tlPj4yXXwwLEd8MCxGfDApfDA7aWYoIWYpVWEoZXwwLHB8MCk7ej1wfWVs
c2UgZj0tMTtpZigoZnwwKT09MSl7ZT16O2NvbnRpbnVlIGF9Zz1nKzF8MDtlPWNbNDI1MzVdfDB9
fXdoaWxlKDEpe2lmKChzfDApPj0oZXwwKSlicmVhaztvPTA7Zj0kKDM5LHN8MCxifDApfDA7Zz1v
O289MDtpZigoZ3wwKSE9MCYocHwwKSE9MCl7aj1TTihjW2c+PjJdfDAsR3wwLEZ8MCl8MDtpZigh
ailVYShnfDAscHwwKTt6PXB9ZWxzZSBqPS0xO2lmKChqfDApPT0xKXtlPXo7Y29udGludWUgYX1p
ZihmfDApYnJlYWs7cz1zKzF8MH1pZigoc3wwKT09KGV8MCkpe2U9Y1sxMzkxOF18MDtvPTA7Y1tD
Pj4yXT0xMjU1MDM7Y1tDKzQ+PjJdPTE5MjtjW0MrOD4+Ml09MTI1NTE0O2FhKDEzLGV8MCwxMjU0
ODQsQ3wwKXwwO2U9bztvPTA7aWYoKGV8MCkhPTAmKHB8MCkhPTApe2Y9U04oY1tlPj4yXXwwLEd8
MCxGfDApfDA7aWYoIWYpVWEoZXwwLHB8MCk7ej1wfWVsc2UgZj0tMTtpZigoZnwwKT09MSl7ZT16
O2NvbnRpbnVlfWVsc2V7dj00MTticmVha319dT1iKzE2fDA7az0wO3doaWxlKDEpe2lmKChrfDAp
Pj0oZXwwKSlicmVhaztvPTA7Zj0kKDM5LGt8MCx1fDApfDA7Zz1vO289MDtpZigoZ3wwKSE9MCYo
cHwwKSE9MCl7aj1TTihjW2c+PjJdfDAsR3wwLEZ8MCl8MDtpZighailVYShnfDAscHwwKTt6PXB9
ZWxzZSBqPS0xO2lmKChqfDApPT0xKXtlPXo7Y29udGludWUgYX1pZihmfDApYnJlYWs7az1rKzF8
MH1pZigoa3wwKT09KGV8MCkpe2U9Y1sxMzkxOF18MDtvPTA7Y1tEPj4yXT0xMjU1MDM7Y1tEKzQ+
PjJdPTIwMDtjW0QrOD4+Ml09MTI1NTQ3O2FhKDEzLGV8MCwxMjU0ODQsRHwwKXwwO2U9bztvPTA7
aWYoKGV8MCkhPTAmKHB8MCkhPTApe2Y9U04oY1tlPj4yXXwwLEd8MCxGfDApfDA7aWYoIWYpVWEo
ZXwwLHB8MCk7ej1wfWVsc2UgZj0tMTtpZigoZnwwKT09MSl7ZT16O2NvbnRpbnVlfWVsc2V7dj00
ODticmVha319bz0wO2U9JCg0MCxzfDAsa3wwKXwwO2Y9bztvPTA7aWYoKGZ8MCkhPTAmKHB8MCkh
PTApe2c9U04oY1tmPj4yXXwwLEd8MCxGfDApfDA7aWYoIWcpVWEoZnwwLHB8MCk7ej1wfWVsc2Ug
Zz0tMTtpZigoZ3wwKT09MSl7ZT16O2NvbnRpbnVlfWlmKCFlKXtlPWNbMTM5MThdfDA7bz0wO2Nb
RT4+Ml09MTI1NTAzO2NbRSs0Pj4yXT0yMDc7Y1tFKzg+PjJdPTEyNTU4NTthYSgxMyxlfDAsMTI1
NDg0LEV8MCl8MDtlPW87bz0wO2lmKChlfDApIT0wJihwfDApIT0wKXtmPVNOKGNbZT4+Ml18MCxH
fDAsRnwwKXwwO2lmKCFmKVVhKGV8MCxwfDApO3o9cH1lbHNlIGY9LTE7aWYoKGZ8MCk9PTEpe2U9
ejtjb250aW51ZX1vPTA7ZmEoOTYsMik7ZT1vO289MDtpZigoZXwwKSE9MCYocHwwKSE9MCl7Zj1T
TihjW2U+PjJdfDAsR3wwLEZ8MCl8MDtpZighZilVYShlfDAscHwwKTt6PXB9ZWxzZSBmPS0xO2lm
KChmfDApPT0xKXtlPXo7Y29udGludWV9ZWxzZXt2PTUzO2JyZWFrfX1pZigoc3wwKT09KGt8MCkp
e289MDtmYSg5NiwyKTtlPW87bz0wO2lmKChlfDApIT0wJihwfDApIT0wKXtmPVNOKGNbZT4+Ml18
MCxHfDAsRnwwKXwwO2lmKCFmKVVhKGV8MCxwfDApO3o9cH1lbHNlIGY9LTE7aWYoKGZ8MCk9PTEp
e2U9ejtjb250aW51ZX1lbHNle3Y9NTY7YnJlYWt9fWNbQT4+Ml09YjtjW0ErND4+Ml09MDtmPUEr
OHwwO2NbZj4+Ml09dTtjW0ErMTI+PjJdPTA7bz0wO2dhKDI5LDEsQXwwKTtlPW87bz0wO2lmKChl
fDApIT0wJihwfDApIT0wKXtnPVNOKGNbZT4+Ml18MCxHfDAsRnwwKXwwO2lmKCFnKVVhKGV8MCxw
fDApO3o9cH1lbHNlIGc9LTE7aWYoKGd8MCk9PTEpe2U9ejtjb250aW51ZX1jWzQyNTQwXT1jWzQy
NTM4XTtxPXM7ZTp3aGlsZSgxKXtpZigocXwwKT09LTEpe2c9ZjtlPTA7YnJlYWt9cj1jWzQyNTQ0
XXwwO2NbcisocSo1MnwwKT4+Ml09MjtlPTA7d2hpbGUoMSl7aWYoKGV8MCk+PTMpe3Y9NjU7YnJl
YWt9dj1jW3IrKHEqNTJ8MCkrNCsoZTw8NCkrMTI+PjJdfDA7aWYodnwwPyhjW3Y+PjJdfDApPT0x
OjApe3Y9Njg7YnJlYWt9ZT1lKzF8MH1pZigodnwwKT09NjUpe3Y9MDtpZigoZXwwKT09Myl7ZT1j
WzQyNTM2XXwwO2s9Y1tlKyhjWzQyNTM5XTw8Mik+PjJdfDA7bz0wO2U9YWEoMTcsdXwwLGNbY1tl
KyhjWzQyNTM4XTw8Mik+PjJdPj4yXXwwLGNbaz4+Ml18MCl8MDtnPW87bz0wO2lmKChnfDApIT0w
JihwfDApIT0wKXtqPVNOKGNbZz4+Ml18MCxHfDAsRnwwKXwwO2lmKCFqKVVhKGd8MCxwfDApO3o9
cH1lbHNlIGo9LTE7aWYoKGp8MCk9PTEpe2U9ejtjb250aW51ZSBhfWo9KGV8MCk9PTE7bj1qP2Y6
aztqPWo/azpmfWVsc2Ugdj02OH1pZigodnwwKT09Njgpe3Y9MDtrPWNbcisocSo1MnwwKSs0Kyhl
PDw0KT4+Ml18MDttPWNbcisocSo1MnwwKSs0KyhlPDw0KSs0Pj4yXXwwO289MDtlPWFhKDE3LGNb
az4+Ml18MCxjW2NbcisocSo1MnwwKSs0KygoKGUrMXwwKSUzfDApPDw0KSs0Pj4yXT4+Ml18MCxj
W20+PjJdfDApfDA7Zz1vO289MDtpZigoZ3wwKSE9MCYocHwwKSE9MCl7aj1TTihjW2c+PjJdfDAs
R3wwLEZ8MCl8MDtpZighailVYShnfDAscHwwKTt6PXB9ZWxzZSBqPS0xO2lmKChqfDApPT0xKXtl
PXo7Y29udGludWUgYX1qPShlfDApPT0xO249aj9rOm07aj1qP206a31kbyBpZigocXwwKT09KHN8
MCkpe289MDtnYSgyOSwyLGp8MCk7ZT1vO289MDtpZigoZXwwKSE9MCYocHwwKSE9MCl7Zz1TTihj
W2U+PjJdfDAsR3wwLEZ8MCl8MDtpZighZylVYShlfDAscHwwKTt6PXB9ZWxzZSBnPS0xO2lmKChn
fDApPT0xKXtlPXo7Y29udGludWUgYX1vPTA7Z2EoMjksMSxufDApO2U9bztvPTA7aWYoKGV8MCkh
PTAmKHB8MCkhPTApe2c9U04oY1tlPj4yXXwwLEd8MCxGfDApfDA7aWYoIWcpVWEoZXwwLHB8MCk7
ej1wfWVsc2UgZz0tMTtpZigoZ3wwKT09MSl7ZT16O2NvbnRpbnVlIGF9ZT0wfWVsc2V7bT1jWzQy
NTM2XXwwO2lmKChjW20rKGNbNDI1MzhdPDwyKT4+Ml18MCkhPShufDApPyhjW20rKGNbNDI1Mzld
PDwyKT4+Ml18MCkhPShufDApOjApe289MDtqPV8oMjksbnwwKXwwO2U9bztvPTA7aWYoKGV8MCkh
PTAmKHB8MCkhPTApe2c9U04oY1tlPj4yXXwwLEd8MCxGfDApfDA7aWYoIWcpVWEoZXwwLHB8MCk7
ej1wfWVsc2UgZz0tMTtpZigoZ3wwKT09MSl7ZT16O2NvbnRpbnVlIGF9bz0wO2dhKDMwLDIsanww
KTtlPW87bz0wO2lmKChlfDApIT0wJihwfDApIT0wKXtnPVNOKGNbZT4+Ml18MCxHfDAsRnwwKXww
O2lmKCFnKVVhKGV8MCxwfDApO3o9cH1lbHNlIGc9LTE7aWYoKGd8MCk9PTEpe2U9ejtjb250aW51
ZSBhfW89MDtnYSgyOSwxLG58MCk7ZT1vO289MDtpZigoZXwwKSE9MCYocHwwKSE9MCl7Zz1TTihj
W2U+PjJdfDAsR3wwLEZ8MCl8MDtpZighZylVYShlfDAscHwwKTt6PXB9ZWxzZSBnPS0xO2lmKChn
fDApPT0xKXtlPXo7Y29udGludWUgYX1pZigoanwwKTw9KGNbNDI1NDBdfDApKXtlPTA7YnJlYWt9
Y1s0MjU0MF09ajtlPTA7YnJlYWt9bz0wO2s9XygyOSxqfDApfDA7ZT1vO289MDtpZigoZXwwKSE9
MCYocHwwKSE9MCl7Zz1TTihjW2U+PjJdfDAsR3wwLEZ8MCl8MDtpZighZylVYShlfDAscHwwKTt6
PXB9ZWxzZSBnPS0xO2lmKChnfDApPT0xKXtlPXo7Y29udGludWUgYX1vPTA7Z2EoMzAsMSxrfDAp
O2U9bztvPTA7aWYoKGV8MCkhPTAmKHB8MCkhPTApe2c9U04oY1tlPj4yXXwwLEd8MCxGfDApfDA7
aWYoIWcpVWEoZXwwLHB8MCk7ej1wfWVsc2UgZz0tMTtpZigoZ3wwKT09MSl7ZT16O2NvbnRpbnVl
IGF9bz0wO2dhKDI5LDIsanwwKTtlPW87bz0wO2lmKChlfDApIT0wJihwfDApIT0wKXtnPVNOKGNb
ZT4+Ml18MCxHfDAsRnwwKXwwO2lmKCFnKVVhKGV8MCxwfDApO3o9cH1lbHNlIGc9LTE7aWYoKGd8
MCk9PTEpe2U9ejtjb250aW51ZSBhfWlmKChrfDApPj0oY1s0MjU0MF18MCkpe2U9MDticmVha31j
WzQyNTQwXT1rO2U9MH13aGlsZSgwKTt3aGlsZSgxKXtpZigoZXwwKT49Myl7cT0tMTtjb250aW51
ZSBlfWc9Y1tyKyhxKjUyfDApKzQrKGU8PDQpKzEyPj4yXXwwO2lmKGd8MD8oY1tnPj4yXXwwKT09
MTowKWJyZWFrO2U9ZSsxfDB9cT0oZy0oY1s0MjU0NF18MCl8MCkvNTJ8MH13aGlsZSgxKXtpZigh
ZylicmVhaztnPWNbZys0Pj4yXXwwO2U9ZSsxfDB9bz0wO2ZhKDk2LGV8MCk7Zz1vO289MDtpZigo
Z3wwKSE9MCYocHwwKSE9MCl7aj1TTihjW2c+PjJdfDAsR3wwLEZ8MCl8MDtpZighailVYShnfDAs
cHwwKTt6PXB9ZWxzZSBqPS0xO2lmKChqfDApPT0xKWU9ejtlbHNle3Y9OTQ7YnJlYWt9fWlmKCh2
fDApPT00MSllPS0xO2Vsc2UgaWYoKHZ8MCk9PTQ4KWU9LTE7ZWxzZSBpZigodnwwKT09NTMpe2Nb
ZCs0Pj4yXT0yO2U9Y1s0MjU0M118MDtjW2U+PjJdPWNbYj4+Ml07Y1tlKzQ+PjJdPWNbYis0Pj4y
XTtjW2UrOD4+Ml09Y1tiKzg+PjJdO2NbZSsxMj4+Ml09Y1tiKzEyPj4yXTtGPWUrMTZ8MDtjW0Y+
PjJdPWNbdT4+Ml07Y1tGKzQ+PjJdPWNbdSs0Pj4yXTtjW0YrOD4+Ml09Y1t1Kzg+PjJdO2NbRisx
Mj4+Ml09Y1t1KzEyPj4yXTtjW2Q+PjJdPWU7ZT0wfWVsc2UgaWYoKHZ8MCk9PTU2KXtjW2QrND4+
Ml09MjtlPWNbNDI1NDNdfDA7Y1tlPj4yXT1jW2I+PjJdO2NbZSs0Pj4yXT1jW2IrND4+Ml07Y1tl
Kzg+PjJdPWNbYis4Pj4yXTtjW2UrMTI+PjJdPWNbYisxMj4+Ml07Rj1lKzE2fDA7Y1tGPj4yXT1j
W3U+PjJdO2NbRis0Pj4yXT1jW3UrND4+Ml07Y1tGKzg+PjJdPWNbdSs4Pj4yXTtjW0YrMTI+PjJd
PWNbdSsxMj4+Ml07Y1tkPj4yXT1lO2U9MH1lbHNlIGlmKCh2fDApPT05NCl7Y1tkKzQ+PjJdPWU7
Zz1jWzQyNTQzXXwwO3doaWxlKDEpe2U9ZSstMXwwO2lmKCFmKWJyZWFrO0Y9ZysoZTw8NCl8MDtF
PWNbZj4+Ml18MDtjW0Y+PjJdPWNbRT4+Ml07Y1tGKzQ+PjJdPWNbRSs0Pj4yXTtjW0YrOD4+Ml09
Y1tFKzg+PjJdO2NbRisxMj4+Ml09Y1tFKzEyPj4yXTtmPWNbZis0Pj4yXXwwfWNbZD4+Ml09Zztl
PTB9X0koR3wwKTtsPUg7cmV0dXJuIGV8MH1mdW5jdGlvbiBFSShhKXthPWF8MDt2YXIgYj0wLGQ9
MCxlPTAsZj0wLGc9MCxoPTA7aD1sO2w9bCs2NHwwO2U9aCs0OHwwO2c9aCszMnwwO2Y9aCsxNnww
O2Q9aDtpZigoY1s0MjU0N118MCk8KGF8MCkpe2I9Y1s0MjU0MV18MDtpZighYil7Zz1aSShhPDwz
KXwwO2NbNDI1NDFdPWc7aWYoIWcpe2c9Y1sxMzkxOF18MDtjW2Q+PjJdPTEyNTUwMztjW2QrND4+
Ml09NTIzO2NbZCs4Pj4yXT0xMjU3NTM7ekwoZywxMjU0ODQsZCl8MDtVYSgxNjk5ODAsMSl9Zz1a
SShhPDwyKXwwO2NbNDI1NDJdPWc7aWYoIWcpe2c9Y1sxMzkxOF18MDtjW2Y+PjJdPTEyNTUwMztj
W2YrND4+Ml09NTI3O2NbZis4Pj4yXT0xMjU3NzI7ekwoZywxMjU0ODQsZil8MDtVYSgxNjk5ODAs
MSl9fWVsc2V7Zj1hSihiLGE8PDMpfDA7Y1s0MjU0MV09ZjtpZighZil7Zj1jWzEzOTE4XXwwO2Nb
Zz4+Ml09MTI1NTAzO2NbZys0Pj4yXT01MzM7Y1tnKzg+PjJdPTEyNTc5Mjt6TChmLDEyNTQ4NCxn
KXwwO1VhKDE2OTk4MCwxKX1nPWFKKGNbNDI1NDJdfDAsYTw8Mil8MDtjWzQyNTQyXT1nO2lmKCFn
KXtnPWNbMTM5MThdfDA7Y1tlPj4yXT0xMjU1MDM7Y1tlKzQ+PjJdPTUzOTtjW2UrOD4+Ml09MTI1
ODEyO3pMKGcsMTI1NDg0LGUpfDA7VWEoMTY5OTgwLDEpfX1jWzQyNTQ3XT1hfWw9aDtyZXR1cm59
ZnVuY3Rpb24gRkkoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MDtmPWw7bD1sKzMyfDA7ZT1m
KzE2fDA7ZD1mO2lmKChjWzQyNTM3XXwwKTwoYXwwKSl7Yj1jWzQyNTM2XXwwO2lmKCFiKXtlPVpJ
KGE8PDIpfDA7Y1s0MjUzNl09ZTtpZighZSl7ZT1jWzEzOTE4XXwwO2NbZD4+Ml09MTI1NTAzO2Nb
ZCs0Pj4yXT01NzM7Y1tkKzg+PjJdPTEyNTcwODt6TChlLDEyNTQ4NCxkKXwwO1VhKDE2OTk4MCwx
KX19ZWxzZXtkPWFKKGIsYTw8Mil8MDtjWzQyNTM2XT1kO2lmKCFkKXtkPWNbMTM5MThdfDA7Y1tl
Pj4yXT0xMjU1MDM7Y1tlKzQ+PjJdPTU4MDtjW2UrOD4+Ml09MTI1NzMwO3pMKGQsMTI1NDg0LGUp
fDA7VWEoMTY5OTgwLDEpfX1jWzQyNTM3XT1hfWw9ZjtyZXR1cm59ZnVuY3Rpb24gR0koYSxiLGMp
e2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMCxlPTAuMDtkPStoW2IrOD4+M107ZT0raFtiPj4z
XTtkPSgraFtjPj4zXS1lKSooK2hbYSs4Pj4zXS1kKS0oK2hbYT4+M10tZSkqKCtoW2MrOD4+M10t
ZCk7cmV0dXJuIChkPjAuMD8xOmQ8MC4wPzI6Myl8MH1mdW5jdGlvbiBISShhLGIpe2E9YXwwO2I9
YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MDtpPWw7bD1sKzE2fDA7aD1pO2E6d2hpbGUo
MSl7aWYoKGJ8MCk+MyllPTA7ZWxzZXtiPTk7YnJlYWt9d2hpbGUoMSl7aWYoKGV8MCk+PShifDAp
KXtiPTg7YnJlYWsgYX1mPWUrMXwwO2Q9KGZ8MCklKGJ8MCl8MDtnPShlKzJ8MCklKGJ8MCl8MDtp
ZighKFBJKGUsZyxhLGIpfDApKWU9ZjtlbHNlIGJyZWFrfVFJKGNbYSsoZTw8Mik+PjJdfDAsY1th
KyhkPDwyKT4+Ml18MCxjW2ErKGc8PDIpPj4yXXwwKTtiPWIrLTF8MDt3aGlsZSgxKXtpZigoZHww
KT49KGJ8MCkpY29udGludWUgYTtnPWQrMXwwO2NbYSsoZDw8Mik+PjJdPWNbYSsoZzw8Mik+PjJd
O2Q9Z319aWYoKGJ8MCk9PTgpe2E9Y1sxMzkxOF18MDtjW2g+PjJdPTEyNTUwMztjW2grND4+Ml09
MzI0O2NbaCs4Pj4yXT0xMjU2NDg7ekwoYSwxMjU0ODQsaCl8MH1lbHNlIGlmKChifDApPT05KVFJ
KGNbYT4+Ml18MCxjW2ErND4+Ml18MCxjW2ErOD4+Ml18MCk7bD1pO3JldHVybn1mdW5jdGlvbiBJ
SShhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9
MCxtPTAsbj0wLG89MDtpPWNbNDI1NDRdfDA7aj1pKyhhKjUyfDApfDA7az1pKyhiKjUyfDApfDA7
Zz0wO3doaWxlKDEpe2lmKChnfDApPT0zKWJyZWFrO2w9aSsoYSo1MnwwKSs0KyhnPDw0KXwwO209
aSsoYSo1MnwwKSs0KyhnPDw0KSs0fDA7bj1pKyhhKjUyfDApKzQrKGc8PDQpKzEyfDA7Zj0wO3do
aWxlKDEpe2lmKChmfDApPT0zKWJyZWFrO289Y1tjW2w+PjJdPj4yXXwwO2g9Y1tjW2krKGIqNTJ8
MCkrNCsoZjw8NCk+PjJdPj4yXXwwO2lmKChvfDApPT0oaHwwKSl7ZD1jW2NbaSsoYio1MnwwKSs0
KyhmPDw0KSs0Pj4yXT4+Ml18MDtpZigoY1tjW20+PjJdPj4yXXwwKT09KGR8MCkpZT0xMDtlbHNl
IGU9OH1lbHNle2Q9Y1tjW2krKGIqNTJ8MCkrNCsoZjw8NCkrND4+Ml0+PjJdfDA7ZT04fWlmKCgo
ZXwwKT09OD8oZT0wLChvfDApPT0oZHwwKSk6MCk/KGNbY1ttPj4yXT4+Ml18MCk9PShofDApOjAp
ZT0xMDtpZigoZXwwKT09MTApe2Nbbj4+Ml09aztjW2krKGIqNTJ8MCkrNCsoZjw8NCkrMTI+PjJd
PWp9Zj1mKzF8MH1nPWcrMXwwfXJldHVybn1mdW5jdGlvbiBKSShhLGIpe2E9YXwwO2I9YnwwO3Zh
ciBkPTAsZT0wLGY9MDtmPWNbNDI1NDRdfDA7ZD0wO2U9MDt3aGlsZSgxKXtpZigoZXwwKT09Myli
cmVhaztkPWQrKChHSShjW2NbZisoYSo1MnwwKSs0KyhlPDw0KT4+Ml0+PjJdfDAsY1tjW2YrKGEq
NTJ8MCkrNCsoZTw8NCkrND4+Ml0+PjJdfDAsYil8MCkhPTImMSl8MDtlPWUrMXwwfXJldHVybiAo
KGR8MCk9PTN8KGR8MCk9PTApJjF8MH1mdW5jdGlvbiBLSShhLGIpe2E9YXwwO2I9YnwwO3ZhciBk
PTAsZT0wLGY9MDtkPWNbNDI1NDRdfDA7ZT1kKyhhKjUyfDApfDA7YTpkbyBpZighKGNbZT4+Ml18
MCkpe2NbZT4+Ml09MTtpZigoYXwwKT09KGJ8MCkpZD0xO2Vsc2V7Zj0wO3doaWxlKDEpe2lmKChm
fDApPj0zKWJyZWFrO2U9Y1tkKyhhKjUyfDApKzQrKGY8PDQpKzEyPj4yXXwwO2lmKGUpe2lmKEtJ
KChlLWR8MCkvNTJ8MCxiKXwwKXtkPTE7YnJlYWsgYX1kPWNbNDI1NDRdfDB9Zj1mKzF8MH1jW2Qr
KGEqNTJ8MCk+PjJdPTA7ZD0wfX1lbHNlIGQ9MDt3aGlsZSgwKTtyZXR1cm4gZHwwfWZ1bmN0aW9u
IExJKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTA7Zj1sO2w9bCszMnwwO2U9ZisxNnwwO2Q9
ZjtpZigoY1s0MjU0NV18MCk8KGF8MCkpe2I9Y1s0MjU0M118MDtpZighYil7ZT1aSShhPDw0KXww
O2NbNDI1NDNdPWU7aWYoIWUpe2U9Y1sxMzkxOF18MDtjW2Q+PjJdPTEyNTUwMztjW2QrND4+Ml09
NTkzO2NbZCs4Pj4yXT0xMjU2MTE7ekwoZSwxMjU0ODQsZCl8MDtVYSgxNjk5ODAsMSl9fWVsc2V7
ZD1hSihiLGE8PDQpfDA7Y1s0MjU0M109ZDtpZighZCl7ZD1jWzEzOTE4XXwwO2NbZT4+Ml09MTI1
NTAzO2NbZSs0Pj4yXT01OTk7Y1tlKzg+PjJdPTEyNTYyOTt6TChkLDEyNTQ4NCxlKXwwO1VhKDE2
OTk4MCwxKX19Y1s0MjU0NV09YX1sPWY7cmV0dXJufWZ1bmN0aW9uIE1JKGEsYil7YT1hfDA7Yj1i
fDA7dmFyIGQ9MCxlPTAsZj0wO2Q9Y1s0MjUzOV18MDtlPWNbNDI1MzhdfDA7Zj0oZHwwKT49KGV8
MCk7aWYoKGF8MCk9PTEpaWYoZil7Y1tiKzQ+PjJdPWNbKGNbNDI1MzZdfDApKyhlPDwyKT4+Ml07
YT0xNzAxNTI7ZD0tMX1lbHNle2E9MTcwMTUyO2Q9LTF9ZWxzZSBpZihmKXtjW2IrND4+Ml09Y1so
Y1s0MjUzNl18MCkrKGQ8PDIpPj4yXTthPTE3MDE1NjtkPTF9ZWxzZXthPTE3MDE1NjtkPTF9Zj0o
Y1thPj4yXXwwKStkfDA7Y1thPj4yXT1mO2NbKGNbNDI1MzZdfDApKyhmPDwyKT4+Ml09YjtyZXR1
cm59ZnVuY3Rpb24gTkkoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MCxnPTA7Zj1jWzQyNTQw
XXwwO2c9Y1s0MjUzNl18MDtiPWNbNDI1MzhdfDA7d2hpbGUoMSl7aWYoKGJ8MCk+PShmfDApKXtl
PTQ7YnJlYWt9ZD1iKzF8MDtpZigoR0koY1tjW2crKGQ8PDIpPj4yXT4+Ml18MCxjW2NbZysoYjw8
Mik+PjJdPj4yXXwwLGNbYT4+Ml18MCl8MCk9PTEpYnJlYWs7ZWxzZSBiPWR9YTpkbyBpZigoZXww
KT09NCl7Yj1jWzQyNTM5XXwwO3doaWxlKDEpe2lmKChifDApPD0oZnwwKSl7Yj1mO2JyZWFrIGF9
ZD1iKy0xfDA7aWYoKEdJKGNbY1tnKyhkPDwyKT4+Ml0+PjJdfDAsY1tjW2crKGI8PDIpPj4yXT4+
Ml18MCxjW2E+PjJdfDApfDApPT0yKWJyZWFrO2Vsc2UgYj1kfX13aGlsZSgwKTtyZXR1cm4gYnww
fWZ1bmN0aW9uIE9JKGEsYil7YT1hfDA7Yj1ifDA7Y1soKGF8MCk9PTE/MTcwMTU2OjE3MDE1Mik+
PjJdPWI7cmV0dXJufWZ1bmN0aW9uIFBJKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXww
O3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtmPWNbY1tkKygoKGErLTErZXwwKSUoZXwwKXww
KTw8Mik+PjJdPj4yXXwwO2k9Y1tjW2QrKGE8PDIpPj4yXT4+Ml18MDtnPWNbY1tkKygoKGErMXww
KSUoZXwwKXwwKTw8Mik+PjJdPj4yXXwwO2s9KEdJKGYsaSxnKXwwKT09MTtqPWNbY1tkKyhiPDwy
KT4+Ml0+PjJdfDA7aWYoaylpZigoR0koaSxqLGYpfDApPT0xKXtmPUdJKGosaSxnKXwwO2c9MTto
PTV9ZWxzZSBmPTA7ZWxzZXtmPUdJKGksaixnKXwwO2c9MjtoPTV9YTpkbyBpZigoaHwwKT09NSlp
ZigoZnwwKT09KGd8MCkpe2Y9MDt3aGlsZSgxKXtpZigoZnwwKT49KGV8MCkpe2Y9MTticmVhayBh
fWc9ZjtmPWYrMXwwO2g9KGZ8MCklKGV8MCl8MDtpZigoaHwwKT09KGJ8MCl8KChnfDApPT0oYnww
KXwoKGd8MCk9PShhfDApfChofDApPT0oYXwwKSkpKWNvbnRpbnVlO2lmKFNJKGksaixjW2NbZCso
Zzw8Mik+PjJdPj4yXXwwLGNbY1tkKyhoPDwyKT4+Ml0+PjJdfDApfDApe2Y9MDticmVha319fWVs
c2UgZj0wO3doaWxlKDApO3JldHVybiBmfDB9ZnVuY3Rpb24gUUkoYSxiLGQpe2E9YXwwO2I9Ynww
O2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTA7ZT1jWzQyNTM1XXwwO2Y9Y1s0MjU0Nl18MDtpZigo
ZXwwKTwoZnwwKSloPWU7ZWxzZXtSSShmKzIwfDApO2g9Y1s0MjUzNV18MH1nPWNbNDI1NDRdfDA7
Y1s0MjUzNV09aCsxO2Y9ZysoaCo1MnwwKXwwO2NbZj4+Ml09MDtjW2crKGgqNTJ8MCkrND4+Ml09
YTtjW2crKGgqNTJ8MCkrOD4+Ml09YjtjW2crKGgqNTJ8MCkrMTY+PjJdPTA7Y1tnKyhoKjUyfDAp
KzIwPj4yXT1iO2NbZysoaCo1MnwwKSsyND4+Ml09ZDtjW2crKGgqNTJ8MCkrMzI+PjJdPTA7Y1tn
KyhoKjUyfDApKzM2Pj4yXT1kO2NbZysoaCo1MnwwKSs0MD4+Ml09YTtjW2crKGgqNTJ8MCkrNDg+
PjJdPTA7ZT0wO3doaWxlKDEpe2lmKChlfDApPT0zKWJyZWFrO2NbZysoaCo1MnwwKSs0KyhlPDw0
KSs4Pj4yXT1mO2U9ZSsxfDB9cmV0dXJufWZ1bmN0aW9uIFJJKGEpe2E9YXwwO3ZhciBiPTAsZD0w
LGU9MCxmPTA7Zj1sO2w9bCszMnwwO2U9ZisxNnwwO2Q9ZjtpZigoY1s0MjU0Nl18MCk8KGF8MCkp
e2I9Y1s0MjU0NF18MDtpZighYil7ZT1aSShhKjUyfDApfDA7Y1s0MjU0NF09ZTtpZighZSl7ZT1j
WzEzOTE4XXwwO2NbZD4+Ml09MTI1NTAzO2NbZCs0Pj4yXT01NTI7Y1tkKzg+PjJdPTEyNTY2OTt6
TChlLDEyNTQ4NCxkKXwwO1VhKDE2OTk4MCwxKX19ZWxzZXtkPWFKKGIsYSo1MnwwKXwwO2NbNDI1
NDRdPWQ7aWYoIWQpe2Q9Y1sxMzkxOF18MDtjW2U+PjJdPTEyNTUwMztjW2UrND4+Ml09NTU4O2Nb
ZSs4Pj4yXT0xMjU2ODg7ekwoZCwxMjU0ODQsZSl8MDtVYSgxNjk5ODAsMSl9fWNbNDI1NDZdPWF9
bD1mO3JldHVybn1mdW5jdGlvbiBTSShhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2
YXIgZT0wLGY9MCxnPTAsaD0wO2Y9R0koYSxiLGMpfDA7aWYoKCgoZnwwKSE9Mz8oZz1HSShhLGIs
ZCl8MCwoZ3wwKSE9Myk6MCk/KGg9R0koYyxkLGEpfDAsKGh8MCkhPTMpOjApPyhlPUdJKGMsZCxi
KXwwLChlfDApIT0zKTowKXJldHVybiAoKGZ8MCk9PTFeKGd8MCk9PTEpJigoaHwwKT09MV4oZXww
KT09MSkmMXwwO2lmKCgoVEkoYSxiLGMpfDApPT0wPyhUSShhLGIsZCl8MCk9PTA6MCk/KFRJKGMs
ZCxhKXwwKT09MDowKXJldHVybiAoVEkoYyxkLGIpfDApIT0wfDA7cmV0dXJuIDF9ZnVuY3Rpb24g
VEkoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO3ZhciBkPTAuMCxlPTAuMCxmPTAuMCxnPTAuMDtl
PStoW2E+PjNdO2c9K2hbYj4+M10tZTtmPStoW2ErOD4+M107ZD0raFtiKzg+PjNdLWY7ZT0raFtj
Pj4zXS1lO2Y9K2hbYys4Pj4zXS1mO2lmKChHSShhLGIsYyl8MCk9PTM/ZipkK2UqZz49MC4wOjAp
YT1mKmYrZSplPD1kKmQrZypnJjE7ZWxzZSBhPTA7cmV0dXJuIGF8MH1mdW5jdGlvbiBVSShhLGIp
e2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLjAsZT0wLjAsZj0wLjAsZz0wLjAsaT0wLjAsaj0wO2Q9
K2hbYSsyND4+M107YTpkbyBpZihkPDEuMGUtMDcmZD4tMS4wZS0wNylhPVZJKGEsYil8MDtlbHNl
e2c9K2hbYSsxNj4+M10vKGQqMy4wKTtmPStoW2ErOD4+M10vZDtlPWcqZztkPWcqMi4wKmUtZypm
KyAraFthPj4zXS9kO2U9ZiouMzMzMzMzMzMzMzMzMzMzMy1lO2U9ZSplKjQuMCplO2Y9ZCpkK2U7
aWYoIShmPDAuMCkpe2k9KCtDKCtmKS1kKSouNTtlPStKSihpKTtkPStKSigtZC1pKStlO2hbYj4+
M109ZDtpZihmPjAuMClhPTE7ZWxzZXtkPWQqLS41O2hbYisxNj4+M109ZDthPTE7Yz03fX1lbHNl
e2k9K0soKygrQygrLWYpKSwrLWQpO2Q9K0pKKCtDKCstZSkqLjUpKjIuMDtoW2I+PjNdPWQqK0Uo
KyhpKi4zMzMzMzMzMzMzMzMzMzMzKSk7aFtiKzg+PjNdPStFKCsoKGkrNi4yODMxODUzMDcxNzk1
ODYpKi4zMzMzMzMzMzMzMzMzMzMzKSkqZDtkPStFKCsoKGkrLTYuMjgzMTg1MzA3MTc5NTg2KSou
MzMzMzMzMzMzMzMzMzMzMykpKmQ7YT0yO2M9N31pZigoY3wwKT09Nyl7aFtiKyhhPDwzKT4+M109
ZDthPTN9Yz0wO3doaWxlKDEpe2lmKChjfDApPj0oYXwwKSlicmVhayBhO2o9YisoYzw8Myl8MDto
W2o+PjNdPStoW2o+PjNdLWc7Yz1jKzF8MH19d2hpbGUoMCk7cmV0dXJuIGF8MH1mdW5jdGlvbiBW
SShhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAuMCxkPTAuMDtjPStoW2ErMTY+PjNdO2RvIGlmKCEo
YzwxLjBlLTA3JmM+LTEuMGUtMDcpKXtkPStoW2ErOD4+M10vKGMqMi4wKTtjPWQqZC0raFthPj4z
XS9jO2lmKCEoYzwwLjApKWlmKGM9PTAuMCl7aFtiPj4zXT0tZDthPTE7YnJlYWt9ZWxzZXtjPStD
KCtjKS1kO2hbYj4+M109YztoW2IrOD4+M109ZCotMi4wLWM7YT0yO2JyZWFrfWVsc2UgYT0wfWVs
c2UgYT1XSShhLGIpfDA7d2hpbGUoMCk7cmV0dXJuIGF8MH1mdW5jdGlvbiBXSShhLGIpe2E9YXww
O2I9YnwwO3ZhciBjPTAuMCxkPTAuMDtkPStoW2ErOD4+M107Yz0raFthPj4zXTtpZihkPDEuMGUt
MDcmZD4tMS4wZS0wNylhPWM8MS4wZS0wNyZjPi0xLjBlLTA3PzQ6MDtlbHNle2hbYj4+M109LWMv
ZDthPTF9cmV0dXJuIGF8MH1mdW5jdGlvbiBYSShhKXthPWF8MDtfSShjW2E+PjJdfDApO19JKGEp
O3JldHVybn1mdW5jdGlvbiBZSShhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAs
aD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7ZT1jW2ErND4+Ml18MDtpPShlKjN8MCkrLTJ8MDtkPWNb
NDI1NDldfDA7aWYoKGl8MCk+KGNbNDI1NDhdfDApKXtpZighZClkPVpJKGk8PDQpfDA7ZWxzZSBk
PWFKKGQsaTw8NCl8MDtjWzQyNTQ5XT1kO2NbNDI1NDhdPWk7aD1kO2c9ZH1lbHNle2g9ZDtnPWR9
Zj1jW2E+PjJdfDA7Y1toPj4yXT1jW2Y+PjJdO2NbaCs0Pj4yXT1jW2YrND4+Ml07Y1toKzg+PjJd
PWNbZis4Pj4yXTtjW2grMTI+PjJdPWNbZisxMj4+Ml07VU4oaCsxNnwwLGZ8MCwxNil8MDtlPWUr
LTF8MDtkPTE7YT0yO3doaWxlKDEpe2lmKChkfDApPj0oZXwwKSlicmVhaztqPWgrKGErMjw8NCl8
MDtrPWgrKGErMTw8NCl8MDttPWgrKGE8PDQpfDA7bD1mKyhkPDw0KXwwO2NbbT4+Ml09Y1tsPj4y
XTtjW20rND4+Ml09Y1tsKzQ+PjJdO2NbbSs4Pj4yXT1jW2wrOD4+Ml07Y1ttKzEyPj4yXT1jW2wr
MTI+PjJdO1VOKGt8MCxsfDAsMTYpfDA7Y1tqPj4yXT1jW2s+PjJdO2Nbais0Pj4yXT1jW2srND4+
Ml07Y1tqKzg+PjJdPWNbays4Pj4yXTtjW2orMTI+PjJdPWNbaysxMj4+Ml07ZD1kKzF8MDthPWEr
M3wwfWw9aCsoYTw8NCl8MDttPWYrKGQ8PDQpfDA7Y1tsPj4yXT1jW20+PjJdO2NbbCs0Pj4yXT1j
W20rND4+Ml07Y1tsKzg+PjJdPWNbbSs4Pj4yXTtjW2wrMTI+PjJdPWNbbSsxMj4+Ml07VU4oaCso
YSsxPDw0KXwwLG18MCwxNil8MDtjW2IrND4+Ml09aTtjW2I+PjJdPWc7cmV0dXJufWZ1bmN0aW9u
IFpJKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTAs
bj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MDt4PWw7bD1sKzE2fDA7
cD14O2RvIGlmKGE+Pj4wPDI0NSl7bT1hPj4+MDwxMT8xNjphKzExJi04O2E9bT4+PjM7bz1jWzQy
NTUwXXwwO2Q9bz4+PmE7aWYoZCYzfDApe2I9KGQmMV4xKSthfDA7YT0xNzAyNDArKGI8PDE8PDIp
fDA7ZD1hKzh8MDtlPWNbZD4+Ml18MDtmPWUrOHwwO2c9Y1tmPj4yXXwwO2lmKChnfDApPT0oYXww
KSljWzQyNTUwXT1vJn4oMTw8Yik7ZWxzZXtjW2crMTI+PjJdPWE7Y1tkPj4yXT1nfXc9Yjw8Mztj
W2UrND4+Ml09d3wzO3c9ZSt3KzR8MDtjW3c+PjJdPWNbdz4+Ml18MTt3PWY7bD14O3JldHVybiB3
fDB9bj1jWzQyNTUyXXwwO2lmKG0+Pj4wPm4+Pj4wKXtpZihkfDApe2I9Mjw8YTtiPWQ8PGEmKGJ8
MC1iKTtiPShiJjAtYikrLTF8MDtpPWI+Pj4xMiYxNjtiPWI+Pj5pO2Q9Yj4+PjUmODtiPWI+Pj5k
O2c9Yj4+PjImNDtiPWI+Pj5nO2E9Yj4+PjEmMjtiPWI+Pj5hO2U9Yj4+PjEmMTtlPShkfGl8Z3xh
fGUpKyhiPj4+ZSl8MDtiPTE3MDI0MCsoZTw8MTw8Mil8MDthPWIrOHwwO2c9Y1thPj4yXXwwO2k9
Zys4fDA7ZD1jW2k+PjJdfDA7aWYoKGR8MCk9PShifDApKXthPW8mfigxPDxlKTtjWzQyNTUwXT1h
fWVsc2V7Y1tkKzEyPj4yXT1iO2NbYT4+Ml09ZDthPW99dz1lPDwzO2g9dy1tfDA7Y1tnKzQ+PjJd
PW18MztmPWcrbXwwO2NbZis0Pj4yXT1ofDE7Y1tnK3c+PjJdPWg7aWYobnwwKXtlPWNbNDI1NTVd
fDA7Yj1uPj4+MztkPTE3MDI0MCsoYjw8MTw8Mil8MDtiPTE8PGI7aWYoIShhJmIpKXtjWzQyNTUw
XT1hfGI7Yj1kO2E9ZCs4fDB9ZWxzZXthPWQrOHwwO2I9Y1thPj4yXXwwfWNbYT4+Ml09ZTtjW2Ir
MTI+PjJdPWU7Y1tlKzg+PjJdPWI7Y1tlKzEyPj4yXT1kfWNbNDI1NTJdPWg7Y1s0MjU1NV09Zjt3
PWk7bD14O3JldHVybiB3fDB9aj1jWzQyNTUxXXwwO2lmKGope2Q9KGomMC1qKSstMXwwO2k9ZD4+
PjEyJjE2O2Q9ZD4+Pmk7aD1kPj4+NSY4O2Q9ZD4+Pmg7az1kPj4+MiY0O2Q9ZD4+Pms7ZT1kPj4+
MSYyO2Q9ZD4+PmU7YT1kPj4+MSYxO2E9Y1sxNzA1MDQrKChofGl8a3xlfGEpKyhkPj4+YSk8PDIp
Pj4yXXwwO2Q9KGNbYSs0Pj4yXSYtOCktbXwwO2U9Y1thKzE2KygoKGNbYSsxNj4+Ml18MCk9PTAm
MSk8PDIpPj4yXXwwO2lmKCFlKXtrPWE7aD1kfWVsc2V7ZG97aT0oY1tlKzQ+PjJdJi04KS1tfDA7
az1pPj4+MDxkPj4+MDtkPWs/aTpkO2E9az9lOmE7ZT1jW2UrMTYrKCgoY1tlKzE2Pj4yXXwwKT09
MCYxKTw8Mik+PjJdfDB9d2hpbGUoKGV8MCkhPTApO2s9YTtoPWR9aT1rK218MDtpZihpPj4+MD5r
Pj4+MCl7Zj1jW2srMjQ+PjJdfDA7Yj1jW2srMTI+PjJdfDA7ZG8gaWYoKGJ8MCk9PShrfDApKXth
PWsrMjB8MDtiPWNbYT4+Ml18MDtpZighYil7YT1rKzE2fDA7Yj1jW2E+PjJdfDA7aWYoIWIpe2Q9
MDticmVha319d2hpbGUoMSl7ZD1iKzIwfDA7ZT1jW2Q+PjJdfDA7aWYoZXwwKXtiPWU7YT1kO2Nv
bnRpbnVlfWQ9YisxNnwwO2U9Y1tkPj4yXXwwO2lmKCFlKWJyZWFrO2Vsc2V7Yj1lO2E9ZH19Y1th
Pj4yXT0wO2Q9Yn1lbHNle2Q9Y1trKzg+PjJdfDA7Y1tkKzEyPj4yXT1iO2NbYis4Pj4yXT1kO2Q9
Yn13aGlsZSgwKTtkbyBpZihmfDApe2I9Y1trKzI4Pj4yXXwwO2E9MTcwNTA0KyhiPDwyKXwwO2lm
KChrfDApPT0oY1thPj4yXXwwKSl7Y1thPj4yXT1kO2lmKCFkKXtjWzQyNTUxXT1qJn4oMTw8Yik7
YnJlYWt9fWVsc2V7Y1tmKzE2KygoKGNbZisxNj4+Ml18MCkhPShrfDApJjEpPDwyKT4+Ml09ZDtp
ZighZClicmVha31jW2QrMjQ+PjJdPWY7Yj1jW2srMTY+PjJdfDA7aWYoYnwwKXtjW2QrMTY+PjJd
PWI7Y1tiKzI0Pj4yXT1kfWI9Y1trKzIwPj4yXXwwO2lmKGJ8MCl7Y1tkKzIwPj4yXT1iO2NbYisy
ND4+Ml09ZH19d2hpbGUoMCk7aWYoaD4+PjA8MTYpe3c9aCttfDA7Y1trKzQ+PjJdPXd8Mzt3PWsr
dys0fDA7Y1t3Pj4yXT1jW3c+PjJdfDF9ZWxzZXtjW2srND4+Ml09bXwzO2NbaSs0Pj4yXT1ofDE7
Y1tpK2g+PjJdPWg7aWYobnwwKXtlPWNbNDI1NTVdfDA7Yj1uPj4+MztkPTE3MDI0MCsoYjw8MTw8
Mil8MDtiPTE8PGI7aWYoIShvJmIpKXtjWzQyNTUwXT1vfGI7Yj1kO2E9ZCs4fDB9ZWxzZXthPWQr
OHwwO2I9Y1thPj4yXXwwfWNbYT4+Ml09ZTtjW2IrMTI+PjJdPWU7Y1tlKzg+PjJdPWI7Y1tlKzEy
Pj4yXT1kfWNbNDI1NTJdPWg7Y1s0MjU1NV09aX13PWsrOHwwO2w9eDtyZXR1cm4gd3wwfWVsc2Ug
bj1tfWVsc2Ugbj1tfWVsc2Ugbj1tfWVsc2UgaWYoYT4+PjA8PTQyOTQ5NjcyMzEpe2E9YSsxMXww
O209YSYtODtrPWNbNDI1NTFdfDA7aWYoayl7ZT0wLW18MDthPWE+Pj44O2lmKGEpaWYobT4+PjA+
MTY3NzcyMTUpaj0zMTtlbHNle289KGErMTA0ODMyMHwwKT4+PjE2Jjg7dj1hPDxvO249KHYrNTIw
MTkyfDApPj4+MTYmNDt2PXY8PG47aj0odisyNDU3NjB8MCk+Pj4xNiYyO2o9MTQtKG58b3xqKSso
djw8aj4+PjE1KXwwO2o9bT4+PihqKzd8MCkmMXxqPDwxfWVsc2Ugaj0wO2Q9Y1sxNzA1MDQrKGo8
PDIpPj4yXXwwO2E6ZG8gaWYoIWQpe2Q9MDthPTA7dj01N31lbHNle2E9MDtpPWQ7aD1tPDwoKGp8
MCk9PTMxPzA6MjUtKGo+Pj4xKXwwKTtkPTA7d2hpbGUoMSl7Zj0oY1tpKzQ+PjJdJi04KS1tfDA7
aWYoZj4+PjA8ZT4+PjApaWYoIWYpe2U9MDtkPWk7YT1pO3Y9NjE7YnJlYWsgYX1lbHNle2E9aTtl
PWZ9Zj1jW2krMjA+PjJdfDA7aT1jW2krMTYrKGg+Pj4zMTw8Mik+PjJdfDA7ZD0oZnwwKT09MHwo
ZnwwKT09KGl8MCk/ZDpmO2Y9KGl8MCk9PTA7aWYoZil7dj01NzticmVha31lbHNlIGg9aDw8KChm
XjEpJjEpfX13aGlsZSgwKTtpZigodnwwKT09NTcpe2lmKChkfDApPT0wJihhfDApPT0wKXthPTI8
PGo7YT1rJihhfDAtYSk7aWYoIWEpe249bTticmVha31vPShhJjAtYSkrLTF8MDtpPW8+Pj4xMiYx
NjtvPW8+Pj5pO2g9bz4+PjUmODtvPW8+Pj5oO2o9bz4+PjImNDtvPW8+Pj5qO249bz4+PjEmMjtv
PW8+Pj5uO2Q9bz4+PjEmMTthPTA7ZD1jWzE3MDUwNCsoKGh8aXxqfG58ZCkrKG8+Pj5kKTw8Mik+
PjJdfDB9aWYoIWQpe2k9YTtoPWV9ZWxzZSB2PTYxfWlmKCh2fDApPT02MSl3aGlsZSgxKXt2PTA7
bj0oY1tkKzQ+PjJdJi04KS1tfDA7bz1uPj4+MDxlPj4+MDtlPW8/bjplO2E9bz9kOmE7ZD1jW2Qr
MTYrKCgoY1tkKzE2Pj4yXXwwKT09MCYxKTw8Mik+PjJdfDA7aWYoIWQpe2k9YTtoPWU7YnJlYWt9
ZWxzZSB2PTYxfWlmKChpfDApIT0wP2g+Pj4wPCgoY1s0MjU1Ml18MCktbXwwKT4+PjA6MCl7Zz1p
K218MDtpZihnPj4+MDw9aT4+PjApe3c9MDtsPXg7cmV0dXJuIHd8MH1mPWNbaSsyND4+Ml18MDti
PWNbaSsxMj4+Ml18MDtkbyBpZigoYnwwKT09KGl8MCkpe2E9aSsyMHwwO2I9Y1thPj4yXXwwO2lm
KCFiKXthPWkrMTZ8MDtiPWNbYT4+Ml18MDtpZighYil7Yj0wO2JyZWFrfX13aGlsZSgxKXtkPWIr
MjB8MDtlPWNbZD4+Ml18MDtpZihlfDApe2I9ZTthPWQ7Y29udGludWV9ZD1iKzE2fDA7ZT1jW2Q+
PjJdfDA7aWYoIWUpYnJlYWs7ZWxzZXtiPWU7YT1kfX1jW2E+PjJdPTB9ZWxzZXt3PWNbaSs4Pj4y
XXwwO2NbdysxMj4+Ml09YjtjW2IrOD4+Ml09d313aGlsZSgwKTtkbyBpZihmKXthPWNbaSsyOD4+
Ml18MDtkPTE3MDUwNCsoYTw8Mil8MDtpZigoaXwwKT09KGNbZD4+Ml18MCkpe2NbZD4+Ml09Yjtp
ZighYil7ZT1rJn4oMTw8YSk7Y1s0MjU1MV09ZTticmVha319ZWxzZXtjW2YrMTYrKCgoY1tmKzE2
Pj4yXXwwKSE9KGl8MCkmMSk8PDIpPj4yXT1iO2lmKCFiKXtlPWs7YnJlYWt9fWNbYisyND4+Ml09
ZjthPWNbaSsxNj4+Ml18MDtpZihhfDApe2NbYisxNj4+Ml09YTtjW2ErMjQ+PjJdPWJ9YT1jW2kr
MjA+PjJdfDA7aWYoYSl7Y1tiKzIwPj4yXT1hO2NbYSsyND4+Ml09YjtlPWt9ZWxzZSBlPWt9ZWxz
ZSBlPWs7d2hpbGUoMCk7ZG8gaWYoaD4+PjA+PTE2KXtjW2krND4+Ml09bXwzO2NbZys0Pj4yXT1o
fDE7Y1tnK2g+PjJdPWg7Yj1oPj4+MztpZihoPj4+MDwyNTYpe2Q9MTcwMjQwKyhiPDwxPDwyKXww
O2E9Y1s0MjU1MF18MDtiPTE8PGI7aWYoIShhJmIpKXtjWzQyNTUwXT1hfGI7Yj1kO2E9ZCs4fDB9
ZWxzZXthPWQrOHwwO2I9Y1thPj4yXXwwfWNbYT4+Ml09ZztjW2IrMTI+PjJdPWc7Y1tnKzg+PjJd
PWI7Y1tnKzEyPj4yXT1kO2JyZWFrfWI9aD4+Pjg7aWYoYilpZihoPj4+MD4xNjc3NzIxNSliPTMx
O2Vsc2V7dj0oYisxMDQ4MzIwfDApPj4+MTYmODt3PWI8PHY7dT0odys1MjAxOTJ8MCk+Pj4xNiY0
O3c9dzw8dTtiPSh3KzI0NTc2MHwwKT4+PjE2JjI7Yj0xNC0odXx2fGIpKyh3PDxiPj4+MTUpfDA7
Yj1oPj4+KGIrN3wwKSYxfGI8PDF9ZWxzZSBiPTA7ZD0xNzA1MDQrKGI8PDIpfDA7Y1tnKzI4Pj4y
XT1iO2E9ZysxNnwwO2NbYSs0Pj4yXT0wO2NbYT4+Ml09MDthPTE8PGI7aWYoIShlJmEpKXtjWzQy
NTUxXT1lfGE7Y1tkPj4yXT1nO2NbZysyND4+Ml09ZDtjW2crMTI+PjJdPWc7Y1tnKzg+PjJdPWc7
YnJlYWt9YT1oPDwoKGJ8MCk9PTMxPzA6MjUtKGI+Pj4xKXwwKTtkPWNbZD4+Ml18MDt3aGlsZSgx
KXtpZigoY1tkKzQ+PjJdJi04fDApPT0oaHwwKSl7dj05NzticmVha31lPWQrMTYrKGE+Pj4zMTw8
Mil8MDtiPWNbZT4+Ml18MDtpZighYil7dj05NjticmVha31lbHNle2E9YTw8MTtkPWJ9fWlmKCh2
fDApPT05Nil7Y1tlPj4yXT1nO2NbZysyND4+Ml09ZDtjW2crMTI+PjJdPWc7Y1tnKzg+PjJdPWc7
YnJlYWt9ZWxzZSBpZigodnwwKT09OTcpe3Y9ZCs4fDA7dz1jW3Y+PjJdfDA7Y1t3KzEyPj4yXT1n
O2Nbdj4+Ml09ZztjW2crOD4+Ml09dztjW2crMTI+PjJdPWQ7Y1tnKzI0Pj4yXT0wO2JyZWFrfX1l
bHNle3c9aCttfDA7Y1tpKzQ+PjJdPXd8Mzt3PWkrdys0fDA7Y1t3Pj4yXT1jW3c+PjJdfDF9d2hp
bGUoMCk7dz1pKzh8MDtsPXg7cmV0dXJuIHd8MH1lbHNlIG49bX1lbHNlIG49bX1lbHNlIG49LTE7
d2hpbGUoMCk7ZD1jWzQyNTUyXXwwO2lmKGQ+Pj4wPj1uPj4+MCl7Yj1kLW58MDthPWNbNDI1NTVd
fDA7aWYoYj4+PjA+MTUpe3c9YStufDA7Y1s0MjU1NV09dztjWzQyNTUyXT1iO2Nbdys0Pj4yXT1i
fDE7Y1thK2Q+PjJdPWI7Y1thKzQ+PjJdPW58M31lbHNle2NbNDI1NTJdPTA7Y1s0MjU1NV09MDtj
W2ErND4+Ml09ZHwzO3c9YStkKzR8MDtjW3c+PjJdPWNbdz4+Ml18MX13PWErOHwwO2w9eDtyZXR1
cm4gd3wwfWk9Y1s0MjU1M118MDtpZihpPj4+MD5uPj4+MCl7dT1pLW58MDtjWzQyNTUzXT11O3c9
Y1s0MjU1Nl18MDt2PXcrbnwwO2NbNDI1NTZdPXY7Y1t2KzQ+PjJdPXV8MTtjW3crND4+Ml09bnwz
O3c9dys4fDA7bD14O3JldHVybiB3fDB9aWYoIShjWzQyNjY4XXwwKSl7Y1s0MjY3MF09NDA5Njtj
WzQyNjY5XT00MDk2O2NbNDI2NzFdPS0xO2NbNDI2NzJdPS0xO2NbNDI2NzNdPTA7Y1s0MjY2MV09
MDtjWzQyNjY4XT1wJi0xNl4xNDMxNjU1NzY4O2E9NDA5Nn1lbHNlIGE9Y1s0MjY3MF18MDtqPW4r
NDh8MDtrPW4rNDd8MDtoPWEra3wwO2Y9MC1hfDA7bT1oJmY7aWYobT4+PjA8PW4+Pj4wKXt3PTA7
bD14O3JldHVybiB3fDB9YT1jWzQyNjYwXXwwO2lmKGF8MD8obz1jWzQyNjU4XXwwLHA9byttfDAs
cD4+PjA8PW8+Pj4wfHA+Pj4wPmE+Pj4wKTowKXt3PTA7bD14O3JldHVybiB3fDB9YjpkbyBpZigh
KGNbNDI2NjFdJjQpKXtkPWNbNDI1NTZdfDA7YzpkbyBpZihkKXtlPTE3MDY0ODt3aGlsZSgxKXth
PWNbZT4+Ml18MDtpZihhPj4+MDw9ZD4+PjA/KHM9ZSs0fDAsKGErKGNbcz4+Ml18MCl8MCk+Pj4w
PmQ+Pj4wKTowKWJyZWFrO2E9Y1tlKzg+PjJdfDA7aWYoIWEpe3Y9MTE4O2JyZWFrIGN9ZWxzZSBl
PWF9Yj1oLWkmZjtpZihiPj4+MDwyMTQ3NDgzNjQ3KXthPVdOKGJ8MCl8MDtpZigoYXwwKT09KChj
W2U+PjJdfDApKyhjW3M+PjJdfDApfDApKXtpZigoYXwwKSE9KC0xfDApKXtoPWI7Zz1hO3Y9MTM1
O2JyZWFrIGJ9fWVsc2V7ZT1hO3Y9MTI2fX1lbHNlIGI9MH1lbHNlIHY9MTE4O3doaWxlKDApO2Rv
IGlmKCh2fDApPT0xMTgpe2Q9V04oMCl8MDtpZigoZHwwKSE9KC0xfDApPyhiPWQscT1jWzQyNjY5
XXwwLHI9cSstMXwwLGI9KChyJmJ8MCk9PTA/MDoocitiJjAtcSktYnwwKSttfDAscT1jWzQyNjU4
XXwwLHI9YitxfDAsYj4+PjA+bj4+PjAmYj4+PjA8MjE0NzQ4MzY0Nyk6MCl7cz1jWzQyNjYwXXww
O2lmKHN8MD9yPj4+MDw9cT4+PjB8cj4+PjA+cz4+PjA6MCl7Yj0wO2JyZWFrfWE9V04oYnwwKXww
O2lmKChhfDApPT0oZHwwKSl7aD1iO2c9ZDt2PTEzNTticmVhayBifWVsc2V7ZT1hO3Y9MTI2fX1l
bHNlIGI9MH13aGlsZSgwKTtkbyBpZigodnwwKT09MTI2KXtkPTAtYnwwO2lmKCEoaj4+PjA+Yj4+
PjAmKGI+Pj4wPDIxNDc0ODM2NDcmKGV8MCkhPSgtMXwwKSkpKWlmKChlfDApPT0oLTF8MCkpe2I9
MDticmVha31lbHNle2g9YjtnPWU7dj0xMzU7YnJlYWsgYn1hPWNbNDI2NzBdfDA7YT1rLWIrYSYw
LWE7aWYoYT4+PjA+PTIxNDc0ODM2NDcpe2g9YjtnPWU7dj0xMzU7YnJlYWsgYn1pZigoV04oYXww
KXwwKT09KC0xfDApKXtXTihkfDApfDA7Yj0wO2JyZWFrfWVsc2V7aD1hK2J8MDtnPWU7dj0xMzU7
YnJlYWsgYn19d2hpbGUoMCk7Y1s0MjY2MV09Y1s0MjY2MV18NDt2PTEzM31lbHNle2I9MDt2PTEz
M313aGlsZSgwKTtpZigoKHZ8MCk9PTEzMz9tPj4+MDwyMTQ3NDgzNjQ3OjApPyhnPVdOKG18MCl8
MCxzPVdOKDApfDAsdD1zLWd8MCx1PXQ+Pj4wPihuKzQwfDApPj4+MCwhKChnfDApPT0oLTF8MCl8
dV4xfGc+Pj4wPHM+Pj4wJigoZ3wwKSE9KC0xfDApJihzfDApIT0oLTF8MCkpXjEpKTowKXtoPXU/
dDpiO3Y9MTM1fWlmKCh2fDApPT0xMzUpe2I9KGNbNDI2NThdfDApK2h8MDtjWzQyNjU4XT1iO2lm
KGI+Pj4wPihjWzQyNjU5XXwwKT4+PjApY1s0MjY1OV09YjtqPWNbNDI1NTZdfDA7ZG8gaWYoail7
Yj0xNzA2NDg7d2hpbGUoMSl7YT1jW2I+PjJdfDA7ZD1iKzR8MDtlPWNbZD4+Ml18MDtpZigoZ3ww
KT09KGErZXwwKSl7dj0xNDM7YnJlYWt9Zj1jW2IrOD4+Ml18MDtpZighZilicmVhaztlbHNlIGI9
Zn1pZigoKHZ8MCk9PTE0Mz8oY1tiKzEyPj4yXSY4fDApPT0wOjApP2c+Pj4wPmo+Pj4wJmE+Pj4w
PD1qPj4+MDowKXtjW2Q+PjJdPWUraDt3PShjWzQyNTUzXXwwKStofDA7dT1qKzh8MDt1PSh1Jjd8
MCk9PTA/MDowLXUmNzt2PWordXwwO3U9dy11fDA7Y1s0MjU1Nl09djtjWzQyNTUzXT11O2Nbdis0
Pj4yXT11fDE7Y1tqK3crND4+Ml09NDA7Y1s0MjU1N109Y1s0MjY3Ml07YnJlYWt9aWYoZz4+PjA8
KGNbNDI1NTRdfDApPj4+MCljWzQyNTU0XT1nO2E9ZytofDA7Yj0xNzA2NDg7d2hpbGUoMSl7aWYo
KGNbYj4+Ml18MCk9PShhfDApKXt2PTE1MTticmVha31iPWNbYis4Pj4yXXwwO2lmKCFiKXthPTE3
MDY0ODticmVha319aWYoKHZ8MCk9PTE1MSlpZighKGNbYisxMj4+Ml0mOCkpe2NbYj4+Ml09Zztt
PWIrNHwwO2NbbT4+Ml09KGNbbT4+Ml18MCkraDttPWcrOHwwO209ZysoKG0mN3wwKT09MD8wOjAt
bSY3KXwwO2I9YSs4fDA7Yj1hKygoYiY3fDApPT0wPzA6MC1iJjcpfDA7az1tK258MDtpPWItbS1u
fDA7Y1ttKzQ+PjJdPW58MztkbyBpZigoanwwKSE9KGJ8MCkpe2lmKChjWzQyNTU1XXwwKT09KGJ8
MCkpe3c9KGNbNDI1NTJdfDApK2l8MDtjWzQyNTUyXT13O2NbNDI1NTVdPWs7Y1trKzQ+PjJdPXd8
MTtjW2srdz4+Ml09dzticmVha31hPWNbYis0Pj4yXXwwO2lmKChhJjN8MCk9PTEpe2g9YSYtODtl
PWE+Pj4zO2Q6ZG8gaWYoYT4+PjA8MjU2KXthPWNbYis4Pj4yXXwwO2Q9Y1tiKzEyPj4yXXwwO2lm
KChkfDApPT0oYXwwKSl7Y1s0MjU1MF09Y1s0MjU1MF0mfigxPDxlKTticmVha31lbHNle2NbYSsx
Mj4+Ml09ZDtjW2QrOD4+Ml09YTticmVha319ZWxzZXtnPWNbYisyND4+Ml18MDthPWNbYisxMj4+
Ml18MDtkbyBpZigoYXwwKT09KGJ8MCkpe2U9YisxNnwwO2Q9ZSs0fDA7YT1jW2Q+PjJdfDA7aWYo
IWEpe2E9Y1tlPj4yXXwwO2lmKCFhKXthPTA7YnJlYWt9ZWxzZSBkPWV9d2hpbGUoMSl7ZT1hKzIw
fDA7Zj1jW2U+PjJdfDA7aWYoZnwwKXthPWY7ZD1lO2NvbnRpbnVlfWU9YSsxNnwwO2Y9Y1tlPj4y
XXwwO2lmKCFmKWJyZWFrO2Vsc2V7YT1mO2Q9ZX19Y1tkPj4yXT0wfWVsc2V7dz1jW2IrOD4+Ml18
MDtjW3crMTI+PjJdPWE7Y1thKzg+PjJdPXd9d2hpbGUoMCk7aWYoIWcpYnJlYWs7ZD1jW2IrMjg+
PjJdfDA7ZT0xNzA1MDQrKGQ8PDIpfDA7ZG8gaWYoKGNbZT4+Ml18MCkhPShifDApKXtjW2crMTYr
KCgoY1tnKzE2Pj4yXXwwKSE9KGJ8MCkmMSk8PDIpPj4yXT1hO2lmKCFhKWJyZWFrIGR9ZWxzZXtj
W2U+PjJdPWE7aWYoYXwwKWJyZWFrO2NbNDI1NTFdPWNbNDI1NTFdJn4oMTw8ZCk7YnJlYWsgZH13
aGlsZSgwKTtjW2ErMjQ+PjJdPWc7ZD1iKzE2fDA7ZT1jW2Q+PjJdfDA7aWYoZXwwKXtjW2ErMTY+
PjJdPWU7Y1tlKzI0Pj4yXT1hfWQ9Y1tkKzQ+PjJdfDA7aWYoIWQpYnJlYWs7Y1thKzIwPj4yXT1k
O2NbZCsyND4+Ml09YX13aGlsZSgwKTtiPWIraHwwO2Y9aCtpfDB9ZWxzZSBmPWk7Yj1iKzR8MDtj
W2I+PjJdPWNbYj4+Ml0mLTI7Y1trKzQ+PjJdPWZ8MTtjW2srZj4+Ml09ZjtiPWY+Pj4zO2lmKGY+
Pj4wPDI1Nil7ZD0xNzAyNDArKGI8PDE8PDIpfDA7YT1jWzQyNTUwXXwwO2I9MTw8YjtpZighKGEm
Yikpe2NbNDI1NTBdPWF8YjtiPWQ7YT1kKzh8MH1lbHNle2E9ZCs4fDA7Yj1jW2E+PjJdfDB9Y1th
Pj4yXT1rO2NbYisxMj4+Ml09aztjW2srOD4+Ml09YjtjW2srMTI+PjJdPWQ7YnJlYWt9Yj1mPj4+
ODtkbyBpZighYiliPTA7ZWxzZXtpZihmPj4+MD4xNjc3NzIxNSl7Yj0zMTticmVha312PShiKzEw
NDgzMjB8MCk+Pj4xNiY4O3c9Yjw8djt1PSh3KzUyMDE5MnwwKT4+PjE2JjQ7dz13PDx1O2I9KHcr
MjQ1NzYwfDApPj4+MTYmMjtiPTE0LSh1fHZ8YikrKHc8PGI+Pj4xNSl8MDtiPWY+Pj4oYis3fDAp
JjF8Yjw8MX13aGlsZSgwKTtlPTE3MDUwNCsoYjw8Mil8MDtjW2srMjg+PjJdPWI7YT1rKzE2fDA7
Y1thKzQ+PjJdPTA7Y1thPj4yXT0wO2E9Y1s0MjU1MV18MDtkPTE8PGI7aWYoIShhJmQpKXtjWzQy
NTUxXT1hfGQ7Y1tlPj4yXT1rO2NbaysyND4+Ml09ZTtjW2srMTI+PjJdPWs7Y1trKzg+PjJdPWs7
YnJlYWt9YT1mPDwoKGJ8MCk9PTMxPzA6MjUtKGI+Pj4xKXwwKTtkPWNbZT4+Ml18MDt3aGlsZSgx
KXtpZigoY1tkKzQ+PjJdJi04fDApPT0oZnwwKSl7dj0xOTI7YnJlYWt9ZT1kKzE2KyhhPj4+MzE8
PDIpfDA7Yj1jW2U+PjJdfDA7aWYoIWIpe3Y9MTkxO2JyZWFrfWVsc2V7YT1hPDwxO2Q9Yn19aWYo
KHZ8MCk9PTE5MSl7Y1tlPj4yXT1rO2NbaysyND4+Ml09ZDtjW2srMTI+PjJdPWs7Y1trKzg+PjJd
PWs7YnJlYWt9ZWxzZSBpZigodnwwKT09MTkyKXt2PWQrOHwwO3c9Y1t2Pj4yXXwwO2NbdysxMj4+
Ml09aztjW3Y+PjJdPWs7Y1trKzg+PjJdPXc7Y1trKzEyPj4yXT1kO2NbaysyND4+Ml09MDticmVh
a319ZWxzZXt3PShjWzQyNTUzXXwwKStpfDA7Y1s0MjU1M109dztjWzQyNTU2XT1rO2Nbays0Pj4y
XT13fDF9d2hpbGUoMCk7dz1tKzh8MDtsPXg7cmV0dXJuIHd8MH1lbHNlIGE9MTcwNjQ4O3doaWxl
KDEpe2I9Y1thPj4yXXwwO2lmKGI+Pj4wPD1qPj4+MD8odz1iKyhjW2ErND4+Ml18MCl8MCx3Pj4+
MD5qPj4+MCk6MClicmVhazthPWNbYSs4Pj4yXXwwfWY9dystNDd8MDthPWYrOHwwO2E9ZisoKGEm
N3wwKT09MD8wOjAtYSY3KXwwO2Y9aisxNnwwO2E9YT4+PjA8Zj4+PjA/ajphO2I9YSs4fDA7ZD1o
Ky00MHwwO3U9Zys4fDA7dT0odSY3fDApPT0wPzA6MC11Jjc7dj1nK3V8MDt1PWQtdXwwO2NbNDI1
NTZdPXY7Y1s0MjU1M109dTtjW3YrND4+Ml09dXwxO2NbZytkKzQ+PjJdPTQwO2NbNDI1NTddPWNb
NDI2NzJdO2Q9YSs0fDA7Y1tkPj4yXT0yNztjW2I+PjJdPWNbNDI2NjJdO2NbYis0Pj4yXT1jWzQy
NjYzXTtjW2IrOD4+Ml09Y1s0MjY2NF07Y1tiKzEyPj4yXT1jWzQyNjY1XTtjWzQyNjYyXT1nO2Nb
NDI2NjNdPWg7Y1s0MjY2NV09MDtjWzQyNjY0XT1iO2I9YSsyNHwwO2Rve3Y9YjtiPWIrNHwwO2Nb
Yj4+Ml09N313aGlsZSgodis4fDApPj4+MDx3Pj4+MCk7aWYoKGF8MCkhPShqfDApKXtnPWEtanww
O2NbZD4+Ml09Y1tkPj4yXSYtMjtjW2orND4+Ml09Z3wxO2NbYT4+Ml09ZztiPWc+Pj4zO2lmKGc+
Pj4wPDI1Nil7ZD0xNzAyNDArKGI8PDE8PDIpfDA7YT1jWzQyNTUwXXwwO2I9MTw8YjtpZighKGEm
Yikpe2NbNDI1NTBdPWF8YjtiPWQ7YT1kKzh8MH1lbHNle2E9ZCs4fDA7Yj1jW2E+PjJdfDB9Y1th
Pj4yXT1qO2NbYisxMj4+Ml09ajtjW2orOD4+Ml09YjtjW2orMTI+PjJdPWQ7YnJlYWt9Yj1nPj4+
ODtpZihiKWlmKGc+Pj4wPjE2Nzc3MjE1KWQ9MzE7ZWxzZXt2PShiKzEwNDgzMjB8MCk+Pj4xNiY4
O3c9Yjw8djt1PSh3KzUyMDE5MnwwKT4+PjE2JjQ7dz13PDx1O2Q9KHcrMjQ1NzYwfDApPj4+MTYm
MjtkPTE0LSh1fHZ8ZCkrKHc8PGQ+Pj4xNSl8MDtkPWc+Pj4oZCs3fDApJjF8ZDw8MX1lbHNlIGQ9
MDtlPTE3MDUwNCsoZDw8Mil8MDtjW2orMjg+PjJdPWQ7Y1tqKzIwPj4yXT0wO2NbZj4+Ml09MDti
PWNbNDI1NTFdfDA7YT0xPDxkO2lmKCEoYiZhKSl7Y1s0MjU1MV09YnxhO2NbZT4+Ml09ajtjW2or
MjQ+PjJdPWU7Y1tqKzEyPj4yXT1qO2Nbais4Pj4yXT1qO2JyZWFrfWE9Zzw8KChkfDApPT0zMT8w
OjI1LShkPj4+MSl8MCk7ZD1jW2U+PjJdfDA7d2hpbGUoMSl7aWYoKGNbZCs0Pj4yXSYtOHwwKT09
KGd8MCkpe3Y9MjEzO2JyZWFrfWU9ZCsxNisoYT4+PjMxPDwyKXwwO2I9Y1tlPj4yXXwwO2lmKCFi
KXt2PTIxMjticmVha31lbHNle2E9YTw8MTtkPWJ9fWlmKCh2fDApPT0yMTIpe2NbZT4+Ml09ajtj
W2orMjQ+PjJdPWQ7Y1tqKzEyPj4yXT1qO2Nbais4Pj4yXT1qO2JyZWFrfWVsc2UgaWYoKHZ8MCk9
PTIxMyl7dj1kKzh8MDt3PWNbdj4+Ml18MDtjW3crMTI+PjJdPWo7Y1t2Pj4yXT1qO2Nbais4Pj4y
XT13O2NbaisxMj4+Ml09ZDtjW2orMjQ+PjJdPTA7YnJlYWt9fX1lbHNle3c9Y1s0MjU1NF18MDtp
Zigod3wwKT09MHxnPj4+MDx3Pj4+MCljWzQyNTU0XT1nO2NbNDI2NjJdPWc7Y1s0MjY2M109aDtj
WzQyNjY1XT0wO2NbNDI1NTldPWNbNDI2NjhdO2NbNDI1NThdPS0xO2NbNDI1NjNdPTE3MDI0MDtj
WzQyNTYyXT0xNzAyNDA7Y1s0MjU2NV09MTcwMjQ4O2NbNDI1NjRdPTE3MDI0ODtjWzQyNTY3XT0x
NzAyNTY7Y1s0MjU2Nl09MTcwMjU2O2NbNDI1NjldPTE3MDI2NDtjWzQyNTY4XT0xNzAyNjQ7Y1s0
MjU3MV09MTcwMjcyO2NbNDI1NzBdPTE3MDI3MjtjWzQyNTczXT0xNzAyODA7Y1s0MjU3Ml09MTcw
MjgwO2NbNDI1NzVdPTE3MDI4ODtjWzQyNTc0XT0xNzAyODg7Y1s0MjU3N109MTcwMjk2O2NbNDI1
NzZdPTE3MDI5NjtjWzQyNTc5XT0xNzAzMDQ7Y1s0MjU3OF09MTcwMzA0O2NbNDI1ODFdPTE3MDMx
MjtjWzQyNTgwXT0xNzAzMTI7Y1s0MjU4M109MTcwMzIwO2NbNDI1ODJdPTE3MDMyMDtjWzQyNTg1
XT0xNzAzMjg7Y1s0MjU4NF09MTcwMzI4O2NbNDI1ODddPTE3MDMzNjtjWzQyNTg2XT0xNzAzMzY7
Y1s0MjU4OV09MTcwMzQ0O2NbNDI1ODhdPTE3MDM0NDtjWzQyNTkxXT0xNzAzNTI7Y1s0MjU5MF09
MTcwMzUyO2NbNDI1OTNdPTE3MDM2MDtjWzQyNTkyXT0xNzAzNjA7Y1s0MjU5NV09MTcwMzY4O2Nb
NDI1OTRdPTE3MDM2ODtjWzQyNTk3XT0xNzAzNzY7Y1s0MjU5Nl09MTcwMzc2O2NbNDI1OTldPTE3
MDM4NDtjWzQyNTk4XT0xNzAzODQ7Y1s0MjYwMV09MTcwMzkyO2NbNDI2MDBdPTE3MDM5MjtjWzQy
NjAzXT0xNzA0MDA7Y1s0MjYwMl09MTcwNDAwO2NbNDI2MDVdPTE3MDQwODtjWzQyNjA0XT0xNzA0
MDg7Y1s0MjYwN109MTcwNDE2O2NbNDI2MDZdPTE3MDQxNjtjWzQyNjA5XT0xNzA0MjQ7Y1s0MjYw
OF09MTcwNDI0O2NbNDI2MTFdPTE3MDQzMjtjWzQyNjEwXT0xNzA0MzI7Y1s0MjYxM109MTcwNDQw
O2NbNDI2MTJdPTE3MDQ0MDtjWzQyNjE1XT0xNzA0NDg7Y1s0MjYxNF09MTcwNDQ4O2NbNDI2MTdd
PTE3MDQ1NjtjWzQyNjE2XT0xNzA0NTY7Y1s0MjYxOV09MTcwNDY0O2NbNDI2MThdPTE3MDQ2NDtj
WzQyNjIxXT0xNzA0NzI7Y1s0MjYyMF09MTcwNDcyO2NbNDI2MjNdPTE3MDQ4MDtjWzQyNjIyXT0x
NzA0ODA7Y1s0MjYyNV09MTcwNDg4O2NbNDI2MjRdPTE3MDQ4ODt3PWgrLTQwfDA7dT1nKzh8MDt1
PSh1Jjd8MCk9PTA/MDowLXUmNzt2PWcrdXwwO3U9dy11fDA7Y1s0MjU1Nl09djtjWzQyNTUzXT11
O2Nbdis0Pj4yXT11fDE7Y1tnK3crND4+Ml09NDA7Y1s0MjU1N109Y1s0MjY3Ml19d2hpbGUoMCk7
Yj1jWzQyNTUzXXwwO2lmKGI+Pj4wPm4+Pj4wKXt1PWItbnwwO2NbNDI1NTNdPXU7dz1jWzQyNTU2
XXwwO3Y9dytufDA7Y1s0MjU1Nl09djtjW3YrND4+Ml09dXwxO2Nbdys0Pj4yXT1ufDM7dz13Kzh8
MDtsPXg7cmV0dXJuIHd8MH19Y1soakooKXwwKT4+Ml09MTI7dz0wO2w9eDtyZXR1cm4gd3wwfWZ1
bmN0aW9uIF9JKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wO2lm
KCFhKXJldHVybjtkPWErLTh8MDtmPWNbNDI1NTRdfDA7YT1jW2ErLTQ+PjJdfDA7Yj1hJi04O2o9
ZCtifDA7ZG8gaWYoIShhJjEpKXtlPWNbZD4+Ml18MDtpZighKGEmMykpcmV0dXJuO2g9ZCsoMC1l
KXwwO2c9ZStifDA7aWYoaD4+PjA8Zj4+PjApcmV0dXJuO2lmKChjWzQyNTU1XXwwKT09KGh8MCkp
e2E9ais0fDA7Yj1jW2E+PjJdfDA7aWYoKGImM3wwKSE9Myl7aT1oO2I9ZzticmVha31jWzQyNTUy
XT1nO2NbYT4+Ml09YiYtMjtjW2grND4+Ml09Z3wxO2NbaCtnPj4yXT1nO3JldHVybn1kPWU+Pj4z
O2lmKGU+Pj4wPDI1Nil7YT1jW2grOD4+Ml18MDtiPWNbaCsxMj4+Ml18MDtpZigoYnwwKT09KGF8
MCkpe2NbNDI1NTBdPWNbNDI1NTBdJn4oMTw8ZCk7aT1oO2I9ZzticmVha31lbHNle2NbYSsxMj4+
Ml09YjtjW2IrOD4+Ml09YTtpPWg7Yj1nO2JyZWFrfX1mPWNbaCsyND4+Ml18MDthPWNbaCsxMj4+
Ml18MDtkbyBpZigoYXwwKT09KGh8MCkpe2Q9aCsxNnwwO2I9ZCs0fDA7YT1jW2I+PjJdfDA7aWYo
IWEpe2E9Y1tkPj4yXXwwO2lmKCFhKXthPTA7YnJlYWt9ZWxzZSBiPWR9d2hpbGUoMSl7ZD1hKzIw
fDA7ZT1jW2Q+PjJdfDA7aWYoZXwwKXthPWU7Yj1kO2NvbnRpbnVlfWQ9YSsxNnwwO2U9Y1tkPj4y
XXwwO2lmKCFlKWJyZWFrO2Vsc2V7YT1lO2I9ZH19Y1tiPj4yXT0wfWVsc2V7aT1jW2grOD4+Ml18
MDtjW2krMTI+PjJdPWE7Y1thKzg+PjJdPWl9d2hpbGUoMCk7aWYoZil7Yj1jW2grMjg+PjJdfDA7
ZD0xNzA1MDQrKGI8PDIpfDA7aWYoKGNbZD4+Ml18MCk9PShofDApKXtjW2Q+PjJdPWE7aWYoIWEp
e2NbNDI1NTFdPWNbNDI1NTFdJn4oMTw8Yik7aT1oO2I9ZzticmVha319ZWxzZXtjW2YrMTYrKCgo
Y1tmKzE2Pj4yXXwwKSE9KGh8MCkmMSk8PDIpPj4yXT1hO2lmKCFhKXtpPWg7Yj1nO2JyZWFrfX1j
W2ErMjQ+PjJdPWY7Yj1oKzE2fDA7ZD1jW2I+PjJdfDA7aWYoZHwwKXtjW2ErMTY+PjJdPWQ7Y1tk
KzI0Pj4yXT1hfWI9Y1tiKzQ+PjJdfDA7aWYoYil7Y1thKzIwPj4yXT1iO2NbYisyND4+Ml09YTtp
PWg7Yj1nfWVsc2V7aT1oO2I9Z319ZWxzZXtpPWg7Yj1nfX1lbHNle2k9ZDtoPWR9d2hpbGUoMCk7
aWYoaD4+PjA+PWo+Pj4wKXJldHVybjthPWorNHwwO2U9Y1thPj4yXXwwO2lmKCEoZSYxKSlyZXR1
cm47aWYoIShlJjIpKXtpZigoY1s0MjU1Nl18MCk9PShqfDApKXtqPShjWzQyNTUzXXwwKStifDA7
Y1s0MjU1M109ajtjWzQyNTU2XT1pO2NbaSs0Pj4yXT1qfDE7aWYoKGl8MCkhPShjWzQyNTU1XXww
KSlyZXR1cm47Y1s0MjU1NV09MDtjWzQyNTUyXT0wO3JldHVybn1pZigoY1s0MjU1NV18MCk9PShq
fDApKXtqPShjWzQyNTUyXXwwKStifDA7Y1s0MjU1Ml09ajtjWzQyNTU1XT1oO2NbaSs0Pj4yXT1q
fDE7Y1toK2o+PjJdPWo7cmV0dXJufWY9KGUmLTgpK2J8MDtkPWU+Pj4zO2RvIGlmKGU+Pj4wPDI1
Nil7Yj1jW2orOD4+Ml18MDthPWNbaisxMj4+Ml18MDtpZigoYXwwKT09KGJ8MCkpe2NbNDI1NTBd
PWNbNDI1NTBdJn4oMTw8ZCk7YnJlYWt9ZWxzZXtjW2IrMTI+PjJdPWE7Y1thKzg+PjJdPWI7YnJl
YWt9fWVsc2V7Zz1jW2orMjQ+PjJdfDA7YT1jW2orMTI+PjJdfDA7ZG8gaWYoKGF8MCk9PShqfDAp
KXtkPWorMTZ8MDtiPWQrNHwwO2E9Y1tiPj4yXXwwO2lmKCFhKXthPWNbZD4+Ml18MDtpZighYSl7
ZD0wO2JyZWFrfWVsc2UgYj1kfXdoaWxlKDEpe2Q9YSsyMHwwO2U9Y1tkPj4yXXwwO2lmKGV8MCl7
YT1lO2I9ZDtjb250aW51ZX1kPWErMTZ8MDtlPWNbZD4+Ml18MDtpZighZSlicmVhaztlbHNle2E9
ZTtiPWR9fWNbYj4+Ml09MDtkPWF9ZWxzZXtkPWNbais4Pj4yXXwwO2NbZCsxMj4+Ml09YTtjW2Er
OD4+Ml09ZDtkPWF9d2hpbGUoMCk7aWYoZ3wwKXthPWNbaisyOD4+Ml18MDtiPTE3MDUwNCsoYTw8
Mil8MDtpZigoY1tiPj4yXXwwKT09KGp8MCkpe2NbYj4+Ml09ZDtpZighZCl7Y1s0MjU1MV09Y1s0
MjU1MV0mfigxPDxhKTticmVha319ZWxzZXtjW2crMTYrKCgoY1tnKzE2Pj4yXXwwKSE9KGp8MCkm
MSk8PDIpPj4yXT1kO2lmKCFkKWJyZWFrfWNbZCsyND4+Ml09ZzthPWorMTZ8MDtiPWNbYT4+Ml18
MDtpZihifDApe2NbZCsxNj4+Ml09YjtjW2IrMjQ+PjJdPWR9YT1jW2ErND4+Ml18MDtpZihhfDAp
e2NbZCsyMD4+Ml09YTtjW2ErMjQ+PjJdPWR9fX13aGlsZSgwKTtjW2krND4+Ml09ZnwxO2NbaCtm
Pj4yXT1mO2lmKChpfDApPT0oY1s0MjU1NV18MCkpe2NbNDI1NTJdPWY7cmV0dXJufX1lbHNle2Nb
YT4+Ml09ZSYtMjtjW2krND4+Ml09YnwxO2NbaCtiPj4yXT1iO2Y9Yn1hPWY+Pj4zO2lmKGY+Pj4w
PDI1Nil7ZD0xNzAyNDArKGE8PDE8PDIpfDA7Yj1jWzQyNTUwXXwwO2E9MTw8YTtpZighKGImYSkp
e2NbNDI1NTBdPWJ8YTthPWQ7Yj1kKzh8MH1lbHNle2I9ZCs4fDA7YT1jW2I+PjJdfDB9Y1tiPj4y
XT1pO2NbYSsxMj4+Ml09aTtjW2krOD4+Ml09YTtjW2krMTI+PjJdPWQ7cmV0dXJufWE9Zj4+Pjg7
aWYoYSlpZihmPj4+MD4xNjc3NzIxNSlhPTMxO2Vsc2V7aD0oYSsxMDQ4MzIwfDApPj4+MTYmODtq
PWE8PGg7Zz0oais1MjAxOTJ8MCk+Pj4xNiY0O2o9ajw8ZzthPShqKzI0NTc2MHwwKT4+PjE2JjI7
YT0xNC0oZ3xofGEpKyhqPDxhPj4+MTUpfDA7YT1mPj4+KGErN3wwKSYxfGE8PDF9ZWxzZSBhPTA7
ZT0xNzA1MDQrKGE8PDIpfDA7Y1tpKzI4Pj4yXT1hO2NbaSsyMD4+Ml09MDtjW2krMTY+PjJdPTA7
Yj1jWzQyNTUxXXwwO2Q9MTw8YTtkbyBpZihiJmQpe2I9Zjw8KChhfDApPT0zMT8wOjI1LShhPj4+
MSl8MCk7ZD1jW2U+PjJdfDA7d2hpbGUoMSl7aWYoKGNbZCs0Pj4yXSYtOHwwKT09KGZ8MCkpe2E9
NzM7YnJlYWt9ZT1kKzE2KyhiPj4+MzE8PDIpfDA7YT1jW2U+PjJdfDA7aWYoIWEpe2E9NzI7YnJl
YWt9ZWxzZXtiPWI8PDE7ZD1hfX1pZigoYXwwKT09NzIpe2NbZT4+Ml09aTtjW2krMjQ+PjJdPWQ7
Y1tpKzEyPj4yXT1pO2NbaSs4Pj4yXT1pO2JyZWFrfWVsc2UgaWYoKGF8MCk9PTczKXtoPWQrOHww
O2o9Y1toPj4yXXwwO2NbaisxMj4+Ml09aTtjW2g+PjJdPWk7Y1tpKzg+PjJdPWo7Y1tpKzEyPj4y
XT1kO2NbaSsyND4+Ml09MDticmVha319ZWxzZXtjWzQyNTUxXT1ifGQ7Y1tlPj4yXT1pO2NbaSsy
ND4+Ml09ZTtjW2krMTI+PjJdPWk7Y1tpKzg+PjJdPWl9d2hpbGUoMCk7aj0oY1s0MjU1OF18MCkr
LTF8MDtjWzQyNTU4XT1qO2lmKCFqKWE9MTcwNjU2O2Vsc2UgcmV0dXJuO3doaWxlKDEpe2E9Y1th
Pj4yXXwwO2lmKCFhKWJyZWFrO2Vsc2UgYT1hKzh8MH1jWzQyNTU4XT0tMTtyZXR1cm59ZnVuY3Rp
b24gJEkoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wO2lmKGEpe2Q9TyhiLGEpfDA7aWYoKGJ8YSk+
Pj4wPjY1NTM1KWQ9KChkPj4+MCkvKGE+Pj4wKXwwfDApPT0oYnwwKT9kOi0xfWVsc2UgZD0wO2E9
WkkoZCl8MDtpZighYSlyZXR1cm4gYXwwO2lmKCEoY1thKy00Pj4yXSYzKSlyZXR1cm4gYXwwO1ZO
KGF8MCwwLGR8MCl8MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIGFKKGEsYil7YT1hfDA7Yj1ifDA7dmFy
IGQ9MCxlPTA7aWYoIWEpe2I9WkkoYil8MDtyZXR1cm4gYnwwfWlmKGI+Pj4wPjQyOTQ5NjcyMzEp
e2NbKGpKKCl8MCk+PjJdPTEyO2I9MDtyZXR1cm4gYnwwfWQ9YkooYSstOHwwLGI+Pj4wPDExPzE2
OmIrMTEmLTgpfDA7aWYoZHwwKXtiPWQrOHwwO3JldHVybiBifDB9ZD1aSShiKXwwO2lmKCFkKXti
PTA7cmV0dXJuIGJ8MH1lPWNbYSstND4+Ml18MDtlPShlJi04KS0oKGUmM3wwKT09MD84OjQpfDA7
VE4oZHwwLGF8MCwoZT4+PjA8Yj4+PjA/ZTpiKXwwKXwwO19JKGEpO2I9ZDtyZXR1cm4gYnwwfWZ1
bmN0aW9uIGJKKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9
MCxrPTAsbD0wLG09MDtsPWErNHwwO209Y1tsPj4yXXwwO2Q9bSYtODtpPWErZHwwO2lmKCEobSYz
KSl7aWYoYj4+PjA8MjU2KXthPTA7cmV0dXJuIGF8MH1pZihkPj4+MD49KGIrNHwwKT4+PjA/KGQt
YnwwKT4+PjA8PWNbNDI2NzBdPDwxPj4+MDowKXJldHVybiBhfDA7YT0wO3JldHVybiBhfDB9aWYo
ZD4+PjA+PWI+Pj4wKXtkPWQtYnwwO2lmKGQ+Pj4wPD0xNSlyZXR1cm4gYXwwO2s9YStifDA7Y1ts
Pj4yXT1tJjF8YnwyO2Nbays0Pj4yXT1kfDM7bT1pKzR8MDtjW20+PjJdPWNbbT4+Ml18MTtjSihr
LGQpO3JldHVybiBhfDB9aWYoKGNbNDI1NTZdfDApPT0oaXwwKSl7az0oY1s0MjU1M118MCkrZHww
O2Q9ay1ifDA7ZT1hK2J8MDtpZihrPj4+MDw9Yj4+PjApe2E9MDtyZXR1cm4gYXwwfWNbbD4+Ml09
bSYxfGJ8MjtjW2UrND4+Ml09ZHwxO2NbNDI1NTZdPWU7Y1s0MjU1M109ZDtyZXR1cm4gYXwwfWlm
KChjWzQyNTU1XXwwKT09KGl8MCkpe2U9KGNbNDI1NTJdfDApK2R8MDtpZihlPj4+MDxiPj4+MCl7
YT0wO3JldHVybiBhfDB9ZD1lLWJ8MDtpZihkPj4+MD4xNSl7az1hK2J8MDtlPWErZXwwO2NbbD4+
Ml09bSYxfGJ8MjtjW2srND4+Ml09ZHwxO2NbZT4+Ml09ZDtlPWUrNHwwO2NbZT4+Ml09Y1tlPj4y
XSYtMjtlPWt9ZWxzZXtjW2w+PjJdPW0mMXxlfDI7ZT1hK2UrNHwwO2NbZT4+Ml09Y1tlPj4yXXwx
O2U9MDtkPTB9Y1s0MjU1Ml09ZDtjWzQyNTU1XT1lO3JldHVybiBhfDB9ZT1jW2krND4+Ml18MDtp
ZihlJjJ8MCl7YT0wO3JldHVybiBhfDB9aj0oZSYtOCkrZHwwO2lmKGo+Pj4wPGI+Pj4wKXthPTA7
cmV0dXJuIGF8MH1rPWotYnwwO2Y9ZT4+PjM7ZG8gaWYoZT4+PjA8MjU2KXtlPWNbaSs4Pj4yXXww
O2Q9Y1tpKzEyPj4yXXwwO2lmKChkfDApPT0oZXwwKSl7Y1s0MjU1MF09Y1s0MjU1MF0mfigxPDxm
KTticmVha31lbHNle2NbZSsxMj4+Ml09ZDtjW2QrOD4+Ml09ZTticmVha319ZWxzZXtoPWNbaSsy
ND4+Ml18MDtkPWNbaSsxMj4+Ml18MDtkbyBpZigoZHwwKT09KGl8MCkpe2Y9aSsxNnwwO2U9Zis0
fDA7ZD1jW2U+PjJdfDA7aWYoIWQpe2Q9Y1tmPj4yXXwwO2lmKCFkKXtmPTA7YnJlYWt9ZWxzZSBn
PWZ9ZWxzZSBnPWU7d2hpbGUoMSl7Zj1kKzIwfDA7ZT1jW2Y+PjJdfDA7aWYoZXwwKXtkPWU7Zz1m
O2NvbnRpbnVlfWU9ZCsxNnwwO2Y9Y1tlPj4yXXwwO2lmKCFmKWJyZWFrO2Vsc2V7ZD1mO2c9ZX19
Y1tnPj4yXT0wO2Y9ZH1lbHNle2Y9Y1tpKzg+PjJdfDA7Y1tmKzEyPj4yXT1kO2NbZCs4Pj4yXT1m
O2Y9ZH13aGlsZSgwKTtpZihofDApe2Q9Y1tpKzI4Pj4yXXwwO2U9MTcwNTA0KyhkPDwyKXwwO2lm
KChjW2U+PjJdfDApPT0oaXwwKSl7Y1tlPj4yXT1mO2lmKCFmKXtjWzQyNTUxXT1jWzQyNTUxXSZ+
KDE8PGQpO2JyZWFrfX1lbHNle2NbaCsxNisoKChjW2grMTY+PjJdfDApIT0oaXwwKSYxKTw8Mik+
PjJdPWY7aWYoIWYpYnJlYWt9Y1tmKzI0Pj4yXT1oO2Q9aSsxNnwwO2U9Y1tkPj4yXXwwO2lmKGV8
MCl7Y1tmKzE2Pj4yXT1lO2NbZSsyND4+Ml09Zn1kPWNbZCs0Pj4yXXwwO2lmKGR8MCl7Y1tmKzIw
Pj4yXT1kO2NbZCsyND4+Ml09Zn19fXdoaWxlKDApO2lmKGs+Pj4wPDE2KXtjW2w+PjJdPWp8bSYx
fDI7bT1hK2orNHwwO2NbbT4+Ml09Y1ttPj4yXXwxO3JldHVybiBhfDB9ZWxzZXtpPWErYnwwO2Nb
bD4+Ml09bSYxfGJ8MjtjW2krND4+Ml09a3wzO209YStqKzR8MDtjW20+PjJdPWNbbT4+Ml18MTtj
SihpLGspO3JldHVybiBhfDB9cmV0dXJuIDB9ZnVuY3Rpb24gY0ooYSxiKXthPWF8MDtiPWJ8MDt2
YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTA7aT1hK2J8MDtkPWNbYSs0Pj4yXXwwO2RvIGlmKCEo
ZCYxKSl7Zj1jW2E+PjJdfDA7aWYoIShkJjMpKXJldHVybjtoPWErKDAtZil8MDtiPWYrYnwwO2lm
KChjWzQyNTU1XXwwKT09KGh8MCkpe2E9aSs0fDA7ZD1jW2E+PjJdfDA7aWYoKGQmM3wwKSE9Myli
cmVhaztjWzQyNTUyXT1iO2NbYT4+Ml09ZCYtMjtjW2grND4+Ml09YnwxO2NbaT4+Ml09YjtyZXR1
cm59ZT1mPj4+MztpZihmPj4+MDwyNTYpe2E9Y1toKzg+PjJdfDA7ZD1jW2grMTI+PjJdfDA7aWYo
KGR8MCk9PShhfDApKXtjWzQyNTUwXT1jWzQyNTUwXSZ+KDE8PGUpO2JyZWFrfWVsc2V7Y1thKzEy
Pj4yXT1kO2NbZCs4Pj4yXT1hO2JyZWFrfX1nPWNbaCsyND4+Ml18MDthPWNbaCsxMj4+Ml18MDtk
byBpZigoYXwwKT09KGh8MCkpe2U9aCsxNnwwO2Q9ZSs0fDA7YT1jW2Q+PjJdfDA7aWYoIWEpe2E9
Y1tlPj4yXXwwO2lmKCFhKXthPTA7YnJlYWt9ZWxzZSBkPWV9d2hpbGUoMSl7ZT1hKzIwfDA7Zj1j
W2U+PjJdfDA7aWYoZnwwKXthPWY7ZD1lO2NvbnRpbnVlfWU9YSsxNnwwO2Y9Y1tlPj4yXXwwO2lm
KCFmKWJyZWFrO2Vsc2V7YT1mO2Q9ZX19Y1tkPj4yXT0wfWVsc2V7Zj1jW2grOD4+Ml18MDtjW2Yr
MTI+PjJdPWE7Y1thKzg+PjJdPWZ9d2hpbGUoMCk7aWYoZyl7ZD1jW2grMjg+PjJdfDA7ZT0xNzA1
MDQrKGQ8PDIpfDA7aWYoKGNbZT4+Ml18MCk9PShofDApKXtjW2U+PjJdPWE7aWYoIWEpe2NbNDI1
NTFdPWNbNDI1NTFdJn4oMTw8ZCk7YnJlYWt9fWVsc2V7Y1tnKzE2KygoKGNbZysxNj4+Ml18MCkh
PShofDApJjEpPDwyKT4+Ml09YTtpZighYSlicmVha31jW2ErMjQ+PjJdPWc7ZD1oKzE2fDA7ZT1j
W2Q+PjJdfDA7aWYoZXwwKXtjW2ErMTY+PjJdPWU7Y1tlKzI0Pj4yXT1hfWQ9Y1tkKzQ+PjJdfDA7
aWYoZCl7Y1thKzIwPj4yXT1kO2NbZCsyND4+Ml09YX19fWVsc2UgaD1hO3doaWxlKDApO2E9aSs0
fDA7ZT1jW2E+PjJdfDA7aWYoIShlJjIpKXtpZigoY1s0MjU1Nl18MCk9PShpfDApKXtpPShjWzQy
NTUzXXwwKStifDA7Y1s0MjU1M109aTtjWzQyNTU2XT1oO2NbaCs0Pj4yXT1pfDE7aWYoKGh8MCkh
PShjWzQyNTU1XXwwKSlyZXR1cm47Y1s0MjU1NV09MDtjWzQyNTUyXT0wO3JldHVybn1pZigoY1s0
MjU1NV18MCk9PShpfDApKXtpPShjWzQyNTUyXXwwKStifDA7Y1s0MjU1Ml09aTtjWzQyNTU1XT1o
O2NbaCs0Pj4yXT1pfDE7Y1toK2k+PjJdPWk7cmV0dXJufWY9KGUmLTgpK2J8MDtkPWU+Pj4zO2Rv
IGlmKGU+Pj4wPDI1Nil7YT1jW2krOD4+Ml18MDtiPWNbaSsxMj4+Ml18MDtpZigoYnwwKT09KGF8
MCkpe2NbNDI1NTBdPWNbNDI1NTBdJn4oMTw8ZCk7YnJlYWt9ZWxzZXtjW2ErMTI+PjJdPWI7Y1ti
Kzg+PjJdPWE7YnJlYWt9fWVsc2V7Zz1jW2krMjQ+PjJdfDA7Yj1jW2krMTI+PjJdfDA7ZG8gaWYo
KGJ8MCk9PShpfDApKXtkPWkrMTZ8MDthPWQrNHwwO2I9Y1thPj4yXXwwO2lmKCFiKXtiPWNbZD4+
Ml18MDtpZighYil7ZD0wO2JyZWFrfWVsc2UgYT1kfXdoaWxlKDEpe2Q9YisyMHwwO2U9Y1tkPj4y
XXwwO2lmKGV8MCl7Yj1lO2E9ZDtjb250aW51ZX1kPWIrMTZ8MDtlPWNbZD4+Ml18MDtpZighZSli
cmVhaztlbHNle2I9ZTthPWR9fWNbYT4+Ml09MDtkPWJ9ZWxzZXtkPWNbaSs4Pj4yXXwwO2NbZCsx
Mj4+Ml09YjtjW2IrOD4+Ml09ZDtkPWJ9d2hpbGUoMCk7aWYoZ3wwKXtiPWNbaSsyOD4+Ml18MDth
PTE3MDUwNCsoYjw8Mil8MDtpZigoY1thPj4yXXwwKT09KGl8MCkpe2NbYT4+Ml09ZDtpZighZCl7
Y1s0MjU1MV09Y1s0MjU1MV0mfigxPDxiKTticmVha319ZWxzZXtjW2crMTYrKCgoY1tnKzE2Pj4y
XXwwKSE9KGl8MCkmMSk8PDIpPj4yXT1kO2lmKCFkKWJyZWFrfWNbZCsyND4+Ml09ZztiPWkrMTZ8
MDthPWNbYj4+Ml18MDtpZihhfDApe2NbZCsxNj4+Ml09YTtjW2ErMjQ+PjJdPWR9Yj1jW2IrND4+
Ml18MDtpZihifDApe2NbZCsyMD4+Ml09YjtjW2IrMjQ+PjJdPWR9fX13aGlsZSgwKTtjW2grND4+
Ml09ZnwxO2NbaCtmPj4yXT1mO2lmKChofDApPT0oY1s0MjU1NV18MCkpe2NbNDI1NTJdPWY7cmV0
dXJufX1lbHNle2NbYT4+Ml09ZSYtMjtjW2grND4+Ml09YnwxO2NbaCtiPj4yXT1iO2Y9Yn1iPWY+
Pj4zO2lmKGY+Pj4wPDI1Nil7ZD0xNzAyNDArKGI8PDE8PDIpfDA7YT1jWzQyNTUwXXwwO2I9MTw8
YjtpZighKGEmYikpe2NbNDI1NTBdPWF8YjtiPWQ7YT1kKzh8MH1lbHNle2E9ZCs4fDA7Yj1jW2E+
PjJdfDB9Y1thPj4yXT1oO2NbYisxMj4+Ml09aDtjW2grOD4+Ml09YjtjW2grMTI+PjJdPWQ7cmV0
dXJufWI9Zj4+Pjg7aWYoYilpZihmPj4+MD4xNjc3NzIxNSliPTMxO2Vsc2V7Zz0oYisxMDQ4MzIw
fDApPj4+MTYmODtpPWI8PGc7ZT0oaSs1MjAxOTJ8MCk+Pj4xNiY0O2k9aTw8ZTtiPShpKzI0NTc2
MHwwKT4+PjE2JjI7Yj0xNC0oZXxnfGIpKyhpPDxiPj4+MTUpfDA7Yj1mPj4+KGIrN3wwKSYxfGI8
PDF9ZWxzZSBiPTA7ZT0xNzA1MDQrKGI8PDIpfDA7Y1toKzI4Pj4yXT1iO2NbaCsyMD4+Ml09MDtj
W2grMTY+PjJdPTA7YT1jWzQyNTUxXXwwO2Q9MTw8YjtpZighKGEmZCkpe2NbNDI1NTFdPWF8ZDtj
W2U+PjJdPWg7Y1toKzI0Pj4yXT1lO2NbaCsxMj4+Ml09aDtjW2grOD4+Ml09aDtyZXR1cm59YT1m
PDwoKGJ8MCk9PTMxPzA6MjUtKGI+Pj4xKXwwKTtkPWNbZT4+Ml18MDt3aGlsZSgxKXtpZigoY1tk
KzQ+PjJdJi04fDApPT0oZnwwKSl7Yj02OTticmVha31lPWQrMTYrKGE+Pj4zMTw8Mil8MDtiPWNb
ZT4+Ml18MDtpZighYil7Yj02ODticmVha31lbHNle2E9YTw8MTtkPWJ9fWlmKChifDApPT02OCl7
Y1tlPj4yXT1oO2NbaCsyND4+Ml09ZDtjW2grMTI+PjJdPWg7Y1toKzg+PjJdPWg7cmV0dXJufWVs
c2UgaWYoKGJ8MCk9PTY5KXtnPWQrOHwwO2k9Y1tnPj4yXXwwO2NbaSsxMj4+Ml09aDtjW2c+PjJd
PWg7Y1toKzg+PjJdPWk7Y1toKzEyPj4yXT1kO2NbaCsyND4+Ml09MDtyZXR1cm59fWZ1bmN0aW9u
IGRKKGEsYil7YT1hfDA7Yj1ifDA7aWYoYT4+PjA8OSl7Yj1aSShiKXwwO3JldHVybiBifDB9ZWxz
ZXtiPWVKKGEsYil8MDtyZXR1cm4gYnwwfXJldHVybiAwfWZ1bmN0aW9uIGVKKGEsYil7YT1hfDA7
Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wO2E9YT4+PjA+MTY/YToxNjtpZihhKy0x
JmEpe2Q9MTY7d2hpbGUoMSlpZihkPj4+MDxhPj4+MClkPWQ8PDE7ZWxzZXthPWQ7YnJlYWt9fWlm
KCgtNjQtYXwwKT4+PjA8PWI+Pj4wKXtjWyhqSigpfDApPj4yXT0xMjtoPTA7cmV0dXJuIGh8MH1n
PWI+Pj4wPDExPzE2OmIrMTEmLTg7ZD1aSShnKzEyK2F8MCl8MDtpZighZCl7aD0wO3JldHVybiBo
fDB9Zj1kKy04fDA7ZG8gaWYoYSstMSZkKXtlPShkK2ErLTEmMC1hKSstOHwwO2I9ZjtlPShlLWJ8
MCk+Pj4wPjE1P2U6ZSthfDA7Yj1lLWJ8MDthPWQrLTR8MDtpPWNbYT4+Ml18MDtkPShpJi04KS1i
fDA7aWYoIShpJjMpKXtjW2U+PjJdPShjW2Y+PjJdfDApK2I7Y1tlKzQ+PjJdPWQ7YT1lO2I9ZTti
cmVha31lbHNle2k9ZSs0fDA7Y1tpPj4yXT1kfGNbaT4+Ml0mMXwyO2Q9ZStkKzR8MDtjW2Q+PjJd
PWNbZD4+Ml18MTtjW2E+PjJdPWJ8Y1thPj4yXSYxfDI7Y1tpPj4yXT1jW2k+PjJdfDE7Y0ooZixi
KTthPWU7Yj1lO2JyZWFrfX1lbHNle2E9ZjtiPWZ9d2hpbGUoMCk7YT1hKzR8MDtkPWNbYT4+Ml18
MDtpZihkJjN8MD8oaD1kJi04LGg+Pj4wPihnKzE2fDApPj4+MCk6MCl7aT1oLWd8MDtmPWIrZ3ww
O2NbYT4+Ml09Z3xkJjF8MjtjW2YrND4+Ml09aXwzO2g9YitoKzR8MDtjW2g+PjJdPWNbaD4+Ml18
MTtjSihmLGkpfWk9Yis4fDA7cmV0dXJuIGl8MH1mdW5jdGlvbiBmSihhKXthPWF8MDt2YXIgYj0w
LGQ9MDtiPWw7bD1sKzE2fDA7ZD1iO2NbZD4+Ml09a0ooY1thKzYwPj4yXXwwKXwwO2E9aUooRGEo
NixkfDApfDApfDA7bD1iO3JldHVybiBhfDB9ZnVuY3Rpb24gZ0ooYixkLGUpe2I9YnwwO2Q9ZHww
O2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTA7az1sO2w9bCszMnwwO2Y9aztp
PWsrMTZ8MDtjW2k+PjJdPWQ7Zz1pKzR8MDtqPWIrNDh8MDttPWNbaj4+Ml18MDtjW2c+PjJdPWUt
KChtfDApIT0wJjEpO2g9Yis0NHwwO2NbaSs4Pj4yXT1jW2g+PjJdO2NbaSsxMj4+Ml09bTtjW2Y+
PjJdPWNbYis2MD4+Ml07Y1tmKzQ+PjJdPWk7Y1tmKzg+PjJdPTI7Zj1pSih1YSgxNDUsZnwwKXww
KXwwO2lmKChmfDApPj0xKXtpPWNbZz4+Ml18MDtpZihmPj4+MD5pPj4+MCl7Zz1jW2g+PjJdfDA7
aD1iKzR8MDtjW2g+PjJdPWc7Y1tiKzg+PjJdPWcrKGYtaSk7aWYoIShjW2o+PjJdfDApKWY9ZTtl
bHNle2NbaD4+Ml09ZysxO2FbZCsoZSstMSk+PjBdPWFbZz4+MF18MDtmPWV9fX1lbHNlIGNbYj4+
Ml09Y1tiPj4yXXxmJjQ4XjE2O2w9aztyZXR1cm4gZnwwfWZ1bmN0aW9uIGhKKGEsYixkKXthPWF8
MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTA7Zj1sO2w9bCszMnwwO2c9ZjtlPWYrMjB8MDtj
W2c+PjJdPWNbYSs2MD4+Ml07Y1tnKzQ+PjJdPTA7Y1tnKzg+PjJdPWI7Y1tnKzEyPj4yXT1lO2Nb
ZysxNj4+Ml09ZDtpZigoaUoodGEoMTQwLGd8MCl8MCl8MCk8MCl7Y1tlPj4yXT0tMTthPS0xfWVs
c2UgYT1jW2U+PjJdfDA7bD1mO3JldHVybiBhfDB9ZnVuY3Rpb24gaUooYSl7YT1hfDA7aWYoYT4+
PjA+NDI5NDk2MzIwMCl7Y1soakooKXwwKT4+Ml09MC1hO2E9LTF9cmV0dXJuIGF8MH1mdW5jdGlv
biBqSigpe3JldHVybiAxNzA2OTZ9ZnVuY3Rpb24ga0ooYSl7YT1hfDA7cmV0dXJuIGF8MH1mdW5j
dGlvbiBsSihiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTA7Zz1sO2w9bCszMnww
O2Y9ZztjW2IrMzY+PjJdPTk7aWYoKGNbYj4+Ml0mNjR8MCk9PTA/KGNbZj4+Ml09Y1tiKzYwPj4y
XSxjW2YrND4+Ml09MjE1MjMsY1tmKzg+PjJdPWcrMTYsQ2EoNTQsZnwwKXwwKTowKWFbYis3NT4+
MF09LTE7Zj1tSihiLGQsZSl8MDtsPWc7cmV0dXJuIGZ8MH1mdW5jdGlvbiBtSihhLGIsZCl7YT1h
fDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTAsbj0wLG89
MCxwPTA7bj1sO2w9bCs0OHwwO2s9bisxNnwwO2c9bjtmPW4rMzJ8MDtpPWErMjh8MDtlPWNbaT4+
Ml18MDtjW2Y+PjJdPWU7aj1hKzIwfDA7ZT0oY1tqPj4yXXwwKS1lfDA7Y1tmKzQ+PjJdPWU7Y1tm
Kzg+PjJdPWI7Y1tmKzEyPj4yXT1kO2U9ZStkfDA7aD1hKzYwfDA7Y1tnPj4yXT1jW2g+PjJdO2Nb
Zys0Pj4yXT1mO2NbZys4Pj4yXT0yO2c9aUoodmEoMTQ2LGd8MCl8MCl8MDthOmRvIGlmKChlfDAp
IT0oZ3wwKSl7Yj0yO3doaWxlKDEpe2lmKChnfDApPDApYnJlYWs7ZT1lLWd8MDtwPWNbZis0Pj4y
XXwwO289Zz4+PjA+cD4+PjA7Zj1vP2YrOHwwOmY7Yj1iKyhvPDwzMT4+MzEpfDA7cD1nLShvP3A6
MCl8MDtjW2Y+PjJdPShjW2Y+PjJdfDApK3A7bz1mKzR8MDtjW28+PjJdPShjW28+PjJdfDApLXA7
Y1trPj4yXT1jW2g+PjJdO2Nbays0Pj4yXT1mO2Nbays4Pj4yXT1iO2c9aUoodmEoMTQ2LGt8MCl8
MCl8MDtpZigoZXwwKT09KGd8MCkpe209MzticmVhayBhfX1jW2ErMTY+PjJdPTA7Y1tpPj4yXT0w
O2Nbaj4+Ml09MDtjW2E+PjJdPWNbYT4+Ml18MzI7aWYoKGJ8MCk9PTIpZD0wO2Vsc2UgZD1kLShj
W2YrND4+Ml18MCl8MH1lbHNlIG09Mzt3aGlsZSgwKTtpZigobXwwKT09Myl7cD1jW2ErNDQ+PjJd
fDA7Y1thKzE2Pj4yXT1wKyhjW2ErNDg+PjJdfDApO2NbaT4+Ml09cDtjW2o+PjJdPXB9bD1uO3Jl
dHVybiBkfDB9ZnVuY3Rpb24gbkooYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MDtkPWw7bD1s
KzE2fDA7ZT1kO2NbZT4+Ml09YTtjW2UrND4+Ml09YjtiPWlKKEVhKDkxLGV8MCl8MCl8MDtsPWQ7
cmV0dXJuIGJ8MH1mdW5jdGlvbiBvSigpe3JldHVybn1mdW5jdGlvbiBwSihhLGIsZCxlLGYsZyl7
YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7dmFyIGg9MCxpPTA7aT1sO2w9bCsz
MnwwO2g9aTtkbyBpZigoZyY0MDk1fDApPT0wJigoKGd8MCk8MCk8PDMxPj4zMSYtNDA5NnwwKT09
MCl7aWYoYj4+PjA+MjE0NzQ4MzY0Nil7Y1soakooKXwwKT4+Ml09MTI7YT0tMTticmVha31jW2g+
PjJdPWE7Y1toKzQ+PjJdPWI7Y1toKzg+PjJdPWQ7Y1toKzEyPj4yXT1lO2NbaCsxNj4+Ml09Zjtj
W2grMjA+PjJdPWc+PjEyO2E9aUood2EoMTkyLGh8MCl8MCl8MH1lbHNle2NbKGpKKCl8MCk+PjJd
PTIyO2E9LTF9d2hpbGUoMCk7bD1pO3JldHVybiBhfDB9ZnVuY3Rpb24gcUooYixkKXtiPWJ8MDtk
PWR8MDt2YXIgZT0wLGY9MCxnPTA7Zj1kJjI1NTthOmRvIGlmKCFmKWI9YisockooYil8MCl8MDtl
bHNle2lmKGImMyl7ZT1kJjI1NTtkb3tnPWFbYj4+MF18MDtpZihnPDwyND4+MjQ9PTA/MTpnPDwy
ND4+MjQ9PWU8PDI0Pj4yNClicmVhayBhO2I9YisxfDB9d2hpbGUoKGImM3wwKSE9MCl9Zj1PKGYs
MTY4NDMwMDkpfDA7ZT1jW2I+PjJdfDA7YjpkbyBpZighKChlJi0yMTM5MDYyMTQ0Xi0yMTM5MDYy
MTQ0KSZlKy0xNjg0MzAwOSkpZG97Zz1lXmY7aWYoKGcmLTIxMzkwNjIxNDReLTIxMzkwNjIxNDQp
JmcrLTE2ODQzMDA5fDApYnJlYWsgYjtiPWIrNHwwO2U9Y1tiPj4yXXwwfXdoaWxlKCEoKGUmLTIx
MzkwNjIxNDReLTIxMzkwNjIxNDQpJmUrLTE2ODQzMDA5fDApKTt3aGlsZSgwKTtlPWQmMjU1O3do
aWxlKDEpe2c9YVtiPj4wXXwwO2lmKGc8PDI0Pj4yND09MD8xOmc8PDI0Pj4yND09ZTw8MjQ+PjI0
KWJyZWFrO2Vsc2UgYj1iKzF8MH19d2hpbGUoMCk7cmV0dXJuIGJ8MH1mdW5jdGlvbiBySihiKXti
PWJ8MDt2YXIgZD0wLGU9MCxmPTA7Zj1iO2E6ZG8gaWYoIShmJjMpKWU9NDtlbHNle2Q9Zjt3aGls
ZSgxKXtpZighKGFbYj4+MF18MCkpe2I9ZDticmVhayBhfWI9YisxfDA7ZD1iO2lmKCEoZCYzKSl7
ZT00O2JyZWFrfX19d2hpbGUoMCk7aWYoKGV8MCk9PTQpe3doaWxlKDEpe2Q9Y1tiPj4yXXwwO2lm
KCEoKGQmLTIxMzkwNjIxNDReLTIxMzkwNjIxNDQpJmQrLTE2ODQzMDA5KSliPWIrNHwwO2Vsc2Ug
YnJlYWt9aWYoKGQmMjU1KTw8MjQ+PjI0KWRvIGI9YisxfDA7d2hpbGUoKGFbYj4+MF18MCkhPTAp
fXJldHVybiBiLWZ8MH1mdW5jdGlvbiBzSihiLGUpe2I9YnwwO2U9ZXwwO3ZhciBmPTAsZz0wO2c9
MDt3aGlsZSgxKXtpZigoZFsxMjU4MzMrZz4+MF18MCk9PShifDApKXtiPTI7YnJlYWt9Zj1nKzF8
MDtpZigoZnwwKT09ODcpe2Y9MTI1OTIxO2c9ODc7Yj01O2JyZWFrfWVsc2UgZz1mfWlmKChifDAp
PT0yKWlmKCFnKWY9MTI1OTIxO2Vsc2V7Zj0xMjU5MjE7Yj01fWlmKChifDApPT01KXdoaWxlKDEp
e2Rve2I9ZjtmPWYrMXwwfXdoaWxlKChhW2I+PjBdfDApIT0wKTtnPWcrLTF8MDtpZighZylicmVh
aztlbHNlIGI9NX1yZXR1cm4gdEooZixjW2UrMjA+PjJdfDApfDB9ZnVuY3Rpb24gdEooYSxiKXth
PWF8MDtiPWJ8MDtyZXR1cm4gdUooYSxiKXwwfWZ1bmN0aW9uIHVKKGEsYil7YT1hfDA7Yj1ifDA7
aWYoIWIpYj0wO2Vsc2UgYj12SihjW2I+PjJdfDAsY1tiKzQ+PjJdfDAsYSl8MDtyZXR1cm4gKGJ8
MD9iOmEpfDB9ZnVuY3Rpb24gdkooYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0w
LGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7bz0oY1tiPj4yXXwwKSsxNzk0ODk1MTM4
fDA7aD13SihjW2IrOD4+Ml18MCxvKXwwO2Y9d0ooY1tiKzEyPj4yXXwwLG8pfDA7Zz13SihjW2Ir
MTY+PjJdfDAsbyl8MDthOmRvIGlmKChoPj4+MDxkPj4+Mj4+PjA/KG49ZC0oaDw8Mil8MCxmPj4+
MDxuPj4+MCZnPj4+MDxuPj4+MCk6MCk/KChnfGYpJjN8MCk9PTA6MCl7bj1mPj4+MjttPWc+Pj4y
O2w9MDt3aGlsZSgxKXtqPWg+Pj4xO2s9bCtqfDA7aT1rPDwxO2c9aStufDA7Zj13SihjW2IrKGc8
PDIpPj4yXXwwLG8pfDA7Zz13SihjW2IrKGcrMTw8Mik+PjJdfDAsbyl8MDtpZighKGc+Pj4wPGQ+
Pj4wJmY+Pj4wPChkLWd8MCk+Pj4wKSl7Zj0wO2JyZWFrIGF9aWYoYVtiKyhnK2YpPj4wXXwwKXtm
PTA7YnJlYWsgYX1mPXhKKGUsYitnfDApfDA7aWYoIWYpYnJlYWs7Zj0oZnwwKTwwO2lmKChofDAp
PT0xKXtmPTA7YnJlYWsgYX1lbHNle2w9Zj9sOms7aD1mP2o6aC1qfDB9fWY9aSttfDA7Zz13Sihj
W2IrKGY8PDIpPj4yXXwwLG8pfDA7Zj13SihjW2IrKGYrMTw8Mik+PjJdfDAsbyl8MDtpZihmPj4+
MDxkPj4+MCZnPj4+MDwoZC1mfDApPj4+MClmPShhW2IrKGYrZyk+PjBdfDApPT0wP2IrZnwwOjA7
ZWxzZSBmPTB9ZWxzZSBmPTA7d2hpbGUoMCk7cmV0dXJuIGZ8MH1mdW5jdGlvbiB3SihhLGIpe2E9
YXwwO2I9YnwwO3ZhciBjPTA7Yz1RTihhfDApfDA7cmV0dXJuICgoYnwwKT09MD9hOmMpfDB9ZnVu
Y3Rpb24geEooYixjKXtiPWJ8MDtjPWN8MDt2YXIgZD0wLGU9MDtkPWFbYj4+MF18MDtlPWFbYz4+
MF18MDtpZihkPDwyND4+MjQ9PTA/MTpkPDwyND4+MjQhPWU8PDI0Pj4yNCliPWU7ZWxzZXtkb3ti
PWIrMXwwO2M9YysxfDA7ZD1hW2I+PjBdfDA7ZT1hW2M+PjBdfDB9d2hpbGUoIShkPDwyND4+MjQ9
PTA/MTpkPDwyND4+MjQhPWU8PDI0Pj4yNCkpO2I9ZX1yZXR1cm4gKGQmMjU1KS0oYiYyNTUpfDB9
ZnVuY3Rpb24geUooYSl7YT1hfDA7cmV0dXJuIHNKKGEsY1soekooKXwwKSsxODg+PjJdfDApfDB9
ZnVuY3Rpb24gekooKXtyZXR1cm4gQUooKXwwfWZ1bmN0aW9uIEFKKCl7cmV0dXJuIDU1ODAwfWZ1
bmN0aW9uIEJKKGEsYixjKXthPSthO2I9K2I7Yz1jfDA7dmFyIGQ9MC4wLGU9MC4wLGY9MC4wO2Y9
YSphO2Q9ZiooZipmKSooZioxLjU4OTY5MDk5NTIxMTU1ZS0xMCstMi41MDUwNzYwMjUzNDA2ODYz
ZS0wOCkrKGYqKGYqMi43NTU3MzEzNzA3MDcwMDY4ZS0wNistMS45ODQxMjY5ODI5ODU3OTVlLTA0
KSsuMDA4MzMzMzMzMzMzMzIyNDkpO2U9ZiphO2lmKCFjKWE9ZSooZipkKy0uMTY2NjY2NjY2NjY2
NjY2MzIpK2E7ZWxzZSBhPWEtKGUqLjE2NjY2NjY2NjY2NjY2NjMyKyhmKihiKi41LWUqZCktYikp
O3JldHVybiArYX1mdW5jdGlvbiBDSihhKXthPSthO3ZhciBiPTAsZD0wLGU9MCxmPTAsZz0wLjAs
aT0wLjAsaz0wLjAsbD0wLjAsbT0wLjA7aFtqPj4zXT1hO2I9Y1tqPj4yXXwwO2Q9Y1tqKzQ+PjJd
fDA7ZT0oZHwwKTwwO2RvIGlmKGV8ZD4+PjA8MTA0ODU3Nil7aWYoKGJ8MCk9PTAmKGQmMjE0NzQ4
MzY0N3wwKT09MCl7YT0tMS4wLyhhKmEpO2JyZWFrfWlmKGUpe2E9KGEtYSkvMC4wO2JyZWFrfWVs
c2V7aFtqPj4zXT1hKjE4MDE0Mzk4NTA5NDgxOTg0LjA7ZD1jW2orND4+Ml18MDtlPS0xMDc3O2I9
Y1tqPj4yXXwwO2Y9OTticmVha319ZWxzZSBpZihkPj4+MDw9MjE0NjQzNTA3MSlpZigoYnwwKT09
MCYwPT0wJihkfDApPT0xMDcyNjkzMjQ4KWE9MC4wO2Vsc2V7ZT0tMTAyMztmPTl9d2hpbGUoMCk7
aWYoKGZ8MCk9PTkpe2Y9ZCs2MTQyNDJ8MDtjW2o+PjJdPWI7Y1tqKzQ+PjJdPShmJjEwNDg1NzUp
KzEwNzIwNzkwMDY7bT0raFtqPj4zXSstMS4wO2s9bSoobSouNSk7aT1tLyhtKzIuMCk7bD1pKmk7
Zz1sKmw7aFtqPj4zXT1tLWs7ZD1jW2orND4+Ml18MDtjW2o+PjJdPTA7Y1tqKzQ+PjJdPWQ7YT0r
aFtqPj4zXTtnPW0tYS1rK2kqKGsrKGcqKGcqKGcqLjE1MzEzODM3Njk5MjA5MzczKy4yMjIyMjE5
ODQzMjE0OTc4NCkrLjM5OTk5OTk5OTk5NDA5NDIpK2wqKGcqKGcqKGcqLjE0Nzk4MTk4NjA1MTE2
NTg2Ky4xODE4MzU3MjE2MTYxODA1KSsuMjg1NzE0Mjg3NDM2NjIzOSkrLjY2NjY2NjY2NjY2NjY3
MzUpKSk7bD1hKjEuNDQyNjk1MDQwNzIxNDQ2MztrPSsoZSsoZj4+PjIwKXwwKTtpPWwrazthPWkr
KGwrKGstaSkrKGcqMS40NDI2OTUwNDA3MjE0NDYzKyhnK2EpKjEuNjc1MTcxMzE2NDg4NjUxMmUt
MTApKX1yZXR1cm4gK2F9ZnVuY3Rpb24gREooYSxiKXthPSthO2I9YnwwO3ZhciBkPTAsZT0wLGY9
MDtoW2o+PjNdPWE7ZD1jW2o+PjJdfDA7ZT1jW2orND4+Ml18MDtmPU5OKGR8MCxlfDAsNTIpfDA7
c3dpdGNoKGYmMjA0Nyl7Y2FzZSAwOntpZihhIT0wLjApe2E9K0RKKGEqMTg0NDY3NDQwNzM3MDk1
NTE2MTYuMCxiKTtkPShjW2I+PjJdfDApKy02NHwwfWVsc2UgZD0wO2NbYj4+Ml09ZDticmVha31j
YXNlIDIwNDc6YnJlYWs7ZGVmYXVsdDp7Y1tiPj4yXT0oZiYyMDQ3KSstMTAyMjtjW2o+PjJdPWQ7
Y1tqKzQ+PjJdPWUmLTIxNDY0MzUwNzN8MTA3MTY0NDY3MjthPStoW2o+PjNdfX1yZXR1cm4gK2F9
ZnVuY3Rpb24gRUooYSxiKXthPSthO2I9K2I7dmFyIGM9MC4wLGQ9MC4wLGU9MC4wLGY9MC4wO2M9
YSphO2Q9YypjO2U9YyouNTtmPTEuMC1lO3JldHVybiArKGYrKDEuMC1mLWUrKGMqKGMqKGMqKGMq
Mi40ODAxNTg3Mjg5NDc2NzNlLTA1Ky0uMDAxMzg4ODg4ODg4ODg3NDExKSsuMDQxNjY2NjY2NjY2
NjY2NikrZCpkKihjKigyLjA4NzU3MjMyMTI5ODE3NWUtMDktYyoxLjEzNTk2NDc1NTc3ODgxOTVl
LTExKSstMi43NTU3MzE0MzUxMzkwNjYzZS0wNykpLWEqYikpKX1mdW5jdGlvbiBGSihhKXthPSth
O3ZhciBiPTAsZD0wLGU9MCxmPTAsZz0wLjAsaT0wLjAsaz0wLjAsbD0wLjAsbT0wLjA7aFtqPj4z
XT1hO2I9Y1tqPj4yXXwwO2Q9Y1tqKzQ+PjJdfDA7ZT0oZHwwKTwwO2RvIGlmKGV8ZD4+PjA8MTA0
ODU3Nil7aWYoKGJ8MCk9PTAmKGQmMjE0NzQ4MzY0N3wwKT09MCl7YT0tMS4wLyhhKmEpO2JyZWFr
fWlmKGUpe2E9KGEtYSkvMC4wO2JyZWFrfWVsc2V7aFtqPj4zXT1hKjE4MDE0Mzk4NTA5NDgxOTg0
LjA7ZD1jW2orND4+Ml18MDtlPS0xMDc3O2I9Y1tqPj4yXXwwO2Y9OTticmVha319ZWxzZSBpZihk
Pj4+MDw9MjE0NjQzNTA3MSlpZigoYnwwKT09MCYwPT0wJihkfDApPT0xMDcyNjkzMjQ4KWE9MC4w
O2Vsc2V7ZT0tMTAyMztmPTl9d2hpbGUoMCk7aWYoKGZ8MCk9PTkpe2Y9ZCs2MTQyNDJ8MDtjW2o+
PjJdPWI7Y1tqKzQ+PjJdPShmJjEwNDg1NzUpKzEwNzIwNzkwMDY7az0raFtqPj4zXSstMS4wO2k9
ayooayouNSk7bD1rLyhrKzIuMCk7bT1sKmw7Zz1tKm07aFtqPj4zXT1rLWk7ZD1jW2orND4+Ml18
MDtjW2o+PjJdPTA7Y1tqKzQ+PjJdPWQ7YT0raFtqPj4zXTtnPWstYS1pK2wqKGkrKGcqKGcqKGcq
LjE1MzEzODM3Njk5MjA5MzczKy4yMjIyMjE5ODQzMjE0OTc4NCkrLjM5OTk5OTk5OTk5NDA5NDIp
K20qKGcqKGcqKGcqLjE0Nzk4MTk4NjA1MTE2NTg2Ky4xODE4MzU3MjE2MTYxODA1KSsuMjg1NzE0
Mjg3NDM2NjIzOSkrLjY2NjY2NjY2NjY2NjY3MzUpKSk7bT1hKi40MzQyOTQ0ODE4NzgxNjg5O2k9
KyhlKyhmPj4+MjApfDApO2w9aSouMzAxMDI5OTk1NjYzNjExNzc7az1sK207YT1rKyhtKyhsLWsp
KyhnKi40MzQyOTQ0ODE4NzgxNjg5KyhpKjMuNjk0MjM5MDc3MTU4OTMxZS0xMysoZythKSoyLjUw
ODI5NDY3MTE2NDUyNzVlLTExKSkpfXJldHVybiArYX1mdW5jdGlvbiBHSihhLGIpe2E9K2E7Yj1i
fDA7dmFyIGQ9MCxlPTAuMCxmPTAuMCxnPTAuMCxpPTAsaz0wLjAsbT0wLG49MCxvPTAscD0wLHE9
MCxyPTAscz0wLjA7cj1sO2w9bCs0OHwwO209cisxNnwwO249cjtoW2o+PjNdPWE7ZD1jW2o+PjJd
fDA7aT1jW2orND4+Ml18MDtvPU5OKGR8MCxpfDAsNjMpfDA7cT1pJjIxNDc0ODM2NDc7ZG8gaWYo
cT4+PjA8MTA3NDc1MjEyMylpZigoaSYxMDQ4NTc1fDApIT01OTg1MjMpe2Q9KG98MCkhPTA7aWYo
cT4+PjA8MTA3MzkyODU3MylpZihkKXtnPWErMS41NzA3OTYzMjY3MzQxMjU2O2s9Zys2LjA3NzEw
MDUwNjUwNjE5MmUtMTE7aFtiPj4zXT1rO2hbYis4Pj4zXT1nLWsrNi4wNzcxMDA1MDY1MDYxOTJl
LTExO2Q9LTE7YnJlYWt9ZWxzZXtnPWErLTEuNTcwNzk2MzI2NzM0MTI1NjtrPWcrLTYuMDc3MTAw
NTA2NTA2MTkyZS0xMTtoW2I+PjNdPWs7aFtiKzg+PjNdPWctaystNi4wNzcxMDA1MDY1MDYxOTJl
LTExO2Q9MTticmVha31lbHNlIGlmKGQpe2c9YSszLjE0MTU5MjY1MzQ2ODI1MTI7az1nKzEuMjE1
NDIwMTAxMzAxMjM4NGUtMTA7aFtiPj4zXT1rO2hbYis4Pj4zXT1nLWsrMS4yMTU0MjAxMDEzMDEy
Mzg0ZS0xMDtkPS0yO2JyZWFrfWVsc2V7Zz1hKy0zLjE0MTU5MjY1MzQ2ODI1MTI7az1nKy0xLjIx
NTQyMDEwMTMwMTIzODRlLTEwO2hbYj4+M109aztoW2IrOD4+M109Zy1rKy0xLjIxNTQyMDEwMTMw
MTIzODRlLTEwO2Q9MjticmVha319ZWxzZSBwPTIxO2Vsc2V7aWYocT4+PjA8MTA3NTU5NDgxMilp
ZihxPj4+MDwxMDc1MTgzMDM3KXtpZigocXwwKT09MTA3NDk3NzE0OCl7cD0yMTticmVha31pZigh
byl7Zz1hKy00LjcxMjM4ODk4MDIwMjM3NztrPWcrLTEuODIzMTMwMTUxOTUxODU3OGUtMTA7aFti
Pj4zXT1rO2hbYis4Pj4zXT1nLWsrLTEuODIzMTMwMTUxOTUxODU3OGUtMTA7ZD0zO2JyZWFrfWVs
c2V7Zz1hKzQuNzEyMzg4OTgwMjAyMzc3O2s9ZysxLjgyMzEzMDE1MTk1MTg1NzhlLTEwO2hbYj4+
M109aztoW2IrOD4+M109Zy1rKzEuODIzMTMwMTUxOTUxODU3OGUtMTA7ZD0tMzticmVha319ZWxz
ZXtpZigocXwwKT09MTA3NTM4ODkyMyl7cD0yMTticmVha31pZighbyl7Zz1hKy02LjI4MzE4NTMw
NjkzNjUwMjU7az1nKy0yLjQzMDg0MDIwMjYwMjQ3N2UtMTA7aFtiPj4zXT1rO2hbYis4Pj4zXT1n
LWsrLTIuNDMwODQwMjAyNjAyNDc3ZS0xMDtkPTQ7YnJlYWt9ZWxzZXtnPWErNi4yODMxODUzMDY5
MzY1MDI1O2s9ZysyLjQzMDg0MDIwMjYwMjQ3N2UtMTA7aFtiPj4zXT1rO2hbYis4Pj4zXT1nLWsr
Mi40MzA4NDAyMDI2MDI0NzdlLTEwO2Q9LTQ7YnJlYWt9fWlmKHE+Pj4wPj0xMDk0MjYzMjkxKXtp
ZihxPj4+MD4yMTQ2NDM1MDcxKXtrPWEtYTtoW2IrOD4+M109aztoW2I+PjNdPWs7ZD0wO2JyZWFr
fWNbaj4+Ml09ZDtjW2orND4+Ml09aSYxMDQ4NTc1fDEwOTY4MTA0OTY7YT0raFtqPj4zXTtkPTA7
ZG97az0rKH5+YXwwKTtoW20rKGQ8PDMpPj4zXT1rO2E9KGEtaykqMTY3NzcyMTYuMDtkPWQrMXww
fXdoaWxlKChkfDApIT0yKTtoW20rMTY+PjNdPWE7aWYoYT09MC4wKXtkPTE7d2hpbGUoMSlpZigr
aFttKyhkPDwzKT4+M109PTAuMClkPWQrLTF8MDtlbHNlIGJyZWFrfWVsc2UgZD0yO2Q9SEoobSxu
LChxPj4+MjApKy0xMDQ2fDAsZCsxfDAsMSl8MDthPStoW24+PjNdO2lmKCFvKXtoW2I+PjNdPWE7
aFtiKzg+PjNdPStoW24rOD4+M107YnJlYWt9ZWxzZXtoW2I+PjNdPS1hO2hbYis4Pj4zXT0tK2hb
bis4Pj4zXTtkPTAtZHwwO2JyZWFrfX1lbHNlIHA9MjF9d2hpbGUoMCk7aWYoKHB8MCk9PTIxKXtn
PWEqLjYzNjYxOTc3MjM2NzU4MTQrNjc1NTM5OTQ0MTA1NTc0NC4wKy02NzU1Mzk5NDQxMDU1NzQ0
LjA7ZD1+fmc7ZT1hLWcqMS41NzA3OTYzMjY3MzQxMjU2O2Y9Zyo2LjA3NzEwMDUwNjUwNjE5MmUt
MTE7YT1lLWY7aFtiPj4zXT1hO2hbaj4+M109YTtwPU5OKGNbaj4+Ml18MCxjW2orND4+Ml18MCw1
Mil8MDtpPXE+Pj4yMDtpZigoaS0ocCYyMDQ3KXwwKT4xNil7Zj1nKjYuMDc3MTAwNTA2MzAzOTY2
ZS0xMTtrPWUtZjtmPWcqMi4wMjIyNjYyNDg3OTU5NTA2ZS0yMS0oZS1rLWYpO2E9ay1mO2hbYj4+
M109YTtoW2o+PjNdPWE7cT1OTihjW2o+PjJdfDAsY1tqKzQ+PjJdfDAsNTIpfDA7cz1nKjIuMDIy
MjY2MjQ4NzExMTY2NWUtMjE7ZT1rLXM7Zz1nKjguNDc4NDI3NjYwMzY4OWUtMzItKGstZS1zKTtp
ZigoaS0ocSYyMDQ3KXwwKT40OSl7YT1lLWc7aFtiPj4zXT1hO2Y9Z31lbHNlIGU9a31oW2IrOD4+
M109ZS1hLWZ9bD1yO3JldHVybiBkfDB9ZnVuY3Rpb24gSEooYSxiLGQsZSxmKXthPWF8MDtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLjAsaT0wLjAsaj0wLGs9MCxtPTAsbj0wLG89MCxw
PTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEI9MCxDPTAsRD0wLEU9
MCxGPTAsRz0wLEg9MCxJPTAuMDtIPWw7bD1sKzU2MHwwO0M9SCs0ODB8MDt6PUgrMzIwfDA7Rz1I
KzE2MHwwO0U9SDtEPWNbNTYwNDQrKGY8PDIpPj4yXXwwO3A9ZSstMXwwO3k9KGQrLTN8MCkvMjR8
MDt5PSh5fDApPjA/eTowO0I9Tyh5LC0yNCl8MDtqPWQrLTI0K0J8MDtpZigoRCtwfDApPj0wKXtu
PUQrZXwwO2s9eS1wfDA7bT0wO3doaWxlKDEpe2lmKChrfDApPDApZz0wLjA7ZWxzZSBnPSsoY1s1
NjA2MCsoazw8Mik+PjJdfDApO2hbeisobTw8Myk+PjNdPWc7bT1tKzF8MDtpZigobXwwKT09KG58
MCkpYnJlYWs7ZWxzZSBrPWsrMXwwfX1vPShlfDApPjA7bj0wO3doaWxlKDEpe2lmKG8pe209bitw
fDA7Zz0wLjA7az0wO2Rve2c9ZysgK2hbYSsoazw8Myk+PjNdKitoW3orKG0tazw8Myk+PjNdO2s9
aysxfDB9d2hpbGUoKGt8MCkhPShlfDApKX1lbHNlIGc9MC4wO2hbRSsobjw8Myk+PjNdPWc7aWYo
KG58MCk8KER8MCkpbj1uKzF8MDtlbHNlIGJyZWFrfXQ9KGp8MCk+MDt1PTI0LWp8MDt2PTIzLWp8
MDt3PShlfDApPjA7eD0oanwwKT09MDtrPUQ7YTp3aGlsZSgxKXtnPStoW0UrKGs8PDMpPj4zXTtv
PShrfDApPjA7aWYobyl7bT1rO249MDt3aGlsZSgxKXtpPSsofn4oZyo1Ljk2MDQ2NDQ3NzUzOTA2
MjVlLTA4KXwwKTtjW0MrKG48PDIpPj4yXT1+fihnLWkqMTY3NzcyMTYuMCk7cz1tO209bSstMXww
O2c9K2hbRSsobTw8Myk+PjNdK2k7aWYoKHN8MCk8PTEpYnJlYWs7ZWxzZSBuPW4rMXwwfX1nPStJ
SihnLGopO2c9Zy0rQSgrKGcqLjEyNSkpKjguMDttPX5+ZztnPWctKyhtfDApO2RvIGlmKCF0KWlm
KCF4KWlmKCEoZz49LjUpKXtwPTA7cz1tO2JyZWFrfWVsc2V7bj0yO0Y9MjA7YnJlYWt9ZWxzZXtu
PWNbQysoaystMTw8Mik+PjJdPj4yMztGPTE5O2JyZWFrfWVsc2V7cz1DKyhrKy0xPDwyKXwwO249
Y1tzPj4yXXwwO0Y9bj4+dTtuPW4tKEY8PHUpfDA7Y1tzPj4yXT1uO249bj4+djttPUYrbXwwO0Y9
MTl9d2hpbGUoMCk7aWYoKEZ8MCk9PTE5KXtGPTA7aWYoKG58MCk+MClGPTIwO2Vsc2V7cD1uO3M9
bX19aWYoKEZ8MCk9PTIwKXtGPTA7cz1tKzF8MDtpZihvKXttPTA7cj0wO2Rve3A9Qysocjw8Mil8
MDtxPWNbcD4+Ml18MDtpZighbSlpZighcSltPTA7ZWxzZXttPTE7bz0xNjc3NzIxNjtGPTIzfWVs
c2V7bz0xNjc3NzIxNTtGPTIzfWlmKChGfDApPT0yMyl7Rj0wO2NbcD4+Ml09by1xfXI9cisxfDB9
d2hpbGUoKHJ8MCkhPShrfDApKX1lbHNlIG09MDtiOmRvIGlmKHQpe3N3aXRjaChqfDApe2Nhc2Ug
MTp7bz04Mzg4NjA3O2JyZWFrfWNhc2UgMjp7bz00MTk0MzAzO2JyZWFrfWRlZmF1bHQ6YnJlYWsg
Yn1yPUMrKGsrLTE8PDIpfDA7Y1tyPj4yXT1jW3I+PjJdJm99d2hpbGUoMCk7aWYoKG58MCk9PTIp
e2c9MS4wLWc7aWYoIW0pcD0yO2Vsc2V7cD0yO2c9Zy0rSUooMS4wLGopfX1lbHNlIHA9bn1pZigh
KGc9PTAuMCkpe0Y9NDI7YnJlYWt9aWYoKGt8MCk+KER8MCkpe209MDtuPWs7ZG97bj1uKy0xfDA7
bT1jW0MrKG48PDIpPj4yXXxtfXdoaWxlKChufDApPihEfDApKTtpZihtKXtGPTQxO2JyZWFrfWVs
c2UgbT0xfWVsc2UgbT0xO3doaWxlKDEpaWYoIShjW0MrKEQtbTw8Mik+PjJdfDApKW09bSsxfDA7
ZWxzZSBicmVhaztvPW0ra3wwO2lmKChtfDApPD0wKXtrPW87Y29udGludWV9d2hpbGUoMSl7bj1r
KzF8MDttPWsrZXwwO2hbeisobTw8Myk+PjNdPSsoY1s1NjA2MCsobit5PDwyKT4+Ml18MCk7aWYo
dyl7Zz0wLjA7az0wO2Rve2c9ZysgK2hbYSsoazw8Myk+PjNdKitoW3orKG0tazw8Myk+PjNdO2s9
aysxfDB9d2hpbGUoKGt8MCkhPShlfDApKX1lbHNlIGc9MC4wO2hbRSsobjw8Myk+PjNdPWc7aWYo
KG58MCk8KG98MCkpaz1uO2Vsc2V7az1vO2NvbnRpbnVlIGF9fX1pZigoRnwwKT09NDEpd2hpbGUo
MSl7Rj0wO2o9aistMjR8MDtrPWsrLTF8MDtpZighKGNbQysoazw8Mik+PjJdfDApKUY9NDE7ZWxz
ZXtvPWs7YnJlYWt9fWVsc2UgaWYoKEZ8MCk9PTQyKXtnPStJSihnLDAtanwwKTtpZihnPj0xNjc3
NzIxNi4wKXtpPSsofn4oZyo1Ljk2MDQ2NDQ3NzUzOTA2MjVlLTA4KXwwKTtjW0MrKGs8PDIpPj4y
XT1+fihnLWkqMTY3NzcyMTYuMCk7aj1CK2R8MDtrPWsrMXwwO2c9aX1jW0MrKGs8PDIpPj4yXT1+
fmc7bz1rfWc9K0lKKDEuMCxqKTtuPShvfDApPi0xO2lmKG4pe2o9bzt3aGlsZSgxKXtoW0UrKGo8
PDMpPj4zXT1nKisoY1tDKyhqPDwyKT4+Ml18MCk7aWYoKGp8MCk+MCl7Zz1nKjUuOTYwNDY0NDc3
NTM5MDYyNWUtMDg7aj1qKy0xfDB9ZWxzZSBicmVha31pZihuKXtrPW87d2hpbGUoMSl7bT1vLWt8
MDtqPTA7Zz0wLjA7d2hpbGUoMSl7Zz1nKyAraFsxMDg0MCsoajw8Myk+PjNdKitoW0UrKGorazw8
Myk+PjNdO2lmKChqfDApPj0oRHwwKXwoanwwKT49KG18MCkpYnJlYWs7ZWxzZSBqPWorMXwwfWhb
RysobTw8Myk+PjNdPWc7aWYoKGt8MCk+MClrPWsrLTF8MDtlbHNlIGJyZWFrfX19c3dpdGNoKGZ8
MCl7Y2FzZSAwOntpZihuKXtnPTAuMDtqPW87d2hpbGUoMSl7Zz1nKyAraFtHKyhqPDwzKT4+M107
aWYoKGp8MCk+MClqPWorLTF8MDtlbHNlIGJyZWFrfX1lbHNlIGc9MC4wO2k9KHB8MCk9PTA/Zzot
ZztGPTcyO2JyZWFrfWNhc2UgMjpjYXNlIDE6e2lmKG4pe2c9MC4wO2o9bzt3aGlsZSgxKXtnPWcr
ICtoW0crKGo8PDMpPj4zXTtpZigoanwwKT4wKWo9aistMXwwO2Vsc2UgYnJlYWt9fWVsc2UgZz0w
LjA7az0ocHwwKT09MDtoW2I+PjNdPWs/ZzotZztnPStoW0c+PjNdLWc7aWYoKG98MCk+PTEpe2o9
MTt3aGlsZSgxKXtnPWcrICtoW0crKGo8PDMpPj4zXTtpZigoanwwKT09KG98MCkpYnJlYWs7ZWxz
ZSBqPWorMXwwfX1pPWs/ZzotZztiPWIrOHwwO0Y9NzI7YnJlYWt9Y2FzZSAzOntpZigob3wwKT4w
KXtqPW87Zz0raFtHKyhvPDwzKT4+M107ZG97Rj1qO2o9aistMXwwO0U9Rysoajw8Myl8MDtpPSto
W0U+PjNdO0k9ZztnPWkrZztoW0crKEY8PDMpPj4zXT1JKyhpLWcpO2hbRT4+M109Z313aGlsZSgo
RnwwKT4xKTtrPShvfDApPjE7aWYoayl7aj1vO2c9K2hbRysobzw8Myk+PjNdO2Rve0Y9ajtqPWor
LTF8MDtFPUcrKGo8PDMpfDA7ST0raFtFPj4zXTtpPWc7Zz1JK2c7aFtHKyhGPDwzKT4+M109aSso
SS1nKTtoW0U+PjNdPWd9d2hpbGUoKEZ8MCk+Mik7aWYoayl7aj1vO2k9MC4wO3doaWxlKDEpe2k9
aSsgK2hbRysoajw8Myk+PjNdO2lmKChqfDApPjIpaj1qKy0xfDA7ZWxzZSBicmVha319ZWxzZSBp
PTAuMH1lbHNlIGk9MC4wfWVsc2UgaT0wLjA7Zz0raFtHPj4zXTtpZighcCl7aFtiPj4zXT1nO2c9
K2hbRys4Pj4zXX1lbHNle2hbYj4+M109LWc7aT0taTtnPS0raFtHKzg+PjNdfWhbYis4Pj4zXT1n
O2I9YisxNnwwO0Y9NzI7YnJlYWt9ZGVmYXVsdDp7fX1pZigoRnwwKT09NzIpaFtiPj4zXT1pO2w9
SDtyZXR1cm4gcyY3fDB9ZnVuY3Rpb24gSUooYSxiKXthPSthO2I9YnwwO3ZhciBkPTAsZT0wO2lm
KChifDApPD0xMDIzKXtpZigoYnwwKTwtMTAyMil7YT1hKjIuMjI1MDczODU4NTA3MjAxNGUtMzA4
O2U9KGJ8MCk8LTIwNDQ7ZD1iKzIwNDR8MDthPWU/YSoyLjIyNTA3Mzg1ODUwNzIwMTRlLTMwODph
O2I9ZT8oKGR8MCk+LTEwMjI/ZDotMTAyMik6YisxMDIyfDB9fWVsc2V7YT1hKjg5ODg0NjU2NzQz
MTE1Nzk1Mzg2NDY1MjUuMGUyODM7ZD0oYnwwKT4yMDQ2O2U9YistMjA0NnwwO2E9ZD9hKjg5ODg0
NjU2NzQzMTE1Nzk1Mzg2NDY1MjUuMGUyODM6YTtiPWQ/KChlfDApPDEwMjM/ZToxMDIzKTpiKy0x
MDIzfDB9ZD1PTihiKzEwMjN8MCwwLDUyKXwwO2U9ejtjW2o+PjJdPWQ7Y1tqKzQ+PjJdPWU7cmV0
dXJuICsoYSoraFtqPj4zXSl9ZnVuY3Rpb24gSkooYSl7YT0rYTt2YXIgYj0wLGQ9MCxlPTAsZj0w
LjAsZz0wLjA7aFtqPj4zXT1hO2Q9Y1tqKzQ+PjJdfDA7Yj1kJjIxNDc0ODM2NDc7ZG8gaWYoYj4+
PjA+MjE0NjQzNTA3MSlhPWErYTtlbHNle2lmKGI+Pj4wPDEwNDg1NzYpe2hbaj4+M109YSoxODAx
NDM5ODUwOTQ4MTk4NC4wO2Q9Y1tqKzQ+PjJdfDA7Yj1kJjIxNDc0ODM2NDc7aWYoIWIpYnJlYWs7
ZWxzZSBlPTY5NjIxOTc5NX1lbHNlIGU9NzE1MDk0MTYzO2Nbaj4+Ml09MDtjW2orND4+Ml09KChi
Pj4+MCkvM3wwKStlfGQmLTIxNDc0ODM2NDg7Zj0raFtqPj4zXTtnPWYqZiooZi9hKTtoW2o+PjNd
PShnKihnKmcpKihnKi4xNDU5OTYxOTI4ODY2MTI0NSstLjc1ODM5NzkzNDc3ODc2NikrKGcqKGcq
MS42MjE0Mjk3MjAxMDUzNTQ1Ky0xLjg4NDk3OTc5NTQzMzc3MTcpKzEuODc1OTUxODI0MjcxNzcp
KSpmO2Q9SE4oY1tqPj4yXXwwLGNbais0Pj4yXXwwLC0yMTQ3NDgzNjQ4LDApfDA7ZT16O2Nbaj4+
Ml09ZCYtMTA3Mzc0MTgyNDtjW2orND4+Ml09ZTtmPStoW2o+PjNdO2E9YS8oZipmKTthPShhLWYp
LyhmK2YrYSkqZitmfXdoaWxlKDApO3JldHVybiArYX1mdW5jdGlvbiBLSihhLGIpe2E9K2E7Yj0r
Yjt2YXIgZD0wLGU9MDtoW2o+PjNdPWE7ZT1jW2o+PjJdfDA7ZD1jW2orND4+Ml18MDtoW2o+PjNd
PWI7ZD1jW2orND4+Ml0mLTIxNDc0ODM2NDh8ZCYyMTQ3NDgzNjQ3O2Nbaj4+Ml09ZTtjW2orND4+
Ml09ZDtyZXR1cm4gKygraFtqPj4zXSl9ZnVuY3Rpb24gTEooYSxiKXthPSthO2I9K2I7cmV0dXJu
ICsoK0tKKGEsYikpfWZ1bmN0aW9uIE1KKGEsYil7YT0rYTtiPWJ8MDtyZXR1cm4gKygrSUooYSxi
KSl9ZnVuY3Rpb24gTkooYSxiKXthPSthO2I9K2I7cmV0dXJuICsoK09KKGEsYikpfWZ1bmN0aW9u
IE9KKGEsYil7YT0rYTtiPStiO3ZhciBkPTAsZT0wLGY9MCxnPTAsaT0wLGs9MCxsPTAsbT0wLG49
MCxvPTAscD0wLHE9MDtoW2o+PjNdPWE7aT1jW2o+PjJdfDA7bD1jW2orND4+Ml18MDtoW2o+PjNd
PWI7bj1jW2o+PjJdfDA7bz1jW2orND4+Ml18MDtlPU5OKGl8MCxsfDAsNTIpfDA7ZT1lJjIwNDc7
bT1OTihufDAsb3wwLDUyKXwwO209bSYyMDQ3O3A9bCYtMjE0NzQ4MzY0ODtnPU9OKG58MCxvfDAs
MSl8MDtrPXo7YTpkbyBpZighKChnfDApPT0wJihrfDApPT0wKT8oZj1QSihiKXwwLGQ9eiYyMTQ3
NDgzNjQ3LCEoKGV8MCk9PTIwNDd8KGQ+Pj4wPjIxNDY0MzUwNzJ8KGR8MCk9PTIxNDY0MzUwNzIm
Zj4+PjA+MCkpKTowKXtkPU9OKGl8MCxsfDAsMSl8MDtmPXo7aWYoIShmPj4+MD5rPj4+MHwoZnww
KT09KGt8MCkmZD4+PjA+Zz4+PjApKXJldHVybiArKChkfDApPT0oZ3wwKSYoZnwwKT09KGt8MCk/
YSowLjA6YSk7aWYoIWUpe2Q9T04oaXwwLGx8MCwxMil8MDtmPXo7aWYoKGZ8MCk+LTF8KGZ8MCk9
PS0xJmQ+Pj4wPjQyOTQ5NjcyOTUpe2U9MDtkb3tlPWUrLTF8MDtkPU9OKGR8MCxmfDAsMSl8MDtm
PXp9d2hpbGUoKGZ8MCk+LTF8KGZ8MCk9PS0xJmQ+Pj4wPjQyOTQ5NjcyOTUpfWVsc2UgZT0wO2k9
T04oaXwwLGx8MCwxLWV8MCl8MDtnPXp9ZWxzZSBnPWwmMTA0ODU3NXwxMDQ4NTc2O2lmKCFtKXtm
PU9OKG58MCxvfDAsMTIpfDA7az16O2lmKChrfDApPi0xfChrfDApPT0tMSZmPj4+MD40Mjk0OTY3
Mjk1KXtkPTA7ZG97ZD1kKy0xfDA7Zj1PTihmfDAsa3wwLDEpfDA7az16fXdoaWxlKChrfDApPi0x
fChrfDApPT0tMSZmPj4+MD40Mjk0OTY3Mjk1KX1lbHNlIGQ9MDtuPU9OKG58MCxvfDAsMS1kfDAp
fDA7bT1kO2w9en1lbHNlIGw9byYxMDQ4NTc1fDEwNDg1NzY7Zj1JTihpfDAsZ3wwLG58MCxsfDAp
fDA7ZD16O2s9KGR8MCk+LTF8KGR8MCk9PS0xJmY+Pj4wPjQyOTQ5NjcyOTU7YjpkbyBpZigoZXww
KT4obXwwKSl7d2hpbGUoMSl7aWYoayl7aWYoKGZ8MCk9PTAmKGR8MCk9PTApYnJlYWt9ZWxzZXtm
PWk7ZD1nfWk9T04oZnwwLGR8MCwxKXwwO2c9ejtlPWUrLTF8MDtmPUlOKGl8MCxnfDAsbnwwLGx8
MCl8MDtkPXo7az0oZHwwKT4tMXwoZHwwKT09LTEmZj4+PjA+NDI5NDk2NzI5NTtpZigoZXwwKTw9
KG18MCkpYnJlYWsgYn1iPWEqMC4wO2JyZWFrIGF9d2hpbGUoMCk7aWYoayl7aWYoKGZ8MCk9PTAm
KGR8MCk9PTApe2I9YSowLjA7YnJlYWt9fWVsc2V7ZD1nO2Y9aX1pZihkPj4+MDwxMDQ4NTc2fChk
fDApPT0xMDQ4NTc2JmY+Pj4wPDApZG97Zj1PTihmfDAsZHwwLDEpfDA7ZD16O2U9ZSstMXwwfXdo
aWxlKGQ+Pj4wPDEwNDg1NzZ8KGR8MCk9PTEwNDg1NzYmZj4+PjA8MCk7aWYoKGV8MCk+MCl7bz1I
TihmfDAsZHwwLDAsLTEwNDg1NzYpfDA7ZD16O2U9T04oZXwwLDAsNTIpfDA7ZD1kfHo7ZT1vfGV9
ZWxzZXtlPU5OKGZ8MCxkfDAsMS1lfDApfDA7ZD16fWNbaj4+Ml09ZTtjW2orND4+Ml09ZHxwO2I9
K2hbaj4+M119ZWxzZSBxPTM7d2hpbGUoMCk7aWYoKHF8MCk9PTMpe2I9YSpiO2I9Yi9ifXJldHVy
biArYn1mdW5jdGlvbiBQSihhKXthPSthO3ZhciBiPTA7aFtqPj4zXT1hO2I9Y1tqPj4yXXwwO3o9
Y1tqKzQ+PjJdfDA7cmV0dXJuIGJ8MH1mdW5jdGlvbiBRSihhLGIpe2E9K2E7Yj0rYjt2YXIgZD0w
LjAsZT0wLGY9MCxnPTAsaT0wLGs9MC4wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTA7
cT1sO2w9bCszMnwwO209cSsyNHwwO249cSsxNnwwO289cSs4fDA7cD1xO2hbaj4+M109YTt0PWNb
aj4+Ml18MDtnPWNbais0Pj4yXXwwO2hbaj4+M109YjtlPWNbaj4+Ml18MDtnPWcmMjE0NzQ4MzY0
NztmPWNbais0Pj4yXSYyMTQ3NDgzNjQ3O2k9Zz4+PjA8Zj4+PjB8KGd8MCk9PShmfDApJnQ+Pj4w
PGU+Pj4wO3M9aT9lOnQ7cj1pP2Y6ZztlPWk/dDplO2Y9aT9nOmY7Zz1OTihzfDAscnwwLDUyKXww
O2k9Tk4oZXwwLGZ8MCw1Mil8MDtjW2o+PjJdPXM7Y1tqKzQ+PjJdPXI7YT0raFtqPj4zXTtjW2o+
PjJdPWU7Y1tqKzQ+PjJdPWY7az0raFtqPj4zXTtkbyBpZigoaXwwKSE9MjA0Nyl7aWYoISgoZXww
KT09MCYoZnwwKT09MHwoZ3wwKT09MjA0Nykpe2lmKChnLWl8MCk+NjQpe2E9YStrO2JyZWFrfWlm
KChnfDApPjE1MzMpe2Q9NTI2MDEzNTkwMTU0ODM3MzUwNzI0MDk4OS4wZTE4NjtiPWEqMS45MDEw
OTE1NjYyOTUxNmUtMjExO2E9ayoxLjkwMTA5MTU2NjI5NTE2ZS0yMTF9ZWxzZXt0PShpfDApPDU3
MztkPXQ/MS45MDEwOTE1NjYyOTUxNmUtMjExOjEuMDtiPXQ/YSo1MjYwMTM1OTAxNTQ4MzczNTA3
MjQwOTg5LjBlMTg2OmE7YT10P2sqNTI2MDEzNTkwMTU0ODM3MzUwNzI0MDk4OS4wZTE4NjprfVJK
KG0sbixiKTtSSihvLHAsYSk7YT1kKitDKCsoK2hbcD4+M10rICtoW24+PjNdKyAraFtvPj4zXSsg
K2hbbT4+M10pKX19ZWxzZSBhPWs7d2hpbGUoMCk7bD1xO3JldHVybiArYX1mdW5jdGlvbiBSSihh
LGIsYyl7YT1hfDA7Yj1ifDA7Yz0rYzt2YXIgZD0wLjAsZT0wLjA7ZT1jKjEzNDIxNzcyOS4wO2U9
ZSsoYy1lKTtkPWMtZTtjPWMqYztoW2E+PjNdPWM7aFtiPj4zXT1kKmQrKGUqZS1jK2UqMi4wKmQp
O3JldHVybn1mdW5jdGlvbiBTSihhLGIsZCl7YT0rYTtiPWJ8MDtkPWR8MDt2YXIgZT0wLjAsZj0w
LGc9MCxpPTAuMCxrPTAsbT0wO2s9bDtsPWwrMTZ8MDtnPWs7aFtqPj4zXT1hO2Y9Y1tqKzQ+PjJd
JjIxNDc0ODM2NDc7ZG8gaWYoZj4+PjA8MTA3MjI0MzE5NilpZihmPj4+MDwxMDQ0ODE2MDMwKXto
W2I+PjNdPWE7aFtkPj4zXT0xLjA7YnJlYWt9ZWxzZXtoW2I+PjNdPStCSihhLDAuMCwwKTtoW2Q+
PjNdPStFSihhLDAuMCk7YnJlYWt9ZWxzZXtpZihmPj4+MD4yMTQ2NDM1MDcxKXtpPWEtYTtoW2Q+
PjNdPWk7aFtiPj4zXT1pO2JyZWFrfWY9R0ooYSxnKXwwO209Zys4fDA7ZT0rQkooK2hbZz4+M10s
K2hbbT4+M10sMSk7YT0rRUooK2hbZz4+M10sK2hbbT4+M10pO3N3aXRjaChmJjMpe2Nhc2UgMDp7
aFtiPj4zXT1lO2k9YTticmVha31jYXNlIDE6e2hbYj4+M109YTtpPS1lO2JyZWFrfWNhc2UgMjp7
aFtiPj4zXT0tZTtpPS1hO2JyZWFrfWNhc2UgMzp7aFtiPj4zXT0tYTtpPWU7YnJlYWt9ZGVmYXVs
dDp7fX1oW2Q+PjNdPWl9d2hpbGUoMCk7bD1rO3JldHVybn1mdW5jdGlvbiBUSihhLGIpe2E9K2E7
Yj1ifDA7cmV0dXJuICsoK0RKKGEsYikpfWZ1bmN0aW9uIFVKKGEpe2E9YXwwO2lmKGE+Pj4wPDEz
MTA3MilhPShkWzEyNzcyNSsoKGRbMTI3NzI1KyhhPj4+OCk+PjBdfDApPDw1fGE+Pj4zJjMxKT4+
MF18MCk+Pj4oYSY3KSYxO2Vsc2UgYT0wO3JldHVybiBhfDB9ZnVuY3Rpb24gVkooYixjLGUpe2I9
YnwwO2M9Y3wwO2U9ZXwwO3ZhciBmPTAsZz0wO2lmKCFlKWY9MDtlbHNle2Y9YVtiPj4wXXwwO2E6
ZG8gaWYoIShmPDwyND4+MjQpKWY9MDtlbHNlIHdoaWxlKDEpe2U9ZSstMXwwO2c9YVtjPj4wXXww
O2lmKCEoZjw8MjQ+PjI0PT1nPDwyND4+MjQmKChlfDApIT0wJmc8PDI0Pj4yNCE9MCkpKWJyZWFr
IGE7Yj1iKzF8MDtjPWMrMXwwO2Y9YVtiPj4wXXwwO2lmKCEoZjw8MjQ+PjI0KSl7Zj0wO2JyZWFr
fX13aGlsZSgwKTtmPShmJjI1NSktKGRbYz4+MF18MCl8MH1yZXR1cm4gZnwwfWZ1bmN0aW9uIFdK
KGIsYyl7Yj1ifDA7Yz1jfDA7Yj1xSihiLGMpfDA7cmV0dXJuICgoYVtiPj4wXXwwKT09KGMmMjU1
KTw8MjQ+PjI0P2I6MCl8MH1mdW5jdGlvbiBYSihhKXthPWF8MDtyZXR1cm4gKChhfDApPT0zMnwo
YSstOXwwKT4+PjA8NSkmMXwwfWZ1bmN0aW9uIFlKKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtj
PSRKKGEsYixjLC0xLDApfDA7cmV0dXJuIGN8MH1mdW5jdGlvbiBaSihiLGQsZSl7Yj1ifDA7ZD1k
fDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MDtoPWQmMjU1O2Y9KGV8MCkhPTA7YTpkbyBpZihm
JihiJjN8MCkhPTApe2c9ZCYyNTU7d2hpbGUoMSl7aWYoKGFbYj4+MF18MCk9PWc8PDI0Pj4yNCl7
aT02O2JyZWFrIGF9Yj1iKzF8MDtlPWUrLTF8MDtmPShlfDApIT0wO2lmKCEoZiYoYiYzfDApIT0w
KSl7aT01O2JyZWFrfX19ZWxzZSBpPTU7d2hpbGUoMCk7aWYoKGl8MCk9PTUpaWYoZilpPTY7ZWxz
ZSBlPTA7YjpkbyBpZigoaXwwKT09Nil7Zz1kJjI1NTtpZigoYVtiPj4wXXwwKSE9Zzw8MjQ+PjI0
KXtmPU8oaCwxNjg0MzAwOSl8MDtjOmRvIGlmKGU+Pj4wPjMpd2hpbGUoMSl7aD1jW2I+PjJdXmY7
aWYoKGgmLTIxMzkwNjIxNDReLTIxMzkwNjIxNDQpJmgrLTE2ODQzMDA5fDApYnJlYWs7Yj1iKzR8
MDtlPWUrLTR8MDtpZihlPj4+MDw9Myl7aT0xMTticmVhayBjfX1lbHNlIGk9MTE7d2hpbGUoMCk7
aWYoKGl8MCk9PTExKWlmKCFlKXtlPTA7YnJlYWt9d2hpbGUoMSl7aWYoKGFbYj4+MF18MCk9PWc8
PDI0Pj4yNClicmVhayBiO2I9YisxfDA7ZT1lKy0xfDA7aWYoIWUpe2U9MDticmVha319fX13aGls
ZSgwKTtyZXR1cm4gKGV8MD9iOjApfDB9ZnVuY3Rpb24gX0ooYSl7YT1hfDA7cmV0dXJuIChhKy00
OHwwKT4+PjA8MTB8MH1mdW5jdGlvbiAkSihhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9
ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTA7aj1sO2w9bCsxMjh8MDtoPWo7Y1toPj4yXT0w
O2k9aCs0fDA7Y1tpPj4yXT1hO2NbaCs0ND4+Ml09YTtnPWgrOHwwO2NbZz4+Ml09KGF8MCk8MD8t
MTphKzIxNDc0ODM2NDd8MDtjW2grNzY+PjJdPS0xO2FLKGgsMCk7ZD1iSyhoLGQsMSxlLGYpfDA7
aWYoYnwwKWNbYj4+Ml09YSsoKGNbaT4+Ml18MCkrKGNbaCsxMDg+PjJdfDApLShjW2c+PjJdfDAp
KTtsPWo7cmV0dXJuIGR8MH1mdW5jdGlvbiBhSyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0w
LGY9MDtjW2ErMTA0Pj4yXT1iO2Q9Y1thKzg+PjJdfDA7ZT1jW2ErND4+Ml18MDtmPWQtZXwwO2Nb
YSsxMDg+PjJdPWY7Y1thKzEwMD4+Ml09KGJ8MCkhPTAmKGZ8MCk+KGJ8MCk/ZStifDA6ZDtyZXR1
cm59ZnVuY3Rpb24gYksoYixlLGYsZyxoKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2
YXIgaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wO2E6ZG8gaWYoZT4+PjA+
MzYpe2NbKGpKKCl8MCk+PjJdPTIyO2g9MDtnPTB9ZWxzZXtyPWIrNHwwO3E9YisxMDB8MDtkb3tp
PWNbcj4+Ml18MDtpZihpPj4+MDwoY1txPj4yXXwwKT4+PjApe2Nbcj4+Ml09aSsxO2k9ZFtpPj4w
XXwwfWVsc2UgaT1jSyhiKXwwfXdoaWxlKChYSihpKXwwKSE9MCk7YjpkbyBzd2l0Y2goaXwwKXtj
YXNlIDQzOmNhc2UgNDU6e2k9KChpfDApPT00NSk8PDMxPj4zMTtqPWNbcj4+Ml18MDtpZihqPj4+
MDwoY1txPj4yXXwwKT4+PjApe2Nbcj4+Ml09aisxO3A9aTtpPWRbaj4+MF18MDticmVhayBifWVs
c2V7cD1pO2k9Y0soYil8MDticmVhayBifX1kZWZhdWx0OnA9MH13aGlsZSgwKTtqPShlfDApPT0w
O2RvIGlmKChlfDE2fDApPT0xNiYoaXwwKT09NDgpe2k9Y1tyPj4yXXwwO2lmKGk+Pj4wPChjW3E+
PjJdfDApPj4+MCl7Y1tyPj4yXT1pKzE7aT1kW2k+PjBdfDB9ZWxzZSBpPWNLKGIpfDA7aWYoKGl8
MzJ8MCkhPTEyMClpZihqKXtlPTg7bj00NjticmVha31lbHNle249MzI7YnJlYWt9aT1jW3I+PjJd
fDA7aWYoaT4+PjA8KGNbcT4+Ml18MCk+Pj4wKXtjW3I+PjJdPWkrMTtpPWRbaT4+MF18MH1lbHNl
IGk9Y0soYil8MDtpZigoZFsxMzA4OTQraT4+MF18MCk+MTUpe2c9KGNbcT4+Ml18MCk9PTA7aWYo
IWcpY1tyPj4yXT0oY1tyPj4yXXwwKSstMTtpZighZil7YUsoYiwwKTtoPTA7Zz0wO2JyZWFrIGF9
aWYoZyl7aD0wO2c9MDticmVhayBhfWNbcj4+Ml09KGNbcj4+Ml18MCkrLTE7aD0wO2c9MDticmVh
ayBhfWVsc2V7ZT0xNjtuPTQ2fX1lbHNle2U9aj8xMDplO2lmKGU+Pj4wPihkWzEzMDg5NCtpPj4w
XXwwKT4+PjApbj0zMjtlbHNle2lmKGNbcT4+Ml18MCljW3I+PjJdPShjW3I+PjJdfDApKy0xO2FL
KGIsMCk7Y1soakooKXwwKT4+Ml09MjI7aD0wO2c9MDticmVhayBhfX13aGlsZSgwKTtjOmRvIGlm
KChufDApPT0zMilpZigoZXwwKT09MTApe2U9aSstNDh8MDtpZihlPj4+MDwxMCl7aT0wO2o9ZTtk
b3tpPShpKjEwfDApK2p8MDtlPWNbcj4+Ml18MDtpZihlPj4+MDwoY1txPj4yXXwwKT4+PjApe2Nb
cj4+Ml09ZSsxO2U9ZFtlPj4wXXwwfWVsc2UgZT1jSyhiKXwwO2o9ZSstNDh8MH13aGlsZShqPj4+
MDwxMCZpPj4+MDw0Mjk0OTY3MjkpO2Y9MH1lbHNle2U9aTtpPTA7Zj0wfWs9ZSstNDh8MDtpZihr
Pj4+MDwxMCl7aj1lO2Rve2U9R04oaXwwLGZ8MCwxMCwwKXwwO2w9ejttPSgoa3wwKTwwKTw8MzE+
PjMxO289fm07aWYobD4+PjA+bz4+PjB8KGx8MCk9PShvfDApJmU+Pj4wPn5rPj4+MCl7ZT0xMDtu
PTcyO2JyZWFrIGN9aT1ITihlfDAsbHwwLGt8MCxtfDApfDA7Zj16O2U9Y1tyPj4yXXwwO2lmKGU+
Pj4wPChjW3E+PjJdfDApPj4+MCl7Y1tyPj4yXT1lKzE7aj1kW2U+PjBdfDB9ZWxzZSBqPWNLKGIp
fDA7az1qKy00OHwwfXdoaWxlKGs+Pj4wPDEwJihmPj4+MDw0Mjk0OTY3Mjl8KGZ8MCk9PTQyOTQ5
NjcyOSZpPj4+MDwyNTc2OTgwMzc4KSk7aWYoaz4+PjA+OSl7aj1wO2U9Zn1lbHNle2U9MTA7bj03
Mn19ZWxzZXtqPXA7ZT1mfX1lbHNlIG49NDY7d2hpbGUoMCk7ZDpkbyBpZigobnwwKT09NDYpe2lm
KCEoZSstMSZlKSl7bj1hWzEzMTE1MCsoKGUqMjN8MCk+Pj41JjcpPj4wXXwwO2Y9YVsxMzA4OTQr
aT4+MF18MDtqPWYmMjU1O2lmKGU+Pj4wPmo+Pj4wKXtpPTA7az1qO2Rve2k9a3xpPDxuO2o9Y1ty
Pj4yXXwwO2lmKGo+Pj4wPChjW3E+PjJdfDApPj4+MCl7Y1tyPj4yXT1qKzE7aj1kW2o+PjBdfDB9
ZWxzZSBqPWNLKGIpfDA7Zj1hWzEzMDg5NCtqPj4wXXwwO2s9ZiYyNTV9d2hpbGUoaT4+PjA8MTM0
MjE3NzI4JmU+Pj4wPms+Pj4wKTtrPTB9ZWxzZXtqPWk7az0wO2k9MH1sPU5OKC0xLC0xLG58MCl8
MDttPXo7aWYoZT4+PjA8PShmJjI1NSk+Pj4wfChtPj4+MDxrPj4+MHwobXwwKT09KGt8MCkmbD4+
PjA8aT4+PjApKXtmPWs7bj03MjticmVha31lbHNlIGo9azt3aGlsZSgxKXtpPU9OKGl8MCxqfDAs
bnwwKXwwO2s9ejtpPWl8ZiYyNTU7aj1jW3I+PjJdfDA7aWYoaj4+PjA8KGNbcT4+Ml18MCk+Pj4w
KXtjW3I+PjJdPWorMTtqPWRbaj4+MF18MH1lbHNlIGo9Y0soYil8MDtmPWFbMTMwODk0K2o+PjBd
fDA7aWYoZT4+PjA8PShmJjI1NSk+Pj4wfChrPj4+MD5tPj4+MHwoa3wwKT09KG18MCkmaT4+PjA+
bD4+PjApKXtmPWs7bj03MjticmVhayBkfWVsc2Ugaj1rfX1mPWFbMTMwODk0K2k+PjBdfDA7aj1m
JjI1NTtpZihlPj4+MD5qPj4+MCl7aT0wO2s9ajtkb3tpPWsrKE8oaSxlKXwwKXwwO2o9Y1tyPj4y
XXwwO2lmKGo+Pj4wPChjW3E+PjJdfDApPj4+MCl7Y1tyPj4yXT1qKzE7aj1kW2o+PjBdfDB9ZWxz
ZSBqPWNLKGIpfDA7Zj1hWzEzMDg5NCtqPj4wXXwwO2s9ZiYyNTV9d2hpbGUoaT4+PjA8MTE5MzA0
NjQ3JmU+Pj4wPms+Pj4wKTtrPTB9ZWxzZXtqPWk7aT0wO2s9MH1pZihlPj4+MD4oZiYyNTUpPj4+
MCl7bj1MTigtMSwtMSxlfDAsMCl8MDtvPXo7bT1rO3doaWxlKDEpe2lmKG0+Pj4wPm8+Pj4wfCht
fDApPT0ob3wwKSZpPj4+MD5uPj4+MCl7Zj1tO249NzI7YnJlYWsgZH1rPUdOKGl8MCxtfDAsZXww
LDApfDA7bD16O2Y9ZiYyNTU7aWYobD4+PjA+NDI5NDk2NzI5NXwobHwwKT09LTEmaz4+PjA+fmY+
Pj4wKXtmPW07bj03MjticmVhayBkfWk9SE4oa3wwLGx8MCxmfDAsMCl8MDtrPXo7aj1jW3I+PjJd
fDA7aWYoaj4+PjA8KGNbcT4+Ml18MCk+Pj4wKXtjW3I+PjJdPWorMTtqPWRbaj4+MF18MH1lbHNl
IGo9Y0soYil8MDtmPWFbMTMwODk0K2o+PjBdfDA7aWYoZT4+PjA8PShmJjI1NSk+Pj4wKXtmPWs7
bj03MjticmVha31lbHNlIG09a319ZWxzZXtmPWs7bj03Mn19d2hpbGUoMCk7aWYoKG58MCk9PTcy
KWlmKGU+Pj4wPihkWzEzMDg5NCtqPj4wXXwwKT4+PjApe2Rve2k9Y1tyPj4yXXwwO2lmKGk+Pj4w
PChjW3E+PjJdfDApPj4+MCl7Y1tyPj4yXT1pKzE7aT1kW2k+PjBdfDB9ZWxzZSBpPWNLKGIpfDB9
d2hpbGUoZT4+PjA+KGRbMTMwODk0K2k+PjBdfDApPj4+MCk7Y1soakooKXwwKT4+Ml09MzQ7aj0o
ZyYxfDApPT0wJjA9PTA/cDowO2U9aDtpPWd9ZWxzZXtqPXA7ZT1mfWlmKGNbcT4+Ml18MCljW3I+
PjJdPShjW3I+PjJdfDApKy0xO2lmKCEoZT4+PjA8aD4+PjB8KGV8MCk9PShofDApJmk+Pj4wPGc+
Pj4wKSl7aWYoISgoZyYxfDApIT0wfDAhPTB8KGp8MCkhPTApKXtjWyhqSigpfDApPj4yXT0zNDtn
PUhOKGd8MCxofDAsLTEsLTEpfDA7aD16O2JyZWFrfWlmKGU+Pj4wPmg+Pj4wfChlfDApPT0oaHww
KSZpPj4+MD5nPj4+MCl7Y1soakooKXwwKT4+Ml09MzQ7YnJlYWt9fWc9KChqfDApPDApPDwzMT4+
MzE7Zz1JTihpXmp8MCxlXmd8MCxqfDAsZ3wwKXwwO2g9en13aGlsZSgwKTt6PWg7cmV0dXJuIGd8
MH1mdW5jdGlvbiBjSyhiKXtiPWJ8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTA7Zj1iKzEw
NHwwO2g9Y1tmPj4yXXwwO2lmKChofDApIT0wPyhjW2IrMTA4Pj4yXXwwKT49KGh8MCk6MClpPTQ7
ZWxzZXtlPWRLKGIpfDA7aWYoKGV8MCk+PTApe2c9Y1tmPj4yXXwwO2Y9Yis4fDA7aWYoZyl7aj1j
W2Y+PjJdfDA7aD1jW2IrND4+Ml18MDtmPWctKGNbYisxMDg+PjJdfDApfDA7Zz1qO2lmKChqLWh8
MCk8KGZ8MCkpZj1nO2Vsc2UgZj1oKyhmKy0xKXwwfWVsc2V7Zz1jW2Y+PjJdfDA7Zj1nfWNbYisx
MDA+PjJdPWY7Zj1iKzR8MDtpZighZylmPWNbZj4+Ml18MDtlbHNle2Y9Y1tmPj4yXXwwO2o9Yisx
MDh8MDtjW2o+PjJdPWcrMS1mKyhjW2o+PjJdfDApfWY9ZistMXwwO2lmKChlfDApIT0oZFtmPj4w
XXwwfDApKWFbZj4+MF09ZX1lbHNlIGk9NH1pZigoaXwwKT09NCl7Y1tiKzEwMD4+Ml09MDtlPS0x
fXJldHVybiBlfDB9ZnVuY3Rpb24gZEsoYSl7YT1hfDA7dmFyIGI9MCxlPTA7ZT1sO2w9bCsxNnww
O2I9ZTtpZigoZUsoYSl8MCk9PTA/KGJiW2NbYSszMj4+Ml0mMzFdKGEsYiwxKXwwKT09MTowKWE9
ZFtiPj4wXXwwO2Vsc2UgYT0tMTtsPWU7cmV0dXJuIGF8MH1mdW5jdGlvbiBlSyhiKXtiPWJ8MDt2
YXIgZD0wLGU9MDtkPWIrNzR8MDtlPWFbZD4+MF18MDthW2Q+PjBdPWUrMjU1fGU7ZD1iKzIwfDA7
ZT1iKzI4fDA7aWYoKGNbZD4+Ml18MCk+Pj4wPihjW2U+PjJdfDApPj4+MCliYltjW2IrMzY+PjJd
JjMxXShiLDAsMCl8MDtjW2IrMTY+PjJdPTA7Y1tlPj4yXT0wO2NbZD4+Ml09MDtkPWNbYj4+Ml18
MDtpZighKGQmNCkpe2U9KGNbYis0ND4+Ml18MCkrKGNbYis0OD4+Ml18MCl8MDtjW2IrOD4+Ml09
ZTtjW2IrND4+Ml09ZTtkPWQ8PDI3Pj4zMX1lbHNle2NbYj4+Ml09ZHwzMjtkPS0xfXJldHVybiBk
fDB9ZnVuY3Rpb24gZksoYSl7YT1hfDA7cmV0dXJuIChhKy00OHwwKT4+PjA8MTB8MH1mdW5jdGlv
biBnSyhhKXthPWF8MDtpZighKGhLKGEpfDApKWE9KF9KKGEpfDApIT0wJjE7ZWxzZSBhPTE7cmV0
dXJuIGF8MH1mdW5jdGlvbiBoSyhhKXthPWF8MDtyZXR1cm4gKChhfDMyKSstOTd8MCk+Pj4wPDI2
fDB9ZnVuY3Rpb24gaUsoYixjKXtiPWJ8MDtjPWN8MDt2YXIgZT0wLGY9MCxnPTA7ZT1hW2I+PjBd
fDA7YTpkbyBpZighKGU8PDI0Pj4yNCkpYj0wO2Vsc2V7Zz1iO2I9ZTtmPWUmMjU1O3doaWxlKDEp
e2U9YVtjPj4wXXwwO2lmKCEoZTw8MjQ+PjI0KSlicmVhayBhO2lmKGI8PDI0Pj4yNCE9ZTw8MjQ+
PjI0PyhmPWpLKGYpfDAsKGZ8MCkhPShqSyhkW2M+PjBdfDApfDApKTowKWJyZWFrO2I9ZysxfDA7
Yz1jKzF8MDtlPWFbYj4+MF18MDtpZighKGU8PDI0Pj4yNCkpe2I9MDticmVhayBhfWVsc2V7Zz1i
O2I9ZTtmPWUmMjU1fX1iPWFbZz4+MF18MH13aGlsZSgwKTtnPWpLKGImMjU1KXwwO3JldHVybiBn
LShqSyhkW2M+PjBdfDApfDApfDB9ZnVuY3Rpb24gaksoYSl7YT1hfDA7dmFyIGI9MDtiPShrSyhh
KXwwKT09MDtyZXR1cm4gKGI/YTphfDMyKXwwfWZ1bmN0aW9uIGtLKGEpe2E9YXwwO3JldHVybiAo
YSstNjV8MCk+Pj4wPDI2fDB9ZnVuY3Rpb24gbEsoYSl7YT1hfDA7cmV0dXJuIG1LKGEsMCl8MH1m
dW5jdGlvbiBtSyhjLGYpe2M9Y3wwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxt
PTA7az0oZjw8MSkrLTF8MDtsPWYrLTF8MDthOmRvIGlmKCEoKGMrLTQzMDA4fDApPj4+MDwyMjI3
MnwoKGMrLTExNzc2fDApPj4+MDwzMDc4NHwoKGMrLTE1MzZ8MCk+Pj4wPDI1NjB8KG5LKGMpfDAp
PT0wKSkpKXtnPShmfDApIT0wO2lmKGcmKGMrLTQyNTZ8MCk+Pj4wPDQ2KXtpZigoY3wwKT40Mjkz
KXN3aXRjaChjfDApe2Nhc2UgNDI5NTpjYXNlIDQzMDE6YnJlYWs7ZGVmYXVsdDpicmVhayBhfWM9
Yys3MjY0fDA7YnJlYWt9aWYoKGMrLTExNTIwfDApPj4+MDwzOCYoZ14xKSl7Yz1jKy03MjY0fDA7
YnJlYWt9ZWxzZSBnPTA7ZG97aT1hWzU5MTcwKyhnPDwyKSsyPj4wXXwwO2o9aTw8MjQ+PjI0O2g9
Yy0oZVs1OTE3MCsoZzw8Mik+PjFdfDApfDA7aWYoKGgtKGwmail8MCk+Pj4wPChkWzU5MTcwKyhn
PDwyKSszPj4wXXwwKT4+PjApe209MTE7YnJlYWt9Zz1nKzF8MH13aGlsZSgoZ3wwKSE9NjEpO2lm
KChtfDApPT0xMSlpZihpPDwyND4+MjQ9PTEpe2M9ZitjLShoJjEpfDA7YnJlYWt9ZWxzZXtjPShP
KGssail8MCkrY3wwO2JyZWFrfWk9MS1mfDA7Zz1iWzU4NjgyKyhpPDwxKT4+MV18MDtiOmRvIGlm
KGc8PDE2Pj4xNil7aD0wO3doaWxlKDEpe2lmKChnJjY1NTM1fDApPT0oY3wwKSlicmVhaztoPWgr
MXwwO2c9Yls1ODY4MisoaDw8MikrKGk8PDEpPj4xXXwwO2lmKCEoZzw8MTY+PjE2KSlicmVhayBi
fWM9ZVs1ODY4MisoaDw8MikrKGY8PDEpPj4xXXwwO2JyZWFrIGF9d2hpbGUoMCk7cmV0dXJuICgo
YystNjY2MDArKGYqNDB8MCl8MCk+Pj4wPDQwP2MrLTQwKyhmKjgwfDApfDA6Yyl8MH13aGlsZSgw
KTtyZXR1cm4gY3wwfWZ1bmN0aW9uIG5LKGEpe2E9YXwwO2lmKGE+Pj4wPDEzMTA3MilhPShkWzEz
MTE1OSsoKGRbMTMxMTU5KyhhPj4+OCk+PjBdfDApPDw1fGE+Pj4zJjMxKT4+MF18MCk+Pj4oYSY3
KSYxO2Vsc2UgYT1hPj4+MDwxOTY2MDYmMTtyZXR1cm4gYXwwfWZ1bmN0aW9uIG9LKGEpe2E9YXww
O3ZhciBiPTA7Yj1hO3doaWxlKDEpaWYoIShjW2I+PjJdfDApKWJyZWFrO2Vsc2UgYj1iKzR8MDty
ZXR1cm4gYi1hPj4yfDB9ZnVuY3Rpb24gcEsoYixjLGUpe2I9YnwwO2M9Y3wwO2U9ZXwwO3ZhciBm
PTAsZz0wLGg9MDtpZighZSliPTA7ZWxzZXtmPWFbYj4+MF18MDthOmRvIGlmKCEoZjw8MjQ+PjI0
KSliPTA7ZWxzZXtoPWI7Yj1mO2Y9ZiYyNTU7d2hpbGUoMSl7ZT1lKy0xfDA7Zz1hW2M+PjBdfDA7
aWYoISgoZXwwKSE9MCZnPDwyND4+MjQhPTApKWJyZWFrIGE7aWYoYjw8MjQ+PjI0IT1nPDwyND4+
MjQ/KGc9aksoZil8MCwoZ3wwKSE9KGpLKGRbYz4+MF18MCl8MCkpOjApYnJlYWs7Yj1oKzF8MDtj
PWMrMXwwO2Y9YVtiPj4wXXwwO2lmKCEoZjw8MjQ+PjI0KSl7Yj0wO2JyZWFrIGF9ZWxzZXtoPWI7
Yj1mO2Y9ZiYyNTV9fWI9YVtoPj4wXXwwfXdoaWxlKDApO2I9aksoYiYyNTUpfDA7Yj1iLShqSyhk
W2M+PjBdfDApfDApfDB9cmV0dXJuIGJ8MH1mdW5jdGlvbiBxSyhhKXthPWF8MDtpZihhPj4+MD49
MjU1KWlmKChhKy01NzM0NHwwKT4+PjA8ODE4NXwoYT4+PjA8ODIzMnwoYSstODIzNHwwKT4+PjA8
NDcwNjIpKWE9MTtlbHNlIHJldHVybiAoYSY2NTUzNHwwKSE9NjU1MzQmKGErLTY1NTMyfDApPj4+
MDwxMDQ4NTgwJjF8MDtlbHNlIGE9KGErMSYxMjcpPj4+MD4zMiYxO3JldHVybiBhfDB9ZnVuY3Rp
b24gcksoYixkLGUsZil7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaT0wLGo9
MCxrPTAsbT0wO2s9bDtsPWwrMTZ8MDtnPWs7aT0oZnwwKT09MD8xNzA3NjQ6ZjtmPWNbaT4+Ml18
MDthOmRvIGlmKCFkKWlmKCFmKWY9MDtlbHNlIGo9MTc7ZWxzZXtoPShifDApPT0wP2c6YjtpZigh
ZSlmPS0yO2Vsc2V7aWYoIWYpe2Y9YVtkPj4wXXwwO2lmKGY8PDI0Pj4yND4tMSl7Y1toPj4yXT1m
JjI1NTtmPWY8PDI0Pj4yNCE9MCYxO2JyZWFrfWc9KGNbY1sodksoKXwwKSsxODg+PjJdPj4yXXww
KT09MDtmPWFbZD4+MF18MDtpZihnKXtjW2g+PjJdPWY8PDI0Pj4yNCY1NzM0MztmPTE7YnJlYWt9
Zj0oZiYyNTUpKy0xOTR8MDtpZihmPj4+MD41MCl7aj0xNzticmVha31mPWNbNTUyMDgrKGY8PDIp
Pj4yXXwwO2c9ZSstMXwwO2lmKGcpe2Q9ZCsxfDA7aj0xMX19ZWxzZXtnPWU7aj0xMX1iOmRvIGlm
KChqfDApPT0xMSl7Yj1hW2Q+PjBdfDA7bT0oYiYyNTUpPj4+MztpZigobSstMTZ8bSsoZj4+MjYp
KT4+PjA+Nyl7aj0xNzticmVhayBhfXdoaWxlKDEpe2Q9ZCsxfDA7Zj0oYiYyNTUpKy0xMjh8Zjw8
NjtnPWcrLTF8MDtpZigoZnwwKT49MClicmVhaztpZighZylicmVhayBiO2I9YVtkPj4wXXwwO2lm
KChiJi02NCk8PDI0Pj4yNCE9LTEyOCl7aj0xNzticmVhayBhfX1jW2k+PjJdPTA7Y1toPj4yXT1m
O2Y9ZS1nfDA7YnJlYWsgYX13aGlsZSgwKTtjW2k+PjJdPWY7Zj0tMn19d2hpbGUoMCk7aWYoKGp8
MCk9PTE3KXtjW2k+PjJdPTA7Y1soakooKXwwKT4+Ml09ODQ7Zj0tMX1sPWs7cmV0dXJuIGZ8MH1m
dW5jdGlvbiBzSyhhLGIpe2E9YXwwO2I9YnwwO2lmKCFhKWE9MDtlbHNlIGE9dEsoYSxiLDApfDA7
cmV0dXJuIGF8MH1mdW5jdGlvbiB0SyhiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7ZG8gaWYoYil7
aWYoZD4+PjA8MTI4KXthW2I+PjBdPWQ7Yj0xO2JyZWFrfWlmKCEoY1tjWyh1SygpfDApKzE4OD4+
Ml0+PjJdfDApKWlmKChkJi0xMjh8MCk9PTU3MjE2KXthW2I+PjBdPWQ7Yj0xO2JyZWFrfWVsc2V7
Y1soakooKXwwKT4+Ml09ODQ7Yj0tMTticmVha31pZihkPj4+MDwyMDQ4KXthW2I+PjBdPWQ+Pj42
fDE5MjthW2IrMT4+MF09ZCY2M3wxMjg7Yj0yO2JyZWFrfWlmKGQ+Pj4wPDU1Mjk2fChkJi04MTky
fDApPT01NzM0NCl7YVtiPj4wXT1kPj4+MTJ8MjI0O2FbYisxPj4wXT1kPj4+NiY2M3wxMjg7YVti
KzI+PjBdPWQmNjN8MTI4O2I9MzticmVha31pZigoZCstNjU1MzZ8MCk+Pj4wPDEwNDg1NzYpe2Fb
Yj4+MF09ZD4+PjE4fDI0MDthW2IrMT4+MF09ZD4+PjEyJjYzfDEyODthW2IrMj4+MF09ZD4+PjYm
NjN8MTI4O2FbYiszPj4wXT1kJjYzfDEyODtiPTQ7YnJlYWt9ZWxzZXtjWyhqSigpfDApPj4yXT04
NDtiPS0xO2JyZWFrfX1lbHNlIGI9MTt3aGlsZSgwKTtyZXR1cm4gYnwwfWZ1bmN0aW9uIHVLKCl7
cmV0dXJuIEFKKCl8MH1mdW5jdGlvbiB2Sygpe3JldHVybiBBSigpfDB9ZnVuY3Rpb24gd0soYixk
KXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0w
LHA9MDtwPWw7bD1sKzI3MnwwO249cCs4fDA7bz1wO2RvIGlmKCEoYVtkPj4wXXwwKSl7ZD1OYSgx
MzQxMzUpfDA7aWYoZHwwP2FbZD4+MF18MDowKWJyZWFrO2Q9TmEoMTM0MTQyKyhiKjEyfDApfDAp
fDA7aWYoZHwwP2FbZD4+MF18MDowKWJyZWFrO2Q9TmEoMTM0MjE0KXwwO2lmKGR8MD9hW2Q+PjBd
fDA6MClicmVhaztkPTEzNDIxOX13aGlsZSgwKTtlPTA7YTpkb3tzd2l0Y2goYVtkK2U+PjBdfDAp
e2Nhc2UgNDc6Y2FzZSAwOmJyZWFrIGE7ZGVmYXVsdDp7fX1lPWUrMXwwfXdoaWxlKGU+Pj4wPDE1
KTtmPWFbZD4+MF18MDtpZihmPDwyND4+MjQhPTQ2PyhhW2QrZT4+MF18MCk9PTA6MClpZihmPDwy
ND4+MjQ9PTY3KW09MTU7ZWxzZXtrPWQ7bT0xNn1lbHNle2Q9MTM0MjE5O209MTV9aWYoKG18MCk9
PTE1KWlmKCEoYVtkKzE+PjBdfDApKW09MTg7ZWxzZXtrPWQ7bT0xNn1iOmRvIGlmKChtfDApPT0x
NilpZigoeEooaywxMzQyMTkpfDApIT0wPyh4SihrLDEzNDIyNyl8MCkhPTA6MCl7ZD1jWzQyNjky
XXwwO2lmKGR8MClkb3tpZighKHhKKGssZCs4fDApfDApKWJyZWFrIGI7ZD1jW2QrMjQ+PjJdfDB9
d2hpbGUoKGR8MCkhPTApO3BhKDE3MDc3Mik7ZD1jWzQyNjkyXXwwO2M6ZG8gaWYoZHwwKXt3aGls
ZSgxKXtpZighKHhKKGssZCs4fDApfDApKWJyZWFrO2Q9Y1tkKzI0Pj4yXXwwO2lmKCFkKWJyZWFr
IGN9RmEoMTcwNzcyKTticmVhayBifXdoaWxlKDApO2Q6ZG8gaWYoKChjWzQyNjc3XXwwKT09MD8o
Zz1OYSgxMzQyMzMpfDAsKGd8MCkhPTApOjApPyhhW2c+PjBdfDApIT0wOjApe2k9MjU0LWV8MDtq
PWUrMXwwO2Y9Zzt3aGlsZSgxKXtoPXFKKGYsNTgpfDA7ZD1hW2g+PjBdfDA7Zz1oLWYrKChkPDwy
ND4+MjQhPTApPDwzMT4+MzEpfDA7aWYoZz4+PjA8aT4+PjApe1ROKG58MCxmfDAsZ3wwKXwwO2Y9
bitnfDA7YVtmPj4wXT00NztUTihmKzF8MCxrfDAsZXwwKXwwO2FbbisoaitnKT4+MF09MDtmPXFh
KG58MCxvfDApfDA7aWYoZnwwKWJyZWFrO2Q9YVtoPj4wXXwwfWY9aCsoZDw8MjQ+PjI0IT0wJjEp
fDA7aWYoIShhW2Y+PjBdfDApKXttPTQxO2JyZWFrIGR9fWQ9WkkoMjgpfDA7aWYoIWQpe25KKGYs
Y1tvPj4yXXwwKXwwO209NDE7YnJlYWt9ZWxzZXtjW2Q+PjJdPWY7Y1tkKzQ+PjJdPWNbbz4+Ml07
bz1kKzh8MDtUTihvfDAsa3wwLGV8MCl8MDthW28rZT4+MF09MDtjW2QrMjQ+PjJdPWNbNDI2OTJd
O2NbNDI2OTJdPWQ7YnJlYWt9fWVsc2UgbT00MTt3aGlsZSgwKTtpZigobXwwKT09NDEpe2Q9Wkko
MjgpfDA7aWYoZCl7Y1tkPj4yXT1jWzEzNzkwXTtjW2QrND4+Ml09Y1sxMzc5MV07bz1kKzh8MDtU
TihvfDAsa3wwLGV8MCl8MDthW28rZT4+MF09MDtjW2QrMjQ+PjJdPWNbNDI2OTJdO2NbNDI2OTJd
PWR9fUZhKDE3MDc3Mik7ZD0oYnwwKT09MCYoZHwwKT09MD81NTE2MDpkfWVsc2V7ZD1rO209MTh9
d2hpbGUoMCk7ZG8gaWYoKG18MCk9PTE4KXtpZigoYnwwKT09MD8oYVtkKzE+PjBdfDApPT00Njow
KXtkPTU1MTYwO2JyZWFrfWQ9MH13aGlsZSgwKTtsPXA7cmV0dXJuIGR8MH1mdW5jdGlvbiB4Syhh
LGIpe2E9YXwwO2I9YnwwO3lLKGEsYil8MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIHlLKGIsZCl7Yj1i
fDA7ZD1kfDA7dmFyIGU9MCxmPTA7ZT1kO2E6ZG8gaWYoISgoZV5iKSYzKSl7aWYoZSYzKWRve2U9
YVtkPj4wXXwwO2FbYj4+MF09ZTtpZighKGU8PDI0Pj4yNCkpYnJlYWsgYTtkPWQrMXwwO2I9Yisx
fDB9d2hpbGUoKGQmM3wwKSE9MCk7ZT1jW2Q+PjJdfDA7aWYoISgoZSYtMjEzOTA2MjE0NF4tMjEz
OTA2MjE0NCkmZSstMTY4NDMwMDkpKXtmPWI7d2hpbGUoMSl7ZD1kKzR8MDtiPWYrNHwwO2NbZj4+
Ml09ZTtlPWNbZD4+Ml18MDtpZigoZSYtMjEzOTA2MjE0NF4tMjEzOTA2MjE0NCkmZSstMTY4NDMw
MDl8MClicmVhaztlbHNlIGY9Yn19Zj04fWVsc2UgZj04O3doaWxlKDApO2lmKChmfDApPT04KXtm
PWFbZD4+MF18MDthW2I+PjBdPWY7aWYoZjw8MjQ+PjI0KWRve2Q9ZCsxfDA7Yj1iKzF8MDtmPWFb
ZD4+MF18MDthW2I+PjBdPWZ9d2hpbGUoZjw8MjQ+PjI0IT0wKX1yZXR1cm4gYnwwfWZ1bmN0aW9u
IHpLKGEpe2E9YXwwO3JldHVybiAoKGF8MCk9PTMyfChhfDApPT05KSYxfDB9ZnVuY3Rpb24gQUso
YSl7YT1hfDA7aWYoIWEpYT0wO2Vsc2UgYT0oQksoNTYzMjQsYSl8MCkhPTAmMTtyZXR1cm4gYXww
fWZ1bmN0aW9uIEJLKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MDtpZighYilhPWErKChvSyhhKXww
KTw8Mil8MDtlbHNle3doaWxlKDEpe2Q9Y1thPj4yXXwwO2lmKChkfDApPT0wfChkfDApPT0oYnww
KSlicmVhaztlbHNlIGE9YSs0fDB9YT1kfDA/YTowfXJldHVybiBhfDB9ZnVuY3Rpb24gQ0soYSxi
KXthPWF8MDtiPWJ8MDtkbyBzd2l0Y2goYnwwKXtjYXNlIDE6e2E9REsoYSl8MDticmVha31jYXNl
IDI6e2E9bksoYSl8MDticmVha31jYXNlIDM6e2E9RUsoYSl8MDticmVha31jYXNlIDQ6e2E9Rkso
YSl8MDticmVha31jYXNlIDU6e2E9ZksoYSl8MDticmVha31jYXNlIDY6e2E9R0soYSl8MDticmVh
a31jYXNlIDc6e2E9SEsoYSl8MDticmVha31jYXNlIDg6e2E9cUsoYSl8MDticmVha31jYXNlIDk6
e2E9VUooYSl8MDticmVha31jYXNlIDEwOnthPUFLKGEpfDA7YnJlYWt9Y2FzZSAxMTp7YT1JSyhh
KXwwO2JyZWFrfWNhc2UgMTI6e2E9SksoYSl8MDticmVha31kZWZhdWx0OmE9MH13aGlsZSgwKTty
ZXR1cm4gYXwwfWZ1bmN0aW9uIERLKGEpe2E9YXwwO2lmKCEoZksoYSl8MCkpYT0obksoYSl8MCkh
PTAmMTtlbHNlIGE9MTtyZXR1cm4gYXwwfWZ1bmN0aW9uIEVLKGEpe2E9YXwwO3JldHVybiB6Syhh
KXwwfWZ1bmN0aW9uIEZLKGEpe2E9YXwwO3JldHVybiAoKGErLTY1NTI5fDApPj4+MDwzfCgoYSYt
MnwwKT09ODIzMnwoYT4+PjA8MzJ8KGErLTEyN3wwKT4+PjA8MzMpKSkmMXwwfWZ1bmN0aW9uIEdL
KGEpe2E9YXwwO2lmKCEoQUsoYSl8MCkpYT0ocUsoYSl8MCkhPTAmMTtlbHNlIGE9MDtyZXR1cm4g
YXwwfWZ1bmN0aW9uIEhLKGEpe2E9YXwwO3JldHVybiAobEsoYSl8MCkhPShhfDApfDB9ZnVuY3Rp
b24gSUsoYSl7YT1hfDA7cmV0dXJuIChLSyhhKXwwKSE9KGF8MCl8MH1mdW5jdGlvbiBKSyhhKXth
PWF8MDtyZXR1cm4gKChhKy00OHwwKT4+PjA8MTB8KChhfDMyKSstOTd8MCk+Pj4wPDYpJjF8MH1m
dW5jdGlvbiBLSyhhKXthPWF8MDtyZXR1cm4gbUsoYSwxKXwwfWZ1bmN0aW9uIExLKGIsZCxlLGYp
e2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTA7
bj1sO2w9bCsxMjh8MDtnPW4rMTI0fDA7bT1uO2g9bTtpPTU2NDEyO2o9aCsxMjR8MDtkb3tjW2g+
PjJdPWNbaT4+Ml07aD1oKzR8MDtpPWkrNHwwfXdoaWxlKChofDApPChqfDApKTtpZigoZCstMXww
KT4+PjA+MjE0NzQ4MzY0NilpZighZCl7Yj1nO2Q9MTtrPTR9ZWxzZXtjWyhqSigpfDApPj4yXT03
NTtkPS0xfWVsc2Ugaz00O2lmKChrfDApPT00KXtrPS0yLWJ8MDtrPWQ+Pj4wPms+Pj4wP2s6ZDtj
W20rNDg+PjJdPWs7Zz1tKzIwfDA7Y1tnPj4yXT1iO2NbbSs0ND4+Ml09YjtkPWIra3wwO2I9bSsx
NnwwO2NbYj4+Ml09ZDtjW20rMjg+PjJdPWQ7ZD1NSyhtLGUsZil8MDtpZihrKXttPWNbZz4+Ml18
MDthW20rKCgobXwwKT09KGNbYj4+Ml18MCkpPDwzMT4+MzEpPj4wXT0wfX1sPW47cmV0dXJuIGR8
MH1mdW5jdGlvbiBNSyhiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9
MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MDtzPWw7bD1sKzIyNHwwO249cysx
MjB8MDtwPXMrODB8MDtxPXM7cj1zKzEzNnwwO2Y9cDtnPWYrNDB8MDtkb3tjW2Y+PjJdPTA7Zj1m
KzR8MH13aGlsZSgoZnwwKTwoZ3wwKSk7Y1tuPj4yXT1jW2U+PjJdO2lmKChOSygwLGQsbixxLHAp
fDApPDApZT0tMTtlbHNle2lmKChjW2IrNzY+PjJdfDApPi0xKW89T0soYil8MDtlbHNlIG89MDtl
PWNbYj4+Ml18MDttPWUmMzI7aWYoKGFbYis3ND4+MF18MCk8MSljW2I+PjJdPWUmLTMzO2Y9Yis0
OHwwO2lmKCEoY1tmPj4yXXwwKSl7Zz1iKzQ0fDA7aD1jW2c+PjJdfDA7Y1tnPj4yXT1yO2k9Yisy
OHwwO2NbaT4+Ml09cjtqPWIrMjB8MDtjW2o+PjJdPXI7Y1tmPj4yXT04MDtrPWIrMTZ8MDtjW2s+
PjJdPXIrODA7ZT1OSyhiLGQsbixxLHApfDA7aWYoaCl7YmJbY1tiKzM2Pj4yXSYzMV0oYiwwLDAp
fDA7ZT0oY1tqPj4yXXwwKT09MD8tMTplO2NbZz4+Ml09aDtjW2Y+PjJdPTA7Y1trPj4yXT0wO2Nb
aT4+Ml09MDtjW2o+PjJdPTB9fWVsc2UgZT1OSyhiLGQsbixxLHApfDA7Zj1jW2I+PjJdfDA7Y1ti
Pj4yXT1mfG07aWYob3wwKVBLKGIpO2U9KGYmMzJ8MCk9PTA/ZTotMX1sPXM7cmV0dXJuIGV8MH1m
dW5jdGlvbiBOSyhkLGUsZixnLGkpe2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2k9aXwwO3ZhciBq
PTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9
MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MDtJPWw7bD1sKzY0fDA7RD1JKzE2
fDA7RT1JO0E9SSsyNHwwO0c9SSs4fDA7SD1JKzIwfDA7Y1tEPj4yXT1lO3c9KGR8MCkhPTA7eD1B
KzQwfDA7eT14O0E9QSszOXwwO0I9Rys0fDA7aj0wO2U9MDttPTA7YTp3aGlsZSgxKXtkbyBpZigo
ZXwwKT4tMSlpZigoanwwKT4oMjE0NzQ4MzY0Ny1lfDApKXtjWyhqSigpfDApPj4yXT03NTtlPS0x
O2JyZWFrfWVsc2V7ZT1qK2V8MDticmVha313aGlsZSgwKTtyPWNbRD4+Ml18MDtqPWFbcj4+MF18
MDtpZighKGo8PDI0Pj4yNCkpe3Y9ODg7YnJlYWt9ZWxzZSBrPXI7Yjp3aGlsZSgxKXtzd2l0Y2go
ajw8MjQ+PjI0KXtjYXNlIDM3OntqPWs7dj05O2JyZWFrIGJ9Y2FzZSAwOntqPWs7YnJlYWsgYn1k
ZWZhdWx0Ont9fXU9aysxfDA7Y1tEPj4yXT11O2o9YVt1Pj4wXXwwO2s9dX1jOmRvIGlmKCh2fDAp
PT05KXdoaWxlKDEpe3Y9MDtpZigoYVtrKzE+PjBdfDApIT0zNylicmVhayBjO2o9aisxfDA7az1r
KzJ8MDtjW0Q+PjJdPWs7aWYoKGFbaz4+MF18MCkhPTM3KWJyZWFrO2Vsc2Ugdj05fXdoaWxlKDAp
O2o9ai1yfDA7aWYodylRSyhkLHIsaik7aWYoanwwKWNvbnRpbnVlO3U9KF9KKGFbKGNbRD4+Ml18
MCkrMT4+MF18MCl8MCk9PTA7az1jW0Q+PjJdfDA7aWYoIXU/KGFbaysyPj4wXXwwKT09MzY6MCl7
cz0oYVtrKzE+PjBdfDApKy00OHwwO249MTtqPTN9ZWxzZXtzPS0xO249bTtqPTF9aj1rK2p8MDtj
W0Q+PjJdPWo7az1hW2o+PjBdfDA7dT0oazw8MjQ+PjI0KSstMzJ8MDtpZih1Pj4+MD4zMXwoMTw8
dSY3NTkxM3wwKT09MCltPTA7ZWxzZXttPTA7ZG97bT0xPDwoazw8MjQ+PjI0KSstMzJ8bTtqPWor
MXwwO2NbRD4+Ml09ajtrPWFbaj4+MF18MDt1PShrPDwyND4+MjQpKy0zMnwwfXdoaWxlKCEodT4+
PjA+MzF8KDE8PHUmNzU5MTN8MCk9PTApKX1pZihrPDwyND4+MjQ9PTQyKXtpZigoX0ooYVtqKzE+
PjBdfDApfDApIT0wPyhGPWNbRD4+Ml18MCwoYVtGKzI+PjBdfDApPT0zNik6MCl7aj1GKzF8MDtj
W2krKChhW2o+PjBdfDApKy00ODw8Mik+PjJdPTEwO2o9Y1tnKygoYVtqPj4wXXwwKSstNDg8PDMp
Pj4yXXwwO2s9MTtuPUYrM3wwfWVsc2V7aWYobnwwKXtlPS0xO2JyZWFrfWlmKHcpe3U9KGNbZj4+
Ml18MCkrKDQtMSkmfig0LTEpO2o9Y1t1Pj4yXXwwO2NbZj4+Ml09dSs0fWVsc2Ugaj0wO2s9MDtu
PShjW0Q+PjJdfDApKzF8MH1jW0Q+PjJdPW47dD0oanwwKTwwO3U9dD8wLWp8MDpqO209dD9tfDgx
OTI6bTt0PWs7aj1ufWVsc2V7aj1SSyhEKXwwO2lmKChqfDApPDApe2U9LTE7YnJlYWt9dT1qO3Q9
bjtqPWNbRD4+Ml18MH1kbyBpZigoYVtqPj4wXXwwKT09NDYpe2lmKChhW2orMT4+MF18MCkhPTQy
KXtjW0Q+PjJdPWorMTtwPVJLKEQpfDA7aj1jW0Q+PjJdfDA7YnJlYWt9aWYoX0ooYVtqKzI+PjBd
fDApfDA/KEM9Y1tEPj4yXXwwLChhW0MrMz4+MF18MCk9PTM2KTowKXtwPUMrMnwwO2NbaSsoKGFb
cD4+MF18MCkrLTQ4PDwyKT4+Ml09MTA7cD1jW2crKChhW3A+PjBdfDApKy00ODw8Myk+PjJdfDA7
aj1DKzR8MDtjW0Q+PjJdPWo7YnJlYWt9aWYodHwwKXtlPS0xO2JyZWFrIGF9aWYodyl7cT0oY1tm
Pj4yXXwwKSsoNC0xKSZ+KDQtMSk7aj1jW3E+PjJdfDA7Y1tmPj4yXT1xKzR9ZWxzZSBqPTA7cT0o
Y1tEPj4yXXwwKSsyfDA7Y1tEPj4yXT1xO3A9ajtqPXF9ZWxzZSBwPS0xO3doaWxlKDApO3E9MDt3
aGlsZSgxKXtpZigoKGFbaj4+MF18MCkrLTY1fDApPj4+MD41Nyl7ZT0tMTticmVhayBhfWs9ajtq
PWorMXwwO2NbRD4+Ml09ajtrPWFbKGFbaz4+MF18MCkrLTY1KygxMzQyNDYrKHEqNTh8MCkpPj4w
XXwwO249ayYyNTU7aWYoKG4rLTF8MCk+Pj4wPj04KWJyZWFrO2Vsc2UgcT1ufWlmKCEoazw8MjQ+
PjI0KSl7ZT0tMTticmVha31vPShzfDApPi0xO2RvIGlmKGs8PDI0Pj4yND09MTkpaWYobyl7ZT0t
MTticmVhayBhfWVsc2Ugdj01MDtlbHNle2lmKG8pe2NbaSsoczw8Mik+PjJdPW47bz1nKyhzPDwz
KXwwO3M9Y1tvKzQ+PjJdfDA7dj1FO2Nbdj4+Ml09Y1tvPj4yXTtjW3YrND4+Ml09czt2PTUwO2Jy
ZWFrfWlmKCF3KXtlPTA7YnJlYWsgYX1TSyhFLG4sZik7aj1jW0Q+PjJdfDB9d2hpbGUoMCk7aWYo
KHZ8MCk9PTUwKXt2PTA7aWYoIXcpe2o9MDttPXQ7Y29udGludWV9fWs9YVtqKy0xPj4wXXwwO2s9
KHF8MCkhPTAmKGsmMTV8MCk9PTM/ayYtMzM6aztqPW0mLTY1NTM3O3M9KG0mODE5MnwwKT09MD9t
Omo7ZDpkbyBzd2l0Y2goa3wwKXtjYXNlIDExMDpzd2l0Y2goKHEmMjU1KTw8MjQ+PjI0KXtjYXNl
IDA6e2NbY1tFPj4yXT4+Ml09ZTtqPTA7bT10O2NvbnRpbnVlIGF9Y2FzZSAxOntjW2NbRT4+Ml0+
PjJdPWU7aj0wO209dDtjb250aW51ZSBhfWNhc2UgMjp7aj1jW0U+PjJdfDA7Y1tqPj4yXT1lO2Nb
ais0Pj4yXT0oKGV8MCk8MCk8PDMxPj4zMTtqPTA7bT10O2NvbnRpbnVlIGF9Y2FzZSAzOntiW2Nb
RT4+Ml0+PjFdPWU7aj0wO209dDtjb250aW51ZSBhfWNhc2UgNDp7YVtjW0U+PjJdPj4wXT1lO2o9
MDttPXQ7Y29udGludWUgYX1jYXNlIDY6e2NbY1tFPj4yXT4+Ml09ZTtqPTA7bT10O2NvbnRpbnVl
IGF9Y2FzZSA3OntqPWNbRT4+Ml18MDtjW2o+PjJdPWU7Y1tqKzQ+PjJdPSgoZXwwKTwwKTw8MzE+
PjMxO2o9MDttPXQ7Y29udGludWUgYX1kZWZhdWx0OntqPTA7bT10O2NvbnRpbnVlIGF9fWNhc2Ug
MTEyOntrPTEyMDtqPXA+Pj4wPjg/cDo4O209c3w4O3Y9NjI7YnJlYWt9Y2FzZSA4ODpjYXNlIDEy
MDp7aj1wO209czt2PTYyO2JyZWFrfWNhc2UgMTExOntrPUU7aj1jW2s+PjJdfDA7az1jW2srND4+
Ml18MDtvPVVLKGosayx4KXwwO209eS1vfDA7cT0wO249MTM0NzEwO3A9KHMmOHwwKT09MHwocHww
KT4obXwwKT9wOm0rMXwwO209czt2PTY4O2JyZWFrfWNhc2UgMTA1OmNhc2UgMTAwOntrPUU7aj1j
W2s+PjJdfDA7az1jW2srND4+Ml18MDtpZigoa3wwKTwwKXtqPUlOKDAsMCxqfDAsa3wwKXwwO2s9
ejttPUU7Y1ttPj4yXT1qO2NbbSs0Pj4yXT1rO209MTtuPTEzNDcxMDt2PTY3O2JyZWFrIGR9ZWxz
ZXttPShzJjIwNDl8MCkhPTAmMTtuPShzJjIwNDh8MCk9PTA/KChzJjF8MCk9PTA/MTM0NzEwOjEz
NDcxMik6MTM0NzExO3Y9Njc7YnJlYWsgZH19Y2FzZSAxMTc6e2s9RTttPTA7bj0xMzQ3MTA7aj1j
W2s+PjJdfDA7az1jW2srND4+Ml18MDt2PTY3O2JyZWFrfWNhc2UgOTk6e2FbQT4+MF09Y1tFPj4y
XTtyPUE7cT0wO249MTM0NzEwO289eDtrPTE7YnJlYWt9Y2FzZSAxMDk6e2s9eUooY1soakooKXww
KT4+Ml18MCl8MDt2PTcyO2JyZWFrfWNhc2UgMTE1OntrPWNbRT4+Ml18MDtrPWt8MD9rOjEzNDcy
MDt2PTcyO2JyZWFrfWNhc2UgNjc6e2NbRz4+Ml09Y1tFPj4yXTtjW0I+PjJdPTA7Y1tFPj4yXT1H
O3A9LTE7bT1HO3Y9NzY7YnJlYWt9Y2FzZSA4Mzp7aj1jW0U+PjJdfDA7aWYoIXApe1dLKGQsMzIs
dSwwLHMpO2o9MDt2PTg1fWVsc2V7bT1qO3Y9NzZ9YnJlYWt9Y2FzZSA2NTpjYXNlIDcxOmNhc2Ug
NzA6Y2FzZSA2OTpjYXNlIDk3OmNhc2UgMTAzOmNhc2UgMTAyOmNhc2UgMTAxOntqPVhLKGQsK2hb
RT4+M10sdSxwLHMsayl8MDttPXQ7Y29udGludWUgYX1kZWZhdWx0OntxPTA7bj0xMzQ3MTA7bz14
O2s9cDtqPXN9fXdoaWxlKDApO2U6ZG8gaWYoKHZ8MCk9PTYyKXtzPUU7cj1jW3M+PjJdfDA7cz1j
W3MrND4+Ml18MDtvPVRLKHIscyx4LGsmMzIpfDA7bj0obSY4fDApPT0wfChyfDApPT0wJihzfDAp
PT0wO3E9bj8wOjI7bj1uPzEzNDcxMDoxMzQ3MTArKGs+PjQpfDA7cD1qO2o9cjtrPXM7dj02OH1l
bHNlIGlmKCh2fDApPT02Nyl7bz1WSyhqLGsseCl8MDtxPW07bT1zO3Y9Njh9ZWxzZSBpZigodnww
KT09NzIpe3Y9MDtzPVpKKGssMCxwKXwwO209KHN8MCk9PTA7cj1rO3E9MDtuPTEzNDcxMDtvPW0/
aytwfDA6cztrPW0/cDpzLWt8MH1lbHNlIGlmKCh2fDApPT03Nil7dj0wO289bTtqPTA7az0wO3do
aWxlKDEpe249Y1tvPj4yXXwwO2lmKCFuKWJyZWFrO2s9c0soSCxuKXwwO2lmKChrfDApPDB8az4+
PjA+KHAtanwwKT4+PjApYnJlYWs7aj1rK2p8MDtpZihwPj4+MD5qPj4+MClvPW8rNHwwO2Vsc2Ug
YnJlYWt9aWYoKGt8MCk8MCl7ZT0tMTticmVhayBhfVdLKGQsMzIsdSxqLHMpO2lmKCFqKXtqPTA7
dj04NX1lbHNle249MDt3aGlsZSgxKXtrPWNbbT4+Ml18MDtpZighayl7dj04NTticmVhayBlfWs9
c0soSCxrKXwwO249aytufDA7aWYoKG58MCk+KGp8MCkpe3Y9ODU7YnJlYWsgZX1RSyhkLEgsayk7
aWYobj4+PjA+PWo+Pj4wKXt2PTg1O2JyZWFrfWVsc2UgbT1tKzR8MH19fXdoaWxlKDApO2lmKCh2
fDApPT02OCl7dj0wO2s9KGp8MCkhPTB8KGt8MCkhPTA7aj0ocHwwKSE9MHxrO2s9eS1vKygoa14x
KSYxKXwwO3I9aj9vOng7bz14O2s9aj8oKHB8MCk+KGt8MCk/cDprKTpwO2o9KHB8MCk+LTE/bSYt
NjU1Mzc6bX1lbHNlIGlmKCh2fDApPT04NSl7dj0wO1dLKGQsMzIsdSxqLHNeODE5Mik7aj0odXww
KT4oanwwKT91Omo7bT10O2NvbnRpbnVlfXA9by1yfDA7bz0oa3wwKTwocHwwKT9wOms7cz1vK3F8
MDttPSh1fDApPChzfDApP3M6dTtXSyhkLDMyLG0scyxqKTtRSyhkLG4scSk7V0soZCw0OCxtLHMs
al42NTUzNik7V0soZCw0OCxvLHAsMCk7UUsoZCxyLHApO1dLKGQsMzIsbSxzLGpeODE5Mik7aj1t
O209dH1mOmRvIGlmKCh2fDApPT04OClpZighZClpZihtKXtlPTE7d2hpbGUoMSl7aj1jW2krKGU8
PDIpPj4yXXwwO2lmKCFqKWJyZWFrO1NLKGcrKGU8PDMpfDAsaixmKTtqPWUrMXwwO2lmKChlfDAp
PDkpZT1qO2Vsc2V7ZT1qO2JyZWFrfX1pZigoZXwwKTwxMCl3aGlsZSgxKXtpZihjW2krKGU8PDIp
Pj4yXXwwKXtlPS0xO2JyZWFrIGZ9aWYoKGV8MCk8OSllPWUrMXwwO2Vsc2V7ZT0xO2JyZWFrfX1l
bHNlIGU9MX1lbHNlIGU9MDt3aGlsZSgwKTtsPUk7cmV0dXJuIGV8MH1mdW5jdGlvbiBPSyhhKXth
PWF8MDtyZXR1cm4gMH1mdW5jdGlvbiBQSyhhKXthPWF8MDtyZXR1cm59ZnVuY3Rpb24gUUsoYSxi
LGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO2lmKCEoY1thPj4yXSYzMikpWksoYixkLGEpfDA7cmV0dXJu
fWZ1bmN0aW9uIFJLKGIpe2I9YnwwO3ZhciBkPTAsZT0wO2lmKCEoX0ooYVtjW2I+PjJdPj4wXXww
KXwwKSlkPTA7ZWxzZXtkPTA7ZG97ZT1jW2I+PjJdfDA7ZD0oZCoxMHwwKSstNDgrKGFbZT4+MF18
MCl8MDtlPWUrMXwwO2NbYj4+Ml09ZX13aGlsZSgoX0ooYVtlPj4wXXwwKXwwKSE9MCl9cmV0dXJu
IGR8MH1mdW5jdGlvbiBTSyhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0w
LjA7YTpkbyBpZihiPj4+MDw9MjApZG8gc3dpdGNoKGJ8MCl7Y2FzZSA5OntlPShjW2Q+PjJdfDAp
Kyg0LTEpJn4oNC0xKTtiPWNbZT4+Ml18MDtjW2Q+PjJdPWUrNDtjW2E+PjJdPWI7YnJlYWsgYX1j
YXNlIDEwOntlPShjW2Q+PjJdfDApKyg0LTEpJn4oNC0xKTtiPWNbZT4+Ml18MDtjW2Q+PjJdPWUr
NDtlPWE7Y1tlPj4yXT1iO2NbZSs0Pj4yXT0oKGJ8MCk8MCk8PDMxPj4zMTticmVhayBhfWNhc2Ug
MTE6e2U9KGNbZD4+Ml18MCkrKDQtMSkmfig0LTEpO2I9Y1tlPj4yXXwwO2NbZD4+Ml09ZSs0O2U9
YTtjW2U+PjJdPWI7Y1tlKzQ+PjJdPTA7YnJlYWsgYX1jYXNlIDEyOntlPShjW2Q+PjJdfDApKyg4
LTEpJn4oOC0xKTtiPWU7Zj1jW2I+PjJdfDA7Yj1jW2IrND4+Ml18MDtjW2Q+PjJdPWUrODtlPWE7
Y1tlPj4yXT1mO2NbZSs0Pj4yXT1iO2JyZWFrIGF9Y2FzZSAxMzp7Zj0oY1tkPj4yXXwwKSsoNC0x
KSZ+KDQtMSk7ZT1jW2Y+PjJdfDA7Y1tkPj4yXT1mKzQ7ZT0oZSY2NTUzNSk8PDE2Pj4xNjtmPWE7
Y1tmPj4yXT1lO2NbZis0Pj4yXT0oKGV8MCk8MCk8PDMxPj4zMTticmVhayBhfWNhc2UgMTQ6e2Y9
KGNbZD4+Ml18MCkrKDQtMSkmfig0LTEpO2U9Y1tmPj4yXXwwO2NbZD4+Ml09Zis0O2Y9YTtjW2Y+
PjJdPWUmNjU1MzU7Y1tmKzQ+PjJdPTA7YnJlYWsgYX1jYXNlIDE1OntmPShjW2Q+PjJdfDApKyg0
LTEpJn4oNC0xKTtlPWNbZj4+Ml18MDtjW2Q+PjJdPWYrNDtlPShlJjI1NSk8PDI0Pj4yNDtmPWE7
Y1tmPj4yXT1lO2NbZis0Pj4yXT0oKGV8MCk8MCk8PDMxPj4zMTticmVhayBhfWNhc2UgMTY6e2Y9
KGNbZD4+Ml18MCkrKDQtMSkmfig0LTEpO2U9Y1tmPj4yXXwwO2NbZD4+Ml09Zis0O2Y9YTtjW2Y+
PjJdPWUmMjU1O2NbZis0Pj4yXT0wO2JyZWFrIGF9Y2FzZSAxNzp7Zj0oY1tkPj4yXXwwKSsoOC0x
KSZ+KDgtMSk7Zz0raFtmPj4zXTtjW2Q+PjJdPWYrODtoW2E+PjNdPWc7YnJlYWsgYX1jYXNlIDE4
OntmPShjW2Q+PjJdfDApKyg4LTEpJn4oOC0xKTtnPStoW2Y+PjNdO2NbZD4+Ml09Zis4O2hbYT4+
M109ZzticmVhayBhfWRlZmF1bHQ6YnJlYWsgYX13aGlsZSgwKTt3aGlsZSgwKTtyZXR1cm59ZnVu
Y3Rpb24gVEsoYixjLGUsZil7Yj1ifDA7Yz1jfDA7ZT1lfDA7Zj1mfDA7aWYoISgoYnwwKT09MCYo
Y3wwKT09MCkpZG97ZT1lKy0xfDA7YVtlPj4wXT1kWzEzNDc1OCsoYiYxNSk+PjBdfDB8ZjtiPU5O
KGJ8MCxjfDAsNCl8MDtjPXp9d2hpbGUoISgoYnwwKT09MCYoY3wwKT09MCkpO3JldHVybiBlfDB9
ZnVuY3Rpb24gVUsoYixjLGQpe2I9YnwwO2M9Y3wwO2Q9ZHwwO2lmKCEoKGJ8MCk9PTAmKGN8MCk9
PTApKWRve2Q9ZCstMXwwO2FbZD4+MF09YiY3fDQ4O2I9Tk4oYnwwLGN8MCwzKXwwO2M9en13aGls
ZSghKChifDApPT0wJihjfDApPT0wKSk7cmV0dXJuIGR8MH1mdW5jdGlvbiBWSyhiLGMsZCl7Yj1i
fDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MDtpZihjPj4+MD4wfChjfDApPT0wJmI+Pj4wPjQyOTQ5Njcy
OTUpe3doaWxlKDEpe2U9TU4oYnwwLGN8MCwxMCwwKXwwO2Q9ZCstMXwwO2FbZD4+MF09ZSYyNTV8
NDg7ZT1iO2I9TE4oYnwwLGN8MCwxMCwwKXwwO2lmKCEoYz4+PjA+OXwoY3wwKT09OSZlPj4+MD40
Mjk0OTY3Mjk1KSlicmVhaztlbHNlIGM9en1jPWJ9ZWxzZSBjPWI7aWYoYyl3aGlsZSgxKXtkPWQr
LTF8MDthW2Q+PjBdPShjPj4+MCklMTB8MHw0ODtpZihjPj4+MDwxMClicmVhaztlbHNlIGM9KGM+
Pj4wKS8xMHwwfXJldHVybiBkfDB9ZnVuY3Rpb24gV0soYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtj
PWN8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MDtnPWw7bD1sKzI1NnwwO2Y9ZztpZigoY3wwKT4o
ZHwwKSYoZSY3MzcyOHwwKT09MCl7ZT1jLWR8MDtWTihmfDAsYjw8MjQ+PjI0fDAsKGU+Pj4wPDI1
Nj9lOjI1Nil8MCl8MDtpZihlPj4+MD4yNTUpe2I9Yy1kfDA7ZG97UUsoYSxmLDI1Nik7ZT1lKy0y
NTZ8MH13aGlsZShlPj4+MD4yNTUpO2U9YiYyNTV9UUsoYSxmLGUpfWw9ZztyZXR1cm59ZnVuY3Rp
b24gWEsoYixlLGYsZyxoLGkpe2I9YnwwO2U9K2U7Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7dmFy
IGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAuMCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9
MCx5PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MDtIPWw7bD1sKzU2MHwwO209SCs4
fDA7dT1IO0c9SCs1MjR8MDtGPUc7bj1IKzUxMnwwO2NbdT4+Ml09MDtFPW4rMTJ8MDtZSyhlKXww
O2lmKCh6fDApPDApe2U9LWU7Qz0xO0I9MTM0NzI3fWVsc2V7Qz0oaCYyMDQ5fDApIT0wJjE7Qj0o
aCYyMDQ4fDApPT0wPygoaCYxfDApPT0wPzEzNDcyODoxMzQ3MzMpOjEzNDczMH1ZSyhlKXwwO2Rv
IGlmKDA9PTAmKHomMjE0NjQzNTA3MnwwKT09MjE0NjQzNTA3Mil7Rz0oaSYzMnwwKSE9MDtqPUMr
M3wwO1dLKGIsMzIsZixqLGgmLTY1NTM3KTtRSyhiLEIsQyk7UUsoYixlIT1lfDAuMCE9MC4wPyhH
PzEzNDg5NToxMzQ3NTQpOkc/MTM0NzQ2OjEzNDc1MCwzKTtXSyhiLDMyLGYsaixoXjgxOTIpfWVs
c2V7cj0rVEooZSx1KSoyLjA7aj1yIT0wLjA7aWYoailjW3U+PjJdPShjW3U+PjJdfDApKy0xO3c9
aXwzMjtpZigod3wwKT09OTcpe3A9aSYzMjtzPShwfDApPT0wP0I6Qis5fDA7cT1DfDI7aj0xMi1n
fDA7ZG8gaWYoIShnPj4+MD4xMXwoanwwKT09MCkpe2U9OC4wO2Rve2o9aistMXwwO2U9ZSoxNi4w
fXdoaWxlKChqfDApIT0wKTtpZigoYVtzPj4wXXwwKT09NDUpe2U9LShlKygtci1lKSk7YnJlYWt9
ZWxzZXtlPXIrZS1lO2JyZWFrfX1lbHNlIGU9cjt3aGlsZSgwKTtrPWNbdT4+Ml18MDtqPShrfDAp
PDA/MC1rfDA6aztqPVZLKGosKChqfDApPDApPDwzMT4+MzEsRSl8MDtpZigoanwwKT09KEV8MCkp
e2o9bisxMXwwO2Fbaj4+MF09NDh9YVtqKy0xPj4wXT0oaz4+MzEmMikrNDM7bz1qKy0yfDA7YVtv
Pj4wXT1pKzE1O209KGd8MCk8MTtuPShoJjh8MCk9PTA7aj1HO2Rve0Q9fn5lO2s9aisxfDA7YVtq
Pj4wXT1wfGRbMTM0NzU4K0Q+PjBdO2U9KGUtKyhEfDApKSoxNi4wO2lmKChrLUZ8MCk9PTE/IShu
JihtJmU9PTAuMCkpOjApe2Fbaz4+MF09NDY7aj1qKzJ8MH1lbHNlIGo9a313aGlsZShlIT0wLjAp
O2lmKChnfDApIT0wPygtMi1GK2p8MCk8KGd8MCk6MCl7az1qLUZ8MDtqPWcrMnwwfWVsc2V7aj1q
LUZ8MDtrPWp9RT1FLW98MDtGPUUrcStqfDA7V0soYiwzMixmLEYsaCk7UUsoYixzLHEpO1dLKGIs
NDgsZixGLGheNjU1MzYpO1FLKGIsRyxrKTtXSyhiLDQ4LGota3wwLDAsMCk7UUsoYixvLEUpO1dL
KGIsMzIsZixGLGheODE5Mik7aj1GO2JyZWFrfWs9KGd8MCk8MD82Omc7aWYoail7aj0oY1t1Pj4y
XXwwKSstMjh8MDtjW3U+PjJdPWo7ZT1yKjI2ODQzNTQ1Ni4wfWVsc2V7ZT1yO2o9Y1t1Pj4yXXww
fUQ9KGp8MCk8MD9tOm0rMjg4fDA7bT1EO2Rve3k9fn5lPj4+MDtjW20+PjJdPXk7bT1tKzR8MDtl
PShlLSsoeT4+PjApKSoxLjBlOX13aGlsZShlIT0wLjApO2lmKChqfDApPjApe249RDtwPW07d2hp
bGUoMSl7bz0oanwwKTwyOT9qOjI5O2o9cCstNHwwO2lmKGo+Pj4wPj1uPj4+MCl7bT0wO2Rve3g9
T04oY1tqPj4yXXwwLDAsb3wwKXwwO3g9SE4oeHwwLHp8MCxtfDAsMCl8MDt5PXo7dj1NTih4fDAs
eXwwLDFlOSwwKXwwO2Nbaj4+Ml09djttPUxOKHh8MCx5fDAsMWU5LDApfDA7aj1qKy00fDB9d2hp
bGUoaj4+PjA+PW4+Pj4wKTtpZihtKXtuPW4rLTR8MDtjW24+PjJdPW19fW09cDt3aGlsZSgxKXtp
ZihtPj4+MDw9bj4+PjApYnJlYWs7aj1tKy00fDA7aWYoIShjW2o+PjJdfDApKW09ajtlbHNlIGJy
ZWFrfWo9KGNbdT4+Ml18MCktb3wwO2NbdT4+Ml09ajtpZigoanwwKT4wKXA9bTtlbHNlIGJyZWFr
fX1lbHNlIG49RDtpZigoanwwKTwwKXtnPSgoaysyNXwwKS85fDApKzF8MDt0PSh3fDApPT0xMDI7
ZG97cz0wLWp8MDtzPShzfDApPDk/czo5O2lmKG4+Pj4wPG0+Pj4wKXtvPSgxPDxzKSstMXwwO3A9
MWU5Pj4+cztxPTA7aj1uO2Rve3k9Y1tqPj4yXXwwO2Nbaj4+Ml09KHk+Pj5zKStxO3E9Tyh5Jm8s
cCl8MDtqPWorNHwwfXdoaWxlKGo+Pj4wPG0+Pj4wKTtqPShjW24+PjJdfDApPT0wP24rNHwwOm47
aWYoIXEpe249ajtqPW19ZWxzZXtjW20+PjJdPXE7bj1qO2o9bSs0fDB9fWVsc2V7bj0oY1tuPj4y
XXwwKT09MD9uKzR8MDpuO2o9bX1tPXQ/RDpuO209KGotbT4+MnwwKT4oZ3wwKT9tKyhnPDwyKXww
Omo7aj0oY1t1Pj4yXXwwKStzfDA7Y1t1Pj4yXT1qfXdoaWxlKChqfDApPDApO2o9bjtnPW19ZWxz
ZXtqPW47Zz1tfXk9RDtpZihqPj4+MDxnPj4+MCl7bT0oeS1qPj4yKSo5fDA7bz1jW2o+PjJdfDA7
aWYobz4+PjA+PTEwKXtuPTEwO2Rve249bioxMHwwO209bSsxfDB9d2hpbGUobz4+PjA+PW4+Pj4w
KX19ZWxzZSBtPTA7dD0od3wwKT09MTAzO3Y9KGt8MCkhPTA7bj1rLSgod3wwKSE9MTAyP206MCkr
KCh2JnQpPDwzMT4+MzEpfDA7aWYoKG58MCk8KCgoZy15Pj4yKSo5fDApKy05fDApKXtuPW4rOTIx
NnwwO3M9RCs0KygoKG58MCkvOXwwKSstMTAyNDw8Mil8MDtuPShufDApJTl8MDtpZigobnwwKTw4
KXtvPTEwO3doaWxlKDEpe289byoxMHwwO2lmKChufDApPDcpbj1uKzF8MDtlbHNlIGJyZWFrfX1l
bHNlIG89MTA7cD1jW3M+PjJdfDA7cT0ocD4+PjApJShvPj4+MCl8MDtuPShzKzR8MCk9PShnfDAp
O2lmKCEobiYocXwwKT09MCkpe3I9KCgocD4+PjApLyhvPj4+MCl8MCkmMXwwKT09MD85MDA3MTk5
MjU0NzQwOTkyLjA6OTAwNzE5OTI1NDc0MDk5NC4wO3g9KG98MCkvMnwwO2U9cT4+PjA8eD4+PjA/
LjU6biYocXwwKT09KHh8MCk/MS4wOjEuNTtpZihDKXt4PShhW0I+PjBdfDApPT00NTtlPXg/LWU6
ZTtyPXg/LXI6cn1uPXAtcXwwO2Nbcz4+Ml09bjtpZihyK2UhPXIpe3g9bitvfDA7Y1tzPj4yXT14
O2lmKHg+Pj4wPjk5OTk5OTk5OSl7bT1zO3doaWxlKDEpe249bSstNHwwO2NbbT4+Ml09MDtpZihu
Pj4+MDxqPj4+MCl7aj1qKy00fDA7Y1tqPj4yXT0wfXg9KGNbbj4+Ml18MCkrMXwwO2Nbbj4+Ml09
eDtpZih4Pj4+MD45OTk5OTk5OTkpbT1uO2Vsc2UgYnJlYWt9fWVsc2Ugbj1zO209KHktaj4+Mikq
OXwwO3A9Y1tqPj4yXXwwO2lmKHA+Pj4wPj0xMCl7bz0xMDtkb3tvPW8qMTB8MDttPW0rMXwwfXdo
aWxlKHA+Pj4wPj1vPj4+MCl9fWVsc2Ugbj1zfWVsc2Ugbj1zO249bis0fDA7bj1nPj4+MD5uPj4+
MD9uOmc7eD1qfWVsc2V7bj1nO3g9an13PW47d2hpbGUoMSl7aWYodz4+PjA8PXg+Pj4wKXt1PTA7
YnJlYWt9aj13Ky00fDA7aWYoIShjW2o+PjJdfDApKXc9ajtlbHNle3U9MTticmVha319Zz0wLW18
MDtkbyBpZih0KXtqPWsrKCh2XjEpJjEpfDA7aWYoKGp8MCk+KG18MCkmKG18MCk+LTUpe289aSst
MXwwO2s9aistMS1tfDB9ZWxzZXtvPWkrLTJ8MDtrPWorLTF8MH1qPWgmODtpZighail7aWYodT8o
QT1jW3crLTQ+PjJdfDAsKEF8MCkhPTApOjApaWYoISgoQT4+PjApJTEwfDApKXtuPTA7aj0xMDtk
b3tqPWoqMTB8MDtuPW4rMXwwfXdoaWxlKCEoKEE+Pj4wKSUoaj4+PjApfDB8MCkpfWVsc2Ugbj0w
O2Vsc2Ugbj05O2o9KCh3LXk+PjIpKjl8MCkrLTl8MDtpZigob3wzMnwwKT09MTAyKXtzPWotbnww
O3M9KHN8MCk+MD9zOjA7az0oa3wwKTwoc3wwKT9rOnM7cz0wO2JyZWFrfWVsc2V7cz1qK20tbnww
O3M9KHN8MCk+MD9zOjA7az0oa3wwKTwoc3wwKT9rOnM7cz0wO2JyZWFrfX1lbHNlIHM9an1lbHNl
e289aTtzPWgmOH13aGlsZSgwKTt0PWt8cztwPSh0fDApIT0wJjE7cT0ob3wzMnwwKT09MTAyO2lm
KHEpe3Y9MDtqPShtfDApPjA/bTowfWVsc2V7aj0obXwwKTwwP2c6bTtqPVZLKGosKChqfDApPDAp
PDwzMT4+MzEsRSl8MDtuPUU7aWYoKG4tanwwKTwyKWRve2o9aistMXwwO2Fbaj4+MF09NDh9d2hp
bGUoKG4tanwwKTwyKTthW2orLTE+PjBdPShtPj4zMSYyKSs0MztqPWorLTJ8MDthW2o+PjBdPW87
dj1qO2o9bi1qfDB9aj1DKzEraytwK2p8MDtXSyhiLDMyLGYsaixoKTtRSyhiLEIsQyk7V0soYiw0
OCxmLGosaF42NTUzNik7aWYocSl7bz14Pj4+MD5EPj4+MD9EOng7cz1HKzl8MDtwPXM7cT1HKzh8
MDtuPW87ZG97bT1WSyhjW24+PjJdfDAsMCxzKXwwO2lmKChufDApPT0ob3wwKSl7aWYoKG18MCk9
PShzfDApKXthW3E+PjBdPTQ4O209cX19ZWxzZSBpZihtPj4+MD5HPj4+MCl7Vk4oR3wwLDQ4LG0t
RnwwKXwwO2RvIG09bSstMXwwO3doaWxlKG0+Pj4wPkc+Pj4wKX1RSyhiLG0scC1tfDApO249bis0
fDB9d2hpbGUobj4+PjA8PUQ+Pj4wKTtpZih0fDApUUsoYiwxMzQ3NzQsMSk7aWYobj4+PjA8dz4+
PjAmKGt8MCk+MCl3aGlsZSgxKXttPVZLKGNbbj4+Ml18MCwwLHMpfDA7aWYobT4+PjA+Rz4+PjAp
e1ZOKEd8MCw0OCxtLUZ8MCl8MDtkbyBtPW0rLTF8MDt3aGlsZShtPj4+MD5HPj4+MCl9UUsoYixt
LChrfDApPDk/azo5KTtuPW4rNHwwO209aystOXwwO2lmKCEobj4+PjA8dz4+PjAmKGt8MCk+OSkp
e2s9bTticmVha31lbHNlIGs9bX1XSyhiLDQ4LGsrOXwwLDksMCl9ZWxzZXt0PXU/dzp4KzR8MDtp
Zigoa3wwKT4tMSl7dT1HKzl8MDtzPShzfDApPT0wO2c9dTtwPTAtRnwwO3E9Rys4fDA7bz14O2Rv
e209VksoY1tvPj4yXXwwLDAsdSl8MDtpZigobXwwKT09KHV8MCkpe2FbcT4+MF09NDg7bT1xfWRv
IGlmKChvfDApPT0oeHwwKSl7bj1tKzF8MDtRSyhiLG0sMSk7aWYocyYoa3wwKTwxKXttPW47YnJl
YWt9UUsoYiwxMzQ3NzQsMSk7bT1ufWVsc2V7aWYobT4+PjA8PUc+Pj4wKWJyZWFrO1ZOKEd8MCw0
OCxtK3B8MCl8MDtkbyBtPW0rLTF8MDt3aGlsZShtPj4+MD5HPj4+MCl9d2hpbGUoMCk7Rj1nLW18
MDtRSyhiLG0sKGt8MCk+KEZ8MCk/RjprKTtrPWstRnwwO289bys0fDB9d2hpbGUobz4+PjA8dD4+
PjAmKGt8MCk+LTEpfVdLKGIsNDgsaysxOHwwLDE4LDApO1FLKGIsdixFLXZ8MCl9V0soYiwzMixm
LGosaF44MTkyKX13aGlsZSgwKTtsPUg7cmV0dXJuICgoanwwKTwoZnwwKT9mOmopfDB9ZnVuY3Rp
b24gWUsoYSl7YT0rYTt2YXIgYj0wO2hbaj4+M109YTtiPWNbaj4+Ml18MDt6PWNbais0Pj4yXXww
O3JldHVybiBifDB9ZnVuY3Rpb24gWksoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAs
Zz0wLGg9MCxpPTAsaj0wO2Y9ZSsxNnwwO2c9Y1tmPj4yXXwwO2lmKCFnKWlmKCEoX0soZSl8MCkp
e2c9Y1tmPj4yXXwwO2g9NX1lbHNlIGY9MDtlbHNlIGg9NTthOmRvIGlmKChofDApPT01KXtqPWUr
MjB8MDtpPWNbaj4+Ml18MDtmPWk7aWYoKGctaXwwKT4+PjA8ZD4+PjApe2Y9YmJbY1tlKzM2Pj4y
XSYzMV0oZSxiLGQpfDA7YnJlYWt9YjpkbyBpZigoYVtlKzc1Pj4wXXwwKT4tMSl7aT1kO3doaWxl
KDEpe2lmKCFpKXtoPTA7Zz1iO2JyZWFrIGJ9Zz1pKy0xfDA7aWYoKGFbYitnPj4wXXwwKT09MTAp
YnJlYWs7ZWxzZSBpPWd9Zj1iYltjW2UrMzY+PjJdJjMxXShlLGIsaSl8MDtpZihmPj4+MDxpPj4+
MClicmVhayBhO2g9aTtnPWIraXwwO2Q9ZC1pfDA7Zj1jW2o+PjJdfDB9ZWxzZXtoPTA7Zz1ifXdo
aWxlKDApO1ROKGZ8MCxnfDAsZHwwKXwwO2Nbaj4+Ml09KGNbaj4+Ml18MCkrZDtmPWgrZHwwfXdo
aWxlKDApO3JldHVybiBmfDB9ZnVuY3Rpb24gX0soYil7Yj1ifDA7dmFyIGQ9MCxlPTA7ZD1iKzc0
fDA7ZT1hW2Q+PjBdfDA7YVtkPj4wXT1lKzI1NXxlO2Q9Y1tiPj4yXXwwO2lmKCEoZCY4KSl7Y1ti
Kzg+PjJdPTA7Y1tiKzQ+PjJdPTA7ZT1jW2IrNDQ+PjJdfDA7Y1tiKzI4Pj4yXT1lO2NbYisyMD4+
Ml09ZTtjW2IrMTY+PjJdPWUrKGNbYis0OD4+Ml18MCk7Yj0wfWVsc2V7Y1tiPj4yXT1kfDMyO2I9
LTF9cmV0dXJuIGJ8MH1mdW5jdGlvbiAkSyhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9
MCxmPTA7ZT1hKzIwfDA7Zj1jW2U+PjJdfDA7YT0oY1thKzE2Pj4yXXwwKS1mfDA7YT1hPj4+MD5k
Pj4+MD9kOmE7VE4oZnwwLGJ8MCxhfDApfDA7Y1tlPj4yXT0oY1tlPj4yXXwwKSthO3JldHVybiBk
fDB9ZnVuY3Rpb24gYUwoYil7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGY9MDtlPWFbYj4+MF18MDtj
PTE7ZD0xMzQ3NzY7Zj05Nzt3aGlsZSgxKXtpZihlPDwyND4+MjQ9PWY8PDI0Pj4yND8oeEooYixk
KXwwKT09MDowKWJyZWFrO2Q9ZCs2fDA7Zj1hW2Q+PjBdfDA7aWYoIShmPDwyND4+MjQpKXtjPTA7
YnJlYWt9ZWxzZSBjPWMrMXwwfXJldHVybiBjfDB9ZnVuY3Rpb24gYkwoYixkKXtiPWJ8MDtkPWR8
MDt2YXIgZT0wLGY9MCxnPTAsaD0wO2g9bDtsPWwrMTZ8MDtnPWg7ZG8gaWYoYj4+PjA+NilkPTA7
ZWxzZXtwYSgxNzA3ODApO2lmKChifDApIT02KXtkPWNMKGIsZCl8MDtGYSgxNzA3ODApO2JyZWFr
fWlmKCFkKXtkPTE3NjI1NDtiPTB9ZWxzZXtiPWc7ZT0xMzQ4NDk7Zj1iKzE2fDA7ZG97YVtiPj4w
XT1hW2U+PjBdfDA7Yj1iKzF8MDtlPWUrMXwwfXdoaWxlKChifDApPChmfDApKTtmPTA7ZG97Yj1x
SihkLDU5KXwwO2U9Yi1kfDA7aWYoKGV8MCk8MTYpe1ROKGd8MCxkfDAsZXwwKXwwO2FbZytlPj4w
XT0wO2Q9KGFbYj4+MF18MCk9PTA/ZDpiKzF8MH1jTChmLGcpfDA7Zj1mKzF8MH13aGlsZSgoZnww
KSE9Nik7ZD0xNzYyNTQ7Yj0wfXdoaWxlKDEpe2Y9Y1sxNzA3NDArKGI8PDIpPj4yXXwwO2Y9Znww
P2YrOHwwOjEzNDg2NTtlPXJKKGYpfDA7VE4oZHwwLGZ8MCxlfDApfDA7Zj1kK2V8MDthW2Y+PjBd
PTU5O2I9YisxfDA7aWYoKGJ8MCk9PTYpYnJlYWs7ZWxzZSBkPWQrKGUrMSl8MH1hW2Y+PjBdPTA7
RmEoMTcwNzgwKTtkPTE3NjI1NH13aGlsZSgwKTtsPWg7cmV0dXJuIGR8MH1mdW5jdGlvbiBjTChh
LGIpe2E9YXwwO2I9YnwwO2lmKCFiKWE9Y1sxNzA3NDArKGE8PDIpPj4yXXwwO2Vsc2V7Yj13Syhh
LGIpfDA7Y1sxNzA3NDArKGE8PDIpPj4yXT1iO2E9Yn1yZXR1cm4gKGF8MD9hKzh8MDoxMzQ4NjUp
fDB9ZnVuY3Rpb24gZEwoYixjLGQpe2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZj0wO2E6ZG8g
aWYoIWQpYj0wO2Vsc2V7d2hpbGUoMSl7ZT1hW2I+PjBdfDA7Zj1hW2M+PjBdfDA7aWYoZTw8MjQ+
PjI0IT1mPDwyND4+MjQpYnJlYWs7ZD1kKy0xfDA7aWYoIWQpe2I9MDticmVhayBhfWVsc2V7Yj1i
KzF8MDtjPWMrMXwwfX1iPShlJjI1NSktKGYmMjU1KXwwfXdoaWxlKDApO3JldHVybiBifDB9ZnVu
Y3Rpb24gZUwoYSl7YT1hfDA7cmV0dXJuIGZMKGEpfDB9ZnVuY3Rpb24gZkwoYSl7YT1hfDA7cmV0
dXJuIFBOKGF8MCl8MH1mdW5jdGlvbiBnTChiLGUsZil7Yj1ifDA7ZT1lfDA7Zj1mfDA7dmFyIGc9
MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MDtpZigoY1tmKzc2Pj4yXXwwKT4t
MSltPU9LKGYpfDA7ZWxzZSBtPTA7Zz1lKy0xfDA7aWYoKGV8MCk8Mil7bj1mKzc0fDA7bD1hW24+
PjBdfDA7YVtuPj4wXT1sKzI1NXxsO2lmKG18MClQSyhmKTtpZighZylhW2I+PjBdPTA7ZWxzZSBi
PTB9ZWxzZXthOmRvIGlmKGcpe2s9Zis0fDA7bD1mKzh8MDtlPWI7d2hpbGUoMSl7aD1jW2s+PjJd
fDA7bz1oO3A9KGNbbD4+Ml18MCktb3wwO2k9WkooaCwxMCxwKXwwO2o9KGl8MCk9PTA7aT1qP3A6
MS1vK2l8MDtpPWk+Pj4wPGc+Pj4wP2k6ZztUTihlfDAsaHwwLGl8MCl8MDtoPShjW2s+PjJdfDAp
K2l8MDtjW2s+PjJdPWg7ZT1lK2l8MDtpPWctaXwwO2lmKCEoaiYoaXwwKSE9MCkpe249MTc7YnJl
YWsgYX1pZihoPj4+MD49KGNbbD4+Ml18MCk+Pj4wKXtnPWRLKGYpfDA7aWYoKGd8MCk8MClicmVh
aztlbHNlIGo9Z31lbHNle2Nbaz4+Ml09aCsxO2o9ZFtoPj4wXXwwfWc9aSstMXwwO2g9ZSsxfDA7
YVtlPj4wXT1qO2lmKCEoKGd8MCkhPTAmKGomMjU1fDApIT0xMCkpe2U9aDtuPTE3O2JyZWFrIGF9
ZWxzZSBlPWh9aWYoKGV8MCkhPShifDApPyhjW2Y+PjJdJjE2fDApIT0wOjApbj0xNztlbHNlIGI9
MH1lbHNle2U9YjtuPTE3fXdoaWxlKDApO2lmKChufDApPT0xNylpZighYiliPTA7ZWxzZSBhW2U+
PjBdPTA7aWYobSlQSyhmKX1yZXR1cm4gYnwwfWZ1bmN0aW9uIGhMKGIsYyl7Yj1ifDA7Yz1jfDA7
dmFyIGQ9MDtkPWFbYz4+MF18MDtkbyBpZihkPDwyND4+MjQpe2I9V0ooYixkPDwyND4+MjQpfDA7
aWYoYil7aWYoYVtjKzE+PjBdfDApaWYoYVtiKzE+PjBdfDApe2lmKCEoYVtjKzI+PjBdfDApKXti
PWlMKGIsYyl8MDticmVha31pZihhW2IrMj4+MF18MCl7aWYoIShhW2MrMz4+MF18MCkpe2I9akwo
YixjKXwwO2JyZWFrfWlmKGFbYiszPj4wXXwwKWlmKCEoYVtjKzQ+PjBdfDApKXtiPWtMKGIsYyl8
MDticmVha31lbHNle2I9bEwoYixjKXwwO2JyZWFrfWVsc2UgYj0wfWVsc2UgYj0wfWVsc2UgYj0w
fWVsc2UgYj0wfXdoaWxlKDApO3JldHVybiBifDB9ZnVuY3Rpb24gaUwoYixjKXtiPWJ8MDtjPWN8
MDt2YXIgZT0wLGY9MCxnPTA7Zz0oZFtjPj4wXXwwKTw8OHwoZFtjKzE+PjBdfDApO2Y9ZFtiPj4w
XXwwO3doaWxlKDEpe2M9YisxfDA7ZT1hW2M+PjBdfDA7aWYoIShlPDwyND4+MjQpKWJyZWFrO2Y9
Zjw8OCY2NTI4MHxlJjI1NTtpZigoZnwwKT09KGd8MCkpYnJlYWs7ZWxzZSBiPWN9cmV0dXJuIChl
PDwyND4+MjQ/YjowKXwwfWZ1bmN0aW9uIGpMKGIsYyl7Yj1ifDA7Yz1jfDA7dmFyIGU9MCxmPTA7
Zj0oZFtjKzE+PjBdfDApPDwxNnwoZFtjPj4wXXwwKTw8MjR8KGRbYysyPj4wXXwwKTw8ODtlPWIr
MnwwO2M9YVtlPj4wXXwwO2I9KGRbYisxPj4wXXwwKTw8MTZ8KGRbYj4+MF18MCk8PDI0fChjJjI1
NSk8PDg7aWYoISgoYnwwKT09KGZ8MCl8Yzw8MjQ+PjI0PT0wKSlkb3tlPWUrMXwwO2M9YVtlPj4w
XXwwO2I9KGJ8YyYyNTUpPDw4fXdoaWxlKCEoKGJ8MCk9PShmfDApfGM8PDI0Pj4yND09MCkpO3Jl
dHVybiAoYzw8MjQ+PjI0P2UrLTJ8MDowKXwwfWZ1bmN0aW9uIGtMKGIsYyl7Yj1ifDA7Yz1jfDA7
dmFyIGU9MCxmPTA7Zj0oZFtjKzE+PjBdfDApPDwxNnwoZFtjPj4wXXwwKTw8MjR8KGRbYysyPj4w
XXwwKTw8OHwoZFtjKzM+PjBdfDApO2M9YiszfDA7ZT1hW2M+PjBdfDA7Yj0oZFtiKzE+PjBdfDAp
PDwxNnwoZFtiPj4wXXwwKTw8MjR8KGRbYisyPj4wXXwwKTw8OHxlJjI1NTtpZighKGU8PDI0Pj4y
ND09MHwoYnwwKT09KGZ8MCkpKWRve2M9YysxfDA7ZT1hW2M+PjBdfDA7Yj1iPDw4fGUmMjU1fXdo
aWxlKCEoZTw8MjQ+PjI0PT0wfChifDApPT0oZnwwKSkpO3JldHVybiAoZTw8MjQ+PjI0P2MrLTN8
MDowKXwwfWZ1bmN0aW9uIGxMKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxp
PTAsaj0wLGs9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTA7dj1sO2w9
bCsxMDU2fDA7dD12KzEwMjR8MDt1PXY7Y1t0Pj4yXT0wO2NbdCs0Pj4yXT0wO2NbdCs4Pj4yXT0w
O2NbdCsxMj4+Ml09MDtjW3QrMTY+PjJdPTA7Y1t0KzIwPj4yXT0wO2NbdCsyND4+Ml09MDtjW3Qr
Mjg+PjJdPTA7ZT1hW2Q+PjBdfDA7YTpkbyBpZihlPDwyND4+MjQpe3M9MDtkb3tpZighKGFbYitz
Pj4wXXwwKSl7ZT0wO2JyZWFrIGF9cj10KygoKGUmMjU1KT4+PjUmMjU1KTw8Mil8MDtjW3I+PjJd
PWNbcj4+Ml18MTw8KGUmMzEpO3M9cysxfDA7Y1t1KygoZSYyNTUpPDwyKT4+Ml09cztlPWFbZCtz
Pj4wXXwwfXdoaWxlKGU8PDI0Pj4yNCE9MCk7bT1zPj4+MD4xO2lmKG0pe2Y9MDtrPS0xO2c9MTti
OndoaWxlKDEpe2g9MTtlPWY7d2hpbGUoMSl7Zj1nO2M6d2hpbGUoMSl7aj0xO3doaWxlKDEpe2c9
YVtkKyhqK2spPj4wXXwwO2k9YVtkK2Y+PjBdfDA7aWYoZzw8MjQ+PjI0IT1pPDwyND4+MjQpYnJl
YWsgYztpZigoanwwKT09KGh8MCkpYnJlYWs7aj1qKzF8MDtmPWorZXwwO2lmKGY+Pj4wPj1zPj4+
MCl7bj1oO2U9azticmVhayBifX1lPWgrZXwwO2Y9ZSsxfDA7aWYoZj4+PjA+PXM+Pj4wKXtuPWg7
ZT1rO2JyZWFrIGJ9fWg9Zi1rfDA7aWYoKGcmMjU1KTw9KGkmMjU1KSlicmVhaztnPWYrMXwwO2lm
KGc+Pj4wPj1zPj4+MCl7bj1oO2U9azticmVhayBifWVsc2UgZT1mfWc9ZSsyfDA7aWYoZz4+PjA+
PXM+Pj4wKXtuPTE7YnJlYWt9ZWxzZXtmPWUrMXwwO2s9ZX19aWYobSl7aD0wO209LTE7aT0xO3do
aWxlKDEpe2Y9MTtnPWg7d2hpbGUoMSl7aD1pO2Q6d2hpbGUoMSl7az0xO3doaWxlKDEpe2k9YVtk
KyhrK20pPj4wXXwwO2o9YVtkK2g+PjBdfDA7aWYoaTw8MjQ+PjI0IT1qPDwyND4+MjQpYnJlYWsg
ZDtpZigoa3wwKT09KGZ8MCkpYnJlYWs7az1rKzF8MDtoPWsrZ3wwO2lmKGg+Pj4wPj1zPj4+MCl7
aT1uO2c9bTtoPTI2O2JyZWFrIGF9fWc9ZitnfDA7aD1nKzF8MDtpZihoPj4+MD49cz4+PjApe2k9
bjtnPW07aD0yNjticmVhayBhfX1mPWgtbXwwO2lmKChpJjI1NSk+PShqJjI1NSkpYnJlYWs7aT1o
KzF8MDtpZihpPj4+MD49cz4+PjApe2k9bjtnPW07aD0yNjticmVhayBhfWVsc2UgZz1ofWk9Zysy
fDA7aWYoaT4+PjA+PXM+Pj4wKXtpPW47Zj0xO2g9MjY7YnJlYWt9ZWxzZXtoPWcrMXwwO209Z319
fWVsc2V7aT1uO2Y9MTtnPS0xO2g9MjZ9fWVsc2V7aT0xO2U9LTE7Zj0xO2c9LTE7aD0yNn19ZWxz
ZXtpPTE7ZT0tMTtzPTA7Zj0xO2c9LTE7aD0yNn13aGlsZSgwKTtlOmRvIGlmKChofDApPT0yNil7
cT0oZysxfDApPj4+MD4oZSsxfDApPj4+MDtmPXE/ZjppO3E9cT9nOmU7cj1xKzF8MDtpZighKGRM
KGQsZCtmfDAscil8MCkpcD1zLWZ8MDtlbHNle2Y9cy1xKy0xfDA7cD0wO2Y9KHE+Pj4wPmY+Pj4w
P3E6ZikrMXwwfWs9c3w2MzttPXMrLTF8MDtuPShwfDApIT0wO289cy1mfDA7ZT1iO2o9MDtnPWI7
d2hpbGUoMSl7aD1lO2RvIGlmKChnLWh8MCk+Pj4wPHM+Pj4wKXtpPVpKKGcsMCxrKXwwO2lmKGkp
aWYoKGktaHwwKT4+PjA8cz4+PjApe2U9MDticmVhayBlfWVsc2UgYnJlYWs7ZWxzZXtpPWcra3ww
O2JyZWFrfX1lbHNlIGk9Zzt3aGlsZSgwKTtnPWFbZSttPj4wXXwwO2Y6ZG8gaWYoISgxPDwoZyYz
MSkmY1t0KygoKGcmMjU1KT4+PjUmMjU1KTw8Mik+PjJdKSl7aD0wO2c9c31lbHNle2c9cy0oY1t1
KygoZyYyNTUpPDwyKT4+Ml18MCl8MDtpZihnfDApe2g9MDtnPW4mKGp8MCkhPTAmZz4+PjA8Zj4+
PjA/bzpnO2JyZWFrfWc9cj4+PjA+aj4+PjA/cjpqO2g9YVtkK2c+PjBdfDA7ZzpkbyBpZighKGg8
PDI0Pj4yNCkpZz1yO2Vsc2V7d2hpbGUoMSl7aWYoaDw8MjQ+PjI0IT0oYVtlK2c+PjBdfDApKWJy
ZWFrO2c9ZysxfDA7aD1hW2QrZz4+MF18MDtpZighKGg8PDI0Pj4yNCkpe2c9cjticmVhayBnfX1o
PTA7Zz1nLXF8MDticmVhayBmfXdoaWxlKDApO3doaWxlKDEpe2lmKGc+Pj4wPD1qPj4+MClicmVh
ayBlO2c9ZystMXwwO2lmKChhW2QrZz4+MF18MCkhPShhW2UrZz4+MF18MCkpe2g9cDtnPWY7YnJl
YWt9fX13aGlsZSgwKTtlPWUrZ3wwO2o9aDtnPWl9fXdoaWxlKDApO2w9djtyZXR1cm4gZXwwfWZ1
bmN0aW9uIG1MKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtuTChhLGIsYyl8MDtyZXR1cm4gYXww
fWZ1bmN0aW9uIG5MKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTA7Zz1k
O2E6ZG8gaWYoISgoZ15iKSYzKSl7Zj0oZXwwKSE9MDtpZihmJihnJjN8MCkhPTApZG97Zz1hW2Q+
PjBdfDA7YVtiPj4wXT1nO2lmKCEoZzw8MjQ+PjI0KSlicmVhayBhO2U9ZSstMXwwO2Q9ZCsxfDA7
Yj1iKzF8MDtmPShlfDApIT0wfXdoaWxlKGYmKGQmM3wwKSE9MCk7aWYoZil7aWYoYVtkPj4wXXww
KXtiOmRvIGlmKGU+Pj4wPjMpe2Y9ZDt3aGlsZSgxKXtkPWNbZj4+Ml18MDtpZigoZCYtMjEzOTA2
MjE0NF4tMjEzOTA2MjE0NCkmZCstMTY4NDMwMDl8MCl7ZD1mO2JyZWFrIGJ9Y1tiPj4yXT1kO2U9
ZSstNHwwO2Q9Zis0fDA7Yj1iKzR8MDtpZihlPj4+MD4zKWY9ZDtlbHNlIGJyZWFrfX13aGlsZSgw
KTtoPTExfX1lbHNlIGU9MH1lbHNlIGg9MTE7d2hpbGUoMCk7YzpkbyBpZigoaHwwKT09MTEpaWYo
IWUpZT0wO2Vsc2Ugd2hpbGUoMSl7aD1hW2Q+PjBdfDA7YVtiPj4wXT1oO2lmKCEoaDw8MjQ+PjI0
KSlicmVhayBjO2U9ZSstMXwwO2I9YisxfDA7aWYoIWUpe2U9MDticmVha31lbHNlIGQ9ZCsxfDB9
d2hpbGUoMCk7Vk4oYnwwLDAsZXwwKXwwO3JldHVybiBifDB9ZnVuY3Rpb24gb0woYixkKXtiPWJ8
MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wO2c9bDtsPWwrMzJ8MDtmPWc7Y1tmPj4yXT0wO2Nb
Zis0Pj4yXT0wO2NbZis4Pj4yXT0wO2NbZisxMj4+Ml09MDtjW2YrMTY+PjJdPTA7Y1tmKzIwPj4y
XT0wO2NbZisyND4+Ml09MDtjW2YrMjg+PjJdPTA7ZT1hW2Q+PjBdfDA7ZG8gaWYoIShlPDwyND4+
MjQpKWQ9MDtlbHNle2lmKCEoYVtkKzE+PjBdfDApKXtkPWI7d2hpbGUoMSlpZigoYVtkPj4wXXww
KT09ZTw8MjQ+PjI0KWQ9ZCsxfDA7ZWxzZSBicmVhaztkPWQtYnwwO2JyZWFrfWRve2g9ZisoKChl
JjI1NSk+Pj41JjI1NSk8PDIpfDA7Y1toPj4yXT1jW2g+PjJdfDE8PChlJjMxKTtkPWQrMXwwO2U9
YVtkPj4wXXwwfXdoaWxlKGU8PDI0Pj4yNCE9MCk7ZT1hW2I+PjBdfDA7YTpkbyBpZighKGU8PDI0
Pj4yNCkpZD1iO2Vsc2V7ZD1iO2Rve2lmKCEoY1tmKygoKGUmMjU1KT4+PjUmMjU1KTw8Mik+PjJd
JjE8PChlJjMxKSkpYnJlYWsgYTtkPWQrMXwwO2U9YVtkPj4wXXwwfXdoaWxlKGU8PDI0Pj4yNCE9
MCl9d2hpbGUoMCk7ZD1kLWJ8MH13aGlsZSgwKTtsPWc7cmV0dXJuIGR8MH1mdW5jdGlvbiBwTChh
LGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTA7ZT1sO2w9bCsxNnwwO2Y9ZTtjW2Y+
PjJdPWQ7ZD1xTChhLGIsZil8MDtsPWU7cmV0dXJuIGR8MH1mdW5jdGlvbiBxTChhLGIsYyl7YT1h
fDA7Yj1ifDA7Yz1jfDA7cmV0dXJuIExLKGEsMjE0NzQ4MzY0NyxiLGMpfDB9ZnVuY3Rpb24gckwo
YSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAs
az0wLG09MCxuPTA7bT1sO2w9bCsyMDh8MDtqPW0rOHwwO2s9bTtoPU8oZCxiKXwwO2k9aztjW2k+
PjJdPTE7Y1tpKzQ+PjJdPTA7YTpkbyBpZihofDApe2k9MC1kfDA7Y1tqKzQ+PjJdPWQ7Y1tqPj4y
XT1kO2Y9MjtiPWQ7Zz1kO3doaWxlKDEpe2I9YitkK2d8MDtjW2orKGY8PDIpPj4yXT1iO2lmKGI+
Pj4wPGg+Pj4wKXtuPWc7Zj1mKzF8MDtnPWI7Yj1ufWVsc2UgYnJlYWt9Zz1hK2graXwwO2lmKGc+
Pj4wPmE+Pj4wKXtoPWc7Zj0xO2I9MTtkb3tkbyBpZigoYiYzfDApIT0zKXtiPWYrLTF8MDtpZigo
Y1tqKyhiPDwyKT4+Ml18MCk+Pj4wPChoLWF8MCk+Pj4wKXNMKGEsZCxlLGYsaik7ZWxzZSB1TChh
LGQsZSxrLGYsMCxqKTtpZigoZnwwKT09MSl7dkwoaywxKTtmPTA7YnJlYWt9ZWxzZXt2TChrLGIp
O2Y9MTticmVha319ZWxzZXtzTChhLGQsZSxmLGopO3RMKGssMik7Zj1mKzJ8MH13aGlsZSgwKTti
PWNbaz4+Ml18MTtjW2s+PjJdPWI7YT1hK2R8MH13aGlsZShhPj4+MDxnPj4+MCl9ZWxzZXtmPTE7
Yj0xfXVMKGEsZCxlLGssZiwwLGopO2c9ays0fDA7d2hpbGUoMSl7aWYoKGZ8MCk9PTEmKGJ8MCk9
PTEpe2lmKCEoY1tnPj4yXXwwKSlicmVhayBhfWVsc2UgaWYoKGZ8MCk+PTIpe3ZMKGssMik7bj1m
Ky0yfDA7Y1trPj4yXT1jW2s+PjJdXjc7dEwoaywxKTt1TChhKygwLShjW2orKG48PDIpPj4yXXww
KSkraXwwLGQsZSxrLGYrLTF8MCwxLGopO3ZMKGssMSk7Yj1jW2s+PjJdfDE7Y1trPj4yXT1iO2g9
YStpfDA7dUwoaCxkLGUsayxuLDEsaik7YT1oO2Y9bjtjb250aW51ZX1iPXdMKGspfDA7dEwoayxi
KTthPWEraXwwO2Y9YitmfDA7Yj1jW2s+PjJdfDB9fXdoaWxlKDApO2w9bTtyZXR1cm59ZnVuY3Rp
b24gc0woYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9
MCxpPTAsaj0wLGs9MCxtPTAsbj0wO249bDtsPWwrMjQwfDA7bT1uO2NbbT4+Ml09YTthOmRvIGlm
KChlfDApPjEpe2s9MC1ifDA7Zz1hO2o9ZTtlPTE7d2hpbGUoMSl7aD1nK2t8MDtpPWorLTJ8MDtn
PWgrKDAtKGNbZisoaTw8Mik+PjJdfDApKXwwO2lmKChhYltkJjYzXShhLGcpfDApPi0xPyhhYltk
JjYzXShhLGgpfDApPi0xOjApYnJlYWsgYTthPWUrMXwwO2U9bSsoZTw8Mil8MDtpZigoYWJbZCY2
M10oZyxoKXwwKT4tMSl7Y1tlPj4yXT1nO2U9aistMXwwfWVsc2V7Y1tlPj4yXT1oO2c9aDtlPWl9
aWYoKGV8MCk8PTEpe2U9YTticmVhayBhfWo9ZTtlPWE7YT1jW20+PjJdfDB9fWVsc2UgZT0xO3do
aWxlKDApO3lMKGIsbSxlKTtsPW47cmV0dXJufWZ1bmN0aW9uIHRMKGEsYil7YT1hfDA7Yj1ifDA7
dmFyIGQ9MCxlPTAsZj0wO2Y9YSs0fDA7aWYoYj4+PjA+MzEpe2U9Y1tmPj4yXXwwO2NbYT4+Ml09
ZTtjW2Y+PjJdPTA7Yj1iKy0zMnwwO2Q9MH1lbHNle2Q9Y1tmPj4yXXwwO2U9Y1thPj4yXXwwfWNb
YT4+Ml09ZDw8MzItYnxlPj4+YjtjW2Y+PjJdPWQ+Pj5iO3JldHVybn1mdW5jdGlvbiB1TChhLGIs
ZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIg
aT0wLGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MDtwPWw7bD1sKzI0MHwwO249cCsyMzJ8MDtv
PXA7cT1jW2U+PjJdfDA7Y1tuPj4yXT1xO2o9Y1tlKzQ+PjJdfDA7az1uKzR8MDtjW2s+PjJdPWo7
Y1tvPj4yXT1hO2E6ZG8gaWYoKHF8MCkhPTF8KGp8MCkhPTA/KG09MC1ifDAsaT1hKygwLShjW2gr
KGY8PDIpPj4yXXwwKSl8MCwoYWJbZCY2M10oaSxhKXwwKT49MSk6MCl7ZT0xO2c9KGd8MCk9PTA7
aj1pO3doaWxlKDEpe2lmKGcmKGZ8MCk+MSl7Zz1hK218MDtpPWNbaCsoZistMjw8Mik+PjJdfDA7
aWYoKGFiW2QmNjNdKGcsail8MCk+LTEpe2k9MTA7YnJlYWsgYX1pZigoYWJbZCY2M10oZysoMC1p
KXwwLGopfDApPi0xKXtpPTEwO2JyZWFrIGF9fWc9ZSsxfDA7Y1tvKyhlPDwyKT4+Ml09ajtxPXdM
KG4pfDA7dEwobixxKTtmPXErZnwwO2lmKCEoKGNbbj4+Ml18MCkhPTF8KGNbaz4+Ml18MCkhPTAp
KXtlPWc7YT1qO2k9MTA7YnJlYWsgYX1hPWorKDAtKGNbaCsoZjw8Mik+PjJdfDApKXwwO2lmKChh
YltkJjYzXShhLGNbbz4+Ml18MCl8MCk8MSl7YT1qO2U9ZztnPTA7aT05O2JyZWFrfWVsc2V7cT1q
O2U9ZztnPTE7aj1hO2E9cX19fWVsc2V7ZT0xO2k9OX13aGlsZSgwKTtpZigoaXwwKT09OT8oZ3ww
KT09MDowKWk9MTA7aWYoKGl8MCk9PTEwKXt5TChiLG8sZSk7c0woYSxiLGQsZixoKX1sPXA7cmV0
dXJufWZ1bmN0aW9uIHZMKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wO2Y9YSs0fDA7
aWYoYj4+PjA+MzEpe2U9Y1thPj4yXXwwO2NbZj4+Ml09ZTtjW2E+PjJdPTA7Yj1iKy0zMnwwO2Q9
MH1lbHNle2Q9Y1thPj4yXXwwO2U9Y1tmPj4yXXwwfWNbZj4+Ml09ZD4+PigzMi1ifDApfGU8PGI7
Y1thPj4yXT1kPDxiO3JldHVybn1mdW5jdGlvbiB3TChhKXthPWF8MDt2YXIgYj0wO2I9eEwoKGNb
YT4+Ml18MCkrLTF8MCl8MDtpZighYil7Yj14TChjW2ErND4+Ml18MCl8MDtyZXR1cm4gKChifDAp
PT0wPzA6YiszMnwwKXwwfWVsc2UgcmV0dXJuIGJ8MDtyZXR1cm4gMH1mdW5jdGlvbiB4TChhKXth
PWF8MDt2YXIgYj0wO2lmKGEpaWYoIShhJjEpKXtiPWE7YT0wO2Rve2E9YSsxfDA7Yj1iPj4+MX13
aGlsZSghKGImMXwwKSl9ZWxzZSBhPTA7ZWxzZSBhPTMyO3JldHVybiBhfDB9ZnVuY3Rpb24geUwo
YSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wO2g9bDtsPWwr
MjU2fDA7ZT1oO2E6ZG8gaWYoKGR8MCk+PTI/KGc9YisoZDw8Mil8MCxjW2c+PjJdPWUsYXwwKTow
KXdoaWxlKDEpe2Y9YT4+PjA8MjU2P2E6MjU2O1ROKGV8MCxjW2I+PjJdfDAsZnwwKXwwO2U9MDtk
b3tpPWIrKGU8PDIpfDA7ZT1lKzF8MDtUTihjW2k+PjJdfDAsY1tiKyhlPDwyKT4+Ml18MCxmfDAp
fDA7Y1tpPj4yXT0oY1tpPj4yXXwwKStmfXdoaWxlKChlfDApIT0oZHwwKSk7YT1hLWZ8MDtpZigh
YSlicmVhayBhO2U9Y1tnPj4yXXwwfXdoaWxlKDApO2w9aDtyZXR1cm59ZnVuY3Rpb24gekwoYSxi
LGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wO2U9bDtsPWwrMTZ8MDtmPWU7Y1tmPj4y
XT1kO2Q9TUsoYSxiLGYpfDA7bD1lO3JldHVybiBkfDB9ZnVuY3Rpb24gQUwoYil7Yj1ifDA7dmFy
IGQ9MCxlPTAsZj0wO2Y9bDtsPWwrMTZ8MDtlPWY7b2EoMCxlfDApfDA7ZD0wO2U9KGNbZSs0Pj4y
XXwwKSo2NTUzN14oZT4+PjQpK2I7d2hpbGUoMSl7YVtiK2Q+PjBdPShlJjE1KSs2NXxlPDwxJjMy
O2Q9ZCsxfDA7aWYoKGR8MCk9PTYpYnJlYWs7ZWxzZSBlPWU+Pj41fWw9ZjtyZXR1cm4gYnwwfWZ1
bmN0aW9uIEJMKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtjPSRKKGEsYixjLC0yMTQ3NDgzNjQ4
LDApfDA7cmV0dXJuIGN8MH1mdW5jdGlvbiBDTChiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0w
LGc9MCxoPTAsaT0wO2g9bDtsPWwrMzJ8MDtmPWg7ZT1hW2Q+PjBdfDA7YTpkbyBpZihlPDwyND4+
MjQhPTA/KGFbZCsxPj4wXXwwKSE9MDowKXtWTihmfDAsMCwzMil8MDtlPWFbZD4+MF18MDtpZihl
PDwyND4+MjQpZG97aT1mKygoKGUmMjU1KT4+PjUmMjU1KTw8Mil8MDtjW2k+PjJdPWNbaT4+Ml18
MTw8KGUmMzEpO2Q9ZCsxfDA7ZT1hW2Q+PjBdfDB9d2hpbGUoZTw8MjQ+PjI0IT0wKTtkPWFbYj4+
MF18MDtpZighKGQ8PDI0Pj4yNCkpZT1iO2Vsc2V7ZT1iO2Rve2lmKGNbZisoKChkJjI1NSk+Pj41
JjI1NSk8PDIpPj4yXSYxPDwoZCYzMSl8MClicmVhayBhO2U9ZSsxfDA7ZD1hW2U+PjBdfDB9d2hp
bGUoZDw8MjQ+PjI0IT0wKX19ZWxzZSBnPTM7d2hpbGUoMCk7aWYoKGd8MCk9PTMpZT1xSihiLGU8
PDI0Pj4yNCl8MDtsPWg7cmV0dXJuIGUtYnwwfWZ1bmN0aW9uIERMKGIsZCl7Yj1ifDA7ZD1kfDA7
dmFyIGU9MDtpZighYil7Yj1jWzQyNjk3XXwwO2lmKCFiKWI9MDtlbHNlIGU9M31lbHNlIGU9Mztk
byBpZigoZXwwKT09Myl7Yj1iKyhvTChiLGQpfDApfDA7aWYoIShhW2I+PjBdfDApKXtjWzQyNjk3
XT0wO2I9MDticmVha31kPWIrKENMKGIsZCl8MCl8MDtjWzQyNjk3XT1kO2lmKCEoYVtkPj4wXXww
KSl7Y1s0MjY5N109MDticmVha31lbHNle2NbNDI2OTddPWQrMTthW2Q+PjBdPTA7YnJlYWt9fXdo
aWxlKDApO3JldHVybiBifDB9ZnVuY3Rpb24gRUwoYixjLGQpe2I9YnwwO2M9Y3wwO2Q9ZHwwO3Zh
ciBlPTA7ZT1jJjI1NTtkb3tpZighZCl7Yz0wO2JyZWFrfWQ9ZCstMXwwO2M9YitkfDB9d2hpbGUo
KGFbYz4+MF18MCkhPWU8PDI0Pj4yNCk7cmV0dXJuIGN8MH1mdW5jdGlvbiBGTChiLGQsZSl7Yj1i
fDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MDtpZighYil7Yj1jW2U+PjJdfDA7aWYoIWIpYj0wO2Vsc2Ug
Zj0zfWVsc2UgZj0zO2RvIGlmKChmfDApPT0zKXtiPWIrKG9MKGIsZCl8MCl8MDtpZighKGFbYj4+
MF18MCkpe2NbZT4+Ml09MDtiPTA7YnJlYWt9ZD1iKyhDTChiLGQpfDApfDA7Y1tlPj4yXT1kO2lm
KCEoYVtkPj4wXXwwKSl7Y1tlPj4yXT0wO2JyZWFrfWVsc2V7Y1tlPj4yXT1kKzE7YVtkPj4wXT0w
O2JyZWFrfX13aGlsZSgwKTtyZXR1cm4gYnwwfWZ1bmN0aW9uIEdMKGEpe2E9YXwwO3ZhciBiPTAs
Yz0wO2I9KHJKKGEpfDApKzF8MDtjPVpJKGIpfDA7aWYoIWMpYT0wO2Vsc2UgYT1UTihjfDAsYXww
LGJ8MCl8MDtyZXR1cm4gYXwwfWZ1bmN0aW9uIEhMKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuIEVM
KGEsYiwockooYSl8MCkrMXwwKXwwfWZ1bmN0aW9uIElMKGEsYil7YT1hfDA7Yj1ifDA7eEsoYSso
ckooYSl8MCl8MCxiKXwwO3JldHVybiBhfDB9ZnVuY3Rpb24gSkwoYixjKXtiPWJ8MDtjPWN8MDtj
PWIrKENMKGIsYyl8MCl8MDtyZXR1cm4gKGFbYz4+MF18MD9jOjApfDB9ZnVuY3Rpb24gS0woYSl7
YT1hfDA7dmFyIGI9MDtpZigoY1thKzc2Pj4yXXwwKT4tMSl7Yj0oT0soYSl8MCk9PTA7YT0oY1th
Pj4yXXwwKT4+PjQmMX1lbHNlIGE9KGNbYT4+Ml18MCk+Pj40JjE7cmV0dXJuIGF8MH1mdW5jdGlv
biBMTChhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MDtpZigoY1thKzc2Pj4yXXwwKT4t
MSlmPU9LKGEpfDA7ZWxzZSBmPTA7TUwoYSk7Zz0oY1thPj4yXSYxfDApIT0wO2lmKCFnKXtlPU5M
KCl8MDtkPWNbYSs1Mj4+Ml18MDtiPWErNTZ8MDtpZihkfDApY1tkKzU2Pj4yXT1jW2I+PjJdO2I9
Y1tiPj4yXXwwO2lmKGJ8MCljW2IrNTI+PjJdPWQ7aWYoKGNbZT4+Ml18MCk9PShhfDApKWNbZT4+
Ml09YjtPTCgpfWI9UEwoYSl8MDtiPSRhW2NbYSsxMj4+Ml0mMzFdKGEpfDB8YjtkPWNbYSs5Mj4+
Ml18MDtpZihkfDApX0koZCk7aWYoZyl7aWYoZnwwKVBLKGEpfWVsc2UgX0koYSk7cmV0dXJuIGJ8
MH1mdW5jdGlvbiBNTChhKXthPWF8MDt2YXIgYj0wO2lmKGNbYSs2OD4+Ml18MCl7Yj1jW2ErMTE2
Pj4yXXwwO2E9YSsxMTJ8MDtpZihifDApY1tiKzExMj4+Ml09Y1thPj4yXTthPWNbYT4+Ml18MDtp
ZighYSlhPShSTCgpfDApKzIzMnwwO2Vsc2UgYT1hKzExNnwwO2NbYT4+Ml09Yn1yZXR1cm59ZnVu
Y3Rpb24gTkwoKXtwYSgxNzA3OTIpO3JldHVybiAxNzA4MDB9ZnVuY3Rpb24gT0woKXtGYSgxNzA3
OTIpO3JldHVybn1mdW5jdGlvbiBQTChhKXthPWF8MDt2YXIgYj0wLGQ9MDtkbyBpZihhKXtpZigo
Y1thKzc2Pj4yXXwwKTw9LTEpe2I9UUwoYSl8MDticmVha31kPShPSyhhKXwwKT09MDtiPVFMKGEp
fDA7aWYoIWQpUEsoYSl9ZWxzZXtpZighKGNbMTM5MTddfDApKWI9MDtlbHNlIGI9UEwoY1sxMzkx
N118MCl8MDthPWNbKE5MKCl8MCk+PjJdfDA7aWYoYSlkb3tpZigoY1thKzc2Pj4yXXwwKT4tMSlk
PU9LKGEpfDA7ZWxzZSBkPTA7aWYoKGNbYSsyMD4+Ml18MCk+Pj4wPihjW2ErMjg+PjJdfDApPj4+
MCliPVFMKGEpfDB8YjtpZihkfDApUEsoYSk7YT1jW2ErNTY+PjJdfDB9d2hpbGUoKGF8MCkhPTAp
O09MKCl9d2hpbGUoMCk7cmV0dXJuIGJ8MH1mdW5jdGlvbiBRTChhKXthPWF8MDt2YXIgYj0wLGQ9
MCxlPTAsZj0wLGc9MCxoPTA7Yj1hKzIwfDA7aD1hKzI4fDA7aWYoKGNbYj4+Ml18MCk+Pj4wPihj
W2g+PjJdfDApPj4+MD8oYmJbY1thKzM2Pj4yXSYzMV0oYSwwLDApfDAsKGNbYj4+Ml18MCk9PTAp
OjApYT0tMTtlbHNle2Q9YSs0fDA7ZT1jW2Q+PjJdfDA7Zj1hKzh8MDtnPWNbZj4+Ml18MDtpZihl
Pj4+MDxnPj4+MCliYltjW2ErNDA+PjJdJjMxXShhLGUtZ3wwLDEpfDA7Y1thKzE2Pj4yXT0wO2Nb
aD4+Ml09MDtjW2I+PjJdPTA7Y1tmPj4yXT0wO2NbZD4+Ml09MDthPTB9cmV0dXJuIGF8MH1mdW5j
dGlvbiBSTCgpe3JldHVybiBBSigpfDB9ZnVuY3Rpb24gU0woYixkKXtiPWJ8MDtkPWR8MDt2YXIg
ZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wO2s9bDtsPWwrNjR8MDtqPWsrNDB8MDtoPWsrMjR8
MDtnPWsrMTZ8MDtmPWs7aT1rKzU2fDA7aWYoV0ooMTM0ODgyLGFbZD4+MF18MCl8MCl7ZT1aSSgx
MTU2KXwwO2lmKCFlKWU9MDtlbHNle1ZOKGV8MCwwLDEyNCl8MDtpZighKFdKKGQsNDMpfDApKWNb
ZT4+Ml09KGFbZD4+MF18MCk9PTExND84OjQ7aWYoV0ooZCwxMDEpfDApe2NbZj4+Ml09YjtjW2Yr
ND4+Ml09MjtjW2YrOD4+Ml09MTt6YSgyMjEsZnwwKXwwfWlmKChhW2Q+PjBdfDApPT05Nyl7Y1tn
Pj4yXT1iO2NbZys0Pj4yXT0zO2Q9emEoMjIxLGd8MCl8MDtpZighKGQmMTAyNCkpe2NbaD4+Ml09
YjtjW2grND4+Ml09NDtjW2grOD4+Ml09ZHwxMDI0O3phKDIyMSxofDApfDB9Zj1jW2U+PjJdfDEy
ODtjW2U+PjJdPWZ9ZWxzZSBmPWNbZT4+Ml18MDtjW2UrNjA+PjJdPWI7Y1tlKzQ0Pj4yXT1lKzEz
MjtjW2UrNDg+PjJdPTEwMjQ7ZD1lKzc1fDA7YVtkPj4wXT0tMTtpZigoZiY4fDApPT0wPyhjW2o+
PjJdPWIsY1tqKzQ+PjJdPTIxNTIzLGNbais4Pj4yXT1pLChDYSg1NCxqfDApfDApPT0wKTowKWFb
ZD4+MF09MTA7Y1tlKzMyPj4yXT02O2NbZSszNj4+Ml09OTtjW2UrNDA+PjJdPTc7Y1tlKzEyPj4y
XT0xNTtpZighKGNbNDI2NzZdfDApKWNbZSs3Nj4+Ml09LTE7VEwoZSl8MH19ZWxzZXtjWyhqSigp
fDApPj4yXT0yMjtlPTB9bD1rO3JldHVybiBlfDB9ZnVuY3Rpb24gVEwoYSl7YT1hfDA7dmFyIGI9
MCxkPTA7Yj1OTCgpfDA7Y1thKzU2Pj4yXT1jW2I+PjJdO2Q9Y1tiPj4yXXwwO2lmKGR8MCljW2Qr
NTI+PjJdPWE7Y1tiPj4yXT1hO09MKCk7cmV0dXJuIGF8MH1mdW5jdGlvbiBVTChiLGUsZil7Yj1i
fDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaT0wLGo9MDtqPWw7bD1sKzE2fDA7Zz1qO2E6ZG8g
aWYoIWUpYj0wO2Vsc2V7ZG8gaWYoZnwwKXtpPShifDApPT0wP2c6YjtiPWFbZT4+MF18MDtpZihi
PDwyND4+MjQ+LTEpe2NbaT4+Ml09YiYyNTU7Yj1iPDwyND4+MjQhPTAmMTticmVhayBhfWg9KGNb
Y1soVkwoKXwwKSsxODg+PjJdPj4yXXwwKT09MDtiPWFbZT4+MF18MDtpZihoKXtjW2k+PjJdPWI8
PDI0Pj4yNCY1NzM0MztiPTE7YnJlYWsgYX1iPShiJjI1NSkrLTE5NHwwO2lmKGI+Pj4wPD01MCl7
Zz1lKzF8MDtoPWNbNTUyMDgrKGI8PDIpPj4yXXwwO2lmKGY+Pj4wPDQ/aCYtMjE0NzQ4MzY0OD4+
PigoZio2fDApKy02fDApfDA6MClicmVhaztiPWRbZz4+MF18MDtmPWI+Pj4zO2lmKChmKy0xNnxm
KyhoPj4yNikpPj4+MDw9Nyl7Yj1iKy0xMjh8aDw8NjtpZigoYnwwKT49MCl7Y1tpPj4yXT1iO2I9
MjticmVhayBhfWc9KGRbZSsyPj4wXXwwKSstMTI4fDA7aWYoZz4+PjA8PTYzKXtnPWd8Yjw8Njtp
ZigoZ3wwKT49MCl7Y1tpPj4yXT1nO2I9MzticmVhayBhfWI9KGRbZSszPj4wXXwwKSstMTI4fDA7
aWYoYj4+PjA8PTYzKXtjW2k+PjJdPWJ8Zzw8NjtiPTQ7YnJlYWsgYX19fX19d2hpbGUoMCk7Y1so
akooKXwwKT4+Ml09ODQ7Yj0tMX13aGlsZSgwKTtsPWo7cmV0dXJuIGJ8MH1mdW5jdGlvbiBWTCgp
e3JldHVybiBBSigpfDB9ZnVuY3Rpb24gV0woYSxiKXthPWF8MDtiPWJ8MDt2YXIgYz0wO2M9ckoo
YSl8MDtyZXR1cm4gKChYTChhLDEsYyxiKXwwKSE9KGN8MCkpPDwzMT4+MzF8MH1mdW5jdGlvbiBY
TChhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MDtmPU8oZCxiKXww
O2Q9KGJ8MCk9PTA/MDpkO2lmKChjW2UrNzY+PjJdfDApPi0xKXtnPShPSyhlKXwwKT09MDthPVpL
KGEsZixlKXwwO2lmKCFnKVBLKGUpfWVsc2UgYT1aSyhhLGYsZSl8MDtpZigoYXwwKSE9KGZ8MCkp
ZD0oYT4+PjApLyhiPj4+MCl8MDtyZXR1cm4gZHwwfWZ1bmN0aW9uIFlMKGIsZSl7Yj1ifDA7ZT1l
fDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MDttPWw7bD1sKzE2fDA7aj1tO2s9ZSYy
NTU7YVtqPj4wXT1rO2c9YisxNnwwO2g9Y1tnPj4yXXwwO2lmKCFoKWlmKCEoX0soYil8MCkpe2g9
Y1tnPj4yXXwwO2k9NH1lbHNlIGY9LTE7ZWxzZSBpPTQ7ZG8gaWYoKGl8MCk9PTQpe2k9YisyMHww
O2c9Y1tpPj4yXXwwO2lmKGc+Pj4wPGg+Pj4wPyhmPWUmMjU1LChmfDApIT0oYVtiKzc1Pj4wXXww
KSk6MCl7Y1tpPj4yXT1nKzE7YVtnPj4wXT1rO2JyZWFrfWlmKChiYltjW2IrMzY+PjJdJjMxXShi
LGosMSl8MCk9PTEpZj1kW2o+PjBdfDA7ZWxzZSBmPS0xfXdoaWxlKDApO2w9bTtyZXR1cm4gZnww
fWZ1bmN0aW9uIFpMKGIsYyl7Yj1ifDA7Yz1jfDA7dmFyIGQ9MCxlPTAsZj0wO2Q9YjtlPTEzNDg2
NztmPWQrMTV8MDtkb3thW2Q+PjBdPWFbZT4+MF18MDtkPWQrMXwwO2U9ZSsxfDB9d2hpbGUoKGR8
MCk8KGZ8MCkpO2lmKCFjKXthW2IrMTQ+PjBdPTQ4O2FbYisxNT4+MF09MH1lbHNle2U9YztkPTE0
O3doaWxlKDEpe2Q9ZCsxfDA7aWYoZT4+PjA8MTApYnJlYWs7ZWxzZSBlPShlPj4+MCkvMTB8MH1h
W2IrZD4+MF09MDt3aGlsZSgxKXtkPWQrLTF8MDthW2IrZD4+MF09KGM+Pj4wKSUxMHwwfDQ4O2lm
KGM+Pj4wPDEwKWJyZWFrO2Vsc2UgYz0oYz4+PjApLzEwfDB9fXJldHVybn1mdW5jdGlvbiBfTChh
LGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTA7Zz1sO2w9bCs0OHwwO2Y9Zys0MHww
O2U9Zys4fDA7ZD1nO2NbZD4+Ml09YTtjW2QrND4+Ml09YjtkPXlhKDE5NyxkfDApfDA7aWYoKGR8
MCk9PS05PyhjW2U+PjJdPWEsY1tlKzQ+PjJdPTEsKHphKDIyMSxlfDApfDApPj0wKTowKXtaTChl
LGEpO2NbZj4+Ml09ZTtjW2YrND4+Ml09YjtiPWlKKHhhKDE5NSxmfDApfDApfDB9ZWxzZSBiPWlK
KGQpfDA7bD1nO3JldHVybiBifDB9ZnVuY3Rpb24gJEwoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0w
LGU9MDtkPWw7bD1sKzE2fDA7ZT1kO2NbZT4+Ml09YTtjW2UrND4+Ml09YjtiPWlKKEFhKDMzLGV8
MCl8MCl8MDtsPWQ7cmV0dXJuIGJ8MH1mdW5jdGlvbiBhTShiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBl
PTAsZj0wLGc9MCxoPTAsaT0wO2k9bDtsPWwrNDh8MDtoPWkrMzJ8MDtnPWkrMTZ8MDtlPWk7aWYo
V0ooMTM0ODgyLGFbZD4+MF18MCl8MCl7Zj1iTShkKXwwO2NbZT4+Ml09YjtjW2UrND4+Ml09Znwz
Mjc2ODtjW2UrOD4+Ml09NDM4O2U9aUooQmEoNSxlfDApfDApfDA7aWYoKGV8MCk+PTApe2lmKGYm
NTI0Mjg4fDApe2NbZz4+Ml09ZTtjW2crND4+Ml09MjtjW2crOD4+Ml09MTt6YSgyMjEsZ3wwKXww
fWI9U0woZSxkKXwwO2lmKCFiKXtjW2g+PjJdPWU7RGEoNixofDApfDA7Yj0wfX1lbHNlIGI9MH1l
bHNle2NbKGpKKCl8MCk+PjJdPTIyO2I9MH1sPWk7cmV0dXJuIGJ8MH1mdW5jdGlvbiBiTShiKXti
PWJ8MDt2YXIgYz0wLGQ9MCxlPTA7ZD0oV0ooYiw0Myl8MCk9PTA7Yz1hW2I+PjBdfDA7ZD1kP2M8
PDI0Pj4yNCE9MTE0JjE6MjtlPShXSihiLDEyMCl8MCk9PTA7ZD1lP2Q6ZHwxMjg7Yj0oV0ooYiwx
MDEpfDApPT0wO2I9Yj9kOmR8NTI0Mjg4O2I9Yzw8MjQ+PjI0PT0xMTQ/YjpifDY0O2I9Yzw8MjQ+
PjI0PT0xMTk/Ynw1MTI6YjtyZXR1cm4gKGM8PDI0Pj4yND09OTc/YnwxMDI0OmIpfDB9ZnVuY3Rp
b24gY00oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wO2U9bDtsPWwrMTZ8MDtm
PWU7Y1tmPj4yXT1kO2Q9ZE0oYSxiLGYpfDA7bD1lO3JldHVybiBkfDB9ZnVuY3Rpb24gZE0oYSxi
LGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTA7Zz1sO2w9bCsxMjh8MDtl
PWc7Zj1lO2g9ZisxMjR8MDtkb3tjW2Y+PjJdPTA7Zj1mKzR8MH13aGlsZSgoZnwwKTwoaHwwKSk7
Y1tlKzMyPj4yXT0xODtjW2UrNDQ+PjJdPWE7Y1tlKzc2Pj4yXT0tMTtjW2UrODQ+PjJdPWE7aD1m
TShlLGIsZCl8MDtsPWc7cmV0dXJuIGh8MH1mdW5jdGlvbiBlTShhLGIsYyl7YT1hfDA7Yj1ifDA7
Yz1jfDA7cmV0dXJuIG5NKGEsYixjKXwwfWZ1bmN0aW9uIGZNKGIsZSxmKXtiPWJ8MDtlPWV8MDtm
PWZ8MDt2YXIgaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAuMCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9
MCx2PTAsdz0wLHg9MCx5PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0w
LEs9MCxMPTA7TD1sO2w9bCsyODh8MDtGPUwrOHwwO0c9TCsxN3wwO0g9TDtJPUwrMTZ8MDtpZigo
Y1tiKzc2Pj4yXXwwKT4tMSlLPU9LKGIpfDA7ZWxzZSBLPTA7aT1hW2U+PjBdfDA7YTpkbyBpZihp
PDwyND4+MjQpe3k9Yis0fDA7QT1iKzEwMHwwO0I9YisxMDh8MDtDPWIrOHwwO0Q9RysxMHwwO0U9
RyszM3wwO3g9Ris0fDA7cD1lO3U9MDtlPTA7aj0wO2s9aTtpPTA7Yjp3aGlsZSgxKXtjOmRvIGlm
KCEoWEooayYyNTUpfDApKXtrPShhW3A+PjBdfDApPT0zNztkOmRvIGlmKGspe209cCsxfDA7bj1h
W20+PjBdfDA7ZTpkbyBzd2l0Y2gobjw8MjQ+PjI0KXtjYXNlIDM3OmJyZWFrIGQ7Y2FzZSA0Mjp7
dz0wO209cCsyfDA7YnJlYWt9ZGVmYXVsdDp7aWYoX0oobiYyNTUpfDA/KGFbcCsyPj4wXXwwKT09
MzY6MCl7dz1nTShmLChkW20+PjBdfDApKy00OHwwKXwwO209cCszfDA7YnJlYWsgZX12PShjW2Y+
PjJdfDApKyg0LTEpJn4oNC0xKTt3PWNbdj4+Ml18MDtjW2Y+PjJdPXYrNH19d2hpbGUoMCk7aWYo
IShfSihkW20+PjBdfDApfDApKXM9MDtlbHNle2s9MDtkb3trPShrKjEwfDApKy00OCsoZFttPj4w
XXwwKXwwO209bSsxfDB9d2hpbGUoKF9KKGRbbT4+MF18MCl8MCkhPTApO3M9a31wPWFbbT4+MF18
MDtuPW0rMXwwO2lmKHA8PDI0Pj4yND09MTA5KXtrPSh3fDApIT0wJjE7aj0wO209bjtwPWFbbj4+
MF18MDtpPTB9ZWxzZSBrPTA7bj1tKzF8MDtzd2l0Y2gocDw8MjQ+PjI0KXtjYXNlIDEwNDp7dj0o
YVtuPj4wXXwwKT09MTA0O3A9dj8tMjotMTttPXY/bSsyfDA6bjticmVha31jYXNlIDEwODp7dj0o
YVtuPj4wXXwwKT09MTA4O3A9dj8zOjE7bT12P20rMnwwOm47YnJlYWt9Y2FzZSAxMDY6e3A9Mztt
PW47YnJlYWt9Y2FzZSAxMTY6Y2FzZSAxMjI6e3A9MTttPW47YnJlYWt9Y2FzZSA3Njp7cD0yO209
bjticmVha31jYXNlIDExMDpjYXNlIDExMjpjYXNlIDY3OmNhc2UgODM6Y2FzZSA5MTpjYXNlIDk5
OmNhc2UgMTE1OmNhc2UgODg6Y2FzZSA3MTpjYXNlIDcwOmNhc2UgNjk6Y2FzZSA2NTpjYXNlIDEw
MzpjYXNlIDEwMjpjYXNlIDEwMTpjYXNlIDk3OmNhc2UgMTIwOmNhc2UgMTE3OmNhc2UgMTExOmNh
c2UgMTA1OmNhc2UgMTAwOntwPTA7YnJlYWt9ZGVmYXVsdDp7Sj0xMzY7YnJlYWsgYn19cj1kW20+
PjBdfDA7dD0ociY0N3wwKT09MztyPXQ/cnwzMjpyO3Q9dD8xOnA7cT1yJjI1NTtzd2l0Y2gocTw8
MjQ+PjI0KXtjYXNlIDk5OntzPShzfDApPjE/czoxO2JyZWFrfWNhc2UgOTE6YnJlYWs7Y2FzZSAx
MTA6e2hNKHcsdCx1LCgodXwwKTwwKTw8MzE+PjMxKTtuPXU7YnJlYWsgY31kZWZhdWx0OnthSyhi
LDApO2Rve249Y1t5Pj4yXXwwO2lmKG4+Pj4wPChjW0E+PjJdfDApPj4+MCl7Y1t5Pj4yXT1uKzE7
bj1kW24+PjBdfDB9ZWxzZSBuPWNLKGIpfDB9d2hpbGUoKFhKKG4pfDApIT0wKTtpZighKGNbQT4+
Ml18MCkpbj1jW3k+PjJdfDA7ZWxzZXtuPShjW3k+PjJdfDApKy0xfDA7Y1t5Pj4yXT1ufXU9KGNb
Qj4+Ml18MCkrdStuLShjW0M+PjJdfDApfDB9fWFLKGIscyk7cD1jW3k+PjJdfDA7bj1jW0E+PjJd
fDA7aWYocD4+PjA8bj4+PjApY1t5Pj4yXT1wKzE7ZWxzZXtpZigoY0soYil8MCk8MCl7Sj0xMzY7
YnJlYWsgYn1uPWNbQT4+Ml18MH1pZihufDApY1t5Pj4yXT0oY1t5Pj4yXXwwKSstMTtmOmRvIHN3
aXRjaChxPDwyND4+MjQpe2Nhc2UgOTE6Y2FzZSA5OTpjYXNlIDExNTp7dj0ocnwwKT09OTk7Zzpk
byBpZigocnwxNnwwKT09MTE1KXtWTihHfDAsLTEsMjU3KXwwO2FbRz4+MF09MDtpZigocnwwKT09
MTE1KXthW0U+PjBdPTA7YVtEPj4wXT0wO2FbRCsxPj4wXT0wO2FbRCsyPj4wXT0wO2FbRCszPj4w
XT0wO2FbRCs0Pj4wXT0wfX1lbHNle249bSsxfDA7cT0oYVtuPj4wXXwwKT09OTQ7cj1xJjE7bT1x
P20rMnwwOm47Vk4oR3wwLHJ8MCwyNTcpfDA7YVtHPj4wXT0wO249YVttPj4wXXwwO3N3aXRjaChu
PDwyND4+MjQpe2Nhc2UgNDU6e249NDY7Sj02NTticmVha31jYXNlIDkzOntuPTk0O0o9NjU7YnJl
YWt9ZGVmYXVsdDp7fX13aGlsZSgxKXtpZigoSnwwKT09NjUpe0o9MDthW0crbj4+MF09cl4xO249
bSsxfDA7bT1uO249YVtuPj4wXXwwfWg6ZG8gc3dpdGNoKG48PDI0Pj4yNCl7Y2FzZSAwOntKPTEz
NjticmVhayBifWNhc2UgOTM6YnJlYWsgZztjYXNlIDQ1OntxPW0rMXwwO249YVtxPj4wXXwwO3N3
aXRjaChuPDwyND4+MjQpe2Nhc2UgOTM6Y2FzZSAwOntuPTQ1O2JyZWFrIGh9ZGVmYXVsdDp7fX1t
PWFbbSstMT4+MF18MDtpZigobSYyNTUpPChuJjI1NSkpe3A9KHJeMSkmMjU1O209bSYyNTU7ZG97
bT1tKzF8MDthW0crbT4+MF09cDtuPWFbcT4+MF18MH13aGlsZSgobXwwKTwobiYyNTV8MCkpO209
cX1lbHNlIG09cTticmVha31kZWZhdWx0Ont9fXdoaWxlKDApO249KG4mMjU1KSsxfDA7Sj02NX19
d2hpbGUoMCk7bj12P3MrMXwwOjMxO3I9KHR8MCk9PTE7dD0oa3wwKSE9MDtpOmRvIGlmKHIpe2lm
KHQpe2k9Wkkobjw8Mil8MDtpZighaSl7aj0wO2k9MDtKPTEzNjticmVhayBifX1lbHNlIGk9dztj
W0Y+PjJdPTA7Y1t4Pj4yXT0wO3E9bjtqPTA7ajp3aGlsZSgxKXtwPShpfDApPT0wO2Rve2s6d2hp
bGUoMSl7bj1jW3k+PjJdfDA7aWYobj4+PjA8KGNbQT4+Ml18MCk+Pj4wKXtjW3k+PjJdPW4rMTtu
PWRbbj4+MF18MH1lbHNlIG49Y0soYil8MDtpZighKGFbRysobisxKT4+MF18MCkpYnJlYWsgajth
W0k+PjBdPW47c3dpdGNoKHJLKEgsSSwxLEYpfDApe2Nhc2UgLTE6e2o9MDtKPTEzNjticmVhayBi
fWNhc2UgLTI6YnJlYWs7ZGVmYXVsdDpicmVhayBrfX1pZighcCl7Y1tpKyhqPDwyKT4+Ml09Y1tI
Pj4yXTtqPWorMXwwfX13aGlsZSghKHQmKGp8MCk9PShxfDApKSk7aj1xPDwxfDE7bj1hSihpLGo8
PDIpfDA7aWYoIW4pe2o9MDtKPTEzNjticmVhayBifWVsc2V7cD1xO3E9ajtpPW47aj1wfX1pZigh
KGlNKEYpfDApKXtqPTA7Sj0xMzY7YnJlYWsgYn1lbHNle3E9ajtqPTA7cD1pfX1lbHNle2lmKHQp
e2o9Wkkobil8MDtpZighail7aj0wO2k9MDtKPTEzNjticmVhayBifWVsc2V7cD1uO2k9MH13aGls
ZSgxKXtkb3tuPWNbeT4+Ml18MDtpZihuPj4+MDwoY1tBPj4yXXwwKT4+PjApe2NbeT4+Ml09bisx
O249ZFtuPj4wXXwwfWVsc2Ugbj1jSyhiKXwwO2lmKCEoYVtHKyhuKzEpPj4wXXwwKSl7cT1pO3A9
MDtpPTA7YnJlYWsgaX1hW2oraT4+MF09bjtpPWkrMXwwfXdoaWxlKChpfDApIT0ocHwwKSk7aT1w
PDwxfDE7bj1hSihqLGkpfDA7aWYoIW4pe2k9MDtKPTEzNjticmVhayBifWVsc2V7cT1wO3A9aTtq
PW47aT1xfX19aWYoIXcpd2hpbGUoMSl7aT1jW3k+PjJdfDA7aWYoaT4+PjA8KGNbQT4+Ml18MCk+
Pj4wKXtjW3k+PjJdPWkrMTtpPWRbaT4+MF18MH1lbHNlIGk9Y0soYil8MDtpZighKGFbRysoaSsx
KT4+MF18MCkpe3E9MDtqPTA7cD0wO2k9MDticmVhayBpfX1lbHNlIGo9MDt3aGlsZSgxKXtpPWNb
eT4+Ml18MDtpZihpPj4+MDwoY1tBPj4yXXwwKT4+PjApe2NbeT4+Ml09aSsxO2k9ZFtpPj4wXXww
fWVsc2UgaT1jSyhiKXwwO2lmKCEoYVtHKyhpKzEpPj4wXXwwKSl7cT1qO2o9dztwPTA7aT0wO2Jy
ZWFrIGl9YVt3K2o+PjBdPWk7aj1qKzF8MH19d2hpbGUoMCk7aWYoIShjW0E+PjJdfDApKW49Y1t5
Pj4yXXwwO2Vsc2V7bj0oY1t5Pj4yXXwwKSstMXwwO2NbeT4+Ml09bn1uPW4tKGNbQz4+Ml18MCkr
KGNbQj4+Ml18MCl8MDtpZighbilicmVhayBiO2lmKCEoKG58MCk9PShzfDApfHZeMSkpYnJlYWsg
YjtkbyBpZih0KWlmKHIpe2Nbdz4+Ml09cDticmVha31lbHNle2Nbdz4+Ml09ajticmVha313aGls
ZSgwKTtpZighdil7aWYocHwwKWNbcCsocTw8Mik+PjJdPTA7aWYoIWope2o9MDticmVhayBmfWFb
aitxPj4wXT0wfWJyZWFrfWNhc2UgMTIwOmNhc2UgODg6Y2FzZSAxMTI6e249MTY7Sj0xMjQ7YnJl
YWt9Y2FzZSAxMTE6e249ODtKPTEyNDticmVha31jYXNlIDExNzpjYXNlIDEwMDp7bj0xMDtKPTEy
NDticmVha31jYXNlIDEwNTp7bj0wO0o9MTI0O2JyZWFrfWNhc2UgNzE6Y2FzZSAxMDM6Y2FzZSA3
MDpjYXNlIDEwMjpjYXNlIDY5OmNhc2UgMTAxOmNhc2UgNjU6Y2FzZSA5Nzp7bz0rak0oYix0LDAp
O2lmKChjW0I+PjJdfDApPT0oKGNbQz4+Ml18MCktKGNbeT4+Ml18MCl8MCkpYnJlYWsgYjtpZih3
KXN3aXRjaCh0fDApe2Nhc2UgMDp7Z1t3Pj4yXT1vO2JyZWFrIGZ9Y2FzZSAxOntoW3c+PjNdPW87
YnJlYWsgZn1jYXNlIDI6e2hbdz4+M109bzticmVhayBmfWRlZmF1bHQ6YnJlYWsgZn1icmVha31k
ZWZhdWx0Ont9fXdoaWxlKDApO2RvIGlmKChKfDApPT0xMjQpe0o9MDtuPWJLKGIsbiwwLC0xLC0x
KXwwO2lmKChjW0I+PjJdfDApPT0oKGNbQz4+Ml18MCktKGNbeT4+Ml18MCl8MCkpYnJlYWsgYjtp
Zigod3wwKSE9MCYocnwwKT09MTEyKXtjW3c+PjJdPW47YnJlYWt9ZWxzZXtoTSh3LHQsbix6KTti
cmVha319d2hpbGUoMCk7ZT1lKygod3wwKSE9MCYxKXwwO249KGNbQj4+Ml18MCkrdSsoY1t5Pj4y
XXwwKS0oY1tDPj4yXXwwKXwwO2JyZWFrIGN9d2hpbGUoMCk7bT1wKyhrJjEpfDA7YUsoYiwwKTtr
PWNbeT4+Ml18MDtpZihrPj4+MDwoY1tBPj4yXXwwKT4+PjApe2NbeT4+Ml09aysxO2s9ZFtrPj4w
XXwwfWVsc2Ugaz1jSyhiKXwwO2lmKChrfDApIT0oZFttPj4wXXwwKSl7Sj0yMjticmVhayBifW49
dSsxfDB9ZWxzZXttPXA7d2hpbGUoMSl7az1tKzF8MDtpZighKFhKKGRbaz4+MF18MCl8MCkpYnJl
YWs7ZWxzZSBtPWt9YUsoYiwwKTtkb3trPWNbeT4+Ml18MDtpZihrPj4+MDwoY1tBPj4yXXwwKT4+
PjApe2NbeT4+Ml09aysxO2s9ZFtrPj4wXXwwfWVsc2Ugaz1jSyhiKXwwfXdoaWxlKChYSihrKXww
KSE9MCk7aWYoIShjW0E+PjJdfDApKWs9Y1t5Pj4yXXwwO2Vsc2V7az0oY1t5Pj4yXXwwKSstMXww
O2NbeT4+Ml09a31uPShjW0I+PjJdfDApK3Uray0oY1tDPj4yXXwwKXwwfXdoaWxlKDApO3A9bSsx
fDA7az1hW3A+PjBdfDA7aWYoIShrPDwyND4+MjQpKWJyZWFrIGE7ZWxzZSB1PW59aWYoKEp8MCk9
PTIyKXtpZihjW0E+PjJdfDApY1t5Pj4yXT0oY1t5Pj4yXXwwKSstMTtpZigoZXwwKSE9MHwoa3ww
KT4tMSlicmVhaztlbHNle2U9MDtKPTEzN319ZWxzZSBpZigoSnwwKT09MTM2KWlmKCFlKXtlPWs7
Sj0xMzd9aWYoKEp8MCk9PTEzNyl7az1lO2U9LTF9aWYoayl7X0koaik7X0koaSl9fWVsc2UgZT0w
O3doaWxlKDApO2lmKEt8MClQSyhiKTtsPUw7cmV0dXJuIGV8MH1mdW5jdGlvbiBnTShhLGIpe2E9
YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MDtlPWw7bD1sKzE2fDA7ZD1lO2NbZD4+Ml09Y1thPj4y
XTt3aGlsZSgxKXtmPShjW2Q+PjJdfDApKyg0LTEpJn4oNC0xKTthPWNbZj4+Ml18MDtjW2Q+PjJd
PWYrNDtpZihiPj4+MD4xKWI9YistMXwwO2Vsc2UgYnJlYWt9bD1lO3JldHVybiBhfDB9ZnVuY3Rp
b24gaE0oZCxlLGYsZyl7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7YTpkbyBpZihkfDApc3dpdGNo
KGV8MCl7Y2FzZSAtMjp7YVtkPj4wXT1mO2JyZWFrIGF9Y2FzZSAtMTp7YltkPj4xXT1mO2JyZWFr
IGF9Y2FzZSAwOntjW2Q+PjJdPWY7YnJlYWsgYX1jYXNlIDE6e2NbZD4+Ml09ZjticmVhayBhfWNh
c2UgMzp7ZT1kO2NbZT4+Ml09ZjtjW2UrND4+Ml09ZzticmVhayBhfWRlZmF1bHQ6YnJlYWsgYX13
aGlsZSgwKTtyZXR1cm59ZnVuY3Rpb24gaU0oYSl7YT1hfDA7aWYoIWEpYT0xO2Vsc2UgYT0oY1th
Pj4yXXwwKT09MCYxO3JldHVybiBhfDB9ZnVuY3Rpb24gak0oYixlLGYpe2I9YnwwO2U9ZXwwO2Y9
ZnwwO3ZhciBnPTAuMCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wO3N3aXRjaChlfDAp
e2Nhc2UgMDp7bD0tMTQ5O209MjQ7aj00O2JyZWFrfWNhc2UgMTp7bD0tMTA3NDttPTUzO2o9NDti
cmVha31jYXNlIDI6e2w9LTEwNzQ7bT01MztqPTQ7YnJlYWt9ZGVmYXVsdDpnPTAuMH1hOmRvIGlm
KChqfDApPT00KXtvPWIrNHwwO249YisxMDB8MDtkb3tlPWNbbz4+Ml18MDtpZihlPj4+MDwoY1tu
Pj4yXXwwKT4+PjApe2Nbbz4+Ml09ZSsxO2U9ZFtlPj4wXXwwfWVsc2UgZT1jSyhiKXwwfXdoaWxl
KChYSihlKXwwKSE9MCk7YjpkbyBzd2l0Y2goZXwwKXtjYXNlIDQzOmNhc2UgNDU6e2k9MS0oKChl
fDApPT00NSYxKTw8MSl8MDtlPWNbbz4+Ml18MDtpZihlPj4+MDwoY1tuPj4yXXwwKT4+PjApe2Nb
bz4+Ml09ZSsxO2g9ZFtlPj4wXXwwO2JyZWFrIGJ9ZWxzZXtoPWNLKGIpfDA7YnJlYWsgYn19ZGVm
YXVsdDp7aD1lO2k9MX19d2hpbGUoMCk7ZT0wO2Rve2lmKChofDMyfDApIT0oYVsxMzQ4ODYrZT4+
MF18MCkpYnJlYWs7ZG8gaWYoZT4+PjA8Nyl7aD1jW28+PjJdfDA7aWYoaD4+PjA8KGNbbj4+Ml18
MCk+Pj4wKXtjW28+PjJdPWgrMTtoPWRbaD4+MF18MDticmVha31lbHNle2g9Y0soYil8MDticmVh
a319d2hpbGUoMCk7ZT1lKzF8MH13aGlsZShlPj4+MDw4KTtjOmRvIHN3aXRjaChlfDApe2Nhc2Ug
ODpicmVhaztjYXNlIDM6e2o9MjM7YnJlYWt9ZGVmYXVsdDp7az0oZnwwKSE9MDtpZihrJmU+Pj4w
PjMpaWYoKGV8MCk9PTgpYnJlYWsgYztlbHNle2o9MjM7YnJlYWsgY31kOmRvIGlmKCFlKXtlPTA7
ZG97aWYoKGh8MzJ8MCkhPShhWzEzNDg5NStlPj4wXXwwKSlicmVhayBkO2RvIGlmKGU+Pj4wPDIp
e2g9Y1tvPj4yXXwwO2lmKGg+Pj4wPChjW24+PjJdfDApPj4+MCl7Y1tvPj4yXT1oKzE7aD1kW2g+
PjBdfDA7YnJlYWt9ZWxzZXtoPWNLKGIpfDA7YnJlYWt9fXdoaWxlKDApO2U9ZSsxfDB9d2hpbGUo
ZT4+PjA8Myl9d2hpbGUoMCk7c3dpdGNoKGV8MCl7Y2FzZSAzOntlPWNbbz4+Ml18MDtpZihlPj4+
MDwoY1tuPj4yXXwwKT4+PjApe2Nbbz4+Ml09ZSsxO2U9ZFtlPj4wXXwwfWVsc2UgZT1jSyhiKXww
O2lmKChlfDApPT00MCllPTE7ZWxzZXtpZighKGNbbj4+Ml18MCkpe2c9czticmVhayBhfWNbbz4+
Ml09KGNbbz4+Ml18MCkrLTE7Zz1zO2JyZWFrIGF9d2hpbGUoMSl7aD1jW28+PjJdfDA7aWYoaD4+
PjA8KGNbbj4+Ml18MCk+Pj4wKXtjW28+PjJdPWgrMTtoPWRbaD4+MF18MH1lbHNlIGg9Y0soYil8
MDtpZighKChoKy00OHwwKT4+PjA8MTB8KGgrLTY1fDApPj4+MDwyNik/ISgoaHwwKT09OTV8KGgr
LTk3fDApPj4+MDwyNik6MClicmVhaztlPWUrMXwwfWlmKChofDApPT00MSl7Zz1zO2JyZWFrIGF9
aD0oY1tuPj4yXXwwKT09MDtpZighaCljW28+PjJdPShjW28+PjJdfDApKy0xO2lmKCFrKXtjWyhq
SigpfDApPj4yXT0yMjthSyhiLDApO2c9MC4wO2JyZWFrIGF9aWYoIWUpe2c9czticmVhayBhfXdo
aWxlKDEpe2U9ZSstMXwwO2lmKCFoKWNbbz4+Ml09KGNbbz4+Ml18MCkrLTE7aWYoIWUpe2c9czti
cmVhayBhfX19Y2FzZSAwOntpZigoaHwwKT09NDgpe2U9Y1tvPj4yXXwwO2lmKGU+Pj4wPChjW24+
PjJdfDApPj4+MCl7Y1tvPj4yXT1lKzE7ZT1kW2U+PjBdfDB9ZWxzZSBlPWNLKGIpfDA7aWYoKGV8
MzJ8MCk9PTEyMCl7Zz0ra00oYixtLGwsaSxmKTticmVhayBhfWlmKCEoY1tuPj4yXXwwKSllPTQ4
O2Vsc2V7Y1tvPj4yXT0oY1tvPj4yXXwwKSstMTtlPTQ4fX1lbHNlIGU9aDtnPStsTShiLGUsbSxs
LGksZik7YnJlYWsgYX1kZWZhdWx0OntpZihjW24+PjJdfDApY1tvPj4yXT0oY1tvPj4yXXwwKSst
MTtjWyhqSigpfDApPj4yXT0yMjthSyhiLDApO2c9MC4wO2JyZWFrIGF9fX19d2hpbGUoMCk7aWYo
KGp8MCk9PTIzKXtoPShjW24+PjJdfDApPT0wO2lmKCFoKWNbbz4+Ml09KGNbbz4+Ml18MCkrLTE7
aWYoKGZ8MCkhPTAmZT4+PjA+Mylkb3tpZighaCljW28+PjJdPShjW28+PjJdfDApKy0xO2U9ZSst
MXwwfXdoaWxlKGU+Pj4wPjMpfWc9KyhpfDApKnR9d2hpbGUoMCk7cmV0dXJuICtnfWZ1bmN0aW9u
IGtNKGEsYixlLGYsZyl7YT1hfDA7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7dmFyIGg9MC4wLGk9
MCxqPTAsaz0wLjAsbD0wLG09MCxuPTAsbz0wLjAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0w
LHc9MCx4PTAseT0wO3k9YSs0fDA7aT1jW3k+PjJdfDA7eD1hKzEwMHwwO2lmKGk+Pj4wPChjW3g+
PjJdfDApPj4+MCl7Y1t5Pj4yXT1pKzE7aj1kW2k+PjBdfDA7bD0wfWVsc2V7aj1jSyhhKXwwO2w9
MH1hOndoaWxlKDEpe3N3aXRjaChqfDApe2Nhc2UgNDY6e3c9ODticmVhayBhfWNhc2UgNDg6YnJl
YWs7ZGVmYXVsdDp7cz0wO249MDtvPTEuMDtoPTAuMDtpPTA7bT1qO3Q9bDt2PTA7dT0wO2w9MDtq
PTA7YnJlYWsgYX19aT1jW3k+PjJdfDA7aWYoaT4+PjA8KGNbeD4+Ml18MCk+Pj4wKXtjW3k+PjJd
PWkrMTtqPWRbaT4+MF18MDtsPTE7Y29udGludWV9ZWxzZXtqPWNLKGEpfDA7bD0xO2NvbnRpbnVl
fX1pZigod3wwKT09OCl7aT1jW3k+PjJdfDA7aWYoaT4+PjA8KGNbeD4+Ml18MCk+Pj4wKXtjW3k+
PjJdPWkrMTtqPWRbaT4+MF18MH1lbHNlIGo9Y0soYSl8MDtpZigoanwwKT09NDgpe2w9MDtqPTA7
ZG97aT1jW3k+PjJdfDA7aWYoaT4+PjA8KGNbeD4+Ml18MCk+Pj4wKXtjW3k+PjJdPWkrMTttPWRb
aT4+MF18MH1lbHNlIG09Y0soYSl8MDtsPUhOKGx8MCxqfDAsLTEsLTEpfDA7aj16fXdoaWxlKCht
fDApPT00OCk7cz0xO249MDtvPTEuMDtoPTAuMDtpPTA7dD0xO3Y9MDt1PTB9ZWxzZXtzPTE7bj0w
O289MS4wO2g9MC4wO2k9MDttPWo7dD1sO3Y9MDt1PTA7bD0wO2o9MH19d2hpbGUoMSl7cT1tKy00
OHwwO3A9bXwzMjtpZihxPj4+MD49MTApe3I9KG18MCk9PTQ2O2lmKCEocnwocCstOTd8MCk+Pj4w
PDYpKWJyZWFrO2lmKHIpaWYoIXMpe3M9MTtrPW87cj10O2w9dTtqPXY7cT11O3A9dn1lbHNle209
NDY7YnJlYWt9ZWxzZSB3PTIwfWVsc2Ugdz0yMDtpZigod3wwKT09MjApe3c9MDttPShtfDApPjU3
P3ArLTg3fDA6cTtkbyBpZighKCh2fDApPDB8KHZ8MCk9PTAmdT4+PjA8OCkpaWYoKHZ8MCk8MHwo
dnwwKT09MCZ1Pj4+MDwxNCl7bz1vKi4wNjI1O2s9bztoPWgrbyorKG18MCk7YnJlYWt9ZWxzZXt0
PShufDApIT0wfChtfDApPT0wO249dD9uOjE7az1vO2g9dD9oOmgrbyouNTticmVha31lbHNle2s9
bztpPW0rKGk8PDQpfDB9d2hpbGUoMCk7cT1ITih1fDAsdnwwLDEsMCl8MDtyPTE7cD16fW09Y1t5
Pj4yXXwwO2lmKG0+Pj4wPChjW3g+PjJdfDApPj4+MCl7Y1t5Pj4yXT1tKzE7bz1rO209ZFttPj4w
XXwwO3Q9cjt2PXA7dT1xO2NvbnRpbnVlfWVsc2V7bz1rO209Y0soYSl8MDt0PXI7dj1wO3U9cTtj
b250aW51ZX19ZG8gaWYoIXQpe2k9KGNbeD4+Ml18MCk9PTA7aWYoIWkpY1t5Pj4yXT0oY1t5Pj4y
XXwwKSstMTtpZihnKXtpZighaSljW3k+PjJdPShjW3k+PjJdfDApKy0xO2lmKCEoKHN8MCk9PTB8
aSkpY1t5Pj4yXT0oY1t5Pj4yXXwwKSstMX1lbHNlIGFLKGEsMCk7aD0rKGZ8MCkqMC4wfWVsc2V7
cD0oc3wwKT09MDtxPXA/dTpsO3A9cD92Omo7aWYoKHZ8MCk8MHwodnwwKT09MCZ1Pj4+MDw4KXts
PXU7aj12O3doaWxlKDEpe2k9aTw8NDt3PWw7bD1ITihsfDAsanwwLDEsMCl8MDtpZighKChqfDAp
PDB8KGp8MCk9PTAmdz4+PjA8Nykpe249aTticmVha31lbHNlIGo9en19ZWxzZSBuPWk7aWYoKG18
MzJ8MCk9PTExMil7aj1tTShhLGcpfDA7aT16O2lmKChqfDApPT0wJihpfDApPT0tMjE0NzQ4MzY0
OCl7aWYoIWcpe2FLKGEsMCk7aD0wLjA7YnJlYWt9aWYoIShjW3g+PjJdfDApKXtqPTA7aT0wfWVs
c2V7Y1t5Pj4yXT0oY1t5Pj4yXXwwKSstMTtqPTA7aT0wfX19ZWxzZSBpZighKGNbeD4+Ml18MCkp
e2o9MDtpPTB9ZWxzZXtjW3k+PjJdPShjW3k+PjJdfDApKy0xO2o9MDtpPTB9bD1PTihxfDAscHww
LDIpfDA7bD1ITihsfDAsenwwLC0zMiwtMSl8MDtsPUhOKGx8MCx6fDAsanwwLGl8MCl8MDtpPXo7
aWYoIW4pe2g9KyhmfDApKjAuMDticmVha315PTAtZXwwO2c9KCh5fDApPDApPDwzMT4+MzE7aWYo
KGl8MCk+KGd8MCl8KGl8MCk9PShnfDApJmw+Pj4wPnk+Pj4wKXtjWyhqSigpfDApPj4yXT0zNDto
PSsoZnwwKSoxNzk3NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0LjBlMjg0KjE3OTc2OTMxMzQ4NjIzMTU3
MDgxNDUyNzQuMGUyODQ7YnJlYWt9eT1lKy0xMDZ8MDtnPSgoeXwwKTwwKTw8MzE+PjMxO2lmKChp
fDApPChnfDApfChpfDApPT0oZ3wwKSZsPj4+MDx5Pj4+MCl7Y1soakooKXwwKT4+Ml09MzQ7aD0r
KGZ8MCkqMi4yMjUwNzM4NTg1MDcyMDE0ZS0zMDgqMi4yMjUwNzM4NTg1MDcyMDE0ZS0zMDg7YnJl
YWt9aWYoKG58MCk+LTEpe2o9bjtkb3t5PSEoaD49LjUpO2o9ajw8MXwoeV4xKSYxO2g9aCsoeT9o
OmgrLTEuMCk7bD1ITihsfDAsaXwwLC0xLC0xKXwwO2k9en13aGlsZSgoanwwKT4tMSk7bz1oO209
an1lbHNle289aDttPW59eT0oKGJ8MCk8MCk8PDMxPj4zMTtlPUlOKDMyLDAsZXwwLCgoZXwwKTww
KTw8MzE+PjMxfDApfDA7aT1ITihlfDAsenwwLGx8MCxpfDApfDA7ZT16O2lmKChlfDApPCh5fDAp
fChlfDApPT0oeXwwKSZpPj4+MDxiPj4+MClpZigoaXwwKT4wKXc9NTk7ZWxzZXtqPTA7aT04NDt3
PTYxfWVsc2V7aT1iO3c9NTl9aWYoKHd8MCk9PTU5KWlmKChpfDApPDUzKXtqPWk7aT04NC1pfDA7
dz02MX1lbHNle2s9MC4wO2g9KyhmfDApfWlmKCh3fDApPT02MSl7aD0rKGZ8MCk7az0rTEooK0lK
KDEuMCxpKSxoKTtpPWp9Zj0obSYxfDApPT0wJihvIT0wLjAmKGl8MCk8MzIpO2g9KGY/MC4wOm8p
KmgrKGsraCorKChtKyhmJjEpfDApPj4+MCkpLWs7aWYoIShoIT0wLjApKWNbKGpKKCl8MCk+PjJd
PTM0O2g9K01KKGgsbCl9d2hpbGUoMCk7cmV0dXJuICtofWZ1bmN0aW9uIGxNKGEsYixlLGYsZyxo
KXthPWF8MDtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaT0wLjAsaj0wLjAsaz0w
LG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLjAscz0wLjAsdD0wLjAsdT0wLHY9MCx3PTAseD0wLHk9
MCxBPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAuMDtKPWw7bD1sKzUxMnww
O0c9SjtIPWYrZXwwO0k9MC1IfDA7RD1hKzR8MDtFPWErMTAwfDA7az0wO2E6d2hpbGUoMSl7c3dp
dGNoKGJ8MCl7Y2FzZSA0Njp7QT02O2JyZWFrIGF9Y2FzZSA0ODpicmVhaztkZWZhdWx0Ont2PTA7
cD1rO3E9MDtvPTA7YnJlYWsgYX19Yj1jW0Q+PjJdfDA7aWYoYj4+PjA8KGNbRT4+Ml18MCk+Pj4w
KXtjW0Q+PjJdPWIrMTtiPWRbYj4+MF18MDtrPTE7Y29udGludWV9ZWxzZXtiPWNLKGEpfDA7az0x
O2NvbnRpbnVlfX1pZigoQXwwKT09Nil7Yj1jW0Q+PjJdfDA7aWYoYj4+PjA8KGNbRT4+Ml18MCk+
Pj4wKXtjW0Q+PjJdPWIrMTtiPWRbYj4+MF18MH1lbHNlIGI9Y0soYSl8MDtpZigoYnwwKT09NDgp
e2s9MDtiPTA7d2hpbGUoMSl7az1ITihrfDAsYnwwLC0xLC0xKXwwO289ejtiPWNbRD4+Ml18MDtp
ZihiPj4+MDwoY1tFPj4yXXwwKT4+PjApe2NbRD4+Ml09YisxO2I9ZFtiPj4wXXwwfWVsc2UgYj1j
SyhhKXwwO2lmKChifDApPT00OCliPW87ZWxzZXt2PTE7cD0xO3E9azticmVha319fWVsc2V7dj0x
O3A9aztxPTA7bz0wfX1jW0c+PjJdPTA7bj1iKy00OHwwO209KGJ8MCk9PTQ2O2I6ZG8gaWYobXxu
Pj4+MDwxMCl7Qz1HKzQ5NnwwO3c9MDtrPTA7dT0wO3g9djt5PXA7QT1uO3A9MDtuPTA7Yzp3aGls
ZSgxKXtkbyBpZihtKWlmKCF4KXt4PTE7cT1wO289bn1lbHNlIGJyZWFrIGM7ZWxzZXtwPUhOKHB8
MCxufDAsMSwwKXwwO249ejt2PShifDApIT00ODtpZigoa3wwKT49MTI1KXtpZighdilicmVhaztj
W0M+PjJdPWNbQz4+Ml18MTticmVha31tPUcrKGs8PDIpfDA7aWYoIXcpYj1BO2Vsc2UgYj1iKy00
OCsoKGNbbT4+Ml18MCkqMTB8MCl8MDtjW20+PjJdPWI7dz13KzF8MDt5PSh3fDApPT05O3c9eT8w
Onc7az1rKyh5JjEpfDA7dT12P3A6dTt5PTF9d2hpbGUoMCk7Yj1jW0Q+PjJdfDA7aWYoYj4+PjA8
KGNbRT4+Ml18MCk+Pj4wKXtjW0Q+PjJdPWIrMTtiPWRbYj4+MF18MH1lbHNlIGI9Y0soYSl8MDtB
PWIrLTQ4fDA7bT0oYnwwKT09NDY7aWYoIShtfEE+Pj4wPDEwKSl7dj14O209eTtBPTI5O2JyZWFr
IGJ9fWI9dzttPSh5fDApIT0wO0E9Mzd9ZWxzZXt3PTA7az0wO3U9MDttPXA7cD0wO249MDtBPTI5
fXdoaWxlKDApO2RvIGlmKChBfDApPT0yOSl7Qz0odnwwKT09MDtxPUM/cDpxO289Qz9uOm87bT0o
bXwwKSE9MDtpZighKG0mKGJ8MzJ8MCk9PTEwMSkpaWYoKGJ8MCk+LTEpe2I9dztBPTM3O2JyZWFr
fWVsc2V7Yj13O0E9Mzk7YnJlYWt9bT1tTShhLGgpfDA7Yj16O2lmKChtfDApPT0wJihifDApPT0t
MjE0NzQ4MzY0OCl7aWYoIWgpe2FLKGEsMCk7aT0wLjA7YnJlYWt9aWYoIShjW0U+PjJdfDApKXtt
PTA7Yj0wfWVsc2V7Y1tEPj4yXT0oY1tEPj4yXXwwKSstMTttPTA7Yj0wfX15PUhOKG18MCxifDAs
cXwwLG98MCl8MDtiPXc7bz16O0E9NDF9d2hpbGUoMCk7aWYoKEF8MCk9PTM3KWlmKGNbRT4+Ml18
MCl7Y1tEPj4yXT0oY1tEPj4yXXwwKSstMTtpZihtKXt5PXE7QT00MX1lbHNlIEE9NDB9ZWxzZSBB
PTM5O2lmKChBfDApPT0zOSlpZihtKXt5PXE7QT00MX1lbHNlIEE9NDA7ZG8gaWYoKEF8MCk9PTQw
KXtjWyhqSigpfDApPj4yXT0yMjthSyhhLDApO2k9MC4wfWVsc2UgaWYoKEF8MCk9PTQxKXttPWNb
Rz4+Ml18MDtpZighbSl7aT0rKGd8MCkqMC4wO2JyZWFrfWlmKCgobnwwKTwwfChufDApPT0wJnA+
Pj4wPDEwKSYoKHl8MCk9PShwfDApJihvfDApPT0obnwwKSk/KGV8MCk+MzB8KG0+Pj5lfDApPT0w
OjApe2k9KyhnfDApKisobT4+PjApO2JyZWFrfWE9KGZ8MCkvLTJ8MDtFPSgoYXwwKTwwKTw8MzE+
PjMxO2lmKChvfDApPihFfDApfChvfDApPT0oRXwwKSZ5Pj4+MD5hPj4+MCl7Y1soakooKXwwKT4+
Ml09MzQ7aT0rKGd8MCkqMTc5NzY5MzEzNDg2MjMxNTcwODE0NTI3NC4wZTI4NCoxNzk3NjkzMTM0
ODYyMzE1NzA4MTQ1Mjc0LjBlMjg0O2JyZWFrfWE9ZistMTA2fDA7RT0oKGF8MCk8MCk8PDMxPj4z
MTtpZigob3wwKTwoRXwwKXwob3wwKT09KEV8MCkmeT4+PjA8YT4+PjApe2NbKGpKKCl8MCk+PjJd
PTM0O2k9KyhnfDApKjIuMjI1MDczODU4NTA3MjAxNGUtMzA4KjIuMjI1MDczODU4NTA3MjAxNGUt
MzA4O2JyZWFrfWlmKGIpe2lmKChifDApPDkpe249Rysoazw8Mil8MDttPWNbbj4+Ml18MDt3aGls
ZSgxKXttPW0qMTB8MDtpZigoYnwwKT49OClicmVhaztlbHNlIGI9YisxfDB9Y1tuPj4yXT1tfWs9
aysxfDB9aWYoKHV8MCk8OT8odXwwKTw9KHl8MCkmKHl8MCk8MTg6MCl7aWYoKHl8MCk9PTkpe2k9
KyhnfDApKisoKGNbRz4+Ml18MCk+Pj4wKTticmVha31pZigoeXwwKTw5KXtpPSsoZ3wwKSorKChj
W0c+PjJdfDApPj4+MCkvKyhjWzU2NTM2Kyg4LXk8PDIpPj4yXXwwKTticmVha31hPWUrMjcrKE8o
eSwtMyl8MCl8MDtiPWNbRz4+Ml18MDtpZigoYXwwKT4zMHwoYj4+PmF8MCk9PTApe2k9KyhnfDAp
KisoYj4+PjApKisoY1s1NjUzNisoeSstMTA8PDIpPj4yXXwwKTticmVha319Yj0oeXwwKSU5fDA7
aWYoIWIpe2I9MDtuPTB9ZWxzZXt1PSh5fDApPi0xP2I6Yis5fDA7cD1jWzU2NTM2Kyg4LXU8PDIp
Pj4yXXwwO2lmKGspe3E9MWU5LyhwfDApfDA7bj0wO289MDttPXk7Yj0wO2Rve0Q9RysoYjw8Mil8
MDtFPWNbRD4+Ml18MDthPSgoRT4+PjApLyhwPj4+MCl8MCkrbnwwO2NbRD4+Ml09YTtuPU8ocSwo
RT4+PjApJShwPj4+MCl8MCl8MDthPShifDApPT0ob3wwKSYoYXwwKT09MDttPWE/bSstOXwwOm07
bz1hP28rMSYxMjc6bztiPWIrMXwwfXdoaWxlKChifDApIT0oa3wwKSk7aWYoIW4pbj1vO2Vsc2V7
Y1tHKyhrPDwyKT4+Ml09bjtuPW87az1rKzF8MH19ZWxzZXtuPTA7az0wO209eX1iPTA7eT05LXUr
bXwwfWQ6d2hpbGUoMSl7dT0oeXwwKTwxODt2PSh5fDApPT0xODt3PUcrKG48PDIpfDA7d2hpbGUo
MSl7aWYoIXUpe2lmKCF2KXttPXk7YnJlYWsgZH1pZigoY1t3Pj4yXXwwKT4+PjA+PTkwMDcxOTkp
e209MTg7YnJlYWsgZH19bT0wO3g9aztrPWsrMTI3fDA7d2hpbGUoMSl7bz1rJjEyNztwPUcrKG88
PDIpfDA7az1PTihjW3A+PjJdfDAsMCwyOSl8MDtrPUhOKGt8MCx6fDAsbXwwLDApfDA7bT16O2lm
KG0+Pj4wPjB8KG18MCk9PTAmaz4+PjA+MWU5KXtxPUxOKGt8MCxtfDAsMWU5LDApfDA7az1NTihr
fDAsbXwwLDFlOSwwKXwwfWVsc2UgcT0wO2NbcD4+Ml09azthPShvfDApPT0obnwwKTt4PShrfDAp
PT0wJigoKG98MCkhPSh4KzEyNyYxMjd8MCl8YSleMSk/bzp4O2lmKGEpYnJlYWs7ZWxzZXttPXE7
az1vKy0xfDB9fWI9YistMjl8MDtpZihxfDApYnJlYWs7ZWxzZSBrPXh9bj1uKzEyNyYxMjc7az14
KzEyNyYxMjc7bT1HKygoeCsxMjYmMTI3KTw8Mil8MDtpZigobnwwKT09KHh8MCkpY1ttPj4yXT1j
W20+PjJdfGNbRysoazw8Mik+PjJdO2Vsc2Ugaz14O2NbRysobjw8Mik+PjJdPXE7eT15Kzl8MH1l
OndoaWxlKDEpe3c9aysxJjEyNzt4PUcrKChrKzEyNyYxMjcpPDwyKXwwO3doaWxlKDEpe3E9KG18
MCk9PTE4O3Y9KG18MCk+Mjc/OToxO3k9bjt3aGlsZSgxKXtwPTA7d2hpbGUoMSl7bj1wK3kmMTI3
O2lmKChufDApPT0oa3wwKSl7Rj0yO0E9ODg7YnJlYWt9bj1jW0crKG48PDIpPj4yXXwwO289Y1s1
NjU2OCsocDw8Mik+PjJdfDA7aWYobj4+PjA8bz4+PjApe0Y9MjtBPTg4O2JyZWFrfWlmKG4+Pj4w
Pm8+Pj4wKWJyZWFrO249cCsxfDA7aWYoKHB8MCk8MSlwPW47ZWxzZXtGPW47QT04ODticmVha319
aWYoKEF8MCk9PTg4PyhBPTAscSYoRnwwKT09Mik6MCl7aT0wLjA7bz0wO2JyZWFrIGV9Yj12K2J8
MDtpZigoeXwwKT09KGt8MCkpeT1rO2Vsc2UgYnJlYWt9cT0oMTw8dikrLTF8MDt1PTFlOT4+PnY7
cD0wO249eTtvPXk7ZG97RD1HKyhvPDwyKXwwO0U9Y1tEPj4yXXwwO2E9KEU+Pj52KStwfDA7Y1tE
Pj4yXT1hO3A9TyhFJnEsdSl8MDthPShvfDApPT0obnwwKSYoYXwwKT09MDttPWE/bSstOXwwOm07
bj1hP24rMSYxMjc6bjtvPW8rMSYxMjd9d2hpbGUoKG98MCkhPShrfDApKTtpZighcCljb250aW51
ZTtpZigod3wwKSE9KG58MCkpYnJlYWs7Y1t4Pj4yXT1jW3g+PjJdfDF9Y1tHKyhrPDwyKT4+Ml09
cDtrPXd9ZG97bj1vK3kmMTI3O209aysxJjEyNztpZigobnwwKT09KGt8MCkpe2NbRysobSstMTw8
Mik+PjJdPTA7az1tfWk9aSoxLjBlOSsgKygoY1tHKyhuPDwyKT4+Ml18MCk+Pj4wKTtvPW8rMXww
fXdoaWxlKChvfDApIT0yKTt0PSsoZ3wwKTtqPWkqdDtvPWIrNTN8MDtwPW8tZnwwO3E9KHB8MCk8
KGV8MCk7bj1xPygocHwwKT4wP3A6MCk6ZTtpZigobnwwKTw1Myl7Sz0rTEooK0lKKDEuMCwxMDUt
bnwwKSxqKTtyPStOSihqLCtJSigxLjAsNTMtbnwwKSk7cz1LO2k9cjtyPUsrKGotcil9ZWxzZXtz
PTAuMDtpPTAuMDtyPWp9bT15KzImMTI3O2lmKChtfDApIT0oa3wwKSl7bT1jW0crKG08PDIpPj4y
XXwwO2RvIGlmKG0+Pj4wPj01ZTgpe2lmKChtfDApIT01ZTgpe2k9dCouNzUraTticmVha31pZigo
eSszJjEyN3wwKT09KGt8MCkpe2k9dCouNStpO2JyZWFrfWVsc2V7aT10Ki43NStpO2JyZWFrfX1l
bHNle2lmKChtfDApPT0wPyh5KzMmMTI3fDApPT0oa3wwKTowKWJyZWFrO2k9dCouMjUraX13aGls
ZSgwKTtpZigoNTMtbnwwKT4xPyEoK05KKGksMS4wKSE9MC4wKTowKWo9aSsxLjA7ZWxzZSBqPWl9
ZWxzZSBqPWk7aT1yK2otcztkbyBpZigobyYyMTQ3NDgzNjQ3fDApPigtMi1IfDApKXtIPSEoK0Io
K2kpPj05MDA3MTk5MjU0NzQwOTkyLjApO2I9YisoKEheMSkmMSl8MDtpPUg/aTppKi41O2lmKChi
KzUwfDApPD0oSXwwKT8hKGohPTAuMCYocSYoKG58MCkhPShwfDApfEgpKSk6MClicmVhaztjWyhq
SigpfDApPj4yXT0zNH13aGlsZSgwKTtpPStNSihpLGIpfXdoaWxlKDApO2w9SjtyZXR1cm4gK2l9
ZnVuY3Rpb24gbU0oYSxiKXthPWF8MDtiPWJ8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MDtoPWEr
NHwwO2U9Y1toPj4yXXwwO2k9YSsxMDB8MDtpZihlPj4+MDwoY1tpPj4yXXwwKT4+PjApe2NbaD4+
Ml09ZSsxO2U9ZFtlPj4wXXwwfWVsc2UgZT1jSyhhKXwwO3N3aXRjaChlfDApe2Nhc2UgNDM6Y2Fz
ZSA0NTp7Zj0oZXwwKT09NDUmMTtlPWNbaD4+Ml18MDtpZihlPj4+MDwoY1tpPj4yXXwwKT4+PjAp
e2NbaD4+Ml09ZSsxO2U9ZFtlPj4wXXwwfWVsc2UgZT1jSyhhKXwwO2lmKChifDApIT0wJihlKy00
OHwwKT4+PjA+OT8oY1tpPj4yXXwwKSE9MDowKWNbaD4+Ml09KGNbaD4+Ml18MCkrLTE7YnJlYWt9
ZGVmYXVsdDpmPTB9aWYoKGUrLTQ4fDApPj4+MD45KWlmKCEoY1tpPj4yXXwwKSl7Zj0tMjE0NzQ4
MzY0ODtlPTB9ZWxzZXtjW2g+PjJdPShjW2g+PjJdfDApKy0xO2Y9LTIxNDc0ODM2NDg7ZT0wfWVs
c2V7Zz0wO2Rve2c9ZSstNDgrKGcqMTB8MCl8MDtlPWNbaD4+Ml18MDtpZihlPj4+MDwoY1tpPj4y
XXwwKT4+PjApe2NbaD4+Ml09ZSsxO2U9ZFtlPj4wXXwwfWVsc2UgZT1jSyhhKXwwfXdoaWxlKChl
Ky00OHwwKT4+PjA8MTAmKGd8MCk8MjE0NzQ4MzY0KTtiPSgoZ3wwKTwwKTw8MzE+PjMxO2lmKChl
Ky00OHwwKT4+PjA8MTApZG97Yj1HTihnfDAsYnwwLDEwLDApfDA7Zz16O2U9SE4oZXwwLCgoZXww
KTwwKTw8MzE+PjMxfDAsLTQ4LC0xKXwwO2c9SE4oZXwwLHp8MCxifDAsZ3wwKXwwO2I9ejtlPWNb
aD4+Ml18MDtpZihlPj4+MDwoY1tpPj4yXXwwKT4+PjApe2NbaD4+Ml09ZSsxO2U9ZFtlPj4wXXww
fWVsc2UgZT1jSyhhKXwwfXdoaWxlKChlKy00OHwwKT4+PjA8MTAmKChifDApPDIxNDc0ODM2fChi
fDApPT0yMTQ3NDgzNiZnPj4+MDwyMDYxNTg0MzAyKSk7aWYoKGUrLTQ4fDApPj4+MDwxMClkb3tl
PWNbaD4+Ml18MDtpZihlPj4+MDwoY1tpPj4yXXwwKT4+PjApe2NbaD4+Ml09ZSsxO2U9ZFtlPj4w
XXwwfWVsc2UgZT1jSyhhKXwwfXdoaWxlKChlKy00OHwwKT4+PjA8MTApO2lmKGNbaT4+Ml18MClj
W2g+PjJdPShjW2g+PjJdfDApKy0xO2k9KGZ8MCkhPTA7ZT1JTigwLDAsZ3wwLGJ8MCl8MDtmPWk/
ejpiO2U9aT9lOmd9ej1mO3JldHVybiBlfDB9ZnVuY3Rpb24gbk0oYSxiLGQpe2E9YXwwO2I9Ynww
O2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTA7ZT1hKzg0fDA7Zz1jW2U+PjJdfDA7aD1kKzI1Nnww
O2Y9WkooZywwLGgpfDA7Zj0oZnwwKT09MD9oOmYtZ3wwO2Q9Zj4+PjA8ZD4+PjA/ZjpkO1ROKGJ8
MCxnfDAsZHwwKXwwO2NbYSs0Pj4yXT1nK2Q7Yj1nK2Z8MDtjW2ErOD4+Ml09YjtjW2U+PjJdPWI7
cmV0dXJuIGR8MH1mdW5jdGlvbiBvTShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7cmV0dXJuIHBN
KGEsYixjKXwwfWZ1bmN0aW9uIHBNKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wO2lm
KChjW2ErNzY+PjJdfDApPi0xKXtlPShPSyhhKXwwKT09MDtiPXFNKGEsYixkKXwwO2lmKCFlKVBL
KGEpfWVsc2UgYj1xTShhLGIsZCl8MDtyZXR1cm4gYnwwfWZ1bmN0aW9uIHFNKGEsYixkKXthPWF8
MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MDtpZigoZHwwKT09MSliPWItKGNbYSs4Pj4yXXwwKSso
Y1thKzQ+PjJdfDApfDA7ZT1hKzIwfDA7Zj1hKzI4fDA7aWYoKGNbZT4+Ml18MCk+Pj4wPihjW2Y+
PjJdfDApPj4+MD8oYmJbY1thKzM2Pj4yXSYzMV0oYSwwLDApfDAsKGNbZT4+Ml18MCk9PTApOjAp
Yj0tMTtlbHNle2NbYSsxNj4+Ml09MDtjW2Y+PjJdPTA7Y1tlPj4yXT0wO2lmKChiYltjW2ErNDA+
PjJdJjMxXShhLGIsZCl8MCk8MCliPS0xO2Vsc2V7Y1thKzg+PjJdPTA7Y1thKzQ+PjJdPTA7Y1th
Pj4yXT1jW2E+PjJdJi0xNztiPTB9fXJldHVybiBifDB9ZnVuY3Rpb24gck0oYil7Yj1ifDA7dmFy
IGM9MCxkPTAsZT0wLGY9MCxnPTA7d2hpbGUoMSl7ZT1iKzF8MDtpZighKFhKKGFbYj4+MF18MCl8
MCkpYnJlYWs7ZWxzZSBiPWV9ZD1hW2I+PjBdfDA7c3dpdGNoKGQ8PDI0Pj4yNHwwKXtjYXNlIDQ1
OntiPTE7Zj01O2JyZWFrfWNhc2UgNDM6e2I9MDtmPTU7YnJlYWt9ZGVmYXVsdDp7Zz0wO2M9Yjti
PWR9fWlmKChmfDApPT01KXtnPWI7Yz1lO2I9YVtlPj4wXXwwfWlmKCEoX0ooYjw8MjQ+PjI0KXww
KSliPTA7ZWxzZXtiPTA7ZG97Yj0oYioxMHwwKSs0OC0oYVtjPj4wXXwwKXwwO2M9YysxfDB9d2hp
bGUoKF9KKGFbYz4+MF18MCl8MCkhPTApfXJldHVybiAoZ3wwP2I6MC1ifDApfDB9ZnVuY3Rpb24g
c00oYSl7YT1hfDA7cmV0dXJuICsoK3RNKGEsMCkpfWZ1bmN0aW9uIHRNKGEsYil7YT1hfDA7Yj1i
fDA7cmV0dXJuICsoK3VNKGEsYiwxKSl9ZnVuY3Rpb24gdU0oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9
ZHwwO3ZhciBlPTAuMCxmPTAsZz0wLGg9MCxpPTA7aT1sO2w9bCsxMjh8MDtoPWk7Zj1oO2c9Zisx
MjR8MDtkb3tjW2Y+PjJdPTA7Zj1mKzR8MH13aGlsZSgoZnwwKTwoZ3wwKSk7Zj1oKzR8MDtjW2Y+
PjJdPWE7Zz1oKzh8MDtjW2c+PjJdPS0xO2NbaCs0ND4+Ml09YTtjW2grNzY+PjJdPS0xO2FLKGgs
MCk7ZT0rak0oaCxkLDEpO2Q9KGNbZj4+Ml18MCktKGNbZz4+Ml18MCkrKGNbaCsxMDg+PjJdfDAp
fDA7aWYoYnwwKWNbYj4+Ml09ZHwwP2ErZHwwOmE7bD1pO3JldHVybiArZX1mdW5jdGlvbiB2TShh
LGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MDth
OmRvIGlmKCFjKWI9MDtlbHNle2g9Yjt3aGlsZSgxKXtnPWM+Pj4xO2I9aCsoTyhnLGQpfDApfDA7
Zj1hYltlJjYzXShhLGIpfDA7aWYoIWYpYnJlYWsgYTtpZigoY3wwKT09MSl7Yj0wO2JyZWFrIGF9
Zj0oZnwwKTwwO2M9Zj9nOmMtZ3wwO2lmKCFjKXtiPTA7YnJlYWt9ZWxzZSBoPWY/aDpifX13aGls
ZSgwKTtyZXR1cm4gYnwwfWZ1bmN0aW9uIHdNKGEsYyl7YT1hfDA7Yz1jfDA7dmFyIGQ9MCxmPTAs
Zz0wO2c9YSsyfDA7Zj1hKzR8MDtkPUdOKChlW2MrMj4+MV18MCk8PDE2fChlW2M+PjFdfDApfDAs
ZVtjKzQ+PjFdfDB8MCwoZVtnPj4xXXwwKTw8MTZ8KGVbYT4+MV18MCl8MCxlW2Y+PjFdfDB8MCl8
MDtjPUhOKGR8MCx6fDAsZVtjKzY+PjFdfDB8MCwwKXwwO2Q9ejtiW2E+PjFdPWM7YT1OTihjfDAs
ZHwwLDE2KXwwO2JbZz4+MV09YTtiW2Y+PjFdPWQ7ej1kJjY1NTM1O3JldHVybiBjfDB9ZnVuY3Rp
b24geE0oYSl7YT1hfDA7VE4oMTczODc2LDU4NjY4LDYpfDA7VE4oNTg2NjgsYXwwLDYpfDA7cmV0
dXJuIDE3Mzg3Nn1mdW5jdGlvbiB5TShhKXthPWF8MDt2YXIgYz0wLGQ9MDtjPWw7bD1sKzE2fDA7
ZD1jO2JbZD4+MV09MTMwNzA7YltkKzI+PjFdPWE7YltkKzQ+PjFdPWE+Pj4xNjt4TShkKXwwO2w9
YztyZXR1cm59ZnVuY3Rpb24gek0oYSl7YT1hfDA7dmFyIGI9MDtiPXdNKGEsNTg2NzQpfDA7Yj1P
TihifDAsenwwLDQpfDA7YT16fDEwNzI2OTMyNDg7Y1tqPj4yXT1iO2Nbais0Pj4yXT1hO3JldHVy
biArKCtoW2o+PjNdKy0xLjApfWZ1bmN0aW9uIEFNKCl7cmV0dXJuICsoK3pNKDU4NjY4KSl9ZnVu
Y3Rpb24gQk0oYSxiKXthPWF8MDtiPWJ8MDtpZighYSliPSRJKDEsMjQpfDA7ZWxzZSBWTihifDAs
MCwyNCl8MDtyZXR1cm4gYnwwfWZ1bmN0aW9uIENNKGEpe2E9YXwwO3ZhciBiPTAsZD0wO2I9Y1th
Pj4yXXwwO2lmKGJ8MClkb3tfSShjW2I+PjJdfDApO2Q9YjtiPWNbYis0Pj4yXXwwO19JKGQpfXdo
aWxlKChifDApIT0wKTtfSShhKTtyZXR1cm59ZnVuY3Rpb24gRE0oYSxiLGQsZSxmKXthPWF8MDti
PWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MDtoPWErMTZ8MDth
OmRvIGlmKCEoY1toPj4yXXwwKSl7az1hKzEyfDA7Zz1jW2s+PjJdfDA7aWYoZz4+PjA8Zj4+PjAp
e2RvIGlmKGIpaWYoIWQpe2NbaD4+Ml09MTtiPTA7YnJlYWsgYX1lbHNle2g9YSs4fDA7Y1toPj4y
XT1kO2c9MTAyNDtiPWQ7YnJlYWt9ZWxzZXtnPWY8PDM7Zz1nPj4+MD4xMDI0P2c6MTAyNDtqPVpJ
KDgpfDA7aWYoIWope2NbaD4+Ml09MTtiPTA7YnJlYWsgYX1iPVpJKGcpfDA7Y1tqPj4yXT1iO2Q9
YjtpZighYil7X0koaik7Y1toPj4yXT0xO2I9MDticmVhayBhfWNbais0Pj4yXT0wO2g9YSs0fDA7
aT1jW2g+PjJdfDA7aWYoaXwwKWNbaSs0Pj4yXT1qO2lmKCEoY1thPj4yXXwwKSljW2E+PjJdPWo7
Y1toPj4yXT1qO2g9YSs4fDA7Y1toPj4yXT1kfXdoaWxlKDApO2Nbaz4+Ml09Z31lbHNle2g9YSs4
fDA7Yj1jW2g+PjJdfDA7ZD1ifWQ9ZCtmJjM7ZD0oKGR8MCk9PTA/MDo0LWR8MCkrZnwwO2NbaD4+
Ml09YitkO2Nbaz4+Ml09Zy1kO2lmKGUpVk4oYnwwLDAsZHwwKXwwfWVsc2UgYj0wO3doaWxlKDAp
O3JldHVybiBifDB9ZnVuY3Rpb24gRU0oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAs
Zj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1
PTAsdj0wLHc9MDt2PWw7bD1sKzQ4fDA7aD12O3Q9Rk0oKXwwO2E6ZG8gaWYoIXQpYj0xMjtlbHNl
e3U9Qk0oMCwwKXwwO2lmKCF1KXtHTSh0KTtiPTEyO2JyZWFrfVZOKGh8MCwwLDM2KXwwO2NbaD4+
Ml09dTtjW2grND4+Ml09dDtjW2grMTY+PjJdPWI7Y1toKzMyPj4yXT1kO2U9aCsyOHwwO2NbZT4+
Ml09LTE7Yj1ITShoKXwwO2I6ZG8gaWYoIWIpe2c9aCsyMHwwO3I9Y1tnPj4yXXwwO2NbYT4+Ml09
cistMTtpPWNbaCs4Pj4yXXwwO2lmKChjW2U+PjJdfDApPChyfDApKXtyPSRJKDEsNjgpfDA7aWYo
cil7cT0oY1tlPj4yXXwwKT4+PjMxXjE7Y1tyKzYwPj4yXT1xO2Nbcis2ND4+Ml09MDtjW3IrMjg+
PjJdPWNbZz4+Ml07aWYoKGQmOHwwKT09MHwocXwwKSE9MCl7Yj1JTSgwLHQsaSxyKXwwO2lmKGJ8
MCl7Zz1yO2g9MDtpPTA7Zj0wO2U9MDticmVha31lPXIrNDB8MDtiPWNbZT4+Ml18MDtpZigoYnww
KT4wKXtiPVpJKChiPDwyKSs0fDApfDA7aWYoIWIpe2c9cjtoPTA7aT0wO2I9MTI7Zj0wO2U9MDti
cmVha31jW3IrMzI+PjJdPWI7Vk4oYnwwLC0xLChjW2U+PjJdPDwyKSs0fDApfDA7Zj1iO2I9Y1tl
Pj4yXXwwfWVsc2UgZj0wO3E9JEkoYjw8MXwxLDQpfDA7Y1tyKzM2Pj4yXT1xO2lmKCFxKXtnPXI7
aD0wO2k9MDtiPTEyO2Y9MDtlPTA7YnJlYWt9Yj0kSShjW2c+PjJdfDAsMTIpfDA7aWYoIWIpe2c9
cjtoPTA7aT0wO2I9MTI7Zj0wO2U9MDticmVha31jW3IrMTY+PjJdPWI7Yj1JTSh1LHQsaSxyKXww
O2lmKCFiKWI9ZjtlbHNle2c9cjtoPTA7aT0wO2Y9MDtlPTA7YnJlYWt9fWVsc2UgYj0wO3A9aCsy
NHwwO2I9Sk0odSx0LGkscCxiKXwwO2lmKCFiKXtiPWNbcD4+Ml18MDtjW3A+PjJdPWIrMTtiPUtN
KHUsMCwwLGIpfDA7aWYoKGJ8MCkhPTA/KHM9TE0odSxpLGIpfDAsKHN8MCkhPTApOjApe2I9TU0o
dSx0LHMpfDA7aWYoIWIpe289WkkoY1twPj4yXTw8Mil8MDtpZihvKXtxPVpJKGNbcD4+Ml08PDIp
fDA7aWYocSl7Yj1jW3A+PjJdfDA7aWYoKGJ8MCk+MClWTihvfDAsMCxiPDwyfDApfDA7Tk0ocyww
LG8sMCl8MDtmPWNbcD4+Ml18MDtpZigoZnwwKT4wKXtiPTA7ZT0wO2Rve2NbcSsoZTw8Mik+PjJd
PWI7bj1vKyhlPDwyKXwwO2I9YisxKyhjW24+PjJdfDApfDA7Y1tuPj4yXT0wO2U9ZSsxfDB9d2hp
bGUoKGV8MCk8KGZ8MCkpO2s9Yn1lbHNlIGs9MDttPSRJKGsrMXwwLDMyKXwwO2lmKG0pe2Nbcj4+
Ml09bTtuPXIrNHwwO2Nbbj4+Ml09aztiPU5NKHMsbSxvLHEpfDA7aWYoIWIpe2NbcisyMD4+Ml09
MDtmPXMrMjR8MDtiPWNbZj4+Ml18MDtlPTA7d2hpbGUoMSl7ZT1lKzF8MDtpZigoY1tiPj4yXXww
KTw9LTEpYnJlYWs7ZWxzZSBiPWIrMzJ8MH1qPSRJKGUsMzIpfDA7aWYoIWope2c9cjtoPW87aT1x
O2I9MTI7Zj1vO2U9cX1lbHNle2Nbcis4Pj4yXT1qO2Y9Y1tmPj4yXXwwO2U9Y1tmPj4yXXwwO2lm
KChlfDApPi0xKXtiPTA7ZG97Y1tqKyhiPDw1KSs4Pj4yXT1tKyhjW3ErKGU8PDIpPj4yXTw8NSk7
Y1tqKyhiPDw1KSsxMj4+Ml09ZTtoPWorKGI8PDUpKzE2fDA7Y1toPj4yXT0wO2k9ZisxMnwwO2c9
Y1tpPj4yXXwwO2lmKGd8MCl7ZT0wO2Rve3c9ZTtlPWUrMXwwfXdoaWxlKChjW2crKHc8PDIpPj4y
XXwwKT4tMSk7ZT1lPDwyO2c9WkkoZSl8MDtjW2g+PjJdPWc7aWYoIWcpe2c9cjtoPW87aT1xO2I9
MTI7Zj1vO2U9cTticmVhayBifVROKGd8MCxjW2k+PjJdfDAsZXwwKXwwfWNbaisoYjw8NSkrMjA+
PjJdPWNbZisxNj4+Ml07Yj1iKzF8MDtmPWYrMzJ8MDtlPWNbZj4+Ml18MH13aGlsZSgoZXwwKT4t
MSl9ZWxzZSBiPTA7Y1tqKyhiPDw1KSs4Pj4yXT0wO2Nbbj4+Ml09aztjW3IrMTI+PjJdPW0rKGNb
cSsoY1tjW3MrMjg+PjJdPj4yXTw8Mik+PjJdPDw1KTtjW3IrNTI+PjJdPWNbcD4+Ml07Y1tyKzU2
Pj4yXT1kO0NNKHUpO0dNKHQpO19JKG8pO19JKHEpO2NbYSs0Pj4yXT1yO2I9MDticmVhayBhfX1l
bHNle2c9cjtoPW87aT1xO2Y9bztlPXF9fWVsc2V7Zz1yO2g9bztpPXE7Yj0xMjtmPW87ZT1xfX1l
bHNle2c9cjtoPW87aT1xO2I9MTI7Zj1vO2U9MH19ZWxzZXtnPXI7aD1vO2k9MDtiPTEyO2Y9MDtl
PTB9fWVsc2V7Zz1yO2g9MDtpPTA7Zj0wO2U9MH19ZWxzZXtnPXI7aD0wO2k9MDtiPTEyO2Y9MDtl
PTB9fWVsc2V7Zz1yO2g9MDtpPTA7Zj0wO2U9MH19ZWxzZXtnPXI7aD0wO2k9MDtiPTEyO2Y9MDtl
PTB9fWVsc2V7Zz0wO2g9MDtpPTA7Yj02O2Y9MDtlPTB9fWVsc2V7Zz0wO2g9MDtpPTA7Zj0wO2U9
MH13aGlsZSgwKTtDTSh1KTtHTSh0KTtpZihofDApX0koZik7aWYoaXwwKV9JKGUpO2NbYSs0Pj4y
XT1nO09NKGEpfXdoaWxlKDApO2w9djtyZXR1cm4gYnwwfWZ1bmN0aW9uIEZNKCl7dmFyIGE9MCxi
PTA7YT1aSSgyMCl8MDtkbyBpZihhKXtiPVpJKDIwNDgpfDA7Y1thKzE2Pj4yXT1iO2lmKCFiKXtf
SShhKTthPTA7YnJlYWt9ZWxzZXtjW2E+PjJdPTUxMjtjW2ErND4+Ml09MTAyNGUzO2NbYSs4Pj4y
XT0xMjg7Y1thKzEyPj4yXT0wO2JyZWFrfX13aGlsZSgwKTtyZXR1cm4gYXwwfWZ1bmN0aW9uIEdN
KGEpe2E9YXwwO19JKGNbYSsxNj4+Ml18MCk7X0koYSk7cmV0dXJufWZ1bmN0aW9uIEhNKGIpe2I9
YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxx
PTAscj0wLHM9MCx0PTAsdT0wO3U9bDtsPWwrMTZ8MDtwPXUrNHwwO3E9dTtyPWNbYiszMj4+Ml0m
MTtzPWIrMTZ8MDtlPWNbcz4+Ml18MDt0PWNbYis0Pj4yXXwwO2Q9U00odCwwKXwwO2E6ZG8gaWYo
IWQpe209KHJ8MCkhPTA7bj1iKzh8MDtvPWIrMTJ8MDtkPTA7az0xO2I6d2hpbGUoMSl7Zz0wO2g9
ZDtmPTA7Yzp3aGlsZSgxKXtkPWFbZT4+MF18MDtpZihtKXtpZihkPDwyND4+MjQ9PTQwKWJyZWFr
O2lmKChofDApIT0wJmQ8PDI0Pj4yND09NDEpaj0xMztlbHNlIGo9MTR9ZWxzZSBpZihkPDwyND4+
MjQ9PTkyKXN3aXRjaChhW2UrMT4+MF18MCl7Y2FzZSA0MDpicmVhayBjO2Nhc2UgNDE6e2o9MTM7
YnJlYWt9ZGVmYXVsdDpqPTE0fWVsc2Ugaj0xNDtpZigoanwwKT09MTMpe2o9MDtpPUtNKGNbYj4+
Ml18MCwtMSwtMSwtMSl8MDtjW24+PjJdPWk7aWYoIWkpe2Q9MTI7YnJlYWsgYX1lbHNlIGk9Zn1l
bHNlIGlmKChqfDApPT0xNCl7aj0wO2Q9Zk4oYixlKXwwO2lmKGR8MClicmVhayBhO2k9ZjtlPWNb
bz4+Ml18MH1kOndoaWxlKDEpe2U6d2hpbGUoMSl7ZD1hW2U+PjBdfDA7c3dpdGNoKGQ8PDI0Pj4y
NCl7Y2FzZSA0MjpjYXNlIDkyOmJyZWFrO2RlZmF1bHQ6e2lmKCFtKWJyZWFrIGU7c3dpdGNoKGQ8
PDI0Pj4yNCl7Y2FzZSAxMjM6Y2FzZSA2MzpjYXNlIDQzOmJyZWFrO2RlZmF1bHQ6YnJlYWsgZX19
fWQ9ZDw8MjQ+PjI0PT05MjtpZihtJmQpYnJlYWs7Zj1lKzF8MDtpZihkKXN3aXRjaChhW2Y+PjBd
fDApe2Nhc2UgMTIzOmNhc2UgNjM6Y2FzZSA0MzpicmVhaztkZWZhdWx0OmJyZWFrIGV9ZT1kP2Y6
ZTtpZigoIW0/KGV8MCk9PSgoY1tzPj4yXXwwKSsxfDApOjApPyhhW2UrLTE+PjBdfDApPT05NDow
KWJyZWFrO2lmKChhW2U+PjBdfDApPT0xMjMpe2U9Z04oZSsxfDAscixwLHEpfDA7aWYoIWUpe2o9
Mjg7YnJlYWsgYn1kPWNbcT4+Ml18MDtmPWNbYj4+Ml18MDtpZighZClkPUtNKGYsLTEsLTEsLTEp
fDA7ZWxzZSBqPTM2fWVsc2V7Y1twPj4yXT0wO2NbcT4+Ml09LTE7ZD1hW2U+PjBdfDA7aWYoZDw8
MjQ+PjI0PT00Myl7Y1twPj4yXT0xO2Q9YVtlPj4wXXwwfWlmKGQ8PDI0Pj4yND09NjMpe2NbcT4+
Ml09MTtkPTF9ZWxzZSBkPS0xO2U9ZSsxfDA7Zj1jW2I+PjJdfDA7aj0zNn1pZigoanwwKT09MzYp
e2o9MDtkPWFOKGYsY1tuPj4yXXwwLGNbcD4+Ml18MCxkLDApfDB9Y1tuPj4yXT1kO2lmKCFkKXtk
PTEyO2JyZWFrIGF9fWQ9TE0oY1tiPj4yXXwwLGcsY1tuPj4yXXwwKXwwO2Y9YVtlPj4wXXwwO2Y6
ZG8gaWYobSl7aWYoZjw8MjQ+PjI0PT0xMjQpe2o9NDA7YnJlYWsgZH1pZigoaHwwKSE9MCZmPDwy
ND4+MjQ9PTQxfGY8PDI0Pj4yND09MClqPTQ3O2Vsc2V7Zz1kO2Y9aTtjb250aW51ZSBjfX1lbHNl
e3N3aXRjaChmPDwyND4+MjQpe2Nhc2UgMDp7aj00NzticmVhayBmfWNhc2UgOTI6YnJlYWs7ZGVm
YXVsdDp7Zz1kO2Y9aTtjb250aW51ZSBjfX1zd2l0Y2goYVtlKzE+PjBdfDApe2Nhc2UgMTI0OmNh
c2UgNDE6YnJlYWs7ZGVmYXVsdDp7Zz1kO2Y9aTtjb250aW51ZSBjfX1kPWJOKGNbYj4+Ml18MCxp
LGQpfDA7aWYoKGFbZSsxPj4wXXwwKT09MTI0KXtmPTI7YnJlYWsgZH1pZighaCl7ZD04O2JyZWFr
IGF9ZT1lKzJ8MDtmPTkyfXdoaWxlKDApO2lmKChqfDApPT00Nyl7aj0wO2Q9Yk4oY1tiPj4yXXww
LGksZCl8MDtlPWY8PDI0Pj4yND09NDE/ZSsxfDA6ZX1kPWhOKGIsZCxUTSh0KXwwKXwwO2lmKGR8
MClicmVhayBhO2Q9Zjw8MjQ+PjI0PT0wO2Y9KGh8MCk8MTtpZihmJmQpe2o9NTA7YnJlYWsgYn1p
ZihmfGQpe2Q9ODticmVhayBhfWc9VU0odCl8MDtoPWgrLTF8MDtpPVVNKHQpfDB9aWYoKGp8MCk9
PTQwKXtmPTE7ZD1iTihjW2I+PjJdfDAsaSxkKXwwfWc9MDtlPWUrZnwwO2Y9ZH1kPVJNKHQsZil8
MDtpZihkfDApYnJlYWsgYTtkPVJNKHQsZyl8MDtpZihkfDApYnJlYWsgYTtkPVNNKHQsayl8MDtp
ZihkfDApYnJlYWsgYTtkPWgrMXwwO2s9aysxfDA7ZT1tP2UrMXwwOmUrMnwwfWlmKChqfDApPT0y
OCl7ZD0xMDticmVha31lbHNlIGlmKChqfDApPT01MCl7Y1tiKzIwPj4yXT1rO2Q9MDticmVha319
d2hpbGUoMCk7bD11O3JldHVybiBkfDB9ZnVuY3Rpb24gSU0oYixkLGUsZil7Yj1ifDA7ZD1kfDA7
ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxx
PTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MDt4PVFNKGQpfDA7
eT0oYnwwKT09MHwoZnwwKT09MDtpZigheSl7Y1tmKzQ4Pj4yXT0wO2NbY1tmKzM2Pj4yXT4+Ml09
LTF9Zz1mKzI4fDA7ej1aSSgoY1tnPj4yXTw8MykrOHwwKXwwO2RvIGlmKCF6KWc9MTI7ZWxzZXtj
W3o+PjJdPS0xO0E9WkkoKGNbZz4+Ml08PDIpKzR8MCl8MDtpZighQSl7X0koeik7Zz0xMjticmVh
a31jW0E+PjJdPS0xO0I9WkkoKGNbZz4+Ml08PDMpKzh8MCl8MDtpZighQil7X0koeik7X0koQSk7
Zz0xMjticmVha31oPWNbZz4+Ml18MDtnPTA7ZG97Y1tCKyhnPDwzKT4+Ml09LTE7Zz1nKzF8MH13
aGlsZShnPj4+MDw9aD4+PjApO1JNKGQsZSl8MDtnPVNNKGQsMCl8MDthOmRvIGlmKChnfDApIT0w
fChRTShkKXwwKTw9KHh8MCkpe2U9ejtuPTA7aD0wO209MDtsPS0xfWVsc2V7dT1mKzMyfDA7dj1m
KzM2fDA7dz1mKzE2fDA7ZT16O249MDtoPTA7bT0wO3Q9MTtsPS0xO3M9MDt3aGlsZSgxKXtiOmRv
IHN3aXRjaChUTShkKXwwKXtjYXNlIDY6e2k9VE0oZCl8MDtnPTA7ZG97aj1lKyhnPDwyKXwwO2c9
ZysxfDB9d2hpbGUoKGNbaj4+Ml18MCk+LTEpO2Nbaj4+Ml09aTw8MXwxO2NbZSsoZzw8Mik+PjJd
PS0xO2c9MDt3aGlsZSgxKWlmKChjW0ErKGc8PDIpPj4yXXwwKT4tMSlnPWcrMXwwO2Vsc2UgYnJl
YWs7Y1tBKyhnKy0xPDwyKT4+Ml09LTE7Zz0wO2o9dDtpPXM7YnJlYWt9Y2FzZSAwOntxPVVNKGQp
fDA7cj1xKzEyfDA7aj1jW3I+PjJdfDA7aWYoKGp8MCk+LTEpe2c9MDtkb3tpPWUrKGc8PDIpfDA7
Zz1nKzF8MH13aGlsZSgoY1tpPj4yXXwwKT4tMSk7Y1tpPj4yXT1qPDwxO2NbZSsoZzw8Mik+PjJd
PS0xO2lmKCF5KXtnPTA7d2hpbGUoMSlpZigoY1tBKyhnPDwyKT4+Ml18MCk+LTEpZz1nKzF8MDtl
bHNlIGJyZWFrO2NbKGNbdz4+Ml18MCkrKGoqMTJ8MCkrOD4+Ml09MDtpZigoZ3wwKT4wKXtnPVpJ
KChnPDwyKSs0fDApfDA7aWYoIWcpe2c9MTI7aj10O2k9czticmVhayBifWNbKGNbdz4+Ml18MCkr
KGoqMTJ8MCkrOD4+Ml09ZztpPWNbQT4+Ml18MDtpZigoaXwwKT4tMSl7az0wO2o9Zztkb3tjW2o+
PjJdPWk7az1rKzF8MDtpPWNbQSsoazw8Mik+PjJdfDA7aj1nKyhrPDwyKXwwfXdoaWxlKChpfDAp
Pi0xKTtnPWp9Y1tnPj4yXT0tMX19Zz1TTShkLGNbcj4+Ml18MCl8MDtpZihnfDApe2o9dDtpPXM7
YnJlYWsgYn1nPVNNKGQsNil8MDtpZihnfDApe2o9dDtpPXM7YnJlYWsgYn19YzpkbyBzd2l0Y2go
Y1txPj4yXXwwKXtjYXNlIDA6e3A9Y1tjW3ErND4+Ml0+PjJdfDA7aWYoKHB8MCk+LTF8KHB8MCk9
PS00PyhjW2U+PjJdfDApPi0xOjApe2lmKHkpe2NbcSsyMD4+Ml09MTtnPTB9ZWxzZXtnPWNOKGIs
cSxtKXwwO2NbKGNbdT4+Ml18MCkrKG08PDIpPj4yXT1zO2lmKChsfDApPi0xKXtqPWNbdj4+Ml18
MDtpPTA7d2hpbGUoMSl7az1qKyhpPDwyKXwwO289aSsxfDA7aWYoKGNbaz4+Ml18MCk+LTEpaT1v
O2Vsc2UgYnJlYWt9Y1trPj4yXT1tO2Nbaisobzw8Mik+PjJdPWw7Y1tqKyhpKzI8PDIpPj4yXT0t
MTtoPWgrMXwwO2w9LTF9ZE4oZSxmLG0pfWNbZT4+Ml09LTE7cD10KzF8MDtvPXM7bj1uKzF8MDtt
PXR9ZWxzZXtwPXQ7Zz0wO289c31icmVha31jYXNlIDE6e2o9Y1txKzQ+PjJdfDA7az1jW2o+PjJd
fDA7aj1jW2orND4+Ml18MDtnPVJNKGQscSl8MDtpZighZyl7Zz1TTShkLDUpfDA7aWYoIWcpe2c9
Uk0oZCxqKXwwO2lmKCFnKXtnPVNNKGQsMCl8MDtpZighZyl7aT1rKzIwfDA7Zz1TTShkLChjW2k+
PjJdfDApK3R8MCl8MDtpZighZyl7aWYoKGNbaT4+Ml18MCk+MCl7aT0oY1tqKzIwPj4yXXwwKT4w
O2c9aT90Oi0xO2k9dCsoaSYxKXwwfWVsc2V7Zz0tMTtpPXR9Zz1TTShkLGcpfDA7aWYoIWcpe2c9
U00oZCw0KXwwO2lmKCFnKXtnPVJNKGQsayl8MDtpZighZyl7cD1pO2c9U00oZCwwKXwwO289c31l
bHNle3A9aTtvPXN9fWVsc2V7cD1pO289c319ZWxzZXtwPWk7bz1zfX1lbHNle3A9dDtvPXN9fWVs
c2V7cD10O289c319ZWxzZXtwPXQ7bz1zfX1lbHNle3A9dDtvPXN9fWVsc2V7cD10O289c31icmVh
a31jYXNlIDI6e2k9Y1txKzQ+PjJdfDA7aWYoeSl7aWYoKGNbZT4+Ml18MCk+LTEpZz0xO2Vsc2Ug
Zz0oYVtpKzEyPj4wXSYxKSE9MDtnPVNNKGQsZyYxKXwwO2lmKGd8MCl7cD10O289czticmVhayBj
fX1lbHNle2c9U00oZCxtKXwwO2lmKGd8MCl7cD10O289czticmVhayBjfWc9U00oZCxhW2krMTI+
PjBdJjEpfDA7aWYoZ3wwKXtwPXQ7bz1zO2JyZWFrIGN9fWc9Uk0oZCxxKXwwO2lmKCFnKXtnPVNN
KGQsMSl8MDtpZighZyl7Zz1STShkLGNbaT4+Ml18MCl8MDtpZighZyl7Zz1TTShkLDApfDA7aWYo
IWcpe2lmKChjW2U+PjJdfDApPD0tMT8oYVtpKzEyPj4wXSYxKT09MDowKXtwPXQ7Zz0wO289MDti
cmVhayBjfWlmKHkpZz0wO2Vsc2V7Zz1jTihiLHEsbSl8MDtjWyhjW3U+PjJdfDApKyhtPDwyKT4+
Ml09KGFbaSsxMj4+MF0mMSk9PTA/czoxO2lmKChsfDApPi0xKXtqPWNbdj4+Ml18MDtpPTA7d2hp
bGUoMSl7az1qKyhpPDwyKXwwO289aSsxfDA7aWYoKGNbaz4+Ml18MCk+LTEpaT1vO2Vsc2UgYnJl
YWt9Y1trPj4yXT1tO2Nbaisobzw8Mik+PjJdPWw7Y1tqKyhpKzI8PDIpPj4yXT0tMTtoPWgrMXww
O2w9LTF9ZE4oZSxmLG0pfWNbZT4+Ml09LTE7cD10KzF8MDtvPTA7bj1uKzF8MDttPXR9ZWxzZXtw
PXQ7bz1zfX1lbHNle3A9dDtvPXN9fWVsc2V7cD10O289c319ZWxzZXtwPXQ7bz1zfWJyZWFrfWNh
c2UgMzp7aj1jW3ErND4+Ml18MDtrPWNbaj4+Ml18MDtqPWNbais0Pj4yXXwwO2k9KGNbZT4+Ml18
MCk+LTE7cD10KzF8MDtnPVNNKGQsaT9wOnQpfDA7aWYoIWcpe2c9U00oZCxpP3Q6bSl8MDtpZigh
Zyl7Zz1STShkLGUpfDA7aWYoIWcpe2c9U00oZCwoY1tlPj4yXXwwKT4+PjMxXjEpfDA7aWYoIWcp
e2c9Uk0oZCxxKXwwO2lmKCFnKXtnPVJNKGQsail8MDtpZighZyl7Zz1STShkLGspfDA7aWYoIWcp
e2c9U00oZCwzKXwwO2lmKCFnKXtnPVJNKGQsail8MDtpZighZyl7Zz1TTShkLDApfDA7aWYoZ3ww
KXtwPXQ7bz1zO2JyZWFrIGN9Zz1TTShkLDIpfDA7aWYoZ3wwKXtwPXQ7bz1zO2JyZWFrIGN9Zz1S
TShkLGspfDA7aWYoZ3wwKXtwPXQ7bz1zO2JyZWFrIGN9Zz1TTShkLDApfDA7aWYoZ3wwKXtwPXQ7
bz1zO2JyZWFrIGN9aWYoKGNbZT4+Ml18MCk+LTEpe2lmKHkpZz0wO2Vsc2V7Zz1jTihiLHEsbSl8
MDtjWyhjW3U+PjJdfDApKyhtPDwyKT4+Ml09cztpZigobHwwKT4tMSl7aj1jW3Y+PjJdfDA7aT0w
O3doaWxlKDEpe2s9aisoaTw8Mil8MDtvPWkrMXwwO2lmKChjW2s+PjJdfDApPi0xKWk9bztlbHNl
IGJyZWFrfWNbaz4+Ml09bTtjW2orKG88PDIpPj4yXT1sO2NbaisoaSsyPDwyKT4+Ml09LTE7aD1o
KzF8MDtsPS0xfWROKGUsZixtKX1jW2U+PjJdPS0xO249bisxfDA7bT10O2k9cH1lbHNle2c9MDtp
PXR9dD0oY1txKzE2Pj4yXXwwKT4wO3A9dD9pKzJ8MDppO289czttPXQ/aSsxfDA6bX1lbHNle3A9
dDtvPXN9fWVsc2V7cD10O289c319ZWxzZXtwPXQ7bz1zfX1lbHNle3A9dDtvPXN9fWVsc2V7cD10
O289c319ZWxzZXtwPXQ7bz1zfX1lbHNle3A9dDtvPXN9fWVsc2V7cD10O289c319ZWxzZXtwPXQ7
bz1zfWJyZWFrfWRlZmF1bHQ6e3A9dDtnPTA7bz1zfX13aGlsZSgwKTtqPWNbcj4+Ml18MDtpZigo
anwwKT4tMSl7aT0wO2Rve2s9QSsoaTw8Mil8MDtpPWkrMXwwfXdoaWxlKChjW2s+PjJdfDApPi0x
KTtjW2s+PjJdPWo7Y1tBKyhpPDwyKT4+Ml09LTE7aj1wO2k9b31lbHNle2o9cDtpPW99YnJlYWt9
Y2FzZSAxOntnPVVNKGQpfDA7aWYoeSl7aT1jWyhjW2NbZys0Pj4yXT4+Ml18MCkrMjA+PjJdfDA7
Y1tnKzIwPj4yXT0oVE0oZCl8MCkraTtpPTA7bD0tMX1lbHNle3E9VE0oZCl8MDtyPVRNKGQpfDA7
aT1xO2w9KHF8MCk9PTA/bDpyfWc9MDtqPXQ7aT15P3M6KGl8MCk9PTAmMTticmVha31jYXNlIDQ6
e2k9VE0oZCl8MDtqPVRNKGQpfDA7Zz0wO209KGl8MCk+LTE/aTptO2k9czticmVha31jYXNlIDU6
e2c9VU0oZCl8MDtpZih5KXtqPWNbZys0Pj4yXXwwO2NbZysyMD4+Ml09KGNbKGNbais0Pj4yXXww
KSsyMD4+Ml18MCkrKGNbKGNbaj4+Ml18MCkrMjA+PjJdfDApO2c9MDtqPXQ7aT1zfWVsc2V7Zz0w
O2o9dDtpPXN9YnJlYWt9Y2FzZSAyOnt3aGlsZSgxKWlmKChjW2U+PjJdfDApPi0xKWU9ZSs0fDA7
ZWxzZXtnPTA7aj10O2k9czticmVha31icmVha31jYXNlIDM6e2o9VU0oZCl8MDtvPVVNKGQpfDA7
Zz1VTShkKXwwO2U9VE0oZCl8MDtpZih5KXtyPWNbZys0Pj4yXXwwO3M9ZysxNnwwO2NbZysyMD4+
Ml09KGNbKGNbcj4+Ml18MCkrMjA+PjJdfDApK2UrKGNbKGNbcis0Pj4yXXwwKSsyMD4+Ml18MCkr
KChjW3M+PjJdfDApPjA/MjowKTtnPXN9ZWxzZSBnPWcrMTZ8MDtlPVVNKGQpfDA7aT1UTShkKXww
O2s9VE0oZCl8MDtpZigoY1tnPj4yXXwwKT4wKXtpZih5KWc9MDtlbHNle2c9ZU4oYixqLGkpfDA7
Y1soY1t1Pj4yXXwwKSsoaTw8Mik+PjJdPTE7aWYoIWcpZz1lTihiLG8sayl8MDtjWyhjW3U+PjJd
fDApKyhrPDwyKT4+Ml09MX1uPW4rMnwwO2o9dDtpPTF9ZWxzZXtnPTA7aj10O2k9MX1icmVha31k
ZWZhdWx0OntnPTA7aj10O2k9c319d2hpbGUoMCk7aWYoKGd8MCkhPTB8KFFNKGQpfDApPD0oeHww
KSlicmVhayBhO2Vsc2V7dD1qO3M9aX19fXdoaWxlKDApO2lmKCF5PyhkTihlLGYsbSksKGx8MCk+
LTEpOjApe2k9Y1tmKzM2Pj4yXXwwO2U9MDt3aGlsZSgxKXtqPWkrKGU8PDIpfDA7az1lKzF8MDtp
ZigoY1tqPj4yXXwwKT4tMSllPWs7ZWxzZSBicmVha31jW2o+PjJdPW07Y1tpKyhrPDwyKT4+Ml09
bDtjW2krKGUrMjw8Mik+PjJdPS0xO2g9aCsxfDB9Y1tmKzQ4Pj4yXT1uO2NbZis0MD4+Ml09bjtj
W2YrNDQ+PjJdPWg7X0koeik7X0koQSk7X0koQil9d2hpbGUoMCk7cmV0dXJuIGd8MH1mdW5jdGlv
biBKTShhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0w
LGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAs
eD0wLHk9MDt5PWw7bD1sKzE2fDA7dD15KzEyfDA7eD15Kzh8MDt1PXkrNHwwO3Y9eTt3PVFNKGIp
fDA7Y1t0Pj4yXT0wO2NbeD4+Ml09MDtkPVJNKGIsZCl8MDthOmRvIGlmKCFkKXtkPVNNKGIsMCl8
MDtpZighZCl7YjpkbyBpZigoUU0oYil8MCk+KHd8MCkpe2c9MDtpPTA7aj0wO2M6d2hpbGUoMSl7
cT1UTShiKXwwO3I9VU0oYil8MDtkOmRvIHN3aXRjaChxfDApe2Nhc2UgMDp7c3dpdGNoKGNbcj4+
Ml18MCl7Y2FzZSAwOntkPWNbcis0Pj4yXXwwO3I9Y1tkPj4yXXwwO2lmKCEoKHJ8MCk+LTF8KHJ8
MCk9PS00KSl7ZD1qO2JyZWFrIGR9cj1kKzh8MDtkPShjW3I+PjJdfDApK2p8MDtjW3I+PjJdPWQ7
aWYoKGR8MCk8PShjW3g+PjJdfDApKXtkPWo7YnJlYWsgZH1jW3g+PjJdPWQ7ZD1qO2JyZWFrIGR9
Y2FzZSAzOntoPWNbcis0Pj4yXXwwO2Q9Uk0oYixjW2grND4+Ml18MCl8MDtpZihkfDApYnJlYWsg
YjtkPVNNKGIsMCl8MDtpZihkfDApYnJlYWsgYjtkPVJNKGIsY1toPj4yXXwwKXwwO2lmKGR8MCli
cmVhayBiO2JyZWFrfWNhc2UgMTp7aD1jW3IrND4+Ml18MDtkPVJNKGIsY1toKzQ+PjJdfDApfDA7
aWYoZHwwKWJyZWFrIGI7ZD1TTShiLDApfDA7aWYoZHwwKWJyZWFrIGI7ZD1STShiLGNbaD4+Ml18
MCl8MDtpZihkfDApYnJlYWsgYjticmVha31jYXNlIDI6e2g9Y1tyKzQ+PjJdfDA7ZD1TTShiLGop
fDA7aWYoZHwwKWJyZWFrIGI7ZD1STShiLHIpfDA7aWYoZHwwKWJyZWFrIGI7ZD1TTShiLDEpfDA7
aWYoZHwwKWJyZWFrIGI7ZD1STShiLGNbaD4+Ml18MCl8MDtpZihkfDApYnJlYWsgYjtkPVNNKGIs
MCl8MDtpZihkfDApYnJlYWsgYjtpZigoY1toKzQ+PjJdfDApPD0xPyhjW2grOD4+Ml18MCk8PTE6
MClkPWo7ZWxzZXtjW3Q+PjJdPTA7ZD0wfWk9aSsxfDA7YnJlYWsgZH1kZWZhdWx0OntkPWo7YnJl
YWsgZH19ZD1TTShiLDApfDA7aWYoIWQpZD1qO2Vsc2UgYnJlYWsgYjticmVha31jYXNlIDE6e3A9
cis0fDA7bz1jW3A+PjJdfDA7cT1UTShiKXwwO2NbdD4+Ml09cTtuPW8rNHwwO2o9Y1tuPj4yXXww
O2lmKChqfDApPD0xKWlmKChjW28rOD4+Ml18MCk+MSl7Y1t1Pj4yXT0wO2lmKChqfDApPjApcz0z
MDtlbHNle2Q9cTtoPTA7cz0zN319ZWxzZSBkPXE7ZWxzZXtjW3U+PjJdPTA7cz0zMH1lOmRvIGlm
KChzfDApPT0zMCl7ZD0kTShhLGIsY1tvPj4yXXwwLChqfDApPjE/MToyLHQsZix2LHgpfDA7aWYo
IWQpe2g9MDtrPXE7bT0xfWVsc2V7cz0zNDticmVhayBjfXdoaWxlKDEpe2Q9Y1t2Pj4yXXwwO2lm
KCFoKWg9ZDtlbHNlIGg9TE0oYSxoLGQpfDA7aWYoIWgpe2Q9MTI7cz0zNDticmVhayBjfWo9Y1tu
Pj4yXXwwO2lmKChtfDApPj0oanwwKSl7ZD1rO3M9Mzc7YnJlYWsgZX1rPWNbdD4+Ml18MDttPW0r
MXwwO2Q9JE0oYSxiLGNbbz4+Ml18MCwobXwwKTwoanwwKT8xOjIsdCxmLHYseCl8MDtpZihkfDAp
e3M9MzQ7YnJlYWsgY319fXdoaWxlKDApO2lmKChzfDApPT0zNyl7cz0wO249bys4fDA7az1jW24+
PjJdfDA7aWYoKGt8MCk9PS0xKXtrPWNbdD4+Ml18MDtkPSRNKGEsYixjW28+PjJdfDAsMCx0LDAs
dSx4KXwwO2lmKGR8MClicmVhayBjO2o9YU4oYSxjW3U+PjJdfDAsMCwtMSwwKXwwO2NbdT4+Ml09
ajtpZighail7ZD0xMjticmVhayBjfWVsc2UgZD1rfWVsc2UgaWYoKGp8MCk8KGt8MCkpe2s9ajtq
PTA7d2hpbGUoMSl7bT1jW3Q+PjJdfDA7ZD0kTShhLGIsY1tvPj4yXXwwLDAsdCwwLHYseCl8MDtp
ZihkfDApe3M9NDk7YnJlYWsgY31pZighail7ZD1jW3Y+PjJdfDA7Y1t1Pj4yXT1kfWVsc2V7ZD1M
TShhLGNbdj4+Ml18MCxqKXwwO2NbdT4+Ml09ZH1pZighZCl7ZD0xMjtzPTQ5O2JyZWFrIGN9aj1L
TShhLC0xLC0xLC0xKXwwO2lmKCFqKXtkPTEyO3M9NDk7YnJlYWsgY31qPWJOKGEsaixkKXwwO2Nb
dT4+Ml09ajtpZighail7ZD0xMjtzPTQ5O2JyZWFrIGN9az1rKzF8MDtpZigoa3wwKT49KGNbbj4+
Ml18MCkpe2Q9bTticmVha319fWVsc2Ugaj0wO2NbdD4+Ml09ZDtpZihoKXtpZihqKXtoPUxNKGEs
aCxqKXwwO3M9NTR9fWVsc2V7aD1qO3M9NTR9aWYoKHN8MCk9PTU0KXtzPTA7aWYoIWgpe2Q9MTI7
YnJlYWsgY319Y1twPj4yXT1jW2grND4+Ml07Y1tyPj4yXT1jW2g+PjJdfWk9aSstMXwwO2g9ZC1x
K2d8MDtpZighaSl7Y1t0Pj4yXT1oO2c9aDtpPTA7ZD1ofWVsc2UgZz1oO2JyZWFrfWRlZmF1bHQ6
ZD1qfXdoaWxlKDApO2lmKChRTShiKXwwKT4od3wwKSlqPWQ7ZWxzZXtkPTA7YnJlYWsgYn19YnJl
YWsgYX1lbHNle2Q9MDtnPTB9d2hpbGUoMCk7dz0oY1tlPj4yXXwwKStnfDA7eD1jW3g+PjJdfDA7
Y1tlPj4yXT0oeHwwKT4od3wwKT94Ond9fXdoaWxlKDApO2w9eTtyZXR1cm4gZHwwfWZ1bmN0aW9u
IEtNKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTA7Zj1ETShhLDAsMCwx
LDIwKXwwO2E9X00oYSwwLGYpfDA7aWYoIWEpYT0wO2Vsc2V7Y1tmPj4yXT1iO2NbZis0Pj4yXT1k
O2NbZis4Pj4yXT1lfXJldHVybiBhfDB9ZnVuY3Rpb24gTE0oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9
ZHwwO3ZhciBlPTA7aWYoYil7ZT1ETShhLDAsMCwxLDgpfDA7YT1fTShhLDEsZSl8MDtpZighYSlk
PTA7ZWxzZXtjW2U+PjJdPWI7Y1tlKzQ+PjJdPWQ7Y1thKzE2Pj4yXT0oY1tkKzE2Pj4yXXwwKSso
Y1tiKzE2Pj4yXXwwKTtkPWF9fXJldHVybiBkfDB9ZnVuY3Rpb24gTU0oYSxiLGQpe2E9YXwwO2I9
YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTA7bz1s
O2w9bCsxNnwwO2o9bys0fDA7az1vO209UU0oYil8MDtkPVJNKGIsZCl8MDthOmRvIGlmKCFkKXtk
PVNNKGIsMCl8MDtpZighZClpZigoUU0oYil8MCk+KG18MCkpe2I6d2hpbGUoMSl7aD1UTShiKXww
O2k9VU0oYil8MDtjOmRvIHN3aXRjaChofDApe2Nhc2UgMDpzd2l0Y2goY1tpPj4yXXwwKXtjYXNl
IDA6e2c9Y1tpKzQ+PjJdfDA7Zj1jW2c+PjJdfDA7aWYoKGZ8MCk9PS00KXtjW2krOD4+Ml09MDtk
PWcrOHwwO2g9Vk0oYSxjW2Q+PjJdfDAsMCwxMTE0MTExLDAsMCwtMSl8MDtjW2krMjQ+PjJdPWg7
aWYoIWgpe2Q9MTI7YnJlYWsgYX1oPVZNKGEsY1tkPj4yXXwwLDAsMTExNDExMSwwLDAsY1tnKzQ+
PjJdfDApfDA7Y1tpKzI4Pj4yXT1oO2lmKCFoKXtkPTEyO2JyZWFrIGF9ZWxzZSBicmVhayBjfWQ9
aSs4fDA7aWYoKGZ8MCk8MCl7Y1tkPj4yXT0xO2g9V00oYSl8MDtjW2krMjQ+PjJdPWg7aWYoIWgp
e2Q9MTI7YnJlYWsgYX1oPVdNKGEpfDA7Y1tpKzI4Pj4yXT1oO2lmKCFoKXtkPTEyO2JyZWFrIGF9
ZWxzZSBicmVhayBjfWVsc2V7Y1tkPj4yXT0wO2Q9Zys4fDA7ZT1nKzR8MDtoPVZNKGEsY1tkPj4y
XXwwLGYsY1tlPj4yXXwwLDAsMCwtMSl8MDtjW2krMjQ+PjJdPWg7aWYoIWgpe2Q9MTI7YnJlYWsg
YX1oPVZNKGEsY1tkPj4yXXwwLGNbZz4+Ml18MCxjW2U+PjJdfDAsY1tnKzEyPj4yXXwwLGNbZysx
Nj4+Ml18MCwtMSl8MDtjW2krMjg+PjJdPWg7aWYoIWgpe2Q9MTI7YnJlYWsgYX1lbHNlIGJyZWFr
IGN9fWNhc2UgMzp7ZD1STShiLGkpfDA7aWYoZHwwKWJyZWFrIGE7ZD1TTShiLDEpfDA7aWYoZHww
KWJyZWFrIGE7ZT1pKzR8MDtkPVJNKGIsY1soY1tlPj4yXXwwKSs0Pj4yXXwwKXwwO2lmKGR8MCli
cmVhayBhO2Q9U00oYiwwKXwwO2lmKGR8MClicmVhayBhO2Q9Uk0oYixjW2NbZT4+Ml0+PjJdfDAp
fDA7aWYoZHwwKWJyZWFrIGE7ZD1TTShiLDApfDA7aWYoIWQpYnJlYWsgYztlbHNlIGJyZWFrIGF9
Y2FzZSAxOntkPVJNKGIsaSl8MDtpZihkfDApYnJlYWsgYTtkPVNNKGIsMil8MDtpZihkfDApYnJl
YWsgYTtlPWkrNHwwO2Q9Uk0oYixjWyhjW2U+PjJdfDApKzQ+PjJdfDApfDA7aWYoZHwwKWJyZWFr
IGE7ZD1TTShiLDApfDA7aWYoZHwwKWJyZWFrIGE7ZD1STShiLGNbY1tlPj4yXT4+Ml18MCl8MDtp
ZihkfDApYnJlYWsgYTtkPVNNKGIsMCl8MDtpZighZClicmVhayBjO2Vsc2UgYnJlYWsgYX1jYXNl
IDI6e2Q9Uk0oYixpKXwwO2lmKGR8MClicmVhayBhO2Q9U00oYiwzKXwwO2lmKGR8MClicmVhayBh
O2Q9Uk0oYixjW2NbaSs0Pj4yXT4+Ml18MCl8MDtpZihkfDApYnJlYWsgYTtkPVNNKGIsMCl8MDtp
ZighZClicmVhayBjO2Vsc2UgYnJlYWsgYX1kZWZhdWx0OmJyZWFrIGN9Y2FzZSAxOntkPWNbaSs0
Pj4yXXwwO2U9Y1tkPj4yXXwwO2Y9ZCs0fDA7Zz1jW2Y+PjJdfDA7aWYoIShjW2UrOD4+Ml18MCkp
aD0oY1tnKzg+PjJdfDApIT0wO2Vsc2UgaD0xO2NbaSs4Pj4yXT1oJjE7aD1YTShhLGNbZSsyND4+
Ml18MCxjW2crMjQ+PjJdfDAsMCwwKXwwO2NbaSsyND4+Ml09aDtpZighaCl7ZD0xMjticmVhayBh
fWg9WE0oYSxjWyhjW2Q+PjJdfDApKzI4Pj4yXXwwLGNbKGNbZj4+Ml18MCkrMjg+PjJdfDAsMCww
KXwwO2NbaSsyOD4+Ml09aDtpZighaCl7ZD0xMjticmVhayBhfWJyZWFrfWNhc2UgMzp7aD1jW2kr
ND4+Ml18MDtkPWNbaD4+Ml18MDtpZighKGNbaCs0Pj4yXXwwKSllPTE7ZWxzZSBlPShjW2QrOD4+
Ml18MCkhPTAmMTtjW2krOD4+Ml09ZTtjW2krMjQ+PjJdPWNbZCsyND4+Ml07Y1tpKzI4Pj4yXT1j
W2QrMjg+PjJdO2JyZWFrfWNhc2UgMjp7Zz1jW2krND4+Ml18MDtkPWNbZz4+Ml18MDtlPWQrOHww
O2lmKCEoY1tlPj4yXXwwKSlmPTA7ZWxzZSBmPShjWyhjW2crND4+Ml18MCkrOD4+Ml18MCkhPTA7
Y1tpKzg+PjJdPWYmMTtpZihjW2U+PjJdfDApe2Q9WU0oYixkLDAsMCxqKXwwO2lmKGR8MClicmVh
ayBiO2U9WkkoKGNbaj4+Ml08PDIpKzR8MCl8MDtpZighZSl7ZD0xMjticmVhayBifWNbZT4+Ml09
LTE7Y1trPj4yXT0wO2Q9WU0oYixjW2c+PjJdfDAsZSxrLDApfDA7aWYoZHwwKXtuPTQ1O2JyZWFr
IGJ9ZD1nKzR8MDtoPWkrMjR8MDtjW2g+PjJdPVhNKGEsY1soY1tkPj4yXXwwKSsyND4+Ml18MCxj
WyhjW2c+PjJdfDApKzI0Pj4yXXwwLGUsY1trPj4yXXwwKXwwO19JKGUpO2lmKCEoY1toPj4yXXww
KSl7ZD0xMjticmVhayBifWVsc2UgZj1kfWVsc2V7Y1tpKzI0Pj4yXT1jW2QrMjQ+PjJdO2Y9Zys0
fDB9ZD1jW2Y+PjJdfDA7aWYoY1tkKzg+PjJdfDApe2Q9WU0oYixkLDAsMCxqKXwwO2lmKGR8MCli
cmVhayBiO2U9WkkoKGNbaj4+Ml08PDIpKzR8MCl8MDtpZighZSl7ZD0xMjticmVhayBifWNbZT4+
Ml09LTE7Y1trPj4yXT0wO2Q9WU0oYixjW2Y+PjJdfDAsZSxrLDApfDA7aWYoZHwwKXtuPTUyO2Jy
ZWFrIGJ9aT1pKzI4fDA7Y1tpPj4yXT1YTShhLGNbKGNbZz4+Ml18MCkrMjg+PjJdfDAsY1soY1tm
Pj4yXXwwKSsyOD4+Ml18MCxlLGNbaz4+Ml18MCl8MDtfSShlKTtpZighKGNbaT4+Ml18MCkpe2Q9
MTI7YnJlYWsgYn19ZWxzZSBjW2krMjg+PjJdPWNbZCsyOD4+Ml07YnJlYWt9ZGVmYXVsdDp7fX13
aGlsZSgwKTtpZigoUU0oYil8MCk8PShtfDApKXtkPTA7YnJlYWsgYX19aWYoKG58MCk9PTQ1KV9J
KGUpO2Vsc2UgaWYoKG58MCk9PTUyKV9JKGUpfWVsc2UgZD0wfXdoaWxlKDApO2w9bztyZXR1cm4g
ZHwwfWZ1bmN0aW9uIE5NKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAs
Zz0wLGg9MDthOndoaWxlKDEpe3N3aXRjaChjW2E+PjJdfDApe2Nhc2UgMjp7YT1jW2ErND4+Ml18
MDtpZigoY1thKzg+PjJdfDApPT0tMT8oaD1jW2E+PjJdfDAsaD1QTShjW2grMjg+PjJdfDAsY1to
KzI0Pj4yXXwwLGIsZCxlKXwwLChofDApIT0wKTowKXthPWg7YnJlYWsgYX1icmVha31jYXNlIDM6
e2Y9Y1thKzQ+PjJdfDA7YT1OTShjW2Y+PjJdfDAsYixkLGUpfDA7aWYoYXwwKWJyZWFrIGE7YT1m
KzR8MDticmVha31jYXNlIDE6e2Y9Y1thKzQ+PjJdfDA7Zz1mKzR8MDthPVBNKGNbKGNbZj4+Ml18
MCkrMjg+PjJdfDAsY1soY1tnPj4yXXwwKSsyND4+Ml18MCxiLGQsZSl8MDtpZihhfDApYnJlYWsg
YTthPU5NKGNbZj4+Ml18MCxiLGQsZSl8MDtpZighYSlhPWc7ZWxzZSBicmVhayBhO2JyZWFrfWRl
ZmF1bHQ6e2E9MDticmVhayBhfX1hPWNbYT4+Ml18MH1yZXR1cm4gYXwwfWZ1bmN0aW9uIE9NKGEp
e2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTAsZz0wLGg9MDtoPWNbYSs0Pj4yXXwwO2lmKGh8MCl7
ZT1oKzR8MDthPWNbaD4+Ml18MDtpZihjW2U+PjJdfDApe2Q9MDtkb3tpZihjW2ErKGQ8PDUpKzg+
PjJdfDApe2I9Y1thKyhkPDw1KSsxNj4+Ml18MDtpZihiKXtfSShiKTthPWNbaD4+Ml18MH1iPWNb
YSsoZDw8NSkrMjg+PjJdfDA7aWYoYil7X0koYik7YT1jW2g+PjJdfDB9fWQ9ZCsxfDB9d2hpbGUo
ZD4+PjA8KGNbZT4+Ml18MCk+Pj4wKX1pZihhfDApX0koYSk7ZD1oKzh8MDthPWNbZD4+Ml18MDtp
ZihhfDApe2lmKGNbYSs4Pj4yXXwwKXt3aGlsZSgxKXtiPWNbYSsxNj4+Ml18MDtpZihifDApX0ko
Yik7aWYoIShjW2ErNDA+PjJdfDApKWJyZWFrO2Vsc2UgYT1hKzMyfDB9YT1jW2Q+PjJdfDB9X0ko
YSl9Zj1oKzE2fDA7YT1jW2Y+PjJdfDA7aWYoYXwwKXtnPWgrMjh8MDtiPWNbZz4+Ml18MDtpZihi
KXtlPTA7ZG97ZD1jW2ErKGUqMTJ8MCkrOD4+Ml18MDtpZihkKXtfSShkKTtiPWNbZz4+Ml18MDth
PWNbZj4+Ml18MH1lPWUrMXwwfXdoaWxlKGU+Pj4wPGI+Pj4wKX1fSShhKX1hPWNbaCszMj4+Ml18
MDtpZihhfDApX0koYSk7YT1jW2grMjA+PjJdfDA7aWYoYXwwKV9JKGEpO2E9Y1toKzM2Pj4yXXww
O2lmKGF8MClfSShhKTtfSShoKX1yZXR1cm59ZnVuY3Rpb24gUE0oYSxiLGQsZSxmKXthPWF8MDti
PWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49
MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wO2c9Y1thPj4yXXww
O2g9KGd8MCk+LTE7YTpkbyBpZighZClpZihoKXtoPWIrMzJ8MDtkb3tpZigoY1tiPj4yXXwwKT4t
MT8oeT1lKyhnPDwyKXwwLGNbeT4+Ml09KGNbeT4+Ml18MCkrMSwoY1toPj4yXXwwKT4tMSk6MCl7
Zz1oO2Rve3k9ZSsoY1thPj4yXTw8Mil8MDtjW3k+PjJdPShjW3k+PjJdfDApKzE7Zz1nKzMyfDB9
d2hpbGUoKGNbZz4+Ml18MCk+LTEpfWE9YSszMnwwO2c9Y1thPj4yXXwwfXdoaWxlKChnfDApPi0x
KTtnPTB9ZWxzZSBnPTA7ZWxzZSBpZihoKXdoaWxlKDEpe2g9Y1tiPj4yXXwwO2I6ZG8gaWYoKGh8
MCk+LTEpe3A9YSs0fDA7cT1hKzh8MDtyPWErMTZ8MDtzPWErMjB8MDt0PWErMjR8MDt1PWErMjh8
MDt2PWErMTJ8MDtlPS0xO2c9Yjt3aGlsZSgxKXtvPWg7d2hpbGUoMSl7aWYoKG98MCkhPShlfDAp
KWJyZWFrO2c9ZyszMnwwO2g9Y1tnPj4yXXwwO2lmKChofDApPi0xKW89aDtlbHNlIGJyZWFrIGJ9
bD1kKyhjW2YrKGNbYT4+Ml08PDIpPj4yXTw8NSl8MDt3aGlsZSgxKXtoPWwrOHwwO2lmKCEoY1to
Pj4yXXwwKSlicmVhaztlbHNlIGw9bCszMnwwfWNbbCs0MD4+Ml09MDtjW2w+PjJdPWNbcD4+Ml07
Y1tsKzQ+PjJdPWNbcT4+Ml07Y1toPj4yXT1kKyhjW2YrKG88PDIpPj4yXTw8NSk7Y1tsKzEyPj4y
XT1vO2g9Y1tzPj4yXXwwO2U9Y1tnKzE2Pj4yXXxjW3I+PjJdfChofDA/NDowKXwoY1t0Pj4yXXww
Pzg6MCk7aT1sKzIwfDA7Y1tpPj4yXT1lO2o9Y1t1Pj4yXXwwO2lmKChqfDApPi0xKXtjW2k+PjJd
PWV8MjU2O2g9an1jW2wrMjQ+PjJdPWg7ZT1jW3Q+PjJdfDA7aWYoIWUpY1tsKzI4Pj4yXT0wO2Vs
c2V7aD0wO2Rve249aDtoPWgrMXwwfXdoaWxlKChjW2UrKG48PDIpPj4yXXwwKSE9MCk7aD1aSSho
PDwyKXwwO2NbbCsyOD4+Ml09aDtpZighaCl7Zz0xMjticmVhayBhfWs9Y1t0Pj4yXXwwO2U9Y1tr
Pj4yXXwwO2lmKGUpe2o9MDtpPWg7ZG97Y1tpPj4yXT1lO2o9aisxfDA7ZT1jW2srKGo8PDIpPj4y
XXwwO2k9aCsoajw8Mil8MH13aGlsZSgoZXwwKSE9MCk7aD1pfWNbaD4+Ml09MH1lPWNbdj4+Ml18
MDtpZighZSloPTA7ZWxzZXtoPTA7d2hpbGUoMSlpZigoY1tlKyhoPDwyKT4+Ml18MCk+LTEpaD1o
KzF8MDtlbHNlIGJyZWFrfWs9ZysxMnwwO2k9Y1trPj4yXXwwO2lmKCFpKWU9MDtlbHNle2U9MDt3
aGlsZSgxKWlmKChjW2krKGU8PDIpPj4yXXwwKT4tMSllPWUrMXwwO2Vsc2UgYnJlYWt9aj1sKzE2
fDA7aT1jW2o+PjJdfDA7aWYoaXwwKV9JKGkpO2Nbaj4+Ml09MDtoPWUraHwwO2lmKChofDApPjAp
e249WkkoKGg8PDIpKzR8MCl8MDtjW2o+PjJdPW47aWYoIW4pe2c9MTI7YnJlYWsgYX1lPWNbdj4+
Ml18MDtpZigoZXwwKSE9MD8odz1jW2U+PjJdfDAsKHd8MCk+LTEpOjApe2g9MDtpPXc7ZG97Y1tu
KyhoPDwyKT4+Ml09aTtoPWgrMXwwO2k9Y1tlKyhoPDwyKT4+Ml18MH13aGlsZSgoaXwwKT4tMSk7
bT1ofWVsc2UgbT0wO2o9Y1trPj4yXXwwO2lmKChqfDApIT0wPyh4PWNbaj4+Ml18MCwoeHwwKT4t
MSk6MCl7az0obXwwKT4wO2g9bTtpPTA7bD14O2Rve2M6ZG8gaWYoayl7ZT0wO3doaWxlKDEpe2lm
KChjW24rKGU8PDIpPj4yXXwwKT09KGx8MCkpYnJlYWsgYztlPWUrMXwwO2lmKChlfDApPj0obXww
KSl7eT0zOTticmVha319fWVsc2UgeT0zOTt3aGlsZSgwKTtpZigoeXwwKT09Mzkpe3k9MDtjW24r
KGg8PDIpPj4yXT1sO2g9aCsxfDB9aT1pKzF8MDtsPWNbaisoaTw8Mik+PjJdfDB9d2hpbGUoKGx8
MCk+LTEpfWVsc2UgaD1tO2NbbisoaDw8Mik+PjJdPS0xfWc9ZyszMnwwO2g9Y1tnPj4yXXwwO2lm
KChofDApPD0tMSlicmVhaztlbHNlIGU9b319d2hpbGUoMCk7YT1hKzMyfDA7aWYoKGNbYT4+Ml18
MCk8PS0xKXtnPTA7YnJlYWt9fWVsc2UgZz0wO3doaWxlKDApO3JldHVybiBnfDB9ZnVuY3Rpb24g
UU0oYSl7YT1hfDA7cmV0dXJuIGNbYSsxMj4+Ml18MH1mdW5jdGlvbiBSTShhLGIpe2E9YXwwO2I9
YnwwO3ZhciBkPTAsZT0wLGY9MDtkPWw7bD1sKzE2fDA7ZT1kKzR8MDtmPWQ7Y1tmPj4yXT1iO2Nb
ZT4+Ml09Y1tmPj4yXTtiPVpNKGEsZSl8MDtsPWQ7cmV0dXJuIGJ8MH1mdW5jdGlvbiBTTShhLGIp
e2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MDtkPWw7bD1sKzE2fDA7ZT1kKzR8MDtmPWQ7Y1tm
Pj4yXT1iO2NbZT4+Ml09Y1tmPj4yXTtiPVpNKGEsZSl8MDtsPWQ7cmV0dXJuIGJ8MH1mdW5jdGlv
biBUTShhKXthPWF8MDt2YXIgYj0wLGQ9MDtiPWNbYSsxNj4+Ml18MDtkPWErMTJ8MDthPShjW2Q+
PjJdfDApKy0xfDA7Y1tkPj4yXT1hO3JldHVybiBjW2IrKGE8PDIpPj4yXXwwfWZ1bmN0aW9uIFVN
KGEpe2E9YXwwO3ZhciBiPTAsZD0wO2I9Y1thKzE2Pj4yXXwwO2Q9YSsxMnwwO2E9KGNbZD4+Ml18
MCkrLTF8MDtjW2Q+PjJdPWE7cmV0dXJuIGNbYisoYTw8Mik+PjJdfDB9ZnVuY3Rpb24gVk0oYSxi
LGQsZSxmLGcsaCl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7YT1E
TShhLDAsMCwxLDY0KXwwO2lmKCFhKWE9MDtlbHNle2NbYT4+Ml09YjtjW2ErND4+Ml09ZDtjW2Er
OD4+Ml09ZTtjW2ErMjA+PjJdPWY7Y1thKzI0Pj4yXT1nO2NbYSsyOD4+Ml09aDtjW2ErMzI+PjJd
PS0xO2NbYSszNj4+Ml09LTE7Y1thKzQwPj4yXT0tMX1yZXR1cm4gYXwwfWZ1bmN0aW9uIFdNKGEp
e2E9YXwwO2E9RE0oYSwwLDAsMSwzMil8MDtpZighYSlhPTA7ZWxzZXtjW2E+PjJdPS0xO2NbYSs0
Pj4yXT0tMTtjW2ErOD4+Ml09LTF9cmV0dXJuIGF8MH1mdW5jdGlvbiBYTShhLGIsZCxlLGYpe2E9
YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxt
PTAsbj0wLG89MDtvPShlfDApPT0wO2lmKG8pbj0wO2Vsc2V7Zz0wO3doaWxlKDEpaWYoKGNbZSso
Zzw8Mik+PjJdfDApPi0xKWc9ZysxfDA7ZWxzZXtuPWc7YnJlYWt9fWg9MDt3aGlsZSgxKWlmKChj
W2IrKGg8PDUpPj4yXXwwKT4tMSloPWgrMXwwO2Vsc2V7Zz0wO2JyZWFrfXdoaWxlKDEpaWYoKGNb
ZCsoZzw8NSk+PjJdfDApPi0xKWc9ZysxfDA7ZWxzZSBicmVhaztnPURNKGEsMCwwLDEsKGcraDw8
NSkrMzJ8MCl8MDthOmRvIGlmKCFnKWc9MDtlbHNle2g9Y1tiPj4yXXwwO2lmKChofDApPi0xKXtt
PShufDApPjA7aT0wO3doaWxlKDEpe2NbZysoaTw8NSk+PjJdPWg7Y1tnKyhpPDw1KSs0Pj4yXT1j
W2IrKGk8PDUpKzQ+PjJdO2NbZysoaTw8NSkrOD4+Ml09Y1tiKyhpPDw1KSs4Pj4yXTtjW2crKGk8
PDUpKzE2Pj4yXT1jW2IrKGk8PDUpKzE2Pj4yXXxmO2NbZysoaTw8NSkrMjA+PjJdPWNbYisoaTw8
NSkrMjA+PjJdO2NbZysoaTw8NSkrMjQ+PjJdPWNbYisoaTw8NSkrMjQ+PjJdO2NbZysoaTw8NSkr
Mjg+PjJdPWNbYisoaTw8NSkrMjg+PjJdO2w9YisoaTw8NSkrMTJ8MDtqPWNbbD4+Ml18MDtoPShq
fDApPT0wO2lmKG8maCloPTA7ZWxzZXtpZihoKWs9MDtlbHNle2g9MDt3aGlsZSgxKWlmKChjW2or
KGg8PDIpPj4yXXwwKT4tMSloPWgrMXwwO2Vsc2V7az1oO2JyZWFrfX1oPURNKGEsMCwwLDAsKGsr
bjw8MikrNHwwKXwwO2lmKCFoKXtnPTA7YnJlYWsgYX1pZigoa3wwKT4wKXtsPWNbbD4+Ml18MDtq
PTA7ZG97Y1toKyhqPDwyKT4+Ml09Y1tsKyhqPDwyKT4+Ml07aj1qKzF8MH13aGlsZSgoanwwKSE9
KGt8MCkpfWVsc2Ugaz0wO2lmKG0pe2o9MDtkb3tjW2grKGorazw8Mik+PjJdPWNbZSsoajw8Mik+
PjJdO2o9aisxfDB9d2hpbGUoKGp8MCkhPShufDApKTtqPW59ZWxzZSBqPTA7Y1toKyhqK2s8PDIp
Pj4yXT0tMX1jW2crKGk8PDUpKzEyPj4yXT1oO2k9aSsxfDA7aD1jW2IrKGk8PDUpPj4yXXwwO2lm
KChofDApPD0tMSl7bj1pO2JyZWFrfX19ZWxzZSBuPTA7aT1jW2Q+PjJdfDA7aD1nKyhuPDw1KXww
O2lmKChpfDApPi0xKXttPTA7bD1uO2Rve2NbaD4+Ml09aTtjW2crKGw8PDUpKzQ+PjJdPWNbZCso
bTw8NSkrND4+Ml07Y1tnKyhsPDw1KSs4Pj4yXT1jW2QrKG08PDUpKzg+PjJdO2NbZysobDw8NSkr
MTY+PjJdPWNbZCsobTw8NSkrMTY+PjJdO2NbZysobDw8NSkrMjA+PjJdPWNbZCsobTw8NSkrMjA+
PjJdO2NbZysobDw8NSkrMjQ+PjJdPWNbZCsobTw8NSkrMjQ+PjJdO2NbZysobDw8NSkrMjg+PjJd
PWNbZCsobTw8NSkrMjg+PjJdO2o9ZCsobTw8NSkrMTJ8MDtoPWNbaj4+Ml18MDtpZighaCloPTA7
ZWxzZXtpPTA7d2hpbGUoMSlpZigoY1toKyhpPDwyKT4+Ml18MCk+LTEpaT1pKzF8MDtlbHNlIGJy
ZWFrO2g9RE0oYSwwLDAsMCwoaTw8MikrNHwwKXwwO2lmKCFoKXtnPTA7YnJlYWsgYX1pZigoaXww
KT4wKXtrPWNbaj4+Ml18MDtqPTA7ZG97Y1toKyhqPDwyKT4+Ml09Y1trKyhqPDwyKT4+Ml07aj1q
KzF8MH13aGlsZSgoanwwKSE9KGl8MCkpfWVsc2UgaT0wO2NbaCsoaTw8Mik+PjJdPS0xfWNbZyso
bDw8NSkrMTI+PjJdPWg7bT1tKzF8MDtpPWNbZCsobTw8NSk+PjJdfDA7bD1tK258MDtoPWcrKGw8
PDUpfDB9d2hpbGUoKGl8MCk+LTEpfWNbaD4+Ml09LTF9d2hpbGUoMCk7cmV0dXJuIGd8MH1mdW5j
dGlvbiBZTShhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAs
aD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTA7bz1RTShhKXwwO3A9KGZ8MCkhPTA7
aWYocCljW2Y+PjJdPTA7Yj1STShhLGIpfDA7YTpkbyBpZighYil7bT0oZHwwKT09MDtsPShlfDAp
PT0wO2lmKChRTShhKXwwKT4ob3wwKSl3aGlsZSgxKXtiPVVNKGEpfDA7YjpkbyBzd2l0Y2goY1ti
Pj4yXXwwKXtjYXNlIDA6e2I9Y1tiKzQ+PjJdfDA7c3dpdGNoKGNbYj4+Ml18MCl7Y2FzZSAtMzpi
cmVhaztjYXNlIC0yOntpZihsKWJyZWFrIGI7Y1tlPj4yXT1jW2U+PjJdfGNbYis0Pj4yXTticmVh
ayBifWRlZmF1bHQ6YnJlYWsgYn1oPWNbYis0Pj4yXXwwO2lmKChofDApPi0xKXtjOmRvIGlmKCFt
KXtiPTA7d2hpbGUoMSl7aT1kKyhiPDwyKXwwO2o9Y1tpPj4yXXwwO2lmKChqfDApPD0tMSlicmVh
aztpZigoanwwKT09KGh8MCkpYnJlYWsgYztlbHNlIGI9YisxfDB9Y1tpPj4yXT1oO2NbZCsoYisx
PDwyKT4+Ml09LTF9d2hpbGUoMCk7aWYocCljW2Y+PjJdPShjW2Y+PjJdfDApKzF9YnJlYWt9Y2Fz
ZSAzOntiPWNbYis0Pj4yXXwwO2g9Y1tiPj4yXXwwO2lmKGNbaCs4Pj4yXXwwKXtrPWg7bj02O2Jy
ZWFrIGJ9Yj1jW2IrND4+Ml18MDtpZihjW2IrOD4+Ml18MCl7az1iO249Nn1icmVha31jYXNlIDE6
e2I9Y1tiKzQ+PjJdfDA7aD1STShhLGNbYj4+Ml18MCl8MDtpZihofDApe2c9aDticmVhayBhfWs9
Y1tiKzQ+PjJdfDA7bj02O2JyZWFrfWNhc2UgMjp7Yj1jW2NbYis0Pj4yXT4+Ml18MDtpZihjW2Ir
OD4+Ml18MCl7az1iO249Nn1icmVha31kZWZhdWx0Ont9fXdoaWxlKDApO2lmKChufDApPT02Pyhu
PTAsZz1STShhLGspfDAsZ3wwKTowKWJyZWFrIGE7aWYoKFFNKGEpfDApPD0ob3wwKSl7Zz0wO2Jy
ZWFrIGF9fWVsc2UgZz0wfWVsc2UgZz1iO3doaWxlKDApO3JldHVybiBnfDB9ZnVuY3Rpb24gWk0o
YSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtrPWw7
bD1sKzE2fDA7Zz1rO2Q9YSsxMnwwO2U9Y1tkPj4yXXwwO2o9Y1thPj4yXXwwO2lmKChlfDApPj0o
anwwKSl7ZD1jW2ErND4+Ml18MDtpZigoanwwKTwoZHwwKT8oZj0oY1thKzg+PjJdfDApK2p8MCxm
PShmfDApPihkfDApP2Q6ZixoPWErMTZ8MCxpPWFKKGNbaD4+Ml18MCxmPDwyKXwwLChpfDApIT0w
KTowKXtjW2E+PjJdPWY7Y1toPj4yXT1pO2NbZz4+Ml09Y1tiPj4yXTtaTShhLGcpfDA7ZD0wfWVs
c2UgZD0xMn1lbHNle2NbKGNbYSsxNj4+Ml18MCkrKGU8PDIpPj4yXT1jW2I+PjJdO2NbZD4+Ml09
KGNbZD4+Ml18MCkrMTtkPTB9bD1rO3JldHVybiBkfDB9ZnVuY3Rpb24gX00oYSxiLGQpe2E9YXww
O2I9YnwwO2Q9ZHwwO2E9RE0oYSwwLDAsMSwzMil8MDtpZigoZHwwKSE9MCYoYXwwKSE9MCl7Y1th
KzQ+PjJdPWQ7Y1thPj4yXT1iO2NbYSs4Pj4yXT0tMTtjW2ErMTI+PjJdPS0xfWVsc2UgYT0wO3Jl
dHVybiBhfDB9ZnVuY3Rpb24gJE0oYixkLGUsZixnLGgsaSxqKXtiPWJ8MDtkPWR8MDtlPWV8MDtm
PWZ8MDtnPWd8MDtoPWh8MDtpPWl8MDtqPWp8MDt2YXIgaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAs
cT0wLHI9MDtyPVFNKGQpfDA7Uk0oZCxlKXwwO2U9U00oZCwwKXwwO2E6ZG8gaWYoIWUpe3E9KGYm
MXwwKT09MDtwPShmJjJ8MCkhPTA7bz0wO2w9MTtlPWk7d2hpbGUoMSl7aWYoKFFNKGQpfDApPihy
fDApKW49ZTtlbHNle2Y9bztlPTA7YnJlYWsgYX1iOndoaWxlKDEpe2M6d2hpbGUoMSl7c3dpdGNo
KFRNKGQpfDApe2Nhc2UgMTp7aT03O2JyZWFrIGN9Y2FzZSAwOntlPVVNKGQpfDA7c3dpdGNoKGNb
ZT4+Ml18MCl7Y2FzZSAwOntpPTk7YnJlYWsgYn1jYXNlIDM6e2k9MTk7YnJlYWsgYn1jYXNlIDE6
e2k9MjY7YnJlYWsgYn1jYXNlIDI6e2k9MzM7YnJlYWsgY31kZWZhdWx0Ont9fWJyZWFrfWRlZmF1
bHQ6e319aWYoKFFNKGQpfDApPD0ocnwwKSl7Zj1vO2U9MDticmVhayBhfX1pZigoaXwwKT09Nyll
PVVNKGQpfDA7ZWxzZSBpZigoaXwwKT09MzMpe2Y9Y1tlKzQ+PjJdfDA7ZT1STShkLGNbZj4+Ml18
MCl8MDtpZihlfDApe2Y9bzticmVhayBhfWU9U00oZCwwKXwwO2lmKGV8MCl7Zj1vO2JyZWFrIGF9
ZT1hTihiLGNbZj4+Ml18MCxjW2YrND4+Ml18MCxjW2YrOD4+Ml18MCxhW2YrMTI+PjBdJjEpfDA7
Y1tuPj4yXT1lO2lmKCFlKXtmPW87ZT0xMjticmVhayBhfWU9Y1tlKzQ+PjJdfDB9aWYoKFFNKGQp
fDApPihyfDApKW49ZTtlbHNle2Y9bztlPTA7YnJlYWsgYX19aWYoKGl8MCk9PTkpe209Y1tlKzQ+
PjJdfDA7aT1jW20rOD4+Ml18MDtmPWNbbT4+Ml18MDtlPWNbbSs0Pj4yXXwwO2lmKCEoKGZ8MCk+
LTF8KGZ8MCk9PS00KSlpZihxfChmfDApIT0tMylpZigoZnwwKT09LTMpaWYocCYobHwwKSE9MCl7
Y1toKyhlPDwyKT4+Ml09MTtmPS0zO2s9bztsPTB9ZWxzZXtmPS0zO2s9b31lbHNlIGs9bztlbHNl
e2U9LTE7Zj0tMTtpPS0xO2s9b31lbHNle2k9KGNbZz4+Ml18MCkraXwwO2s9bysxfDB9ZT1LTShi
LGYsZSxpKXwwO2Nbbj4+Ml09ZTtpZighZSllPTEyO2Vsc2V7ZT1jW2UrND4+Ml18MDtjW2UrMTI+
PjJdPWNbbSsxMj4+Ml07Y1tlKzE2Pj4yXT1jW20rMTY+PjJdO2U9MH1pZigoaXwwKT4oY1tqPj4y
XXwwKSl7Y1tqPj4yXT1pO2Y9bn1lbHNlIGY9bn1lbHNlIGlmKChpfDApPT0xOSl7aT1jW2UrND4+
Ml18MDtmPWkrNHwwO2U9Yk4oYixjW2k+PjJdfDAsY1tmPj4yXXwwKXwwO2Nbbj4+Ml09ZTtpZigh
ZSl7Zj1vO2U9MTI7YnJlYWsgYX1tPWNbZSs0Pj4yXXwwO2U9Uk0oZCxjW2Y+PjJdfDApfDA7aWYo
ZXwwKXtmPW87YnJlYWsgYX1lPVNNKGQsMCl8MDtpZihlfDApe2Y9bzticmVhayBhfWU9Uk0oZCxt
KzR8MCl8MDtpZihlfDApe2Y9bzticmVhayBhfWU9U00oZCwxKXwwO2lmKGV8MCl7Zj1vO2JyZWFr
IGF9ZT1STShkLGNbaT4+Ml18MCl8MDtpZihlfDApe2Y9bzticmVhayBhfWs9bztmPW07ZT1TTShk
LDApfDB9ZWxzZSBpZigoaXwwKT09MjYpe209Y1tlKzQ+PjJdfDA7aT1tKzR8MDtlPUxNKGIsY1tt
Pj4yXXwwLGNbaT4+Ml18MCl8MDtjW24+PjJdPWU7aWYoIWUpe2Y9bztlPTEyO2JyZWFrIGF9Zj1j
W2UrND4+Ml18MDtjW2Y+PjJdPTA7az1mKzR8MDtjW2s+PjJdPTA7ZT1STShkLGNbaT4+Ml18MCl8
MDtpZihlfDApe2Y9bzticmVhayBhfWU9U00oZCwwKXwwO2lmKGV8MCl7Zj1vO2JyZWFrIGF9ZT1S
TShkLGspfDA7aWYoZXwwKXtmPW87YnJlYWsgYX1lPVNNKGQsMSl8MDtpZihlfDApe2Y9bzticmVh
ayBhfWU9Uk0oZCxjW20+PjJdfDApfDA7aWYoZXwwKXtmPW87YnJlYWsgYX1rPW87ZT1TTShkLDAp
fDB9aWYoIWUpe289aztlPWZ9ZWxzZXtmPWs7YnJlYWt9fX1lbHNlIGY9MDt3aGlsZSgwKTtjW2c+
PjJdPShjW2c+PjJdfDApK2Y7cmV0dXJuIGV8MH1mdW5jdGlvbiBhTihiLGQsZSxmLGcpe2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO3ZhciBoPTA7aD1ETShiLDAsMCwxLDE2KXwwO2I9X00o
YiwyLGgpfDA7aWYoIWIpYj0wO2Vsc2V7Y1toPj4yXT1kO2NbaCs0Pj4yXT1lO2NbaCs4Pj4yXT1m
O2g9aCsxMnwwO2FbaD4+MF09YVtoPj4wXSYtMnxnJjE7Y1tiKzE2Pj4yXT1jW2QrMTY+PjJdfXJl
dHVybiBifDB9ZnVuY3Rpb24gYk4oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTA7aWYo
Yil7ZT1ETShhLDAsMCwxLDgpfDA7YT1fTShhLDMsZSl8MDtpZigoZHwwKSE9MCYoYXwwKSE9MCl7
Y1tlPj4yXT1iO2NbZSs0Pj4yXT1kO2NbYSsxNj4+Ml09KGNbZCsxNj4+Ml18MCkrKGNbYisxNj4+
Ml18MCk7ZD1hfWVsc2UgZD0wfXJldHVybiBkfDB9ZnVuY3Rpb24gY04oYSxiLGQpe2E9YXwwO2I9
YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wO2U9RE0oYSwwLDAsMCw4KXwwO2lmKCgoZXwwKSE9MD8oZD1L
TShhLC0zLGQsLTEpfDAsY1tlPj4yXT1kLChkfDApIT0wKTowKT8oZj1ETShhLDAsMCwwLDMyKXww
LGNbZSs0Pj4yXT1mLChmfDApIT0wKTowKXthPWIrNHwwO2NbZis0Pj4yXT1jW2E+PjJdO2NbZj4+
Ml09Y1tiPj4yXTtjW2YrOD4+Ml09LTE7Y1tmKzEyPj4yXT0tMTtmPWYrMTZ8MDtjW2Y+PjJdPTA7
Y1tmKzQ+PjJdPTA7Y1tmKzg+PjJdPTA7Y1tmKzEyPj4yXT0wO2NbYT4+Ml09ZTtjW2I+PjJdPTE7
YT0wfWVsc2UgYT0xMjtyZXR1cm4gYXwwfWZ1bmN0aW9uIGROKGEsYixkKXthPWF8MDtiPWJ8MDtk
PWR8MDt2YXIgZT0wLGY9MCxnPTA7Zj1jW2E+PjJdfDA7aWYoKGZ8MCk+LTEpe2c9Y1tiKzE2Pj4y
XXwwO2U9MDtiPWY7ZG97Zj1iPj4+MTtjWygoYiYxfDApPT0wP2crKGYqMTJ8MCl8MDpnKyhmKjEy
fDApKzR8MCk+PjJdPWQ7ZT1lKzF8MDtiPWNbYSsoZTw8Mik+PjJdfDB9d2hpbGUoKGJ8MCk+LTEp
fWNbYT4+Ml09LTE7cmV0dXJufWZ1bmN0aW9uIGVOKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2
YXIgZT0wLGY9MDtlPURNKGEsMCwwLDAsOCl8MDtpZigoKGV8MCkhPTA/KGQ9S00oYSwtMyxkLC0x
KXwwLGNbZSs0Pj4yXT1kLChkfDApIT0wKTowKT8oZj1ETShhLDAsMCwwLDMyKXwwLGNbZT4+Ml09
ZiwoZnwwKSE9MCk6MCl7YT1iKzR8MDtjW2YrND4+Ml09Y1thPj4yXTtjW2Y+PjJdPWNbYj4+Ml07
Y1tmKzg+PjJdPS0xO2NbZisxMj4+Ml09LTE7Zj1mKzE2fDA7Y1tmPj4yXT0wO2NbZis0Pj4yXT0w
O2NbZis4Pj4yXT0wO2NbZisxMj4+Ml09MDtjW2E+PjJdPWU7Y1tiPj4yXT0xO2E9MH1lbHNlIGE9
MTI7cmV0dXJuIGF8MH1mdW5jdGlvbiBmTihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9
MCxoPTAsaT0wLGo9MCxrPTAsbT0wLG49MDttPWw7bD1sKzE2fDA7aj1tO2k9YiszMnwwO2g9Y1tp
Pj4yXXwwO2c9aCYxO2E6ZG8gc3dpdGNoKGFbZD4+MF18MCl7Y2FzZSA5MTp7ZT1qTihiLGQrMXww
KXwwO2JyZWFrfWNhc2UgOTI6e2U9ZCsxfDA7Zj1rTihlKXwwO2lmKGZ8MCl7ZT1mTihiLGYpfDA7
Y1tiKzEyPj4yXT1kKzI7YnJlYWsgYX1mPWFbZT4+MF18MDtzd2l0Y2goZnwwKXtjYXNlIDA6e2U9
NTticmVhayBhfWNhc2UgOTg6e2Y9S00oY1tiPj4yXXwwLC0yLDY0LC0xKXwwO2JyZWFrfWNhc2Ug
NjY6e2Y9S00oY1tiPj4yXXwwLC0yLDEyOCwtMSl8MDticmVha31jYXNlIDYwOntmPUtNKGNbYj4+
Ml18MCwtMiwxNiwtMSl8MDticmVha31jYXNlIDYyOntmPUtNKGNbYj4+Ml18MCwtMiwzMiwtMSl8
MDticmVha31jYXNlIDEyMDp7aD1kKzJ8MDtpPShhW2g+PjBdfDApPT0xMjM7Zz1pPzg6MjtoPWk/
ZCszfDA6aDtlPTA7Zj0wO2Rve2Q9bE4oYVtoK2U+PjBdfDApfDA7aWYoKGR8MCk8MClicmVhaztm
PWQrKGY8PDQpfDA7ZT1lKzF8MH13aGlsZSgoZnwwKTwxMTE0MTEyJihlfDApPChnfDApKTtlPWgr
ZXwwO2lmKGkpe2lmKChhW2U+PjBdfDApIT0xMjUpe2U9OTticmVhayBhfWU9ZSsxfDB9aj1jW2I+
PjJdfDA7aT1iKzI0fDA7az1jW2k+PjJdfDA7Y1tpPj4yXT1rKzE7Zj1LTShqLGYsZixrKXwwO2U9
ZSstMXwwO2JyZWFrfWNhc2UgNjM6Y2FzZSA0MzpjYXNlIDEyMzppZighZyl7ZT0xMzticmVhayBh
fWVsc2V7az0zNzticmVhayBhfWNhc2UgMTI0OntpZihnfDApe2s9Mzc7YnJlYWsgYX1lPUtNKGNb
Yj4+Ml18MCwtMSwtMSwtMSl8MDtrPTQ1O2JyZWFrIGF9ZGVmYXVsdDp7aWYoISgoZ3wwKT09MCYo
ZistNDl8MCk+Pj4wPDkpKXtrPTM3O2JyZWFrIGF9aj1mKy00OHwwO2s9Y1tiPj4yXXwwO2k9Yisy
NHwwO2Y9Y1tpPj4yXXwwO2NbaT4+Ml09ZisxO2Y9S00oaywtNCxqLGYpfDA7az1iKzI4fDA7aT1j
W2s+PjJdfDA7Y1trPj4yXT0oanwwKTwoaXwwKT9pOmp9fWQ9ZSsxfDA7ZT1mO2s9NDU7YnJlYWt9
Y2FzZSA0Njp7ZT1jW2I+PjJdfDA7Zz1iKzI0fDA7Zj1jW2c+PjJdfDA7Y1tnPj4yXT1mKzE7aWYo
aCY0KXtmPUtNKGUsMCw5LGYpfDA7az1jW2I+PjJdfDA7ZT1jW2c+PjJdfDA7Y1tnPj4yXT1lKzE7
ZT1LTShrLDExLDExMTQxMTEsZSl8MDtpZigoZnwwKSE9MCYoZXwwKSE9MCllPWJOKGNbYj4+Ml18
MCxmLGUpfDA7ZWxzZSBlPTB9ZWxzZSBlPUtNKGUsMCwxMTE0MTExLGYpfDA7ZD1kKzF8MDtrPTQ1
O2JyZWFrfWNhc2UgOTQ6e2lmKChnfDApPT0wPyhjW2IrMTY+PjJdfDApIT0oZHwwKTowKXtlPWQ7
az0zNzticmVhayBhfWQ9ZCsxfDA7ZT1LTShjW2I+PjJdfDAsLTIsMSwtMSl8MDtrPTQ1O2JyZWFr
fWNhc2UgMzY6e2U9ZCsxfDA7aWYoKGd8MCk9PTA/YVtlPj4wXXwwOjApe2U9ZDtrPTM3O2JyZWFr
IGF9ZD1lO2U9S00oY1tiPj4yXXwwLC0yLDIsLTEpfDA7az00NTticmVha31jYXNlIDYzOmNhc2Ug
NDM6Y2FzZSAxMjM6Y2FzZSA0Mjp7aWYoIWcpe2U9ZDtrPTM3fWVsc2UgZT0xMzticmVha31jYXNl
IDEyNDp7aWYoIWcpe2U9ZDtrPTM3fWVsc2Ugaz0zNjticmVha31jYXNlIDA6e2s9MzY7YnJlYWt9
ZGVmYXVsdDp7ZT1kO2s9Mzd9fXdoaWxlKDApO2lmKChrfDApPT0zNil7ZT1LTShjW2I+PjJdfDAs
LTEsLTEsLTEpfDA7az00NX1lbHNlIGlmKChrfDApPT0zNyl7aD1VTChqLGUsLTEpfDA7aWYoKGh8
MCk8MCllPTI7ZWxzZXtkbyBpZihjW2k+PjJdJjIpe2lmKChJSyhjW2o+PjJdfDApfDApPT0wPyhI
SyhjW2o+PjJdfDApfDApPT0wOjApe2s9NDM7YnJlYWt9aT1jW2I+PjJdfDA7bj1sSyhjW2o+PjJd
fDApfDA7Zz1sSyhjW2o+PjJdfDApfDA7Zj1iKzI0fDA7Zz1LTShpLG4sZyxjW2Y+PjJdfDApfDA7
bj1jW2I+PjJdfDA7aT1LSyhjW2o+PjJdfDApfDA7ZD1LSyhjW2o+PjJdfDApfDA7ZD1LTShuLGks
ZCxjW2Y+PjJdfDApfDA7aWYoKGd8MCkhPTAmKGR8MCkhPTApZz1iTihjW2I+PjJdfDAsZyxkKXww
O2Vsc2UgZz0wfWVsc2Ugaz00Mzt3aGlsZSgwKTtpZigoa3wwKT09NDMpe2c9Y1tqPj4yXXwwO2Y9
YisyNHwwO2c9S00oY1tiPj4yXXwwLGcsZyxjW2Y+PjJdfDApfDB9Y1tmPj4yXT0oY1tmPj4yXXww
KSsxO2Q9ZStofDA7ZT1nO2s9NDV9fWlmKChrfDApPT00NSlpZighZSllPTEyO2Vsc2V7Y1tiKzg+
PjJdPWU7Y1tiKzEyPj4yXT1kO2U9MH1sPW07cmV0dXJuIGV8MH1mdW5jdGlvbiBnTihiLGQsZSxm
KXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxpPTAsaj0wO2o9bDtsPWwrMTZ8
MDtpPWorNHwwO2c9ajtiPWlOKGIsaSl8MDtpZigoYVtiPj4wXXwwKT09NDQpe2I9aU4oYisxfDAs
Zyl8MDtoPWNbZz4+Ml18MDtnPWNbaT4+Ml18MH1lbHNle2k9Y1tpPj4yXXwwO2NbZz4+Ml09aTto
PWk7Zz1pfWRvIGlmKCEoZz4+PjA+MjU1fCgoaHwwKT4yNTV8KGh8MCk+LTEmKGh8MCk8KGd8MCkp
KSl7aWYoIWQpaWYoKGFbYj4+MF18MCk9PTkyKWI9YisxfDA7ZWxzZXtiPTA7YnJlYWt9aWYoKGFb
Yj4+MF18MCk9PTEyNSl7Y1tlPj4yXT1nO2NbZj4+Ml09aDtiPWIrMXwwfWVsc2UgYj0wfWVsc2Ug
Yj0wO3doaWxlKDApO2w9ajtyZXR1cm4gYnwwfWZ1bmN0aW9uIGhOKGEsYixkKXthPWF8MDtiPWJ8
MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTA7aWYoKGNbYisxMj4+Ml18MCk+LTEpe2U9S00oY1thPj4y
XXwwLC0xLC0xLC0xKXwwO2lmKChlfDApIT0wPyhmPUxNKGNbYT4+Ml18MCxlLGIpfDAsKGZ8MCkh
PTApOjApe2U9Y1tiKzE2Pj4yXXwwO2NbZisxNj4+Ml09ZTtnPTZ9ZWxzZSBlPTEyfWVsc2V7Zj1i
O2U9Y1tiKzE2Pj4yXXwwO2c9Nn1pZigoZ3wwKT09Nil7Y1tmKzEyPj4yXT1kO2NbZisxNj4+Ml09
ZSsxO2NbYSs4Pj4yXT1mO2U9MH1yZXR1cm4gZXwwfWZ1bmN0aW9uIGlOKGIsZCl7Yj1ifDA7ZD1k
fDA7dmFyIGU9MDtjW2Q+PjJdPS0xO2E6ZG8gaWYoX0ooYVtiPj4wXXwwKXwwKXtjW2Q+PjJdPTA7
ZT0wO2Rve2NbZD4+Ml09KGUqMTB8MCkrLTQ4KyhhW2I+PjBdfDApO2I9YisxfDA7aWYoIShfSihh
W2I+PjBdfDApfDApKWJyZWFrIGE7ZT1jW2Q+PjJdfDB9d2hpbGUoKGV8MCk8PTI1NSl9d2hpbGUo
MCk7cmV0dXJuIGJ8MH1mdW5jdGlvbiBqTihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9
MCxoPTAsaT0wLGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wO3M9bDtsPWwrMjg4
fDA7ZT1zKzI2NHwwO2c9cztjW2U+PjJdPWNbYj4+Ml07aD1lKzh8MDtjW2g+PjJdPTA7Y1tlKzEy
Pj4yXT0zMjtwPVpJKDEyOCl8MDtyPWUrNHwwO2Nbcj4+Ml09cDtpZighcClkPTEyO2Vsc2V7Zj1n
KzR8MDtjW2Y+PjJdPTA7cD0oYVtkPj4wXXwwKT09OTQ7Y1tnPj4yXT1wJjE7ZD1tTihiLHA/ZCsx
fDA6ZCxlLGcpfDA7YTpkbyBpZighZCl7cD0oY1tnPj4yXXwwKT09MDtpZighcCl7ckwoY1tyPj4y
XXwwLGNbaD4+Ml18MCw0LDQxKTtkPW9OKGUpfDA7aWYoIWQpe2Q9MTI7ZT0wO2JyZWFrfWNbZD4+
Ml09MTExNDExMjtjW2QrND4+Ml09MTExNDExMjtjW2QrOD4+Ml09LTE7ZD1jW2Y+PjJdfDA7aWYo
ZCl7ZT1kPDwyO2Y9RE0oY1tiPj4yXXwwLDAsMCwwLGUrNHwwKXwwO2lmKCFmKXtkPTEyO2U9MDti
cmVha31UTihmfDAsZys4fDAsZXwwKXwwO2NbZisoZDw8Mik+PjJdPTB9ZWxzZSBmPTB9ZWxzZSBm
PTA7bT1jW2g+PjJdfDA7aWYoKG18MCk+MCl7bj1jW3I+PjJdfDA7bz1iKzI0fDA7ZT0wO2Q9MDtr
PTA7d2hpbGUoMSl7aj1jW24rKGs8PDIpPj4yXXwwO2c9Y1tqPj4yXXwwO2g9ais0fDA7aT1jW2g+
PjJdfDA7ZG8gaWYoIXApaWYoKGd8MCk+KGR8MCkpe2Nbaj4+Ml09ZDtjW2g+PjJdPWcrLTE7ZD1p
KzF8MDtxPTE0O2JyZWFrfWVsc2V7aj1pKzF8MDtkPShqfDApPj0oZHwwKT9qOmQ7YnJlYWt9ZWxz
ZSBxPTE0O3doaWxlKDApO2lmKChxfDApPT0xNCl7cT0wO2Nbais4Pj4yXT1jW28+PjJdO2Nbaisx
Nj4+Ml09ZjtqPV9NKGNbYj4+Ml18MCwwLGopfDA7ZT1iTihjW2I+PjJdfDAsZSxqKXwwO2lmKCFl
KXtkPTEyO2U9MDticmVhayBhfX1rPWsrMXwwO2lmKChrfDApPj0obXwwKSl7ZD0wO2JyZWFrfX19
ZWxzZXtkPTA7ZT0wfX1lbHNlIGU9MDt3aGlsZSgwKTtfSShjW3I+PjJdfDApO3I9YisyNHwwO2Nb
cj4+Ml09KGNbcj4+Ml18MCkrMTtjW2IrOD4+Ml09ZX1sPXM7cmV0dXJuIGR8MH1mdW5jdGlvbiBr
TihiKXtiPWJ8MDt2YXIgZD0wO2Q9YVtiPj4wXXwwO2I9MDt3aGlsZSgxKXtpZigoYVs1NjU3Niso
Yjw8Myk+PjBdfDApPT1kPDwyND4+MjQpYnJlYWs7Yj1iKzF8MDtpZigoYnwwKT09MTIpe2I9MTI7
YnJlYWt9fXJldHVybiBjWzU2NTc2KyhiPDwzKSs0Pj4yXXwwfWZ1bmN0aW9uIGxOKGEpe2E9YXww
O3ZhciBiPTA7Yj1hKy00OHwwO2lmKGI+Pj4wPDEwKXJldHVybiBifDA7ZWxzZXtiPWF8MzI7cmV0
dXJuICgoYistOTd8MCk+Pj4wPDY/YistODd8MDotMSl8MH1yZXR1cm4gMH1mdW5jdGlvbiBtTihi
LGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxt
PTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wO3Q9bDtsPWwrMzJ8MDtvPXQ7cT10KzR8MDtp
PVVMKG8sZCwtMSl8MDtnPWFbZD4+MF18MDthOmRvIGlmKChpfDApPj0xKXtyPWYrNHwwO249Yisz
MnwwO2g9ZDtqPWk7Yjp3aGlsZSgxKXtpPShofDApPT0oZHwwKTtpZighKGl8Zzw8MjQ+PjI0IT05
Mykpe3M9NTticmVha31jOmRvIGlmKCEoaXxnPDwyND4+MjQhPTQ1KSl7c3dpdGNoKGFbaCsxPj4w
XXwwKXtjYXNlIDkzOmJyZWFrIGM7Y2FzZSA0NTpicmVhaztkZWZhdWx0OntnPTExO2JyZWFrIGF9
fWlmKChhW2grMj4+MF18MCk9PTkzKXtnPTExO2JyZWFrIGF9fXdoaWxlKDApO2Q6ZG8gaWYoZzw8
MjQ+PjI0PT05MSl7c3dpdGNoKGFbaCsxPj4wXXwwKXtjYXNlIDYxOmNhc2UgNDY6e2c9MzticmVh
ayBhfWNhc2UgNTg6YnJlYWs7ZGVmYXVsdDp7cz0xNzticmVhayBkfX1pPWgrMnwwO2c9MDtlOndo
aWxlKDEpe3N3aXRjaChhW2krZz4+MF18MCl7Y2FzZSAwOntzPTE2O2JyZWFrIGJ9Y2FzZSA1ODpi
cmVhayBlO2RlZmF1bHQ6e319aWYoKGd8MCk8MTMpZz1nKzF8MDtlbHNle3M9MTY7YnJlYWsgYn19
VE4ocXwwLGl8MCxnfDApfDA7YVtxK2c+PjBdPTA7aj1hTChxKXwwO2lmKCFqKXtzPTE2O2JyZWFr
IGJ9aD1pKyhnKzIpfDA7aWYoKGFbaSsoZysxKT4+MF18MCkhPTkzKXtzPTE2O2JyZWFrIGJ9aWYo
IShjW2Y+PjJdfDApKXtnPTExMTQxMTE7bT0wO2s9MTtzPTI1fWVsc2V7Zz1jW3I+PjJdfDA7aWYo
KGd8MCk+NjMpe2c9MTI7YnJlYWsgYX1jW3I+PjJdPWcrMTtjW2YrOCsoZzw8Mik+PjJdPWp9fWVs
c2Ugcz0xNzt3aGlsZSgwKTtpZigoc3wwKT09MTcpe3M9MDtpPWNbbz4+Ml18MDtoPWgranwwO2lm
KChhW2g+PjBdfDApPT00NT8ocD1oKzF8MCwoYVtwPj4wXXwwKSE9OTMpOjApe2g9VUwobyxwLC0x
KXwwO2c9Y1tvPj4yXXwwO2lmKChofDApPDF8KGl8MCk+KGd8MCkpe2c9MTE7YnJlYWsgYX1qPTA7
bT1pO2g9cCtofDA7az0wO3M9MjV9ZWxzZXtqPTA7Zz1pO209aTtrPTA7cz0yNX19aWYoKHN8MCk9
PTI1KXtzPTA7aT1vTihlKXwwO2lmKCFpKXtnPTEyO2JyZWFrIGF9Y1tpPj4yXT1tO2NbaSs0Pj4y
XT1nO2NbaSsxMj4+Ml09ajtjW2krOD4+Ml09LTE7aWYoIShrfChjW24+PjJdJjJ8MCk9PTApPyhw
TihlLG0sZyl8MCkhPTA6MCl7Zz0xMjticmVhayBhfX1qPVVMKG8saCwtMSl8MDtnPWFbaD4+MF18
MDtpZigoanwwKTwxKXtzPTM7YnJlYWsgYX19aWYoKHN8MCk9PTUpe2NbYisxMj4+Ml09aCsxO2c9
MDticmVha31lbHNlIGlmKChzfDApPT0xNil7Zz00O2JyZWFrfX1lbHNlIHM9Mzt3aGlsZSgwKTtp
Zigoc3wwKT09MylnPWc8PDI0Pj4yND8yOjc7bD10O3JldHVybiBnfDB9ZnVuY3Rpb24gbk4oYSxi
KXthPWF8MDtiPWJ8MDtyZXR1cm4gKGNbY1thPj4yXT4+Ml18MCktKGNbY1tiPj4yXT4+Ml18MCl8
MH1mdW5jdGlvbiBvTihhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wO2g9
YSs4fDA7ZD1jW2g+PjJdfDA7ZT1hKzEyfDA7Zj1jW2U+PjJdfDA7aWYoKGR8MCk+PShmfDApKWlm
KChmfDApPD0zMjc2Nz8oY1tlPj4yXT1mPDwxLGc9YSs0fDAsYj1hSihjW2c+PjJdfDAsZjw8Myl8
MCwoYnwwKSE9MCk6MCl7Y1tnPj4yXT1iO2Q9Y1toPj4yXXwwO2k9Nn1lbHNlIGI9MDtlbHNle2I9
Y1thKzQ+PjJdfDA7aT02fWlmKChpfDApPT02KXtjW2g+PjJdPWQrMTtpPURNKGNbYT4+Ml18MCww
LDAsMSwyMCl8MDtjW2IrKGQ8PDIpPj4yXT1pO2I9aX1yZXR1cm4gYnwwfWZ1bmN0aW9uIHBOKGEs
YixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wO2E6ZG8gaWYoKGJ8MCk+
KGR8MCkpYj0wO2Vsc2Ugd2hpbGUoMSl7YjpkbyBpZighKEhLKGIpfDApKXtpZighKElLKGIpfDAp
KXtiPWIrMXwwO2JyZWFrfWY9S0soYil8MDtlPWY7d2hpbGUoMSl7Zz1iKzF8MDtlPWUrMXwwO2lm
KChifDApPj0oZHwwKSl7aD1mO2I9ZztnPTEyO2JyZWFrIGJ9aWYoKEtLKGcpfDApPT0oZXwwKSli
PWc7ZWxzZXtoPWY7Yj1nO2c9MTI7YnJlYWt9fX1lbHNle2Y9bEsoYil8MDtlPWY7d2hpbGUoMSl7
Zz1iKzF8MDtlPWUrMXwwO2lmKChifDApPj0oZHwwKSl7aD1mO2I9ZztnPTEyO2JyZWFrIGJ9aWYo
KGxLKGcpfDApPT0oZXwwKSliPWc7ZWxzZXtoPWY7Yj1nO2c9MTI7YnJlYWt9fX13aGlsZSgwKTtp
ZigoZ3wwKT09MTIpe2c9MDtmPW9OKGEpfDA7aWYoIWYpe2I9LTE7YnJlYWsgYX1jW2Y+PjJdPWg7
Y1tmKzQ+PjJdPWUrLTE7Y1tmKzg+PjJdPS0xfWlmKChifDApPihkfDApKXtiPTA7YnJlYWt9fXdo
aWxlKDApO3JldHVybiBifDB9ZnVuY3Rpb24gcU4oYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8
MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxtPTAsbj0wO249bDtsPWwrMTZ8
MDtrPW47aT1jW2ErND4+Ml18MDtqPWkrNTZ8MDtoPShjW2o+PjJdJjh8MCk9PTA/ZDowO2E9Y1tp
KzQwPj4yXXwwO2lmKChhfDApPjAmKGh8MCkhPTApe2E9WkkoYTw8Mil8MDtpZighYSlhPTEyO2Vs
c2V7Zz1hO2Q9YTttPTN9fWVsc2V7Zz0wO2Q9MDttPTN9aWYoKG18MCk9PTMpe2lmKCEoY1tpKzYw
Pj4yXXwwKSlhPXNOKGksYixnLGYsayl8MDtlbHNlIGE9ck4oaSxiLGcsZixrKXwwO2lmKCFhKXRO
KGgsZSxjW2o+PjJdfDAsaSxnLGNbaz4+Ml18MCk7aWYoZylfSShkKX1sPW47cmV0dXJuIGF8MH1m
dW5jdGlvbiByTihhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBn
PTAsaD0wLGk9MCxqPTAsaz0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9
MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0w
LEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wO1Y9bDtsPWwr
MTZ8MDtUPVY7Y1tUPj4yXT0wO289ZSYxO1I9ZSYyO1M9YSs1NnwwO249Y1tTPj4yXSY0O1U9Qk0o
MCwwKXwwO2E6ZG8gaWYoVSl7cD1ETShVLDAsMCwwLDMyKXwwO2lmKCFwKXtDTShVKTtlPTEyO2Jy
ZWFrfWNbcCsyND4+Ml09MDtjW3ArMjg+PjJdPTA7UT1hKzQwfDA7ZT1jW1E+PjJdfDA7aWYoZSl7
ZT1aSShlPDwyKXwwO2lmKCFlKXttPTA7az0wO2o9ZTtlPTEyO2k9MDtoPTA7Zz0wfWVsc2V7aj1l
O2k9ZTtDPTZ9fWVsc2V7aj0wO2k9MDtDPTZ9YjpkbyBpZigoQ3wwKT09Nil7ZT1jW2ErMjg+PjJd
fDA7aWYoZSl7ZT1aSShlPDwzKXwwO2lmKCFlKXttPWU7az0wO2U9MTI7aD0wO2c9MDticmVha31l
bHNle209ZTtoPWV9fWVsc2V7bT0wO2g9MH1QPWErNTJ8MDtlPWNbUD4+Ml18MDtpZihlKXtlPVpJ
KGU8PDIpfDA7aWYoIWUpe2s9ZTtlPTEyO2c9MDticmVha31lbHNle2s9ZTtnPWV9fWVsc2V7az0w
O2c9MH1LPWErOHwwO0w9YSsxMnwwO009KGR8MCk9PTA7Tj0oZHwwKSE9MDtPPWErMzJ8MDtKPShu
fDApIT0wO0k9KG98MCk9PTA7cj1iO2U9MTtxPS0xO3Y9LTE7Qj0wO2M6d2hpbGUoMSl7bj1jW1E+
PjJdfDA7aWYoKG58MCk+MCl7bz0wO2Rve2Nbaisobzw8Mik+PjJdPS0xO2lmKCFNKXtjW2QrKG88
PDIpPj4yXT0tMTtuPWNbUT4+Ml18MH1vPW8rMXwwfXdoaWxlKChvfDApPChufDApKX1uPWNbUD4+
Ml18MDtpZigobnwwKT4wKVZOKGd8MCwwLG48PDJ8MCl8MDtHPWUrcXwwO2U9VUwoVCxyLDQpfDA7
aWYoKGV8MCk8MSlpZigoZXwwKTwwKXtlPTE7YnJlYWsgYn1lbHNlIGU9MTtGPXIrZXwwO0g9Y1tU
Pj4yXXwwO249Y1tLPj4yXXwwO289bis4fDA7aWYoY1tvPj4yXXwwKXt3PShHfDApIT0wO3g9KEJ8
MCk9PTk1O3k9KEd8MCk9PTA7QT1KJihCfDApPT0xMDt6PShHfDApPDEmSTt1PW47bj0wO3Q9MDtz
PW87d2hpbGUoMSl7cj11KzIwfDA7bz1jW3I+PjJdfDA7ZDpkbyBpZihvKWlmKChvJjF8MCk9PTB8
enxBKXtpZihvJjJ8MD8oRT1jW1Q+PjJdfDAsISgoRXxSfDApPT0wfEomKEV8MCk9PTEwKSk6MCl7
cT10O2JyZWFrfWRvIGlmKG8mMTZ8MCl7aWYoeCl7cT10O2JyZWFrIGR9aWYoREsoQil8MCl7cT10
O2JyZWFrIGR9bz1jW1Q+PjJdfDA7aWYoKG98MCk9PTk1KWJyZWFrO2lmKCEoREsobyl8MCkpe3E9
dDticmVhayBkfX13aGlsZSgwKTtvPWNbcj4+Ml18MDtpZihvJjMyKXtpZih4KXtvPWNbVD4+Ml18
MDtpZigob3wwKT09OTUpe3E9dDticmVha319ZWxzZXtFPShESyhCKXwwKT09MDtvPWNbVD4+Ml18
MDtpZihFfChvfDApPT05NSl7cT10O2JyZWFrfX1pZihESyhvKXwwKXtxPXQ7YnJlYWt9bz1jW3I+
PjJdfDB9cT1jW1Q+PjJdfDA7ZG8gaWYoKHF8MCkhPTAmKHcmKG8mNjR8MCkhPTApKXtpZih4KW89
MTtlbHNle289KERLKEIpfDApIT0wO3E9Y1tUPj4yXXwwfWlmKChxfDApPT05NSlpZihvKXtxPXQ7
YnJlYWsgZH1lbHNlIGJyZWFrO2Vsc2UgaWYob14oREsocSl8MCkhPTApYnJlYWs7ZWxzZXtxPXQ7
YnJlYWsgZH19d2hpbGUoMCk7aWYoIShjW3I+PjJdJjEyOCkpe0M9NDk7YnJlYWt9bz1jW1Q+PjJd
fDA7aWYoeXwob3wwKT09MCl7cT10O2JyZWFrfWlmKHgpcT0xO2Vsc2V7cT0oREsoQil8MCkhPTA7
bz1jW1Q+PjJdfDB9aWYoKG98MCk9PTk1KWlmKHEpe0M9NDk7YnJlYWt9ZWxzZXtxPXQ7YnJlYWt9
ZWxzZSBpZihxXihESyhvKXwwKSE9MCl7cT10O2JyZWFrfWVsc2V7Qz00OTticmVha319ZWxzZSBx
PXQ7ZWxzZSBDPTQ5O3doaWxlKDApO2RvIGlmKChDfDApPT00OSl7Qz0wO2lmKCF0KXtuPWNbdSsx
Nj4+Ml18MDtxPWNbcz4+Ml18MDticmVha31xPXArMjh8MDtvPWNbcT4+Ml18MDtpZighbyl7bz1E
TShVLDAsMCwwLDMyKXwwO2lmKCFvKXtDPTUzO2JyZWFrIGN9Y1tvKzI0Pj4yXT1wO2NbbysyOD4+
Ml09MDtFPURNKFUsMCwwLDAsY1tRPj4yXTw8Mil8MDtjW28rMjA+PjJdPUU7aWYoIUUpe0M9NjA7
YnJlYWsgY31jW3E+PjJdPW87cD1vfWVsc2UgcD1vO2NbcD4+Ml09RztjW3ArND4+Ml09RjtjW3Ar
OD4+Ml09Y1tzPj4yXTtjW3ArMTI+PjJdPWNbdSsxMj4+Ml07Y1twKzE2Pj4yXT1jW1Q+PjJdO2lm
KChjW1E+PjJdfDApPjApe3E9Y1twKzIwPj4yXXwwO289MDtkb3tjW3ErKG88PDIpPj4yXT1jW2or
KG88PDIpPj4yXTtvPW8rMXwwfXdoaWxlKChvfDApPChjW1E+PjJdfDApKX1vPWNbdSsxNj4+Ml18
MDtpZighbylxPXQ7ZWxzZXtxPWNbbz4+Ml18MDtpZigocXwwKTw9LTEpe3E9dDticmVha31yPWNb
cCsyMD4+Ml18MDtkb3tvPW8rNHwwO2NbcisocTw8Mik+PjJdPUc7cT1jW28+PjJdfDB9d2hpbGUo
KHF8MCk+LTEpO3E9dH19d2hpbGUoMCk7cz11KzQwfDA7aWYoIShjW3M+PjJdfDApKWJyZWFrO2Vs
c2V7dT11KzMyfDA7dD1xfX1pZihuKXtvPWNbbj4+Ml18MDtpZigob3wwKT4tMSlkb3tjW2orKG88
PDIpPj4yXT1HO249bis0fDA7bz1jW24+PjJdfDB9d2hpbGUoKG98MCk+LTEpfWVsc2Ugbj0wO2lm
KCFxKUM9MTcxO2Vsc2V7cz1HO3I9Rjt3PXE7eD1uO0M9Nzl9fWVsc2V7bj0wO0M9MTcxfWU6d2hp
bGUoMSl7aWYoKEN8MCk9PTc5KXtpZigod3wwKT09KGNbTD4+Ml18MCkpe2lmKCh2fDApPj0oc3ww
KSl7aWYoIShOJih2fDApPT0oc3wwKSkpe249eDtDPTE3MTtjb250aW51ZX1uPWNbUT4+Ml18MDtp
ZighKHZOKG4sY1tPPj4yXXwwLGosZCl8MCkpe249eDtDPTE3MTtjb250aW51ZX19ZWxzZXtpZihN
KXt2PXM7bj14O0M9MTcxO2NvbnRpbnVlfW49Y1tRPj4yXXwwfWlmKChufDApPjApbj0wO2Vsc2V7
dj1zO249eDtDPTE3MTtjb250aW51ZX13aGlsZSgxKXtjW2QrKG48PDIpPj4yXT1jW2orKG48PDIp
Pj4yXTtuPW4rMXwwO2lmKChufDApPj0oY1tRPj4yXXwwKSl7dj1zO249eDtDPTE3MTtjb250aW51
ZSBlfX19dT13Kzh8MDtpZigoY1t1Pj4yXXwwKSE9MD8oY1t3KzIwPj4yXSYyNTZ8MCkhPTA6MCl7
bz1jW3crMjQ+PjJdfDA7dE4obysxfDAsbSxjW1M+PjJdJi05LGEsaixzKTtFPWNbbSsobzw8Myk+
PjJdfDA7bz0oY1ttKyhvPDwzKSs0Pj4yXXwwKS1FfDA7aWYoVkooYitFfDAscistMXwwLG8pfDAp
e249eDtDPTE3MTtjb250aW51ZX1FPShvfDApPT0wO249RSYxO3E9Y1t3KzEyPj4yXXwwO2lmKEU/
Y1trKyhxPDwyKT4+Ml18MDowKXtuPXg7Qz0xNzE7Y29udGludWV9Y1trKyhxPDwyKT4+Ml09bjtv
PW8rLTF8MDtyPXIrb3wwO289bytzfDA7cT1jW1Q+PjJdfDA7bj1VTChULHIsNCl8MDtpZigobnww
KTwxKWlmKChufDApPDApe2U9MTticmVhayBifWVsc2Ugbj0xO0Q9citufDA7RT1ufWVsc2V7cT1j
W1Q+PjJdfDA7aWYoIXEpe249eDtDPTE3MTtjb250aW51ZX1uPVVMKFQsciw0KXwwO2lmKChufDAp
PDEpaWYoKG58MCk8MCl7ZT0xO2JyZWFrIGJ9ZWxzZSBuPTE7bz1zO0Q9citufDA7RT1ufXM9bytl
fDA7aWYoIShjW3U+PjJdfDApKXtlPUU7bj14O0M9MTcxO2NvbnRpbnVlfXk9KHN8MCkhPTA7ej0o
cXwwKT09OTU7QT0oc3wwKT09MDtDPUomKHF8MCk9PTEwO0I9KHN8MCk8MSZJO3Q9MDtuPXg7d2hp
bGUoMSl7ZjpkbyBpZigoY1t3Pj4yXXwwKT4+PjA8PXE+Pj4wKXtpZigoY1t3KzQ+PjJdfDApPj4+
MDxxPj4+MClicmVhaztyPXcrMjB8MDtlPWNbcj4+Ml18MDtkbyBpZihlfDApe2lmKCEoKGUmMXww
KT09MHxCfEMpKWJyZWFrIGY7aWYoZSYyfDA/KHg9Y1tUPj4yXXwwLCEoKHh8UnwwKT09MHxKJih4
fDApPT0xMCkpOjApYnJlYWsgZjtkbyBpZihlJjE2fDApe2lmKHopYnJlYWsgZjtpZihESyhxKXww
KWJyZWFrIGY7ZT1jW1Q+PjJdfDA7aWYoKGV8MCk9PTk1KWJyZWFrO2lmKCEoREsoZSl8MCkpYnJl
YWsgZn13aGlsZSgwKTtlPWNbcj4+Ml18MDtpZihlJjMyKXtpZih6KXtlPWNbVD4+Ml18MDtpZigo
ZXwwKT09OTUpYnJlYWsgZn1lbHNle3g9KERLKHEpfDApPT0wO2U9Y1tUPj4yXXwwO2lmKHh8KGV8
MCk9PTk1KWJyZWFrIGZ9aWYoREsoZSl8MClicmVhayBmO2U9Y1tyPj4yXXwwfW89Y1tUPj4yXXww
O2RvIGlmKChvfDApIT0wJih5JihlJjY0fDApIT0wKSl7aWYoeillPTE7ZWxzZXtlPShESyhxKXww
KSE9MDtvPWNbVD4+Ml18MH1pZigob3wwKT09OTUpaWYoZSlicmVhayBmO2Vsc2UgYnJlYWs7ZWxz
ZSBpZihlXihESyhvKXwwKSE9MClicmVhaztlbHNlIGJyZWFrIGZ9d2hpbGUoMCk7ZG8gaWYoY1ty
Pj4yXSYxMjh8MCl7ZT1jW1Q+PjJdfDA7aWYoQXwoZXwwKT09MClicmVhayBmO2lmKHopbz0xO2Vs
c2V7bz0oREsocSl8MCkhPTA7ZT1jW1Q+PjJdfDB9aWYoKGV8MCk9PTk1KWlmKG8pYnJlYWs7ZWxz
ZSBicmVhayBmO2Vsc2UgaWYob14oREsoZSl8MCkhPTApYnJlYWsgZjtlbHNlIGJyZWFrfXdoaWxl
KDApO2U9Y1tyPj4yXXwwO2RvIGlmKGUmNCl7aWYoY1tTPj4yXSYyfDApYnJlYWs7aWYoIShDSyhx
LGNbdysyND4+Ml18MCl8MCkpYnJlYWsgZjtlPWNbcj4+Ml18MH13aGlsZSgwKTtkbyBpZihlJjR8
MCl7aWYoIShjW1M+PjJdJjIpKWJyZWFrO3g9S0socSl8MDtlPXcrMjR8MDtpZihDSyh4LGNbZT4+
Ml18MCl8MClicmVhazt4PWxLKHEpfDA7aWYoIShDSyh4LGNbZT4+Ml18MCl8MCkpYnJlYWsgZn13
aGlsZSgwKTtpZighKGNbcj4+Ml0mOCkpYnJlYWs7aWYodU4oY1t3KzI4Pj4yXXwwLHEsY1tTPj4y
XSYyKXwwKWJyZWFrIGZ9d2hpbGUoMCk7aWYoIXQpe3Q9Y1t1Pj4yXXwwO249Y1t3KzE2Pj4yXXww
O2JyZWFrfW89cCsyOHwwO2U9Y1tvPj4yXXwwO2lmKCFlKXtlPURNKFUsMCwwLDAsMzIpfDA7aWYo
IWUpe0M9MTQ1O2JyZWFrIGN9Y1tlKzI0Pj4yXT1wO2NbZSsyOD4+Ml09MDt4PURNKFUsMCwwLDAs
Y1tRPj4yXTw8Mil8MDtjW2UrMjA+PjJdPXg7aWYoIXgpe0M9MTUyO2JyZWFrIGN9Y1tvPj4yXT1l
O3A9ZX1lbHNlIHA9ZTtjW3A+PjJdPXM7Y1twKzQ+PjJdPUQ7Y1twKzg+PjJdPWNbdT4+Ml07Y1tw
KzEyPj4yXT1jW3crMTI+PjJdO2NbcCsxNj4+Ml09Y1tUPj4yXTtpZigoY1tRPj4yXXwwKT4wKXtv
PWNbcCsyMD4+Ml18MDtlPTA7ZG97Y1tvKyhlPDwyKT4+Ml09Y1tqKyhlPDwyKT4+Ml07ZT1lKzF8
MH13aGlsZSgoZXwwKTwoY1tRPj4yXXwwKSl9ZT1jW3crMTY+PjJdfDA7aWYoIWUpYnJlYWs7bz1j
W2U+PjJdfDA7aWYoKG98MCk8PS0xKWJyZWFrO3I9Y1twKzIwPj4yXXwwO2Rve2Nbcisobzw8Mik+
PjJdPXM7ZT1lKzR8MDtvPWNbZT4+Ml18MH13aGlsZSgob3wwKT4tMSl9d2hpbGUoMCk7dT13KzQw
fDA7aWYoIShjW3U+PjJdfDApKWJyZWFrO2Vsc2Ugdz13KzMyfDB9aWYoIXQpe2U9RTtDPTE3MTtj
b250aW51ZX1pZihuKXtlPWNbbj4+Ml18MDtpZigoZXwwKT4tMSl7ZG97bj1uKzR8MDtjW2orKGU8
PDIpPj4yXT1zO2U9Y1tuPj4yXXwwfXdoaWxlKChlfDApPi0xKTtxPXY7bz1EO2U9RX1lbHNle3E9
djtvPUQ7ZT1FfX1lbHNle3E9djtvPUQ7ZT1FO249MH19ZWxzZSBpZigoQ3wwKT09MTcxKXtDPTA7
cj1jW3ArMjQ+PjJdfDA7aWYoIXIpYnJlYWs7dD1jW3ArOD4+Ml18MDtpZihjW3QrMjA+PjJdJjI1
NnwwKWNbaysoY1twKzEyPj4yXTw8Mik+PjJdPTA7cz1jW3A+PjJdfDA7dT1jW3ArND4+Ml18MDtj
W1Q+PjJdPWNbcCsxNj4+Ml07cT1jW1E+PjJdfDA7aWYoKHF8MCk+MCl7cD1jW3ArMjA+PjJdfDA7
bz0wO2Rve2Nbaisobzw8Mik+PjJdPWNbcCsobzw8Mik+PjJdO289bysxfDB9d2hpbGUoKG98MCk8
KHF8MCkpO3A9cjtxPXY7bz11fWVsc2V7cD1yO3E9djtvPXV9fXI9bzt2PXE7dz10O3g9bjtDPTc5
fW49KHZ8MCk+LTE7aWYobnwoY1tUPj4yXXwwKT09MCl7Qz0xODA7YnJlYWt9Y1tUPj4yXT1IO3I9
RjtxPUc7Qj1IfWlmKChDfDApPT01Myl7Q00oVSk7aWYoanwwKV9JKGkpO2lmKG18MClfSShoKTtp
Zighayl7ZT0xMjticmVhayBhfV9JKGcpO2U9MTI7YnJlYWsgYX1lbHNlIGlmKChDfDApPT02MCl7
Q00oVSk7aWYoanwwKV9JKGkpO2lmKG18MClfSShoKTtpZighayl7ZT0xMjticmVhayBhfV9JKGcp
O2U9MTI7YnJlYWsgYX1lbHNlIGlmKChDfDApPT0xNDUpe0NNKFUpO2lmKGp8MClfSShpKTtpZiht
fDApX0koaCk7aWYoIWspe2U9MTI7YnJlYWsgYX1fSShnKTtlPTEyO2JyZWFrIGF9ZWxzZSBpZigo
Q3wwKT09MTUyKXtDTShVKTtpZihqfDApX0koaSk7aWYobXwwKV9JKGgpO2lmKCFrKXtlPTEyO2Jy
ZWFrIGF9X0koZyk7ZT0xMjticmVhayBhfWVsc2UgaWYoKEN8MCk9PTE4MCl7Y1tmPj4yXT12O2U9
KG5eMSkmMTticmVha319d2hpbGUoMCk7Q00oVSk7aWYoanwwKV9JKGkpO2lmKG18MClfSShoKTtp
ZihrKV9JKGcpfWVsc2UgZT0xMjt3aGlsZSgwKTtsPVY7cmV0dXJuIGV8MH0KK2Z1bmN0aW9uIHNO
KGEsYixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaT0w
LGo9MCxrPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAs
eT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxN
PTAsTj0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTA7Vz1sO2w9bCsxNnwwO1Q9Vztj
W1Q+PjJdPTA7az1lJjE7UT1lJjI7Uj1hKzU2fDA7aj1jW1I+PjJdJjQ7aWYoIWQpTj0wO2Vsc2Ug
Tj1jW2ErNDA+PjJdfDA7UD1OPDwyO2k9YSs1MnwwO2U9Y1tpPj4yXXwwO2g9ZTw8MztnPWgrOHww
O2U9UCsxMitoKyhnKyhPKFAsZSl8MCk8PDEpfDA7VT1aSShlKXwwO2lmKCFVKWU9MTI7ZWxzZXtW
TihVfDAsMCxlfDApfDA7ZT1VK1B8MDttPWUmMzttPWUrKChtfDApPT0wPzA6NC1tfDApfDA7ZT1t
K2d8MDtuPWUmMztuPWUrKChufDApPT0wPzA6NC1ufDApfDA7ZT1uK2d8MDtNPWUmMztNPWUrKChN
fDApPT0wPzA6NC1NfDApfDA7ZT1NK2h8MDtnPWUmMztpPWNbaT4+Ml18MDtoPShpfDApPjA7aWYo
aCl7ZT1lKygoZ3wwKT09MD8wOjQtZ3wwKXwwO2c9MDt3aGlsZSgxKXtjW24rKGc8PDMpKzQ+PjJd
PWU7ZT1lK1B8MDtjW20rKGc8PDMpKzQ+PjJdPWU7Zz1nKzF8MDtpZigoZ3wwKT49KGl8MCkpYnJl
YWs7ZWxzZSBlPWUrUHwwfWlmKGgpe2U9MDtkb3tjW00rKGU8PDMpPj4yXT0tMTtlPWUrMXwwfXdo
aWxlKChlfDApPChpfDApKX19ZT1VTChULGIsNCl8MDtpZigoZXwwKTwxKWlmKChlfDApPDApZT0x
O2Vsc2V7aT0xO1Y9MTF9ZWxzZXtpPWU7Vj0xMX1hOmRvIGlmKChWfDApPT0xMSl7TD1hKzh8MDtL
PShqfDApIT0wO0U9KGt8MCk9PTA7Rj0oTnwwKT4wO0c9YSsxMnwwO0g9KE58MCk8MTtJPWErNDR8
MDtKPWErMzJ8MDtDPWErMzZ8MDtEPShOfDApPT0wO2g9MDt2PWIraXwwO3U9MDtqPTA7ZT0tMTtn
PW07QT1VO3g9bTt3PW47d2hpbGUoMSl7aWYoKGV8MCk8MCl7YT1jW0w+PjJdfDA7az1hKzh8MDti
OmRvIGlmKGNbaz4+Ml18MCl7cD0odXwwKSE9MDtxPShofDApPT05NTtyPSh1fDApPT0wO3Q9SyYo
aHwwKT09MTA7cz0odXwwKTwxJkU7d2hpbGUoMSl7Yzp3aGlsZSgxKXtvPWErMTJ8MDtpZigoY1tN
KyhjW28+PjJdPDwzKT4+Ml18MCk+PSh1fDApKWJyZWFrO249YSsyMHwwO2I9Y1tuPj4yXXwwO2lm
KCFiKXtWPTQ2O2JyZWFrfWQ6ZG8gaWYoKGImMXwwKT09MHxzfHQpe2lmKGImMnwwPyhCPWNbVD4+
Ml18MCwhKChCfFF8MCk9PTB8SyYoQnwwKT09MTApKTowKWJyZWFrO2RvIGlmKGImMTZ8MCl7aWYo
cSlicmVhayBkO2lmKERLKGgpfDApYnJlYWsgZDtiPWNbVD4+Ml18MDtpZigoYnwwKT09OTUpYnJl
YWs7aWYoIShESyhiKXwwKSlicmVhayBkfXdoaWxlKDApO2I9Y1tuPj4yXXwwO2lmKGImMzIpe2lm
KHEpe2I9Y1tUPj4yXXwwO2lmKChifDApPT05NSlicmVha31lbHNle0I9KERLKGgpfDApPT0wO2I9
Y1tUPj4yXXwwO2lmKEJ8KGJ8MCk9PTk1KWJyZWFrfWlmKERLKGIpfDApYnJlYWs7Yj1jW24+PjJd
fDB9bT1jW1Q+PjJdfDA7ZG8gaWYoKG18MCkhPTAmKHAmKGImNjR8MCkhPTApKXtpZihxKWI9MTtl
bHNle2I9KERLKGgpfDApIT0wO209Y1tUPj4yXXwwfWlmKChtfDApPT05NSlpZihiKWJyZWFrIGQ7
ZWxzZSBicmVhaztlbHNlIGlmKGJeKERLKG0pfDApIT0wKWJyZWFrO2Vsc2UgYnJlYWsgZH13aGls
ZSgwKTtpZighKGNbbj4+Ml0mMTI4KSl7Vj00NjticmVhayBjfWI9Y1tUPj4yXXwwO2lmKHJ8KGJ8
MCk9PTApYnJlYWs7aWYocSltPTE7ZWxzZXttPShESyhoKXwwKSE9MDtiPWNbVD4+Ml18MH1pZigo
YnwwKT09OTUpaWYobSl7Vj00NjticmVhayBjfWVsc2UgYnJlYWs7ZWxzZSBpZihtXihESyhiKXww
KSE9MClicmVhaztlbHNle1Y9NDY7YnJlYWsgY319d2hpbGUoMCk7az1hKzQwfDA7aWYoIShjW2s+
PjJdfDApKWJyZWFrIGI7ZWxzZSBhPWErMzJ8MH1pZigoVnwwKT09NDYpe1Y9MDtjW2c+PjJdPWNb
az4+Ml07aWYoRilWTihjW2crND4+Ml18MCwtMSxQfDApfDA7az1jW2ErMTY+PjJdfDA7aWYoa3ww
PyhTPWNbaz4+Ml18MCwoU3wwKT4tMSk6MCl7bT1nKzR8MDtiPVM7ZG97aWYoKGJ8MCk8KE58MCkp
Y1soY1ttPj4yXXwwKSsoYjw8Mik+PjJdPXU7az1rKzR8MDtiPWNbaz4+Ml18MH13aGlsZSgoYnww
KT4tMSl9az0oY1tnPj4yXXwwKSE9KGNbRz4+Ml18MCk7aWYoa3xIKXtqPWs/ajoxO2U9az9lOnU7
az1nKzR8MH1lbHNle2s9Zys0fDA7aj1jW2s+PjJdfDA7ZT0wO2Rve2NbZCsoZTw8Mik+PjJdPWNb
aisoZTw8Mik+PjJdO2U9ZSsxfDB9d2hpbGUoKGV8MCkhPShOfDApKTtqPTE7ZT11fUI9Y1tvPj4y
XXwwO2NbTSsoQjw8Myk+PjJdPXU7Y1tNKyhCPDwzKSs0Pj4yXT1rO2c9Zys4fDB9az1hKzQwfDA7
aWYoIShjW2s+PjJdfDApKWJyZWFrO2Vsc2UgYT1hKzMyfDB9fXdoaWxlKDApO2NbZz4+Ml09MDtn
PWNbVD4+Ml18MDtpZighZylicmVhaztlbHNlIGg9Z31lbHNle2lmKEQpYnJlYWs7aD1jW1Q+PjJd
fDA7aWYoISgoZ3wwKSE9KHh8MCkmKGh8MCkhPTApKWJyZWFrfUI9dStpfDA7Zz1VTChULHYsNCl8
MDtpZigoZ3wwKTwxKWlmKChnfDApPDApe2U9MTticmVhayBhfWVsc2UgaT0xO2Vsc2UgaT1nO3o9
ditpfDA7aWYoKGp8MCkhPTAmKGNbST4+Ml18MCkhPTApe2lmKCEoY1t4Pj4yXXwwKSlnPXc7ZWxz
ZXtvPWNbQz4+Ml18MDtwPWNbbz4+Ml18MDtxPShwfDApPi0xO249eDtnPXc7ZG97bT1uKzR8MDtl
OmRvIGlmKHEpe2s9MDtiPXA7ZG97YT1jW28rKChrfDEpPDwyKT4+Ml18MDtpZigoYnwwKT49KE58
MCkpYnJlYWsgZTtqPWNbbT4+Ml18MDtpZigoY1tqKyhhPDwyKT4+Ml18MCk9PShjW2QrKGE8PDIp
Pj4yXXwwKT8oY1tqKyhiPDwyKT4+Ml18MCk8KGNbZCsoYjw8Mik+PjJdfDApOjApYnJlYWsgZTtr
PWsrMnwwO2I9Y1tvKyhrPDwyKT4+Ml18MH13aGlsZSgoYnwwKT4tMSk7az1tO1Y9NzV9ZWxzZXtr
PW07aj1jW20+PjJdfDA7Vj03NX13aGlsZSgwKTtpZigoVnwwKT09NzUpe1Y9MDtjW2c+PjJdPWNb
bj4+Ml07dj1nKzR8MDt5PWNbdj4+Ml18MDtjW3Y+PjJdPWo7Y1trPj4yXT15O2c9Zys4fDB9bj1u
Kzh8MH13aGlsZSgoY1tuPj4yXXwwKSE9MCl9Y1tnPj4yXT0wO3k9eDtqPTB9ZWxzZXt5PXc7dz14
fWs9Y1t3Pj4yXXwwO2lmKCFrKXtrPUE7Zz15fWVsc2V7cj0oQnwwKSE9MDtzPShofDApPT05NTt0
PShCfDApPT0wO3Y9SyYoaHwwKT09MTA7dT0oQnwwKTwxJkU7cT13O2E9QTtnPXk7d2hpbGUoMSl7
Yj1rKzh8MDtpZihjW2I+PjJdfDApe3A9cSs0fDA7bz1hO249Yjt3aGlsZSgxKXtmOmRvIGlmKChj
W2s+PjJdfDApPj4+MDw9aD4+PjA/KGNbays0Pj4yXXwwKT4+PjA+PWg+Pj4wOjApe209aysyMHww
O2E9Y1ttPj4yXXwwO2RvIGlmKGF8MCl7aWYoISgoYSYxfDApPT0wfHV8dikpe2E9bzticmVhayBm
fWlmKGEmMnwwPyhBPWNbVD4+Ml18MCwhKChBfFF8MCk9PTB8SyYoQXwwKT09MTApKTowKXthPW87
YnJlYWsgZn1kbyBpZihhJjE2fDApe2lmKHMpe2E9bzticmVhayBmfWlmKERLKGgpfDApe2E9bzti
cmVhayBmfWE9Y1tUPj4yXXwwO2lmKChhfDApPT05NSlicmVhaztpZighKERLKGEpfDApKXthPW87
YnJlYWsgZn19d2hpbGUoMCk7YT1jW20+PjJdfDA7aWYoYSYzMil7aWYocyl7YT1jW1Q+PjJdfDA7
aWYoKGF8MCk9PTk1KXthPW87YnJlYWsgZn19ZWxzZXtBPShESyhoKXwwKT09MDthPWNbVD4+Ml18
MDtpZihBfChhfDApPT05NSl7YT1vO2JyZWFrIGZ9fWlmKERLKGEpfDApe2E9bzticmVhayBmfWE9
Y1ttPj4yXXwwfWI9Y1tUPj4yXXwwO2RvIGlmKChifDApIT0wJihyJihhJjY0fDApIT0wKSl7aWYo
cylhPTE7ZWxzZXthPShESyhoKXwwKSE9MDtiPWNbVD4+Ml18MH1pZigoYnwwKT09OTUpaWYoYSl7
YT1vO2JyZWFrIGZ9ZWxzZSBicmVhaztlbHNlIGlmKGFeKERLKGIpfDApIT0wKWJyZWFrO2Vsc2V7
YT1vO2JyZWFrIGZ9fXdoaWxlKDApO2RvIGlmKGNbbT4+Ml0mMTI4fDApe2E9Y1tUPj4yXXwwO2lm
KHR8KGF8MCk9PTApe2E9bzticmVhayBmfWlmKHMpYj0xO2Vsc2V7Yj0oREsoaCl8MCkhPTA7YT1j
W1Q+PjJdfDB9aWYoKGF8MCk9PTk1KWlmKGIpYnJlYWs7ZWxzZXthPW87YnJlYWsgZn1lbHNlIGlm
KGJeKERLKGEpfDApIT0wKXthPW87YnJlYWsgZn1lbHNlIGJyZWFrfXdoaWxlKDApO2E9Y1ttPj4y
XXwwO2RvIGlmKGEmNCl7aWYoY1tSPj4yXSYyfDApYnJlYWs7aWYoIShDSyhoLGNbaysyND4+Ml18
MCl8MCkpe2E9bzticmVhayBmfWE9Y1ttPj4yXXwwfXdoaWxlKDApO2RvIGlmKGEmNHwwKXtpZigh
KGNbUj4+Ml0mMikpYnJlYWs7QT1LSyhoKXwwO2E9aysyNHwwO2lmKENLKEEsY1thPj4yXXwwKXww
KWJyZWFrO0E9bEsoaCl8MDtpZighKENLKEEsY1thPj4yXXwwKXwwKSl7YT1vO2JyZWFrIGZ9fXdo
aWxlKDApO2lmKCEoY1ttPj4yXSY4KSlicmVhaztpZih1TihjW2srMjg+PjJdfDAsaCxjW1I+PjJd
JjIpfDApe2E9bzticmVhayBmfX13aGlsZSgwKTtpZihGKXtiPWNbcD4+Ml18MDthPTA7ZG97Y1tv
KyhhPDwyKT4+Ml09Y1tiKyhhPDwyKT4+Ml07YT1hKzF8MH13aGlsZSgoYXwwKSE9KE58MCkpfWE9
Y1trKzE2Pj4yXXwwO2RvIGlmKGF8MCl7Yj1jW2E+PjJdfDA7aWYoKGJ8MCk8PS0xKWJyZWFrO2Rv
e2lmKChifDApPChOfDApKWNbbysoYjw8Mik+PjJdPUI7YT1hKzR8MDtiPWNbYT4+Ml18MH13aGls
ZSgoYnwwKT4tMSl9d2hpbGUoMCk7YT1jW2srMTI+PjJdfDA7Yj1NKyhhPDwzKXwwO2lmKChjW2I+
PjJdfDApPj0oQnwwKSl7YT1jW00rKGE8PDMpKzQ+PjJdfDA7Yj1jW2E+PjJdfDA7aWYoISh2TihO
LGNbSj4+Ml18MCxvLGIpfDApKXthPW87YnJlYWt9Y1thPj4yXT1vO2lmKChjW24+PjJdfDApIT0o
Y1tHPj4yXXwwKSl7YT1iO2JyZWFrfWlmKEYpZT0wO2Vsc2V7aj0xO2E9YjtlPUI7YnJlYWt9d2hp
bGUoMSl7Y1tkKyhlPDwyKT4+Ml09Y1tvKyhlPDwyKT4+Ml07ZT1lKzF8MDtpZigoZXwwKT09KE58
MCkpe2o9MTthPWI7ZT1CO2JyZWFrIGZ9fX1BPWNbbj4+Ml18MDtjW2c+PjJdPUE7eD1nKzR8MDtt
PWNbeD4+Ml18MDtjW3g+PjJdPW87Y1tiPj4yXT1CO2NbTSsoYTw8MykrND4+Ml09eDtkbyBpZigo
Y1tHPj4yXXwwKT09KEF8MCkpe2lmKChlfDApPT0tMSlpZihGKWU9MDtlbHNle2U9QjtqPTE7YnJl
YWt9ZWxzZXtpZighRilicmVhaztpZigoY1tvPj4yXXwwKT4oY1tkPj4yXXwwKSlicmVhaztlbHNl
IGU9MH1kb3tjW2QrKGU8PDIpPj4yXT1jW28rKGU8PDIpPj4yXTtlPWUrMXwwfXdoaWxlKChlfDAp
PChOfDApKTtlPUI7aj0xfXdoaWxlKDApO2E9bTtnPWcrOHwwfWVsc2UgYT1vO3doaWxlKDApO249
ays0MHwwO2lmKCEoY1tuPj4yXXwwKSlicmVhaztlbHNle2s9ayszMnwwO289YX19fXE9cSs4fDA7
az1jW3E+PjJdfDA7aWYoIWspe2s9YTticmVha319fWNbZz4+Ml09MDt2PXo7dT1CO0E9azt4PXl9
Y1tmPj4yXT1lO2U9ZT4+PjMxfXdoaWxlKDApO19JKFUpfWw9VztyZXR1cm4gZXwwfWZ1bmN0aW9u
IHROKGEsYixkLGUsZixnKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIg
aD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MDtpZigoZCY4fDApPT0wJihnfDApPi0xPyht
PWNbZSsxNj4+Ml18MCxuPWNbZSsyOD4+Ml18MCxsPShhfDApIT0wJihufDApIT0wLGwpOjApe2s9
Y1tlKzQ4Pj4yXXwwO2o9MDtkb3tkPWNbbSsoaioxMnwwKT4+Ml18MDtpZigoZHwwKT09KGt8MCkp
aT1nO2Vsc2UgaT1jW2YrKGQ8PDIpPj4yXXwwO2g9Yisoajw8Myl8MDtjW2g+PjJdPWk7ZD1jW20r
KGoqMTJ8MCkrND4+Ml18MDtpZigoZHwwKT09KGt8MCkpZD1nO2Vsc2UgZD1jW2YrKGQ8PDIpPj4y
XXwwO2U9Yisoajw8MykrNHwwO2NbZT4+Ml09ZDtpZigoZHwwKT09LTF8KGl8MCk9PS0xKXtjW2U+
PjJdPS0xO2NbaD4+Ml09LTF9aj1qKzF8MH13aGlsZShqPj4+MDxhPj4+MCZqPj4+MDxuPj4+MCk7
aWYobCl7ZD0wO2Rve2k9YisoZDw8MykrNHwwO2o9Y1ttKyhkKjEyfDApKzg+PjJdfDA7aWYoanww
PyhvPWNbaj4+Ml18MCwob3wwKT4tMSk6MCl7az1iKyhkPDwzKXwwO2g9MDtmPW87ZT1jW2s+PjJd
fDA7ZG97aWYoISgoZXwwKT49KGNbYisoZjw8Myk+PjJdfDApPyhjW2k+PjJdfDApPD0oY1tiKyhm
PDwzKSs0Pj4yXXwwKTowKSl7Y1tpPj4yXT0tMTtjW2s+PjJdPS0xO2U9LTF9aD1oKzF8MDtmPWNb
aisoaDw8Mik+PjJdfDB9d2hpbGUoKGZ8MCk+LTEpfWQ9ZCsxfDB9d2hpbGUoZD4+PjA8YT4+PjAm
ZD4+PjA8bj4+PjApfWVsc2UgZD0wfWVsc2UgZD0wO2lmKGQ+Pj4wPGE+Pj4wKVZOKGIrKGQ8PDMp
fDAsLTEsYS1kPDwzfDApfDA7cmV0dXJufWZ1bmN0aW9uIHVOKGEsYixkKXthPWF8MDtiPWJ8MDtk
PWR8MDt2YXIgZT0wLGY9MDtlPWNbYT4+Ml18MDthOmRvIGlmKCFlKWQ9MDtlbHNle2Y9KGR8MCk9
PTA7ZD1lO3doaWxlKDEpe2lmKGYpe2lmKENLKGIsZCl8MCl7ZD0xO2JyZWFrIGF9fWVsc2V7ZT1s
SyhiKXwwO2lmKENLKGUsY1thPj4yXXwwKXwwKXtkPTE7YnJlYWsgYX1lPUtLKGIpfDA7aWYoQ0so
ZSxjW2E+PjJdfDApfDApe2Q9MTticmVhayBhfX1hPWErNHwwO2Q9Y1thPj4yXXwwO2lmKCFkKXtk
PTA7YnJlYWt9fX13aGlsZSgwKTtyZXR1cm4gZHwwfWZ1bmN0aW9uIHZOKGEsYixkLGUpe2E9YXww
O2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MDthOmRvIGlmKChhfDApPjApe2Y9MDt3
aGlsZSgxKXtoPWNbZCsoZjw8Mik+PjJdfDA7Zz1jW2UrKGY8PDIpPj4yXXwwO2lmKCEoY1tiKyhm
PDwyKT4+Ml18MCkpe2lmKChofDApPChnfDApKXtmPTE7YnJlYWsgYX1pZigoaHwwKT4oZ3wwKSl7
Zj0wO2JyZWFrIGF9fWVsc2V7aWYoKGh8MCk+KGd8MCkpe2Y9MTticmVhayBhfWlmKChofDApPChn
fDApKXtmPTA7YnJlYWsgYX19Zj1mKzF8MDtpZigoZnwwKT49KGF8MCkpe2Y9MDticmVha319fWVs
c2UgZj0wO3doaWxlKDApO3JldHVybiBmfDB9ZnVuY3Rpb24gd04oYixkLGUsZil7Yj1ifDA7ZD1k
fDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wO2s9TyhlLGQpfDA7ZT0o
ZHwwKT09MD8wOmU7aWYoKGNbZis3Nj4+Ml18MCk+LTEpaj1PSyhmKXwwO2Vsc2Ugaj0wO2c9Zis3
NHwwO2g9YVtnPj4wXXwwO2FbZz4+MF09aCsyNTV8aDtnPWYrNHwwO2g9Y1tnPj4yXXwwO2k9KGNb
Zis4Pj4yXXwwKS1ofDA7aWYoKGl8MCk+MCl7aT1pPj4+MDxrPj4+MD9pOms7VE4oYnwwLGh8MCxp
fDApfDA7Y1tnPj4yXT0oY1tnPj4yXXwwKStpO2c9ay1pfDA7Yj1iK2l8MH1lbHNlIGc9azthOmRv
IGlmKCFnKWw9MTM7ZWxzZXtpPWYrMzJ8MDt3aGlsZSgxKXtpZihlSyhmKXwwKWJyZWFrO2g9YmJb
Y1tpPj4yXSYzMV0oZixiLGcpfDA7aWYoKGgrMXwwKT4+PjA8MilicmVhaztnPWctaHwwO2lmKCFn
KXtsPTEzO2JyZWFrIGF9ZWxzZSBiPWIraHwwfWlmKGp8MClQSyhmKTtlPSgoay1nfDApPj4+MCkv
KGQ+Pj4wKXwwfXdoaWxlKDApO2lmKChsfDApPT0xMylpZihqKVBLKGYpO3JldHVybiBlfDB9ZnVu
Y3Rpb24geE4oYSl7YT1hfDA7dmFyIGI9MDtpZigoY1thKzc2Pj4yXXwwKT4tMSl7Yj0oT0soYSl8
MCk9PTA7YT15TihhKXwwfWVsc2UgYT15TihhKXwwO3JldHVybiBhfDB9ZnVuY3Rpb24geU4oYSl7
YT1hfDA7dmFyIGI9MDtpZighKGNbYT4+Ml0mMTI4KSliPTE7ZWxzZSBiPShjW2ErMjA+PjJdfDAp
Pj4+MD4oY1thKzI4Pj4yXXwwKT4+PjA/MjoxO2I9YmJbY1thKzQwPj4yXSYzMV0oYSwwLGIpfDA7
aWYoKGJ8MCk+PTApYj1iLShjW2ErOD4+Ml18MCkrKGNbYSs0Pj4yXXwwKSsoY1thKzIwPj4yXXww
KS0oY1thKzI4Pj4yXXwwKXwwO3JldHVybiBifDB9ZnVuY3Rpb24gek4oYSl7YT1hfDA7KGNbYSs3
Nj4+Ml18MCk+LTE/T0soYSl8MDowO3JldHVybiBjW2ErNjA+PjJdfDB9ZnVuY3Rpb24gQU4oKXt2
YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7az1sO2w9bCs0OHwwO2k9aysy
NHwwO2g9aysxNnwwO2c9aztkPWsrMjh8MDtiPWQ7ZT0xMzQ5ODg7Zj1iKzIwfDA7ZG97YVtiPj4w
XT1hW2U+PjBdfDA7Yj1iKzF8MDtlPWUrMXwwfXdoaWxlKChifDApPChmfDApKTtlPWQrMTN8MDti
PTA7d2hpbGUoMSl7QUwoZSl8MDtjW2c+PjJdPWQ7Y1tnKzQ+PjJdPTMyOTYyO2NbZys4Pj4yXT0z
ODQ7Zj1pSihCYSg1LGd8MCl8MCl8MDtpZigoZnwwKT4tMSl7aj00O2JyZWFrfWlmKChifDApPDk5
KWI9YisxfDA7ZWxzZXtiPTA7YnJlYWt9fWlmKChqfDApPT00KXtjW2g+PjJdPWQ7c2EoMTAsaHww
KXwwO2I9U0woZiwxMzUwMDgpfDA7aWYoIWIpe2NbaT4+Ml09ZjtEYSg2LGl8MCl8MDtiPTB9fWw9
aztyZXR1cm4gYnwwfWZ1bmN0aW9uIEJOKGEpe2E9YXwwO3ZhciBiPTAsZT0wLGY9MDtpZigoY1th
Kzc2Pj4yXXwwKT49MD8oT0soYSl8MCkhPTA6MCl7Yj1hKzR8MDtlPWNbYj4+Ml18MDtpZihlPj4+
MDwoY1thKzg+PjJdfDApPj4+MCl7Y1tiPj4yXT1lKzE7Yj1kW2U+PjBdfDB9ZWxzZSBiPWRLKGEp
fDB9ZWxzZSBmPTM7ZG8gaWYoKGZ8MCk9PTMpe2I9YSs0fDA7ZT1jW2I+PjJdfDA7aWYoZT4+PjA8
KGNbYSs4Pj4yXXwwKT4+PjApe2NbYj4+Ml09ZSsxO2I9ZFtlPj4wXXwwO2JyZWFrfWVsc2V7Yj1k
SyhhKXwwO2JyZWFrfX13aGlsZSgwKTtyZXR1cm4gYnwwfWZ1bmN0aW9uIENOKGIsZCl7Yj1ifDA7
ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MDtpZigoY1tkKzc2Pj4yXXwwKT49
MD8oT0soZCl8MCkhPTA6MCl7Zj1iJjI1NTtlPWImMjU1O2lmKChlfDApIT0oYVtkKzc1Pj4wXXww
KT8oaT1kKzIwfDAsaj1jW2k+PjJdfDAsaj4+PjA8KGNbZCsxNj4+Ml18MCk+Pj4wKTowKXtjW2k+
PjJdPWorMTthW2o+PjBdPWZ9ZWxzZSBlPVlMKGQsYil8MDtQSyhkKX1lbHNlIGs9MztkbyBpZigo
a3wwKT09Myl7Zj1iJjI1NTtlPWImMjU1O2lmKChlfDApIT0oYVtkKzc1Pj4wXXwwKT8oZz1kKzIw
fDAsaD1jW2c+PjJdfDAsaD4+PjA8KGNbZCsxNj4+Ml18MCk+Pj4wKTowKXtjW2c+PjJdPWgrMTth
W2g+PjBdPWY7YnJlYWt9ZT1ZTChkLGIpfDB9d2hpbGUoMCk7cmV0dXJuIGV8MH1mdW5jdGlvbiBE
TihhKXthPWF8MDtyZXR1cm4geE4oYSl8MH1mdW5jdGlvbiBFTigpe31mdW5jdGlvbiBGTihhLGIp
e2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxmPTA7Zj1hJjY1NTM1O2U9YiY2NTUzNTtjPU8o
ZSxmKXwwO2Q9YT4+PjE2O2E9KGM+Pj4xNikrKE8oZSxkKXwwKXwwO2U9Yj4+PjE2O2I9TyhlLGYp
fDA7cmV0dXJuICh6PShhPj4+MTYpKyhPKGUsZCl8MCkrKCgoYSY2NTUzNSkrYnwwKT4+PjE2KXww
LGErYjw8MTZ8YyY2NTUzNXwwKXwwfWZ1bmN0aW9uIEdOKGEsYixjLGQpe2E9YXwwO2I9YnwwO2M9
Y3wwO2Q9ZHwwO3ZhciBlPTAsZj0wO2U9YTtmPWM7Yz1GTihlLGYpfDA7YT16O3JldHVybiAoej0o
TyhiLGYpfDApKyhPKGQsZSl8MCkrYXxhJjAsY3wwfDApfDB9ZnVuY3Rpb24gSE4oYSxiLGMsZCl7
YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7Yz1hK2M+Pj4wO3JldHVybiAoej1iK2QrKGM+Pj4wPGE+
Pj4wfDApPj4+MCxjfDApfDB9ZnVuY3Rpb24gSU4oYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7
ZD1kfDA7ZD1iLWQtKGM+Pj4wPmE+Pj4wfDApPj4+MDtyZXR1cm4gKHo9ZCxhLWM+Pj4wfDApfDB9
ZnVuY3Rpb24gSk4oYil7Yj1ifDA7dmFyIGM9MDtjPWFbbisoYiYyNTUpPj4wXXwwO2lmKChjfDAp
PDgpcmV0dXJuIGN8MDtjPWFbbisoYj4+OCYyNTUpPj4wXXwwO2lmKChjfDApPDgpcmV0dXJuIGMr
OHwwO2M9YVtuKyhiPj4xNiYyNTUpPj4wXXwwO2lmKChjfDApPDgpcmV0dXJuIGMrMTZ8MDtyZXR1
cm4gKGFbbisoYj4+PjI0KT4+MF18MCkrMjR8MH1mdW5jdGlvbiBLTihhLGIsZCxlLGYpe2E9YXww
O2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAs
bj0wLG89MCxwPTA7bD1hO2o9YjtrPWo7aD1kO249ZTtpPW47aWYoIWspe2c9KGZ8MCkhPTA7aWYo
IWkpe2lmKGcpe2NbZj4+Ml09KGw+Pj4wKSUoaD4+PjApO2NbZis0Pj4yXT0wfW49MDtmPShsPj4+
MCkvKGg+Pj4wKT4+PjA7cmV0dXJuICh6PW4sZil8MH1lbHNle2lmKCFnKXtuPTA7Zj0wO3JldHVy
biAoej1uLGYpfDB9Y1tmPj4yXT1hfDA7Y1tmKzQ+PjJdPWImMDtuPTA7Zj0wO3JldHVybiAoej1u
LGYpfDB9fWc9KGl8MCk9PTA7ZG8gaWYoaCl7aWYoIWcpe2c9KFIoaXwwKXwwKS0oUihrfDApfDAp
fDA7aWYoZz4+PjA8PTMxKXttPWcrMXwwO2k9MzEtZ3wwO2I9Zy0zMT4+MzE7aD1tO2E9bD4+Piht
Pj4+MCkmYnxrPDxpO2I9az4+PihtPj4+MCkmYjtnPTA7aT1sPDxpO2JyZWFrfWlmKCFmKXtuPTA7
Zj0wO3JldHVybiAoej1uLGYpfDB9Y1tmPj4yXT1hfDA7Y1tmKzQ+PjJdPWp8YiYwO249MDtmPTA7
cmV0dXJuICh6PW4sZil8MH1nPWgtMXwwO2lmKGcmaHwwKXtpPShSKGh8MCl8MCkrMzMtKFIoa3ww
KXwwKXwwO3A9NjQtaXwwO209MzItaXwwO2o9bT4+MzE7bz1pLTMyfDA7Yj1vPj4zMTtoPWk7YT1t
LTE+PjMxJms+Pj4obz4+PjApfChrPDxtfGw+Pj4oaT4+PjApKSZiO2I9YiZrPj4+KGk+Pj4wKTtn
PWw8PHAmajtpPShrPDxwfGw+Pj4obz4+PjApKSZqfGw8PG0maS0zMz4+MzE7YnJlYWt9aWYoZnww
KXtjW2Y+PjJdPWcmbDtjW2YrND4+Ml09MH1pZigoaHwwKT09MSl7bz1qfGImMDtwPWF8MHwwO3Jl
dHVybiAoej1vLHApfDB9ZWxzZXtwPUpOKGh8MCl8MDtvPWs+Pj4ocD4+PjApfDA7cD1rPDwzMi1w
fGw+Pj4ocD4+PjApfDA7cmV0dXJuICh6PW8scCl8MH19ZWxzZXtpZihnKXtpZihmfDApe2NbZj4+
Ml09KGs+Pj4wKSUoaD4+PjApO2NbZis0Pj4yXT0wfW89MDtwPShrPj4+MCkvKGg+Pj4wKT4+PjA7
cmV0dXJuICh6PW8scCl8MH1pZighbCl7aWYoZnwwKXtjW2Y+PjJdPTA7Y1tmKzQ+PjJdPShrPj4+
MCklKGk+Pj4wKX1vPTA7cD0oaz4+PjApLyhpPj4+MCk+Pj4wO3JldHVybiAoej1vLHApfDB9Zz1p
LTF8MDtpZighKGcmaSkpe2lmKGZ8MCl7Y1tmPj4yXT1hfDA7Y1tmKzQ+PjJdPWcma3xiJjB9bz0w
O3A9az4+PigoSk4oaXwwKXwwKT4+PjApO3JldHVybiAoej1vLHApfDB9Zz0oUihpfDApfDApLShS
KGt8MCl8MCl8MDtpZihnPj4+MDw9MzApe2I9ZysxfDA7aT0zMS1nfDA7aD1iO2E9azw8aXxsPj4+
KGI+Pj4wKTtiPWs+Pj4oYj4+PjApO2c9MDtpPWw8PGk7YnJlYWt9aWYoIWYpe289MDtwPTA7cmV0
dXJuICh6PW8scCl8MH1jW2Y+PjJdPWF8MDtjW2YrND4+Ml09anxiJjA7bz0wO3A9MDtyZXR1cm4g
KHo9byxwKXwwfXdoaWxlKDApO2lmKCFoKXtrPWk7aj0wO2k9MH1lbHNle209ZHwwfDA7bD1ufGUm
MDtrPUhOKG18MCxsfDAsLTEsLTEpfDA7ZD16O2o9aTtpPTA7ZG97ZT1qO2o9Zz4+PjMxfGo8PDE7
Zz1pfGc8PDE7ZT1hPDwxfGU+Pj4zMXwwO249YT4+PjMxfGI8PDF8MDtJTihrfDAsZHwwLGV8MCxu
fDApfDA7cD16O289cD4+MzF8KChwfDApPDA/LTE6MCk8PDE7aT1vJjE7YT1JTihlfDAsbnwwLG8m
bXwwLCgoKHB8MCk8MD8tMTowKT4+MzF8KChwfDApPDA/LTE6MCk8PDEpJmx8MCl8MDtiPXo7aD1o
LTF8MH13aGlsZSgoaHwwKSE9MCk7az1qO2o9MH1oPTA7aWYoZnwwKXtjW2Y+PjJdPWE7Y1tmKzQ+
PjJdPWJ9bz0oZ3wwKT4+PjMxfChrfGgpPDwxfChoPDwxfGc+Pj4zMSkmMHxqO3A9KGc8PDF8MD4+
PjMxKSYtMnxpO3JldHVybiAoej1vLHApfDB9ZnVuY3Rpb24gTE4oYSxiLGMsZCl7YT1hfDA7Yj1i
fDA7Yz1jfDA7ZD1kfDA7cmV0dXJuIEtOKGEsYixjLGQsMCl8MH1mdW5jdGlvbiBNTihhLGIsZCxl
KXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MDtnPWw7bD1sKzE2fDA7Zj1nfDA7
S04oYSxiLGQsZSxmKXwwO2w9ZztyZXR1cm4gKHo9Y1tmKzQ+PjJdfDAsY1tmPj4yXXwwKXwwfWZ1
bmN0aW9uIE5OKGEsYixjKXthPWF8MDtiPWJ8MDtjPWN8MDtpZigoY3wwKTwzMil7ej1iPj4+Yzty
ZXR1cm4gYT4+PmN8KGImKDE8PGMpLTEpPDwzMi1jfXo9MDtyZXR1cm4gYj4+PmMtMzJ8MH1mdW5j
dGlvbiBPTihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7aWYoKGN8MCk8MzIpe3o9Yjw8Y3woYSYo
MTw8YyktMTw8MzItYyk+Pj4zMi1jO3JldHVybiBhPDxjfXo9YTw8Yy0zMjtyZXR1cm4gMH1mdW5j
dGlvbiBQTihhKXthPWF8MDtyZXR1cm4gKGEmMjU1KTw8OHxhPj44JjI1NXwwfWZ1bmN0aW9uIFFO
KGEpe2E9YXwwO3JldHVybiAoYSYyNTUpPDwyNHwoYT4+OCYyNTUpPDwxNnwoYT4+MTYmMjU1KTw8
OHxhPj4+MjR8MH1mdW5jdGlvbiBSTihhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2
YXIgZj0wO3E9cSsxfDA7Y1thPj4yXT1xO3doaWxlKChmfDApPChlfDApKXtpZighKGNbZCsoZjw8
Myk+PjJdfDApKXtjW2QrKGY8PDMpPj4yXT1xO2NbZCsoKGY8PDMpKzQpPj4yXT1iO2NbZCsoKGY8
PDMpKzgpPj4yXT0wO3o9ZTtyZXR1cm4gZHwwfWY9ZisxfDB9ZT1lKjJ8MDtkPWFKKGR8MCw4Kihl
KzF8MCl8MCl8MDtkPVJOKGF8MCxifDAsZHwwLGV8MCl8MDt6PWU7cmV0dXJuIGR8MH1mdW5jdGlv
biBTTihhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTA7d2hpbGUoKGZ8MCk8KGR8
MCkpe2U9Y1tiKyhmPDwzKT4+Ml18MDtpZighZSlicmVhaztpZigoZXwwKT09KGF8MCkpcmV0dXJu
IGNbYisoKGY8PDMpKzQpPj4yXXwwO2Y9ZisxfDB9cmV0dXJuIDB9ZnVuY3Rpb24gVE4oYixkLGUp
e2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MDtpZigoZXwwKT49ODE5MilyZXR1cm4g
TGEoYnwwLGR8MCxlfDApfDA7aD1ifDA7Zz1iK2V8MDtpZigoYiYzKT09KGQmMykpe3doaWxlKGIm
Myl7aWYoIWUpcmV0dXJuIGh8MDthW2I+PjBdPWFbZD4+MF18MDtiPWIrMXwwO2Q9ZCsxfDA7ZT1l
LTF8MH1lPWcmLTR8MDtmPWUtNjR8MDt3aGlsZSgoYnwwKTw9KGZ8MCkpe2NbYj4+Ml09Y1tkPj4y
XTtjW2IrND4+Ml09Y1tkKzQ+PjJdO2NbYis4Pj4yXT1jW2QrOD4+Ml07Y1tiKzEyPj4yXT1jW2Qr
MTI+PjJdO2NbYisxNj4+Ml09Y1tkKzE2Pj4yXTtjW2IrMjA+PjJdPWNbZCsyMD4+Ml07Y1tiKzI0
Pj4yXT1jW2QrMjQ+PjJdO2NbYisyOD4+Ml09Y1tkKzI4Pj4yXTtjW2IrMzI+PjJdPWNbZCszMj4+
Ml07Y1tiKzM2Pj4yXT1jW2QrMzY+PjJdO2NbYis0MD4+Ml09Y1tkKzQwPj4yXTtjW2IrNDQ+PjJd
PWNbZCs0ND4+Ml07Y1tiKzQ4Pj4yXT1jW2QrNDg+PjJdO2NbYis1Mj4+Ml09Y1tkKzUyPj4yXTtj
W2IrNTY+PjJdPWNbZCs1Nj4+Ml07Y1tiKzYwPj4yXT1jW2QrNjA+PjJdO2I9Yis2NHwwO2Q9ZCs2
NHwwfXdoaWxlKChifDApPChlfDApKXtjW2I+PjJdPWNbZD4+Ml07Yj1iKzR8MDtkPWQrNHwwfX1l
bHNle2U9Zy00fDA7d2hpbGUoKGJ8MCk8KGV8MCkpe2FbYj4+MF09YVtkPj4wXXwwO2FbYisxPj4w
XT1hW2QrMT4+MF18MDthW2IrMj4+MF09YVtkKzI+PjBdfDA7YVtiKzM+PjBdPWFbZCszPj4wXXww
O2I9Yis0fDA7ZD1kKzR8MH19d2hpbGUoKGJ8MCk8KGd8MCkpe2FbYj4+MF09YVtkPj4wXXwwO2I9
YisxfDA7ZD1kKzF8MH1yZXR1cm4gaHwwfWZ1bmN0aW9uIFVOKGIsYyxkKXtiPWJ8MDtjPWN8MDtk
PWR8MDt2YXIgZT0wO2lmKChjfDApPChifDApJihifDApPChjK2R8MCkpe2U9YjtjPWMrZHwwO2I9
YitkfDA7d2hpbGUoKGR8MCk+MCl7Yj1iLTF8MDtjPWMtMXwwO2Q9ZC0xfDA7YVtiPj4wXT1hW2M+
PjBdfDB9Yj1lfWVsc2UgVE4oYixjLGQpfDA7cmV0dXJuIGJ8MH1mdW5jdGlvbiBWTihiLGQsZSl7
Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MDtoPWIrZXwwO2Q9ZCYyNTU7aWYo
KGV8MCk+PTY3KXt3aGlsZShiJjMpe2FbYj4+MF09ZDtiPWIrMXwwfWY9aCYtNHwwO2c9Zi02NHww
O2k9ZHxkPDw4fGQ8PDE2fGQ8PDI0O3doaWxlKChifDApPD0oZ3wwKSl7Y1tiPj4yXT1pO2NbYis0
Pj4yXT1pO2NbYis4Pj4yXT1pO2NbYisxMj4+Ml09aTtjW2IrMTY+PjJdPWk7Y1tiKzIwPj4yXT1p
O2NbYisyND4+Ml09aTtjW2IrMjg+PjJdPWk7Y1tiKzMyPj4yXT1pO2NbYiszNj4+Ml09aTtjW2Ir
NDA+PjJdPWk7Y1tiKzQ0Pj4yXT1pO2NbYis0OD4+Ml09aTtjW2IrNTI+PjJdPWk7Y1tiKzU2Pj4y
XT1pO2NbYis2MD4+Ml09aTtiPWIrNjR8MH13aGlsZSgoYnwwKTwoZnwwKSl7Y1tiPj4yXT1pO2I9
Yis0fDB9fXdoaWxlKChifDApPChofDApKXthW2I+PjBdPWQ7Yj1iKzF8MH1yZXR1cm4gaC1lfDB9
ZnVuY3Rpb24gV04oYSl7YT1hfDA7dmFyIGI9MCxkPTA7ZD1jW2k+PjJdfDA7Yj1kK2F8MDtpZigo
YXwwKT4wJihifDApPChkfDApfChifDApPDApe1coKXwwO3JhKDEyKTtyZXR1cm4gLTF9Y1tpPj4y
XT1iO2lmKChifDApPihWKCl8MCk/KFUoKXwwKT09MDowKXtjW2k+PjJdPWQ7cmEoMTIpO3JldHVy
biAtMX1yZXR1cm4gZHwwfWZ1bmN0aW9uIFhOKGEpe2E9YXwwO3JldHVybiArWWFbYSYxXSgpfWZ1
bmN0aW9uIFlOKGEsYixjLGQpe2E9YXwwO2I9K2I7Yz0rYztkPStkO3JldHVybiArWmFbYSY3XSgr
YiwrYywrZCl9ZnVuY3Rpb24gWk4oYSl7YT1hfDA7cmV0dXJuIF9hW2EmM10oKXwwfWZ1bmN0aW9u
IF9OKGEsYil7YT1hfDA7Yj1ifDA7cmV0dXJuICRhW2EmMzFdKGJ8MCl8MH1mdW5jdGlvbiAkTihh
LGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7cmV0dXJuIGFiW2EmNjNdKGJ8MCxjfDApfDB9ZnVuY3Rp
b24gYU8oYSxiLGMsZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7cmV0dXJuIGJiW2EmMzFdKGJ8
MCxjfDAsZHwwKXwwfWZ1bmN0aW9uIGJPKGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1k
fDA7ZT1lfDA7cmV0dXJuIGNiW2EmMzFdKGJ8MCxjfDAsZHwwLGV8MCl8MH1mdW5jdGlvbiBjTyhh
LGIsYyxkLGUsZil7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7cmV0dXJuIGRi
W2EmM10oYnwwLGN8MCxkfDAsZXwwLGZ8MCl8MH1mdW5jdGlvbiBkTyhhLGIsYyxkLGUsZixnKXth
PWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtyZXR1cm4gZWJbYSYxXShi
fDAsY3wwLGR8MCxlfDAsZnwwLGd8MCl8MH1mdW5jdGlvbiBlTyhhKXthPWF8MDtmYlthJjE1XSgp
fWZ1bmN0aW9uIGZPKGEsYil7YT1hfDA7Yj1ifDA7Z2JbYSYxMjddKGJ8MCl9ZnVuY3Rpb24gZ08o
YSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2hiW2EmMzFdKGJ8MCxjfDApfWZ1bmN0aW9uIGhPKGEs
YixjLGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2liW2EmMTI3XShifDAsY3wwLGR8MCl9ZnVu
Y3Rpb24gaU8oYSxiLGMsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT0rZTtmPStm
O2c9Z3wwO2piW2EmMTVdKGJ8MCxjfDAsZHwwLCtlLCtmLGd8MCl9ZnVuY3Rpb24gak8oYSxiLGMs
ZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtrYlthJjMxXShifDAsY3wwLGR8MCxl
fDApfWZ1bmN0aW9uIGtPKGEsYixjLGQsZSxmKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8
MDtmPWZ8MDtsYlthJjddKGJ8MCxjfDAsZHwwLGV8MCxmfDApfWZ1bmN0aW9uIGxPKGEsYixjLGQs
ZSxmLGcpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO21iW2EmMTVd
KGJ8MCxjfDAsZHwwLGV8MCxmfDAsZ3wwKX1mdW5jdGlvbiBtTygpe1MoMCk7cmV0dXJuIDAuMH1m
dW5jdGlvbiBuTyhhLGIsYyl7YT0rYTtiPStiO2M9K2M7UygxKTtyZXR1cm4gMC4wfWZ1bmN0aW9u
IG9PKCl7UygyKTtyZXR1cm4gMH1mdW5jdGlvbiBwTyhhKXthPWF8MDtTKDMpO3JldHVybiAwfWZ1
bmN0aW9uIHFPKGEsYil7YT1hfDA7Yj1ifDA7Uyg0KTtyZXR1cm4gMH1mdW5jdGlvbiByTyhhLGIs
Yyl7YT1hfDA7Yj1ifDA7Yz1jfDA7Uyg1KTtyZXR1cm4gMH1mdW5jdGlvbiBzTyhhLGIsYyxkKXth
PWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtTKDYpO3JldHVybiAwfWZ1bmN0aW9uIHRPKGEsYixjLGQs
ZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Uyg3KTtyZXR1cm4gMH1mdW5jdGlvbiB1
TyhhLGIsYyxkLGUsZil7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Uyg4KTty
ZXR1cm4gMH1mdW5jdGlvbiB2Tygpe1MoOSl9ZnVuY3Rpb24gd08oYSl7YT1hfDA7UygxMCl9ZnVu
Y3Rpb24geE8oYSxiKXthPWF8MDtiPWJ8MDtTKDExKX1mdW5jdGlvbiB5TyhhLGIsYyl7YT1hfDA7
Yj1ifDA7Yz1jfDA7UygxMil9ZnVuY3Rpb24gek8oYSxiLGMsZCxlLGYpe2E9YXwwO2I9YnwwO2M9
Y3wwO2Q9K2Q7ZT0rZTtmPWZ8MDtTKDEzKX1mdW5jdGlvbiBBTyhhLGIsYyxkKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPWR8MDtTKDE0KX1mdW5jdGlvbiBCTyhhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9
Y3wwO2Q9ZHwwO2U9ZXwwO1MoMTUpfWZ1bmN0aW9uIENPKGEsYixjLGQsZSxmKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPWR8MDtlPWV8MDtmPWZ8MDtTKDE2KX0KKworLy8gRU1TQ1JJUFRFTl9FTkRfRlVO
Q1MKK3ZhciBZYT1bbU8seUFdO3ZhciBaYT1bbk8sVXUsVHUsVnUsV3Usbk8sbk8sbk9dO3ZhciBf
YT1bb08sRncsd3gsb09dO3ZhciAkYT1bcE8sUmcsa2csUm4sVW4sJEIsYUMsUkQsU0QsVEQsVUQs
VkQsV0QsWEQsWUQsZkosdWIsb3IsbGwsb2wsQncsR3csbm4sd3csY28sTkIsdncsU0IsVEIsTkks
cE8scE9dO3ZhciBhYj1bcU8sdG4sUW4sVm4seXosenoscXosbXosV3ksbXIsYWcsUWcscmgsVmgs
bGksd2ssdWssbWwscGwsenEseXEseHEsRHMsVHMsT3MsUHMsT3QsV0wsQ04sc0EsdUIsSW0sd0cs
UG0sUm0sZW8sT0IseEosWEUsSkksS0ksbk4scU8scU8scU8scU8scU8scU8scU8scU8scU8scU8s
cU8scU8scU8scU8scU8scU8scU8scU8scU8scU8scU8scU9dO3ZhciBiYj1bck8sUGwsVmwsUG4s
VG4sZ0csZ0osaEosbEosbUosJEssX2wsWGwsekwsdUEsRXgsJEMsR0ksZU0sck8sck8sck8sck8s
ck8sck8sck8sck8sck8sck8sck8sck8sck9dO3ZhciBjYj1bc08sTm0sTnAsT20sZm4sdm4seG4s
SW4sSG4sV24sX24sYW8seXgsQ0MsQUMsd0UsaUcsRUcsREcsTWwsd0Esc08sc08sc08sc08sc08s
c08sc08sc08sc08sc08sc09dO3ZhciBkYj1bdE8sdW4sWHkscnpdO3ZhciBlYj1bdU8sa0ldO3Zh
ciBmYj1bdk8seEEsQ3csRHcsRXcsSXcsSncsS3csbUcsdk8sdk8sdk8sdk8sdk8sdk8sdk9dO3Zh
ciBnYj1bd08semIsQWIsRWIsRmIsR2IsX2IsJGIseGMseWMsemMsQWMsQmMsQ2MsRGMsUGMsUWMs
VGMsVWMsVmMsV2MsWGMsWWMsWmMsamQsa2QsbGQsbmQsb2QscGQscWQscmQsc2QsdGQsdWQsRmQs
R2QsSGQsSmQsS2QsTGQsTWQsTmQsT2QsUGQsUWQsUmQsVGQsZWUsZmUsZ2UsaGUsc2UsdGUsdWUs
d2UsSmUsS2UsTGUsTmUsT2UsUGUsUWUsUmUsU2UsVGUsVWUsVmUsY2YsZGYsZWYsZmYsSmYsRWYs
eW4sQ3ksVXksRXksRHksb3osYXksZHksWkQsY0UseGYscWwsbG0sbEcsVUMsVkIsengsX0ksRkcs
akksRUksRkksTEksd08sd08sd08sd08sd08sd08sd08sd08sd08sd08sd08sd08sd08sd08sd08s
d08sd08sd08sd08sd08sd08sd08sd08sd08sd08sd08sd08sd08sd08sd08sd09dO3ZhciBoYj1b
eE8sRmMsS2MsJGMsZWQsQmQsWmQsbmUsQ2UsJGUsbWYsWG4sWXksQXosc3osbnosU3ksVHksd3os
eHosYUUsZUUsYm0scnMsSHcsTUIsaUksSEksSUksTUksT0kseE9dO3ZhciBpYj1beU8sSGIsSWIs
TGIsd2MsRWMsR2MsSmMsX2MsYWQsZGQsd2QseGQsQWQsVWQsVmQsWWQsaWUsamUsbWUseGUseWUs
QmUsV2UsWGUsX2UsZ2YsaGYsbGYsYmssY2ssZGssaW0sem4sJG4sSm8sT3AsanMsRXYseHgsY3ks
bUIsQkMsekMsX0QsJEQsYkUsZEUsZkUsaEcsV0gsVkgsQm0sYm4sb28sUm8sVW8sQXcsdkEsQ3gs
UUIsVUIsWEgsWkgsX0gseU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8s
eU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8s
eU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU8s
eU8seU8seU8seU8seU8seU8seU8seU8seU8seU8seU9dO3ZhciBqYj1bek8sRnQsR3QsSHQsSXQs
SnQsS3QsTHQsTXQsek8sek8sek8sek8sek8sek8sek9dO3ZhciBrYj1bQU8sSmIsSGMsYmQsbWQs
eWQsSWQsV2Qsa2UsemUsTWUsWWUsamYsQWYsemYseWYsd2YsdmYsdWYsWmIsdGYsc2Ysd24sVnks
cHosckwsUEIsUkIsQU8sQU8sQU8sQU9dO3ZhciBsYj1bQk8sUmMsdmQsQ2QsU2QsdmUsbmwsV0Jd
O3ZhciBtYj1bQ08sS2IsSWMsY2QsemQsWGQsbGUsQWUsWmUsa2YsWEIsQ08sQ08sQ08sQ08sQ09d
O3JldHVybntfX19lcnJub19sb2NhdGlvbjpqSixfX19tdWxkaTM6R04sX19fdWRpdmRpMzpMTixf
X191cmVtZGkzOk1OLF9iaXRzaGlmdDY0THNocjpOTixfYml0c2hpZnQ2NFNobDpPTixfZHRkaXNj
OkxsLF9kdGV4dHJhY3Q6TmwsX2R0b3BlbjpRbCxfZnJlZTpfSSxfaHRvbnM6ZUwsX2k2NEFkZDpI
TixfaTY0U3VidHJhY3Q6SU4sX2xsdm1fYnN3YXBfaTE2OlBOLF9sbHZtX2Jzd2FwX2kzMjpRTixf
bWFsbG9jOlpJLF9tZW1hbGlnbjpkSixfbWVtY3B5OlROLF9tZW1tb3ZlOlVOLF9tZW1zZXQ6Vk4s
X3JlYWxsb2M6YUosX3NhdmVTZXRqbXA6Uk4sX3Nicms6V04sX3Rlc3RTZXRqbXA6U04sX3ZpekNy
ZWF0ZUZpbGU6d2IsX3Zpekxhc3RFcnJvck1lc3NhZ2U6dmIsX3ZpelJlbmRlckZyb21TdHJpbmc6
eWIsX3ZpelNldFlfaW52ZXJ0OnhiLGR5bkNhbGxfZDpYTixkeW5DYWxsX2RkZGQ6WU4sZHluQ2Fs
bF9pOlpOLGR5bkNhbGxfaWk6X04sZHluQ2FsbF9paWk6JE4sZHluQ2FsbF9paWlpOmFPLGR5bkNh
bGxfaWlpaWk6Yk8sZHluQ2FsbF9paWlpaWk6Y08sZHluQ2FsbF9paWlpaWlpOmRPLGR5bkNhbGxf
djplTyxkeW5DYWxsX3ZpOmZPLGR5bkNhbGxfdmlpOmdPLGR5bkNhbGxfdmlpaTpoTyxkeW5DYWxs
X3ZpaWlkZGk6aU8sZHluQ2FsbF92aWlpaTpqTyxkeW5DYWxsX3ZpaWlpaTprTyxkeW5DYWxsX3Zp
aWlpaWk6bE8sZXN0YWJsaXNoU3RhY2tTcGFjZTpxYixnZXRUZW1wUmV0MDp0YixydW5Qb3N0U2V0
czpFTixzZXRUZW1wUmV0MDpzYixzZXRUaHJldzpyYixzdGFja0FsbG9jOm5iLHN0YWNrUmVzdG9y
ZTpwYixzdGFja1NhdmU6b2J9fSkKKworCisvLyBFTVNDUklQVEVOX0VORF9BU00KKyhNb2R1bGUu
YXNtR2xvYmFsQXJnLE1vZHVsZS5hc21MaWJyYXJ5QXJnLGJ1ZmZlcik7dmFyIF9fX2Vycm5vX2xv
Y2F0aW9uPU1vZHVsZVsiX19fZXJybm9fbG9jYXRpb24iXT1hc21bIl9fX2Vycm5vX2xvY2F0aW9u
Il07dmFyIF9fX211bGRpMz1Nb2R1bGVbIl9fX211bGRpMyJdPWFzbVsiX19fbXVsZGkzIl07dmFy
IF9fX3VkaXZkaTM9TW9kdWxlWyJfX191ZGl2ZGkzIl09YXNtWyJfX191ZGl2ZGkzIl07dmFyIF9f
X3VyZW1kaTM9TW9kdWxlWyJfX191cmVtZGkzIl09YXNtWyJfX191cmVtZGkzIl07dmFyIF9iaXRz
aGlmdDY0THNocj1Nb2R1bGVbIl9iaXRzaGlmdDY0THNociJdPWFzbVsiX2JpdHNoaWZ0NjRMc2hy
Il07dmFyIF9iaXRzaGlmdDY0U2hsPU1vZHVsZVsiX2JpdHNoaWZ0NjRTaGwiXT1hc21bIl9iaXRz
aGlmdDY0U2hsIl07dmFyIF9kdGRpc2M9TW9kdWxlWyJfZHRkaXNjIl09YXNtWyJfZHRkaXNjIl07
dmFyIF9kdGV4dHJhY3Q9TW9kdWxlWyJfZHRleHRyYWN0Il09YXNtWyJfZHRleHRyYWN0Il07dmFy
IF9kdG9wZW49TW9kdWxlWyJfZHRvcGVuIl09YXNtWyJfZHRvcGVuIl07dmFyIF9mcmVlPU1vZHVs
ZVsiX2ZyZWUiXT1hc21bIl9mcmVlIl07dmFyIF9odG9ucz1Nb2R1bGVbIl9odG9ucyJdPWFzbVsi
X2h0b25zIl07dmFyIF9pNjRBZGQ9TW9kdWxlWyJfaTY0QWRkIl09YXNtWyJfaTY0QWRkIl07dmFy
IF9pNjRTdWJ0cmFjdD1Nb2R1bGVbIl9pNjRTdWJ0cmFjdCJdPWFzbVsiX2k2NFN1YnRyYWN0Il07
dmFyIF9sbHZtX2Jzd2FwX2kxNj1Nb2R1bGVbIl9sbHZtX2Jzd2FwX2kxNiJdPWFzbVsiX2xsdm1f
YnN3YXBfaTE2Il07dmFyIF9sbHZtX2Jzd2FwX2kzMj1Nb2R1bGVbIl9sbHZtX2Jzd2FwX2kzMiJd
PWFzbVsiX2xsdm1fYnN3YXBfaTMyIl07dmFyIF9tYWxsb2M9TW9kdWxlWyJfbWFsbG9jIl09YXNt
WyJfbWFsbG9jIl07dmFyIF9tZW1hbGlnbj1Nb2R1bGVbIl9tZW1hbGlnbiJdPWFzbVsiX21lbWFs
aWduIl07dmFyIF9tZW1jcHk9TW9kdWxlWyJfbWVtY3B5Il09YXNtWyJfbWVtY3B5Il07dmFyIF9t
ZW1tb3ZlPU1vZHVsZVsiX21lbW1vdmUiXT1hc21bIl9tZW1tb3ZlIl07dmFyIF9tZW1zZXQ9TW9k
dWxlWyJfbWVtc2V0Il09YXNtWyJfbWVtc2V0Il07dmFyIF9yZWFsbG9jPU1vZHVsZVsiX3JlYWxs
b2MiXT1hc21bIl9yZWFsbG9jIl07dmFyIF9zYXZlU2V0am1wPU1vZHVsZVsiX3NhdmVTZXRqbXAi
XT1hc21bIl9zYXZlU2V0am1wIl07dmFyIF9zYnJrPU1vZHVsZVsiX3NicmsiXT1hc21bIl9zYnJr
Il07dmFyIF90ZXN0U2V0am1wPU1vZHVsZVsiX3Rlc3RTZXRqbXAiXT1hc21bIl90ZXN0U2V0am1w
Il07dmFyIF92aXpDcmVhdGVGaWxlPU1vZHVsZVsiX3ZpekNyZWF0ZUZpbGUiXT1hc21bIl92aXpD
cmVhdGVGaWxlIl07dmFyIF92aXpMYXN0RXJyb3JNZXNzYWdlPU1vZHVsZVsiX3Zpekxhc3RFcnJv
ck1lc3NhZ2UiXT1hc21bIl92aXpMYXN0RXJyb3JNZXNzYWdlIl07dmFyIF92aXpSZW5kZXJGcm9t
U3RyaW5nPU1vZHVsZVsiX3ZpelJlbmRlckZyb21TdHJpbmciXT1hc21bIl92aXpSZW5kZXJGcm9t
U3RyaW5nIl07dmFyIF92aXpTZXRZX2ludmVydD1Nb2R1bGVbIl92aXpTZXRZX2ludmVydCJdPWFz
bVsiX3ZpelNldFlfaW52ZXJ0Il07dmFyIGVzdGFibGlzaFN0YWNrU3BhY2U9TW9kdWxlWyJlc3Rh
Ymxpc2hTdGFja1NwYWNlIl09YXNtWyJlc3RhYmxpc2hTdGFja1NwYWNlIl07dmFyIGdldFRlbXBS
ZXQwPU1vZHVsZVsiZ2V0VGVtcFJldDAiXT1hc21bImdldFRlbXBSZXQwIl07dmFyIHJ1blBvc3RT
ZXRzPU1vZHVsZVsicnVuUG9zdFNldHMiXT1hc21bInJ1blBvc3RTZXRzIl07dmFyIHNldFRlbXBS
ZXQwPU1vZHVsZVsic2V0VGVtcFJldDAiXT1hc21bInNldFRlbXBSZXQwIl07dmFyIHNldFRocmV3
PU1vZHVsZVsic2V0VGhyZXciXT1hc21bInNldFRocmV3Il07dmFyIHN0YWNrQWxsb2M9TW9kdWxl
WyJzdGFja0FsbG9jIl09YXNtWyJzdGFja0FsbG9jIl07dmFyIHN0YWNrUmVzdG9yZT1Nb2R1bGVb
InN0YWNrUmVzdG9yZSJdPWFzbVsic3RhY2tSZXN0b3JlIl07dmFyIHN0YWNrU2F2ZT1Nb2R1bGVb
InN0YWNrU2F2ZSJdPWFzbVsic3RhY2tTYXZlIl07dmFyIGR5bkNhbGxfZD1Nb2R1bGVbImR5bkNh
bGxfZCJdPWFzbVsiZHluQ2FsbF9kIl07dmFyIGR5bkNhbGxfZGRkZD1Nb2R1bGVbImR5bkNhbGxf
ZGRkZCJdPWFzbVsiZHluQ2FsbF9kZGRkIl07dmFyIGR5bkNhbGxfaT1Nb2R1bGVbImR5bkNhbGxf
aSJdPWFzbVsiZHluQ2FsbF9pIl07dmFyIGR5bkNhbGxfaWk9TW9kdWxlWyJkeW5DYWxsX2lpIl09
YXNtWyJkeW5DYWxsX2lpIl07dmFyIGR5bkNhbGxfaWlpPU1vZHVsZVsiZHluQ2FsbF9paWkiXT1h
c21bImR5bkNhbGxfaWlpIl07dmFyIGR5bkNhbGxfaWlpaT1Nb2R1bGVbImR5bkNhbGxfaWlpaSJd
PWFzbVsiZHluQ2FsbF9paWlpIl07dmFyIGR5bkNhbGxfaWlpaWk9TW9kdWxlWyJkeW5DYWxsX2lp
aWlpIl09YXNtWyJkeW5DYWxsX2lpaWlpIl07dmFyIGR5bkNhbGxfaWlpaWlpPU1vZHVsZVsiZHlu
Q2FsbF9paWlpaWkiXT1hc21bImR5bkNhbGxfaWlpaWlpIl07dmFyIGR5bkNhbGxfaWlpaWlpaT1N
b2R1bGVbImR5bkNhbGxfaWlpaWlpaSJdPWFzbVsiZHluQ2FsbF9paWlpaWlpIl07dmFyIGR5bkNh
bGxfdj1Nb2R1bGVbImR5bkNhbGxfdiJdPWFzbVsiZHluQ2FsbF92Il07dmFyIGR5bkNhbGxfdmk9
TW9kdWxlWyJkeW5DYWxsX3ZpIl09YXNtWyJkeW5DYWxsX3ZpIl07dmFyIGR5bkNhbGxfdmlpPU1v
ZHVsZVsiZHluQ2FsbF92aWkiXT1hc21bImR5bkNhbGxfdmlpIl07dmFyIGR5bkNhbGxfdmlpaT1N
b2R1bGVbImR5bkNhbGxfdmlpaSJdPWFzbVsiZHluQ2FsbF92aWlpIl07dmFyIGR5bkNhbGxfdmlp
aWRkaT1Nb2R1bGVbImR5bkNhbGxfdmlpaWRkaSJdPWFzbVsiZHluQ2FsbF92aWlpZGRpIl07dmFy
IGR5bkNhbGxfdmlpaWk9TW9kdWxlWyJkeW5DYWxsX3ZpaWlpIl09YXNtWyJkeW5DYWxsX3ZpaWlp
Il07dmFyIGR5bkNhbGxfdmlpaWlpPU1vZHVsZVsiZHluQ2FsbF92aWlpaWkiXT1hc21bImR5bkNh
bGxfdmlpaWlpIl07dmFyIGR5bkNhbGxfdmlpaWlpaT1Nb2R1bGVbImR5bkNhbGxfdmlpaWlpaSJd
PWFzbVsiZHluQ2FsbF92aWlpaWlpIl07TW9kdWxlWyJhc20iXT1hc207TW9kdWxlWyJjY2FsbCJd
PWNjYWxsO01vZHVsZVsiUG9pbnRlcl9zdHJpbmdpZnkiXT1Qb2ludGVyX3N0cmluZ2lmeTtNb2R1
bGVbIlVURjhUb1N0cmluZyJdPVVURjhUb1N0cmluZztpZihtZW1vcnlJbml0aWFsaXplcil7aWYo
IWlzRGF0YVVSSShtZW1vcnlJbml0aWFsaXplcikpe2lmKHR5cGVvZiBNb2R1bGVbImxvY2F0ZUZp
bGUiXT09PSJmdW5jdGlvbiIpe21lbW9yeUluaXRpYWxpemVyPU1vZHVsZVsibG9jYXRlRmlsZSJd
KG1lbW9yeUluaXRpYWxpemVyKX1lbHNlIGlmKE1vZHVsZVsibWVtb3J5SW5pdGlhbGl6ZXJQcmVm
aXhVUkwiXSl7bWVtb3J5SW5pdGlhbGl6ZXI9TW9kdWxlWyJtZW1vcnlJbml0aWFsaXplclByZWZp
eFVSTCJdK21lbW9yeUluaXRpYWxpemVyfX1pZihFTlZJUk9OTUVOVF9JU19OT0RFfHxFTlZJUk9O
TUVOVF9JU19TSEVMTCl7dmFyIGRhdGE9TW9kdWxlWyJyZWFkQmluYXJ5Il0obWVtb3J5SW5pdGlh
bGl6ZXIpO0hFQVBVOC5zZXQoZGF0YSxHTE9CQUxfQkFTRSl9ZWxzZXthZGRSdW5EZXBlbmRlbmN5
KCJtZW1vcnkgaW5pdGlhbGl6ZXIiKTt2YXIgYXBwbHlNZW1vcnlJbml0aWFsaXplcj0oZnVuY3Rp
b24oZGF0YSl7aWYoZGF0YS5ieXRlTGVuZ3RoKWRhdGE9bmV3IFVpbnQ4QXJyYXkoZGF0YSk7SEVB
UFU4LnNldChkYXRhLEdMT0JBTF9CQVNFKTtpZihNb2R1bGVbIm1lbW9yeUluaXRpYWxpemVyUmVx
dWVzdCJdKWRlbGV0ZSBNb2R1bGVbIm1lbW9yeUluaXRpYWxpemVyUmVxdWVzdCJdLnJlc3BvbnNl
O3JlbW92ZVJ1bkRlcGVuZGVuY3koIm1lbW9yeSBpbml0aWFsaXplciIpfSk7ZnVuY3Rpb24gZG9C
cm93c2VyTG9hZCgpe01vZHVsZVsicmVhZEFzeW5jIl0obWVtb3J5SW5pdGlhbGl6ZXIsYXBwbHlN
ZW1vcnlJbml0aWFsaXplciwoZnVuY3Rpb24oKXt0aHJvdyJjb3VsZCBub3QgbG9hZCBtZW1vcnkg
aW5pdGlhbGl6ZXIgIittZW1vcnlJbml0aWFsaXplcn0pKX12YXIgbWVtb3J5SW5pdGlhbGl6ZXJC
eXRlcz10cnlQYXJzZUFzRGF0YVVSSShtZW1vcnlJbml0aWFsaXplcik7aWYobWVtb3J5SW5pdGlh
bGl6ZXJCeXRlcyl7YXBwbHlNZW1vcnlJbml0aWFsaXplcihtZW1vcnlJbml0aWFsaXplckJ5dGVz
LmJ1ZmZlcil9ZWxzZSBpZihNb2R1bGVbIm1lbW9yeUluaXRpYWxpemVyUmVxdWVzdCJdKXtmdW5j
dGlvbiB1c2VSZXF1ZXN0KCl7dmFyIHJlcXVlc3Q9TW9kdWxlWyJtZW1vcnlJbml0aWFsaXplclJl
cXVlc3QiXTt2YXIgcmVzcG9uc2U9cmVxdWVzdC5yZXNwb25zZTtpZihyZXF1ZXN0LnN0YXR1cyE9
PTIwMCYmcmVxdWVzdC5zdGF0dXMhPT0wKXt2YXIgZGF0YT10cnlQYXJzZUFzRGF0YVVSSShNb2R1
bGVbIm1lbW9yeUluaXRpYWxpemVyUmVxdWVzdFVSTCJdKTtpZihkYXRhKXtyZXNwb25zZT1kYXRh
LmJ1ZmZlcn1lbHNle2NvbnNvbGUud2FybigiYSBwcm9ibGVtIHNlZW1zIHRvIGhhdmUgaGFwcGVu
ZWQgd2l0aCBNb2R1bGUubWVtb3J5SW5pdGlhbGl6ZXJSZXF1ZXN0LCBzdGF0dXM6ICIrcmVxdWVz
dC5zdGF0dXMrIiwgcmV0cnlpbmcgIittZW1vcnlJbml0aWFsaXplcik7ZG9Ccm93c2VyTG9hZCgp
O3JldHVybn19YXBwbHlNZW1vcnlJbml0aWFsaXplcihyZXNwb25zZSl9aWYoTW9kdWxlWyJtZW1v
cnlJbml0aWFsaXplclJlcXVlc3QiXS5yZXNwb25zZSl7c2V0VGltZW91dCh1c2VSZXF1ZXN0LDAp
fWVsc2V7TW9kdWxlWyJtZW1vcnlJbml0aWFsaXplclJlcXVlc3QiXS5hZGRFdmVudExpc3RlbmVy
KCJsb2FkIix1c2VSZXF1ZXN0KX19ZWxzZXtkb0Jyb3dzZXJMb2FkKCl9fX1mdW5jdGlvbiBFeGl0
U3RhdHVzKHN0YXR1cyl7dGhpcy5uYW1lPSJFeGl0U3RhdHVzIjt0aGlzLm1lc3NhZ2U9IlByb2dy
YW0gdGVybWluYXRlZCB3aXRoIGV4aXQoIitzdGF0dXMrIikiO3RoaXMuc3RhdHVzPXN0YXR1c31F
eGl0U3RhdHVzLnByb3RvdHlwZT1uZXcgRXJyb3I7RXhpdFN0YXR1cy5wcm90b3R5cGUuY29uc3Ry
dWN0b3I9RXhpdFN0YXR1czt2YXIgaW5pdGlhbFN0YWNrVG9wO2RlcGVuZGVuY2llc0Z1bGZpbGxl
ZD1mdW5jdGlvbiBydW5DYWxsZXIoKXtpZighTW9kdWxlWyJjYWxsZWRSdW4iXSlydW4oKTtpZigh
TW9kdWxlWyJjYWxsZWRSdW4iXSlkZXBlbmRlbmNpZXNGdWxmaWxsZWQ9cnVuQ2FsbGVyfTtmdW5j
dGlvbiBydW4oYXJncyl7YXJncz1hcmdzfHxNb2R1bGVbImFyZ3VtZW50cyJdO2lmKHJ1bkRlcGVu
ZGVuY2llcz4wKXtyZXR1cm59cHJlUnVuKCk7aWYocnVuRGVwZW5kZW5jaWVzPjApcmV0dXJuO2lm
KE1vZHVsZVsiY2FsbGVkUnVuIl0pcmV0dXJuO2Z1bmN0aW9uIGRvUnVuKCl7aWYoTW9kdWxlWyJj
YWxsZWRSdW4iXSlyZXR1cm47TW9kdWxlWyJjYWxsZWRSdW4iXT10cnVlO2lmKEFCT1JUKXJldHVy
bjtlbnN1cmVJbml0UnVudGltZSgpO3ByZU1haW4oKTtpZihNb2R1bGVbIm9uUnVudGltZUluaXRp
YWxpemVkIl0pTW9kdWxlWyJvblJ1bnRpbWVJbml0aWFsaXplZCJdKCk7cG9zdFJ1bigpfWlmKE1v
ZHVsZVsic2V0U3RhdHVzIl0pe01vZHVsZVsic2V0U3RhdHVzIl0oIlJ1bm5pbmcuLi4iKTtzZXRU
aW1lb3V0KChmdW5jdGlvbigpe3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7TW9kdWxlWyJzZXRTdGF0
dXMiXSgiIil9KSwxKTtkb1J1bigpfSksMSl9ZWxzZXtkb1J1bigpfX1Nb2R1bGVbInJ1biJdPXJ1
bjtmdW5jdGlvbiBleGl0KHN0YXR1cyxpbXBsaWNpdCl7aWYoaW1wbGljaXQmJk1vZHVsZVsibm9F
eGl0UnVudGltZSJdJiZzdGF0dXM9PT0wKXtyZXR1cm59aWYoTW9kdWxlWyJub0V4aXRSdW50aW1l
Il0pe31lbHNle0FCT1JUPXRydWU7RVhJVFNUQVRVUz1zdGF0dXM7U1RBQ0tUT1A9aW5pdGlhbFN0
YWNrVG9wO2V4aXRSdW50aW1lKCk7aWYoTW9kdWxlWyJvbkV4aXQiXSlNb2R1bGVbIm9uRXhpdCJd
KHN0YXR1cyl9aWYoRU5WSVJPTk1FTlRfSVNfTk9ERSl7cHJvY2Vzc1siZXhpdCJdKHN0YXR1cyl9
TW9kdWxlWyJxdWl0Il0oc3RhdHVzLG5ldyBFeGl0U3RhdHVzKHN0YXR1cykpfU1vZHVsZVsiZXhp
dCJdPWV4aXQ7ZnVuY3Rpb24gYWJvcnQod2hhdCl7aWYoTW9kdWxlWyJvbkFib3J0Il0pe01vZHVs
ZVsib25BYm9ydCJdKHdoYXQpfWlmKHdoYXQhPT11bmRlZmluZWQpe01vZHVsZS5wcmludCh3aGF0
KTtNb2R1bGUucHJpbnRFcnIod2hhdCk7d2hhdD1KU09OLnN0cmluZ2lmeSh3aGF0KX1lbHNle3do
YXQ9IiJ9QUJPUlQ9dHJ1ZTtFWElUU1RBVFVTPTE7dGhyb3ciYWJvcnQoIit3aGF0KyIpLiBCdWls
ZCB3aXRoIC1zIEFTU0VSVElPTlM9MSBmb3IgbW9yZSBpbmZvLiJ9TW9kdWxlWyJhYm9ydCJdPWFi
b3J0O2lmKE1vZHVsZVsicHJlSW5pdCJdKXtpZih0eXBlb2YgTW9kdWxlWyJwcmVJbml0Il09PSJm
dW5jdGlvbiIpTW9kdWxlWyJwcmVJbml0Il09W01vZHVsZVsicHJlSW5pdCJdXTt3aGlsZShNb2R1
bGVbInByZUluaXQiXS5sZW5ndGg+MCl7TW9kdWxlWyJwcmVJbml0Il0ucG9wKCkoKX19TW9kdWxl
WyJub0V4aXRSdW50aW1lIl09dHJ1ZTtydW4oKQorCisKKworCisgIHJldHVybiBNb2R1bGU7Cit9
OworCitmdW5jdGlvbiByZW5kZXIoaW5zdGFuY2UsIHNyYywgb3B0aW9ucykgeworICB2YXIgaTsK
KyAgZm9yIChpID0gMDsgaSA8IG9wdGlvbnMuZmlsZXMubGVuZ3RoOyBpKyspIHsKKyAgICBpbnN0
YW5jZVsnY2NhbGwnXSgndml6Q3JlYXRlRmlsZScsICdudW1iZXInLCBbJ3N0cmluZycsICdzdHJp
bmcnXSwgW29wdGlvbnMuZmlsZXNbaV0ucGF0aCwgb3B0aW9ucy5maWxlc1tpXS5kYXRhXSk7Cisg
IH0KKworICBpbnN0YW5jZVsnY2NhbGwnXSgndml6U2V0WV9pbnZlcnQnLCAnbnVtYmVyJywgWydu
dW1iZXInXSwgW29wdGlvbnMueUludmVydCA/IDEgOiAwXSk7CisgIAorICB2YXIgcmVzdWx0UG9p
bnRlciA9IGluc3RhbmNlWydjY2FsbCddKCd2aXpSZW5kZXJGcm9tU3RyaW5nJywgJ251bWJlcics
IFsnc3RyaW5nJywgJ3N0cmluZycsICdzdHJpbmcnXSwgW3NyYywgb3B0aW9ucy5mb3JtYXQsIG9w
dGlvbnMuZW5naW5lXSk7CisgIHZhciByZXN1bHRTdHJpbmcgPSBpbnN0YW5jZVsnUG9pbnRlcl9z
dHJpbmdpZnknXShyZXN1bHRQb2ludGVyKTsKKyAgaW5zdGFuY2VbJ2NjYWxsJ10oJ2ZyZWUnLCAn
bnVtYmVyJywgWydudW1iZXInXSwgW3Jlc3VsdFBvaW50ZXJdKTsKKworICB2YXIgZXJyb3JNZXNz
YWdlUG9pbnRlciA9IGluc3RhbmNlWydjY2FsbCddKCd2aXpMYXN0RXJyb3JNZXNzYWdlJywgJ251
bWJlcicsIFtdLCBbXSk7CisgIHZhciBlcnJvck1lc3NhZ2VTdHJpbmcgPSBpbnN0YW5jZVsnUG9p
bnRlcl9zdHJpbmdpZnknXShlcnJvck1lc3NhZ2VQb2ludGVyKTsKKyAgaW5zdGFuY2VbJ2NjYWxs
J10oJ2ZyZWUnLCAnbnVtYmVyJywgWydudW1iZXInXSwgW2Vycm9yTWVzc2FnZVBvaW50ZXJdKTsK
KworICBpZiAoZXJyb3JNZXNzYWdlU3RyaW5nICE9ICcnKSB7CisgICAgdGhyb3cgbmV3IEVycm9y
KGVycm9yTWVzc2FnZVN0cmluZyk7CisgIH0KKyAgCisgIHJldHVybiByZXN1bHRTdHJpbmc7Cit9
CisKK2lmICh0eXBlb2YgaW1wb3J0U2NyaXB0cyA9PT0gImZ1bmN0aW9uIikgeworICB2YXIgaW5z
dGFuY2UgPSBNb2R1bGUoKTsKKyAgCisgIG9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KSB7Cisg
ICAgdmFyIGlkID0gZXZlbnQuZGF0YS5pZDsKKyAgICB2YXIgc3JjID0gZXZlbnQuZGF0YS5zcmM7
CisgICAgdmFyIG9wdGlvbnMgPSBldmVudC5kYXRhLm9wdGlvbnM7CisgIAorICAgIHRyeSB7Cisg
ICAgICB2YXIgcmVzdWx0ID0gcmVuZGVyKGluc3RhbmNlLCBzcmMsIG9wdGlvbnMpOworICAgICAg
cG9zdE1lc3NhZ2UoeyBpZDogaWQsIHJlc3VsdDogcmVzdWx0IH0pOworICAgIH0gY2F0Y2ggKGVy
cm9yKSB7CisgICAgICBwb3N0TWVzc2FnZSh7IGlkOiBpZCwgZXJyb3I6IHsgbWVzc2FnZTogZXJy
b3IubWVzc2FnZSwgZmlsZU5hbWU6IGVycm9yLmZpbGVOYW1lLCBsaW5lTnVtYmVyOiBlcnJvci5s
aW5lTnVtYmVyIH0gfSk7CisgICAgfQorICB9Cit9CisKK2lmICh0eXBlb2YgZXhwb3J0cyA9PT0g
J29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHsKKyAgbW9kdWxlLmV4
cG9ydHMgPSB7IHJlbmRlcjogcmVuZGVyLCBNb2R1bGU6IE1vZHVsZSB9OworfSBlbHNlIGlmICh0
eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpIHsKKyAgZGVmaW5lKGZ1
bmN0aW9uKCkgeyByZXR1cm4geyByZW5kZXI6IHJlbmRlciwgTW9kdWxlOiBNb2R1bGUgfTsgfSk7
Cit9CisKK2lmICh0eXBlb2YgZ2xvYmFsLlZpeiAhPT0gJ3VuZGVmaW5lZCcpIHsKKyAgZ2xvYmFs
LlZpei5yZW5kZXIgPSByZW5kZXI7CisgIGdsb2JhbC5WaXouTW9kdWxlID0gTW9kdWxlOworfQor
Cit9KSh0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmIDogdGhpcyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC92aXouanMv
dml6LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvdml6
LmpzL3Zpei5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MjBhZWU3MmVjZTYyNWE0YzhmYTAxODI3YzcyNDk0MjM5
OGVhMjAwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvRXh0ZXJuYWwvdml6LmpzL3Zpei5qcwpAQCAtMCwwICsxLDMzMSBAQAorLyoKK1Zpei5q
cyAyLjAuMCAoR3JhcGh2aXogMi40MC4xLCBFeHBhdCAyLjIuNSwgRW1zY3JpcHRlbiAxLjM3LjM2
KQorQ29weXJpZ2h0IChjKSAyMDE0LTIwMTggTWljaGFlbCBEYWluZXMKK0xpY2Vuc2VkIHVuZGVy
IE1JVCBsaWNlbnNlCisKK1RoaXMgZGlzdHJpYnV0aW9uIGNvbnRhaW5zIG90aGVyIHNvZnR3YXJl
IGluIG9iamVjdCBjb2RlIGZvcm06CisKK0dyYXBodml6CitMaWNlbnNlZCB1bmRlciBFY2xpcHNl
IFB1YmxpYyBMaWNlbnNlIC0gdiAxLjAKK2h0dHA6Ly93d3cuZ3JhcGh2aXoub3JnCisKK0V4cGF0
CitDb3B5cmlnaHQgKGMpIDE5OTgsIDE5OTksIDIwMDAgVGhhaSBPcGVuIFNvdXJjZSBTb2Z0d2Fy
ZSBDZW50ZXIgTHRkIGFuZCBDbGFyayBDb29wZXIKK0NvcHlyaWdodCAoYykgMjAwMSwgMjAwMiwg
MjAwMywgMjAwNCwgMjAwNSwgMjAwNiBFeHBhdCBtYWludGFpbmVycy4KK0xpY2Vuc2VkIHVuZGVy
IE1JVCBsaWNlbnNlCitodHRwOi8vd3d3LmxpYmV4cGF0Lm9yZworCit6bGliCitDb3B5cmlnaHQg
KEMpIDE5OTUtMjAxMyBKZWFuLWxvdXAgR2FpbGx5IGFuZCBNYXJrIEFkbGVyCitodHRwOi8vd3d3
LnpsaWIubmV0L3psaWJfbGljZW5zZS5odG1sCisqLworKGZ1bmN0aW9uIChnbG9iYWwsIGZhY3Rv
cnkpIHsKKyAgdHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgIT09
ICd1bmRlZmluZWQnID8gbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCkgOgorICB0eXBlb2YgZGVm
aW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQgPyBkZWZpbmUoZmFjdG9yeSkgOgorICAo
Z2xvYmFsLlZpeiA9IGZhY3RvcnkoKSk7Cit9KHRoaXMsIChmdW5jdGlvbiAoKSB7ICd1c2Ugc3Ry
aWN0JzsKKworICB2YXIgX3R5cGVvZiA9IHR5cGVvZiBTeW1ib2wgPT09ICJmdW5jdGlvbiIgJiYg
dHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gInN5bWJvbCIgPyBmdW5jdGlvbiAob2JqKSB7Cisg
ICAgcmV0dXJuIHR5cGVvZiBvYmo7CisgIH0gOiBmdW5jdGlvbiAob2JqKSB7CisgICAgcmV0dXJu
IG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICYmIG9iai5jb25zdHJ1Y3RvciA9
PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/ICJzeW1ib2wiIDogdHlwZW9m
IG9iajsKKyAgfTsKKworICB2YXIgY2xhc3NDYWxsQ2hlY2sgPSBmdW5jdGlvbiAoaW5zdGFuY2Us
IENvbnN0cnVjdG9yKSB7CisgICAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3Rv
cikpIHsKKyAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMg
YSBmdW5jdGlvbiIpOworICAgIH0KKyAgfTsKKworICB2YXIgY3JlYXRlQ2xhc3MgPSBmdW5jdGlv
biAoKSB7CisgICAgZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7Cisg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIHZh
ciBkZXNjcmlwdG9yID0gcHJvcHNbaV07CisgICAgICAgIGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9
IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsKKyAgICAgICAgZGVzY3JpcHRvci5jb25m
aWd1cmFibGUgPSB0cnVlOworICAgICAgICBpZiAoInZhbHVlIiBpbiBkZXNjcmlwdG9yKSBkZXNj
cmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRh
cmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOworICAgICAgfQorICAgIH0KKworICAg
IHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7
CisgICAgICBpZiAocHJvdG9Qcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90
b3R5cGUsIHByb3RvUHJvcHMpOworICAgICAgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0
aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7CisgICAgICByZXR1cm4gQ29uc3RydWN0b3I7
CisgICAgfTsKKyAgfSgpOworCisgIHZhciBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVu
Y3Rpb24gKHRhcmdldCkgeworICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0
aDsgaSsrKSB7CisgICAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldOworCisgICAgICBmb3Ig
KHZhciBrZXkgaW4gc291cmNlKSB7CisgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093
blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7CisgICAgICAgICAgdGFyZ2V0W2tleV0gPSBz
b3VyY2Vba2V5XTsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKworICAgIHJldHVybiB0YXJn
ZXQ7CisgIH07CisKKyAgdmFyIFdvcmtlcldyYXBwZXIgPSBmdW5jdGlvbiAoKSB7CisgICAgZnVu
Y3Rpb24gV29ya2VyV3JhcHBlcih3b3JrZXIpIHsKKyAgICAgIHZhciBfdGhpcyA9IHRoaXM7CisK
KyAgICAgIGNsYXNzQ2FsbENoZWNrKHRoaXMsIFdvcmtlcldyYXBwZXIpOworCisgICAgICB0aGlz
LndvcmtlciA9IHdvcmtlcjsKKyAgICAgIHRoaXMubGlzdGVuZXJzID0gW107CisgICAgICB0aGlz
Lm5leHRJZCA9IDA7CisKKyAgICAgIHRoaXMud29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3Nh
Z2UnLCBmdW5jdGlvbiAoZXZlbnQpIHsKKyAgICAgICAgdmFyIGlkID0gZXZlbnQuZGF0YS5pZDsK
KyAgICAgICAgdmFyIGVycm9yID0gZXZlbnQuZGF0YS5lcnJvcjsKKyAgICAgICAgdmFyIHJlc3Vs
dCA9IGV2ZW50LmRhdGEucmVzdWx0OworCisgICAgICAgIF90aGlzLmxpc3RlbmVyc1tpZF0oZXJy
b3IsIHJlc3VsdCk7CisgICAgICAgIGRlbGV0ZSBfdGhpcy5saXN0ZW5lcnNbaWRdOworICAgICAg
fSk7CisgICAgfQorCisgICAgY3JlYXRlQ2xhc3MoV29ya2VyV3JhcHBlciwgW3sKKyAgICAgIGtl
eTogJ3JlbmRlcicsCisgICAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKHNyYywgb3B0aW9ucykg
eworICAgICAgICB2YXIgX3RoaXMyID0gdGhpczsKKworICAgICAgICByZXR1cm4gbmV3IFByb21p
c2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgIHZhciBpZCA9IF90aGlz
Mi5uZXh0SWQrKzsKKworICAgICAgICAgIF90aGlzMi5saXN0ZW5lcnNbaWRdID0gZnVuY3Rpb24g
KGVycm9yLCByZXN1bHQpIHsKKyAgICAgICAgICAgIGlmIChlcnJvcikgeworICAgICAgICAgICAg
ICByZWplY3QobmV3IEVycm9yKGVycm9yLm1lc3NhZ2UsIGVycm9yLmZpbGVOYW1lLCBlcnJvci5s
aW5lTnVtYmVyKSk7CisgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIHJlc29sdmUocmVzdWx0KTsKKyAgICAgICAgICB9OworCisgICAgICAgICAgX3RoaXMy
Lndvcmtlci5wb3N0TWVzc2FnZSh7IGlkOiBpZCwgc3JjOiBzcmMsIG9wdGlvbnM6IG9wdGlvbnMg
fSk7CisgICAgICAgIH0pOworICAgICAgfQorICAgIH1dKTsKKyAgICByZXR1cm4gV29ya2VyV3Jh
cHBlcjsKKyAgfSgpOworCisgIHZhciBNb2R1bGVXcmFwcGVyID0gZnVuY3Rpb24gTW9kdWxlV3Jh
cHBlcihtb2R1bGUsIHJlbmRlcikgeworICAgIGNsYXNzQ2FsbENoZWNrKHRoaXMsIE1vZHVsZVdy
YXBwZXIpOworCisgICAgdmFyIGluc3RhbmNlID0gbW9kdWxlKCk7CisgICAgdGhpcy5yZW5kZXIg
PSBmdW5jdGlvbiAoc3JjLCBvcHRpb25zKSB7CisgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVu
Y3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICB0cnkgeworICAgICAgICAgIHJlc29s
dmUocmVuZGVyKGluc3RhbmNlLCBzcmMsIG9wdGlvbnMpKTsKKyAgICAgICAgfSBjYXRjaCAoZXJy
b3IpIHsKKyAgICAgICAgICByZWplY3QoZXJyb3IpOworICAgICAgICB9CisgICAgICB9KTsKKyAg
ICB9OworICB9OworCisgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2Rv
Y3MvV2ViL0FQSS9XaW5kb3dCYXNlNjQvQmFzZTY0X2VuY29kaW5nX2FuZF9kZWNvZGluZworCisK
KyAgZnVuY3Rpb24gYjY0RW5jb2RlVW5pY29kZShzdHIpIHsKKyAgICByZXR1cm4gYnRvYShlbmNv
ZGVVUklDb21wb25lbnQoc3RyKS5yZXBsYWNlKC8lKFswLTlBLUZdezJ9KS9nLCBmdW5jdGlvbiAo
bWF0Y2gsIHAxKSB7CisgICAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSgnMHgnICsgcDEp
OworICAgIH0pKTsKKyAgfQorCisgIGZ1bmN0aW9uIGRlZmF1bHRTY2FsZSgpIHsKKyAgICBpZiAo
J2RldmljZVBpeGVsUmF0aW8nIGluIHdpbmRvdyAmJiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyA+
IDEpIHsKKyAgICAgIHJldHVybiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzsKKyAgICB9IGVsc2Ug
eworICAgICAgcmV0dXJuIDE7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gc3ZnWG1sVG9JbWFn
ZUVsZW1lbnQoc3ZnWG1sKSB7CisgICAgdmFyIF9yZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAm
JiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9LAorICAgICAg
ICBfcmVmJHNjYWxlID0gX3JlZi5zY2FsZSwKKyAgICAgICAgc2NhbGUgPSBfcmVmJHNjYWxlID09
PSB1bmRlZmluZWQgPyBkZWZhdWx0U2NhbGUoKSA6IF9yZWYkc2NhbGUsCisgICAgICAgIF9yZWYk
bWltZVR5cGUgPSBfcmVmLm1pbWVUeXBlLAorICAgICAgICBtaW1lVHlwZSA9IF9yZWYkbWltZVR5
cGUgPT09IHVuZGVmaW5lZCA/ICJpbWFnZS9wbmciIDogX3JlZiRtaW1lVHlwZSwKKyAgICAgICAg
X3JlZiRxdWFsaXR5ID0gX3JlZi5xdWFsaXR5LAorICAgICAgICBxdWFsaXR5ID0gX3JlZiRxdWFs
aXR5ID09PSB1bmRlZmluZWQgPyAxIDogX3JlZiRxdWFsaXR5OworCisgICAgcmV0dXJuIG5ldyBQ
cm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgIHZhciBzdmdJbWFnZSA9
IG5ldyBJbWFnZSgpOworCisgICAgICBzdmdJbWFnZS5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7Cisg
ICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKKyAg
ICAgICAgY2FudmFzLndpZHRoID0gc3ZnSW1hZ2Uud2lkdGggKiBzY2FsZTsKKyAgICAgICAgY2Fu
dmFzLmhlaWdodCA9IHN2Z0ltYWdlLmhlaWdodCAqIHNjYWxlOworCisgICAgICAgIHZhciBjb250
ZXh0ID0gY2FudmFzLmdldENvbnRleHQoIjJkIik7CisgICAgICAgIGNvbnRleHQuZHJhd0ltYWdl
KHN2Z0ltYWdlLCAwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpOworCisgICAgICAg
IGNhbnZhcy50b0Jsb2IoZnVuY3Rpb24gKGJsb2IpIHsKKyAgICAgICAgICB2YXIgaW1hZ2UgPSBu
ZXcgSW1hZ2UoKTsKKyAgICAgICAgICBpbWFnZS5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJs
b2IpOworICAgICAgICAgIGltYWdlLndpZHRoID0gc3ZnSW1hZ2Uud2lkdGg7CisgICAgICAgICAg
aW1hZ2UuaGVpZ2h0ID0gc3ZnSW1hZ2UuaGVpZ2h0OworCisgICAgICAgICAgcmVzb2x2ZShpbWFn
ZSk7CisgICAgICAgIH0sIG1pbWVUeXBlLCBxdWFsaXR5KTsKKyAgICAgIH07CisKKyAgICAgIHN2
Z0ltYWdlLm9uZXJyb3IgPSBmdW5jdGlvbiAoZSkgeworICAgICAgICB2YXIgZXJyb3I7CisKKyAg
ICAgICAgaWYgKCdlcnJvcicgaW4gZSkgeworICAgICAgICAgIGVycm9yID0gZS5lcnJvcjsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBlcnJvciA9IG5ldyBFcnJvcignRXJyb3IgbG9hZGlu
ZyBTVkcnKTsKKyAgICAgICAgfQorCisgICAgICAgIHJlamVjdChlcnJvcik7CisgICAgICB9Owor
CisgICAgICBzdmdJbWFnZS5zcmMgPSAnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCwnICsgYjY0
RW5jb2RlVW5pY29kZShzdmdYbWwpOworICAgIH0pOworICB9CisKKyAgZnVuY3Rpb24gc3ZnWG1s
VG9JbWFnZUVsZW1lbnRGYWJyaWMoc3ZnWG1sKSB7CisgICAgdmFyIF9yZWYyID0gYXJndW1lbnRz
Lmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0g
OiB7fSwKKyAgICAgICAgX3JlZjIkc2NhbGUgPSBfcmVmMi5zY2FsZSwKKyAgICAgICAgc2NhbGUg
PSBfcmVmMiRzY2FsZSA9PT0gdW5kZWZpbmVkID8gZGVmYXVsdFNjYWxlKCkgOiBfcmVmMiRzY2Fs
ZSwKKyAgICAgICAgX3JlZjIkbWltZVR5cGUgPSBfcmVmMi5taW1lVHlwZSwKKyAgICAgICAgbWlt
ZVR5cGUgPSBfcmVmMiRtaW1lVHlwZSA9PT0gdW5kZWZpbmVkID8gJ2ltYWdlL3BuZycgOiBfcmVm
MiRtaW1lVHlwZSwKKyAgICAgICAgX3JlZjIkcXVhbGl0eSA9IF9yZWYyLnF1YWxpdHksCisgICAg
ICAgIHF1YWxpdHkgPSBfcmVmMiRxdWFsaXR5ID09PSB1bmRlZmluZWQgPyAxIDogX3JlZjIkcXVh
bGl0eTsKKworICAgIHZhciBtdWx0aXBsaWVyID0gc2NhbGU7CisKKyAgICB2YXIgZm9ybWF0ID0g
dm9pZCAwOworICAgIGlmIChtaW1lVHlwZSA9PSAnaW1hZ2UvanBlZycpIHsKKyAgICAgIGZvcm1h
dCA9ICdqcGVnJzsKKyAgICB9IGVsc2UgaWYgKG1pbWVUeXBlID09ICdpbWFnZS9wbmcnKSB7Cisg
ICAgICBmb3JtYXQgPSAncG5nJzsKKyAgICB9CisKKyAgICByZXR1cm4gbmV3IFByb21pc2UoZnVu
Y3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeworICAgICAgZmFicmljLmxvYWRTVkdGcm9tU3RyaW5n
KHN2Z1htbCwgZnVuY3Rpb24gKG9iamVjdHMsIG9wdGlvbnMpIHsKKyAgICAgICAgLy8gSWYgdGhl
cmUncyBzb21ldGhpbmcgd3Jvbmcgd2l0aCB0aGUgU1ZHLCBGYWJyaWMgbWF5IHJldHVybiBhbiBl
bXB0eSBhcnJheSBvZiBvYmplY3RzLiBHcmFwaHZpeiBhcHBlYXJzIHRvIGdpdmUgdXMgYXQgbGVh
c3Qgb25lIDxnPiBlbGVtZW50IGJhY2sgZXZlbiBnaXZlbiBhbiBlbXB0eSBncmFwaCwgc28gd2Ug
d2lsbCBhc3N1bWUgYW4gZXJyb3IgaW4gdGhpcyBjYXNlLgorICAgICAgICBpZiAob2JqZWN0cy5s
ZW5ndGggPT0gMCkgeworICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ0Vycm9yIGxvYWRpbmcg
U1ZHIHdpdGggRmFicmljJykpOworICAgICAgICB9CisKKyAgICAgICAgdmFyIGVsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsKKyAgICAgICAgZWxlbWVudC53aWR0aCA9
IG9wdGlvbnMud2lkdGg7CisgICAgICAgIGVsZW1lbnQuaGVpZ2h0ID0gb3B0aW9ucy5oZWlnaHQ7
CisKKyAgICAgICAgdmFyIGNhbnZhcyA9IG5ldyBmYWJyaWMuQ2FudmFzKGVsZW1lbnQsIHsgZW5h
YmxlUmV0aW5hU2NhbGluZzogZmFsc2UgfSk7CisgICAgICAgIHZhciBvYmogPSBmYWJyaWMudXRp
bC5ncm91cFNWR0VsZW1lbnRzKG9iamVjdHMsIG9wdGlvbnMpOworICAgICAgICBjYW52YXMuYWRk
KG9iaikucmVuZGVyQWxsKCk7CisKKyAgICAgICAgdmFyIGltYWdlID0gbmV3IEltYWdlKCk7Cisg
ICAgICAgIGltYWdlLnNyYyA9IGNhbnZhcy50b0RhdGFVUkwoeyBmb3JtYXQ6IGZvcm1hdCwgbXVs
dGlwbGllcjogbXVsdGlwbGllciwgcXVhbGl0eTogcXVhbGl0eSB9KTsKKyAgICAgICAgaW1hZ2Uu
d2lkdGggPSBvcHRpb25zLndpZHRoOworICAgICAgICBpbWFnZS5oZWlnaHQgPSBvcHRpb25zLmhl
aWdodDsKKworICAgICAgICByZXNvbHZlKGltYWdlKTsKKyAgICAgIH0pOworICAgIH0pOworICB9
CisKKyAgdmFyIFZpeiA9IGZ1bmN0aW9uICgpIHsKKyAgICBmdW5jdGlvbiBWaXooKSB7CisgICAg
ICB2YXIgX3JlZjMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVu
ZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9LAorICAgICAgICAgIHdvcmtlclVSTCA9IF9yZWYz
LndvcmtlclVSTCwKKyAgICAgICAgICB3b3JrZXIgPSBfcmVmMy53b3JrZXIsCisgICAgICAgICAg
TW9kdWxlID0gX3JlZjMuTW9kdWxlLAorICAgICAgICAgIHJlbmRlciA9IF9yZWYzLnJlbmRlcjsK
KworICAgICAgY2xhc3NDYWxsQ2hlY2sodGhpcywgVml6KTsKKworICAgICAgaWYgKHR5cGVvZiB3
b3JrZXJVUkwgIT09ICd1bmRlZmluZWQnKSB7CisgICAgICAgIHRoaXMud3JhcHBlciA9IG5ldyBX
b3JrZXJXcmFwcGVyKG5ldyBXb3JrZXIod29ya2VyVVJMKSk7CisgICAgICB9IGVsc2UgaWYgKHR5
cGVvZiB3b3JrZXIgIT09ICd1bmRlZmluZWQnKSB7CisgICAgICAgIHRoaXMud3JhcHBlciA9IG5l
dyBXb3JrZXJXcmFwcGVyKHdvcmtlcik7CisgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBNb2R1bGUg
IT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiByZW5kZXIgIT09ICd1bmRlZmluZWQnKSB7CisgICAg
ICAgIHRoaXMud3JhcHBlciA9IG5ldyBNb2R1bGVXcmFwcGVyKE1vZHVsZSwgcmVuZGVyKTsKKyAg
ICAgIH0gZWxzZSBpZiAodHlwZW9mIFZpei5Nb2R1bGUgIT09ICd1bmRlZmluZWQnICYmIHR5cGVv
ZiBWaXoucmVuZGVyICE9PSAndW5kZWZpbmVkJykgeworICAgICAgICB0aGlzLndyYXBwZXIgPSBu
ZXcgTW9kdWxlV3JhcHBlcihWaXouTW9kdWxlLCBWaXoucmVuZGVyKTsKKyAgICAgIH0gZWxzZSB7
CisgICAgICAgIHRocm93IG5ldyBFcnJvcignTXVzdCBzcGVjaWZ5IHdvcmtlclVSTCBvciB3b3Jr
ZXIgb3B0aW9uLCBNb2R1bGUgYW5kIHJlbmRlciBvcHRpb25zLCBvciBpbmNsdWRlIG9uZSBvZiBm
dWxsLnJlbmRlci5qcyBvciBsaXRlLnJlbmRlci5qcyBhZnRlciB2aXouanMuJyk7CisgICAgICB9
CisgICAgfQorCisgICAgY3JlYXRlQ2xhc3MoVml6LCBbeworICAgICAga2V5OiAncmVuZGVyU3Ry
aW5nJywKKyAgICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXJTdHJpbmcoc3JjKSB7CisgICAgICAg
IHZhciBfcmVmNCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5k
ZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge30sCisgICAgICAgICAgICBfcmVmNCRmb3JtYXQgPSBf
cmVmNC5mb3JtYXQsCisgICAgICAgICAgICBmb3JtYXQgPSBfcmVmNCRmb3JtYXQgPT09IHVuZGVm
aW5lZCA/ICdzdmcnIDogX3JlZjQkZm9ybWF0LAorICAgICAgICAgICAgX3JlZjQkZW5naW5lID0g
X3JlZjQuZW5naW5lLAorICAgICAgICAgICAgZW5naW5lID0gX3JlZjQkZW5naW5lID09PSB1bmRl
ZmluZWQgPyAnZG90JyA6IF9yZWY0JGVuZ2luZSwKKyAgICAgICAgICAgIF9yZWY0JGZpbGVzID0g
X3JlZjQuZmlsZXMsCisgICAgICAgICAgICBmaWxlcyA9IF9yZWY0JGZpbGVzID09PSB1bmRlZmlu
ZWQgPyBbXSA6IF9yZWY0JGZpbGVzLAorICAgICAgICAgICAgX3JlZjQkaW1hZ2VzID0gX3JlZjQu
aW1hZ2VzLAorICAgICAgICAgICAgaW1hZ2VzID0gX3JlZjQkaW1hZ2VzID09PSB1bmRlZmluZWQg
PyBbXSA6IF9yZWY0JGltYWdlcywKKyAgICAgICAgICAgIF9yZWY0JHlJbnZlcnQgPSBfcmVmNC55
SW52ZXJ0LAorICAgICAgICAgICAgeUludmVydCA9IF9yZWY0JHlJbnZlcnQgPT09IHVuZGVmaW5l
ZCA/IGZhbHNlIDogX3JlZjQkeUludmVydDsKKworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IGltYWdlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgIGZpbGVzLnB1c2goeworICAgICAgICAg
ICAgcGF0aDogaW1hZ2VzW2ldLnBhdGgsCisgICAgICAgICAgICBkYXRhOiAnPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+XG48IURPQ1RZUEUgc3Zn
IFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFw
aGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPlxuPHN2ZyB3aWR0aD0iJyArIGltYWdlc1tpXS53
aWR0aCArICciIGhlaWdodD0iJyArIGltYWdlc1tpXS5oZWlnaHQgKyAnIj48L3N2Zz4nCisgICAg
ICAgICAgfSk7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gdGhpcy53cmFwcGVyLnJlbmRl
cihzcmMsIHsgZm9ybWF0OiBmb3JtYXQsIGVuZ2luZTogZW5naW5lLCBmaWxlczogZmlsZXMsIGlt
YWdlczogaW1hZ2VzLCB5SW52ZXJ0OiB5SW52ZXJ0IH0pOworICAgICAgfQorICAgIH0sIHsKKyAg
ICAgIGtleTogJ3JlbmRlclNWR0VsZW1lbnQnLAorICAgICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRl
clNWR0VsZW1lbnQoc3JjKSB7CisgICAgICAgIHZhciBvcHRpb25zID0gYXJndW1lbnRzLmxlbmd0
aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTsK
KworICAgICAgICByZXR1cm4gdGhpcy5yZW5kZXJTdHJpbmcoc3JjLCBfZXh0ZW5kcyh7fSwgb3B0
aW9ucywgeyBmb3JtYXQ6ICdzdmcnIH0pKS50aGVuKGZ1bmN0aW9uIChzdHIpIHsKKyAgICAgICAg
ICB2YXIgcGFyc2VyID0gbmV3IERPTVBhcnNlcigpOworICAgICAgICAgIHJldHVybiBwYXJzZXIu
cGFyc2VGcm9tU3RyaW5nKHN0ciwgJ2ltYWdlL3N2Zyt4bWwnKS5kb2N1bWVudEVsZW1lbnQ7Cisg
ICAgICAgIH0pOworICAgICAgfQorICAgIH0sIHsKKyAgICAgIGtleTogJ3JlbmRlckltYWdlRWxl
bWVudCcsCisgICAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVySW1hZ2VFbGVtZW50KHNyYykgewor
ICAgICAgICB2YXIgb3B0aW9ucyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sx
XSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307CisgICAgICAgIHZhciBzY2FsZSA9
IG9wdGlvbnMuc2NhbGUsCisgICAgICAgICAgICBtaW1lVHlwZSA9IG9wdGlvbnMubWltZVR5cGUs
CisgICAgICAgICAgICBxdWFsaXR5ID0gb3B0aW9ucy5xdWFsaXR5OworCisKKyAgICAgICAgcmV0
dXJuIHRoaXMucmVuZGVyU3RyaW5nKHNyYywgX2V4dGVuZHMoe30sIG9wdGlvbnMsIHsgZm9ybWF0
OiAnc3ZnJyB9KSkudGhlbihmdW5jdGlvbiAoc3RyKSB7CisgICAgICAgICAgaWYgKCh0eXBlb2Yg
ZmFicmljID09PSAndW5kZWZpbmVkJyA/ICd1bmRlZmluZWQnIDogX3R5cGVvZihmYWJyaWMpKSA9
PT0gIm9iamVjdCIgJiYgZmFicmljLmxvYWRTVkdGcm9tU3RyaW5nKSB7CisgICAgICAgICAgICBy
ZXR1cm4gc3ZnWG1sVG9JbWFnZUVsZW1lbnRGYWJyaWMoc3RyLCB7IHNjYWxlOiBzY2FsZSwgbWlt
ZVR5cGU6IG1pbWVUeXBlLCBxdWFsaXR5OiBxdWFsaXR5IH0pOworICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICByZXR1cm4gc3ZnWG1sVG9JbWFnZUVsZW1lbnQoc3RyLCB7IHNjYWxlOiBz
Y2FsZSwgbWltZVR5cGU6IG1pbWVUeXBlLCBxdWFsaXR5OiBxdWFsaXR5IH0pOworICAgICAgICAg
IH0KKyAgICAgICAgfSk7CisgICAgICB9CisgICAgfSwgeworICAgICAga2V5OiAncmVuZGVySlNP
Tk9iamVjdCcsCisgICAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVySlNPTk9iamVjdChzcmMpIHsK
KyAgICAgICAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNb
MV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9OworICAgICAgICB2YXIgZm9ybWF0
ID0gb3B0aW9ucy5mb3JtYXQ7CisKKworICAgICAgICBpZiAoZm9ybWF0ICE9PSAnanNvbicgfHwg
Zm9ybWF0ICE9PSAnanNvbjAnKSB7CisgICAgICAgICAgZm9ybWF0ID0gJ2pzb24nOworICAgICAg
ICB9CisKKyAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVyU3RyaW5nKHNyYywgX2V4dGVuZHMoe30s
IG9wdGlvbnMsIHsgZm9ybWF0OiBmb3JtYXQgfSkpLnRoZW4oZnVuY3Rpb24gKHN0cikgeworICAg
ICAgICAgIHJldHVybiBKU09OLnBhcnNlKHN0cik7CisgICAgICAgIH0pOworICAgICAgfQorICAg
IH1dKTsKKyAgICByZXR1cm4gVml6OworICB9KCk7CisKKyAgcmV0dXJuIFZpejsKKworfSkpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdlcy9H
U3RyZWFtZXIuc3ZnIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2Vz
L0dTdHJlYW1lci5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjFkN2MyMGU2M2FmYTU5OGZhMDcwZjFhYTM1MGIy
ODdmNmIzY2EzOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0ltYWdlcy9HU3RyZWFtZXIuc3ZnCkBAIC0wLDAgKzEsODQgQEAKKzw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgorPCEtLSBHZW5l
cmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZH
IFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KKworPHN2ZworICAgeG1sbnM6ZGM9Imh0
dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgorICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVh
dGl2ZWNvbW1vbnMub3JnL25zIyIKKyAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5
OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKKyAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciCisgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCisgICB4bWxu
czpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGkt
MC5kdGQiCisgICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNw
YWNlcy9pbmtzY2FwZSIKKyAgIHZlcnNpb249IjEuMCIKKyAgIGlkPSJMYXllcl8xIgorICAgd2lk
dGg9IjE1Ny4yNzk4MiIKKyAgIGhlaWdodD0iNzQuODY5Njc1IgorICAgdmlld0JveD0iMCAwIDgz
LjE1NjUwOSAzMy43NzUzMjEiCisgICBvdmVyZmxvdz0idmlzaWJsZSIKKyAgIGVuYWJsZS1iYWNr
Z3JvdW5kPSJuZXcgMCAwIDI4MC4yMiA2OS4zODciCisgICB4bWw6c3BhY2U9InByZXNlcnZlIgor
ICAgc29kaXBvZGk6dmVyc2lvbj0iMC4zMiIKKyAgIGlua3NjYXBlOnZlcnNpb249IjAuOTIuNCAo
NWRhNjg5YzMxMywgMjAxOS0wMS0xNCkiCisgICBzb2RpcG9kaTpkb2NuYW1lPSJHU3RyZWFtZXIu
c3ZnIgorICAgaW5rc2NhcGU6b3V0cHV0X2V4dGVuc2lvbj0ib3JnLmlua3NjYXBlLm91dHB1dC5z
dmcuaW5rc2NhcGUiCisgICBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZSI+PG1ldGFkYXRhCisgICBp
ZD0ibWV0YWRhdGEzMCI+PHJkZjpSREY+PGNjOldvcmsKKyAgICAgICByZGY6YWJvdXQ9IiI+PGRj
OmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUKKyAgICAgICAgIHJkZjpy
ZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PGRjOnRp
dGxlPjwvZGM6dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzCisgICBp
ZD0iZGVmczI4Ij48aW5rc2NhcGU6cGVyc3BlY3RpdmUKKyAgICAgc29kaXBvZGk6dHlwZT0iaW5r
c2NhcGU6cGVyc3AzZCIKKyAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDM0LjY5MzUgOiAxIgorICAg
ICBpbmtzY2FwZTp2cF95PSIwIDogOTk5Ljk5OTk5IDogMCIKKyAgICAgaW5rc2NhcGU6dnBfej0i
MjgwLjIyIDogMzQuNjkzNSA6IDEiCisgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIxNDAu
MTEgOiAyMy4xMjkgOiAxIgorICAgICBpZD0icGVyc3BlY3RpdmUzMiIgLz48L2RlZnM+PHNvZGlw
b2RpOm5hbWVkdmlldworICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iOTY4IgorICAgaW5rc2Nh
cGU6d2luZG93LXdpZHRoPSIxMjgwIgorICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKKyAgIGlu
a3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCisgICBndWlkZXRvbGVyYW5jZT0iMTAuMCIKKyAgIGdy
aWR0b2xlcmFuY2U9IjEwLjAiCisgICBvYmplY3R0b2xlcmFuY2U9IjEwLjAiCisgICBib3JkZXJv
cGFjaXR5PSIxLjAiCisgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKKyAgIHBhZ2Vjb2xvcj0iI2Zm
ZmZmZiIKKyAgIGlkPSJiYXNlIgorICAgc2hvd2dyaWQ9ImZhbHNlIgorICAgaW5rc2NhcGU6em9v
bT0iMS4wNTAzMzgiCisgICBpbmtzY2FwZTpjeD0iMTI0LjY2MTczIgorICAgaW5rc2NhcGU6Y3k9
IjguODM2Njc4NiIKKyAgIGlua3NjYXBlOndpbmRvdy14PSI1MjIiCisgICBpbmtzY2FwZTp3aW5k
b3cteT0iNjAiCisgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJMYXllcl8xIgorICAgZml0LW1h
cmdpbi10b3A9IjAiCisgICBmaXQtbWFyZ2luLWxlZnQ9IjAiCisgICBmaXQtbWFyZ2luLXJpZ2h0
PSIwIgorICAgZml0LW1hcmdpbi1ib3R0b209IjAiCisgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1p
emVkPSIwIiAvPgorCisKKworCisKKworCisKKworCisKKzxnCisgICBpZD0iZzM3MzkiCisgICB0
cmFuc2Zvcm09InRyYW5zbGF0ZSgtNy45MzA3NTYsLTcuOTMxMDI5MykiPjxwYXRoCisgICAgIGlk
PSJwYXRoMjEiCisgICAgIGQ9Im0gNTIuNDAzNzg1LDYuODY4MTQzNyBjIC01LjEwMjg0MywwIC0x
Mi41Njg4OTksLTQuMTU3NTU3NiAtMTkuODQ1MzMzLC00LjE1NzU1NzYgLTcuMjc2NDMzLDAgLTEx
LjYyMjY3MSw0LjE1NzU1NzYgLTEyLjM3OTI3Niw0LjcyNDU0MDIgLTAuNzU1NjYzLDAuNTY2OTgy
NSAtMS4yMjkyNDksMi43Mzk2Mjk3IDEuMDM5NjI1LDIuMDc4MzA3MSAyLjI2ODg3NCwtMC42NjEz
MjI0IDQuMTU3NTU4LC0wLjY2MTMyMjQgNy43NDkwNzYsLTAuNjYxMzIyNCAzLjU5MTUxOSwwIDEy
LjE5MDU5Nyw0LjkxNDE2MyAyMC44ODQ5NTgsNC45MTQxNjMgOC42OTQzNjIsMCAxNS45Njk4NTIs
LTYuNzA4NTA3MiAxNy41NzY0NiwtOS4wNzE3MjA3IDEuNjA2NjA3LC0yLjM2MzIxMzQgMC4wOTQz
NCwtMy4xMTg4NzU3IC0xLjEzMzk2NiwtMi41NTA5NDk4IC0xLjIyOTI0OCwwLjU2Njk4MjYgLTku
MTY2MDYsNC43MjQ1NDAyIC0xMy44OTE1NDQsNC43MjQ1NDAyIHoiCisgICAgIHN0eWxlPSJmaWxs
OiNmZjMxMzE7c3Ryb2tlLXdpZHRoOjAuOTQzMzk4NTkiCisgICAgIGlua3NjYXBlOmNvbm5lY3Rv
ci1jdXJ2YXR1cmU9IjAiIC8+PHBhdGgKKyAgICAgaWQ9InBhdGgyMyIKKyAgICAgZD0ibSA3NC41
NzE3NjUsMTkuODEzNDU5IGMgLTUuMzYxMzM0LDAgLTEzLjIwNDc1LC00LjE1NjYxNCAtMjAuODQ5
MTA5LC00LjE1NjYxNCAtNy42NDQzNTksMCAtMTIuMjExMzUxLDQuMTU2NjE0IC0xMy4wMDU2OTMs
NC43MjQ1NCAtMC43OTQzNDEsMC41Njc5MjYgLTEuMjkxNTEyLDIuNzM5NjMgMS4wOTE1MTIsMi4w
NzgzMDcgMi4zODMwMjUsLTAuNjYxMzIyIDQuMzY3OTM2LC0wLjY2MTMyMiA4LjE0MDU4NywtMC42
NjEzMjIgMy43NzI2NTEsMCAxMi44MDc1NzksNC45MTQxNjMgMjEuOTQwNjIxLDQuOTE0MTYzIDku
MTMzMDQyLDAgMTYuNzc4MzQ0LC02LjcwODUwNyAxOC40NjYwODQsLTkuMDcwNzc3IDEuNjg3NzQs
LTIuMzYzMjE0IDAuMDk5MDYsLTMuMTE5ODE5IC0xLjE5MTUxMiwtMi41NTE4OTMgLTEuMjkwNTY5
LDAuNTY3OTI1IC05LjYyODMyNiw0LjcyMzU5NiAtMTQuNTkyNDksNC43MjM1OTYgeiIKKyAgICAg
c3R5bGU9ImZpbGw6IzMxOTgzMTtzdHJva2Utd2lkdGg6MC45NDMzOTg1OSIKKyAgICAgaW5rc2Nh
cGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz48cGF0aAorICAgICBpZD0icGF0aDI1IgorICAg
ICBkPSJtIDQzLjcxOTgwMSwzNC4wOTg0MDEgYyAtNS41NTk0NDgsMCAtMTMuNjkzNDMxLC00LjQ5
MTUyMSAtMjEuNjIwODA5LC00LjQ5MTUyMSAtNy45MjczNzksMCAtMTIuNjY0MTgyOSw0LjQ5MTUy
MSAtMTMuNDg3NzY5OSw1LjEwMzc4NyAtMC44MjM1ODcsMC42MTIyNjUgLTEuMzM4NjgyNiwyLjk1
OTQ0MSAxLjEzMjA3ODMsMi4yNDQzNDUgMi40NzE3MDQ2LC0wLjcxNDE1MyA0LjUzMDE5OTYsLTAu
NzE0MTUzIDguNDQyNDczNiwtMC43MTQxNTMgMy45MTIyNzQsMCAxMy4yODIxMDksNS4zMDc1NjEg
MjIuNzU0Nzc1LDUuMzA3NTYxIDkuNDcxNzIyLDAgMTcuMzk5MSwtNy4yNDYyNDUgMTkuMTUwMDQ4
LC05Ljc5ODEzOCAxLjc1MDk0OCwtMi41NTE4OTMgMC4xMDI4MywtMy4zNjc5MzMgLTEuMjM1ODUy
LC0yLjc1NTY2OCAtMS4zMzg2ODMsMC42MTIyNjYgLTkuOTg2ODE4LDUuMTAzNzg3IC0xNS4xMzQ5
NDQsNS4xMDM3ODcgeiIKKyAgICAgc3R5bGU9ImZpbGw6IzMyMzJjYztzdHJva2Utd2lkdGg6MC45
NDMzOTg1OSIKKyAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz48L2c+Cis8
L3N2Zz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKaW5kZXggNjAwNDQwMzVlYjU3YWUyNzMyZGY4MDE3
YzMyNmY0MjcwOGE0YzYzNi4uYzA3OTFkN2E3MjI1NjEwNTRiN2RlYzNiMzdlZjU5OTUwNjI1YmY0
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5o
dG1sCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbApA
QCAtMTA5LDYgKzEwOSw3IEBACiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3
cy9Gb250UmVzb3VyY2VDb250ZW50Vmlldy5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iVmlld3MvRm9ybWF0dGVkVmFsdWUuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9IlZpZXdzL0dhdWdlQ2hhcnQuY3NzIj4KKyAgICA8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9IlZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmNzcyI+CiAgICAgPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9HZW5lcmFsU3R5bGVEZXRhaWxzU2lkZWJh
clBhbmVsLmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9Hb1Rv
TGluZURpYWxvZy5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3Mv
R3JhZGllbnRFZGl0b3IuY3NzIj4KQEAgLTI4Myw2ICsyODQsMTAgQEAKICAgICA8c2NyaXB0IHNy
Yz0iRXh0ZXJuYWwvdGhyZWUuanMvdGhyZWUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3Jj
PSJFeHRlcm5hbC90aHJlZS5qcy9PcmJpdENvbnRyb2xzLmpzIj48L3NjcmlwdD4KIAorICAgIDxz
Y3JpcHQgc3JjPSJFeHRlcm5hbC9zdmctcGFuLXpvb20uanMvc3ZnLXBhbi16b29tLm1pbi5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IkV4dGVybmFsL3Zpei5qcy92aXouanMiPjwvc2Ny
aXB0PgorICAgIDxzY3JpcHQgc3JjPSJFeHRlcm5hbC92aXouanMvZnVsbC5yZW5kZXIuanMiPjwv
c2NyaXB0PgorCiAgICAgPHNjcmlwdCBzcmM9IkJhc2UvV2ViSW5zcGVjdG9yLmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHNyYz0iQmFzZS9QbGF0Zm9ybS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNj
cmlwdCBzcmM9IkJhc2UvRGVib3VuY2VyLmpzIj48L3NjcmlwdD4KQEAgLTQ5Miw2ICs0OTcsOCBA
QAogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQXVkaXRUZXN0Q2FzZVJlc3VsdC5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9BdWRpdFRlc3RHcm91cFJlc3VsdC5qcyI+PC9z
Y3JpcHQ+CiAKKyAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzIj48
L3NjcmlwdD4KKwogICAgIDxzY3JpcHQgc3JjPSJQcm94aWVzL0Zvcm1hdHRlcldvcmtlclByb3h5
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJveGllcy9IZWFwU25hcHNob3REaWZm
UHJveHkuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm94aWVzL0hlYXBTbmFwc2hv
dEVkZ2VQcm94eS5qcyI+PC9zY3JpcHQ+CkBAIC01NjksNiArNTc2LDcgQEAKICAgICA8c2NyaXB0
IHNyYz0iVmlld3MvQ2FudmFzVGFiQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJWaWV3cy9Db25zb2xlVGFiQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJWaWV3cy9FbGVtZW50c1RhYkNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHNyYz0iVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9MYXllcnNUYWJDb250ZW50Vmlldy5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1Jlc291cmNlVHJlZUVsZW1lbnQuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9TY3JpcHRUcmVlRWxlbWVudC5qcyI+PC9zY3Jp
cHQ+CkBAIC01ODQsNiArNTkyLDkgQEAKICAgICA8c2NyaXB0IHNyYz0iVmlld3MvRGV0YWlsc1Nl
Y3Rpb25TaW1wbGVSb3cuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9EZXRh
aWxzU2VjdGlvblRleHRSb3cuanMiPjwvc2NyaXB0PgogCisgICAgPHNjcmlwdCBzcmM9IlZpZXdz
L0dTdHJlYW1lclNpZGViYXJQYW5lbC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IlZp
ZXdzL0dTdHJlYW1lclZpZXcuanMiPjwvc2NyaXB0PgorCiAgICAgPHNjcmlwdCBzcmM9IlZpZXdz
L1NldHRpbmdFZGl0b3IuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9TZXR0
aW5nc0dyb3VwLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvU2V0dGluZ3NW
aWV3LmpzIj48L3NjcmlwdD4KQEAgLTg4MCw2ICs4OTEsNyBAQAogICAgIDxzY3JpcHQgc3JjPSJD
b250cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3Jj
PSJDb250cm9sbGVycy9EcmFnVG9BZGp1c3RDb250cm9sbGVyLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRm9ybWF0dGVyU291cmNlTWFwLmpzIj48L3NjcmlwdD4K
KyAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvR1N0cmVhbWVyTWFuYWdlci5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0hBUkJ1aWxkZXIuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9IZWFwTWFuYWdlci5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0luZGV4ZWREQk1hbmFnZXIuanMiPjwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiYTk2ZGJiYjVk
YTcwZjE2NzI5MzY4YjFlZWU2N2U2YTgyYTY5ZTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvR1N0cmVhbWVyUGlwZWxpbmUuanMK
QEAgLTAsMCArMSw0OSBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAor
ICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExl
c3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisg
KiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9z
dG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworV0kuR1N0cmVhbWVyUGlwZWxpbmUgPSBj
bGFzcyBHU3RyZWFtZXJQaXBlbGluZQoreworICAgIGNvbnN0cnVjdG9yKG5hbWUsIHBhcmVudEJp
bk5hbWUsIGJpbk5hbWUsIGRvdERhdGEsIHN2Z0VsZW1lbnQpCisgICAgeworICAgICAgICB0aGlz
Ll9uYW1lID0gbmFtZTsKKyAgICAgICAgdGhpcy5fcGFyZW50QmluTmFtZSA9IHBhcmVudEJpbk5h
bWU7CisgICAgICAgIHRoaXMuX2Jpbk5hbWUgPSBiaW5OYW1lOworICAgICAgICB0aGlzLl9kb3RE
YXRhID0gZG90RGF0YTsKKyAgICAgICAgdGhpcy5fc3ZnRWxlbWVudCA9IHN2Z0VsZW1lbnQ7Cisg
ICAgfQorCisgICAgLy8gUHVibGljCisKKyAgICBnZXQgbmFtZSgpIHsgcmV0dXJuIHRoaXMuX25h
bWU7IH0KKyAgICBnZXQgcGFyZW50QmluTmFtZSgpIHsgcmV0dXJuIHRoaXMuX3BhcmVudEJpbk5h
bWU7IH0KKyAgICBnZXQgYmluTmFtZSgpIHsgcmV0dXJuIHRoaXMuX2Jpbk5hbWU7IH0KKyAgICBn
ZXQgc3ZnRWxlbWVudCgpIHsgcmV0dXJuIHRoaXMuX3N2Z0VsZW1lbnQ7IH0KKworICAgIGdldCBz
YXZlRGF0YSgpCisgICAgeworICAgICAgICBsZXQgbmFtZSA9IHRoaXMuX25hbWU7CisgICAgICAg
IGxldCBmaWxlbmFtZSA9IFdJLnVubG9jYWxpemVkU3RyaW5nKGBHU3RyZWFtZXItcGlwZWxpbmUt
ZHVtcC0ke25hbWV9LmRvdGApOworICAgICAgICByZXR1cm4geworICAgICAgICAgICAgdXJsOiBX
SS5GaWxlVXRpbGl0aWVzLmluc3BlY3RvclVSTEZvckZpbGVuYW1lKGZpbGVuYW1lKSwKKyAgICAg
ICAgICAgIGNvbnRlbnQ6IHRoaXMuX2RvdERhdGEsCisgICAgICAgIH07CisgICAgfQorCit9Owor
CitXSS5HU3RyZWFtZXJQaXBlbGluZS5UeXBlSWRlbnRpZmllciA9ICJnc3RyZWFtZXItcGlwZWxp
bmUiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJv
dG9jb2wvUGFnZU9ic2VydmVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvUHJvdG9jb2wvUGFnZU9ic2VydmVyLmpzCmluZGV4IDY2NTEwODA4Mjk1Njk4MWYwOWFiNTdl
Njc2MTk5NmI1YTE3ZWRlYmUuLmJlZWI1MTY2NmQxZmUzZmFlOTQ4YzEzZWJlOWQwMTY1NDMzOThl
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3Rv
Y29sL1BhZ2VPYnNlcnZlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Qcm90b2NvbC9QYWdlT2JzZXJ2ZXIuanMKQEAgLTg2LDQgKzg2LDkgQEAgV0kuUGFnZU9i
c2VydmVyID0gY2xhc3MgUGFnZU9ic2VydmVyIGV4dGVuZHMgSW5zcGVjdG9yQmFja2VuZC5EaXNw
YXRjaGVyCiAgICAgewogICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTApOiBQYWdlLnNj
cmlwdHNFbmFibGVkIHdhcyByZW1vdmVkIGFmdGVyIGlPUyAxMC4KICAgICB9CisKKyAgICBnc3Ry
ZWFtZXJQaXBlbGluZUNhY2hlVXBkYXRlZCgpCisgICAgeworICAgICAgICBXSS5nc3RyZWFtZXJN
YW5hZ2VyLmNhY2hlQ2hhbmdlZCgpOworICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJTaWRlYmFyUGFuZWwuY3Nz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lk
ZWJhclBhbmVsLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NTRmNjFiYmRmODk3NTk4YWRiZGNjN2IyOTU3YTVm
M2U3NDBhNTdlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBhbmVsLmNzcwpAQCAtMCwwICsxLDEwOCBA
QAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisg
KiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAt
MTMwMSAgVVNBCisgKi8KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciA+
IC5jb250ZW50IHsKKyAgICB0b3A6IHZhcigtLW5hdmlnYXRpb24tYmFyLWhlaWdodCk7Cit9CisK
Ky5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgPiAubmF2aWdhdGlvbi1iYXIg
eworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDA7CisgICAgbGVmdDogMDsKKyAg
ICByaWdodDogMDsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciA+
IC5uYXZpZ2F0aW9uLWJhciAuZGVidWdnZXItYnJlYWtwb2ludHMgeworICAgIGZpbGw6IG5vbmU7
CisgICAgc3Ryb2tlOiB2YXIoLS1nbHlwaC1jb2xvcik7Cit9Cisuc2lkZWJhciA+IC5wYW5lbC5u
YXZpZ2F0aW9uLmRlYnVnZ2VyID4gLm5hdmlnYXRpb24tYmFyIC5kZWJ1Z2dlci1icmVha3BvaW50
cy5hY3RpdmF0ZWQgeworICAgIGZpbGw6IHZhcigtLWdseXBoLWNvbG9yLWFjdGl2ZSk7CisgICAg
c3Ryb2tlOiB2YXIoLS1nbHlwaC1jb2xvci1hY3RpdmUpOworfQorCisuc2lkZWJhciA+IC5wYW5l
bC5uYXZpZ2F0aW9uLmRlYnVnZ2VyID4gLm5hdmlnYXRpb24tYmFyIC5kZWJ1Z2dlci1wYXVzZS1y
ZXN1bWUgeworICAgIGZpbGw6IG5vbmU7CisgICAgc3Ryb2tlOiB2YXIoLS1nbHlwaC1jb2xvcik7
Cit9Cisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyID4gLm5hdmlnYXRpb24t
YmFyIC5kZWJ1Z2dlci1wYXVzZS1yZXN1bWUuYWN0aXZhdGVkIHsKKyAgICBzdHJva2U6IHZhcigt
LWdseXBoLWNvbG9yLWFjdGl2ZSk7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24u
ZGVidWdnZXIgLndhcm5pbmctYmFubmVyIHsKKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CisgICAg
Zm9udC1zaXplOiAxMXB4OworCisgICAgcGFkZGluZzogMTFweCA2cHg7CisgICAgbWFyZ2luLWJv
dHRvbTogNnB4OworCisgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1j
b2xvcik7CisgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDUwLCAxMDAlLCA5NCUpOworfQorCisu
c2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC50cmVlLW91dGxpbmUuc2luZ2xl
LXRocmVhZCA+IC5pdGVtLnRocmVhZCB7CisgICAgZGlzcGxheTogbm9uZTsKK30KKworLnNpZGVi
YXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAudHJlZS1vdXRsaW5lLnNpbmdsZS10aHJl
YWQgeworICAgIC0tdHJlZS1vdXRsaW5lLXNpbmdsZS10aHJlYWQtbWFyZ2luLXN0YXJ0OiAtMTBw
eDsKK30KKworYm9keVtkaXI9bHRyXSAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVn
Z2VyIC50cmVlLW91dGxpbmUuc2luZ2xlLXRocmVhZCB7CisgICAgbWFyZ2luLWxlZnQ6IHZhcigt
LXRyZWUtb3V0bGluZS1zaW5nbGUtdGhyZWFkLW1hcmdpbi1zdGFydCk7Cit9CisKK2JvZHlbZGly
PXJ0bF0gLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAudHJlZS1vdXRsaW5l
LnNpbmdsZS10aHJlYWQgeworICAgIG1hcmdpbi1yaWdodDogdmFyKC0tdHJlZS1vdXRsaW5lLXNp
bmdsZS10aHJlYWQtbWFyZ2luLXN0YXJ0KTsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdh
dGlvbi5kZWJ1Z2dlciAud2FybmluZy1iYW5uZXIgPiBhIHsKKyAgICB0ZXh0LWRlY29yYXRpb246
IHVuZGVybGluZTsKKyAgICBjdXJzb3I6IHBvaW50ZXI7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVs
Lm5hdmlnYXRpb24uZGVidWdnZXIgLmRldGFpbHMtc2VjdGlvbiB7CisgICAgZm9udC1zaXplOiAx
MXB4OworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC5kZXRhaWxz
LXNlY3Rpb24ucGF1c2VkLXJlYXNvbi5jb2xsYXBzZWQgPiAuaGVhZGVyID4gLm9wdGlvbnMgewor
ICAgIGRpc3BsYXk6IGJsb2NrOworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRl
YnVnZ2VyIC5kZXRhaWxzLXNlY3Rpb24gPiAuY29udGVudCB7CisgICAgZGlzcGxheTogYmxvY2s7
Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLmRldGFpbHMtc2Vj
dGlvbi5jb2xsYXBzZWQgPiAuY29udGVudCB7CisgICAgZGlzcGxheTogbm9uZTsKK30KKworLnNp
ZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0YWlscy1zZWN0aW9uID4gLmNv
bnRlbnQgPiAuZ3JvdXAgeworICAgIGRpc3BsYXk6IGJsb2NrOworfQorCisuc2lkZWJhciA+IC5w
YW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC5kZXRhaWxzLXNlY3Rpb24uc2NyaXB0czpub3QoLmNv
bGxhcHNlZCkgeworICAgIGJvcmRlci1ib3R0b206IG5vbmU7Cit9CisKK0BtZWRpYSAocHJlZmVy
cy1kYXJrLWludGVyZmFjZSkgeworICAgIC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVi
dWdnZXIgLndhcm5pbmctYmFubmVyIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0t
eWVsbG93LWhpZ2hsaWdodC1iYWNrZ3JvdW5kLWNvbG9yKTsKKyAgICAgICAgY29sb3I6IHZhcigt
LXllbGxvdy1oaWdobGlnaHQtdGV4dC1jb2xvcik7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBh
bmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVh
bWVyU2lkZWJhclBhbmVsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlZGJlOGFhMjM2NDUwODVjNTIxZjdiMmEx
NDA1NDhiYTk1MjQzMjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJTaWRlYmFyUGFuZWwuanMKQEAgLTAsMCArMSw5
MiBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIx
MTAtMTMwMSAgVVNBCisgKi8KKworV0kuR1N0cmVhbWVyU2lkZWJhclBhbmVsID0gY2xhc3MgR1N0
cmVhbWVyU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYXJQYW5lbAorewor
ICAgIGNvbnN0cnVjdG9yKCkKKyAgICB7CisgICAgICAgIHN1cGVyKCJnc3RyZWFtZXIiLCBXSS5V
SVN0cmluZygiR1N0cmVhbWVyIiksIHRydWUpOworCisgICAgICAgIHRoaXMuY29udGVudFRyZWVP
dXRsaW5lLmFkZEV2ZW50TGlzdGVuZXIoV0kuVHJlZU91dGxpbmUuRXZlbnQuU2VsZWN0aW9uRGlk
Q2hhbmdlLCB0aGlzLl90cmVlU2VsZWN0aW9uRGlkQ2hhbmdlLCB0aGlzKTsKKworICAgICAgICBX
SS5nc3RyZWFtZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuR1N0cmVhbWVyTWFuYWdlci5F
dmVudC5DYWNoZUNoYW5nZWQsIHRoaXMuX3JlZnJlc2hQaXBlbGluZXNMaXN0LCB0aGlzKTsKKyAg
ICB9CisKKyAgICAvLyBQcm90ZWN0ZWQKKworICAgIGluaXRpYWxMYXlvdXQoKQorICAgIHsKKyAg
ICAgICAgc3VwZXIuaW5pdGlhbExheW91dCgpOworCisgICAgICAgIGxldCBwaXBlbGluZXNSb3cg
PSBuZXcgV0kuRGV0YWlsc1NlY3Rpb25Sb3c7CisgICAgICAgIHBpcGVsaW5lc1Jvdy5lbGVtZW50
LmFwcGVuZENoaWxkKHRoaXMuY29udGVudFRyZWVPdXRsaW5lLmVsZW1lbnQpOworCisgICAgICAg
IGxldCBwaXBlbGluZXNHcm91cCA9IG5ldyBXSS5EZXRhaWxzU2VjdGlvbkdyb3VwKFtwaXBlbGlu
ZXNSb3ddKTsKKyAgICAgICAgdGhpcy5fcGlwZWxpbmVzU2VjdGlvbiA9IG5ldyBXSS5EZXRhaWxz
U2VjdGlvbigicGlwZWxpbmVzIiwgV0kuVUlTdHJpbmcoIlBpcGVsaW5lcyIpLCBbcGlwZWxpbmVz
R3JvdXBdKTsKKyAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmFwcGVuZENoaWxkKHRo
aXMuX3BpcGVsaW5lc1NlY3Rpb24uZWxlbWVudCk7CisKKyAgICAgICAgdGhpcy5fcmVmcmVzaFBp
cGVsaW5lc0xpc3QoKTsKKyAgICB9CisKKyAgICAvLyBQcml2YXRlCisKKyAgICBfcmVmcmVzaFBp
cGVsaW5lc0xpc3QoKQorICAgIHsKKyAgICAgICAgaWYgKCFXSS50YXJnZXRzQXZhaWxhYmxlKCkp
IHsKKyAgICAgICAgICAgIFdJLndoZW5UYXJnZXRzQXZhaWxhYmxlKCkudGhlbigoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdGhpcy5fcmVmcmVzaFBpcGVsaW5lc0xpc3QoKTsKKyAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgbGV0IHRhcmdl
dCA9IFdJLmFzc3VtaW5nTWFpblRhcmdldCgpOworICAgICAgICB0YXJnZXQuUGFnZUFnZW50Lmdl
dEdTdHJlYW1lclBpcGVsaW5lc05hbWVzKCkudGhlbigocGF5bG9hZCkgPT4geworICAgICAgICAg
ICAgdGhpcy5jb250ZW50VHJlZU91dGxpbmUucmVtb3ZlQ2hpbGRyZW4odHJ1ZSk7CisgICAgICAg
ICAgICBmb3IgKGxldCBuYW1lIG9mIHBheWxvYWQucGlwZWxpbmVzKSB7CisgICAgICAgICAgICAg
ICAgbGV0IGVsdCA9IG5ldyBXSS5UcmVlRWxlbWVudChuYW1lLCBudWxsKTsKKyAgICAgICAgICAg
ICAgICB0aGlzLmNvbnRlbnRUcmVlT3V0bGluZS5hcHBlbmRDaGlsZChlbHQpOworICAgICAgICAg
ICAgfQorICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHsKKyAgICAgICAgICAgIGNvbnNvbGUu
ZXJyb3IoIkNvdWxkIG5vdCBmZXRjaCBwaXBlbGluZXM6ICIsIGVycm9yKTsKKyAgICAgICAgfSk7
CisgICAgfQorCisgICAgX3RyZWVTZWxlY3Rpb25EaWRDaGFuZ2UoZXZlbnQpCisgICAgeworICAg
ICAgICBpZiAoIXRoaXMuc2VsZWN0ZWQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
bGV0IHRyZWVFbGVtZW50ID0gdGhpcy5jb250ZW50VHJlZU91dGxpbmUuc2VsZWN0ZWRUcmVlRWxl
bWVudDsKKyAgICAgICAgaWYgKCF0cmVlRWxlbWVudCkKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICBsZXQgcGlwZWxpbmVOYW1lID0gdHJlZUVsZW1lbnQudGl0bGU7CisgICAgICAgIGxl
dCB0YXJnZXQgPSBXSS5hc3N1bWluZ01haW5UYXJnZXQoKTsKKyAgICAgICAgdGFyZ2V0LlBhZ2VB
Z2VudC5kdW1wR1N0cmVhbWVyUGlwZWxpbmUocGlwZWxpbmVOYW1lLCAiIikudGhlbigocGF5bG9h
ZCkgPT4geworICAgICAgICAgICAgV0kuZ3N0cmVhbWVyTWFuYWdlci5yZW5kZXJTVkdFbGVtZW50
KHBheWxvYWQucGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uKQorICAgICAgICAgICAgICAgIC50
aGVuKChzdmdFbGVtZW50KSA9PiB7CisgICAgICAgICAgICAgICAgICAgIGxldCByZXByZXNlbnRl
ZE9iamVjdCA9IG5ldyBXSS5HU3RyZWFtZXJQaXBlbGluZShwaXBlbGluZU5hbWUsICIiLCAiIiwg
cGF5bG9hZC5waXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24sIHN2Z0VsZW1lbnQpOworICAgICAg
ICAgICAgICAgICAgICBXSS5zaG93UmVwcmVzZW50ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3Qp
OworICAgICAgICAgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4geworICAgICAgICAgICAgICAg
ICAgICBjb25zb2xlLmVycm9yKCJHcmFwaGRvdCByZW5kZXJpbmcgZmFpbGVkOiAiLCBlcnJvcik7
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4geworICAg
ICAgICAgICAgY29uc29sZS5lcnJvcigiQ291bGQgbm90IGR1bXAgcGlwZWxpbmU6ICIsIGVycm9y
KTsKKyAgICAgICAgfSk7CisgICAgfQorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmNzcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRl
bnRWaWV3LmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZWQzNWE1Yjc2ZDQwZTIyOWRkZGJjZDRkMWRlM2EzY2M3
OWJmYzNlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuY3NzCkBAIC0wLDAgKzEsMTM4IEBA
CisvKgorICogIENvcHlyaWdodCAoQykgMjAxOSBJZ2FsaWEgUy5MCisgKgorICogIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0x
MzAxICBVU0EKKyAqLworCisuY29udGVudC12aWV3LmdzdHJlYW1lciB7CisgICAgcGFkZGluZy1i
b3R0b206IDZ2aDsKKyAgICBvdmVyZmxvdy15OiBhdXRvOworfQorCisuY29udGVudC12aWV3Lmdz
dHJlYW1lciAubmF2aWdhdGlvbi1iYXIgeworICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTsK
KyAgICB0b3A6IDA7CisgICAgei1pbmRleDogMTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0
ZTsKK30KKworLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgLm5hdmlnYXRpb24tYmFyLmludmlzaWJs
ZSB7CisgICAgdmlzaWJpbGl0eTogaGlkZGVuOworfQorCisuY29udGVudC12aWV3LmdzdHJlYW1l
ciAubmF2aWdhdGlvbi1iYXIgLml0ZW0ucmFkaW8uYnV0dG9uLnRleHQtb25seSB7CisgICAgY29s
b3I6IGluaGVyaXQ7CisgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsKK30KKworLmNvbnRl
bnQtdmlldy5nc3RyZWFtZXIgLm5hdmlnYXRpb24tYmFyIC5pdGVtLnJhZGlvLmJ1dHRvbi50ZXh0
LW9ubHkuc2VsZWN0ZWQgeworICAgIGNvbG9yOiB2YXIoLS1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNv
bG9yKQorfQorCisuY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5z
ZXBhcmF0b3IgeworICAgIGhlaWdodDogMWVtOworfQorCisuY29udGVudC12aWV3LmdzdHJlYW1l
ciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgeworICAgIGRpc3BsYXk6IGZsZXg7Cisg
ICAgbWFyZ2luLXRvcDogMWVtOworICAgIGZvbnQtc2l6ZTogMTNweDsKK30KKworLmNvbnRlbnQt
dmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyLmhpZGRlbiB7Cisg
ICAgZGlzcGxheTogbm9uZTsKK30KKworLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVh
bWVyLXZpZXcgPiAuY29udGFpbmVyLWNlbnRlcmVkIHsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAg
ICAvKiB0ZXh0LWFsaWduOiBjZW50ZXI7ICovCisgICAgLyogb3ZlcmZsb3c6IGF1dG87ICovCit9
CisKKy5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5l
ciBidXR0b24geworICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsKK30KKworLmNvbnRlbnQtdmlldy5n
c3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLnRpdGxlIHsKKyAgICBt
YXJnaW4tdG9wOiAycHg7CisgICAgd2lkdGg6IDUwJTsKKyAgICB0ZXh0LWFsaWduOiBlbmQ7CisK
KyAgICAtLXNldHRpbmctbmFtZS1tYXJnaW4tZW5kOiA2cHg7Cit9CisKK2JvZHlbZGlyPWx0cl0g
LmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4g
LnRpdGxlIHsKKyAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNldHRpbmctbmFtZS1tYXJnaW4tZW5k
KTsKK30KKworYm9keVtkaXI9cnRsXSAuY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFt
ZXItdmlldyA+IC5jb250YWluZXIgPiAudGl0bGUgeworICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1z
ZXR0aW5nLW5hbWUtbWFyZ2luLWVuZCk7Cit9CisKKy5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4g
LmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAgeworICAgIGRpc3Bs
YXk6IGZsZXg7CisgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKK30KKworLmNvbnRlbnQtdmll
dy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLmVkaXRvci1ncm91
cCA+IC5lZGl0b3IgaW5wdXQgeworICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsKK30KKworLmNvbnRl
bnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLmVkaXRv
ci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7CisgICAgLyogVmVydGlj
YWxseSBhbGlnbiA8c2VsZWN0PiB3aXRoIHRoZSBncm91cCB0aXRsZSB0ZXh0LiAqLworICAgIGZv
bnQtc2l6ZTogMTZweDsKKworICAgIC0tZ3N0cmVhbWVyLWlucHV0LWNoZWNrYm94LW1hcmdpbi1l
bmQ6IDRweDsKK30KKworYm9keVtkaXI9bHRyXSAuY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5n
c3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRvciBpbnB1
dFt0eXBlPSJjaGVja2JveCJdIHsKKyAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdzdHJlYW1lci1p
bnB1dC1jaGVja2JveC1tYXJnaW4tZW5kKTsKK30KKworYm9keVtkaXI9cnRsXSAuY29udGVudC12
aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdy
b3VwID4gLmVkaXRvciBpbnB1dFt0eXBlPSJjaGVja2JveCJdIHsKKyAgICBtYXJnaW4tbGVmdDog
dmFyKC0tZ3N0cmVhbWVyLWlucHV0LWNoZWNrYm94LW1hcmdpbi1lbmQpOworfQorCisuY29udGVu
dC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9y
LWdyb3VwID4gLmVkaXRvciBzZWxlY3QgeworICAgIC8qCisgICAgVG8gc2V0IHRoZSBmb250LXNp
emUgb2YgPHNlbGVjdD4gdG8gYmUgZXhhY3RseSAxM3B4LCBpdCBuZWVkcyB0byBiZSBzZXQgdG8g
MTZweC4KKyAgICBTZXR0aW5nIHRoZSBmb250LXNpemUgdG8gMTNweCBhY3R1YWxseSBzZXRzIGl0
IHRvIDExcHguCisgICAgKi8KKyAgICBmb250LXNpemU6IDE2cHg7CisKKyAgICAvKiBWZXJ0aWNh
bGx5IGFsaWduIDxzZWxlY3Q+IHdpdGggdGhlIGdyb3VwIHRpdGxlIHRleHQuICovCisgICAgbWFy
Z2luLXRvcDogMDsKK30KKworLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZp
ZXcgPiAuY29udGFpbmVyID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0ibnVt
YmVyIl0geworICAgIC8qIFZlcnRpY2FsbHkgYWxpZ24gPGlucHV0PiB3aXRoIHRoZSBncm91cCB0
aXRsZSB0ZXh0LiAqLworICAgIG1hcmdpbi10b3A6IC0xcHg7CisKKyAgICBtYXgtd2lkdGg6IDQ4
cHg7CisgICAgdGV4dC1hbGlnbjogZW5kOworCisgICAgLS1nc3RyZWFtZXItaW5wdXQtbnVtYmVy
LW1hcmdpbi1zdGFydDogMnB4OworICAgIC0tZ3N0cmVhbWVyLWlucHV0LW51bWJlci1tYXJnaW4t
ZW5kOiA1cHg7Cit9CisKK2JvZHlbZGlyPWx0cl0gLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAu
Z3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5w
dXRbdHlwZT0ibnVtYmVyIl0geworICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1nc3RyZWFtZXItaW5w
dXQtbnVtYmVyLW1hcmdpbi1zdGFydCk7CisgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1nc3RyZWFt
ZXItaW5wdXQtbnVtYmVyLW1hcmdpbi1lbmQpOworfQorCitib2R5W2Rpcj1ydGxdIC5jb250ZW50
LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3It
Z3JvdXAgPiAuZWRpdG9yIGlucHV0W3R5cGU9Im51bWJlciJdIHsKKyAgICBtYXJnaW4tbGVmdDog
dmFyKC0tZ3N0cmVhbWVyLWlucHV0LW51bWJlci1tYXJnaW4tZW5kKTsKKyAgICBtYXJnaW4tcmln
aHQ6IHZhcigtLWdzdHJlYW1lci1pbnB1dC1udW1iZXItbWFyZ2luLXN0YXJ0KTsKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1l
clRhYkNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY4ZjVhN2U4MDMz
NjJlYTA2ZjE4ODI0MzgxNjE1MmFiODA4MzFiYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3
LmpzCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBT
LkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2Fy
ZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
IEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKK1dJLkdTdHJlYW1lclRhYkNvbnRl
bnRWaWV3ID0gY2xhc3MgR1N0cmVhbWVyVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50
QnJvd3NlclRhYkNvbnRlbnRWaWV3Cit7CisgICAgY29uc3RydWN0b3IoaWRlbnRpZmllcikKKyAg
ICB7CisgICAgICAgIGxldCB0YWJCYXJJdGVtID0gV0kuR2VuZXJhbFRhYkJhckl0ZW0uZnJvbVRh
YkluZm8oV0kuR1N0cmVhbWVyVGFiQ29udGVudFZpZXcudGFiSW5mbygpKTsKKyAgICAgICAgbGV0
IGRldGFpbHNTaWRlYmFyUGFuZWxDb25zdHJ1Y3RvcnMgPSBbXTsKKworICAgICAgICBzdXBlcihp
ZGVudGlmaWVyIHx8ICJnc3RyZWFtZXIiLCAiZ3N0cmVhbWVyIiwgdGFiQmFySXRlbSwgV0kuR1N0
cmVhbWVyU2lkZWJhclBhbmVsLAorICAgICAgICAgICAgICBkZXRhaWxzU2lkZWJhclBhbmVsQ29u
c3RydWN0b3JzKTsKKworICAgICAgICB0aGlzLl9nc3RyZWFtZXJWaWV3ID0gbnVsbDsKKyAgICB9
CisKKyAgICBzdGF0aWMgdGFiSW5mbygpCisgICAgeworICAgICAgICByZXR1cm4geworICAgICAg
ICAgICAgaW1hZ2U6ICJJbWFnZXMvR1N0cmVhbWVyLnN2ZyIsCisgICAgICAgICAgICB0aXRsZTog
V0kuVUlTdHJpbmcoIkdTdHJlYW1lciIpLAorICAgICAgICB9OworICAgIH0KKworICAgIHN0YXRp
YyBpc1RhYkFsbG93ZWQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdJLlBsYXRmb3JtLnBvcnQg
PT09ICJndGsiIHx8IFdJLlBsYXRmb3JtLnBvcnQgPT09ICJ3cGUiOworICAgIH0KKworICAgIC8v
IFB1YmxpYworCisgICAgZ2V0IHR5cGUoKSB7IHJldHVybiBXSS5HU3RyZWFtZXJUYWJDb250ZW50
Vmlldy5UeXBlOyB9CisKKyAgICBnZXQgc3VwcG9ydHNTcGxpdENvbnRlbnRCcm93c2VyKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGNhblNob3dSZXByZXNlbnRl
ZE9iamVjdChyZXByZXNlbnRlZE9iamVjdCkKKyAgICB7CisgICAgICAgIHJldHVybiByZXByZXNl
bnRlZE9iamVjdCBpbnN0YW5jZW9mIFdJLkdTdHJlYW1lclBpcGVsaW5lOworICAgIH0KKworICAg
IHNob3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNlbnRlZE9iamVjdCwgY29va2llKQorICAgIHsK
KyAgICAgICAgdGhpcy5fZ3N0cmVhbWVyVmlldy5kaXNwbGF5UGlwZWxpbmUocmVwcmVzZW50ZWRP
YmplY3QpOworICAgIH0KKworICAgIC8vIFByb3RlY3RlZAorCisgICAgaW5pdGlhbExheW91dCgp
CisgICAgeworICAgICAgICB0aGlzLl9nc3RyZWFtZXJWaWV3ID0gbmV3IFdJLkdTdHJlYW1lclZp
ZXcoImdlbmVyYWwiLCBXSS5VSVN0cmluZygiR2VuZXJhbCIpKTsKKyAgICAgICAgdGhpcy5hZGRT
dWJ2aWV3KHRoaXMuX2dzdHJlYW1lclZpZXcpOworICAgIH0KK307CisKK1dJLkdTdHJlYW1lclRh
YkNvbnRlbnRWaWV3LlR5cGUgPSAiZ3N0cmVhbWVyIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclZpZXcuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJWaWV3LmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjA3MTAyZTE4Mzc5YTkwNGQ1MTRlNGZiMzZiYWE1M2I0ZjQwOTFiOWQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3Ry
ZWFtZXJWaWV3LmpzCkBAIC0wLDAgKzEsMTYyIEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAx
OSBJZ2FsaWEgUy5MCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
ICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICog
IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZy
ZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCitXSS5HU3RyZWFt
ZXJWaWV3ID0gY2xhc3MgR1N0cmVhbWVyVmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3Cit7Cisg
ICAgY29uc3RydWN0b3IoaWRlbnRpZmllciwgZGlzcGxheU5hbWUpCisgICAgeworICAgICAgICBz
dXBlcigpOworCisgICAgICAgIHRoaXMuX2lkZW50aWZpZXIgPSBpZGVudGlmaWVyOworICAgICAg
ICB0aGlzLl9kaXNwbGF5TmFtZSA9IGRpc3BsYXlOYW1lOworICAgICAgICB0aGlzLl9zdmdFbGVt
ZW50ID0gbnVsbDsKKyAgICAgICAgdGhpcy5fc2NvcGVCYXIgPSBudWxsOworICAgICAgICB0aGlz
Ll9jdXJyZW50QmluTmFtZSA9ICIiOworICAgICAgICB0aGlzLl9waXBlbGluZSA9IG51bGw7Cisg
ICAgICAgIHRoaXMuX2xhYmVsID0gbnVsbDsKKworICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NM
aXN0LmFkZCgiZ3N0cmVhbWVyLXZpZXciLCBpZGVudGlmaWVyKTsKKworICAgICAgICB0aGlzLl9l
eHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBXSS5CdXR0b25OYXZpZ2F0aW9uSXRlbSgi
cGlwZWxpbmUtZXhwb3J0IiwgV0kuVUlTdHJpbmcoIkV4cG9ydCIpLCAiSW1hZ2VzL0V4cG9ydC5z
dmciLCAxNSwgMTUpOworICAgICAgICB0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS50
b29sdGlwID0gV0kuVUlTdHJpbmcoIkV4cG9ydCBwaXBlbGluZSBkb3QgcmVwcmVzZW50YXRpb24g
KCVzKSIpLmZvcm1hdChXSS5zYXZlS2V5Ym9hcmRTaG9ydGN1dC5kaXNwbGF5TmFtZSk7CisgICAg
ICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtLmJ1dHRvblN0eWxlID0gV0kuQnV0
dG9uTmF2aWdhdGlvbkl0ZW0uU3R5bGUuSW1hZ2VBbmRUZXh0OworICAgICAgICB0aGlzLl9leHBv
cnRCdXR0b25OYXZpZ2F0aW9uSXRlbS52aXNpYmlsaXR5UHJpb3JpdHkgPSBXSS5OYXZpZ2F0aW9u
SXRlbS5WaXNpYmlsaXR5UHJpb3JpdHkuTG93OworICAgICAgICB0aGlzLl9leHBvcnRCdXR0b25O
YXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdJLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2
ZW50LkNsaWNrZWQsIHRoaXMuX2hhbmRsZUV4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtQ2xpY2tl
ZCwgdGhpcyk7CisgICAgICAgIHRoaXMuX3VwZGF0ZUV4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVt
U3RhdGUoKTsKKworICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyID0gbmV3IFdJLk5hdmlnYXRp
b25CYXI7CisgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhp
cy5fZXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW0pOworICAgICAgICB0aGlzLmFkZFN1YnZpZXco
dGhpcy5fbmF2aWdhdGlvbkJhcik7CisKKyAgICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICB0aGlzLl9jb250YWluZXJF
bGVtZW50LmNsYXNzTGlzdC5hZGQoImNvbnRhaW5lciIsICJjb250YWluZXItY2VudGVyZWQiKTsK
KyAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCh0aGlzLl9jb250YWluZXJFbGVtZW50KTsKKyAg
ICB9CisKKyAgICBfc2NvcGVCYXJTZWxlY3Rpb25EaWRDaGFuZ2UoZXZlbnQpCisgICAgeworICAg
ICAgICBmb3IgKHZhciBpdCBvZiBldmVudC50YXJnZXQuaXRlbXMpIHsKKyAgICAgICAgICAgIGlm
ICgoaXQuaWQgIT09ICI8cGxhY2Vob2xkZXI+IikgJiYgaXQuc2VsZWN0ZWQpIHsKKyAgICAgICAg
ICAgICAgICB2YXIgYmluTmFtZSA9IGl0LmlkOworICAgICAgICAgICAgICAgIHZhciBwYXJlbnRC
aW5OYW1lID0gaXQuX19wYXJlbnQ7CisgICAgICAgICAgICAgICAgdmFyIHBpcGVsaW5lTmFtZSA9
IHRoaXMuX3BpcGVsaW5lLm5hbWU7CisgICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IFdJLmFz
c3VtaW5nTWFpblRhcmdldCgpOworICAgICAgICAgICAgICAgIHRhcmdldC5QYWdlQWdlbnQuZHVt
cEdTdHJlYW1lclBpcGVsaW5lKHBpcGVsaW5lTmFtZSwgYmluTmFtZSkudGhlbigocGF5bG9hZCkg
PT4geworICAgICAgICAgICAgICAgICAgICBXSS5nc3RyZWFtZXJNYW5hZ2VyLnJlbmRlclNWR0Vs
ZW1lbnQocGF5bG9hZC5waXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24pCisgICAgICAgICAgICAg
ICAgICAgICAgICAudGhlbigoc3ZnRWxlbWVudCkgPT4geworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxldCByZXByZXNlbnRlZE9iamVjdCA9IG5ldyBXSS5HU3RyZWFtZXJQaXBlbGluZShw
aXBlbGluZU5hbWUsIHBhcmVudEJpbk5hbWUsIGJpbk5hbWUsIHBheWxvYWQucGlwZWxpbmVHcmFw
aFJlcHJlc2VudGF0aW9uLCBzdmdFbGVtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBXSS5zaG93UmVwcmVzZW50ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3QpOworICAgICAgICAg
ICAgICAgICAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc29sZS5lcnJvcigiR3JhcGhkb3QgcmVuZGVyaW5nIGZhaWxlZDogIiwgZXJy
b3IpOworICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgfSkuY2F0
Y2goKGVycm9yKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIkNvdWxk
IG5vdCBkdW1wIHBpcGVsaW5lOiAiLCBlcnJvcik7CisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBQdWJsaWMKKworICAgIGdldCBp
ZGVudGlmaWVyKCkgeyByZXR1cm4gdGhpcy5faWRlbnRpZmllcjsgfQorICAgIGdldCBkaXNwbGF5
TmFtZSgpIHsgcmV0dXJuIHRoaXMuX2Rpc3BsYXlOYW1lOyB9CisKKyAgICBnZXQgc3VwcG9ydHNT
YXZlKCkKKyAgICB7CisgICAgICAgIHJldHVybiAhIXRoaXMuX3BpcGVsaW5lOworICAgIH0KKwor
ICAgIGdldCBzYXZlRGF0YSgpCisgICAgeworICAgICAgICByZXR1cm4ge2N1c3RvbVNhdmVIYW5k
bGVyOiAoKSA9PiB7IHRoaXMuX2V4cG9ydFJlc3VsdCgpOyB9fTsKKyAgICB9CisKKyAgICBkaXNw
bGF5UGlwZWxpbmUoZ3N0cmVhbWVyUGlwZWxpbmUpCisgICAgeworICAgICAgICBpZiAodGhpcy5f
c3ZnRWxlbWVudCkKKyAgICAgICAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQucmVtb3ZlQ2hp
bGQodGhpcy5fc3ZnRWxlbWVudCk7CisKKyAgICAgICAgaWYgKHRoaXMuX3Njb3BlQmFyKSB7Cisg
ICAgICAgICAgICB0aGlzLl9zY29wZUJhci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLlNjb3BlQmFy
LkV2ZW50LlNlbGVjdGlvbkNoYW5nZWQsIHRoaXMuX3Njb3BlQmFyU2VsZWN0aW9uRGlkQ2hhbmdl
LCB0aGlzKTsKKyAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIucmVtb3ZlTmF2aWdhdGlv
bkl0ZW0odGhpcy5fc2NvcGVCYXIpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHRoaXMuX2xh
YmVsKSB7CisgICAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLnJlbW92ZU5hdmlnYXRpb25J
dGVtKHRoaXMuX2xhYmVsKTsKKyAgICAgICAgfQorICAgICAgICB2YXIgbmFtZSA9IGdzdHJlYW1l
clBpcGVsaW5lLmJpbk5hbWUgfHwgZ3N0cmVhbWVyUGlwZWxpbmUubmFtZTsKKyAgICAgICAgdGhp
cy5fbGFiZWwgPSBuZXcgV0kuVGV4dE5hdmlnYXRpb25JdGVtKCJnc3QtcGlwZWxpbmUtYmluLW5h
bWUiLCAiRGlzcGxheWluZyAiICsgbmFtZSArICIuIEF2YWlsYWJsZSBzdWItYmluczogIik7Cisg
ICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhpcy5fbGFiZWwp
OworCisgICAgICAgIHRoaXMuX3BpcGVsaW5lID0gZ3N0cmVhbWVyUGlwZWxpbmU7CisgICAgICAg
IHRoaXMuX3VwZGF0ZUV4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtU3RhdGUoKTsKKyAgICAgICAg
bGV0IHRhcmdldCA9IFdJLmFzc3VtaW5nTWFpblRhcmdldCgpOworICAgICAgICB0YXJnZXQuUGFn
ZUFnZW50LmdldEdTdHJlYW1lclBpcGVsaW5lQmluTmFtZXMoZ3N0cmVhbWVyUGlwZWxpbmUubmFt
ZSwgZ3N0cmVhbWVyUGlwZWxpbmUuYmluTmFtZSkudGhlbigocGF5bG9hZCkgPT4geworICAgICAg
ICAgICAgdmFyIHNjb3BlQmFySXRlbXMgPSBbXTsKKworICAgICAgICAgICAgdmFyIHNjb3BlQmFy
SXRlbSA9IG5ldyBXSS5TY29wZUJhckl0ZW0oIjxwbGFjZWhvbGRlcj4iLCAiU2VsZWN0Li4uIik7
CisgICAgICAgICAgICBzY29wZUJhckl0ZW0uX19wYXJlbnQgPSAiIjsKKyAgICAgICAgICAgIHNj
b3BlQmFySXRlbXMucHVzaChzY29wZUJhckl0ZW0pOworCisgICAgICAgICAgICBzY29wZUJhckl0
ZW0gPSBuZXcgV0kuU2NvcGVCYXJJdGVtKGdzdHJlYW1lclBpcGVsaW5lLnBhcmVudEJpbk5hbWUs
ICJQYXJlbnQ6ICIgKyBnc3RyZWFtZXJQaXBlbGluZS5wYXJlbnRCaW5OYW1lKTsKKyAgICAgICAg
ICAgIHNjb3BlQmFySXRlbS5fX3BhcmVudCA9ICIiOworICAgICAgICAgICAgc2NvcGVCYXJJdGVt
cy5wdXNoKHNjb3BlQmFySXRlbSk7CisKKyAgICAgICAgICAgIGZvciAodmFyIGJpbk5hbWUgb2Yg
cGF5bG9hZC5iaW5OYW1lcykgeworICAgICAgICAgICAgICAgIHNjb3BlQmFySXRlbSA9IG5ldyBX
SS5TY29wZUJhckl0ZW0oYmluTmFtZSwgYmluTmFtZSk7CisgICAgICAgICAgICAgICAgc2NvcGVC
YXJJdGVtLl9fcGFyZW50ID0gZ3N0cmVhbWVyUGlwZWxpbmUuYmluTmFtZTsKKyAgICAgICAgICAg
ICAgICBzY29wZUJhckl0ZW1zLnB1c2goc2NvcGVCYXJJdGVtKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgdGhpcy5fc2NvcGVCYXIgPSBuZXcgV0kuU2NvcGVCYXIoImdzdC1waXBlbGlu
ZS1zY29wZS1iYXIiLCBzY29wZUJhckl0ZW1zLCBudWxsLCB0cnVlKTsKKyAgICAgICAgICAgIHRo
aXMuX3Njb3BlQmFyLmFkZEV2ZW50TGlzdGVuZXIoV0kuU2NvcGVCYXIuRXZlbnQuU2VsZWN0aW9u
Q2hhbmdlZCwgdGhpcy5fc2NvcGVCYXJTZWxlY3Rpb25EaWRDaGFuZ2UsIHRoaXMpOworCisgICAg
ICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLmFkZE5hdmlnYXRpb25JdGVtKHRoaXMuX3Njb3Bl
QmFyKTsKKworICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHsKKyAgICAgICAgICAgIGNvbnNv
bGUuZXJyb3IoIkNvdWxkIG5vdCBkdW1wIGxpc3QgcGlwZWxpbmUgYmluczogIiwgZXJyb3IpOwor
ICAgICAgICB9KTsKKworICAgICAgICB0aGlzLl9zdmdFbGVtZW50ID0gdGhpcy5fcGlwZWxpbmUu
c3ZnRWxlbWVudDsKKyAgICAgICAgdGhpcy5fc3ZnRWxlbWVudC5pZCA9ICJwaXBlbGluZSI7Cisg
ICAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuYXBwZW5kKHRoaXMuX3N2Z0VsZW1lbnQpOwor
ICAgICAgICBzdmdQYW5ab29tKCIjcGlwZWxpbmUiLCB7CisgICAgICAgICAgICB6b29tRW5hYmxl
ZDogdHJ1ZSwKKyAgICAgICAgICAgIGNvbnRyb2xJY29uc0VuYWJsZWQ6IHRydWUsCisgICAgICAg
IH0pOworICAgIH0KKworCisgICAgLy8gUHJpdmF0ZQorCisgICAgX2V4cG9ydFJlc3VsdCgpCisg
ICAgeworICAgICAgICBXSS5nc3RyZWFtZXJNYW5hZ2VyLmV4cG9ydCh0aGlzLl9waXBlbGluZSk7
CisgICAgfQorCisgICAgX3VwZGF0ZUV4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtU3RhdGUoKQor
ICAgIHsKKyAgICAgICAgdGhpcy5fZXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9
ICEhdGhpcy5fcGlwZWxpbmU7CisgICAgfQorCisgICAgX2hhbmRsZUV4cG9ydEJ1dHRvbk5hdmln
YXRpb25JdGVtQ2xpY2tlZChldmVudCkKKyAgICB7CisgICAgICAgIHRoaXMuX2V4cG9ydFJlc3Vs
dCgpOworICAgIH0KKworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvSW5zcGVjdG9yR1Jl
c291cmNlcy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQvSW5zcGVjdG9yR1Jlc291cmNlcy5jbWFrZQpp
bmRleCA2NzRiNWVmMGJlNGJlYjJhMmU4MWIxYmNlOTg0NzgyMmJkNGI0ODI3Li41ZGU0OWE2NzQx
ZWZjNzAzNmZiNDczNmY3ODRlMmQ5OTI4YTU0NjIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0luc3BlY3RvckdSZXNvdXJjZXMuY21ha2UKKysrIGIvU291cmNlL1dlYktpdC9JbnNwZWN0b3JH
UmVzb3VyY2VzLmNtYWtlCkBAIC05LDcgKzksOSBAQCBtYWNybyhXRUJLSVRfQlVJTERfSU5TUEVD
VE9SX0dSRVNPVVJDRVMgX2Rlcml2ZWRfc291cmNlc19kaXIpCiAgICAgICAgICR7Q01BS0VfU09V
UkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvQ29k
ZU1pcnJvci8qLmNzcwogICAgICAgICAke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0NvZGVNaXJyb3IvKi5qcwogICAgICAgICAk
e0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4
dGVybmFsL0VzcHJpbWEvKi5qcworICAgICAgICAke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL3N2Zy1wYW4tem9vbS5qcy8qLmpz
CiAgICAgICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvRXh0ZXJuYWwvdGhyZWUuanMvKi5qcworICAgICAgICAke0NNQUtFX1NPVVJDRV9E
SVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL3Zpei5qcy8q
LmpzCiAgICAgICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzLyouanMKICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC8qLmpzCiAgICAgICAgICR7
Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJv
eGllcy8qLmpzCg==
</data>
<flag name="review"
          id="400160"
          type_id="1"
          status="-"
          setter="hi"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385887</attachid>
            <date>2019-12-17 07:37:56 -0800</date>
            <delta_ts>2019-12-17 07:57:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204619-20191217153754.patch</filename>
            <type>text/plain</type>
            <size>625783</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNjE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
NzdjNWMxZGViYTdjNGI2MDNmYzMyZGE4MWNjYjY1MzhkZDI1Y2VkLi5lMGEwNDE1YjgxYTUyOTdk
NzgyZWZhNTMzNWVhZThiMjk5MjlhZWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBm
b3IgR1N0cmVhbWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb246
IEFkZCBHU3RyZWFtZXIgQVBJIGZvciBwaXBlbGluZSBpbnNwZWN0aW9uIGluIHRoZSBwYWdlIHBy
b3RvY29sLgorCiAyMDE5LTEyLTE2ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZWxhbmRpbmcgcjI1MzU4MTogQ2hhbmdlZCBqc2Mgc2hlbGwgdGltZW91dCBtZWNo
YW5pc20gdG8gbGV2ZXJhZ2UgdGhlIFZNVHJhcHMgYW5kIHVzZSBDUFVUaW1lLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDYxMjgzYmYxZDViMjBkOWU2ODc0ZjY5NTJjNWZiMGRjNGI5OTczNDUuLmY5YWZhNzQyMTM4
YzA1ZGFiOTY2MGVjYzAwNTVkM2EzYzdlNjRhY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NSBA
QAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBmb3IgR1N0cmVh
bWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHRoZSBHU3RyZWFtZXIgcGlwZWxpbmVzLCB0
aGlzIHdpbGwgYWxsb3cgdGhlCisgICAgICAgIFdlYkluc3BlY3RvciB0byBsaXN0IGFuZCBkaXNw
bGF5IHRoZW0gaW4gYSBkZWRpY2F0ZWQgdGFiLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lc24n
dCBjb3ZlciB0aGUgcGlwZWxpbmVzIGNyZWF0ZWQgYnkgdGhlIEdTdHJlYW1lcgorICAgICAgICBM
aWJXZWJSVEMgYmFja2VuZC4gU3VwcG9ydCBmb3IgdGhhdCB3b3VsZCBiZSBhZGRlZCBsYXRlciwg
aWYgdGhlCisgICAgICAgIGN1cnJlbnQgYXBwcm9hY2ggaXMgZGVlbWVkIGFjY2VwdGFibGUuCisK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHA6CisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjp1bmluaXRpYWxpemUpOgor
ICAgICAgICAoV2ViQ29yZTo6RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjpjcmVhdGVEZXN0
aW5hdGlvbik6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmdzdHJlYW1lclBpcGVsaW5lc0NhY2hlVXBkYXRl
ZCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JGcm9udGVuZEhvc3Q6OnBvcnQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpnc3RyZWFtZXJQaXBlbGluZUNhY2hlVXBkYXRlZEltcGwpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6Z3N0cmVhbWVyUGlwZWxpbmVDYWNoZVVwZGF0ZWQpOgorICAg
ICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6Z2V0R1N0cmVhbWVyUGlwZWxpbmVzTmFtZXMp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpnZXRHU3RyZWFtZXJQaXBl
bGluZUJpbk5hbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6ZHVt
cEdTdHJlYW1lclBpcGVsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2Vu
dDo6Z3N0cmVhbWVyUGlwZWxpbmVDYWNoZVVwZGF0ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yUGFnZUFnZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vZ3N0
cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcjo6QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpBdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyOjp+QXVkaW9EZXN0aW5h
dGlvbkdTdHJlYW1lcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyQ2xpZW50Ojpnc3RyZWFtZXJQaXBlbGlu
ZXNDYWNoZVVwZGF0ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9H
U3RyZWFtZXJDb21tb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJHU3RyZWFtZXJQ
aXBlbGluZSk6CisgICAgICAgIChXZWJDb3JlOjp1bnJlZ2lzdGVyR1N0cmVhbWVyUGlwZWxpbmUp
OgorICAgICAgICAoV2ViQ29yZTo6Z3N0UGlwZWxpbmVzTmFtZXMpOgorICAgICAgICAoV2ViQ29y
ZTo6ZHVtcEdTdHJlYW1lclBpcGVsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OmdldEJpbkNoaWxk
cmVuKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29t
bW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXI6OnNldFBpcGVsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbik6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpBcHBlbmRQaXBlbGluZTo6QXBwZW5kUGlwZWxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6
QXBwZW5kUGlwZWxpbmU6On5BcHBlbmRQaXBlbGluZSk6CisKIDIwMTktMTItMTcgIFRoaWJhdWx0
IFNhdW5pZXIgIDx0c2F1bmllckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdW1dQ
RV0gRml4IHJlZ3Jlc3Npb25zIHJlbGF0ZWQgdG8gb3VyICdGaXggR1N0cmVhbWVyIGNhcHR1cmVy
IG1vY2snIHBhdGNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAwYWQyMzY1NTY2ZTUzNTgx
ZGU0MmQ4ZjYzNmI1MzZkNDQwZjdlMzcwLi42OTliY2Q0YzI5ZTA5YjhmNTMxMTYwYzIyNWFmZDhi
MGUxYzY5N2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4NSBAQAorMjAx
OS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBmb3IgR1N0cmVhbWVyIHBp
cGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBGb3IgdGhlIFdQRSBhbmQgR1RLIHBvcnRzIGEgbmV3IEluc3BlY3RvciB0YWIg
aXMgbm93IGF2YWlsYWJsZS4gT24KKyAgICAgICAgdGhlIGxlZnQgaGFuZC1zaWRlIHRoZSBjdXJy
ZW50bHkgYWxpdmUgcGlwZWxpbmVzIGFyZSBsaXN0ZWQuIFdoZW4KKyAgICAgICAgYSBwaXBlbGlu
ZSBpcyBzZWxlY3RlZCwgaXRzIGdyYXBoIHJlcHJlc2VudGF0aW9uIGlzIGV4cG9ydGVkIHRvCisg
ICAgICAgIFNWRyBhbmQgZGlzcGxheWVkIG9uIHRoZSByaWdodCBoYW5kLXNpZGUgb2YgdGhlIHRh
YiB2aWV3LiBTdWIgYmlucworICAgICAgICBvZiB0aGUgcGlwZWxpbmVzIGNhbiBiZSBzZWxlY3Rl
ZCBhbmQgdGhlIGdyYXBoIHdpbGwgYmUgdXBkYXRlZAorICAgICAgICBhY2NvcmRpbmdseS4gVGhl
IGZ1bGwgZ3JhcGggY2FuIGJlIGV4cG9ydGVkIHRvIEdyYXBoVml6IGZvcm1hdCBhbmQKKyAgICAg
ICAgc2F2ZWQgdG8gYSBmaWxlLgorCisgICAgICAgIFRoZSB2aXouanMgYW5kIHN2Zy1wYW4tem9v
bSBKUyBsaWJyYXJpZXMgYXJlIG5vdyBidW5kbGVkIGFzCisgICAgICAgIHRoaXJkLXBhcnR5IG1v
ZHVsZXMuIExhdGVyIG9uIHRoZSBkMywgZGFncmUtZDMgYW5kIGdyYXBobGliLWRvdAorICAgICAg
ICBsaWJyYXJpZXMgY291bGQgYmUgdXNlZC4gRm9yIHRoZSB0aW1lIGJlaW5nIHRoZSBncmFwaGxp
Yi1kb3QKKyAgICAgICAgcGFyc2VyIGRvZXNuJ3QgaGFuZGxlIHRoZSBHcmFwaHZpeiBtb2RlbHMg
ZXhwb3J0ZWQgYnkgR1N0cmVhbWVyLgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJv
ai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFNjcmlwdHMvY29weS11c2VyLWludGVy
ZmFjZS1yZXNvdXJjZXMucGw6CisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL01haW4uanM6
CisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL1BsYXRmb3JtLmpzOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR1N0cmVhbWVyTWFuYWdlci5qczogQWRkZWQuCisgICAg
ICAgICogVXNlckludGVyZmFjZS9FeHRlcm5hbC9zdmctcGFuLXpvb20uanMvTElDRU5TRTogQWRk
ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9FeHRlcm5hbC9zdmctcGFuLXpvb20uanMvc3Zn
LXBhbi16b29tLm1pbi5qczogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9FeHRlcm5h
bC92aXouanMvTElDRU5TRTogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9FeHRlcm5h
bC92aXouanMvZnVsbC5yZW5kZXIuanM6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
RXh0ZXJuYWwvdml6LmpzL2xpdGUucmVuZGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL0V4dGVybmFsL3Zpei5qcy92aXouanM6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvSW1hZ2VzL0dTdHJlYW1lci5zdmc6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvTWFpbi5odG1sOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL0dTdHJlYW1lclBp
cGVsaW5lLmpzOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Byb3RvY29sL1BhZ2VP
YnNlcnZlci5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclNpZGVi
YXJQYW5lbC5jc3M6IEFkZGVkLgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlv
bi5kZWJ1Z2dlciA+IC5jb250ZW50KToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmln
YXRpb24uZGVidWdnZXIgPiAubmF2aWdhdGlvbi1iYXIpOgorICAgICAgICAoLnNpZGViYXIgPiAu
cGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciA+IC5uYXZpZ2F0aW9uLWJhciAuZGVidWdnZXItYnJl
YWtwb2ludHMpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dl
ciA+IC5uYXZpZ2F0aW9uLWJhciAuZGVidWdnZXItYnJlYWtwb2ludHMuYWN0aXZhdGVkKToKKyAg
ICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgPiAubmF2aWdhdGlv
bi1iYXIgLmRlYnVnZ2VyLXBhdXNlLXJlc3VtZSk6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5l
bC5uYXZpZ2F0aW9uLmRlYnVnZ2VyID4gLm5hdmlnYXRpb24tYmFyIC5kZWJ1Z2dlci1wYXVzZS1y
ZXN1bWUuYWN0aXZhdGVkKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24u
ZGVidWdnZXIgLndhcm5pbmctYmFubmVyKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5h
dmlnYXRpb24uZGVidWdnZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkID4gLml0ZW0udGhy
ZWFkKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLnRy
ZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkKToKKyAgICAgICAgKGJvZHlbZGlyPWx0cl0gLnNpZGVi
YXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAudHJlZS1vdXRsaW5lLnNpbmdsZS10aHJl
YWQpOgorICAgICAgICAoYm9keVtkaXI9cnRsXSAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9u
LmRlYnVnZ2VyIC50cmVlLW91dGxpbmUuc2luZ2xlLXRocmVhZCk6CisgICAgICAgICguc2lkZWJh
ciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC53YXJuaW5nLWJhbm5lciA+IGEpOgorICAg
ICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0YWlscy1zZWN0
aW9uKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLmRl
dGFpbHMtc2VjdGlvbi5wYXVzZWQtcmVhc29uLmNvbGxhcHNlZCA+IC5oZWFkZXIgPiAub3B0aW9u
cyk6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC5kZXRh
aWxzLXNlY3Rpb24gPiAuY29udGVudCk6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZp
Z2F0aW9uLmRlYnVnZ2VyIC5kZXRhaWxzLXNlY3Rpb24uY29sbGFwc2VkID4gLmNvbnRlbnQpOgor
ICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0YWlscy1z
ZWN0aW9uID4gLmNvbnRlbnQgPiAuZ3JvdXApOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwu
bmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0YWlscy1zZWN0aW9uLnNjcmlwdHM6bm90KC5jb2xsYXBz
ZWQpKToKKyAgICAgICAgKEBtZWRpYSAocHJlZmVycy1kYXJrLWludGVyZmFjZSkpOgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBhbmVsLmpzOiBBZGRlZC4K
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmNz
czogQWRkZWQuCisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lcik6CisgICAgICAgICgu
Y29udGVudC12aWV3LmdzdHJlYW1lciAubmF2aWdhdGlvbi1iYXIpOgorICAgICAgICAoLmNvbnRl
bnQtdmlldy5nc3RyZWFtZXIgLm5hdmlnYXRpb24tYmFyLmludmlzaWJsZSk6CisgICAgICAgICgu
Y29udGVudC12aWV3LmdzdHJlYW1lciAubmF2aWdhdGlvbi1iYXIgLml0ZW0ucmFkaW8uYnV0dG9u
LnRleHQtb25seSk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciAubmF2aWdhdGlv
bi1iYXIgLml0ZW0ucmFkaW8uYnV0dG9uLnRleHQtb25seS5zZWxlY3RlZCk6CisgICAgICAgICgu
Y29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5zZXBhcmF0b3IpOgor
ICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29u
dGFpbmVyKToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12
aWV3ID4gLmNvbnRhaW5lci5oaWRkZW4pOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFt
ZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyLWNlbnRlcmVkKToKKyAgICAgICAgKC5j
b250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciBidXR0
b24pOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcg
PiAuY29udGFpbmVyID4gLnRpdGxlKToKKyAgICAgICAgKGJvZHlbZGlyPWx0cl0gLmNvbnRlbnQt
dmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLnRpdGxlKToK
KyAgICAgICAgKGJvZHlbZGlyPXJ0bF0gLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVh
bWVyLXZpZXcgPiAuY29udGFpbmVyID4gLnRpdGxlKToKKyAgICAgICAgKC5jb250ZW50LXZpZXcu
Z3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAp
OgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAu
Y29udGFpbmVyID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXQpOgorICAgICAgICAoLmNv
bnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLmVk
aXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0iY2hlY2tib3giXSk6CisgICAgICAgIChi
b2R5W2Rpcj1sdHJdIC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4g
LmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAgPiAuZWRpdG9yIGlucHV0W3R5cGU9ImNoZWNrYm94
Il0pOgorICAgICAgICAoYm9keVtkaXI9cnRsXSAuY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5n
c3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRvciBpbnB1
dFt0eXBlPSJjaGVja2JveCJdKToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4g
LmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAgPiAuZWRpdG9yIHNl
bGVjdCk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmll
dyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRvciBpbnB1dFt0eXBlPSJudW1i
ZXIiXSk6CisgICAgICAgIChib2R5W2Rpcj1sdHJdIC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4g
LmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAgPiAuZWRpdG9yIGlu
cHV0W3R5cGU9Im51bWJlciJdKToKKyAgICAgICAgKGJvZHlbZGlyPXJ0bF0gLmNvbnRlbnQtdmll
dy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLmVkaXRvci1ncm91
cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0ibnVtYmVyIl0pOgorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuanM6IEFkZGVkLgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVmlldy5qczogQWRkZWQuCisKIDIwMTktMTItMTEg
IEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
YWRkIFRhYk5hdmlnYXRpb24gZGlhZ25vc3RpYyBldmVudCBhbmQgcmVsYXRlZCBob29rcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCBiMTVmODNhZWIwMzMxNmViODYxMzc2Y2IwZjYyY2U5NjgzMDJjMjcwLi4wZDM4MGQ0
ZDAxNWY5MWVlZWM4ZjYyMjFkZGY0OTA4NTYzNDRhYzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDE5LTExLTI2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4K
KworICAgICAgICBbR1RLXVtXUEVdIFdlYiBJbnNwZWN0b3I6IEFkZCBuZXcgdGFiIGZvciBHU3Ry
ZWFtZXIgcGlwZWxpbmVzIGluc3BlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwNDYxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogSW5zcGVjdG9yR1Jlc291cmNlcy5jbWFrZTogQnVuZGxlIHN2
Zy1wYW4tem9vbSBhbmQgdml6IEphdmFTY3JpcHQgbW9kdWxlcy4KKwogMjAxOS0xMi0xNyAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEltcHJvdmUgcmVsZWFzZSBs
b2dnaW5nIGluIE5ldHdvcmtSZXNvdXJjZUxvYWRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlz
dHMudHh0CmluZGV4IDNkY2NlMGY4MWVkNDRjNzRkNjBlYTVhMGM2MjhkOGJmYWQ5MzMwOGYuLjlj
NGRjNWFkYmViZDE4YjJjNzdiMzE4NmEyZjgzYTAzM2RiZjUxNmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTExODMsNiArMTE4MywxMiBAQCBpZiAoRU5BQkxFX1NFUlZJ
Q0VfV09SS0VSKQogICAgICkKIGVuZGlmICgpCiAKK2lmIChVU0VfR1NUUkVBTUVSKQorICAgIGxp
c3QoQVBQRU5EIEphdmFTY3JpcHRDb3JlX0lOU1BFQ1RPUl9ET01BSU5TCisgICAgICAgICR7SkFW
QVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3IvcHJvdG9jb2wvR1N0cmVhbWVyLmpzb24KKyAgICAp
CitlbmRpZiAoKQorCiBhZGRfY3VzdG9tX2NvbW1hbmQoCiAgICAgT1VUUFVUICR7SmF2YVNjcmlw
dENvcmVfREVSSVZFRF9TT1VSQ0VTX0RJUn0vQ29tYmluZWREb21haW5zLmpzb24KICAgICBNQUlO
X0RFUEVOREVOQ1kgJHtKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUn0vZ2VuZXJhdGUtY29tYmlu
ZWQtaW5zcGVjdG9yLWpzb24ucHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvcHJvdG9jb2wvR1N0cmVhbWVyLmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3Byb3RvY29sL0dTdHJlYW1lci5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhZjNlMzc1ODcw
MmM1ODUxMTVkNDE1ZmExMTAwOTdjMWMzYTZmMGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0dTdHJlYW1lci5qc29uCkBAIC0wLDAg
KzEsNDQgQEAKK3sKKyAgICAiZG9tYWluIjogIkdTdHJlYW1lciIsCisgICAgImZlYXR1cmVHdWFy
ZCI6ICJVU0UoR1NUUkVBTUVSKSIsCisgICAgImRlYnVnZ2FibGVUeXBlcyI6IFsicGFnZSIsICJ3
ZWItcGFnZSJdLAorICAgICJ0YXJnZXRUeXBlcyI6IFsicGFnZSJdLAorICAgICJ0eXBlcyI6IFtd
LAorICAgICJjb21tYW5kcyI6IFsKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZ2V0
QWN0aXZlUGlwZWxpbmVzTmFtZXMiLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJldHVy
bnMgdGhlIGxpc3Qgb2YgY3VycmVudGx5IHJ1bm5pbmcgR1N0cmVhbWVyIHBpcGVsaW5lcy4iLAor
ICAgICAgICAgICAgInJldHVybnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwaXBl
bGluZXMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAic3RyaW5nIn0sICJk
ZXNjcmlwdGlvbiI6ICJBcnJheSBvZiBwaXBlbGluZSBuYW1lcy4iIH0KKyAgICAgICAgICAgIF0K
KyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZ2V0QWN0aXZlUGlw
ZWxpbmVCaW5OYW1lcyIsCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB0aGUg
bGlzdCBvZiBiaW5zIGluIHRoZSBnaXZlbiBHU3RyZWFtZXIgcGlwZWxpbmUuIiwKKyAgICAgICAg
ICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGlwZWxpbmUi
LCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgR1N0cmVhbWVy
IHBpcGVsaW5lIHRvIGR1bXAuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY2hpbGQi
LCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgY2hpbGQgYmlu
IHRvIGR1bXAuIiB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgInJldHVybnMiOiBbCisg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJiaW5OYW1lcyIsICJ0eXBlIjogImFycmF5IiwgIml0
ZW1zIjogeyAiJHJlZiI6ICJzdHJpbmcifSwgImRlc2NyaXB0aW9uIjogIkFycmF5IG9mIGJpbiBu
YW1lcy4iIH0KKyAgICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAg
ICAgIm5hbWUiOiAiZHVtcEFjdGl2ZVBpcGVsaW5lIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlv
biI6ICJSZXR1cm5zIHRoZSBTVkcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGdpdmVuIEdTdHJlYW1l
ciBwaXBlbGluZS4iLAorICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJwaXBlbGluZSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6
ICJOYW1lIG9mIHRoZSBHU3RyZWFtZXIgcGlwZWxpbmUgdG8gZHVtcC4iIH0sCisgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJjaGlsZCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6
ICJOYW1lIG9mIHRoZSBjaGlsZCBiaW4gdG8gZHVtcC4iIH0KKyAgICAgICAgICAgIF0sCisgICAg
ICAgICAgICAicmV0dXJucyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBpcGVsaW5l
R3JhcGhSZXByZXNlbnRhdGlvbiIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJT
VkcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHBpcGVsaW5lIiB9CisgICAgICAgICAgICBdCisgICAg
ICAgIH0KKyAgICBdLAorICAgICJldmVudHMiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAgICJu
YW1lIjogImFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQiLAorICAgICAgICAgICAgImRlc2NyaXB0aW9u
IjogIkZpcmVkIHdoZW4gdGhlIGludGVybmFsIHJlZ2lzdHJ5IG9mIGFjdGl2ZSBHU3RyZWFtZXIg
cGlwZWxpbmVzIHdhcyB1cGRhdGVkLCBlZyB3aGVuIGEgbmV3IHBpcGVsaW5lIHdhcyByZWdpc3Rl
cmVkIG9yIHdoZW4gYSBwaXBlbGluZSB3YXMgcmVtb3ZlZCBmcm9tIHRoZSByZWdpc3RyeS4iCisg
ICAgICAgIH0KKyAgICBdCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvQ29udGV4dC5jcHAKaW5kZXggZDYxNWM5NzliYjU3NTQwMWU3NzgzMmU0OWM1NjM4ZDc5
OThlNjM3NC4uMjRjZGVmYmYyMzQ0OTQyNGU3OTZjN2E2MjcxMmFhYjRmM2Q3NmEzYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcApAQCAt
ODQsMTAgKzg0LDYgQEAKICNpbmNsdWRlIDxzdGRpby5oPgogI2VuZGlmCiAKLSNpZiBVU0UoR1NU
UkVBTUVSKQotI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgotI2VuZGlmCi0KICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRl
ICJTZXR0aW5ncy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IDI2NzJkNjVl
NjhmZWIwMTYyOGJlZjBmMGUwYjBhZDRkMzFmNDViN2MuLmI3MGNhYWZkOGJlNzFmNzBlZjc3ZDFi
NTY2M2UwMDlhMGRlZDYzOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKQEAgLTMw
LDYgKzMwLDggQEAKIAogI2luY2x1ZGUgIkF1ZGlvQ29udGV4dC5oIgogI2luY2x1ZGUgIkF1ZGlv
RGVzdGluYXRpb24uaCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4K
QEAgLTc3LDYgKzc5LDEyIEBAIHZvaWQgRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjp1bmlu
aXRpYWxpemUoKQogICAgIG1fZGVzdGluYXRpb24gPSBudWxscHRyOwogICAgIG1fbnVtYmVyT2ZJ
bnB1dENoYW5uZWxzID0gMDsKIAorI2lmIFVTRShHU1RSRUFNRVIpCisgICAgYXV0byogZG9jdW1l
bnQgPSBjb250ZXh0KCkuZG9jdW1lbnQoKTsKKyAgICBpZiAoZG9jdW1lbnQpCisgICAgICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Z3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZChk
b2N1bWVudC0+cGFnZSgpKTsKKyNlbmRpZgorCiAgICAgQXVkaW9Ob2RlOjp1bmluaXRpYWxpemUo
KTsKIH0KIApAQCAtODQsOCArOTIsMTQgQEAgdm9pZCBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5v
ZGU6OmNyZWF0ZURlc3RpbmF0aW9uKCkKIHsKICAgICBmbG9hdCBoYXJkd2FyZVNhbXBsZVJhdGUg
PSBBdWRpb0Rlc3RpbmF0aW9uOjpoYXJkd2FyZVNhbXBsZVJhdGUoKTsKICAgICBMT0coV2ViQXVk
aW8sICI+Pj4+IGhhcmR3YXJlU2FtcGxlUmF0ZSA9ICVmXG4iLCBoYXJkd2FyZVNhbXBsZVJhdGUp
OwotICAgIAorCiAgICAgbV9kZXN0aW5hdGlvbiA9IEF1ZGlvRGVzdGluYXRpb246OmNyZWF0ZSgq
dGhpcywgbV9pbnB1dERldmljZUlkLCBtX251bWJlck9mSW5wdXRDaGFubmVscywgY2hhbm5lbENv
dW50KCksIGhhcmR3YXJlU2FtcGxlUmF0ZSk7CisKKyNpZiBVU0UoR1NUUkVBTUVSKQorICAgIGF1
dG8qIGRvY3VtZW50ID0gY29udGV4dCgpLmRvY3VtZW50KCk7CisgICAgaWYgKGRvY3VtZW50KQor
ICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5l
c0NoYW5nZWQoZG9jdW1lbnQtPnBhZ2UoKSk7CisjZW5kaWYKIH0KIAogdm9pZCBEZWZhdWx0QXVk
aW9EZXN0aW5hdGlvbk5vZGU6OmVuYWJsZUlucHV0KGNvbnN0IFN0cmluZyYgaW5wdXREZXZpY2VJ
ZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKaW5kZXggOGU5MmZkYWMzNzQwNDRiYWRlYmQ2MTRjNDAzNjcwNjkwNjI4
MWIyZC4uYjdmNGQyZGUwYzMxZmNjNGFkMjhkZTEwMTlkYjMzZWNjNmU1YWYwMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKQEAgLTEzOTMsNiArMTM5Myw3IEBAIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9N
RGVidWdnZXJBZ2VudC5jcHAKIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50LmNwcAogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmNwcAogaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAKK2luc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuY3BwCiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckxheWVyVHJlZUFnZW50LmNwcAogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JNZW1vcnlBZ2Vu
dC5jcHAKIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNzMwYjRlMzg5ZTc4M2ZlNTY2
NzU1YjhhYzM2ODgxMTlmMDk2OTE2NC4uYTI2NjY5MWFhYzVlZjhiNmJhNjJiYjM4NzFmMjFkMTY1
YmQ0ODg1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03
MjI1LDYgKzcyMjUsMTEgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpyZXF1ZXN0SW5zdGFsbE1p
c3NpbmdQbHVnaW5zKGNvbnN0IFN0cmluZyYgZGV0YWlscywgY29uc3QKIAogICAgIGRvY3VtZW50
KCkucGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5yZXF1ZXN0SW5zdGFsbE1pc3NpbmdNZWRpYVBs
dWdpbnMoZGV0YWlscywgZGVzY3JpcHRpb24sIGNhbGxiYWNrKTsKIH0KKwordm9pZCBIVE1MTWVk
aWFFbGVtZW50Ojpnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCkKK3sKKyAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoZG9j
dW1lbnQoKS5wYWdlKCkpOworfQogI2VuZGlmCiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cmVt
b3ZlQmVoYXZpb3JSZXN0cmljdGlvbnNBZnRlckZpcnN0VXNlckdlc3R1cmUoTWVkaWFFbGVtZW50
U2Vzc2lvbjo6QmVoYXZpb3JSZXN0cmljdGlvbnMgbWFzaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmgKaW5kZXggYTVmMTg3Yjc4Zjk0NjE0MTQ5ZWQyYzNkNjRmNGRhNjg0YTNi
YzYyZS4uYmMwOTAxMzgyYTdhZjU4Yzk3MTJjOGE4NTQ1YjRhZTY2ZGMwMTI2OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTc1OCw2ICs3NTgsNyBAQCBwcml2YXRl
OgogCiAjaWYgVVNFKEdTVFJFQU1FUikKICAgICB2b2lkIHJlcXVlc3RJbnN0YWxsTWlzc2luZ1Bs
dWdpbnMoY29uc3QgU3RyaW5nJiBkZXRhaWxzLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBN
ZWRpYVBsYXllclJlcXVlc3RJbnN0YWxsTWlzc2luZ1BsdWdpbnNDYWxsYmFjayYpIGZpbmFsOwor
ICAgIHZvaWQgZ3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpIGZpbmFsOwogI2VuZGlm
CiAKICAgICB2b2lkIHBlbmRpbmdBY3Rpb25UaW1lckZpcmVkKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggN2Q1MGRkYzdhMzhh
MzcyM2U0ZWU3ZDY2Y2E5N2M4YWNiMzdjNzI2YS4uMjJmMDRmMmU2YzY0MDExZjhhMmM5YjBhYzRi
YzgxMjhmOGE2OWYxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmNwcApAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvckRh
dGFiYXNlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JH
U3RyZWFtZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckluZGV4ZWREQkFnZW50LmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
TGF5ZXJUcmVlQWdlbnQuaCIKQEAgLTE3NCw2ICsxNzUsMTAgQEAgdm9pZCBJbnNwZWN0b3JDb250
cm9sbGVyOjpjcmVhdGVMYXp5QWdlbnRzKCkKICAgICBtX2FnZW50cy5hcHBlbmQobWFrZVVuaXF1
ZTxJbnNwZWN0b3JJbmRleGVkREJBZ2VudD4ocGFnZUNvbnRleHQpKTsKICNlbmRpZgogCisjaWYg
VVNFKEdTVFJFQU1FUikKKyAgICBtX2FnZW50cy5hcHBlbmQobWFrZVVuaXF1ZTxJbnNwZWN0b3JH
U3RyZWFtZXJBZ2VudD4ocGFnZUNvbnRleHQpKTsKKyNlbmRpZgorCiAgICAgYXV0byBzY3JpcHRQ
cm9maWxlckFnZW50UHRyID0gbWFrZVVuaXF1ZTxJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50
PihwYWdlQ29udGV4dCk7CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JT
Y3JpcHRQcm9maWxlckFnZW50KHNjcmlwdFByb2ZpbGVyQWdlbnRQdHIuZ2V0KCkpOwogICAgIG1f
YWdlbnRzLmFwcGVuZChXVEZNb3ZlKHNjcmlwdFByb2ZpbGVyQWdlbnRQdHIpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKaW5kZXgg
ZTcyMDRjYjMzNTNlOTI1MTAwMGZhNTIyYTI0Nzc4YWJiNjYyMTdiNS4uNDY3ODViM2QwNGNiNzQw
MzRiNWUwOTA4NjQ2MDQ3MjAxOGIyNjc2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKQEAgLTMxNSw2ICszMTUsOCBAQCBTdHJp
bmcgSW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojpwb3J0KCkKIHsKICNpZiBQTEFURk9STShHVEspCiAg
ICAgcmV0dXJuICJndGsiX3M7CisjZWxpZiBQTEFURk9STShXUEUpCisgICAgcmV0dXJuICJ3cGUi
X3M7CiAjZWxzZQogICAgIHJldHVybiAidW5rbm93biJfczsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRl
eCA0ZjE4YjU4YzZjZDAxZTBiNjlhODk1M2FkMDlhNzM5YzM1MjA0OTZhLi5mNTA0NWE2NWRlNGZm
Nzk2ZDhhOTM3ZjE5MTUyMjY1ODA2NTk4ZDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtNDksNiArNDksNyBA
QAogI2luY2x1ZGUgIkluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JET01TdG9yYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JEYXRhYmFzZUFnZW50
LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JMYXllclRyZWVBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvck1lbW9yeUFnZW50Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yTmV0d29ya0FnZW50LmgiCkBAIC0xMjg2LDQgKzEyODcsMTIg
QEAgSW5zdHJ1bWVudGluZ0FnZW50cyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjppbnN0cnVt
ZW50aW5nQWdlbnRzRm9yQ29udGV4dChTY3IKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAorI2lm
IFVTRShHU1RSRUFNRVIpCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Z3N0cmVhbWVy
QWN0aXZlUGlwZWxpbmVzQ2hhbmdlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVu
dGluZ0FnZW50cykKK3sKKyAgICBpZiAoYXV0byogZ3N0cmVhbWVyQWdlbnQgPSBpbnN0cnVtZW50
aW5nQWdlbnRzLmluc3BlY3RvckdTdHJlYW1lckFnZW50KCkpCisgICAgICAgIGdzdHJlYW1lckFn
ZW50LT5hY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oCmluZGV4IGRiZjgyMjA1ZGI1YmNjYmUxNjllZDBlOTQ3ZDFhZDgzZGQ4
NTBmZDYuLmViYTU2ZDg5ZmM0Yjg3NjQzMDFmOTZlMGUwMTgxNmUwMzgzMTFhNzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgK
QEAgLTMxNCw2ICszMTQsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGxheWVyVHJlZURp
ZENoYW5nZShQYWdlKik7CiAgICAgc3RhdGljIHZvaWQgcmVuZGVyTGF5ZXJEZXN0cm95ZWQoUGFn
ZSosIGNvbnN0IFJlbmRlckxheWVyJik7CiAKKyNpZiBVU0UoR1NUUkVBTUVSKQorICAgIHN0YXRp
YyB2b2lkIGdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoUGFnZSopOworI2VuZGlmCisK
ICAgICBzdGF0aWMgdm9pZCBmcm9udGVuZENyZWF0ZWQoKTsKICAgICBzdGF0aWMgdm9pZCBmcm9u
dGVuZERlbGV0ZWQoKTsKICAgICBzdGF0aWMgYm9vbCBoYXNGcm9udGVuZHMoKSB7IHJldHVybiBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25QdWJsaWM6Omhhc0Zyb250ZW5kcygpOyB9CkBAIC00Nzks
NiArNDgzLDkgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoUkVTT1VSQ0VfVVNBR0UpCiAgICAgc3Rh
dGljIHZvaWQgZGlkSGFuZGxlTWVtb3J5UHJlc3N1cmVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMm
LCBDcml0aWNhbCk7CiAjZW5kaWYKKyNpZiBVU0UoR1NUUkVBTUVSKQorICAgIHN0YXRpYyB2b2lk
IGdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMm
KTsKKyNlbmRpZgogCiAgICAgc3RhdGljIHZvaWQgbmV0d29ya1N0YXRlQ2hhbmdlZEltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyYpOwogICAgIHN0YXRpYyB2b2lkIHVwZGF0ZUFwcGxpY2F0aW9uQ2Fj
aGVTdGF0dXNJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBGcmFtZSYpOwpAQCAtMTYxNSw2ICsx
NjIyLDE1IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEZpcmVB
bmltYXRpb25GcmFtZShEb2N1bWVudCYgZG9jdW1lbnQsCiAgICAgICAgIHdpbGxGaXJlQW5pbWF0
aW9uRnJhbWVJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBjYWxsYmFja0lkLCBkb2N1bWVudCk7
CiB9CiAKKyNpZiBVU0UoR1NUUkVBTUVSKQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKFBhZ2UqIHBhZ2UpCit7Cisg
ICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CisgICAgaWYgKGF1dG8qIGlu
c3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKKyAg
ICAgICAgZ3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZEltcGwoKmluc3RydW1lbnRpbmdB
Z2VudHMpOworfQorI2VuZGlmCisKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkRmlyZUFuaW1hdGlvbkZyYW1lKERvY3VtZW50JiBkb2N1bWVudCkKIHsKICAgICBGQVNU
X1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcAppbmRleCAxZjlhMGQ3YzUzMmEzZjkwODU2
YzE4NGExZmZjM2IxY2YzNWVmYzg3Li5lYjdjMzE4N2EyY2UwMTFkZTA1N2RkMmI5MzExYzk2MmM2
YTBlOTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGlu
Z0FnZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdB
Z2VudHMuY3BwCkBAIC03MSw2ICs3MSw5IEBAIHZvaWQgSW5zdHJ1bWVudGluZ0FnZW50czo6cmVz
ZXQoKQogICAgIG1faW5zcGVjdG9yQ2FudmFzQWdlbnQgPSBudWxscHRyOwogICAgIG1fcGVyc2lz
dGVudEluc3BlY3RvckFuaW1hdGlvbkFnZW50ID0gbnVsbHB0cjsKICAgICBtX3RyYWNraW5nSW5z
cGVjdG9yQW5pbWF0aW9uQWdlbnQgPSBudWxscHRyOworI2lmIFVTRShHU1RSRUFNRVIpCisgICAg
bV9pbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCA9IG51bGxwdHI7CisjZW5kaWYKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50
aW5nQWdlbnRzLmgKaW5kZXggZjZmZWE3ZGEyMTM2MGRkMDhjYzNkOTY2YjE0ZTJhYWM0NjU0NDkx
NS4uNGE2ZDM5N2Y4NmFiZTEzOGFjODUwYjY5OWU4Zjc2ZGJkZWFjYzljMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCkBAIC0zNiw2ICszNiwx
MCBAQAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CiAKKyNpZiBVU0UoR1NUUkVBTUVSKQorI2luY2x1ZGUgIkluc3BlY3RvckdTdHJlYW1l
ckFnZW50LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIEluc3BlY3RvciB7CiBjbGFzcyBJbnNwZWN0
b3JBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ7CkBAIC0xNTksNiArMTYzLDEx
IEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JBbmltYXRpb25BZ2VudCogdHJhY2tpbmdJbnNwZWN0
b3JBbmltYXRpb25BZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhY2tpbmdJbnNwZWN0b3JBbmlt
YXRpb25BZ2VudDsgfQogICAgIHZvaWQgc2V0VHJhY2tpbmdJbnNwZWN0b3JBbmltYXRpb25BZ2Vu
dChJbnNwZWN0b3JBbmltYXRpb25BZ2VudCogYWdlbnQpIHsgbV90cmFja2luZ0luc3BlY3RvckFu
aW1hdGlvbkFnZW50ID0gYWdlbnQ7IH0KIAorI2lmIFVTRShHU1RSRUFNRVIpCisgICAgSW5zcGVj
dG9yR1N0cmVhbWVyQWdlbnQqIGluc3BlY3RvckdTdHJlYW1lckFnZW50KCkgY29uc3QgeyByZXR1
cm4gbV9pbnNwZWN0b3JHU3RyZWFtZXJBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yR1N0
cmVhbWVyQWdlbnQoSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9y
R1N0cmVhbWVyQWdlbnQgPSBhZ2VudDsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgSW5zdHJ1
bWVudGluZ0FnZW50cyhJbnNwZWN0b3I6Okluc3BlY3RvckVudmlyb25tZW50Jik7CiAKQEAgLTE5
MSw2ICsyMDAsOSBAQCBwcml2YXRlOgogICAgIEluc3BlY3RvckNhbnZhc0FnZW50KiBtX2luc3Bl
Y3RvckNhbnZhc0FnZW50IHsgbnVsbHB0ciB9OwogICAgIEluc3BlY3RvckFuaW1hdGlvbkFnZW50
KiBtX3BlcnNpc3RlbnRJbnNwZWN0b3JBbmltYXRpb25BZ2VudCB7IG51bGxwdHIgfTsKICAgICBJ
bnNwZWN0b3JBbmltYXRpb25BZ2VudCogbV90cmFja2luZ0luc3BlY3RvckFuaW1hdGlvbkFnZW50
IHsgbnVsbHB0ciB9OworI2lmIFVTRShHU1RSRUFNRVIpCisgICAgSW5zcGVjdG9yR1N0cmVhbWVy
QWdlbnQqIG1faW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQgeyBudWxscHRyIH07CisjZW5kaWYKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTAwY2M2OGVlZTUyN2Q5MGY2YmI4YmZjMTRhYWY2MWUxMjliYTdkNgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVy
QWdlbnQuY3BwCkBAIC0wLDAgKzEsODAgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE5IEln
YWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgor
ICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGlj
ZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBT
b2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5oIgorCisjaWYgVVNFKEdT
VFJFQU1FUikKKworI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgorI2luY2x1ZGUgIkluc3Bl
Y3RvclBhZ2VBZ2VudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFj
ZSBJbnNwZWN0b3I7CisKK0luc3BlY3RvckdTdHJlYW1lckFnZW50OjpJbnNwZWN0b3JHU3RyZWFt
ZXJBZ2VudChQYWdlQWdlbnRDb250ZXh0JiBjb250ZXh0KQorICAgIDogSW5zcGVjdG9yQWdlbnRC
YXNlKCJHU3RyZWFtZXIiX3MsIGNvbnRleHQpCisgICAgLCBtX2JhY2tlbmREaXNwYXRjaGVyKElu
c3BlY3Rvcjo6R1N0cmVhbWVyQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0ZShjb250ZXh0LmJhY2tl
bmREaXNwYXRjaGVyLCB0aGlzKSkKKyAgICAsIG1fZnJvbnRlbmREaXNwYXRjaGVyKG1ha2VVbmlx
dWU8SW5zcGVjdG9yOjpHU3RyZWFtZXJGcm9udGVuZERpc3BhdGNoZXI+KGNvbnRleHQuZnJvbnRl
bmRSb3V0ZXIpKQoreworfQorCitJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudDo6fkluc3BlY3RvckdT
dHJlYW1lckFnZW50KCkgPSBkZWZhdWx0OworCit2b2lkIEluc3BlY3RvckdTdHJlYW1lckFnZW50
OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlcios
IEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKQoreworfQorCit2b2lkIEluc3BlY3RvckdT
dHJlYW1lckFnZW50Ojp3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRp
c2Nvbm5lY3RSZWFzb24pCit7Cit9CisKK3ZvaWQgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6Omdl
dEFjdGl2ZVBpcGVsaW5lc05hbWVzKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgUmVmUHRyPEpT
T046OkFycmF5T2Y8U3RyaW5nPj4mIHBpcGVsaW5lcykKK3sKKyAgICBwaXBlbGluZXMgPSBKU09O
OjpBcnJheU9mPFN0cmluZz46OmNyZWF0ZSgpOworICAgIFVOVVNFRF9QQVJBTShlcnJvclN0cmlu
Zyk7CisgICAgZm9yIChhdXRvIGl0ZW0gOiBhY3RpdmVQaXBlbGluZXNOYW1lcygpKQorICAgICAg
ICBwaXBlbGluZXMtPmFkZEl0ZW0oU3RyaW5nOjpmcm9tVVRGOChpdGVtKSk7Cit9CisKK3ZvaWQg
SW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6OmdldEFjdGl2ZVBpcGVsaW5lQmluTmFtZXMoRXJyb3JT
dHJpbmcmIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIHBpcGVsaW5lLCBjb25zdCBTdHJpbmcm
IGNoaWxkLCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxTdHJpbmc+PiYgbmFtZXMpCit7CisgICAgbmFt
ZXMgPSBKU09OOjpBcnJheU9mPFN0cmluZz46OmNyZWF0ZSgpOworICAgIFVOVVNFRF9QQVJBTShl
cnJvclN0cmluZyk7CisgICAgZm9yIChhdXRvIGl0ZW0gOiBnZXRCaW5DaGlsZHJlbihwaXBlbGlu
ZSwgY2hpbGQpKQorICAgICAgICBuYW1lcy0+YWRkSXRlbShTdHJpbmc6OmZyb21VVEY4KGl0ZW0p
KTsKK30KKwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudDo6ZHVtcEFjdGl2ZVBpcGVsaW5l
KEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBwaXBlbGluZSwgY29uc3Qg
U3RyaW5nJiBjaGlsZCwgU3RyaW5nKiBwaXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24pCit7Cisg
ICAgYXV0byBzdmdEYXRhID0gV2ViQ29yZTo6ZHVtcEFjdGl2ZVBpcGVsaW5lKHBpcGVsaW5lLCBj
aGlsZCk7CisgICAgaWYgKHN2Z0RhdGEuaXNOdWxsKCkpCisgICAgICAgIGVycm9yU3RyaW5nID0g
IkludmFsaWQgcGlwZWxpbmUgb3IgYmluIl9zOworICAgIGVsc2UKKyAgICAgICAgKnBpcGVsaW5l
R3JhcGhSZXByZXNlbnRhdGlvbiA9IFN0cmluZzo6ZnJvbVVURjgoc3ZnRGF0YSk7Cit9CisKK3Zv
aWQgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6OmFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKQorewor
ICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT5hY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFVTRShHU1RSRUFNRVIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckdTdHJlYW1l
ckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckdTdHJl
YW1lckFnZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODQyNDk5ZjczYWE4OTVjYzg3MDE0MDJjYzEzZDMxOTY4
ZTMxMWE2ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaApAQCAtMCwwICsxLDU2IEBACisvKgorICogIENv
cHlyaWdodCAoQykgMjAxOSBJZ2FsaWEgUy5MCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
KiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwg
d3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShHU1RSRUFNRVIpCisKKyNpbmNsdWRlICJJbnNw
ZWN0b3JXZWJBZ2VudEJhc2UuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JC
YWNrZW5kRGlzcGF0Y2hlcnMuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JG
cm9udGVuZERpc3BhdGNoZXJzLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKwordHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CisKK2Ns
YXNzIEluc3BlY3RvckdTdHJlYW1lckFnZW50IGZpbmFsIDogcHVibGljIEluc3BlY3RvckFnZW50
QmFzZSwgcHVibGljIEluc3BlY3Rvcjo6R1N0cmVhbWVyQmFja2VuZERpc3BhdGNoZXJIYW5kbGVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCk7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgSW5zcGVjdG9yR1N0cmVh
bWVyQWdlbnQoUGFnZUFnZW50Q29udGV4dCYpOworICAgIH5JbnNwZWN0b3JHU3RyZWFtZXJBZ2Vu
dCgpIG92ZXJyaWRlOworCisgICAgLy8gSW5zcGVjdG9yQWdlbnRCYXNlCisgICAgdm9pZCBkaWRD
cmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlciosIEluc3Bl
Y3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKKyAgICB2b2lkIHdpbGxEZXN0cm95
RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7
CisKKyAgICAvLyBHU3RyZWFtZXJCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIKKyAgICB2b2lkIGdl
dEFjdGl2ZVBpcGVsaW5lc05hbWVzKEVycm9yU3RyaW5nJiwgUmVmUHRyPEpTT046OkFycmF5T2Y8
U3RyaW5nPj4mIHBpcGVsaW5lcykgb3ZlcnJpZGU7CisgICAgdm9pZCBnZXRBY3RpdmVQaXBlbGlu
ZUJpbk5hbWVzKEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBwaXBlbGluZSwgY29uc3QgU3Ry
aW5nJiBjaGlsZCwgUmVmUHRyPEpTT046OkFycmF5T2Y8U3RyaW5nPj4mIG5hbWVzKSBvdmVycmlk
ZTsKKyAgICB2b2lkIGR1bXBBY3RpdmVQaXBlbGluZShFcnJvclN0cmluZyYsIGNvbnN0IFN0cmlu
ZyYgcGlwZWxpbmUsIGNvbnN0IFN0cmluZyYgY2hpbGQsIFN0cmluZyogcGlwZWxpbmVHcmFwaFJl
cHJlc2VudGF0aW9uKSBvdmVycmlkZTsKKyAgICB2b2lkIGFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQo
KTsKKworcHJpdmF0ZToKKyAgICBSZWZQdHI8SW5zcGVjdG9yOjpHU3RyZWFtZXJCYWNrZW5kRGlz
cGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVj
dG9yOjpHU3RyZWFtZXJGcm9udGVuZERpc3BhdGNoZXI+IG1fZnJvbnRlbmREaXNwYXRjaGVyOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gVVNFKEdTVFJFQU1FUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcAppbmRleCBjZjg5ZjllYjUwNTIzMjZmY2Y4Y2JkMjZkODU5NmNmNDcyNGMyMzYx
Li45Njc0YWIzODZmMzNlMmU3MmU2ZGNhOWMxZDMxYmFmMjQ3ZWFlNjdlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3Bw
CkBAIC04MCw2ICs4MCw5IEBACiAjaW5jbHVkZSAiTGVnYWN5V2ViQXJjaGl2ZS5oIgogI2VuZGlm
CiAKKyNpZiBVU0UoR1NUUkVBTUVSKQorI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgorI2Vu
ZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmgKaW5kZXggNGZkOGMwYjEwMTZlNWFi
NDc1MjU1OGQ2NTMwYWJiNTIwZWNlYTI2YS4uOWQxYTQ0ODBhMWNlZDgxOTZmNWFjYWJmNzZkODI4
MDUxNmJhZmY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JQYWdlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvclBhZ2VBZ2VudC5oCkBAIC0xMzQsNiArMTM0LDcgQEAgcHVibGljOgogICAgIHZv
aWQgZGlkTGF5b3V0KCk7CiAgICAgdm9pZCBkaWRTY3JvbGwoKTsKICAgICB2b2lkIGRpZFJlY2Fs
Y3VsYXRlU3R5bGUoKTsKKyAgICB2b2lkIGdzdHJlYW1lclBpcGVsaW5lQ2FjaGVVcGRhdGVkKCk7
CiAKICAgICBGcmFtZSogZnJhbWVGb3JJZChjb25zdCBTdHJpbmcmIGZyYW1lSWQpOwogICAgIFdF
QkNPUkVfRVhQT1JUIFN0cmluZyBmcmFtZUlkKEZyYW1lKik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9HU3RyZWFtZXIuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9HU3RyZWFtZXIuY21ha2UKaW5kZXggODc0ZDQ5YWYxZTQxOWFjYzg0YTQ2NmQyOGNhMDIzYzZi
YzlhZjlmOS4uZDA0OWQzOWNlMGQyNTUxNDU1NDFjNzg5ZDE2ZGIyZjEzNzMxNWE1NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR1N0cmVhbWVyLmNtYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0dTdHJlYW1lci5jbWFrZQpAQCAtNzUsNiArNzUsNyBAQCBpZiAo
RU5BQkxFX1ZJREVPIE9SIEVOQUJMRV9XRUJfQVVESU8pCiAgICAgICAgICR7R1NUUkVBTUVSX0JB
U0VfSU5DTFVERV9ESVJTfQogICAgICAgICAke0dTVFJFQU1FUl9BUFBfSU5DTFVERV9ESVJTfQog
ICAgICAgICAke0dTVFJFQU1FUl9QQlVUSUxTX0lOQ0xVREVfRElSU30KKyAgICAgICAgJHtHUkFQ
SFZJWl9JTkNMVURFX0RJUlN9CiAgICAgKQogCiAgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9MSUJS
QVJJRVMKQEAgLTgzLDYgKzg0LDcgQEAgaWYgKEVOQUJMRV9WSURFTyBPUiBFTkFCTEVfV0VCX0FV
RElPKQogICAgICAgICAke0dTVFJFQU1FUl9MSUJSQVJJRVN9CiAgICAgICAgICR7R1NUUkVBTUVS
X1BCVVRJTFNfTElCUkFSSUVTfQogICAgICAgICAke0dTVFJFQU1FUl9BVURJT19MSUJSQVJJRVN9
CisgICAgICAgICR7R1JBUEhWSVpfTElCUkFSSUVTfQogICAgICkKIAogICAgICMgQXZvaWRpbmcg
YSBHTGliIGRlcHJlY2F0aW9uIHdhcm5pbmcgZHVlIHRvIEdTdHJlYW1lciBBUEkgdXNpbmcgZGVw
cmVjYXRlZCBjbGFzc2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vZ3N0cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIuY3Bw
CmluZGV4IDFhNTQ5NWZkNzY0ZDljM2NjNmVkYjU4MWZhNDgwZWFlYWQxNDU5YmYuLjlkNGFmMmM2
YzFiMDUxNjk0ODdkODIxNDcxM2I0Yjc0MjIzOTdkNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvQXVkaW9EZXN0
aW5hdGlvbkdTdHJlYW1lci5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJBdWRpb0No
YW5uZWwuaCIKICNpbmNsdWRlICJBdWRpb1NvdXJjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiR1Jl
ZlB0ckdTdHJlYW1lci5oIgorI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgogI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJBdWRpb1NvdXJjZUdTdHJlYW1lci5oIgog
I2luY2x1ZGUgPGdzdC9hdWRpby9nc3RhdWRpb2Jhc2VzaW5rLmg+CkBAIC04Myw3ICs4NCw4IEBA
IEF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXI6OkF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIoQXVk
aW9JT0NhbGxiYWNrJiBjYWxsYmFjaywKICAgICAsIG1fc2FtcGxlUmF0ZShzYW1wbGVSYXRlKQog
ICAgICwgbV9pc1BsYXlpbmcoZmFsc2UpCiB7Ci0gICAgbV9waXBlbGluZSA9IGdzdF9waXBlbGlu
ZV9uZXcoInBsYXkiKTsKKyAgICBtX3BpcGVsaW5lID0gZ3N0X3BpcGVsaW5lX25ldygid2ViYXVk
aW8tcGxheWJhY2siKTsKKyAgICByZWdpc3RlckFjdGl2ZVBpcGVsaW5lKG1fcGlwZWxpbmUpOwog
ICAgIEdSZWZQdHI8R3N0QnVzPiBidXMgPSBhZG9wdEdSZWYoZ3N0X3BpcGVsaW5lX2dldF9idXMo
R1NUX1BJUEVMSU5FKG1fcGlwZWxpbmUpKSk7CiAgICAgQVNTRVJUKGJ1cyk7CiAgICAgZ3N0X2J1
c19hZGRfc2lnbmFsX3dhdGNoX2Z1bGwoYnVzLmdldCgpLCBSdW5Mb29wU291cmNlUHJpb3JpdHk6
OlJ1bkxvb3BEaXNwYXRjaGVyKTsKQEAgLTEzMCw4ICsxMzIsOCBAQCBBdWRpb0Rlc3RpbmF0aW9u
R1N0cmVhbWVyOjp+QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcigpCiAgICAgR1JlZlB0cjxHc3RC
dXM+IGJ1cyA9IGFkb3B0R1JlZihnc3RfcGlwZWxpbmVfZ2V0X2J1cyhHU1RfUElQRUxJTkUobV9w
aXBlbGluZSkpKTsKICAgICBBU1NFUlQoYnVzKTsKICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNj
b25uZWN0X2J5X2Z1bmMoYnVzLmdldCgpLCByZWludGVycHJldF9jYXN0PGdwb2ludGVyPihtZXNz
YWdlQ2FsbGJhY2spLCB0aGlzKTsKKyAgICB1bnJlZ2lzdGVyUGlwZWxpbmUobV9waXBlbGluZSk7
CiAgICAgZ3N0X2J1c19yZW1vdmVfc2lnbmFsX3dhdGNoKGJ1cy5nZXQoKSk7Ci0KICAgICBnc3Rf
ZWxlbWVudF9zZXRfc3RhdGUobV9waXBlbGluZSwgR1NUX1NUQVRFX05VTEwpOwogICAgIGdzdF9v
YmplY3RfdW5yZWYobV9waXBlbGluZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCAzNWU0NTBhNmVlZWJmZTExZjVmN2E2NGVlZjA5
MGNmMTM4NzYwMTg0Li5lYTVkZTEwNDczNDBjNTM4ZjBlNDMyMjE2YjAzMjFhZGRmZDU0OTIwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAg
LTI3Miw2ICsyNzIsNyBAQCBwdWJsaWM6CiAKICNpZiBVU0UoR1NUUkVBTUVSKQogICAgIHZpcnR1
YWwgdm9pZCByZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zKGNvbnN0IFN0cmluZyYsIGNvbnN0
IFN0cmluZyYsIE1lZGlhUGxheWVyUmVxdWVzdEluc3RhbGxNaXNzaW5nUGx1Z2luc0NhbGxiYWNr
JikgeyB9OworICAgIHZpcnR1YWwgdm9pZCBnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2Vk
KCkgeyB9OwogI2VuZGlmCiAKICAgICB2aXJ0dWFsIGJvb2wgbWVkaWFQbGF5ZXJTaG91bGREaXNh
YmxlU2xlZXAoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtNjM0LDYgKzYzNSw3IEBAIHB1
YmxpYzoKIAogI2lmIFVTRShHU1RSRUFNRVIpCiAgICAgdm9pZCByZXF1ZXN0SW5zdGFsbE1pc3Np
bmdQbHVnaW5zKGNvbnN0IFN0cmluZyYgZGV0YWlscywgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlv
biwgTWVkaWFQbGF5ZXJSZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zQ2FsbGJhY2smIGNhbGxi
YWNrKSB7IGNsaWVudCgpLnJlcXVlc3RJbnN0YWxsTWlzc2luZ1BsdWdpbnMoZGV0YWlscywgZGVz
Y3JpcHRpb24sIGNhbGxiYWNrKTsgfQorICAgIHZvaWQgZ3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVz
Q2hhbmdlZCgpIHsgY2xpZW50KCkuZ3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOyB9
CiAjZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5jcHAKaW5kZXggMDg5
YmY3NGY3NGVjNjRhNmY4MDQ0NWMzNTNkZGEzNTEyYWIzNTRkNC4uOWNhNDhlOTUwZjAxYWVmZGVi
NjhlNTJjYjkxODRhMTc5OTljNmQyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5jcHAKQEAg
LTI3LDEyICsyNywxNiBAQAogI2luY2x1ZGUgIkdzdEFsbG9jYXRvckZhc3RNYWxsb2MuaCIKICNp
bmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCisjaW5jbHVkZSA8
Z3JhcGh2aXovZ3ZjLmg+CiAjaW5jbHVkZSA8Z3N0L2F1ZGlvL2F1ZGlvLWluZm8uaD4KICNpbmNs
dWRlIDxnc3QvZ3N0Lmg+CiAjaW5jbHVkZSA8bXV0ZXg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9H
TGliVXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvR1VuaXF1ZVB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9nbGliL1J1bkxvb3BTb3VyY2VQcmlvcml0eS5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0hhc2guaD4KIAogI2lmIEVOQUJMRShWSURFT19UUkFDSykgJiYgVVNFKEdTVFJFQU1F
Ul9NUEVHVFMpCiAjZGVmaW5lIEdTVF9VU0VfVU5TVEFCTEVfQVBJCkBAIC0zOTEsNiArMzk1LDEx
MiBAQCBib29sIGlzR1N0cmVhbWVyUGx1Z2luQXZhaWxhYmxlKGNvbnN0IGNoYXIqIG5hbWUpCiAg
ICAgcmV0dXJuIHBsdWdpbjsKIH0KIAorc3RhdGljIEhhc2hNYXA8Q1N0cmluZywgR3N0QmluKj4m
IGFjdGl2ZVBpcGVsaW5lc01hcCgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hN
YXA8Q1N0cmluZywgR3N0QmluKj4+IGFjdGl2ZVBpcGVsaW5lczsKKyAgICByZXR1cm4gYWN0aXZl
UGlwZWxpbmVzLmdldCgpOworfQorCit2b2lkIHJlZ2lzdGVyQWN0aXZlUGlwZWxpbmUoR3N0RWxl
bWVudCogcGlwZWxpbmUpCit7CisgICAgQVNTRVJUKEdTVF9JU19FTEVNRU5UKHBpcGVsaW5lKSk7
CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKworICAgIEdVbmlxdWVQdHI8Z2NoYXI+IG5h
bWUoZ3N0X29iamVjdF9nZXRfbmFtZShHU1RfT0JKRUNUX0NBU1QocGlwZWxpbmUpKSk7CisgICAg
YXV0byBhZGRSZXN1bHQgPSBhY3RpdmVQaXBlbGluZXNNYXAoKS5hZGQobmFtZS5nZXQoKSwgbnVs
bHB0cik7CisgICAgaWYgKCFhZGRSZXN1bHQuaXNOZXdFbnRyeSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUgPSBHU1RfQklOX0NBU1QocGlwZWxpbmUpOwor
fQorCit2b2lkIHVucmVnaXN0ZXJQaXBlbGluZShHc3RFbGVtZW50KiBwaXBlbGluZSkKK3sKKyAg
ICBBU1NFUlQoR1NUX0lTX0VMRU1FTlQocGlwZWxpbmUpKTsKKworICAgIEdVbmlxdWVQdHI8Z2No
YXI+IG5hbWUoZ3N0X29iamVjdF9nZXRfbmFtZShHU1RfT0JKRUNUX0NBU1QocGlwZWxpbmUpKSk7
CisgICAgYWN0aXZlUGlwZWxpbmVzTWFwKCkucmVtb3ZlKG5hbWUuZ2V0KCkpOworfQorCitWZWN0
b3I8Q1N0cmluZz4gYWN0aXZlUGlwZWxpbmVzTmFtZXMoKQoreworICAgIFZlY3RvcjxDU3RyaW5n
PiBuYW1lczsKKyAgICBhdXRvJiBtYXAgPSBhY3RpdmVQaXBlbGluZXNNYXAoKTsKKyAgICBuYW1l
cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1hcC5zaXplKCkpOworICAgIGZvciAoYXV0byYgbmFt
ZSA6IG1hcC5rZXlzKCkpCisgICAgICAgIG5hbWVzLnVuY2hlY2tlZEFwcGVuZChuYW1lKTsKKwor
ICAgIHN0ZDo6c29ydChuYW1lcy5iZWdpbigpLCBuYW1lcy5lbmQoKSk7CisgICAgcmV0dXJuIG5h
bWVzOworfQorCitDU3RyaW5nIGV4cG9ydEJpblRvU1ZHKEdzdEJpbiogYmluKQoreworICAgIEdV
bmlxdWVQdHI8Z2NoYXI+IGRvdERhdGEoZ3N0X2RlYnVnX2Jpbl90b19kb3RfZGF0YShiaW4sIEdT
VF9ERUJVR19HUkFQSF9TSE9XX0FMTCkpOworICAgIEFncmFwaF90KiBncmFwaCA9IGFnbWVtcmVh
ZChkb3REYXRhLmdldCgpKTsKKworICAgIEdWQ190KiBjb250ZXh0ID0gZ3ZDb250ZXh0KCk7Cisg
ICAgZ3ZMYXlvdXQoY29udGV4dCwgZ3JhcGgsICJkb3QiX3MpOworCisgICAgdW5zaWduZWQgbGVu
Z3RoOworICAgIGNoYXIqIHN2Z0RhdGE7CisgICAgaWYgKGd2UmVuZGVyRGF0YShjb250ZXh0LCBn
cmFwaCwgInN2ZyJfcywgJnN2Z0RhdGEsICZsZW5ndGgpKSB7CisgICAgICAgIGd2RnJlZUxheW91
dChjb250ZXh0LCBncmFwaCk7CisgICAgICAgIGFnY2xvc2UoZ3JhcGgpOworICAgICAgICBndkZy
ZWVDb250ZXh0KGNvbnRleHQpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIENT
dHJpbmcgc3ZnIHsgc3ZnRGF0YSwgbGVuZ3RoIH07CisgICAgZ3ZGcmVlUmVuZGVyRGF0YShzdmdE
YXRhKTsKKyAgICBndkZyZWVMYXlvdXQoY29udGV4dCwgZ3JhcGgpOworICAgIGFnY2xvc2UoZ3Jh
cGgpOworICAgIGd2RnJlZUNvbnRleHQoY29udGV4dCk7CisgICAgcmV0dXJuIHN2ZzsKK30KKwor
Q1N0cmluZyBkdW1wQWN0aXZlUGlwZWxpbmUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJp
bmcmIHN1YkJpbk5hbWUpCit7CisgICAgR3N0QmluKiBwaXBlbGluZSA9IGFjdGl2ZVBpcGVsaW5l
c01hcCgpLmdldChuYW1lLnV0ZjgoKSk7CisgICAgaWYgKCFwaXBlbGluZSkKKyAgICAgICAgcmV0
dXJuIHsgfTsKKworICAgIGlmIChzdWJCaW5OYW1lLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJu
IGV4cG9ydEJpblRvU1ZHKHBpcGVsaW5lKTsKKworICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gY2hp
bGQgPSBhZG9wdEdSZWYoZ3N0X2Jpbl9nZXRfYnlfbmFtZShwaXBlbGluZSwgc3ViQmluTmFtZS51
dGY4KCkuZGF0YSgpKSk7CisgICAgaWYgKEdTVF9JU19CSU4oY2hpbGQuZ2V0KCkpKQorICAgICAg
ICByZXR1cm4gZXhwb3J0QmluVG9TVkcoR1NUX0JJTl9DQVNUKGNoaWxkLmdldCgpKSk7CisKKyAg
ICByZXR1cm4geyB9OworfQorCitWZWN0b3I8Q1N0cmluZz4gZ2V0QmluQ2hpbGRyZW4oY29uc3Qg
U3RyaW5nJiBwaXBlbGluZU5hbWUsIGNvbnN0IFN0cmluZyYgYmluTmFtZSkKK3sKKyAgICBWZWN0
b3I8Q1N0cmluZz4gY2hpbGRyZW47CisgICAgR3N0QmluKiBwaXBlbGluZSA9IGFjdGl2ZVBpcGVs
aW5lc01hcCgpLmdldChwaXBlbGluZU5hbWUudXRmOCgpKTsKKyAgICBpZiAoIXBpcGVsaW5lKQor
ICAgICAgICByZXR1cm4gY2hpbGRyZW47CisKKyAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IHBhcmVu
dDsKKworICAgIGlmIChiaW5OYW1lLmlzRW1wdHkoKSkKKyAgICAgICAgcGFyZW50ID0gR1NUX0VM
RU1FTlRfQ0FTVChnc3Rfb2JqZWN0X3JlZihwaXBlbGluZSkpOworICAgIGVsc2UKKyAgICAgICAg
cGFyZW50ID0gYWRvcHRHUmVmKGdzdF9iaW5fZ2V0X2J5X25hbWUocGlwZWxpbmUsIGJpbk5hbWUu
dXRmOCgpLmRhdGEoKSkpOworCisgICAgaWYgKCFwYXJlbnQgfHwgIUdTVF9JU19CSU4ocGFyZW50
LmdldCgpKSkKKyAgICAgICAgcmV0dXJuIGNoaWxkcmVuOworCisgICAgZm9yIChHTGlzdCogaXRl
bSA9IEdTVF9CSU5fQ0hJTERSRU4oR1NUX0JJTl9DQVNUKHBhcmVudC5nZXQoKSkpOyBpdGVtOyBp
dGVtID0gaXRlbS0+bmV4dCkgeworICAgICAgICBpZiAoR1NUX0lTX0JJTihpdGVtLT5kYXRhKSkg
eworICAgICAgICAgICAgR1VuaXF1ZVB0cjxnY2hhcj4gbmFtZShnc3RfZWxlbWVudF9nZXRfbmFt
ZShHU1RfRUxFTUVOVF9DQVNUKGl0ZW0tPmRhdGEpKSk7CisgICAgICAgICAgICBjaGlsZHJlbi5h
cHBlbmQoQ1N0cmluZyhuYW1lLmdldCgpKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1
cm4gY2hpbGRyZW47Cit9CisKIH0KIAogI2VuZGlmIC8vIFVTRShHU1RSRUFNRVIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVy
Q29tbW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0
cmVhbWVyQ29tbW9uLmgKaW5kZXggOTY5YzdjMzM0Yjk1MDNhMjFhNzJlMzc5ZjEzN2MyN2E2Yjkx
ODEyNS4uMzBjZmYxOTZlZTk4MWE3YTYwM2RjNGZlZGUxM2ExZmZjNjNmZWQyZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNv
bW1vbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9H
U3RyZWFtZXJDb21tb24uaApAQCAtMjIzLDYgKzIyMywxMiBAQCBlbnVtIGNsYXNzIEdzdFZpZGVv
RGVjb2RlclBsYXRmb3JtIHsgSW14VlBVLCBWaWRlbzRMaW51eCB9OwogCiBib29sIGlzR1N0cmVh
bWVyUGx1Z2luQXZhaWxhYmxlKGNvbnN0IGNoYXIqIG5hbWUpOwogCit2b2lkIHJlZ2lzdGVyQWN0
aXZlUGlwZWxpbmUoR3N0RWxlbWVudCopOwordm9pZCB1bnJlZ2lzdGVyUGlwZWxpbmUoR3N0RWxl
bWVudCopOworVmVjdG9yPENTdHJpbmc+IGFjdGl2ZVBpcGVsaW5lc05hbWVzKCk7CitDU3RyaW5n
IGR1bXBBY3RpdmVQaXBlbGluZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgc3Vi
QmluTmFtZSk7CitWZWN0b3I8Q1N0cmluZz4gZ2V0QmluQ2hpbGRyZW4oY29uc3QgU3RyaW5nJiBw
aXBlbGluZU5hbWUsIGNvbnN0IFN0cmluZyYgYmluTmFtZSk7CisKIH0KIAogI2lmbmRlZiBHU1Rf
QlVGRkVSX0RUU19PUl9QVFMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5jcHAKaW5kZXggNTNkNTZmOGU5NTA4MzQyODgzN2NlYzE4YTQxMGFjNTg0MWIwZTAy
Ni4uNGZlYzM3ZTNjYWVhY2JlZWVmYmQyNjk0YmY5ZjY2ZjZkOWRjODQ0ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTQ0OCw5ICs0NDgs
MTQgQEAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp+TWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyKCkKIAogICAgIC8vIFRoZSBjaGFuZ2UgdG8gR1NUX1NUQVRFX05VTEwgc3RhdGUgaXMg
YWx3YXlzIHN5bmNocm9ub3VzLiBTbyBhZnRlciB0aGlzIGdldHMgZXhlY3V0ZWQgd2UgZG9uJ3Qg
bmVlZCB0byB3b3JyeQogICAgIC8vIGFib3V0IGhhbmRsZXJzIHJ1bm5pbmcgaW4gdGhlIEdTdHJl
YW1lciB0aHJlYWQuCi0gICAgaWYgKG1fcGlwZWxpbmUpCisgICAgaWYgKG1fcGlwZWxpbmUpIHsK
KyAgICAgICAgdW5yZWdpc3RlclBpcGVsaW5lKG1fcGlwZWxpbmUuZ2V0KCkpOwogICAgICAgICBn
c3RfZWxlbWVudF9zZXRfc3RhdGUobV9waXBlbGluZS5nZXQoKSwgR1NUX1NUQVRFX05VTEwpOwog
CisgICAgICAgIGlmIChtX3BsYXllcikKKyAgICAgICAgICAgIG1fcGxheWVyLT5nc3RyZWFtZXJB
Y3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7CisgICAgfQorCiAgICAgbV9wbGF5ZXIgPSBudWxscHRy
OwogfQogCkBAIC0xNzA3LDYgKzE3MTIsOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcjo6dmlkZW9DaGFuZ2VkQ2FsbGJhY2soTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbQogdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFBpcGVsaW5lKEdzdEVsZW1lbnQqIHBp
cGVsaW5lKQogewogICAgIG1fcGlwZWxpbmUgPSBwaXBlbGluZTsKKyAgICByZWdpc3RlckFjdGl2
ZVBpcGVsaW5lKG1fcGlwZWxpbmUuZ2V0KCkpOworICAgIGlmIChtX3BsYXllcikKKyAgICAgICAg
bV9wbGF5ZXItPmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKTsKIAogICAgIEdSZWZQ
dHI8R3N0QnVzPiBidXMgPSBhZG9wdEdSZWYoZ3N0X3BpcGVsaW5lX2dldF9idXMoR1NUX1BJUEVM
SU5FKG1fcGlwZWxpbmUuZ2V0KCkpKSk7CiAgICAgZ3N0X2J1c19zZXRfc3luY19oYW5kbGVyKGJ1
cy5nZXQoKSwgW10oR3N0QnVzKiwgR3N0TWVzc2FnZSogbWVzc2FnZSwgZ3BvaW50ZXIgdXNlckRh
dGEpIHsKQEAgLTI4OTMsNiArMjkwMSw5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpjcmVhdGVHU1RQbGF5QmluKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmCiAgICAg
ICAgIH0KIAogICAgICAgICBHU1RfSU5GT19PQkpFQ1QocGlwZWxpbmUoKSwgIlRlYXJpbmcgZG93
biBhcyB3ZSBuZWVkIHRvIHVzZSAlcyBub3cuIiwgcGxheWJpbk5hbWUpOworICAgICAgICB1bnJl
Z2lzdGVyUGlwZWxpbmUobV9waXBlbGluZS5nZXQoKSk7CisgICAgICAgIGlmIChtX3BsYXllcikK
KyAgICAgICAgICAgIG1fcGxheWVyLT5nc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7
CiAgICAgICAgIGNoYW5nZVBpcGVsaW5lU3RhdGUoR1NUX1NUQVRFX05VTEwpOwogICAgICAgICBt
X3BpcGVsaW5lID0gbnVsbHB0cjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmgKaW5kZXggODUxNjVkMWJmMTI5Y2VjZTFhMTI2ZDFjMzA0ZDNmYzk2
MmU3MjUzOC4uNjljYzYwNzUyZjc4OWRiZGE3MTY0ZDAzNTQ1YTJhYTAxOTYwYTNlZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaApAQCAtMTI3LDYgKzEy
Nyw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBleHRl
bmRlZFN1cHBvcnRzVHlwZShjb25zdCBNZWRpYUVuZ2luZVN1cHBvcnRQYXJhbWV0ZXJzJiwgTWVk
aWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSk7CiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNLZXlTeXN0
ZW0oY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogCisg
ICAgTWVkaWFQbGF5ZXIqIG1lZGlhUGxheWVyKCkgY29uc3QgeyByZXR1cm4gbV9wbGF5ZXI7IH0K
KwogICAgIGJvb2wgaGFzVmlkZW8oKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2hhc1ZpZGVvOyB9
CiAgICAgYm9vbCBoYXNBdWRpbygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faGFzQXVkaW87IH0K
ICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nICZ1cmwpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBl
bGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNl
L0FwcGVuZFBpcGVsaW5lLmNwcAppbmRleCA1YTJiZGVkYTFiODdhMWRlYThjNmJiZjVmNjk4NDFk
N2U5ZjY2YzBiLi5iM2U5MDI4YjJmMjI5MzBmZWYxMDI1MjRiOTZlOWYwN2YzNzQ5MTdkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0Fw
cGVuZFBpcGVsaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcApAQCAtMTE1LDkgKzExNSwxMSBAQCBBcHBl
bmRQaXBlbGluZTo6QXBwZW5kUGlwZWxpbmUoUmVmPE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVy
TVNFPiBtZWRpYVNvdXJjZUNsaQogICAgIC8vIEZJWE1FOiBnaXZlIGEgbmFtZSB0byB0aGUgcGlw
ZWxpbmUsIG1heWJlIHJlbGF0ZWQgd2l0aCB0aGUgdHJhY2sgaXQncyBtYW5hZ2luZy4KICAgICAv
LyBUaGUgdHJhY2sgbmFtZSBpcyBzdGlsbCB1bmtub3duIGF0IHRoaXMgdGltZSwgdGhvdWdoLgog
ICAgIHN0YXRpYyBzaXplX3QgYXBwZW5kUGlwZWxpbmVDb3VudCA9IDA7Ci0gICAgU3RyaW5nIHBp
cGVsaW5lTmFtZSA9IG1ha2VTdHJpbmcoImFwcGVuZC1waXBlbGluZS0iLAorICAgIFN0cmluZyBw
aXBlbGluZU5hbWUgPSBtYWtlU3RyaW5nKCJtc2UtYXBwZW5kLXBpcGVsaW5lLSIsCiAgICAgICAg
IG1fc291cmNlQnVmZmVyUHJpdmF0ZS0+dHlwZSgpLmNvbnRhaW5lclR5cGUoKS5yZXBsYWNlKCIv
IiwgIi0iKSwgJy0nLCBhcHBlbmRQaXBlbGluZUNvdW50KyspOwogICAgIG1fcGlwZWxpbmUgPSBn
c3RfcGlwZWxpbmVfbmV3KHBpcGVsaW5lTmFtZS51dGY4KCkuZGF0YSgpKTsKKyAgICByZWdpc3Rl
ckFjdGl2ZVBpcGVsaW5lKG1fcGlwZWxpbmUuZ2V0KCkpOworICAgIG1fcGxheWVyUHJpdmF0ZS0+
bWVkaWFQbGF5ZXIoKS0+Z3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOwogCiAgICAg
bV9idXMgPSBhZG9wdEdSZWYoZ3N0X3BpcGVsaW5lX2dldF9idXMoR1NUX1BJUEVMSU5FKG1fcGlw
ZWxpbmUuZ2V0KCkpKSk7CiAgICAgZ3N0X2J1c19hZGRfc2lnbmFsX3dhdGNoX2Z1bGwobV9idXMu
Z2V0KCksIFJ1bkxvb3BTb3VyY2VQcmlvcml0eTo6UnVuTG9vcERpc3BhdGNoZXIpOwpAQCAtMjQy
LDYgKzI0NCw5IEBAIEFwcGVuZFBpcGVsaW5lOjp+QXBwZW5kUGlwZWxpbmUoKQogICAgIC8vIHdo
ZW4gY2hhbmdpbmcgdGhlIHBpcGVsaW5lIHN0YXRlLgogCiAgICAgaWYgKG1fcGlwZWxpbmUpIHsK
KyAgICAgICAgdW5yZWdpc3RlclBpcGVsaW5lKG1fcGlwZWxpbmUuZ2V0KCkpOworICAgICAgICBp
ZiAobV9wbGF5ZXJQcml2YXRlKQorICAgICAgICAgICAgbV9wbGF5ZXJQcml2YXRlLT5tZWRpYVBs
YXllcigpLT5nc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7CiAgICAgICAgIEFTU0VS
VChtX2J1cyk7CiAgICAgICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZGF0YSht
X2J1cy5nZXQoKSwgdGhpcyk7CiAgICAgICAgIGdzdF9idXNfZGlzYWJsZV9zeW5jX21lc3NhZ2Vf
ZW1pc3Npb24obV9idXMuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5k
ZXggZTUxOTU2YTQ0ODk0ZDkxNTIyZTc2YTRlMmU2NDMzYTRmZWExZTFjOC4uZmY1MDQyZWRiNjY4
Njc4NjVhY2Q4OWFlMzI5ZTMyNGJkYzdmNDlhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJp
bmdzLmpzCkBAIC01MjEsNiArNTIxLDcgQEAgbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0ICglcyki
XSA9ICJFeHBvcnQgKCVzKSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJFeHBvcnQgSEFSIl0gPSAiRXhw
b3J0IEhBUiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJFeHBvcnQgUmVzdWx0Il0gPSAiRXhwb3J0IFJl
c3VsdCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJFeHBvcnQgVGVzdCJdID0gIkV4cG9ydCBUZXN0IjsK
K2xvY2FsaXplZFN0cmluZ3NbIkV4cG9ydCBwaXBlbGluZSBkb3QgcmVwcmVzZW50YXRpb24gKCVz
KSJdID0gIkV4cG9ydCBwaXBlbGluZSBkb3QgcmVwcmVzZW50YXRpb24gKCVzKSI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyJFeHBvcnQgcmVjb3JkaW5nICglcykiXSA9ICJFeHBvcnQgcmVjb3JkaW5nICgl
cykiOwogbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IHJlY29yZGluZyAoJXMpXG5TaGlmdC1jbGlj
ayB0byBleHBvcnQgYSBIVE1MIHJlZHVjdGlvbiJdID0gIkV4cG9ydCByZWNvcmRpbmcgKCVzKVxu
U2hpZnQtY2xpY2sgdG8gZXhwb3J0IGEgSFRNTCByZWR1Y3Rpb24iOwogbG9jYWxpemVkU3RyaW5n
c1siRXhwb3J0IHJlc3VsdCAoJXMpIl0gPSAiRXhwb3J0IHJlc3VsdCAoJXMpIjsKQEAgLTU3OCw2
ICs1NzksNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJGdWxsLVNjcmVlbiBmcm9tIFx1MjAxQyVzXHUy
MDFEIl0gPSAiRnVsbC1TY3JlZW4gZnJvbSBcdTIwMUMlcwogbG9jYWxpemVkU3RyaW5nc1siRnVu
Y3Rpb24iXSA9ICJGdW5jdGlvbiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJGdW5jdGlvbiBOYW1lIFZh
cmlhYmxlIl0gPSAiRnVuY3Rpb24gTmFtZSBWYXJpYWJsZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJH
SUYiXSA9ICJHSUYiOworbG9jYWxpemVkU3RyaW5nc1siR1N0cmVhbWVyIl0gPSAiR1N0cmVhbWVy
IjsKIGxvY2FsaXplZFN0cmluZ3NbIkdhcmJhZ2UgQ29sbGVjdGlvbiJdID0gIkdhcmJhZ2UgQ29s
bGVjdGlvbiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJHZW5lcmFsIl0gPSAiR2VuZXJhbCI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJHZXR0ZXIiXSA9ICJHZXR0ZXIiOwpAQCAtODU1LDYgKzg1Nyw3IEBAIGxv
Y2FsaXplZFN0cmluZ3NbIlBlcmlvZHMgb2YgaGlnaCBDUFUgdXRpbGl6YXRpb24gd2lsbCByYXBp
ZGx5IGRyYWluIGJhdHRlcnkuIFN0CiBsb2NhbGl6ZWRTdHJpbmdzWyJQaW5nIl0gPSAiUGluZyI7
CiBsb2NhbGl6ZWRTdHJpbmdzWyJQaW5nIEZyYW1lIl0gPSAiUGluZyBGcmFtZSI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyJQaW5ncyJdID0gIlBpbmdzIjsKK2xvY2FsaXplZFN0cmluZ3NbIlBpcGVsaW5l
cyJdID0gIlBpcGVsaW5lcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJQbGF5IFNvdW5kIl0gPSAiUGxh
eSBTb3VuZCI7CiAvKiBUb29sdGlwIGZvciBhIHRpbWUgcmFuZ2UgYmFyIHRoYXQgcmVwcmVzZW50
cyB3aGVuIHRoZSBwbGF5YmFjayBvZiBhIGF1ZGlvL3ZpZGVvIGVsZW1lbnQgaXMgcnVubmluZyAq
LwogbG9jYWxpemVkU3RyaW5nc1siUGxheWluZyJdID0gIlBsYXlpbmciOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFjZS1yZXNvdXJj
ZXMucGwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvU2NyaXB0cy9jb3B5LXVzZXItaW50ZXJmYWNl
LXJlc291cmNlcy5wbAppbmRleCBmZGJhZDM4M2IyZWZiNmMyYmI5NTRmNzVlNWUzMTczZjNjNDYx
NmU4Li4zYzA3Y2M1YTgxMGViMDRjZTRlNjU4ZGU3MDZmNjk5ZjFiNjk1MTg0IDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvU2NyaXB0cy9jb3B5LXVzZXItaW50ZXJmYWNlLXJlc291
cmNlcy5wbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvU2NyaXB0cy9jb3B5LXVzZXItaW50
ZXJmYWNlLXJlc291cmNlcy5wbApAQCAtMTY2LDEzICsxNjYsMTYgQEAgbXkgJHByb3RvY29sRGly
ID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCR0YXJnZXRSZXNvdXJjZVBhdGgsICdQcm90b2NvbCcpOwog
bXkgJHdvcmtlcnNEaXIgPSBGaWxlOjpTcGVjLT5jYXRkaXIoJHRhcmdldFJlc291cmNlUGF0aCwg
J1dvcmtlcnMnKTsKIG15ICRjb2RlTWlycm9yUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGRpcigkdWlS
b290LCAnRXh0ZXJuYWwnLCAnQ29kZU1pcnJvcicpOwogbXkgJGVzcHJpbWFQYXRoID0gRmlsZTo6
U3BlYy0+Y2F0ZGlyKCR1aVJvb3QsICdFeHRlcm5hbCcsICdFc3ByaW1hJyk7CitteSAkZDNQYXRo
ID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCR1aVJvb3QsICdFeHRlcm5hbCcsICdkMy5qcycpOwogbXkg
JHRocmVlanNQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCR1aVJvb3QsICdFeHRlcm5hbCcsICd0
aHJlZS5qcycpOwogCiAkd2ViSW5zcGVjdG9yVUlBZGRpdGlvbnNEaXIgPSAmd2ViSW5zcGVjdG9y
VUlBZGRpdGlvbnNEaXIoKTsKIAogbXkgJGNvZGVNaXJyb3JMaWNlbnNlID0gcmVhZExpY2Vuc2VG
aWxlKEZpbGU6OlNwZWMtPmNhdGZpbGUoJGNvZGVNaXJyb3JQYXRoLCAnTElDRU5TRScpKTsKIG15
ICRlc3ByaW1hTGljZW5zZSA9IHJlYWRMaWNlbnNlRmlsZShGaWxlOjpTcGVjLT5jYXRmaWxlKCRl
c3ByaW1hUGF0aCwgJ0xJQ0VOU0UnKSk7CitteSAkZDNMaWNlbnNlID0gcmVhZExpY2Vuc2VGaWxl
KEZpbGU6OlNwZWMtPmNhdGZpbGUoJGQzUGF0aCwgJ0xJQ0VOU0UnKSk7CiBteSAkdGhyZWVqc0xp
Y2Vuc2UgPSByZWFkTGljZW5zZUZpbGUoRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkdGhyZWVqc1BhdGgs
ICdMSUNFTlNFJykpOworCiBtYWtlX3BhdGgoJHByb3RvY29sRGlyLCAkdGFyZ2V0UmVzb3VyY2VQ
YXRoKTsKIAogJHB5dGhvbiA9ICRFTlZ7IlBZVEhPTiJ9IGlmIGRlZmluZWQoJEVOVnsiUFlUSE9O
In0pOwpAQCAtMTgzLDYgKzE4Niw4IEBAIGNvcHkoRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkRU5WeydK
QVZBU0NSSVBUQ09SRV9QUklWQVRFX0hFQURFUlNfRElSJ30sICdJbnNwZWN0b3JCCiBteSAkZm9y
Y2VUb29sSW5zdGFsbCA9IGRlZmluZWQgJEVOVnsnRk9SQ0VfVE9PTF9JTlNUQUxMJ30gJiYgKCRF
TlZ7J0ZPUkNFX1RPT0xfSU5TVEFMTCd9IGVxICdZRVMnKTsKIG15ICRzaG91bGRDb21iaW5lTWFp
biA9IGRlZmluZWQgJEVOVnsnQ09NQklORV9JTlNQRUNUT1JfUkVTT1VSQ0VTJ30gJiYgKCRFTlZ7
J0NPTUJJTkVfSU5TUEVDVE9SX1JFU09VUkNFUyd9IGVxICdZRVMnKTsKIG15ICRzaG91bGRDb21i
aW5lVGVzdCA9IGRlZmluZWQgJEVOVnsnQ09NQklORV9URVNUX1JFU09VUkNFUyd9ICYmICgkRU5W
eydDT01CSU5FX1RFU1RfUkVTT1VSQ0VTJ30gZXEgJ1lFUycpOworbXkgJHNob3VsZENvbWJpbmVH
U3RyZWFtZXJSZXNvdXJjZXMgPSBkZWZpbmVkICRFTlZ7J0NPTUJJTkVfR1NUUkVBTUVSX1JFU09V
UkNFUyd9ICYmICgkRU5WeydDT01CSU5FX0dTVFJFQU1FUl9SRVNPVVJDRVMnfSBlcSAnWUVTJyk7
CisKIG15ICRjb21iaW5lUmVzb3VyY2VzQ21kID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkc2NyaXB0
c1Jvb3QsICdjb21iaW5lLXJlc291cmNlcy5wbCcpOwogCiBpZiAoJGZvcmNlVG9vbEluc3RhbGwp
IHsKQEAgLTM0Niw2ICszNTEsMTcgQEAgaWYgKCRzaG91bGRDb21iaW5lTWFpbikgewogICAgICAg
ICctLW91dHB1dC1kaXInLCAkZGVyaXZlZFNvdXJjZXNEaXIsCiAgICAgICAgJy0tb3V0cHV0LXNj
cmlwdC1uYW1lJywgJ1RocmVlLmpzJyk7CiAKKyAgICBpZiAoJHNob3VsZENvbWJpbmVHU3RyZWFt
ZXJSZXNvdXJjZXMpIHsKKyAgICAgICAgIyBDb21iaW5lIHRoZSBkMy5qcyBKYXZhU2NyaXB0IGZp
bGVzIGluIFByb2R1Y3Rpb24gYnVpbGRzIGludG8gYSBzaW5nbGUgZmlsZSAoRDMuanMpLgorICAg
ICAgICBzeXN0ZW0oJHBlcmwsICRjb21iaW5lUmVzb3VyY2VzQ21kLAorICAgICAgICAgICAnLS1p
bnB1dC1kaXInLCAnRXh0ZXJuYWwvZDMuanMnLAorICAgICAgICAgICAnLS1pbnB1dC1odG1sJywg
JGRlcml2ZWRTb3VyY2VzTWFpbkhUTUwsCisgICAgICAgICAgICctLWlucHV0LWh0bWwtZGlyJywg
JHVpUm9vdCwKKyAgICAgICAgICAgJy0tZGVyaXZlZC1zb3VyY2VzLWRpcicsICRkZXJpdmVkU291
cmNlc0RpciwKKyAgICAgICAgICAgJy0tb3V0cHV0LWRpcicsICRkZXJpdmVkU291cmNlc0RpciwK
KyAgICAgICAgICAgJy0tb3V0cHV0LXNjcmlwdC1uYW1lJywgJ0QzLmpzJyk7CisgICAgfQorCiAg
ICAgIyBSZW1vdmUgY29uc29sZS5hc3NlcnQgY2FsbHMgZnJvbSB0aGUgTWFpbi5qcyBmaWxlLgog
ICAgIG15ICRkZXJpdmVkU291cmNlc01haW5KUyA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJGRlcml2
ZWRTb3VyY2VzRGlyLCAnTWFpbi5qcycpOwogICAgIHN5c3RlbSgkcGVybCwgRmlsZTo6U3BlYy0+
Y2F0ZmlsZSgkc2NyaXB0c1Jvb3QsICdyZW1vdmUtY29uc29sZS1hc3NlcnRzLnBsJyksCkBAIC00
MDYsNiArNDIyLDE4IEBAIGlmICgkc2hvdWxkQ29tYmluZU1haW4pIHsKICAgICBteSAkZGVyaXZl
ZFNvdXJjZXNUaHJlZWpzSlMgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCRkZXJpdmVkU291cmNlc0Rp
ciwgJ1RocmVlLmpzJyk7CiAgICAgc3lzdGVtKHFxKCIkcHl0aG9uIiAiJGpzTWluU2NyaXB0IiA8
ICIkZGVyaXZlZFNvdXJjZXNUaHJlZWpzSlMiID4+ICIkdGFyZ2V0VGhyZWVqc0pTIikpIGFuZCBk
aWUgIkZhaWxlZCB0byBtaW5pZnkgJGRlcml2ZWRTb3VyY2VzVGhyZWVqc0pTOiAkISI7CiAKKyAg
ICBteSAkdGFyZ2V0RDNKUyA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJHRhcmdldFJlc291cmNlUGF0
aCwgJ0QzLmpzJyk7CisgICAgaWYgKCRzaG91bGRDb21iaW5lR1N0cmVhbWVyUmVzb3VyY2VzKSB7
CisgICAgICAgICMgRXhwb3J0IHRoZSBsaWNlbnNlIGludG8gRDMuanMuCisgICAgICAgIHNlZWRG
aWxlKCR0YXJnZXREM0pTLCAkZDNMaWNlbnNlKTsKKworICAgICAgICAjIE1pbmlmeSB0aGUgRDMu
anMgZmlsZSwgYXBwZW5kaW5nIHRvIHRoZSBsaWNlbnNlIHRoYXQgd2FzIGV4cG9ydGVkIGFib3Zl
LgorICAgICAgICBteSAkZGVyaXZlZFNvdXJjZXNEM0pTID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgk
ZGVyaXZlZFNvdXJjZXNEaXIsICdEMy5qcycpOworICAgICAgICBzeXN0ZW0ocXEoIiRweXRob24i
ICIkanNNaW5TY3JpcHQiIDwgIiRkZXJpdmVkU291cmNlc0QzSlMiID4+ICIkdGFyZ2V0RDNKUyIp
KSBhbmQgZGllICJGYWlsZWQgdG8gbWluaWZ5ICRkZXJpdmVkU291cmNlc0QzSlM6ICQhIjsKKyAg
ICB9IGVsc2UgeworICAgICAgICBzZWVkRmlsZSgkdGFyZ2V0RDNKUywgIiIpOworICAgIH0KKwog
ICAgICMgQ29weSBvdmVyIHRoZSBJbWFnZXMgZGlyZWN0b3J5LgogICAgIGRpdHRvKEZpbGU6OlNw
ZWMtPmNhdGRpcigkdWlSb290LCAnSW1hZ2VzJyksIEZpbGU6OlNwZWMtPmNhdGRpcigkdGFyZ2V0
UmVzb3VyY2VQYXRoLCAnSW1hZ2VzJykpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9CYXNlL01haW4uanMKaW5kZXggZTllYmQ2OGE1ZDc4NGQ1ZWUxOWYwMGIz
YmRiNDM5ZjE1M2NkNmMxNy4uZGYxMTUwZWNkNzU3MmQwNjM4MDExNjYxZWE2MTUxZDBmZmU2Nzlj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9N
YWluLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFp
bi5qcwpAQCAtNzEsNiArNzEsOCBAQCBXSS5sb2FkZWQgPSBmdW5jdGlvbigpCiAgICAgICAgIElu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEYXRhYmFzZURpc3BhdGNoZXIoV0kuRGF0YWJhc2VPYnNl
cnZlcik7CiAgICAgaWYgKEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEZWJ1Z2dlckRpc3BhdGNo
ZXIpCiAgICAgICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEZWJ1Z2dlckRpc3BhdGNoZXIo
V0kuRGVidWdnZXJPYnNlcnZlcik7CisgICAgaWYgKEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJH
U3RyZWFtZXJEaXNwYXRjaGVyKQorICAgICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyR1N0
cmVhbWVyRGlzcGF0Y2hlcihXSS5HU3RyZWFtZXJPYnNlcnZlcik7CiAgICAgaWYgKEluc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJIZWFwRGlzcGF0Y2hlcikKICAgICAgICAgSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckhlYXBEaXNwYXRjaGVyKFdJLkhlYXBPYnNlcnZlcik7CiAgICAgaWYgKEluc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJJbnNwZWN0b3JEaXNwYXRjaGVyKQpAQCAtMTIzLDYgKzEyNSw3
IEBAIFdJLmxvYWRlZCA9IGZ1bmN0aW9uKCkKICAgICAgICAgV0kud29ya2VyTWFuYWdlciA9IG5l
dyBXSS5Xb3JrZXJNYW5hZ2VyLAogICAgICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIgPSBuZXcg
V0kuRE9NRGVidWdnZXJNYW5hZ2VyLAogICAgICAgICBXSS5jYW52YXNNYW5hZ2VyID0gbmV3IFdJ
LkNhbnZhc01hbmFnZXIsCisgICAgICAgIFdJLmdzdHJlYW1lck1hbmFnZXIgPSBuZXcgV0kuR1N0
cmVhbWVyTWFuYWdlciwKICAgICBdOwogCiAgICAgLy8gUmVnaXN0ZXIgZm9yIGV2ZW50cy4KQEAg
LTQ3NSw2ICs0NzgsMTEgQEAgV0kuY29udGVudExvYWRlZCA9IGZ1bmN0aW9uKCkKICAgICBdOwog
CiAgICAgV0kuX2tub3duVGFiQ2xhc3Nlc0J5VHlwZSA9IG5ldyBNYXA7CisKKyAgICBpZiAoV0ku
UGxhdGZvcm0ucG9ydCA9PT0gImd0ayIgfHwgV0kuUGxhdGZvcm0ucG9ydCA9PT0gIndwZSIpIHsK
KyAgICAgICAgcHJvZHVjdGlvblRhYkNsYXNzZXMucHVzaChXSS5HU3RyZWFtZXJUYWJDb250ZW50
Vmlldyk7CisgICAgfQorCiAgICAgLy8gU2V0IHRhYiBjbGFzc2VzIGRpcmVjdGx5LiBUaGUgcHVi
bGljIEFQSSB0cmlnZ2VycyBvdGhlciB1cGRhdGVzIGFuZAogICAgIC8vIG5vdGlmaWNhdGlvbnMg
dGhhdCB3b24ndCB3b3JrIG9yIGhhdmUgbm8gbGlzdGVuZXJzIGF0IFdJIHBvaW50LgogICAgIGZv
ciAobGV0IHRhYkNsYXNzIG9mIHByb2R1Y3Rpb25UYWJDbGFzc2VzKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9QbGF0Zm9ybS5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvUGxhdGZvcm0uanMKaW5kZXggZmZi
NWE3N2UyYzNhZGM3NGNmMmJiZTk4NjA5NmNhNzBhZmEwYjY5Ni4uNTczZGI4OWE5ZTNhNTFmZTE2
ODc2ZWZlN2MwNTgyNjdkZTFjNzA3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQmFzZS9QbGF0Zm9ybS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9CYXNlL1BsYXRmb3JtLmpzCkBAIC0yNSw2ICsyNSw3IEBACiAKIFdJ
LlBsYXRmb3JtID0gewogICAgIG5hbWU6IEluc3BlY3RvckZyb250ZW5kSG9zdC5wbGF0Zm9ybSgp
LAorICAgIHBvcnQ6IEluc3BlY3RvckZyb250ZW5kSG9zdC5wb3J0KCksCiAgICAgaXNOaWdodGx5
QnVpbGQ6IGZhbHNlLAogICAgIHZlcnNpb246IHsKICAgICAgICAgYmFzZTogMCwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0dTdHJl
YW1lck1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250
cm9sbGVycy9HU3RyZWFtZXJNYW5hZ2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwN2M2NDA2MDYyOTgzYzMy
ZDAyMDQ3M2RjNTczZjIzZDgwYWYyYmIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9HU3RyZWFtZXJNYW5hZ2VyLmpzCkBA
IC0wLDAgKzEsNjkgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwKKyAq
CisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNz
ZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
ICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICog
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rv
biwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKK1dJLkdTdHJlYW1lck1hbmFnZXIgPSBjbGFz
cyBHU3RyZWFtZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0Cit7CisgICAgY29uc3RydWN0b3Io
KQorICAgIHsKKyAgICAgICAgc3VwZXIoKTsKKworICAgICAgICB0aGlzLl9wYXJzZXIgPSBuZXcg
RE9NUGFyc2VyKCk7CisgICAgICAgIHRoaXMuX2VuYWJsZWQgPSBXSS5QbGF0Zm9ybS5wb3J0ID09
PSAiZ3RrIiB8fCBXSS5QbGF0Zm9ybS5wb3J0ID09PSAid3BlIjsKKyAgICB9CisKKyAgICAvLyBB
Z2VudAorCisgICAgZ2V0IGRvbWFpbnMoKSB7IHJldHVybiBbIkdTdHJlYW1lciJdOyB9CisKKyAg
ICBhY3RpdmF0ZUV4dHJhRG9tYWluKGRvbWFpbikKKyAgICB7CisgICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KGRvbWFpbiA9PT0gIkdTdHJlYW1lciIpOworICAgIH0KKworICAgIC8vIFB1YmxpYworCisg
ICAgZ2V0IGFnZW50KCkgeworICAgICAgICBsZXQgdGFyZ2V0ID0gV0kuYXNzdW1pbmdNYWluVGFy
Z2V0KCk7CisgICAgICAgIGlmICh0YXJnZXQuaGFzRG9tYWluKCJHU3RyZWFtZXIiKSkKKyAgICAg
ICAgICAgIHJldHVybiB0YXJnZXQuR1N0cmVhbWVyQWdlbnQ7CisKKyAgICAgICAgcmV0dXJuIG51
bGw7CisgICAgfQorCisgICAgZXhwb3J0KG9iamVjdCkKKyAgICB7CisgICAgICAgIFdJLkZpbGVV
dGlsaXRpZXMuc2F2ZShvYmplY3Quc2F2ZURhdGEpOworICAgIH0KKworICAgIHJlbmRlclNWR0Vs
ZW1lbnQoZ3JhcGhSZXByZXNlbnRhdGlvbikKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9w
YXJzZXIucGFyc2VGcm9tU3RyaW5nKGdyYXBoUmVwcmVzZW50YXRpb24sICJpbWFnZS9zdmcreG1s
Iik7CisgICAgfQorCisgICAgLy8gR1N0cmVhbWVyT2JzZXJ2ZXIKKworICAgIGFjdGl2ZVBpcGVs
aW5lc0NoYW5nZWQoKQorICAgIHsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5l
cnMoV0kuR1N0cmVhbWVyTWFuYWdlci5FdmVudC5BY3RpdmVQaXBlbGluZXNDaGFuZ2VkLCB7fSk7
CisgICAgfQorCit9OworCitXSS5HU3RyZWFtZXJNYW5hZ2VyLkV2ZW50ID0geworICAgIEFjdGl2
ZVBpcGVsaW5lc0NoYW5nZWQ6ICJnc3RyZWFtZXItbWFuYWdlci1hY3RpdmUtcGlwZWxpbmVzLXdl
cmUtY2hhbmdlZCIsCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvRXh0ZXJuYWwvZDMuanMvTElDRU5TRSBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0V4dGVybmFsL2QzLmpzL0xJQ0VOU0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWQ5ZDg3NWVk
YjQ2OTc4NmE5YzZkYmFlNWFhZWVmOWEzYmNiMmMzMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL2QzLmpzL0xJQ0VOU0UKQEAg
LTAsMCArMSwyNyBAQAorQ29weXJpZ2h0IDIwMTAtMjAxNyBNaWtlIEJvc3RvY2sKK0FsbCByaWdo
dHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sCithcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzCisgIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorCisqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgorICBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBhdXRob3Igbm9yIHRoZSBuYW1lcyBvZiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8KKyAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3IKKyAgd3JpdHRlbiBwZXJt
aXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCisoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CitMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KK0FOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9kMy5qcy9kMy5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL2QzLmpzL2QzLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjMzYzY0MDY4OWUxMDUzNzljZmZkOGJjMzY0OTU1MzA3N2Y2YWU3NDIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9kMy5q
cy9kMy5qcwpAQCAtMCwwICsxLDE4NTAzIEBACisvLyBodHRwczovL2QzanMub3JnIHY1LjE0LjIg
Q29weXJpZ2h0IDIwMTkgTWlrZSBCb3N0b2NrCisoZnVuY3Rpb24gKGdsb2JhbCwgZmFjdG9yeSkg
ewordHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgIT09ICd1bmRl
ZmluZWQnID8gZmFjdG9yeShleHBvcnRzKSA6Cit0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24n
ICYmIGRlZmluZS5hbWQgPyBkZWZpbmUoWydleHBvcnRzJ10sIGZhY3RvcnkpIDoKKyhnbG9iYWwg
PSBnbG9iYWwgfHwgc2VsZiwgZmFjdG9yeShnbG9iYWwuZDMgPSBnbG9iYWwuZDMgfHwge30pKTsK
K30odGhpcywgZnVuY3Rpb24gKGV4cG9ydHMpIHsgJ3VzZSBzdHJpY3QnOworCit2YXIgdmVyc2lv
biA9ICI1LjE0LjIiOworCitmdW5jdGlvbiBhc2NlbmRpbmcoYSwgYikgeworICByZXR1cm4gYSA8
IGIgPyAtMSA6IGEgPiBiID8gMSA6IGEgPj0gYiA/IDAgOiBOYU47Cit9CisKK2Z1bmN0aW9uIGJp
c2VjdG9yKGNvbXBhcmUpIHsKKyAgaWYgKGNvbXBhcmUubGVuZ3RoID09PSAxKSBjb21wYXJlID0g
YXNjZW5kaW5nQ29tcGFyYXRvcihjb21wYXJlKTsKKyAgcmV0dXJuIHsKKyAgICBsZWZ0OiBmdW5j
dGlvbihhLCB4LCBsbywgaGkpIHsKKyAgICAgIGlmIChsbyA9PSBudWxsKSBsbyA9IDA7CisgICAg
ICBpZiAoaGkgPT0gbnVsbCkgaGkgPSBhLmxlbmd0aDsKKyAgICAgIHdoaWxlIChsbyA8IGhpKSB7
CisgICAgICAgIHZhciBtaWQgPSBsbyArIGhpID4+PiAxOworICAgICAgICBpZiAoY29tcGFyZShh
W21pZF0sIHgpIDwgMCkgbG8gPSBtaWQgKyAxOworICAgICAgICBlbHNlIGhpID0gbWlkOworICAg
ICAgfQorICAgICAgcmV0dXJuIGxvOworICAgIH0sCisgICAgcmlnaHQ6IGZ1bmN0aW9uKGEsIHgs
IGxvLCBoaSkgeworICAgICAgaWYgKGxvID09IG51bGwpIGxvID0gMDsKKyAgICAgIGlmIChoaSA9
PSBudWxsKSBoaSA9IGEubGVuZ3RoOworICAgICAgd2hpbGUgKGxvIDwgaGkpIHsKKyAgICAgICAg
dmFyIG1pZCA9IGxvICsgaGkgPj4+IDE7CisgICAgICAgIGlmIChjb21wYXJlKGFbbWlkXSwgeCkg
PiAwKSBoaSA9IG1pZDsKKyAgICAgICAgZWxzZSBsbyA9IG1pZCArIDE7CisgICAgICB9CisgICAg
ICByZXR1cm4gbG87CisgICAgfQorICB9OworfQorCitmdW5jdGlvbiBhc2NlbmRpbmdDb21wYXJh
dG9yKGYpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKGQsIHgpIHsKKyAgICByZXR1cm4gYXNjZW5kaW5n
KGYoZCksIHgpOworICB9OworfQorCit2YXIgYXNjZW5kaW5nQmlzZWN0ID0gYmlzZWN0b3IoYXNj
ZW5kaW5nKTsKK3ZhciBiaXNlY3RSaWdodCA9IGFzY2VuZGluZ0Jpc2VjdC5yaWdodDsKK3ZhciBi
aXNlY3RMZWZ0ID0gYXNjZW5kaW5nQmlzZWN0LmxlZnQ7CisKK2Z1bmN0aW9uIHBhaXJzKGFycmF5
LCBmKSB7CisgIGlmIChmID09IG51bGwpIGYgPSBwYWlyOworICB2YXIgaSA9IDAsIG4gPSBhcnJh
eS5sZW5ndGggLSAxLCBwID0gYXJyYXlbMF0sIHBhaXJzID0gbmV3IEFycmF5KG4gPCAwID8gMCA6
IG4pOworICB3aGlsZSAoaSA8IG4pIHBhaXJzW2ldID0gZihwLCBwID0gYXJyYXlbKytpXSk7Cisg
IHJldHVybiBwYWlyczsKK30KKworZnVuY3Rpb24gcGFpcihhLCBiKSB7CisgIHJldHVybiBbYSwg
Yl07Cit9CisKK2Z1bmN0aW9uIGNyb3NzKHZhbHVlczAsIHZhbHVlczEsIHJlZHVjZSkgeworICB2
YXIgbjAgPSB2YWx1ZXMwLmxlbmd0aCwKKyAgICAgIG4xID0gdmFsdWVzMS5sZW5ndGgsCisgICAg
ICB2YWx1ZXMgPSBuZXcgQXJyYXkobjAgKiBuMSksCisgICAgICBpMCwKKyAgICAgIGkxLAorICAg
ICAgaSwKKyAgICAgIHZhbHVlMDsKKworICBpZiAocmVkdWNlID09IG51bGwpIHJlZHVjZSA9IHBh
aXI7CisKKyAgZm9yIChpMCA9IGkgPSAwOyBpMCA8IG4wOyArK2kwKSB7CisgICAgZm9yICh2YWx1
ZTAgPSB2YWx1ZXMwW2kwXSwgaTEgPSAwOyBpMSA8IG4xOyArK2kxLCArK2kpIHsKKyAgICAgIHZh
bHVlc1tpXSA9IHJlZHVjZSh2YWx1ZTAsIHZhbHVlczFbaTFdKTsKKyAgICB9CisgIH0KKworICBy
ZXR1cm4gdmFsdWVzOworfQorCitmdW5jdGlvbiBkZXNjZW5kaW5nKGEsIGIpIHsKKyAgcmV0dXJu
IGIgPCBhID8gLTEgOiBiID4gYSA/IDEgOiBiID49IGEgPyAwIDogTmFOOworfQorCitmdW5jdGlv
biBudW1iZXIoeCkgeworICByZXR1cm4geCA9PT0gbnVsbCA/IE5hTiA6ICt4OworfQorCitmdW5j
dGlvbiB2YXJpYW5jZSh2YWx1ZXMsIHZhbHVlb2YpIHsKKyAgdmFyIG4gPSB2YWx1ZXMubGVuZ3Ro
LAorICAgICAgbSA9IDAsCisgICAgICBpID0gLTEsCisgICAgICBtZWFuID0gMCwKKyAgICAgIHZh
bHVlLAorICAgICAgZGVsdGEsCisgICAgICBzdW0gPSAwOworCisgIGlmICh2YWx1ZW9mID09IG51
bGwpIHsKKyAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgaWYgKCFpc05hTih2YWx1ZSA9IG51
bWJlcih2YWx1ZXNbaV0pKSkgeworICAgICAgICBkZWx0YSA9IHZhbHVlIC0gbWVhbjsKKyAgICAg
ICAgbWVhbiArPSBkZWx0YSAvICsrbTsKKyAgICAgICAgc3VtICs9IGRlbHRhICogKHZhbHVlIC0g
bWVhbik7CisgICAgICB9CisgICAgfQorICB9CisKKyAgZWxzZSB7CisgICAgd2hpbGUgKCsraSA8
IG4pIHsKKyAgICAgIGlmICghaXNOYU4odmFsdWUgPSBudW1iZXIodmFsdWVvZih2YWx1ZXNbaV0s
IGksIHZhbHVlcykpKSkgeworICAgICAgICBkZWx0YSA9IHZhbHVlIC0gbWVhbjsKKyAgICAgICAg
bWVhbiArPSBkZWx0YSAvICsrbTsKKyAgICAgICAgc3VtICs9IGRlbHRhICogKHZhbHVlIC0gbWVh
bik7CisgICAgICB9CisgICAgfQorICB9CisKKyAgaWYgKG0gPiAxKSByZXR1cm4gc3VtIC8gKG0g
LSAxKTsKK30KKworZnVuY3Rpb24gZGV2aWF0aW9uKGFycmF5LCBmKSB7CisgIHZhciB2ID0gdmFy
aWFuY2UoYXJyYXksIGYpOworICByZXR1cm4gdiA/IE1hdGguc3FydCh2KSA6IHY7Cit9CisKK2Z1
bmN0aW9uIGV4dGVudCh2YWx1ZXMsIHZhbHVlb2YpIHsKKyAgdmFyIG4gPSB2YWx1ZXMubGVuZ3Ro
LAorICAgICAgaSA9IC0xLAorICAgICAgdmFsdWUsCisgICAgICBtaW4sCisgICAgICBtYXg7CisK
KyAgaWYgKHZhbHVlb2YgPT0gbnVsbCkgeworICAgIHdoaWxlICgrK2kgPCBuKSB7IC8vIEZpbmQg
dGhlIGZpcnN0IGNvbXBhcmFibGUgdmFsdWUuCisgICAgICBpZiAoKHZhbHVlID0gdmFsdWVzW2ld
KSAhPSBudWxsICYmIHZhbHVlID49IHZhbHVlKSB7CisgICAgICAgIG1pbiA9IG1heCA9IHZhbHVl
OworICAgICAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBDb21wYXJlIHRoZSByZW1haW5pbmcgdmFs
dWVzLgorICAgICAgICAgIGlmICgodmFsdWUgPSB2YWx1ZXNbaV0pICE9IG51bGwpIHsKKyAgICAg
ICAgICAgIGlmIChtaW4gPiB2YWx1ZSkgbWluID0gdmFsdWU7CisgICAgICAgICAgICBpZiAobWF4
IDwgdmFsdWUpIG1heCA9IHZhbHVlOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQor
ICAgIH0KKyAgfQorCisgIGVsc2UgeworICAgIHdoaWxlICgrK2kgPCBuKSB7IC8vIEZpbmQgdGhl
IGZpcnN0IGNvbXBhcmFibGUgdmFsdWUuCisgICAgICBpZiAoKHZhbHVlID0gdmFsdWVvZih2YWx1
ZXNbaV0sIGksIHZhbHVlcykpICE9IG51bGwgJiYgdmFsdWUgPj0gdmFsdWUpIHsKKyAgICAgICAg
bWluID0gbWF4ID0gdmFsdWU7CisgICAgICAgIHdoaWxlICgrK2kgPCBuKSB7IC8vIENvbXBhcmUg
dGhlIHJlbWFpbmluZyB2YWx1ZXMuCisgICAgICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlb2YodmFs
dWVzW2ldLCBpLCB2YWx1ZXMpKSAhPSBudWxsKSB7CisgICAgICAgICAgICBpZiAobWluID4gdmFs
dWUpIG1pbiA9IHZhbHVlOworICAgICAgICAgICAgaWYgKG1heCA8IHZhbHVlKSBtYXggPSB2YWx1
ZTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1
cm4gW21pbiwgbWF4XTsKK30KKwordmFyIGFycmF5ID0gQXJyYXkucHJvdG90eXBlOworCit2YXIg
c2xpY2UgPSBhcnJheS5zbGljZTsKK3ZhciBtYXAgPSBhcnJheS5tYXA7CisKK2Z1bmN0aW9uIGNv
bnN0YW50KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB4OworICB9Owor
fQorCitmdW5jdGlvbiBpZGVudGl0eSh4KSB7CisgIHJldHVybiB4OworfQorCitmdW5jdGlvbiBz
ZXF1ZW5jZShzdGFydCwgc3RvcCwgc3RlcCkgeworICBzdGFydCA9ICtzdGFydCwgc3RvcCA9ICtz
dG9wLCBzdGVwID0gKG4gPSBhcmd1bWVudHMubGVuZ3RoKSA8IDIgPyAoc3RvcCA9IHN0YXJ0LCBz
dGFydCA9IDAsIDEpIDogbiA8IDMgPyAxIDogK3N0ZXA7CisKKyAgdmFyIGkgPSAtMSwKKyAgICAg
IG4gPSBNYXRoLm1heCgwLCBNYXRoLmNlaWwoKHN0b3AgLSBzdGFydCkgLyBzdGVwKSkgfCAwLAor
ICAgICAgcmFuZ2UgPSBuZXcgQXJyYXkobik7CisKKyAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICBy
YW5nZVtpXSA9IHN0YXJ0ICsgaSAqIHN0ZXA7CisgIH0KKworICByZXR1cm4gcmFuZ2U7Cit9CisK
K3ZhciBlMTAgPSBNYXRoLnNxcnQoNTApLAorICAgIGU1ID0gTWF0aC5zcXJ0KDEwKSwKKyAgICBl
MiA9IE1hdGguc3FydCgyKTsKKworZnVuY3Rpb24gdGlja3Moc3RhcnQsIHN0b3AsIGNvdW50KSB7
CisgIHZhciByZXZlcnNlLAorICAgICAgaSA9IC0xLAorICAgICAgbiwKKyAgICAgIHRpY2tzLAor
ICAgICAgc3RlcDsKKworICBzdG9wID0gK3N0b3AsIHN0YXJ0ID0gK3N0YXJ0LCBjb3VudCA9ICtj
b3VudDsKKyAgaWYgKHN0YXJ0ID09PSBzdG9wICYmIGNvdW50ID4gMCkgcmV0dXJuIFtzdGFydF07
CisgIGlmIChyZXZlcnNlID0gc3RvcCA8IHN0YXJ0KSBuID0gc3RhcnQsIHN0YXJ0ID0gc3RvcCwg
c3RvcCA9IG47CisgIGlmICgoc3RlcCA9IHRpY2tJbmNyZW1lbnQoc3RhcnQsIHN0b3AsIGNvdW50
KSkgPT09IDAgfHwgIWlzRmluaXRlKHN0ZXApKSByZXR1cm4gW107CisKKyAgaWYgKHN0ZXAgPiAw
KSB7CisgICAgc3RhcnQgPSBNYXRoLmNlaWwoc3RhcnQgLyBzdGVwKTsKKyAgICBzdG9wID0gTWF0
aC5mbG9vcihzdG9wIC8gc3RlcCk7CisgICAgdGlja3MgPSBuZXcgQXJyYXkobiA9IE1hdGguY2Vp
bChzdG9wIC0gc3RhcnQgKyAxKSk7CisgICAgd2hpbGUgKCsraSA8IG4pIHRpY2tzW2ldID0gKHN0
YXJ0ICsgaSkgKiBzdGVwOworICB9IGVsc2UgeworICAgIHN0YXJ0ID0gTWF0aC5mbG9vcihzdGFy
dCAqIHN0ZXApOworICAgIHN0b3AgPSBNYXRoLmNlaWwoc3RvcCAqIHN0ZXApOworICAgIHRpY2tz
ID0gbmV3IEFycmF5KG4gPSBNYXRoLmNlaWwoc3RhcnQgLSBzdG9wICsgMSkpOworICAgIHdoaWxl
ICgrK2kgPCBuKSB0aWNrc1tpXSA9IChzdGFydCAtIGkpIC8gc3RlcDsKKyAgfQorCisgIGlmIChy
ZXZlcnNlKSB0aWNrcy5yZXZlcnNlKCk7CisKKyAgcmV0dXJuIHRpY2tzOworfQorCitmdW5jdGlv
biB0aWNrSW5jcmVtZW50KHN0YXJ0LCBzdG9wLCBjb3VudCkgeworICB2YXIgc3RlcCA9IChzdG9w
IC0gc3RhcnQpIC8gTWF0aC5tYXgoMCwgY291bnQpLAorICAgICAgcG93ZXIgPSBNYXRoLmZsb29y
KE1hdGgubG9nKHN0ZXApIC8gTWF0aC5MTjEwKSwKKyAgICAgIGVycm9yID0gc3RlcCAvIE1hdGgu
cG93KDEwLCBwb3dlcik7CisgIHJldHVybiBwb3dlciA+PSAwCisgICAgICA/IChlcnJvciA+PSBl
MTAgPyAxMCA6IGVycm9yID49IGU1ID8gNSA6IGVycm9yID49IGUyID8gMiA6IDEpICogTWF0aC5w
b3coMTAsIHBvd2VyKQorICAgICAgOiAtTWF0aC5wb3coMTAsIC1wb3dlcikgLyAoZXJyb3IgPj0g
ZTEwID8gMTAgOiBlcnJvciA+PSBlNSA/IDUgOiBlcnJvciA+PSBlMiA/IDIgOiAxKTsKK30KKwor
ZnVuY3Rpb24gdGlja1N0ZXAoc3RhcnQsIHN0b3AsIGNvdW50KSB7CisgIHZhciBzdGVwMCA9IE1h
dGguYWJzKHN0b3AgLSBzdGFydCkgLyBNYXRoLm1heCgwLCBjb3VudCksCisgICAgICBzdGVwMSA9
IE1hdGgucG93KDEwLCBNYXRoLmZsb29yKE1hdGgubG9nKHN0ZXAwKSAvIE1hdGguTE4xMCkpLAor
ICAgICAgZXJyb3IgPSBzdGVwMCAvIHN0ZXAxOworICBpZiAoZXJyb3IgPj0gZTEwKSBzdGVwMSAq
PSAxMDsKKyAgZWxzZSBpZiAoZXJyb3IgPj0gZTUpIHN0ZXAxICo9IDU7CisgIGVsc2UgaWYgKGVy
cm9yID49IGUyKSBzdGVwMSAqPSAyOworICByZXR1cm4gc3RvcCA8IHN0YXJ0ID8gLXN0ZXAxIDog
c3RlcDE7Cit9CisKK2Z1bmN0aW9uIHRocmVzaG9sZFN0dXJnZXModmFsdWVzKSB7CisgIHJldHVy
biBNYXRoLmNlaWwoTWF0aC5sb2codmFsdWVzLmxlbmd0aCkgLyBNYXRoLkxOMikgKyAxOworfQor
CitmdW5jdGlvbiBoaXN0b2dyYW0oKSB7CisgIHZhciB2YWx1ZSA9IGlkZW50aXR5LAorICAgICAg
ZG9tYWluID0gZXh0ZW50LAorICAgICAgdGhyZXNob2xkID0gdGhyZXNob2xkU3R1cmdlczsKKwor
ICBmdW5jdGlvbiBoaXN0b2dyYW0oZGF0YSkgeworICAgIHZhciBpLAorICAgICAgICBuID0gZGF0
YS5sZW5ndGgsCisgICAgICAgIHgsCisgICAgICAgIHZhbHVlcyA9IG5ldyBBcnJheShuKTsKKwor
ICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIHZhbHVlc1tpXSA9IHZhbHVlKGRh
dGFbaV0sIGksIGRhdGEpOworICAgIH0KKworICAgIHZhciB4eiA9IGRvbWFpbih2YWx1ZXMpLAor
ICAgICAgICB4MCA9IHh6WzBdLAorICAgICAgICB4MSA9IHh6WzFdLAorICAgICAgICB0eiA9IHRo
cmVzaG9sZCh2YWx1ZXMsIHgwLCB4MSk7CisKKyAgICAvLyBDb252ZXJ0IG51bWJlciBvZiB0aHJl
c2hvbGRzIGludG8gdW5pZm9ybSB0aHJlc2hvbGRzLgorICAgIGlmICghQXJyYXkuaXNBcnJheSh0
eikpIHsKKyAgICAgIHR6ID0gdGlja1N0ZXAoeDAsIHgxLCB0eik7CisgICAgICB0eiA9IHNlcXVl
bmNlKE1hdGguY2VpbCh4MCAvIHR6KSAqIHR6LCB4MSwgdHopOyAvLyBleGNsdXNpdmUKKyAgICB9
CisKKyAgICAvLyBSZW1vdmUgYW55IHRocmVzaG9sZHMgb3V0c2lkZSB0aGUgZG9tYWluLgorICAg
IHZhciBtID0gdHoubGVuZ3RoOworICAgIHdoaWxlICh0elswXSA8PSB4MCkgdHouc2hpZnQoKSwg
LS1tOworICAgIHdoaWxlICh0elttIC0gMV0gPiB4MSkgdHoucG9wKCksIC0tbTsKKworICAgIHZh
ciBiaW5zID0gbmV3IEFycmF5KG0gKyAxKSwKKyAgICAgICAgYmluOworCisgICAgLy8gSW5pdGlh
bGl6ZSBiaW5zLgorICAgIGZvciAoaSA9IDA7IGkgPD0gbTsgKytpKSB7CisgICAgICBiaW4gPSBi
aW5zW2ldID0gW107CisgICAgICBiaW4ueDAgPSBpID4gMCA/IHR6W2kgLSAxXSA6IHgwOworICAg
ICAgYmluLngxID0gaSA8IG0gPyB0eltpXSA6IHgxOworICAgIH0KKworICAgIC8vIEFzc2lnbiBk
YXRhIHRvIGJpbnMgYnkgdmFsdWUsIGlnbm9yaW5nIGFueSBvdXRzaWRlIHRoZSBkb21haW4uCisg
ICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgeCA9IHZhbHVlc1tpXTsKKyAgICAg
IGlmICh4MCA8PSB4ICYmIHggPD0geDEpIHsKKyAgICAgICAgYmluc1tiaXNlY3RSaWdodCh0eiwg
eCwgMCwgbSldLnB1c2goZGF0YVtpXSk7CisgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGJp
bnM7CisgIH0KKworICBoaXN0b2dyYW0udmFsdWUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAodmFsdWUgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8g
OiBjb25zdGFudChfKSwgaGlzdG9ncmFtKSA6IHZhbHVlOworICB9OworCisgIGhpc3RvZ3JhbS5k
b21haW4gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZG9t
YWluID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQoW19bMF0sIF9bMV1d
KSwgaGlzdG9ncmFtKSA6IGRvbWFpbjsKKyAgfTsKKworICBoaXN0b2dyYW0udGhyZXNob2xkcyA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0aHJlc2hvbGQg
PSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBBcnJheS5pc0FycmF5KF8pID8gY29uc3Rh
bnQoc2xpY2UuY2FsbChfKSkgOiBjb25zdGFudChfKSwgaGlzdG9ncmFtKSA6IHRocmVzaG9sZDsK
KyAgfTsKKworICByZXR1cm4gaGlzdG9ncmFtOworfQorCitmdW5jdGlvbiB0aHJlc2hvbGQodmFs
dWVzLCBwLCB2YWx1ZW9mKSB7CisgIGlmICh2YWx1ZW9mID09IG51bGwpIHZhbHVlb2YgPSBudW1i
ZXI7CisgIGlmICghKG4gPSB2YWx1ZXMubGVuZ3RoKSkgcmV0dXJuOworICBpZiAoKHAgPSArcCkg
PD0gMCB8fCBuIDwgMikgcmV0dXJuICt2YWx1ZW9mKHZhbHVlc1swXSwgMCwgdmFsdWVzKTsKKyAg
aWYgKHAgPj0gMSkgcmV0dXJuICt2YWx1ZW9mKHZhbHVlc1tuIC0gMV0sIG4gLSAxLCB2YWx1ZXMp
OworICB2YXIgbiwKKyAgICAgIGkgPSAobiAtIDEpICogcCwKKyAgICAgIGkwID0gTWF0aC5mbG9v
cihpKSwKKyAgICAgIHZhbHVlMCA9ICt2YWx1ZW9mKHZhbHVlc1tpMF0sIGkwLCB2YWx1ZXMpLAor
ICAgICAgdmFsdWUxID0gK3ZhbHVlb2YodmFsdWVzW2kwICsgMV0sIGkwICsgMSwgdmFsdWVzKTsK
KyAgcmV0dXJuIHZhbHVlMCArICh2YWx1ZTEgLSB2YWx1ZTApICogKGkgLSBpMCk7Cit9CisKK2Z1
bmN0aW9uIGZyZWVkbWFuRGlhY29uaXModmFsdWVzLCBtaW4sIG1heCkgeworICB2YWx1ZXMgPSBt
YXAuY2FsbCh2YWx1ZXMsIG51bWJlcikuc29ydChhc2NlbmRpbmcpOworICByZXR1cm4gTWF0aC5j
ZWlsKChtYXggLSBtaW4pIC8gKDIgKiAodGhyZXNob2xkKHZhbHVlcywgMC43NSkgLSB0aHJlc2hv
bGQodmFsdWVzLCAwLjI1KSkgKiBNYXRoLnBvdyh2YWx1ZXMubGVuZ3RoLCAtMSAvIDMpKSk7Cit9
CisKK2Z1bmN0aW9uIHNjb3R0KHZhbHVlcywgbWluLCBtYXgpIHsKKyAgcmV0dXJuIE1hdGguY2Vp
bCgobWF4IC0gbWluKSAvICgzLjUgKiBkZXZpYXRpb24odmFsdWVzKSAqIE1hdGgucG93KHZhbHVl
cy5sZW5ndGgsIC0xIC8gMykpKTsKK30KKworZnVuY3Rpb24gbWF4KHZhbHVlcywgdmFsdWVvZikg
eworICB2YXIgbiA9IHZhbHVlcy5sZW5ndGgsCisgICAgICBpID0gLTEsCisgICAgICB2YWx1ZSwK
KyAgICAgIG1heDsKKworICBpZiAodmFsdWVvZiA9PSBudWxsKSB7CisgICAgd2hpbGUgKCsraSA8
IG4pIHsgLy8gRmluZCB0aGUgZmlyc3QgY29tcGFyYWJsZSB2YWx1ZS4KKyAgICAgIGlmICgodmFs
dWUgPSB2YWx1ZXNbaV0pICE9IG51bGwgJiYgdmFsdWUgPj0gdmFsdWUpIHsKKyAgICAgICAgbWF4
ID0gdmFsdWU7CisgICAgICAgIHdoaWxlICgrK2kgPCBuKSB7IC8vIENvbXBhcmUgdGhlIHJlbWFp
bmluZyB2YWx1ZXMuCisgICAgICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlc1tpXSkgIT0gbnVsbCAm
JiB2YWx1ZSA+IG1heCkgeworICAgICAgICAgICAgbWF4ID0gdmFsdWU7CisgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9CisKKyAgZWxzZSB7CisgICAgd2hpbGUgKCsr
aSA8IG4pIHsgLy8gRmluZCB0aGUgZmlyc3QgY29tcGFyYWJsZSB2YWx1ZS4KKyAgICAgIGlmICgo
dmFsdWUgPSB2YWx1ZW9mKHZhbHVlc1tpXSwgaSwgdmFsdWVzKSkgIT0gbnVsbCAmJiB2YWx1ZSA+
PSB2YWx1ZSkgeworICAgICAgICBtYXggPSB2YWx1ZTsKKyAgICAgICAgd2hpbGUgKCsraSA8IG4p
IHsgLy8gQ29tcGFyZSB0aGUgcmVtYWluaW5nIHZhbHVlcy4KKyAgICAgICAgICBpZiAoKHZhbHVl
ID0gdmFsdWVvZih2YWx1ZXNbaV0sIGksIHZhbHVlcykpICE9IG51bGwgJiYgdmFsdWUgPiBtYXgp
IHsKKyAgICAgICAgICAgIG1heCA9IHZhbHVlOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
ICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBtYXg7Cit9CisKK2Z1bmN0aW9uIG1lYW4odmFs
dWVzLCB2YWx1ZW9mKSB7CisgIHZhciBuID0gdmFsdWVzLmxlbmd0aCwKKyAgICAgIG0gPSBuLAor
ICAgICAgaSA9IC0xLAorICAgICAgdmFsdWUsCisgICAgICBzdW0gPSAwOworCisgIGlmICh2YWx1
ZW9mID09IG51bGwpIHsKKyAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgaWYgKCFpc05hTih2
YWx1ZSA9IG51bWJlcih2YWx1ZXNbaV0pKSkgc3VtICs9IHZhbHVlOworICAgICAgZWxzZSAtLW07
CisgICAgfQorICB9CisKKyAgZWxzZSB7CisgICAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIGlm
ICghaXNOYU4odmFsdWUgPSBudW1iZXIodmFsdWVvZih2YWx1ZXNbaV0sIGksIHZhbHVlcykpKSkg
c3VtICs9IHZhbHVlOworICAgICAgZWxzZSAtLW07CisgICAgfQorICB9CisKKyAgaWYgKG0pIHJl
dHVybiBzdW0gLyBtOworfQorCitmdW5jdGlvbiBtZWRpYW4odmFsdWVzLCB2YWx1ZW9mKSB7Cisg
IHZhciBuID0gdmFsdWVzLmxlbmd0aCwKKyAgICAgIGkgPSAtMSwKKyAgICAgIHZhbHVlLAorICAg
ICAgbnVtYmVycyA9IFtdOworCisgIGlmICh2YWx1ZW9mID09IG51bGwpIHsKKyAgICB3aGlsZSAo
KytpIDwgbikgeworICAgICAgaWYgKCFpc05hTih2YWx1ZSA9IG51bWJlcih2YWx1ZXNbaV0pKSkg
eworICAgICAgICBudW1iZXJzLnB1c2godmFsdWUpOworICAgICAgfQorICAgIH0KKyAgfQorCisg
IGVsc2UgeworICAgIHdoaWxlICgrK2kgPCBuKSB7CisgICAgICBpZiAoIWlzTmFOKHZhbHVlID0g
bnVtYmVyKHZhbHVlb2YodmFsdWVzW2ldLCBpLCB2YWx1ZXMpKSkpIHsKKyAgICAgICAgbnVtYmVy
cy5wdXNoKHZhbHVlKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gdGhyZXNob2xk
KG51bWJlcnMuc29ydChhc2NlbmRpbmcpLCAwLjUpOworfQorCitmdW5jdGlvbiBtZXJnZShhcnJh
eXMpIHsKKyAgdmFyIG4gPSBhcnJheXMubGVuZ3RoLAorICAgICAgbSwKKyAgICAgIGkgPSAtMSwK
KyAgICAgIGogPSAwLAorICAgICAgbWVyZ2VkLAorICAgICAgYXJyYXk7CisKKyAgd2hpbGUgKCsr
aSA8IG4pIGogKz0gYXJyYXlzW2ldLmxlbmd0aDsKKyAgbWVyZ2VkID0gbmV3IEFycmF5KGopOwor
CisgIHdoaWxlICgtLW4gPj0gMCkgeworICAgIGFycmF5ID0gYXJyYXlzW25dOworICAgIG0gPSBh
cnJheS5sZW5ndGg7CisgICAgd2hpbGUgKC0tbSA+PSAwKSB7CisgICAgICBtZXJnZWRbLS1qXSA9
IGFycmF5W21dOworICAgIH0KKyAgfQorCisgIHJldHVybiBtZXJnZWQ7Cit9CisKK2Z1bmN0aW9u
IG1pbih2YWx1ZXMsIHZhbHVlb2YpIHsKKyAgdmFyIG4gPSB2YWx1ZXMubGVuZ3RoLAorICAgICAg
aSA9IC0xLAorICAgICAgdmFsdWUsCisgICAgICBtaW47CisKKyAgaWYgKHZhbHVlb2YgPT0gbnVs
bCkgeworICAgIHdoaWxlICgrK2kgPCBuKSB7IC8vIEZpbmQgdGhlIGZpcnN0IGNvbXBhcmFibGUg
dmFsdWUuCisgICAgICBpZiAoKHZhbHVlID0gdmFsdWVzW2ldKSAhPSBudWxsICYmIHZhbHVlID49
IHZhbHVlKSB7CisgICAgICAgIG1pbiA9IHZhbHVlOworICAgICAgICB3aGlsZSAoKytpIDwgbikg
eyAvLyBDb21wYXJlIHRoZSByZW1haW5pbmcgdmFsdWVzLgorICAgICAgICAgIGlmICgodmFsdWUg
PSB2YWx1ZXNbaV0pICE9IG51bGwgJiYgbWluID4gdmFsdWUpIHsKKyAgICAgICAgICAgIG1pbiA9
IHZhbHVlOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKyAgfQorCisg
IGVsc2UgeworICAgIHdoaWxlICgrK2kgPCBuKSB7IC8vIEZpbmQgdGhlIGZpcnN0IGNvbXBhcmFi
bGUgdmFsdWUuCisgICAgICBpZiAoKHZhbHVlID0gdmFsdWVvZih2YWx1ZXNbaV0sIGksIHZhbHVl
cykpICE9IG51bGwgJiYgdmFsdWUgPj0gdmFsdWUpIHsKKyAgICAgICAgbWluID0gdmFsdWU7Cisg
ICAgICAgIHdoaWxlICgrK2kgPCBuKSB7IC8vIENvbXBhcmUgdGhlIHJlbWFpbmluZyB2YWx1ZXMu
CisgICAgICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlb2YodmFsdWVzW2ldLCBpLCB2YWx1ZXMpKSAh
PSBudWxsICYmIG1pbiA+IHZhbHVlKSB7CisgICAgICAgICAgICBtaW4gPSB2YWx1ZTsKKyAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gbWluOwor
fQorCitmdW5jdGlvbiBwZXJtdXRlKGFycmF5LCBpbmRleGVzKSB7CisgIHZhciBpID0gaW5kZXhl
cy5sZW5ndGgsIHBlcm11dGVzID0gbmV3IEFycmF5KGkpOworICB3aGlsZSAoaS0tKSBwZXJtdXRl
c1tpXSA9IGFycmF5W2luZGV4ZXNbaV1dOworICByZXR1cm4gcGVybXV0ZXM7Cit9CisKK2Z1bmN0
aW9uIHNjYW4odmFsdWVzLCBjb21wYXJlKSB7CisgIGlmICghKG4gPSB2YWx1ZXMubGVuZ3RoKSkg
cmV0dXJuOworICB2YXIgbiwKKyAgICAgIGkgPSAwLAorICAgICAgaiA9IDAsCisgICAgICB4aSwK
KyAgICAgIHhqID0gdmFsdWVzW2pdOworCisgIGlmIChjb21wYXJlID09IG51bGwpIGNvbXBhcmUg
PSBhc2NlbmRpbmc7CisKKyAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICBpZiAoY29tcGFyZSh4aSA9
IHZhbHVlc1tpXSwgeGopIDwgMCB8fCBjb21wYXJlKHhqLCB4aikgIT09IDApIHsKKyAgICAgIHhq
ID0geGksIGogPSBpOworICAgIH0KKyAgfQorCisgIGlmIChjb21wYXJlKHhqLCB4aikgPT09IDAp
IHJldHVybiBqOworfQorCitmdW5jdGlvbiBzaHVmZmxlKGFycmF5LCBpMCwgaTEpIHsKKyAgdmFy
IG0gPSAoaTEgPT0gbnVsbCA/IGFycmF5Lmxlbmd0aCA6IGkxKSAtIChpMCA9IGkwID09IG51bGwg
PyAwIDogK2kwKSwKKyAgICAgIHQsCisgICAgICBpOworCisgIHdoaWxlIChtKSB7CisgICAgaSA9
IE1hdGgucmFuZG9tKCkgKiBtLS0gfCAwOworICAgIHQgPSBhcnJheVttICsgaTBdOworICAgIGFy
cmF5W20gKyBpMF0gPSBhcnJheVtpICsgaTBdOworICAgIGFycmF5W2kgKyBpMF0gPSB0OworICB9
CisKKyAgcmV0dXJuIGFycmF5OworfQorCitmdW5jdGlvbiBzdW0odmFsdWVzLCB2YWx1ZW9mKSB7
CisgIHZhciBuID0gdmFsdWVzLmxlbmd0aCwKKyAgICAgIGkgPSAtMSwKKyAgICAgIHZhbHVlLAor
ICAgICAgc3VtID0gMDsKKworICBpZiAodmFsdWVvZiA9PSBudWxsKSB7CisgICAgd2hpbGUgKCsr
aSA8IG4pIHsKKyAgICAgIGlmICh2YWx1ZSA9ICt2YWx1ZXNbaV0pIHN1bSArPSB2YWx1ZTsgLy8g
Tm90ZTogemVybyBhbmQgbnVsbCBhcmUgZXF1aXZhbGVudC4KKyAgICB9CisgIH0KKworICBlbHNl
IHsKKyAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgaWYgKHZhbHVlID0gK3ZhbHVlb2YodmFs
dWVzW2ldLCBpLCB2YWx1ZXMpKSBzdW0gKz0gdmFsdWU7CisgICAgfQorICB9CisKKyAgcmV0dXJu
IHN1bTsKK30KKworZnVuY3Rpb24gdHJhbnNwb3NlKG1hdHJpeCkgeworICBpZiAoIShuID0gbWF0
cml4Lmxlbmd0aCkpIHJldHVybiBbXTsKKyAgZm9yICh2YXIgaSA9IC0xLCBtID0gbWluKG1hdHJp
eCwgbGVuZ3RoKSwgdHJhbnNwb3NlID0gbmV3IEFycmF5KG0pOyArK2kgPCBtOykgeworICAgIGZv
ciAodmFyIGogPSAtMSwgbiwgcm93ID0gdHJhbnNwb3NlW2ldID0gbmV3IEFycmF5KG4pOyArK2og
PCBuOykgeworICAgICAgcm93W2pdID0gbWF0cml4W2pdW2ldOworICAgIH0KKyAgfQorICByZXR1
cm4gdHJhbnNwb3NlOworfQorCitmdW5jdGlvbiBsZW5ndGgoZCkgeworICByZXR1cm4gZC5sZW5n
dGg7Cit9CisKK2Z1bmN0aW9uIHppcCgpIHsKKyAgcmV0dXJuIHRyYW5zcG9zZShhcmd1bWVudHMp
OworfQorCit2YXIgc2xpY2UkMSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsKKworZnVuY3Rpb24g
aWRlbnRpdHkkMSh4KSB7CisgIHJldHVybiB4OworfQorCit2YXIgdG9wID0gMSwKKyAgICByaWdo
dCA9IDIsCisgICAgYm90dG9tID0gMywKKyAgICBsZWZ0ID0gNCwKKyAgICBlcHNpbG9uID0gMWUt
NjsKKworZnVuY3Rpb24gdHJhbnNsYXRlWCh4KSB7CisgIHJldHVybiAidHJhbnNsYXRlKCIgKyAo
eCArIDAuNSkgKyAiLDApIjsKK30KKworZnVuY3Rpb24gdHJhbnNsYXRlWSh5KSB7CisgIHJldHVy
biAidHJhbnNsYXRlKDAsIiArICh5ICsgMC41KSArICIpIjsKK30KKworZnVuY3Rpb24gbnVtYmVy
JDEoc2NhbGUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKGQpIHsKKyAgICByZXR1cm4gK3NjYWxlKGQp
OworICB9OworfQorCitmdW5jdGlvbiBjZW50ZXIoc2NhbGUpIHsKKyAgdmFyIG9mZnNldCA9IE1h
dGgubWF4KDAsIHNjYWxlLmJhbmR3aWR0aCgpIC0gMSkgLyAyOyAvLyBBZGp1c3QgZm9yIDAuNXB4
IG9mZnNldC4KKyAgaWYgKHNjYWxlLnJvdW5kKCkpIG9mZnNldCA9IE1hdGgucm91bmQob2Zmc2V0
KTsKKyAgcmV0dXJuIGZ1bmN0aW9uKGQpIHsKKyAgICByZXR1cm4gK3NjYWxlKGQpICsgb2Zmc2V0
OworICB9OworfQorCitmdW5jdGlvbiBlbnRlcmluZygpIHsKKyAgcmV0dXJuICF0aGlzLl9fYXhp
czsKK30KKworZnVuY3Rpb24gYXhpcyhvcmllbnQsIHNjYWxlKSB7CisgIHZhciB0aWNrQXJndW1l
bnRzID0gW10sCisgICAgICB0aWNrVmFsdWVzID0gbnVsbCwKKyAgICAgIHRpY2tGb3JtYXQgPSBu
dWxsLAorICAgICAgdGlja1NpemVJbm5lciA9IDYsCisgICAgICB0aWNrU2l6ZU91dGVyID0gNiwK
KyAgICAgIHRpY2tQYWRkaW5nID0gMywKKyAgICAgIGsgPSBvcmllbnQgPT09IHRvcCB8fCBvcmll
bnQgPT09IGxlZnQgPyAtMSA6IDEsCisgICAgICB4ID0gb3JpZW50ID09PSBsZWZ0IHx8IG9yaWVu
dCA9PT0gcmlnaHQgPyAieCIgOiAieSIsCisgICAgICB0cmFuc2Zvcm0gPSBvcmllbnQgPT09IHRv
cCB8fCBvcmllbnQgPT09IGJvdHRvbSA/IHRyYW5zbGF0ZVggOiB0cmFuc2xhdGVZOworCisgIGZ1
bmN0aW9uIGF4aXMoY29udGV4dCkgeworICAgIHZhciB2YWx1ZXMgPSB0aWNrVmFsdWVzID09IG51
bGwgPyAoc2NhbGUudGlja3MgPyBzY2FsZS50aWNrcy5hcHBseShzY2FsZSwgdGlja0FyZ3VtZW50
cykgOiBzY2FsZS5kb21haW4oKSkgOiB0aWNrVmFsdWVzLAorICAgICAgICBmb3JtYXQgPSB0aWNr
Rm9ybWF0ID09IG51bGwgPyAoc2NhbGUudGlja0Zvcm1hdCA/IHNjYWxlLnRpY2tGb3JtYXQuYXBw
bHkoc2NhbGUsIHRpY2tBcmd1bWVudHMpIDogaWRlbnRpdHkkMSkgOiB0aWNrRm9ybWF0LAorICAg
ICAgICBzcGFjaW5nID0gTWF0aC5tYXgodGlja1NpemVJbm5lciwgMCkgKyB0aWNrUGFkZGluZywK
KyAgICAgICAgcmFuZ2UgPSBzY2FsZS5yYW5nZSgpLAorICAgICAgICByYW5nZTAgPSArcmFuZ2Vb
MF0gKyAwLjUsCisgICAgICAgIHJhbmdlMSA9ICtyYW5nZVtyYW5nZS5sZW5ndGggLSAxXSArIDAu
NSwKKyAgICAgICAgcG9zaXRpb24gPSAoc2NhbGUuYmFuZHdpZHRoID8gY2VudGVyIDogbnVtYmVy
JDEpKHNjYWxlLmNvcHkoKSksCisgICAgICAgIHNlbGVjdGlvbiA9IGNvbnRleHQuc2VsZWN0aW9u
ID8gY29udGV4dC5zZWxlY3Rpb24oKSA6IGNvbnRleHQsCisgICAgICAgIHBhdGggPSBzZWxlY3Rp
b24uc2VsZWN0QWxsKCIuZG9tYWluIikuZGF0YShbbnVsbF0pLAorICAgICAgICB0aWNrID0gc2Vs
ZWN0aW9uLnNlbGVjdEFsbCgiLnRpY2siKS5kYXRhKHZhbHVlcywgc2NhbGUpLm9yZGVyKCksCisg
ICAgICAgIHRpY2tFeGl0ID0gdGljay5leGl0KCksCisgICAgICAgIHRpY2tFbnRlciA9IHRpY2su
ZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsICJ0aWNrIiksCisgICAgICAgIGxpbmUg
PSB0aWNrLnNlbGVjdCgibGluZSIpLAorICAgICAgICB0ZXh0ID0gdGljay5zZWxlY3QoInRleHQi
KTsKKworICAgIHBhdGggPSBwYXRoLm1lcmdlKHBhdGguZW50ZXIoKS5pbnNlcnQoInBhdGgiLCAi
LnRpY2siKQorICAgICAgICAuYXR0cigiY2xhc3MiLCAiZG9tYWluIikKKyAgICAgICAgLmF0dHIo
InN0cm9rZSIsICJjdXJyZW50Q29sb3IiKSk7CisKKyAgICB0aWNrID0gdGljay5tZXJnZSh0aWNr
RW50ZXIpOworCisgICAgbGluZSA9IGxpbmUubWVyZ2UodGlja0VudGVyLmFwcGVuZCgibGluZSIp
CisgICAgICAgIC5hdHRyKCJzdHJva2UiLCAiY3VycmVudENvbG9yIikKKyAgICAgICAgLmF0dHIo
eCArICIyIiwgayAqIHRpY2tTaXplSW5uZXIpKTsKKworICAgIHRleHQgPSB0ZXh0Lm1lcmdlKHRp
Y2tFbnRlci5hcHBlbmQoInRleHQiKQorICAgICAgICAuYXR0cigiZmlsbCIsICJjdXJyZW50Q29s
b3IiKQorICAgICAgICAuYXR0cih4LCBrICogc3BhY2luZykKKyAgICAgICAgLmF0dHIoImR5Iiwg
b3JpZW50ID09PSB0b3AgPyAiMGVtIiA6IG9yaWVudCA9PT0gYm90dG9tID8gIjAuNzFlbSIgOiAi
MC4zMmVtIikpOworCisgICAgaWYgKGNvbnRleHQgIT09IHNlbGVjdGlvbikgeworICAgICAgcGF0
aCA9IHBhdGgudHJhbnNpdGlvbihjb250ZXh0KTsKKyAgICAgIHRpY2sgPSB0aWNrLnRyYW5zaXRp
b24oY29udGV4dCk7CisgICAgICBsaW5lID0gbGluZS50cmFuc2l0aW9uKGNvbnRleHQpOworICAg
ICAgdGV4dCA9IHRleHQudHJhbnNpdGlvbihjb250ZXh0KTsKKworICAgICAgdGlja0V4aXQgPSB0
aWNrRXhpdC50cmFuc2l0aW9uKGNvbnRleHQpCisgICAgICAgICAgLmF0dHIoIm9wYWNpdHkiLCBl
cHNpbG9uKQorICAgICAgICAgIC5hdHRyKCJ0cmFuc2Zvcm0iLCBmdW5jdGlvbihkKSB7IHJldHVy
biBpc0Zpbml0ZShkID0gcG9zaXRpb24oZCkpID8gdHJhbnNmb3JtKGQpIDogdGhpcy5nZXRBdHRy
aWJ1dGUoInRyYW5zZm9ybSIpOyB9KTsKKworICAgICAgdGlja0VudGVyCisgICAgICAgICAgLmF0
dHIoIm9wYWNpdHkiLCBlcHNpbG9uKQorICAgICAgICAgIC5hdHRyKCJ0cmFuc2Zvcm0iLCBmdW5j
dGlvbihkKSB7IHZhciBwID0gdGhpcy5wYXJlbnROb2RlLl9fYXhpczsgcmV0dXJuIHRyYW5zZm9y
bShwICYmIGlzRmluaXRlKHAgPSBwKGQpKSA/IHAgOiBwb3NpdGlvbihkKSk7IH0pOworICAgIH0K
KworICAgIHRpY2tFeGl0LnJlbW92ZSgpOworCisgICAgcGF0aAorICAgICAgICAuYXR0cigiZCIs
IG9yaWVudCA9PT0gbGVmdCB8fCBvcmllbnQgPT0gcmlnaHQKKyAgICAgICAgICAgID8gKHRpY2tT
aXplT3V0ZXIgPyAiTSIgKyBrICogdGlja1NpemVPdXRlciArICIsIiArIHJhbmdlMCArICJIMC41
ViIgKyByYW5nZTEgKyAiSCIgKyBrICogdGlja1NpemVPdXRlciA6ICJNMC41LCIgKyByYW5nZTAg
KyAiViIgKyByYW5nZTEpCisgICAgICAgICAgICA6ICh0aWNrU2l6ZU91dGVyID8gIk0iICsgcmFu
Z2UwICsgIiwiICsgayAqIHRpY2tTaXplT3V0ZXIgKyAiVjAuNUgiICsgcmFuZ2UxICsgIlYiICsg
ayAqIHRpY2tTaXplT3V0ZXIgOiAiTSIgKyByYW5nZTAgKyAiLDAuNUgiICsgcmFuZ2UxKSk7CisK
KyAgICB0aWNrCisgICAgICAgIC5hdHRyKCJvcGFjaXR5IiwgMSkKKyAgICAgICAgLmF0dHIoInRy
YW5zZm9ybSIsIGZ1bmN0aW9uKGQpIHsgcmV0dXJuIHRyYW5zZm9ybShwb3NpdGlvbihkKSk7IH0p
OworCisgICAgbGluZQorICAgICAgICAuYXR0cih4ICsgIjIiLCBrICogdGlja1NpemVJbm5lcik7
CisKKyAgICB0ZXh0CisgICAgICAgIC5hdHRyKHgsIGsgKiBzcGFjaW5nKQorICAgICAgICAudGV4
dChmb3JtYXQpOworCisgICAgc2VsZWN0aW9uLmZpbHRlcihlbnRlcmluZykKKyAgICAgICAgLmF0
dHIoImZpbGwiLCAibm9uZSIpCisgICAgICAgIC5hdHRyKCJmb250LXNpemUiLCAxMCkKKyAgICAg
ICAgLmF0dHIoImZvbnQtZmFtaWx5IiwgInNhbnMtc2VyaWYiKQorICAgICAgICAuYXR0cigidGV4
dC1hbmNob3IiLCBvcmllbnQgPT09IHJpZ2h0ID8gInN0YXJ0IiA6IG9yaWVudCA9PT0gbGVmdCA/
ICJlbmQiIDogIm1pZGRsZSIpOworCisgICAgc2VsZWN0aW9uCisgICAgICAgIC5lYWNoKGZ1bmN0
aW9uKCkgeyB0aGlzLl9fYXhpcyA9IHBvc2l0aW9uOyB9KTsKKyAgfQorCisgIGF4aXMuc2NhbGUg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc2NhbGUgPSBf
LCBheGlzKSA6IHNjYWxlOworICB9OworCisgIGF4aXMudGlja3MgPSBmdW5jdGlvbigpIHsKKyAg
ICByZXR1cm4gdGlja0FyZ3VtZW50cyA9IHNsaWNlJDEuY2FsbChhcmd1bWVudHMpLCBheGlzOwor
ICB9OworCisgIGF4aXMudGlja0FyZ3VtZW50cyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/ICh0aWNrQXJndW1lbnRzID0gXyA9PSBudWxsID8gW10gOiBzbGlj
ZSQxLmNhbGwoXyksIGF4aXMpIDogdGlja0FyZ3VtZW50cy5zbGljZSgpOworICB9OworCisgIGF4
aXMudGlja1ZhbHVlcyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0
aCA/ICh0aWNrVmFsdWVzID0gXyA9PSBudWxsID8gbnVsbCA6IHNsaWNlJDEuY2FsbChfKSwgYXhp
cykgOiB0aWNrVmFsdWVzICYmIHRpY2tWYWx1ZXMuc2xpY2UoKTsKKyAgfTsKKworICBheGlzLnRp
Y2tGb3JtYXQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
dGlja0Zvcm1hdCA9IF8sIGF4aXMpIDogdGlja0Zvcm1hdDsKKyAgfTsKKworICBheGlzLnRpY2tT
aXplID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRpY2tT
aXplSW5uZXIgPSB0aWNrU2l6ZU91dGVyID0gK18sIGF4aXMpIDogdGlja1NpemVJbm5lcjsKKyAg
fTsKKworICBheGlzLnRpY2tTaXplSW5uZXIgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAodGlja1NpemVJbm5lciA9ICtfLCBheGlzKSA6IHRpY2tTaXplSW5u
ZXI7CisgIH07CisKKyAgYXhpcy50aWNrU2l6ZU91dGVyID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRpY2tTaXplT3V0ZXIgPSArXywgYXhpcykgOiB0aWNr
U2l6ZU91dGVyOworICB9OworCisgIGF4aXMudGlja1BhZGRpbmcgPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGlja1BhZGRpbmcgPSArXywgYXhpcykgOiB0
aWNrUGFkZGluZzsKKyAgfTsKKworICByZXR1cm4gYXhpczsKK30KKworZnVuY3Rpb24gYXhpc1Rv
cChzY2FsZSkgeworICByZXR1cm4gYXhpcyh0b3AsIHNjYWxlKTsKK30KKworZnVuY3Rpb24gYXhp
c1JpZ2h0KHNjYWxlKSB7CisgIHJldHVybiBheGlzKHJpZ2h0LCBzY2FsZSk7Cit9CisKK2Z1bmN0
aW9uIGF4aXNCb3R0b20oc2NhbGUpIHsKKyAgcmV0dXJuIGF4aXMoYm90dG9tLCBzY2FsZSk7Cit9
CisKK2Z1bmN0aW9uIGF4aXNMZWZ0KHNjYWxlKSB7CisgIHJldHVybiBheGlzKGxlZnQsIHNjYWxl
KTsKK30KKwordmFyIG5vb3AgPSB7dmFsdWU6IGZ1bmN0aW9uKCkge319OworCitmdW5jdGlvbiBk
aXNwYXRjaCgpIHsKKyAgZm9yICh2YXIgaSA9IDAsIG4gPSBhcmd1bWVudHMubGVuZ3RoLCBfID0g
e30sIHQ7IGkgPCBuOyArK2kpIHsKKyAgICBpZiAoISh0ID0gYXJndW1lbnRzW2ldICsgIiIpIHx8
ICh0IGluIF8pIHx8IC9bXHMuXS8udGVzdCh0KSkgdGhyb3cgbmV3IEVycm9yKCJpbGxlZ2FsIHR5
cGU6ICIgKyB0KTsKKyAgICBfW3RdID0gW107CisgIH0KKyAgcmV0dXJuIG5ldyBEaXNwYXRjaChf
KTsKK30KKworZnVuY3Rpb24gRGlzcGF0Y2goXykgeworICB0aGlzLl8gPSBfOworfQorCitmdW5j
dGlvbiBwYXJzZVR5cGVuYW1lcyh0eXBlbmFtZXMsIHR5cGVzKSB7CisgIHJldHVybiB0eXBlbmFt
ZXMudHJpbSgpLnNwbGl0KC9efFxzKy8pLm1hcChmdW5jdGlvbih0KSB7CisgICAgdmFyIG5hbWUg
PSAiIiwgaSA9IHQuaW5kZXhPZigiLiIpOworICAgIGlmIChpID49IDApIG5hbWUgPSB0LnNsaWNl
KGkgKyAxKSwgdCA9IHQuc2xpY2UoMCwgaSk7CisgICAgaWYgKHQgJiYgIXR5cGVzLmhhc093blBy
b3BlcnR5KHQpKSB0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIiArIHQpOworICAgIHJl
dHVybiB7dHlwZTogdCwgbmFtZTogbmFtZX07CisgIH0pOworfQorCitEaXNwYXRjaC5wcm90b3R5
cGUgPSBkaXNwYXRjaC5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBEaXNwYXRjaCwKKyAg
b246IGZ1bmN0aW9uKHR5cGVuYW1lLCBjYWxsYmFjaykgeworICAgIHZhciBfID0gdGhpcy5fLAor
ICAgICAgICBUID0gcGFyc2VUeXBlbmFtZXModHlwZW5hbWUgKyAiIiwgXyksCisgICAgICAgIHQs
CisgICAgICAgIGkgPSAtMSwKKyAgICAgICAgbiA9IFQubGVuZ3RoOworCisgICAgLy8gSWYgbm8g
Y2FsbGJhY2sgd2FzIHNwZWNpZmllZCwgcmV0dXJuIHRoZSBjYWxsYmFjayBvZiB0aGUgZ2l2ZW4g
dHlwZSBhbmQgbmFtZS4KKyAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHsKKyAgICAgIHdo
aWxlICgrK2kgPCBuKSBpZiAoKHQgPSAodHlwZW5hbWUgPSBUW2ldKS50eXBlKSAmJiAodCA9IGdl
dChfW3RdLCB0eXBlbmFtZS5uYW1lKSkpIHJldHVybiB0OworICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIC8vIElmIGEgdHlwZSB3YXMgc3BlY2lmaWVkLCBzZXQgdGhlIGNhbGxiYWNrIGZvciB0
aGUgZ2l2ZW4gdHlwZSBhbmQgbmFtZS4KKyAgICAvLyBPdGhlcndpc2UsIGlmIGEgbnVsbCBjYWxs
YmFjayB3YXMgc3BlY2lmaWVkLCByZW1vdmUgY2FsbGJhY2tzIG9mIHRoZSBnaXZlbiBuYW1lLgor
ICAgIGlmIChjYWxsYmFjayAhPSBudWxsICYmIHR5cGVvZiBjYWxsYmFjayAhPT0gImZ1bmN0aW9u
IikgdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrOiAiICsgY2FsbGJhY2spOworICAg
IHdoaWxlICgrK2kgPCBuKSB7CisgICAgICBpZiAodCA9ICh0eXBlbmFtZSA9IFRbaV0pLnR5cGUp
IF9bdF0gPSBzZXQoX1t0XSwgdHlwZW5hbWUubmFtZSwgY2FsbGJhY2spOworICAgICAgZWxzZSBp
ZiAoY2FsbGJhY2sgPT0gbnVsbCkgZm9yICh0IGluIF8pIF9bdF0gPSBzZXQoX1t0XSwgdHlwZW5h
bWUubmFtZSwgbnVsbCk7CisgICAgfQorCisgICAgcmV0dXJuIHRoaXM7CisgIH0sCisgIGNvcHk6
IGZ1bmN0aW9uKCkgeworICAgIHZhciBjb3B5ID0ge30sIF8gPSB0aGlzLl87CisgICAgZm9yICh2
YXIgdCBpbiBfKSBjb3B5W3RdID0gX1t0XS5zbGljZSgpOworICAgIHJldHVybiBuZXcgRGlzcGF0
Y2goY29weSk7CisgIH0sCisgIGNhbGw6IGZ1bmN0aW9uKHR5cGUsIHRoYXQpIHsKKyAgICBpZiAo
KG4gPSBhcmd1bWVudHMubGVuZ3RoIC0gMikgPiAwKSBmb3IgKHZhciBhcmdzID0gbmV3IEFycmF5
KG4pLCBpID0gMCwgbiwgdDsgaSA8IG47ICsraSkgYXJnc1tpXSA9IGFyZ3VtZW50c1tpICsgMl07
CisgICAgaWYgKCF0aGlzLl8uaGFzT3duUHJvcGVydHkodHlwZSkpIHRocm93IG5ldyBFcnJvcigi
dW5rbm93biB0eXBlOiAiICsgdHlwZSk7CisgICAgZm9yICh0ID0gdGhpcy5fW3R5cGVdLCBpID0g
MCwgbiA9IHQubGVuZ3RoOyBpIDwgbjsgKytpKSB0W2ldLnZhbHVlLmFwcGx5KHRoYXQsIGFyZ3Mp
OworICB9LAorICBhcHBseTogZnVuY3Rpb24odHlwZSwgdGhhdCwgYXJncykgeworICAgIGlmICgh
dGhpcy5fLmhhc093blByb3BlcnR5KHR5cGUpKSB0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlw
ZTogIiArIHR5cGUpOworICAgIGZvciAodmFyIHQgPSB0aGlzLl9bdHlwZV0sIGkgPSAwLCBuID0g
dC5sZW5ndGg7IGkgPCBuOyArK2kpIHRbaV0udmFsdWUuYXBwbHkodGhhdCwgYXJncyk7CisgIH0K
K307CisKK2Z1bmN0aW9uIGdldCh0eXBlLCBuYW1lKSB7CisgIGZvciAodmFyIGkgPSAwLCBuID0g
dHlwZS5sZW5ndGgsIGM7IGkgPCBuOyArK2kpIHsKKyAgICBpZiAoKGMgPSB0eXBlW2ldKS5uYW1l
ID09PSBuYW1lKSB7CisgICAgICByZXR1cm4gYy52YWx1ZTsKKyAgICB9CisgIH0KK30KKworZnVu
Y3Rpb24gc2V0KHR5cGUsIG5hbWUsIGNhbGxiYWNrKSB7CisgIGZvciAodmFyIGkgPSAwLCBuID0g
dHlwZS5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICBpZiAodHlwZVtpXS5uYW1lID09PSBuYW1l
KSB7CisgICAgICB0eXBlW2ldID0gbm9vcCwgdHlwZSA9IHR5cGUuc2xpY2UoMCwgaSkuY29uY2F0
KHR5cGUuc2xpY2UoaSArIDEpKTsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgfQorICBpZiAoY2Fs
bGJhY2sgIT0gbnVsbCkgdHlwZS5wdXNoKHtuYW1lOiBuYW1lLCB2YWx1ZTogY2FsbGJhY2t9KTsK
KyAgcmV0dXJuIHR5cGU7Cit9CisKK3ZhciB4aHRtbCA9ICJodHRwOi8vd3d3LnczLm9yZy8xOTk5
L3hodG1sIjsKKwordmFyIG5hbWVzcGFjZXMgPSB7CisgIHN2ZzogImh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnIiwKKyAgeGh0bWw6IHhodG1sLAorICB4bGluazogImh0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGxpbmsiLAorICB4bWw6ICJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3Bh
Y2UiLAorICB4bWxuczogImh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIgorfTsKKworZnVu
Y3Rpb24gbmFtZXNwYWNlKG5hbWUpIHsKKyAgdmFyIHByZWZpeCA9IG5hbWUgKz0gIiIsIGkgPSBw
cmVmaXguaW5kZXhPZigiOiIpOworICBpZiAoaSA+PSAwICYmIChwcmVmaXggPSBuYW1lLnNsaWNl
KDAsIGkpKSAhPT0gInhtbG5zIikgbmFtZSA9IG5hbWUuc2xpY2UoaSArIDEpOworICByZXR1cm4g
bmFtZXNwYWNlcy5oYXNPd25Qcm9wZXJ0eShwcmVmaXgpID8ge3NwYWNlOiBuYW1lc3BhY2VzW3By
ZWZpeF0sIGxvY2FsOiBuYW1lfSA6IG5hbWU7Cit9CisKK2Z1bmN0aW9uIGNyZWF0b3JJbmhlcml0
KG5hbWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBkb2N1bWVudCA9IHRoaXMu
b3duZXJEb2N1bWVudCwKKyAgICAgICAgdXJpID0gdGhpcy5uYW1lc3BhY2VVUkk7CisgICAgcmV0
dXJuIHVyaSA9PT0geGh0bWwgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm5hbWVzcGFjZVVS
SSA9PT0geGh0bWwKKyAgICAgICAgPyBkb2N1bWVudC5jcmVhdGVFbGVtZW50KG5hbWUpCisgICAg
ICAgIDogZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHVyaSwgbmFtZSk7CisgIH07Cit9CisKK2Z1
bmN0aW9uIGNyZWF0b3JGaXhlZChmdWxsbmFtZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7Cisg
ICAgcmV0dXJuIHRoaXMub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoZnVsbG5hbWUuc3Bh
Y2UsIGZ1bGxuYW1lLmxvY2FsKTsKKyAgfTsKK30KKworZnVuY3Rpb24gY3JlYXRvcihuYW1lKSB7
CisgIHZhciBmdWxsbmFtZSA9IG5hbWVzcGFjZShuYW1lKTsKKyAgcmV0dXJuIChmdWxsbmFtZS5s
b2NhbAorICAgICAgPyBjcmVhdG9yRml4ZWQKKyAgICAgIDogY3JlYXRvckluaGVyaXQpKGZ1bGxu
YW1lKTsKK30KKworZnVuY3Rpb24gbm9uZSgpIHt9CisKK2Z1bmN0aW9uIHNlbGVjdG9yKHNlbGVj
dG9yKSB7CisgIHJldHVybiBzZWxlY3RvciA9PSBudWxsID8gbm9uZSA6IGZ1bmN0aW9uKCkgewor
ICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpOworICB9OworfQorCitmdW5j
dGlvbiBzZWxlY3Rpb25fc2VsZWN0KHNlbGVjdCkgeworICBpZiAodHlwZW9mIHNlbGVjdCAhPT0g
ImZ1bmN0aW9uIikgc2VsZWN0ID0gc2VsZWN0b3Ioc2VsZWN0KTsKKworICBmb3IgKHZhciBncm91
cHMgPSB0aGlzLl9ncm91cHMsIG0gPSBncm91cHMubGVuZ3RoLCBzdWJncm91cHMgPSBuZXcgQXJy
YXkobSksIGogPSAwOyBqIDwgbTsgKytqKSB7CisgICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNb
al0sIG4gPSBncm91cC5sZW5ndGgsIHN1Ymdyb3VwID0gc3ViZ3JvdXBzW2pdID0gbmV3IEFycmF5
KG4pLCBub2RlLCBzdWJub2RlLCBpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgaWYgKChub2Rl
ID0gZ3JvdXBbaV0pICYmIChzdWJub2RlID0gc2VsZWN0LmNhbGwobm9kZSwgbm9kZS5fX2RhdGFf
XywgaSwgZ3JvdXApKSkgeworICAgICAgICBpZiAoIl9fZGF0YV9fIiBpbiBub2RlKSBzdWJub2Rl
Ll9fZGF0YV9fID0gbm9kZS5fX2RhdGFfXzsKKyAgICAgICAgc3ViZ3JvdXBbaV0gPSBzdWJub2Rl
OworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBuZXcgU2VsZWN0aW9uKHN1Ymdyb3Vw
cywgdGhpcy5fcGFyZW50cyk7Cit9CisKK2Z1bmN0aW9uIGVtcHR5KCkgeworICByZXR1cm4gW107
Cit9CisKK2Z1bmN0aW9uIHNlbGVjdG9yQWxsKHNlbGVjdG9yKSB7CisgIHJldHVybiBzZWxlY3Rv
ciA9PSBudWxsID8gZW1wdHkgOiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gdGhpcy5xdWVyeVNl
bGVjdG9yQWxsKHNlbGVjdG9yKTsKKyAgfTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX3NlbGVj
dEFsbChzZWxlY3QpIHsKKyAgaWYgKHR5cGVvZiBzZWxlY3QgIT09ICJmdW5jdGlvbiIpIHNlbGVj
dCA9IHNlbGVjdG9yQWxsKHNlbGVjdCk7CisKKyAgZm9yICh2YXIgZ3JvdXBzID0gdGhpcy5fZ3Jv
dXBzLCBtID0gZ3JvdXBzLmxlbmd0aCwgc3ViZ3JvdXBzID0gW10sIHBhcmVudHMgPSBbXSwgaiA9
IDA7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdyb3Vwc1tqXSwgbiA9IGdy
b3VwLmxlbmd0aCwgbm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChub2RlID0g
Z3JvdXBbaV0pIHsKKyAgICAgICAgc3ViZ3JvdXBzLnB1c2goc2VsZWN0LmNhbGwobm9kZSwgbm9k
ZS5fX2RhdGFfXywgaSwgZ3JvdXApKTsKKyAgICAgICAgcGFyZW50cy5wdXNoKG5vZGUpOworICAg
ICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBuZXcgU2VsZWN0aW9uKHN1Ymdyb3VwcywgcGFy
ZW50cyk7Cit9CisKK2Z1bmN0aW9uIG1hdGNoZXIoc2VsZWN0b3IpIHsKKyAgcmV0dXJuIGZ1bmN0
aW9uKCkgeworICAgIHJldHVybiB0aGlzLm1hdGNoZXMoc2VsZWN0b3IpOworICB9OworfQorCitm
dW5jdGlvbiBzZWxlY3Rpb25fZmlsdGVyKG1hdGNoKSB7CisgIGlmICh0eXBlb2YgbWF0Y2ggIT09
ICJmdW5jdGlvbiIpIG1hdGNoID0gbWF0Y2hlcihtYXRjaCk7CisKKyAgZm9yICh2YXIgZ3JvdXBz
ID0gdGhpcy5fZ3JvdXBzLCBtID0gZ3JvdXBzLmxlbmd0aCwgc3ViZ3JvdXBzID0gbmV3IEFycmF5
KG0pLCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwID0gZ3JvdXBzW2pd
LCBuID0gZ3JvdXAubGVuZ3RoLCBzdWJncm91cCA9IHN1Ymdyb3Vwc1tqXSA9IFtdLCBub2RlLCBp
ID0gMDsgaSA8IG47ICsraSkgeworICAgICAgaWYgKChub2RlID0gZ3JvdXBbaV0pICYmIG1hdGNo
LmNhbGwobm9kZSwgbm9kZS5fX2RhdGFfXywgaSwgZ3JvdXApKSB7CisgICAgICAgIHN1Ymdyb3Vw
LnB1c2gobm9kZSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIG5ldyBTZWxlY3Rp
b24oc3ViZ3JvdXBzLCB0aGlzLl9wYXJlbnRzKTsKK30KKworZnVuY3Rpb24gc3BhcnNlKHVwZGF0
ZSkgeworICByZXR1cm4gbmV3IEFycmF5KHVwZGF0ZS5sZW5ndGgpOworfQorCitmdW5jdGlvbiBz
ZWxlY3Rpb25fZW50ZXIoKSB7CisgIHJldHVybiBuZXcgU2VsZWN0aW9uKHRoaXMuX2VudGVyIHx8
IHRoaXMuX2dyb3Vwcy5tYXAoc3BhcnNlKSwgdGhpcy5fcGFyZW50cyk7Cit9CisKK2Z1bmN0aW9u
IEVudGVyTm9kZShwYXJlbnQsIGRhdHVtKSB7CisgIHRoaXMub3duZXJEb2N1bWVudCA9IHBhcmVu
dC5vd25lckRvY3VtZW50OworICB0aGlzLm5hbWVzcGFjZVVSSSA9IHBhcmVudC5uYW1lc3BhY2VV
Ukk7CisgIHRoaXMuX25leHQgPSBudWxsOworICB0aGlzLl9wYXJlbnQgPSBwYXJlbnQ7CisgIHRo
aXMuX19kYXRhX18gPSBkYXR1bTsKK30KKworRW50ZXJOb2RlLnByb3RvdHlwZSA9IHsKKyAgY29u
c3RydWN0b3I6IEVudGVyTm9kZSwKKyAgYXBwZW5kQ2hpbGQ6IGZ1bmN0aW9uKGNoaWxkKSB7IHJl
dHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKGNoaWxkLCB0aGlzLl9uZXh0KTsgfSwKKyAg
aW5zZXJ0QmVmb3JlOiBmdW5jdGlvbihjaGlsZCwgbmV4dCkgeyByZXR1cm4gdGhpcy5fcGFyZW50
Lmluc2VydEJlZm9yZShjaGlsZCwgbmV4dCk7IH0sCisgIHF1ZXJ5U2VsZWN0b3I6IGZ1bmN0aW9u
KHNlbGVjdG9yKSB7IHJldHVybiB0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7
IH0sCisgIHF1ZXJ5U2VsZWN0b3JBbGw6IGZ1bmN0aW9uKHNlbGVjdG9yKSB7IHJldHVybiB0aGlz
Ll9wYXJlbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7IH0KK307CisKK2Z1bmN0aW9uIGNv
bnN0YW50JDEoeCkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHg7CisgIH07
Cit9CisKK3ZhciBrZXlQcmVmaXggPSAiJCI7IC8vIFByb3RlY3QgYWdhaW5zdCBrZXlzIGxpa2Ug
4oCcX19wcm90b19f4oCdLgorCitmdW5jdGlvbiBiaW5kSW5kZXgocGFyZW50LCBncm91cCwgZW50
ZXIsIHVwZGF0ZSwgZXhpdCwgZGF0YSkgeworICB2YXIgaSA9IDAsCisgICAgICBub2RlLAorICAg
ICAgZ3JvdXBMZW5ndGggPSBncm91cC5sZW5ndGgsCisgICAgICBkYXRhTGVuZ3RoID0gZGF0YS5s
ZW5ndGg7CisKKyAgLy8gUHV0IGFueSBub24tbnVsbCBub2RlcyB0aGF0IGZpdCBpbnRvIHVwZGF0
ZS4KKyAgLy8gUHV0IGFueSBudWxsIG5vZGVzIGludG8gZW50ZXIuCisgIC8vIFB1dCBhbnkgcmVt
YWluaW5nIGRhdGEgaW50byBlbnRlci4KKyAgZm9yICg7IGkgPCBkYXRhTGVuZ3RoOyArK2kpIHsK
KyAgICBpZiAobm9kZSA9IGdyb3VwW2ldKSB7CisgICAgICBub2RlLl9fZGF0YV9fID0gZGF0YVtp
XTsKKyAgICAgIHVwZGF0ZVtpXSA9IG5vZGU7CisgICAgfSBlbHNlIHsKKyAgICAgIGVudGVyW2ld
ID0gbmV3IEVudGVyTm9kZShwYXJlbnQsIGRhdGFbaV0pOworICAgIH0KKyAgfQorCisgIC8vIFB1
dCBhbnkgbm9uLW51bGwgbm9kZXMgdGhhdCBkb27igJl0IGZpdCBpbnRvIGV4aXQuCisgIGZvciAo
OyBpIDwgZ3JvdXBMZW5ndGg7ICsraSkgeworICAgIGlmIChub2RlID0gZ3JvdXBbaV0pIHsKKyAg
ICAgIGV4aXRbaV0gPSBub2RlOworICAgIH0KKyAgfQorfQorCitmdW5jdGlvbiBiaW5kS2V5KHBh
cmVudCwgZ3JvdXAsIGVudGVyLCB1cGRhdGUsIGV4aXQsIGRhdGEsIGtleSkgeworICB2YXIgaSwK
KyAgICAgIG5vZGUsCisgICAgICBub2RlQnlLZXlWYWx1ZSA9IHt9LAorICAgICAgZ3JvdXBMZW5n
dGggPSBncm91cC5sZW5ndGgsCisgICAgICBkYXRhTGVuZ3RoID0gZGF0YS5sZW5ndGgsCisgICAg
ICBrZXlWYWx1ZXMgPSBuZXcgQXJyYXkoZ3JvdXBMZW5ndGgpLAorICAgICAga2V5VmFsdWU7CisK
KyAgLy8gQ29tcHV0ZSB0aGUga2V5IGZvciBlYWNoIG5vZGUuCisgIC8vIElmIG11bHRpcGxlIG5v
ZGVzIGhhdmUgdGhlIHNhbWUga2V5LCB0aGUgZHVwbGljYXRlcyBhcmUgYWRkZWQgdG8gZXhpdC4K
KyAgZm9yIChpID0gMDsgaSA8IGdyb3VwTGVuZ3RoOyArK2kpIHsKKyAgICBpZiAobm9kZSA9IGdy
b3VwW2ldKSB7CisgICAgICBrZXlWYWx1ZXNbaV0gPSBrZXlWYWx1ZSA9IGtleVByZWZpeCArIGtl
eS5jYWxsKG5vZGUsIG5vZGUuX19kYXRhX18sIGksIGdyb3VwKTsKKyAgICAgIGlmIChrZXlWYWx1
ZSBpbiBub2RlQnlLZXlWYWx1ZSkgeworICAgICAgICBleGl0W2ldID0gbm9kZTsKKyAgICAgIH0g
ZWxzZSB7CisgICAgICAgIG5vZGVCeUtleVZhbHVlW2tleVZhbHVlXSA9IG5vZGU7CisgICAgICB9
CisgICAgfQorICB9CisKKyAgLy8gQ29tcHV0ZSB0aGUga2V5IGZvciBlYWNoIGRhdHVtLgorICAv
LyBJZiB0aGVyZSBhIG5vZGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMga2V5LCBqb2luIGFuZCBhZGQg
aXQgdG8gdXBkYXRlLgorICAvLyBJZiB0aGVyZSBpcyBub3QgKG9yIHRoZSBrZXkgaXMgYSBkdXBs
aWNhdGUpLCBhZGQgaXQgdG8gZW50ZXIuCisgIGZvciAoaSA9IDA7IGkgPCBkYXRhTGVuZ3RoOyAr
K2kpIHsKKyAgICBrZXlWYWx1ZSA9IGtleVByZWZpeCArIGtleS5jYWxsKHBhcmVudCwgZGF0YVtp
XSwgaSwgZGF0YSk7CisgICAgaWYgKG5vZGUgPSBub2RlQnlLZXlWYWx1ZVtrZXlWYWx1ZV0pIHsK
KyAgICAgIHVwZGF0ZVtpXSA9IG5vZGU7CisgICAgICBub2RlLl9fZGF0YV9fID0gZGF0YVtpXTsK
KyAgICAgIG5vZGVCeUtleVZhbHVlW2tleVZhbHVlXSA9IG51bGw7CisgICAgfSBlbHNlIHsKKyAg
ICAgIGVudGVyW2ldID0gbmV3IEVudGVyTm9kZShwYXJlbnQsIGRhdGFbaV0pOworICAgIH0KKyAg
fQorCisgIC8vIEFkZCBhbnkgcmVtYWluaW5nIG5vZGVzIHRoYXQgd2VyZSBub3QgYm91bmQgdG8g
ZGF0YSB0byBleGl0LgorICBmb3IgKGkgPSAwOyBpIDwgZ3JvdXBMZW5ndGg7ICsraSkgeworICAg
IGlmICgobm9kZSA9IGdyb3VwW2ldKSAmJiAobm9kZUJ5S2V5VmFsdWVba2V5VmFsdWVzW2ldXSA9
PT0gbm9kZSkpIHsKKyAgICAgIGV4aXRbaV0gPSBub2RlOworICAgIH0KKyAgfQorfQorCitmdW5j
dGlvbiBzZWxlY3Rpb25fZGF0YSh2YWx1ZSwga2V5KSB7CisgIGlmICghdmFsdWUpIHsKKyAgICBk
YXRhID0gbmV3IEFycmF5KHRoaXMuc2l6ZSgpKSwgaiA9IC0xOworICAgIHRoaXMuZWFjaChmdW5j
dGlvbihkKSB7IGRhdGFbKytqXSA9IGQ7IH0pOworICAgIHJldHVybiBkYXRhOworICB9CisKKyAg
dmFyIGJpbmQgPSBrZXkgPyBiaW5kS2V5IDogYmluZEluZGV4LAorICAgICAgcGFyZW50cyA9IHRo
aXMuX3BhcmVudHMsCisgICAgICBncm91cHMgPSB0aGlzLl9ncm91cHM7CisKKyAgaWYgKHR5cGVv
ZiB2YWx1ZSAhPT0gImZ1bmN0aW9uIikgdmFsdWUgPSBjb25zdGFudCQxKHZhbHVlKTsKKworICBm
b3IgKHZhciBtID0gZ3JvdXBzLmxlbmd0aCwgdXBkYXRlID0gbmV3IEFycmF5KG0pLCBlbnRlciA9
IG5ldyBBcnJheShtKSwgZXhpdCA9IG5ldyBBcnJheShtKSwgaiA9IDA7IGogPCBtOyArK2opIHsK
KyAgICB2YXIgcGFyZW50ID0gcGFyZW50c1tqXSwKKyAgICAgICAgZ3JvdXAgPSBncm91cHNbal0s
CisgICAgICAgIGdyb3VwTGVuZ3RoID0gZ3JvdXAubGVuZ3RoLAorICAgICAgICBkYXRhID0gdmFs
dWUuY2FsbChwYXJlbnQsIHBhcmVudCAmJiBwYXJlbnQuX19kYXRhX18sIGosIHBhcmVudHMpLAor
ICAgICAgICBkYXRhTGVuZ3RoID0gZGF0YS5sZW5ndGgsCisgICAgICAgIGVudGVyR3JvdXAgPSBl
bnRlcltqXSA9IG5ldyBBcnJheShkYXRhTGVuZ3RoKSwKKyAgICAgICAgdXBkYXRlR3JvdXAgPSB1
cGRhdGVbal0gPSBuZXcgQXJyYXkoZGF0YUxlbmd0aCksCisgICAgICAgIGV4aXRHcm91cCA9IGV4
aXRbal0gPSBuZXcgQXJyYXkoZ3JvdXBMZW5ndGgpOworCisgICAgYmluZChwYXJlbnQsIGdyb3Vw
LCBlbnRlckdyb3VwLCB1cGRhdGVHcm91cCwgZXhpdEdyb3VwLCBkYXRhLCBrZXkpOworCisgICAg
Ly8gTm93IGNvbm5lY3QgdGhlIGVudGVyIG5vZGVzIHRvIHRoZWlyIGZvbGxvd2luZyB1cGRhdGUg
bm9kZSwgc3VjaCB0aGF0CisgICAgLy8gYXBwZW5kQ2hpbGQgY2FuIGluc2VydCB0aGUgbWF0ZXJp
YWxpemVkIGVudGVyIG5vZGUgYmVmb3JlIHRoaXMgbm9kZSwKKyAgICAvLyByYXRoZXIgdGhhbiBh
dCB0aGUgZW5kIG9mIHRoZSBwYXJlbnQgbm9kZS4KKyAgICBmb3IgKHZhciBpMCA9IDAsIGkxID0g
MCwgcHJldmlvdXMsIG5leHQ7IGkwIDwgZGF0YUxlbmd0aDsgKytpMCkgeworICAgICAgaWYgKHBy
ZXZpb3VzID0gZW50ZXJHcm91cFtpMF0pIHsKKyAgICAgICAgaWYgKGkwID49IGkxKSBpMSA9IGkw
ICsgMTsKKyAgICAgICAgd2hpbGUgKCEobmV4dCA9IHVwZGF0ZUdyb3VwW2kxXSkgJiYgKytpMSA8
IGRhdGFMZW5ndGgpOworICAgICAgICBwcmV2aW91cy5fbmV4dCA9IG5leHQgfHwgbnVsbDsKKyAg
ICAgIH0KKyAgICB9CisgIH0KKworICB1cGRhdGUgPSBuZXcgU2VsZWN0aW9uKHVwZGF0ZSwgcGFy
ZW50cyk7CisgIHVwZGF0ZS5fZW50ZXIgPSBlbnRlcjsKKyAgdXBkYXRlLl9leGl0ID0gZXhpdDsK
KyAgcmV0dXJuIHVwZGF0ZTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2V4aXQoKSB7CisgIHJl
dHVybiBuZXcgU2VsZWN0aW9uKHRoaXMuX2V4aXQgfHwgdGhpcy5fZ3JvdXBzLm1hcChzcGFyc2Up
LCB0aGlzLl9wYXJlbnRzKTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2pvaW4ob25lbnRlciwg
b251cGRhdGUsIG9uZXhpdCkgeworICB2YXIgZW50ZXIgPSB0aGlzLmVudGVyKCksIHVwZGF0ZSA9
IHRoaXMsIGV4aXQgPSB0aGlzLmV4aXQoKTsKKyAgZW50ZXIgPSB0eXBlb2Ygb25lbnRlciA9PT0g
ImZ1bmN0aW9uIiA/IG9uZW50ZXIoZW50ZXIpIDogZW50ZXIuYXBwZW5kKG9uZW50ZXIgKyAiIik7
CisgIGlmIChvbnVwZGF0ZSAhPSBudWxsKSB1cGRhdGUgPSBvbnVwZGF0ZSh1cGRhdGUpOworICBp
ZiAob25leGl0ID09IG51bGwpIGV4aXQucmVtb3ZlKCk7IGVsc2Ugb25leGl0KGV4aXQpOworICBy
ZXR1cm4gZW50ZXIgJiYgdXBkYXRlID8gZW50ZXIubWVyZ2UodXBkYXRlKS5vcmRlcigpIDogdXBk
YXRlOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fbWVyZ2Uoc2VsZWN0aW9uKSB7CisKKyAgZm9y
ICh2YXIgZ3JvdXBzMCA9IHRoaXMuX2dyb3VwcywgZ3JvdXBzMSA9IHNlbGVjdGlvbi5fZ3JvdXBz
LCBtMCA9IGdyb3VwczAubGVuZ3RoLCBtMSA9IGdyb3VwczEubGVuZ3RoLCBtID0gTWF0aC5taW4o
bTAsIG0xKSwgbWVyZ2VzID0gbmV3IEFycmF5KG0wKSwgaiA9IDA7IGogPCBtOyArK2opIHsKKyAg
ICBmb3IgKHZhciBncm91cDAgPSBncm91cHMwW2pdLCBncm91cDEgPSBncm91cHMxW2pdLCBuID0g
Z3JvdXAwLmxlbmd0aCwgbWVyZ2UgPSBtZXJnZXNbal0gPSBuZXcgQXJyYXkobiksIG5vZGUsIGkg
PSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAobm9kZSA9IGdyb3VwMFtpXSB8fCBncm91cDFb
aV0pIHsKKyAgICAgICAgbWVyZ2VbaV0gPSBub2RlOworICAgICAgfQorICAgIH0KKyAgfQorCisg
IGZvciAoOyBqIDwgbTA7ICsraikgeworICAgIG1lcmdlc1tqXSA9IGdyb3VwczBbal07CisgIH0K
KworICByZXR1cm4gbmV3IFNlbGVjdGlvbihtZXJnZXMsIHRoaXMuX3BhcmVudHMpOworfQorCitm
dW5jdGlvbiBzZWxlY3Rpb25fb3JkZXIoKSB7CisKKyAgZm9yICh2YXIgZ3JvdXBzID0gdGhpcy5f
Z3JvdXBzLCBqID0gLTEsIG0gPSBncm91cHMubGVuZ3RoOyArK2ogPCBtOykgeworICAgIGZvciAo
dmFyIGdyb3VwID0gZ3JvdXBzW2pdLCBpID0gZ3JvdXAubGVuZ3RoIC0gMSwgbmV4dCA9IGdyb3Vw
W2ldLCBub2RlOyAtLWkgPj0gMDspIHsKKyAgICAgIGlmIChub2RlID0gZ3JvdXBbaV0pIHsKKyAg
ICAgICAgaWYgKG5leHQgJiYgbm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihuZXh0KSBeIDQp
IG5leHQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobm9kZSwgbmV4dCk7CisgICAgICAgIG5leHQg
PSBub2RlOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiB0aGlzOworfQorCitmdW5j
dGlvbiBzZWxlY3Rpb25fc29ydChjb21wYXJlKSB7CisgIGlmICghY29tcGFyZSkgY29tcGFyZSA9
IGFzY2VuZGluZyQxOworCisgIGZ1bmN0aW9uIGNvbXBhcmVOb2RlKGEsIGIpIHsKKyAgICByZXR1
cm4gYSAmJiBiID8gY29tcGFyZShhLl9fZGF0YV9fLCBiLl9fZGF0YV9fKSA6ICFhIC0gIWI7Cisg
IH0KKworICBmb3IgKHZhciBncm91cHMgPSB0aGlzLl9ncm91cHMsIG0gPSBncm91cHMubGVuZ3Ro
LCBzb3J0Z3JvdXBzID0gbmV3IEFycmF5KG0pLCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZv
ciAodmFyIGdyb3VwID0gZ3JvdXBzW2pdLCBuID0gZ3JvdXAubGVuZ3RoLCBzb3J0Z3JvdXAgPSBz
b3J0Z3JvdXBzW2pdID0gbmV3IEFycmF5KG4pLCBub2RlLCBpID0gMDsgaSA8IG47ICsraSkgewor
ICAgICAgaWYgKG5vZGUgPSBncm91cFtpXSkgeworICAgICAgICBzb3J0Z3JvdXBbaV0gPSBub2Rl
OworICAgICAgfQorICAgIH0KKyAgICBzb3J0Z3JvdXAuc29ydChjb21wYXJlTm9kZSk7CisgIH0K
KworICByZXR1cm4gbmV3IFNlbGVjdGlvbihzb3J0Z3JvdXBzLCB0aGlzLl9wYXJlbnRzKS5vcmRl
cigpOworfQorCitmdW5jdGlvbiBhc2NlbmRpbmckMShhLCBiKSB7CisgIHJldHVybiBhIDwgYiA/
IC0xIDogYSA+IGIgPyAxIDogYSA+PSBiID8gMCA6IE5hTjsKK30KKworZnVuY3Rpb24gc2VsZWN0
aW9uX2NhbGwoKSB7CisgIHZhciBjYWxsYmFjayA9IGFyZ3VtZW50c1swXTsKKyAgYXJndW1lbnRz
WzBdID0gdGhpczsKKyAgY2FsbGJhY2suYXBwbHkobnVsbCwgYXJndW1lbnRzKTsKKyAgcmV0dXJu
IHRoaXM7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9ub2RlcygpIHsKKyAgdmFyIG5vZGVzID0g
bmV3IEFycmF5KHRoaXMuc2l6ZSgpKSwgaSA9IC0xOworICB0aGlzLmVhY2goZnVuY3Rpb24oKSB7
IG5vZGVzWysraV0gPSB0aGlzOyB9KTsKKyAgcmV0dXJuIG5vZGVzOworfQorCitmdW5jdGlvbiBz
ZWxlY3Rpb25fbm9kZSgpIHsKKworICBmb3IgKHZhciBncm91cHMgPSB0aGlzLl9ncm91cHMsIGog
PSAwLCBtID0gZ3JvdXBzLmxlbmd0aDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3Vw
ID0gZ3JvdXBzW2pdLCBpID0gMCwgbiA9IGdyb3VwLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAg
ICAgdmFyIG5vZGUgPSBncm91cFtpXTsKKyAgICAgIGlmIChub2RlKSByZXR1cm4gbm9kZTsKKyAg
ICB9CisgIH0KKworICByZXR1cm4gbnVsbDsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX3NpemUo
KSB7CisgIHZhciBzaXplID0gMDsKKyAgdGhpcy5lYWNoKGZ1bmN0aW9uKCkgeyArK3NpemU7IH0p
OworICByZXR1cm4gc2l6ZTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2VtcHR5KCkgeworICBy
ZXR1cm4gIXRoaXMubm9kZSgpOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fZWFjaChjYWxsYmFj
aykgeworCisgIGZvciAodmFyIGdyb3VwcyA9IHRoaXMuX2dyb3VwcywgaiA9IDAsIG0gPSBncm91
cHMubGVuZ3RoOyBqIDwgbTsgKytqKSB7CisgICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNbal0s
IGkgPSAwLCBuID0gZ3JvdXAubGVuZ3RoLCBub2RlOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAo
bm9kZSA9IGdyb3VwW2ldKSBjYWxsYmFjay5jYWxsKG5vZGUsIG5vZGUuX19kYXRhX18sIGksIGdy
b3VwKTsKKyAgICB9CisgIH0KKworICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24gYXR0clJl
bW92ZShuYW1lKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLnJlbW92ZUF0dHJp
YnV0ZShuYW1lKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0clJlbW92ZU5TKGZ1bGxuYW1lKSB7
CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKGZ1bGxu
YW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGF0dHJDb25z
dGFudChuYW1lLCB2YWx1ZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5zZXRB
dHRyaWJ1dGUobmFtZSwgdmFsdWUpOworICB9OworfQorCitmdW5jdGlvbiBhdHRyQ29uc3RhbnRO
UyhmdWxsbmFtZSwgdmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXMuc2V0
QXR0cmlidXRlTlMoZnVsbG5hbWUuc3BhY2UsIGZ1bGxuYW1lLmxvY2FsLCB2YWx1ZSk7CisgIH07
Cit9CisKK2Z1bmN0aW9uIGF0dHJGdW5jdGlvbihuYW1lLCB2YWx1ZSkgeworICByZXR1cm4gZnVu
Y3Rpb24oKSB7CisgICAgdmFyIHYgPSB2YWx1ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOworICAg
IGlmICh2ID09IG51bGwpIHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpOworICAgIGVsc2UgdGhp
cy5zZXRBdHRyaWJ1dGUobmFtZSwgdik7CisgIH07Cit9CisKK2Z1bmN0aW9uIGF0dHJGdW5jdGlv
bk5TKGZ1bGxuYW1lLCB2YWx1ZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHYg
PSB2YWx1ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOworICAgIGlmICh2ID09IG51bGwpIHRoaXMu
cmVtb3ZlQXR0cmlidXRlTlMoZnVsbG5hbWUuc3BhY2UsIGZ1bGxuYW1lLmxvY2FsKTsKKyAgICBl
bHNlIHRoaXMuc2V0QXR0cmlidXRlTlMoZnVsbG5hbWUuc3BhY2UsIGZ1bGxuYW1lLmxvY2FsLCB2
KTsKKyAgfTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2F0dHIobmFtZSwgdmFsdWUpIHsKKyAg
dmFyIGZ1bGxuYW1lID0gbmFtZXNwYWNlKG5hbWUpOworCisgIGlmIChhcmd1bWVudHMubGVuZ3Ro
IDwgMikgeworICAgIHZhciBub2RlID0gdGhpcy5ub2RlKCk7CisgICAgcmV0dXJuIGZ1bGxuYW1l
LmxvY2FsCisgICAgICAgID8gbm9kZS5nZXRBdHRyaWJ1dGVOUyhmdWxsbmFtZS5zcGFjZSwgZnVs
bG5hbWUubG9jYWwpCisgICAgICAgIDogbm9kZS5nZXRBdHRyaWJ1dGUoZnVsbG5hbWUpOworICB9
CisKKyAgcmV0dXJuIHRoaXMuZWFjaCgodmFsdWUgPT0gbnVsbAorICAgICAgPyAoZnVsbG5hbWUu
bG9jYWwgPyBhdHRyUmVtb3ZlTlMgOiBhdHRyUmVtb3ZlKSA6ICh0eXBlb2YgdmFsdWUgPT09ICJm
dW5jdGlvbiIKKyAgICAgID8gKGZ1bGxuYW1lLmxvY2FsID8gYXR0ckZ1bmN0aW9uTlMgOiBhdHRy
RnVuY3Rpb24pCisgICAgICA6IChmdWxsbmFtZS5sb2NhbCA/IGF0dHJDb25zdGFudE5TIDogYXR0
ckNvbnN0YW50KSkpKGZ1bGxuYW1lLCB2YWx1ZSkpOworfQorCitmdW5jdGlvbiBkZWZhdWx0Vmll
dyhub2RlKSB7CisgIHJldHVybiAobm9kZS5vd25lckRvY3VtZW50ICYmIG5vZGUub3duZXJEb2N1
bWVudC5kZWZhdWx0VmlldykgLy8gbm9kZSBpcyBhIE5vZGUKKyAgICAgIHx8IChub2RlLmRvY3Vt
ZW50ICYmIG5vZGUpIC8vIG5vZGUgaXMgYSBXaW5kb3cKKyAgICAgIHx8IG5vZGUuZGVmYXVsdFZp
ZXc7IC8vIG5vZGUgaXMgYSBEb2N1bWVudAorfQorCitmdW5jdGlvbiBzdHlsZVJlbW92ZShuYW1l
KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5
KG5hbWUpOworICB9OworfQorCitmdW5jdGlvbiBzdHlsZUNvbnN0YW50KG5hbWUsIHZhbHVlLCBw
cmlvcml0eSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5zdHlsZS5zZXRQcm9w
ZXJ0eShuYW1lLCB2YWx1ZSwgcHJpb3JpdHkpOworICB9OworfQorCitmdW5jdGlvbiBzdHlsZUZ1
bmN0aW9uKG5hbWUsIHZhbHVlLCBwcmlvcml0eSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7Cisg
ICAgdmFyIHYgPSB2YWx1ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOworICAgIGlmICh2ID09IG51
bGwpIHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkobmFtZSk7CisgICAgZWxzZSB0aGlzLnN0eWxl
LnNldFByb3BlcnR5KG5hbWUsIHYsIHByaW9yaXR5KTsKKyAgfTsKK30KKworZnVuY3Rpb24gc2Vs
ZWN0aW9uX3N0eWxlKG5hbWUsIHZhbHVlLCBwcmlvcml0eSkgeworICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA+IDEKKyAgICAgID8gdGhpcy5lYWNoKCh2YWx1ZSA9PSBudWxsCisgICAgICAgICAg
ICA/IHN0eWxlUmVtb3ZlIDogdHlwZW9mIHZhbHVlID09PSAiZnVuY3Rpb24iCisgICAgICAgICAg
ICA/IHN0eWxlRnVuY3Rpb24KKyAgICAgICAgICAgIDogc3R5bGVDb25zdGFudCkobmFtZSwgdmFs
dWUsIHByaW9yaXR5ID09IG51bGwgPyAiIiA6IHByaW9yaXR5KSkKKyAgICAgIDogc3R5bGVWYWx1
ZSh0aGlzLm5vZGUoKSwgbmFtZSk7Cit9CisKK2Z1bmN0aW9uIHN0eWxlVmFsdWUobm9kZSwgbmFt
ZSkgeworICByZXR1cm4gbm9kZS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKG5hbWUpCisgICAgICB8
fCBkZWZhdWx0Vmlldyhub2RlKS5nZXRDb21wdXRlZFN0eWxlKG5vZGUsIG51bGwpLmdldFByb3Bl
cnR5VmFsdWUobmFtZSk7Cit9CisKK2Z1bmN0aW9uIHByb3BlcnR5UmVtb3ZlKG5hbWUpIHsKKyAg
cmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIGRlbGV0ZSB0aGlzW25hbWVdOworICB9OworfQorCitm
dW5jdGlvbiBwcm9wZXJ0eUNvbnN0YW50KG5hbWUsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlv
bigpIHsKKyAgICB0aGlzW25hbWVdID0gdmFsdWU7CisgIH07Cit9CisKK2Z1bmN0aW9uIHByb3Bl
cnR5RnVuY3Rpb24obmFtZSwgdmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZh
ciB2ID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICBpZiAodiA9PSBudWxsKSBk
ZWxldGUgdGhpc1tuYW1lXTsKKyAgICBlbHNlIHRoaXNbbmFtZV0gPSB2OworICB9OworfQorCitm
dW5jdGlvbiBzZWxlY3Rpb25fcHJvcGVydHkobmFtZSwgdmFsdWUpIHsKKyAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPiAxCisgICAgICA/IHRoaXMuZWFjaCgodmFsdWUgPT0gbnVsbAorICAgICAg
ICAgID8gcHJvcGVydHlSZW1vdmUgOiB0eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIKKyAgICAg
ICAgICA/IHByb3BlcnR5RnVuY3Rpb24KKyAgICAgICAgICA6IHByb3BlcnR5Q29uc3RhbnQpKG5h
bWUsIHZhbHVlKSkKKyAgICAgIDogdGhpcy5ub2RlKClbbmFtZV07Cit9CisKK2Z1bmN0aW9uIGNs
YXNzQXJyYXkoc3RyaW5nKSB7CisgIHJldHVybiBzdHJpbmcudHJpbSgpLnNwbGl0KC9efFxzKy8p
OworfQorCitmdW5jdGlvbiBjbGFzc0xpc3Qobm9kZSkgeworICByZXR1cm4gbm9kZS5jbGFzc0xp
c3QgfHwgbmV3IENsYXNzTGlzdChub2RlKTsKK30KKworZnVuY3Rpb24gQ2xhc3NMaXN0KG5vZGUp
IHsKKyAgdGhpcy5fbm9kZSA9IG5vZGU7CisgIHRoaXMuX25hbWVzID0gY2xhc3NBcnJheShub2Rl
LmdldEF0dHJpYnV0ZSgiY2xhc3MiKSB8fCAiIik7Cit9CisKK0NsYXNzTGlzdC5wcm90b3R5cGUg
PSB7CisgIGFkZDogZnVuY3Rpb24obmFtZSkgeworICAgIHZhciBpID0gdGhpcy5fbmFtZXMuaW5k
ZXhPZihuYW1lKTsKKyAgICBpZiAoaSA8IDApIHsKKyAgICAgIHRoaXMuX25hbWVzLnB1c2gobmFt
ZSk7CisgICAgICB0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCB0aGlzLl9uYW1lcy5q
b2luKCIgIikpOworICAgIH0KKyAgfSwKKyAgcmVtb3ZlOiBmdW5jdGlvbihuYW1lKSB7CisgICAg
dmFyIGkgPSB0aGlzLl9uYW1lcy5pbmRleE9mKG5hbWUpOworICAgIGlmIChpID49IDApIHsKKyAg
ICAgIHRoaXMuX25hbWVzLnNwbGljZShpLCAxKTsKKyAgICAgIHRoaXMuX25vZGUuc2V0QXR0cmli
dXRlKCJjbGFzcyIsIHRoaXMuX25hbWVzLmpvaW4oIiAiKSk7CisgICAgfQorICB9LAorICBjb250
YWluczogZnVuY3Rpb24obmFtZSkgeworICAgIHJldHVybiB0aGlzLl9uYW1lcy5pbmRleE9mKG5h
bWUpID49IDA7CisgIH0KK307CisKK2Z1bmN0aW9uIGNsYXNzZWRBZGQobm9kZSwgbmFtZXMpIHsK
KyAgdmFyIGxpc3QgPSBjbGFzc0xpc3Qobm9kZSksIGkgPSAtMSwgbiA9IG5hbWVzLmxlbmd0aDsK
KyAgd2hpbGUgKCsraSA8IG4pIGxpc3QuYWRkKG5hbWVzW2ldKTsKK30KKworZnVuY3Rpb24gY2xh
c3NlZFJlbW92ZShub2RlLCBuYW1lcykgeworICB2YXIgbGlzdCA9IGNsYXNzTGlzdChub2RlKSwg
aSA9IC0xLCBuID0gbmFtZXMubGVuZ3RoOworICB3aGlsZSAoKytpIDwgbikgbGlzdC5yZW1vdmUo
bmFtZXNbaV0pOworfQorCitmdW5jdGlvbiBjbGFzc2VkVHJ1ZShuYW1lcykgeworICByZXR1cm4g
ZnVuY3Rpb24oKSB7CisgICAgY2xhc3NlZEFkZCh0aGlzLCBuYW1lcyk7CisgIH07Cit9CisKK2Z1
bmN0aW9uIGNsYXNzZWRGYWxzZShuYW1lcykgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAg
Y2xhc3NlZFJlbW92ZSh0aGlzLCBuYW1lcyk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNsYXNzZWRG
dW5jdGlvbihuYW1lcywgdmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICh2YWx1
ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpID8gY2xhc3NlZEFkZCA6IGNsYXNzZWRSZW1vdmUpKHRo
aXMsIG5hbWVzKTsKKyAgfTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2NsYXNzZWQobmFtZSwg
dmFsdWUpIHsKKyAgdmFyIG5hbWVzID0gY2xhc3NBcnJheShuYW1lICsgIiIpOworCisgIGlmIChh
cmd1bWVudHMubGVuZ3RoIDwgMikgeworICAgIHZhciBsaXN0ID0gY2xhc3NMaXN0KHRoaXMubm9k
ZSgpKSwgaSA9IC0xLCBuID0gbmFtZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBpZiAo
IWxpc3QuY29udGFpbnMobmFtZXNbaV0pKSByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7
CisgIH0KKworICByZXR1cm4gdGhpcy5lYWNoKCh0eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIK
KyAgICAgID8gY2xhc3NlZEZ1bmN0aW9uIDogdmFsdWUKKyAgICAgID8gY2xhc3NlZFRydWUKKyAg
ICAgIDogY2xhc3NlZEZhbHNlKShuYW1lcywgdmFsdWUpKTsKK30KKworZnVuY3Rpb24gdGV4dFJl
bW92ZSgpIHsKKyAgdGhpcy50ZXh0Q29udGVudCA9ICIiOworfQorCitmdW5jdGlvbiB0ZXh0Q29u
c3RhbnQodmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXMudGV4dENvbnRl
bnQgPSB2YWx1ZTsKKyAgfTsKK30KKworZnVuY3Rpb24gdGV4dEZ1bmN0aW9uKHZhbHVlKSB7Cisg
IHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdiA9IHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3Vt
ZW50cyk7CisgICAgdGhpcy50ZXh0Q29udGVudCA9IHYgPT0gbnVsbCA/ICIiIDogdjsKKyAgfTsK
K30KKworZnVuY3Rpb24gc2VsZWN0aW9uX3RleHQodmFsdWUpIHsKKyAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGgKKyAgICAgID8gdGhpcy5lYWNoKHZhbHVlID09IG51bGwKKyAgICAgICAgICA/IHRl
eHRSZW1vdmUgOiAodHlwZW9mIHZhbHVlID09PSAiZnVuY3Rpb24iCisgICAgICAgICAgPyB0ZXh0
RnVuY3Rpb24KKyAgICAgICAgICA6IHRleHRDb25zdGFudCkodmFsdWUpKQorICAgICAgOiB0aGlz
Lm5vZGUoKS50ZXh0Q29udGVudDsKK30KKworZnVuY3Rpb24gaHRtbFJlbW92ZSgpIHsKKyAgdGhp
cy5pbm5lckhUTUwgPSAiIjsKK30KKworZnVuY3Rpb24gaHRtbENvbnN0YW50KHZhbHVlKSB7Cisg
IHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLmlubmVySFRNTCA9IHZhbHVlOworICB9Owor
fQorCitmdW5jdGlvbiBodG1sRnVuY3Rpb24odmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkg
eworICAgIHZhciB2ID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICB0aGlzLmlu
bmVySFRNTCA9IHYgPT0gbnVsbCA/ICIiIDogdjsKKyAgfTsKK30KKworZnVuY3Rpb24gc2VsZWN0
aW9uX2h0bWwodmFsdWUpIHsKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgKKyAgICAgID8gdGhp
cy5lYWNoKHZhbHVlID09IG51bGwKKyAgICAgICAgICA/IGh0bWxSZW1vdmUgOiAodHlwZW9mIHZh
bHVlID09PSAiZnVuY3Rpb24iCisgICAgICAgICAgPyBodG1sRnVuY3Rpb24KKyAgICAgICAgICA6
IGh0bWxDb25zdGFudCkodmFsdWUpKQorICAgICAgOiB0aGlzLm5vZGUoKS5pbm5lckhUTUw7Cit9
CisKK2Z1bmN0aW9uIHJhaXNlKCkgeworICBpZiAodGhpcy5uZXh0U2libGluZykgdGhpcy5wYXJl
bnROb2RlLmFwcGVuZENoaWxkKHRoaXMpOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fcmFpc2Uo
KSB7CisgIHJldHVybiB0aGlzLmVhY2gocmFpc2UpOworfQorCitmdW5jdGlvbiBsb3dlcigpIHsK
KyAgaWYgKHRoaXMucHJldmlvdXNTaWJsaW5nKSB0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3Jl
KHRoaXMsIHRoaXMucGFyZW50Tm9kZS5maXJzdENoaWxkKTsKK30KKworZnVuY3Rpb24gc2VsZWN0
aW9uX2xvd2VyKCkgeworICByZXR1cm4gdGhpcy5lYWNoKGxvd2VyKTsKK30KKworZnVuY3Rpb24g
c2VsZWN0aW9uX2FwcGVuZChuYW1lKSB7CisgIHZhciBjcmVhdGUgPSB0eXBlb2YgbmFtZSA9PT0g
ImZ1bmN0aW9uIiA/IG5hbWUgOiBjcmVhdG9yKG5hbWUpOworICByZXR1cm4gdGhpcy5zZWxlY3Qo
ZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRoaXMuYXBwZW5kQ2hpbGQoY3JlYXRlLmFwcGx5KHRo
aXMsIGFyZ3VtZW50cykpOworICB9KTsKK30KKworZnVuY3Rpb24gY29uc3RhbnROdWxsKCkgewor
ICByZXR1cm4gbnVsbDsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2luc2VydChuYW1lLCBiZWZv
cmUpIHsKKyAgdmFyIGNyZWF0ZSA9IHR5cGVvZiBuYW1lID09PSAiZnVuY3Rpb24iID8gbmFtZSA6
IGNyZWF0b3IobmFtZSksCisgICAgICBzZWxlY3QgPSBiZWZvcmUgPT0gbnVsbCA/IGNvbnN0YW50
TnVsbCA6IHR5cGVvZiBiZWZvcmUgPT09ICJmdW5jdGlvbiIgPyBiZWZvcmUgOiBzZWxlY3Rvcihi
ZWZvcmUpOworICByZXR1cm4gdGhpcy5zZWxlY3QoZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRo
aXMuaW5zZXJ0QmVmb3JlKGNyZWF0ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpLCBzZWxlY3QuYXBw
bHkodGhpcywgYXJndW1lbnRzKSB8fCBudWxsKTsKKyAgfSk7Cit9CisKK2Z1bmN0aW9uIHJlbW92
ZSgpIHsKKyAgdmFyIHBhcmVudCA9IHRoaXMucGFyZW50Tm9kZTsKKyAgaWYgKHBhcmVudCkgcGFy
ZW50LnJlbW92ZUNoaWxkKHRoaXMpOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fcmVtb3ZlKCkg
eworICByZXR1cm4gdGhpcy5lYWNoKHJlbW92ZSk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9j
bG9uZVNoYWxsb3coKSB7CisgIHZhciBjbG9uZSA9IHRoaXMuY2xvbmVOb2RlKGZhbHNlKSwgcGFy
ZW50ID0gdGhpcy5wYXJlbnROb2RlOworICByZXR1cm4gcGFyZW50ID8gcGFyZW50Lmluc2VydEJl
Zm9yZShjbG9uZSwgdGhpcy5uZXh0U2libGluZykgOiBjbG9uZTsKK30KKworZnVuY3Rpb24gc2Vs
ZWN0aW9uX2Nsb25lRGVlcCgpIHsKKyAgdmFyIGNsb25lID0gdGhpcy5jbG9uZU5vZGUodHJ1ZSks
IHBhcmVudCA9IHRoaXMucGFyZW50Tm9kZTsKKyAgcmV0dXJuIHBhcmVudCA/IHBhcmVudC5pbnNl
cnRCZWZvcmUoY2xvbmUsIHRoaXMubmV4dFNpYmxpbmcpIDogY2xvbmU7Cit9CisKK2Z1bmN0aW9u
IHNlbGVjdGlvbl9jbG9uZShkZWVwKSB7CisgIHJldHVybiB0aGlzLnNlbGVjdChkZWVwID8gc2Vs
ZWN0aW9uX2Nsb25lRGVlcCA6IHNlbGVjdGlvbl9jbG9uZVNoYWxsb3cpOworfQorCitmdW5jdGlv
biBzZWxlY3Rpb25fZGF0dW0odmFsdWUpIHsKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgKKyAg
ICAgID8gdGhpcy5wcm9wZXJ0eSgiX19kYXRhX18iLCB2YWx1ZSkKKyAgICAgIDogdGhpcy5ub2Rl
KCkuX19kYXRhX187Cit9CisKK3ZhciBmaWx0ZXJFdmVudHMgPSB7fTsKKworZXhwb3J0cy5ldmVu
dCA9IG51bGw7CisKK2lmICh0eXBlb2YgZG9jdW1lbnQgIT09ICJ1bmRlZmluZWQiKSB7CisgIHZh
ciBlbGVtZW50ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OworICBpZiAoISgib25tb3VzZWVu
dGVyIiBpbiBlbGVtZW50KSkgeworICAgIGZpbHRlckV2ZW50cyA9IHttb3VzZWVudGVyOiAibW91
c2VvdmVyIiwgbW91c2VsZWF2ZTogIm1vdXNlb3V0In07CisgIH0KK30KKworZnVuY3Rpb24gZmls
dGVyQ29udGV4dExpc3RlbmVyKGxpc3RlbmVyLCBpbmRleCwgZ3JvdXApIHsKKyAgbGlzdGVuZXIg
PSBjb250ZXh0TGlzdGVuZXIobGlzdGVuZXIsIGluZGV4LCBncm91cCk7CisgIHJldHVybiBmdW5j
dGlvbihldmVudCkgeworICAgIHZhciByZWxhdGVkID0gZXZlbnQucmVsYXRlZFRhcmdldDsKKyAg
ICBpZiAoIXJlbGF0ZWQgfHwgKHJlbGF0ZWQgIT09IHRoaXMgJiYgIShyZWxhdGVkLmNvbXBhcmVE
b2N1bWVudFBvc2l0aW9uKHRoaXMpICYgOCkpKSB7CisgICAgICBsaXN0ZW5lci5jYWxsKHRoaXMs
IGV2ZW50KTsKKyAgICB9CisgIH07Cit9CisKK2Z1bmN0aW9uIGNvbnRleHRMaXN0ZW5lcihsaXN0
ZW5lciwgaW5kZXgsIGdyb3VwKSB7CisgIHJldHVybiBmdW5jdGlvbihldmVudDEpIHsKKyAgICB2
YXIgZXZlbnQwID0gZXhwb3J0cy5ldmVudDsgLy8gRXZlbnRzIGNhbiBiZSByZWVudHJhbnQgKGUu
Zy4sIGZvY3VzKS4KKyAgICBleHBvcnRzLmV2ZW50ID0gZXZlbnQxOworICAgIHRyeSB7CisgICAg
ICBsaXN0ZW5lci5jYWxsKHRoaXMsIHRoaXMuX19kYXRhX18sIGluZGV4LCBncm91cCk7CisgICAg
fSBmaW5hbGx5IHsKKyAgICAgIGV4cG9ydHMuZXZlbnQgPSBldmVudDA7CisgICAgfQorICB9Owor
fQorCitmdW5jdGlvbiBwYXJzZVR5cGVuYW1lcyQxKHR5cGVuYW1lcykgeworICByZXR1cm4gdHlw
ZW5hbWVzLnRyaW0oKS5zcGxpdCgvXnxccysvKS5tYXAoZnVuY3Rpb24odCkgeworICAgIHZhciBu
YW1lID0gIiIsIGkgPSB0LmluZGV4T2YoIi4iKTsKKyAgICBpZiAoaSA+PSAwKSBuYW1lID0gdC5z
bGljZShpICsgMSksIHQgPSB0LnNsaWNlKDAsIGkpOworICAgIHJldHVybiB7dHlwZTogdCwgbmFt
ZTogbmFtZX07CisgIH0pOworfQorCitmdW5jdGlvbiBvblJlbW92ZSh0eXBlbmFtZSkgeworICBy
ZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIG9uID0gdGhpcy5fX29uOworICAgIGlmICghb24p
IHJldHVybjsKKyAgICBmb3IgKHZhciBqID0gMCwgaSA9IC0xLCBtID0gb24ubGVuZ3RoLCBvOyBq
IDwgbTsgKytqKSB7CisgICAgICBpZiAobyA9IG9uW2pdLCAoIXR5cGVuYW1lLnR5cGUgfHwgby50
eXBlID09PSB0eXBlbmFtZS50eXBlKSAmJiBvLm5hbWUgPT09IHR5cGVuYW1lLm5hbWUpIHsKKyAg
ICAgICAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKG8udHlwZSwgby5saXN0ZW5lciwgby5jYXB0
dXJlKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIG9uWysraV0gPSBvOworICAgICAgfQorICAg
IH0KKyAgICBpZiAoKytpKSBvbi5sZW5ndGggPSBpOworICAgIGVsc2UgZGVsZXRlIHRoaXMuX19v
bjsKKyAgfTsKK30KKworZnVuY3Rpb24gb25BZGQodHlwZW5hbWUsIHZhbHVlLCBjYXB0dXJlKSB7
CisgIHZhciB3cmFwID0gZmlsdGVyRXZlbnRzLmhhc093blByb3BlcnR5KHR5cGVuYW1lLnR5cGUp
ID8gZmlsdGVyQ29udGV4dExpc3RlbmVyIDogY29udGV4dExpc3RlbmVyOworICByZXR1cm4gZnVu
Y3Rpb24oZCwgaSwgZ3JvdXApIHsKKyAgICB2YXIgb24gPSB0aGlzLl9fb24sIG8sIGxpc3RlbmVy
ID0gd3JhcCh2YWx1ZSwgaSwgZ3JvdXApOworICAgIGlmIChvbikgZm9yICh2YXIgaiA9IDAsIG0g
PSBvbi5sZW5ndGg7IGogPCBtOyArK2opIHsKKyAgICAgIGlmICgobyA9IG9uW2pdKS50eXBlID09
PSB0eXBlbmFtZS50eXBlICYmIG8ubmFtZSA9PT0gdHlwZW5hbWUubmFtZSkgeworICAgICAgICB0
aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoby50eXBlLCBvLmxpc3RlbmVyLCBvLmNhcHR1cmUpOwor
ICAgICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoby50eXBlLCBvLmxpc3RlbmVyID0gbGlzdGVu
ZXIsIG8uY2FwdHVyZSA9IGNhcHR1cmUpOworICAgICAgICBvLnZhbHVlID0gdmFsdWU7CisgICAg
ICAgIHJldHVybjsKKyAgICAgIH0KKyAgICB9CisgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKHR5
cGVuYW1lLnR5cGUsIGxpc3RlbmVyLCBjYXB0dXJlKTsKKyAgICBvID0ge3R5cGU6IHR5cGVuYW1l
LnR5cGUsIG5hbWU6IHR5cGVuYW1lLm5hbWUsIHZhbHVlOiB2YWx1ZSwgbGlzdGVuZXI6IGxpc3Rl
bmVyLCBjYXB0dXJlOiBjYXB0dXJlfTsKKyAgICBpZiAoIW9uKSB0aGlzLl9fb24gPSBbb107Cisg
ICAgZWxzZSBvbi5wdXNoKG8pOworICB9OworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fb24odHlw
ZW5hbWUsIHZhbHVlLCBjYXB0dXJlKSB7CisgIHZhciB0eXBlbmFtZXMgPSBwYXJzZVR5cGVuYW1l
cyQxKHR5cGVuYW1lICsgIiIpLCBpLCBuID0gdHlwZW5hbWVzLmxlbmd0aCwgdDsKKworICBpZiAo
YXJndW1lbnRzLmxlbmd0aCA8IDIpIHsKKyAgICB2YXIgb24gPSB0aGlzLm5vZGUoKS5fX29uOwor
ICAgIGlmIChvbikgZm9yICh2YXIgaiA9IDAsIG0gPSBvbi5sZW5ndGgsIG87IGogPCBtOyArK2op
IHsKKyAgICAgIGZvciAoaSA9IDAsIG8gPSBvbltqXTsgaSA8IG47ICsraSkgeworICAgICAgICBp
ZiAoKHQgPSB0eXBlbmFtZXNbaV0pLnR5cGUgPT09IG8udHlwZSAmJiB0Lm5hbWUgPT09IG8ubmFt
ZSkgeworICAgICAgICAgIHJldHVybiBvLnZhbHVlOworICAgICAgICB9CisgICAgICB9CisgICAg
fQorICAgIHJldHVybjsKKyAgfQorCisgIG9uID0gdmFsdWUgPyBvbkFkZCA6IG9uUmVtb3ZlOwor
ICBpZiAoY2FwdHVyZSA9PSBudWxsKSBjYXB0dXJlID0gZmFsc2U7CisgIGZvciAoaSA9IDA7IGkg
PCBuOyArK2kpIHRoaXMuZWFjaChvbih0eXBlbmFtZXNbaV0sIHZhbHVlLCBjYXB0dXJlKSk7Cisg
IHJldHVybiB0aGlzOworfQorCitmdW5jdGlvbiBjdXN0b21FdmVudChldmVudDEsIGxpc3RlbmVy
LCB0aGF0LCBhcmdzKSB7CisgIHZhciBldmVudDAgPSBleHBvcnRzLmV2ZW50OworICBldmVudDEu
c291cmNlRXZlbnQgPSBleHBvcnRzLmV2ZW50OworICBleHBvcnRzLmV2ZW50ID0gZXZlbnQxOwor
ICB0cnkgeworICAgIHJldHVybiBsaXN0ZW5lci5hcHBseSh0aGF0LCBhcmdzKTsKKyAgfSBmaW5h
bGx5IHsKKyAgICBleHBvcnRzLmV2ZW50ID0gZXZlbnQwOworICB9Cit9CisKK2Z1bmN0aW9uIGRp
c3BhdGNoRXZlbnQobm9kZSwgdHlwZSwgcGFyYW1zKSB7CisgIHZhciB3aW5kb3cgPSBkZWZhdWx0
Vmlldyhub2RlKSwKKyAgICAgIGV2ZW50ID0gd2luZG93LkN1c3RvbUV2ZW50OworCisgIGlmICh0
eXBlb2YgZXZlbnQgPT09ICJmdW5jdGlvbiIpIHsKKyAgICBldmVudCA9IG5ldyBldmVudCh0eXBl
LCBwYXJhbXMpOworICB9IGVsc2UgeworICAgIGV2ZW50ID0gd2luZG93LmRvY3VtZW50LmNyZWF0
ZUV2ZW50KCJFdmVudCIpOworICAgIGlmIChwYXJhbXMpIGV2ZW50LmluaXRFdmVudCh0eXBlLCBw
YXJhbXMuYnViYmxlcywgcGFyYW1zLmNhbmNlbGFibGUpLCBldmVudC5kZXRhaWwgPSBwYXJhbXMu
ZGV0YWlsOworICAgIGVsc2UgZXZlbnQuaW5pdEV2ZW50KHR5cGUsIGZhbHNlLCBmYWxzZSk7Cisg
IH0KKworICBub2RlLmRpc3BhdGNoRXZlbnQoZXZlbnQpOworfQorCitmdW5jdGlvbiBkaXNwYXRj
aENvbnN0YW50KHR5cGUsIHBhcmFtcykgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgcmV0
dXJuIGRpc3BhdGNoRXZlbnQodGhpcywgdHlwZSwgcGFyYW1zKTsKKyAgfTsKK30KKworZnVuY3Rp
b24gZGlzcGF0Y2hGdW5jdGlvbih0eXBlLCBwYXJhbXMpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkg
eworICAgIHJldHVybiBkaXNwYXRjaEV2ZW50KHRoaXMsIHR5cGUsIHBhcmFtcy5hcHBseSh0aGlz
LCBhcmd1bWVudHMpKTsKKyAgfTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2Rpc3BhdGNoKHR5
cGUsIHBhcmFtcykgeworICByZXR1cm4gdGhpcy5lYWNoKCh0eXBlb2YgcGFyYW1zID09PSAiZnVu
Y3Rpb24iCisgICAgICA/IGRpc3BhdGNoRnVuY3Rpb24KKyAgICAgIDogZGlzcGF0Y2hDb25zdGFu
dCkodHlwZSwgcGFyYW1zKSk7Cit9CisKK3ZhciByb290ID0gW251bGxdOworCitmdW5jdGlvbiBT
ZWxlY3Rpb24oZ3JvdXBzLCBwYXJlbnRzKSB7CisgIHRoaXMuX2dyb3VwcyA9IGdyb3VwczsKKyAg
dGhpcy5fcGFyZW50cyA9IHBhcmVudHM7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbigpIHsKKyAg
cmV0dXJuIG5ldyBTZWxlY3Rpb24oW1tkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdXSwgcm9vdCk7
Cit9CisKK1NlbGVjdGlvbi5wcm90b3R5cGUgPSBzZWxlY3Rpb24ucHJvdG90eXBlID0geworICBj
b25zdHJ1Y3RvcjogU2VsZWN0aW9uLAorICBzZWxlY3Q6IHNlbGVjdGlvbl9zZWxlY3QsCisgIHNl
bGVjdEFsbDogc2VsZWN0aW9uX3NlbGVjdEFsbCwKKyAgZmlsdGVyOiBzZWxlY3Rpb25fZmlsdGVy
LAorICBkYXRhOiBzZWxlY3Rpb25fZGF0YSwKKyAgZW50ZXI6IHNlbGVjdGlvbl9lbnRlciwKKyAg
ZXhpdDogc2VsZWN0aW9uX2V4aXQsCisgIGpvaW46IHNlbGVjdGlvbl9qb2luLAorICBtZXJnZTog
c2VsZWN0aW9uX21lcmdlLAorICBvcmRlcjogc2VsZWN0aW9uX29yZGVyLAorICBzb3J0OiBzZWxl
Y3Rpb25fc29ydCwKKyAgY2FsbDogc2VsZWN0aW9uX2NhbGwsCisgIG5vZGVzOiBzZWxlY3Rpb25f
bm9kZXMsCisgIG5vZGU6IHNlbGVjdGlvbl9ub2RlLAorICBzaXplOiBzZWxlY3Rpb25fc2l6ZSwK
KyAgZW1wdHk6IHNlbGVjdGlvbl9lbXB0eSwKKyAgZWFjaDogc2VsZWN0aW9uX2VhY2gsCisgIGF0
dHI6IHNlbGVjdGlvbl9hdHRyLAorICBzdHlsZTogc2VsZWN0aW9uX3N0eWxlLAorICBwcm9wZXJ0
eTogc2VsZWN0aW9uX3Byb3BlcnR5LAorICBjbGFzc2VkOiBzZWxlY3Rpb25fY2xhc3NlZCwKKyAg
dGV4dDogc2VsZWN0aW9uX3RleHQsCisgIGh0bWw6IHNlbGVjdGlvbl9odG1sLAorICByYWlzZTog
c2VsZWN0aW9uX3JhaXNlLAorICBsb3dlcjogc2VsZWN0aW9uX2xvd2VyLAorICBhcHBlbmQ6IHNl
bGVjdGlvbl9hcHBlbmQsCisgIGluc2VydDogc2VsZWN0aW9uX2luc2VydCwKKyAgcmVtb3ZlOiBz
ZWxlY3Rpb25fcmVtb3ZlLAorICBjbG9uZTogc2VsZWN0aW9uX2Nsb25lLAorICBkYXR1bTogc2Vs
ZWN0aW9uX2RhdHVtLAorICBvbjogc2VsZWN0aW9uX29uLAorICBkaXNwYXRjaDogc2VsZWN0aW9u
X2Rpc3BhdGNoCit9OworCitmdW5jdGlvbiBzZWxlY3Qoc2VsZWN0b3IpIHsKKyAgcmV0dXJuIHR5
cGVvZiBzZWxlY3RvciA9PT0gInN0cmluZyIKKyAgICAgID8gbmV3IFNlbGVjdGlvbihbW2RvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpXV0sIFtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRd
KQorICAgICAgOiBuZXcgU2VsZWN0aW9uKFtbc2VsZWN0b3JdXSwgcm9vdCk7Cit9CisKK2Z1bmN0
aW9uIGNyZWF0ZShuYW1lKSB7CisgIHJldHVybiBzZWxlY3QoY3JlYXRvcihuYW1lKS5jYWxsKGRv
Y3VtZW50LmRvY3VtZW50RWxlbWVudCkpOworfQorCit2YXIgbmV4dElkID0gMDsKKworZnVuY3Rp
b24gbG9jYWwoKSB7CisgIHJldHVybiBuZXcgTG9jYWw7Cit9CisKK2Z1bmN0aW9uIExvY2FsKCkg
eworICB0aGlzLl8gPSAiQCIgKyAoKytuZXh0SWQpLnRvU3RyaW5nKDM2KTsKK30KKworTG9jYWwu
cHJvdG90eXBlID0gbG9jYWwucHJvdG90eXBlID0geworICBjb25zdHJ1Y3RvcjogTG9jYWwsCisg
IGdldDogZnVuY3Rpb24obm9kZSkgeworICAgIHZhciBpZCA9IHRoaXMuXzsKKyAgICB3aGlsZSAo
IShpZCBpbiBub2RlKSkgaWYgKCEobm9kZSA9IG5vZGUucGFyZW50Tm9kZSkpIHJldHVybjsKKyAg
ICByZXR1cm4gbm9kZVtpZF07CisgIH0sCisgIHNldDogZnVuY3Rpb24obm9kZSwgdmFsdWUpIHsK
KyAgICByZXR1cm4gbm9kZVt0aGlzLl9dID0gdmFsdWU7CisgIH0sCisgIHJlbW92ZTogZnVuY3Rp
b24obm9kZSkgeworICAgIHJldHVybiB0aGlzLl8gaW4gbm9kZSAmJiBkZWxldGUgbm9kZVt0aGlz
Ll9dOworICB9LAorICB0b1N0cmluZzogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRoaXMuXzsK
KyAgfQorfTsKKworZnVuY3Rpb24gc291cmNlRXZlbnQoKSB7CisgIHZhciBjdXJyZW50ID0gZXhw
b3J0cy5ldmVudCwgc291cmNlOworICB3aGlsZSAoc291cmNlID0gY3VycmVudC5zb3VyY2VFdmVu
dCkgY3VycmVudCA9IHNvdXJjZTsKKyAgcmV0dXJuIGN1cnJlbnQ7Cit9CisKK2Z1bmN0aW9uIHBv
aW50KG5vZGUsIGV2ZW50KSB7CisgIHZhciBzdmcgPSBub2RlLm93bmVyU1ZHRWxlbWVudCB8fCBu
b2RlOworCisgIGlmIChzdmcuY3JlYXRlU1ZHUG9pbnQpIHsKKyAgICB2YXIgcG9pbnQgPSBzdmcu
Y3JlYXRlU1ZHUG9pbnQoKTsKKyAgICBwb2ludC54ID0gZXZlbnQuY2xpZW50WCwgcG9pbnQueSA9
IGV2ZW50LmNsaWVudFk7CisgICAgcG9pbnQgPSBwb2ludC5tYXRyaXhUcmFuc2Zvcm0obm9kZS5n
ZXRTY3JlZW5DVE0oKS5pbnZlcnNlKCkpOworICAgIHJldHVybiBbcG9pbnQueCwgcG9pbnQueV07
CisgIH0KKworICB2YXIgcmVjdCA9IG5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgIHJl
dHVybiBbZXZlbnQuY2xpZW50WCAtIHJlY3QubGVmdCAtIG5vZGUuY2xpZW50TGVmdCwgZXZlbnQu
Y2xpZW50WSAtIHJlY3QudG9wIC0gbm9kZS5jbGllbnRUb3BdOworfQorCitmdW5jdGlvbiBtb3Vz
ZShub2RlKSB7CisgIHZhciBldmVudCA9IHNvdXJjZUV2ZW50KCk7CisgIGlmIChldmVudC5jaGFu
Z2VkVG91Y2hlcykgZXZlbnQgPSBldmVudC5jaGFuZ2VkVG91Y2hlc1swXTsKKyAgcmV0dXJuIHBv
aW50KG5vZGUsIGV2ZW50KTsKK30KKworZnVuY3Rpb24gc2VsZWN0QWxsKHNlbGVjdG9yKSB7Cisg
IHJldHVybiB0eXBlb2Ygc2VsZWN0b3IgPT09ICJzdHJpbmciCisgICAgICA/IG5ldyBTZWxlY3Rp
b24oW2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpXSwgW2RvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudF0pCisgICAgICA6IG5ldyBTZWxlY3Rpb24oW3NlbGVjdG9yID09IG51bGwgPyBb
XSA6IHNlbGVjdG9yXSwgcm9vdCk7Cit9CisKK2Z1bmN0aW9uIHRvdWNoKG5vZGUsIHRvdWNoZXMs
IGlkZW50aWZpZXIpIHsKKyAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAzKSBpZGVudGlmaWVyID0g
dG91Y2hlcywgdG91Y2hlcyA9IHNvdXJjZUV2ZW50KCkuY2hhbmdlZFRvdWNoZXM7CisKKyAgZm9y
ICh2YXIgaSA9IDAsIG4gPSB0b3VjaGVzID8gdG91Y2hlcy5sZW5ndGggOiAwLCB0b3VjaDsgaSA8
IG47ICsraSkgeworICAgIGlmICgodG91Y2ggPSB0b3VjaGVzW2ldKS5pZGVudGlmaWVyID09PSBp
ZGVudGlmaWVyKSB7CisgICAgICByZXR1cm4gcG9pbnQobm9kZSwgdG91Y2gpOworICAgIH0KKyAg
fQorCisgIHJldHVybiBudWxsOworfQorCitmdW5jdGlvbiB0b3VjaGVzKG5vZGUsIHRvdWNoZXMp
IHsKKyAgaWYgKHRvdWNoZXMgPT0gbnVsbCkgdG91Y2hlcyA9IHNvdXJjZUV2ZW50KCkudG91Y2hl
czsKKworICBmb3IgKHZhciBpID0gMCwgbiA9IHRvdWNoZXMgPyB0b3VjaGVzLmxlbmd0aCA6IDAs
IHBvaW50cyA9IG5ldyBBcnJheShuKTsgaSA8IG47ICsraSkgeworICAgIHBvaW50c1tpXSA9IHBv
aW50KG5vZGUsIHRvdWNoZXNbaV0pOworICB9CisKKyAgcmV0dXJuIHBvaW50czsKK30KKworZnVu
Y3Rpb24gbm9wcm9wYWdhdGlvbigpIHsKKyAgZXhwb3J0cy5ldmVudC5zdG9wSW1tZWRpYXRlUHJv
cGFnYXRpb24oKTsKK30KKworZnVuY3Rpb24gbm9ldmVudCgpIHsKKyAgZXhwb3J0cy5ldmVudC5w
cmV2ZW50RGVmYXVsdCgpOworICBleHBvcnRzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlv
bigpOworfQorCitmdW5jdGlvbiBkcmFnRGlzYWJsZSh2aWV3KSB7CisgIHZhciByb290ID0gdmll
dy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsCisgICAgICBzZWxlY3Rpb24gPSBzZWxlY3Qodmll
dykub24oImRyYWdzdGFydC5kcmFnIiwgbm9ldmVudCwgdHJ1ZSk7CisgIGlmICgib25zZWxlY3Rz
dGFydCIgaW4gcm9vdCkgeworICAgIHNlbGVjdGlvbi5vbigic2VsZWN0c3RhcnQuZHJhZyIsIG5v
ZXZlbnQsIHRydWUpOworICB9IGVsc2UgeworICAgIHJvb3QuX19ub3NlbGVjdCA9IHJvb3Quc3R5
bGUuTW96VXNlclNlbGVjdDsKKyAgICByb290LnN0eWxlLk1velVzZXJTZWxlY3QgPSAibm9uZSI7
CisgIH0KK30KKworZnVuY3Rpb24geWVzZHJhZyh2aWV3LCBub2NsaWNrKSB7CisgIHZhciByb290
ID0gdmlldy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsCisgICAgICBzZWxlY3Rpb24gPSBzZWxl
Y3Qodmlldykub24oImRyYWdzdGFydC5kcmFnIiwgbnVsbCk7CisgIGlmIChub2NsaWNrKSB7Cisg
ICAgc2VsZWN0aW9uLm9uKCJjbGljay5kcmFnIiwgbm9ldmVudCwgdHJ1ZSk7CisgICAgc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsgc2VsZWN0aW9uLm9uKCJjbGljay5kcmFnIiwgbnVsbCk7IH0sIDAp
OworICB9CisgIGlmICgib25zZWxlY3RzdGFydCIgaW4gcm9vdCkgeworICAgIHNlbGVjdGlvbi5v
bigic2VsZWN0c3RhcnQuZHJhZyIsIG51bGwpOworICB9IGVsc2UgeworICAgIHJvb3Quc3R5bGUu
TW96VXNlclNlbGVjdCA9IHJvb3QuX19ub3NlbGVjdDsKKyAgICBkZWxldGUgcm9vdC5fX25vc2Vs
ZWN0OworICB9Cit9CisKK2Z1bmN0aW9uIGNvbnN0YW50JDIoeCkgeworICByZXR1cm4gZnVuY3Rp
b24oKSB7CisgICAgcmV0dXJuIHg7CisgIH07Cit9CisKK2Z1bmN0aW9uIERyYWdFdmVudCh0YXJn
ZXQsIHR5cGUsIHN1YmplY3QsIGlkLCBhY3RpdmUsIHgsIHksIGR4LCBkeSwgZGlzcGF0Y2gpIHsK
KyAgdGhpcy50YXJnZXQgPSB0YXJnZXQ7CisgIHRoaXMudHlwZSA9IHR5cGU7CisgIHRoaXMuc3Vi
amVjdCA9IHN1YmplY3Q7CisgIHRoaXMuaWRlbnRpZmllciA9IGlkOworICB0aGlzLmFjdGl2ZSA9
IGFjdGl2ZTsKKyAgdGhpcy54ID0geDsKKyAgdGhpcy55ID0geTsKKyAgdGhpcy5keCA9IGR4Owor
ICB0aGlzLmR5ID0gZHk7CisgIHRoaXMuXyA9IGRpc3BhdGNoOworfQorCitEcmFnRXZlbnQucHJv
dG90eXBlLm9uID0gZnVuY3Rpb24oKSB7CisgIHZhciB2YWx1ZSA9IHRoaXMuXy5vbi5hcHBseSh0
aGlzLl8sIGFyZ3VtZW50cyk7CisgIHJldHVybiB2YWx1ZSA9PT0gdGhpcy5fID8gdGhpcyA6IHZh
bHVlOworfTsKKworLy8gSWdub3JlIHJpZ2h0LWNsaWNrLCBzaW5jZSB0aGF0IHNob3VsZCBvcGVu
IHRoZSBjb250ZXh0IG1lbnUuCitmdW5jdGlvbiBkZWZhdWx0RmlsdGVyKCkgeworICByZXR1cm4g
IWV4cG9ydHMuZXZlbnQuY3RybEtleSAmJiAhZXhwb3J0cy5ldmVudC5idXR0b247Cit9CisKK2Z1
bmN0aW9uIGRlZmF1bHRDb250YWluZXIoKSB7CisgIHJldHVybiB0aGlzLnBhcmVudE5vZGU7Cit9
CisKK2Z1bmN0aW9uIGRlZmF1bHRTdWJqZWN0KGQpIHsKKyAgcmV0dXJuIGQgPT0gbnVsbCA/IHt4
OiBleHBvcnRzLmV2ZW50LngsIHk6IGV4cG9ydHMuZXZlbnQueX0gOiBkOworfQorCitmdW5jdGlv
biBkZWZhdWx0VG91Y2hhYmxlKCkgeworICByZXR1cm4gbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRz
IHx8ICgib250b3VjaHN0YXJ0IiBpbiB0aGlzKTsKK30KKworZnVuY3Rpb24gZHJhZygpIHsKKyAg
dmFyIGZpbHRlciA9IGRlZmF1bHRGaWx0ZXIsCisgICAgICBjb250YWluZXIgPSBkZWZhdWx0Q29u
dGFpbmVyLAorICAgICAgc3ViamVjdCA9IGRlZmF1bHRTdWJqZWN0LAorICAgICAgdG91Y2hhYmxl
ID0gZGVmYXVsdFRvdWNoYWJsZSwKKyAgICAgIGdlc3R1cmVzID0ge30sCisgICAgICBsaXN0ZW5l
cnMgPSBkaXNwYXRjaCgic3RhcnQiLCAiZHJhZyIsICJlbmQiKSwKKyAgICAgIGFjdGl2ZSA9IDAs
CisgICAgICBtb3VzZWRvd254LAorICAgICAgbW91c2Vkb3dueSwKKyAgICAgIG1vdXNlbW92aW5n
LAorICAgICAgdG91Y2hlbmRpbmcsCisgICAgICBjbGlja0Rpc3RhbmNlMiA9IDA7CisKKyAgZnVu
Y3Rpb24gZHJhZyhzZWxlY3Rpb24pIHsKKyAgICBzZWxlY3Rpb24KKyAgICAgICAgLm9uKCJtb3Vz
ZWRvd24uZHJhZyIsIG1vdXNlZG93bmVkKQorICAgICAgLmZpbHRlcih0b3VjaGFibGUpCisgICAg
ICAgIC5vbigidG91Y2hzdGFydC5kcmFnIiwgdG91Y2hzdGFydGVkKQorICAgICAgICAub24oInRv
dWNobW92ZS5kcmFnIiwgdG91Y2htb3ZlZCkKKyAgICAgICAgLm9uKCJ0b3VjaGVuZC5kcmFnIHRv
dWNoY2FuY2VsLmRyYWciLCB0b3VjaGVuZGVkKQorICAgICAgICAuc3R5bGUoInRvdWNoLWFjdGlv
biIsICJub25lIikKKyAgICAgICAgLnN0eWxlKCItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3Ii
LCAicmdiYSgwLDAsMCwwKSIpOworICB9CisKKyAgZnVuY3Rpb24gbW91c2Vkb3duZWQoKSB7Cisg
ICAgaWYgKHRvdWNoZW5kaW5nIHx8ICFmaWx0ZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSkgcmV0
dXJuOworICAgIHZhciBnZXN0dXJlID0gYmVmb3Jlc3RhcnQoIm1vdXNlIiwgY29udGFpbmVyLmFw
cGx5KHRoaXMsIGFyZ3VtZW50cyksIG1vdXNlLCB0aGlzLCBhcmd1bWVudHMpOworICAgIGlmICgh
Z2VzdHVyZSkgcmV0dXJuOworICAgIHNlbGVjdChleHBvcnRzLmV2ZW50LnZpZXcpLm9uKCJtb3Vz
ZW1vdmUuZHJhZyIsIG1vdXNlbW92ZWQsIHRydWUpLm9uKCJtb3VzZXVwLmRyYWciLCBtb3VzZXVw
cGVkLCB0cnVlKTsKKyAgICBkcmFnRGlzYWJsZShleHBvcnRzLmV2ZW50LnZpZXcpOworICAgIG5v
cHJvcGFnYXRpb24oKTsKKyAgICBtb3VzZW1vdmluZyA9IGZhbHNlOworICAgIG1vdXNlZG93bngg
PSBleHBvcnRzLmV2ZW50LmNsaWVudFg7CisgICAgbW91c2Vkb3dueSA9IGV4cG9ydHMuZXZlbnQu
Y2xpZW50WTsKKyAgICBnZXN0dXJlKCJzdGFydCIpOworICB9CisKKyAgZnVuY3Rpb24gbW91c2Vt
b3ZlZCgpIHsKKyAgICBub2V2ZW50KCk7CisgICAgaWYgKCFtb3VzZW1vdmluZykgeworICAgICAg
dmFyIGR4ID0gZXhwb3J0cy5ldmVudC5jbGllbnRYIC0gbW91c2Vkb3dueCwgZHkgPSBleHBvcnRz
LmV2ZW50LmNsaWVudFkgLSBtb3VzZWRvd255OworICAgICAgbW91c2Vtb3ZpbmcgPSBkeCAqIGR4
ICsgZHkgKiBkeSA+IGNsaWNrRGlzdGFuY2UyOworICAgIH0KKyAgICBnZXN0dXJlcy5tb3VzZSgi
ZHJhZyIpOworICB9CisKKyAgZnVuY3Rpb24gbW91c2V1cHBlZCgpIHsKKyAgICBzZWxlY3QoZXhw
b3J0cy5ldmVudC52aWV3KS5vbigibW91c2Vtb3ZlLmRyYWcgbW91c2V1cC5kcmFnIiwgbnVsbCk7
CisgICAgeWVzZHJhZyhleHBvcnRzLmV2ZW50LnZpZXcsIG1vdXNlbW92aW5nKTsKKyAgICBub2V2
ZW50KCk7CisgICAgZ2VzdHVyZXMubW91c2UoImVuZCIpOworICB9CisKKyAgZnVuY3Rpb24gdG91
Y2hzdGFydGVkKCkgeworICAgIGlmICghZmlsdGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpIHJl
dHVybjsKKyAgICB2YXIgdG91Y2hlcyA9IGV4cG9ydHMuZXZlbnQuY2hhbmdlZFRvdWNoZXMsCisg
ICAgICAgIGMgPSBjb250YWluZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSwKKyAgICAgICAgbiA9
IHRvdWNoZXMubGVuZ3RoLCBpLCBnZXN0dXJlOworCisgICAgZm9yIChpID0gMDsgaSA8IG47ICsr
aSkgeworICAgICAgaWYgKGdlc3R1cmUgPSBiZWZvcmVzdGFydCh0b3VjaGVzW2ldLmlkZW50aWZp
ZXIsIGMsIHRvdWNoLCB0aGlzLCBhcmd1bWVudHMpKSB7CisgICAgICAgIG5vcHJvcGFnYXRpb24o
KTsKKyAgICAgICAgZ2VzdHVyZSgic3RhcnQiKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBm
dW5jdGlvbiB0b3VjaG1vdmVkKCkgeworICAgIHZhciB0b3VjaGVzID0gZXhwb3J0cy5ldmVudC5j
aGFuZ2VkVG91Y2hlcywKKyAgICAgICAgbiA9IHRvdWNoZXMubGVuZ3RoLCBpLCBnZXN0dXJlOwor
CisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgaWYgKGdlc3R1cmUgPSBnZXN0
dXJlc1t0b3VjaGVzW2ldLmlkZW50aWZpZXJdKSB7CisgICAgICAgIG5vZXZlbnQoKTsKKyAgICAg
ICAgZ2VzdHVyZSgiZHJhZyIpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIHRv
dWNoZW5kZWQoKSB7CisgICAgdmFyIHRvdWNoZXMgPSBleHBvcnRzLmV2ZW50LmNoYW5nZWRUb3Vj
aGVzLAorICAgICAgICBuID0gdG91Y2hlcy5sZW5ndGgsIGksIGdlc3R1cmU7CisKKyAgICBpZiAo
dG91Y2hlbmRpbmcpIGNsZWFyVGltZW91dCh0b3VjaGVuZGluZyk7CisgICAgdG91Y2hlbmRpbmcg
PSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB0b3VjaGVuZGluZyA9IG51bGw7IH0sIDUwMCk7IC8v
IEdob3N0IGNsaWNrcyBhcmUgZGVsYXllZCEKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7
CisgICAgICBpZiAoZ2VzdHVyZSA9IGdlc3R1cmVzW3RvdWNoZXNbaV0uaWRlbnRpZmllcl0pIHsK
KyAgICAgICAgbm9wcm9wYWdhdGlvbigpOworICAgICAgICBnZXN0dXJlKCJlbmQiKTsKKyAgICAg
IH0KKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBiZWZvcmVzdGFydChpZCwgY29udGFpbmVyLCBw
b2ludCwgdGhhdCwgYXJncykgeworICAgIHZhciBwID0gcG9pbnQoY29udGFpbmVyLCBpZCksIHMs
IGR4LCBkeSwKKyAgICAgICAgc3VibGlzdGVuZXJzID0gbGlzdGVuZXJzLmNvcHkoKTsKKworICAg
IGlmICghY3VzdG9tRXZlbnQobmV3IERyYWdFdmVudChkcmFnLCAiYmVmb3Jlc3RhcnQiLCBzLCBp
ZCwgYWN0aXZlLCBwWzBdLCBwWzFdLCAwLCAwLCBzdWJsaXN0ZW5lcnMpLCBmdW5jdGlvbigpIHsK
KyAgICAgIGlmICgoZXhwb3J0cy5ldmVudC5zdWJqZWN0ID0gcyA9IHN1YmplY3QuYXBwbHkodGhh
dCwgYXJncykpID09IG51bGwpIHJldHVybiBmYWxzZTsKKyAgICAgIGR4ID0gcy54IC0gcFswXSB8
fCAwOworICAgICAgZHkgPSBzLnkgLSBwWzFdIHx8IDA7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9KSkgcmV0dXJuOworCisgICAgcmV0dXJuIGZ1bmN0aW9uIGdlc3R1cmUodHlwZSkgeworICAg
ICAgdmFyIHAwID0gcCwgbjsKKyAgICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlICJz
dGFydCI6IGdlc3R1cmVzW2lkXSA9IGdlc3R1cmUsIG4gPSBhY3RpdmUrKzsgYnJlYWs7CisgICAg
ICAgIGNhc2UgImVuZCI6IGRlbGV0ZSBnZXN0dXJlc1tpZF0sIC0tYWN0aXZlOyAvLyBub2JyZWFr
CisgICAgICAgIGNhc2UgImRyYWciOiBwID0gcG9pbnQoY29udGFpbmVyLCBpZCksIG4gPSBhY3Rp
dmU7IGJyZWFrOworICAgICAgfQorICAgICAgY3VzdG9tRXZlbnQobmV3IERyYWdFdmVudChkcmFn
LCB0eXBlLCBzLCBpZCwgbiwgcFswXSArIGR4LCBwWzFdICsgZHksIHBbMF0gLSBwMFswXSwgcFsx
XSAtIHAwWzFdLCBzdWJsaXN0ZW5lcnMpLCBzdWJsaXN0ZW5lcnMuYXBwbHksIHN1Ymxpc3RlbmVy
cywgW3R5cGUsIHRoYXQsIGFyZ3NdKTsKKyAgICB9OworICB9CisKKyAgZHJhZy5maWx0ZXIgPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZmlsdGVyID0gdHlw
ZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkMighIV8pLCBkcmFnKSA6IGZpbHRl
cjsKKyAgfTsKKworICBkcmFnLmNvbnRhaW5lciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/IChjb250YWluZXIgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/
IF8gOiBjb25zdGFudCQyKF8pLCBkcmFnKSA6IGNvbnRhaW5lcjsKKyAgfTsKKworICBkcmFnLnN1
YmplY3QgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc3Vi
amVjdCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDIoXyksIGRyYWcp
IDogc3ViamVjdDsKKyAgfTsKKworICBkcmFnLnRvdWNoYWJsZSA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0b3VjaGFibGUgPSB0eXBlb2YgXyA9PT0gImZ1
bmN0aW9uIiA/IF8gOiBjb25zdGFudCQyKCEhXyksIGRyYWcpIDogdG91Y2hhYmxlOworICB9Owor
CisgIGRyYWcub24gPSBmdW5jdGlvbigpIHsKKyAgICB2YXIgdmFsdWUgPSBsaXN0ZW5lcnMub24u
YXBwbHkobGlzdGVuZXJzLCBhcmd1bWVudHMpOworICAgIHJldHVybiB2YWx1ZSA9PT0gbGlzdGVu
ZXJzID8gZHJhZyA6IHZhbHVlOworICB9OworCisgIGRyYWcuY2xpY2tEaXN0YW5jZSA9IGZ1bmN0
aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChjbGlja0Rpc3RhbmNlMiA9
IChfID0gK18pICogXywgZHJhZykgOiBNYXRoLnNxcnQoY2xpY2tEaXN0YW5jZTIpOworICB9Owor
CisgIHJldHVybiBkcmFnOworfQorCitmdW5jdGlvbiBkZWZpbmUoY29uc3RydWN0b3IsIGZhY3Rv
cnksIHByb3RvdHlwZSkgeworICBjb25zdHJ1Y3Rvci5wcm90b3R5cGUgPSBmYWN0b3J5LnByb3Rv
dHlwZSA9IHByb3RvdHlwZTsKKyAgcHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY29uc3RydWN0b3I7
Cit9CisKK2Z1bmN0aW9uIGV4dGVuZChwYXJlbnQsIGRlZmluaXRpb24pIHsKKyAgdmFyIHByb3Rv
dHlwZSA9IE9iamVjdC5jcmVhdGUocGFyZW50LnByb3RvdHlwZSk7CisgIGZvciAodmFyIGtleSBp
biBkZWZpbml0aW9uKSBwcm90b3R5cGVba2V5XSA9IGRlZmluaXRpb25ba2V5XTsKKyAgcmV0dXJu
IHByb3RvdHlwZTsKK30KKworZnVuY3Rpb24gQ29sb3IoKSB7fQorCit2YXIgZGFya2VyID0gMC43
OwordmFyIGJyaWdodGVyID0gMSAvIGRhcmtlcjsKKwordmFyIHJlSSA9ICJcXHMqKFsrLV0/XFxk
KylcXHMqIiwKKyAgICByZU4gPSAiXFxzKihbKy1dP1xcZCpcXC4/XFxkKyg/OltlRV1bKy1dP1xc
ZCspPylcXHMqIiwKKyAgICByZVAgPSAiXFxzKihbKy1dP1xcZCpcXC4/XFxkKyg/OltlRV1bKy1d
P1xcZCspPyklXFxzKiIsCisgICAgcmVIZXggPSAvXiMoWzAtOWEtZl17Myw4fSkkLywKKyAgICBy
ZVJnYkludGVnZXIgPSBuZXcgUmVnRXhwKCJecmdiXFwoIiArIFtyZUksIHJlSSwgcmVJXSArICJc
XCkkIiksCisgICAgcmVSZ2JQZXJjZW50ID0gbmV3IFJlZ0V4cCgiXnJnYlxcKCIgKyBbcmVQLCBy
ZVAsIHJlUF0gKyAiXFwpJCIpLAorICAgIHJlUmdiYUludGVnZXIgPSBuZXcgUmVnRXhwKCJecmdi
YVxcKCIgKyBbcmVJLCByZUksIHJlSSwgcmVOXSArICJcXCkkIiksCisgICAgcmVSZ2JhUGVyY2Vu
dCA9IG5ldyBSZWdFeHAoIl5yZ2JhXFwoIiArIFtyZVAsIHJlUCwgcmVQLCByZU5dICsgIlxcKSQi
KSwKKyAgICByZUhzbFBlcmNlbnQgPSBuZXcgUmVnRXhwKCJeaHNsXFwoIiArIFtyZU4sIHJlUCwg
cmVQXSArICJcXCkkIiksCisgICAgcmVIc2xhUGVyY2VudCA9IG5ldyBSZWdFeHAoIl5oc2xhXFwo
IiArIFtyZU4sIHJlUCwgcmVQLCByZU5dICsgIlxcKSQiKTsKKwordmFyIG5hbWVkID0geworICBh
bGljZWJsdWU6IDB4ZjBmOGZmLAorICBhbnRpcXVld2hpdGU6IDB4ZmFlYmQ3LAorICBhcXVhOiAw
eDAwZmZmZiwKKyAgYXF1YW1hcmluZTogMHg3ZmZmZDQsCisgIGF6dXJlOiAweGYwZmZmZiwKKyAg
YmVpZ2U6IDB4ZjVmNWRjLAorICBiaXNxdWU6IDB4ZmZlNGM0LAorICBibGFjazogMHgwMDAwMDAs
CisgIGJsYW5jaGVkYWxtb25kOiAweGZmZWJjZCwKKyAgYmx1ZTogMHgwMDAwZmYsCisgIGJsdWV2
aW9sZXQ6IDB4OGEyYmUyLAorICBicm93bjogMHhhNTJhMmEsCisgIGJ1cmx5d29vZDogMHhkZWI4
ODcsCisgIGNhZGV0Ymx1ZTogMHg1ZjllYTAsCisgIGNoYXJ0cmV1c2U6IDB4N2ZmZjAwLAorICBj
aG9jb2xhdGU6IDB4ZDI2OTFlLAorICBjb3JhbDogMHhmZjdmNTAsCisgIGNvcm5mbG93ZXJibHVl
OiAweDY0OTVlZCwKKyAgY29ybnNpbGs6IDB4ZmZmOGRjLAorICBjcmltc29uOiAweGRjMTQzYywK
KyAgY3lhbjogMHgwMGZmZmYsCisgIGRhcmtibHVlOiAweDAwMDA4YiwKKyAgZGFya2N5YW46IDB4
MDA4YjhiLAorICBkYXJrZ29sZGVucm9kOiAweGI4ODYwYiwKKyAgZGFya2dyYXk6IDB4YTlhOWE5
LAorICBkYXJrZ3JlZW46IDB4MDA2NDAwLAorICBkYXJrZ3JleTogMHhhOWE5YTksCisgIGRhcmtr
aGFraTogMHhiZGI3NmIsCisgIGRhcmttYWdlbnRhOiAweDhiMDA4YiwKKyAgZGFya29saXZlZ3Jl
ZW46IDB4NTU2YjJmLAorICBkYXJrb3JhbmdlOiAweGZmOGMwMCwKKyAgZGFya29yY2hpZDogMHg5
OTMyY2MsCisgIGRhcmtyZWQ6IDB4OGIwMDAwLAorICBkYXJrc2FsbW9uOiAweGU5OTY3YSwKKyAg
ZGFya3NlYWdyZWVuOiAweDhmYmM4ZiwKKyAgZGFya3NsYXRlYmx1ZTogMHg0ODNkOGIsCisgIGRh
cmtzbGF0ZWdyYXk6IDB4MmY0ZjRmLAorICBkYXJrc2xhdGVncmV5OiAweDJmNGY0ZiwKKyAgZGFy
a3R1cnF1b2lzZTogMHgwMGNlZDEsCisgIGRhcmt2aW9sZXQ6IDB4OTQwMGQzLAorICBkZWVwcGlu
azogMHhmZjE0OTMsCisgIGRlZXBza3libHVlOiAweDAwYmZmZiwKKyAgZGltZ3JheTogMHg2OTY5
NjksCisgIGRpbWdyZXk6IDB4Njk2OTY5LAorICBkb2RnZXJibHVlOiAweDFlOTBmZiwKKyAgZmly
ZWJyaWNrOiAweGIyMjIyMiwKKyAgZmxvcmFsd2hpdGU6IDB4ZmZmYWYwLAorICBmb3Jlc3RncmVl
bjogMHgyMjhiMjIsCisgIGZ1Y2hzaWE6IDB4ZmYwMGZmLAorICBnYWluc2Jvcm86IDB4ZGNkY2Rj
LAorICBnaG9zdHdoaXRlOiAweGY4ZjhmZiwKKyAgZ29sZDogMHhmZmQ3MDAsCisgIGdvbGRlbnJv
ZDogMHhkYWE1MjAsCisgIGdyYXk6IDB4ODA4MDgwLAorICBncmVlbjogMHgwMDgwMDAsCisgIGdy
ZWVueWVsbG93OiAweGFkZmYyZiwKKyAgZ3JleTogMHg4MDgwODAsCisgIGhvbmV5ZGV3OiAweGYw
ZmZmMCwKKyAgaG90cGluazogMHhmZjY5YjQsCisgIGluZGlhbnJlZDogMHhjZDVjNWMsCisgIGlu
ZGlnbzogMHg0YjAwODIsCisgIGl2b3J5OiAweGZmZmZmMCwKKyAga2hha2k6IDB4ZjBlNjhjLAor
ICBsYXZlbmRlcjogMHhlNmU2ZmEsCisgIGxhdmVuZGVyYmx1c2g6IDB4ZmZmMGY1LAorICBsYXdu
Z3JlZW46IDB4N2NmYzAwLAorICBsZW1vbmNoaWZmb246IDB4ZmZmYWNkLAorICBsaWdodGJsdWU6
IDB4YWRkOGU2LAorICBsaWdodGNvcmFsOiAweGYwODA4MCwKKyAgbGlnaHRjeWFuOiAweGUwZmZm
ZiwKKyAgbGlnaHRnb2xkZW5yb2R5ZWxsb3c6IDB4ZmFmYWQyLAorICBsaWdodGdyYXk6IDB4ZDNk
M2QzLAorICBsaWdodGdyZWVuOiAweDkwZWU5MCwKKyAgbGlnaHRncmV5OiAweGQzZDNkMywKKyAg
bGlnaHRwaW5rOiAweGZmYjZjMSwKKyAgbGlnaHRzYWxtb246IDB4ZmZhMDdhLAorICBsaWdodHNl
YWdyZWVuOiAweDIwYjJhYSwKKyAgbGlnaHRza3libHVlOiAweDg3Y2VmYSwKKyAgbGlnaHRzbGF0
ZWdyYXk6IDB4Nzc4ODk5LAorICBsaWdodHNsYXRlZ3JleTogMHg3Nzg4OTksCisgIGxpZ2h0c3Rl
ZWxibHVlOiAweGIwYzRkZSwKKyAgbGlnaHR5ZWxsb3c6IDB4ZmZmZmUwLAorICBsaW1lOiAweDAw
ZmYwMCwKKyAgbGltZWdyZWVuOiAweDMyY2QzMiwKKyAgbGluZW46IDB4ZmFmMGU2LAorICBtYWdl
bnRhOiAweGZmMDBmZiwKKyAgbWFyb29uOiAweDgwMDAwMCwKKyAgbWVkaXVtYXF1YW1hcmluZTog
MHg2NmNkYWEsCisgIG1lZGl1bWJsdWU6IDB4MDAwMGNkLAorICBtZWRpdW1vcmNoaWQ6IDB4YmE1
NWQzLAorICBtZWRpdW1wdXJwbGU6IDB4OTM3MGRiLAorICBtZWRpdW1zZWFncmVlbjogMHgzY2Iz
NzEsCisgIG1lZGl1bXNsYXRlYmx1ZTogMHg3YjY4ZWUsCisgIG1lZGl1bXNwcmluZ2dyZWVuOiAw
eDAwZmE5YSwKKyAgbWVkaXVtdHVycXVvaXNlOiAweDQ4ZDFjYywKKyAgbWVkaXVtdmlvbGV0cmVk
OiAweGM3MTU4NSwKKyAgbWlkbmlnaHRibHVlOiAweDE5MTk3MCwKKyAgbWludGNyZWFtOiAweGY1
ZmZmYSwKKyAgbWlzdHlyb3NlOiAweGZmZTRlMSwKKyAgbW9jY2FzaW46IDB4ZmZlNGI1LAorICBu
YXZham93aGl0ZTogMHhmZmRlYWQsCisgIG5hdnk6IDB4MDAwMDgwLAorICBvbGRsYWNlOiAweGZk
ZjVlNiwKKyAgb2xpdmU6IDB4ODA4MDAwLAorICBvbGl2ZWRyYWI6IDB4NmI4ZTIzLAorICBvcmFu
Z2U6IDB4ZmZhNTAwLAorICBvcmFuZ2VyZWQ6IDB4ZmY0NTAwLAorICBvcmNoaWQ6IDB4ZGE3MGQ2
LAorICBwYWxlZ29sZGVucm9kOiAweGVlZThhYSwKKyAgcGFsZWdyZWVuOiAweDk4ZmI5OCwKKyAg
cGFsZXR1cnF1b2lzZTogMHhhZmVlZWUsCisgIHBhbGV2aW9sZXRyZWQ6IDB4ZGI3MDkzLAorICBw
YXBheWF3aGlwOiAweGZmZWZkNSwKKyAgcGVhY2hwdWZmOiAweGZmZGFiOSwKKyAgcGVydTogMHhj
ZDg1M2YsCisgIHBpbms6IDB4ZmZjMGNiLAorICBwbHVtOiAweGRkYTBkZCwKKyAgcG93ZGVyYmx1
ZTogMHhiMGUwZTYsCisgIHB1cnBsZTogMHg4MDAwODAsCisgIHJlYmVjY2FwdXJwbGU6IDB4NjYz
Mzk5LAorICByZWQ6IDB4ZmYwMDAwLAorICByb3N5YnJvd246IDB4YmM4ZjhmLAorICByb3lhbGJs
dWU6IDB4NDE2OWUxLAorICBzYWRkbGVicm93bjogMHg4YjQ1MTMsCisgIHNhbG1vbjogMHhmYTgw
NzIsCisgIHNhbmR5YnJvd246IDB4ZjRhNDYwLAorICBzZWFncmVlbjogMHgyZThiNTcsCisgIHNl
YXNoZWxsOiAweGZmZjVlZSwKKyAgc2llbm5hOiAweGEwNTIyZCwKKyAgc2lsdmVyOiAweGMwYzBj
MCwKKyAgc2t5Ymx1ZTogMHg4N2NlZWIsCisgIHNsYXRlYmx1ZTogMHg2YTVhY2QsCisgIHNsYXRl
Z3JheTogMHg3MDgwOTAsCisgIHNsYXRlZ3JleTogMHg3MDgwOTAsCisgIHNub3c6IDB4ZmZmYWZh
LAorICBzcHJpbmdncmVlbjogMHgwMGZmN2YsCisgIHN0ZWVsYmx1ZTogMHg0NjgyYjQsCisgIHRh
bjogMHhkMmI0OGMsCisgIHRlYWw6IDB4MDA4MDgwLAorICB0aGlzdGxlOiAweGQ4YmZkOCwKKyAg
dG9tYXRvOiAweGZmNjM0NywKKyAgdHVycXVvaXNlOiAweDQwZTBkMCwKKyAgdmlvbGV0OiAweGVl
ODJlZSwKKyAgd2hlYXQ6IDB4ZjVkZWIzLAorICB3aGl0ZTogMHhmZmZmZmYsCisgIHdoaXRlc21v
a2U6IDB4ZjVmNWY1LAorICB5ZWxsb3c6IDB4ZmZmZjAwLAorICB5ZWxsb3dncmVlbjogMHg5YWNk
MzIKK307CisKK2RlZmluZShDb2xvciwgY29sb3IsIHsKKyAgY29weTogZnVuY3Rpb24oY2hhbm5l
bHMpIHsKKyAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgdGhpcy5jb25zdHJ1Y3RvciwgdGhp
cywgY2hhbm5lbHMpOworICB9LAorICBkaXNwbGF5YWJsZTogZnVuY3Rpb24oKSB7CisgICAgcmV0
dXJuIHRoaXMucmdiKCkuZGlzcGxheWFibGUoKTsKKyAgfSwKKyAgaGV4OiBjb2xvcl9mb3JtYXRI
ZXgsIC8vIERlcHJlY2F0ZWQhIFVzZSBjb2xvci5mb3JtYXRIZXguCisgIGZvcm1hdEhleDogY29s
b3JfZm9ybWF0SGV4LAorICBmb3JtYXRIc2w6IGNvbG9yX2Zvcm1hdEhzbCwKKyAgZm9ybWF0Umdi
OiBjb2xvcl9mb3JtYXRSZ2IsCisgIHRvU3RyaW5nOiBjb2xvcl9mb3JtYXRSZ2IKK30pOworCitm
dW5jdGlvbiBjb2xvcl9mb3JtYXRIZXgoKSB7CisgIHJldHVybiB0aGlzLnJnYigpLmZvcm1hdEhl
eCgpOworfQorCitmdW5jdGlvbiBjb2xvcl9mb3JtYXRIc2woKSB7CisgIHJldHVybiBoc2xDb252
ZXJ0KHRoaXMpLmZvcm1hdEhzbCgpOworfQorCitmdW5jdGlvbiBjb2xvcl9mb3JtYXRSZ2IoKSB7
CisgIHJldHVybiB0aGlzLnJnYigpLmZvcm1hdFJnYigpOworfQorCitmdW5jdGlvbiBjb2xvcihm
b3JtYXQpIHsKKyAgdmFyIG0sIGw7CisgIGZvcm1hdCA9IChmb3JtYXQgKyAiIikudHJpbSgpLnRv
TG93ZXJDYXNlKCk7CisgIHJldHVybiAobSA9IHJlSGV4LmV4ZWMoZm9ybWF0KSkgPyAobCA9IG1b
MV0ubGVuZ3RoLCBtID0gcGFyc2VJbnQobVsxXSwgMTYpLCBsID09PSA2ID8gcmdibihtKSAvLyAj
ZmYwMDAwCisgICAgICA6IGwgPT09IDMgPyBuZXcgUmdiKChtID4+IDggJiAweGYpIHwgKG0gPj4g
NCAmIDB4ZjApLCAobSA+PiA0ICYgMHhmKSB8IChtICYgMHhmMCksICgobSAmIDB4ZikgPDwgNCkg
fCAobSAmIDB4ZiksIDEpIC8vICNmMDAKKyAgICAgIDogbCA9PT0gOCA/IG5ldyBSZ2IobSA+PiAy
NCAmIDB4ZmYsIG0gPj4gMTYgJiAweGZmLCBtID4+IDggJiAweGZmLCAobSAmIDB4ZmYpIC8gMHhm
ZikgLy8gI2ZmMDAwMDAwCisgICAgICA6IGwgPT09IDQgPyBuZXcgUmdiKChtID4+IDEyICYgMHhm
KSB8IChtID4+IDggJiAweGYwKSwgKG0gPj4gOCAmIDB4ZikgfCAobSA+PiA0ICYgMHhmMCksICht
ID4+IDQgJiAweGYpIHwgKG0gJiAweGYwKSwgKCgobSAmIDB4ZikgPDwgNCkgfCAobSAmIDB4Zikp
IC8gMHhmZikgLy8gI2YwMDAKKyAgICAgIDogbnVsbCkgLy8gaW52YWxpZCBoZXgKKyAgICAgIDog
KG0gPSByZVJnYkludGVnZXIuZXhlYyhmb3JtYXQpKSA/IG5ldyBSZ2IobVsxXSwgbVsyXSwgbVsz
XSwgMSkgLy8gcmdiKDI1NSwgMCwgMCkKKyAgICAgIDogKG0gPSByZVJnYlBlcmNlbnQuZXhlYyhm
b3JtYXQpKSA/IG5ldyBSZ2IobVsxXSAqIDI1NSAvIDEwMCwgbVsyXSAqIDI1NSAvIDEwMCwgbVsz
XSAqIDI1NSAvIDEwMCwgMSkgLy8gcmdiKDEwMCUsIDAlLCAwJSkKKyAgICAgIDogKG0gPSByZVJn
YmFJbnRlZ2VyLmV4ZWMoZm9ybWF0KSkgPyByZ2JhKG1bMV0sIG1bMl0sIG1bM10sIG1bNF0pIC8v
IHJnYmEoMjU1LCAwLCAwLCAxKQorICAgICAgOiAobSA9IHJlUmdiYVBlcmNlbnQuZXhlYyhmb3Jt
YXQpKSA/IHJnYmEobVsxXSAqIDI1NSAvIDEwMCwgbVsyXSAqIDI1NSAvIDEwMCwgbVszXSAqIDI1
NSAvIDEwMCwgbVs0XSkgLy8gcmdiKDEwMCUsIDAlLCAwJSwgMSkKKyAgICAgIDogKG0gPSByZUhz
bFBlcmNlbnQuZXhlYyhmb3JtYXQpKSA/IGhzbGEobVsxXSwgbVsyXSAvIDEwMCwgbVszXSAvIDEw
MCwgMSkgLy8gaHNsKDEyMCwgNTAlLCA1MCUpCisgICAgICA6IChtID0gcmVIc2xhUGVyY2VudC5l
eGVjKGZvcm1hdCkpID8gaHNsYShtWzFdLCBtWzJdIC8gMTAwLCBtWzNdIC8gMTAwLCBtWzRdKSAv
LyBoc2xhKDEyMCwgNTAlLCA1MCUsIDEpCisgICAgICA6IG5hbWVkLmhhc093blByb3BlcnR5KGZv
cm1hdCkgPyByZ2JuKG5hbWVkW2Zvcm1hdF0pIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tcHJv
dG90eXBlLWJ1aWx0aW5zCisgICAgICA6IGZvcm1hdCA9PT0gInRyYW5zcGFyZW50IiA/IG5ldyBS
Z2IoTmFOLCBOYU4sIE5hTiwgMCkKKyAgICAgIDogbnVsbDsKK30KKworZnVuY3Rpb24gcmdibihu
KSB7CisgIHJldHVybiBuZXcgUmdiKG4gPj4gMTYgJiAweGZmLCBuID4+IDggJiAweGZmLCBuICYg
MHhmZiwgMSk7Cit9CisKK2Z1bmN0aW9uIHJnYmEociwgZywgYiwgYSkgeworICBpZiAoYSA8PSAw
KSByID0gZyA9IGIgPSBOYU47CisgIHJldHVybiBuZXcgUmdiKHIsIGcsIGIsIGEpOworfQorCitm
dW5jdGlvbiByZ2JDb252ZXJ0KG8pIHsKKyAgaWYgKCEobyBpbnN0YW5jZW9mIENvbG9yKSkgbyA9
IGNvbG9yKG8pOworICBpZiAoIW8pIHJldHVybiBuZXcgUmdiOworICBvID0gby5yZ2IoKTsKKyAg
cmV0dXJuIG5ldyBSZ2Ioby5yLCBvLmcsIG8uYiwgby5vcGFjaXR5KTsKK30KKworZnVuY3Rpb24g
cmdiKHIsIGcsIGIsIG9wYWNpdHkpIHsKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPT09IDEg
PyByZ2JDb252ZXJ0KHIpIDogbmV3IFJnYihyLCBnLCBiLCBvcGFjaXR5ID09IG51bGwgPyAxIDog
b3BhY2l0eSk7Cit9CisKK2Z1bmN0aW9uIFJnYihyLCBnLCBiLCBvcGFjaXR5KSB7CisgIHRoaXMu
ciA9ICtyOworICB0aGlzLmcgPSArZzsKKyAgdGhpcy5iID0gK2I7CisgIHRoaXMub3BhY2l0eSA9
ICtvcGFjaXR5OworfQorCitkZWZpbmUoUmdiLCByZ2IsIGV4dGVuZChDb2xvciwgeworICBicmln
aHRlcjogZnVuY3Rpb24oaykgeworICAgIGsgPSBrID09IG51bGwgPyBicmlnaHRlciA6IE1hdGgu
cG93KGJyaWdodGVyLCBrKTsKKyAgICByZXR1cm4gbmV3IFJnYih0aGlzLnIgKiBrLCB0aGlzLmcg
KiBrLCB0aGlzLmIgKiBrLCB0aGlzLm9wYWNpdHkpOworICB9LAorICBkYXJrZXI6IGZ1bmN0aW9u
KGspIHsKKyAgICBrID0gayA9PSBudWxsID8gZGFya2VyIDogTWF0aC5wb3coZGFya2VyLCBrKTsK
KyAgICByZXR1cm4gbmV3IFJnYih0aGlzLnIgKiBrLCB0aGlzLmcgKiBrLCB0aGlzLmIgKiBrLCB0
aGlzLm9wYWNpdHkpOworICB9LAorICByZ2I6IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0aGlz
OworICB9LAorICBkaXNwbGF5YWJsZTogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuICgtMC41IDw9
IHRoaXMuciAmJiB0aGlzLnIgPCAyNTUuNSkKKyAgICAgICAgJiYgKC0wLjUgPD0gdGhpcy5nICYm
IHRoaXMuZyA8IDI1NS41KQorICAgICAgICAmJiAoLTAuNSA8PSB0aGlzLmIgJiYgdGhpcy5iIDwg
MjU1LjUpCisgICAgICAgICYmICgwIDw9IHRoaXMub3BhY2l0eSAmJiB0aGlzLm9wYWNpdHkgPD0g
MSk7CisgIH0sCisgIGhleDogcmdiX2Zvcm1hdEhleCwgLy8gRGVwcmVjYXRlZCEgVXNlIGNvbG9y
LmZvcm1hdEhleC4KKyAgZm9ybWF0SGV4OiByZ2JfZm9ybWF0SGV4LAorICBmb3JtYXRSZ2I6IHJn
Yl9mb3JtYXRSZ2IsCisgIHRvU3RyaW5nOiByZ2JfZm9ybWF0UmdiCit9KSk7CisKK2Z1bmN0aW9u
IHJnYl9mb3JtYXRIZXgoKSB7CisgIHJldHVybiAiIyIgKyBoZXgodGhpcy5yKSArIGhleCh0aGlz
LmcpICsgaGV4KHRoaXMuYik7Cit9CisKK2Z1bmN0aW9uIHJnYl9mb3JtYXRSZ2IoKSB7CisgIHZh
ciBhID0gdGhpcy5vcGFjaXR5OyBhID0gaXNOYU4oYSkgPyAxIDogTWF0aC5tYXgoMCwgTWF0aC5t
aW4oMSwgYSkpOworICByZXR1cm4gKGEgPT09IDEgPyAicmdiKCIgOiAicmdiYSgiKQorICAgICAg
KyBNYXRoLm1heCgwLCBNYXRoLm1pbigyNTUsIE1hdGgucm91bmQodGhpcy5yKSB8fCAwKSkgKyAi
LCAiCisgICAgICArIE1hdGgubWF4KDAsIE1hdGgubWluKDI1NSwgTWF0aC5yb3VuZCh0aGlzLmcp
IHx8IDApKSArICIsICIKKyAgICAgICsgTWF0aC5tYXgoMCwgTWF0aC5taW4oMjU1LCBNYXRoLnJv
dW5kKHRoaXMuYikgfHwgMCkpCisgICAgICArIChhID09PSAxID8gIikiIDogIiwgIiArIGEgKyAi
KSIpOworfQorCitmdW5jdGlvbiBoZXgodmFsdWUpIHsKKyAgdmFsdWUgPSBNYXRoLm1heCgwLCBN
YXRoLm1pbigyNTUsIE1hdGgucm91bmQodmFsdWUpIHx8IDApKTsKKyAgcmV0dXJuICh2YWx1ZSA8
IDE2ID8gIjAiIDogIiIpICsgdmFsdWUudG9TdHJpbmcoMTYpOworfQorCitmdW5jdGlvbiBoc2xh
KGgsIHMsIGwsIGEpIHsKKyAgaWYgKGEgPD0gMCkgaCA9IHMgPSBsID0gTmFOOworICBlbHNlIGlm
IChsIDw9IDAgfHwgbCA+PSAxKSBoID0gcyA9IE5hTjsKKyAgZWxzZSBpZiAocyA8PSAwKSBoID0g
TmFOOworICByZXR1cm4gbmV3IEhzbChoLCBzLCBsLCBhKTsKK30KKworZnVuY3Rpb24gaHNsQ29u
dmVydChvKSB7CisgIGlmIChvIGluc3RhbmNlb2YgSHNsKSByZXR1cm4gbmV3IEhzbChvLmgsIG8u
cywgby5sLCBvLm9wYWNpdHkpOworICBpZiAoIShvIGluc3RhbmNlb2YgQ29sb3IpKSBvID0gY29s
b3Iobyk7CisgIGlmICghbykgcmV0dXJuIG5ldyBIc2w7CisgIGlmIChvIGluc3RhbmNlb2YgSHNs
KSByZXR1cm4gbzsKKyAgbyA9IG8ucmdiKCk7CisgIHZhciByID0gby5yIC8gMjU1LAorICAgICAg
ZyA9IG8uZyAvIDI1NSwKKyAgICAgIGIgPSBvLmIgLyAyNTUsCisgICAgICBtaW4gPSBNYXRoLm1p
bihyLCBnLCBiKSwKKyAgICAgIG1heCA9IE1hdGgubWF4KHIsIGcsIGIpLAorICAgICAgaCA9IE5h
TiwKKyAgICAgIHMgPSBtYXggLSBtaW4sCisgICAgICBsID0gKG1heCArIG1pbikgLyAyOworICBp
ZiAocykgeworICAgIGlmIChyID09PSBtYXgpIGggPSAoZyAtIGIpIC8gcyArIChnIDwgYikgKiA2
OworICAgIGVsc2UgaWYgKGcgPT09IG1heCkgaCA9IChiIC0gcikgLyBzICsgMjsKKyAgICBlbHNl
IGggPSAociAtIGcpIC8gcyArIDQ7CisgICAgcyAvPSBsIDwgMC41ID8gbWF4ICsgbWluIDogMiAt
IG1heCAtIG1pbjsKKyAgICBoICo9IDYwOworICB9IGVsc2UgeworICAgIHMgPSBsID4gMCAmJiBs
IDwgMSA/IDAgOiBoOworICB9CisgIHJldHVybiBuZXcgSHNsKGgsIHMsIGwsIG8ub3BhY2l0eSk7
Cit9CisKK2Z1bmN0aW9uIGhzbChoLCBzLCBsLCBvcGFjaXR5KSB7CisgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID09PSAxID8gaHNsQ29udmVydChoKSA6IG5ldyBIc2woaCwgcywgbCwgb3BhY2l0
eSA9PSBudWxsID8gMSA6IG9wYWNpdHkpOworfQorCitmdW5jdGlvbiBIc2woaCwgcywgbCwgb3Bh
Y2l0eSkgeworICB0aGlzLmggPSAraDsKKyAgdGhpcy5zID0gK3M7CisgIHRoaXMubCA9ICtsOwor
ICB0aGlzLm9wYWNpdHkgPSArb3BhY2l0eTsKK30KKworZGVmaW5lKEhzbCwgaHNsLCBleHRlbmQo
Q29sb3IsIHsKKyAgYnJpZ2h0ZXI6IGZ1bmN0aW9uKGspIHsKKyAgICBrID0gayA9PSBudWxsID8g
YnJpZ2h0ZXIgOiBNYXRoLnBvdyhicmlnaHRlciwgayk7CisgICAgcmV0dXJuIG5ldyBIc2wodGhp
cy5oLCB0aGlzLnMsIHRoaXMubCAqIGssIHRoaXMub3BhY2l0eSk7CisgIH0sCisgIGRhcmtlcjog
ZnVuY3Rpb24oaykgeworICAgIGsgPSBrID09IG51bGwgPyBkYXJrZXIgOiBNYXRoLnBvdyhkYXJr
ZXIsIGspOworICAgIHJldHVybiBuZXcgSHNsKHRoaXMuaCwgdGhpcy5zLCB0aGlzLmwgKiBrLCB0
aGlzLm9wYWNpdHkpOworICB9LAorICByZ2I6IGZ1bmN0aW9uKCkgeworICAgIHZhciBoID0gdGhp
cy5oICUgMzYwICsgKHRoaXMuaCA8IDApICogMzYwLAorICAgICAgICBzID0gaXNOYU4oaCkgfHwg
aXNOYU4odGhpcy5zKSA/IDAgOiB0aGlzLnMsCisgICAgICAgIGwgPSB0aGlzLmwsCisgICAgICAg
IG0yID0gbCArIChsIDwgMC41ID8gbCA6IDEgLSBsKSAqIHMsCisgICAgICAgIG0xID0gMiAqIGwg
LSBtMjsKKyAgICByZXR1cm4gbmV3IFJnYigKKyAgICAgIGhzbDJyZ2IoaCA+PSAyNDAgPyBoIC0g
MjQwIDogaCArIDEyMCwgbTEsIG0yKSwKKyAgICAgIGhzbDJyZ2IoaCwgbTEsIG0yKSwKKyAgICAg
IGhzbDJyZ2IoaCA8IDEyMCA/IGggKyAyNDAgOiBoIC0gMTIwLCBtMSwgbTIpLAorICAgICAgdGhp
cy5vcGFjaXR5CisgICAgKTsKKyAgfSwKKyAgZGlzcGxheWFibGU6IGZ1bmN0aW9uKCkgeworICAg
IHJldHVybiAoMCA8PSB0aGlzLnMgJiYgdGhpcy5zIDw9IDEgfHwgaXNOYU4odGhpcy5zKSkKKyAg
ICAgICAgJiYgKDAgPD0gdGhpcy5sICYmIHRoaXMubCA8PSAxKQorICAgICAgICAmJiAoMCA8PSB0
aGlzLm9wYWNpdHkgJiYgdGhpcy5vcGFjaXR5IDw9IDEpOworICB9LAorICBmb3JtYXRIc2w6IGZ1
bmN0aW9uKCkgeworICAgIHZhciBhID0gdGhpcy5vcGFjaXR5OyBhID0gaXNOYU4oYSkgPyAxIDog
TWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgYSkpOworICAgIHJldHVybiAoYSA9PT0gMSA/ICJoc2wo
IiA6ICJoc2xhKCIpCisgICAgICAgICsgKHRoaXMuaCB8fCAwKSArICIsICIKKyAgICAgICAgKyAo
dGhpcy5zIHx8IDApICogMTAwICsgIiUsICIKKyAgICAgICAgKyAodGhpcy5sIHx8IDApICogMTAw
ICsgIiUiCisgICAgICAgICsgKGEgPT09IDEgPyAiKSIgOiAiLCAiICsgYSArICIpIik7CisgIH0K
K30pKTsKKworLyogRnJvbSBGdkQgMTMuMzcsIENTUyBDb2xvciBNb2R1bGUgTGV2ZWwgMyAqLwor
ZnVuY3Rpb24gaHNsMnJnYihoLCBtMSwgbTIpIHsKKyAgcmV0dXJuIChoIDwgNjAgPyBtMSArICht
MiAtIG0xKSAqIGggLyA2MAorICAgICAgOiBoIDwgMTgwID8gbTIKKyAgICAgIDogaCA8IDI0MCA/
IG0xICsgKG0yIC0gbTEpICogKDI0MCAtIGgpIC8gNjAKKyAgICAgIDogbTEpICogMjU1OworfQor
Cit2YXIgZGVnMnJhZCA9IE1hdGguUEkgLyAxODA7Cit2YXIgcmFkMmRlZyA9IDE4MCAvIE1hdGgu
UEk7CisKKy8vIGh0dHBzOi8vb2JzZXJ2YWJsZWhxLmNvbS9AbWJvc3RvY2svbGFiLWFuZC1yZ2IK
K3ZhciBLID0gMTgsCisgICAgWG4gPSAwLjk2NDIyLAorICAgIFluID0gMSwKKyAgICBabiA9IDAu
ODI1MjEsCisgICAgdDAgPSA0IC8gMjksCisgICAgdDEgPSA2IC8gMjksCisgICAgdDIgPSAzICog
dDEgKiB0MSwKKyAgICB0MyA9IHQxICogdDEgKiB0MTsKKworZnVuY3Rpb24gbGFiQ29udmVydChv
KSB7CisgIGlmIChvIGluc3RhbmNlb2YgTGFiKSByZXR1cm4gbmV3IExhYihvLmwsIG8uYSwgby5i
LCBvLm9wYWNpdHkpOworICBpZiAobyBpbnN0YW5jZW9mIEhjbCkgcmV0dXJuIGhjbDJsYWIobyk7
CisgIGlmICghKG8gaW5zdGFuY2VvZiBSZ2IpKSBvID0gcmdiQ29udmVydChvKTsKKyAgdmFyIHIg
PSByZ2IybHJnYihvLnIpLAorICAgICAgZyA9IHJnYjJscmdiKG8uZyksCisgICAgICBiID0gcmdi
MmxyZ2Ioby5iKSwKKyAgICAgIHkgPSB4eXoybGFiKCgwLjIyMjUwNDUgKiByICsgMC43MTY4Nzg2
ICogZyArIDAuMDYwNjE2OSAqIGIpIC8gWW4pLCB4LCB6OworICBpZiAociA9PT0gZyAmJiBnID09
PSBiKSB4ID0geiA9IHk7IGVsc2UgeworICAgIHggPSB4eXoybGFiKCgwLjQzNjA3NDcgKiByICsg
MC4zODUwNjQ5ICogZyArIDAuMTQzMDgwNCAqIGIpIC8gWG4pOworICAgIHogPSB4eXoybGFiKCgw
LjAxMzkzMjIgKiByICsgMC4wOTcxMDQ1ICogZyArIDAuNzE0MTczMyAqIGIpIC8gWm4pOworICB9
CisgIHJldHVybiBuZXcgTGFiKDExNiAqIHkgLSAxNiwgNTAwICogKHggLSB5KSwgMjAwICogKHkg
LSB6KSwgby5vcGFjaXR5KTsKK30KKworZnVuY3Rpb24gZ3JheShsLCBvcGFjaXR5KSB7CisgIHJl
dHVybiBuZXcgTGFiKGwsIDAsIDAsIG9wYWNpdHkgPT0gbnVsbCA/IDEgOiBvcGFjaXR5KTsKK30K
KworZnVuY3Rpb24gbGFiKGwsIGEsIGIsIG9wYWNpdHkpIHsKKyAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPT09IDEgPyBsYWJDb252ZXJ0KGwpIDogbmV3IExhYihsLCBhLCBiLCBvcGFjaXR5ID09
IG51bGwgPyAxIDogb3BhY2l0eSk7Cit9CisKK2Z1bmN0aW9uIExhYihsLCBhLCBiLCBvcGFjaXR5
KSB7CisgIHRoaXMubCA9ICtsOworICB0aGlzLmEgPSArYTsKKyAgdGhpcy5iID0gK2I7CisgIHRo
aXMub3BhY2l0eSA9ICtvcGFjaXR5OworfQorCitkZWZpbmUoTGFiLCBsYWIsIGV4dGVuZChDb2xv
ciwgeworICBicmlnaHRlcjogZnVuY3Rpb24oaykgeworICAgIHJldHVybiBuZXcgTGFiKHRoaXMu
bCArIEsgKiAoayA9PSBudWxsID8gMSA6IGspLCB0aGlzLmEsIHRoaXMuYiwgdGhpcy5vcGFjaXR5
KTsKKyAgfSwKKyAgZGFya2VyOiBmdW5jdGlvbihrKSB7CisgICAgcmV0dXJuIG5ldyBMYWIodGhp
cy5sIC0gSyAqIChrID09IG51bGwgPyAxIDogayksIHRoaXMuYSwgdGhpcy5iLCB0aGlzLm9wYWNp
dHkpOworICB9LAorICByZ2I6IGZ1bmN0aW9uKCkgeworICAgIHZhciB5ID0gKHRoaXMubCArIDE2
KSAvIDExNiwKKyAgICAgICAgeCA9IGlzTmFOKHRoaXMuYSkgPyB5IDogeSArIHRoaXMuYSAvIDUw
MCwKKyAgICAgICAgeiA9IGlzTmFOKHRoaXMuYikgPyB5IDogeSAtIHRoaXMuYiAvIDIwMDsKKyAg
ICB4ID0gWG4gKiBsYWIyeHl6KHgpOworICAgIHkgPSBZbiAqIGxhYjJ4eXooeSk7CisgICAgeiA9
IFpuICogbGFiMnh5eih6KTsKKyAgICByZXR1cm4gbmV3IFJnYigKKyAgICAgIGxyZ2IycmdiKCAz
LjEzMzg1NjEgKiB4IC0gMS42MTY4NjY3ICogeSAtIDAuNDkwNjE0NiAqIHopLAorICAgICAgbHJn
YjJyZ2IoLTAuOTc4NzY4NCAqIHggKyAxLjkxNjE0MTUgKiB5ICsgMC4wMzM0NTQwICogeiksCisg
ICAgICBscmdiMnJnYiggMC4wNzE5NDUzICogeCAtIDAuMjI4OTkxNCAqIHkgKyAxLjQwNTI0Mjcg
KiB6KSwKKyAgICAgIHRoaXMub3BhY2l0eQorICAgICk7CisgIH0KK30pKTsKKworZnVuY3Rpb24g
eHl6MmxhYih0KSB7CisgIHJldHVybiB0ID4gdDMgPyBNYXRoLnBvdyh0LCAxIC8gMykgOiB0IC8g
dDIgKyB0MDsKK30KKworZnVuY3Rpb24gbGFiMnh5eih0KSB7CisgIHJldHVybiB0ID4gdDEgPyB0
ICogdCAqIHQgOiB0MiAqICh0IC0gdDApOworfQorCitmdW5jdGlvbiBscmdiMnJnYih4KSB7Cisg
IHJldHVybiAyNTUgKiAoeCA8PSAwLjAwMzEzMDggPyAxMi45MiAqIHggOiAxLjA1NSAqIE1hdGgu
cG93KHgsIDEgLyAyLjQpIC0gMC4wNTUpOworfQorCitmdW5jdGlvbiByZ2IybHJnYih4KSB7Cisg
IHJldHVybiAoeCAvPSAyNTUpIDw9IDAuMDQwNDUgPyB4IC8gMTIuOTIgOiBNYXRoLnBvdygoeCAr
IDAuMDU1KSAvIDEuMDU1LCAyLjQpOworfQorCitmdW5jdGlvbiBoY2xDb252ZXJ0KG8pIHsKKyAg
aWYgKG8gaW5zdGFuY2VvZiBIY2wpIHJldHVybiBuZXcgSGNsKG8uaCwgby5jLCBvLmwsIG8ub3Bh
Y2l0eSk7CisgIGlmICghKG8gaW5zdGFuY2VvZiBMYWIpKSBvID0gbGFiQ29udmVydChvKTsKKyAg
aWYgKG8uYSA9PT0gMCAmJiBvLmIgPT09IDApIHJldHVybiBuZXcgSGNsKE5hTiwgMCA8IG8ubCAm
JiBvLmwgPCAxMDAgPyAwIDogTmFOLCBvLmwsIG8ub3BhY2l0eSk7CisgIHZhciBoID0gTWF0aC5h
dGFuMihvLmIsIG8uYSkgKiByYWQyZGVnOworICByZXR1cm4gbmV3IEhjbChoIDwgMCA/IGggKyAz
NjAgOiBoLCBNYXRoLnNxcnQoby5hICogby5hICsgby5iICogby5iKSwgby5sLCBvLm9wYWNpdHkp
OworfQorCitmdW5jdGlvbiBsY2gobCwgYywgaCwgb3BhY2l0eSkgeworICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA9PT0gMSA/IGhjbENvbnZlcnQobCkgOiBuZXcgSGNsKGgsIGMsIGwsIG9wYWNp
dHkgPT0gbnVsbCA/IDEgOiBvcGFjaXR5KTsKK30KKworZnVuY3Rpb24gaGNsKGgsIGMsIGwsIG9w
YWNpdHkpIHsKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPT09IDEgPyBoY2xDb252ZXJ0KGgp
IDogbmV3IEhjbChoLCBjLCBsLCBvcGFjaXR5ID09IG51bGwgPyAxIDogb3BhY2l0eSk7Cit9CisK
K2Z1bmN0aW9uIEhjbChoLCBjLCBsLCBvcGFjaXR5KSB7CisgIHRoaXMuaCA9ICtoOworICB0aGlz
LmMgPSArYzsKKyAgdGhpcy5sID0gK2w7CisgIHRoaXMub3BhY2l0eSA9ICtvcGFjaXR5OworfQor
CitmdW5jdGlvbiBoY2wybGFiKG8pIHsKKyAgaWYgKGlzTmFOKG8uaCkpIHJldHVybiBuZXcgTGFi
KG8ubCwgMCwgMCwgby5vcGFjaXR5KTsKKyAgdmFyIGggPSBvLmggKiBkZWcycmFkOworICByZXR1
cm4gbmV3IExhYihvLmwsIE1hdGguY29zKGgpICogby5jLCBNYXRoLnNpbihoKSAqIG8uYywgby5v
cGFjaXR5KTsKK30KKworZGVmaW5lKEhjbCwgaGNsLCBleHRlbmQoQ29sb3IsIHsKKyAgYnJpZ2h0
ZXI6IGZ1bmN0aW9uKGspIHsKKyAgICByZXR1cm4gbmV3IEhjbCh0aGlzLmgsIHRoaXMuYywgdGhp
cy5sICsgSyAqIChrID09IG51bGwgPyAxIDogayksIHRoaXMub3BhY2l0eSk7CisgIH0sCisgIGRh
cmtlcjogZnVuY3Rpb24oaykgeworICAgIHJldHVybiBuZXcgSGNsKHRoaXMuaCwgdGhpcy5jLCB0
aGlzLmwgLSBLICogKGsgPT0gbnVsbCA/IDEgOiBrKSwgdGhpcy5vcGFjaXR5KTsKKyAgfSwKKyAg
cmdiOiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gaGNsMmxhYih0aGlzKS5yZ2IoKTsKKyAgfQor
fSkpOworCit2YXIgQSA9IC0wLjE0ODYxLAorICAgIEIgPSArMS43ODI3NywKKyAgICBDID0gLTAu
MjkyMjcsCisgICAgRCA9IC0wLjkwNjQ5LAorICAgIEUgPSArMS45NzI5NCwKKyAgICBFRCA9IEUg
KiBELAorICAgIEVCID0gRSAqIEIsCisgICAgQkNfREEgPSBCICogQyAtIEQgKiBBOworCitmdW5j
dGlvbiBjdWJlaGVsaXhDb252ZXJ0KG8pIHsKKyAgaWYgKG8gaW5zdGFuY2VvZiBDdWJlaGVsaXgp
IHJldHVybiBuZXcgQ3ViZWhlbGl4KG8uaCwgby5zLCBvLmwsIG8ub3BhY2l0eSk7CisgIGlmICgh
KG8gaW5zdGFuY2VvZiBSZ2IpKSBvID0gcmdiQ29udmVydChvKTsKKyAgdmFyIHIgPSBvLnIgLyAy
NTUsCisgICAgICBnID0gby5nIC8gMjU1LAorICAgICAgYiA9IG8uYiAvIDI1NSwKKyAgICAgIGwg
PSAoQkNfREEgKiBiICsgRUQgKiByIC0gRUIgKiBnKSAvIChCQ19EQSArIEVEIC0gRUIpLAorICAg
ICAgYmwgPSBiIC0gbCwKKyAgICAgIGsgPSAoRSAqIChnIC0gbCkgLSBDICogYmwpIC8gRCwKKyAg
ICAgIHMgPSBNYXRoLnNxcnQoayAqIGsgKyBibCAqIGJsKSAvIChFICogbCAqICgxIC0gbCkpLCAv
LyBOYU4gaWYgbD0wIG9yIGw9MQorICAgICAgaCA9IHMgPyBNYXRoLmF0YW4yKGssIGJsKSAqIHJh
ZDJkZWcgLSAxMjAgOiBOYU47CisgIHJldHVybiBuZXcgQ3ViZWhlbGl4KGggPCAwID8gaCArIDM2
MCA6IGgsIHMsIGwsIG8ub3BhY2l0eSk7Cit9CisKK2Z1bmN0aW9uIGN1YmVoZWxpeChoLCBzLCBs
LCBvcGFjaXR5KSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID09PSAxID8gY3ViZWhlbGl4
Q29udmVydChoKSA6IG5ldyBDdWJlaGVsaXgoaCwgcywgbCwgb3BhY2l0eSA9PSBudWxsID8gMSA6
IG9wYWNpdHkpOworfQorCitmdW5jdGlvbiBDdWJlaGVsaXgoaCwgcywgbCwgb3BhY2l0eSkgewor
ICB0aGlzLmggPSAraDsKKyAgdGhpcy5zID0gK3M7CisgIHRoaXMubCA9ICtsOworICB0aGlzLm9w
YWNpdHkgPSArb3BhY2l0eTsKK30KKworZGVmaW5lKEN1YmVoZWxpeCwgY3ViZWhlbGl4LCBleHRl
bmQoQ29sb3IsIHsKKyAgYnJpZ2h0ZXI6IGZ1bmN0aW9uKGspIHsKKyAgICBrID0gayA9PSBudWxs
ID8gYnJpZ2h0ZXIgOiBNYXRoLnBvdyhicmlnaHRlciwgayk7CisgICAgcmV0dXJuIG5ldyBDdWJl
aGVsaXgodGhpcy5oLCB0aGlzLnMsIHRoaXMubCAqIGssIHRoaXMub3BhY2l0eSk7CisgIH0sCisg
IGRhcmtlcjogZnVuY3Rpb24oaykgeworICAgIGsgPSBrID09IG51bGwgPyBkYXJrZXIgOiBNYXRo
LnBvdyhkYXJrZXIsIGspOworICAgIHJldHVybiBuZXcgQ3ViZWhlbGl4KHRoaXMuaCwgdGhpcy5z
LCB0aGlzLmwgKiBrLCB0aGlzLm9wYWNpdHkpOworICB9LAorICByZ2I6IGZ1bmN0aW9uKCkgewor
ICAgIHZhciBoID0gaXNOYU4odGhpcy5oKSA/IDAgOiAodGhpcy5oICsgMTIwKSAqIGRlZzJyYWQs
CisgICAgICAgIGwgPSArdGhpcy5sLAorICAgICAgICBhID0gaXNOYU4odGhpcy5zKSA/IDAgOiB0
aGlzLnMgKiBsICogKDEgLSBsKSwKKyAgICAgICAgY29zaCA9IE1hdGguY29zKGgpLAorICAgICAg
ICBzaW5oID0gTWF0aC5zaW4oaCk7CisgICAgcmV0dXJuIG5ldyBSZ2IoCisgICAgICAyNTUgKiAo
bCArIGEgKiAoQSAqIGNvc2ggKyBCICogc2luaCkpLAorICAgICAgMjU1ICogKGwgKyBhICogKEMg
KiBjb3NoICsgRCAqIHNpbmgpKSwKKyAgICAgIDI1NSAqIChsICsgYSAqIChFICogY29zaCkpLAor
ICAgICAgdGhpcy5vcGFjaXR5CisgICAgKTsKKyAgfQorfSkpOworCitmdW5jdGlvbiBiYXNpcyh0
MSwgdjAsIHYxLCB2MiwgdjMpIHsKKyAgdmFyIHQyID0gdDEgKiB0MSwgdDMgPSB0MiAqIHQxOwor
ICByZXR1cm4gKCgxIC0gMyAqIHQxICsgMyAqIHQyIC0gdDMpICogdjAKKyAgICAgICsgKDQgLSA2
ICogdDIgKyAzICogdDMpICogdjEKKyAgICAgICsgKDEgKyAzICogdDEgKyAzICogdDIgLSAzICog
dDMpICogdjIKKyAgICAgICsgdDMgKiB2MykgLyA2OworfQorCitmdW5jdGlvbiBiYXNpcyQxKHZh
bHVlcykgeworICB2YXIgbiA9IHZhbHVlcy5sZW5ndGggLSAxOworICByZXR1cm4gZnVuY3Rpb24o
dCkgeworICAgIHZhciBpID0gdCA8PSAwID8gKHQgPSAwKSA6IHQgPj0gMSA/ICh0ID0gMSwgbiAt
IDEpIDogTWF0aC5mbG9vcih0ICogbiksCisgICAgICAgIHYxID0gdmFsdWVzW2ldLAorICAgICAg
ICB2MiA9IHZhbHVlc1tpICsgMV0sCisgICAgICAgIHYwID0gaSA+IDAgPyB2YWx1ZXNbaSAtIDFd
IDogMiAqIHYxIC0gdjIsCisgICAgICAgIHYzID0gaSA8IG4gLSAxID8gdmFsdWVzW2kgKyAyXSA6
IDIgKiB2MiAtIHYxOworICAgIHJldHVybiBiYXNpcygodCAtIGkgLyBuKSAqIG4sIHYwLCB2MSwg
djIsIHYzKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYmFzaXNDbG9zZWQodmFsdWVzKSB7CisgIHZh
ciBuID0gdmFsdWVzLmxlbmd0aDsKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgaSA9
IE1hdGguZmxvb3IoKCh0ICU9IDEpIDwgMCA/ICsrdCA6IHQpICogbiksCisgICAgICAgIHYwID0g
dmFsdWVzWyhpICsgbiAtIDEpICUgbl0sCisgICAgICAgIHYxID0gdmFsdWVzW2kgJSBuXSwKKyAg
ICAgICAgdjIgPSB2YWx1ZXNbKGkgKyAxKSAlIG5dLAorICAgICAgICB2MyA9IHZhbHVlc1soaSAr
IDIpICUgbl07CisgICAgcmV0dXJuIGJhc2lzKCh0IC0gaSAvIG4pICogbiwgdjAsIHYxLCB2Miwg
djMpOworICB9OworfQorCitmdW5jdGlvbiBjb25zdGFudCQzKHgpIHsKKyAgcmV0dXJuIGZ1bmN0
aW9uKCkgeworICAgIHJldHVybiB4OworICB9OworfQorCitmdW5jdGlvbiBsaW5lYXIoYSwgZCkg
eworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHJldHVybiBhICsgdCAqIGQ7CisgIH07Cit9
CisKK2Z1bmN0aW9uIGV4cG9uZW50aWFsKGEsIGIsIHkpIHsKKyAgcmV0dXJuIGEgPSBNYXRoLnBv
dyhhLCB5KSwgYiA9IE1hdGgucG93KGIsIHkpIC0gYSwgeSA9IDEgLyB5LCBmdW5jdGlvbih0KSB7
CisgICAgcmV0dXJuIE1hdGgucG93KGEgKyB0ICogYiwgeSk7CisgIH07Cit9CisKK2Z1bmN0aW9u
IGh1ZShhLCBiKSB7CisgIHZhciBkID0gYiAtIGE7CisgIHJldHVybiBkID8gbGluZWFyKGEsIGQg
PiAxODAgfHwgZCA8IC0xODAgPyBkIC0gMzYwICogTWF0aC5yb3VuZChkIC8gMzYwKSA6IGQpIDog
Y29uc3RhbnQkMyhpc05hTihhKSA/IGIgOiBhKTsKK30KKworZnVuY3Rpb24gZ2FtbWEoeSkgewor
ICByZXR1cm4gKHkgPSAreSkgPT09IDEgPyBub2dhbW1hIDogZnVuY3Rpb24oYSwgYikgeworICAg
IHJldHVybiBiIC0gYSA/IGV4cG9uZW50aWFsKGEsIGIsIHkpIDogY29uc3RhbnQkMyhpc05hTihh
KSA/IGIgOiBhKTsKKyAgfTsKK30KKworZnVuY3Rpb24gbm9nYW1tYShhLCBiKSB7CisgIHZhciBk
ID0gYiAtIGE7CisgIHJldHVybiBkID8gbGluZWFyKGEsIGQpIDogY29uc3RhbnQkMyhpc05hTihh
KSA/IGIgOiBhKTsKK30KKwordmFyIGludGVycG9sYXRlUmdiID0gKGZ1bmN0aW9uIHJnYkdhbW1h
KHkpIHsKKyAgdmFyIGNvbG9yID0gZ2FtbWEoeSk7CisKKyAgZnVuY3Rpb24gcmdiJDEoc3RhcnQs
IGVuZCkgeworICAgIHZhciByID0gY29sb3IoKHN0YXJ0ID0gcmdiKHN0YXJ0KSkuciwgKGVuZCA9
IHJnYihlbmQpKS5yKSwKKyAgICAgICAgZyA9IGNvbG9yKHN0YXJ0LmcsIGVuZC5nKSwKKyAgICAg
ICAgYiA9IGNvbG9yKHN0YXJ0LmIsIGVuZC5iKSwKKyAgICAgICAgb3BhY2l0eSA9IG5vZ2FtbWEo
c3RhcnQub3BhY2l0eSwgZW5kLm9wYWNpdHkpOworICAgIHJldHVybiBmdW5jdGlvbih0KSB7Cisg
ICAgICBzdGFydC5yID0gcih0KTsKKyAgICAgIHN0YXJ0LmcgPSBnKHQpOworICAgICAgc3RhcnQu
YiA9IGIodCk7CisgICAgICBzdGFydC5vcGFjaXR5ID0gb3BhY2l0eSh0KTsKKyAgICAgIHJldHVy
biBzdGFydCArICIiOworICAgIH07CisgIH0KKworICByZ2IkMS5nYW1tYSA9IHJnYkdhbW1hOwor
CisgIHJldHVybiByZ2IkMTsKK30pKDEpOworCitmdW5jdGlvbiByZ2JTcGxpbmUoc3BsaW5lKSB7
CisgIHJldHVybiBmdW5jdGlvbihjb2xvcnMpIHsKKyAgICB2YXIgbiA9IGNvbG9ycy5sZW5ndGgs
CisgICAgICAgIHIgPSBuZXcgQXJyYXkobiksCisgICAgICAgIGcgPSBuZXcgQXJyYXkobiksCisg
ICAgICAgIGIgPSBuZXcgQXJyYXkobiksCisgICAgICAgIGksIGNvbG9yOworICAgIGZvciAoaSA9
IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGNvbG9yID0gcmdiKGNvbG9yc1tpXSk7CisgICAgICBy
W2ldID0gY29sb3IuciB8fCAwOworICAgICAgZ1tpXSA9IGNvbG9yLmcgfHwgMDsKKyAgICAgIGJb
aV0gPSBjb2xvci5iIHx8IDA7CisgICAgfQorICAgIHIgPSBzcGxpbmUocik7CisgICAgZyA9IHNw
bGluZShnKTsKKyAgICBiID0gc3BsaW5lKGIpOworICAgIGNvbG9yLm9wYWNpdHkgPSAxOworICAg
IHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgICBjb2xvci5yID0gcih0KTsKKyAgICAgIGNvbG9y
LmcgPSBnKHQpOworICAgICAgY29sb3IuYiA9IGIodCk7CisgICAgICByZXR1cm4gY29sb3IgKyAi
IjsKKyAgICB9OworICB9OworfQorCit2YXIgcmdiQmFzaXMgPSByZ2JTcGxpbmUoYmFzaXMkMSk7
Cit2YXIgcmdiQmFzaXNDbG9zZWQgPSByZ2JTcGxpbmUoYmFzaXNDbG9zZWQpOworCitmdW5jdGlv
biBhcnJheSQxKGEsIGIpIHsKKyAgdmFyIG5iID0gYiA/IGIubGVuZ3RoIDogMCwKKyAgICAgIG5h
ID0gYSA/IE1hdGgubWluKG5iLCBhLmxlbmd0aCkgOiAwLAorICAgICAgeCA9IG5ldyBBcnJheShu
YSksCisgICAgICBjID0gbmV3IEFycmF5KG5iKSwKKyAgICAgIGk7CisKKyAgZm9yIChpID0gMDsg
aSA8IG5hOyArK2kpIHhbaV0gPSBpbnRlcnBvbGF0ZVZhbHVlKGFbaV0sIGJbaV0pOworICBmb3Ig
KDsgaSA8IG5iOyArK2kpIGNbaV0gPSBiW2ldOworCisgIHJldHVybiBmdW5jdGlvbih0KSB7Cisg
ICAgZm9yIChpID0gMDsgaSA8IG5hOyArK2kpIGNbaV0gPSB4W2ldKHQpOworICAgIHJldHVybiBj
OworICB9OworfQorCitmdW5jdGlvbiBkYXRlKGEsIGIpIHsKKyAgdmFyIGQgPSBuZXcgRGF0ZTsK
KyAgcmV0dXJuIGEgPSArYSwgYiAtPSBhLCBmdW5jdGlvbih0KSB7CisgICAgcmV0dXJuIGQuc2V0
VGltZShhICsgYiAqIHQpLCBkOworICB9OworfQorCitmdW5jdGlvbiBpbnRlcnBvbGF0ZU51bWJl
cihhLCBiKSB7CisgIHJldHVybiBhID0gK2EsIGIgLT0gYSwgZnVuY3Rpb24odCkgeworICAgIHJl
dHVybiBhICsgYiAqIHQ7CisgIH07Cit9CisKK2Z1bmN0aW9uIG9iamVjdChhLCBiKSB7CisgIHZh
ciBpID0ge30sCisgICAgICBjID0ge30sCisgICAgICBrOworCisgIGlmIChhID09PSBudWxsIHx8
IHR5cGVvZiBhICE9PSAib2JqZWN0IikgYSA9IHt9OworICBpZiAoYiA9PT0gbnVsbCB8fCB0eXBl
b2YgYiAhPT0gIm9iamVjdCIpIGIgPSB7fTsKKworICBmb3IgKGsgaW4gYikgeworICAgIGlmIChr
IGluIGEpIHsKKyAgICAgIGlba10gPSBpbnRlcnBvbGF0ZVZhbHVlKGFba10sIGJba10pOworICAg
IH0gZWxzZSB7CisgICAgICBjW2tdID0gYltrXTsKKyAgICB9CisgIH0KKworICByZXR1cm4gZnVu
Y3Rpb24odCkgeworICAgIGZvciAoayBpbiBpKSBjW2tdID0gaVtrXSh0KTsKKyAgICByZXR1cm4g
YzsKKyAgfTsKK30KKwordmFyIHJlQSA9IC9bLStdPyg/OlxkK1wuP1xkKnxcLj9cZCspKD86W2VF
XVstK10/XGQrKT8vZywKKyAgICByZUIgPSBuZXcgUmVnRXhwKHJlQS5zb3VyY2UsICJnIik7CisK
K2Z1bmN0aW9uIHplcm8oYikgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGI7
CisgIH07Cit9CisKK2Z1bmN0aW9uIG9uZShiKSB7CisgIHJldHVybiBmdW5jdGlvbih0KSB7Cisg
ICAgcmV0dXJuIGIodCkgKyAiIjsKKyAgfTsKK30KKworZnVuY3Rpb24gaW50ZXJwb2xhdGVTdHJp
bmcoYSwgYikgeworICB2YXIgYmkgPSByZUEubGFzdEluZGV4ID0gcmVCLmxhc3RJbmRleCA9IDAs
IC8vIHNjYW4gaW5kZXggZm9yIG5leHQgbnVtYmVyIGluIGIKKyAgICAgIGFtLCAvLyBjdXJyZW50
IG1hdGNoIGluIGEKKyAgICAgIGJtLCAvLyBjdXJyZW50IG1hdGNoIGluIGIKKyAgICAgIGJzLCAv
LyBzdHJpbmcgcHJlY2VkaW5nIGN1cnJlbnQgbnVtYmVyIGluIGIsIGlmIGFueQorICAgICAgaSA9
IC0xLCAvLyBpbmRleCBpbiBzCisgICAgICBzID0gW10sIC8vIHN0cmluZyBjb25zdGFudHMgYW5k
IHBsYWNlaG9sZGVycworICAgICAgcSA9IFtdOyAvLyBudW1iZXIgaW50ZXJwb2xhdG9ycworCisg
IC8vIENvZXJjZSBpbnB1dHMgdG8gc3RyaW5ncy4KKyAgYSA9IGEgKyAiIiwgYiA9IGIgKyAiIjsK
KworICAvLyBJbnRlcnBvbGF0ZSBwYWlycyBvZiBudW1iZXJzIGluIGEgJiBiLgorICB3aGlsZSAo
KGFtID0gcmVBLmV4ZWMoYSkpCisgICAgICAmJiAoYm0gPSByZUIuZXhlYyhiKSkpIHsKKyAgICBp
ZiAoKGJzID0gYm0uaW5kZXgpID4gYmkpIHsgLy8gYSBzdHJpbmcgcHJlY2VkZXMgdGhlIG5leHQg
bnVtYmVyIGluIGIKKyAgICAgIGJzID0gYi5zbGljZShiaSwgYnMpOworICAgICAgaWYgKHNbaV0p
IHNbaV0gKz0gYnM7IC8vIGNvYWxlc2NlIHdpdGggcHJldmlvdXMgc3RyaW5nCisgICAgICBlbHNl
IHNbKytpXSA9IGJzOworICAgIH0KKyAgICBpZiAoKGFtID0gYW1bMF0pID09PSAoYm0gPSBibVsw
XSkpIHsgLy8gbnVtYmVycyBpbiBhICYgYiBtYXRjaAorICAgICAgaWYgKHNbaV0pIHNbaV0gKz0g
Ym07IC8vIGNvYWxlc2NlIHdpdGggcHJldmlvdXMgc3RyaW5nCisgICAgICBlbHNlIHNbKytpXSA9
IGJtOworICAgIH0gZWxzZSB7IC8vIGludGVycG9sYXRlIG5vbi1tYXRjaGluZyBudW1iZXJzCisg
ICAgICBzWysraV0gPSBudWxsOworICAgICAgcS5wdXNoKHtpOiBpLCB4OiBpbnRlcnBvbGF0ZU51
bWJlcihhbSwgYm0pfSk7CisgICAgfQorICAgIGJpID0gcmVCLmxhc3RJbmRleDsKKyAgfQorCisg
IC8vIEFkZCByZW1haW5zIG9mIGIuCisgIGlmIChiaSA8IGIubGVuZ3RoKSB7CisgICAgYnMgPSBi
LnNsaWNlKGJpKTsKKyAgICBpZiAoc1tpXSkgc1tpXSArPSBiczsgLy8gY29hbGVzY2Ugd2l0aCBw
cmV2aW91cyBzdHJpbmcKKyAgICBlbHNlIHNbKytpXSA9IGJzOworICB9CisKKyAgLy8gU3BlY2lh
bCBvcHRpbWl6YXRpb24gZm9yIG9ubHkgYSBzaW5nbGUgbWF0Y2guCisgIC8vIE90aGVyd2lzZSwg
aW50ZXJwb2xhdGUgZWFjaCBvZiB0aGUgbnVtYmVycyBhbmQgcmVqb2luIHRoZSBzdHJpbmcuCisg
IHJldHVybiBzLmxlbmd0aCA8IDIgPyAocVswXQorICAgICAgPyBvbmUocVswXS54KQorICAgICAg
OiB6ZXJvKGIpKQorICAgICAgOiAoYiA9IHEubGVuZ3RoLCBmdW5jdGlvbih0KSB7CisgICAgICAg
ICAgZm9yICh2YXIgaSA9IDAsIG87IGkgPCBiOyArK2kpIHNbKG8gPSBxW2ldKS5pXSA9IG8ueCh0
KTsKKyAgICAgICAgICByZXR1cm4gcy5qb2luKCIiKTsKKyAgICAgICAgfSk7Cit9CisKK2Z1bmN0
aW9uIGludGVycG9sYXRlVmFsdWUoYSwgYikgeworICB2YXIgdCA9IHR5cGVvZiBiLCBjOworICBy
ZXR1cm4gYiA9PSBudWxsIHx8IHQgPT09ICJib29sZWFuIiA/IGNvbnN0YW50JDMoYikKKyAgICAg
IDogKHQgPT09ICJudW1iZXIiID8gaW50ZXJwb2xhdGVOdW1iZXIKKyAgICAgIDogdCA9PT0gInN0
cmluZyIgPyAoKGMgPSBjb2xvcihiKSkgPyAoYiA9IGMsIGludGVycG9sYXRlUmdiKSA6IGludGVy
cG9sYXRlU3RyaW5nKQorICAgICAgOiBiIGluc3RhbmNlb2YgY29sb3IgPyBpbnRlcnBvbGF0ZVJn
YgorICAgICAgOiBiIGluc3RhbmNlb2YgRGF0ZSA/IGRhdGUKKyAgICAgIDogQXJyYXkuaXNBcnJh
eShiKSA/IGFycmF5JDEKKyAgICAgIDogdHlwZW9mIGIudmFsdWVPZiAhPT0gImZ1bmN0aW9uIiAm
JiB0eXBlb2YgYi50b1N0cmluZyAhPT0gImZ1bmN0aW9uIiB8fCBpc05hTihiKSA/IG9iamVjdAor
ICAgICAgOiBpbnRlcnBvbGF0ZU51bWJlcikoYSwgYik7Cit9CisKK2Z1bmN0aW9uIGRpc2NyZXRl
KHJhbmdlKSB7CisgIHZhciBuID0gcmFuZ2UubGVuZ3RoOworICByZXR1cm4gZnVuY3Rpb24odCkg
eworICAgIHJldHVybiByYW5nZVtNYXRoLm1heCgwLCBNYXRoLm1pbihuIC0gMSwgTWF0aC5mbG9v
cih0ICogbikpKV07CisgIH07Cit9CisKK2Z1bmN0aW9uIGh1ZSQxKGEsIGIpIHsKKyAgdmFyIGkg
PSBodWUoK2EsICtiKTsKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgeCA9IGkodCk7
CisgICAgcmV0dXJuIHggLSAzNjAgKiBNYXRoLmZsb29yKHggLyAzNjApOworICB9OworfQorCitm
dW5jdGlvbiBpbnRlcnBvbGF0ZVJvdW5kKGEsIGIpIHsKKyAgcmV0dXJuIGEgPSArYSwgYiAtPSBh
LCBmdW5jdGlvbih0KSB7CisgICAgcmV0dXJuIE1hdGgucm91bmQoYSArIGIgKiB0KTsKKyAgfTsK
K30KKwordmFyIGRlZ3JlZXMgPSAxODAgLyBNYXRoLlBJOworCit2YXIgaWRlbnRpdHkkMiA9IHsK
KyAgdHJhbnNsYXRlWDogMCwKKyAgdHJhbnNsYXRlWTogMCwKKyAgcm90YXRlOiAwLAorICBza2V3
WDogMCwKKyAgc2NhbGVYOiAxLAorICBzY2FsZVk6IDEKK307CisKK2Z1bmN0aW9uIGRlY29tcG9z
ZShhLCBiLCBjLCBkLCBlLCBmKSB7CisgIHZhciBzY2FsZVgsIHNjYWxlWSwgc2tld1g7CisgIGlm
IChzY2FsZVggPSBNYXRoLnNxcnQoYSAqIGEgKyBiICogYikpIGEgLz0gc2NhbGVYLCBiIC89IHNj
YWxlWDsKKyAgaWYgKHNrZXdYID0gYSAqIGMgKyBiICogZCkgYyAtPSBhICogc2tld1gsIGQgLT0g
YiAqIHNrZXdYOworICBpZiAoc2NhbGVZID0gTWF0aC5zcXJ0KGMgKiBjICsgZCAqIGQpKSBjIC89
IHNjYWxlWSwgZCAvPSBzY2FsZVksIHNrZXdYIC89IHNjYWxlWTsKKyAgaWYgKGEgKiBkIDwgYiAq
IGMpIGEgPSAtYSwgYiA9IC1iLCBza2V3WCA9IC1za2V3WCwgc2NhbGVYID0gLXNjYWxlWDsKKyAg
cmV0dXJuIHsKKyAgICB0cmFuc2xhdGVYOiBlLAorICAgIHRyYW5zbGF0ZVk6IGYsCisgICAgcm90
YXRlOiBNYXRoLmF0YW4yKGIsIGEpICogZGVncmVlcywKKyAgICBza2V3WDogTWF0aC5hdGFuKHNr
ZXdYKSAqIGRlZ3JlZXMsCisgICAgc2NhbGVYOiBzY2FsZVgsCisgICAgc2NhbGVZOiBzY2FsZVkK
KyAgfTsKK30KKwordmFyIGNzc05vZGUsCisgICAgY3NzUm9vdCwKKyAgICBjc3NWaWV3LAorICAg
IHN2Z05vZGU7CisKK2Z1bmN0aW9uIHBhcnNlQ3NzKHZhbHVlKSB7CisgIGlmICh2YWx1ZSA9PT0g
Im5vbmUiKSByZXR1cm4gaWRlbnRpdHkkMjsKKyAgaWYgKCFjc3NOb2RlKSBjc3NOb2RlID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiRElWIiksIGNzc1Jvb3QgPSBkb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnQsIGNzc1ZpZXcgPSBkb2N1bWVudC5kZWZhdWx0VmlldzsKKyAgY3NzTm9kZS5zdHlsZS50
cmFuc2Zvcm0gPSB2YWx1ZTsKKyAgdmFsdWUgPSBjc3NWaWV3LmdldENvbXB1dGVkU3R5bGUoY3Nz
Um9vdC5hcHBlbmRDaGlsZChjc3NOb2RlKSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgidHJhbnNm
b3JtIik7CisgIGNzc1Jvb3QucmVtb3ZlQ2hpbGQoY3NzTm9kZSk7CisgIHZhbHVlID0gdmFsdWUu
c2xpY2UoNywgLTEpLnNwbGl0KCIsIik7CisgIHJldHVybiBkZWNvbXBvc2UoK3ZhbHVlWzBdLCAr
dmFsdWVbMV0sICt2YWx1ZVsyXSwgK3ZhbHVlWzNdLCArdmFsdWVbNF0sICt2YWx1ZVs1XSk7Cit9
CisKK2Z1bmN0aW9uIHBhcnNlU3ZnKHZhbHVlKSB7CisgIGlmICh2YWx1ZSA9PSBudWxsKSByZXR1
cm4gaWRlbnRpdHkkMjsKKyAgaWYgKCFzdmdOb2RlKSBzdmdOb2RlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJnIik7CisgIHN2Z05vZGUu
c2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLCB2YWx1ZSk7CisgIGlmICghKHZhbHVlID0gc3ZnTm9k
ZS50cmFuc2Zvcm0uYmFzZVZhbC5jb25zb2xpZGF0ZSgpKSkgcmV0dXJuIGlkZW50aXR5JDI7Cisg
IHZhbHVlID0gdmFsdWUubWF0cml4OworICByZXR1cm4gZGVjb21wb3NlKHZhbHVlLmEsIHZhbHVl
LmIsIHZhbHVlLmMsIHZhbHVlLmQsIHZhbHVlLmUsIHZhbHVlLmYpOworfQorCitmdW5jdGlvbiBp
bnRlcnBvbGF0ZVRyYW5zZm9ybShwYXJzZSwgcHhDb21tYSwgcHhQYXJlbiwgZGVnUGFyZW4pIHsK
KworICBmdW5jdGlvbiBwb3AocykgeworICAgIHJldHVybiBzLmxlbmd0aCA/IHMucG9wKCkgKyAi
ICIgOiAiIjsKKyAgfQorCisgIGZ1bmN0aW9uIHRyYW5zbGF0ZSh4YSwgeWEsIHhiLCB5Yiwgcywg
cSkgeworICAgIGlmICh4YSAhPT0geGIgfHwgeWEgIT09IHliKSB7CisgICAgICB2YXIgaSA9IHMu
cHVzaCgidHJhbnNsYXRlKCIsIG51bGwsIHB4Q29tbWEsIG51bGwsIHB4UGFyZW4pOworICAgICAg
cS5wdXNoKHtpOiBpIC0gNCwgeDogaW50ZXJwb2xhdGVOdW1iZXIoeGEsIHhiKX0sIHtpOiBpIC0g
MiwgeDogaW50ZXJwb2xhdGVOdW1iZXIoeWEsIHliKX0pOworICAgIH0gZWxzZSBpZiAoeGIgfHwg
eWIpIHsKKyAgICAgIHMucHVzaCgidHJhbnNsYXRlKCIgKyB4YiArIHB4Q29tbWEgKyB5YiArIHB4
UGFyZW4pOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIHJvdGF0ZShhLCBiLCBzLCBxKSB7Cisg
ICAgaWYgKGEgIT09IGIpIHsKKyAgICAgIGlmIChhIC0gYiA+IDE4MCkgYiArPSAzNjA7IGVsc2Ug
aWYgKGIgLSBhID4gMTgwKSBhICs9IDM2MDsgLy8gc2hvcnRlc3QgcGF0aAorICAgICAgcS5wdXNo
KHtpOiBzLnB1c2gocG9wKHMpICsgInJvdGF0ZSgiLCBudWxsLCBkZWdQYXJlbikgLSAyLCB4OiBp
bnRlcnBvbGF0ZU51bWJlcihhLCBiKX0pOworICAgIH0gZWxzZSBpZiAoYikgeworICAgICAgcy5w
dXNoKHBvcChzKSArICJyb3RhdGUoIiArIGIgKyBkZWdQYXJlbik7CisgICAgfQorICB9CisKKyAg
ZnVuY3Rpb24gc2tld1goYSwgYiwgcywgcSkgeworICAgIGlmIChhICE9PSBiKSB7CisgICAgICBx
LnB1c2goe2k6IHMucHVzaChwb3AocykgKyAic2tld1goIiwgbnVsbCwgZGVnUGFyZW4pIC0gMiwg
eDogaW50ZXJwb2xhdGVOdW1iZXIoYSwgYil9KTsKKyAgICB9IGVsc2UgaWYgKGIpIHsKKyAgICAg
IHMucHVzaChwb3AocykgKyAic2tld1goIiArIGIgKyBkZWdQYXJlbik7CisgICAgfQorICB9CisK
KyAgZnVuY3Rpb24gc2NhbGUoeGEsIHlhLCB4YiwgeWIsIHMsIHEpIHsKKyAgICBpZiAoeGEgIT09
IHhiIHx8IHlhICE9PSB5YikgeworICAgICAgdmFyIGkgPSBzLnB1c2gocG9wKHMpICsgInNjYWxl
KCIsIG51bGwsICIsIiwgbnVsbCwgIikiKTsKKyAgICAgIHEucHVzaCh7aTogaSAtIDQsIHg6IGlu
dGVycG9sYXRlTnVtYmVyKHhhLCB4Yil9LCB7aTogaSAtIDIsIHg6IGludGVycG9sYXRlTnVtYmVy
KHlhLCB5Yil9KTsKKyAgICB9IGVsc2UgaWYgKHhiICE9PSAxIHx8IHliICE9PSAxKSB7CisgICAg
ICBzLnB1c2gocG9wKHMpICsgInNjYWxlKCIgKyB4YiArICIsIiArIHliICsgIikiKTsKKyAgICB9
CisgIH0KKworICByZXR1cm4gZnVuY3Rpb24oYSwgYikgeworICAgIHZhciBzID0gW10sIC8vIHN0
cmluZyBjb25zdGFudHMgYW5kIHBsYWNlaG9sZGVycworICAgICAgICBxID0gW107IC8vIG51bWJl
ciBpbnRlcnBvbGF0b3JzCisgICAgYSA9IHBhcnNlKGEpLCBiID0gcGFyc2UoYik7CisgICAgdHJh
bnNsYXRlKGEudHJhbnNsYXRlWCwgYS50cmFuc2xhdGVZLCBiLnRyYW5zbGF0ZVgsIGIudHJhbnNs
YXRlWSwgcywgcSk7CisgICAgcm90YXRlKGEucm90YXRlLCBiLnJvdGF0ZSwgcywgcSk7CisgICAg
c2tld1goYS5za2V3WCwgYi5za2V3WCwgcywgcSk7CisgICAgc2NhbGUoYS5zY2FsZVgsIGEuc2Nh
bGVZLCBiLnNjYWxlWCwgYi5zY2FsZVksIHMsIHEpOworICAgIGEgPSBiID0gbnVsbDsgLy8gZ2MK
KyAgICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgICAgdmFyIGkgPSAtMSwgbiA9IHEubGVuZ3Ro
LCBvOworICAgICAgd2hpbGUgKCsraSA8IG4pIHNbKG8gPSBxW2ldKS5pXSA9IG8ueCh0KTsKKyAg
ICAgIHJldHVybiBzLmpvaW4oIiIpOworICAgIH07CisgIH07Cit9CisKK3ZhciBpbnRlcnBvbGF0
ZVRyYW5zZm9ybUNzcyA9IGludGVycG9sYXRlVHJhbnNmb3JtKHBhcnNlQ3NzLCAicHgsICIsICJw
eCkiLCAiZGVnKSIpOwordmFyIGludGVycG9sYXRlVHJhbnNmb3JtU3ZnID0gaW50ZXJwb2xhdGVU
cmFuc2Zvcm0ocGFyc2VTdmcsICIsICIsICIpIiwgIikiKTsKKwordmFyIHJobyA9IE1hdGguU1FS
VDIsCisgICAgcmhvMiA9IDIsCisgICAgcmhvNCA9IDQsCisgICAgZXBzaWxvbjIgPSAxZS0xMjsK
KworZnVuY3Rpb24gY29zaCh4KSB7CisgIHJldHVybiAoKHggPSBNYXRoLmV4cCh4KSkgKyAxIC8g
eCkgLyAyOworfQorCitmdW5jdGlvbiBzaW5oKHgpIHsKKyAgcmV0dXJuICgoeCA9IE1hdGguZXhw
KHgpKSAtIDEgLyB4KSAvIDI7Cit9CisKK2Z1bmN0aW9uIHRhbmgoeCkgeworICByZXR1cm4gKCh4
ID0gTWF0aC5leHAoMiAqIHgpKSAtIDEpIC8gKHggKyAxKTsKK30KKworLy8gcDAgPSBbdXgwLCB1
eTAsIHcwXQorLy8gcDEgPSBbdXgxLCB1eTEsIHcxXQorZnVuY3Rpb24gaW50ZXJwb2xhdGVab29t
KHAwLCBwMSkgeworICB2YXIgdXgwID0gcDBbMF0sIHV5MCA9IHAwWzFdLCB3MCA9IHAwWzJdLAor
ICAgICAgdXgxID0gcDFbMF0sIHV5MSA9IHAxWzFdLCB3MSA9IHAxWzJdLAorICAgICAgZHggPSB1
eDEgLSB1eDAsCisgICAgICBkeSA9IHV5MSAtIHV5MCwKKyAgICAgIGQyID0gZHggKiBkeCArIGR5
ICogZHksCisgICAgICBpLAorICAgICAgUzsKKworICAvLyBTcGVjaWFsIGNhc2UgZm9yIHUwIOKJ
hSB1MS4KKyAgaWYgKGQyIDwgZXBzaWxvbjIpIHsKKyAgICBTID0gTWF0aC5sb2codzEgLyB3MCkg
LyByaG87CisgICAgaSA9IGZ1bmN0aW9uKHQpIHsKKyAgICAgIHJldHVybiBbCisgICAgICAgIHV4
MCArIHQgKiBkeCwKKyAgICAgICAgdXkwICsgdCAqIGR5LAorICAgICAgICB3MCAqIE1hdGguZXhw
KHJobyAqIHQgKiBTKQorICAgICAgXTsKKyAgICB9OworICB9CisKKyAgLy8gR2VuZXJhbCBjYXNl
LgorICBlbHNlIHsKKyAgICB2YXIgZDEgPSBNYXRoLnNxcnQoZDIpLAorICAgICAgICBiMCA9ICh3
MSAqIHcxIC0gdzAgKiB3MCArIHJobzQgKiBkMikgLyAoMiAqIHcwICogcmhvMiAqIGQxKSwKKyAg
ICAgICAgYjEgPSAodzEgKiB3MSAtIHcwICogdzAgLSByaG80ICogZDIpIC8gKDIgKiB3MSAqIHJo
bzIgKiBkMSksCisgICAgICAgIHIwID0gTWF0aC5sb2coTWF0aC5zcXJ0KGIwICogYjAgKyAxKSAt
IGIwKSwKKyAgICAgICAgcjEgPSBNYXRoLmxvZyhNYXRoLnNxcnQoYjEgKiBiMSArIDEpIC0gYjEp
OworICAgIFMgPSAocjEgLSByMCkgLyByaG87CisgICAgaSA9IGZ1bmN0aW9uKHQpIHsKKyAgICAg
IHZhciBzID0gdCAqIFMsCisgICAgICAgICAgY29zaHIwID0gY29zaChyMCksCisgICAgICAgICAg
dSA9IHcwIC8gKHJobzIgKiBkMSkgKiAoY29zaHIwICogdGFuaChyaG8gKiBzICsgcjApIC0gc2lu
aChyMCkpOworICAgICAgcmV0dXJuIFsKKyAgICAgICAgdXgwICsgdSAqIGR4LAorICAgICAgICB1
eTAgKyB1ICogZHksCisgICAgICAgIHcwICogY29zaHIwIC8gY29zaChyaG8gKiBzICsgcjApCisg
ICAgICBdOworICAgIH07CisgIH0KKworICBpLmR1cmF0aW9uID0gUyAqIDEwMDA7CisKKyAgcmV0
dXJuIGk7Cit9CisKK2Z1bmN0aW9uIGhzbCQxKGh1ZSkgeworICByZXR1cm4gZnVuY3Rpb24oc3Rh
cnQsIGVuZCkgeworICAgIHZhciBoID0gaHVlKChzdGFydCA9IGhzbChzdGFydCkpLmgsIChlbmQg
PSBoc2woZW5kKSkuaCksCisgICAgICAgIHMgPSBub2dhbW1hKHN0YXJ0LnMsIGVuZC5zKSwKKyAg
ICAgICAgbCA9IG5vZ2FtbWEoc3RhcnQubCwgZW5kLmwpLAorICAgICAgICBvcGFjaXR5ID0gbm9n
YW1tYShzdGFydC5vcGFjaXR5LCBlbmQub3BhY2l0eSk7CisgICAgcmV0dXJuIGZ1bmN0aW9uKHQp
IHsKKyAgICAgIHN0YXJ0LmggPSBoKHQpOworICAgICAgc3RhcnQucyA9IHModCk7CisgICAgICBz
dGFydC5sID0gbCh0KTsKKyAgICAgIHN0YXJ0Lm9wYWNpdHkgPSBvcGFjaXR5KHQpOworICAgICAg
cmV0dXJuIHN0YXJ0ICsgIiI7CisgICAgfTsKKyAgfQorfQorCit2YXIgaHNsJDIgPSBoc2wkMSho
dWUpOwordmFyIGhzbExvbmcgPSBoc2wkMShub2dhbW1hKTsKKworZnVuY3Rpb24gbGFiJDEoc3Rh
cnQsIGVuZCkgeworICB2YXIgbCA9IG5vZ2FtbWEoKHN0YXJ0ID0gbGFiKHN0YXJ0KSkubCwgKGVu
ZCA9IGxhYihlbmQpKS5sKSwKKyAgICAgIGEgPSBub2dhbW1hKHN0YXJ0LmEsIGVuZC5hKSwKKyAg
ICAgIGIgPSBub2dhbW1hKHN0YXJ0LmIsIGVuZC5iKSwKKyAgICAgIG9wYWNpdHkgPSBub2dhbW1h
KHN0YXJ0Lm9wYWNpdHksIGVuZC5vcGFjaXR5KTsKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAg
ICBzdGFydC5sID0gbCh0KTsKKyAgICBzdGFydC5hID0gYSh0KTsKKyAgICBzdGFydC5iID0gYih0
KTsKKyAgICBzdGFydC5vcGFjaXR5ID0gb3BhY2l0eSh0KTsKKyAgICByZXR1cm4gc3RhcnQgKyAi
IjsKKyAgfTsKK30KKworZnVuY3Rpb24gaGNsJDEoaHVlKSB7CisgIHJldHVybiBmdW5jdGlvbihz
dGFydCwgZW5kKSB7CisgICAgdmFyIGggPSBodWUoKHN0YXJ0ID0gaGNsKHN0YXJ0KSkuaCwgKGVu
ZCA9IGhjbChlbmQpKS5oKSwKKyAgICAgICAgYyA9IG5vZ2FtbWEoc3RhcnQuYywgZW5kLmMpLAor
ICAgICAgICBsID0gbm9nYW1tYShzdGFydC5sLCBlbmQubCksCisgICAgICAgIG9wYWNpdHkgPSBu
b2dhbW1hKHN0YXJ0Lm9wYWNpdHksIGVuZC5vcGFjaXR5KTsKKyAgICByZXR1cm4gZnVuY3Rpb24o
dCkgeworICAgICAgc3RhcnQuaCA9IGgodCk7CisgICAgICBzdGFydC5jID0gYyh0KTsKKyAgICAg
IHN0YXJ0LmwgPSBsKHQpOworICAgICAgc3RhcnQub3BhY2l0eSA9IG9wYWNpdHkodCk7CisgICAg
ICByZXR1cm4gc3RhcnQgKyAiIjsKKyAgICB9OworICB9Cit9CisKK3ZhciBoY2wkMiA9IGhjbCQx
KGh1ZSk7Cit2YXIgaGNsTG9uZyA9IGhjbCQxKG5vZ2FtbWEpOworCitmdW5jdGlvbiBjdWJlaGVs
aXgkMShodWUpIHsKKyAgcmV0dXJuIChmdW5jdGlvbiBjdWJlaGVsaXhHYW1tYSh5KSB7CisgICAg
eSA9ICt5OworCisgICAgZnVuY3Rpb24gY3ViZWhlbGl4JDEoc3RhcnQsIGVuZCkgeworICAgICAg
dmFyIGggPSBodWUoKHN0YXJ0ID0gY3ViZWhlbGl4KHN0YXJ0KSkuaCwgKGVuZCA9IGN1YmVoZWxp
eChlbmQpKS5oKSwKKyAgICAgICAgICBzID0gbm9nYW1tYShzdGFydC5zLCBlbmQucyksCisgICAg
ICAgICAgbCA9IG5vZ2FtbWEoc3RhcnQubCwgZW5kLmwpLAorICAgICAgICAgIG9wYWNpdHkgPSBu
b2dhbW1hKHN0YXJ0Lm9wYWNpdHksIGVuZC5vcGFjaXR5KTsKKyAgICAgIHJldHVybiBmdW5jdGlv
bih0KSB7CisgICAgICAgIHN0YXJ0LmggPSBoKHQpOworICAgICAgICBzdGFydC5zID0gcyh0KTsK
KyAgICAgICAgc3RhcnQubCA9IGwoTWF0aC5wb3codCwgeSkpOworICAgICAgICBzdGFydC5vcGFj
aXR5ID0gb3BhY2l0eSh0KTsKKyAgICAgICAgcmV0dXJuIHN0YXJ0ICsgIiI7CisgICAgICB9Owor
ICAgIH0KKworICAgIGN1YmVoZWxpeCQxLmdhbW1hID0gY3ViZWhlbGl4R2FtbWE7CisKKyAgICBy
ZXR1cm4gY3ViZWhlbGl4JDE7CisgIH0pKDEpOworfQorCit2YXIgY3ViZWhlbGl4JDIgPSBjdWJl
aGVsaXgkMShodWUpOwordmFyIGN1YmVoZWxpeExvbmcgPSBjdWJlaGVsaXgkMShub2dhbW1hKTsK
KworZnVuY3Rpb24gcGllY2V3aXNlKGludGVycG9sYXRlLCB2YWx1ZXMpIHsKKyAgdmFyIGkgPSAw
LCBuID0gdmFsdWVzLmxlbmd0aCAtIDEsIHYgPSB2YWx1ZXNbMF0sIEkgPSBuZXcgQXJyYXkobiA8
IDAgPyAwIDogbik7CisgIHdoaWxlIChpIDwgbikgSVtpXSA9IGludGVycG9sYXRlKHYsIHYgPSB2
YWx1ZXNbKytpXSk7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgdmFyIGkgPSBNYXRoLm1h
eCgwLCBNYXRoLm1pbihuIC0gMSwgTWF0aC5mbG9vcih0ICo9IG4pKSk7CisgICAgcmV0dXJuIElb
aV0odCAtIGkpOworICB9OworfQorCitmdW5jdGlvbiBxdWFudGl6ZShpbnRlcnBvbGF0b3IsIG4p
IHsKKyAgdmFyIHNhbXBsZXMgPSBuZXcgQXJyYXkobik7CisgIGZvciAodmFyIGkgPSAwOyBpIDwg
bjsgKytpKSBzYW1wbGVzW2ldID0gaW50ZXJwb2xhdG9yKGkgLyAobiAtIDEpKTsKKyAgcmV0dXJu
IHNhbXBsZXM7Cit9CisKK3ZhciBmcmFtZSA9IDAsIC8vIGlzIGFuIGFuaW1hdGlvbiBmcmFtZSBw
ZW5kaW5nPworICAgIHRpbWVvdXQgPSAwLCAvLyBpcyBhIHRpbWVvdXQgcGVuZGluZz8KKyAgICBp
bnRlcnZhbCA9IDAsIC8vIGFyZSBhbnkgdGltZXJzIGFjdGl2ZT8KKyAgICBwb2tlRGVsYXkgPSAx
MDAwLCAvLyBob3cgZnJlcXVlbnRseSB3ZSBjaGVjayBmb3IgY2xvY2sgc2tldworICAgIHRhc2tI
ZWFkLAorICAgIHRhc2tUYWlsLAorICAgIGNsb2NrTGFzdCA9IDAsCisgICAgY2xvY2tOb3cgPSAw
LAorICAgIGNsb2NrU2tldyA9IDAsCisgICAgY2xvY2sgPSB0eXBlb2YgcGVyZm9ybWFuY2UgPT09
ICJvYmplY3QiICYmIHBlcmZvcm1hbmNlLm5vdyA/IHBlcmZvcm1hbmNlIDogRGF0ZSwKKyAgICBz
ZXRGcmFtZSA9IHR5cGVvZiB3aW5kb3cgPT09ICJvYmplY3QiICYmIHdpbmRvdy5yZXF1ZXN0QW5p
bWF0aW9uRnJhbWUgPyB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KSA6
IGZ1bmN0aW9uKGYpIHsgc2V0VGltZW91dChmLCAxNyk7IH07CisKK2Z1bmN0aW9uIG5vdygpIHsK
KyAgcmV0dXJuIGNsb2NrTm93IHx8IChzZXRGcmFtZShjbGVhck5vdyksIGNsb2NrTm93ID0gY2xv
Y2subm93KCkgKyBjbG9ja1NrZXcpOworfQorCitmdW5jdGlvbiBjbGVhck5vdygpIHsKKyAgY2xv
Y2tOb3cgPSAwOworfQorCitmdW5jdGlvbiBUaW1lcigpIHsKKyAgdGhpcy5fY2FsbCA9CisgIHRo
aXMuX3RpbWUgPQorICB0aGlzLl9uZXh0ID0gbnVsbDsKK30KKworVGltZXIucHJvdG90eXBlID0g
dGltZXIucHJvdG90eXBlID0geworICBjb25zdHJ1Y3RvcjogVGltZXIsCisgIHJlc3RhcnQ6IGZ1
bmN0aW9uKGNhbGxiYWNrLCBkZWxheSwgdGltZSkgeworICAgIGlmICh0eXBlb2YgY2FsbGJhY2sg
IT09ICJmdW5jdGlvbiIpIHRocm93IG5ldyBUeXBlRXJyb3IoImNhbGxiYWNrIGlzIG5vdCBhIGZ1
bmN0aW9uIik7CisgICAgdGltZSA9ICh0aW1lID09IG51bGwgPyBub3coKSA6ICt0aW1lKSArIChk
ZWxheSA9PSBudWxsID8gMCA6ICtkZWxheSk7CisgICAgaWYgKCF0aGlzLl9uZXh0ICYmIHRhc2tU
YWlsICE9PSB0aGlzKSB7CisgICAgICBpZiAodGFza1RhaWwpIHRhc2tUYWlsLl9uZXh0ID0gdGhp
czsKKyAgICAgIGVsc2UgdGFza0hlYWQgPSB0aGlzOworICAgICAgdGFza1RhaWwgPSB0aGlzOwor
ICAgIH0KKyAgICB0aGlzLl9jYWxsID0gY2FsbGJhY2s7CisgICAgdGhpcy5fdGltZSA9IHRpbWU7
CisgICAgc2xlZXAoKTsKKyAgfSwKKyAgc3RvcDogZnVuY3Rpb24oKSB7CisgICAgaWYgKHRoaXMu
X2NhbGwpIHsKKyAgICAgIHRoaXMuX2NhbGwgPSBudWxsOworICAgICAgdGhpcy5fdGltZSA9IElu
ZmluaXR5OworICAgICAgc2xlZXAoKTsKKyAgICB9CisgIH0KK307CisKK2Z1bmN0aW9uIHRpbWVy
KGNhbGxiYWNrLCBkZWxheSwgdGltZSkgeworICB2YXIgdCA9IG5ldyBUaW1lcjsKKyAgdC5yZXN0
YXJ0KGNhbGxiYWNrLCBkZWxheSwgdGltZSk7CisgIHJldHVybiB0OworfQorCitmdW5jdGlvbiB0
aW1lckZsdXNoKCkgeworICBub3coKTsgLy8gR2V0IHRoZSBjdXJyZW50IHRpbWUsIGlmIG5vdCBh
bHJlYWR5IHNldC4KKyAgKytmcmFtZTsgLy8gUHJldGVuZCB3ZeKAmXZlIHNldCBhbiBhbGFybSwg
aWYgd2UgaGF2ZW7igJl0IGFscmVhZHkuCisgIHZhciB0ID0gdGFza0hlYWQsIGU7CisgIHdoaWxl
ICh0KSB7CisgICAgaWYgKChlID0gY2xvY2tOb3cgLSB0Ll90aW1lKSA+PSAwKSB0Ll9jYWxsLmNh
bGwobnVsbCwgZSk7CisgICAgdCA9IHQuX25leHQ7CisgIH0KKyAgLS1mcmFtZTsKK30KKworZnVu
Y3Rpb24gd2FrZSgpIHsKKyAgY2xvY2tOb3cgPSAoY2xvY2tMYXN0ID0gY2xvY2subm93KCkpICsg
Y2xvY2tTa2V3OworICBmcmFtZSA9IHRpbWVvdXQgPSAwOworICB0cnkgeworICAgIHRpbWVyRmx1
c2goKTsKKyAgfSBmaW5hbGx5IHsKKyAgICBmcmFtZSA9IDA7CisgICAgbmFwKCk7CisgICAgY2xv
Y2tOb3cgPSAwOworICB9Cit9CisKK2Z1bmN0aW9uIHBva2UoKSB7CisgIHZhciBub3cgPSBjbG9j
ay5ub3coKSwgZGVsYXkgPSBub3cgLSBjbG9ja0xhc3Q7CisgIGlmIChkZWxheSA+IHBva2VEZWxh
eSkgY2xvY2tTa2V3IC09IGRlbGF5LCBjbG9ja0xhc3QgPSBub3c7Cit9CisKK2Z1bmN0aW9uIG5h
cCgpIHsKKyAgdmFyIHQwLCB0MSA9IHRhc2tIZWFkLCB0MiwgdGltZSA9IEluZmluaXR5OworICB3
aGlsZSAodDEpIHsKKyAgICBpZiAodDEuX2NhbGwpIHsKKyAgICAgIGlmICh0aW1lID4gdDEuX3Rp
bWUpIHRpbWUgPSB0MS5fdGltZTsKKyAgICAgIHQwID0gdDEsIHQxID0gdDEuX25leHQ7CisgICAg
fSBlbHNlIHsKKyAgICAgIHQyID0gdDEuX25leHQsIHQxLl9uZXh0ID0gbnVsbDsKKyAgICAgIHQx
ID0gdDAgPyB0MC5fbmV4dCA9IHQyIDogdGFza0hlYWQgPSB0MjsKKyAgICB9CisgIH0KKyAgdGFz
a1RhaWwgPSB0MDsKKyAgc2xlZXAodGltZSk7Cit9CisKK2Z1bmN0aW9uIHNsZWVwKHRpbWUpIHsK
KyAgaWYgKGZyYW1lKSByZXR1cm47IC8vIFNvb25lc3QgYWxhcm0gYWxyZWFkeSBzZXQsIG9yIHdp
bGwgYmUuCisgIGlmICh0aW1lb3V0KSB0aW1lb3V0ID0gY2xlYXJUaW1lb3V0KHRpbWVvdXQpOwor
ICB2YXIgZGVsYXkgPSB0aW1lIC0gY2xvY2tOb3c7IC8vIFN0cmljdGx5IGxlc3MgdGhhbiBpZiB3
ZSByZWNvbXB1dGVkIGNsb2NrTm93LgorICBpZiAoZGVsYXkgPiAyNCkgeworICAgIGlmICh0aW1l
IDwgSW5maW5pdHkpIHRpbWVvdXQgPSBzZXRUaW1lb3V0KHdha2UsIHRpbWUgLSBjbG9jay5ub3co
KSAtIGNsb2NrU2tldyk7CisgICAgaWYgKGludGVydmFsKSBpbnRlcnZhbCA9IGNsZWFySW50ZXJ2
YWwoaW50ZXJ2YWwpOworICB9IGVsc2UgeworICAgIGlmICghaW50ZXJ2YWwpIGNsb2NrTGFzdCA9
IGNsb2NrLm5vdygpLCBpbnRlcnZhbCA9IHNldEludGVydmFsKHBva2UsIHBva2VEZWxheSk7Cisg
ICAgZnJhbWUgPSAxLCBzZXRGcmFtZSh3YWtlKTsKKyAgfQorfQorCitmdW5jdGlvbiB0aW1lb3V0
JDEoY2FsbGJhY2ssIGRlbGF5LCB0aW1lKSB7CisgIHZhciB0ID0gbmV3IFRpbWVyOworICBkZWxh
eSA9IGRlbGF5ID09IG51bGwgPyAwIDogK2RlbGF5OworICB0LnJlc3RhcnQoZnVuY3Rpb24oZWxh
cHNlZCkgeworICAgIHQuc3RvcCgpOworICAgIGNhbGxiYWNrKGVsYXBzZWQgKyBkZWxheSk7Cisg
IH0sIGRlbGF5LCB0aW1lKTsKKyAgcmV0dXJuIHQ7Cit9CisKK2Z1bmN0aW9uIGludGVydmFsJDEo
Y2FsbGJhY2ssIGRlbGF5LCB0aW1lKSB7CisgIHZhciB0ID0gbmV3IFRpbWVyLCB0b3RhbCA9IGRl
bGF5OworICBpZiAoZGVsYXkgPT0gbnVsbCkgcmV0dXJuIHQucmVzdGFydChjYWxsYmFjaywgZGVs
YXksIHRpbWUpLCB0OworICBkZWxheSA9ICtkZWxheSwgdGltZSA9IHRpbWUgPT0gbnVsbCA/IG5v
dygpIDogK3RpbWU7CisgIHQucmVzdGFydChmdW5jdGlvbiB0aWNrKGVsYXBzZWQpIHsKKyAgICBl
bGFwc2VkICs9IHRvdGFsOworICAgIHQucmVzdGFydCh0aWNrLCB0b3RhbCArPSBkZWxheSwgdGlt
ZSk7CisgICAgY2FsbGJhY2soZWxhcHNlZCk7CisgIH0sIGRlbGF5LCB0aW1lKTsKKyAgcmV0dXJu
IHQ7Cit9CisKK3ZhciBlbXB0eU9uID0gZGlzcGF0Y2goInN0YXJ0IiwgImVuZCIsICJjYW5jZWwi
LCAiaW50ZXJydXB0Iik7Cit2YXIgZW1wdHlUd2VlbiA9IFtdOworCit2YXIgQ1JFQVRFRCA9IDA7
Cit2YXIgU0NIRURVTEVEID0gMTsKK3ZhciBTVEFSVElORyA9IDI7Cit2YXIgU1RBUlRFRCA9IDM7
Cit2YXIgUlVOTklORyA9IDQ7Cit2YXIgRU5ESU5HID0gNTsKK3ZhciBFTkRFRCA9IDY7CisKK2Z1
bmN0aW9uIHNjaGVkdWxlKG5vZGUsIG5hbWUsIGlkLCBpbmRleCwgZ3JvdXAsIHRpbWluZykgewor
ICB2YXIgc2NoZWR1bGVzID0gbm9kZS5fX3RyYW5zaXRpb247CisgIGlmICghc2NoZWR1bGVzKSBu
b2RlLl9fdHJhbnNpdGlvbiA9IHt9OworICBlbHNlIGlmIChpZCBpbiBzY2hlZHVsZXMpIHJldHVy
bjsKKyAgY3JlYXRlJDEobm9kZSwgaWQsIHsKKyAgICBuYW1lOiBuYW1lLAorICAgIGluZGV4OiBp
bmRleCwgLy8gRm9yIGNvbnRleHQgZHVyaW5nIGNhbGxiYWNrLgorICAgIGdyb3VwOiBncm91cCwg
Ly8gRm9yIGNvbnRleHQgZHVyaW5nIGNhbGxiYWNrLgorICAgIG9uOiBlbXB0eU9uLAorICAgIHR3
ZWVuOiBlbXB0eVR3ZWVuLAorICAgIHRpbWU6IHRpbWluZy50aW1lLAorICAgIGRlbGF5OiB0aW1p
bmcuZGVsYXksCisgICAgZHVyYXRpb246IHRpbWluZy5kdXJhdGlvbiwKKyAgICBlYXNlOiB0aW1p
bmcuZWFzZSwKKyAgICB0aW1lcjogbnVsbCwKKyAgICBzdGF0ZTogQ1JFQVRFRAorICB9KTsKK30K
KworZnVuY3Rpb24gaW5pdChub2RlLCBpZCkgeworICB2YXIgc2NoZWR1bGUgPSBnZXQkMShub2Rl
LCBpZCk7CisgIGlmIChzY2hlZHVsZS5zdGF0ZSA+IENSRUFURUQpIHRocm93IG5ldyBFcnJvcigi
dG9vIGxhdGU7IGFscmVhZHkgc2NoZWR1bGVkIik7CisgIHJldHVybiBzY2hlZHVsZTsKK30KKwor
ZnVuY3Rpb24gc2V0JDEobm9kZSwgaWQpIHsKKyAgdmFyIHNjaGVkdWxlID0gZ2V0JDEobm9kZSwg
aWQpOworICBpZiAoc2NoZWR1bGUuc3RhdGUgPiBTVEFSVEVEKSB0aHJvdyBuZXcgRXJyb3IoInRv
byBsYXRlOyBhbHJlYWR5IHJ1bm5pbmciKTsKKyAgcmV0dXJuIHNjaGVkdWxlOworfQorCitmdW5j
dGlvbiBnZXQkMShub2RlLCBpZCkgeworICB2YXIgc2NoZWR1bGUgPSBub2RlLl9fdHJhbnNpdGlv
bjsKKyAgaWYgKCFzY2hlZHVsZSB8fCAhKHNjaGVkdWxlID0gc2NoZWR1bGVbaWRdKSkgdGhyb3cg
bmV3IEVycm9yKCJ0cmFuc2l0aW9uIG5vdCBmb3VuZCIpOworICByZXR1cm4gc2NoZWR1bGU7Cit9
CisKK2Z1bmN0aW9uIGNyZWF0ZSQxKG5vZGUsIGlkLCBzZWxmKSB7CisgIHZhciBzY2hlZHVsZXMg
PSBub2RlLl9fdHJhbnNpdGlvbiwKKyAgICAgIHR3ZWVuOworCisgIC8vIEluaXRpYWxpemUgdGhl
IHNlbGYgdGltZXIgd2hlbiB0aGUgdHJhbnNpdGlvbiBpcyBjcmVhdGVkLgorICAvLyBOb3RlIHRo
ZSBhY3R1YWwgZGVsYXkgaXMgbm90IGtub3duIHVudGlsIHRoZSBmaXJzdCBjYWxsYmFjayEKKyAg
c2NoZWR1bGVzW2lkXSA9IHNlbGY7CisgIHNlbGYudGltZXIgPSB0aW1lcihzY2hlZHVsZSwgMCwg
c2VsZi50aW1lKTsKKworICBmdW5jdGlvbiBzY2hlZHVsZShlbGFwc2VkKSB7CisgICAgc2VsZi5z
dGF0ZSA9IFNDSEVEVUxFRDsKKyAgICBzZWxmLnRpbWVyLnJlc3RhcnQoc3RhcnQsIHNlbGYuZGVs
YXksIHNlbGYudGltZSk7CisKKyAgICAvLyBJZiB0aGUgZWxhcHNlZCBkZWxheSBpcyBsZXNzIHRo
YW4gb3VyIGZpcnN0IHNsZWVwLCBzdGFydCBpbW1lZGlhdGVseS4KKyAgICBpZiAoc2VsZi5kZWxh
eSA8PSBlbGFwc2VkKSBzdGFydChlbGFwc2VkIC0gc2VsZi5kZWxheSk7CisgIH0KKworICBmdW5j
dGlvbiBzdGFydChlbGFwc2VkKSB7CisgICAgdmFyIGksIGosIG4sIG87CisKKyAgICAvLyBJZiB0
aGUgc3RhdGUgaXMgbm90IFNDSEVEVUxFRCwgdGhlbiB3ZSBwcmV2aW91c2x5IGVycm9yZWQgb24g
c3RhcnQuCisgICAgaWYgKHNlbGYuc3RhdGUgIT09IFNDSEVEVUxFRCkgcmV0dXJuIHN0b3AoKTsK
KworICAgIGZvciAoaSBpbiBzY2hlZHVsZXMpIHsKKyAgICAgIG8gPSBzY2hlZHVsZXNbaV07Cisg
ICAgICBpZiAoby5uYW1lICE9PSBzZWxmLm5hbWUpIGNvbnRpbnVlOworCisgICAgICAvLyBXaGls
ZSB0aGlzIGVsZW1lbnQgYWxyZWFkeSBoYXMgYSBzdGFydGluZyB0cmFuc2l0aW9uIGR1cmluZyB0
aGlzIGZyYW1lLAorICAgICAgLy8gZGVmZXIgc3RhcnRpbmcgYW4gaW50ZXJydXB0aW5nIHRyYW5z
aXRpb24gdW50aWwgdGhhdCB0cmFuc2l0aW9uIGhhcyBhCisgICAgICAvLyBjaGFuY2UgdG8gdGlj
ayAoYW5kIHBvc3NpYmx5IGVuZCk7IHNlZSBkMy9kMy10cmFuc2l0aW9uIzU0IQorICAgICAgaWYg
KG8uc3RhdGUgPT09IFNUQVJURUQpIHJldHVybiB0aW1lb3V0JDEoc3RhcnQpOworCisgICAgICAv
LyBJbnRlcnJ1cHQgdGhlIGFjdGl2ZSB0cmFuc2l0aW9uLCBpZiBhbnkuCisgICAgICBpZiAoby5z
dGF0ZSA9PT0gUlVOTklORykgeworICAgICAgICBvLnN0YXRlID0gRU5ERUQ7CisgICAgICAgIG8u
dGltZXIuc3RvcCgpOworICAgICAgICBvLm9uLmNhbGwoImludGVycnVwdCIsIG5vZGUsIG5vZGUu
X19kYXRhX18sIG8uaW5kZXgsIG8uZ3JvdXApOworICAgICAgICBkZWxldGUgc2NoZWR1bGVzW2ld
OworICAgICAgfQorCisgICAgICAvLyBDYW5jZWwgYW55IHByZS1lbXB0ZWQgdHJhbnNpdGlvbnMu
CisgICAgICBlbHNlIGlmICgraSA8IGlkKSB7CisgICAgICAgIG8uc3RhdGUgPSBFTkRFRDsKKyAg
ICAgICAgby50aW1lci5zdG9wKCk7CisgICAgICAgIG8ub24uY2FsbCgiY2FuY2VsIiwgbm9kZSwg
bm9kZS5fX2RhdGFfXywgby5pbmRleCwgby5ncm91cCk7CisgICAgICAgIGRlbGV0ZSBzY2hlZHVs
ZXNbaV07CisgICAgICB9CisgICAgfQorCisgICAgLy8gRGVmZXIgdGhlIGZpcnN0IHRpY2sgdG8g
ZW5kIG9mIHRoZSBjdXJyZW50IGZyYW1lOyBzZWUgZDMvZDMjMTU3Ni4KKyAgICAvLyBOb3RlIHRo
ZSB0cmFuc2l0aW9uIG1heSBiZSBjYW5jZWxlZCBhZnRlciBzdGFydCBhbmQgYmVmb3JlIHRoZSBm
aXJzdCB0aWNrIQorICAgIC8vIE5vdGUgdGhpcyBtdXN0IGJlIHNjaGVkdWxlZCBiZWZvcmUgdGhl
IHN0YXJ0IGV2ZW50OyBzZWUgZDMvZDMtdHJhbnNpdGlvbiMxNiEKKyAgICAvLyBBc3N1bWluZyB0
aGlzIGlzIHN1Y2Nlc3NmdWwsIHN1YnNlcXVlbnQgY2FsbGJhY2tzIGdvIHN0cmFpZ2h0IHRvIHRp
Y2suCisgICAgdGltZW91dCQxKGZ1bmN0aW9uKCkgeworICAgICAgaWYgKHNlbGYuc3RhdGUgPT09
IFNUQVJURUQpIHsKKyAgICAgICAgc2VsZi5zdGF0ZSA9IFJVTk5JTkc7CisgICAgICAgIHNlbGYu
dGltZXIucmVzdGFydCh0aWNrLCBzZWxmLmRlbGF5LCBzZWxmLnRpbWUpOworICAgICAgICB0aWNr
KGVsYXBzZWQpOworICAgICAgfQorICAgIH0pOworCisgICAgLy8gRGlzcGF0Y2ggdGhlIHN0YXJ0
IGV2ZW50LgorICAgIC8vIE5vdGUgdGhpcyBtdXN0IGJlIGRvbmUgYmVmb3JlIHRoZSB0d2VlbiBh
cmUgaW5pdGlhbGl6ZWQuCisgICAgc2VsZi5zdGF0ZSA9IFNUQVJUSU5HOworICAgIHNlbGYub24u
Y2FsbCgic3RhcnQiLCBub2RlLCBub2RlLl9fZGF0YV9fLCBzZWxmLmluZGV4LCBzZWxmLmdyb3Vw
KTsKKyAgICBpZiAoc2VsZi5zdGF0ZSAhPT0gU1RBUlRJTkcpIHJldHVybjsgLy8gaW50ZXJydXB0
ZWQKKyAgICBzZWxmLnN0YXRlID0gU1RBUlRFRDsKKworICAgIC8vIEluaXRpYWxpemUgdGhlIHR3
ZWVuLCBkZWxldGluZyBudWxsIHR3ZWVuLgorICAgIHR3ZWVuID0gbmV3IEFycmF5KG4gPSBzZWxm
LnR3ZWVuLmxlbmd0aCk7CisgICAgZm9yIChpID0gMCwgaiA9IC0xOyBpIDwgbjsgKytpKSB7Cisg
ICAgICBpZiAobyA9IHNlbGYudHdlZW5baV0udmFsdWUuY2FsbChub2RlLCBub2RlLl9fZGF0YV9f
LCBzZWxmLmluZGV4LCBzZWxmLmdyb3VwKSkgeworICAgICAgICB0d2VlblsrK2pdID0gbzsKKyAg
ICAgIH0KKyAgICB9CisgICAgdHdlZW4ubGVuZ3RoID0gaiArIDE7CisgIH0KKworICBmdW5jdGlv
biB0aWNrKGVsYXBzZWQpIHsKKyAgICB2YXIgdCA9IGVsYXBzZWQgPCBzZWxmLmR1cmF0aW9uID8g
c2VsZi5lYXNlLmNhbGwobnVsbCwgZWxhcHNlZCAvIHNlbGYuZHVyYXRpb24pIDogKHNlbGYudGlt
ZXIucmVzdGFydChzdG9wKSwgc2VsZi5zdGF0ZSA9IEVORElORywgMSksCisgICAgICAgIGkgPSAt
MSwKKyAgICAgICAgbiA9IHR3ZWVuLmxlbmd0aDsKKworICAgIHdoaWxlICgrK2kgPCBuKSB7Cisg
ICAgICB0d2VlbltpXS5jYWxsKG5vZGUsIHQpOworICAgIH0KKworICAgIC8vIERpc3BhdGNoIHRo
ZSBlbmQgZXZlbnQuCisgICAgaWYgKHNlbGYuc3RhdGUgPT09IEVORElORykgeworICAgICAgc2Vs
Zi5vbi5jYWxsKCJlbmQiLCBub2RlLCBub2RlLl9fZGF0YV9fLCBzZWxmLmluZGV4LCBzZWxmLmdy
b3VwKTsKKyAgICAgIHN0b3AoKTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBzdG9wKCkgewor
ICAgIHNlbGYuc3RhdGUgPSBFTkRFRDsKKyAgICBzZWxmLnRpbWVyLnN0b3AoKTsKKyAgICBkZWxl
dGUgc2NoZWR1bGVzW2lkXTsKKyAgICBmb3IgKHZhciBpIGluIHNjaGVkdWxlcykgcmV0dXJuOyAv
LyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzCisgICAgZGVsZXRlIG5vZGUuX190
cmFuc2l0aW9uOworICB9Cit9CisKK2Z1bmN0aW9uIGludGVycnVwdChub2RlLCBuYW1lKSB7Cisg
IHZhciBzY2hlZHVsZXMgPSBub2RlLl9fdHJhbnNpdGlvbiwKKyAgICAgIHNjaGVkdWxlLAorICAg
ICAgYWN0aXZlLAorICAgICAgZW1wdHkgPSB0cnVlLAorICAgICAgaTsKKworICBpZiAoIXNjaGVk
dWxlcykgcmV0dXJuOworCisgIG5hbWUgPSBuYW1lID09IG51bGwgPyBudWxsIDogbmFtZSArICIi
OworCisgIGZvciAoaSBpbiBzY2hlZHVsZXMpIHsKKyAgICBpZiAoKHNjaGVkdWxlID0gc2NoZWR1
bGVzW2ldKS5uYW1lICE9PSBuYW1lKSB7IGVtcHR5ID0gZmFsc2U7IGNvbnRpbnVlOyB9CisgICAg
YWN0aXZlID0gc2NoZWR1bGUuc3RhdGUgPiBTVEFSVElORyAmJiBzY2hlZHVsZS5zdGF0ZSA8IEVO
RElORzsKKyAgICBzY2hlZHVsZS5zdGF0ZSA9IEVOREVEOworICAgIHNjaGVkdWxlLnRpbWVyLnN0
b3AoKTsKKyAgICBzY2hlZHVsZS5vbi5jYWxsKGFjdGl2ZSA/ICJpbnRlcnJ1cHQiIDogImNhbmNl
bCIsIG5vZGUsIG5vZGUuX19kYXRhX18sIHNjaGVkdWxlLmluZGV4LCBzY2hlZHVsZS5ncm91cCk7
CisgICAgZGVsZXRlIHNjaGVkdWxlc1tpXTsKKyAgfQorCisgIGlmIChlbXB0eSkgZGVsZXRlIG5v
ZGUuX190cmFuc2l0aW9uOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25faW50ZXJydXB0KG5hbWUp
IHsKKyAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKKyAgICBpbnRlcnJ1cHQodGhpcywg
bmFtZSk7CisgIH0pOworfQorCitmdW5jdGlvbiB0d2VlblJlbW92ZShpZCwgbmFtZSkgeworICB2
YXIgdHdlZW4wLCB0d2VlbjE7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgc2NoZWR1
bGUgPSBzZXQkMSh0aGlzLCBpZCksCisgICAgICAgIHR3ZWVuID0gc2NoZWR1bGUudHdlZW47CisK
KyAgICAvLyBJZiB0aGlzIG5vZGUgc2hhcmVkIHR3ZWVuIHdpdGggdGhlIHByZXZpb3VzIG5vZGUs
CisgICAgLy8ganVzdCBhc3NpZ24gdGhlIHVwZGF0ZWQgc2hhcmVkIHR3ZWVuIGFuZCB3ZeKAmXJl
IGRvbmUhCisgICAgLy8gT3RoZXJ3aXNlLCBjb3B5LW9uLXdyaXRlLgorICAgIGlmICh0d2VlbiAh
PT0gdHdlZW4wKSB7CisgICAgICB0d2VlbjEgPSB0d2VlbjAgPSB0d2VlbjsKKyAgICAgIGZvciAo
dmFyIGkgPSAwLCBuID0gdHdlZW4xLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAgICAgICBpZiAo
dHdlZW4xW2ldLm5hbWUgPT09IG5hbWUpIHsKKyAgICAgICAgICB0d2VlbjEgPSB0d2VlbjEuc2xp
Y2UoKTsKKyAgICAgICAgICB0d2VlbjEuc3BsaWNlKGksIDEpOworICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CisgICAgICB9CisgICAgfQorCisgICAgc2NoZWR1bGUudHdlZW4gPSB0d2VlbjE7
CisgIH07Cit9CisKK2Z1bmN0aW9uIHR3ZWVuRnVuY3Rpb24oaWQsIG5hbWUsIHZhbHVlKSB7Cisg
IHZhciB0d2VlbjAsIHR3ZWVuMTsKKyAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gImZ1bmN0aW9uIikg
dGhyb3cgbmV3IEVycm9yOworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHNjaGVkdWxl
ID0gc2V0JDEodGhpcywgaWQpLAorICAgICAgICB0d2VlbiA9IHNjaGVkdWxlLnR3ZWVuOworCisg
ICAgLy8gSWYgdGhpcyBub2RlIHNoYXJlZCB0d2VlbiB3aXRoIHRoZSBwcmV2aW91cyBub2RlLAor
ICAgIC8vIGp1c3QgYXNzaWduIHRoZSB1cGRhdGVkIHNoYXJlZCB0d2VlbiBhbmQgd2XigJlyZSBk
b25lIQorICAgIC8vIE90aGVyd2lzZSwgY29weS1vbi13cml0ZS4KKyAgICBpZiAodHdlZW4gIT09
IHR3ZWVuMCkgeworICAgICAgdHdlZW4xID0gKHR3ZWVuMCA9IHR3ZWVuKS5zbGljZSgpOworICAg
ICAgZm9yICh2YXIgdCA9IHtuYW1lOiBuYW1lLCB2YWx1ZTogdmFsdWV9LCBpID0gMCwgbiA9IHR3
ZWVuMS5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgaWYgKHR3ZWVuMVtpXS5uYW1lID09
PSBuYW1lKSB7CisgICAgICAgICAgdHdlZW4xW2ldID0gdDsKKyAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorICAgICAgfQorICAgICAgaWYgKGkgPT09IG4pIHR3ZWVuMS5wdXNoKHQpOworICAg
IH0KKworICAgIHNjaGVkdWxlLnR3ZWVuID0gdHdlZW4xOworICB9OworfQorCitmdW5jdGlvbiB0
cmFuc2l0aW9uX3R3ZWVuKG5hbWUsIHZhbHVlKSB7CisgIHZhciBpZCA9IHRoaXMuX2lkOworCisg
IG5hbWUgKz0gIiI7CisKKyAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7CisgICAgdmFyIHR3
ZWVuID0gZ2V0JDEodGhpcy5ub2RlKCksIGlkKS50d2VlbjsKKyAgICBmb3IgKHZhciBpID0gMCwg
biA9IHR3ZWVuLmxlbmd0aCwgdDsgaSA8IG47ICsraSkgeworICAgICAgaWYgKCh0ID0gdHdlZW5b
aV0pLm5hbWUgPT09IG5hbWUpIHsKKyAgICAgICAgcmV0dXJuIHQudmFsdWU7CisgICAgICB9Cisg
ICAgfQorICAgIHJldHVybiBudWxsOworICB9CisKKyAgcmV0dXJuIHRoaXMuZWFjaCgodmFsdWUg
PT0gbnVsbCA/IHR3ZWVuUmVtb3ZlIDogdHdlZW5GdW5jdGlvbikoaWQsIG5hbWUsIHZhbHVlKSk7
Cit9CisKK2Z1bmN0aW9uIHR3ZWVuVmFsdWUodHJhbnNpdGlvbiwgbmFtZSwgdmFsdWUpIHsKKyAg
dmFyIGlkID0gdHJhbnNpdGlvbi5faWQ7CisKKyAgdHJhbnNpdGlvbi5lYWNoKGZ1bmN0aW9uKCkg
eworICAgIHZhciBzY2hlZHVsZSA9IHNldCQxKHRoaXMsIGlkKTsKKyAgICAoc2NoZWR1bGUudmFs
dWUgfHwgKHNjaGVkdWxlLnZhbHVlID0ge30pKVtuYW1lXSA9IHZhbHVlLmFwcGx5KHRoaXMsIGFy
Z3VtZW50cyk7CisgIH0pOworCisgIHJldHVybiBmdW5jdGlvbihub2RlKSB7CisgICAgcmV0dXJu
IGdldCQxKG5vZGUsIGlkKS52YWx1ZVtuYW1lXTsKKyAgfTsKK30KKworZnVuY3Rpb24gaW50ZXJw
b2xhdGUoYSwgYikgeworICB2YXIgYzsKKyAgcmV0dXJuICh0eXBlb2YgYiA9PT0gIm51bWJlciIg
PyBpbnRlcnBvbGF0ZU51bWJlcgorICAgICAgOiBiIGluc3RhbmNlb2YgY29sb3IgPyBpbnRlcnBv
bGF0ZVJnYgorICAgICAgOiAoYyA9IGNvbG9yKGIpKSA/IChiID0gYywgaW50ZXJwb2xhdGVSZ2Ip
CisgICAgICA6IGludGVycG9sYXRlU3RyaW5nKShhLCBiKTsKK30KKworZnVuY3Rpb24gYXR0clJl
bW92ZSQxKG5hbWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXMucmVtb3ZlQXR0
cmlidXRlKG5hbWUpOworICB9OworfQorCitmdW5jdGlvbiBhdHRyUmVtb3ZlTlMkMShmdWxsbmFt
ZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyhm
dWxsbmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWwpOworICB9OworfQorCitmdW5jdGlvbiBhdHRy
Q29uc3RhbnQkMShuYW1lLCBpbnRlcnBvbGF0ZSwgdmFsdWUxKSB7CisgIHZhciBzdHJpbmcwMCwK
KyAgICAgIHN0cmluZzEgPSB2YWx1ZTEgKyAiIiwKKyAgICAgIGludGVycG9sYXRlMDsKKyAgcmV0
dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBzdHJpbmcwID0gdGhpcy5nZXRBdHRyaWJ1dGUobmFt
ZSk7CisgICAgcmV0dXJuIHN0cmluZzAgPT09IHN0cmluZzEgPyBudWxsCisgICAgICAgIDogc3Ry
aW5nMCA9PT0gc3RyaW5nMDAgPyBpbnRlcnBvbGF0ZTAKKyAgICAgICAgOiBpbnRlcnBvbGF0ZTAg
PSBpbnRlcnBvbGF0ZShzdHJpbmcwMCA9IHN0cmluZzAsIHZhbHVlMSk7CisgIH07Cit9CisKK2Z1
bmN0aW9uIGF0dHJDb25zdGFudE5TJDEoZnVsbG5hbWUsIGludGVycG9sYXRlLCB2YWx1ZTEpIHsK
KyAgdmFyIHN0cmluZzAwLAorICAgICAgc3RyaW5nMSA9IHZhbHVlMSArICIiLAorICAgICAgaW50
ZXJwb2xhdGUwOworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHN0cmluZzAgPSB0aGlz
LmdldEF0dHJpYnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCk7CisgICAgcmV0
dXJuIHN0cmluZzAgPT09IHN0cmluZzEgPyBudWxsCisgICAgICAgIDogc3RyaW5nMCA9PT0gc3Ry
aW5nMDAgPyBpbnRlcnBvbGF0ZTAKKyAgICAgICAgOiBpbnRlcnBvbGF0ZTAgPSBpbnRlcnBvbGF0
ZShzdHJpbmcwMCA9IHN0cmluZzAsIHZhbHVlMSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGF0dHJG
dW5jdGlvbiQxKG5hbWUsIGludGVycG9sYXRlLCB2YWx1ZSkgeworICB2YXIgc3RyaW5nMDAsCisg
ICAgICBzdHJpbmcxMCwKKyAgICAgIGludGVycG9sYXRlMDsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkg
eworICAgIHZhciBzdHJpbmcwLCB2YWx1ZTEgPSB2YWx1ZSh0aGlzKSwgc3RyaW5nMTsKKyAgICBp
ZiAodmFsdWUxID09IG51bGwpIHJldHVybiB2b2lkIHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUp
OworICAgIHN0cmluZzAgPSB0aGlzLmdldEF0dHJpYnV0ZShuYW1lKTsKKyAgICBzdHJpbmcxID0g
dmFsdWUxICsgIiI7CisgICAgcmV0dXJuIHN0cmluZzAgPT09IHN0cmluZzEgPyBudWxsCisgICAg
ICAgIDogc3RyaW5nMCA9PT0gc3RyaW5nMDAgJiYgc3RyaW5nMSA9PT0gc3RyaW5nMTAgPyBpbnRl
cnBvbGF0ZTAKKyAgICAgICAgOiAoc3RyaW5nMTAgPSBzdHJpbmcxLCBpbnRlcnBvbGF0ZTAgPSBp
bnRlcnBvbGF0ZShzdHJpbmcwMCA9IHN0cmluZzAsIHZhbHVlMSkpOworICB9OworfQorCitmdW5j
dGlvbiBhdHRyRnVuY3Rpb25OUyQxKGZ1bGxuYW1lLCBpbnRlcnBvbGF0ZSwgdmFsdWUpIHsKKyAg
dmFyIHN0cmluZzAwLAorICAgICAgc3RyaW5nMTAsCisgICAgICBpbnRlcnBvbGF0ZTA7CisgIHJl
dHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgc3RyaW5nMCwgdmFsdWUxID0gdmFsdWUodGhpcyks
IHN0cmluZzE7CisgICAgaWYgKHZhbHVlMSA9PSBudWxsKSByZXR1cm4gdm9pZCB0aGlzLnJlbW92
ZUF0dHJpYnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCk7CisgICAgc3RyaW5n
MCA9IHRoaXMuZ2V0QXR0cmlidXRlTlMoZnVsbG5hbWUuc3BhY2UsIGZ1bGxuYW1lLmxvY2FsKTsK
KyAgICBzdHJpbmcxID0gdmFsdWUxICsgIiI7CisgICAgcmV0dXJuIHN0cmluZzAgPT09IHN0cmlu
ZzEgPyBudWxsCisgICAgICAgIDogc3RyaW5nMCA9PT0gc3RyaW5nMDAgJiYgc3RyaW5nMSA9PT0g
c3RyaW5nMTAgPyBpbnRlcnBvbGF0ZTAKKyAgICAgICAgOiAoc3RyaW5nMTAgPSBzdHJpbmcxLCBp
bnRlcnBvbGF0ZTAgPSBpbnRlcnBvbGF0ZShzdHJpbmcwMCA9IHN0cmluZzAsIHZhbHVlMSkpOwor
ICB9OworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX2F0dHIobmFtZSwgdmFsdWUpIHsKKyAgdmFy
IGZ1bGxuYW1lID0gbmFtZXNwYWNlKG5hbWUpLCBpID0gZnVsbG5hbWUgPT09ICJ0cmFuc2Zvcm0i
ID8gaW50ZXJwb2xhdGVUcmFuc2Zvcm1TdmcgOiBpbnRlcnBvbGF0ZTsKKyAgcmV0dXJuIHRoaXMu
YXR0clR3ZWVuKG5hbWUsIHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAgICAgPyAoZnVs
bG5hbWUubG9jYWwgPyBhdHRyRnVuY3Rpb25OUyQxIDogYXR0ckZ1bmN0aW9uJDEpKGZ1bGxuYW1l
LCBpLCB0d2VlblZhbHVlKHRoaXMsICJhdHRyLiIgKyBuYW1lLCB2YWx1ZSkpCisgICAgICA6IHZh
bHVlID09IG51bGwgPyAoZnVsbG5hbWUubG9jYWwgPyBhdHRyUmVtb3ZlTlMkMSA6IGF0dHJSZW1v
dmUkMSkoZnVsbG5hbWUpCisgICAgICA6IChmdWxsbmFtZS5sb2NhbCA/IGF0dHJDb25zdGFudE5T
JDEgOiBhdHRyQ29uc3RhbnQkMSkoZnVsbG5hbWUsIGksIHZhbHVlKSk7Cit9CisKK2Z1bmN0aW9u
IGF0dHJJbnRlcnBvbGF0ZShuYW1lLCBpKSB7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAg
dGhpcy5zZXRBdHRyaWJ1dGUobmFtZSwgaS5jYWxsKHRoaXMsIHQpKTsKKyAgfTsKK30KKworZnVu
Y3Rpb24gYXR0ckludGVycG9sYXRlTlMoZnVsbG5hbWUsIGkpIHsKKyAgcmV0dXJuIGZ1bmN0aW9u
KHQpIHsKKyAgICB0aGlzLnNldEF0dHJpYnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5s
b2NhbCwgaS5jYWxsKHRoaXMsIHQpKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0clR3ZWVuTlMo
ZnVsbG5hbWUsIHZhbHVlKSB7CisgIHZhciB0MCwgaTA7CisgIGZ1bmN0aW9uIHR3ZWVuKCkgewor
ICAgIHZhciBpID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICBpZiAoaSAhPT0g
aTApIHQwID0gKGkwID0gaSkgJiYgYXR0ckludGVycG9sYXRlTlMoZnVsbG5hbWUsIGkpOworICAg
IHJldHVybiB0MDsKKyAgfQorICB0d2Vlbi5fdmFsdWUgPSB2YWx1ZTsKKyAgcmV0dXJuIHR3ZWVu
OworfQorCitmdW5jdGlvbiBhdHRyVHdlZW4obmFtZSwgdmFsdWUpIHsKKyAgdmFyIHQwLCBpMDsK
KyAgZnVuY3Rpb24gdHdlZW4oKSB7CisgICAgdmFyIGkgPSB2YWx1ZS5hcHBseSh0aGlzLCBhcmd1
bWVudHMpOworICAgIGlmIChpICE9PSBpMCkgdDAgPSAoaTAgPSBpKSAmJiBhdHRySW50ZXJwb2xh
dGUobmFtZSwgaSk7CisgICAgcmV0dXJuIHQwOworICB9CisgIHR3ZWVuLl92YWx1ZSA9IHZhbHVl
OworICByZXR1cm4gdHdlZW47Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fYXR0clR3ZWVuKG5h
bWUsIHZhbHVlKSB7CisgIHZhciBrZXkgPSAiYXR0ci4iICsgbmFtZTsKKyAgaWYgKGFyZ3VtZW50
cy5sZW5ndGggPCAyKSByZXR1cm4gKGtleSA9IHRoaXMudHdlZW4oa2V5KSkgJiYga2V5Ll92YWx1
ZTsKKyAgaWYgKHZhbHVlID09IG51bGwpIHJldHVybiB0aGlzLnR3ZWVuKGtleSwgbnVsbCk7Cisg
IGlmICh0eXBlb2YgdmFsdWUgIT09ICJmdW5jdGlvbiIpIHRocm93IG5ldyBFcnJvcjsKKyAgdmFy
IGZ1bGxuYW1lID0gbmFtZXNwYWNlKG5hbWUpOworICByZXR1cm4gdGhpcy50d2VlbihrZXksIChm
dWxsbmFtZS5sb2NhbCA/IGF0dHJUd2Vlbk5TIDogYXR0clR3ZWVuKShmdWxsbmFtZSwgdmFsdWUp
KTsKK30KKworZnVuY3Rpb24gZGVsYXlGdW5jdGlvbihpZCwgdmFsdWUpIHsKKyAgcmV0dXJuIGZ1
bmN0aW9uKCkgeworICAgIGluaXQodGhpcywgaWQpLmRlbGF5ID0gK3ZhbHVlLmFwcGx5KHRoaXMs
IGFyZ3VtZW50cyk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGRlbGF5Q29uc3RhbnQoaWQsIHZhbHVl
KSB7CisgIHJldHVybiB2YWx1ZSA9ICt2YWx1ZSwgZnVuY3Rpb24oKSB7CisgICAgaW5pdCh0aGlz
LCBpZCkuZGVsYXkgPSB2YWx1ZTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl9kZWxh
eSh2YWx1ZSkgeworICB2YXIgaWQgPSB0aGlzLl9pZDsKKworICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aAorICAgICAgPyB0aGlzLmVhY2goKHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAg
ICAgICAgID8gZGVsYXlGdW5jdGlvbgorICAgICAgICAgIDogZGVsYXlDb25zdGFudCkoaWQsIHZh
bHVlKSkKKyAgICAgIDogZ2V0JDEodGhpcy5ub2RlKCksIGlkKS5kZWxheTsKK30KKworZnVuY3Rp
b24gZHVyYXRpb25GdW5jdGlvbihpZCwgdmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgewor
ICAgIHNldCQxKHRoaXMsIGlkKS5kdXJhdGlvbiA9ICt2YWx1ZS5hcHBseSh0aGlzLCBhcmd1bWVu
dHMpOworICB9OworfQorCitmdW5jdGlvbiBkdXJhdGlvbkNvbnN0YW50KGlkLCB2YWx1ZSkgewor
ICByZXR1cm4gdmFsdWUgPSArdmFsdWUsIGZ1bmN0aW9uKCkgeworICAgIHNldCQxKHRoaXMsIGlk
KS5kdXJhdGlvbiA9IHZhbHVlOworICB9OworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX2R1cmF0
aW9uKHZhbHVlKSB7CisgIHZhciBpZCA9IHRoaXMuX2lkOworCisgIHJldHVybiBhcmd1bWVudHMu
bGVuZ3RoCisgICAgICA/IHRoaXMuZWFjaCgodHlwZW9mIHZhbHVlID09PSAiZnVuY3Rpb24iCisg
ICAgICAgICAgPyBkdXJhdGlvbkZ1bmN0aW9uCisgICAgICAgICAgOiBkdXJhdGlvbkNvbnN0YW50
KShpZCwgdmFsdWUpKQorICAgICAgOiBnZXQkMSh0aGlzLm5vZGUoKSwgaWQpLmR1cmF0aW9uOwor
fQorCitmdW5jdGlvbiBlYXNlQ29uc3RhbnQoaWQsIHZhbHVlKSB7CisgIGlmICh0eXBlb2YgdmFs
dWUgIT09ICJmdW5jdGlvbiIpIHRocm93IG5ldyBFcnJvcjsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkg
eworICAgIHNldCQxKHRoaXMsIGlkKS5lYXNlID0gdmFsdWU7CisgIH07Cit9CisKK2Z1bmN0aW9u
IHRyYW5zaXRpb25fZWFzZSh2YWx1ZSkgeworICB2YXIgaWQgPSB0aGlzLl9pZDsKKworICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aAorICAgICAgPyB0aGlzLmVhY2goZWFzZUNvbnN0YW50KGlkLCB2
YWx1ZSkpCisgICAgICA6IGdldCQxKHRoaXMubm9kZSgpLCBpZCkuZWFzZTsKK30KKworZnVuY3Rp
b24gdHJhbnNpdGlvbl9maWx0ZXIobWF0Y2gpIHsKKyAgaWYgKHR5cGVvZiBtYXRjaCAhPT0gImZ1
bmN0aW9uIikgbWF0Y2ggPSBtYXRjaGVyKG1hdGNoKTsKKworICBmb3IgKHZhciBncm91cHMgPSB0
aGlzLl9ncm91cHMsIG0gPSBncm91cHMubGVuZ3RoLCBzdWJncm91cHMgPSBuZXcgQXJyYXkobSks
IGogPSAwOyBqIDwgbTsgKytqKSB7CisgICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNbal0sIG4g
PSBncm91cC5sZW5ndGgsIHN1Ymdyb3VwID0gc3ViZ3JvdXBzW2pdID0gW10sIG5vZGUsIGkgPSAw
OyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAoKG5vZGUgPSBncm91cFtpXSkgJiYgbWF0Y2guY2Fs
bChub2RlLCBub2RlLl9fZGF0YV9fLCBpLCBncm91cCkpIHsKKyAgICAgICAgc3ViZ3JvdXAucHVz
aChub2RlKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gbmV3IFRyYW5zaXRpb24o
c3ViZ3JvdXBzLCB0aGlzLl9wYXJlbnRzLCB0aGlzLl9uYW1lLCB0aGlzLl9pZCk7Cit9CisKK2Z1
bmN0aW9uIHRyYW5zaXRpb25fbWVyZ2UodHJhbnNpdGlvbikgeworICBpZiAodHJhbnNpdGlvbi5f
aWQgIT09IHRoaXMuX2lkKSB0aHJvdyBuZXcgRXJyb3I7CisKKyAgZm9yICh2YXIgZ3JvdXBzMCA9
IHRoaXMuX2dyb3VwcywgZ3JvdXBzMSA9IHRyYW5zaXRpb24uX2dyb3VwcywgbTAgPSBncm91cHMw
Lmxlbmd0aCwgbTEgPSBncm91cHMxLmxlbmd0aCwgbSA9IE1hdGgubWluKG0wLCBtMSksIG1lcmdl
cyA9IG5ldyBBcnJheShtMCksIGogPSAwOyBqIDwgbTsgKytqKSB7CisgICAgZm9yICh2YXIgZ3Jv
dXAwID0gZ3JvdXBzMFtqXSwgZ3JvdXAxID0gZ3JvdXBzMVtqXSwgbiA9IGdyb3VwMC5sZW5ndGgs
IG1lcmdlID0gbWVyZ2VzW2pdID0gbmV3IEFycmF5KG4pLCBub2RlLCBpID0gMDsgaSA8IG47ICsr
aSkgeworICAgICAgaWYgKG5vZGUgPSBncm91cDBbaV0gfHwgZ3JvdXAxW2ldKSB7CisgICAgICAg
IG1lcmdlW2ldID0gbm9kZTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBmb3IgKDsgaiA8IG0w
OyArK2opIHsKKyAgICBtZXJnZXNbal0gPSBncm91cHMwW2pdOworICB9CisKKyAgcmV0dXJuIG5l
dyBUcmFuc2l0aW9uKG1lcmdlcywgdGhpcy5fcGFyZW50cywgdGhpcy5fbmFtZSwgdGhpcy5faWQp
OworfQorCitmdW5jdGlvbiBzdGFydChuYW1lKSB7CisgIHJldHVybiAobmFtZSArICIiKS50cmlt
KCkuc3BsaXQoL158XHMrLykuZXZlcnkoZnVuY3Rpb24odCkgeworICAgIHZhciBpID0gdC5pbmRl
eE9mKCIuIik7CisgICAgaWYgKGkgPj0gMCkgdCA9IHQuc2xpY2UoMCwgaSk7CisgICAgcmV0dXJu
ICF0IHx8IHQgPT09ICJzdGFydCI7CisgIH0pOworfQorCitmdW5jdGlvbiBvbkZ1bmN0aW9uKGlk
LCBuYW1lLCBsaXN0ZW5lcikgeworICB2YXIgb24wLCBvbjEsIHNpdCA9IHN0YXJ0KG5hbWUpID8g
aW5pdCA6IHNldCQxOworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHNjaGVkdWxlID0g
c2l0KHRoaXMsIGlkKSwKKyAgICAgICAgb24gPSBzY2hlZHVsZS5vbjsKKworICAgIC8vIElmIHRo
aXMgbm9kZSBzaGFyZWQgYSBkaXNwYXRjaCB3aXRoIHRoZSBwcmV2aW91cyBub2RlLAorICAgIC8v
IGp1c3QgYXNzaWduIHRoZSB1cGRhdGVkIHNoYXJlZCBkaXNwYXRjaCBhbmQgd2XigJlyZSBkb25l
IQorICAgIC8vIE90aGVyd2lzZSwgY29weS1vbi13cml0ZS4KKyAgICBpZiAob24gIT09IG9uMCkg
KG9uMSA9IChvbjAgPSBvbikuY29weSgpKS5vbihuYW1lLCBsaXN0ZW5lcik7CisKKyAgICBzY2hl
ZHVsZS5vbiA9IG9uMTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl9vbihuYW1lLCBs
aXN0ZW5lcikgeworICB2YXIgaWQgPSB0aGlzLl9pZDsKKworICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA8IDIKKyAgICAgID8gZ2V0JDEodGhpcy5ub2RlKCksIGlkKS5vbi5vbihuYW1lKQorICAg
ICAgOiB0aGlzLmVhY2gob25GdW5jdGlvbihpZCwgbmFtZSwgbGlzdGVuZXIpKTsKK30KKworZnVu
Y3Rpb24gcmVtb3ZlRnVuY3Rpb24oaWQpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZh
ciBwYXJlbnQgPSB0aGlzLnBhcmVudE5vZGU7CisgICAgZm9yICh2YXIgaSBpbiB0aGlzLl9fdHJh
bnNpdGlvbikgaWYgKCtpICE9PSBpZCkgcmV0dXJuOworICAgIGlmIChwYXJlbnQpIHBhcmVudC5y
ZW1vdmVDaGlsZCh0aGlzKTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl9yZW1vdmUo
KSB7CisgIHJldHVybiB0aGlzLm9uKCJlbmQucmVtb3ZlIiwgcmVtb3ZlRnVuY3Rpb24odGhpcy5f
aWQpKTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl9zZWxlY3Qoc2VsZWN0KSB7CisgIHZhciBu
YW1lID0gdGhpcy5fbmFtZSwKKyAgICAgIGlkID0gdGhpcy5faWQ7CisKKyAgaWYgKHR5cGVvZiBz
ZWxlY3QgIT09ICJmdW5jdGlvbiIpIHNlbGVjdCA9IHNlbGVjdG9yKHNlbGVjdCk7CisKKyAgZm9y
ICh2YXIgZ3JvdXBzID0gdGhpcy5fZ3JvdXBzLCBtID0gZ3JvdXBzLmxlbmd0aCwgc3ViZ3JvdXBz
ID0gbmV3IEFycmF5KG0pLCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3Vw
ID0gZ3JvdXBzW2pdLCBuID0gZ3JvdXAubGVuZ3RoLCBzdWJncm91cCA9IHN1Ymdyb3Vwc1tqXSA9
IG5ldyBBcnJheShuKSwgbm9kZSwgc3Vibm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAg
IGlmICgobm9kZSA9IGdyb3VwW2ldKSAmJiAoc3Vibm9kZSA9IHNlbGVjdC5jYWxsKG5vZGUsIG5v
ZGUuX19kYXRhX18sIGksIGdyb3VwKSkpIHsKKyAgICAgICAgaWYgKCJfX2RhdGFfXyIgaW4gbm9k
ZSkgc3Vibm9kZS5fX2RhdGFfXyA9IG5vZGUuX19kYXRhX187CisgICAgICAgIHN1Ymdyb3VwW2ld
ID0gc3Vibm9kZTsKKyAgICAgICAgc2NoZWR1bGUoc3ViZ3JvdXBbaV0sIG5hbWUsIGlkLCBpLCBz
dWJncm91cCwgZ2V0JDEobm9kZSwgaWQpKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1
cm4gbmV3IFRyYW5zaXRpb24oc3ViZ3JvdXBzLCB0aGlzLl9wYXJlbnRzLCBuYW1lLCBpZCk7Cit9
CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fc2VsZWN0QWxsKHNlbGVjdCkgeworICB2YXIgbmFtZSA9
IHRoaXMuX25hbWUsCisgICAgICBpZCA9IHRoaXMuX2lkOworCisgIGlmICh0eXBlb2Ygc2VsZWN0
ICE9PSAiZnVuY3Rpb24iKSBzZWxlY3QgPSBzZWxlY3RvckFsbChzZWxlY3QpOworCisgIGZvciAo
dmFyIGdyb3VwcyA9IHRoaXMuX2dyb3VwcywgbSA9IGdyb3Vwcy5sZW5ndGgsIHN1Ymdyb3VwcyA9
IFtdLCBwYXJlbnRzID0gW10sIGogPSAwOyBqIDwgbTsgKytqKSB7CisgICAgZm9yICh2YXIgZ3Jv
dXAgPSBncm91cHNbal0sIG4gPSBncm91cC5sZW5ndGgsIG5vZGUsIGkgPSAwOyBpIDwgbjsgKytp
KSB7CisgICAgICBpZiAobm9kZSA9IGdyb3VwW2ldKSB7CisgICAgICAgIGZvciAodmFyIGNoaWxk
cmVuID0gc2VsZWN0LmNhbGwobm9kZSwgbm9kZS5fX2RhdGFfXywgaSwgZ3JvdXApLCBjaGlsZCwg
aW5oZXJpdCA9IGdldCQxKG5vZGUsIGlkKSwgayA9IDAsIGwgPSBjaGlsZHJlbi5sZW5ndGg7IGsg
PCBsOyArK2spIHsKKyAgICAgICAgICBpZiAoY2hpbGQgPSBjaGlsZHJlbltrXSkgeworICAgICAg
ICAgICAgc2NoZWR1bGUoY2hpbGQsIG5hbWUsIGlkLCBrLCBjaGlsZHJlbiwgaW5oZXJpdCk7Cisg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHN1Ymdyb3Vwcy5wdXNoKGNoaWxkcmVuKTsK
KyAgICAgICAgcGFyZW50cy5wdXNoKG5vZGUpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJl
dHVybiBuZXcgVHJhbnNpdGlvbihzdWJncm91cHMsIHBhcmVudHMsIG5hbWUsIGlkKTsKK30KKwor
dmFyIFNlbGVjdGlvbiQxID0gc2VsZWN0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsKKworZnVu
Y3Rpb24gdHJhbnNpdGlvbl9zZWxlY3Rpb24oKSB7CisgIHJldHVybiBuZXcgU2VsZWN0aW9uJDEo
dGhpcy5fZ3JvdXBzLCB0aGlzLl9wYXJlbnRzKTsKK30KKworZnVuY3Rpb24gc3R5bGVOdWxsKG5h
bWUsIGludGVycG9sYXRlKSB7CisgIHZhciBzdHJpbmcwMCwKKyAgICAgIHN0cmluZzEwLAorICAg
ICAgaW50ZXJwb2xhdGUwOworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHN0cmluZzAg
PSBzdHlsZVZhbHVlKHRoaXMsIG5hbWUpLAorICAgICAgICBzdHJpbmcxID0gKHRoaXMuc3R5bGUu
cmVtb3ZlUHJvcGVydHkobmFtZSksIHN0eWxlVmFsdWUodGhpcywgbmFtZSkpOworICAgIHJldHVy
biBzdHJpbmcwID09PSBzdHJpbmcxID8gbnVsbAorICAgICAgICA6IHN0cmluZzAgPT09IHN0cmlu
ZzAwICYmIHN0cmluZzEgPT09IHN0cmluZzEwID8gaW50ZXJwb2xhdGUwCisgICAgICAgIDogaW50
ZXJwb2xhdGUwID0gaW50ZXJwb2xhdGUoc3RyaW5nMDAgPSBzdHJpbmcwLCBzdHJpbmcxMCA9IHN0
cmluZzEpOworICB9OworfQorCitmdW5jdGlvbiBzdHlsZVJlbW92ZSQxKG5hbWUpIHsKKyAgcmV0
dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkobmFtZSk7Cisg
IH07Cit9CisKK2Z1bmN0aW9uIHN0eWxlQ29uc3RhbnQkMShuYW1lLCBpbnRlcnBvbGF0ZSwgdmFs
dWUxKSB7CisgIHZhciBzdHJpbmcwMCwKKyAgICAgIHN0cmluZzEgPSB2YWx1ZTEgKyAiIiwKKyAg
ICAgIGludGVycG9sYXRlMDsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBzdHJpbmcw
ID0gc3R5bGVWYWx1ZSh0aGlzLCBuYW1lKTsKKyAgICByZXR1cm4gc3RyaW5nMCA9PT0gc3RyaW5n
MSA/IG51bGwKKyAgICAgICAgOiBzdHJpbmcwID09PSBzdHJpbmcwMCA/IGludGVycG9sYXRlMAor
ICAgICAgICA6IGludGVycG9sYXRlMCA9IGludGVycG9sYXRlKHN0cmluZzAwID0gc3RyaW5nMCwg
dmFsdWUxKTsKKyAgfTsKK30KKworZnVuY3Rpb24gc3R5bGVGdW5jdGlvbiQxKG5hbWUsIGludGVy
cG9sYXRlLCB2YWx1ZSkgeworICB2YXIgc3RyaW5nMDAsCisgICAgICBzdHJpbmcxMCwKKyAgICAg
IGludGVycG9sYXRlMDsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBzdHJpbmcwID0g
c3R5bGVWYWx1ZSh0aGlzLCBuYW1lKSwKKyAgICAgICAgdmFsdWUxID0gdmFsdWUodGhpcyksCisg
ICAgICAgIHN0cmluZzEgPSB2YWx1ZTEgKyAiIjsKKyAgICBpZiAodmFsdWUxID09IG51bGwpIHN0
cmluZzEgPSB2YWx1ZTEgPSAodGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eShuYW1lKSwgc3R5bGVW
YWx1ZSh0aGlzLCBuYW1lKSk7CisgICAgcmV0dXJuIHN0cmluZzAgPT09IHN0cmluZzEgPyBudWxs
CisgICAgICAgIDogc3RyaW5nMCA9PT0gc3RyaW5nMDAgJiYgc3RyaW5nMSA9PT0gc3RyaW5nMTAg
PyBpbnRlcnBvbGF0ZTAKKyAgICAgICAgOiAoc3RyaW5nMTAgPSBzdHJpbmcxLCBpbnRlcnBvbGF0
ZTAgPSBpbnRlcnBvbGF0ZShzdHJpbmcwMCA9IHN0cmluZzAsIHZhbHVlMSkpOworICB9OworfQor
CitmdW5jdGlvbiBzdHlsZU1heWJlUmVtb3ZlKGlkLCBuYW1lKSB7CisgIHZhciBvbjAsIG9uMSwg
bGlzdGVuZXIwLCBrZXkgPSAic3R5bGUuIiArIG5hbWUsIGV2ZW50ID0gImVuZC4iICsga2V5LCBy
ZW1vdmU7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgc2NoZWR1bGUgPSBzZXQkMSh0
aGlzLCBpZCksCisgICAgICAgIG9uID0gc2NoZWR1bGUub24sCisgICAgICAgIGxpc3RlbmVyID0g
c2NoZWR1bGUudmFsdWVba2V5XSA9PSBudWxsID8gcmVtb3ZlIHx8IChyZW1vdmUgPSBzdHlsZVJl
bW92ZSQxKG5hbWUpKSA6IHVuZGVmaW5lZDsKKworICAgIC8vIElmIHRoaXMgbm9kZSBzaGFyZWQg
YSBkaXNwYXRjaCB3aXRoIHRoZSBwcmV2aW91cyBub2RlLAorICAgIC8vIGp1c3QgYXNzaWduIHRo
ZSB1cGRhdGVkIHNoYXJlZCBkaXNwYXRjaCBhbmQgd2XigJlyZSBkb25lIQorICAgIC8vIE90aGVy
d2lzZSwgY29weS1vbi13cml0ZS4KKyAgICBpZiAob24gIT09IG9uMCB8fCBsaXN0ZW5lcjAgIT09
IGxpc3RlbmVyKSAob24xID0gKG9uMCA9IG9uKS5jb3B5KCkpLm9uKGV2ZW50LCBsaXN0ZW5lcjAg
PSBsaXN0ZW5lcik7CisKKyAgICBzY2hlZHVsZS5vbiA9IG9uMTsKKyAgfTsKK30KKworZnVuY3Rp
b24gdHJhbnNpdGlvbl9zdHlsZShuYW1lLCB2YWx1ZSwgcHJpb3JpdHkpIHsKKyAgdmFyIGkgPSAo
bmFtZSArPSAiIikgPT09ICJ0cmFuc2Zvcm0iID8gaW50ZXJwb2xhdGVUcmFuc2Zvcm1Dc3MgOiBp
bnRlcnBvbGF0ZTsKKyAgcmV0dXJuIHZhbHVlID09IG51bGwgPyB0aGlzCisgICAgICAuc3R5bGVU
d2VlbihuYW1lLCBzdHlsZU51bGwobmFtZSwgaSkpCisgICAgICAub24oImVuZC5zdHlsZS4iICsg
bmFtZSwgc3R5bGVSZW1vdmUkMShuYW1lKSkKKyAgICA6IHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0
aW9uIiA/IHRoaXMKKyAgICAgIC5zdHlsZVR3ZWVuKG5hbWUsIHN0eWxlRnVuY3Rpb24kMShuYW1l
LCBpLCB0d2VlblZhbHVlKHRoaXMsICJzdHlsZS4iICsgbmFtZSwgdmFsdWUpKSkKKyAgICAgIC5l
YWNoKHN0eWxlTWF5YmVSZW1vdmUodGhpcy5faWQsIG5hbWUpKQorICAgIDogdGhpcworICAgICAg
LnN0eWxlVHdlZW4obmFtZSwgc3R5bGVDb25zdGFudCQxKG5hbWUsIGksIHZhbHVlKSwgcHJpb3Jp
dHkpCisgICAgICAub24oImVuZC5zdHlsZS4iICsgbmFtZSwgbnVsbCk7Cit9CisKK2Z1bmN0aW9u
IHN0eWxlSW50ZXJwb2xhdGUobmFtZSwgaSwgcHJpb3JpdHkpIHsKKyAgcmV0dXJuIGZ1bmN0aW9u
KHQpIHsKKyAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KG5hbWUsIGkuY2FsbCh0aGlzLCB0KSwg
cHJpb3JpdHkpOworICB9OworfQorCitmdW5jdGlvbiBzdHlsZVR3ZWVuKG5hbWUsIHZhbHVlLCBw
cmlvcml0eSkgeworICB2YXIgdCwgaTA7CisgIGZ1bmN0aW9uIHR3ZWVuKCkgeworICAgIHZhciBp
ID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICBpZiAoaSAhPT0gaTApIHQgPSAo
aTAgPSBpKSAmJiBzdHlsZUludGVycG9sYXRlKG5hbWUsIGksIHByaW9yaXR5KTsKKyAgICByZXR1
cm4gdDsKKyAgfQorICB0d2Vlbi5fdmFsdWUgPSB2YWx1ZTsKKyAgcmV0dXJuIHR3ZWVuOworfQor
CitmdW5jdGlvbiB0cmFuc2l0aW9uX3N0eWxlVHdlZW4obmFtZSwgdmFsdWUsIHByaW9yaXR5KSB7
CisgIHZhciBrZXkgPSAic3R5bGUuIiArIChuYW1lICs9ICIiKTsKKyAgaWYgKGFyZ3VtZW50cy5s
ZW5ndGggPCAyKSByZXR1cm4gKGtleSA9IHRoaXMudHdlZW4oa2V5KSkgJiYga2V5Ll92YWx1ZTsK
KyAgaWYgKHZhbHVlID09IG51bGwpIHJldHVybiB0aGlzLnR3ZWVuKGtleSwgbnVsbCk7CisgIGlm
ICh0eXBlb2YgdmFsdWUgIT09ICJmdW5jdGlvbiIpIHRocm93IG5ldyBFcnJvcjsKKyAgcmV0dXJu
IHRoaXMudHdlZW4oa2V5LCBzdHlsZVR3ZWVuKG5hbWUsIHZhbHVlLCBwcmlvcml0eSA9PSBudWxs
ID8gIiIgOiBwcmlvcml0eSkpOworfQorCitmdW5jdGlvbiB0ZXh0Q29uc3RhbnQkMSh2YWx1ZSkg
eworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy50ZXh0Q29udGVudCA9IHZhbHVlOwor
ICB9OworfQorCitmdW5jdGlvbiB0ZXh0RnVuY3Rpb24kMSh2YWx1ZSkgeworICByZXR1cm4gZnVu
Y3Rpb24oKSB7CisgICAgdmFyIHZhbHVlMSA9IHZhbHVlKHRoaXMpOworICAgIHRoaXMudGV4dENv
bnRlbnQgPSB2YWx1ZTEgPT0gbnVsbCA/ICIiIDogdmFsdWUxOworICB9OworfQorCitmdW5jdGlv
biB0cmFuc2l0aW9uX3RleHQodmFsdWUpIHsKKyAgcmV0dXJuIHRoaXMudHdlZW4oInRleHQiLCB0
eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIKKyAgICAgID8gdGV4dEZ1bmN0aW9uJDEodHdlZW5W
YWx1ZSh0aGlzLCAidGV4dCIsIHZhbHVlKSkKKyAgICAgIDogdGV4dENvbnN0YW50JDEodmFsdWUg
PT0gbnVsbCA/ICIiIDogdmFsdWUgKyAiIikpOworfQorCitmdW5jdGlvbiB0ZXh0SW50ZXJwb2xh
dGUoaSkgeworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHRoaXMudGV4dENvbnRlbnQgPSBp
LmNhbGwodGhpcywgdCk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRleHRUd2Vlbih2YWx1ZSkgewor
ICB2YXIgdDAsIGkwOworICBmdW5jdGlvbiB0d2VlbigpIHsKKyAgICB2YXIgaSA9IHZhbHVlLmFw
cGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKGkgIT09IGkwKSB0MCA9IChpMCA9IGkpICYm
IHRleHRJbnRlcnBvbGF0ZShpKTsKKyAgICByZXR1cm4gdDA7CisgIH0KKyAgdHdlZW4uX3ZhbHVl
ID0gdmFsdWU7CisgIHJldHVybiB0d2VlbjsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl90ZXh0
VHdlZW4odmFsdWUpIHsKKyAgdmFyIGtleSA9ICJ0ZXh0IjsKKyAgaWYgKGFyZ3VtZW50cy5sZW5n
dGggPCAxKSByZXR1cm4gKGtleSA9IHRoaXMudHdlZW4oa2V5KSkgJiYga2V5Ll92YWx1ZTsKKyAg
aWYgKHZhbHVlID09IG51bGwpIHJldHVybiB0aGlzLnR3ZWVuKGtleSwgbnVsbCk7CisgIGlmICh0
eXBlb2YgdmFsdWUgIT09ICJmdW5jdGlvbiIpIHRocm93IG5ldyBFcnJvcjsKKyAgcmV0dXJuIHRo
aXMudHdlZW4oa2V5LCB0ZXh0VHdlZW4odmFsdWUpKTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlv
bl90cmFuc2l0aW9uKCkgeworICB2YXIgbmFtZSA9IHRoaXMuX25hbWUsCisgICAgICBpZDAgPSB0
aGlzLl9pZCwKKyAgICAgIGlkMSA9IG5ld0lkKCk7CisKKyAgZm9yICh2YXIgZ3JvdXBzID0gdGhp
cy5fZ3JvdXBzLCBtID0gZ3JvdXBzLmxlbmd0aCwgaiA9IDA7IGogPCBtOyArK2opIHsKKyAgICBm
b3IgKHZhciBncm91cCA9IGdyb3Vwc1tqXSwgbiA9IGdyb3VwLmxlbmd0aCwgbm9kZSwgaSA9IDA7
IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChub2RlID0gZ3JvdXBbaV0pIHsKKyAgICAgICAgdmFy
IGluaGVyaXQgPSBnZXQkMShub2RlLCBpZDApOworICAgICAgICBzY2hlZHVsZShub2RlLCBuYW1l
LCBpZDEsIGksIGdyb3VwLCB7CisgICAgICAgICAgdGltZTogaW5oZXJpdC50aW1lICsgaW5oZXJp
dC5kZWxheSArIGluaGVyaXQuZHVyYXRpb24sCisgICAgICAgICAgZGVsYXk6IDAsCisgICAgICAg
ICAgZHVyYXRpb246IGluaGVyaXQuZHVyYXRpb24sCisgICAgICAgICAgZWFzZTogaW5oZXJpdC5l
YXNlCisgICAgICAgIH0pOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBuZXcgVHJh
bnNpdGlvbihncm91cHMsIHRoaXMuX3BhcmVudHMsIG5hbWUsIGlkMSk7Cit9CisKK2Z1bmN0aW9u
IHRyYW5zaXRpb25fZW5kKCkgeworICB2YXIgb24wLCBvbjEsIHRoYXQgPSB0aGlzLCBpZCA9IHRo
YXQuX2lkLCBzaXplID0gdGhhdC5zaXplKCk7CisgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlv
bihyZXNvbHZlLCByZWplY3QpIHsKKyAgICB2YXIgY2FuY2VsID0ge3ZhbHVlOiByZWplY3R9LAor
ICAgICAgICBlbmQgPSB7dmFsdWU6IGZ1bmN0aW9uKCkgeyBpZiAoLS1zaXplID09PSAwKSByZXNv
bHZlKCk7IH19OworCisgICAgdGhhdC5lYWNoKGZ1bmN0aW9uKCkgeworICAgICAgdmFyIHNjaGVk
dWxlID0gc2V0JDEodGhpcywgaWQpLAorICAgICAgICAgIG9uID0gc2NoZWR1bGUub247CisKKyAg
ICAgIC8vIElmIHRoaXMgbm9kZSBzaGFyZWQgYSBkaXNwYXRjaCB3aXRoIHRoZSBwcmV2aW91cyBu
b2RlLAorICAgICAgLy8ganVzdCBhc3NpZ24gdGhlIHVwZGF0ZWQgc2hhcmVkIGRpc3BhdGNoIGFu
ZCB3ZeKAmXJlIGRvbmUhCisgICAgICAvLyBPdGhlcndpc2UsIGNvcHktb24td3JpdGUuCisgICAg
ICBpZiAob24gIT09IG9uMCkgeworICAgICAgICBvbjEgPSAob24wID0gb24pLmNvcHkoKTsKKyAg
ICAgICAgb24xLl8uY2FuY2VsLnB1c2goY2FuY2VsKTsKKyAgICAgICAgb24xLl8uaW50ZXJydXB0
LnB1c2goY2FuY2VsKTsKKyAgICAgICAgb24xLl8uZW5kLnB1c2goZW5kKTsKKyAgICAgIH0KKwor
ICAgICAgc2NoZWR1bGUub24gPSBvbjE7CisgICAgfSk7CisgIH0pOworfQorCit2YXIgaWQgPSAw
OworCitmdW5jdGlvbiBUcmFuc2l0aW9uKGdyb3VwcywgcGFyZW50cywgbmFtZSwgaWQpIHsKKyAg
dGhpcy5fZ3JvdXBzID0gZ3JvdXBzOworICB0aGlzLl9wYXJlbnRzID0gcGFyZW50czsKKyAgdGhp
cy5fbmFtZSA9IG5hbWU7CisgIHRoaXMuX2lkID0gaWQ7Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRp
b24obmFtZSkgeworICByZXR1cm4gc2VsZWN0aW9uKCkudHJhbnNpdGlvbihuYW1lKTsKK30KKwor
ZnVuY3Rpb24gbmV3SWQoKSB7CisgIHJldHVybiArK2lkOworfQorCit2YXIgc2VsZWN0aW9uX3By
b3RvdHlwZSA9IHNlbGVjdGlvbi5wcm90b3R5cGU7CisKK1RyYW5zaXRpb24ucHJvdG90eXBlID0g
dHJhbnNpdGlvbi5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBUcmFuc2l0aW9uLAorICBz
ZWxlY3Q6IHRyYW5zaXRpb25fc2VsZWN0LAorICBzZWxlY3RBbGw6IHRyYW5zaXRpb25fc2VsZWN0
QWxsLAorICBmaWx0ZXI6IHRyYW5zaXRpb25fZmlsdGVyLAorICBtZXJnZTogdHJhbnNpdGlvbl9t
ZXJnZSwKKyAgc2VsZWN0aW9uOiB0cmFuc2l0aW9uX3NlbGVjdGlvbiwKKyAgdHJhbnNpdGlvbjog
dHJhbnNpdGlvbl90cmFuc2l0aW9uLAorICBjYWxsOiBzZWxlY3Rpb25fcHJvdG90eXBlLmNhbGws
CisgIG5vZGVzOiBzZWxlY3Rpb25fcHJvdG90eXBlLm5vZGVzLAorICBub2RlOiBzZWxlY3Rpb25f
cHJvdG90eXBlLm5vZGUsCisgIHNpemU6IHNlbGVjdGlvbl9wcm90b3R5cGUuc2l6ZSwKKyAgZW1w
dHk6IHNlbGVjdGlvbl9wcm90b3R5cGUuZW1wdHksCisgIGVhY2g6IHNlbGVjdGlvbl9wcm90b3R5
cGUuZWFjaCwKKyAgb246IHRyYW5zaXRpb25fb24sCisgIGF0dHI6IHRyYW5zaXRpb25fYXR0ciwK
KyAgYXR0clR3ZWVuOiB0cmFuc2l0aW9uX2F0dHJUd2VlbiwKKyAgc3R5bGU6IHRyYW5zaXRpb25f
c3R5bGUsCisgIHN0eWxlVHdlZW46IHRyYW5zaXRpb25fc3R5bGVUd2VlbiwKKyAgdGV4dDogdHJh
bnNpdGlvbl90ZXh0LAorICB0ZXh0VHdlZW46IHRyYW5zaXRpb25fdGV4dFR3ZWVuLAorICByZW1v
dmU6IHRyYW5zaXRpb25fcmVtb3ZlLAorICB0d2VlbjogdHJhbnNpdGlvbl90d2VlbiwKKyAgZGVs
YXk6IHRyYW5zaXRpb25fZGVsYXksCisgIGR1cmF0aW9uOiB0cmFuc2l0aW9uX2R1cmF0aW9uLAor
ICBlYXNlOiB0cmFuc2l0aW9uX2Vhc2UsCisgIGVuZDogdHJhbnNpdGlvbl9lbmQKK307CisKK2Z1
bmN0aW9uIGxpbmVhciQxKHQpIHsKKyAgcmV0dXJuICt0OworfQorCitmdW5jdGlvbiBxdWFkSW4o
dCkgeworICByZXR1cm4gdCAqIHQ7Cit9CisKK2Z1bmN0aW9uIHF1YWRPdXQodCkgeworICByZXR1
cm4gdCAqICgyIC0gdCk7Cit9CisKK2Z1bmN0aW9uIHF1YWRJbk91dCh0KSB7CisgIHJldHVybiAo
KHQgKj0gMikgPD0gMSA/IHQgKiB0IDogLS10ICogKDIgLSB0KSArIDEpIC8gMjsKK30KKworZnVu
Y3Rpb24gY3ViaWNJbih0KSB7CisgIHJldHVybiB0ICogdCAqIHQ7Cit9CisKK2Z1bmN0aW9uIGN1
YmljT3V0KHQpIHsKKyAgcmV0dXJuIC0tdCAqIHQgKiB0ICsgMTsKK30KKworZnVuY3Rpb24gY3Vi
aWNJbk91dCh0KSB7CisgIHJldHVybiAoKHQgKj0gMikgPD0gMSA/IHQgKiB0ICogdCA6ICh0IC09
IDIpICogdCAqIHQgKyAyKSAvIDI7Cit9CisKK3ZhciBleHBvbmVudCA9IDM7CisKK3ZhciBwb2x5
SW4gPSAoZnVuY3Rpb24gY3VzdG9tKGUpIHsKKyAgZSA9ICtlOworCisgIGZ1bmN0aW9uIHBvbHlJ
bih0KSB7CisgICAgcmV0dXJuIE1hdGgucG93KHQsIGUpOworICB9CisKKyAgcG9seUluLmV4cG9u
ZW50ID0gY3VzdG9tOworCisgIHJldHVybiBwb2x5SW47Cit9KShleHBvbmVudCk7CisKK3ZhciBw
b2x5T3V0ID0gKGZ1bmN0aW9uIGN1c3RvbShlKSB7CisgIGUgPSArZTsKKworICBmdW5jdGlvbiBw
b2x5T3V0KHQpIHsKKyAgICByZXR1cm4gMSAtIE1hdGgucG93KDEgLSB0LCBlKTsKKyAgfQorCisg
IHBvbHlPdXQuZXhwb25lbnQgPSBjdXN0b207CisKKyAgcmV0dXJuIHBvbHlPdXQ7Cit9KShleHBv
bmVudCk7CisKK3ZhciBwb2x5SW5PdXQgPSAoZnVuY3Rpb24gY3VzdG9tKGUpIHsKKyAgZSA9ICtl
OworCisgIGZ1bmN0aW9uIHBvbHlJbk91dCh0KSB7CisgICAgcmV0dXJuICgodCAqPSAyKSA8PSAx
ID8gTWF0aC5wb3codCwgZSkgOiAyIC0gTWF0aC5wb3coMiAtIHQsIGUpKSAvIDI7CisgIH0KKwor
ICBwb2x5SW5PdXQuZXhwb25lbnQgPSBjdXN0b207CisKKyAgcmV0dXJuIHBvbHlJbk91dDsKK30p
KGV4cG9uZW50KTsKKwordmFyIHBpID0gTWF0aC5QSSwKKyAgICBoYWxmUGkgPSBwaSAvIDI7CisK
K2Z1bmN0aW9uIHNpbkluKHQpIHsKKyAgcmV0dXJuIDEgLSBNYXRoLmNvcyh0ICogaGFsZlBpKTsK
K30KKworZnVuY3Rpb24gc2luT3V0KHQpIHsKKyAgcmV0dXJuIE1hdGguc2luKHQgKiBoYWxmUGkp
OworfQorCitmdW5jdGlvbiBzaW5Jbk91dCh0KSB7CisgIHJldHVybiAoMSAtIE1hdGguY29zKHBp
ICogdCkpIC8gMjsKK30KKworZnVuY3Rpb24gZXhwSW4odCkgeworICByZXR1cm4gTWF0aC5wb3co
MiwgMTAgKiB0IC0gMTApOworfQorCitmdW5jdGlvbiBleHBPdXQodCkgeworICByZXR1cm4gMSAt
IE1hdGgucG93KDIsIC0xMCAqIHQpOworfQorCitmdW5jdGlvbiBleHBJbk91dCh0KSB7CisgIHJl
dHVybiAoKHQgKj0gMikgPD0gMSA/IE1hdGgucG93KDIsIDEwICogdCAtIDEwKSA6IDIgLSBNYXRo
LnBvdygyLCAxMCAtIDEwICogdCkpIC8gMjsKK30KKworZnVuY3Rpb24gY2lyY2xlSW4odCkgewor
ICByZXR1cm4gMSAtIE1hdGguc3FydCgxIC0gdCAqIHQpOworfQorCitmdW5jdGlvbiBjaXJjbGVP
dXQodCkgeworICByZXR1cm4gTWF0aC5zcXJ0KDEgLSAtLXQgKiB0KTsKK30KKworZnVuY3Rpb24g
Y2lyY2xlSW5PdXQodCkgeworICByZXR1cm4gKCh0ICo9IDIpIDw9IDEgPyAxIC0gTWF0aC5zcXJ0
KDEgLSB0ICogdCkgOiBNYXRoLnNxcnQoMSAtICh0IC09IDIpICogdCkgKyAxKSAvIDI7Cit9CisK
K3ZhciBiMSA9IDQgLyAxMSwKKyAgICBiMiA9IDYgLyAxMSwKKyAgICBiMyA9IDggLyAxMSwKKyAg
ICBiNCA9IDMgLyA0LAorICAgIGI1ID0gOSAvIDExLAorICAgIGI2ID0gMTAgLyAxMSwKKyAgICBi
NyA9IDE1IC8gMTYsCisgICAgYjggPSAyMSAvIDIyLAorICAgIGI5ID0gNjMgLyA2NCwKKyAgICBi
MCA9IDEgLyBiMSAvIGIxOworCitmdW5jdGlvbiBib3VuY2VJbih0KSB7CisgIHJldHVybiAxIC0g
Ym91bmNlT3V0KDEgLSB0KTsKK30KKworZnVuY3Rpb24gYm91bmNlT3V0KHQpIHsKKyAgcmV0dXJu
ICh0ID0gK3QpIDwgYjEgPyBiMCAqIHQgKiB0IDogdCA8IGIzID8gYjAgKiAodCAtPSBiMikgKiB0
ICsgYjQgOiB0IDwgYjYgPyBiMCAqICh0IC09IGI1KSAqIHQgKyBiNyA6IGIwICogKHQgLT0gYjgp
ICogdCArIGI5OworfQorCitmdW5jdGlvbiBib3VuY2VJbk91dCh0KSB7CisgIHJldHVybiAoKHQg
Kj0gMikgPD0gMSA/IDEgLSBib3VuY2VPdXQoMSAtIHQpIDogYm91bmNlT3V0KHQgLSAxKSArIDEp
IC8gMjsKK30KKwordmFyIG92ZXJzaG9vdCA9IDEuNzAxNTg7CisKK3ZhciBiYWNrSW4gPSAoZnVu
Y3Rpb24gY3VzdG9tKHMpIHsKKyAgcyA9ICtzOworCisgIGZ1bmN0aW9uIGJhY2tJbih0KSB7Cisg
ICAgcmV0dXJuIHQgKiB0ICogKChzICsgMSkgKiB0IC0gcyk7CisgIH0KKworICBiYWNrSW4ub3Zl
cnNob290ID0gY3VzdG9tOworCisgIHJldHVybiBiYWNrSW47Cit9KShvdmVyc2hvb3QpOworCit2
YXIgYmFja091dCA9IChmdW5jdGlvbiBjdXN0b20ocykgeworICBzID0gK3M7CisKKyAgZnVuY3Rp
b24gYmFja091dCh0KSB7CisgICAgcmV0dXJuIC0tdCAqIHQgKiAoKHMgKyAxKSAqIHQgKyBzKSAr
IDE7CisgIH0KKworICBiYWNrT3V0Lm92ZXJzaG9vdCA9IGN1c3RvbTsKKworICByZXR1cm4gYmFj
a091dDsKK30pKG92ZXJzaG9vdCk7CisKK3ZhciBiYWNrSW5PdXQgPSAoZnVuY3Rpb24gY3VzdG9t
KHMpIHsKKyAgcyA9ICtzOworCisgIGZ1bmN0aW9uIGJhY2tJbk91dCh0KSB7CisgICAgcmV0dXJu
ICgodCAqPSAyKSA8IDEgPyB0ICogdCAqICgocyArIDEpICogdCAtIHMpIDogKHQgLT0gMikgKiB0
ICogKChzICsgMSkgKiB0ICsgcykgKyAyKSAvIDI7CisgIH0KKworICBiYWNrSW5PdXQub3ZlcnNo
b290ID0gY3VzdG9tOworCisgIHJldHVybiBiYWNrSW5PdXQ7Cit9KShvdmVyc2hvb3QpOworCit2
YXIgdGF1ID0gMiAqIE1hdGguUEksCisgICAgYW1wbGl0dWRlID0gMSwKKyAgICBwZXJpb2QgPSAw
LjM7CisKK3ZhciBlbGFzdGljSW4gPSAoZnVuY3Rpb24gY3VzdG9tKGEsIHApIHsKKyAgdmFyIHMg
PSBNYXRoLmFzaW4oMSAvIChhID0gTWF0aC5tYXgoMSwgYSkpKSAqIChwIC89IHRhdSk7CisKKyAg
ZnVuY3Rpb24gZWxhc3RpY0luKHQpIHsKKyAgICByZXR1cm4gYSAqIE1hdGgucG93KDIsIDEwICog
LS10KSAqIE1hdGguc2luKChzIC0gdCkgLyBwKTsKKyAgfQorCisgIGVsYXN0aWNJbi5hbXBsaXR1
ZGUgPSBmdW5jdGlvbihhKSB7IHJldHVybiBjdXN0b20oYSwgcCAqIHRhdSk7IH07CisgIGVsYXN0
aWNJbi5wZXJpb2QgPSBmdW5jdGlvbihwKSB7IHJldHVybiBjdXN0b20oYSwgcCk7IH07CisKKyAg
cmV0dXJuIGVsYXN0aWNJbjsKK30pKGFtcGxpdHVkZSwgcGVyaW9kKTsKKwordmFyIGVsYXN0aWNP
dXQgPSAoZnVuY3Rpb24gY3VzdG9tKGEsIHApIHsKKyAgdmFyIHMgPSBNYXRoLmFzaW4oMSAvIChh
ID0gTWF0aC5tYXgoMSwgYSkpKSAqIChwIC89IHRhdSk7CisKKyAgZnVuY3Rpb24gZWxhc3RpY091
dCh0KSB7CisgICAgcmV0dXJuIDEgLSBhICogTWF0aC5wb3coMiwgLTEwICogKHQgPSArdCkpICog
TWF0aC5zaW4oKHQgKyBzKSAvIHApOworICB9CisKKyAgZWxhc3RpY091dC5hbXBsaXR1ZGUgPSBm
dW5jdGlvbihhKSB7IHJldHVybiBjdXN0b20oYSwgcCAqIHRhdSk7IH07CisgIGVsYXN0aWNPdXQu
cGVyaW9kID0gZnVuY3Rpb24ocCkgeyByZXR1cm4gY3VzdG9tKGEsIHApOyB9OworCisgIHJldHVy
biBlbGFzdGljT3V0OworfSkoYW1wbGl0dWRlLCBwZXJpb2QpOworCit2YXIgZWxhc3RpY0luT3V0
ID0gKGZ1bmN0aW9uIGN1c3RvbShhLCBwKSB7CisgIHZhciBzID0gTWF0aC5hc2luKDEgLyAoYSA9
IE1hdGgubWF4KDEsIGEpKSkgKiAocCAvPSB0YXUpOworCisgIGZ1bmN0aW9uIGVsYXN0aWNJbk91
dCh0KSB7CisgICAgcmV0dXJuICgodCA9IHQgKiAyIC0gMSkgPCAwCisgICAgICAgID8gYSAqIE1h
dGgucG93KDIsIDEwICogdCkgKiBNYXRoLnNpbigocyAtIHQpIC8gcCkKKyAgICAgICAgOiAyIC0g
YSAqIE1hdGgucG93KDIsIC0xMCAqIHQpICogTWF0aC5zaW4oKHMgKyB0KSAvIHApKSAvIDI7Cisg
IH0KKworICBlbGFzdGljSW5PdXQuYW1wbGl0dWRlID0gZnVuY3Rpb24oYSkgeyByZXR1cm4gY3Vz
dG9tKGEsIHAgKiB0YXUpOyB9OworICBlbGFzdGljSW5PdXQucGVyaW9kID0gZnVuY3Rpb24ocCkg
eyByZXR1cm4gY3VzdG9tKGEsIHApOyB9OworCisgIHJldHVybiBlbGFzdGljSW5PdXQ7Cit9KShh
bXBsaXR1ZGUsIHBlcmlvZCk7CisKK3ZhciBkZWZhdWx0VGltaW5nID0geworICB0aW1lOiBudWxs
LCAvLyBTZXQgb24gdXNlLgorICBkZWxheTogMCwKKyAgZHVyYXRpb246IDI1MCwKKyAgZWFzZTog
Y3ViaWNJbk91dAorfTsKKworZnVuY3Rpb24gaW5oZXJpdChub2RlLCBpZCkgeworICB2YXIgdGlt
aW5nOworICB3aGlsZSAoISh0aW1pbmcgPSBub2RlLl9fdHJhbnNpdGlvbikgfHwgISh0aW1pbmcg
PSB0aW1pbmdbaWRdKSkgeworICAgIGlmICghKG5vZGUgPSBub2RlLnBhcmVudE5vZGUpKSB7Cisg
ICAgICByZXR1cm4gZGVmYXVsdFRpbWluZy50aW1lID0gbm93KCksIGRlZmF1bHRUaW1pbmc7Cisg
ICAgfQorICB9CisgIHJldHVybiB0aW1pbmc7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl90cmFu
c2l0aW9uKG5hbWUpIHsKKyAgdmFyIGlkLAorICAgICAgdGltaW5nOworCisgIGlmIChuYW1lIGlu
c3RhbmNlb2YgVHJhbnNpdGlvbikgeworICAgIGlkID0gbmFtZS5faWQsIG5hbWUgPSBuYW1lLl9u
YW1lOworICB9IGVsc2UgeworICAgIGlkID0gbmV3SWQoKSwgKHRpbWluZyA9IGRlZmF1bHRUaW1p
bmcpLnRpbWUgPSBub3coKSwgbmFtZSA9IG5hbWUgPT0gbnVsbCA/IG51bGwgOiBuYW1lICsgIiI7
CisgIH0KKworICBmb3IgKHZhciBncm91cHMgPSB0aGlzLl9ncm91cHMsIG0gPSBncm91cHMubGVu
Z3RoLCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwID0gZ3JvdXBzW2pd
LCBuID0gZ3JvdXAubGVuZ3RoLCBub2RlLCBpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgaWYg
KG5vZGUgPSBncm91cFtpXSkgeworICAgICAgICBzY2hlZHVsZShub2RlLCBuYW1lLCBpZCwgaSwg
Z3JvdXAsIHRpbWluZyB8fCBpbmhlcml0KG5vZGUsIGlkKSk7CisgICAgICB9CisgICAgfQorICB9
CisKKyAgcmV0dXJuIG5ldyBUcmFuc2l0aW9uKGdyb3VwcywgdGhpcy5fcGFyZW50cywgbmFtZSwg
aWQpOworfQorCitzZWxlY3Rpb24ucHJvdG90eXBlLmludGVycnVwdCA9IHNlbGVjdGlvbl9pbnRl
cnJ1cHQ7CitzZWxlY3Rpb24ucHJvdG90eXBlLnRyYW5zaXRpb24gPSBzZWxlY3Rpb25fdHJhbnNp
dGlvbjsKKwordmFyIHJvb3QkMSA9IFtudWxsXTsKKworZnVuY3Rpb24gYWN0aXZlKG5vZGUsIG5h
bWUpIHsKKyAgdmFyIHNjaGVkdWxlcyA9IG5vZGUuX190cmFuc2l0aW9uLAorICAgICAgc2NoZWR1
bGUsCisgICAgICBpOworCisgIGlmIChzY2hlZHVsZXMpIHsKKyAgICBuYW1lID0gbmFtZSA9PSBu
dWxsID8gbnVsbCA6IG5hbWUgKyAiIjsKKyAgICBmb3IgKGkgaW4gc2NoZWR1bGVzKSB7CisgICAg
ICBpZiAoKHNjaGVkdWxlID0gc2NoZWR1bGVzW2ldKS5zdGF0ZSA+IFNDSEVEVUxFRCAmJiBzY2hl
ZHVsZS5uYW1lID09PSBuYW1lKSB7CisgICAgICAgIHJldHVybiBuZXcgVHJhbnNpdGlvbihbW25v
ZGVdXSwgcm9vdCQxLCBuYW1lLCAraSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJu
IG51bGw7Cit9CisKK2Z1bmN0aW9uIGNvbnN0YW50JDQoeCkgeworICByZXR1cm4gZnVuY3Rpb24o
KSB7CisgICAgcmV0dXJuIHg7CisgIH07Cit9CisKK2Z1bmN0aW9uIEJydXNoRXZlbnQodGFyZ2V0
LCB0eXBlLCBzZWxlY3Rpb24pIHsKKyAgdGhpcy50YXJnZXQgPSB0YXJnZXQ7CisgIHRoaXMudHlw
ZSA9IHR5cGU7CisgIHRoaXMuc2VsZWN0aW9uID0gc2VsZWN0aW9uOworfQorCitmdW5jdGlvbiBu
b3Byb3BhZ2F0aW9uJDEoKSB7CisgIGV4cG9ydHMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0
aW9uKCk7Cit9CisKK2Z1bmN0aW9uIG5vZXZlbnQkMSgpIHsKKyAgZXhwb3J0cy5ldmVudC5wcmV2
ZW50RGVmYXVsdCgpOworICBleHBvcnRzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigp
OworfQorCit2YXIgTU9ERV9EUkFHID0ge25hbWU6ICJkcmFnIn0sCisgICAgTU9ERV9TUEFDRSA9
IHtuYW1lOiAic3BhY2UifSwKKyAgICBNT0RFX0hBTkRMRSA9IHtuYW1lOiAiaGFuZGxlIn0sCisg
ICAgTU9ERV9DRU5URVIgPSB7bmFtZTogImNlbnRlciJ9OworCitmdW5jdGlvbiBudW1iZXIxKGUp
IHsKKyAgcmV0dXJuIFsrZVswXSwgK2VbMV1dOworfQorCitmdW5jdGlvbiBudW1iZXIyKGUpIHsK
KyAgcmV0dXJuIFtudW1iZXIxKGVbMF0pLCBudW1iZXIxKGVbMV0pXTsKK30KKworZnVuY3Rpb24g
dG91Y2hlcihpZGVudGlmaWVyKSB7CisgIHJldHVybiBmdW5jdGlvbih0YXJnZXQpIHsKKyAgICBy
ZXR1cm4gdG91Y2godGFyZ2V0LCBleHBvcnRzLmV2ZW50LnRvdWNoZXMsIGlkZW50aWZpZXIpOwor
ICB9OworfQorCit2YXIgWCA9IHsKKyAgbmFtZTogIngiLAorICBoYW5kbGVzOiBbInciLCAiZSJd
Lm1hcCh0eXBlKSwKKyAgaW5wdXQ6IGZ1bmN0aW9uKHgsIGUpIHsgcmV0dXJuIHggPT0gbnVsbCA/
IG51bGwgOiBbWyt4WzBdLCBlWzBdWzFdXSwgWyt4WzFdLCBlWzFdWzFdXV07IH0sCisgIG91dHB1
dDogZnVuY3Rpb24oeHkpIHsgcmV0dXJuIHh5ICYmIFt4eVswXVswXSwgeHlbMV1bMF1dOyB9Cit9
OworCit2YXIgWSA9IHsKKyAgbmFtZTogInkiLAorICBoYW5kbGVzOiBbIm4iLCAicyJdLm1hcCh0
eXBlKSwKKyAgaW5wdXQ6IGZ1bmN0aW9uKHksIGUpIHsgcmV0dXJuIHkgPT0gbnVsbCA/IG51bGwg
OiBbW2VbMF1bMF0sICt5WzBdXSwgW2VbMV1bMF0sICt5WzFdXV07IH0sCisgIG91dHB1dDogZnVu
Y3Rpb24oeHkpIHsgcmV0dXJuIHh5ICYmIFt4eVswXVsxXSwgeHlbMV1bMV1dOyB9Cit9OworCit2
YXIgWFkgPSB7CisgIG5hbWU6ICJ4eSIsCisgIGhhbmRsZXM6IFsibiIsICJ3IiwgImUiLCAicyIs
ICJudyIsICJuZSIsICJzdyIsICJzZSJdLm1hcCh0eXBlKSwKKyAgaW5wdXQ6IGZ1bmN0aW9uKHh5
KSB7IHJldHVybiB4eSA9PSBudWxsID8gbnVsbCA6IG51bWJlcjIoeHkpOyB9LAorICBvdXRwdXQ6
IGZ1bmN0aW9uKHh5KSB7IHJldHVybiB4eTsgfQorfTsKKwordmFyIGN1cnNvcnMgPSB7CisgIG92
ZXJsYXk6ICJjcm9zc2hhaXIiLAorICBzZWxlY3Rpb246ICJtb3ZlIiwKKyAgbjogIm5zLXJlc2l6
ZSIsCisgIGU6ICJldy1yZXNpemUiLAorICBzOiAibnMtcmVzaXplIiwKKyAgdzogImV3LXJlc2l6
ZSIsCisgIG53OiAibndzZS1yZXNpemUiLAorICBuZTogIm5lc3ctcmVzaXplIiwKKyAgc2U6ICJu
d3NlLXJlc2l6ZSIsCisgIHN3OiAibmVzdy1yZXNpemUiCit9OworCit2YXIgZmxpcFggPSB7Cisg
IGU6ICJ3IiwKKyAgdzogImUiLAorICBudzogIm5lIiwKKyAgbmU6ICJudyIsCisgIHNlOiAic3ci
LAorICBzdzogInNlIgorfTsKKwordmFyIGZsaXBZID0geworICBuOiAicyIsCisgIHM6ICJuIiwK
KyAgbnc6ICJzdyIsCisgIG5lOiAic2UiLAorICBzZTogIm5lIiwKKyAgc3c6ICJudyIKK307CisK
K3ZhciBzaWduc1ggPSB7CisgIG92ZXJsYXk6ICsxLAorICBzZWxlY3Rpb246ICsxLAorICBuOiBu
dWxsLAorICBlOiArMSwKKyAgczogbnVsbCwKKyAgdzogLTEsCisgIG53OiAtMSwKKyAgbmU6ICsx
LAorICBzZTogKzEsCisgIHN3OiAtMQorfTsKKwordmFyIHNpZ25zWSA9IHsKKyAgb3ZlcmxheTog
KzEsCisgIHNlbGVjdGlvbjogKzEsCisgIG46IC0xLAorICBlOiBudWxsLAorICBzOiArMSwKKyAg
dzogbnVsbCwKKyAgbnc6IC0xLAorICBuZTogLTEsCisgIHNlOiArMSwKKyAgc3c6ICsxCit9Owor
CitmdW5jdGlvbiB0eXBlKHQpIHsKKyAgcmV0dXJuIHt0eXBlOiB0fTsKK30KKworLy8gSWdub3Jl
IHJpZ2h0LWNsaWNrLCBzaW5jZSB0aGF0IHNob3VsZCBvcGVuIHRoZSBjb250ZXh0IG1lbnUuCitm
dW5jdGlvbiBkZWZhdWx0RmlsdGVyJDEoKSB7CisgIHJldHVybiAhZXhwb3J0cy5ldmVudC5jdHJs
S2V5ICYmICFleHBvcnRzLmV2ZW50LmJ1dHRvbjsKK30KKworZnVuY3Rpb24gZGVmYXVsdEV4dGVu
dCgpIHsKKyAgdmFyIHN2ZyA9IHRoaXMub3duZXJTVkdFbGVtZW50IHx8IHRoaXM7CisgIGlmIChz
dmcuaGFzQXR0cmlidXRlKCJ2aWV3Qm94IikpIHsKKyAgICBzdmcgPSBzdmcudmlld0JveC5iYXNl
VmFsOworICAgIHJldHVybiBbW3N2Zy54LCBzdmcueV0sIFtzdmcueCArIHN2Zy53aWR0aCwgc3Zn
LnkgKyBzdmcuaGVpZ2h0XV07CisgIH0KKyAgcmV0dXJuIFtbMCwgMF0sIFtzdmcud2lkdGguYmFz
ZVZhbC52YWx1ZSwgc3ZnLmhlaWdodC5iYXNlVmFsLnZhbHVlXV07Cit9CisKK2Z1bmN0aW9uIGRl
ZmF1bHRUb3VjaGFibGUkMSgpIHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyB8
fCAoIm9udG91Y2hzdGFydCIgaW4gdGhpcyk7Cit9CisKKy8vIExpa2UgZDMubG9jYWwsIGJ1dCB3
aXRoIHRoZSBuYW1lIOKAnF9fYnJ1c2jigJ0gcmF0aGVyIHRoYW4gYXV0by1nZW5lcmF0ZWQuCitm
dW5jdGlvbiBsb2NhbCQxKG5vZGUpIHsKKyAgd2hpbGUgKCFub2RlLl9fYnJ1c2gpIGlmICghKG5v
ZGUgPSBub2RlLnBhcmVudE5vZGUpKSByZXR1cm47CisgIHJldHVybiBub2RlLl9fYnJ1c2g7Cit9
CisKK2Z1bmN0aW9uIGVtcHR5JDEoZXh0ZW50KSB7CisgIHJldHVybiBleHRlbnRbMF1bMF0gPT09
IGV4dGVudFsxXVswXQorICAgICAgfHwgZXh0ZW50WzBdWzFdID09PSBleHRlbnRbMV1bMV07Cit9
CisKK2Z1bmN0aW9uIGJydXNoU2VsZWN0aW9uKG5vZGUpIHsKKyAgdmFyIHN0YXRlID0gbm9kZS5f
X2JydXNoOworICByZXR1cm4gc3RhdGUgPyBzdGF0ZS5kaW0ub3V0cHV0KHN0YXRlLnNlbGVjdGlv
bikgOiBudWxsOworfQorCitmdW5jdGlvbiBicnVzaFgoKSB7CisgIHJldHVybiBicnVzaCQxKFgp
OworfQorCitmdW5jdGlvbiBicnVzaFkoKSB7CisgIHJldHVybiBicnVzaCQxKFkpOworfQorCitm
dW5jdGlvbiBicnVzaCgpIHsKKyAgcmV0dXJuIGJydXNoJDEoWFkpOworfQorCitmdW5jdGlvbiBi
cnVzaCQxKGRpbSkgeworICB2YXIgZXh0ZW50ID0gZGVmYXVsdEV4dGVudCwKKyAgICAgIGZpbHRl
ciA9IGRlZmF1bHRGaWx0ZXIkMSwKKyAgICAgIHRvdWNoYWJsZSA9IGRlZmF1bHRUb3VjaGFibGUk
MSwKKyAgICAgIGtleXMgPSB0cnVlLAorICAgICAgbGlzdGVuZXJzID0gZGlzcGF0Y2goInN0YXJ0
IiwgImJydXNoIiwgImVuZCIpLAorICAgICAgaGFuZGxlU2l6ZSA9IDYsCisgICAgICB0b3VjaGVu
ZGluZzsKKworICBmdW5jdGlvbiBicnVzaChncm91cCkgeworICAgIHZhciBvdmVybGF5ID0gZ3Jv
dXAKKyAgICAgICAgLnByb3BlcnR5KCJfX2JydXNoIiwgaW5pdGlhbGl6ZSkKKyAgICAgIC5zZWxl
Y3RBbGwoIi5vdmVybGF5IikKKyAgICAgIC5kYXRhKFt0eXBlKCJvdmVybGF5IildKTsKKworICAg
IG92ZXJsYXkuZW50ZXIoKS5hcHBlbmQoInJlY3QiKQorICAgICAgICAuYXR0cigiY2xhc3MiLCAi
b3ZlcmxheSIpCisgICAgICAgIC5hdHRyKCJwb2ludGVyLWV2ZW50cyIsICJhbGwiKQorICAgICAg
ICAuYXR0cigiY3Vyc29yIiwgY3Vyc29ycy5vdmVybGF5KQorICAgICAgLm1lcmdlKG92ZXJsYXkp
CisgICAgICAgIC5lYWNoKGZ1bmN0aW9uKCkgeworICAgICAgICAgIHZhciBleHRlbnQgPSBsb2Nh
bCQxKHRoaXMpLmV4dGVudDsKKyAgICAgICAgICBzZWxlY3QodGhpcykKKyAgICAgICAgICAgICAg
LmF0dHIoIngiLCBleHRlbnRbMF1bMF0pCisgICAgICAgICAgICAgIC5hdHRyKCJ5IiwgZXh0ZW50
WzBdWzFdKQorICAgICAgICAgICAgICAuYXR0cigid2lkdGgiLCBleHRlbnRbMV1bMF0gLSBleHRl
bnRbMF1bMF0pCisgICAgICAgICAgICAgIC5hdHRyKCJoZWlnaHQiLCBleHRlbnRbMV1bMV0gLSBl
eHRlbnRbMF1bMV0pOworICAgICAgICB9KTsKKworICAgIGdyb3VwLnNlbGVjdEFsbCgiLnNlbGVj
dGlvbiIpCisgICAgICAuZGF0YShbdHlwZSgic2VsZWN0aW9uIildKQorICAgICAgLmVudGVyKCku
YXBwZW5kKCJyZWN0IikKKyAgICAgICAgLmF0dHIoImNsYXNzIiwgInNlbGVjdGlvbiIpCisgICAg
ICAgIC5hdHRyKCJjdXJzb3IiLCBjdXJzb3JzLnNlbGVjdGlvbikKKyAgICAgICAgLmF0dHIoImZp
bGwiLCAiIzc3NyIpCisgICAgICAgIC5hdHRyKCJmaWxsLW9wYWNpdHkiLCAwLjMpCisgICAgICAg
IC5hdHRyKCJzdHJva2UiLCAiI2ZmZiIpCisgICAgICAgIC5hdHRyKCJzaGFwZS1yZW5kZXJpbmci
LCAiY3Jpc3BFZGdlcyIpOworCisgICAgdmFyIGhhbmRsZSA9IGdyb3VwLnNlbGVjdEFsbCgiLmhh
bmRsZSIpCisgICAgICAuZGF0YShkaW0uaGFuZGxlcywgZnVuY3Rpb24oZCkgeyByZXR1cm4gZC50
eXBlOyB9KTsKKworICAgIGhhbmRsZS5leGl0KCkucmVtb3ZlKCk7CisKKyAgICBoYW5kbGUuZW50
ZXIoKS5hcHBlbmQoInJlY3QiKQorICAgICAgICAuYXR0cigiY2xhc3MiLCBmdW5jdGlvbihkKSB7
IHJldHVybiAiaGFuZGxlIGhhbmRsZS0tIiArIGQudHlwZTsgfSkKKyAgICAgICAgLmF0dHIoImN1
cnNvciIsIGZ1bmN0aW9uKGQpIHsgcmV0dXJuIGN1cnNvcnNbZC50eXBlXTsgfSk7CisKKyAgICBn
cm91cAorICAgICAgICAuZWFjaChyZWRyYXcpCisgICAgICAgIC5hdHRyKCJmaWxsIiwgIm5vbmUi
KQorICAgICAgICAuYXR0cigicG9pbnRlci1ldmVudHMiLCAiYWxsIikKKyAgICAgICAgLm9uKCJt
b3VzZWRvd24uYnJ1c2giLCBzdGFydGVkKQorICAgICAgLmZpbHRlcih0b3VjaGFibGUpCisgICAg
ICAgIC5vbigidG91Y2hzdGFydC5icnVzaCIsIHN0YXJ0ZWQpCisgICAgICAgIC5vbigidG91Y2ht
b3ZlLmJydXNoIiwgdG91Y2htb3ZlZCkKKyAgICAgICAgLm9uKCJ0b3VjaGVuZC5icnVzaCB0b3Vj
aGNhbmNlbC5icnVzaCIsIHRvdWNoZW5kZWQpCisgICAgICAgIC5zdHlsZSgidG91Y2gtYWN0aW9u
IiwgIm5vbmUiKQorICAgICAgICAuc3R5bGUoIi13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvciIs
ICJyZ2JhKDAsMCwwLDApIik7CisgIH0KKworICBicnVzaC5tb3ZlID0gZnVuY3Rpb24oZ3JvdXAs
IHNlbGVjdGlvbikgeworICAgIGlmIChncm91cC5zZWxlY3Rpb24pIHsKKyAgICAgIGdyb3VwCisg
ICAgICAgICAgLm9uKCJzdGFydC5icnVzaCIsIGZ1bmN0aW9uKCkgeyBlbWl0dGVyKHRoaXMsIGFy
Z3VtZW50cykuYmVmb3Jlc3RhcnQoKS5zdGFydCgpOyB9KQorICAgICAgICAgIC5vbigiaW50ZXJy
dXB0LmJydXNoIGVuZC5icnVzaCIsIGZ1bmN0aW9uKCkgeyBlbWl0dGVyKHRoaXMsIGFyZ3VtZW50
cykuZW5kKCk7IH0pCisgICAgICAgICAgLnR3ZWVuKCJicnVzaCIsIGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgdmFyIHRoYXQgPSB0aGlzLAorICAgICAgICAgICAgICAgIHN0YXRlID0gdGhhdC5f
X2JydXNoLAorICAgICAgICAgICAgICAgIGVtaXQgPSBlbWl0dGVyKHRoYXQsIGFyZ3VtZW50cyks
CisgICAgICAgICAgICAgICAgc2VsZWN0aW9uMCA9IHN0YXRlLnNlbGVjdGlvbiwKKyAgICAgICAg
ICAgICAgICBzZWxlY3Rpb24xID0gZGltLmlucHV0KHR5cGVvZiBzZWxlY3Rpb24gPT09ICJmdW5j
dGlvbiIgPyBzZWxlY3Rpb24uYXBwbHkodGhpcywgYXJndW1lbnRzKSA6IHNlbGVjdGlvbiwgc3Rh
dGUuZXh0ZW50KSwKKyAgICAgICAgICAgICAgICBpID0gaW50ZXJwb2xhdGVWYWx1ZShzZWxlY3Rp
b24wLCBzZWxlY3Rpb24xKTsKKworICAgICAgICAgICAgZnVuY3Rpb24gdHdlZW4odCkgeworICAg
ICAgICAgICAgICBzdGF0ZS5zZWxlY3Rpb24gPSB0ID09PSAxICYmIHNlbGVjdGlvbjEgPT09IG51
bGwgPyBudWxsIDogaSh0KTsKKyAgICAgICAgICAgICAgcmVkcmF3LmNhbGwodGhhdCk7CisgICAg
ICAgICAgICAgIGVtaXQuYnJ1c2goKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmV0
dXJuIHNlbGVjdGlvbjAgIT09IG51bGwgJiYgc2VsZWN0aW9uMSAhPT0gbnVsbCA/IHR3ZWVuIDog
dHdlZW4oMSk7CisgICAgICAgICAgfSk7CisgICAgfSBlbHNlIHsKKyAgICAgIGdyb3VwCisgICAg
ICAgICAgLmVhY2goZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCisg
ICAgICAgICAgICAgICAgYXJncyA9IGFyZ3VtZW50cywKKyAgICAgICAgICAgICAgICBzdGF0ZSA9
IHRoYXQuX19icnVzaCwKKyAgICAgICAgICAgICAgICBzZWxlY3Rpb24xID0gZGltLmlucHV0KHR5
cGVvZiBzZWxlY3Rpb24gPT09ICJmdW5jdGlvbiIgPyBzZWxlY3Rpb24uYXBwbHkodGhhdCwgYXJn
cykgOiBzZWxlY3Rpb24sIHN0YXRlLmV4dGVudCksCisgICAgICAgICAgICAgICAgZW1pdCA9IGVt
aXR0ZXIodGhhdCwgYXJncykuYmVmb3Jlc3RhcnQoKTsKKworICAgICAgICAgICAgaW50ZXJydXB0
KHRoYXQpOworICAgICAgICAgICAgc3RhdGUuc2VsZWN0aW9uID0gc2VsZWN0aW9uMSA9PT0gbnVs
bCA/IG51bGwgOiBzZWxlY3Rpb24xOworICAgICAgICAgICAgcmVkcmF3LmNhbGwodGhhdCk7Cisg
ICAgICAgICAgICBlbWl0LnN0YXJ0KCkuYnJ1c2goKS5lbmQoKTsKKyAgICAgICAgICB9KTsKKyAg
ICB9CisgIH07CisKKyAgYnJ1c2guY2xlYXIgPSBmdW5jdGlvbihncm91cCkgeworICAgIGJydXNo
Lm1vdmUoZ3JvdXAsIG51bGwpOworICB9OworCisgIGZ1bmN0aW9uIHJlZHJhdygpIHsKKyAgICB2
YXIgZ3JvdXAgPSBzZWxlY3QodGhpcyksCisgICAgICAgIHNlbGVjdGlvbiA9IGxvY2FsJDEodGhp
cykuc2VsZWN0aW9uOworCisgICAgaWYgKHNlbGVjdGlvbikgeworICAgICAgZ3JvdXAuc2VsZWN0
QWxsKCIuc2VsZWN0aW9uIikKKyAgICAgICAgICAuc3R5bGUoImRpc3BsYXkiLCBudWxsKQorICAg
ICAgICAgIC5hdHRyKCJ4Iiwgc2VsZWN0aW9uWzBdWzBdKQorICAgICAgICAgIC5hdHRyKCJ5Iiwg
c2VsZWN0aW9uWzBdWzFdKQorICAgICAgICAgIC5hdHRyKCJ3aWR0aCIsIHNlbGVjdGlvblsxXVsw
XSAtIHNlbGVjdGlvblswXVswXSkKKyAgICAgICAgICAuYXR0cigiaGVpZ2h0Iiwgc2VsZWN0aW9u
WzFdWzFdIC0gc2VsZWN0aW9uWzBdWzFdKTsKKworICAgICAgZ3JvdXAuc2VsZWN0QWxsKCIuaGFu
ZGxlIikKKyAgICAgICAgICAuc3R5bGUoImRpc3BsYXkiLCBudWxsKQorICAgICAgICAgIC5hdHRy
KCJ4IiwgZnVuY3Rpb24oZCkgeyByZXR1cm4gZC50eXBlW2QudHlwZS5sZW5ndGggLSAxXSA9PT0g
ImUiID8gc2VsZWN0aW9uWzFdWzBdIC0gaGFuZGxlU2l6ZSAvIDIgOiBzZWxlY3Rpb25bMF1bMF0g
LSBoYW5kbGVTaXplIC8gMjsgfSkKKyAgICAgICAgICAuYXR0cigieSIsIGZ1bmN0aW9uKGQpIHsg
cmV0dXJuIGQudHlwZVswXSA9PT0gInMiID8gc2VsZWN0aW9uWzFdWzFdIC0gaGFuZGxlU2l6ZSAv
IDIgOiBzZWxlY3Rpb25bMF1bMV0gLSBoYW5kbGVTaXplIC8gMjsgfSkKKyAgICAgICAgICAuYXR0
cigid2lkdGgiLCBmdW5jdGlvbihkKSB7IHJldHVybiBkLnR5cGUgPT09ICJuIiB8fCBkLnR5cGUg
PT09ICJzIiA/IHNlbGVjdGlvblsxXVswXSAtIHNlbGVjdGlvblswXVswXSArIGhhbmRsZVNpemUg
OiBoYW5kbGVTaXplOyB9KQorICAgICAgICAgIC5hdHRyKCJoZWlnaHQiLCBmdW5jdGlvbihkKSB7
IHJldHVybiBkLnR5cGUgPT09ICJlIiB8fCBkLnR5cGUgPT09ICJ3IiA/IHNlbGVjdGlvblsxXVsx
XSAtIHNlbGVjdGlvblswXVsxXSArIGhhbmRsZVNpemUgOiBoYW5kbGVTaXplOyB9KTsKKyAgICB9
CisKKyAgICBlbHNlIHsKKyAgICAgIGdyb3VwLnNlbGVjdEFsbCgiLnNlbGVjdGlvbiwuaGFuZGxl
IikKKyAgICAgICAgICAuc3R5bGUoImRpc3BsYXkiLCAibm9uZSIpCisgICAgICAgICAgLmF0dHIo
IngiLCBudWxsKQorICAgICAgICAgIC5hdHRyKCJ5IiwgbnVsbCkKKyAgICAgICAgICAuYXR0cigi
d2lkdGgiLCBudWxsKQorICAgICAgICAgIC5hdHRyKCJoZWlnaHQiLCBudWxsKTsKKyAgICB9Cisg
IH0KKworICBmdW5jdGlvbiBlbWl0dGVyKHRoYXQsIGFyZ3MsIGNsZWFuKSB7CisgICAgcmV0dXJu
ICghY2xlYW4gJiYgdGhhdC5fX2JydXNoLmVtaXR0ZXIpIHx8IG5ldyBFbWl0dGVyKHRoYXQsIGFy
Z3MpOworICB9CisKKyAgZnVuY3Rpb24gRW1pdHRlcih0aGF0LCBhcmdzKSB7CisgICAgdGhpcy50
aGF0ID0gdGhhdDsKKyAgICB0aGlzLmFyZ3MgPSBhcmdzOworICAgIHRoaXMuc3RhdGUgPSB0aGF0
Ll9fYnJ1c2g7CisgICAgdGhpcy5hY3RpdmUgPSAwOworICB9CisKKyAgRW1pdHRlci5wcm90b3R5
cGUgPSB7CisgICAgYmVmb3Jlc3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgICAgaWYgKCsrdGhpcy5h
Y3RpdmUgPT09IDEpIHRoaXMuc3RhdGUuZW1pdHRlciA9IHRoaXMsIHRoaXMuc3RhcnRpbmcgPSB0
cnVlOworICAgICAgcmV0dXJuIHRoaXM7CisgICAgfSwKKyAgICBzdGFydDogZnVuY3Rpb24oKSB7
CisgICAgICBpZiAodGhpcy5zdGFydGluZykgdGhpcy5zdGFydGluZyA9IGZhbHNlLCB0aGlzLmVt
aXQoInN0YXJ0Iik7CisgICAgICBlbHNlIHRoaXMuZW1pdCgiYnJ1c2giKTsKKyAgICAgIHJldHVy
biB0aGlzOworICAgIH0sCisgICAgYnJ1c2g6IGZ1bmN0aW9uKCkgeworICAgICAgdGhpcy5lbWl0
KCJicnVzaCIpOworICAgICAgcmV0dXJuIHRoaXM7CisgICAgfSwKKyAgICBlbmQ6IGZ1bmN0aW9u
KCkgeworICAgICAgaWYgKC0tdGhpcy5hY3RpdmUgPT09IDApIGRlbGV0ZSB0aGlzLnN0YXRlLmVt
aXR0ZXIsIHRoaXMuZW1pdCgiZW5kIik7CisgICAgICByZXR1cm4gdGhpczsKKyAgICB9LAorICAg
IGVtaXQ6IGZ1bmN0aW9uKHR5cGUpIHsKKyAgICAgIGN1c3RvbUV2ZW50KG5ldyBCcnVzaEV2ZW50
KGJydXNoLCB0eXBlLCBkaW0ub3V0cHV0KHRoaXMuc3RhdGUuc2VsZWN0aW9uKSksIGxpc3RlbmVy
cy5hcHBseSwgbGlzdGVuZXJzLCBbdHlwZSwgdGhpcy50aGF0LCB0aGlzLmFyZ3NdKTsKKyAgICB9
CisgIH07CisKKyAgZnVuY3Rpb24gc3RhcnRlZCgpIHsKKyAgICBpZiAodG91Y2hlbmRpbmcgJiYg
IWV4cG9ydHMuZXZlbnQudG91Y2hlcykgcmV0dXJuOworICAgIGlmICghZmlsdGVyLmFwcGx5KHRo
aXMsIGFyZ3VtZW50cykpIHJldHVybjsKKworICAgIHZhciB0aGF0ID0gdGhpcywKKyAgICAgICAg
dHlwZSA9IGV4cG9ydHMuZXZlbnQudGFyZ2V0Ll9fZGF0YV9fLnR5cGUsCisgICAgICAgIG1vZGUg
PSAoa2V5cyAmJiBleHBvcnRzLmV2ZW50Lm1ldGFLZXkgPyB0eXBlID0gIm92ZXJsYXkiIDogdHlw
ZSkgPT09ICJzZWxlY3Rpb24iID8gTU9ERV9EUkFHIDogKGtleXMgJiYgZXhwb3J0cy5ldmVudC5h
bHRLZXkgPyBNT0RFX0NFTlRFUiA6IE1PREVfSEFORExFKSwKKyAgICAgICAgc2lnblggPSBkaW0g
PT09IFkgPyBudWxsIDogc2lnbnNYW3R5cGVdLAorICAgICAgICBzaWduWSA9IGRpbSA9PT0gWCA/
IG51bGwgOiBzaWduc1lbdHlwZV0sCisgICAgICAgIHN0YXRlID0gbG9jYWwkMSh0aGF0KSwKKyAg
ICAgICAgZXh0ZW50ID0gc3RhdGUuZXh0ZW50LAorICAgICAgICBzZWxlY3Rpb24gPSBzdGF0ZS5z
ZWxlY3Rpb24sCisgICAgICAgIFcgPSBleHRlbnRbMF1bMF0sIHcwLCB3MSwKKyAgICAgICAgTiA9
IGV4dGVudFswXVsxXSwgbjAsIG4xLAorICAgICAgICBFID0gZXh0ZW50WzFdWzBdLCBlMCwgZTEs
CisgICAgICAgIFMgPSBleHRlbnRbMV1bMV0sIHMwLCBzMSwKKyAgICAgICAgZHggPSAwLAorICAg
ICAgICBkeSA9IDAsCisgICAgICAgIG1vdmluZywKKyAgICAgICAgc2hpZnRpbmcgPSBzaWduWCAm
JiBzaWduWSAmJiBrZXlzICYmIGV4cG9ydHMuZXZlbnQuc2hpZnRLZXksCisgICAgICAgIGxvY2tY
LAorICAgICAgICBsb2NrWSwKKyAgICAgICAgcG9pbnRlciA9IGV4cG9ydHMuZXZlbnQudG91Y2hl
cyA/IHRvdWNoZXIoZXhwb3J0cy5ldmVudC5jaGFuZ2VkVG91Y2hlc1swXS5pZGVudGlmaWVyKSA6
IG1vdXNlLAorICAgICAgICBwb2ludDAgPSBwb2ludGVyKHRoYXQpLAorICAgICAgICBwb2ludCA9
IHBvaW50MCwKKyAgICAgICAgZW1pdCA9IGVtaXR0ZXIodGhhdCwgYXJndW1lbnRzLCB0cnVlKS5i
ZWZvcmVzdGFydCgpOworCisgICAgaWYgKHR5cGUgPT09ICJvdmVybGF5IikgeworICAgICAgaWYg
KHNlbGVjdGlvbikgbW92aW5nID0gdHJ1ZTsKKyAgICAgIHN0YXRlLnNlbGVjdGlvbiA9IHNlbGVj
dGlvbiA9IFsKKyAgICAgICAgW3cwID0gZGltID09PSBZID8gVyA6IHBvaW50MFswXSwgbjAgPSBk
aW0gPT09IFggPyBOIDogcG9pbnQwWzFdXSwKKyAgICAgICAgW2UwID0gZGltID09PSBZID8gRSA6
IHcwLCBzMCA9IGRpbSA9PT0gWCA/IFMgOiBuMF0KKyAgICAgIF07CisgICAgfSBlbHNlIHsKKyAg
ICAgIHcwID0gc2VsZWN0aW9uWzBdWzBdOworICAgICAgbjAgPSBzZWxlY3Rpb25bMF1bMV07Cisg
ICAgICBlMCA9IHNlbGVjdGlvblsxXVswXTsKKyAgICAgIHMwID0gc2VsZWN0aW9uWzFdWzFdOwor
ICAgIH0KKworICAgIHcxID0gdzA7CisgICAgbjEgPSBuMDsKKyAgICBlMSA9IGUwOworICAgIHMx
ID0gczA7CisKKyAgICB2YXIgZ3JvdXAgPSBzZWxlY3QodGhhdCkKKyAgICAgICAgLmF0dHIoInBv
aW50ZXItZXZlbnRzIiwgIm5vbmUiKTsKKworICAgIHZhciBvdmVybGF5ID0gZ3JvdXAuc2VsZWN0
QWxsKCIub3ZlcmxheSIpCisgICAgICAgIC5hdHRyKCJjdXJzb3IiLCBjdXJzb3JzW3R5cGVdKTsK
KworICAgIGlmIChleHBvcnRzLmV2ZW50LnRvdWNoZXMpIHsKKyAgICAgIGVtaXQubW92ZWQgPSBt
b3ZlZDsKKyAgICAgIGVtaXQuZW5kZWQgPSBlbmRlZDsKKyAgICB9IGVsc2UgeworICAgICAgdmFy
IHZpZXcgPSBzZWxlY3QoZXhwb3J0cy5ldmVudC52aWV3KQorICAgICAgICAgIC5vbigibW91c2Vt
b3ZlLmJydXNoIiwgbW92ZWQsIHRydWUpCisgICAgICAgICAgLm9uKCJtb3VzZXVwLmJydXNoIiwg
ZW5kZWQsIHRydWUpOworICAgICAgaWYgKGtleXMpIHZpZXcKKyAgICAgICAgICAub24oImtleWRv
d24uYnJ1c2giLCBrZXlkb3duZWQsIHRydWUpCisgICAgICAgICAgLm9uKCJrZXl1cC5icnVzaCIs
IGtleXVwcGVkLCB0cnVlKTsKKworICAgICAgZHJhZ0Rpc2FibGUoZXhwb3J0cy5ldmVudC52aWV3
KTsKKyAgICB9CisKKyAgICBub3Byb3BhZ2F0aW9uJDEoKTsKKyAgICBpbnRlcnJ1cHQodGhhdCk7
CisgICAgcmVkcmF3LmNhbGwodGhhdCk7CisgICAgZW1pdC5zdGFydCgpOworCisgICAgZnVuY3Rp
b24gbW92ZWQoKSB7CisgICAgICB2YXIgcG9pbnQxID0gcG9pbnRlcih0aGF0KTsKKyAgICAgIGlm
IChzaGlmdGluZyAmJiAhbG9ja1ggJiYgIWxvY2tZKSB7CisgICAgICAgIGlmIChNYXRoLmFicyhw
b2ludDFbMF0gLSBwb2ludFswXSkgPiBNYXRoLmFicyhwb2ludDFbMV0gLSBwb2ludFsxXSkpIGxv
Y2tZID0gdHJ1ZTsKKyAgICAgICAgZWxzZSBsb2NrWCA9IHRydWU7CisgICAgICB9CisgICAgICBw
b2ludCA9IHBvaW50MTsKKyAgICAgIG1vdmluZyA9IHRydWU7CisgICAgICBub2V2ZW50JDEoKTsK
KyAgICAgIG1vdmUoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBtb3ZlKCkgeworICAgICAgdmFy
IHQ7CisKKyAgICAgIGR4ID0gcG9pbnRbMF0gLSBwb2ludDBbMF07CisgICAgICBkeSA9IHBvaW50
WzFdIC0gcG9pbnQwWzFdOworCisgICAgICBzd2l0Y2ggKG1vZGUpIHsKKyAgICAgICAgY2FzZSBN
T0RFX1NQQUNFOgorICAgICAgICBjYXNlIE1PREVfRFJBRzogeworICAgICAgICAgIGlmIChzaWdu
WCkgZHggPSBNYXRoLm1heChXIC0gdzAsIE1hdGgubWluKEUgLSBlMCwgZHgpKSwgdzEgPSB3MCAr
IGR4LCBlMSA9IGUwICsgZHg7CisgICAgICAgICAgaWYgKHNpZ25ZKSBkeSA9IE1hdGgubWF4KE4g
LSBuMCwgTWF0aC5taW4oUyAtIHMwLCBkeSkpLCBuMSA9IG4wICsgZHksIHMxID0gczAgKyBkeTsK
KyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIE1PREVfSEFORExFOiB7
CisgICAgICAgICAgaWYgKHNpZ25YIDwgMCkgZHggPSBNYXRoLm1heChXIC0gdzAsIE1hdGgubWlu
KEUgLSB3MCwgZHgpKSwgdzEgPSB3MCArIGR4LCBlMSA9IGUwOworICAgICAgICAgIGVsc2UgaWYg
KHNpZ25YID4gMCkgZHggPSBNYXRoLm1heChXIC0gZTAsIE1hdGgubWluKEUgLSBlMCwgZHgpKSwg
dzEgPSB3MCwgZTEgPSBlMCArIGR4OworICAgICAgICAgIGlmIChzaWduWSA8IDApIGR5ID0gTWF0
aC5tYXgoTiAtIG4wLCBNYXRoLm1pbihTIC0gbjAsIGR5KSksIG4xID0gbjAgKyBkeSwgczEgPSBz
MDsKKyAgICAgICAgICBlbHNlIGlmIChzaWduWSA+IDApIGR5ID0gTWF0aC5tYXgoTiAtIHMwLCBN
YXRoLm1pbihTIC0gczAsIGR5KSksIG4xID0gbjAsIHMxID0gczAgKyBkeTsKKyAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIE1PREVfQ0VOVEVSOiB7CisgICAgICAgICAg
aWYgKHNpZ25YKSB3MSA9IE1hdGgubWF4KFcsIE1hdGgubWluKEUsIHcwIC0gZHggKiBzaWduWCkp
LCBlMSA9IE1hdGgubWF4KFcsIE1hdGgubWluKEUsIGUwICsgZHggKiBzaWduWCkpOworICAgICAg
ICAgIGlmIChzaWduWSkgbjEgPSBNYXRoLm1heChOLCBNYXRoLm1pbihTLCBuMCAtIGR5ICogc2ln
blkpKSwgczEgPSBNYXRoLm1heChOLCBNYXRoLm1pbihTLCBzMCArIGR5ICogc2lnblkpKTsKKyAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICBpZiAoZTEgPCB3MSkg
eworICAgICAgICBzaWduWCAqPSAtMTsKKyAgICAgICAgdCA9IHcwLCB3MCA9IGUwLCBlMCA9IHQ7
CisgICAgICAgIHQgPSB3MSwgdzEgPSBlMSwgZTEgPSB0OworICAgICAgICBpZiAodHlwZSBpbiBm
bGlwWCkgb3ZlcmxheS5hdHRyKCJjdXJzb3IiLCBjdXJzb3JzW3R5cGUgPSBmbGlwWFt0eXBlXV0p
OworICAgICAgfQorCisgICAgICBpZiAoczEgPCBuMSkgeworICAgICAgICBzaWduWSAqPSAtMTsK
KyAgICAgICAgdCA9IG4wLCBuMCA9IHMwLCBzMCA9IHQ7CisgICAgICAgIHQgPSBuMSwgbjEgPSBz
MSwgczEgPSB0OworICAgICAgICBpZiAodHlwZSBpbiBmbGlwWSkgb3ZlcmxheS5hdHRyKCJjdXJz
b3IiLCBjdXJzb3JzW3R5cGUgPSBmbGlwWVt0eXBlXV0pOworICAgICAgfQorCisgICAgICBpZiAo
c3RhdGUuc2VsZWN0aW9uKSBzZWxlY3Rpb24gPSBzdGF0ZS5zZWxlY3Rpb247IC8vIE1heSBiZSBz
ZXQgYnkgYnJ1c2gubW92ZSEKKyAgICAgIGlmIChsb2NrWCkgdzEgPSBzZWxlY3Rpb25bMF1bMF0s
IGUxID0gc2VsZWN0aW9uWzFdWzBdOworICAgICAgaWYgKGxvY2tZKSBuMSA9IHNlbGVjdGlvblsw
XVsxXSwgczEgPSBzZWxlY3Rpb25bMV1bMV07CisKKyAgICAgIGlmIChzZWxlY3Rpb25bMF1bMF0g
IT09IHcxCisgICAgICAgICAgfHwgc2VsZWN0aW9uWzBdWzFdICE9PSBuMQorICAgICAgICAgIHx8
IHNlbGVjdGlvblsxXVswXSAhPT0gZTEKKyAgICAgICAgICB8fCBzZWxlY3Rpb25bMV1bMV0gIT09
IHMxKSB7CisgICAgICAgIHN0YXRlLnNlbGVjdGlvbiA9IFtbdzEsIG4xXSwgW2UxLCBzMV1dOwor
ICAgICAgICByZWRyYXcuY2FsbCh0aGF0KTsKKyAgICAgICAgZW1pdC5icnVzaCgpOworICAgICAg
fQorICAgIH0KKworICAgIGZ1bmN0aW9uIGVuZGVkKCkgeworICAgICAgbm9wcm9wYWdhdGlvbiQx
KCk7CisgICAgICBpZiAoZXhwb3J0cy5ldmVudC50b3VjaGVzKSB7CisgICAgICAgIGlmIChleHBv
cnRzLmV2ZW50LnRvdWNoZXMubGVuZ3RoKSByZXR1cm47CisgICAgICAgIGlmICh0b3VjaGVuZGlu
ZykgY2xlYXJUaW1lb3V0KHRvdWNoZW5kaW5nKTsKKyAgICAgICAgdG91Y2hlbmRpbmcgPSBzZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgeyB0b3VjaGVuZGluZyA9IG51bGw7IH0sIDUwMCk7IC8vIEdob3N0
IGNsaWNrcyBhcmUgZGVsYXllZCEKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIHllc2RyYWcoZXhw
b3J0cy5ldmVudC52aWV3LCBtb3ZpbmcpOworICAgICAgICB2aWV3Lm9uKCJrZXlkb3duLmJydXNo
IGtleXVwLmJydXNoIG1vdXNlbW92ZS5icnVzaCBtb3VzZXVwLmJydXNoIiwgbnVsbCk7CisgICAg
ICB9CisgICAgICBncm91cC5hdHRyKCJwb2ludGVyLWV2ZW50cyIsICJhbGwiKTsKKyAgICAgIG92
ZXJsYXkuYXR0cigiY3Vyc29yIiwgY3Vyc29ycy5vdmVybGF5KTsKKyAgICAgIGlmIChzdGF0ZS5z
ZWxlY3Rpb24pIHNlbGVjdGlvbiA9IHN0YXRlLnNlbGVjdGlvbjsgLy8gTWF5IGJlIHNldCBieSBi
cnVzaC5tb3ZlIChvbiBzdGFydCkhCisgICAgICBpZiAoZW1wdHkkMShzZWxlY3Rpb24pKSBzdGF0
ZS5zZWxlY3Rpb24gPSBudWxsLCByZWRyYXcuY2FsbCh0aGF0KTsKKyAgICAgIGVtaXQuZW5kKCk7
CisgICAgfQorCisgICAgZnVuY3Rpb24ga2V5ZG93bmVkKCkgeworICAgICAgc3dpdGNoIChleHBv
cnRzLmV2ZW50LmtleUNvZGUpIHsKKyAgICAgICAgY2FzZSAxNjogeyAvLyBTSElGVAorICAgICAg
ICAgIHNoaWZ0aW5nID0gc2lnblggJiYgc2lnblk7CisgICAgICAgICAgYnJlYWs7CisgICAgICAg
IH0KKyAgICAgICAgY2FzZSAxODogeyAvLyBBTFQKKyAgICAgICAgICBpZiAobW9kZSA9PT0gTU9E
RV9IQU5ETEUpIHsKKyAgICAgICAgICAgIGlmIChzaWduWCkgZTAgPSBlMSAtIGR4ICogc2lnblgs
IHcwID0gdzEgKyBkeCAqIHNpZ25YOworICAgICAgICAgICAgaWYgKHNpZ25ZKSBzMCA9IHMxIC0g
ZHkgKiBzaWduWSwgbjAgPSBuMSArIGR5ICogc2lnblk7CisgICAgICAgICAgICBtb2RlID0gTU9E
RV9DRU5URVI7CisgICAgICAgICAgICBtb3ZlKCk7CisgICAgICAgICAgfQorICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CisgICAgICAgIGNhc2UgMzI6IHsgLy8gU1BBQ0U7IHRha2VzIHByaW9y
aXR5IG92ZXIgQUxUCisgICAgICAgICAgaWYgKG1vZGUgPT09IE1PREVfSEFORExFIHx8IG1vZGUg
PT09IE1PREVfQ0VOVEVSKSB7CisgICAgICAgICAgICBpZiAoc2lnblggPCAwKSBlMCA9IGUxIC0g
ZHg7IGVsc2UgaWYgKHNpZ25YID4gMCkgdzAgPSB3MSAtIGR4OworICAgICAgICAgICAgaWYgKHNp
Z25ZIDwgMCkgczAgPSBzMSAtIGR5OyBlbHNlIGlmIChzaWduWSA+IDApIG4wID0gbjEgLSBkeTsK
KyAgICAgICAgICAgIG1vZGUgPSBNT0RFX1NQQUNFOworICAgICAgICAgICAgb3ZlcmxheS5hdHRy
KCJjdXJzb3IiLCBjdXJzb3JzLnNlbGVjdGlvbik7CisgICAgICAgICAgICBtb3ZlKCk7CisgICAg
ICAgICAgfQorICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6IHJl
dHVybjsKKyAgICAgIH0KKyAgICAgIG5vZXZlbnQkMSgpOworICAgIH0KKworICAgIGZ1bmN0aW9u
IGtleXVwcGVkKCkgeworICAgICAgc3dpdGNoIChleHBvcnRzLmV2ZW50LmtleUNvZGUpIHsKKyAg
ICAgICAgY2FzZSAxNjogeyAvLyBTSElGVAorICAgICAgICAgIGlmIChzaGlmdGluZykgeworICAg
ICAgICAgICAgbG9ja1ggPSBsb2NrWSA9IHNoaWZ0aW5nID0gZmFsc2U7CisgICAgICAgICAgICBt
b3ZlKCk7CisgICAgICAgICAgfQorICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAg
IGNhc2UgMTg6IHsgLy8gQUxUCisgICAgICAgICAgaWYgKG1vZGUgPT09IE1PREVfQ0VOVEVSKSB7
CisgICAgICAgICAgICBpZiAoc2lnblggPCAwKSBlMCA9IGUxOyBlbHNlIGlmIChzaWduWCA+IDAp
IHcwID0gdzE7CisgICAgICAgICAgICBpZiAoc2lnblkgPCAwKSBzMCA9IHMxOyBlbHNlIGlmIChz
aWduWSA+IDApIG4wID0gbjE7CisgICAgICAgICAgICBtb2RlID0gTU9ERV9IQU5ETEU7CisgICAg
ICAgICAgICBtb3ZlKCk7CisgICAgICAgICAgfQorICAgICAgICAgIGJyZWFrOworICAgICAgICB9
CisgICAgICAgIGNhc2UgMzI6IHsgLy8gU1BBQ0UKKyAgICAgICAgICBpZiAobW9kZSA9PT0gTU9E
RV9TUEFDRSkgeworICAgICAgICAgICAgaWYgKGV4cG9ydHMuZXZlbnQuYWx0S2V5KSB7CisgICAg
ICAgICAgICAgIGlmIChzaWduWCkgZTAgPSBlMSAtIGR4ICogc2lnblgsIHcwID0gdzEgKyBkeCAq
IHNpZ25YOworICAgICAgICAgICAgICBpZiAoc2lnblkpIHMwID0gczEgLSBkeSAqIHNpZ25ZLCBu
MCA9IG4xICsgZHkgKiBzaWduWTsKKyAgICAgICAgICAgICAgbW9kZSA9IE1PREVfQ0VOVEVSOwor
ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgaWYgKHNpZ25YIDwgMCkgZTAgPSBl
MTsgZWxzZSBpZiAoc2lnblggPiAwKSB3MCA9IHcxOworICAgICAgICAgICAgICBpZiAoc2lnblkg
PCAwKSBzMCA9IHMxOyBlbHNlIGlmIChzaWduWSA+IDApIG4wID0gbjE7CisgICAgICAgICAgICAg
IG1vZGUgPSBNT0RFX0hBTkRMRTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG92ZXJsYXku
YXR0cigiY3Vyc29yIiwgY3Vyc29yc1t0eXBlXSk7CisgICAgICAgICAgICBtb3ZlKCk7CisgICAg
ICAgICAgfQorICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6IHJl
dHVybjsKKyAgICAgIH0KKyAgICAgIG5vZXZlbnQkMSgpOworICAgIH0KKyAgfQorCisgIGZ1bmN0
aW9uIHRvdWNobW92ZWQoKSB7CisgICAgZW1pdHRlcih0aGlzLCBhcmd1bWVudHMpLm1vdmVkKCk7
CisgIH0KKworICBmdW5jdGlvbiB0b3VjaGVuZGVkKCkgeworICAgIGVtaXR0ZXIodGhpcywgYXJn
dW1lbnRzKS5lbmRlZCgpOworICB9CisKKyAgZnVuY3Rpb24gaW5pdGlhbGl6ZSgpIHsKKyAgICB2
YXIgc3RhdGUgPSB0aGlzLl9fYnJ1c2ggfHwge3NlbGVjdGlvbjogbnVsbH07CisgICAgc3RhdGUu
ZXh0ZW50ID0gbnVtYmVyMihleHRlbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7CisgICAgc3Rh
dGUuZGltID0gZGltOworICAgIHJldHVybiBzdGF0ZTsKKyAgfQorCisgIGJydXNoLmV4dGVudCA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChleHRlbnQgPSB0
eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCQ0KG51bWJlcjIoXykpLCBicnVz
aCkgOiBleHRlbnQ7CisgIH07CisKKyAgYnJ1c2guZmlsdGVyID0gZnVuY3Rpb24oXykgeworICAg
IHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGZpbHRlciA9IHR5cGVvZiBfID09PSAiZnVuY3Rp
b24iID8gXyA6IGNvbnN0YW50JDQoISFfKSwgYnJ1c2gpIDogZmlsdGVyOworICB9OworCisgIGJy
dXNoLnRvdWNoYWJsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0
aCA/ICh0b3VjaGFibGUgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCQ0
KCEhXyksIGJydXNoKSA6IHRvdWNoYWJsZTsKKyAgfTsKKworICBicnVzaC5oYW5kbGVTaXplID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGhhbmRsZVNpemUg
PSArXywgYnJ1c2gpIDogaGFuZGxlU2l6ZTsKKyAgfTsKKworICBicnVzaC5rZXlNb2RpZmllcnMg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoa2V5cyA9ICEh
XywgYnJ1c2gpIDoga2V5czsKKyAgfTsKKworICBicnVzaC5vbiA9IGZ1bmN0aW9uKCkgeworICAg
IHZhciB2YWx1ZSA9IGxpc3RlbmVycy5vbi5hcHBseShsaXN0ZW5lcnMsIGFyZ3VtZW50cyk7Cisg
ICAgcmV0dXJuIHZhbHVlID09PSBsaXN0ZW5lcnMgPyBicnVzaCA6IHZhbHVlOworICB9OworCisg
IHJldHVybiBicnVzaDsKK30KKwordmFyIGNvcyA9IE1hdGguY29zOwordmFyIHNpbiA9IE1hdGgu
c2luOwordmFyIHBpJDEgPSBNYXRoLlBJOwordmFyIGhhbGZQaSQxID0gcGkkMSAvIDI7Cit2YXIg
dGF1JDEgPSBwaSQxICogMjsKK3ZhciBtYXgkMSA9IE1hdGgubWF4OworCitmdW5jdGlvbiBjb21w
YXJlVmFsdWUoY29tcGFyZSkgeworICByZXR1cm4gZnVuY3Rpb24oYSwgYikgeworICAgIHJldHVy
biBjb21wYXJlKAorICAgICAgYS5zb3VyY2UudmFsdWUgKyBhLnRhcmdldC52YWx1ZSwKKyAgICAg
IGIuc291cmNlLnZhbHVlICsgYi50YXJnZXQudmFsdWUKKyAgICApOworICB9OworfQorCitmdW5j
dGlvbiBjaG9yZCgpIHsKKyAgdmFyIHBhZEFuZ2xlID0gMCwKKyAgICAgIHNvcnRHcm91cHMgPSBu
dWxsLAorICAgICAgc29ydFN1Ymdyb3VwcyA9IG51bGwsCisgICAgICBzb3J0Q2hvcmRzID0gbnVs
bDsKKworICBmdW5jdGlvbiBjaG9yZChtYXRyaXgpIHsKKyAgICB2YXIgbiA9IG1hdHJpeC5sZW5n
dGgsCisgICAgICAgIGdyb3VwU3VtcyA9IFtdLAorICAgICAgICBncm91cEluZGV4ID0gc2VxdWVu
Y2UobiksCisgICAgICAgIHN1Ymdyb3VwSW5kZXggPSBbXSwKKyAgICAgICAgY2hvcmRzID0gW10s
CisgICAgICAgIGdyb3VwcyA9IGNob3Jkcy5ncm91cHMgPSBuZXcgQXJyYXkobiksCisgICAgICAg
IHN1Ymdyb3VwcyA9IG5ldyBBcnJheShuICogbiksCisgICAgICAgIGssCisgICAgICAgIHgsCisg
ICAgICAgIHgwLAorICAgICAgICBkeCwKKyAgICAgICAgaSwKKyAgICAgICAgajsKKworICAgIC8v
IENvbXB1dGUgdGhlIHN1bS4KKyAgICBrID0gMCwgaSA9IC0xOyB3aGlsZSAoKytpIDwgbikgewor
ICAgICAgeCA9IDAsIGogPSAtMTsgd2hpbGUgKCsraiA8IG4pIHsKKyAgICAgICAgeCArPSBtYXRy
aXhbaV1bal07CisgICAgICB9CisgICAgICBncm91cFN1bXMucHVzaCh4KTsKKyAgICAgIHN1Ymdy
b3VwSW5kZXgucHVzaChzZXF1ZW5jZShuKSk7CisgICAgICBrICs9IHg7CisgICAgfQorCisgICAg
Ly8gU29ydCBncm91cHPigKYKKyAgICBpZiAoc29ydEdyb3VwcykgZ3JvdXBJbmRleC5zb3J0KGZ1
bmN0aW9uKGEsIGIpIHsKKyAgICAgIHJldHVybiBzb3J0R3JvdXBzKGdyb3VwU3Vtc1thXSwgZ3Jv
dXBTdW1zW2JdKTsKKyAgICB9KTsKKworICAgIC8vIFNvcnQgc3ViZ3JvdXBz4oCmCisgICAgaWYg
KHNvcnRTdWJncm91cHMpIHN1Ymdyb3VwSW5kZXguZm9yRWFjaChmdW5jdGlvbihkLCBpKSB7Cisg
ICAgICBkLnNvcnQoZnVuY3Rpb24oYSwgYikgeworICAgICAgICByZXR1cm4gc29ydFN1Ymdyb3Vw
cyhtYXRyaXhbaV1bYV0sIG1hdHJpeFtpXVtiXSk7CisgICAgICB9KTsKKyAgICB9KTsKKworICAg
IC8vIENvbnZlcnQgdGhlIHN1bSB0byBzY2FsaW5nIGZhY3RvciBmb3IgWzAsIDJwaV0uCisgICAg
Ly8gVE9ETyBBbGxvdyBzdGFydCBhbmQgZW5kIGFuZ2xlIHRvIGJlIHNwZWNpZmllZD8KKyAgICAv
LyBUT0RPIEFsbG93IHBhZGRpbmcgdG8gYmUgc3BlY2lmaWVkIGFzIHBlcmNlbnRhZ2U/CisgICAg
ayA9IG1heCQxKDAsIHRhdSQxIC0gcGFkQW5nbGUgKiBuKSAvIGs7CisgICAgZHggPSBrID8gcGFk
QW5nbGUgOiB0YXUkMSAvIG47CisKKyAgICAvLyBDb21wdXRlIHRoZSBzdGFydCBhbmQgZW5kIGFu
Z2xlIGZvciBlYWNoIGdyb3VwIGFuZCBzdWJncm91cC4KKyAgICAvLyBOb3RlOiBPcGVyYSBoYXMg
YSBidWcgcmVvcmRlcmluZyBvYmplY3QgbGl0ZXJhbCBwcm9wZXJ0aWVzIQorICAgIHggPSAwLCBp
ID0gLTE7IHdoaWxlICgrK2kgPCBuKSB7CisgICAgICB4MCA9IHgsIGogPSAtMTsgd2hpbGUgKCsr
aiA8IG4pIHsKKyAgICAgICAgdmFyIGRpID0gZ3JvdXBJbmRleFtpXSwKKyAgICAgICAgICAgIGRq
ID0gc3ViZ3JvdXBJbmRleFtkaV1bal0sCisgICAgICAgICAgICB2ID0gbWF0cml4W2RpXVtkal0s
CisgICAgICAgICAgICBhMCA9IHgsCisgICAgICAgICAgICBhMSA9IHggKz0gdiAqIGs7CisgICAg
ICAgIHN1Ymdyb3Vwc1tkaiAqIG4gKyBkaV0gPSB7CisgICAgICAgICAgaW5kZXg6IGRpLAorICAg
ICAgICAgIHN1YmluZGV4OiBkaiwKKyAgICAgICAgICBzdGFydEFuZ2xlOiBhMCwKKyAgICAgICAg
ICBlbmRBbmdsZTogYTEsCisgICAgICAgICAgdmFsdWU6IHYKKyAgICAgICAgfTsKKyAgICAgIH0K
KyAgICAgIGdyb3Vwc1tkaV0gPSB7CisgICAgICAgIGluZGV4OiBkaSwKKyAgICAgICAgc3RhcnRB
bmdsZTogeDAsCisgICAgICAgIGVuZEFuZ2xlOiB4LAorICAgICAgICB2YWx1ZTogZ3JvdXBTdW1z
W2RpXQorICAgICAgfTsKKyAgICAgIHggKz0gZHg7CisgICAgfQorCisgICAgLy8gR2VuZXJhdGUg
Y2hvcmRzIGZvciBlYWNoIChub24tZW1wdHkpIHN1Ymdyb3VwLXN1Ymdyb3VwIGxpbmsuCisgICAg
aSA9IC0xOyB3aGlsZSAoKytpIDwgbikgeworICAgICAgaiA9IGkgLSAxOyB3aGlsZSAoKytqIDwg
bikgeworICAgICAgICB2YXIgc291cmNlID0gc3ViZ3JvdXBzW2ogKiBuICsgaV0sCisgICAgICAg
ICAgICB0YXJnZXQgPSBzdWJncm91cHNbaSAqIG4gKyBqXTsKKyAgICAgICAgaWYgKHNvdXJjZS52
YWx1ZSB8fCB0YXJnZXQudmFsdWUpIHsKKyAgICAgICAgICBjaG9yZHMucHVzaChzb3VyY2UudmFs
dWUgPCB0YXJnZXQudmFsdWUKKyAgICAgICAgICAgICAgPyB7c291cmNlOiB0YXJnZXQsIHRhcmdl
dDogc291cmNlfQorICAgICAgICAgICAgICA6IHtzb3VyY2U6IHNvdXJjZSwgdGFyZ2V0OiB0YXJn
ZXR9KTsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBzb3J0Q2hvcmRz
ID8gY2hvcmRzLnNvcnQoc29ydENob3JkcykgOiBjaG9yZHM7CisgIH0KKworICBjaG9yZC5wYWRB
bmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRB
bmdsZSA9IG1heCQxKDAsIF8pLCBjaG9yZCkgOiBwYWRBbmdsZTsKKyAgfTsKKworICBjaG9yZC5z
b3J0R3JvdXBzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8g
KHNvcnRHcm91cHMgPSBfLCBjaG9yZCkgOiBzb3J0R3JvdXBzOworICB9OworCisgIGNob3JkLnNv
cnRTdWJncm91cHMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PyAoc29ydFN1Ymdyb3VwcyA9IF8sIGNob3JkKSA6IHNvcnRTdWJncm91cHM7CisgIH07CisKKyAg
Y2hvcmQuc29ydENob3JkcyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IChfID09IG51bGwgPyBzb3J0Q2hvcmRzID0gbnVsbCA6IChzb3J0Q2hvcmRzID0gY29t
cGFyZVZhbHVlKF8pKS5fID0gXywgY2hvcmQpIDogc29ydENob3JkcyAmJiBzb3J0Q2hvcmRzLl87
CisgIH07CisKKyAgcmV0dXJuIGNob3JkOworfQorCit2YXIgc2xpY2UkMiA9IEFycmF5LnByb3Rv
dHlwZS5zbGljZTsKKworZnVuY3Rpb24gY29uc3RhbnQkNSh4KSB7CisgIHJldHVybiBmdW5jdGlv
bigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKwordmFyIHBpJDIgPSBNYXRoLlBJLAorICAg
IHRhdSQyID0gMiAqIHBpJDIsCisgICAgZXBzaWxvbiQxID0gMWUtNiwKKyAgICB0YXVFcHNpbG9u
ID0gdGF1JDIgLSBlcHNpbG9uJDE7CisKK2Z1bmN0aW9uIFBhdGgoKSB7CisgIHRoaXMuX3gwID0g
dGhpcy5feTAgPSAvLyBzdGFydCBvZiBjdXJyZW50IHN1YnBhdGgKKyAgdGhpcy5feDEgPSB0aGlz
Ll95MSA9IG51bGw7IC8vIGVuZCBvZiBjdXJyZW50IHN1YnBhdGgKKyAgdGhpcy5fID0gIiI7Cit9
CisKK2Z1bmN0aW9uIHBhdGgoKSB7CisgIHJldHVybiBuZXcgUGF0aDsKK30KKworUGF0aC5wcm90
b3R5cGUgPSBwYXRoLnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IFBhdGgsCisgIG1vdmVU
bzogZnVuY3Rpb24oeCwgeSkgeworICAgIHRoaXMuXyArPSAiTSIgKyAodGhpcy5feDAgPSB0aGlz
Ll94MSA9ICt4KSArICIsIiArICh0aGlzLl95MCA9IHRoaXMuX3kxID0gK3kpOworICB9LAorICBj
bG9zZVBhdGg6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl94MSAhPT0gbnVsbCkgeworICAg
ICAgdGhpcy5feDEgPSB0aGlzLl94MCwgdGhpcy5feTEgPSB0aGlzLl95MDsKKyAgICAgIHRoaXMu
XyArPSAiWiI7CisgICAgfQorICB9LAorICBsaW5lVG86IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB0
aGlzLl8gKz0gIkwiICsgKHRoaXMuX3gxID0gK3gpICsgIiwiICsgKHRoaXMuX3kxID0gK3kpOwor
ICB9LAorICBxdWFkcmF0aWNDdXJ2ZVRvOiBmdW5jdGlvbih4MSwgeTEsIHgsIHkpIHsKKyAgICB0
aGlzLl8gKz0gIlEiICsgKCt4MSkgKyAiLCIgKyAoK3kxKSArICIsIiArICh0aGlzLl94MSA9ICt4
KSArICIsIiArICh0aGlzLl95MSA9ICt5KTsKKyAgfSwKKyAgYmV6aWVyQ3VydmVUbzogZnVuY3Rp
b24oeDEsIHkxLCB4MiwgeTIsIHgsIHkpIHsKKyAgICB0aGlzLl8gKz0gIkMiICsgKCt4MSkgKyAi
LCIgKyAoK3kxKSArICIsIiArICgreDIpICsgIiwiICsgKCt5MikgKyAiLCIgKyAodGhpcy5feDEg
PSAreCkgKyAiLCIgKyAodGhpcy5feTEgPSAreSk7CisgIH0sCisgIGFyY1RvOiBmdW5jdGlvbih4
MSwgeTEsIHgyLCB5MiwgcikgeworICAgIHgxID0gK3gxLCB5MSA9ICt5MSwgeDIgPSAreDIsIHky
ID0gK3kyLCByID0gK3I7CisgICAgdmFyIHgwID0gdGhpcy5feDEsCisgICAgICAgIHkwID0gdGhp
cy5feTEsCisgICAgICAgIHgyMSA9IHgyIC0geDEsCisgICAgICAgIHkyMSA9IHkyIC0geTEsCisg
ICAgICAgIHgwMSA9IHgwIC0geDEsCisgICAgICAgIHkwMSA9IHkwIC0geTEsCisgICAgICAgIGww
MV8yID0geDAxICogeDAxICsgeTAxICogeTAxOworCisgICAgLy8gSXMgdGhlIHJhZGl1cyBuZWdh
dGl2ZT8gRXJyb3IuCisgICAgaWYgKHIgPCAwKSB0aHJvdyBuZXcgRXJyb3IoIm5lZ2F0aXZlIHJh
ZGl1czogIiArIHIpOworCisgICAgLy8gSXMgdGhpcyBwYXRoIGVtcHR5PyBNb3ZlIHRvICh4MSx5
MSkuCisgICAgaWYgKHRoaXMuX3gxID09PSBudWxsKSB7CisgICAgICB0aGlzLl8gKz0gIk0iICsg
KHRoaXMuX3gxID0geDEpICsgIiwiICsgKHRoaXMuX3kxID0geTEpOworICAgIH0KKworICAgIC8v
IE9yLCBpcyAoeDEseTEpIGNvaW5jaWRlbnQgd2l0aCAoeDAseTApPyBEbyBub3RoaW5nLgorICAg
IGVsc2UgaWYgKCEobDAxXzIgPiBlcHNpbG9uJDEpKTsKKworICAgIC8vIE9yLCBhcmUgKHgwLHkw
KSwgKHgxLHkxKSBhbmQgKHgyLHkyKSBjb2xsaW5lYXI/CisgICAgLy8gRXF1aXZhbGVudGx5LCBp
cyAoeDEseTEpIGNvaW5jaWRlbnQgd2l0aCAoeDIseTIpPworICAgIC8vIE9yLCBpcyB0aGUgcmFk
aXVzIHplcm8/IExpbmUgdG8gKHgxLHkxKS4KKyAgICBlbHNlIGlmICghKE1hdGguYWJzKHkwMSAq
IHgyMSAtIHkyMSAqIHgwMSkgPiBlcHNpbG9uJDEpIHx8ICFyKSB7CisgICAgICB0aGlzLl8gKz0g
IkwiICsgKHRoaXMuX3gxID0geDEpICsgIiwiICsgKHRoaXMuX3kxID0geTEpOworICAgIH0KKwor
ICAgIC8vIE90aGVyd2lzZSwgZHJhdyBhbiBhcmMhCisgICAgZWxzZSB7CisgICAgICB2YXIgeDIw
ID0geDIgLSB4MCwKKyAgICAgICAgICB5MjAgPSB5MiAtIHkwLAorICAgICAgICAgIGwyMV8yID0g
eDIxICogeDIxICsgeTIxICogeTIxLAorICAgICAgICAgIGwyMF8yID0geDIwICogeDIwICsgeTIw
ICogeTIwLAorICAgICAgICAgIGwyMSA9IE1hdGguc3FydChsMjFfMiksCisgICAgICAgICAgbDAx
ID0gTWF0aC5zcXJ0KGwwMV8yKSwKKyAgICAgICAgICBsID0gciAqIE1hdGgudGFuKChwaSQyIC0g
TWF0aC5hY29zKChsMjFfMiArIGwwMV8yIC0gbDIwXzIpIC8gKDIgKiBsMjEgKiBsMDEpKSkgLyAy
KSwKKyAgICAgICAgICB0MDEgPSBsIC8gbDAxLAorICAgICAgICAgIHQyMSA9IGwgLyBsMjE7CisK
KyAgICAgIC8vIElmIHRoZSBzdGFydCB0YW5nZW50IGlzIG5vdCBjb2luY2lkZW50IHdpdGggKHgw
LHkwKSwgbGluZSB0by4KKyAgICAgIGlmIChNYXRoLmFicyh0MDEgLSAxKSA+IGVwc2lsb24kMSkg
eworICAgICAgICB0aGlzLl8gKz0gIkwiICsgKHgxICsgdDAxICogeDAxKSArICIsIiArICh5MSAr
IHQwMSAqIHkwMSk7CisgICAgICB9CisKKyAgICAgIHRoaXMuXyArPSAiQSIgKyByICsgIiwiICsg
ciArICIsMCwwLCIgKyAoKyh5MDEgKiB4MjAgPiB4MDEgKiB5MjApKSArICIsIiArICh0aGlzLl94
MSA9IHgxICsgdDIxICogeDIxKSArICIsIiArICh0aGlzLl95MSA9IHkxICsgdDIxICogeTIxKTsK
KyAgICB9CisgIH0sCisgIGFyYzogZnVuY3Rpb24oeCwgeSwgciwgYTAsIGExLCBjY3cpIHsKKyAg
ICB4ID0gK3gsIHkgPSAreSwgciA9ICtyLCBjY3cgPSAhIWNjdzsKKyAgICB2YXIgZHggPSByICog
TWF0aC5jb3MoYTApLAorICAgICAgICBkeSA9IHIgKiBNYXRoLnNpbihhMCksCisgICAgICAgIHgw
ID0geCArIGR4LAorICAgICAgICB5MCA9IHkgKyBkeSwKKyAgICAgICAgY3cgPSAxIF4gY2N3LAor
ICAgICAgICBkYSA9IGNjdyA/IGEwIC0gYTEgOiBhMSAtIGEwOworCisgICAgLy8gSXMgdGhlIHJh
ZGl1cyBuZWdhdGl2ZT8gRXJyb3IuCisgICAgaWYgKHIgPCAwKSB0aHJvdyBuZXcgRXJyb3IoIm5l
Z2F0aXZlIHJhZGl1czogIiArIHIpOworCisgICAgLy8gSXMgdGhpcyBwYXRoIGVtcHR5PyBNb3Zl
IHRvICh4MCx5MCkuCisgICAgaWYgKHRoaXMuX3gxID09PSBudWxsKSB7CisgICAgICB0aGlzLl8g
Kz0gIk0iICsgeDAgKyAiLCIgKyB5MDsKKyAgICB9CisKKyAgICAvLyBPciwgaXMgKHgwLHkwKSBu
b3QgY29pbmNpZGVudCB3aXRoIHRoZSBwcmV2aW91cyBwb2ludD8gTGluZSB0byAoeDAseTApLgor
ICAgIGVsc2UgaWYgKE1hdGguYWJzKHRoaXMuX3gxIC0geDApID4gZXBzaWxvbiQxIHx8IE1hdGgu
YWJzKHRoaXMuX3kxIC0geTApID4gZXBzaWxvbiQxKSB7CisgICAgICB0aGlzLl8gKz0gIkwiICsg
eDAgKyAiLCIgKyB5MDsKKyAgICB9CisKKyAgICAvLyBJcyB0aGlzIGFyYyBlbXB0eT8gV2XigJly
ZSBkb25lLgorICAgIGlmICghcikgcmV0dXJuOworCisgICAgLy8gRG9lcyB0aGUgYW5nbGUgZ28g
dGhlIHdyb25nIHdheT8gRmxpcCB0aGUgZGlyZWN0aW9uLgorICAgIGlmIChkYSA8IDApIGRhID0g
ZGEgJSB0YXUkMiArIHRhdSQyOworCisgICAgLy8gSXMgdGhpcyBhIGNvbXBsZXRlIGNpcmNsZT8g
RHJhdyB0d28gYXJjcyB0byBjb21wbGV0ZSB0aGUgY2lyY2xlLgorICAgIGlmIChkYSA+IHRhdUVw
c2lsb24pIHsKKyAgICAgIHRoaXMuXyArPSAiQSIgKyByICsgIiwiICsgciArICIsMCwxLCIgKyBj
dyArICIsIiArICh4IC0gZHgpICsgIiwiICsgKHkgLSBkeSkgKyAiQSIgKyByICsgIiwiICsgciAr
ICIsMCwxLCIgKyBjdyArICIsIiArICh0aGlzLl94MSA9IHgwKSArICIsIiArICh0aGlzLl95MSA9
IHkwKTsKKyAgICB9CisKKyAgICAvLyBJcyB0aGlzIGFyYyBub24tZW1wdHk/IERyYXcgYW4gYXJj
IQorICAgIGVsc2UgaWYgKGRhID4gZXBzaWxvbiQxKSB7CisgICAgICB0aGlzLl8gKz0gIkEiICsg
ciArICIsIiArIHIgKyAiLDAsIiArICgrKGRhID49IHBpJDIpKSArICIsIiArIGN3ICsgIiwiICsg
KHRoaXMuX3gxID0geCArIHIgKiBNYXRoLmNvcyhhMSkpICsgIiwiICsgKHRoaXMuX3kxID0geSAr
IHIgKiBNYXRoLnNpbihhMSkpOworICAgIH0KKyAgfSwKKyAgcmVjdDogZnVuY3Rpb24oeCwgeSwg
dywgaCkgeworICAgIHRoaXMuXyArPSAiTSIgKyAodGhpcy5feDAgPSB0aGlzLl94MSA9ICt4KSAr
ICIsIiArICh0aGlzLl95MCA9IHRoaXMuX3kxID0gK3kpICsgImgiICsgKCt3KSArICJ2IiArICgr
aCkgKyAiaCIgKyAoLXcpICsgIloiOworICB9LAorICB0b1N0cmluZzogZnVuY3Rpb24oKSB7Cisg
ICAgcmV0dXJuIHRoaXMuXzsKKyAgfQorfTsKKworZnVuY3Rpb24gZGVmYXVsdFNvdXJjZShkKSB7
CisgIHJldHVybiBkLnNvdXJjZTsKK30KKworZnVuY3Rpb24gZGVmYXVsdFRhcmdldChkKSB7Cisg
IHJldHVybiBkLnRhcmdldDsKK30KKworZnVuY3Rpb24gZGVmYXVsdFJhZGl1cyhkKSB7CisgIHJl
dHVybiBkLnJhZGl1czsKK30KKworZnVuY3Rpb24gZGVmYXVsdFN0YXJ0QW5nbGUoZCkgeworICBy
ZXR1cm4gZC5zdGFydEFuZ2xlOworfQorCitmdW5jdGlvbiBkZWZhdWx0RW5kQW5nbGUoZCkgewor
ICByZXR1cm4gZC5lbmRBbmdsZTsKK30KKworZnVuY3Rpb24gcmliYm9uKCkgeworICB2YXIgc291
cmNlID0gZGVmYXVsdFNvdXJjZSwKKyAgICAgIHRhcmdldCA9IGRlZmF1bHRUYXJnZXQsCisgICAg
ICByYWRpdXMgPSBkZWZhdWx0UmFkaXVzLAorICAgICAgc3RhcnRBbmdsZSA9IGRlZmF1bHRTdGFy
dEFuZ2xlLAorICAgICAgZW5kQW5nbGUgPSBkZWZhdWx0RW5kQW5nbGUsCisgICAgICBjb250ZXh0
ID0gbnVsbDsKKworICBmdW5jdGlvbiByaWJib24oKSB7CisgICAgdmFyIGJ1ZmZlciwKKyAgICAg
ICAgYXJndiA9IHNsaWNlJDIuY2FsbChhcmd1bWVudHMpLAorICAgICAgICBzID0gc291cmNlLmFw
cGx5KHRoaXMsIGFyZ3YpLAorICAgICAgICB0ID0gdGFyZ2V0LmFwcGx5KHRoaXMsIGFyZ3YpLAor
ICAgICAgICBzciA9ICtyYWRpdXMuYXBwbHkodGhpcywgKGFyZ3ZbMF0gPSBzLCBhcmd2KSksCisg
ICAgICAgIHNhMCA9IHN0YXJ0QW5nbGUuYXBwbHkodGhpcywgYXJndikgLSBoYWxmUGkkMSwKKyAg
ICAgICAgc2ExID0gZW5kQW5nbGUuYXBwbHkodGhpcywgYXJndikgLSBoYWxmUGkkMSwKKyAgICAg
ICAgc3gwID0gc3IgKiBjb3Moc2EwKSwKKyAgICAgICAgc3kwID0gc3IgKiBzaW4oc2EwKSwKKyAg
ICAgICAgdHIgPSArcmFkaXVzLmFwcGx5KHRoaXMsIChhcmd2WzBdID0gdCwgYXJndikpLAorICAg
ICAgICB0YTAgPSBzdGFydEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3YpIC0gaGFsZlBpJDEsCisgICAg
ICAgIHRhMSA9IGVuZEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3YpIC0gaGFsZlBpJDE7CisKKyAgICBp
ZiAoIWNvbnRleHQpIGNvbnRleHQgPSBidWZmZXIgPSBwYXRoKCk7CisKKyAgICBjb250ZXh0Lm1v
dmVUbyhzeDAsIHN5MCk7CisgICAgY29udGV4dC5hcmMoMCwgMCwgc3IsIHNhMCwgc2ExKTsKKyAg
ICBpZiAoc2EwICE9PSB0YTAgfHwgc2ExICE9PSB0YTEpIHsgLy8gVE9ETyBzciAhPT0gdHI/Cisg
ICAgICBjb250ZXh0LnF1YWRyYXRpY0N1cnZlVG8oMCwgMCwgdHIgKiBjb3ModGEwKSwgdHIgKiBz
aW4odGEwKSk7CisgICAgICBjb250ZXh0LmFyYygwLCAwLCB0ciwgdGEwLCB0YTEpOworICAgIH0K
KyAgICBjb250ZXh0LnF1YWRyYXRpY0N1cnZlVG8oMCwgMCwgc3gwLCBzeTApOworICAgIGNvbnRl
eHQuY2xvc2VQYXRoKCk7CisKKyAgICBpZiAoYnVmZmVyKSByZXR1cm4gY29udGV4dCA9IG51bGws
IGJ1ZmZlciArICIiIHx8IG51bGw7CisgIH0KKworICByaWJib24ucmFkaXVzID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJhZGl1cyA9IHR5cGVvZiBfID09
PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDUoK18pLCByaWJib24pIDogcmFkaXVzOworICB9
OworCisgIHJpYmJvbi5zdGFydEFuZ2xlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gKHN0YXJ0QW5nbGUgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8g
OiBjb25zdGFudCQ1KCtfKSwgcmliYm9uKSA6IHN0YXJ0QW5nbGU7CisgIH07CisKKyAgcmliYm9u
LmVuZEFuZ2xlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8g
KGVuZEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNSgrXyks
IHJpYmJvbikgOiBlbmRBbmdsZTsKKyAgfTsKKworICByaWJib24uc291cmNlID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNvdXJjZSA9IF8sIHJpYmJvbikg
OiBzb3VyY2U7CisgIH07CisKKyAgcmliYm9uLnRhcmdldCA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0YXJnZXQgPSBfLCByaWJib24pIDogdGFyZ2V0Owor
ICB9OworCisgIHJpYmJvbi5jb250ZXh0ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gKChjb250ZXh0ID0gXyA9PSBudWxsID8gbnVsbCA6IF8pLCByaWJib24p
IDogY29udGV4dDsKKyAgfTsKKworICByZXR1cm4gcmliYm9uOworfQorCit2YXIgcHJlZml4ID0g
IiQiOworCitmdW5jdGlvbiBNYXAoKSB7fQorCitNYXAucHJvdG90eXBlID0gbWFwJDEucHJvdG90
eXBlID0geworICBjb25zdHJ1Y3RvcjogTWFwLAorICBoYXM6IGZ1bmN0aW9uKGtleSkgeworICAg
IHJldHVybiAocHJlZml4ICsga2V5KSBpbiB0aGlzOworICB9LAorICBnZXQ6IGZ1bmN0aW9uKGtl
eSkgeworICAgIHJldHVybiB0aGlzW3ByZWZpeCArIGtleV07CisgIH0sCisgIHNldDogZnVuY3Rp
b24oa2V5LCB2YWx1ZSkgeworICAgIHRoaXNbcHJlZml4ICsga2V5XSA9IHZhbHVlOworICAgIHJl
dHVybiB0aGlzOworICB9LAorICByZW1vdmU6IGZ1bmN0aW9uKGtleSkgeworICAgIHZhciBwcm9w
ZXJ0eSA9IHByZWZpeCArIGtleTsKKyAgICByZXR1cm4gcHJvcGVydHkgaW4gdGhpcyAmJiBkZWxl
dGUgdGhpc1twcm9wZXJ0eV07CisgIH0sCisgIGNsZWFyOiBmdW5jdGlvbigpIHsKKyAgICBmb3Ig
KHZhciBwcm9wZXJ0eSBpbiB0aGlzKSBpZiAocHJvcGVydHlbMF0gPT09IHByZWZpeCkgZGVsZXRl
IHRoaXNbcHJvcGVydHldOworICB9LAorICBrZXlzOiBmdW5jdGlvbigpIHsKKyAgICB2YXIga2V5
cyA9IFtdOworICAgIGZvciAodmFyIHByb3BlcnR5IGluIHRoaXMpIGlmIChwcm9wZXJ0eVswXSA9
PT0gcHJlZml4KSBrZXlzLnB1c2gocHJvcGVydHkuc2xpY2UoMSkpOworICAgIHJldHVybiBrZXlz
OworICB9LAorICB2YWx1ZXM6IGZ1bmN0aW9uKCkgeworICAgIHZhciB2YWx1ZXMgPSBbXTsKKyAg
ICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB0aGlzKSBpZiAocHJvcGVydHlbMF0gPT09IHByZWZpeCkg
dmFsdWVzLnB1c2godGhpc1twcm9wZXJ0eV0pOworICAgIHJldHVybiB2YWx1ZXM7CisgIH0sCisg
IGVudHJpZXM6IGZ1bmN0aW9uKCkgeworICAgIHZhciBlbnRyaWVzID0gW107CisgICAgZm9yICh2
YXIgcHJvcGVydHkgaW4gdGhpcykgaWYgKHByb3BlcnR5WzBdID09PSBwcmVmaXgpIGVudHJpZXMu
cHVzaCh7a2V5OiBwcm9wZXJ0eS5zbGljZSgxKSwgdmFsdWU6IHRoaXNbcHJvcGVydHldfSk7Cisg
ICAgcmV0dXJuIGVudHJpZXM7CisgIH0sCisgIHNpemU6IGZ1bmN0aW9uKCkgeworICAgIHZhciBz
aXplID0gMDsKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB0aGlzKSBpZiAocHJvcGVydHlbMF0g
PT09IHByZWZpeCkgKytzaXplOworICAgIHJldHVybiBzaXplOworICB9LAorICBlbXB0eTogZnVu
Y3Rpb24oKSB7CisgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gdGhpcykgaWYgKHByb3BlcnR5WzBd
ID09PSBwcmVmaXgpIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfSwKKyAgZWFj
aDogZnVuY3Rpb24oZikgeworICAgIGZvciAodmFyIHByb3BlcnR5IGluIHRoaXMpIGlmIChwcm9w
ZXJ0eVswXSA9PT0gcHJlZml4KSBmKHRoaXNbcHJvcGVydHldLCBwcm9wZXJ0eS5zbGljZSgxKSwg
dGhpcyk7CisgIH0KK307CisKK2Z1bmN0aW9uIG1hcCQxKG9iamVjdCwgZikgeworICB2YXIgbWFw
ID0gbmV3IE1hcDsKKworICAvLyBDb3B5IGNvbnN0cnVjdG9yLgorICBpZiAob2JqZWN0IGluc3Rh
bmNlb2YgTWFwKSBvYmplY3QuZWFjaChmdW5jdGlvbih2YWx1ZSwga2V5KSB7IG1hcC5zZXQoa2V5
LCB2YWx1ZSk7IH0pOworCisgIC8vIEluZGV4IGFycmF5IGJ5IG51bWVyaWMgaW5kZXggb3Igc3Bl
Y2lmaWVkIGtleSBmdW5jdGlvbi4KKyAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheShvYmplY3QpKSB7
CisgICAgdmFyIGkgPSAtMSwKKyAgICAgICAgbiA9IG9iamVjdC5sZW5ndGgsCisgICAgICAgIG87
CisKKyAgICBpZiAoZiA9PSBudWxsKSB3aGlsZSAoKytpIDwgbikgbWFwLnNldChpLCBvYmplY3Rb
aV0pOworICAgIGVsc2Ugd2hpbGUgKCsraSA8IG4pIG1hcC5zZXQoZihvID0gb2JqZWN0W2ldLCBp
LCBvYmplY3QpLCBvKTsKKyAgfQorCisgIC8vIENvbnZlcnQgb2JqZWN0IHRvIG1hcC4KKyAgZWxz
ZSBpZiAob2JqZWN0KSBmb3IgKHZhciBrZXkgaW4gb2JqZWN0KSBtYXAuc2V0KGtleSwgb2JqZWN0
W2tleV0pOworCisgIHJldHVybiBtYXA7Cit9CisKK2Z1bmN0aW9uIG5lc3QoKSB7CisgIHZhciBr
ZXlzID0gW10sCisgICAgICBzb3J0S2V5cyA9IFtdLAorICAgICAgc29ydFZhbHVlcywKKyAgICAg
IHJvbGx1cCwKKyAgICAgIG5lc3Q7CisKKyAgZnVuY3Rpb24gYXBwbHkoYXJyYXksIGRlcHRoLCBj
cmVhdGVSZXN1bHQsIHNldFJlc3VsdCkgeworICAgIGlmIChkZXB0aCA+PSBrZXlzLmxlbmd0aCkg
eworICAgICAgaWYgKHNvcnRWYWx1ZXMgIT0gbnVsbCkgYXJyYXkuc29ydChzb3J0VmFsdWVzKTsK
KyAgICAgIHJldHVybiByb2xsdXAgIT0gbnVsbCA/IHJvbGx1cChhcnJheSkgOiBhcnJheTsKKyAg
ICB9CisKKyAgICB2YXIgaSA9IC0xLAorICAgICAgICBuID0gYXJyYXkubGVuZ3RoLAorICAgICAg
ICBrZXkgPSBrZXlzW2RlcHRoKytdLAorICAgICAgICBrZXlWYWx1ZSwKKyAgICAgICAgdmFsdWUs
CisgICAgICAgIHZhbHVlc0J5S2V5ID0gbWFwJDEoKSwKKyAgICAgICAgdmFsdWVzLAorICAgICAg
ICByZXN1bHQgPSBjcmVhdGVSZXN1bHQoKTsKKworICAgIHdoaWxlICgrK2kgPCBuKSB7CisgICAg
ICBpZiAodmFsdWVzID0gdmFsdWVzQnlLZXkuZ2V0KGtleVZhbHVlID0ga2V5KHZhbHVlID0gYXJy
YXlbaV0pICsgIiIpKSB7CisgICAgICAgIHZhbHVlcy5wdXNoKHZhbHVlKTsKKyAgICAgIH0gZWxz
ZSB7CisgICAgICAgIHZhbHVlc0J5S2V5LnNldChrZXlWYWx1ZSwgW3ZhbHVlXSk7CisgICAgICB9
CisgICAgfQorCisgICAgdmFsdWVzQnlLZXkuZWFjaChmdW5jdGlvbih2YWx1ZXMsIGtleSkgewor
ICAgICAgc2V0UmVzdWx0KHJlc3VsdCwga2V5LCBhcHBseSh2YWx1ZXMsIGRlcHRoLCBjcmVhdGVS
ZXN1bHQsIHNldFJlc3VsdCkpOworICAgIH0pOworCisgICAgcmV0dXJuIHJlc3VsdDsKKyAgfQor
CisgIGZ1bmN0aW9uIGVudHJpZXMobWFwLCBkZXB0aCkgeworICAgIGlmICgrK2RlcHRoID4ga2V5
cy5sZW5ndGgpIHJldHVybiBtYXA7CisgICAgdmFyIGFycmF5LCBzb3J0S2V5ID0gc29ydEtleXNb
ZGVwdGggLSAxXTsKKyAgICBpZiAocm9sbHVwICE9IG51bGwgJiYgZGVwdGggPj0ga2V5cy5sZW5n
dGgpIGFycmF5ID0gbWFwLmVudHJpZXMoKTsKKyAgICBlbHNlIGFycmF5ID0gW10sIG1hcC5lYWNo
KGZ1bmN0aW9uKHYsIGspIHsgYXJyYXkucHVzaCh7a2V5OiBrLCB2YWx1ZXM6IGVudHJpZXModiwg
ZGVwdGgpfSk7IH0pOworICAgIHJldHVybiBzb3J0S2V5ICE9IG51bGwgPyBhcnJheS5zb3J0KGZ1
bmN0aW9uKGEsIGIpIHsgcmV0dXJuIHNvcnRLZXkoYS5rZXksIGIua2V5KTsgfSkgOiBhcnJheTsK
KyAgfQorCisgIHJldHVybiBuZXN0ID0geworICAgIG9iamVjdDogZnVuY3Rpb24oYXJyYXkpIHsg
cmV0dXJuIGFwcGx5KGFycmF5LCAwLCBjcmVhdGVPYmplY3QsIHNldE9iamVjdCk7IH0sCisgICAg
bWFwOiBmdW5jdGlvbihhcnJheSkgeyByZXR1cm4gYXBwbHkoYXJyYXksIDAsIGNyZWF0ZU1hcCwg
c2V0TWFwKTsgfSwKKyAgICBlbnRyaWVzOiBmdW5jdGlvbihhcnJheSkgeyByZXR1cm4gZW50cmll
cyhhcHBseShhcnJheSwgMCwgY3JlYXRlTWFwLCBzZXRNYXApLCAwKTsgfSwKKyAgICBrZXk6IGZ1
bmN0aW9uKGQpIHsga2V5cy5wdXNoKGQpOyByZXR1cm4gbmVzdDsgfSwKKyAgICBzb3J0S2V5czog
ZnVuY3Rpb24ob3JkZXIpIHsgc29ydEtleXNba2V5cy5sZW5ndGggLSAxXSA9IG9yZGVyOyByZXR1
cm4gbmVzdDsgfSwKKyAgICBzb3J0VmFsdWVzOiBmdW5jdGlvbihvcmRlcikgeyBzb3J0VmFsdWVz
ID0gb3JkZXI7IHJldHVybiBuZXN0OyB9LAorICAgIHJvbGx1cDogZnVuY3Rpb24oZikgeyByb2xs
dXAgPSBmOyByZXR1cm4gbmVzdDsgfQorICB9OworfQorCitmdW5jdGlvbiBjcmVhdGVPYmplY3Qo
KSB7CisgIHJldHVybiB7fTsKK30KKworZnVuY3Rpb24gc2V0T2JqZWN0KG9iamVjdCwga2V5LCB2
YWx1ZSkgeworICBvYmplY3Rba2V5XSA9IHZhbHVlOworfQorCitmdW5jdGlvbiBjcmVhdGVNYXAo
KSB7CisgIHJldHVybiBtYXAkMSgpOworfQorCitmdW5jdGlvbiBzZXRNYXAobWFwLCBrZXksIHZh
bHVlKSB7CisgIG1hcC5zZXQoa2V5LCB2YWx1ZSk7Cit9CisKK2Z1bmN0aW9uIFNldCgpIHt9CisK
K3ZhciBwcm90byA9IG1hcCQxLnByb3RvdHlwZTsKKworU2V0LnByb3RvdHlwZSA9IHNldCQyLnBy
b3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IFNldCwKKyAgaGFzOiBwcm90by5oYXMsCisgIGFk
ZDogZnVuY3Rpb24odmFsdWUpIHsKKyAgICB2YWx1ZSArPSAiIjsKKyAgICB0aGlzW3ByZWZpeCAr
IHZhbHVlXSA9IHZhbHVlOworICAgIHJldHVybiB0aGlzOworICB9LAorICByZW1vdmU6IHByb3Rv
LnJlbW92ZSwKKyAgY2xlYXI6IHByb3RvLmNsZWFyLAorICB2YWx1ZXM6IHByb3RvLmtleXMsCisg
IHNpemU6IHByb3RvLnNpemUsCisgIGVtcHR5OiBwcm90by5lbXB0eSwKKyAgZWFjaDogcHJvdG8u
ZWFjaAorfTsKKworZnVuY3Rpb24gc2V0JDIob2JqZWN0LCBmKSB7CisgIHZhciBzZXQgPSBuZXcg
U2V0OworCisgIC8vIENvcHkgY29uc3RydWN0b3IuCisgIGlmIChvYmplY3QgaW5zdGFuY2VvZiBT
ZXQpIG9iamVjdC5lYWNoKGZ1bmN0aW9uKHZhbHVlKSB7IHNldC5hZGQodmFsdWUpOyB9KTsKKwor
ICAvLyBPdGhlcndpc2UsIGFzc3VtZSBpdOKAmXMgYW4gYXJyYXkuCisgIGVsc2UgaWYgKG9iamVj
dCkgeworICAgIHZhciBpID0gLTEsIG4gPSBvYmplY3QubGVuZ3RoOworICAgIGlmIChmID09IG51
bGwpIHdoaWxlICgrK2kgPCBuKSBzZXQuYWRkKG9iamVjdFtpXSk7CisgICAgZWxzZSB3aGlsZSAo
KytpIDwgbikgc2V0LmFkZChmKG9iamVjdFtpXSwgaSwgb2JqZWN0KSk7CisgIH0KKworICByZXR1
cm4gc2V0OworfQorCitmdW5jdGlvbiBrZXlzKG1hcCkgeworICB2YXIga2V5cyA9IFtdOworICBm
b3IgKHZhciBrZXkgaW4gbWFwKSBrZXlzLnB1c2goa2V5KTsKKyAgcmV0dXJuIGtleXM7Cit9CisK
K2Z1bmN0aW9uIHZhbHVlcyhtYXApIHsKKyAgdmFyIHZhbHVlcyA9IFtdOworICBmb3IgKHZhciBr
ZXkgaW4gbWFwKSB2YWx1ZXMucHVzaChtYXBba2V5XSk7CisgIHJldHVybiB2YWx1ZXM7Cit9CisK
K2Z1bmN0aW9uIGVudHJpZXMobWFwKSB7CisgIHZhciBlbnRyaWVzID0gW107CisgIGZvciAodmFy
IGtleSBpbiBtYXApIGVudHJpZXMucHVzaCh7a2V5OiBrZXksIHZhbHVlOiBtYXBba2V5XX0pOwor
ICByZXR1cm4gZW50cmllczsKK30KKwordmFyIGFycmF5JDIgPSBBcnJheS5wcm90b3R5cGU7CisK
K3ZhciBzbGljZSQzID0gYXJyYXkkMi5zbGljZTsKKworZnVuY3Rpb24gYXNjZW5kaW5nJDIoYSwg
YikgeworICByZXR1cm4gYSAtIGI7Cit9CisKK2Z1bmN0aW9uIGFyZWEocmluZykgeworICB2YXIg
aSA9IDAsIG4gPSByaW5nLmxlbmd0aCwgYXJlYSA9IHJpbmdbbiAtIDFdWzFdICogcmluZ1swXVsw
XSAtIHJpbmdbbiAtIDFdWzBdICogcmluZ1swXVsxXTsKKyAgd2hpbGUgKCsraSA8IG4pIGFyZWEg
Kz0gcmluZ1tpIC0gMV1bMV0gKiByaW5nW2ldWzBdIC0gcmluZ1tpIC0gMV1bMF0gKiByaW5nW2ld
WzFdOworICByZXR1cm4gYXJlYTsKK30KKworZnVuY3Rpb24gY29uc3RhbnQkNih4KSB7CisgIHJl
dHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKworZnVuY3Rpb24gY29u
dGFpbnMocmluZywgaG9sZSkgeworICB2YXIgaSA9IC0xLCBuID0gaG9sZS5sZW5ndGgsIGM7Cisg
IHdoaWxlICgrK2kgPCBuKSBpZiAoYyA9IHJpbmdDb250YWlucyhyaW5nLCBob2xlW2ldKSkgcmV0
dXJuIGM7CisgIHJldHVybiAwOworfQorCitmdW5jdGlvbiByaW5nQ29udGFpbnMocmluZywgcG9p
bnQpIHsKKyAgdmFyIHggPSBwb2ludFswXSwgeSA9IHBvaW50WzFdLCBjb250YWlucyA9IC0xOwor
ICBmb3IgKHZhciBpID0gMCwgbiA9IHJpbmcubGVuZ3RoLCBqID0gbiAtIDE7IGkgPCBuOyBqID0g
aSsrKSB7CisgICAgdmFyIHBpID0gcmluZ1tpXSwgeGkgPSBwaVswXSwgeWkgPSBwaVsxXSwgcGog
PSByaW5nW2pdLCB4aiA9IHBqWzBdLCB5aiA9IHBqWzFdOworICAgIGlmIChzZWdtZW50Q29udGFp
bnMocGksIHBqLCBwb2ludCkpIHJldHVybiAwOworICAgIGlmICgoKHlpID4geSkgIT09ICh5aiA+
IHkpKSAmJiAoKHggPCAoeGogLSB4aSkgKiAoeSAtIHlpKSAvICh5aiAtIHlpKSArIHhpKSkpIGNv
bnRhaW5zID0gLWNvbnRhaW5zOworICB9CisgIHJldHVybiBjb250YWluczsKK30KKworZnVuY3Rp
b24gc2VnbWVudENvbnRhaW5zKGEsIGIsIGMpIHsKKyAgdmFyIGk7IHJldHVybiBjb2xsaW5lYXIo
YSwgYiwgYykgJiYgd2l0aGluKGFbaSA9ICsoYVswXSA9PT0gYlswXSldLCBjW2ldLCBiW2ldKTsK
K30KKworZnVuY3Rpb24gY29sbGluZWFyKGEsIGIsIGMpIHsKKyAgcmV0dXJuIChiWzBdIC0gYVsw
XSkgKiAoY1sxXSAtIGFbMV0pID09PSAoY1swXSAtIGFbMF0pICogKGJbMV0gLSBhWzFdKTsKK30K
KworZnVuY3Rpb24gd2l0aGluKHAsIHEsIHIpIHsKKyAgcmV0dXJuIHAgPD0gcSAmJiBxIDw9IHIg
fHwgciA8PSBxICYmIHEgPD0gcDsKK30KKworZnVuY3Rpb24gbm9vcCQxKCkge30KKwordmFyIGNh
c2VzID0gWworICBbXSwKKyAgW1tbMS4wLCAxLjVdLCBbMC41LCAxLjBdXV0sCisgIFtbWzEuNSwg
MS4wXSwgWzEuMCwgMS41XV1dLAorICBbW1sxLjUsIDEuMF0sIFswLjUsIDEuMF1dXSwKKyAgW1tb
MS4wLCAwLjVdLCBbMS41LCAxLjBdXV0sCisgIFtbWzEuMCwgMS41XSwgWzAuNSwgMS4wXV0sIFtb
MS4wLCAwLjVdLCBbMS41LCAxLjBdXV0sCisgIFtbWzEuMCwgMC41XSwgWzEuMCwgMS41XV1dLAor
ICBbW1sxLjAsIDAuNV0sIFswLjUsIDEuMF1dXSwKKyAgW1tbMC41LCAxLjBdLCBbMS4wLCAwLjVd
XV0sCisgIFtbWzEuMCwgMS41XSwgWzEuMCwgMC41XV1dLAorICBbW1swLjUsIDEuMF0sIFsxLjAs
IDAuNV1dLCBbWzEuNSwgMS4wXSwgWzEuMCwgMS41XV1dLAorICBbW1sxLjUsIDEuMF0sIFsxLjAs
IDAuNV1dXSwKKyAgW1tbMC41LCAxLjBdLCBbMS41LCAxLjBdXV0sCisgIFtbWzEuMCwgMS41XSwg
WzEuNSwgMS4wXV1dLAorICBbW1swLjUsIDEuMF0sIFsxLjAsIDEuNV1dXSwKKyAgW10KK107CisK
K2Z1bmN0aW9uIGNvbnRvdXJzKCkgeworICB2YXIgZHggPSAxLAorICAgICAgZHkgPSAxLAorICAg
ICAgdGhyZXNob2xkID0gdGhyZXNob2xkU3R1cmdlcywKKyAgICAgIHNtb290aCA9IHNtb290aExp
bmVhcjsKKworICBmdW5jdGlvbiBjb250b3Vycyh2YWx1ZXMpIHsKKyAgICB2YXIgdHogPSB0aHJl
c2hvbGQodmFsdWVzKTsKKworICAgIC8vIENvbnZlcnQgbnVtYmVyIG9mIHRocmVzaG9sZHMgaW50
byB1bmlmb3JtIHRocmVzaG9sZHMuCisgICAgaWYgKCFBcnJheS5pc0FycmF5KHR6KSkgeworICAg
ICAgdmFyIGRvbWFpbiA9IGV4dGVudCh2YWx1ZXMpLCBzdGFydCA9IGRvbWFpblswXSwgc3RvcCA9
IGRvbWFpblsxXTsKKyAgICAgIHR6ID0gdGlja1N0ZXAoc3RhcnQsIHN0b3AsIHR6KTsKKyAgICAg
IHR6ID0gc2VxdWVuY2UoTWF0aC5mbG9vcihzdGFydCAvIHR6KSAqIHR6LCBNYXRoLmZsb29yKHN0
b3AgLyB0eikgKiB0eiwgdHopOworICAgIH0gZWxzZSB7CisgICAgICB0eiA9IHR6LnNsaWNlKCku
c29ydChhc2NlbmRpbmckMik7CisgICAgfQorCisgICAgcmV0dXJuIHR6Lm1hcChmdW5jdGlvbih2
YWx1ZSkgeworICAgICAgcmV0dXJuIGNvbnRvdXIodmFsdWVzLCB2YWx1ZSk7CisgICAgfSk7Cisg
IH0KKworICAvLyBBY2N1bXVsYXRlLCBzbW9vdGggY29udG91ciByaW5ncywgYXNzaWduIGhvbGVz
IHRvIGV4dGVyaW9yIHJpbmdzLgorICAvLyBCYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vbWJv
c3RvY2svc2hhcGVmaWxlL2Jsb2IvdjAuNi4yL3NocC9wb2x5Z29uLmpzCisgIGZ1bmN0aW9uIGNv
bnRvdXIodmFsdWVzLCB2YWx1ZSkgeworICAgIHZhciBwb2x5Z29ucyA9IFtdLAorICAgICAgICBo
b2xlcyA9IFtdOworCisgICAgaXNvcmluZ3ModmFsdWVzLCB2YWx1ZSwgZnVuY3Rpb24ocmluZykg
eworICAgICAgc21vb3RoKHJpbmcsIHZhbHVlcywgdmFsdWUpOworICAgICAgaWYgKGFyZWEocmlu
ZykgPiAwKSBwb2x5Z29ucy5wdXNoKFtyaW5nXSk7CisgICAgICBlbHNlIGhvbGVzLnB1c2gocmlu
Zyk7CisgICAgfSk7CisKKyAgICBob2xlcy5mb3JFYWNoKGZ1bmN0aW9uKGhvbGUpIHsKKyAgICAg
IGZvciAodmFyIGkgPSAwLCBuID0gcG9seWdvbnMubGVuZ3RoLCBwb2x5Z29uOyBpIDwgbjsgKytp
KSB7CisgICAgICAgIGlmIChjb250YWlucygocG9seWdvbiA9IHBvbHlnb25zW2ldKVswXSwgaG9s
ZSkgIT09IC0xKSB7CisgICAgICAgICAgcG9seWdvbi5wdXNoKGhvbGUpOworICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0pOworCisgICAgcmV0dXJuIHsKKyAgICAg
IHR5cGU6ICJNdWx0aVBvbHlnb24iLAorICAgICAgdmFsdWU6IHZhbHVlLAorICAgICAgY29vcmRp
bmF0ZXM6IHBvbHlnb25zCisgICAgfTsKKyAgfQorCisgIC8vIE1hcmNoaW5nIHNxdWFyZXMgd2l0
aCBpc29saW5lcyBzdGl0Y2hlZCBpbnRvIHJpbmdzLgorICAvLyBCYXNlZCBvbiBodHRwczovL2dp
dGh1Yi5jb20vdG9wb2pzb24vdG9wb2pzb24tY2xpZW50L2Jsb2IvdjMuMC4wL3NyYy9zdGl0Y2gu
anMKKyAgZnVuY3Rpb24gaXNvcmluZ3ModmFsdWVzLCB2YWx1ZSwgY2FsbGJhY2spIHsKKyAgICB2
YXIgZnJhZ21lbnRCeVN0YXJ0ID0gbmV3IEFycmF5LAorICAgICAgICBmcmFnbWVudEJ5RW5kID0g
bmV3IEFycmF5LAorICAgICAgICB4LCB5LCB0MCwgdDEsIHQyLCB0MzsKKworICAgIC8vIFNwZWNp
YWwgY2FzZSBmb3IgdGhlIGZpcnN0IHJvdyAoeSA9IC0xLCB0MiA9IHQzID0gMCkuCisgICAgeCA9
IHkgPSAtMTsKKyAgICB0MSA9IHZhbHVlc1swXSA+PSB2YWx1ZTsKKyAgICBjYXNlc1t0MSA8PCAx
XS5mb3JFYWNoKHN0aXRjaCk7CisgICAgd2hpbGUgKCsreCA8IGR4IC0gMSkgeworICAgICAgdDAg
PSB0MSwgdDEgPSB2YWx1ZXNbeCArIDFdID49IHZhbHVlOworICAgICAgY2FzZXNbdDAgfCB0MSA8
PCAxXS5mb3JFYWNoKHN0aXRjaCk7CisgICAgfQorICAgIGNhc2VzW3QxIDw8IDBdLmZvckVhY2go
c3RpdGNoKTsKKworICAgIC8vIEdlbmVyYWwgY2FzZSBmb3IgdGhlIGludGVybWVkaWF0ZSByb3dz
LgorICAgIHdoaWxlICgrK3kgPCBkeSAtIDEpIHsKKyAgICAgIHggPSAtMTsKKyAgICAgIHQxID0g
dmFsdWVzW3kgKiBkeCArIGR4XSA+PSB2YWx1ZTsKKyAgICAgIHQyID0gdmFsdWVzW3kgKiBkeF0g
Pj0gdmFsdWU7CisgICAgICBjYXNlc1t0MSA8PCAxIHwgdDIgPDwgMl0uZm9yRWFjaChzdGl0Y2gp
OworICAgICAgd2hpbGUgKCsreCA8IGR4IC0gMSkgeworICAgICAgICB0MCA9IHQxLCB0MSA9IHZh
bHVlc1t5ICogZHggKyBkeCArIHggKyAxXSA+PSB2YWx1ZTsKKyAgICAgICAgdDMgPSB0MiwgdDIg
PSB2YWx1ZXNbeSAqIGR4ICsgeCArIDFdID49IHZhbHVlOworICAgICAgICBjYXNlc1t0MCB8IHQx
IDw8IDEgfCB0MiA8PCAyIHwgdDMgPDwgM10uZm9yRWFjaChzdGl0Y2gpOworICAgICAgfQorICAg
ICAgY2FzZXNbdDEgfCB0MiA8PCAzXS5mb3JFYWNoKHN0aXRjaCk7CisgICAgfQorCisgICAgLy8g
U3BlY2lhbCBjYXNlIGZvciB0aGUgbGFzdCByb3cgKHkgPSBkeSAtIDEsIHQwID0gdDEgPSAwKS4K
KyAgICB4ID0gLTE7CisgICAgdDIgPSB2YWx1ZXNbeSAqIGR4XSA+PSB2YWx1ZTsKKyAgICBjYXNl
c1t0MiA8PCAyXS5mb3JFYWNoKHN0aXRjaCk7CisgICAgd2hpbGUgKCsreCA8IGR4IC0gMSkgewor
ICAgICAgdDMgPSB0MiwgdDIgPSB2YWx1ZXNbeSAqIGR4ICsgeCArIDFdID49IHZhbHVlOworICAg
ICAgY2FzZXNbdDIgPDwgMiB8IHQzIDw8IDNdLmZvckVhY2goc3RpdGNoKTsKKyAgICB9CisgICAg
Y2FzZXNbdDIgPDwgM10uZm9yRWFjaChzdGl0Y2gpOworCisgICAgZnVuY3Rpb24gc3RpdGNoKGxp
bmUpIHsKKyAgICAgIHZhciBzdGFydCA9IFtsaW5lWzBdWzBdICsgeCwgbGluZVswXVsxXSArIHld
LAorICAgICAgICAgIGVuZCA9IFtsaW5lWzFdWzBdICsgeCwgbGluZVsxXVsxXSArIHldLAorICAg
ICAgICAgIHN0YXJ0SW5kZXggPSBpbmRleChzdGFydCksCisgICAgICAgICAgZW5kSW5kZXggPSBp
bmRleChlbmQpLAorICAgICAgICAgIGYsIGc7CisgICAgICBpZiAoZiA9IGZyYWdtZW50QnlFbmRb
c3RhcnRJbmRleF0pIHsKKyAgICAgICAgaWYgKGcgPSBmcmFnbWVudEJ5U3RhcnRbZW5kSW5kZXhd
KSB7CisgICAgICAgICAgZGVsZXRlIGZyYWdtZW50QnlFbmRbZi5lbmRdOworICAgICAgICAgIGRl
bGV0ZSBmcmFnbWVudEJ5U3RhcnRbZy5zdGFydF07CisgICAgICAgICAgaWYgKGYgPT09IGcpIHsK
KyAgICAgICAgICAgIGYucmluZy5wdXNoKGVuZCk7CisgICAgICAgICAgICBjYWxsYmFjayhmLnJp
bmcpOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmcmFnbWVudEJ5U3RhcnRbZi5z
dGFydF0gPSBmcmFnbWVudEJ5RW5kW2cuZW5kXSA9IHtzdGFydDogZi5zdGFydCwgZW5kOiBnLmVu
ZCwgcmluZzogZi5yaW5nLmNvbmNhdChnLnJpbmcpfTsKKyAgICAgICAgICB9CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgZGVsZXRlIGZyYWdtZW50QnlFbmRbZi5lbmRdOworICAgICAgICAg
IGYucmluZy5wdXNoKGVuZCk7CisgICAgICAgICAgZnJhZ21lbnRCeUVuZFtmLmVuZCA9IGVuZElu
ZGV4XSA9IGY7CisgICAgICAgIH0KKyAgICAgIH0gZWxzZSBpZiAoZiA9IGZyYWdtZW50QnlTdGFy
dFtlbmRJbmRleF0pIHsKKyAgICAgICAgaWYgKGcgPSBmcmFnbWVudEJ5RW5kW3N0YXJ0SW5kZXhd
KSB7CisgICAgICAgICAgZGVsZXRlIGZyYWdtZW50QnlTdGFydFtmLnN0YXJ0XTsKKyAgICAgICAg
ICBkZWxldGUgZnJhZ21lbnRCeUVuZFtnLmVuZF07CisgICAgICAgICAgaWYgKGYgPT09IGcpIHsK
KyAgICAgICAgICAgIGYucmluZy5wdXNoKGVuZCk7CisgICAgICAgICAgICBjYWxsYmFjayhmLnJp
bmcpOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmcmFnbWVudEJ5U3RhcnRbZy5z
dGFydF0gPSBmcmFnbWVudEJ5RW5kW2YuZW5kXSA9IHtzdGFydDogZy5zdGFydCwgZW5kOiBmLmVu
ZCwgcmluZzogZy5yaW5nLmNvbmNhdChmLnJpbmcpfTsKKyAgICAgICAgICB9CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgZGVsZXRlIGZyYWdtZW50QnlTdGFydFtmLnN0YXJ0XTsKKyAgICAg
ICAgICBmLnJpbmcudW5zaGlmdChzdGFydCk7CisgICAgICAgICAgZnJhZ21lbnRCeVN0YXJ0W2Yu
c3RhcnQgPSBzdGFydEluZGV4XSA9IGY7CisgICAgICAgIH0KKyAgICAgIH0gZWxzZSB7CisgICAg
ICAgIGZyYWdtZW50QnlTdGFydFtzdGFydEluZGV4XSA9IGZyYWdtZW50QnlFbmRbZW5kSW5kZXhd
ID0ge3N0YXJ0OiBzdGFydEluZGV4LCBlbmQ6IGVuZEluZGV4LCByaW5nOiBbc3RhcnQsIGVuZF19
OworICAgICAgfQorICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGluZGV4KHBvaW50KSB7CisgICAg
cmV0dXJuIHBvaW50WzBdICogMiArIHBvaW50WzFdICogKGR4ICsgMSkgKiA0OworICB9CisKKyAg
ZnVuY3Rpb24gc21vb3RoTGluZWFyKHJpbmcsIHZhbHVlcywgdmFsdWUpIHsKKyAgICByaW5nLmZv
ckVhY2goZnVuY3Rpb24ocG9pbnQpIHsKKyAgICAgIHZhciB4ID0gcG9pbnRbMF0sCisgICAgICAg
ICAgeSA9IHBvaW50WzFdLAorICAgICAgICAgIHh0ID0geCB8IDAsCisgICAgICAgICAgeXQgPSB5
IHwgMCwKKyAgICAgICAgICB2MCwKKyAgICAgICAgICB2MSA9IHZhbHVlc1t5dCAqIGR4ICsgeHRd
OworICAgICAgaWYgKHggPiAwICYmIHggPCBkeCAmJiB4dCA9PT0geCkgeworICAgICAgICB2MCA9
IHZhbHVlc1t5dCAqIGR4ICsgeHQgLSAxXTsKKyAgICAgICAgcG9pbnRbMF0gPSB4ICsgKHZhbHVl
IC0gdjApIC8gKHYxIC0gdjApIC0gMC41OworICAgICAgfQorICAgICAgaWYgKHkgPiAwICYmIHkg
PCBkeSAmJiB5dCA9PT0geSkgeworICAgICAgICB2MCA9IHZhbHVlc1soeXQgLSAxKSAqIGR4ICsg
eHRdOworICAgICAgICBwb2ludFsxXSA9IHkgKyAodmFsdWUgLSB2MCkgLyAodjEgLSB2MCkgLSAw
LjU7CisgICAgICB9CisgICAgfSk7CisgIH0KKworICBjb250b3Vycy5jb250b3VyID0gY29udG91
cjsKKworICBjb250b3Vycy5zaXplID0gZnVuY3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRz
Lmxlbmd0aCkgcmV0dXJuIFtkeCwgZHldOworICAgIHZhciBfMCA9IE1hdGguY2VpbChfWzBdKSwg
XzEgPSBNYXRoLmNlaWwoX1sxXSk7CisgICAgaWYgKCEoXzAgPiAwKSB8fCAhKF8xID4gMCkpIHRo
cm93IG5ldyBFcnJvcigiaW52YWxpZCBzaXplIik7CisgICAgcmV0dXJuIGR4ID0gXzAsIGR5ID0g
XzEsIGNvbnRvdXJzOworICB9OworCisgIGNvbnRvdXJzLnRocmVzaG9sZHMgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGhyZXNob2xkID0gdHlwZW9mIF8g
PT09ICJmdW5jdGlvbiIgPyBfIDogQXJyYXkuaXNBcnJheShfKSA/IGNvbnN0YW50JDYoc2xpY2Uk
My5jYWxsKF8pKSA6IGNvbnN0YW50JDYoXyksIGNvbnRvdXJzKSA6IHRocmVzaG9sZDsKKyAgfTsK
KworICBjb250b3Vycy5zbW9vdGggPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAoc21vb3RoID0gXyA/IHNtb290aExpbmVhciA6IG5vb3AkMSwgY29udG91cnMp
IDogc21vb3RoID09PSBzbW9vdGhMaW5lYXI7CisgIH07CisKKyAgcmV0dXJuIGNvbnRvdXJzOwor
fQorCisvLyBUT0RPIE9wdGltaXplIGVkZ2UgY2FzZXMuCisvLyBUT0RPIE9wdGltaXplIGluZGV4
IGNhbGN1bGF0aW9uLgorLy8gVE9ETyBPcHRpbWl6ZSBhcmd1bWVudHMuCitmdW5jdGlvbiBibHVy
WChzb3VyY2UsIHRhcmdldCwgcikgeworICB2YXIgbiA9IHNvdXJjZS53aWR0aCwKKyAgICAgIG0g
PSBzb3VyY2UuaGVpZ2h0LAorICAgICAgdyA9IChyIDw8IDEpICsgMTsKKyAgZm9yICh2YXIgaiA9
IDA7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBpID0gMCwgc3IgPSAwOyBpIDwgbiArIHI7
ICsraSkgeworICAgICAgaWYgKGkgPCBuKSB7CisgICAgICAgIHNyICs9IHNvdXJjZS5kYXRhW2kg
KyBqICogbl07CisgICAgICB9CisgICAgICBpZiAoaSA+PSByKSB7CisgICAgICAgIGlmIChpID49
IHcpIHsKKyAgICAgICAgICBzciAtPSBzb3VyY2UuZGF0YVtpIC0gdyArIGogKiBuXTsKKyAgICAg
ICAgfQorICAgICAgICB0YXJnZXQuZGF0YVtpIC0gciArIGogKiBuXSA9IHNyIC8gTWF0aC5taW4o
aSArIDEsIG4gLSAxICsgdyAtIGksIHcpOworICAgICAgfQorICAgIH0KKyAgfQorfQorCisvLyBU
T0RPIE9wdGltaXplIGVkZ2UgY2FzZXMuCisvLyBUT0RPIE9wdGltaXplIGluZGV4IGNhbGN1bGF0
aW9uLgorLy8gVE9ETyBPcHRpbWl6ZSBhcmd1bWVudHMuCitmdW5jdGlvbiBibHVyWShzb3VyY2Us
IHRhcmdldCwgcikgeworICB2YXIgbiA9IHNvdXJjZS53aWR0aCwKKyAgICAgIG0gPSBzb3VyY2Uu
aGVpZ2h0LAorICAgICAgdyA9IChyIDw8IDEpICsgMTsKKyAgZm9yICh2YXIgaSA9IDA7IGkgPCBu
OyArK2kpIHsKKyAgICBmb3IgKHZhciBqID0gMCwgc3IgPSAwOyBqIDwgbSArIHI7ICsraikgewor
ICAgICAgaWYgKGogPCBtKSB7CisgICAgICAgIHNyICs9IHNvdXJjZS5kYXRhW2kgKyBqICogbl07
CisgICAgICB9CisgICAgICBpZiAoaiA+PSByKSB7CisgICAgICAgIGlmIChqID49IHcpIHsKKyAg
ICAgICAgICBzciAtPSBzb3VyY2UuZGF0YVtpICsgKGogLSB3KSAqIG5dOworICAgICAgICB9Cisg
ICAgICAgIHRhcmdldC5kYXRhW2kgKyAoaiAtIHIpICogbl0gPSBzciAvIE1hdGgubWluKGogKyAx
LCBtIC0gMSArIHcgLSBqLCB3KTsKKyAgICAgIH0KKyAgICB9CisgIH0KK30KKworZnVuY3Rpb24g
ZGVmYXVsdFgoZCkgeworICByZXR1cm4gZFswXTsKK30KKworZnVuY3Rpb24gZGVmYXVsdFkoZCkg
eworICByZXR1cm4gZFsxXTsKK30KKworZnVuY3Rpb24gZGVmYXVsdFdlaWdodCgpIHsKKyAgcmV0
dXJuIDE7Cit9CisKK2Z1bmN0aW9uIGRlbnNpdHkoKSB7CisgIHZhciB4ID0gZGVmYXVsdFgsCisg
ICAgICB5ID0gZGVmYXVsdFksCisgICAgICB3ZWlnaHQgPSBkZWZhdWx0V2VpZ2h0LAorICAgICAg
ZHggPSA5NjAsCisgICAgICBkeSA9IDUwMCwKKyAgICAgIHIgPSAyMCwgLy8gYmx1ciByYWRpdXMK
KyAgICAgIGsgPSAyLCAvLyBsb2cyKGdyaWQgY2VsbCBzaXplKQorICAgICAgbyA9IHIgKiAzLCAv
LyBncmlkIG9mZnNldCwgdG8gcGFkIGZvciBibHVyCisgICAgICBuID0gKGR4ICsgbyAqIDIpID4+
IGssIC8vIGdyaWQgd2lkdGgKKyAgICAgIG0gPSAoZHkgKyBvICogMikgPj4gaywgLy8gZ3JpZCBo
ZWlnaHQKKyAgICAgIHRocmVzaG9sZCA9IGNvbnN0YW50JDYoMjApOworCisgIGZ1bmN0aW9uIGRl
bnNpdHkoZGF0YSkgeworICAgIHZhciB2YWx1ZXMwID0gbmV3IEZsb2F0MzJBcnJheShuICogbSks
CisgICAgICAgIHZhbHVlczEgPSBuZXcgRmxvYXQzMkFycmF5KG4gKiBtKTsKKworICAgIGRhdGEu
Zm9yRWFjaChmdW5jdGlvbihkLCBpLCBkYXRhKSB7CisgICAgICB2YXIgeGkgPSAoK3goZCwgaSwg
ZGF0YSkgKyBvKSA+PiBrLAorICAgICAgICAgIHlpID0gKCt5KGQsIGksIGRhdGEpICsgbykgPj4g
aywKKyAgICAgICAgICB3aSA9ICt3ZWlnaHQoZCwgaSwgZGF0YSk7CisgICAgICBpZiAoeGkgPj0g
MCAmJiB4aSA8IG4gJiYgeWkgPj0gMCAmJiB5aSA8IG0pIHsKKyAgICAgICAgdmFsdWVzMFt4aSAr
IHlpICogbl0gKz0gd2k7CisgICAgICB9CisgICAgfSk7CisKKyAgICAvLyBUT0RPIE9wdGltaXpl
LgorICAgIGJsdXJYKHt3aWR0aDogbiwgaGVpZ2h0OiBtLCBkYXRhOiB2YWx1ZXMwfSwge3dpZHRo
OiBuLCBoZWlnaHQ6IG0sIGRhdGE6IHZhbHVlczF9LCByID4+IGspOworICAgIGJsdXJZKHt3aWR0
aDogbiwgaGVpZ2h0OiBtLCBkYXRhOiB2YWx1ZXMxfSwge3dpZHRoOiBuLCBoZWlnaHQ6IG0sIGRh
dGE6IHZhbHVlczB9LCByID4+IGspOworICAgIGJsdXJYKHt3aWR0aDogbiwgaGVpZ2h0OiBtLCBk
YXRhOiB2YWx1ZXMwfSwge3dpZHRoOiBuLCBoZWlnaHQ6IG0sIGRhdGE6IHZhbHVlczF9LCByID4+
IGspOworICAgIGJsdXJZKHt3aWR0aDogbiwgaGVpZ2h0OiBtLCBkYXRhOiB2YWx1ZXMxfSwge3dp
ZHRoOiBuLCBoZWlnaHQ6IG0sIGRhdGE6IHZhbHVlczB9LCByID4+IGspOworICAgIGJsdXJYKHt3
aWR0aDogbiwgaGVpZ2h0OiBtLCBkYXRhOiB2YWx1ZXMwfSwge3dpZHRoOiBuLCBoZWlnaHQ6IG0s
IGRhdGE6IHZhbHVlczF9LCByID4+IGspOworICAgIGJsdXJZKHt3aWR0aDogbiwgaGVpZ2h0OiBt
LCBkYXRhOiB2YWx1ZXMxfSwge3dpZHRoOiBuLCBoZWlnaHQ6IG0sIGRhdGE6IHZhbHVlczB9LCBy
ID4+IGspOworCisgICAgdmFyIHR6ID0gdGhyZXNob2xkKHZhbHVlczApOworCisgICAgLy8gQ29u
dmVydCBudW1iZXIgb2YgdGhyZXNob2xkcyBpbnRvIHVuaWZvcm0gdGhyZXNob2xkcy4KKyAgICBp
ZiAoIUFycmF5LmlzQXJyYXkodHopKSB7CisgICAgICB2YXIgc3RvcCA9IG1heCh2YWx1ZXMwKTsK
KyAgICAgIHR6ID0gdGlja1N0ZXAoMCwgc3RvcCwgdHopOworICAgICAgdHogPSBzZXF1ZW5jZSgw
LCBNYXRoLmZsb29yKHN0b3AgLyB0eikgKiB0eiwgdHopOworICAgICAgdHouc2hpZnQoKTsKKyAg
ICB9CisKKyAgICByZXR1cm4gY29udG91cnMoKQorICAgICAgICAudGhyZXNob2xkcyh0eikKKyAg
ICAgICAgLnNpemUoW24sIG1dKQorICAgICAgKHZhbHVlczApCisgICAgICAgIC5tYXAodHJhbnNm
b3JtKTsKKyAgfQorCisgIGZ1bmN0aW9uIHRyYW5zZm9ybShnZW9tZXRyeSkgeworICAgIGdlb21l
dHJ5LnZhbHVlICo9IE1hdGgucG93KDIsIC0yICogayk7IC8vIERlbnNpdHkgaW4gcG9pbnRzIHBl
ciBzcXVhcmUgcGl4ZWwuCisgICAgZ2VvbWV0cnkuY29vcmRpbmF0ZXMuZm9yRWFjaCh0cmFuc2Zv
cm1Qb2x5Z29uKTsKKyAgICByZXR1cm4gZ2VvbWV0cnk7CisgIH0KKworICBmdW5jdGlvbiB0cmFu
c2Zvcm1Qb2x5Z29uKGNvb3JkaW5hdGVzKSB7CisgICAgY29vcmRpbmF0ZXMuZm9yRWFjaCh0cmFu
c2Zvcm1SaW5nKTsKKyAgfQorCisgIGZ1bmN0aW9uIHRyYW5zZm9ybVJpbmcoY29vcmRpbmF0ZXMp
IHsKKyAgICBjb29yZGluYXRlcy5mb3JFYWNoKHRyYW5zZm9ybVBvaW50KTsKKyAgfQorCisgIC8v
IFRPRE8gT3B0aW1pemUuCisgIGZ1bmN0aW9uIHRyYW5zZm9ybVBvaW50KGNvb3JkaW5hdGVzKSB7
CisgICAgY29vcmRpbmF0ZXNbMF0gPSBjb29yZGluYXRlc1swXSAqIE1hdGgucG93KDIsIGspIC0g
bzsKKyAgICBjb29yZGluYXRlc1sxXSA9IGNvb3JkaW5hdGVzWzFdICogTWF0aC5wb3coMiwgaykg
LSBvOworICB9CisKKyAgZnVuY3Rpb24gcmVzaXplKCkgeworICAgIG8gPSByICogMzsKKyAgICBu
ID0gKGR4ICsgbyAqIDIpID4+IGs7CisgICAgbSA9IChkeSArIG8gKiAyKSA+PiBrOworICAgIHJl
dHVybiBkZW5zaXR5OworICB9CisKKyAgZGVuc2l0eS54ID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHggPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8g
OiBjb25zdGFudCQ2KCtfKSwgZGVuc2l0eSkgOiB4OworICB9OworCisgIGRlbnNpdHkueSA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5ID0gdHlwZW9mIF8g
PT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNigrXyksIGRlbnNpdHkpIDogeTsKKyAgfTsK
KworICBkZW5zaXR5LndlaWdodCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/ICh3ZWlnaHQgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFu
dCQ2KCtfKSwgZGVuc2l0eSkgOiB3ZWlnaHQ7CisgIH07CisKKyAgZGVuc2l0eS5zaXplID0gZnVu
Y3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIFtkeCwgZHldOwor
ICAgIHZhciBfMCA9IE1hdGguY2VpbChfWzBdKSwgXzEgPSBNYXRoLmNlaWwoX1sxXSk7CisgICAg
aWYgKCEoXzAgPj0gMCkgJiYgIShfMCA+PSAwKSkgdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHNp
emUiKTsKKyAgICByZXR1cm4gZHggPSBfMCwgZHkgPSBfMSwgcmVzaXplKCk7CisgIH07CisKKyAg
ZGVuc2l0eS5jZWxsU2l6ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5n
dGgpIHJldHVybiAxIDw8IGs7CisgICAgaWYgKCEoKF8gPSArXykgPj0gMSkpIHRocm93IG5ldyBF
cnJvcigiaW52YWxpZCBjZWxsIHNpemUiKTsKKyAgICByZXR1cm4gayA9IE1hdGguZmxvb3IoTWF0
aC5sb2coXykgLyBNYXRoLkxOMiksIHJlc2l6ZSgpOworICB9OworCisgIGRlbnNpdHkudGhyZXNo
b2xkcyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0aHJl
c2hvbGQgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBBcnJheS5pc0FycmF5KF8pID8g
Y29uc3RhbnQkNihzbGljZSQzLmNhbGwoXykpIDogY29uc3RhbnQkNihfKSwgZGVuc2l0eSkgOiB0
aHJlc2hvbGQ7CisgIH07CisKKyAgZGVuc2l0eS5iYW5kd2lkdGggPSBmdW5jdGlvbihfKSB7Cisg
ICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gTWF0aC5zcXJ0KHIgKiAociArIDEpKTsK
KyAgICBpZiAoISgoXyA9ICtfKSA+PSAwKSkgdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGJhbmR3
aWR0aCIpOworICAgIHJldHVybiByID0gTWF0aC5yb3VuZCgoTWF0aC5zcXJ0KDQgKiBfICogXyAr
IDEpIC0gMSkgLyAyKSwgcmVzaXplKCk7CisgIH07CisKKyAgcmV0dXJuIGRlbnNpdHk7Cit9CisK
K3ZhciBFT0wgPSB7fSwKKyAgICBFT0YgPSB7fSwKKyAgICBRVU9URSA9IDM0LAorICAgIE5FV0xJ
TkUgPSAxMCwKKyAgICBSRVRVUk4gPSAxMzsKKworZnVuY3Rpb24gb2JqZWN0Q29udmVydGVyKGNv
bHVtbnMpIHsKKyAgcmV0dXJuIG5ldyBGdW5jdGlvbigiZCIsICJyZXR1cm4geyIgKyBjb2x1bW5z
Lm1hcChmdW5jdGlvbihuYW1lLCBpKSB7CisgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG5hbWUp
ICsgIjogZFsiICsgaSArICJdIHx8IFwiXCIiOworICB9KS5qb2luKCIsIikgKyAifSIpOworfQor
CitmdW5jdGlvbiBjdXN0b21Db252ZXJ0ZXIoY29sdW1ucywgZikgeworICB2YXIgb2JqZWN0ID0g
b2JqZWN0Q29udmVydGVyKGNvbHVtbnMpOworICByZXR1cm4gZnVuY3Rpb24ocm93LCBpKSB7Cisg
ICAgcmV0dXJuIGYob2JqZWN0KHJvdyksIGksIGNvbHVtbnMpOworICB9OworfQorCisvLyBDb21w
dXRlIHVuaXF1ZSBjb2x1bW5zIGluIG9yZGVyIG9mIGRpc2NvdmVyeS4KK2Z1bmN0aW9uIGluZmVy
Q29sdW1ucyhyb3dzKSB7CisgIHZhciBjb2x1bW5TZXQgPSBPYmplY3QuY3JlYXRlKG51bGwpLAor
ICAgICAgY29sdW1ucyA9IFtdOworCisgIHJvd3MuZm9yRWFjaChmdW5jdGlvbihyb3cpIHsKKyAg
ICBmb3IgKHZhciBjb2x1bW4gaW4gcm93KSB7CisgICAgICBpZiAoIShjb2x1bW4gaW4gY29sdW1u
U2V0KSkgeworICAgICAgICBjb2x1bW5zLnB1c2goY29sdW1uU2V0W2NvbHVtbl0gPSBjb2x1bW4p
OworICAgICAgfQorICAgIH0KKyAgfSk7CisKKyAgcmV0dXJuIGNvbHVtbnM7Cit9CisKK2Z1bmN0
aW9uIHBhZCh2YWx1ZSwgd2lkdGgpIHsKKyAgdmFyIHMgPSB2YWx1ZSArICIiLCBsZW5ndGggPSBz
Lmxlbmd0aDsKKyAgcmV0dXJuIGxlbmd0aCA8IHdpZHRoID8gbmV3IEFycmF5KHdpZHRoIC0gbGVu
Z3RoICsgMSkuam9pbigwKSArIHMgOiBzOworfQorCitmdW5jdGlvbiBmb3JtYXRZZWFyKHllYXIp
IHsKKyAgcmV0dXJuIHllYXIgPCAwID8gIi0iICsgcGFkKC15ZWFyLCA2KQorICAgIDogeWVhciA+
IDk5OTkgPyAiKyIgKyBwYWQoeWVhciwgNikKKyAgICA6IHBhZCh5ZWFyLCA0KTsKK30KKworZnVu
Y3Rpb24gZm9ybWF0RGF0ZShkYXRlKSB7CisgIHZhciBob3VycyA9IGRhdGUuZ2V0VVRDSG91cnMo
KSwKKyAgICAgIG1pbnV0ZXMgPSBkYXRlLmdldFVUQ01pbnV0ZXMoKSwKKyAgICAgIHNlY29uZHMg
PSBkYXRlLmdldFVUQ1NlY29uZHMoKSwKKyAgICAgIG1pbGxpc2Vjb25kcyA9IGRhdGUuZ2V0VVRD
TWlsbGlzZWNvbmRzKCk7CisgIHJldHVybiBpc05hTihkYXRlKSA/ICJJbnZhbGlkIERhdGUiCisg
ICAgICA6IGZvcm1hdFllYXIoZGF0ZS5nZXRVVENGdWxsWWVhcigpKSArICItIiArIHBhZChkYXRl
LmdldFVUQ01vbnRoKCkgKyAxLCAyKSArICItIiArIHBhZChkYXRlLmdldFVUQ0RhdGUoKSwgMikK
KyAgICAgICsgKG1pbGxpc2Vjb25kcyA/ICJUIiArIHBhZChob3VycywgMikgKyAiOiIgKyBwYWQo
bWludXRlcywgMikgKyAiOiIgKyBwYWQoc2Vjb25kcywgMikgKyAiLiIgKyBwYWQobWlsbGlzZWNv
bmRzLCAzKSArICJaIgorICAgICAgOiBzZWNvbmRzID8gIlQiICsgcGFkKGhvdXJzLCAyKSArICI6
IiArIHBhZChtaW51dGVzLCAyKSArICI6IiArIHBhZChzZWNvbmRzLCAyKSArICJaIgorICAgICAg
OiBtaW51dGVzIHx8IGhvdXJzID8gIlQiICsgcGFkKGhvdXJzLCAyKSArICI6IiArIHBhZChtaW51
dGVzLCAyKSArICJaIgorICAgICAgOiAiIik7Cit9CisKK2Z1bmN0aW9uIGRzdkZvcm1hdChkZWxp
bWl0ZXIpIHsKKyAgdmFyIHJlRm9ybWF0ID0gbmV3IFJlZ0V4cCgiW1wiIiArIGRlbGltaXRlciAr
ICJcblxyXSIpLAorICAgICAgREVMSU1JVEVSID0gZGVsaW1pdGVyLmNoYXJDb2RlQXQoMCk7CisK
KyAgZnVuY3Rpb24gcGFyc2UodGV4dCwgZikgeworICAgIHZhciBjb252ZXJ0LCBjb2x1bW5zLCBy
b3dzID0gcGFyc2VSb3dzKHRleHQsIGZ1bmN0aW9uKHJvdywgaSkgeworICAgICAgaWYgKGNvbnZl
cnQpIHJldHVybiBjb252ZXJ0KHJvdywgaSAtIDEpOworICAgICAgY29sdW1ucyA9IHJvdywgY29u
dmVydCA9IGYgPyBjdXN0b21Db252ZXJ0ZXIocm93LCBmKSA6IG9iamVjdENvbnZlcnRlcihyb3cp
OworICAgIH0pOworICAgIHJvd3MuY29sdW1ucyA9IGNvbHVtbnMgfHwgW107CisgICAgcmV0dXJu
IHJvd3M7CisgIH0KKworICBmdW5jdGlvbiBwYXJzZVJvd3ModGV4dCwgZikgeworICAgIHZhciBy
b3dzID0gW10sIC8vIG91dHB1dCByb3dzCisgICAgICAgIE4gPSB0ZXh0Lmxlbmd0aCwKKyAgICAg
ICAgSSA9IDAsIC8vIGN1cnJlbnQgY2hhcmFjdGVyIGluZGV4CisgICAgICAgIG4gPSAwLCAvLyBj
dXJyZW50IGxpbmUgbnVtYmVyCisgICAgICAgIHQsIC8vIGN1cnJlbnQgdG9rZW4KKyAgICAgICAg
ZW9mID0gTiA8PSAwLCAvLyBjdXJyZW50IHRva2VuIGZvbGxvd2VkIGJ5IEVPRj8KKyAgICAgICAg
ZW9sID0gZmFsc2U7IC8vIGN1cnJlbnQgdG9rZW4gZm9sbG93ZWQgYnkgRU9MPworCisgICAgLy8g
U3RyaXAgdGhlIHRyYWlsaW5nIG5ld2xpbmUuCisgICAgaWYgKHRleHQuY2hhckNvZGVBdChOIC0g
MSkgPT09IE5FV0xJTkUpIC0tTjsKKyAgICBpZiAodGV4dC5jaGFyQ29kZUF0KE4gLSAxKSA9PT0g
UkVUVVJOKSAtLU47CisKKyAgICBmdW5jdGlvbiB0b2tlbigpIHsKKyAgICAgIGlmIChlb2YpIHJl
dHVybiBFT0Y7CisgICAgICBpZiAoZW9sKSByZXR1cm4gZW9sID0gZmFsc2UsIEVPTDsKKworICAg
ICAgLy8gVW5lc2NhcGUgcXVvdGVzLgorICAgICAgdmFyIGksIGogPSBJLCBjOworICAgICAgaWYg
KHRleHQuY2hhckNvZGVBdChqKSA9PT0gUVVPVEUpIHsKKyAgICAgICAgd2hpbGUgKEkrKyA8IE4g
JiYgdGV4dC5jaGFyQ29kZUF0KEkpICE9PSBRVU9URSB8fCB0ZXh0LmNoYXJDb2RlQXQoKytJKSA9
PT0gUVVPVEUpOworICAgICAgICBpZiAoKGkgPSBJKSA+PSBOKSBlb2YgPSB0cnVlOworICAgICAg
ICBlbHNlIGlmICgoYyA9IHRleHQuY2hhckNvZGVBdChJKyspKSA9PT0gTkVXTElORSkgZW9sID0g
dHJ1ZTsKKyAgICAgICAgZWxzZSBpZiAoYyA9PT0gUkVUVVJOKSB7IGVvbCA9IHRydWU7IGlmICh0
ZXh0LmNoYXJDb2RlQXQoSSkgPT09IE5FV0xJTkUpICsrSTsgfQorICAgICAgICByZXR1cm4gdGV4
dC5zbGljZShqICsgMSwgaSAtIDEpLnJlcGxhY2UoLyIiL2csICJcIiIpOworICAgICAgfQorCisg
ICAgICAvLyBGaW5kIG5leHQgZGVsaW1pdGVyIG9yIG5ld2xpbmUuCisgICAgICB3aGlsZSAoSSA8
IE4pIHsKKyAgICAgICAgaWYgKChjID0gdGV4dC5jaGFyQ29kZUF0KGkgPSBJKyspKSA9PT0gTkVX
TElORSkgZW9sID0gdHJ1ZTsKKyAgICAgICAgZWxzZSBpZiAoYyA9PT0gUkVUVVJOKSB7IGVvbCA9
IHRydWU7IGlmICh0ZXh0LmNoYXJDb2RlQXQoSSkgPT09IE5FV0xJTkUpICsrSTsgfQorICAgICAg
ICBlbHNlIGlmIChjICE9PSBERUxJTUlURVIpIGNvbnRpbnVlOworICAgICAgICByZXR1cm4gdGV4
dC5zbGljZShqLCBpKTsKKyAgICAgIH0KKworICAgICAgLy8gUmV0dXJuIGxhc3QgdG9rZW4gYmVm
b3JlIEVPRi4KKyAgICAgIHJldHVybiBlb2YgPSB0cnVlLCB0ZXh0LnNsaWNlKGosIE4pOworICAg
IH0KKworICAgIHdoaWxlICgodCA9IHRva2VuKCkpICE9PSBFT0YpIHsKKyAgICAgIHZhciByb3cg
PSBbXTsKKyAgICAgIHdoaWxlICh0ICE9PSBFT0wgJiYgdCAhPT0gRU9GKSByb3cucHVzaCh0KSwg
dCA9IHRva2VuKCk7CisgICAgICBpZiAoZiAmJiAocm93ID0gZihyb3csIG4rKykpID09IG51bGwp
IGNvbnRpbnVlOworICAgICAgcm93cy5wdXNoKHJvdyk7CisgICAgfQorCisgICAgcmV0dXJuIHJv
d3M7CisgIH0KKworICBmdW5jdGlvbiBwcmVmb3JtYXRCb2R5KHJvd3MsIGNvbHVtbnMpIHsKKyAg
ICByZXR1cm4gcm93cy5tYXAoZnVuY3Rpb24ocm93KSB7CisgICAgICByZXR1cm4gY29sdW1ucy5t
YXAoZnVuY3Rpb24oY29sdW1uKSB7CisgICAgICAgIHJldHVybiBmb3JtYXRWYWx1ZShyb3dbY29s
dW1uXSk7CisgICAgICB9KS5qb2luKGRlbGltaXRlcik7CisgICAgfSk7CisgIH0KKworICBmdW5j
dGlvbiBmb3JtYXQocm93cywgY29sdW1ucykgeworICAgIGlmIChjb2x1bW5zID09IG51bGwpIGNv
bHVtbnMgPSBpbmZlckNvbHVtbnMocm93cyk7CisgICAgcmV0dXJuIFtjb2x1bW5zLm1hcChmb3Jt
YXRWYWx1ZSkuam9pbihkZWxpbWl0ZXIpXS5jb25jYXQocHJlZm9ybWF0Qm9keShyb3dzLCBjb2x1
bW5zKSkuam9pbigiXG4iKTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdEJvZHkocm93cywgY29s
dW1ucykgeworICAgIGlmIChjb2x1bW5zID09IG51bGwpIGNvbHVtbnMgPSBpbmZlckNvbHVtbnMo
cm93cyk7CisgICAgcmV0dXJuIHByZWZvcm1hdEJvZHkocm93cywgY29sdW1ucykuam9pbigiXG4i
KTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFJvd3Mocm93cykgeworICAgIHJldHVybiByb3dz
Lm1hcChmb3JtYXRSb3cpLmpvaW4oIlxuIik7CisgIH0KKworICBmdW5jdGlvbiBmb3JtYXRSb3co
cm93KSB7CisgICAgcmV0dXJuIHJvdy5tYXAoZm9ybWF0VmFsdWUpLmpvaW4oZGVsaW1pdGVyKTsK
KyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFZhbHVlKHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVl
ID09IG51bGwgPyAiIgorICAgICAgICA6IHZhbHVlIGluc3RhbmNlb2YgRGF0ZSA/IGZvcm1hdERh
dGUodmFsdWUpCisgICAgICAgIDogcmVGb3JtYXQudGVzdCh2YWx1ZSArPSAiIikgPyAiXCIiICsg
dmFsdWUucmVwbGFjZSgvIi9nLCAiXCJcIiIpICsgIlwiIgorICAgICAgICA6IHZhbHVlOworICB9
CisKKyAgcmV0dXJuIHsKKyAgICBwYXJzZTogcGFyc2UsCisgICAgcGFyc2VSb3dzOiBwYXJzZVJv
d3MsCisgICAgZm9ybWF0OiBmb3JtYXQsCisgICAgZm9ybWF0Qm9keTogZm9ybWF0Qm9keSwKKyAg
ICBmb3JtYXRSb3dzOiBmb3JtYXRSb3dzLAorICAgIGZvcm1hdFJvdzogZm9ybWF0Um93LAorICAg
IGZvcm1hdFZhbHVlOiBmb3JtYXRWYWx1ZQorICB9OworfQorCit2YXIgY3N2ID0gZHN2Rm9ybWF0
KCIsIik7CisKK3ZhciBjc3ZQYXJzZSA9IGNzdi5wYXJzZTsKK3ZhciBjc3ZQYXJzZVJvd3MgPSBj
c3YucGFyc2VSb3dzOwordmFyIGNzdkZvcm1hdCA9IGNzdi5mb3JtYXQ7Cit2YXIgY3N2Rm9ybWF0
Qm9keSA9IGNzdi5mb3JtYXRCb2R5OwordmFyIGNzdkZvcm1hdFJvd3MgPSBjc3YuZm9ybWF0Um93
czsKK3ZhciBjc3ZGb3JtYXRSb3cgPSBjc3YuZm9ybWF0Um93OwordmFyIGNzdkZvcm1hdFZhbHVl
ID0gY3N2LmZvcm1hdFZhbHVlOworCit2YXIgdHN2ID0gZHN2Rm9ybWF0KCJcdCIpOworCit2YXIg
dHN2UGFyc2UgPSB0c3YucGFyc2U7Cit2YXIgdHN2UGFyc2VSb3dzID0gdHN2LnBhcnNlUm93czsK
K3ZhciB0c3ZGb3JtYXQgPSB0c3YuZm9ybWF0OwordmFyIHRzdkZvcm1hdEJvZHkgPSB0c3YuZm9y
bWF0Qm9keTsKK3ZhciB0c3ZGb3JtYXRSb3dzID0gdHN2LmZvcm1hdFJvd3M7Cit2YXIgdHN2Rm9y
bWF0Um93ID0gdHN2LmZvcm1hdFJvdzsKK3ZhciB0c3ZGb3JtYXRWYWx1ZSA9IHRzdi5mb3JtYXRW
YWx1ZTsKKworZnVuY3Rpb24gYXV0b1R5cGUob2JqZWN0KSB7CisgIGZvciAodmFyIGtleSBpbiBv
YmplY3QpIHsKKyAgICB2YXIgdmFsdWUgPSBvYmplY3Rba2V5XS50cmltKCksIG51bWJlciwgbTsK
KyAgICBpZiAoIXZhbHVlKSB2YWx1ZSA9IG51bGw7CisgICAgZWxzZSBpZiAodmFsdWUgPT09ICJ0
cnVlIikgdmFsdWUgPSB0cnVlOworICAgIGVsc2UgaWYgKHZhbHVlID09PSAiZmFsc2UiKSB2YWx1
ZSA9IGZhbHNlOworICAgIGVsc2UgaWYgKHZhbHVlID09PSAiTmFOIikgdmFsdWUgPSBOYU47Cisg
ICAgZWxzZSBpZiAoIWlzTmFOKG51bWJlciA9ICt2YWx1ZSkpIHZhbHVlID0gbnVtYmVyOworICAg
IGVsc2UgaWYgKG0gPSB2YWx1ZS5tYXRjaCgvXihbLStdXGR7Mn0pP1xkezR9KC1cZHsyfSgtXGR7
Mn0pPyk/KFRcZHsyfTpcZHsyfSg6XGR7Mn0oXC5cZHszfSk/KT8oWnxbLStdXGR7Mn06XGR7Mn0p
Pyk/JC8pKSB7CisgICAgICBpZiAoZml4dHogJiYgISFtWzRdICYmICFtWzddKSB2YWx1ZSA9IHZh
bHVlLnJlcGxhY2UoLy0vZywgIi8iKS5yZXBsYWNlKC9ULywgIiAiKTsKKyAgICAgIHZhbHVlID0g
bmV3IERhdGUodmFsdWUpOworICAgIH0KKyAgICBlbHNlIGNvbnRpbnVlOworICAgIG9iamVjdFtr
ZXldID0gdmFsdWU7CisgIH0KKyAgcmV0dXJuIG9iamVjdDsKK30KKworLy8gaHR0cHM6Ly9naXRo
dWIuY29tL2QzL2QzLWRzdi9pc3N1ZXMvNDUKK3ZhciBmaXh0eiA9IG5ldyBEYXRlKCIyMDE5LTAx
LTAxVDAwOjAwIikuZ2V0SG91cnMoKSB8fCBuZXcgRGF0ZSgiMjAxOS0wNy0wMVQwMDowMCIpLmdl
dEhvdXJzKCk7CisKK2Z1bmN0aW9uIHJlc3BvbnNlQmxvYihyZXNwb25zZSkgeworICBpZiAoIXJl
c3BvbnNlLm9rKSB0aHJvdyBuZXcgRXJyb3IocmVzcG9uc2Uuc3RhdHVzICsgIiAiICsgcmVzcG9u
c2Uuc3RhdHVzVGV4dCk7CisgIHJldHVybiByZXNwb25zZS5ibG9iKCk7Cit9CisKK2Z1bmN0aW9u
IGJsb2IoaW5wdXQsIGluaXQpIHsKKyAgcmV0dXJuIGZldGNoKGlucHV0LCBpbml0KS50aGVuKHJl
c3BvbnNlQmxvYik7Cit9CisKK2Z1bmN0aW9uIHJlc3BvbnNlQXJyYXlCdWZmZXIocmVzcG9uc2Up
IHsKKyAgaWYgKCFyZXNwb25zZS5vaykgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLnN0YXR1cyAr
ICIgIiArIHJlc3BvbnNlLnN0YXR1c1RleHQpOworICByZXR1cm4gcmVzcG9uc2UuYXJyYXlCdWZm
ZXIoKTsKK30KKworZnVuY3Rpb24gYnVmZmVyKGlucHV0LCBpbml0KSB7CisgIHJldHVybiBmZXRj
aChpbnB1dCwgaW5pdCkudGhlbihyZXNwb25zZUFycmF5QnVmZmVyKTsKK30KKworZnVuY3Rpb24g
cmVzcG9uc2VUZXh0KHJlc3BvbnNlKSB7CisgIGlmICghcmVzcG9uc2Uub2spIHRocm93IG5ldyBF
cnJvcihyZXNwb25zZS5zdGF0dXMgKyAiICIgKyByZXNwb25zZS5zdGF0dXNUZXh0KTsKKyAgcmV0
dXJuIHJlc3BvbnNlLnRleHQoKTsKK30KKworZnVuY3Rpb24gdGV4dChpbnB1dCwgaW5pdCkgewor
ICByZXR1cm4gZmV0Y2goaW5wdXQsIGluaXQpLnRoZW4ocmVzcG9uc2VUZXh0KTsKK30KKworZnVu
Y3Rpb24gZHN2UGFyc2UocGFyc2UpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKGlucHV0LCBpbml0LCBy
b3cpIHsKKyAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB0eXBlb2YgaW5pdCA9PT0g
ImZ1bmN0aW9uIikgcm93ID0gaW5pdCwgaW5pdCA9IHVuZGVmaW5lZDsKKyAgICByZXR1cm4gdGV4
dChpbnB1dCwgaW5pdCkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgeworICAgICAgcmV0dXJuIHBh
cnNlKHJlc3BvbnNlLCByb3cpOworICAgIH0pOworICB9OworfQorCitmdW5jdGlvbiBkc3YoZGVs
aW1pdGVyLCBpbnB1dCwgaW5pdCwgcm93KSB7CisgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAz
ICYmIHR5cGVvZiBpbml0ID09PSAiZnVuY3Rpb24iKSByb3cgPSBpbml0LCBpbml0ID0gdW5kZWZp
bmVkOworICB2YXIgZm9ybWF0ID0gZHN2Rm9ybWF0KGRlbGltaXRlcik7CisgIHJldHVybiB0ZXh0
KGlucHV0LCBpbml0KS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CisgICAgcmV0dXJuIGZvcm1h
dC5wYXJzZShyZXNwb25zZSwgcm93KTsKKyAgfSk7Cit9CisKK3ZhciBjc3YkMSA9IGRzdlBhcnNl
KGNzdlBhcnNlKTsKK3ZhciB0c3YkMSA9IGRzdlBhcnNlKHRzdlBhcnNlKTsKKworZnVuY3Rpb24g
aW1hZ2UoaW5wdXQsIGluaXQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29s
dmUsIHJlamVjdCkgeworICAgIHZhciBpbWFnZSA9IG5ldyBJbWFnZTsKKyAgICBmb3IgKHZhciBr
ZXkgaW4gaW5pdCkgaW1hZ2Vba2V5XSA9IGluaXRba2V5XTsKKyAgICBpbWFnZS5vbmVycm9yID0g
cmVqZWN0OworICAgIGltYWdlLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeyByZXNvbHZlKGltYWdlKTsg
fTsKKyAgICBpbWFnZS5zcmMgPSBpbnB1dDsKKyAgfSk7Cit9CisKK2Z1bmN0aW9uIHJlc3BvbnNl
SnNvbihyZXNwb25zZSkgeworICBpZiAoIXJlc3BvbnNlLm9rKSB0aHJvdyBuZXcgRXJyb3IocmVz
cG9uc2Uuc3RhdHVzICsgIiAiICsgcmVzcG9uc2Uuc3RhdHVzVGV4dCk7CisgIHJldHVybiByZXNw
b25zZS5qc29uKCk7Cit9CisKK2Z1bmN0aW9uIGpzb24oaW5wdXQsIGluaXQpIHsKKyAgcmV0dXJu
IGZldGNoKGlucHV0LCBpbml0KS50aGVuKHJlc3BvbnNlSnNvbik7Cit9CisKK2Z1bmN0aW9uIHBh
cnNlcih0eXBlKSB7CisgIHJldHVybiBmdW5jdGlvbihpbnB1dCwgaW5pdCkgIHsKKyAgICByZXR1
cm4gdGV4dChpbnB1dCwgaW5pdCkudGhlbihmdW5jdGlvbih0ZXh0KSB7CisgICAgICByZXR1cm4g
KG5ldyBET01QYXJzZXIpLnBhcnNlRnJvbVN0cmluZyh0ZXh0LCB0eXBlKTsKKyAgICB9KTsKKyAg
fTsKK30KKwordmFyIHhtbCA9IHBhcnNlcigiYXBwbGljYXRpb24veG1sIik7CisKK3ZhciBodG1s
ID0gcGFyc2VyKCJ0ZXh0L2h0bWwiKTsKKwordmFyIHN2ZyA9IHBhcnNlcigiaW1hZ2Uvc3ZnK3ht
bCIpOworCitmdW5jdGlvbiBjZW50ZXIkMSh4LCB5KSB7CisgIHZhciBub2RlczsKKworICBpZiAo
eCA9PSBudWxsKSB4ID0gMDsKKyAgaWYgKHkgPT0gbnVsbCkgeSA9IDA7CisKKyAgZnVuY3Rpb24g
Zm9yY2UoKSB7CisgICAgdmFyIGksCisgICAgICAgIG4gPSBub2Rlcy5sZW5ndGgsCisgICAgICAg
IG5vZGUsCisgICAgICAgIHN4ID0gMCwKKyAgICAgICAgc3kgPSAwOworCisgICAgZm9yIChpID0g
MDsgaSA8IG47ICsraSkgeworICAgICAgbm9kZSA9IG5vZGVzW2ldLCBzeCArPSBub2RlLngsIHN5
ICs9IG5vZGUueTsKKyAgICB9CisKKyAgICBmb3IgKHN4ID0gc3ggLyBuIC0geCwgc3kgPSBzeSAv
IG4gLSB5LCBpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgbm9kZSA9IG5vZGVzW2ldLCBub2Rl
LnggLT0gc3gsIG5vZGUueSAtPSBzeTsKKyAgICB9CisgIH0KKworICBmb3JjZS5pbml0aWFsaXpl
ID0gZnVuY3Rpb24oXykgeworICAgIG5vZGVzID0gXzsKKyAgfTsKKworICBmb3JjZS54ID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHggPSArXywgZm9yY2Up
IDogeDsKKyAgfTsKKworICBmb3JjZS55ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gKHkgPSArXywgZm9yY2UpIDogeTsKKyAgfTsKKworICByZXR1cm4gZm9y
Y2U7Cit9CisKK2Z1bmN0aW9uIGNvbnN0YW50JDcoeCkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7
CisgICAgcmV0dXJuIHg7CisgIH07Cit9CisKK2Z1bmN0aW9uIGppZ2dsZSgpIHsKKyAgcmV0dXJu
IChNYXRoLnJhbmRvbSgpIC0gMC41KSAqIDFlLTY7Cit9CisKK2Z1bmN0aW9uIHRyZWVfYWRkKGQp
IHsKKyAgdmFyIHggPSArdGhpcy5feC5jYWxsKG51bGwsIGQpLAorICAgICAgeSA9ICt0aGlzLl95
LmNhbGwobnVsbCwgZCk7CisgIHJldHVybiBhZGQodGhpcy5jb3Zlcih4LCB5KSwgeCwgeSwgZCk7
Cit9CisKK2Z1bmN0aW9uIGFkZCh0cmVlLCB4LCB5LCBkKSB7CisgIGlmIChpc05hTih4KSB8fCBp
c05hTih5KSkgcmV0dXJuIHRyZWU7IC8vIGlnbm9yZSBpbnZhbGlkIHBvaW50cworCisgIHZhciBw
YXJlbnQsCisgICAgICBub2RlID0gdHJlZS5fcm9vdCwKKyAgICAgIGxlYWYgPSB7ZGF0YTogZH0s
CisgICAgICB4MCA9IHRyZWUuX3gwLAorICAgICAgeTAgPSB0cmVlLl95MCwKKyAgICAgIHgxID0g
dHJlZS5feDEsCisgICAgICB5MSA9IHRyZWUuX3kxLAorICAgICAgeG0sCisgICAgICB5bSwKKyAg
ICAgIHhwLAorICAgICAgeXAsCisgICAgICByaWdodCwKKyAgICAgIGJvdHRvbSwKKyAgICAgIGks
CisgICAgICBqOworCisgIC8vIElmIHRoZSB0cmVlIGlzIGVtcHR5LCBpbml0aWFsaXplIHRoZSBy
b290IGFzIGEgbGVhZi4KKyAgaWYgKCFub2RlKSByZXR1cm4gdHJlZS5fcm9vdCA9IGxlYWYsIHRy
ZWU7CisKKyAgLy8gRmluZCB0aGUgZXhpc3RpbmcgbGVhZiBmb3IgdGhlIG5ldyBwb2ludCwgb3Ig
YWRkIGl0LgorICB3aGlsZSAobm9kZS5sZW5ndGgpIHsKKyAgICBpZiAocmlnaHQgPSB4ID49ICh4
bSA9ICh4MCArIHgxKSAvIDIpKSB4MCA9IHhtOyBlbHNlIHgxID0geG07CisgICAgaWYgKGJvdHRv
bSA9IHkgPj0gKHltID0gKHkwICsgeTEpIC8gMikpIHkwID0geW07IGVsc2UgeTEgPSB5bTsKKyAg
ICBpZiAocGFyZW50ID0gbm9kZSwgIShub2RlID0gbm9kZVtpID0gYm90dG9tIDw8IDEgfCByaWdo
dF0pKSByZXR1cm4gcGFyZW50W2ldID0gbGVhZiwgdHJlZTsKKyAgfQorCisgIC8vIElzIHRoZSBu
ZXcgcG9pbnQgaXMgZXhhY3RseSBjb2luY2lkZW50IHdpdGggdGhlIGV4aXN0aW5nIHBvaW50Pwor
ICB4cCA9ICt0cmVlLl94LmNhbGwobnVsbCwgbm9kZS5kYXRhKTsKKyAgeXAgPSArdHJlZS5feS5j
YWxsKG51bGwsIG5vZGUuZGF0YSk7CisgIGlmICh4ID09PSB4cCAmJiB5ID09PSB5cCkgcmV0dXJu
IGxlYWYubmV4dCA9IG5vZGUsIHBhcmVudCA/IHBhcmVudFtpXSA9IGxlYWYgOiB0cmVlLl9yb290
ID0gbGVhZiwgdHJlZTsKKworICAvLyBPdGhlcndpc2UsIHNwbGl0IHRoZSBsZWFmIG5vZGUgdW50
aWwgdGhlIG9sZCBhbmQgbmV3IHBvaW50IGFyZSBzZXBhcmF0ZWQuCisgIGRvIHsKKyAgICBwYXJl
bnQgPSBwYXJlbnQgPyBwYXJlbnRbaV0gPSBuZXcgQXJyYXkoNCkgOiB0cmVlLl9yb290ID0gbmV3
IEFycmF5KDQpOworICAgIGlmIChyaWdodCA9IHggPj0gKHhtID0gKHgwICsgeDEpIC8gMikpIHgw
ID0geG07IGVsc2UgeDEgPSB4bTsKKyAgICBpZiAoYm90dG9tID0geSA+PSAoeW0gPSAoeTAgKyB5
MSkgLyAyKSkgeTAgPSB5bTsgZWxzZSB5MSA9IHltOworICB9IHdoaWxlICgoaSA9IGJvdHRvbSA8
PCAxIHwgcmlnaHQpID09PSAoaiA9ICh5cCA+PSB5bSkgPDwgMSB8ICh4cCA+PSB4bSkpKTsKKyAg
cmV0dXJuIHBhcmVudFtqXSA9IG5vZGUsIHBhcmVudFtpXSA9IGxlYWYsIHRyZWU7Cit9CisKK2Z1
bmN0aW9uIGFkZEFsbChkYXRhKSB7CisgIHZhciBkLCBpLCBuID0gZGF0YS5sZW5ndGgsCisgICAg
ICB4LAorICAgICAgeSwKKyAgICAgIHh6ID0gbmV3IEFycmF5KG4pLAorICAgICAgeXogPSBuZXcg
QXJyYXkobiksCisgICAgICB4MCA9IEluZmluaXR5LAorICAgICAgeTAgPSBJbmZpbml0eSwKKyAg
ICAgIHgxID0gLUluZmluaXR5LAorICAgICAgeTEgPSAtSW5maW5pdHk7CisKKyAgLy8gQ29tcHV0
ZSB0aGUgcG9pbnRzIGFuZCB0aGVpciBleHRlbnQuCisgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kp
IHsKKyAgICBpZiAoaXNOYU4oeCA9ICt0aGlzLl94LmNhbGwobnVsbCwgZCA9IGRhdGFbaV0pKSB8
fCBpc05hTih5ID0gK3RoaXMuX3kuY2FsbChudWxsLCBkKSkpIGNvbnRpbnVlOworICAgIHh6W2ld
ID0geDsKKyAgICB5eltpXSA9IHk7CisgICAgaWYgKHggPCB4MCkgeDAgPSB4OworICAgIGlmICh4
ID4geDEpIHgxID0geDsKKyAgICBpZiAoeSA8IHkwKSB5MCA9IHk7CisgICAgaWYgKHkgPiB5MSkg
eTEgPSB5OworICB9CisKKyAgLy8gSWYgdGhlcmUgd2VyZSBubyAodmFsaWQpIHBvaW50cywgYWJv
cnQuCisgIGlmICh4MCA+IHgxIHx8IHkwID4geTEpIHJldHVybiB0aGlzOworCisgIC8vIEV4cGFu
ZCB0aGUgdHJlZSB0byBjb3ZlciB0aGUgbmV3IHBvaW50cy4KKyAgdGhpcy5jb3Zlcih4MCwgeTAp
LmNvdmVyKHgxLCB5MSk7CisKKyAgLy8gQWRkIHRoZSBuZXcgcG9pbnRzLgorICBmb3IgKGkgPSAw
OyBpIDwgbjsgKytpKSB7CisgICAgYWRkKHRoaXMsIHh6W2ldLCB5eltpXSwgZGF0YVtpXSk7Cisg
IH0KKworICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24gdHJlZV9jb3Zlcih4LCB5KSB7Cisg
IGlmIChpc05hTih4ID0gK3gpIHx8IGlzTmFOKHkgPSAreSkpIHJldHVybiB0aGlzOyAvLyBpZ25v
cmUgaW52YWxpZCBwb2ludHMKKworICB2YXIgeDAgPSB0aGlzLl94MCwKKyAgICAgIHkwID0gdGhp
cy5feTAsCisgICAgICB4MSA9IHRoaXMuX3gxLAorICAgICAgeTEgPSB0aGlzLl95MTsKKworICAv
LyBJZiB0aGUgcXVhZHRyZWUgaGFzIG5vIGV4dGVudCwgaW5pdGlhbGl6ZSB0aGVtLgorICAvLyBJ
bnRlZ2VyIGV4dGVudCBhcmUgbmVjZXNzYXJ5IHNvIHRoYXQgaWYgd2UgbGF0ZXIgZG91YmxlIHRo
ZSBleHRlbnQsCisgIC8vIHRoZSBleGlzdGluZyBxdWFkcmFudCBib3VuZGFyaWVzIGRvbuKAmXQg
Y2hhbmdlIGR1ZSB0byBmbG9hdGluZyBwb2ludCBlcnJvciEKKyAgaWYgKGlzTmFOKHgwKSkgewor
ICAgIHgxID0gKHgwID0gTWF0aC5mbG9vcih4KSkgKyAxOworICAgIHkxID0gKHkwID0gTWF0aC5m
bG9vcih5KSkgKyAxOworICB9CisKKyAgLy8gT3RoZXJ3aXNlLCBkb3VibGUgcmVwZWF0ZWRseSB0
byBjb3Zlci4KKyAgZWxzZSB7CisgICAgdmFyIHogPSB4MSAtIHgwLAorICAgICAgICBub2RlID0g
dGhpcy5fcm9vdCwKKyAgICAgICAgcGFyZW50LAorICAgICAgICBpOworCisgICAgd2hpbGUgKHgw
ID4geCB8fCB4ID49IHgxIHx8IHkwID4geSB8fCB5ID49IHkxKSB7CisgICAgICBpID0gKHkgPCB5
MCkgPDwgMSB8ICh4IDwgeDApOworICAgICAgcGFyZW50ID0gbmV3IEFycmF5KDQpLCBwYXJlbnRb
aV0gPSBub2RlLCBub2RlID0gcGFyZW50LCB6ICo9IDI7CisgICAgICBzd2l0Y2ggKGkpIHsKKyAg
ICAgICAgY2FzZSAwOiB4MSA9IHgwICsgeiwgeTEgPSB5MCArIHo7IGJyZWFrOworICAgICAgICBj
YXNlIDE6IHgwID0geDEgLSB6LCB5MSA9IHkwICsgejsgYnJlYWs7CisgICAgICAgIGNhc2UgMjog
eDEgPSB4MCArIHosIHkwID0geTEgLSB6OyBicmVhazsKKyAgICAgICAgY2FzZSAzOiB4MCA9IHgx
IC0geiwgeTAgPSB5MSAtIHo7IGJyZWFrOworICAgICAgfQorICAgIH0KKworICAgIGlmICh0aGlz
Ll9yb290ICYmIHRoaXMuX3Jvb3QubGVuZ3RoKSB0aGlzLl9yb290ID0gbm9kZTsKKyAgfQorCisg
IHRoaXMuX3gwID0geDA7CisgIHRoaXMuX3kwID0geTA7CisgIHRoaXMuX3gxID0geDE7CisgIHRo
aXMuX3kxID0geTE7CisgIHJldHVybiB0aGlzOworfQorCitmdW5jdGlvbiB0cmVlX2RhdGEoKSB7
CisgIHZhciBkYXRhID0gW107CisgIHRoaXMudmlzaXQoZnVuY3Rpb24obm9kZSkgeworICAgIGlm
ICghbm9kZS5sZW5ndGgpIGRvIGRhdGEucHVzaChub2RlLmRhdGEpOyB3aGlsZSAobm9kZSA9IG5v
ZGUubmV4dCkKKyAgfSk7CisgIHJldHVybiBkYXRhOworfQorCitmdW5jdGlvbiB0cmVlX2V4dGVu
dChfKSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoCisgICAgICA/IHRoaXMuY292ZXIoK19b
MF1bMF0sICtfWzBdWzFdKS5jb3ZlcigrX1sxXVswXSwgK19bMV1bMV0pCisgICAgICA6IGlzTmFO
KHRoaXMuX3gwKSA/IHVuZGVmaW5lZCA6IFtbdGhpcy5feDAsIHRoaXMuX3kwXSwgW3RoaXMuX3gx
LCB0aGlzLl95MV1dOworfQorCitmdW5jdGlvbiBRdWFkKG5vZGUsIHgwLCB5MCwgeDEsIHkxKSB7
CisgIHRoaXMubm9kZSA9IG5vZGU7CisgIHRoaXMueDAgPSB4MDsKKyAgdGhpcy55MCA9IHkwOwor
ICB0aGlzLngxID0geDE7CisgIHRoaXMueTEgPSB5MTsKK30KKworZnVuY3Rpb24gdHJlZV9maW5k
KHgsIHksIHJhZGl1cykgeworICB2YXIgZGF0YSwKKyAgICAgIHgwID0gdGhpcy5feDAsCisgICAg
ICB5MCA9IHRoaXMuX3kwLAorICAgICAgeDEsCisgICAgICB5MSwKKyAgICAgIHgyLAorICAgICAg
eTIsCisgICAgICB4MyA9IHRoaXMuX3gxLAorICAgICAgeTMgPSB0aGlzLl95MSwKKyAgICAgIHF1
YWRzID0gW10sCisgICAgICBub2RlID0gdGhpcy5fcm9vdCwKKyAgICAgIHEsCisgICAgICBpOwor
CisgIGlmIChub2RlKSBxdWFkcy5wdXNoKG5ldyBRdWFkKG5vZGUsIHgwLCB5MCwgeDMsIHkzKSk7
CisgIGlmIChyYWRpdXMgPT0gbnVsbCkgcmFkaXVzID0gSW5maW5pdHk7CisgIGVsc2UgeworICAg
IHgwID0geCAtIHJhZGl1cywgeTAgPSB5IC0gcmFkaXVzOworICAgIHgzID0geCArIHJhZGl1cywg
eTMgPSB5ICsgcmFkaXVzOworICAgIHJhZGl1cyAqPSByYWRpdXM7CisgIH0KKworICB3aGlsZSAo
cSA9IHF1YWRzLnBvcCgpKSB7CisKKyAgICAvLyBTdG9wIHNlYXJjaGluZyBpZiB0aGlzIHF1YWRy
YW50IGNhbuKAmXQgY29udGFpbiBhIGNsb3NlciBub2RlLgorICAgIGlmICghKG5vZGUgPSBxLm5v
ZGUpCisgICAgICAgIHx8ICh4MSA9IHEueDApID4geDMKKyAgICAgICAgfHwgKHkxID0gcS55MCkg
PiB5MworICAgICAgICB8fCAoeDIgPSBxLngxKSA8IHgwCisgICAgICAgIHx8ICh5MiA9IHEueTEp
IDwgeTApIGNvbnRpbnVlOworCisgICAgLy8gQmlzZWN0IHRoZSBjdXJyZW50IHF1YWRyYW50Lgor
ICAgIGlmIChub2RlLmxlbmd0aCkgeworICAgICAgdmFyIHhtID0gKHgxICsgeDIpIC8gMiwKKyAg
ICAgICAgICB5bSA9ICh5MSArIHkyKSAvIDI7CisKKyAgICAgIHF1YWRzLnB1c2goCisgICAgICAg
IG5ldyBRdWFkKG5vZGVbM10sIHhtLCB5bSwgeDIsIHkyKSwKKyAgICAgICAgbmV3IFF1YWQobm9k
ZVsyXSwgeDEsIHltLCB4bSwgeTIpLAorICAgICAgICBuZXcgUXVhZChub2RlWzFdLCB4bSwgeTEs
IHgyLCB5bSksCisgICAgICAgIG5ldyBRdWFkKG5vZGVbMF0sIHgxLCB5MSwgeG0sIHltKQorICAg
ICAgKTsKKworICAgICAgLy8gVmlzaXQgdGhlIGNsb3Nlc3QgcXVhZHJhbnQgZmlyc3QuCisgICAg
ICBpZiAoaSA9ICh5ID49IHltKSA8PCAxIHwgKHggPj0geG0pKSB7CisgICAgICAgIHEgPSBxdWFk
c1txdWFkcy5sZW5ndGggLSAxXTsKKyAgICAgICAgcXVhZHNbcXVhZHMubGVuZ3RoIC0gMV0gPSBx
dWFkc1txdWFkcy5sZW5ndGggLSAxIC0gaV07CisgICAgICAgIHF1YWRzW3F1YWRzLmxlbmd0aCAt
IDEgLSBpXSA9IHE7CisgICAgICB9CisgICAgfQorCisgICAgLy8gVmlzaXQgdGhpcyBwb2ludC4g
KFZpc2l0aW5nIGNvaW5jaWRlbnQgcG9pbnRzIGlzbuKAmXQgbmVjZXNzYXJ5ISkKKyAgICBlbHNl
IHsKKyAgICAgIHZhciBkeCA9IHggLSArdGhpcy5feC5jYWxsKG51bGwsIG5vZGUuZGF0YSksCisg
ICAgICAgICAgZHkgPSB5IC0gK3RoaXMuX3kuY2FsbChudWxsLCBub2RlLmRhdGEpLAorICAgICAg
ICAgIGQyID0gZHggKiBkeCArIGR5ICogZHk7CisgICAgICBpZiAoZDIgPCByYWRpdXMpIHsKKyAg
ICAgICAgdmFyIGQgPSBNYXRoLnNxcnQocmFkaXVzID0gZDIpOworICAgICAgICB4MCA9IHggLSBk
LCB5MCA9IHkgLSBkOworICAgICAgICB4MyA9IHggKyBkLCB5MyA9IHkgKyBkOworICAgICAgICBk
YXRhID0gbm9kZS5kYXRhOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBkYXRhOwor
fQorCitmdW5jdGlvbiB0cmVlX3JlbW92ZShkKSB7CisgIGlmIChpc05hTih4ID0gK3RoaXMuX3gu
Y2FsbChudWxsLCBkKSkgfHwgaXNOYU4oeSA9ICt0aGlzLl95LmNhbGwobnVsbCwgZCkpKSByZXR1
cm4gdGhpczsgLy8gaWdub3JlIGludmFsaWQgcG9pbnRzCisKKyAgdmFyIHBhcmVudCwKKyAgICAg
IG5vZGUgPSB0aGlzLl9yb290LAorICAgICAgcmV0YWluZXIsCisgICAgICBwcmV2aW91cywKKyAg
ICAgIG5leHQsCisgICAgICB4MCA9IHRoaXMuX3gwLAorICAgICAgeTAgPSB0aGlzLl95MCwKKyAg
ICAgIHgxID0gdGhpcy5feDEsCisgICAgICB5MSA9IHRoaXMuX3kxLAorICAgICAgeCwKKyAgICAg
IHksCisgICAgICB4bSwKKyAgICAgIHltLAorICAgICAgcmlnaHQsCisgICAgICBib3R0b20sCisg
ICAgICBpLAorICAgICAgajsKKworICAvLyBJZiB0aGUgdHJlZSBpcyBlbXB0eSwgaW5pdGlhbGl6
ZSB0aGUgcm9vdCBhcyBhIGxlYWYuCisgIGlmICghbm9kZSkgcmV0dXJuIHRoaXM7CisKKyAgLy8g
RmluZCB0aGUgbGVhZiBub2RlIGZvciB0aGUgcG9pbnQuCisgIC8vIFdoaWxlIGRlc2NlbmRpbmcs
IGFsc28gcmV0YWluIHRoZSBkZWVwZXN0IHBhcmVudCB3aXRoIGEgbm9uLXJlbW92ZWQgc2libGlu
Zy4KKyAgaWYgKG5vZGUubGVuZ3RoKSB3aGlsZSAodHJ1ZSkgeworICAgIGlmIChyaWdodCA9IHgg
Pj0gKHhtID0gKHgwICsgeDEpIC8gMikpIHgwID0geG07IGVsc2UgeDEgPSB4bTsKKyAgICBpZiAo
Ym90dG9tID0geSA+PSAoeW0gPSAoeTAgKyB5MSkgLyAyKSkgeTAgPSB5bTsgZWxzZSB5MSA9IHlt
OworICAgIGlmICghKHBhcmVudCA9IG5vZGUsIG5vZGUgPSBub2RlW2kgPSBib3R0b20gPDwgMSB8
IHJpZ2h0XSkpIHJldHVybiB0aGlzOworICAgIGlmICghbm9kZS5sZW5ndGgpIGJyZWFrOworICAg
IGlmIChwYXJlbnRbKGkgKyAxKSAmIDNdIHx8IHBhcmVudFsoaSArIDIpICYgM10gfHwgcGFyZW50
WyhpICsgMykgJiAzXSkgcmV0YWluZXIgPSBwYXJlbnQsIGogPSBpOworICB9CisKKyAgLy8gRmlu
ZCB0aGUgcG9pbnQgdG8gcmVtb3ZlLgorICB3aGlsZSAobm9kZS5kYXRhICE9PSBkKSBpZiAoIShw
cmV2aW91cyA9IG5vZGUsIG5vZGUgPSBub2RlLm5leHQpKSByZXR1cm4gdGhpczsKKyAgaWYgKG5l
eHQgPSBub2RlLm5leHQpIGRlbGV0ZSBub2RlLm5leHQ7CisKKyAgLy8gSWYgdGhlcmUgYXJlIG11
bHRpcGxlIGNvaW5jaWRlbnQgcG9pbnRzLCByZW1vdmUganVzdCB0aGUgcG9pbnQuCisgIGlmIChw
cmV2aW91cykgcmV0dXJuIChuZXh0ID8gcHJldmlvdXMubmV4dCA9IG5leHQgOiBkZWxldGUgcHJl
dmlvdXMubmV4dCksIHRoaXM7CisKKyAgLy8gSWYgdGhpcyBpcyB0aGUgcm9vdCBwb2ludCwgcmVt
b3ZlIGl0LgorICBpZiAoIXBhcmVudCkgcmV0dXJuIHRoaXMuX3Jvb3QgPSBuZXh0LCB0aGlzOwor
CisgIC8vIFJlbW92ZSB0aGlzIGxlYWYuCisgIG5leHQgPyBwYXJlbnRbaV0gPSBuZXh0IDogZGVs
ZXRlIHBhcmVudFtpXTsKKworICAvLyBJZiB0aGUgcGFyZW50IG5vdyBjb250YWlucyBleGFjdGx5
IG9uZSBsZWFmLCBjb2xsYXBzZSBzdXBlcmZsdW91cyBwYXJlbnRzLgorICBpZiAoKG5vZGUgPSBw
YXJlbnRbMF0gfHwgcGFyZW50WzFdIHx8IHBhcmVudFsyXSB8fCBwYXJlbnRbM10pCisgICAgICAm
JiBub2RlID09PSAocGFyZW50WzNdIHx8IHBhcmVudFsyXSB8fCBwYXJlbnRbMV0gfHwgcGFyZW50
WzBdKQorICAgICAgJiYgIW5vZGUubGVuZ3RoKSB7CisgICAgaWYgKHJldGFpbmVyKSByZXRhaW5l
cltqXSA9IG5vZGU7CisgICAgZWxzZSB0aGlzLl9yb290ID0gbm9kZTsKKyAgfQorCisgIHJldHVy
biB0aGlzOworfQorCitmdW5jdGlvbiByZW1vdmVBbGwoZGF0YSkgeworICBmb3IgKHZhciBpID0g
MCwgbiA9IGRhdGEubGVuZ3RoOyBpIDwgbjsgKytpKSB0aGlzLnJlbW92ZShkYXRhW2ldKTsKKyAg
cmV0dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9uIHRyZWVfcm9vdCgpIHsKKyAgcmV0dXJuIHRoaXMu
X3Jvb3Q7Cit9CisKK2Z1bmN0aW9uIHRyZWVfc2l6ZSgpIHsKKyAgdmFyIHNpemUgPSAwOworICB0
aGlzLnZpc2l0KGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBpZiAoIW5vZGUubGVuZ3RoKSBkbyArK3Np
emU7IHdoaWxlIChub2RlID0gbm9kZS5uZXh0KQorICB9KTsKKyAgcmV0dXJuIHNpemU7Cit9CisK
K2Z1bmN0aW9uIHRyZWVfdmlzaXQoY2FsbGJhY2spIHsKKyAgdmFyIHF1YWRzID0gW10sIHEsIG5v
ZGUgPSB0aGlzLl9yb290LCBjaGlsZCwgeDAsIHkwLCB4MSwgeTE7CisgIGlmIChub2RlKSBxdWFk
cy5wdXNoKG5ldyBRdWFkKG5vZGUsIHRoaXMuX3gwLCB0aGlzLl95MCwgdGhpcy5feDEsIHRoaXMu
X3kxKSk7CisgIHdoaWxlIChxID0gcXVhZHMucG9wKCkpIHsKKyAgICBpZiAoIWNhbGxiYWNrKG5v
ZGUgPSBxLm5vZGUsIHgwID0gcS54MCwgeTAgPSBxLnkwLCB4MSA9IHEueDEsIHkxID0gcS55MSkg
JiYgbm9kZS5sZW5ndGgpIHsKKyAgICAgIHZhciB4bSA9ICh4MCArIHgxKSAvIDIsIHltID0gKHkw
ICsgeTEpIC8gMjsKKyAgICAgIGlmIChjaGlsZCA9IG5vZGVbM10pIHF1YWRzLnB1c2gobmV3IFF1
YWQoY2hpbGQsIHhtLCB5bSwgeDEsIHkxKSk7CisgICAgICBpZiAoY2hpbGQgPSBub2RlWzJdKSBx
dWFkcy5wdXNoKG5ldyBRdWFkKGNoaWxkLCB4MCwgeW0sIHhtLCB5MSkpOworICAgICAgaWYgKGNo
aWxkID0gbm9kZVsxXSkgcXVhZHMucHVzaChuZXcgUXVhZChjaGlsZCwgeG0sIHkwLCB4MSwgeW0p
KTsKKyAgICAgIGlmIChjaGlsZCA9IG5vZGVbMF0pIHF1YWRzLnB1c2gobmV3IFF1YWQoY2hpbGQs
IHgwLCB5MCwgeG0sIHltKSk7CisgICAgfQorICB9CisgIHJldHVybiB0aGlzOworfQorCitmdW5j
dGlvbiB0cmVlX3Zpc2l0QWZ0ZXIoY2FsbGJhY2spIHsKKyAgdmFyIHF1YWRzID0gW10sIG5leHQg
PSBbXSwgcTsKKyAgaWYgKHRoaXMuX3Jvb3QpIHF1YWRzLnB1c2gobmV3IFF1YWQodGhpcy5fcm9v
dCwgdGhpcy5feDAsIHRoaXMuX3kwLCB0aGlzLl94MSwgdGhpcy5feTEpKTsKKyAgd2hpbGUgKHEg
PSBxdWFkcy5wb3AoKSkgeworICAgIHZhciBub2RlID0gcS5ub2RlOworICAgIGlmIChub2RlLmxl
bmd0aCkgeworICAgICAgdmFyIGNoaWxkLCB4MCA9IHEueDAsIHkwID0gcS55MCwgeDEgPSBxLngx
LCB5MSA9IHEueTEsIHhtID0gKHgwICsgeDEpIC8gMiwgeW0gPSAoeTAgKyB5MSkgLyAyOworICAg
ICAgaWYgKGNoaWxkID0gbm9kZVswXSkgcXVhZHMucHVzaChuZXcgUXVhZChjaGlsZCwgeDAsIHkw
LCB4bSwgeW0pKTsKKyAgICAgIGlmIChjaGlsZCA9IG5vZGVbMV0pIHF1YWRzLnB1c2gobmV3IFF1
YWQoY2hpbGQsIHhtLCB5MCwgeDEsIHltKSk7CisgICAgICBpZiAoY2hpbGQgPSBub2RlWzJdKSBx
dWFkcy5wdXNoKG5ldyBRdWFkKGNoaWxkLCB4MCwgeW0sIHhtLCB5MSkpOworICAgICAgaWYgKGNo
aWxkID0gbm9kZVszXSkgcXVhZHMucHVzaChuZXcgUXVhZChjaGlsZCwgeG0sIHltLCB4MSwgeTEp
KTsKKyAgICB9CisgICAgbmV4dC5wdXNoKHEpOworICB9CisgIHdoaWxlIChxID0gbmV4dC5wb3Ao
KSkgeworICAgIGNhbGxiYWNrKHEubm9kZSwgcS54MCwgcS55MCwgcS54MSwgcS55MSk7CisgIH0K
KyAgcmV0dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRYJDEoZCkgeworICByZXR1cm4g
ZFswXTsKK30KKworZnVuY3Rpb24gdHJlZV94KF8pIHsKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAodGhpcy5feCA9IF8sIHRoaXMpIDogdGhpcy5feDsKK30KKworZnVuY3Rpb24gZGVmYXVs
dFkkMShkKSB7CisgIHJldHVybiBkWzFdOworfQorCitmdW5jdGlvbiB0cmVlX3koXykgeworICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0aGlzLl95ID0gXywgdGhpcykgOiB0aGlzLl95Owor
fQorCitmdW5jdGlvbiBxdWFkdHJlZShub2RlcywgeCwgeSkgeworICB2YXIgdHJlZSA9IG5ldyBR
dWFkdHJlZSh4ID09IG51bGwgPyBkZWZhdWx0WCQxIDogeCwgeSA9PSBudWxsID8gZGVmYXVsdFkk
MSA6IHksIE5hTiwgTmFOLCBOYU4sIE5hTik7CisgIHJldHVybiBub2RlcyA9PSBudWxsID8gdHJl
ZSA6IHRyZWUuYWRkQWxsKG5vZGVzKTsKK30KKworZnVuY3Rpb24gUXVhZHRyZWUoeCwgeSwgeDAs
IHkwLCB4MSwgeTEpIHsKKyAgdGhpcy5feCA9IHg7CisgIHRoaXMuX3kgPSB5OworICB0aGlzLl94
MCA9IHgwOworICB0aGlzLl95MCA9IHkwOworICB0aGlzLl94MSA9IHgxOworICB0aGlzLl95MSA9
IHkxOworICB0aGlzLl9yb290ID0gdW5kZWZpbmVkOworfQorCitmdW5jdGlvbiBsZWFmX2NvcHko
bGVhZikgeworICB2YXIgY29weSA9IHtkYXRhOiBsZWFmLmRhdGF9LCBuZXh0ID0gY29weTsKKyAg
d2hpbGUgKGxlYWYgPSBsZWFmLm5leHQpIG5leHQgPSBuZXh0Lm5leHQgPSB7ZGF0YTogbGVhZi5k
YXRhfTsKKyAgcmV0dXJuIGNvcHk7Cit9CisKK3ZhciB0cmVlUHJvdG8gPSBxdWFkdHJlZS5wcm90
b3R5cGUgPSBRdWFkdHJlZS5wcm90b3R5cGU7CisKK3RyZWVQcm90by5jb3B5ID0gZnVuY3Rpb24o
KSB7CisgIHZhciBjb3B5ID0gbmV3IFF1YWR0cmVlKHRoaXMuX3gsIHRoaXMuX3ksIHRoaXMuX3gw
LCB0aGlzLl95MCwgdGhpcy5feDEsIHRoaXMuX3kxKSwKKyAgICAgIG5vZGUgPSB0aGlzLl9yb290
LAorICAgICAgbm9kZXMsCisgICAgICBjaGlsZDsKKworICBpZiAoIW5vZGUpIHJldHVybiBjb3B5
OworCisgIGlmICghbm9kZS5sZW5ndGgpIHJldHVybiBjb3B5Ll9yb290ID0gbGVhZl9jb3B5KG5v
ZGUpLCBjb3B5OworCisgIG5vZGVzID0gW3tzb3VyY2U6IG5vZGUsIHRhcmdldDogY29weS5fcm9v
dCA9IG5ldyBBcnJheSg0KX1dOworICB3aGlsZSAobm9kZSA9IG5vZGVzLnBvcCgpKSB7CisgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCA0OyArK2kpIHsKKyAgICAgIGlmIChjaGlsZCA9IG5vZGUuc291
cmNlW2ldKSB7CisgICAgICAgIGlmIChjaGlsZC5sZW5ndGgpIG5vZGVzLnB1c2goe3NvdXJjZTog
Y2hpbGQsIHRhcmdldDogbm9kZS50YXJnZXRbaV0gPSBuZXcgQXJyYXkoNCl9KTsKKyAgICAgICAg
ZWxzZSBub2RlLnRhcmdldFtpXSA9IGxlYWZfY29weShjaGlsZCk7CisgICAgICB9CisgICAgfQor
ICB9CisKKyAgcmV0dXJuIGNvcHk7Cit9OworCit0cmVlUHJvdG8uYWRkID0gdHJlZV9hZGQ7Cit0
cmVlUHJvdG8uYWRkQWxsID0gYWRkQWxsOwordHJlZVByb3RvLmNvdmVyID0gdHJlZV9jb3ZlcjsK
K3RyZWVQcm90by5kYXRhID0gdHJlZV9kYXRhOwordHJlZVByb3RvLmV4dGVudCA9IHRyZWVfZXh0
ZW50OwordHJlZVByb3RvLmZpbmQgPSB0cmVlX2ZpbmQ7Cit0cmVlUHJvdG8ucmVtb3ZlID0gdHJl
ZV9yZW1vdmU7Cit0cmVlUHJvdG8ucmVtb3ZlQWxsID0gcmVtb3ZlQWxsOwordHJlZVByb3RvLnJv
b3QgPSB0cmVlX3Jvb3Q7Cit0cmVlUHJvdG8uc2l6ZSA9IHRyZWVfc2l6ZTsKK3RyZWVQcm90by52
aXNpdCA9IHRyZWVfdmlzaXQ7Cit0cmVlUHJvdG8udmlzaXRBZnRlciA9IHRyZWVfdmlzaXRBZnRl
cjsKK3RyZWVQcm90by54ID0gdHJlZV94OwordHJlZVByb3RvLnkgPSB0cmVlX3k7CisKK2Z1bmN0
aW9uIHgoZCkgeworICByZXR1cm4gZC54ICsgZC52eDsKK30KKworZnVuY3Rpb24geShkKSB7Cisg
IHJldHVybiBkLnkgKyBkLnZ5OworfQorCitmdW5jdGlvbiBjb2xsaWRlKHJhZGl1cykgeworICB2
YXIgbm9kZXMsCisgICAgICByYWRpaSwKKyAgICAgIHN0cmVuZ3RoID0gMSwKKyAgICAgIGl0ZXJh
dGlvbnMgPSAxOworCisgIGlmICh0eXBlb2YgcmFkaXVzICE9PSAiZnVuY3Rpb24iKSByYWRpdXMg
PSBjb25zdGFudCQ3KHJhZGl1cyA9PSBudWxsID8gMSA6ICtyYWRpdXMpOworCisgIGZ1bmN0aW9u
IGZvcmNlKCkgeworICAgIHZhciBpLCBuID0gbm9kZXMubGVuZ3RoLAorICAgICAgICB0cmVlLAor
ICAgICAgICBub2RlLAorICAgICAgICB4aSwKKyAgICAgICAgeWksCisgICAgICAgIHJpLAorICAg
ICAgICByaTI7CisKKyAgICBmb3IgKHZhciBrID0gMDsgayA8IGl0ZXJhdGlvbnM7ICsraykgewor
ICAgICAgdHJlZSA9IHF1YWR0cmVlKG5vZGVzLCB4LCB5KS52aXNpdEFmdGVyKHByZXBhcmUpOwor
ICAgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgICBub2RlID0gbm9kZXNbaV07
CisgICAgICAgIHJpID0gcmFkaWlbbm9kZS5pbmRleF0sIHJpMiA9IHJpICogcmk7CisgICAgICAg
IHhpID0gbm9kZS54ICsgbm9kZS52eDsKKyAgICAgICAgeWkgPSBub2RlLnkgKyBub2RlLnZ5Owor
ICAgICAgICB0cmVlLnZpc2l0KGFwcGx5KTsKKyAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlv
biBhcHBseShxdWFkLCB4MCwgeTAsIHgxLCB5MSkgeworICAgICAgdmFyIGRhdGEgPSBxdWFkLmRh
dGEsIHJqID0gcXVhZC5yLCByID0gcmkgKyByajsKKyAgICAgIGlmIChkYXRhKSB7CisgICAgICAg
IGlmIChkYXRhLmluZGV4ID4gbm9kZS5pbmRleCkgeworICAgICAgICAgIHZhciB4ID0geGkgLSBk
YXRhLnggLSBkYXRhLnZ4LAorICAgICAgICAgICAgICB5ID0geWkgLSBkYXRhLnkgLSBkYXRhLnZ5
LAorICAgICAgICAgICAgICBsID0geCAqIHggKyB5ICogeTsKKyAgICAgICAgICBpZiAobCA8IHIg
KiByKSB7CisgICAgICAgICAgICBpZiAoeCA9PT0gMCkgeCA9IGppZ2dsZSgpLCBsICs9IHggKiB4
OworICAgICAgICAgICAgaWYgKHkgPT09IDApIHkgPSBqaWdnbGUoKSwgbCArPSB5ICogeTsKKyAg
ICAgICAgICAgIGwgPSAociAtIChsID0gTWF0aC5zcXJ0KGwpKSkgLyBsICogc3RyZW5ndGg7Cisg
ICAgICAgICAgICBub2RlLnZ4ICs9ICh4ICo9IGwpICogKHIgPSAocmogKj0gcmopIC8gKHJpMiAr
IHJqKSk7CisgICAgICAgICAgICBub2RlLnZ5ICs9ICh5ICo9IGwpICogcjsKKyAgICAgICAgICAg
IGRhdGEudnggLT0geCAqIChyID0gMSAtIHIpOworICAgICAgICAgICAgZGF0YS52eSAtPSB5ICog
cjsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuOworICAgICAgfQorICAg
ICAgcmV0dXJuIHgwID4geGkgKyByIHx8IHgxIDwgeGkgLSByIHx8IHkwID4geWkgKyByIHx8IHkx
IDwgeWkgLSByOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIHByZXBhcmUocXVhZCkgeworICAg
IGlmIChxdWFkLmRhdGEpIHJldHVybiBxdWFkLnIgPSByYWRpaVtxdWFkLmRhdGEuaW5kZXhdOwor
ICAgIGZvciAodmFyIGkgPSBxdWFkLnIgPSAwOyBpIDwgNDsgKytpKSB7CisgICAgICBpZiAocXVh
ZFtpXSAmJiBxdWFkW2ldLnIgPiBxdWFkLnIpIHsKKyAgICAgICAgcXVhZC5yID0gcXVhZFtpXS5y
OworICAgICAgfQorICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemUoKSB7CisgICAg
aWYgKCFub2RlcykgcmV0dXJuOworICAgIHZhciBpLCBuID0gbm9kZXMubGVuZ3RoLCBub2RlOwor
ICAgIHJhZGlpID0gbmV3IEFycmF5KG4pOworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIG5v
ZGUgPSBub2Rlc1tpXSwgcmFkaWlbbm9kZS5pbmRleF0gPSArcmFkaXVzKG5vZGUsIGksIG5vZGVz
KTsKKyAgfQorCisgIGZvcmNlLmluaXRpYWxpemUgPSBmdW5jdGlvbihfKSB7CisgICAgbm9kZXMg
PSBfOworICAgIGluaXRpYWxpemUoKTsKKyAgfTsKKworICBmb3JjZS5pdGVyYXRpb25zID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGl0ZXJhdGlvbnMgPSAr
XywgZm9yY2UpIDogaXRlcmF0aW9uczsKKyAgfTsKKworICBmb3JjZS5zdHJlbmd0aCA9IGZ1bmN0
aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzdHJlbmd0aCA9ICtfLCBm
b3JjZSkgOiBzdHJlbmd0aDsKKyAgfTsKKworICBmb3JjZS5yYWRpdXMgPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocmFkaXVzID0gdHlwZW9mIF8gPT09ICJm
dW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyksIGluaXRpYWxpemUoKSwgZm9yY2UpIDogcmFk
aXVzOworICB9OworCisgIHJldHVybiBmb3JjZTsKK30KKworZnVuY3Rpb24gaW5kZXgoZCkgewor
ICByZXR1cm4gZC5pbmRleDsKK30KKworZnVuY3Rpb24gZmluZChub2RlQnlJZCwgbm9kZUlkKSB7
CisgIHZhciBub2RlID0gbm9kZUJ5SWQuZ2V0KG5vZGVJZCk7CisgIGlmICghbm9kZSkgdGhyb3cg
bmV3IEVycm9yKCJtaXNzaW5nOiAiICsgbm9kZUlkKTsKKyAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1
bmN0aW9uIGxpbmsobGlua3MpIHsKKyAgdmFyIGlkID0gaW5kZXgsCisgICAgICBzdHJlbmd0aCA9
IGRlZmF1bHRTdHJlbmd0aCwKKyAgICAgIHN0cmVuZ3RocywKKyAgICAgIGRpc3RhbmNlID0gY29u
c3RhbnQkNygzMCksCisgICAgICBkaXN0YW5jZXMsCisgICAgICBub2RlcywKKyAgICAgIGNvdW50
LAorICAgICAgYmlhcywKKyAgICAgIGl0ZXJhdGlvbnMgPSAxOworCisgIGlmIChsaW5rcyA9PSBu
dWxsKSBsaW5rcyA9IFtdOworCisgIGZ1bmN0aW9uIGRlZmF1bHRTdHJlbmd0aChsaW5rKSB7Cisg
ICAgcmV0dXJuIDEgLyBNYXRoLm1pbihjb3VudFtsaW5rLnNvdXJjZS5pbmRleF0sIGNvdW50W2xp
bmsudGFyZ2V0LmluZGV4XSk7CisgIH0KKworICBmdW5jdGlvbiBmb3JjZShhbHBoYSkgeworICAg
IGZvciAodmFyIGsgPSAwLCBuID0gbGlua3MubGVuZ3RoOyBrIDwgaXRlcmF0aW9uczsgKytrKSB7
CisgICAgICBmb3IgKHZhciBpID0gMCwgbGluaywgc291cmNlLCB0YXJnZXQsIHgsIHksIGwsIGI7
IGkgPCBuOyArK2kpIHsKKyAgICAgICAgbGluayA9IGxpbmtzW2ldLCBzb3VyY2UgPSBsaW5rLnNv
dXJjZSwgdGFyZ2V0ID0gbGluay50YXJnZXQ7CisgICAgICAgIHggPSB0YXJnZXQueCArIHRhcmdl
dC52eCAtIHNvdXJjZS54IC0gc291cmNlLnZ4IHx8IGppZ2dsZSgpOworICAgICAgICB5ID0gdGFy
Z2V0LnkgKyB0YXJnZXQudnkgLSBzb3VyY2UueSAtIHNvdXJjZS52eSB8fCBqaWdnbGUoKTsKKyAg
ICAgICAgbCA9IE1hdGguc3FydCh4ICogeCArIHkgKiB5KTsKKyAgICAgICAgbCA9IChsIC0gZGlz
dGFuY2VzW2ldKSAvIGwgKiBhbHBoYSAqIHN0cmVuZ3Roc1tpXTsKKyAgICAgICAgeCAqPSBsLCB5
ICo9IGw7CisgICAgICAgIHRhcmdldC52eCAtPSB4ICogKGIgPSBiaWFzW2ldKTsKKyAgICAgICAg
dGFyZ2V0LnZ5IC09IHkgKiBiOworICAgICAgICBzb3VyY2UudnggKz0geCAqIChiID0gMSAtIGIp
OworICAgICAgICBzb3VyY2UudnkgKz0geSAqIGI7CisgICAgICB9CisgICAgfQorICB9CisKKyAg
ZnVuY3Rpb24gaW5pdGlhbGl6ZSgpIHsKKyAgICBpZiAoIW5vZGVzKSByZXR1cm47CisKKyAgICB2
YXIgaSwKKyAgICAgICAgbiA9IG5vZGVzLmxlbmd0aCwKKyAgICAgICAgbSA9IGxpbmtzLmxlbmd0
aCwKKyAgICAgICAgbm9kZUJ5SWQgPSBtYXAkMShub2RlcywgaWQpLAorICAgICAgICBsaW5rOwor
CisgICAgZm9yIChpID0gMCwgY291bnQgPSBuZXcgQXJyYXkobik7IGkgPCBtOyArK2kpIHsKKyAg
ICAgIGxpbmsgPSBsaW5rc1tpXSwgbGluay5pbmRleCA9IGk7CisgICAgICBpZiAodHlwZW9mIGxp
bmsuc291cmNlICE9PSAib2JqZWN0IikgbGluay5zb3VyY2UgPSBmaW5kKG5vZGVCeUlkLCBsaW5r
LnNvdXJjZSk7CisgICAgICBpZiAodHlwZW9mIGxpbmsudGFyZ2V0ICE9PSAib2JqZWN0IikgbGlu
ay50YXJnZXQgPSBmaW5kKG5vZGVCeUlkLCBsaW5rLnRhcmdldCk7CisgICAgICBjb3VudFtsaW5r
LnNvdXJjZS5pbmRleF0gPSAoY291bnRbbGluay5zb3VyY2UuaW5kZXhdIHx8IDApICsgMTsKKyAg
ICAgIGNvdW50W2xpbmsudGFyZ2V0LmluZGV4XSA9IChjb3VudFtsaW5rLnRhcmdldC5pbmRleF0g
fHwgMCkgKyAxOworICAgIH0KKworICAgIGZvciAoaSA9IDAsIGJpYXMgPSBuZXcgQXJyYXkobSk7
IGkgPCBtOyArK2kpIHsKKyAgICAgIGxpbmsgPSBsaW5rc1tpXSwgYmlhc1tpXSA9IGNvdW50W2xp
bmsuc291cmNlLmluZGV4XSAvIChjb3VudFtsaW5rLnNvdXJjZS5pbmRleF0gKyBjb3VudFtsaW5r
LnRhcmdldC5pbmRleF0pOworICAgIH0KKworICAgIHN0cmVuZ3RocyA9IG5ldyBBcnJheShtKSwg
aW5pdGlhbGl6ZVN0cmVuZ3RoKCk7CisgICAgZGlzdGFuY2VzID0gbmV3IEFycmF5KG0pLCBpbml0
aWFsaXplRGlzdGFuY2UoKTsKKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemVTdHJlbmd0aCgp
IHsKKyAgICBpZiAoIW5vZGVzKSByZXR1cm47CisKKyAgICBmb3IgKHZhciBpID0gMCwgbiA9IGxp
bmtzLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAgICAgc3RyZW5ndGhzW2ldID0gK3N0cmVuZ3Ro
KGxpbmtzW2ldLCBpLCBsaW5rcyk7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gaW5pdGlhbGl6
ZURpc3RhbmNlKCkgeworICAgIGlmICghbm9kZXMpIHJldHVybjsKKworICAgIGZvciAodmFyIGkg
PSAwLCBuID0gbGlua3MubGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgICBkaXN0YW5jZXNbaV0g
PSArZGlzdGFuY2UobGlua3NbaV0sIGksIGxpbmtzKTsKKyAgICB9CisgIH0KKworICBmb3JjZS5p
bml0aWFsaXplID0gZnVuY3Rpb24oXykgeworICAgIG5vZGVzID0gXzsKKyAgICBpbml0aWFsaXpl
KCk7CisgIH07CisKKyAgZm9yY2UubGlua3MgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAobGlua3MgPSBfLCBpbml0aWFsaXplKCksIGZvcmNlKSA6IGxpbmtz
OworICB9OworCisgIGZvcmNlLmlkID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKGlkID0gXywgZm9yY2UpIDogaWQ7CisgIH07CisKKyAgZm9yY2UuaXRlcmF0
aW9ucyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChpdGVy
YXRpb25zID0gK18sIGZvcmNlKSA6IGl0ZXJhdGlvbnM7CisgIH07CisKKyAgZm9yY2Uuc3RyZW5n
dGggPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc3RyZW5n
dGggPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCQ3KCtfKSwgaW5pdGlh
bGl6ZVN0cmVuZ3RoKCksIGZvcmNlKSA6IHN0cmVuZ3RoOworICB9OworCisgIGZvcmNlLmRpc3Rh
bmNlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGRpc3Rh
bmNlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyksIGluaXRp
YWxpemVEaXN0YW5jZSgpLCBmb3JjZSkgOiBkaXN0YW5jZTsKKyAgfTsKKworICByZXR1cm4gZm9y
Y2U7Cit9CisKK2Z1bmN0aW9uIHgkMShkKSB7CisgIHJldHVybiBkLng7Cit9CisKK2Z1bmN0aW9u
IHkkMShkKSB7CisgIHJldHVybiBkLnk7Cit9CisKK3ZhciBpbml0aWFsUmFkaXVzID0gMTAsCisg
ICAgaW5pdGlhbEFuZ2xlID0gTWF0aC5QSSAqICgzIC0gTWF0aC5zcXJ0KDUpKTsKKworZnVuY3Rp
b24gc2ltdWxhdGlvbihub2RlcykgeworICB2YXIgc2ltdWxhdGlvbiwKKyAgICAgIGFscGhhID0g
MSwKKyAgICAgIGFscGhhTWluID0gMC4wMDEsCisgICAgICBhbHBoYURlY2F5ID0gMSAtIE1hdGgu
cG93KGFscGhhTWluLCAxIC8gMzAwKSwKKyAgICAgIGFscGhhVGFyZ2V0ID0gMCwKKyAgICAgIHZl
bG9jaXR5RGVjYXkgPSAwLjYsCisgICAgICBmb3JjZXMgPSBtYXAkMSgpLAorICAgICAgc3RlcHBl
ciA9IHRpbWVyKHN0ZXApLAorICAgICAgZXZlbnQgPSBkaXNwYXRjaCgidGljayIsICJlbmQiKTsK
KworICBpZiAobm9kZXMgPT0gbnVsbCkgbm9kZXMgPSBbXTsKKworICBmdW5jdGlvbiBzdGVwKCkg
eworICAgIHRpY2soKTsKKyAgICBldmVudC5jYWxsKCJ0aWNrIiwgc2ltdWxhdGlvbik7CisgICAg
aWYgKGFscGhhIDwgYWxwaGFNaW4pIHsKKyAgICAgIHN0ZXBwZXIuc3RvcCgpOworICAgICAgZXZl
bnQuY2FsbCgiZW5kIiwgc2ltdWxhdGlvbik7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gdGlj
ayhpdGVyYXRpb25zKSB7CisgICAgdmFyIGksIG4gPSBub2Rlcy5sZW5ndGgsIG5vZGU7CisKKyAg
ICBpZiAoaXRlcmF0aW9ucyA9PT0gdW5kZWZpbmVkKSBpdGVyYXRpb25zID0gMTsKKworICAgIGZv
ciAodmFyIGsgPSAwOyBrIDwgaXRlcmF0aW9uczsgKytrKSB7CisgICAgICBhbHBoYSArPSAoYWxw
aGFUYXJnZXQgLSBhbHBoYSkgKiBhbHBoYURlY2F5OworCisgICAgICBmb3JjZXMuZWFjaChmdW5j
dGlvbiAoZm9yY2UpIHsKKyAgICAgICAgZm9yY2UoYWxwaGEpOworICAgICAgfSk7CisKKyAgICAg
IGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgbm9kZSA9IG5vZGVzW2ldOworICAg
ICAgICBpZiAobm9kZS5meCA9PSBudWxsKSBub2RlLnggKz0gbm9kZS52eCAqPSB2ZWxvY2l0eURl
Y2F5OworICAgICAgICBlbHNlIG5vZGUueCA9IG5vZGUuZngsIG5vZGUudnggPSAwOworICAgICAg
ICBpZiAobm9kZS5meSA9PSBudWxsKSBub2RlLnkgKz0gbm9kZS52eSAqPSB2ZWxvY2l0eURlY2F5
OworICAgICAgICBlbHNlIG5vZGUueSA9IG5vZGUuZnksIG5vZGUudnkgPSAwOworICAgICAgfQor
ICAgIH0KKworICAgIHJldHVybiBzaW11bGF0aW9uOworICB9CisKKyAgZnVuY3Rpb24gaW5pdGlh
bGl6ZU5vZGVzKCkgeworICAgIGZvciAodmFyIGkgPSAwLCBuID0gbm9kZXMubGVuZ3RoLCBub2Rl
OyBpIDwgbjsgKytpKSB7CisgICAgICBub2RlID0gbm9kZXNbaV0sIG5vZGUuaW5kZXggPSBpOwor
ICAgICAgaWYgKG5vZGUuZnggIT0gbnVsbCkgbm9kZS54ID0gbm9kZS5meDsKKyAgICAgIGlmIChu
b2RlLmZ5ICE9IG51bGwpIG5vZGUueSA9IG5vZGUuZnk7CisgICAgICBpZiAoaXNOYU4obm9kZS54
KSB8fCBpc05hTihub2RlLnkpKSB7CisgICAgICAgIHZhciByYWRpdXMgPSBpbml0aWFsUmFkaXVz
ICogTWF0aC5zcXJ0KGkpLCBhbmdsZSA9IGkgKiBpbml0aWFsQW5nbGU7CisgICAgICAgIG5vZGUu
eCA9IHJhZGl1cyAqIE1hdGguY29zKGFuZ2xlKTsKKyAgICAgICAgbm9kZS55ID0gcmFkaXVzICog
TWF0aC5zaW4oYW5nbGUpOworICAgICAgfQorICAgICAgaWYgKGlzTmFOKG5vZGUudngpIHx8IGlz
TmFOKG5vZGUudnkpKSB7CisgICAgICAgIG5vZGUudnggPSBub2RlLnZ5ID0gMDsKKyAgICAgIH0K
KyAgICB9CisgIH0KKworICBmdW5jdGlvbiBpbml0aWFsaXplRm9yY2UoZm9yY2UpIHsKKyAgICBp
ZiAoZm9yY2UuaW5pdGlhbGl6ZSkgZm9yY2UuaW5pdGlhbGl6ZShub2Rlcyk7CisgICAgcmV0dXJu
IGZvcmNlOworICB9CisKKyAgaW5pdGlhbGl6ZU5vZGVzKCk7CisKKyAgcmV0dXJuIHNpbXVsYXRp
b24gPSB7CisgICAgdGljazogdGljaywKKworICAgIHJlc3RhcnQ6IGZ1bmN0aW9uKCkgeworICAg
ICAgcmV0dXJuIHN0ZXBwZXIucmVzdGFydChzdGVwKSwgc2ltdWxhdGlvbjsKKyAgICB9LAorCisg
ICAgc3RvcDogZnVuY3Rpb24oKSB7CisgICAgICByZXR1cm4gc3RlcHBlci5zdG9wKCksIHNpbXVs
YXRpb247CisgICAgfSwKKworICAgIG5vZGVzOiBmdW5jdGlvbihfKSB7CisgICAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/IChub2RlcyA9IF8sIGluaXRpYWxpemVOb2RlcygpLCBmb3JjZXMu
ZWFjaChpbml0aWFsaXplRm9yY2UpLCBzaW11bGF0aW9uKSA6IG5vZGVzOworICAgIH0sCisKKyAg
ICBhbHBoYTogZnVuY3Rpb24oXykgeworICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
YWxwaGEgPSArXywgc2ltdWxhdGlvbikgOiBhbHBoYTsKKyAgICB9LAorCisgICAgYWxwaGFNaW46
IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGFscGhhTWlu
ID0gK18sIHNpbXVsYXRpb24pIDogYWxwaGFNaW47CisgICAgfSwKKworICAgIGFscGhhRGVjYXk6
IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGFscGhhRGVj
YXkgPSArXywgc2ltdWxhdGlvbikgOiArYWxwaGFEZWNheTsKKyAgICB9LAorCisgICAgYWxwaGFU
YXJnZXQ6IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGFs
cGhhVGFyZ2V0ID0gK18sIHNpbXVsYXRpb24pIDogYWxwaGFUYXJnZXQ7CisgICAgfSwKKworICAg
IHZlbG9jaXR5RGVjYXk6IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHZlbG9jaXR5RGVjYXkgPSAxIC0gXywgc2ltdWxhdGlvbikgOiAxIC0gdmVsb2NpdHlE
ZWNheTsKKyAgICB9LAorCisgICAgZm9yY2U6IGZ1bmN0aW9uKG5hbWUsIF8pIHsKKyAgICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID4gMSA/ICgoXyA9PSBudWxsID8gZm9yY2VzLnJlbW92ZShu
YW1lKSA6IGZvcmNlcy5zZXQobmFtZSwgaW5pdGlhbGl6ZUZvcmNlKF8pKSksIHNpbXVsYXRpb24p
IDogZm9yY2VzLmdldChuYW1lKTsKKyAgICB9LAorCisgICAgZmluZDogZnVuY3Rpb24oeCwgeSwg
cmFkaXVzKSB7CisgICAgICB2YXIgaSA9IDAsCisgICAgICAgICAgbiA9IG5vZGVzLmxlbmd0aCwK
KyAgICAgICAgICBkeCwKKyAgICAgICAgICBkeSwKKyAgICAgICAgICBkMiwKKyAgICAgICAgICBu
b2RlLAorICAgICAgICAgIGNsb3Nlc3Q7CisKKyAgICAgIGlmIChyYWRpdXMgPT0gbnVsbCkgcmFk
aXVzID0gSW5maW5pdHk7CisgICAgICBlbHNlIHJhZGl1cyAqPSByYWRpdXM7CisKKyAgICAgIGZv
ciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgbm9kZSA9IG5vZGVzW2ldOworICAgICAg
ICBkeCA9IHggLSBub2RlLng7CisgICAgICAgIGR5ID0geSAtIG5vZGUueTsKKyAgICAgICAgZDIg
PSBkeCAqIGR4ICsgZHkgKiBkeTsKKyAgICAgICAgaWYgKGQyIDwgcmFkaXVzKSBjbG9zZXN0ID0g
bm9kZSwgcmFkaXVzID0gZDI7CisgICAgICB9CisKKyAgICAgIHJldHVybiBjbG9zZXN0OworICAg
IH0sCisKKyAgICBvbjogZnVuY3Rpb24obmFtZSwgXykgeworICAgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPiAxID8gKGV2ZW50Lm9uKG5hbWUsIF8pLCBzaW11bGF0aW9uKSA6IGV2ZW50Lm9u
KG5hbWUpOworICAgIH0KKyAgfTsKK30KKworZnVuY3Rpb24gbWFueUJvZHkoKSB7CisgIHZhciBu
b2RlcywKKyAgICAgIG5vZGUsCisgICAgICBhbHBoYSwKKyAgICAgIHN0cmVuZ3RoID0gY29uc3Rh
bnQkNygtMzApLAorICAgICAgc3RyZW5ndGhzLAorICAgICAgZGlzdGFuY2VNaW4yID0gMSwKKyAg
ICAgIGRpc3RhbmNlTWF4MiA9IEluZmluaXR5LAorICAgICAgdGhldGEyID0gMC44MTsKKworICBm
dW5jdGlvbiBmb3JjZShfKSB7CisgICAgdmFyIGksIG4gPSBub2Rlcy5sZW5ndGgsIHRyZWUgPSBx
dWFkdHJlZShub2RlcywgeCQxLCB5JDEpLnZpc2l0QWZ0ZXIoYWNjdW11bGF0ZSk7CisgICAgZm9y
IChhbHBoYSA9IF8sIGkgPSAwOyBpIDwgbjsgKytpKSBub2RlID0gbm9kZXNbaV0sIHRyZWUudmlz
aXQoYXBwbHkpOworICB9CisKKyAgZnVuY3Rpb24gaW5pdGlhbGl6ZSgpIHsKKyAgICBpZiAoIW5v
ZGVzKSByZXR1cm47CisgICAgdmFyIGksIG4gPSBub2Rlcy5sZW5ndGgsIG5vZGU7CisgICAgc3Ry
ZW5ndGhzID0gbmV3IEFycmF5KG4pOworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIG5vZGUg
PSBub2Rlc1tpXSwgc3RyZW5ndGhzW25vZGUuaW5kZXhdID0gK3N0cmVuZ3RoKG5vZGUsIGksIG5v
ZGVzKTsKKyAgfQorCisgIGZ1bmN0aW9uIGFjY3VtdWxhdGUocXVhZCkgeworICAgIHZhciBzdHJl
bmd0aCA9IDAsIHEsIGMsIHdlaWdodCA9IDAsIHgsIHksIGk7CisKKyAgICAvLyBGb3IgaW50ZXJu
YWwgbm9kZXMsIGFjY3VtdWxhdGUgZm9yY2VzIGZyb20gY2hpbGQgcXVhZHJhbnRzLgorICAgIGlm
IChxdWFkLmxlbmd0aCkgeworICAgICAgZm9yICh4ID0geSA9IGkgPSAwOyBpIDwgNDsgKytpKSB7
CisgICAgICAgIGlmICgocSA9IHF1YWRbaV0pICYmIChjID0gTWF0aC5hYnMocS52YWx1ZSkpKSB7
CisgICAgICAgICAgc3RyZW5ndGggKz0gcS52YWx1ZSwgd2VpZ2h0ICs9IGMsIHggKz0gYyAqIHEu
eCwgeSArPSBjICogcS55OworICAgICAgICB9CisgICAgICB9CisgICAgICBxdWFkLnggPSB4IC8g
d2VpZ2h0OworICAgICAgcXVhZC55ID0geSAvIHdlaWdodDsKKyAgICB9CisKKyAgICAvLyBGb3Ig
bGVhZiBub2RlcywgYWNjdW11bGF0ZSBmb3JjZXMgZnJvbSBjb2luY2lkZW50IHF1YWRyYW50cy4K
KyAgICBlbHNlIHsKKyAgICAgIHEgPSBxdWFkOworICAgICAgcS54ID0gcS5kYXRhLng7CisgICAg
ICBxLnkgPSBxLmRhdGEueTsKKyAgICAgIGRvIHN0cmVuZ3RoICs9IHN0cmVuZ3Roc1txLmRhdGEu
aW5kZXhdOworICAgICAgd2hpbGUgKHEgPSBxLm5leHQpOworICAgIH0KKworICAgIHF1YWQudmFs
dWUgPSBzdHJlbmd0aDsKKyAgfQorCisgIGZ1bmN0aW9uIGFwcGx5KHF1YWQsIHgxLCBfLCB4Mikg
eworICAgIGlmICghcXVhZC52YWx1ZSkgcmV0dXJuIHRydWU7CisKKyAgICB2YXIgeCA9IHF1YWQu
eCAtIG5vZGUueCwKKyAgICAgICAgeSA9IHF1YWQueSAtIG5vZGUueSwKKyAgICAgICAgdyA9IHgy
IC0geDEsCisgICAgICAgIGwgPSB4ICogeCArIHkgKiB5OworCisgICAgLy8gQXBwbHkgdGhlIEJh
cm5lcy1IdXQgYXBwcm94aW1hdGlvbiBpZiBwb3NzaWJsZS4KKyAgICAvLyBMaW1pdCBmb3JjZXMg
Zm9yIHZlcnkgY2xvc2Ugbm9kZXM7IHJhbmRvbWl6ZSBkaXJlY3Rpb24gaWYgY29pbmNpZGVudC4K
KyAgICBpZiAodyAqIHcgLyB0aGV0YTIgPCBsKSB7CisgICAgICBpZiAobCA8IGRpc3RhbmNlTWF4
MikgeworICAgICAgICBpZiAoeCA9PT0gMCkgeCA9IGppZ2dsZSgpLCBsICs9IHggKiB4OworICAg
ICAgICBpZiAoeSA9PT0gMCkgeSA9IGppZ2dsZSgpLCBsICs9IHkgKiB5OworICAgICAgICBpZiAo
bCA8IGRpc3RhbmNlTWluMikgbCA9IE1hdGguc3FydChkaXN0YW5jZU1pbjIgKiBsKTsKKyAgICAg
ICAgbm9kZS52eCArPSB4ICogcXVhZC52YWx1ZSAqIGFscGhhIC8gbDsKKyAgICAgICAgbm9kZS52
eSArPSB5ICogcXVhZC52YWx1ZSAqIGFscGhhIC8gbDsKKyAgICAgIH0KKyAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKworICAgIC8vIE90aGVyd2lzZSwgcHJvY2VzcyBwb2ludHMgZGlyZWN0bHku
CisgICAgZWxzZSBpZiAocXVhZC5sZW5ndGggfHwgbCA+PSBkaXN0YW5jZU1heDIpIHJldHVybjsK
KworICAgIC8vIExpbWl0IGZvcmNlcyBmb3IgdmVyeSBjbG9zZSBub2RlczsgcmFuZG9taXplIGRp
cmVjdGlvbiBpZiBjb2luY2lkZW50LgorICAgIGlmIChxdWFkLmRhdGEgIT09IG5vZGUgfHwgcXVh
ZC5uZXh0KSB7CisgICAgICBpZiAoeCA9PT0gMCkgeCA9IGppZ2dsZSgpLCBsICs9IHggKiB4Owor
ICAgICAgaWYgKHkgPT09IDApIHkgPSBqaWdnbGUoKSwgbCArPSB5ICogeTsKKyAgICAgIGlmIChs
IDwgZGlzdGFuY2VNaW4yKSBsID0gTWF0aC5zcXJ0KGRpc3RhbmNlTWluMiAqIGwpOworICAgIH0K
KworICAgIGRvIGlmIChxdWFkLmRhdGEgIT09IG5vZGUpIHsKKyAgICAgIHcgPSBzdHJlbmd0aHNb
cXVhZC5kYXRhLmluZGV4XSAqIGFscGhhIC8gbDsKKyAgICAgIG5vZGUudnggKz0geCAqIHc7Cisg
ICAgICBub2RlLnZ5ICs9IHkgKiB3OworICAgIH0gd2hpbGUgKHF1YWQgPSBxdWFkLm5leHQpOwor
ICB9CisKKyAgZm9yY2UuaW5pdGlhbGl6ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBub2RlcyA9IF87
CisgICAgaW5pdGlhbGl6ZSgpOworICB9OworCisgIGZvcmNlLnN0cmVuZ3RoID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHN0cmVuZ3RoID0gdHlwZW9mIF8g
PT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyksIGluaXRpYWxpemUoKSwgZm9yY2Up
IDogc3RyZW5ndGg7CisgIH07CisKKyAgZm9yY2UuZGlzdGFuY2VNaW4gPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZGlzdGFuY2VNaW4yID0gXyAqIF8sIGZv
cmNlKSA6IE1hdGguc3FydChkaXN0YW5jZU1pbjIpOworICB9OworCisgIGZvcmNlLmRpc3RhbmNl
TWF4ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGRpc3Rh
bmNlTWF4MiA9IF8gKiBfLCBmb3JjZSkgOiBNYXRoLnNxcnQoZGlzdGFuY2VNYXgyKTsKKyAgfTsK
KworICBmb3JjZS50aGV0YSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/ICh0aGV0YTIgPSBfICogXywgZm9yY2UpIDogTWF0aC5zcXJ0KHRoZXRhMik7CisgIH07
CisKKyAgcmV0dXJuIGZvcmNlOworfQorCitmdW5jdGlvbiByYWRpYWwocmFkaXVzLCB4LCB5KSB7
CisgIHZhciBub2RlcywKKyAgICAgIHN0cmVuZ3RoID0gY29uc3RhbnQkNygwLjEpLAorICAgICAg
c3RyZW5ndGhzLAorICAgICAgcmFkaXVzZXM7CisKKyAgaWYgKHR5cGVvZiByYWRpdXMgIT09ICJm
dW5jdGlvbiIpIHJhZGl1cyA9IGNvbnN0YW50JDcoK3JhZGl1cyk7CisgIGlmICh4ID09IG51bGwp
IHggPSAwOworICBpZiAoeSA9PSBudWxsKSB5ID0gMDsKKworICBmdW5jdGlvbiBmb3JjZShhbHBo
YSkgeworICAgIGZvciAodmFyIGkgPSAwLCBuID0gbm9kZXMubGVuZ3RoOyBpIDwgbjsgKytpKSB7
CisgICAgICB2YXIgbm9kZSA9IG5vZGVzW2ldLAorICAgICAgICAgIGR4ID0gbm9kZS54IC0geCB8
fCAxZS02LAorICAgICAgICAgIGR5ID0gbm9kZS55IC0geSB8fCAxZS02LAorICAgICAgICAgIHIg
PSBNYXRoLnNxcnQoZHggKiBkeCArIGR5ICogZHkpLAorICAgICAgICAgIGsgPSAocmFkaXVzZXNb
aV0gLSByKSAqIHN0cmVuZ3Roc1tpXSAqIGFscGhhIC8gcjsKKyAgICAgIG5vZGUudnggKz0gZHgg
KiBrOworICAgICAgbm9kZS52eSArPSBkeSAqIGs7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24g
aW5pdGlhbGl6ZSgpIHsKKyAgICBpZiAoIW5vZGVzKSByZXR1cm47CisgICAgdmFyIGksIG4gPSBu
b2Rlcy5sZW5ndGg7CisgICAgc3RyZW5ndGhzID0gbmV3IEFycmF5KG4pOworICAgIHJhZGl1c2Vz
ID0gbmV3IEFycmF5KG4pOworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIHJh
ZGl1c2VzW2ldID0gK3JhZGl1cyhub2Rlc1tpXSwgaSwgbm9kZXMpOworICAgICAgc3RyZW5ndGhz
W2ldID0gaXNOYU4ocmFkaXVzZXNbaV0pID8gMCA6ICtzdHJlbmd0aChub2Rlc1tpXSwgaSwgbm9k
ZXMpOworICAgIH0KKyAgfQorCisgIGZvcmNlLmluaXRpYWxpemUgPSBmdW5jdGlvbihfKSB7Cisg
ICAgbm9kZXMgPSBfLCBpbml0aWFsaXplKCk7CisgIH07CisKKyAgZm9yY2Uuc3RyZW5ndGggPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc3RyZW5ndGggPSB0
eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCQ3KCtfKSwgaW5pdGlhbGl6ZSgp
LCBmb3JjZSkgOiBzdHJlbmd0aDsKKyAgfTsKKworICBmb3JjZS5yYWRpdXMgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocmFkaXVzID0gdHlwZW9mIF8gPT09
ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyksIGluaXRpYWxpemUoKSwgZm9yY2UpIDog
cmFkaXVzOworICB9OworCisgIGZvcmNlLnggPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAoeCA9ICtfLCBmb3JjZSkgOiB4OworICB9OworCisgIGZvcmNlLnkg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeSA9ICtfLCBm
b3JjZSkgOiB5OworICB9OworCisgIHJldHVybiBmb3JjZTsKK30KKworZnVuY3Rpb24geCQyKHgp
IHsKKyAgdmFyIHN0cmVuZ3RoID0gY29uc3RhbnQkNygwLjEpLAorICAgICAgbm9kZXMsCisgICAg
ICBzdHJlbmd0aHMsCisgICAgICB4ejsKKworICBpZiAodHlwZW9mIHggIT09ICJmdW5jdGlvbiIp
IHggPSBjb25zdGFudCQ3KHggPT0gbnVsbCA/IDAgOiAreCk7CisKKyAgZnVuY3Rpb24gZm9yY2Uo
YWxwaGEpIHsKKyAgICBmb3IgKHZhciBpID0gMCwgbiA9IG5vZGVzLmxlbmd0aCwgbm9kZTsgaSA8
IG47ICsraSkgeworICAgICAgbm9kZSA9IG5vZGVzW2ldLCBub2RlLnZ4ICs9ICh4eltpXSAtIG5v
ZGUueCkgKiBzdHJlbmd0aHNbaV0gKiBhbHBoYTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBp
bml0aWFsaXplKCkgeworICAgIGlmICghbm9kZXMpIHJldHVybjsKKyAgICB2YXIgaSwgbiA9IG5v
ZGVzLmxlbmd0aDsKKyAgICBzdHJlbmd0aHMgPSBuZXcgQXJyYXkobik7CisgICAgeHogPSBuZXcg
QXJyYXkobik7CisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgc3RyZW5ndGhz
W2ldID0gaXNOYU4oeHpbaV0gPSAreChub2Rlc1tpXSwgaSwgbm9kZXMpKSA/IDAgOiArc3RyZW5n
dGgobm9kZXNbaV0sIGksIG5vZGVzKTsKKyAgICB9CisgIH0KKworICBmb3JjZS5pbml0aWFsaXpl
ID0gZnVuY3Rpb24oXykgeworICAgIG5vZGVzID0gXzsKKyAgICBpbml0aWFsaXplKCk7CisgIH07
CisKKyAgZm9yY2Uuc3RyZW5ndGggPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAoc3RyZW5ndGggPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25z
dGFudCQ3KCtfKSwgaW5pdGlhbGl6ZSgpLCBmb3JjZSkgOiBzdHJlbmd0aDsKKyAgfTsKKworICBm
b3JjZS54ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHgg
PSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCQ3KCtfKSwgaW5pdGlhbGl6
ZSgpLCBmb3JjZSkgOiB4OworICB9OworCisgIHJldHVybiBmb3JjZTsKK30KKworZnVuY3Rpb24g
eSQyKHkpIHsKKyAgdmFyIHN0cmVuZ3RoID0gY29uc3RhbnQkNygwLjEpLAorICAgICAgbm9kZXMs
CisgICAgICBzdHJlbmd0aHMsCisgICAgICB5ejsKKworICBpZiAodHlwZW9mIHkgIT09ICJmdW5j
dGlvbiIpIHkgPSBjb25zdGFudCQ3KHkgPT0gbnVsbCA/IDAgOiAreSk7CisKKyAgZnVuY3Rpb24g
Zm9yY2UoYWxwaGEpIHsKKyAgICBmb3IgKHZhciBpID0gMCwgbiA9IG5vZGVzLmxlbmd0aCwgbm9k
ZTsgaSA8IG47ICsraSkgeworICAgICAgbm9kZSA9IG5vZGVzW2ldLCBub2RlLnZ5ICs9ICh5eltp
XSAtIG5vZGUueSkgKiBzdHJlbmd0aHNbaV0gKiBhbHBoYTsKKyAgICB9CisgIH0KKworICBmdW5j
dGlvbiBpbml0aWFsaXplKCkgeworICAgIGlmICghbm9kZXMpIHJldHVybjsKKyAgICB2YXIgaSwg
biA9IG5vZGVzLmxlbmd0aDsKKyAgICBzdHJlbmd0aHMgPSBuZXcgQXJyYXkobik7CisgICAgeXog
PSBuZXcgQXJyYXkobik7CisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgc3Ry
ZW5ndGhzW2ldID0gaXNOYU4oeXpbaV0gPSAreShub2Rlc1tpXSwgaSwgbm9kZXMpKSA/IDAgOiAr
c3RyZW5ndGgobm9kZXNbaV0sIGksIG5vZGVzKTsKKyAgICB9CisgIH0KKworICBmb3JjZS5pbml0
aWFsaXplID0gZnVuY3Rpb24oXykgeworICAgIG5vZGVzID0gXzsKKyAgICBpbml0aWFsaXplKCk7
CisgIH07CisKKyAgZm9yY2Uuc3RyZW5ndGggPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAoc3RyZW5ndGggPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8g
OiBjb25zdGFudCQ3KCtfKSwgaW5pdGlhbGl6ZSgpLCBmb3JjZSkgOiBzdHJlbmd0aDsKKyAgfTsK
KworICBmb3JjZS55ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKHkgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCQ3KCtfKSwgaW5p
dGlhbGl6ZSgpLCBmb3JjZSkgOiB5OworICB9OworCisgIHJldHVybiBmb3JjZTsKK30KKworLy8g
Q29tcHV0ZXMgdGhlIGRlY2ltYWwgY29lZmZpY2llbnQgYW5kIGV4cG9uZW50IG9mIHRoZSBzcGVj
aWZpZWQgbnVtYmVyIHggd2l0aAorLy8gc2lnbmlmaWNhbnQgZGlnaXRzIHAsIHdoZXJlIHggaXMg
cG9zaXRpdmUgYW5kIHAgaXMgaW4gWzEsIDIxXSBvciB1bmRlZmluZWQuCisvLyBGb3IgZXhhbXBs
ZSwgZm9ybWF0RGVjaW1hbCgxLjIzKSByZXR1cm5zIFsiMTIzIiwgMF0uCitmdW5jdGlvbiBmb3Jt
YXREZWNpbWFsKHgsIHApIHsKKyAgaWYgKChpID0gKHggPSBwID8geC50b0V4cG9uZW50aWFsKHAg
LSAxKSA6IHgudG9FeHBvbmVudGlhbCgpKS5pbmRleE9mKCJlIikpIDwgMCkgcmV0dXJuIG51bGw7
IC8vIE5hTiwgwrFJbmZpbml0eQorICB2YXIgaSwgY29lZmZpY2llbnQgPSB4LnNsaWNlKDAsIGkp
OworCisgIC8vIFRoZSBzdHJpbmcgcmV0dXJuZWQgYnkgdG9FeHBvbmVudGlhbCBlaXRoZXIgaGFz
IHRoZSBmb3JtIFxkXC5cZCtlWy0rXVxkKworICAvLyAoZS5nLiwgMS4yZSszKSBvciB0aGUgZm9y
bSBcZGVbLStdXGQrIChlLmcuLCAxZSszKS4KKyAgcmV0dXJuIFsKKyAgICBjb2VmZmljaWVudC5s
ZW5ndGggPiAxID8gY29lZmZpY2llbnRbMF0gKyBjb2VmZmljaWVudC5zbGljZSgyKSA6IGNvZWZm
aWNpZW50LAorICAgICt4LnNsaWNlKGkgKyAxKQorICBdOworfQorCitmdW5jdGlvbiBleHBvbmVu
dCQxKHgpIHsKKyAgcmV0dXJuIHggPSBmb3JtYXREZWNpbWFsKE1hdGguYWJzKHgpKSwgeCA/IHhb
MV0gOiBOYU47Cit9CisKK2Z1bmN0aW9uIGZvcm1hdEdyb3VwKGdyb3VwaW5nLCB0aG91c2FuZHMp
IHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHZhbHVlLCB3aWR0aCkgeworICAgIHZhciBpID0gdmFsdWUu
bGVuZ3RoLAorICAgICAgICB0ID0gW10sCisgICAgICAgIGogPSAwLAorICAgICAgICBnID0gZ3Jv
dXBpbmdbMF0sCisgICAgICAgIGxlbmd0aCA9IDA7CisKKyAgICB3aGlsZSAoaSA+IDAgJiYgZyA+
IDApIHsKKyAgICAgIGlmIChsZW5ndGggKyBnICsgMSA+IHdpZHRoKSBnID0gTWF0aC5tYXgoMSwg
d2lkdGggLSBsZW5ndGgpOworICAgICAgdC5wdXNoKHZhbHVlLnN1YnN0cmluZyhpIC09IGcsIGkg
KyBnKSk7CisgICAgICBpZiAoKGxlbmd0aCArPSBnICsgMSkgPiB3aWR0aCkgYnJlYWs7CisgICAg
ICBnID0gZ3JvdXBpbmdbaiA9IChqICsgMSkgJSBncm91cGluZy5sZW5ndGhdOworICAgIH0KKwor
ICAgIHJldHVybiB0LnJldmVyc2UoKS5qb2luKHRob3VzYW5kcyk7CisgIH07Cit9CisKK2Z1bmN0
aW9uIGZvcm1hdE51bWVyYWxzKG51bWVyYWxzKSB7CisgIHJldHVybiBmdW5jdGlvbih2YWx1ZSkg
eworICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9bMC05XS9nLCBmdW5jdGlvbihpKSB7CisgICAg
ICByZXR1cm4gbnVtZXJhbHNbK2ldOworICAgIH0pOworICB9OworfQorCisvLyBbW2ZpbGxdYWxp
Z25dW3NpZ25dW3N5bWJvbF1bMF1bd2lkdGhdWyxdWy5wcmVjaXNpb25dW35dW3R5cGVdCit2YXIg
cmUgPSAvXig/OiguKT8oWzw+PV5dKSk/KFsrXC0oIF0pPyhbJCNdKT8oMCk/KFxkKyk/KCwpPyhc
LlxkKyk/KH4pPyhbYS16JV0pPyQvaTsKKworZnVuY3Rpb24gZm9ybWF0U3BlY2lmaWVyKHNwZWNp
ZmllcikgeworICBpZiAoIShtYXRjaCA9IHJlLmV4ZWMoc3BlY2lmaWVyKSkpIHRocm93IG5ldyBF
cnJvcigiaW52YWxpZCBmb3JtYXQ6ICIgKyBzcGVjaWZpZXIpOworICB2YXIgbWF0Y2g7CisgIHJl
dHVybiBuZXcgRm9ybWF0U3BlY2lmaWVyKHsKKyAgICBmaWxsOiBtYXRjaFsxXSwKKyAgICBhbGln
bjogbWF0Y2hbMl0sCisgICAgc2lnbjogbWF0Y2hbM10sCisgICAgc3ltYm9sOiBtYXRjaFs0XSwK
KyAgICB6ZXJvOiBtYXRjaFs1XSwKKyAgICB3aWR0aDogbWF0Y2hbNl0sCisgICAgY29tbWE6IG1h
dGNoWzddLAorICAgIHByZWNpc2lvbjogbWF0Y2hbOF0gJiYgbWF0Y2hbOF0uc2xpY2UoMSksCisg
ICAgdHJpbTogbWF0Y2hbOV0sCisgICAgdHlwZTogbWF0Y2hbMTBdCisgIH0pOworfQorCitmb3Jt
YXRTcGVjaWZpZXIucHJvdG90eXBlID0gRm9ybWF0U3BlY2lmaWVyLnByb3RvdHlwZTsgLy8gaW5z
dGFuY2VvZgorCitmdW5jdGlvbiBGb3JtYXRTcGVjaWZpZXIoc3BlY2lmaWVyKSB7CisgIHRoaXMu
ZmlsbCA9IHNwZWNpZmllci5maWxsID09PSB1bmRlZmluZWQgPyAiICIgOiBzcGVjaWZpZXIuZmls
bCArICIiOworICB0aGlzLmFsaWduID0gc3BlY2lmaWVyLmFsaWduID09PSB1bmRlZmluZWQgPyAi
PiIgOiBzcGVjaWZpZXIuYWxpZ24gKyAiIjsKKyAgdGhpcy5zaWduID0gc3BlY2lmaWVyLnNpZ24g
PT09IHVuZGVmaW5lZCA/ICItIiA6IHNwZWNpZmllci5zaWduICsgIiI7CisgIHRoaXMuc3ltYm9s
ID0gc3BlY2lmaWVyLnN5bWJvbCA9PT0gdW5kZWZpbmVkID8gIiIgOiBzcGVjaWZpZXIuc3ltYm9s
ICsgIiI7CisgIHRoaXMuemVybyA9ICEhc3BlY2lmaWVyLnplcm87CisgIHRoaXMud2lkdGggPSBz
cGVjaWZpZXIud2lkdGggPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6ICtzcGVjaWZpZXIud2lk
dGg7CisgIHRoaXMuY29tbWEgPSAhIXNwZWNpZmllci5jb21tYTsKKyAgdGhpcy5wcmVjaXNpb24g
PSBzcGVjaWZpZXIucHJlY2lzaW9uID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiArc3BlY2lm
aWVyLnByZWNpc2lvbjsKKyAgdGhpcy50cmltID0gISFzcGVjaWZpZXIudHJpbTsKKyAgdGhpcy50
eXBlID0gc3BlY2lmaWVyLnR5cGUgPT09IHVuZGVmaW5lZCA/ICIiIDogc3BlY2lmaWVyLnR5cGUg
KyAiIjsKK30KKworRm9ybWF0U3BlY2lmaWVyLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9u
KCkgeworICByZXR1cm4gdGhpcy5maWxsCisgICAgICArIHRoaXMuYWxpZ24KKyAgICAgICsgdGhp
cy5zaWduCisgICAgICArIHRoaXMuc3ltYm9sCisgICAgICArICh0aGlzLnplcm8gPyAiMCIgOiAi
IikKKyAgICAgICsgKHRoaXMud2lkdGggPT09IHVuZGVmaW5lZCA/ICIiIDogTWF0aC5tYXgoMSwg
dGhpcy53aWR0aCB8IDApKQorICAgICAgKyAodGhpcy5jb21tYSA/ICIsIiA6ICIiKQorICAgICAg
KyAodGhpcy5wcmVjaXNpb24gPT09IHVuZGVmaW5lZCA/ICIiIDogIi4iICsgTWF0aC5tYXgoMCwg
dGhpcy5wcmVjaXNpb24gfCAwKSkKKyAgICAgICsgKHRoaXMudHJpbSA/ICJ+IiA6ICIiKQorICAg
ICAgKyB0aGlzLnR5cGU7Cit9OworCisvLyBUcmltcyBpbnNpZ25pZmljYW50IHplcm9zLCBlLmcu
LCByZXBsYWNlcyAxLjIwMDBrIHdpdGggMS4yay4KK2Z1bmN0aW9uIGZvcm1hdFRyaW0ocykgewor
ICBvdXQ6IGZvciAodmFyIG4gPSBzLmxlbmd0aCwgaSA9IDEsIGkwID0gLTEsIGkxOyBpIDwgbjsg
KytpKSB7CisgICAgc3dpdGNoIChzW2ldKSB7CisgICAgICBjYXNlICIuIjogaTAgPSBpMSA9IGk7
IGJyZWFrOworICAgICAgY2FzZSAiMCI6IGlmIChpMCA9PT0gMCkgaTAgPSBpOyBpMSA9IGk7IGJy
ZWFrOworICAgICAgZGVmYXVsdDogaWYgKGkwID4gMCkgeyBpZiAoIStzW2ldKSBicmVhayBvdXQ7
IGkwID0gMDsgfSBicmVhazsKKyAgICB9CisgIH0KKyAgcmV0dXJuIGkwID4gMCA/IHMuc2xpY2Uo
MCwgaTApICsgcy5zbGljZShpMSArIDEpIDogczsKK30KKwordmFyIHByZWZpeEV4cG9uZW50Owor
CitmdW5jdGlvbiBmb3JtYXRQcmVmaXhBdXRvKHgsIHApIHsKKyAgdmFyIGQgPSBmb3JtYXREZWNp
bWFsKHgsIHApOworICBpZiAoIWQpIHJldHVybiB4ICsgIiI7CisgIHZhciBjb2VmZmljaWVudCA9
IGRbMF0sCisgICAgICBleHBvbmVudCA9IGRbMV0sCisgICAgICBpID0gZXhwb25lbnQgLSAocHJl
Zml4RXhwb25lbnQgPSBNYXRoLm1heCgtOCwgTWF0aC5taW4oOCwgTWF0aC5mbG9vcihleHBvbmVu
dCAvIDMpKSkgKiAzKSArIDEsCisgICAgICBuID0gY29lZmZpY2llbnQubGVuZ3RoOworICByZXR1
cm4gaSA9PT0gbiA/IGNvZWZmaWNpZW50CisgICAgICA6IGkgPiBuID8gY29lZmZpY2llbnQgKyBu
ZXcgQXJyYXkoaSAtIG4gKyAxKS5qb2luKCIwIikKKyAgICAgIDogaSA+IDAgPyBjb2VmZmljaWVu
dC5zbGljZSgwLCBpKSArICIuIiArIGNvZWZmaWNpZW50LnNsaWNlKGkpCisgICAgICA6ICIwLiIg
KyBuZXcgQXJyYXkoMSAtIGkpLmpvaW4oIjAiKSArIGZvcm1hdERlY2ltYWwoeCwgTWF0aC5tYXgo
MCwgcCArIGkgLSAxKSlbMF07IC8vIGxlc3MgdGhhbiAxeSEKK30KKworZnVuY3Rpb24gZm9ybWF0
Um91bmRlZCh4LCBwKSB7CisgIHZhciBkID0gZm9ybWF0RGVjaW1hbCh4LCBwKTsKKyAgaWYgKCFk
KSByZXR1cm4geCArICIiOworICB2YXIgY29lZmZpY2llbnQgPSBkWzBdLAorICAgICAgZXhwb25l
bnQgPSBkWzFdOworICByZXR1cm4gZXhwb25lbnQgPCAwID8gIjAuIiArIG5ldyBBcnJheSgtZXhw
b25lbnQpLmpvaW4oIjAiKSArIGNvZWZmaWNpZW50CisgICAgICA6IGNvZWZmaWNpZW50Lmxlbmd0
aCA+IGV4cG9uZW50ICsgMSA/IGNvZWZmaWNpZW50LnNsaWNlKDAsIGV4cG9uZW50ICsgMSkgKyAi
LiIgKyBjb2VmZmljaWVudC5zbGljZShleHBvbmVudCArIDEpCisgICAgICA6IGNvZWZmaWNpZW50
ICsgbmV3IEFycmF5KGV4cG9uZW50IC0gY29lZmZpY2llbnQubGVuZ3RoICsgMikuam9pbigiMCIp
OworfQorCit2YXIgZm9ybWF0VHlwZXMgPSB7CisgICIlIjogZnVuY3Rpb24oeCwgcCkgeyByZXR1
cm4gKHggKiAxMDApLnRvRml4ZWQocCk7IH0sCisgICJiIjogZnVuY3Rpb24oeCkgeyByZXR1cm4g
TWF0aC5yb3VuZCh4KS50b1N0cmluZygyKTsgfSwKKyAgImMiOiBmdW5jdGlvbih4KSB7IHJldHVy
biB4ICsgIiI7IH0sCisgICJkIjogZnVuY3Rpb24oeCkgeyByZXR1cm4gTWF0aC5yb3VuZCh4KS50
b1N0cmluZygxMCk7IH0sCisgICJlIjogZnVuY3Rpb24oeCwgcCkgeyByZXR1cm4geC50b0V4cG9u
ZW50aWFsKHApOyB9LAorICAiZiI6IGZ1bmN0aW9uKHgsIHApIHsgcmV0dXJuIHgudG9GaXhlZChw
KTsgfSwKKyAgImciOiBmdW5jdGlvbih4LCBwKSB7IHJldHVybiB4LnRvUHJlY2lzaW9uKHApOyB9
LAorICAibyI6IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIE1hdGgucm91bmQoeCkudG9TdHJpbmcoOCk7
IH0sCisgICJwIjogZnVuY3Rpb24oeCwgcCkgeyByZXR1cm4gZm9ybWF0Um91bmRlZCh4ICogMTAw
LCBwKTsgfSwKKyAgInIiOiBmb3JtYXRSb3VuZGVkLAorICAicyI6IGZvcm1hdFByZWZpeEF1dG8s
CisgICJYIjogZnVuY3Rpb24oeCkgeyByZXR1cm4gTWF0aC5yb3VuZCh4KS50b1N0cmluZygxNiku
dG9VcHBlckNhc2UoKTsgfSwKKyAgIngiOiBmdW5jdGlvbih4KSB7IHJldHVybiBNYXRoLnJvdW5k
KHgpLnRvU3RyaW5nKDE2KTsgfQorfTsKKworZnVuY3Rpb24gaWRlbnRpdHkkMyh4KSB7CisgIHJl
dHVybiB4OworfQorCit2YXIgbWFwJDIgPSBBcnJheS5wcm90b3R5cGUubWFwLAorICAgIHByZWZp
eGVzID0gWyJ5IiwieiIsImEiLCJmIiwicCIsIm4iLCJceEI1IiwibSIsIiIsImsiLCJNIiwiRyIs
IlQiLCJQIiwiRSIsIloiLCJZIl07CisKK2Z1bmN0aW9uIGZvcm1hdExvY2FsZShsb2NhbGUpIHsK
KyAgdmFyIGdyb3VwID0gbG9jYWxlLmdyb3VwaW5nID09PSB1bmRlZmluZWQgfHwgbG9jYWxlLnRo
b3VzYW5kcyA9PT0gdW5kZWZpbmVkID8gaWRlbnRpdHkkMyA6IGZvcm1hdEdyb3VwKG1hcCQyLmNh
bGwobG9jYWxlLmdyb3VwaW5nLCBOdW1iZXIpLCBsb2NhbGUudGhvdXNhbmRzICsgIiIpLAorICAg
ICAgY3VycmVuY3lQcmVmaXggPSBsb2NhbGUuY3VycmVuY3kgPT09IHVuZGVmaW5lZCA/ICIiIDog
bG9jYWxlLmN1cnJlbmN5WzBdICsgIiIsCisgICAgICBjdXJyZW5jeVN1ZmZpeCA9IGxvY2FsZS5j
dXJyZW5jeSA9PT0gdW5kZWZpbmVkID8gIiIgOiBsb2NhbGUuY3VycmVuY3lbMV0gKyAiIiwKKyAg
ICAgIGRlY2ltYWwgPSBsb2NhbGUuZGVjaW1hbCA9PT0gdW5kZWZpbmVkID8gIi4iIDogbG9jYWxl
LmRlY2ltYWwgKyAiIiwKKyAgICAgIG51bWVyYWxzID0gbG9jYWxlLm51bWVyYWxzID09PSB1bmRl
ZmluZWQgPyBpZGVudGl0eSQzIDogZm9ybWF0TnVtZXJhbHMobWFwJDIuY2FsbChsb2NhbGUubnVt
ZXJhbHMsIFN0cmluZykpLAorICAgICAgcGVyY2VudCA9IGxvY2FsZS5wZXJjZW50ID09PSB1bmRl
ZmluZWQgPyAiJSIgOiBsb2NhbGUucGVyY2VudCArICIiLAorICAgICAgbWludXMgPSBsb2NhbGUu
bWludXMgPT09IHVuZGVmaW5lZCA/ICItIiA6IGxvY2FsZS5taW51cyArICIiLAorICAgICAgbmFu
ID0gbG9jYWxlLm5hbiA9PT0gdW5kZWZpbmVkID8gIk5hTiIgOiBsb2NhbGUubmFuICsgIiI7CisK
KyAgZnVuY3Rpb24gbmV3Rm9ybWF0KHNwZWNpZmllcikgeworICAgIHNwZWNpZmllciA9IGZvcm1h
dFNwZWNpZmllcihzcGVjaWZpZXIpOworCisgICAgdmFyIGZpbGwgPSBzcGVjaWZpZXIuZmlsbCwK
KyAgICAgICAgYWxpZ24gPSBzcGVjaWZpZXIuYWxpZ24sCisgICAgICAgIHNpZ24gPSBzcGVjaWZp
ZXIuc2lnbiwKKyAgICAgICAgc3ltYm9sID0gc3BlY2lmaWVyLnN5bWJvbCwKKyAgICAgICAgemVy
byA9IHNwZWNpZmllci56ZXJvLAorICAgICAgICB3aWR0aCA9IHNwZWNpZmllci53aWR0aCwKKyAg
ICAgICAgY29tbWEgPSBzcGVjaWZpZXIuY29tbWEsCisgICAgICAgIHByZWNpc2lvbiA9IHNwZWNp
Zmllci5wcmVjaXNpb24sCisgICAgICAgIHRyaW0gPSBzcGVjaWZpZXIudHJpbSwKKyAgICAgICAg
dHlwZSA9IHNwZWNpZmllci50eXBlOworCisgICAgLy8gVGhlICJuIiB0eXBlIGlzIGFuIGFsaWFz
IGZvciAiLGciLgorICAgIGlmICh0eXBlID09PSAibiIpIGNvbW1hID0gdHJ1ZSwgdHlwZSA9ICJn
IjsKKworICAgIC8vIFRoZSAiIiB0eXBlLCBhbmQgYW55IGludmFsaWQgdHlwZSwgaXMgYW4gYWxp
YXMgZm9yICIuMTJ+ZyIuCisgICAgZWxzZSBpZiAoIWZvcm1hdFR5cGVzW3R5cGVdKSBwcmVjaXNp
b24gPT09IHVuZGVmaW5lZCAmJiAocHJlY2lzaW9uID0gMTIpLCB0cmltID0gdHJ1ZSwgdHlwZSA9
ICJnIjsKKworICAgIC8vIElmIHplcm8gZmlsbCBpcyBzcGVjaWZpZWQsIHBhZGRpbmcgZ29lcyBh
ZnRlciBzaWduIGFuZCBiZWZvcmUgZGlnaXRzLgorICAgIGlmICh6ZXJvIHx8IChmaWxsID09PSAi
MCIgJiYgYWxpZ24gPT09ICI9IikpIHplcm8gPSB0cnVlLCBmaWxsID0gIjAiLCBhbGlnbiA9ICI9
IjsKKworICAgIC8vIENvbXB1dGUgdGhlIHByZWZpeCBhbmQgc3VmZml4LgorICAgIC8vIEZvciBT
SS1wcmVmaXgsIHRoZSBzdWZmaXggaXMgbGF6aWx5IGNvbXB1dGVkLgorICAgIHZhciBwcmVmaXgg
PSBzeW1ib2wgPT09ICIkIiA/IGN1cnJlbmN5UHJlZml4IDogc3ltYm9sID09PSAiIyIgJiYgL1ti
b3hYXS8udGVzdCh0eXBlKSA/ICIwIiArIHR5cGUudG9Mb3dlckNhc2UoKSA6ICIiLAorICAgICAg
ICBzdWZmaXggPSBzeW1ib2wgPT09ICIkIiA/IGN1cnJlbmN5U3VmZml4IDogL1slcF0vLnRlc3Qo
dHlwZSkgPyBwZXJjZW50IDogIiI7CisKKyAgICAvLyBXaGF0IGZvcm1hdCBmdW5jdGlvbiBzaG91
bGQgd2UgdXNlPworICAgIC8vIElzIHRoaXMgYW4gaW50ZWdlciB0eXBlPworICAgIC8vIENhbiB0
aGlzIHR5cGUgZ2VuZXJhdGUgZXhwb25lbnRpYWwgbm90YXRpb24/CisgICAgdmFyIGZvcm1hdFR5
cGUgPSBmb3JtYXRUeXBlc1t0eXBlXSwKKyAgICAgICAgbWF5YmVTdWZmaXggPSAvW2RlZmdwcnMl
XS8udGVzdCh0eXBlKTsKKworICAgIC8vIFNldCB0aGUgZGVmYXVsdCBwcmVjaXNpb24gaWYgbm90
IHNwZWNpZmllZCwKKyAgICAvLyBvciBjbGFtcCB0aGUgc3BlY2lmaWVkIHByZWNpc2lvbiB0byB0
aGUgc3VwcG9ydGVkIHJhbmdlLgorICAgIC8vIEZvciBzaWduaWZpY2FudCBwcmVjaXNpb24sIGl0
IG11c3QgYmUgaW4gWzEsIDIxXS4KKyAgICAvLyBGb3IgZml4ZWQgcHJlY2lzaW9uLCBpdCBtdXN0
IGJlIGluIFswLCAyMF0uCisgICAgcHJlY2lzaW9uID0gcHJlY2lzaW9uID09PSB1bmRlZmluZWQg
PyA2CisgICAgICAgIDogL1tncHJzXS8udGVzdCh0eXBlKSA/IE1hdGgubWF4KDEsIE1hdGgubWlu
KDIxLCBwcmVjaXNpb24pKQorICAgICAgICA6IE1hdGgubWF4KDAsIE1hdGgubWluKDIwLCBwcmVj
aXNpb24pKTsKKworICAgIGZ1bmN0aW9uIGZvcm1hdCh2YWx1ZSkgeworICAgICAgdmFyIHZhbHVl
UHJlZml4ID0gcHJlZml4LAorICAgICAgICAgIHZhbHVlU3VmZml4ID0gc3VmZml4LAorICAgICAg
ICAgIGksIG4sIGM7CisKKyAgICAgIGlmICh0eXBlID09PSAiYyIpIHsKKyAgICAgICAgdmFsdWVT
dWZmaXggPSBmb3JtYXRUeXBlKHZhbHVlKSArIHZhbHVlU3VmZml4OworICAgICAgICB2YWx1ZSA9
ICIiOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgdmFsdWUgPSArdmFsdWU7CisKKyAgICAgICAg
Ly8gUGVyZm9ybSB0aGUgaW5pdGlhbCBmb3JtYXR0aW5nLgorICAgICAgICB2YXIgdmFsdWVOZWdh
dGl2ZSA9IHZhbHVlIDwgMDsKKyAgICAgICAgdmFsdWUgPSBpc05hTih2YWx1ZSkgPyBuYW4gOiBm
b3JtYXRUeXBlKE1hdGguYWJzKHZhbHVlKSwgcHJlY2lzaW9uKTsKKworICAgICAgICAvLyBUcmlt
IGluc2lnbmlmaWNhbnQgemVyb3MuCisgICAgICAgIGlmICh0cmltKSB2YWx1ZSA9IGZvcm1hdFRy
aW0odmFsdWUpOworCisgICAgICAgIC8vIElmIGEgbmVnYXRpdmUgdmFsdWUgcm91bmRzIHRvIHpl
cm8gZHVyaW5nIGZvcm1hdHRpbmcsIHRyZWF0IGFzIHBvc2l0aXZlLgorICAgICAgICBpZiAodmFs
dWVOZWdhdGl2ZSAmJiArdmFsdWUgPT09IDApIHZhbHVlTmVnYXRpdmUgPSBmYWxzZTsKKworICAg
ICAgICAvLyBDb21wdXRlIHRoZSBwcmVmaXggYW5kIHN1ZmZpeC4KKyAgICAgICAgdmFsdWVQcmVm
aXggPSAodmFsdWVOZWdhdGl2ZSA/IChzaWduID09PSAiKCIgPyBzaWduIDogbWludXMpIDogc2ln
biA9PT0gIi0iIHx8IHNpZ24gPT09ICIoIiA/ICIiIDogc2lnbikgKyB2YWx1ZVByZWZpeDsKKwor
ICAgICAgICB2YWx1ZVN1ZmZpeCA9ICh0eXBlID09PSAicyIgPyBwcmVmaXhlc1s4ICsgcHJlZml4
RXhwb25lbnQgLyAzXSA6ICIiKSArIHZhbHVlU3VmZml4ICsgKHZhbHVlTmVnYXRpdmUgJiYgc2ln
biA9PT0gIigiID8gIikiIDogIiIpOworCisgICAgICAgIC8vIEJyZWFrIHRoZSBmb3JtYXR0ZWQg
dmFsdWUgaW50byB0aGUgaW50ZWdlciDigJx2YWx1ZeKAnSBwYXJ0IHRoYXQgY2FuIGJlCisgICAg
ICAgIC8vIGdyb3VwZWQsIGFuZCBmcmFjdGlvbmFsIG9yIGV4cG9uZW50aWFsIOKAnHN1ZmZpeOKA
nSBwYXJ0IHRoYXQgaXMgbm90LgorICAgICAgICBpZiAobWF5YmVTdWZmaXgpIHsKKyAgICAgICAg
ICBpID0gLTEsIG4gPSB2YWx1ZS5sZW5ndGg7CisgICAgICAgICAgd2hpbGUgKCsraSA8IG4pIHsK
KyAgICAgICAgICAgIGlmIChjID0gdmFsdWUuY2hhckNvZGVBdChpKSwgNDggPiBjIHx8IGMgPiA1
NykgeworICAgICAgICAgICAgICB2YWx1ZVN1ZmZpeCA9IChjID09PSA0NiA/IGRlY2ltYWwgKyB2
YWx1ZS5zbGljZShpICsgMSkgOiB2YWx1ZS5zbGljZShpKSkgKyB2YWx1ZVN1ZmZpeDsKKyAgICAg
ICAgICAgICAgdmFsdWUgPSB2YWx1ZS5zbGljZSgwLCBpKTsKKyAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisKKyAgICAg
IC8vIElmIHRoZSBmaWxsIGNoYXJhY3RlciBpcyBub3QgIjAiLCBncm91cGluZyBpcyBhcHBsaWVk
IGJlZm9yZSBwYWRkaW5nLgorICAgICAgaWYgKGNvbW1hICYmICF6ZXJvKSB2YWx1ZSA9IGdyb3Vw
KHZhbHVlLCBJbmZpbml0eSk7CisKKyAgICAgIC8vIENvbXB1dGUgdGhlIHBhZGRpbmcuCisgICAg
ICB2YXIgbGVuZ3RoID0gdmFsdWVQcmVmaXgubGVuZ3RoICsgdmFsdWUubGVuZ3RoICsgdmFsdWVT
dWZmaXgubGVuZ3RoLAorICAgICAgICAgIHBhZGRpbmcgPSBsZW5ndGggPCB3aWR0aCA/IG5ldyBB
cnJheSh3aWR0aCAtIGxlbmd0aCArIDEpLmpvaW4oZmlsbCkgOiAiIjsKKworICAgICAgLy8gSWYg
dGhlIGZpbGwgY2hhcmFjdGVyIGlzICIwIiwgZ3JvdXBpbmcgaXMgYXBwbGllZCBhZnRlciBwYWRk
aW5nLgorICAgICAgaWYgKGNvbW1hICYmIHplcm8pIHZhbHVlID0gZ3JvdXAocGFkZGluZyArIHZh
bHVlLCBwYWRkaW5nLmxlbmd0aCA/IHdpZHRoIC0gdmFsdWVTdWZmaXgubGVuZ3RoIDogSW5maW5p
dHkpLCBwYWRkaW5nID0gIiI7CisKKyAgICAgIC8vIFJlY29uc3RydWN0IHRoZSBmaW5hbCBvdXRw
dXQgYmFzZWQgb24gdGhlIGRlc2lyZWQgYWxpZ25tZW50LgorICAgICAgc3dpdGNoIChhbGlnbikg
eworICAgICAgICBjYXNlICI8IjogdmFsdWUgPSB2YWx1ZVByZWZpeCArIHZhbHVlICsgdmFsdWVT
dWZmaXggKyBwYWRkaW5nOyBicmVhazsKKyAgICAgICAgY2FzZSAiPSI6IHZhbHVlID0gdmFsdWVQ
cmVmaXggKyBwYWRkaW5nICsgdmFsdWUgKyB2YWx1ZVN1ZmZpeDsgYnJlYWs7CisgICAgICAgIGNh
c2UgIl4iOiB2YWx1ZSA9IHBhZGRpbmcuc2xpY2UoMCwgbGVuZ3RoID0gcGFkZGluZy5sZW5ndGgg
Pj4gMSkgKyB2YWx1ZVByZWZpeCArIHZhbHVlICsgdmFsdWVTdWZmaXggKyBwYWRkaW5nLnNsaWNl
KGxlbmd0aCk7IGJyZWFrOworICAgICAgICBkZWZhdWx0OiB2YWx1ZSA9IHBhZGRpbmcgKyB2YWx1
ZVByZWZpeCArIHZhbHVlICsgdmFsdWVTdWZmaXg7IGJyZWFrOworICAgICAgfQorCisgICAgICBy
ZXR1cm4gbnVtZXJhbHModmFsdWUpOworICAgIH0KKworICAgIGZvcm1hdC50b1N0cmluZyA9IGZ1
bmN0aW9uKCkgeworICAgICAgcmV0dXJuIHNwZWNpZmllciArICIiOworICAgIH07CisKKyAgICBy
ZXR1cm4gZm9ybWF0OworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0UHJlZml4KHNwZWNpZmllciwg
dmFsdWUpIHsKKyAgICB2YXIgZiA9IG5ld0Zvcm1hdCgoc3BlY2lmaWVyID0gZm9ybWF0U3BlY2lm
aWVyKHNwZWNpZmllciksIHNwZWNpZmllci50eXBlID0gImYiLCBzcGVjaWZpZXIpKSwKKyAgICAg
ICAgZSA9IE1hdGgubWF4KC04LCBNYXRoLm1pbig4LCBNYXRoLmZsb29yKGV4cG9uZW50JDEodmFs
dWUpIC8gMykpKSAqIDMsCisgICAgICAgIGsgPSBNYXRoLnBvdygxMCwgLWUpLAorICAgICAgICBw
cmVmaXggPSBwcmVmaXhlc1s4ICsgZSAvIDNdOworICAgIHJldHVybiBmdW5jdGlvbih2YWx1ZSkg
eworICAgICAgcmV0dXJuIGYoayAqIHZhbHVlKSArIHByZWZpeDsKKyAgICB9OworICB9CisKKyAg
cmV0dXJuIHsKKyAgICBmb3JtYXQ6IG5ld0Zvcm1hdCwKKyAgICBmb3JtYXRQcmVmaXg6IGZvcm1h
dFByZWZpeAorICB9OworfQorCit2YXIgbG9jYWxlOworCitkZWZhdWx0TG9jYWxlKHsKKyAgZGVj
aW1hbDogIi4iLAorICB0aG91c2FuZHM6ICIsIiwKKyAgZ3JvdXBpbmc6IFszXSwKKyAgY3VycmVu
Y3k6IFsiJCIsICIiXSwKKyAgbWludXM6ICItIgorfSk7CisKK2Z1bmN0aW9uIGRlZmF1bHRMb2Nh
bGUoZGVmaW5pdGlvbikgeworICBsb2NhbGUgPSBmb3JtYXRMb2NhbGUoZGVmaW5pdGlvbik7Cisg
IGV4cG9ydHMuZm9ybWF0ID0gbG9jYWxlLmZvcm1hdDsKKyAgZXhwb3J0cy5mb3JtYXRQcmVmaXgg
PSBsb2NhbGUuZm9ybWF0UHJlZml4OworICByZXR1cm4gbG9jYWxlOworfQorCitmdW5jdGlvbiBw
cmVjaXNpb25GaXhlZChzdGVwKSB7CisgIHJldHVybiBNYXRoLm1heCgwLCAtZXhwb25lbnQkMShN
YXRoLmFicyhzdGVwKSkpOworfQorCitmdW5jdGlvbiBwcmVjaXNpb25QcmVmaXgoc3RlcCwgdmFs
dWUpIHsKKyAgcmV0dXJuIE1hdGgubWF4KDAsIE1hdGgubWF4KC04LCBNYXRoLm1pbig4LCBNYXRo
LmZsb29yKGV4cG9uZW50JDEodmFsdWUpIC8gMykpKSAqIDMgLSBleHBvbmVudCQxKE1hdGguYWJz
KHN0ZXApKSk7Cit9CisKK2Z1bmN0aW9uIHByZWNpc2lvblJvdW5kKHN0ZXAsIG1heCkgeworICBz
dGVwID0gTWF0aC5hYnMoc3RlcCksIG1heCA9IE1hdGguYWJzKG1heCkgLSBzdGVwOworICByZXR1
cm4gTWF0aC5tYXgoMCwgZXhwb25lbnQkMShtYXgpIC0gZXhwb25lbnQkMShzdGVwKSkgKyAxOwor
fQorCisvLyBBZGRzIGZsb2F0aW5nIHBvaW50IG51bWJlcnMgd2l0aCB0d2ljZSB0aGUgbm9ybWFs
IHByZWNpc2lvbi4KKy8vIFJlZmVyZW5jZTogSi4gUi4gU2hld2NodWssIEFkYXB0aXZlIFByZWNp
c2lvbiBGbG9hdGluZy1Qb2ludCBBcml0aG1ldGljIGFuZAorLy8gRmFzdCBSb2J1c3QgR2VvbWV0
cmljIFByZWRpY2F0ZXMsIERpc2NyZXRlICYgQ29tcHV0YXRpb25hbCBHZW9tZXRyeSAxOCgzKQor
Ly8gMzA14oCTMzYzICgxOTk3KS4KKy8vIENvZGUgYWRhcHRlZCBmcm9tIEdlb2dyYXBoaWNMaWIg
YnkgQ2hhcmxlcyBGLiBGLiBLYXJuZXksCisvLyBodHRwOi8vZ2VvZ3JhcGhpY2xpYi5zb3VyY2Vm
b3JnZS5uZXQvCisKK2Z1bmN0aW9uIGFkZGVyKCkgeworICByZXR1cm4gbmV3IEFkZGVyOworfQor
CitmdW5jdGlvbiBBZGRlcigpIHsKKyAgdGhpcy5yZXNldCgpOworfQorCitBZGRlci5wcm90b3R5
cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBBZGRlciwKKyAgcmVzZXQ6IGZ1bmN0aW9uKCkgeworICAg
IHRoaXMucyA9IC8vIHJvdW5kZWQgdmFsdWUKKyAgICB0aGlzLnQgPSAwOyAvLyBleGFjdCBlcnJv
cgorICB9LAorICBhZGQ6IGZ1bmN0aW9uKHkpIHsKKyAgICBhZGQkMSh0ZW1wLCB5LCB0aGlzLnQp
OworICAgIGFkZCQxKHRoaXMsIHRlbXAucywgdGhpcy5zKTsKKyAgICBpZiAodGhpcy5zKSB0aGlz
LnQgKz0gdGVtcC50OworICAgIGVsc2UgdGhpcy5zID0gdGVtcC50OworICB9LAorICB2YWx1ZU9m
OiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gdGhpcy5zOworICB9Cit9OworCit2YXIgdGVtcCA9
IG5ldyBBZGRlcjsKKworZnVuY3Rpb24gYWRkJDEoYWRkZXIsIGEsIGIpIHsKKyAgdmFyIHggPSBh
ZGRlci5zID0gYSArIGIsCisgICAgICBidiA9IHggLSBhLAorICAgICAgYXYgPSB4IC0gYnY7Cisg
IGFkZGVyLnQgPSAoYSAtIGF2KSArIChiIC0gYnYpOworfQorCit2YXIgZXBzaWxvbiQyID0gMWUt
NjsKK3ZhciBlcHNpbG9uMiQxID0gMWUtMTI7Cit2YXIgcGkkMyA9IE1hdGguUEk7Cit2YXIgaGFs
ZlBpJDIgPSBwaSQzIC8gMjsKK3ZhciBxdWFydGVyUGkgPSBwaSQzIC8gNDsKK3ZhciB0YXUkMyA9
IHBpJDMgKiAyOworCit2YXIgZGVncmVlcyQxID0gMTgwIC8gcGkkMzsKK3ZhciByYWRpYW5zID0g
cGkkMyAvIDE4MDsKKwordmFyIGFicyA9IE1hdGguYWJzOwordmFyIGF0YW4gPSBNYXRoLmF0YW47
Cit2YXIgYXRhbjIgPSBNYXRoLmF0YW4yOwordmFyIGNvcyQxID0gTWF0aC5jb3M7Cit2YXIgY2Vp
bCA9IE1hdGguY2VpbDsKK3ZhciBleHAgPSBNYXRoLmV4cDsKK3ZhciBsb2cgPSBNYXRoLmxvZzsK
K3ZhciBwb3cgPSBNYXRoLnBvdzsKK3ZhciBzaW4kMSA9IE1hdGguc2luOwordmFyIHNpZ24gPSBN
YXRoLnNpZ24gfHwgZnVuY3Rpb24oeCkgeyByZXR1cm4geCA+IDAgPyAxIDogeCA8IDAgPyAtMSA6
IDA7IH07Cit2YXIgc3FydCA9IE1hdGguc3FydDsKK3ZhciB0YW4gPSBNYXRoLnRhbjsKKworZnVu
Y3Rpb24gYWNvcyh4KSB7CisgIHJldHVybiB4ID4gMSA/IDAgOiB4IDwgLTEgPyBwaSQzIDogTWF0
aC5hY29zKHgpOworfQorCitmdW5jdGlvbiBhc2luKHgpIHsKKyAgcmV0dXJuIHggPiAxID8gaGFs
ZlBpJDIgOiB4IDwgLTEgPyAtaGFsZlBpJDIgOiBNYXRoLmFzaW4oeCk7Cit9CisKK2Z1bmN0aW9u
IGhhdmVyc2luKHgpIHsKKyAgcmV0dXJuICh4ID0gc2luJDEoeCAvIDIpKSAqIHg7Cit9CisKK2Z1
bmN0aW9uIG5vb3AkMigpIHt9CisKK2Z1bmN0aW9uIHN0cmVhbUdlb21ldHJ5KGdlb21ldHJ5LCBz
dHJlYW0pIHsKKyAgaWYgKGdlb21ldHJ5ICYmIHN0cmVhbUdlb21ldHJ5VHlwZS5oYXNPd25Qcm9w
ZXJ0eShnZW9tZXRyeS50eXBlKSkgeworICAgIHN0cmVhbUdlb21ldHJ5VHlwZVtnZW9tZXRyeS50
eXBlXShnZW9tZXRyeSwgc3RyZWFtKTsKKyAgfQorfQorCit2YXIgc3RyZWFtT2JqZWN0VHlwZSA9
IHsKKyAgRmVhdHVyZTogZnVuY3Rpb24ob2JqZWN0LCBzdHJlYW0pIHsKKyAgICBzdHJlYW1HZW9t
ZXRyeShvYmplY3QuZ2VvbWV0cnksIHN0cmVhbSk7CisgIH0sCisgIEZlYXR1cmVDb2xsZWN0aW9u
OiBmdW5jdGlvbihvYmplY3QsIHN0cmVhbSkgeworICAgIHZhciBmZWF0dXJlcyA9IG9iamVjdC5m
ZWF0dXJlcywgaSA9IC0xLCBuID0gZmVhdHVyZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBu
KSBzdHJlYW1HZW9tZXRyeShmZWF0dXJlc1tpXS5nZW9tZXRyeSwgc3RyZWFtKTsKKyAgfQorfTsK
KwordmFyIHN0cmVhbUdlb21ldHJ5VHlwZSA9IHsKKyAgU3BoZXJlOiBmdW5jdGlvbihvYmplY3Qs
IHN0cmVhbSkgeworICAgIHN0cmVhbS5zcGhlcmUoKTsKKyAgfSwKKyAgUG9pbnQ6IGZ1bmN0aW9u
KG9iamVjdCwgc3RyZWFtKSB7CisgICAgb2JqZWN0ID0gb2JqZWN0LmNvb3JkaW5hdGVzOworICAg
IHN0cmVhbS5wb2ludChvYmplY3RbMF0sIG9iamVjdFsxXSwgb2JqZWN0WzJdKTsKKyAgfSwKKyAg
TXVsdGlQb2ludDogZnVuY3Rpb24ob2JqZWN0LCBzdHJlYW0pIHsKKyAgICB2YXIgY29vcmRpbmF0
ZXMgPSBvYmplY3QuY29vcmRpbmF0ZXMsIGkgPSAtMSwgbiA9IGNvb3JkaW5hdGVzLmxlbmd0aDsK
KyAgICB3aGlsZSAoKytpIDwgbikgb2JqZWN0ID0gY29vcmRpbmF0ZXNbaV0sIHN0cmVhbS5wb2lu
dChvYmplY3RbMF0sIG9iamVjdFsxXSwgb2JqZWN0WzJdKTsKKyAgfSwKKyAgTGluZVN0cmluZzog
ZnVuY3Rpb24ob2JqZWN0LCBzdHJlYW0pIHsKKyAgICBzdHJlYW1MaW5lKG9iamVjdC5jb29yZGlu
YXRlcywgc3RyZWFtLCAwKTsKKyAgfSwKKyAgTXVsdGlMaW5lU3RyaW5nOiBmdW5jdGlvbihvYmpl
Y3QsIHN0cmVhbSkgeworICAgIHZhciBjb29yZGluYXRlcyA9IG9iamVjdC5jb29yZGluYXRlcywg
aSA9IC0xLCBuID0gY29vcmRpbmF0ZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBzdHJl
YW1MaW5lKGNvb3JkaW5hdGVzW2ldLCBzdHJlYW0sIDApOworICB9LAorICBQb2x5Z29uOiBmdW5j
dGlvbihvYmplY3QsIHN0cmVhbSkgeworICAgIHN0cmVhbVBvbHlnb24ob2JqZWN0LmNvb3JkaW5h
dGVzLCBzdHJlYW0pOworICB9LAorICBNdWx0aVBvbHlnb246IGZ1bmN0aW9uKG9iamVjdCwgc3Ry
ZWFtKSB7CisgICAgdmFyIGNvb3JkaW5hdGVzID0gb2JqZWN0LmNvb3JkaW5hdGVzLCBpID0gLTEs
IG4gPSBjb29yZGluYXRlcy5sZW5ndGg7CisgICAgd2hpbGUgKCsraSA8IG4pIHN0cmVhbVBvbHln
b24oY29vcmRpbmF0ZXNbaV0sIHN0cmVhbSk7CisgIH0sCisgIEdlb21ldHJ5Q29sbGVjdGlvbjog
ZnVuY3Rpb24ob2JqZWN0LCBzdHJlYW0pIHsKKyAgICB2YXIgZ2VvbWV0cmllcyA9IG9iamVjdC5n
ZW9tZXRyaWVzLCBpID0gLTEsIG4gPSBnZW9tZXRyaWVzLmxlbmd0aDsKKyAgICB3aGlsZSAoKytp
IDwgbikgc3RyZWFtR2VvbWV0cnkoZ2VvbWV0cmllc1tpXSwgc3RyZWFtKTsKKyAgfQorfTsKKwor
ZnVuY3Rpb24gc3RyZWFtTGluZShjb29yZGluYXRlcywgc3RyZWFtLCBjbG9zZWQpIHsKKyAgdmFy
IGkgPSAtMSwgbiA9IGNvb3JkaW5hdGVzLmxlbmd0aCAtIGNsb3NlZCwgY29vcmRpbmF0ZTsKKyAg
c3RyZWFtLmxpbmVTdGFydCgpOworICB3aGlsZSAoKytpIDwgbikgY29vcmRpbmF0ZSA9IGNvb3Jk
aW5hdGVzW2ldLCBzdHJlYW0ucG9pbnQoY29vcmRpbmF0ZVswXSwgY29vcmRpbmF0ZVsxXSwgY29v
cmRpbmF0ZVsyXSk7CisgIHN0cmVhbS5saW5lRW5kKCk7Cit9CisKK2Z1bmN0aW9uIHN0cmVhbVBv
bHlnb24oY29vcmRpbmF0ZXMsIHN0cmVhbSkgeworICB2YXIgaSA9IC0xLCBuID0gY29vcmRpbmF0
ZXMubGVuZ3RoOworICBzdHJlYW0ucG9seWdvblN0YXJ0KCk7CisgIHdoaWxlICgrK2kgPCBuKSBz
dHJlYW1MaW5lKGNvb3JkaW5hdGVzW2ldLCBzdHJlYW0sIDEpOworICBzdHJlYW0ucG9seWdvbkVu
ZCgpOworfQorCitmdW5jdGlvbiBnZW9TdHJlYW0ob2JqZWN0LCBzdHJlYW0pIHsKKyAgaWYgKG9i
amVjdCAmJiBzdHJlYW1PYmplY3RUeXBlLmhhc093blByb3BlcnR5KG9iamVjdC50eXBlKSkgewor
ICAgIHN0cmVhbU9iamVjdFR5cGVbb2JqZWN0LnR5cGVdKG9iamVjdCwgc3RyZWFtKTsKKyAgfSBl
bHNlIHsKKyAgICBzdHJlYW1HZW9tZXRyeShvYmplY3QsIHN0cmVhbSk7CisgIH0KK30KKwordmFy
IGFyZWFSaW5nU3VtID0gYWRkZXIoKTsKKwordmFyIGFyZWFTdW0gPSBhZGRlcigpLAorICAgIGxh
bWJkYTAwLAorICAgIHBoaTAwLAorICAgIGxhbWJkYTAsCisgICAgY29zUGhpMCwKKyAgICBzaW5Q
aGkwOworCit2YXIgYXJlYVN0cmVhbSA9IHsKKyAgcG9pbnQ6IG5vb3AkMiwKKyAgbGluZVN0YXJ0
OiBub29wJDIsCisgIGxpbmVFbmQ6IG5vb3AkMiwKKyAgcG9seWdvblN0YXJ0OiBmdW5jdGlvbigp
IHsKKyAgICBhcmVhUmluZ1N1bS5yZXNldCgpOworICAgIGFyZWFTdHJlYW0ubGluZVN0YXJ0ID0g
YXJlYVJpbmdTdGFydDsKKyAgICBhcmVhU3RyZWFtLmxpbmVFbmQgPSBhcmVhUmluZ0VuZDsKKyAg
fSwKKyAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7CisgICAgdmFyIGFyZWFSaW5nID0gK2FyZWFS
aW5nU3VtOworICAgIGFyZWFTdW0uYWRkKGFyZWFSaW5nIDwgMCA/IHRhdSQzICsgYXJlYVJpbmcg
OiBhcmVhUmluZyk7CisgICAgdGhpcy5saW5lU3RhcnQgPSB0aGlzLmxpbmVFbmQgPSB0aGlzLnBv
aW50ID0gbm9vcCQyOworICB9LAorICBzcGhlcmU6IGZ1bmN0aW9uKCkgeworICAgIGFyZWFTdW0u
YWRkKHRhdSQzKTsKKyAgfQorfTsKKworZnVuY3Rpb24gYXJlYVJpbmdTdGFydCgpIHsKKyAgYXJl
YVN0cmVhbS5wb2ludCA9IGFyZWFQb2ludEZpcnN0OworfQorCitmdW5jdGlvbiBhcmVhUmluZ0Vu
ZCgpIHsKKyAgYXJlYVBvaW50KGxhbWJkYTAwLCBwaGkwMCk7Cit9CisKK2Z1bmN0aW9uIGFyZWFQ
b2ludEZpcnN0KGxhbWJkYSwgcGhpKSB7CisgIGFyZWFTdHJlYW0ucG9pbnQgPSBhcmVhUG9pbnQ7
CisgIGxhbWJkYTAwID0gbGFtYmRhLCBwaGkwMCA9IHBoaTsKKyAgbGFtYmRhICo9IHJhZGlhbnMs
IHBoaSAqPSByYWRpYW5zOworICBsYW1iZGEwID0gbGFtYmRhLCBjb3NQaGkwID0gY29zJDEocGhp
ID0gcGhpIC8gMiArIHF1YXJ0ZXJQaSksIHNpblBoaTAgPSBzaW4kMShwaGkpOworfQorCitmdW5j
dGlvbiBhcmVhUG9pbnQobGFtYmRhLCBwaGkpIHsKKyAgbGFtYmRhICo9IHJhZGlhbnMsIHBoaSAq
PSByYWRpYW5zOworICBwaGkgPSBwaGkgLyAyICsgcXVhcnRlclBpOyAvLyBoYWxmIHRoZSBhbmd1
bGFyIGRpc3RhbmNlIGZyb20gc291dGggcG9sZQorCisgIC8vIFNwaGVyaWNhbCBleGNlc3MgRSBm
b3IgYSBzcGhlcmljYWwgdHJpYW5nbGUgd2l0aCB2ZXJ0aWNlczogc291dGggcG9sZSwKKyAgLy8g
cHJldmlvdXMgcG9pbnQsIGN1cnJlbnQgcG9pbnQuICBVc2VzIGEgZm9ybXVsYSBkZXJpdmVkIGZy
b20gQ2Fnbm9saeKAmXMKKyAgLy8gdGhlb3JlbS4gIFNlZSBUb2RodW50ZXIsIFNwaGVyaWNhbCBU
cmlnLiAoMTg3MSksIFNlYy4gMTAzLCBFcS4gKDIpLgorICB2YXIgZExhbWJkYSA9IGxhbWJkYSAt
IGxhbWJkYTAsCisgICAgICBzZExhbWJkYSA9IGRMYW1iZGEgPj0gMCA/IDEgOiAtMSwKKyAgICAg
IGFkTGFtYmRhID0gc2RMYW1iZGEgKiBkTGFtYmRhLAorICAgICAgY29zUGhpID0gY29zJDEocGhp
KSwKKyAgICAgIHNpblBoaSA9IHNpbiQxKHBoaSksCisgICAgICBrID0gc2luUGhpMCAqIHNpblBo
aSwKKyAgICAgIHUgPSBjb3NQaGkwICogY29zUGhpICsgayAqIGNvcyQxKGFkTGFtYmRhKSwKKyAg
ICAgIHYgPSBrICogc2RMYW1iZGEgKiBzaW4kMShhZExhbWJkYSk7CisgIGFyZWFSaW5nU3VtLmFk
ZChhdGFuMih2LCB1KSk7CisKKyAgLy8gQWR2YW5jZSB0aGUgcHJldmlvdXMgcG9pbnRzLgorICBs
YW1iZGEwID0gbGFtYmRhLCBjb3NQaGkwID0gY29zUGhpLCBzaW5QaGkwID0gc2luUGhpOworfQor
CitmdW5jdGlvbiBhcmVhJDEob2JqZWN0KSB7CisgIGFyZWFTdW0ucmVzZXQoKTsKKyAgZ2VvU3Ry
ZWFtKG9iamVjdCwgYXJlYVN0cmVhbSk7CisgIHJldHVybiBhcmVhU3VtICogMjsKK30KKworZnVu
Y3Rpb24gc3BoZXJpY2FsKGNhcnRlc2lhbikgeworICByZXR1cm4gW2F0YW4yKGNhcnRlc2lhblsx
XSwgY2FydGVzaWFuWzBdKSwgYXNpbihjYXJ0ZXNpYW5bMl0pXTsKK30KKworZnVuY3Rpb24gY2Fy
dGVzaWFuKHNwaGVyaWNhbCkgeworICB2YXIgbGFtYmRhID0gc3BoZXJpY2FsWzBdLCBwaGkgPSBz
cGhlcmljYWxbMV0sIGNvc1BoaSA9IGNvcyQxKHBoaSk7CisgIHJldHVybiBbY29zUGhpICogY29z
JDEobGFtYmRhKSwgY29zUGhpICogc2luJDEobGFtYmRhKSwgc2luJDEocGhpKV07Cit9CisKK2Z1
bmN0aW9uIGNhcnRlc2lhbkRvdChhLCBiKSB7CisgIHJldHVybiBhWzBdICogYlswXSArIGFbMV0g
KiBiWzFdICsgYVsyXSAqIGJbMl07Cit9CisKK2Z1bmN0aW9uIGNhcnRlc2lhbkNyb3NzKGEsIGIp
IHsKKyAgcmV0dXJuIFthWzFdICogYlsyXSAtIGFbMl0gKiBiWzFdLCBhWzJdICogYlswXSAtIGFb
MF0gKiBiWzJdLCBhWzBdICogYlsxXSAtIGFbMV0gKiBiWzBdXTsKK30KKworLy8gVE9ETyByZXR1
cm4gYQorZnVuY3Rpb24gY2FydGVzaWFuQWRkSW5QbGFjZShhLCBiKSB7CisgIGFbMF0gKz0gYlsw
XSwgYVsxXSArPSBiWzFdLCBhWzJdICs9IGJbMl07Cit9CisKK2Z1bmN0aW9uIGNhcnRlc2lhblNj
YWxlKHZlY3RvciwgaykgeworICByZXR1cm4gW3ZlY3RvclswXSAqIGssIHZlY3RvclsxXSAqIGss
IHZlY3RvclsyXSAqIGtdOworfQorCisvLyBUT0RPIHJldHVybiBkCitmdW5jdGlvbiBjYXJ0ZXNp
YW5Ob3JtYWxpemVJblBsYWNlKGQpIHsKKyAgdmFyIGwgPSBzcXJ0KGRbMF0gKiBkWzBdICsgZFsx
XSAqIGRbMV0gKyBkWzJdICogZFsyXSk7CisgIGRbMF0gLz0gbCwgZFsxXSAvPSBsLCBkWzJdIC89
IGw7Cit9CisKK3ZhciBsYW1iZGEwJDEsIHBoaTAsIGxhbWJkYTEsIHBoaTEsIC8vIGJvdW5kcwor
ICAgIGxhbWJkYTIsIC8vIHByZXZpb3VzIGxhbWJkYS1jb29yZGluYXRlCisgICAgbGFtYmRhMDAk
MSwgcGhpMDAkMSwgLy8gZmlyc3QgcG9pbnQKKyAgICBwMCwgLy8gcHJldmlvdXMgM0QgcG9pbnQK
KyAgICBkZWx0YVN1bSA9IGFkZGVyKCksCisgICAgcmFuZ2VzLAorICAgIHJhbmdlOworCit2YXIg
Ym91bmRzU3RyZWFtID0geworICBwb2ludDogYm91bmRzUG9pbnQsCisgIGxpbmVTdGFydDogYm91
bmRzTGluZVN0YXJ0LAorICBsaW5lRW5kOiBib3VuZHNMaW5lRW5kLAorICBwb2x5Z29uU3RhcnQ6
IGZ1bmN0aW9uKCkgeworICAgIGJvdW5kc1N0cmVhbS5wb2ludCA9IGJvdW5kc1JpbmdQb2ludDsK
KyAgICBib3VuZHNTdHJlYW0ubGluZVN0YXJ0ID0gYm91bmRzUmluZ1N0YXJ0OworICAgIGJvdW5k
c1N0cmVhbS5saW5lRW5kID0gYm91bmRzUmluZ0VuZDsKKyAgICBkZWx0YVN1bS5yZXNldCgpOwor
ICAgIGFyZWFTdHJlYW0ucG9seWdvblN0YXJ0KCk7CisgIH0sCisgIHBvbHlnb25FbmQ6IGZ1bmN0
aW9uKCkgeworICAgIGFyZWFTdHJlYW0ucG9seWdvbkVuZCgpOworICAgIGJvdW5kc1N0cmVhbS5w
b2ludCA9IGJvdW5kc1BvaW50OworICAgIGJvdW5kc1N0cmVhbS5saW5lU3RhcnQgPSBib3VuZHNM
aW5lU3RhcnQ7CisgICAgYm91bmRzU3RyZWFtLmxpbmVFbmQgPSBib3VuZHNMaW5lRW5kOworICAg
IGlmIChhcmVhUmluZ1N1bSA8IDApIGxhbWJkYTAkMSA9IC0obGFtYmRhMSA9IDE4MCksIHBoaTAg
PSAtKHBoaTEgPSA5MCk7CisgICAgZWxzZSBpZiAoZGVsdGFTdW0gPiBlcHNpbG9uJDIpIHBoaTEg
PSA5MDsKKyAgICBlbHNlIGlmIChkZWx0YVN1bSA8IC1lcHNpbG9uJDIpIHBoaTAgPSAtOTA7Cisg
ICAgcmFuZ2VbMF0gPSBsYW1iZGEwJDEsIHJhbmdlWzFdID0gbGFtYmRhMTsKKyAgfSwKKyAgc3Bo
ZXJlOiBmdW5jdGlvbigpIHsKKyAgICBsYW1iZGEwJDEgPSAtKGxhbWJkYTEgPSAxODApLCBwaGkw
ID0gLShwaGkxID0gOTApOworICB9Cit9OworCitmdW5jdGlvbiBib3VuZHNQb2ludChsYW1iZGEs
IHBoaSkgeworICByYW5nZXMucHVzaChyYW5nZSA9IFtsYW1iZGEwJDEgPSBsYW1iZGEsIGxhbWJk
YTEgPSBsYW1iZGFdKTsKKyAgaWYgKHBoaSA8IHBoaTApIHBoaTAgPSBwaGk7CisgIGlmIChwaGkg
PiBwaGkxKSBwaGkxID0gcGhpOworfQorCitmdW5jdGlvbiBsaW5lUG9pbnQobGFtYmRhLCBwaGkp
IHsKKyAgdmFyIHAgPSBjYXJ0ZXNpYW4oW2xhbWJkYSAqIHJhZGlhbnMsIHBoaSAqIHJhZGlhbnNd
KTsKKyAgaWYgKHAwKSB7CisgICAgdmFyIG5vcm1hbCA9IGNhcnRlc2lhbkNyb3NzKHAwLCBwKSwK
KyAgICAgICAgZXF1YXRvcmlhbCA9IFtub3JtYWxbMV0sIC1ub3JtYWxbMF0sIDBdLAorICAgICAg
ICBpbmZsZWN0aW9uID0gY2FydGVzaWFuQ3Jvc3MoZXF1YXRvcmlhbCwgbm9ybWFsKTsKKyAgICBj
YXJ0ZXNpYW5Ob3JtYWxpemVJblBsYWNlKGluZmxlY3Rpb24pOworICAgIGluZmxlY3Rpb24gPSBz
cGhlcmljYWwoaW5mbGVjdGlvbik7CisgICAgdmFyIGRlbHRhID0gbGFtYmRhIC0gbGFtYmRhMiwK
KyAgICAgICAgc2lnbiA9IGRlbHRhID4gMCA/IDEgOiAtMSwKKyAgICAgICAgbGFtYmRhaSA9IGlu
ZmxlY3Rpb25bMF0gKiBkZWdyZWVzJDEgKiBzaWduLAorICAgICAgICBwaGlpLAorICAgICAgICBh
bnRpbWVyaWRpYW4gPSBhYnMoZGVsdGEpID4gMTgwOworICAgIGlmIChhbnRpbWVyaWRpYW4gXiAo
c2lnbiAqIGxhbWJkYTIgPCBsYW1iZGFpICYmIGxhbWJkYWkgPCBzaWduICogbGFtYmRhKSkgewor
ICAgICAgcGhpaSA9IGluZmxlY3Rpb25bMV0gKiBkZWdyZWVzJDE7CisgICAgICBpZiAocGhpaSA+
IHBoaTEpIHBoaTEgPSBwaGlpOworICAgIH0gZWxzZSBpZiAobGFtYmRhaSA9IChsYW1iZGFpICsg
MzYwKSAlIDM2MCAtIDE4MCwgYW50aW1lcmlkaWFuIF4gKHNpZ24gKiBsYW1iZGEyIDwgbGFtYmRh
aSAmJiBsYW1iZGFpIDwgc2lnbiAqIGxhbWJkYSkpIHsKKyAgICAgIHBoaWkgPSAtaW5mbGVjdGlv
blsxXSAqIGRlZ3JlZXMkMTsKKyAgICAgIGlmIChwaGlpIDwgcGhpMCkgcGhpMCA9IHBoaWk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgIGlmIChwaGkgPCBwaGkwKSBwaGkwID0gcGhpOworICAgICAgaWYg
KHBoaSA+IHBoaTEpIHBoaTEgPSBwaGk7CisgICAgfQorICAgIGlmIChhbnRpbWVyaWRpYW4pIHsK
KyAgICAgIGlmIChsYW1iZGEgPCBsYW1iZGEyKSB7CisgICAgICAgIGlmIChhbmdsZShsYW1iZGEw
JDEsIGxhbWJkYSkgPiBhbmdsZShsYW1iZGEwJDEsIGxhbWJkYTEpKSBsYW1iZGExID0gbGFtYmRh
OworICAgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKGFuZ2xlKGxhbWJkYSwgbGFtYmRhMSkgPiBh
bmdsZShsYW1iZGEwJDEsIGxhbWJkYTEpKSBsYW1iZGEwJDEgPSBsYW1iZGE7CisgICAgICB9Cisg
ICAgfSBlbHNlIHsKKyAgICAgIGlmIChsYW1iZGExID49IGxhbWJkYTAkMSkgeworICAgICAgICBp
ZiAobGFtYmRhIDwgbGFtYmRhMCQxKSBsYW1iZGEwJDEgPSBsYW1iZGE7CisgICAgICAgIGlmIChs
YW1iZGEgPiBsYW1iZGExKSBsYW1iZGExID0gbGFtYmRhOworICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgaWYgKGxhbWJkYSA+IGxhbWJkYTIpIHsKKyAgICAgICAgICBpZiAoYW5nbGUobGFtYmRhMCQx
LCBsYW1iZGEpID4gYW5nbGUobGFtYmRhMCQxLCBsYW1iZGExKSkgbGFtYmRhMSA9IGxhbWJkYTsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBpZiAoYW5nbGUobGFtYmRhLCBsYW1iZGExKSA+
IGFuZ2xlKGxhbWJkYTAkMSwgbGFtYmRhMSkpIGxhbWJkYTAkMSA9IGxhbWJkYTsKKyAgICAgICAg
fQorICAgICAgfQorICAgIH0KKyAgfSBlbHNlIHsKKyAgICByYW5nZXMucHVzaChyYW5nZSA9IFts
YW1iZGEwJDEgPSBsYW1iZGEsIGxhbWJkYTEgPSBsYW1iZGFdKTsKKyAgfQorICBpZiAocGhpIDwg
cGhpMCkgcGhpMCA9IHBoaTsKKyAgaWYgKHBoaSA+IHBoaTEpIHBoaTEgPSBwaGk7CisgIHAwID0g
cCwgbGFtYmRhMiA9IGxhbWJkYTsKK30KKworZnVuY3Rpb24gYm91bmRzTGluZVN0YXJ0KCkgewor
ICBib3VuZHNTdHJlYW0ucG9pbnQgPSBsaW5lUG9pbnQ7Cit9CisKK2Z1bmN0aW9uIGJvdW5kc0xp
bmVFbmQoKSB7CisgIHJhbmdlWzBdID0gbGFtYmRhMCQxLCByYW5nZVsxXSA9IGxhbWJkYTE7Cisg
IGJvdW5kc1N0cmVhbS5wb2ludCA9IGJvdW5kc1BvaW50OworICBwMCA9IG51bGw7Cit9CisKK2Z1
bmN0aW9uIGJvdW5kc1JpbmdQb2ludChsYW1iZGEsIHBoaSkgeworICBpZiAocDApIHsKKyAgICB2
YXIgZGVsdGEgPSBsYW1iZGEgLSBsYW1iZGEyOworICAgIGRlbHRhU3VtLmFkZChhYnMoZGVsdGEp
ID4gMTgwID8gZGVsdGEgKyAoZGVsdGEgPiAwID8gMzYwIDogLTM2MCkgOiBkZWx0YSk7CisgIH0g
ZWxzZSB7CisgICAgbGFtYmRhMDAkMSA9IGxhbWJkYSwgcGhpMDAkMSA9IHBoaTsKKyAgfQorICBh
cmVhU3RyZWFtLnBvaW50KGxhbWJkYSwgcGhpKTsKKyAgbGluZVBvaW50KGxhbWJkYSwgcGhpKTsK
K30KKworZnVuY3Rpb24gYm91bmRzUmluZ1N0YXJ0KCkgeworICBhcmVhU3RyZWFtLmxpbmVTdGFy
dCgpOworfQorCitmdW5jdGlvbiBib3VuZHNSaW5nRW5kKCkgeworICBib3VuZHNSaW5nUG9pbnQo
bGFtYmRhMDAkMSwgcGhpMDAkMSk7CisgIGFyZWFTdHJlYW0ubGluZUVuZCgpOworICBpZiAoYWJz
KGRlbHRhU3VtKSA+IGVwc2lsb24kMikgbGFtYmRhMCQxID0gLShsYW1iZGExID0gMTgwKTsKKyAg
cmFuZ2VbMF0gPSBsYW1iZGEwJDEsIHJhbmdlWzFdID0gbGFtYmRhMTsKKyAgcDAgPSBudWxsOwor
fQorCisvLyBGaW5kcyB0aGUgbGVmdC1yaWdodCBkaXN0YW5jZSBiZXR3ZWVuIHR3byBsb25naXR1
ZGVzLgorLy8gVGhpcyBpcyBhbG1vc3QgdGhlIHNhbWUgYXMgKGxhbWJkYTEgLSBsYW1iZGEwICsg
MzYwwrApICUgMzYwwrAsIGV4Y2VwdCB0aGF0IHdlIHdhbnQKKy8vIHRoZSBkaXN0YW5jZSBiZXR3
ZWVuIMKxMTgwwrAgdG8gYmUgMzYwwrAuCitmdW5jdGlvbiBhbmdsZShsYW1iZGEwLCBsYW1iZGEx
KSB7CisgIHJldHVybiAobGFtYmRhMSAtPSBsYW1iZGEwKSA8IDAgPyBsYW1iZGExICsgMzYwIDog
bGFtYmRhMTsKK30KKworZnVuY3Rpb24gcmFuZ2VDb21wYXJlKGEsIGIpIHsKKyAgcmV0dXJuIGFb
MF0gLSBiWzBdOworfQorCitmdW5jdGlvbiByYW5nZUNvbnRhaW5zKHJhbmdlLCB4KSB7CisgIHJl
dHVybiByYW5nZVswXSA8PSByYW5nZVsxXSA/IHJhbmdlWzBdIDw9IHggJiYgeCA8PSByYW5nZVsx
XSA6IHggPCByYW5nZVswXSB8fCByYW5nZVsxXSA8IHg7Cit9CisKK2Z1bmN0aW9uIGJvdW5kcyhm
ZWF0dXJlKSB7CisgIHZhciBpLCBuLCBhLCBiLCBtZXJnZWQsIGRlbHRhTWF4LCBkZWx0YTsKKwor
ICBwaGkxID0gbGFtYmRhMSA9IC0obGFtYmRhMCQxID0gcGhpMCA9IEluZmluaXR5KTsKKyAgcmFu
Z2VzID0gW107CisgIGdlb1N0cmVhbShmZWF0dXJlLCBib3VuZHNTdHJlYW0pOworCisgIC8vIEZp
cnN0LCBzb3J0IHJhbmdlcyBieSB0aGVpciBtaW5pbXVtIGxvbmdpdHVkZXMuCisgIGlmIChuID0g
cmFuZ2VzLmxlbmd0aCkgeworICAgIHJhbmdlcy5zb3J0KHJhbmdlQ29tcGFyZSk7CisKKyAgICAv
LyBUaGVuLCBtZXJnZSBhbnkgcmFuZ2VzIHRoYXQgb3ZlcmxhcC4KKyAgICBmb3IgKGkgPSAxLCBh
ID0gcmFuZ2VzWzBdLCBtZXJnZWQgPSBbYV07IGkgPCBuOyArK2kpIHsKKyAgICAgIGIgPSByYW5n
ZXNbaV07CisgICAgICBpZiAocmFuZ2VDb250YWlucyhhLCBiWzBdKSB8fCByYW5nZUNvbnRhaW5z
KGEsIGJbMV0pKSB7CisgICAgICAgIGlmIChhbmdsZShhWzBdLCBiWzFdKSA+IGFuZ2xlKGFbMF0s
IGFbMV0pKSBhWzFdID0gYlsxXTsKKyAgICAgICAgaWYgKGFuZ2xlKGJbMF0sIGFbMV0pID4gYW5n
bGUoYVswXSwgYVsxXSkpIGFbMF0gPSBiWzBdOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgbWVy
Z2VkLnB1c2goYSA9IGIpOworICAgICAgfQorICAgIH0KKworICAgIC8vIEZpbmFsbHksIGZpbmQg
dGhlIGxhcmdlc3QgZ2FwIGJldHdlZW4gdGhlIG1lcmdlZCByYW5nZXMuCisgICAgLy8gVGhlIGZp
bmFsIGJvdW5kaW5nIGJveCB3aWxsIGJlIHRoZSBpbnZlcnNlIG9mIHRoaXMgZ2FwLgorICAgIGZv
ciAoZGVsdGFNYXggPSAtSW5maW5pdHksIG4gPSBtZXJnZWQubGVuZ3RoIC0gMSwgaSA9IDAsIGEg
PSBtZXJnZWRbbl07IGkgPD0gbjsgYSA9IGIsICsraSkgeworICAgICAgYiA9IG1lcmdlZFtpXTsK
KyAgICAgIGlmICgoZGVsdGEgPSBhbmdsZShhWzFdLCBiWzBdKSkgPiBkZWx0YU1heCkgZGVsdGFN
YXggPSBkZWx0YSwgbGFtYmRhMCQxID0gYlswXSwgbGFtYmRhMSA9IGFbMV07CisgICAgfQorICB9
CisKKyAgcmFuZ2VzID0gcmFuZ2UgPSBudWxsOworCisgIHJldHVybiBsYW1iZGEwJDEgPT09IElu
ZmluaXR5IHx8IHBoaTAgPT09IEluZmluaXR5CisgICAgICA/IFtbTmFOLCBOYU5dLCBbTmFOLCBO
YU5dXQorICAgICAgOiBbW2xhbWJkYTAkMSwgcGhpMF0sIFtsYW1iZGExLCBwaGkxXV07Cit9CisK
K3ZhciBXMCwgVzEsCisgICAgWDAsIFkwLCBaMCwKKyAgICBYMSwgWTEsIFoxLAorICAgIFgyLCBZ
MiwgWjIsCisgICAgbGFtYmRhMDAkMiwgcGhpMDAkMiwgLy8gZmlyc3QgcG9pbnQKKyAgICB4MCwg
eTAsIHowOyAvLyBwcmV2aW91cyBwb2ludAorCit2YXIgY2VudHJvaWRTdHJlYW0gPSB7CisgIHNw
aGVyZTogbm9vcCQyLAorICBwb2ludDogY2VudHJvaWRQb2ludCwKKyAgbGluZVN0YXJ0OiBjZW50
cm9pZExpbmVTdGFydCwKKyAgbGluZUVuZDogY2VudHJvaWRMaW5lRW5kLAorICBwb2x5Z29uU3Rh
cnQ6IGZ1bmN0aW9uKCkgeworICAgIGNlbnRyb2lkU3RyZWFtLmxpbmVTdGFydCA9IGNlbnRyb2lk
UmluZ1N0YXJ0OworICAgIGNlbnRyb2lkU3RyZWFtLmxpbmVFbmQgPSBjZW50cm9pZFJpbmdFbmQ7
CisgIH0sCisgIHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIGNlbnRyb2lkU3RyZWFtLmxp
bmVTdGFydCA9IGNlbnRyb2lkTGluZVN0YXJ0OworICAgIGNlbnRyb2lkU3RyZWFtLmxpbmVFbmQg
PSBjZW50cm9pZExpbmVFbmQ7CisgIH0KK307CisKKy8vIEFyaXRobWV0aWMgbWVhbiBvZiBDYXJ0
ZXNpYW4gdmVjdG9ycy4KK2Z1bmN0aW9uIGNlbnRyb2lkUG9pbnQobGFtYmRhLCBwaGkpIHsKKyAg
bGFtYmRhICo9IHJhZGlhbnMsIHBoaSAqPSByYWRpYW5zOworICB2YXIgY29zUGhpID0gY29zJDEo
cGhpKTsKKyAgY2VudHJvaWRQb2ludENhcnRlc2lhbihjb3NQaGkgKiBjb3MkMShsYW1iZGEpLCBj
b3NQaGkgKiBzaW4kMShsYW1iZGEpLCBzaW4kMShwaGkpKTsKK30KKworZnVuY3Rpb24gY2VudHJv
aWRQb2ludENhcnRlc2lhbih4LCB5LCB6KSB7CisgICsrVzA7CisgIFgwICs9ICh4IC0gWDApIC8g
VzA7CisgIFkwICs9ICh5IC0gWTApIC8gVzA7CisgIFowICs9ICh6IC0gWjApIC8gVzA7Cit9CisK
K2Z1bmN0aW9uIGNlbnRyb2lkTGluZVN0YXJ0KCkgeworICBjZW50cm9pZFN0cmVhbS5wb2ludCA9
IGNlbnRyb2lkTGluZVBvaW50Rmlyc3Q7Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkTGluZVBvaW50
Rmlyc3QobGFtYmRhLCBwaGkpIHsKKyAgbGFtYmRhICo9IHJhZGlhbnMsIHBoaSAqPSByYWRpYW5z
OworICB2YXIgY29zUGhpID0gY29zJDEocGhpKTsKKyAgeDAgPSBjb3NQaGkgKiBjb3MkMShsYW1i
ZGEpOworICB5MCA9IGNvc1BoaSAqIHNpbiQxKGxhbWJkYSk7CisgIHowID0gc2luJDEocGhpKTsK
KyAgY2VudHJvaWRTdHJlYW0ucG9pbnQgPSBjZW50cm9pZExpbmVQb2ludDsKKyAgY2VudHJvaWRQ
b2ludENhcnRlc2lhbih4MCwgeTAsIHowKTsKK30KKworZnVuY3Rpb24gY2VudHJvaWRMaW5lUG9p
bnQobGFtYmRhLCBwaGkpIHsKKyAgbGFtYmRhICo9IHJhZGlhbnMsIHBoaSAqPSByYWRpYW5zOwor
ICB2YXIgY29zUGhpID0gY29zJDEocGhpKSwKKyAgICAgIHggPSBjb3NQaGkgKiBjb3MkMShsYW1i
ZGEpLAorICAgICAgeSA9IGNvc1BoaSAqIHNpbiQxKGxhbWJkYSksCisgICAgICB6ID0gc2luJDEo
cGhpKSwKKyAgICAgIHcgPSBhdGFuMihzcXJ0KCh3ID0geTAgKiB6IC0gejAgKiB5KSAqIHcgKyAo
dyA9IHowICogeCAtIHgwICogeikgKiB3ICsgKHcgPSB4MCAqIHkgLSB5MCAqIHgpICogdyksIHgw
ICogeCArIHkwICogeSArIHowICogeik7CisgIFcxICs9IHc7CisgIFgxICs9IHcgKiAoeDAgKyAo
eDAgPSB4KSk7CisgIFkxICs9IHcgKiAoeTAgKyAoeTAgPSB5KSk7CisgIFoxICs9IHcgKiAoejAg
KyAoejAgPSB6KSk7CisgIGNlbnRyb2lkUG9pbnRDYXJ0ZXNpYW4oeDAsIHkwLCB6MCk7Cit9CisK
K2Z1bmN0aW9uIGNlbnRyb2lkTGluZUVuZCgpIHsKKyAgY2VudHJvaWRTdHJlYW0ucG9pbnQgPSBj
ZW50cm9pZFBvaW50OworfQorCisvLyBTZWUgSi4gRS4gQnJvY2ssIFRoZSBJbmVydGlhIFRlbnNv
ciBmb3IgYSBTcGhlcmljYWwgVHJpYW5nbGUsCisvLyBKLiBBcHBsaWVkIE1lY2hhbmljcyA0Miwg
MjM5ICgxOTc1KS4KK2Z1bmN0aW9uIGNlbnRyb2lkUmluZ1N0YXJ0KCkgeworICBjZW50cm9pZFN0
cmVhbS5wb2ludCA9IGNlbnRyb2lkUmluZ1BvaW50Rmlyc3Q7Cit9CisKK2Z1bmN0aW9uIGNlbnRy
b2lkUmluZ0VuZCgpIHsKKyAgY2VudHJvaWRSaW5nUG9pbnQobGFtYmRhMDAkMiwgcGhpMDAkMik7
CisgIGNlbnRyb2lkU3RyZWFtLnBvaW50ID0gY2VudHJvaWRQb2ludDsKK30KKworZnVuY3Rpb24g
Y2VudHJvaWRSaW5nUG9pbnRGaXJzdChsYW1iZGEsIHBoaSkgeworICBsYW1iZGEwMCQyID0gbGFt
YmRhLCBwaGkwMCQyID0gcGhpOworICBsYW1iZGEgKj0gcmFkaWFucywgcGhpICo9IHJhZGlhbnM7
CisgIGNlbnRyb2lkU3RyZWFtLnBvaW50ID0gY2VudHJvaWRSaW5nUG9pbnQ7CisgIHZhciBjb3NQ
aGkgPSBjb3MkMShwaGkpOworICB4MCA9IGNvc1BoaSAqIGNvcyQxKGxhbWJkYSk7CisgIHkwID0g
Y29zUGhpICogc2luJDEobGFtYmRhKTsKKyAgejAgPSBzaW4kMShwaGkpOworICBjZW50cm9pZFBv
aW50Q2FydGVzaWFuKHgwLCB5MCwgejApOworfQorCitmdW5jdGlvbiBjZW50cm9pZFJpbmdQb2lu
dChsYW1iZGEsIHBoaSkgeworICBsYW1iZGEgKj0gcmFkaWFucywgcGhpICo9IHJhZGlhbnM7Cisg
IHZhciBjb3NQaGkgPSBjb3MkMShwaGkpLAorICAgICAgeCA9IGNvc1BoaSAqIGNvcyQxKGxhbWJk
YSksCisgICAgICB5ID0gY29zUGhpICogc2luJDEobGFtYmRhKSwKKyAgICAgIHogPSBzaW4kMShw
aGkpLAorICAgICAgY3ggPSB5MCAqIHogLSB6MCAqIHksCisgICAgICBjeSA9IHowICogeCAtIHgw
ICogeiwKKyAgICAgIGN6ID0geDAgKiB5IC0geTAgKiB4LAorICAgICAgbSA9IHNxcnQoY3ggKiBj
eCArIGN5ICogY3kgKyBjeiAqIGN6KSwKKyAgICAgIHcgPSBhc2luKG0pLCAvLyBsaW5lIHdlaWdo
dCA9IGFuZ2xlCisgICAgICB2ID0gbSAmJiAtdyAvIG07IC8vIGFyZWEgd2VpZ2h0IG11bHRpcGxp
ZXIKKyAgWDIgKz0gdiAqIGN4OworICBZMiArPSB2ICogY3k7CisgIFoyICs9IHYgKiBjejsKKyAg
VzEgKz0gdzsKKyAgWDEgKz0gdyAqICh4MCArICh4MCA9IHgpKTsKKyAgWTEgKz0gdyAqICh5MCAr
ICh5MCA9IHkpKTsKKyAgWjEgKz0gdyAqICh6MCArICh6MCA9IHopKTsKKyAgY2VudHJvaWRQb2lu
dENhcnRlc2lhbih4MCwgeTAsIHowKTsKK30KKworZnVuY3Rpb24gY2VudHJvaWQob2JqZWN0KSB7
CisgIFcwID0gVzEgPQorICBYMCA9IFkwID0gWjAgPQorICBYMSA9IFkxID0gWjEgPQorICBYMiA9
IFkyID0gWjIgPSAwOworICBnZW9TdHJlYW0ob2JqZWN0LCBjZW50cm9pZFN0cmVhbSk7CisKKyAg
dmFyIHggPSBYMiwKKyAgICAgIHkgPSBZMiwKKyAgICAgIHogPSBaMiwKKyAgICAgIG0gPSB4ICog
eCArIHkgKiB5ICsgeiAqIHo7CisKKyAgLy8gSWYgdGhlIGFyZWEtd2VpZ2h0ZWQgY2NlbnRyb2lk
IGlzIHVuZGVmaW5lZCwgZmFsbCBiYWNrIHRvIGxlbmd0aC13ZWlnaHRlZCBjY2VudHJvaWQuCisg
IGlmIChtIDwgZXBzaWxvbjIkMSkgeworICAgIHggPSBYMSwgeSA9IFkxLCB6ID0gWjE7CisgICAg
Ly8gSWYgdGhlIGZlYXR1cmUgaGFzIHplcm8gbGVuZ3RoLCBmYWxsIGJhY2sgdG8gYXJpdGhtZXRp
YyBtZWFuIG9mIHBvaW50IHZlY3RvcnMuCisgICAgaWYgKFcxIDwgZXBzaWxvbiQyKSB4ID0gWDAs
IHkgPSBZMCwgeiA9IFowOworICAgIG0gPSB4ICogeCArIHkgKiB5ICsgeiAqIHo7CisgICAgLy8g
SWYgdGhlIGZlYXR1cmUgc3RpbGwgaGFzIGFuIHVuZGVmaW5lZCBjY2VudHJvaWQsIHRoZW4gcmV0
dXJuLgorICAgIGlmIChtIDwgZXBzaWxvbjIkMSkgcmV0dXJuIFtOYU4sIE5hTl07CisgIH0KKwor
ICByZXR1cm4gW2F0YW4yKHksIHgpICogZGVncmVlcyQxLCBhc2luKHogLyBzcXJ0KG0pKSAqIGRl
Z3JlZXMkMV07Cit9CisKK2Z1bmN0aW9uIGNvbnN0YW50JDgoeCkgeworICByZXR1cm4gZnVuY3Rp
b24oKSB7CisgICAgcmV0dXJuIHg7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNvbXBvc2UoYSwgYikg
eworCisgIGZ1bmN0aW9uIGNvbXBvc2UoeCwgeSkgeworICAgIHJldHVybiB4ID0gYSh4LCB5KSwg
Yih4WzBdLCB4WzFdKTsKKyAgfQorCisgIGlmIChhLmludmVydCAmJiBiLmludmVydCkgY29tcG9z
ZS5pbnZlcnQgPSBmdW5jdGlvbih4LCB5KSB7CisgICAgcmV0dXJuIHggPSBiLmludmVydCh4LCB5
KSwgeCAmJiBhLmludmVydCh4WzBdLCB4WzFdKTsKKyAgfTsKKworICByZXR1cm4gY29tcG9zZTsK
K30KKworZnVuY3Rpb24gcm90YXRpb25JZGVudGl0eShsYW1iZGEsIHBoaSkgeworICByZXR1cm4g
W2FicyhsYW1iZGEpID4gcGkkMyA/IGxhbWJkYSArIE1hdGgucm91bmQoLWxhbWJkYSAvIHRhdSQz
KSAqIHRhdSQzIDogbGFtYmRhLCBwaGldOworfQorCityb3RhdGlvbklkZW50aXR5LmludmVydCA9
IHJvdGF0aW9uSWRlbnRpdHk7CisKK2Z1bmN0aW9uIHJvdGF0ZVJhZGlhbnMoZGVsdGFMYW1iZGEs
IGRlbHRhUGhpLCBkZWx0YUdhbW1hKSB7CisgIHJldHVybiAoZGVsdGFMYW1iZGEgJT0gdGF1JDMp
ID8gKGRlbHRhUGhpIHx8IGRlbHRhR2FtbWEgPyBjb21wb3NlKHJvdGF0aW9uTGFtYmRhKGRlbHRh
TGFtYmRhKSwgcm90YXRpb25QaGlHYW1tYShkZWx0YVBoaSwgZGVsdGFHYW1tYSkpCisgICAgOiBy
b3RhdGlvbkxhbWJkYShkZWx0YUxhbWJkYSkpCisgICAgOiAoZGVsdGFQaGkgfHwgZGVsdGFHYW1t
YSA/IHJvdGF0aW9uUGhpR2FtbWEoZGVsdGFQaGksIGRlbHRhR2FtbWEpCisgICAgOiByb3RhdGlv
bklkZW50aXR5KTsKK30KKworZnVuY3Rpb24gZm9yd2FyZFJvdGF0aW9uTGFtYmRhKGRlbHRhTGFt
YmRhKSB7CisgIHJldHVybiBmdW5jdGlvbihsYW1iZGEsIHBoaSkgeworICAgIHJldHVybiBsYW1i
ZGEgKz0gZGVsdGFMYW1iZGEsIFtsYW1iZGEgPiBwaSQzID8gbGFtYmRhIC0gdGF1JDMgOiBsYW1i
ZGEgPCAtcGkkMyA/IGxhbWJkYSArIHRhdSQzIDogbGFtYmRhLCBwaGldOworICB9OworfQorCitm
dW5jdGlvbiByb3RhdGlvbkxhbWJkYShkZWx0YUxhbWJkYSkgeworICB2YXIgcm90YXRpb24gPSBm
b3J3YXJkUm90YXRpb25MYW1iZGEoZGVsdGFMYW1iZGEpOworICByb3RhdGlvbi5pbnZlcnQgPSBm
b3J3YXJkUm90YXRpb25MYW1iZGEoLWRlbHRhTGFtYmRhKTsKKyAgcmV0dXJuIHJvdGF0aW9uOwor
fQorCitmdW5jdGlvbiByb3RhdGlvblBoaUdhbW1hKGRlbHRhUGhpLCBkZWx0YUdhbW1hKSB7Cisg
IHZhciBjb3NEZWx0YVBoaSA9IGNvcyQxKGRlbHRhUGhpKSwKKyAgICAgIHNpbkRlbHRhUGhpID0g
c2luJDEoZGVsdGFQaGkpLAorICAgICAgY29zRGVsdGFHYW1tYSA9IGNvcyQxKGRlbHRhR2FtbWEp
LAorICAgICAgc2luRGVsdGFHYW1tYSA9IHNpbiQxKGRlbHRhR2FtbWEpOworCisgIGZ1bmN0aW9u
IHJvdGF0aW9uKGxhbWJkYSwgcGhpKSB7CisgICAgdmFyIGNvc1BoaSA9IGNvcyQxKHBoaSksCisg
ICAgICAgIHggPSBjb3MkMShsYW1iZGEpICogY29zUGhpLAorICAgICAgICB5ID0gc2luJDEobGFt
YmRhKSAqIGNvc1BoaSwKKyAgICAgICAgeiA9IHNpbiQxKHBoaSksCisgICAgICAgIGsgPSB6ICog
Y29zRGVsdGFQaGkgKyB4ICogc2luRGVsdGFQaGk7CisgICAgcmV0dXJuIFsKKyAgICAgIGF0YW4y
KHkgKiBjb3NEZWx0YUdhbW1hIC0gayAqIHNpbkRlbHRhR2FtbWEsIHggKiBjb3NEZWx0YVBoaSAt
IHogKiBzaW5EZWx0YVBoaSksCisgICAgICBhc2luKGsgKiBjb3NEZWx0YUdhbW1hICsgeSAqIHNp
bkRlbHRhR2FtbWEpCisgICAgXTsKKyAgfQorCisgIHJvdGF0aW9uLmludmVydCA9IGZ1bmN0aW9u
KGxhbWJkYSwgcGhpKSB7CisgICAgdmFyIGNvc1BoaSA9IGNvcyQxKHBoaSksCisgICAgICAgIHgg
PSBjb3MkMShsYW1iZGEpICogY29zUGhpLAorICAgICAgICB5ID0gc2luJDEobGFtYmRhKSAqIGNv
c1BoaSwKKyAgICAgICAgeiA9IHNpbiQxKHBoaSksCisgICAgICAgIGsgPSB6ICogY29zRGVsdGFH
YW1tYSAtIHkgKiBzaW5EZWx0YUdhbW1hOworICAgIHJldHVybiBbCisgICAgICBhdGFuMih5ICog
Y29zRGVsdGFHYW1tYSArIHogKiBzaW5EZWx0YUdhbW1hLCB4ICogY29zRGVsdGFQaGkgKyBrICog
c2luRGVsdGFQaGkpLAorICAgICAgYXNpbihrICogY29zRGVsdGFQaGkgLSB4ICogc2luRGVsdGFQ
aGkpCisgICAgXTsKKyAgfTsKKworICByZXR1cm4gcm90YXRpb247Cit9CisKK2Z1bmN0aW9uIHJv
dGF0aW9uKHJvdGF0ZSkgeworICByb3RhdGUgPSByb3RhdGVSYWRpYW5zKHJvdGF0ZVswXSAqIHJh
ZGlhbnMsIHJvdGF0ZVsxXSAqIHJhZGlhbnMsIHJvdGF0ZS5sZW5ndGggPiAyID8gcm90YXRlWzJd
ICogcmFkaWFucyA6IDApOworCisgIGZ1bmN0aW9uIGZvcndhcmQoY29vcmRpbmF0ZXMpIHsKKyAg
ICBjb29yZGluYXRlcyA9IHJvdGF0ZShjb29yZGluYXRlc1swXSAqIHJhZGlhbnMsIGNvb3JkaW5h
dGVzWzFdICogcmFkaWFucyk7CisgICAgcmV0dXJuIGNvb3JkaW5hdGVzWzBdICo9IGRlZ3JlZXMk
MSwgY29vcmRpbmF0ZXNbMV0gKj0gZGVncmVlcyQxLCBjb29yZGluYXRlczsKKyAgfQorCisgIGZv
cndhcmQuaW52ZXJ0ID0gZnVuY3Rpb24oY29vcmRpbmF0ZXMpIHsKKyAgICBjb29yZGluYXRlcyA9
IHJvdGF0ZS5pbnZlcnQoY29vcmRpbmF0ZXNbMF0gKiByYWRpYW5zLCBjb29yZGluYXRlc1sxXSAq
IHJhZGlhbnMpOworICAgIHJldHVybiBjb29yZGluYXRlc1swXSAqPSBkZWdyZWVzJDEsIGNvb3Jk
aW5hdGVzWzFdICo9IGRlZ3JlZXMkMSwgY29vcmRpbmF0ZXM7CisgIH07CisKKyAgcmV0dXJuIGZv
cndhcmQ7Cit9CisKKy8vIEdlbmVyYXRlcyBhIGNpcmNsZSBjZW50ZXJlZCBhdCBbMMKwLCAwwrBd
LCB3aXRoIGEgZ2l2ZW4gcmFkaXVzIGFuZCBwcmVjaXNpb24uCitmdW5jdGlvbiBjaXJjbGVTdHJl
YW0oc3RyZWFtLCByYWRpdXMsIGRlbHRhLCBkaXJlY3Rpb24sIHQwLCB0MSkgeworICBpZiAoIWRl
bHRhKSByZXR1cm47CisgIHZhciBjb3NSYWRpdXMgPSBjb3MkMShyYWRpdXMpLAorICAgICAgc2lu
UmFkaXVzID0gc2luJDEocmFkaXVzKSwKKyAgICAgIHN0ZXAgPSBkaXJlY3Rpb24gKiBkZWx0YTsK
KyAgaWYgKHQwID09IG51bGwpIHsKKyAgICB0MCA9IHJhZGl1cyArIGRpcmVjdGlvbiAqIHRhdSQz
OworICAgIHQxID0gcmFkaXVzIC0gc3RlcCAvIDI7CisgIH0gZWxzZSB7CisgICAgdDAgPSBjaXJj
bGVSYWRpdXMoY29zUmFkaXVzLCB0MCk7CisgICAgdDEgPSBjaXJjbGVSYWRpdXMoY29zUmFkaXVz
LCB0MSk7CisgICAgaWYgKGRpcmVjdGlvbiA+IDAgPyB0MCA8IHQxIDogdDAgPiB0MSkgdDAgKz0g
ZGlyZWN0aW9uICogdGF1JDM7CisgIH0KKyAgZm9yICh2YXIgcG9pbnQsIHQgPSB0MDsgZGlyZWN0
aW9uID4gMCA/IHQgPiB0MSA6IHQgPCB0MTsgdCAtPSBzdGVwKSB7CisgICAgcG9pbnQgPSBzcGhl
cmljYWwoW2Nvc1JhZGl1cywgLXNpblJhZGl1cyAqIGNvcyQxKHQpLCAtc2luUmFkaXVzICogc2lu
JDEodCldKTsKKyAgICBzdHJlYW0ucG9pbnQocG9pbnRbMF0sIHBvaW50WzFdKTsKKyAgfQorfQor
CisvLyBSZXR1cm5zIHRoZSBzaWduZWQgYW5nbGUgb2YgYSBjYXJ0ZXNpYW4gcG9pbnQgcmVsYXRp
dmUgdG8gW2Nvc1JhZGl1cywgMCwgMF0uCitmdW5jdGlvbiBjaXJjbGVSYWRpdXMoY29zUmFkaXVz
LCBwb2ludCkgeworICBwb2ludCA9IGNhcnRlc2lhbihwb2ludCksIHBvaW50WzBdIC09IGNvc1Jh
ZGl1czsKKyAgY2FydGVzaWFuTm9ybWFsaXplSW5QbGFjZShwb2ludCk7CisgIHZhciByYWRpdXMg
PSBhY29zKC1wb2ludFsxXSk7CisgIHJldHVybiAoKC1wb2ludFsyXSA8IDAgPyAtcmFkaXVzIDog
cmFkaXVzKSArIHRhdSQzIC0gZXBzaWxvbiQyKSAlIHRhdSQzOworfQorCitmdW5jdGlvbiBjaXJj
bGUoKSB7CisgIHZhciBjZW50ZXIgPSBjb25zdGFudCQ4KFswLCAwXSksCisgICAgICByYWRpdXMg
PSBjb25zdGFudCQ4KDkwKSwKKyAgICAgIHByZWNpc2lvbiA9IGNvbnN0YW50JDgoNiksCisgICAg
ICByaW5nLAorICAgICAgcm90YXRlLAorICAgICAgc3RyZWFtID0ge3BvaW50OiBwb2ludH07CisK
KyAgZnVuY3Rpb24gcG9pbnQoeCwgeSkgeworICAgIHJpbmcucHVzaCh4ID0gcm90YXRlKHgsIHkp
KTsKKyAgICB4WzBdICo9IGRlZ3JlZXMkMSwgeFsxXSAqPSBkZWdyZWVzJDE7CisgIH0KKworICBm
dW5jdGlvbiBjaXJjbGUoKSB7CisgICAgdmFyIGMgPSBjZW50ZXIuYXBwbHkodGhpcywgYXJndW1l
bnRzKSwKKyAgICAgICAgciA9IHJhZGl1cy5hcHBseSh0aGlzLCBhcmd1bWVudHMpICogcmFkaWFu
cywKKyAgICAgICAgcCA9IHByZWNpc2lvbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpICogcmFkaWFu
czsKKyAgICByaW5nID0gW107CisgICAgcm90YXRlID0gcm90YXRlUmFkaWFucygtY1swXSAqIHJh
ZGlhbnMsIC1jWzFdICogcmFkaWFucywgMCkuaW52ZXJ0OworICAgIGNpcmNsZVN0cmVhbShzdHJl
YW0sIHIsIHAsIDEpOworICAgIGMgPSB7dHlwZTogIlBvbHlnb24iLCBjb29yZGluYXRlczogW3Jp
bmddfTsKKyAgICByaW5nID0gcm90YXRlID0gbnVsbDsKKyAgICByZXR1cm4gYzsKKyAgfQorCisg
IGNpcmNsZS5jZW50ZXIgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAoY2VudGVyID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkOChb
K19bMF0sICtfWzFdXSksIGNpcmNsZSkgOiBjZW50ZXI7CisgIH07CisKKyAgY2lyY2xlLnJhZGl1
cyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChyYWRpdXMg
PSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCQ4KCtfKSwgY2lyY2xlKSA6
IHJhZGl1czsKKyAgfTsKKworICBjaXJjbGUucHJlY2lzaW9uID0gZnVuY3Rpb24oXykgeworICAg
IHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHByZWNpc2lvbiA9IHR5cGVvZiBfID09PSAiZnVu
Y3Rpb24iID8gXyA6IGNvbnN0YW50JDgoK18pLCBjaXJjbGUpIDogcHJlY2lzaW9uOworICB9Owor
CisgIHJldHVybiBjaXJjbGU7Cit9CisKK2Z1bmN0aW9uIGNsaXBCdWZmZXIoKSB7CisgIHZhciBs
aW5lcyA9IFtdLAorICAgICAgbGluZTsKKyAgcmV0dXJuIHsKKyAgICBwb2ludDogZnVuY3Rpb24o
eCwgeSkgeworICAgICAgbGluZS5wdXNoKFt4LCB5XSk7CisgICAgfSwKKyAgICBsaW5lU3RhcnQ6
IGZ1bmN0aW9uKCkgeworICAgICAgbGluZXMucHVzaChsaW5lID0gW10pOworICAgIH0sCisgICAg
bGluZUVuZDogbm9vcCQyLAorICAgIHJlam9pbjogZnVuY3Rpb24oKSB7CisgICAgICBpZiAobGlu
ZXMubGVuZ3RoID4gMSkgbGluZXMucHVzaChsaW5lcy5wb3AoKS5jb25jYXQobGluZXMuc2hpZnQo
KSkpOworICAgIH0sCisgICAgcmVzdWx0OiBmdW5jdGlvbigpIHsKKyAgICAgIHZhciByZXN1bHQg
PSBsaW5lczsKKyAgICAgIGxpbmVzID0gW107CisgICAgICBsaW5lID0gbnVsbDsKKyAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgfQorICB9OworfQorCitmdW5jdGlvbiBwb2ludEVxdWFsKGEsIGIp
IHsKKyAgcmV0dXJuIGFicyhhWzBdIC0gYlswXSkgPCBlcHNpbG9uJDIgJiYgYWJzKGFbMV0gLSBi
WzFdKSA8IGVwc2lsb24kMjsKK30KKworZnVuY3Rpb24gSW50ZXJzZWN0aW9uKHBvaW50LCBwb2lu
dHMsIG90aGVyLCBlbnRyeSkgeworICB0aGlzLnggPSBwb2ludDsKKyAgdGhpcy56ID0gcG9pbnRz
OworICB0aGlzLm8gPSBvdGhlcjsgLy8gYW5vdGhlciBpbnRlcnNlY3Rpb24KKyAgdGhpcy5lID0g
ZW50cnk7IC8vIGlzIGFuIGVudHJ5PworICB0aGlzLnYgPSBmYWxzZTsgLy8gdmlzaXRlZAorICB0
aGlzLm4gPSB0aGlzLnAgPSBudWxsOyAvLyBuZXh0ICYgcHJldmlvdXMKK30KKworLy8gQSBnZW5l
cmFsaXplZCBwb2x5Z29uIGNsaXBwaW5nIGFsZ29yaXRobTogZ2l2ZW4gYSBwb2x5Z29uIHRoYXQg
aGFzIGJlZW4gY3V0CisvLyBpbnRvIGl0cyB2aXNpYmxlIGxpbmUgc2VnbWVudHMsIGFuZCByZWpv
aW5zIHRoZSBzZWdtZW50cyBieSBpbnRlcnBvbGF0aW5nCisvLyBhbG9uZyB0aGUgY2xpcCBlZGdl
LgorZnVuY3Rpb24gY2xpcFJlam9pbihzZWdtZW50cywgY29tcGFyZUludGVyc2VjdGlvbiwgc3Rh
cnRJbnNpZGUsIGludGVycG9sYXRlLCBzdHJlYW0pIHsKKyAgdmFyIHN1YmplY3QgPSBbXSwKKyAg
ICAgIGNsaXAgPSBbXSwKKyAgICAgIGksCisgICAgICBuOworCisgIHNlZ21lbnRzLmZvckVhY2go
ZnVuY3Rpb24oc2VnbWVudCkgeworICAgIGlmICgobiA9IHNlZ21lbnQubGVuZ3RoIC0gMSkgPD0g
MCkgcmV0dXJuOworICAgIHZhciBuLCBwMCA9IHNlZ21lbnRbMF0sIHAxID0gc2VnbWVudFtuXSwg
eDsKKworICAgIC8vIElmIHRoZSBmaXJzdCBhbmQgbGFzdCBwb2ludHMgb2YgYSBzZWdtZW50IGFy
ZSBjb2luY2lkZW50LCB0aGVuIHRyZWF0IGFzIGEKKyAgICAvLyBjbG9zZWQgcmluZy4gVE9ETyBp
ZiBhbGwgcmluZ3MgYXJlIGNsb3NlZCwgdGhlbiB0aGUgd2luZGluZyBvcmRlciBvZiB0aGUKKyAg
ICAvLyBleHRlcmlvciByaW5nIHNob3VsZCBiZSBjaGVja2VkLgorICAgIGlmIChwb2ludEVxdWFs
KHAwLCBwMSkpIHsKKyAgICAgIHN0cmVhbS5saW5lU3RhcnQoKTsKKyAgICAgIGZvciAoaSA9IDA7
IGkgPCBuOyArK2kpIHN0cmVhbS5wb2ludCgocDAgPSBzZWdtZW50W2ldKVswXSwgcDBbMV0pOwor
ICAgICAgc3RyZWFtLmxpbmVFbmQoKTsKKyAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBzdWJq
ZWN0LnB1c2goeCA9IG5ldyBJbnRlcnNlY3Rpb24ocDAsIHNlZ21lbnQsIG51bGwsIHRydWUpKTsK
KyAgICBjbGlwLnB1c2goeC5vID0gbmV3IEludGVyc2VjdGlvbihwMCwgbnVsbCwgeCwgZmFsc2Up
KTsKKyAgICBzdWJqZWN0LnB1c2goeCA9IG5ldyBJbnRlcnNlY3Rpb24ocDEsIHNlZ21lbnQsIG51
bGwsIGZhbHNlKSk7CisgICAgY2xpcC5wdXNoKHgubyA9IG5ldyBJbnRlcnNlY3Rpb24ocDEsIG51
bGwsIHgsIHRydWUpKTsKKyAgfSk7CisKKyAgaWYgKCFzdWJqZWN0Lmxlbmd0aCkgcmV0dXJuOwor
CisgIGNsaXAuc29ydChjb21wYXJlSW50ZXJzZWN0aW9uKTsKKyAgbGluayQxKHN1YmplY3QpOwor
ICBsaW5rJDEoY2xpcCk7CisKKyAgZm9yIChpID0gMCwgbiA9IGNsaXAubGVuZ3RoOyBpIDwgbjsg
KytpKSB7CisgICAgY2xpcFtpXS5lID0gc3RhcnRJbnNpZGUgPSAhc3RhcnRJbnNpZGU7CisgIH0K
KworICB2YXIgc3RhcnQgPSBzdWJqZWN0WzBdLAorICAgICAgcG9pbnRzLAorICAgICAgcG9pbnQ7
CisKKyAgd2hpbGUgKDEpIHsKKyAgICAvLyBGaW5kIGZpcnN0IHVudmlzaXRlZCBpbnRlcnNlY3Rp
b24uCisgICAgdmFyIGN1cnJlbnQgPSBzdGFydCwKKyAgICAgICAgaXNTdWJqZWN0ID0gdHJ1ZTsK
KyAgICB3aGlsZSAoY3VycmVudC52KSBpZiAoKGN1cnJlbnQgPSBjdXJyZW50Lm4pID09PSBzdGFy
dCkgcmV0dXJuOworICAgIHBvaW50cyA9IGN1cnJlbnQuejsKKyAgICBzdHJlYW0ubGluZVN0YXJ0
KCk7CisgICAgZG8geworICAgICAgY3VycmVudC52ID0gY3VycmVudC5vLnYgPSB0cnVlOworICAg
ICAgaWYgKGN1cnJlbnQuZSkgeworICAgICAgICBpZiAoaXNTdWJqZWN0KSB7CisgICAgICAgICAg
Zm9yIChpID0gMCwgbiA9IHBvaW50cy5sZW5ndGg7IGkgPCBuOyArK2kpIHN0cmVhbS5wb2ludCgo
cG9pbnQgPSBwb2ludHNbaV0pWzBdLCBwb2ludFsxXSk7CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgaW50ZXJwb2xhdGUoY3VycmVudC54LCBjdXJyZW50Lm4ueCwgMSwgc3RyZWFtKTsKKyAg
ICAgICAgfQorICAgICAgICBjdXJyZW50ID0gY3VycmVudC5uOworICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgaWYgKGlzU3ViamVjdCkgeworICAgICAgICAgIHBvaW50cyA9IGN1cnJlbnQucC56Owor
ICAgICAgICAgIGZvciAoaSA9IHBvaW50cy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkgc3RyZWFt
LnBvaW50KChwb2ludCA9IHBvaW50c1tpXSlbMF0sIHBvaW50WzFdKTsKKyAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICBpbnRlcnBvbGF0ZShjdXJyZW50LngsIGN1cnJlbnQucC54LCAtMSwgc3Ry
ZWFtKTsKKyAgICAgICAgfQorICAgICAgICBjdXJyZW50ID0gY3VycmVudC5wOworICAgICAgfQor
ICAgICAgY3VycmVudCA9IGN1cnJlbnQubzsKKyAgICAgIHBvaW50cyA9IGN1cnJlbnQuejsKKyAg
ICAgIGlzU3ViamVjdCA9ICFpc1N1YmplY3Q7CisgICAgfSB3aGlsZSAoIWN1cnJlbnQudik7Cisg
ICAgc3RyZWFtLmxpbmVFbmQoKTsKKyAgfQorfQorCitmdW5jdGlvbiBsaW5rJDEoYXJyYXkpIHsK
KyAgaWYgKCEobiA9IGFycmF5Lmxlbmd0aCkpIHJldHVybjsKKyAgdmFyIG4sCisgICAgICBpID0g
MCwKKyAgICAgIGEgPSBhcnJheVswXSwKKyAgICAgIGI7CisgIHdoaWxlICgrK2kgPCBuKSB7Cisg
ICAgYS5uID0gYiA9IGFycmF5W2ldOworICAgIGIucCA9IGE7CisgICAgYSA9IGI7CisgIH0KKyAg
YS5uID0gYiA9IGFycmF5WzBdOworICBiLnAgPSBhOworfQorCit2YXIgc3VtJDEgPSBhZGRlcigp
OworCitmdW5jdGlvbiBsb25naXR1ZGUocG9pbnQpIHsKKyAgaWYgKGFicyhwb2ludFswXSkgPD0g
cGkkMykKKyAgICByZXR1cm4gcG9pbnRbMF07CisgIGVsc2UKKyAgICByZXR1cm4gc2lnbihwb2lu
dFswXSkgKiAoKGFicyhwb2ludFswXSkgKyBwaSQzKSAlIHRhdSQzIC0gcGkkMyk7Cit9CisKK2Z1
bmN0aW9uIHBvbHlnb25Db250YWlucyhwb2x5Z29uLCBwb2ludCkgeworICB2YXIgbGFtYmRhID0g
bG9uZ2l0dWRlKHBvaW50KSwKKyAgICAgIHBoaSA9IHBvaW50WzFdLAorICAgICAgc2luUGhpID0g
c2luJDEocGhpKSwKKyAgICAgIG5vcm1hbCA9IFtzaW4kMShsYW1iZGEpLCAtY29zJDEobGFtYmRh
KSwgMF0sCisgICAgICBhbmdsZSA9IDAsCisgICAgICB3aW5kaW5nID0gMDsKKworICBzdW0kMS5y
ZXNldCgpOworCisgIGlmIChzaW5QaGkgPT09IDEpIHBoaSA9IGhhbGZQaSQyICsgZXBzaWxvbiQy
OworICBlbHNlIGlmIChzaW5QaGkgPT09IC0xKSBwaGkgPSAtaGFsZlBpJDIgLSBlcHNpbG9uJDI7
CisKKyAgZm9yICh2YXIgaSA9IDAsIG4gPSBwb2x5Z29uLmxlbmd0aDsgaSA8IG47ICsraSkgewor
ICAgIGlmICghKG0gPSAocmluZyA9IHBvbHlnb25baV0pLmxlbmd0aCkpIGNvbnRpbnVlOworICAg
IHZhciByaW5nLAorICAgICAgICBtLAorICAgICAgICBwb2ludDAgPSByaW5nW20gLSAxXSwKKyAg
ICAgICAgbGFtYmRhMCA9IGxvbmdpdHVkZShwb2ludDApLAorICAgICAgICBwaGkwID0gcG9pbnQw
WzFdIC8gMiArIHF1YXJ0ZXJQaSwKKyAgICAgICAgc2luUGhpMCA9IHNpbiQxKHBoaTApLAorICAg
ICAgICBjb3NQaGkwID0gY29zJDEocGhpMCk7CisKKyAgICBmb3IgKHZhciBqID0gMDsgaiA8IG07
ICsraiwgbGFtYmRhMCA9IGxhbWJkYTEsIHNpblBoaTAgPSBzaW5QaGkxLCBjb3NQaGkwID0gY29z
UGhpMSwgcG9pbnQwID0gcG9pbnQxKSB7CisgICAgICB2YXIgcG9pbnQxID0gcmluZ1tqXSwKKyAg
ICAgICAgICBsYW1iZGExID0gbG9uZ2l0dWRlKHBvaW50MSksCisgICAgICAgICAgcGhpMSA9IHBv
aW50MVsxXSAvIDIgKyBxdWFydGVyUGksCisgICAgICAgICAgc2luUGhpMSA9IHNpbiQxKHBoaTEp
LAorICAgICAgICAgIGNvc1BoaTEgPSBjb3MkMShwaGkxKSwKKyAgICAgICAgICBkZWx0YSA9IGxh
bWJkYTEgLSBsYW1iZGEwLAorICAgICAgICAgIHNpZ24gPSBkZWx0YSA+PSAwID8gMSA6IC0xLAor
ICAgICAgICAgIGFic0RlbHRhID0gc2lnbiAqIGRlbHRhLAorICAgICAgICAgIGFudGltZXJpZGlh
biA9IGFic0RlbHRhID4gcGkkMywKKyAgICAgICAgICBrID0gc2luUGhpMCAqIHNpblBoaTE7CisK
KyAgICAgIHN1bSQxLmFkZChhdGFuMihrICogc2lnbiAqIHNpbiQxKGFic0RlbHRhKSwgY29zUGhp
MCAqIGNvc1BoaTEgKyBrICogY29zJDEoYWJzRGVsdGEpKSk7CisgICAgICBhbmdsZSArPSBhbnRp
bWVyaWRpYW4gPyBkZWx0YSArIHNpZ24gKiB0YXUkMyA6IGRlbHRhOworCisgICAgICAvLyBBcmUg
dGhlIGxvbmdpdHVkZXMgZWl0aGVyIHNpZGUgb2YgdGhlIHBvaW504oCZcyBtZXJpZGlhbiAobGFt
YmRhKSwKKyAgICAgIC8vIGFuZCBhcmUgdGhlIGxhdGl0dWRlcyBzbWFsbGVyIHRoYW4gdGhlIHBh
cmFsbGVsIChwaGkpPworICAgICAgaWYgKGFudGltZXJpZGlhbiBeIGxhbWJkYTAgPj0gbGFtYmRh
IF4gbGFtYmRhMSA+PSBsYW1iZGEpIHsKKyAgICAgICAgdmFyIGFyYyA9IGNhcnRlc2lhbkNyb3Nz
KGNhcnRlc2lhbihwb2ludDApLCBjYXJ0ZXNpYW4ocG9pbnQxKSk7CisgICAgICAgIGNhcnRlc2lh
bk5vcm1hbGl6ZUluUGxhY2UoYXJjKTsKKyAgICAgICAgdmFyIGludGVyc2VjdGlvbiA9IGNhcnRl
c2lhbkNyb3NzKG5vcm1hbCwgYXJjKTsKKyAgICAgICAgY2FydGVzaWFuTm9ybWFsaXplSW5QbGFj
ZShpbnRlcnNlY3Rpb24pOworICAgICAgICB2YXIgcGhpQXJjID0gKGFudGltZXJpZGlhbiBeIGRl
bHRhID49IDAgPyAtMSA6IDEpICogYXNpbihpbnRlcnNlY3Rpb25bMl0pOworICAgICAgICBpZiAo
cGhpID4gcGhpQXJjIHx8IHBoaSA9PT0gcGhpQXJjICYmIChhcmNbMF0gfHwgYXJjWzFdKSkgewor
ICAgICAgICAgIHdpbmRpbmcgKz0gYW50aW1lcmlkaWFuIF4gZGVsdGEgPj0gMCA/IDEgOiAtMTsK
KyAgICAgICAgfQorICAgICAgfQorICAgIH0KKyAgfQorCisgIC8vIEZpcnN0LCBkZXRlcm1pbmUg
d2hldGhlciB0aGUgU291dGggcG9sZSBpcyBpbnNpZGUgb3Igb3V0c2lkZToKKyAgLy8KKyAgLy8g
SXQgaXMgaW5zaWRlIGlmOgorICAvLyAqIHRoZSBwb2x5Z29uIHdpbmRzIGFyb3VuZCBpdCBpbiBh
IGNsb2Nrd2lzZSBkaXJlY3Rpb24uCisgIC8vICogdGhlIHBvbHlnb24gZG9lcyBub3QgKGN1bXVs
YXRpdmVseSkgd2luZCBhcm91bmQgaXQsIGJ1dCBoYXMgYSBuZWdhdGl2ZQorICAvLyAgIChjb3Vu
dGVyLWNsb2Nrd2lzZSkgYXJlYS4KKyAgLy8KKyAgLy8gU2Vjb25kLCBjb3VudCB0aGUgKHNpZ25l
ZCkgbnVtYmVyIG9mIHRpbWVzIGEgc2VnbWVudCBjcm9zc2VzIGEgbGFtYmRhCisgIC8vIGZyb20g
dGhlIHBvaW50IHRvIHRoZSBTb3V0aCBwb2xlLiAgSWYgaXQgaXMgemVybywgdGhlbiB0aGUgcG9p
bnQgaXMgdGhlCisgIC8vIHNhbWUgc2lkZSBhcyB0aGUgU291dGggcG9sZS4KKworICByZXR1cm4g
KGFuZ2xlIDwgLWVwc2lsb24kMiB8fCBhbmdsZSA8IGVwc2lsb24kMiAmJiBzdW0kMSA8IC1lcHNp
bG9uJDIpIF4gKHdpbmRpbmcgJiAxKTsKK30KKworZnVuY3Rpb24gY2xpcChwb2ludFZpc2libGUs
IGNsaXBMaW5lLCBpbnRlcnBvbGF0ZSwgc3RhcnQpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHNpbmsp
IHsKKyAgICB2YXIgbGluZSA9IGNsaXBMaW5lKHNpbmspLAorICAgICAgICByaW5nQnVmZmVyID0g
Y2xpcEJ1ZmZlcigpLAorICAgICAgICByaW5nU2luayA9IGNsaXBMaW5lKHJpbmdCdWZmZXIpLAor
ICAgICAgICBwb2x5Z29uU3RhcnRlZCA9IGZhbHNlLAorICAgICAgICBwb2x5Z29uLAorICAgICAg
ICBzZWdtZW50cywKKyAgICAgICAgcmluZzsKKworICAgIHZhciBjbGlwID0geworICAgICAgcG9p
bnQ6IHBvaW50LAorICAgICAgbGluZVN0YXJ0OiBsaW5lU3RhcnQsCisgICAgICBsaW5lRW5kOiBs
aW5lRW5kLAorICAgICAgcG9seWdvblN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICAgICAgY2xpcC5w
b2ludCA9IHBvaW50UmluZzsKKyAgICAgICAgY2xpcC5saW5lU3RhcnQgPSByaW5nU3RhcnQ7Cisg
ICAgICAgIGNsaXAubGluZUVuZCA9IHJpbmdFbmQ7CisgICAgICAgIHNlZ21lbnRzID0gW107Cisg
ICAgICAgIHBvbHlnb24gPSBbXTsKKyAgICAgIH0sCisgICAgICBwb2x5Z29uRW5kOiBmdW5jdGlv
bigpIHsKKyAgICAgICAgY2xpcC5wb2ludCA9IHBvaW50OworICAgICAgICBjbGlwLmxpbmVTdGFy
dCA9IGxpbmVTdGFydDsKKyAgICAgICAgY2xpcC5saW5lRW5kID0gbGluZUVuZDsKKyAgICAgICAg
c2VnbWVudHMgPSBtZXJnZShzZWdtZW50cyk7CisgICAgICAgIHZhciBzdGFydEluc2lkZSA9IHBv
bHlnb25Db250YWlucyhwb2x5Z29uLCBzdGFydCk7CisgICAgICAgIGlmIChzZWdtZW50cy5sZW5n
dGgpIHsKKyAgICAgICAgICBpZiAoIXBvbHlnb25TdGFydGVkKSBzaW5rLnBvbHlnb25TdGFydCgp
LCBwb2x5Z29uU3RhcnRlZCA9IHRydWU7CisgICAgICAgICAgY2xpcFJlam9pbihzZWdtZW50cywg
Y29tcGFyZUludGVyc2VjdGlvbiwgc3RhcnRJbnNpZGUsIGludGVycG9sYXRlLCBzaW5rKTsKKyAg
ICAgICAgfSBlbHNlIGlmIChzdGFydEluc2lkZSkgeworICAgICAgICAgIGlmICghcG9seWdvblN0
YXJ0ZWQpIHNpbmsucG9seWdvblN0YXJ0KCksIHBvbHlnb25TdGFydGVkID0gdHJ1ZTsKKyAgICAg
ICAgICBzaW5rLmxpbmVTdGFydCgpOworICAgICAgICAgIGludGVycG9sYXRlKG51bGwsIG51bGws
IDEsIHNpbmspOworICAgICAgICAgIHNpbmsubGluZUVuZCgpOworICAgICAgICB9CisgICAgICAg
IGlmIChwb2x5Z29uU3RhcnRlZCkgc2luay5wb2x5Z29uRW5kKCksIHBvbHlnb25TdGFydGVkID0g
ZmFsc2U7CisgICAgICAgIHNlZ21lbnRzID0gcG9seWdvbiA9IG51bGw7CisgICAgICB9LAorICAg
ICAgc3BoZXJlOiBmdW5jdGlvbigpIHsKKyAgICAgICAgc2luay5wb2x5Z29uU3RhcnQoKTsKKyAg
ICAgICAgc2luay5saW5lU3RhcnQoKTsKKyAgICAgICAgaW50ZXJwb2xhdGUobnVsbCwgbnVsbCwg
MSwgc2luayk7CisgICAgICAgIHNpbmsubGluZUVuZCgpOworICAgICAgICBzaW5rLnBvbHlnb25F
bmQoKTsKKyAgICAgIH0KKyAgICB9OworCisgICAgZnVuY3Rpb24gcG9pbnQobGFtYmRhLCBwaGkp
IHsKKyAgICAgIGlmIChwb2ludFZpc2libGUobGFtYmRhLCBwaGkpKSBzaW5rLnBvaW50KGxhbWJk
YSwgcGhpKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBwb2ludExpbmUobGFtYmRhLCBwaGkpIHsK
KyAgICAgIGxpbmUucG9pbnQobGFtYmRhLCBwaGkpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxp
bmVTdGFydCgpIHsKKyAgICAgIGNsaXAucG9pbnQgPSBwb2ludExpbmU7CisgICAgICBsaW5lLmxp
bmVTdGFydCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxpbmVFbmQoKSB7CisgICAgICBjbGlw
LnBvaW50ID0gcG9pbnQ7CisgICAgICBsaW5lLmxpbmVFbmQoKTsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiBwb2ludFJpbmcobGFtYmRhLCBwaGkpIHsKKyAgICAgIHJpbmcucHVzaChbbGFtYmRhLCBw
aGldKTsKKyAgICAgIHJpbmdTaW5rLnBvaW50KGxhbWJkYSwgcGhpKTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiByaW5nU3RhcnQoKSB7CisgICAgICByaW5nU2luay5saW5lU3RhcnQoKTsKKyAgICAg
IHJpbmcgPSBbXTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiByaW5nRW5kKCkgeworICAgICAgcG9p
bnRSaW5nKHJpbmdbMF1bMF0sIHJpbmdbMF1bMV0pOworICAgICAgcmluZ1NpbmsubGluZUVuZCgp
OworCisgICAgICB2YXIgY2xlYW4gPSByaW5nU2luay5jbGVhbigpLAorICAgICAgICAgIHJpbmdT
ZWdtZW50cyA9IHJpbmdCdWZmZXIucmVzdWx0KCksCisgICAgICAgICAgaSwgbiA9IHJpbmdTZWdt
ZW50cy5sZW5ndGgsIG0sCisgICAgICAgICAgc2VnbWVudCwKKyAgICAgICAgICBwb2ludDsKKwor
ICAgICAgcmluZy5wb3AoKTsKKyAgICAgIHBvbHlnb24ucHVzaChyaW5nKTsKKyAgICAgIHJpbmcg
PSBudWxsOworCisgICAgICBpZiAoIW4pIHJldHVybjsKKworICAgICAgLy8gTm8gaW50ZXJzZWN0
aW9ucy4KKyAgICAgIGlmIChjbGVhbiAmIDEpIHsKKyAgICAgICAgc2VnbWVudCA9IHJpbmdTZWdt
ZW50c1swXTsKKyAgICAgICAgaWYgKChtID0gc2VnbWVudC5sZW5ndGggLSAxKSA+IDApIHsKKyAg
ICAgICAgICBpZiAoIXBvbHlnb25TdGFydGVkKSBzaW5rLnBvbHlnb25TdGFydCgpLCBwb2x5Z29u
U3RhcnRlZCA9IHRydWU7CisgICAgICAgICAgc2luay5saW5lU3RhcnQoKTsKKyAgICAgICAgICBm
b3IgKGkgPSAwOyBpIDwgbTsgKytpKSBzaW5rLnBvaW50KChwb2ludCA9IHNlZ21lbnRbaV0pWzBd
LCBwb2ludFsxXSk7CisgICAgICAgICAgc2luay5saW5lRW5kKCk7CisgICAgICAgIH0KKyAgICAg
ICAgcmV0dXJuOworICAgICAgfQorCisgICAgICAvLyBSZWpvaW4gY29ubmVjdGVkIHNlZ21lbnRz
LgorICAgICAgLy8gVE9ETyByZXVzZSByaW5nQnVmZmVyLnJlam9pbigpPworICAgICAgaWYgKG4g
PiAxICYmIGNsZWFuICYgMikgcmluZ1NlZ21lbnRzLnB1c2gocmluZ1NlZ21lbnRzLnBvcCgpLmNv
bmNhdChyaW5nU2VnbWVudHMuc2hpZnQoKSkpOworCisgICAgICBzZWdtZW50cy5wdXNoKHJpbmdT
ZWdtZW50cy5maWx0ZXIodmFsaWRTZWdtZW50KSk7CisgICAgfQorCisgICAgcmV0dXJuIGNsaXA7
CisgIH07Cit9CisKK2Z1bmN0aW9uIHZhbGlkU2VnbWVudChzZWdtZW50KSB7CisgIHJldHVybiBz
ZWdtZW50Lmxlbmd0aCA+IDE7Cit9CisKKy8vIEludGVyc2VjdGlvbnMgYXJlIHNvcnRlZCBhbG9u
ZyB0aGUgY2xpcCBlZGdlLiBGb3IgYm90aCBhbnRpbWVyaWRpYW4gY3V0dGluZworLy8gYW5kIGNp
cmNsZSBjbGlwcGluZywgdGhlIHNhbWUgY29tcGFyaXNvbiBpcyB1c2VkLgorZnVuY3Rpb24gY29t
cGFyZUludGVyc2VjdGlvbihhLCBiKSB7CisgIHJldHVybiAoKGEgPSBhLngpWzBdIDwgMCA/IGFb
MV0gLSBoYWxmUGkkMiAtIGVwc2lsb24kMiA6IGhhbGZQaSQyIC0gYVsxXSkKKyAgICAgICAtICgo
YiA9IGIueClbMF0gPCAwID8gYlsxXSAtIGhhbGZQaSQyIC0gZXBzaWxvbiQyIDogaGFsZlBpJDIg
LSBiWzFdKTsKK30KKwordmFyIGNsaXBBbnRpbWVyaWRpYW4gPSBjbGlwKAorICBmdW5jdGlvbigp
IHsgcmV0dXJuIHRydWU7IH0sCisgIGNsaXBBbnRpbWVyaWRpYW5MaW5lLAorICBjbGlwQW50aW1l
cmlkaWFuSW50ZXJwb2xhdGUsCisgIFstcGkkMywgLWhhbGZQaSQyXQorKTsKKworLy8gVGFrZXMg
YSBsaW5lIGFuZCBjdXRzIGludG8gdmlzaWJsZSBzZWdtZW50cy4gUmV0dXJuIHZhbHVlczogMCAt
IHRoZXJlIHdlcmUKKy8vIGludGVyc2VjdGlvbnMgb3IgdGhlIGxpbmUgd2FzIGVtcHR5OyAxIC0g
bm8gaW50ZXJzZWN0aW9uczsgMiAtIHRoZXJlIHdlcmUKKy8vIGludGVyc2VjdGlvbnMsIGFuZCB0
aGUgZmlyc3QgYW5kIGxhc3Qgc2VnbWVudHMgc2hvdWxkIGJlIHJlam9pbmVkLgorZnVuY3Rpb24g
Y2xpcEFudGltZXJpZGlhbkxpbmUoc3RyZWFtKSB7CisgIHZhciBsYW1iZGEwID0gTmFOLAorICAg
ICAgcGhpMCA9IE5hTiwKKyAgICAgIHNpZ24wID0gTmFOLAorICAgICAgY2xlYW47IC8vIG5vIGlu
dGVyc2VjdGlvbnMKKworICByZXR1cm4geworICAgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7Cisg
ICAgICBzdHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICBjbGVhbiA9IDE7CisgICAgfSwKKyAgICBw
b2ludDogZnVuY3Rpb24obGFtYmRhMSwgcGhpMSkgeworICAgICAgdmFyIHNpZ24xID0gbGFtYmRh
MSA+IDAgPyBwaSQzIDogLXBpJDMsCisgICAgICAgICAgZGVsdGEgPSBhYnMobGFtYmRhMSAtIGxh
bWJkYTApOworICAgICAgaWYgKGFicyhkZWx0YSAtIHBpJDMpIDwgZXBzaWxvbiQyKSB7IC8vIGxp
bmUgY3Jvc3NlcyBhIHBvbGUKKyAgICAgICAgc3RyZWFtLnBvaW50KGxhbWJkYTAsIHBoaTAgPSAo
cGhpMCArIHBoaTEpIC8gMiA+IDAgPyBoYWxmUGkkMiA6IC1oYWxmUGkkMik7CisgICAgICAgIHN0
cmVhbS5wb2ludChzaWduMCwgcGhpMCk7CisgICAgICAgIHN0cmVhbS5saW5lRW5kKCk7CisgICAg
ICAgIHN0cmVhbS5saW5lU3RhcnQoKTsKKyAgICAgICAgc3RyZWFtLnBvaW50KHNpZ24xLCBwaGkw
KTsKKyAgICAgICAgc3RyZWFtLnBvaW50KGxhbWJkYTEsIHBoaTApOworICAgICAgICBjbGVhbiA9
IDA7CisgICAgICB9IGVsc2UgaWYgKHNpZ24wICE9PSBzaWduMSAmJiBkZWx0YSA+PSBwaSQzKSB7
IC8vIGxpbmUgY3Jvc3NlcyBhbnRpbWVyaWRpYW4KKyAgICAgICAgaWYgKGFicyhsYW1iZGEwIC0g
c2lnbjApIDwgZXBzaWxvbiQyKSBsYW1iZGEwIC09IHNpZ24wICogZXBzaWxvbiQyOyAvLyBoYW5k
bGUgZGVnZW5lcmFjaWVzCisgICAgICAgIGlmIChhYnMobGFtYmRhMSAtIHNpZ24xKSA8IGVwc2ls
b24kMikgbGFtYmRhMSAtPSBzaWduMSAqIGVwc2lsb24kMjsKKyAgICAgICAgcGhpMCA9IGNsaXBB
bnRpbWVyaWRpYW5JbnRlcnNlY3QobGFtYmRhMCwgcGhpMCwgbGFtYmRhMSwgcGhpMSk7CisgICAg
ICAgIHN0cmVhbS5wb2ludChzaWduMCwgcGhpMCk7CisgICAgICAgIHN0cmVhbS5saW5lRW5kKCk7
CisgICAgICAgIHN0cmVhbS5saW5lU3RhcnQoKTsKKyAgICAgICAgc3RyZWFtLnBvaW50KHNpZ24x
LCBwaGkwKTsKKyAgICAgICAgY2xlYW4gPSAwOworICAgICAgfQorICAgICAgc3RyZWFtLnBvaW50
KGxhbWJkYTAgPSBsYW1iZGExLCBwaGkwID0gcGhpMSk7CisgICAgICBzaWduMCA9IHNpZ24xOwor
ICAgIH0sCisgICAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgICBzdHJlYW0ubGluZUVuZCgp
OworICAgICAgbGFtYmRhMCA9IHBoaTAgPSBOYU47CisgICAgfSwKKyAgICBjbGVhbjogZnVuY3Rp
b24oKSB7CisgICAgICByZXR1cm4gMiAtIGNsZWFuOyAvLyBpZiBpbnRlcnNlY3Rpb25zLCByZWpv
aW4gZmlyc3QgYW5kIGxhc3Qgc2VnbWVudHMKKyAgICB9CisgIH07Cit9CisKK2Z1bmN0aW9uIGNs
aXBBbnRpbWVyaWRpYW5JbnRlcnNlY3QobGFtYmRhMCwgcGhpMCwgbGFtYmRhMSwgcGhpMSkgewor
ICB2YXIgY29zUGhpMCwKKyAgICAgIGNvc1BoaTEsCisgICAgICBzaW5MYW1iZGEwTGFtYmRhMSA9
IHNpbiQxKGxhbWJkYTAgLSBsYW1iZGExKTsKKyAgcmV0dXJuIGFicyhzaW5MYW1iZGEwTGFtYmRh
MSkgPiBlcHNpbG9uJDIKKyAgICAgID8gYXRhbigoc2luJDEocGhpMCkgKiAoY29zUGhpMSA9IGNv
cyQxKHBoaTEpKSAqIHNpbiQxKGxhbWJkYTEpCisgICAgICAgICAgLSBzaW4kMShwaGkxKSAqIChj
b3NQaGkwID0gY29zJDEocGhpMCkpICogc2luJDEobGFtYmRhMCkpCisgICAgICAgICAgLyAoY29z
UGhpMCAqIGNvc1BoaTEgKiBzaW5MYW1iZGEwTGFtYmRhMSkpCisgICAgICA6IChwaGkwICsgcGhp
MSkgLyAyOworfQorCitmdW5jdGlvbiBjbGlwQW50aW1lcmlkaWFuSW50ZXJwb2xhdGUoZnJvbSwg
dG8sIGRpcmVjdGlvbiwgc3RyZWFtKSB7CisgIHZhciBwaGk7CisgIGlmIChmcm9tID09IG51bGwp
IHsKKyAgICBwaGkgPSBkaXJlY3Rpb24gKiBoYWxmUGkkMjsKKyAgICBzdHJlYW0ucG9pbnQoLXBp
JDMsIHBoaSk7CisgICAgc3RyZWFtLnBvaW50KDAsIHBoaSk7CisgICAgc3RyZWFtLnBvaW50KHBp
JDMsIHBoaSk7CisgICAgc3RyZWFtLnBvaW50KHBpJDMsIDApOworICAgIHN0cmVhbS5wb2ludChw
aSQzLCAtcGhpKTsKKyAgICBzdHJlYW0ucG9pbnQoMCwgLXBoaSk7CisgICAgc3RyZWFtLnBvaW50
KC1waSQzLCAtcGhpKTsKKyAgICBzdHJlYW0ucG9pbnQoLXBpJDMsIDApOworICAgIHN0cmVhbS5w
b2ludCgtcGkkMywgcGhpKTsKKyAgfSBlbHNlIGlmIChhYnMoZnJvbVswXSAtIHRvWzBdKSA+IGVw
c2lsb24kMikgeworICAgIHZhciBsYW1iZGEgPSBmcm9tWzBdIDwgdG9bMF0gPyBwaSQzIDogLXBp
JDM7CisgICAgcGhpID0gZGlyZWN0aW9uICogbGFtYmRhIC8gMjsKKyAgICBzdHJlYW0ucG9pbnQo
LWxhbWJkYSwgcGhpKTsKKyAgICBzdHJlYW0ucG9pbnQoMCwgcGhpKTsKKyAgICBzdHJlYW0ucG9p
bnQobGFtYmRhLCBwaGkpOworICB9IGVsc2UgeworICAgIHN0cmVhbS5wb2ludCh0b1swXSwgdG9b
MV0pOworICB9Cit9CisKK2Z1bmN0aW9uIGNsaXBDaXJjbGUocmFkaXVzKSB7CisgIHZhciBjciA9
IGNvcyQxKHJhZGl1cyksCisgICAgICBkZWx0YSA9IDYgKiByYWRpYW5zLAorICAgICAgc21hbGxS
YWRpdXMgPSBjciA+IDAsCisgICAgICBub3RIZW1pc3BoZXJlID0gYWJzKGNyKSA+IGVwc2lsb24k
MjsgLy8gVE9ETyBvcHRpbWlzZSBmb3IgdGhpcyBjb21tb24gY2FzZQorCisgIGZ1bmN0aW9uIGlu
dGVycG9sYXRlKGZyb20sIHRvLCBkaXJlY3Rpb24sIHN0cmVhbSkgeworICAgIGNpcmNsZVN0cmVh
bShzdHJlYW0sIHJhZGl1cywgZGVsdGEsIGRpcmVjdGlvbiwgZnJvbSwgdG8pOworICB9CisKKyAg
ZnVuY3Rpb24gdmlzaWJsZShsYW1iZGEsIHBoaSkgeworICAgIHJldHVybiBjb3MkMShsYW1iZGEp
ICogY29zJDEocGhpKSA+IGNyOworICB9CisKKyAgLy8gVGFrZXMgYSBsaW5lIGFuZCBjdXRzIGlu
dG8gdmlzaWJsZSBzZWdtZW50cy4gUmV0dXJuIHZhbHVlcyB1c2VkIGZvciBwb2x5Z29uCisgIC8v
IGNsaXBwaW5nOiAwIC0gdGhlcmUgd2VyZSBpbnRlcnNlY3Rpb25zIG9yIHRoZSBsaW5lIHdhcyBl
bXB0eTsgMSAtIG5vCisgIC8vIGludGVyc2VjdGlvbnMgMiAtIHRoZXJlIHdlcmUgaW50ZXJzZWN0
aW9ucywgYW5kIHRoZSBmaXJzdCBhbmQgbGFzdCBzZWdtZW50cworICAvLyBzaG91bGQgYmUgcmVq
b2luZWQuCisgIGZ1bmN0aW9uIGNsaXBMaW5lKHN0cmVhbSkgeworICAgIHZhciBwb2ludDAsIC8v
IHByZXZpb3VzIHBvaW50CisgICAgICAgIGMwLCAvLyBjb2RlIGZvciBwcmV2aW91cyBwb2ludAor
ICAgICAgICB2MCwgLy8gdmlzaWJpbGl0eSBvZiBwcmV2aW91cyBwb2ludAorICAgICAgICB2MDAs
IC8vIHZpc2liaWxpdHkgb2YgZmlyc3QgcG9pbnQKKyAgICAgICAgY2xlYW47IC8vIG5vIGludGVy
c2VjdGlvbnMKKyAgICByZXR1cm4geworICAgICAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAg
ICAgICAgdjAwID0gdjAgPSBmYWxzZTsKKyAgICAgICAgY2xlYW4gPSAxOworICAgICAgfSwKKyAg
ICAgIHBvaW50OiBmdW5jdGlvbihsYW1iZGEsIHBoaSkgeworICAgICAgICB2YXIgcG9pbnQxID0g
W2xhbWJkYSwgcGhpXSwKKyAgICAgICAgICAgIHBvaW50MiwKKyAgICAgICAgICAgIHYgPSB2aXNp
YmxlKGxhbWJkYSwgcGhpKSwKKyAgICAgICAgICAgIGMgPSBzbWFsbFJhZGl1cworICAgICAgICAg
ICAgICA/IHYgPyAwIDogY29kZShsYW1iZGEsIHBoaSkKKyAgICAgICAgICAgICAgOiB2ID8gY29k
ZShsYW1iZGEgKyAobGFtYmRhIDwgMCA/IHBpJDMgOiAtcGkkMyksIHBoaSkgOiAwOworICAgICAg
ICBpZiAoIXBvaW50MCAmJiAodjAwID0gdjAgPSB2KSkgc3RyZWFtLmxpbmVTdGFydCgpOworICAg
ICAgICAvLyBIYW5kbGUgZGVnZW5lcmFjaWVzLgorICAgICAgICAvLyBUT0RPIGlnbm9yZSBpZiBu
b3QgY2xpcHBpbmcgcG9seWdvbnMuCisgICAgICAgIGlmICh2ICE9PSB2MCkgeworICAgICAgICAg
IHBvaW50MiA9IGludGVyc2VjdChwb2ludDAsIHBvaW50MSk7CisgICAgICAgICAgaWYgKCFwb2lu
dDIgfHwgcG9pbnRFcXVhbChwb2ludDAsIHBvaW50MikgfHwgcG9pbnRFcXVhbChwb2ludDEsIHBv
aW50MikpIHsKKyAgICAgICAgICAgIHBvaW50MVswXSArPSBlcHNpbG9uJDI7CisgICAgICAgICAg
ICBwb2ludDFbMV0gKz0gZXBzaWxvbiQyOworICAgICAgICAgICAgdiA9IHZpc2libGUocG9pbnQx
WzBdLCBwb2ludDFbMV0pOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAodiAh
PT0gdjApIHsKKyAgICAgICAgICBjbGVhbiA9IDA7CisgICAgICAgICAgaWYgKHYpIHsKKyAgICAg
ICAgICAgIC8vIG91dHNpZGUgZ29pbmcgaW4KKyAgICAgICAgICAgIHN0cmVhbS5saW5lU3RhcnQo
KTsKKyAgICAgICAgICAgIHBvaW50MiA9IGludGVyc2VjdChwb2ludDEsIHBvaW50MCk7CisgICAg
ICAgICAgICBzdHJlYW0ucG9pbnQocG9pbnQyWzBdLCBwb2ludDJbMV0pOworICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAvLyBpbnNpZGUgZ29pbmcgb3V0CisgICAgICAgICAgICBwb2lu
dDIgPSBpbnRlcnNlY3QocG9pbnQwLCBwb2ludDEpOworICAgICAgICAgICAgc3RyZWFtLnBvaW50
KHBvaW50MlswXSwgcG9pbnQyWzFdKTsKKyAgICAgICAgICAgIHN0cmVhbS5saW5lRW5kKCk7Cisg
ICAgICAgICAgfQorICAgICAgICAgIHBvaW50MCA9IHBvaW50MjsKKyAgICAgICAgfSBlbHNlIGlm
IChub3RIZW1pc3BoZXJlICYmIHBvaW50MCAmJiBzbWFsbFJhZGl1cyBeIHYpIHsKKyAgICAgICAg
ICB2YXIgdDsKKyAgICAgICAgICAvLyBJZiB0aGUgY29kZXMgZm9yIHR3byBwb2ludHMgYXJlIGRp
ZmZlcmVudCwgb3IgYXJlIGJvdGggemVybywKKyAgICAgICAgICAvLyBhbmQgdGhlcmUgdGhpcyBz
ZWdtZW50IGludGVyc2VjdHMgd2l0aCB0aGUgc21hbGwgY2lyY2xlLgorICAgICAgICAgIGlmICgh
KGMgJiBjMCkgJiYgKHQgPSBpbnRlcnNlY3QocG9pbnQxLCBwb2ludDAsIHRydWUpKSkgeworICAg
ICAgICAgICAgY2xlYW4gPSAwOworICAgICAgICAgICAgaWYgKHNtYWxsUmFkaXVzKSB7CisgICAg
ICAgICAgICAgIHN0cmVhbS5saW5lU3RhcnQoKTsKKyAgICAgICAgICAgICAgc3RyZWFtLnBvaW50
KHRbMF1bMF0sIHRbMF1bMV0pOworICAgICAgICAgICAgICBzdHJlYW0ucG9pbnQodFsxXVswXSwg
dFsxXVsxXSk7CisgICAgICAgICAgICAgIHN0cmVhbS5saW5lRW5kKCk7CisgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICBzdHJlYW0ucG9pbnQodFsxXVswXSwgdFsxXVsxXSk7Cisg
ICAgICAgICAgICAgIHN0cmVhbS5saW5lRW5kKCk7CisgICAgICAgICAgICAgIHN0cmVhbS5saW5l
U3RhcnQoKTsKKyAgICAgICAgICAgICAgc3RyZWFtLnBvaW50KHRbMF1bMF0sIHRbMF1bMV0pOwor
ICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAodiAmJiAo
IXBvaW50MCB8fCAhcG9pbnRFcXVhbChwb2ludDAsIHBvaW50MSkpKSB7CisgICAgICAgICAgc3Ry
ZWFtLnBvaW50KHBvaW50MVswXSwgcG9pbnQxWzFdKTsKKyAgICAgICAgfQorICAgICAgICBwb2lu
dDAgPSBwb2ludDEsIHYwID0gdiwgYzAgPSBjOworICAgICAgfSwKKyAgICAgIGxpbmVFbmQ6IGZ1
bmN0aW9uKCkgeworICAgICAgICBpZiAodjApIHN0cmVhbS5saW5lRW5kKCk7CisgICAgICAgIHBv
aW50MCA9IG51bGw7CisgICAgICB9LAorICAgICAgLy8gUmVqb2luIGZpcnN0IGFuZCBsYXN0IHNl
Z21lbnRzIGlmIHRoZXJlIHdlcmUgaW50ZXJzZWN0aW9ucyBhbmQgdGhlIGZpcnN0CisgICAgICAv
LyBhbmQgbGFzdCBwb2ludHMgd2VyZSB2aXNpYmxlLgorICAgICAgY2xlYW46IGZ1bmN0aW9uKCkg
eworICAgICAgICByZXR1cm4gY2xlYW4gfCAoKHYwMCAmJiB2MCkgPDwgMSk7CisgICAgICB9Cisg
ICAgfTsKKyAgfQorCisgIC8vIEludGVyc2VjdHMgdGhlIGdyZWF0IGNpcmNsZSBiZXR3ZWVuIGEg
YW5kIGIgd2l0aCB0aGUgY2xpcCBjaXJjbGUuCisgIGZ1bmN0aW9uIGludGVyc2VjdChhLCBiLCB0
d28pIHsKKyAgICB2YXIgcGEgPSBjYXJ0ZXNpYW4oYSksCisgICAgICAgIHBiID0gY2FydGVzaWFu
KGIpOworCisgICAgLy8gV2UgaGF2ZSB0d28gcGxhbmVzLCBuMS5wID0gZDEgYW5kIG4yLnAgPSBk
Mi4KKyAgICAvLyBGaW5kIGludGVyc2VjdGlvbiBsaW5lIHAodCkgPSBjMSBuMSArIGMyIG4yICsg
dCAobjEg4qivIG4yKS4KKyAgICB2YXIgbjEgPSBbMSwgMCwgMF0sIC8vIG5vcm1hbAorICAgICAg
ICBuMiA9IGNhcnRlc2lhbkNyb3NzKHBhLCBwYiksCisgICAgICAgIG4ybjIgPSBjYXJ0ZXNpYW5E
b3QobjIsIG4yKSwKKyAgICAgICAgbjFuMiA9IG4yWzBdLCAvLyBjYXJ0ZXNpYW5Eb3QobjEsIG4y
KSwKKyAgICAgICAgZGV0ZXJtaW5hbnQgPSBuMm4yIC0gbjFuMiAqIG4xbjI7CisKKyAgICAvLyBU
d28gcG9sYXIgcG9pbnRzLgorICAgIGlmICghZGV0ZXJtaW5hbnQpIHJldHVybiAhdHdvICYmIGE7
CisKKyAgICB2YXIgYzEgPSAgY3IgKiBuMm4yIC8gZGV0ZXJtaW5hbnQsCisgICAgICAgIGMyID0g
LWNyICogbjFuMiAvIGRldGVybWluYW50LAorICAgICAgICBuMXhuMiA9IGNhcnRlc2lhbkNyb3Nz
KG4xLCBuMiksCisgICAgICAgIEEgPSBjYXJ0ZXNpYW5TY2FsZShuMSwgYzEpLAorICAgICAgICBC
ID0gY2FydGVzaWFuU2NhbGUobjIsIGMyKTsKKyAgICBjYXJ0ZXNpYW5BZGRJblBsYWNlKEEsIEIp
OworCisgICAgLy8gU29sdmUgfHAodCl8XjIgPSAxLgorICAgIHZhciB1ID0gbjF4bjIsCisgICAg
ICAgIHcgPSBjYXJ0ZXNpYW5Eb3QoQSwgdSksCisgICAgICAgIHV1ID0gY2FydGVzaWFuRG90KHUs
IHUpLAorICAgICAgICB0MiA9IHcgKiB3IC0gdXUgKiAoY2FydGVzaWFuRG90KEEsIEEpIC0gMSk7
CisKKyAgICBpZiAodDIgPCAwKSByZXR1cm47CisKKyAgICB2YXIgdCA9IHNxcnQodDIpLAorICAg
ICAgICBxID0gY2FydGVzaWFuU2NhbGUodSwgKC13IC0gdCkgLyB1dSk7CisgICAgY2FydGVzaWFu
QWRkSW5QbGFjZShxLCBBKTsKKyAgICBxID0gc3BoZXJpY2FsKHEpOworCisgICAgaWYgKCF0d28p
IHJldHVybiBxOworCisgICAgLy8gVHdvIGludGVyc2VjdGlvbiBwb2ludHMuCisgICAgdmFyIGxh
bWJkYTAgPSBhWzBdLAorICAgICAgICBsYW1iZGExID0gYlswXSwKKyAgICAgICAgcGhpMCA9IGFb
MV0sCisgICAgICAgIHBoaTEgPSBiWzFdLAorICAgICAgICB6OworCisgICAgaWYgKGxhbWJkYTEg
PCBsYW1iZGEwKSB6ID0gbGFtYmRhMCwgbGFtYmRhMCA9IGxhbWJkYTEsIGxhbWJkYTEgPSB6Owor
CisgICAgdmFyIGRlbHRhID0gbGFtYmRhMSAtIGxhbWJkYTAsCisgICAgICAgIHBvbGFyID0gYWJz
KGRlbHRhIC0gcGkkMykgPCBlcHNpbG9uJDIsCisgICAgICAgIG1lcmlkaWFuID0gcG9sYXIgfHwg
ZGVsdGEgPCBlcHNpbG9uJDI7CisKKyAgICBpZiAoIXBvbGFyICYmIHBoaTEgPCBwaGkwKSB6ID0g
cGhpMCwgcGhpMCA9IHBoaTEsIHBoaTEgPSB6OworCisgICAgLy8gQ2hlY2sgdGhhdCB0aGUgZmly
c3QgcG9pbnQgaXMgYmV0d2VlbiBhIGFuZCBiLgorICAgIGlmIChtZXJpZGlhbgorICAgICAgICA/
IHBvbGFyCisgICAgICAgICAgPyBwaGkwICsgcGhpMSA+IDAgXiBxWzFdIDwgKGFicyhxWzBdIC0g
bGFtYmRhMCkgPCBlcHNpbG9uJDIgPyBwaGkwIDogcGhpMSkKKyAgICAgICAgICA6IHBoaTAgPD0g
cVsxXSAmJiBxWzFdIDw9IHBoaTEKKyAgICAgICAgOiBkZWx0YSA+IHBpJDMgXiAobGFtYmRhMCA8
PSBxWzBdICYmIHFbMF0gPD0gbGFtYmRhMSkpIHsKKyAgICAgIHZhciBxMSA9IGNhcnRlc2lhblNj
YWxlKHUsICgtdyArIHQpIC8gdXUpOworICAgICAgY2FydGVzaWFuQWRkSW5QbGFjZShxMSwgQSk7
CisgICAgICByZXR1cm4gW3EsIHNwaGVyaWNhbChxMSldOworICAgIH0KKyAgfQorCisgIC8vIEdl
bmVyYXRlcyBhIDQtYml0IHZlY3RvciByZXByZXNlbnRpbmcgdGhlIGxvY2F0aW9uIG9mIGEgcG9p
bnQgcmVsYXRpdmUgdG8KKyAgLy8gdGhlIHNtYWxsIGNpcmNsZSdzIGJvdW5kaW5nIGJveC4KKyAg
ZnVuY3Rpb24gY29kZShsYW1iZGEsIHBoaSkgeworICAgIHZhciByID0gc21hbGxSYWRpdXMgPyBy
YWRpdXMgOiBwaSQzIC0gcmFkaXVzLAorICAgICAgICBjb2RlID0gMDsKKyAgICBpZiAobGFtYmRh
IDwgLXIpIGNvZGUgfD0gMTsgLy8gbGVmdAorICAgIGVsc2UgaWYgKGxhbWJkYSA+IHIpIGNvZGUg
fD0gMjsgLy8gcmlnaHQKKyAgICBpZiAocGhpIDwgLXIpIGNvZGUgfD0gNDsgLy8gYmVsb3cKKyAg
ICBlbHNlIGlmIChwaGkgPiByKSBjb2RlIHw9IDg7IC8vIGFib3ZlCisgICAgcmV0dXJuIGNvZGU7
CisgIH0KKworICByZXR1cm4gY2xpcCh2aXNpYmxlLCBjbGlwTGluZSwgaW50ZXJwb2xhdGUsIHNt
YWxsUmFkaXVzID8gWzAsIC1yYWRpdXNdIDogWy1waSQzLCByYWRpdXMgLSBwaSQzXSk7Cit9CisK
K2Z1bmN0aW9uIGNsaXBMaW5lKGEsIGIsIHgwLCB5MCwgeDEsIHkxKSB7CisgIHZhciBheCA9IGFb
MF0sCisgICAgICBheSA9IGFbMV0sCisgICAgICBieCA9IGJbMF0sCisgICAgICBieSA9IGJbMV0s
CisgICAgICB0MCA9IDAsCisgICAgICB0MSA9IDEsCisgICAgICBkeCA9IGJ4IC0gYXgsCisgICAg
ICBkeSA9IGJ5IC0gYXksCisgICAgICByOworCisgIHIgPSB4MCAtIGF4OworICBpZiAoIWR4ICYm
IHIgPiAwKSByZXR1cm47CisgIHIgLz0gZHg7CisgIGlmIChkeCA8IDApIHsKKyAgICBpZiAociA8
IHQwKSByZXR1cm47CisgICAgaWYgKHIgPCB0MSkgdDEgPSByOworICB9IGVsc2UgaWYgKGR4ID4g
MCkgeworICAgIGlmIChyID4gdDEpIHJldHVybjsKKyAgICBpZiAociA+IHQwKSB0MCA9IHI7Cisg
IH0KKworICByID0geDEgLSBheDsKKyAgaWYgKCFkeCAmJiByIDwgMCkgcmV0dXJuOworICByIC89
IGR4OworICBpZiAoZHggPCAwKSB7CisgICAgaWYgKHIgPiB0MSkgcmV0dXJuOworICAgIGlmIChy
ID4gdDApIHQwID0gcjsKKyAgfSBlbHNlIGlmIChkeCA+IDApIHsKKyAgICBpZiAociA8IHQwKSBy
ZXR1cm47CisgICAgaWYgKHIgPCB0MSkgdDEgPSByOworICB9CisKKyAgciA9IHkwIC0gYXk7Cisg
IGlmICghZHkgJiYgciA+IDApIHJldHVybjsKKyAgciAvPSBkeTsKKyAgaWYgKGR5IDwgMCkgewor
ICAgIGlmIChyIDwgdDApIHJldHVybjsKKyAgICBpZiAociA8IHQxKSB0MSA9IHI7CisgIH0gZWxz
ZSBpZiAoZHkgPiAwKSB7CisgICAgaWYgKHIgPiB0MSkgcmV0dXJuOworICAgIGlmIChyID4gdDAp
IHQwID0gcjsKKyAgfQorCisgIHIgPSB5MSAtIGF5OworICBpZiAoIWR5ICYmIHIgPCAwKSByZXR1
cm47CisgIHIgLz0gZHk7CisgIGlmIChkeSA8IDApIHsKKyAgICBpZiAociA+IHQxKSByZXR1cm47
CisgICAgaWYgKHIgPiB0MCkgdDAgPSByOworICB9IGVsc2UgaWYgKGR5ID4gMCkgeworICAgIGlm
IChyIDwgdDApIHJldHVybjsKKyAgICBpZiAociA8IHQxKSB0MSA9IHI7CisgIH0KKworICBpZiAo
dDAgPiAwKSBhWzBdID0gYXggKyB0MCAqIGR4LCBhWzFdID0gYXkgKyB0MCAqIGR5OworICBpZiAo
dDEgPCAxKSBiWzBdID0gYXggKyB0MSAqIGR4LCBiWzFdID0gYXkgKyB0MSAqIGR5OworICByZXR1
cm4gdHJ1ZTsKK30KKwordmFyIGNsaXBNYXggPSAxZTksIGNsaXBNaW4gPSAtY2xpcE1heDsKKwor
Ly8gVE9ETyBVc2UgZDMtcG9seWdvbuKAmXMgcG9seWdvbkNvbnRhaW5zIGhlcmUgZm9yIHRoZSBy
aW5nIGNoZWNrPworLy8gVE9ETyBFbGltaW5hdGUgZHVwbGljYXRlIGJ1ZmZlcmluZyBpbiBjbGlw
QnVmZmVyIGFuZCBwb2x5Z29uLnB1c2g/CisKK2Z1bmN0aW9uIGNsaXBSZWN0YW5nbGUoeDAsIHkw
LCB4MSwgeTEpIHsKKworICBmdW5jdGlvbiB2aXNpYmxlKHgsIHkpIHsKKyAgICByZXR1cm4geDAg
PD0geCAmJiB4IDw9IHgxICYmIHkwIDw9IHkgJiYgeSA8PSB5MTsKKyAgfQorCisgIGZ1bmN0aW9u
IGludGVycG9sYXRlKGZyb20sIHRvLCBkaXJlY3Rpb24sIHN0cmVhbSkgeworICAgIHZhciBhID0g
MCwgYTEgPSAwOworICAgIGlmIChmcm9tID09IG51bGwKKyAgICAgICAgfHwgKGEgPSBjb3JuZXIo
ZnJvbSwgZGlyZWN0aW9uKSkgIT09IChhMSA9IGNvcm5lcih0bywgZGlyZWN0aW9uKSkKKyAgICAg
ICAgfHwgY29tcGFyZVBvaW50KGZyb20sIHRvKSA8IDAgXiBkaXJlY3Rpb24gPiAwKSB7CisgICAg
ICBkbyBzdHJlYW0ucG9pbnQoYSA9PT0gMCB8fCBhID09PSAzID8geDAgOiB4MSwgYSA+IDEgPyB5
MSA6IHkwKTsKKyAgICAgIHdoaWxlICgoYSA9IChhICsgZGlyZWN0aW9uICsgNCkgJSA0KSAhPT0g
YTEpOworICAgIH0gZWxzZSB7CisgICAgICBzdHJlYW0ucG9pbnQodG9bMF0sIHRvWzFdKTsKKyAg
ICB9CisgIH0KKworICBmdW5jdGlvbiBjb3JuZXIocCwgZGlyZWN0aW9uKSB7CisgICAgcmV0dXJu
IGFicyhwWzBdIC0geDApIDwgZXBzaWxvbiQyID8gZGlyZWN0aW9uID4gMCA/IDAgOiAzCisgICAg
ICAgIDogYWJzKHBbMF0gLSB4MSkgPCBlcHNpbG9uJDIgPyBkaXJlY3Rpb24gPiAwID8gMiA6IDEK
KyAgICAgICAgOiBhYnMocFsxXSAtIHkwKSA8IGVwc2lsb24kMiA/IGRpcmVjdGlvbiA+IDAgPyAx
IDogMAorICAgICAgICA6IGRpcmVjdGlvbiA+IDAgPyAzIDogMjsgLy8gYWJzKHBbMV0gLSB5MSkg
PCBlcHNpbG9uCisgIH0KKworICBmdW5jdGlvbiBjb21wYXJlSW50ZXJzZWN0aW9uKGEsIGIpIHsK
KyAgICByZXR1cm4gY29tcGFyZVBvaW50KGEueCwgYi54KTsKKyAgfQorCisgIGZ1bmN0aW9uIGNv
bXBhcmVQb2ludChhLCBiKSB7CisgICAgdmFyIGNhID0gY29ybmVyKGEsIDEpLAorICAgICAgICBj
YiA9IGNvcm5lcihiLCAxKTsKKyAgICByZXR1cm4gY2EgIT09IGNiID8gY2EgLSBjYgorICAgICAg
ICA6IGNhID09PSAwID8gYlsxXSAtIGFbMV0KKyAgICAgICAgOiBjYSA9PT0gMSA/IGFbMF0gLSBi
WzBdCisgICAgICAgIDogY2EgPT09IDIgPyBhWzFdIC0gYlsxXQorICAgICAgICA6IGJbMF0gLSBh
WzBdOworICB9CisKKyAgcmV0dXJuIGZ1bmN0aW9uKHN0cmVhbSkgeworICAgIHZhciBhY3RpdmVT
dHJlYW0gPSBzdHJlYW0sCisgICAgICAgIGJ1ZmZlclN0cmVhbSA9IGNsaXBCdWZmZXIoKSwKKyAg
ICAgICAgc2VnbWVudHMsCisgICAgICAgIHBvbHlnb24sCisgICAgICAgIHJpbmcsCisgICAgICAg
IHhfXywgeV9fLCB2X18sIC8vIGZpcnN0IHBvaW50CisgICAgICAgIHhfLCB5Xywgdl8sIC8vIHBy
ZXZpb3VzIHBvaW50CisgICAgICAgIGZpcnN0LAorICAgICAgICBjbGVhbjsKKworICAgIHZhciBj
bGlwU3RyZWFtID0geworICAgICAgcG9pbnQ6IHBvaW50LAorICAgICAgbGluZVN0YXJ0OiBsaW5l
U3RhcnQsCisgICAgICBsaW5lRW5kOiBsaW5lRW5kLAorICAgICAgcG9seWdvblN0YXJ0OiBwb2x5
Z29uU3RhcnQsCisgICAgICBwb2x5Z29uRW5kOiBwb2x5Z29uRW5kCisgICAgfTsKKworICAgIGZ1
bmN0aW9uIHBvaW50KHgsIHkpIHsKKyAgICAgIGlmICh2aXNpYmxlKHgsIHkpKSBhY3RpdmVTdHJl
YW0ucG9pbnQoeCwgeSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcG9seWdvbkluc2lkZSgpIHsK
KyAgICAgIHZhciB3aW5kaW5nID0gMDsKKworICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBwb2x5
Z29uLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAgICAgICBmb3IgKHZhciByaW5nID0gcG9seWdv
bltpXSwgaiA9IDEsIG0gPSByaW5nLmxlbmd0aCwgcG9pbnQgPSByaW5nWzBdLCBhMCwgYTEsIGIw
ID0gcG9pbnRbMF0sIGIxID0gcG9pbnRbMV07IGogPCBtOyArK2opIHsKKyAgICAgICAgICBhMCA9
IGIwLCBhMSA9IGIxLCBwb2ludCA9IHJpbmdbal0sIGIwID0gcG9pbnRbMF0sIGIxID0gcG9pbnRb
MV07CisgICAgICAgICAgaWYgKGExIDw9IHkxKSB7IGlmIChiMSA+IHkxICYmIChiMCAtIGEwKSAq
ICh5MSAtIGExKSA+IChiMSAtIGExKSAqICh4MCAtIGEwKSkgKyt3aW5kaW5nOyB9CisgICAgICAg
ICAgZWxzZSB7IGlmIChiMSA8PSB5MSAmJiAoYjAgLSBhMCkgKiAoeTEgLSBhMSkgPCAoYjEgLSBh
MSkgKiAoeDAgLSBhMCkpIC0td2luZGluZzsgfQorICAgICAgICB9CisgICAgICB9CisKKyAgICAg
IHJldHVybiB3aW5kaW5nOworICAgIH0KKworICAgIC8vIEJ1ZmZlciBnZW9tZXRyeSB3aXRoaW4g
YSBwb2x5Z29uIGFuZCB0aGVuIGNsaXAgaXQgZW4gbWFzc2UuCisgICAgZnVuY3Rpb24gcG9seWdv
blN0YXJ0KCkgeworICAgICAgYWN0aXZlU3RyZWFtID0gYnVmZmVyU3RyZWFtLCBzZWdtZW50cyA9
IFtdLCBwb2x5Z29uID0gW10sIGNsZWFuID0gdHJ1ZTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBw
b2x5Z29uRW5kKCkgeworICAgICAgdmFyIHN0YXJ0SW5zaWRlID0gcG9seWdvbkluc2lkZSgpLAor
ICAgICAgICAgIGNsZWFuSW5zaWRlID0gY2xlYW4gJiYgc3RhcnRJbnNpZGUsCisgICAgICAgICAg
dmlzaWJsZSA9IChzZWdtZW50cyA9IG1lcmdlKHNlZ21lbnRzKSkubGVuZ3RoOworICAgICAgaWYg
KGNsZWFuSW5zaWRlIHx8IHZpc2libGUpIHsKKyAgICAgICAgc3RyZWFtLnBvbHlnb25TdGFydCgp
OworICAgICAgICBpZiAoY2xlYW5JbnNpZGUpIHsKKyAgICAgICAgICBzdHJlYW0ubGluZVN0YXJ0
KCk7CisgICAgICAgICAgaW50ZXJwb2xhdGUobnVsbCwgbnVsbCwgMSwgc3RyZWFtKTsKKyAgICAg
ICAgICBzdHJlYW0ubGluZUVuZCgpOworICAgICAgICB9CisgICAgICAgIGlmICh2aXNpYmxlKSB7
CisgICAgICAgICAgY2xpcFJlam9pbihzZWdtZW50cywgY29tcGFyZUludGVyc2VjdGlvbiwgc3Rh
cnRJbnNpZGUsIGludGVycG9sYXRlLCBzdHJlYW0pOworICAgICAgICB9CisgICAgICAgIHN0cmVh
bS5wb2x5Z29uRW5kKCk7CisgICAgICB9CisgICAgICBhY3RpdmVTdHJlYW0gPSBzdHJlYW0sIHNl
Z21lbnRzID0gcG9seWdvbiA9IHJpbmcgPSBudWxsOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxp
bmVTdGFydCgpIHsKKyAgICAgIGNsaXBTdHJlYW0ucG9pbnQgPSBsaW5lUG9pbnQ7CisgICAgICBp
ZiAocG9seWdvbikgcG9seWdvbi5wdXNoKHJpbmcgPSBbXSk7CisgICAgICBmaXJzdCA9IHRydWU7
CisgICAgICB2XyA9IGZhbHNlOworICAgICAgeF8gPSB5XyA9IE5hTjsKKyAgICB9CisKKyAgICAv
LyBUT0RPIHJhdGhlciB0aGFuIHNwZWNpYWwtY2FzZSBwb2x5Z29ucywgc2ltcGx5IGhhbmRsZSB0
aGVtIHNlcGFyYXRlbHkuCisgICAgLy8gSWRlYWxseSwgY29pbmNpZGVudCBpbnRlcnNlY3Rpb24g
cG9pbnRzIHNob3VsZCBiZSBqaXR0ZXJlZCB0byBhdm9pZAorICAgIC8vIGNsaXBwaW5nIGlzc3Vl
cy4KKyAgICBmdW5jdGlvbiBsaW5lRW5kKCkgeworICAgICAgaWYgKHNlZ21lbnRzKSB7CisgICAg
ICAgIGxpbmVQb2ludCh4X18sIHlfXyk7CisgICAgICAgIGlmICh2X18gJiYgdl8pIGJ1ZmZlclN0
cmVhbS5yZWpvaW4oKTsKKyAgICAgICAgc2VnbWVudHMucHVzaChidWZmZXJTdHJlYW0ucmVzdWx0
KCkpOworICAgICAgfQorICAgICAgY2xpcFN0cmVhbS5wb2ludCA9IHBvaW50OworICAgICAgaWYg
KHZfKSBhY3RpdmVTdHJlYW0ubGluZUVuZCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxpbmVQ
b2ludCh4LCB5KSB7CisgICAgICB2YXIgdiA9IHZpc2libGUoeCwgeSk7CisgICAgICBpZiAocG9s
eWdvbikgcmluZy5wdXNoKFt4LCB5XSk7CisgICAgICBpZiAoZmlyc3QpIHsKKyAgICAgICAgeF9f
ID0geCwgeV9fID0geSwgdl9fID0gdjsKKyAgICAgICAgZmlyc3QgPSBmYWxzZTsKKyAgICAgICAg
aWYgKHYpIHsKKyAgICAgICAgICBhY3RpdmVTdHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICAgICAg
YWN0aXZlU3RyZWFtLnBvaW50KHgsIHkpOworICAgICAgICB9CisgICAgICB9IGVsc2UgeworICAg
ICAgICBpZiAodiAmJiB2XykgYWN0aXZlU3RyZWFtLnBvaW50KHgsIHkpOworICAgICAgICBlbHNl
IHsKKyAgICAgICAgICB2YXIgYSA9IFt4XyA9IE1hdGgubWF4KGNsaXBNaW4sIE1hdGgubWluKGNs
aXBNYXgsIHhfKSksIHlfID0gTWF0aC5tYXgoY2xpcE1pbiwgTWF0aC5taW4oY2xpcE1heCwgeV8p
KV0sCisgICAgICAgICAgICAgIGIgPSBbeCA9IE1hdGgubWF4KGNsaXBNaW4sIE1hdGgubWluKGNs
aXBNYXgsIHgpKSwgeSA9IE1hdGgubWF4KGNsaXBNaW4sIE1hdGgubWluKGNsaXBNYXgsIHkpKV07
CisgICAgICAgICAgaWYgKGNsaXBMaW5lKGEsIGIsIHgwLCB5MCwgeDEsIHkxKSkgeworICAgICAg
ICAgICAgaWYgKCF2XykgeworICAgICAgICAgICAgICBhY3RpdmVTdHJlYW0ubGluZVN0YXJ0KCk7
CisgICAgICAgICAgICAgIGFjdGl2ZVN0cmVhbS5wb2ludChhWzBdLCBhWzFdKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGFjdGl2ZVN0cmVhbS5wb2ludChiWzBdLCBiWzFdKTsKKyAgICAg
ICAgICAgIGlmICghdikgYWN0aXZlU3RyZWFtLmxpbmVFbmQoKTsKKyAgICAgICAgICAgIGNsZWFu
ID0gZmFsc2U7CisgICAgICAgICAgfSBlbHNlIGlmICh2KSB7CisgICAgICAgICAgICBhY3RpdmVT
dHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICAgICAgICBhY3RpdmVTdHJlYW0ucG9pbnQoeCwgeSk7
CisgICAgICAgICAgICBjbGVhbiA9IGZhbHNlOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
ICAgfQorICAgICAgeF8gPSB4LCB5XyA9IHksIHZfID0gdjsKKyAgICB9CisKKyAgICByZXR1cm4g
Y2xpcFN0cmVhbTsKKyAgfTsKK30KKworZnVuY3Rpb24gZXh0ZW50JDEoKSB7CisgIHZhciB4MCA9
IDAsCisgICAgICB5MCA9IDAsCisgICAgICB4MSA9IDk2MCwKKyAgICAgIHkxID0gNTAwLAorICAg
ICAgY2FjaGUsCisgICAgICBjYWNoZVN0cmVhbSwKKyAgICAgIGNsaXA7CisKKyAgcmV0dXJuIGNs
aXAgPSB7CisgICAgc3RyZWFtOiBmdW5jdGlvbihzdHJlYW0pIHsKKyAgICAgIHJldHVybiBjYWNo
ZSAmJiBjYWNoZVN0cmVhbSA9PT0gc3RyZWFtID8gY2FjaGUgOiBjYWNoZSA9IGNsaXBSZWN0YW5n
bGUoeDAsIHkwLCB4MSwgeTEpKGNhY2hlU3RyZWFtID0gc3RyZWFtKTsKKyAgICB9LAorICAgIGV4
dGVudDogZnVuY3Rpb24oXykgeworICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeDAg
PSArX1swXVswXSwgeTAgPSArX1swXVsxXSwgeDEgPSArX1sxXVswXSwgeTEgPSArX1sxXVsxXSwg
Y2FjaGUgPSBjYWNoZVN0cmVhbSA9IG51bGwsIGNsaXApIDogW1t4MCwgeTBdLCBbeDEsIHkxXV07
CisgICAgfQorICB9OworfQorCit2YXIgbGVuZ3RoU3VtID0gYWRkZXIoKSwKKyAgICBsYW1iZGEw
JDIsCisgICAgc2luUGhpMCQxLAorICAgIGNvc1BoaTAkMTsKKwordmFyIGxlbmd0aFN0cmVhbSA9
IHsKKyAgc3BoZXJlOiBub29wJDIsCisgIHBvaW50OiBub29wJDIsCisgIGxpbmVTdGFydDogbGVu
Z3RoTGluZVN0YXJ0LAorICBsaW5lRW5kOiBub29wJDIsCisgIHBvbHlnb25TdGFydDogbm9vcCQy
LAorICBwb2x5Z29uRW5kOiBub29wJDIKK307CisKK2Z1bmN0aW9uIGxlbmd0aExpbmVTdGFydCgp
IHsKKyAgbGVuZ3RoU3RyZWFtLnBvaW50ID0gbGVuZ3RoUG9pbnRGaXJzdDsKKyAgbGVuZ3RoU3Ry
ZWFtLmxpbmVFbmQgPSBsZW5ndGhMaW5lRW5kOworfQorCitmdW5jdGlvbiBsZW5ndGhMaW5lRW5k
KCkgeworICBsZW5ndGhTdHJlYW0ucG9pbnQgPSBsZW5ndGhTdHJlYW0ubGluZUVuZCA9IG5vb3Ak
MjsKK30KKworZnVuY3Rpb24gbGVuZ3RoUG9pbnRGaXJzdChsYW1iZGEsIHBoaSkgeworICBsYW1i
ZGEgKj0gcmFkaWFucywgcGhpICo9IHJhZGlhbnM7CisgIGxhbWJkYTAkMiA9IGxhbWJkYSwgc2lu
UGhpMCQxID0gc2luJDEocGhpKSwgY29zUGhpMCQxID0gY29zJDEocGhpKTsKKyAgbGVuZ3RoU3Ry
ZWFtLnBvaW50ID0gbGVuZ3RoUG9pbnQ7Cit9CisKK2Z1bmN0aW9uIGxlbmd0aFBvaW50KGxhbWJk
YSwgcGhpKSB7CisgIGxhbWJkYSAqPSByYWRpYW5zLCBwaGkgKj0gcmFkaWFuczsKKyAgdmFyIHNp
blBoaSA9IHNpbiQxKHBoaSksCisgICAgICBjb3NQaGkgPSBjb3MkMShwaGkpLAorICAgICAgZGVs
dGEgPSBhYnMobGFtYmRhIC0gbGFtYmRhMCQyKSwKKyAgICAgIGNvc0RlbHRhID0gY29zJDEoZGVs
dGEpLAorICAgICAgc2luRGVsdGEgPSBzaW4kMShkZWx0YSksCisgICAgICB4ID0gY29zUGhpICog
c2luRGVsdGEsCisgICAgICB5ID0gY29zUGhpMCQxICogc2luUGhpIC0gc2luUGhpMCQxICogY29z
UGhpICogY29zRGVsdGEsCisgICAgICB6ID0gc2luUGhpMCQxICogc2luUGhpICsgY29zUGhpMCQx
ICogY29zUGhpICogY29zRGVsdGE7CisgIGxlbmd0aFN1bS5hZGQoYXRhbjIoc3FydCh4ICogeCAr
IHkgKiB5KSwgeikpOworICBsYW1iZGEwJDIgPSBsYW1iZGEsIHNpblBoaTAkMSA9IHNpblBoaSwg
Y29zUGhpMCQxID0gY29zUGhpOworfQorCitmdW5jdGlvbiBsZW5ndGgkMShvYmplY3QpIHsKKyAg
bGVuZ3RoU3VtLnJlc2V0KCk7CisgIGdlb1N0cmVhbShvYmplY3QsIGxlbmd0aFN0cmVhbSk7Cisg
IHJldHVybiArbGVuZ3RoU3VtOworfQorCit2YXIgY29vcmRpbmF0ZXMgPSBbbnVsbCwgbnVsbF0s
CisgICAgb2JqZWN0JDEgPSB7dHlwZTogIkxpbmVTdHJpbmciLCBjb29yZGluYXRlczogY29vcmRp
bmF0ZXN9OworCitmdW5jdGlvbiBkaXN0YW5jZShhLCBiKSB7CisgIGNvb3JkaW5hdGVzWzBdID0g
YTsKKyAgY29vcmRpbmF0ZXNbMV0gPSBiOworICByZXR1cm4gbGVuZ3RoJDEob2JqZWN0JDEpOwor
fQorCit2YXIgY29udGFpbnNPYmplY3RUeXBlID0geworICBGZWF0dXJlOiBmdW5jdGlvbihvYmpl
Y3QsIHBvaW50KSB7CisgICAgcmV0dXJuIGNvbnRhaW5zR2VvbWV0cnkob2JqZWN0Lmdlb21ldHJ5
LCBwb2ludCk7CisgIH0sCisgIEZlYXR1cmVDb2xsZWN0aW9uOiBmdW5jdGlvbihvYmplY3QsIHBv
aW50KSB7CisgICAgdmFyIGZlYXR1cmVzID0gb2JqZWN0LmZlYXR1cmVzLCBpID0gLTEsIG4gPSBm
ZWF0dXJlcy5sZW5ndGg7CisgICAgd2hpbGUgKCsraSA8IG4pIGlmIChjb250YWluc0dlb21ldHJ5
KGZlYXR1cmVzW2ldLmdlb21ldHJ5LCBwb2ludCkpIHJldHVybiB0cnVlOworICAgIHJldHVybiBm
YWxzZTsKKyAgfQorfTsKKwordmFyIGNvbnRhaW5zR2VvbWV0cnlUeXBlID0geworICBTcGhlcmU6
IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0cnVlOworICB9LAorICBQb2ludDogZnVuY3Rpb24o
b2JqZWN0LCBwb2ludCkgeworICAgIHJldHVybiBjb250YWluc1BvaW50KG9iamVjdC5jb29yZGlu
YXRlcywgcG9pbnQpOworICB9LAorICBNdWx0aVBvaW50OiBmdW5jdGlvbihvYmplY3QsIHBvaW50
KSB7CisgICAgdmFyIGNvb3JkaW5hdGVzID0gb2JqZWN0LmNvb3JkaW5hdGVzLCBpID0gLTEsIG4g
PSBjb29yZGluYXRlcy5sZW5ndGg7CisgICAgd2hpbGUgKCsraSA8IG4pIGlmIChjb250YWluc1Bv
aW50KGNvb3JkaW5hdGVzW2ldLCBwb2ludCkpIHJldHVybiB0cnVlOworICAgIHJldHVybiBmYWxz
ZTsKKyAgfSwKKyAgTGluZVN0cmluZzogZnVuY3Rpb24ob2JqZWN0LCBwb2ludCkgeworICAgIHJl
dHVybiBjb250YWluc0xpbmUob2JqZWN0LmNvb3JkaW5hdGVzLCBwb2ludCk7CisgIH0sCisgIE11
bHRpTGluZVN0cmluZzogZnVuY3Rpb24ob2JqZWN0LCBwb2ludCkgeworICAgIHZhciBjb29yZGlu
YXRlcyA9IG9iamVjdC5jb29yZGluYXRlcywgaSA9IC0xLCBuID0gY29vcmRpbmF0ZXMubGVuZ3Ro
OworICAgIHdoaWxlICgrK2kgPCBuKSBpZiAoY29udGFpbnNMaW5lKGNvb3JkaW5hdGVzW2ldLCBw
b2ludCkpIHJldHVybiB0cnVlOworICAgIHJldHVybiBmYWxzZTsKKyAgfSwKKyAgUG9seWdvbjog
ZnVuY3Rpb24ob2JqZWN0LCBwb2ludCkgeworICAgIHJldHVybiBjb250YWluc1BvbHlnb24ob2Jq
ZWN0LmNvb3JkaW5hdGVzLCBwb2ludCk7CisgIH0sCisgIE11bHRpUG9seWdvbjogZnVuY3Rpb24o
b2JqZWN0LCBwb2ludCkgeworICAgIHZhciBjb29yZGluYXRlcyA9IG9iamVjdC5jb29yZGluYXRl
cywgaSA9IC0xLCBuID0gY29vcmRpbmF0ZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBp
ZiAoY29udGFpbnNQb2x5Z29uKGNvb3JkaW5hdGVzW2ldLCBwb2ludCkpIHJldHVybiB0cnVlOwor
ICAgIHJldHVybiBmYWxzZTsKKyAgfSwKKyAgR2VvbWV0cnlDb2xsZWN0aW9uOiBmdW5jdGlvbihv
YmplY3QsIHBvaW50KSB7CisgICAgdmFyIGdlb21ldHJpZXMgPSBvYmplY3QuZ2VvbWV0cmllcywg
aSA9IC0xLCBuID0gZ2VvbWV0cmllcy5sZW5ndGg7CisgICAgd2hpbGUgKCsraSA8IG4pIGlmIChj
b250YWluc0dlb21ldHJ5KGdlb21ldHJpZXNbaV0sIHBvaW50KSkgcmV0dXJuIHRydWU7CisgICAg
cmV0dXJuIGZhbHNlOworICB9Cit9OworCitmdW5jdGlvbiBjb250YWluc0dlb21ldHJ5KGdlb21l
dHJ5LCBwb2ludCkgeworICByZXR1cm4gZ2VvbWV0cnkgJiYgY29udGFpbnNHZW9tZXRyeVR5cGUu
aGFzT3duUHJvcGVydHkoZ2VvbWV0cnkudHlwZSkKKyAgICAgID8gY29udGFpbnNHZW9tZXRyeVR5
cGVbZ2VvbWV0cnkudHlwZV0oZ2VvbWV0cnksIHBvaW50KQorICAgICAgOiBmYWxzZTsKK30KKwor
ZnVuY3Rpb24gY29udGFpbnNQb2ludChjb29yZGluYXRlcywgcG9pbnQpIHsKKyAgcmV0dXJuIGRp
c3RhbmNlKGNvb3JkaW5hdGVzLCBwb2ludCkgPT09IDA7Cit9CisKK2Z1bmN0aW9uIGNvbnRhaW5z
TGluZShjb29yZGluYXRlcywgcG9pbnQpIHsKKyAgdmFyIGFvLCBibywgYWI7CisgIGZvciAodmFy
IGkgPSAwLCBuID0gY29vcmRpbmF0ZXMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7CisgICAgYm8gPSBk
aXN0YW5jZShjb29yZGluYXRlc1tpXSwgcG9pbnQpOworICAgIGlmIChibyA9PT0gMCkgcmV0dXJu
IHRydWU7CisgICAgaWYgKGkgPiAwKSB7CisgICAgICBhYiA9IGRpc3RhbmNlKGNvb3JkaW5hdGVz
W2ldLCBjb29yZGluYXRlc1tpIC0gMV0pOworICAgICAgaWYgKAorICAgICAgICBhYiA+IDAgJiYK
KyAgICAgICAgYW8gPD0gYWIgJiYKKyAgICAgICAgYm8gPD0gYWIgJiYKKyAgICAgICAgKGFvICsg
Ym8gLSBhYikgKiAoMSAtIE1hdGgucG93KChhbyAtIGJvKSAvIGFiLCAyKSkgPCBlcHNpbG9uMiQx
ICogYWIKKyAgICAgICkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIGFvID0gYm87
CisgIH0KKyAgcmV0dXJuIGZhbHNlOworfQorCitmdW5jdGlvbiBjb250YWluc1BvbHlnb24oY29v
cmRpbmF0ZXMsIHBvaW50KSB7CisgIHJldHVybiAhIXBvbHlnb25Db250YWlucyhjb29yZGluYXRl
cy5tYXAocmluZ1JhZGlhbnMpLCBwb2ludFJhZGlhbnMocG9pbnQpKTsKK30KKworZnVuY3Rpb24g
cmluZ1JhZGlhbnMocmluZykgeworICByZXR1cm4gcmluZyA9IHJpbmcubWFwKHBvaW50UmFkaWFu
cyksIHJpbmcucG9wKCksIHJpbmc7Cit9CisKK2Z1bmN0aW9uIHBvaW50UmFkaWFucyhwb2ludCkg
eworICByZXR1cm4gW3BvaW50WzBdICogcmFkaWFucywgcG9pbnRbMV0gKiByYWRpYW5zXTsKK30K
KworZnVuY3Rpb24gY29udGFpbnMkMShvYmplY3QsIHBvaW50KSB7CisgIHJldHVybiAob2JqZWN0
ICYmIGNvbnRhaW5zT2JqZWN0VHlwZS5oYXNPd25Qcm9wZXJ0eShvYmplY3QudHlwZSkKKyAgICAg
ID8gY29udGFpbnNPYmplY3RUeXBlW29iamVjdC50eXBlXQorICAgICAgOiBjb250YWluc0dlb21l
dHJ5KShvYmplY3QsIHBvaW50KTsKK30KKworZnVuY3Rpb24gZ3JhdGljdWxlWCh5MCwgeTEsIGR5
KSB7CisgIHZhciB5ID0gc2VxdWVuY2UoeTAsIHkxIC0gZXBzaWxvbiQyLCBkeSkuY29uY2F0KHkx
KTsKKyAgcmV0dXJuIGZ1bmN0aW9uKHgpIHsgcmV0dXJuIHkubWFwKGZ1bmN0aW9uKHkpIHsgcmV0
dXJuIFt4LCB5XTsgfSk7IH07Cit9CisKK2Z1bmN0aW9uIGdyYXRpY3VsZVkoeDAsIHgxLCBkeCkg
eworICB2YXIgeCA9IHNlcXVlbmNlKHgwLCB4MSAtIGVwc2lsb24kMiwgZHgpLmNvbmNhdCh4MSk7
CisgIHJldHVybiBmdW5jdGlvbih5KSB7IHJldHVybiB4Lm1hcChmdW5jdGlvbih4KSB7IHJldHVy
biBbeCwgeV07IH0pOyB9OworfQorCitmdW5jdGlvbiBncmF0aWN1bGUoKSB7CisgIHZhciB4MSwg
eDAsIFgxLCBYMCwKKyAgICAgIHkxLCB5MCwgWTEsIFkwLAorICAgICAgZHggPSAxMCwgZHkgPSBk
eCwgRFggPSA5MCwgRFkgPSAzNjAsCisgICAgICB4LCB5LCBYLCBZLAorICAgICAgcHJlY2lzaW9u
ID0gMi41OworCisgIGZ1bmN0aW9uIGdyYXRpY3VsZSgpIHsKKyAgICByZXR1cm4ge3R5cGU6ICJN
dWx0aUxpbmVTdHJpbmciLCBjb29yZGluYXRlczogbGluZXMoKX07CisgIH0KKworICBmdW5jdGlv
biBsaW5lcygpIHsKKyAgICByZXR1cm4gc2VxdWVuY2UoY2VpbChYMCAvIERYKSAqIERYLCBYMSwg
RFgpLm1hcChYKQorICAgICAgICAuY29uY2F0KHNlcXVlbmNlKGNlaWwoWTAgLyBEWSkgKiBEWSwg
WTEsIERZKS5tYXAoWSkpCisgICAgICAgIC5jb25jYXQoc2VxdWVuY2UoY2VpbCh4MCAvIGR4KSAq
IGR4LCB4MSwgZHgpLmZpbHRlcihmdW5jdGlvbih4KSB7IHJldHVybiBhYnMoeCAlIERYKSA+IGVw
c2lsb24kMjsgfSkubWFwKHgpKQorICAgICAgICAuY29uY2F0KHNlcXVlbmNlKGNlaWwoeTAgLyBk
eSkgKiBkeSwgeTEsIGR5KS5maWx0ZXIoZnVuY3Rpb24oeSkgeyByZXR1cm4gYWJzKHkgJSBEWSkg
PiBlcHNpbG9uJDI7IH0pLm1hcCh5KSk7CisgIH0KKworICBncmF0aWN1bGUubGluZXMgPSBmdW5j
dGlvbigpIHsKKyAgICByZXR1cm4gbGluZXMoKS5tYXAoZnVuY3Rpb24oY29vcmRpbmF0ZXMpIHsg
cmV0dXJuIHt0eXBlOiAiTGluZVN0cmluZyIsIGNvb3JkaW5hdGVzOiBjb29yZGluYXRlc307IH0p
OworICB9OworCisgIGdyYXRpY3VsZS5vdXRsaW5lID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJu
IHsKKyAgICAgIHR5cGU6ICJQb2x5Z29uIiwKKyAgICAgIGNvb3JkaW5hdGVzOiBbCisgICAgICAg
IFgoWDApLmNvbmNhdCgKKyAgICAgICAgWShZMSkuc2xpY2UoMSksCisgICAgICAgIFgoWDEpLnJl
dmVyc2UoKS5zbGljZSgxKSwKKyAgICAgICAgWShZMCkucmV2ZXJzZSgpLnNsaWNlKDEpKQorICAg
ICAgXQorICAgIH07CisgIH07CisKKyAgZ3JhdGljdWxlLmV4dGVudCA9IGZ1bmN0aW9uKF8pIHsK
KyAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBncmF0aWN1bGUuZXh0ZW50TWlub3Io
KTsKKyAgICByZXR1cm4gZ3JhdGljdWxlLmV4dGVudE1ham9yKF8pLmV4dGVudE1pbm9yKF8pOwor
ICB9OworCisgIGdyYXRpY3VsZS5leHRlbnRNYWpvciA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAo
IWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBbW1gwLCBZMF0sIFtYMSwgWTFdXTsKKyAgICBYMCA9
ICtfWzBdWzBdLCBYMSA9ICtfWzFdWzBdOworICAgIFkwID0gK19bMF1bMV0sIFkxID0gK19bMV1b
MV07CisgICAgaWYgKFgwID4gWDEpIF8gPSBYMCwgWDAgPSBYMSwgWDEgPSBfOworICAgIGlmIChZ
MCA+IFkxKSBfID0gWTAsIFkwID0gWTEsIFkxID0gXzsKKyAgICByZXR1cm4gZ3JhdGljdWxlLnBy
ZWNpc2lvbihwcmVjaXNpb24pOworICB9OworCisgIGdyYXRpY3VsZS5leHRlbnRNaW5vciA9IGZ1
bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBbW3gwLCB5MF0s
IFt4MSwgeTFdXTsKKyAgICB4MCA9ICtfWzBdWzBdLCB4MSA9ICtfWzFdWzBdOworICAgIHkwID0g
K19bMF1bMV0sIHkxID0gK19bMV1bMV07CisgICAgaWYgKHgwID4geDEpIF8gPSB4MCwgeDAgPSB4
MSwgeDEgPSBfOworICAgIGlmICh5MCA+IHkxKSBfID0geTAsIHkwID0geTEsIHkxID0gXzsKKyAg
ICByZXR1cm4gZ3JhdGljdWxlLnByZWNpc2lvbihwcmVjaXNpb24pOworICB9OworCisgIGdyYXRp
Y3VsZS5zdGVwID0gZnVuY3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0
dXJuIGdyYXRpY3VsZS5zdGVwTWlub3IoKTsKKyAgICByZXR1cm4gZ3JhdGljdWxlLnN0ZXBNYWpv
cihfKS5zdGVwTWlub3IoXyk7CisgIH07CisKKyAgZ3JhdGljdWxlLnN0ZXBNYWpvciA9IGZ1bmN0
aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBbRFgsIERZXTsKKyAg
ICBEWCA9ICtfWzBdLCBEWSA9ICtfWzFdOworICAgIHJldHVybiBncmF0aWN1bGU7CisgIH07CisK
KyAgZ3JhdGljdWxlLnN0ZXBNaW5vciA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50
cy5sZW5ndGgpIHJldHVybiBbZHgsIGR5XTsKKyAgICBkeCA9ICtfWzBdLCBkeSA9ICtfWzFdOwor
ICAgIHJldHVybiBncmF0aWN1bGU7CisgIH07CisKKyAgZ3JhdGljdWxlLnByZWNpc2lvbiA9IGZ1
bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBwcmVjaXNpb247
CisgICAgcHJlY2lzaW9uID0gK187CisgICAgeCA9IGdyYXRpY3VsZVgoeTAsIHkxLCA5MCk7Cisg
ICAgeSA9IGdyYXRpY3VsZVkoeDAsIHgxLCBwcmVjaXNpb24pOworICAgIFggPSBncmF0aWN1bGVY
KFkwLCBZMSwgOTApOworICAgIFkgPSBncmF0aWN1bGVZKFgwLCBYMSwgcHJlY2lzaW9uKTsKKyAg
ICByZXR1cm4gZ3JhdGljdWxlOworICB9OworCisgIHJldHVybiBncmF0aWN1bGUKKyAgICAgIC5l
eHRlbnRNYWpvcihbWy0xODAsIC05MCArIGVwc2lsb24kMl0sIFsxODAsIDkwIC0gZXBzaWxvbiQy
XV0pCisgICAgICAuZXh0ZW50TWlub3IoW1stMTgwLCAtODAgLSBlcHNpbG9uJDJdLCBbMTgwLCA4
MCArIGVwc2lsb24kMl1dKTsKK30KKworZnVuY3Rpb24gZ3JhdGljdWxlMTAoKSB7CisgIHJldHVy
biBncmF0aWN1bGUoKSgpOworfQorCitmdW5jdGlvbiBpbnRlcnBvbGF0ZSQxKGEsIGIpIHsKKyAg
dmFyIHgwID0gYVswXSAqIHJhZGlhbnMsCisgICAgICB5MCA9IGFbMV0gKiByYWRpYW5zLAorICAg
ICAgeDEgPSBiWzBdICogcmFkaWFucywKKyAgICAgIHkxID0gYlsxXSAqIHJhZGlhbnMsCisgICAg
ICBjeTAgPSBjb3MkMSh5MCksCisgICAgICBzeTAgPSBzaW4kMSh5MCksCisgICAgICBjeTEgPSBj
b3MkMSh5MSksCisgICAgICBzeTEgPSBzaW4kMSh5MSksCisgICAgICBreDAgPSBjeTAgKiBjb3Mk
MSh4MCksCisgICAgICBreTAgPSBjeTAgKiBzaW4kMSh4MCksCisgICAgICBreDEgPSBjeTEgKiBj
b3MkMSh4MSksCisgICAgICBreTEgPSBjeTEgKiBzaW4kMSh4MSksCisgICAgICBkID0gMiAqIGFz
aW4oc3FydChoYXZlcnNpbih5MSAtIHkwKSArIGN5MCAqIGN5MSAqIGhhdmVyc2luKHgxIC0geDAp
KSksCisgICAgICBrID0gc2luJDEoZCk7CisKKyAgdmFyIGludGVycG9sYXRlID0gZCA/IGZ1bmN0
aW9uKHQpIHsKKyAgICB2YXIgQiA9IHNpbiQxKHQgKj0gZCkgLyBrLAorICAgICAgICBBID0gc2lu
JDEoZCAtIHQpIC8gaywKKyAgICAgICAgeCA9IEEgKiBreDAgKyBCICoga3gxLAorICAgICAgICB5
ID0gQSAqIGt5MCArIEIgKiBreTEsCisgICAgICAgIHogPSBBICogc3kwICsgQiAqIHN5MTsKKyAg
ICByZXR1cm4gWworICAgICAgYXRhbjIoeSwgeCkgKiBkZWdyZWVzJDEsCisgICAgICBhdGFuMih6
LCBzcXJ0KHggKiB4ICsgeSAqIHkpKSAqIGRlZ3JlZXMkMQorICAgIF07CisgIH0gOiBmdW5jdGlv
bigpIHsKKyAgICByZXR1cm4gW3gwICogZGVncmVlcyQxLCB5MCAqIGRlZ3JlZXMkMV07CisgIH07
CisKKyAgaW50ZXJwb2xhdGUuZGlzdGFuY2UgPSBkOworCisgIHJldHVybiBpbnRlcnBvbGF0ZTsK
K30KKworZnVuY3Rpb24gaWRlbnRpdHkkNCh4KSB7CisgIHJldHVybiB4OworfQorCit2YXIgYXJl
YVN1bSQxID0gYWRkZXIoKSwKKyAgICBhcmVhUmluZ1N1bSQxID0gYWRkZXIoKSwKKyAgICB4MDAs
CisgICAgeTAwLAorICAgIHgwJDEsCisgICAgeTAkMTsKKwordmFyIGFyZWFTdHJlYW0kMSA9IHsK
KyAgcG9pbnQ6IG5vb3AkMiwKKyAgbGluZVN0YXJ0OiBub29wJDIsCisgIGxpbmVFbmQ6IG5vb3Ak
MiwKKyAgcG9seWdvblN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICBhcmVhU3RyZWFtJDEubGluZVN0
YXJ0ID0gYXJlYVJpbmdTdGFydCQxOworICAgIGFyZWFTdHJlYW0kMS5saW5lRW5kID0gYXJlYVJp
bmdFbmQkMTsKKyAgfSwKKyAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7CisgICAgYXJlYVN0cmVh
bSQxLmxpbmVTdGFydCA9IGFyZWFTdHJlYW0kMS5saW5lRW5kID0gYXJlYVN0cmVhbSQxLnBvaW50
ID0gbm9vcCQyOworICAgIGFyZWFTdW0kMS5hZGQoYWJzKGFyZWFSaW5nU3VtJDEpKTsKKyAgICBh
cmVhUmluZ1N1bSQxLnJlc2V0KCk7CisgIH0sCisgIHJlc3VsdDogZnVuY3Rpb24oKSB7CisgICAg
dmFyIGFyZWEgPSBhcmVhU3VtJDEgLyAyOworICAgIGFyZWFTdW0kMS5yZXNldCgpOworICAgIHJl
dHVybiBhcmVhOworICB9Cit9OworCitmdW5jdGlvbiBhcmVhUmluZ1N0YXJ0JDEoKSB7CisgIGFy
ZWFTdHJlYW0kMS5wb2ludCA9IGFyZWFQb2ludEZpcnN0JDE7Cit9CisKK2Z1bmN0aW9uIGFyZWFQ
b2ludEZpcnN0JDEoeCwgeSkgeworICBhcmVhU3RyZWFtJDEucG9pbnQgPSBhcmVhUG9pbnQkMTsK
KyAgeDAwID0geDAkMSA9IHgsIHkwMCA9IHkwJDEgPSB5OworfQorCitmdW5jdGlvbiBhcmVhUG9p
bnQkMSh4LCB5KSB7CisgIGFyZWFSaW5nU3VtJDEuYWRkKHkwJDEgKiB4IC0geDAkMSAqIHkpOwor
ICB4MCQxID0geCwgeTAkMSA9IHk7Cit9CisKK2Z1bmN0aW9uIGFyZWFSaW5nRW5kJDEoKSB7Cisg
IGFyZWFQb2ludCQxKHgwMCwgeTAwKTsKK30KKwordmFyIHgwJDIgPSBJbmZpbml0eSwKKyAgICB5
MCQyID0geDAkMiwKKyAgICB4MSA9IC14MCQyLAorICAgIHkxID0geDE7CisKK3ZhciBib3VuZHNT
dHJlYW0kMSA9IHsKKyAgcG9pbnQ6IGJvdW5kc1BvaW50JDEsCisgIGxpbmVTdGFydDogbm9vcCQy
LAorICBsaW5lRW5kOiBub29wJDIsCisgIHBvbHlnb25TdGFydDogbm9vcCQyLAorICBwb2x5Z29u
RW5kOiBub29wJDIsCisgIHJlc3VsdDogZnVuY3Rpb24oKSB7CisgICAgdmFyIGJvdW5kcyA9IFtb
eDAkMiwgeTAkMl0sIFt4MSwgeTFdXTsKKyAgICB4MSA9IHkxID0gLSh5MCQyID0geDAkMiA9IElu
ZmluaXR5KTsKKyAgICByZXR1cm4gYm91bmRzOworICB9Cit9OworCitmdW5jdGlvbiBib3VuZHNQ
b2ludCQxKHgsIHkpIHsKKyAgaWYgKHggPCB4MCQyKSB4MCQyID0geDsKKyAgaWYgKHggPiB4MSkg
eDEgPSB4OworICBpZiAoeSA8IHkwJDIpIHkwJDIgPSB5OworICBpZiAoeSA+IHkxKSB5MSA9IHk7
Cit9CisKKy8vIFRPRE8gRW5mb3JjZSBwb3NpdGl2ZSBhcmVhIGZvciBleHRlcmlvciwgbmVnYXRp
dmUgYXJlYSBmb3IgaW50ZXJpb3I/CisKK3ZhciBYMCQxID0gMCwKKyAgICBZMCQxID0gMCwKKyAg
ICBaMCQxID0gMCwKKyAgICBYMSQxID0gMCwKKyAgICBZMSQxID0gMCwKKyAgICBaMSQxID0gMCwK
KyAgICBYMiQxID0gMCwKKyAgICBZMiQxID0gMCwKKyAgICBaMiQxID0gMCwKKyAgICB4MDAkMSwK
KyAgICB5MDAkMSwKKyAgICB4MCQzLAorICAgIHkwJDM7CisKK3ZhciBjZW50cm9pZFN0cmVhbSQx
ID0geworICBwb2ludDogY2VudHJvaWRQb2ludCQxLAorICBsaW5lU3RhcnQ6IGNlbnRyb2lkTGlu
ZVN0YXJ0JDEsCisgIGxpbmVFbmQ6IGNlbnRyb2lkTGluZUVuZCQxLAorICBwb2x5Z29uU3RhcnQ6
IGZ1bmN0aW9uKCkgeworICAgIGNlbnRyb2lkU3RyZWFtJDEubGluZVN0YXJ0ID0gY2VudHJvaWRS
aW5nU3RhcnQkMTsKKyAgICBjZW50cm9pZFN0cmVhbSQxLmxpbmVFbmQgPSBjZW50cm9pZFJpbmdF
bmQkMTsKKyAgfSwKKyAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7CisgICAgY2VudHJvaWRTdHJl
YW0kMS5wb2ludCA9IGNlbnRyb2lkUG9pbnQkMTsKKyAgICBjZW50cm9pZFN0cmVhbSQxLmxpbmVT
dGFydCA9IGNlbnRyb2lkTGluZVN0YXJ0JDE7CisgICAgY2VudHJvaWRTdHJlYW0kMS5saW5lRW5k
ID0gY2VudHJvaWRMaW5lRW5kJDE7CisgIH0sCisgIHJlc3VsdDogZnVuY3Rpb24oKSB7CisgICAg
dmFyIGNlbnRyb2lkID0gWjIkMSA/IFtYMiQxIC8gWjIkMSwgWTIkMSAvIFoyJDFdCisgICAgICAg
IDogWjEkMSA/IFtYMSQxIC8gWjEkMSwgWTEkMSAvIFoxJDFdCisgICAgICAgIDogWjAkMSA/IFtY
MCQxIC8gWjAkMSwgWTAkMSAvIFowJDFdCisgICAgICAgIDogW05hTiwgTmFOXTsKKyAgICBYMCQx
ID0gWTAkMSA9IFowJDEgPQorICAgIFgxJDEgPSBZMSQxID0gWjEkMSA9CisgICAgWDIkMSA9IFky
JDEgPSBaMiQxID0gMDsKKyAgICByZXR1cm4gY2VudHJvaWQ7CisgIH0KK307CisKK2Z1bmN0aW9u
IGNlbnRyb2lkUG9pbnQkMSh4LCB5KSB7CisgIFgwJDEgKz0geDsKKyAgWTAkMSArPSB5OworICAr
K1owJDE7Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkTGluZVN0YXJ0JDEoKSB7CisgIGNlbnRyb2lk
U3RyZWFtJDEucG9pbnQgPSBjZW50cm9pZFBvaW50Rmlyc3RMaW5lOworfQorCitmdW5jdGlvbiBj
ZW50cm9pZFBvaW50Rmlyc3RMaW5lKHgsIHkpIHsKKyAgY2VudHJvaWRTdHJlYW0kMS5wb2ludCA9
IGNlbnRyb2lkUG9pbnRMaW5lOworICBjZW50cm9pZFBvaW50JDEoeDAkMyA9IHgsIHkwJDMgPSB5
KTsKK30KKworZnVuY3Rpb24gY2VudHJvaWRQb2ludExpbmUoeCwgeSkgeworICB2YXIgZHggPSB4
IC0geDAkMywgZHkgPSB5IC0geTAkMywgeiA9IHNxcnQoZHggKiBkeCArIGR5ICogZHkpOworICBY
MSQxICs9IHogKiAoeDAkMyArIHgpIC8gMjsKKyAgWTEkMSArPSB6ICogKHkwJDMgKyB5KSAvIDI7
CisgIFoxJDEgKz0gejsKKyAgY2VudHJvaWRQb2ludCQxKHgwJDMgPSB4LCB5MCQzID0geSk7Cit9
CisKK2Z1bmN0aW9uIGNlbnRyb2lkTGluZUVuZCQxKCkgeworICBjZW50cm9pZFN0cmVhbSQxLnBv
aW50ID0gY2VudHJvaWRQb2ludCQxOworfQorCitmdW5jdGlvbiBjZW50cm9pZFJpbmdTdGFydCQx
KCkgeworICBjZW50cm9pZFN0cmVhbSQxLnBvaW50ID0gY2VudHJvaWRQb2ludEZpcnN0UmluZzsK
K30KKworZnVuY3Rpb24gY2VudHJvaWRSaW5nRW5kJDEoKSB7CisgIGNlbnRyb2lkUG9pbnRSaW5n
KHgwMCQxLCB5MDAkMSk7Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkUG9pbnRGaXJzdFJpbmcoeCwg
eSkgeworICBjZW50cm9pZFN0cmVhbSQxLnBvaW50ID0gY2VudHJvaWRQb2ludFJpbmc7CisgIGNl
bnRyb2lkUG9pbnQkMSh4MDAkMSA9IHgwJDMgPSB4LCB5MDAkMSA9IHkwJDMgPSB5KTsKK30KKwor
ZnVuY3Rpb24gY2VudHJvaWRQb2ludFJpbmcoeCwgeSkgeworICB2YXIgZHggPSB4IC0geDAkMywK
KyAgICAgIGR5ID0geSAtIHkwJDMsCisgICAgICB6ID0gc3FydChkeCAqIGR4ICsgZHkgKiBkeSk7
CisKKyAgWDEkMSArPSB6ICogKHgwJDMgKyB4KSAvIDI7CisgIFkxJDEgKz0geiAqICh5MCQzICsg
eSkgLyAyOworICBaMSQxICs9IHo7CisKKyAgeiA9IHkwJDMgKiB4IC0geDAkMyAqIHk7CisgIFgy
JDEgKz0geiAqICh4MCQzICsgeCk7CisgIFkyJDEgKz0geiAqICh5MCQzICsgeSk7CisgIFoyJDEg
Kz0geiAqIDM7CisgIGNlbnRyb2lkUG9pbnQkMSh4MCQzID0geCwgeTAkMyA9IHkpOworfQorCitm
dW5jdGlvbiBQYXRoQ29udGV4dChjb250ZXh0KSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0
OworfQorCitQYXRoQ29udGV4dC5wcm90b3R5cGUgPSB7CisgIF9yYWRpdXM6IDQuNSwKKyAgcG9p
bnRSYWRpdXM6IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gdGhpcy5fcmFkaXVzID0gXywgdGhp
czsKKyAgfSwKKyAgcG9seWdvblN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0g
MDsKKyAgfSwKKyAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IE5h
TjsKKyAgfSwKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9wb2ludCA9IDA7
CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9saW5lID09PSAw
KSB0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpOworICAgIHRoaXMuX3BvaW50ID0gTmFOOworICB9
LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsK
KyAgICAgIGNhc2UgMDogeworICAgICAgICB0aGlzLl9jb250ZXh0Lm1vdmVUbyh4LCB5KTsKKyAg
ICAgICAgdGhpcy5fcG9pbnQgPSAxOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICAgIGNh
c2UgMTogeworICAgICAgICB0aGlzLl9jb250ZXh0LmxpbmVUbyh4LCB5KTsKKyAgICAgICAgYnJl
YWs7CisgICAgICB9CisgICAgICBkZWZhdWx0OiB7CisgICAgICAgIHRoaXMuX2NvbnRleHQubW92
ZVRvKHggKyB0aGlzLl9yYWRpdXMsIHkpOworICAgICAgICB0aGlzLl9jb250ZXh0LmFyYyh4LCB5
LCB0aGlzLl9yYWRpdXMsIDAsIHRhdSQzKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAg
fQorICB9LAorICByZXN1bHQ6IG5vb3AkMgorfTsKKwordmFyIGxlbmd0aFN1bSQxID0gYWRkZXIo
KSwKKyAgICBsZW5ndGhSaW5nLAorICAgIHgwMCQyLAorICAgIHkwMCQyLAorICAgIHgwJDQsCisg
ICAgeTAkNDsKKwordmFyIGxlbmd0aFN0cmVhbSQxID0geworICBwb2ludDogbm9vcCQyLAorICBs
aW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIGxlbmd0aFN0cmVhbSQxLnBvaW50ID0gbGVuZ3Ro
UG9pbnRGaXJzdCQxOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBpZiAobGVu
Z3RoUmluZykgbGVuZ3RoUG9pbnQkMSh4MDAkMiwgeTAwJDIpOworICAgIGxlbmd0aFN0cmVhbSQx
LnBvaW50ID0gbm9vcCQyOworICB9LAorICBwb2x5Z29uU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAg
IGxlbmd0aFJpbmcgPSB0cnVlOworICB9LAorICBwb2x5Z29uRW5kOiBmdW5jdGlvbigpIHsKKyAg
ICBsZW5ndGhSaW5nID0gbnVsbDsKKyAgfSwKKyAgcmVzdWx0OiBmdW5jdGlvbigpIHsKKyAgICB2
YXIgbGVuZ3RoID0gK2xlbmd0aFN1bSQxOworICAgIGxlbmd0aFN1bSQxLnJlc2V0KCk7CisgICAg
cmV0dXJuIGxlbmd0aDsKKyAgfQorfTsKKworZnVuY3Rpb24gbGVuZ3RoUG9pbnRGaXJzdCQxKHgs
IHkpIHsKKyAgbGVuZ3RoU3RyZWFtJDEucG9pbnQgPSBsZW5ndGhQb2ludCQxOworICB4MDAkMiA9
IHgwJDQgPSB4LCB5MDAkMiA9IHkwJDQgPSB5OworfQorCitmdW5jdGlvbiBsZW5ndGhQb2ludCQx
KHgsIHkpIHsKKyAgeDAkNCAtPSB4LCB5MCQ0IC09IHk7CisgIGxlbmd0aFN1bSQxLmFkZChzcXJ0
KHgwJDQgKiB4MCQ0ICsgeTAkNCAqIHkwJDQpKTsKKyAgeDAkNCA9IHgsIHkwJDQgPSB5OworfQor
CitmdW5jdGlvbiBQYXRoU3RyaW5nKCkgeworICB0aGlzLl9zdHJpbmcgPSBbXTsKK30KKworUGF0
aFN0cmluZy5wcm90b3R5cGUgPSB7CisgIF9yYWRpdXM6IDQuNSwKKyAgX2NpcmNsZTogY2lyY2xl
JDEoNC41KSwKKyAgcG9pbnRSYWRpdXM6IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoKF8gPSArXykg
IT09IHRoaXMuX3JhZGl1cykgdGhpcy5fcmFkaXVzID0gXywgdGhpcy5fY2lyY2xlID0gbnVsbDsK
KyAgICByZXR1cm4gdGhpczsKKyAgfSwKKyAgcG9seWdvblN0YXJ0OiBmdW5jdGlvbigpIHsKKyAg
ICB0aGlzLl9saW5lID0gMDsKKyAgfSwKKyAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7CisgICAg
dGhpcy5fbGluZSA9IE5hTjsKKyAgfSwKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0
aGlzLl9wb2ludCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0
aGlzLl9saW5lID09PSAwKSB0aGlzLl9zdHJpbmcucHVzaCgiWiIpOworICAgIHRoaXMuX3BvaW50
ID0gTmFOOworICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAgIHN3aXRjaCAodGhp
cy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMDogeworICAgICAgICB0aGlzLl9zdHJpbmcucHVzaCgi
TSIsIHgsICIsIiwgeSk7CisgICAgICAgIHRoaXMuX3BvaW50ID0gMTsKKyAgICAgICAgYnJlYWs7
CisgICAgICB9CisgICAgICBjYXNlIDE6IHsKKyAgICAgICAgdGhpcy5fc3RyaW5nLnB1c2goIkwi
LCB4LCAiLCIsIHkpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICAgIGRlZmF1bHQ6IHsK
KyAgICAgICAgaWYgKHRoaXMuX2NpcmNsZSA9PSBudWxsKSB0aGlzLl9jaXJjbGUgPSBjaXJjbGUk
MSh0aGlzLl9yYWRpdXMpOworICAgICAgICB0aGlzLl9zdHJpbmcucHVzaCgiTSIsIHgsICIsIiwg
eSwgdGhpcy5fY2lyY2xlKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorICB9LAor
ICByZXN1bHQ6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9zdHJpbmcubGVuZ3RoKSB7Cisg
ICAgICB2YXIgcmVzdWx0ID0gdGhpcy5fc3RyaW5nLmpvaW4oIiIpOworICAgICAgdGhpcy5fc3Ry
aW5nID0gW107CisgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0gZWxzZSB7CisgICAgICByZXR1
cm4gbnVsbDsKKyAgICB9CisgIH0KK307CisKK2Z1bmN0aW9uIGNpcmNsZSQxKHJhZGl1cykgewor
ICByZXR1cm4gIm0wLCIgKyByYWRpdXMKKyAgICAgICsgImEiICsgcmFkaXVzICsgIiwiICsgcmFk
aXVzICsgIiAwIDEsMSAwLCIgKyAtMiAqIHJhZGl1cworICAgICAgKyAiYSIgKyByYWRpdXMgKyAi
LCIgKyByYWRpdXMgKyAiIDAgMSwxIDAsIiArIDIgKiByYWRpdXMKKyAgICAgICsgInoiOworfQor
CitmdW5jdGlvbiBpbmRleCQxKHByb2plY3Rpb24sIGNvbnRleHQpIHsKKyAgdmFyIHBvaW50UmFk
aXVzID0gNC41LAorICAgICAgcHJvamVjdGlvblN0cmVhbSwKKyAgICAgIGNvbnRleHRTdHJlYW07
CisKKyAgZnVuY3Rpb24gcGF0aChvYmplY3QpIHsKKyAgICBpZiAob2JqZWN0KSB7CisgICAgICBp
ZiAodHlwZW9mIHBvaW50UmFkaXVzID09PSAiZnVuY3Rpb24iKSBjb250ZXh0U3RyZWFtLnBvaW50
UmFkaXVzKCtwb2ludFJhZGl1cy5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTsKKyAgICAgIGdlb1N0
cmVhbShvYmplY3QsIHByb2plY3Rpb25TdHJlYW0oY29udGV4dFN0cmVhbSkpOworICAgIH0KKyAg
ICByZXR1cm4gY29udGV4dFN0cmVhbS5yZXN1bHQoKTsKKyAgfQorCisgIHBhdGguYXJlYSA9IGZ1
bmN0aW9uKG9iamVjdCkgeworICAgIGdlb1N0cmVhbShvYmplY3QsIHByb2plY3Rpb25TdHJlYW0o
YXJlYVN0cmVhbSQxKSk7CisgICAgcmV0dXJuIGFyZWFTdHJlYW0kMS5yZXN1bHQoKTsKKyAgfTsK
KworICBwYXRoLm1lYXN1cmUgPSBmdW5jdGlvbihvYmplY3QpIHsKKyAgICBnZW9TdHJlYW0ob2Jq
ZWN0LCBwcm9qZWN0aW9uU3RyZWFtKGxlbmd0aFN0cmVhbSQxKSk7CisgICAgcmV0dXJuIGxlbmd0
aFN0cmVhbSQxLnJlc3VsdCgpOworICB9OworCisgIHBhdGguYm91bmRzID0gZnVuY3Rpb24ob2Jq
ZWN0KSB7CisgICAgZ2VvU3RyZWFtKG9iamVjdCwgcHJvamVjdGlvblN0cmVhbShib3VuZHNTdHJl
YW0kMSkpOworICAgIHJldHVybiBib3VuZHNTdHJlYW0kMS5yZXN1bHQoKTsKKyAgfTsKKworICBw
YXRoLmNlbnRyb2lkID0gZnVuY3Rpb24ob2JqZWN0KSB7CisgICAgZ2VvU3RyZWFtKG9iamVjdCwg
cHJvamVjdGlvblN0cmVhbShjZW50cm9pZFN0cmVhbSQxKSk7CisgICAgcmV0dXJuIGNlbnRyb2lk
U3RyZWFtJDEucmVzdWx0KCk7CisgIH07CisKKyAgcGF0aC5wcm9qZWN0aW9uID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHByb2plY3Rpb25TdHJlYW0gPSBf
ID09IG51bGwgPyAocHJvamVjdGlvbiA9IG51bGwsIGlkZW50aXR5JDQpIDogKHByb2plY3Rpb24g
PSBfKS5zdHJlYW0sIHBhdGgpIDogcHJvamVjdGlvbjsKKyAgfTsKKworICBwYXRoLmNvbnRleHQg
PSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gY29udGV4
dDsKKyAgICBjb250ZXh0U3RyZWFtID0gXyA9PSBudWxsID8gKGNvbnRleHQgPSBudWxsLCBuZXcg
UGF0aFN0cmluZykgOiBuZXcgUGF0aENvbnRleHQoY29udGV4dCA9IF8pOworICAgIGlmICh0eXBl
b2YgcG9pbnRSYWRpdXMgIT09ICJmdW5jdGlvbiIpIGNvbnRleHRTdHJlYW0ucG9pbnRSYWRpdXMo
cG9pbnRSYWRpdXMpOworICAgIHJldHVybiBwYXRoOworICB9OworCisgIHBhdGgucG9pbnRSYWRp
dXMgPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gcG9p
bnRSYWRpdXM7CisgICAgcG9pbnRSYWRpdXMgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8g
OiAoY29udGV4dFN0cmVhbS5wb2ludFJhZGl1cygrXyksICtfKTsKKyAgICByZXR1cm4gcGF0aDsK
KyAgfTsKKworICByZXR1cm4gcGF0aC5wcm9qZWN0aW9uKHByb2plY3Rpb24pLmNvbnRleHQoY29u
dGV4dCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zZm9ybShtZXRob2RzKSB7CisgIHJldHVybiB7Cisg
ICAgc3RyZWFtOiB0cmFuc2Zvcm1lcihtZXRob2RzKQorICB9OworfQorCitmdW5jdGlvbiB0cmFu
c2Zvcm1lcihtZXRob2RzKSB7CisgIHJldHVybiBmdW5jdGlvbihzdHJlYW0pIHsKKyAgICB2YXIg
cyA9IG5ldyBUcmFuc2Zvcm1TdHJlYW07CisgICAgZm9yICh2YXIga2V5IGluIG1ldGhvZHMpIHNb
a2V5XSA9IG1ldGhvZHNba2V5XTsKKyAgICBzLnN0cmVhbSA9IHN0cmVhbTsKKyAgICByZXR1cm4g
czsKKyAgfTsKK30KKworZnVuY3Rpb24gVHJhbnNmb3JtU3RyZWFtKCkge30KKworVHJhbnNmb3Jt
U3RyZWFtLnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IFRyYW5zZm9ybVN0cmVhbSwKKyAg
cG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsgdGhpcy5zdHJlYW0ucG9pbnQoeCwgeSk7IH0sCisgIHNw
aGVyZTogZnVuY3Rpb24oKSB7IHRoaXMuc3RyZWFtLnNwaGVyZSgpOyB9LAorICBsaW5lU3RhcnQ6
IGZ1bmN0aW9uKCkgeyB0aGlzLnN0cmVhbS5saW5lU3RhcnQoKTsgfSwKKyAgbGluZUVuZDogZnVu
Y3Rpb24oKSB7IHRoaXMuc3RyZWFtLmxpbmVFbmQoKTsgfSwKKyAgcG9seWdvblN0YXJ0OiBmdW5j
dGlvbigpIHsgdGhpcy5zdHJlYW0ucG9seWdvblN0YXJ0KCk7IH0sCisgIHBvbHlnb25FbmQ6IGZ1
bmN0aW9uKCkgeyB0aGlzLnN0cmVhbS5wb2x5Z29uRW5kKCk7IH0KK307CisKK2Z1bmN0aW9uIGZp
dChwcm9qZWN0aW9uLCBmaXRCb3VuZHMsIG9iamVjdCkgeworICB2YXIgY2xpcCA9IHByb2plY3Rp
b24uY2xpcEV4dGVudCAmJiBwcm9qZWN0aW9uLmNsaXBFeHRlbnQoKTsKKyAgcHJvamVjdGlvbi5z
Y2FsZSgxNTApLnRyYW5zbGF0ZShbMCwgMF0pOworICBpZiAoY2xpcCAhPSBudWxsKSBwcm9qZWN0
aW9uLmNsaXBFeHRlbnQobnVsbCk7CisgIGdlb1N0cmVhbShvYmplY3QsIHByb2plY3Rpb24uc3Ry
ZWFtKGJvdW5kc1N0cmVhbSQxKSk7CisgIGZpdEJvdW5kcyhib3VuZHNTdHJlYW0kMS5yZXN1bHQo
KSk7CisgIGlmIChjbGlwICE9IG51bGwpIHByb2plY3Rpb24uY2xpcEV4dGVudChjbGlwKTsKKyAg
cmV0dXJuIHByb2plY3Rpb247Cit9CisKK2Z1bmN0aW9uIGZpdEV4dGVudChwcm9qZWN0aW9uLCBl
eHRlbnQsIG9iamVjdCkgeworICByZXR1cm4gZml0KHByb2plY3Rpb24sIGZ1bmN0aW9uKGIpIHsK
KyAgICB2YXIgdyA9IGV4dGVudFsxXVswXSAtIGV4dGVudFswXVswXSwKKyAgICAgICAgaCA9IGV4
dGVudFsxXVsxXSAtIGV4dGVudFswXVsxXSwKKyAgICAgICAgayA9IE1hdGgubWluKHcgLyAoYlsx
XVswXSAtIGJbMF1bMF0pLCBoIC8gKGJbMV1bMV0gLSBiWzBdWzFdKSksCisgICAgICAgIHggPSAr
ZXh0ZW50WzBdWzBdICsgKHcgLSBrICogKGJbMV1bMF0gKyBiWzBdWzBdKSkgLyAyLAorICAgICAg
ICB5ID0gK2V4dGVudFswXVsxXSArIChoIC0gayAqIChiWzFdWzFdICsgYlswXVsxXSkpIC8gMjsK
KyAgICBwcm9qZWN0aW9uLnNjYWxlKDE1MCAqIGspLnRyYW5zbGF0ZShbeCwgeV0pOworICB9LCBv
YmplY3QpOworfQorCitmdW5jdGlvbiBmaXRTaXplKHByb2plY3Rpb24sIHNpemUsIG9iamVjdCkg
eworICByZXR1cm4gZml0RXh0ZW50KHByb2plY3Rpb24sIFtbMCwgMF0sIHNpemVdLCBvYmplY3Qp
OworfQorCitmdW5jdGlvbiBmaXRXaWR0aChwcm9qZWN0aW9uLCB3aWR0aCwgb2JqZWN0KSB7Cisg
IHJldHVybiBmaXQocHJvamVjdGlvbiwgZnVuY3Rpb24oYikgeworICAgIHZhciB3ID0gK3dpZHRo
LAorICAgICAgICBrID0gdyAvIChiWzFdWzBdIC0gYlswXVswXSksCisgICAgICAgIHggPSAodyAt
IGsgKiAoYlsxXVswXSArIGJbMF1bMF0pKSAvIDIsCisgICAgICAgIHkgPSAtayAqIGJbMF1bMV07
CisgICAgcHJvamVjdGlvbi5zY2FsZSgxNTAgKiBrKS50cmFuc2xhdGUoW3gsIHldKTsKKyAgfSwg
b2JqZWN0KTsKK30KKworZnVuY3Rpb24gZml0SGVpZ2h0KHByb2plY3Rpb24sIGhlaWdodCwgb2Jq
ZWN0KSB7CisgIHJldHVybiBmaXQocHJvamVjdGlvbiwgZnVuY3Rpb24oYikgeworICAgIHZhciBo
ID0gK2hlaWdodCwKKyAgICAgICAgayA9IGggLyAoYlsxXVsxXSAtIGJbMF1bMV0pLAorICAgICAg
ICB4ID0gLWsgKiBiWzBdWzBdLAorICAgICAgICB5ID0gKGggLSBrICogKGJbMV1bMV0gKyBiWzBd
WzFdKSkgLyAyOworICAgIHByb2plY3Rpb24uc2NhbGUoMTUwICogaykudHJhbnNsYXRlKFt4LCB5
XSk7CisgIH0sIG9iamVjdCk7Cit9CisKK3ZhciBtYXhEZXB0aCA9IDE2LCAvLyBtYXhpbXVtIGRl
cHRoIG9mIHN1YmRpdmlzaW9uCisgICAgY29zTWluRGlzdGFuY2UgPSBjb3MkMSgzMCAqIHJhZGlh
bnMpOyAvLyBjb3MobWluaW11bSBhbmd1bGFyIGRpc3RhbmNlKQorCitmdW5jdGlvbiByZXNhbXBs
ZShwcm9qZWN0LCBkZWx0YTIpIHsKKyAgcmV0dXJuICtkZWx0YTIgPyByZXNhbXBsZSQxKHByb2pl
Y3QsIGRlbHRhMikgOiByZXNhbXBsZU5vbmUocHJvamVjdCk7Cit9CisKK2Z1bmN0aW9uIHJlc2Ft
cGxlTm9uZShwcm9qZWN0KSB7CisgIHJldHVybiB0cmFuc2Zvcm1lcih7CisgICAgcG9pbnQ6IGZ1
bmN0aW9uKHgsIHkpIHsKKyAgICAgIHggPSBwcm9qZWN0KHgsIHkpOworICAgICAgdGhpcy5zdHJl
YW0ucG9pbnQoeFswXSwgeFsxXSk7CisgICAgfQorICB9KTsKK30KKworZnVuY3Rpb24gcmVzYW1w
bGUkMShwcm9qZWN0LCBkZWx0YTIpIHsKKworICBmdW5jdGlvbiByZXNhbXBsZUxpbmVUbyh4MCwg
eTAsIGxhbWJkYTAsIGEwLCBiMCwgYzAsIHgxLCB5MSwgbGFtYmRhMSwgYTEsIGIxLCBjMSwgZGVw
dGgsIHN0cmVhbSkgeworICAgIHZhciBkeCA9IHgxIC0geDAsCisgICAgICAgIGR5ID0geTEgLSB5
MCwKKyAgICAgICAgZDIgPSBkeCAqIGR4ICsgZHkgKiBkeTsKKyAgICBpZiAoZDIgPiA0ICogZGVs
dGEyICYmIGRlcHRoLS0pIHsKKyAgICAgIHZhciBhID0gYTAgKyBhMSwKKyAgICAgICAgICBiID0g
YjAgKyBiMSwKKyAgICAgICAgICBjID0gYzAgKyBjMSwKKyAgICAgICAgICBtID0gc3FydChhICog
YSArIGIgKiBiICsgYyAqIGMpLAorICAgICAgICAgIHBoaTIgPSBhc2luKGMgLz0gbSksCisgICAg
ICAgICAgbGFtYmRhMiA9IGFicyhhYnMoYykgLSAxKSA8IGVwc2lsb24kMiB8fCBhYnMobGFtYmRh
MCAtIGxhbWJkYTEpIDwgZXBzaWxvbiQyID8gKGxhbWJkYTAgKyBsYW1iZGExKSAvIDIgOiBhdGFu
MihiLCBhKSwKKyAgICAgICAgICBwID0gcHJvamVjdChsYW1iZGEyLCBwaGkyKSwKKyAgICAgICAg
ICB4MiA9IHBbMF0sCisgICAgICAgICAgeTIgPSBwWzFdLAorICAgICAgICAgIGR4MiA9IHgyIC0g
eDAsCisgICAgICAgICAgZHkyID0geTIgLSB5MCwKKyAgICAgICAgICBkeiA9IGR5ICogZHgyIC0g
ZHggKiBkeTI7CisgICAgICBpZiAoZHogKiBkeiAvIGQyID4gZGVsdGEyIC8vIHBlcnBlbmRpY3Vs
YXIgcHJvamVjdGVkIGRpc3RhbmNlCisgICAgICAgICAgfHwgYWJzKChkeCAqIGR4MiArIGR5ICog
ZHkyKSAvIGQyIC0gMC41KSA+IDAuMyAvLyBtaWRwb2ludCBjbG9zZSB0byBhbiBlbmQKKyAgICAg
ICAgICB8fCBhMCAqIGExICsgYjAgKiBiMSArIGMwICogYzEgPCBjb3NNaW5EaXN0YW5jZSkgeyAv
LyBhbmd1bGFyIGRpc3RhbmNlCisgICAgICAgIHJlc2FtcGxlTGluZVRvKHgwLCB5MCwgbGFtYmRh
MCwgYTAsIGIwLCBjMCwgeDIsIHkyLCBsYW1iZGEyLCBhIC89IG0sIGIgLz0gbSwgYywgZGVwdGgs
IHN0cmVhbSk7CisgICAgICAgIHN0cmVhbS5wb2ludCh4MiwgeTIpOworICAgICAgICByZXNhbXBs
ZUxpbmVUbyh4MiwgeTIsIGxhbWJkYTIsIGEsIGIsIGMsIHgxLCB5MSwgbGFtYmRhMSwgYTEsIGIx
LCBjMSwgZGVwdGgsIHN0cmVhbSk7CisgICAgICB9CisgICAgfQorICB9CisgIHJldHVybiBmdW5j
dGlvbihzdHJlYW0pIHsKKyAgICB2YXIgbGFtYmRhMDAsIHgwMCwgeTAwLCBhMDAsIGIwMCwgYzAw
LCAvLyBmaXJzdCBwb2ludAorICAgICAgICBsYW1iZGEwLCB4MCwgeTAsIGEwLCBiMCwgYzA7IC8v
IHByZXZpb3VzIHBvaW50CisKKyAgICB2YXIgcmVzYW1wbGVTdHJlYW0gPSB7CisgICAgICBwb2lu
dDogcG9pbnQsCisgICAgICBsaW5lU3RhcnQ6IGxpbmVTdGFydCwKKyAgICAgIGxpbmVFbmQ6IGxp
bmVFbmQsCisgICAgICBwb2x5Z29uU3RhcnQ6IGZ1bmN0aW9uKCkgeyBzdHJlYW0ucG9seWdvblN0
YXJ0KCk7IHJlc2FtcGxlU3RyZWFtLmxpbmVTdGFydCA9IHJpbmdTdGFydDsgfSwKKyAgICAgIHBv
bHlnb25FbmQ6IGZ1bmN0aW9uKCkgeyBzdHJlYW0ucG9seWdvbkVuZCgpOyByZXNhbXBsZVN0cmVh
bS5saW5lU3RhcnQgPSBsaW5lU3RhcnQ7IH0KKyAgICB9OworCisgICAgZnVuY3Rpb24gcG9pbnQo
eCwgeSkgeworICAgICAgeCA9IHByb2plY3QoeCwgeSk7CisgICAgICBzdHJlYW0ucG9pbnQoeFsw
XSwgeFsxXSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbGluZVN0YXJ0KCkgeworICAgICAgeDAg
PSBOYU47CisgICAgICByZXNhbXBsZVN0cmVhbS5wb2ludCA9IGxpbmVQb2ludDsKKyAgICAgIHN0
cmVhbS5saW5lU3RhcnQoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsaW5lUG9pbnQobGFtYmRh
LCBwaGkpIHsKKyAgICAgIHZhciBjID0gY2FydGVzaWFuKFtsYW1iZGEsIHBoaV0pLCBwID0gcHJv
amVjdChsYW1iZGEsIHBoaSk7CisgICAgICByZXNhbXBsZUxpbmVUbyh4MCwgeTAsIGxhbWJkYTAs
IGEwLCBiMCwgYzAsIHgwID0gcFswXSwgeTAgPSBwWzFdLCBsYW1iZGEwID0gbGFtYmRhLCBhMCA9
IGNbMF0sIGIwID0gY1sxXSwgYzAgPSBjWzJdLCBtYXhEZXB0aCwgc3RyZWFtKTsKKyAgICAgIHN0
cmVhbS5wb2ludCh4MCwgeTApOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxpbmVFbmQoKSB7Cisg
ICAgICByZXNhbXBsZVN0cmVhbS5wb2ludCA9IHBvaW50OworICAgICAgc3RyZWFtLmxpbmVFbmQo
KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiByaW5nU3RhcnQoKSB7CisgICAgICBsaW5lU3RhcnQo
KTsKKyAgICAgIHJlc2FtcGxlU3RyZWFtLnBvaW50ID0gcmluZ1BvaW50OworICAgICAgcmVzYW1w
bGVTdHJlYW0ubGluZUVuZCA9IHJpbmdFbmQ7CisgICAgfQorCisgICAgZnVuY3Rpb24gcmluZ1Bv
aW50KGxhbWJkYSwgcGhpKSB7CisgICAgICBsaW5lUG9pbnQobGFtYmRhMDAgPSBsYW1iZGEsIHBo
aSksIHgwMCA9IHgwLCB5MDAgPSB5MCwgYTAwID0gYTAsIGIwMCA9IGIwLCBjMDAgPSBjMDsKKyAg
ICAgIHJlc2FtcGxlU3RyZWFtLnBvaW50ID0gbGluZVBvaW50OworICAgIH0KKworICAgIGZ1bmN0
aW9uIHJpbmdFbmQoKSB7CisgICAgICByZXNhbXBsZUxpbmVUbyh4MCwgeTAsIGxhbWJkYTAsIGEw
LCBiMCwgYzAsIHgwMCwgeTAwLCBsYW1iZGEwMCwgYTAwLCBiMDAsIGMwMCwgbWF4RGVwdGgsIHN0
cmVhbSk7CisgICAgICByZXNhbXBsZVN0cmVhbS5saW5lRW5kID0gbGluZUVuZDsKKyAgICAgIGxp
bmVFbmQoKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzYW1wbGVTdHJlYW07CisgIH07Cit9CisK
K3ZhciB0cmFuc2Zvcm1SYWRpYW5zID0gdHJhbnNmb3JtZXIoeworICBwb2ludDogZnVuY3Rpb24o
eCwgeSkgeworICAgIHRoaXMuc3RyZWFtLnBvaW50KHggKiByYWRpYW5zLCB5ICogcmFkaWFucyk7
CisgIH0KK30pOworCitmdW5jdGlvbiB0cmFuc2Zvcm1Sb3RhdGUocm90YXRlKSB7CisgIHJldHVy
biB0cmFuc2Zvcm1lcih7CisgICAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICAgIHZhciBy
ID0gcm90YXRlKHgsIHkpOworICAgICAgcmV0dXJuIHRoaXMuc3RyZWFtLnBvaW50KHJbMF0sIHJb
MV0pOworICAgIH0KKyAgfSk7Cit9CisKK2Z1bmN0aW9uIHNjYWxlVHJhbnNsYXRlKGssIGR4LCBk
eSkgeworICBmdW5jdGlvbiB0cmFuc2Zvcm0oeCwgeSkgeworICAgIHJldHVybiBbZHggKyBrICog
eCwgZHkgLSBrICogeV07CisgIH0KKyAgdHJhbnNmb3JtLmludmVydCA9IGZ1bmN0aW9uKHgsIHkp
IHsKKyAgICByZXR1cm4gWyh4IC0gZHgpIC8gaywgKGR5IC0geSkgLyBrXTsKKyAgfTsKKyAgcmV0
dXJuIHRyYW5zZm9ybTsKK30KKworZnVuY3Rpb24gc2NhbGVUcmFuc2xhdGVSb3RhdGUoaywgZHgs
IGR5LCBhbHBoYSkgeworICB2YXIgY29zQWxwaGEgPSBjb3MkMShhbHBoYSksCisgICAgICBzaW5B
bHBoYSA9IHNpbiQxKGFscGhhKSwKKyAgICAgIGEgPSBjb3NBbHBoYSAqIGssCisgICAgICBiID0g
c2luQWxwaGEgKiBrLAorICAgICAgYWkgPSBjb3NBbHBoYSAvIGssCisgICAgICBiaSA9IHNpbkFs
cGhhIC8gaywKKyAgICAgIGNpID0gKHNpbkFscGhhICogZHkgLSBjb3NBbHBoYSAqIGR4KSAvIGss
CisgICAgICBmaSA9IChzaW5BbHBoYSAqIGR4ICsgY29zQWxwaGEgKiBkeSkgLyBrOworICBmdW5j
dGlvbiB0cmFuc2Zvcm0oeCwgeSkgeworICAgIHJldHVybiBbYSAqIHggLSBiICogeSArIGR4LCBk
eSAtIGIgKiB4IC0gYSAqIHldOworICB9CisgIHRyYW5zZm9ybS5pbnZlcnQgPSBmdW5jdGlvbih4
LCB5KSB7CisgICAgcmV0dXJuIFthaSAqIHggLSBiaSAqIHkgKyBjaSwgZmkgLSBiaSAqIHggLSBh
aSAqIHldOworICB9OworICByZXR1cm4gdHJhbnNmb3JtOworfQorCitmdW5jdGlvbiBwcm9qZWN0
aW9uKHByb2plY3QpIHsKKyAgcmV0dXJuIHByb2plY3Rpb25NdXRhdG9yKGZ1bmN0aW9uKCkgeyBy
ZXR1cm4gcHJvamVjdDsgfSkoKTsKK30KKworZnVuY3Rpb24gcHJvamVjdGlvbk11dGF0b3IocHJv
amVjdEF0KSB7CisgIHZhciBwcm9qZWN0LAorICAgICAgayA9IDE1MCwgLy8gc2NhbGUKKyAgICAg
IHggPSA0ODAsIHkgPSAyNTAsIC8vIHRyYW5zbGF0ZQorICAgICAgbGFtYmRhID0gMCwgcGhpID0g
MCwgLy8gY2VudGVyCisgICAgICBkZWx0YUxhbWJkYSA9IDAsIGRlbHRhUGhpID0gMCwgZGVsdGFH
YW1tYSA9IDAsIHJvdGF0ZSwgLy8gcHJlLXJvdGF0ZQorICAgICAgYWxwaGEgPSAwLCAvLyBwb3N0
LXJvdGF0ZQorICAgICAgdGhldGEgPSBudWxsLCBwcmVjbGlwID0gY2xpcEFudGltZXJpZGlhbiwg
Ly8gcHJlLWNsaXAgYW5nbGUKKyAgICAgIHgwID0gbnVsbCwgeTAsIHgxLCB5MSwgcG9zdGNsaXAg
PSBpZGVudGl0eSQ0LCAvLyBwb3N0LWNsaXAgZXh0ZW50CisgICAgICBkZWx0YTIgPSAwLjUsIC8v
IHByZWNpc2lvbgorICAgICAgcHJvamVjdFJlc2FtcGxlLAorICAgICAgcHJvamVjdFRyYW5zZm9y
bSwKKyAgICAgIHByb2plY3RSb3RhdGVUcmFuc2Zvcm0sCisgICAgICBjYWNoZSwKKyAgICAgIGNh
Y2hlU3RyZWFtOworCisgIGZ1bmN0aW9uIHByb2plY3Rpb24ocG9pbnQpIHsKKyAgICByZXR1cm4g
cHJvamVjdFJvdGF0ZVRyYW5zZm9ybShwb2ludFswXSAqIHJhZGlhbnMsIHBvaW50WzFdICogcmFk
aWFucyk7CisgIH0KKworICBmdW5jdGlvbiBpbnZlcnQocG9pbnQpIHsKKyAgICBwb2ludCA9IHBy
b2plY3RSb3RhdGVUcmFuc2Zvcm0uaW52ZXJ0KHBvaW50WzBdLCBwb2ludFsxXSk7CisgICAgcmV0
dXJuIHBvaW50ICYmIFtwb2ludFswXSAqIGRlZ3JlZXMkMSwgcG9pbnRbMV0gKiBkZWdyZWVzJDFd
OworICB9CisKKyAgcHJvamVjdGlvbi5zdHJlYW0gPSBmdW5jdGlvbihzdHJlYW0pIHsKKyAgICBy
ZXR1cm4gY2FjaGUgJiYgY2FjaGVTdHJlYW0gPT09IHN0cmVhbSA/IGNhY2hlIDogY2FjaGUgPSB0
cmFuc2Zvcm1SYWRpYW5zKHRyYW5zZm9ybVJvdGF0ZShyb3RhdGUpKHByZWNsaXAocHJvamVjdFJl
c2FtcGxlKHBvc3RjbGlwKGNhY2hlU3RyZWFtID0gc3RyZWFtKSkpKSk7CisgIH07CisKKyAgcHJv
amVjdGlvbi5wcmVjbGlwID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHByZWNsaXAgPSBfLCB0aGV0YSA9IHVuZGVmaW5lZCwgcmVzZXQoKSkgOiBwcmVjbGlw
OworICB9OworCisgIHByb2plY3Rpb24ucG9zdGNsaXAgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocG9zdGNsaXAgPSBfLCB4MCA9IHkwID0geDEgPSB5MSA9
IG51bGwsIHJlc2V0KCkpIDogcG9zdGNsaXA7CisgIH07CisKKyAgcHJvamVjdGlvbi5jbGlwQW5n
bGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocHJlY2xp
cCA9ICtfID8gY2xpcENpcmNsZSh0aGV0YSA9IF8gKiByYWRpYW5zKSA6ICh0aGV0YSA9IG51bGws
IGNsaXBBbnRpbWVyaWRpYW4pLCByZXNldCgpKSA6IHRoZXRhICogZGVncmVlcyQxOworICB9Owor
CisgIHByb2plY3Rpb24uY2xpcEV4dGVudCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJn
dW1lbnRzLmxlbmd0aCA/IChwb3N0Y2xpcCA9IF8gPT0gbnVsbCA/ICh4MCA9IHkwID0geDEgPSB5
MSA9IG51bGwsIGlkZW50aXR5JDQpIDogY2xpcFJlY3RhbmdsZSh4MCA9ICtfWzBdWzBdLCB5MCA9
ICtfWzBdWzFdLCB4MSA9ICtfWzFdWzBdLCB5MSA9ICtfWzFdWzFdKSwgcmVzZXQoKSkgOiB4MCA9
PSBudWxsID8gbnVsbCA6IFtbeDAsIHkwXSwgW3gxLCB5MV1dOworICB9OworCisgIHByb2plY3Rp
b24uc2NhbGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
ayA9ICtfLCByZWNlbnRlcigpKSA6IGs7CisgIH07CisKKyAgcHJvamVjdGlvbi50cmFuc2xhdGUg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeCA9ICtfWzBd
LCB5ID0gK19bMV0sIHJlY2VudGVyKCkpIDogW3gsIHldOworICB9OworCisgIHByb2plY3Rpb24u
Y2VudGVyID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGxh
bWJkYSA9IF9bMF0gJSAzNjAgKiByYWRpYW5zLCBwaGkgPSBfWzFdICUgMzYwICogcmFkaWFucywg
cmVjZW50ZXIoKSkgOiBbbGFtYmRhICogZGVncmVlcyQxLCBwaGkgKiBkZWdyZWVzJDFdOworICB9
OworCisgIHByb2plY3Rpb24ucm90YXRlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gKGRlbHRhTGFtYmRhID0gX1swXSAlIDM2MCAqIHJhZGlhbnMsIGRlbHRh
UGhpID0gX1sxXSAlIDM2MCAqIHJhZGlhbnMsIGRlbHRhR2FtbWEgPSBfLmxlbmd0aCA+IDIgPyBf
WzJdICUgMzYwICogcmFkaWFucyA6IDAsIHJlY2VudGVyKCkpIDogW2RlbHRhTGFtYmRhICogZGVn
cmVlcyQxLCBkZWx0YVBoaSAqIGRlZ3JlZXMkMSwgZGVsdGFHYW1tYSAqIGRlZ3JlZXMkMV07Cisg
IH07CisKKyAgcHJvamVjdGlvbi5hbmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJn
dW1lbnRzLmxlbmd0aCA/IChhbHBoYSA9IF8gJSAzNjAgKiByYWRpYW5zLCByZWNlbnRlcigpKSA6
IGFscGhhICogZGVncmVlcyQxOworICB9OworCisgIHByb2plY3Rpb24ucHJlY2lzaW9uID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHByb2plY3RSZXNhbXBs
ZSA9IHJlc2FtcGxlKHByb2plY3RUcmFuc2Zvcm0sIGRlbHRhMiA9IF8gKiBfKSwgcmVzZXQoKSkg
OiBzcXJ0KGRlbHRhMik7CisgIH07CisKKyAgcHJvamVjdGlvbi5maXRFeHRlbnQgPSBmdW5jdGlv
bihleHRlbnQsIG9iamVjdCkgeworICAgIHJldHVybiBmaXRFeHRlbnQocHJvamVjdGlvbiwgZXh0
ZW50LCBvYmplY3QpOworICB9OworCisgIHByb2plY3Rpb24uZml0U2l6ZSA9IGZ1bmN0aW9uKHNp
emUsIG9iamVjdCkgeworICAgIHJldHVybiBmaXRTaXplKHByb2plY3Rpb24sIHNpemUsIG9iamVj
dCk7CisgIH07CisKKyAgcHJvamVjdGlvbi5maXRXaWR0aCA9IGZ1bmN0aW9uKHdpZHRoLCBvYmpl
Y3QpIHsKKyAgICByZXR1cm4gZml0V2lkdGgocHJvamVjdGlvbiwgd2lkdGgsIG9iamVjdCk7Cisg
IH07CisKKyAgcHJvamVjdGlvbi5maXRIZWlnaHQgPSBmdW5jdGlvbihoZWlnaHQsIG9iamVjdCkg
eworICAgIHJldHVybiBmaXRIZWlnaHQocHJvamVjdGlvbiwgaGVpZ2h0LCBvYmplY3QpOworICB9
OworCisgIGZ1bmN0aW9uIHJlY2VudGVyKCkgeworICAgIHZhciBjZW50ZXIgPSBzY2FsZVRyYW5z
bGF0ZVJvdGF0ZShrLCAwLCAwLCBhbHBoYSkuYXBwbHkobnVsbCwgcHJvamVjdChsYW1iZGEsIHBo
aSkpLAorICAgICAgICB0cmFuc2Zvcm0gPSAoYWxwaGEgPyBzY2FsZVRyYW5zbGF0ZVJvdGF0ZSA6
IHNjYWxlVHJhbnNsYXRlKShrLCB4IC0gY2VudGVyWzBdLCB5IC0gY2VudGVyWzFdLCBhbHBoYSk7
CisgICAgcm90YXRlID0gcm90YXRlUmFkaWFucyhkZWx0YUxhbWJkYSwgZGVsdGFQaGksIGRlbHRh
R2FtbWEpOworICAgIHByb2plY3RUcmFuc2Zvcm0gPSBjb21wb3NlKHByb2plY3QsIHRyYW5zZm9y
bSk7CisgICAgcHJvamVjdFJvdGF0ZVRyYW5zZm9ybSA9IGNvbXBvc2Uocm90YXRlLCBwcm9qZWN0
VHJhbnNmb3JtKTsKKyAgICBwcm9qZWN0UmVzYW1wbGUgPSByZXNhbXBsZShwcm9qZWN0VHJhbnNm
b3JtLCBkZWx0YTIpOworICAgIHJldHVybiByZXNldCgpOworICB9CisKKyAgZnVuY3Rpb24gcmVz
ZXQoKSB7CisgICAgY2FjaGUgPSBjYWNoZVN0cmVhbSA9IG51bGw7CisgICAgcmV0dXJuIHByb2pl
Y3Rpb247CisgIH0KKworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgcHJvamVjdCA9IHByb2pl
Y3RBdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOworICAgIHByb2plY3Rpb24uaW52ZXJ0ID0gcHJv
amVjdC5pbnZlcnQgJiYgaW52ZXJ0OworICAgIHJldHVybiByZWNlbnRlcigpOworICB9OworfQor
CitmdW5jdGlvbiBjb25pY1Byb2plY3Rpb24ocHJvamVjdEF0KSB7CisgIHZhciBwaGkwID0gMCwK
KyAgICAgIHBoaTEgPSBwaSQzIC8gMywKKyAgICAgIG0gPSBwcm9qZWN0aW9uTXV0YXRvcihwcm9q
ZWN0QXQpLAorICAgICAgcCA9IG0ocGhpMCwgcGhpMSk7CisKKyAgcC5wYXJhbGxlbHMgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyBtKHBoaTAgPSBfWzBdICog
cmFkaWFucywgcGhpMSA9IF9bMV0gKiByYWRpYW5zKSA6IFtwaGkwICogZGVncmVlcyQxLCBwaGkx
ICogZGVncmVlcyQxXTsKKyAgfTsKKworICByZXR1cm4gcDsKK30KKworZnVuY3Rpb24gY3lsaW5k
cmljYWxFcXVhbEFyZWFSYXcocGhpMCkgeworICB2YXIgY29zUGhpMCA9IGNvcyQxKHBoaTApOwor
CisgIGZ1bmN0aW9uIGZvcndhcmQobGFtYmRhLCBwaGkpIHsKKyAgICByZXR1cm4gW2xhbWJkYSAq
IGNvc1BoaTAsIHNpbiQxKHBoaSkgLyBjb3NQaGkwXTsKKyAgfQorCisgIGZvcndhcmQuaW52ZXJ0
ID0gZnVuY3Rpb24oeCwgeSkgeworICAgIHJldHVybiBbeCAvIGNvc1BoaTAsIGFzaW4oeSAqIGNv
c1BoaTApXTsKKyAgfTsKKworICByZXR1cm4gZm9yd2FyZDsKK30KKworZnVuY3Rpb24gY29uaWNF
cXVhbEFyZWFSYXcoeTAsIHkxKSB7CisgIHZhciBzeTAgPSBzaW4kMSh5MCksIG4gPSAoc3kwICsg
c2luJDEoeTEpKSAvIDI7CisKKyAgLy8gQXJlIHRoZSBwYXJhbGxlbHMgc3ltbWV0cmljYWwgYXJv
dW5kIHRoZSBFcXVhdG9yPworICBpZiAoYWJzKG4pIDwgZXBzaWxvbiQyKSByZXR1cm4gY3lsaW5k
cmljYWxFcXVhbEFyZWFSYXcoeTApOworCisgIHZhciBjID0gMSArIHN5MCAqICgyICogbiAtIHN5
MCksIHIwID0gc3FydChjKSAvIG47CisKKyAgZnVuY3Rpb24gcHJvamVjdCh4LCB5KSB7CisgICAg
dmFyIHIgPSBzcXJ0KGMgLSAyICogbiAqIHNpbiQxKHkpKSAvIG47CisgICAgcmV0dXJuIFtyICog
c2luJDEoeCAqPSBuKSwgcjAgLSByICogY29zJDEoeCldOworICB9CisKKyAgcHJvamVjdC5pbnZl
cnQgPSBmdW5jdGlvbih4LCB5KSB7CisgICAgdmFyIHIweSA9IHIwIC0geTsKKyAgICByZXR1cm4g
W2F0YW4yKHgsIGFicyhyMHkpKSAvIG4gKiBzaWduKHIweSksIGFzaW4oKGMgLSAoeCAqIHggKyBy
MHkgKiByMHkpICogbiAqIG4pIC8gKDIgKiBuKSldOworICB9OworCisgIHJldHVybiBwcm9qZWN0
OworfQorCitmdW5jdGlvbiBjb25pY0VxdWFsQXJlYSgpIHsKKyAgcmV0dXJuIGNvbmljUHJvamVj
dGlvbihjb25pY0VxdWFsQXJlYVJhdykKKyAgICAgIC5zY2FsZSgxNTUuNDI0KQorICAgICAgLmNl
bnRlcihbMCwgMzMuNjQ0Ml0pOworfQorCitmdW5jdGlvbiBhbGJlcnMoKSB7CisgIHJldHVybiBj
b25pY0VxdWFsQXJlYSgpCisgICAgICAucGFyYWxsZWxzKFsyOS41LCA0NS41XSkKKyAgICAgIC5z
Y2FsZSgxMDcwKQorICAgICAgLnRyYW5zbGF0ZShbNDgwLCAyNTBdKQorICAgICAgLnJvdGF0ZShb
OTYsIDBdKQorICAgICAgLmNlbnRlcihbLTAuNiwgMzguN10pOworfQorCisvLyBUaGUgcHJvamVj
dGlvbnMgbXVzdCBoYXZlIG11dHVhbGx5IGV4Y2x1c2l2ZSBjbGlwIHJlZ2lvbnMgb24gdGhlIHNw
aGVyZSwKKy8vIGFzIHRoaXMgd2lsbCBhdm9pZCBlbWl0dGluZyBpbnRlcmxlYXZpbmcgbGluZXMg
YW5kIHBvbHlnb25zLgorZnVuY3Rpb24gbXVsdGlwbGV4KHN0cmVhbXMpIHsKKyAgdmFyIG4gPSBz
dHJlYW1zLmxlbmd0aDsKKyAgcmV0dXJuIHsKKyAgICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeyB2
YXIgaSA9IC0xOyB3aGlsZSAoKytpIDwgbikgc3RyZWFtc1tpXS5wb2ludCh4LCB5KTsgfSwKKyAg
ICBzcGhlcmU6IGZ1bmN0aW9uKCkgeyB2YXIgaSA9IC0xOyB3aGlsZSAoKytpIDwgbikgc3RyZWFt
c1tpXS5zcGhlcmUoKTsgfSwKKyAgICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeyB2YXIgaSA9IC0x
OyB3aGlsZSAoKytpIDwgbikgc3RyZWFtc1tpXS5saW5lU3RhcnQoKTsgfSwKKyAgICBsaW5lRW5k
OiBmdW5jdGlvbigpIHsgdmFyIGkgPSAtMTsgd2hpbGUgKCsraSA8IG4pIHN0cmVhbXNbaV0ubGlu
ZUVuZCgpOyB9LAorICAgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7IHZhciBpID0gLTE7IHdo
aWxlICgrK2kgPCBuKSBzdHJlYW1zW2ldLnBvbHlnb25TdGFydCgpOyB9LAorICAgIHBvbHlnb25F
bmQ6IGZ1bmN0aW9uKCkgeyB2YXIgaSA9IC0xOyB3aGlsZSAoKytpIDwgbikgc3RyZWFtc1tpXS5w
b2x5Z29uRW5kKCk7IH0KKyAgfTsKK30KKworLy8gQSBjb21wb3NpdGUgcHJvamVjdGlvbiBmb3Ig
dGhlIFVuaXRlZCBTdGF0ZXMsIGNvbmZpZ3VyZWQgYnkgZGVmYXVsdCBmb3IKKy8vIDk2MMOXNTAw
LiBUaGUgcHJvamVjdGlvbiBhbHNvIHdvcmtzIHF1aXRlIHdlbGwgYXQgOTYww5c2MDAgaWYgeW91
IGNoYW5nZSB0aGUKKy8vIHNjYWxlIHRvIDEyODUgYW5kIGFkanVzdCB0aGUgdHJhbnNsYXRlIGFj
Y29yZGluZ2x5LiBUaGUgc2V0IG9mIHN0YW5kYXJkCisvLyBwYXJhbGxlbHMgZm9yIGVhY2ggcmVn
aW9uIGNvbWVzIGZyb20gVVNHUywgd2hpY2ggaXMgcHVibGlzaGVkIGhlcmU6CisvLyBodHRwOi8v
ZWdzYy51c2dzLmdvdi9pc2IvcHVicy9NYXBQcm9qZWN0aW9ucy9wcm9qZWN0aW9ucy5odG1sI2Fs
YmVycworZnVuY3Rpb24gYWxiZXJzVXNhKCkgeworICB2YXIgY2FjaGUsCisgICAgICBjYWNoZVN0
cmVhbSwKKyAgICAgIGxvd2VyNDggPSBhbGJlcnMoKSwgbG93ZXI0OFBvaW50LAorICAgICAgYWxh
c2thID0gY29uaWNFcXVhbEFyZWEoKS5yb3RhdGUoWzE1NCwgMF0pLmNlbnRlcihbLTIsIDU4LjVd
KS5wYXJhbGxlbHMoWzU1LCA2NV0pLCBhbGFza2FQb2ludCwgLy8gRVBTRzozMzM4CisgICAgICBo
YXdhaWkgPSBjb25pY0VxdWFsQXJlYSgpLnJvdGF0ZShbMTU3LCAwXSkuY2VudGVyKFstMywgMTku
OV0pLnBhcmFsbGVscyhbOCwgMThdKSwgaGF3YWlpUG9pbnQsIC8vIEVTUkk6MTAyMDA3CisgICAg
ICBwb2ludCwgcG9pbnRTdHJlYW0gPSB7cG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsgcG9pbnQgPSBb
eCwgeV07IH19OworCisgIGZ1bmN0aW9uIGFsYmVyc1VzYShjb29yZGluYXRlcykgeworICAgIHZh
ciB4ID0gY29vcmRpbmF0ZXNbMF0sIHkgPSBjb29yZGluYXRlc1sxXTsKKyAgICByZXR1cm4gcG9p
bnQgPSBudWxsLAorICAgICAgICAobG93ZXI0OFBvaW50LnBvaW50KHgsIHkpLCBwb2ludCkKKyAg
ICAgICAgfHwgKGFsYXNrYVBvaW50LnBvaW50KHgsIHkpLCBwb2ludCkKKyAgICAgICAgfHwgKGhh
d2FpaVBvaW50LnBvaW50KHgsIHkpLCBwb2ludCk7CisgIH0KKworICBhbGJlcnNVc2EuaW52ZXJ0
ID0gZnVuY3Rpb24oY29vcmRpbmF0ZXMpIHsKKyAgICB2YXIgayA9IGxvd2VyNDguc2NhbGUoKSwK
KyAgICAgICAgdCA9IGxvd2VyNDgudHJhbnNsYXRlKCksCisgICAgICAgIHggPSAoY29vcmRpbmF0
ZXNbMF0gLSB0WzBdKSAvIGssCisgICAgICAgIHkgPSAoY29vcmRpbmF0ZXNbMV0gLSB0WzFdKSAv
IGs7CisgICAgcmV0dXJuICh5ID49IDAuMTIwICYmIHkgPCAwLjIzNCAmJiB4ID49IC0wLjQyNSAm
JiB4IDwgLTAuMjE0ID8gYWxhc2thCisgICAgICAgIDogeSA+PSAwLjE2NiAmJiB5IDwgMC4yMzQg
JiYgeCA+PSAtMC4yMTQgJiYgeCA8IC0wLjExNSA/IGhhd2FpaQorICAgICAgICA6IGxvd2VyNDgp
LmludmVydChjb29yZGluYXRlcyk7CisgIH07CisKKyAgYWxiZXJzVXNhLnN0cmVhbSA9IGZ1bmN0
aW9uKHN0cmVhbSkgeworICAgIHJldHVybiBjYWNoZSAmJiBjYWNoZVN0cmVhbSA9PT0gc3RyZWFt
ID8gY2FjaGUgOiBjYWNoZSA9IG11bHRpcGxleChbbG93ZXI0OC5zdHJlYW0oY2FjaGVTdHJlYW0g
PSBzdHJlYW0pLCBhbGFza2Euc3RyZWFtKHN0cmVhbSksIGhhd2FpaS5zdHJlYW0oc3RyZWFtKV0p
OworICB9OworCisgIGFsYmVyc1VzYS5wcmVjaXNpb24gPSBmdW5jdGlvbihfKSB7CisgICAgaWYg
KCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gbG93ZXI0OC5wcmVjaXNpb24oKTsKKyAgICBsb3dl
cjQ4LnByZWNpc2lvbihfKSwgYWxhc2thLnByZWNpc2lvbihfKSwgaGF3YWlpLnByZWNpc2lvbihf
KTsKKyAgICByZXR1cm4gcmVzZXQoKTsKKyAgfTsKKworICBhbGJlcnNVc2Euc2NhbGUgPSBmdW5j
dGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gbG93ZXI0OC5zY2Fs
ZSgpOworICAgIGxvd2VyNDguc2NhbGUoXyksIGFsYXNrYS5zY2FsZShfICogMC4zNSksIGhhd2Fp
aS5zY2FsZShfKTsKKyAgICByZXR1cm4gYWxiZXJzVXNhLnRyYW5zbGF0ZShsb3dlcjQ4LnRyYW5z
bGF0ZSgpKTsKKyAgfTsKKworICBhbGJlcnNVc2EudHJhbnNsYXRlID0gZnVuY3Rpb24oXykgewor
ICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIGxvd2VyNDgudHJhbnNsYXRlKCk7Cisg
ICAgdmFyIGsgPSBsb3dlcjQ4LnNjYWxlKCksIHggPSArX1swXSwgeSA9ICtfWzFdOworCisgICAg
bG93ZXI0OFBvaW50ID0gbG93ZXI0OAorICAgICAgICAudHJhbnNsYXRlKF8pCisgICAgICAgIC5j
bGlwRXh0ZW50KFtbeCAtIDAuNDU1ICogaywgeSAtIDAuMjM4ICoga10sIFt4ICsgMC40NTUgKiBr
LCB5ICsgMC4yMzggKiBrXV0pCisgICAgICAgIC5zdHJlYW0ocG9pbnRTdHJlYW0pOworCisgICAg
YWxhc2thUG9pbnQgPSBhbGFza2EKKyAgICAgICAgLnRyYW5zbGF0ZShbeCAtIDAuMzA3ICogaywg
eSArIDAuMjAxICoga10pCisgICAgICAgIC5jbGlwRXh0ZW50KFtbeCAtIDAuNDI1ICogayArIGVw
c2lsb24kMiwgeSArIDAuMTIwICogayArIGVwc2lsb24kMl0sIFt4IC0gMC4yMTQgKiBrIC0gZXBz
aWxvbiQyLCB5ICsgMC4yMzQgKiBrIC0gZXBzaWxvbiQyXV0pCisgICAgICAgIC5zdHJlYW0ocG9p
bnRTdHJlYW0pOworCisgICAgaGF3YWlpUG9pbnQgPSBoYXdhaWkKKyAgICAgICAgLnRyYW5zbGF0
ZShbeCAtIDAuMjA1ICogaywgeSArIDAuMjEyICoga10pCisgICAgICAgIC5jbGlwRXh0ZW50KFtb
eCAtIDAuMjE0ICogayArIGVwc2lsb24kMiwgeSArIDAuMTY2ICogayArIGVwc2lsb24kMl0sIFt4
IC0gMC4xMTUgKiBrIC0gZXBzaWxvbiQyLCB5ICsgMC4yMzQgKiBrIC0gZXBzaWxvbiQyXV0pCisg
ICAgICAgIC5zdHJlYW0ocG9pbnRTdHJlYW0pOworCisgICAgcmV0dXJuIHJlc2V0KCk7CisgIH07
CisKKyAgYWxiZXJzVXNhLmZpdEV4dGVudCA9IGZ1bmN0aW9uKGV4dGVudCwgb2JqZWN0KSB7Cisg
ICAgcmV0dXJuIGZpdEV4dGVudChhbGJlcnNVc2EsIGV4dGVudCwgb2JqZWN0KTsKKyAgfTsKKwor
ICBhbGJlcnNVc2EuZml0U2l6ZSA9IGZ1bmN0aW9uKHNpemUsIG9iamVjdCkgeworICAgIHJldHVy
biBmaXRTaXplKGFsYmVyc1VzYSwgc2l6ZSwgb2JqZWN0KTsKKyAgfTsKKworICBhbGJlcnNVc2Eu
Zml0V2lkdGggPSBmdW5jdGlvbih3aWR0aCwgb2JqZWN0KSB7CisgICAgcmV0dXJuIGZpdFdpZHRo
KGFsYmVyc1VzYSwgd2lkdGgsIG9iamVjdCk7CisgIH07CisKKyAgYWxiZXJzVXNhLmZpdEhlaWdo
dCA9IGZ1bmN0aW9uKGhlaWdodCwgb2JqZWN0KSB7CisgICAgcmV0dXJuIGZpdEhlaWdodChhbGJl
cnNVc2EsIGhlaWdodCwgb2JqZWN0KTsKKyAgfTsKKworICBmdW5jdGlvbiByZXNldCgpIHsKKyAg
ICBjYWNoZSA9IGNhY2hlU3RyZWFtID0gbnVsbDsKKyAgICByZXR1cm4gYWxiZXJzVXNhOworICB9
CisKKyAgcmV0dXJuIGFsYmVyc1VzYS5zY2FsZSgxMDcwKTsKK30KKworZnVuY3Rpb24gYXppbXV0
aGFsUmF3KHNjYWxlKSB7CisgIHJldHVybiBmdW5jdGlvbih4LCB5KSB7CisgICAgdmFyIGN4ID0g
Y29zJDEoeCksCisgICAgICAgIGN5ID0gY29zJDEoeSksCisgICAgICAgIGsgPSBzY2FsZShjeCAq
IGN5KTsKKyAgICByZXR1cm4gWworICAgICAgayAqIGN5ICogc2luJDEoeCksCisgICAgICBrICog
c2luJDEoeSkKKyAgICBdOworICB9Cit9CisKK2Z1bmN0aW9uIGF6aW11dGhhbEludmVydChhbmds
ZSkgeworICByZXR1cm4gZnVuY3Rpb24oeCwgeSkgeworICAgIHZhciB6ID0gc3FydCh4ICogeCAr
IHkgKiB5KSwKKyAgICAgICAgYyA9IGFuZ2xlKHopLAorICAgICAgICBzYyA9IHNpbiQxKGMpLAor
ICAgICAgICBjYyA9IGNvcyQxKGMpOworICAgIHJldHVybiBbCisgICAgICBhdGFuMih4ICogc2Ms
IHogKiBjYyksCisgICAgICBhc2luKHogJiYgeSAqIHNjIC8geikKKyAgICBdOworICB9Cit9CisK
K3ZhciBhemltdXRoYWxFcXVhbEFyZWFSYXcgPSBhemltdXRoYWxSYXcoZnVuY3Rpb24oY3hjeSkg
eworICByZXR1cm4gc3FydCgyIC8gKDEgKyBjeGN5KSk7Cit9KTsKKworYXppbXV0aGFsRXF1YWxB
cmVhUmF3LmludmVydCA9IGF6aW11dGhhbEludmVydChmdW5jdGlvbih6KSB7CisgIHJldHVybiAy
ICogYXNpbih6IC8gMik7Cit9KTsKKworZnVuY3Rpb24gYXppbXV0aGFsRXF1YWxBcmVhKCkgewor
ICByZXR1cm4gcHJvamVjdGlvbihhemltdXRoYWxFcXVhbEFyZWFSYXcpCisgICAgICAuc2NhbGUo
MTI0Ljc1KQorICAgICAgLmNsaXBBbmdsZSgxODAgLSAxZS0zKTsKK30KKwordmFyIGF6aW11dGhh
bEVxdWlkaXN0YW50UmF3ID0gYXppbXV0aGFsUmF3KGZ1bmN0aW9uKGMpIHsKKyAgcmV0dXJuIChj
ID0gYWNvcyhjKSkgJiYgYyAvIHNpbiQxKGMpOworfSk7CisKK2F6aW11dGhhbEVxdWlkaXN0YW50
UmF3LmludmVydCA9IGF6aW11dGhhbEludmVydChmdW5jdGlvbih6KSB7CisgIHJldHVybiB6Owor
fSk7CisKK2Z1bmN0aW9uIGF6aW11dGhhbEVxdWlkaXN0YW50KCkgeworICByZXR1cm4gcHJvamVj
dGlvbihhemltdXRoYWxFcXVpZGlzdGFudFJhdykKKyAgICAgIC5zY2FsZSg3OS40MTg4KQorICAg
ICAgLmNsaXBBbmdsZSgxODAgLSAxZS0zKTsKK30KKworZnVuY3Rpb24gbWVyY2F0b3JSYXcobGFt
YmRhLCBwaGkpIHsKKyAgcmV0dXJuIFtsYW1iZGEsIGxvZyh0YW4oKGhhbGZQaSQyICsgcGhpKSAv
IDIpKV07Cit9CisKK21lcmNhdG9yUmF3LmludmVydCA9IGZ1bmN0aW9uKHgsIHkpIHsKKyAgcmV0
dXJuIFt4LCAyICogYXRhbihleHAoeSkpIC0gaGFsZlBpJDJdOworfTsKKworZnVuY3Rpb24gbWVy
Y2F0b3IoKSB7CisgIHJldHVybiBtZXJjYXRvclByb2plY3Rpb24obWVyY2F0b3JSYXcpCisgICAg
ICAuc2NhbGUoOTYxIC8gdGF1JDMpOworfQorCitmdW5jdGlvbiBtZXJjYXRvclByb2plY3Rpb24o
cHJvamVjdCkgeworICB2YXIgbSA9IHByb2plY3Rpb24ocHJvamVjdCksCisgICAgICBjZW50ZXIg
PSBtLmNlbnRlciwKKyAgICAgIHNjYWxlID0gbS5zY2FsZSwKKyAgICAgIHRyYW5zbGF0ZSA9IG0u
dHJhbnNsYXRlLAorICAgICAgY2xpcEV4dGVudCA9IG0uY2xpcEV4dGVudCwKKyAgICAgIHgwID0g
bnVsbCwgeTAsIHgxLCB5MTsgLy8gY2xpcCBleHRlbnQKKworICBtLnNjYWxlID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNjYWxlKF8pLCByZWNsaXAoKSkg
OiBzY2FsZSgpOworICB9OworCisgIG0udHJhbnNsYXRlID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRyYW5zbGF0ZShfKSwgcmVjbGlwKCkpIDogdHJhbnNs
YXRlKCk7CisgIH07CisKKyAgbS5jZW50ZXIgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAoY2VudGVyKF8pLCByZWNsaXAoKSkgOiBjZW50ZXIoKTsKKyAgfTsK
KworICBtLmNsaXBFeHRlbnQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoKF8gPT0gbnVsbCA/IHgwID0geTAgPSB4MSA9IHkxID0gbnVsbCA6ICh4MCA9ICtf
WzBdWzBdLCB5MCA9ICtfWzBdWzFdLCB4MSA9ICtfWzFdWzBdLCB5MSA9ICtfWzFdWzFdKSksIHJl
Y2xpcCgpKSA6IHgwID09IG51bGwgPyBudWxsIDogW1t4MCwgeTBdLCBbeDEsIHkxXV07CisgIH07
CisKKyAgZnVuY3Rpb24gcmVjbGlwKCkgeworICAgIHZhciBrID0gcGkkMyAqIHNjYWxlKCksCisg
ICAgICAgIHQgPSBtKHJvdGF0aW9uKG0ucm90YXRlKCkpLmludmVydChbMCwgMF0pKTsKKyAgICBy
ZXR1cm4gY2xpcEV4dGVudCh4MCA9PSBudWxsCisgICAgICAgID8gW1t0WzBdIC0gaywgdFsxXSAt
IGtdLCBbdFswXSArIGssIHRbMV0gKyBrXV0gOiBwcm9qZWN0ID09PSBtZXJjYXRvclJhdworICAg
ICAgICA/IFtbTWF0aC5tYXgodFswXSAtIGssIHgwKSwgeTBdLCBbTWF0aC5taW4odFswXSArIGss
IHgxKSwgeTFdXQorICAgICAgICA6IFtbeDAsIE1hdGgubWF4KHRbMV0gLSBrLCB5MCldLCBbeDEs
IE1hdGgubWluKHRbMV0gKyBrLCB5MSldXSk7CisgIH0KKworICByZXR1cm4gcmVjbGlwKCk7Cit9
CisKK2Z1bmN0aW9uIHRhbnkoeSkgeworICByZXR1cm4gdGFuKChoYWxmUGkkMiArIHkpIC8gMik7
Cit9CisKK2Z1bmN0aW9uIGNvbmljQ29uZm9ybWFsUmF3KHkwLCB5MSkgeworICB2YXIgY3kwID0g
Y29zJDEoeTApLAorICAgICAgbiA9IHkwID09PSB5MSA/IHNpbiQxKHkwKSA6IGxvZyhjeTAgLyBj
b3MkMSh5MSkpIC8gbG9nKHRhbnkoeTEpIC8gdGFueSh5MCkpLAorICAgICAgZiA9IGN5MCAqIHBv
dyh0YW55KHkwKSwgbikgLyBuOworCisgIGlmICghbikgcmV0dXJuIG1lcmNhdG9yUmF3OworCisg
IGZ1bmN0aW9uIHByb2plY3QoeCwgeSkgeworICAgIGlmIChmID4gMCkgeyBpZiAoeSA8IC1oYWxm
UGkkMiArIGVwc2lsb24kMikgeSA9IC1oYWxmUGkkMiArIGVwc2lsb24kMjsgfQorICAgIGVsc2Ug
eyBpZiAoeSA+IGhhbGZQaSQyIC0gZXBzaWxvbiQyKSB5ID0gaGFsZlBpJDIgLSBlcHNpbG9uJDI7
IH0KKyAgICB2YXIgciA9IGYgLyBwb3codGFueSh5KSwgbik7CisgICAgcmV0dXJuIFtyICogc2lu
JDEobiAqIHgpLCBmIC0gciAqIGNvcyQxKG4gKiB4KV07CisgIH0KKworICBwcm9qZWN0LmludmVy
dCA9IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB2YXIgZnkgPSBmIC0geSwgciA9IHNpZ24obikgKiBz
cXJ0KHggKiB4ICsgZnkgKiBmeSk7CisgICAgcmV0dXJuIFthdGFuMih4LCBhYnMoZnkpKSAvIG4g
KiBzaWduKGZ5KSwgMiAqIGF0YW4ocG93KGYgLyByLCAxIC8gbikpIC0gaGFsZlBpJDJdOworICB9
OworCisgIHJldHVybiBwcm9qZWN0OworfQorCitmdW5jdGlvbiBjb25pY0NvbmZvcm1hbCgpIHsK
KyAgcmV0dXJuIGNvbmljUHJvamVjdGlvbihjb25pY0NvbmZvcm1hbFJhdykKKyAgICAgIC5zY2Fs
ZSgxMDkuNSkKKyAgICAgIC5wYXJhbGxlbHMoWzMwLCAzMF0pOworfQorCitmdW5jdGlvbiBlcXVp
cmVjdGFuZ3VsYXJSYXcobGFtYmRhLCBwaGkpIHsKKyAgcmV0dXJuIFtsYW1iZGEsIHBoaV07Cit9
CisKK2VxdWlyZWN0YW5ndWxhclJhdy5pbnZlcnQgPSBlcXVpcmVjdGFuZ3VsYXJSYXc7CisKK2Z1
bmN0aW9uIGVxdWlyZWN0YW5ndWxhcigpIHsKKyAgcmV0dXJuIHByb2plY3Rpb24oZXF1aXJlY3Rh
bmd1bGFyUmF3KQorICAgICAgLnNjYWxlKDE1Mi42Myk7Cit9CisKK2Z1bmN0aW9uIGNvbmljRXF1
aWRpc3RhbnRSYXcoeTAsIHkxKSB7CisgIHZhciBjeTAgPSBjb3MkMSh5MCksCisgICAgICBuID0g
eTAgPT09IHkxID8gc2luJDEoeTApIDogKGN5MCAtIGNvcyQxKHkxKSkgLyAoeTEgLSB5MCksCisg
ICAgICBnID0gY3kwIC8gbiArIHkwOworCisgIGlmIChhYnMobikgPCBlcHNpbG9uJDIpIHJldHVy
biBlcXVpcmVjdGFuZ3VsYXJSYXc7CisKKyAgZnVuY3Rpb24gcHJvamVjdCh4LCB5KSB7CisgICAg
dmFyIGd5ID0gZyAtIHksIG54ID0gbiAqIHg7CisgICAgcmV0dXJuIFtneSAqIHNpbiQxKG54KSwg
ZyAtIGd5ICogY29zJDEobngpXTsKKyAgfQorCisgIHByb2plY3QuaW52ZXJ0ID0gZnVuY3Rpb24o
eCwgeSkgeworICAgIHZhciBneSA9IGcgLSB5OworICAgIHJldHVybiBbYXRhbjIoeCwgYWJzKGd5
KSkgLyBuICogc2lnbihneSksIGcgLSBzaWduKG4pICogc3FydCh4ICogeCArIGd5ICogZ3kpXTsK
KyAgfTsKKworICByZXR1cm4gcHJvamVjdDsKK30KKworZnVuY3Rpb24gY29uaWNFcXVpZGlzdGFu
dCgpIHsKKyAgcmV0dXJuIGNvbmljUHJvamVjdGlvbihjb25pY0VxdWlkaXN0YW50UmF3KQorICAg
ICAgLnNjYWxlKDEzMS4xNTQpCisgICAgICAuY2VudGVyKFswLCAxMy45Mzg5XSk7Cit9CisKK3Zh
ciBBMSA9IDEuMzQwMjY0LAorICAgIEEyID0gLTAuMDgxMTA2LAorICAgIEEzID0gMC4wMDA4OTMs
CisgICAgQTQgPSAwLjAwMzc5NiwKKyAgICBNID0gc3FydCgzKSAvIDIsCisgICAgaXRlcmF0aW9u
cyA9IDEyOworCitmdW5jdGlvbiBlcXVhbEVhcnRoUmF3KGxhbWJkYSwgcGhpKSB7CisgIHZhciBs
ID0gYXNpbihNICogc2luJDEocGhpKSksIGwyID0gbCAqIGwsIGw2ID0gbDIgKiBsMiAqIGwyOwor
ICByZXR1cm4gWworICAgIGxhbWJkYSAqIGNvcyQxKGwpIC8gKE0gKiAoQTEgKyAzICogQTIgKiBs
MiArIGw2ICogKDcgKiBBMyArIDkgKiBBNCAqIGwyKSkpLAorICAgIGwgKiAoQTEgKyBBMiAqIGwy
ICsgbDYgKiAoQTMgKyBBNCAqIGwyKSkKKyAgXTsKK30KKworZXF1YWxFYXJ0aFJhdy5pbnZlcnQg
PSBmdW5jdGlvbih4LCB5KSB7CisgIHZhciBsID0geSwgbDIgPSBsICogbCwgbDYgPSBsMiAqIGwy
ICogbDI7CisgIGZvciAodmFyIGkgPSAwLCBkZWx0YSwgZnksIGZweTsgaSA8IGl0ZXJhdGlvbnM7
ICsraSkgeworICAgIGZ5ID0gbCAqIChBMSArIEEyICogbDIgKyBsNiAqIChBMyArIEE0ICogbDIp
KSAtIHk7CisgICAgZnB5ID0gQTEgKyAzICogQTIgKiBsMiArIGw2ICogKDcgKiBBMyArIDkgKiBB
NCAqIGwyKTsKKyAgICBsIC09IGRlbHRhID0gZnkgLyBmcHksIGwyID0gbCAqIGwsIGw2ID0gbDIg
KiBsMiAqIGwyOworICAgIGlmIChhYnMoZGVsdGEpIDwgZXBzaWxvbjIkMSkgYnJlYWs7CisgIH0K
KyAgcmV0dXJuIFsKKyAgICBNICogeCAqIChBMSArIDMgKiBBMiAqIGwyICsgbDYgKiAoNyAqIEEz
ICsgOSAqIEE0ICogbDIpKSAvIGNvcyQxKGwpLAorICAgIGFzaW4oc2luJDEobCkgLyBNKQorICBd
OworfTsKKworZnVuY3Rpb24gZXF1YWxFYXJ0aCgpIHsKKyAgcmV0dXJuIHByb2plY3Rpb24oZXF1
YWxFYXJ0aFJhdykKKyAgICAgIC5zY2FsZSgxNzcuMTU4KTsKK30KKworZnVuY3Rpb24gZ25vbW9u
aWNSYXcoeCwgeSkgeworICB2YXIgY3kgPSBjb3MkMSh5KSwgayA9IGNvcyQxKHgpICogY3k7Cisg
IHJldHVybiBbY3kgKiBzaW4kMSh4KSAvIGssIHNpbiQxKHkpIC8ga107Cit9CisKK2dub21vbmlj
UmF3LmludmVydCA9IGF6aW11dGhhbEludmVydChhdGFuKTsKKworZnVuY3Rpb24gZ25vbW9uaWMo
KSB7CisgIHJldHVybiBwcm9qZWN0aW9uKGdub21vbmljUmF3KQorICAgICAgLnNjYWxlKDE0NC4w
NDkpCisgICAgICAuY2xpcEFuZ2xlKDYwKTsKK30KKworZnVuY3Rpb24gc2NhbGVUcmFuc2xhdGUk
MShreCwga3ksIHR4LCB0eSkgeworICByZXR1cm4ga3ggPT09IDEgJiYga3kgPT09IDEgJiYgdHgg
PT09IDAgJiYgdHkgPT09IDAgPyBpZGVudGl0eSQ0IDogdHJhbnNmb3JtZXIoeworICAgIHBvaW50
OiBmdW5jdGlvbih4LCB5KSB7CisgICAgICB0aGlzLnN0cmVhbS5wb2ludCh4ICoga3ggKyB0eCwg
eSAqIGt5ICsgdHkpOworICAgIH0KKyAgfSk7Cit9CisKK2Z1bmN0aW9uIGlkZW50aXR5JDUoKSB7
CisgIHZhciBrID0gMSwgdHggPSAwLCB0eSA9IDAsIHN4ID0gMSwgc3kgPSAxLCB0cmFuc2Zvcm0g
PSBpZGVudGl0eSQ0LCAvLyBzY2FsZSwgdHJhbnNsYXRlIGFuZCByZWZsZWN0CisgICAgICB4MCA9
IG51bGwsIHkwLCB4MSwgeTEsIC8vIGNsaXAgZXh0ZW50CisgICAgICBwb3N0Y2xpcCA9IGlkZW50
aXR5JDQsCisgICAgICBjYWNoZSwKKyAgICAgIGNhY2hlU3RyZWFtLAorICAgICAgcHJvamVjdGlv
bjsKKworICBmdW5jdGlvbiByZXNldCgpIHsKKyAgICBjYWNoZSA9IGNhY2hlU3RyZWFtID0gbnVs
bDsKKyAgICByZXR1cm4gcHJvamVjdGlvbjsKKyAgfQorCisgIHJldHVybiBwcm9qZWN0aW9uID0g
eworICAgIHN0cmVhbTogZnVuY3Rpb24oc3RyZWFtKSB7CisgICAgICByZXR1cm4gY2FjaGUgJiYg
Y2FjaGVTdHJlYW0gPT09IHN0cmVhbSA/IGNhY2hlIDogY2FjaGUgPSB0cmFuc2Zvcm0ocG9zdGNs
aXAoY2FjaGVTdHJlYW0gPSBzdHJlYW0pKTsKKyAgICB9LAorICAgIHBvc3RjbGlwOiBmdW5jdGlv
bihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwb3N0Y2xpcCA9IF8sIHgw
ID0geTAgPSB4MSA9IHkxID0gbnVsbCwgcmVzZXQoKSkgOiBwb3N0Y2xpcDsKKyAgICB9LAorICAg
IGNsaXBFeHRlbnQ6IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKHBvc3RjbGlwID0gXyA9PSBudWxsID8gKHgwID0geTAgPSB4MSA9IHkxID0gbnVsbCwgaWRl
bnRpdHkkNCkgOiBjbGlwUmVjdGFuZ2xlKHgwID0gK19bMF1bMF0sIHkwID0gK19bMF1bMV0sIHgx
ID0gK19bMV1bMF0sIHkxID0gK19bMV1bMV0pLCByZXNldCgpKSA6IHgwID09IG51bGwgPyBudWxs
IDogW1t4MCwgeTBdLCBbeDEsIHkxXV07CisgICAgfSwKKyAgICBzY2FsZTogZnVuY3Rpb24oXykg
eworICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodHJhbnNmb3JtID0gc2NhbGVUcmFu
c2xhdGUkMSgoayA9ICtfKSAqIHN4LCBrICogc3ksIHR4LCB0eSksIHJlc2V0KCkpIDogazsKKyAg
ICB9LAorICAgIHRyYW5zbGF0ZTogZnVuY3Rpb24oXykgeworICAgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAodHJhbnNmb3JtID0gc2NhbGVUcmFuc2xhdGUkMShrICogc3gsIGsgKiBzeSwg
dHggPSArX1swXSwgdHkgPSArX1sxXSksIHJlc2V0KCkpIDogW3R4LCB0eV07CisgICAgfSwKKyAg
ICByZWZsZWN0WDogZnVuY3Rpb24oXykgeworICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PyAodHJhbnNmb3JtID0gc2NhbGVUcmFuc2xhdGUkMShrICogKHN4ID0gXyA/IC0xIDogMSksIGsg
KiBzeSwgdHgsIHR5KSwgcmVzZXQoKSkgOiBzeCA8IDA7CisgICAgfSwKKyAgICByZWZsZWN0WTog
ZnVuY3Rpb24oXykgeworICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodHJhbnNmb3Jt
ID0gc2NhbGVUcmFuc2xhdGUkMShrICogc3gsIGsgKiAoc3kgPSBfID8gLTEgOiAxKSwgdHgsIHR5
KSwgcmVzZXQoKSkgOiBzeSA8IDA7CisgICAgfSwKKyAgICBmaXRFeHRlbnQ6IGZ1bmN0aW9uKGV4
dGVudCwgb2JqZWN0KSB7CisgICAgICByZXR1cm4gZml0RXh0ZW50KHByb2plY3Rpb24sIGV4dGVu
dCwgb2JqZWN0KTsKKyAgICB9LAorICAgIGZpdFNpemU6IGZ1bmN0aW9uKHNpemUsIG9iamVjdCkg
eworICAgICAgcmV0dXJuIGZpdFNpemUocHJvamVjdGlvbiwgc2l6ZSwgb2JqZWN0KTsKKyAgICB9
LAorICAgIGZpdFdpZHRoOiBmdW5jdGlvbih3aWR0aCwgb2JqZWN0KSB7CisgICAgICByZXR1cm4g
Zml0V2lkdGgocHJvamVjdGlvbiwgd2lkdGgsIG9iamVjdCk7CisgICAgfSwKKyAgICBmaXRIZWln
aHQ6IGZ1bmN0aW9uKGhlaWdodCwgb2JqZWN0KSB7CisgICAgICByZXR1cm4gZml0SGVpZ2h0KHBy
b2plY3Rpb24sIGhlaWdodCwgb2JqZWN0KTsKKyAgICB9CisgIH07Cit9CisKK2Z1bmN0aW9uIG5h
dHVyYWxFYXJ0aDFSYXcobGFtYmRhLCBwaGkpIHsKKyAgdmFyIHBoaTIgPSBwaGkgKiBwaGksIHBo
aTQgPSBwaGkyICogcGhpMjsKKyAgcmV0dXJuIFsKKyAgICBsYW1iZGEgKiAoMC44NzA3IC0gMC4x
MzE5NzkgKiBwaGkyICsgcGhpNCAqICgtMC4wMTM3OTEgKyBwaGk0ICogKDAuMDAzOTcxICogcGhp
MiAtIDAuMDAxNTI5ICogcGhpNCkpKSwKKyAgICBwaGkgKiAoMS4wMDcyMjYgKyBwaGkyICogKDAu
MDE1MDg1ICsgcGhpNCAqICgtMC4wNDQ0NzUgKyAwLjAyODg3NCAqIHBoaTIgLSAwLjAwNTkxNiAq
IHBoaTQpKSkKKyAgXTsKK30KKworbmF0dXJhbEVhcnRoMVJhdy5pbnZlcnQgPSBmdW5jdGlvbih4
LCB5KSB7CisgIHZhciBwaGkgPSB5LCBpID0gMjUsIGRlbHRhOworICBkbyB7CisgICAgdmFyIHBo
aTIgPSBwaGkgKiBwaGksIHBoaTQgPSBwaGkyICogcGhpMjsKKyAgICBwaGkgLT0gZGVsdGEgPSAo
cGhpICogKDEuMDA3MjI2ICsgcGhpMiAqICgwLjAxNTA4NSArIHBoaTQgKiAoLTAuMDQ0NDc1ICsg
MC4wMjg4NzQgKiBwaGkyIC0gMC4wMDU5MTYgKiBwaGk0KSkpIC0geSkgLworICAgICAgICAoMS4w
MDcyMjYgKyBwaGkyICogKDAuMDE1MDg1ICogMyArIHBoaTQgKiAoLTAuMDQ0NDc1ICogNyArIDAu
MDI4ODc0ICogOSAqIHBoaTIgLSAwLjAwNTkxNiAqIDExICogcGhpNCkpKTsKKyAgfSB3aGlsZSAo
YWJzKGRlbHRhKSA+IGVwc2lsb24kMiAmJiAtLWkgPiAwKTsKKyAgcmV0dXJuIFsKKyAgICB4IC8g
KDAuODcwNyArIChwaGkyID0gcGhpICogcGhpKSAqICgtMC4xMzE5NzkgKyBwaGkyICogKC0wLjAx
Mzc5MSArIHBoaTIgKiBwaGkyICogcGhpMiAqICgwLjAwMzk3MSAtIDAuMDAxNTI5ICogcGhpMikp
KSksCisgICAgcGhpCisgIF07Cit9OworCitmdW5jdGlvbiBuYXR1cmFsRWFydGgxKCkgeworICBy
ZXR1cm4gcHJvamVjdGlvbihuYXR1cmFsRWFydGgxUmF3KQorICAgICAgLnNjYWxlKDE3NS4yOTUp
OworfQorCitmdW5jdGlvbiBvcnRob2dyYXBoaWNSYXcoeCwgeSkgeworICByZXR1cm4gW2NvcyQx
KHkpICogc2luJDEoeCksIHNpbiQxKHkpXTsKK30KKworb3J0aG9ncmFwaGljUmF3LmludmVydCA9
IGF6aW11dGhhbEludmVydChhc2luKTsKKworZnVuY3Rpb24gb3J0aG9ncmFwaGljKCkgeworICBy
ZXR1cm4gcHJvamVjdGlvbihvcnRob2dyYXBoaWNSYXcpCisgICAgICAuc2NhbGUoMjQ5LjUpCisg
ICAgICAuY2xpcEFuZ2xlKDkwICsgZXBzaWxvbiQyKTsKK30KKworZnVuY3Rpb24gc3RlcmVvZ3Jh
cGhpY1Jhdyh4LCB5KSB7CisgIHZhciBjeSA9IGNvcyQxKHkpLCBrID0gMSArIGNvcyQxKHgpICog
Y3k7CisgIHJldHVybiBbY3kgKiBzaW4kMSh4KSAvIGssIHNpbiQxKHkpIC8ga107Cit9CisKK3N0
ZXJlb2dyYXBoaWNSYXcuaW52ZXJ0ID0gYXppbXV0aGFsSW52ZXJ0KGZ1bmN0aW9uKHopIHsKKyAg
cmV0dXJuIDIgKiBhdGFuKHopOworfSk7CisKK2Z1bmN0aW9uIHN0ZXJlb2dyYXBoaWMoKSB7Cisg
IHJldHVybiBwcm9qZWN0aW9uKHN0ZXJlb2dyYXBoaWNSYXcpCisgICAgICAuc2NhbGUoMjUwKQor
ICAgICAgLmNsaXBBbmdsZSgxNDIpOworfQorCitmdW5jdGlvbiB0cmFuc3ZlcnNlTWVyY2F0b3JS
YXcobGFtYmRhLCBwaGkpIHsKKyAgcmV0dXJuIFtsb2codGFuKChoYWxmUGkkMiArIHBoaSkgLyAy
KSksIC1sYW1iZGFdOworfQorCit0cmFuc3ZlcnNlTWVyY2F0b3JSYXcuaW52ZXJ0ID0gZnVuY3Rp
b24oeCwgeSkgeworICByZXR1cm4gWy15LCAyICogYXRhbihleHAoeCkpIC0gaGFsZlBpJDJdOwor
fTsKKworZnVuY3Rpb24gdHJhbnN2ZXJzZU1lcmNhdG9yKCkgeworICB2YXIgbSA9IG1lcmNhdG9y
UHJvamVjdGlvbih0cmFuc3ZlcnNlTWVyY2F0b3JSYXcpLAorICAgICAgY2VudGVyID0gbS5jZW50
ZXIsCisgICAgICByb3RhdGUgPSBtLnJvdGF0ZTsKKworICBtLmNlbnRlciA9IGZ1bmN0aW9uKF8p
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IGNlbnRlcihbLV9bMV0sIF9bMF1dKSA6
IChfID0gY2VudGVyKCksIFtfWzFdLCAtX1swXV0pOworICB9OworCisgIG0ucm90YXRlID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gcm90YXRlKFtfWzBdLCBf
WzFdLCBfLmxlbmd0aCA+IDIgPyBfWzJdICsgOTAgOiA5MF0pIDogKF8gPSByb3RhdGUoKSwgW19b
MF0sIF9bMV0sIF9bMl0gLSA5MF0pOworICB9OworCisgIHJldHVybiByb3RhdGUoWzAsIDAsIDkw
XSkKKyAgICAgIC5zY2FsZSgxNTkuMTU1KTsKK30KKworZnVuY3Rpb24gZGVmYXVsdFNlcGFyYXRp
b24oYSwgYikgeworICByZXR1cm4gYS5wYXJlbnQgPT09IGIucGFyZW50ID8gMSA6IDI7Cit9CisK
K2Z1bmN0aW9uIG1lYW5YKGNoaWxkcmVuKSB7CisgIHJldHVybiBjaGlsZHJlbi5yZWR1Y2UobWVh
blhSZWR1Y2UsIDApIC8gY2hpbGRyZW4ubGVuZ3RoOworfQorCitmdW5jdGlvbiBtZWFuWFJlZHVj
ZSh4LCBjKSB7CisgIHJldHVybiB4ICsgYy54OworfQorCitmdW5jdGlvbiBtYXhZKGNoaWxkcmVu
KSB7CisgIHJldHVybiAxICsgY2hpbGRyZW4ucmVkdWNlKG1heFlSZWR1Y2UsIDApOworfQorCitm
dW5jdGlvbiBtYXhZUmVkdWNlKHksIGMpIHsKKyAgcmV0dXJuIE1hdGgubWF4KHksIGMueSk7Cit9
CisKK2Z1bmN0aW9uIGxlYWZMZWZ0KG5vZGUpIHsKKyAgdmFyIGNoaWxkcmVuOworICB3aGlsZSAo
Y2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuKSBub2RlID0gY2hpbGRyZW5bMF07CisgIHJldHVybiBu
b2RlOworfQorCitmdW5jdGlvbiBsZWFmUmlnaHQobm9kZSkgeworICB2YXIgY2hpbGRyZW47Cisg
IHdoaWxlIChjaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW4pIG5vZGUgPSBjaGlsZHJlbltjaGlsZHJl
bi5sZW5ndGggLSAxXTsKKyAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIGNsdXN0ZXIoKSB7
CisgIHZhciBzZXBhcmF0aW9uID0gZGVmYXVsdFNlcGFyYXRpb24sCisgICAgICBkeCA9IDEsCisg
ICAgICBkeSA9IDEsCisgICAgICBub2RlU2l6ZSA9IGZhbHNlOworCisgIGZ1bmN0aW9uIGNsdXN0
ZXIocm9vdCkgeworICAgIHZhciBwcmV2aW91c05vZGUsCisgICAgICAgIHggPSAwOworCisgICAg
Ly8gRmlyc3Qgd2FsaywgY29tcHV0aW5nIHRoZSBpbml0aWFsIHggJiB5IHZhbHVlcy4KKyAgICBy
b290LmVhY2hBZnRlcihmdW5jdGlvbihub2RlKSB7CisgICAgICB2YXIgY2hpbGRyZW4gPSBub2Rl
LmNoaWxkcmVuOworICAgICAgaWYgKGNoaWxkcmVuKSB7CisgICAgICAgIG5vZGUueCA9IG1lYW5Y
KGNoaWxkcmVuKTsKKyAgICAgICAgbm9kZS55ID0gbWF4WShjaGlsZHJlbik7CisgICAgICB9IGVs
c2UgeworICAgICAgICBub2RlLnggPSBwcmV2aW91c05vZGUgPyB4ICs9IHNlcGFyYXRpb24obm9k
ZSwgcHJldmlvdXNOb2RlKSA6IDA7CisgICAgICAgIG5vZGUueSA9IDA7CisgICAgICAgIHByZXZp
b3VzTm9kZSA9IG5vZGU7CisgICAgICB9CisgICAgfSk7CisKKyAgICB2YXIgbGVmdCA9IGxlYWZM
ZWZ0KHJvb3QpLAorICAgICAgICByaWdodCA9IGxlYWZSaWdodChyb290KSwKKyAgICAgICAgeDAg
PSBsZWZ0LnggLSBzZXBhcmF0aW9uKGxlZnQsIHJpZ2h0KSAvIDIsCisgICAgICAgIHgxID0gcmln
aHQueCArIHNlcGFyYXRpb24ocmlnaHQsIGxlZnQpIC8gMjsKKworICAgIC8vIFNlY29uZCB3YWxr
LCBub3JtYWxpemluZyB4ICYgeSB0byB0aGUgZGVzaXJlZCBzaXplLgorICAgIHJldHVybiByb290
LmVhY2hBZnRlcihub2RlU2l6ZSA/IGZ1bmN0aW9uKG5vZGUpIHsKKyAgICAgIG5vZGUueCA9IChu
b2RlLnggLSByb290LngpICogZHg7CisgICAgICBub2RlLnkgPSAocm9vdC55IC0gbm9kZS55KSAq
IGR5OworICAgIH0gOiBmdW5jdGlvbihub2RlKSB7CisgICAgICBub2RlLnggPSAobm9kZS54IC0g
eDApIC8gKHgxIC0geDApICogZHg7CisgICAgICBub2RlLnkgPSAoMSAtIChyb290LnkgPyBub2Rl
LnkgLyByb290LnkgOiAxKSkgKiBkeTsKKyAgICB9KTsKKyAgfQorCisgIGNsdXN0ZXIuc2VwYXJh
dGlvbiA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzZXBh
cmF0aW9uID0geCwgY2x1c3RlcikgOiBzZXBhcmF0aW9uOworICB9OworCisgIGNsdXN0ZXIuc2l6
ZSA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChub2RlU2l6
ZSA9IGZhbHNlLCBkeCA9ICt4WzBdLCBkeSA9ICt4WzFdLCBjbHVzdGVyKSA6IChub2RlU2l6ZSA/
IG51bGwgOiBbZHgsIGR5XSk7CisgIH07CisKKyAgY2x1c3Rlci5ub2RlU2l6ZSA9IGZ1bmN0aW9u
KHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChub2RlU2l6ZSA9IHRydWUsIGR4
ID0gK3hbMF0sIGR5ID0gK3hbMV0sIGNsdXN0ZXIpIDogKG5vZGVTaXplID8gW2R4LCBkeV0gOiBu
dWxsKTsKKyAgfTsKKworICByZXR1cm4gY2x1c3RlcjsKK30KKworZnVuY3Rpb24gY291bnQobm9k
ZSkgeworICB2YXIgc3VtID0gMCwKKyAgICAgIGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbiwKKyAg
ICAgIGkgPSBjaGlsZHJlbiAmJiBjaGlsZHJlbi5sZW5ndGg7CisgIGlmICghaSkgc3VtID0gMTsK
KyAgZWxzZSB3aGlsZSAoLS1pID49IDApIHN1bSArPSBjaGlsZHJlbltpXS52YWx1ZTsKKyAgbm9k
ZS52YWx1ZSA9IHN1bTsKK30KKworZnVuY3Rpb24gbm9kZV9jb3VudCgpIHsKKyAgcmV0dXJuIHRo
aXMuZWFjaEFmdGVyKGNvdW50KTsKK30KKworZnVuY3Rpb24gbm9kZV9lYWNoKGNhbGxiYWNrKSB7
CisgIHZhciBub2RlID0gdGhpcywgY3VycmVudCwgbmV4dCA9IFtub2RlXSwgY2hpbGRyZW4sIGks
IG47CisgIGRvIHsKKyAgICBjdXJyZW50ID0gbmV4dC5yZXZlcnNlKCksIG5leHQgPSBbXTsKKyAg
ICB3aGlsZSAobm9kZSA9IGN1cnJlbnQucG9wKCkpIHsKKyAgICAgIGNhbGxiYWNrKG5vZGUpLCBj
aGlsZHJlbiA9IG5vZGUuY2hpbGRyZW47CisgICAgICBpZiAoY2hpbGRyZW4pIGZvciAoaSA9IDAs
IG4gPSBjaGlsZHJlbi5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgbmV4dC5wdXNoKGNo
aWxkcmVuW2ldKTsKKyAgICAgIH0KKyAgICB9CisgIH0gd2hpbGUgKG5leHQubGVuZ3RoKTsKKyAg
cmV0dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9uIG5vZGVfZWFjaEJlZm9yZShjYWxsYmFjaykgewor
ICB2YXIgbm9kZSA9IHRoaXMsIG5vZGVzID0gW25vZGVdLCBjaGlsZHJlbiwgaTsKKyAgd2hpbGUg
KG5vZGUgPSBub2Rlcy5wb3AoKSkgeworICAgIGNhbGxiYWNrKG5vZGUpLCBjaGlsZHJlbiA9IG5v
ZGUuY2hpbGRyZW47CisgICAgaWYgKGNoaWxkcmVuKSBmb3IgKGkgPSBjaGlsZHJlbi5sZW5ndGgg
LSAxOyBpID49IDA7IC0taSkgeworICAgICAgbm9kZXMucHVzaChjaGlsZHJlbltpXSk7CisgICAg
fQorICB9CisgIHJldHVybiB0aGlzOworfQorCitmdW5jdGlvbiBub2RlX2VhY2hBZnRlcihjYWxs
YmFjaykgeworICB2YXIgbm9kZSA9IHRoaXMsIG5vZGVzID0gW25vZGVdLCBuZXh0ID0gW10sIGNo
aWxkcmVuLCBpLCBuOworICB3aGlsZSAobm9kZSA9IG5vZGVzLnBvcCgpKSB7CisgICAgbmV4dC5w
dXNoKG5vZGUpLCBjaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW47CisgICAgaWYgKGNoaWxkcmVuKSBm
b3IgKGkgPSAwLCBuID0gY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgICBub2Rl
cy5wdXNoKGNoaWxkcmVuW2ldKTsKKyAgICB9CisgIH0KKyAgd2hpbGUgKG5vZGUgPSBuZXh0LnBv
cCgpKSB7CisgICAgY2FsbGJhY2sobm9kZSk7CisgIH0KKyAgcmV0dXJuIHRoaXM7Cit9CisKK2Z1
bmN0aW9uIG5vZGVfc3VtKHZhbHVlKSB7CisgIHJldHVybiB0aGlzLmVhY2hBZnRlcihmdW5jdGlv
bihub2RlKSB7CisgICAgdmFyIHN1bSA9ICt2YWx1ZShub2RlLmRhdGEpIHx8IDAsCisgICAgICAg
IGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbiwKKyAgICAgICAgaSA9IGNoaWxkcmVuICYmIGNoaWxk
cmVuLmxlbmd0aDsKKyAgICB3aGlsZSAoLS1pID49IDApIHN1bSArPSBjaGlsZHJlbltpXS52YWx1
ZTsKKyAgICBub2RlLnZhbHVlID0gc3VtOworICB9KTsKK30KKworZnVuY3Rpb24gbm9kZV9zb3J0
KGNvbXBhcmUpIHsKKyAgcmV0dXJuIHRoaXMuZWFjaEJlZm9yZShmdW5jdGlvbihub2RlKSB7Cisg
ICAgaWYgKG5vZGUuY2hpbGRyZW4pIHsKKyAgICAgIG5vZGUuY2hpbGRyZW4uc29ydChjb21wYXJl
KTsKKyAgICB9CisgIH0pOworfQorCitmdW5jdGlvbiBub2RlX3BhdGgoZW5kKSB7CisgIHZhciBz
dGFydCA9IHRoaXMsCisgICAgICBhbmNlc3RvciA9IGxlYXN0Q29tbW9uQW5jZXN0b3Ioc3RhcnQs
IGVuZCksCisgICAgICBub2RlcyA9IFtzdGFydF07CisgIHdoaWxlIChzdGFydCAhPT0gYW5jZXN0
b3IpIHsKKyAgICBzdGFydCA9IHN0YXJ0LnBhcmVudDsKKyAgICBub2Rlcy5wdXNoKHN0YXJ0KTsK
KyAgfQorICB2YXIgayA9IG5vZGVzLmxlbmd0aDsKKyAgd2hpbGUgKGVuZCAhPT0gYW5jZXN0b3Ip
IHsKKyAgICBub2Rlcy5zcGxpY2UoaywgMCwgZW5kKTsKKyAgICBlbmQgPSBlbmQucGFyZW50Owor
ICB9CisgIHJldHVybiBub2RlczsKK30KKworZnVuY3Rpb24gbGVhc3RDb21tb25BbmNlc3Rvcihh
LCBiKSB7CisgIGlmIChhID09PSBiKSByZXR1cm4gYTsKKyAgdmFyIGFOb2RlcyA9IGEuYW5jZXN0
b3JzKCksCisgICAgICBiTm9kZXMgPSBiLmFuY2VzdG9ycygpLAorICAgICAgYyA9IG51bGw7Cisg
IGEgPSBhTm9kZXMucG9wKCk7CisgIGIgPSBiTm9kZXMucG9wKCk7CisgIHdoaWxlIChhID09PSBi
KSB7CisgICAgYyA9IGE7CisgICAgYSA9IGFOb2Rlcy5wb3AoKTsKKyAgICBiID0gYk5vZGVzLnBv
cCgpOworICB9CisgIHJldHVybiBjOworfQorCitmdW5jdGlvbiBub2RlX2FuY2VzdG9ycygpIHsK
KyAgdmFyIG5vZGUgPSB0aGlzLCBub2RlcyA9IFtub2RlXTsKKyAgd2hpbGUgKG5vZGUgPSBub2Rl
LnBhcmVudCkgeworICAgIG5vZGVzLnB1c2gobm9kZSk7CisgIH0KKyAgcmV0dXJuIG5vZGVzOwor
fQorCitmdW5jdGlvbiBub2RlX2Rlc2NlbmRhbnRzKCkgeworICB2YXIgbm9kZXMgPSBbXTsKKyAg
dGhpcy5lYWNoKGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBub2Rlcy5wdXNoKG5vZGUpOworICB9KTsK
KyAgcmV0dXJuIG5vZGVzOworfQorCitmdW5jdGlvbiBub2RlX2xlYXZlcygpIHsKKyAgdmFyIGxl
YXZlcyA9IFtdOworICB0aGlzLmVhY2hCZWZvcmUoZnVuY3Rpb24obm9kZSkgeworICAgIGlmICgh
bm9kZS5jaGlsZHJlbikgeworICAgICAgbGVhdmVzLnB1c2gobm9kZSk7CisgICAgfQorICB9KTsK
KyAgcmV0dXJuIGxlYXZlczsKK30KKworZnVuY3Rpb24gbm9kZV9saW5rcygpIHsKKyAgdmFyIHJv
b3QgPSB0aGlzLCBsaW5rcyA9IFtdOworICByb290LmVhY2goZnVuY3Rpb24obm9kZSkgeworICAg
IGlmIChub2RlICE9PSByb290KSB7IC8vIERvbuKAmXQgaW5jbHVkZSB0aGUgcm9vdOKAmXMgcGFy
ZW50LCBpZiBhbnkuCisgICAgICBsaW5rcy5wdXNoKHtzb3VyY2U6IG5vZGUucGFyZW50LCB0YXJn
ZXQ6IG5vZGV9KTsKKyAgICB9CisgIH0pOworICByZXR1cm4gbGlua3M7Cit9CisKK2Z1bmN0aW9u
IGhpZXJhcmNoeShkYXRhLCBjaGlsZHJlbikgeworICB2YXIgcm9vdCA9IG5ldyBOb2RlKGRhdGEp
LAorICAgICAgdmFsdWVkID0gK2RhdGEudmFsdWUgJiYgKHJvb3QudmFsdWUgPSBkYXRhLnZhbHVl
KSwKKyAgICAgIG5vZGUsCisgICAgICBub2RlcyA9IFtyb290XSwKKyAgICAgIGNoaWxkLAorICAg
ICAgY2hpbGRzLAorICAgICAgaSwKKyAgICAgIG47CisKKyAgaWYgKGNoaWxkcmVuID09IG51bGwp
IGNoaWxkcmVuID0gZGVmYXVsdENoaWxkcmVuOworCisgIHdoaWxlIChub2RlID0gbm9kZXMucG9w
KCkpIHsKKyAgICBpZiAodmFsdWVkKSBub2RlLnZhbHVlID0gK25vZGUuZGF0YS52YWx1ZTsKKyAg
ICBpZiAoKGNoaWxkcyA9IGNoaWxkcmVuKG5vZGUuZGF0YSkpICYmIChuID0gY2hpbGRzLmxlbmd0
aCkpIHsKKyAgICAgIG5vZGUuY2hpbGRyZW4gPSBuZXcgQXJyYXkobik7CisgICAgICBmb3IgKGkg
PSBuIC0gMTsgaSA+PSAwOyAtLWkpIHsKKyAgICAgICAgbm9kZXMucHVzaChjaGlsZCA9IG5vZGUu
Y2hpbGRyZW5baV0gPSBuZXcgTm9kZShjaGlsZHNbaV0pKTsKKyAgICAgICAgY2hpbGQucGFyZW50
ID0gbm9kZTsKKyAgICAgICAgY2hpbGQuZGVwdGggPSBub2RlLmRlcHRoICsgMTsKKyAgICAgIH0K
KyAgICB9CisgIH0KKworICByZXR1cm4gcm9vdC5lYWNoQmVmb3JlKGNvbXB1dGVIZWlnaHQpOwor
fQorCitmdW5jdGlvbiBub2RlX2NvcHkoKSB7CisgIHJldHVybiBoaWVyYXJjaHkodGhpcykuZWFj
aEJlZm9yZShjb3B5RGF0YSk7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRDaGlsZHJlbihkKSB7Cisg
IHJldHVybiBkLmNoaWxkcmVuOworfQorCitmdW5jdGlvbiBjb3B5RGF0YShub2RlKSB7CisgIG5v
ZGUuZGF0YSA9IG5vZGUuZGF0YS5kYXRhOworfQorCitmdW5jdGlvbiBjb21wdXRlSGVpZ2h0KG5v
ZGUpIHsKKyAgdmFyIGhlaWdodCA9IDA7CisgIGRvIG5vZGUuaGVpZ2h0ID0gaGVpZ2h0OworICB3
aGlsZSAoKG5vZGUgPSBub2RlLnBhcmVudCkgJiYgKG5vZGUuaGVpZ2h0IDwgKytoZWlnaHQpKTsK
K30KKworZnVuY3Rpb24gTm9kZShkYXRhKSB7CisgIHRoaXMuZGF0YSA9IGRhdGE7CisgIHRoaXMu
ZGVwdGggPQorICB0aGlzLmhlaWdodCA9IDA7CisgIHRoaXMucGFyZW50ID0gbnVsbDsKK30KKwor
Tm9kZS5wcm90b3R5cGUgPSBoaWVyYXJjaHkucHJvdG90eXBlID0geworICBjb25zdHJ1Y3Rvcjog
Tm9kZSwKKyAgY291bnQ6IG5vZGVfY291bnQsCisgIGVhY2g6IG5vZGVfZWFjaCwKKyAgZWFjaEFm
dGVyOiBub2RlX2VhY2hBZnRlciwKKyAgZWFjaEJlZm9yZTogbm9kZV9lYWNoQmVmb3JlLAorICBz
dW06IG5vZGVfc3VtLAorICBzb3J0OiBub2RlX3NvcnQsCisgIHBhdGg6IG5vZGVfcGF0aCwKKyAg
YW5jZXN0b3JzOiBub2RlX2FuY2VzdG9ycywKKyAgZGVzY2VuZGFudHM6IG5vZGVfZGVzY2VuZGFu
dHMsCisgIGxlYXZlczogbm9kZV9sZWF2ZXMsCisgIGxpbmtzOiBub2RlX2xpbmtzLAorICBjb3B5
OiBub2RlX2NvcHkKK307CisKK3ZhciBzbGljZSQ0ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwor
CitmdW5jdGlvbiBzaHVmZmxlJDEoYXJyYXkpIHsKKyAgdmFyIG0gPSBhcnJheS5sZW5ndGgsCisg
ICAgICB0LAorICAgICAgaTsKKworICB3aGlsZSAobSkgeworICAgIGkgPSBNYXRoLnJhbmRvbSgp
ICogbS0tIHwgMDsKKyAgICB0ID0gYXJyYXlbbV07CisgICAgYXJyYXlbbV0gPSBhcnJheVtpXTsK
KyAgICBhcnJheVtpXSA9IHQ7CisgIH0KKworICByZXR1cm4gYXJyYXk7Cit9CisKK2Z1bmN0aW9u
IGVuY2xvc2UoY2lyY2xlcykgeworICB2YXIgaSA9IDAsIG4gPSAoY2lyY2xlcyA9IHNodWZmbGUk
MShzbGljZSQ0LmNhbGwoY2lyY2xlcykpKS5sZW5ndGgsIEIgPSBbXSwgcCwgZTsKKworICB3aGls
ZSAoaSA8IG4pIHsKKyAgICBwID0gY2lyY2xlc1tpXTsKKyAgICBpZiAoZSAmJiBlbmNsb3Nlc1dl
YWsoZSwgcCkpICsraTsKKyAgICBlbHNlIGUgPSBlbmNsb3NlQmFzaXMoQiA9IGV4dGVuZEJhc2lz
KEIsIHApKSwgaSA9IDA7CisgIH0KKworICByZXR1cm4gZTsKK30KKworZnVuY3Rpb24gZXh0ZW5k
QmFzaXMoQiwgcCkgeworICB2YXIgaSwgajsKKworICBpZiAoZW5jbG9zZXNXZWFrQWxsKHAsIEIp
KSByZXR1cm4gW3BdOworCisgIC8vIElmIHdlIGdldCBoZXJlIHRoZW4gQiBtdXN0IGhhdmUgYXQg
bGVhc3Qgb25lIGVsZW1lbnQuCisgIGZvciAoaSA9IDA7IGkgPCBCLmxlbmd0aDsgKytpKSB7Cisg
ICAgaWYgKGVuY2xvc2VzTm90KHAsIEJbaV0pCisgICAgICAgICYmIGVuY2xvc2VzV2Vha0FsbChl
bmNsb3NlQmFzaXMyKEJbaV0sIHApLCBCKSkgeworICAgICAgcmV0dXJuIFtCW2ldLCBwXTsKKyAg
ICB9CisgIH0KKworICAvLyBJZiB3ZSBnZXQgaGVyZSB0aGVuIEIgbXVzdCBoYXZlIGF0IGxlYXN0
IHR3byBlbGVtZW50cy4KKyAgZm9yIChpID0gMDsgaSA8IEIubGVuZ3RoIC0gMTsgKytpKSB7Cisg
ICAgZm9yIChqID0gaSArIDE7IGogPCBCLmxlbmd0aDsgKytqKSB7CisgICAgICBpZiAoZW5jbG9z
ZXNOb3QoZW5jbG9zZUJhc2lzMihCW2ldLCBCW2pdKSwgcCkKKyAgICAgICAgICAmJiBlbmNsb3Nl
c05vdChlbmNsb3NlQmFzaXMyKEJbaV0sIHApLCBCW2pdKQorICAgICAgICAgICYmIGVuY2xvc2Vz
Tm90KGVuY2xvc2VCYXNpczIoQltqXSwgcCksIEJbaV0pCisgICAgICAgICAgJiYgZW5jbG9zZXNX
ZWFrQWxsKGVuY2xvc2VCYXNpczMoQltpXSwgQltqXSwgcCksIEIpKSB7CisgICAgICAgIHJldHVy
biBbQltpXSwgQltqXSwgcF07CisgICAgICB9CisgICAgfQorICB9CisKKyAgLy8gSWYgd2UgZ2V0
IGhlcmUgdGhlbiBzb21ldGhpbmcgaXMgdmVyeSB3cm9uZy4KKyAgdGhyb3cgbmV3IEVycm9yOwor
fQorCitmdW5jdGlvbiBlbmNsb3Nlc05vdChhLCBiKSB7CisgIHZhciBkciA9IGEuciAtIGIuciwg
ZHggPSBiLnggLSBhLngsIGR5ID0gYi55IC0gYS55OworICByZXR1cm4gZHIgPCAwIHx8IGRyICog
ZHIgPCBkeCAqIGR4ICsgZHkgKiBkeTsKK30KKworZnVuY3Rpb24gZW5jbG9zZXNXZWFrKGEsIGIp
IHsKKyAgdmFyIGRyID0gYS5yIC0gYi5yICsgMWUtNiwgZHggPSBiLnggLSBhLngsIGR5ID0gYi55
IC0gYS55OworICByZXR1cm4gZHIgPiAwICYmIGRyICogZHIgPiBkeCAqIGR4ICsgZHkgKiBkeTsK
K30KKworZnVuY3Rpb24gZW5jbG9zZXNXZWFrQWxsKGEsIEIpIHsKKyAgZm9yICh2YXIgaSA9IDA7
IGkgPCBCLmxlbmd0aDsgKytpKSB7CisgICAgaWYgKCFlbmNsb3Nlc1dlYWsoYSwgQltpXSkpIHsK
KyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHRydWU7Cit9CisKK2Z1
bmN0aW9uIGVuY2xvc2VCYXNpcyhCKSB7CisgIHN3aXRjaCAoQi5sZW5ndGgpIHsKKyAgICBjYXNl
IDE6IHJldHVybiBlbmNsb3NlQmFzaXMxKEJbMF0pOworICAgIGNhc2UgMjogcmV0dXJuIGVuY2xv
c2VCYXNpczIoQlswXSwgQlsxXSk7CisgICAgY2FzZSAzOiByZXR1cm4gZW5jbG9zZUJhc2lzMyhC
WzBdLCBCWzFdLCBCWzJdKTsKKyAgfQorfQorCitmdW5jdGlvbiBlbmNsb3NlQmFzaXMxKGEpIHsK
KyAgcmV0dXJuIHsKKyAgICB4OiBhLngsCisgICAgeTogYS55LAorICAgIHI6IGEucgorICB9Owor
fQorCitmdW5jdGlvbiBlbmNsb3NlQmFzaXMyKGEsIGIpIHsKKyAgdmFyIHgxID0gYS54LCB5MSA9
IGEueSwgcjEgPSBhLnIsCisgICAgICB4MiA9IGIueCwgeTIgPSBiLnksIHIyID0gYi5yLAorICAg
ICAgeDIxID0geDIgLSB4MSwgeTIxID0geTIgLSB5MSwgcjIxID0gcjIgLSByMSwKKyAgICAgIGwg
PSBNYXRoLnNxcnQoeDIxICogeDIxICsgeTIxICogeTIxKTsKKyAgcmV0dXJuIHsKKyAgICB4OiAo
eDEgKyB4MiArIHgyMSAvIGwgKiByMjEpIC8gMiwKKyAgICB5OiAoeTEgKyB5MiArIHkyMSAvIGwg
KiByMjEpIC8gMiwKKyAgICByOiAobCArIHIxICsgcjIpIC8gMgorICB9OworfQorCitmdW5jdGlv
biBlbmNsb3NlQmFzaXMzKGEsIGIsIGMpIHsKKyAgdmFyIHgxID0gYS54LCB5MSA9IGEueSwgcjEg
PSBhLnIsCisgICAgICB4MiA9IGIueCwgeTIgPSBiLnksIHIyID0gYi5yLAorICAgICAgeDMgPSBj
LngsIHkzID0gYy55LCByMyA9IGMuciwKKyAgICAgIGEyID0geDEgLSB4MiwKKyAgICAgIGEzID0g
eDEgLSB4MywKKyAgICAgIGIyID0geTEgLSB5MiwKKyAgICAgIGIzID0geTEgLSB5MywKKyAgICAg
IGMyID0gcjIgLSByMSwKKyAgICAgIGMzID0gcjMgLSByMSwKKyAgICAgIGQxID0geDEgKiB4MSAr
IHkxICogeTEgLSByMSAqIHIxLAorICAgICAgZDIgPSBkMSAtIHgyICogeDIgLSB5MiAqIHkyICsg
cjIgKiByMiwKKyAgICAgIGQzID0gZDEgLSB4MyAqIHgzIC0geTMgKiB5MyArIHIzICogcjMsCisg
ICAgICBhYiA9IGEzICogYjIgLSBhMiAqIGIzLAorICAgICAgeGEgPSAoYjIgKiBkMyAtIGIzICog
ZDIpIC8gKGFiICogMikgLSB4MSwKKyAgICAgIHhiID0gKGIzICogYzIgLSBiMiAqIGMzKSAvIGFi
LAorICAgICAgeWEgPSAoYTMgKiBkMiAtIGEyICogZDMpIC8gKGFiICogMikgLSB5MSwKKyAgICAg
IHliID0gKGEyICogYzMgLSBhMyAqIGMyKSAvIGFiLAorICAgICAgQSA9IHhiICogeGIgKyB5YiAq
IHliIC0gMSwKKyAgICAgIEIgPSAyICogKHIxICsgeGEgKiB4YiArIHlhICogeWIpLAorICAgICAg
QyA9IHhhICogeGEgKyB5YSAqIHlhIC0gcjEgKiByMSwKKyAgICAgIHIgPSAtKEEgPyAoQiArIE1h
dGguc3FydChCICogQiAtIDQgKiBBICogQykpIC8gKDIgKiBBKSA6IEMgLyBCKTsKKyAgcmV0dXJu
IHsKKyAgICB4OiB4MSArIHhhICsgeGIgKiByLAorICAgIHk6IHkxICsgeWEgKyB5YiAqIHIsCisg
ICAgcjogcgorICB9OworfQorCitmdW5jdGlvbiBwbGFjZShiLCBhLCBjKSB7CisgIHZhciBkeCA9
IGIueCAtIGEueCwgeCwgYTIsCisgICAgICBkeSA9IGIueSAtIGEueSwgeSwgYjIsCisgICAgICBk
MiA9IGR4ICogZHggKyBkeSAqIGR5OworICBpZiAoZDIpIHsKKyAgICBhMiA9IGEuciArIGMuciwg
YTIgKj0gYTI7CisgICAgYjIgPSBiLnIgKyBjLnIsIGIyICo9IGIyOworICAgIGlmIChhMiA+IGIy
KSB7CisgICAgICB4ID0gKGQyICsgYjIgLSBhMikgLyAoMiAqIGQyKTsKKyAgICAgIHkgPSBNYXRo
LnNxcnQoTWF0aC5tYXgoMCwgYjIgLyBkMiAtIHggKiB4KSk7CisgICAgICBjLnggPSBiLnggLSB4
ICogZHggLSB5ICogZHk7CisgICAgICBjLnkgPSBiLnkgLSB4ICogZHkgKyB5ICogZHg7CisgICAg
fSBlbHNlIHsKKyAgICAgIHggPSAoZDIgKyBhMiAtIGIyKSAvICgyICogZDIpOworICAgICAgeSA9
IE1hdGguc3FydChNYXRoLm1heCgwLCBhMiAvIGQyIC0geCAqIHgpKTsKKyAgICAgIGMueCA9IGEu
eCArIHggKiBkeCAtIHkgKiBkeTsKKyAgICAgIGMueSA9IGEueSArIHggKiBkeSArIHkgKiBkeDsK
KyAgICB9CisgIH0gZWxzZSB7CisgICAgYy54ID0gYS54ICsgYy5yOworICAgIGMueSA9IGEueTsK
KyAgfQorfQorCitmdW5jdGlvbiBpbnRlcnNlY3RzKGEsIGIpIHsKKyAgdmFyIGRyID0gYS5yICsg
Yi5yIC0gMWUtNiwgZHggPSBiLnggLSBhLngsIGR5ID0gYi55IC0gYS55OworICByZXR1cm4gZHIg
PiAwICYmIGRyICogZHIgPiBkeCAqIGR4ICsgZHkgKiBkeTsKK30KKworZnVuY3Rpb24gc2NvcmUo
bm9kZSkgeworICB2YXIgYSA9IG5vZGUuXywKKyAgICAgIGIgPSBub2RlLm5leHQuXywKKyAgICAg
IGFiID0gYS5yICsgYi5yLAorICAgICAgZHggPSAoYS54ICogYi5yICsgYi54ICogYS5yKSAvIGFi
LAorICAgICAgZHkgPSAoYS55ICogYi5yICsgYi55ICogYS5yKSAvIGFiOworICByZXR1cm4gZHgg
KiBkeCArIGR5ICogZHk7Cit9CisKK2Z1bmN0aW9uIE5vZGUkMShjaXJjbGUpIHsKKyAgdGhpcy5f
ID0gY2lyY2xlOworICB0aGlzLm5leHQgPSBudWxsOworICB0aGlzLnByZXZpb3VzID0gbnVsbDsK
K30KKworZnVuY3Rpb24gcGFja0VuY2xvc2UoY2lyY2xlcykgeworICBpZiAoIShuID0gY2lyY2xl
cy5sZW5ndGgpKSByZXR1cm4gMDsKKworICB2YXIgYSwgYiwgYywgbiwgYWEsIGNhLCBpLCBqLCBr
LCBzaiwgc2s7CisKKyAgLy8gUGxhY2UgdGhlIGZpcnN0IGNpcmNsZS4KKyAgYSA9IGNpcmNsZXNb
MF0sIGEueCA9IDAsIGEueSA9IDA7CisgIGlmICghKG4gPiAxKSkgcmV0dXJuIGEucjsKKworICAv
LyBQbGFjZSB0aGUgc2Vjb25kIGNpcmNsZS4KKyAgYiA9IGNpcmNsZXNbMV0sIGEueCA9IC1iLnIs
IGIueCA9IGEuciwgYi55ID0gMDsKKyAgaWYgKCEobiA+IDIpKSByZXR1cm4gYS5yICsgYi5yOwor
CisgIC8vIFBsYWNlIHRoZSB0aGlyZCBjaXJjbGUuCisgIHBsYWNlKGIsIGEsIGMgPSBjaXJjbGVz
WzJdKTsKKworICAvLyBJbml0aWFsaXplIHRoZSBmcm9udC1jaGFpbiB1c2luZyB0aGUgZmlyc3Qg
dGhyZWUgY2lyY2xlcyBhLCBiIGFuZCBjLgorICBhID0gbmV3IE5vZGUkMShhKSwgYiA9IG5ldyBO
b2RlJDEoYiksIGMgPSBuZXcgTm9kZSQxKGMpOworICBhLm5leHQgPSBjLnByZXZpb3VzID0gYjsK
KyAgYi5uZXh0ID0gYS5wcmV2aW91cyA9IGM7CisgIGMubmV4dCA9IGIucHJldmlvdXMgPSBhOwor
CisgIC8vIEF0dGVtcHQgdG8gcGxhY2UgZWFjaCByZW1haW5pbmcgY2lyY2xl4oCmCisgIHBhY2s6
IGZvciAoaSA9IDM7IGkgPCBuOyArK2kpIHsKKyAgICBwbGFjZShhLl8sIGIuXywgYyA9IGNpcmNs
ZXNbaV0pLCBjID0gbmV3IE5vZGUkMShjKTsKKworICAgIC8vIEZpbmQgdGhlIGNsb3Nlc3QgaW50
ZXJzZWN0aW5nIGNpcmNsZSBvbiB0aGUgZnJvbnQtY2hhaW4sIGlmIGFueS4KKyAgICAvLyDigJxD
bG9zZW5lc3PigJ0gaXMgZGV0ZXJtaW5lZCBieSBsaW5lYXIgZGlzdGFuY2UgYWxvbmcgdGhlIGZy
b250LWNoYWluLgorICAgIC8vIOKAnEFoZWFk4oCdIG9yIOKAnGJlaGluZOKAnSBpcyBsaWtld2lz
ZSBkZXRlcm1pbmVkIGJ5IGxpbmVhciBkaXN0YW5jZS4KKyAgICBqID0gYi5uZXh0LCBrID0gYS5w
cmV2aW91cywgc2ogPSBiLl8uciwgc2sgPSBhLl8ucjsKKyAgICBkbyB7CisgICAgICBpZiAoc2og
PD0gc2spIHsKKyAgICAgICAgaWYgKGludGVyc2VjdHMoai5fLCBjLl8pKSB7CisgICAgICAgICAg
YiA9IGosIGEubmV4dCA9IGIsIGIucHJldmlvdXMgPSBhLCAtLWk7CisgICAgICAgICAgY29udGlu
dWUgcGFjazsKKyAgICAgICAgfQorICAgICAgICBzaiArPSBqLl8uciwgaiA9IGoubmV4dDsKKyAg
ICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChpbnRlcnNlY3RzKGsuXywgYy5fKSkgeworICAgICAg
ICAgIGEgPSBrLCBhLm5leHQgPSBiLCBiLnByZXZpb3VzID0gYSwgLS1pOworICAgICAgICAgIGNv
bnRpbnVlIHBhY2s7CisgICAgICAgIH0KKyAgICAgICAgc2sgKz0gay5fLnIsIGsgPSBrLnByZXZp
b3VzOworICAgICAgfQorICAgIH0gd2hpbGUgKGogIT09IGsubmV4dCk7CisKKyAgICAvLyBTdWNj
ZXNzISBJbnNlcnQgdGhlIG5ldyBjaXJjbGUgYyBiZXR3ZWVuIGEgYW5kIGIuCisgICAgYy5wcmV2
aW91cyA9IGEsIGMubmV4dCA9IGIsIGEubmV4dCA9IGIucHJldmlvdXMgPSBiID0gYzsKKworICAg
IC8vIENvbXB1dGUgdGhlIG5ldyBjbG9zZXN0IGNpcmNsZSBwYWlyIHRvIHRoZSBjZW50cm9pZC4K
KyAgICBhYSA9IHNjb3JlKGEpOworICAgIHdoaWxlICgoYyA9IGMubmV4dCkgIT09IGIpIHsKKyAg
ICAgIGlmICgoY2EgPSBzY29yZShjKSkgPCBhYSkgeworICAgICAgICBhID0gYywgYWEgPSBjYTsK
KyAgICAgIH0KKyAgICB9CisgICAgYiA9IGEubmV4dDsKKyAgfQorCisgIC8vIENvbXB1dGUgdGhl
IGVuY2xvc2luZyBjaXJjbGUgb2YgdGhlIGZyb250IGNoYWluLgorICBhID0gW2IuX10sIGMgPSBi
OyB3aGlsZSAoKGMgPSBjLm5leHQpICE9PSBiKSBhLnB1c2goYy5fKTsgYyA9IGVuY2xvc2UoYSk7
CisKKyAgLy8gVHJhbnNsYXRlIHRoZSBjaXJjbGVzIHRvIHB1dCB0aGUgZW5jbG9zaW5nIGNpcmNs
ZSBhcm91bmQgdGhlIG9yaWdpbi4KKyAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgYSA9IGNpcmNs
ZXNbaV0sIGEueCAtPSBjLngsIGEueSAtPSBjLnk7CisKKyAgcmV0dXJuIGMucjsKK30KKworZnVu
Y3Rpb24gc2libGluZ3MoY2lyY2xlcykgeworICBwYWNrRW5jbG9zZShjaXJjbGVzKTsKKyAgcmV0
dXJuIGNpcmNsZXM7Cit9CisKK2Z1bmN0aW9uIG9wdGlvbmFsKGYpIHsKKyAgcmV0dXJuIGYgPT0g
bnVsbCA/IG51bGwgOiByZXF1aXJlZChmKTsKK30KKworZnVuY3Rpb24gcmVxdWlyZWQoZikgewor
ICBpZiAodHlwZW9mIGYgIT09ICJmdW5jdGlvbiIpIHRocm93IG5ldyBFcnJvcjsKKyAgcmV0dXJu
IGY7Cit9CisKK2Z1bmN0aW9uIGNvbnN0YW50WmVybygpIHsKKyAgcmV0dXJuIDA7Cit9CisKK2Z1
bmN0aW9uIGNvbnN0YW50JDkoeCkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJu
IHg7CisgIH07Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRSYWRpdXMkMShkKSB7CisgIHJldHVybiBN
YXRoLnNxcnQoZC52YWx1ZSk7Cit9CisKK2Z1bmN0aW9uIGluZGV4JDIoKSB7CisgIHZhciByYWRp
dXMgPSBudWxsLAorICAgICAgZHggPSAxLAorICAgICAgZHkgPSAxLAorICAgICAgcGFkZGluZyA9
IGNvbnN0YW50WmVybzsKKworICBmdW5jdGlvbiBwYWNrKHJvb3QpIHsKKyAgICByb290LnggPSBk
eCAvIDIsIHJvb3QueSA9IGR5IC8gMjsKKyAgICBpZiAocmFkaXVzKSB7CisgICAgICByb290LmVh
Y2hCZWZvcmUocmFkaXVzTGVhZihyYWRpdXMpKQorICAgICAgICAgIC5lYWNoQWZ0ZXIocGFja0No
aWxkcmVuKHBhZGRpbmcsIDAuNSkpCisgICAgICAgICAgLmVhY2hCZWZvcmUodHJhbnNsYXRlQ2hp
bGQoMSkpOworICAgIH0gZWxzZSB7CisgICAgICByb290LmVhY2hCZWZvcmUocmFkaXVzTGVhZihk
ZWZhdWx0UmFkaXVzJDEpKQorICAgICAgICAgIC5lYWNoQWZ0ZXIocGFja0NoaWxkcmVuKGNvbnN0
YW50WmVybywgMSkpCisgICAgICAgICAgLmVhY2hBZnRlcihwYWNrQ2hpbGRyZW4ocGFkZGluZywg
cm9vdC5yIC8gTWF0aC5taW4oZHgsIGR5KSkpCisgICAgICAgICAgLmVhY2hCZWZvcmUodHJhbnNs
YXRlQ2hpbGQoTWF0aC5taW4oZHgsIGR5KSAvICgyICogcm9vdC5yKSkpOworICAgIH0KKyAgICBy
ZXR1cm4gcm9vdDsKKyAgfQorCisgIHBhY2sucmFkaXVzID0gZnVuY3Rpb24oeCkgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJhZGl1cyA9IG9wdGlvbmFsKHgpLCBwYWNrKSA6IHJh
ZGl1czsKKyAgfTsKKworICBwYWNrLnNpemUgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAoZHggPSAreFswXSwgZHkgPSAreFsxXSwgcGFjaykgOiBbZHgsIGR5
XTsKKyAgfTsKKworICBwYWNrLnBhZGRpbmcgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAocGFkZGluZyA9IHR5cGVvZiB4ID09PSAiZnVuY3Rpb24iID8geCA6
IGNvbnN0YW50JDkoK3gpLCBwYWNrKSA6IHBhZGRpbmc7CisgIH07CisKKyAgcmV0dXJuIHBhY2s7
Cit9CisKK2Z1bmN0aW9uIHJhZGl1c0xlYWYocmFkaXVzKSB7CisgIHJldHVybiBmdW5jdGlvbihu
b2RlKSB7CisgICAgaWYgKCFub2RlLmNoaWxkcmVuKSB7CisgICAgICBub2RlLnIgPSBNYXRoLm1h
eCgwLCArcmFkaXVzKG5vZGUpIHx8IDApOworICAgIH0KKyAgfTsKK30KKworZnVuY3Rpb24gcGFj
a0NoaWxkcmVuKHBhZGRpbmcsIGspIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBp
ZiAoY2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuKSB7CisgICAgICB2YXIgY2hpbGRyZW4sCisgICAg
ICAgICAgaSwKKyAgICAgICAgICBuID0gY2hpbGRyZW4ubGVuZ3RoLAorICAgICAgICAgIHIgPSBw
YWRkaW5nKG5vZGUpICogayB8fCAwLAorICAgICAgICAgIGU7CisKKyAgICAgIGlmIChyKSBmb3Ig
KGkgPSAwOyBpIDwgbjsgKytpKSBjaGlsZHJlbltpXS5yICs9IHI7CisgICAgICBlID0gcGFja0Vu
Y2xvc2UoY2hpbGRyZW4pOworICAgICAgaWYgKHIpIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIGNo
aWxkcmVuW2ldLnIgLT0gcjsKKyAgICAgIG5vZGUuciA9IGUgKyByOworICAgIH0KKyAgfTsKK30K
KworZnVuY3Rpb24gdHJhbnNsYXRlQ2hpbGQoaykgeworICByZXR1cm4gZnVuY3Rpb24obm9kZSkg
eworICAgIHZhciBwYXJlbnQgPSBub2RlLnBhcmVudDsKKyAgICBub2RlLnIgKj0gazsKKyAgICBp
ZiAocGFyZW50KSB7CisgICAgICBub2RlLnggPSBwYXJlbnQueCArIGsgKiBub2RlLng7CisgICAg
ICBub2RlLnkgPSBwYXJlbnQueSArIGsgKiBub2RlLnk7CisgICAgfQorICB9OworfQorCitmdW5j
dGlvbiByb3VuZE5vZGUobm9kZSkgeworICBub2RlLngwID0gTWF0aC5yb3VuZChub2RlLngwKTsK
KyAgbm9kZS55MCA9IE1hdGgucm91bmQobm9kZS55MCk7CisgIG5vZGUueDEgPSBNYXRoLnJvdW5k
KG5vZGUueDEpOworICBub2RlLnkxID0gTWF0aC5yb3VuZChub2RlLnkxKTsKK30KKworZnVuY3Rp
b24gdHJlZW1hcERpY2UocGFyZW50LCB4MCwgeTAsIHgxLCB5MSkgeworICB2YXIgbm9kZXMgPSBw
YXJlbnQuY2hpbGRyZW4sCisgICAgICBub2RlLAorICAgICAgaSA9IC0xLAorICAgICAgbiA9IG5v
ZGVzLmxlbmd0aCwKKyAgICAgIGsgPSBwYXJlbnQudmFsdWUgJiYgKHgxIC0geDApIC8gcGFyZW50
LnZhbHVlOworCisgIHdoaWxlICgrK2kgPCBuKSB7CisgICAgbm9kZSA9IG5vZGVzW2ldLCBub2Rl
LnkwID0geTAsIG5vZGUueTEgPSB5MTsKKyAgICBub2RlLngwID0geDAsIG5vZGUueDEgPSB4MCAr
PSBub2RlLnZhbHVlICogazsKKyAgfQorfQorCitmdW5jdGlvbiBwYXJ0aXRpb24oKSB7CisgIHZh
ciBkeCA9IDEsCisgICAgICBkeSA9IDEsCisgICAgICBwYWRkaW5nID0gMCwKKyAgICAgIHJvdW5k
ID0gZmFsc2U7CisKKyAgZnVuY3Rpb24gcGFydGl0aW9uKHJvb3QpIHsKKyAgICB2YXIgbiA9IHJv
b3QuaGVpZ2h0ICsgMTsKKyAgICByb290LngwID0KKyAgICByb290LnkwID0gcGFkZGluZzsKKyAg
ICByb290LngxID0gZHg7CisgICAgcm9vdC55MSA9IGR5IC8gbjsKKyAgICByb290LmVhY2hCZWZv
cmUocG9zaXRpb25Ob2RlKGR5LCBuKSk7CisgICAgaWYgKHJvdW5kKSByb290LmVhY2hCZWZvcmUo
cm91bmROb2RlKTsKKyAgICByZXR1cm4gcm9vdDsKKyAgfQorCisgIGZ1bmN0aW9uIHBvc2l0aW9u
Tm9kZShkeSwgbikgeworICAgIHJldHVybiBmdW5jdGlvbihub2RlKSB7CisgICAgICBpZiAobm9k
ZS5jaGlsZHJlbikgeworICAgICAgICB0cmVlbWFwRGljZShub2RlLCBub2RlLngwLCBkeSAqIChu
b2RlLmRlcHRoICsgMSkgLyBuLCBub2RlLngxLCBkeSAqIChub2RlLmRlcHRoICsgMikgLyBuKTsK
KyAgICAgIH0KKyAgICAgIHZhciB4MCA9IG5vZGUueDAsCisgICAgICAgICAgeTAgPSBub2RlLnkw
LAorICAgICAgICAgIHgxID0gbm9kZS54MSAtIHBhZGRpbmcsCisgICAgICAgICAgeTEgPSBub2Rl
LnkxIC0gcGFkZGluZzsKKyAgICAgIGlmICh4MSA8IHgwKSB4MCA9IHgxID0gKHgwICsgeDEpIC8g
MjsKKyAgICAgIGlmICh5MSA8IHkwKSB5MCA9IHkxID0gKHkwICsgeTEpIC8gMjsKKyAgICAgIG5v
ZGUueDAgPSB4MDsKKyAgICAgIG5vZGUueTAgPSB5MDsKKyAgICAgIG5vZGUueDEgPSB4MTsKKyAg
ICAgIG5vZGUueTEgPSB5MTsKKyAgICB9OworICB9CisKKyAgcGFydGl0aW9uLnJvdW5kID0gZnVu
Y3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJvdW5kID0gISF4LCBw
YXJ0aXRpb24pIDogcm91bmQ7CisgIH07CisKKyAgcGFydGl0aW9uLnNpemUgPSBmdW5jdGlvbih4
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZHggPSAreFswXSwgZHkgPSAreFsx
XSwgcGFydGl0aW9uKSA6IFtkeCwgZHldOworICB9OworCisgIHBhcnRpdGlvbi5wYWRkaW5nID0g
ZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhZGRpbmcgPSAr
eCwgcGFydGl0aW9uKSA6IHBhZGRpbmc7CisgIH07CisKKyAgcmV0dXJuIHBhcnRpdGlvbjsKK30K
KwordmFyIGtleVByZWZpeCQxID0gIiQiLCAvLyBQcm90ZWN0IGFnYWluc3Qga2V5cyBsaWtlIOKA
nF9fcHJvdG9fX+KAnS4KKyAgICBwcmVyb290ID0ge2RlcHRoOiAtMX0sCisgICAgYW1iaWd1b3Vz
ID0ge307CisKK2Z1bmN0aW9uIGRlZmF1bHRJZChkKSB7CisgIHJldHVybiBkLmlkOworfQorCitm
dW5jdGlvbiBkZWZhdWx0UGFyZW50SWQoZCkgeworICByZXR1cm4gZC5wYXJlbnRJZDsKK30KKwor
ZnVuY3Rpb24gc3RyYXRpZnkoKSB7CisgIHZhciBpZCA9IGRlZmF1bHRJZCwKKyAgICAgIHBhcmVu
dElkID0gZGVmYXVsdFBhcmVudElkOworCisgIGZ1bmN0aW9uIHN0cmF0aWZ5KGRhdGEpIHsKKyAg
ICB2YXIgZCwKKyAgICAgICAgaSwKKyAgICAgICAgbiA9IGRhdGEubGVuZ3RoLAorICAgICAgICBy
b290LAorICAgICAgICBwYXJlbnQsCisgICAgICAgIG5vZGUsCisgICAgICAgIG5vZGVzID0gbmV3
IEFycmF5KG4pLAorICAgICAgICBub2RlSWQsCisgICAgICAgIG5vZGVLZXksCisgICAgICAgIG5v
ZGVCeUtleSA9IHt9OworCisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgZCA9
IGRhdGFbaV0sIG5vZGUgPSBub2Rlc1tpXSA9IG5ldyBOb2RlKGQpOworICAgICAgaWYgKChub2Rl
SWQgPSBpZChkLCBpLCBkYXRhKSkgIT0gbnVsbCAmJiAobm9kZUlkICs9ICIiKSkgeworICAgICAg
ICBub2RlS2V5ID0ga2V5UHJlZml4JDEgKyAobm9kZS5pZCA9IG5vZGVJZCk7CisgICAgICAgIG5v
ZGVCeUtleVtub2RlS2V5XSA9IG5vZGVLZXkgaW4gbm9kZUJ5S2V5ID8gYW1iaWd1b3VzIDogbm9k
ZTsKKyAgICAgIH0KKyAgICB9CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAg
ICBub2RlID0gbm9kZXNbaV0sIG5vZGVJZCA9IHBhcmVudElkKGRhdGFbaV0sIGksIGRhdGEpOwor
ICAgICAgaWYgKG5vZGVJZCA9PSBudWxsIHx8ICEobm9kZUlkICs9ICIiKSkgeworICAgICAgICBp
ZiAocm9vdCkgdGhyb3cgbmV3IEVycm9yKCJtdWx0aXBsZSByb290cyIpOworICAgICAgICByb290
ID0gbm9kZTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIHBhcmVudCA9IG5vZGVCeUtleVtrZXlQ
cmVmaXgkMSArIG5vZGVJZF07CisgICAgICAgIGlmICghcGFyZW50KSB0aHJvdyBuZXcgRXJyb3Io
Im1pc3Npbmc6ICIgKyBub2RlSWQpOworICAgICAgICBpZiAocGFyZW50ID09PSBhbWJpZ3VvdXMp
IHRocm93IG5ldyBFcnJvcigiYW1iaWd1b3VzOiAiICsgbm9kZUlkKTsKKyAgICAgICAgaWYgKHBh
cmVudC5jaGlsZHJlbikgcGFyZW50LmNoaWxkcmVuLnB1c2gobm9kZSk7CisgICAgICAgIGVsc2Ug
cGFyZW50LmNoaWxkcmVuID0gW25vZGVdOworICAgICAgICBub2RlLnBhcmVudCA9IHBhcmVudDsK
KyAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoIXJvb3QpIHRocm93IG5ldyBFcnJvcigibm8gcm9v
dCIpOworICAgIHJvb3QucGFyZW50ID0gcHJlcm9vdDsKKyAgICByb290LmVhY2hCZWZvcmUoZnVu
Y3Rpb24obm9kZSkgeyBub2RlLmRlcHRoID0gbm9kZS5wYXJlbnQuZGVwdGggKyAxOyAtLW47IH0p
LmVhY2hCZWZvcmUoY29tcHV0ZUhlaWdodCk7CisgICAgcm9vdC5wYXJlbnQgPSBudWxsOworICAg
IGlmIChuID4gMCkgdGhyb3cgbmV3IEVycm9yKCJjeWNsZSIpOworCisgICAgcmV0dXJuIHJvb3Q7
CisgIH0KKworICBzdHJhdGlmeS5pZCA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/IChpZCA9IHJlcXVpcmVkKHgpLCBzdHJhdGlmeSkgOiBpZDsKKyAgfTsKKwor
ICBzdHJhdGlmeS5wYXJlbnRJZCA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/IChwYXJlbnRJZCA9IHJlcXVpcmVkKHgpLCBzdHJhdGlmeSkgOiBwYXJlbnRJZDsK
KyAgfTsKKworICByZXR1cm4gc3RyYXRpZnk7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRTZXBhcmF0
aW9uJDEoYSwgYikgeworICByZXR1cm4gYS5wYXJlbnQgPT09IGIucGFyZW50ID8gMSA6IDI7Cit9
CisKKy8vIGZ1bmN0aW9uIHJhZGlhbFNlcGFyYXRpb24oYSwgYikgeworLy8gICByZXR1cm4gKGEu
cGFyZW50ID09PSBiLnBhcmVudCA/IDEgOiAyKSAvIGEuZGVwdGg7CisvLyB9CisKKy8vIFRoaXMg
ZnVuY3Rpb24gaXMgdXNlZCB0byB0cmF2ZXJzZSB0aGUgbGVmdCBjb250b3VyIG9mIGEgc3VidHJl
ZSAob3IKKy8vIHN1YmZvcmVzdCkuIEl0IHJldHVybnMgdGhlIHN1Y2Nlc3NvciBvZiB2IG9uIHRo
aXMgY29udG91ci4gVGhpcyBzdWNjZXNzb3IgaXMKKy8vIGVpdGhlciBnaXZlbiBieSB0aGUgbGVm
dG1vc3QgY2hpbGQgb2YgdiBvciBieSB0aGUgdGhyZWFkIG9mIHYuIFRoZSBmdW5jdGlvbgorLy8g
cmV0dXJucyBudWxsIGlmIGFuZCBvbmx5IGlmIHYgaXMgb24gdGhlIGhpZ2hlc3QgbGV2ZWwgb2Yg
aXRzIHN1YnRyZWUuCitmdW5jdGlvbiBuZXh0TGVmdCh2KSB7CisgIHZhciBjaGlsZHJlbiA9IHYu
Y2hpbGRyZW47CisgIHJldHVybiBjaGlsZHJlbiA/IGNoaWxkcmVuWzBdIDogdi50OworfQorCisv
LyBUaGlzIGZ1bmN0aW9uIHdvcmtzIGFuYWxvZ291c2x5IHRvIG5leHRMZWZ0LgorZnVuY3Rpb24g
bmV4dFJpZ2h0KHYpIHsKKyAgdmFyIGNoaWxkcmVuID0gdi5jaGlsZHJlbjsKKyAgcmV0dXJuIGNo
aWxkcmVuID8gY2hpbGRyZW5bY2hpbGRyZW4ubGVuZ3RoIC0gMV0gOiB2LnQ7Cit9CisKKy8vIFNo
aWZ0cyB0aGUgY3VycmVudCBzdWJ0cmVlIHJvb3RlZCBhdCB3Ky4gVGhpcyBpcyBkb25lIGJ5IGlu
Y3JlYXNpbmcKKy8vIHByZWxpbSh3KykgYW5kIG1vZCh3KykgYnkgc2hpZnQuCitmdW5jdGlvbiBt
b3ZlU3VidHJlZSh3bSwgd3AsIHNoaWZ0KSB7CisgIHZhciBjaGFuZ2UgPSBzaGlmdCAvICh3cC5p
IC0gd20uaSk7CisgIHdwLmMgLT0gY2hhbmdlOworICB3cC5zICs9IHNoaWZ0OworICB3bS5jICs9
IGNoYW5nZTsKKyAgd3AueiArPSBzaGlmdDsKKyAgd3AubSArPSBzaGlmdDsKK30KKworLy8gQWxs
IG90aGVyIHNoaWZ0cywgYXBwbGllZCB0byB0aGUgc21hbGxlciBzdWJ0cmVlcyBiZXR3ZWVuIHct
IGFuZCB3KywgYXJlCisvLyBwZXJmb3JtZWQgYnkgdGhpcyBmdW5jdGlvbi4gVG8gcHJlcGFyZSB0
aGUgc2hpZnRzLCB3ZSBoYXZlIHRvIGFkanVzdAorLy8gY2hhbmdlKHcrKSwgc2hpZnQodyspLCBh
bmQgY2hhbmdlKHctKS4KK2Z1bmN0aW9uIGV4ZWN1dGVTaGlmdHModikgeworICB2YXIgc2hpZnQg
PSAwLAorICAgICAgY2hhbmdlID0gMCwKKyAgICAgIGNoaWxkcmVuID0gdi5jaGlsZHJlbiwKKyAg
ICAgIGkgPSBjaGlsZHJlbi5sZW5ndGgsCisgICAgICB3OworICB3aGlsZSAoLS1pID49IDApIHsK
KyAgICB3ID0gY2hpbGRyZW5baV07CisgICAgdy56ICs9IHNoaWZ0OworICAgIHcubSArPSBzaGlm
dDsKKyAgICBzaGlmdCArPSB3LnMgKyAoY2hhbmdlICs9IHcuYyk7CisgIH0KK30KKworLy8gSWYg
dmkt4oCZcyBhbmNlc3RvciBpcyBhIHNpYmxpbmcgb2YgdiwgcmV0dXJucyB2aS3igJlzIGFuY2Vz
dG9yLiBPdGhlcndpc2UsCisvLyByZXR1cm5zIHRoZSBzcGVjaWZpZWQgKGRlZmF1bHQpIGFuY2Vz
dG9yLgorZnVuY3Rpb24gbmV4dEFuY2VzdG9yKHZpbSwgdiwgYW5jZXN0b3IpIHsKKyAgcmV0dXJu
IHZpbS5hLnBhcmVudCA9PT0gdi5wYXJlbnQgPyB2aW0uYSA6IGFuY2VzdG9yOworfQorCitmdW5j
dGlvbiBUcmVlTm9kZShub2RlLCBpKSB7CisgIHRoaXMuXyA9IG5vZGU7CisgIHRoaXMucGFyZW50
ID0gbnVsbDsKKyAgdGhpcy5jaGlsZHJlbiA9IG51bGw7CisgIHRoaXMuQSA9IG51bGw7IC8vIGRl
ZmF1bHQgYW5jZXN0b3IKKyAgdGhpcy5hID0gdGhpczsgLy8gYW5jZXN0b3IKKyAgdGhpcy56ID0g
MDsgLy8gcHJlbGltCisgIHRoaXMubSA9IDA7IC8vIG1vZAorICB0aGlzLmMgPSAwOyAvLyBjaGFu
Z2UKKyAgdGhpcy5zID0gMDsgLy8gc2hpZnQKKyAgdGhpcy50ID0gbnVsbDsgLy8gdGhyZWFkCisg
IHRoaXMuaSA9IGk7IC8vIG51bWJlcgorfQorCitUcmVlTm9kZS5wcm90b3R5cGUgPSBPYmplY3Qu
Y3JlYXRlKE5vZGUucHJvdG90eXBlKTsKKworZnVuY3Rpb24gdHJlZVJvb3Qocm9vdCkgeworICB2
YXIgdHJlZSA9IG5ldyBUcmVlTm9kZShyb290LCAwKSwKKyAgICAgIG5vZGUsCisgICAgICBub2Rl
cyA9IFt0cmVlXSwKKyAgICAgIGNoaWxkLAorICAgICAgY2hpbGRyZW4sCisgICAgICBpLAorICAg
ICAgbjsKKworICB3aGlsZSAobm9kZSA9IG5vZGVzLnBvcCgpKSB7CisgICAgaWYgKGNoaWxkcmVu
ID0gbm9kZS5fLmNoaWxkcmVuKSB7CisgICAgICBub2RlLmNoaWxkcmVuID0gbmV3IEFycmF5KG4g
PSBjaGlsZHJlbi5sZW5ndGgpOworICAgICAgZm9yIChpID0gbiAtIDE7IGkgPj0gMDsgLS1pKSB7
CisgICAgICAgIG5vZGVzLnB1c2goY2hpbGQgPSBub2RlLmNoaWxkcmVuW2ldID0gbmV3IFRyZWVO
b2RlKGNoaWxkcmVuW2ldLCBpKSk7CisgICAgICAgIGNoaWxkLnBhcmVudCA9IG5vZGU7CisgICAg
ICB9CisgICAgfQorICB9CisKKyAgKHRyZWUucGFyZW50ID0gbmV3IFRyZWVOb2RlKG51bGwsIDAp
KS5jaGlsZHJlbiA9IFt0cmVlXTsKKyAgcmV0dXJuIHRyZWU7Cit9CisKKy8vIE5vZGUtbGluayB0
cmVlIGRpYWdyYW0gdXNpbmcgdGhlIFJlaW5nb2xkLVRpbGZvcmQgInRpZHkiIGFsZ29yaXRobQor
ZnVuY3Rpb24gdHJlZSgpIHsKKyAgdmFyIHNlcGFyYXRpb24gPSBkZWZhdWx0U2VwYXJhdGlvbiQx
LAorICAgICAgZHggPSAxLAorICAgICAgZHkgPSAxLAorICAgICAgbm9kZVNpemUgPSBudWxsOwor
CisgIGZ1bmN0aW9uIHRyZWUocm9vdCkgeworICAgIHZhciB0ID0gdHJlZVJvb3Qocm9vdCk7CisK
KyAgICAvLyBDb21wdXRlIHRoZSBsYXlvdXQgdXNpbmcgQnVjaGhlaW0gZXQgYWwu4oCZcyBhbGdv
cml0aG0uCisgICAgdC5lYWNoQWZ0ZXIoZmlyc3RXYWxrKSwgdC5wYXJlbnQubSA9IC10Lno7Cisg
ICAgdC5lYWNoQmVmb3JlKHNlY29uZFdhbGspOworCisgICAgLy8gSWYgYSBmaXhlZCBub2RlIHNp
emUgaXMgc3BlY2lmaWVkLCBzY2FsZSB4IGFuZCB5LgorICAgIGlmIChub2RlU2l6ZSkgcm9vdC5l
YWNoQmVmb3JlKHNpemVOb2RlKTsKKworICAgIC8vIElmIGEgZml4ZWQgdHJlZSBzaXplIGlzIHNw
ZWNpZmllZCwgc2NhbGUgeCBhbmQgeSBiYXNlZCBvbiB0aGUgZXh0ZW50LgorICAgIC8vIENvbXB1
dGUgdGhlIGxlZnQtbW9zdCwgcmlnaHQtbW9zdCwgYW5kIGRlcHRoLW1vc3Qgbm9kZXMgZm9yIGV4
dGVudHMuCisgICAgZWxzZSB7CisgICAgICB2YXIgbGVmdCA9IHJvb3QsCisgICAgICAgICAgcmln
aHQgPSByb290LAorICAgICAgICAgIGJvdHRvbSA9IHJvb3Q7CisgICAgICByb290LmVhY2hCZWZv
cmUoZnVuY3Rpb24obm9kZSkgeworICAgICAgICBpZiAobm9kZS54IDwgbGVmdC54KSBsZWZ0ID0g
bm9kZTsKKyAgICAgICAgaWYgKG5vZGUueCA+IHJpZ2h0LngpIHJpZ2h0ID0gbm9kZTsKKyAgICAg
ICAgaWYgKG5vZGUuZGVwdGggPiBib3R0b20uZGVwdGgpIGJvdHRvbSA9IG5vZGU7CisgICAgICB9
KTsKKyAgICAgIHZhciBzID0gbGVmdCA9PT0gcmlnaHQgPyAxIDogc2VwYXJhdGlvbihsZWZ0LCBy
aWdodCkgLyAyLAorICAgICAgICAgIHR4ID0gcyAtIGxlZnQueCwKKyAgICAgICAgICBreCA9IGR4
IC8gKHJpZ2h0LnggKyBzICsgdHgpLAorICAgICAgICAgIGt5ID0gZHkgLyAoYm90dG9tLmRlcHRo
IHx8IDEpOworICAgICAgcm9vdC5lYWNoQmVmb3JlKGZ1bmN0aW9uKG5vZGUpIHsKKyAgICAgICAg
bm9kZS54ID0gKG5vZGUueCArIHR4KSAqIGt4OworICAgICAgICBub2RlLnkgPSBub2RlLmRlcHRo
ICoga3k7CisgICAgICB9KTsKKyAgICB9CisKKyAgICByZXR1cm4gcm9vdDsKKyAgfQorCisgIC8v
IENvbXB1dGVzIGEgcHJlbGltaW5hcnkgeC1jb29yZGluYXRlIGZvciB2LiBCZWZvcmUgdGhhdCwg
RklSU1QgV0FMSyBpcworICAvLyBhcHBsaWVkIHJlY3Vyc2l2ZWx5IHRvIHRoZSBjaGlsZHJlbiBv
ZiB2LCBhcyB3ZWxsIGFzIHRoZSBmdW5jdGlvbgorICAvLyBBUFBPUlRJT04uIEFmdGVyIHNwYWNp
bmcgb3V0IHRoZSBjaGlsZHJlbiBieSBjYWxsaW5nIEVYRUNVVEUgU0hJRlRTLCB0aGUKKyAgLy8g
bm9kZSB2IGlzIHBsYWNlZCB0byB0aGUgbWlkcG9pbnQgb2YgaXRzIG91dGVybW9zdCBjaGlsZHJl
bi4KKyAgZnVuY3Rpb24gZmlyc3RXYWxrKHYpIHsKKyAgICB2YXIgY2hpbGRyZW4gPSB2LmNoaWxk
cmVuLAorICAgICAgICBzaWJsaW5ncyA9IHYucGFyZW50LmNoaWxkcmVuLAorICAgICAgICB3ID0g
di5pID8gc2libGluZ3Nbdi5pIC0gMV0gOiBudWxsOworICAgIGlmIChjaGlsZHJlbikgeworICAg
ICAgZXhlY3V0ZVNoaWZ0cyh2KTsKKyAgICAgIHZhciBtaWRwb2ludCA9IChjaGlsZHJlblswXS56
ICsgY2hpbGRyZW5bY2hpbGRyZW4ubGVuZ3RoIC0gMV0ueikgLyAyOworICAgICAgaWYgKHcpIHsK
KyAgICAgICAgdi56ID0gdy56ICsgc2VwYXJhdGlvbih2Ll8sIHcuXyk7CisgICAgICAgIHYubSA9
IHYueiAtIG1pZHBvaW50OworICAgICAgfSBlbHNlIHsKKyAgICAgICAgdi56ID0gbWlkcG9pbnQ7
CisgICAgICB9CisgICAgfSBlbHNlIGlmICh3KSB7CisgICAgICB2LnogPSB3LnogKyBzZXBhcmF0
aW9uKHYuXywgdy5fKTsKKyAgICB9CisgICAgdi5wYXJlbnQuQSA9IGFwcG9ydGlvbih2LCB3LCB2
LnBhcmVudC5BIHx8IHNpYmxpbmdzWzBdKTsKKyAgfQorCisgIC8vIENvbXB1dGVzIGFsbCByZWFs
IHgtY29vcmRpbmF0ZXMgYnkgc3VtbWluZyB1cCB0aGUgbW9kaWZpZXJzIHJlY3Vyc2l2ZWx5Lgor
ICBmdW5jdGlvbiBzZWNvbmRXYWxrKHYpIHsKKyAgICB2Ll8ueCA9IHYueiArIHYucGFyZW50Lm07
CisgICAgdi5tICs9IHYucGFyZW50Lm07CisgIH0KKworICAvLyBUaGUgY29yZSBvZiB0aGUgYWxn
b3JpdGhtLiBIZXJlLCBhIG5ldyBzdWJ0cmVlIGlzIGNvbWJpbmVkIHdpdGggdGhlCisgIC8vIHBy
ZXZpb3VzIHN1YnRyZWVzLiBUaHJlYWRzIGFyZSB1c2VkIHRvIHRyYXZlcnNlIHRoZSBpbnNpZGUg
YW5kIG91dHNpZGUKKyAgLy8gY29udG91cnMgb2YgdGhlIGxlZnQgYW5kIHJpZ2h0IHN1YnRyZWUg
dXAgdG8gdGhlIGhpZ2hlc3QgY29tbW9uIGxldmVsLiBUaGUKKyAgLy8gdmVydGljZXMgdXNlZCBm
b3IgdGhlIHRyYXZlcnNhbHMgYXJlIHZpKywgdmktLCB2by0sIGFuZCB2byssIHdoZXJlIHRoZQor
ICAvLyBzdXBlcnNjcmlwdCBvIG1lYW5zIG91dHNpZGUgYW5kIGkgbWVhbnMgaW5zaWRlLCB0aGUg
c3Vic2NyaXB0IC0gbWVhbnMgbGVmdAorICAvLyBzdWJ0cmVlIGFuZCArIG1lYW5zIHJpZ2h0IHN1
YnRyZWUuIEZvciBzdW1taW5nIHVwIHRoZSBtb2RpZmllcnMgYWxvbmcgdGhlCisgIC8vIGNvbnRv
dXIsIHdlIHVzZSByZXNwZWN0aXZlIHZhcmlhYmxlcyBzaSssIHNpLSwgc28tLCBhbmQgc28rLiBX
aGVuZXZlciB0d28KKyAgLy8gbm9kZXMgb2YgdGhlIGluc2lkZSBjb250b3VycyBjb25mbGljdCwg
d2UgY29tcHV0ZSB0aGUgbGVmdCBvbmUgb2YgdGhlCisgIC8vIGdyZWF0ZXN0IHVuY29tbW9uIGFu
Y2VzdG9ycyB1c2luZyB0aGUgZnVuY3Rpb24gQU5DRVNUT1IgYW5kIGNhbGwgTU9WRQorICAvLyBT
VUJUUkVFIHRvIHNoaWZ0IHRoZSBzdWJ0cmVlIGFuZCBwcmVwYXJlIHRoZSBzaGlmdHMgb2Ygc21h
bGxlciBzdWJ0cmVlcy4KKyAgLy8gRmluYWxseSwgd2UgYWRkIGEgbmV3IHRocmVhZCAoaWYgbmVj
ZXNzYXJ5KS4KKyAgZnVuY3Rpb24gYXBwb3J0aW9uKHYsIHcsIGFuY2VzdG9yKSB7CisgICAgaWYg
KHcpIHsKKyAgICAgIHZhciB2aXAgPSB2LAorICAgICAgICAgIHZvcCA9IHYsCisgICAgICAgICAg
dmltID0gdywKKyAgICAgICAgICB2b20gPSB2aXAucGFyZW50LmNoaWxkcmVuWzBdLAorICAgICAg
ICAgIHNpcCA9IHZpcC5tLAorICAgICAgICAgIHNvcCA9IHZvcC5tLAorICAgICAgICAgIHNpbSA9
IHZpbS5tLAorICAgICAgICAgIHNvbSA9IHZvbS5tLAorICAgICAgICAgIHNoaWZ0OworICAgICAg
d2hpbGUgKHZpbSA9IG5leHRSaWdodCh2aW0pLCB2aXAgPSBuZXh0TGVmdCh2aXApLCB2aW0gJiYg
dmlwKSB7CisgICAgICAgIHZvbSA9IG5leHRMZWZ0KHZvbSk7CisgICAgICAgIHZvcCA9IG5leHRS
aWdodCh2b3ApOworICAgICAgICB2b3AuYSA9IHY7CisgICAgICAgIHNoaWZ0ID0gdmltLnogKyBz
aW0gLSB2aXAueiAtIHNpcCArIHNlcGFyYXRpb24odmltLl8sIHZpcC5fKTsKKyAgICAgICAgaWYg
KHNoaWZ0ID4gMCkgeworICAgICAgICAgIG1vdmVTdWJ0cmVlKG5leHRBbmNlc3Rvcih2aW0sIHYs
IGFuY2VzdG9yKSwgdiwgc2hpZnQpOworICAgICAgICAgIHNpcCArPSBzaGlmdDsKKyAgICAgICAg
ICBzb3AgKz0gc2hpZnQ7CisgICAgICAgIH0KKyAgICAgICAgc2ltICs9IHZpbS5tOworICAgICAg
ICBzaXAgKz0gdmlwLm07CisgICAgICAgIHNvbSArPSB2b20ubTsKKyAgICAgICAgc29wICs9IHZv
cC5tOworICAgICAgfQorICAgICAgaWYgKHZpbSAmJiAhbmV4dFJpZ2h0KHZvcCkpIHsKKyAgICAg
ICAgdm9wLnQgPSB2aW07CisgICAgICAgIHZvcC5tICs9IHNpbSAtIHNvcDsKKyAgICAgIH0KKyAg
ICAgIGlmICh2aXAgJiYgIW5leHRMZWZ0KHZvbSkpIHsKKyAgICAgICAgdm9tLnQgPSB2aXA7Cisg
ICAgICAgIHZvbS5tICs9IHNpcCAtIHNvbTsKKyAgICAgICAgYW5jZXN0b3IgPSB2OworICAgICAg
fQorICAgIH0KKyAgICByZXR1cm4gYW5jZXN0b3I7CisgIH0KKworICBmdW5jdGlvbiBzaXplTm9k
ZShub2RlKSB7CisgICAgbm9kZS54ICo9IGR4OworICAgIG5vZGUueSA9IG5vZGUuZGVwdGggKiBk
eTsKKyAgfQorCisgIHRyZWUuc2VwYXJhdGlvbiA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/IChzZXBhcmF0aW9uID0geCwgdHJlZSkgOiBzZXBhcmF0aW9uOwor
ICB9OworCisgIHRyZWUuc2l6ZSA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/IChub2RlU2l6ZSA9IGZhbHNlLCBkeCA9ICt4WzBdLCBkeSA9ICt4WzFdLCB0cmVl
KSA6IChub2RlU2l6ZSA/IG51bGwgOiBbZHgsIGR5XSk7CisgIH07CisKKyAgdHJlZS5ub2RlU2l6
ZSA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChub2RlU2l6
ZSA9IHRydWUsIGR4ID0gK3hbMF0sIGR5ID0gK3hbMV0sIHRyZWUpIDogKG5vZGVTaXplID8gW2R4
LCBkeV0gOiBudWxsKTsKKyAgfTsKKworICByZXR1cm4gdHJlZTsKK30KKworZnVuY3Rpb24gdHJl
ZW1hcFNsaWNlKHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIG5vZGVzID0gcGFyZW50
LmNoaWxkcmVuLAorICAgICAgbm9kZSwKKyAgICAgIGkgPSAtMSwKKyAgICAgIG4gPSBub2Rlcy5s
ZW5ndGgsCisgICAgICBrID0gcGFyZW50LnZhbHVlICYmICh5MSAtIHkwKSAvIHBhcmVudC52YWx1
ZTsKKworICB3aGlsZSAoKytpIDwgbikgeworICAgIG5vZGUgPSBub2Rlc1tpXSwgbm9kZS54MCA9
IHgwLCBub2RlLngxID0geDE7CisgICAgbm9kZS55MCA9IHkwLCBub2RlLnkxID0geTAgKz0gbm9k
ZS52YWx1ZSAqIGs7CisgIH0KK30KKwordmFyIHBoaSA9ICgxICsgTWF0aC5zcXJ0KDUpKSAvIDI7
CisKK2Z1bmN0aW9uIHNxdWFyaWZ5UmF0aW8ocmF0aW8sIHBhcmVudCwgeDAsIHkwLCB4MSwgeTEp
IHsKKyAgdmFyIHJvd3MgPSBbXSwKKyAgICAgIG5vZGVzID0gcGFyZW50LmNoaWxkcmVuLAorICAg
ICAgcm93LAorICAgICAgbm9kZVZhbHVlLAorICAgICAgaTAgPSAwLAorICAgICAgaTEgPSAwLAor
ICAgICAgbiA9IG5vZGVzLmxlbmd0aCwKKyAgICAgIGR4LCBkeSwKKyAgICAgIHZhbHVlID0gcGFy
ZW50LnZhbHVlLAorICAgICAgc3VtVmFsdWUsCisgICAgICBtaW5WYWx1ZSwKKyAgICAgIG1heFZh
bHVlLAorICAgICAgbmV3UmF0aW8sCisgICAgICBtaW5SYXRpbywKKyAgICAgIGFscGhhLAorICAg
ICAgYmV0YTsKKworICB3aGlsZSAoaTAgPCBuKSB7CisgICAgZHggPSB4MSAtIHgwLCBkeSA9IHkx
IC0geTA7CisKKyAgICAvLyBGaW5kIHRoZSBuZXh0IG5vbi1lbXB0eSBub2RlLgorICAgIGRvIHN1
bVZhbHVlID0gbm9kZXNbaTErK10udmFsdWU7IHdoaWxlICghc3VtVmFsdWUgJiYgaTEgPCBuKTsK
KyAgICBtaW5WYWx1ZSA9IG1heFZhbHVlID0gc3VtVmFsdWU7CisgICAgYWxwaGEgPSBNYXRoLm1h
eChkeSAvIGR4LCBkeCAvIGR5KSAvICh2YWx1ZSAqIHJhdGlvKTsKKyAgICBiZXRhID0gc3VtVmFs
dWUgKiBzdW1WYWx1ZSAqIGFscGhhOworICAgIG1pblJhdGlvID0gTWF0aC5tYXgobWF4VmFsdWUg
LyBiZXRhLCBiZXRhIC8gbWluVmFsdWUpOworCisgICAgLy8gS2VlcCBhZGRpbmcgbm9kZXMgd2hp
bGUgdGhlIGFzcGVjdCByYXRpbyBtYWludGFpbnMgb3IgaW1wcm92ZXMuCisgICAgZm9yICg7IGkx
IDwgbjsgKytpMSkgeworICAgICAgc3VtVmFsdWUgKz0gbm9kZVZhbHVlID0gbm9kZXNbaTFdLnZh
bHVlOworICAgICAgaWYgKG5vZGVWYWx1ZSA8IG1pblZhbHVlKSBtaW5WYWx1ZSA9IG5vZGVWYWx1
ZTsKKyAgICAgIGlmIChub2RlVmFsdWUgPiBtYXhWYWx1ZSkgbWF4VmFsdWUgPSBub2RlVmFsdWU7
CisgICAgICBiZXRhID0gc3VtVmFsdWUgKiBzdW1WYWx1ZSAqIGFscGhhOworICAgICAgbmV3UmF0
aW8gPSBNYXRoLm1heChtYXhWYWx1ZSAvIGJldGEsIGJldGEgLyBtaW5WYWx1ZSk7CisgICAgICBp
ZiAobmV3UmF0aW8gPiBtaW5SYXRpbykgeyBzdW1WYWx1ZSAtPSBub2RlVmFsdWU7IGJyZWFrOyB9
CisgICAgICBtaW5SYXRpbyA9IG5ld1JhdGlvOworICAgIH0KKworICAgIC8vIFBvc2l0aW9uIGFu
ZCByZWNvcmQgdGhlIHJvdyBvcmllbnRhdGlvbi4KKyAgICByb3dzLnB1c2gocm93ID0ge3ZhbHVl
OiBzdW1WYWx1ZSwgZGljZTogZHggPCBkeSwgY2hpbGRyZW46IG5vZGVzLnNsaWNlKGkwLCBpMSl9
KTsKKyAgICBpZiAocm93LmRpY2UpIHRyZWVtYXBEaWNlKHJvdywgeDAsIHkwLCB4MSwgdmFsdWUg
PyB5MCArPSBkeSAqIHN1bVZhbHVlIC8gdmFsdWUgOiB5MSk7CisgICAgZWxzZSB0cmVlbWFwU2xp
Y2Uocm93LCB4MCwgeTAsIHZhbHVlID8geDAgKz0gZHggKiBzdW1WYWx1ZSAvIHZhbHVlIDogeDEs
IHkxKTsKKyAgICB2YWx1ZSAtPSBzdW1WYWx1ZSwgaTAgPSBpMTsKKyAgfQorCisgIHJldHVybiBy
b3dzOworfQorCit2YXIgc3F1YXJpZnkgPSAoZnVuY3Rpb24gY3VzdG9tKHJhdGlvKSB7CisKKyAg
ZnVuY3Rpb24gc3F1YXJpZnkocGFyZW50LCB4MCwgeTAsIHgxLCB5MSkgeworICAgIHNxdWFyaWZ5
UmF0aW8ocmF0aW8sIHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpOworICB9CisKKyAgc3F1YXJpZnku
cmF0aW8gPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGN1c3RvbSgoeCA9ICt4KSA+IDEgPyB4
IDogMSk7CisgIH07CisKKyAgcmV0dXJuIHNxdWFyaWZ5OworfSkocGhpKTsKKworZnVuY3Rpb24g
aW5kZXgkMygpIHsKKyAgdmFyIHRpbGUgPSBzcXVhcmlmeSwKKyAgICAgIHJvdW5kID0gZmFsc2Us
CisgICAgICBkeCA9IDEsCisgICAgICBkeSA9IDEsCisgICAgICBwYWRkaW5nU3RhY2sgPSBbMF0s
CisgICAgICBwYWRkaW5nSW5uZXIgPSBjb25zdGFudFplcm8sCisgICAgICBwYWRkaW5nVG9wID0g
Y29uc3RhbnRaZXJvLAorICAgICAgcGFkZGluZ1JpZ2h0ID0gY29uc3RhbnRaZXJvLAorICAgICAg
cGFkZGluZ0JvdHRvbSA9IGNvbnN0YW50WmVybywKKyAgICAgIHBhZGRpbmdMZWZ0ID0gY29uc3Rh
bnRaZXJvOworCisgIGZ1bmN0aW9uIHRyZWVtYXAocm9vdCkgeworICAgIHJvb3QueDAgPQorICAg
IHJvb3QueTAgPSAwOworICAgIHJvb3QueDEgPSBkeDsKKyAgICByb290LnkxID0gZHk7CisgICAg
cm9vdC5lYWNoQmVmb3JlKHBvc2l0aW9uTm9kZSk7CisgICAgcGFkZGluZ1N0YWNrID0gWzBdOwor
ICAgIGlmIChyb3VuZCkgcm9vdC5lYWNoQmVmb3JlKHJvdW5kTm9kZSk7CisgICAgcmV0dXJuIHJv
b3Q7CisgIH0KKworICBmdW5jdGlvbiBwb3NpdGlvbk5vZGUobm9kZSkgeworICAgIHZhciBwID0g
cGFkZGluZ1N0YWNrW25vZGUuZGVwdGhdLAorICAgICAgICB4MCA9IG5vZGUueDAgKyBwLAorICAg
ICAgICB5MCA9IG5vZGUueTAgKyBwLAorICAgICAgICB4MSA9IG5vZGUueDEgLSBwLAorICAgICAg
ICB5MSA9IG5vZGUueTEgLSBwOworICAgIGlmICh4MSA8IHgwKSB4MCA9IHgxID0gKHgwICsgeDEp
IC8gMjsKKyAgICBpZiAoeTEgPCB5MCkgeTAgPSB5MSA9ICh5MCArIHkxKSAvIDI7CisgICAgbm9k
ZS54MCA9IHgwOworICAgIG5vZGUueTAgPSB5MDsKKyAgICBub2RlLngxID0geDE7CisgICAgbm9k
ZS55MSA9IHkxOworICAgIGlmIChub2RlLmNoaWxkcmVuKSB7CisgICAgICBwID0gcGFkZGluZ1N0
YWNrW25vZGUuZGVwdGggKyAxXSA9IHBhZGRpbmdJbm5lcihub2RlKSAvIDI7CisgICAgICB4MCAr
PSBwYWRkaW5nTGVmdChub2RlKSAtIHA7CisgICAgICB5MCArPSBwYWRkaW5nVG9wKG5vZGUpIC0g
cDsKKyAgICAgIHgxIC09IHBhZGRpbmdSaWdodChub2RlKSAtIHA7CisgICAgICB5MSAtPSBwYWRk
aW5nQm90dG9tKG5vZGUpIC0gcDsKKyAgICAgIGlmICh4MSA8IHgwKSB4MCA9IHgxID0gKHgwICsg
eDEpIC8gMjsKKyAgICAgIGlmICh5MSA8IHkwKSB5MCA9IHkxID0gKHkwICsgeTEpIC8gMjsKKyAg
ICAgIHRpbGUobm9kZSwgeDAsIHkwLCB4MSwgeTEpOworICAgIH0KKyAgfQorCisgIHRyZWVtYXAu
cm91bmQgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocm91
bmQgPSAhIXgsIHRyZWVtYXApIDogcm91bmQ7CisgIH07CisKKyAgdHJlZW1hcC5zaXplID0gZnVu
Y3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGR4ID0gK3hbMF0sIGR5
ID0gK3hbMV0sIHRyZWVtYXApIDogW2R4LCBkeV07CisgIH07CisKKyAgdHJlZW1hcC50aWxlID0g
ZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRpbGUgPSByZXF1
aXJlZCh4KSwgdHJlZW1hcCkgOiB0aWxlOworICB9OworCisgIHRyZWVtYXAucGFkZGluZyA9IGZ1
bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IHRyZWVtYXAucGFkZGlu
Z0lubmVyKHgpLnBhZGRpbmdPdXRlcih4KSA6IHRyZWVtYXAucGFkZGluZ0lubmVyKCk7CisgIH07
CisKKyAgdHJlZW1hcC5wYWRkaW5nSW5uZXIgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAocGFkZGluZ0lubmVyID0gdHlwZW9mIHggPT09ICJmdW5jdGlvbiIg
PyB4IDogY29uc3RhbnQkOSgreCksIHRyZWVtYXApIDogcGFkZGluZ0lubmVyOworICB9OworCisg
IHRyZWVtYXAucGFkZGluZ091dGVyID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gdHJlZW1hcC5wYWRkaW5nVG9wKHgpLnBhZGRpbmdSaWdodCh4KS5wYWRkaW5n
Qm90dG9tKHgpLnBhZGRpbmdMZWZ0KHgpIDogdHJlZW1hcC5wYWRkaW5nVG9wKCk7CisgIH07CisK
KyAgdHJlZW1hcC5wYWRkaW5nVG9wID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHBhZGRpbmdUb3AgPSB0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiA/IHggOiBj
b25zdGFudCQ5KCt4KSwgdHJlZW1hcCkgOiBwYWRkaW5nVG9wOworICB9OworCisgIHRyZWVtYXAu
cGFkZGluZ1JpZ2h0ID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKHBhZGRpbmdSaWdodCA9IHR5cGVvZiB4ID09PSAiZnVuY3Rpb24iID8geCA6IGNvbnN0YW50
JDkoK3gpLCB0cmVlbWFwKSA6IHBhZGRpbmdSaWdodDsKKyAgfTsKKworICB0cmVlbWFwLnBhZGRp
bmdCb3R0b20gPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
cGFkZGluZ0JvdHRvbSA9IHR5cGVvZiB4ID09PSAiZnVuY3Rpb24iID8geCA6IGNvbnN0YW50JDko
K3gpLCB0cmVlbWFwKSA6IHBhZGRpbmdCb3R0b207CisgIH07CisKKyAgdHJlZW1hcC5wYWRkaW5n
TGVmdCA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRk
aW5nTGVmdCA9IHR5cGVvZiB4ID09PSAiZnVuY3Rpb24iID8geCA6IGNvbnN0YW50JDkoK3gpLCB0
cmVlbWFwKSA6IHBhZGRpbmdMZWZ0OworICB9OworCisgIHJldHVybiB0cmVlbWFwOworfQorCitm
dW5jdGlvbiBiaW5hcnkocGFyZW50LCB4MCwgeTAsIHgxLCB5MSkgeworICB2YXIgbm9kZXMgPSBw
YXJlbnQuY2hpbGRyZW4sCisgICAgICBpLCBuID0gbm9kZXMubGVuZ3RoLAorICAgICAgc3VtLCBz
dW1zID0gbmV3IEFycmF5KG4gKyAxKTsKKworICBmb3IgKHN1bXNbMF0gPSBzdW0gPSBpID0gMDsg
aSA8IG47ICsraSkgeworICAgIHN1bXNbaSArIDFdID0gc3VtICs9IG5vZGVzW2ldLnZhbHVlOwor
ICB9CisKKyAgcGFydGl0aW9uKDAsIG4sIHBhcmVudC52YWx1ZSwgeDAsIHkwLCB4MSwgeTEpOwor
CisgIGZ1bmN0aW9uIHBhcnRpdGlvbihpLCBqLCB2YWx1ZSwgeDAsIHkwLCB4MSwgeTEpIHsKKyAg
ICBpZiAoaSA+PSBqIC0gMSkgeworICAgICAgdmFyIG5vZGUgPSBub2Rlc1tpXTsKKyAgICAgIG5v
ZGUueDAgPSB4MCwgbm9kZS55MCA9IHkwOworICAgICAgbm9kZS54MSA9IHgxLCBub2RlLnkxID0g
eTE7CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgdmFyIHZhbHVlT2Zmc2V0ID0gc3Vtc1tp
XSwKKyAgICAgICAgdmFsdWVUYXJnZXQgPSAodmFsdWUgLyAyKSArIHZhbHVlT2Zmc2V0LAorICAg
ICAgICBrID0gaSArIDEsCisgICAgICAgIGhpID0gaiAtIDE7CisKKyAgICB3aGlsZSAoayA8IGhp
KSB7CisgICAgICB2YXIgbWlkID0gayArIGhpID4+PiAxOworICAgICAgaWYgKHN1bXNbbWlkXSA8
IHZhbHVlVGFyZ2V0KSBrID0gbWlkICsgMTsKKyAgICAgIGVsc2UgaGkgPSBtaWQ7CisgICAgfQor
CisgICAgaWYgKCh2YWx1ZVRhcmdldCAtIHN1bXNbayAtIDFdKSA8IChzdW1zW2tdIC0gdmFsdWVU
YXJnZXQpICYmIGkgKyAxIDwgaykgLS1rOworCisgICAgdmFyIHZhbHVlTGVmdCA9IHN1bXNba10g
LSB2YWx1ZU9mZnNldCwKKyAgICAgICAgdmFsdWVSaWdodCA9IHZhbHVlIC0gdmFsdWVMZWZ0Owor
CisgICAgaWYgKCh4MSAtIHgwKSA+ICh5MSAtIHkwKSkgeworICAgICAgdmFyIHhrID0gKHgwICog
dmFsdWVSaWdodCArIHgxICogdmFsdWVMZWZ0KSAvIHZhbHVlOworICAgICAgcGFydGl0aW9uKGks
IGssIHZhbHVlTGVmdCwgeDAsIHkwLCB4aywgeTEpOworICAgICAgcGFydGl0aW9uKGssIGosIHZh
bHVlUmlnaHQsIHhrLCB5MCwgeDEsIHkxKTsKKyAgICB9IGVsc2UgeworICAgICAgdmFyIHlrID0g
KHkwICogdmFsdWVSaWdodCArIHkxICogdmFsdWVMZWZ0KSAvIHZhbHVlOworICAgICAgcGFydGl0
aW9uKGksIGssIHZhbHVlTGVmdCwgeDAsIHkwLCB4MSwgeWspOworICAgICAgcGFydGl0aW9uKGss
IGosIHZhbHVlUmlnaHQsIHgwLCB5aywgeDEsIHkxKTsKKyAgICB9CisgIH0KK30KKworZnVuY3Rp
b24gc2xpY2VEaWNlKHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgKHBhcmVudC5kZXB0aCAm
IDEgPyB0cmVlbWFwU2xpY2UgOiB0cmVlbWFwRGljZSkocGFyZW50LCB4MCwgeTAsIHgxLCB5MSk7
Cit9CisKK3ZhciByZXNxdWFyaWZ5ID0gKGZ1bmN0aW9uIGN1c3RvbShyYXRpbykgeworCisgIGZ1
bmN0aW9uIHJlc3F1YXJpZnkocGFyZW50LCB4MCwgeTAsIHgxLCB5MSkgeworICAgIGlmICgocm93
cyA9IHBhcmVudC5fc3F1YXJpZnkpICYmIChyb3dzLnJhdGlvID09PSByYXRpbykpIHsKKyAgICAg
IHZhciByb3dzLAorICAgICAgICAgIHJvdywKKyAgICAgICAgICBub2RlcywKKyAgICAgICAgICBp
LAorICAgICAgICAgIGogPSAtMSwKKyAgICAgICAgICBuLAorICAgICAgICAgIG0gPSByb3dzLmxl
bmd0aCwKKyAgICAgICAgICB2YWx1ZSA9IHBhcmVudC52YWx1ZTsKKworICAgICAgd2hpbGUgKCsr
aiA8IG0pIHsKKyAgICAgICAgcm93ID0gcm93c1tqXSwgbm9kZXMgPSByb3cuY2hpbGRyZW47Cisg
ICAgICAgIGZvciAoaSA9IHJvdy52YWx1ZSA9IDAsIG4gPSBub2Rlcy5sZW5ndGg7IGkgPCBuOyAr
K2kpIHJvdy52YWx1ZSArPSBub2Rlc1tpXS52YWx1ZTsKKyAgICAgICAgaWYgKHJvdy5kaWNlKSB0
cmVlbWFwRGljZShyb3csIHgwLCB5MCwgeDEsIHkwICs9ICh5MSAtIHkwKSAqIHJvdy52YWx1ZSAv
IHZhbHVlKTsKKyAgICAgICAgZWxzZSB0cmVlbWFwU2xpY2Uocm93LCB4MCwgeTAsIHgwICs9ICh4
MSAtIHgwKSAqIHJvdy52YWx1ZSAvIHZhbHVlLCB5MSk7CisgICAgICAgIHZhbHVlIC09IHJvdy52
YWx1ZTsKKyAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgcGFyZW50Ll9zcXVhcmlmeSA9IHJv
d3MgPSBzcXVhcmlmeVJhdGlvKHJhdGlvLCBwYXJlbnQsIHgwLCB5MCwgeDEsIHkxKTsKKyAgICAg
IHJvd3MucmF0aW8gPSByYXRpbzsKKyAgICB9CisgIH0KKworICByZXNxdWFyaWZ5LnJhdGlvID0g
ZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBjdXN0b20oKHggPSAreCkgPiAxID8geCA6IDEpOwor
ICB9OworCisgIHJldHVybiByZXNxdWFyaWZ5OworfSkocGhpKTsKKworZnVuY3Rpb24gYXJlYSQy
KHBvbHlnb24pIHsKKyAgdmFyIGkgPSAtMSwKKyAgICAgIG4gPSBwb2x5Z29uLmxlbmd0aCwKKyAg
ICAgIGEsCisgICAgICBiID0gcG9seWdvbltuIC0gMV0sCisgICAgICBhcmVhID0gMDsKKworICB3
aGlsZSAoKytpIDwgbikgeworICAgIGEgPSBiOworICAgIGIgPSBwb2x5Z29uW2ldOworICAgIGFy
ZWEgKz0gYVsxXSAqIGJbMF0gLSBhWzBdICogYlsxXTsKKyAgfQorCisgIHJldHVybiBhcmVhIC8g
MjsKK30KKworZnVuY3Rpb24gY2VudHJvaWQkMShwb2x5Z29uKSB7CisgIHZhciBpID0gLTEsCisg
ICAgICBuID0gcG9seWdvbi5sZW5ndGgsCisgICAgICB4ID0gMCwKKyAgICAgIHkgPSAwLAorICAg
ICAgYSwKKyAgICAgIGIgPSBwb2x5Z29uW24gLSAxXSwKKyAgICAgIGMsCisgICAgICBrID0gMDsK
KworICB3aGlsZSAoKytpIDwgbikgeworICAgIGEgPSBiOworICAgIGIgPSBwb2x5Z29uW2ldOwor
ICAgIGsgKz0gYyA9IGFbMF0gKiBiWzFdIC0gYlswXSAqIGFbMV07CisgICAgeCArPSAoYVswXSAr
IGJbMF0pICogYzsKKyAgICB5ICs9IChhWzFdICsgYlsxXSkgKiBjOworICB9CisKKyAgcmV0dXJu
IGsgKj0gMywgW3ggLyBrLCB5IC8ga107Cit9CisKKy8vIFJldHVybnMgdGhlIDJEIGNyb3NzIHBy
b2R1Y3Qgb2YgQUIgYW5kIEFDIHZlY3RvcnMsIGkuZS4sIHRoZSB6LWNvbXBvbmVudCBvZgorLy8g
dGhlIDNEIGNyb3NzIHByb2R1Y3QgaW4gYSBxdWFkcmFudCBJIENhcnRlc2lhbiBjb29yZGluYXRl
IHN5c3RlbSAoK3ggaXMKKy8vIHJpZ2h0LCAreSBpcyB1cCkuIFJldHVybnMgYSBwb3NpdGl2ZSB2
YWx1ZSBpZiBBQkMgaXMgY291bnRlci1jbG9ja3dpc2UsCisvLyBuZWdhdGl2ZSBpZiBjbG9ja3dp
c2UsIGFuZCB6ZXJvIGlmIHRoZSBwb2ludHMgYXJlIGNvbGxpbmVhci4KK2Z1bmN0aW9uIGNyb3Nz
JDEoYSwgYiwgYykgeworICByZXR1cm4gKGJbMF0gLSBhWzBdKSAqIChjWzFdIC0gYVsxXSkgLSAo
YlsxXSAtIGFbMV0pICogKGNbMF0gLSBhWzBdKTsKK30KKworZnVuY3Rpb24gbGV4aWNvZ3JhcGhp
Y09yZGVyKGEsIGIpIHsKKyAgcmV0dXJuIGFbMF0gLSBiWzBdIHx8IGFbMV0gLSBiWzFdOworfQor
CisvLyBDb21wdXRlcyB0aGUgdXBwZXIgY29udmV4IGh1bGwgcGVyIHRoZSBtb25vdG9uZSBjaGFp
biBhbGdvcml0aG0uCisvLyBBc3N1bWVzIHBvaW50cy5sZW5ndGggPj0gMywgaXMgc29ydGVkIGJ5
IHgsIHVuaXF1ZSBpbiB5LgorLy8gUmV0dXJucyBhbiBhcnJheSBvZiBpbmRpY2VzIGludG8gcG9p
bnRzIGluIGxlZnQtdG8tcmlnaHQgb3JkZXIuCitmdW5jdGlvbiBjb21wdXRlVXBwZXJIdWxsSW5k
ZXhlcyhwb2ludHMpIHsKKyAgdmFyIG4gPSBwb2ludHMubGVuZ3RoLAorICAgICAgaW5kZXhlcyA9
IFswLCAxXSwKKyAgICAgIHNpemUgPSAyOworCisgIGZvciAodmFyIGkgPSAyOyBpIDwgbjsgKytp
KSB7CisgICAgd2hpbGUgKHNpemUgPiAxICYmIGNyb3NzJDEocG9pbnRzW2luZGV4ZXNbc2l6ZSAt
IDJdXSwgcG9pbnRzW2luZGV4ZXNbc2l6ZSAtIDFdXSwgcG9pbnRzW2ldKSA8PSAwKSAtLXNpemU7
CisgICAgaW5kZXhlc1tzaXplKytdID0gaTsKKyAgfQorCisgIHJldHVybiBpbmRleGVzLnNsaWNl
KDAsIHNpemUpOyAvLyByZW1vdmUgcG9wcGVkIHBvaW50cworfQorCitmdW5jdGlvbiBodWxsKHBv
aW50cykgeworICBpZiAoKG4gPSBwb2ludHMubGVuZ3RoKSA8IDMpIHJldHVybiBudWxsOworCisg
IHZhciBpLAorICAgICAgbiwKKyAgICAgIHNvcnRlZFBvaW50cyA9IG5ldyBBcnJheShuKSwKKyAg
ICAgIGZsaXBwZWRQb2ludHMgPSBuZXcgQXJyYXkobik7CisKKyAgZm9yIChpID0gMDsgaSA8IG47
ICsraSkgc29ydGVkUG9pbnRzW2ldID0gWytwb2ludHNbaV1bMF0sICtwb2ludHNbaV1bMV0sIGld
OworICBzb3J0ZWRQb2ludHMuc29ydChsZXhpY29ncmFwaGljT3JkZXIpOworICBmb3IgKGkgPSAw
OyBpIDwgbjsgKytpKSBmbGlwcGVkUG9pbnRzW2ldID0gW3NvcnRlZFBvaW50c1tpXVswXSwgLXNv
cnRlZFBvaW50c1tpXVsxXV07CisKKyAgdmFyIHVwcGVySW5kZXhlcyA9IGNvbXB1dGVVcHBlckh1
bGxJbmRleGVzKHNvcnRlZFBvaW50cyksCisgICAgICBsb3dlckluZGV4ZXMgPSBjb21wdXRlVXBw
ZXJIdWxsSW5kZXhlcyhmbGlwcGVkUG9pbnRzKTsKKworICAvLyBDb25zdHJ1Y3QgdGhlIGh1bGwg
cG9seWdvbiwgcmVtb3ZpbmcgcG9zc2libGUgZHVwbGljYXRlIGVuZHBvaW50cy4KKyAgdmFyIHNr
aXBMZWZ0ID0gbG93ZXJJbmRleGVzWzBdID09PSB1cHBlckluZGV4ZXNbMF0sCisgICAgICBza2lw
UmlnaHQgPSBsb3dlckluZGV4ZXNbbG93ZXJJbmRleGVzLmxlbmd0aCAtIDFdID09PSB1cHBlcklu
ZGV4ZXNbdXBwZXJJbmRleGVzLmxlbmd0aCAtIDFdLAorICAgICAgaHVsbCA9IFtdOworCisgIC8v
IEFkZCB1cHBlciBodWxsIGluIHJpZ2h0LXRvLWwgb3JkZXIuCisgIC8vIFRoZW4gYWRkIGxvd2Vy
IGh1bGwgaW4gbGVmdC10by1yaWdodCBvcmRlci4KKyAgZm9yIChpID0gdXBwZXJJbmRleGVzLmxl
bmd0aCAtIDE7IGkgPj0gMDsgLS1pKSBodWxsLnB1c2gocG9pbnRzW3NvcnRlZFBvaW50c1t1cHBl
ckluZGV4ZXNbaV1dWzJdXSk7CisgIGZvciAoaSA9ICtza2lwTGVmdDsgaSA8IGxvd2VySW5kZXhl
cy5sZW5ndGggLSBza2lwUmlnaHQ7ICsraSkgaHVsbC5wdXNoKHBvaW50c1tzb3J0ZWRQb2ludHNb
bG93ZXJJbmRleGVzW2ldXVsyXV0pOworCisgIHJldHVybiBodWxsOworfQorCitmdW5jdGlvbiBj
b250YWlucyQyKHBvbHlnb24sIHBvaW50KSB7CisgIHZhciBuID0gcG9seWdvbi5sZW5ndGgsCisg
ICAgICBwID0gcG9seWdvbltuIC0gMV0sCisgICAgICB4ID0gcG9pbnRbMF0sIHkgPSBwb2ludFsx
XSwKKyAgICAgIHgwID0gcFswXSwgeTAgPSBwWzFdLAorICAgICAgeDEsIHkxLAorICAgICAgaW5z
aWRlID0gZmFsc2U7CisKKyAgZm9yICh2YXIgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICBwID0g
cG9seWdvbltpXSwgeDEgPSBwWzBdLCB5MSA9IHBbMV07CisgICAgaWYgKCgoeTEgPiB5KSAhPT0g
KHkwID4geSkpICYmICh4IDwgKHgwIC0geDEpICogKHkgLSB5MSkgLyAoeTAgLSB5MSkgKyB4MSkp
IGluc2lkZSA9ICFpbnNpZGU7CisgICAgeDAgPSB4MSwgeTAgPSB5MTsKKyAgfQorCisgIHJldHVy
biBpbnNpZGU7Cit9CisKK2Z1bmN0aW9uIGxlbmd0aCQyKHBvbHlnb24pIHsKKyAgdmFyIGkgPSAt
MSwKKyAgICAgIG4gPSBwb2x5Z29uLmxlbmd0aCwKKyAgICAgIGIgPSBwb2x5Z29uW24gLSAxXSwK
KyAgICAgIHhhLAorICAgICAgeWEsCisgICAgICB4YiA9IGJbMF0sCisgICAgICB5YiA9IGJbMV0s
CisgICAgICBwZXJpbWV0ZXIgPSAwOworCisgIHdoaWxlICgrK2kgPCBuKSB7CisgICAgeGEgPSB4
YjsKKyAgICB5YSA9IHliOworICAgIGIgPSBwb2x5Z29uW2ldOworICAgIHhiID0gYlswXTsKKyAg
ICB5YiA9IGJbMV07CisgICAgeGEgLT0geGI7CisgICAgeWEgLT0geWI7CisgICAgcGVyaW1ldGVy
ICs9IE1hdGguc3FydCh4YSAqIHhhICsgeWEgKiB5YSk7CisgIH0KKworICByZXR1cm4gcGVyaW1l
dGVyOworfQorCitmdW5jdGlvbiBkZWZhdWx0U291cmNlJDEoKSB7CisgIHJldHVybiBNYXRoLnJh
bmRvbSgpOworfQorCit2YXIgdW5pZm9ybSA9IChmdW5jdGlvbiBzb3VyY2VSYW5kb21Vbmlmb3Jt
KHNvdXJjZSkgeworICBmdW5jdGlvbiByYW5kb21Vbmlmb3JtKG1pbiwgbWF4KSB7CisgICAgbWlu
ID0gbWluID09IG51bGwgPyAwIDogK21pbjsKKyAgICBtYXggPSBtYXggPT0gbnVsbCA/IDEgOiAr
bWF4OworICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKSBtYXggPSBtaW4sIG1pbiA9IDA7
CisgICAgZWxzZSBtYXggLT0gbWluOworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgIHJl
dHVybiBzb3VyY2UoKSAqIG1heCArIG1pbjsKKyAgICB9OworICB9CisKKyAgcmFuZG9tVW5pZm9y
bS5zb3VyY2UgPSBzb3VyY2VSYW5kb21Vbmlmb3JtOworCisgIHJldHVybiByYW5kb21Vbmlmb3Jt
OworfSkoZGVmYXVsdFNvdXJjZSQxKTsKKwordmFyIG5vcm1hbCA9IChmdW5jdGlvbiBzb3VyY2VS
YW5kb21Ob3JtYWwoc291cmNlKSB7CisgIGZ1bmN0aW9uIHJhbmRvbU5vcm1hbChtdSwgc2lnbWEp
IHsKKyAgICB2YXIgeCwgcjsKKyAgICBtdSA9IG11ID09IG51bGwgPyAwIDogK211OworICAgIHNp
Z21hID0gc2lnbWEgPT0gbnVsbCA/IDEgOiArc2lnbWE7CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkg
eworICAgICAgdmFyIHk7CisKKyAgICAgIC8vIElmIGF2YWlsYWJsZSwgdXNlIHRoZSBzZWNvbmQg
cHJldmlvdXNseS1nZW5lcmF0ZWQgdW5pZm9ybSByYW5kb20uCisgICAgICBpZiAoeCAhPSBudWxs
KSB5ID0geCwgeCA9IG51bGw7CisKKyAgICAgIC8vIE90aGVyd2lzZSwgZ2VuZXJhdGUgYSBuZXcg
eCBhbmQgeS4KKyAgICAgIGVsc2UgZG8geworICAgICAgICB4ID0gc291cmNlKCkgKiAyIC0gMTsK
KyAgICAgICAgeSA9IHNvdXJjZSgpICogMiAtIDE7CisgICAgICAgIHIgPSB4ICogeCArIHkgKiB5
OworICAgICAgfSB3aGlsZSAoIXIgfHwgciA+IDEpOworCisgICAgICByZXR1cm4gbXUgKyBzaWdt
YSAqIHkgKiBNYXRoLnNxcnQoLTIgKiBNYXRoLmxvZyhyKSAvIHIpOworICAgIH07CisgIH0KKwor
ICByYW5kb21Ob3JtYWwuc291cmNlID0gc291cmNlUmFuZG9tTm9ybWFsOworCisgIHJldHVybiBy
YW5kb21Ob3JtYWw7Cit9KShkZWZhdWx0U291cmNlJDEpOworCit2YXIgbG9nTm9ybWFsID0gKGZ1
bmN0aW9uIHNvdXJjZVJhbmRvbUxvZ05vcm1hbChzb3VyY2UpIHsKKyAgZnVuY3Rpb24gcmFuZG9t
TG9nTm9ybWFsKCkgeworICAgIHZhciByYW5kb21Ob3JtYWwgPSBub3JtYWwuc291cmNlKHNvdXJj
ZSkuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAg
ICByZXR1cm4gTWF0aC5leHAocmFuZG9tTm9ybWFsKCkpOworICAgIH07CisgIH0KKworICByYW5k
b21Mb2dOb3JtYWwuc291cmNlID0gc291cmNlUmFuZG9tTG9nTm9ybWFsOworCisgIHJldHVybiBy
YW5kb21Mb2dOb3JtYWw7Cit9KShkZWZhdWx0U291cmNlJDEpOworCit2YXIgaXJ3aW5IYWxsID0g
KGZ1bmN0aW9uIHNvdXJjZVJhbmRvbUlyd2luSGFsbChzb3VyY2UpIHsKKyAgZnVuY3Rpb24gcmFu
ZG9tSXJ3aW5IYWxsKG4pIHsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICBmb3IgKHZh
ciBzdW0gPSAwLCBpID0gMDsgaSA8IG47ICsraSkgc3VtICs9IHNvdXJjZSgpOworICAgICAgcmV0
dXJuIHN1bTsKKyAgICB9OworICB9CisKKyAgcmFuZG9tSXJ3aW5IYWxsLnNvdXJjZSA9IHNvdXJj
ZVJhbmRvbUlyd2luSGFsbDsKKworICByZXR1cm4gcmFuZG9tSXJ3aW5IYWxsOworfSkoZGVmYXVs
dFNvdXJjZSQxKTsKKwordmFyIGJhdGVzID0gKGZ1bmN0aW9uIHNvdXJjZVJhbmRvbUJhdGVzKHNv
dXJjZSkgeworICBmdW5jdGlvbiByYW5kb21CYXRlcyhuKSB7CisgICAgdmFyIHJhbmRvbUlyd2lu
SGFsbCA9IGlyd2luSGFsbC5zb3VyY2Uoc291cmNlKShuKTsKKyAgICByZXR1cm4gZnVuY3Rpb24o
KSB7CisgICAgICByZXR1cm4gcmFuZG9tSXJ3aW5IYWxsKCkgLyBuOworICAgIH07CisgIH0KKwor
ICByYW5kb21CYXRlcy5zb3VyY2UgPSBzb3VyY2VSYW5kb21CYXRlczsKKworICByZXR1cm4gcmFu
ZG9tQmF0ZXM7Cit9KShkZWZhdWx0U291cmNlJDEpOworCit2YXIgZXhwb25lbnRpYWwkMSA9IChm
dW5jdGlvbiBzb3VyY2VSYW5kb21FeHBvbmVudGlhbChzb3VyY2UpIHsKKyAgZnVuY3Rpb24gcmFu
ZG9tRXhwb25lbnRpYWwobGFtYmRhKSB7CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAg
cmV0dXJuIC1NYXRoLmxvZygxIC0gc291cmNlKCkpIC8gbGFtYmRhOworICAgIH07CisgIH0KKwor
ICByYW5kb21FeHBvbmVudGlhbC5zb3VyY2UgPSBzb3VyY2VSYW5kb21FeHBvbmVudGlhbDsKKwor
ICByZXR1cm4gcmFuZG9tRXhwb25lbnRpYWw7Cit9KShkZWZhdWx0U291cmNlJDEpOworCitmdW5j
dGlvbiBpbml0UmFuZ2UoZG9tYWluLCByYW5nZSkgeworICBzd2l0Y2ggKGFyZ3VtZW50cy5sZW5n
dGgpIHsKKyAgICBjYXNlIDA6IGJyZWFrOworICAgIGNhc2UgMTogdGhpcy5yYW5nZShkb21haW4p
OyBicmVhazsKKyAgICBkZWZhdWx0OiB0aGlzLnJhbmdlKHJhbmdlKS5kb21haW4oZG9tYWluKTsg
YnJlYWs7CisgIH0KKyAgcmV0dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9uIGluaXRJbnRlcnBvbGF0
b3IoZG9tYWluLCBpbnRlcnBvbGF0b3IpIHsKKyAgc3dpdGNoIChhcmd1bWVudHMubGVuZ3RoKSB7
CisgICAgY2FzZSAwOiBicmVhazsKKyAgICBjYXNlIDE6IHRoaXMuaW50ZXJwb2xhdG9yKGRvbWFp
bik7IGJyZWFrOworICAgIGRlZmF1bHQ6IHRoaXMuaW50ZXJwb2xhdG9yKGludGVycG9sYXRvciku
ZG9tYWluKGRvbWFpbik7IGJyZWFrOworICB9CisgIHJldHVybiB0aGlzOworfQorCit2YXIgYXJy
YXkkMyA9IEFycmF5LnByb3RvdHlwZTsKKwordmFyIG1hcCQzID0gYXJyYXkkMy5tYXA7Cit2YXIg
c2xpY2UkNSA9IGFycmF5JDMuc2xpY2U7CisKK3ZhciBpbXBsaWNpdCA9IHtuYW1lOiAiaW1wbGlj
aXQifTsKKworZnVuY3Rpb24gb3JkaW5hbCgpIHsKKyAgdmFyIGluZGV4ID0gbWFwJDEoKSwKKyAg
ICAgIGRvbWFpbiA9IFtdLAorICAgICAgcmFuZ2UgPSBbXSwKKyAgICAgIHVua25vd24gPSBpbXBs
aWNpdDsKKworICBmdW5jdGlvbiBzY2FsZShkKSB7CisgICAgdmFyIGtleSA9IGQgKyAiIiwgaSA9
IGluZGV4LmdldChrZXkpOworICAgIGlmICghaSkgeworICAgICAgaWYgKHVua25vd24gIT09IGlt
cGxpY2l0KSByZXR1cm4gdW5rbm93bjsKKyAgICAgIGluZGV4LnNldChrZXksIGkgPSBkb21haW4u
cHVzaChkKSk7CisgICAgfQorICAgIHJldHVybiByYW5nZVsoaSAtIDEpICUgcmFuZ2UubGVuZ3Ro
XTsKKyAgfQorCisgIHNjYWxlLmRvbWFpbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3Vt
ZW50cy5sZW5ndGgpIHJldHVybiBkb21haW4uc2xpY2UoKTsKKyAgICBkb21haW4gPSBbXSwgaW5k
ZXggPSBtYXAkMSgpOworICAgIHZhciBpID0gLTEsIG4gPSBfLmxlbmd0aCwgZCwga2V5OworICAg
IHdoaWxlICgrK2kgPCBuKSBpZiAoIWluZGV4LmhhcyhrZXkgPSAoZCA9IF9baV0pICsgIiIpKSBp
bmRleC5zZXQoa2V5LCBkb21haW4ucHVzaChkKSk7CisgICAgcmV0dXJuIHNjYWxlOworICB9Owor
CisgIHNjYWxlLnJhbmdlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHJhbmdlID0gc2xpY2UkNS5jYWxsKF8pLCBzY2FsZSkgOiByYW5nZS5zbGljZSgpOwor
ICB9OworCisgIHNjYWxlLnVua25vd24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAodW5rbm93biA9IF8sIHNjYWxlKSA6IHVua25vd247CisgIH07CisKKyAg
c2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBvcmRpbmFsKGRvbWFpbiwgcmFu
Z2UpLnVua25vd24odW5rbm93bik7CisgIH07CisKKyAgaW5pdFJhbmdlLmFwcGx5KHNjYWxlLCBh
cmd1bWVudHMpOworCisgIHJldHVybiBzY2FsZTsKK30KKworZnVuY3Rpb24gYmFuZCgpIHsKKyAg
dmFyIHNjYWxlID0gb3JkaW5hbCgpLnVua25vd24odW5kZWZpbmVkKSwKKyAgICAgIGRvbWFpbiA9
IHNjYWxlLmRvbWFpbiwKKyAgICAgIG9yZGluYWxSYW5nZSA9IHNjYWxlLnJhbmdlLAorICAgICAg
cmFuZ2UgPSBbMCwgMV0sCisgICAgICBzdGVwLAorICAgICAgYmFuZHdpZHRoLAorICAgICAgcm91
bmQgPSBmYWxzZSwKKyAgICAgIHBhZGRpbmdJbm5lciA9IDAsCisgICAgICBwYWRkaW5nT3V0ZXIg
PSAwLAorICAgICAgYWxpZ24gPSAwLjU7CisKKyAgZGVsZXRlIHNjYWxlLnVua25vd247CisKKyAg
ZnVuY3Rpb24gcmVzY2FsZSgpIHsKKyAgICB2YXIgbiA9IGRvbWFpbigpLmxlbmd0aCwKKyAgICAg
ICAgcmV2ZXJzZSA9IHJhbmdlWzFdIDwgcmFuZ2VbMF0sCisgICAgICAgIHN0YXJ0ID0gcmFuZ2Vb
cmV2ZXJzZSAtIDBdLAorICAgICAgICBzdG9wID0gcmFuZ2VbMSAtIHJldmVyc2VdOworICAgIHN0
ZXAgPSAoc3RvcCAtIHN0YXJ0KSAvIE1hdGgubWF4KDEsIG4gLSBwYWRkaW5nSW5uZXIgKyBwYWRk
aW5nT3V0ZXIgKiAyKTsKKyAgICBpZiAocm91bmQpIHN0ZXAgPSBNYXRoLmZsb29yKHN0ZXApOwor
ICAgIHN0YXJ0ICs9IChzdG9wIC0gc3RhcnQgLSBzdGVwICogKG4gLSBwYWRkaW5nSW5uZXIpKSAq
IGFsaWduOworICAgIGJhbmR3aWR0aCA9IHN0ZXAgKiAoMSAtIHBhZGRpbmdJbm5lcik7CisgICAg
aWYgKHJvdW5kKSBzdGFydCA9IE1hdGgucm91bmQoc3RhcnQpLCBiYW5kd2lkdGggPSBNYXRoLnJv
dW5kKGJhbmR3aWR0aCk7CisgICAgdmFyIHZhbHVlcyA9IHNlcXVlbmNlKG4pLm1hcChmdW5jdGlv
bihpKSB7IHJldHVybiBzdGFydCArIHN0ZXAgKiBpOyB9KTsKKyAgICByZXR1cm4gb3JkaW5hbFJh
bmdlKHJldmVyc2UgPyB2YWx1ZXMucmV2ZXJzZSgpIDogdmFsdWVzKTsKKyAgfQorCisgIHNjYWxl
LmRvbWFpbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChk
b21haW4oXyksIHJlc2NhbGUoKSkgOiBkb21haW4oKTsKKyAgfTsKKworICBzY2FsZS5yYW5nZSA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChyYW5nZSA9IFsr
X1swXSwgK19bMV1dLCByZXNjYWxlKCkpIDogcmFuZ2Uuc2xpY2UoKTsKKyAgfTsKKworICBzY2Fs
ZS5yYW5nZVJvdW5kID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiByYW5nZSA9IFsrX1swXSwg
K19bMV1dLCByb3VuZCA9IHRydWUsIHJlc2NhbGUoKTsKKyAgfTsKKworICBzY2FsZS5iYW5kd2lk
dGggPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gYmFuZHdpZHRoOworICB9OworCisgIHNjYWxl
LnN0ZXAgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gc3RlcDsKKyAgfTsKKworICBzY2FsZS5y
b3VuZCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChyb3Vu
ZCA9ICEhXywgcmVzY2FsZSgpKSA6IHJvdW5kOworICB9OworCisgIHNjYWxlLnBhZGRpbmcgPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocGFkZGluZ0lubmVy
ID0gTWF0aC5taW4oMSwgcGFkZGluZ091dGVyID0gK18pLCByZXNjYWxlKCkpIDogcGFkZGluZ0lu
bmVyOworICB9OworCisgIHNjYWxlLnBhZGRpbmdJbm5lciA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRkaW5nSW5uZXIgPSBNYXRoLm1pbigxLCBfKSwg
cmVzY2FsZSgpKSA6IHBhZGRpbmdJbm5lcjsKKyAgfTsKKworICBzY2FsZS5wYWRkaW5nT3V0ZXIg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocGFkZGluZ091
dGVyID0gK18sIHJlc2NhbGUoKSkgOiBwYWRkaW5nT3V0ZXI7CisgIH07CisKKyAgc2NhbGUuYWxp
Z24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoYWxpZ24g
PSBNYXRoLm1heCgwLCBNYXRoLm1pbigxLCBfKSksIHJlc2NhbGUoKSkgOiBhbGlnbjsKKyAgfTsK
KworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGJhbmQoZG9tYWluKCks
IHJhbmdlKQorICAgICAgICAucm91bmQocm91bmQpCisgICAgICAgIC5wYWRkaW5nSW5uZXIocGFk
ZGluZ0lubmVyKQorICAgICAgICAucGFkZGluZ091dGVyKHBhZGRpbmdPdXRlcikKKyAgICAgICAg
LmFsaWduKGFsaWduKTsKKyAgfTsKKworICByZXR1cm4gaW5pdFJhbmdlLmFwcGx5KHJlc2NhbGUo
KSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gcG9pbnRpc2goc2NhbGUpIHsKKyAgdmFyIGNv
cHkgPSBzY2FsZS5jb3B5OworCisgIHNjYWxlLnBhZGRpbmcgPSBzY2FsZS5wYWRkaW5nT3V0ZXI7
CisgIGRlbGV0ZSBzY2FsZS5wYWRkaW5nSW5uZXI7CisgIGRlbGV0ZSBzY2FsZS5wYWRkaW5nT3V0
ZXI7CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBwb2ludGlzaChj
b3B5KCkpOworICB9OworCisgIHJldHVybiBzY2FsZTsKK30KKworZnVuY3Rpb24gcG9pbnQkMSgp
IHsKKyAgcmV0dXJuIHBvaW50aXNoKGJhbmQuYXBwbHkobnVsbCwgYXJndW1lbnRzKS5wYWRkaW5n
SW5uZXIoMSkpOworfQorCitmdW5jdGlvbiBjb25zdGFudCRhKHgpIHsKKyAgcmV0dXJuIGZ1bmN0
aW9uKCkgeworICAgIHJldHVybiB4OworICB9OworfQorCitmdW5jdGlvbiBudW1iZXIkMih4KSB7
CisgIHJldHVybiAreDsKK30KKwordmFyIHVuaXQgPSBbMCwgMV07CisKK2Z1bmN0aW9uIGlkZW50
aXR5JDYoeCkgeworICByZXR1cm4geDsKK30KKworZnVuY3Rpb24gbm9ybWFsaXplKGEsIGIpIHsK
KyAgcmV0dXJuIChiIC09IChhID0gK2EpKQorICAgICAgPyBmdW5jdGlvbih4KSB7IHJldHVybiAo
eCAtIGEpIC8gYjsgfQorICAgICAgOiBjb25zdGFudCRhKGlzTmFOKGIpID8gTmFOIDogMC41KTsK
K30KKworZnVuY3Rpb24gY2xhbXBlcihkb21haW4pIHsKKyAgdmFyIGEgPSBkb21haW5bMF0sIGIg
PSBkb21haW5bZG9tYWluLmxlbmd0aCAtIDFdLCB0OworICBpZiAoYSA+IGIpIHQgPSBhLCBhID0g
YiwgYiA9IHQ7CisgIHJldHVybiBmdW5jdGlvbih4KSB7IHJldHVybiBNYXRoLm1heChhLCBNYXRo
Lm1pbihiLCB4KSk7IH07Cit9CisKKy8vIG5vcm1hbGl6ZShhLCBiKSh4KSB0YWtlcyBhIGRvbWFp
biB2YWx1ZSB4IGluIFthLGJdIGFuZCByZXR1cm5zIHRoZSBjb3JyZXNwb25kaW5nIHBhcmFtZXRl
ciB0IGluIFswLDFdLgorLy8gaW50ZXJwb2xhdGUoYSwgYikodCkgdGFrZXMgYSBwYXJhbWV0ZXIg
dCBpbiBbMCwxXSBhbmQgcmV0dXJucyB0aGUgY29ycmVzcG9uZGluZyByYW5nZSB2YWx1ZSB4IGlu
IFthLGJdLgorZnVuY3Rpb24gYmltYXAoZG9tYWluLCByYW5nZSwgaW50ZXJwb2xhdGUpIHsKKyAg
dmFyIGQwID0gZG9tYWluWzBdLCBkMSA9IGRvbWFpblsxXSwgcjAgPSByYW5nZVswXSwgcjEgPSBy
YW5nZVsxXTsKKyAgaWYgKGQxIDwgZDApIGQwID0gbm9ybWFsaXplKGQxLCBkMCksIHIwID0gaW50
ZXJwb2xhdGUocjEsIHIwKTsKKyAgZWxzZSBkMCA9IG5vcm1hbGl6ZShkMCwgZDEpLCByMCA9IGlu
dGVycG9sYXRlKHIwLCByMSk7CisgIHJldHVybiBmdW5jdGlvbih4KSB7IHJldHVybiByMChkMCh4
KSk7IH07Cit9CisKK2Z1bmN0aW9uIHBvbHltYXAoZG9tYWluLCByYW5nZSwgaW50ZXJwb2xhdGUp
IHsKKyAgdmFyIGogPSBNYXRoLm1pbihkb21haW4ubGVuZ3RoLCByYW5nZS5sZW5ndGgpIC0gMSwK
KyAgICAgIGQgPSBuZXcgQXJyYXkoaiksCisgICAgICByID0gbmV3IEFycmF5KGopLAorICAgICAg
aSA9IC0xOworCisgIC8vIFJldmVyc2UgZGVzY2VuZGluZyBkb21haW5zLgorICBpZiAoZG9tYWlu
W2pdIDwgZG9tYWluWzBdKSB7CisgICAgZG9tYWluID0gZG9tYWluLnNsaWNlKCkucmV2ZXJzZSgp
OworICAgIHJhbmdlID0gcmFuZ2Uuc2xpY2UoKS5yZXZlcnNlKCk7CisgIH0KKworICB3aGlsZSAo
KytpIDwgaikgeworICAgIGRbaV0gPSBub3JtYWxpemUoZG9tYWluW2ldLCBkb21haW5baSArIDFd
KTsKKyAgICByW2ldID0gaW50ZXJwb2xhdGUocmFuZ2VbaV0sIHJhbmdlW2kgKyAxXSk7CisgIH0K
KworICByZXR1cm4gZnVuY3Rpb24oeCkgeworICAgIHZhciBpID0gYmlzZWN0UmlnaHQoZG9tYWlu
LCB4LCAxLCBqKSAtIDE7CisgICAgcmV0dXJuIHJbaV0oZFtpXSh4KSk7CisgIH07Cit9CisKK2Z1
bmN0aW9uIGNvcHkoc291cmNlLCB0YXJnZXQpIHsKKyAgcmV0dXJuIHRhcmdldAorICAgICAgLmRv
bWFpbihzb3VyY2UuZG9tYWluKCkpCisgICAgICAucmFuZ2Uoc291cmNlLnJhbmdlKCkpCisgICAg
ICAuaW50ZXJwb2xhdGUoc291cmNlLmludGVycG9sYXRlKCkpCisgICAgICAuY2xhbXAoc291cmNl
LmNsYW1wKCkpCisgICAgICAudW5rbm93bihzb3VyY2UudW5rbm93bigpKTsKK30KKworZnVuY3Rp
b24gdHJhbnNmb3JtZXIkMSgpIHsKKyAgdmFyIGRvbWFpbiA9IHVuaXQsCisgICAgICByYW5nZSA9
IHVuaXQsCisgICAgICBpbnRlcnBvbGF0ZSA9IGludGVycG9sYXRlVmFsdWUsCisgICAgICB0cmFu
c2Zvcm0sCisgICAgICB1bnRyYW5zZm9ybSwKKyAgICAgIHVua25vd24sCisgICAgICBjbGFtcCA9
IGlkZW50aXR5JDYsCisgICAgICBwaWVjZXdpc2UsCisgICAgICBvdXRwdXQsCisgICAgICBpbnB1
dDsKKworICBmdW5jdGlvbiByZXNjYWxlKCkgeworICAgIHBpZWNld2lzZSA9IE1hdGgubWluKGRv
bWFpbi5sZW5ndGgsIHJhbmdlLmxlbmd0aCkgPiAyID8gcG9seW1hcCA6IGJpbWFwOworICAgIG91
dHB1dCA9IGlucHV0ID0gbnVsbDsKKyAgICByZXR1cm4gc2NhbGU7CisgIH0KKworICBmdW5jdGlv
biBzY2FsZSh4KSB7CisgICAgcmV0dXJuIGlzTmFOKHggPSAreCkgPyB1bmtub3duIDogKG91dHB1
dCB8fCAob3V0cHV0ID0gcGllY2V3aXNlKGRvbWFpbi5tYXAodHJhbnNmb3JtKSwgcmFuZ2UsIGlu
dGVycG9sYXRlKSkpKHRyYW5zZm9ybShjbGFtcCh4KSkpOworICB9CisKKyAgc2NhbGUuaW52ZXJ0
ID0gZnVuY3Rpb24oeSkgeworICAgIHJldHVybiBjbGFtcCh1bnRyYW5zZm9ybSgoaW5wdXQgfHwg
KGlucHV0ID0gcGllY2V3aXNlKHJhbmdlLCBkb21haW4ubWFwKHRyYW5zZm9ybSksIGludGVycG9s
YXRlTnVtYmVyKSkpKHkpKSk7CisgIH07CisKKyAgc2NhbGUuZG9tYWluID0gZnVuY3Rpb24oXykg
eworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGRvbWFpbiA9IG1hcCQzLmNhbGwoXywg
bnVtYmVyJDIpLCBjbGFtcCA9PT0gaWRlbnRpdHkkNiB8fCAoY2xhbXAgPSBjbGFtcGVyKGRvbWFp
bikpLCByZXNjYWxlKCkpIDogZG9tYWluLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUucmFuZ2Ug
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocmFuZ2UgPSBz
bGljZSQ1LmNhbGwoXyksIHJlc2NhbGUoKSkgOiByYW5nZS5zbGljZSgpOworICB9OworCisgIHNj
YWxlLnJhbmdlUm91bmQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIHJhbmdlID0gc2xpY2Uk
NS5jYWxsKF8pLCBpbnRlcnBvbGF0ZSA9IGludGVycG9sYXRlUm91bmQsIHJlc2NhbGUoKTsKKyAg
fTsKKworICBzY2FsZS5jbGFtcCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/IChjbGFtcCA9IF8gPyBjbGFtcGVyKGRvbWFpbikgOiBpZGVudGl0eSQ2LCBzY2Fs
ZSkgOiBjbGFtcCAhPT0gaWRlbnRpdHkkNjsKKyAgfTsKKworICBzY2FsZS5pbnRlcnBvbGF0ZSA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChpbnRlcnBvbGF0
ZSA9IF8sIHJlc2NhbGUoKSkgOiBpbnRlcnBvbGF0ZTsKKyAgfTsKKworICBzY2FsZS51bmtub3du
ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHVua25vd24g
PSBfLCBzY2FsZSkgOiB1bmtub3duOworICB9OworCisgIHJldHVybiBmdW5jdGlvbih0LCB1KSB7
CisgICAgdHJhbnNmb3JtID0gdCwgdW50cmFuc2Zvcm0gPSB1OworICAgIHJldHVybiByZXNjYWxl
KCk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNvbnRpbnVvdXModHJhbnNmb3JtLCB1bnRyYW5zZm9y
bSkgeworICByZXR1cm4gdHJhbnNmb3JtZXIkMSgpKHRyYW5zZm9ybSwgdW50cmFuc2Zvcm0pOwor
fQorCitmdW5jdGlvbiB0aWNrRm9ybWF0KHN0YXJ0LCBzdG9wLCBjb3VudCwgc3BlY2lmaWVyKSB7
CisgIHZhciBzdGVwID0gdGlja1N0ZXAoc3RhcnQsIHN0b3AsIGNvdW50KSwKKyAgICAgIHByZWNp
c2lvbjsKKyAgc3BlY2lmaWVyID0gZm9ybWF0U3BlY2lmaWVyKHNwZWNpZmllciA9PSBudWxsID8g
IixmIiA6IHNwZWNpZmllcik7CisgIHN3aXRjaCAoc3BlY2lmaWVyLnR5cGUpIHsKKyAgICBjYXNl
ICJzIjogeworICAgICAgdmFyIHZhbHVlID0gTWF0aC5tYXgoTWF0aC5hYnMoc3RhcnQpLCBNYXRo
LmFicyhzdG9wKSk7CisgICAgICBpZiAoc3BlY2lmaWVyLnByZWNpc2lvbiA9PSBudWxsICYmICFp
c05hTihwcmVjaXNpb24gPSBwcmVjaXNpb25QcmVmaXgoc3RlcCwgdmFsdWUpKSkgc3BlY2lmaWVy
LnByZWNpc2lvbiA9IHByZWNpc2lvbjsKKyAgICAgIHJldHVybiBleHBvcnRzLmZvcm1hdFByZWZp
eChzcGVjaWZpZXIsIHZhbHVlKTsKKyAgICB9CisgICAgY2FzZSAiIjoKKyAgICBjYXNlICJlIjoK
KyAgICBjYXNlICJnIjoKKyAgICBjYXNlICJwIjoKKyAgICBjYXNlICJyIjogeworICAgICAgaWYg
KHNwZWNpZmllci5wcmVjaXNpb24gPT0gbnVsbCAmJiAhaXNOYU4ocHJlY2lzaW9uID0gcHJlY2lz
aW9uUm91bmQoc3RlcCwgTWF0aC5tYXgoTWF0aC5hYnMoc3RhcnQpLCBNYXRoLmFicyhzdG9wKSkp
KSkgc3BlY2lmaWVyLnByZWNpc2lvbiA9IHByZWNpc2lvbiAtIChzcGVjaWZpZXIudHlwZSA9PT0g
ImUiKTsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlICJmIjoKKyAgICBjYXNlICIlIjog
eworICAgICAgaWYgKHNwZWNpZmllci5wcmVjaXNpb24gPT0gbnVsbCAmJiAhaXNOYU4ocHJlY2lz
aW9uID0gcHJlY2lzaW9uRml4ZWQoc3RlcCkpKSBzcGVjaWZpZXIucHJlY2lzaW9uID0gcHJlY2lz
aW9uIC0gKHNwZWNpZmllci50eXBlID09PSAiJSIpICogMjsKKyAgICAgIGJyZWFrOworICAgIH0K
KyAgfQorICByZXR1cm4gZXhwb3J0cy5mb3JtYXQoc3BlY2lmaWVyKTsKK30KKworZnVuY3Rpb24g
bGluZWFyaXNoKHNjYWxlKSB7CisgIHZhciBkb21haW4gPSBzY2FsZS5kb21haW47CisKKyAgc2Nh
bGUudGlja3MgPSBmdW5jdGlvbihjb3VudCkgeworICAgIHZhciBkID0gZG9tYWluKCk7CisgICAg
cmV0dXJuIHRpY2tzKGRbMF0sIGRbZC5sZW5ndGggLSAxXSwgY291bnQgPT0gbnVsbCA/IDEwIDog
Y291bnQpOworICB9OworCisgIHNjYWxlLnRpY2tGb3JtYXQgPSBmdW5jdGlvbihjb3VudCwgc3Bl
Y2lmaWVyKSB7CisgICAgdmFyIGQgPSBkb21haW4oKTsKKyAgICByZXR1cm4gdGlja0Zvcm1hdChk
WzBdLCBkW2QubGVuZ3RoIC0gMV0sIGNvdW50ID09IG51bGwgPyAxMCA6IGNvdW50LCBzcGVjaWZp
ZXIpOworICB9OworCisgIHNjYWxlLm5pY2UgPSBmdW5jdGlvbihjb3VudCkgeworICAgIGlmIChj
b3VudCA9PSBudWxsKSBjb3VudCA9IDEwOworCisgICAgdmFyIGQgPSBkb21haW4oKSwKKyAgICAg
ICAgaTAgPSAwLAorICAgICAgICBpMSA9IGQubGVuZ3RoIC0gMSwKKyAgICAgICAgc3RhcnQgPSBk
W2kwXSwKKyAgICAgICAgc3RvcCA9IGRbaTFdLAorICAgICAgICBzdGVwOworCisgICAgaWYgKHN0
b3AgPCBzdGFydCkgeworICAgICAgc3RlcCA9IHN0YXJ0LCBzdGFydCA9IHN0b3AsIHN0b3AgPSBz
dGVwOworICAgICAgc3RlcCA9IGkwLCBpMCA9IGkxLCBpMSA9IHN0ZXA7CisgICAgfQorCisgICAg
c3RlcCA9IHRpY2tJbmNyZW1lbnQoc3RhcnQsIHN0b3AsIGNvdW50KTsKKworICAgIGlmIChzdGVw
ID4gMCkgeworICAgICAgc3RhcnQgPSBNYXRoLmZsb29yKHN0YXJ0IC8gc3RlcCkgKiBzdGVwOwor
ICAgICAgc3RvcCA9IE1hdGguY2VpbChzdG9wIC8gc3RlcCkgKiBzdGVwOworICAgICAgc3RlcCA9
IHRpY2tJbmNyZW1lbnQoc3RhcnQsIHN0b3AsIGNvdW50KTsKKyAgICB9IGVsc2UgaWYgKHN0ZXAg
PCAwKSB7CisgICAgICBzdGFydCA9IE1hdGguY2VpbChzdGFydCAqIHN0ZXApIC8gc3RlcDsKKyAg
ICAgIHN0b3AgPSBNYXRoLmZsb29yKHN0b3AgKiBzdGVwKSAvIHN0ZXA7CisgICAgICBzdGVwID0g
dGlja0luY3JlbWVudChzdGFydCwgc3RvcCwgY291bnQpOworICAgIH0KKworICAgIGlmIChzdGVw
ID4gMCkgeworICAgICAgZFtpMF0gPSBNYXRoLmZsb29yKHN0YXJ0IC8gc3RlcCkgKiBzdGVwOwor
ICAgICAgZFtpMV0gPSBNYXRoLmNlaWwoc3RvcCAvIHN0ZXApICogc3RlcDsKKyAgICAgIGRvbWFp
bihkKTsKKyAgICB9IGVsc2UgaWYgKHN0ZXAgPCAwKSB7CisgICAgICBkW2kwXSA9IE1hdGguY2Vp
bChzdGFydCAqIHN0ZXApIC8gc3RlcDsKKyAgICAgIGRbaTFdID0gTWF0aC5mbG9vcihzdG9wICog
c3RlcCkgLyBzdGVwOworICAgICAgZG9tYWluKGQpOworICAgIH0KKworICAgIHJldHVybiBzY2Fs
ZTsKKyAgfTsKKworICByZXR1cm4gc2NhbGU7Cit9CisKK2Z1bmN0aW9uIGxpbmVhciQyKCkgewor
ICB2YXIgc2NhbGUgPSBjb250aW51b3VzKGlkZW50aXR5JDYsIGlkZW50aXR5JDYpOworCisgIHNj
YWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weShzY2FsZSwgbGluZWFyJDIo
KSk7CisgIH07CisKKyAgaW5pdFJhbmdlLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworCisgIHJl
dHVybiBsaW5lYXJpc2goc2NhbGUpOworfQorCitmdW5jdGlvbiBpZGVudGl0eSQ3KGRvbWFpbikg
eworICB2YXIgdW5rbm93bjsKKworICBmdW5jdGlvbiBzY2FsZSh4KSB7CisgICAgcmV0dXJuIGlz
TmFOKHggPSAreCkgPyB1bmtub3duIDogeDsKKyAgfQorCisgIHNjYWxlLmludmVydCA9IHNjYWxl
OworCisgIHNjYWxlLmRvbWFpbiA9IHNjYWxlLnJhbmdlID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGRvbWFpbiA9IG1hcCQzLmNhbGwoXywgbnVtYmVyJDIp
LCBzY2FsZSkgOiBkb21haW4uc2xpY2UoKTsKKyAgfTsKKworICBzY2FsZS51bmtub3duID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHVua25vd24gPSBfLCBz
Y2FsZSkgOiB1bmtub3duOworICB9OworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAg
ICByZXR1cm4gaWRlbnRpdHkkNyhkb21haW4pLnVua25vd24odW5rbm93bik7CisgIH07CisKKyAg
ZG9tYWluID0gYXJndW1lbnRzLmxlbmd0aCA/IG1hcCQzLmNhbGwoZG9tYWluLCBudW1iZXIkMikg
OiBbMCwgMV07CisKKyAgcmV0dXJuIGxpbmVhcmlzaChzY2FsZSk7Cit9CisKK2Z1bmN0aW9uIG5p
Y2UoZG9tYWluLCBpbnRlcnZhbCkgeworICBkb21haW4gPSBkb21haW4uc2xpY2UoKTsKKworICB2
YXIgaTAgPSAwLAorICAgICAgaTEgPSBkb21haW4ubGVuZ3RoIC0gMSwKKyAgICAgIHgwID0gZG9t
YWluW2kwXSwKKyAgICAgIHgxID0gZG9tYWluW2kxXSwKKyAgICAgIHQ7CisKKyAgaWYgKHgxIDwg
eDApIHsKKyAgICB0ID0gaTAsIGkwID0gaTEsIGkxID0gdDsKKyAgICB0ID0geDAsIHgwID0geDEs
IHgxID0gdDsKKyAgfQorCisgIGRvbWFpbltpMF0gPSBpbnRlcnZhbC5mbG9vcih4MCk7CisgIGRv
bWFpbltpMV0gPSBpbnRlcnZhbC5jZWlsKHgxKTsKKyAgcmV0dXJuIGRvbWFpbjsKK30KKworZnVu
Y3Rpb24gdHJhbnNmb3JtTG9nKHgpIHsKKyAgcmV0dXJuIE1hdGgubG9nKHgpOworfQorCitmdW5j
dGlvbiB0cmFuc2Zvcm1FeHAoeCkgeworICByZXR1cm4gTWF0aC5leHAoeCk7Cit9CisKK2Z1bmN0
aW9uIHRyYW5zZm9ybUxvZ24oeCkgeworICByZXR1cm4gLU1hdGgubG9nKC14KTsKK30KKworZnVu
Y3Rpb24gdHJhbnNmb3JtRXhwbih4KSB7CisgIHJldHVybiAtTWF0aC5leHAoLXgpOworfQorCitm
dW5jdGlvbiBwb3cxMCh4KSB7CisgIHJldHVybiBpc0Zpbml0ZSh4KSA/ICsoIjFlIiArIHgpIDog
eCA8IDAgPyAwIDogeDsKK30KKworZnVuY3Rpb24gcG93cChiYXNlKSB7CisgIHJldHVybiBiYXNl
ID09PSAxMCA/IHBvdzEwCisgICAgICA6IGJhc2UgPT09IE1hdGguRSA/IE1hdGguZXhwCisgICAg
ICA6IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIE1hdGgucG93KGJhc2UsIHgpOyB9OworfQorCitmdW5j
dGlvbiBsb2dwKGJhc2UpIHsKKyAgcmV0dXJuIGJhc2UgPT09IE1hdGguRSA/IE1hdGgubG9nCisg
ICAgICA6IGJhc2UgPT09IDEwICYmIE1hdGgubG9nMTAKKyAgICAgIHx8IGJhc2UgPT09IDIgJiYg
TWF0aC5sb2cyCisgICAgICB8fCAoYmFzZSA9IE1hdGgubG9nKGJhc2UpLCBmdW5jdGlvbih4KSB7
IHJldHVybiBNYXRoLmxvZyh4KSAvIGJhc2U7IH0pOworfQorCitmdW5jdGlvbiByZWZsZWN0KGYp
IHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gLWYoLXgpOworICB9OworfQor
CitmdW5jdGlvbiBsb2dnaXNoKHRyYW5zZm9ybSkgeworICB2YXIgc2NhbGUgPSB0cmFuc2Zvcm0o
dHJhbnNmb3JtTG9nLCB0cmFuc2Zvcm1FeHApLAorICAgICAgZG9tYWluID0gc2NhbGUuZG9tYWlu
LAorICAgICAgYmFzZSA9IDEwLAorICAgICAgbG9ncywKKyAgICAgIHBvd3M7CisKKyAgZnVuY3Rp
b24gcmVzY2FsZSgpIHsKKyAgICBsb2dzID0gbG9ncChiYXNlKSwgcG93cyA9IHBvd3AoYmFzZSk7
CisgICAgaWYgKGRvbWFpbigpWzBdIDwgMCkgeworICAgICAgbG9ncyA9IHJlZmxlY3QobG9ncyks
IHBvd3MgPSByZWZsZWN0KHBvd3MpOworICAgICAgdHJhbnNmb3JtKHRyYW5zZm9ybUxvZ24sIHRy
YW5zZm9ybUV4cG4pOworICAgIH0gZWxzZSB7CisgICAgICB0cmFuc2Zvcm0odHJhbnNmb3JtTG9n
LCB0cmFuc2Zvcm1FeHApOworICAgIH0KKyAgICByZXR1cm4gc2NhbGU7CisgIH0KKworICBzY2Fs
ZS5iYXNlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGJh
c2UgPSArXywgcmVzY2FsZSgpKSA6IGJhc2U7CisgIH07CisKKyAgc2NhbGUuZG9tYWluID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGRvbWFpbihfKSwgcmVz
Y2FsZSgpKSA6IGRvbWFpbigpOworICB9OworCisgIHNjYWxlLnRpY2tzID0gZnVuY3Rpb24oY291
bnQpIHsKKyAgICB2YXIgZCA9IGRvbWFpbigpLAorICAgICAgICB1ID0gZFswXSwKKyAgICAgICAg
diA9IGRbZC5sZW5ndGggLSAxXSwKKyAgICAgICAgcjsKKworICAgIGlmIChyID0gdiA8IHUpIGkg
PSB1LCB1ID0gdiwgdiA9IGk7CisKKyAgICB2YXIgaSA9IGxvZ3ModSksCisgICAgICAgIGogPSBs
b2dzKHYpLAorICAgICAgICBwLAorICAgICAgICBrLAorICAgICAgICB0LAorICAgICAgICBuID0g
Y291bnQgPT0gbnVsbCA/IDEwIDogK2NvdW50LAorICAgICAgICB6ID0gW107CisKKyAgICBpZiAo
IShiYXNlICUgMSkgJiYgaiAtIGkgPCBuKSB7CisgICAgICBpID0gTWF0aC5yb3VuZChpKSAtIDEs
IGogPSBNYXRoLnJvdW5kKGopICsgMTsKKyAgICAgIGlmICh1ID4gMCkgZm9yICg7IGkgPCBqOyAr
K2kpIHsKKyAgICAgICAgZm9yIChrID0gMSwgcCA9IHBvd3MoaSk7IGsgPCBiYXNlOyArK2spIHsK
KyAgICAgICAgICB0ID0gcCAqIGs7CisgICAgICAgICAgaWYgKHQgPCB1KSBjb250aW51ZTsKKyAg
ICAgICAgICBpZiAodCA+IHYpIGJyZWFrOworICAgICAgICAgIHoucHVzaCh0KTsKKyAgICAgICAg
fQorICAgICAgfSBlbHNlIGZvciAoOyBpIDwgajsgKytpKSB7CisgICAgICAgIGZvciAoayA9IGJh
c2UgLSAxLCBwID0gcG93cyhpKTsgayA+PSAxOyAtLWspIHsKKyAgICAgICAgICB0ID0gcCAqIGs7
CisgICAgICAgICAgaWYgKHQgPCB1KSBjb250aW51ZTsKKyAgICAgICAgICBpZiAodCA+IHYpIGJy
ZWFrOworICAgICAgICAgIHoucHVzaCh0KTsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0gZWxz
ZSB7CisgICAgICB6ID0gdGlja3MoaSwgaiwgTWF0aC5taW4oaiAtIGksIG4pKS5tYXAocG93cyk7
CisgICAgfQorCisgICAgcmV0dXJuIHIgPyB6LnJldmVyc2UoKSA6IHo7CisgIH07CisKKyAgc2Nh
bGUudGlja0Zvcm1hdCA9IGZ1bmN0aW9uKGNvdW50LCBzcGVjaWZpZXIpIHsKKyAgICBpZiAoc3Bl
Y2lmaWVyID09IG51bGwpIHNwZWNpZmllciA9IGJhc2UgPT09IDEwID8gIi4wZSIgOiAiLCI7Cisg
ICAgaWYgKHR5cGVvZiBzcGVjaWZpZXIgIT09ICJmdW5jdGlvbiIpIHNwZWNpZmllciA9IGV4cG9y
dHMuZm9ybWF0KHNwZWNpZmllcik7CisgICAgaWYgKGNvdW50ID09PSBJbmZpbml0eSkgcmV0dXJu
IHNwZWNpZmllcjsKKyAgICBpZiAoY291bnQgPT0gbnVsbCkgY291bnQgPSAxMDsKKyAgICB2YXIg
ayA9IE1hdGgubWF4KDEsIGJhc2UgKiBjb3VudCAvIHNjYWxlLnRpY2tzKCkubGVuZ3RoKTsgLy8g
VE9ETyBmYXN0IGVzdGltYXRlPworICAgIHJldHVybiBmdW5jdGlvbihkKSB7CisgICAgICB2YXIg
aSA9IGQgLyBwb3dzKE1hdGgucm91bmQobG9ncyhkKSkpOworICAgICAgaWYgKGkgKiBiYXNlIDwg
YmFzZSAtIDAuNSkgaSAqPSBiYXNlOworICAgICAgcmV0dXJuIGkgPD0gayA/IHNwZWNpZmllcihk
KSA6ICIiOworICAgIH07CisgIH07CisKKyAgc2NhbGUubmljZSA9IGZ1bmN0aW9uKCkgeworICAg
IHJldHVybiBkb21haW4obmljZShkb21haW4oKSwgeworICAgICAgZmxvb3I6IGZ1bmN0aW9uKHgp
IHsgcmV0dXJuIHBvd3MoTWF0aC5mbG9vcihsb2dzKHgpKSk7IH0sCisgICAgICBjZWlsOiBmdW5j
dGlvbih4KSB7IHJldHVybiBwb3dzKE1hdGguY2VpbChsb2dzKHgpKSk7IH0KKyAgICB9KSk7Cisg
IH07CisKKyAgcmV0dXJuIHNjYWxlOworfQorCitmdW5jdGlvbiBsb2ckMSgpIHsKKyAgdmFyIHNj
YWxlID0gbG9nZ2lzaCh0cmFuc2Zvcm1lciQxKCkpLmRvbWFpbihbMSwgMTBdKTsKKworICBzY2Fs
ZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkoc2NhbGUsIGxvZyQxKCkpLmJh
c2Uoc2NhbGUuYmFzZSgpKTsKKyAgfTsKKworICBpbml0UmFuZ2UuYXBwbHkoc2NhbGUsIGFyZ3Vt
ZW50cyk7CisKKyAgcmV0dXJuIHNjYWxlOworfQorCitmdW5jdGlvbiB0cmFuc2Zvcm1TeW1sb2co
YykgeworICByZXR1cm4gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBNYXRoLnNpZ24oeCkgKiBN
YXRoLmxvZzFwKE1hdGguYWJzKHggLyBjKSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zZm9y
bVN5bWV4cChjKSB7CisgIHJldHVybiBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIE1hdGguc2ln
bih4KSAqIE1hdGguZXhwbTEoTWF0aC5hYnMoeCkpICogYzsKKyAgfTsKK30KKworZnVuY3Rpb24g
c3ltbG9naXNoKHRyYW5zZm9ybSkgeworICB2YXIgYyA9IDEsIHNjYWxlID0gdHJhbnNmb3JtKHRy
YW5zZm9ybVN5bWxvZyhjKSwgdHJhbnNmb3JtU3ltZXhwKGMpKTsKKworICBzY2FsZS5jb25zdGFu
dCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IHRyYW5zZm9y
bSh0cmFuc2Zvcm1TeW1sb2coYyA9ICtfKSwgdHJhbnNmb3JtU3ltZXhwKGMpKSA6IGM7CisgIH07
CisKKyAgcmV0dXJuIGxpbmVhcmlzaChzY2FsZSk7Cit9CisKK2Z1bmN0aW9uIHN5bWxvZygpIHsK
KyAgdmFyIHNjYWxlID0gc3ltbG9naXNoKHRyYW5zZm9ybWVyJDEoKSk7CisKKyAgc2NhbGUuY29w
eSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBjb3B5KHNjYWxlLCBzeW1sb2coKSkuY29uc3Rh
bnQoc2NhbGUuY29uc3RhbnQoKSk7CisgIH07CisKKyAgcmV0dXJuIGluaXRSYW5nZS5hcHBseShz
Y2FsZSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3JtUG93KGV4cG9uZW50KSB7
CisgIHJldHVybiBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIHggPCAwID8gLU1hdGgucG93KC14
LCBleHBvbmVudCkgOiBNYXRoLnBvdyh4LCBleHBvbmVudCk7CisgIH07Cit9CisKK2Z1bmN0aW9u
IHRyYW5zZm9ybVNxcnQoeCkgeworICByZXR1cm4geCA8IDAgPyAtTWF0aC5zcXJ0KC14KSA6IE1h
dGguc3FydCh4KTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3JtU3F1YXJlKHgpIHsKKyAgcmV0dXJu
IHggPCAwID8gLXggKiB4IDogeCAqIHg7Cit9CisKK2Z1bmN0aW9uIHBvd2lzaCh0cmFuc2Zvcm0p
IHsKKyAgdmFyIHNjYWxlID0gdHJhbnNmb3JtKGlkZW50aXR5JDYsIGlkZW50aXR5JDYpLAorICAg
ICAgZXhwb25lbnQgPSAxOworCisgIGZ1bmN0aW9uIHJlc2NhbGUoKSB7CisgICAgcmV0dXJuIGV4
cG9uZW50ID09PSAxID8gdHJhbnNmb3JtKGlkZW50aXR5JDYsIGlkZW50aXR5JDYpCisgICAgICAg
IDogZXhwb25lbnQgPT09IDAuNSA/IHRyYW5zZm9ybSh0cmFuc2Zvcm1TcXJ0LCB0cmFuc2Zvcm1T
cXVhcmUpCisgICAgICAgIDogdHJhbnNmb3JtKHRyYW5zZm9ybVBvdyhleHBvbmVudCksIHRyYW5z
Zm9ybVBvdygxIC8gZXhwb25lbnQpKTsKKyAgfQorCisgIHNjYWxlLmV4cG9uZW50ID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGV4cG9uZW50ID0gK18sIHJl
c2NhbGUoKSkgOiBleHBvbmVudDsKKyAgfTsKKworICByZXR1cm4gbGluZWFyaXNoKHNjYWxlKTsK
K30KKworZnVuY3Rpb24gcG93JDEoKSB7CisgIHZhciBzY2FsZSA9IHBvd2lzaCh0cmFuc2Zvcm1l
ciQxKCkpOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weShz
Y2FsZSwgcG93JDEoKSkuZXhwb25lbnQoc2NhbGUuZXhwb25lbnQoKSk7CisgIH07CisKKyAgaW5p
dFJhbmdlLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworCisgIHJldHVybiBzY2FsZTsKK30KKwor
ZnVuY3Rpb24gc3FydCQxKCkgeworICByZXR1cm4gcG93JDEuYXBwbHkobnVsbCwgYXJndW1lbnRz
KS5leHBvbmVudCgwLjUpOworfQorCitmdW5jdGlvbiBxdWFudGlsZSgpIHsKKyAgdmFyIGRvbWFp
biA9IFtdLAorICAgICAgcmFuZ2UgPSBbXSwKKyAgICAgIHRocmVzaG9sZHMgPSBbXSwKKyAgICAg
IHVua25vd247CisKKyAgZnVuY3Rpb24gcmVzY2FsZSgpIHsKKyAgICB2YXIgaSA9IDAsIG4gPSBN
YXRoLm1heCgxLCByYW5nZS5sZW5ndGgpOworICAgIHRocmVzaG9sZHMgPSBuZXcgQXJyYXkobiAt
IDEpOworICAgIHdoaWxlICgrK2kgPCBuKSB0aHJlc2hvbGRzW2kgLSAxXSA9IHRocmVzaG9sZChk
b21haW4sIGkgLyBuKTsKKyAgICByZXR1cm4gc2NhbGU7CisgIH0KKworICBmdW5jdGlvbiBzY2Fs
ZSh4KSB7CisgICAgcmV0dXJuIGlzTmFOKHggPSAreCkgPyB1bmtub3duIDogcmFuZ2VbYmlzZWN0
UmlnaHQodGhyZXNob2xkcywgeCldOworICB9CisKKyAgc2NhbGUuaW52ZXJ0RXh0ZW50ID0gZnVu
Y3Rpb24oeSkgeworICAgIHZhciBpID0gcmFuZ2UuaW5kZXhPZih5KTsKKyAgICByZXR1cm4gaSA8
IDAgPyBbTmFOLCBOYU5dIDogWworICAgICAgaSA+IDAgPyB0aHJlc2hvbGRzW2kgLSAxXSA6IGRv
bWFpblswXSwKKyAgICAgIGkgPCB0aHJlc2hvbGRzLmxlbmd0aCA/IHRocmVzaG9sZHNbaV0gOiBk
b21haW5bZG9tYWluLmxlbmd0aCAtIDFdCisgICAgXTsKKyAgfTsKKworICBzY2FsZS5kb21haW4g
PSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gZG9tYWlu
LnNsaWNlKCk7CisgICAgZG9tYWluID0gW107CisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBfLmxl
bmd0aCwgZDsgaSA8IG47ICsraSkgaWYgKGQgPSBfW2ldLCBkICE9IG51bGwgJiYgIWlzTmFOKGQg
PSArZCkpIGRvbWFpbi5wdXNoKGQpOworICAgIGRvbWFpbi5zb3J0KGFzY2VuZGluZyk7CisgICAg
cmV0dXJuIHJlc2NhbGUoKTsKKyAgfTsKKworICBzY2FsZS5yYW5nZSA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChyYW5nZSA9IHNsaWNlJDUuY2FsbChfKSwg
cmVzY2FsZSgpKSA6IHJhbmdlLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUudW5rbm93biA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh1bmtub3duID0gXywg
c2NhbGUpIDogdW5rbm93bjsKKyAgfTsKKworICBzY2FsZS5xdWFudGlsZXMgPSBmdW5jdGlvbigp
IHsKKyAgICByZXR1cm4gdGhyZXNob2xkcy5zbGljZSgpOworICB9OworCisgIHNjYWxlLmNvcHkg
PSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gcXVhbnRpbGUoKQorICAgICAgICAuZG9tYWluKGRv
bWFpbikKKyAgICAgICAgLnJhbmdlKHJhbmdlKQorICAgICAgICAudW5rbm93bih1bmtub3duKTsK
KyAgfTsKKworICByZXR1cm4gaW5pdFJhbmdlLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworfQor
CitmdW5jdGlvbiBxdWFudGl6ZSQxKCkgeworICB2YXIgeDAgPSAwLAorICAgICAgeDEgPSAxLAor
ICAgICAgbiA9IDEsCisgICAgICBkb21haW4gPSBbMC41XSwKKyAgICAgIHJhbmdlID0gWzAsIDFd
LAorICAgICAgdW5rbm93bjsKKworICBmdW5jdGlvbiBzY2FsZSh4KSB7CisgICAgcmV0dXJuIHgg
PD0geCA/IHJhbmdlW2Jpc2VjdFJpZ2h0KGRvbWFpbiwgeCwgMCwgbildIDogdW5rbm93bjsKKyAg
fQorCisgIGZ1bmN0aW9uIHJlc2NhbGUoKSB7CisgICAgdmFyIGkgPSAtMTsKKyAgICBkb21haW4g
PSBuZXcgQXJyYXkobik7CisgICAgd2hpbGUgKCsraSA8IG4pIGRvbWFpbltpXSA9ICgoaSArIDEp
ICogeDEgLSAoaSAtIG4pICogeDApIC8gKG4gKyAxKTsKKyAgICByZXR1cm4gc2NhbGU7CisgIH0K
KworICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoeDAgPSArX1swXSwgeDEgPSArX1sxXSwgcmVzY2FsZSgpKSA6IFt4MCwgeDFdOwor
ICB9OworCisgIHNjYWxlLnJhbmdlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKG4gPSAocmFuZ2UgPSBzbGljZSQ1LmNhbGwoXykpLmxlbmd0aCAtIDEsIHJl
c2NhbGUoKSkgOiByYW5nZS5zbGljZSgpOworICB9OworCisgIHNjYWxlLmludmVydEV4dGVudCA9
IGZ1bmN0aW9uKHkpIHsKKyAgICB2YXIgaSA9IHJhbmdlLmluZGV4T2YoeSk7CisgICAgcmV0dXJu
IGkgPCAwID8gW05hTiwgTmFOXQorICAgICAgICA6IGkgPCAxID8gW3gwLCBkb21haW5bMF1dCisg
ICAgICAgIDogaSA+PSBuID8gW2RvbWFpbltuIC0gMV0sIHgxXQorICAgICAgICA6IFtkb21haW5b
aSAtIDFdLCBkb21haW5baV1dOworICB9OworCisgIHNjYWxlLnVua25vd24gPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodW5rbm93biA9IF8sIHNjYWxlKSA6
IHNjYWxlOworICB9OworCisgIHNjYWxlLnRocmVzaG9sZHMgPSBmdW5jdGlvbigpIHsKKyAgICBy
ZXR1cm4gZG9tYWluLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkg
eworICAgIHJldHVybiBxdWFudGl6ZSQxKCkKKyAgICAgICAgLmRvbWFpbihbeDAsIHgxXSkKKyAg
ICAgICAgLnJhbmdlKHJhbmdlKQorICAgICAgICAudW5rbm93bih1bmtub3duKTsKKyAgfTsKKwor
ICByZXR1cm4gaW5pdFJhbmdlLmFwcGx5KGxpbmVhcmlzaChzY2FsZSksIGFyZ3VtZW50cyk7Cit9
CisKK2Z1bmN0aW9uIHRocmVzaG9sZCQxKCkgeworICB2YXIgZG9tYWluID0gWzAuNV0sCisgICAg
ICByYW5nZSA9IFswLCAxXSwKKyAgICAgIHVua25vd24sCisgICAgICBuID0gMTsKKworICBmdW5j
dGlvbiBzY2FsZSh4KSB7CisgICAgcmV0dXJuIHggPD0geCA/IHJhbmdlW2Jpc2VjdFJpZ2h0KGRv
bWFpbiwgeCwgMCwgbildIDogdW5rbm93bjsKKyAgfQorCisgIHNjYWxlLmRvbWFpbiA9IGZ1bmN0
aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkb21haW4gPSBzbGljZSQ1
LmNhbGwoXyksIG4gPSBNYXRoLm1pbihkb21haW4ubGVuZ3RoLCByYW5nZS5sZW5ndGggLSAxKSwg
c2NhbGUpIDogZG9tYWluLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUucmFuZ2UgPSBmdW5jdGlv
bihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocmFuZ2UgPSBzbGljZSQ1LmNh
bGwoXyksIG4gPSBNYXRoLm1pbihkb21haW4ubGVuZ3RoLCByYW5nZS5sZW5ndGggLSAxKSwgc2Nh
bGUpIDogcmFuZ2Uuc2xpY2UoKTsKKyAgfTsKKworICBzY2FsZS5pbnZlcnRFeHRlbnQgPSBmdW5j
dGlvbih5KSB7CisgICAgdmFyIGkgPSByYW5nZS5pbmRleE9mKHkpOworICAgIHJldHVybiBbZG9t
YWluW2kgLSAxXSwgZG9tYWluW2ldXTsKKyAgfTsKKworICBzY2FsZS51bmtub3duID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHVua25vd24gPSBfLCBzY2Fs
ZSkgOiB1bmtub3duOworICB9OworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICBy
ZXR1cm4gdGhyZXNob2xkJDEoKQorICAgICAgICAuZG9tYWluKGRvbWFpbikKKyAgICAgICAgLnJh
bmdlKHJhbmdlKQorICAgICAgICAudW5rbm93bih1bmtub3duKTsKKyAgfTsKKworICByZXR1cm4g
aW5pdFJhbmdlLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworfQorCit2YXIgdDAkMSA9IG5ldyBE
YXRlLAorICAgIHQxJDEgPSBuZXcgRGF0ZTsKKworZnVuY3Rpb24gbmV3SW50ZXJ2YWwoZmxvb3Jp
LCBvZmZzZXRpLCBjb3VudCwgZmllbGQpIHsKKworICBmdW5jdGlvbiBpbnRlcnZhbChkYXRlKSB7
CisgICAgcmV0dXJuIGZsb29yaShkYXRlID0gYXJndW1lbnRzLmxlbmd0aCA9PT0gMCA/IG5ldyBE
YXRlIDogbmV3IERhdGUoK2RhdGUpKSwgZGF0ZTsKKyAgfQorCisgIGludGVydmFsLmZsb29yID0g
ZnVuY3Rpb24oZGF0ZSkgeworICAgIHJldHVybiBmbG9vcmkoZGF0ZSA9IG5ldyBEYXRlKCtkYXRl
KSksIGRhdGU7CisgIH07CisKKyAgaW50ZXJ2YWwuY2VpbCA9IGZ1bmN0aW9uKGRhdGUpIHsKKyAg
ICByZXR1cm4gZmxvb3JpKGRhdGUgPSBuZXcgRGF0ZShkYXRlIC0gMSkpLCBvZmZzZXRpKGRhdGUs
IDEpLCBmbG9vcmkoZGF0ZSksIGRhdGU7CisgIH07CisKKyAgaW50ZXJ2YWwucm91bmQgPSBmdW5j
dGlvbihkYXRlKSB7CisgICAgdmFyIGQwID0gaW50ZXJ2YWwoZGF0ZSksCisgICAgICAgIGQxID0g
aW50ZXJ2YWwuY2VpbChkYXRlKTsKKyAgICByZXR1cm4gZGF0ZSAtIGQwIDwgZDEgLSBkYXRlID8g
ZDAgOiBkMTsKKyAgfTsKKworICBpbnRlcnZhbC5vZmZzZXQgPSBmdW5jdGlvbihkYXRlLCBzdGVw
KSB7CisgICAgcmV0dXJuIG9mZnNldGkoZGF0ZSA9IG5ldyBEYXRlKCtkYXRlKSwgc3RlcCA9PSBu
dWxsID8gMSA6IE1hdGguZmxvb3Ioc3RlcCkpLCBkYXRlOworICB9OworCisgIGludGVydmFsLnJh
bmdlID0gZnVuY3Rpb24oc3RhcnQsIHN0b3AsIHN0ZXApIHsKKyAgICB2YXIgcmFuZ2UgPSBbXSwg
cHJldmlvdXM7CisgICAgc3RhcnQgPSBpbnRlcnZhbC5jZWlsKHN0YXJ0KTsKKyAgICBzdGVwID0g
c3RlcCA9PSBudWxsID8gMSA6IE1hdGguZmxvb3Ioc3RlcCk7CisgICAgaWYgKCEoc3RhcnQgPCBz
dG9wKSB8fCAhKHN0ZXAgPiAwKSkgcmV0dXJuIHJhbmdlOyAvLyBhbHNvIGhhbmRsZXMgSW52YWxp
ZCBEYXRlCisgICAgZG8gcmFuZ2UucHVzaChwcmV2aW91cyA9IG5ldyBEYXRlKCtzdGFydCkpLCBv
ZmZzZXRpKHN0YXJ0LCBzdGVwKSwgZmxvb3JpKHN0YXJ0KTsKKyAgICB3aGlsZSAocHJldmlvdXMg
PCBzdGFydCAmJiBzdGFydCA8IHN0b3ApOworICAgIHJldHVybiByYW5nZTsKKyAgfTsKKworICBp
bnRlcnZhbC5maWx0ZXIgPSBmdW5jdGlvbih0ZXN0KSB7CisgICAgcmV0dXJuIG5ld0ludGVydmFs
KGZ1bmN0aW9uKGRhdGUpIHsKKyAgICAgIGlmIChkYXRlID49IGRhdGUpIHdoaWxlIChmbG9vcmko
ZGF0ZSksICF0ZXN0KGRhdGUpKSBkYXRlLnNldFRpbWUoZGF0ZSAtIDEpOworICAgIH0sIGZ1bmN0
aW9uKGRhdGUsIHN0ZXApIHsKKyAgICAgIGlmIChkYXRlID49IGRhdGUpIHsKKyAgICAgICAgaWYg
KHN0ZXAgPCAwKSB3aGlsZSAoKytzdGVwIDw9IDApIHsKKyAgICAgICAgICB3aGlsZSAob2Zmc2V0
aShkYXRlLCAtMSksICF0ZXN0KGRhdGUpKSB7fSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWVt
cHR5CisgICAgICAgIH0gZWxzZSB3aGlsZSAoLS1zdGVwID49IDApIHsKKyAgICAgICAgICB3aGls
ZSAob2Zmc2V0aShkYXRlLCArMSksICF0ZXN0KGRhdGUpKSB7fSAvLyBlc2xpbnQtZGlzYWJsZS1s
aW5lIG5vLWVtcHR5CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9KTsKKyAgfTsKKworICBpZiAo
Y291bnQpIHsKKyAgICBpbnRlcnZhbC5jb3VudCA9IGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAg
ICAgIHQwJDEuc2V0VGltZSgrc3RhcnQpLCB0MSQxLnNldFRpbWUoK2VuZCk7CisgICAgICBmbG9v
cmkodDAkMSksIGZsb29yaSh0MSQxKTsKKyAgICAgIHJldHVybiBNYXRoLmZsb29yKGNvdW50KHQw
JDEsIHQxJDEpKTsKKyAgICB9OworCisgICAgaW50ZXJ2YWwuZXZlcnkgPSBmdW5jdGlvbihzdGVw
KSB7CisgICAgICBzdGVwID0gTWF0aC5mbG9vcihzdGVwKTsKKyAgICAgIHJldHVybiAhaXNGaW5p
dGUoc3RlcCkgfHwgIShzdGVwID4gMCkgPyBudWxsCisgICAgICAgICAgOiAhKHN0ZXAgPiAxKSA/
IGludGVydmFsCisgICAgICAgICAgOiBpbnRlcnZhbC5maWx0ZXIoZmllbGQKKyAgICAgICAgICAg
ICAgPyBmdW5jdGlvbihkKSB7IHJldHVybiBmaWVsZChkKSAlIHN0ZXAgPT09IDA7IH0KKyAgICAg
ICAgICAgICAgOiBmdW5jdGlvbihkKSB7IHJldHVybiBpbnRlcnZhbC5jb3VudCgwLCBkKSAlIHN0
ZXAgPT09IDA7IH0pOworICAgIH07CisgIH0KKworICByZXR1cm4gaW50ZXJ2YWw7Cit9CisKK3Zh
ciBtaWxsaXNlY29uZCA9IG5ld0ludGVydmFsKGZ1bmN0aW9uKCkgeworICAvLyBub29wCit9LCBm
dW5jdGlvbihkYXRlLCBzdGVwKSB7CisgIGRhdGUuc2V0VGltZSgrZGF0ZSArIHN0ZXApOworfSwg
ZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICByZXR1cm4gZW5kIC0gc3RhcnQ7Cit9KTsKKworLy8g
QW4gb3B0aW1pemVkIGltcGxlbWVudGF0aW9uIGZvciB0aGlzIHNpbXBsZSBjYXNlLgorbWlsbGlz
ZWNvbmQuZXZlcnkgPSBmdW5jdGlvbihrKSB7CisgIGsgPSBNYXRoLmZsb29yKGspOworICBpZiAo
IWlzRmluaXRlKGspIHx8ICEoayA+IDApKSByZXR1cm4gbnVsbDsKKyAgaWYgKCEoayA+IDEpKSBy
ZXR1cm4gbWlsbGlzZWNvbmQ7CisgIHJldHVybiBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7
CisgICAgZGF0ZS5zZXRUaW1lKE1hdGguZmxvb3IoZGF0ZSAvIGspICogayk7CisgIH0sIGZ1bmN0
aW9uKGRhdGUsIHN0ZXApIHsKKyAgICBkYXRlLnNldFRpbWUoK2RhdGUgKyBzdGVwICogayk7Cisg
IH0sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAgICByZXR1cm4gKGVuZCAtIHN0YXJ0KSAvIGs7
CisgIH0pOworfTsKK3ZhciBtaWxsaXNlY29uZHMgPSBtaWxsaXNlY29uZC5yYW5nZTsKKwordmFy
IGR1cmF0aW9uU2Vjb25kID0gMWUzOwordmFyIGR1cmF0aW9uTWludXRlID0gNmU0OwordmFyIGR1
cmF0aW9uSG91ciA9IDM2ZTU7Cit2YXIgZHVyYXRpb25EYXkgPSA4NjRlNTsKK3ZhciBkdXJhdGlv
bldlZWsgPSA2MDQ4ZTU7CisKK3ZhciBzZWNvbmQgPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRl
KSB7CisgIGRhdGUuc2V0VGltZShkYXRlIC0gZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSk7Cit9LCBm
dW5jdGlvbihkYXRlLCBzdGVwKSB7CisgIGRhdGUuc2V0VGltZSgrZGF0ZSArIHN0ZXAgKiBkdXJh
dGlvblNlY29uZCk7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVybiAoZW5kIC0g
c3RhcnQpIC8gZHVyYXRpb25TZWNvbmQ7Cit9LCBmdW5jdGlvbihkYXRlKSB7CisgIHJldHVybiBk
YXRlLmdldFVUQ1NlY29uZHMoKTsKK30pOwordmFyIHNlY29uZHMgPSBzZWNvbmQucmFuZ2U7CisK
K3ZhciBtaW51dGUgPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgIGRhdGUuc2V0VGlt
ZShkYXRlIC0gZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSAtIGRhdGUuZ2V0U2Vjb25kcygpICogZHVy
YXRpb25TZWNvbmQpOworfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICBkYXRlLnNldFRpbWUo
K2RhdGUgKyBzdGVwICogZHVyYXRpb25NaW51dGUpOworfSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkg
eworICByZXR1cm4gKGVuZCAtIHN0YXJ0KSAvIGR1cmF0aW9uTWludXRlOworfSwgZnVuY3Rpb24o
ZGF0ZSkgeworICByZXR1cm4gZGF0ZS5nZXRNaW51dGVzKCk7Cit9KTsKK3ZhciBtaW51dGVzID0g
bWludXRlLnJhbmdlOworCit2YXIgaG91ciA9IG5ld0ludGVydmFsKGZ1bmN0aW9uKGRhdGUpIHsK
KyAgZGF0ZS5zZXRUaW1lKGRhdGUgLSBkYXRlLmdldE1pbGxpc2Vjb25kcygpIC0gZGF0ZS5nZXRT
ZWNvbmRzKCkgKiBkdXJhdGlvblNlY29uZCAtIGRhdGUuZ2V0TWludXRlcygpICogZHVyYXRpb25N
aW51dGUpOworfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICBkYXRlLnNldFRpbWUoK2RhdGUg
KyBzdGVwICogZHVyYXRpb25Ib3VyKTsKK30sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAgcmV0
dXJuIChlbmQgLSBzdGFydCkgLyBkdXJhdGlvbkhvdXI7Cit9LCBmdW5jdGlvbihkYXRlKSB7Cisg
IHJldHVybiBkYXRlLmdldEhvdXJzKCk7Cit9KTsKK3ZhciBob3VycyA9IGhvdXIucmFuZ2U7CisK
K3ZhciBkYXkgPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgIGRhdGUuc2V0SG91cnMo
MCwgMCwgMCwgMCk7Cit9LCBmdW5jdGlvbihkYXRlLCBzdGVwKSB7CisgIGRhdGUuc2V0RGF0ZShk
YXRlLmdldERhdGUoKSArIHN0ZXApOworfSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICByZXR1
cm4gKGVuZCAtIHN0YXJ0IC0gKGVuZC5nZXRUaW1lem9uZU9mZnNldCgpIC0gc3RhcnQuZ2V0VGlt
ZXpvbmVPZmZzZXQoKSkgKiBkdXJhdGlvbk1pbnV0ZSkgLyBkdXJhdGlvbkRheTsKK30sIGZ1bmN0
aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0RGF0ZSgpIC0gMTsKK30pOwordmFyIGRheXMg
PSBkYXkucmFuZ2U7CisKK2Z1bmN0aW9uIHdlZWtkYXkoaSkgeworICByZXR1cm4gbmV3SW50ZXJ2
YWwoZnVuY3Rpb24oZGF0ZSkgeworICAgIGRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSAtIChk
YXRlLmdldERheSgpICsgNyAtIGkpICUgNyk7CisgICAgZGF0ZS5zZXRIb3VycygwLCAwLCAwLCAw
KTsKKyAgfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICAgIGRhdGUuc2V0RGF0ZShkYXRlLmdl
dERhdGUoKSArIHN0ZXAgKiA3KTsKKyAgfSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICAgIHJl
dHVybiAoZW5kIC0gc3RhcnQgLSAoZW5kLmdldFRpbWV6b25lT2Zmc2V0KCkgLSBzdGFydC5nZXRU
aW1lem9uZU9mZnNldCgpKSAqIGR1cmF0aW9uTWludXRlKSAvIGR1cmF0aW9uV2VlazsKKyAgfSk7
Cit9CisKK3ZhciBzdW5kYXkgPSB3ZWVrZGF5KDApOwordmFyIG1vbmRheSA9IHdlZWtkYXkoMSk7
Cit2YXIgdHVlc2RheSA9IHdlZWtkYXkoMik7Cit2YXIgd2VkbmVzZGF5ID0gd2Vla2RheSgzKTsK
K3ZhciB0aHVyc2RheSA9IHdlZWtkYXkoNCk7Cit2YXIgZnJpZGF5ID0gd2Vla2RheSg1KTsKK3Zh
ciBzYXR1cmRheSA9IHdlZWtkYXkoNik7CisKK3ZhciBzdW5kYXlzID0gc3VuZGF5LnJhbmdlOwor
dmFyIG1vbmRheXMgPSBtb25kYXkucmFuZ2U7Cit2YXIgdHVlc2RheXMgPSB0dWVzZGF5LnJhbmdl
OwordmFyIHdlZG5lc2RheXMgPSB3ZWRuZXNkYXkucmFuZ2U7Cit2YXIgdGh1cnNkYXlzID0gdGh1
cnNkYXkucmFuZ2U7Cit2YXIgZnJpZGF5cyA9IGZyaWRheS5yYW5nZTsKK3ZhciBzYXR1cmRheXMg
PSBzYXR1cmRheS5yYW5nZTsKKwordmFyIG1vbnRoID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0
ZSkgeworICBkYXRlLnNldERhdGUoMSk7CisgIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7Cit9
LCBmdW5jdGlvbihkYXRlLCBzdGVwKSB7CisgIGRhdGUuc2V0TW9udGgoZGF0ZS5nZXRNb250aCgp
ICsgc3RlcCk7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVybiBlbmQuZ2V0TW9u
dGgoKSAtIHN0YXJ0LmdldE1vbnRoKCkgKyAoZW5kLmdldEZ1bGxZZWFyKCkgLSBzdGFydC5nZXRG
dWxsWWVhcigpKSAqIDEyOworfSwgZnVuY3Rpb24oZGF0ZSkgeworICByZXR1cm4gZGF0ZS5nZXRN
b250aCgpOworfSk7Cit2YXIgbW9udGhzID0gbW9udGgucmFuZ2U7CisKK3ZhciB5ZWFyID0gbmV3
SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRlLnNldE1vbnRoKDAsIDEpOworICBkYXRl
LnNldEhvdXJzKDAsIDAsIDAsIDApOworfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICBkYXRl
LnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSArIHN0ZXApOworfSwgZnVuY3Rpb24oc3Rh
cnQsIGVuZCkgeworICByZXR1cm4gZW5kLmdldEZ1bGxZZWFyKCkgLSBzdGFydC5nZXRGdWxsWWVh
cigpOworfSwgZnVuY3Rpb24oZGF0ZSkgeworICByZXR1cm4gZGF0ZS5nZXRGdWxsWWVhcigpOwor
fSk7CisKKy8vIEFuIG9wdGltaXplZCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhpcyBzaW1wbGUgY2Fz
ZS4KK3llYXIuZXZlcnkgPSBmdW5jdGlvbihrKSB7CisgIHJldHVybiAhaXNGaW5pdGUoayA9IE1h
dGguZmxvb3IoaykpIHx8ICEoayA+IDApID8gbnVsbCA6IG5ld0ludGVydmFsKGZ1bmN0aW9uKGRh
dGUpIHsKKyAgICBkYXRlLnNldEZ1bGxZZWFyKE1hdGguZmxvb3IoZGF0ZS5nZXRGdWxsWWVhcigp
IC8gaykgKiBrKTsKKyAgICBkYXRlLnNldE1vbnRoKDAsIDEpOworICAgIGRhdGUuc2V0SG91cnMo
MCwgMCwgMCwgMCk7CisgIH0sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgICBkYXRlLnNldEZ1
bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSArIHN0ZXAgKiBrKTsKKyAgfSk7Cit9OwordmFyIHll
YXJzID0geWVhci5yYW5nZTsKKwordmFyIHV0Y01pbnV0ZSA9IG5ld0ludGVydmFsKGZ1bmN0aW9u
KGRhdGUpIHsKKyAgZGF0ZS5zZXRVVENTZWNvbmRzKDAsIDApOworfSwgZnVuY3Rpb24oZGF0ZSwg
c3RlcCkgeworICBkYXRlLnNldFRpbWUoK2RhdGUgKyBzdGVwICogZHVyYXRpb25NaW51dGUpOwor
fSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICByZXR1cm4gKGVuZCAtIHN0YXJ0KSAvIGR1cmF0
aW9uTWludXRlOworfSwgZnVuY3Rpb24oZGF0ZSkgeworICByZXR1cm4gZGF0ZS5nZXRVVENNaW51
dGVzKCk7Cit9KTsKK3ZhciB1dGNNaW51dGVzID0gdXRjTWludXRlLnJhbmdlOworCit2YXIgdXRj
SG91ciA9IG5ld0ludGVydmFsKGZ1bmN0aW9uKGRhdGUpIHsKKyAgZGF0ZS5zZXRVVENNaW51dGVz
KDAsIDAsIDApOworfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICBkYXRlLnNldFRpbWUoK2Rh
dGUgKyBzdGVwICogZHVyYXRpb25Ib3VyKTsKK30sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAg
cmV0dXJuIChlbmQgLSBzdGFydCkgLyBkdXJhdGlvbkhvdXI7Cit9LCBmdW5jdGlvbihkYXRlKSB7
CisgIHJldHVybiBkYXRlLmdldFVUQ0hvdXJzKCk7Cit9KTsKK3ZhciB1dGNIb3VycyA9IHV0Y0hv
dXIucmFuZ2U7CisKK3ZhciB1dGNEYXkgPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7Cisg
IGRhdGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7Cit9LCBmdW5jdGlvbihkYXRlLCBzdGVwKSB7
CisgIGRhdGUuc2V0VVRDRGF0ZShkYXRlLmdldFVUQ0RhdGUoKSArIHN0ZXApOworfSwgZnVuY3Rp
b24oc3RhcnQsIGVuZCkgeworICByZXR1cm4gKGVuZCAtIHN0YXJ0KSAvIGR1cmF0aW9uRGF5Owor
fSwgZnVuY3Rpb24oZGF0ZSkgeworICByZXR1cm4gZGF0ZS5nZXRVVENEYXRlKCkgLSAxOworfSk7
Cit2YXIgdXRjRGF5cyA9IHV0Y0RheS5yYW5nZTsKKworZnVuY3Rpb24gdXRjV2Vla2RheShpKSB7
CisgIHJldHVybiBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgICAgZGF0ZS5zZXRVVENE
YXRlKGRhdGUuZ2V0VVRDRGF0ZSgpIC0gKGRhdGUuZ2V0VVRDRGF5KCkgKyA3IC0gaSkgJSA3KTsK
KyAgICBkYXRlLnNldFVUQ0hvdXJzKDAsIDAsIDAsIDApOworICB9LCBmdW5jdGlvbihkYXRlLCBz
dGVwKSB7CisgICAgZGF0ZS5zZXRVVENEYXRlKGRhdGUuZ2V0VVRDRGF0ZSgpICsgc3RlcCAqIDcp
OworICB9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgICAgcmV0dXJuIChlbmQgLSBzdGFydCkg
LyBkdXJhdGlvbldlZWs7CisgIH0pOworfQorCit2YXIgdXRjU3VuZGF5ID0gdXRjV2Vla2RheSgw
KTsKK3ZhciB1dGNNb25kYXkgPSB1dGNXZWVrZGF5KDEpOwordmFyIHV0Y1R1ZXNkYXkgPSB1dGNX
ZWVrZGF5KDIpOwordmFyIHV0Y1dlZG5lc2RheSA9IHV0Y1dlZWtkYXkoMyk7Cit2YXIgdXRjVGh1
cnNkYXkgPSB1dGNXZWVrZGF5KDQpOwordmFyIHV0Y0ZyaWRheSA9IHV0Y1dlZWtkYXkoNSk7Cit2
YXIgdXRjU2F0dXJkYXkgPSB1dGNXZWVrZGF5KDYpOworCit2YXIgdXRjU3VuZGF5cyA9IHV0Y1N1
bmRheS5yYW5nZTsKK3ZhciB1dGNNb25kYXlzID0gdXRjTW9uZGF5LnJhbmdlOwordmFyIHV0Y1R1
ZXNkYXlzID0gdXRjVHVlc2RheS5yYW5nZTsKK3ZhciB1dGNXZWRuZXNkYXlzID0gdXRjV2VkbmVz
ZGF5LnJhbmdlOwordmFyIHV0Y1RodXJzZGF5cyA9IHV0Y1RodXJzZGF5LnJhbmdlOwordmFyIHV0
Y0ZyaWRheXMgPSB1dGNGcmlkYXkucmFuZ2U7Cit2YXIgdXRjU2F0dXJkYXlzID0gdXRjU2F0dXJk
YXkucmFuZ2U7CisKK3ZhciB1dGNNb250aCA9IG5ld0ludGVydmFsKGZ1bmN0aW9uKGRhdGUpIHsK
KyAgZGF0ZS5zZXRVVENEYXRlKDEpOworICBkYXRlLnNldFVUQ0hvdXJzKDAsIDAsIDAsIDApOwor
fSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICBkYXRlLnNldFVUQ01vbnRoKGRhdGUuZ2V0VVRD
TW9udGgoKSArIHN0ZXApOworfSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICByZXR1cm4gZW5k
LmdldFVUQ01vbnRoKCkgLSBzdGFydC5nZXRVVENNb250aCgpICsgKGVuZC5nZXRVVENGdWxsWWVh
cigpIC0gc3RhcnQuZ2V0VVRDRnVsbFllYXIoKSkgKiAxMjsKK30sIGZ1bmN0aW9uKGRhdGUpIHsK
KyAgcmV0dXJuIGRhdGUuZ2V0VVRDTW9udGgoKTsKK30pOwordmFyIHV0Y01vbnRocyA9IHV0Y01v
bnRoLnJhbmdlOworCit2YXIgdXRjWWVhciA9IG5ld0ludGVydmFsKGZ1bmN0aW9uKGRhdGUpIHsK
KyAgZGF0ZS5zZXRVVENNb250aCgwLCAxKTsKKyAgZGF0ZS5zZXRVVENIb3VycygwLCAwLCAwLCAw
KTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRVVENGdWxsWWVhcihkYXRl
LmdldFVUQ0Z1bGxZZWFyKCkgKyBzdGVwKTsKK30sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAg
cmV0dXJuIGVuZC5nZXRVVENGdWxsWWVhcigpIC0gc3RhcnQuZ2V0VVRDRnVsbFllYXIoKTsKK30s
IGZ1bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0VVRDRnVsbFllYXIoKTsKK30pOwor
CisvLyBBbiBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb24gZm9yIHRoaXMgc2ltcGxlIGNhc2UuCit1
dGNZZWFyLmV2ZXJ5ID0gZnVuY3Rpb24oaykgeworICByZXR1cm4gIWlzRmluaXRlKGsgPSBNYXRo
LmZsb29yKGspKSB8fCAhKGsgPiAwKSA/IG51bGwgOiBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRl
KSB7CisgICAgZGF0ZS5zZXRVVENGdWxsWWVhcihNYXRoLmZsb29yKGRhdGUuZ2V0VVRDRnVsbFll
YXIoKSAvIGspICogayk7CisgICAgZGF0ZS5zZXRVVENNb250aCgwLCAxKTsKKyAgICBkYXRlLnNl
dFVUQ0hvdXJzKDAsIDAsIDAsIDApOworICB9LCBmdW5jdGlvbihkYXRlLCBzdGVwKSB7CisgICAg
ZGF0ZS5zZXRVVENGdWxsWWVhcihkYXRlLmdldFVUQ0Z1bGxZZWFyKCkgKyBzdGVwICogayk7Cisg
IH0pOworfTsKK3ZhciB1dGNZZWFycyA9IHV0Y1llYXIucmFuZ2U7CisKK2Z1bmN0aW9uIGxvY2Fs
RGF0ZShkKSB7CisgIGlmICgwIDw9IGQueSAmJiBkLnkgPCAxMDApIHsKKyAgICB2YXIgZGF0ZSA9
IG5ldyBEYXRlKC0xLCBkLm0sIGQuZCwgZC5ILCBkLk0sIGQuUywgZC5MKTsKKyAgICBkYXRlLnNl
dEZ1bGxZZWFyKGQueSk7CisgICAgcmV0dXJuIGRhdGU7CisgIH0KKyAgcmV0dXJuIG5ldyBEYXRl
KGQueSwgZC5tLCBkLmQsIGQuSCwgZC5NLCBkLlMsIGQuTCk7Cit9CisKK2Z1bmN0aW9uIHV0Y0Rh
dGUoZCkgeworICBpZiAoMCA8PSBkLnkgJiYgZC55IDwgMTAwKSB7CisgICAgdmFyIGRhdGUgPSBu
ZXcgRGF0ZShEYXRlLlVUQygtMSwgZC5tLCBkLmQsIGQuSCwgZC5NLCBkLlMsIGQuTCkpOworICAg
IGRhdGUuc2V0VVRDRnVsbFllYXIoZC55KTsKKyAgICByZXR1cm4gZGF0ZTsKKyAgfQorICByZXR1
cm4gbmV3IERhdGUoRGF0ZS5VVEMoZC55LCBkLm0sIGQuZCwgZC5ILCBkLk0sIGQuUywgZC5MKSk7
Cit9CisKK2Z1bmN0aW9uIG5ld0RhdGUoeSwgbSwgZCkgeworICByZXR1cm4ge3k6IHksIG06IG0s
IGQ6IGQsIEg6IDAsIE06IDAsIFM6IDAsIEw6IDB9OworfQorCitmdW5jdGlvbiBmb3JtYXRMb2Nh
bGUkMShsb2NhbGUpIHsKKyAgdmFyIGxvY2FsZV9kYXRlVGltZSA9IGxvY2FsZS5kYXRlVGltZSwK
KyAgICAgIGxvY2FsZV9kYXRlID0gbG9jYWxlLmRhdGUsCisgICAgICBsb2NhbGVfdGltZSA9IGxv
Y2FsZS50aW1lLAorICAgICAgbG9jYWxlX3BlcmlvZHMgPSBsb2NhbGUucGVyaW9kcywKKyAgICAg
IGxvY2FsZV93ZWVrZGF5cyA9IGxvY2FsZS5kYXlzLAorICAgICAgbG9jYWxlX3Nob3J0V2Vla2Rh
eXMgPSBsb2NhbGUuc2hvcnREYXlzLAorICAgICAgbG9jYWxlX21vbnRocyA9IGxvY2FsZS5tb250
aHMsCisgICAgICBsb2NhbGVfc2hvcnRNb250aHMgPSBsb2NhbGUuc2hvcnRNb250aHM7CisKKyAg
dmFyIHBlcmlvZFJlID0gZm9ybWF0UmUobG9jYWxlX3BlcmlvZHMpLAorICAgICAgcGVyaW9kTG9v
a3VwID0gZm9ybWF0TG9va3VwKGxvY2FsZV9wZXJpb2RzKSwKKyAgICAgIHdlZWtkYXlSZSA9IGZv
cm1hdFJlKGxvY2FsZV93ZWVrZGF5cyksCisgICAgICB3ZWVrZGF5TG9va3VwID0gZm9ybWF0TG9v
a3VwKGxvY2FsZV93ZWVrZGF5cyksCisgICAgICBzaG9ydFdlZWtkYXlSZSA9IGZvcm1hdFJlKGxv
Y2FsZV9zaG9ydFdlZWtkYXlzKSwKKyAgICAgIHNob3J0V2Vla2RheUxvb2t1cCA9IGZvcm1hdExv
b2t1cChsb2NhbGVfc2hvcnRXZWVrZGF5cyksCisgICAgICBtb250aFJlID0gZm9ybWF0UmUobG9j
YWxlX21vbnRocyksCisgICAgICBtb250aExvb2t1cCA9IGZvcm1hdExvb2t1cChsb2NhbGVfbW9u
dGhzKSwKKyAgICAgIHNob3J0TW9udGhSZSA9IGZvcm1hdFJlKGxvY2FsZV9zaG9ydE1vbnRocyks
CisgICAgICBzaG9ydE1vbnRoTG9va3VwID0gZm9ybWF0TG9va3VwKGxvY2FsZV9zaG9ydE1vbnRo
cyk7CisKKyAgdmFyIGZvcm1hdHMgPSB7CisgICAgImEiOiBmb3JtYXRTaG9ydFdlZWtkYXksCisg
ICAgIkEiOiBmb3JtYXRXZWVrZGF5LAorICAgICJiIjogZm9ybWF0U2hvcnRNb250aCwKKyAgICAi
QiI6IGZvcm1hdE1vbnRoLAorICAgICJjIjogbnVsbCwKKyAgICAiZCI6IGZvcm1hdERheU9mTW9u
dGgsCisgICAgImUiOiBmb3JtYXREYXlPZk1vbnRoLAorICAgICJmIjogZm9ybWF0TWljcm9zZWNv
bmRzLAorICAgICJIIjogZm9ybWF0SG91cjI0LAorICAgICJJIjogZm9ybWF0SG91cjEyLAorICAg
ICJqIjogZm9ybWF0RGF5T2ZZZWFyLAorICAgICJMIjogZm9ybWF0TWlsbGlzZWNvbmRzLAorICAg
ICJtIjogZm9ybWF0TW9udGhOdW1iZXIsCisgICAgIk0iOiBmb3JtYXRNaW51dGVzLAorICAgICJw
IjogZm9ybWF0UGVyaW9kLAorICAgICJxIjogZm9ybWF0UXVhcnRlciwKKyAgICAiUSI6IGZvcm1h
dFVuaXhUaW1lc3RhbXAsCisgICAgInMiOiBmb3JtYXRVbml4VGltZXN0YW1wU2Vjb25kcywKKyAg
ICAiUyI6IGZvcm1hdFNlY29uZHMsCisgICAgInUiOiBmb3JtYXRXZWVrZGF5TnVtYmVyTW9uZGF5
LAorICAgICJVIjogZm9ybWF0V2Vla051bWJlclN1bmRheSwKKyAgICAiViI6IGZvcm1hdFdlZWtO
dW1iZXJJU08sCisgICAgInciOiBmb3JtYXRXZWVrZGF5TnVtYmVyU3VuZGF5LAorICAgICJXIjog
Zm9ybWF0V2Vla051bWJlck1vbmRheSwKKyAgICAieCI6IG51bGwsCisgICAgIlgiOiBudWxsLAor
ICAgICJ5IjogZm9ybWF0WWVhciQxLAorICAgICJZIjogZm9ybWF0RnVsbFllYXIsCisgICAgIloi
OiBmb3JtYXRab25lLAorICAgICIlIjogZm9ybWF0TGl0ZXJhbFBlcmNlbnQKKyAgfTsKKworICB2
YXIgdXRjRm9ybWF0cyA9IHsKKyAgICAiYSI6IGZvcm1hdFVUQ1Nob3J0V2Vla2RheSwKKyAgICAi
QSI6IGZvcm1hdFVUQ1dlZWtkYXksCisgICAgImIiOiBmb3JtYXRVVENTaG9ydE1vbnRoLAorICAg
ICJCIjogZm9ybWF0VVRDTW9udGgsCisgICAgImMiOiBudWxsLAorICAgICJkIjogZm9ybWF0VVRD
RGF5T2ZNb250aCwKKyAgICAiZSI6IGZvcm1hdFVUQ0RheU9mTW9udGgsCisgICAgImYiOiBmb3Jt
YXRVVENNaWNyb3NlY29uZHMsCisgICAgIkgiOiBmb3JtYXRVVENIb3VyMjQsCisgICAgIkkiOiBm
b3JtYXRVVENIb3VyMTIsCisgICAgImoiOiBmb3JtYXRVVENEYXlPZlllYXIsCisgICAgIkwiOiBm
b3JtYXRVVENNaWxsaXNlY29uZHMsCisgICAgIm0iOiBmb3JtYXRVVENNb250aE51bWJlciwKKyAg
ICAiTSI6IGZvcm1hdFVUQ01pbnV0ZXMsCisgICAgInAiOiBmb3JtYXRVVENQZXJpb2QsCisgICAg
InEiOiBmb3JtYXRVVENRdWFydGVyLAorICAgICJRIjogZm9ybWF0VW5peFRpbWVzdGFtcCwKKyAg
ICAicyI6IGZvcm1hdFVuaXhUaW1lc3RhbXBTZWNvbmRzLAorICAgICJTIjogZm9ybWF0VVRDU2Vj
b25kcywKKyAgICAidSI6IGZvcm1hdFVUQ1dlZWtkYXlOdW1iZXJNb25kYXksCisgICAgIlUiOiBm
b3JtYXRVVENXZWVrTnVtYmVyU3VuZGF5LAorICAgICJWIjogZm9ybWF0VVRDV2Vla051bWJlcklT
TywKKyAgICAidyI6IGZvcm1hdFVUQ1dlZWtkYXlOdW1iZXJTdW5kYXksCisgICAgIlciOiBmb3Jt
YXRVVENXZWVrTnVtYmVyTW9uZGF5LAorICAgICJ4IjogbnVsbCwKKyAgICAiWCI6IG51bGwsCisg
ICAgInkiOiBmb3JtYXRVVENZZWFyLAorICAgICJZIjogZm9ybWF0VVRDRnVsbFllYXIsCisgICAg
IloiOiBmb3JtYXRVVENab25lLAorICAgICIlIjogZm9ybWF0TGl0ZXJhbFBlcmNlbnQKKyAgfTsK
KworICB2YXIgcGFyc2VzID0geworICAgICJhIjogcGFyc2VTaG9ydFdlZWtkYXksCisgICAgIkEi
OiBwYXJzZVdlZWtkYXksCisgICAgImIiOiBwYXJzZVNob3J0TW9udGgsCisgICAgIkIiOiBwYXJz
ZU1vbnRoLAorICAgICJjIjogcGFyc2VMb2NhbGVEYXRlVGltZSwKKyAgICAiZCI6IHBhcnNlRGF5
T2ZNb250aCwKKyAgICAiZSI6IHBhcnNlRGF5T2ZNb250aCwKKyAgICAiZiI6IHBhcnNlTWljcm9z
ZWNvbmRzLAorICAgICJIIjogcGFyc2VIb3VyMjQsCisgICAgIkkiOiBwYXJzZUhvdXIyNCwKKyAg
ICAiaiI6IHBhcnNlRGF5T2ZZZWFyLAorICAgICJMIjogcGFyc2VNaWxsaXNlY29uZHMsCisgICAg
Im0iOiBwYXJzZU1vbnRoTnVtYmVyLAorICAgICJNIjogcGFyc2VNaW51dGVzLAorICAgICJwIjog
cGFyc2VQZXJpb2QsCisgICAgInEiOiBwYXJzZVF1YXJ0ZXIsCisgICAgIlEiOiBwYXJzZVVuaXhU
aW1lc3RhbXAsCisgICAgInMiOiBwYXJzZVVuaXhUaW1lc3RhbXBTZWNvbmRzLAorICAgICJTIjog
cGFyc2VTZWNvbmRzLAorICAgICJ1IjogcGFyc2VXZWVrZGF5TnVtYmVyTW9uZGF5LAorICAgICJV
IjogcGFyc2VXZWVrTnVtYmVyU3VuZGF5LAorICAgICJWIjogcGFyc2VXZWVrTnVtYmVySVNPLAor
ICAgICJ3IjogcGFyc2VXZWVrZGF5TnVtYmVyU3VuZGF5LAorICAgICJXIjogcGFyc2VXZWVrTnVt
YmVyTW9uZGF5LAorICAgICJ4IjogcGFyc2VMb2NhbGVEYXRlLAorICAgICJYIjogcGFyc2VMb2Nh
bGVUaW1lLAorICAgICJ5IjogcGFyc2VZZWFyLAorICAgICJZIjogcGFyc2VGdWxsWWVhciwKKyAg
ICAiWiI6IHBhcnNlWm9uZSwKKyAgICAiJSI6IHBhcnNlTGl0ZXJhbFBlcmNlbnQKKyAgfTsKKwor
ICAvLyBUaGVzZSByZWN1cnNpdmUgZGlyZWN0aXZlIGRlZmluaXRpb25zIG11c3QgYmUgZGVmZXJy
ZWQuCisgIGZvcm1hdHMueCA9IG5ld0Zvcm1hdChsb2NhbGVfZGF0ZSwgZm9ybWF0cyk7CisgIGZv
cm1hdHMuWCA9IG5ld0Zvcm1hdChsb2NhbGVfdGltZSwgZm9ybWF0cyk7CisgIGZvcm1hdHMuYyA9
IG5ld0Zvcm1hdChsb2NhbGVfZGF0ZVRpbWUsIGZvcm1hdHMpOworICB1dGNGb3JtYXRzLnggPSBu
ZXdGb3JtYXQobG9jYWxlX2RhdGUsIHV0Y0Zvcm1hdHMpOworICB1dGNGb3JtYXRzLlggPSBuZXdG
b3JtYXQobG9jYWxlX3RpbWUsIHV0Y0Zvcm1hdHMpOworICB1dGNGb3JtYXRzLmMgPSBuZXdGb3Jt
YXQobG9jYWxlX2RhdGVUaW1lLCB1dGNGb3JtYXRzKTsKKworICBmdW5jdGlvbiBuZXdGb3JtYXQo
c3BlY2lmaWVyLCBmb3JtYXRzKSB7CisgICAgcmV0dXJuIGZ1bmN0aW9uKGRhdGUpIHsKKyAgICAg
IHZhciBzdHJpbmcgPSBbXSwKKyAgICAgICAgICBpID0gLTEsCisgICAgICAgICAgaiA9IDAsCisg
ICAgICAgICAgbiA9IHNwZWNpZmllci5sZW5ndGgsCisgICAgICAgICAgYywKKyAgICAgICAgICBw
YWQsCisgICAgICAgICAgZm9ybWF0OworCisgICAgICBpZiAoIShkYXRlIGluc3RhbmNlb2YgRGF0
ZSkpIGRhdGUgPSBuZXcgRGF0ZSgrZGF0ZSk7CisKKyAgICAgIHdoaWxlICgrK2kgPCBuKSB7Cisg
ICAgICAgIGlmIChzcGVjaWZpZXIuY2hhckNvZGVBdChpKSA9PT0gMzcpIHsKKyAgICAgICAgICBz
dHJpbmcucHVzaChzcGVjaWZpZXIuc2xpY2UoaiwgaSkpOworICAgICAgICAgIGlmICgocGFkID0g
cGFkc1tjID0gc3BlY2lmaWVyLmNoYXJBdCgrK2kpXSkgIT0gbnVsbCkgYyA9IHNwZWNpZmllci5j
aGFyQXQoKytpKTsKKyAgICAgICAgICBlbHNlIHBhZCA9IGMgPT09ICJlIiA/ICIgIiA6ICIwIjsK
KyAgICAgICAgICBpZiAoZm9ybWF0ID0gZm9ybWF0c1tjXSkgYyA9IGZvcm1hdChkYXRlLCBwYWQp
OworICAgICAgICAgIHN0cmluZy5wdXNoKGMpOworICAgICAgICAgIGogPSBpICsgMTsKKyAgICAg
ICAgfQorICAgICAgfQorCisgICAgICBzdHJpbmcucHVzaChzcGVjaWZpZXIuc2xpY2UoaiwgaSkp
OworICAgICAgcmV0dXJuIHN0cmluZy5qb2luKCIiKTsKKyAgICB9OworICB9CisKKyAgZnVuY3Rp
b24gbmV3UGFyc2Uoc3BlY2lmaWVyLCBaKSB7CisgICAgcmV0dXJuIGZ1bmN0aW9uKHN0cmluZykg
eworICAgICAgdmFyIGQgPSBuZXdEYXRlKDE5MDAsIHVuZGVmaW5lZCwgMSksCisgICAgICAgICAg
aSA9IHBhcnNlU3BlY2lmaWVyKGQsIHNwZWNpZmllciwgc3RyaW5nICs9ICIiLCAwKSwKKyAgICAg
ICAgICB3ZWVrLCBkYXkkMTsKKyAgICAgIGlmIChpICE9IHN0cmluZy5sZW5ndGgpIHJldHVybiBu
dWxsOworCisgICAgICAvLyBJZiBhIFVOSVggdGltZXN0YW1wIGlzIHNwZWNpZmllZCwgcmV0dXJu
IGl0LgorICAgICAgaWYgKCJRIiBpbiBkKSByZXR1cm4gbmV3IERhdGUoZC5RKTsKKyAgICAgIGlm
ICgicyIgaW4gZCkgcmV0dXJuIG5ldyBEYXRlKGQucyAqIDEwMDAgKyAoIkwiIGluIGQgPyBkLkwg
OiAwKSk7CisKKyAgICAgIC8vIElmIHRoaXMgaXMgdXRjUGFyc2UsIG5ldmVyIHVzZSB0aGUgbG9j
YWwgdGltZXpvbmUuCisgICAgICBpZiAoWiAmJiAhKCJaIiBpbiBkKSkgZC5aID0gMDsKKworICAg
ICAgLy8gVGhlIGFtLXBtIGZsYWcgaXMgMCBmb3IgQU0sIGFuZCAxIGZvciBQTS4KKyAgICAgIGlm
ICgicCIgaW4gZCkgZC5IID0gZC5IICUgMTIgKyBkLnAgKiAxMjsKKworICAgICAgLy8gSWYgdGhl
IG1vbnRoIHdhcyBub3Qgc3BlY2lmaWVkLCBpbmhlcml0IGZyb20gdGhlIHF1YXJ0ZXIuCisgICAg
ICBpZiAoZC5tID09PSB1bmRlZmluZWQpIGQubSA9ICJxIiBpbiBkID8gZC5xIDogMDsKKworICAg
ICAgLy8gQ29udmVydCBkYXktb2Ytd2VlayBhbmQgd2Vlay1vZi15ZWFyIHRvIGRheS1vZi15ZWFy
LgorICAgICAgaWYgKCJWIiBpbiBkKSB7CisgICAgICAgIGlmIChkLlYgPCAxIHx8IGQuViA+IDUz
KSByZXR1cm4gbnVsbDsKKyAgICAgICAgaWYgKCEoInciIGluIGQpKSBkLncgPSAxOworICAgICAg
ICBpZiAoIloiIGluIGQpIHsKKyAgICAgICAgICB3ZWVrID0gdXRjRGF0ZShuZXdEYXRlKGQueSwg
MCwgMSkpLCBkYXkkMSA9IHdlZWsuZ2V0VVRDRGF5KCk7CisgICAgICAgICAgd2VlayA9IGRheSQx
ID4gNCB8fCBkYXkkMSA9PT0gMCA/IHV0Y01vbmRheS5jZWlsKHdlZWspIDogdXRjTW9uZGF5KHdl
ZWspOworICAgICAgICAgIHdlZWsgPSB1dGNEYXkub2Zmc2V0KHdlZWssIChkLlYgLSAxKSAqIDcp
OworICAgICAgICAgIGQueSA9IHdlZWsuZ2V0VVRDRnVsbFllYXIoKTsKKyAgICAgICAgICBkLm0g
PSB3ZWVrLmdldFVUQ01vbnRoKCk7CisgICAgICAgICAgZC5kID0gd2Vlay5nZXRVVENEYXRlKCkg
KyAoZC53ICsgNikgJSA3OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIHdlZWsgPSBsb2Nh
bERhdGUobmV3RGF0ZShkLnksIDAsIDEpKSwgZGF5JDEgPSB3ZWVrLmdldERheSgpOworICAgICAg
ICAgIHdlZWsgPSBkYXkkMSA+IDQgfHwgZGF5JDEgPT09IDAgPyBtb25kYXkuY2VpbCh3ZWVrKSA6
IG1vbmRheSh3ZWVrKTsKKyAgICAgICAgICB3ZWVrID0gZGF5Lm9mZnNldCh3ZWVrLCAoZC5WIC0g
MSkgKiA3KTsKKyAgICAgICAgICBkLnkgPSB3ZWVrLmdldEZ1bGxZZWFyKCk7CisgICAgICAgICAg
ZC5tID0gd2Vlay5nZXRNb250aCgpOworICAgICAgICAgIGQuZCA9IHdlZWsuZ2V0RGF0ZSgpICsg
KGQudyArIDYpICUgNzsKKyAgICAgICAgfQorICAgICAgfSBlbHNlIGlmICgiVyIgaW4gZCB8fCAi
VSIgaW4gZCkgeworICAgICAgICBpZiAoISgidyIgaW4gZCkpIGQudyA9ICJ1IiBpbiBkID8gZC51
ICUgNyA6ICJXIiBpbiBkID8gMSA6IDA7CisgICAgICAgIGRheSQxID0gIloiIGluIGQgPyB1dGNE
YXRlKG5ld0RhdGUoZC55LCAwLCAxKSkuZ2V0VVRDRGF5KCkgOiBsb2NhbERhdGUobmV3RGF0ZShk
LnksIDAsIDEpKS5nZXREYXkoKTsKKyAgICAgICAgZC5tID0gMDsKKyAgICAgICAgZC5kID0gIlci
IGluIGQgPyAoZC53ICsgNikgJSA3ICsgZC5XICogNyAtIChkYXkkMSArIDUpICUgNyA6IGQudyAr
IGQuVSAqIDcgLSAoZGF5JDEgKyA2KSAlIDc7CisgICAgICB9CisKKyAgICAgIC8vIElmIGEgdGlt
ZSB6b25lIGlzIHNwZWNpZmllZCwgYWxsIGZpZWxkcyBhcmUgaW50ZXJwcmV0ZWQgYXMgVVRDIGFu
ZCB0aGVuCisgICAgICAvLyBvZmZzZXQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgdGltZSB6
b25lLgorICAgICAgaWYgKCJaIiBpbiBkKSB7CisgICAgICAgIGQuSCArPSBkLlogLyAxMDAgfCAw
OworICAgICAgICBkLk0gKz0gZC5aICUgMTAwOworICAgICAgICByZXR1cm4gdXRjRGF0ZShkKTsK
KyAgICAgIH0KKworICAgICAgLy8gT3RoZXJ3aXNlLCBhbGwgZmllbGRzIGFyZSBpbiBsb2NhbCB0
aW1lLgorICAgICAgcmV0dXJuIGxvY2FsRGF0ZShkKTsKKyAgICB9OworICB9CisKKyAgZnVuY3Rp
b24gcGFyc2VTcGVjaWZpZXIoZCwgc3BlY2lmaWVyLCBzdHJpbmcsIGopIHsKKyAgICB2YXIgaSA9
IDAsCisgICAgICAgIG4gPSBzcGVjaWZpZXIubGVuZ3RoLAorICAgICAgICBtID0gc3RyaW5nLmxl
bmd0aCwKKyAgICAgICAgYywKKyAgICAgICAgcGFyc2U7CisKKyAgICB3aGlsZSAoaSA8IG4pIHsK
KyAgICAgIGlmIChqID49IG0pIHJldHVybiAtMTsKKyAgICAgIGMgPSBzcGVjaWZpZXIuY2hhckNv
ZGVBdChpKyspOworICAgICAgaWYgKGMgPT09IDM3KSB7CisgICAgICAgIGMgPSBzcGVjaWZpZXIu
Y2hhckF0KGkrKyk7CisgICAgICAgIHBhcnNlID0gcGFyc2VzW2MgaW4gcGFkcyA/IHNwZWNpZmll
ci5jaGFyQXQoaSsrKSA6IGNdOworICAgICAgICBpZiAoIXBhcnNlIHx8ICgoaiA9IHBhcnNlKGQs
IHN0cmluZywgaikpIDwgMCkpIHJldHVybiAtMTsKKyAgICAgIH0gZWxzZSBpZiAoYyAhPSBzdHJp
bmcuY2hhckNvZGVBdChqKyspKSB7CisgICAgICAgIHJldHVybiAtMTsKKyAgICAgIH0KKyAgICB9
CisKKyAgICByZXR1cm4gajsKKyAgfQorCisgIGZ1bmN0aW9uIHBhcnNlUGVyaW9kKGQsIHN0cmlu
ZywgaSkgeworICAgIHZhciBuID0gcGVyaW9kUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSkpOworICAg
IHJldHVybiBuID8gKGQucCA9IHBlcmlvZExvb2t1cFtuWzBdLnRvTG93ZXJDYXNlKCldLCBpICsg
blswXS5sZW5ndGgpIDogLTE7CisgIH0KKworICBmdW5jdGlvbiBwYXJzZVNob3J0V2Vla2RheShk
LCBzdHJpbmcsIGkpIHsKKyAgICB2YXIgbiA9IHNob3J0V2Vla2RheVJlLmV4ZWMoc3RyaW5nLnNs
aWNlKGkpKTsKKyAgICByZXR1cm4gbiA/IChkLncgPSBzaG9ydFdlZWtkYXlMb29rdXBbblswXS50
b0xvd2VyQ2FzZSgpXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworICB9CisKKyAgZnVuY3Rpb24g
cGFyc2VXZWVrZGF5KGQsIHN0cmluZywgaSkgeworICAgIHZhciBuID0gd2Vla2RheVJlLmV4ZWMo
c3RyaW5nLnNsaWNlKGkpKTsKKyAgICByZXR1cm4gbiA/IChkLncgPSB3ZWVrZGF5TG9va3VwW25b
MF0udG9Mb3dlckNhc2UoKV0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKKyAgfQorCisgIGZ1bmN0
aW9uIHBhcnNlU2hvcnRNb250aChkLCBzdHJpbmcsIGkpIHsKKyAgICB2YXIgbiA9IHNob3J0TW9u
dGhSZS5leGVjKHN0cmluZy5zbGljZShpKSk7CisgICAgcmV0dXJuIG4gPyAoZC5tID0gc2hvcnRN
b250aExvb2t1cFtuWzBdLnRvTG93ZXJDYXNlKCldLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cisg
IH0KKworICBmdW5jdGlvbiBwYXJzZU1vbnRoKGQsIHN0cmluZywgaSkgeworICAgIHZhciBuID0g
bW9udGhSZS5leGVjKHN0cmluZy5zbGljZShpKSk7CisgICAgcmV0dXJuIG4gPyAoZC5tID0gbW9u
dGhMb29rdXBbblswXS50b0xvd2VyQ2FzZSgpXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworICB9
CisKKyAgZnVuY3Rpb24gcGFyc2VMb2NhbGVEYXRlVGltZShkLCBzdHJpbmcsIGkpIHsKKyAgICBy
ZXR1cm4gcGFyc2VTcGVjaWZpZXIoZCwgbG9jYWxlX2RhdGVUaW1lLCBzdHJpbmcsIGkpOworICB9
CisKKyAgZnVuY3Rpb24gcGFyc2VMb2NhbGVEYXRlKGQsIHN0cmluZywgaSkgeworICAgIHJldHVy
biBwYXJzZVNwZWNpZmllcihkLCBsb2NhbGVfZGF0ZSwgc3RyaW5nLCBpKTsKKyAgfQorCisgIGZ1
bmN0aW9uIHBhcnNlTG9jYWxlVGltZShkLCBzdHJpbmcsIGkpIHsKKyAgICByZXR1cm4gcGFyc2VT
cGVjaWZpZXIoZCwgbG9jYWxlX3RpbWUsIHN0cmluZywgaSk7CisgIH0KKworICBmdW5jdGlvbiBm
b3JtYXRTaG9ydFdlZWtkYXkoZCkgeworICAgIHJldHVybiBsb2NhbGVfc2hvcnRXZWVrZGF5c1tk
LmdldERheSgpXTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFdlZWtkYXkoZCkgeworICAgIHJl
dHVybiBsb2NhbGVfd2Vla2RheXNbZC5nZXREYXkoKV07CisgIH0KKworICBmdW5jdGlvbiBmb3Jt
YXRTaG9ydE1vbnRoKGQpIHsKKyAgICByZXR1cm4gbG9jYWxlX3Nob3J0TW9udGhzW2QuZ2V0TW9u
dGgoKV07CisgIH0KKworICBmdW5jdGlvbiBmb3JtYXRNb250aChkKSB7CisgICAgcmV0dXJuIGxv
Y2FsZV9tb250aHNbZC5nZXRNb250aCgpXTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFBlcmlv
ZChkKSB7CisgICAgcmV0dXJuIGxvY2FsZV9wZXJpb2RzWysoZC5nZXRIb3VycygpID49IDEyKV07
CisgIH0KKworICBmdW5jdGlvbiBmb3JtYXRRdWFydGVyKGQpIHsKKyAgICByZXR1cm4gMSArIH5+
KGQuZ2V0TW9udGgoKSAvIDMpOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0VVRDU2hvcnRXZWVr
ZGF5KGQpIHsKKyAgICByZXR1cm4gbG9jYWxlX3Nob3J0V2Vla2RheXNbZC5nZXRVVENEYXkoKV07
CisgIH0KKworICBmdW5jdGlvbiBmb3JtYXRVVENXZWVrZGF5KGQpIHsKKyAgICByZXR1cm4gbG9j
YWxlX3dlZWtkYXlzW2QuZ2V0VVRDRGF5KCldOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0VVRD
U2hvcnRNb250aChkKSB7CisgICAgcmV0dXJuIGxvY2FsZV9zaG9ydE1vbnRoc1tkLmdldFVUQ01v
bnRoKCldOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0VVRDTW9udGgoZCkgeworICAgIHJldHVy
biBsb2NhbGVfbW9udGhzW2QuZ2V0VVRDTW9udGgoKV07CisgIH0KKworICBmdW5jdGlvbiBmb3Jt
YXRVVENQZXJpb2QoZCkgeworICAgIHJldHVybiBsb2NhbGVfcGVyaW9kc1srKGQuZ2V0VVRDSG91
cnMoKSA+PSAxMildOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0VVRDUXVhcnRlcihkKSB7Cisg
ICAgcmV0dXJuIDEgKyB+fihkLmdldFVUQ01vbnRoKCkgLyAzKTsKKyAgfQorCisgIHJldHVybiB7
CisgICAgZm9ybWF0OiBmdW5jdGlvbihzcGVjaWZpZXIpIHsKKyAgICAgIHZhciBmID0gbmV3Rm9y
bWF0KHNwZWNpZmllciArPSAiIiwgZm9ybWF0cyk7CisgICAgICBmLnRvU3RyaW5nID0gZnVuY3Rp
b24oKSB7IHJldHVybiBzcGVjaWZpZXI7IH07CisgICAgICByZXR1cm4gZjsKKyAgICB9LAorICAg
IHBhcnNlOiBmdW5jdGlvbihzcGVjaWZpZXIpIHsKKyAgICAgIHZhciBwID0gbmV3UGFyc2Uoc3Bl
Y2lmaWVyICs9ICIiLCBmYWxzZSk7CisgICAgICBwLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7IHJl
dHVybiBzcGVjaWZpZXI7IH07CisgICAgICByZXR1cm4gcDsKKyAgICB9LAorICAgIHV0Y0Zvcm1h
dDogZnVuY3Rpb24oc3BlY2lmaWVyKSB7CisgICAgICB2YXIgZiA9IG5ld0Zvcm1hdChzcGVjaWZp
ZXIgKz0gIiIsIHV0Y0Zvcm1hdHMpOworICAgICAgZi50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyBy
ZXR1cm4gc3BlY2lmaWVyOyB9OworICAgICAgcmV0dXJuIGY7CisgICAgfSwKKyAgICB1dGNQYXJz
ZTogZnVuY3Rpb24oc3BlY2lmaWVyKSB7CisgICAgICB2YXIgcCA9IG5ld1BhcnNlKHNwZWNpZmll
ciArPSAiIiwgdHJ1ZSk7CisgICAgICBwLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7IHJldHVybiBz
cGVjaWZpZXI7IH07CisgICAgICByZXR1cm4gcDsKKyAgICB9CisgIH07Cit9CisKK3ZhciBwYWRz
ID0geyItIjogIiIsICJfIjogIiAiLCAiMCI6ICIwIn0sCisgICAgbnVtYmVyUmUgPSAvXlxzKlxk
Ky8sIC8vIG5vdGU6IGlnbm9yZXMgbmV4dCBkaXJlY3RpdmUKKyAgICBwZXJjZW50UmUgPSAvXiUv
LAorICAgIHJlcXVvdGVSZSA9IC9bXFxeJCorP3xbXF0oKS57fV0vZzsKKworZnVuY3Rpb24gcGFk
JDEodmFsdWUsIGZpbGwsIHdpZHRoKSB7CisgIHZhciBzaWduID0gdmFsdWUgPCAwID8gIi0iIDog
IiIsCisgICAgICBzdHJpbmcgPSAoc2lnbiA/IC12YWx1ZSA6IHZhbHVlKSArICIiLAorICAgICAg
bGVuZ3RoID0gc3RyaW5nLmxlbmd0aDsKKyAgcmV0dXJuIHNpZ24gKyAobGVuZ3RoIDwgd2lkdGgg
PyBuZXcgQXJyYXkod2lkdGggLSBsZW5ndGggKyAxKS5qb2luKGZpbGwpICsgc3RyaW5nIDogc3Ry
aW5nKTsKK30KKworZnVuY3Rpb24gcmVxdW90ZShzKSB7CisgIHJldHVybiBzLnJlcGxhY2UocmVx
dW90ZVJlLCAiXFwkJiIpOworfQorCitmdW5jdGlvbiBmb3JtYXRSZShuYW1lcykgeworICByZXR1
cm4gbmV3IFJlZ0V4cCgiXig/OiIgKyBuYW1lcy5tYXAocmVxdW90ZSkuam9pbigifCIpICsgIiki
LCAiaSIpOworfQorCitmdW5jdGlvbiBmb3JtYXRMb29rdXAobmFtZXMpIHsKKyAgdmFyIG1hcCA9
IHt9LCBpID0gLTEsIG4gPSBuYW1lcy5sZW5ndGg7CisgIHdoaWxlICgrK2kgPCBuKSBtYXBbbmFt
ZXNbaV0udG9Mb3dlckNhc2UoKV0gPSBpOworICByZXR1cm4gbWFwOworfQorCitmdW5jdGlvbiBw
YXJzZVdlZWtkYXlOdW1iZXJTdW5kYXkoZCwgc3RyaW5nLCBpKSB7CisgIHZhciBuID0gbnVtYmVy
UmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDEpKTsKKyAgcmV0dXJuIG4gPyAoZC53ID0gK25b
MF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVuY3Rpb24gcGFyc2VXZWVrZGF5TnVt
YmVyTW9uZGF5KGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJlLmV4ZWMoc3RyaW5n
LnNsaWNlKGksIGkgKyAxKSk7CisgIHJldHVybiBuID8gKGQudSA9ICtuWzBdLCBpICsgblswXS5s
ZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlV2Vla051bWJlclN1bmRheShkLCBzdHJp
bmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShpLCBpICsgMikp
OworICByZXR1cm4gbiA/IChkLlUgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQor
CitmdW5jdGlvbiBwYXJzZVdlZWtOdW1iZXJJU08oZCwgc3RyaW5nLCBpKSB7CisgIHZhciBuID0g
bnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDIpKTsKKyAgcmV0dXJuIG4gPyAoZC5W
ID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVuY3Rpb24gcGFyc2VXZWVr
TnVtYmVyTW9uZGF5KGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJlLmV4ZWMoc3Ry
aW5nLnNsaWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQuVyA9ICtuWzBdLCBpICsgblsw
XS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlRnVsbFllYXIoZCwgc3RyaW5nLCBp
KSB7CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDQpKTsKKyAg
cmV0dXJuIG4gPyAoZC55ID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVu
Y3Rpb24gcGFyc2VZZWFyKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJlLmV4ZWMo
c3RyaW5nLnNsaWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQueSA9ICtuWzBdICsgKCtu
WzBdID4gNjggPyAxOTAwIDogMjAwMCksIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVu
Y3Rpb24gcGFyc2Vab25lKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IC9eKFopfChbKy1dXGRc
ZCkoPzo6PyhcZFxkKSk/Ly5leGVjKHN0cmluZy5zbGljZShpLCBpICsgNikpOworICByZXR1cm4g
biA/IChkLlogPSBuWzFdID8gMCA6IC0oblsyXSArIChuWzNdIHx8ICIwMCIpKSwgaSArIG5bMF0u
bGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZVF1YXJ0ZXIoZCwgc3RyaW5nLCBpKSB7
CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDEpKTsKKyAgcmV0
dXJuIG4gPyAoZC5xID0gblswXSAqIDMgLSAzLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisK
K2Z1bmN0aW9uIHBhcnNlTW9udGhOdW1iZXIoZCwgc3RyaW5nLCBpKSB7CisgIHZhciBuID0gbnVt
YmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDIpKTsKKyAgcmV0dXJuIG4gPyAoZC5tID0g
blswXSAtIDEsIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVuY3Rpb24gcGFyc2VEYXlP
Zk1vbnRoKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJlLmV4ZWMoc3RyaW5nLnNs
aWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQuZCA9ICtuWzBdLCBpICsgblswXS5sZW5n
dGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlRGF5T2ZZZWFyKGQsIHN0cmluZywgaSkgewor
ICB2YXIgbiA9IG51bWJlclJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAzKSk7CisgIHJldHVy
biBuID8gKGQubSA9IDAsIGQuZCA9ICtuWzBdLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisK
K2Z1bmN0aW9uIHBhcnNlSG91cjI0KGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJl
LmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQuSCA9ICtuWzBd
LCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlTWludXRlcyhkLCBz
dHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShpLCBpICsg
MikpOworICByZXR1cm4gbiA/IChkLk0gPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOwor
fQorCitmdW5jdGlvbiBwYXJzZVNlY29uZHMoZCwgc3RyaW5nLCBpKSB7CisgIHZhciBuID0gbnVt
YmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDIpKTsKKyAgcmV0dXJuIG4gPyAoZC5TID0g
K25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVuY3Rpb24gcGFyc2VNaWxsaXNl
Y29uZHMoZCwgc3RyaW5nLCBpKSB7CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xp
Y2UoaSwgaSArIDMpKTsKKyAgcmV0dXJuIG4gPyAoZC5MID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0
aCkgOiAtMTsKK30KKworZnVuY3Rpb24gcGFyc2VNaWNyb3NlY29uZHMoZCwgc3RyaW5nLCBpKSB7
CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDYpKTsKKyAgcmV0
dXJuIG4gPyAoZC5MID0gTWF0aC5mbG9vcihuWzBdIC8gMTAwMCksIGkgKyBuWzBdLmxlbmd0aCkg
OiAtMTsKK30KKworZnVuY3Rpb24gcGFyc2VMaXRlcmFsUGVyY2VudChkLCBzdHJpbmcsIGkpIHsK
KyAgdmFyIG4gPSBwZXJjZW50UmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDEpKTsKKyAgcmV0
dXJuIG4gPyBpICsgblswXS5sZW5ndGggOiAtMTsKK30KKworZnVuY3Rpb24gcGFyc2VVbml4VGlt
ZXN0YW1wKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJlLmV4ZWMoc3RyaW5nLnNs
aWNlKGkpKTsKKyAgcmV0dXJuIG4gPyAoZC5RID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAt
MTsKK30KKworZnVuY3Rpb24gcGFyc2VVbml4VGltZXN0YW1wU2Vjb25kcyhkLCBzdHJpbmcsIGkp
IHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShpKSk7CisgIHJldHVybiBu
ID8gKGQucyA9ICtuWzBdLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIGZv
cm1hdERheU9mTW9udGgoZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXREYXRlKCksIHAsIDIp
OworfQorCitmdW5jdGlvbiBmb3JtYXRIb3VyMjQoZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5n
ZXRIb3VycygpLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0SG91cjEyKGQsIHApIHsKKyAg
cmV0dXJuIHBhZCQxKGQuZ2V0SG91cnMoKSAlIDEyIHx8IDEyLCBwLCAyKTsKK30KKworZnVuY3Rp
b24gZm9ybWF0RGF5T2ZZZWFyKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKDEgKyBkYXkuY291bnQo
eWVhcihkKSwgZCksIHAsIDMpOworfQorCitmdW5jdGlvbiBmb3JtYXRNaWxsaXNlY29uZHMoZCwg
cCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRNaWxsaXNlY29uZHMoKSwgcCwgMyk7Cit9CisKK2Z1
bmN0aW9uIGZvcm1hdE1pY3Jvc2Vjb25kcyhkLCBwKSB7CisgIHJldHVybiBmb3JtYXRNaWxsaXNl
Y29uZHMoZCwgcCkgKyAiMDAwIjsKK30KKworZnVuY3Rpb24gZm9ybWF0TW9udGhOdW1iZXIoZCwg
cCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRNb250aCgpICsgMSwgcCwgMik7Cit9CisKK2Z1bmN0
aW9uIGZvcm1hdE1pbnV0ZXMoZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRNaW51dGVzKCks
IHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRTZWNvbmRzKGQsIHApIHsKKyAgcmV0dXJuIHBh
ZCQxKGQuZ2V0U2Vjb25kcygpLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0V2Vla2RheU51
bWJlck1vbmRheShkKSB7CisgIHZhciBkYXkgPSBkLmdldERheSgpOworICByZXR1cm4gZGF5ID09
PSAwID8gNyA6IGRheTsKK30KKworZnVuY3Rpb24gZm9ybWF0V2Vla051bWJlclN1bmRheShkLCBw
KSB7CisgIHJldHVybiBwYWQkMShzdW5kYXkuY291bnQoeWVhcihkKSAtIDEsIGQpLCBwLCAyKTsK
K30KKworZnVuY3Rpb24gZm9ybWF0V2Vla051bWJlcklTTyhkLCBwKSB7CisgIHZhciBkYXkgPSBk
LmdldERheSgpOworICBkID0gKGRheSA+PSA0IHx8IGRheSA9PT0gMCkgPyB0aHVyc2RheShkKSA6
IHRodXJzZGF5LmNlaWwoZCk7CisgIHJldHVybiBwYWQkMSh0aHVyc2RheS5jb3VudCh5ZWFyKGQp
LCBkKSArICh5ZWFyKGQpLmdldERheSgpID09PSA0KSwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZv
cm1hdFdlZWtkYXlOdW1iZXJTdW5kYXkoZCkgeworICByZXR1cm4gZC5nZXREYXkoKTsKK30KKwor
ZnVuY3Rpb24gZm9ybWF0V2Vla051bWJlck1vbmRheShkLCBwKSB7CisgIHJldHVybiBwYWQkMSht
b25kYXkuY291bnQoeWVhcihkKSAtIDEsIGQpLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0
WWVhciQxKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0RnVsbFllYXIoKSAlIDEwMCwgcCwg
Mik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdEZ1bGxZZWFyKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQx
KGQuZ2V0RnVsbFllYXIoKSAlIDEwMDAwLCBwLCA0KTsKK30KKworZnVuY3Rpb24gZm9ybWF0Wm9u
ZShkKSB7CisgIHZhciB6ID0gZC5nZXRUaW1lem9uZU9mZnNldCgpOworICByZXR1cm4gKHogPiAw
ID8gIi0iIDogKHogKj0gLTEsICIrIikpCisgICAgICArIHBhZCQxKHogLyA2MCB8IDAsICIwIiwg
MikKKyAgICAgICsgcGFkJDEoeiAlIDYwLCAiMCIsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRV
VENEYXlPZk1vbnRoKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0VVRDRGF0ZSgpLCBwLCAy
KTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDSG91cjI0KGQsIHApIHsKKyAgcmV0dXJuIHBhZCQx
KGQuZ2V0VVRDSG91cnMoKSwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ0hvdXIxMihk
LCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldFVUQ0hvdXJzKCkgJSAxMiB8fCAxMiwgcCwgMik7
Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ0RheU9mWWVhcihkLCBwKSB7CisgIHJldHVybiBwYWQk
MSgxICsgdXRjRGF5LmNvdW50KHV0Y1llYXIoZCksIGQpLCBwLCAzKTsKK30KKworZnVuY3Rpb24g
Zm9ybWF0VVRDTWlsbGlzZWNvbmRzKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0VVRDTWls
bGlzZWNvbmRzKCksIHAsIDMpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENNaWNyb3NlY29uZHMo
ZCwgcCkgeworICByZXR1cm4gZm9ybWF0VVRDTWlsbGlzZWNvbmRzKGQsIHApICsgIjAwMCI7Cit9
CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ01vbnRoTnVtYmVyKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQx
KGQuZ2V0VVRDTW9udGgoKSArIDEsIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENNaW51
dGVzKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0VVRDTWludXRlcygpLCBwLCAyKTsKK30K
KworZnVuY3Rpb24gZm9ybWF0VVRDU2Vjb25kcyhkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdl
dFVUQ1NlY29uZHMoKSwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ1dlZWtkYXlOdW1i
ZXJNb25kYXkoZCkgeworICB2YXIgZG93ID0gZC5nZXRVVENEYXkoKTsKKyAgcmV0dXJuIGRvdyA9
PT0gMCA/IDcgOiBkb3c7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ1dlZWtOdW1iZXJTdW5kYXko
ZCwgcCkgeworICByZXR1cm4gcGFkJDEodXRjU3VuZGF5LmNvdW50KHV0Y1llYXIoZCkgLSAxLCBk
KSwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ1dlZWtOdW1iZXJJU08oZCwgcCkgewor
ICB2YXIgZGF5ID0gZC5nZXRVVENEYXkoKTsKKyAgZCA9IChkYXkgPj0gNCB8fCBkYXkgPT09IDAp
ID8gdXRjVGh1cnNkYXkoZCkgOiB1dGNUaHVyc2RheS5jZWlsKGQpOworICByZXR1cm4gcGFkJDEo
dXRjVGh1cnNkYXkuY291bnQodXRjWWVhcihkKSwgZCkgKyAodXRjWWVhcihkKS5nZXRVVENEYXko
KSA9PT0gNCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENXZWVrZGF5TnVtYmVyU3Vu
ZGF5KGQpIHsKKyAgcmV0dXJuIGQuZ2V0VVRDRGF5KCk7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFVU
Q1dlZWtOdW1iZXJNb25kYXkoZCwgcCkgeworICByZXR1cm4gcGFkJDEodXRjTW9uZGF5LmNvdW50
KHV0Y1llYXIoZCkgLSAxLCBkKSwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ1llYXIo
ZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRVVENGdWxsWWVhcigpICUgMTAwLCBwLCAyKTsK
K30KKworZnVuY3Rpb24gZm9ybWF0VVRDRnVsbFllYXIoZCwgcCkgeworICByZXR1cm4gcGFkJDEo
ZC5nZXRVVENGdWxsWWVhcigpICUgMTAwMDAsIHAsIDQpOworfQorCitmdW5jdGlvbiBmb3JtYXRV
VENab25lKCkgeworICByZXR1cm4gIiswMDAwIjsKK30KKworZnVuY3Rpb24gZm9ybWF0TGl0ZXJh
bFBlcmNlbnQoKSB7CisgIHJldHVybiAiJSI7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFVuaXhUaW1l
c3RhbXAoZCkgeworICByZXR1cm4gK2Q7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFVuaXhUaW1lc3Rh
bXBTZWNvbmRzKGQpIHsKKyAgcmV0dXJuIE1hdGguZmxvb3IoK2QgLyAxMDAwKTsKK30KKwordmFy
IGxvY2FsZSQxOworCitkZWZhdWx0TG9jYWxlJDEoeworICBkYXRlVGltZTogIiV4LCAlWCIsCisg
IGRhdGU6ICIlLW0vJS1kLyVZIiwKKyAgdGltZTogIiUtSTolTTolUyAlcCIsCisgIHBlcmlvZHM6
IFsiQU0iLCAiUE0iXSwKKyAgZGF5czogWyJTdW5kYXkiLCAiTW9uZGF5IiwgIlR1ZXNkYXkiLCAi
V2VkbmVzZGF5IiwgIlRodXJzZGF5IiwgIkZyaWRheSIsICJTYXR1cmRheSJdLAorICBzaG9ydERh
eXM6IFsiU3VuIiwgIk1vbiIsICJUdWUiLCAiV2VkIiwgIlRodSIsICJGcmkiLCAiU2F0Il0sCisg
IG1vbnRoczogWyJKYW51YXJ5IiwgIkZlYnJ1YXJ5IiwgIk1hcmNoIiwgIkFwcmlsIiwgIk1heSIs
ICJKdW5lIiwgIkp1bHkiLCAiQXVndXN0IiwgIlNlcHRlbWJlciIsICJPY3RvYmVyIiwgIk5vdmVt
YmVyIiwgIkRlY2VtYmVyIl0sCisgIHNob3J0TW9udGhzOiBbIkphbiIsICJGZWIiLCAiTWFyIiwg
IkFwciIsICJNYXkiLCAiSnVuIiwgIkp1bCIsICJBdWciLCAiU2VwIiwgIk9jdCIsICJOb3YiLCAi
RGVjIl0KK30pOworCitmdW5jdGlvbiBkZWZhdWx0TG9jYWxlJDEoZGVmaW5pdGlvbikgeworICBs
b2NhbGUkMSA9IGZvcm1hdExvY2FsZSQxKGRlZmluaXRpb24pOworICBleHBvcnRzLnRpbWVGb3Jt
YXQgPSBsb2NhbGUkMS5mb3JtYXQ7CisgIGV4cG9ydHMudGltZVBhcnNlID0gbG9jYWxlJDEucGFy
c2U7CisgIGV4cG9ydHMudXRjRm9ybWF0ID0gbG9jYWxlJDEudXRjRm9ybWF0OworICBleHBvcnRz
LnV0Y1BhcnNlID0gbG9jYWxlJDEudXRjUGFyc2U7CisgIHJldHVybiBsb2NhbGUkMTsKK30KKwor
dmFyIGlzb1NwZWNpZmllciA9ICIlWS0lbS0lZFQlSDolTTolUy4lTFoiOworCitmdW5jdGlvbiBm
b3JtYXRJc29OYXRpdmUoZGF0ZSkgeworICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpOworfQor
Cit2YXIgZm9ybWF0SXNvID0gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcKKyAgICA/IGZvcm1h
dElzb05hdGl2ZQorICAgIDogZXhwb3J0cy51dGNGb3JtYXQoaXNvU3BlY2lmaWVyKTsKKworZnVu
Y3Rpb24gcGFyc2VJc29OYXRpdmUoc3RyaW5nKSB7CisgIHZhciBkYXRlID0gbmV3IERhdGUoc3Ry
aW5nKTsKKyAgcmV0dXJuIGlzTmFOKGRhdGUpID8gbnVsbCA6IGRhdGU7Cit9CisKK3ZhciBwYXJz
ZUlzbyA9ICtuZXcgRGF0ZSgiMjAwMC0wMS0wMVQwMDowMDowMC4wMDBaIikKKyAgICA/IHBhcnNl
SXNvTmF0aXZlCisgICAgOiBleHBvcnRzLnV0Y1BhcnNlKGlzb1NwZWNpZmllcik7CisKK3ZhciBk
dXJhdGlvblNlY29uZCQxID0gMTAwMCwKKyAgICBkdXJhdGlvbk1pbnV0ZSQxID0gZHVyYXRpb25T
ZWNvbmQkMSAqIDYwLAorICAgIGR1cmF0aW9uSG91ciQxID0gZHVyYXRpb25NaW51dGUkMSAqIDYw
LAorICAgIGR1cmF0aW9uRGF5JDEgPSBkdXJhdGlvbkhvdXIkMSAqIDI0LAorICAgIGR1cmF0aW9u
V2VlayQxID0gZHVyYXRpb25EYXkkMSAqIDcsCisgICAgZHVyYXRpb25Nb250aCA9IGR1cmF0aW9u
RGF5JDEgKiAzMCwKKyAgICBkdXJhdGlvblllYXIgPSBkdXJhdGlvbkRheSQxICogMzY1OworCitm
dW5jdGlvbiBkYXRlJDEodCkgeworICByZXR1cm4gbmV3IERhdGUodCk7Cit9CisKK2Z1bmN0aW9u
IG51bWJlciQzKHQpIHsKKyAgcmV0dXJuIHQgaW5zdGFuY2VvZiBEYXRlID8gK3QgOiArbmV3IERh
dGUoK3QpOworfQorCitmdW5jdGlvbiBjYWxlbmRhcih5ZWFyLCBtb250aCwgd2VlaywgZGF5LCBo
b3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmQsIGZvcm1hdCkgeworICB2YXIgc2NhbGUg
PSBjb250aW51b3VzKGlkZW50aXR5JDYsIGlkZW50aXR5JDYpLAorICAgICAgaW52ZXJ0ID0gc2Nh
bGUuaW52ZXJ0LAorICAgICAgZG9tYWluID0gc2NhbGUuZG9tYWluOworCisgIHZhciBmb3JtYXRN
aWxsaXNlY29uZCA9IGZvcm1hdCgiLiVMIiksCisgICAgICBmb3JtYXRTZWNvbmQgPSBmb3JtYXQo
IjolUyIpLAorICAgICAgZm9ybWF0TWludXRlID0gZm9ybWF0KCIlSTolTSIpLAorICAgICAgZm9y
bWF0SG91ciA9IGZvcm1hdCgiJUkgJXAiKSwKKyAgICAgIGZvcm1hdERheSA9IGZvcm1hdCgiJWEg
JWQiKSwKKyAgICAgIGZvcm1hdFdlZWsgPSBmb3JtYXQoIiViICVkIiksCisgICAgICBmb3JtYXRN
b250aCA9IGZvcm1hdCgiJUIiKSwKKyAgICAgIGZvcm1hdFllYXIgPSBmb3JtYXQoIiVZIik7CisK
KyAgdmFyIHRpY2tJbnRlcnZhbHMgPSBbCisgICAgW3NlY29uZCwgIDEsICAgICAgZHVyYXRpb25T
ZWNvbmQkMV0sCisgICAgW3NlY29uZCwgIDUsICA1ICogZHVyYXRpb25TZWNvbmQkMV0sCisgICAg
W3NlY29uZCwgMTUsIDE1ICogZHVyYXRpb25TZWNvbmQkMV0sCisgICAgW3NlY29uZCwgMzAsIDMw
ICogZHVyYXRpb25TZWNvbmQkMV0sCisgICAgW21pbnV0ZSwgIDEsICAgICAgZHVyYXRpb25NaW51
dGUkMV0sCisgICAgW21pbnV0ZSwgIDUsICA1ICogZHVyYXRpb25NaW51dGUkMV0sCisgICAgW21p
bnV0ZSwgMTUsIDE1ICogZHVyYXRpb25NaW51dGUkMV0sCisgICAgW21pbnV0ZSwgMzAsIDMwICog
ZHVyYXRpb25NaW51dGUkMV0sCisgICAgWyAgaG91ciwgIDEsICAgICAgZHVyYXRpb25Ib3VyJDEg
IF0sCisgICAgWyAgaG91ciwgIDMsICAzICogZHVyYXRpb25Ib3VyJDEgIF0sCisgICAgWyAgaG91
ciwgIDYsICA2ICogZHVyYXRpb25Ib3VyJDEgIF0sCisgICAgWyAgaG91ciwgMTIsIDEyICogZHVy
YXRpb25Ib3VyJDEgIF0sCisgICAgWyAgIGRheSwgIDEsICAgICAgZHVyYXRpb25EYXkkMSAgIF0s
CisgICAgWyAgIGRheSwgIDIsICAyICogZHVyYXRpb25EYXkkMSAgIF0sCisgICAgWyAgd2Vlaywg
IDEsICAgICAgZHVyYXRpb25XZWVrJDEgIF0sCisgICAgWyBtb250aCwgIDEsICAgICAgZHVyYXRp
b25Nb250aCBdLAorICAgIFsgbW9udGgsICAzLCAgMyAqIGR1cmF0aW9uTW9udGggXSwKKyAgICBb
ICB5ZWFyLCAgMSwgICAgICBkdXJhdGlvblllYXIgIF0KKyAgXTsKKworICBmdW5jdGlvbiB0aWNr
Rm9ybWF0KGRhdGUpIHsKKyAgICByZXR1cm4gKHNlY29uZChkYXRlKSA8IGRhdGUgPyBmb3JtYXRN
aWxsaXNlY29uZAorICAgICAgICA6IG1pbnV0ZShkYXRlKSA8IGRhdGUgPyBmb3JtYXRTZWNvbmQK
KyAgICAgICAgOiBob3VyKGRhdGUpIDwgZGF0ZSA/IGZvcm1hdE1pbnV0ZQorICAgICAgICA6IGRh
eShkYXRlKSA8IGRhdGUgPyBmb3JtYXRIb3VyCisgICAgICAgIDogbW9udGgoZGF0ZSkgPCBkYXRl
ID8gKHdlZWsoZGF0ZSkgPCBkYXRlID8gZm9ybWF0RGF5IDogZm9ybWF0V2VlaykKKyAgICAgICAg
OiB5ZWFyKGRhdGUpIDwgZGF0ZSA/IGZvcm1hdE1vbnRoCisgICAgICAgIDogZm9ybWF0WWVhciko
ZGF0ZSk7CisgIH0KKworICBmdW5jdGlvbiB0aWNrSW50ZXJ2YWwoaW50ZXJ2YWwsIHN0YXJ0LCBz
dG9wLCBzdGVwKSB7CisgICAgaWYgKGludGVydmFsID09IG51bGwpIGludGVydmFsID0gMTA7CisK
KyAgICAvLyBJZiBhIGRlc2lyZWQgdGljayBjb3VudCBpcyBzcGVjaWZpZWQsIHBpY2sgYSByZWFz
b25hYmxlIHRpY2sgaW50ZXJ2YWwKKyAgICAvLyBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHRoZSBk
b21haW4gYW5kIGEgcm91Z2ggZXN0aW1hdGUgb2YgdGljayBzaXplLgorICAgIC8vIE90aGVyd2lz
ZSwgYXNzdW1lIGludGVydmFsIGlzIGFscmVhZHkgYSB0aW1lIGludGVydmFsIGFuZCB1c2UgaXQu
CisgICAgaWYgKHR5cGVvZiBpbnRlcnZhbCA9PT0gIm51bWJlciIpIHsKKyAgICAgIHZhciB0YXJn
ZXQgPSBNYXRoLmFicyhzdG9wIC0gc3RhcnQpIC8gaW50ZXJ2YWwsCisgICAgICAgICAgaSA9IGJp
c2VjdG9yKGZ1bmN0aW9uKGkpIHsgcmV0dXJuIGlbMl07IH0pLnJpZ2h0KHRpY2tJbnRlcnZhbHMs
IHRhcmdldCk7CisgICAgICBpZiAoaSA9PT0gdGlja0ludGVydmFscy5sZW5ndGgpIHsKKyAgICAg
ICAgc3RlcCA9IHRpY2tTdGVwKHN0YXJ0IC8gZHVyYXRpb25ZZWFyLCBzdG9wIC8gZHVyYXRpb25Z
ZWFyLCBpbnRlcnZhbCk7CisgICAgICAgIGludGVydmFsID0geWVhcjsKKyAgICAgIH0gZWxzZSBp
ZiAoaSkgeworICAgICAgICBpID0gdGlja0ludGVydmFsc1t0YXJnZXQgLyB0aWNrSW50ZXJ2YWxz
W2kgLSAxXVsyXSA8IHRpY2tJbnRlcnZhbHNbaV1bMl0gLyB0YXJnZXQgPyBpIC0gMSA6IGldOwor
ICAgICAgICBzdGVwID0gaVsxXTsKKyAgICAgICAgaW50ZXJ2YWwgPSBpWzBdOworICAgICAgfSBl
bHNlIHsKKyAgICAgICAgc3RlcCA9IE1hdGgubWF4KHRpY2tTdGVwKHN0YXJ0LCBzdG9wLCBpbnRl
cnZhbCksIDEpOworICAgICAgICBpbnRlcnZhbCA9IG1pbGxpc2Vjb25kOworICAgICAgfQorICAg
IH0KKworICAgIHJldHVybiBzdGVwID09IG51bGwgPyBpbnRlcnZhbCA6IGludGVydmFsLmV2ZXJ5
KHN0ZXApOworICB9CisKKyAgc2NhbGUuaW52ZXJ0ID0gZnVuY3Rpb24oeSkgeworICAgIHJldHVy
biBuZXcgRGF0ZShpbnZlcnQoeSkpOworICB9OworCisgIHNjYWxlLmRvbWFpbiA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IGRvbWFpbihtYXAkMy5jYWxsKF8s
IG51bWJlciQzKSkgOiBkb21haW4oKS5tYXAoZGF0ZSQxKTsKKyAgfTsKKworICBzY2FsZS50aWNr
cyA9IGZ1bmN0aW9uKGludGVydmFsLCBzdGVwKSB7CisgICAgdmFyIGQgPSBkb21haW4oKSwKKyAg
ICAgICAgdDAgPSBkWzBdLAorICAgICAgICB0MSA9IGRbZC5sZW5ndGggLSAxXSwKKyAgICAgICAg
ciA9IHQxIDwgdDAsCisgICAgICAgIHQ7CisgICAgaWYgKHIpIHQgPSB0MCwgdDAgPSB0MSwgdDEg
PSB0OworICAgIHQgPSB0aWNrSW50ZXJ2YWwoaW50ZXJ2YWwsIHQwLCB0MSwgc3RlcCk7CisgICAg
dCA9IHQgPyB0LnJhbmdlKHQwLCB0MSArIDEpIDogW107IC8vIGluY2x1c2l2ZSBzdG9wCisgICAg
cmV0dXJuIHIgPyB0LnJldmVyc2UoKSA6IHQ7CisgIH07CisKKyAgc2NhbGUudGlja0Zvcm1hdCA9
IGZ1bmN0aW9uKGNvdW50LCBzcGVjaWZpZXIpIHsKKyAgICByZXR1cm4gc3BlY2lmaWVyID09IG51
bGwgPyB0aWNrRm9ybWF0IDogZm9ybWF0KHNwZWNpZmllcik7CisgIH07CisKKyAgc2NhbGUubmlj
ZSA9IGZ1bmN0aW9uKGludGVydmFsLCBzdGVwKSB7CisgICAgdmFyIGQgPSBkb21haW4oKTsKKyAg
ICByZXR1cm4gKGludGVydmFsID0gdGlja0ludGVydmFsKGludGVydmFsLCBkWzBdLCBkW2QubGVu
Z3RoIC0gMV0sIHN0ZXApKQorICAgICAgICA/IGRvbWFpbihuaWNlKGQsIGludGVydmFsKSkKKyAg
ICAgICAgOiBzY2FsZTsKKyAgfTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAg
cmV0dXJuIGNvcHkoc2NhbGUsIGNhbGVuZGFyKHllYXIsIG1vbnRoLCB3ZWVrLCBkYXksIGhvdXIs
IG1pbnV0ZSwgc2Vjb25kLCBtaWxsaXNlY29uZCwgZm9ybWF0KSk7CisgIH07CisKKyAgcmV0dXJu
IHNjYWxlOworfQorCitmdW5jdGlvbiB0aW1lKCkgeworICByZXR1cm4gaW5pdFJhbmdlLmFwcGx5
KGNhbGVuZGFyKHllYXIsIG1vbnRoLCBzdW5kYXksIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQs
IG1pbGxpc2Vjb25kLCBleHBvcnRzLnRpbWVGb3JtYXQpLmRvbWFpbihbbmV3IERhdGUoMjAwMCwg
MCwgMSksIG5ldyBEYXRlKDIwMDAsIDAsIDIpXSksIGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0aW9u
IHV0Y1RpbWUoKSB7CisgIHJldHVybiBpbml0UmFuZ2UuYXBwbHkoY2FsZW5kYXIodXRjWWVhciwg
dXRjTW9udGgsIHV0Y1N1bmRheSwgdXRjRGF5LCB1dGNIb3VyLCB1dGNNaW51dGUsIHNlY29uZCwg
bWlsbGlzZWNvbmQsIGV4cG9ydHMudXRjRm9ybWF0KS5kb21haW4oW0RhdGUuVVRDKDIwMDAsIDAs
IDEpLCBEYXRlLlVUQygyMDAwLCAwLCAyKV0pLCBhcmd1bWVudHMpOworfQorCitmdW5jdGlvbiB0
cmFuc2Zvcm1lciQyKCkgeworICB2YXIgeDAgPSAwLAorICAgICAgeDEgPSAxLAorICAgICAgdDAs
CisgICAgICB0MSwKKyAgICAgIGsxMCwKKyAgICAgIHRyYW5zZm9ybSwKKyAgICAgIGludGVycG9s
YXRvciA9IGlkZW50aXR5JDYsCisgICAgICBjbGFtcCA9IGZhbHNlLAorICAgICAgdW5rbm93bjsK
KworICBmdW5jdGlvbiBzY2FsZSh4KSB7CisgICAgcmV0dXJuIGlzTmFOKHggPSAreCkgPyB1bmtu
b3duIDogaW50ZXJwb2xhdG9yKGsxMCA9PT0gMCA/IDAuNSA6ICh4ID0gKHRyYW5zZm9ybSh4KSAt
IHQwKSAqIGsxMCwgY2xhbXAgPyBNYXRoLm1heCgwLCBNYXRoLm1pbigxLCB4KSkgOiB4KSk7Cisg
IH0KKworICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAodDAgPSB0cmFuc2Zvcm0oeDAgPSArX1swXSksIHQxID0gdHJhbnNmb3JtKHgx
ID0gK19bMV0pLCBrMTAgPSB0MCA9PT0gdDEgPyAwIDogMSAvICh0MSAtIHQwKSwgc2NhbGUpIDog
W3gwLCB4MV07CisgIH07CisKKyAgc2NhbGUuY2xhbXAgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoY2xhbXAgPSAhIV8sIHNjYWxlKSA6IGNsYW1wOworICB9
OworCisgIHNjYWxlLmludGVycG9sYXRvciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJn
dW1lbnRzLmxlbmd0aCA/IChpbnRlcnBvbGF0b3IgPSBfLCBzY2FsZSkgOiBpbnRlcnBvbGF0b3I7
CisgIH07CisKKyAgc2NhbGUudW5rbm93biA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJn
dW1lbnRzLmxlbmd0aCA/ICh1bmtub3duID0gXywgc2NhbGUpIDogdW5rbm93bjsKKyAgfTsKKwor
ICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHRyYW5zZm9ybSA9IHQsIHQwID0gdCh4MCksIHQx
ID0gdCh4MSksIGsxMCA9IHQwID09PSB0MSA/IDAgOiAxIC8gKHQxIC0gdDApOworICAgIHJldHVy
biBzY2FsZTsKKyAgfTsKK30KKworZnVuY3Rpb24gY29weSQxKHNvdXJjZSwgdGFyZ2V0KSB7Cisg
IHJldHVybiB0YXJnZXQKKyAgICAgIC5kb21haW4oc291cmNlLmRvbWFpbigpKQorICAgICAgLmlu
dGVycG9sYXRvcihzb3VyY2UuaW50ZXJwb2xhdG9yKCkpCisgICAgICAuY2xhbXAoc291cmNlLmNs
YW1wKCkpCisgICAgICAudW5rbm93bihzb3VyY2UudW5rbm93bigpKTsKK30KKworZnVuY3Rpb24g
c2VxdWVudGlhbCgpIHsKKyAgdmFyIHNjYWxlID0gbGluZWFyaXNoKHRyYW5zZm9ybWVyJDIoKShp
ZGVudGl0eSQ2KSk7CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBj
b3B5JDEoc2NhbGUsIHNlcXVlbnRpYWwoKSk7CisgIH07CisKKyAgcmV0dXJuIGluaXRJbnRlcnBv
bGF0b3IuYXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIHNlcXVlbnRpYWxM
b2coKSB7CisgIHZhciBzY2FsZSA9IGxvZ2dpc2godHJhbnNmb3JtZXIkMigpKS5kb21haW4oWzEs
IDEwXSk7CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBjb3B5JDEo
c2NhbGUsIHNlcXVlbnRpYWxMb2coKSkuYmFzZShzY2FsZS5iYXNlKCkpOworICB9OworCisgIHJl
dHVybiBpbml0SW50ZXJwb2xhdG9yLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworfQorCitmdW5j
dGlvbiBzZXF1ZW50aWFsU3ltbG9nKCkgeworICB2YXIgc2NhbGUgPSBzeW1sb2dpc2godHJhbnNm
b3JtZXIkMigpKTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNv
cHkkMShzY2FsZSwgc2VxdWVudGlhbFN5bWxvZygpKS5jb25zdGFudChzY2FsZS5jb25zdGFudCgp
KTsKKyAgfTsKKworICByZXR1cm4gaW5pdEludGVycG9sYXRvci5hcHBseShzY2FsZSwgYXJndW1l
bnRzKTsKK30KKworZnVuY3Rpb24gc2VxdWVudGlhbFBvdygpIHsKKyAgdmFyIHNjYWxlID0gcG93
aXNoKHRyYW5zZm9ybWVyJDIoKSk7CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAg
IHJldHVybiBjb3B5JDEoc2NhbGUsIHNlcXVlbnRpYWxQb3coKSkuZXhwb25lbnQoc2NhbGUuZXhw
b25lbnQoKSk7CisgIH07CisKKyAgcmV0dXJuIGluaXRJbnRlcnBvbGF0b3IuYXBwbHkoc2NhbGUs
IGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIHNlcXVlbnRpYWxTcXJ0KCkgeworICByZXR1cm4g
c2VxdWVudGlhbFBvdy5hcHBseShudWxsLCBhcmd1bWVudHMpLmV4cG9uZW50KDAuNSk7Cit9CisK
K2Z1bmN0aW9uIHNlcXVlbnRpYWxRdWFudGlsZSgpIHsKKyAgdmFyIGRvbWFpbiA9IFtdLAorICAg
ICAgaW50ZXJwb2xhdG9yID0gaWRlbnRpdHkkNjsKKworICBmdW5jdGlvbiBzY2FsZSh4KSB7Cisg
ICAgaWYgKCFpc05hTih4ID0gK3gpKSByZXR1cm4gaW50ZXJwb2xhdG9yKChiaXNlY3RSaWdodChk
b21haW4sIHgpIC0gMSkgLyAoZG9tYWluLmxlbmd0aCAtIDEpKTsKKyAgfQorCisgIHNjYWxlLmRv
bWFpbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBk
b21haW4uc2xpY2UoKTsKKyAgICBkb21haW4gPSBbXTsKKyAgICBmb3IgKHZhciBpID0gMCwgbiA9
IF8ubGVuZ3RoLCBkOyBpIDwgbjsgKytpKSBpZiAoZCA9IF9baV0sIGQgIT0gbnVsbCAmJiAhaXNO
YU4oZCA9ICtkKSkgZG9tYWluLnB1c2goZCk7CisgICAgZG9tYWluLnNvcnQoYXNjZW5kaW5nKTsK
KyAgICByZXR1cm4gc2NhbGU7CisgIH07CisKKyAgc2NhbGUuaW50ZXJwb2xhdG9yID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGludGVycG9sYXRvciA9IF8s
IHNjYWxlKSA6IGludGVycG9sYXRvcjsKKyAgfTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24o
KSB7CisgICAgcmV0dXJuIHNlcXVlbnRpYWxRdWFudGlsZShpbnRlcnBvbGF0b3IpLmRvbWFpbihk
b21haW4pOworICB9OworCisgIHJldHVybiBpbml0SW50ZXJwb2xhdG9yLmFwcGx5KHNjYWxlLCBh
cmd1bWVudHMpOworfQorCitmdW5jdGlvbiB0cmFuc2Zvcm1lciQzKCkgeworICB2YXIgeDAgPSAw
LAorICAgICAgeDEgPSAwLjUsCisgICAgICB4MiA9IDEsCisgICAgICB0MCwKKyAgICAgIHQxLAor
ICAgICAgdDIsCisgICAgICBrMTAsCisgICAgICBrMjEsCisgICAgICBpbnRlcnBvbGF0b3IgPSBp
ZGVudGl0eSQ2LAorICAgICAgdHJhbnNmb3JtLAorICAgICAgY2xhbXAgPSBmYWxzZSwKKyAgICAg
IHVua25vd247CisKKyAgZnVuY3Rpb24gc2NhbGUoeCkgeworICAgIHJldHVybiBpc05hTih4ID0g
K3gpID8gdW5rbm93biA6ICh4ID0gMC41ICsgKCh4ID0gK3RyYW5zZm9ybSh4KSkgLSB0MSkgKiAo
eCA8IHQxID8gazEwIDogazIxKSwgaW50ZXJwb2xhdG9yKGNsYW1wID8gTWF0aC5tYXgoMCwgTWF0
aC5taW4oMSwgeCkpIDogeCkpOworICB9CisKKyAgc2NhbGUuZG9tYWluID0gZnVuY3Rpb24oXykg
eworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHQwID0gdHJhbnNmb3JtKHgwID0gK19b
MF0pLCB0MSA9IHRyYW5zZm9ybSh4MSA9ICtfWzFdKSwgdDIgPSB0cmFuc2Zvcm0oeDIgPSArX1sy
XSksIGsxMCA9IHQwID09PSB0MSA/IDAgOiAwLjUgLyAodDEgLSB0MCksIGsyMSA9IHQxID09PSB0
MiA/IDAgOiAwLjUgLyAodDIgLSB0MSksIHNjYWxlKSA6IFt4MCwgeDEsIHgyXTsKKyAgfTsKKwor
ICBzY2FsZS5jbGFtcCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0
aCA/IChjbGFtcCA9ICEhXywgc2NhbGUpIDogY2xhbXA7CisgIH07CisKKyAgc2NhbGUuaW50ZXJw
b2xhdG9yID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGlu
dGVycG9sYXRvciA9IF8sIHNjYWxlKSA6IGludGVycG9sYXRvcjsKKyAgfTsKKworICBzY2FsZS51
bmtub3duID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHVu
a25vd24gPSBfLCBzY2FsZSkgOiB1bmtub3duOworICB9OworCisgIHJldHVybiBmdW5jdGlvbih0
KSB7CisgICAgdHJhbnNmb3JtID0gdCwgdDAgPSB0KHgwKSwgdDEgPSB0KHgxKSwgdDIgPSB0KHgy
KSwgazEwID0gdDAgPT09IHQxID8gMCA6IDAuNSAvICh0MSAtIHQwKSwgazIxID0gdDEgPT09IHQy
ID8gMCA6IDAuNSAvICh0MiAtIHQxKTsKKyAgICByZXR1cm4gc2NhbGU7CisgIH07Cit9CisKK2Z1
bmN0aW9uIGRpdmVyZ2luZygpIHsKKyAgdmFyIHNjYWxlID0gbGluZWFyaXNoKHRyYW5zZm9ybWVy
JDMoKShpZGVudGl0eSQ2KSk7CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJl
dHVybiBjb3B5JDEoc2NhbGUsIGRpdmVyZ2luZygpKTsKKyAgfTsKKworICByZXR1cm4gaW5pdElu
dGVycG9sYXRvci5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gZGl2ZXJn
aW5nTG9nKCkgeworICB2YXIgc2NhbGUgPSBsb2dnaXNoKHRyYW5zZm9ybWVyJDMoKSkuZG9tYWlu
KFswLjEsIDEsIDEwXSk7CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVy
biBjb3B5JDEoc2NhbGUsIGRpdmVyZ2luZ0xvZygpKS5iYXNlKHNjYWxlLmJhc2UoKSk7CisgIH07
CisKKyAgcmV0dXJuIGluaXRJbnRlcnBvbGF0b3IuYXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7Cit9
CisKK2Z1bmN0aW9uIGRpdmVyZ2luZ1N5bWxvZygpIHsKKyAgdmFyIHNjYWxlID0gc3ltbG9naXNo
KHRyYW5zZm9ybWVyJDMoKSk7CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJl
dHVybiBjb3B5JDEoc2NhbGUsIGRpdmVyZ2luZ1N5bWxvZygpKS5jb25zdGFudChzY2FsZS5jb25z
dGFudCgpKTsKKyAgfTsKKworICByZXR1cm4gaW5pdEludGVycG9sYXRvci5hcHBseShzY2FsZSwg
YXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gZGl2ZXJnaW5nUG93KCkgeworICB2YXIgc2NhbGUg
PSBwb3dpc2godHJhbnNmb3JtZXIkMygpKTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7
CisgICAgcmV0dXJuIGNvcHkkMShzY2FsZSwgZGl2ZXJnaW5nUG93KCkpLmV4cG9uZW50KHNjYWxl
LmV4cG9uZW50KCkpOworICB9OworCisgIHJldHVybiBpbml0SW50ZXJwb2xhdG9yLmFwcGx5KHNj
YWxlLCBhcmd1bWVudHMpOworfQorCitmdW5jdGlvbiBkaXZlcmdpbmdTcXJ0KCkgeworICByZXR1
cm4gZGl2ZXJnaW5nUG93LmFwcGx5KG51bGwsIGFyZ3VtZW50cykuZXhwb25lbnQoMC41KTsKK30K
KworZnVuY3Rpb24gY29sb3JzKHNwZWNpZmllcikgeworICB2YXIgbiA9IHNwZWNpZmllci5sZW5n
dGggLyA2IHwgMCwgY29sb3JzID0gbmV3IEFycmF5KG4pLCBpID0gMDsKKyAgd2hpbGUgKGkgPCBu
KSBjb2xvcnNbaV0gPSAiIyIgKyBzcGVjaWZpZXIuc2xpY2UoaSAqIDYsICsraSAqIDYpOworICBy
ZXR1cm4gY29sb3JzOworfQorCit2YXIgY2F0ZWdvcnkxMCA9IGNvbG9ycygiMWY3N2I0ZmY3ZjBl
MmNhMDJjZDYyNzI4OTQ2N2JkOGM1NjRiZTM3N2MyN2Y3ZjdmYmNiZDIyMTdiZWNmIik7CisKK3Zh
ciBBY2NlbnQgPSBjb2xvcnMoIjdmYzk3ZmJlYWVkNGZkYzA4NmZmZmY5OTM4NmNiMGYwMDI3ZmJm
NWIxNzY2NjY2NiIpOworCit2YXIgRGFyazIgPSBjb2xvcnMoIjFiOWU3N2Q5NWYwMjc1NzBiM2U3
Mjk4YTY2YTYxZWU2YWIwMmE2NzYxZDY2NjY2NiIpOworCit2YXIgUGFpcmVkID0gY29sb3JzKCJh
NmNlZTMxZjc4YjRiMmRmOGEzM2EwMmNmYjlhOTllMzFhMWNmZGJmNmZmZjdmMDBjYWIyZDY2YTNk
OWFmZmZmOTliMTU5MjgiKTsKKwordmFyIFBhc3RlbDEgPSBjb2xvcnMoImZiYjRhZWIzY2RlM2Nj
ZWJjNWRlY2JlNGZlZDlhNmZmZmZjY2U1ZDhiZGZkZGFlY2YyZjJmMiIpOworCit2YXIgUGFzdGVs
MiA9IGNvbG9ycygiYjNlMmNkZmRjZGFjY2JkNWU4ZjRjYWU0ZTZmNWM5ZmZmMmFlZjFlMmNjY2Nj
Y2NjIik7CisKK3ZhciBTZXQxID0gY29sb3JzKCJlNDFhMWMzNzdlYjg0ZGFmNGE5ODRlYTNmZjdm
MDBmZmZmMzNhNjU2MjhmNzgxYmY5OTk5OTkiKTsKKwordmFyIFNldDIgPSBjb2xvcnMoIjY2YzJh
NWZjOGQ2MjhkYTBjYmU3OGFjM2E2ZDg1NGZmZDkyZmU1YzQ5NGIzYjNiMyIpOworCit2YXIgU2V0
MyA9IGNvbG9ycygiOGRkM2M3ZmZmZmIzYmViYWRhZmI4MDcyODBiMWQzZmRiNDYyYjNkZTY5ZmNj
ZGU1ZDlkOWQ5YmM4MGJkY2NlYmM1ZmZlZDZmIik7CisKK3ZhciBUYWJsZWF1MTAgPSBjb2xvcnMo
IjRlNzlhN2YyOGUyY2UxNTc1OTc2YjdiMjU5YTE0ZmVkYzk0OWFmN2FhMWZmOWRhNzljNzU1ZmJh
YjBhYiIpOworCitmdW5jdGlvbiByYW1wKHNjaGVtZSkgeworICByZXR1cm4gcmdiQmFzaXMoc2No
ZW1lW3NjaGVtZS5sZW5ndGggLSAxXSk7Cit9CisKK3ZhciBzY2hlbWUgPSBuZXcgQXJyYXkoMyku
Y29uY2F0KAorICAiZDhiMzY1ZjVmNWY1NWFiNGFjIiwKKyAgImE2NjExYWRmYzI3ZDgwY2RjMTAx
ODU3MSIsCisgICJhNjYxMWFkZmMyN2RmNWY1ZjU4MGNkYzEwMTg1NzEiLAorICAiOGM1MTBhZDhi
MzY1ZjZlOGMzYzdlYWU1NWFiNGFjMDE2NjVlIiwKKyAgIjhjNTEwYWQ4YjM2NWY2ZThjM2Y1ZjVm
NWM3ZWFlNTVhYjRhYzAxNjY1ZSIsCisgICI4YzUxMGFiZjgxMmRkZmMyN2RmNmU4YzNjN2VhZTU4
MGNkYzEzNTk3OGYwMTY2NWUiLAorICAiOGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzZjVmNWY1Yzdl
YWU1ODBjZGMxMzU5NzhmMDE2NjVlIiwKKyAgIjU0MzAwNThjNTEwYWJmODEyZGRmYzI3ZGY2ZThj
M2M3ZWFlNTgwY2RjMTM1OTc4ZjAxNjY1ZTAwM2MzMCIsCisgICI1NDMwMDU4YzUxMGFiZjgxMmRk
ZmMyN2RmNmU4YzNmNWY1ZjVjN2VhZTU4MGNkYzEzNTk3OGYwMTY2NWUwMDNjMzAiCispLm1hcChj
b2xvcnMpOworCit2YXIgQnJCRyA9IHJhbXAoc2NoZW1lKTsKKwordmFyIHNjaGVtZSQxID0gbmV3
IEFycmF5KDMpLmNvbmNhdCgKKyAgImFmOGRjM2Y3ZjdmNzdmYmY3YiIsCisgICI3YjMyOTRjMmE1
Y2ZhNmRiYTAwMDg4MzciLAorICAiN2IzMjk0YzJhNWNmZjdmN2Y3YTZkYmEwMDA4ODM3IiwKKyAg
Ijc2MmE4M2FmOGRjM2U3ZDRlOGQ5ZjBkMzdmYmY3YjFiNzgzNyIsCisgICI3NjJhODNhZjhkYzNl
N2Q0ZThmN2Y3ZjdkOWYwZDM3ZmJmN2IxYjc4MzciLAorICAiNzYyYTgzOTk3MGFiYzJhNWNmZTdk
NGU4ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3IiwKKyAgIjc2MmE4Mzk5NzBhYmMyYTVjZmU3ZDRl
OGY3ZjdmN2Q5ZjBkM2E2ZGJhMDVhYWU2MTFiNzgzNyIsCisgICI0MDAwNGI3NjJhODM5OTcwYWJj
MmE1Y2ZlN2Q0ZThkOWYwZDNhNmRiYTA1YWFlNjExYjc4MzcwMDQ0MWIiLAorICAiNDAwMDRiNzYy
YTgzOTk3MGFiYzJhNWNmZTdkNGU4ZjdmN2Y3ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3MDA0NDFi
IgorKS5tYXAoY29sb3JzKTsKKwordmFyIFBSR24gPSByYW1wKHNjaGVtZSQxKTsKKwordmFyIHNj
aGVtZSQyID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImU5YTNjOWY3ZjdmN2ExZDc2YSIsCisg
ICJkMDFjOGJmMWI2ZGFiOGUxODY0ZGFjMjYiLAorICAiZDAxYzhiZjFiNmRhZjdmN2Y3YjhlMTg2
NGRhYzI2IiwKKyAgImM1MWI3ZGU5YTNjOWZkZTBlZmU2ZjVkMGExZDc2YTRkOTIyMSIsCisgICJj
NTFiN2RlOWEzYzlmZGUwZWZmN2Y3ZjdlNmY1ZDBhMWQ3NmE0ZDkyMjEiLAorICAiYzUxYjdkZGU3
N2FlZjFiNmRhZmRlMGVmZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxIiwKKyAgImM1MWI3ZGRlNzdh
ZWYxYjZkYWZkZTBlZmY3ZjdmN2U2ZjVkMGI4ZTE4NjdmYmM0MTRkOTIyMSIsCisgICI4ZTAxNTJj
NTFiN2RkZTc3YWVmMWI2ZGFmZGUwZWZlNmY1ZDBiOGUxODY3ZmJjNDE0ZDkyMjEyNzY0MTkiLAor
ICAiOGUwMTUyYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZjdmN2Y3ZTZmNWQwYjhlMTg2N2ZiYzQx
NGQ5MjIxMjc2NDE5IgorKS5tYXAoY29sb3JzKTsKKwordmFyIFBpWUcgPSByYW1wKHNjaGVtZSQy
KTsKKwordmFyIHNjaGVtZSQzID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgIjk5OGVjM2Y3Zjdm
N2YxYTM0MCIsCisgICI1ZTNjOTliMmFiZDJmZGI4NjNlNjYxMDEiLAorICAiNWUzYzk5YjJhYmQy
ZjdmN2Y3ZmRiODYzZTY2MTAxIiwKKyAgIjU0Mjc4ODk5OGVjM2Q4ZGFlYmZlZTBiNmYxYTM0MGIz
NTgwNiIsCisgICI1NDI3ODg5OThlYzNkOGRhZWJmN2Y3ZjdmZWUwYjZmMWEzNDBiMzU4MDYiLAor
ICAiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2IiwKKyAg
IjU0Mjc4ODgwNzNhY2IyYWJkMmQ4ZGFlYmY3ZjdmN2ZlZTBiNmZkYjg2M2UwODIxNGIzNTgwNiIs
CisgICIyZDAwNGI1NDI3ODg4MDczYWNiMmFiZDJkOGRhZWJmZWUwYjZmZGI4NjNlMDgyMTRiMzU4
MDY3ZjNiMDgiLAorICAiMmQwMDRiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZjdmN2Y3ZmVlMGI2
ZmRiODYzZTA4MjE0YjM1ODA2N2YzYjA4IgorKS5tYXAoY29sb3JzKTsKKwordmFyIFB1T3IgPSBy
YW1wKHNjaGVtZSQzKTsKKwordmFyIHNjaGVtZSQ0ID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAg
ImVmOGE2MmY3ZjdmNzY3YTljZiIsCisgICJjYTAwMjBmNGE1ODI5MmM1ZGUwNTcxYjAiLAorICAi
Y2EwMDIwZjRhNTgyZjdmN2Y3OTJjNWRlMDU3MWIwIiwKKyAgImIyMTgyYmVmOGE2MmZkZGJjN2Qx
ZTVmMDY3YTljZjIxNjZhYyIsCisgICJiMjE4MmJlZjhhNjJmZGRiYzdmN2Y3ZjdkMWU1ZjA2N2E5
Y2YyMTY2YWMiLAorICAiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZDFlNWYwOTJjNWRlNDM5M2Mz
MjE2NmFjIiwKKyAgImIyMTgyYmQ2NjA0ZGY0YTU4MmZkZGJjN2Y3ZjdmN2QxZTVmMDkyYzVkZTQz
OTNjMzIxNjZhYyIsCisgICI2NzAwMWZiMjE4MmJkNjYwNGRmNGE1ODJmZGRiYzdkMWU1ZjA5MmM1
ZGU0MzkzYzMyMTY2YWMwNTMwNjEiLAorICAiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3
ZjdmN2Y3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjMDUzMDYxIgorKS5tYXAoY29sb3JzKTsKKwor
dmFyIFJkQnUgPSByYW1wKHNjaGVtZSQ0KTsKKwordmFyIHNjaGVtZSQ1ID0gbmV3IEFycmF5KDMp
LmNvbmNhdCgKKyAgImVmOGE2MmZmZmZmZjk5OTk5OSIsCisgICJjYTAwMjBmNGE1ODJiYWJhYmE0
MDQwNDAiLAorICAiY2EwMDIwZjRhNTgyZmZmZmZmYmFiYWJhNDA0MDQwIiwKKyAgImIyMTgyYmVm
OGE2MmZkZGJjN2UwZTBlMDk5OTk5OTRkNGQ0ZCIsCisgICJiMjE4MmJlZjhhNjJmZGRiYzdmZmZm
ZmZlMGUwZTA5OTk5OTk0ZDRkNGQiLAorICAiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZTBlMGUw
YmFiYWJhODc4Nzg3NGQ0ZDRkIiwKKyAgImIyMTgyYmQ2NjA0ZGY0YTU4MmZkZGJjN2ZmZmZmZmUw
ZTBlMGJhYmFiYTg3ODc4NzRkNGQ0ZCIsCisgICI2NzAwMWZiMjE4MmJkNjYwNGRmNGE1ODJmZGRi
YzdlMGUwZTBiYWJhYmE4Nzg3ODc0ZDRkNGQxYTFhMWEiLAorICAiNjcwMDFmYjIxODJiZDY2MDRk
ZjRhNTgyZmRkYmM3ZmZmZmZmZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkMWExYTFhIgorKS5tYXAo
Y29sb3JzKTsKKwordmFyIFJkR3kgPSByYW1wKHNjaGVtZSQ1KTsKKwordmFyIHNjaGVtZSQ2ID0g
bmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImZjOGQ1OWZmZmZiZjkxYmZkYiIsCisgICJkNzE5MWNm
ZGFlNjFhYmQ5ZTkyYzdiYjYiLAorICAiZDcxOTFjZmRhZTYxZmZmZmJmYWJkOWU5MmM3YmI2IiwK
KyAgImQ3MzAyN2ZjOGQ1OWZlZTA5MGUwZjNmODkxYmZkYjQ1NzViNCIsCisgICJkNzMwMjdmYzhk
NTlmZWUwOTBmZmZmYmZlMGYzZjg5MWJmZGI0NTc1YjQiLAorICAiZDczMDI3ZjQ2ZDQzZmRhZTYx
ZmVlMDkwZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0IiwKKyAgImQ3MzAyN2Y0NmQ0M2ZkYWU2MWZl
ZTA5MGZmZmZiZmUwZjNmOGFiZDllOTc0YWRkMTQ1NzViNCIsCisgICJhNTAwMjZkNzMwMjdmNDZk
NDNmZGFlNjFmZWUwOTBlMGYzZjhhYmQ5ZTk3NGFkZDE0NTc1YjQzMTM2OTUiLAorICAiYTUwMDI2
ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZmZmZmJmZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0MzEz
Njk1IgorKS5tYXAoY29sb3JzKTsKKwordmFyIFJkWWxCdSA9IHJhbXAoc2NoZW1lJDYpOworCit2
YXIgc2NoZW1lJDcgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZmM4ZDU5ZmZmZmJmOTFjZjYw
IiwKKyAgImQ3MTkxY2ZkYWU2MWE2ZDk2YTFhOTY0MSIsCisgICJkNzE5MWNmZGFlNjFmZmZmYmZh
NmQ5NmExYTk2NDEiLAorICAiZDczMDI3ZmM4ZDU5ZmVlMDhiZDllZjhiOTFjZjYwMWE5ODUwIiwK
KyAgImQ3MzAyN2ZjOGQ1OWZlZTA4YmZmZmZiZmQ5ZWY4YjkxY2Y2MDFhOTg1MCIsCisgICJkNzMw
MjdmNDZkNDNmZGFlNjFmZWUwOGJkOWVmOGJhNmQ5NmE2NmJkNjMxYTk4NTAiLAorICAiZDczMDI3
ZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwIiwKKyAgImE1
MDAyNmQ3MzAyN2Y0NmQ0M2ZkYWU2MWZlZTA4YmQ5ZWY4YmE2ZDk2YTY2YmQ2MzFhOTg1MDAwNjgz
NyIsCisgICJhNTAwMjZkNzMwMjdmNDZkNDNmZGFlNjFmZWUwOGJmZmZmYmZkOWVmOGJhNmQ5NmE2
NmJkNjMxYTk4NTAwMDY4MzciCispLm1hcChjb2xvcnMpOworCit2YXIgUmRZbEduID0gcmFtcChz
Y2hlbWUkNyk7CisKK3ZhciBzY2hlbWUkOCA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJmYzhk
NTlmZmZmYmY5OWQ1OTQiLAorICAiZDcxOTFjZmRhZTYxYWJkZGE0MmI4M2JhIiwKKyAgImQ3MTkx
Y2ZkYWU2MWZmZmZiZmFiZGRhNDJiODNiYSIsCisgICJkNTNlNGZmYzhkNTlmZWUwOGJlNmY1OTg5
OWQ1OTQzMjg4YmQiLAorICAiZDUzZTRmZmM4ZDU5ZmVlMDhiZmZmZmJmZTZmNTk4OTlkNTk0MzI4
OGJkIiwKKyAgImQ1M2U0ZmY0NmQ0M2ZkYWU2MWZlZTA4YmU2ZjU5OGFiZGRhNDY2YzJhNTMyODhi
ZCIsCisgICJkNTNlNGZmNDZkNDNmZGFlNjFmZWUwOGJmZmZmYmZlNmY1OThhYmRkYTQ2NmMyYTUz
Mjg4YmQiLAorICAiOWUwMTQyZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZTZmNTk4YWJkZGE0NjZj
MmE1MzI4OGJkNWU0ZmEyIiwKKyAgIjllMDE0MmQ1M2U0ZmY0NmQ0M2ZkYWU2MWZlZTA4YmZmZmZi
ZmU2ZjU5OGFiZGRhNDY2YzJhNTMyODhiZDVlNGZhMiIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBT
cGVjdHJhbCA9IHJhbXAoc2NoZW1lJDgpOworCit2YXIgc2NoZW1lJDkgPSBuZXcgQXJyYXkoMyku
Y29uY2F0KAorICAiZTVmNWY5OTlkOGM5MmNhMjVmIiwKKyAgImVkZjhmYmIyZTJlMjY2YzJhNDIz
OGI0NSIsCisgICJlZGY4ZmJiMmUyZTI2NmMyYTQyY2EyNWYwMDZkMmMiLAorICAiZWRmOGZiY2Nl
Y2U2OTlkOGM5NjZjMmE0MmNhMjVmMDA2ZDJjIiwKKyAgImVkZjhmYmNjZWNlNjk5ZDhjOTY2YzJh
NDQxYWU3NjIzOGI0NTAwNTgyNCIsCisgICJmN2ZjZmRlNWY1ZjljY2VjZTY5OWQ4Yzk2NmMyYTQ0
MWFlNzYyMzhiNDUwMDU4MjQiLAorICAiZjdmY2ZkZTVmNWY5Y2NlY2U2OTlkOGM5NjZjMmE0NDFh
ZTc2MjM4YjQ1MDA2ZDJjMDA0NDFiIgorKS5tYXAoY29sb3JzKTsKKwordmFyIEJ1R24gPSByYW1w
KHNjaGVtZSQ5KTsKKwordmFyIHNjaGVtZSRhID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImUw
ZWNmNDllYmNkYTg4NTZhNyIsCisgICJlZGY4ZmJiM2NkZTM4Yzk2YzY4ODQxOWQiLAorICAiZWRm
OGZiYjNjZGUzOGM5NmM2ODg1NmE3ODEwZjdjIiwKKyAgImVkZjhmYmJmZDNlNjllYmNkYThjOTZj
Njg4NTZhNzgxMGY3YyIsCisgICJlZGY4ZmJiZmQzZTY5ZWJjZGE4Yzk2YzY4YzZiYjE4ODQxOWQ2
ZTAxNmIiLAorICAiZjdmY2ZkZTBlY2Y0YmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkNmUw
MTZiIiwKKyAgImY3ZmNmZGUwZWNmNGJmZDNlNjllYmNkYThjOTZjNjhjNmJiMTg4NDE5ZDgxMGY3
YzRkMDA0YiIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBCdVB1ID0gcmFtcChzY2hlbWUkYSk7CisK
K3ZhciBzY2hlbWUkYiA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJlMGYzZGJhOGRkYjU0M2Ey
Y2EiLAorICAiZjBmOWU4YmFlNGJjN2JjY2M0MmI4Y2JlIiwKKyAgImYwZjllOGJhZTRiYzdiY2Nj
NDQzYTJjYTA4NjhhYyIsCisgICJmMGY5ZThjY2ViYzVhOGRkYjU3YmNjYzQ0M2EyY2EwODY4YWMi
LAorICAiZjBmOWU4Y2NlYmM1YThkZGI1N2JjY2M0NGViM2QzMmI4Y2JlMDg1ODllIiwKKyAgImY3
ZmNmMGUwZjNkYmNjZWJjNWE4ZGRiNTdiY2NjNDRlYjNkMzJiOGNiZTA4NTg5ZSIsCisgICJmN2Zj
ZjBlMGYzZGJjY2ViYzVhOGRkYjU3YmNjYzQ0ZWIzZDMyYjhjYmUwODY4YWMwODQwODEiCispLm1h
cChjb2xvcnMpOworCit2YXIgR25CdSA9IHJhbXAoc2NoZW1lJGIpOworCit2YXIgc2NoZW1lJGMg
PSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZmVlOGM4ZmRiYjg0ZTM0YTMzIiwKKyAgImZlZjBk
OWZkY2M4YWZjOGQ1OWQ3MzAxZiIsCisgICJmZWYwZDlmZGNjOGFmYzhkNTllMzRhMzNiMzAwMDAi
LAorICAiZmVmMGQ5ZmRkNDllZmRiYjg0ZmM4ZDU5ZTM0YTMzYjMwMDAwIiwKKyAgImZlZjBkOWZk
ZDQ5ZWZkYmI4NGZjOGQ1OWVmNjU0OGQ3MzAxZjk5MDAwMCIsCisgICJmZmY3ZWNmZWU4YzhmZGQ0
OWVmZGJiODRmYzhkNTllZjY1NDhkNzMwMWY5OTAwMDAiLAorICAiZmZmN2VjZmVlOGM4ZmRkNDll
ZmRiYjg0ZmM4ZDU5ZWY2NTQ4ZDczMDFmYjMwMDAwN2YwMDAwIgorKS5tYXAoY29sb3JzKTsKKwor
dmFyIE9yUmQgPSByYW1wKHNjaGVtZSRjKTsKKwordmFyIHNjaGVtZSRkID0gbmV3IEFycmF5KDMp
LmNvbmNhdCgKKyAgImVjZTJmMGE2YmRkYjFjOTA5OSIsCisgICJmNmVmZjdiZGM5ZTE2N2E5Y2Yw
MjgxOGEiLAorICAiZjZlZmY3YmRjOWUxNjdhOWNmMWM5MDk5MDE2YzU5IiwKKyAgImY2ZWZmN2Qw
ZDFlNmE2YmRkYjY3YTljZjFjOTA5OTAxNmM1OSIsCisgICJmNmVmZjdkMGQxZTZhNmJkZGI2N2E5
Y2YzNjkwYzAwMjgxOGEwMTY0NTAiLAorICAiZmZmN2ZiZWNlMmYwZDBkMWU2YTZiZGRiNjdhOWNm
MzY5MGMwMDI4MThhMDE2NDUwIiwKKyAgImZmZjdmYmVjZTJmMGQwZDFlNmE2YmRkYjY3YTljZjM2
OTBjMDAyODE4YTAxNmM1OTAxNDYzNiIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBQdUJ1R24gPSBy
YW1wKHNjaGVtZSRkKTsKKwordmFyIHNjaGVtZSRlID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAg
ImVjZTdmMmE2YmRkYjJiOGNiZSIsCisgICJmMWVlZjZiZGM5ZTE3NGE5Y2YwNTcwYjAiLAorICAi
ZjFlZWY2YmRjOWUxNzRhOWNmMmI4Y2JlMDQ1YThkIiwKKyAgImYxZWVmNmQwZDFlNmE2YmRkYjc0
YTljZjJiOGNiZTA0NWE4ZCIsCisgICJmMWVlZjZkMGQxZTZhNmJkZGI3NGE5Y2YzNjkwYzAwNTcw
YjAwMzRlN2IiLAorICAiZmZmN2ZiZWNlN2YyZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIw
MDM0ZTdiIiwKKyAgImZmZjdmYmVjZTdmMmQwZDFlNmE2YmRkYjc0YTljZjM2OTBjMDA1NzBiMDA0
NWE4ZDAyMzg1OCIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBQdUJ1ID0gcmFtcChzY2hlbWUkZSk7
CisKK3ZhciBzY2hlbWUkZiA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJlN2UxZWZjOTk0Yzdk
ZDFjNzciLAorICAiZjFlZWY2ZDdiNWQ4ZGY2NWIwY2UxMjU2IiwKKyAgImYxZWVmNmQ3YjVkOGRm
NjViMGRkMWM3Nzk4MDA0MyIsCisgICJmMWVlZjZkNGI5ZGFjOTk0YzdkZjY1YjBkZDFjNzc5ODAw
NDMiLAorICAiZjFlZWY2ZDRiOWRhYzk5NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTEwMDNmIiwKKyAg
ImY3ZjRmOWU3ZTFlZmQ0YjlkYWM5OTRjN2RmNjViMGU3Mjk4YWNlMTI1NjkxMDAzZiIsCisgICJm
N2Y0ZjllN2UxZWZkNGI5ZGFjOTk0YzdkZjY1YjBlNzI5OGFjZTEyNTY5ODAwNDM2NzAwMWYiCisp
Lm1hcChjb2xvcnMpOworCit2YXIgUHVSZCA9IHJhbXAoc2NoZW1lJGYpOworCit2YXIgc2NoZW1l
JGcgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZmRlMGRkZmE5ZmI1YzUxYjhhIiwKKyAgImZl
ZWJlMmZiYjRiOWY3NjhhMWFlMDE3ZSIsCisgICJmZWViZTJmYmI0YjlmNzY4YTFjNTFiOGE3YTAx
NzciLAorICAiZmVlYmUyZmNjNWMwZmE5ZmI1Zjc2OGExYzUxYjhhN2EwMTc3IiwKKyAgImZlZWJl
MmZjYzVjMGZhOWZiNWY3NjhhMWRkMzQ5N2FlMDE3ZTdhMDE3NyIsCisgICJmZmY3ZjNmZGUwZGRm
Y2M1YzBmYTlmYjVmNzY4YTFkZDM0OTdhZTAxN2U3YTAxNzciLAorICAiZmZmN2YzZmRlMGRkZmNj
NWMwZmE5ZmI1Zjc2OGExZGQzNDk3YWUwMTdlN2EwMTc3NDkwMDZhIgorKS5tYXAoY29sb3JzKTsK
KwordmFyIFJkUHUgPSByYW1wKHNjaGVtZSRnKTsKKwordmFyIHNjaGVtZSRoID0gbmV3IEFycmF5
KDMpLmNvbmNhdCgKKyAgImVkZjhiMTdmY2RiYjJjN2ZiOCIsCisgICJmZmZmY2NhMWRhYjQ0MWI2
YzQyMjVlYTgiLAorICAiZmZmZmNjYTFkYWI0NDFiNmM0MmM3ZmI4MjUzNDk0IiwKKyAgImZmZmZj
Y2M3ZTliNDdmY2RiYjQxYjZjNDJjN2ZiODI1MzQ5NCIsCisgICJmZmZmY2NjN2U5YjQ3ZmNkYmI0
MWI2YzQxZDkxYzAyMjVlYTgwYzJjODQiLAorICAiZmZmZmQ5ZWRmOGIxYzdlOWI0N2ZjZGJiNDFi
NmM0MWQ5MWMwMjI1ZWE4MGMyYzg0IiwKKyAgImZmZmZkOWVkZjhiMWM3ZTliNDdmY2RiYjQxYjZj
NDFkOTFjMDIyNWVhODI1MzQ5NDA4MWQ1OCIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBZbEduQnUg
PSByYW1wKHNjaGVtZSRoKTsKKwordmFyIHNjaGVtZSRpID0gbmV3IEFycmF5KDMpLmNvbmNhdCgK
KyAgImY3ZmNiOWFkZGQ4ZTMxYTM1NCIsCisgICJmZmZmY2NjMmU2OTk3OGM2NzkyMzg0NDMiLAor
ICAiZmZmZmNjYzJlNjk5NzhjNjc5MzFhMzU0MDA2ODM3IiwKKyAgImZmZmZjY2Q5ZjBhM2FkZGQ4
ZTc4YzY3OTMxYTM1NDAwNjgzNyIsCisgICJmZmZmY2NkOWYwYTNhZGRkOGU3OGM2Nzk0MWFiNWQy
Mzg0NDMwMDVhMzIiLAorICAiZmZmZmU1ZjdmY2I5ZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4
NDQzMDA1YTMyIiwKKyAgImZmZmZlNWY3ZmNiOWQ5ZjBhM2FkZGQ4ZTc4YzY3OTQxYWI1ZDIzODQ0
MzAwNjgzNzAwNDUyOSIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBZbEduID0gcmFtcChzY2hlbWUk
aSk7CisKK3ZhciBzY2hlbWUkaiA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJmZmY3YmNmZWM0
NGZkOTVmMGUiLAorICAiZmZmZmQ0ZmVkOThlZmU5OTI5Y2M0YzAyIiwKKyAgImZmZmZkNGZlZDk4
ZWZlOTkyOWQ5NWYwZTk5MzQwNCIsCisgICJmZmZmZDRmZWUzOTFmZWM0NGZmZTk5MjlkOTVmMGU5
OTM0MDQiLAorICAiZmZmZmQ0ZmVlMzkxZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOGMyZDA0IiwK
KyAgImZmZmZlNWZmZjdiY2ZlZTM5MWZlYzQ0ZmZlOTkyOWVjNzAxNGNjNGMwMjhjMmQwNCIsCisg
ICJmZmZmZTVmZmY3YmNmZWUzOTFmZWM0NGZmZTk5MjllYzcwMTRjYzRjMDI5OTM0MDQ2NjI1MDYi
CispLm1hcChjb2xvcnMpOworCit2YXIgWWxPckJyID0gcmFtcChzY2hlbWUkaik7CisKK3ZhciBz
Y2hlbWUkayA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJmZmVkYTBmZWIyNGNmMDNiMjAiLAor
ICAiZmZmZmIyZmVjYzVjZmQ4ZDNjZTMxYTFjIiwKKyAgImZmZmZiMmZlY2M1Y2ZkOGQzY2YwM2Iy
MGJkMDAyNiIsCisgICJmZmZmYjJmZWQ5NzZmZWIyNGNmZDhkM2NmMDNiMjBiZDAwMjYiLAorICAi
ZmZmZmIyZmVkOTc2ZmViMjRjZmQ4ZDNjZmM0ZTJhZTMxYTFjYjEwMDI2IiwKKyAgImZmZmZjY2Zm
ZWRhMGZlZDk3NmZlYjI0Y2ZkOGQzY2ZjNGUyYWUzMWExY2IxMDAyNiIsCisgICJmZmZmY2NmZmVk
YTBmZWQ5NzZmZWIyNGNmZDhkM2NmYzRlMmFlMzFhMWNiZDAwMjY4MDAwMjYiCispLm1hcChjb2xv
cnMpOworCit2YXIgWWxPclJkID0gcmFtcChzY2hlbWUkayk7CisKK3ZhciBzY2hlbWUkbCA9IG5l
dyBBcnJheSgzKS5jb25jYXQoCisgICJkZWViZjc5ZWNhZTEzMTgyYmQiLAorICAiZWZmM2ZmYmRk
N2U3NmJhZWQ2MjE3MWI1IiwKKyAgImVmZjNmZmJkZDdlNzZiYWVkNjMxODJiZDA4NTE5YyIsCisg
ICJlZmYzZmZjNmRiZWY5ZWNhZTE2YmFlZDYzMTgyYmQwODUxOWMiLAorICAiZWZmM2ZmYzZkYmVm
OWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg0NTk0IiwKKyAgImY3ZmJmZmRlZWJmN2M2ZGJlZjll
Y2FlMTZiYWVkNjQyOTJjNjIxNzFiNTA4NDU5NCIsCisgICJmN2ZiZmZkZWViZjdjNmRiZWY5ZWNh
ZTE2YmFlZDY0MjkyYzYyMTcxYjUwODUxOWMwODMwNmIiCispLm1hcChjb2xvcnMpOworCit2YXIg
Qmx1ZXMgPSByYW1wKHNjaGVtZSRsKTsKKwordmFyIHNjaGVtZSRtID0gbmV3IEFycmF5KDMpLmNv
bmNhdCgKKyAgImU1ZjVlMGExZDk5YjMxYTM1NCIsCisgICJlZGY4ZTliYWU0YjM3NGM0NzYyMzhi
NDUiLAorICAiZWRmOGU5YmFlNGIzNzRjNDc2MzFhMzU0MDA2ZDJjIiwKKyAgImVkZjhlOWM3ZTlj
MGExZDk5Yjc0YzQ3NjMxYTM1NDAwNmQyYyIsCisgICJlZGY4ZTljN2U5YzBhMWQ5OWI3NGM0NzY0
MWFiNWQyMzhiNDUwMDVhMzIiLAorICAiZjdmY2Y1ZTVmNWUwYzdlOWMwYTFkOTliNzRjNDc2NDFh
YjVkMjM4YjQ1MDA1YTMyIiwKKyAgImY3ZmNmNWU1ZjVlMGM3ZTljMGExZDk5Yjc0YzQ3NjQxYWI1
ZDIzOGI0NTAwNmQyYzAwNDQxYiIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBHcmVlbnMgPSByYW1w
KHNjaGVtZSRtKTsKKwordmFyIHNjaGVtZSRuID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImYw
ZjBmMGJkYmRiZDYzNjM2MyIsCisgICJmN2Y3ZjdjY2NjY2M5Njk2OTY1MjUyNTIiLAorICAiZjdm
N2Y3Y2NjY2NjOTY5Njk2NjM2MzYzMjUyNTI1IiwKKyAgImY3ZjdmN2Q5ZDlkOWJkYmRiZDk2OTY5
NjYzNjM2MzI1MjUyNSIsCisgICJmN2Y3ZjdkOWQ5ZDliZGJkYmQ5Njk2OTY3MzczNzM1MjUyNTIy
NTI1MjUiLAorICAiZmZmZmZmZjBmMGYwZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUy
NTI1IiwKKyAgImZmZmZmZmYwZjBmMGQ5ZDlkOWJkYmRiZDk2OTY5NjczNzM3MzUyNTI1MjI1MjUy
NTAwMDAwMCIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBHcmV5cyA9IHJhbXAoc2NoZW1lJG4pOwor
Cit2YXIgc2NoZW1lJG8gPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZWZlZGY1YmNiZGRjNzU2
YmIxIiwKKyAgImYyZjBmN2NiYzllMjllOWFjODZhNTFhMyIsCisgICJmMmYwZjdjYmM5ZTI5ZTlh
Yzg3NTZiYjE1NDI3OGYiLAorICAiZjJmMGY3ZGFkYWViYmNiZGRjOWU5YWM4NzU2YmIxNTQyNzhm
IiwKKyAgImYyZjBmN2RhZGFlYmJjYmRkYzllOWFjODgwN2RiYTZhNTFhMzRhMTQ4NiIsCisgICJm
Y2ZiZmRlZmVkZjVkYWRhZWJiY2JkZGM5ZTlhYzg4MDdkYmE2YTUxYTM0YTE0ODYiLAorICAiZmNm
YmZkZWZlZGY1ZGFkYWViYmNiZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNTQyNzhmM2YwMDdkIgorKS5t
YXAoY29sb3JzKTsKKwordmFyIFB1cnBsZXMgPSByYW1wKHNjaGVtZSRvKTsKKwordmFyIHNjaGVt
ZSRwID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImZlZTBkMmZjOTI3MmRlMmQyNiIsCisgICJm
ZWU1ZDlmY2FlOTFmYjZhNGFjYjE4MWQiLAorICAiZmVlNWQ5ZmNhZTkxZmI2YTRhZGUyZDI2YTUw
ZjE1IiwKKyAgImZlZTVkOWZjYmJhMWZjOTI3MmZiNmE0YWRlMmQyNmE1MGYxNSIsCisgICJmZWU1
ZDlmY2JiYTFmYzkyNzJmYjZhNGFlZjNiMmNjYjE4MWQ5OTAwMGQiLAorICAiZmZmNWYwZmVlMGQy
ZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkOTkwMDBkIiwKKyAgImZmZjVmMGZlZTBkMmZj
YmJhMWZjOTI3MmZiNmE0YWVmM2IyY2NiMTgxZGE1MGYxNTY3MDAwZCIKKykubWFwKGNvbG9ycyk7
CisKK3ZhciBSZWRzID0gcmFtcChzY2hlbWUkcCk7CisKK3ZhciBzY2hlbWUkcSA9IG5ldyBBcnJh
eSgzKS5jb25jYXQoCisgICJmZWU2Y2VmZGFlNmJlNjU1MGQiLAorICAiZmVlZGRlZmRiZTg1ZmQ4
ZDNjZDk0NzAxIiwKKyAgImZlZWRkZWZkYmU4NWZkOGQzY2U2NTUwZGE2MzYwMyIsCisgICJmZWVk
ZGVmZGQwYTJmZGFlNmJmZDhkM2NlNjU1MGRhNjM2MDMiLAorICAiZmVlZGRlZmRkMGEyZmRhZTZi
ZmQ4ZDNjZjE2OTEzZDk0ODAxOGMyZDA0IiwKKyAgImZmZjVlYmZlZTZjZWZkZDBhMmZkYWU2YmZk
OGQzY2YxNjkxM2Q5NDgwMThjMmQwNCIsCisgICJmZmY1ZWJmZWU2Y2VmZGQwYTJmZGFlNmJmZDhk
M2NmMTY5MTNkOTQ4MDFhNjM2MDM3ZjI3MDQiCispLm1hcChjb2xvcnMpOworCit2YXIgT3Jhbmdl
cyA9IHJhbXAoc2NoZW1lJHEpOworCitmdW5jdGlvbiBjaXZpZGlzKHQpIHsKKyAgdCA9IE1hdGgu
bWF4KDAsIE1hdGgubWluKDEsIHQpKTsKKyAgcmV0dXJuICJyZ2IoIgorICAgICAgKyBNYXRoLm1h
eCgwLCBNYXRoLm1pbigyNTUsIE1hdGgucm91bmQoLTQuNTQgLSB0ICogKDM1LjM0IC0gdCAqICgy
MzgxLjczIC0gdCAqICg2NDAyLjcgLSB0ICogKDcwMjQuNzIgLSB0ICogMjcxMC41NykpKSkpKSkg
KyAiLCAiCisgICAgICArIE1hdGgubWF4KDAsIE1hdGgubWluKDI1NSwgTWF0aC5yb3VuZCgzMi40
OSArIHQgKiAoMTcwLjczICsgdCAqICg1Mi44MiAtIHQgKiAoMTMxLjQ2IC0gdCAqICgxNzYuNTgg
LSB0ICogNjcuMzcpKSkpKSkpICsgIiwgIgorICAgICAgKyBNYXRoLm1heCgwLCBNYXRoLm1pbigy
NTUsIE1hdGgucm91bmQoODEuMjQgKyB0ICogKDQ0Mi4zNiAtIHQgKiAoMjQ4Mi40MyAtIHQgKiAo
NjE2Ny4yNCAtIHQgKiAoNjYxNC45NCAtIHQgKiAyNDc1LjY3KSkpKSkpKQorICAgICAgKyAiKSI7
Cit9CisKK3ZhciBjdWJlaGVsaXgkMyA9IGN1YmVoZWxpeExvbmcoY3ViZWhlbGl4KDMwMCwgMC41
LCAwLjApLCBjdWJlaGVsaXgoLTI0MCwgMC41LCAxLjApKTsKKwordmFyIHdhcm0gPSBjdWJlaGVs
aXhMb25nKGN1YmVoZWxpeCgtMTAwLCAwLjc1LCAwLjM1KSwgY3ViZWhlbGl4KDgwLCAxLjUwLCAw
LjgpKTsKKwordmFyIGNvb2wgPSBjdWJlaGVsaXhMb25nKGN1YmVoZWxpeCgyNjAsIDAuNzUsIDAu
MzUpLCBjdWJlaGVsaXgoODAsIDEuNTAsIDAuOCkpOworCit2YXIgYyA9IGN1YmVoZWxpeCgpOwor
CitmdW5jdGlvbiByYWluYm93KHQpIHsKKyAgaWYgKHQgPCAwIHx8IHQgPiAxKSB0IC09IE1hdGgu
Zmxvb3IodCk7CisgIHZhciB0cyA9IE1hdGguYWJzKHQgLSAwLjUpOworICBjLmggPSAzNjAgKiB0
IC0gMTAwOworICBjLnMgPSAxLjUgLSAxLjUgKiB0czsKKyAgYy5sID0gMC44IC0gMC45ICogdHM7
CisgIHJldHVybiBjICsgIiI7Cit9CisKK3ZhciBjJDEgPSByZ2IoKSwKKyAgICBwaV8xXzMgPSBN
YXRoLlBJIC8gMywKKyAgICBwaV8yXzMgPSBNYXRoLlBJICogMiAvIDM7CisKK2Z1bmN0aW9uIHNp
bmVib3codCkgeworICB2YXIgeDsKKyAgdCA9ICgwLjUgLSB0KSAqIE1hdGguUEk7CisgIGMkMS5y
ID0gMjU1ICogKHggPSBNYXRoLnNpbih0KSkgKiB4OworICBjJDEuZyA9IDI1NSAqICh4ID0gTWF0
aC5zaW4odCArIHBpXzFfMykpICogeDsKKyAgYyQxLmIgPSAyNTUgKiAoeCA9IE1hdGguc2luKHQg
KyBwaV8yXzMpKSAqIHg7CisgIHJldHVybiBjJDEgKyAiIjsKK30KKworZnVuY3Rpb24gdHVyYm8o
dCkgeworICB0ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgdCkpOworICByZXR1cm4gInJnYigi
CisgICAgICArIE1hdGgubWF4KDAsIE1hdGgubWluKDI1NSwgTWF0aC5yb3VuZCgzNC42MSArIHQg
KiAoMTE3Mi4zMyAtIHQgKiAoMTA3OTMuNTYgLSB0ICogKDMzMzAwLjEyIC0gdCAqICgzODM5NC40
OSAtIHQgKiAxNDgyNS4wNSkpKSkpKSkgKyAiLCAiCisgICAgICArIE1hdGgubWF4KDAsIE1hdGgu
bWluKDI1NSwgTWF0aC5yb3VuZCgyMy4zMSArIHQgKiAoNTU3LjMzICsgdCAqICgxMjI1LjMzIC0g
dCAqICgzNTc0Ljk2IC0gdCAqICgxMDczLjc3ICsgdCAqIDcwNy41NikpKSkpKSkgKyAiLCAiCisg
ICAgICArIE1hdGgubWF4KDAsIE1hdGgubWluKDI1NSwgTWF0aC5yb3VuZCgyNy4yICsgdCAqICgz
MjExLjEgLSB0ICogKDE1MzI3Ljk3IC0gdCAqICgyNzgxNCAtIHQgKiAoMjI1NjkuMTggLSB0ICog
NjgzOC42NikpKSkpKSkKKyAgICAgICsgIikiOworfQorCitmdW5jdGlvbiByYW1wJDEocmFuZ2Up
IHsKKyAgdmFyIG4gPSByYW5nZS5sZW5ndGg7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAg
cmV0dXJuIHJhbmdlW01hdGgubWF4KDAsIE1hdGgubWluKG4gLSAxLCBNYXRoLmZsb29yKHQgKiBu
KSkpXTsKKyAgfTsKK30KKwordmFyIHZpcmlkaXMgPSByYW1wJDEoY29sb3JzKCI0NDAxNTQ0NDAy
NTY0NTA0NTc0NTA1NTk0NjA3NWE0NjA4NWM0NjBhNWQ0NjBiNWU0NzBkNjA0NzBlNjE0NzEwNjM0
NzExNjQ0NzEzNjU0ODE0Njc0ODE2Njg0ODE3Njk0ODE4NmE0ODFhNmM0ODFiNmQ0ODFjNmU0ODFk
NmY0ODFmNzA0ODIwNzE0ODIxNzM0ODIzNzQ0ODI0NzU0ODI1NzY0ODI2Nzc0ODI4Nzg0ODI5Nzk0
NzJhN2E0NzJjN2E0NzJkN2I0NzJlN2M0NzJmN2Q0NjMwN2U0NjMyN2U0NjMzN2Y0NjM0ODA0NTM1
ODE0NTM3ODE0NTM4ODI0NDM5ODM0NDNhODM0NDNiODQ0MzNkODQ0MzNlODU0MjNmODU0MjQwODY0
MjQxODY0MTQyODc0MTQ0ODc0MDQ1ODg0MDQ2ODgzZjQ3ODgzZjQ4ODkzZTQ5ODkzZTRhODkzZTRj
OGEzZDRkOGEzZDRlOGEzYzRmOGEzYzUwOGIzYjUxOGIzYjUyOGIzYTUzOGIzYTU0OGMzOTU1OGMz
OTU2OGMzODU4OGMzODU5OGMzNzVhOGMzNzViOGQzNjVjOGQzNjVkOGQzNTVlOGQzNTVmOGQzNDYw
OGQzNDYxOGQzMzYyOGQzMzYzOGQzMjY0OGUzMjY1OGUzMTY2OGUzMTY3OGUzMTY4OGUzMDY5OGUz
MDZhOGUyZjZiOGUyZjZjOGUyZTZkOGUyZTZlOGUyZTZmOGUyZDcwOGUyZDcxOGUyYzcxOGUyYzcy
OGUyYzczOGUyYjc0OGUyYjc1OGUyYTc2OGUyYTc3OGUyYTc4OGUyOTc5OGUyOTdhOGUyOTdiOGUy
ODdjOGUyODdkOGUyNzdlOGUyNzdmOGUyNzgwOGUyNjgxOGUyNjgyOGUyNjgyOGUyNTgzOGUyNTg0
OGUyNTg1OGUyNDg2OGUyNDg3OGUyMzg4OGUyMzg5OGUyMzhhOGQyMjhiOGQyMjhjOGQyMjhkOGQy
MThlOGQyMThmOGQyMTkwOGQyMTkxOGMyMDkyOGMyMDkyOGMyMDkzOGMxZjk0OGMxZjk1OGIxZjk2
OGIxZjk3OGIxZjk4OGIxZjk5OGExZjlhOGExZTliOGExZTljODkxZTlkODkxZjllODkxZjlmODgx
ZmEwODgxZmExODgxZmExODcxZmEyODcyMGEzODYyMGE0ODYyMWE1ODUyMWE2ODUyMmE3ODUyMmE4
ODQyM2E5ODMyNGFhODMyNWFiODIyNWFjODIyNmFkODEyN2FkODEyOGFlODAyOWFmN2YyYWIwN2Yy
Y2IxN2UyZGIyN2QyZWIzN2MyZmI0N2MzMWI1N2IzMmI2N2EzNGI2NzkzNWI3NzkzN2I4NzgzOGI5
NzczYWJhNzYzYmJiNzUzZGJjNzQzZmJjNzM0MGJkNzI0MmJlNzE0NGJmNzA0NmMwNmY0OGMxNmU0
YWMxNmQ0Y2MyNmM0ZWMzNmI1MGM0NmE1MmM1Njk1NGM1Njg1NmM2Njc1OGM3NjU1YWM4NjQ1Y2M4
NjM1ZWM5NjI2MGNhNjA2M2NiNWY2NWNiNWU2N2NjNWM2OWNkNWI2Y2NkNWE2ZWNlNTg3MGNmNTc3
M2QwNTY3NWQwNTQ3N2QxNTM3YWQxNTE3Y2QyNTA3ZmQzNGU4MWQzNGQ4NGQ0NGI4NmQ1NDk4OWQ1
NDg4YmQ2NDY4ZWQ2NDU5MGQ3NDM5M2Q3NDE5NWQ4NDA5OGQ4M2U5YmQ5M2M5ZGQ5M2JhMGRhMzlh
MmRhMzdhNWRiMzZhOGRiMzRhYWRjMzJhZGRjMzBiMGRkMmZiMmRkMmRiNWRlMmJiOGRlMjliYWRl
MjhiZGRmMjZjMGRmMjVjMmRmMjNjNWUwMjFjOGUwMjBjYWUxMWZjZGUxMWRkMGUxMWNkMmUyMWJk
NWUyMWFkOGUyMTlkYWUzMTlkZGUzMThkZmUzMThlMmU0MThlNWU0MTllN2U0MTllYWU1MWFlY2U1
MWJlZmU1MWNmMWU1MWRmNGU2MWVmNmU2MjBmOGU2MjFmYmU3MjNmZGU3MjUiKSk7CisKK3ZhciBt
YWdtYSA9IHJhbXAkMShjb2xvcnMoIjAwMDAwNDAxMDAwNTAxMDEwNjAxMDEwODAyMDEwOTAyMDIw
YjAyMDIwZDAzMDMwZjAzMDMxMjA0MDQxNDA1MDQxNjA2MDUxODA2MDUxYTA3MDYxYzA4MDcxZTA5
MDcyMDBhMDgyMjBiMDkyNDBjMDkyNjBkMGEyOTBlMGIyYjEwMGIyZDExMGMyZjEyMGQzMTEzMGQz
NDE0MGUzNjE1MGUzODE2MGYzYjE4MGYzZDE5MTAzZjFhMTA0MjFjMTA0NDFkMTE0NzFlMTE0OTIw
MTE0YjIxMTE0ZTIyMTE1MDI0MTI1MzI1MTI1NTI3MTI1ODI5MTE1YTJhMTE1YzJjMTE1ZjJkMTE2
MTJmMTE2MzMxMTE2NTMzMTA2NzM0MTA2OTM2MTA2YjM4MTA2YzM5MGY2ZTNiMGY3MDNkMGY3MTNm
MGY3MjQwMGY3NDQyMGY3NTQ0MGY3NjQ1MTA3NzQ3MTA3ODQ5MTA3ODRhMTA3OTRjMTE3YTRlMTE3
YjRmMTI3YjUxMTI3YzUyMTM3YzU0MTM3ZDU2MTQ3ZDU3MTU3ZTU5MTU3ZTVhMTY3ZTVjMTY3ZjVk
MTc3ZjVmMTg3ZjYwMTg4MDYyMTk4MDY0MWE4MDY1MWE4MDY3MWI4MDY4MWM4MTZhMWM4MTZiMWQ4
MTZkMWQ4MTZlMWU4MTcwMWY4MTcyMWY4MTczMjA4MTc1MjE4MTc2MjE4MTc4MjI4MTc5MjI4Mjdi
MjM4MjdjMjM4MjdlMjQ4MjgwMjU4MjgxMjU4MTgzMjY4MTg0MjY4MTg2Mjc4MTg4Mjc4MTg5Mjg4
MThiMjk4MThjMjk4MThlMmE4MTkwMmE4MTkxMmI4MTkzMmI4MDk0MmM4MDk2MmM4MDk4MmQ4MDk5
MmQ4MDliMmU3ZjljMmU3ZjllMmY3ZmEwMmY3ZmExMzA3ZWEzMzA3ZWE1MzE3ZWE2MzE3ZGE4MzI3
ZGFhMzM3ZGFiMzM3Y2FkMzQ3Y2FlMzQ3YmIwMzU3YmIyMzU3YmIzMzY3YWI1MzY3YWI3Mzc3OWI4
Mzc3OWJhMzg3OGJjMzk3OGJkMzk3N2JmM2E3N2MwM2E3NmMyM2I3NWM0M2M3NWM1M2M3NGM3M2Q3
M2M4M2U3M2NhM2U3MmNjM2Y3MWNkNDA3MWNmNDA3MGQwNDE2ZmQyNDI2ZmQzNDM2ZWQ1NDQ2ZGQ2
NDU2Y2Q4NDU2Y2Q5NDY2YmRiNDc2YWRjNDg2OWRlNDk2OGRmNGE2OGUwNGM2N2UyNGQ2NmUzNGU2
NWU0NGY2NGU1NTA2NGU3NTI2M2U4NTM2MmU5NTQ2MmVhNTY2MWViNTc2MGVjNTg2MGVkNWE1ZmVl
NWI1ZWVmNWQ1ZWYwNWY1ZWYxNjA1ZGYyNjI1ZGYyNjQ1Y2YzNjU1Y2Y0Njc1Y2Y0Njk1Y2Y1NmI1
Y2Y2NmM1Y2Y2NmU1Y2Y3NzA1Y2Y3NzI1Y2Y4NzQ1Y2Y4NzY1Y2Y5Nzg1ZGY5Nzk1ZGY5N2I1ZGZh
N2Q1ZWZhN2Y1ZWZhODE1ZmZiODM1ZmZiODU2MGZiODc2MWZjODk2MWZjOGE2MmZjOGM2M2ZjOGU2
NGZjOTA2NWZkOTI2NmZkOTQ2N2ZkOTY2OGZkOTg2OWZkOWE2YWZkOWI2YmZlOWQ2Y2ZlOWY2ZGZl
YTE2ZWZlYTM2ZmZlYTU3MWZlYTc3MmZlYTk3M2ZlYWE3NGZlYWM3NmZlYWU3N2ZlYjA3OGZlYjI3
YWZlYjQ3YmZlYjY3Y2ZlYjc3ZWZlYjk3ZmZlYmI4MWZlYmQ4MmZlYmY4NGZlYzE4NWZlYzI4N2Zl
YzQ4OGZlYzY4YWZlYzg4Y2ZlY2E4ZGZlY2M4ZmZlY2Q5MGZlY2Y5MmZlZDE5NGZlZDM5NWZlZDU5
N2ZlZDc5OWZlZDg5YWZkZGE5Y2ZkZGM5ZWZkZGVhMGZkZTBhMWZkZTJhM2ZkZTNhNWZkZTVhN2Zk
ZTdhOWZkZTlhYWZkZWJhY2ZjZWNhZWZjZWViMGZjZjBiMmZjZjJiNGZjZjRiNmZjZjZiOGZjZjdi
OWZjZjliYmZjZmJiZGZjZmRiZiIpKTsKKwordmFyIGluZmVybm8gPSByYW1wJDEoY29sb3JzKCIw
MDAwMDQwMTAwMDUwMTAxMDYwMTAxMDgwMjAxMGEwMjAyMGMwMjAyMGUwMzAyMTAwNDAzMTIwNDAz
MTQwNTA0MTcwNjA0MTkwNzA1MWIwODA1MWQwOTA2MWYwYTA3MjIwYjA3MjQwYzA4MjYwZDA4Mjkw
ZTA5MmIxMDA5MmQxMTBhMzAxMjBhMzIxNDBiMzQxNTBiMzcxNjBiMzkxODBjM2MxOTBjM2UxYjBj
NDExYzBjNDMxZTBjNDUxZjBjNDgyMTBjNGEyMzBjNGMyNDBjNGYyNjBjNTEyODBiNTMyOTBiNTUy
YjBiNTcyZDBiNTkyZjBhNWIzMTBhNWMzMjBhNWUzNDBhNWYzNjA5NjEzODA5NjIzOTA5NjMzYjA5
NjQzZDA5NjUzZTA5NjY0MDBhNjc0MjBhNjg0NDBhNjg0NTBhNjk0NzBiNmE0OTBiNmE0YTBjNmI0
YzBjNmI0ZDBkNmM0ZjBkNmM1MTBlNmM1MjBlNmQ1NDBmNmQ1NTBmNmQ1NzEwNmU1OTEwNmU1YTEx
NmU1YzEyNmU1ZDEyNmU1ZjEzNmU2MTEzNmU2MjE0NmU2NDE1NmU2NTE1NmU2NzE2NmU2OTE2NmU2
YTE3NmU2YzE4NmU2ZDE4NmU2ZjE5NmU3MTE5NmU3MjFhNmU3NDFhNmU3NTFiNmU3NzFjNmQ3ODFj
NmQ3YTFkNmQ3YzFkNmQ3ZDFlNmQ3ZjFlNmM4MDFmNmM4MjIwNmM4NDIwNmI4NTIxNmI4NzIxNmI4
ODIyNmE4YTIyNmE4YzIzNjk4ZDIzNjk4ZjI0Njk5MDI1Njg5MjI1Njg5MzI2Njc5NTI2Njc5NzI3
NjY5ODI3NjY5YTI4NjU5YjI5NjQ5ZDI5NjQ5ZjJhNjNhMDJhNjNhMjJiNjJhMzJjNjFhNTJjNjBh
NjJkNjBhODJlNWZhOTJlNWVhYjJmNWVhZDMwNWRhZTMwNWNiMDMxNWJiMTMyNWFiMzMyNWFiNDMz
NTliNjM0NThiNzM1NTdiOTM1NTZiYTM2NTViYzM3NTRiZDM4NTNiZjM5NTJjMDNhNTFjMTNhNTBj
MzNiNGZjNDNjNGVjNjNkNGRjNzNlNGNjODNmNGJjYTQwNGFjYjQxNDljYzQyNDhjZTQzNDdjZjQ0
NDZkMDQ1NDVkMjQ2NDRkMzQ3NDNkNDQ4NDJkNTRhNDFkNzRiM2ZkODRjM2VkOTRkM2RkYTRlM2Nk
YjUwM2JkZDUxM2FkZTUyMzhkZjUzMzdlMDU1MzZlMTU2MzVlMjU3MzRlMzU5MzNlNDVhMzFlNTVj
MzBlNjVkMmZlNzVlMmVlODYwMmRlOTYxMmJlYTYzMmFlYjY0MjllYjY2MjhlYzY3MjZlZDY5MjVl
ZTZhMjRlZjZjMjNlZjZlMjFmMDZmMjBmMTcxMWZmMTczMWRmMjc0MWNmMzc2MWJmMzc4MTlmNDc5
MThmNTdiMTdmNTdkMTVmNjdlMTRmNjgwMTNmNzgyMTJmNzg0MTBmODg1MGZmODg3MGVmODg5MGNm
OThiMGJmOThjMGFmOThlMDlmYTkwMDhmYTkyMDdmYTk0MDdmYjk2MDZmYjk3MDZmYjk5MDZmYjli
MDZmYjlkMDdmYzlmMDdmY2ExMDhmY2EzMDlmY2E1MGFmY2E2MGNmY2E4MGRmY2FhMGZmY2FjMTFm
Y2FlMTJmY2IwMTRmY2IyMTZmY2I0MThmYmI2MWFmYmI4MWRmYmJhMWZmYmJjMjFmYmJlMjNmYWMw
MjZmYWMyMjhmYWM0MmFmYWM2MmRmOWM3MmZmOWM5MzJmOWNiMzVmOGNkMzdmOGNmM2FmN2QxM2Rm
N2QzNDBmNmQ1NDNmNmQ3NDZmNWQ5NDlmNWRiNGNmNGRkNGZmNGRmNTNmNGUxNTZmM2UzNWFmM2U1
NWRmMmU2NjFmMmU4NjVmMmVhNjlmMWVjNmRmMWVkNzFmMWVmNzVmMWYxNzlmMmYyN2RmMmY0ODJm
M2Y1ODZmM2Y2OGFmNGY4OGVmNWY5OTJmNmZhOTZmOGZiOWFmOWZjOWRmYWZkYTFmY2ZmYTQiKSk7
CisKK3ZhciBwbGFzbWEgPSByYW1wJDEoY29sb3JzKCIwZDA4ODcxMDA3ODgxMzA3ODkxNjA3OGEx
OTA2OGMxYjA2OGQxZDA2OGUyMDA2OGYyMjA2OTAyNDA2OTEyNjA1OTEyODA1OTIyYTA1OTMyYzA1
OTQyZTA1OTUyZjA1OTYzMTA1OTczMzA1OTczNTA0OTgzNzA0OTkzODA0OWEzYTA0OWEzYzA0OWIz
ZTA0OWMzZjA0OWM0MTA0OWQ0MzAzOWU0NDAzOWU0NjAzOWY0ODAzOWY0OTAzYTA0YjAzYTE0YzAy
YTE0ZTAyYTI1MDAyYTI1MTAyYTM1MzAyYTM1NTAyYTQ1NjAxYTQ1ODAxYTQ1OTAxYTU1YjAxYTU1
YzAxYTY1ZTAxYTY2MDAxYTY2MTAwYTc2MzAwYTc2NDAwYTc2NjAwYTc2NzAwYTg2OTAwYTg2YTAw
YTg2YzAwYTg2ZTAwYTg2ZjAwYTg3MTAwYTg3MjAxYTg3NDAxYTg3NTAxYTg3NzAxYTg3ODAxYTg3
YTAyYTg3YjAyYTg3ZDAzYTg3ZTAzYTg4MDA0YTg4MTA0YTc4MzA1YTc4NDA1YTc4NjA2YTY4NzA3
YTY4ODA4YTY4YTA5YTU4YjBhYTU4ZDBiYTU4ZTBjYTQ4ZjBkYTQ5MTBlYTM5MjBmYTM5NDEwYTI5
NTExYTE5NjEzYTE5ODE0YTA5OTE1OWY5YTE2OWY5YzE3OWU5ZDE4OWQ5ZTE5OWRhMDFhOWNhMTFi
OWJhMjFkOWFhMzFlOWFhNTFmOTlhNjIwOThhNzIxOTdhODIyOTZhYTIzOTVhYjI0OTRhYzI2OTRh
ZDI3OTNhZTI4OTJiMDI5OTFiMTJhOTBiMjJiOGZiMzJjOGViNDJlOGRiNTJmOGNiNjMwOGJiNzMx
OGFiODMyODliYTMzODhiYjM0ODhiYzM1ODdiZDM3ODZiZTM4ODViZjM5ODRjMDNhODNjMTNiODJj
MjNjODFjMzNkODBjNDNlN2ZjNTQwN2VjNjQxN2RjNzQyN2NjODQzN2JjOTQ0N2FjYTQ1N2FjYjQ2
NzljYzQ3NzhjYzQ5NzdjZDRhNzZjZTRiNzVjZjRjNzRkMDRkNzNkMTRlNzJkMjRmNzFkMzUxNzFk
NDUyNzBkNTUzNmZkNTU0NmVkNjU1NmRkNzU2NmNkODU3NmJkOTU4NmFkYTVhNmFkYTViNjlkYjVj
NjhkYzVkNjdkZDVlNjZkZTVmNjVkZTYxNjRkZjYyNjNlMDYzNjNlMTY0NjJlMjY1NjFlMjY2NjBl
MzY4NWZlNDY5NWVlNTZhNWRlNTZiNWRlNjZjNWNlNzZlNWJlNzZmNWFlODcwNTllOTcxNThlOTcy
NTdlYTc0NTdlYjc1NTZlYjc2NTVlYzc3NTRlZDc5NTNlZDdhNTJlZTdiNTFlZjdjNTFlZjdlNTBm
MDdmNGZmMDgwNGVmMTgxNGRmMTgzNGNmMjg0NGJmMzg1NGJmMzg3NGFmNDg4NDlmNDg5NDhmNThi
NDdmNThjNDZmNjhkNDVmNjhmNDRmNzkwNDRmNzkxNDNmNzkzNDJmODk0NDFmODk1NDBmOTk3M2Zm
OTk4M2VmOTlhM2VmYTliM2RmYTljM2NmYTllM2JmYjlmM2FmYmExMzlmYmEyMzhmY2EzMzhmY2E1
MzdmY2E2MzZmY2E4MzVmY2E5MzRmZGFiMzNmZGFjMzNmZGFlMzJmZGFmMzFmZGIxMzBmZGIyMmZm
ZGI0MmZmZGI1MmVmZWI3MmRmZWI4MmNmZWJhMmNmZWJiMmJmZWJkMmFmZWJlMmFmZWMwMjlmZGMy
MjlmZGMzMjhmZGM1MjdmZGM2MjdmZGM4MjdmZGNhMjZmZGNiMjZmY2NkMjVmY2NlMjVmY2QwMjVm
Y2QyMjVmYmQzMjRmYmQ1MjRmYmQ3MjRmYWQ4MjRmYWRhMjRmOWRjMjRmOWRkMjVmOGRmMjVmOGUx
MjVmN2UyMjVmN2U0MjVmNmU2MjZmNmU4MjZmNWU5MjZmNWViMjdmNGVkMjdmM2VlMjdmM2YwMjdm
MmYyMjdmMWY0MjZmMWY1MjVmMGY3MjRmMGY5MjEiKSk7CisKK2Z1bmN0aW9uIGNvbnN0YW50JGIo
eCkgeworICByZXR1cm4gZnVuY3Rpb24gY29uc3RhbnQoKSB7CisgICAgcmV0dXJuIHg7CisgIH07
Cit9CisKK3ZhciBhYnMkMSA9IE1hdGguYWJzOwordmFyIGF0YW4yJDEgPSBNYXRoLmF0YW4yOwor
dmFyIGNvcyQyID0gTWF0aC5jb3M7Cit2YXIgbWF4JDIgPSBNYXRoLm1heDsKK3ZhciBtaW4kMSA9
IE1hdGgubWluOwordmFyIHNpbiQyID0gTWF0aC5zaW47Cit2YXIgc3FydCQyID0gTWF0aC5zcXJ0
OworCit2YXIgZXBzaWxvbiQzID0gMWUtMTI7Cit2YXIgcGkkNCA9IE1hdGguUEk7Cit2YXIgaGFs
ZlBpJDMgPSBwaSQ0IC8gMjsKK3ZhciB0YXUkNCA9IDIgKiBwaSQ0OworCitmdW5jdGlvbiBhY29z
JDEoeCkgeworICByZXR1cm4geCA+IDEgPyAwIDogeCA8IC0xID8gcGkkNCA6IE1hdGguYWNvcyh4
KTsKK30KKworZnVuY3Rpb24gYXNpbiQxKHgpIHsKKyAgcmV0dXJuIHggPj0gMSA/IGhhbGZQaSQz
IDogeCA8PSAtMSA/IC1oYWxmUGkkMyA6IE1hdGguYXNpbih4KTsKK30KKworZnVuY3Rpb24gYXJj
SW5uZXJSYWRpdXMoZCkgeworICByZXR1cm4gZC5pbm5lclJhZGl1czsKK30KKworZnVuY3Rpb24g
YXJjT3V0ZXJSYWRpdXMoZCkgeworICByZXR1cm4gZC5vdXRlclJhZGl1czsKK30KKworZnVuY3Rp
b24gYXJjU3RhcnRBbmdsZShkKSB7CisgIHJldHVybiBkLnN0YXJ0QW5nbGU7Cit9CisKK2Z1bmN0
aW9uIGFyY0VuZEFuZ2xlKGQpIHsKKyAgcmV0dXJuIGQuZW5kQW5nbGU7Cit9CisKK2Z1bmN0aW9u
IGFyY1BhZEFuZ2xlKGQpIHsKKyAgcmV0dXJuIGQgJiYgZC5wYWRBbmdsZTsgLy8gTm90ZTogb3B0
aW9uYWwhCit9CisKK2Z1bmN0aW9uIGludGVyc2VjdCh4MCwgeTAsIHgxLCB5MSwgeDIsIHkyLCB4
MywgeTMpIHsKKyAgdmFyIHgxMCA9IHgxIC0geDAsIHkxMCA9IHkxIC0geTAsCisgICAgICB4MzIg
PSB4MyAtIHgyLCB5MzIgPSB5MyAtIHkyLAorICAgICAgdCA9IHkzMiAqIHgxMCAtIHgzMiAqIHkx
MDsKKyAgaWYgKHQgKiB0IDwgZXBzaWxvbiQzKSByZXR1cm47CisgIHQgPSAoeDMyICogKHkwIC0g
eTIpIC0geTMyICogKHgwIC0geDIpKSAvIHQ7CisgIHJldHVybiBbeDAgKyB0ICogeDEwLCB5MCAr
IHQgKiB5MTBdOworfQorCisvLyBDb21wdXRlIHBlcnBlbmRpY3VsYXIgb2Zmc2V0IGxpbmUgb2Yg
bGVuZ3RoIHJjLgorLy8gaHR0cDovL21hdGh3b3JsZC53b2xmcmFtLmNvbS9DaXJjbGUtTGluZUlu
dGVyc2VjdGlvbi5odG1sCitmdW5jdGlvbiBjb3JuZXJUYW5nZW50cyh4MCwgeTAsIHgxLCB5MSwg
cjEsIHJjLCBjdykgeworICB2YXIgeDAxID0geDAgLSB4MSwKKyAgICAgIHkwMSA9IHkwIC0geTEs
CisgICAgICBsbyA9IChjdyA/IHJjIDogLXJjKSAvIHNxcnQkMih4MDEgKiB4MDEgKyB5MDEgKiB5
MDEpLAorICAgICAgb3ggPSBsbyAqIHkwMSwKKyAgICAgIG95ID0gLWxvICogeDAxLAorICAgICAg
eDExID0geDAgKyBveCwKKyAgICAgIHkxMSA9IHkwICsgb3ksCisgICAgICB4MTAgPSB4MSArIG94
LAorICAgICAgeTEwID0geTEgKyBveSwKKyAgICAgIHgwMCA9ICh4MTEgKyB4MTApIC8gMiwKKyAg
ICAgIHkwMCA9ICh5MTEgKyB5MTApIC8gMiwKKyAgICAgIGR4ID0geDEwIC0geDExLAorICAgICAg
ZHkgPSB5MTAgLSB5MTEsCisgICAgICBkMiA9IGR4ICogZHggKyBkeSAqIGR5LAorICAgICAgciA9
IHIxIC0gcmMsCisgICAgICBEID0geDExICogeTEwIC0geDEwICogeTExLAorICAgICAgZCA9IChk
eSA8IDAgPyAtMSA6IDEpICogc3FydCQyKG1heCQyKDAsIHIgKiByICogZDIgLSBEICogRCkpLAor
ICAgICAgY3gwID0gKEQgKiBkeSAtIGR4ICogZCkgLyBkMiwKKyAgICAgIGN5MCA9ICgtRCAqIGR4
IC0gZHkgKiBkKSAvIGQyLAorICAgICAgY3gxID0gKEQgKiBkeSArIGR4ICogZCkgLyBkMiwKKyAg
ICAgIGN5MSA9ICgtRCAqIGR4ICsgZHkgKiBkKSAvIGQyLAorICAgICAgZHgwID0gY3gwIC0geDAw
LAorICAgICAgZHkwID0gY3kwIC0geTAwLAorICAgICAgZHgxID0gY3gxIC0geDAwLAorICAgICAg
ZHkxID0gY3kxIC0geTAwOworCisgIC8vIFBpY2sgdGhlIGNsb3NlciBvZiB0aGUgdHdvIGludGVy
c2VjdGlvbiBwb2ludHMuCisgIC8vIFRPRE8gSXMgdGhlcmUgYSBmYXN0ZXIgd2F5IHRvIGRldGVy
bWluZSB3aGljaCBpbnRlcnNlY3Rpb24gdG8gdXNlPworICBpZiAoZHgwICogZHgwICsgZHkwICog
ZHkwID4gZHgxICogZHgxICsgZHkxICogZHkxKSBjeDAgPSBjeDEsIGN5MCA9IGN5MTsKKworICBy
ZXR1cm4geworICAgIGN4OiBjeDAsCisgICAgY3k6IGN5MCwKKyAgICB4MDE6IC1veCwKKyAgICB5
MDE6IC1veSwKKyAgICB4MTE6IGN4MCAqIChyMSAvIHIgLSAxKSwKKyAgICB5MTE6IGN5MCAqIChy
MSAvIHIgLSAxKQorICB9OworfQorCitmdW5jdGlvbiBhcmMoKSB7CisgIHZhciBpbm5lclJhZGl1
cyA9IGFyY0lubmVyUmFkaXVzLAorICAgICAgb3V0ZXJSYWRpdXMgPSBhcmNPdXRlclJhZGl1cywK
KyAgICAgIGNvcm5lclJhZGl1cyA9IGNvbnN0YW50JGIoMCksCisgICAgICBwYWRSYWRpdXMgPSBu
dWxsLAorICAgICAgc3RhcnRBbmdsZSA9IGFyY1N0YXJ0QW5nbGUsCisgICAgICBlbmRBbmdsZSA9
IGFyY0VuZEFuZ2xlLAorICAgICAgcGFkQW5nbGUgPSBhcmNQYWRBbmdsZSwKKyAgICAgIGNvbnRl
eHQgPSBudWxsOworCisgIGZ1bmN0aW9uIGFyYygpIHsKKyAgICB2YXIgYnVmZmVyLAorICAgICAg
ICByLAorICAgICAgICByMCA9ICtpbm5lclJhZGl1cy5hcHBseSh0aGlzLCBhcmd1bWVudHMpLAor
ICAgICAgICByMSA9ICtvdXRlclJhZGl1cy5hcHBseSh0aGlzLCBhcmd1bWVudHMpLAorICAgICAg
ICBhMCA9IHN0YXJ0QW5nbGUuYXBwbHkodGhpcywgYXJndW1lbnRzKSAtIGhhbGZQaSQzLAorICAg
ICAgICBhMSA9IGVuZEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgLSBoYWxmUGkkMywKKyAg
ICAgICAgZGEgPSBhYnMkMShhMSAtIGEwKSwKKyAgICAgICAgY3cgPSBhMSA+IGEwOworCisgICAg
aWYgKCFjb250ZXh0KSBjb250ZXh0ID0gYnVmZmVyID0gcGF0aCgpOworCisgICAgLy8gRW5zdXJl
IHRoYXQgdGhlIG91dGVyIHJhZGl1cyBpcyBhbHdheXMgbGFyZ2VyIHRoYW4gdGhlIGlubmVyIHJh
ZGl1cy4KKyAgICBpZiAocjEgPCByMCkgciA9IHIxLCByMSA9IHIwLCByMCA9IHI7CisKKyAgICAv
LyBJcyBpdCBhIHBvaW50PworICAgIGlmICghKHIxID4gZXBzaWxvbiQzKSkgY29udGV4dC5tb3Zl
VG8oMCwgMCk7CisKKyAgICAvLyBPciBpcyBpdCBhIGNpcmNsZSBvciBhbm51bHVzPworICAgIGVs
c2UgaWYgKGRhID4gdGF1JDQgLSBlcHNpbG9uJDMpIHsKKyAgICAgIGNvbnRleHQubW92ZVRvKHIx
ICogY29zJDIoYTApLCByMSAqIHNpbiQyKGEwKSk7CisgICAgICBjb250ZXh0LmFyYygwLCAwLCBy
MSwgYTAsIGExLCAhY3cpOworICAgICAgaWYgKHIwID4gZXBzaWxvbiQzKSB7CisgICAgICAgIGNv
bnRleHQubW92ZVRvKHIwICogY29zJDIoYTEpLCByMCAqIHNpbiQyKGExKSk7CisgICAgICAgIGNv
bnRleHQuYXJjKDAsIDAsIHIwLCBhMSwgYTAsIGN3KTsKKyAgICAgIH0KKyAgICB9CisKKyAgICAv
LyBPciBpcyBpdCBhIGNpcmN1bGFyIG9yIGFubnVsYXIgc2VjdG9yPworICAgIGVsc2UgeworICAg
ICAgdmFyIGEwMSA9IGEwLAorICAgICAgICAgIGExMSA9IGExLAorICAgICAgICAgIGEwMCA9IGEw
LAorICAgICAgICAgIGExMCA9IGExLAorICAgICAgICAgIGRhMCA9IGRhLAorICAgICAgICAgIGRh
MSA9IGRhLAorICAgICAgICAgIGFwID0gcGFkQW5nbGUuYXBwbHkodGhpcywgYXJndW1lbnRzKSAv
IDIsCisgICAgICAgICAgcnAgPSAoYXAgPiBlcHNpbG9uJDMpICYmIChwYWRSYWRpdXMgPyArcGFk
UmFkaXVzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgOiBzcXJ0JDIocjAgKiByMCArIHIxICogcjEp
KSwKKyAgICAgICAgICByYyA9IG1pbiQxKGFicyQxKHIxIC0gcjApIC8gMiwgK2Nvcm5lclJhZGl1
cy5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSwKKyAgICAgICAgICByYzAgPSByYywKKyAgICAgICAg
ICByYzEgPSByYywKKyAgICAgICAgICB0MCwKKyAgICAgICAgICB0MTsKKworICAgICAgLy8gQXBw
bHkgcGFkZGluZz8gTm90ZSB0aGF0IHNpbmNlIHIxIOKJpSByMCwgZGExIOKJpSBkYTAuCisgICAg
ICBpZiAocnAgPiBlcHNpbG9uJDMpIHsKKyAgICAgICAgdmFyIHAwID0gYXNpbiQxKHJwIC8gcjAg
KiBzaW4kMihhcCkpLAorICAgICAgICAgICAgcDEgPSBhc2luJDEocnAgLyByMSAqIHNpbiQyKGFw
KSk7CisgICAgICAgIGlmICgoZGEwIC09IHAwICogMikgPiBlcHNpbG9uJDMpIHAwICo9IChjdyA/
IDEgOiAtMSksIGEwMCArPSBwMCwgYTEwIC09IHAwOworICAgICAgICBlbHNlIGRhMCA9IDAsIGEw
MCA9IGExMCA9IChhMCArIGExKSAvIDI7CisgICAgICAgIGlmICgoZGExIC09IHAxICogMikgPiBl
cHNpbG9uJDMpIHAxICo9IChjdyA/IDEgOiAtMSksIGEwMSArPSBwMSwgYTExIC09IHAxOworICAg
ICAgICBlbHNlIGRhMSA9IDAsIGEwMSA9IGExMSA9IChhMCArIGExKSAvIDI7CisgICAgICB9CisK
KyAgICAgIHZhciB4MDEgPSByMSAqIGNvcyQyKGEwMSksCisgICAgICAgICAgeTAxID0gcjEgKiBz
aW4kMihhMDEpLAorICAgICAgICAgIHgxMCA9IHIwICogY29zJDIoYTEwKSwKKyAgICAgICAgICB5
MTAgPSByMCAqIHNpbiQyKGExMCk7CisKKyAgICAgIC8vIEFwcGx5IHJvdW5kZWQgY29ybmVycz8K
KyAgICAgIGlmIChyYyA+IGVwc2lsb24kMykgeworICAgICAgICB2YXIgeDExID0gcjEgKiBjb3Mk
MihhMTEpLAorICAgICAgICAgICAgeTExID0gcjEgKiBzaW4kMihhMTEpLAorICAgICAgICAgICAg
eDAwID0gcjAgKiBjb3MkMihhMDApLAorICAgICAgICAgICAgeTAwID0gcjAgKiBzaW4kMihhMDAp
LAorICAgICAgICAgICAgb2M7CisKKyAgICAgICAgLy8gUmVzdHJpY3QgdGhlIGNvcm5lciByYWRp
dXMgYWNjb3JkaW5nIHRvIHRoZSBzZWN0b3IgYW5nbGUuCisgICAgICAgIGlmIChkYSA8IHBpJDQg
JiYgKG9jID0gaW50ZXJzZWN0KHgwMSwgeTAxLCB4MDAsIHkwMCwgeDExLCB5MTEsIHgxMCwgeTEw
KSkpIHsKKyAgICAgICAgICB2YXIgYXggPSB4MDEgLSBvY1swXSwKKyAgICAgICAgICAgICAgYXkg
PSB5MDEgLSBvY1sxXSwKKyAgICAgICAgICAgICAgYnggPSB4MTEgLSBvY1swXSwKKyAgICAgICAg
ICAgICAgYnkgPSB5MTEgLSBvY1sxXSwKKyAgICAgICAgICAgICAga2MgPSAxIC8gc2luJDIoYWNv
cyQxKChheCAqIGJ4ICsgYXkgKiBieSkgLyAoc3FydCQyKGF4ICogYXggKyBheSAqIGF5KSAqIHNx
cnQkMihieCAqIGJ4ICsgYnkgKiBieSkpKSAvIDIpLAorICAgICAgICAgICAgICBsYyA9IHNxcnQk
MihvY1swXSAqIG9jWzBdICsgb2NbMV0gKiBvY1sxXSk7CisgICAgICAgICAgcmMwID0gbWluJDEo
cmMsIChyMCAtIGxjKSAvIChrYyAtIDEpKTsKKyAgICAgICAgICByYzEgPSBtaW4kMShyYywgKHIx
IC0gbGMpIC8gKGtjICsgMSkpOworICAgICAgICB9CisgICAgICB9CisKKyAgICAgIC8vIElzIHRo
ZSBzZWN0b3IgY29sbGFwc2VkIHRvIGEgbGluZT8KKyAgICAgIGlmICghKGRhMSA+IGVwc2lsb24k
MykpIGNvbnRleHQubW92ZVRvKHgwMSwgeTAxKTsKKworICAgICAgLy8gRG9lcyB0aGUgc2VjdG9y
4oCZcyBvdXRlciByaW5nIGhhdmUgcm91bmRlZCBjb3JuZXJzPworICAgICAgZWxzZSBpZiAocmMx
ID4gZXBzaWxvbiQzKSB7CisgICAgICAgIHQwID0gY29ybmVyVGFuZ2VudHMoeDAwLCB5MDAsIHgw
MSwgeTAxLCByMSwgcmMxLCBjdyk7CisgICAgICAgIHQxID0gY29ybmVyVGFuZ2VudHMoeDExLCB5
MTEsIHgxMCwgeTEwLCByMSwgcmMxLCBjdyk7CisKKyAgICAgICAgY29udGV4dC5tb3ZlVG8odDAu
Y3ggKyB0MC54MDEsIHQwLmN5ICsgdDAueTAxKTsKKworICAgICAgICAvLyBIYXZlIHRoZSBjb3Ju
ZXJzIG1lcmdlZD8KKyAgICAgICAgaWYgKHJjMSA8IHJjKSBjb250ZXh0LmFyYyh0MC5jeCwgdDAu
Y3ksIHJjMSwgYXRhbjIkMSh0MC55MDEsIHQwLngwMSksIGF0YW4yJDEodDEueTAxLCB0MS54MDEp
LCAhY3cpOworCisgICAgICAgIC8vIE90aGVyd2lzZSwgZHJhdyB0aGUgdHdvIGNvcm5lcnMgYW5k
IHRoZSByaW5nLgorICAgICAgICBlbHNlIHsKKyAgICAgICAgICBjb250ZXh0LmFyYyh0MC5jeCwg
dDAuY3ksIHJjMSwgYXRhbjIkMSh0MC55MDEsIHQwLngwMSksIGF0YW4yJDEodDAueTExLCB0MC54
MTEpLCAhY3cpOworICAgICAgICAgIGNvbnRleHQuYXJjKDAsIDAsIHIxLCBhdGFuMiQxKHQwLmN5
ICsgdDAueTExLCB0MC5jeCArIHQwLngxMSksIGF0YW4yJDEodDEuY3kgKyB0MS55MTEsIHQxLmN4
ICsgdDEueDExKSwgIWN3KTsKKyAgICAgICAgICBjb250ZXh0LmFyYyh0MS5jeCwgdDEuY3ksIHJj
MSwgYXRhbjIkMSh0MS55MTEsIHQxLngxMSksIGF0YW4yJDEodDEueTAxLCB0MS54MDEpLCAhY3cp
OworICAgICAgICB9CisgICAgICB9CisKKyAgICAgIC8vIE9yIGlzIHRoZSBvdXRlciByaW5nIGp1
c3QgYSBjaXJjdWxhciBhcmM/CisgICAgICBlbHNlIGNvbnRleHQubW92ZVRvKHgwMSwgeTAxKSwg
Y29udGV4dC5hcmMoMCwgMCwgcjEsIGEwMSwgYTExLCAhY3cpOworCisgICAgICAvLyBJcyB0aGVy
ZSBubyBpbm5lciByaW5nLCBhbmQgaXTigJlzIGEgY2lyY3VsYXIgc2VjdG9yPworICAgICAgLy8g
T3IgcGVyaGFwcyBpdOKAmXMgYW4gYW5udWxhciBzZWN0b3IgY29sbGFwc2VkIGR1ZSB0byBwYWRk
aW5nPworICAgICAgaWYgKCEocjAgPiBlcHNpbG9uJDMpIHx8ICEoZGEwID4gZXBzaWxvbiQzKSkg
Y29udGV4dC5saW5lVG8oeDEwLCB5MTApOworCisgICAgICAvLyBEb2VzIHRoZSBzZWN0b3LigJlz
IGlubmVyIHJpbmcgKG9yIHBvaW50KSBoYXZlIHJvdW5kZWQgY29ybmVycz8KKyAgICAgIGVsc2Ug
aWYgKHJjMCA+IGVwc2lsb24kMykgeworICAgICAgICB0MCA9IGNvcm5lclRhbmdlbnRzKHgxMCwg
eTEwLCB4MTEsIHkxMSwgcjAsIC1yYzAsIGN3KTsKKyAgICAgICAgdDEgPSBjb3JuZXJUYW5nZW50
cyh4MDEsIHkwMSwgeDAwLCB5MDAsIHIwLCAtcmMwLCBjdyk7CisKKyAgICAgICAgY29udGV4dC5s
aW5lVG8odDAuY3ggKyB0MC54MDEsIHQwLmN5ICsgdDAueTAxKTsKKworICAgICAgICAvLyBIYXZl
IHRoZSBjb3JuZXJzIG1lcmdlZD8KKyAgICAgICAgaWYgKHJjMCA8IHJjKSBjb250ZXh0LmFyYyh0
MC5jeCwgdDAuY3ksIHJjMCwgYXRhbjIkMSh0MC55MDEsIHQwLngwMSksIGF0YW4yJDEodDEueTAx
LCB0MS54MDEpLCAhY3cpOworCisgICAgICAgIC8vIE90aGVyd2lzZSwgZHJhdyB0aGUgdHdvIGNv
cm5lcnMgYW5kIHRoZSByaW5nLgorICAgICAgICBlbHNlIHsKKyAgICAgICAgICBjb250ZXh0LmFy
Yyh0MC5jeCwgdDAuY3ksIHJjMCwgYXRhbjIkMSh0MC55MDEsIHQwLngwMSksIGF0YW4yJDEodDAu
eTExLCB0MC54MTEpLCAhY3cpOworICAgICAgICAgIGNvbnRleHQuYXJjKDAsIDAsIHIwLCBhdGFu
MiQxKHQwLmN5ICsgdDAueTExLCB0MC5jeCArIHQwLngxMSksIGF0YW4yJDEodDEuY3kgKyB0MS55
MTEsIHQxLmN4ICsgdDEueDExKSwgY3cpOworICAgICAgICAgIGNvbnRleHQuYXJjKHQxLmN4LCB0
MS5jeSwgcmMwLCBhdGFuMiQxKHQxLnkxMSwgdDEueDExKSwgYXRhbjIkMSh0MS55MDEsIHQxLngw
MSksICFjdyk7CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgLy8gT3IgaXMgdGhlIGlubmVy
IHJpbmcganVzdCBhIGNpcmN1bGFyIGFyYz8KKyAgICAgIGVsc2UgY29udGV4dC5hcmMoMCwgMCwg
cjAsIGExMCwgYTAwLCBjdyk7CisgICAgfQorCisgICAgY29udGV4dC5jbG9zZVBhdGgoKTsKKwor
ICAgIGlmIChidWZmZXIpIHJldHVybiBjb250ZXh0ID0gbnVsbCwgYnVmZmVyICsgIiIgfHwgbnVs
bDsKKyAgfQorCisgIGFyYy5jZW50cm9pZCA9IGZ1bmN0aW9uKCkgeworICAgIHZhciByID0gKCtp
bm5lclJhZGl1cy5hcHBseSh0aGlzLCBhcmd1bWVudHMpICsgK291dGVyUmFkaXVzLmFwcGx5KHRo
aXMsIGFyZ3VtZW50cykpIC8gMiwKKyAgICAgICAgYSA9ICgrc3RhcnRBbmdsZS5hcHBseSh0aGlz
LCBhcmd1bWVudHMpICsgK2VuZEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpIC8gMiAtIHBp
JDQgLyAyOworICAgIHJldHVybiBbY29zJDIoYSkgKiByLCBzaW4kMihhKSAqIHJdOworICB9Owor
CisgIGFyYy5pbm5lclJhZGl1cyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/IChpbm5lclJhZGl1cyA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNv
bnN0YW50JGIoK18pLCBhcmMpIDogaW5uZXJSYWRpdXM7CisgIH07CisKKyAgYXJjLm91dGVyUmFk
aXVzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKG91dGVy
UmFkaXVzID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIGFy
YykgOiBvdXRlclJhZGl1czsKKyAgfTsKKworICBhcmMuY29ybmVyUmFkaXVzID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGNvcm5lclJhZGl1cyA9IHR5cGVv
ZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBhcmMpIDogY29ybmVyUmFk
aXVzOworICB9OworCisgIGFyYy5wYWRSYWRpdXMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAocGFkUmFkaXVzID0gXyA9PSBudWxsID8gbnVsbCA6IHR5cGVv
ZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBhcmMpIDogcGFkUmFkaXVz
OworICB9OworCisgIGFyYy5zdGFydEFuZ2xlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKHN0YXJ0QW5nbGUgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/
IF8gOiBjb25zdGFudCRiKCtfKSwgYXJjKSA6IHN0YXJ0QW5nbGU7CisgIH07CisKKyAgYXJjLmVu
ZEFuZ2xlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGVu
ZEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIGFy
YykgOiBlbmRBbmdsZTsKKyAgfTsKKworICBhcmMucGFkQW5nbGUgPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocGFkQW5nbGUgPSB0eXBlb2YgXyA9PT0gImZ1
bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgYXJjKSA6IHBhZEFuZ2xlOworICB9OworCisg
IGFyYy5jb250ZXh0ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKChjb250ZXh0ID0gXyA9PSBudWxsID8gbnVsbCA6IF8pLCBhcmMpIDogY29udGV4dDsKKyAg
fTsKKworICByZXR1cm4gYXJjOworfQorCitmdW5jdGlvbiBMaW5lYXIoY29udGV4dCkgeworICB0
aGlzLl9jb250ZXh0ID0gY29udGV4dDsKK30KKworTGluZWFyLnByb3RvdHlwZSA9IHsKKyAgYXJl
YVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAgfSwKKyAgYXJlYUVu
ZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwKKyAgbGluZVN0YXJ0
OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9wb2ludCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1
bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9saW5lIHx8ICh0aGlzLl9saW5lICE9PSAwICYmIHRo
aXMuX3BvaW50ID09PSAxKSkgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgICB0aGlzLl9s
aW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0sCisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7Cisg
ICAgeCA9ICt4LCB5ID0gK3k7CisgICAgc3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2Fz
ZSAwOiB0aGlzLl9wb2ludCA9IDE7IHRoaXMuX2xpbmUgPyB0aGlzLl9jb250ZXh0LmxpbmVUbyh4
LCB5KSA6IHRoaXMuX2NvbnRleHQubW92ZVRvKHgsIHkpOyBicmVhazsKKyAgICAgIGNhc2UgMTog
dGhpcy5fcG9pbnQgPSAyOyAvLyBwcm9jZWVkCisgICAgICBkZWZhdWx0OiB0aGlzLl9jb250ZXh0
LmxpbmVUbyh4LCB5KTsgYnJlYWs7CisgICAgfQorICB9Cit9OworCitmdW5jdGlvbiBjdXJ2ZUxp
bmVhcihjb250ZXh0KSB7CisgIHJldHVybiBuZXcgTGluZWFyKGNvbnRleHQpOworfQorCitmdW5j
dGlvbiB4JDMocCkgeworICByZXR1cm4gcFswXTsKK30KKworZnVuY3Rpb24geSQzKHApIHsKKyAg
cmV0dXJuIHBbMV07Cit9CisKK2Z1bmN0aW9uIGxpbmUoKSB7CisgIHZhciB4ID0geCQzLAorICAg
ICAgeSA9IHkkMywKKyAgICAgIGRlZmluZWQgPSBjb25zdGFudCRiKHRydWUpLAorICAgICAgY29u
dGV4dCA9IG51bGwsCisgICAgICBjdXJ2ZSA9IGN1cnZlTGluZWFyLAorICAgICAgb3V0cHV0ID0g
bnVsbDsKKworICBmdW5jdGlvbiBsaW5lKGRhdGEpIHsKKyAgICB2YXIgaSwKKyAgICAgICAgbiA9
IGRhdGEubGVuZ3RoLAorICAgICAgICBkLAorICAgICAgICBkZWZpbmVkMCA9IGZhbHNlLAorICAg
ICAgICBidWZmZXI7CisKKyAgICBpZiAoY29udGV4dCA9PSBudWxsKSBvdXRwdXQgPSBjdXJ2ZShi
dWZmZXIgPSBwYXRoKCkpOworCisgICAgZm9yIChpID0gMDsgaSA8PSBuOyArK2kpIHsKKyAgICAg
IGlmICghKGkgPCBuICYmIGRlZmluZWQoZCA9IGRhdGFbaV0sIGksIGRhdGEpKSA9PT0gZGVmaW5l
ZDApIHsKKyAgICAgICAgaWYgKGRlZmluZWQwID0gIWRlZmluZWQwKSBvdXRwdXQubGluZVN0YXJ0
KCk7CisgICAgICAgIGVsc2Ugb3V0cHV0LmxpbmVFbmQoKTsKKyAgICAgIH0KKyAgICAgIGlmIChk
ZWZpbmVkMCkgb3V0cHV0LnBvaW50KCt4KGQsIGksIGRhdGEpLCAreShkLCBpLCBkYXRhKSk7Cisg
ICAgfQorCisgICAgaWYgKGJ1ZmZlcikgcmV0dXJuIG91dHB1dCA9IG51bGwsIGJ1ZmZlciArICIi
IHx8IG51bGw7CisgIH0KKworICBsaW5lLnggPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAoeCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0
YW50JGIoK18pLCBsaW5lKSA6IHg7CisgIH07CisKKyAgbGluZS55ID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHkgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9u
IiA/IF8gOiBjb25zdGFudCRiKCtfKSwgbGluZSkgOiB5OworICB9OworCisgIGxpbmUuZGVmaW5l
ZCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkZWZpbmVk
ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYighIV8pLCBsaW5lKSA6
IGRlZmluZWQ7CisgIH07CisKKyAgbGluZS5jdXJ2ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aCA/IChjdXJ2ZSA9IF8sIGNvbnRleHQgIT0gbnVsbCAmJiAob3V0
cHV0ID0gY3VydmUoY29udGV4dCkpLCBsaW5lKSA6IGN1cnZlOworICB9OworCisgIGxpbmUuY29u
dGV4dCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChfID09
IG51bGwgPyBjb250ZXh0ID0gb3V0cHV0ID0gbnVsbCA6IG91dHB1dCA9IGN1cnZlKGNvbnRleHQg
PSBfKSwgbGluZSkgOiBjb250ZXh0OworICB9OworCisgIHJldHVybiBsaW5lOworfQorCitmdW5j
dGlvbiBhcmVhJDMoKSB7CisgIHZhciB4MCA9IHgkMywKKyAgICAgIHgxID0gbnVsbCwKKyAgICAg
IHkwID0gY29uc3RhbnQkYigwKSwKKyAgICAgIHkxID0geSQzLAorICAgICAgZGVmaW5lZCA9IGNv
bnN0YW50JGIodHJ1ZSksCisgICAgICBjb250ZXh0ID0gbnVsbCwKKyAgICAgIGN1cnZlID0gY3Vy
dmVMaW5lYXIsCisgICAgICBvdXRwdXQgPSBudWxsOworCisgIGZ1bmN0aW9uIGFyZWEoZGF0YSkg
eworICAgIHZhciBpLAorICAgICAgICBqLAorICAgICAgICBrLAorICAgICAgICBuID0gZGF0YS5s
ZW5ndGgsCisgICAgICAgIGQsCisgICAgICAgIGRlZmluZWQwID0gZmFsc2UsCisgICAgICAgIGJ1
ZmZlciwKKyAgICAgICAgeDB6ID0gbmV3IEFycmF5KG4pLAorICAgICAgICB5MHogPSBuZXcgQXJy
YXkobik7CisKKyAgICBpZiAoY29udGV4dCA9PSBudWxsKSBvdXRwdXQgPSBjdXJ2ZShidWZmZXIg
PSBwYXRoKCkpOworCisgICAgZm9yIChpID0gMDsgaSA8PSBuOyArK2kpIHsKKyAgICAgIGlmICgh
KGkgPCBuICYmIGRlZmluZWQoZCA9IGRhdGFbaV0sIGksIGRhdGEpKSA9PT0gZGVmaW5lZDApIHsK
KyAgICAgICAgaWYgKGRlZmluZWQwID0gIWRlZmluZWQwKSB7CisgICAgICAgICAgaiA9IGk7Cisg
ICAgICAgICAgb3V0cHV0LmFyZWFTdGFydCgpOworICAgICAgICAgIG91dHB1dC5saW5lU3RhcnQo
KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBvdXRwdXQubGluZUVuZCgpOworICAgICAg
ICAgIG91dHB1dC5saW5lU3RhcnQoKTsKKyAgICAgICAgICBmb3IgKGsgPSBpIC0gMTsgayA+PSBq
OyAtLWspIHsKKyAgICAgICAgICAgIG91dHB1dC5wb2ludCh4MHpba10sIHkweltrXSk7CisgICAg
ICAgICAgfQorICAgICAgICAgIG91dHB1dC5saW5lRW5kKCk7CisgICAgICAgICAgb3V0cHV0LmFy
ZWFFbmQoKTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgaWYgKGRlZmluZWQwKSB7CisgICAg
ICAgIHgweltpXSA9ICt4MChkLCBpLCBkYXRhKSwgeTB6W2ldID0gK3kwKGQsIGksIGRhdGEpOwor
ICAgICAgICBvdXRwdXQucG9pbnQoeDEgPyAreDEoZCwgaSwgZGF0YSkgOiB4MHpbaV0sIHkxID8g
K3kxKGQsIGksIGRhdGEpIDogeTB6W2ldKTsKKyAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoYnVm
ZmVyKSByZXR1cm4gb3V0cHV0ID0gbnVsbCwgYnVmZmVyICsgIiIgfHwgbnVsbDsKKyAgfQorCisg
IGZ1bmN0aW9uIGFyZWFsaW5lKCkgeworICAgIHJldHVybiBsaW5lKCkuZGVmaW5lZChkZWZpbmVk
KS5jdXJ2ZShjdXJ2ZSkuY29udGV4dChjb250ZXh0KTsKKyAgfQorCisgIGFyZWEueCA9IGZ1bmN0
aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4MCA9IHR5cGVvZiBfID09
PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCB4MSA9IG51bGwsIGFyZWEpIDogeDA7
CisgIH07CisKKyAgYXJlYS54MCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/ICh4MCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIo
K18pLCBhcmVhKSA6IHgwOworICB9OworCisgIGFyZWEueDEgPSBmdW5jdGlvbihfKSB7CisgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeDEgPSBfID09IG51bGwgPyBudWxsIDogdHlwZW9m
IF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIGFyZWEpIDogeDE7CisgIH07
CisKKyAgYXJlYS55ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKHkwID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIHkx
ID0gbnVsbCwgYXJlYSkgOiB5MDsKKyAgfTsKKworICBhcmVhLnkwID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHkwID0gdHlwZW9mIF8gPT09ICJmdW5jdGlv
biIgPyBfIDogY29uc3RhbnQkYigrXyksIGFyZWEpIDogeTA7CisgIH07CisKKyAgYXJlYS55MSA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5MSA9IF8gPT0g
bnVsbCA/IG51bGwgOiB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtf
KSwgYXJlYSkgOiB5MTsKKyAgfTsKKworICBhcmVhLmxpbmVYMCA9CisgIGFyZWEubGluZVkwID0g
ZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGFyZWFsaW5lKCkueCh4MCkueSh5MCk7CisgIH07CisK
KyAgYXJlYS5saW5lWTEgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gYXJlYWxpbmUoKS54KHgw
KS55KHkxKTsKKyAgfTsKKworICBhcmVhLmxpbmVYMSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVy
biBhcmVhbGluZSgpLngoeDEpLnkoeTApOworICB9OworCisgIGFyZWEuZGVmaW5lZCA9IGZ1bmN0
aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkZWZpbmVkID0gdHlwZW9m
IF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYighIV8pLCBhcmVhKSA6IGRlZmluZWQ7
CisgIH07CisKKyAgYXJlYS5jdXJ2ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/IChjdXJ2ZSA9IF8sIGNvbnRleHQgIT0gbnVsbCAmJiAob3V0cHV0ID0gY3Vy
dmUoY29udGV4dCkpLCBhcmVhKSA6IGN1cnZlOworICB9OworCisgIGFyZWEuY29udGV4dCA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChfID09IG51bGwgPyBj
b250ZXh0ID0gb3V0cHV0ID0gbnVsbCA6IG91dHB1dCA9IGN1cnZlKGNvbnRleHQgPSBfKSwgYXJl
YSkgOiBjb250ZXh0OworICB9OworCisgIHJldHVybiBhcmVhOworfQorCitmdW5jdGlvbiBkZXNj
ZW5kaW5nJDEoYSwgYikgeworICByZXR1cm4gYiA8IGEgPyAtMSA6IGIgPiBhID8gMSA6IGIgPj0g
YSA/IDAgOiBOYU47Cit9CisKK2Z1bmN0aW9uIGlkZW50aXR5JDgoZCkgeworICByZXR1cm4gZDsK
K30KKworZnVuY3Rpb24gcGllKCkgeworICB2YXIgdmFsdWUgPSBpZGVudGl0eSQ4LAorICAgICAg
c29ydFZhbHVlcyA9IGRlc2NlbmRpbmckMSwKKyAgICAgIHNvcnQgPSBudWxsLAorICAgICAgc3Rh
cnRBbmdsZSA9IGNvbnN0YW50JGIoMCksCisgICAgICBlbmRBbmdsZSA9IGNvbnN0YW50JGIodGF1
JDQpLAorICAgICAgcGFkQW5nbGUgPSBjb25zdGFudCRiKDApOworCisgIGZ1bmN0aW9uIHBpZShk
YXRhKSB7CisgICAgdmFyIGksCisgICAgICAgIG4gPSBkYXRhLmxlbmd0aCwKKyAgICAgICAgaiwK
KyAgICAgICAgaywKKyAgICAgICAgc3VtID0gMCwKKyAgICAgICAgaW5kZXggPSBuZXcgQXJyYXko
biksCisgICAgICAgIGFyY3MgPSBuZXcgQXJyYXkobiksCisgICAgICAgIGEwID0gK3N0YXJ0QW5n
bGUuYXBwbHkodGhpcywgYXJndW1lbnRzKSwKKyAgICAgICAgZGEgPSBNYXRoLm1pbih0YXUkNCwg
TWF0aC5tYXgoLXRhdSQ0LCBlbmRBbmdsZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpIC0gYTApKSwK
KyAgICAgICAgYTEsCisgICAgICAgIHAgPSBNYXRoLm1pbihNYXRoLmFicyhkYSkgLyBuLCBwYWRB
bmdsZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSwKKyAgICAgICAgcGEgPSBwICogKGRhIDwgMCA/
IC0xIDogMSksCisgICAgICAgIHY7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7Cisg
ICAgICBpZiAoKHYgPSBhcmNzW2luZGV4W2ldID0gaV0gPSArdmFsdWUoZGF0YVtpXSwgaSwgZGF0
YSkpID4gMCkgeworICAgICAgICBzdW0gKz0gdjsKKyAgICAgIH0KKyAgICB9CisKKyAgICAvLyBP
cHRpb25hbGx5IHNvcnQgdGhlIGFyY3MgYnkgcHJldmlvdXNseS1jb21wdXRlZCB2YWx1ZXMgb3Ig
YnkgZGF0YS4KKyAgICBpZiAoc29ydFZhbHVlcyAhPSBudWxsKSBpbmRleC5zb3J0KGZ1bmN0aW9u
KGksIGopIHsgcmV0dXJuIHNvcnRWYWx1ZXMoYXJjc1tpXSwgYXJjc1tqXSk7IH0pOworICAgIGVs
c2UgaWYgKHNvcnQgIT0gbnVsbCkgaW5kZXguc29ydChmdW5jdGlvbihpLCBqKSB7IHJldHVybiBz
b3J0KGRhdGFbaV0sIGRhdGFbal0pOyB9KTsKKworICAgIC8vIENvbXB1dGUgdGhlIGFyY3MhIFRo
ZXkgYXJlIHN0b3JlZCBpbiB0aGUgb3JpZ2luYWwgZGF0YSdzIG9yZGVyLgorICAgIGZvciAoaSA9
IDAsIGsgPSBzdW0gPyAoZGEgLSBuICogcGEpIC8gc3VtIDogMDsgaSA8IG47ICsraSwgYTAgPSBh
MSkgeworICAgICAgaiA9IGluZGV4W2ldLCB2ID0gYXJjc1tqXSwgYTEgPSBhMCArICh2ID4gMCA/
IHYgKiBrIDogMCkgKyBwYSwgYXJjc1tqXSA9IHsKKyAgICAgICAgZGF0YTogZGF0YVtqXSwKKyAg
ICAgICAgaW5kZXg6IGksCisgICAgICAgIHZhbHVlOiB2LAorICAgICAgICBzdGFydEFuZ2xlOiBh
MCwKKyAgICAgICAgZW5kQW5nbGU6IGExLAorICAgICAgICBwYWRBbmdsZTogcAorICAgICAgfTsK
KyAgICB9CisKKyAgICByZXR1cm4gYXJjczsKKyAgfQorCisgIHBpZS52YWx1ZSA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh2YWx1ZSA9IHR5cGVvZiBfID09
PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBwaWUpIDogdmFsdWU7CisgIH07CisK
KyAgcGllLnNvcnRWYWx1ZXMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoc29ydFZhbHVlcyA9IF8sIHNvcnQgPSBudWxsLCBwaWUpIDogc29ydFZhbHVlczsK
KyAgfTsKKworICBwaWUuc29ydCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/IChzb3J0ID0gXywgc29ydFZhbHVlcyA9IG51bGwsIHBpZSkgOiBzb3J0OworICB9
OworCisgIHBpZS5zdGFydEFuZ2xlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHN0YXJ0QW5nbGUgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBj
b25zdGFudCRiKCtfKSwgcGllKSA6IHN0YXJ0QW5nbGU7CisgIH07CisKKyAgcGllLmVuZEFuZ2xl
ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGVuZEFuZ2xl
ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIHBpZSkgOiBl
bmRBbmdsZTsKKyAgfTsKKworICBwaWUucGFkQW5nbGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocGFkQW5nbGUgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9u
IiA/IF8gOiBjb25zdGFudCRiKCtfKSwgcGllKSA6IHBhZEFuZ2xlOworICB9OworCisgIHJldHVy
biBwaWU7Cit9CisKK3ZhciBjdXJ2ZVJhZGlhbExpbmVhciA9IGN1cnZlUmFkaWFsKGN1cnZlTGlu
ZWFyKTsKKworZnVuY3Rpb24gUmFkaWFsKGN1cnZlKSB7CisgIHRoaXMuX2N1cnZlID0gY3VydmU7
Cit9CisKK1JhZGlhbC5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogZnVuY3Rpb24oKSB7Cisg
ICAgdGhpcy5fY3VydmUuYXJlYVN0YXJ0KCk7CisgIH0sCisgIGFyZWFFbmQ6IGZ1bmN0aW9uKCkg
eworICAgIHRoaXMuX2N1cnZlLmFyZWFFbmQoKTsKKyAgfSwKKyAgbGluZVN0YXJ0OiBmdW5jdGlv
bigpIHsKKyAgICB0aGlzLl9jdXJ2ZS5saW5lU3RhcnQoKTsKKyAgfSwKKyAgbGluZUVuZDogZnVu
Y3Rpb24oKSB7CisgICAgdGhpcy5fY3VydmUubGluZUVuZCgpOworICB9LAorICBwb2ludDogZnVu
Y3Rpb24oYSwgcikgeworICAgIHRoaXMuX2N1cnZlLnBvaW50KHIgKiBNYXRoLnNpbihhKSwgciAq
IC1NYXRoLmNvcyhhKSk7CisgIH0KK307CisKK2Z1bmN0aW9uIGN1cnZlUmFkaWFsKGN1cnZlKSB7
CisKKyAgZnVuY3Rpb24gcmFkaWFsKGNvbnRleHQpIHsKKyAgICByZXR1cm4gbmV3IFJhZGlhbChj
dXJ2ZShjb250ZXh0KSk7CisgIH0KKworICByYWRpYWwuX2N1cnZlID0gY3VydmU7CisKKyAgcmV0
dXJuIHJhZGlhbDsKK30KKworZnVuY3Rpb24gbGluZVJhZGlhbChsKSB7CisgIHZhciBjID0gbC5j
dXJ2ZTsKKworICBsLmFuZ2xlID0gbC54LCBkZWxldGUgbC54OworICBsLnJhZGl1cyA9IGwueSwg
ZGVsZXRlIGwueTsKKworICBsLmN1cnZlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gYyhjdXJ2ZVJhZGlhbChfKSkgOiBjKCkuX2N1cnZlOworICB9OworCisg
IHJldHVybiBsOworfQorCitmdW5jdGlvbiBsaW5lUmFkaWFsJDEoKSB7CisgIHJldHVybiBsaW5l
UmFkaWFsKGxpbmUoKS5jdXJ2ZShjdXJ2ZVJhZGlhbExpbmVhcikpOworfQorCitmdW5jdGlvbiBh
cmVhUmFkaWFsKCkgeworICB2YXIgYSA9IGFyZWEkMygpLmN1cnZlKGN1cnZlUmFkaWFsTGluZWFy
KSwKKyAgICAgIGMgPSBhLmN1cnZlLAorICAgICAgeDAgPSBhLmxpbmVYMCwKKyAgICAgIHgxID0g
YS5saW5lWDEsCisgICAgICB5MCA9IGEubGluZVkwLAorICAgICAgeTEgPSBhLmxpbmVZMTsKKwor
ICBhLmFuZ2xlID0gYS54LCBkZWxldGUgYS54OworICBhLnN0YXJ0QW5nbGUgPSBhLngwLCBkZWxl
dGUgYS54MDsKKyAgYS5lbmRBbmdsZSA9IGEueDEsIGRlbGV0ZSBhLngxOworICBhLnJhZGl1cyA9
IGEueSwgZGVsZXRlIGEueTsKKyAgYS5pbm5lclJhZGl1cyA9IGEueTAsIGRlbGV0ZSBhLnkwOwor
ICBhLm91dGVyUmFkaXVzID0gYS55MSwgZGVsZXRlIGEueTE7CisgIGEubGluZVN0YXJ0QW5nbGUg
PSBmdW5jdGlvbigpIHsgcmV0dXJuIGxpbmVSYWRpYWwoeDAoKSk7IH0sIGRlbGV0ZSBhLmxpbmVY
MDsKKyAgYS5saW5lRW5kQW5nbGUgPSBmdW5jdGlvbigpIHsgcmV0dXJuIGxpbmVSYWRpYWwoeDEo
KSk7IH0sIGRlbGV0ZSBhLmxpbmVYMTsKKyAgYS5saW5lSW5uZXJSYWRpdXMgPSBmdW5jdGlvbigp
IHsgcmV0dXJuIGxpbmVSYWRpYWwoeTAoKSk7IH0sIGRlbGV0ZSBhLmxpbmVZMDsKKyAgYS5saW5l
T3V0ZXJSYWRpdXMgPSBmdW5jdGlvbigpIHsgcmV0dXJuIGxpbmVSYWRpYWwoeTEoKSk7IH0sIGRl
bGV0ZSBhLmxpbmVZMTsKKworICBhLmN1cnZlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gYyhjdXJ2ZVJhZGlhbChfKSkgOiBjKCkuX2N1cnZlOworICB9Owor
CisgIHJldHVybiBhOworfQorCitmdW5jdGlvbiBwb2ludFJhZGlhbCh4LCB5KSB7CisgIHJldHVy
biBbKHkgPSAreSkgKiBNYXRoLmNvcyh4IC09IE1hdGguUEkgLyAyKSwgeSAqIE1hdGguc2luKHgp
XTsKK30KKwordmFyIHNsaWNlJDYgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7CisKK2Z1bmN0aW9u
IGxpbmtTb3VyY2UoZCkgeworICByZXR1cm4gZC5zb3VyY2U7Cit9CisKK2Z1bmN0aW9uIGxpbmtU
YXJnZXQoZCkgeworICByZXR1cm4gZC50YXJnZXQ7Cit9CisKK2Z1bmN0aW9uIGxpbmskMihjdXJ2
ZSkgeworICB2YXIgc291cmNlID0gbGlua1NvdXJjZSwKKyAgICAgIHRhcmdldCA9IGxpbmtUYXJn
ZXQsCisgICAgICB4ID0geCQzLAorICAgICAgeSA9IHkkMywKKyAgICAgIGNvbnRleHQgPSBudWxs
OworCisgIGZ1bmN0aW9uIGxpbmsoKSB7CisgICAgdmFyIGJ1ZmZlciwgYXJndiA9IHNsaWNlJDYu
Y2FsbChhcmd1bWVudHMpLCBzID0gc291cmNlLmFwcGx5KHRoaXMsIGFyZ3YpLCB0ID0gdGFyZ2V0
LmFwcGx5KHRoaXMsIGFyZ3YpOworICAgIGlmICghY29udGV4dCkgY29udGV4dCA9IGJ1ZmZlciA9
IHBhdGgoKTsKKyAgICBjdXJ2ZShjb250ZXh0LCAreC5hcHBseSh0aGlzLCAoYXJndlswXSA9IHMs
IGFyZ3YpKSwgK3kuYXBwbHkodGhpcywgYXJndiksICt4LmFwcGx5KHRoaXMsIChhcmd2WzBdID0g
dCwgYXJndikpLCAreS5hcHBseSh0aGlzLCBhcmd2KSk7CisgICAgaWYgKGJ1ZmZlcikgcmV0dXJu
IGNvbnRleHQgPSBudWxsLCBidWZmZXIgKyAiIiB8fCBudWxsOworICB9CisKKyAgbGluay5zb3Vy
Y2UgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc291cmNl
ID0gXywgbGluaykgOiBzb3VyY2U7CisgIH07CisKKyAgbGluay50YXJnZXQgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGFyZ2V0ID0gXywgbGluaykgOiB0
YXJnZXQ7CisgIH07CisKKyAgbGluay54ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gKHggPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFu
dCRiKCtfKSwgbGluaykgOiB4OworICB9OworCisgIGxpbmsueSA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIg
PyBfIDogY29uc3RhbnQkYigrXyksIGxpbmspIDogeTsKKyAgfTsKKworICBsaW5rLmNvbnRleHQg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoKGNvbnRleHQg
PSBfID09IG51bGwgPyBudWxsIDogXyksIGxpbmspIDogY29udGV4dDsKKyAgfTsKKworICByZXR1
cm4gbGluazsKK30KKworZnVuY3Rpb24gY3VydmVIb3Jpem9udGFsKGNvbnRleHQsIHgwLCB5MCwg
eDEsIHkxKSB7CisgIGNvbnRleHQubW92ZVRvKHgwLCB5MCk7CisgIGNvbnRleHQuYmV6aWVyQ3Vy
dmVUbyh4MCA9ICh4MCArIHgxKSAvIDIsIHkwLCB4MCwgeTEsIHgxLCB5MSk7Cit9CisKK2Z1bmN0
aW9uIGN1cnZlVmVydGljYWwoY29udGV4dCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgY29udGV4dC5t
b3ZlVG8oeDAsIHkwKTsKKyAgY29udGV4dC5iZXppZXJDdXJ2ZVRvKHgwLCB5MCA9ICh5MCArIHkx
KSAvIDIsIHgxLCB5MCwgeDEsIHkxKTsKK30KKworZnVuY3Rpb24gY3VydmVSYWRpYWwkMShjb250
ZXh0LCB4MCwgeTAsIHgxLCB5MSkgeworICB2YXIgcDAgPSBwb2ludFJhZGlhbCh4MCwgeTApLAor
ICAgICAgcDEgPSBwb2ludFJhZGlhbCh4MCwgeTAgPSAoeTAgKyB5MSkgLyAyKSwKKyAgICAgIHAy
ID0gcG9pbnRSYWRpYWwoeDEsIHkwKSwKKyAgICAgIHAzID0gcG9pbnRSYWRpYWwoeDEsIHkxKTsK
KyAgY29udGV4dC5tb3ZlVG8ocDBbMF0sIHAwWzFdKTsKKyAgY29udGV4dC5iZXppZXJDdXJ2ZVRv
KHAxWzBdLCBwMVsxXSwgcDJbMF0sIHAyWzFdLCBwM1swXSwgcDNbMV0pOworfQorCitmdW5jdGlv
biBsaW5rSG9yaXpvbnRhbCgpIHsKKyAgcmV0dXJuIGxpbmskMihjdXJ2ZUhvcml6b250YWwpOwor
fQorCitmdW5jdGlvbiBsaW5rVmVydGljYWwoKSB7CisgIHJldHVybiBsaW5rJDIoY3VydmVWZXJ0
aWNhbCk7Cit9CisKK2Z1bmN0aW9uIGxpbmtSYWRpYWwoKSB7CisgIHZhciBsID0gbGluayQyKGN1
cnZlUmFkaWFsJDEpOworICBsLmFuZ2xlID0gbC54LCBkZWxldGUgbC54OworICBsLnJhZGl1cyA9
IGwueSwgZGVsZXRlIGwueTsKKyAgcmV0dXJuIGw7Cit9CisKK3ZhciBjaXJjbGUkMiA9IHsKKyAg
ZHJhdzogZnVuY3Rpb24oY29udGV4dCwgc2l6ZSkgeworICAgIHZhciByID0gTWF0aC5zcXJ0KHNp
emUgLyBwaSQ0KTsKKyAgICBjb250ZXh0Lm1vdmVUbyhyLCAwKTsKKyAgICBjb250ZXh0LmFyYygw
LCAwLCByLCAwLCB0YXUkNCk7CisgIH0KK307CisKK3ZhciBjcm9zcyQyID0geworICBkcmF3OiBm
dW5jdGlvbihjb250ZXh0LCBzaXplKSB7CisgICAgdmFyIHIgPSBNYXRoLnNxcnQoc2l6ZSAvIDUp
IC8gMjsKKyAgICBjb250ZXh0Lm1vdmVUbygtMyAqIHIsIC1yKTsKKyAgICBjb250ZXh0LmxpbmVU
bygtciwgLXIpOworICAgIGNvbnRleHQubGluZVRvKC1yLCAtMyAqIHIpOworICAgIGNvbnRleHQu
bGluZVRvKHIsIC0zICogcik7CisgICAgY29udGV4dC5saW5lVG8ociwgLXIpOworICAgIGNvbnRl
eHQubGluZVRvKDMgKiByLCAtcik7CisgICAgY29udGV4dC5saW5lVG8oMyAqIHIsIHIpOworICAg
IGNvbnRleHQubGluZVRvKHIsIHIpOworICAgIGNvbnRleHQubGluZVRvKHIsIDMgKiByKTsKKyAg
ICBjb250ZXh0LmxpbmVUbygtciwgMyAqIHIpOworICAgIGNvbnRleHQubGluZVRvKC1yLCByKTsK
KyAgICBjb250ZXh0LmxpbmVUbygtMyAqIHIsIHIpOworICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7
CisgIH0KK307CisKK3ZhciB0YW4zMCA9IE1hdGguc3FydCgxIC8gMyksCisgICAgdGFuMzBfMiA9
IHRhbjMwICogMjsKKwordmFyIGRpYW1vbmQgPSB7CisgIGRyYXc6IGZ1bmN0aW9uKGNvbnRleHQs
IHNpemUpIHsKKyAgICB2YXIgeSA9IE1hdGguc3FydChzaXplIC8gdGFuMzBfMiksCisgICAgICAg
IHggPSB5ICogdGFuMzA7CisgICAgY29udGV4dC5tb3ZlVG8oMCwgLXkpOworICAgIGNvbnRleHQu
bGluZVRvKHgsIDApOworICAgIGNvbnRleHQubGluZVRvKDAsIHkpOworICAgIGNvbnRleHQubGlu
ZVRvKC14LCAwKTsKKyAgICBjb250ZXh0LmNsb3NlUGF0aCgpOworICB9Cit9OworCit2YXIga2Eg
PSAwLjg5MDgxMzA5MTUyOTI4NTIyODEwLAorICAgIGtyID0gTWF0aC5zaW4ocGkkNCAvIDEwKSAv
IE1hdGguc2luKDcgKiBwaSQ0IC8gMTApLAorICAgIGt4ID0gTWF0aC5zaW4odGF1JDQgLyAxMCkg
KiBrciwKKyAgICBreSA9IC1NYXRoLmNvcyh0YXUkNCAvIDEwKSAqIGtyOworCit2YXIgc3RhciA9
IHsKKyAgZHJhdzogZnVuY3Rpb24oY29udGV4dCwgc2l6ZSkgeworICAgIHZhciByID0gTWF0aC5z
cXJ0KHNpemUgKiBrYSksCisgICAgICAgIHggPSBreCAqIHIsCisgICAgICAgIHkgPSBreSAqIHI7
CisgICAgY29udGV4dC5tb3ZlVG8oMCwgLXIpOworICAgIGNvbnRleHQubGluZVRvKHgsIHkpOwor
ICAgIGZvciAodmFyIGkgPSAxOyBpIDwgNTsgKytpKSB7CisgICAgICB2YXIgYSA9IHRhdSQ0ICog
aSAvIDUsCisgICAgICAgICAgYyA9IE1hdGguY29zKGEpLAorICAgICAgICAgIHMgPSBNYXRoLnNp
bihhKTsKKyAgICAgIGNvbnRleHQubGluZVRvKHMgKiByLCAtYyAqIHIpOworICAgICAgY29udGV4
dC5saW5lVG8oYyAqIHggLSBzICogeSwgcyAqIHggKyBjICogeSk7CisgICAgfQorICAgIGNvbnRl
eHQuY2xvc2VQYXRoKCk7CisgIH0KK307CisKK3ZhciBzcXVhcmUgPSB7CisgIGRyYXc6IGZ1bmN0
aW9uKGNvbnRleHQsIHNpemUpIHsKKyAgICB2YXIgdyA9IE1hdGguc3FydChzaXplKSwKKyAgICAg
ICAgeCA9IC13IC8gMjsKKyAgICBjb250ZXh0LnJlY3QoeCwgeCwgdywgdyk7CisgIH0KK307CisK
K3ZhciBzcXJ0MyA9IE1hdGguc3FydCgzKTsKKwordmFyIHRyaWFuZ2xlID0geworICBkcmF3OiBm
dW5jdGlvbihjb250ZXh0LCBzaXplKSB7CisgICAgdmFyIHkgPSAtTWF0aC5zcXJ0KHNpemUgLyAo
c3FydDMgKiAzKSk7CisgICAgY29udGV4dC5tb3ZlVG8oMCwgeSAqIDIpOworICAgIGNvbnRleHQu
bGluZVRvKC1zcXJ0MyAqIHksIC15KTsKKyAgICBjb250ZXh0LmxpbmVUbyhzcXJ0MyAqIHksIC15
KTsKKyAgICBjb250ZXh0LmNsb3NlUGF0aCgpOworICB9Cit9OworCit2YXIgYyQyID0gLTAuNSwK
KyAgICBzID0gTWF0aC5zcXJ0KDMpIC8gMiwKKyAgICBrID0gMSAvIE1hdGguc3FydCgxMiksCisg
ICAgYSA9IChrIC8gMiArIDEpICogMzsKKwordmFyIHd5ZSA9IHsKKyAgZHJhdzogZnVuY3Rpb24o
Y29udGV4dCwgc2l6ZSkgeworICAgIHZhciByID0gTWF0aC5zcXJ0KHNpemUgLyBhKSwKKyAgICAg
ICAgeDAgPSByIC8gMiwKKyAgICAgICAgeTAgPSByICogaywKKyAgICAgICAgeDEgPSB4MCwKKyAg
ICAgICAgeTEgPSByICogayArIHIsCisgICAgICAgIHgyID0gLXgxLAorICAgICAgICB5MiA9IHkx
OworICAgIGNvbnRleHQubW92ZVRvKHgwLCB5MCk7CisgICAgY29udGV4dC5saW5lVG8oeDEsIHkx
KTsKKyAgICBjb250ZXh0LmxpbmVUbyh4MiwgeTIpOworICAgIGNvbnRleHQubGluZVRvKGMkMiAq
IHgwIC0gcyAqIHkwLCBzICogeDAgKyBjJDIgKiB5MCk7CisgICAgY29udGV4dC5saW5lVG8oYyQy
ICogeDEgLSBzICogeTEsIHMgKiB4MSArIGMkMiAqIHkxKTsKKyAgICBjb250ZXh0LmxpbmVUbyhj
JDIgKiB4MiAtIHMgKiB5MiwgcyAqIHgyICsgYyQyICogeTIpOworICAgIGNvbnRleHQubGluZVRv
KGMkMiAqIHgwICsgcyAqIHkwLCBjJDIgKiB5MCAtIHMgKiB4MCk7CisgICAgY29udGV4dC5saW5l
VG8oYyQyICogeDEgKyBzICogeTEsIGMkMiAqIHkxIC0gcyAqIHgxKTsKKyAgICBjb250ZXh0Lmxp
bmVUbyhjJDIgKiB4MiArIHMgKiB5MiwgYyQyICogeTIgLSBzICogeDIpOworICAgIGNvbnRleHQu
Y2xvc2VQYXRoKCk7CisgIH0KK307CisKK3ZhciBzeW1ib2xzID0gWworICBjaXJjbGUkMiwKKyAg
Y3Jvc3MkMiwKKyAgZGlhbW9uZCwKKyAgc3F1YXJlLAorICBzdGFyLAorICB0cmlhbmdsZSwKKyAg
d3llCitdOworCitmdW5jdGlvbiBzeW1ib2woKSB7CisgIHZhciB0eXBlID0gY29uc3RhbnQkYihj
aXJjbGUkMiksCisgICAgICBzaXplID0gY29uc3RhbnQkYig2NCksCisgICAgICBjb250ZXh0ID0g
bnVsbDsKKworICBmdW5jdGlvbiBzeW1ib2woKSB7CisgICAgdmFyIGJ1ZmZlcjsKKyAgICBpZiAo
IWNvbnRleHQpIGNvbnRleHQgPSBidWZmZXIgPSBwYXRoKCk7CisgICAgdHlwZS5hcHBseSh0aGlz
LCBhcmd1bWVudHMpLmRyYXcoY29udGV4dCwgK3NpemUuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7
CisgICAgaWYgKGJ1ZmZlcikgcmV0dXJuIGNvbnRleHQgPSBudWxsLCBidWZmZXIgKyAiIiB8fCBu
dWxsOworICB9CisKKyAgc3ltYm9sLnR5cGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAodHlwZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNv
bnN0YW50JGIoXyksIHN5bWJvbCkgOiB0eXBlOworICB9OworCisgIHN5bWJvbC5zaXplID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNpemUgPSB0eXBlb2Yg
XyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgc3ltYm9sKSA6IHNpemU7Cisg
IH07CisKKyAgc3ltYm9sLmNvbnRleHQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAoY29udGV4dCA9IF8gPT0gbnVsbCA/IG51bGwgOiBfLCBzeW1ib2wpIDog
Y29udGV4dDsKKyAgfTsKKworICByZXR1cm4gc3ltYm9sOworfQorCitmdW5jdGlvbiBub29wJDMo
KSB7fQorCitmdW5jdGlvbiBwb2ludCQyKHRoYXQsIHgsIHkpIHsKKyAgdGhhdC5fY29udGV4dC5i
ZXppZXJDdXJ2ZVRvKAorICAgICgyICogdGhhdC5feDAgKyB0aGF0Ll94MSkgLyAzLAorICAgICgy
ICogdGhhdC5feTAgKyB0aGF0Ll95MSkgLyAzLAorICAgICh0aGF0Ll94MCArIDIgKiB0aGF0Ll94
MSkgLyAzLAorICAgICh0aGF0Ll95MCArIDIgKiB0aGF0Ll95MSkgLyAzLAorICAgICh0aGF0Ll94
MCArIDQgKiB0aGF0Ll94MSArIHgpIC8gNiwKKyAgICAodGhhdC5feTAgKyA0ICogdGhhdC5feTEg
KyB5KSAvIDYKKyAgKTsKK30KKworZnVuY3Rpb24gQmFzaXMoY29udGV4dCkgeworICB0aGlzLl9j
b250ZXh0ID0gY29udGV4dDsKK30KKworQmFzaXMucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6
IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSAwOworICB9LAorICBhcmVhRW5kOiBmdW5j
dGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gTmFOOworICB9LAorICBsaW5lU3RhcnQ6IGZ1bmN0
aW9uKCkgeworICAgIHRoaXMuX3gwID0gdGhpcy5feDEgPQorICAgIHRoaXMuX3kwID0gdGhpcy5f
eTEgPSBOYU47CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlv
bigpIHsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDM6IHBvaW50JDIo
dGhpcywgdGhpcy5feDEsIHRoaXMuX3kxKTsgLy8gcHJvY2VlZAorICAgICAgY2FzZSAyOiB0aGlz
Ll9jb250ZXh0LmxpbmVUbyh0aGlzLl94MSwgdGhpcy5feTEpOyBicmVhazsKKyAgICB9CisgICAg
aWYgKHRoaXMuX2xpbmUgfHwgKHRoaXMuX2xpbmUgIT09IDAgJiYgdGhpcy5fcG9pbnQgPT09IDEp
KSB0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpOworICAgIHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5f
bGluZTsKKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0gK3gsIHkgPSAr
eTsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3BvaW50
ID0gMTsgdGhpcy5fbGluZSA/IHRoaXMuX2NvbnRleHQubGluZVRvKHgsIHkpIDogdGhpcy5fY29u
dGV4dC5tb3ZlVG8oeCwgeSk7IGJyZWFrOworICAgICAgY2FzZSAxOiB0aGlzLl9wb2ludCA9IDI7
IGJyZWFrOworICAgICAgY2FzZSAyOiB0aGlzLl9wb2ludCA9IDM7IHRoaXMuX2NvbnRleHQubGlu
ZVRvKCg1ICogdGhpcy5feDAgKyB0aGlzLl94MSkgLyA2LCAoNSAqIHRoaXMuX3kwICsgdGhpcy5f
eTEpIC8gNik7IC8vIHByb2NlZWQKKyAgICAgIGRlZmF1bHQ6IHBvaW50JDIodGhpcywgeCwgeSk7
IGJyZWFrOworICAgIH0KKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxLCB0aGlzLl94MSA9IHg7Cisg
ICAgdGhpcy5feTAgPSB0aGlzLl95MSwgdGhpcy5feTEgPSB5OworICB9Cit9OworCitmdW5jdGlv
biBiYXNpcyQyKGNvbnRleHQpIHsKKyAgcmV0dXJuIG5ldyBCYXNpcyhjb250ZXh0KTsKK30KKwor
ZnVuY3Rpb24gQmFzaXNDbG9zZWQoY29udGV4dCkgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4
dDsKK30KKworQmFzaXNDbG9zZWQucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6IG5vb3AkMywK
KyAgYXJlYUVuZDogbm9vcCQzLAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMu
X3gwID0gdGhpcy5feDEgPSB0aGlzLl94MiA9IHRoaXMuX3gzID0gdGhpcy5feDQgPQorICAgIHRo
aXMuX3kwID0gdGhpcy5feTEgPSB0aGlzLl95MiA9IHRoaXMuX3kzID0gdGhpcy5feTQgPSBOYU47
CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAg
ICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDE6IHsKKyAgICAgICAgdGhpcy5f
Y29udGV4dC5tb3ZlVG8odGhpcy5feDIsIHRoaXMuX3kyKTsKKyAgICAgICAgdGhpcy5fY29udGV4
dC5jbG9zZVBhdGgoKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBjYXNlIDI6IHsK
KyAgICAgICAgdGhpcy5fY29udGV4dC5tb3ZlVG8oKHRoaXMuX3gyICsgMiAqIHRoaXMuX3gzKSAv
IDMsICh0aGlzLl95MiArIDIgKiB0aGlzLl95MykgLyAzKTsKKyAgICAgICAgdGhpcy5fY29udGV4
dC5saW5lVG8oKHRoaXMuX3gzICsgMiAqIHRoaXMuX3gyKSAvIDMsICh0aGlzLl95MyArIDIgKiB0
aGlzLl95MikgLyAzKTsKKyAgICAgICAgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgICB9CisgICAgICBjYXNlIDM6IHsKKyAgICAgICAgdGhpcy5wb2ludCh0
aGlzLl94MiwgdGhpcy5feTIpOworICAgICAgICB0aGlzLnBvaW50KHRoaXMuX3gzLCB0aGlzLl95
Myk7CisgICAgICAgIHRoaXMucG9pbnQodGhpcy5feDQsIHRoaXMuX3k0KTsKKyAgICAgICAgYnJl
YWs7CisgICAgICB9CisgICAgfQorICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAg
IHggPSAreCwgeSA9ICt5OworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2Ug
MDogdGhpcy5fcG9pbnQgPSAxOyB0aGlzLl94MiA9IHgsIHRoaXMuX3kyID0geTsgYnJlYWs7Cisg
ICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgdGhpcy5feDMgPSB4LCB0aGlzLl95MyA9IHk7
IGJyZWFrOworICAgICAgY2FzZSAyOiB0aGlzLl9wb2ludCA9IDM7IHRoaXMuX3g0ID0geCwgdGhp
cy5feTQgPSB5OyB0aGlzLl9jb250ZXh0Lm1vdmVUbygodGhpcy5feDAgKyA0ICogdGhpcy5feDEg
KyB4KSAvIDYsICh0aGlzLl95MCArIDQgKiB0aGlzLl95MSArIHkpIC8gNik7IGJyZWFrOworICAg
ICAgZGVmYXVsdDogcG9pbnQkMih0aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorICAgIHRoaXMu
X3gwID0gdGhpcy5feDEsIHRoaXMuX3gxID0geDsKKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxLCB0
aGlzLl95MSA9IHk7CisgIH0KK307CisKK2Z1bmN0aW9uIGJhc2lzQ2xvc2VkJDEoY29udGV4dCkg
eworICByZXR1cm4gbmV3IEJhc2lzQ2xvc2VkKGNvbnRleHQpOworfQorCitmdW5jdGlvbiBCYXNp
c09wZW4oY29udGV4dCkgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKK30KKworQmFzaXNP
cGVuLnByb3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9s
aW5lID0gMDsKKyAgfSwKKyAgYXJlYUVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9
IE5hTjsKKyAgfSwKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9IHRo
aXMuX3gxID0KKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxID0gTmFOOworICAgIHRoaXMuX3BvaW50
ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgaWYgKHRoaXMuX2xpbmUg
fHwgKHRoaXMuX2xpbmUgIT09IDAgJiYgdGhpcy5fcG9pbnQgPT09IDMpKSB0aGlzLl9jb250ZXh0
LmNsb3NlUGF0aCgpOworICAgIHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5fbGluZTsKKyAgfSwKKyAg
cG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0gK3gsIHkgPSAreTsKKyAgICBzd2l0Y2gg
KHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3BvaW50ID0gMTsgYnJlYWs7Cisg
ICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgYnJlYWs7CisgICAgICBjYXNlIDI6IHRoaXMu
X3BvaW50ID0gMzsgdmFyIHgwID0gKHRoaXMuX3gwICsgNCAqIHRoaXMuX3gxICsgeCkgLyA2LCB5
MCA9ICh0aGlzLl95MCArIDQgKiB0aGlzLl95MSArIHkpIC8gNjsgdGhpcy5fbGluZSA/IHRoaXMu
X2NvbnRleHQubGluZVRvKHgwLCB5MCkgOiB0aGlzLl9jb250ZXh0Lm1vdmVUbyh4MCwgeTApOyBi
cmVhazsKKyAgICAgIGNhc2UgMzogdGhpcy5fcG9pbnQgPSA0OyAvLyBwcm9jZWVkCisgICAgICBk
ZWZhdWx0OiBwb2ludCQyKHRoaXMsIHgsIHkpOyBicmVhazsKKyAgICB9CisgICAgdGhpcy5feDAg
PSB0aGlzLl94MSwgdGhpcy5feDEgPSB4OworICAgIHRoaXMuX3kwID0gdGhpcy5feTEsIHRoaXMu
X3kxID0geTsKKyAgfQorfTsKKworZnVuY3Rpb24gYmFzaXNPcGVuKGNvbnRleHQpIHsKKyAgcmV0
dXJuIG5ldyBCYXNpc09wZW4oY29udGV4dCk7Cit9CisKK2Z1bmN0aW9uIEJ1bmRsZShjb250ZXh0
LCBiZXRhKSB7CisgIHRoaXMuX2Jhc2lzID0gbmV3IEJhc2lzKGNvbnRleHQpOworICB0aGlzLl9i
ZXRhID0gYmV0YTsKK30KKworQnVuZGxlLnByb3RvdHlwZSA9IHsKKyAgbGluZVN0YXJ0OiBmdW5j
dGlvbigpIHsKKyAgICB0aGlzLl94ID0gW107CisgICAgdGhpcy5feSA9IFtdOworICAgIHRoaXMu
X2Jhc2lzLmxpbmVTdGFydCgpOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICB2
YXIgeCA9IHRoaXMuX3gsCisgICAgICAgIHkgPSB0aGlzLl95LAorICAgICAgICBqID0geC5sZW5n
dGggLSAxOworCisgICAgaWYgKGogPiAwKSB7CisgICAgICB2YXIgeDAgPSB4WzBdLAorICAgICAg
ICAgIHkwID0geVswXSwKKyAgICAgICAgICBkeCA9IHhbal0gLSB4MCwKKyAgICAgICAgICBkeSA9
IHlbal0gLSB5MCwKKyAgICAgICAgICBpID0gLTEsCisgICAgICAgICAgdDsKKworICAgICAgd2hp
bGUgKCsraSA8PSBqKSB7CisgICAgICAgIHQgPSBpIC8gajsKKyAgICAgICAgdGhpcy5fYmFzaXMu
cG9pbnQoCisgICAgICAgICAgdGhpcy5fYmV0YSAqIHhbaV0gKyAoMSAtIHRoaXMuX2JldGEpICog
KHgwICsgdCAqIGR4KSwKKyAgICAgICAgICB0aGlzLl9iZXRhICogeVtpXSArICgxIC0gdGhpcy5f
YmV0YSkgKiAoeTAgKyB0ICogZHkpCisgICAgICAgICk7CisgICAgICB9CisgICAgfQorCisgICAg
dGhpcy5feCA9IHRoaXMuX3kgPSBudWxsOworICAgIHRoaXMuX2Jhc2lzLmxpbmVFbmQoKTsKKyAg
fSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB0aGlzLl94LnB1c2goK3gpOworICAg
IHRoaXMuX3kucHVzaCgreSk7CisgIH0KK307CisKK3ZhciBidW5kbGUgPSAoZnVuY3Rpb24gY3Vz
dG9tKGJldGEpIHsKKworICBmdW5jdGlvbiBidW5kbGUoY29udGV4dCkgeworICAgIHJldHVybiBi
ZXRhID09PSAxID8gbmV3IEJhc2lzKGNvbnRleHQpIDogbmV3IEJ1bmRsZShjb250ZXh0LCBiZXRh
KTsKKyAgfQorCisgIGJ1bmRsZS5iZXRhID0gZnVuY3Rpb24oYmV0YSkgeworICAgIHJldHVybiBj
dXN0b20oK2JldGEpOworICB9OworCisgIHJldHVybiBidW5kbGU7Cit9KSgwLjg1KTsKKworZnVu
Y3Rpb24gcG9pbnQkMyh0aGF0LCB4LCB5KSB7CisgIHRoYXQuX2NvbnRleHQuYmV6aWVyQ3VydmVU
bygKKyAgICB0aGF0Ll94MSArIHRoYXQuX2sgKiAodGhhdC5feDIgLSB0aGF0Ll94MCksCisgICAg
dGhhdC5feTEgKyB0aGF0Ll9rICogKHRoYXQuX3kyIC0gdGhhdC5feTApLAorICAgIHRoYXQuX3gy
ICsgdGhhdC5fayAqICh0aGF0Ll94MSAtIHgpLAorICAgIHRoYXQuX3kyICsgdGhhdC5fayAqICh0
aGF0Ll95MSAtIHkpLAorICAgIHRoYXQuX3gyLAorICAgIHRoYXQuX3kyCisgICk7Cit9CisKK2Z1
bmN0aW9uIENhcmRpbmFsKGNvbnRleHQsIHRlbnNpb24pIHsKKyAgdGhpcy5fY29udGV4dCA9IGNv
bnRleHQ7CisgIHRoaXMuX2sgPSAoMSAtIHRlbnNpb24pIC8gNjsKK30KKworQ2FyZGluYWwucHJv
dG90eXBlID0geworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSAw
OworICB9LAorICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gTmFOOwor
ICB9LAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3gwID0gdGhpcy5feDEg
PSB0aGlzLl94MiA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IHRoaXMuX3kyID0gTmFOOwor
ICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAg
c3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAyOiB0aGlzLl9jb250ZXh0LmxpbmVU
byh0aGlzLl94MiwgdGhpcy5feTIpOyBicmVhazsKKyAgICAgIGNhc2UgMzogcG9pbnQkMyh0aGlz
LCB0aGlzLl94MSwgdGhpcy5feTEpOyBicmVhazsKKyAgICB9CisgICAgaWYgKHRoaXMuX2xpbmUg
fHwgKHRoaXMuX2xpbmUgIT09IDAgJiYgdGhpcy5fcG9pbnQgPT09IDEpKSB0aGlzLl9jb250ZXh0
LmNsb3NlUGF0aCgpOworICAgIHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5fbGluZTsKKyAgfSwKKyAg
cG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0gK3gsIHkgPSAreTsKKyAgICBzd2l0Y2gg
KHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3BvaW50ID0gMTsgdGhpcy5fbGlu
ZSA/IHRoaXMuX2NvbnRleHQubGluZVRvKHgsIHkpIDogdGhpcy5fY29udGV4dC5tb3ZlVG8oeCwg
eSk7IGJyZWFrOworICAgICAgY2FzZSAxOiB0aGlzLl9wb2ludCA9IDI7IHRoaXMuX3gxID0geCwg
dGhpcy5feTEgPSB5OyBicmVhazsKKyAgICAgIGNhc2UgMjogdGhpcy5fcG9pbnQgPSAzOyAvLyBw
cm9jZWVkCisgICAgICBkZWZhdWx0OiBwb2ludCQzKHRoaXMsIHgsIHkpOyBicmVhazsKKyAgICB9
CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSwgdGhpcy5feDEgPSB0aGlzLl94MiwgdGhpcy5feDIg
PSB4OworICAgIHRoaXMuX3kwID0gdGhpcy5feTEsIHRoaXMuX3kxID0gdGhpcy5feTIsIHRoaXMu
X3kyID0geTsKKyAgfQorfTsKKwordmFyIGNhcmRpbmFsID0gKGZ1bmN0aW9uIGN1c3RvbSh0ZW5z
aW9uKSB7CisKKyAgZnVuY3Rpb24gY2FyZGluYWwoY29udGV4dCkgeworICAgIHJldHVybiBuZXcg
Q2FyZGluYWwoY29udGV4dCwgdGVuc2lvbik7CisgIH0KKworICBjYXJkaW5hbC50ZW5zaW9uID0g
ZnVuY3Rpb24odGVuc2lvbikgeworICAgIHJldHVybiBjdXN0b20oK3RlbnNpb24pOworICB9Owor
CisgIHJldHVybiBjYXJkaW5hbDsKK30pKDApOworCitmdW5jdGlvbiBDYXJkaW5hbENsb3NlZChj
b250ZXh0LCB0ZW5zaW9uKSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworICB0aGlzLl9r
ID0gKDEgLSB0ZW5zaW9uKSAvIDY7Cit9CisKK0NhcmRpbmFsQ2xvc2VkLnByb3RvdHlwZSA9IHsK
KyAgYXJlYVN0YXJ0OiBub29wJDMsCisgIGFyZWFFbmQ6IG5vb3AkMywKKyAgbGluZVN0YXJ0OiBm
dW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxID0gdGhpcy5feDIgPSB0aGlzLl94
MyA9IHRoaXMuX3g0ID0gdGhpcy5feDUgPQorICAgIHRoaXMuX3kwID0gdGhpcy5feTEgPSB0aGlz
Ll95MiA9IHRoaXMuX3kzID0gdGhpcy5feTQgPSB0aGlzLl95NSA9IE5hTjsKKyAgICB0aGlzLl9w
b2ludCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHN3aXRjaCAodGhp
cy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMTogeworICAgICAgICB0aGlzLl9jb250ZXh0Lm1vdmVU
byh0aGlzLl94MywgdGhpcy5feTMpOworICAgICAgICB0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgp
OworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICAgIGNhc2UgMjogeworICAgICAgICB0aGlz
Ll9jb250ZXh0LmxpbmVUbyh0aGlzLl94MywgdGhpcy5feTMpOworICAgICAgICB0aGlzLl9jb250
ZXh0LmNsb3NlUGF0aCgpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICAgIGNhc2UgMzog
eworICAgICAgICB0aGlzLnBvaW50KHRoaXMuX3gzLCB0aGlzLl95Myk7CisgICAgICAgIHRoaXMu
cG9pbnQodGhpcy5feDQsIHRoaXMuX3k0KTsKKyAgICAgICAgdGhpcy5wb2ludCh0aGlzLl94NSwg
dGhpcy5feTUpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICB9CisgIH0sCisgIHBvaW50
OiBmdW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgc3dpdGNoICh0aGlz
Ll9wb2ludCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IHRoaXMuX3gzID0geCwg
dGhpcy5feTMgPSB5OyBicmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAyOyB0aGlz
Ll9jb250ZXh0Lm1vdmVUbyh0aGlzLl94NCA9IHgsIHRoaXMuX3k0ID0geSk7IGJyZWFrOworICAg
ICAgY2FzZSAyOiB0aGlzLl9wb2ludCA9IDM7IHRoaXMuX3g1ID0geCwgdGhpcy5feTUgPSB5OyBi
cmVhazsKKyAgICAgIGRlZmF1bHQ6IHBvaW50JDModGhpcywgeCwgeSk7IGJyZWFrOworICAgIH0K
KyAgICB0aGlzLl94MCA9IHRoaXMuX3gxLCB0aGlzLl94MSA9IHRoaXMuX3gyLCB0aGlzLl94MiA9
IHg7CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSwgdGhpcy5feTEgPSB0aGlzLl95MiwgdGhpcy5f
eTIgPSB5OworICB9Cit9OworCit2YXIgY2FyZGluYWxDbG9zZWQgPSAoZnVuY3Rpb24gY3VzdG9t
KHRlbnNpb24pIHsKKworICBmdW5jdGlvbiBjYXJkaW5hbChjb250ZXh0KSB7CisgICAgcmV0dXJu
IG5ldyBDYXJkaW5hbENsb3NlZChjb250ZXh0LCB0ZW5zaW9uKTsKKyAgfQorCisgIGNhcmRpbmFs
LnRlbnNpb24gPSBmdW5jdGlvbih0ZW5zaW9uKSB7CisgICAgcmV0dXJuIGN1c3RvbSgrdGVuc2lv
bik7CisgIH07CisKKyAgcmV0dXJuIGNhcmRpbmFsOworfSkoMCk7CisKK2Z1bmN0aW9uIENhcmRp
bmFsT3Blbihjb250ZXh0LCB0ZW5zaW9uKSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0Owor
ICB0aGlzLl9rID0gKDEgLSB0ZW5zaW9uKSAvIDY7Cit9CisKK0NhcmRpbmFsT3Blbi5wcm90b3R5
cGUgPSB7CisgIGFyZWFTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IDA7Cisg
IH0sCisgIGFyZWFFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSBOYU47CisgIH0s
CisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSA9IHRo
aXMuX3gyID0KKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxID0gdGhpcy5feTIgPSBOYU47CisgICAg
dGhpcy5fcG9pbnQgPSAwOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBpZiAo
dGhpcy5fbGluZSB8fCAodGhpcy5fbGluZSAhPT0gMCAmJiB0aGlzLl9wb2ludCA9PT0gMykpIHRo
aXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgdGhpcy5fbGluZSA9IDEgLSB0aGlzLl9saW5l
OworICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAgIHggPSAreCwgeSA9ICt5Owor
ICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMDogdGhpcy5fcG9pbnQgPSAx
OyBicmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAyOyBicmVhazsKKyAgICAgIGNh
c2UgMjogdGhpcy5fcG9pbnQgPSAzOyB0aGlzLl9saW5lID8gdGhpcy5fY29udGV4dC5saW5lVG8o
dGhpcy5feDIsIHRoaXMuX3kyKSA6IHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gyLCB0aGlz
Ll95Mik7IGJyZWFrOworICAgICAgY2FzZSAzOiB0aGlzLl9wb2ludCA9IDQ7IC8vIHByb2NlZWQK
KyAgICAgIGRlZmF1bHQ6IHBvaW50JDModGhpcywgeCwgeSk7IGJyZWFrOworICAgIH0KKyAgICB0
aGlzLl94MCA9IHRoaXMuX3gxLCB0aGlzLl94MSA9IHRoaXMuX3gyLCB0aGlzLl94MiA9IHg7Cisg
ICAgdGhpcy5feTAgPSB0aGlzLl95MSwgdGhpcy5feTEgPSB0aGlzLl95MiwgdGhpcy5feTIgPSB5
OworICB9Cit9OworCit2YXIgY2FyZGluYWxPcGVuID0gKGZ1bmN0aW9uIGN1c3RvbSh0ZW5zaW9u
KSB7CisKKyAgZnVuY3Rpb24gY2FyZGluYWwoY29udGV4dCkgeworICAgIHJldHVybiBuZXcgQ2Fy
ZGluYWxPcGVuKGNvbnRleHQsIHRlbnNpb24pOworICB9CisKKyAgY2FyZGluYWwudGVuc2lvbiA9
IGZ1bmN0aW9uKHRlbnNpb24pIHsKKyAgICByZXR1cm4gY3VzdG9tKCt0ZW5zaW9uKTsKKyAgfTsK
KworICByZXR1cm4gY2FyZGluYWw7Cit9KSgwKTsKKworZnVuY3Rpb24gcG9pbnQkNCh0aGF0LCB4
LCB5KSB7CisgIHZhciB4MSA9IHRoYXQuX3gxLAorICAgICAgeTEgPSB0aGF0Ll95MSwKKyAgICAg
IHgyID0gdGhhdC5feDIsCisgICAgICB5MiA9IHRoYXQuX3kyOworCisgIGlmICh0aGF0Ll9sMDFf
YSA+IGVwc2lsb24kMykgeworICAgIHZhciBhID0gMiAqIHRoYXQuX2wwMV8yYSArIDMgKiB0aGF0
Ll9sMDFfYSAqIHRoYXQuX2wxMl9hICsgdGhhdC5fbDEyXzJhLAorICAgICAgICBuID0gMyAqIHRo
YXQuX2wwMV9hICogKHRoYXQuX2wwMV9hICsgdGhhdC5fbDEyX2EpOworICAgIHgxID0gKHgxICog
YSAtIHRoYXQuX3gwICogdGhhdC5fbDEyXzJhICsgdGhhdC5feDIgKiB0aGF0Ll9sMDFfMmEpIC8g
bjsKKyAgICB5MSA9ICh5MSAqIGEgLSB0aGF0Ll95MCAqIHRoYXQuX2wxMl8yYSArIHRoYXQuX3ky
ICogdGhhdC5fbDAxXzJhKSAvIG47CisgIH0KKworICBpZiAodGhhdC5fbDIzX2EgPiBlcHNpbG9u
JDMpIHsKKyAgICB2YXIgYiA9IDIgKiB0aGF0Ll9sMjNfMmEgKyAzICogdGhhdC5fbDIzX2EgKiB0
aGF0Ll9sMTJfYSArIHRoYXQuX2wxMl8yYSwKKyAgICAgICAgbSA9IDMgKiB0aGF0Ll9sMjNfYSAq
ICh0aGF0Ll9sMjNfYSArIHRoYXQuX2wxMl9hKTsKKyAgICB4MiA9ICh4MiAqIGIgKyB0aGF0Ll94
MSAqIHRoYXQuX2wyM18yYSAtIHggKiB0aGF0Ll9sMTJfMmEpIC8gbTsKKyAgICB5MiA9ICh5MiAq
IGIgKyB0aGF0Ll95MSAqIHRoYXQuX2wyM18yYSAtIHkgKiB0aGF0Ll9sMTJfMmEpIC8gbTsKKyAg
fQorCisgIHRoYXQuX2NvbnRleHQuYmV6aWVyQ3VydmVUbyh4MSwgeTEsIHgyLCB5MiwgdGhhdC5f
eDIsIHRoYXQuX3kyKTsKK30KKworZnVuY3Rpb24gQ2F0bXVsbFJvbShjb250ZXh0LCBhbHBoYSkg
eworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKKyAgdGhpcy5fYWxwaGEgPSBhbHBoYTsKK30K
KworQ2F0bXVsbFJvbS5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogZnVuY3Rpb24oKSB7Cisg
ICAgdGhpcy5fbGluZSA9IDA7CisgIH0sCisgIGFyZWFFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRo
aXMuX2xpbmUgPSBOYU47CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhp
cy5feDAgPSB0aGlzLl94MSA9IHRoaXMuX3gyID0KKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxID0g
dGhpcy5feTIgPSBOYU47CisgICAgdGhpcy5fbDAxX2EgPSB0aGlzLl9sMTJfYSA9IHRoaXMuX2wy
M19hID0KKyAgICB0aGlzLl9sMDFfMmEgPSB0aGlzLl9sMTJfMmEgPSB0aGlzLl9sMjNfMmEgPQor
ICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAg
c3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAyOiB0aGlzLl9jb250ZXh0LmxpbmVU
byh0aGlzLl94MiwgdGhpcy5feTIpOyBicmVhazsKKyAgICAgIGNhc2UgMzogdGhpcy5wb2ludCh0
aGlzLl94MiwgdGhpcy5feTIpOyBicmVhazsKKyAgICB9CisgICAgaWYgKHRoaXMuX2xpbmUgfHwg
KHRoaXMuX2xpbmUgIT09IDAgJiYgdGhpcy5fcG9pbnQgPT09IDEpKSB0aGlzLl9jb250ZXh0LmNs
b3NlUGF0aCgpOworICAgIHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5fbGluZTsKKyAgfSwKKyAgcG9p
bnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0gK3gsIHkgPSAreTsKKworICAgIGlmICh0aGlz
Ll9wb2ludCkgeworICAgICAgdmFyIHgyMyA9IHRoaXMuX3gyIC0geCwKKyAgICAgICAgICB5MjMg
PSB0aGlzLl95MiAtIHk7CisgICAgICB0aGlzLl9sMjNfYSA9IE1hdGguc3FydCh0aGlzLl9sMjNf
MmEgPSBNYXRoLnBvdyh4MjMgKiB4MjMgKyB5MjMgKiB5MjMsIHRoaXMuX2FscGhhKSk7CisgICAg
fQorCisgICAgc3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2lu
dCA9IDE7IHRoaXMuX2xpbmUgPyB0aGlzLl9jb250ZXh0LmxpbmVUbyh4LCB5KSA6IHRoaXMuX2Nv
bnRleHQubW92ZVRvKHgsIHkpOyBicmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAy
OyBicmVhazsKKyAgICAgIGNhc2UgMjogdGhpcy5fcG9pbnQgPSAzOyAvLyBwcm9jZWVkCisgICAg
ICBkZWZhdWx0OiBwb2ludCQ0KHRoaXMsIHgsIHkpOyBicmVhazsKKyAgICB9CisKKyAgICB0aGlz
Ll9sMDFfYSA9IHRoaXMuX2wxMl9hLCB0aGlzLl9sMTJfYSA9IHRoaXMuX2wyM19hOworICAgIHRo
aXMuX2wwMV8yYSA9IHRoaXMuX2wxMl8yYSwgdGhpcy5fbDEyXzJhID0gdGhpcy5fbDIzXzJhOwor
ICAgIHRoaXMuX3gwID0gdGhpcy5feDEsIHRoaXMuX3gxID0gdGhpcy5feDIsIHRoaXMuX3gyID0g
eDsKKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxLCB0aGlzLl95MSA9IHRoaXMuX3kyLCB0aGlzLl95
MiA9IHk7CisgIH0KK307CisKK3ZhciBjYXRtdWxsUm9tID0gKGZ1bmN0aW9uIGN1c3RvbShhbHBo
YSkgeworCisgIGZ1bmN0aW9uIGNhdG11bGxSb20oY29udGV4dCkgeworICAgIHJldHVybiBhbHBo
YSA/IG5ldyBDYXRtdWxsUm9tKGNvbnRleHQsIGFscGhhKSA6IG5ldyBDYXJkaW5hbChjb250ZXh0
LCAwKTsKKyAgfQorCisgIGNhdG11bGxSb20uYWxwaGEgPSBmdW5jdGlvbihhbHBoYSkgeworICAg
IHJldHVybiBjdXN0b20oK2FscGhhKTsKKyAgfTsKKworICByZXR1cm4gY2F0bXVsbFJvbTsKK30p
KDAuNSk7CisKK2Z1bmN0aW9uIENhdG11bGxSb21DbG9zZWQoY29udGV4dCwgYWxwaGEpIHsKKyAg
dGhpcy5fY29udGV4dCA9IGNvbnRleHQ7CisgIHRoaXMuX2FscGhhID0gYWxwaGE7Cit9CisKK0Nh
dG11bGxSb21DbG9zZWQucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6IG5vb3AkMywKKyAgYXJl
YUVuZDogbm9vcCQzLAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3gwID0g
dGhpcy5feDEgPSB0aGlzLl94MiA9IHRoaXMuX3gzID0gdGhpcy5feDQgPSB0aGlzLl94NSA9Cisg
ICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IHRoaXMuX3kyID0gdGhpcy5feTMgPSB0aGlzLl95NCA9
IHRoaXMuX3k1ID0gTmFOOworICAgIHRoaXMuX2wwMV9hID0gdGhpcy5fbDEyX2EgPSB0aGlzLl9s
MjNfYSA9CisgICAgdGhpcy5fbDAxXzJhID0gdGhpcy5fbDEyXzJhID0gdGhpcy5fbDIzXzJhID0K
KyAgICB0aGlzLl9wb2ludCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAg
IHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMTogeworICAgICAgICB0aGlzLl9j
b250ZXh0Lm1vdmVUbyh0aGlzLl94MywgdGhpcy5feTMpOworICAgICAgICB0aGlzLl9jb250ZXh0
LmNsb3NlUGF0aCgpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICAgIGNhc2UgMjogewor
ICAgICAgICB0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94MywgdGhpcy5feTMpOworICAgICAg
ICB0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAg
ICAgIGNhc2UgMzogeworICAgICAgICB0aGlzLnBvaW50KHRoaXMuX3gzLCB0aGlzLl95Myk7Cisg
ICAgICAgIHRoaXMucG9pbnQodGhpcy5feDQsIHRoaXMuX3k0KTsKKyAgICAgICAgdGhpcy5wb2lu
dCh0aGlzLl94NSwgdGhpcy5feTUpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICB9Cisg
IH0sCisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisKKyAg
ICBpZiAodGhpcy5fcG9pbnQpIHsKKyAgICAgIHZhciB4MjMgPSB0aGlzLl94MiAtIHgsCisgICAg
ICAgICAgeTIzID0gdGhpcy5feTIgLSB5OworICAgICAgdGhpcy5fbDIzX2EgPSBNYXRoLnNxcnQo
dGhpcy5fbDIzXzJhID0gTWF0aC5wb3coeDIzICogeDIzICsgeTIzICogeTIzLCB0aGlzLl9hbHBo
YSkpOworICAgIH0KKworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMDog
dGhpcy5fcG9pbnQgPSAxOyB0aGlzLl94MyA9IHgsIHRoaXMuX3kzID0geTsgYnJlYWs7CisgICAg
ICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgdGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDQg
PSB4LCB0aGlzLl95NCA9IHkpOyBicmVhazsKKyAgICAgIGNhc2UgMjogdGhpcy5fcG9pbnQgPSAz
OyB0aGlzLl94NSA9IHgsIHRoaXMuX3k1ID0geTsgYnJlYWs7CisgICAgICBkZWZhdWx0OiBwb2lu
dCQ0KHRoaXMsIHgsIHkpOyBicmVhazsKKyAgICB9CisKKyAgICB0aGlzLl9sMDFfYSA9IHRoaXMu
X2wxMl9hLCB0aGlzLl9sMTJfYSA9IHRoaXMuX2wyM19hOworICAgIHRoaXMuX2wwMV8yYSA9IHRo
aXMuX2wxMl8yYSwgdGhpcy5fbDEyXzJhID0gdGhpcy5fbDIzXzJhOworICAgIHRoaXMuX3gwID0g
dGhpcy5feDEsIHRoaXMuX3gxID0gdGhpcy5feDIsIHRoaXMuX3gyID0geDsKKyAgICB0aGlzLl95
MCA9IHRoaXMuX3kxLCB0aGlzLl95MSA9IHRoaXMuX3kyLCB0aGlzLl95MiA9IHk7CisgIH0KK307
CisKK3ZhciBjYXRtdWxsUm9tQ2xvc2VkID0gKGZ1bmN0aW9uIGN1c3RvbShhbHBoYSkgeworCisg
IGZ1bmN0aW9uIGNhdG11bGxSb20oY29udGV4dCkgeworICAgIHJldHVybiBhbHBoYSA/IG5ldyBD
YXRtdWxsUm9tQ2xvc2VkKGNvbnRleHQsIGFscGhhKSA6IG5ldyBDYXJkaW5hbENsb3NlZChjb250
ZXh0LCAwKTsKKyAgfQorCisgIGNhdG11bGxSb20uYWxwaGEgPSBmdW5jdGlvbihhbHBoYSkgewor
ICAgIHJldHVybiBjdXN0b20oK2FscGhhKTsKKyAgfTsKKworICByZXR1cm4gY2F0bXVsbFJvbTsK
K30pKDAuNSk7CisKK2Z1bmN0aW9uIENhdG11bGxSb21PcGVuKGNvbnRleHQsIGFscGhhKSB7Cisg
IHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworICB0aGlzLl9hbHBoYSA9IGFscGhhOworfQorCitD
YXRtdWxsUm9tT3Blbi5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogZnVuY3Rpb24oKSB7Cisg
ICAgdGhpcy5fbGluZSA9IDA7CisgIH0sCisgIGFyZWFFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRo
aXMuX2xpbmUgPSBOYU47CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhp
cy5feDAgPSB0aGlzLl94MSA9IHRoaXMuX3gyID0KKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxID0g
dGhpcy5feTIgPSBOYU47CisgICAgdGhpcy5fbDAxX2EgPSB0aGlzLl9sMTJfYSA9IHRoaXMuX2wy
M19hID0KKyAgICB0aGlzLl9sMDFfMmEgPSB0aGlzLl9sMTJfMmEgPSB0aGlzLl9sMjNfMmEgPQor
ICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAg
aWYgKHRoaXMuX2xpbmUgfHwgKHRoaXMuX2xpbmUgIT09IDAgJiYgdGhpcy5fcG9pbnQgPT09IDMp
KSB0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpOworICAgIHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5f
bGluZTsKKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0gK3gsIHkgPSAr
eTsKKworICAgIGlmICh0aGlzLl9wb2ludCkgeworICAgICAgdmFyIHgyMyA9IHRoaXMuX3gyIC0g
eCwKKyAgICAgICAgICB5MjMgPSB0aGlzLl95MiAtIHk7CisgICAgICB0aGlzLl9sMjNfYSA9IE1h
dGguc3FydCh0aGlzLl9sMjNfMmEgPSBNYXRoLnBvdyh4MjMgKiB4MjMgKyB5MjMgKiB5MjMsIHRo
aXMuX2FscGhhKSk7CisgICAgfQorCisgICAgc3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAg
Y2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IGJyZWFrOworICAgICAgY2FzZSAxOiB0aGlzLl9wb2lu
dCA9IDI7IGJyZWFrOworICAgICAgY2FzZSAyOiB0aGlzLl9wb2ludCA9IDM7IHRoaXMuX2xpbmUg
PyB0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94MiwgdGhpcy5feTIpIDogdGhpcy5fY29udGV4
dC5tb3ZlVG8odGhpcy5feDIsIHRoaXMuX3kyKTsgYnJlYWs7CisgICAgICBjYXNlIDM6IHRoaXMu
X3BvaW50ID0gNDsgLy8gcHJvY2VlZAorICAgICAgZGVmYXVsdDogcG9pbnQkNCh0aGlzLCB4LCB5
KTsgYnJlYWs7CisgICAgfQorCisgICAgdGhpcy5fbDAxX2EgPSB0aGlzLl9sMTJfYSwgdGhpcy5f
bDEyX2EgPSB0aGlzLl9sMjNfYTsKKyAgICB0aGlzLl9sMDFfMmEgPSB0aGlzLl9sMTJfMmEsIHRo
aXMuX2wxMl8yYSA9IHRoaXMuX2wyM18yYTsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxLCB0aGlz
Ll94MSA9IHRoaXMuX3gyLCB0aGlzLl94MiA9IHg7CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSwg
dGhpcy5feTEgPSB0aGlzLl95MiwgdGhpcy5feTIgPSB5OworICB9Cit9OworCit2YXIgY2F0bXVs
bFJvbU9wZW4gPSAoZnVuY3Rpb24gY3VzdG9tKGFscGhhKSB7CisKKyAgZnVuY3Rpb24gY2F0bXVs
bFJvbShjb250ZXh0KSB7CisgICAgcmV0dXJuIGFscGhhID8gbmV3IENhdG11bGxSb21PcGVuKGNv
bnRleHQsIGFscGhhKSA6IG5ldyBDYXJkaW5hbE9wZW4oY29udGV4dCwgMCk7CisgIH0KKworICBj
YXRtdWxsUm9tLmFscGhhID0gZnVuY3Rpb24oYWxwaGEpIHsKKyAgICByZXR1cm4gY3VzdG9tKCth
bHBoYSk7CisgIH07CisKKyAgcmV0dXJuIGNhdG11bGxSb207Cit9KSgwLjUpOworCitmdW5jdGlv
biBMaW5lYXJDbG9zZWQoY29udGV4dCkgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKK30K
KworTGluZWFyQ2xvc2VkLnByb3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBub29wJDMsCisgIGFy
ZWFFbmQ6IG5vb3AkMywKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9wb2lu
dCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9wb2lu
dCkgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgs
IHkpIHsKKyAgICB4ID0gK3gsIHkgPSAreTsKKyAgICBpZiAodGhpcy5fcG9pbnQpIHRoaXMuX2Nv
bnRleHQubGluZVRvKHgsIHkpOworICAgIGVsc2UgdGhpcy5fcG9pbnQgPSAxLCB0aGlzLl9jb250
ZXh0Lm1vdmVUbyh4LCB5KTsKKyAgfQorfTsKKworZnVuY3Rpb24gbGluZWFyQ2xvc2VkKGNvbnRl
eHQpIHsKKyAgcmV0dXJuIG5ldyBMaW5lYXJDbG9zZWQoY29udGV4dCk7Cit9CisKK2Z1bmN0aW9u
IHNpZ24kMSh4KSB7CisgIHJldHVybiB4IDwgMCA/IC0xIDogMTsKK30KKworLy8gQ2FsY3VsYXRl
IHRoZSBzbG9wZXMgb2YgdGhlIHRhbmdlbnRzIChIZXJtaXRlLXR5cGUgaW50ZXJwb2xhdGlvbikg
YmFzZWQgb24KKy8vIHRoZSBmb2xsb3dpbmcgcGFwZXI6IFN0ZWZmZW4sIE0uIDE5OTAuIEEgU2lt
cGxlIE1ldGhvZCBmb3IgTW9ub3RvbmljCisvLyBJbnRlcnBvbGF0aW9uIGluIE9uZSBEaW1lbnNp
b24uIEFzdHJvbm9teSBhbmQgQXN0cm9waHlzaWNzLCBWb2wuIDIzOSwgTk8uCisvLyBOT1YoSUkp
LCBQLiA0NDMsIDE5OTAuCitmdW5jdGlvbiBzbG9wZTModGhhdCwgeDIsIHkyKSB7CisgIHZhciBo
MCA9IHRoYXQuX3gxIC0gdGhhdC5feDAsCisgICAgICBoMSA9IHgyIC0gdGhhdC5feDEsCisgICAg
ICBzMCA9ICh0aGF0Ll95MSAtIHRoYXQuX3kwKSAvIChoMCB8fCBoMSA8IDAgJiYgLTApLAorICAg
ICAgczEgPSAoeTIgLSB0aGF0Ll95MSkgLyAoaDEgfHwgaDAgPCAwICYmIC0wKSwKKyAgICAgIHAg
PSAoczAgKiBoMSArIHMxICogaDApIC8gKGgwICsgaDEpOworICByZXR1cm4gKHNpZ24kMShzMCkg
KyBzaWduJDEoczEpKSAqIE1hdGgubWluKE1hdGguYWJzKHMwKSwgTWF0aC5hYnMoczEpLCAwLjUg
KiBNYXRoLmFicyhwKSkgfHwgMDsKK30KKworLy8gQ2FsY3VsYXRlIGEgb25lLXNpZGVkIHNsb3Bl
LgorZnVuY3Rpb24gc2xvcGUyKHRoYXQsIHQpIHsKKyAgdmFyIGggPSB0aGF0Ll94MSAtIHRoYXQu
X3gwOworICByZXR1cm4gaCA/ICgzICogKHRoYXQuX3kxIC0gdGhhdC5feTApIC8gaCAtIHQpIC8g
MiA6IHQ7Cit9CisKKy8vIEFjY29yZGluZyB0byBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lr
aS9DdWJpY19IZXJtaXRlX3NwbGluZSNSZXByZXNlbnRhdGlvbnMKKy8vICJ5b3UgY2FuIGV4cHJl
c3MgY3ViaWMgSGVybWl0ZSBpbnRlcnBvbGF0aW9uIGluIHRlcm1zIG9mIGN1YmljIELDqXppZXIg
Y3VydmVzCisvLyB3aXRoIHJlc3BlY3QgdG8gdGhlIGZvdXIgdmFsdWVzIHAwLCBwMCArIG0wIC8g
MywgcDEgLSBtMSAvIDMsIHAxIi4KK2Z1bmN0aW9uIHBvaW50JDUodGhhdCwgdDAsIHQxKSB7Cisg
IHZhciB4MCA9IHRoYXQuX3gwLAorICAgICAgeTAgPSB0aGF0Ll95MCwKKyAgICAgIHgxID0gdGhh
dC5feDEsCisgICAgICB5MSA9IHRoYXQuX3kxLAorICAgICAgZHggPSAoeDEgLSB4MCkgLyAzOwor
ICB0aGF0Ll9jb250ZXh0LmJlemllckN1cnZlVG8oeDAgKyBkeCwgeTAgKyBkeCAqIHQwLCB4MSAt
IGR4LCB5MSAtIGR4ICogdDEsIHgxLCB5MSk7Cit9CisKK2Z1bmN0aW9uIE1vbm90b25lWChjb250
ZXh0KSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworfQorCitNb25vdG9uZVgucHJvdG90
eXBlID0geworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSAwOwor
ICB9LAorICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gTmFOOworICB9
LAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3gwID0gdGhpcy5feDEgPQor
ICAgIHRoaXMuX3kwID0gdGhpcy5feTEgPQorICAgIHRoaXMuX3QwID0gTmFOOworICAgIHRoaXMu
X3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgc3dpdGNoICh0
aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAyOiB0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94
MSwgdGhpcy5feTEpOyBicmVhazsKKyAgICAgIGNhc2UgMzogcG9pbnQkNSh0aGlzLCB0aGlzLl90
MCwgc2xvcGUyKHRoaXMsIHRoaXMuX3QwKSk7IGJyZWFrOworICAgIH0KKyAgICBpZiAodGhpcy5f
bGluZSB8fCAodGhpcy5fbGluZSAhPT0gMCAmJiB0aGlzLl9wb2ludCA9PT0gMSkpIHRoaXMuX2Nv
bnRleHQuY2xvc2VQYXRoKCk7CisgICAgdGhpcy5fbGluZSA9IDEgLSB0aGlzLl9saW5lOworICB9
LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAgIHZhciB0MSA9IE5hTjsKKworICAgIHgg
PSAreCwgeSA9ICt5OworICAgIGlmICh4ID09PSB0aGlzLl94MSAmJiB5ID09PSB0aGlzLl95MSkg
cmV0dXJuOyAvLyBJZ25vcmUgY29pbmNpZGVudCBwb2ludHMuCisgICAgc3dpdGNoICh0aGlzLl9w
b2ludCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IHRoaXMuX2xpbmUgPyB0aGlz
Ll9jb250ZXh0LmxpbmVUbyh4LCB5KSA6IHRoaXMuX2NvbnRleHQubW92ZVRvKHgsIHkpOyBicmVh
azsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAyOyBicmVhazsKKyAgICAgIGNhc2UgMjog
dGhpcy5fcG9pbnQgPSAzOyBwb2ludCQ1KHRoaXMsIHNsb3BlMih0aGlzLCB0MSA9IHNsb3BlMyh0
aGlzLCB4LCB5KSksIHQxKTsgYnJlYWs7CisgICAgICBkZWZhdWx0OiBwb2ludCQ1KHRoaXMsIHRo
aXMuX3QwLCB0MSA9IHNsb3BlMyh0aGlzLCB4LCB5KSk7IGJyZWFrOworICAgIH0KKworICAgIHRo
aXMuX3gwID0gdGhpcy5feDEsIHRoaXMuX3gxID0geDsKKyAgICB0aGlzLl95MCA9IHRoaXMuX3kx
LCB0aGlzLl95MSA9IHk7CisgICAgdGhpcy5fdDAgPSB0MTsKKyAgfQorfTsKKworZnVuY3Rpb24g
TW9ub3RvbmVZKGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IG5ldyBSZWZsZWN0Q29udGV4
dChjb250ZXh0KTsKK30KKworKE1vbm90b25lWS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKE1v
bm90b25lWC5wcm90b3R5cGUpKS5wb2ludCA9IGZ1bmN0aW9uKHgsIHkpIHsKKyAgTW9ub3RvbmVY
LnByb3RvdHlwZS5wb2ludC5jYWxsKHRoaXMsIHksIHgpOworfTsKKworZnVuY3Rpb24gUmVmbGVj
dENvbnRleHQoY29udGV4dCkgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKK30KKworUmVm
bGVjdENvbnRleHQucHJvdG90eXBlID0geworICBtb3ZlVG86IGZ1bmN0aW9uKHgsIHkpIHsgdGhp
cy5fY29udGV4dC5tb3ZlVG8oeSwgeCk7IH0sCisgIGNsb3NlUGF0aDogZnVuY3Rpb24oKSB7IHRo
aXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7IH0sCisgIGxpbmVUbzogZnVuY3Rpb24oeCwgeSkgeyB0
aGlzLl9jb250ZXh0LmxpbmVUbyh5LCB4KTsgfSwKKyAgYmV6aWVyQ3VydmVUbzogZnVuY3Rpb24o
eDEsIHkxLCB4MiwgeTIsIHgsIHkpIHsgdGhpcy5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKHkxLCB4
MSwgeTIsIHgyLCB5LCB4KTsgfQorfTsKKworZnVuY3Rpb24gbW9ub3RvbmVYKGNvbnRleHQpIHsK
KyAgcmV0dXJuIG5ldyBNb25vdG9uZVgoY29udGV4dCk7Cit9CisKK2Z1bmN0aW9uIG1vbm90b25l
WShjb250ZXh0KSB7CisgIHJldHVybiBuZXcgTW9ub3RvbmVZKGNvbnRleHQpOworfQorCitmdW5j
dGlvbiBOYXR1cmFsKGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7Cit9CisK
K05hdHVyYWwucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRo
aXMuX2xpbmUgPSAwOworICB9LAorICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9s
aW5lID0gTmFOOworICB9LAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3gg
PSBbXTsKKyAgICB0aGlzLl95ID0gW107CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgewor
ICAgIHZhciB4ID0gdGhpcy5feCwKKyAgICAgICAgeSA9IHRoaXMuX3ksCisgICAgICAgIG4gPSB4
Lmxlbmd0aDsKKworICAgIGlmIChuKSB7CisgICAgICB0aGlzLl9saW5lID8gdGhpcy5fY29udGV4
dC5saW5lVG8oeFswXSwgeVswXSkgOiB0aGlzLl9jb250ZXh0Lm1vdmVUbyh4WzBdLCB5WzBdKTsK
KyAgICAgIGlmIChuID09PSAyKSB7CisgICAgICAgIHRoaXMuX2NvbnRleHQubGluZVRvKHhbMV0s
IHlbMV0pOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgdmFyIHB4ID0gY29udHJvbFBvaW50cyh4
KSwKKyAgICAgICAgICAgIHB5ID0gY29udHJvbFBvaW50cyh5KTsKKyAgICAgICAgZm9yICh2YXIg
aTAgPSAwLCBpMSA9IDE7IGkxIDwgbjsgKytpMCwgKytpMSkgeworICAgICAgICAgIHRoaXMuX2Nv
bnRleHQuYmV6aWVyQ3VydmVUbyhweFswXVtpMF0sIHB5WzBdW2kwXSwgcHhbMV1baTBdLCBweVsx
XVtpMF0sIHhbaTFdLCB5W2kxXSk7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisKKyAgICBp
ZiAodGhpcy5fbGluZSB8fCAodGhpcy5fbGluZSAhPT0gMCAmJiBuID09PSAxKSkgdGhpcy5fY29u
dGV4dC5jbG9zZVBhdGgoKTsKKyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgICAg
dGhpcy5feCA9IHRoaXMuX3kgPSBudWxsOworICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkg
eworICAgIHRoaXMuX3gucHVzaCgreCk7CisgICAgdGhpcy5feS5wdXNoKCt5KTsKKyAgfQorfTsK
KworLy8gU2VlIGh0dHBzOi8vd3d3LnBhcnRpY2xlaW5jZWxsLmNvbS8yMDEyL2Jlemllci1zcGxp
bmVzLyBmb3IgZGVyaXZhdGlvbi4KK2Z1bmN0aW9uIGNvbnRyb2xQb2ludHMoeCkgeworICB2YXIg
aSwKKyAgICAgIG4gPSB4Lmxlbmd0aCAtIDEsCisgICAgICBtLAorICAgICAgYSA9IG5ldyBBcnJh
eShuKSwKKyAgICAgIGIgPSBuZXcgQXJyYXkobiksCisgICAgICByID0gbmV3IEFycmF5KG4pOwor
ICBhWzBdID0gMCwgYlswXSA9IDIsIHJbMF0gPSB4WzBdICsgMiAqIHhbMV07CisgIGZvciAoaSA9
IDE7IGkgPCBuIC0gMTsgKytpKSBhW2ldID0gMSwgYltpXSA9IDQsIHJbaV0gPSA0ICogeFtpXSAr
IDIgKiB4W2kgKyAxXTsKKyAgYVtuIC0gMV0gPSAyLCBiW24gLSAxXSA9IDcsIHJbbiAtIDFdID0g
OCAqIHhbbiAtIDFdICsgeFtuXTsKKyAgZm9yIChpID0gMTsgaSA8IG47ICsraSkgbSA9IGFbaV0g
LyBiW2kgLSAxXSwgYltpXSAtPSBtLCByW2ldIC09IG0gKiByW2kgLSAxXTsKKyAgYVtuIC0gMV0g
PSByW24gLSAxXSAvIGJbbiAtIDFdOworICBmb3IgKGkgPSBuIC0gMjsgaSA+PSAwOyAtLWkpIGFb
aV0gPSAocltpXSAtIGFbaSArIDFdKSAvIGJbaV07CisgIGJbbiAtIDFdID0gKHhbbl0gKyBhW24g
LSAxXSkgLyAyOworICBmb3IgKGkgPSAwOyBpIDwgbiAtIDE7ICsraSkgYltpXSA9IDIgKiB4W2kg
KyAxXSAtIGFbaSArIDFdOworICByZXR1cm4gW2EsIGJdOworfQorCitmdW5jdGlvbiBuYXR1cmFs
KGNvbnRleHQpIHsKKyAgcmV0dXJuIG5ldyBOYXR1cmFsKGNvbnRleHQpOworfQorCitmdW5jdGlv
biBTdGVwKGNvbnRleHQsIHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7CisgIHRoaXMu
X3QgPSB0OworfQorCitTdGVwLnByb3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigp
IHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAgfSwKKyAgYXJlYUVuZDogZnVuY3Rpb24oKSB7Cisg
ICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAg
ICB0aGlzLl94ID0gdGhpcy5feSA9IE5hTjsKKyAgICB0aGlzLl9wb2ludCA9IDA7CisgIH0sCisg
IGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIGlmICgwIDwgdGhpcy5fdCAmJiB0aGlzLl90IDwg
MSAmJiB0aGlzLl9wb2ludCA9PT0gMikgdGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feCwgdGhp
cy5feSk7CisgICAgaWYgKHRoaXMuX2xpbmUgfHwgKHRoaXMuX2xpbmUgIT09IDAgJiYgdGhpcy5f
cG9pbnQgPT09IDEpKSB0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpOworICAgIGlmICh0aGlzLl9s
aW5lID49IDApIHRoaXMuX3QgPSAxIC0gdGhpcy5fdCwgdGhpcy5fbGluZSA9IDEgLSB0aGlzLl9s
aW5lOworICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAgIHggPSAreCwgeSA9ICt5
OworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMDogdGhpcy5fcG9pbnQg
PSAxOyB0aGlzLl9saW5lID8gdGhpcy5fY29udGV4dC5saW5lVG8oeCwgeSkgOiB0aGlzLl9jb250
ZXh0Lm1vdmVUbyh4LCB5KTsgYnJlYWs7CisgICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsg
Ly8gcHJvY2VlZAorICAgICAgZGVmYXVsdDogeworICAgICAgICBpZiAodGhpcy5fdCA8PSAwKSB7
CisgICAgICAgICAgdGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feCwgeSk7CisgICAgICAgICAg
dGhpcy5fY29udGV4dC5saW5lVG8oeCwgeSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
dmFyIHgxID0gdGhpcy5feCAqICgxIC0gdGhpcy5fdCkgKyB4ICogdGhpcy5fdDsKKyAgICAgICAg
ICB0aGlzLl9jb250ZXh0LmxpbmVUbyh4MSwgdGhpcy5feSk7CisgICAgICAgICAgdGhpcy5fY29u
dGV4dC5saW5lVG8oeDEsIHkpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgfQor
ICAgIH0KKyAgICB0aGlzLl94ID0geCwgdGhpcy5feSA9IHk7CisgIH0KK307CisKK2Z1bmN0aW9u
IHN0ZXAoY29udGV4dCkgeworICByZXR1cm4gbmV3IFN0ZXAoY29udGV4dCwgMC41KTsKK30KKwor
ZnVuY3Rpb24gc3RlcEJlZm9yZShjb250ZXh0KSB7CisgIHJldHVybiBuZXcgU3RlcChjb250ZXh0
LCAwKTsKK30KKworZnVuY3Rpb24gc3RlcEFmdGVyKGNvbnRleHQpIHsKKyAgcmV0dXJuIG5ldyBT
dGVwKGNvbnRleHQsIDEpOworfQorCitmdW5jdGlvbiBub25lJDEoc2VyaWVzLCBvcmRlcikgewor
ICBpZiAoISgobiA9IHNlcmllcy5sZW5ndGgpID4gMSkpIHJldHVybjsKKyAgZm9yICh2YXIgaSA9
IDEsIGosIHMwLCBzMSA9IHNlcmllc1tvcmRlclswXV0sIG4sIG0gPSBzMS5sZW5ndGg7IGkgPCBu
OyArK2kpIHsKKyAgICBzMCA9IHMxLCBzMSA9IHNlcmllc1tvcmRlcltpXV07CisgICAgZm9yIChq
ID0gMDsgaiA8IG07ICsraikgeworICAgICAgczFbal1bMV0gKz0gczFbal1bMF0gPSBpc05hTihz
MFtqXVsxXSkgPyBzMFtqXVswXSA6IHMwW2pdWzFdOworICAgIH0KKyAgfQorfQorCitmdW5jdGlv
biBub25lJDIoc2VyaWVzKSB7CisgIHZhciBuID0gc2VyaWVzLmxlbmd0aCwgbyA9IG5ldyBBcnJh
eShuKTsKKyAgd2hpbGUgKC0tbiA+PSAwKSBvW25dID0gbjsKKyAgcmV0dXJuIG87Cit9CisKK2Z1
bmN0aW9uIHN0YWNrVmFsdWUoZCwga2V5KSB7CisgIHJldHVybiBkW2tleV07Cit9CisKK2Z1bmN0
aW9uIHN0YWNrKCkgeworICB2YXIga2V5cyA9IGNvbnN0YW50JGIoW10pLAorICAgICAgb3JkZXIg
PSBub25lJDIsCisgICAgICBvZmZzZXQgPSBub25lJDEsCisgICAgICB2YWx1ZSA9IHN0YWNrVmFs
dWU7CisKKyAgZnVuY3Rpb24gc3RhY2soZGF0YSkgeworICAgIHZhciBreiA9IGtleXMuYXBwbHko
dGhpcywgYXJndW1lbnRzKSwKKyAgICAgICAgaSwKKyAgICAgICAgbSA9IGRhdGEubGVuZ3RoLAor
ICAgICAgICBuID0ga3oubGVuZ3RoLAorICAgICAgICBzeiA9IG5ldyBBcnJheShuKSwKKyAgICAg
ICAgb3o7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBmb3IgKHZhciBr
aSA9IGt6W2ldLCBzaSA9IHN6W2ldID0gbmV3IEFycmF5KG0pLCBqID0gMCwgc2lqOyBqIDwgbTsg
KytqKSB7CisgICAgICAgIHNpW2pdID0gc2lqID0gWzAsICt2YWx1ZShkYXRhW2pdLCBraSwgaiwg
ZGF0YSldOworICAgICAgICBzaWouZGF0YSA9IGRhdGFbal07CisgICAgICB9CisgICAgICBzaS5r
ZXkgPSBraTsKKyAgICB9CisKKyAgICBmb3IgKGkgPSAwLCBveiA9IG9yZGVyKHN6KTsgaSA8IG47
ICsraSkgeworICAgICAgc3pbb3pbaV1dLmluZGV4ID0gaTsKKyAgICB9CisKKyAgICBvZmZzZXQo
c3osIG96KTsKKyAgICByZXR1cm4gc3o7CisgIH0KKworICBzdGFjay5rZXlzID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGtleXMgPSB0eXBlb2YgXyA9PT0g
ImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKHNsaWNlJDYuY2FsbChfKSksIHN0YWNrKSA6IGtl
eXM7CisgIH07CisKKyAgc3RhY2sudmFsdWUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAodmFsdWUgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBj
b25zdGFudCRiKCtfKSwgc3RhY2spIDogdmFsdWU7CisgIH07CisKKyAgc3RhY2sub3JkZXIgPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAob3JkZXIgPSBfID09
IG51bGwgPyBub25lJDIgOiB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRi
KHNsaWNlJDYuY2FsbChfKSksIHN0YWNrKSA6IG9yZGVyOworICB9OworCisgIHN0YWNrLm9mZnNl
dCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChvZmZzZXQg
PSBfID09IG51bGwgPyBub25lJDEgOiBfLCBzdGFjaykgOiBvZmZzZXQ7CisgIH07CisKKyAgcmV0
dXJuIHN0YWNrOworfQorCitmdW5jdGlvbiBleHBhbmQoc2VyaWVzLCBvcmRlcikgeworICBpZiAo
ISgobiA9IHNlcmllcy5sZW5ndGgpID4gMCkpIHJldHVybjsKKyAgZm9yICh2YXIgaSwgbiwgaiA9
IDAsIG0gPSBzZXJpZXNbMF0ubGVuZ3RoLCB5OyBqIDwgbTsgKytqKSB7CisgICAgZm9yICh5ID0g
aSA9IDA7IGkgPCBuOyArK2kpIHkgKz0gc2VyaWVzW2ldW2pdWzFdIHx8IDA7CisgICAgaWYgKHkp
IGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHNlcmllc1tpXVtqXVsxXSAvPSB5OworICB9CisgIG5v
bmUkMShzZXJpZXMsIG9yZGVyKTsKK30KKworZnVuY3Rpb24gZGl2ZXJnaW5nJDEoc2VyaWVzLCBv
cmRlcikgeworICBpZiAoISgobiA9IHNlcmllcy5sZW5ndGgpID4gMCkpIHJldHVybjsKKyAgZm9y
ICh2YXIgaSwgaiA9IDAsIGQsIGR5LCB5cCwgeW4sIG4sIG0gPSBzZXJpZXNbb3JkZXJbMF1dLmxl
bmd0aDsgaiA8IG07ICsraikgeworICAgIGZvciAoeXAgPSB5biA9IDAsIGkgPSAwOyBpIDwgbjsg
KytpKSB7CisgICAgICBpZiAoKGR5ID0gKGQgPSBzZXJpZXNbb3JkZXJbaV1dW2pdKVsxXSAtIGRb
MF0pID4gMCkgeworICAgICAgICBkWzBdID0geXAsIGRbMV0gPSB5cCArPSBkeTsKKyAgICAgIH0g
ZWxzZSBpZiAoZHkgPCAwKSB7CisgICAgICAgIGRbMV0gPSB5biwgZFswXSA9IHluICs9IGR5Owor
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgZFswXSA9IDAsIGRbMV0gPSBkeTsKKyAgICAgIH0KKyAg
ICB9CisgIH0KK30KKworZnVuY3Rpb24gc2lsaG91ZXR0ZShzZXJpZXMsIG9yZGVyKSB7CisgIGlm
ICghKChuID0gc2VyaWVzLmxlbmd0aCkgPiAwKSkgcmV0dXJuOworICBmb3IgKHZhciBqID0gMCwg
czAgPSBzZXJpZXNbb3JkZXJbMF1dLCBuLCBtID0gczAubGVuZ3RoOyBqIDwgbTsgKytqKSB7Cisg
ICAgZm9yICh2YXIgaSA9IDAsIHkgPSAwOyBpIDwgbjsgKytpKSB5ICs9IHNlcmllc1tpXVtqXVsx
XSB8fCAwOworICAgIHMwW2pdWzFdICs9IHMwW2pdWzBdID0gLXkgLyAyOworICB9CisgIG5vbmUk
MShzZXJpZXMsIG9yZGVyKTsKK30KKworZnVuY3Rpb24gd2lnZ2xlKHNlcmllcywgb3JkZXIpIHsK
KyAgaWYgKCEoKG4gPSBzZXJpZXMubGVuZ3RoKSA+IDApIHx8ICEoKG0gPSAoczAgPSBzZXJpZXNb
b3JkZXJbMF1dKS5sZW5ndGgpID4gMCkpIHJldHVybjsKKyAgZm9yICh2YXIgeSA9IDAsIGogPSAx
LCBzMCwgbSwgbjsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGkgPSAwLCBzMSA9IDAsIHMy
ID0gMDsgaSA8IG47ICsraSkgeworICAgICAgdmFyIHNpID0gc2VyaWVzW29yZGVyW2ldXSwKKyAg
ICAgICAgICBzaWowID0gc2lbal1bMV0gfHwgMCwKKyAgICAgICAgICBzaWoxID0gc2lbaiAtIDFd
WzFdIHx8IDAsCisgICAgICAgICAgczMgPSAoc2lqMCAtIHNpajEpIC8gMjsKKyAgICAgIGZvciAo
dmFyIGsgPSAwOyBrIDwgaTsgKytrKSB7CisgICAgICAgIHZhciBzayA9IHNlcmllc1tvcmRlcltr
XV0sCisgICAgICAgICAgICBza2owID0gc2tbal1bMV0gfHwgMCwKKyAgICAgICAgICAgIHNrajEg
PSBza1tqIC0gMV1bMV0gfHwgMDsKKyAgICAgICAgczMgKz0gc2tqMCAtIHNrajE7CisgICAgICB9
CisgICAgICBzMSArPSBzaWowLCBzMiArPSBzMyAqIHNpajA7CisgICAgfQorICAgIHMwW2ogLSAx
XVsxXSArPSBzMFtqIC0gMV1bMF0gPSB5OworICAgIGlmIChzMSkgeSAtPSBzMiAvIHMxOworICB9
CisgIHMwW2ogLSAxXVsxXSArPSBzMFtqIC0gMV1bMF0gPSB5OworICBub25lJDEoc2VyaWVzLCBv
cmRlcik7Cit9CisKK2Z1bmN0aW9uIGFwcGVhcmFuY2Uoc2VyaWVzKSB7CisgIHZhciBwZWFrcyA9
IHNlcmllcy5tYXAocGVhayk7CisgIHJldHVybiBub25lJDIoc2VyaWVzKS5zb3J0KGZ1bmN0aW9u
KGEsIGIpIHsgcmV0dXJuIHBlYWtzW2FdIC0gcGVha3NbYl07IH0pOworfQorCitmdW5jdGlvbiBw
ZWFrKHNlcmllcykgeworICB2YXIgaSA9IC0xLCBqID0gMCwgbiA9IHNlcmllcy5sZW5ndGgsIHZp
LCB2aiA9IC1JbmZpbml0eTsKKyAgd2hpbGUgKCsraSA8IG4pIGlmICgodmkgPSArc2VyaWVzW2ld
WzFdKSA+IHZqKSB2aiA9IHZpLCBqID0gaTsKKyAgcmV0dXJuIGo7Cit9CisKK2Z1bmN0aW9uIGFz
Y2VuZGluZyQzKHNlcmllcykgeworICB2YXIgc3VtcyA9IHNlcmllcy5tYXAoc3VtJDIpOworICBy
ZXR1cm4gbm9uZSQyKHNlcmllcykuc29ydChmdW5jdGlvbihhLCBiKSB7IHJldHVybiBzdW1zW2Fd
IC0gc3Vtc1tiXTsgfSk7Cit9CisKK2Z1bmN0aW9uIHN1bSQyKHNlcmllcykgeworICB2YXIgcyA9
IDAsIGkgPSAtMSwgbiA9IHNlcmllcy5sZW5ndGgsIHY7CisgIHdoaWxlICgrK2kgPCBuKSBpZiAo
diA9ICtzZXJpZXNbaV1bMV0pIHMgKz0gdjsKKyAgcmV0dXJuIHM7Cit9CisKK2Z1bmN0aW9uIGRl
c2NlbmRpbmckMihzZXJpZXMpIHsKKyAgcmV0dXJuIGFzY2VuZGluZyQzKHNlcmllcykucmV2ZXJz
ZSgpOworfQorCitmdW5jdGlvbiBpbnNpZGVPdXQoc2VyaWVzKSB7CisgIHZhciBuID0gc2VyaWVz
Lmxlbmd0aCwKKyAgICAgIGksCisgICAgICBqLAorICAgICAgc3VtcyA9IHNlcmllcy5tYXAoc3Vt
JDIpLAorICAgICAgb3JkZXIgPSBhcHBlYXJhbmNlKHNlcmllcyksCisgICAgICB0b3AgPSAwLAor
ICAgICAgYm90dG9tID0gMCwKKyAgICAgIHRvcHMgPSBbXSwKKyAgICAgIGJvdHRvbXMgPSBbXTsK
KworICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgaiA9IG9yZGVyW2ldOworICAgIGlm
ICh0b3AgPCBib3R0b20pIHsKKyAgICAgIHRvcCArPSBzdW1zW2pdOworICAgICAgdG9wcy5wdXNo
KGopOworICAgIH0gZWxzZSB7CisgICAgICBib3R0b20gKz0gc3Vtc1tqXTsKKyAgICAgIGJvdHRv
bXMucHVzaChqKTsKKyAgICB9CisgIH0KKworICByZXR1cm4gYm90dG9tcy5yZXZlcnNlKCkuY29u
Y2F0KHRvcHMpOworfQorCitmdW5jdGlvbiByZXZlcnNlKHNlcmllcykgeworICByZXR1cm4gbm9u
ZSQyKHNlcmllcykucmV2ZXJzZSgpOworfQorCitmdW5jdGlvbiBjb25zdGFudCRjKHgpIHsKKyAg
cmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB4OworICB9OworfQorCitmdW5jdGlvbiB4
JDQoZCkgeworICByZXR1cm4gZFswXTsKK30KKworZnVuY3Rpb24geSQ0KGQpIHsKKyAgcmV0dXJu
IGRbMV07Cit9CisKK2Z1bmN0aW9uIFJlZEJsYWNrVHJlZSgpIHsKKyAgdGhpcy5fID0gbnVsbDsg
Ly8gcm9vdCBub2RlCit9CisKK2Z1bmN0aW9uIFJlZEJsYWNrTm9kZShub2RlKSB7CisgIG5vZGUu
VSA9IC8vIHBhcmVudCBub2RlCisgIG5vZGUuQyA9IC8vIGNvbG9yIC0gdHJ1ZSBmb3IgcmVkLCBm
YWxzZSBmb3IgYmxhY2sKKyAgbm9kZS5MID0gLy8gbGVmdCBub2RlCisgIG5vZGUuUiA9IC8vIHJp
Z2h0IG5vZGUKKyAgbm9kZS5QID0gLy8gcHJldmlvdXMgbm9kZQorICBub2RlLk4gPSBudWxsOyAv
LyBuZXh0IG5vZGUKK30KKworUmVkQmxhY2tUcmVlLnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0
b3I6IFJlZEJsYWNrVHJlZSwKKworICBpbnNlcnQ6IGZ1bmN0aW9uKGFmdGVyLCBub2RlKSB7Cisg
ICAgdmFyIHBhcmVudCwgZ3JhbmRwYSwgdW5jbGU7CisKKyAgICBpZiAoYWZ0ZXIpIHsKKyAgICAg
IG5vZGUuUCA9IGFmdGVyOworICAgICAgbm9kZS5OID0gYWZ0ZXIuTjsKKyAgICAgIGlmIChhZnRl
ci5OKSBhZnRlci5OLlAgPSBub2RlOworICAgICAgYWZ0ZXIuTiA9IG5vZGU7CisgICAgICBpZiAo
YWZ0ZXIuUikgeworICAgICAgICBhZnRlciA9IGFmdGVyLlI7CisgICAgICAgIHdoaWxlIChhZnRl
ci5MKSBhZnRlciA9IGFmdGVyLkw7CisgICAgICAgIGFmdGVyLkwgPSBub2RlOworICAgICAgfSBl
bHNlIHsKKyAgICAgICAgYWZ0ZXIuUiA9IG5vZGU7CisgICAgICB9CisgICAgICBwYXJlbnQgPSBh
ZnRlcjsKKyAgICB9IGVsc2UgaWYgKHRoaXMuXykgeworICAgICAgYWZ0ZXIgPSBSZWRCbGFja0Zp
cnN0KHRoaXMuXyk7CisgICAgICBub2RlLlAgPSBudWxsOworICAgICAgbm9kZS5OID0gYWZ0ZXI7
CisgICAgICBhZnRlci5QID0gYWZ0ZXIuTCA9IG5vZGU7CisgICAgICBwYXJlbnQgPSBhZnRlcjsK
KyAgICB9IGVsc2UgeworICAgICAgbm9kZS5QID0gbm9kZS5OID0gbnVsbDsKKyAgICAgIHRoaXMu
XyA9IG5vZGU7CisgICAgICBwYXJlbnQgPSBudWxsOworICAgIH0KKyAgICBub2RlLkwgPSBub2Rl
LlIgPSBudWxsOworICAgIG5vZGUuVSA9IHBhcmVudDsKKyAgICBub2RlLkMgPSB0cnVlOworCisg
ICAgYWZ0ZXIgPSBub2RlOworICAgIHdoaWxlIChwYXJlbnQgJiYgcGFyZW50LkMpIHsKKyAgICAg
IGdyYW5kcGEgPSBwYXJlbnQuVTsKKyAgICAgIGlmIChwYXJlbnQgPT09IGdyYW5kcGEuTCkgewor
ICAgICAgICB1bmNsZSA9IGdyYW5kcGEuUjsKKyAgICAgICAgaWYgKHVuY2xlICYmIHVuY2xlLkMp
IHsKKyAgICAgICAgICBwYXJlbnQuQyA9IHVuY2xlLkMgPSBmYWxzZTsKKyAgICAgICAgICBncmFu
ZHBhLkMgPSB0cnVlOworICAgICAgICAgIGFmdGVyID0gZ3JhbmRwYTsKKyAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICBpZiAoYWZ0ZXIgPT09IHBhcmVudC5SKSB7CisgICAgICAgICAgICBSZWRC
bGFja1JvdGF0ZUxlZnQodGhpcywgcGFyZW50KTsKKyAgICAgICAgICAgIGFmdGVyID0gcGFyZW50
OworICAgICAgICAgICAgcGFyZW50ID0gYWZ0ZXIuVTsKKyAgICAgICAgICB9CisgICAgICAgICAg
cGFyZW50LkMgPSBmYWxzZTsKKyAgICAgICAgICBncmFuZHBhLkMgPSB0cnVlOworICAgICAgICAg
IFJlZEJsYWNrUm90YXRlUmlnaHQodGhpcywgZ3JhbmRwYSk7CisgICAgICAgIH0KKyAgICAgIH0g
ZWxzZSB7CisgICAgICAgIHVuY2xlID0gZ3JhbmRwYS5MOworICAgICAgICBpZiAodW5jbGUgJiYg
dW5jbGUuQykgeworICAgICAgICAgIHBhcmVudC5DID0gdW5jbGUuQyA9IGZhbHNlOworICAgICAg
ICAgIGdyYW5kcGEuQyA9IHRydWU7CisgICAgICAgICAgYWZ0ZXIgPSBncmFuZHBhOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgIGlmIChhZnRlciA9PT0gcGFyZW50LkwpIHsKKyAgICAgICAg
ICAgIFJlZEJsYWNrUm90YXRlUmlnaHQodGhpcywgcGFyZW50KTsKKyAgICAgICAgICAgIGFmdGVy
ID0gcGFyZW50OworICAgICAgICAgICAgcGFyZW50ID0gYWZ0ZXIuVTsKKyAgICAgICAgICB9Cisg
ICAgICAgICAgcGFyZW50LkMgPSBmYWxzZTsKKyAgICAgICAgICBncmFuZHBhLkMgPSB0cnVlOwor
ICAgICAgICAgIFJlZEJsYWNrUm90YXRlTGVmdCh0aGlzLCBncmFuZHBhKTsKKyAgICAgICAgfQor
ICAgICAgfQorICAgICAgcGFyZW50ID0gYWZ0ZXIuVTsKKyAgICB9CisgICAgdGhpcy5fLkMgPSBm
YWxzZTsKKyAgfSwKKworICByZW1vdmU6IGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBpZiAobm9kZS5O
KSBub2RlLk4uUCA9IG5vZGUuUDsKKyAgICBpZiAobm9kZS5QKSBub2RlLlAuTiA9IG5vZGUuTjsK
KyAgICBub2RlLk4gPSBub2RlLlAgPSBudWxsOworCisgICAgdmFyIHBhcmVudCA9IG5vZGUuVSwK
KyAgICAgICAgc2libGluZywKKyAgICAgICAgbGVmdCA9IG5vZGUuTCwKKyAgICAgICAgcmlnaHQg
PSBub2RlLlIsCisgICAgICAgIG5leHQsCisgICAgICAgIHJlZDsKKworICAgIGlmICghbGVmdCkg
bmV4dCA9IHJpZ2h0OworICAgIGVsc2UgaWYgKCFyaWdodCkgbmV4dCA9IGxlZnQ7CisgICAgZWxz
ZSBuZXh0ID0gUmVkQmxhY2tGaXJzdChyaWdodCk7CisKKyAgICBpZiAocGFyZW50KSB7CisgICAg
ICBpZiAocGFyZW50LkwgPT09IG5vZGUpIHBhcmVudC5MID0gbmV4dDsKKyAgICAgIGVsc2UgcGFy
ZW50LlIgPSBuZXh0OworICAgIH0gZWxzZSB7CisgICAgICB0aGlzLl8gPSBuZXh0OworICAgIH0K
KworICAgIGlmIChsZWZ0ICYmIHJpZ2h0KSB7CisgICAgICByZWQgPSBuZXh0LkM7CisgICAgICBu
ZXh0LkMgPSBub2RlLkM7CisgICAgICBuZXh0LkwgPSBsZWZ0OworICAgICAgbGVmdC5VID0gbmV4
dDsKKyAgICAgIGlmIChuZXh0ICE9PSByaWdodCkgeworICAgICAgICBwYXJlbnQgPSBuZXh0LlU7
CisgICAgICAgIG5leHQuVSA9IG5vZGUuVTsKKyAgICAgICAgbm9kZSA9IG5leHQuUjsKKyAgICAg
ICAgcGFyZW50LkwgPSBub2RlOworICAgICAgICBuZXh0LlIgPSByaWdodDsKKyAgICAgICAgcmln
aHQuVSA9IG5leHQ7CisgICAgICB9IGVsc2UgeworICAgICAgICBuZXh0LlUgPSBwYXJlbnQ7Cisg
ICAgICAgIHBhcmVudCA9IG5leHQ7CisgICAgICAgIG5vZGUgPSBuZXh0LlI7CisgICAgICB9Cisg
ICAgfSBlbHNlIHsKKyAgICAgIHJlZCA9IG5vZGUuQzsKKyAgICAgIG5vZGUgPSBuZXh0OworICAg
IH0KKworICAgIGlmIChub2RlKSBub2RlLlUgPSBwYXJlbnQ7CisgICAgaWYgKHJlZCkgcmV0dXJu
OworICAgIGlmIChub2RlICYmIG5vZGUuQykgeyBub2RlLkMgPSBmYWxzZTsgcmV0dXJuOyB9CisK
KyAgICBkbyB7CisgICAgICBpZiAobm9kZSA9PT0gdGhpcy5fKSBicmVhazsKKyAgICAgIGlmIChu
b2RlID09PSBwYXJlbnQuTCkgeworICAgICAgICBzaWJsaW5nID0gcGFyZW50LlI7CisgICAgICAg
IGlmIChzaWJsaW5nLkMpIHsKKyAgICAgICAgICBzaWJsaW5nLkMgPSBmYWxzZTsKKyAgICAgICAg
ICBwYXJlbnQuQyA9IHRydWU7CisgICAgICAgICAgUmVkQmxhY2tSb3RhdGVMZWZ0KHRoaXMsIHBh
cmVudCk7CisgICAgICAgICAgc2libGluZyA9IHBhcmVudC5SOworICAgICAgICB9CisgICAgICAg
IGlmICgoc2libGluZy5MICYmIHNpYmxpbmcuTC5DKQorICAgICAgICAgICAgfHwgKHNpYmxpbmcu
UiAmJiBzaWJsaW5nLlIuQykpIHsKKyAgICAgICAgICBpZiAoIXNpYmxpbmcuUiB8fCAhc2libGlu
Zy5SLkMpIHsKKyAgICAgICAgICAgIHNpYmxpbmcuTC5DID0gZmFsc2U7CisgICAgICAgICAgICBz
aWJsaW5nLkMgPSB0cnVlOworICAgICAgICAgICAgUmVkQmxhY2tSb3RhdGVSaWdodCh0aGlzLCBz
aWJsaW5nKTsKKyAgICAgICAgICAgIHNpYmxpbmcgPSBwYXJlbnQuUjsKKyAgICAgICAgICB9Cisg
ICAgICAgICAgc2libGluZy5DID0gcGFyZW50LkM7CisgICAgICAgICAgcGFyZW50LkMgPSBzaWJs
aW5nLlIuQyA9IGZhbHNlOworICAgICAgICAgIFJlZEJsYWNrUm90YXRlTGVmdCh0aGlzLCBwYXJl
bnQpOworICAgICAgICAgIG5vZGUgPSB0aGlzLl87CisgICAgICAgICAgYnJlYWs7CisgICAgICAg
IH0KKyAgICAgIH0gZWxzZSB7CisgICAgICAgIHNpYmxpbmcgPSBwYXJlbnQuTDsKKyAgICAgICAg
aWYgKHNpYmxpbmcuQykgeworICAgICAgICAgIHNpYmxpbmcuQyA9IGZhbHNlOworICAgICAgICAg
IHBhcmVudC5DID0gdHJ1ZTsKKyAgICAgICAgICBSZWRCbGFja1JvdGF0ZVJpZ2h0KHRoaXMsIHBh
cmVudCk7CisgICAgICAgICAgc2libGluZyA9IHBhcmVudC5MOworICAgICAgICB9CisgICAgICAg
IGlmICgoc2libGluZy5MICYmIHNpYmxpbmcuTC5DKQorICAgICAgICAgIHx8IChzaWJsaW5nLlIg
JiYgc2libGluZy5SLkMpKSB7CisgICAgICAgICAgaWYgKCFzaWJsaW5nLkwgfHwgIXNpYmxpbmcu
TC5DKSB7CisgICAgICAgICAgICBzaWJsaW5nLlIuQyA9IGZhbHNlOworICAgICAgICAgICAgc2li
bGluZy5DID0gdHJ1ZTsKKyAgICAgICAgICAgIFJlZEJsYWNrUm90YXRlTGVmdCh0aGlzLCBzaWJs
aW5nKTsKKyAgICAgICAgICAgIHNpYmxpbmcgPSBwYXJlbnQuTDsKKyAgICAgICAgICB9CisgICAg
ICAgICAgc2libGluZy5DID0gcGFyZW50LkM7CisgICAgICAgICAgcGFyZW50LkMgPSBzaWJsaW5n
LkwuQyA9IGZhbHNlOworICAgICAgICAgIFJlZEJsYWNrUm90YXRlUmlnaHQodGhpcywgcGFyZW50
KTsKKyAgICAgICAgICBub2RlID0gdGhpcy5fOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9
CisgICAgICB9CisgICAgICBzaWJsaW5nLkMgPSB0cnVlOworICAgICAgbm9kZSA9IHBhcmVudDsK
KyAgICAgIHBhcmVudCA9IHBhcmVudC5VOworICAgIH0gd2hpbGUgKCFub2RlLkMpOworCisgICAg
aWYgKG5vZGUpIG5vZGUuQyA9IGZhbHNlOworICB9Cit9OworCitmdW5jdGlvbiBSZWRCbGFja1Jv
dGF0ZUxlZnQodHJlZSwgbm9kZSkgeworICB2YXIgcCA9IG5vZGUsCisgICAgICBxID0gbm9kZS5S
LAorICAgICAgcGFyZW50ID0gcC5VOworCisgIGlmIChwYXJlbnQpIHsKKyAgICBpZiAocGFyZW50
LkwgPT09IHApIHBhcmVudC5MID0gcTsKKyAgICBlbHNlIHBhcmVudC5SID0gcTsKKyAgfSBlbHNl
IHsKKyAgICB0cmVlLl8gPSBxOworICB9CisKKyAgcS5VID0gcGFyZW50OworICBwLlUgPSBxOwor
ICBwLlIgPSBxLkw7CisgIGlmIChwLlIpIHAuUi5VID0gcDsKKyAgcS5MID0gcDsKK30KKworZnVu
Y3Rpb24gUmVkQmxhY2tSb3RhdGVSaWdodCh0cmVlLCBub2RlKSB7CisgIHZhciBwID0gbm9kZSwK
KyAgICAgIHEgPSBub2RlLkwsCisgICAgICBwYXJlbnQgPSBwLlU7CisKKyAgaWYgKHBhcmVudCkg
eworICAgIGlmIChwYXJlbnQuTCA9PT0gcCkgcGFyZW50LkwgPSBxOworICAgIGVsc2UgcGFyZW50
LlIgPSBxOworICB9IGVsc2UgeworICAgIHRyZWUuXyA9IHE7CisgIH0KKworICBxLlUgPSBwYXJl
bnQ7CisgIHAuVSA9IHE7CisgIHAuTCA9IHEuUjsKKyAgaWYgKHAuTCkgcC5MLlUgPSBwOworICBx
LlIgPSBwOworfQorCitmdW5jdGlvbiBSZWRCbGFja0ZpcnN0KG5vZGUpIHsKKyAgd2hpbGUgKG5v
ZGUuTCkgbm9kZSA9IG5vZGUuTDsKKyAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIGNyZWF0
ZUVkZ2UobGVmdCwgcmlnaHQsIHYwLCB2MSkgeworICB2YXIgZWRnZSA9IFtudWxsLCBudWxsXSwK
KyAgICAgIGluZGV4ID0gZWRnZXMucHVzaChlZGdlKSAtIDE7CisgIGVkZ2UubGVmdCA9IGxlZnQ7
CisgIGVkZ2UucmlnaHQgPSByaWdodDsKKyAgaWYgKHYwKSBzZXRFZGdlRW5kKGVkZ2UsIGxlZnQs
IHJpZ2h0LCB2MCk7CisgIGlmICh2MSkgc2V0RWRnZUVuZChlZGdlLCByaWdodCwgbGVmdCwgdjEp
OworICBjZWxsc1tsZWZ0LmluZGV4XS5oYWxmZWRnZXMucHVzaChpbmRleCk7CisgIGNlbGxzW3Jp
Z2h0LmluZGV4XS5oYWxmZWRnZXMucHVzaChpbmRleCk7CisgIHJldHVybiBlZGdlOworfQorCitm
dW5jdGlvbiBjcmVhdGVCb3JkZXJFZGdlKGxlZnQsIHYwLCB2MSkgeworICB2YXIgZWRnZSA9IFt2
MCwgdjFdOworICBlZGdlLmxlZnQgPSBsZWZ0OworICByZXR1cm4gZWRnZTsKK30KKworZnVuY3Rp
b24gc2V0RWRnZUVuZChlZGdlLCBsZWZ0LCByaWdodCwgdmVydGV4KSB7CisgIGlmICghZWRnZVsw
XSAmJiAhZWRnZVsxXSkgeworICAgIGVkZ2VbMF0gPSB2ZXJ0ZXg7CisgICAgZWRnZS5sZWZ0ID0g
bGVmdDsKKyAgICBlZGdlLnJpZ2h0ID0gcmlnaHQ7CisgIH0gZWxzZSBpZiAoZWRnZS5sZWZ0ID09
PSByaWdodCkgeworICAgIGVkZ2VbMV0gPSB2ZXJ0ZXg7CisgIH0gZWxzZSB7CisgICAgZWRnZVsw
XSA9IHZlcnRleDsKKyAgfQorfQorCisvLyBMaWFuZ+KAk0JhcnNreSBsaW5lIGNsaXBwaW5nLgor
ZnVuY3Rpb24gY2xpcEVkZ2UoZWRnZSwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIGEgPSBlZGdl
WzBdLAorICAgICAgYiA9IGVkZ2VbMV0sCisgICAgICBheCA9IGFbMF0sCisgICAgICBheSA9IGFb
MV0sCisgICAgICBieCA9IGJbMF0sCisgICAgICBieSA9IGJbMV0sCisgICAgICB0MCA9IDAsCisg
ICAgICB0MSA9IDEsCisgICAgICBkeCA9IGJ4IC0gYXgsCisgICAgICBkeSA9IGJ5IC0gYXksCisg
ICAgICByOworCisgIHIgPSB4MCAtIGF4OworICBpZiAoIWR4ICYmIHIgPiAwKSByZXR1cm47Cisg
IHIgLz0gZHg7CisgIGlmIChkeCA8IDApIHsKKyAgICBpZiAociA8IHQwKSByZXR1cm47CisgICAg
aWYgKHIgPCB0MSkgdDEgPSByOworICB9IGVsc2UgaWYgKGR4ID4gMCkgeworICAgIGlmIChyID4g
dDEpIHJldHVybjsKKyAgICBpZiAociA+IHQwKSB0MCA9IHI7CisgIH0KKworICByID0geDEgLSBh
eDsKKyAgaWYgKCFkeCAmJiByIDwgMCkgcmV0dXJuOworICByIC89IGR4OworICBpZiAoZHggPCAw
KSB7CisgICAgaWYgKHIgPiB0MSkgcmV0dXJuOworICAgIGlmIChyID4gdDApIHQwID0gcjsKKyAg
fSBlbHNlIGlmIChkeCA+IDApIHsKKyAgICBpZiAociA8IHQwKSByZXR1cm47CisgICAgaWYgKHIg
PCB0MSkgdDEgPSByOworICB9CisKKyAgciA9IHkwIC0gYXk7CisgIGlmICghZHkgJiYgciA+IDAp
IHJldHVybjsKKyAgciAvPSBkeTsKKyAgaWYgKGR5IDwgMCkgeworICAgIGlmIChyIDwgdDApIHJl
dHVybjsKKyAgICBpZiAociA8IHQxKSB0MSA9IHI7CisgIH0gZWxzZSBpZiAoZHkgPiAwKSB7Cisg
ICAgaWYgKHIgPiB0MSkgcmV0dXJuOworICAgIGlmIChyID4gdDApIHQwID0gcjsKKyAgfQorCisg
IHIgPSB5MSAtIGF5OworICBpZiAoIWR5ICYmIHIgPCAwKSByZXR1cm47CisgIHIgLz0gZHk7Cisg
IGlmIChkeSA8IDApIHsKKyAgICBpZiAociA+IHQxKSByZXR1cm47CisgICAgaWYgKHIgPiB0MCkg
dDAgPSByOworICB9IGVsc2UgaWYgKGR5ID4gMCkgeworICAgIGlmIChyIDwgdDApIHJldHVybjsK
KyAgICBpZiAociA8IHQxKSB0MSA9IHI7CisgIH0KKworICBpZiAoISh0MCA+IDApICYmICEodDEg
PCAxKSkgcmV0dXJuIHRydWU7IC8vIFRPRE8gQmV0dGVyIGNoZWNrPworCisgIGlmICh0MCA+IDAp
IGVkZ2VbMF0gPSBbYXggKyB0MCAqIGR4LCBheSArIHQwICogZHldOworICBpZiAodDEgPCAxKSBl
ZGdlWzFdID0gW2F4ICsgdDEgKiBkeCwgYXkgKyB0MSAqIGR5XTsKKyAgcmV0dXJuIHRydWU7Cit9
CisKK2Z1bmN0aW9uIGNvbm5lY3RFZGdlKGVkZ2UsIHgwLCB5MCwgeDEsIHkxKSB7CisgIHZhciB2
MSA9IGVkZ2VbMV07CisgIGlmICh2MSkgcmV0dXJuIHRydWU7CisKKyAgdmFyIHYwID0gZWRnZVsw
XSwKKyAgICAgIGxlZnQgPSBlZGdlLmxlZnQsCisgICAgICByaWdodCA9IGVkZ2UucmlnaHQsCisg
ICAgICBseCA9IGxlZnRbMF0sCisgICAgICBseSA9IGxlZnRbMV0sCisgICAgICByeCA9IHJpZ2h0
WzBdLAorICAgICAgcnkgPSByaWdodFsxXSwKKyAgICAgIGZ4ID0gKGx4ICsgcngpIC8gMiwKKyAg
ICAgIGZ5ID0gKGx5ICsgcnkpIC8gMiwKKyAgICAgIGZtLAorICAgICAgZmI7CisKKyAgaWYgKHJ5
ID09PSBseSkgeworICAgIGlmIChmeCA8IHgwIHx8IGZ4ID49IHgxKSByZXR1cm47CisgICAgaWYg
KGx4ID4gcngpIHsKKyAgICAgIGlmICghdjApIHYwID0gW2Z4LCB5MF07CisgICAgICBlbHNlIGlm
ICh2MFsxXSA+PSB5MSkgcmV0dXJuOworICAgICAgdjEgPSBbZngsIHkxXTsKKyAgICB9IGVsc2Ug
eworICAgICAgaWYgKCF2MCkgdjAgPSBbZngsIHkxXTsKKyAgICAgIGVsc2UgaWYgKHYwWzFdIDwg
eTApIHJldHVybjsKKyAgICAgIHYxID0gW2Z4LCB5MF07CisgICAgfQorICB9IGVsc2UgeworICAg
IGZtID0gKGx4IC0gcngpIC8gKHJ5IC0gbHkpOworICAgIGZiID0gZnkgLSBmbSAqIGZ4OworICAg
IGlmIChmbSA8IC0xIHx8IGZtID4gMSkgeworICAgICAgaWYgKGx4ID4gcngpIHsKKyAgICAgICAg
aWYgKCF2MCkgdjAgPSBbKHkwIC0gZmIpIC8gZm0sIHkwXTsKKyAgICAgICAgZWxzZSBpZiAodjBb
MV0gPj0geTEpIHJldHVybjsKKyAgICAgICAgdjEgPSBbKHkxIC0gZmIpIC8gZm0sIHkxXTsKKyAg
ICAgIH0gZWxzZSB7CisgICAgICAgIGlmICghdjApIHYwID0gWyh5MSAtIGZiKSAvIGZtLCB5MV07
CisgICAgICAgIGVsc2UgaWYgKHYwWzFdIDwgeTApIHJldHVybjsKKyAgICAgICAgdjEgPSBbKHkw
IC0gZmIpIC8gZm0sIHkwXTsKKyAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgaWYgKGx5IDwg
cnkpIHsKKyAgICAgICAgaWYgKCF2MCkgdjAgPSBbeDAsIGZtICogeDAgKyBmYl07CisgICAgICAg
IGVsc2UgaWYgKHYwWzBdID49IHgxKSByZXR1cm47CisgICAgICAgIHYxID0gW3gxLCBmbSAqIHgx
ICsgZmJdOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKCF2MCkgdjAgPSBbeDEsIGZtICog
eDEgKyBmYl07CisgICAgICAgIGVsc2UgaWYgKHYwWzBdIDwgeDApIHJldHVybjsKKyAgICAgICAg
djEgPSBbeDAsIGZtICogeDAgKyBmYl07CisgICAgICB9CisgICAgfQorICB9CisKKyAgZWRnZVsw
XSA9IHYwOworICBlZGdlWzFdID0gdjE7CisgIHJldHVybiB0cnVlOworfQorCitmdW5jdGlvbiBj
bGlwRWRnZXMoeDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIGkgPSBlZGdlcy5sZW5ndGgsCisgICAg
ICBlZGdlOworCisgIHdoaWxlIChpLS0pIHsKKyAgICBpZiAoIWNvbm5lY3RFZGdlKGVkZ2UgPSBl
ZGdlc1tpXSwgeDAsIHkwLCB4MSwgeTEpCisgICAgICAgIHx8ICFjbGlwRWRnZShlZGdlLCB4MCwg
eTAsIHgxLCB5MSkKKyAgICAgICAgfHwgIShNYXRoLmFicyhlZGdlWzBdWzBdIC0gZWRnZVsxXVsw
XSkgPiBlcHNpbG9uJDQKKyAgICAgICAgICAgIHx8IE1hdGguYWJzKGVkZ2VbMF1bMV0gLSBlZGdl
WzFdWzFdKSA+IGVwc2lsb24kNCkpIHsKKyAgICAgIGRlbGV0ZSBlZGdlc1tpXTsKKyAgICB9Cisg
IH0KK30KKworZnVuY3Rpb24gY3JlYXRlQ2VsbChzaXRlKSB7CisgIHJldHVybiBjZWxsc1tzaXRl
LmluZGV4XSA9IHsKKyAgICBzaXRlOiBzaXRlLAorICAgIGhhbGZlZGdlczogW10KKyAgfTsKK30K
KworZnVuY3Rpb24gY2VsbEhhbGZlZGdlQW5nbGUoY2VsbCwgZWRnZSkgeworICB2YXIgc2l0ZSA9
IGNlbGwuc2l0ZSwKKyAgICAgIHZhID0gZWRnZS5sZWZ0LAorICAgICAgdmIgPSBlZGdlLnJpZ2h0
OworICBpZiAoc2l0ZSA9PT0gdmIpIHZiID0gdmEsIHZhID0gc2l0ZTsKKyAgaWYgKHZiKSByZXR1
cm4gTWF0aC5hdGFuMih2YlsxXSAtIHZhWzFdLCB2YlswXSAtIHZhWzBdKTsKKyAgaWYgKHNpdGUg
PT09IHZhKSB2YSA9IGVkZ2VbMV0sIHZiID0gZWRnZVswXTsKKyAgZWxzZSB2YSA9IGVkZ2VbMF0s
IHZiID0gZWRnZVsxXTsKKyAgcmV0dXJuIE1hdGguYXRhbjIodmFbMF0gLSB2YlswXSwgdmJbMV0g
LSB2YVsxXSk7Cit9CisKK2Z1bmN0aW9uIGNlbGxIYWxmZWRnZVN0YXJ0KGNlbGwsIGVkZ2UpIHsK
KyAgcmV0dXJuIGVkZ2VbKyhlZGdlLmxlZnQgIT09IGNlbGwuc2l0ZSldOworfQorCitmdW5jdGlv
biBjZWxsSGFsZmVkZ2VFbmQoY2VsbCwgZWRnZSkgeworICByZXR1cm4gZWRnZVsrKGVkZ2UubGVm
dCA9PT0gY2VsbC5zaXRlKV07Cit9CisKK2Z1bmN0aW9uIHNvcnRDZWxsSGFsZmVkZ2VzKCkgewor
ICBmb3IgKHZhciBpID0gMCwgbiA9IGNlbGxzLmxlbmd0aCwgY2VsbCwgaGFsZmVkZ2VzLCBqLCBt
OyBpIDwgbjsgKytpKSB7CisgICAgaWYgKChjZWxsID0gY2VsbHNbaV0pICYmIChtID0gKGhhbGZl
ZGdlcyA9IGNlbGwuaGFsZmVkZ2VzKS5sZW5ndGgpKSB7CisgICAgICB2YXIgaW5kZXggPSBuZXcg
QXJyYXkobSksCisgICAgICAgICAgYXJyYXkgPSBuZXcgQXJyYXkobSk7CisgICAgICBmb3IgKGog
PSAwOyBqIDwgbTsgKytqKSBpbmRleFtqXSA9IGosIGFycmF5W2pdID0gY2VsbEhhbGZlZGdlQW5n
bGUoY2VsbCwgZWRnZXNbaGFsZmVkZ2VzW2pdXSk7CisgICAgICBpbmRleC5zb3J0KGZ1bmN0aW9u
KGksIGopIHsgcmV0dXJuIGFycmF5W2pdIC0gYXJyYXlbaV07IH0pOworICAgICAgZm9yIChqID0g
MDsgaiA8IG07ICsraikgYXJyYXlbal0gPSBoYWxmZWRnZXNbaW5kZXhbal1dOworICAgICAgZm9y
IChqID0gMDsgaiA8IG07ICsraikgaGFsZmVkZ2VzW2pdID0gYXJyYXlbal07CisgICAgfQorICB9
Cit9CisKK2Z1bmN0aW9uIGNsaXBDZWxscyh4MCwgeTAsIHgxLCB5MSkgeworICB2YXIgbkNlbGxz
ID0gY2VsbHMubGVuZ3RoLAorICAgICAgaUNlbGwsCisgICAgICBjZWxsLAorICAgICAgc2l0ZSwK
KyAgICAgIGlIYWxmZWRnZSwKKyAgICAgIGhhbGZlZGdlcywKKyAgICAgIG5IYWxmZWRnZXMsCisg
ICAgICBzdGFydCwKKyAgICAgIHN0YXJ0WCwKKyAgICAgIHN0YXJ0WSwKKyAgICAgIGVuZCwKKyAg
ICAgIGVuZFgsCisgICAgICBlbmRZLAorICAgICAgY292ZXIgPSB0cnVlOworCisgIGZvciAoaUNl
bGwgPSAwOyBpQ2VsbCA8IG5DZWxsczsgKytpQ2VsbCkgeworICAgIGlmIChjZWxsID0gY2VsbHNb
aUNlbGxdKSB7CisgICAgICBzaXRlID0gY2VsbC5zaXRlOworICAgICAgaGFsZmVkZ2VzID0gY2Vs
bC5oYWxmZWRnZXM7CisgICAgICBpSGFsZmVkZ2UgPSBoYWxmZWRnZXMubGVuZ3RoOworCisgICAg
ICAvLyBSZW1vdmUgYW55IGRhbmdsaW5nIGNsaXBwZWQgZWRnZXMuCisgICAgICB3aGlsZSAoaUhh
bGZlZGdlLS0pIHsKKyAgICAgICAgaWYgKCFlZGdlc1toYWxmZWRnZXNbaUhhbGZlZGdlXV0pIHsK
KyAgICAgICAgICBoYWxmZWRnZXMuc3BsaWNlKGlIYWxmZWRnZSwgMSk7CisgICAgICAgIH0KKyAg
ICAgIH0KKworICAgICAgLy8gSW5zZXJ0IGFueSBib3JkZXIgZWRnZXMgYXMgbmVjZXNzYXJ5Lgor
ICAgICAgaUhhbGZlZGdlID0gMCwgbkhhbGZlZGdlcyA9IGhhbGZlZGdlcy5sZW5ndGg7CisgICAg
ICB3aGlsZSAoaUhhbGZlZGdlIDwgbkhhbGZlZGdlcykgeworICAgICAgICBlbmQgPSBjZWxsSGFs
ZmVkZ2VFbmQoY2VsbCwgZWRnZXNbaGFsZmVkZ2VzW2lIYWxmZWRnZV1dKSwgZW5kWCA9IGVuZFsw
XSwgZW5kWSA9IGVuZFsxXTsKKyAgICAgICAgc3RhcnQgPSBjZWxsSGFsZmVkZ2VTdGFydChjZWxs
LCBlZGdlc1toYWxmZWRnZXNbKytpSGFsZmVkZ2UgJSBuSGFsZmVkZ2VzXV0pLCBzdGFydFggPSBz
dGFydFswXSwgc3RhcnRZID0gc3RhcnRbMV07CisgICAgICAgIGlmIChNYXRoLmFicyhlbmRYIC0g
c3RhcnRYKSA+IGVwc2lsb24kNCB8fCBNYXRoLmFicyhlbmRZIC0gc3RhcnRZKSA+IGVwc2lsb24k
NCkgeworICAgICAgICAgIGhhbGZlZGdlcy5zcGxpY2UoaUhhbGZlZGdlLCAwLCBlZGdlcy5wdXNo
KGNyZWF0ZUJvcmRlckVkZ2Uoc2l0ZSwgZW5kLAorICAgICAgICAgICAgICBNYXRoLmFicyhlbmRY
IC0geDApIDwgZXBzaWxvbiQ0ICYmIHkxIC0gZW5kWSA+IGVwc2lsb24kNCA/IFt4MCwgTWF0aC5h
YnMoc3RhcnRYIC0geDApIDwgZXBzaWxvbiQ0ID8gc3RhcnRZIDogeTFdCisgICAgICAgICAgICAg
IDogTWF0aC5hYnMoZW5kWSAtIHkxKSA8IGVwc2lsb24kNCAmJiB4MSAtIGVuZFggPiBlcHNpbG9u
JDQgPyBbTWF0aC5hYnMoc3RhcnRZIC0geTEpIDwgZXBzaWxvbiQ0ID8gc3RhcnRYIDogeDEsIHkx
XQorICAgICAgICAgICAgICA6IE1hdGguYWJzKGVuZFggLSB4MSkgPCBlcHNpbG9uJDQgJiYgZW5k
WSAtIHkwID4gZXBzaWxvbiQ0ID8gW3gxLCBNYXRoLmFicyhzdGFydFggLSB4MSkgPCBlcHNpbG9u
JDQgPyBzdGFydFkgOiB5MF0KKyAgICAgICAgICAgICAgOiBNYXRoLmFicyhlbmRZIC0geTApIDwg
ZXBzaWxvbiQ0ICYmIGVuZFggLSB4MCA+IGVwc2lsb24kNCA/IFtNYXRoLmFicyhzdGFydFkgLSB5
MCkgPCBlcHNpbG9uJDQgPyBzdGFydFggOiB4MCwgeTBdCisgICAgICAgICAgICAgIDogbnVsbCkp
IC0gMSk7CisgICAgICAgICAgKytuSGFsZmVkZ2VzOworICAgICAgICB9CisgICAgICB9CisKKyAg
ICAgIGlmIChuSGFsZmVkZ2VzKSBjb3ZlciA9IGZhbHNlOworICAgIH0KKyAgfQorCisgIC8vIElm
IHRoZXJlIHdlcmVu4oCZdCBhbnkgZWRnZXMsIGhhdmUgdGhlIGNsb3Nlc3Qgc2l0ZSBjb3ZlciB0
aGUgZXh0ZW50LgorICAvLyBJdCBkb2VzbuKAmXQgbWF0dGVyIHdoaWNoIGNvcm5lciBvZiB0aGUg
ZXh0ZW50IHdlIG1lYXN1cmUhCisgIGlmIChjb3ZlcikgeworICAgIHZhciBkeCwgZHksIGQyLCBk
YyA9IEluZmluaXR5OworCisgICAgZm9yIChpQ2VsbCA9IDAsIGNvdmVyID0gbnVsbDsgaUNlbGwg
PCBuQ2VsbHM7ICsraUNlbGwpIHsKKyAgICAgIGlmIChjZWxsID0gY2VsbHNbaUNlbGxdKSB7Cisg
ICAgICAgIHNpdGUgPSBjZWxsLnNpdGU7CisgICAgICAgIGR4ID0gc2l0ZVswXSAtIHgwOworICAg
ICAgICBkeSA9IHNpdGVbMV0gLSB5MDsKKyAgICAgICAgZDIgPSBkeCAqIGR4ICsgZHkgKiBkeTsK
KyAgICAgICAgaWYgKGQyIDwgZGMpIGRjID0gZDIsIGNvdmVyID0gY2VsbDsKKyAgICAgIH0KKyAg
ICB9CisKKyAgICBpZiAoY292ZXIpIHsKKyAgICAgIHZhciB2MDAgPSBbeDAsIHkwXSwgdjAxID0g
W3gwLCB5MV0sIHYxMSA9IFt4MSwgeTFdLCB2MTAgPSBbeDEsIHkwXTsKKyAgICAgIGNvdmVyLmhh
bGZlZGdlcy5wdXNoKAorICAgICAgICBlZGdlcy5wdXNoKGNyZWF0ZUJvcmRlckVkZ2Uoc2l0ZSA9
IGNvdmVyLnNpdGUsIHYwMCwgdjAxKSkgLSAxLAorICAgICAgICBlZGdlcy5wdXNoKGNyZWF0ZUJv
cmRlckVkZ2Uoc2l0ZSwgdjAxLCB2MTEpKSAtIDEsCisgICAgICAgIGVkZ2VzLnB1c2goY3JlYXRl
Qm9yZGVyRWRnZShzaXRlLCB2MTEsIHYxMCkpIC0gMSwKKyAgICAgICAgZWRnZXMucHVzaChjcmVh
dGVCb3JkZXJFZGdlKHNpdGUsIHYxMCwgdjAwKSkgLSAxCisgICAgICApOworICAgIH0KKyAgfQor
CisgIC8vIExhc3RseSBkZWxldGUgYW55IGNlbGxzIHdpdGggbm8gZWRnZXM7IHRoZXNlIHdlcmUg
ZW50aXJlbHkgY2xpcHBlZC4KKyAgZm9yIChpQ2VsbCA9IDA7IGlDZWxsIDwgbkNlbGxzOyArK2lD
ZWxsKSB7CisgICAgaWYgKGNlbGwgPSBjZWxsc1tpQ2VsbF0pIHsKKyAgICAgIGlmICghY2VsbC5o
YWxmZWRnZXMubGVuZ3RoKSB7CisgICAgICAgIGRlbGV0ZSBjZWxsc1tpQ2VsbF07CisgICAgICB9
CisgICAgfQorICB9Cit9CisKK3ZhciBjaXJjbGVQb29sID0gW107CisKK3ZhciBmaXJzdENpcmNs
ZTsKKworZnVuY3Rpb24gQ2lyY2xlKCkgeworICBSZWRCbGFja05vZGUodGhpcyk7CisgIHRoaXMu
eCA9CisgIHRoaXMueSA9CisgIHRoaXMuYXJjID0KKyAgdGhpcy5zaXRlID0KKyAgdGhpcy5jeSA9
IG51bGw7Cit9CisKK2Z1bmN0aW9uIGF0dGFjaENpcmNsZShhcmMpIHsKKyAgdmFyIGxBcmMgPSBh
cmMuUCwKKyAgICAgIHJBcmMgPSBhcmMuTjsKKworICBpZiAoIWxBcmMgfHwgIXJBcmMpIHJldHVy
bjsKKworICB2YXIgbFNpdGUgPSBsQXJjLnNpdGUsCisgICAgICBjU2l0ZSA9IGFyYy5zaXRlLAor
ICAgICAgclNpdGUgPSByQXJjLnNpdGU7CisKKyAgaWYgKGxTaXRlID09PSByU2l0ZSkgcmV0dXJu
OworCisgIHZhciBieCA9IGNTaXRlWzBdLAorICAgICAgYnkgPSBjU2l0ZVsxXSwKKyAgICAgIGF4
ID0gbFNpdGVbMF0gLSBieCwKKyAgICAgIGF5ID0gbFNpdGVbMV0gLSBieSwKKyAgICAgIGN4ID0g
clNpdGVbMF0gLSBieCwKKyAgICAgIGN5ID0gclNpdGVbMV0gLSBieTsKKworICB2YXIgZCA9IDIg
KiAoYXggKiBjeSAtIGF5ICogY3gpOworICBpZiAoZCA+PSAtZXBzaWxvbjIkMikgcmV0dXJuOwor
CisgIHZhciBoYSA9IGF4ICogYXggKyBheSAqIGF5LAorICAgICAgaGMgPSBjeCAqIGN4ICsgY3kg
KiBjeSwKKyAgICAgIHggPSAoY3kgKiBoYSAtIGF5ICogaGMpIC8gZCwKKyAgICAgIHkgPSAoYXgg
KiBoYyAtIGN4ICogaGEpIC8gZDsKKworICB2YXIgY2lyY2xlID0gY2lyY2xlUG9vbC5wb3AoKSB8
fCBuZXcgQ2lyY2xlOworICBjaXJjbGUuYXJjID0gYXJjOworICBjaXJjbGUuc2l0ZSA9IGNTaXRl
OworICBjaXJjbGUueCA9IHggKyBieDsKKyAgY2lyY2xlLnkgPSAoY2lyY2xlLmN5ID0geSArIGJ5
KSArIE1hdGguc3FydCh4ICogeCArIHkgKiB5KTsgLy8geSBib3R0b20KKworICBhcmMuY2lyY2xl
ID0gY2lyY2xlOworCisgIHZhciBiZWZvcmUgPSBudWxsLAorICAgICAgbm9kZSA9IGNpcmNsZXMu
XzsKKworICB3aGlsZSAobm9kZSkgeworICAgIGlmIChjaXJjbGUueSA8IG5vZGUueSB8fCAoY2ly
Y2xlLnkgPT09IG5vZGUueSAmJiBjaXJjbGUueCA8PSBub2RlLngpKSB7CisgICAgICBpZiAobm9k
ZS5MKSBub2RlID0gbm9kZS5MOworICAgICAgZWxzZSB7IGJlZm9yZSA9IG5vZGUuUDsgYnJlYWs7
IH0KKyAgICB9IGVsc2UgeworICAgICAgaWYgKG5vZGUuUikgbm9kZSA9IG5vZGUuUjsKKyAgICAg
IGVsc2UgeyBiZWZvcmUgPSBub2RlOyBicmVhazsgfQorICAgIH0KKyAgfQorCisgIGNpcmNsZXMu
aW5zZXJ0KGJlZm9yZSwgY2lyY2xlKTsKKyAgaWYgKCFiZWZvcmUpIGZpcnN0Q2lyY2xlID0gY2ly
Y2xlOworfQorCitmdW5jdGlvbiBkZXRhY2hDaXJjbGUoYXJjKSB7CisgIHZhciBjaXJjbGUgPSBh
cmMuY2lyY2xlOworICBpZiAoY2lyY2xlKSB7CisgICAgaWYgKCFjaXJjbGUuUCkgZmlyc3RDaXJj
bGUgPSBjaXJjbGUuTjsKKyAgICBjaXJjbGVzLnJlbW92ZShjaXJjbGUpOworICAgIGNpcmNsZVBv
b2wucHVzaChjaXJjbGUpOworICAgIFJlZEJsYWNrTm9kZShjaXJjbGUpOworICAgIGFyYy5jaXJj
bGUgPSBudWxsOworICB9Cit9CisKK3ZhciBiZWFjaFBvb2wgPSBbXTsKKworZnVuY3Rpb24gQmVh
Y2goKSB7CisgIFJlZEJsYWNrTm9kZSh0aGlzKTsKKyAgdGhpcy5lZGdlID0KKyAgdGhpcy5zaXRl
ID0KKyAgdGhpcy5jaXJjbGUgPSBudWxsOworfQorCitmdW5jdGlvbiBjcmVhdGVCZWFjaChzaXRl
KSB7CisgIHZhciBiZWFjaCA9IGJlYWNoUG9vbC5wb3AoKSB8fCBuZXcgQmVhY2g7CisgIGJlYWNo
LnNpdGUgPSBzaXRlOworICByZXR1cm4gYmVhY2g7Cit9CisKK2Z1bmN0aW9uIGRldGFjaEJlYWNo
KGJlYWNoKSB7CisgIGRldGFjaENpcmNsZShiZWFjaCk7CisgIGJlYWNoZXMucmVtb3ZlKGJlYWNo
KTsKKyAgYmVhY2hQb29sLnB1c2goYmVhY2gpOworICBSZWRCbGFja05vZGUoYmVhY2gpOworfQor
CitmdW5jdGlvbiByZW1vdmVCZWFjaChiZWFjaCkgeworICB2YXIgY2lyY2xlID0gYmVhY2guY2ly
Y2xlLAorICAgICAgeCA9IGNpcmNsZS54LAorICAgICAgeSA9IGNpcmNsZS5jeSwKKyAgICAgIHZl
cnRleCA9IFt4LCB5XSwKKyAgICAgIHByZXZpb3VzID0gYmVhY2guUCwKKyAgICAgIG5leHQgPSBi
ZWFjaC5OLAorICAgICAgZGlzYXBwZWFyaW5nID0gW2JlYWNoXTsKKworICBkZXRhY2hCZWFjaChi
ZWFjaCk7CisKKyAgdmFyIGxBcmMgPSBwcmV2aW91czsKKyAgd2hpbGUgKGxBcmMuY2lyY2xlCisg
ICAgICAmJiBNYXRoLmFicyh4IC0gbEFyYy5jaXJjbGUueCkgPCBlcHNpbG9uJDQKKyAgICAgICYm
IE1hdGguYWJzKHkgLSBsQXJjLmNpcmNsZS5jeSkgPCBlcHNpbG9uJDQpIHsKKyAgICBwcmV2aW91
cyA9IGxBcmMuUDsKKyAgICBkaXNhcHBlYXJpbmcudW5zaGlmdChsQXJjKTsKKyAgICBkZXRhY2hC
ZWFjaChsQXJjKTsKKyAgICBsQXJjID0gcHJldmlvdXM7CisgIH0KKworICBkaXNhcHBlYXJpbmcu
dW5zaGlmdChsQXJjKTsKKyAgZGV0YWNoQ2lyY2xlKGxBcmMpOworCisgIHZhciByQXJjID0gbmV4
dDsKKyAgd2hpbGUgKHJBcmMuY2lyY2xlCisgICAgICAmJiBNYXRoLmFicyh4IC0gckFyYy5jaXJj
bGUueCkgPCBlcHNpbG9uJDQKKyAgICAgICYmIE1hdGguYWJzKHkgLSByQXJjLmNpcmNsZS5jeSkg
PCBlcHNpbG9uJDQpIHsKKyAgICBuZXh0ID0gckFyYy5OOworICAgIGRpc2FwcGVhcmluZy5wdXNo
KHJBcmMpOworICAgIGRldGFjaEJlYWNoKHJBcmMpOworICAgIHJBcmMgPSBuZXh0OworICB9CisK
KyAgZGlzYXBwZWFyaW5nLnB1c2gockFyYyk7CisgIGRldGFjaENpcmNsZShyQXJjKTsKKworICB2
YXIgbkFyY3MgPSBkaXNhcHBlYXJpbmcubGVuZ3RoLAorICAgICAgaUFyYzsKKyAgZm9yIChpQXJj
ID0gMTsgaUFyYyA8IG5BcmNzOyArK2lBcmMpIHsKKyAgICByQXJjID0gZGlzYXBwZWFyaW5nW2lB
cmNdOworICAgIGxBcmMgPSBkaXNhcHBlYXJpbmdbaUFyYyAtIDFdOworICAgIHNldEVkZ2VFbmQo
ckFyYy5lZGdlLCBsQXJjLnNpdGUsIHJBcmMuc2l0ZSwgdmVydGV4KTsKKyAgfQorCisgIGxBcmMg
PSBkaXNhcHBlYXJpbmdbMF07CisgIHJBcmMgPSBkaXNhcHBlYXJpbmdbbkFyY3MgLSAxXTsKKyAg
ckFyYy5lZGdlID0gY3JlYXRlRWRnZShsQXJjLnNpdGUsIHJBcmMuc2l0ZSwgbnVsbCwgdmVydGV4
KTsKKworICBhdHRhY2hDaXJjbGUobEFyYyk7CisgIGF0dGFjaENpcmNsZShyQXJjKTsKK30KKwor
ZnVuY3Rpb24gYWRkQmVhY2goc2l0ZSkgeworICB2YXIgeCA9IHNpdGVbMF0sCisgICAgICBkaXJl
Y3RyaXggPSBzaXRlWzFdLAorICAgICAgbEFyYywKKyAgICAgIHJBcmMsCisgICAgICBkeGwsCisg
ICAgICBkeHIsCisgICAgICBub2RlID0gYmVhY2hlcy5fOworCisgIHdoaWxlIChub2RlKSB7Cisg
ICAgZHhsID0gbGVmdEJyZWFrUG9pbnQobm9kZSwgZGlyZWN0cml4KSAtIHg7CisgICAgaWYgKGR4
bCA+IGVwc2lsb24kNCkgbm9kZSA9IG5vZGUuTDsgZWxzZSB7CisgICAgICBkeHIgPSB4IC0gcmln
aHRCcmVha1BvaW50KG5vZGUsIGRpcmVjdHJpeCk7CisgICAgICBpZiAoZHhyID4gZXBzaWxvbiQ0
KSB7CisgICAgICAgIGlmICghbm9kZS5SKSB7CisgICAgICAgICAgbEFyYyA9IG5vZGU7CisgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgbm9kZSA9IG5vZGUuUjsKKyAgICAgIH0g
ZWxzZSB7CisgICAgICAgIGlmIChkeGwgPiAtZXBzaWxvbiQ0KSB7CisgICAgICAgICAgbEFyYyA9
IG5vZGUuUDsKKyAgICAgICAgICByQXJjID0gbm9kZTsKKyAgICAgICAgfSBlbHNlIGlmIChkeHIg
PiAtZXBzaWxvbiQ0KSB7CisgICAgICAgICAgbEFyYyA9IG5vZGU7CisgICAgICAgICAgckFyYyA9
IG5vZGUuTjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBsQXJjID0gckFyYyA9IG5vZGU7
CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorICB9CisKKyAgY3Jl
YXRlQ2VsbChzaXRlKTsKKyAgdmFyIG5ld0FyYyA9IGNyZWF0ZUJlYWNoKHNpdGUpOworICBiZWFj
aGVzLmluc2VydChsQXJjLCBuZXdBcmMpOworCisgIGlmICghbEFyYyAmJiAhckFyYykgcmV0dXJu
OworCisgIGlmIChsQXJjID09PSByQXJjKSB7CisgICAgZGV0YWNoQ2lyY2xlKGxBcmMpOworICAg
IHJBcmMgPSBjcmVhdGVCZWFjaChsQXJjLnNpdGUpOworICAgIGJlYWNoZXMuaW5zZXJ0KG5ld0Fy
YywgckFyYyk7CisgICAgbmV3QXJjLmVkZ2UgPSByQXJjLmVkZ2UgPSBjcmVhdGVFZGdlKGxBcmMu
c2l0ZSwgbmV3QXJjLnNpdGUpOworICAgIGF0dGFjaENpcmNsZShsQXJjKTsKKyAgICBhdHRhY2hD
aXJjbGUockFyYyk7CisgICAgcmV0dXJuOworICB9CisKKyAgaWYgKCFyQXJjKSB7IC8vICYmIGxB
cmMKKyAgICBuZXdBcmMuZWRnZSA9IGNyZWF0ZUVkZ2UobEFyYy5zaXRlLCBuZXdBcmMuc2l0ZSk7
CisgICAgcmV0dXJuOworICB9CisKKyAgLy8gZWxzZSBsQXJjICE9PSByQXJjCisgIGRldGFjaENp
cmNsZShsQXJjKTsKKyAgZGV0YWNoQ2lyY2xlKHJBcmMpOworCisgIHZhciBsU2l0ZSA9IGxBcmMu
c2l0ZSwKKyAgICAgIGF4ID0gbFNpdGVbMF0sCisgICAgICBheSA9IGxTaXRlWzFdLAorICAgICAg
YnggPSBzaXRlWzBdIC0gYXgsCisgICAgICBieSA9IHNpdGVbMV0gLSBheSwKKyAgICAgIHJTaXRl
ID0gckFyYy5zaXRlLAorICAgICAgY3ggPSByU2l0ZVswXSAtIGF4LAorICAgICAgY3kgPSByU2l0
ZVsxXSAtIGF5LAorICAgICAgZCA9IDIgKiAoYnggKiBjeSAtIGJ5ICogY3gpLAorICAgICAgaGIg
PSBieCAqIGJ4ICsgYnkgKiBieSwKKyAgICAgIGhjID0gY3ggKiBjeCArIGN5ICogY3ksCisgICAg
ICB2ZXJ0ZXggPSBbKGN5ICogaGIgLSBieSAqIGhjKSAvIGQgKyBheCwgKGJ4ICogaGMgLSBjeCAq
IGhiKSAvIGQgKyBheV07CisKKyAgc2V0RWRnZUVuZChyQXJjLmVkZ2UsIGxTaXRlLCByU2l0ZSwg
dmVydGV4KTsKKyAgbmV3QXJjLmVkZ2UgPSBjcmVhdGVFZGdlKGxTaXRlLCBzaXRlLCBudWxsLCB2
ZXJ0ZXgpOworICByQXJjLmVkZ2UgPSBjcmVhdGVFZGdlKHNpdGUsIHJTaXRlLCBudWxsLCB2ZXJ0
ZXgpOworICBhdHRhY2hDaXJjbGUobEFyYyk7CisgIGF0dGFjaENpcmNsZShyQXJjKTsKK30KKwor
ZnVuY3Rpb24gbGVmdEJyZWFrUG9pbnQoYXJjLCBkaXJlY3RyaXgpIHsKKyAgdmFyIHNpdGUgPSBh
cmMuc2l0ZSwKKyAgICAgIHJmb2N4ID0gc2l0ZVswXSwKKyAgICAgIHJmb2N5ID0gc2l0ZVsxXSwK
KyAgICAgIHBieTIgPSByZm9jeSAtIGRpcmVjdHJpeDsKKworICBpZiAoIXBieTIpIHJldHVybiBy
Zm9jeDsKKworICB2YXIgbEFyYyA9IGFyYy5QOworICBpZiAoIWxBcmMpIHJldHVybiAtSW5maW5p
dHk7CisKKyAgc2l0ZSA9IGxBcmMuc2l0ZTsKKyAgdmFyIGxmb2N4ID0gc2l0ZVswXSwKKyAgICAg
IGxmb2N5ID0gc2l0ZVsxXSwKKyAgICAgIHBsYnkyID0gbGZvY3kgLSBkaXJlY3RyaXg7CisKKyAg
aWYgKCFwbGJ5MikgcmV0dXJuIGxmb2N4OworCisgIHZhciBobCA9IGxmb2N4IC0gcmZvY3gsCisg
ICAgICBhYnkyID0gMSAvIHBieTIgLSAxIC8gcGxieTIsCisgICAgICBiID0gaGwgLyBwbGJ5MjsK
KworICBpZiAoYWJ5MikgcmV0dXJuICgtYiArIE1hdGguc3FydChiICogYiAtIDIgKiBhYnkyICog
KGhsICogaGwgLyAoLTIgKiBwbGJ5MikgLSBsZm9jeSArIHBsYnkyIC8gMiArIHJmb2N5IC0gcGJ5
MiAvIDIpKSkgLyBhYnkyICsgcmZvY3g7CisKKyAgcmV0dXJuIChyZm9jeCArIGxmb2N4KSAvIDI7
Cit9CisKK2Z1bmN0aW9uIHJpZ2h0QnJlYWtQb2ludChhcmMsIGRpcmVjdHJpeCkgeworICB2YXIg
ckFyYyA9IGFyYy5OOworICBpZiAockFyYykgcmV0dXJuIGxlZnRCcmVha1BvaW50KHJBcmMsIGRp
cmVjdHJpeCk7CisgIHZhciBzaXRlID0gYXJjLnNpdGU7CisgIHJldHVybiBzaXRlWzFdID09PSBk
aXJlY3RyaXggPyBzaXRlWzBdIDogSW5maW5pdHk7Cit9CisKK3ZhciBlcHNpbG9uJDQgPSAxZS02
OwordmFyIGVwc2lsb24yJDIgPSAxZS0xMjsKK3ZhciBiZWFjaGVzOwordmFyIGNlbGxzOwordmFy
IGNpcmNsZXM7Cit2YXIgZWRnZXM7CisKK2Z1bmN0aW9uIHRyaWFuZ2xlQXJlYShhLCBiLCBjKSB7
CisgIHJldHVybiAoYVswXSAtIGNbMF0pICogKGJbMV0gLSBhWzFdKSAtIChhWzBdIC0gYlswXSkg
KiAoY1sxXSAtIGFbMV0pOworfQorCitmdW5jdGlvbiBsZXhpY29ncmFwaGljKGEsIGIpIHsKKyAg
cmV0dXJuIGJbMV0gLSBhWzFdCisgICAgICB8fCBiWzBdIC0gYVswXTsKK30KKworZnVuY3Rpb24g
RGlhZ3JhbShzaXRlcywgZXh0ZW50KSB7CisgIHZhciBzaXRlID0gc2l0ZXMuc29ydChsZXhpY29n
cmFwaGljKS5wb3AoKSwKKyAgICAgIHgsCisgICAgICB5LAorICAgICAgY2lyY2xlOworCisgIGVk
Z2VzID0gW107CisgIGNlbGxzID0gbmV3IEFycmF5KHNpdGVzLmxlbmd0aCk7CisgIGJlYWNoZXMg
PSBuZXcgUmVkQmxhY2tUcmVlOworICBjaXJjbGVzID0gbmV3IFJlZEJsYWNrVHJlZTsKKworICB3
aGlsZSAodHJ1ZSkgeworICAgIGNpcmNsZSA9IGZpcnN0Q2lyY2xlOworICAgIGlmIChzaXRlICYm
ICghY2lyY2xlIHx8IHNpdGVbMV0gPCBjaXJjbGUueSB8fCAoc2l0ZVsxXSA9PT0gY2lyY2xlLnkg
JiYgc2l0ZVswXSA8IGNpcmNsZS54KSkpIHsKKyAgICAgIGlmIChzaXRlWzBdICE9PSB4IHx8IHNp
dGVbMV0gIT09IHkpIHsKKyAgICAgICAgYWRkQmVhY2goc2l0ZSk7CisgICAgICAgIHggPSBzaXRl
WzBdLCB5ID0gc2l0ZVsxXTsKKyAgICAgIH0KKyAgICAgIHNpdGUgPSBzaXRlcy5wb3AoKTsKKyAg
ICB9IGVsc2UgaWYgKGNpcmNsZSkgeworICAgICAgcmVtb3ZlQmVhY2goY2lyY2xlLmFyYyk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgfQorCisgIHNvcnRDZWxsSGFsZmVk
Z2VzKCk7CisKKyAgaWYgKGV4dGVudCkgeworICAgIHZhciB4MCA9ICtleHRlbnRbMF1bMF0sCisg
ICAgICAgIHkwID0gK2V4dGVudFswXVsxXSwKKyAgICAgICAgeDEgPSArZXh0ZW50WzFdWzBdLAor
ICAgICAgICB5MSA9ICtleHRlbnRbMV1bMV07CisgICAgY2xpcEVkZ2VzKHgwLCB5MCwgeDEsIHkx
KTsKKyAgICBjbGlwQ2VsbHMoeDAsIHkwLCB4MSwgeTEpOworICB9CisKKyAgdGhpcy5lZGdlcyA9
IGVkZ2VzOworICB0aGlzLmNlbGxzID0gY2VsbHM7CisKKyAgYmVhY2hlcyA9CisgIGNpcmNsZXMg
PQorICBlZGdlcyA9CisgIGNlbGxzID0gbnVsbDsKK30KKworRGlhZ3JhbS5wcm90b3R5cGUgPSB7
CisgIGNvbnN0cnVjdG9yOiBEaWFncmFtLAorCisgIHBvbHlnb25zOiBmdW5jdGlvbigpIHsKKyAg
ICB2YXIgZWRnZXMgPSB0aGlzLmVkZ2VzOworCisgICAgcmV0dXJuIHRoaXMuY2VsbHMubWFwKGZ1
bmN0aW9uKGNlbGwpIHsKKyAgICAgIHZhciBwb2x5Z29uID0gY2VsbC5oYWxmZWRnZXMubWFwKGZ1
bmN0aW9uKGkpIHsgcmV0dXJuIGNlbGxIYWxmZWRnZVN0YXJ0KGNlbGwsIGVkZ2VzW2ldKTsgfSk7
CisgICAgICBwb2x5Z29uLmRhdGEgPSBjZWxsLnNpdGUuZGF0YTsKKyAgICAgIHJldHVybiBwb2x5
Z29uOworICAgIH0pOworICB9LAorCisgIHRyaWFuZ2xlczogZnVuY3Rpb24oKSB7CisgICAgdmFy
IHRyaWFuZ2xlcyA9IFtdLAorICAgICAgICBlZGdlcyA9IHRoaXMuZWRnZXM7CisKKyAgICB0aGlz
LmNlbGxzLmZvckVhY2goZnVuY3Rpb24oY2VsbCwgaSkgeworICAgICAgaWYgKCEobSA9IChoYWxm
ZWRnZXMgPSBjZWxsLmhhbGZlZGdlcykubGVuZ3RoKSkgcmV0dXJuOworICAgICAgdmFyIHNpdGUg
PSBjZWxsLnNpdGUsCisgICAgICAgICAgaGFsZmVkZ2VzLAorICAgICAgICAgIGogPSAtMSwKKyAg
ICAgICAgICBtLAorICAgICAgICAgIHMwLAorICAgICAgICAgIGUxID0gZWRnZXNbaGFsZmVkZ2Vz
W20gLSAxXV0sCisgICAgICAgICAgczEgPSBlMS5sZWZ0ID09PSBzaXRlID8gZTEucmlnaHQgOiBl
MS5sZWZ0OworCisgICAgICB3aGlsZSAoKytqIDwgbSkgeworICAgICAgICBzMCA9IHMxOworICAg
ICAgICBlMSA9IGVkZ2VzW2hhbGZlZGdlc1tqXV07CisgICAgICAgIHMxID0gZTEubGVmdCA9PT0g
c2l0ZSA/IGUxLnJpZ2h0IDogZTEubGVmdDsKKyAgICAgICAgaWYgKHMwICYmIHMxICYmIGkgPCBz
MC5pbmRleCAmJiBpIDwgczEuaW5kZXggJiYgdHJpYW5nbGVBcmVhKHNpdGUsIHMwLCBzMSkgPCAw
KSB7CisgICAgICAgICAgdHJpYW5nbGVzLnB1c2goW3NpdGUuZGF0YSwgczAuZGF0YSwgczEuZGF0
YV0pOworICAgICAgICB9CisgICAgICB9CisgICAgfSk7CisKKyAgICByZXR1cm4gdHJpYW5nbGVz
OworICB9LAorCisgIGxpbmtzOiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gdGhpcy5lZGdlcy5m
aWx0ZXIoZnVuY3Rpb24oZWRnZSkgeworICAgICAgcmV0dXJuIGVkZ2UucmlnaHQ7CisgICAgfSku
bWFwKGZ1bmN0aW9uKGVkZ2UpIHsKKyAgICAgIHJldHVybiB7CisgICAgICAgIHNvdXJjZTogZWRn
ZS5sZWZ0LmRhdGEsCisgICAgICAgIHRhcmdldDogZWRnZS5yaWdodC5kYXRhCisgICAgICB9Owor
ICAgIH0pOworICB9LAorCisgIGZpbmQ6IGZ1bmN0aW9uKHgsIHksIHJhZGl1cykgeworICAgIHZh
ciB0aGF0ID0gdGhpcywgaTAsIGkxID0gdGhhdC5fZm91bmQgfHwgMCwgbiA9IHRoYXQuY2VsbHMu
bGVuZ3RoLCBjZWxsOworCisgICAgLy8gVXNlIHRoZSBwcmV2aW91c2x5LWZvdW5kIGNlbGwsIG9y
IHN0YXJ0IHdpdGggYW4gYXJiaXRyYXJ5IG9uZS4KKyAgICB3aGlsZSAoIShjZWxsID0gdGhhdC5j
ZWxsc1tpMV0pKSBpZiAoKytpMSA+PSBuKSByZXR1cm4gbnVsbDsKKyAgICB2YXIgZHggPSB4IC0g
Y2VsbC5zaXRlWzBdLCBkeSA9IHkgLSBjZWxsLnNpdGVbMV0sIGQyID0gZHggKiBkeCArIGR5ICog
ZHk7CisKKyAgICAvLyBUcmF2ZXJzZSB0aGUgaGFsZi1lZGdlcyB0byBmaW5kIGEgY2xvc2VyIGNl
bGwsIGlmIGFueS4KKyAgICBkbyB7CisgICAgICBjZWxsID0gdGhhdC5jZWxsc1tpMCA9IGkxXSwg
aTEgPSBudWxsOworICAgICAgY2VsbC5oYWxmZWRnZXMuZm9yRWFjaChmdW5jdGlvbihlKSB7Cisg
ICAgICAgIHZhciBlZGdlID0gdGhhdC5lZGdlc1tlXSwgdiA9IGVkZ2UubGVmdDsKKyAgICAgICAg
aWYgKCh2ID09PSBjZWxsLnNpdGUgfHwgIXYpICYmICEodiA9IGVkZ2UucmlnaHQpKSByZXR1cm47
CisgICAgICAgIHZhciB2eCA9IHggLSB2WzBdLCB2eSA9IHkgLSB2WzFdLCB2MiA9IHZ4ICogdngg
KyB2eSAqIHZ5OworICAgICAgICBpZiAodjIgPCBkMikgZDIgPSB2MiwgaTEgPSB2LmluZGV4Owor
ICAgICAgfSk7CisgICAgfSB3aGlsZSAoaTEgIT09IG51bGwpOworCisgICAgdGhhdC5fZm91bmQg
PSBpMDsKKworICAgIHJldHVybiByYWRpdXMgPT0gbnVsbCB8fCBkMiA8PSByYWRpdXMgKiByYWRp
dXMgPyBjZWxsLnNpdGUgOiBudWxsOworICB9Cit9OworCitmdW5jdGlvbiB2b3Jvbm9pKCkgewor
ICB2YXIgeCA9IHgkNCwKKyAgICAgIHkgPSB5JDQsCisgICAgICBleHRlbnQgPSBudWxsOworCisg
IGZ1bmN0aW9uIHZvcm9ub2koZGF0YSkgeworICAgIHJldHVybiBuZXcgRGlhZ3JhbShkYXRhLm1h
cChmdW5jdGlvbihkLCBpKSB7CisgICAgICB2YXIgcyA9IFtNYXRoLnJvdW5kKHgoZCwgaSwgZGF0
YSkgLyBlcHNpbG9uJDQpICogZXBzaWxvbiQ0LCBNYXRoLnJvdW5kKHkoZCwgaSwgZGF0YSkgLyBl
cHNpbG9uJDQpICogZXBzaWxvbiQ0XTsKKyAgICAgIHMuaW5kZXggPSBpOworICAgICAgcy5kYXRh
ID0gZDsKKyAgICAgIHJldHVybiBzOworICAgIH0pLCBleHRlbnQpOworICB9CisKKyAgdm9yb25v
aS5wb2x5Z29ucyA9IGZ1bmN0aW9uKGRhdGEpIHsKKyAgICByZXR1cm4gdm9yb25vaShkYXRhKS5w
b2x5Z29ucygpOworICB9OworCisgIHZvcm9ub2kubGlua3MgPSBmdW5jdGlvbihkYXRhKSB7Cisg
ICAgcmV0dXJuIHZvcm9ub2koZGF0YSkubGlua3MoKTsKKyAgfTsKKworICB2b3Jvbm9pLnRyaWFu
Z2xlcyA9IGZ1bmN0aW9uKGRhdGEpIHsKKyAgICByZXR1cm4gdm9yb25vaShkYXRhKS50cmlhbmds
ZXMoKTsKKyAgfTsKKworICB2b3Jvbm9pLnggPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAoeCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0
YW50JGMoK18pLCB2b3Jvbm9pKSA6IHg7CisgIH07CisKKyAgdm9yb25vaS55ID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHkgPSB0eXBlb2YgXyA9PT0gImZ1
bmN0aW9uIiA/IF8gOiBjb25zdGFudCRjKCtfKSwgdm9yb25vaSkgOiB5OworICB9OworCisgIHZv
cm9ub2kuZXh0ZW50ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKGV4dGVudCA9IF8gPT0gbnVsbCA/IG51bGwgOiBbWytfWzBdWzBdLCArX1swXVsxXV0sIFsr
X1sxXVswXSwgK19bMV1bMV1dXSwgdm9yb25vaSkgOiBleHRlbnQgJiYgW1tleHRlbnRbMF1bMF0s
IGV4dGVudFswXVsxXV0sIFtleHRlbnRbMV1bMF0sIGV4dGVudFsxXVsxXV1dOworICB9OworCisg
IHZvcm9ub2kuc2l6ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0
aCA/IChleHRlbnQgPSBfID09IG51bGwgPyBudWxsIDogW1swLCAwXSwgWytfWzBdLCArX1sxXV1d
LCB2b3Jvbm9pKSA6IGV4dGVudCAmJiBbZXh0ZW50WzFdWzBdIC0gZXh0ZW50WzBdWzBdLCBleHRl
bnRbMV1bMV0gLSBleHRlbnRbMF1bMV1dOworICB9OworCisgIHJldHVybiB2b3Jvbm9pOworfQor
CitmdW5jdGlvbiBjb25zdGFudCRkKHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJl
dHVybiB4OworICB9OworfQorCitmdW5jdGlvbiBab29tRXZlbnQodGFyZ2V0LCB0eXBlLCB0cmFu
c2Zvcm0pIHsKKyAgdGhpcy50YXJnZXQgPSB0YXJnZXQ7CisgIHRoaXMudHlwZSA9IHR5cGU7Cisg
IHRoaXMudHJhbnNmb3JtID0gdHJhbnNmb3JtOworfQorCitmdW5jdGlvbiBUcmFuc2Zvcm0oaywg
eCwgeSkgeworICB0aGlzLmsgPSBrOworICB0aGlzLnggPSB4OworICB0aGlzLnkgPSB5OworfQor
CitUcmFuc2Zvcm0ucHJvdG90eXBlID0geworICBjb25zdHJ1Y3RvcjogVHJhbnNmb3JtLAorICBz
Y2FsZTogZnVuY3Rpb24oaykgeworICAgIHJldHVybiBrID09PSAxID8gdGhpcyA6IG5ldyBUcmFu
c2Zvcm0odGhpcy5rICogaywgdGhpcy54LCB0aGlzLnkpOworICB9LAorICB0cmFuc2xhdGU6IGZ1
bmN0aW9uKHgsIHkpIHsKKyAgICByZXR1cm4geCA9PT0gMCAmIHkgPT09IDAgPyB0aGlzIDogbmV3
IFRyYW5zZm9ybSh0aGlzLmssIHRoaXMueCArIHRoaXMuayAqIHgsIHRoaXMueSArIHRoaXMuayAq
IHkpOworICB9LAorICBhcHBseTogZnVuY3Rpb24ocG9pbnQpIHsKKyAgICByZXR1cm4gW3BvaW50
WzBdICogdGhpcy5rICsgdGhpcy54LCBwb2ludFsxXSAqIHRoaXMuayArIHRoaXMueV07CisgIH0s
CisgIGFwcGx5WDogZnVuY3Rpb24oeCkgeworICAgIHJldHVybiB4ICogdGhpcy5rICsgdGhpcy54
OworICB9LAorICBhcHBseVk6IGZ1bmN0aW9uKHkpIHsKKyAgICByZXR1cm4geSAqIHRoaXMuayAr
IHRoaXMueTsKKyAgfSwKKyAgaW52ZXJ0OiBmdW5jdGlvbihsb2NhdGlvbikgeworICAgIHJldHVy
biBbKGxvY2F0aW9uWzBdIC0gdGhpcy54KSAvIHRoaXMuaywgKGxvY2F0aW9uWzFdIC0gdGhpcy55
KSAvIHRoaXMua107CisgIH0sCisgIGludmVydFg6IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4g
KHggLSB0aGlzLngpIC8gdGhpcy5rOworICB9LAorICBpbnZlcnRZOiBmdW5jdGlvbih5KSB7Cisg
ICAgcmV0dXJuICh5IC0gdGhpcy55KSAvIHRoaXMuazsKKyAgfSwKKyAgcmVzY2FsZVg6IGZ1bmN0
aW9uKHgpIHsKKyAgICByZXR1cm4geC5jb3B5KCkuZG9tYWluKHgucmFuZ2UoKS5tYXAodGhpcy5p
bnZlcnRYLCB0aGlzKS5tYXAoeC5pbnZlcnQsIHgpKTsKKyAgfSwKKyAgcmVzY2FsZVk6IGZ1bmN0
aW9uKHkpIHsKKyAgICByZXR1cm4geS5jb3B5KCkuZG9tYWluKHkucmFuZ2UoKS5tYXAodGhpcy5p
bnZlcnRZLCB0aGlzKS5tYXAoeS5pbnZlcnQsIHkpKTsKKyAgfSwKKyAgdG9TdHJpbmc6IGZ1bmN0
aW9uKCkgeworICAgIHJldHVybiAidHJhbnNsYXRlKCIgKyB0aGlzLnggKyAiLCIgKyB0aGlzLnkg
KyAiKSBzY2FsZSgiICsgdGhpcy5rICsgIikiOworICB9Cit9OworCit2YXIgaWRlbnRpdHkkOSA9
IG5ldyBUcmFuc2Zvcm0oMSwgMCwgMCk7CisKK3RyYW5zZm9ybSQxLnByb3RvdHlwZSA9IFRyYW5z
Zm9ybS5wcm90b3R5cGU7CisKK2Z1bmN0aW9uIHRyYW5zZm9ybSQxKG5vZGUpIHsKKyAgd2hpbGUg
KCFub2RlLl9fem9vbSkgaWYgKCEobm9kZSA9IG5vZGUucGFyZW50Tm9kZSkpIHJldHVybiBpZGVu
dGl0eSQ5OworICByZXR1cm4gbm9kZS5fX3pvb207Cit9CisKK2Z1bmN0aW9uIG5vcHJvcGFnYXRp
b24kMigpIHsKKyAgZXhwb3J0cy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsKK30K
KworZnVuY3Rpb24gbm9ldmVudCQyKCkgeworICBleHBvcnRzLmV2ZW50LnByZXZlbnREZWZhdWx0
KCk7CisgIGV4cG9ydHMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7Cit9CisKKy8v
IElnbm9yZSByaWdodC1jbGljaywgc2luY2UgdGhhdCBzaG91bGQgb3BlbiB0aGUgY29udGV4dCBt
ZW51LgorZnVuY3Rpb24gZGVmYXVsdEZpbHRlciQyKCkgeworICByZXR1cm4gIWV4cG9ydHMuZXZl
bnQuY3RybEtleSAmJiAhZXhwb3J0cy5ldmVudC5idXR0b247Cit9CisKK2Z1bmN0aW9uIGRlZmF1
bHRFeHRlbnQkMSgpIHsKKyAgdmFyIGUgPSB0aGlzOworICBpZiAoZSBpbnN0YW5jZW9mIFNWR0Vs
ZW1lbnQpIHsKKyAgICBlID0gZS5vd25lclNWR0VsZW1lbnQgfHwgZTsKKyAgICBpZiAoZS5oYXNB
dHRyaWJ1dGUoInZpZXdCb3giKSkgeworICAgICAgZSA9IGUudmlld0JveC5iYXNlVmFsOworICAg
ICAgcmV0dXJuIFtbZS54LCBlLnldLCBbZS54ICsgZS53aWR0aCwgZS55ICsgZS5oZWlnaHRdXTsK
KyAgICB9CisgICAgcmV0dXJuIFtbMCwgMF0sIFtlLndpZHRoLmJhc2VWYWwudmFsdWUsIGUuaGVp
Z2h0LmJhc2VWYWwudmFsdWVdXTsKKyAgfQorICByZXR1cm4gW1swLCAwXSwgW2UuY2xpZW50V2lk
dGgsIGUuY2xpZW50SGVpZ2h0XV07Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRUcmFuc2Zvcm0oKSB7
CisgIHJldHVybiB0aGlzLl9fem9vbSB8fCBpZGVudGl0eSQ5OworfQorCitmdW5jdGlvbiBkZWZh
dWx0V2hlZWxEZWx0YSgpIHsKKyAgcmV0dXJuIC1leHBvcnRzLmV2ZW50LmRlbHRhWSAqIChleHBv
cnRzLmV2ZW50LmRlbHRhTW9kZSA9PT0gMSA/IDAuMDUgOiBleHBvcnRzLmV2ZW50LmRlbHRhTW9k
ZSA/IDEgOiAwLjAwMik7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRUb3VjaGFibGUkMigpIHsKKyAg
cmV0dXJuIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyB8fCAoIm9udG91Y2hzdGFydCIgaW4gdGhp
cyk7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRDb25zdHJhaW4odHJhbnNmb3JtLCBleHRlbnQsIHRy
YW5zbGF0ZUV4dGVudCkgeworICB2YXIgZHgwID0gdHJhbnNmb3JtLmludmVydFgoZXh0ZW50WzBd
WzBdKSAtIHRyYW5zbGF0ZUV4dGVudFswXVswXSwKKyAgICAgIGR4MSA9IHRyYW5zZm9ybS5pbnZl
cnRYKGV4dGVudFsxXVswXSkgLSB0cmFuc2xhdGVFeHRlbnRbMV1bMF0sCisgICAgICBkeTAgPSB0
cmFuc2Zvcm0uaW52ZXJ0WShleHRlbnRbMF1bMV0pIC0gdHJhbnNsYXRlRXh0ZW50WzBdWzFdLAor
ICAgICAgZHkxID0gdHJhbnNmb3JtLmludmVydFkoZXh0ZW50WzFdWzFdKSAtIHRyYW5zbGF0ZUV4
dGVudFsxXVsxXTsKKyAgcmV0dXJuIHRyYW5zZm9ybS50cmFuc2xhdGUoCisgICAgZHgxID4gZHgw
ID8gKGR4MCArIGR4MSkgLyAyIDogTWF0aC5taW4oMCwgZHgwKSB8fCBNYXRoLm1heCgwLCBkeDEp
LAorICAgIGR5MSA+IGR5MCA/IChkeTAgKyBkeTEpIC8gMiA6IE1hdGgubWluKDAsIGR5MCkgfHwg
TWF0aC5tYXgoMCwgZHkxKQorICApOworfQorCitmdW5jdGlvbiB6b29tKCkgeworICB2YXIgZmls
dGVyID0gZGVmYXVsdEZpbHRlciQyLAorICAgICAgZXh0ZW50ID0gZGVmYXVsdEV4dGVudCQxLAor
ICAgICAgY29uc3RyYWluID0gZGVmYXVsdENvbnN0cmFpbiwKKyAgICAgIHdoZWVsRGVsdGEgPSBk
ZWZhdWx0V2hlZWxEZWx0YSwKKyAgICAgIHRvdWNoYWJsZSA9IGRlZmF1bHRUb3VjaGFibGUkMiwK
KyAgICAgIHNjYWxlRXh0ZW50ID0gWzAsIEluZmluaXR5XSwKKyAgICAgIHRyYW5zbGF0ZUV4dGVu
dCA9IFtbLUluZmluaXR5LCAtSW5maW5pdHldLCBbSW5maW5pdHksIEluZmluaXR5XV0sCisgICAg
ICBkdXJhdGlvbiA9IDI1MCwKKyAgICAgIGludGVycG9sYXRlID0gaW50ZXJwb2xhdGVab29tLAor
ICAgICAgbGlzdGVuZXJzID0gZGlzcGF0Y2goInN0YXJ0IiwgInpvb20iLCAiZW5kIiksCisgICAg
ICB0b3VjaHN0YXJ0aW5nLAorICAgICAgdG91Y2hlbmRpbmcsCisgICAgICB0b3VjaERlbGF5ID0g
NTAwLAorICAgICAgd2hlZWxEZWxheSA9IDE1MCwKKyAgICAgIGNsaWNrRGlzdGFuY2UyID0gMDsK
KworICBmdW5jdGlvbiB6b29tKHNlbGVjdGlvbikgeworICAgIHNlbGVjdGlvbgorICAgICAgICAu
cHJvcGVydHkoIl9fem9vbSIsIGRlZmF1bHRUcmFuc2Zvcm0pCisgICAgICAgIC5vbigid2hlZWwu
em9vbSIsIHdoZWVsZWQpCisgICAgICAgIC5vbigibW91c2Vkb3duLnpvb20iLCBtb3VzZWRvd25l
ZCkKKyAgICAgICAgLm9uKCJkYmxjbGljay56b29tIiwgZGJsY2xpY2tlZCkKKyAgICAgIC5maWx0
ZXIodG91Y2hhYmxlKQorICAgICAgICAub24oInRvdWNoc3RhcnQuem9vbSIsIHRvdWNoc3RhcnRl
ZCkKKyAgICAgICAgLm9uKCJ0b3VjaG1vdmUuem9vbSIsIHRvdWNobW92ZWQpCisgICAgICAgIC5v
bigidG91Y2hlbmQuem9vbSB0b3VjaGNhbmNlbC56b29tIiwgdG91Y2hlbmRlZCkKKyAgICAgICAg
LnN0eWxlKCJ0b3VjaC1hY3Rpb24iLCAibm9uZSIpCisgICAgICAgIC5zdHlsZSgiLXdlYmtpdC10
YXAtaGlnaGxpZ2h0LWNvbG9yIiwgInJnYmEoMCwwLDAsMCkiKTsKKyAgfQorCisgIHpvb20udHJh
bnNmb3JtID0gZnVuY3Rpb24oY29sbGVjdGlvbiwgdHJhbnNmb3JtLCBwb2ludCkgeworICAgIHZh
ciBzZWxlY3Rpb24gPSBjb2xsZWN0aW9uLnNlbGVjdGlvbiA/IGNvbGxlY3Rpb24uc2VsZWN0aW9u
KCkgOiBjb2xsZWN0aW9uOworICAgIHNlbGVjdGlvbi5wcm9wZXJ0eSgiX196b29tIiwgZGVmYXVs
dFRyYW5zZm9ybSk7CisgICAgaWYgKGNvbGxlY3Rpb24gIT09IHNlbGVjdGlvbikgeworICAgICAg
c2NoZWR1bGUoY29sbGVjdGlvbiwgdHJhbnNmb3JtLCBwb2ludCk7CisgICAgfSBlbHNlIHsKKyAg
ICAgIHNlbGVjdGlvbi5pbnRlcnJ1cHQoKS5lYWNoKGZ1bmN0aW9uKCkgeworICAgICAgICBnZXN0
dXJlKHRoaXMsIGFyZ3VtZW50cykKKyAgICAgICAgICAgIC5zdGFydCgpCisgICAgICAgICAgICAu
em9vbShudWxsLCB0eXBlb2YgdHJhbnNmb3JtID09PSAiZnVuY3Rpb24iID8gdHJhbnNmb3JtLmFw
cGx5KHRoaXMsIGFyZ3VtZW50cykgOiB0cmFuc2Zvcm0pCisgICAgICAgICAgICAuZW5kKCk7Cisg
ICAgICB9KTsKKyAgICB9CisgIH07CisKKyAgem9vbS5zY2FsZUJ5ID0gZnVuY3Rpb24oc2VsZWN0
aW9uLCBrLCBwKSB7CisgICAgem9vbS5zY2FsZVRvKHNlbGVjdGlvbiwgZnVuY3Rpb24oKSB7Cisg
ICAgICB2YXIgazAgPSB0aGlzLl9fem9vbS5rLAorICAgICAgICAgIGsxID0gdHlwZW9mIGsgPT09
ICJmdW5jdGlvbiIgPyBrLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgOiBrOworICAgICAgcmV0dXJu
IGswICogazE7CisgICAgfSwgcCk7CisgIH07CisKKyAgem9vbS5zY2FsZVRvID0gZnVuY3Rpb24o
c2VsZWN0aW9uLCBrLCBwKSB7CisgICAgem9vbS50cmFuc2Zvcm0oc2VsZWN0aW9uLCBmdW5jdGlv
bigpIHsKKyAgICAgIHZhciBlID0gZXh0ZW50LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksCisgICAg
ICAgICAgdDAgPSB0aGlzLl9fem9vbSwKKyAgICAgICAgICBwMCA9IHAgPT0gbnVsbCA/IGNlbnRy
b2lkKGUpIDogdHlwZW9mIHAgPT09ICJmdW5jdGlvbiIgPyBwLmFwcGx5KHRoaXMsIGFyZ3VtZW50
cykgOiBwLAorICAgICAgICAgIHAxID0gdDAuaW52ZXJ0KHAwKSwKKyAgICAgICAgICBrMSA9IHR5
cGVvZiBrID09PSAiZnVuY3Rpb24iID8gay5hcHBseSh0aGlzLCBhcmd1bWVudHMpIDogazsKKyAg
ICAgIHJldHVybiBjb25zdHJhaW4odHJhbnNsYXRlKHNjYWxlKHQwLCBrMSksIHAwLCBwMSksIGUs
IHRyYW5zbGF0ZUV4dGVudCk7CisgICAgfSwgcCk7CisgIH07CisKKyAgem9vbS50cmFuc2xhdGVC
eSA9IGZ1bmN0aW9uKHNlbGVjdGlvbiwgeCwgeSkgeworICAgIHpvb20udHJhbnNmb3JtKHNlbGVj
dGlvbiwgZnVuY3Rpb24oKSB7CisgICAgICByZXR1cm4gY29uc3RyYWluKHRoaXMuX196b29tLnRy
YW5zbGF0ZSgKKyAgICAgICAgdHlwZW9mIHggPT09ICJmdW5jdGlvbiIgPyB4LmFwcGx5KHRoaXMs
IGFyZ3VtZW50cykgOiB4LAorICAgICAgICB0eXBlb2YgeSA9PT0gImZ1bmN0aW9uIiA/IHkuYXBw
bHkodGhpcywgYXJndW1lbnRzKSA6IHkKKyAgICAgICksIGV4dGVudC5hcHBseSh0aGlzLCBhcmd1
bWVudHMpLCB0cmFuc2xhdGVFeHRlbnQpOworICAgIH0pOworICB9OworCisgIHpvb20udHJhbnNs
YXRlVG8gPSBmdW5jdGlvbihzZWxlY3Rpb24sIHgsIHksIHApIHsKKyAgICB6b29tLnRyYW5zZm9y
bShzZWxlY3Rpb24sIGZ1bmN0aW9uKCkgeworICAgICAgdmFyIGUgPSBleHRlbnQuYXBwbHkodGhp
cywgYXJndW1lbnRzKSwKKyAgICAgICAgICB0ID0gdGhpcy5fX3pvb20sCisgICAgICAgICAgcDAg
PSBwID09IG51bGwgPyBjZW50cm9pZChlKSA6IHR5cGVvZiBwID09PSAiZnVuY3Rpb24iID8gcC5h
cHBseSh0aGlzLCBhcmd1bWVudHMpIDogcDsKKyAgICAgIHJldHVybiBjb25zdHJhaW4oaWRlbnRp
dHkkOS50cmFuc2xhdGUocDBbMF0sIHAwWzFdKS5zY2FsZSh0LmspLnRyYW5zbGF0ZSgKKyAgICAg
ICAgdHlwZW9mIHggPT09ICJmdW5jdGlvbiIgPyAteC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIDog
LXgsCisgICAgICAgIHR5cGVvZiB5ID09PSAiZnVuY3Rpb24iID8gLXkuYXBwbHkodGhpcywgYXJn
dW1lbnRzKSA6IC15CisgICAgICApLCBlLCB0cmFuc2xhdGVFeHRlbnQpOworICAgIH0sIHApOwor
ICB9OworCisgIGZ1bmN0aW9uIHNjYWxlKHRyYW5zZm9ybSwgaykgeworICAgIGsgPSBNYXRoLm1h
eChzY2FsZUV4dGVudFswXSwgTWF0aC5taW4oc2NhbGVFeHRlbnRbMV0sIGspKTsKKyAgICByZXR1
cm4gayA9PT0gdHJhbnNmb3JtLmsgPyB0cmFuc2Zvcm0gOiBuZXcgVHJhbnNmb3JtKGssIHRyYW5z
Zm9ybS54LCB0cmFuc2Zvcm0ueSk7CisgIH0KKworICBmdW5jdGlvbiB0cmFuc2xhdGUodHJhbnNm
b3JtLCBwMCwgcDEpIHsKKyAgICB2YXIgeCA9IHAwWzBdIC0gcDFbMF0gKiB0cmFuc2Zvcm0uaywg
eSA9IHAwWzFdIC0gcDFbMV0gKiB0cmFuc2Zvcm0uazsKKyAgICByZXR1cm4geCA9PT0gdHJhbnNm
b3JtLnggJiYgeSA9PT0gdHJhbnNmb3JtLnkgPyB0cmFuc2Zvcm0gOiBuZXcgVHJhbnNmb3JtKHRy
YW5zZm9ybS5rLCB4LCB5KTsKKyAgfQorCisgIGZ1bmN0aW9uIGNlbnRyb2lkKGV4dGVudCkgewor
ICAgIHJldHVybiBbKCtleHRlbnRbMF1bMF0gKyArZXh0ZW50WzFdWzBdKSAvIDIsICgrZXh0ZW50
WzBdWzFdICsgK2V4dGVudFsxXVsxXSkgLyAyXTsKKyAgfQorCisgIGZ1bmN0aW9uIHNjaGVkdWxl
KHRyYW5zaXRpb24sIHRyYW5zZm9ybSwgcG9pbnQpIHsKKyAgICB0cmFuc2l0aW9uCisgICAgICAg
IC5vbigic3RhcnQuem9vbSIsIGZ1bmN0aW9uKCkgeyBnZXN0dXJlKHRoaXMsIGFyZ3VtZW50cyku
c3RhcnQoKTsgfSkKKyAgICAgICAgLm9uKCJpbnRlcnJ1cHQuem9vbSBlbmQuem9vbSIsIGZ1bmN0
aW9uKCkgeyBnZXN0dXJlKHRoaXMsIGFyZ3VtZW50cykuZW5kKCk7IH0pCisgICAgICAgIC50d2Vl
bigiem9vbSIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgIHZhciB0aGF0ID0gdGhpcywKKyAgICAg
ICAgICAgICAgYXJncyA9IGFyZ3VtZW50cywKKyAgICAgICAgICAgICAgZyA9IGdlc3R1cmUodGhh
dCwgYXJncyksCisgICAgICAgICAgICAgIGUgPSBleHRlbnQuYXBwbHkodGhhdCwgYXJncyksCisg
ICAgICAgICAgICAgIHAgPSBwb2ludCA9PSBudWxsID8gY2VudHJvaWQoZSkgOiB0eXBlb2YgcG9p
bnQgPT09ICJmdW5jdGlvbiIgPyBwb2ludC5hcHBseSh0aGF0LCBhcmdzKSA6IHBvaW50LAorICAg
ICAgICAgICAgICB3ID0gTWF0aC5tYXgoZVsxXVswXSAtIGVbMF1bMF0sIGVbMV1bMV0gLSBlWzBd
WzFdKSwKKyAgICAgICAgICAgICAgYSA9IHRoYXQuX196b29tLAorICAgICAgICAgICAgICBiID0g
dHlwZW9mIHRyYW5zZm9ybSA9PT0gImZ1bmN0aW9uIiA/IHRyYW5zZm9ybS5hcHBseSh0aGF0LCBh
cmdzKSA6IHRyYW5zZm9ybSwKKyAgICAgICAgICAgICAgaSA9IGludGVycG9sYXRlKGEuaW52ZXJ0
KHApLmNvbmNhdCh3IC8gYS5rKSwgYi5pbnZlcnQocCkuY29uY2F0KHcgLyBiLmspKTsKKyAgICAg
ICAgICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgICAgICAgICAgaWYgKHQgPT09IDEpIHQgPSBi
OyAvLyBBdm9pZCByb3VuZGluZyBlcnJvciBvbiBlbmQuCisgICAgICAgICAgICBlbHNlIHsgdmFy
IGwgPSBpKHQpLCBrID0gdyAvIGxbMl07IHQgPSBuZXcgVHJhbnNmb3JtKGssIHBbMF0gLSBsWzBd
ICogaywgcFsxXSAtIGxbMV0gKiBrKTsgfQorICAgICAgICAgICAgZy56b29tKG51bGwsIHQpOwor
ICAgICAgICAgIH07CisgICAgICAgIH0pOworICB9CisKKyAgZnVuY3Rpb24gZ2VzdHVyZSh0aGF0
LCBhcmdzLCBjbGVhbikgeworICAgIHJldHVybiAoIWNsZWFuICYmIHRoYXQuX196b29taW5nKSB8
fCBuZXcgR2VzdHVyZSh0aGF0LCBhcmdzKTsKKyAgfQorCisgIGZ1bmN0aW9uIEdlc3R1cmUodGhh
dCwgYXJncykgeworICAgIHRoaXMudGhhdCA9IHRoYXQ7CisgICAgdGhpcy5hcmdzID0gYXJnczsK
KyAgICB0aGlzLmFjdGl2ZSA9IDA7CisgICAgdGhpcy5leHRlbnQgPSBleHRlbnQuYXBwbHkodGhh
dCwgYXJncyk7CisgICAgdGhpcy50YXBzID0gMDsKKyAgfQorCisgIEdlc3R1cmUucHJvdG90eXBl
ID0geworICAgIHN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICAgIGlmICgrK3RoaXMuYWN0aXZlID09
PSAxKSB7CisgICAgICAgIHRoaXMudGhhdC5fX3pvb21pbmcgPSB0aGlzOworICAgICAgICB0aGlz
LmVtaXQoInN0YXJ0Iik7CisgICAgICB9CisgICAgICByZXR1cm4gdGhpczsKKyAgICB9LAorICAg
IHpvb206IGZ1bmN0aW9uKGtleSwgdHJhbnNmb3JtKSB7CisgICAgICBpZiAodGhpcy5tb3VzZSAm
JiBrZXkgIT09ICJtb3VzZSIpIHRoaXMubW91c2VbMV0gPSB0cmFuc2Zvcm0uaW52ZXJ0KHRoaXMu
bW91c2VbMF0pOworICAgICAgaWYgKHRoaXMudG91Y2gwICYmIGtleSAhPT0gInRvdWNoIikgdGhp
cy50b3VjaDBbMV0gPSB0cmFuc2Zvcm0uaW52ZXJ0KHRoaXMudG91Y2gwWzBdKTsKKyAgICAgIGlm
ICh0aGlzLnRvdWNoMSAmJiBrZXkgIT09ICJ0b3VjaCIpIHRoaXMudG91Y2gxWzFdID0gdHJhbnNm
b3JtLmludmVydCh0aGlzLnRvdWNoMVswXSk7CisgICAgICB0aGlzLnRoYXQuX196b29tID0gdHJh
bnNmb3JtOworICAgICAgdGhpcy5lbWl0KCJ6b29tIik7CisgICAgICByZXR1cm4gdGhpczsKKyAg
ICB9LAorICAgIGVuZDogZnVuY3Rpb24oKSB7CisgICAgICBpZiAoLS10aGlzLmFjdGl2ZSA9PT0g
MCkgeworICAgICAgICBkZWxldGUgdGhpcy50aGF0Ll9fem9vbWluZzsKKyAgICAgICAgdGhpcy5l
bWl0KCJlbmQiKTsKKyAgICAgIH0KKyAgICAgIHJldHVybiB0aGlzOworICAgIH0sCisgICAgZW1p
dDogZnVuY3Rpb24odHlwZSkgeworICAgICAgY3VzdG9tRXZlbnQobmV3IFpvb21FdmVudCh6b29t
LCB0eXBlLCB0aGlzLnRoYXQuX196b29tKSwgbGlzdGVuZXJzLmFwcGx5LCBsaXN0ZW5lcnMsIFt0
eXBlLCB0aGlzLnRoYXQsIHRoaXMuYXJnc10pOworICAgIH0KKyAgfTsKKworICBmdW5jdGlvbiB3
aGVlbGVkKCkgeworICAgIGlmICghZmlsdGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpIHJldHVy
bjsKKyAgICB2YXIgZyA9IGdlc3R1cmUodGhpcywgYXJndW1lbnRzKSwKKyAgICAgICAgdCA9IHRo
aXMuX196b29tLAorICAgICAgICBrID0gTWF0aC5tYXgoc2NhbGVFeHRlbnRbMF0sIE1hdGgubWlu
KHNjYWxlRXh0ZW50WzFdLCB0LmsgKiBNYXRoLnBvdygyLCB3aGVlbERlbHRhLmFwcGx5KHRoaXMs
IGFyZ3VtZW50cykpKSksCisgICAgICAgIHAgPSBtb3VzZSh0aGlzKTsKKworICAgIC8vIElmIHRo
ZSBtb3VzZSBpcyBpbiB0aGUgc2FtZSBsb2NhdGlvbiBhcyBiZWZvcmUsIHJldXNlIGl0LgorICAg
IC8vIElmIHRoZXJlIHdlcmUgcmVjZW50IHdoZWVsIGV2ZW50cywgcmVzZXQgdGhlIHdoZWVsIGlk
bGUgdGltZW91dC4KKyAgICBpZiAoZy53aGVlbCkgeworICAgICAgaWYgKGcubW91c2VbMF1bMF0g
IT09IHBbMF0gfHwgZy5tb3VzZVswXVsxXSAhPT0gcFsxXSkgeworICAgICAgICBnLm1vdXNlWzFd
ID0gdC5pbnZlcnQoZy5tb3VzZVswXSA9IHApOworICAgICAgfQorICAgICAgY2xlYXJUaW1lb3V0
KGcud2hlZWwpOworICAgIH0KKworICAgIC8vIElmIHRoaXMgd2hlZWwgZXZlbnQgd29u4oCZdCB0
cmlnZ2VyIGEgdHJhbnNmb3JtIGNoYW5nZSwgaWdub3JlIGl0LgorICAgIGVsc2UgaWYgKHQuayA9
PT0gaykgcmV0dXJuOworCisgICAgLy8gT3RoZXJ3aXNlLCBjYXB0dXJlIHRoZSBtb3VzZSBwb2lu
dCBhbmQgbG9jYXRpb24gYXQgdGhlIHN0YXJ0LgorICAgIGVsc2UgeworICAgICAgZy5tb3VzZSA9
IFtwLCB0LmludmVydChwKV07CisgICAgICBpbnRlcnJ1cHQodGhpcyk7CisgICAgICBnLnN0YXJ0
KCk7CisgICAgfQorCisgICAgbm9ldmVudCQyKCk7CisgICAgZy53aGVlbCA9IHNldFRpbWVvdXQo
d2hlZWxpZGxlZCwgd2hlZWxEZWxheSk7CisgICAgZy56b29tKCJtb3VzZSIsIGNvbnN0cmFpbih0
cmFuc2xhdGUoc2NhbGUodCwgayksIGcubW91c2VbMF0sIGcubW91c2VbMV0pLCBnLmV4dGVudCwg
dHJhbnNsYXRlRXh0ZW50KSk7CisKKyAgICBmdW5jdGlvbiB3aGVlbGlkbGVkKCkgeworICAgICAg
Zy53aGVlbCA9IG51bGw7CisgICAgICBnLmVuZCgpOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9u
IG1vdXNlZG93bmVkKCkgeworICAgIGlmICh0b3VjaGVuZGluZyB8fCAhZmlsdGVyLmFwcGx5KHRo
aXMsIGFyZ3VtZW50cykpIHJldHVybjsKKyAgICB2YXIgZyA9IGdlc3R1cmUodGhpcywgYXJndW1l
bnRzLCB0cnVlKSwKKyAgICAgICAgdiA9IHNlbGVjdChleHBvcnRzLmV2ZW50LnZpZXcpLm9uKCJt
b3VzZW1vdmUuem9vbSIsIG1vdXNlbW92ZWQsIHRydWUpLm9uKCJtb3VzZXVwLnpvb20iLCBtb3Vz
ZXVwcGVkLCB0cnVlKSwKKyAgICAgICAgcCA9IG1vdXNlKHRoaXMpLAorICAgICAgICB4MCA9IGV4
cG9ydHMuZXZlbnQuY2xpZW50WCwKKyAgICAgICAgeTAgPSBleHBvcnRzLmV2ZW50LmNsaWVudFk7
CisKKyAgICBkcmFnRGlzYWJsZShleHBvcnRzLmV2ZW50LnZpZXcpOworICAgIG5vcHJvcGFnYXRp
b24kMigpOworICAgIGcubW91c2UgPSBbcCwgdGhpcy5fX3pvb20uaW52ZXJ0KHApXTsKKyAgICBp
bnRlcnJ1cHQodGhpcyk7CisgICAgZy5zdGFydCgpOworCisgICAgZnVuY3Rpb24gbW91c2Vtb3Zl
ZCgpIHsKKyAgICAgIG5vZXZlbnQkMigpOworICAgICAgaWYgKCFnLm1vdmVkKSB7CisgICAgICAg
IHZhciBkeCA9IGV4cG9ydHMuZXZlbnQuY2xpZW50WCAtIHgwLCBkeSA9IGV4cG9ydHMuZXZlbnQu
Y2xpZW50WSAtIHkwOworICAgICAgICBnLm1vdmVkID0gZHggKiBkeCArIGR5ICogZHkgPiBjbGlj
a0Rpc3RhbmNlMjsKKyAgICAgIH0KKyAgICAgIGcuem9vbSgibW91c2UiLCBjb25zdHJhaW4odHJh
bnNsYXRlKGcudGhhdC5fX3pvb20sIGcubW91c2VbMF0gPSBtb3VzZShnLnRoYXQpLCBnLm1vdXNl
WzFdKSwgZy5leHRlbnQsIHRyYW5zbGF0ZUV4dGVudCkpOworICAgIH0KKworICAgIGZ1bmN0aW9u
IG1vdXNldXBwZWQoKSB7CisgICAgICB2Lm9uKCJtb3VzZW1vdmUuem9vbSBtb3VzZXVwLnpvb20i
LCBudWxsKTsKKyAgICAgIHllc2RyYWcoZXhwb3J0cy5ldmVudC52aWV3LCBnLm1vdmVkKTsKKyAg
ICAgIG5vZXZlbnQkMigpOworICAgICAgZy5lbmQoKTsKKyAgICB9CisgIH0KKworICBmdW5jdGlv
biBkYmxjbGlja2VkKCkgeworICAgIGlmICghZmlsdGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykp
IHJldHVybjsKKyAgICB2YXIgdDAgPSB0aGlzLl9fem9vbSwKKyAgICAgICAgcDAgPSBtb3VzZSh0
aGlzKSwKKyAgICAgICAgcDEgPSB0MC5pbnZlcnQocDApLAorICAgICAgICBrMSA9IHQwLmsgKiAo
ZXhwb3J0cy5ldmVudC5zaGlmdEtleSA/IDAuNSA6IDIpLAorICAgICAgICB0MSA9IGNvbnN0cmFp
bih0cmFuc2xhdGUoc2NhbGUodDAsIGsxKSwgcDAsIHAxKSwgZXh0ZW50LmFwcGx5KHRoaXMsIGFy
Z3VtZW50cyksIHRyYW5zbGF0ZUV4dGVudCk7CisKKyAgICBub2V2ZW50JDIoKTsKKyAgICBpZiAo
ZHVyYXRpb24gPiAwKSBzZWxlY3QodGhpcykudHJhbnNpdGlvbigpLmR1cmF0aW9uKGR1cmF0aW9u
KS5jYWxsKHNjaGVkdWxlLCB0MSwgcDApOworICAgIGVsc2Ugc2VsZWN0KHRoaXMpLmNhbGwoem9v
bS50cmFuc2Zvcm0sIHQxKTsKKyAgfQorCisgIGZ1bmN0aW9uIHRvdWNoc3RhcnRlZCgpIHsKKyAg
ICBpZiAoIWZpbHRlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSByZXR1cm47CisgICAgdmFyIHRv
dWNoZXMgPSBleHBvcnRzLmV2ZW50LnRvdWNoZXMsCisgICAgICAgIG4gPSB0b3VjaGVzLmxlbmd0
aCwKKyAgICAgICAgZyA9IGdlc3R1cmUodGhpcywgYXJndW1lbnRzLCBleHBvcnRzLmV2ZW50LmNo
YW5nZWRUb3VjaGVzLmxlbmd0aCA9PT0gbiksCisgICAgICAgIHN0YXJ0ZWQsIGksIHQsIHA7CisK
KyAgICBub3Byb3BhZ2F0aW9uJDIoKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7Cisg
ICAgICB0ID0gdG91Y2hlc1tpXSwgcCA9IHRvdWNoKHRoaXMsIHRvdWNoZXMsIHQuaWRlbnRpZmll
cik7CisgICAgICBwID0gW3AsIHRoaXMuX196b29tLmludmVydChwKSwgdC5pZGVudGlmaWVyXTsK
KyAgICAgIGlmICghZy50b3VjaDApIGcudG91Y2gwID0gcCwgc3RhcnRlZCA9IHRydWUsIGcudGFw
cyA9IDEgKyAhIXRvdWNoc3RhcnRpbmc7CisgICAgICBlbHNlIGlmICghZy50b3VjaDEgJiYgZy50
b3VjaDBbMl0gIT09IHBbMl0pIGcudG91Y2gxID0gcCwgZy50YXBzID0gMDsKKyAgICB9CisKKyAg
ICBpZiAodG91Y2hzdGFydGluZykgdG91Y2hzdGFydGluZyA9IGNsZWFyVGltZW91dCh0b3VjaHN0
YXJ0aW5nKTsKKworICAgIGlmIChzdGFydGVkKSB7CisgICAgICBpZiAoZy50YXBzIDwgMikgdG91
Y2hzdGFydGluZyA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHRvdWNoc3RhcnRpbmcgPSBudWxs
OyB9LCB0b3VjaERlbGF5KTsKKyAgICAgIGludGVycnVwdCh0aGlzKTsKKyAgICAgIGcuc3RhcnQo
KTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiB0b3VjaG1vdmVkKCkgeworICAgIGlmICghdGhp
cy5fX3pvb21pbmcpIHJldHVybjsKKyAgICB2YXIgZyA9IGdlc3R1cmUodGhpcywgYXJndW1lbnRz
KSwKKyAgICAgICAgdG91Y2hlcyA9IGV4cG9ydHMuZXZlbnQuY2hhbmdlZFRvdWNoZXMsCisgICAg
ICAgIG4gPSB0b3VjaGVzLmxlbmd0aCwgaSwgdCwgcCwgbDsKKworICAgIG5vZXZlbnQkMigpOwor
ICAgIGlmICh0b3VjaHN0YXJ0aW5nKSB0b3VjaHN0YXJ0aW5nID0gY2xlYXJUaW1lb3V0KHRvdWNo
c3RhcnRpbmcpOworICAgIGcudGFwcyA9IDA7CisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkg
eworICAgICAgdCA9IHRvdWNoZXNbaV0sIHAgPSB0b3VjaCh0aGlzLCB0b3VjaGVzLCB0LmlkZW50
aWZpZXIpOworICAgICAgaWYgKGcudG91Y2gwICYmIGcudG91Y2gwWzJdID09PSB0LmlkZW50aWZp
ZXIpIGcudG91Y2gwWzBdID0gcDsKKyAgICAgIGVsc2UgaWYgKGcudG91Y2gxICYmIGcudG91Y2gx
WzJdID09PSB0LmlkZW50aWZpZXIpIGcudG91Y2gxWzBdID0gcDsKKyAgICB9CisgICAgdCA9IGcu
dGhhdC5fX3pvb207CisgICAgaWYgKGcudG91Y2gxKSB7CisgICAgICB2YXIgcDAgPSBnLnRvdWNo
MFswXSwgbDAgPSBnLnRvdWNoMFsxXSwKKyAgICAgICAgICBwMSA9IGcudG91Y2gxWzBdLCBsMSA9
IGcudG91Y2gxWzFdLAorICAgICAgICAgIGRwID0gKGRwID0gcDFbMF0gLSBwMFswXSkgKiBkcCAr
IChkcCA9IHAxWzFdIC0gcDBbMV0pICogZHAsCisgICAgICAgICAgZGwgPSAoZGwgPSBsMVswXSAt
IGwwWzBdKSAqIGRsICsgKGRsID0gbDFbMV0gLSBsMFsxXSkgKiBkbDsKKyAgICAgIHQgPSBzY2Fs
ZSh0LCBNYXRoLnNxcnQoZHAgLyBkbCkpOworICAgICAgcCA9IFsocDBbMF0gKyBwMVswXSkgLyAy
LCAocDBbMV0gKyBwMVsxXSkgLyAyXTsKKyAgICAgIGwgPSBbKGwwWzBdICsgbDFbMF0pIC8gMiwg
KGwwWzFdICsgbDFbMV0pIC8gMl07CisgICAgfQorICAgIGVsc2UgaWYgKGcudG91Y2gwKSBwID0g
Zy50b3VjaDBbMF0sIGwgPSBnLnRvdWNoMFsxXTsKKyAgICBlbHNlIHJldHVybjsKKyAgICBnLnpv
b20oInRvdWNoIiwgY29uc3RyYWluKHRyYW5zbGF0ZSh0LCBwLCBsKSwgZy5leHRlbnQsIHRyYW5z
bGF0ZUV4dGVudCkpOworICB9CisKKyAgZnVuY3Rpb24gdG91Y2hlbmRlZCgpIHsKKyAgICBpZiAo
IXRoaXMuX196b29taW5nKSByZXR1cm47CisgICAgdmFyIGcgPSBnZXN0dXJlKHRoaXMsIGFyZ3Vt
ZW50cyksCisgICAgICAgIHRvdWNoZXMgPSBleHBvcnRzLmV2ZW50LmNoYW5nZWRUb3VjaGVzLAor
ICAgICAgICBuID0gdG91Y2hlcy5sZW5ndGgsIGksIHQ7CisKKyAgICBub3Byb3BhZ2F0aW9uJDIo
KTsKKyAgICBpZiAodG91Y2hlbmRpbmcpIGNsZWFyVGltZW91dCh0b3VjaGVuZGluZyk7CisgICAg
dG91Y2hlbmRpbmcgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB0b3VjaGVuZGluZyA9IG51bGw7
IH0sIHRvdWNoRGVsYXkpOworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIHQg
PSB0b3VjaGVzW2ldOworICAgICAgaWYgKGcudG91Y2gwICYmIGcudG91Y2gwWzJdID09PSB0Lmlk
ZW50aWZpZXIpIGRlbGV0ZSBnLnRvdWNoMDsKKyAgICAgIGVsc2UgaWYgKGcudG91Y2gxICYmIGcu
dG91Y2gxWzJdID09PSB0LmlkZW50aWZpZXIpIGRlbGV0ZSBnLnRvdWNoMTsKKyAgICB9CisgICAg
aWYgKGcudG91Y2gxICYmICFnLnRvdWNoMCkgZy50b3VjaDAgPSBnLnRvdWNoMSwgZGVsZXRlIGcu
dG91Y2gxOworICAgIGlmIChnLnRvdWNoMCkgZy50b3VjaDBbMV0gPSB0aGlzLl9fem9vbS5pbnZl
cnQoZy50b3VjaDBbMF0pOworICAgIGVsc2UgeworICAgICAgZy5lbmQoKTsKKyAgICAgIC8vIElm
IHRoaXMgd2FzIGEgZGJsdGFwLCByZXJvdXRlIHRvIHRoZSAob3B0aW9uYWwpIGRibGNsaWNrLnpv
b20gaGFuZGxlci4KKyAgICAgIGlmIChnLnRhcHMgPT09IDIpIHsKKyAgICAgICAgdmFyIHAgPSBz
ZWxlY3QodGhpcykub24oImRibGNsaWNrLnpvb20iKTsKKyAgICAgICAgaWYgKHApIHAuYXBwbHko
dGhpcywgYXJndW1lbnRzKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICB6b29tLndoZWVsRGVs
dGEgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAod2hlZWxE
ZWx0YSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGQoK18pLCB6b29t
KSA6IHdoZWVsRGVsdGE7CisgIH07CisKKyAgem9vbS5maWx0ZXIgPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZmlsdGVyID0gdHlwZW9mIF8gPT09ICJmdW5j
dGlvbiIgPyBfIDogY29uc3RhbnQkZCghIV8pLCB6b29tKSA6IGZpbHRlcjsKKyAgfTsKKworICB6
b29tLnRvdWNoYWJsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0
aCA/ICh0b3VjaGFibGUgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRk
KCEhXyksIHpvb20pIDogdG91Y2hhYmxlOworICB9OworCisgIHpvb20uZXh0ZW50ID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGV4dGVudCA9IHR5cGVvZiBf
ID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGQoW1srX1swXVswXSwgK19bMF1bMV1dLCBb
K19bMV1bMF0sICtfWzFdWzFdXV0pLCB6b29tKSA6IGV4dGVudDsKKyAgfTsKKworICB6b29tLnNj
YWxlRXh0ZW50ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8g
KHNjYWxlRXh0ZW50WzBdID0gK19bMF0sIHNjYWxlRXh0ZW50WzFdID0gK19bMV0sIHpvb20pIDog
W3NjYWxlRXh0ZW50WzBdLCBzY2FsZUV4dGVudFsxXV07CisgIH07CisKKyAgem9vbS50cmFuc2xh
dGVFeHRlbnQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
dHJhbnNsYXRlRXh0ZW50WzBdWzBdID0gK19bMF1bMF0sIHRyYW5zbGF0ZUV4dGVudFsxXVswXSA9
ICtfWzFdWzBdLCB0cmFuc2xhdGVFeHRlbnRbMF1bMV0gPSArX1swXVsxXSwgdHJhbnNsYXRlRXh0
ZW50WzFdWzFdID0gK19bMV1bMV0sIHpvb20pIDogW1t0cmFuc2xhdGVFeHRlbnRbMF1bMF0sIHRy
YW5zbGF0ZUV4dGVudFswXVsxXV0sIFt0cmFuc2xhdGVFeHRlbnRbMV1bMF0sIHRyYW5zbGF0ZUV4
dGVudFsxXVsxXV1dOworICB9OworCisgIHpvb20uY29uc3RyYWluID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGNvbnN0cmFpbiA9IF8sIHpvb20pIDogY29u
c3RyYWluOworICB9OworCisgIHpvb20uZHVyYXRpb24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZHVyYXRpb24gPSArXywgem9vbSkgOiBkdXJhdGlvbjsK
KyAgfTsKKworICB6b29tLmludGVycG9sYXRlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKGludGVycG9sYXRlID0gXywgem9vbSkgOiBpbnRlcnBvbGF0ZTsK
KyAgfTsKKworICB6b29tLm9uID0gZnVuY3Rpb24oKSB7CisgICAgdmFyIHZhbHVlID0gbGlzdGVu
ZXJzLm9uLmFwcGx5KGxpc3RlbmVycywgYXJndW1lbnRzKTsKKyAgICByZXR1cm4gdmFsdWUgPT09
IGxpc3RlbmVycyA/IHpvb20gOiB2YWx1ZTsKKyAgfTsKKworICB6b29tLmNsaWNrRGlzdGFuY2Ug
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoY2xpY2tEaXN0
YW5jZTIgPSAoXyA9ICtfKSAqIF8sIHpvb20pIDogTWF0aC5zcXJ0KGNsaWNrRGlzdGFuY2UyKTsK
KyAgfTsKKworICByZXR1cm4gem9vbTsKK30KKworZXhwb3J0cy5Gb3JtYXRTcGVjaWZpZXIgPSBG
b3JtYXRTcGVjaWZpZXI7CitleHBvcnRzLmFjdGl2ZSA9IGFjdGl2ZTsKK2V4cG9ydHMuYXJjID0g
YXJjOworZXhwb3J0cy5hcmVhID0gYXJlYSQzOworZXhwb3J0cy5hcmVhUmFkaWFsID0gYXJlYVJh
ZGlhbDsKK2V4cG9ydHMuYXNjZW5kaW5nID0gYXNjZW5kaW5nOworZXhwb3J0cy5hdXRvVHlwZSA9
IGF1dG9UeXBlOworZXhwb3J0cy5heGlzQm90dG9tID0gYXhpc0JvdHRvbTsKK2V4cG9ydHMuYXhp
c0xlZnQgPSBheGlzTGVmdDsKK2V4cG9ydHMuYXhpc1JpZ2h0ID0gYXhpc1JpZ2h0OworZXhwb3J0
cy5heGlzVG9wID0gYXhpc1RvcDsKK2V4cG9ydHMuYmlzZWN0ID0gYmlzZWN0UmlnaHQ7CitleHBv
cnRzLmJpc2VjdExlZnQgPSBiaXNlY3RMZWZ0OworZXhwb3J0cy5iaXNlY3RSaWdodCA9IGJpc2Vj
dFJpZ2h0OworZXhwb3J0cy5iaXNlY3RvciA9IGJpc2VjdG9yOworZXhwb3J0cy5ibG9iID0gYmxv
YjsKK2V4cG9ydHMuYnJ1c2ggPSBicnVzaDsKK2V4cG9ydHMuYnJ1c2hTZWxlY3Rpb24gPSBicnVz
aFNlbGVjdGlvbjsKK2V4cG9ydHMuYnJ1c2hYID0gYnJ1c2hYOworZXhwb3J0cy5icnVzaFkgPSBi
cnVzaFk7CitleHBvcnRzLmJ1ZmZlciA9IGJ1ZmZlcjsKK2V4cG9ydHMuY2hvcmQgPSBjaG9yZDsK
K2V4cG9ydHMuY2xpZW50UG9pbnQgPSBwb2ludDsKK2V4cG9ydHMuY2x1c3RlciA9IGNsdXN0ZXI7
CitleHBvcnRzLmNvbG9yID0gY29sb3I7CitleHBvcnRzLmNvbnRvdXJEZW5zaXR5ID0gZGVuc2l0
eTsKK2V4cG9ydHMuY29udG91cnMgPSBjb250b3VyczsKK2V4cG9ydHMuY3JlYXRlID0gY3JlYXRl
OworZXhwb3J0cy5jcmVhdG9yID0gY3JlYXRvcjsKK2V4cG9ydHMuY3Jvc3MgPSBjcm9zczsKK2V4
cG9ydHMuY3N2ID0gY3N2JDE7CitleHBvcnRzLmNzdkZvcm1hdCA9IGNzdkZvcm1hdDsKK2V4cG9y
dHMuY3N2Rm9ybWF0Qm9keSA9IGNzdkZvcm1hdEJvZHk7CitleHBvcnRzLmNzdkZvcm1hdFJvdyA9
IGNzdkZvcm1hdFJvdzsKK2V4cG9ydHMuY3N2Rm9ybWF0Um93cyA9IGNzdkZvcm1hdFJvd3M7Citl
eHBvcnRzLmNzdkZvcm1hdFZhbHVlID0gY3N2Rm9ybWF0VmFsdWU7CitleHBvcnRzLmNzdlBhcnNl
ID0gY3N2UGFyc2U7CitleHBvcnRzLmNzdlBhcnNlUm93cyA9IGNzdlBhcnNlUm93czsKK2V4cG9y
dHMuY3ViZWhlbGl4ID0gY3ViZWhlbGl4OworZXhwb3J0cy5jdXJ2ZUJhc2lzID0gYmFzaXMkMjsK
K2V4cG9ydHMuY3VydmVCYXNpc0Nsb3NlZCA9IGJhc2lzQ2xvc2VkJDE7CitleHBvcnRzLmN1cnZl
QmFzaXNPcGVuID0gYmFzaXNPcGVuOworZXhwb3J0cy5jdXJ2ZUJ1bmRsZSA9IGJ1bmRsZTsKK2V4
cG9ydHMuY3VydmVDYXJkaW5hbCA9IGNhcmRpbmFsOworZXhwb3J0cy5jdXJ2ZUNhcmRpbmFsQ2xv
c2VkID0gY2FyZGluYWxDbG9zZWQ7CitleHBvcnRzLmN1cnZlQ2FyZGluYWxPcGVuID0gY2FyZGlu
YWxPcGVuOworZXhwb3J0cy5jdXJ2ZUNhdG11bGxSb20gPSBjYXRtdWxsUm9tOworZXhwb3J0cy5j
dXJ2ZUNhdG11bGxSb21DbG9zZWQgPSBjYXRtdWxsUm9tQ2xvc2VkOworZXhwb3J0cy5jdXJ2ZUNh
dG11bGxSb21PcGVuID0gY2F0bXVsbFJvbU9wZW47CitleHBvcnRzLmN1cnZlTGluZWFyID0gY3Vy
dmVMaW5lYXI7CitleHBvcnRzLmN1cnZlTGluZWFyQ2xvc2VkID0gbGluZWFyQ2xvc2VkOworZXhw
b3J0cy5jdXJ2ZU1vbm90b25lWCA9IG1vbm90b25lWDsKK2V4cG9ydHMuY3VydmVNb25vdG9uZVkg
PSBtb25vdG9uZVk7CitleHBvcnRzLmN1cnZlTmF0dXJhbCA9IG5hdHVyYWw7CitleHBvcnRzLmN1
cnZlU3RlcCA9IHN0ZXA7CitleHBvcnRzLmN1cnZlU3RlcEFmdGVyID0gc3RlcEFmdGVyOworZXhw
b3J0cy5jdXJ2ZVN0ZXBCZWZvcmUgPSBzdGVwQmVmb3JlOworZXhwb3J0cy5jdXN0b21FdmVudCA9
IGN1c3RvbUV2ZW50OworZXhwb3J0cy5kZXNjZW5kaW5nID0gZGVzY2VuZGluZzsKK2V4cG9ydHMu
ZGV2aWF0aW9uID0gZGV2aWF0aW9uOworZXhwb3J0cy5kaXNwYXRjaCA9IGRpc3BhdGNoOworZXhw
b3J0cy5kcmFnID0gZHJhZzsKK2V4cG9ydHMuZHJhZ0Rpc2FibGUgPSBkcmFnRGlzYWJsZTsKK2V4
cG9ydHMuZHJhZ0VuYWJsZSA9IHllc2RyYWc7CitleHBvcnRzLmRzdiA9IGRzdjsKK2V4cG9ydHMu
ZHN2Rm9ybWF0ID0gZHN2Rm9ybWF0OworZXhwb3J0cy5lYXNlQmFjayA9IGJhY2tJbk91dDsKK2V4
cG9ydHMuZWFzZUJhY2tJbiA9IGJhY2tJbjsKK2V4cG9ydHMuZWFzZUJhY2tJbk91dCA9IGJhY2tJ
bk91dDsKK2V4cG9ydHMuZWFzZUJhY2tPdXQgPSBiYWNrT3V0OworZXhwb3J0cy5lYXNlQm91bmNl
ID0gYm91bmNlT3V0OworZXhwb3J0cy5lYXNlQm91bmNlSW4gPSBib3VuY2VJbjsKK2V4cG9ydHMu
ZWFzZUJvdW5jZUluT3V0ID0gYm91bmNlSW5PdXQ7CitleHBvcnRzLmVhc2VCb3VuY2VPdXQgPSBi
b3VuY2VPdXQ7CitleHBvcnRzLmVhc2VDaXJjbGUgPSBjaXJjbGVJbk91dDsKK2V4cG9ydHMuZWFz
ZUNpcmNsZUluID0gY2lyY2xlSW47CitleHBvcnRzLmVhc2VDaXJjbGVJbk91dCA9IGNpcmNsZUlu
T3V0OworZXhwb3J0cy5lYXNlQ2lyY2xlT3V0ID0gY2lyY2xlT3V0OworZXhwb3J0cy5lYXNlQ3Vi
aWMgPSBjdWJpY0luT3V0OworZXhwb3J0cy5lYXNlQ3ViaWNJbiA9IGN1YmljSW47CitleHBvcnRz
LmVhc2VDdWJpY0luT3V0ID0gY3ViaWNJbk91dDsKK2V4cG9ydHMuZWFzZUN1YmljT3V0ID0gY3Vi
aWNPdXQ7CitleHBvcnRzLmVhc2VFbGFzdGljID0gZWxhc3RpY091dDsKK2V4cG9ydHMuZWFzZUVs
YXN0aWNJbiA9IGVsYXN0aWNJbjsKK2V4cG9ydHMuZWFzZUVsYXN0aWNJbk91dCA9IGVsYXN0aWNJ
bk91dDsKK2V4cG9ydHMuZWFzZUVsYXN0aWNPdXQgPSBlbGFzdGljT3V0OworZXhwb3J0cy5lYXNl
RXhwID0gZXhwSW5PdXQ7CitleHBvcnRzLmVhc2VFeHBJbiA9IGV4cEluOworZXhwb3J0cy5lYXNl
RXhwSW5PdXQgPSBleHBJbk91dDsKK2V4cG9ydHMuZWFzZUV4cE91dCA9IGV4cE91dDsKK2V4cG9y
dHMuZWFzZUxpbmVhciA9IGxpbmVhciQxOworZXhwb3J0cy5lYXNlUG9seSA9IHBvbHlJbk91dDsK
K2V4cG9ydHMuZWFzZVBvbHlJbiA9IHBvbHlJbjsKK2V4cG9ydHMuZWFzZVBvbHlJbk91dCA9IHBv
bHlJbk91dDsKK2V4cG9ydHMuZWFzZVBvbHlPdXQgPSBwb2x5T3V0OworZXhwb3J0cy5lYXNlUXVh
ZCA9IHF1YWRJbk91dDsKK2V4cG9ydHMuZWFzZVF1YWRJbiA9IHF1YWRJbjsKK2V4cG9ydHMuZWFz
ZVF1YWRJbk91dCA9IHF1YWRJbk91dDsKK2V4cG9ydHMuZWFzZVF1YWRPdXQgPSBxdWFkT3V0Owor
ZXhwb3J0cy5lYXNlU2luID0gc2luSW5PdXQ7CitleHBvcnRzLmVhc2VTaW5JbiA9IHNpbkluOwor
ZXhwb3J0cy5lYXNlU2luSW5PdXQgPSBzaW5Jbk91dDsKK2V4cG9ydHMuZWFzZVNpbk91dCA9IHNp
bk91dDsKK2V4cG9ydHMuZW50cmllcyA9IGVudHJpZXM7CitleHBvcnRzLmV4dGVudCA9IGV4dGVu
dDsKK2V4cG9ydHMuZm9yY2VDZW50ZXIgPSBjZW50ZXIkMTsKK2V4cG9ydHMuZm9yY2VDb2xsaWRl
ID0gY29sbGlkZTsKK2V4cG9ydHMuZm9yY2VMaW5rID0gbGluazsKK2V4cG9ydHMuZm9yY2VNYW55
Qm9keSA9IG1hbnlCb2R5OworZXhwb3J0cy5mb3JjZVJhZGlhbCA9IHJhZGlhbDsKK2V4cG9ydHMu
Zm9yY2VTaW11bGF0aW9uID0gc2ltdWxhdGlvbjsKK2V4cG9ydHMuZm9yY2VYID0geCQyOworZXhw
b3J0cy5mb3JjZVkgPSB5JDI7CitleHBvcnRzLmZvcm1hdERlZmF1bHRMb2NhbGUgPSBkZWZhdWx0
TG9jYWxlOworZXhwb3J0cy5mb3JtYXRMb2NhbGUgPSBmb3JtYXRMb2NhbGU7CitleHBvcnRzLmZv
cm1hdFNwZWNpZmllciA9IGZvcm1hdFNwZWNpZmllcjsKK2V4cG9ydHMuZ2VvQWxiZXJzID0gYWxi
ZXJzOworZXhwb3J0cy5nZW9BbGJlcnNVc2EgPSBhbGJlcnNVc2E7CitleHBvcnRzLmdlb0FyZWEg
PSBhcmVhJDE7CitleHBvcnRzLmdlb0F6aW11dGhhbEVxdWFsQXJlYSA9IGF6aW11dGhhbEVxdWFs
QXJlYTsKK2V4cG9ydHMuZ2VvQXppbXV0aGFsRXF1YWxBcmVhUmF3ID0gYXppbXV0aGFsRXF1YWxB
cmVhUmF3OworZXhwb3J0cy5nZW9BemltdXRoYWxFcXVpZGlzdGFudCA9IGF6aW11dGhhbEVxdWlk
aXN0YW50OworZXhwb3J0cy5nZW9BemltdXRoYWxFcXVpZGlzdGFudFJhdyA9IGF6aW11dGhhbEVx
dWlkaXN0YW50UmF3OworZXhwb3J0cy5nZW9Cb3VuZHMgPSBib3VuZHM7CitleHBvcnRzLmdlb0Nl
bnRyb2lkID0gY2VudHJvaWQ7CitleHBvcnRzLmdlb0NpcmNsZSA9IGNpcmNsZTsKK2V4cG9ydHMu
Z2VvQ2xpcEFudGltZXJpZGlhbiA9IGNsaXBBbnRpbWVyaWRpYW47CitleHBvcnRzLmdlb0NsaXBD
aXJjbGUgPSBjbGlwQ2lyY2xlOworZXhwb3J0cy5nZW9DbGlwRXh0ZW50ID0gZXh0ZW50JDE7Citl
eHBvcnRzLmdlb0NsaXBSZWN0YW5nbGUgPSBjbGlwUmVjdGFuZ2xlOworZXhwb3J0cy5nZW9Db25p
Y0NvbmZvcm1hbCA9IGNvbmljQ29uZm9ybWFsOworZXhwb3J0cy5nZW9Db25pY0NvbmZvcm1hbFJh
dyA9IGNvbmljQ29uZm9ybWFsUmF3OworZXhwb3J0cy5nZW9Db25pY0VxdWFsQXJlYSA9IGNvbmlj
RXF1YWxBcmVhOworZXhwb3J0cy5nZW9Db25pY0VxdWFsQXJlYVJhdyA9IGNvbmljRXF1YWxBcmVh
UmF3OworZXhwb3J0cy5nZW9Db25pY0VxdWlkaXN0YW50ID0gY29uaWNFcXVpZGlzdGFudDsKK2V4
cG9ydHMuZ2VvQ29uaWNFcXVpZGlzdGFudFJhdyA9IGNvbmljRXF1aWRpc3RhbnRSYXc7CitleHBv
cnRzLmdlb0NvbnRhaW5zID0gY29udGFpbnMkMTsKK2V4cG9ydHMuZ2VvRGlzdGFuY2UgPSBkaXN0
YW5jZTsKK2V4cG9ydHMuZ2VvRXF1YWxFYXJ0aCA9IGVxdWFsRWFydGg7CitleHBvcnRzLmdlb0Vx
dWFsRWFydGhSYXcgPSBlcXVhbEVhcnRoUmF3OworZXhwb3J0cy5nZW9FcXVpcmVjdGFuZ3VsYXIg
PSBlcXVpcmVjdGFuZ3VsYXI7CitleHBvcnRzLmdlb0VxdWlyZWN0YW5ndWxhclJhdyA9IGVxdWly
ZWN0YW5ndWxhclJhdzsKK2V4cG9ydHMuZ2VvR25vbW9uaWMgPSBnbm9tb25pYzsKK2V4cG9ydHMu
Z2VvR25vbW9uaWNSYXcgPSBnbm9tb25pY1JhdzsKK2V4cG9ydHMuZ2VvR3JhdGljdWxlID0gZ3Jh
dGljdWxlOworZXhwb3J0cy5nZW9HcmF0aWN1bGUxMCA9IGdyYXRpY3VsZTEwOworZXhwb3J0cy5n
ZW9JZGVudGl0eSA9IGlkZW50aXR5JDU7CitleHBvcnRzLmdlb0ludGVycG9sYXRlID0gaW50ZXJw
b2xhdGUkMTsKK2V4cG9ydHMuZ2VvTGVuZ3RoID0gbGVuZ3RoJDE7CitleHBvcnRzLmdlb01lcmNh
dG9yID0gbWVyY2F0b3I7CitleHBvcnRzLmdlb01lcmNhdG9yUmF3ID0gbWVyY2F0b3JSYXc7Citl
eHBvcnRzLmdlb05hdHVyYWxFYXJ0aDEgPSBuYXR1cmFsRWFydGgxOworZXhwb3J0cy5nZW9OYXR1
cmFsRWFydGgxUmF3ID0gbmF0dXJhbEVhcnRoMVJhdzsKK2V4cG9ydHMuZ2VvT3J0aG9ncmFwaGlj
ID0gb3J0aG9ncmFwaGljOworZXhwb3J0cy5nZW9PcnRob2dyYXBoaWNSYXcgPSBvcnRob2dyYXBo
aWNSYXc7CitleHBvcnRzLmdlb1BhdGggPSBpbmRleCQxOworZXhwb3J0cy5nZW9Qcm9qZWN0aW9u
ID0gcHJvamVjdGlvbjsKK2V4cG9ydHMuZ2VvUHJvamVjdGlvbk11dGF0b3IgPSBwcm9qZWN0aW9u
TXV0YXRvcjsKK2V4cG9ydHMuZ2VvUm90YXRpb24gPSByb3RhdGlvbjsKK2V4cG9ydHMuZ2VvU3Rl
cmVvZ3JhcGhpYyA9IHN0ZXJlb2dyYXBoaWM7CitleHBvcnRzLmdlb1N0ZXJlb2dyYXBoaWNSYXcg
PSBzdGVyZW9ncmFwaGljUmF3OworZXhwb3J0cy5nZW9TdHJlYW0gPSBnZW9TdHJlYW07CitleHBv
cnRzLmdlb1RyYW5zZm9ybSA9IHRyYW5zZm9ybTsKK2V4cG9ydHMuZ2VvVHJhbnN2ZXJzZU1lcmNh
dG9yID0gdHJhbnN2ZXJzZU1lcmNhdG9yOworZXhwb3J0cy5nZW9UcmFuc3ZlcnNlTWVyY2F0b3JS
YXcgPSB0cmFuc3ZlcnNlTWVyY2F0b3JSYXc7CitleHBvcnRzLmdyYXkgPSBncmF5OworZXhwb3J0
cy5oY2wgPSBoY2w7CitleHBvcnRzLmhpZXJhcmNoeSA9IGhpZXJhcmNoeTsKK2V4cG9ydHMuaGlz
dG9ncmFtID0gaGlzdG9ncmFtOworZXhwb3J0cy5oc2wgPSBoc2w7CitleHBvcnRzLmh0bWwgPSBo
dG1sOworZXhwb3J0cy5pbWFnZSA9IGltYWdlOworZXhwb3J0cy5pbnRlcnBvbGF0ZSA9IGludGVy
cG9sYXRlVmFsdWU7CitleHBvcnRzLmludGVycG9sYXRlQXJyYXkgPSBhcnJheSQxOworZXhwb3J0
cy5pbnRlcnBvbGF0ZUJhc2lzID0gYmFzaXMkMTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVCYXNpc0Ns
b3NlZCA9IGJhc2lzQ2xvc2VkOworZXhwb3J0cy5pbnRlcnBvbGF0ZUJsdWVzID0gQmx1ZXM7Citl
eHBvcnRzLmludGVycG9sYXRlQnJCRyA9IEJyQkc7CitleHBvcnRzLmludGVycG9sYXRlQnVHbiA9
IEJ1R247CitleHBvcnRzLmludGVycG9sYXRlQnVQdSA9IEJ1UHU7CitleHBvcnRzLmludGVycG9s
YXRlQ2l2aWRpcyA9IGNpdmlkaXM7CitleHBvcnRzLmludGVycG9sYXRlQ29vbCA9IGNvb2w7Citl
eHBvcnRzLmludGVycG9sYXRlQ3ViZWhlbGl4ID0gY3ViZWhlbGl4JDI7CitleHBvcnRzLmludGVy
cG9sYXRlQ3ViZWhlbGl4RGVmYXVsdCA9IGN1YmVoZWxpeCQzOworZXhwb3J0cy5pbnRlcnBvbGF0
ZUN1YmVoZWxpeExvbmcgPSBjdWJlaGVsaXhMb25nOworZXhwb3J0cy5pbnRlcnBvbGF0ZURhdGUg
PSBkYXRlOworZXhwb3J0cy5pbnRlcnBvbGF0ZURpc2NyZXRlID0gZGlzY3JldGU7CitleHBvcnRz
LmludGVycG9sYXRlR25CdSA9IEduQnU7CitleHBvcnRzLmludGVycG9sYXRlR3JlZW5zID0gR3Jl
ZW5zOworZXhwb3J0cy5pbnRlcnBvbGF0ZUdyZXlzID0gR3JleXM7CitleHBvcnRzLmludGVycG9s
YXRlSGNsID0gaGNsJDI7CitleHBvcnRzLmludGVycG9sYXRlSGNsTG9uZyA9IGhjbExvbmc7Citl
eHBvcnRzLmludGVycG9sYXRlSHNsID0gaHNsJDI7CitleHBvcnRzLmludGVycG9sYXRlSHNsTG9u
ZyA9IGhzbExvbmc7CitleHBvcnRzLmludGVycG9sYXRlSHVlID0gaHVlJDE7CitleHBvcnRzLmlu
dGVycG9sYXRlSW5mZXJubyA9IGluZmVybm87CitleHBvcnRzLmludGVycG9sYXRlTGFiID0gbGFi
JDE7CitleHBvcnRzLmludGVycG9sYXRlTWFnbWEgPSBtYWdtYTsKK2V4cG9ydHMuaW50ZXJwb2xh
dGVOdW1iZXIgPSBpbnRlcnBvbGF0ZU51bWJlcjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVPYmplY3Qg
PSBvYmplY3Q7CitleHBvcnRzLmludGVycG9sYXRlT3JSZCA9IE9yUmQ7CitleHBvcnRzLmludGVy
cG9sYXRlT3JhbmdlcyA9IE9yYW5nZXM7CitleHBvcnRzLmludGVycG9sYXRlUFJHbiA9IFBSR247
CitleHBvcnRzLmludGVycG9sYXRlUGlZRyA9IFBpWUc7CitleHBvcnRzLmludGVycG9sYXRlUGxh
c21hID0gcGxhc21hOworZXhwb3J0cy5pbnRlcnBvbGF0ZVB1QnUgPSBQdUJ1OworZXhwb3J0cy5p
bnRlcnBvbGF0ZVB1QnVHbiA9IFB1QnVHbjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVQdU9yID0gUHVP
cjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVQdVJkID0gUHVSZDsKK2V4cG9ydHMuaW50ZXJwb2xhdGVQ
dXJwbGVzID0gUHVycGxlczsKK2V4cG9ydHMuaW50ZXJwb2xhdGVSYWluYm93ID0gcmFpbmJvdzsK
K2V4cG9ydHMuaW50ZXJwb2xhdGVSZEJ1ID0gUmRCdTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVSZEd5
ID0gUmRHeTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVSZFB1ID0gUmRQdTsKK2V4cG9ydHMuaW50ZXJw
b2xhdGVSZFlsQnUgPSBSZFlsQnU7CitleHBvcnRzLmludGVycG9sYXRlUmRZbEduID0gUmRZbEdu
OworZXhwb3J0cy5pbnRlcnBvbGF0ZVJlZHMgPSBSZWRzOworZXhwb3J0cy5pbnRlcnBvbGF0ZVJn
YiA9IGludGVycG9sYXRlUmdiOworZXhwb3J0cy5pbnRlcnBvbGF0ZVJnYkJhc2lzID0gcmdiQmFz
aXM7CitleHBvcnRzLmludGVycG9sYXRlUmdiQmFzaXNDbG9zZWQgPSByZ2JCYXNpc0Nsb3NlZDsK
K2V4cG9ydHMuaW50ZXJwb2xhdGVSb3VuZCA9IGludGVycG9sYXRlUm91bmQ7CitleHBvcnRzLmlu
dGVycG9sYXRlU2luZWJvdyA9IHNpbmVib3c7CitleHBvcnRzLmludGVycG9sYXRlU3BlY3RyYWwg
PSBTcGVjdHJhbDsKK2V4cG9ydHMuaW50ZXJwb2xhdGVTdHJpbmcgPSBpbnRlcnBvbGF0ZVN0cmlu
ZzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVUcmFuc2Zvcm1Dc3MgPSBpbnRlcnBvbGF0ZVRyYW5zZm9y
bUNzczsKK2V4cG9ydHMuaW50ZXJwb2xhdGVUcmFuc2Zvcm1TdmcgPSBpbnRlcnBvbGF0ZVRyYW5z
Zm9ybVN2ZzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVUdXJibyA9IHR1cmJvOworZXhwb3J0cy5pbnRl
cnBvbGF0ZVZpcmlkaXMgPSB2aXJpZGlzOworZXhwb3J0cy5pbnRlcnBvbGF0ZVdhcm0gPSB3YXJt
OworZXhwb3J0cy5pbnRlcnBvbGF0ZVlsR24gPSBZbEduOworZXhwb3J0cy5pbnRlcnBvbGF0ZVls
R25CdSA9IFlsR25CdTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVZbE9yQnIgPSBZbE9yQnI7CitleHBv
cnRzLmludGVycG9sYXRlWWxPclJkID0gWWxPclJkOworZXhwb3J0cy5pbnRlcnBvbGF0ZVpvb20g
PSBpbnRlcnBvbGF0ZVpvb207CitleHBvcnRzLmludGVycnVwdCA9IGludGVycnVwdDsKK2V4cG9y
dHMuaW50ZXJ2YWwgPSBpbnRlcnZhbCQxOworZXhwb3J0cy5pc29Gb3JtYXQgPSBmb3JtYXRJc287
CitleHBvcnRzLmlzb1BhcnNlID0gcGFyc2VJc287CitleHBvcnRzLmpzb24gPSBqc29uOworZXhw
b3J0cy5rZXlzID0ga2V5czsKK2V4cG9ydHMubGFiID0gbGFiOworZXhwb3J0cy5sY2ggPSBsY2g7
CitleHBvcnRzLmxpbmUgPSBsaW5lOworZXhwb3J0cy5saW5lUmFkaWFsID0gbGluZVJhZGlhbCQx
OworZXhwb3J0cy5saW5rSG9yaXpvbnRhbCA9IGxpbmtIb3Jpem9udGFsOworZXhwb3J0cy5saW5r
UmFkaWFsID0gbGlua1JhZGlhbDsKK2V4cG9ydHMubGlua1ZlcnRpY2FsID0gbGlua1ZlcnRpY2Fs
OworZXhwb3J0cy5sb2NhbCA9IGxvY2FsOworZXhwb3J0cy5tYXAgPSBtYXAkMTsKK2V4cG9ydHMu
bWF0Y2hlciA9IG1hdGNoZXI7CitleHBvcnRzLm1heCA9IG1heDsKK2V4cG9ydHMubWVhbiA9IG1l
YW47CitleHBvcnRzLm1lZGlhbiA9IG1lZGlhbjsKK2V4cG9ydHMubWVyZ2UgPSBtZXJnZTsKK2V4
cG9ydHMubWluID0gbWluOworZXhwb3J0cy5tb3VzZSA9IG1vdXNlOworZXhwb3J0cy5uYW1lc3Bh
Y2UgPSBuYW1lc3BhY2U7CitleHBvcnRzLm5hbWVzcGFjZXMgPSBuYW1lc3BhY2VzOworZXhwb3J0
cy5uZXN0ID0gbmVzdDsKK2V4cG9ydHMubm93ID0gbm93OworZXhwb3J0cy5wYWNrID0gaW5kZXgk
MjsKK2V4cG9ydHMucGFja0VuY2xvc2UgPSBlbmNsb3NlOworZXhwb3J0cy5wYWNrU2libGluZ3Mg
PSBzaWJsaW5nczsKK2V4cG9ydHMucGFpcnMgPSBwYWlyczsKK2V4cG9ydHMucGFydGl0aW9uID0g
cGFydGl0aW9uOworZXhwb3J0cy5wYXRoID0gcGF0aDsKK2V4cG9ydHMucGVybXV0ZSA9IHBlcm11
dGU7CitleHBvcnRzLnBpZSA9IHBpZTsKK2V4cG9ydHMucGllY2V3aXNlID0gcGllY2V3aXNlOwor
ZXhwb3J0cy5wb2ludFJhZGlhbCA9IHBvaW50UmFkaWFsOworZXhwb3J0cy5wb2x5Z29uQXJlYSA9
IGFyZWEkMjsKK2V4cG9ydHMucG9seWdvbkNlbnRyb2lkID0gY2VudHJvaWQkMTsKK2V4cG9ydHMu
cG9seWdvbkNvbnRhaW5zID0gY29udGFpbnMkMjsKK2V4cG9ydHMucG9seWdvbkh1bGwgPSBodWxs
OworZXhwb3J0cy5wb2x5Z29uTGVuZ3RoID0gbGVuZ3RoJDI7CitleHBvcnRzLnByZWNpc2lvbkZp
eGVkID0gcHJlY2lzaW9uRml4ZWQ7CitleHBvcnRzLnByZWNpc2lvblByZWZpeCA9IHByZWNpc2lv
blByZWZpeDsKK2V4cG9ydHMucHJlY2lzaW9uUm91bmQgPSBwcmVjaXNpb25Sb3VuZDsKK2V4cG9y
dHMucXVhZHRyZWUgPSBxdWFkdHJlZTsKK2V4cG9ydHMucXVhbnRpbGUgPSB0aHJlc2hvbGQ7Citl
eHBvcnRzLnF1YW50aXplID0gcXVhbnRpemU7CitleHBvcnRzLnJhZGlhbEFyZWEgPSBhcmVhUmFk
aWFsOworZXhwb3J0cy5yYWRpYWxMaW5lID0gbGluZVJhZGlhbCQxOworZXhwb3J0cy5yYW5kb21C
YXRlcyA9IGJhdGVzOworZXhwb3J0cy5yYW5kb21FeHBvbmVudGlhbCA9IGV4cG9uZW50aWFsJDE7
CitleHBvcnRzLnJhbmRvbUlyd2luSGFsbCA9IGlyd2luSGFsbDsKK2V4cG9ydHMucmFuZG9tTG9n
Tm9ybWFsID0gbG9nTm9ybWFsOworZXhwb3J0cy5yYW5kb21Ob3JtYWwgPSBub3JtYWw7CitleHBv
cnRzLnJhbmRvbVVuaWZvcm0gPSB1bmlmb3JtOworZXhwb3J0cy5yYW5nZSA9IHNlcXVlbmNlOwor
ZXhwb3J0cy5yZ2IgPSByZ2I7CitleHBvcnRzLnJpYmJvbiA9IHJpYmJvbjsKK2V4cG9ydHMuc2Nh
bGVCYW5kID0gYmFuZDsKK2V4cG9ydHMuc2NhbGVEaXZlcmdpbmcgPSBkaXZlcmdpbmc7CitleHBv
cnRzLnNjYWxlRGl2ZXJnaW5nTG9nID0gZGl2ZXJnaW5nTG9nOworZXhwb3J0cy5zY2FsZURpdmVy
Z2luZ1BvdyA9IGRpdmVyZ2luZ1BvdzsKK2V4cG9ydHMuc2NhbGVEaXZlcmdpbmdTcXJ0ID0gZGl2
ZXJnaW5nU3FydDsKK2V4cG9ydHMuc2NhbGVEaXZlcmdpbmdTeW1sb2cgPSBkaXZlcmdpbmdTeW1s
b2c7CitleHBvcnRzLnNjYWxlSWRlbnRpdHkgPSBpZGVudGl0eSQ3OworZXhwb3J0cy5zY2FsZUlt
cGxpY2l0ID0gaW1wbGljaXQ7CitleHBvcnRzLnNjYWxlTGluZWFyID0gbGluZWFyJDI7CitleHBv
cnRzLnNjYWxlTG9nID0gbG9nJDE7CitleHBvcnRzLnNjYWxlT3JkaW5hbCA9IG9yZGluYWw7Citl
eHBvcnRzLnNjYWxlUG9pbnQgPSBwb2ludCQxOworZXhwb3J0cy5zY2FsZVBvdyA9IHBvdyQxOwor
ZXhwb3J0cy5zY2FsZVF1YW50aWxlID0gcXVhbnRpbGU7CitleHBvcnRzLnNjYWxlUXVhbnRpemUg
PSBxdWFudGl6ZSQxOworZXhwb3J0cy5zY2FsZVNlcXVlbnRpYWwgPSBzZXF1ZW50aWFsOworZXhw
b3J0cy5zY2FsZVNlcXVlbnRpYWxMb2cgPSBzZXF1ZW50aWFsTG9nOworZXhwb3J0cy5zY2FsZVNl
cXVlbnRpYWxQb3cgPSBzZXF1ZW50aWFsUG93OworZXhwb3J0cy5zY2FsZVNlcXVlbnRpYWxRdWFu
dGlsZSA9IHNlcXVlbnRpYWxRdWFudGlsZTsKK2V4cG9ydHMuc2NhbGVTZXF1ZW50aWFsU3FydCA9
IHNlcXVlbnRpYWxTcXJ0OworZXhwb3J0cy5zY2FsZVNlcXVlbnRpYWxTeW1sb2cgPSBzZXF1ZW50
aWFsU3ltbG9nOworZXhwb3J0cy5zY2FsZVNxcnQgPSBzcXJ0JDE7CitleHBvcnRzLnNjYWxlU3lt
bG9nID0gc3ltbG9nOworZXhwb3J0cy5zY2FsZVRocmVzaG9sZCA9IHRocmVzaG9sZCQxOworZXhw
b3J0cy5zY2FsZVRpbWUgPSB0aW1lOworZXhwb3J0cy5zY2FsZVV0YyA9IHV0Y1RpbWU7CitleHBv
cnRzLnNjYW4gPSBzY2FuOworZXhwb3J0cy5zY2hlbWVBY2NlbnQgPSBBY2NlbnQ7CitleHBvcnRz
LnNjaGVtZUJsdWVzID0gc2NoZW1lJGw7CitleHBvcnRzLnNjaGVtZUJyQkcgPSBzY2hlbWU7Citl
eHBvcnRzLnNjaGVtZUJ1R24gPSBzY2hlbWUkOTsKK2V4cG9ydHMuc2NoZW1lQnVQdSA9IHNjaGVt
ZSRhOworZXhwb3J0cy5zY2hlbWVDYXRlZ29yeTEwID0gY2F0ZWdvcnkxMDsKK2V4cG9ydHMuc2No
ZW1lRGFyazIgPSBEYXJrMjsKK2V4cG9ydHMuc2NoZW1lR25CdSA9IHNjaGVtZSRiOworZXhwb3J0
cy5zY2hlbWVHcmVlbnMgPSBzY2hlbWUkbTsKK2V4cG9ydHMuc2NoZW1lR3JleXMgPSBzY2hlbWUk
bjsKK2V4cG9ydHMuc2NoZW1lT3JSZCA9IHNjaGVtZSRjOworZXhwb3J0cy5zY2hlbWVPcmFuZ2Vz
ID0gc2NoZW1lJHE7CitleHBvcnRzLnNjaGVtZVBSR24gPSBzY2hlbWUkMTsKK2V4cG9ydHMuc2No
ZW1lUGFpcmVkID0gUGFpcmVkOworZXhwb3J0cy5zY2hlbWVQYXN0ZWwxID0gUGFzdGVsMTsKK2V4
cG9ydHMuc2NoZW1lUGFzdGVsMiA9IFBhc3RlbDI7CitleHBvcnRzLnNjaGVtZVBpWUcgPSBzY2hl
bWUkMjsKK2V4cG9ydHMuc2NoZW1lUHVCdSA9IHNjaGVtZSRlOworZXhwb3J0cy5zY2hlbWVQdUJ1
R24gPSBzY2hlbWUkZDsKK2V4cG9ydHMuc2NoZW1lUHVPciA9IHNjaGVtZSQzOworZXhwb3J0cy5z
Y2hlbWVQdVJkID0gc2NoZW1lJGY7CitleHBvcnRzLnNjaGVtZVB1cnBsZXMgPSBzY2hlbWUkbzsK
K2V4cG9ydHMuc2NoZW1lUmRCdSA9IHNjaGVtZSQ0OworZXhwb3J0cy5zY2hlbWVSZEd5ID0gc2No
ZW1lJDU7CitleHBvcnRzLnNjaGVtZVJkUHUgPSBzY2hlbWUkZzsKK2V4cG9ydHMuc2NoZW1lUmRZ
bEJ1ID0gc2NoZW1lJDY7CitleHBvcnRzLnNjaGVtZVJkWWxHbiA9IHNjaGVtZSQ3OworZXhwb3J0
cy5zY2hlbWVSZWRzID0gc2NoZW1lJHA7CitleHBvcnRzLnNjaGVtZVNldDEgPSBTZXQxOworZXhw
b3J0cy5zY2hlbWVTZXQyID0gU2V0MjsKK2V4cG9ydHMuc2NoZW1lU2V0MyA9IFNldDM7CitleHBv
cnRzLnNjaGVtZVNwZWN0cmFsID0gc2NoZW1lJDg7CitleHBvcnRzLnNjaGVtZVRhYmxlYXUxMCA9
IFRhYmxlYXUxMDsKK2V4cG9ydHMuc2NoZW1lWWxHbiA9IHNjaGVtZSRpOworZXhwb3J0cy5zY2hl
bWVZbEduQnUgPSBzY2hlbWUkaDsKK2V4cG9ydHMuc2NoZW1lWWxPckJyID0gc2NoZW1lJGo7Citl
eHBvcnRzLnNjaGVtZVlsT3JSZCA9IHNjaGVtZSRrOworZXhwb3J0cy5zZWxlY3QgPSBzZWxlY3Q7
CitleHBvcnRzLnNlbGVjdEFsbCA9IHNlbGVjdEFsbDsKK2V4cG9ydHMuc2VsZWN0aW9uID0gc2Vs
ZWN0aW9uOworZXhwb3J0cy5zZWxlY3RvciA9IHNlbGVjdG9yOworZXhwb3J0cy5zZWxlY3RvckFs
bCA9IHNlbGVjdG9yQWxsOworZXhwb3J0cy5zZXQgPSBzZXQkMjsKK2V4cG9ydHMuc2h1ZmZsZSA9
IHNodWZmbGU7CitleHBvcnRzLnN0YWNrID0gc3RhY2s7CitleHBvcnRzLnN0YWNrT2Zmc2V0RGl2
ZXJnaW5nID0gZGl2ZXJnaW5nJDE7CitleHBvcnRzLnN0YWNrT2Zmc2V0RXhwYW5kID0gZXhwYW5k
OworZXhwb3J0cy5zdGFja09mZnNldE5vbmUgPSBub25lJDE7CitleHBvcnRzLnN0YWNrT2Zmc2V0
U2lsaG91ZXR0ZSA9IHNpbGhvdWV0dGU7CitleHBvcnRzLnN0YWNrT2Zmc2V0V2lnZ2xlID0gd2ln
Z2xlOworZXhwb3J0cy5zdGFja09yZGVyQXBwZWFyYW5jZSA9IGFwcGVhcmFuY2U7CitleHBvcnRz
LnN0YWNrT3JkZXJBc2NlbmRpbmcgPSBhc2NlbmRpbmckMzsKK2V4cG9ydHMuc3RhY2tPcmRlckRl
c2NlbmRpbmcgPSBkZXNjZW5kaW5nJDI7CitleHBvcnRzLnN0YWNrT3JkZXJJbnNpZGVPdXQgPSBp
bnNpZGVPdXQ7CitleHBvcnRzLnN0YWNrT3JkZXJOb25lID0gbm9uZSQyOworZXhwb3J0cy5zdGFj
a09yZGVyUmV2ZXJzZSA9IHJldmVyc2U7CitleHBvcnRzLnN0cmF0aWZ5ID0gc3RyYXRpZnk7Citl
eHBvcnRzLnN0eWxlID0gc3R5bGVWYWx1ZTsKK2V4cG9ydHMuc3VtID0gc3VtOworZXhwb3J0cy5z
dmcgPSBzdmc7CitleHBvcnRzLnN5bWJvbCA9IHN5bWJvbDsKK2V4cG9ydHMuc3ltYm9sQ2lyY2xl
ID0gY2lyY2xlJDI7CitleHBvcnRzLnN5bWJvbENyb3NzID0gY3Jvc3MkMjsKK2V4cG9ydHMuc3lt
Ym9sRGlhbW9uZCA9IGRpYW1vbmQ7CitleHBvcnRzLnN5bWJvbFNxdWFyZSA9IHNxdWFyZTsKK2V4
cG9ydHMuc3ltYm9sU3RhciA9IHN0YXI7CitleHBvcnRzLnN5bWJvbFRyaWFuZ2xlID0gdHJpYW5n
bGU7CitleHBvcnRzLnN5bWJvbFd5ZSA9IHd5ZTsKK2V4cG9ydHMuc3ltYm9scyA9IHN5bWJvbHM7
CitleHBvcnRzLnRleHQgPSB0ZXh0OworZXhwb3J0cy50aHJlc2hvbGRGcmVlZG1hbkRpYWNvbmlz
ID0gZnJlZWRtYW5EaWFjb25pczsKK2V4cG9ydHMudGhyZXNob2xkU2NvdHQgPSBzY290dDsKK2V4
cG9ydHMudGhyZXNob2xkU3R1cmdlcyA9IHRocmVzaG9sZFN0dXJnZXM7CitleHBvcnRzLnRpY2tG
b3JtYXQgPSB0aWNrRm9ybWF0OworZXhwb3J0cy50aWNrSW5jcmVtZW50ID0gdGlja0luY3JlbWVu
dDsKK2V4cG9ydHMudGlja1N0ZXAgPSB0aWNrU3RlcDsKK2V4cG9ydHMudGlja3MgPSB0aWNrczsK
K2V4cG9ydHMudGltZURheSA9IGRheTsKK2V4cG9ydHMudGltZURheXMgPSBkYXlzOworZXhwb3J0
cy50aW1lRm9ybWF0RGVmYXVsdExvY2FsZSA9IGRlZmF1bHRMb2NhbGUkMTsKK2V4cG9ydHMudGlt
ZUZvcm1hdExvY2FsZSA9IGZvcm1hdExvY2FsZSQxOworZXhwb3J0cy50aW1lRnJpZGF5ID0gZnJp
ZGF5OworZXhwb3J0cy50aW1lRnJpZGF5cyA9IGZyaWRheXM7CitleHBvcnRzLnRpbWVIb3VyID0g
aG91cjsKK2V4cG9ydHMudGltZUhvdXJzID0gaG91cnM7CitleHBvcnRzLnRpbWVJbnRlcnZhbCA9
IG5ld0ludGVydmFsOworZXhwb3J0cy50aW1lTWlsbGlzZWNvbmQgPSBtaWxsaXNlY29uZDsKK2V4
cG9ydHMudGltZU1pbGxpc2Vjb25kcyA9IG1pbGxpc2Vjb25kczsKK2V4cG9ydHMudGltZU1pbnV0
ZSA9IG1pbnV0ZTsKK2V4cG9ydHMudGltZU1pbnV0ZXMgPSBtaW51dGVzOworZXhwb3J0cy50aW1l
TW9uZGF5ID0gbW9uZGF5OworZXhwb3J0cy50aW1lTW9uZGF5cyA9IG1vbmRheXM7CitleHBvcnRz
LnRpbWVNb250aCA9IG1vbnRoOworZXhwb3J0cy50aW1lTW9udGhzID0gbW9udGhzOworZXhwb3J0
cy50aW1lU2F0dXJkYXkgPSBzYXR1cmRheTsKK2V4cG9ydHMudGltZVNhdHVyZGF5cyA9IHNhdHVy
ZGF5czsKK2V4cG9ydHMudGltZVNlY29uZCA9IHNlY29uZDsKK2V4cG9ydHMudGltZVNlY29uZHMg
PSBzZWNvbmRzOworZXhwb3J0cy50aW1lU3VuZGF5ID0gc3VuZGF5OworZXhwb3J0cy50aW1lU3Vu
ZGF5cyA9IHN1bmRheXM7CitleHBvcnRzLnRpbWVUaHVyc2RheSA9IHRodXJzZGF5OworZXhwb3J0
cy50aW1lVGh1cnNkYXlzID0gdGh1cnNkYXlzOworZXhwb3J0cy50aW1lVHVlc2RheSA9IHR1ZXNk
YXk7CitleHBvcnRzLnRpbWVUdWVzZGF5cyA9IHR1ZXNkYXlzOworZXhwb3J0cy50aW1lV2VkbmVz
ZGF5ID0gd2VkbmVzZGF5OworZXhwb3J0cy50aW1lV2VkbmVzZGF5cyA9IHdlZG5lc2RheXM7Citl
eHBvcnRzLnRpbWVXZWVrID0gc3VuZGF5OworZXhwb3J0cy50aW1lV2Vla3MgPSBzdW5kYXlzOwor
ZXhwb3J0cy50aW1lWWVhciA9IHllYXI7CitleHBvcnRzLnRpbWVZZWFycyA9IHllYXJzOworZXhw
b3J0cy50aW1lb3V0ID0gdGltZW91dCQxOworZXhwb3J0cy50aW1lciA9IHRpbWVyOworZXhwb3J0
cy50aW1lckZsdXNoID0gdGltZXJGbHVzaDsKK2V4cG9ydHMudG91Y2ggPSB0b3VjaDsKK2V4cG9y
dHMudG91Y2hlcyA9IHRvdWNoZXM7CitleHBvcnRzLnRyYW5zaXRpb24gPSB0cmFuc2l0aW9uOwor
ZXhwb3J0cy50cmFuc3Bvc2UgPSB0cmFuc3Bvc2U7CitleHBvcnRzLnRyZWUgPSB0cmVlOworZXhw
b3J0cy50cmVlbWFwID0gaW5kZXgkMzsKK2V4cG9ydHMudHJlZW1hcEJpbmFyeSA9IGJpbmFyeTsK
K2V4cG9ydHMudHJlZW1hcERpY2UgPSB0cmVlbWFwRGljZTsKK2V4cG9ydHMudHJlZW1hcFJlc3F1
YXJpZnkgPSByZXNxdWFyaWZ5OworZXhwb3J0cy50cmVlbWFwU2xpY2UgPSB0cmVlbWFwU2xpY2U7
CitleHBvcnRzLnRyZWVtYXBTbGljZURpY2UgPSBzbGljZURpY2U7CitleHBvcnRzLnRyZWVtYXBT
cXVhcmlmeSA9IHNxdWFyaWZ5OworZXhwb3J0cy50c3YgPSB0c3YkMTsKK2V4cG9ydHMudHN2Rm9y
bWF0ID0gdHN2Rm9ybWF0OworZXhwb3J0cy50c3ZGb3JtYXRCb2R5ID0gdHN2Rm9ybWF0Qm9keTsK
K2V4cG9ydHMudHN2Rm9ybWF0Um93ID0gdHN2Rm9ybWF0Um93OworZXhwb3J0cy50c3ZGb3JtYXRS
b3dzID0gdHN2Rm9ybWF0Um93czsKK2V4cG9ydHMudHN2Rm9ybWF0VmFsdWUgPSB0c3ZGb3JtYXRW
YWx1ZTsKK2V4cG9ydHMudHN2UGFyc2UgPSB0c3ZQYXJzZTsKK2V4cG9ydHMudHN2UGFyc2VSb3dz
ID0gdHN2UGFyc2VSb3dzOworZXhwb3J0cy51dGNEYXkgPSB1dGNEYXk7CitleHBvcnRzLnV0Y0Rh
eXMgPSB1dGNEYXlzOworZXhwb3J0cy51dGNGcmlkYXkgPSB1dGNGcmlkYXk7CitleHBvcnRzLnV0
Y0ZyaWRheXMgPSB1dGNGcmlkYXlzOworZXhwb3J0cy51dGNIb3VyID0gdXRjSG91cjsKK2V4cG9y
dHMudXRjSG91cnMgPSB1dGNIb3VyczsKK2V4cG9ydHMudXRjTWlsbGlzZWNvbmQgPSBtaWxsaXNl
Y29uZDsKK2V4cG9ydHMudXRjTWlsbGlzZWNvbmRzID0gbWlsbGlzZWNvbmRzOworZXhwb3J0cy51
dGNNaW51dGUgPSB1dGNNaW51dGU7CitleHBvcnRzLnV0Y01pbnV0ZXMgPSB1dGNNaW51dGVzOwor
ZXhwb3J0cy51dGNNb25kYXkgPSB1dGNNb25kYXk7CitleHBvcnRzLnV0Y01vbmRheXMgPSB1dGNN
b25kYXlzOworZXhwb3J0cy51dGNNb250aCA9IHV0Y01vbnRoOworZXhwb3J0cy51dGNNb250aHMg
PSB1dGNNb250aHM7CitleHBvcnRzLnV0Y1NhdHVyZGF5ID0gdXRjU2F0dXJkYXk7CitleHBvcnRz
LnV0Y1NhdHVyZGF5cyA9IHV0Y1NhdHVyZGF5czsKK2V4cG9ydHMudXRjU2Vjb25kID0gc2Vjb25k
OworZXhwb3J0cy51dGNTZWNvbmRzID0gc2Vjb25kczsKK2V4cG9ydHMudXRjU3VuZGF5ID0gdXRj
U3VuZGF5OworZXhwb3J0cy51dGNTdW5kYXlzID0gdXRjU3VuZGF5czsKK2V4cG9ydHMudXRjVGh1
cnNkYXkgPSB1dGNUaHVyc2RheTsKK2V4cG9ydHMudXRjVGh1cnNkYXlzID0gdXRjVGh1cnNkYXlz
OworZXhwb3J0cy51dGNUdWVzZGF5ID0gdXRjVHVlc2RheTsKK2V4cG9ydHMudXRjVHVlc2RheXMg
PSB1dGNUdWVzZGF5czsKK2V4cG9ydHMudXRjV2VkbmVzZGF5ID0gdXRjV2VkbmVzZGF5OworZXhw
b3J0cy51dGNXZWRuZXNkYXlzID0gdXRjV2VkbmVzZGF5czsKK2V4cG9ydHMudXRjV2VlayA9IHV0
Y1N1bmRheTsKK2V4cG9ydHMudXRjV2Vla3MgPSB1dGNTdW5kYXlzOworZXhwb3J0cy51dGNZZWFy
ID0gdXRjWWVhcjsKK2V4cG9ydHMudXRjWWVhcnMgPSB1dGNZZWFyczsKK2V4cG9ydHMudmFsdWVz
ID0gdmFsdWVzOworZXhwb3J0cy52YXJpYW5jZSA9IHZhcmlhbmNlOworZXhwb3J0cy52ZXJzaW9u
ID0gdmVyc2lvbjsKK2V4cG9ydHMudm9yb25vaSA9IHZvcm9ub2k7CitleHBvcnRzLndpbmRvdyA9
IGRlZmF1bHRWaWV3OworZXhwb3J0cy54bWwgPSB4bWw7CitleHBvcnRzLnppcCA9IHppcDsKK2V4
cG9ydHMuem9vbSA9IHpvb207CitleHBvcnRzLnpvb21JZGVudGl0eSA9IGlkZW50aXR5JDk7Citl
eHBvcnRzLnpvb21UcmFuc2Zvcm0gPSB0cmFuc2Zvcm0kMTsKKworT2JqZWN0LmRlZmluZVByb3Bl
cnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTsKKworfSkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2VzL0dTdHJl
YW1lci5zdmcgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvR1N0
cmVhbWVyLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMjg4OWM5YTAwNTVmNjMyOTc2NjUyYjJmNDIwNzJiODIy
OWVlZWUyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvSW1hZ2VzL0dTdHJlYW1lci5zdmcKQEAgLTAsMCArMSw3MyBAQAorPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IS0tIEdlbmVyYXRv
cjogQWRvYmUgSWxsdXN0cmF0b3IgMTIuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVy
c2lvbjogNi4wMCBCdWlsZCA1MTQ0OCkgIC0tPgorCis8c3ZnCisgICB4bWxuczpkYz0iaHR0cDov
L3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCisgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZl
Y29tbW9ucy5vcmcvbnMjIgorICAgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAy
LzIyLXJkZi1zeW50YXgtbnMjIgorICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIKKyAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKKyAgIHhtbG5zOnNv
ZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0
ZCIKKyAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2Vz
L2lua3NjYXBlIgorICAgdmVyc2lvbj0iMS4wIgorICAgaWQ9IkxheWVyXzEiCisgICB3aWR0aD0i
MTU3LjI3OTgyIgorICAgaGVpZ2h0PSI3NC44Njk2NzUiCisgICB2aWV3Qm94PSIwIDAgODMuMTU2
NTA5IDMzLjc3NTMyMSIKKyAgIG92ZXJmbG93PSJ2aXNpYmxlIgorICAgZW5hYmxlLWJhY2tncm91
bmQ9Im5ldyAwIDAgMjgwLjIyIDY5LjM4NyIKKyAgIHhtbDpzcGFjZT0icHJlc2VydmUiCisgICBz
b2RpcG9kaTp2ZXJzaW9uPSIwLjMyIgorICAgaW5rc2NhcGU6dmVyc2lvbj0iMC45Mi40ICg1ZGE2
ODljMzEzLCAyMDE5LTAxLTE0KSIKKyAgIHNvZGlwb2RpOmRvY25hbWU9IkdTdHJlYW1lci5zdmci
CisgICBpbmtzY2FwZTpvdXRwdXRfZXh0ZW5zaW9uPSJvcmcuaW5rc2NhcGUub3V0cHV0LnN2Zy5p
bmtzY2FwZSIKKyAgIHN0eWxlPSJvdmVyZmxvdzp2aXNpYmxlIj48bWV0YWRhdGEKKyAgIGlkPSJt
ZXRhZGF0YTMwIj48cmRmOlJERj48Y2M6V29yaworICAgICAgIHJkZjphYm91dD0iIj48ZGM6Zm9y
bWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZQorICAgICAgICAgcmRmOnJlc291
cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz48ZGM6dGl0bGU+
PC9kYzp0aXRsZT48L2NjOldvcms+PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGRlZnMKKyAgIGlkPSJk
ZWZzMjgiPjxpbmtzY2FwZTpwZXJzcGVjdGl2ZQorICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2Fw
ZTpwZXJzcDNkIgorICAgICBpbmtzY2FwZTp2cF94PSIwIDogMzQuNjkzNSA6IDEiCisgICAgIGlu
a3NjYXBlOnZwX3k9IjAgOiA5OTkuOTk5OTkgOiAwIgorICAgICBpbmtzY2FwZTp2cF96PSIyODAu
MjIgOiAzNC42OTM1IDogMSIKKyAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjE0MC4xMSA6
IDIzLjEyOSA6IDEiCisgICAgIGlkPSJwZXJzcGVjdGl2ZTMyIiAvPjwvZGVmcz48c29kaXBvZGk6
bmFtZWR2aWV3CisgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI5NjgiCisgICBpbmtzY2FwZTp3
aW5kb3ctd2lkdGg9IjEyODAiCisgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgorICAgaW5rc2Nh
cGU6cGFnZW9wYWNpdHk9IjAuMCIKKyAgIGd1aWRldG9sZXJhbmNlPSIxMC4wIgorICAgZ3JpZHRv
bGVyYW5jZT0iMTAuMCIKKyAgIG9iamVjdHRvbGVyYW5jZT0iMTAuMCIKKyAgIGJvcmRlcm9wYWNp
dHk9IjEuMCIKKyAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgorICAgcGFnZWNvbG9yPSIjZmZmZmZm
IgorICAgaWQ9ImJhc2UiCisgICBzaG93Z3JpZD0iZmFsc2UiCisgICBpbmtzY2FwZTp6b29tPSIx
LjA1MDMzOCIKKyAgIGlua3NjYXBlOmN4PSIxMjQuNjYxNzMiCisgICBpbmtzY2FwZTpjeT0iOC44
MzY2Nzg2IgorICAgaW5rc2NhcGU6d2luZG93LXg9IjUyMiIKKyAgIGlua3NjYXBlOndpbmRvdy15
PSI2MCIKKyAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9IkxheWVyXzEiCisgICBmaXQtbWFyZ2lu
LXRvcD0iMCIKKyAgIGZpdC1tYXJnaW4tbGVmdD0iMCIKKyAgIGZpdC1tYXJnaW4tcmlnaHQ9IjAi
CisgICBmaXQtbWFyZ2luLWJvdHRvbT0iMCIKKyAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9
IjAiIC8+Cis8ZworICAgaWQ9ImczNzM5IgorICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTcuOTMw
NzU2LC03LjkzMTAyOTMpIj48cGF0aAorICAgICBpZD0icGF0aDIxIgorICAgICBkPSJtIDUyLjQw
Mzc4NSw2Ljg2ODE0MzcgYyAtNS4xMDI4NDMsMCAtMTIuNTY4ODk5LC00LjE1NzU1NzYgLTE5Ljg0
NTMzMywtNC4xNTc1NTc2IC03LjI3NjQzMywwIC0xMS42MjI2NzEsNC4xNTc1NTc2IC0xMi4zNzky
NzYsNC43MjQ1NDAyIC0wLjc1NTY2MywwLjU2Njk4MjUgLTEuMjI5MjQ5LDIuNzM5NjI5NyAxLjAz
OTYyNSwyLjA3ODMwNzEgMi4yNjg4NzQsLTAuNjYxMzIyNCA0LjE1NzU1OCwtMC42NjEzMjI0IDcu
NzQ5MDc2LC0wLjY2MTMyMjQgMy41OTE1MTksMCAxMi4xOTA1OTcsNC45MTQxNjMgMjAuODg0OTU4
LDQuOTE0MTYzIDguNjk0MzYyLDAgMTUuOTY5ODUyLC02LjcwODUwNzIgMTcuNTc2NDYsLTkuMDcx
NzIwNyAxLjYwNjYwNywtMi4zNjMyMTM0IDAuMDk0MzQsLTMuMTE4ODc1NyAtMS4xMzM5NjYsLTIu
NTUwOTQ5OCAtMS4yMjkyNDgsMC41NjY5ODI2IC05LjE2NjA2LDQuNzI0NTQwMiAtMTMuODkxNTQ0
LDQuNzI0NTQwMiB6IgorICAgICBzdHlsZT0iZmlsbDojZmYzMTMxO3N0cm9rZS13aWR0aDowLjk0
MzM5ODU5IgorICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPjxwYXRoCisg
ICAgIGlkPSJwYXRoMjMiCisgICAgIGQ9Im0gNzQuNTcxNzY1LDE5LjgxMzQ1OSBjIC01LjM2MTMz
NCwwIC0xMy4yMDQ3NSwtNC4xNTY2MTQgLTIwLjg0OTEwOSwtNC4xNTY2MTQgLTcuNjQ0MzU5LDAg
LTEyLjIxMTM1MSw0LjE1NjYxNCAtMTMuMDA1NjkzLDQuNzI0NTQgLTAuNzk0MzQxLDAuNTY3OTI2
IC0xLjI5MTUxMiwyLjczOTYzIDEuMDkxNTEyLDIuMDc4MzA3IDIuMzgzMDI1LC0wLjY2MTMyMiA0
LjM2NzkzNiwtMC42NjEzMjIgOC4xNDA1ODcsLTAuNjYxMzIyIDMuNzcyNjUxLDAgMTIuODA3NTc5
LDQuOTE0MTYzIDIxLjk0MDYyMSw0LjkxNDE2MyA5LjEzMzA0MiwwIDE2Ljc3ODM0NCwtNi43MDg1
MDcgMTguNDY2MDg0LC05LjA3MDc3NyAxLjY4Nzc0LC0yLjM2MzIxNCAwLjA5OTA2LC0zLjExOTgx
OSAtMS4xOTE1MTIsLTIuNTUxODkzIC0xLjI5MDU2OSwwLjU2NzkyNSAtOS42MjgzMjYsNC43MjM1
OTYgLTE0LjU5MjQ5LDQuNzIzNTk2IHoiCisgICAgIHN0eWxlPSJmaWxsOiMzMTk4MzE7c3Ryb2tl
LXdpZHRoOjAuOTQzMzk4NTkiCisgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAi
IC8+PHBhdGgKKyAgICAgaWQ9InBhdGgyNSIKKyAgICAgZD0ibSA0My43MTk4MDEsMzQuMDk4NDAx
IGMgLTUuNTU5NDQ4LDAgLTEzLjY5MzQzMSwtNC40OTE1MjEgLTIxLjYyMDgwOSwtNC40OTE1MjEg
LTcuOTI3Mzc5LDAgLTEyLjY2NDE4MjksNC40OTE1MjEgLTEzLjQ4Nzc2OTksNS4xMDM3ODcgLTAu
ODIzNTg3LDAuNjEyMjY1IC0xLjMzODY4MjYsMi45NTk0NDEgMS4xMzIwNzgzLDIuMjQ0MzQ1IDIu
NDcxNzA0NiwtMC43MTQxNTMgNC41MzAxOTk2LC0wLjcxNDE1MyA4LjQ0MjQ3MzYsLTAuNzE0MTUz
IDMuOTEyMjc0LDAgMTMuMjgyMTA5LDUuMzA3NTYxIDIyLjc1NDc3NSw1LjMwNzU2MSA5LjQ3MTcy
MiwwIDE3LjM5OTEsLTcuMjQ2MjQ1IDE5LjE1MDA0OCwtOS43OTgxMzggMS43NTA5NDgsLTIuNTUx
ODkzIDAuMTAyODMsLTMuMzY3OTMzIC0xLjIzNTg1MiwtMi43NTU2NjggLTEuMzM4NjgzLDAuNjEy
MjY2IC05Ljk4NjgxOCw1LjEwMzc4NyAtMTUuMTM0OTQ0LDUuMTAzNzg3IHoiCisgICAgIHN0eWxl
PSJmaWxsOiMzMjMyY2M7c3Ryb2tlLXdpZHRoOjAuOTQzMzk4NTkiCisgICAgIGlua3NjYXBlOmNv
bm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+PC9nPgorPC9zdmc+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKaW5kZXggYzgyNmQ1MWY5MTc3ZWRlNGQ5Yjk1
NmI5N2M1MWQ0OTgwNjBlZTcwYy4uMWI2ODI1MzBhY2FlNmQxYmYwOGI4NjJhYjFiNDVhZjY2Njgy
ZmJmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFp
bi5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRt
bApAQCAtMTA5LDYgKzEwOSw3IEBACiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJW
aWV3cy9Gb250UmVzb3VyY2VDb250ZW50Vmlldy5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iVmlld3MvRm9ybWF0dGVkVmFsdWUuY3NzIj4KICAgICA8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0dhdWdlQ2hhcnQuY3NzIj4KKyAgICA8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmNzcyI+CiAgICAg
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9HZW5lcmFsU3R5bGVEZXRhaWxzU2lk
ZWJhclBhbmVsLmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9H
b1RvTGluZURpYWxvZy5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmll
d3MvR3JhZGllbnRFZGl0b3IuY3NzIj4KQEAgLTI4Myw2ICsyODQsOCBAQAogICAgIDxzY3JpcHQg
c3JjPSJFeHRlcm5hbC90aHJlZS5qcy90aHJlZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9IkV4dGVybmFsL3RocmVlLmpzL09yYml0Q29udHJvbHMuanMiPjwvc2NyaXB0PgogCisgICAg
PHNjcmlwdCBzcmM9IkV4dGVybmFsL2QzLmpzL2QzLmpzIj48L3NjcmlwdD4KKwogICAgIDxzY3Jp
cHQgc3JjPSJCYXNlL1dlYkluc3BlY3Rvci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9
IkJhc2UvUGxhdGZvcm0uanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJCYXNlL0RlYm91
bmNlci5qcyI+PC9zY3JpcHQ+CkBAIC0zMzYsNiArMzM5LDcgQEAKICAgICA8c2NyaXB0IHNyYz0i
UHJvdG9jb2wvRE9NU3RvcmFnZU9ic2VydmVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iUHJvdG9jb2wvRGF0YWJhc2VPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9IlByb3RvY29sL0RlYnVnZ2VyT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQg
c3JjPSJQcm90b2NvbC9HU3RyZWFtZXJPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCBzcmM9IlByb3RvY29sL0hlYXBPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9IlByb3RvY29sL0luc3BlY3Rvck9ic2VydmVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHNyYz0iUHJvdG9jb2wvTGF5ZXJUcmVlT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgpAQCAtNDkyLDYg
KzQ5Niw4IEBACiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9BdWRpdFRlc3RDYXNlUmVzdWx0Lmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0F1ZGl0VGVzdEdyb3VwUmVzdWx0
LmpzIj48L3NjcmlwdD4KIAorICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvR1N0cmVhbWVyUGlwZWxp
bmUuanMiPjwvc2NyaXB0PgorCiAgICAgPHNjcmlwdCBzcmM9IlByb3hpZXMvRm9ybWF0dGVyV29y
a2VyUHJveHkuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm94aWVzL0hlYXBTbmFw
c2hvdERpZmZQcm94eS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3hpZXMvSGVh
cFNuYXBzaG90RWRnZVByb3h5LmpzIj48L3NjcmlwdD4KQEAgLTU2OSw2ICs1NzUsNyBAQAogICAg
IDxzY3JpcHQgc3JjPSJWaWV3cy9DYW52YXNUYWJDb250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCBzcmM9IlZpZXdzL0NvbnNvbGVUYWJDb250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0VsZW1lbnRzVGFiQ29udGVudFZpZXcuanMiPjwvc2Ny
aXB0PgorICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0xheWVyc1RhYkNvbnRlbnRWaWV3Lmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvUmVzb3VyY2VUcmVlRWxlbWVudC5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1NjcmlwdFRyZWVFbGVtZW50Lmpz
Ij48L3NjcmlwdD4KQEAgLTU4NCw2ICs1OTEsOSBAQAogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9E
ZXRhaWxzU2VjdGlvblNpbXBsZVJvdy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZp
ZXdzL0RldGFpbHNTZWN0aW9uVGV4dFJvdy5qcyI+PC9zY3JpcHQ+CiAKKyAgICA8c2NyaXB0IHNy
Yz0iVmlld3MvR1N0cmVhbWVyU2lkZWJhclBhbmVsLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0
IHNyYz0iVmlld3MvR1N0cmVhbWVyVmlldy5qcyI+PC9zY3JpcHQ+CisKICAgICA8c2NyaXB0IHNy
Yz0iVmlld3MvU2V0dGluZ0VkaXRvci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZp
ZXdzL1NldHRpbmdzR3JvdXAuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9T
ZXR0aW5nc1ZpZXcuanMiPjwvc2NyaXB0PgpAQCAtODgwLDYgKzg5MCw3IEBACiAgICAgPHNjcmlw
dCBzcmM9IkNvbnRyb2xsZXJzL0RlYnVnZ2VyTWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNj
cmlwdCBzcmM9IkNvbnRyb2xsZXJzL0RyYWdUb0FkanVzdENvbnRyb2xsZXIuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9Gb3JtYXR0ZXJTb3VyY2VNYXAuanMiPjwv
c2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9HU3RyZWFtZXJNYW5hZ2VyLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvSEFSQnVpbGRlci5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0hlYXBNYW5hZ2VyLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvSW5kZXhlZERCTWFuYWdlci5q
cyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvR1N0cmVhbWVyUGlwZWxpbmUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Nb2RlbHMvR1N0cmVhbWVyUGlwZWxpbmUuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWUz
ZDljYzYwYTZiZGIyMjVhYmQwYzVhNDE0YmFlY2ZjZWY0NmM1YQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9HU3RyZWFtZXJQaXBl
bGluZS5qcwpAQCAtMCwwICsxLDQ4IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAxOSBJZ2Fs
aWEgUy5MCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
ICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vu
c2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29m
dHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCitXSS5HU3RyZWFtZXJQaXBl
bGluZSA9IGNsYXNzIEdTdHJlYW1lclBpcGVsaW5lCit7CisgICAgY29uc3RydWN0b3IobmFtZSwg
cGFyZW50QmluTmFtZSwgYmluTmFtZSwgZG90RGF0YSwgc3ZnRG9jdW1lbnQpCisgICAgeworICAg
ICAgICB0aGlzLl9uYW1lID0gbmFtZTsKKyAgICAgICAgdGhpcy5fcGFyZW50QmluTmFtZSA9IHBh
cmVudEJpbk5hbWU7CisgICAgICAgIHRoaXMuX2Jpbk5hbWUgPSBiaW5OYW1lOworICAgICAgICB0
aGlzLl9kb3REYXRhID0gZG90RGF0YTsKKyAgICAgICAgdGhpcy5fc3ZnRG9jdW1lbnQgPSBzdmdE
b2N1bWVudDsKKyAgICB9CisKKyAgICAvLyBQdWJsaWMKKworICAgIGdldCBuYW1lKCkgeyByZXR1
cm4gdGhpcy5fbmFtZTsgfQorICAgIGdldCBwYXJlbnRCaW5OYW1lKCkgeyByZXR1cm4gdGhpcy5f
cGFyZW50QmluTmFtZTsgfQorICAgIGdldCBiaW5OYW1lKCkgeyByZXR1cm4gdGhpcy5fYmluTmFt
ZTsgfQorICAgIGdldCBzdmdFbGVtZW50KCkgeyByZXR1cm4gdGhpcy5fc3ZnRG9jdW1lbnQuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoInN2ZyIpWzBdOyB9CisKKyAgICBnZXQgc2F2ZURhdGEoKQorICAg
IHsKKyAgICAgICAgbGV0IG5hbWUgPSB0aGlzLl9uYW1lOworICAgICAgICBsZXQgZmlsZW5hbWUg
PSBXSS51bmxvY2FsaXplZFN0cmluZyhgR1N0cmVhbWVyLXBpcGVsaW5lLWR1bXAtJHtuYW1lfS5k
b3RgKTsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgIHVybDogV0kuRmlsZVV0aWxpdGll
cy5pbnNwZWN0b3JVUkxGb3JGaWxlbmFtZShmaWxlbmFtZSksCisgICAgICAgICAgICBjb250ZW50
OiB0aGlzLl9kb3REYXRhLAorICAgICAgICB9OworICAgIH0KK307CisKK1dJLkdTdHJlYW1lclBp
cGVsaW5lLlR5cGVJZGVudGlmaWVyID0gImdzdHJlYW1lci1waXBlbGluZSI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9HU3RyZWFtZXJP
YnNlcnZlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29s
L0dTdHJlYW1lck9ic2VydmVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE1OGRiYjE5OWY3ODI1YmU5YmE0ZDgy
NDg0MzcyYmY0ODEwNmY3MzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9HU3RyZWFtZXJPYnNlcnZlci5qcwpAQCAtMCwwICsx
LDI4IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAxOSBJZ2FsaWEgUy5MCisgKgorICogIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAw
MjExMC0xMzAxICBVU0EKKyAqLworCitXSS5HU3RyZWFtZXJPYnNlcnZlciA9IGNsYXNzIEdTdHJl
YW1lck9ic2VydmVyIGV4dGVuZHMgSW5zcGVjdG9yQmFja2VuZC5EaXNwYXRjaGVyCit7CisgICAg
Ly8gRXZlbnRzIGRlZmluZWQgYnkgdGhlICJHU3RyZWFtZXIiIGRvbWFpbi4KKworICAgIGFjdGl2
ZVBpcGVsaW5lc0NoYW5nZWQoKQorICAgIHsKKyAgICAgICAgV0kuZ3N0cmVhbWVyTWFuYWdlci5h
Y3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7CisgICAgfQorCit9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvVGFyZ2V0LmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvVGFyZ2V0LmpzCmluZGV4IGNh
Mzg1ZmUyOGIxYmVmYmE4NGM0NjljODc1ODkyMWQ3ZmZiMGEzNDEuLjBhODkxYjA1YjAxOTI3Yjhk
MzkzZGM5MDRkNmRmZDUwM2IxMzE2ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1RhcmdldC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9UYXJnZXQuanMKQEAgLTEzNiw2ICsxMzYsNyBA
QCBXSS5UYXJnZXQgPSBjbGFzcyBUYXJnZXQgZXh0ZW5kcyBXSS5PYmplY3QKICAgICBnZXQgRE9N
U3RvcmFnZUFnZW50KCkgeyByZXR1cm4gdGhpcy5fYWdlbnRzLkRPTVN0b3JhZ2U7IH0KICAgICBn
ZXQgRGF0YWJhc2VBZ2VudCgpIHsgcmV0dXJuIHRoaXMuX2FnZW50cy5EYXRhYmFzZTsgfQogICAg
IGdldCBEZWJ1Z2dlckFnZW50KCkgeyByZXR1cm4gdGhpcy5fYWdlbnRzLkRlYnVnZ2VyOyB9Cisg
ICAgZ2V0IEdTdHJlYW1lckFnZW50KCkgeyByZXR1cm4gdGhpcy5fYWdlbnRzLkdTdHJlYW1lcjsg
fQogICAgIGdldCBIZWFwQWdlbnQoKSB7IHJldHVybiB0aGlzLl9hZ2VudHMuSGVhcDsgfQogICAg
IGdldCBJbmRleGVkREJBZ2VudCgpIHsgcmV0dXJuIHRoaXMuX2FnZW50cy5JbmRleGVkREI7IH0K
ICAgICBnZXQgSW5zcGVjdG9yQWdlbnQoKSB7IHJldHVybiB0aGlzLl9hZ2VudHMuSW5zcGVjdG9y
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9HU3RyZWFtZXJTaWRlYmFyUGFuZWwuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBhbmVsLmNzcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZTg1
NGJkZTNjNTMzZWRhMGJmODZlZWI4NzViOTUzNjYwMDQ4MzJmCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJh
clBhbmVsLmNzcwpAQCAtMCwwICsxLDEwOCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMTkg
SWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAq
CisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBM
aWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVl
IFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworLnNpZGViYXIgPiAu
cGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgPiAuY29udGVudCB7CisgICAgdG9wOiB2YXIoLS1u
YXZpZ2F0aW9uLWJhci1oZWlnaHQpOworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9u
LmdzdHJlYW1lciA+IC5uYXZpZ2F0aW9uLWJhciB7CisgICAgcG9zaXRpb246IGFic29sdXRlOwor
ICAgIHRvcDogMDsKKyAgICBsZWZ0OiAwOworICAgIHJpZ2h0OiAwOworfQorCisuc2lkZWJhciA+
IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciA+IC5uYXZpZ2F0aW9uLWJhciAuZ3N0cmVhbWVy
LWJyZWFrcG9pbnRzIHsKKyAgICBmaWxsOiBub25lOworICAgIHN0cm9rZTogdmFyKC0tZ2x5cGgt
Y29sb3IpOworfQorLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgPiAubmF2
aWdhdGlvbi1iYXIgLmdzdHJlYW1lci1icmVha3BvaW50cy5hY3RpdmF0ZWQgeworICAgIGZpbGw6
IHZhcigtLWdseXBoLWNvbG9yLWFjdGl2ZSk7CisgICAgc3Ryb2tlOiB2YXIoLS1nbHlwaC1jb2xv
ci1hY3RpdmUpOworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciA+
IC5uYXZpZ2F0aW9uLWJhciAuZ3N0cmVhbWVyLXBhdXNlLXJlc3VtZSB7CisgICAgZmlsbDogbm9u
ZTsKKyAgICBzdHJva2U6IHZhcigtLWdseXBoLWNvbG9yKTsKK30KKy5zaWRlYmFyID4gLnBhbmVs
Lm5hdmlnYXRpb24uZ3N0cmVhbWVyID4gLm5hdmlnYXRpb24tYmFyIC5nc3RyZWFtZXItcGF1c2Ut
cmVzdW1lLmFjdGl2YXRlZCB7CisgICAgc3Ryb2tlOiB2YXIoLS1nbHlwaC1jb2xvci1hY3RpdmUp
OworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAud2FybmluZy1i
YW5uZXIgeworICAgIHRleHQtYWxpZ246IGNlbnRlcjsKKyAgICBmb250LXNpemU6IDExcHg7CisK
KyAgICBwYWRkaW5nOiAxMXB4IDZweDsKKyAgICBtYXJnaW4tYm90dG9tOiA2cHg7CisKKyAgICBi
b3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTsKKyAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiBoc2woNTAsIDEwMCUsIDk0JSk7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5h
dmlnYXRpb24uZ3N0cmVhbWVyIC50cmVlLW91dGxpbmUuc2luZ2xlLXRocmVhZCA+IC5pdGVtLnRo
cmVhZCB7CisgICAgZGlzcGxheTogbm9uZTsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdh
dGlvbi5nc3RyZWFtZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkIHsKKyAgICAtLXRyZWUt
b3V0bGluZS1zaW5nbGUtdGhyZWFkLW1hcmdpbi1zdGFydDogLTEwcHg7Cit9CisKK2JvZHlbZGly
PWx0cl0gLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLnRyZWUtb3V0bGlu
ZS5zaW5nbGUtdGhyZWFkIHsKKyAgICBtYXJnaW4tbGVmdDogdmFyKC0tdHJlZS1vdXRsaW5lLXNp
bmdsZS10aHJlYWQtbWFyZ2luLXN0YXJ0KTsKK30KKworYm9keVtkaXI9cnRsXSAuc2lkZWJhciA+
IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAudHJlZS1vdXRsaW5lLnNpbmdsZS10aHJlYWQg
eworICAgIG1hcmdpbi1yaWdodDogdmFyKC0tdHJlZS1vdXRsaW5lLXNpbmdsZS10aHJlYWQtbWFy
Z2luLXN0YXJ0KTsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIg
Lndhcm5pbmctYmFubmVyID4gYSB7CisgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Cisg
ICAgY3Vyc29yOiBwb2ludGVyOworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdz
dHJlYW1lciAuZGV0YWlscy1zZWN0aW9uIHsKKyAgICBmb250LXNpemU6IDExcHg7Cit9CisKKy5z
aWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC5kZXRhaWxzLXNlY3Rpb24ucGF1
c2VkLXJlYXNvbi5jb2xsYXBzZWQgPiAuaGVhZGVyID4gLm9wdGlvbnMgeworICAgIGRpc3BsYXk6
IGJsb2NrOworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAuZGV0
YWlscy1zZWN0aW9uID4gLmNvbnRlbnQgeworICAgIGRpc3BsYXk6IGJsb2NrOworfQorCisuc2lk
ZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAuZGV0YWlscy1zZWN0aW9uLmNvbGxh
cHNlZCA+IC5jb250ZW50IHsKKyAgICBkaXNwbGF5OiBub25lOworfQorCisuc2lkZWJhciA+IC5w
YW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAuZGV0YWlscy1zZWN0aW9uID4gLmNvbnRlbnQgPiAu
Z3JvdXAgeworICAgIGRpc3BsYXk6IGJsb2NrOworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZp
Z2F0aW9uLmdzdHJlYW1lciAuZGV0YWlscy1zZWN0aW9uLnNjcmlwdHM6bm90KC5jb2xsYXBzZWQp
IHsKKyAgICBib3JkZXItYm90dG9tOiBub25lOworfQorCitAbWVkaWEgKHByZWZlcnMtZGFyay1p
bnRlcmZhY2UpIHsKKyAgICAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAu
d2FybmluZy1iYW5uZXIgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS15ZWxsb3ct
aGlnaGxpZ2h0LWJhY2tncm91bmQtY29sb3IpOworICAgICAgICBjb2xvcjogdmFyKC0teWVsbG93
LWhpZ2hsaWdodC10ZXh0LWNvbG9yKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJTaWRlYmFyUGFuZWwuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJTaWRl
YmFyUGFuZWwuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWQwY2YyZjYwZTQ2YzI2MWEzMmZhZDNhYTJjZGY2Njc4
ZjQ0M2VhNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclNpZGViYXJQYW5lbC5qcwpAQCAtMCwwICsxLDEwNSBAQAor
LyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAg
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1Ymxp
YworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMw
MSAgVVNBCisgKi8KKworV0kuR1N0cmVhbWVyU2lkZWJhclBhbmVsID0gY2xhc3MgR1N0cmVhbWVy
U2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYXJQYW5lbAoreworICAgIGNv
bnN0cnVjdG9yKCkKKyAgICB7CisgICAgICAgIHN1cGVyKCJnc3RyZWFtZXIiLCBXSS5VSVN0cmlu
ZygiR1N0cmVhbWVyIiksIGZhbHNlKTsKKworICAgICAgICB0aGlzLmNvbnRlbnRUcmVlT3V0bGlu
ZS5hZGRFdmVudExpc3RlbmVyKFdJLlRyZWVPdXRsaW5lLkV2ZW50LlNlbGVjdGlvbkRpZENoYW5n
ZSwgdGhpcy5fdHJlZVNlbGVjdGlvbkRpZENoYW5nZSwgdGhpcyk7CisKKyAgICAgICAgV0kuZ3N0
cmVhbWVyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkdTdHJlYW1lck1hbmFnZXIuRXZlbnQu
QWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCwgdGhpcy5fcmVmcmVzaFBpcGVsaW5lc0xpc3QsIHRoaXMp
OworICAgIH0KKworICAgIC8vIFByb3RlY3RlZAorCisgICAgaW5pdGlhbExheW91dCgpCisgICAg
eworICAgICAgICBzdXBlci5pbml0aWFsTGF5b3V0KCk7CisKKyAgICAgICAgbGV0IHBpcGVsaW5l
c1JvdyA9IG5ldyBXSS5EZXRhaWxzU2VjdGlvblJvdzsKKyAgICAgICAgcGlwZWxpbmVzUm93LmVs
ZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5jb250ZW50VHJlZU91dGxpbmUuZWxlbWVudCk7CisKKyAg
ICAgICAgbGV0IHBpcGVsaW5lc0dyb3VwID0gbmV3IFdJLkRldGFpbHNTZWN0aW9uR3JvdXAoW3Bp
cGVsaW5lc1Jvd10pOworICAgICAgICB0aGlzLl9waXBlbGluZXNTZWN0aW9uID0gbmV3IFdJLkRl
dGFpbHNTZWN0aW9uKCJwaXBlbGluZXMiLCBXSS5VSVN0cmluZygiUGlwZWxpbmVzIiksIFtwaXBl
bGluZXNHcm91cF0pOworICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuYXBwZW5kQ2hp
bGQodGhpcy5fcGlwZWxpbmVzU2VjdGlvbi5lbGVtZW50KTsKKworICAgICAgICB0aGlzLl9yZWZy
ZXNoUGlwZWxpbmVzTGlzdCgpOworICAgIH0KKworICAgIGhhc0N1c3RvbUZpbHRlcnMoKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgbWF0Y2hUcmVlRWxlbWVudEFn
YWluc3RDdXN0b21GaWx0ZXJzKHRyZWVFbGVtZW50LCBmbGFncykKKyAgICB7CisgICAgICAgIGxl
dCB0ZXh0RmlsdGVyUmVnZXggPSBzaW1wbGVHbG9iU3RyaW5nVG9SZWdFeHAodGhpcy5maWx0ZXJC
YXIuZmlsdGVycy50ZXh0LCAiaSIpOworICAgICAgICBpZiAoIXRleHRGaWx0ZXJSZWdleCkKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgIHJldHVybiB0ZXh0RmlsdGVyUmVnZXgu
dGVzdCh0cmVlRWxlbWVudC5uYW1lKTsKKyAgICB9CisKKyAgICAvLyBQcml2YXRlCisKKyAgICBf
cmVmcmVzaFBpcGVsaW5lc0xpc3QoKQorICAgIHsKKyAgICAgICAgaWYgKCFXSS50YXJnZXRzQXZh
aWxhYmxlKCkpIHsKKyAgICAgICAgICAgIFdJLndoZW5UYXJnZXRzQXZhaWxhYmxlKCkudGhlbigo
KSA9PiB7CisgICAgICAgICAgICAgICAgdGhpcy5fcmVmcmVzaFBpcGVsaW5lc0xpc3QoKTsKKyAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAg
bGV0IGFnZW50ID0gV0kuZ3N0cmVhbWVyTWFuYWdlci5hZ2VudDsKKyAgICAgICAgaWYgKCFhZ2Vu
dCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBhZ2VudC5nZXRBY3RpdmVQaXBlbGlu
ZXNOYW1lcygpLnRoZW4oKHBheWxvYWQpID0+IHsKKyAgICAgICAgICAgIHRoaXMuY29udGVudFRy
ZWVPdXRsaW5lLnJlbW92ZUNoaWxkcmVuKHRydWUpOworICAgICAgICAgICAgZm9yIChsZXQgbmFt
ZSBvZiBwYXlsb2FkLnBpcGVsaW5lcykgeworICAgICAgICAgICAgICAgIGxldCBlbHQgPSBuZXcg
V0kuVHJlZUVsZW1lbnQobmFtZSwgbnVsbCk7CisgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50
VHJlZU91dGxpbmUuYXBwZW5kQ2hpbGQoZWx0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSku
Y2F0Y2goKGVycm9yKSA9PiB7CisgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qg
ZmV0Y2ggcGlwZWxpbmVzOiAiLCBlcnJvcik7CisgICAgICAgIH0pOworICAgIH0KKworICAgIF90
cmVlU2VsZWN0aW9uRGlkQ2hhbmdlKGV2ZW50KQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLnNl
bGVjdGVkKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGxldCB0cmVlRWxlbWVudCA9
IHRoaXMuY29udGVudFRyZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQ7CisgICAgICAgIGlm
ICghdHJlZUVsZW1lbnQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgbGV0IHBpcGVs
aW5lTmFtZSA9IHRyZWVFbGVtZW50LnRpdGxlOworICAgICAgICBsZXQgdGFyZ2V0ID0gV0kuYXNz
dW1pbmdNYWluVGFyZ2V0KCk7CisgICAgICAgIHRhcmdldC5HU3RyZWFtZXJBZ2VudC5kdW1wQWN0
aXZlUGlwZWxpbmUocGlwZWxpbmVOYW1lLCAiIikudGhlbigocGF5bG9hZCkgPT4geworICAgICAg
ICAgICAgbGV0IGRvY3VtZW50RnJhZ21lbnQgPSBXSS5nc3RyZWFtZXJNYW5hZ2VyLnJlbmRlclNW
R0VsZW1lbnQocGF5bG9hZC5waXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24pOworICAgICAgICAg
ICAgbGV0IHJlcHJlc2VudGVkT2JqZWN0ID0gbmV3IFdJLkdTdHJlYW1lclBpcGVsaW5lKHBpcGVs
aW5lTmFtZSwgIiIsICIiLCBwYXlsb2FkLnBpcGVsaW5lR3JhcGhSZXByZXNlbnRhdGlvbiwgZG9j
dW1lbnRGcmFnbWVudCk7CisgICAgICAgICAgICBXSS5zaG93UmVwcmVzZW50ZWRPYmplY3QocmVw
cmVzZW50ZWRPYmplY3QpOworICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHsKKyAgICAgICAg
ICAgIGNvbnNvbGUuZXJyb3IoIkNvdWxkIG5vdCBkdW1wIHBpcGVsaW5lOiAiLCBlcnJvcik7Cisg
ICAgICAgIH0pOworICAgIH0KK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5jc3MgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJUYWJDb250ZW50Vmll
dy5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjE2MzY5M2ExNTllMDYwZTBiMGVlMmIxMmExMjBkYTBmZTFhMWZh
ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmNzcwpAQCAtMCwwICsxLDMzIEBACisvKgor
ICogIENvcHlyaWdodCAoQykgMjAxOSBJZ2FsaWEgUy5MCisgKgorICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisg
KiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlm
IG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBV
U0EKKyAqLworCisuY29udGVudC12aWV3LmdzdHJlYW1lciB7CisgICAgcGFkZGluZy1ib3R0b206
IDZ2aDsKKyAgICBvdmVyZmxvdy15OiBhdXRvOworfQorCisuY29udGVudC12aWV3LmdzdHJlYW1l
ciAubmF2aWdhdGlvbi1iYXIgeworICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTsKKyAgICB0
b3A6IDA7CisgICAgei1pbmRleDogMTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKK30K
KworLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgLm5hdmlnYXRpb24tYmFyLmludmlzaWJsZSB7Cisg
ICAgdmlzaWJpbGl0eTogaGlkZGVuOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJUYWJDb250ZW50
Vmlldy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jNjhmNWE3ZTgwMzM2MmVhMDZmMTg4MjQzODE2MTUyYWI4MDgz
MWJhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuanMKQEAgLTAsMCArMSw3MyBAQAorLyoK
KyAqICBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwor
ICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNz
ZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBp
ZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAg
VVNBCisgKi8KKworV0kuR1N0cmVhbWVyVGFiQ29udGVudFZpZXcgPSBjbGFzcyBHU3RyZWFtZXJU
YWJDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRCcm93c2VyVGFiQ29udGVudFZpZXcKK3sK
KyAgICBjb25zdHJ1Y3RvcihpZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAgbGV0IHRhYkJhckl0
ZW0gPSBXSS5HZW5lcmFsVGFiQmFySXRlbS5mcm9tVGFiSW5mbyhXSS5HU3RyZWFtZXJUYWJDb250
ZW50Vmlldy50YWJJbmZvKCkpOworICAgICAgICBsZXQgZGV0YWlsc1NpZGViYXJQYW5lbENvbnN0
cnVjdG9ycyA9IFtdOworCisgICAgICAgIHN1cGVyKGlkZW50aWZpZXIgfHwgImdzdHJlYW1lciIs
ICJnc3RyZWFtZXIiLCB0YWJCYXJJdGVtLCBXSS5HU3RyZWFtZXJTaWRlYmFyUGFuZWwsCisgICAg
ICAgICAgICAgIGRldGFpbHNTaWRlYmFyUGFuZWxDb25zdHJ1Y3RvcnMpOworCisgICAgICAgIHRo
aXMuX2dzdHJlYW1lclZpZXcgPSBudWxsOworICAgIH0KKworICAgIHN0YXRpYyB0YWJJbmZvKCkK
KyAgICB7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICBpbWFnZTogIkltYWdlcy9HU3Ry
ZWFtZXIuc3ZnIiwKKyAgICAgICAgICAgIHRpdGxlOiBXSS5VSVN0cmluZygiR1N0cmVhbWVyIiks
CisgICAgICAgIH07CisgICAgfQorCisgICAgc3RhdGljIGlzVGFiQWxsb3dlZCgpCisgICAgewor
ICAgICAgICByZXR1cm4gV0kuUGxhdGZvcm0ucG9ydCA9PT0gImd0ayIgfHwgV0kuUGxhdGZvcm0u
cG9ydCA9PT0gIndwZSI7CisgICAgfQorCisgICAgLy8gUHVibGljCisKKyAgICBnZXQgdHlwZSgp
IHsgcmV0dXJuIFdJLkdTdHJlYW1lclRhYkNvbnRlbnRWaWV3LlR5cGU7IH0KKworICAgIGdldCBz
dXBwb3J0c1NwbGl0Q29udGVudEJyb3dzZXIoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorCisgICAgY2FuU2hvd1JlcHJlc2VudGVkT2JqZWN0KHJlcHJlc2VudGVkT2JqZWN0
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2YgV0ku
R1N0cmVhbWVyUGlwZWxpbmU7CisgICAgfQorCisgICAgc2hvd1JlcHJlc2VudGVkT2JqZWN0KHJl
cHJlc2VudGVkT2JqZWN0LCBjb29raWUpCisgICAgeworICAgICAgICB0aGlzLl9nc3RyZWFtZXJW
aWV3LmRpc3BsYXlQaXBlbGluZShyZXByZXNlbnRlZE9iamVjdCk7CisgICAgfQorCisgICAgLy8g
UHJvdGVjdGVkCisKKyAgICBpbml0aWFsTGF5b3V0KCkKKyAgICB7CisgICAgICAgIHRoaXMuX2dz
dHJlYW1lclZpZXcgPSBuZXcgV0kuR1N0cmVhbWVyVmlldygiZ2VuZXJhbCIsIFdJLlVJU3RyaW5n
KCJHZW5lcmFsIikpOworICAgICAgICB0aGlzLmFkZFN1YnZpZXcodGhpcy5fZ3N0cmVhbWVyVmll
dyk7CisgICAgfQorfTsKKworV0kuR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuVHlwZSA9ICJnc3Ry
ZWFtZXIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvR1N0cmVhbWVyVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0dTdHJlYW1lclZpZXcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTI4NzQxMTAwZjlhMTcxMDE3
ODAzNjljMDcwMWE2NmQwMmZjMGU0MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclZpZXcuanMKQEAgLTAsMCArMSwx
NjAgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwKKyAqCisgKiAgVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAy
MTEwLTEzMDEgIFVTQQorICovCisKK1dJLkdTdHJlYW1lclZpZXcgPSBjbGFzcyBHU3RyZWFtZXJW
aWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKK3sKKyAgICBjb25zdHJ1Y3RvcihpZGVudGlmaWVy
LCBkaXNwbGF5TmFtZSkKKyAgICB7CisgICAgICAgIHN1cGVyKCk7CisKKyAgICAgICAgdGhpcy5f
aWRlbnRpZmllciA9IGlkZW50aWZpZXI7CisgICAgICAgIHRoaXMuX2Rpc3BsYXlOYW1lID0gZGlz
cGxheU5hbWU7CisgICAgICAgIHRoaXMuX3N2Z0VsZW1lbnQgPSBudWxsOworICAgICAgICB0aGlz
Ll9zY29wZUJhciA9IG51bGw7CisgICAgICAgIHRoaXMuX2N1cnJlbnRCaW5OYW1lID0gIiI7Cisg
ICAgICAgIHRoaXMuX3BpcGVsaW5lID0gbnVsbDsKKyAgICAgICAgdGhpcy5fbGFiZWwgPSBudWxs
OworCisgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJnc3RyZWFtZXItdmlldyIs
IGlkZW50aWZpZXIpOworCisgICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVt
ID0gbmV3IFdJLkJ1dHRvbk5hdmlnYXRpb25JdGVtKCJwaXBlbGluZS1leHBvcnQiLCBXSS5VSVN0
cmluZygiRXhwb3J0IiksICJJbWFnZXMvRXhwb3J0LnN2ZyIsIDE1LCAxNSk7CisgICAgICAgIHRo
aXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtLnRvb2x0aXAgPSBXSS5VSVN0cmluZygiRXhw
b3J0IHBpcGVsaW5lIGRvdCByZXByZXNlbnRhdGlvbiAoJXMpIikuZm9ybWF0KFdJLnNhdmVLZXli
b2FyZFNob3J0Y3V0LmRpc3BsYXlOYW1lKTsKKyAgICAgICAgdGhpcy5fZXhwb3J0QnV0dG9uTmF2
aWdhdGlvbkl0ZW0uYnV0dG9uU3R5bGUgPSBXSS5CdXR0b25OYXZpZ2F0aW9uSXRlbS5TdHlsZS5J
bWFnZUFuZFRleHQ7CisgICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtLnZp
c2liaWxpdHlQcmlvcml0eSA9IFdJLk5hdmlnYXRpb25JdGVtLlZpc2liaWxpdHlQcmlvcml0eS5M
b3c7CisgICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtLmFkZEV2ZW50TGlz
dGVuZXIoV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5faGFuZGxl
RXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW1DbGlja2VkLmJpbmQodGhpcykpOworICAgICAgICB0
aGlzLl91cGRhdGVFeHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbVN0YXRlKCk7CisKKyAgICAgICAg
dGhpcy5fbmF2aWdhdGlvbkJhciA9IG5ldyBXSS5OYXZpZ2F0aW9uQmFyOworICAgICAgICB0aGlz
Ll9uYXZpZ2F0aW9uQmFyLmFkZE5hdmlnYXRpb25JdGVtKHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmln
YXRpb25JdGVtKTsKKyAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHRoaXMuX25hdmlnYXRpb25CYXIp
OworCisgICAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKKyAgICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5pZCA9ICJwaXBlbGlu
ZS1jb250YWluZXIiOworICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKHRoaXMuX2NvbnRhaW5l
ckVsZW1lbnQpOworICAgIH0KKworICAgIC8vIFB1YmxpYworCisgICAgZ2V0IGlkZW50aWZpZXIo
KSB7IHJldHVybiB0aGlzLl9pZGVudGlmaWVyOyB9CisgICAgZ2V0IGRpc3BsYXlOYW1lKCkgeyBy
ZXR1cm4gdGhpcy5fZGlzcGxheU5hbWU7IH0KKworICAgIGdldCBzdXBwb3J0c1NhdmUoKQorICAg
IHsKKyAgICAgICAgcmV0dXJuICEhdGhpcy5fcGlwZWxpbmU7CisgICAgfQorCisgICAgZ2V0IHNh
dmVEYXRhKCkKKyAgICB7CisgICAgICAgIHJldHVybiB7Y3VzdG9tU2F2ZUhhbmRsZXI6ICgpID0+
IHsgdGhpcy5fZXhwb3J0UmVzdWx0KCk7IH19OworICAgIH0KKworICAgIGRpc3BsYXlQaXBlbGlu
ZShnc3RyZWFtZXJQaXBlbGluZSkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9zdmdFbGVtZW50
KQorICAgICAgICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLl9z
dmdFbGVtZW50KTsKKworICAgICAgICBpZiAodGhpcy5fc2NvcGVCYXIpIHsKKyAgICAgICAgICAg
IHRoaXMuX3Njb3BlQmFyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuU2NvcGVCYXIuRXZlbnQuU2Vs
ZWN0aW9uQ2hhbmdlZCwgdGhpcy5fc2NvcGVCYXJTZWxlY3Rpb25EaWRDaGFuZ2UpOworICAgICAg
ICAgICAgdGhpcy5fbmF2aWdhdGlvbkJhci5yZW1vdmVOYXZpZ2F0aW9uSXRlbSh0aGlzLl9zY29w
ZUJhcik7CisgICAgICAgIH0KKworICAgICAgICBpZiAodGhpcy5fbGFiZWwpIHsKKyAgICAgICAg
ICAgIHRoaXMuX25hdmlnYXRpb25CYXIucmVtb3ZlTmF2aWdhdGlvbkl0ZW0odGhpcy5fbGFiZWwp
OworICAgICAgICB9CisgICAgICAgIHZhciBuYW1lID0gZ3N0cmVhbWVyUGlwZWxpbmUuYmluTmFt
ZSB8fCBnc3RyZWFtZXJQaXBlbGluZS5uYW1lOworICAgICAgICB0aGlzLl9sYWJlbCA9IG5ldyBX
SS5UZXh0TmF2aWdhdGlvbkl0ZW0oImdzdC1waXBlbGluZS1iaW4tbmFtZSIsICJEaXNwbGF5aW5n
ICIgKyBuYW1lICsgIi4gQXZhaWxhYmxlIHN1Yi1iaW5zOiAiKTsKKyAgICAgICAgdGhpcy5fbmF2
aWdhdGlvbkJhci5hZGROYXZpZ2F0aW9uSXRlbSh0aGlzLl9sYWJlbCk7CisKKyAgICAgICAgdGhp
cy5fcGlwZWxpbmUgPSBnc3RyZWFtZXJQaXBlbGluZTsKKyAgICAgICAgdGhpcy5fdXBkYXRlRXhw
b3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW1TdGF0ZSgpOworCisgICAgICAgIGxldCB0YXJnZXQgPSBX
SS5hc3N1bWluZ01haW5UYXJnZXQoKTsKKyAgICAgICAgdGFyZ2V0LkdTdHJlYW1lckFnZW50Lmdl
dEFjdGl2ZVBpcGVsaW5lQmluTmFtZXMoZ3N0cmVhbWVyUGlwZWxpbmUubmFtZSwgZ3N0cmVhbWVy
UGlwZWxpbmUuYmluTmFtZSkudGhlbigocGF5bG9hZCkgPT4geworICAgICAgICAgICAgdmFyIHNj
b3BlQmFySXRlbXMgPSBbXTsKKyAgICAgICAgICAgIHZhciBkZWZhdWx0SXRlbSA9IG5ldyBXSS5T
Y29wZUJhckl0ZW0oIjxwbGFjZWhvbGRlcj4iLCAiU2VsZWN0Li4uIik7CisgICAgICAgICAgICBk
ZWZhdWx0SXRlbS5fX3BhcmVudCA9ICIiOworICAgICAgICAgICAgZGVmYXVsdEl0ZW0uc2VsZWN0
ZWQgPSB0cnVlOworICAgICAgICAgICAgc2NvcGVCYXJJdGVtcy5wdXNoKGRlZmF1bHRJdGVtKTsK
KworICAgICAgICAgICAgdmFyIHNjb3BlQmFySXRlbSA9IG5ldyBXSS5TY29wZUJhckl0ZW0oZ3N0
cmVhbWVyUGlwZWxpbmUucGFyZW50QmluTmFtZSwgIlBhcmVudDogIiArIGdzdHJlYW1lclBpcGVs
aW5lLnBhcmVudEJpbk5hbWUpOworICAgICAgICAgICAgc2NvcGVCYXJJdGVtLnNlbGVjdGVkID0g
ZmFsc2U7CisgICAgICAgICAgICBzY29wZUJhckl0ZW0uX19wYXJlbnQgPSAiIjsKKyAgICAgICAg
ICAgIHNjb3BlQmFySXRlbXMucHVzaChzY29wZUJhckl0ZW0pOworCisgICAgICAgICAgICBmb3Ig
KHZhciBiaW5OYW1lIG9mIHBheWxvYWQuYmluTmFtZXMpIHsKKyAgICAgICAgICAgICAgICB2YXIg
c2NvcGVCYXJJdGVtID0gbmV3IFdJLlNjb3BlQmFySXRlbShiaW5OYW1lLCBiaW5OYW1lKTsKKyAg
ICAgICAgICAgICAgICBzY29wZUJhckl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTsKKyAgICAgICAgICAg
ICAgICBzY29wZUJhckl0ZW0uX19wYXJlbnQgPSBnc3RyZWFtZXJQaXBlbGluZS5iaW5OYW1lOwor
ICAgICAgICAgICAgICAgIHNjb3BlQmFySXRlbXMucHVzaChzY29wZUJhckl0ZW0pOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICB0aGlzLl9zY29wZUJhciA9IG5ldyBXSS5TY29wZUJhcigi
Z3N0LXBpcGVsaW5lLXNjb3BlLWJhciIsIHNjb3BlQmFySXRlbXMsIG51bGwsIHRydWUpOworICAg
ICAgICAgICAgdGhpcy5fc2NvcGVCYXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5TY29wZUJhci5FdmVu
dC5TZWxlY3Rpb25DaGFuZ2VkLCB0aGlzLl9zY29wZUJhclNlbGVjdGlvbkRpZENoYW5nZSwgdGhp
cyk7CisKKyAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0o
dGhpcy5fc2NvcGVCYXIpOworICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHsKKyAgICAgICAg
ICAgIGNvbnNvbGUuZXJyb3IoIkNvdWxkIG5vdCBkdW1wIGxpc3QgcGlwZWxpbmUgYmluczogIiwg
ZXJyb3IpOworICAgICAgICB9KTsKKworICAgICAgICB0aGlzLl9zdmdFbGVtZW50ID0gdGhpcy5f
cGlwZWxpbmUuc3ZnRWxlbWVudDsKKyAgICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5hcHBl
bmRDaGlsZCh0aGlzLl9zdmdFbGVtZW50KTsKKworICAgICAgICB2YXIgc3ZnID0gZDMuc2VsZWN0
KCIjcGlwZWxpbmUtY29udGFpbmVyIiksCisgICAgICAgICAgICBnID0gc3ZnLnNlbGVjdCgiZyIp
OworCisgICAgICAgIHN2Zy5jYWxsKGQzLnpvb20oKS5vbigiem9vbSIsIGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgZy5hdHRyKCJ0cmFuc2Zvcm0iLCBkMy5ldmVudC50cmFuc2Zvcm0pCisgICAg
ICAgIH0pKTsKKyAgICB9CisKKyAgICAvLyBQcml2YXRlCisKKyAgICBfc2NvcGVCYXJTZWxlY3Rp
b25EaWRDaGFuZ2UoZXZlbnQpCisgICAgeworICAgICAgICBmb3IgKHZhciBpdCBvZiBldmVudC50
YXJnZXQuaXRlbXMpIHsKKyAgICAgICAgICAgIGlmICgoaXQuaWQgIT09ICI8cGxhY2Vob2xkZXI+
IikgJiYgaXQuc2VsZWN0ZWQpIHsKKyAgICAgICAgICAgICAgICB2YXIgYmluTmFtZSA9IGl0Lmlk
OworICAgICAgICAgICAgICAgIHZhciBwYXJlbnRCaW5OYW1lID0gaXQuX19wYXJlbnQ7CisgICAg
ICAgICAgICAgICAgdmFyIHBpcGVsaW5lTmFtZSA9IHRoaXMuX3BpcGVsaW5lLm5hbWU7CisgICAg
ICAgICAgICAgICAgbGV0IGFnZW50ID0gV0kuZ3N0cmVhbWVyTWFuYWdlci5hZ2VudDsKKyAgICAg
ICAgICAgICAgICBhZ2VudC5kdW1wQWN0aXZlUGlwZWxpbmUocGlwZWxpbmVOYW1lLCBiaW5OYW1l
KS50aGVuKChwYXlsb2FkKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIGxldCBkb2N1bWVudEZy
YWdtZW50ID0gV0kuZ3N0cmVhbWVyTWFuYWdlci5yZW5kZXJTVkdFbGVtZW50KHBheWxvYWQucGlw
ZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgbGV0IHJlcHJl
c2VudGVkT2JqZWN0ID0gbmV3IFdJLkdTdHJlYW1lclBpcGVsaW5lKHBpcGVsaW5lTmFtZSwgcGFy
ZW50QmluTmFtZSwgYmluTmFtZSwgcGF5bG9hZC5waXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24s
IGRvY3VtZW50RnJhZ21lbnQpOworICAgICAgICAgICAgICAgICAgICBXSS5zaG93UmVwcmVzZW50
ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3QpOworICAgICAgICAgICAgICAgIH0pLmNhdGNoKChl
cnJvcikgPT4geworICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qg
ZHVtcCBwaXBlbGluZTogIiwgZXJyb3IpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgX2V4cG9ydFJlc3VsdCgpCisgICAgeworICAg
ICAgICBXSS5nc3RyZWFtZXJNYW5hZ2VyLmV4cG9ydCh0aGlzLl9waXBlbGluZSk7CisgICAgfQor
CisgICAgX3VwZGF0ZUV4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtU3RhdGUoKQorICAgIHsKKyAg
ICAgICAgdGhpcy5fZXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9ICEhdGhpcy5f
cGlwZWxpbmU7CisgICAgfQorCisgICAgX2hhbmRsZUV4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVt
Q2xpY2tlZChldmVudCkKKyAgICB7CisgICAgICAgIHRoaXMuX2V4cG9ydFJlc3VsdCgpOworICAg
IH0KK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0luc3BlY3RvckdSZXNvdXJjZXMuY21h
a2UgYi9Tb3VyY2UvV2ViS2l0L0luc3BlY3RvckdSZXNvdXJjZXMuY21ha2UKaW5kZXggNjc0YjVl
ZjBiZTRiZWIyYTJlODFiMWJjZTk4NDc4MjJiZDRiNDgyNy4uYTEwZTkxMDJhNjVlMDMwMWU4MzU3
MWMyNWY0MWM2MmM4Yzg3OGVlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9JbnNwZWN0b3JH
UmVzb3VyY2VzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvSW5zcGVjdG9yR1Jlc291cmNlcy5j
bWFrZQpAQCAtOSw2ICs5LDcgQEAgbWFjcm8oV0VCS0lUX0JVSUxEX0lOU1BFQ1RPUl9HUkVTT1VS
Q0VTIF9kZXJpdmVkX3NvdXJjZXNfZGlyKQogICAgICAgICAke0NNQUtFX1NPVVJDRV9ESVJ9L1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0NvZGVNaXJyb3IvKi5j
c3MKICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9FeHRlcm5hbC9Db2RlTWlycm9yLyouanMKICAgICAgICAgJHtDTUFLRV9TT1VS
Q0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9Fc3By
aW1hLyouanMKKyAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9EMy5qcy8qLmpzCiAgICAgICAgICR7Q01BS0VfU09V
UkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvdGhy
ZWUuanMvKi5qcwogICAgICAgICAke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy8qLmpzCiAgICAgICAgICR7Q01BS0VfU09VUkNFX0RJ
Un0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvKi5qcwpAQCAt
NjAsMTMgKzYxLDE5IEBAIG1hY3JvKFdFQktJVF9CVUlMRF9JTlNQRUNUT1JfR1JFU09VUkNFUyBf
ZGVyaXZlZF9zb3VyY2VzX2RpcikKICAgICAgICAgZW5kaWYgKCkKICAgICBlbmRpZiAoKQogCisg
ICAgaWYgKFVTRV9HU1RSRUFNRVIpCisgICAgICAgIHNldChDT01CSU5FX0dTVFJFQU1FUl9SRVNP
VVJDRVMgWUVTKQorICAgIGVsc2UgKCkKKyAgICAgICAgc2V0KENPTUJJTkVfR1NUUkVBTUVSX1JF
U09VUkNFUyBOTykKKyAgICBlbmRpZiAoKQorCiAgICAgYWRkX2N1c3RvbV9jb21tYW5kKAogICAg
ICAgICBPVVRQVVQgJHtDTUFLRV9CSU5BUllfRElSfS9pbnNwZWN0b3ItcmVzb3VyY2VzLnN0YW1w
CiAgICAgICAgIERFUEVORFMgJHtJbnNwZWN0b3JGaWxlc0RlcGVuZGVuY2llc30KICAgICAgICAg
ICAgICAgICAke0luc3BlY3RvclJlc291cmNlU2NyaXB0c30KICAgICAgICAgICAgICAgICAke0RF
UklWRURfU09VUkNFU19XRUJJTlNQRUNUT1JVSV9ESVJ9L1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wv
SW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAgICAgICAgIENPTU1BTkQgY3AgJHtERVJJVkVE
X1NPVVJDRVNfV0VCSU5TUEVDVE9SVUlfRElSfS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0luc3Bl
Y3RvckJhY2tlbmRDb21tYW5kcy5qcyAke0ZPUldBUkRJTkdfSEVBREVSU19ESVJ9L0phdmFTY3Jp
cHRDb3JlL1NjcmlwdHMKLSAgICAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIGVudiAi
REVSSVZFRF9TT1VSQ0VTX0RJUj0ke0RFUklWRURfU09VUkNFU19XRUJJTlNQRUNUT1JVSV9ESVJ9
IiAiU1JDUk9PVD0ke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSSIgIkpB
VkFTQ1JJUFRDT1JFX1BSSVZBVEVfSEVBREVSU19ESVI9JHtGT1JXQVJESU5HX0hFQURFUlNfRElS
fS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzIiAiVEFSR0VUX0JVSUxEX0RJUj0ke19kZXJpdmVkX3Nv
dXJjZXNfZGlyfS9JbnNwZWN0b3JSZXNvdXJjZXMiICJVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9M
REVSX1BBVEg9V2ViSW5zcGVjdG9yVUkiICJDT01CSU5FX0lOU1BFQ1RPUl9SRVNPVVJDRVM9JHtD
T01CSU5FX0lOU1BFQ1RPUl9SRVNPVVJDRVN9IiAiQ09NQklORV9URVNUX1JFU09VUkNFUz0ke0NP
TUJJTkVfVEVTVF9SRVNPVVJDRVN9IiBQWVRIT049JHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtDTUFL
RV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvU2NyaXB0cy9jb3B5LXVzZXItaW50
ZXJmYWNlLXJlc291cmNlcy5wbAorICAgICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUg
ZW52ICJERVJJVkVEX1NPVVJDRVNfRElSPSR7REVSSVZFRF9TT1VSQ0VTX1dFQklOU1BFQ1RPUlVJ
X0RJUn0iICJTUkNST09UPSR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJ
IiAiSkFWQVNDUklQVENPUkVfUFJJVkFURV9IRUFERVJTX0RJUj0ke0ZPUldBUkRJTkdfSEVBREVS
U19ESVJ9L0phdmFTY3JpcHRDb3JlL1NjcmlwdHMiICJUQVJHRVRfQlVJTERfRElSPSR7X2Rlcml2
ZWRfc291cmNlc19kaXJ9L0luc3BlY3RvclJlc291cmNlcyIgIlVOTE9DQUxJWkVEX1JFU09VUkNF
U19GT0xERVJfUEFUSD1XZWJJbnNwZWN0b3JVSSIgIkNPTUJJTkVfR1NUUkVBTUVSX1JFU09VUkNF
Uz0ke0NPTUJJTkVfR1NUUkVBTUVSX1JFU09VUkNFU30iICJDT01CSU5FX0lOU1BFQ1RPUl9SRVNP
VVJDRVM9JHtDT01CSU5FX0lOU1BFQ1RPUl9SRVNPVVJDRVN9IiAiQ09NQklORV9URVNUX1JFU09V
UkNFUz0ke0NPTUJJTkVfVEVTVF9SRVNPVVJDRVN9IiBQWVRIT049JHtQWVRIT05fRVhFQ1VUQUJM
RX0gJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvU2NyaXB0cy9jb3B5
LXVzZXItaW50ZXJmYWNlLXJlc291cmNlcy5wbAogICAgICAgICBDT01NQU5EIG1rZGlyIC1wICR7
X2Rlcml2ZWRfc291cmNlc19kaXJ9L0luc3BlY3RvclJlc291cmNlcy9XZWJJbnNwZWN0b3JVSS9M
b2NhbGl6YXRpb25zL2VuLmxwcm9qCiAgICAgICAgIENPTU1BTkQgY3AgJHtDTUFLRV9TT1VSQ0Vf
RElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6
ZWRTdHJpbmdzLmpzICR7X2Rlcml2ZWRfc291cmNlc19kaXJ9L0luc3BlY3RvclJlc291cmNlcy9X
ZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMK
ICAgICAgICAgQ09NTUFORCB0b3VjaCAke0NNQUtFX0JJTkFSWV9ESVJ9L2luc3BlY3Rvci1yZXNv
dXJjZXMuc3RhbXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9GaW5kR3JhcGhWaXouY21ha2Ug
Yi9Tb3VyY2UvY21ha2UvRmluZEdyYXBoVml6LmNtYWtlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxZjA0ZWMzZGMz
YzA0ZDQxNmNhMzkzYWNjZWVkMWQ4ZDcyNzE2NmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
Y21ha2UvRmluZEdyYXBoVml6LmNtYWtlCkBAIC0wLDAgKzEsNDggQEAKKyMgLSBUcnkgdG8gZmlu
ZCBHcmFwaFZpegorIyBPbmNlIGRvbmUsIHRoaXMgd2lsbCBkZWZpbmUKKyMKKyMgIEdSQVBIVkla
X0ZPVU5EIC0gc3lzdGVtIGhhcyBHcmFwaFZpei4KKyMgIEdSQVBIVklaX0lOQ0xVREVfRElSUyAt
IHRoZSBHcmFwaFZpei4gaW5jbHVkZSBkaXJlY3RvcmllcworIyAgR1JBUEhWSVpfTElCUkFSSUVT
IC0gbGluayB0aGVzZSB0byB1c2UgR3JhcGhWaXouCisjCisjIENvcHlyaWdodCAoQykgMjAxOSBJ
Z2FsaWEgUy5MLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMg
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVIgQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUworIyBJUycnIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorIyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIElUUworIyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyMg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorIyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsKKyMgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCisjIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SCisjIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKKyMgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisKK2ZpbmRfcGFja2FnZShQa2dDb25maWcpCitwa2dfY2hlY2tf
bW9kdWxlcyhHUkFQSFZJWiBsaWJndmMgbGliY2dyYXBoKQorCitzZXQoVkVSU0lPTl9PSyBUUlVF
KQoraWYgKEdSQVBIVklaX1ZFUlNJT04pCisgICAgaWYgKEdSQVBIVklaX0ZJTkRfVkVSU0lPTl9F
WEFDVCkKKyAgICAgICAgaWYgKE5PVCgiJHtHUkFQSFZJWl9GSU5EX1ZFUlNJT059IiBWRVJTSU9O
X0VRVUFMICIke0dSQVBIVklaX1ZFUlNJT059IikpCisgICAgICAgICAgICBzZXQoVkVSU0lPTl9P
SyBGQUxTRSkKKyAgICAgICAgZW5kaWYgKCkKKyAgICBlbHNlICgpCisgICAgICAgIGlmICgiJHtH
UkFQSFZJWl9WRVJTSU9OfSIgVkVSU0lPTl9MRVNTICIke0dSQVBIVklaX0ZJTkRfVkVSU0lPTn0i
KQorICAgICAgICAgICAgc2V0KFZFUlNJT05fT0sgRkFMU0UpCisgICAgICAgIGVuZGlmICgpCisg
ICAgZW5kaWYgKCkKK2VuZGlmICgpCisKK2luY2x1ZGUoRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFy
ZEFyZ3MpCitGSU5EX1BBQ0tBR0VfSEFORExFX1NUQU5EQVJEX0FSR1MoR1JBUEhWSVogREVGQVVM
VF9NU0cgR1JBUEhWSVpfSU5DTFVERV9ESVJTIEdSQVBIVklaX0xJQlJBUklFUyBWRVJTSU9OX09L
KQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL0dTdHJlYW1lckNoZWNrcy5jbWFrZSBiL1NvdXJj
ZS9jbWFrZS9HU3RyZWFtZXJDaGVja3MuY21ha2UKaW5kZXggMThiMTJmODJhOGQyOGMzNDIzZjNl
NmYzMTQ3Mzg4OThjMWY2NDc2Yy4uOWZhMzQyODBiM2ViMDc4ZGEyNDgxN2Q5MDk4MTA1N2M1NGRl
ZmNmMiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL0dTdHJlYW1lckNoZWNrcy5jbWFrZQorKysg
Yi9Tb3VyY2UvY21ha2UvR1N0cmVhbWVyQ2hlY2tzLmNtYWtlCkBAIC0xMCw2ICsxMCw3IEBAIGlm
IChFTkFCTEVfVklERU8gT1IgRU5BQkxFX1dFQl9BVURJTykKICAgICAgICAgU0VUX0FORF9FWFBP
U0VfVE9fQlVJTEQoVVNFX1dFQkFVRElPX0dTVFJFQU1FUiBUUlVFKQogICAgIGVuZGlmICgpCiAK
KyAgICBmaW5kX3BhY2thZ2UoR3JhcGhWaXogMi40MyBSRVFVSVJFRCkKICAgICBmaW5kX3BhY2th
Z2UoR1N0cmVhbWVyIDEuMTAuMCBSRVFVSVJFRCBDT01QT05FTlRTICR7R1NUUkVBTUVSX0NPTVBP
TkVOVFN9KQogCiAgICAgaWYgKEVOQUJMRV9XRUJfQVVESU8pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385888</attachid>
            <date>2019-12-17 07:57:18 -0800</date>
            <delta_ts>2019-12-17 08:06:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204619-20191217155716.patch</filename>
            <type>text/plain</type>
            <size>625704</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
NzQ3YWU3ZWRlZjk3Zjg4Y2RjZmEzZjgzOGZlY2VkMDVmZGYzYzAxLi5lOGQ1MTkzNWY0N2QyNjFm
MmE3OWMzN2VjNDJjYWQ2MTQ4MmI1OGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBm
b3IgR1N0cmVhbWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb246
IEFkZCBHU3RyZWFtZXIgQVBJIGZvciBwaXBlbGluZSBpbnNwZWN0aW9uIGluIHRoZSBwYWdlIHBy
b3RvY29sLgorCiAyMDE5LTEyLTE3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0ganNjX2NvbnRleHRfZXZhbHVhdGVfaW5fb2JqZWN0
IHNob3VsZCB0YWtlIHRoZSBBUEkgbG9jayBiZWZvcmUgY2FsbGluZyBzZXRHbG9iYWxTY29wZUV4
dGVuc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDY1OGQyZDIwMTFjYWMwOWRmYTIxZGY3MTllNGZiOWEwYmNi
NDY3MjEuLmYzNWVlODcyYmJkYzJhODI3MTkyN2U3MzdhNTQ3OWUyZTQ1YzY1OWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw1NSBAQAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3Jt
YW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQg
bmV3IHRhYiBmb3IgR1N0cmVhbWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHRoZSBHU3Ry
ZWFtZXIgcGlwZWxpbmVzLCB0aGlzIHdpbGwgYWxsb3cgdGhlCisgICAgICAgIFdlYkluc3BlY3Rv
ciB0byBsaXN0IGFuZCBkaXNwbGF5IHRoZW0gaW4gYSBkZWRpY2F0ZWQgdGFiLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggZG9lc24ndCBjb3ZlciB0aGUgcGlwZWxpbmVzIGNyZWF0ZWQgYnkgdGhlIEdT
dHJlYW1lcgorICAgICAgICBMaWJXZWJSVEMgYmFja2VuZC4gU3VwcG9ydCBmb3IgdGhhdCB3b3Vs
ZCBiZSBhZGRlZCBsYXRlciwgaWYgdGhlCisgICAgICAgIGN1cnJlbnQgYXBwcm9hY2ggaXMgZGVl
bWVkIGFjY2VwdGFibGUuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4
dC5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlv
bk5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2Rl
Ojp1bmluaXRpYWxpemUpOgorICAgICAgICAoV2ViQ29yZTo6RGVmYXVsdEF1ZGlvRGVzdGluYXRp
b25Ob2RlOjpjcmVhdGVEZXN0aW5hdGlvbik6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmdzdHJlYW1lclBp
cGVsaW5lc0NhY2hlVXBkYXRlZCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnBvcnQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFtZXJQaXBlbGluZUNhY2hlVXBkYXRlZEltcGwp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Z3N0cmVhbWVyUGlwZWxpbmVD
YWNoZVVwZGF0ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6Z2V0R1N0cmVh
bWVyUGlwZWxpbmVzTmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50
OjpnZXRHU3RyZWFtZXJQaXBlbGluZUJpbk5hbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvclBhZ2VBZ2VudDo6ZHVtcEdTdHJlYW1lclBpcGVsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvclBhZ2VBZ2VudDo6Z3N0cmVhbWVyUGlwZWxpbmVDYWNoZVVwZGF0ZWQpOgorICAg
ICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcjo6QXVkaW9EZXN0aW5h
dGlvbkdTdHJlYW1lcik6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0Rlc3RpbmF0aW9uR1N0cmVh
bWVyOjp+QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcik6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyQ2xpZW50
Ojpnc3RyZWFtZXJQaXBlbGluZXNDYWNoZVVwZGF0ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
cmVnaXN0ZXJHU3RyZWFtZXJQaXBlbGluZSk6CisgICAgICAgIChXZWJDb3JlOjp1bnJlZ2lzdGVy
R1N0cmVhbWVyUGlwZWxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6Z3N0UGlwZWxpbmVzTmFtZXMp
OgorICAgICAgICAoV2ViQ29yZTo6ZHVtcEdTdHJlYW1lclBpcGVsaW5lKToKKyAgICAgICAgKFdl
YkNvcmU6OmdldEJpbkNoaWxkcmVuKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFBpcGVsaW5lKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbik6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBlbmRQaXBlbGluZTo6QXBwZW5kUGlwZWxpbmUpOgor
ICAgICAgICAoV2ViQ29yZTo6QXBwZW5kUGlwZWxpbmU6On5BcHBlbmRQaXBlbGluZSk6CisKIDIw
MTktMTItMTcgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFVw
ZGF0ZSBzZXNzaW9uIGNhdGVnb3J5IGluIE1vY2tBdWRpb1NoYXJlZFVuaXQgYXMgZG9uZSBpbiBD
b3JlQXVkaW9TaGFyZWRVbml0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAwYWQyMzY1NTY2
ZTUzNTgxZGU0MmQ4ZjYzNmI1MzZkNDQwZjdlMzcwLi42OTliY2Q0YzI5ZTA5YjhmNTMxMTYwYzIy
NWFmZDhiMGUxYzY5N2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4NSBA
QAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBmb3IgR1N0cmVh
bWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBGb3IgdGhlIFdQRSBhbmQgR1RLIHBvcnRzIGEgbmV3IEluc3BlY3Rv
ciB0YWIgaXMgbm93IGF2YWlsYWJsZS4gT24KKyAgICAgICAgdGhlIGxlZnQgaGFuZC1zaWRlIHRo
ZSBjdXJyZW50bHkgYWxpdmUgcGlwZWxpbmVzIGFyZSBsaXN0ZWQuIFdoZW4KKyAgICAgICAgYSBw
aXBlbGluZSBpcyBzZWxlY3RlZCwgaXRzIGdyYXBoIHJlcHJlc2VudGF0aW9uIGlzIGV4cG9ydGVk
IHRvCisgICAgICAgIFNWRyBhbmQgZGlzcGxheWVkIG9uIHRoZSByaWdodCBoYW5kLXNpZGUgb2Yg
dGhlIHRhYiB2aWV3LiBTdWIgYmlucworICAgICAgICBvZiB0aGUgcGlwZWxpbmVzIGNhbiBiZSBz
ZWxlY3RlZCBhbmQgdGhlIGdyYXBoIHdpbGwgYmUgdXBkYXRlZAorICAgICAgICBhY2NvcmRpbmds
eS4gVGhlIGZ1bGwgZ3JhcGggY2FuIGJlIGV4cG9ydGVkIHRvIEdyYXBoVml6IGZvcm1hdCBhbmQK
KyAgICAgICAgc2F2ZWQgdG8gYSBmaWxlLgorCisgICAgICAgIFRoZSB2aXouanMgYW5kIHN2Zy1w
YW4tem9vbSBKUyBsaWJyYXJpZXMgYXJlIG5vdyBidW5kbGVkIGFzCisgICAgICAgIHRoaXJkLXBh
cnR5IG1vZHVsZXMuIExhdGVyIG9uIHRoZSBkMywgZGFncmUtZDMgYW5kIGdyYXBobGliLWRvdAor
ICAgICAgICBsaWJyYXJpZXMgY291bGQgYmUgdXNlZC4gRm9yIHRoZSB0aW1lIGJlaW5nIHRoZSBn
cmFwaGxpYi1kb3QKKyAgICAgICAgcGFyc2VyIGRvZXNuJ3QgaGFuZGxlIHRoZSBHcmFwaHZpeiBt
b2RlbHMgZXhwb3J0ZWQgYnkgR1N0cmVhbWVyLgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9l
bi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFNjcmlwdHMvY29weS11c2Vy
LWludGVyZmFjZS1yZXNvdXJjZXMucGw6CisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL01h
aW4uanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL1BsYXRmb3JtLmpzOgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR1N0cmVhbWVyTWFuYWdlci5qczogQWRkZWQu
CisgICAgICAgICogVXNlckludGVyZmFjZS9FeHRlcm5hbC9zdmctcGFuLXpvb20uanMvTElDRU5T
RTogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9FeHRlcm5hbC9zdmctcGFuLXpvb20u
anMvc3ZnLXBhbi16b29tLm1pbi5qczogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9F
eHRlcm5hbC92aXouanMvTElDRU5TRTogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9F
eHRlcm5hbC92aXouanMvZnVsbC5yZW5kZXIuanM6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvRXh0ZXJuYWwvdml6LmpzL2xpdGUucmVuZGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL0V4dGVybmFsL3Zpei5qcy92aXouanM6IEFkZGVkLgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvSW1hZ2VzL0dTdHJlYW1lci5zdmc6IEFkZGVkLgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvTWFpbi5odG1sOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL0dTdHJl
YW1lclBpcGVsaW5lLmpzOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Byb3RvY29s
L1BhZ2VPYnNlcnZlci5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1l
clNpZGViYXJQYW5lbC5jc3M6IEFkZGVkLgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2
aWdhdGlvbi5kZWJ1Z2dlciA+IC5jb250ZW50KToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVs
Lm5hdmlnYXRpb24uZGVidWdnZXIgPiAubmF2aWdhdGlvbi1iYXIpOgorICAgICAgICAoLnNpZGVi
YXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciA+IC5uYXZpZ2F0aW9uLWJhciAuZGVidWdn
ZXItYnJlYWtwb2ludHMpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5k
ZWJ1Z2dlciA+IC5uYXZpZ2F0aW9uLWJhciAuZGVidWdnZXItYnJlYWtwb2ludHMuYWN0aXZhdGVk
KToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgPiAubmF2
aWdhdGlvbi1iYXIgLmRlYnVnZ2VyLXBhdXNlLXJlc3VtZSk6CisgICAgICAgICguc2lkZWJhciA+
IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyID4gLm5hdmlnYXRpb24tYmFyIC5kZWJ1Z2dlci1w
YXVzZS1yZXN1bWUuYWN0aXZhdGVkKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmln
YXRpb24uZGVidWdnZXIgLndhcm5pbmctYmFubmVyKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBh
bmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkID4gLml0
ZW0udGhyZWFkKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdn
ZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkKToKKyAgICAgICAgKGJvZHlbZGlyPWx0cl0g
LnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAudHJlZS1vdXRsaW5lLnNpbmds
ZS10aHJlYWQpOgorICAgICAgICAoYm9keVtkaXI9cnRsXSAuc2lkZWJhciA+IC5wYW5lbC5uYXZp
Z2F0aW9uLmRlYnVnZ2VyIC50cmVlLW91dGxpbmUuc2luZ2xlLXRocmVhZCk6CisgICAgICAgICgu
c2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC53YXJuaW5nLWJhbm5lciA+IGEp
OgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0YWls
cy1zZWN0aW9uKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdn
ZXIgLmRldGFpbHMtc2VjdGlvbi5wYXVzZWQtcmVhc29uLmNvbGxhcHNlZCA+IC5oZWFkZXIgPiAu
b3B0aW9ucyk6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2Vy
IC5kZXRhaWxzLXNlY3Rpb24gPiAuY29udGVudCk6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5l
bC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC5kZXRhaWxzLXNlY3Rpb24uY29sbGFwc2VkID4gLmNvbnRl
bnQpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0
YWlscy1zZWN0aW9uID4gLmNvbnRlbnQgPiAuZ3JvdXApOgorICAgICAgICAoLnNpZGViYXIgPiAu
cGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0YWlscy1zZWN0aW9uLnNjcmlwdHM6bm90KC5j
b2xsYXBzZWQpKToKKyAgICAgICAgKEBtZWRpYSAocHJlZmVycy1kYXJrLWludGVyZmFjZSkpOgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBhbmVsLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRW
aWV3LmNzczogQWRkZWQuCisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lcik6CisgICAg
ICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciAubmF2aWdhdGlvbi1iYXIpOgorICAgICAgICAo
LmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgLm5hdmlnYXRpb24tYmFyLmludmlzaWJsZSk6CisgICAg
ICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciAubmF2aWdhdGlvbi1iYXIgLml0ZW0ucmFkaW8u
YnV0dG9uLnRleHQtb25seSk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciAubmF2
aWdhdGlvbi1iYXIgLml0ZW0ucmFkaW8uYnV0dG9uLnRleHQtb25seS5zZWxlY3RlZCk6CisgICAg
ICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5zZXBhcmF0
b3IpOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcg
PiAuY29udGFpbmVyKToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJl
YW1lci12aWV3ID4gLmNvbnRhaW5lci5oaWRkZW4pOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5n
c3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyLWNlbnRlcmVkKToKKyAgICAg
ICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5l
ciBidXR0b24pOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVy
LXZpZXcgPiAuY29udGFpbmVyID4gLnRpdGxlKToKKyAgICAgICAgKGJvZHlbZGlyPWx0cl0gLmNv
bnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLnRp
dGxlKToKKyAgICAgICAgKGJvZHlbZGlyPXJ0bF0gLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAu
Z3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLnRpdGxlKToKKyAgICAgICAgKC5jb250ZW50
LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3It
Z3JvdXApOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZp
ZXcgPiAuY29udGFpbmVyID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXQpOgorICAgICAg
ICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVy
ID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0iY2hlY2tib3giXSk6CisgICAg
ICAgIChib2R5W2Rpcj1sdHJdIC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12
aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAgPiAuZWRpdG9yIGlucHV0W3R5cGU9ImNo
ZWNrYm94Il0pOgorICAgICAgICAoYm9keVtkaXI9cnRsXSAuY29udGVudC12aWV3LmdzdHJlYW1l
ciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRv
ciBpbnB1dFt0eXBlPSJjaGVja2JveCJdKToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVh
bWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAgPiAuZWRp
dG9yIHNlbGVjdCk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFt
ZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRvciBpbnB1dFt0eXBl
PSJudW1iZXIiXSk6CisgICAgICAgIChib2R5W2Rpcj1sdHJdIC5jb250ZW50LXZpZXcuZ3N0cmVh
bWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAgPiAuZWRp
dG9yIGlucHV0W3R5cGU9Im51bWJlciJdKToKKyAgICAgICAgKGJvZHlbZGlyPXJ0bF0gLmNvbnRl
bnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLmVkaXRv
ci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0ibnVtYmVyIl0pOgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuanM6IEFkZGVkLgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVmlldy5qczogQWRkZWQuCisKIDIwMTkt
MTItMTEgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkIFRhYk5hdmlnYXRpb24gZGlhZ25vc3RpYyBldmVudCBhbmQgcmVsYXRlZCBob29r
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCBiNGRjMmUyN2IxYzA2YTZjMzJiODdhZTZiYzE5NGYxYzU4NmE5NDg4Li44
ZTAyZjllMmFiYjE5MmMzOTQ1NjNjNDA0MzBlYTcwNTdhYjg0YjIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDE5LTExLTI2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlh
LmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIFdlYiBJbnNwZWN0b3I6IEFkZCBuZXcgdGFiIGZv
ciBHU3RyZWFtZXIgcGlwZWxpbmVzIGluc3BlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDYxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW5zcGVjdG9yR1Jlc291cmNlcy5jbWFrZTogQnVu
ZGxlIHN2Zy1wYW4tem9vbSBhbmQgdml6IEphdmFTY3JpcHQgbW9kdWxlcy4KKwogMjAxOS0xMi0x
NyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dUS11bV1BFXSBJbmRleGVkREIgZGlyZWN0b3J5IHNldCBpbiBXZWJzaXRlRGF0YU1hbmFnZXIg
aXMgaWdub3JlZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDNkY2NlMGY4
MWVkNDRjNzRkNjBlYTVhMGM2MjhkOGJmYWQ5MzMwOGYuLjljNGRjNWFkYmViZDE4YjJjNzdiMzE4
NmEyZjgzYTAzM2RiZjUxNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTExODMsNiArMTE4MywxMiBAQCBpZiAoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKQogICAgICkKIGVu
ZGlmICgpCiAKK2lmIChVU0VfR1NUUkVBTUVSKQorICAgIGxpc3QoQVBQRU5EIEphdmFTY3JpcHRD
b3JlX0lOU1BFQ1RPUl9ET01BSU5TCisgICAgICAgICR7SkFWQVNDUklQVENPUkVfRElSfS9pbnNw
ZWN0b3IvcHJvdG9jb2wvR1N0cmVhbWVyLmpzb24KKyAgICApCitlbmRpZiAoKQorCiBhZGRfY3Vz
dG9tX2NvbW1hbmQoCiAgICAgT1VUUFVUICR7SmF2YVNjcmlwdENvcmVfREVSSVZFRF9TT1VSQ0VT
X0RJUn0vQ29tYmluZWREb21haW5zLmpzb24KICAgICBNQUlOX0RFUEVOREVOQ1kgJHtKYXZhU2Ny
aXB0Q29yZV9TQ1JJUFRTX0RJUn0vZ2VuZXJhdGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvR1N0
cmVhbWVyLmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0dT
dHJlYW1lci5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhZjNlMzc1ODcwMmM1ODUxMTVkNDE1ZmExMTAwOTdj
MWMzYTZmMGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3Byb3RvY29sL0dTdHJlYW1lci5qc29uCkBAIC0wLDAgKzEsNDQgQEAKK3sKKyAgICAiZG9t
YWluIjogIkdTdHJlYW1lciIsCisgICAgImZlYXR1cmVHdWFyZCI6ICJVU0UoR1NUUkVBTUVSKSIs
CisgICAgImRlYnVnZ2FibGVUeXBlcyI6IFsicGFnZSIsICJ3ZWItcGFnZSJdLAorICAgICJ0YXJn
ZXRUeXBlcyI6IFsicGFnZSJdLAorICAgICJ0eXBlcyI6IFtdLAorICAgICJjb21tYW5kcyI6IFsK
KyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZ2V0QWN0aXZlUGlwZWxpbmVzTmFtZXMi
LAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJldHVybnMgdGhlIGxpc3Qgb2YgY3VycmVu
dGx5IHJ1bm5pbmcgR1N0cmVhbWVyIHBpcGVsaW5lcy4iLAorICAgICAgICAgICAgInJldHVybnMi
OiBbCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwaXBlbGluZXMiLCAidHlwZSI6ICJhcnJh
eSIsICJpdGVtcyI6IHsgIiRyZWYiOiAic3RyaW5nIn0sICJkZXNjcmlwdGlvbiI6ICJBcnJheSBv
ZiBwaXBlbGluZSBuYW1lcy4iIH0KKyAgICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAg
eworICAgICAgICAgICAgIm5hbWUiOiAiZ2V0QWN0aXZlUGlwZWxpbmVCaW5OYW1lcyIsCisgICAg
ICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB0aGUgbGlzdCBvZiBiaW5zIGluIHRoZSBn
aXZlbiBHU3RyZWFtZXIgcGlwZWxpbmUuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwor
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGlwZWxpbmUiLCAidHlwZSI6ICJzdHJpbmciLCAi
ZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgR1N0cmVhbWVyIHBpcGVsaW5lIHRvIGR1bXAuIiB9
LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY2hpbGQiLCAidHlwZSI6ICJzdHJpbmciLCAi
ZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgY2hpbGQgYmluIHRvIGR1bXAuIiB9CisgICAgICAg
ICAgICBdLAorICAgICAgICAgICAgInJldHVybnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJiaW5OYW1lcyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJzdHJp
bmcifSwgImRlc2NyaXB0aW9uIjogIkFycmF5IG9mIGJpbiBuYW1lcy4iIH0KKyAgICAgICAgICAg
IF0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZHVtcEFjdGl2
ZVBpcGVsaW5lIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHRoZSBTVkcg
cmVwcmVzZW50YXRpb24gb2YgdGhlIGdpdmVuIEdTdHJlYW1lciBwaXBlbGluZS4iLAorICAgICAg
ICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwaXBlbGlu
ZSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJOYW1lIG9mIHRoZSBHU3RyZWFt
ZXIgcGlwZWxpbmUgdG8gZHVtcC4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJjaGls
ZCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJOYW1lIG9mIHRoZSBjaGlsZCBi
aW4gdG8gZHVtcC4iIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAicmV0dXJucyI6IFsK
KyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBpcGVsaW5lR3JhcGhSZXByZXNlbnRhdGlvbiIs
ICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJTVkcgcmVwcmVzZW50YXRpb24gb2Yg
dGhlIHBpcGVsaW5lIiB9CisgICAgICAgICAgICBdCisgICAgICAgIH0KKyAgICBdLAorICAgICJl
dmVudHMiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAgICJuYW1lIjogImFjdGl2ZVBpcGVsaW5l
c0NoYW5nZWQiLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gdGhlIGlu
dGVybmFsIHJlZ2lzdHJ5IG9mIGFjdGl2ZSBHU3RyZWFtZXIgcGlwZWxpbmVzIHdhcyB1cGRhdGVk
LCBlZyB3aGVuIGEgbmV3IHBpcGVsaW5lIHdhcyByZWdpc3RlcmVkIG9yIHdoZW4gYSBwaXBlbGlu
ZSB3YXMgcmVtb3ZlZCBmcm9tIHRoZSByZWdpc3RyeS4iCisgICAgICAgIH0KKyAgICBdCit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKaW5k
ZXggZDYxNWM5NzliYjU3NTQwMWU3NzgzMmU0OWM1NjM4ZDc5OThlNjM3NC4uMjRjZGVmYmYyMzQ0
OTQyNGU3OTZjN2E2MjcxMmFhYjRmM2Q3NmEzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcApAQCAtODQsMTAgKzg0LDYgQEAKICNpbmNs
dWRlIDxzdGRpby5oPgogI2VuZGlmCiAKLSNpZiBVU0UoR1NUUkVBTUVSKQotI2luY2x1ZGUgIkdT
dHJlYW1lckNvbW1vbi5oIgotI2VuZGlmCi0KICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2lu
Y2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5h
dGlvbk5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVk
aW9EZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IDI2NzJkNjVlNjhmZWIwMTYyOGJlZjBmMGUwYjBh
ZDRkMzFmNDViN2MuLmI3MGNhYWZkOGJlNzFmNzBlZjc3ZDFiNTY2M2UwMDlhMGRlZDYzOTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVz
dGluYXRpb25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Rl
ZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKQEAgLTMwLDYgKzMwLDggQEAKIAogI2luY2x1
ZGUgIkF1ZGlvQ29udGV4dC5oIgogI2luY2x1ZGUgIkF1ZGlvRGVzdGluYXRpb24uaCIKKyNpbmNs
dWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgog
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0Lmgi
CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KQEAgLTc3LDYgKzc5LDEyIEBAIHZv
aWQgRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjp1bmluaXRpYWxpemUoKQogICAgIG1fZGVz
dGluYXRpb24gPSBudWxscHRyOwogICAgIG1fbnVtYmVyT2ZJbnB1dENoYW5uZWxzID0gMDsKIAor
I2lmIFVTRShHU1RSRUFNRVIpCisgICAgYXV0byogZG9jdW1lbnQgPSBjb250ZXh0KCkuZG9jdW1l
bnQoKTsKKyAgICBpZiAoZG9jdW1lbnQpCisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6Z3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZChkb2N1bWVudC0+cGFnZSgpKTsKKyNl
bmRpZgorCiAgICAgQXVkaW9Ob2RlOjp1bmluaXRpYWxpemUoKTsKIH0KIApAQCAtODQsOCArOTIs
MTQgQEAgdm9pZCBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGU6OmNyZWF0ZURlc3RpbmF0aW9u
KCkKIHsKICAgICBmbG9hdCBoYXJkd2FyZVNhbXBsZVJhdGUgPSBBdWRpb0Rlc3RpbmF0aW9uOjpo
YXJkd2FyZVNhbXBsZVJhdGUoKTsKICAgICBMT0coV2ViQXVkaW8sICI+Pj4+IGhhcmR3YXJlU2Ft
cGxlUmF0ZSA9ICVmXG4iLCBoYXJkd2FyZVNhbXBsZVJhdGUpOwotICAgIAorCiAgICAgbV9kZXN0
aW5hdGlvbiA9IEF1ZGlvRGVzdGluYXRpb246OmNyZWF0ZSgqdGhpcywgbV9pbnB1dERldmljZUlk
LCBtX251bWJlck9mSW5wdXRDaGFubmVscywgY2hhbm5lbENvdW50KCksIGhhcmR3YXJlU2FtcGxl
UmF0ZSk7CisKKyNpZiBVU0UoR1NUUkVBTUVSKQorICAgIGF1dG8qIGRvY3VtZW50ID0gY29udGV4
dCgpLmRvY3VtZW50KCk7CisgICAgaWYgKGRvY3VtZW50KQorICAgICAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoZG9jdW1lbnQtPnBh
Z2UoKSk7CisjZW5kaWYKIH0KIAogdm9pZCBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGU6OmVu
YWJsZUlucHV0KGNvbnN0IFN0cmluZyYgaW5wdXREZXZpY2VJZCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXgg
OGU5MmZkYWMzNzQwNDRiYWRlYmQ2MTRjNDAzNjcwNjkwNjI4MWIyZC4uYjdmNGQyZGUwYzMxZmNj
NGFkMjhkZTEwMTlkYjMzZWNjNmU1YWYwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTEzOTMsNiArMTM5
Myw3IEBAIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAKIGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcAogaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmNwcAogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JJbmRleGVkREJBZ2VudC5jcHAKK2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVy
QWdlbnQuY3BwCiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcAog
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKIGluc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKaW5kZXggNzMwYjRlMzg5ZTc4M2ZlNTY2NzU1YjhhYzM2ODgxMTlmMDk2OTE2
NC4uYTI2NjY5MWFhYzVlZjhiNmJhNjJiYjM4NzFmMjFkMTY1YmQ0ODg1MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03MjI1LDYgKzcyMjUsMTEgQEAgdm9p
ZCBIVE1MTWVkaWFFbGVtZW50OjpyZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zKGNvbnN0IFN0
cmluZyYgZGV0YWlscywgY29uc3QKIAogICAgIGRvY3VtZW50KCkucGFnZSgpLT5jaHJvbWUoKS5j
bGllbnQoKS5yZXF1ZXN0SW5zdGFsbE1pc3NpbmdNZWRpYVBsdWdpbnMoZGV0YWlscywgZGVzY3Jp
cHRpb24sIGNhbGxiYWNrKTsKIH0KKwordm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpnc3RyZWFtZXJB
Y3RpdmVQaXBlbGluZXNDaGFuZ2VkKCkKK3sKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoZG9jdW1lbnQoKS5wYWdlKCkpOworfQog
I2VuZGlmCiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cmVtb3ZlQmVoYXZpb3JSZXN0cmljdGlv
bnNBZnRlckZpcnN0VXNlckdlc3R1cmUoTWVkaWFFbGVtZW50U2Vzc2lvbjo6QmVoYXZpb3JSZXN0
cmljdGlvbnMgbWFzaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXgg
YTVmMTg3Yjc4Zjk0NjE0MTQ5ZWQyYzNkNjRmNGRhNjg0YTNiYzYyZS4uYmMwOTAxMzgyYTdhZjU4
Yzk3MTJjOGE4NTQ1YjRhZTY2ZGMwMTI2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgKQEAgLTc1OCw2ICs3NTgsNyBAQCBwcml2YXRlOgogCiAjaWYgVVNFKEdTVFJFQU1F
UikKICAgICB2b2lkIHJlcXVlc3RJbnN0YWxsTWlzc2luZ1BsdWdpbnMoY29uc3QgU3RyaW5nJiBk
ZXRhaWxzLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBNZWRpYVBsYXllclJlcXVlc3RJbnN0
YWxsTWlzc2luZ1BsdWdpbnNDYWxsYmFjayYpIGZpbmFsOworICAgIHZvaWQgZ3N0cmVhbWVyQWN0
aXZlUGlwZWxpbmVzQ2hhbmdlZCgpIGZpbmFsOwogI2VuZGlmCiAKICAgICB2b2lkIHBlbmRpbmdB
Y3Rpb25UaW1lckZpcmVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5jcHAKaW5kZXggN2Q1MGRkYzdhMzhhMzcyM2U0ZWU3ZDY2Y2E5N2M4YWNi
MzdjNzI2YS4uZWYxMzJmMTJiMzE5ZTA0MzViZDU3YzI3NjJjMDcwZTg1NGU0Mzc2ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAt
ODgsNiArODgsMTAgQEAKICNpbmNsdWRlICJQYWdlRGVidWdnYWJsZS5oIgogI2VuZGlmCiAKKyNp
ZiBVU0UoR1NUUkVBTUVSKQorI2luY2x1ZGUgIkluc3BlY3RvckdTdHJlYW1lckFnZW50LmgiCisj
ZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwpAQCAt
MTc0LDYgKzE3OCwxMCBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNyZWF0ZUxhenlBZ2Vu
dHMoKQogICAgIG1fYWdlbnRzLmFwcGVuZChtYWtlVW5pcXVlPEluc3BlY3RvckluZGV4ZWREQkFn
ZW50PihwYWdlQ29udGV4dCkpOwogI2VuZGlmCiAKKyNpZiBVU0UoR1NUUkVBTUVSKQorICAgIG1f
YWdlbnRzLmFwcGVuZChtYWtlVW5pcXVlPEluc3BlY3RvckdTdHJlYW1lckFnZW50PihwYWdlQ29u
dGV4dCkpOworI2VuZGlmCisKICAgICBhdXRvIHNjcmlwdFByb2ZpbGVyQWdlbnRQdHIgPSBtYWtl
VW5pcXVlPEluc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQ+KHBhZ2VDb250ZXh0KTsKICAgICBt
X2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQoc2Ny
aXB0UHJvZmlsZXJBZ2VudFB0ci5nZXQoKSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKFdURk1vdmUo
c2NyaXB0UHJvZmlsZXJBZ2VudFB0cikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAppbmRleCBlNzIwNGNiMzM1M2U5MjUxMDAwZmE1
MjJhMjQ3NzhhYmI2NjIxN2I1Li40Njc4NWIzZDA0Y2I3NDAzNGI1ZTA5MDg2NDYwNDcyMDE4YjI2
NzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LmNwcApAQCAtMzE1LDYgKzMxNSw4IEBAIFN0cmluZyBJbnNwZWN0b3JGcm9udGVuZEhv
c3Q6OnBvcnQoKQogewogI2lmIFBMQVRGT1JNKEdUSykKICAgICByZXR1cm4gImd0ayJfczsKKyNl
bGlmIFBMQVRGT1JNKFdQRSkKKyAgICByZXR1cm4gIndwZSJfczsKICNlbHNlCiAgICAgcmV0dXJu
ICJ1bmtub3duIl9zOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDRmMThiNThjNmNkMDFlMGI2OWE4
OTUzYWQwOWE3MzljMzUyMDQ5NmEuLmY1MDQ1YTY1ZGU0ZmY3OTZkOGE5MzdmMTkxNTIyNjU4MDY1
OThkMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uY3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9y
RE9NRGVidWdnZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckRhdGFiYXNlQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0
b3JHU3RyZWFtZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckxheWVyVHJlZUFnZW50Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yTWVtb3J5QWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JO
ZXR3b3JrQWdlbnQuaCIKQEAgLTEyODYsNCArMTI4NywxMiBAQCBJbnN0cnVtZW50aW5nQWdlbnRz
KiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0
KFNjcgogICAgIHJldHVybiBudWxscHRyOwogfQogCisjaWYgVVNFKEdTVFJFQU1FUikKK3ZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2Vk
SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzKQoreworICAgIGlm
IChhdXRvKiBnc3RyZWFtZXJBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yR1N0
cmVhbWVyQWdlbnQoKSkKKyAgICAgICAgZ3N0cmVhbWVyQWdlbnQtPmFjdGl2ZVBpcGVsaW5lc0No
YW5nZWQoKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXgg
ZGJmODIyMDVkYjViY2NiZTE2OWVkMGU5NDdkMWFkODNkZDg1MGZkNi4uZWJhNTZkODlmYzRiODc2
NDMwMWY5NmUwZTAxODE2ZTAzODMxMWE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMzE0LDYgKzMxNCwxMCBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbGF5ZXJUcmVlRGlkQ2hhbmdlKFBhZ2UqKTsKICAgICBz
dGF0aWMgdm9pZCByZW5kZXJMYXllckRlc3Ryb3llZChQYWdlKiwgY29uc3QgUmVuZGVyTGF5ZXIm
KTsKIAorI2lmIFVTRShHU1RSRUFNRVIpCisgICAgc3RhdGljIHZvaWQgZ3N0cmVhbWVyQWN0aXZl
UGlwZWxpbmVzQ2hhbmdlZChQYWdlKik7CisjZW5kaWYKKwogICAgIHN0YXRpYyB2b2lkIGZyb250
ZW5kQ3JlYXRlZCgpOwogICAgIHN0YXRpYyB2b2lkIGZyb250ZW5kRGVsZXRlZCgpOwogICAgIHN0
YXRpYyBib29sIGhhc0Zyb250ZW5kcygpIHsgcmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
blB1YmxpYzo6aGFzRnJvbnRlbmRzKCk7IH0KQEAgLTQ3OSw2ICs0ODMsOSBAQCBwcml2YXRlOgog
I2lmIEVOQUJMRShSRVNPVVJDRV9VU0FHRSkKICAgICBzdGF0aWMgdm9pZCBkaWRIYW5kbGVNZW1v
cnlQcmVzc3VyZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIENyaXRpY2FsKTsKICNlbmRpZgor
I2lmIFVTRShHU1RSRUFNRVIpCisgICAgc3RhdGljIHZvaWQgZ3N0cmVhbWVyQWN0aXZlUGlwZWxp
bmVzQ2hhbmdlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYpOworI2VuZGlmCiAKICAgICBzdGF0
aWMgdm9pZCBuZXR3b3JrU3RhdGVDaGFuZ2VkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJik7CiAg
ICAgc3RhdGljIHZvaWQgdXBkYXRlQXBwbGljYXRpb25DYWNoZVN0YXR1c0ltcGwoSW5zdHJ1bWVu
dGluZ0FnZW50cyYsIEZyYW1lJik7CkBAIC0xNjE1LDYgKzE2MjIsMTUgQEAgaW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRmlyZUFuaW1hdGlvbkZyYW1lKERvY3VtZW50
JiBkb2N1bWVudCwKICAgICAgICAgd2lsbEZpcmVBbmltYXRpb25GcmFtZUltcGwoKmluc3RydW1l
bnRpbmdBZ2VudHMsIGNhbGxiYWNrSWQsIGRvY3VtZW50KTsKIH0KIAorI2lmIFVTRShHU1RSRUFN
RVIpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1lckFjdGl2
ZVBpcGVsaW5lc0NoYW5nZWQoUGFnZSogcGFnZSkKK3sKKyAgICBGQVNUX1JFVFVSTl9JRl9OT19G
Uk9OVEVORFModm9pZCgpKTsKKyAgICBpZiAoYXV0byogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGlu
c3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQorICAgICAgICBnc3RyZWFtZXJBY3RpdmVQ
aXBlbGluZXNDaGFuZ2VkSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cyk7Cit9CisjZW5kaWYKKwog
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaXJlQW5pbWF0aW9uRnJh
bWUoRG9jdW1lbnQmIGRvY3VtZW50KQogewogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5E
Uyh2b2lkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1l
bnRpbmdBZ2VudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdB
Z2VudHMuY3BwCmluZGV4IDFmOWEwZDdjNTMyYTNmOTA4NTZjMTg0YTFmZmMzYjFjZjM1ZWZjODcu
LmViN2MzMTg3YTJjZTAxMWRlMDU3ZGQyYjkzMTFjOTYyYzZhMGU5MzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAKQEAgLTcxLDYgKzcx
LDkgQEAgdm9pZCBJbnN0cnVtZW50aW5nQWdlbnRzOjpyZXNldCgpCiAgICAgbV9pbnNwZWN0b3JD
YW52YXNBZ2VudCA9IG51bGxwdHI7CiAgICAgbV9wZXJzaXN0ZW50SW5zcGVjdG9yQW5pbWF0aW9u
QWdlbnQgPSBudWxscHRyOwogICAgIG1fdHJhY2tpbmdJbnNwZWN0b3JBbmltYXRpb25BZ2VudCA9
IG51bGxwdHI7CisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBtX2luc3BlY3RvckdTdHJlYW1lckFn
ZW50ID0gbnVsbHB0cjsKKyNlbmRpZgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAppbmRleCBmNmZl
YTdkYTIxMzYwZGQwOGNjM2Q5NjZiMTRlMmFhYzQ2NTQ0OTE1Li40YTZkMzk3Zjg2YWJlMTM4YWM4
NTBiNjk5ZThmNzZkYmRlYWNjOWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTM2LDYgKzM2LDEwIEBACiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAorI2lmIFVTRShHU1RS
RUFNRVIpCisjaW5jbHVkZSAiSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaCIKKyNlbmRpZgorCiBu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKIGNsYXNzIEluc3BlY3RvckFnZW50OwogY2xhc3MgSW5zcGVj
dG9yRGVidWdnZXJBZ2VudDsKQEAgLTE1OSw2ICsxNjMsMTEgQEAgcHVibGljOgogICAgIEluc3Bl
Y3RvckFuaW1hdGlvbkFnZW50KiB0cmFja2luZ0luc3BlY3RvckFuaW1hdGlvbkFnZW50KCkgY29u
c3QgeyByZXR1cm4gbV90cmFja2luZ0luc3BlY3RvckFuaW1hdGlvbkFnZW50OyB9CiAgICAgdm9p
ZCBzZXRUcmFja2luZ0luc3BlY3RvckFuaW1hdGlvbkFnZW50KEluc3BlY3RvckFuaW1hdGlvbkFn
ZW50KiBhZ2VudCkgeyBtX3RyYWNraW5nSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQgPSBhZ2VudDsg
fQogCisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCogaW5z
cGVjdG9yR1N0cmVhbWVyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvckdTdHJlYW1l
ckFnZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudChJbnNwZWN0b3JH
U3RyZWFtZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCA9IGFnZW50
OyB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBJbnN0cnVtZW50aW5nQWdlbnRzKEluc3BlY3Rv
cjo6SW5zcGVjdG9yRW52aXJvbm1lbnQmKTsKIApAQCAtMTkxLDYgKzIwMCw5IEBAIHByaXZhdGU6
CiAgICAgSW5zcGVjdG9yQ2FudmFzQWdlbnQqIG1faW5zcGVjdG9yQ2FudmFzQWdlbnQgeyBudWxs
cHRyIH07CiAgICAgSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQqIG1fcGVyc2lzdGVudEluc3BlY3Rv
ckFuaW1hdGlvbkFnZW50IHsgbnVsbHB0ciB9OwogICAgIEluc3BlY3RvckFuaW1hdGlvbkFnZW50
KiBtX3RyYWNraW5nSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQgeyBudWxscHRyIH07CisjaWYgVVNF
KEdTVFJFQU1FUikKKyAgICBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCogbV9pbnNwZWN0b3JHU3Ry
ZWFtZXJBZ2VudCB7IG51bGxwdHIgfTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JHU3RyZWFtZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckdTdHJlYW1lckFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDBjYzY4ZWVlNTI3ZDkwZjZi
YjhiZmMxNGFhZjYxZTEyOWJhN2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5jcHAKQEAgLTAsMCArMSw4
MCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIx
MTAtMTMwMSAgVVNBCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkluc3Bl
Y3RvckdTdHJlYW1lckFnZW50LmgiCisKKyNpZiBVU0UoR1NUUkVBTUVSKQorCisjaW5jbHVkZSAi
R1N0cmVhbWVyQ29tbW9uLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKKworSW5zcGVj
dG9yR1N0cmVhbWVyQWdlbnQ6Okluc3BlY3RvckdTdHJlYW1lckFnZW50KFBhZ2VBZ2VudENvbnRl
eHQmIGNvbnRleHQpCisgICAgOiBJbnNwZWN0b3JBZ2VudEJhc2UoIkdTdHJlYW1lciJfcywgY29u
dGV4dCkKKyAgICAsIG1fYmFja2VuZERpc3BhdGNoZXIoSW5zcGVjdG9yOjpHU3RyZWFtZXJCYWNr
ZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGNvbnRleHQuYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpKQor
ICAgICwgbV9mcm9udGVuZERpc3BhdGNoZXIobWFrZVVuaXF1ZTxJbnNwZWN0b3I6OkdTdHJlYW1l
ckZyb250ZW5kRGlzcGF0Y2hlcj4oY29udGV4dC5mcm9udGVuZFJvdXRlcikpCit7Cit9CisKK0lu
c3BlY3RvckdTdHJlYW1lckFnZW50Ojp+SW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQoKSA9IGRlZmF1
bHQ7CisKK3ZvaWQgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlz
cGF0Y2hlciopCit7Cit9CisKK3ZvaWQgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6OndpbGxEZXN0
cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikKK3sKK30K
Kwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudDo6Z2V0QWN0aXZlUGlwZWxpbmVzTmFtZXMo
RXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxTdHJpbmc+PiYg
cGlwZWxpbmVzKQoreworICAgIHBpcGVsaW5lcyA9IEpTT046OkFycmF5T2Y8U3RyaW5nPjo6Y3Jl
YXRlKCk7CisgICAgVU5VU0VEX1BBUkFNKGVycm9yU3RyaW5nKTsKKyAgICBmb3IgKGF1dG8gaXRl
bSA6IGFjdGl2ZVBpcGVsaW5lc05hbWVzKCkpCisgICAgICAgIHBpcGVsaW5lcy0+YWRkSXRlbShT
dHJpbmc6OmZyb21VVEY4KGl0ZW0pKTsKK30KKwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJBZ2Vu
dDo6Z2V0QWN0aXZlUGlwZWxpbmVCaW5OYW1lcyhFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNv
bnN0IFN0cmluZyYgcGlwZWxpbmUsIGNvbnN0IFN0cmluZyYgY2hpbGQsIFJlZlB0cjxKU09OOjpB
cnJheU9mPFN0cmluZz4+JiBuYW1lcykKK3sKKyAgICBuYW1lcyA9IEpTT046OkFycmF5T2Y8U3Ry
aW5nPjo6Y3JlYXRlKCk7CisgICAgVU5VU0VEX1BBUkFNKGVycm9yU3RyaW5nKTsKKyAgICBmb3Ig
KGF1dG8gaXRlbSA6IGdldEJpbkNoaWxkcmVuKHBpcGVsaW5lLCBjaGlsZCkpCisgICAgICAgIG5h
bWVzLT5hZGRJdGVtKFN0cmluZzo6ZnJvbVVURjgoaXRlbSkpOworfQorCit2b2lkIEluc3BlY3Rv
ckdTdHJlYW1lckFnZW50OjpkdW1wQWN0aXZlUGlwZWxpbmUoRXJyb3JTdHJpbmcmIGVycm9yU3Ry
aW5nLCBjb25zdCBTdHJpbmcmIHBpcGVsaW5lLCBjb25zdCBTdHJpbmcmIGNoaWxkLCBTdHJpbmcq
IHBpcGVsaW5lR3JhcGhSZXByZXNlbnRhdGlvbikKK3sKKyAgICBhdXRvIHN2Z0RhdGEgPSBXZWJD
b3JlOjpkdW1wQWN0aXZlUGlwZWxpbmUocGlwZWxpbmUsIGNoaWxkKTsKKyAgICBpZiAoc3ZnRGF0
YS5pc051bGwoKSkKKyAgICAgICAgZXJyb3JTdHJpbmcgPSAiSW52YWxpZCBwaXBlbGluZSBvciBi
aW4iX3M7CisgICAgZWxzZQorICAgICAgICAqcGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uID0g
U3RyaW5nOjpmcm9tVVRGOChzdmdEYXRhKTsKK30KKwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJB
Z2VudDo6YWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpCit7CisgICAgbV9mcm9udGVuZERpc3BhdGNo
ZXItPmFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gVVNFKEdTVFJFQU1FUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44NDI0OTlmNzNhYTg5NWNjODcwMTQwMmNjMTNkMzE5NjhlMzExYTZkCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JHU3RyZWFtZXJB
Z2VudC5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxp
YSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5z
ZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0
d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgVVNFKEdTVFJFQU1FUikKKworI2luY2x1ZGUgIkluc3BlY3RvcldlYkFnZW50QmFzZS5oIgor
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oPgor
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaD4K
KyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Cit0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKKworY2xhc3MgSW5zcGVjdG9yR1N0cmVhbWVy
QWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9y
OjpHU3RyZWFtZXJCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEluc3BlY3RvckdTdHJlYW1lckFnZW50KTsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKKyAgICBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudChQYWdlQWdlbnRDb250
ZXh0Jik7CisgICAgfkluc3BlY3RvckdTdHJlYW1lckFnZW50KCkgb3ZlcnJpZGU7CisKKyAgICAv
LyBJbnNwZWN0b3JBZ2VudEJhc2UKKyAgICB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2Vu
ZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hl
ciopIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5z
cGVjdG9yOjpEaXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKKworICAgIC8vIEdTdHJlYW1lckJh
Y2tlbmREaXNwYXRjaGVySGFuZGxlcgorICAgIHZvaWQgZ2V0QWN0aXZlUGlwZWxpbmVzTmFtZXMo
RXJyb3JTdHJpbmcmLCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxTdHJpbmc+PiYgcGlwZWxpbmVzKSBv
dmVycmlkZTsKKyAgICB2b2lkIGdldEFjdGl2ZVBpcGVsaW5lQmluTmFtZXMoRXJyb3JTdHJpbmcm
LCBjb25zdCBTdHJpbmcmIHBpcGVsaW5lLCBjb25zdCBTdHJpbmcmIGNoaWxkLCBSZWZQdHI8SlNP
Tjo6QXJyYXlPZjxTdHJpbmc+PiYgbmFtZXMpIG92ZXJyaWRlOworICAgIHZvaWQgZHVtcEFjdGl2
ZVBpcGVsaW5lKEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBwaXBlbGluZSwgY29uc3QgU3Ry
aW5nJiBjaGlsZCwgU3RyaW5nKiBwaXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24pIG92ZXJyaWRl
OworICAgIHZvaWQgYWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOworCitwcml2YXRlOgorICAgIFJl
ZlB0cjxJbnNwZWN0b3I6OkdTdHJlYW1lckJhY2tlbmREaXNwYXRjaGVyPiBtX2JhY2tlbmREaXNw
YXRjaGVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3I6OkdTdHJlYW1lckZyb250ZW5k
RGlzcGF0Y2hlcj4gbV9mcm9udGVuZERpc3BhdGNoZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4IGNmODlm
OWViNTA1MjMyNmZjZjhjYmQyNmQ4NTk2Y2Y0NzI0YzIzNjEuLjk2NzRhYjM4NmYzM2UyZTcyZTZk
Y2E5YzFkMzFiYWYyNDdlYWU2N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKQEAgLTgwLDYgKzgwLDkgQEAKICNp
bmNsdWRlICJMZWdhY3lXZWJBcmNoaXZlLmgiCiAjZW5kaWYKIAorI2lmIFVTRShHU1RSRUFNRVIp
CisjaW5jbHVkZSAiR1N0cmVhbWVyQ29tbW9uLmgiCisjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvclBhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JQYWdlQWdlbnQuaAppbmRleCA0ZmQ4YzBiMTAxNmU1YWI0NzUyNTU4ZDY1MzBhYmI1MjBlY2Vh
MjZhLi45ZDFhNDQ4MGExY2VkODE5NmY1YWNhYmY3NmQ4MjgwNTE2YmFmZjc5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmgK
QEAgLTEzNCw2ICsxMzQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRMYXlvdXQoKTsKICAgICB2
b2lkIGRpZFNjcm9sbCgpOwogICAgIHZvaWQgZGlkUmVjYWxjdWxhdGVTdHlsZSgpOworICAgIHZv
aWQgZ3N0cmVhbWVyUGlwZWxpbmVDYWNoZVVwZGF0ZWQoKTsKIAogICAgIEZyYW1lKiBmcmFtZUZv
cklkKGNvbnN0IFN0cmluZyYgZnJhbWVJZCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGZy
YW1lSWQoRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dTdHJl
YW1lci5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dTdHJlYW1lci5jbWFrZQppbmRl
eCA4NzRkNDlhZjFlNDE5YWNjODRhNDY2ZDI4Y2EwMjNjNmJjOWFmOWY5Li5kMDQ5ZDM5Y2UwZDI1
NTE0NTU0MWM3ODlkMTZkYjJmMTM3MzE1YTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9HU3RyZWFtZXIuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR1N0
cmVhbWVyLmNtYWtlCkBAIC03NSw2ICs3NSw3IEBAIGlmIChFTkFCTEVfVklERU8gT1IgRU5BQkxF
X1dFQl9BVURJTykKICAgICAgICAgJHtHU1RSRUFNRVJfQkFTRV9JTkNMVURFX0RJUlN9CiAgICAg
ICAgICR7R1NUUkVBTUVSX0FQUF9JTkNMVURFX0RJUlN9CiAgICAgICAgICR7R1NUUkVBTUVSX1BC
VVRJTFNfSU5DTFVERV9ESVJTfQorICAgICAgICAke0dSQVBIVklaX0lOQ0xVREVfRElSU30KICAg
ICApCiAKICAgICBsaXN0KEFQUEVORCBXZWJDb3JlX0xJQlJBUklFUwpAQCAtODMsNiArODQsNyBA
QCBpZiAoRU5BQkxFX1ZJREVPIE9SIEVOQUJMRV9XRUJfQVVESU8pCiAgICAgICAgICR7R1NUUkVB
TUVSX0xJQlJBUklFU30KICAgICAgICAgJHtHU1RSRUFNRVJfUEJVVElMU19MSUJSQVJJRVN9CiAg
ICAgICAgICR7R1NUUkVBTUVSX0FVRElPX0xJQlJBUklFU30KKyAgICAgICAgJHtHUkFQSFZJWl9M
SUJSQVJJRVN9CiAgICAgKQogCiAgICAgIyBBdm9pZGluZyBhIEdMaWIgZGVwcmVjYXRpb24gd2Fy
bmluZyBkdWUgdG8gR1N0cmVhbWVyIEFQSSB1c2luZyBkZXByZWNhdGVkIGNsYXNzZXMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvQXVkaW9EZXN0
aW5hdGlvbkdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3Ry
ZWFtZXIvQXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lci5jcHAKaW5kZXggMWE1NDk1ZmQ3NjRkOWMz
Y2M2ZWRiNTgxZmE0ODBlYWVhZDE0NTliZi4uOWQ0YWYyYzZjMWIwNTE2OTQ4N2Q4MjE0NzEzYjRi
NzQyMjM5N2Q3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0
cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyLmNwcApA
QCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkF1ZGlvQ2hhbm5lbC5oIgogI2luY2x1ZGUgIkF1
ZGlvU291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJHUmVmUHRyR1N0cmVhbWVyLmgiCisjaW5j
bHVkZSAiR1N0cmVhbWVyQ29tbW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUg
IldlYktpdFdlYkF1ZGlvU291cmNlR1N0cmVhbWVyLmgiCiAjaW5jbHVkZSA8Z3N0L2F1ZGlvL2dz
dGF1ZGlvYmFzZXNpbmsuaD4KQEAgLTgzLDcgKzg0LDggQEAgQXVkaW9EZXN0aW5hdGlvbkdTdHJl
YW1lcjo6QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcihBdWRpb0lPQ2FsbGJhY2smIGNhbGxiYWNr
LAogICAgICwgbV9zYW1wbGVSYXRlKHNhbXBsZVJhdGUpCiAgICAgLCBtX2lzUGxheWluZyhmYWxz
ZSkKIHsKLSAgICBtX3BpcGVsaW5lID0gZ3N0X3BpcGVsaW5lX25ldygicGxheSIpOworICAgIG1f
cGlwZWxpbmUgPSBnc3RfcGlwZWxpbmVfbmV3KCJ3ZWJhdWRpby1wbGF5YmFjayIpOworICAgIHJl
Z2lzdGVyQWN0aXZlUGlwZWxpbmUobV9waXBlbGluZSk7CiAgICAgR1JlZlB0cjxHc3RCdXM+IGJ1
cyA9IGFkb3B0R1JlZihnc3RfcGlwZWxpbmVfZ2V0X2J1cyhHU1RfUElQRUxJTkUobV9waXBlbGlu
ZSkpKTsKICAgICBBU1NFUlQoYnVzKTsKICAgICBnc3RfYnVzX2FkZF9zaWduYWxfd2F0Y2hfZnVs
bChidXMuZ2V0KCksIFJ1bkxvb3BTb3VyY2VQcmlvcml0eTo6UnVuTG9vcERpc3BhdGNoZXIpOwpA
QCAtMTMwLDggKzEzMiw4IEBAIEF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXI6On5BdWRpb0Rlc3Rp
bmF0aW9uR1N0cmVhbWVyKCkKICAgICBHUmVmUHRyPEdzdEJ1cz4gYnVzID0gYWRvcHRHUmVmKGdz
dF9waXBlbGluZV9nZXRfYnVzKEdTVF9QSVBFTElORShtX3BpcGVsaW5lKSkpOwogICAgIEFTU0VS
VChidXMpOwogICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyhidXMuZ2V0
KCksIHJlaW50ZXJwcmV0X2Nhc3Q8Z3BvaW50ZXI+KG1lc3NhZ2VDYWxsYmFjayksIHRoaXMpOwor
ICAgIHVucmVnaXN0ZXJQaXBlbGluZShtX3BpcGVsaW5lKTsKICAgICBnc3RfYnVzX3JlbW92ZV9z
aWduYWxfd2F0Y2goYnVzLmdldCgpKTsKLQogICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3Bp
cGVsaW5lLCBHU1RfU1RBVEVfTlVMTCk7CiAgICAgZ3N0X29iamVjdF91bnJlZihtX3BpcGVsaW5l
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5o
CmluZGV4IDM1ZTQ1MGE2ZWVlYmZlMTFmNWY3YTY0ZWVmMDkwY2YxMzg3NjAxODQuLmVhNWRlMTA0
NzM0MGM1MzhmMGU0MzIyMTZiMDMyMWFkZGZkNTQ5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMjcyLDYgKzI3Miw3IEBAIHB1Ymxp
YzoKIAogI2lmIFVTRShHU1RSRUFNRVIpCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RJbnN0YWxs
TWlzc2luZ1BsdWdpbnMoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgTWVkaWFQbGF5ZXJS
ZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zQ2FsbGJhY2smKSB7IH07CisgICAgdmlydHVhbCB2
b2lkIGdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKSB7IH07CiAjZW5kaWYKIAogICAg
IHZpcnR1YWwgYm9vbCBtZWRpYVBsYXllclNob3VsZERpc2FibGVTbGVlcCgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CkBAIC02MzQsNiArNjM1LDcgQEAgcHVibGljOgogCiAjaWYgVVNFKEdTVFJF
QU1FUikKICAgICB2b2lkIHJlcXVlc3RJbnN0YWxsTWlzc2luZ1BsdWdpbnMoY29uc3QgU3RyaW5n
JiBkZXRhaWxzLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBNZWRpYVBsYXllclJlcXVlc3RJ
bnN0YWxsTWlzc2luZ1BsdWdpbnNDYWxsYmFjayYgY2FsbGJhY2spIHsgY2xpZW50KCkucmVxdWVz
dEluc3RhbGxNaXNzaW5nUGx1Z2lucyhkZXRhaWxzLCBkZXNjcmlwdGlvbiwgY2FsbGJhY2spOyB9
CisgICAgdm9pZCBnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCkgeyBjbGllbnQoKS5n
c3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7IH0KICNlbmRpZgogCiBwcml2YXRlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dT
dHJlYW1lckNvbW1vbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmNwcAppbmRleCAwODliZjc0Zjc0ZWM2NGE2ZjgwNDQ1YzM1
M2RkYTM1MTJhYjM1NGQ0Li45Y2E0OGU5NTBmMDFhZWZkZWI2OGU1MmNiOTE4NGExNzk5OWM2ZDIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
R1N0cmVhbWVyQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmNwcApAQCAtMjcsMTIgKzI3LDE2IEBACiAjaW5j
bHVkZSAiR3N0QWxsb2NhdG9yRmFzdE1hbGxvYy5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKICNp
bmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlIDxncmFwaHZpei9ndmMuaD4KICNpbmNs
dWRlIDxnc3QvYXVkaW8vYXVkaW8taW5mby5oPgogI2luY2x1ZGUgPGdzdC9nc3QuaD4KICNpbmNs
dWRlIDxtdXRleD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9OZXZl
ckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaD4KICNpbmNs
dWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvUnVuTG9vcFNv
dXJjZVByaW9yaXR5Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAjaWYg
RU5BQkxFKFZJREVPX1RSQUNLKSAmJiBVU0UoR1NUUkVBTUVSX01QRUdUUykKICNkZWZpbmUgR1NU
X1VTRV9VTlNUQUJMRV9BUEkKQEAgLTM5MSw2ICszOTUsMTEyIEBAIGJvb2wgaXNHU3RyZWFtZXJQ
bHVnaW5BdmFpbGFibGUoY29uc3QgY2hhciogbmFtZSkKICAgICByZXR1cm4gcGx1Z2luOwogfQog
CitzdGF0aWMgSGFzaE1hcDxDU3RyaW5nLCBHc3RCaW4qPiYgYWN0aXZlUGlwZWxpbmVzTWFwKCkK
K3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxDU3RyaW5nLCBHc3RCaW4qPj4g
YWN0aXZlUGlwZWxpbmVzOworICAgIHJldHVybiBhY3RpdmVQaXBlbGluZXMuZ2V0KCk7Cit9CisK
K3ZvaWQgcmVnaXN0ZXJBY3RpdmVQaXBlbGluZShHc3RFbGVtZW50KiBwaXBlbGluZSkKK3sKKyAg
ICBBU1NFUlQoR1NUX0lTX0VMRU1FTlQocGlwZWxpbmUpKTsKKyAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOworCisgICAgR1VuaXF1ZVB0cjxnY2hhcj4gbmFtZShnc3Rfb2JqZWN0X2dldF9uYW1l
KEdTVF9PQkpFQ1RfQ0FTVChwaXBlbGluZSkpKTsKKyAgICBhdXRvIGFkZFJlc3VsdCA9IGFjdGl2
ZVBpcGVsaW5lc01hcCgpLmFkZChuYW1lLmdldCgpLCBudWxscHRyKTsKKyAgICBpZiAoIWFkZFJl
c3VsdC5pc05ld0VudHJ5KQorICAgICAgICByZXR1cm47CisgICAgYWRkUmVzdWx0Lml0ZXJhdG9y
LT52YWx1ZSA9IEdTVF9CSU5fQ0FTVChwaXBlbGluZSk7Cit9CisKK3ZvaWQgdW5yZWdpc3RlclBp
cGVsaW5lKEdzdEVsZW1lbnQqIHBpcGVsaW5lKQoreworICAgIEFTU0VSVChHU1RfSVNfRUxFTUVO
VChwaXBlbGluZSkpOworCisgICAgR1VuaXF1ZVB0cjxnY2hhcj4gbmFtZShnc3Rfb2JqZWN0X2dl
dF9uYW1lKEdTVF9PQkpFQ1RfQ0FTVChwaXBlbGluZSkpKTsKKyAgICBhY3RpdmVQaXBlbGluZXNN
YXAoKS5yZW1vdmUobmFtZS5nZXQoKSk7Cit9CisKK1ZlY3RvcjxDU3RyaW5nPiBhY3RpdmVQaXBl
bGluZXNOYW1lcygpCit7CisgICAgVmVjdG9yPENTdHJpbmc+IG5hbWVzOworICAgIGF1dG8mIG1h
cCA9IGFjdGl2ZVBpcGVsaW5lc01hcCgpOworICAgIG5hbWVzLnJlc2VydmVJbml0aWFsQ2FwYWNp
dHkobWFwLnNpemUoKSk7CisgICAgZm9yIChhdXRvJiBuYW1lIDogbWFwLmtleXMoKSkKKyAgICAg
ICAgbmFtZXMudW5jaGVja2VkQXBwZW5kKG5hbWUpOworCisgICAgc3RkOjpzb3J0KG5hbWVzLmJl
Z2luKCksIG5hbWVzLmVuZCgpKTsKKyAgICByZXR1cm4gbmFtZXM7Cit9CisKK0NTdHJpbmcgZXhw
b3J0QmluVG9TVkcoR3N0QmluKiBiaW4pCit7CisgICAgR1VuaXF1ZVB0cjxnY2hhcj4gZG90RGF0
YShnc3RfZGVidWdfYmluX3RvX2RvdF9kYXRhKGJpbiwgR1NUX0RFQlVHX0dSQVBIX1NIT1dfQUxM
KSk7CisgICAgQWdyYXBoX3QqIGdyYXBoID0gYWdtZW1yZWFkKGRvdERhdGEuZ2V0KCkpOworCisg
ICAgR1ZDX3QqIGNvbnRleHQgPSBndkNvbnRleHQoKTsKKyAgICBndkxheW91dChjb250ZXh0LCBn
cmFwaCwgImRvdCJfcyk7CisKKyAgICB1bnNpZ25lZCBsZW5ndGg7CisgICAgY2hhciogc3ZnRGF0
YTsKKyAgICBpZiAoZ3ZSZW5kZXJEYXRhKGNvbnRleHQsIGdyYXBoLCAic3ZnIl9zLCAmc3ZnRGF0
YSwgJmxlbmd0aCkpIHsKKyAgICAgICAgZ3ZGcmVlTGF5b3V0KGNvbnRleHQsIGdyYXBoKTsKKyAg
ICAgICAgYWdjbG9zZShncmFwaCk7CisgICAgICAgIGd2RnJlZUNvbnRleHQoY29udGV4dCk7Cisg
ICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgQ1N0cmluZyBzdmcgeyBzdmdEYXRhLCBs
ZW5ndGggfTsKKyAgICBndkZyZWVSZW5kZXJEYXRhKHN2Z0RhdGEpOworICAgIGd2RnJlZUxheW91
dChjb250ZXh0LCBncmFwaCk7CisgICAgYWdjbG9zZShncmFwaCk7CisgICAgZ3ZGcmVlQ29udGV4
dChjb250ZXh0KTsKKyAgICByZXR1cm4gc3ZnOworfQorCitDU3RyaW5nIGR1bXBBY3RpdmVQaXBl
bGluZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgc3ViQmluTmFtZSkKK3sKKyAg
ICBHc3RCaW4qIHBpcGVsaW5lID0gYWN0aXZlUGlwZWxpbmVzTWFwKCkuZ2V0KG5hbWUudXRmOCgp
KTsKKyAgICBpZiAoIXBpcGVsaW5lKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgaWYgKHN1
YkJpbk5hbWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZXhwb3J0QmluVG9TVkcocGlwZWxp
bmUpOworCisgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBjaGlsZCA9IGFkb3B0R1JlZihnc3RfYmlu
X2dldF9ieV9uYW1lKHBpcGVsaW5lLCBzdWJCaW5OYW1lLnV0ZjgoKS5kYXRhKCkpKTsKKyAgICBp
ZiAoR1NUX0lTX0JJTihjaGlsZC5nZXQoKSkpCisgICAgICAgIHJldHVybiBleHBvcnRCaW5Ub1NW
RyhHU1RfQklOX0NBU1QoY2hpbGQuZ2V0KCkpKTsKKworICAgIHJldHVybiB7IH07Cit9CisKK1Zl
Y3RvcjxDU3RyaW5nPiBnZXRCaW5DaGlsZHJlbihjb25zdCBTdHJpbmcmIHBpcGVsaW5lTmFtZSwg
Y29uc3QgU3RyaW5nJiBiaW5OYW1lKQoreworICAgIFZlY3RvcjxDU3RyaW5nPiBjaGlsZHJlbjsK
KyAgICBHc3RCaW4qIHBpcGVsaW5lID0gYWN0aXZlUGlwZWxpbmVzTWFwKCkuZ2V0KHBpcGVsaW5l
TmFtZS51dGY4KCkpOworICAgIGlmICghcGlwZWxpbmUpCisgICAgICAgIHJldHVybiBjaGlsZHJl
bjsKKworICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gcGFyZW50OworCisgICAgaWYgKGJpbk5hbWUu
aXNFbXB0eSgpKQorICAgICAgICBwYXJlbnQgPSBHU1RfRUxFTUVOVF9DQVNUKGdzdF9vYmplY3Rf
cmVmKHBpcGVsaW5lKSk7CisgICAgZWxzZQorICAgICAgICBwYXJlbnQgPSBhZG9wdEdSZWYoZ3N0
X2Jpbl9nZXRfYnlfbmFtZShwaXBlbGluZSwgYmluTmFtZS51dGY4KCkuZGF0YSgpKSk7CisKKyAg
ICBpZiAoIXBhcmVudCB8fCAhR1NUX0lTX0JJTihwYXJlbnQuZ2V0KCkpKQorICAgICAgICByZXR1
cm4gY2hpbGRyZW47CisKKyAgICBmb3IgKEdMaXN0KiBpdGVtID0gR1NUX0JJTl9DSElMRFJFTihH
U1RfQklOX0NBU1QocGFyZW50LmdldCgpKSk7IGl0ZW07IGl0ZW0gPSBpdGVtLT5uZXh0KSB7Cisg
ICAgICAgIGlmIChHU1RfSVNfQklOKGl0ZW0tPmRhdGEpKSB7CisgICAgICAgICAgICBHVW5pcXVl
UHRyPGdjaGFyPiBuYW1lKGdzdF9lbGVtZW50X2dldF9uYW1lKEdTVF9FTEVNRU5UX0NBU1QoaXRl
bS0+ZGF0YSkpKTsKKyAgICAgICAgICAgIGNoaWxkcmVuLmFwcGVuZChDU3RyaW5nKG5hbWUuZ2V0
KCkpKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBjaGlsZHJlbjsKK30KKwogfQog
CiAjZW5kaWYgLy8gVVNFKEdTVFJFQU1FUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uaAppbmRleCA5
NjljN2MzMzRiOTUwM2EyMWE3MmUzNzlmMTM3YzI3YTZiOTE4MTI1Li4zMGNmZjE5NmVlOTgxYTdh
NjAzZGM0ZmVkZTEzYTFmZmM2M2ZlZDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5oCkBAIC0y
MjMsNiArMjIzLDEyIEBAIGVudW0gY2xhc3MgR3N0VmlkZW9EZWNvZGVyUGxhdGZvcm0geyBJbXhW
UFUsIFZpZGVvNExpbnV4IH07CiAKIGJvb2wgaXNHU3RyZWFtZXJQbHVnaW5BdmFpbGFibGUoY29u
c3QgY2hhciogbmFtZSk7CiAKK3ZvaWQgcmVnaXN0ZXJBY3RpdmVQaXBlbGluZShHc3RFbGVtZW50
Kik7Cit2b2lkIHVucmVnaXN0ZXJQaXBlbGluZShHc3RFbGVtZW50Kik7CitWZWN0b3I8Q1N0cmlu
Zz4gYWN0aXZlUGlwZWxpbmVzTmFtZXMoKTsKK0NTdHJpbmcgZHVtcEFjdGl2ZVBpcGVsaW5lKGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBzdWJCaW5OYW1lKTsKK1ZlY3RvcjxDU3Ry
aW5nPiBnZXRCaW5DaGlsZHJlbihjb25zdCBTdHJpbmcmIHBpcGVsaW5lTmFtZSwgY29uc3QgU3Ry
aW5nJiBiaW5OYW1lKTsKKwogfQogCiAjaWZuZGVmIEdTVF9CVUZGRVJfRFRTX09SX1BUUwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA1M2Q1
NmY4ZTk1MDgzNDI4ODM3Y2VjMThhNDEwYWM1ODQxYjBlMDI2Li40ZmVjMzdlM2NhZWFjYmVlZWZi
ZDI2OTRiZjlmNjZmNmQ5ZGM4NDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmNwcApAQCAtNDQ4LDkgKzQ0OCwxNCBAQCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXI6On5NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIoKQogCiAgICAgLy8gVGhl
IGNoYW5nZSB0byBHU1RfU1RBVEVfTlVMTCBzdGF0ZSBpcyBhbHdheXMgc3luY2hyb25vdXMuIFNv
IGFmdGVyIHRoaXMgZ2V0cyBleGVjdXRlZCB3ZSBkb24ndCBuZWVkIHRvIHdvcnJ5CiAgICAgLy8g
YWJvdXQgaGFuZGxlcnMgcnVubmluZyBpbiB0aGUgR1N0cmVhbWVyIHRocmVhZC4KLSAgICBpZiAo
bV9waXBlbGluZSkKKyAgICBpZiAobV9waXBlbGluZSkgeworICAgICAgICB1bnJlZ2lzdGVyUGlw
ZWxpbmUobV9waXBlbGluZS5nZXQoKSk7CiAgICAgICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZSht
X3BpcGVsaW5lLmdldCgpLCBHU1RfU1RBVEVfTlVMTCk7CiAKKyAgICAgICAgaWYgKG1fcGxheWVy
KQorICAgICAgICAgICAgbV9wbGF5ZXItPmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQo
KTsKKyAgICB9CisKICAgICBtX3BsYXllciA9IG51bGxwdHI7CiB9CiAKQEAgLTE3MDcsNiArMTcx
Miw5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp2aWRlb0NoYW5nZWRDYWxs
YmFjayhNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6c2V0UGlwZWxpbmUoR3N0RWxlbWVudCogcGlwZWxpbmUpCiB7CiAgICAgbV9waXBl
bGluZSA9IHBpcGVsaW5lOworICAgIHJlZ2lzdGVyQWN0aXZlUGlwZWxpbmUobV9waXBlbGluZS5n
ZXQoKSk7CisgICAgaWYgKG1fcGxheWVyKQorICAgICAgICBtX3BsYXllci0+Z3N0cmVhbWVyQWN0
aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOwogCiAgICAgR1JlZlB0cjxHc3RCdXM+IGJ1cyA9IGFkb3B0
R1JlZihnc3RfcGlwZWxpbmVfZ2V0X2J1cyhHU1RfUElQRUxJTkUobV9waXBlbGluZS5nZXQoKSkp
KTsKICAgICBnc3RfYnVzX3NldF9zeW5jX2hhbmRsZXIoYnVzLmdldCgpLCBbXShHc3RCdXMqLCBH
c3RNZXNzYWdlKiBtZXNzYWdlLCBncG9pbnRlciB1c2VyRGF0YSkgewpAQCAtMjg5Myw2ICsyOTAx
LDkgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlCaW4o
Y29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYKICAgICAgICAgfQogCiAgICAgICAgIEdTVF9J
TkZPX09CSkVDVChwaXBlbGluZSgpLCAiVGVhcmluZyBkb3duIGFzIHdlIG5lZWQgdG8gdXNlICVz
IG5vdy4iLCBwbGF5YmluTmFtZSk7CisgICAgICAgIHVucmVnaXN0ZXJQaXBlbGluZShtX3BpcGVs
aW5lLmdldCgpKTsKKyAgICAgICAgaWYgKG1fcGxheWVyKQorICAgICAgICAgICAgbV9wbGF5ZXIt
PmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKTsKICAgICAgICAgY2hhbmdlUGlwZWxp
bmVTdGF0ZShHU1RfU1RBVEVfTlVMTCk7CiAgICAgICAgIG1fcGlwZWxpbmUgPSBudWxscHRyOwog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRl
eCA4NTE2NWQxYmYxMjljZWNlMWExMjZkMWMzMDRkM2ZjOTYyZTcyNTM4Li42OWNjNjA3NTJmNzg5
ZGJkYTcxNjRkMDM1NDVhMmFhMDE5NjBhM2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC0xMjcsNiArMTI3LDggQEAgcHVibGljOgogICAgIHN0
YXRpYyBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlIGV4dGVuZGVkU3VwcG9ydHNUeXBlKGNvbnN0
IE1lZGlhRW5naW5lU3VwcG9ydFBhcmFtZXRlcnMmLCBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBl
KTsKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0tleVN5c3RlbShjb25zdCBTdHJpbmcmIGtleVN5
c3RlbSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CiAKKyAgICBNZWRpYVBsYXllciogbWVkaWFQ
bGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3BsYXllcjsgfQorCiAgICAgYm9vbCBoYXNWaWRlbygp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faGFzVmlkZW87IH0KICAgICBib29sIGhhc0F1ZGlvKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9oYXNBdWRpbzsgfQogICAgIHZvaWQgbG9hZChjb25zdCBT
dHJpbmcgJnVybCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCmlu
ZGV4IDVhMmJkZWRhMWI4N2ExZGVhOGM2YmJmNWY2OTg0MWQ3ZTlmNjZjMGIuLmIzZTkwMjhiMmYy
MjkzMGZlZjEwMjUyNGI5NmU5ZjA3ZjM3NDkxN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlw
ZWxpbmUuY3BwCkBAIC0xMTUsOSArMTE1LDExIEBAIEFwcGVuZFBpcGVsaW5lOjpBcHBlbmRQaXBl
bGluZShSZWY8TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+IG1lZGlhU291cmNlQ2xpCiAg
ICAgLy8gRklYTUU6IGdpdmUgYSBuYW1lIHRvIHRoZSBwaXBlbGluZSwgbWF5YmUgcmVsYXRlZCB3
aXRoIHRoZSB0cmFjayBpdCdzIG1hbmFnaW5nLgogICAgIC8vIFRoZSB0cmFjayBuYW1lIGlzIHN0
aWxsIHVua25vd24gYXQgdGhpcyB0aW1lLCB0aG91Z2guCiAgICAgc3RhdGljIHNpemVfdCBhcHBl
bmRQaXBlbGluZUNvdW50ID0gMDsKLSAgICBTdHJpbmcgcGlwZWxpbmVOYW1lID0gbWFrZVN0cmlu
ZygiYXBwZW5kLXBpcGVsaW5lLSIsCisgICAgU3RyaW5nIHBpcGVsaW5lTmFtZSA9IG1ha2VTdHJp
bmcoIm1zZS1hcHBlbmQtcGlwZWxpbmUtIiwKICAgICAgICAgbV9zb3VyY2VCdWZmZXJQcml2YXRl
LT50eXBlKCkuY29udGFpbmVyVHlwZSgpLnJlcGxhY2UoIi8iLCAiLSIpLCAnLScsIGFwcGVuZFBp
cGVsaW5lQ291bnQrKyk7CiAgICAgbV9waXBlbGluZSA9IGdzdF9waXBlbGluZV9uZXcocGlwZWxp
bmVOYW1lLnV0ZjgoKS5kYXRhKCkpOworICAgIHJlZ2lzdGVyQWN0aXZlUGlwZWxpbmUobV9waXBl
bGluZS5nZXQoKSk7CisgICAgbV9wbGF5ZXJQcml2YXRlLT5tZWRpYVBsYXllcigpLT5nc3RyZWFt
ZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7CiAKICAgICBtX2J1cyA9IGFkb3B0R1JlZihnc3Rf
cGlwZWxpbmVfZ2V0X2J1cyhHU1RfUElQRUxJTkUobV9waXBlbGluZS5nZXQoKSkpKTsKICAgICBn
c3RfYnVzX2FkZF9zaWduYWxfd2F0Y2hfZnVsbChtX2J1cy5nZXQoKSwgUnVuTG9vcFNvdXJjZVBy
aW9yaXR5OjpSdW5Mb29wRGlzcGF0Y2hlcik7CkBAIC0yNDIsNiArMjQ0LDkgQEAgQXBwZW5kUGlw
ZWxpbmU6On5BcHBlbmRQaXBlbGluZSgpCiAgICAgLy8gd2hlbiBjaGFuZ2luZyB0aGUgcGlwZWxp
bmUgc3RhdGUuCiAKICAgICBpZiAobV9waXBlbGluZSkgeworICAgICAgICB1bnJlZ2lzdGVyUGlw
ZWxpbmUobV9waXBlbGluZS5nZXQoKSk7CisgICAgICAgIGlmIChtX3BsYXllclByaXZhdGUpCisg
ICAgICAgICAgICBtX3BsYXllclByaXZhdGUtPm1lZGlhUGxheWVyKCktPmdzdHJlYW1lckFjdGl2
ZVBpcGVsaW5lc0NoYW5nZWQoKTsKICAgICAgICAgQVNTRVJUKG1fYnVzKTsKICAgICAgICAgZ19z
aWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9ieV9kYXRhKG1fYnVzLmdldCgpLCB0aGlzKTsKICAg
ICAgICAgZ3N0X2J1c19kaXNhYmxlX3N5bmNfbWVzc2FnZV9lbWlzc2lvbihtX2J1cy5nZXQoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJv
ai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlv
bnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCBlNTE5NTZhNDQ4OTRkOTE1MjJl
NzZhNGUyZTY0MzNhNGZlYTFlMWM4Li5mZjUwNDJlZGI2Njg2Nzg2NWFjZDg5YWUzMjllMzI0YmRj
N2Y0OWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9l
bi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9M
b2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKQEAgLTUyMSw2ICs1MjEs
NyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJFeHBvcnQgKCVzKSJdID0gIkV4cG9ydCAoJXMpIjsKIGxv
Y2FsaXplZFN0cmluZ3NbIkV4cG9ydCBIQVIiXSA9ICJFeHBvcnQgSEFSIjsKIGxvY2FsaXplZFN0
cmluZ3NbIkV4cG9ydCBSZXN1bHQiXSA9ICJFeHBvcnQgUmVzdWx0IjsKIGxvY2FsaXplZFN0cmlu
Z3NbIkV4cG9ydCBUZXN0Il0gPSAiRXhwb3J0IFRlc3QiOworbG9jYWxpemVkU3RyaW5nc1siRXhw
b3J0IHBpcGVsaW5lIGRvdCByZXByZXNlbnRhdGlvbiAoJXMpIl0gPSAiRXhwb3J0IHBpcGVsaW5l
IGRvdCByZXByZXNlbnRhdGlvbiAoJXMpIjsKIGxvY2FsaXplZFN0cmluZ3NbIkV4cG9ydCByZWNv
cmRpbmcgKCVzKSJdID0gIkV4cG9ydCByZWNvcmRpbmcgKCVzKSI7CiBsb2NhbGl6ZWRTdHJpbmdz
WyJFeHBvcnQgcmVjb3JkaW5nICglcylcblNoaWZ0LWNsaWNrIHRvIGV4cG9ydCBhIEhUTUwgcmVk
dWN0aW9uIl0gPSAiRXhwb3J0IHJlY29yZGluZyAoJXMpXG5TaGlmdC1jbGljayB0byBleHBvcnQg
YSBIVE1MIHJlZHVjdGlvbiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJFeHBvcnQgcmVzdWx0ICglcyki
XSA9ICJFeHBvcnQgcmVzdWx0ICglcykiOwpAQCAtNTc4LDYgKzU3OSw3IEBAIGxvY2FsaXplZFN0
cmluZ3NbIkZ1bGwtU2NyZWVuIGZyb20gXHUyMDFDJXNcdTIwMUQiXSA9ICJGdWxsLVNjcmVlbiBm
cm9tIFx1MjAxQyVzCiBsb2NhbGl6ZWRTdHJpbmdzWyJGdW5jdGlvbiJdID0gIkZ1bmN0aW9uIjsK
IGxvY2FsaXplZFN0cmluZ3NbIkZ1bmN0aW9uIE5hbWUgVmFyaWFibGUiXSA9ICJGdW5jdGlvbiBO
YW1lIFZhcmlhYmxlIjsKIGxvY2FsaXplZFN0cmluZ3NbIkdJRiJdID0gIkdJRiI7Citsb2NhbGl6
ZWRTdHJpbmdzWyJHU3RyZWFtZXIiXSA9ICJHU3RyZWFtZXIiOwogbG9jYWxpemVkU3RyaW5nc1si
R2FyYmFnZSBDb2xsZWN0aW9uIl0gPSAiR2FyYmFnZSBDb2xsZWN0aW9uIjsKIGxvY2FsaXplZFN0
cmluZ3NbIkdlbmVyYWwiXSA9ICJHZW5lcmFsIjsKIGxvY2FsaXplZFN0cmluZ3NbIkdldHRlciJd
ID0gIkdldHRlciI7CkBAIC04NTUsNiArODU3LDcgQEAgbG9jYWxpemVkU3RyaW5nc1siUGVyaW9k
cyBvZiBoaWdoIENQVSB1dGlsaXphdGlvbiB3aWxsIHJhcGlkbHkgZHJhaW4gYmF0dGVyeS4gU3QK
IGxvY2FsaXplZFN0cmluZ3NbIlBpbmciXSA9ICJQaW5nIjsKIGxvY2FsaXplZFN0cmluZ3NbIlBp
bmcgRnJhbWUiXSA9ICJQaW5nIEZyYW1lIjsKIGxvY2FsaXplZFN0cmluZ3NbIlBpbmdzIl0gPSAi
UGluZ3MiOworbG9jYWxpemVkU3RyaW5nc1siUGlwZWxpbmVzIl0gPSAiUGlwZWxpbmVzIjsKIGxv
Y2FsaXplZFN0cmluZ3NbIlBsYXkgU291bmQiXSA9ICJQbGF5IFNvdW5kIjsKIC8qIFRvb2x0aXAg
Zm9yIGEgdGltZSByYW5nZSBiYXIgdGhhdCByZXByZXNlbnRzIHdoZW4gdGhlIHBsYXliYWNrIG9m
IGEgYXVkaW8vdmlkZW8gZWxlbWVudCBpcyBydW5uaW5nICovCiBsb2NhbGl6ZWRTdHJpbmdzWyJQ
bGF5aW5nIl0gPSAiUGxheWluZyI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
U2NyaXB0cy9jb3B5LXVzZXItaW50ZXJmYWNlLXJlc291cmNlcy5wbCBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9TY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBsCmluZGV4IGZk
YmFkMzgzYjJlZmI2YzJiYjk1NGY3NWU1ZTMxNzNmM2M0NjE2ZTguLjNjMDdjYzVhODEwZWIwNGNl
NGU2NThkZTcwNmY2OTlmMWI2OTUxODQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9TY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBsCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9TY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBsCkBA
IC0xNjYsMTMgKzE2NiwxNiBAQCBteSAkcHJvdG9jb2xEaXIgPSBGaWxlOjpTcGVjLT5jYXRkaXIo
JHRhcmdldFJlc291cmNlUGF0aCwgJ1Byb3RvY29sJyk7CiBteSAkd29ya2Vyc0RpciA9IEZpbGU6
OlNwZWMtPmNhdGRpcigkdGFyZ2V0UmVzb3VyY2VQYXRoLCAnV29ya2VycycpOwogbXkgJGNvZGVN
aXJyb3JQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCR1aVJvb3QsICdFeHRlcm5hbCcsICdDb2Rl
TWlycm9yJyk7CiBteSAkZXNwcmltYVBhdGggPSBGaWxlOjpTcGVjLT5jYXRkaXIoJHVpUm9vdCwg
J0V4dGVybmFsJywgJ0VzcHJpbWEnKTsKK215ICRkM1BhdGggPSBGaWxlOjpTcGVjLT5jYXRkaXIo
JHVpUm9vdCwgJ0V4dGVybmFsJywgJ2QzLmpzJyk7CiBteSAkdGhyZWVqc1BhdGggPSBGaWxlOjpT
cGVjLT5jYXRkaXIoJHVpUm9vdCwgJ0V4dGVybmFsJywgJ3RocmVlLmpzJyk7CiAKICR3ZWJJbnNw
ZWN0b3JVSUFkZGl0aW9uc0RpciA9ICZ3ZWJJbnNwZWN0b3JVSUFkZGl0aW9uc0RpcigpOwogCiBt
eSAkY29kZU1pcnJvckxpY2Vuc2UgPSByZWFkTGljZW5zZUZpbGUoRmlsZTo6U3BlYy0+Y2F0Zmls
ZSgkY29kZU1pcnJvclBhdGgsICdMSUNFTlNFJykpOwogbXkgJGVzcHJpbWFMaWNlbnNlID0gcmVh
ZExpY2Vuc2VGaWxlKEZpbGU6OlNwZWMtPmNhdGZpbGUoJGVzcHJpbWFQYXRoLCAnTElDRU5TRScp
KTsKK215ICRkM0xpY2Vuc2UgPSByZWFkTGljZW5zZUZpbGUoRmlsZTo6U3BlYy0+Y2F0ZmlsZSgk
ZDNQYXRoLCAnTElDRU5TRScpKTsKIG15ICR0aHJlZWpzTGljZW5zZSA9IHJlYWRMaWNlbnNlRmls
ZShGaWxlOjpTcGVjLT5jYXRmaWxlKCR0aHJlZWpzUGF0aCwgJ0xJQ0VOU0UnKSk7CisKIG1ha2Vf
cGF0aCgkcHJvdG9jb2xEaXIsICR0YXJnZXRSZXNvdXJjZVBhdGgpOwogCiAkcHl0aG9uID0gJEVO
VnsiUFlUSE9OIn0gaWYgZGVmaW5lZCgkRU5WeyJQWVRIT04ifSk7CkBAIC0xODMsNiArMTg2LDgg
QEAgY29weShGaWxlOjpTcGVjLT5jYXRmaWxlKCRFTlZ7J0pBVkFTQ1JJUFRDT1JFX1BSSVZBVEVf
SEVBREVSU19ESVInfSwgJ0luc3BlY3RvckIKIG15ICRmb3JjZVRvb2xJbnN0YWxsID0gZGVmaW5l
ZCAkRU5WeydGT1JDRV9UT09MX0lOU1RBTEwnfSAmJiAoJEVOVnsnRk9SQ0VfVE9PTF9JTlNUQUxM
J30gZXEgJ1lFUycpOwogbXkgJHNob3VsZENvbWJpbmVNYWluID0gZGVmaW5lZCAkRU5WeydDT01C
SU5FX0lOU1BFQ1RPUl9SRVNPVVJDRVMnfSAmJiAoJEVOVnsnQ09NQklORV9JTlNQRUNUT1JfUkVT
T1VSQ0VTJ30gZXEgJ1lFUycpOwogbXkgJHNob3VsZENvbWJpbmVUZXN0ID0gZGVmaW5lZCAkRU5W
eydDT01CSU5FX1RFU1RfUkVTT1VSQ0VTJ30gJiYgKCRFTlZ7J0NPTUJJTkVfVEVTVF9SRVNPVVJD
RVMnfSBlcSAnWUVTJyk7CitteSAkc2hvdWxkQ29tYmluZUdTdHJlYW1lclJlc291cmNlcyA9IGRl
ZmluZWQgJEVOVnsnQ09NQklORV9HU1RSRUFNRVJfUkVTT1VSQ0VTJ30gJiYgKCRFTlZ7J0NPTUJJ
TkVfR1NUUkVBTUVSX1JFU09VUkNFUyd9IGVxICdZRVMnKTsKKwogbXkgJGNvbWJpbmVSZXNvdXJj
ZXNDbWQgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCRzY3JpcHRzUm9vdCwgJ2NvbWJpbmUtcmVzb3Vy
Y2VzLnBsJyk7CiAKIGlmICgkZm9yY2VUb29sSW5zdGFsbCkgewpAQCAtMzQ2LDYgKzM1MSwxNyBA
QCBpZiAoJHNob3VsZENvbWJpbmVNYWluKSB7CiAgICAgICAgJy0tb3V0cHV0LWRpcicsICRkZXJp
dmVkU291cmNlc0RpciwKICAgICAgICAnLS1vdXRwdXQtc2NyaXB0LW5hbWUnLCAnVGhyZWUuanMn
KTsKIAorICAgIGlmICgkc2hvdWxkQ29tYmluZUdTdHJlYW1lclJlc291cmNlcykgeworICAgICAg
ICAjIENvbWJpbmUgdGhlIGQzLmpzIEphdmFTY3JpcHQgZmlsZXMgaW4gUHJvZHVjdGlvbiBidWls
ZHMgaW50byBhIHNpbmdsZSBmaWxlIChEMy5qcykuCisgICAgICAgIHN5c3RlbSgkcGVybCwgJGNv
bWJpbmVSZXNvdXJjZXNDbWQsCisgICAgICAgICAgICctLWlucHV0LWRpcicsICdFeHRlcm5hbC9k
My5qcycsCisgICAgICAgICAgICctLWlucHV0LWh0bWwnLCAkZGVyaXZlZFNvdXJjZXNNYWluSFRN
TCwKKyAgICAgICAgICAgJy0taW5wdXQtaHRtbC1kaXInLCAkdWlSb290LAorICAgICAgICAgICAn
LS1kZXJpdmVkLXNvdXJjZXMtZGlyJywgJGRlcml2ZWRTb3VyY2VzRGlyLAorICAgICAgICAgICAn
LS1vdXRwdXQtZGlyJywgJGRlcml2ZWRTb3VyY2VzRGlyLAorICAgICAgICAgICAnLS1vdXRwdXQt
c2NyaXB0LW5hbWUnLCAnRDMuanMnKTsKKyAgICB9CisKICAgICAjIFJlbW92ZSBjb25zb2xlLmFz
c2VydCBjYWxscyBmcm9tIHRoZSBNYWluLmpzIGZpbGUuCiAgICAgbXkgJGRlcml2ZWRTb3VyY2Vz
TWFpbkpTID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkZGVyaXZlZFNvdXJjZXNEaXIsICdNYWluLmpz
Jyk7CiAgICAgc3lzdGVtKCRwZXJsLCBGaWxlOjpTcGVjLT5jYXRmaWxlKCRzY3JpcHRzUm9vdCwg
J3JlbW92ZS1jb25zb2xlLWFzc2VydHMucGwnKSwKQEAgLTQwNiw2ICs0MjIsMTggQEAgaWYgKCRz
aG91bGRDb21iaW5lTWFpbikgewogICAgIG15ICRkZXJpdmVkU291cmNlc1RocmVlanNKUyA9IEZp
bGU6OlNwZWMtPmNhdGZpbGUoJGRlcml2ZWRTb3VyY2VzRGlyLCAnVGhyZWUuanMnKTsKICAgICBz
eXN0ZW0ocXEoIiRweXRob24iICIkanNNaW5TY3JpcHQiIDwgIiRkZXJpdmVkU291cmNlc1RocmVl
anNKUyIgPj4gIiR0YXJnZXRUaHJlZWpzSlMiKSkgYW5kIGRpZSAiRmFpbGVkIHRvIG1pbmlmeSAk
ZGVyaXZlZFNvdXJjZXNUaHJlZWpzSlM6ICQhIjsKIAorICAgIG15ICR0YXJnZXREM0pTID0gRmls
ZTo6U3BlYy0+Y2F0ZmlsZSgkdGFyZ2V0UmVzb3VyY2VQYXRoLCAnRDMuanMnKTsKKyAgICBpZiAo
JHNob3VsZENvbWJpbmVHU3RyZWFtZXJSZXNvdXJjZXMpIHsKKyAgICAgICAgIyBFeHBvcnQgdGhl
IGxpY2Vuc2UgaW50byBEMy5qcy4KKyAgICAgICAgc2VlZEZpbGUoJHRhcmdldEQzSlMsICRkM0xp
Y2Vuc2UpOworCisgICAgICAgICMgTWluaWZ5IHRoZSBEMy5qcyBmaWxlLCBhcHBlbmRpbmcgdG8g
dGhlIGxpY2Vuc2UgdGhhdCB3YXMgZXhwb3J0ZWQgYWJvdmUuCisgICAgICAgIG15ICRkZXJpdmVk
U291cmNlc0QzSlMgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCRkZXJpdmVkU291cmNlc0RpciwgJ0Qz
LmpzJyk7CisgICAgICAgIHN5c3RlbShxcSgiJHB5dGhvbiIgIiRqc01pblNjcmlwdCIgPCAiJGRl
cml2ZWRTb3VyY2VzRDNKUyIgPj4gIiR0YXJnZXREM0pTIikpIGFuZCBkaWUgIkZhaWxlZCB0byBt
aW5pZnkgJGRlcml2ZWRTb3VyY2VzRDNKUzogJCEiOworICAgIH0gZWxzZSB7CisgICAgICAgIHNl
ZWRGaWxlKCR0YXJnZXREM0pTLCAiIik7CisgICAgfQorCiAgICAgIyBDb3B5IG92ZXIgdGhlIElt
YWdlcyBkaXJlY3RvcnkuCiAgICAgZGl0dG8oRmlsZTo6U3BlYy0+Y2F0ZGlyKCR1aVJvb3QsICdJ
bWFnZXMnKSwgRmlsZTo6U3BlYy0+Y2F0ZGlyKCR0YXJnZXRSZXNvdXJjZVBhdGgsICdJbWFnZXMn
KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jh
c2UvTWFpbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFp
bi5qcwppbmRleCBlOWViZDY4YTVkNzg0ZDVlZTE5ZjAwYjNiZGI0MzlmMTUzY2Q2YzE3Li5kZjEx
NTBlY2Q3NTcyZDA2MzgwMTE2NjFlYTYxNTFkMGZmZTY3OWNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCkBAIC03MSw2ICs3MSw4IEBA
IFdJLmxvYWRlZCA9IGZ1bmN0aW9uKCkKICAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckRhdGFiYXNlRGlzcGF0Y2hlcihXSS5EYXRhYmFzZU9ic2VydmVyKTsKICAgICBpZiAoSW5zcGVj
dG9yQmFja2VuZC5yZWdpc3RlckRlYnVnZ2VyRGlzcGF0Y2hlcikKICAgICAgICAgSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckRlYnVnZ2VyRGlzcGF0Y2hlcihXSS5EZWJ1Z2dlck9ic2VydmVyKTsK
KyAgICBpZiAoSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckdTdHJlYW1lckRpc3BhdGNoZXIpCisg
ICAgICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJHU3RyZWFtZXJEaXNwYXRjaGVyKFdJLkdT
dHJlYW1lck9ic2VydmVyKTsKICAgICBpZiAoSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckhlYXBE
aXNwYXRjaGVyKQogICAgICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVySGVhcERpc3BhdGNo
ZXIoV0kuSGVhcE9ic2VydmVyKTsKICAgICBpZiAoSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rlcklu
c3BlY3RvckRpc3BhdGNoZXIpCkBAIC0xMjMsNiArMTI1LDcgQEAgV0kubG9hZGVkID0gZnVuY3Rp
b24oKQogICAgICAgICBXSS53b3JrZXJNYW5hZ2VyID0gbmV3IFdJLldvcmtlck1hbmFnZXIsCiAg
ICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlciA9IG5ldyBXSS5ET01EZWJ1Z2dlck1hbmFnZXIs
CiAgICAgICAgIFdJLmNhbnZhc01hbmFnZXIgPSBuZXcgV0kuQ2FudmFzTWFuYWdlciwKKyAgICAg
ICAgV0kuZ3N0cmVhbWVyTWFuYWdlciA9IG5ldyBXSS5HU3RyZWFtZXJNYW5hZ2VyLAogICAgIF07
CiAKICAgICAvLyBSZWdpc3RlciBmb3IgZXZlbnRzLgpAQCAtNDc1LDYgKzQ3OCwxMSBAQCBXSS5j
b250ZW50TG9hZGVkID0gZnVuY3Rpb24oKQogICAgIF07CiAKICAgICBXSS5fa25vd25UYWJDbGFz
c2VzQnlUeXBlID0gbmV3IE1hcDsKKworICAgIGlmIChXSS5QbGF0Zm9ybS5wb3J0ID09PSAiZ3Rr
IiB8fCBXSS5QbGF0Zm9ybS5wb3J0ID09PSAid3BlIikgeworICAgICAgICBwcm9kdWN0aW9uVGFi
Q2xhc3Nlcy5wdXNoKFdJLkdTdHJlYW1lclRhYkNvbnRlbnRWaWV3KTsKKyAgICB9CisKICAgICAv
LyBTZXQgdGFiIGNsYXNzZXMgZGlyZWN0bHkuIFRoZSBwdWJsaWMgQVBJIHRyaWdnZXJzIG90aGVy
IHVwZGF0ZXMgYW5kCiAgICAgLy8gbm90aWZpY2F0aW9ucyB0aGF0IHdvbid0IHdvcmsgb3IgaGF2
ZSBubyBsaXN0ZW5lcnMgYXQgV0kgcG9pbnQuCiAgICAgZm9yIChsZXQgdGFiQ2xhc3Mgb2YgcHJv
ZHVjdGlvblRhYkNsYXNzZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9CYXNlL1BsYXRmb3JtLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQmFzZS9QbGF0Zm9ybS5qcwppbmRleCBmZmI1YTc3ZTJjM2FkYzc0Y2YyYmJlOTg2
MDk2Y2E3MGFmYTBiNjk2Li41NzNkYjg5YTllM2E1MWZlMTY4NzZlZmU3YzA1ODI2N2RlMWM3MDdj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1Bs
YXRmb3JtLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2Uv
UGxhdGZvcm0uanMKQEAgLTI1LDYgKzI1LDcgQEAKIAogV0kuUGxhdGZvcm0gPSB7CiAgICAgbmFt
ZTogSW5zcGVjdG9yRnJvbnRlbmRIb3N0LnBsYXRmb3JtKCksCisgICAgcG9ydDogSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LnBvcnQoKSwKICAgICBpc05pZ2h0bHlCdWlsZDogZmFsc2UsCiAgICAgdmVy
c2lvbjogewogICAgICAgICBiYXNlOiAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR1N0cmVhbWVyTWFuYWdlci5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0dTdHJlYW1lck1hbmFn
ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjA3YzY0MDYwNjI5ODNjMzJkMDIwNDczZGM1NzNmMjNkODBhZjJi
YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0NvbnRyb2xsZXJzL0dTdHJlYW1lck1hbmFnZXIuanMKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAq
ICBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICog
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
KgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBu
b3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNB
CisgKi8KKworV0kuR1N0cmVhbWVyTWFuYWdlciA9IGNsYXNzIEdTdHJlYW1lck1hbmFnZXIgZXh0
ZW5kcyBXSS5PYmplY3QKK3sKKyAgICBjb25zdHJ1Y3RvcigpCisgICAgeworICAgICAgICBzdXBl
cigpOworCisgICAgICAgIHRoaXMuX3BhcnNlciA9IG5ldyBET01QYXJzZXIoKTsKKyAgICAgICAg
dGhpcy5fZW5hYmxlZCA9IFdJLlBsYXRmb3JtLnBvcnQgPT09ICJndGsiIHx8IFdJLlBsYXRmb3Jt
LnBvcnQgPT09ICJ3cGUiOworICAgIH0KKworICAgIC8vIEFnZW50CisKKyAgICBnZXQgZG9tYWlu
cygpIHsgcmV0dXJuIFsiR1N0cmVhbWVyIl07IH0KKworICAgIGFjdGl2YXRlRXh0cmFEb21haW4o
ZG9tYWluKQorICAgIHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoZG9tYWluID09PSAiR1N0cmVh
bWVyIik7CisgICAgfQorCisgICAgLy8gUHVibGljCisKKyAgICBnZXQgYWdlbnQoKSB7CisgICAg
ICAgIGxldCB0YXJnZXQgPSBXSS5hc3N1bWluZ01haW5UYXJnZXQoKTsKKyAgICAgICAgaWYgKHRh
cmdldC5oYXNEb21haW4oIkdTdHJlYW1lciIpKQorICAgICAgICAgICAgcmV0dXJuIHRhcmdldC5H
U3RyZWFtZXJBZ2VudDsKKworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9CisKKyAgICBleHBv
cnQob2JqZWN0KQorICAgIHsKKyAgICAgICAgV0kuRmlsZVV0aWxpdGllcy5zYXZlKG9iamVjdC5z
YXZlRGF0YSk7CisgICAgfQorCisgICAgcmVuZGVyU1ZHRWxlbWVudChncmFwaFJlcHJlc2VudGF0
aW9uKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3BhcnNlci5wYXJzZUZyb21TdHJpbmco
Z3JhcGhSZXByZXNlbnRhdGlvbiwgImltYWdlL3N2Zyt4bWwiKTsKKyAgICB9CisKKyAgICAvLyBH
U3RyZWFtZXJPYnNlcnZlcgorCisgICAgYWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpCisgICAgewor
ICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5HU3RyZWFtZXJNYW5hZ2Vy
LkV2ZW50LkFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQsIHt9KTsKKyAgICB9CisKK307CisKK1dJLkdT
dHJlYW1lck1hbmFnZXIuRXZlbnQgPSB7CisgICAgQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZDogImdz
dHJlYW1lci1tYW5hZ2VyLWFjdGl2ZS1waXBlbGluZXMtd2VyZS1jaGFuZ2VkIiwKK307CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9kMy5q
cy9MSUNFTlNFIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwv
ZDMuanMvTElDRU5TRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZDlkODc1ZWRiNDY5Nzg2YTljNmRiYWU1YWFlZWY5
YTNiY2IyYzMzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvRXh0ZXJuYWwvZDMuanMvTElDRU5TRQpAQCAtMCwwICsxLDI3IEBACitDb3B5cmln
aHQgMjAxMC0yMDE3IE1pa2UgQm9zdG9jaworQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwKK2FyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMKKyAgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlLAorICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisqIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhl
IGF1dGhvciBub3IgdGhlIG5hbWVzIG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworICBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvcgorICB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0V4dGVybmFsL2QzLmpzL2QzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvRXh0ZXJuYWwvZDMuanMvZDMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNjNjQwNjg5ZTEwNTM3OWNm
ZmQ4YmMzNjQ5NTUzMDc3ZjZhZTc0MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL2QzLmpzL2QzLmpzCkBAIC0wLDAgKzEsMTg1
MDMgQEAKKy8vIGh0dHBzOi8vZDNqcy5vcmcgdjUuMTQuMiBDb3B5cmlnaHQgMjAxOSBNaWtlIEJv
c3RvY2sKKyhmdW5jdGlvbiAoZ2xvYmFsLCBmYWN0b3J5KSB7Cit0eXBlb2YgZXhwb3J0cyA9PT0g
J29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgPyBmYWN0b3J5KGV4cG9y
dHMpIDoKK3R5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCA/IGRlZmlu
ZShbJ2V4cG9ydHMnXSwgZmFjdG9yeSkgOgorKGdsb2JhbCA9IGdsb2JhbCB8fCBzZWxmLCBmYWN0
b3J5KGdsb2JhbC5kMyA9IGdsb2JhbC5kMyB8fCB7fSkpOworfSh0aGlzLCBmdW5jdGlvbiAoZXhw
b3J0cykgeyAndXNlIHN0cmljdCc7CisKK3ZhciB2ZXJzaW9uID0gIjUuMTQuMiI7CisKK2Z1bmN0
aW9uIGFzY2VuZGluZyhhLCBiKSB7CisgIHJldHVybiBhIDwgYiA/IC0xIDogYSA+IGIgPyAxIDog
YSA+PSBiID8gMCA6IE5hTjsKK30KKworZnVuY3Rpb24gYmlzZWN0b3IoY29tcGFyZSkgeworICBp
ZiAoY29tcGFyZS5sZW5ndGggPT09IDEpIGNvbXBhcmUgPSBhc2NlbmRpbmdDb21wYXJhdG9yKGNv
bXBhcmUpOworICByZXR1cm4geworICAgIGxlZnQ6IGZ1bmN0aW9uKGEsIHgsIGxvLCBoaSkgewor
ICAgICAgaWYgKGxvID09IG51bGwpIGxvID0gMDsKKyAgICAgIGlmIChoaSA9PSBudWxsKSBoaSA9
IGEubGVuZ3RoOworICAgICAgd2hpbGUgKGxvIDwgaGkpIHsKKyAgICAgICAgdmFyIG1pZCA9IGxv
ICsgaGkgPj4+IDE7CisgICAgICAgIGlmIChjb21wYXJlKGFbbWlkXSwgeCkgPCAwKSBsbyA9IG1p
ZCArIDE7CisgICAgICAgIGVsc2UgaGkgPSBtaWQ7CisgICAgICB9CisgICAgICByZXR1cm4gbG87
CisgICAgfSwKKyAgICByaWdodDogZnVuY3Rpb24oYSwgeCwgbG8sIGhpKSB7CisgICAgICBpZiAo
bG8gPT0gbnVsbCkgbG8gPSAwOworICAgICAgaWYgKGhpID09IG51bGwpIGhpID0gYS5sZW5ndGg7
CisgICAgICB3aGlsZSAobG8gPCBoaSkgeworICAgICAgICB2YXIgbWlkID0gbG8gKyBoaSA+Pj4g
MTsKKyAgICAgICAgaWYgKGNvbXBhcmUoYVttaWRdLCB4KSA+IDApIGhpID0gbWlkOworICAgICAg
ICBlbHNlIGxvID0gbWlkICsgMTsKKyAgICAgIH0KKyAgICAgIHJldHVybiBsbzsKKyAgICB9Cisg
IH07Cit9CisKK2Z1bmN0aW9uIGFzY2VuZGluZ0NvbXBhcmF0b3IoZikgeworICByZXR1cm4gZnVu
Y3Rpb24oZCwgeCkgeworICAgIHJldHVybiBhc2NlbmRpbmcoZihkKSwgeCk7CisgIH07Cit9CisK
K3ZhciBhc2NlbmRpbmdCaXNlY3QgPSBiaXNlY3Rvcihhc2NlbmRpbmcpOwordmFyIGJpc2VjdFJp
Z2h0ID0gYXNjZW5kaW5nQmlzZWN0LnJpZ2h0OwordmFyIGJpc2VjdExlZnQgPSBhc2NlbmRpbmdC
aXNlY3QubGVmdDsKKworZnVuY3Rpb24gcGFpcnMoYXJyYXksIGYpIHsKKyAgaWYgKGYgPT0gbnVs
bCkgZiA9IHBhaXI7CisgIHZhciBpID0gMCwgbiA9IGFycmF5Lmxlbmd0aCAtIDEsIHAgPSBhcnJh
eVswXSwgcGFpcnMgPSBuZXcgQXJyYXkobiA8IDAgPyAwIDogbik7CisgIHdoaWxlIChpIDwgbikg
cGFpcnNbaV0gPSBmKHAsIHAgPSBhcnJheVsrK2ldKTsKKyAgcmV0dXJuIHBhaXJzOworfQorCitm
dW5jdGlvbiBwYWlyKGEsIGIpIHsKKyAgcmV0dXJuIFthLCBiXTsKK30KKworZnVuY3Rpb24gY3Jv
c3ModmFsdWVzMCwgdmFsdWVzMSwgcmVkdWNlKSB7CisgIHZhciBuMCA9IHZhbHVlczAubGVuZ3Ro
LAorICAgICAgbjEgPSB2YWx1ZXMxLmxlbmd0aCwKKyAgICAgIHZhbHVlcyA9IG5ldyBBcnJheShu
MCAqIG4xKSwKKyAgICAgIGkwLAorICAgICAgaTEsCisgICAgICBpLAorICAgICAgdmFsdWUwOwor
CisgIGlmIChyZWR1Y2UgPT0gbnVsbCkgcmVkdWNlID0gcGFpcjsKKworICBmb3IgKGkwID0gaSA9
IDA7IGkwIDwgbjA7ICsraTApIHsKKyAgICBmb3IgKHZhbHVlMCA9IHZhbHVlczBbaTBdLCBpMSA9
IDA7IGkxIDwgbjE7ICsraTEsICsraSkgeworICAgICAgdmFsdWVzW2ldID0gcmVkdWNlKHZhbHVl
MCwgdmFsdWVzMVtpMV0pOworICAgIH0KKyAgfQorCisgIHJldHVybiB2YWx1ZXM7Cit9CisKK2Z1
bmN0aW9uIGRlc2NlbmRpbmcoYSwgYikgeworICByZXR1cm4gYiA8IGEgPyAtMSA6IGIgPiBhID8g
MSA6IGIgPj0gYSA/IDAgOiBOYU47Cit9CisKK2Z1bmN0aW9uIG51bWJlcih4KSB7CisgIHJldHVy
biB4ID09PSBudWxsID8gTmFOIDogK3g7Cit9CisKK2Z1bmN0aW9uIHZhcmlhbmNlKHZhbHVlcywg
dmFsdWVvZikgeworICB2YXIgbiA9IHZhbHVlcy5sZW5ndGgsCisgICAgICBtID0gMCwKKyAgICAg
IGkgPSAtMSwKKyAgICAgIG1lYW4gPSAwLAorICAgICAgdmFsdWUsCisgICAgICBkZWx0YSwKKyAg
ICAgIHN1bSA9IDA7CisKKyAgaWYgKHZhbHVlb2YgPT0gbnVsbCkgeworICAgIHdoaWxlICgrK2kg
PCBuKSB7CisgICAgICBpZiAoIWlzTmFOKHZhbHVlID0gbnVtYmVyKHZhbHVlc1tpXSkpKSB7Cisg
ICAgICAgIGRlbHRhID0gdmFsdWUgLSBtZWFuOworICAgICAgICBtZWFuICs9IGRlbHRhIC8gKytt
OworICAgICAgICBzdW0gKz0gZGVsdGEgKiAodmFsdWUgLSBtZWFuKTsKKyAgICAgIH0KKyAgICB9
CisgIH0KKworICBlbHNlIHsKKyAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgaWYgKCFpc05h
Tih2YWx1ZSA9IG51bWJlcih2YWx1ZW9mKHZhbHVlc1tpXSwgaSwgdmFsdWVzKSkpKSB7CisgICAg
ICAgIGRlbHRhID0gdmFsdWUgLSBtZWFuOworICAgICAgICBtZWFuICs9IGRlbHRhIC8gKyttOwor
ICAgICAgICBzdW0gKz0gZGVsdGEgKiAodmFsdWUgLSBtZWFuKTsKKyAgICAgIH0KKyAgICB9Cisg
IH0KKworICBpZiAobSA+IDEpIHJldHVybiBzdW0gLyAobSAtIDEpOworfQorCitmdW5jdGlvbiBk
ZXZpYXRpb24oYXJyYXksIGYpIHsKKyAgdmFyIHYgPSB2YXJpYW5jZShhcnJheSwgZik7CisgIHJl
dHVybiB2ID8gTWF0aC5zcXJ0KHYpIDogdjsKK30KKworZnVuY3Rpb24gZXh0ZW50KHZhbHVlcywg
dmFsdWVvZikgeworICB2YXIgbiA9IHZhbHVlcy5sZW5ndGgsCisgICAgICBpID0gLTEsCisgICAg
ICB2YWx1ZSwKKyAgICAgIG1pbiwKKyAgICAgIG1heDsKKworICBpZiAodmFsdWVvZiA9PSBudWxs
KSB7CisgICAgd2hpbGUgKCsraSA8IG4pIHsgLy8gRmluZCB0aGUgZmlyc3QgY29tcGFyYWJsZSB2
YWx1ZS4KKyAgICAgIGlmICgodmFsdWUgPSB2YWx1ZXNbaV0pICE9IG51bGwgJiYgdmFsdWUgPj0g
dmFsdWUpIHsKKyAgICAgICAgbWluID0gbWF4ID0gdmFsdWU7CisgICAgICAgIHdoaWxlICgrK2kg
PCBuKSB7IC8vIENvbXBhcmUgdGhlIHJlbWFpbmluZyB2YWx1ZXMuCisgICAgICAgICAgaWYgKCh2
YWx1ZSA9IHZhbHVlc1tpXSkgIT0gbnVsbCkgeworICAgICAgICAgICAgaWYgKG1pbiA+IHZhbHVl
KSBtaW4gPSB2YWx1ZTsKKyAgICAgICAgICAgIGlmIChtYXggPCB2YWx1ZSkgbWF4ID0gdmFsdWU7
CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9CisKKyAgZWxzZSB7
CisgICAgd2hpbGUgKCsraSA8IG4pIHsgLy8gRmluZCB0aGUgZmlyc3QgY29tcGFyYWJsZSB2YWx1
ZS4KKyAgICAgIGlmICgodmFsdWUgPSB2YWx1ZW9mKHZhbHVlc1tpXSwgaSwgdmFsdWVzKSkgIT0g
bnVsbCAmJiB2YWx1ZSA+PSB2YWx1ZSkgeworICAgICAgICBtaW4gPSBtYXggPSB2YWx1ZTsKKyAg
ICAgICAgd2hpbGUgKCsraSA8IG4pIHsgLy8gQ29tcGFyZSB0aGUgcmVtYWluaW5nIHZhbHVlcy4K
KyAgICAgICAgICBpZiAoKHZhbHVlID0gdmFsdWVvZih2YWx1ZXNbaV0sIGksIHZhbHVlcykpICE9
IG51bGwpIHsKKyAgICAgICAgICAgIGlmIChtaW4gPiB2YWx1ZSkgbWluID0gdmFsdWU7CisgICAg
ICAgICAgICBpZiAobWF4IDwgdmFsdWUpIG1heCA9IHZhbHVlOworICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBbbWluLCBtYXhdOworfQorCit2
YXIgYXJyYXkgPSBBcnJheS5wcm90b3R5cGU7CisKK3ZhciBzbGljZSA9IGFycmF5LnNsaWNlOwor
dmFyIG1hcCA9IGFycmF5Lm1hcDsKKworZnVuY3Rpb24gY29uc3RhbnQoeCkgeworICByZXR1cm4g
ZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHg7CisgIH07Cit9CisKK2Z1bmN0aW9uIGlkZW50aXR5
KHgpIHsKKyAgcmV0dXJuIHg7Cit9CisKK2Z1bmN0aW9uIHNlcXVlbmNlKHN0YXJ0LCBzdG9wLCBz
dGVwKSB7CisgIHN0YXJ0ID0gK3N0YXJ0LCBzdG9wID0gK3N0b3AsIHN0ZXAgPSAobiA9IGFyZ3Vt
ZW50cy5sZW5ndGgpIDwgMiA/IChzdG9wID0gc3RhcnQsIHN0YXJ0ID0gMCwgMSkgOiBuIDwgMyA/
IDEgOiArc3RlcDsKKworICB2YXIgaSA9IC0xLAorICAgICAgbiA9IE1hdGgubWF4KDAsIE1hdGgu
Y2VpbCgoc3RvcCAtIHN0YXJ0KSAvIHN0ZXApKSB8IDAsCisgICAgICByYW5nZSA9IG5ldyBBcnJh
eShuKTsKKworICB3aGlsZSAoKytpIDwgbikgeworICAgIHJhbmdlW2ldID0gc3RhcnQgKyBpICog
c3RlcDsKKyAgfQorCisgIHJldHVybiByYW5nZTsKK30KKwordmFyIGUxMCA9IE1hdGguc3FydCg1
MCksCisgICAgZTUgPSBNYXRoLnNxcnQoMTApLAorICAgIGUyID0gTWF0aC5zcXJ0KDIpOworCitm
dW5jdGlvbiB0aWNrcyhzdGFydCwgc3RvcCwgY291bnQpIHsKKyAgdmFyIHJldmVyc2UsCisgICAg
ICBpID0gLTEsCisgICAgICBuLAorICAgICAgdGlja3MsCisgICAgICBzdGVwOworCisgIHN0b3Ag
PSArc3RvcCwgc3RhcnQgPSArc3RhcnQsIGNvdW50ID0gK2NvdW50OworICBpZiAoc3RhcnQgPT09
IHN0b3AgJiYgY291bnQgPiAwKSByZXR1cm4gW3N0YXJ0XTsKKyAgaWYgKHJldmVyc2UgPSBzdG9w
IDwgc3RhcnQpIG4gPSBzdGFydCwgc3RhcnQgPSBzdG9wLCBzdG9wID0gbjsKKyAgaWYgKChzdGVw
ID0gdGlja0luY3JlbWVudChzdGFydCwgc3RvcCwgY291bnQpKSA9PT0gMCB8fCAhaXNGaW5pdGUo
c3RlcCkpIHJldHVybiBbXTsKKworICBpZiAoc3RlcCA+IDApIHsKKyAgICBzdGFydCA9IE1hdGgu
Y2VpbChzdGFydCAvIHN0ZXApOworICAgIHN0b3AgPSBNYXRoLmZsb29yKHN0b3AgLyBzdGVwKTsK
KyAgICB0aWNrcyA9IG5ldyBBcnJheShuID0gTWF0aC5jZWlsKHN0b3AgLSBzdGFydCArIDEpKTsK
KyAgICB3aGlsZSAoKytpIDwgbikgdGlja3NbaV0gPSAoc3RhcnQgKyBpKSAqIHN0ZXA7CisgIH0g
ZWxzZSB7CisgICAgc3RhcnQgPSBNYXRoLmZsb29yKHN0YXJ0ICogc3RlcCk7CisgICAgc3RvcCA9
IE1hdGguY2VpbChzdG9wICogc3RlcCk7CisgICAgdGlja3MgPSBuZXcgQXJyYXkobiA9IE1hdGgu
Y2VpbChzdGFydCAtIHN0b3AgKyAxKSk7CisgICAgd2hpbGUgKCsraSA8IG4pIHRpY2tzW2ldID0g
KHN0YXJ0IC0gaSkgLyBzdGVwOworICB9CisKKyAgaWYgKHJldmVyc2UpIHRpY2tzLnJldmVyc2Uo
KTsKKworICByZXR1cm4gdGlja3M7Cit9CisKK2Z1bmN0aW9uIHRpY2tJbmNyZW1lbnQoc3RhcnQs
IHN0b3AsIGNvdW50KSB7CisgIHZhciBzdGVwID0gKHN0b3AgLSBzdGFydCkgLyBNYXRoLm1heCgw
LCBjb3VudCksCisgICAgICBwb3dlciA9IE1hdGguZmxvb3IoTWF0aC5sb2coc3RlcCkgLyBNYXRo
LkxOMTApLAorICAgICAgZXJyb3IgPSBzdGVwIC8gTWF0aC5wb3coMTAsIHBvd2VyKTsKKyAgcmV0
dXJuIHBvd2VyID49IDAKKyAgICAgID8gKGVycm9yID49IGUxMCA/IDEwIDogZXJyb3IgPj0gZTUg
PyA1IDogZXJyb3IgPj0gZTIgPyAyIDogMSkgKiBNYXRoLnBvdygxMCwgcG93ZXIpCisgICAgICA6
IC1NYXRoLnBvdygxMCwgLXBvd2VyKSAvIChlcnJvciA+PSBlMTAgPyAxMCA6IGVycm9yID49IGU1
ID8gNSA6IGVycm9yID49IGUyID8gMiA6IDEpOworfQorCitmdW5jdGlvbiB0aWNrU3RlcChzdGFy
dCwgc3RvcCwgY291bnQpIHsKKyAgdmFyIHN0ZXAwID0gTWF0aC5hYnMoc3RvcCAtIHN0YXJ0KSAv
IE1hdGgubWF4KDAsIGNvdW50KSwKKyAgICAgIHN0ZXAxID0gTWF0aC5wb3coMTAsIE1hdGguZmxv
b3IoTWF0aC5sb2coc3RlcDApIC8gTWF0aC5MTjEwKSksCisgICAgICBlcnJvciA9IHN0ZXAwIC8g
c3RlcDE7CisgIGlmIChlcnJvciA+PSBlMTApIHN0ZXAxICo9IDEwOworICBlbHNlIGlmIChlcnJv
ciA+PSBlNSkgc3RlcDEgKj0gNTsKKyAgZWxzZSBpZiAoZXJyb3IgPj0gZTIpIHN0ZXAxICo9IDI7
CisgIHJldHVybiBzdG9wIDwgc3RhcnQgPyAtc3RlcDEgOiBzdGVwMTsKK30KKworZnVuY3Rpb24g
dGhyZXNob2xkU3R1cmdlcyh2YWx1ZXMpIHsKKyAgcmV0dXJuIE1hdGguY2VpbChNYXRoLmxvZyh2
YWx1ZXMubGVuZ3RoKSAvIE1hdGguTE4yKSArIDE7Cit9CisKK2Z1bmN0aW9uIGhpc3RvZ3JhbSgp
IHsKKyAgdmFyIHZhbHVlID0gaWRlbnRpdHksCisgICAgICBkb21haW4gPSBleHRlbnQsCisgICAg
ICB0aHJlc2hvbGQgPSB0aHJlc2hvbGRTdHVyZ2VzOworCisgIGZ1bmN0aW9uIGhpc3RvZ3JhbShk
YXRhKSB7CisgICAgdmFyIGksCisgICAgICAgIG4gPSBkYXRhLmxlbmd0aCwKKyAgICAgICAgeCwK
KyAgICAgICAgdmFsdWVzID0gbmV3IEFycmF5KG4pOworCisgICAgZm9yIChpID0gMDsgaSA8IG47
ICsraSkgeworICAgICAgdmFsdWVzW2ldID0gdmFsdWUoZGF0YVtpXSwgaSwgZGF0YSk7CisgICAg
fQorCisgICAgdmFyIHh6ID0gZG9tYWluKHZhbHVlcyksCisgICAgICAgIHgwID0geHpbMF0sCisg
ICAgICAgIHgxID0geHpbMV0sCisgICAgICAgIHR6ID0gdGhyZXNob2xkKHZhbHVlcywgeDAsIHgx
KTsKKworICAgIC8vIENvbnZlcnQgbnVtYmVyIG9mIHRocmVzaG9sZHMgaW50byB1bmlmb3JtIHRo
cmVzaG9sZHMuCisgICAgaWYgKCFBcnJheS5pc0FycmF5KHR6KSkgeworICAgICAgdHogPSB0aWNr
U3RlcCh4MCwgeDEsIHR6KTsKKyAgICAgIHR6ID0gc2VxdWVuY2UoTWF0aC5jZWlsKHgwIC8gdHop
ICogdHosIHgxLCB0eik7IC8vIGV4Y2x1c2l2ZQorICAgIH0KKworICAgIC8vIFJlbW92ZSBhbnkg
dGhyZXNob2xkcyBvdXRzaWRlIHRoZSBkb21haW4uCisgICAgdmFyIG0gPSB0ei5sZW5ndGg7Cisg
ICAgd2hpbGUgKHR6WzBdIDw9IHgwKSB0ei5zaGlmdCgpLCAtLW07CisgICAgd2hpbGUgKHR6W20g
LSAxXSA+IHgxKSB0ei5wb3AoKSwgLS1tOworCisgICAgdmFyIGJpbnMgPSBuZXcgQXJyYXkobSAr
IDEpLAorICAgICAgICBiaW47CisKKyAgICAvLyBJbml0aWFsaXplIGJpbnMuCisgICAgZm9yIChp
ID0gMDsgaSA8PSBtOyArK2kpIHsKKyAgICAgIGJpbiA9IGJpbnNbaV0gPSBbXTsKKyAgICAgIGJp
bi54MCA9IGkgPiAwID8gdHpbaSAtIDFdIDogeDA7CisgICAgICBiaW4ueDEgPSBpIDwgbSA/IHR6
W2ldIDogeDE7CisgICAgfQorCisgICAgLy8gQXNzaWduIGRhdGEgdG8gYmlucyBieSB2YWx1ZSwg
aWdub3JpbmcgYW55IG91dHNpZGUgdGhlIGRvbWFpbi4KKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsg
KytpKSB7CisgICAgICB4ID0gdmFsdWVzW2ldOworICAgICAgaWYgKHgwIDw9IHggJiYgeCA8PSB4
MSkgeworICAgICAgICBiaW5zW2Jpc2VjdFJpZ2h0KHR6LCB4LCAwLCBtKV0ucHVzaChkYXRhW2ld
KTsKKyAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gYmluczsKKyAgfQorCisgIGhpc3RvZ3Jh
bS52YWx1ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh2
YWx1ZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50KF8pLCBoaXN0b2dy
YW0pIDogdmFsdWU7CisgIH07CisKKyAgaGlzdG9ncmFtLmRvbWFpbiA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkb21haW4gPSB0eXBlb2YgXyA9PT0gImZ1
bmN0aW9uIiA/IF8gOiBjb25zdGFudChbX1swXSwgX1sxXV0pLCBoaXN0b2dyYW0pIDogZG9tYWlu
OworICB9OworCisgIGhpc3RvZ3JhbS50aHJlc2hvbGRzID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRocmVzaG9sZCA9IHR5cGVvZiBfID09PSAiZnVuY3Rp
b24iID8gXyA6IEFycmF5LmlzQXJyYXkoXykgPyBjb25zdGFudChzbGljZS5jYWxsKF8pKSA6IGNv
bnN0YW50KF8pLCBoaXN0b2dyYW0pIDogdGhyZXNob2xkOworICB9OworCisgIHJldHVybiBoaXN0
b2dyYW07Cit9CisKK2Z1bmN0aW9uIHRocmVzaG9sZCh2YWx1ZXMsIHAsIHZhbHVlb2YpIHsKKyAg
aWYgKHZhbHVlb2YgPT0gbnVsbCkgdmFsdWVvZiA9IG51bWJlcjsKKyAgaWYgKCEobiA9IHZhbHVl
cy5sZW5ndGgpKSByZXR1cm47CisgIGlmICgocCA9ICtwKSA8PSAwIHx8IG4gPCAyKSByZXR1cm4g
K3ZhbHVlb2YodmFsdWVzWzBdLCAwLCB2YWx1ZXMpOworICBpZiAocCA+PSAxKSByZXR1cm4gK3Zh
bHVlb2YodmFsdWVzW24gLSAxXSwgbiAtIDEsIHZhbHVlcyk7CisgIHZhciBuLAorICAgICAgaSA9
IChuIC0gMSkgKiBwLAorICAgICAgaTAgPSBNYXRoLmZsb29yKGkpLAorICAgICAgdmFsdWUwID0g
K3ZhbHVlb2YodmFsdWVzW2kwXSwgaTAsIHZhbHVlcyksCisgICAgICB2YWx1ZTEgPSArdmFsdWVv
Zih2YWx1ZXNbaTAgKyAxXSwgaTAgKyAxLCB2YWx1ZXMpOworICByZXR1cm4gdmFsdWUwICsgKHZh
bHVlMSAtIHZhbHVlMCkgKiAoaSAtIGkwKTsKK30KKworZnVuY3Rpb24gZnJlZWRtYW5EaWFjb25p
cyh2YWx1ZXMsIG1pbiwgbWF4KSB7CisgIHZhbHVlcyA9IG1hcC5jYWxsKHZhbHVlcywgbnVtYmVy
KS5zb3J0KGFzY2VuZGluZyk7CisgIHJldHVybiBNYXRoLmNlaWwoKG1heCAtIG1pbikgLyAoMiAq
ICh0aHJlc2hvbGQodmFsdWVzLCAwLjc1KSAtIHRocmVzaG9sZCh2YWx1ZXMsIDAuMjUpKSAqIE1h
dGgucG93KHZhbHVlcy5sZW5ndGgsIC0xIC8gMykpKTsKK30KKworZnVuY3Rpb24gc2NvdHQodmFs
dWVzLCBtaW4sIG1heCkgeworICByZXR1cm4gTWF0aC5jZWlsKChtYXggLSBtaW4pIC8gKDMuNSAq
IGRldmlhdGlvbih2YWx1ZXMpICogTWF0aC5wb3codmFsdWVzLmxlbmd0aCwgLTEgLyAzKSkpOwor
fQorCitmdW5jdGlvbiBtYXgodmFsdWVzLCB2YWx1ZW9mKSB7CisgIHZhciBuID0gdmFsdWVzLmxl
bmd0aCwKKyAgICAgIGkgPSAtMSwKKyAgICAgIHZhbHVlLAorICAgICAgbWF4OworCisgIGlmICh2
YWx1ZW9mID09IG51bGwpIHsKKyAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBGaW5kIHRoZSBmaXJz
dCBjb21wYXJhYmxlIHZhbHVlLgorICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlc1tpXSkgIT0gbnVs
bCAmJiB2YWx1ZSA+PSB2YWx1ZSkgeworICAgICAgICBtYXggPSB2YWx1ZTsKKyAgICAgICAgd2hp
bGUgKCsraSA8IG4pIHsgLy8gQ29tcGFyZSB0aGUgcmVtYWluaW5nIHZhbHVlcy4KKyAgICAgICAg
ICBpZiAoKHZhbHVlID0gdmFsdWVzW2ldKSAhPSBudWxsICYmIHZhbHVlID4gbWF4KSB7CisgICAg
ICAgICAgICBtYXggPSB2YWx1ZTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAg
ICB9CisgIH0KKworICBlbHNlIHsKKyAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBGaW5kIHRoZSBm
aXJzdCBjb21wYXJhYmxlIHZhbHVlLgorICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlb2YodmFsdWVz
W2ldLCBpLCB2YWx1ZXMpKSAhPSBudWxsICYmIHZhbHVlID49IHZhbHVlKSB7CisgICAgICAgIG1h
eCA9IHZhbHVlOworICAgICAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBDb21wYXJlIHRoZSByZW1h
aW5pbmcgdmFsdWVzLgorICAgICAgICAgIGlmICgodmFsdWUgPSB2YWx1ZW9mKHZhbHVlc1tpXSwg
aSwgdmFsdWVzKSkgIT0gbnVsbCAmJiB2YWx1ZSA+IG1heCkgeworICAgICAgICAgICAgbWF4ID0g
dmFsdWU7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9CisKKyAg
cmV0dXJuIG1heDsKK30KKworZnVuY3Rpb24gbWVhbih2YWx1ZXMsIHZhbHVlb2YpIHsKKyAgdmFy
IG4gPSB2YWx1ZXMubGVuZ3RoLAorICAgICAgbSA9IG4sCisgICAgICBpID0gLTEsCisgICAgICB2
YWx1ZSwKKyAgICAgIHN1bSA9IDA7CisKKyAgaWYgKHZhbHVlb2YgPT0gbnVsbCkgeworICAgIHdo
aWxlICgrK2kgPCBuKSB7CisgICAgICBpZiAoIWlzTmFOKHZhbHVlID0gbnVtYmVyKHZhbHVlc1tp
XSkpKSBzdW0gKz0gdmFsdWU7CisgICAgICBlbHNlIC0tbTsKKyAgICB9CisgIH0KKworICBlbHNl
IHsKKyAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgaWYgKCFpc05hTih2YWx1ZSA9IG51bWJl
cih2YWx1ZW9mKHZhbHVlc1tpXSwgaSwgdmFsdWVzKSkpKSBzdW0gKz0gdmFsdWU7CisgICAgICBl
bHNlIC0tbTsKKyAgICB9CisgIH0KKworICBpZiAobSkgcmV0dXJuIHN1bSAvIG07Cit9CisKK2Z1
bmN0aW9uIG1lZGlhbih2YWx1ZXMsIHZhbHVlb2YpIHsKKyAgdmFyIG4gPSB2YWx1ZXMubGVuZ3Ro
LAorICAgICAgaSA9IC0xLAorICAgICAgdmFsdWUsCisgICAgICBudW1iZXJzID0gW107CisKKyAg
aWYgKHZhbHVlb2YgPT0gbnVsbCkgeworICAgIHdoaWxlICgrK2kgPCBuKSB7CisgICAgICBpZiAo
IWlzTmFOKHZhbHVlID0gbnVtYmVyKHZhbHVlc1tpXSkpKSB7CisgICAgICAgIG51bWJlcnMucHVz
aCh2YWx1ZSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgZWxzZSB7CisgICAgd2hpbGUgKCsr
aSA8IG4pIHsKKyAgICAgIGlmICghaXNOYU4odmFsdWUgPSBudW1iZXIodmFsdWVvZih2YWx1ZXNb
aV0sIGksIHZhbHVlcykpKSkgeworICAgICAgICBudW1iZXJzLnB1c2godmFsdWUpOworICAgICAg
fQorICAgIH0KKyAgfQorCisgIHJldHVybiB0aHJlc2hvbGQobnVtYmVycy5zb3J0KGFzY2VuZGlu
ZyksIDAuNSk7Cit9CisKK2Z1bmN0aW9uIG1lcmdlKGFycmF5cykgeworICB2YXIgbiA9IGFycmF5
cy5sZW5ndGgsCisgICAgICBtLAorICAgICAgaSA9IC0xLAorICAgICAgaiA9IDAsCisgICAgICBt
ZXJnZWQsCisgICAgICBhcnJheTsKKworICB3aGlsZSAoKytpIDwgbikgaiArPSBhcnJheXNbaV0u
bGVuZ3RoOworICBtZXJnZWQgPSBuZXcgQXJyYXkoaik7CisKKyAgd2hpbGUgKC0tbiA+PSAwKSB7
CisgICAgYXJyYXkgPSBhcnJheXNbbl07CisgICAgbSA9IGFycmF5Lmxlbmd0aDsKKyAgICB3aGls
ZSAoLS1tID49IDApIHsKKyAgICAgIG1lcmdlZFstLWpdID0gYXJyYXlbbV07CisgICAgfQorICB9
CisKKyAgcmV0dXJuIG1lcmdlZDsKK30KKworZnVuY3Rpb24gbWluKHZhbHVlcywgdmFsdWVvZikg
eworICB2YXIgbiA9IHZhbHVlcy5sZW5ndGgsCisgICAgICBpID0gLTEsCisgICAgICB2YWx1ZSwK
KyAgICAgIG1pbjsKKworICBpZiAodmFsdWVvZiA9PSBudWxsKSB7CisgICAgd2hpbGUgKCsraSA8
IG4pIHsgLy8gRmluZCB0aGUgZmlyc3QgY29tcGFyYWJsZSB2YWx1ZS4KKyAgICAgIGlmICgodmFs
dWUgPSB2YWx1ZXNbaV0pICE9IG51bGwgJiYgdmFsdWUgPj0gdmFsdWUpIHsKKyAgICAgICAgbWlu
ID0gdmFsdWU7CisgICAgICAgIHdoaWxlICgrK2kgPCBuKSB7IC8vIENvbXBhcmUgdGhlIHJlbWFp
bmluZyB2YWx1ZXMuCisgICAgICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlc1tpXSkgIT0gbnVsbCAm
JiBtaW4gPiB2YWx1ZSkgeworICAgICAgICAgICAgbWluID0gdmFsdWU7CisgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9CisKKyAgZWxzZSB7CisgICAgd2hpbGUgKCsr
aSA8IG4pIHsgLy8gRmluZCB0aGUgZmlyc3QgY29tcGFyYWJsZSB2YWx1ZS4KKyAgICAgIGlmICgo
dmFsdWUgPSB2YWx1ZW9mKHZhbHVlc1tpXSwgaSwgdmFsdWVzKSkgIT0gbnVsbCAmJiB2YWx1ZSA+
PSB2YWx1ZSkgeworICAgICAgICBtaW4gPSB2YWx1ZTsKKyAgICAgICAgd2hpbGUgKCsraSA8IG4p
IHsgLy8gQ29tcGFyZSB0aGUgcmVtYWluaW5nIHZhbHVlcy4KKyAgICAgICAgICBpZiAoKHZhbHVl
ID0gdmFsdWVvZih2YWx1ZXNbaV0sIGksIHZhbHVlcykpICE9IG51bGwgJiYgbWluID4gdmFsdWUp
IHsKKyAgICAgICAgICAgIG1pbiA9IHZhbHVlOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
ICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBtaW47Cit9CisKK2Z1bmN0aW9uIHBlcm11dGUo
YXJyYXksIGluZGV4ZXMpIHsKKyAgdmFyIGkgPSBpbmRleGVzLmxlbmd0aCwgcGVybXV0ZXMgPSBu
ZXcgQXJyYXkoaSk7CisgIHdoaWxlIChpLS0pIHBlcm11dGVzW2ldID0gYXJyYXlbaW5kZXhlc1tp
XV07CisgIHJldHVybiBwZXJtdXRlczsKK30KKworZnVuY3Rpb24gc2Nhbih2YWx1ZXMsIGNvbXBh
cmUpIHsKKyAgaWYgKCEobiA9IHZhbHVlcy5sZW5ndGgpKSByZXR1cm47CisgIHZhciBuLAorICAg
ICAgaSA9IDAsCisgICAgICBqID0gMCwKKyAgICAgIHhpLAorICAgICAgeGogPSB2YWx1ZXNbal07
CisKKyAgaWYgKGNvbXBhcmUgPT0gbnVsbCkgY29tcGFyZSA9IGFzY2VuZGluZzsKKworICB3aGls
ZSAoKytpIDwgbikgeworICAgIGlmIChjb21wYXJlKHhpID0gdmFsdWVzW2ldLCB4aikgPCAwIHx8
IGNvbXBhcmUoeGosIHhqKSAhPT0gMCkgeworICAgICAgeGogPSB4aSwgaiA9IGk7CisgICAgfQor
ICB9CisKKyAgaWYgKGNvbXBhcmUoeGosIHhqKSA9PT0gMCkgcmV0dXJuIGo7Cit9CisKK2Z1bmN0
aW9uIHNodWZmbGUoYXJyYXksIGkwLCBpMSkgeworICB2YXIgbSA9IChpMSA9PSBudWxsID8gYXJy
YXkubGVuZ3RoIDogaTEpIC0gKGkwID0gaTAgPT0gbnVsbCA/IDAgOiAraTApLAorICAgICAgdCwK
KyAgICAgIGk7CisKKyAgd2hpbGUgKG0pIHsKKyAgICBpID0gTWF0aC5yYW5kb20oKSAqIG0tLSB8
IDA7CisgICAgdCA9IGFycmF5W20gKyBpMF07CisgICAgYXJyYXlbbSArIGkwXSA9IGFycmF5W2kg
KyBpMF07CisgICAgYXJyYXlbaSArIGkwXSA9IHQ7CisgIH0KKworICByZXR1cm4gYXJyYXk7Cit9
CisKK2Z1bmN0aW9uIHN1bSh2YWx1ZXMsIHZhbHVlb2YpIHsKKyAgdmFyIG4gPSB2YWx1ZXMubGVu
Z3RoLAorICAgICAgaSA9IC0xLAorICAgICAgdmFsdWUsCisgICAgICBzdW0gPSAwOworCisgIGlm
ICh2YWx1ZW9mID09IG51bGwpIHsKKyAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgaWYgKHZh
bHVlID0gK3ZhbHVlc1tpXSkgc3VtICs9IHZhbHVlOyAvLyBOb3RlOiB6ZXJvIGFuZCBudWxsIGFy
ZSBlcXVpdmFsZW50LgorICAgIH0KKyAgfQorCisgIGVsc2UgeworICAgIHdoaWxlICgrK2kgPCBu
KSB7CisgICAgICBpZiAodmFsdWUgPSArdmFsdWVvZih2YWx1ZXNbaV0sIGksIHZhbHVlcykpIHN1
bSArPSB2YWx1ZTsKKyAgICB9CisgIH0KKworICByZXR1cm4gc3VtOworfQorCitmdW5jdGlvbiB0
cmFuc3Bvc2UobWF0cml4KSB7CisgIGlmICghKG4gPSBtYXRyaXgubGVuZ3RoKSkgcmV0dXJuIFtd
OworICBmb3IgKHZhciBpID0gLTEsIG0gPSBtaW4obWF0cml4LCBsZW5ndGgpLCB0cmFuc3Bvc2Ug
PSBuZXcgQXJyYXkobSk7ICsraSA8IG07KSB7CisgICAgZm9yICh2YXIgaiA9IC0xLCBuLCByb3cg
PSB0cmFuc3Bvc2VbaV0gPSBuZXcgQXJyYXkobik7ICsraiA8IG47KSB7CisgICAgICByb3dbal0g
PSBtYXRyaXhbal1baV07CisgICAgfQorICB9CisgIHJldHVybiB0cmFuc3Bvc2U7Cit9CisKK2Z1
bmN0aW9uIGxlbmd0aChkKSB7CisgIHJldHVybiBkLmxlbmd0aDsKK30KKworZnVuY3Rpb24gemlw
KCkgeworICByZXR1cm4gdHJhbnNwb3NlKGFyZ3VtZW50cyk7Cit9CisKK3ZhciBzbGljZSQxID0g
QXJyYXkucHJvdG90eXBlLnNsaWNlOworCitmdW5jdGlvbiBpZGVudGl0eSQxKHgpIHsKKyAgcmV0
dXJuIHg7Cit9CisKK3ZhciB0b3AgPSAxLAorICAgIHJpZ2h0ID0gMiwKKyAgICBib3R0b20gPSAz
LAorICAgIGxlZnQgPSA0LAorICAgIGVwc2lsb24gPSAxZS02OworCitmdW5jdGlvbiB0cmFuc2xh
dGVYKHgpIHsKKyAgcmV0dXJuICJ0cmFuc2xhdGUoIiArICh4ICsgMC41KSArICIsMCkiOworfQor
CitmdW5jdGlvbiB0cmFuc2xhdGVZKHkpIHsKKyAgcmV0dXJuICJ0cmFuc2xhdGUoMCwiICsgKHkg
KyAwLjUpICsgIikiOworfQorCitmdW5jdGlvbiBudW1iZXIkMShzY2FsZSkgeworICByZXR1cm4g
ZnVuY3Rpb24oZCkgeworICAgIHJldHVybiArc2NhbGUoZCk7CisgIH07Cit9CisKK2Z1bmN0aW9u
IGNlbnRlcihzY2FsZSkgeworICB2YXIgb2Zmc2V0ID0gTWF0aC5tYXgoMCwgc2NhbGUuYmFuZHdp
ZHRoKCkgLSAxKSAvIDI7IC8vIEFkanVzdCBmb3IgMC41cHggb2Zmc2V0LgorICBpZiAoc2NhbGUu
cm91bmQoKSkgb2Zmc2V0ID0gTWF0aC5yb3VuZChvZmZzZXQpOworICByZXR1cm4gZnVuY3Rpb24o
ZCkgeworICAgIHJldHVybiArc2NhbGUoZCkgKyBvZmZzZXQ7CisgIH07Cit9CisKK2Z1bmN0aW9u
IGVudGVyaW5nKCkgeworICByZXR1cm4gIXRoaXMuX19heGlzOworfQorCitmdW5jdGlvbiBheGlz
KG9yaWVudCwgc2NhbGUpIHsKKyAgdmFyIHRpY2tBcmd1bWVudHMgPSBbXSwKKyAgICAgIHRpY2tW
YWx1ZXMgPSBudWxsLAorICAgICAgdGlja0Zvcm1hdCA9IG51bGwsCisgICAgICB0aWNrU2l6ZUlu
bmVyID0gNiwKKyAgICAgIHRpY2tTaXplT3V0ZXIgPSA2LAorICAgICAgdGlja1BhZGRpbmcgPSAz
LAorICAgICAgayA9IG9yaWVudCA9PT0gdG9wIHx8IG9yaWVudCA9PT0gbGVmdCA/IC0xIDogMSwK
KyAgICAgIHggPSBvcmllbnQgPT09IGxlZnQgfHwgb3JpZW50ID09PSByaWdodCA/ICJ4IiA6ICJ5
IiwKKyAgICAgIHRyYW5zZm9ybSA9IG9yaWVudCA9PT0gdG9wIHx8IG9yaWVudCA9PT0gYm90dG9t
ID8gdHJhbnNsYXRlWCA6IHRyYW5zbGF0ZVk7CisKKyAgZnVuY3Rpb24gYXhpcyhjb250ZXh0KSB7
CisgICAgdmFyIHZhbHVlcyA9IHRpY2tWYWx1ZXMgPT0gbnVsbCA/IChzY2FsZS50aWNrcyA/IHNj
YWxlLnRpY2tzLmFwcGx5KHNjYWxlLCB0aWNrQXJndW1lbnRzKSA6IHNjYWxlLmRvbWFpbigpKSA6
IHRpY2tWYWx1ZXMsCisgICAgICAgIGZvcm1hdCA9IHRpY2tGb3JtYXQgPT0gbnVsbCA/IChzY2Fs
ZS50aWNrRm9ybWF0ID8gc2NhbGUudGlja0Zvcm1hdC5hcHBseShzY2FsZSwgdGlja0FyZ3VtZW50
cykgOiBpZGVudGl0eSQxKSA6IHRpY2tGb3JtYXQsCisgICAgICAgIHNwYWNpbmcgPSBNYXRoLm1h
eCh0aWNrU2l6ZUlubmVyLCAwKSArIHRpY2tQYWRkaW5nLAorICAgICAgICByYW5nZSA9IHNjYWxl
LnJhbmdlKCksCisgICAgICAgIHJhbmdlMCA9ICtyYW5nZVswXSArIDAuNSwKKyAgICAgICAgcmFu
Z2UxID0gK3JhbmdlW3JhbmdlLmxlbmd0aCAtIDFdICsgMC41LAorICAgICAgICBwb3NpdGlvbiA9
IChzY2FsZS5iYW5kd2lkdGggPyBjZW50ZXIgOiBudW1iZXIkMSkoc2NhbGUuY29weSgpKSwKKyAg
ICAgICAgc2VsZWN0aW9uID0gY29udGV4dC5zZWxlY3Rpb24gPyBjb250ZXh0LnNlbGVjdGlvbigp
IDogY29udGV4dCwKKyAgICAgICAgcGF0aCA9IHNlbGVjdGlvbi5zZWxlY3RBbGwoIi5kb21haW4i
KS5kYXRhKFtudWxsXSksCisgICAgICAgIHRpY2sgPSBzZWxlY3Rpb24uc2VsZWN0QWxsKCIudGlj
ayIpLmRhdGEodmFsdWVzLCBzY2FsZSkub3JkZXIoKSwKKyAgICAgICAgdGlja0V4aXQgPSB0aWNr
LmV4aXQoKSwKKyAgICAgICAgdGlja0VudGVyID0gdGljay5lbnRlcigpLmFwcGVuZCgiZyIpLmF0
dHIoImNsYXNzIiwgInRpY2siKSwKKyAgICAgICAgbGluZSA9IHRpY2suc2VsZWN0KCJsaW5lIiks
CisgICAgICAgIHRleHQgPSB0aWNrLnNlbGVjdCgidGV4dCIpOworCisgICAgcGF0aCA9IHBhdGgu
bWVyZ2UocGF0aC5lbnRlcigpLmluc2VydCgicGF0aCIsICIudGljayIpCisgICAgICAgIC5hdHRy
KCJjbGFzcyIsICJkb21haW4iKQorICAgICAgICAuYXR0cigic3Ryb2tlIiwgImN1cnJlbnRDb2xv
ciIpKTsKKworICAgIHRpY2sgPSB0aWNrLm1lcmdlKHRpY2tFbnRlcik7CisKKyAgICBsaW5lID0g
bGluZS5tZXJnZSh0aWNrRW50ZXIuYXBwZW5kKCJsaW5lIikKKyAgICAgICAgLmF0dHIoInN0cm9r
ZSIsICJjdXJyZW50Q29sb3IiKQorICAgICAgICAuYXR0cih4ICsgIjIiLCBrICogdGlja1NpemVJ
bm5lcikpOworCisgICAgdGV4dCA9IHRleHQubWVyZ2UodGlja0VudGVyLmFwcGVuZCgidGV4dCIp
CisgICAgICAgIC5hdHRyKCJmaWxsIiwgImN1cnJlbnRDb2xvciIpCisgICAgICAgIC5hdHRyKHgs
IGsgKiBzcGFjaW5nKQorICAgICAgICAuYXR0cigiZHkiLCBvcmllbnQgPT09IHRvcCA/ICIwZW0i
IDogb3JpZW50ID09PSBib3R0b20gPyAiMC43MWVtIiA6ICIwLjMyZW0iKSk7CisKKyAgICBpZiAo
Y29udGV4dCAhPT0gc2VsZWN0aW9uKSB7CisgICAgICBwYXRoID0gcGF0aC50cmFuc2l0aW9uKGNv
bnRleHQpOworICAgICAgdGljayA9IHRpY2sudHJhbnNpdGlvbihjb250ZXh0KTsKKyAgICAgIGxp
bmUgPSBsaW5lLnRyYW5zaXRpb24oY29udGV4dCk7CisgICAgICB0ZXh0ID0gdGV4dC50cmFuc2l0
aW9uKGNvbnRleHQpOworCisgICAgICB0aWNrRXhpdCA9IHRpY2tFeGl0LnRyYW5zaXRpb24oY29u
dGV4dCkKKyAgICAgICAgICAuYXR0cigib3BhY2l0eSIsIGVwc2lsb24pCisgICAgICAgICAgLmF0
dHIoInRyYW5zZm9ybSIsIGZ1bmN0aW9uKGQpIHsgcmV0dXJuIGlzRmluaXRlKGQgPSBwb3NpdGlv
bihkKSkgPyB0cmFuc2Zvcm0oZCkgOiB0aGlzLmdldEF0dHJpYnV0ZSgidHJhbnNmb3JtIik7IH0p
OworCisgICAgICB0aWNrRW50ZXIKKyAgICAgICAgICAuYXR0cigib3BhY2l0eSIsIGVwc2lsb24p
CisgICAgICAgICAgLmF0dHIoInRyYW5zZm9ybSIsIGZ1bmN0aW9uKGQpIHsgdmFyIHAgPSB0aGlz
LnBhcmVudE5vZGUuX19heGlzOyByZXR1cm4gdHJhbnNmb3JtKHAgJiYgaXNGaW5pdGUocCA9IHAo
ZCkpID8gcCA6IHBvc2l0aW9uKGQpKTsgfSk7CisgICAgfQorCisgICAgdGlja0V4aXQucmVtb3Zl
KCk7CisKKyAgICBwYXRoCisgICAgICAgIC5hdHRyKCJkIiwgb3JpZW50ID09PSBsZWZ0IHx8IG9y
aWVudCA9PSByaWdodAorICAgICAgICAgICAgPyAodGlja1NpemVPdXRlciA/ICJNIiArIGsgKiB0
aWNrU2l6ZU91dGVyICsgIiwiICsgcmFuZ2UwICsgIkgwLjVWIiArIHJhbmdlMSArICJIIiArIGsg
KiB0aWNrU2l6ZU91dGVyIDogIk0wLjUsIiArIHJhbmdlMCArICJWIiArIHJhbmdlMSkKKyAgICAg
ICAgICAgIDogKHRpY2tTaXplT3V0ZXIgPyAiTSIgKyByYW5nZTAgKyAiLCIgKyBrICogdGlja1Np
emVPdXRlciArICJWMC41SCIgKyByYW5nZTEgKyAiViIgKyBrICogdGlja1NpemVPdXRlciA6ICJN
IiArIHJhbmdlMCArICIsMC41SCIgKyByYW5nZTEpKTsKKworICAgIHRpY2sKKyAgICAgICAgLmF0
dHIoIm9wYWNpdHkiLCAxKQorICAgICAgICAuYXR0cigidHJhbnNmb3JtIiwgZnVuY3Rpb24oZCkg
eyByZXR1cm4gdHJhbnNmb3JtKHBvc2l0aW9uKGQpKTsgfSk7CisKKyAgICBsaW5lCisgICAgICAg
IC5hdHRyKHggKyAiMiIsIGsgKiB0aWNrU2l6ZUlubmVyKTsKKworICAgIHRleHQKKyAgICAgICAg
LmF0dHIoeCwgayAqIHNwYWNpbmcpCisgICAgICAgIC50ZXh0KGZvcm1hdCk7CisKKyAgICBzZWxl
Y3Rpb24uZmlsdGVyKGVudGVyaW5nKQorICAgICAgICAuYXR0cigiZmlsbCIsICJub25lIikKKyAg
ICAgICAgLmF0dHIoImZvbnQtc2l6ZSIsIDEwKQorICAgICAgICAuYXR0cigiZm9udC1mYW1pbHki
LCAic2Fucy1zZXJpZiIpCisgICAgICAgIC5hdHRyKCJ0ZXh0LWFuY2hvciIsIG9yaWVudCA9PT0g
cmlnaHQgPyAic3RhcnQiIDogb3JpZW50ID09PSBsZWZ0ID8gImVuZCIgOiAibWlkZGxlIik7CisK
KyAgICBzZWxlY3Rpb24KKyAgICAgICAgLmVhY2goZnVuY3Rpb24oKSB7IHRoaXMuX19heGlzID0g
cG9zaXRpb247IH0pOworICB9CisKKyAgYXhpcy5zY2FsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzY2FsZSA9IF8sIGF4aXMpIDogc2NhbGU7CisgIH07
CisKKyAgYXhpcy50aWNrcyA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0aWNrQXJndW1lbnRz
ID0gc2xpY2UkMS5jYWxsKGFyZ3VtZW50cyksIGF4aXM7CisgIH07CisKKyAgYXhpcy50aWNrQXJn
dW1lbnRzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRp
Y2tBcmd1bWVudHMgPSBfID09IG51bGwgPyBbXSA6IHNsaWNlJDEuY2FsbChfKSwgYXhpcykgOiB0
aWNrQXJndW1lbnRzLnNsaWNlKCk7CisgIH07CisKKyAgYXhpcy50aWNrVmFsdWVzID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRpY2tWYWx1ZXMgPSBfID09
IG51bGwgPyBudWxsIDogc2xpY2UkMS5jYWxsKF8pLCBheGlzKSA6IHRpY2tWYWx1ZXMgJiYgdGlj
a1ZhbHVlcy5zbGljZSgpOworICB9OworCisgIGF4aXMudGlja0Zvcm1hdCA9IGZ1bmN0aW9uKF8p
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0aWNrRm9ybWF0ID0gXywgYXhpcykg
OiB0aWNrRm9ybWF0OworICB9OworCisgIGF4aXMudGlja1NpemUgPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGlja1NpemVJbm5lciA9IHRpY2tTaXplT3V0
ZXIgPSArXywgYXhpcykgOiB0aWNrU2l6ZUlubmVyOworICB9OworCisgIGF4aXMudGlja1NpemVJ
bm5lciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0aWNr
U2l6ZUlubmVyID0gK18sIGF4aXMpIDogdGlja1NpemVJbm5lcjsKKyAgfTsKKworICBheGlzLnRp
Y2tTaXplT3V0ZXIgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PyAodGlja1NpemVPdXRlciA9ICtfLCBheGlzKSA6IHRpY2tTaXplT3V0ZXI7CisgIH07CisKKyAg
YXhpcy50aWNrUGFkZGluZyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/ICh0aWNrUGFkZGluZyA9ICtfLCBheGlzKSA6IHRpY2tQYWRkaW5nOworICB9OworCisg
IHJldHVybiBheGlzOworfQorCitmdW5jdGlvbiBheGlzVG9wKHNjYWxlKSB7CisgIHJldHVybiBh
eGlzKHRvcCwgc2NhbGUpOworfQorCitmdW5jdGlvbiBheGlzUmlnaHQoc2NhbGUpIHsKKyAgcmV0
dXJuIGF4aXMocmlnaHQsIHNjYWxlKTsKK30KKworZnVuY3Rpb24gYXhpc0JvdHRvbShzY2FsZSkg
eworICByZXR1cm4gYXhpcyhib3R0b20sIHNjYWxlKTsKK30KKworZnVuY3Rpb24gYXhpc0xlZnQo
c2NhbGUpIHsKKyAgcmV0dXJuIGF4aXMobGVmdCwgc2NhbGUpOworfQorCit2YXIgbm9vcCA9IHt2
YWx1ZTogZnVuY3Rpb24oKSB7fX07CisKK2Z1bmN0aW9uIGRpc3BhdGNoKCkgeworICBmb3IgKHZh
ciBpID0gMCwgbiA9IGFyZ3VtZW50cy5sZW5ndGgsIF8gPSB7fSwgdDsgaSA8IG47ICsraSkgewor
ICAgIGlmICghKHQgPSBhcmd1bWVudHNbaV0gKyAiIikgfHwgKHQgaW4gXykgfHwgL1tccy5dLy50
ZXN0KHQpKSB0aHJvdyBuZXcgRXJyb3IoImlsbGVnYWwgdHlwZTogIiArIHQpOworICAgIF9bdF0g
PSBbXTsKKyAgfQorICByZXR1cm4gbmV3IERpc3BhdGNoKF8pOworfQorCitmdW5jdGlvbiBEaXNw
YXRjaChfKSB7CisgIHRoaXMuXyA9IF87Cit9CisKK2Z1bmN0aW9uIHBhcnNlVHlwZW5hbWVzKHR5
cGVuYW1lcywgdHlwZXMpIHsKKyAgcmV0dXJuIHR5cGVuYW1lcy50cmltKCkuc3BsaXQoL158XHMr
LykubWFwKGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgbmFtZSA9ICIiLCBpID0gdC5pbmRleE9mKCIu
Iik7CisgICAgaWYgKGkgPj0gMCkgbmFtZSA9IHQuc2xpY2UoaSArIDEpLCB0ID0gdC5zbGljZSgw
LCBpKTsKKyAgICBpZiAodCAmJiAhdHlwZXMuaGFzT3duUHJvcGVydHkodCkpIHRocm93IG5ldyBF
cnJvcigidW5rbm93biB0eXBlOiAiICsgdCk7CisgICAgcmV0dXJuIHt0eXBlOiB0LCBuYW1lOiBu
YW1lfTsKKyAgfSk7Cit9CisKK0Rpc3BhdGNoLnByb3RvdHlwZSA9IGRpc3BhdGNoLnByb3RvdHlw
ZSA9IHsKKyAgY29uc3RydWN0b3I6IERpc3BhdGNoLAorICBvbjogZnVuY3Rpb24odHlwZW5hbWUs
IGNhbGxiYWNrKSB7CisgICAgdmFyIF8gPSB0aGlzLl8sCisgICAgICAgIFQgPSBwYXJzZVR5cGVu
YW1lcyh0eXBlbmFtZSArICIiLCBfKSwKKyAgICAgICAgdCwKKyAgICAgICAgaSA9IC0xLAorICAg
ICAgICBuID0gVC5sZW5ndGg7CisKKyAgICAvLyBJZiBubyBjYWxsYmFjayB3YXMgc3BlY2lmaWVk
LCByZXR1cm4gdGhlIGNhbGxiYWNrIG9mIHRoZSBnaXZlbiB0eXBlIGFuZCBuYW1lLgorICAgIGlm
IChhcmd1bWVudHMubGVuZ3RoIDwgMikgeworICAgICAgd2hpbGUgKCsraSA8IG4pIGlmICgodCA9
ICh0eXBlbmFtZSA9IFRbaV0pLnR5cGUpICYmICh0ID0gZ2V0KF9bdF0sIHR5cGVuYW1lLm5hbWUp
KSkgcmV0dXJuIHQ7CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gSWYgYSB0eXBlIHdh
cyBzcGVjaWZpZWQsIHNldCB0aGUgY2FsbGJhY2sgZm9yIHRoZSBnaXZlbiB0eXBlIGFuZCBuYW1l
LgorICAgIC8vIE90aGVyd2lzZSwgaWYgYSBudWxsIGNhbGxiYWNrIHdhcyBzcGVjaWZpZWQsIHJl
bW92ZSBjYWxsYmFja3Mgb2YgdGhlIGdpdmVuIG5hbWUuCisgICAgaWYgKGNhbGxiYWNrICE9IG51
bGwgJiYgdHlwZW9mIGNhbGxiYWNrICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3IoImlu
dmFsaWQgY2FsbGJhY2s6ICIgKyBjYWxsYmFjayk7CisgICAgd2hpbGUgKCsraSA8IG4pIHsKKyAg
ICAgIGlmICh0ID0gKHR5cGVuYW1lID0gVFtpXSkudHlwZSkgX1t0XSA9IHNldChfW3RdLCB0eXBl
bmFtZS5uYW1lLCBjYWxsYmFjayk7CisgICAgICBlbHNlIGlmIChjYWxsYmFjayA9PSBudWxsKSBm
b3IgKHQgaW4gXykgX1t0XSA9IHNldChfW3RdLCB0eXBlbmFtZS5uYW1lLCBudWxsKTsKKyAgICB9
CisKKyAgICByZXR1cm4gdGhpczsKKyAgfSwKKyAgY29weTogZnVuY3Rpb24oKSB7CisgICAgdmFy
IGNvcHkgPSB7fSwgXyA9IHRoaXMuXzsKKyAgICBmb3IgKHZhciB0IGluIF8pIGNvcHlbdF0gPSBf
W3RdLnNsaWNlKCk7CisgICAgcmV0dXJuIG5ldyBEaXNwYXRjaChjb3B5KTsKKyAgfSwKKyAgY2Fs
bDogZnVuY3Rpb24odHlwZSwgdGhhdCkgeworICAgIGlmICgobiA9IGFyZ3VtZW50cy5sZW5ndGgg
LSAyKSA+IDApIGZvciAodmFyIGFyZ3MgPSBuZXcgQXJyYXkobiksIGkgPSAwLCBuLCB0OyBpIDwg
bjsgKytpKSBhcmdzW2ldID0gYXJndW1lbnRzW2kgKyAyXTsKKyAgICBpZiAoIXRoaXMuXy5oYXNP
d25Qcm9wZXJ0eSh0eXBlKSkgdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIgKyB0eXBl
KTsKKyAgICBmb3IgKHQgPSB0aGlzLl9bdHlwZV0sIGkgPSAwLCBuID0gdC5sZW5ndGg7IGkgPCBu
OyArK2kpIHRbaV0udmFsdWUuYXBwbHkodGhhdCwgYXJncyk7CisgIH0sCisgIGFwcGx5OiBmdW5j
dGlvbih0eXBlLCB0aGF0LCBhcmdzKSB7CisgICAgaWYgKCF0aGlzLl8uaGFzT3duUHJvcGVydHko
dHlwZSkpIHRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiICsgdHlwZSk7CisgICAgZm9y
ICh2YXIgdCA9IHRoaXMuX1t0eXBlXSwgaSA9IDAsIG4gPSB0Lmxlbmd0aDsgaSA8IG47ICsraSkg
dFtpXS52YWx1ZS5hcHBseSh0aGF0LCBhcmdzKTsKKyAgfQorfTsKKworZnVuY3Rpb24gZ2V0KHR5
cGUsIG5hbWUpIHsKKyAgZm9yICh2YXIgaSA9IDAsIG4gPSB0eXBlLmxlbmd0aCwgYzsgaSA8IG47
ICsraSkgeworICAgIGlmICgoYyA9IHR5cGVbaV0pLm5hbWUgPT09IG5hbWUpIHsKKyAgICAgIHJl
dHVybiBjLnZhbHVlOworICAgIH0KKyAgfQorfQorCitmdW5jdGlvbiBzZXQodHlwZSwgbmFtZSwg
Y2FsbGJhY2spIHsKKyAgZm9yICh2YXIgaSA9IDAsIG4gPSB0eXBlLmxlbmd0aDsgaSA8IG47ICsr
aSkgeworICAgIGlmICh0eXBlW2ldLm5hbWUgPT09IG5hbWUpIHsKKyAgICAgIHR5cGVbaV0gPSBu
b29wLCB0eXBlID0gdHlwZS5zbGljZSgwLCBpKS5jb25jYXQodHlwZS5zbGljZShpICsgMSkpOwor
ICAgICAgYnJlYWs7CisgICAgfQorICB9CisgIGlmIChjYWxsYmFjayAhPSBudWxsKSB0eXBlLnB1
c2goe25hbWU6IG5hbWUsIHZhbHVlOiBjYWxsYmFja30pOworICByZXR1cm4gdHlwZTsKK30KKwor
dmFyIHhodG1sID0gImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOworCit2YXIgbmFtZXNw
YWNlcyA9IHsKKyAgc3ZnOiAiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLAorICB4aHRtbDog
eGh0bWwsCisgIHhsaW5rOiAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsCisgIHhtbDog
Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsCisgIHhtbG5zOiAiaHR0cDov
L3d3dy53My5vcmcvMjAwMC94bWxucy8iCit9OworCitmdW5jdGlvbiBuYW1lc3BhY2UobmFtZSkg
eworICB2YXIgcHJlZml4ID0gbmFtZSArPSAiIiwgaSA9IHByZWZpeC5pbmRleE9mKCI6Iik7Cisg
IGlmIChpID49IDAgJiYgKHByZWZpeCA9IG5hbWUuc2xpY2UoMCwgaSkpICE9PSAieG1sbnMiKSBu
YW1lID0gbmFtZS5zbGljZShpICsgMSk7CisgIHJldHVybiBuYW1lc3BhY2VzLmhhc093blByb3Bl
cnR5KHByZWZpeCkgPyB7c3BhY2U6IG5hbWVzcGFjZXNbcHJlZml4XSwgbG9jYWw6IG5hbWV9IDog
bmFtZTsKK30KKworZnVuY3Rpb24gY3JlYXRvckluaGVyaXQobmFtZSkgeworICByZXR1cm4gZnVu
Y3Rpb24oKSB7CisgICAgdmFyIGRvY3VtZW50ID0gdGhpcy5vd25lckRvY3VtZW50LAorICAgICAg
ICB1cmkgPSB0aGlzLm5hbWVzcGFjZVVSSTsKKyAgICByZXR1cm4gdXJpID09PSB4aHRtbCAmJiBk
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJID09PSB4aHRtbAorICAgICAgICA/
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobmFtZSkKKyAgICAgICAgOiBkb2N1bWVudC5jcmVhdGVF
bGVtZW50TlModXJpLCBuYW1lKTsKKyAgfTsKK30KKworZnVuY3Rpb24gY3JlYXRvckZpeGVkKGZ1
bGxuYW1lKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gdGhpcy5vd25lckRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnROUyhmdWxsbmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWwpOwor
ICB9OworfQorCitmdW5jdGlvbiBjcmVhdG9yKG5hbWUpIHsKKyAgdmFyIGZ1bGxuYW1lID0gbmFt
ZXNwYWNlKG5hbWUpOworICByZXR1cm4gKGZ1bGxuYW1lLmxvY2FsCisgICAgICA/IGNyZWF0b3JG
aXhlZAorICAgICAgOiBjcmVhdG9ySW5oZXJpdCkoZnVsbG5hbWUpOworfQorCitmdW5jdGlvbiBu
b25lKCkge30KKworZnVuY3Rpb24gc2VsZWN0b3Ioc2VsZWN0b3IpIHsKKyAgcmV0dXJuIHNlbGVj
dG9yID09IG51bGwgPyBub25lIDogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRoaXMucXVlcnlT
ZWxlY3RvcihzZWxlY3Rvcik7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9zZWxlY3Qo
c2VsZWN0KSB7CisgIGlmICh0eXBlb2Ygc2VsZWN0ICE9PSAiZnVuY3Rpb24iKSBzZWxlY3QgPSBz
ZWxlY3RvcihzZWxlY3QpOworCisgIGZvciAodmFyIGdyb3VwcyA9IHRoaXMuX2dyb3VwcywgbSA9
IGdyb3Vwcy5sZW5ndGgsIHN1Ymdyb3VwcyA9IG5ldyBBcnJheShtKSwgaiA9IDA7IGogPCBtOyAr
K2opIHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdyb3Vwc1tqXSwgbiA9IGdyb3VwLmxlbmd0aCwg
c3ViZ3JvdXAgPSBzdWJncm91cHNbal0gPSBuZXcgQXJyYXkobiksIG5vZGUsIHN1Ym5vZGUsIGkg
PSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAoKG5vZGUgPSBncm91cFtpXSkgJiYgKHN1Ym5v
ZGUgPSBzZWxlY3QuY2FsbChub2RlLCBub2RlLl9fZGF0YV9fLCBpLCBncm91cCkpKSB7CisgICAg
ICAgIGlmICgiX19kYXRhX18iIGluIG5vZGUpIHN1Ym5vZGUuX19kYXRhX18gPSBub2RlLl9fZGF0
YV9fOworICAgICAgICBzdWJncm91cFtpXSA9IHN1Ym5vZGU7CisgICAgICB9CisgICAgfQorICB9
CisKKyAgcmV0dXJuIG5ldyBTZWxlY3Rpb24oc3ViZ3JvdXBzLCB0aGlzLl9wYXJlbnRzKTsKK30K
KworZnVuY3Rpb24gZW1wdHkoKSB7CisgIHJldHVybiBbXTsKK30KKworZnVuY3Rpb24gc2VsZWN0
b3JBbGwoc2VsZWN0b3IpIHsKKyAgcmV0dXJuIHNlbGVjdG9yID09IG51bGwgPyBlbXB0eSA6IGZ1
bmN0aW9uKCkgeworICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpOwor
ICB9OworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fc2VsZWN0QWxsKHNlbGVjdCkgeworICBpZiAo
dHlwZW9mIHNlbGVjdCAhPT0gImZ1bmN0aW9uIikgc2VsZWN0ID0gc2VsZWN0b3JBbGwoc2VsZWN0
KTsKKworICBmb3IgKHZhciBncm91cHMgPSB0aGlzLl9ncm91cHMsIG0gPSBncm91cHMubGVuZ3Ro
LCBzdWJncm91cHMgPSBbXSwgcGFyZW50cyA9IFtdLCBqID0gMDsgaiA8IG07ICsraikgeworICAg
IGZvciAodmFyIGdyb3VwID0gZ3JvdXBzW2pdLCBuID0gZ3JvdXAubGVuZ3RoLCBub2RlLCBpID0g
MDsgaSA8IG47ICsraSkgeworICAgICAgaWYgKG5vZGUgPSBncm91cFtpXSkgeworICAgICAgICBz
dWJncm91cHMucHVzaChzZWxlY3QuY2FsbChub2RlLCBub2RlLl9fZGF0YV9fLCBpLCBncm91cCkp
OworICAgICAgICBwYXJlbnRzLnB1c2gobm9kZSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAg
cmV0dXJuIG5ldyBTZWxlY3Rpb24oc3ViZ3JvdXBzLCBwYXJlbnRzKTsKK30KKworZnVuY3Rpb24g
bWF0Y2hlcihzZWxlY3RvcikgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRo
aXMubWF0Y2hlcyhzZWxlY3Rvcik7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9maWx0
ZXIobWF0Y2gpIHsKKyAgaWYgKHR5cGVvZiBtYXRjaCAhPT0gImZ1bmN0aW9uIikgbWF0Y2ggPSBt
YXRjaGVyKG1hdGNoKTsKKworICBmb3IgKHZhciBncm91cHMgPSB0aGlzLl9ncm91cHMsIG0gPSBn
cm91cHMubGVuZ3RoLCBzdWJncm91cHMgPSBuZXcgQXJyYXkobSksIGogPSAwOyBqIDwgbTsgKytq
KSB7CisgICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNbal0sIG4gPSBncm91cC5sZW5ndGgsIHN1
Ymdyb3VwID0gc3ViZ3JvdXBzW2pdID0gW10sIG5vZGUsIGkgPSAwOyBpIDwgbjsgKytpKSB7Cisg
ICAgICBpZiAoKG5vZGUgPSBncm91cFtpXSkgJiYgbWF0Y2guY2FsbChub2RlLCBub2RlLl9fZGF0
YV9fLCBpLCBncm91cCkpIHsKKyAgICAgICAgc3ViZ3JvdXAucHVzaChub2RlKTsKKyAgICAgIH0K
KyAgICB9CisgIH0KKworICByZXR1cm4gbmV3IFNlbGVjdGlvbihzdWJncm91cHMsIHRoaXMuX3Bh
cmVudHMpOworfQorCitmdW5jdGlvbiBzcGFyc2UodXBkYXRlKSB7CisgIHJldHVybiBuZXcgQXJy
YXkodXBkYXRlLmxlbmd0aCk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9lbnRlcigpIHsKKyAg
cmV0dXJuIG5ldyBTZWxlY3Rpb24odGhpcy5fZW50ZXIgfHwgdGhpcy5fZ3JvdXBzLm1hcChzcGFy
c2UpLCB0aGlzLl9wYXJlbnRzKTsKK30KKworZnVuY3Rpb24gRW50ZXJOb2RlKHBhcmVudCwgZGF0
dW0pIHsKKyAgdGhpcy5vd25lckRvY3VtZW50ID0gcGFyZW50Lm93bmVyRG9jdW1lbnQ7CisgIHRo
aXMubmFtZXNwYWNlVVJJID0gcGFyZW50Lm5hbWVzcGFjZVVSSTsKKyAgdGhpcy5fbmV4dCA9IG51
bGw7CisgIHRoaXMuX3BhcmVudCA9IHBhcmVudDsKKyAgdGhpcy5fX2RhdGFfXyA9IGRhdHVtOwor
fQorCitFbnRlck5vZGUucHJvdG90eXBlID0geworICBjb25zdHJ1Y3RvcjogRW50ZXJOb2RlLAor
ICBhcHBlbmRDaGlsZDogZnVuY3Rpb24oY2hpbGQpIHsgcmV0dXJuIHRoaXMuX3BhcmVudC5pbnNl
cnRCZWZvcmUoY2hpbGQsIHRoaXMuX25leHQpOyB9LAorICBpbnNlcnRCZWZvcmU6IGZ1bmN0aW9u
KGNoaWxkLCBuZXh0KSB7IHJldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKGNoaWxkLCBu
ZXh0KTsgfSwKKyAgcXVlcnlTZWxlY3RvcjogZnVuY3Rpb24oc2VsZWN0b3IpIHsgcmV0dXJuIHRo
aXMuX3BhcmVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTsgfSwKKyAgcXVlcnlTZWxlY3RvckFs
bDogZnVuY3Rpb24oc2VsZWN0b3IpIHsgcmV0dXJuIHRoaXMuX3BhcmVudC5xdWVyeVNlbGVjdG9y
QWxsKHNlbGVjdG9yKTsgfQorfTsKKworZnVuY3Rpb24gY29uc3RhbnQkMSh4KSB7CisgIHJldHVy
biBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKwordmFyIGtleVByZWZpeCA9
ICIkIjsgLy8gUHJvdGVjdCBhZ2FpbnN0IGtleXMgbGlrZSDigJxfX3Byb3RvX1/igJ0uCisKK2Z1
bmN0aW9uIGJpbmRJbmRleChwYXJlbnQsIGdyb3VwLCBlbnRlciwgdXBkYXRlLCBleGl0LCBkYXRh
KSB7CisgIHZhciBpID0gMCwKKyAgICAgIG5vZGUsCisgICAgICBncm91cExlbmd0aCA9IGdyb3Vw
Lmxlbmd0aCwKKyAgICAgIGRhdGFMZW5ndGggPSBkYXRhLmxlbmd0aDsKKworICAvLyBQdXQgYW55
IG5vbi1udWxsIG5vZGVzIHRoYXQgZml0IGludG8gdXBkYXRlLgorICAvLyBQdXQgYW55IG51bGwg
bm9kZXMgaW50byBlbnRlci4KKyAgLy8gUHV0IGFueSByZW1haW5pbmcgZGF0YSBpbnRvIGVudGVy
LgorICBmb3IgKDsgaSA8IGRhdGFMZW5ndGg7ICsraSkgeworICAgIGlmIChub2RlID0gZ3JvdXBb
aV0pIHsKKyAgICAgIG5vZGUuX19kYXRhX18gPSBkYXRhW2ldOworICAgICAgdXBkYXRlW2ldID0g
bm9kZTsKKyAgICB9IGVsc2UgeworICAgICAgZW50ZXJbaV0gPSBuZXcgRW50ZXJOb2RlKHBhcmVu
dCwgZGF0YVtpXSk7CisgICAgfQorICB9CisKKyAgLy8gUHV0IGFueSBub24tbnVsbCBub2RlcyB0
aGF0IGRvbuKAmXQgZml0IGludG8gZXhpdC4KKyAgZm9yICg7IGkgPCBncm91cExlbmd0aDsgKytp
KSB7CisgICAgaWYgKG5vZGUgPSBncm91cFtpXSkgeworICAgICAgZXhpdFtpXSA9IG5vZGU7Cisg
ICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIGJpbmRLZXkocGFyZW50LCBncm91cCwgZW50ZXIsIHVw
ZGF0ZSwgZXhpdCwgZGF0YSwga2V5KSB7CisgIHZhciBpLAorICAgICAgbm9kZSwKKyAgICAgIG5v
ZGVCeUtleVZhbHVlID0ge30sCisgICAgICBncm91cExlbmd0aCA9IGdyb3VwLmxlbmd0aCwKKyAg
ICAgIGRhdGFMZW5ndGggPSBkYXRhLmxlbmd0aCwKKyAgICAgIGtleVZhbHVlcyA9IG5ldyBBcnJh
eShncm91cExlbmd0aCksCisgICAgICBrZXlWYWx1ZTsKKworICAvLyBDb21wdXRlIHRoZSBrZXkg
Zm9yIGVhY2ggbm9kZS4KKyAgLy8gSWYgbXVsdGlwbGUgbm9kZXMgaGF2ZSB0aGUgc2FtZSBrZXks
IHRoZSBkdXBsaWNhdGVzIGFyZSBhZGRlZCB0byBleGl0LgorICBmb3IgKGkgPSAwOyBpIDwgZ3Jv
dXBMZW5ndGg7ICsraSkgeworICAgIGlmIChub2RlID0gZ3JvdXBbaV0pIHsKKyAgICAgIGtleVZh
bHVlc1tpXSA9IGtleVZhbHVlID0ga2V5UHJlZml4ICsga2V5LmNhbGwobm9kZSwgbm9kZS5fX2Rh
dGFfXywgaSwgZ3JvdXApOworICAgICAgaWYgKGtleVZhbHVlIGluIG5vZGVCeUtleVZhbHVlKSB7
CisgICAgICAgIGV4aXRbaV0gPSBub2RlOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgbm9kZUJ5
S2V5VmFsdWVba2V5VmFsdWVdID0gbm9kZTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICAvLyBD
b21wdXRlIHRoZSBrZXkgZm9yIGVhY2ggZGF0dW0uCisgIC8vIElmIHRoZXJlIGEgbm9kZSBhc3Nv
Y2lhdGVkIHdpdGggdGhpcyBrZXksIGpvaW4gYW5kIGFkZCBpdCB0byB1cGRhdGUuCisgIC8vIElm
IHRoZXJlIGlzIG5vdCAob3IgdGhlIGtleSBpcyBhIGR1cGxpY2F0ZSksIGFkZCBpdCB0byBlbnRl
ci4KKyAgZm9yIChpID0gMDsgaSA8IGRhdGFMZW5ndGg7ICsraSkgeworICAgIGtleVZhbHVlID0g
a2V5UHJlZml4ICsga2V5LmNhbGwocGFyZW50LCBkYXRhW2ldLCBpLCBkYXRhKTsKKyAgICBpZiAo
bm9kZSA9IG5vZGVCeUtleVZhbHVlW2tleVZhbHVlXSkgeworICAgICAgdXBkYXRlW2ldID0gbm9k
ZTsKKyAgICAgIG5vZGUuX19kYXRhX18gPSBkYXRhW2ldOworICAgICAgbm9kZUJ5S2V5VmFsdWVb
a2V5VmFsdWVdID0gbnVsbDsKKyAgICB9IGVsc2UgeworICAgICAgZW50ZXJbaV0gPSBuZXcgRW50
ZXJOb2RlKHBhcmVudCwgZGF0YVtpXSk7CisgICAgfQorICB9CisKKyAgLy8gQWRkIGFueSByZW1h
aW5pbmcgbm9kZXMgdGhhdCB3ZXJlIG5vdCBib3VuZCB0byBkYXRhIHRvIGV4aXQuCisgIGZvciAo
aSA9IDA7IGkgPCBncm91cExlbmd0aDsgKytpKSB7CisgICAgaWYgKChub2RlID0gZ3JvdXBbaV0p
ICYmIChub2RlQnlLZXlWYWx1ZVtrZXlWYWx1ZXNbaV1dID09PSBub2RlKSkgeworICAgICAgZXhp
dFtpXSA9IG5vZGU7CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9kYXRhKHZh
bHVlLCBrZXkpIHsKKyAgaWYgKCF2YWx1ZSkgeworICAgIGRhdGEgPSBuZXcgQXJyYXkodGhpcy5z
aXplKCkpLCBqID0gLTE7CisgICAgdGhpcy5lYWNoKGZ1bmN0aW9uKGQpIHsgZGF0YVsrK2pdID0g
ZDsgfSk7CisgICAgcmV0dXJuIGRhdGE7CisgIH0KKworICB2YXIgYmluZCA9IGtleSA/IGJpbmRL
ZXkgOiBiaW5kSW5kZXgsCisgICAgICBwYXJlbnRzID0gdGhpcy5fcGFyZW50cywKKyAgICAgIGdy
b3VwcyA9IHRoaXMuX2dyb3VwczsKKworICBpZiAodHlwZW9mIHZhbHVlICE9PSAiZnVuY3Rpb24i
KSB2YWx1ZSA9IGNvbnN0YW50JDEodmFsdWUpOworCisgIGZvciAodmFyIG0gPSBncm91cHMubGVu
Z3RoLCB1cGRhdGUgPSBuZXcgQXJyYXkobSksIGVudGVyID0gbmV3IEFycmF5KG0pLCBleGl0ID0g
bmV3IEFycmF5KG0pLCBqID0gMDsgaiA8IG07ICsraikgeworICAgIHZhciBwYXJlbnQgPSBwYXJl
bnRzW2pdLAorICAgICAgICBncm91cCA9IGdyb3Vwc1tqXSwKKyAgICAgICAgZ3JvdXBMZW5ndGgg
PSBncm91cC5sZW5ndGgsCisgICAgICAgIGRhdGEgPSB2YWx1ZS5jYWxsKHBhcmVudCwgcGFyZW50
ICYmIHBhcmVudC5fX2RhdGFfXywgaiwgcGFyZW50cyksCisgICAgICAgIGRhdGFMZW5ndGggPSBk
YXRhLmxlbmd0aCwKKyAgICAgICAgZW50ZXJHcm91cCA9IGVudGVyW2pdID0gbmV3IEFycmF5KGRh
dGFMZW5ndGgpLAorICAgICAgICB1cGRhdGVHcm91cCA9IHVwZGF0ZVtqXSA9IG5ldyBBcnJheShk
YXRhTGVuZ3RoKSwKKyAgICAgICAgZXhpdEdyb3VwID0gZXhpdFtqXSA9IG5ldyBBcnJheShncm91
cExlbmd0aCk7CisKKyAgICBiaW5kKHBhcmVudCwgZ3JvdXAsIGVudGVyR3JvdXAsIHVwZGF0ZUdy
b3VwLCBleGl0R3JvdXAsIGRhdGEsIGtleSk7CisKKyAgICAvLyBOb3cgY29ubmVjdCB0aGUgZW50
ZXIgbm9kZXMgdG8gdGhlaXIgZm9sbG93aW5nIHVwZGF0ZSBub2RlLCBzdWNoIHRoYXQKKyAgICAv
LyBhcHBlbmRDaGlsZCBjYW4gaW5zZXJ0IHRoZSBtYXRlcmlhbGl6ZWQgZW50ZXIgbm9kZSBiZWZv
cmUgdGhpcyBub2RlLAorICAgIC8vIHJhdGhlciB0aGFuIGF0IHRoZSBlbmQgb2YgdGhlIHBhcmVu
dCBub2RlLgorICAgIGZvciAodmFyIGkwID0gMCwgaTEgPSAwLCBwcmV2aW91cywgbmV4dDsgaTAg
PCBkYXRhTGVuZ3RoOyArK2kwKSB7CisgICAgICBpZiAocHJldmlvdXMgPSBlbnRlckdyb3VwW2kw
XSkgeworICAgICAgICBpZiAoaTAgPj0gaTEpIGkxID0gaTAgKyAxOworICAgICAgICB3aGlsZSAo
IShuZXh0ID0gdXBkYXRlR3JvdXBbaTFdKSAmJiArK2kxIDwgZGF0YUxlbmd0aCk7CisgICAgICAg
IHByZXZpb3VzLl9uZXh0ID0gbmV4dCB8fCBudWxsOworICAgICAgfQorICAgIH0KKyAgfQorCisg
IHVwZGF0ZSA9IG5ldyBTZWxlY3Rpb24odXBkYXRlLCBwYXJlbnRzKTsKKyAgdXBkYXRlLl9lbnRl
ciA9IGVudGVyOworICB1cGRhdGUuX2V4aXQgPSBleGl0OworICByZXR1cm4gdXBkYXRlOworfQor
CitmdW5jdGlvbiBzZWxlY3Rpb25fZXhpdCgpIHsKKyAgcmV0dXJuIG5ldyBTZWxlY3Rpb24odGhp
cy5fZXhpdCB8fCB0aGlzLl9ncm91cHMubWFwKHNwYXJzZSksIHRoaXMuX3BhcmVudHMpOworfQor
CitmdW5jdGlvbiBzZWxlY3Rpb25fam9pbihvbmVudGVyLCBvbnVwZGF0ZSwgb25leGl0KSB7Cisg
IHZhciBlbnRlciA9IHRoaXMuZW50ZXIoKSwgdXBkYXRlID0gdGhpcywgZXhpdCA9IHRoaXMuZXhp
dCgpOworICBlbnRlciA9IHR5cGVvZiBvbmVudGVyID09PSAiZnVuY3Rpb24iID8gb25lbnRlcihl
bnRlcikgOiBlbnRlci5hcHBlbmQob25lbnRlciArICIiKTsKKyAgaWYgKG9udXBkYXRlICE9IG51
bGwpIHVwZGF0ZSA9IG9udXBkYXRlKHVwZGF0ZSk7CisgIGlmIChvbmV4aXQgPT0gbnVsbCkgZXhp
dC5yZW1vdmUoKTsgZWxzZSBvbmV4aXQoZXhpdCk7CisgIHJldHVybiBlbnRlciAmJiB1cGRhdGUg
PyBlbnRlci5tZXJnZSh1cGRhdGUpLm9yZGVyKCkgOiB1cGRhdGU7Cit9CisKK2Z1bmN0aW9uIHNl
bGVjdGlvbl9tZXJnZShzZWxlY3Rpb24pIHsKKworICBmb3IgKHZhciBncm91cHMwID0gdGhpcy5f
Z3JvdXBzLCBncm91cHMxID0gc2VsZWN0aW9uLl9ncm91cHMsIG0wID0gZ3JvdXBzMC5sZW5ndGgs
IG0xID0gZ3JvdXBzMS5sZW5ndGgsIG0gPSBNYXRoLm1pbihtMCwgbTEpLCBtZXJnZXMgPSBuZXcg
QXJyYXkobTApLCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwMCA9IGdy
b3VwczBbal0sIGdyb3VwMSA9IGdyb3VwczFbal0sIG4gPSBncm91cDAubGVuZ3RoLCBtZXJnZSA9
IG1lcmdlc1tqXSA9IG5ldyBBcnJheShuKSwgbm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAg
ICAgIGlmIChub2RlID0gZ3JvdXAwW2ldIHx8IGdyb3VwMVtpXSkgeworICAgICAgICBtZXJnZVtp
XSA9IG5vZGU7CisgICAgICB9CisgICAgfQorICB9CisKKyAgZm9yICg7IGogPCBtMDsgKytqKSB7
CisgICAgbWVyZ2VzW2pdID0gZ3JvdXBzMFtqXTsKKyAgfQorCisgIHJldHVybiBuZXcgU2VsZWN0
aW9uKG1lcmdlcywgdGhpcy5fcGFyZW50cyk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9vcmRl
cigpIHsKKworICBmb3IgKHZhciBncm91cHMgPSB0aGlzLl9ncm91cHMsIGogPSAtMSwgbSA9IGdy
b3Vwcy5sZW5ndGg7ICsraiA8IG07KSB7CisgICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNbal0s
IGkgPSBncm91cC5sZW5ndGggLSAxLCBuZXh0ID0gZ3JvdXBbaV0sIG5vZGU7IC0taSA+PSAwOykg
eworICAgICAgaWYgKG5vZGUgPSBncm91cFtpXSkgeworICAgICAgICBpZiAobmV4dCAmJiBub2Rl
LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG5leHQpIF4gNCkgbmV4dC5wYXJlbnROb2RlLmluc2Vy
dEJlZm9yZShub2RlLCBuZXh0KTsKKyAgICAgICAgbmV4dCA9IG5vZGU7CisgICAgICB9CisgICAg
fQorICB9CisKKyAgcmV0dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9zb3J0KGNv
bXBhcmUpIHsKKyAgaWYgKCFjb21wYXJlKSBjb21wYXJlID0gYXNjZW5kaW5nJDE7CisKKyAgZnVu
Y3Rpb24gY29tcGFyZU5vZGUoYSwgYikgeworICAgIHJldHVybiBhICYmIGIgPyBjb21wYXJlKGEu
X19kYXRhX18sIGIuX19kYXRhX18pIDogIWEgLSAhYjsKKyAgfQorCisgIGZvciAodmFyIGdyb3Vw
cyA9IHRoaXMuX2dyb3VwcywgbSA9IGdyb3Vwcy5sZW5ndGgsIHNvcnRncm91cHMgPSBuZXcgQXJy
YXkobSksIGogPSAwOyBqIDwgbTsgKytqKSB7CisgICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNb
al0sIG4gPSBncm91cC5sZW5ndGgsIHNvcnRncm91cCA9IHNvcnRncm91cHNbal0gPSBuZXcgQXJy
YXkobiksIG5vZGUsIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAobm9kZSA9IGdyb3Vw
W2ldKSB7CisgICAgICAgIHNvcnRncm91cFtpXSA9IG5vZGU7CisgICAgICB9CisgICAgfQorICAg
IHNvcnRncm91cC5zb3J0KGNvbXBhcmVOb2RlKTsKKyAgfQorCisgIHJldHVybiBuZXcgU2VsZWN0
aW9uKHNvcnRncm91cHMsIHRoaXMuX3BhcmVudHMpLm9yZGVyKCk7Cit9CisKK2Z1bmN0aW9uIGFz
Y2VuZGluZyQxKGEsIGIpIHsKKyAgcmV0dXJuIGEgPCBiID8gLTEgOiBhID4gYiA/IDEgOiBhID49
IGIgPyAwIDogTmFOOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fY2FsbCgpIHsKKyAgdmFyIGNh
bGxiYWNrID0gYXJndW1lbnRzWzBdOworICBhcmd1bWVudHNbMF0gPSB0aGlzOworICBjYWxsYmFj
ay5hcHBseShudWxsLCBhcmd1bWVudHMpOworICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24g
c2VsZWN0aW9uX25vZGVzKCkgeworICB2YXIgbm9kZXMgPSBuZXcgQXJyYXkodGhpcy5zaXplKCkp
LCBpID0gLTE7CisgIHRoaXMuZWFjaChmdW5jdGlvbigpIHsgbm9kZXNbKytpXSA9IHRoaXM7IH0p
OworICByZXR1cm4gbm9kZXM7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9ub2RlKCkgeworCisg
IGZvciAodmFyIGdyb3VwcyA9IHRoaXMuX2dyb3VwcywgaiA9IDAsIG0gPSBncm91cHMubGVuZ3Ro
OyBqIDwgbTsgKytqKSB7CisgICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNbal0sIGkgPSAwLCBu
ID0gZ3JvdXAubGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgICB2YXIgbm9kZSA9IGdyb3VwW2ld
OworICAgICAgaWYgKG5vZGUpIHJldHVybiBub2RlOworICAgIH0KKyAgfQorCisgIHJldHVybiBu
dWxsOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fc2l6ZSgpIHsKKyAgdmFyIHNpemUgPSAwOwor
ICB0aGlzLmVhY2goZnVuY3Rpb24oKSB7ICsrc2l6ZTsgfSk7CisgIHJldHVybiBzaXplOworfQor
CitmdW5jdGlvbiBzZWxlY3Rpb25fZW1wdHkoKSB7CisgIHJldHVybiAhdGhpcy5ub2RlKCk7Cit9
CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9lYWNoKGNhbGxiYWNrKSB7CisKKyAgZm9yICh2YXIgZ3Jv
dXBzID0gdGhpcy5fZ3JvdXBzLCBqID0gMCwgbSA9IGdyb3Vwcy5sZW5ndGg7IGogPCBtOyArK2op
IHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdyb3Vwc1tqXSwgaSA9IDAsIG4gPSBncm91cC5sZW5n
dGgsIG5vZGU7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChub2RlID0gZ3JvdXBbaV0pIGNhbGxi
YWNrLmNhbGwobm9kZSwgbm9kZS5fX2RhdGFfXywgaSwgZ3JvdXApOworICAgIH0KKyAgfQorCisg
IHJldHVybiB0aGlzOworfQorCitmdW5jdGlvbiBhdHRyUmVtb3ZlKG5hbWUpIHsKKyAgcmV0dXJu
IGZ1bmN0aW9uKCkgeworICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpOworICB9OworfQor
CitmdW5jdGlvbiBhdHRyUmVtb3ZlTlMoZnVsbG5hbWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkg
eworICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlTlMoZnVsbG5hbWUuc3BhY2UsIGZ1bGxuYW1lLmxv
Y2FsKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0ckNvbnN0YW50KG5hbWUsIHZhbHVlKSB7Cisg
IHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLnNldEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7
CisgIH07Cit9CisKK2Z1bmN0aW9uIGF0dHJDb25zdGFudE5TKGZ1bGxuYW1lLCB2YWx1ZSkgewor
ICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5zZXRBdHRyaWJ1dGVOUyhmdWxsbmFtZS5z
cGFjZSwgZnVsbG5hbWUubG9jYWwsIHZhbHVlKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0ckZ1
bmN0aW9uKG5hbWUsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdiA9
IHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKHYgPT0gbnVsbCkgdGhpcy5y
ZW1vdmVBdHRyaWJ1dGUobmFtZSk7CisgICAgZWxzZSB0aGlzLnNldEF0dHJpYnV0ZShuYW1lLCB2
KTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0ckZ1bmN0aW9uTlMoZnVsbG5hbWUsIHZhbHVlKSB7
CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdiA9IHZhbHVlLmFwcGx5KHRoaXMsIGFy
Z3VtZW50cyk7CisgICAgaWYgKHYgPT0gbnVsbCkgdGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyhmdWxs
bmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWwpOworICAgIGVsc2UgdGhpcy5zZXRBdHRyaWJ1dGVO
UyhmdWxsbmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWwsIHYpOworICB9OworfQorCitmdW5jdGlv
biBzZWxlY3Rpb25fYXR0cihuYW1lLCB2YWx1ZSkgeworICB2YXIgZnVsbG5hbWUgPSBuYW1lc3Bh
Y2UobmFtZSk7CisKKyAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7CisgICAgdmFyIG5vZGUg
PSB0aGlzLm5vZGUoKTsKKyAgICByZXR1cm4gZnVsbG5hbWUubG9jYWwKKyAgICAgICAgPyBub2Rl
LmdldEF0dHJpYnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCkKKyAgICAgICAg
OiBub2RlLmdldEF0dHJpYnV0ZShmdWxsbmFtZSk7CisgIH0KKworICByZXR1cm4gdGhpcy5lYWNo
KCh2YWx1ZSA9PSBudWxsCisgICAgICA/IChmdWxsbmFtZS5sb2NhbCA/IGF0dHJSZW1vdmVOUyA6
IGF0dHJSZW1vdmUpIDogKHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAgICAgPyAoZnVs
bG5hbWUubG9jYWwgPyBhdHRyRnVuY3Rpb25OUyA6IGF0dHJGdW5jdGlvbikKKyAgICAgIDogKGZ1
bGxuYW1lLmxvY2FsID8gYXR0ckNvbnN0YW50TlMgOiBhdHRyQ29uc3RhbnQpKSkoZnVsbG5hbWUs
IHZhbHVlKSk7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRWaWV3KG5vZGUpIHsKKyAgcmV0dXJuIChu
b2RlLm93bmVyRG9jdW1lbnQgJiYgbm9kZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSAvLyBu
b2RlIGlzIGEgTm9kZQorICAgICAgfHwgKG5vZGUuZG9jdW1lbnQgJiYgbm9kZSkgLy8gbm9kZSBp
cyBhIFdpbmRvdworICAgICAgfHwgbm9kZS5kZWZhdWx0VmlldzsgLy8gbm9kZSBpcyBhIERvY3Vt
ZW50Cit9CisKK2Z1bmN0aW9uIHN0eWxlUmVtb3ZlKG5hbWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9u
KCkgeworICAgIHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkobmFtZSk7CisgIH07Cit9CisKK2Z1
bmN0aW9uIHN0eWxlQ29uc3RhbnQobmFtZSwgdmFsdWUsIHByaW9yaXR5KSB7CisgIHJldHVybiBm
dW5jdGlvbigpIHsKKyAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KG5hbWUsIHZhbHVlLCBwcmlv
cml0eSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHN0eWxlRnVuY3Rpb24obmFtZSwgdmFsdWUsIHBy
aW9yaXR5KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdiA9IHZhbHVlLmFwcGx5
KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKHYgPT0gbnVsbCkgdGhpcy5zdHlsZS5yZW1vdmVQ
cm9wZXJ0eShuYW1lKTsKKyAgICBlbHNlIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkobmFtZSwgdiwg
cHJpb3JpdHkpOworICB9OworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fc3R5bGUobmFtZSwgdmFs
dWUsIHByaW9yaXR5KSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID4gMQorICAgICAgPyB0
aGlzLmVhY2goKHZhbHVlID09IG51bGwKKyAgICAgICAgICAgID8gc3R5bGVSZW1vdmUgOiB0eXBl
b2YgdmFsdWUgPT09ICJmdW5jdGlvbiIKKyAgICAgICAgICAgID8gc3R5bGVGdW5jdGlvbgorICAg
ICAgICAgICAgOiBzdHlsZUNvbnN0YW50KShuYW1lLCB2YWx1ZSwgcHJpb3JpdHkgPT0gbnVsbCA/
ICIiIDogcHJpb3JpdHkpKQorICAgICAgOiBzdHlsZVZhbHVlKHRoaXMubm9kZSgpLCBuYW1lKTsK
K30KKworZnVuY3Rpb24gc3R5bGVWYWx1ZShub2RlLCBuYW1lKSB7CisgIHJldHVybiBub2RlLnN0
eWxlLmdldFByb3BlcnR5VmFsdWUobmFtZSkKKyAgICAgIHx8IGRlZmF1bHRWaWV3KG5vZGUpLmdl
dENvbXB1dGVkU3R5bGUobm9kZSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShuYW1lKTsKK30KKwor
ZnVuY3Rpb24gcHJvcGVydHlSZW1vdmUobmFtZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7Cisg
ICAgZGVsZXRlIHRoaXNbbmFtZV07CisgIH07Cit9CisKK2Z1bmN0aW9uIHByb3BlcnR5Q29uc3Rh
bnQobmFtZSwgdmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXNbbmFtZV0g
PSB2YWx1ZTsKKyAgfTsKK30KKworZnVuY3Rpb24gcHJvcGVydHlGdW5jdGlvbihuYW1lLCB2YWx1
ZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHYgPSB2YWx1ZS5hcHBseSh0aGlz
LCBhcmd1bWVudHMpOworICAgIGlmICh2ID09IG51bGwpIGRlbGV0ZSB0aGlzW25hbWVdOworICAg
IGVsc2UgdGhpc1tuYW1lXSA9IHY7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9wcm9w
ZXJ0eShuYW1lLCB2YWx1ZSkgeworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA+IDEKKyAgICAg
ID8gdGhpcy5lYWNoKCh2YWx1ZSA9PSBudWxsCisgICAgICAgICAgPyBwcm9wZXJ0eVJlbW92ZSA6
IHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAgICAgICAgID8gcHJvcGVydHlGdW5jdGlv
bgorICAgICAgICAgIDogcHJvcGVydHlDb25zdGFudCkobmFtZSwgdmFsdWUpKQorICAgICAgOiB0
aGlzLm5vZGUoKVtuYW1lXTsKK30KKworZnVuY3Rpb24gY2xhc3NBcnJheShzdHJpbmcpIHsKKyAg
cmV0dXJuIHN0cmluZy50cmltKCkuc3BsaXQoL158XHMrLyk7Cit9CisKK2Z1bmN0aW9uIGNsYXNz
TGlzdChub2RlKSB7CisgIHJldHVybiBub2RlLmNsYXNzTGlzdCB8fCBuZXcgQ2xhc3NMaXN0KG5v
ZGUpOworfQorCitmdW5jdGlvbiBDbGFzc0xpc3Qobm9kZSkgeworICB0aGlzLl9ub2RlID0gbm9k
ZTsKKyAgdGhpcy5fbmFtZXMgPSBjbGFzc0FycmF5KG5vZGUuZ2V0QXR0cmlidXRlKCJjbGFzcyIp
IHx8ICIiKTsKK30KKworQ2xhc3NMaXN0LnByb3RvdHlwZSA9IHsKKyAgYWRkOiBmdW5jdGlvbihu
YW1lKSB7CisgICAgdmFyIGkgPSB0aGlzLl9uYW1lcy5pbmRleE9mKG5hbWUpOworICAgIGlmIChp
IDwgMCkgeworICAgICAgdGhpcy5fbmFtZXMucHVzaChuYW1lKTsKKyAgICAgIHRoaXMuX25vZGUu
c2V0QXR0cmlidXRlKCJjbGFzcyIsIHRoaXMuX25hbWVzLmpvaW4oIiAiKSk7CisgICAgfQorICB9
LAorICByZW1vdmU6IGZ1bmN0aW9uKG5hbWUpIHsKKyAgICB2YXIgaSA9IHRoaXMuX25hbWVzLmlu
ZGV4T2YobmFtZSk7CisgICAgaWYgKGkgPj0gMCkgeworICAgICAgdGhpcy5fbmFtZXMuc3BsaWNl
KGksIDEpOworICAgICAgdGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgdGhpcy5fbmFt
ZXMuam9pbigiICIpKTsKKyAgICB9CisgIH0sCisgIGNvbnRhaW5zOiBmdW5jdGlvbihuYW1lKSB7
CisgICAgcmV0dXJuIHRoaXMuX25hbWVzLmluZGV4T2YobmFtZSkgPj0gMDsKKyAgfQorfTsKKwor
ZnVuY3Rpb24gY2xhc3NlZEFkZChub2RlLCBuYW1lcykgeworICB2YXIgbGlzdCA9IGNsYXNzTGlz
dChub2RlKSwgaSA9IC0xLCBuID0gbmFtZXMubGVuZ3RoOworICB3aGlsZSAoKytpIDwgbikgbGlz
dC5hZGQobmFtZXNbaV0pOworfQorCitmdW5jdGlvbiBjbGFzc2VkUmVtb3ZlKG5vZGUsIG5hbWVz
KSB7CisgIHZhciBsaXN0ID0gY2xhc3NMaXN0KG5vZGUpLCBpID0gLTEsIG4gPSBuYW1lcy5sZW5n
dGg7CisgIHdoaWxlICgrK2kgPCBuKSBsaXN0LnJlbW92ZShuYW1lc1tpXSk7Cit9CisKK2Z1bmN0
aW9uIGNsYXNzZWRUcnVlKG5hbWVzKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICBjbGFz
c2VkQWRkKHRoaXMsIG5hbWVzKTsKKyAgfTsKK30KKworZnVuY3Rpb24gY2xhc3NlZEZhbHNlKG5h
bWVzKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICBjbGFzc2VkUmVtb3ZlKHRoaXMsIG5h
bWVzKTsKKyAgfTsKK30KKworZnVuY3Rpb24gY2xhc3NlZEZ1bmN0aW9uKG5hbWVzLCB2YWx1ZSkg
eworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgKHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50
cykgPyBjbGFzc2VkQWRkIDogY2xhc3NlZFJlbW92ZSkodGhpcywgbmFtZXMpOworICB9OworfQor
CitmdW5jdGlvbiBzZWxlY3Rpb25fY2xhc3NlZChuYW1lLCB2YWx1ZSkgeworICB2YXIgbmFtZXMg
PSBjbGFzc0FycmF5KG5hbWUgKyAiIik7CisKKyAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7
CisgICAgdmFyIGxpc3QgPSBjbGFzc0xpc3QodGhpcy5ub2RlKCkpLCBpID0gLTEsIG4gPSBuYW1l
cy5sZW5ndGg7CisgICAgd2hpbGUgKCsraSA8IG4pIGlmICghbGlzdC5jb250YWlucyhuYW1lc1tp
XSkpIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgIHJldHVybiB0aGlz
LmVhY2goKHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAgICAgPyBjbGFzc2VkRnVuY3Rp
b24gOiB2YWx1ZQorICAgICAgPyBjbGFzc2VkVHJ1ZQorICAgICAgOiBjbGFzc2VkRmFsc2UpKG5h
bWVzLCB2YWx1ZSkpOworfQorCitmdW5jdGlvbiB0ZXh0UmVtb3ZlKCkgeworICB0aGlzLnRleHRD
b250ZW50ID0gIiI7Cit9CisKK2Z1bmN0aW9uIHRleHRDb25zdGFudCh2YWx1ZSkgeworICByZXR1
cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy50ZXh0Q29udGVudCA9IHZhbHVlOworICB9OworfQor
CitmdW5jdGlvbiB0ZXh0RnVuY3Rpb24odmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgewor
ICAgIHZhciB2ID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICB0aGlzLnRleHRD
b250ZW50ID0gdiA9PSBudWxsID8gIiIgOiB2OworICB9OworfQorCitmdW5jdGlvbiBzZWxlY3Rp
b25fdGV4dCh2YWx1ZSkgeworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aAorICAgICAgPyB0aGlz
LmVhY2godmFsdWUgPT0gbnVsbAorICAgICAgICAgID8gdGV4dFJlbW92ZSA6ICh0eXBlb2YgdmFs
dWUgPT09ICJmdW5jdGlvbiIKKyAgICAgICAgICA/IHRleHRGdW5jdGlvbgorICAgICAgICAgIDog
dGV4dENvbnN0YW50KSh2YWx1ZSkpCisgICAgICA6IHRoaXMubm9kZSgpLnRleHRDb250ZW50Owor
fQorCitmdW5jdGlvbiBodG1sUmVtb3ZlKCkgeworICB0aGlzLmlubmVySFRNTCA9ICIiOworfQor
CitmdW5jdGlvbiBodG1sQ29uc3RhbnQodmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgewor
ICAgIHRoaXMuaW5uZXJIVE1MID0gdmFsdWU7CisgIH07Cit9CisKK2Z1bmN0aW9uIGh0bWxGdW5j
dGlvbih2YWx1ZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHYgPSB2YWx1ZS5h
cHBseSh0aGlzLCBhcmd1bWVudHMpOworICAgIHRoaXMuaW5uZXJIVE1MID0gdiA9PSBudWxsID8g
IiIgOiB2OworICB9OworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25faHRtbCh2YWx1ZSkgeworICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aAorICAgICAgPyB0aGlzLmVhY2godmFsdWUgPT0gbnVsbAor
ICAgICAgICAgID8gaHRtbFJlbW92ZSA6ICh0eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIKKyAg
ICAgICAgICA/IGh0bWxGdW5jdGlvbgorICAgICAgICAgIDogaHRtbENvbnN0YW50KSh2YWx1ZSkp
CisgICAgICA6IHRoaXMubm9kZSgpLmlubmVySFRNTDsKK30KKworZnVuY3Rpb24gcmFpc2UoKSB7
CisgIGlmICh0aGlzLm5leHRTaWJsaW5nKSB0aGlzLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodGhp
cyk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9yYWlzZSgpIHsKKyAgcmV0dXJuIHRoaXMuZWFj
aChyYWlzZSk7Cit9CisKK2Z1bmN0aW9uIGxvd2VyKCkgeworICBpZiAodGhpcy5wcmV2aW91c1Np
YmxpbmcpIHRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcywgdGhpcy5wYXJlbnROb2Rl
LmZpcnN0Q2hpbGQpOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fbG93ZXIoKSB7CisgIHJldHVy
biB0aGlzLmVhY2gobG93ZXIpOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fYXBwZW5kKG5hbWUp
IHsKKyAgdmFyIGNyZWF0ZSA9IHR5cGVvZiBuYW1lID09PSAiZnVuY3Rpb24iID8gbmFtZSA6IGNy
ZWF0b3IobmFtZSk7CisgIHJldHVybiB0aGlzLnNlbGVjdChmdW5jdGlvbigpIHsKKyAgICByZXR1
cm4gdGhpcy5hcHBlbmRDaGlsZChjcmVhdGUuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7CisgIH0p
OworfQorCitmdW5jdGlvbiBjb25zdGFudE51bGwoKSB7CisgIHJldHVybiBudWxsOworfQorCitm
dW5jdGlvbiBzZWxlY3Rpb25faW5zZXJ0KG5hbWUsIGJlZm9yZSkgeworICB2YXIgY3JlYXRlID0g
dHlwZW9mIG5hbWUgPT09ICJmdW5jdGlvbiIgPyBuYW1lIDogY3JlYXRvcihuYW1lKSwKKyAgICAg
IHNlbGVjdCA9IGJlZm9yZSA9PSBudWxsID8gY29uc3RhbnROdWxsIDogdHlwZW9mIGJlZm9yZSA9
PT0gImZ1bmN0aW9uIiA/IGJlZm9yZSA6IHNlbGVjdG9yKGJlZm9yZSk7CisgIHJldHVybiB0aGlz
LnNlbGVjdChmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gdGhpcy5pbnNlcnRCZWZvcmUoY3JlYXRl
LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksIHNlbGVjdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8
IG51bGwpOworICB9KTsKK30KKworZnVuY3Rpb24gcmVtb3ZlKCkgeworICB2YXIgcGFyZW50ID0g
dGhpcy5wYXJlbnROb2RlOworICBpZiAocGFyZW50KSBwYXJlbnQucmVtb3ZlQ2hpbGQodGhpcyk7
Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9yZW1vdmUoKSB7CisgIHJldHVybiB0aGlzLmVhY2go
cmVtb3ZlKTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2Nsb25lU2hhbGxvdygpIHsKKyAgdmFy
IGNsb25lID0gdGhpcy5jbG9uZU5vZGUoZmFsc2UpLCBwYXJlbnQgPSB0aGlzLnBhcmVudE5vZGU7
CisgIHJldHVybiBwYXJlbnQgPyBwYXJlbnQuaW5zZXJ0QmVmb3JlKGNsb25lLCB0aGlzLm5leHRT
aWJsaW5nKSA6IGNsb25lOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fY2xvbmVEZWVwKCkgewor
ICB2YXIgY2xvbmUgPSB0aGlzLmNsb25lTm9kZSh0cnVlKSwgcGFyZW50ID0gdGhpcy5wYXJlbnRO
b2RlOworICByZXR1cm4gcGFyZW50ID8gcGFyZW50Lmluc2VydEJlZm9yZShjbG9uZSwgdGhpcy5u
ZXh0U2libGluZykgOiBjbG9uZTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2Nsb25lKGRlZXAp
IHsKKyAgcmV0dXJuIHRoaXMuc2VsZWN0KGRlZXAgPyBzZWxlY3Rpb25fY2xvbmVEZWVwIDogc2Vs
ZWN0aW9uX2Nsb25lU2hhbGxvdyk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9kYXR1bSh2YWx1
ZSkgeworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aAorICAgICAgPyB0aGlzLnByb3BlcnR5KCJf
X2RhdGFfXyIsIHZhbHVlKQorICAgICAgOiB0aGlzLm5vZGUoKS5fX2RhdGFfXzsKK30KKwordmFy
IGZpbHRlckV2ZW50cyA9IHt9OworCitleHBvcnRzLmV2ZW50ID0gbnVsbDsKKworaWYgKHR5cGVv
ZiBkb2N1bWVudCAhPT0gInVuZGVmaW5lZCIpIHsKKyAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5k
b2N1bWVudEVsZW1lbnQ7CisgIGlmICghKCJvbm1vdXNlZW50ZXIiIGluIGVsZW1lbnQpKSB7Cisg
ICAgZmlsdGVyRXZlbnRzID0ge21vdXNlZW50ZXI6ICJtb3VzZW92ZXIiLCBtb3VzZWxlYXZlOiAi
bW91c2VvdXQifTsKKyAgfQorfQorCitmdW5jdGlvbiBmaWx0ZXJDb250ZXh0TGlzdGVuZXIobGlz
dGVuZXIsIGluZGV4LCBncm91cCkgeworICBsaXN0ZW5lciA9IGNvbnRleHRMaXN0ZW5lcihsaXN0
ZW5lciwgaW5kZXgsIGdyb3VwKTsKKyAgcmV0dXJuIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgdmFy
IHJlbGF0ZWQgPSBldmVudC5yZWxhdGVkVGFyZ2V0OworICAgIGlmICghcmVsYXRlZCB8fCAocmVs
YXRlZCAhPT0gdGhpcyAmJiAhKHJlbGF0ZWQuY29tcGFyZURvY3VtZW50UG9zaXRpb24odGhpcykg
JiA4KSkpIHsKKyAgICAgIGxpc3RlbmVyLmNhbGwodGhpcywgZXZlbnQpOworICAgIH0KKyAgfTsK
K30KKworZnVuY3Rpb24gY29udGV4dExpc3RlbmVyKGxpc3RlbmVyLCBpbmRleCwgZ3JvdXApIHsK
KyAgcmV0dXJuIGZ1bmN0aW9uKGV2ZW50MSkgeworICAgIHZhciBldmVudDAgPSBleHBvcnRzLmV2
ZW50OyAvLyBFdmVudHMgY2FuIGJlIHJlZW50cmFudCAoZS5nLiwgZm9jdXMpLgorICAgIGV4cG9y
dHMuZXZlbnQgPSBldmVudDE7CisgICAgdHJ5IHsKKyAgICAgIGxpc3RlbmVyLmNhbGwodGhpcywg
dGhpcy5fX2RhdGFfXywgaW5kZXgsIGdyb3VwKTsKKyAgICB9IGZpbmFsbHkgeworICAgICAgZXhw
b3J0cy5ldmVudCA9IGV2ZW50MDsKKyAgICB9CisgIH07Cit9CisKK2Z1bmN0aW9uIHBhcnNlVHlw
ZW5hbWVzJDEodHlwZW5hbWVzKSB7CisgIHJldHVybiB0eXBlbmFtZXMudHJpbSgpLnNwbGl0KC9e
fFxzKy8pLm1hcChmdW5jdGlvbih0KSB7CisgICAgdmFyIG5hbWUgPSAiIiwgaSA9IHQuaW5kZXhP
ZigiLiIpOworICAgIGlmIChpID49IDApIG5hbWUgPSB0LnNsaWNlKGkgKyAxKSwgdCA9IHQuc2xp
Y2UoMCwgaSk7CisgICAgcmV0dXJuIHt0eXBlOiB0LCBuYW1lOiBuYW1lfTsKKyAgfSk7Cit9CisK
K2Z1bmN0aW9uIG9uUmVtb3ZlKHR5cGVuYW1lKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAg
ICB2YXIgb24gPSB0aGlzLl9fb247CisgICAgaWYgKCFvbikgcmV0dXJuOworICAgIGZvciAodmFy
IGogPSAwLCBpID0gLTEsIG0gPSBvbi5sZW5ndGgsIG87IGogPCBtOyArK2opIHsKKyAgICAgIGlm
IChvID0gb25bal0sICghdHlwZW5hbWUudHlwZSB8fCBvLnR5cGUgPT09IHR5cGVuYW1lLnR5cGUp
ICYmIG8ubmFtZSA9PT0gdHlwZW5hbWUubmFtZSkgeworICAgICAgICB0aGlzLnJlbW92ZUV2ZW50
TGlzdGVuZXIoby50eXBlLCBvLmxpc3RlbmVyLCBvLmNhcHR1cmUpOworICAgICAgfSBlbHNlIHsK
KyAgICAgICAgb25bKytpXSA9IG87CisgICAgICB9CisgICAgfQorICAgIGlmICgrK2kpIG9uLmxl
bmd0aCA9IGk7CisgICAgZWxzZSBkZWxldGUgdGhpcy5fX29uOworICB9OworfQorCitmdW5jdGlv
biBvbkFkZCh0eXBlbmFtZSwgdmFsdWUsIGNhcHR1cmUpIHsKKyAgdmFyIHdyYXAgPSBmaWx0ZXJF
dmVudHMuaGFzT3duUHJvcGVydHkodHlwZW5hbWUudHlwZSkgPyBmaWx0ZXJDb250ZXh0TGlzdGVu
ZXIgOiBjb250ZXh0TGlzdGVuZXI7CisgIHJldHVybiBmdW5jdGlvbihkLCBpLCBncm91cCkgewor
ICAgIHZhciBvbiA9IHRoaXMuX19vbiwgbywgbGlzdGVuZXIgPSB3cmFwKHZhbHVlLCBpLCBncm91
cCk7CisgICAgaWYgKG9uKSBmb3IgKHZhciBqID0gMCwgbSA9IG9uLmxlbmd0aDsgaiA8IG07ICsr
aikgeworICAgICAgaWYgKChvID0gb25bal0pLnR5cGUgPT09IHR5cGVuYW1lLnR5cGUgJiYgby5u
YW1lID09PSB0eXBlbmFtZS5uYW1lKSB7CisgICAgICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5l
cihvLnR5cGUsIG8ubGlzdGVuZXIsIG8uY2FwdHVyZSk7CisgICAgICAgIHRoaXMuYWRkRXZlbnRM
aXN0ZW5lcihvLnR5cGUsIG8ubGlzdGVuZXIgPSBsaXN0ZW5lciwgby5jYXB0dXJlID0gY2FwdHVy
ZSk7CisgICAgICAgIG8udmFsdWUgPSB2YWx1ZTsKKyAgICAgICAgcmV0dXJuOworICAgICAgfQor
ICAgIH0KKyAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIodHlwZW5hbWUudHlwZSwgbGlzdGVuZXIs
IGNhcHR1cmUpOworICAgIG8gPSB7dHlwZTogdHlwZW5hbWUudHlwZSwgbmFtZTogdHlwZW5hbWUu
bmFtZSwgdmFsdWU6IHZhbHVlLCBsaXN0ZW5lcjogbGlzdGVuZXIsIGNhcHR1cmU6IGNhcHR1cmV9
OworICAgIGlmICghb24pIHRoaXMuX19vbiA9IFtvXTsKKyAgICBlbHNlIG9uLnB1c2gobyk7Cisg
IH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9vbih0eXBlbmFtZSwgdmFsdWUsIGNhcHR1cmUp
IHsKKyAgdmFyIHR5cGVuYW1lcyA9IHBhcnNlVHlwZW5hbWVzJDEodHlwZW5hbWUgKyAiIiksIGks
IG4gPSB0eXBlbmFtZXMubGVuZ3RoLCB0OworCisgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikg
eworICAgIHZhciBvbiA9IHRoaXMubm9kZSgpLl9fb247CisgICAgaWYgKG9uKSBmb3IgKHZhciBq
ID0gMCwgbSA9IG9uLmxlbmd0aCwgbzsgaiA8IG07ICsraikgeworICAgICAgZm9yIChpID0gMCwg
byA9IG9uW2pdOyBpIDwgbjsgKytpKSB7CisgICAgICAgIGlmICgodCA9IHR5cGVuYW1lc1tpXSku
dHlwZSA9PT0gby50eXBlICYmIHQubmFtZSA9PT0gby5uYW1lKSB7CisgICAgICAgICAgcmV0dXJu
IG8udmFsdWU7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuOworICB9CisK
KyAgb24gPSB2YWx1ZSA/IG9uQWRkIDogb25SZW1vdmU7CisgIGlmIChjYXB0dXJlID09IG51bGwp
IGNhcHR1cmUgPSBmYWxzZTsKKyAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgdGhpcy5lYWNoKG9u
KHR5cGVuYW1lc1tpXSwgdmFsdWUsIGNhcHR1cmUpKTsKKyAgcmV0dXJuIHRoaXM7Cit9CisKK2Z1
bmN0aW9uIGN1c3RvbUV2ZW50KGV2ZW50MSwgbGlzdGVuZXIsIHRoYXQsIGFyZ3MpIHsKKyAgdmFy
IGV2ZW50MCA9IGV4cG9ydHMuZXZlbnQ7CisgIGV2ZW50MS5zb3VyY2VFdmVudCA9IGV4cG9ydHMu
ZXZlbnQ7CisgIGV4cG9ydHMuZXZlbnQgPSBldmVudDE7CisgIHRyeSB7CisgICAgcmV0dXJuIGxp
c3RlbmVyLmFwcGx5KHRoYXQsIGFyZ3MpOworICB9IGZpbmFsbHkgeworICAgIGV4cG9ydHMuZXZl
bnQgPSBldmVudDA7CisgIH0KK30KKworZnVuY3Rpb24gZGlzcGF0Y2hFdmVudChub2RlLCB0eXBl
LCBwYXJhbXMpIHsKKyAgdmFyIHdpbmRvdyA9IGRlZmF1bHRWaWV3KG5vZGUpLAorICAgICAgZXZl
bnQgPSB3aW5kb3cuQ3VzdG9tRXZlbnQ7CisKKyAgaWYgKHR5cGVvZiBldmVudCA9PT0gImZ1bmN0
aW9uIikgeworICAgIGV2ZW50ID0gbmV3IGV2ZW50KHR5cGUsIHBhcmFtcyk7CisgIH0gZWxzZSB7
CisgICAgZXZlbnQgPSB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50Iik7CisgICAg
aWYgKHBhcmFtcykgZXZlbnQuaW5pdEV2ZW50KHR5cGUsIHBhcmFtcy5idWJibGVzLCBwYXJhbXMu
Y2FuY2VsYWJsZSksIGV2ZW50LmRldGFpbCA9IHBhcmFtcy5kZXRhaWw7CisgICAgZWxzZSBldmVu
dC5pbml0RXZlbnQodHlwZSwgZmFsc2UsIGZhbHNlKTsKKyAgfQorCisgIG5vZGUuZGlzcGF0Y2hF
dmVudChldmVudCk7Cit9CisKK2Z1bmN0aW9uIGRpc3BhdGNoQ29uc3RhbnQodHlwZSwgcGFyYW1z
KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gZGlzcGF0Y2hFdmVudCh0aGlz
LCB0eXBlLCBwYXJhbXMpOworICB9OworfQorCitmdW5jdGlvbiBkaXNwYXRjaEZ1bmN0aW9uKHR5
cGUsIHBhcmFtcykgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGRpc3BhdGNo
RXZlbnQodGhpcywgdHlwZSwgcGFyYW1zLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpOworICB9Owor
fQorCitmdW5jdGlvbiBzZWxlY3Rpb25fZGlzcGF0Y2godHlwZSwgcGFyYW1zKSB7CisgIHJldHVy
biB0aGlzLmVhY2goKHR5cGVvZiBwYXJhbXMgPT09ICJmdW5jdGlvbiIKKyAgICAgID8gZGlzcGF0
Y2hGdW5jdGlvbgorICAgICAgOiBkaXNwYXRjaENvbnN0YW50KSh0eXBlLCBwYXJhbXMpKTsKK30K
KwordmFyIHJvb3QgPSBbbnVsbF07CisKK2Z1bmN0aW9uIFNlbGVjdGlvbihncm91cHMsIHBhcmVu
dHMpIHsKKyAgdGhpcy5fZ3JvdXBzID0gZ3JvdXBzOworICB0aGlzLl9wYXJlbnRzID0gcGFyZW50
czsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uKCkgeworICByZXR1cm4gbmV3IFNlbGVjdGlvbihb
W2RvY3VtZW50LmRvY3VtZW50RWxlbWVudF1dLCByb290KTsKK30KKworU2VsZWN0aW9uLnByb3Rv
dHlwZSA9IHNlbGVjdGlvbi5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBTZWxlY3Rpb24s
CisgIHNlbGVjdDogc2VsZWN0aW9uX3NlbGVjdCwKKyAgc2VsZWN0QWxsOiBzZWxlY3Rpb25fc2Vs
ZWN0QWxsLAorICBmaWx0ZXI6IHNlbGVjdGlvbl9maWx0ZXIsCisgIGRhdGE6IHNlbGVjdGlvbl9k
YXRhLAorICBlbnRlcjogc2VsZWN0aW9uX2VudGVyLAorICBleGl0OiBzZWxlY3Rpb25fZXhpdCwK
KyAgam9pbjogc2VsZWN0aW9uX2pvaW4sCisgIG1lcmdlOiBzZWxlY3Rpb25fbWVyZ2UsCisgIG9y
ZGVyOiBzZWxlY3Rpb25fb3JkZXIsCisgIHNvcnQ6IHNlbGVjdGlvbl9zb3J0LAorICBjYWxsOiBz
ZWxlY3Rpb25fY2FsbCwKKyAgbm9kZXM6IHNlbGVjdGlvbl9ub2RlcywKKyAgbm9kZTogc2VsZWN0
aW9uX25vZGUsCisgIHNpemU6IHNlbGVjdGlvbl9zaXplLAorICBlbXB0eTogc2VsZWN0aW9uX2Vt
cHR5LAorICBlYWNoOiBzZWxlY3Rpb25fZWFjaCwKKyAgYXR0cjogc2VsZWN0aW9uX2F0dHIsCisg
IHN0eWxlOiBzZWxlY3Rpb25fc3R5bGUsCisgIHByb3BlcnR5OiBzZWxlY3Rpb25fcHJvcGVydHks
CisgIGNsYXNzZWQ6IHNlbGVjdGlvbl9jbGFzc2VkLAorICB0ZXh0OiBzZWxlY3Rpb25fdGV4dCwK
KyAgaHRtbDogc2VsZWN0aW9uX2h0bWwsCisgIHJhaXNlOiBzZWxlY3Rpb25fcmFpc2UsCisgIGxv
d2VyOiBzZWxlY3Rpb25fbG93ZXIsCisgIGFwcGVuZDogc2VsZWN0aW9uX2FwcGVuZCwKKyAgaW5z
ZXJ0OiBzZWxlY3Rpb25faW5zZXJ0LAorICByZW1vdmU6IHNlbGVjdGlvbl9yZW1vdmUsCisgIGNs
b25lOiBzZWxlY3Rpb25fY2xvbmUsCisgIGRhdHVtOiBzZWxlY3Rpb25fZGF0dW0sCisgIG9uOiBz
ZWxlY3Rpb25fb24sCisgIGRpc3BhdGNoOiBzZWxlY3Rpb25fZGlzcGF0Y2gKK307CisKK2Z1bmN0
aW9uIHNlbGVjdChzZWxlY3RvcikgeworICByZXR1cm4gdHlwZW9mIHNlbGVjdG9yID09PSAic3Ry
aW5nIgorICAgICAgPyBuZXcgU2VsZWN0aW9uKFtbZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxl
Y3RvcildXSwgW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudF0pCisgICAgICA6IG5ldyBTZWxlY3Rp
b24oW1tzZWxlY3Rvcl1dLCByb290KTsKK30KKworZnVuY3Rpb24gY3JlYXRlKG5hbWUpIHsKKyAg
cmV0dXJuIHNlbGVjdChjcmVhdG9yKG5hbWUpLmNhbGwoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50
KSk7Cit9CisKK3ZhciBuZXh0SWQgPSAwOworCitmdW5jdGlvbiBsb2NhbCgpIHsKKyAgcmV0dXJu
IG5ldyBMb2NhbDsKK30KKworZnVuY3Rpb24gTG9jYWwoKSB7CisgIHRoaXMuXyA9ICJAIiArICgr
K25leHRJZCkudG9TdHJpbmcoMzYpOworfQorCitMb2NhbC5wcm90b3R5cGUgPSBsb2NhbC5wcm90
b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBMb2NhbCwKKyAgZ2V0OiBmdW5jdGlvbihub2RlKSB7
CisgICAgdmFyIGlkID0gdGhpcy5fOworICAgIHdoaWxlICghKGlkIGluIG5vZGUpKSBpZiAoIShu
b2RlID0gbm9kZS5wYXJlbnROb2RlKSkgcmV0dXJuOworICAgIHJldHVybiBub2RlW2lkXTsKKyAg
fSwKKyAgc2V0OiBmdW5jdGlvbihub2RlLCB2YWx1ZSkgeworICAgIHJldHVybiBub2RlW3RoaXMu
X10gPSB2YWx1ZTsKKyAgfSwKKyAgcmVtb3ZlOiBmdW5jdGlvbihub2RlKSB7CisgICAgcmV0dXJu
IHRoaXMuXyBpbiBub2RlICYmIGRlbGV0ZSBub2RlW3RoaXMuX107CisgIH0sCisgIHRvU3RyaW5n
OiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gdGhpcy5fOworICB9Cit9OworCitmdW5jdGlvbiBz
b3VyY2VFdmVudCgpIHsKKyAgdmFyIGN1cnJlbnQgPSBleHBvcnRzLmV2ZW50LCBzb3VyY2U7Cisg
IHdoaWxlIChzb3VyY2UgPSBjdXJyZW50LnNvdXJjZUV2ZW50KSBjdXJyZW50ID0gc291cmNlOwor
ICByZXR1cm4gY3VycmVudDsKK30KKworZnVuY3Rpb24gcG9pbnQobm9kZSwgZXZlbnQpIHsKKyAg
dmFyIHN2ZyA9IG5vZGUub3duZXJTVkdFbGVtZW50IHx8IG5vZGU7CisKKyAgaWYgKHN2Zy5jcmVh
dGVTVkdQb2ludCkgeworICAgIHZhciBwb2ludCA9IHN2Zy5jcmVhdGVTVkdQb2ludCgpOworICAg
IHBvaW50LnggPSBldmVudC5jbGllbnRYLCBwb2ludC55ID0gZXZlbnQuY2xpZW50WTsKKyAgICBw
b2ludCA9IHBvaW50Lm1hdHJpeFRyYW5zZm9ybShub2RlLmdldFNjcmVlbkNUTSgpLmludmVyc2Uo
KSk7CisgICAgcmV0dXJuIFtwb2ludC54LCBwb2ludC55XTsKKyAgfQorCisgIHZhciByZWN0ID0g
bm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgcmV0dXJuIFtldmVudC5jbGllbnRYIC0g
cmVjdC5sZWZ0IC0gbm9kZS5jbGllbnRMZWZ0LCBldmVudC5jbGllbnRZIC0gcmVjdC50b3AgLSBu
b2RlLmNsaWVudFRvcF07Cit9CisKK2Z1bmN0aW9uIG1vdXNlKG5vZGUpIHsKKyAgdmFyIGV2ZW50
ID0gc291cmNlRXZlbnQoKTsKKyAgaWYgKGV2ZW50LmNoYW5nZWRUb3VjaGVzKSBldmVudCA9IGV2
ZW50LmNoYW5nZWRUb3VjaGVzWzBdOworICByZXR1cm4gcG9pbnQobm9kZSwgZXZlbnQpOworfQor
CitmdW5jdGlvbiBzZWxlY3RBbGwoc2VsZWN0b3IpIHsKKyAgcmV0dXJuIHR5cGVvZiBzZWxlY3Rv
ciA9PT0gInN0cmluZyIKKyAgICAgID8gbmV3IFNlbGVjdGlvbihbZG9jdW1lbnQucXVlcnlTZWxl
Y3RvckFsbChzZWxlY3RvcildLCBbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSkKKyAgICAgIDog
bmV3IFNlbGVjdGlvbihbc2VsZWN0b3IgPT0gbnVsbCA/IFtdIDogc2VsZWN0b3JdLCByb290KTsK
K30KKworZnVuY3Rpb24gdG91Y2gobm9kZSwgdG91Y2hlcywgaWRlbnRpZmllcikgeworICBpZiAo
YXJndW1lbnRzLmxlbmd0aCA8IDMpIGlkZW50aWZpZXIgPSB0b3VjaGVzLCB0b3VjaGVzID0gc291
cmNlRXZlbnQoKS5jaGFuZ2VkVG91Y2hlczsKKworICBmb3IgKHZhciBpID0gMCwgbiA9IHRvdWNo
ZXMgPyB0b3VjaGVzLmxlbmd0aCA6IDAsIHRvdWNoOyBpIDwgbjsgKytpKSB7CisgICAgaWYgKCh0
b3VjaCA9IHRvdWNoZXNbaV0pLmlkZW50aWZpZXIgPT09IGlkZW50aWZpZXIpIHsKKyAgICAgIHJl
dHVybiBwb2ludChub2RlLCB0b3VjaCk7CisgICAgfQorICB9CisKKyAgcmV0dXJuIG51bGw7Cit9
CisKK2Z1bmN0aW9uIHRvdWNoZXMobm9kZSwgdG91Y2hlcykgeworICBpZiAodG91Y2hlcyA9PSBu
dWxsKSB0b3VjaGVzID0gc291cmNlRXZlbnQoKS50b3VjaGVzOworCisgIGZvciAodmFyIGkgPSAw
LCBuID0gdG91Y2hlcyA/IHRvdWNoZXMubGVuZ3RoIDogMCwgcG9pbnRzID0gbmV3IEFycmF5KG4p
OyBpIDwgbjsgKytpKSB7CisgICAgcG9pbnRzW2ldID0gcG9pbnQobm9kZSwgdG91Y2hlc1tpXSk7
CisgIH0KKworICByZXR1cm4gcG9pbnRzOworfQorCitmdW5jdGlvbiBub3Byb3BhZ2F0aW9uKCkg
eworICBleHBvcnRzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOworfQorCitmdW5j
dGlvbiBub2V2ZW50KCkgeworICBleHBvcnRzLmV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisgIGV4
cG9ydHMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7Cit9CisKK2Z1bmN0aW9uIGRy
YWdEaXNhYmxlKHZpZXcpIHsKKyAgdmFyIHJvb3QgPSB2aWV3LmRvY3VtZW50LmRvY3VtZW50RWxl
bWVudCwKKyAgICAgIHNlbGVjdGlvbiA9IHNlbGVjdCh2aWV3KS5vbigiZHJhZ3N0YXJ0LmRyYWci
LCBub2V2ZW50LCB0cnVlKTsKKyAgaWYgKCJvbnNlbGVjdHN0YXJ0IiBpbiByb290KSB7CisgICAg
c2VsZWN0aW9uLm9uKCJzZWxlY3RzdGFydC5kcmFnIiwgbm9ldmVudCwgdHJ1ZSk7CisgIH0gZWxz
ZSB7CisgICAgcm9vdC5fX25vc2VsZWN0ID0gcm9vdC5zdHlsZS5Nb3pVc2VyU2VsZWN0OworICAg
IHJvb3Quc3R5bGUuTW96VXNlclNlbGVjdCA9ICJub25lIjsKKyAgfQorfQorCitmdW5jdGlvbiB5
ZXNkcmFnKHZpZXcsIG5vY2xpY2spIHsKKyAgdmFyIHJvb3QgPSB2aWV3LmRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudCwKKyAgICAgIHNlbGVjdGlvbiA9IHNlbGVjdCh2aWV3KS5vbigiZHJhZ3N0YXJ0
LmRyYWciLCBudWxsKTsKKyAgaWYgKG5vY2xpY2spIHsKKyAgICBzZWxlY3Rpb24ub24oImNsaWNr
LmRyYWciLCBub2V2ZW50LCB0cnVlKTsKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBzZWxl
Y3Rpb24ub24oImNsaWNrLmRyYWciLCBudWxsKTsgfSwgMCk7CisgIH0KKyAgaWYgKCJvbnNlbGVj
dHN0YXJ0IiBpbiByb290KSB7CisgICAgc2VsZWN0aW9uLm9uKCJzZWxlY3RzdGFydC5kcmFnIiwg
bnVsbCk7CisgIH0gZWxzZSB7CisgICAgcm9vdC5zdHlsZS5Nb3pVc2VyU2VsZWN0ID0gcm9vdC5f
X25vc2VsZWN0OworICAgIGRlbGV0ZSByb290Ll9fbm9zZWxlY3Q7CisgIH0KK30KKworZnVuY3Rp
b24gY29uc3RhbnQkMih4KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsK
KyAgfTsKK30KKworZnVuY3Rpb24gRHJhZ0V2ZW50KHRhcmdldCwgdHlwZSwgc3ViamVjdCwgaWQs
IGFjdGl2ZSwgeCwgeSwgZHgsIGR5LCBkaXNwYXRjaCkgeworICB0aGlzLnRhcmdldCA9IHRhcmdl
dDsKKyAgdGhpcy50eXBlID0gdHlwZTsKKyAgdGhpcy5zdWJqZWN0ID0gc3ViamVjdDsKKyAgdGhp
cy5pZGVudGlmaWVyID0gaWQ7CisgIHRoaXMuYWN0aXZlID0gYWN0aXZlOworICB0aGlzLnggPSB4
OworICB0aGlzLnkgPSB5OworICB0aGlzLmR4ID0gZHg7CisgIHRoaXMuZHkgPSBkeTsKKyAgdGhp
cy5fID0gZGlzcGF0Y2g7Cit9CisKK0RyYWdFdmVudC5wcm90b3R5cGUub24gPSBmdW5jdGlvbigp
IHsKKyAgdmFyIHZhbHVlID0gdGhpcy5fLm9uLmFwcGx5KHRoaXMuXywgYXJndW1lbnRzKTsKKyAg
cmV0dXJuIHZhbHVlID09PSB0aGlzLl8gPyB0aGlzIDogdmFsdWU7Cit9OworCisvLyBJZ25vcmUg
cmlnaHQtY2xpY2ssIHNpbmNlIHRoYXQgc2hvdWxkIG9wZW4gdGhlIGNvbnRleHQgbWVudS4KK2Z1
bmN0aW9uIGRlZmF1bHRGaWx0ZXIoKSB7CisgIHJldHVybiAhZXhwb3J0cy5ldmVudC5jdHJsS2V5
ICYmICFleHBvcnRzLmV2ZW50LmJ1dHRvbjsKK30KKworZnVuY3Rpb24gZGVmYXVsdENvbnRhaW5l
cigpIHsKKyAgcmV0dXJuIHRoaXMucGFyZW50Tm9kZTsKK30KKworZnVuY3Rpb24gZGVmYXVsdFN1
YmplY3QoZCkgeworICByZXR1cm4gZCA9PSBudWxsID8ge3g6IGV4cG9ydHMuZXZlbnQueCwgeTog
ZXhwb3J0cy5ldmVudC55fSA6IGQ7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRUb3VjaGFibGUoKSB7
CisgIHJldHVybiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgfHwgKCJvbnRvdWNoc3RhcnQiIGlu
IHRoaXMpOworfQorCitmdW5jdGlvbiBkcmFnKCkgeworICB2YXIgZmlsdGVyID0gZGVmYXVsdEZp
bHRlciwKKyAgICAgIGNvbnRhaW5lciA9IGRlZmF1bHRDb250YWluZXIsCisgICAgICBzdWJqZWN0
ID0gZGVmYXVsdFN1YmplY3QsCisgICAgICB0b3VjaGFibGUgPSBkZWZhdWx0VG91Y2hhYmxlLAor
ICAgICAgZ2VzdHVyZXMgPSB7fSwKKyAgICAgIGxpc3RlbmVycyA9IGRpc3BhdGNoKCJzdGFydCIs
ICJkcmFnIiwgImVuZCIpLAorICAgICAgYWN0aXZlID0gMCwKKyAgICAgIG1vdXNlZG93bngsCisg
ICAgICBtb3VzZWRvd255LAorICAgICAgbW91c2Vtb3ZpbmcsCisgICAgICB0b3VjaGVuZGluZywK
KyAgICAgIGNsaWNrRGlzdGFuY2UyID0gMDsKKworICBmdW5jdGlvbiBkcmFnKHNlbGVjdGlvbikg
eworICAgIHNlbGVjdGlvbgorICAgICAgICAub24oIm1vdXNlZG93bi5kcmFnIiwgbW91c2Vkb3du
ZWQpCisgICAgICAuZmlsdGVyKHRvdWNoYWJsZSkKKyAgICAgICAgLm9uKCJ0b3VjaHN0YXJ0LmRy
YWciLCB0b3VjaHN0YXJ0ZWQpCisgICAgICAgIC5vbigidG91Y2htb3ZlLmRyYWciLCB0b3VjaG1v
dmVkKQorICAgICAgICAub24oInRvdWNoZW5kLmRyYWcgdG91Y2hjYW5jZWwuZHJhZyIsIHRvdWNo
ZW5kZWQpCisgICAgICAgIC5zdHlsZSgidG91Y2gtYWN0aW9uIiwgIm5vbmUiKQorICAgICAgICAu
c3R5bGUoIi13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvciIsICJyZ2JhKDAsMCwwLDApIik7Cisg
IH0KKworICBmdW5jdGlvbiBtb3VzZWRvd25lZCgpIHsKKyAgICBpZiAodG91Y2hlbmRpbmcgfHwg
IWZpbHRlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSByZXR1cm47CisgICAgdmFyIGdlc3R1cmUg
PSBiZWZvcmVzdGFydCgibW91c2UiLCBjb250YWluZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSwg
bW91c2UsIHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKCFnZXN0dXJlKSByZXR1cm47CisgICAg
c2VsZWN0KGV4cG9ydHMuZXZlbnQudmlldykub24oIm1vdXNlbW92ZS5kcmFnIiwgbW91c2Vtb3Zl
ZCwgdHJ1ZSkub24oIm1vdXNldXAuZHJhZyIsIG1vdXNldXBwZWQsIHRydWUpOworICAgIGRyYWdE
aXNhYmxlKGV4cG9ydHMuZXZlbnQudmlldyk7CisgICAgbm9wcm9wYWdhdGlvbigpOworICAgIG1v
dXNlbW92aW5nID0gZmFsc2U7CisgICAgbW91c2Vkb3dueCA9IGV4cG9ydHMuZXZlbnQuY2xpZW50
WDsKKyAgICBtb3VzZWRvd255ID0gZXhwb3J0cy5ldmVudC5jbGllbnRZOworICAgIGdlc3R1cmUo
InN0YXJ0Iik7CisgIH0KKworICBmdW5jdGlvbiBtb3VzZW1vdmVkKCkgeworICAgIG5vZXZlbnQo
KTsKKyAgICBpZiAoIW1vdXNlbW92aW5nKSB7CisgICAgICB2YXIgZHggPSBleHBvcnRzLmV2ZW50
LmNsaWVudFggLSBtb3VzZWRvd254LCBkeSA9IGV4cG9ydHMuZXZlbnQuY2xpZW50WSAtIG1vdXNl
ZG93bnk7CisgICAgICBtb3VzZW1vdmluZyA9IGR4ICogZHggKyBkeSAqIGR5ID4gY2xpY2tEaXN0
YW5jZTI7CisgICAgfQorICAgIGdlc3R1cmVzLm1vdXNlKCJkcmFnIik7CisgIH0KKworICBmdW5j
dGlvbiBtb3VzZXVwcGVkKCkgeworICAgIHNlbGVjdChleHBvcnRzLmV2ZW50LnZpZXcpLm9uKCJt
b3VzZW1vdmUuZHJhZyBtb3VzZXVwLmRyYWciLCBudWxsKTsKKyAgICB5ZXNkcmFnKGV4cG9ydHMu
ZXZlbnQudmlldywgbW91c2Vtb3ZpbmcpOworICAgIG5vZXZlbnQoKTsKKyAgICBnZXN0dXJlcy5t
b3VzZSgiZW5kIik7CisgIH0KKworICBmdW5jdGlvbiB0b3VjaHN0YXJ0ZWQoKSB7CisgICAgaWYg
KCFmaWx0ZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSkgcmV0dXJuOworICAgIHZhciB0b3VjaGVz
ID0gZXhwb3J0cy5ldmVudC5jaGFuZ2VkVG91Y2hlcywKKyAgICAgICAgYyA9IGNvbnRhaW5lci5h
cHBseSh0aGlzLCBhcmd1bWVudHMpLAorICAgICAgICBuID0gdG91Y2hlcy5sZW5ndGgsIGksIGdl
c3R1cmU7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAoZ2VzdHVy
ZSA9IGJlZm9yZXN0YXJ0KHRvdWNoZXNbaV0uaWRlbnRpZmllciwgYywgdG91Y2gsIHRoaXMsIGFy
Z3VtZW50cykpIHsKKyAgICAgICAgbm9wcm9wYWdhdGlvbigpOworICAgICAgICBnZXN0dXJlKCJz
dGFydCIpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIHRvdWNobW92ZWQoKSB7
CisgICAgdmFyIHRvdWNoZXMgPSBleHBvcnRzLmV2ZW50LmNoYW5nZWRUb3VjaGVzLAorICAgICAg
ICBuID0gdG91Y2hlcy5sZW5ndGgsIGksIGdlc3R1cmU7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwg
bjsgKytpKSB7CisgICAgICBpZiAoZ2VzdHVyZSA9IGdlc3R1cmVzW3RvdWNoZXNbaV0uaWRlbnRp
Zmllcl0pIHsKKyAgICAgICAgbm9ldmVudCgpOworICAgICAgICBnZXN0dXJlKCJkcmFnIik7Cisg
ICAgICB9CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gdG91Y2hlbmRlZCgpIHsKKyAgICB2YXIg
dG91Y2hlcyA9IGV4cG9ydHMuZXZlbnQuY2hhbmdlZFRvdWNoZXMsCisgICAgICAgIG4gPSB0b3Vj
aGVzLmxlbmd0aCwgaSwgZ2VzdHVyZTsKKworICAgIGlmICh0b3VjaGVuZGluZykgY2xlYXJUaW1l
b3V0KHRvdWNoZW5kaW5nKTsKKyAgICB0b3VjaGVuZGluZyA9IHNldFRpbWVvdXQoZnVuY3Rpb24o
KSB7IHRvdWNoZW5kaW5nID0gbnVsbDsgfSwgNTAwKTsgLy8gR2hvc3QgY2xpY2tzIGFyZSBkZWxh
eWVkIQorICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChnZXN0dXJlID0g
Z2VzdHVyZXNbdG91Y2hlc1tpXS5pZGVudGlmaWVyXSkgeworICAgICAgICBub3Byb3BhZ2F0aW9u
KCk7CisgICAgICAgIGdlc3R1cmUoImVuZCIpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGZ1
bmN0aW9uIGJlZm9yZXN0YXJ0KGlkLCBjb250YWluZXIsIHBvaW50LCB0aGF0LCBhcmdzKSB7Cisg
ICAgdmFyIHAgPSBwb2ludChjb250YWluZXIsIGlkKSwgcywgZHgsIGR5LAorICAgICAgICBzdWJs
aXN0ZW5lcnMgPSBsaXN0ZW5lcnMuY29weSgpOworCisgICAgaWYgKCFjdXN0b21FdmVudChuZXcg
RHJhZ0V2ZW50KGRyYWcsICJiZWZvcmVzdGFydCIsIHMsIGlkLCBhY3RpdmUsIHBbMF0sIHBbMV0s
IDAsIDAsIHN1Ymxpc3RlbmVycyksIGZ1bmN0aW9uKCkgeworICAgICAgaWYgKChleHBvcnRzLmV2
ZW50LnN1YmplY3QgPSBzID0gc3ViamVjdC5hcHBseSh0aGF0LCBhcmdzKSkgPT0gbnVsbCkgcmV0
dXJuIGZhbHNlOworICAgICAgZHggPSBzLnggLSBwWzBdIHx8IDA7CisgICAgICBkeSA9IHMueSAt
IHBbMV0gfHwgMDsKKyAgICAgIHJldHVybiB0cnVlOworICAgIH0pKSByZXR1cm47CisKKyAgICBy
ZXR1cm4gZnVuY3Rpb24gZ2VzdHVyZSh0eXBlKSB7CisgICAgICB2YXIgcDAgPSBwLCBuOworICAg
ICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgInN0YXJ0IjogZ2VzdHVyZXNbaWRdID0g
Z2VzdHVyZSwgbiA9IGFjdGl2ZSsrOyBicmVhazsKKyAgICAgICAgY2FzZSAiZW5kIjogZGVsZXRl
IGdlc3R1cmVzW2lkXSwgLS1hY3RpdmU7IC8vIG5vYnJlYWsKKyAgICAgICAgY2FzZSAiZHJhZyI6
IHAgPSBwb2ludChjb250YWluZXIsIGlkKSwgbiA9IGFjdGl2ZTsgYnJlYWs7CisgICAgICB9Cisg
ICAgICBjdXN0b21FdmVudChuZXcgRHJhZ0V2ZW50KGRyYWcsIHR5cGUsIHMsIGlkLCBuLCBwWzBd
ICsgZHgsIHBbMV0gKyBkeSwgcFswXSAtIHAwWzBdLCBwWzFdIC0gcDBbMV0sIHN1Ymxpc3RlbmVy
cyksIHN1Ymxpc3RlbmVycy5hcHBseSwgc3VibGlzdGVuZXJzLCBbdHlwZSwgdGhhdCwgYXJnc10p
OworICAgIH07CisgIH0KKworICBkcmFnLmZpbHRlciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aCA/IChmaWx0ZXIgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/
IF8gOiBjb25zdGFudCQyKCEhXyksIGRyYWcpIDogZmlsdGVyOworICB9OworCisgIGRyYWcuY29u
dGFpbmVyID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGNv
bnRhaW5lciA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDIoXyksIGRy
YWcpIDogY29udGFpbmVyOworICB9OworCisgIGRyYWcuc3ViamVjdCA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzdWJqZWN0ID0gdHlwZW9mIF8gPT09ICJm
dW5jdGlvbiIgPyBfIDogY29uc3RhbnQkMihfKSwgZHJhZykgOiBzdWJqZWN0OworICB9OworCisg
IGRyYWcudG91Y2hhYmxlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHRvdWNoYWJsZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50
JDIoISFfKSwgZHJhZykgOiB0b3VjaGFibGU7CisgIH07CisKKyAgZHJhZy5vbiA9IGZ1bmN0aW9u
KCkgeworICAgIHZhciB2YWx1ZSA9IGxpc3RlbmVycy5vbi5hcHBseShsaXN0ZW5lcnMsIGFyZ3Vt
ZW50cyk7CisgICAgcmV0dXJuIHZhbHVlID09PSBsaXN0ZW5lcnMgPyBkcmFnIDogdmFsdWU7Cisg
IH07CisKKyAgZHJhZy5jbGlja0Rpc3RhbmNlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKGNsaWNrRGlzdGFuY2UyID0gKF8gPSArXykgKiBfLCBkcmFnKSA6
IE1hdGguc3FydChjbGlja0Rpc3RhbmNlMik7CisgIH07CisKKyAgcmV0dXJuIGRyYWc7Cit9CisK
K2Z1bmN0aW9uIGRlZmluZShjb25zdHJ1Y3RvciwgZmFjdG9yeSwgcHJvdG90eXBlKSB7CisgIGNv
bnN0cnVjdG9yLnByb3RvdHlwZSA9IGZhY3RvcnkucHJvdG90eXBlID0gcHJvdG90eXBlOworICBw
cm90b3R5cGUuY29uc3RydWN0b3IgPSBjb25zdHJ1Y3RvcjsKK30KKworZnVuY3Rpb24gZXh0ZW5k
KHBhcmVudCwgZGVmaW5pdGlvbikgeworICB2YXIgcHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShw
YXJlbnQucHJvdG90eXBlKTsKKyAgZm9yICh2YXIga2V5IGluIGRlZmluaXRpb24pIHByb3RvdHlw
ZVtrZXldID0gZGVmaW5pdGlvbltrZXldOworICByZXR1cm4gcHJvdG90eXBlOworfQorCitmdW5j
dGlvbiBDb2xvcigpIHt9CisKK3ZhciBkYXJrZXIgPSAwLjc7Cit2YXIgYnJpZ2h0ZXIgPSAxIC8g
ZGFya2VyOworCit2YXIgcmVJID0gIlxccyooWystXT9cXGQrKVxccyoiLAorICAgIHJlTiA9ICJc
XHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KVxccyoiLAorICAgIHJlUCA9
ICJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KSVcXHMqIiwKKyAgICBy
ZUhleCA9IC9eIyhbMC05YS1mXXszLDh9KSQvLAorICAgIHJlUmdiSW50ZWdlciA9IG5ldyBSZWdF
eHAoIl5yZ2JcXCgiICsgW3JlSSwgcmVJLCByZUldICsgIlxcKSQiKSwKKyAgICByZVJnYlBlcmNl
bnQgPSBuZXcgUmVnRXhwKCJecmdiXFwoIiArIFtyZVAsIHJlUCwgcmVQXSArICJcXCkkIiksCisg
ICAgcmVSZ2JhSW50ZWdlciA9IG5ldyBSZWdFeHAoIl5yZ2JhXFwoIiArIFtyZUksIHJlSSwgcmVJ
LCByZU5dICsgIlxcKSQiKSwKKyAgICByZVJnYmFQZXJjZW50ID0gbmV3IFJlZ0V4cCgiXnJnYmFc
XCgiICsgW3JlUCwgcmVQLCByZVAsIHJlTl0gKyAiXFwpJCIpLAorICAgIHJlSHNsUGVyY2VudCA9
IG5ldyBSZWdFeHAoIl5oc2xcXCgiICsgW3JlTiwgcmVQLCByZVBdICsgIlxcKSQiKSwKKyAgICBy
ZUhzbGFQZXJjZW50ID0gbmV3IFJlZ0V4cCgiXmhzbGFcXCgiICsgW3JlTiwgcmVQLCByZVAsIHJl
Tl0gKyAiXFwpJCIpOworCit2YXIgbmFtZWQgPSB7CisgIGFsaWNlYmx1ZTogMHhmMGY4ZmYsCisg
IGFudGlxdWV3aGl0ZTogMHhmYWViZDcsCisgIGFxdWE6IDB4MDBmZmZmLAorICBhcXVhbWFyaW5l
OiAweDdmZmZkNCwKKyAgYXp1cmU6IDB4ZjBmZmZmLAorICBiZWlnZTogMHhmNWY1ZGMsCisgIGJp
c3F1ZTogMHhmZmU0YzQsCisgIGJsYWNrOiAweDAwMDAwMCwKKyAgYmxhbmNoZWRhbG1vbmQ6IDB4
ZmZlYmNkLAorICBibHVlOiAweDAwMDBmZiwKKyAgYmx1ZXZpb2xldDogMHg4YTJiZTIsCisgIGJy
b3duOiAweGE1MmEyYSwKKyAgYnVybHl3b29kOiAweGRlYjg4NywKKyAgY2FkZXRibHVlOiAweDVm
OWVhMCwKKyAgY2hhcnRyZXVzZTogMHg3ZmZmMDAsCisgIGNob2NvbGF0ZTogMHhkMjY5MWUsCisg
IGNvcmFsOiAweGZmN2Y1MCwKKyAgY29ybmZsb3dlcmJsdWU6IDB4NjQ5NWVkLAorICBjb3Juc2ls
azogMHhmZmY4ZGMsCisgIGNyaW1zb246IDB4ZGMxNDNjLAorICBjeWFuOiAweDAwZmZmZiwKKyAg
ZGFya2JsdWU6IDB4MDAwMDhiLAorICBkYXJrY3lhbjogMHgwMDhiOGIsCisgIGRhcmtnb2xkZW5y
b2Q6IDB4Yjg4NjBiLAorICBkYXJrZ3JheTogMHhhOWE5YTksCisgIGRhcmtncmVlbjogMHgwMDY0
MDAsCisgIGRhcmtncmV5OiAweGE5YTlhOSwKKyAgZGFya2toYWtpOiAweGJkYjc2YiwKKyAgZGFy
a21hZ2VudGE6IDB4OGIwMDhiLAorICBkYXJrb2xpdmVncmVlbjogMHg1NTZiMmYsCisgIGRhcmtv
cmFuZ2U6IDB4ZmY4YzAwLAorICBkYXJrb3JjaGlkOiAweDk5MzJjYywKKyAgZGFya3JlZDogMHg4
YjAwMDAsCisgIGRhcmtzYWxtb246IDB4ZTk5NjdhLAorICBkYXJrc2VhZ3JlZW46IDB4OGZiYzhm
LAorICBkYXJrc2xhdGVibHVlOiAweDQ4M2Q4YiwKKyAgZGFya3NsYXRlZ3JheTogMHgyZjRmNGYs
CisgIGRhcmtzbGF0ZWdyZXk6IDB4MmY0ZjRmLAorICBkYXJrdHVycXVvaXNlOiAweDAwY2VkMSwK
KyAgZGFya3Zpb2xldDogMHg5NDAwZDMsCisgIGRlZXBwaW5rOiAweGZmMTQ5MywKKyAgZGVlcHNr
eWJsdWU6IDB4MDBiZmZmLAorICBkaW1ncmF5OiAweDY5Njk2OSwKKyAgZGltZ3JleTogMHg2OTY5
NjksCisgIGRvZGdlcmJsdWU6IDB4MWU5MGZmLAorICBmaXJlYnJpY2s6IDB4YjIyMjIyLAorICBm
bG9yYWx3aGl0ZTogMHhmZmZhZjAsCisgIGZvcmVzdGdyZWVuOiAweDIyOGIyMiwKKyAgZnVjaHNp
YTogMHhmZjAwZmYsCisgIGdhaW5zYm9ybzogMHhkY2RjZGMsCisgIGdob3N0d2hpdGU6IDB4Zjhm
OGZmLAorICBnb2xkOiAweGZmZDcwMCwKKyAgZ29sZGVucm9kOiAweGRhYTUyMCwKKyAgZ3JheTog
MHg4MDgwODAsCisgIGdyZWVuOiAweDAwODAwMCwKKyAgZ3JlZW55ZWxsb3c6IDB4YWRmZjJmLAor
ICBncmV5OiAweDgwODA4MCwKKyAgaG9uZXlkZXc6IDB4ZjBmZmYwLAorICBob3RwaW5rOiAweGZm
NjliNCwKKyAgaW5kaWFucmVkOiAweGNkNWM1YywKKyAgaW5kaWdvOiAweDRiMDA4MiwKKyAgaXZv
cnk6IDB4ZmZmZmYwLAorICBraGFraTogMHhmMGU2OGMsCisgIGxhdmVuZGVyOiAweGU2ZTZmYSwK
KyAgbGF2ZW5kZXJibHVzaDogMHhmZmYwZjUsCisgIGxhd25ncmVlbjogMHg3Y2ZjMDAsCisgIGxl
bW9uY2hpZmZvbjogMHhmZmZhY2QsCisgIGxpZ2h0Ymx1ZTogMHhhZGQ4ZTYsCisgIGxpZ2h0Y29y
YWw6IDB4ZjA4MDgwLAorICBsaWdodGN5YW46IDB4ZTBmZmZmLAorICBsaWdodGdvbGRlbnJvZHll
bGxvdzogMHhmYWZhZDIsCisgIGxpZ2h0Z3JheTogMHhkM2QzZDMsCisgIGxpZ2h0Z3JlZW46IDB4
OTBlZTkwLAorICBsaWdodGdyZXk6IDB4ZDNkM2QzLAorICBsaWdodHBpbms6IDB4ZmZiNmMxLAor
ICBsaWdodHNhbG1vbjogMHhmZmEwN2EsCisgIGxpZ2h0c2VhZ3JlZW46IDB4MjBiMmFhLAorICBs
aWdodHNreWJsdWU6IDB4ODdjZWZhLAorICBsaWdodHNsYXRlZ3JheTogMHg3Nzg4OTksCisgIGxp
Z2h0c2xhdGVncmV5OiAweDc3ODg5OSwKKyAgbGlnaHRzdGVlbGJsdWU6IDB4YjBjNGRlLAorICBs
aWdodHllbGxvdzogMHhmZmZmZTAsCisgIGxpbWU6IDB4MDBmZjAwLAorICBsaW1lZ3JlZW46IDB4
MzJjZDMyLAorICBsaW5lbjogMHhmYWYwZTYsCisgIG1hZ2VudGE6IDB4ZmYwMGZmLAorICBtYXJv
b246IDB4ODAwMDAwLAorICBtZWRpdW1hcXVhbWFyaW5lOiAweDY2Y2RhYSwKKyAgbWVkaXVtYmx1
ZTogMHgwMDAwY2QsCisgIG1lZGl1bW9yY2hpZDogMHhiYTU1ZDMsCisgIG1lZGl1bXB1cnBsZTog
MHg5MzcwZGIsCisgIG1lZGl1bXNlYWdyZWVuOiAweDNjYjM3MSwKKyAgbWVkaXVtc2xhdGVibHVl
OiAweDdiNjhlZSwKKyAgbWVkaXVtc3ByaW5nZ3JlZW46IDB4MDBmYTlhLAorICBtZWRpdW10dXJx
dW9pc2U6IDB4NDhkMWNjLAorICBtZWRpdW12aW9sZXRyZWQ6IDB4YzcxNTg1LAorICBtaWRuaWdo
dGJsdWU6IDB4MTkxOTcwLAorICBtaW50Y3JlYW06IDB4ZjVmZmZhLAorICBtaXN0eXJvc2U6IDB4
ZmZlNGUxLAorICBtb2NjYXNpbjogMHhmZmU0YjUsCisgIG5hdmFqb3doaXRlOiAweGZmZGVhZCwK
KyAgbmF2eTogMHgwMDAwODAsCisgIG9sZGxhY2U6IDB4ZmRmNWU2LAorICBvbGl2ZTogMHg4MDgw
MDAsCisgIG9saXZlZHJhYjogMHg2YjhlMjMsCisgIG9yYW5nZTogMHhmZmE1MDAsCisgIG9yYW5n
ZXJlZDogMHhmZjQ1MDAsCisgIG9yY2hpZDogMHhkYTcwZDYsCisgIHBhbGVnb2xkZW5yb2Q6IDB4
ZWVlOGFhLAorICBwYWxlZ3JlZW46IDB4OThmYjk4LAorICBwYWxldHVycXVvaXNlOiAweGFmZWVl
ZSwKKyAgcGFsZXZpb2xldHJlZDogMHhkYjcwOTMsCisgIHBhcGF5YXdoaXA6IDB4ZmZlZmQ1LAor
ICBwZWFjaHB1ZmY6IDB4ZmZkYWI5LAorICBwZXJ1OiAweGNkODUzZiwKKyAgcGluazogMHhmZmMw
Y2IsCisgIHBsdW06IDB4ZGRhMGRkLAorICBwb3dkZXJibHVlOiAweGIwZTBlNiwKKyAgcHVycGxl
OiAweDgwMDA4MCwKKyAgcmViZWNjYXB1cnBsZTogMHg2NjMzOTksCisgIHJlZDogMHhmZjAwMDAs
CisgIHJvc3licm93bjogMHhiYzhmOGYsCisgIHJveWFsYmx1ZTogMHg0MTY5ZTEsCisgIHNhZGRs
ZWJyb3duOiAweDhiNDUxMywKKyAgc2FsbW9uOiAweGZhODA3MiwKKyAgc2FuZHlicm93bjogMHhm
NGE0NjAsCisgIHNlYWdyZWVuOiAweDJlOGI1NywKKyAgc2Vhc2hlbGw6IDB4ZmZmNWVlLAorICBz
aWVubmE6IDB4YTA1MjJkLAorICBzaWx2ZXI6IDB4YzBjMGMwLAorICBza3libHVlOiAweDg3Y2Vl
YiwKKyAgc2xhdGVibHVlOiAweDZhNWFjZCwKKyAgc2xhdGVncmF5OiAweDcwODA5MCwKKyAgc2xh
dGVncmV5OiAweDcwODA5MCwKKyAgc25vdzogMHhmZmZhZmEsCisgIHNwcmluZ2dyZWVuOiAweDAw
ZmY3ZiwKKyAgc3RlZWxibHVlOiAweDQ2ODJiNCwKKyAgdGFuOiAweGQyYjQ4YywKKyAgdGVhbDog
MHgwMDgwODAsCisgIHRoaXN0bGU6IDB4ZDhiZmQ4LAorICB0b21hdG86IDB4ZmY2MzQ3LAorICB0
dXJxdW9pc2U6IDB4NDBlMGQwLAorICB2aW9sZXQ6IDB4ZWU4MmVlLAorICB3aGVhdDogMHhmNWRl
YjMsCisgIHdoaXRlOiAweGZmZmZmZiwKKyAgd2hpdGVzbW9rZTogMHhmNWY1ZjUsCisgIHllbGxv
dzogMHhmZmZmMDAsCisgIHllbGxvd2dyZWVuOiAweDlhY2QzMgorfTsKKworZGVmaW5lKENvbG9y
LCBjb2xvciwgeworICBjb3B5OiBmdW5jdGlvbihjaGFubmVscykgeworICAgIHJldHVybiBPYmpl
Y3QuYXNzaWduKG5ldyB0aGlzLmNvbnN0cnVjdG9yLCB0aGlzLCBjaGFubmVscyk7CisgIH0sCisg
IGRpc3BsYXlhYmxlOiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gdGhpcy5yZ2IoKS5kaXNwbGF5
YWJsZSgpOworICB9LAorICBoZXg6IGNvbG9yX2Zvcm1hdEhleCwgLy8gRGVwcmVjYXRlZCEgVXNl
IGNvbG9yLmZvcm1hdEhleC4KKyAgZm9ybWF0SGV4OiBjb2xvcl9mb3JtYXRIZXgsCisgIGZvcm1h
dEhzbDogY29sb3JfZm9ybWF0SHNsLAorICBmb3JtYXRSZ2I6IGNvbG9yX2Zvcm1hdFJnYiwKKyAg
dG9TdHJpbmc6IGNvbG9yX2Zvcm1hdFJnYgorfSk7CisKK2Z1bmN0aW9uIGNvbG9yX2Zvcm1hdEhl
eCgpIHsKKyAgcmV0dXJuIHRoaXMucmdiKCkuZm9ybWF0SGV4KCk7Cit9CisKK2Z1bmN0aW9uIGNv
bG9yX2Zvcm1hdEhzbCgpIHsKKyAgcmV0dXJuIGhzbENvbnZlcnQodGhpcykuZm9ybWF0SHNsKCk7
Cit9CisKK2Z1bmN0aW9uIGNvbG9yX2Zvcm1hdFJnYigpIHsKKyAgcmV0dXJuIHRoaXMucmdiKCku
Zm9ybWF0UmdiKCk7Cit9CisKK2Z1bmN0aW9uIGNvbG9yKGZvcm1hdCkgeworICB2YXIgbSwgbDsK
KyAgZm9ybWF0ID0gKGZvcm1hdCArICIiKS50cmltKCkudG9Mb3dlckNhc2UoKTsKKyAgcmV0dXJu
IChtID0gcmVIZXguZXhlYyhmb3JtYXQpKSA/IChsID0gbVsxXS5sZW5ndGgsIG0gPSBwYXJzZUlu
dChtWzFdLCAxNiksIGwgPT09IDYgPyByZ2JuKG0pIC8vICNmZjAwMDAKKyAgICAgIDogbCA9PT0g
MyA/IG5ldyBSZ2IoKG0gPj4gOCAmIDB4ZikgfCAobSA+PiA0ICYgMHhmMCksIChtID4+IDQgJiAw
eGYpIHwgKG0gJiAweGYwKSwgKChtICYgMHhmKSA8PCA0KSB8IChtICYgMHhmKSwgMSkgLy8gI2Yw
MAorICAgICAgOiBsID09PSA4ID8gbmV3IFJnYihtID4+IDI0ICYgMHhmZiwgbSA+PiAxNiAmIDB4
ZmYsIG0gPj4gOCAmIDB4ZmYsIChtICYgMHhmZikgLyAweGZmKSAvLyAjZmYwMDAwMDAKKyAgICAg
IDogbCA9PT0gNCA/IG5ldyBSZ2IoKG0gPj4gMTIgJiAweGYpIHwgKG0gPj4gOCAmIDB4ZjApLCAo
bSA+PiA4ICYgMHhmKSB8IChtID4+IDQgJiAweGYwKSwgKG0gPj4gNCAmIDB4ZikgfCAobSAmIDB4
ZjApLCAoKChtICYgMHhmKSA8PCA0KSB8IChtICYgMHhmKSkgLyAweGZmKSAvLyAjZjAwMAorICAg
ICAgOiBudWxsKSAvLyBpbnZhbGlkIGhleAorICAgICAgOiAobSA9IHJlUmdiSW50ZWdlci5leGVj
KGZvcm1hdCkpID8gbmV3IFJnYihtWzFdLCBtWzJdLCBtWzNdLCAxKSAvLyByZ2IoMjU1LCAwLCAw
KQorICAgICAgOiAobSA9IHJlUmdiUGVyY2VudC5leGVjKGZvcm1hdCkpID8gbmV3IFJnYihtWzFd
ICogMjU1IC8gMTAwLCBtWzJdICogMjU1IC8gMTAwLCBtWzNdICogMjU1IC8gMTAwLCAxKSAvLyBy
Z2IoMTAwJSwgMCUsIDAlKQorICAgICAgOiAobSA9IHJlUmdiYUludGVnZXIuZXhlYyhmb3JtYXQp
KSA/IHJnYmEobVsxXSwgbVsyXSwgbVszXSwgbVs0XSkgLy8gcmdiYSgyNTUsIDAsIDAsIDEpCisg
ICAgICA6IChtID0gcmVSZ2JhUGVyY2VudC5leGVjKGZvcm1hdCkpID8gcmdiYShtWzFdICogMjU1
IC8gMTAwLCBtWzJdICogMjU1IC8gMTAwLCBtWzNdICogMjU1IC8gMTAwLCBtWzRdKSAvLyByZ2Io
MTAwJSwgMCUsIDAlLCAxKQorICAgICAgOiAobSA9IHJlSHNsUGVyY2VudC5leGVjKGZvcm1hdCkp
ID8gaHNsYShtWzFdLCBtWzJdIC8gMTAwLCBtWzNdIC8gMTAwLCAxKSAvLyBoc2woMTIwLCA1MCUs
IDUwJSkKKyAgICAgIDogKG0gPSByZUhzbGFQZXJjZW50LmV4ZWMoZm9ybWF0KSkgPyBoc2xhKG1b
MV0sIG1bMl0gLyAxMDAsIG1bM10gLyAxMDAsIG1bNF0pIC8vIGhzbGEoMTIwLCA1MCUsIDUwJSwg
MSkKKyAgICAgIDogbmFtZWQuaGFzT3duUHJvcGVydHkoZm9ybWF0KSA/IHJnYm4obmFtZWRbZm9y
bWF0XSkgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnMKKyAgICAg
IDogZm9ybWF0ID09PSAidHJhbnNwYXJlbnQiID8gbmV3IFJnYihOYU4sIE5hTiwgTmFOLCAwKQor
ICAgICAgOiBudWxsOworfQorCitmdW5jdGlvbiByZ2JuKG4pIHsKKyAgcmV0dXJuIG5ldyBSZ2Io
biA+PiAxNiAmIDB4ZmYsIG4gPj4gOCAmIDB4ZmYsIG4gJiAweGZmLCAxKTsKK30KKworZnVuY3Rp
b24gcmdiYShyLCBnLCBiLCBhKSB7CisgIGlmIChhIDw9IDApIHIgPSBnID0gYiA9IE5hTjsKKyAg
cmV0dXJuIG5ldyBSZ2IociwgZywgYiwgYSk7Cit9CisKK2Z1bmN0aW9uIHJnYkNvbnZlcnQobykg
eworICBpZiAoIShvIGluc3RhbmNlb2YgQ29sb3IpKSBvID0gY29sb3Iobyk7CisgIGlmICghbykg
cmV0dXJuIG5ldyBSZ2I7CisgIG8gPSBvLnJnYigpOworICByZXR1cm4gbmV3IFJnYihvLnIsIG8u
Zywgby5iLCBvLm9wYWNpdHkpOworfQorCitmdW5jdGlvbiByZ2IociwgZywgYiwgb3BhY2l0eSkg
eworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA9PT0gMSA/IHJnYkNvbnZlcnQocikgOiBuZXcg
UmdiKHIsIGcsIGIsIG9wYWNpdHkgPT0gbnVsbCA/IDEgOiBvcGFjaXR5KTsKK30KKworZnVuY3Rp
b24gUmdiKHIsIGcsIGIsIG9wYWNpdHkpIHsKKyAgdGhpcy5yID0gK3I7CisgIHRoaXMuZyA9ICtn
OworICB0aGlzLmIgPSArYjsKKyAgdGhpcy5vcGFjaXR5ID0gK29wYWNpdHk7Cit9CisKK2RlZmlu
ZShSZ2IsIHJnYiwgZXh0ZW5kKENvbG9yLCB7CisgIGJyaWdodGVyOiBmdW5jdGlvbihrKSB7Cisg
ICAgayA9IGsgPT0gbnVsbCA/IGJyaWdodGVyIDogTWF0aC5wb3coYnJpZ2h0ZXIsIGspOworICAg
IHJldHVybiBuZXcgUmdiKHRoaXMuciAqIGssIHRoaXMuZyAqIGssIHRoaXMuYiAqIGssIHRoaXMu
b3BhY2l0eSk7CisgIH0sCisgIGRhcmtlcjogZnVuY3Rpb24oaykgeworICAgIGsgPSBrID09IG51
bGwgPyBkYXJrZXIgOiBNYXRoLnBvdyhkYXJrZXIsIGspOworICAgIHJldHVybiBuZXcgUmdiKHRo
aXMuciAqIGssIHRoaXMuZyAqIGssIHRoaXMuYiAqIGssIHRoaXMub3BhY2l0eSk7CisgIH0sCisg
IHJnYjogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRoaXM7CisgIH0sCisgIGRpc3BsYXlhYmxl
OiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gKC0wLjUgPD0gdGhpcy5yICYmIHRoaXMuciA8IDI1
NS41KQorICAgICAgICAmJiAoLTAuNSA8PSB0aGlzLmcgJiYgdGhpcy5nIDwgMjU1LjUpCisgICAg
ICAgICYmICgtMC41IDw9IHRoaXMuYiAmJiB0aGlzLmIgPCAyNTUuNSkKKyAgICAgICAgJiYgKDAg
PD0gdGhpcy5vcGFjaXR5ICYmIHRoaXMub3BhY2l0eSA8PSAxKTsKKyAgfSwKKyAgaGV4OiByZ2Jf
Zm9ybWF0SGV4LCAvLyBEZXByZWNhdGVkISBVc2UgY29sb3IuZm9ybWF0SGV4LgorICBmb3JtYXRI
ZXg6IHJnYl9mb3JtYXRIZXgsCisgIGZvcm1hdFJnYjogcmdiX2Zvcm1hdFJnYiwKKyAgdG9TdHJp
bmc6IHJnYl9mb3JtYXRSZ2IKK30pKTsKKworZnVuY3Rpb24gcmdiX2Zvcm1hdEhleCgpIHsKKyAg
cmV0dXJuICIjIiArIGhleCh0aGlzLnIpICsgaGV4KHRoaXMuZykgKyBoZXgodGhpcy5iKTsKK30K
KworZnVuY3Rpb24gcmdiX2Zvcm1hdFJnYigpIHsKKyAgdmFyIGEgPSB0aGlzLm9wYWNpdHk7IGEg
PSBpc05hTihhKSA/IDEgOiBNYXRoLm1heCgwLCBNYXRoLm1pbigxLCBhKSk7CisgIHJldHVybiAo
YSA9PT0gMSA/ICJyZ2IoIiA6ICJyZ2JhKCIpCisgICAgICArIE1hdGgubWF4KDAsIE1hdGgubWlu
KDI1NSwgTWF0aC5yb3VuZCh0aGlzLnIpIHx8IDApKSArICIsICIKKyAgICAgICsgTWF0aC5tYXgo
MCwgTWF0aC5taW4oMjU1LCBNYXRoLnJvdW5kKHRoaXMuZykgfHwgMCkpICsgIiwgIgorICAgICAg
KyBNYXRoLm1heCgwLCBNYXRoLm1pbigyNTUsIE1hdGgucm91bmQodGhpcy5iKSB8fCAwKSkKKyAg
ICAgICsgKGEgPT09IDEgPyAiKSIgOiAiLCAiICsgYSArICIpIik7Cit9CisKK2Z1bmN0aW9uIGhl
eCh2YWx1ZSkgeworICB2YWx1ZSA9IE1hdGgubWF4KDAsIE1hdGgubWluKDI1NSwgTWF0aC5yb3Vu
ZCh2YWx1ZSkgfHwgMCkpOworICByZXR1cm4gKHZhbHVlIDwgMTYgPyAiMCIgOiAiIikgKyB2YWx1
ZS50b1N0cmluZygxNik7Cit9CisKK2Z1bmN0aW9uIGhzbGEoaCwgcywgbCwgYSkgeworICBpZiAo
YSA8PSAwKSBoID0gcyA9IGwgPSBOYU47CisgIGVsc2UgaWYgKGwgPD0gMCB8fCBsID49IDEpIGgg
PSBzID0gTmFOOworICBlbHNlIGlmIChzIDw9IDApIGggPSBOYU47CisgIHJldHVybiBuZXcgSHNs
KGgsIHMsIGwsIGEpOworfQorCitmdW5jdGlvbiBoc2xDb252ZXJ0KG8pIHsKKyAgaWYgKG8gaW5z
dGFuY2VvZiBIc2wpIHJldHVybiBuZXcgSHNsKG8uaCwgby5zLCBvLmwsIG8ub3BhY2l0eSk7Cisg
IGlmICghKG8gaW5zdGFuY2VvZiBDb2xvcikpIG8gPSBjb2xvcihvKTsKKyAgaWYgKCFvKSByZXR1
cm4gbmV3IEhzbDsKKyAgaWYgKG8gaW5zdGFuY2VvZiBIc2wpIHJldHVybiBvOworICBvID0gby5y
Z2IoKTsKKyAgdmFyIHIgPSBvLnIgLyAyNTUsCisgICAgICBnID0gby5nIC8gMjU1LAorICAgICAg
YiA9IG8uYiAvIDI1NSwKKyAgICAgIG1pbiA9IE1hdGgubWluKHIsIGcsIGIpLAorICAgICAgbWF4
ID0gTWF0aC5tYXgociwgZywgYiksCisgICAgICBoID0gTmFOLAorICAgICAgcyA9IG1heCAtIG1p
biwKKyAgICAgIGwgPSAobWF4ICsgbWluKSAvIDI7CisgIGlmIChzKSB7CisgICAgaWYgKHIgPT09
IG1heCkgaCA9IChnIC0gYikgLyBzICsgKGcgPCBiKSAqIDY7CisgICAgZWxzZSBpZiAoZyA9PT0g
bWF4KSBoID0gKGIgLSByKSAvIHMgKyAyOworICAgIGVsc2UgaCA9IChyIC0gZykgLyBzICsgNDsK
KyAgICBzIC89IGwgPCAwLjUgPyBtYXggKyBtaW4gOiAyIC0gbWF4IC0gbWluOworICAgIGggKj0g
NjA7CisgIH0gZWxzZSB7CisgICAgcyA9IGwgPiAwICYmIGwgPCAxID8gMCA6IGg7CisgIH0KKyAg
cmV0dXJuIG5ldyBIc2woaCwgcywgbCwgby5vcGFjaXR5KTsKK30KKworZnVuY3Rpb24gaHNsKGgs
IHMsIGwsIG9wYWNpdHkpIHsKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPT09IDEgPyBoc2xD
b252ZXJ0KGgpIDogbmV3IEhzbChoLCBzLCBsLCBvcGFjaXR5ID09IG51bGwgPyAxIDogb3BhY2l0
eSk7Cit9CisKK2Z1bmN0aW9uIEhzbChoLCBzLCBsLCBvcGFjaXR5KSB7CisgIHRoaXMuaCA9ICto
OworICB0aGlzLnMgPSArczsKKyAgdGhpcy5sID0gK2w7CisgIHRoaXMub3BhY2l0eSA9ICtvcGFj
aXR5OworfQorCitkZWZpbmUoSHNsLCBoc2wsIGV4dGVuZChDb2xvciwgeworICBicmlnaHRlcjog
ZnVuY3Rpb24oaykgeworICAgIGsgPSBrID09IG51bGwgPyBicmlnaHRlciA6IE1hdGgucG93KGJy
aWdodGVyLCBrKTsKKyAgICByZXR1cm4gbmV3IEhzbCh0aGlzLmgsIHRoaXMucywgdGhpcy5sICog
aywgdGhpcy5vcGFjaXR5KTsKKyAgfSwKKyAgZGFya2VyOiBmdW5jdGlvbihrKSB7CisgICAgayA9
IGsgPT0gbnVsbCA/IGRhcmtlciA6IE1hdGgucG93KGRhcmtlciwgayk7CisgICAgcmV0dXJuIG5l
dyBIc2wodGhpcy5oLCB0aGlzLnMsIHRoaXMubCAqIGssIHRoaXMub3BhY2l0eSk7CisgIH0sCisg
IHJnYjogZnVuY3Rpb24oKSB7CisgICAgdmFyIGggPSB0aGlzLmggJSAzNjAgKyAodGhpcy5oIDwg
MCkgKiAzNjAsCisgICAgICAgIHMgPSBpc05hTihoKSB8fCBpc05hTih0aGlzLnMpID8gMCA6IHRo
aXMucywKKyAgICAgICAgbCA9IHRoaXMubCwKKyAgICAgICAgbTIgPSBsICsgKGwgPCAwLjUgPyBs
IDogMSAtIGwpICogcywKKyAgICAgICAgbTEgPSAyICogbCAtIG0yOworICAgIHJldHVybiBuZXcg
UmdiKAorICAgICAgaHNsMnJnYihoID49IDI0MCA/IGggLSAyNDAgOiBoICsgMTIwLCBtMSwgbTIp
LAorICAgICAgaHNsMnJnYihoLCBtMSwgbTIpLAorICAgICAgaHNsMnJnYihoIDwgMTIwID8gaCAr
IDI0MCA6IGggLSAxMjAsIG0xLCBtMiksCisgICAgICB0aGlzLm9wYWNpdHkKKyAgICApOworICB9
LAorICBkaXNwbGF5YWJsZTogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuICgwIDw9IHRoaXMucyAm
JiB0aGlzLnMgPD0gMSB8fCBpc05hTih0aGlzLnMpKQorICAgICAgICAmJiAoMCA8PSB0aGlzLmwg
JiYgdGhpcy5sIDw9IDEpCisgICAgICAgICYmICgwIDw9IHRoaXMub3BhY2l0eSAmJiB0aGlzLm9w
YWNpdHkgPD0gMSk7CisgIH0sCisgIGZvcm1hdEhzbDogZnVuY3Rpb24oKSB7CisgICAgdmFyIGEg
PSB0aGlzLm9wYWNpdHk7IGEgPSBpc05hTihhKSA/IDEgOiBNYXRoLm1heCgwLCBNYXRoLm1pbigx
LCBhKSk7CisgICAgcmV0dXJuIChhID09PSAxID8gImhzbCgiIDogImhzbGEoIikKKyAgICAgICAg
KyAodGhpcy5oIHx8IDApICsgIiwgIgorICAgICAgICArICh0aGlzLnMgfHwgMCkgKiAxMDAgKyAi
JSwgIgorICAgICAgICArICh0aGlzLmwgfHwgMCkgKiAxMDAgKyAiJSIKKyAgICAgICAgKyAoYSA9
PT0gMSA/ICIpIiA6ICIsICIgKyBhICsgIikiKTsKKyAgfQorfSkpOworCisvKiBGcm9tIEZ2RCAx
My4zNywgQ1NTIENvbG9yIE1vZHVsZSBMZXZlbCAzICovCitmdW5jdGlvbiBoc2wycmdiKGgsIG0x
LCBtMikgeworICByZXR1cm4gKGggPCA2MCA/IG0xICsgKG0yIC0gbTEpICogaCAvIDYwCisgICAg
ICA6IGggPCAxODAgPyBtMgorICAgICAgOiBoIDwgMjQwID8gbTEgKyAobTIgLSBtMSkgKiAoMjQw
IC0gaCkgLyA2MAorICAgICAgOiBtMSkgKiAyNTU7Cit9CisKK3ZhciBkZWcycmFkID0gTWF0aC5Q
SSAvIDE4MDsKK3ZhciByYWQyZGVnID0gMTgwIC8gTWF0aC5QSTsKKworLy8gaHR0cHM6Ly9vYnNl
cnZhYmxlaHEuY29tL0BtYm9zdG9jay9sYWItYW5kLXJnYgordmFyIEsgPSAxOCwKKyAgICBYbiA9
IDAuOTY0MjIsCisgICAgWW4gPSAxLAorICAgIFpuID0gMC44MjUyMSwKKyAgICB0MCA9IDQgLyAy
OSwKKyAgICB0MSA9IDYgLyAyOSwKKyAgICB0MiA9IDMgKiB0MSAqIHQxLAorICAgIHQzID0gdDEg
KiB0MSAqIHQxOworCitmdW5jdGlvbiBsYWJDb252ZXJ0KG8pIHsKKyAgaWYgKG8gaW5zdGFuY2Vv
ZiBMYWIpIHJldHVybiBuZXcgTGFiKG8ubCwgby5hLCBvLmIsIG8ub3BhY2l0eSk7CisgIGlmIChv
IGluc3RhbmNlb2YgSGNsKSByZXR1cm4gaGNsMmxhYihvKTsKKyAgaWYgKCEobyBpbnN0YW5jZW9m
IFJnYikpIG8gPSByZ2JDb252ZXJ0KG8pOworICB2YXIgciA9IHJnYjJscmdiKG8uciksCisgICAg
ICBnID0gcmdiMmxyZ2Ioby5nKSwKKyAgICAgIGIgPSByZ2IybHJnYihvLmIpLAorICAgICAgeSA9
IHh5ejJsYWIoKDAuMjIyNTA0NSAqIHIgKyAwLjcxNjg3ODYgKiBnICsgMC4wNjA2MTY5ICogYikg
LyBZbiksIHgsIHo7CisgIGlmIChyID09PSBnICYmIGcgPT09IGIpIHggPSB6ID0geTsgZWxzZSB7
CisgICAgeCA9IHh5ejJsYWIoKDAuNDM2MDc0NyAqIHIgKyAwLjM4NTA2NDkgKiBnICsgMC4xNDMw
ODA0ICogYikgLyBYbik7CisgICAgeiA9IHh5ejJsYWIoKDAuMDEzOTMyMiAqIHIgKyAwLjA5NzEw
NDUgKiBnICsgMC43MTQxNzMzICogYikgLyBabik7CisgIH0KKyAgcmV0dXJuIG5ldyBMYWIoMTE2
ICogeSAtIDE2LCA1MDAgKiAoeCAtIHkpLCAyMDAgKiAoeSAtIHopLCBvLm9wYWNpdHkpOworfQor
CitmdW5jdGlvbiBncmF5KGwsIG9wYWNpdHkpIHsKKyAgcmV0dXJuIG5ldyBMYWIobCwgMCwgMCwg
b3BhY2l0eSA9PSBudWxsID8gMSA6IG9wYWNpdHkpOworfQorCitmdW5jdGlvbiBsYWIobCwgYSwg
Yiwgb3BhY2l0eSkgeworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA9PT0gMSA/IGxhYkNvbnZl
cnQobCkgOiBuZXcgTGFiKGwsIGEsIGIsIG9wYWNpdHkgPT0gbnVsbCA/IDEgOiBvcGFjaXR5KTsK
K30KKworZnVuY3Rpb24gTGFiKGwsIGEsIGIsIG9wYWNpdHkpIHsKKyAgdGhpcy5sID0gK2w7Cisg
IHRoaXMuYSA9ICthOworICB0aGlzLmIgPSArYjsKKyAgdGhpcy5vcGFjaXR5ID0gK29wYWNpdHk7
Cit9CisKK2RlZmluZShMYWIsIGxhYiwgZXh0ZW5kKENvbG9yLCB7CisgIGJyaWdodGVyOiBmdW5j
dGlvbihrKSB7CisgICAgcmV0dXJuIG5ldyBMYWIodGhpcy5sICsgSyAqIChrID09IG51bGwgPyAx
IDogayksIHRoaXMuYSwgdGhpcy5iLCB0aGlzLm9wYWNpdHkpOworICB9LAorICBkYXJrZXI6IGZ1
bmN0aW9uKGspIHsKKyAgICByZXR1cm4gbmV3IExhYih0aGlzLmwgLSBLICogKGsgPT0gbnVsbCA/
IDEgOiBrKSwgdGhpcy5hLCB0aGlzLmIsIHRoaXMub3BhY2l0eSk7CisgIH0sCisgIHJnYjogZnVu
Y3Rpb24oKSB7CisgICAgdmFyIHkgPSAodGhpcy5sICsgMTYpIC8gMTE2LAorICAgICAgICB4ID0g
aXNOYU4odGhpcy5hKSA/IHkgOiB5ICsgdGhpcy5hIC8gNTAwLAorICAgICAgICB6ID0gaXNOYU4o
dGhpcy5iKSA/IHkgOiB5IC0gdGhpcy5iIC8gMjAwOworICAgIHggPSBYbiAqIGxhYjJ4eXooeCk7
CisgICAgeSA9IFluICogbGFiMnh5eih5KTsKKyAgICB6ID0gWm4gKiBsYWIyeHl6KHopOworICAg
IHJldHVybiBuZXcgUmdiKAorICAgICAgbHJnYjJyZ2IoIDMuMTMzODU2MSAqIHggLSAxLjYxNjg2
NjcgKiB5IC0gMC40OTA2MTQ2ICogeiksCisgICAgICBscmdiMnJnYigtMC45Nzg3Njg0ICogeCAr
IDEuOTE2MTQxNSAqIHkgKyAwLjAzMzQ1NDAgKiB6KSwKKyAgICAgIGxyZ2IycmdiKCAwLjA3MTk0
NTMgKiB4IC0gMC4yMjg5OTE0ICogeSArIDEuNDA1MjQyNyAqIHopLAorICAgICAgdGhpcy5vcGFj
aXR5CisgICAgKTsKKyAgfQorfSkpOworCitmdW5jdGlvbiB4eXoybGFiKHQpIHsKKyAgcmV0dXJu
IHQgPiB0MyA/IE1hdGgucG93KHQsIDEgLyAzKSA6IHQgLyB0MiArIHQwOworfQorCitmdW5jdGlv
biBsYWIyeHl6KHQpIHsKKyAgcmV0dXJuIHQgPiB0MSA/IHQgKiB0ICogdCA6IHQyICogKHQgLSB0
MCk7Cit9CisKK2Z1bmN0aW9uIGxyZ2IycmdiKHgpIHsKKyAgcmV0dXJuIDI1NSAqICh4IDw9IDAu
MDAzMTMwOCA/IDEyLjkyICogeCA6IDEuMDU1ICogTWF0aC5wb3coeCwgMSAvIDIuNCkgLSAwLjA1
NSk7Cit9CisKK2Z1bmN0aW9uIHJnYjJscmdiKHgpIHsKKyAgcmV0dXJuICh4IC89IDI1NSkgPD0g
MC4wNDA0NSA/IHggLyAxMi45MiA6IE1hdGgucG93KCh4ICsgMC4wNTUpIC8gMS4wNTUsIDIuNCk7
Cit9CisKK2Z1bmN0aW9uIGhjbENvbnZlcnQobykgeworICBpZiAobyBpbnN0YW5jZW9mIEhjbCkg
cmV0dXJuIG5ldyBIY2woby5oLCBvLmMsIG8ubCwgby5vcGFjaXR5KTsKKyAgaWYgKCEobyBpbnN0
YW5jZW9mIExhYikpIG8gPSBsYWJDb252ZXJ0KG8pOworICBpZiAoby5hID09PSAwICYmIG8uYiA9
PT0gMCkgcmV0dXJuIG5ldyBIY2woTmFOLCAwIDwgby5sICYmIG8ubCA8IDEwMCA/IDAgOiBOYU4s
IG8ubCwgby5vcGFjaXR5KTsKKyAgdmFyIGggPSBNYXRoLmF0YW4yKG8uYiwgby5hKSAqIHJhZDJk
ZWc7CisgIHJldHVybiBuZXcgSGNsKGggPCAwID8gaCArIDM2MCA6IGgsIE1hdGguc3FydChvLmEg
KiBvLmEgKyBvLmIgKiBvLmIpLCBvLmwsIG8ub3BhY2l0eSk7Cit9CisKK2Z1bmN0aW9uIGxjaChs
LCBjLCBoLCBvcGFjaXR5KSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID09PSAxID8gaGNs
Q29udmVydChsKSA6IG5ldyBIY2woaCwgYywgbCwgb3BhY2l0eSA9PSBudWxsID8gMSA6IG9wYWNp
dHkpOworfQorCitmdW5jdGlvbiBoY2woaCwgYywgbCwgb3BhY2l0eSkgeworICByZXR1cm4gYXJn
dW1lbnRzLmxlbmd0aCA9PT0gMSA/IGhjbENvbnZlcnQoaCkgOiBuZXcgSGNsKGgsIGMsIGwsIG9w
YWNpdHkgPT0gbnVsbCA/IDEgOiBvcGFjaXR5KTsKK30KKworZnVuY3Rpb24gSGNsKGgsIGMsIGws
IG9wYWNpdHkpIHsKKyAgdGhpcy5oID0gK2g7CisgIHRoaXMuYyA9ICtjOworICB0aGlzLmwgPSAr
bDsKKyAgdGhpcy5vcGFjaXR5ID0gK29wYWNpdHk7Cit9CisKK2Z1bmN0aW9uIGhjbDJsYWIobykg
eworICBpZiAoaXNOYU4oby5oKSkgcmV0dXJuIG5ldyBMYWIoby5sLCAwLCAwLCBvLm9wYWNpdHkp
OworICB2YXIgaCA9IG8uaCAqIGRlZzJyYWQ7CisgIHJldHVybiBuZXcgTGFiKG8ubCwgTWF0aC5j
b3MoaCkgKiBvLmMsIE1hdGguc2luKGgpICogby5jLCBvLm9wYWNpdHkpOworfQorCitkZWZpbmUo
SGNsLCBoY2wsIGV4dGVuZChDb2xvciwgeworICBicmlnaHRlcjogZnVuY3Rpb24oaykgeworICAg
IHJldHVybiBuZXcgSGNsKHRoaXMuaCwgdGhpcy5jLCB0aGlzLmwgKyBLICogKGsgPT0gbnVsbCA/
IDEgOiBrKSwgdGhpcy5vcGFjaXR5KTsKKyAgfSwKKyAgZGFya2VyOiBmdW5jdGlvbihrKSB7Cisg
ICAgcmV0dXJuIG5ldyBIY2wodGhpcy5oLCB0aGlzLmMsIHRoaXMubCAtIEsgKiAoayA9PSBudWxs
ID8gMSA6IGspLCB0aGlzLm9wYWNpdHkpOworICB9LAorICByZ2I6IGZ1bmN0aW9uKCkgeworICAg
IHJldHVybiBoY2wybGFiKHRoaXMpLnJnYigpOworICB9Cit9KSk7CisKK3ZhciBBID0gLTAuMTQ4
NjEsCisgICAgQiA9ICsxLjc4Mjc3LAorICAgIEMgPSAtMC4yOTIyNywKKyAgICBEID0gLTAuOTA2
NDksCisgICAgRSA9ICsxLjk3Mjk0LAorICAgIEVEID0gRSAqIEQsCisgICAgRUIgPSBFICogQiwK
KyAgICBCQ19EQSA9IEIgKiBDIC0gRCAqIEE7CisKK2Z1bmN0aW9uIGN1YmVoZWxpeENvbnZlcnQo
bykgeworICBpZiAobyBpbnN0YW5jZW9mIEN1YmVoZWxpeCkgcmV0dXJuIG5ldyBDdWJlaGVsaXgo
by5oLCBvLnMsIG8ubCwgby5vcGFjaXR5KTsKKyAgaWYgKCEobyBpbnN0YW5jZW9mIFJnYikpIG8g
PSByZ2JDb252ZXJ0KG8pOworICB2YXIgciA9IG8uciAvIDI1NSwKKyAgICAgIGcgPSBvLmcgLyAy
NTUsCisgICAgICBiID0gby5iIC8gMjU1LAorICAgICAgbCA9IChCQ19EQSAqIGIgKyBFRCAqIHIg
LSBFQiAqIGcpIC8gKEJDX0RBICsgRUQgLSBFQiksCisgICAgICBibCA9IGIgLSBsLAorICAgICAg
ayA9IChFICogKGcgLSBsKSAtIEMgKiBibCkgLyBELAorICAgICAgcyA9IE1hdGguc3FydChrICog
ayArIGJsICogYmwpIC8gKEUgKiBsICogKDEgLSBsKSksIC8vIE5hTiBpZiBsPTAgb3IgbD0xCisg
ICAgICBoID0gcyA/IE1hdGguYXRhbjIoaywgYmwpICogcmFkMmRlZyAtIDEyMCA6IE5hTjsKKyAg
cmV0dXJuIG5ldyBDdWJlaGVsaXgoaCA8IDAgPyBoICsgMzYwIDogaCwgcywgbCwgby5vcGFjaXR5
KTsKK30KKworZnVuY3Rpb24gY3ViZWhlbGl4KGgsIHMsIGwsIG9wYWNpdHkpIHsKKyAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPT09IDEgPyBjdWJlaGVsaXhDb252ZXJ0KGgpIDogbmV3IEN1YmVo
ZWxpeChoLCBzLCBsLCBvcGFjaXR5ID09IG51bGwgPyAxIDogb3BhY2l0eSk7Cit9CisKK2Z1bmN0
aW9uIEN1YmVoZWxpeChoLCBzLCBsLCBvcGFjaXR5KSB7CisgIHRoaXMuaCA9ICtoOworICB0aGlz
LnMgPSArczsKKyAgdGhpcy5sID0gK2w7CisgIHRoaXMub3BhY2l0eSA9ICtvcGFjaXR5OworfQor
CitkZWZpbmUoQ3ViZWhlbGl4LCBjdWJlaGVsaXgsIGV4dGVuZChDb2xvciwgeworICBicmlnaHRl
cjogZnVuY3Rpb24oaykgeworICAgIGsgPSBrID09IG51bGwgPyBicmlnaHRlciA6IE1hdGgucG93
KGJyaWdodGVyLCBrKTsKKyAgICByZXR1cm4gbmV3IEN1YmVoZWxpeCh0aGlzLmgsIHRoaXMucywg
dGhpcy5sICogaywgdGhpcy5vcGFjaXR5KTsKKyAgfSwKKyAgZGFya2VyOiBmdW5jdGlvbihrKSB7
CisgICAgayA9IGsgPT0gbnVsbCA/IGRhcmtlciA6IE1hdGgucG93KGRhcmtlciwgayk7CisgICAg
cmV0dXJuIG5ldyBDdWJlaGVsaXgodGhpcy5oLCB0aGlzLnMsIHRoaXMubCAqIGssIHRoaXMub3Bh
Y2l0eSk7CisgIH0sCisgIHJnYjogZnVuY3Rpb24oKSB7CisgICAgdmFyIGggPSBpc05hTih0aGlz
LmgpID8gMCA6ICh0aGlzLmggKyAxMjApICogZGVnMnJhZCwKKyAgICAgICAgbCA9ICt0aGlzLmws
CisgICAgICAgIGEgPSBpc05hTih0aGlzLnMpID8gMCA6IHRoaXMucyAqIGwgKiAoMSAtIGwpLAor
ICAgICAgICBjb3NoID0gTWF0aC5jb3MoaCksCisgICAgICAgIHNpbmggPSBNYXRoLnNpbihoKTsK
KyAgICByZXR1cm4gbmV3IFJnYigKKyAgICAgIDI1NSAqIChsICsgYSAqIChBICogY29zaCArIEIg
KiBzaW5oKSksCisgICAgICAyNTUgKiAobCArIGEgKiAoQyAqIGNvc2ggKyBEICogc2luaCkpLAor
ICAgICAgMjU1ICogKGwgKyBhICogKEUgKiBjb3NoKSksCisgICAgICB0aGlzLm9wYWNpdHkKKyAg
ICApOworICB9Cit9KSk7CisKK2Z1bmN0aW9uIGJhc2lzKHQxLCB2MCwgdjEsIHYyLCB2Mykgewor
ICB2YXIgdDIgPSB0MSAqIHQxLCB0MyA9IHQyICogdDE7CisgIHJldHVybiAoKDEgLSAzICogdDEg
KyAzICogdDIgLSB0MykgKiB2MAorICAgICAgKyAoNCAtIDYgKiB0MiArIDMgKiB0MykgKiB2MQor
ICAgICAgKyAoMSArIDMgKiB0MSArIDMgKiB0MiAtIDMgKiB0MykgKiB2MgorICAgICAgKyB0MyAq
IHYzKSAvIDY7Cit9CisKK2Z1bmN0aW9uIGJhc2lzJDEodmFsdWVzKSB7CisgIHZhciBuID0gdmFs
dWVzLmxlbmd0aCAtIDE7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgdmFyIGkgPSB0IDw9
IDAgPyAodCA9IDApIDogdCA+PSAxID8gKHQgPSAxLCBuIC0gMSkgOiBNYXRoLmZsb29yKHQgKiBu
KSwKKyAgICAgICAgdjEgPSB2YWx1ZXNbaV0sCisgICAgICAgIHYyID0gdmFsdWVzW2kgKyAxXSwK
KyAgICAgICAgdjAgPSBpID4gMCA/IHZhbHVlc1tpIC0gMV0gOiAyICogdjEgLSB2MiwKKyAgICAg
ICAgdjMgPSBpIDwgbiAtIDEgPyB2YWx1ZXNbaSArIDJdIDogMiAqIHYyIC0gdjE7CisgICAgcmV0
dXJuIGJhc2lzKCh0IC0gaSAvIG4pICogbiwgdjAsIHYxLCB2MiwgdjMpOworICB9OworfQorCitm
dW5jdGlvbiBiYXNpc0Nsb3NlZCh2YWx1ZXMpIHsKKyAgdmFyIG4gPSB2YWx1ZXMubGVuZ3RoOwor
ICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHZhciBpID0gTWF0aC5mbG9vcigoKHQgJT0gMSkg
PCAwID8gKyt0IDogdCkgKiBuKSwKKyAgICAgICAgdjAgPSB2YWx1ZXNbKGkgKyBuIC0gMSkgJSBu
XSwKKyAgICAgICAgdjEgPSB2YWx1ZXNbaSAlIG5dLAorICAgICAgICB2MiA9IHZhbHVlc1soaSAr
IDEpICUgbl0sCisgICAgICAgIHYzID0gdmFsdWVzWyhpICsgMikgJSBuXTsKKyAgICByZXR1cm4g
YmFzaXMoKHQgLSBpIC8gbikgKiBuLCB2MCwgdjEsIHYyLCB2Myk7CisgIH07Cit9CisKK2Z1bmN0
aW9uIGNvbnN0YW50JDMoeCkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHg7
CisgIH07Cit9CisKK2Z1bmN0aW9uIGxpbmVhcihhLCBkKSB7CisgIHJldHVybiBmdW5jdGlvbih0
KSB7CisgICAgcmV0dXJuIGEgKyB0ICogZDsKKyAgfTsKK30KKworZnVuY3Rpb24gZXhwb25lbnRp
YWwoYSwgYiwgeSkgeworICByZXR1cm4gYSA9IE1hdGgucG93KGEsIHkpLCBiID0gTWF0aC5wb3co
YiwgeSkgLSBhLCB5ID0gMSAvIHksIGZ1bmN0aW9uKHQpIHsKKyAgICByZXR1cm4gTWF0aC5wb3co
YSArIHQgKiBiLCB5KTsKKyAgfTsKK30KKworZnVuY3Rpb24gaHVlKGEsIGIpIHsKKyAgdmFyIGQg
PSBiIC0gYTsKKyAgcmV0dXJuIGQgPyBsaW5lYXIoYSwgZCA+IDE4MCB8fCBkIDwgLTE4MCA/IGQg
LSAzNjAgKiBNYXRoLnJvdW5kKGQgLyAzNjApIDogZCkgOiBjb25zdGFudCQzKGlzTmFOKGEpID8g
YiA6IGEpOworfQorCitmdW5jdGlvbiBnYW1tYSh5KSB7CisgIHJldHVybiAoeSA9ICt5KSA9PT0g
MSA/IG5vZ2FtbWEgOiBmdW5jdGlvbihhLCBiKSB7CisgICAgcmV0dXJuIGIgLSBhID8gZXhwb25l
bnRpYWwoYSwgYiwgeSkgOiBjb25zdGFudCQzKGlzTmFOKGEpID8gYiA6IGEpOworICB9OworfQor
CitmdW5jdGlvbiBub2dhbW1hKGEsIGIpIHsKKyAgdmFyIGQgPSBiIC0gYTsKKyAgcmV0dXJuIGQg
PyBsaW5lYXIoYSwgZCkgOiBjb25zdGFudCQzKGlzTmFOKGEpID8gYiA6IGEpOworfQorCit2YXIg
aW50ZXJwb2xhdGVSZ2IgPSAoZnVuY3Rpb24gcmdiR2FtbWEoeSkgeworICB2YXIgY29sb3IgPSBn
YW1tYSh5KTsKKworICBmdW5jdGlvbiByZ2IkMShzdGFydCwgZW5kKSB7CisgICAgdmFyIHIgPSBj
b2xvcigoc3RhcnQgPSByZ2Ioc3RhcnQpKS5yLCAoZW5kID0gcmdiKGVuZCkpLnIpLAorICAgICAg
ICBnID0gY29sb3Ioc3RhcnQuZywgZW5kLmcpLAorICAgICAgICBiID0gY29sb3Ioc3RhcnQuYiwg
ZW5kLmIpLAorICAgICAgICBvcGFjaXR5ID0gbm9nYW1tYShzdGFydC5vcGFjaXR5LCBlbmQub3Bh
Y2l0eSk7CisgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICAgIHN0YXJ0LnIgPSByKHQpOwor
ICAgICAgc3RhcnQuZyA9IGcodCk7CisgICAgICBzdGFydC5iID0gYih0KTsKKyAgICAgIHN0YXJ0
Lm9wYWNpdHkgPSBvcGFjaXR5KHQpOworICAgICAgcmV0dXJuIHN0YXJ0ICsgIiI7CisgICAgfTsK
KyAgfQorCisgIHJnYiQxLmdhbW1hID0gcmdiR2FtbWE7CisKKyAgcmV0dXJuIHJnYiQxOworfSko
MSk7CisKK2Z1bmN0aW9uIHJnYlNwbGluZShzcGxpbmUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKGNv
bG9ycykgeworICAgIHZhciBuID0gY29sb3JzLmxlbmd0aCwKKyAgICAgICAgciA9IG5ldyBBcnJh
eShuKSwKKyAgICAgICAgZyA9IG5ldyBBcnJheShuKSwKKyAgICAgICAgYiA9IG5ldyBBcnJheShu
KSwKKyAgICAgICAgaSwgY29sb3I7CisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAg
ICAgY29sb3IgPSByZ2IoY29sb3JzW2ldKTsKKyAgICAgIHJbaV0gPSBjb2xvci5yIHx8IDA7Cisg
ICAgICBnW2ldID0gY29sb3IuZyB8fCAwOworICAgICAgYltpXSA9IGNvbG9yLmIgfHwgMDsKKyAg
ICB9CisgICAgciA9IHNwbGluZShyKTsKKyAgICBnID0gc3BsaW5lKGcpOworICAgIGIgPSBzcGxp
bmUoYik7CisgICAgY29sb3Iub3BhY2l0eSA9IDE7CisgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsK
KyAgICAgIGNvbG9yLnIgPSByKHQpOworICAgICAgY29sb3IuZyA9IGcodCk7CisgICAgICBjb2xv
ci5iID0gYih0KTsKKyAgICAgIHJldHVybiBjb2xvciArICIiOworICAgIH07CisgIH07Cit9CisK
K3ZhciByZ2JCYXNpcyA9IHJnYlNwbGluZShiYXNpcyQxKTsKK3ZhciByZ2JCYXNpc0Nsb3NlZCA9
IHJnYlNwbGluZShiYXNpc0Nsb3NlZCk7CisKK2Z1bmN0aW9uIGFycmF5JDEoYSwgYikgeworICB2
YXIgbmIgPSBiID8gYi5sZW5ndGggOiAwLAorICAgICAgbmEgPSBhID8gTWF0aC5taW4obmIsIGEu
bGVuZ3RoKSA6IDAsCisgICAgICB4ID0gbmV3IEFycmF5KG5hKSwKKyAgICAgIGMgPSBuZXcgQXJy
YXkobmIpLAorICAgICAgaTsKKworICBmb3IgKGkgPSAwOyBpIDwgbmE7ICsraSkgeFtpXSA9IGlu
dGVycG9sYXRlVmFsdWUoYVtpXSwgYltpXSk7CisgIGZvciAoOyBpIDwgbmI7ICsraSkgY1tpXSA9
IGJbaV07CisKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbmE7
ICsraSkgY1tpXSA9IHhbaV0odCk7CisgICAgcmV0dXJuIGM7CisgIH07Cit9CisKK2Z1bmN0aW9u
IGRhdGUoYSwgYikgeworICB2YXIgZCA9IG5ldyBEYXRlOworICByZXR1cm4gYSA9ICthLCBiIC09
IGEsIGZ1bmN0aW9uKHQpIHsKKyAgICByZXR1cm4gZC5zZXRUaW1lKGEgKyBiICogdCksIGQ7Cisg
IH07Cit9CisKK2Z1bmN0aW9uIGludGVycG9sYXRlTnVtYmVyKGEsIGIpIHsKKyAgcmV0dXJuIGEg
PSArYSwgYiAtPSBhLCBmdW5jdGlvbih0KSB7CisgICAgcmV0dXJuIGEgKyBiICogdDsKKyAgfTsK
K30KKworZnVuY3Rpb24gb2JqZWN0KGEsIGIpIHsKKyAgdmFyIGkgPSB7fSwKKyAgICAgIGMgPSB7
fSwKKyAgICAgIGs7CisKKyAgaWYgKGEgPT09IG51bGwgfHwgdHlwZW9mIGEgIT09ICJvYmplY3Qi
KSBhID0ge307CisgIGlmIChiID09PSBudWxsIHx8IHR5cGVvZiBiICE9PSAib2JqZWN0IikgYiA9
IHt9OworCisgIGZvciAoayBpbiBiKSB7CisgICAgaWYgKGsgaW4gYSkgeworICAgICAgaVtrXSA9
IGludGVycG9sYXRlVmFsdWUoYVtrXSwgYltrXSk7CisgICAgfSBlbHNlIHsKKyAgICAgIGNba10g
PSBiW2tdOworICAgIH0KKyAgfQorCisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgZm9yIChr
IGluIGkpIGNba10gPSBpW2tdKHQpOworICAgIHJldHVybiBjOworICB9OworfQorCit2YXIgcmVB
ID0gL1stK10/KD86XGQrXC4/XGQqfFwuP1xkKykoPzpbZUVdWy0rXT9cZCspPy9nLAorICAgIHJl
QiA9IG5ldyBSZWdFeHAocmVBLnNvdXJjZSwgImciKTsKKworZnVuY3Rpb24gemVybyhiKSB7Cisg
IHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gYjsKKyAgfTsKK30KKworZnVuY3Rpb24g
b25lKGIpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICByZXR1cm4gYih0KSArICIiOwor
ICB9OworfQorCitmdW5jdGlvbiBpbnRlcnBvbGF0ZVN0cmluZyhhLCBiKSB7CisgIHZhciBiaSA9
IHJlQS5sYXN0SW5kZXggPSByZUIubGFzdEluZGV4ID0gMCwgLy8gc2NhbiBpbmRleCBmb3IgbmV4
dCBudW1iZXIgaW4gYgorICAgICAgYW0sIC8vIGN1cnJlbnQgbWF0Y2ggaW4gYQorICAgICAgYm0s
IC8vIGN1cnJlbnQgbWF0Y2ggaW4gYgorICAgICAgYnMsIC8vIHN0cmluZyBwcmVjZWRpbmcgY3Vy
cmVudCBudW1iZXIgaW4gYiwgaWYgYW55CisgICAgICBpID0gLTEsIC8vIGluZGV4IGluIHMKKyAg
ICAgIHMgPSBbXSwgLy8gc3RyaW5nIGNvbnN0YW50cyBhbmQgcGxhY2Vob2xkZXJzCisgICAgICBx
ID0gW107IC8vIG51bWJlciBpbnRlcnBvbGF0b3JzCisKKyAgLy8gQ29lcmNlIGlucHV0cyB0byBz
dHJpbmdzLgorICBhID0gYSArICIiLCBiID0gYiArICIiOworCisgIC8vIEludGVycG9sYXRlIHBh
aXJzIG9mIG51bWJlcnMgaW4gYSAmIGIuCisgIHdoaWxlICgoYW0gPSByZUEuZXhlYyhhKSkKKyAg
ICAgICYmIChibSA9IHJlQi5leGVjKGIpKSkgeworICAgIGlmICgoYnMgPSBibS5pbmRleCkgPiBi
aSkgeyAvLyBhIHN0cmluZyBwcmVjZWRlcyB0aGUgbmV4dCBudW1iZXIgaW4gYgorICAgICAgYnMg
PSBiLnNsaWNlKGJpLCBicyk7CisgICAgICBpZiAoc1tpXSkgc1tpXSArPSBiczsgLy8gY29hbGVz
Y2Ugd2l0aCBwcmV2aW91cyBzdHJpbmcKKyAgICAgIGVsc2Ugc1srK2ldID0gYnM7CisgICAgfQor
ICAgIGlmICgoYW0gPSBhbVswXSkgPT09IChibSA9IGJtWzBdKSkgeyAvLyBudW1iZXJzIGluIGEg
JiBiIG1hdGNoCisgICAgICBpZiAoc1tpXSkgc1tpXSArPSBibTsgLy8gY29hbGVzY2Ugd2l0aCBw
cmV2aW91cyBzdHJpbmcKKyAgICAgIGVsc2Ugc1srK2ldID0gYm07CisgICAgfSBlbHNlIHsgLy8g
aW50ZXJwb2xhdGUgbm9uLW1hdGNoaW5nIG51bWJlcnMKKyAgICAgIHNbKytpXSA9IG51bGw7Cisg
ICAgICBxLnB1c2goe2k6IGksIHg6IGludGVycG9sYXRlTnVtYmVyKGFtLCBibSl9KTsKKyAgICB9
CisgICAgYmkgPSByZUIubGFzdEluZGV4OworICB9CisKKyAgLy8gQWRkIHJlbWFpbnMgb2YgYi4K
KyAgaWYgKGJpIDwgYi5sZW5ndGgpIHsKKyAgICBicyA9IGIuc2xpY2UoYmkpOworICAgIGlmIChz
W2ldKSBzW2ldICs9IGJzOyAvLyBjb2FsZXNjZSB3aXRoIHByZXZpb3VzIHN0cmluZworICAgIGVs
c2Ugc1srK2ldID0gYnM7CisgIH0KKworICAvLyBTcGVjaWFsIG9wdGltaXphdGlvbiBmb3Igb25s
eSBhIHNpbmdsZSBtYXRjaC4KKyAgLy8gT3RoZXJ3aXNlLCBpbnRlcnBvbGF0ZSBlYWNoIG9mIHRo
ZSBudW1iZXJzIGFuZCByZWpvaW4gdGhlIHN0cmluZy4KKyAgcmV0dXJuIHMubGVuZ3RoIDwgMiA/
IChxWzBdCisgICAgICA/IG9uZShxWzBdLngpCisgICAgICA6IHplcm8oYikpCisgICAgICA6IChi
ID0gcS5sZW5ndGgsIGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbzsg
aSA8IGI7ICsraSkgc1sobyA9IHFbaV0pLmldID0gby54KHQpOworICAgICAgICAgIHJldHVybiBz
LmpvaW4oIiIpOworICAgICAgICB9KTsKK30KKworZnVuY3Rpb24gaW50ZXJwb2xhdGVWYWx1ZShh
LCBiKSB7CisgIHZhciB0ID0gdHlwZW9mIGIsIGM7CisgIHJldHVybiBiID09IG51bGwgfHwgdCA9
PT0gImJvb2xlYW4iID8gY29uc3RhbnQkMyhiKQorICAgICAgOiAodCA9PT0gIm51bWJlciIgPyBp
bnRlcnBvbGF0ZU51bWJlcgorICAgICAgOiB0ID09PSAic3RyaW5nIiA/ICgoYyA9IGNvbG9yKGIp
KSA/IChiID0gYywgaW50ZXJwb2xhdGVSZ2IpIDogaW50ZXJwb2xhdGVTdHJpbmcpCisgICAgICA6
IGIgaW5zdGFuY2VvZiBjb2xvciA/IGludGVycG9sYXRlUmdiCisgICAgICA6IGIgaW5zdGFuY2Vv
ZiBEYXRlID8gZGF0ZQorICAgICAgOiBBcnJheS5pc0FycmF5KGIpID8gYXJyYXkkMQorICAgICAg
OiB0eXBlb2YgYi52YWx1ZU9mICE9PSAiZnVuY3Rpb24iICYmIHR5cGVvZiBiLnRvU3RyaW5nICE9
PSAiZnVuY3Rpb24iIHx8IGlzTmFOKGIpID8gb2JqZWN0CisgICAgICA6IGludGVycG9sYXRlTnVt
YmVyKShhLCBiKTsKK30KKworZnVuY3Rpb24gZGlzY3JldGUocmFuZ2UpIHsKKyAgdmFyIG4gPSBy
YW5nZS5sZW5ndGg7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgcmV0dXJuIHJhbmdlW01h
dGgubWF4KDAsIE1hdGgubWluKG4gLSAxLCBNYXRoLmZsb29yKHQgKiBuKSkpXTsKKyAgfTsKK30K
KworZnVuY3Rpb24gaHVlJDEoYSwgYikgeworICB2YXIgaSA9IGh1ZSgrYSwgK2IpOworICByZXR1
cm4gZnVuY3Rpb24odCkgeworICAgIHZhciB4ID0gaSh0KTsKKyAgICByZXR1cm4geCAtIDM2MCAq
IE1hdGguZmxvb3IoeCAvIDM2MCk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGludGVycG9sYXRlUm91
bmQoYSwgYikgeworICByZXR1cm4gYSA9ICthLCBiIC09IGEsIGZ1bmN0aW9uKHQpIHsKKyAgICBy
ZXR1cm4gTWF0aC5yb3VuZChhICsgYiAqIHQpOworICB9OworfQorCit2YXIgZGVncmVlcyA9IDE4
MCAvIE1hdGguUEk7CisKK3ZhciBpZGVudGl0eSQyID0geworICB0cmFuc2xhdGVYOiAwLAorICB0
cmFuc2xhdGVZOiAwLAorICByb3RhdGU6IDAsCisgIHNrZXdYOiAwLAorICBzY2FsZVg6IDEsCisg
IHNjYWxlWTogMQorfTsKKworZnVuY3Rpb24gZGVjb21wb3NlKGEsIGIsIGMsIGQsIGUsIGYpIHsK
KyAgdmFyIHNjYWxlWCwgc2NhbGVZLCBza2V3WDsKKyAgaWYgKHNjYWxlWCA9IE1hdGguc3FydChh
ICogYSArIGIgKiBiKSkgYSAvPSBzY2FsZVgsIGIgLz0gc2NhbGVYOworICBpZiAoc2tld1ggPSBh
ICogYyArIGIgKiBkKSBjIC09IGEgKiBza2V3WCwgZCAtPSBiICogc2tld1g7CisgIGlmIChzY2Fs
ZVkgPSBNYXRoLnNxcnQoYyAqIGMgKyBkICogZCkpIGMgLz0gc2NhbGVZLCBkIC89IHNjYWxlWSwg
c2tld1ggLz0gc2NhbGVZOworICBpZiAoYSAqIGQgPCBiICogYykgYSA9IC1hLCBiID0gLWIsIHNr
ZXdYID0gLXNrZXdYLCBzY2FsZVggPSAtc2NhbGVYOworICByZXR1cm4geworICAgIHRyYW5zbGF0
ZVg6IGUsCisgICAgdHJhbnNsYXRlWTogZiwKKyAgICByb3RhdGU6IE1hdGguYXRhbjIoYiwgYSkg
KiBkZWdyZWVzLAorICAgIHNrZXdYOiBNYXRoLmF0YW4oc2tld1gpICogZGVncmVlcywKKyAgICBz
Y2FsZVg6IHNjYWxlWCwKKyAgICBzY2FsZVk6IHNjYWxlWQorICB9OworfQorCit2YXIgY3NzTm9k
ZSwKKyAgICBjc3NSb290LAorICAgIGNzc1ZpZXcsCisgICAgc3ZnTm9kZTsKKworZnVuY3Rpb24g
cGFyc2VDc3ModmFsdWUpIHsKKyAgaWYgKHZhbHVlID09PSAibm9uZSIpIHJldHVybiBpZGVudGl0
eSQyOworICBpZiAoIWNzc05vZGUpIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJE
SVYiKSwgY3NzUm9vdCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgY3NzVmlldyA9IGRvY3Vt
ZW50LmRlZmF1bHRWaWV3OworICBjc3NOb2RlLnN0eWxlLnRyYW5zZm9ybSA9IHZhbHVlOworICB2
YWx1ZSA9IGNzc1ZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShjc3NSb290LmFwcGVuZENoaWxkKGNzc05v
ZGUpLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJ0cmFuc2Zvcm0iKTsKKyAgY3NzUm9vdC5yZW1v
dmVDaGlsZChjc3NOb2RlKTsKKyAgdmFsdWUgPSB2YWx1ZS5zbGljZSg3LCAtMSkuc3BsaXQoIiwi
KTsKKyAgcmV0dXJuIGRlY29tcG9zZSgrdmFsdWVbMF0sICt2YWx1ZVsxXSwgK3ZhbHVlWzJdLCAr
dmFsdWVbM10sICt2YWx1ZVs0XSwgK3ZhbHVlWzVdKTsKK30KKworZnVuY3Rpb24gcGFyc2VTdmco
dmFsdWUpIHsKKyAgaWYgKHZhbHVlID09IG51bGwpIHJldHVybiBpZGVudGl0eSQyOworICBpZiAo
IXN2Z05vZGUpIHN2Z05vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiwgImciKTsKKyAgc3ZnTm9kZS5zZXRBdHRyaWJ1dGUoInRyYW5zZm9y
bSIsIHZhbHVlKTsKKyAgaWYgKCEodmFsdWUgPSBzdmdOb2RlLnRyYW5zZm9ybS5iYXNlVmFsLmNv
bnNvbGlkYXRlKCkpKSByZXR1cm4gaWRlbnRpdHkkMjsKKyAgdmFsdWUgPSB2YWx1ZS5tYXRyaXg7
CisgIHJldHVybiBkZWNvbXBvc2UodmFsdWUuYSwgdmFsdWUuYiwgdmFsdWUuYywgdmFsdWUuZCwg
dmFsdWUuZSwgdmFsdWUuZik7Cit9CisKK2Z1bmN0aW9uIGludGVycG9sYXRlVHJhbnNmb3JtKHBh
cnNlLCBweENvbW1hLCBweFBhcmVuLCBkZWdQYXJlbikgeworCisgIGZ1bmN0aW9uIHBvcChzKSB7
CisgICAgcmV0dXJuIHMubGVuZ3RoID8gcy5wb3AoKSArICIgIiA6ICIiOworICB9CisKKyAgZnVu
Y3Rpb24gdHJhbnNsYXRlKHhhLCB5YSwgeGIsIHliLCBzLCBxKSB7CisgICAgaWYgKHhhICE9PSB4
YiB8fCB5YSAhPT0geWIpIHsKKyAgICAgIHZhciBpID0gcy5wdXNoKCJ0cmFuc2xhdGUoIiwgbnVs
bCwgcHhDb21tYSwgbnVsbCwgcHhQYXJlbik7CisgICAgICBxLnB1c2goe2k6IGkgLSA0LCB4OiBp
bnRlcnBvbGF0ZU51bWJlcih4YSwgeGIpfSwge2k6IGkgLSAyLCB4OiBpbnRlcnBvbGF0ZU51bWJl
cih5YSwgeWIpfSk7CisgICAgfSBlbHNlIGlmICh4YiB8fCB5YikgeworICAgICAgcy5wdXNoKCJ0
cmFuc2xhdGUoIiArIHhiICsgcHhDb21tYSArIHliICsgcHhQYXJlbik7CisgICAgfQorICB9CisK
KyAgZnVuY3Rpb24gcm90YXRlKGEsIGIsIHMsIHEpIHsKKyAgICBpZiAoYSAhPT0gYikgeworICAg
ICAgaWYgKGEgLSBiID4gMTgwKSBiICs9IDM2MDsgZWxzZSBpZiAoYiAtIGEgPiAxODApIGEgKz0g
MzYwOyAvLyBzaG9ydGVzdCBwYXRoCisgICAgICBxLnB1c2goe2k6IHMucHVzaChwb3AocykgKyAi
cm90YXRlKCIsIG51bGwsIGRlZ1BhcmVuKSAtIDIsIHg6IGludGVycG9sYXRlTnVtYmVyKGEsIGIp
fSk7CisgICAgfSBlbHNlIGlmIChiKSB7CisgICAgICBzLnB1c2gocG9wKHMpICsgInJvdGF0ZSgi
ICsgYiArIGRlZ1BhcmVuKTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBza2V3WChhLCBiLCBz
LCBxKSB7CisgICAgaWYgKGEgIT09IGIpIHsKKyAgICAgIHEucHVzaCh7aTogcy5wdXNoKHBvcChz
KSArICJza2V3WCgiLCBudWxsLCBkZWdQYXJlbikgLSAyLCB4OiBpbnRlcnBvbGF0ZU51bWJlcihh
LCBiKX0pOworICAgIH0gZWxzZSBpZiAoYikgeworICAgICAgcy5wdXNoKHBvcChzKSArICJza2V3
WCgiICsgYiArIGRlZ1BhcmVuKTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBzY2FsZSh4YSwg
eWEsIHhiLCB5YiwgcywgcSkgeworICAgIGlmICh4YSAhPT0geGIgfHwgeWEgIT09IHliKSB7Cisg
ICAgICB2YXIgaSA9IHMucHVzaChwb3AocykgKyAic2NhbGUoIiwgbnVsbCwgIiwiLCBudWxsLCAi
KSIpOworICAgICAgcS5wdXNoKHtpOiBpIC0gNCwgeDogaW50ZXJwb2xhdGVOdW1iZXIoeGEsIHhi
KX0sIHtpOiBpIC0gMiwgeDogaW50ZXJwb2xhdGVOdW1iZXIoeWEsIHliKX0pOworICAgIH0gZWxz
ZSBpZiAoeGIgIT09IDEgfHwgeWIgIT09IDEpIHsKKyAgICAgIHMucHVzaChwb3AocykgKyAic2Nh
bGUoIiArIHhiICsgIiwiICsgeWIgKyAiKSIpOworICAgIH0KKyAgfQorCisgIHJldHVybiBmdW5j
dGlvbihhLCBiKSB7CisgICAgdmFyIHMgPSBbXSwgLy8gc3RyaW5nIGNvbnN0YW50cyBhbmQgcGxh
Y2Vob2xkZXJzCisgICAgICAgIHEgPSBbXTsgLy8gbnVtYmVyIGludGVycG9sYXRvcnMKKyAgICBh
ID0gcGFyc2UoYSksIGIgPSBwYXJzZShiKTsKKyAgICB0cmFuc2xhdGUoYS50cmFuc2xhdGVYLCBh
LnRyYW5zbGF0ZVksIGIudHJhbnNsYXRlWCwgYi50cmFuc2xhdGVZLCBzLCBxKTsKKyAgICByb3Rh
dGUoYS5yb3RhdGUsIGIucm90YXRlLCBzLCBxKTsKKyAgICBza2V3WChhLnNrZXdYLCBiLnNrZXdY
LCBzLCBxKTsKKyAgICBzY2FsZShhLnNjYWxlWCwgYS5zY2FsZVksIGIuc2NhbGVYLCBiLnNjYWxl
WSwgcywgcSk7CisgICAgYSA9IGIgPSBudWxsOyAvLyBnYworICAgIHJldHVybiBmdW5jdGlvbih0
KSB7CisgICAgICB2YXIgaSA9IC0xLCBuID0gcS5sZW5ndGgsIG87CisgICAgICB3aGlsZSAoKytp
IDwgbikgc1sobyA9IHFbaV0pLmldID0gby54KHQpOworICAgICAgcmV0dXJuIHMuam9pbigiIik7
CisgICAgfTsKKyAgfTsKK30KKwordmFyIGludGVycG9sYXRlVHJhbnNmb3JtQ3NzID0gaW50ZXJw
b2xhdGVUcmFuc2Zvcm0ocGFyc2VDc3MsICJweCwgIiwgInB4KSIsICJkZWcpIik7Cit2YXIgaW50
ZXJwb2xhdGVUcmFuc2Zvcm1TdmcgPSBpbnRlcnBvbGF0ZVRyYW5zZm9ybShwYXJzZVN2ZywgIiwg
IiwgIikiLCAiKSIpOworCit2YXIgcmhvID0gTWF0aC5TUVJUMiwKKyAgICByaG8yID0gMiwKKyAg
ICByaG80ID0gNCwKKyAgICBlcHNpbG9uMiA9IDFlLTEyOworCitmdW5jdGlvbiBjb3NoKHgpIHsK
KyAgcmV0dXJuICgoeCA9IE1hdGguZXhwKHgpKSArIDEgLyB4KSAvIDI7Cit9CisKK2Z1bmN0aW9u
IHNpbmgoeCkgeworICByZXR1cm4gKCh4ID0gTWF0aC5leHAoeCkpIC0gMSAvIHgpIC8gMjsKK30K
KworZnVuY3Rpb24gdGFuaCh4KSB7CisgIHJldHVybiAoKHggPSBNYXRoLmV4cCgyICogeCkpIC0g
MSkgLyAoeCArIDEpOworfQorCisvLyBwMCA9IFt1eDAsIHV5MCwgdzBdCisvLyBwMSA9IFt1eDEs
IHV5MSwgdzFdCitmdW5jdGlvbiBpbnRlcnBvbGF0ZVpvb20ocDAsIHAxKSB7CisgIHZhciB1eDAg
PSBwMFswXSwgdXkwID0gcDBbMV0sIHcwID0gcDBbMl0sCisgICAgICB1eDEgPSBwMVswXSwgdXkx
ID0gcDFbMV0sIHcxID0gcDFbMl0sCisgICAgICBkeCA9IHV4MSAtIHV4MCwKKyAgICAgIGR5ID0g
dXkxIC0gdXkwLAorICAgICAgZDIgPSBkeCAqIGR4ICsgZHkgKiBkeSwKKyAgICAgIGksCisgICAg
ICBTOworCisgIC8vIFNwZWNpYWwgY2FzZSBmb3IgdTAg4omFIHUxLgorICBpZiAoZDIgPCBlcHNp
bG9uMikgeworICAgIFMgPSBNYXRoLmxvZyh3MSAvIHcwKSAvIHJobzsKKyAgICBpID0gZnVuY3Rp
b24odCkgeworICAgICAgcmV0dXJuIFsKKyAgICAgICAgdXgwICsgdCAqIGR4LAorICAgICAgICB1
eTAgKyB0ICogZHksCisgICAgICAgIHcwICogTWF0aC5leHAocmhvICogdCAqIFMpCisgICAgICBd
OworICAgIH07CisgIH0KKworICAvLyBHZW5lcmFsIGNhc2UuCisgIGVsc2UgeworICAgIHZhciBk
MSA9IE1hdGguc3FydChkMiksCisgICAgICAgIGIwID0gKHcxICogdzEgLSB3MCAqIHcwICsgcmhv
NCAqIGQyKSAvICgyICogdzAgKiByaG8yICogZDEpLAorICAgICAgICBiMSA9ICh3MSAqIHcxIC0g
dzAgKiB3MCAtIHJobzQgKiBkMikgLyAoMiAqIHcxICogcmhvMiAqIGQxKSwKKyAgICAgICAgcjAg
PSBNYXRoLmxvZyhNYXRoLnNxcnQoYjAgKiBiMCArIDEpIC0gYjApLAorICAgICAgICByMSA9IE1h
dGgubG9nKE1hdGguc3FydChiMSAqIGIxICsgMSkgLSBiMSk7CisgICAgUyA9IChyMSAtIHIwKSAv
IHJobzsKKyAgICBpID0gZnVuY3Rpb24odCkgeworICAgICAgdmFyIHMgPSB0ICogUywKKyAgICAg
ICAgICBjb3NocjAgPSBjb3NoKHIwKSwKKyAgICAgICAgICB1ID0gdzAgLyAocmhvMiAqIGQxKSAq
IChjb3NocjAgKiB0YW5oKHJobyAqIHMgKyByMCkgLSBzaW5oKHIwKSk7CisgICAgICByZXR1cm4g
WworICAgICAgICB1eDAgKyB1ICogZHgsCisgICAgICAgIHV5MCArIHUgKiBkeSwKKyAgICAgICAg
dzAgKiBjb3NocjAgLyBjb3NoKHJobyAqIHMgKyByMCkKKyAgICAgIF07CisgICAgfTsKKyAgfQor
CisgIGkuZHVyYXRpb24gPSBTICogMTAwMDsKKworICByZXR1cm4gaTsKK30KKworZnVuY3Rpb24g
aHNsJDEoaHVlKSB7CisgIHJldHVybiBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgICAgdmFyIGgg
PSBodWUoKHN0YXJ0ID0gaHNsKHN0YXJ0KSkuaCwgKGVuZCA9IGhzbChlbmQpKS5oKSwKKyAgICAg
ICAgcyA9IG5vZ2FtbWEoc3RhcnQucywgZW5kLnMpLAorICAgICAgICBsID0gbm9nYW1tYShzdGFy
dC5sLCBlbmQubCksCisgICAgICAgIG9wYWNpdHkgPSBub2dhbW1hKHN0YXJ0Lm9wYWNpdHksIGVu
ZC5vcGFjaXR5KTsKKyAgICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgICAgc3RhcnQuaCA9IGgo
dCk7CisgICAgICBzdGFydC5zID0gcyh0KTsKKyAgICAgIHN0YXJ0LmwgPSBsKHQpOworICAgICAg
c3RhcnQub3BhY2l0eSA9IG9wYWNpdHkodCk7CisgICAgICByZXR1cm4gc3RhcnQgKyAiIjsKKyAg
ICB9OworICB9Cit9CisKK3ZhciBoc2wkMiA9IGhzbCQxKGh1ZSk7Cit2YXIgaHNsTG9uZyA9IGhz
bCQxKG5vZ2FtbWEpOworCitmdW5jdGlvbiBsYWIkMShzdGFydCwgZW5kKSB7CisgIHZhciBsID0g
bm9nYW1tYSgoc3RhcnQgPSBsYWIoc3RhcnQpKS5sLCAoZW5kID0gbGFiKGVuZCkpLmwpLAorICAg
ICAgYSA9IG5vZ2FtbWEoc3RhcnQuYSwgZW5kLmEpLAorICAgICAgYiA9IG5vZ2FtbWEoc3RhcnQu
YiwgZW5kLmIpLAorICAgICAgb3BhY2l0eSA9IG5vZ2FtbWEoc3RhcnQub3BhY2l0eSwgZW5kLm9w
YWNpdHkpOworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHN0YXJ0LmwgPSBsKHQpOworICAg
IHN0YXJ0LmEgPSBhKHQpOworICAgIHN0YXJ0LmIgPSBiKHQpOworICAgIHN0YXJ0Lm9wYWNpdHkg
PSBvcGFjaXR5KHQpOworICAgIHJldHVybiBzdGFydCArICIiOworICB9OworfQorCitmdW5jdGlv
biBoY2wkMShodWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAgICB2YXIg
aCA9IGh1ZSgoc3RhcnQgPSBoY2woc3RhcnQpKS5oLCAoZW5kID0gaGNsKGVuZCkpLmgpLAorICAg
ICAgICBjID0gbm9nYW1tYShzdGFydC5jLCBlbmQuYyksCisgICAgICAgIGwgPSBub2dhbW1hKHN0
YXJ0LmwsIGVuZC5sKSwKKyAgICAgICAgb3BhY2l0eSA9IG5vZ2FtbWEoc3RhcnQub3BhY2l0eSwg
ZW5kLm9wYWNpdHkpOworICAgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgICBzdGFydC5oID0g
aCh0KTsKKyAgICAgIHN0YXJ0LmMgPSBjKHQpOworICAgICAgc3RhcnQubCA9IGwodCk7CisgICAg
ICBzdGFydC5vcGFjaXR5ID0gb3BhY2l0eSh0KTsKKyAgICAgIHJldHVybiBzdGFydCArICIiOwor
ICAgIH07CisgIH0KK30KKwordmFyIGhjbCQyID0gaGNsJDEoaHVlKTsKK3ZhciBoY2xMb25nID0g
aGNsJDEobm9nYW1tYSk7CisKK2Z1bmN0aW9uIGN1YmVoZWxpeCQxKGh1ZSkgeworICByZXR1cm4g
KGZ1bmN0aW9uIGN1YmVoZWxpeEdhbW1hKHkpIHsKKyAgICB5ID0gK3k7CisKKyAgICBmdW5jdGlv
biBjdWJlaGVsaXgkMShzdGFydCwgZW5kKSB7CisgICAgICB2YXIgaCA9IGh1ZSgoc3RhcnQgPSBj
dWJlaGVsaXgoc3RhcnQpKS5oLCAoZW5kID0gY3ViZWhlbGl4KGVuZCkpLmgpLAorICAgICAgICAg
IHMgPSBub2dhbW1hKHN0YXJ0LnMsIGVuZC5zKSwKKyAgICAgICAgICBsID0gbm9nYW1tYShzdGFy
dC5sLCBlbmQubCksCisgICAgICAgICAgb3BhY2l0eSA9IG5vZ2FtbWEoc3RhcnQub3BhY2l0eSwg
ZW5kLm9wYWNpdHkpOworICAgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgc3RhcnQu
aCA9IGgodCk7CisgICAgICAgIHN0YXJ0LnMgPSBzKHQpOworICAgICAgICBzdGFydC5sID0gbChN
YXRoLnBvdyh0LCB5KSk7CisgICAgICAgIHN0YXJ0Lm9wYWNpdHkgPSBvcGFjaXR5KHQpOworICAg
ICAgICByZXR1cm4gc3RhcnQgKyAiIjsKKyAgICAgIH07CisgICAgfQorCisgICAgY3ViZWhlbGl4
JDEuZ2FtbWEgPSBjdWJlaGVsaXhHYW1tYTsKKworICAgIHJldHVybiBjdWJlaGVsaXgkMTsKKyAg
fSkoMSk7Cit9CisKK3ZhciBjdWJlaGVsaXgkMiA9IGN1YmVoZWxpeCQxKGh1ZSk7Cit2YXIgY3Vi
ZWhlbGl4TG9uZyA9IGN1YmVoZWxpeCQxKG5vZ2FtbWEpOworCitmdW5jdGlvbiBwaWVjZXdpc2Uo
aW50ZXJwb2xhdGUsIHZhbHVlcykgeworICB2YXIgaSA9IDAsIG4gPSB2YWx1ZXMubGVuZ3RoIC0g
MSwgdiA9IHZhbHVlc1swXSwgSSA9IG5ldyBBcnJheShuIDwgMCA/IDAgOiBuKTsKKyAgd2hpbGUg
KGkgPCBuKSBJW2ldID0gaW50ZXJwb2xhdGUodiwgdiA9IHZhbHVlc1srK2ldKTsKKyAgcmV0dXJu
IGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgaSA9IE1hdGgubWF4KDAsIE1hdGgubWluKG4gLSAxLCBN
YXRoLmZsb29yKHQgKj0gbikpKTsKKyAgICByZXR1cm4gSVtpXSh0IC0gaSk7CisgIH07Cit9CisK
K2Z1bmN0aW9uIHF1YW50aXplKGludGVycG9sYXRvciwgbikgeworICB2YXIgc2FtcGxlcyA9IG5l
dyBBcnJheShuKTsKKyAgZm9yICh2YXIgaSA9IDA7IGkgPCBuOyArK2kpIHNhbXBsZXNbaV0gPSBp
bnRlcnBvbGF0b3IoaSAvIChuIC0gMSkpOworICByZXR1cm4gc2FtcGxlczsKK30KKwordmFyIGZy
YW1lID0gMCwgLy8gaXMgYW4gYW5pbWF0aW9uIGZyYW1lIHBlbmRpbmc/CisgICAgdGltZW91dCA9
IDAsIC8vIGlzIGEgdGltZW91dCBwZW5kaW5nPworICAgIGludGVydmFsID0gMCwgLy8gYXJlIGFu
eSB0aW1lcnMgYWN0aXZlPworICAgIHBva2VEZWxheSA9IDEwMDAsIC8vIGhvdyBmcmVxdWVudGx5
IHdlIGNoZWNrIGZvciBjbG9jayBza2V3CisgICAgdGFza0hlYWQsCisgICAgdGFza1RhaWwsCisg
ICAgY2xvY2tMYXN0ID0gMCwKKyAgICBjbG9ja05vdyA9IDAsCisgICAgY2xvY2tTa2V3ID0gMCwK
KyAgICBjbG9jayA9IHR5cGVvZiBwZXJmb3JtYW5jZSA9PT0gIm9iamVjdCIgJiYgcGVyZm9ybWFu
Y2Uubm93ID8gcGVyZm9ybWFuY2UgOiBEYXRlLAorICAgIHNldEZyYW1lID0gdHlwZW9mIHdpbmRv
dyA9PT0gIm9iamVjdCIgJiYgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA/IHdpbmRvdy5y
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpIDogZnVuY3Rpb24oZikgeyBzZXRUaW1l
b3V0KGYsIDE3KTsgfTsKKworZnVuY3Rpb24gbm93KCkgeworICByZXR1cm4gY2xvY2tOb3cgfHwg
KHNldEZyYW1lKGNsZWFyTm93KSwgY2xvY2tOb3cgPSBjbG9jay5ub3coKSArIGNsb2NrU2tldyk7
Cit9CisKK2Z1bmN0aW9uIGNsZWFyTm93KCkgeworICBjbG9ja05vdyA9IDA7Cit9CisKK2Z1bmN0
aW9uIFRpbWVyKCkgeworICB0aGlzLl9jYWxsID0KKyAgdGhpcy5fdGltZSA9CisgIHRoaXMuX25l
eHQgPSBudWxsOworfQorCitUaW1lci5wcm90b3R5cGUgPSB0aW1lci5wcm90b3R5cGUgPSB7Cisg
IGNvbnN0cnVjdG9yOiBUaW1lciwKKyAgcmVzdGFydDogZnVuY3Rpb24oY2FsbGJhY2ssIGRlbGF5
LCB0aW1lKSB7CisgICAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gImZ1bmN0aW9uIikgdGhyb3cg
bmV3IFR5cGVFcnJvcigiY2FsbGJhY2sgaXMgbm90IGEgZnVuY3Rpb24iKTsKKyAgICB0aW1lID0g
KHRpbWUgPT0gbnVsbCA/IG5vdygpIDogK3RpbWUpICsgKGRlbGF5ID09IG51bGwgPyAwIDogK2Rl
bGF5KTsKKyAgICBpZiAoIXRoaXMuX25leHQgJiYgdGFza1RhaWwgIT09IHRoaXMpIHsKKyAgICAg
IGlmICh0YXNrVGFpbCkgdGFza1RhaWwuX25leHQgPSB0aGlzOworICAgICAgZWxzZSB0YXNrSGVh
ZCA9IHRoaXM7CisgICAgICB0YXNrVGFpbCA9IHRoaXM7CisgICAgfQorICAgIHRoaXMuX2NhbGwg
PSBjYWxsYmFjazsKKyAgICB0aGlzLl90aW1lID0gdGltZTsKKyAgICBzbGVlcCgpOworICB9LAor
ICBzdG9wOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fY2FsbCkgeworICAgICAgdGhpcy5f
Y2FsbCA9IG51bGw7CisgICAgICB0aGlzLl90aW1lID0gSW5maW5pdHk7CisgICAgICBzbGVlcCgp
OworICAgIH0KKyAgfQorfTsKKworZnVuY3Rpb24gdGltZXIoY2FsbGJhY2ssIGRlbGF5LCB0aW1l
KSB7CisgIHZhciB0ID0gbmV3IFRpbWVyOworICB0LnJlc3RhcnQoY2FsbGJhY2ssIGRlbGF5LCB0
aW1lKTsKKyAgcmV0dXJuIHQ7Cit9CisKK2Z1bmN0aW9uIHRpbWVyRmx1c2goKSB7CisgIG5vdygp
OyAvLyBHZXQgdGhlIGN1cnJlbnQgdGltZSwgaWYgbm90IGFscmVhZHkgc2V0LgorICArK2ZyYW1l
OyAvLyBQcmV0ZW5kIHdl4oCZdmUgc2V0IGFuIGFsYXJtLCBpZiB3ZSBoYXZlbuKAmXQgYWxyZWFk
eS4KKyAgdmFyIHQgPSB0YXNrSGVhZCwgZTsKKyAgd2hpbGUgKHQpIHsKKyAgICBpZiAoKGUgPSBj
bG9ja05vdyAtIHQuX3RpbWUpID49IDApIHQuX2NhbGwuY2FsbChudWxsLCBlKTsKKyAgICB0ID0g
dC5fbmV4dDsKKyAgfQorICAtLWZyYW1lOworfQorCitmdW5jdGlvbiB3YWtlKCkgeworICBjbG9j
a05vdyA9IChjbG9ja0xhc3QgPSBjbG9jay5ub3coKSkgKyBjbG9ja1NrZXc7CisgIGZyYW1lID0g
dGltZW91dCA9IDA7CisgIHRyeSB7CisgICAgdGltZXJGbHVzaCgpOworICB9IGZpbmFsbHkgewor
ICAgIGZyYW1lID0gMDsKKyAgICBuYXAoKTsKKyAgICBjbG9ja05vdyA9IDA7CisgIH0KK30KKwor
ZnVuY3Rpb24gcG9rZSgpIHsKKyAgdmFyIG5vdyA9IGNsb2NrLm5vdygpLCBkZWxheSA9IG5vdyAt
IGNsb2NrTGFzdDsKKyAgaWYgKGRlbGF5ID4gcG9rZURlbGF5KSBjbG9ja1NrZXcgLT0gZGVsYXks
IGNsb2NrTGFzdCA9IG5vdzsKK30KKworZnVuY3Rpb24gbmFwKCkgeworICB2YXIgdDAsIHQxID0g
dGFza0hlYWQsIHQyLCB0aW1lID0gSW5maW5pdHk7CisgIHdoaWxlICh0MSkgeworICAgIGlmICh0
MS5fY2FsbCkgeworICAgICAgaWYgKHRpbWUgPiB0MS5fdGltZSkgdGltZSA9IHQxLl90aW1lOwor
ICAgICAgdDAgPSB0MSwgdDEgPSB0MS5fbmV4dDsKKyAgICB9IGVsc2UgeworICAgICAgdDIgPSB0
MS5fbmV4dCwgdDEuX25leHQgPSBudWxsOworICAgICAgdDEgPSB0MCA/IHQwLl9uZXh0ID0gdDIg
OiB0YXNrSGVhZCA9IHQyOworICAgIH0KKyAgfQorICB0YXNrVGFpbCA9IHQwOworICBzbGVlcCh0
aW1lKTsKK30KKworZnVuY3Rpb24gc2xlZXAodGltZSkgeworICBpZiAoZnJhbWUpIHJldHVybjsg
Ly8gU29vbmVzdCBhbGFybSBhbHJlYWR5IHNldCwgb3Igd2lsbCBiZS4KKyAgaWYgKHRpbWVvdXQp
IHRpbWVvdXQgPSBjbGVhclRpbWVvdXQodGltZW91dCk7CisgIHZhciBkZWxheSA9IHRpbWUgLSBj
bG9ja05vdzsgLy8gU3RyaWN0bHkgbGVzcyB0aGFuIGlmIHdlIHJlY29tcHV0ZWQgY2xvY2tOb3cu
CisgIGlmIChkZWxheSA+IDI0KSB7CisgICAgaWYgKHRpbWUgPCBJbmZpbml0eSkgdGltZW91dCA9
IHNldFRpbWVvdXQod2FrZSwgdGltZSAtIGNsb2NrLm5vdygpIC0gY2xvY2tTa2V3KTsKKyAgICBp
ZiAoaW50ZXJ2YWwpIGludGVydmFsID0gY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7CisgIH0gZWxz
ZSB7CisgICAgaWYgKCFpbnRlcnZhbCkgY2xvY2tMYXN0ID0gY2xvY2subm93KCksIGludGVydmFs
ID0gc2V0SW50ZXJ2YWwocG9rZSwgcG9rZURlbGF5KTsKKyAgICBmcmFtZSA9IDEsIHNldEZyYW1l
KHdha2UpOworICB9Cit9CisKK2Z1bmN0aW9uIHRpbWVvdXQkMShjYWxsYmFjaywgZGVsYXksIHRp
bWUpIHsKKyAgdmFyIHQgPSBuZXcgVGltZXI7CisgIGRlbGF5ID0gZGVsYXkgPT0gbnVsbCA/IDAg
OiArZGVsYXk7CisgIHQucmVzdGFydChmdW5jdGlvbihlbGFwc2VkKSB7CisgICAgdC5zdG9wKCk7
CisgICAgY2FsbGJhY2soZWxhcHNlZCArIGRlbGF5KTsKKyAgfSwgZGVsYXksIHRpbWUpOworICBy
ZXR1cm4gdDsKK30KKworZnVuY3Rpb24gaW50ZXJ2YWwkMShjYWxsYmFjaywgZGVsYXksIHRpbWUp
IHsKKyAgdmFyIHQgPSBuZXcgVGltZXIsIHRvdGFsID0gZGVsYXk7CisgIGlmIChkZWxheSA9PSBu
dWxsKSByZXR1cm4gdC5yZXN0YXJ0KGNhbGxiYWNrLCBkZWxheSwgdGltZSksIHQ7CisgIGRlbGF5
ID0gK2RlbGF5LCB0aW1lID0gdGltZSA9PSBudWxsID8gbm93KCkgOiArdGltZTsKKyAgdC5yZXN0
YXJ0KGZ1bmN0aW9uIHRpY2soZWxhcHNlZCkgeworICAgIGVsYXBzZWQgKz0gdG90YWw7CisgICAg
dC5yZXN0YXJ0KHRpY2ssIHRvdGFsICs9IGRlbGF5LCB0aW1lKTsKKyAgICBjYWxsYmFjayhlbGFw
c2VkKTsKKyAgfSwgZGVsYXksIHRpbWUpOworICByZXR1cm4gdDsKK30KKwordmFyIGVtcHR5T24g
PSBkaXNwYXRjaCgic3RhcnQiLCAiZW5kIiwgImNhbmNlbCIsICJpbnRlcnJ1cHQiKTsKK3ZhciBl
bXB0eVR3ZWVuID0gW107CisKK3ZhciBDUkVBVEVEID0gMDsKK3ZhciBTQ0hFRFVMRUQgPSAxOwor
dmFyIFNUQVJUSU5HID0gMjsKK3ZhciBTVEFSVEVEID0gMzsKK3ZhciBSVU5OSU5HID0gNDsKK3Zh
ciBFTkRJTkcgPSA1OwordmFyIEVOREVEID0gNjsKKworZnVuY3Rpb24gc2NoZWR1bGUobm9kZSwg
bmFtZSwgaWQsIGluZGV4LCBncm91cCwgdGltaW5nKSB7CisgIHZhciBzY2hlZHVsZXMgPSBub2Rl
Ll9fdHJhbnNpdGlvbjsKKyAgaWYgKCFzY2hlZHVsZXMpIG5vZGUuX190cmFuc2l0aW9uID0ge307
CisgIGVsc2UgaWYgKGlkIGluIHNjaGVkdWxlcykgcmV0dXJuOworICBjcmVhdGUkMShub2RlLCBp
ZCwgeworICAgIG5hbWU6IG5hbWUsCisgICAgaW5kZXg6IGluZGV4LCAvLyBGb3IgY29udGV4dCBk
dXJpbmcgY2FsbGJhY2suCisgICAgZ3JvdXA6IGdyb3VwLCAvLyBGb3IgY29udGV4dCBkdXJpbmcg
Y2FsbGJhY2suCisgICAgb246IGVtcHR5T24sCisgICAgdHdlZW46IGVtcHR5VHdlZW4sCisgICAg
dGltZTogdGltaW5nLnRpbWUsCisgICAgZGVsYXk6IHRpbWluZy5kZWxheSwKKyAgICBkdXJhdGlv
bjogdGltaW5nLmR1cmF0aW9uLAorICAgIGVhc2U6IHRpbWluZy5lYXNlLAorICAgIHRpbWVyOiBu
dWxsLAorICAgIHN0YXRlOiBDUkVBVEVECisgIH0pOworfQorCitmdW5jdGlvbiBpbml0KG5vZGUs
IGlkKSB7CisgIHZhciBzY2hlZHVsZSA9IGdldCQxKG5vZGUsIGlkKTsKKyAgaWYgKHNjaGVkdWxl
LnN0YXRlID4gQ1JFQVRFRCkgdGhyb3cgbmV3IEVycm9yKCJ0b28gbGF0ZTsgYWxyZWFkeSBzY2hl
ZHVsZWQiKTsKKyAgcmV0dXJuIHNjaGVkdWxlOworfQorCitmdW5jdGlvbiBzZXQkMShub2RlLCBp
ZCkgeworICB2YXIgc2NoZWR1bGUgPSBnZXQkMShub2RlLCBpZCk7CisgIGlmIChzY2hlZHVsZS5z
dGF0ZSA+IFNUQVJURUQpIHRocm93IG5ldyBFcnJvcigidG9vIGxhdGU7IGFscmVhZHkgcnVubmlu
ZyIpOworICByZXR1cm4gc2NoZWR1bGU7Cit9CisKK2Z1bmN0aW9uIGdldCQxKG5vZGUsIGlkKSB7
CisgIHZhciBzY2hlZHVsZSA9IG5vZGUuX190cmFuc2l0aW9uOworICBpZiAoIXNjaGVkdWxlIHx8
ICEoc2NoZWR1bGUgPSBzY2hlZHVsZVtpZF0pKSB0aHJvdyBuZXcgRXJyb3IoInRyYW5zaXRpb24g
bm90IGZvdW5kIik7CisgIHJldHVybiBzY2hlZHVsZTsKK30KKworZnVuY3Rpb24gY3JlYXRlJDEo
bm9kZSwgaWQsIHNlbGYpIHsKKyAgdmFyIHNjaGVkdWxlcyA9IG5vZGUuX190cmFuc2l0aW9uLAor
ICAgICAgdHdlZW47CisKKyAgLy8gSW5pdGlhbGl6ZSB0aGUgc2VsZiB0aW1lciB3aGVuIHRoZSB0
cmFuc2l0aW9uIGlzIGNyZWF0ZWQuCisgIC8vIE5vdGUgdGhlIGFjdHVhbCBkZWxheSBpcyBub3Qg
a25vd24gdW50aWwgdGhlIGZpcnN0IGNhbGxiYWNrIQorICBzY2hlZHVsZXNbaWRdID0gc2VsZjsK
KyAgc2VsZi50aW1lciA9IHRpbWVyKHNjaGVkdWxlLCAwLCBzZWxmLnRpbWUpOworCisgIGZ1bmN0
aW9uIHNjaGVkdWxlKGVsYXBzZWQpIHsKKyAgICBzZWxmLnN0YXRlID0gU0NIRURVTEVEOworICAg
IHNlbGYudGltZXIucmVzdGFydChzdGFydCwgc2VsZi5kZWxheSwgc2VsZi50aW1lKTsKKworICAg
IC8vIElmIHRoZSBlbGFwc2VkIGRlbGF5IGlzIGxlc3MgdGhhbiBvdXIgZmlyc3Qgc2xlZXAsIHN0
YXJ0IGltbWVkaWF0ZWx5LgorICAgIGlmIChzZWxmLmRlbGF5IDw9IGVsYXBzZWQpIHN0YXJ0KGVs
YXBzZWQgLSBzZWxmLmRlbGF5KTsKKyAgfQorCisgIGZ1bmN0aW9uIHN0YXJ0KGVsYXBzZWQpIHsK
KyAgICB2YXIgaSwgaiwgbiwgbzsKKworICAgIC8vIElmIHRoZSBzdGF0ZSBpcyBub3QgU0NIRURV
TEVELCB0aGVuIHdlIHByZXZpb3VzbHkgZXJyb3JlZCBvbiBzdGFydC4KKyAgICBpZiAoc2VsZi5z
dGF0ZSAhPT0gU0NIRURVTEVEKSByZXR1cm4gc3RvcCgpOworCisgICAgZm9yIChpIGluIHNjaGVk
dWxlcykgeworICAgICAgbyA9IHNjaGVkdWxlc1tpXTsKKyAgICAgIGlmIChvLm5hbWUgIT09IHNl
bGYubmFtZSkgY29udGludWU7CisKKyAgICAgIC8vIFdoaWxlIHRoaXMgZWxlbWVudCBhbHJlYWR5
IGhhcyBhIHN0YXJ0aW5nIHRyYW5zaXRpb24gZHVyaW5nIHRoaXMgZnJhbWUsCisgICAgICAvLyBk
ZWZlciBzdGFydGluZyBhbiBpbnRlcnJ1cHRpbmcgdHJhbnNpdGlvbiB1bnRpbCB0aGF0IHRyYW5z
aXRpb24gaGFzIGEKKyAgICAgIC8vIGNoYW5jZSB0byB0aWNrIChhbmQgcG9zc2libHkgZW5kKTsg
c2VlIGQzL2QzLXRyYW5zaXRpb24jNTQhCisgICAgICBpZiAoby5zdGF0ZSA9PT0gU1RBUlRFRCkg
cmV0dXJuIHRpbWVvdXQkMShzdGFydCk7CisKKyAgICAgIC8vIEludGVycnVwdCB0aGUgYWN0aXZl
IHRyYW5zaXRpb24sIGlmIGFueS4KKyAgICAgIGlmIChvLnN0YXRlID09PSBSVU5OSU5HKSB7Cisg
ICAgICAgIG8uc3RhdGUgPSBFTkRFRDsKKyAgICAgICAgby50aW1lci5zdG9wKCk7CisgICAgICAg
IG8ub24uY2FsbCgiaW50ZXJydXB0Iiwgbm9kZSwgbm9kZS5fX2RhdGFfXywgby5pbmRleCwgby5n
cm91cCk7CisgICAgICAgIGRlbGV0ZSBzY2hlZHVsZXNbaV07CisgICAgICB9CisKKyAgICAgIC8v
IENhbmNlbCBhbnkgcHJlLWVtcHRlZCB0cmFuc2l0aW9ucy4KKyAgICAgIGVsc2UgaWYgKCtpIDwg
aWQpIHsKKyAgICAgICAgby5zdGF0ZSA9IEVOREVEOworICAgICAgICBvLnRpbWVyLnN0b3AoKTsK
KyAgICAgICAgby5vbi5jYWxsKCJjYW5jZWwiLCBub2RlLCBub2RlLl9fZGF0YV9fLCBvLmluZGV4
LCBvLmdyb3VwKTsKKyAgICAgICAgZGVsZXRlIHNjaGVkdWxlc1tpXTsKKyAgICAgIH0KKyAgICB9
CisKKyAgICAvLyBEZWZlciB0aGUgZmlyc3QgdGljayB0byBlbmQgb2YgdGhlIGN1cnJlbnQgZnJh
bWU7IHNlZSBkMy9kMyMxNTc2LgorICAgIC8vIE5vdGUgdGhlIHRyYW5zaXRpb24gbWF5IGJlIGNh
bmNlbGVkIGFmdGVyIHN0YXJ0IGFuZCBiZWZvcmUgdGhlIGZpcnN0IHRpY2shCisgICAgLy8gTm90
ZSB0aGlzIG11c3QgYmUgc2NoZWR1bGVkIGJlZm9yZSB0aGUgc3RhcnQgZXZlbnQ7IHNlZSBkMy9k
My10cmFuc2l0aW9uIzE2IQorICAgIC8vIEFzc3VtaW5nIHRoaXMgaXMgc3VjY2Vzc2Z1bCwgc3Vi
c2VxdWVudCBjYWxsYmFja3MgZ28gc3RyYWlnaHQgdG8gdGljay4KKyAgICB0aW1lb3V0JDEoZnVu
Y3Rpb24oKSB7CisgICAgICBpZiAoc2VsZi5zdGF0ZSA9PT0gU1RBUlRFRCkgeworICAgICAgICBz
ZWxmLnN0YXRlID0gUlVOTklORzsKKyAgICAgICAgc2VsZi50aW1lci5yZXN0YXJ0KHRpY2ssIHNl
bGYuZGVsYXksIHNlbGYudGltZSk7CisgICAgICAgIHRpY2soZWxhcHNlZCk7CisgICAgICB9Cisg
ICAgfSk7CisKKyAgICAvLyBEaXNwYXRjaCB0aGUgc3RhcnQgZXZlbnQuCisgICAgLy8gTm90ZSB0
aGlzIG11c3QgYmUgZG9uZSBiZWZvcmUgdGhlIHR3ZWVuIGFyZSBpbml0aWFsaXplZC4KKyAgICBz
ZWxmLnN0YXRlID0gU1RBUlRJTkc7CisgICAgc2VsZi5vbi5jYWxsKCJzdGFydCIsIG5vZGUsIG5v
ZGUuX19kYXRhX18sIHNlbGYuaW5kZXgsIHNlbGYuZ3JvdXApOworICAgIGlmIChzZWxmLnN0YXRl
ICE9PSBTVEFSVElORykgcmV0dXJuOyAvLyBpbnRlcnJ1cHRlZAorICAgIHNlbGYuc3RhdGUgPSBT
VEFSVEVEOworCisgICAgLy8gSW5pdGlhbGl6ZSB0aGUgdHdlZW4sIGRlbGV0aW5nIG51bGwgdHdl
ZW4uCisgICAgdHdlZW4gPSBuZXcgQXJyYXkobiA9IHNlbGYudHdlZW4ubGVuZ3RoKTsKKyAgICBm
b3IgKGkgPSAwLCBqID0gLTE7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChvID0gc2VsZi50d2Vl
bltpXS52YWx1ZS5jYWxsKG5vZGUsIG5vZGUuX19kYXRhX18sIHNlbGYuaW5kZXgsIHNlbGYuZ3Jv
dXApKSB7CisgICAgICAgIHR3ZWVuWysral0gPSBvOworICAgICAgfQorICAgIH0KKyAgICB0d2Vl
bi5sZW5ndGggPSBqICsgMTsKKyAgfQorCisgIGZ1bmN0aW9uIHRpY2soZWxhcHNlZCkgeworICAg
IHZhciB0ID0gZWxhcHNlZCA8IHNlbGYuZHVyYXRpb24gPyBzZWxmLmVhc2UuY2FsbChudWxsLCBl
bGFwc2VkIC8gc2VsZi5kdXJhdGlvbikgOiAoc2VsZi50aW1lci5yZXN0YXJ0KHN0b3ApLCBzZWxm
LnN0YXRlID0gRU5ESU5HLCAxKSwKKyAgICAgICAgaSA9IC0xLAorICAgICAgICBuID0gdHdlZW4u
bGVuZ3RoOworCisgICAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIHR3ZWVuW2ldLmNhbGwobm9k
ZSwgdCk7CisgICAgfQorCisgICAgLy8gRGlzcGF0Y2ggdGhlIGVuZCBldmVudC4KKyAgICBpZiAo
c2VsZi5zdGF0ZSA9PT0gRU5ESU5HKSB7CisgICAgICBzZWxmLm9uLmNhbGwoImVuZCIsIG5vZGUs
IG5vZGUuX19kYXRhX18sIHNlbGYuaW5kZXgsIHNlbGYuZ3JvdXApOworICAgICAgc3RvcCgpOwor
ICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIHN0b3AoKSB7CisgICAgc2VsZi5zdGF0ZSA9IEVOREVE
OworICAgIHNlbGYudGltZXIuc3RvcCgpOworICAgIGRlbGV0ZSBzY2hlZHVsZXNbaWRdOworICAg
IGZvciAodmFyIGkgaW4gc2NoZWR1bGVzKSByZXR1cm47IC8vIGVzbGludC1kaXNhYmxlLWxpbmUg
bm8tdW51c2VkLXZhcnMKKyAgICBkZWxldGUgbm9kZS5fX3RyYW5zaXRpb247CisgIH0KK30KKwor
ZnVuY3Rpb24gaW50ZXJydXB0KG5vZGUsIG5hbWUpIHsKKyAgdmFyIHNjaGVkdWxlcyA9IG5vZGUu
X190cmFuc2l0aW9uLAorICAgICAgc2NoZWR1bGUsCisgICAgICBhY3RpdmUsCisgICAgICBlbXB0
eSA9IHRydWUsCisgICAgICBpOworCisgIGlmICghc2NoZWR1bGVzKSByZXR1cm47CisKKyAgbmFt
ZSA9IG5hbWUgPT0gbnVsbCA/IG51bGwgOiBuYW1lICsgIiI7CisKKyAgZm9yIChpIGluIHNjaGVk
dWxlcykgeworICAgIGlmICgoc2NoZWR1bGUgPSBzY2hlZHVsZXNbaV0pLm5hbWUgIT09IG5hbWUp
IHsgZW1wdHkgPSBmYWxzZTsgY29udGludWU7IH0KKyAgICBhY3RpdmUgPSBzY2hlZHVsZS5zdGF0
ZSA+IFNUQVJUSU5HICYmIHNjaGVkdWxlLnN0YXRlIDwgRU5ESU5HOworICAgIHNjaGVkdWxlLnN0
YXRlID0gRU5ERUQ7CisgICAgc2NoZWR1bGUudGltZXIuc3RvcCgpOworICAgIHNjaGVkdWxlLm9u
LmNhbGwoYWN0aXZlID8gImludGVycnVwdCIgOiAiY2FuY2VsIiwgbm9kZSwgbm9kZS5fX2RhdGFf
Xywgc2NoZWR1bGUuaW5kZXgsIHNjaGVkdWxlLmdyb3VwKTsKKyAgICBkZWxldGUgc2NoZWR1bGVz
W2ldOworICB9CisKKyAgaWYgKGVtcHR5KSBkZWxldGUgbm9kZS5fX3RyYW5zaXRpb247Cit9CisK
K2Z1bmN0aW9uIHNlbGVjdGlvbl9pbnRlcnJ1cHQobmFtZSkgeworICByZXR1cm4gdGhpcy5lYWNo
KGZ1bmN0aW9uKCkgeworICAgIGludGVycnVwdCh0aGlzLCBuYW1lKTsKKyAgfSk7Cit9CisKK2Z1
bmN0aW9uIHR3ZWVuUmVtb3ZlKGlkLCBuYW1lKSB7CisgIHZhciB0d2VlbjAsIHR3ZWVuMTsKKyAg
cmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBzY2hlZHVsZSA9IHNldCQxKHRoaXMsIGlkKSwK
KyAgICAgICAgdHdlZW4gPSBzY2hlZHVsZS50d2VlbjsKKworICAgIC8vIElmIHRoaXMgbm9kZSBz
aGFyZWQgdHdlZW4gd2l0aCB0aGUgcHJldmlvdXMgbm9kZSwKKyAgICAvLyBqdXN0IGFzc2lnbiB0
aGUgdXBkYXRlZCBzaGFyZWQgdHdlZW4gYW5kIHdl4oCZcmUgZG9uZSEKKyAgICAvLyBPdGhlcndp
c2UsIGNvcHktb24td3JpdGUuCisgICAgaWYgKHR3ZWVuICE9PSB0d2VlbjApIHsKKyAgICAgIHR3
ZWVuMSA9IHR3ZWVuMCA9IHR3ZWVuOworICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSB0d2VlbjEu
bGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgICAgIGlmICh0d2VlbjFbaV0ubmFtZSA9PT0gbmFt
ZSkgeworICAgICAgICAgIHR3ZWVuMSA9IHR3ZWVuMS5zbGljZSgpOworICAgICAgICAgIHR3ZWVu
MS5zcGxpY2UoaSwgMSk7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgIH0KKyAg
ICB9CisKKyAgICBzY2hlZHVsZS50d2VlbiA9IHR3ZWVuMTsKKyAgfTsKK30KKworZnVuY3Rpb24g
dHdlZW5GdW5jdGlvbihpZCwgbmFtZSwgdmFsdWUpIHsKKyAgdmFyIHR3ZWVuMCwgdHdlZW4xOwor
ICBpZiAodHlwZW9mIHZhbHVlICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHJl
dHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgc2NoZWR1bGUgPSBzZXQkMSh0aGlzLCBpZCksCisg
ICAgICAgIHR3ZWVuID0gc2NoZWR1bGUudHdlZW47CisKKyAgICAvLyBJZiB0aGlzIG5vZGUgc2hh
cmVkIHR3ZWVuIHdpdGggdGhlIHByZXZpb3VzIG5vZGUsCisgICAgLy8ganVzdCBhc3NpZ24gdGhl
IHVwZGF0ZWQgc2hhcmVkIHR3ZWVuIGFuZCB3ZeKAmXJlIGRvbmUhCisgICAgLy8gT3RoZXJ3aXNl
LCBjb3B5LW9uLXdyaXRlLgorICAgIGlmICh0d2VlbiAhPT0gdHdlZW4wKSB7CisgICAgICB0d2Vl
bjEgPSAodHdlZW4wID0gdHdlZW4pLnNsaWNlKCk7CisgICAgICBmb3IgKHZhciB0ID0ge25hbWU6
IG5hbWUsIHZhbHVlOiB2YWx1ZX0sIGkgPSAwLCBuID0gdHdlZW4xLmxlbmd0aDsgaSA8IG47ICsr
aSkgeworICAgICAgICBpZiAodHdlZW4xW2ldLm5hbWUgPT09IG5hbWUpIHsKKyAgICAgICAgICB0
d2VlbjFbaV0gPSB0OworICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICB9CisgICAg
ICBpZiAoaSA9PT0gbikgdHdlZW4xLnB1c2godCk7CisgICAgfQorCisgICAgc2NoZWR1bGUudHdl
ZW4gPSB0d2VlbjE7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fdHdlZW4obmFtZSwg
dmFsdWUpIHsKKyAgdmFyIGlkID0gdGhpcy5faWQ7CisKKyAgbmFtZSArPSAiIjsKKworICBpZiAo
YXJndW1lbnRzLmxlbmd0aCA8IDIpIHsKKyAgICB2YXIgdHdlZW4gPSBnZXQkMSh0aGlzLm5vZGUo
KSwgaWQpLnR3ZWVuOworICAgIGZvciAodmFyIGkgPSAwLCBuID0gdHdlZW4ubGVuZ3RoLCB0OyBp
IDwgbjsgKytpKSB7CisgICAgICBpZiAoKHQgPSB0d2VlbltpXSkubmFtZSA9PT0gbmFtZSkgewor
ICAgICAgICByZXR1cm4gdC52YWx1ZTsKKyAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIG51bGw7
CisgIH0KKworICByZXR1cm4gdGhpcy5lYWNoKCh2YWx1ZSA9PSBudWxsID8gdHdlZW5SZW1vdmUg
OiB0d2VlbkZ1bmN0aW9uKShpZCwgbmFtZSwgdmFsdWUpKTsKK30KKworZnVuY3Rpb24gdHdlZW5W
YWx1ZSh0cmFuc2l0aW9uLCBuYW1lLCB2YWx1ZSkgeworICB2YXIgaWQgPSB0cmFuc2l0aW9uLl9p
ZDsKKworICB0cmFuc2l0aW9uLmVhY2goZnVuY3Rpb24oKSB7CisgICAgdmFyIHNjaGVkdWxlID0g
c2V0JDEodGhpcywgaWQpOworICAgIChzY2hlZHVsZS52YWx1ZSB8fCAoc2NoZWR1bGUudmFsdWUg
PSB7fSkpW25hbWVdID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgfSk7CisKKyAg
cmV0dXJuIGZ1bmN0aW9uKG5vZGUpIHsKKyAgICByZXR1cm4gZ2V0JDEobm9kZSwgaWQpLnZhbHVl
W25hbWVdOworICB9OworfQorCitmdW5jdGlvbiBpbnRlcnBvbGF0ZShhLCBiKSB7CisgIHZhciBj
OworICByZXR1cm4gKHR5cGVvZiBiID09PSAibnVtYmVyIiA/IGludGVycG9sYXRlTnVtYmVyCisg
ICAgICA6IGIgaW5zdGFuY2VvZiBjb2xvciA/IGludGVycG9sYXRlUmdiCisgICAgICA6IChjID0g
Y29sb3IoYikpID8gKGIgPSBjLCBpbnRlcnBvbGF0ZVJnYikKKyAgICAgIDogaW50ZXJwb2xhdGVT
dHJpbmcpKGEsIGIpOworfQorCitmdW5jdGlvbiBhdHRyUmVtb3ZlJDEobmFtZSkgeworICByZXR1
cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7CisgIH07Cit9
CisKK2Z1bmN0aW9uIGF0dHJSZW1vdmVOUyQxKGZ1bGxuYW1lKSB7CisgIHJldHVybiBmdW5jdGlv
bigpIHsKKyAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFt
ZS5sb2NhbCk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGF0dHJDb25zdGFudCQxKG5hbWUsIGludGVy
cG9sYXRlLCB2YWx1ZTEpIHsKKyAgdmFyIHN0cmluZzAwLAorICAgICAgc3RyaW5nMSA9IHZhbHVl
MSArICIiLAorICAgICAgaW50ZXJwb2xhdGUwOworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAg
dmFyIHN0cmluZzAgPSB0aGlzLmdldEF0dHJpYnV0ZShuYW1lKTsKKyAgICByZXR1cm4gc3RyaW5n
MCA9PT0gc3RyaW5nMSA/IG51bGwKKyAgICAgICAgOiBzdHJpbmcwID09PSBzdHJpbmcwMCA/IGlu
dGVycG9sYXRlMAorICAgICAgICA6IGludGVycG9sYXRlMCA9IGludGVycG9sYXRlKHN0cmluZzAw
ID0gc3RyaW5nMCwgdmFsdWUxKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0ckNvbnN0YW50TlMk
MShmdWxsbmFtZSwgaW50ZXJwb2xhdGUsIHZhbHVlMSkgeworICB2YXIgc3RyaW5nMDAsCisgICAg
ICBzdHJpbmcxID0gdmFsdWUxICsgIiIsCisgICAgICBpbnRlcnBvbGF0ZTA7CisgIHJldHVybiBm
dW5jdGlvbigpIHsKKyAgICB2YXIgc3RyaW5nMCA9IHRoaXMuZ2V0QXR0cmlidXRlTlMoZnVsbG5h
bWUuc3BhY2UsIGZ1bGxuYW1lLmxvY2FsKTsKKyAgICByZXR1cm4gc3RyaW5nMCA9PT0gc3RyaW5n
MSA/IG51bGwKKyAgICAgICAgOiBzdHJpbmcwID09PSBzdHJpbmcwMCA/IGludGVycG9sYXRlMAor
ICAgICAgICA6IGludGVycG9sYXRlMCA9IGludGVycG9sYXRlKHN0cmluZzAwID0gc3RyaW5nMCwg
dmFsdWUxKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0ckZ1bmN0aW9uJDEobmFtZSwgaW50ZXJw
b2xhdGUsIHZhbHVlKSB7CisgIHZhciBzdHJpbmcwMCwKKyAgICAgIHN0cmluZzEwLAorICAgICAg
aW50ZXJwb2xhdGUwOworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHN0cmluZzAsIHZh
bHVlMSA9IHZhbHVlKHRoaXMpLCBzdHJpbmcxOworICAgIGlmICh2YWx1ZTEgPT0gbnVsbCkgcmV0
dXJuIHZvaWQgdGhpcy5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7CisgICAgc3RyaW5nMCA9IHRoaXMu
Z2V0QXR0cmlidXRlKG5hbWUpOworICAgIHN0cmluZzEgPSB2YWx1ZTEgKyAiIjsKKyAgICByZXR1
cm4gc3RyaW5nMCA9PT0gc3RyaW5nMSA/IG51bGwKKyAgICAgICAgOiBzdHJpbmcwID09PSBzdHJp
bmcwMCAmJiBzdHJpbmcxID09PSBzdHJpbmcxMCA/IGludGVycG9sYXRlMAorICAgICAgICA6IChz
dHJpbmcxMCA9IHN0cmluZzEsIGludGVycG9sYXRlMCA9IGludGVycG9sYXRlKHN0cmluZzAwID0g
c3RyaW5nMCwgdmFsdWUxKSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGF0dHJGdW5jdGlvbk5TJDEo
ZnVsbG5hbWUsIGludGVycG9sYXRlLCB2YWx1ZSkgeworICB2YXIgc3RyaW5nMDAsCisgICAgICBz
dHJpbmcxMCwKKyAgICAgIGludGVycG9sYXRlMDsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAg
IHZhciBzdHJpbmcwLCB2YWx1ZTEgPSB2YWx1ZSh0aGlzKSwgc3RyaW5nMTsKKyAgICBpZiAodmFs
dWUxID09IG51bGwpIHJldHVybiB2b2lkIHRoaXMucmVtb3ZlQXR0cmlidXRlTlMoZnVsbG5hbWUu
c3BhY2UsIGZ1bGxuYW1lLmxvY2FsKTsKKyAgICBzdHJpbmcwID0gdGhpcy5nZXRBdHRyaWJ1dGVO
UyhmdWxsbmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWwpOworICAgIHN0cmluZzEgPSB2YWx1ZTEg
KyAiIjsKKyAgICByZXR1cm4gc3RyaW5nMCA9PT0gc3RyaW5nMSA/IG51bGwKKyAgICAgICAgOiBz
dHJpbmcwID09PSBzdHJpbmcwMCAmJiBzdHJpbmcxID09PSBzdHJpbmcxMCA/IGludGVycG9sYXRl
MAorICAgICAgICA6IChzdHJpbmcxMCA9IHN0cmluZzEsIGludGVycG9sYXRlMCA9IGludGVycG9s
YXRlKHN0cmluZzAwID0gc3RyaW5nMCwgdmFsdWUxKSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRy
YW5zaXRpb25fYXR0cihuYW1lLCB2YWx1ZSkgeworICB2YXIgZnVsbG5hbWUgPSBuYW1lc3BhY2Uo
bmFtZSksIGkgPSBmdWxsbmFtZSA9PT0gInRyYW5zZm9ybSIgPyBpbnRlcnBvbGF0ZVRyYW5zZm9y
bVN2ZyA6IGludGVycG9sYXRlOworICByZXR1cm4gdGhpcy5hdHRyVHdlZW4obmFtZSwgdHlwZW9m
IHZhbHVlID09PSAiZnVuY3Rpb24iCisgICAgICA/IChmdWxsbmFtZS5sb2NhbCA/IGF0dHJGdW5j
dGlvbk5TJDEgOiBhdHRyRnVuY3Rpb24kMSkoZnVsbG5hbWUsIGksIHR3ZWVuVmFsdWUodGhpcywg
ImF0dHIuIiArIG5hbWUsIHZhbHVlKSkKKyAgICAgIDogdmFsdWUgPT0gbnVsbCA/IChmdWxsbmFt
ZS5sb2NhbCA/IGF0dHJSZW1vdmVOUyQxIDogYXR0clJlbW92ZSQxKShmdWxsbmFtZSkKKyAgICAg
IDogKGZ1bGxuYW1lLmxvY2FsID8gYXR0ckNvbnN0YW50TlMkMSA6IGF0dHJDb25zdGFudCQxKShm
dWxsbmFtZSwgaSwgdmFsdWUpKTsKK30KKworZnVuY3Rpb24gYXR0ckludGVycG9sYXRlKG5hbWUs
IGkpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICB0aGlzLnNldEF0dHJpYnV0ZShuYW1l
LCBpLmNhbGwodGhpcywgdCkpOworICB9OworfQorCitmdW5jdGlvbiBhdHRySW50ZXJwb2xhdGVO
UyhmdWxsbmFtZSwgaSkgeworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHRoaXMuc2V0QXR0
cmlidXRlTlMoZnVsbG5hbWUuc3BhY2UsIGZ1bGxuYW1lLmxvY2FsLCBpLmNhbGwodGhpcywgdCkp
OworICB9OworfQorCitmdW5jdGlvbiBhdHRyVHdlZW5OUyhmdWxsbmFtZSwgdmFsdWUpIHsKKyAg
dmFyIHQwLCBpMDsKKyAgZnVuY3Rpb24gdHdlZW4oKSB7CisgICAgdmFyIGkgPSB2YWx1ZS5hcHBs
eSh0aGlzLCBhcmd1bWVudHMpOworICAgIGlmIChpICE9PSBpMCkgdDAgPSAoaTAgPSBpKSAmJiBh
dHRySW50ZXJwb2xhdGVOUyhmdWxsbmFtZSwgaSk7CisgICAgcmV0dXJuIHQwOworICB9CisgIHR3
ZWVuLl92YWx1ZSA9IHZhbHVlOworICByZXR1cm4gdHdlZW47Cit9CisKK2Z1bmN0aW9uIGF0dHJU
d2VlbihuYW1lLCB2YWx1ZSkgeworICB2YXIgdDAsIGkwOworICBmdW5jdGlvbiB0d2VlbigpIHsK
KyAgICB2YXIgaSA9IHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKGkgIT09
IGkwKSB0MCA9IChpMCA9IGkpICYmIGF0dHJJbnRlcnBvbGF0ZShuYW1lLCBpKTsKKyAgICByZXR1
cm4gdDA7CisgIH0KKyAgdHdlZW4uX3ZhbHVlID0gdmFsdWU7CisgIHJldHVybiB0d2VlbjsKK30K
KworZnVuY3Rpb24gdHJhbnNpdGlvbl9hdHRyVHdlZW4obmFtZSwgdmFsdWUpIHsKKyAgdmFyIGtl
eSA9ICJhdHRyLiIgKyBuYW1lOworICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHJldHVybiAo
a2V5ID0gdGhpcy50d2VlbihrZXkpKSAmJiBrZXkuX3ZhbHVlOworICBpZiAodmFsdWUgPT0gbnVs
bCkgcmV0dXJuIHRoaXMudHdlZW4oa2V5LCBudWxsKTsKKyAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0g
ImZ1bmN0aW9uIikgdGhyb3cgbmV3IEVycm9yOworICB2YXIgZnVsbG5hbWUgPSBuYW1lc3BhY2Uo
bmFtZSk7CisgIHJldHVybiB0aGlzLnR3ZWVuKGtleSwgKGZ1bGxuYW1lLmxvY2FsID8gYXR0clR3
ZWVuTlMgOiBhdHRyVHdlZW4pKGZ1bGxuYW1lLCB2YWx1ZSkpOworfQorCitmdW5jdGlvbiBkZWxh
eUZ1bmN0aW9uKGlkLCB2YWx1ZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgaW5pdCh0
aGlzLCBpZCkuZGVsYXkgPSArdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgfTsKK30K
KworZnVuY3Rpb24gZGVsYXlDb25zdGFudChpZCwgdmFsdWUpIHsKKyAgcmV0dXJuIHZhbHVlID0g
K3ZhbHVlLCBmdW5jdGlvbigpIHsKKyAgICBpbml0KHRoaXMsIGlkKS5kZWxheSA9IHZhbHVlOwor
ICB9OworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX2RlbGF5KHZhbHVlKSB7CisgIHZhciBpZCA9
IHRoaXMuX2lkOworCisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoCisgICAgICA/IHRoaXMuZWFj
aCgodHlwZW9mIHZhbHVlID09PSAiZnVuY3Rpb24iCisgICAgICAgICAgPyBkZWxheUZ1bmN0aW9u
CisgICAgICAgICAgOiBkZWxheUNvbnN0YW50KShpZCwgdmFsdWUpKQorICAgICAgOiBnZXQkMSh0
aGlzLm5vZGUoKSwgaWQpLmRlbGF5OworfQorCitmdW5jdGlvbiBkdXJhdGlvbkZ1bmN0aW9uKGlk
LCB2YWx1ZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgc2V0JDEodGhpcywgaWQpLmR1
cmF0aW9uID0gK3ZhbHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgIH07Cit9CisKK2Z1bmN0
aW9uIGR1cmF0aW9uQ29uc3RhbnQoaWQsIHZhbHVlKSB7CisgIHJldHVybiB2YWx1ZSA9ICt2YWx1
ZSwgZnVuY3Rpb24oKSB7CisgICAgc2V0JDEodGhpcywgaWQpLmR1cmF0aW9uID0gdmFsdWU7Cisg
IH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fZHVyYXRpb24odmFsdWUpIHsKKyAgdmFyIGlk
ID0gdGhpcy5faWQ7CisKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgKKyAgICAgID8gdGhpcy5l
YWNoKCh0eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIKKyAgICAgICAgICA/IGR1cmF0aW9uRnVu
Y3Rpb24KKyAgICAgICAgICA6IGR1cmF0aW9uQ29uc3RhbnQpKGlkLCB2YWx1ZSkpCisgICAgICA6
IGdldCQxKHRoaXMubm9kZSgpLCBpZCkuZHVyYXRpb247Cit9CisKK2Z1bmN0aW9uIGVhc2VDb25z
dGFudChpZCwgdmFsdWUpIHsKKyAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gImZ1bmN0aW9uIikgdGhy
b3cgbmV3IEVycm9yOworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgc2V0JDEodGhpcywgaWQp
LmVhc2UgPSB2YWx1ZTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl9lYXNlKHZhbHVl
KSB7CisgIHZhciBpZCA9IHRoaXMuX2lkOworCisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoCisg
ICAgICA/IHRoaXMuZWFjaChlYXNlQ29uc3RhbnQoaWQsIHZhbHVlKSkKKyAgICAgIDogZ2V0JDEo
dGhpcy5ub2RlKCksIGlkKS5lYXNlOworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX2ZpbHRlciht
YXRjaCkgeworICBpZiAodHlwZW9mIG1hdGNoICE9PSAiZnVuY3Rpb24iKSBtYXRjaCA9IG1hdGNo
ZXIobWF0Y2gpOworCisgIGZvciAodmFyIGdyb3VwcyA9IHRoaXMuX2dyb3VwcywgbSA9IGdyb3Vw
cy5sZW5ndGgsIHN1Ymdyb3VwcyA9IG5ldyBBcnJheShtKSwgaiA9IDA7IGogPCBtOyArK2opIHsK
KyAgICBmb3IgKHZhciBncm91cCA9IGdyb3Vwc1tqXSwgbiA9IGdyb3VwLmxlbmd0aCwgc3ViZ3Jv
dXAgPSBzdWJncm91cHNbal0gPSBbXSwgbm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAg
IGlmICgobm9kZSA9IGdyb3VwW2ldKSAmJiBtYXRjaC5jYWxsKG5vZGUsIG5vZGUuX19kYXRhX18s
IGksIGdyb3VwKSkgeworICAgICAgICBzdWJncm91cC5wdXNoKG5vZGUpOworICAgICAgfQorICAg
IH0KKyAgfQorCisgIHJldHVybiBuZXcgVHJhbnNpdGlvbihzdWJncm91cHMsIHRoaXMuX3BhcmVu
dHMsIHRoaXMuX25hbWUsIHRoaXMuX2lkKTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl9tZXJn
ZSh0cmFuc2l0aW9uKSB7CisgIGlmICh0cmFuc2l0aW9uLl9pZCAhPT0gdGhpcy5faWQpIHRocm93
IG5ldyBFcnJvcjsKKworICBmb3IgKHZhciBncm91cHMwID0gdGhpcy5fZ3JvdXBzLCBncm91cHMx
ID0gdHJhbnNpdGlvbi5fZ3JvdXBzLCBtMCA9IGdyb3VwczAubGVuZ3RoLCBtMSA9IGdyb3VwczEu
bGVuZ3RoLCBtID0gTWF0aC5taW4obTAsIG0xKSwgbWVyZ2VzID0gbmV3IEFycmF5KG0wKSwgaiA9
IDA7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cDAgPSBncm91cHMwW2pdLCBncm91
cDEgPSBncm91cHMxW2pdLCBuID0gZ3JvdXAwLmxlbmd0aCwgbWVyZ2UgPSBtZXJnZXNbal0gPSBu
ZXcgQXJyYXkobiksIG5vZGUsIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAobm9kZSA9
IGdyb3VwMFtpXSB8fCBncm91cDFbaV0pIHsKKyAgICAgICAgbWVyZ2VbaV0gPSBub2RlOworICAg
ICAgfQorICAgIH0KKyAgfQorCisgIGZvciAoOyBqIDwgbTA7ICsraikgeworICAgIG1lcmdlc1tq
XSA9IGdyb3VwczBbal07CisgIH0KKworICByZXR1cm4gbmV3IFRyYW5zaXRpb24obWVyZ2VzLCB0
aGlzLl9wYXJlbnRzLCB0aGlzLl9uYW1lLCB0aGlzLl9pZCk7Cit9CisKK2Z1bmN0aW9uIHN0YXJ0
KG5hbWUpIHsKKyAgcmV0dXJuIChuYW1lICsgIiIpLnRyaW0oKS5zcGxpdCgvXnxccysvKS5ldmVy
eShmdW5jdGlvbih0KSB7CisgICAgdmFyIGkgPSB0LmluZGV4T2YoIi4iKTsKKyAgICBpZiAoaSA+
PSAwKSB0ID0gdC5zbGljZSgwLCBpKTsKKyAgICByZXR1cm4gIXQgfHwgdCA9PT0gInN0YXJ0IjsK
KyAgfSk7Cit9CisKK2Z1bmN0aW9uIG9uRnVuY3Rpb24oaWQsIG5hbWUsIGxpc3RlbmVyKSB7Cisg
IHZhciBvbjAsIG9uMSwgc2l0ID0gc3RhcnQobmFtZSkgPyBpbml0IDogc2V0JDE7CisgIHJldHVy
biBmdW5jdGlvbigpIHsKKyAgICB2YXIgc2NoZWR1bGUgPSBzaXQodGhpcywgaWQpLAorICAgICAg
ICBvbiA9IHNjaGVkdWxlLm9uOworCisgICAgLy8gSWYgdGhpcyBub2RlIHNoYXJlZCBhIGRpc3Bh
dGNoIHdpdGggdGhlIHByZXZpb3VzIG5vZGUsCisgICAgLy8ganVzdCBhc3NpZ24gdGhlIHVwZGF0
ZWQgc2hhcmVkIGRpc3BhdGNoIGFuZCB3ZeKAmXJlIGRvbmUhCisgICAgLy8gT3RoZXJ3aXNlLCBj
b3B5LW9uLXdyaXRlLgorICAgIGlmIChvbiAhPT0gb24wKSAob24xID0gKG9uMCA9IG9uKS5jb3B5
KCkpLm9uKG5hbWUsIGxpc3RlbmVyKTsKKworICAgIHNjaGVkdWxlLm9uID0gb24xOworICB9Owor
fQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX29uKG5hbWUsIGxpc3RlbmVyKSB7CisgIHZhciBpZCA9
IHRoaXMuX2lkOworCisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoIDwgMgorICAgICAgPyBnZXQk
MSh0aGlzLm5vZGUoKSwgaWQpLm9uLm9uKG5hbWUpCisgICAgICA6IHRoaXMuZWFjaChvbkZ1bmN0
aW9uKGlkLCBuYW1lLCBsaXN0ZW5lcikpOworfQorCitmdW5jdGlvbiByZW1vdmVGdW5jdGlvbihp
ZCkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHBhcmVudCA9IHRoaXMucGFyZW50
Tm9kZTsKKyAgICBmb3IgKHZhciBpIGluIHRoaXMuX190cmFuc2l0aW9uKSBpZiAoK2kgIT09IGlk
KSByZXR1cm47CisgICAgaWYgKHBhcmVudCkgcGFyZW50LnJlbW92ZUNoaWxkKHRoaXMpOworICB9
OworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX3JlbW92ZSgpIHsKKyAgcmV0dXJuIHRoaXMub24o
ImVuZC5yZW1vdmUiLCByZW1vdmVGdW5jdGlvbih0aGlzLl9pZCkpOworfQorCitmdW5jdGlvbiB0
cmFuc2l0aW9uX3NlbGVjdChzZWxlY3QpIHsKKyAgdmFyIG5hbWUgPSB0aGlzLl9uYW1lLAorICAg
ICAgaWQgPSB0aGlzLl9pZDsKKworICBpZiAodHlwZW9mIHNlbGVjdCAhPT0gImZ1bmN0aW9uIikg
c2VsZWN0ID0gc2VsZWN0b3Ioc2VsZWN0KTsKKworICBmb3IgKHZhciBncm91cHMgPSB0aGlzLl9n
cm91cHMsIG0gPSBncm91cHMubGVuZ3RoLCBzdWJncm91cHMgPSBuZXcgQXJyYXkobSksIGogPSAw
OyBqIDwgbTsgKytqKSB7CisgICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNbal0sIG4gPSBncm91
cC5sZW5ndGgsIHN1Ymdyb3VwID0gc3ViZ3JvdXBzW2pdID0gbmV3IEFycmF5KG4pLCBub2RlLCBz
dWJub2RlLCBpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgaWYgKChub2RlID0gZ3JvdXBbaV0p
ICYmIChzdWJub2RlID0gc2VsZWN0LmNhbGwobm9kZSwgbm9kZS5fX2RhdGFfXywgaSwgZ3JvdXAp
KSkgeworICAgICAgICBpZiAoIl9fZGF0YV9fIiBpbiBub2RlKSBzdWJub2RlLl9fZGF0YV9fID0g
bm9kZS5fX2RhdGFfXzsKKyAgICAgICAgc3ViZ3JvdXBbaV0gPSBzdWJub2RlOworICAgICAgICBz
Y2hlZHVsZShzdWJncm91cFtpXSwgbmFtZSwgaWQsIGksIHN1Ymdyb3VwLCBnZXQkMShub2RlLCBp
ZCkpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBuZXcgVHJhbnNpdGlvbihzdWJn
cm91cHMsIHRoaXMuX3BhcmVudHMsIG5hbWUsIGlkKTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlv
bl9zZWxlY3RBbGwoc2VsZWN0KSB7CisgIHZhciBuYW1lID0gdGhpcy5fbmFtZSwKKyAgICAgIGlk
ID0gdGhpcy5faWQ7CisKKyAgaWYgKHR5cGVvZiBzZWxlY3QgIT09ICJmdW5jdGlvbiIpIHNlbGVj
dCA9IHNlbGVjdG9yQWxsKHNlbGVjdCk7CisKKyAgZm9yICh2YXIgZ3JvdXBzID0gdGhpcy5fZ3Jv
dXBzLCBtID0gZ3JvdXBzLmxlbmd0aCwgc3ViZ3JvdXBzID0gW10sIHBhcmVudHMgPSBbXSwgaiA9
IDA7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdyb3Vwc1tqXSwgbiA9IGdy
b3VwLmxlbmd0aCwgbm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChub2RlID0g
Z3JvdXBbaV0pIHsKKyAgICAgICAgZm9yICh2YXIgY2hpbGRyZW4gPSBzZWxlY3QuY2FsbChub2Rl
LCBub2RlLl9fZGF0YV9fLCBpLCBncm91cCksIGNoaWxkLCBpbmhlcml0ID0gZ2V0JDEobm9kZSwg
aWQpLCBrID0gMCwgbCA9IGNoaWxkcmVuLmxlbmd0aDsgayA8IGw7ICsraykgeworICAgICAgICAg
IGlmIChjaGlsZCA9IGNoaWxkcmVuW2tdKSB7CisgICAgICAgICAgICBzY2hlZHVsZShjaGlsZCwg
bmFtZSwgaWQsIGssIGNoaWxkcmVuLCBpbmhlcml0KTsKKyAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICAgICAgc3ViZ3JvdXBzLnB1c2goY2hpbGRyZW4pOworICAgICAgICBwYXJlbnRzLnB1c2go
bm9kZSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIG5ldyBUcmFuc2l0aW9uKHN1
Ymdyb3VwcywgcGFyZW50cywgbmFtZSwgaWQpOworfQorCit2YXIgU2VsZWN0aW9uJDEgPSBzZWxl
Y3Rpb24ucHJvdG90eXBlLmNvbnN0cnVjdG9yOworCitmdW5jdGlvbiB0cmFuc2l0aW9uX3NlbGVj
dGlvbigpIHsKKyAgcmV0dXJuIG5ldyBTZWxlY3Rpb24kMSh0aGlzLl9ncm91cHMsIHRoaXMuX3Bh
cmVudHMpOworfQorCitmdW5jdGlvbiBzdHlsZU51bGwobmFtZSwgaW50ZXJwb2xhdGUpIHsKKyAg
dmFyIHN0cmluZzAwLAorICAgICAgc3RyaW5nMTAsCisgICAgICBpbnRlcnBvbGF0ZTA7CisgIHJl
dHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgc3RyaW5nMCA9IHN0eWxlVmFsdWUodGhpcywgbmFt
ZSksCisgICAgICAgIHN0cmluZzEgPSAodGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eShuYW1lKSwg
c3R5bGVWYWx1ZSh0aGlzLCBuYW1lKSk7CisgICAgcmV0dXJuIHN0cmluZzAgPT09IHN0cmluZzEg
PyBudWxsCisgICAgICAgIDogc3RyaW5nMCA9PT0gc3RyaW5nMDAgJiYgc3RyaW5nMSA9PT0gc3Ry
aW5nMTAgPyBpbnRlcnBvbGF0ZTAKKyAgICAgICAgOiBpbnRlcnBvbGF0ZTAgPSBpbnRlcnBvbGF0
ZShzdHJpbmcwMCA9IHN0cmluZzAsIHN0cmluZzEwID0gc3RyaW5nMSk7CisgIH07Cit9CisKK2Z1
bmN0aW9uIHN0eWxlUmVtb3ZlJDEobmFtZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAg
dGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eShuYW1lKTsKKyAgfTsKK30KKworZnVuY3Rpb24gc3R5
bGVDb25zdGFudCQxKG5hbWUsIGludGVycG9sYXRlLCB2YWx1ZTEpIHsKKyAgdmFyIHN0cmluZzAw
LAorICAgICAgc3RyaW5nMSA9IHZhbHVlMSArICIiLAorICAgICAgaW50ZXJwb2xhdGUwOworICBy
ZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHN0cmluZzAgPSBzdHlsZVZhbHVlKHRoaXMsIG5h
bWUpOworICAgIHJldHVybiBzdHJpbmcwID09PSBzdHJpbmcxID8gbnVsbAorICAgICAgICA6IHN0
cmluZzAgPT09IHN0cmluZzAwID8gaW50ZXJwb2xhdGUwCisgICAgICAgIDogaW50ZXJwb2xhdGUw
ID0gaW50ZXJwb2xhdGUoc3RyaW5nMDAgPSBzdHJpbmcwLCB2YWx1ZTEpOworICB9OworfQorCitm
dW5jdGlvbiBzdHlsZUZ1bmN0aW9uJDEobmFtZSwgaW50ZXJwb2xhdGUsIHZhbHVlKSB7CisgIHZh
ciBzdHJpbmcwMCwKKyAgICAgIHN0cmluZzEwLAorICAgICAgaW50ZXJwb2xhdGUwOworICByZXR1
cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHN0cmluZzAgPSBzdHlsZVZhbHVlKHRoaXMsIG5hbWUp
LAorICAgICAgICB2YWx1ZTEgPSB2YWx1ZSh0aGlzKSwKKyAgICAgICAgc3RyaW5nMSA9IHZhbHVl
MSArICIiOworICAgIGlmICh2YWx1ZTEgPT0gbnVsbCkgc3RyaW5nMSA9IHZhbHVlMSA9ICh0aGlz
LnN0eWxlLnJlbW92ZVByb3BlcnR5KG5hbWUpLCBzdHlsZVZhbHVlKHRoaXMsIG5hbWUpKTsKKyAg
ICByZXR1cm4gc3RyaW5nMCA9PT0gc3RyaW5nMSA/IG51bGwKKyAgICAgICAgOiBzdHJpbmcwID09
PSBzdHJpbmcwMCAmJiBzdHJpbmcxID09PSBzdHJpbmcxMCA/IGludGVycG9sYXRlMAorICAgICAg
ICA6IChzdHJpbmcxMCA9IHN0cmluZzEsIGludGVycG9sYXRlMCA9IGludGVycG9sYXRlKHN0cmlu
ZzAwID0gc3RyaW5nMCwgdmFsdWUxKSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHN0eWxlTWF5YmVS
ZW1vdmUoaWQsIG5hbWUpIHsKKyAgdmFyIG9uMCwgb24xLCBsaXN0ZW5lcjAsIGtleSA9ICJzdHls
ZS4iICsgbmFtZSwgZXZlbnQgPSAiZW5kLiIgKyBrZXksIHJlbW92ZTsKKyAgcmV0dXJuIGZ1bmN0
aW9uKCkgeworICAgIHZhciBzY2hlZHVsZSA9IHNldCQxKHRoaXMsIGlkKSwKKyAgICAgICAgb24g
PSBzY2hlZHVsZS5vbiwKKyAgICAgICAgbGlzdGVuZXIgPSBzY2hlZHVsZS52YWx1ZVtrZXldID09
IG51bGwgPyByZW1vdmUgfHwgKHJlbW92ZSA9IHN0eWxlUmVtb3ZlJDEobmFtZSkpIDogdW5kZWZp
bmVkOworCisgICAgLy8gSWYgdGhpcyBub2RlIHNoYXJlZCBhIGRpc3BhdGNoIHdpdGggdGhlIHBy
ZXZpb3VzIG5vZGUsCisgICAgLy8ganVzdCBhc3NpZ24gdGhlIHVwZGF0ZWQgc2hhcmVkIGRpc3Bh
dGNoIGFuZCB3ZeKAmXJlIGRvbmUhCisgICAgLy8gT3RoZXJ3aXNlLCBjb3B5LW9uLXdyaXRlLgor
ICAgIGlmIChvbiAhPT0gb24wIHx8IGxpc3RlbmVyMCAhPT0gbGlzdGVuZXIpIChvbjEgPSAob24w
ID0gb24pLmNvcHkoKSkub24oZXZlbnQsIGxpc3RlbmVyMCA9IGxpc3RlbmVyKTsKKworICAgIHNj
aGVkdWxlLm9uID0gb24xOworICB9OworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX3N0eWxlKG5h
bWUsIHZhbHVlLCBwcmlvcml0eSkgeworICB2YXIgaSA9IChuYW1lICs9ICIiKSA9PT0gInRyYW5z
Zm9ybSIgPyBpbnRlcnBvbGF0ZVRyYW5zZm9ybUNzcyA6IGludGVycG9sYXRlOworICByZXR1cm4g
dmFsdWUgPT0gbnVsbCA/IHRoaXMKKyAgICAgIC5zdHlsZVR3ZWVuKG5hbWUsIHN0eWxlTnVsbChu
YW1lLCBpKSkKKyAgICAgIC5vbigiZW5kLnN0eWxlLiIgKyBuYW1lLCBzdHlsZVJlbW92ZSQxKG5h
bWUpKQorICAgIDogdHlwZW9mIHZhbHVlID09PSAiZnVuY3Rpb24iID8gdGhpcworICAgICAgLnN0
eWxlVHdlZW4obmFtZSwgc3R5bGVGdW5jdGlvbiQxKG5hbWUsIGksIHR3ZWVuVmFsdWUodGhpcywg
InN0eWxlLiIgKyBuYW1lLCB2YWx1ZSkpKQorICAgICAgLmVhY2goc3R5bGVNYXliZVJlbW92ZSh0
aGlzLl9pZCwgbmFtZSkpCisgICAgOiB0aGlzCisgICAgICAuc3R5bGVUd2VlbihuYW1lLCBzdHls
ZUNvbnN0YW50JDEobmFtZSwgaSwgdmFsdWUpLCBwcmlvcml0eSkKKyAgICAgIC5vbigiZW5kLnN0
eWxlLiIgKyBuYW1lLCBudWxsKTsKK30KKworZnVuY3Rpb24gc3R5bGVJbnRlcnBvbGF0ZShuYW1l
LCBpLCBwcmlvcml0eSkgeworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHRoaXMuc3R5bGUu
c2V0UHJvcGVydHkobmFtZSwgaS5jYWxsKHRoaXMsIHQpLCBwcmlvcml0eSk7CisgIH07Cit9CisK
K2Z1bmN0aW9uIHN0eWxlVHdlZW4obmFtZSwgdmFsdWUsIHByaW9yaXR5KSB7CisgIHZhciB0LCBp
MDsKKyAgZnVuY3Rpb24gdHdlZW4oKSB7CisgICAgdmFyIGkgPSB2YWx1ZS5hcHBseSh0aGlzLCBh
cmd1bWVudHMpOworICAgIGlmIChpICE9PSBpMCkgdCA9IChpMCA9IGkpICYmIHN0eWxlSW50ZXJw
b2xhdGUobmFtZSwgaSwgcHJpb3JpdHkpOworICAgIHJldHVybiB0OworICB9CisgIHR3ZWVuLl92
YWx1ZSA9IHZhbHVlOworICByZXR1cm4gdHdlZW47Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25f
c3R5bGVUd2VlbihuYW1lLCB2YWx1ZSwgcHJpb3JpdHkpIHsKKyAgdmFyIGtleSA9ICJzdHlsZS4i
ICsgKG5hbWUgKz0gIiIpOworICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHJldHVybiAoa2V5
ID0gdGhpcy50d2VlbihrZXkpKSAmJiBrZXkuX3ZhbHVlOworICBpZiAodmFsdWUgPT0gbnVsbCkg
cmV0dXJuIHRoaXMudHdlZW4oa2V5LCBudWxsKTsKKyAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gImZ1
bmN0aW9uIikgdGhyb3cgbmV3IEVycm9yOworICByZXR1cm4gdGhpcy50d2VlbihrZXksIHN0eWxl
VHdlZW4obmFtZSwgdmFsdWUsIHByaW9yaXR5ID09IG51bGwgPyAiIiA6IHByaW9yaXR5KSk7Cit9
CisKK2Z1bmN0aW9uIHRleHRDb25zdGFudCQxKHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigp
IHsKKyAgICB0aGlzLnRleHRDb250ZW50ID0gdmFsdWU7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRl
eHRGdW5jdGlvbiQxKHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdmFs
dWUxID0gdmFsdWUodGhpcyk7CisgICAgdGhpcy50ZXh0Q29udGVudCA9IHZhbHVlMSA9PSBudWxs
ID8gIiIgOiB2YWx1ZTE7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fdGV4dCh2YWx1
ZSkgeworICByZXR1cm4gdGhpcy50d2VlbigidGV4dCIsIHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0
aW9uIgorICAgICAgPyB0ZXh0RnVuY3Rpb24kMSh0d2VlblZhbHVlKHRoaXMsICJ0ZXh0IiwgdmFs
dWUpKQorICAgICAgOiB0ZXh0Q29uc3RhbnQkMSh2YWx1ZSA9PSBudWxsID8gIiIgOiB2YWx1ZSAr
ICIiKSk7Cit9CisKK2Z1bmN0aW9uIHRleHRJbnRlcnBvbGF0ZShpKSB7CisgIHJldHVybiBmdW5j
dGlvbih0KSB7CisgICAgdGhpcy50ZXh0Q29udGVudCA9IGkuY2FsbCh0aGlzLCB0KTsKKyAgfTsK
K30KKworZnVuY3Rpb24gdGV4dFR3ZWVuKHZhbHVlKSB7CisgIHZhciB0MCwgaTA7CisgIGZ1bmN0
aW9uIHR3ZWVuKCkgeworICAgIHZhciBpID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsK
KyAgICBpZiAoaSAhPT0gaTApIHQwID0gKGkwID0gaSkgJiYgdGV4dEludGVycG9sYXRlKGkpOwor
ICAgIHJldHVybiB0MDsKKyAgfQorICB0d2Vlbi5fdmFsdWUgPSB2YWx1ZTsKKyAgcmV0dXJuIHR3
ZWVuOworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX3RleHRUd2Vlbih2YWx1ZSkgeworICB2YXIg
a2V5ID0gInRleHQiOworICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHJldHVybiAoa2V5ID0g
dGhpcy50d2VlbihrZXkpKSAmJiBrZXkuX3ZhbHVlOworICBpZiAodmFsdWUgPT0gbnVsbCkgcmV0
dXJuIHRoaXMudHdlZW4oa2V5LCBudWxsKTsKKyAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gImZ1bmN0
aW9uIikgdGhyb3cgbmV3IEVycm9yOworICByZXR1cm4gdGhpcy50d2VlbihrZXksIHRleHRUd2Vl
bih2YWx1ZSkpOworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX3RyYW5zaXRpb24oKSB7CisgIHZh
ciBuYW1lID0gdGhpcy5fbmFtZSwKKyAgICAgIGlkMCA9IHRoaXMuX2lkLAorICAgICAgaWQxID0g
bmV3SWQoKTsKKworICBmb3IgKHZhciBncm91cHMgPSB0aGlzLl9ncm91cHMsIG0gPSBncm91cHMu
bGVuZ3RoLCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwID0gZ3JvdXBz
W2pdLCBuID0gZ3JvdXAubGVuZ3RoLCBub2RlLCBpID0gMDsgaSA8IG47ICsraSkgeworICAgICAg
aWYgKG5vZGUgPSBncm91cFtpXSkgeworICAgICAgICB2YXIgaW5oZXJpdCA9IGdldCQxKG5vZGUs
IGlkMCk7CisgICAgICAgIHNjaGVkdWxlKG5vZGUsIG5hbWUsIGlkMSwgaSwgZ3JvdXAsIHsKKyAg
ICAgICAgICB0aW1lOiBpbmhlcml0LnRpbWUgKyBpbmhlcml0LmRlbGF5ICsgaW5oZXJpdC5kdXJh
dGlvbiwKKyAgICAgICAgICBkZWxheTogMCwKKyAgICAgICAgICBkdXJhdGlvbjogaW5oZXJpdC5k
dXJhdGlvbiwKKyAgICAgICAgICBlYXNlOiBpbmhlcml0LmVhc2UKKyAgICAgICAgfSk7CisgICAg
ICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIG5ldyBUcmFuc2l0aW9uKGdyb3VwcywgdGhpcy5f
cGFyZW50cywgbmFtZSwgaWQxKTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl9lbmQoKSB7Cisg
IHZhciBvbjAsIG9uMSwgdGhhdCA9IHRoaXMsIGlkID0gdGhhdC5faWQsIHNpemUgPSB0aGF0LnNp
emUoKTsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewor
ICAgIHZhciBjYW5jZWwgPSB7dmFsdWU6IHJlamVjdH0sCisgICAgICAgIGVuZCA9IHt2YWx1ZTog
ZnVuY3Rpb24oKSB7IGlmICgtLXNpemUgPT09IDApIHJlc29sdmUoKTsgfX07CisKKyAgICB0aGF0
LmVhY2goZnVuY3Rpb24oKSB7CisgICAgICB2YXIgc2NoZWR1bGUgPSBzZXQkMSh0aGlzLCBpZCks
CisgICAgICAgICAgb24gPSBzY2hlZHVsZS5vbjsKKworICAgICAgLy8gSWYgdGhpcyBub2RlIHNo
YXJlZCBhIGRpc3BhdGNoIHdpdGggdGhlIHByZXZpb3VzIG5vZGUsCisgICAgICAvLyBqdXN0IGFz
c2lnbiB0aGUgdXBkYXRlZCBzaGFyZWQgZGlzcGF0Y2ggYW5kIHdl4oCZcmUgZG9uZSEKKyAgICAg
IC8vIE90aGVyd2lzZSwgY29weS1vbi13cml0ZS4KKyAgICAgIGlmIChvbiAhPT0gb24wKSB7Cisg
ICAgICAgIG9uMSA9IChvbjAgPSBvbikuY29weSgpOworICAgICAgICBvbjEuXy5jYW5jZWwucHVz
aChjYW5jZWwpOworICAgICAgICBvbjEuXy5pbnRlcnJ1cHQucHVzaChjYW5jZWwpOworICAgICAg
ICBvbjEuXy5lbmQucHVzaChlbmQpOworICAgICAgfQorCisgICAgICBzY2hlZHVsZS5vbiA9IG9u
MTsKKyAgICB9KTsKKyAgfSk7Cit9CisKK3ZhciBpZCA9IDA7CisKK2Z1bmN0aW9uIFRyYW5zaXRp
b24oZ3JvdXBzLCBwYXJlbnRzLCBuYW1lLCBpZCkgeworICB0aGlzLl9ncm91cHMgPSBncm91cHM7
CisgIHRoaXMuX3BhcmVudHMgPSBwYXJlbnRzOworICB0aGlzLl9uYW1lID0gbmFtZTsKKyAgdGhp
cy5faWQgPSBpZDsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbihuYW1lKSB7CisgIHJldHVybiBz
ZWxlY3Rpb24oKS50cmFuc2l0aW9uKG5hbWUpOworfQorCitmdW5jdGlvbiBuZXdJZCgpIHsKKyAg
cmV0dXJuICsraWQ7Cit9CisKK3ZhciBzZWxlY3Rpb25fcHJvdG90eXBlID0gc2VsZWN0aW9uLnBy
b3RvdHlwZTsKKworVHJhbnNpdGlvbi5wcm90b3R5cGUgPSB0cmFuc2l0aW9uLnByb3RvdHlwZSA9
IHsKKyAgY29uc3RydWN0b3I6IFRyYW5zaXRpb24sCisgIHNlbGVjdDogdHJhbnNpdGlvbl9zZWxl
Y3QsCisgIHNlbGVjdEFsbDogdHJhbnNpdGlvbl9zZWxlY3RBbGwsCisgIGZpbHRlcjogdHJhbnNp
dGlvbl9maWx0ZXIsCisgIG1lcmdlOiB0cmFuc2l0aW9uX21lcmdlLAorICBzZWxlY3Rpb246IHRy
YW5zaXRpb25fc2VsZWN0aW9uLAorICB0cmFuc2l0aW9uOiB0cmFuc2l0aW9uX3RyYW5zaXRpb24s
CisgIGNhbGw6IHNlbGVjdGlvbl9wcm90b3R5cGUuY2FsbCwKKyAgbm9kZXM6IHNlbGVjdGlvbl9w
cm90b3R5cGUubm9kZXMsCisgIG5vZGU6IHNlbGVjdGlvbl9wcm90b3R5cGUubm9kZSwKKyAgc2l6
ZTogc2VsZWN0aW9uX3Byb3RvdHlwZS5zaXplLAorICBlbXB0eTogc2VsZWN0aW9uX3Byb3RvdHlw
ZS5lbXB0eSwKKyAgZWFjaDogc2VsZWN0aW9uX3Byb3RvdHlwZS5lYWNoLAorICBvbjogdHJhbnNp
dGlvbl9vbiwKKyAgYXR0cjogdHJhbnNpdGlvbl9hdHRyLAorICBhdHRyVHdlZW46IHRyYW5zaXRp
b25fYXR0clR3ZWVuLAorICBzdHlsZTogdHJhbnNpdGlvbl9zdHlsZSwKKyAgc3R5bGVUd2Vlbjog
dHJhbnNpdGlvbl9zdHlsZVR3ZWVuLAorICB0ZXh0OiB0cmFuc2l0aW9uX3RleHQsCisgIHRleHRU
d2VlbjogdHJhbnNpdGlvbl90ZXh0VHdlZW4sCisgIHJlbW92ZTogdHJhbnNpdGlvbl9yZW1vdmUs
CisgIHR3ZWVuOiB0cmFuc2l0aW9uX3R3ZWVuLAorICBkZWxheTogdHJhbnNpdGlvbl9kZWxheSwK
KyAgZHVyYXRpb246IHRyYW5zaXRpb25fZHVyYXRpb24sCisgIGVhc2U6IHRyYW5zaXRpb25fZWFz
ZSwKKyAgZW5kOiB0cmFuc2l0aW9uX2VuZAorfTsKKworZnVuY3Rpb24gbGluZWFyJDEodCkgewor
ICByZXR1cm4gK3Q7Cit9CisKK2Z1bmN0aW9uIHF1YWRJbih0KSB7CisgIHJldHVybiB0ICogdDsK
K30KKworZnVuY3Rpb24gcXVhZE91dCh0KSB7CisgIHJldHVybiB0ICogKDIgLSB0KTsKK30KKwor
ZnVuY3Rpb24gcXVhZEluT3V0KHQpIHsKKyAgcmV0dXJuICgodCAqPSAyKSA8PSAxID8gdCAqIHQg
OiAtLXQgKiAoMiAtIHQpICsgMSkgLyAyOworfQorCitmdW5jdGlvbiBjdWJpY0luKHQpIHsKKyAg
cmV0dXJuIHQgKiB0ICogdDsKK30KKworZnVuY3Rpb24gY3ViaWNPdXQodCkgeworICByZXR1cm4g
LS10ICogdCAqIHQgKyAxOworfQorCitmdW5jdGlvbiBjdWJpY0luT3V0KHQpIHsKKyAgcmV0dXJu
ICgodCAqPSAyKSA8PSAxID8gdCAqIHQgKiB0IDogKHQgLT0gMikgKiB0ICogdCArIDIpIC8gMjsK
K30KKwordmFyIGV4cG9uZW50ID0gMzsKKwordmFyIHBvbHlJbiA9IChmdW5jdGlvbiBjdXN0b20o
ZSkgeworICBlID0gK2U7CisKKyAgZnVuY3Rpb24gcG9seUluKHQpIHsKKyAgICByZXR1cm4gTWF0
aC5wb3codCwgZSk7CisgIH0KKworICBwb2x5SW4uZXhwb25lbnQgPSBjdXN0b207CisKKyAgcmV0
dXJuIHBvbHlJbjsKK30pKGV4cG9uZW50KTsKKwordmFyIHBvbHlPdXQgPSAoZnVuY3Rpb24gY3Vz
dG9tKGUpIHsKKyAgZSA9ICtlOworCisgIGZ1bmN0aW9uIHBvbHlPdXQodCkgeworICAgIHJldHVy
biAxIC0gTWF0aC5wb3coMSAtIHQsIGUpOworICB9CisKKyAgcG9seU91dC5leHBvbmVudCA9IGN1
c3RvbTsKKworICByZXR1cm4gcG9seU91dDsKK30pKGV4cG9uZW50KTsKKwordmFyIHBvbHlJbk91
dCA9IChmdW5jdGlvbiBjdXN0b20oZSkgeworICBlID0gK2U7CisKKyAgZnVuY3Rpb24gcG9seUlu
T3V0KHQpIHsKKyAgICByZXR1cm4gKCh0ICo9IDIpIDw9IDEgPyBNYXRoLnBvdyh0LCBlKSA6IDIg
LSBNYXRoLnBvdygyIC0gdCwgZSkpIC8gMjsKKyAgfQorCisgIHBvbHlJbk91dC5leHBvbmVudCA9
IGN1c3RvbTsKKworICByZXR1cm4gcG9seUluT3V0OworfSkoZXhwb25lbnQpOworCit2YXIgcGkg
PSBNYXRoLlBJLAorICAgIGhhbGZQaSA9IHBpIC8gMjsKKworZnVuY3Rpb24gc2luSW4odCkgewor
ICByZXR1cm4gMSAtIE1hdGguY29zKHQgKiBoYWxmUGkpOworfQorCitmdW5jdGlvbiBzaW5PdXQo
dCkgeworICByZXR1cm4gTWF0aC5zaW4odCAqIGhhbGZQaSk7Cit9CisKK2Z1bmN0aW9uIHNpbklu
T3V0KHQpIHsKKyAgcmV0dXJuICgxIC0gTWF0aC5jb3MocGkgKiB0KSkgLyAyOworfQorCitmdW5j
dGlvbiBleHBJbih0KSB7CisgIHJldHVybiBNYXRoLnBvdygyLCAxMCAqIHQgLSAxMCk7Cit9CisK
K2Z1bmN0aW9uIGV4cE91dCh0KSB7CisgIHJldHVybiAxIC0gTWF0aC5wb3coMiwgLTEwICogdCk7
Cit9CisKK2Z1bmN0aW9uIGV4cEluT3V0KHQpIHsKKyAgcmV0dXJuICgodCAqPSAyKSA8PSAxID8g
TWF0aC5wb3coMiwgMTAgKiB0IC0gMTApIDogMiAtIE1hdGgucG93KDIsIDEwIC0gMTAgKiB0KSkg
LyAyOworfQorCitmdW5jdGlvbiBjaXJjbGVJbih0KSB7CisgIHJldHVybiAxIC0gTWF0aC5zcXJ0
KDEgLSB0ICogdCk7Cit9CisKK2Z1bmN0aW9uIGNpcmNsZU91dCh0KSB7CisgIHJldHVybiBNYXRo
LnNxcnQoMSAtIC0tdCAqIHQpOworfQorCitmdW5jdGlvbiBjaXJjbGVJbk91dCh0KSB7CisgIHJl
dHVybiAoKHQgKj0gMikgPD0gMSA/IDEgLSBNYXRoLnNxcnQoMSAtIHQgKiB0KSA6IE1hdGguc3Fy
dCgxIC0gKHQgLT0gMikgKiB0KSArIDEpIC8gMjsKK30KKwordmFyIGIxID0gNCAvIDExLAorICAg
IGIyID0gNiAvIDExLAorICAgIGIzID0gOCAvIDExLAorICAgIGI0ID0gMyAvIDQsCisgICAgYjUg
PSA5IC8gMTEsCisgICAgYjYgPSAxMCAvIDExLAorICAgIGI3ID0gMTUgLyAxNiwKKyAgICBiOCA9
IDIxIC8gMjIsCisgICAgYjkgPSA2MyAvIDY0LAorICAgIGIwID0gMSAvIGIxIC8gYjE7CisKK2Z1
bmN0aW9uIGJvdW5jZUluKHQpIHsKKyAgcmV0dXJuIDEgLSBib3VuY2VPdXQoMSAtIHQpOworfQor
CitmdW5jdGlvbiBib3VuY2VPdXQodCkgeworICByZXR1cm4gKHQgPSArdCkgPCBiMSA/IGIwICog
dCAqIHQgOiB0IDwgYjMgPyBiMCAqICh0IC09IGIyKSAqIHQgKyBiNCA6IHQgPCBiNiA/IGIwICog
KHQgLT0gYjUpICogdCArIGI3IDogYjAgKiAodCAtPSBiOCkgKiB0ICsgYjk7Cit9CisKK2Z1bmN0
aW9uIGJvdW5jZUluT3V0KHQpIHsKKyAgcmV0dXJuICgodCAqPSAyKSA8PSAxID8gMSAtIGJvdW5j
ZU91dCgxIC0gdCkgOiBib3VuY2VPdXQodCAtIDEpICsgMSkgLyAyOworfQorCit2YXIgb3ZlcnNo
b290ID0gMS43MDE1ODsKKwordmFyIGJhY2tJbiA9IChmdW5jdGlvbiBjdXN0b20ocykgeworICBz
ID0gK3M7CisKKyAgZnVuY3Rpb24gYmFja0luKHQpIHsKKyAgICByZXR1cm4gdCAqIHQgKiAoKHMg
KyAxKSAqIHQgLSBzKTsKKyAgfQorCisgIGJhY2tJbi5vdmVyc2hvb3QgPSBjdXN0b207CisKKyAg
cmV0dXJuIGJhY2tJbjsKK30pKG92ZXJzaG9vdCk7CisKK3ZhciBiYWNrT3V0ID0gKGZ1bmN0aW9u
IGN1c3RvbShzKSB7CisgIHMgPSArczsKKworICBmdW5jdGlvbiBiYWNrT3V0KHQpIHsKKyAgICBy
ZXR1cm4gLS10ICogdCAqICgocyArIDEpICogdCArIHMpICsgMTsKKyAgfQorCisgIGJhY2tPdXQu
b3ZlcnNob290ID0gY3VzdG9tOworCisgIHJldHVybiBiYWNrT3V0OworfSkob3ZlcnNob290KTsK
KwordmFyIGJhY2tJbk91dCA9IChmdW5jdGlvbiBjdXN0b20ocykgeworICBzID0gK3M7CisKKyAg
ZnVuY3Rpb24gYmFja0luT3V0KHQpIHsKKyAgICByZXR1cm4gKCh0ICo9IDIpIDwgMSA/IHQgKiB0
ICogKChzICsgMSkgKiB0IC0gcykgOiAodCAtPSAyKSAqIHQgKiAoKHMgKyAxKSAqIHQgKyBzKSAr
IDIpIC8gMjsKKyAgfQorCisgIGJhY2tJbk91dC5vdmVyc2hvb3QgPSBjdXN0b207CisKKyAgcmV0
dXJuIGJhY2tJbk91dDsKK30pKG92ZXJzaG9vdCk7CisKK3ZhciB0YXUgPSAyICogTWF0aC5QSSwK
KyAgICBhbXBsaXR1ZGUgPSAxLAorICAgIHBlcmlvZCA9IDAuMzsKKwordmFyIGVsYXN0aWNJbiA9
IChmdW5jdGlvbiBjdXN0b20oYSwgcCkgeworICB2YXIgcyA9IE1hdGguYXNpbigxIC8gKGEgPSBN
YXRoLm1heCgxLCBhKSkpICogKHAgLz0gdGF1KTsKKworICBmdW5jdGlvbiBlbGFzdGljSW4odCkg
eworICAgIHJldHVybiBhICogTWF0aC5wb3coMiwgMTAgKiAtLXQpICogTWF0aC5zaW4oKHMgLSB0
KSAvIHApOworICB9CisKKyAgZWxhc3RpY0luLmFtcGxpdHVkZSA9IGZ1bmN0aW9uKGEpIHsgcmV0
dXJuIGN1c3RvbShhLCBwICogdGF1KTsgfTsKKyAgZWxhc3RpY0luLnBlcmlvZCA9IGZ1bmN0aW9u
KHApIHsgcmV0dXJuIGN1c3RvbShhLCBwKTsgfTsKKworICByZXR1cm4gZWxhc3RpY0luOworfSko
YW1wbGl0dWRlLCBwZXJpb2QpOworCit2YXIgZWxhc3RpY091dCA9IChmdW5jdGlvbiBjdXN0b20o
YSwgcCkgeworICB2YXIgcyA9IE1hdGguYXNpbigxIC8gKGEgPSBNYXRoLm1heCgxLCBhKSkpICog
KHAgLz0gdGF1KTsKKworICBmdW5jdGlvbiBlbGFzdGljT3V0KHQpIHsKKyAgICByZXR1cm4gMSAt
IGEgKiBNYXRoLnBvdygyLCAtMTAgKiAodCA9ICt0KSkgKiBNYXRoLnNpbigodCArIHMpIC8gcCk7
CisgIH0KKworICBlbGFzdGljT3V0LmFtcGxpdHVkZSA9IGZ1bmN0aW9uKGEpIHsgcmV0dXJuIGN1
c3RvbShhLCBwICogdGF1KTsgfTsKKyAgZWxhc3RpY091dC5wZXJpb2QgPSBmdW5jdGlvbihwKSB7
IHJldHVybiBjdXN0b20oYSwgcCk7IH07CisKKyAgcmV0dXJuIGVsYXN0aWNPdXQ7Cit9KShhbXBs
aXR1ZGUsIHBlcmlvZCk7CisKK3ZhciBlbGFzdGljSW5PdXQgPSAoZnVuY3Rpb24gY3VzdG9tKGEs
IHApIHsKKyAgdmFyIHMgPSBNYXRoLmFzaW4oMSAvIChhID0gTWF0aC5tYXgoMSwgYSkpKSAqIChw
IC89IHRhdSk7CisKKyAgZnVuY3Rpb24gZWxhc3RpY0luT3V0KHQpIHsKKyAgICByZXR1cm4gKCh0
ID0gdCAqIDIgLSAxKSA8IDAKKyAgICAgICAgPyBhICogTWF0aC5wb3coMiwgMTAgKiB0KSAqIE1h
dGguc2luKChzIC0gdCkgLyBwKQorICAgICAgICA6IDIgLSBhICogTWF0aC5wb3coMiwgLTEwICog
dCkgKiBNYXRoLnNpbigocyArIHQpIC8gcCkpIC8gMjsKKyAgfQorCisgIGVsYXN0aWNJbk91dC5h
bXBsaXR1ZGUgPSBmdW5jdGlvbihhKSB7IHJldHVybiBjdXN0b20oYSwgcCAqIHRhdSk7IH07Cisg
IGVsYXN0aWNJbk91dC5wZXJpb2QgPSBmdW5jdGlvbihwKSB7IHJldHVybiBjdXN0b20oYSwgcCk7
IH07CisKKyAgcmV0dXJuIGVsYXN0aWNJbk91dDsKK30pKGFtcGxpdHVkZSwgcGVyaW9kKTsKKwor
dmFyIGRlZmF1bHRUaW1pbmcgPSB7CisgIHRpbWU6IG51bGwsIC8vIFNldCBvbiB1c2UuCisgIGRl
bGF5OiAwLAorICBkdXJhdGlvbjogMjUwLAorICBlYXNlOiBjdWJpY0luT3V0Cit9OworCitmdW5j
dGlvbiBpbmhlcml0KG5vZGUsIGlkKSB7CisgIHZhciB0aW1pbmc7CisgIHdoaWxlICghKHRpbWlu
ZyA9IG5vZGUuX190cmFuc2l0aW9uKSB8fCAhKHRpbWluZyA9IHRpbWluZ1tpZF0pKSB7CisgICAg
aWYgKCEobm9kZSA9IG5vZGUucGFyZW50Tm9kZSkpIHsKKyAgICAgIHJldHVybiBkZWZhdWx0VGlt
aW5nLnRpbWUgPSBub3coKSwgZGVmYXVsdFRpbWluZzsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHRp
bWluZzsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX3RyYW5zaXRpb24obmFtZSkgeworICB2YXIg
aWQsCisgICAgICB0aW1pbmc7CisKKyAgaWYgKG5hbWUgaW5zdGFuY2VvZiBUcmFuc2l0aW9uKSB7
CisgICAgaWQgPSBuYW1lLl9pZCwgbmFtZSA9IG5hbWUuX25hbWU7CisgIH0gZWxzZSB7CisgICAg
aWQgPSBuZXdJZCgpLCAodGltaW5nID0gZGVmYXVsdFRpbWluZykudGltZSA9IG5vdygpLCBuYW1l
ID0gbmFtZSA9PSBudWxsID8gbnVsbCA6IG5hbWUgKyAiIjsKKyAgfQorCisgIGZvciAodmFyIGdy
b3VwcyA9IHRoaXMuX2dyb3VwcywgbSA9IGdyb3Vwcy5sZW5ndGgsIGogPSAwOyBqIDwgbTsgKytq
KSB7CisgICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNbal0sIG4gPSBncm91cC5sZW5ndGgsIG5v
ZGUsIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAobm9kZSA9IGdyb3VwW2ldKSB7Cisg
ICAgICAgIHNjaGVkdWxlKG5vZGUsIG5hbWUsIGlkLCBpLCBncm91cCwgdGltaW5nIHx8IGluaGVy
aXQobm9kZSwgaWQpKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gbmV3IFRyYW5z
aXRpb24oZ3JvdXBzLCB0aGlzLl9wYXJlbnRzLCBuYW1lLCBpZCk7Cit9CisKK3NlbGVjdGlvbi5w
cm90b3R5cGUuaW50ZXJydXB0ID0gc2VsZWN0aW9uX2ludGVycnVwdDsKK3NlbGVjdGlvbi5wcm90
b3R5cGUudHJhbnNpdGlvbiA9IHNlbGVjdGlvbl90cmFuc2l0aW9uOworCit2YXIgcm9vdCQxID0g
W251bGxdOworCitmdW5jdGlvbiBhY3RpdmUobm9kZSwgbmFtZSkgeworICB2YXIgc2NoZWR1bGVz
ID0gbm9kZS5fX3RyYW5zaXRpb24sCisgICAgICBzY2hlZHVsZSwKKyAgICAgIGk7CisKKyAgaWYg
KHNjaGVkdWxlcykgeworICAgIG5hbWUgPSBuYW1lID09IG51bGwgPyBudWxsIDogbmFtZSArICIi
OworICAgIGZvciAoaSBpbiBzY2hlZHVsZXMpIHsKKyAgICAgIGlmICgoc2NoZWR1bGUgPSBzY2hl
ZHVsZXNbaV0pLnN0YXRlID4gU0NIRURVTEVEICYmIHNjaGVkdWxlLm5hbWUgPT09IG5hbWUpIHsK
KyAgICAgICAgcmV0dXJuIG5ldyBUcmFuc2l0aW9uKFtbbm9kZV1dLCByb290JDEsIG5hbWUsICtp
KTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gbnVsbDsKK30KKworZnVuY3Rpb24g
Y29uc3RhbnQkNCh4KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAg
fTsKK30KKworZnVuY3Rpb24gQnJ1c2hFdmVudCh0YXJnZXQsIHR5cGUsIHNlbGVjdGlvbikgewor
ICB0aGlzLnRhcmdldCA9IHRhcmdldDsKKyAgdGhpcy50eXBlID0gdHlwZTsKKyAgdGhpcy5zZWxl
Y3Rpb24gPSBzZWxlY3Rpb247Cit9CisKK2Z1bmN0aW9uIG5vcHJvcGFnYXRpb24kMSgpIHsKKyAg
ZXhwb3J0cy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsKK30KKworZnVuY3Rpb24g
bm9ldmVudCQxKCkgeworICBleHBvcnRzLmV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisgIGV4cG9y
dHMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7Cit9CisKK3ZhciBNT0RFX0RSQUcg
PSB7bmFtZTogImRyYWcifSwKKyAgICBNT0RFX1NQQUNFID0ge25hbWU6ICJzcGFjZSJ9LAorICAg
IE1PREVfSEFORExFID0ge25hbWU6ICJoYW5kbGUifSwKKyAgICBNT0RFX0NFTlRFUiA9IHtuYW1l
OiAiY2VudGVyIn07CisKK2Z1bmN0aW9uIG51bWJlcjEoZSkgeworICByZXR1cm4gWytlWzBdLCAr
ZVsxXV07Cit9CisKK2Z1bmN0aW9uIG51bWJlcjIoZSkgeworICByZXR1cm4gW251bWJlcjEoZVsw
XSksIG51bWJlcjEoZVsxXSldOworfQorCitmdW5jdGlvbiB0b3VjaGVyKGlkZW50aWZpZXIpIHsK
KyAgcmV0dXJuIGZ1bmN0aW9uKHRhcmdldCkgeworICAgIHJldHVybiB0b3VjaCh0YXJnZXQsIGV4
cG9ydHMuZXZlbnQudG91Y2hlcywgaWRlbnRpZmllcik7CisgIH07Cit9CisKK3ZhciBYID0gewor
ICBuYW1lOiAieCIsCisgIGhhbmRsZXM6IFsidyIsICJlIl0ubWFwKHR5cGUpLAorICBpbnB1dDog
ZnVuY3Rpb24oeCwgZSkgeyByZXR1cm4geCA9PSBudWxsID8gbnVsbCA6IFtbK3hbMF0sIGVbMF1b
MV1dLCBbK3hbMV0sIGVbMV1bMV1dXTsgfSwKKyAgb3V0cHV0OiBmdW5jdGlvbih4eSkgeyByZXR1
cm4geHkgJiYgW3h5WzBdWzBdLCB4eVsxXVswXV07IH0KK307CisKK3ZhciBZID0geworICBuYW1l
OiAieSIsCisgIGhhbmRsZXM6IFsibiIsICJzIl0ubWFwKHR5cGUpLAorICBpbnB1dDogZnVuY3Rp
b24oeSwgZSkgeyByZXR1cm4geSA9PSBudWxsID8gbnVsbCA6IFtbZVswXVswXSwgK3lbMF1dLCBb
ZVsxXVswXSwgK3lbMV1dXTsgfSwKKyAgb3V0cHV0OiBmdW5jdGlvbih4eSkgeyByZXR1cm4geHkg
JiYgW3h5WzBdWzFdLCB4eVsxXVsxXV07IH0KK307CisKK3ZhciBYWSA9IHsKKyAgbmFtZTogInh5
IiwKKyAgaGFuZGxlczogWyJuIiwgInciLCAiZSIsICJzIiwgIm53IiwgIm5lIiwgInN3IiwgInNl
Il0ubWFwKHR5cGUpLAorICBpbnB1dDogZnVuY3Rpb24oeHkpIHsgcmV0dXJuIHh5ID09IG51bGwg
PyBudWxsIDogbnVtYmVyMih4eSk7IH0sCisgIG91dHB1dDogZnVuY3Rpb24oeHkpIHsgcmV0dXJu
IHh5OyB9Cit9OworCit2YXIgY3Vyc29ycyA9IHsKKyAgb3ZlcmxheTogImNyb3NzaGFpciIsCisg
IHNlbGVjdGlvbjogIm1vdmUiLAorICBuOiAibnMtcmVzaXplIiwKKyAgZTogImV3LXJlc2l6ZSIs
CisgIHM6ICJucy1yZXNpemUiLAorICB3OiAiZXctcmVzaXplIiwKKyAgbnc6ICJud3NlLXJlc2l6
ZSIsCisgIG5lOiAibmVzdy1yZXNpemUiLAorICBzZTogIm53c2UtcmVzaXplIiwKKyAgc3c6ICJu
ZXN3LXJlc2l6ZSIKK307CisKK3ZhciBmbGlwWCA9IHsKKyAgZTogInciLAorICB3OiAiZSIsCisg
IG53OiAibmUiLAorICBuZTogIm53IiwKKyAgc2U6ICJzdyIsCisgIHN3OiAic2UiCit9OworCit2
YXIgZmxpcFkgPSB7CisgIG46ICJzIiwKKyAgczogIm4iLAorICBudzogInN3IiwKKyAgbmU6ICJz
ZSIsCisgIHNlOiAibmUiLAorICBzdzogIm53IgorfTsKKwordmFyIHNpZ25zWCA9IHsKKyAgb3Zl
cmxheTogKzEsCisgIHNlbGVjdGlvbjogKzEsCisgIG46IG51bGwsCisgIGU6ICsxLAorICBzOiBu
dWxsLAorICB3OiAtMSwKKyAgbnc6IC0xLAorICBuZTogKzEsCisgIHNlOiArMSwKKyAgc3c6IC0x
Cit9OworCit2YXIgc2lnbnNZID0geworICBvdmVybGF5OiArMSwKKyAgc2VsZWN0aW9uOiArMSwK
KyAgbjogLTEsCisgIGU6IG51bGwsCisgIHM6ICsxLAorICB3OiBudWxsLAorICBudzogLTEsCisg
IG5lOiAtMSwKKyAgc2U6ICsxLAorICBzdzogKzEKK307CisKK2Z1bmN0aW9uIHR5cGUodCkgewor
ICByZXR1cm4ge3R5cGU6IHR9OworfQorCisvLyBJZ25vcmUgcmlnaHQtY2xpY2ssIHNpbmNlIHRo
YXQgc2hvdWxkIG9wZW4gdGhlIGNvbnRleHQgbWVudS4KK2Z1bmN0aW9uIGRlZmF1bHRGaWx0ZXIk
MSgpIHsKKyAgcmV0dXJuICFleHBvcnRzLmV2ZW50LmN0cmxLZXkgJiYgIWV4cG9ydHMuZXZlbnQu
YnV0dG9uOworfQorCitmdW5jdGlvbiBkZWZhdWx0RXh0ZW50KCkgeworICB2YXIgc3ZnID0gdGhp
cy5vd25lclNWR0VsZW1lbnQgfHwgdGhpczsKKyAgaWYgKHN2Zy5oYXNBdHRyaWJ1dGUoInZpZXdC
b3giKSkgeworICAgIHN2ZyA9IHN2Zy52aWV3Qm94LmJhc2VWYWw7CisgICAgcmV0dXJuIFtbc3Zn
LngsIHN2Zy55XSwgW3N2Zy54ICsgc3ZnLndpZHRoLCBzdmcueSArIHN2Zy5oZWlnaHRdXTsKKyAg
fQorICByZXR1cm4gW1swLCAwXSwgW3N2Zy53aWR0aC5iYXNlVmFsLnZhbHVlLCBzdmcuaGVpZ2h0
LmJhc2VWYWwudmFsdWVdXTsKK30KKworZnVuY3Rpb24gZGVmYXVsdFRvdWNoYWJsZSQxKCkgewor
ICByZXR1cm4gbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzIHx8ICgib250b3VjaHN0YXJ0IiBpbiB0
aGlzKTsKK30KKworLy8gTGlrZSBkMy5sb2NhbCwgYnV0IHdpdGggdGhlIG5hbWUg4oCcX19icnVz
aOKAnSByYXRoZXIgdGhhbiBhdXRvLWdlbmVyYXRlZC4KK2Z1bmN0aW9uIGxvY2FsJDEobm9kZSkg
eworICB3aGlsZSAoIW5vZGUuX19icnVzaCkgaWYgKCEobm9kZSA9IG5vZGUucGFyZW50Tm9kZSkp
IHJldHVybjsKKyAgcmV0dXJuIG5vZGUuX19icnVzaDsKK30KKworZnVuY3Rpb24gZW1wdHkkMShl
eHRlbnQpIHsKKyAgcmV0dXJuIGV4dGVudFswXVswXSA9PT0gZXh0ZW50WzFdWzBdCisgICAgICB8
fCBleHRlbnRbMF1bMV0gPT09IGV4dGVudFsxXVsxXTsKK30KKworZnVuY3Rpb24gYnJ1c2hTZWxl
Y3Rpb24obm9kZSkgeworICB2YXIgc3RhdGUgPSBub2RlLl9fYnJ1c2g7CisgIHJldHVybiBzdGF0
ZSA/IHN0YXRlLmRpbS5vdXRwdXQoc3RhdGUuc2VsZWN0aW9uKSA6IG51bGw7Cit9CisKK2Z1bmN0
aW9uIGJydXNoWCgpIHsKKyAgcmV0dXJuIGJydXNoJDEoWCk7Cit9CisKK2Z1bmN0aW9uIGJydXNo
WSgpIHsKKyAgcmV0dXJuIGJydXNoJDEoWSk7Cit9CisKK2Z1bmN0aW9uIGJydXNoKCkgeworICBy
ZXR1cm4gYnJ1c2gkMShYWSk7Cit9CisKK2Z1bmN0aW9uIGJydXNoJDEoZGltKSB7CisgIHZhciBl
eHRlbnQgPSBkZWZhdWx0RXh0ZW50LAorICAgICAgZmlsdGVyID0gZGVmYXVsdEZpbHRlciQxLAor
ICAgICAgdG91Y2hhYmxlID0gZGVmYXVsdFRvdWNoYWJsZSQxLAorICAgICAga2V5cyA9IHRydWUs
CisgICAgICBsaXN0ZW5lcnMgPSBkaXNwYXRjaCgic3RhcnQiLCAiYnJ1c2giLCAiZW5kIiksCisg
ICAgICBoYW5kbGVTaXplID0gNiwKKyAgICAgIHRvdWNoZW5kaW5nOworCisgIGZ1bmN0aW9uIGJy
dXNoKGdyb3VwKSB7CisgICAgdmFyIG92ZXJsYXkgPSBncm91cAorICAgICAgICAucHJvcGVydHko
Il9fYnJ1c2giLCBpbml0aWFsaXplKQorICAgICAgLnNlbGVjdEFsbCgiLm92ZXJsYXkiKQorICAg
ICAgLmRhdGEoW3R5cGUoIm92ZXJsYXkiKV0pOworCisgICAgb3ZlcmxheS5lbnRlcigpLmFwcGVu
ZCgicmVjdCIpCisgICAgICAgIC5hdHRyKCJjbGFzcyIsICJvdmVybGF5IikKKyAgICAgICAgLmF0
dHIoInBvaW50ZXItZXZlbnRzIiwgImFsbCIpCisgICAgICAgIC5hdHRyKCJjdXJzb3IiLCBjdXJz
b3JzLm92ZXJsYXkpCisgICAgICAubWVyZ2Uob3ZlcmxheSkKKyAgICAgICAgLmVhY2goZnVuY3Rp
b24oKSB7CisgICAgICAgICAgdmFyIGV4dGVudCA9IGxvY2FsJDEodGhpcykuZXh0ZW50OworICAg
ICAgICAgIHNlbGVjdCh0aGlzKQorICAgICAgICAgICAgICAuYXR0cigieCIsIGV4dGVudFswXVsw
XSkKKyAgICAgICAgICAgICAgLmF0dHIoInkiLCBleHRlbnRbMF1bMV0pCisgICAgICAgICAgICAg
IC5hdHRyKCJ3aWR0aCIsIGV4dGVudFsxXVswXSAtIGV4dGVudFswXVswXSkKKyAgICAgICAgICAg
ICAgLmF0dHIoImhlaWdodCIsIGV4dGVudFsxXVsxXSAtIGV4dGVudFswXVsxXSk7CisgICAgICAg
IH0pOworCisgICAgZ3JvdXAuc2VsZWN0QWxsKCIuc2VsZWN0aW9uIikKKyAgICAgIC5kYXRhKFt0
eXBlKCJzZWxlY3Rpb24iKV0pCisgICAgICAuZW50ZXIoKS5hcHBlbmQoInJlY3QiKQorICAgICAg
ICAuYXR0cigiY2xhc3MiLCAic2VsZWN0aW9uIikKKyAgICAgICAgLmF0dHIoImN1cnNvciIsIGN1
cnNvcnMuc2VsZWN0aW9uKQorICAgICAgICAuYXR0cigiZmlsbCIsICIjNzc3IikKKyAgICAgICAg
LmF0dHIoImZpbGwtb3BhY2l0eSIsIDAuMykKKyAgICAgICAgLmF0dHIoInN0cm9rZSIsICIjZmZm
IikKKyAgICAgICAgLmF0dHIoInNoYXBlLXJlbmRlcmluZyIsICJjcmlzcEVkZ2VzIik7CisKKyAg
ICB2YXIgaGFuZGxlID0gZ3JvdXAuc2VsZWN0QWxsKCIuaGFuZGxlIikKKyAgICAgIC5kYXRhKGRp
bS5oYW5kbGVzLCBmdW5jdGlvbihkKSB7IHJldHVybiBkLnR5cGU7IH0pOworCisgICAgaGFuZGxl
LmV4aXQoKS5yZW1vdmUoKTsKKworICAgIGhhbmRsZS5lbnRlcigpLmFwcGVuZCgicmVjdCIpCisg
ICAgICAgIC5hdHRyKCJjbGFzcyIsIGZ1bmN0aW9uKGQpIHsgcmV0dXJuICJoYW5kbGUgaGFuZGxl
LS0iICsgZC50eXBlOyB9KQorICAgICAgICAuYXR0cigiY3Vyc29yIiwgZnVuY3Rpb24oZCkgeyBy
ZXR1cm4gY3Vyc29yc1tkLnR5cGVdOyB9KTsKKworICAgIGdyb3VwCisgICAgICAgIC5lYWNoKHJl
ZHJhdykKKyAgICAgICAgLmF0dHIoImZpbGwiLCAibm9uZSIpCisgICAgICAgIC5hdHRyKCJwb2lu
dGVyLWV2ZW50cyIsICJhbGwiKQorICAgICAgICAub24oIm1vdXNlZG93bi5icnVzaCIsIHN0YXJ0
ZWQpCisgICAgICAuZmlsdGVyKHRvdWNoYWJsZSkKKyAgICAgICAgLm9uKCJ0b3VjaHN0YXJ0LmJy
dXNoIiwgc3RhcnRlZCkKKyAgICAgICAgLm9uKCJ0b3VjaG1vdmUuYnJ1c2giLCB0b3VjaG1vdmVk
KQorICAgICAgICAub24oInRvdWNoZW5kLmJydXNoIHRvdWNoY2FuY2VsLmJydXNoIiwgdG91Y2hl
bmRlZCkKKyAgICAgICAgLnN0eWxlKCJ0b3VjaC1hY3Rpb24iLCAibm9uZSIpCisgICAgICAgIC5z
dHlsZSgiLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIiwgInJnYmEoMCwwLDAsMCkiKTsKKyAg
fQorCisgIGJydXNoLm1vdmUgPSBmdW5jdGlvbihncm91cCwgc2VsZWN0aW9uKSB7CisgICAgaWYg
KGdyb3VwLnNlbGVjdGlvbikgeworICAgICAgZ3JvdXAKKyAgICAgICAgICAub24oInN0YXJ0LmJy
dXNoIiwgZnVuY3Rpb24oKSB7IGVtaXR0ZXIodGhpcywgYXJndW1lbnRzKS5iZWZvcmVzdGFydCgp
LnN0YXJ0KCk7IH0pCisgICAgICAgICAgLm9uKCJpbnRlcnJ1cHQuYnJ1c2ggZW5kLmJydXNoIiwg
ZnVuY3Rpb24oKSB7IGVtaXR0ZXIodGhpcywgYXJndW1lbnRzKS5lbmQoKTsgfSkKKyAgICAgICAg
ICAudHdlZW4oImJydXNoIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgdGhhdCA9IHRo
aXMsCisgICAgICAgICAgICAgICAgc3RhdGUgPSB0aGF0Ll9fYnJ1c2gsCisgICAgICAgICAgICAg
ICAgZW1pdCA9IGVtaXR0ZXIodGhhdCwgYXJndW1lbnRzKSwKKyAgICAgICAgICAgICAgICBzZWxl
Y3Rpb24wID0gc3RhdGUuc2VsZWN0aW9uLAorICAgICAgICAgICAgICAgIHNlbGVjdGlvbjEgPSBk
aW0uaW5wdXQodHlwZW9mIHNlbGVjdGlvbiA9PT0gImZ1bmN0aW9uIiA/IHNlbGVjdGlvbi5hcHBs
eSh0aGlzLCBhcmd1bWVudHMpIDogc2VsZWN0aW9uLCBzdGF0ZS5leHRlbnQpLAorICAgICAgICAg
ICAgICAgIGkgPSBpbnRlcnBvbGF0ZVZhbHVlKHNlbGVjdGlvbjAsIHNlbGVjdGlvbjEpOworCisg
ICAgICAgICAgICBmdW5jdGlvbiB0d2Vlbih0KSB7CisgICAgICAgICAgICAgIHN0YXRlLnNlbGVj
dGlvbiA9IHQgPT09IDEgJiYgc2VsZWN0aW9uMSA9PT0gbnVsbCA/IG51bGwgOiBpKHQpOworICAg
ICAgICAgICAgICByZWRyYXcuY2FsbCh0aGF0KTsKKyAgICAgICAgICAgICAgZW1pdC5icnVzaCgp
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICByZXR1cm4gc2VsZWN0aW9uMCAhPT0gbnVs
bCAmJiBzZWxlY3Rpb24xICE9PSBudWxsID8gdHdlZW4gOiB0d2VlbigxKTsKKyAgICAgICAgICB9
KTsKKyAgICB9IGVsc2UgeworICAgICAgZ3JvdXAKKyAgICAgICAgICAuZWFjaChmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcywKKyAgICAgICAgICAgICAgICBhcmdzID0g
YXJndW1lbnRzLAorICAgICAgICAgICAgICAgIHN0YXRlID0gdGhhdC5fX2JydXNoLAorICAgICAg
ICAgICAgICAgIHNlbGVjdGlvbjEgPSBkaW0uaW5wdXQodHlwZW9mIHNlbGVjdGlvbiA9PT0gImZ1
bmN0aW9uIiA/IHNlbGVjdGlvbi5hcHBseSh0aGF0LCBhcmdzKSA6IHNlbGVjdGlvbiwgc3RhdGUu
ZXh0ZW50KSwKKyAgICAgICAgICAgICAgICBlbWl0ID0gZW1pdHRlcih0aGF0LCBhcmdzKS5iZWZv
cmVzdGFydCgpOworCisgICAgICAgICAgICBpbnRlcnJ1cHQodGhhdCk7CisgICAgICAgICAgICBz
dGF0ZS5zZWxlY3Rpb24gPSBzZWxlY3Rpb24xID09PSBudWxsID8gbnVsbCA6IHNlbGVjdGlvbjE7
CisgICAgICAgICAgICByZWRyYXcuY2FsbCh0aGF0KTsKKyAgICAgICAgICAgIGVtaXQuc3RhcnQo
KS5icnVzaCgpLmVuZCgpOworICAgICAgICAgIH0pOworICAgIH0KKyAgfTsKKworICBicnVzaC5j
bGVhciA9IGZ1bmN0aW9uKGdyb3VwKSB7CisgICAgYnJ1c2gubW92ZShncm91cCwgbnVsbCk7Cisg
IH07CisKKyAgZnVuY3Rpb24gcmVkcmF3KCkgeworICAgIHZhciBncm91cCA9IHNlbGVjdCh0aGlz
KSwKKyAgICAgICAgc2VsZWN0aW9uID0gbG9jYWwkMSh0aGlzKS5zZWxlY3Rpb247CisKKyAgICBp
ZiAoc2VsZWN0aW9uKSB7CisgICAgICBncm91cC5zZWxlY3RBbGwoIi5zZWxlY3Rpb24iKQorICAg
ICAgICAgIC5zdHlsZSgiZGlzcGxheSIsIG51bGwpCisgICAgICAgICAgLmF0dHIoIngiLCBzZWxl
Y3Rpb25bMF1bMF0pCisgICAgICAgICAgLmF0dHIoInkiLCBzZWxlY3Rpb25bMF1bMV0pCisgICAg
ICAgICAgLmF0dHIoIndpZHRoIiwgc2VsZWN0aW9uWzFdWzBdIC0gc2VsZWN0aW9uWzBdWzBdKQor
ICAgICAgICAgIC5hdHRyKCJoZWlnaHQiLCBzZWxlY3Rpb25bMV1bMV0gLSBzZWxlY3Rpb25bMF1b
MV0pOworCisgICAgICBncm91cC5zZWxlY3RBbGwoIi5oYW5kbGUiKQorICAgICAgICAgIC5zdHls
ZSgiZGlzcGxheSIsIG51bGwpCisgICAgICAgICAgLmF0dHIoIngiLCBmdW5jdGlvbihkKSB7IHJl
dHVybiBkLnR5cGVbZC50eXBlLmxlbmd0aCAtIDFdID09PSAiZSIgPyBzZWxlY3Rpb25bMV1bMF0g
LSBoYW5kbGVTaXplIC8gMiA6IHNlbGVjdGlvblswXVswXSAtIGhhbmRsZVNpemUgLyAyOyB9KQor
ICAgICAgICAgIC5hdHRyKCJ5IiwgZnVuY3Rpb24oZCkgeyByZXR1cm4gZC50eXBlWzBdID09PSAi
cyIgPyBzZWxlY3Rpb25bMV1bMV0gLSBoYW5kbGVTaXplIC8gMiA6IHNlbGVjdGlvblswXVsxXSAt
IGhhbmRsZVNpemUgLyAyOyB9KQorICAgICAgICAgIC5hdHRyKCJ3aWR0aCIsIGZ1bmN0aW9uKGQp
IHsgcmV0dXJuIGQudHlwZSA9PT0gIm4iIHx8IGQudHlwZSA9PT0gInMiID8gc2VsZWN0aW9uWzFd
WzBdIC0gc2VsZWN0aW9uWzBdWzBdICsgaGFuZGxlU2l6ZSA6IGhhbmRsZVNpemU7IH0pCisgICAg
ICAgICAgLmF0dHIoImhlaWdodCIsIGZ1bmN0aW9uKGQpIHsgcmV0dXJuIGQudHlwZSA9PT0gImUi
IHx8IGQudHlwZSA9PT0gInciID8gc2VsZWN0aW9uWzFdWzFdIC0gc2VsZWN0aW9uWzBdWzFdICsg
aGFuZGxlU2l6ZSA6IGhhbmRsZVNpemU7IH0pOworICAgIH0KKworICAgIGVsc2UgeworICAgICAg
Z3JvdXAuc2VsZWN0QWxsKCIuc2VsZWN0aW9uLC5oYW5kbGUiKQorICAgICAgICAgIC5zdHlsZSgi
ZGlzcGxheSIsICJub25lIikKKyAgICAgICAgICAuYXR0cigieCIsIG51bGwpCisgICAgICAgICAg
LmF0dHIoInkiLCBudWxsKQorICAgICAgICAgIC5hdHRyKCJ3aWR0aCIsIG51bGwpCisgICAgICAg
ICAgLmF0dHIoImhlaWdodCIsIG51bGwpOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGVtaXR0
ZXIodGhhdCwgYXJncywgY2xlYW4pIHsKKyAgICByZXR1cm4gKCFjbGVhbiAmJiB0aGF0Ll9fYnJ1
c2guZW1pdHRlcikgfHwgbmV3IEVtaXR0ZXIodGhhdCwgYXJncyk7CisgIH0KKworICBmdW5jdGlv
biBFbWl0dGVyKHRoYXQsIGFyZ3MpIHsKKyAgICB0aGlzLnRoYXQgPSB0aGF0OworICAgIHRoaXMu
YXJncyA9IGFyZ3M7CisgICAgdGhpcy5zdGF0ZSA9IHRoYXQuX19icnVzaDsKKyAgICB0aGlzLmFj
dGl2ZSA9IDA7CisgIH0KKworICBFbWl0dGVyLnByb3RvdHlwZSA9IHsKKyAgICBiZWZvcmVzdGFy
dDogZnVuY3Rpb24oKSB7CisgICAgICBpZiAoKyt0aGlzLmFjdGl2ZSA9PT0gMSkgdGhpcy5zdGF0
ZS5lbWl0dGVyID0gdGhpcywgdGhpcy5zdGFydGluZyA9IHRydWU7CisgICAgICByZXR1cm4gdGhp
czsKKyAgICB9LAorICAgIHN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICAgIGlmICh0aGlzLnN0YXJ0
aW5nKSB0aGlzLnN0YXJ0aW5nID0gZmFsc2UsIHRoaXMuZW1pdCgic3RhcnQiKTsKKyAgICAgIGVs
c2UgdGhpcy5lbWl0KCJicnVzaCIpOworICAgICAgcmV0dXJuIHRoaXM7CisgICAgfSwKKyAgICBi
cnVzaDogZnVuY3Rpb24oKSB7CisgICAgICB0aGlzLmVtaXQoImJydXNoIik7CisgICAgICByZXR1
cm4gdGhpczsKKyAgICB9LAorICAgIGVuZDogZnVuY3Rpb24oKSB7CisgICAgICBpZiAoLS10aGlz
LmFjdGl2ZSA9PT0gMCkgZGVsZXRlIHRoaXMuc3RhdGUuZW1pdHRlciwgdGhpcy5lbWl0KCJlbmQi
KTsKKyAgICAgIHJldHVybiB0aGlzOworICAgIH0sCisgICAgZW1pdDogZnVuY3Rpb24odHlwZSkg
eworICAgICAgY3VzdG9tRXZlbnQobmV3IEJydXNoRXZlbnQoYnJ1c2gsIHR5cGUsIGRpbS5vdXRw
dXQodGhpcy5zdGF0ZS5zZWxlY3Rpb24pKSwgbGlzdGVuZXJzLmFwcGx5LCBsaXN0ZW5lcnMsIFt0
eXBlLCB0aGlzLnRoYXQsIHRoaXMuYXJnc10pOworICAgIH0KKyAgfTsKKworICBmdW5jdGlvbiBz
dGFydGVkKCkgeworICAgIGlmICh0b3VjaGVuZGluZyAmJiAhZXhwb3J0cy5ldmVudC50b3VjaGVz
KSByZXR1cm47CisgICAgaWYgKCFmaWx0ZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSkgcmV0dXJu
OworCisgICAgdmFyIHRoYXQgPSB0aGlzLAorICAgICAgICB0eXBlID0gZXhwb3J0cy5ldmVudC50
YXJnZXQuX19kYXRhX18udHlwZSwKKyAgICAgICAgbW9kZSA9IChrZXlzICYmIGV4cG9ydHMuZXZl
bnQubWV0YUtleSA/IHR5cGUgPSAib3ZlcmxheSIgOiB0eXBlKSA9PT0gInNlbGVjdGlvbiIgPyBN
T0RFX0RSQUcgOiAoa2V5cyAmJiBleHBvcnRzLmV2ZW50LmFsdEtleSA/IE1PREVfQ0VOVEVSIDog
TU9ERV9IQU5ETEUpLAorICAgICAgICBzaWduWCA9IGRpbSA9PT0gWSA/IG51bGwgOiBzaWduc1hb
dHlwZV0sCisgICAgICAgIHNpZ25ZID0gZGltID09PSBYID8gbnVsbCA6IHNpZ25zWVt0eXBlXSwK
KyAgICAgICAgc3RhdGUgPSBsb2NhbCQxKHRoYXQpLAorICAgICAgICBleHRlbnQgPSBzdGF0ZS5l
eHRlbnQsCisgICAgICAgIHNlbGVjdGlvbiA9IHN0YXRlLnNlbGVjdGlvbiwKKyAgICAgICAgVyA9
IGV4dGVudFswXVswXSwgdzAsIHcxLAorICAgICAgICBOID0gZXh0ZW50WzBdWzFdLCBuMCwgbjEs
CisgICAgICAgIEUgPSBleHRlbnRbMV1bMF0sIGUwLCBlMSwKKyAgICAgICAgUyA9IGV4dGVudFsx
XVsxXSwgczAsIHMxLAorICAgICAgICBkeCA9IDAsCisgICAgICAgIGR5ID0gMCwKKyAgICAgICAg
bW92aW5nLAorICAgICAgICBzaGlmdGluZyA9IHNpZ25YICYmIHNpZ25ZICYmIGtleXMgJiYgZXhw
b3J0cy5ldmVudC5zaGlmdEtleSwKKyAgICAgICAgbG9ja1gsCisgICAgICAgIGxvY2tZLAorICAg
ICAgICBwb2ludGVyID0gZXhwb3J0cy5ldmVudC50b3VjaGVzID8gdG91Y2hlcihleHBvcnRzLmV2
ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmlkZW50aWZpZXIpIDogbW91c2UsCisgICAgICAgIHBvaW50
MCA9IHBvaW50ZXIodGhhdCksCisgICAgICAgIHBvaW50ID0gcG9pbnQwLAorICAgICAgICBlbWl0
ID0gZW1pdHRlcih0aGF0LCBhcmd1bWVudHMsIHRydWUpLmJlZm9yZXN0YXJ0KCk7CisKKyAgICBp
ZiAodHlwZSA9PT0gIm92ZXJsYXkiKSB7CisgICAgICBpZiAoc2VsZWN0aW9uKSBtb3ZpbmcgPSB0
cnVlOworICAgICAgc3RhdGUuc2VsZWN0aW9uID0gc2VsZWN0aW9uID0gWworICAgICAgICBbdzAg
PSBkaW0gPT09IFkgPyBXIDogcG9pbnQwWzBdLCBuMCA9IGRpbSA9PT0gWCA/IE4gOiBwb2ludDBb
MV1dLAorICAgICAgICBbZTAgPSBkaW0gPT09IFkgPyBFIDogdzAsIHMwID0gZGltID09PSBYID8g
UyA6IG4wXQorICAgICAgXTsKKyAgICB9IGVsc2UgeworICAgICAgdzAgPSBzZWxlY3Rpb25bMF1b
MF07CisgICAgICBuMCA9IHNlbGVjdGlvblswXVsxXTsKKyAgICAgIGUwID0gc2VsZWN0aW9uWzFd
WzBdOworICAgICAgczAgPSBzZWxlY3Rpb25bMV1bMV07CisgICAgfQorCisgICAgdzEgPSB3MDsK
KyAgICBuMSA9IG4wOworICAgIGUxID0gZTA7CisgICAgczEgPSBzMDsKKworICAgIHZhciBncm91
cCA9IHNlbGVjdCh0aGF0KQorICAgICAgICAuYXR0cigicG9pbnRlci1ldmVudHMiLCAibm9uZSIp
OworCisgICAgdmFyIG92ZXJsYXkgPSBncm91cC5zZWxlY3RBbGwoIi5vdmVybGF5IikKKyAgICAg
ICAgLmF0dHIoImN1cnNvciIsIGN1cnNvcnNbdHlwZV0pOworCisgICAgaWYgKGV4cG9ydHMuZXZl
bnQudG91Y2hlcykgeworICAgICAgZW1pdC5tb3ZlZCA9IG1vdmVkOworICAgICAgZW1pdC5lbmRl
ZCA9IGVuZGVkOworICAgIH0gZWxzZSB7CisgICAgICB2YXIgdmlldyA9IHNlbGVjdChleHBvcnRz
LmV2ZW50LnZpZXcpCisgICAgICAgICAgLm9uKCJtb3VzZW1vdmUuYnJ1c2giLCBtb3ZlZCwgdHJ1
ZSkKKyAgICAgICAgICAub24oIm1vdXNldXAuYnJ1c2giLCBlbmRlZCwgdHJ1ZSk7CisgICAgICBp
ZiAoa2V5cykgdmlldworICAgICAgICAgIC5vbigia2V5ZG93bi5icnVzaCIsIGtleWRvd25lZCwg
dHJ1ZSkKKyAgICAgICAgICAub24oImtleXVwLmJydXNoIiwga2V5dXBwZWQsIHRydWUpOworCisg
ICAgICBkcmFnRGlzYWJsZShleHBvcnRzLmV2ZW50LnZpZXcpOworICAgIH0KKworICAgIG5vcHJv
cGFnYXRpb24kMSgpOworICAgIGludGVycnVwdCh0aGF0KTsKKyAgICByZWRyYXcuY2FsbCh0aGF0
KTsKKyAgICBlbWl0LnN0YXJ0KCk7CisKKyAgICBmdW5jdGlvbiBtb3ZlZCgpIHsKKyAgICAgIHZh
ciBwb2ludDEgPSBwb2ludGVyKHRoYXQpOworICAgICAgaWYgKHNoaWZ0aW5nICYmICFsb2NrWCAm
JiAhbG9ja1kpIHsKKyAgICAgICAgaWYgKE1hdGguYWJzKHBvaW50MVswXSAtIHBvaW50WzBdKSA+
IE1hdGguYWJzKHBvaW50MVsxXSAtIHBvaW50WzFdKSkgbG9ja1kgPSB0cnVlOworICAgICAgICBl
bHNlIGxvY2tYID0gdHJ1ZTsKKyAgICAgIH0KKyAgICAgIHBvaW50ID0gcG9pbnQxOworICAgICAg
bW92aW5nID0gdHJ1ZTsKKyAgICAgIG5vZXZlbnQkMSgpOworICAgICAgbW92ZSgpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIG1vdmUoKSB7CisgICAgICB2YXIgdDsKKworICAgICAgZHggPSBwb2lu
dFswXSAtIHBvaW50MFswXTsKKyAgICAgIGR5ID0gcG9pbnRbMV0gLSBwb2ludDBbMV07CisKKyAg
ICAgIHN3aXRjaCAobW9kZSkgeworICAgICAgICBjYXNlIE1PREVfU1BBQ0U6CisgICAgICAgIGNh
c2UgTU9ERV9EUkFHOiB7CisgICAgICAgICAgaWYgKHNpZ25YKSBkeCA9IE1hdGgubWF4KFcgLSB3
MCwgTWF0aC5taW4oRSAtIGUwLCBkeCkpLCB3MSA9IHcwICsgZHgsIGUxID0gZTAgKyBkeDsKKyAg
ICAgICAgICBpZiAoc2lnblkpIGR5ID0gTWF0aC5tYXgoTiAtIG4wLCBNYXRoLm1pbihTIC0gczAs
IGR5KSksIG4xID0gbjAgKyBkeSwgczEgPSBzMCArIGR5OworICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CisgICAgICAgIGNhc2UgTU9ERV9IQU5ETEU6IHsKKyAgICAgICAgICBpZiAoc2lnblgg
PCAwKSBkeCA9IE1hdGgubWF4KFcgLSB3MCwgTWF0aC5taW4oRSAtIHcwLCBkeCkpLCB3MSA9IHcw
ICsgZHgsIGUxID0gZTA7CisgICAgICAgICAgZWxzZSBpZiAoc2lnblggPiAwKSBkeCA9IE1hdGgu
bWF4KFcgLSBlMCwgTWF0aC5taW4oRSAtIGUwLCBkeCkpLCB3MSA9IHcwLCBlMSA9IGUwICsgZHg7
CisgICAgICAgICAgaWYgKHNpZ25ZIDwgMCkgZHkgPSBNYXRoLm1heChOIC0gbjAsIE1hdGgubWlu
KFMgLSBuMCwgZHkpKSwgbjEgPSBuMCArIGR5LCBzMSA9IHMwOworICAgICAgICAgIGVsc2UgaWYg
KHNpZ25ZID4gMCkgZHkgPSBNYXRoLm1heChOIC0gczAsIE1hdGgubWluKFMgLSBzMCwgZHkpKSwg
bjEgPSBuMCwgczEgPSBzMCArIGR5OworICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAg
ICAgIGNhc2UgTU9ERV9DRU5URVI6IHsKKyAgICAgICAgICBpZiAoc2lnblgpIHcxID0gTWF0aC5t
YXgoVywgTWF0aC5taW4oRSwgdzAgLSBkeCAqIHNpZ25YKSksIGUxID0gTWF0aC5tYXgoVywgTWF0
aC5taW4oRSwgZTAgKyBkeCAqIHNpZ25YKSk7CisgICAgICAgICAgaWYgKHNpZ25ZKSBuMSA9IE1h
dGgubWF4KE4sIE1hdGgubWluKFMsIG4wIC0gZHkgKiBzaWduWSkpLCBzMSA9IE1hdGgubWF4KE4s
IE1hdGgubWluKFMsIHMwICsgZHkgKiBzaWduWSkpOworICAgICAgICAgIGJyZWFrOworICAgICAg
ICB9CisgICAgICB9CisKKyAgICAgIGlmIChlMSA8IHcxKSB7CisgICAgICAgIHNpZ25YICo9IC0x
OworICAgICAgICB0ID0gdzAsIHcwID0gZTAsIGUwID0gdDsKKyAgICAgICAgdCA9IHcxLCB3MSA9
IGUxLCBlMSA9IHQ7CisgICAgICAgIGlmICh0eXBlIGluIGZsaXBYKSBvdmVybGF5LmF0dHIoImN1
cnNvciIsIGN1cnNvcnNbdHlwZSA9IGZsaXBYW3R5cGVdXSk7CisgICAgICB9CisKKyAgICAgIGlm
IChzMSA8IG4xKSB7CisgICAgICAgIHNpZ25ZICo9IC0xOworICAgICAgICB0ID0gbjAsIG4wID0g
czAsIHMwID0gdDsKKyAgICAgICAgdCA9IG4xLCBuMSA9IHMxLCBzMSA9IHQ7CisgICAgICAgIGlm
ICh0eXBlIGluIGZsaXBZKSBvdmVybGF5LmF0dHIoImN1cnNvciIsIGN1cnNvcnNbdHlwZSA9IGZs
aXBZW3R5cGVdXSk7CisgICAgICB9CisKKyAgICAgIGlmIChzdGF0ZS5zZWxlY3Rpb24pIHNlbGVj
dGlvbiA9IHN0YXRlLnNlbGVjdGlvbjsgLy8gTWF5IGJlIHNldCBieSBicnVzaC5tb3ZlIQorICAg
ICAgaWYgKGxvY2tYKSB3MSA9IHNlbGVjdGlvblswXVswXSwgZTEgPSBzZWxlY3Rpb25bMV1bMF07
CisgICAgICBpZiAobG9ja1kpIG4xID0gc2VsZWN0aW9uWzBdWzFdLCBzMSA9IHNlbGVjdGlvblsx
XVsxXTsKKworICAgICAgaWYgKHNlbGVjdGlvblswXVswXSAhPT0gdzEKKyAgICAgICAgICB8fCBz
ZWxlY3Rpb25bMF1bMV0gIT09IG4xCisgICAgICAgICAgfHwgc2VsZWN0aW9uWzFdWzBdICE9PSBl
MQorICAgICAgICAgIHx8IHNlbGVjdGlvblsxXVsxXSAhPT0gczEpIHsKKyAgICAgICAgc3RhdGUu
c2VsZWN0aW9uID0gW1t3MSwgbjFdLCBbZTEsIHMxXV07CisgICAgICAgIHJlZHJhdy5jYWxsKHRo
YXQpOworICAgICAgICBlbWl0LmJydXNoKCk7CisgICAgICB9CisgICAgfQorCisgICAgZnVuY3Rp
b24gZW5kZWQoKSB7CisgICAgICBub3Byb3BhZ2F0aW9uJDEoKTsKKyAgICAgIGlmIChleHBvcnRz
LmV2ZW50LnRvdWNoZXMpIHsKKyAgICAgICAgaWYgKGV4cG9ydHMuZXZlbnQudG91Y2hlcy5sZW5n
dGgpIHJldHVybjsKKyAgICAgICAgaWYgKHRvdWNoZW5kaW5nKSBjbGVhclRpbWVvdXQodG91Y2hl
bmRpbmcpOworICAgICAgICB0b3VjaGVuZGluZyA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHRv
dWNoZW5kaW5nID0gbnVsbDsgfSwgNTAwKTsgLy8gR2hvc3QgY2xpY2tzIGFyZSBkZWxheWVkIQor
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgeWVzZHJhZyhleHBvcnRzLmV2ZW50LnZpZXcsIG1vdmlu
Zyk7CisgICAgICAgIHZpZXcub24oImtleWRvd24uYnJ1c2gga2V5dXAuYnJ1c2ggbW91c2Vtb3Zl
LmJydXNoIG1vdXNldXAuYnJ1c2giLCBudWxsKTsKKyAgICAgIH0KKyAgICAgIGdyb3VwLmF0dHIo
InBvaW50ZXItZXZlbnRzIiwgImFsbCIpOworICAgICAgb3ZlcmxheS5hdHRyKCJjdXJzb3IiLCBj
dXJzb3JzLm92ZXJsYXkpOworICAgICAgaWYgKHN0YXRlLnNlbGVjdGlvbikgc2VsZWN0aW9uID0g
c3RhdGUuc2VsZWN0aW9uOyAvLyBNYXkgYmUgc2V0IGJ5IGJydXNoLm1vdmUgKG9uIHN0YXJ0KSEK
KyAgICAgIGlmIChlbXB0eSQxKHNlbGVjdGlvbikpIHN0YXRlLnNlbGVjdGlvbiA9IG51bGwsIHJl
ZHJhdy5jYWxsKHRoYXQpOworICAgICAgZW1pdC5lbmQoKTsKKyAgICB9CisKKyAgICBmdW5jdGlv
biBrZXlkb3duZWQoKSB7CisgICAgICBzd2l0Y2ggKGV4cG9ydHMuZXZlbnQua2V5Q29kZSkgewor
ICAgICAgICBjYXNlIDE2OiB7IC8vIFNISUZUCisgICAgICAgICAgc2hpZnRpbmcgPSBzaWduWCAm
JiBzaWduWTsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIDE4OiB7
IC8vIEFMVAorICAgICAgICAgIGlmIChtb2RlID09PSBNT0RFX0hBTkRMRSkgeworICAgICAgICAg
ICAgaWYgKHNpZ25YKSBlMCA9IGUxIC0gZHggKiBzaWduWCwgdzAgPSB3MSArIGR4ICogc2lnblg7
CisgICAgICAgICAgICBpZiAoc2lnblkpIHMwID0gczEgLSBkeSAqIHNpZ25ZLCBuMCA9IG4xICsg
ZHkgKiBzaWduWTsKKyAgICAgICAgICAgIG1vZGUgPSBNT0RFX0NFTlRFUjsKKyAgICAgICAgICAg
IG1vdmUoKTsKKyAgICAgICAgICB9CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAg
ICAgY2FzZSAzMjogeyAvLyBTUEFDRTsgdGFrZXMgcHJpb3JpdHkgb3ZlciBBTFQKKyAgICAgICAg
ICBpZiAobW9kZSA9PT0gTU9ERV9IQU5ETEUgfHwgbW9kZSA9PT0gTU9ERV9DRU5URVIpIHsKKyAg
ICAgICAgICAgIGlmIChzaWduWCA8IDApIGUwID0gZTEgLSBkeDsgZWxzZSBpZiAoc2lnblggPiAw
KSB3MCA9IHcxIC0gZHg7CisgICAgICAgICAgICBpZiAoc2lnblkgPCAwKSBzMCA9IHMxIC0gZHk7
IGVsc2UgaWYgKHNpZ25ZID4gMCkgbjAgPSBuMSAtIGR5OworICAgICAgICAgICAgbW9kZSA9IE1P
REVfU1BBQ0U7CisgICAgICAgICAgICBvdmVybGF5LmF0dHIoImN1cnNvciIsIGN1cnNvcnMuc2Vs
ZWN0aW9uKTsKKyAgICAgICAgICAgIG1vdmUoKTsKKyAgICAgICAgICB9CisgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDogcmV0dXJuOworICAgICAgfQorICAgICAg
bm9ldmVudCQxKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24ga2V5dXBwZWQoKSB7CisgICAgICBz
d2l0Y2ggKGV4cG9ydHMuZXZlbnQua2V5Q29kZSkgeworICAgICAgICBjYXNlIDE2OiB7IC8vIFNI
SUZUCisgICAgICAgICAgaWYgKHNoaWZ0aW5nKSB7CisgICAgICAgICAgICBsb2NrWCA9IGxvY2tZ
ID0gc2hpZnRpbmcgPSBmYWxzZTsKKyAgICAgICAgICAgIG1vdmUoKTsKKyAgICAgICAgICB9Cisg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSAxODogeyAvLyBBTFQKKyAg
ICAgICAgICBpZiAobW9kZSA9PT0gTU9ERV9DRU5URVIpIHsKKyAgICAgICAgICAgIGlmIChzaWdu
WCA8IDApIGUwID0gZTE7IGVsc2UgaWYgKHNpZ25YID4gMCkgdzAgPSB3MTsKKyAgICAgICAgICAg
IGlmIChzaWduWSA8IDApIHMwID0gczE7IGVsc2UgaWYgKHNpZ25ZID4gMCkgbjAgPSBuMTsKKyAg
ICAgICAgICAgIG1vZGUgPSBNT0RFX0hBTkRMRTsKKyAgICAgICAgICAgIG1vdmUoKTsKKyAgICAg
ICAgICB9CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSAzMjogeyAv
LyBTUEFDRQorICAgICAgICAgIGlmIChtb2RlID09PSBNT0RFX1NQQUNFKSB7CisgICAgICAgICAg
ICBpZiAoZXhwb3J0cy5ldmVudC5hbHRLZXkpIHsKKyAgICAgICAgICAgICAgaWYgKHNpZ25YKSBl
MCA9IGUxIC0gZHggKiBzaWduWCwgdzAgPSB3MSArIGR4ICogc2lnblg7CisgICAgICAgICAgICAg
IGlmIChzaWduWSkgczAgPSBzMSAtIGR5ICogc2lnblksIG4wID0gbjEgKyBkeSAqIHNpZ25ZOwor
ICAgICAgICAgICAgICBtb2RlID0gTU9ERV9DRU5URVI7CisgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICBpZiAoc2lnblggPCAwKSBlMCA9IGUxOyBlbHNlIGlmIChzaWduWCA+IDAp
IHcwID0gdzE7CisgICAgICAgICAgICAgIGlmIChzaWduWSA8IDApIHMwID0gczE7IGVsc2UgaWYg
KHNpZ25ZID4gMCkgbjAgPSBuMTsKKyAgICAgICAgICAgICAgbW9kZSA9IE1PREVfSEFORExFOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgb3ZlcmxheS5hdHRyKCJjdXJzb3IiLCBjdXJzb3Jz
W3R5cGVdKTsKKyAgICAgICAgICAgIG1vdmUoKTsKKyAgICAgICAgICB9CisgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDogcmV0dXJuOworICAgICAgfQorICAgICAg
bm9ldmVudCQxKCk7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gdG91Y2htb3ZlZCgpIHsKKyAg
ICBlbWl0dGVyKHRoaXMsIGFyZ3VtZW50cykubW92ZWQoKTsKKyAgfQorCisgIGZ1bmN0aW9uIHRv
dWNoZW5kZWQoKSB7CisgICAgZW1pdHRlcih0aGlzLCBhcmd1bWVudHMpLmVuZGVkKCk7CisgIH0K
KworICBmdW5jdGlvbiBpbml0aWFsaXplKCkgeworICAgIHZhciBzdGF0ZSA9IHRoaXMuX19icnVz
aCB8fCB7c2VsZWN0aW9uOiBudWxsfTsKKyAgICBzdGF0ZS5leHRlbnQgPSBudW1iZXIyKGV4dGVu
dC5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTsKKyAgICBzdGF0ZS5kaW0gPSBkaW07CisgICAgcmV0
dXJuIHN0YXRlOworICB9CisKKyAgYnJ1c2guZXh0ZW50ID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGV4dGVudCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24i
ID8gXyA6IGNvbnN0YW50JDQobnVtYmVyMihfKSksIGJydXNoKSA6IGV4dGVudDsKKyAgfTsKKwor
ICBicnVzaC5maWx0ZXIgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAoZmlsdGVyID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNCgh
IV8pLCBicnVzaCkgOiBmaWx0ZXI7CisgIH07CisKKyAgYnJ1c2gudG91Y2hhYmxlID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRvdWNoYWJsZSA9IHR5cGVv
ZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDQoISFfKSwgYnJ1c2gpIDogdG91Y2hh
YmxlOworICB9OworCisgIGJydXNoLmhhbmRsZVNpemUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoaGFuZGxlU2l6ZSA9ICtfLCBicnVzaCkgOiBoYW5kbGVT
aXplOworICB9OworCisgIGJydXNoLmtleU1vZGlmaWVycyA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChrZXlzID0gISFfLCBicnVzaCkgOiBrZXlzOworICB9
OworCisgIGJydXNoLm9uID0gZnVuY3Rpb24oKSB7CisgICAgdmFyIHZhbHVlID0gbGlzdGVuZXJz
Lm9uLmFwcGx5KGxpc3RlbmVycywgYXJndW1lbnRzKTsKKyAgICByZXR1cm4gdmFsdWUgPT09IGxp
c3RlbmVycyA/IGJydXNoIDogdmFsdWU7CisgIH07CisKKyAgcmV0dXJuIGJydXNoOworfQorCit2
YXIgY29zID0gTWF0aC5jb3M7Cit2YXIgc2luID0gTWF0aC5zaW47Cit2YXIgcGkkMSA9IE1hdGgu
UEk7Cit2YXIgaGFsZlBpJDEgPSBwaSQxIC8gMjsKK3ZhciB0YXUkMSA9IHBpJDEgKiAyOwordmFy
IG1heCQxID0gTWF0aC5tYXg7CisKK2Z1bmN0aW9uIGNvbXBhcmVWYWx1ZShjb21wYXJlKSB7Cisg
IHJldHVybiBmdW5jdGlvbihhLCBiKSB7CisgICAgcmV0dXJuIGNvbXBhcmUoCisgICAgICBhLnNv
dXJjZS52YWx1ZSArIGEudGFyZ2V0LnZhbHVlLAorICAgICAgYi5zb3VyY2UudmFsdWUgKyBiLnRh
cmdldC52YWx1ZQorICAgICk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNob3JkKCkgeworICB2YXIg
cGFkQW5nbGUgPSAwLAorICAgICAgc29ydEdyb3VwcyA9IG51bGwsCisgICAgICBzb3J0U3ViZ3Jv
dXBzID0gbnVsbCwKKyAgICAgIHNvcnRDaG9yZHMgPSBudWxsOworCisgIGZ1bmN0aW9uIGNob3Jk
KG1hdHJpeCkgeworICAgIHZhciBuID0gbWF0cml4Lmxlbmd0aCwKKyAgICAgICAgZ3JvdXBTdW1z
ID0gW10sCisgICAgICAgIGdyb3VwSW5kZXggPSBzZXF1ZW5jZShuKSwKKyAgICAgICAgc3ViZ3Jv
dXBJbmRleCA9IFtdLAorICAgICAgICBjaG9yZHMgPSBbXSwKKyAgICAgICAgZ3JvdXBzID0gY2hv
cmRzLmdyb3VwcyA9IG5ldyBBcnJheShuKSwKKyAgICAgICAgc3ViZ3JvdXBzID0gbmV3IEFycmF5
KG4gKiBuKSwKKyAgICAgICAgaywKKyAgICAgICAgeCwKKyAgICAgICAgeDAsCisgICAgICAgIGR4
LAorICAgICAgICBpLAorICAgICAgICBqOworCisgICAgLy8gQ29tcHV0ZSB0aGUgc3VtLgorICAg
IGsgPSAwLCBpID0gLTE7IHdoaWxlICgrK2kgPCBuKSB7CisgICAgICB4ID0gMCwgaiA9IC0xOyB3
aGlsZSAoKytqIDwgbikgeworICAgICAgICB4ICs9IG1hdHJpeFtpXVtqXTsKKyAgICAgIH0KKyAg
ICAgIGdyb3VwU3Vtcy5wdXNoKHgpOworICAgICAgc3ViZ3JvdXBJbmRleC5wdXNoKHNlcXVlbmNl
KG4pKTsKKyAgICAgIGsgKz0geDsKKyAgICB9CisKKyAgICAvLyBTb3J0IGdyb3Vwc+KApgorICAg
IGlmIChzb3J0R3JvdXBzKSBncm91cEluZGV4LnNvcnQoZnVuY3Rpb24oYSwgYikgeworICAgICAg
cmV0dXJuIHNvcnRHcm91cHMoZ3JvdXBTdW1zW2FdLCBncm91cFN1bXNbYl0pOworICAgIH0pOwor
CisgICAgLy8gU29ydCBzdWJncm91cHPigKYKKyAgICBpZiAoc29ydFN1Ymdyb3Vwcykgc3ViZ3Jv
dXBJbmRleC5mb3JFYWNoKGZ1bmN0aW9uKGQsIGkpIHsKKyAgICAgIGQuc29ydChmdW5jdGlvbihh
LCBiKSB7CisgICAgICAgIHJldHVybiBzb3J0U3ViZ3JvdXBzKG1hdHJpeFtpXVthXSwgbWF0cml4
W2ldW2JdKTsKKyAgICAgIH0pOworICAgIH0pOworCisgICAgLy8gQ29udmVydCB0aGUgc3VtIHRv
IHNjYWxpbmcgZmFjdG9yIGZvciBbMCwgMnBpXS4KKyAgICAvLyBUT0RPIEFsbG93IHN0YXJ0IGFu
ZCBlbmQgYW5nbGUgdG8gYmUgc3BlY2lmaWVkPworICAgIC8vIFRPRE8gQWxsb3cgcGFkZGluZyB0
byBiZSBzcGVjaWZpZWQgYXMgcGVyY2VudGFnZT8KKyAgICBrID0gbWF4JDEoMCwgdGF1JDEgLSBw
YWRBbmdsZSAqIG4pIC8gazsKKyAgICBkeCA9IGsgPyBwYWRBbmdsZSA6IHRhdSQxIC8gbjsKKwor
ICAgIC8vIENvbXB1dGUgdGhlIHN0YXJ0IGFuZCBlbmQgYW5nbGUgZm9yIGVhY2ggZ3JvdXAgYW5k
IHN1Ymdyb3VwLgorICAgIC8vIE5vdGU6IE9wZXJhIGhhcyBhIGJ1ZyByZW9yZGVyaW5nIG9iamVj
dCBsaXRlcmFsIHByb3BlcnRpZXMhCisgICAgeCA9IDAsIGkgPSAtMTsgd2hpbGUgKCsraSA8IG4p
IHsKKyAgICAgIHgwID0geCwgaiA9IC0xOyB3aGlsZSAoKytqIDwgbikgeworICAgICAgICB2YXIg
ZGkgPSBncm91cEluZGV4W2ldLAorICAgICAgICAgICAgZGogPSBzdWJncm91cEluZGV4W2RpXVtq
XSwKKyAgICAgICAgICAgIHYgPSBtYXRyaXhbZGldW2RqXSwKKyAgICAgICAgICAgIGEwID0geCwK
KyAgICAgICAgICAgIGExID0geCArPSB2ICogazsKKyAgICAgICAgc3ViZ3JvdXBzW2RqICogbiAr
IGRpXSA9IHsKKyAgICAgICAgICBpbmRleDogZGksCisgICAgICAgICAgc3ViaW5kZXg6IGRqLAor
ICAgICAgICAgIHN0YXJ0QW5nbGU6IGEwLAorICAgICAgICAgIGVuZEFuZ2xlOiBhMSwKKyAgICAg
ICAgICB2YWx1ZTogdgorICAgICAgICB9OworICAgICAgfQorICAgICAgZ3JvdXBzW2RpXSA9IHsK
KyAgICAgICAgaW5kZXg6IGRpLAorICAgICAgICBzdGFydEFuZ2xlOiB4MCwKKyAgICAgICAgZW5k
QW5nbGU6IHgsCisgICAgICAgIHZhbHVlOiBncm91cFN1bXNbZGldCisgICAgICB9OworICAgICAg
eCArPSBkeDsKKyAgICB9CisKKyAgICAvLyBHZW5lcmF0ZSBjaG9yZHMgZm9yIGVhY2ggKG5vbi1l
bXB0eSkgc3ViZ3JvdXAtc3ViZ3JvdXAgbGluay4KKyAgICBpID0gLTE7IHdoaWxlICgrK2kgPCBu
KSB7CisgICAgICBqID0gaSAtIDE7IHdoaWxlICgrK2ogPCBuKSB7CisgICAgICAgIHZhciBzb3Vy
Y2UgPSBzdWJncm91cHNbaiAqIG4gKyBpXSwKKyAgICAgICAgICAgIHRhcmdldCA9IHN1Ymdyb3Vw
c1tpICogbiArIGpdOworICAgICAgICBpZiAoc291cmNlLnZhbHVlIHx8IHRhcmdldC52YWx1ZSkg
eworICAgICAgICAgIGNob3Jkcy5wdXNoKHNvdXJjZS52YWx1ZSA8IHRhcmdldC52YWx1ZQorICAg
ICAgICAgICAgICA/IHtzb3VyY2U6IHRhcmdldCwgdGFyZ2V0OiBzb3VyY2V9CisgICAgICAgICAg
ICAgIDoge3NvdXJjZTogc291cmNlLCB0YXJnZXQ6IHRhcmdldH0pOworICAgICAgICB9CisgICAg
ICB9CisgICAgfQorCisgICAgcmV0dXJuIHNvcnRDaG9yZHMgPyBjaG9yZHMuc29ydChzb3J0Q2hv
cmRzKSA6IGNob3JkczsKKyAgfQorCisgIGNob3JkLnBhZEFuZ2xlID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhZEFuZ2xlID0gbWF4JDEoMCwgXyksIGNo
b3JkKSA6IHBhZEFuZ2xlOworICB9OworCisgIGNob3JkLnNvcnRHcm91cHMgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc29ydEdyb3VwcyA9IF8sIGNob3Jk
KSA6IHNvcnRHcm91cHM7CisgIH07CisKKyAgY2hvcmQuc29ydFN1Ymdyb3VwcyA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzb3J0U3ViZ3JvdXBzID0gXywg
Y2hvcmQpIDogc29ydFN1Ymdyb3VwczsKKyAgfTsKKworICBjaG9yZC5zb3J0Q2hvcmRzID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKF8gPT0gbnVsbCA/IHNv
cnRDaG9yZHMgPSBudWxsIDogKHNvcnRDaG9yZHMgPSBjb21wYXJlVmFsdWUoXykpLl8gPSBfLCBj
aG9yZCkgOiBzb3J0Q2hvcmRzICYmIHNvcnRDaG9yZHMuXzsKKyAgfTsKKworICByZXR1cm4gY2hv
cmQ7Cit9CisKK3ZhciBzbGljZSQyID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOworCitmdW5jdGlv
biBjb25zdGFudCQ1KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB4Owor
ICB9OworfQorCit2YXIgcGkkMiA9IE1hdGguUEksCisgICAgdGF1JDIgPSAyICogcGkkMiwKKyAg
ICBlcHNpbG9uJDEgPSAxZS02LAorICAgIHRhdUVwc2lsb24gPSB0YXUkMiAtIGVwc2lsb24kMTsK
KworZnVuY3Rpb24gUGF0aCgpIHsKKyAgdGhpcy5feDAgPSB0aGlzLl95MCA9IC8vIHN0YXJ0IG9m
IGN1cnJlbnQgc3VicGF0aAorICB0aGlzLl94MSA9IHRoaXMuX3kxID0gbnVsbDsgLy8gZW5kIG9m
IGN1cnJlbnQgc3VicGF0aAorICB0aGlzLl8gPSAiIjsKK30KKworZnVuY3Rpb24gcGF0aCgpIHsK
KyAgcmV0dXJuIG5ldyBQYXRoOworfQorCitQYXRoLnByb3RvdHlwZSA9IHBhdGgucHJvdG90eXBl
ID0geworICBjb25zdHJ1Y3RvcjogUGF0aCwKKyAgbW92ZVRvOiBmdW5jdGlvbih4LCB5KSB7Cisg
ICAgdGhpcy5fICs9ICJNIiArICh0aGlzLl94MCA9IHRoaXMuX3gxID0gK3gpICsgIiwiICsgKHRo
aXMuX3kwID0gdGhpcy5feTEgPSAreSk7CisgIH0sCisgIGNsb3NlUGF0aDogZnVuY3Rpb24oKSB7
CisgICAgaWYgKHRoaXMuX3gxICE9PSBudWxsKSB7CisgICAgICB0aGlzLl94MSA9IHRoaXMuX3gw
LCB0aGlzLl95MSA9IHRoaXMuX3kwOworICAgICAgdGhpcy5fICs9ICJaIjsKKyAgICB9CisgIH0s
CisgIGxpbmVUbzogZnVuY3Rpb24oeCwgeSkgeworICAgIHRoaXMuXyArPSAiTCIgKyAodGhpcy5f
eDEgPSAreCkgKyAiLCIgKyAodGhpcy5feTEgPSAreSk7CisgIH0sCisgIHF1YWRyYXRpY0N1cnZl
VG86IGZ1bmN0aW9uKHgxLCB5MSwgeCwgeSkgeworICAgIHRoaXMuXyArPSAiUSIgKyAoK3gxKSAr
ICIsIiArICgreTEpICsgIiwiICsgKHRoaXMuX3gxID0gK3gpICsgIiwiICsgKHRoaXMuX3kxID0g
K3kpOworICB9LAorICBiZXppZXJDdXJ2ZVRvOiBmdW5jdGlvbih4MSwgeTEsIHgyLCB5MiwgeCwg
eSkgeworICAgIHRoaXMuXyArPSAiQyIgKyAoK3gxKSArICIsIiArICgreTEpICsgIiwiICsgKCt4
MikgKyAiLCIgKyAoK3kyKSArICIsIiArICh0aGlzLl94MSA9ICt4KSArICIsIiArICh0aGlzLl95
MSA9ICt5KTsKKyAgfSwKKyAgYXJjVG86IGZ1bmN0aW9uKHgxLCB5MSwgeDIsIHkyLCByKSB7Cisg
ICAgeDEgPSAreDEsIHkxID0gK3kxLCB4MiA9ICt4MiwgeTIgPSAreTIsIHIgPSArcjsKKyAgICB2
YXIgeDAgPSB0aGlzLl94MSwKKyAgICAgICAgeTAgPSB0aGlzLl95MSwKKyAgICAgICAgeDIxID0g
eDIgLSB4MSwKKyAgICAgICAgeTIxID0geTIgLSB5MSwKKyAgICAgICAgeDAxID0geDAgLSB4MSwK
KyAgICAgICAgeTAxID0geTAgLSB5MSwKKyAgICAgICAgbDAxXzIgPSB4MDEgKiB4MDEgKyB5MDEg
KiB5MDE7CisKKyAgICAvLyBJcyB0aGUgcmFkaXVzIG5lZ2F0aXZlPyBFcnJvci4KKyAgICBpZiAo
ciA8IDApIHRocm93IG5ldyBFcnJvcigibmVnYXRpdmUgcmFkaXVzOiAiICsgcik7CisKKyAgICAv
LyBJcyB0aGlzIHBhdGggZW1wdHk/IE1vdmUgdG8gKHgxLHkxKS4KKyAgICBpZiAodGhpcy5feDEg
PT09IG51bGwpIHsKKyAgICAgIHRoaXMuXyArPSAiTSIgKyAodGhpcy5feDEgPSB4MSkgKyAiLCIg
KyAodGhpcy5feTEgPSB5MSk7CisgICAgfQorCisgICAgLy8gT3IsIGlzICh4MSx5MSkgY29pbmNp
ZGVudCB3aXRoICh4MCx5MCk/IERvIG5vdGhpbmcuCisgICAgZWxzZSBpZiAoIShsMDFfMiA+IGVw
c2lsb24kMSkpOworCisgICAgLy8gT3IsIGFyZSAoeDAseTApLCAoeDEseTEpIGFuZCAoeDIseTIp
IGNvbGxpbmVhcj8KKyAgICAvLyBFcXVpdmFsZW50bHksIGlzICh4MSx5MSkgY29pbmNpZGVudCB3
aXRoICh4Mix5Mik/CisgICAgLy8gT3IsIGlzIHRoZSByYWRpdXMgemVybz8gTGluZSB0byAoeDEs
eTEpLgorICAgIGVsc2UgaWYgKCEoTWF0aC5hYnMoeTAxICogeDIxIC0geTIxICogeDAxKSA+IGVw
c2lsb24kMSkgfHwgIXIpIHsKKyAgICAgIHRoaXMuXyArPSAiTCIgKyAodGhpcy5feDEgPSB4MSkg
KyAiLCIgKyAodGhpcy5feTEgPSB5MSk7CisgICAgfQorCisgICAgLy8gT3RoZXJ3aXNlLCBkcmF3
IGFuIGFyYyEKKyAgICBlbHNlIHsKKyAgICAgIHZhciB4MjAgPSB4MiAtIHgwLAorICAgICAgICAg
IHkyMCA9IHkyIC0geTAsCisgICAgICAgICAgbDIxXzIgPSB4MjEgKiB4MjEgKyB5MjEgKiB5MjEs
CisgICAgICAgICAgbDIwXzIgPSB4MjAgKiB4MjAgKyB5MjAgKiB5MjAsCisgICAgICAgICAgbDIx
ID0gTWF0aC5zcXJ0KGwyMV8yKSwKKyAgICAgICAgICBsMDEgPSBNYXRoLnNxcnQobDAxXzIpLAor
ICAgICAgICAgIGwgPSByICogTWF0aC50YW4oKHBpJDIgLSBNYXRoLmFjb3MoKGwyMV8yICsgbDAx
XzIgLSBsMjBfMikgLyAoMiAqIGwyMSAqIGwwMSkpKSAvIDIpLAorICAgICAgICAgIHQwMSA9IGwg
LyBsMDEsCisgICAgICAgICAgdDIxID0gbCAvIGwyMTsKKworICAgICAgLy8gSWYgdGhlIHN0YXJ0
IHRhbmdlbnQgaXMgbm90IGNvaW5jaWRlbnQgd2l0aCAoeDAseTApLCBsaW5lIHRvLgorICAgICAg
aWYgKE1hdGguYWJzKHQwMSAtIDEpID4gZXBzaWxvbiQxKSB7CisgICAgICAgIHRoaXMuXyArPSAi
TCIgKyAoeDEgKyB0MDEgKiB4MDEpICsgIiwiICsgKHkxICsgdDAxICogeTAxKTsKKyAgICAgIH0K
KworICAgICAgdGhpcy5fICs9ICJBIiArIHIgKyAiLCIgKyByICsgIiwwLDAsIiArICgrKHkwMSAq
IHgyMCA+IHgwMSAqIHkyMCkpICsgIiwiICsgKHRoaXMuX3gxID0geDEgKyB0MjEgKiB4MjEpICsg
IiwiICsgKHRoaXMuX3kxID0geTEgKyB0MjEgKiB5MjEpOworICAgIH0KKyAgfSwKKyAgYXJjOiBm
dW5jdGlvbih4LCB5LCByLCBhMCwgYTEsIGNjdykgeworICAgIHggPSAreCwgeSA9ICt5LCByID0g
K3IsIGNjdyA9ICEhY2N3OworICAgIHZhciBkeCA9IHIgKiBNYXRoLmNvcyhhMCksCisgICAgICAg
IGR5ID0gciAqIE1hdGguc2luKGEwKSwKKyAgICAgICAgeDAgPSB4ICsgZHgsCisgICAgICAgIHkw
ID0geSArIGR5LAorICAgICAgICBjdyA9IDEgXiBjY3csCisgICAgICAgIGRhID0gY2N3ID8gYTAg
LSBhMSA6IGExIC0gYTA7CisKKyAgICAvLyBJcyB0aGUgcmFkaXVzIG5lZ2F0aXZlPyBFcnJvci4K
KyAgICBpZiAociA8IDApIHRocm93IG5ldyBFcnJvcigibmVnYXRpdmUgcmFkaXVzOiAiICsgcik7
CisKKyAgICAvLyBJcyB0aGlzIHBhdGggZW1wdHk/IE1vdmUgdG8gKHgwLHkwKS4KKyAgICBpZiAo
dGhpcy5feDEgPT09IG51bGwpIHsKKyAgICAgIHRoaXMuXyArPSAiTSIgKyB4MCArICIsIiArIHkw
OworICAgIH0KKworICAgIC8vIE9yLCBpcyAoeDAseTApIG5vdCBjb2luY2lkZW50IHdpdGggdGhl
IHByZXZpb3VzIHBvaW50PyBMaW5lIHRvICh4MCx5MCkuCisgICAgZWxzZSBpZiAoTWF0aC5hYnMo
dGhpcy5feDEgLSB4MCkgPiBlcHNpbG9uJDEgfHwgTWF0aC5hYnModGhpcy5feTEgLSB5MCkgPiBl
cHNpbG9uJDEpIHsKKyAgICAgIHRoaXMuXyArPSAiTCIgKyB4MCArICIsIiArIHkwOworICAgIH0K
KworICAgIC8vIElzIHRoaXMgYXJjIGVtcHR5PyBXZeKAmXJlIGRvbmUuCisgICAgaWYgKCFyKSBy
ZXR1cm47CisKKyAgICAvLyBEb2VzIHRoZSBhbmdsZSBnbyB0aGUgd3Jvbmcgd2F5PyBGbGlwIHRo
ZSBkaXJlY3Rpb24uCisgICAgaWYgKGRhIDwgMCkgZGEgPSBkYSAlIHRhdSQyICsgdGF1JDI7CisK
KyAgICAvLyBJcyB0aGlzIGEgY29tcGxldGUgY2lyY2xlPyBEcmF3IHR3byBhcmNzIHRvIGNvbXBs
ZXRlIHRoZSBjaXJjbGUuCisgICAgaWYgKGRhID4gdGF1RXBzaWxvbikgeworICAgICAgdGhpcy5f
ICs9ICJBIiArIHIgKyAiLCIgKyByICsgIiwwLDEsIiArIGN3ICsgIiwiICsgKHggLSBkeCkgKyAi
LCIgKyAoeSAtIGR5KSArICJBIiArIHIgKyAiLCIgKyByICsgIiwwLDEsIiArIGN3ICsgIiwiICsg
KHRoaXMuX3gxID0geDApICsgIiwiICsgKHRoaXMuX3kxID0geTApOworICAgIH0KKworICAgIC8v
IElzIHRoaXMgYXJjIG5vbi1lbXB0eT8gRHJhdyBhbiBhcmMhCisgICAgZWxzZSBpZiAoZGEgPiBl
cHNpbG9uJDEpIHsKKyAgICAgIHRoaXMuXyArPSAiQSIgKyByICsgIiwiICsgciArICIsMCwiICsg
KCsoZGEgPj0gcGkkMikpICsgIiwiICsgY3cgKyAiLCIgKyAodGhpcy5feDEgPSB4ICsgciAqIE1h
dGguY29zKGExKSkgKyAiLCIgKyAodGhpcy5feTEgPSB5ICsgciAqIE1hdGguc2luKGExKSk7Cisg
ICAgfQorICB9LAorICByZWN0OiBmdW5jdGlvbih4LCB5LCB3LCBoKSB7CisgICAgdGhpcy5fICs9
ICJNIiArICh0aGlzLl94MCA9IHRoaXMuX3gxID0gK3gpICsgIiwiICsgKHRoaXMuX3kwID0gdGhp
cy5feTEgPSAreSkgKyAiaCIgKyAoK3cpICsgInYiICsgKCtoKSArICJoIiArICgtdykgKyAiWiI7
CisgIH0sCisgIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gdGhpcy5fOworICB9
Cit9OworCitmdW5jdGlvbiBkZWZhdWx0U291cmNlKGQpIHsKKyAgcmV0dXJuIGQuc291cmNlOwor
fQorCitmdW5jdGlvbiBkZWZhdWx0VGFyZ2V0KGQpIHsKKyAgcmV0dXJuIGQudGFyZ2V0OworfQor
CitmdW5jdGlvbiBkZWZhdWx0UmFkaXVzKGQpIHsKKyAgcmV0dXJuIGQucmFkaXVzOworfQorCitm
dW5jdGlvbiBkZWZhdWx0U3RhcnRBbmdsZShkKSB7CisgIHJldHVybiBkLnN0YXJ0QW5nbGU7Cit9
CisKK2Z1bmN0aW9uIGRlZmF1bHRFbmRBbmdsZShkKSB7CisgIHJldHVybiBkLmVuZEFuZ2xlOwor
fQorCitmdW5jdGlvbiByaWJib24oKSB7CisgIHZhciBzb3VyY2UgPSBkZWZhdWx0U291cmNlLAor
ICAgICAgdGFyZ2V0ID0gZGVmYXVsdFRhcmdldCwKKyAgICAgIHJhZGl1cyA9IGRlZmF1bHRSYWRp
dXMsCisgICAgICBzdGFydEFuZ2xlID0gZGVmYXVsdFN0YXJ0QW5nbGUsCisgICAgICBlbmRBbmds
ZSA9IGRlZmF1bHRFbmRBbmdsZSwKKyAgICAgIGNvbnRleHQgPSBudWxsOworCisgIGZ1bmN0aW9u
IHJpYmJvbigpIHsKKyAgICB2YXIgYnVmZmVyLAorICAgICAgICBhcmd2ID0gc2xpY2UkMi5jYWxs
KGFyZ3VtZW50cyksCisgICAgICAgIHMgPSBzb3VyY2UuYXBwbHkodGhpcywgYXJndiksCisgICAg
ICAgIHQgPSB0YXJnZXQuYXBwbHkodGhpcywgYXJndiksCisgICAgICAgIHNyID0gK3JhZGl1cy5h
cHBseSh0aGlzLCAoYXJndlswXSA9IHMsIGFyZ3YpKSwKKyAgICAgICAgc2EwID0gc3RhcnRBbmds
ZS5hcHBseSh0aGlzLCBhcmd2KSAtIGhhbGZQaSQxLAorICAgICAgICBzYTEgPSBlbmRBbmdsZS5h
cHBseSh0aGlzLCBhcmd2KSAtIGhhbGZQaSQxLAorICAgICAgICBzeDAgPSBzciAqIGNvcyhzYTAp
LAorICAgICAgICBzeTAgPSBzciAqIHNpbihzYTApLAorICAgICAgICB0ciA9ICtyYWRpdXMuYXBw
bHkodGhpcywgKGFyZ3ZbMF0gPSB0LCBhcmd2KSksCisgICAgICAgIHRhMCA9IHN0YXJ0QW5nbGUu
YXBwbHkodGhpcywgYXJndikgLSBoYWxmUGkkMSwKKyAgICAgICAgdGExID0gZW5kQW5nbGUuYXBw
bHkodGhpcywgYXJndikgLSBoYWxmUGkkMTsKKworICAgIGlmICghY29udGV4dCkgY29udGV4dCA9
IGJ1ZmZlciA9IHBhdGgoKTsKKworICAgIGNvbnRleHQubW92ZVRvKHN4MCwgc3kwKTsKKyAgICBj
b250ZXh0LmFyYygwLCAwLCBzciwgc2EwLCBzYTEpOworICAgIGlmIChzYTAgIT09IHRhMCB8fCBz
YTEgIT09IHRhMSkgeyAvLyBUT0RPIHNyICE9PSB0cj8KKyAgICAgIGNvbnRleHQucXVhZHJhdGlj
Q3VydmVUbygwLCAwLCB0ciAqIGNvcyh0YTApLCB0ciAqIHNpbih0YTApKTsKKyAgICAgIGNvbnRl
eHQuYXJjKDAsIDAsIHRyLCB0YTAsIHRhMSk7CisgICAgfQorICAgIGNvbnRleHQucXVhZHJhdGlj
Q3VydmVUbygwLCAwLCBzeDAsIHN5MCk7CisgICAgY29udGV4dC5jbG9zZVBhdGgoKTsKKworICAg
IGlmIChidWZmZXIpIHJldHVybiBjb250ZXh0ID0gbnVsbCwgYnVmZmVyICsgIiIgfHwgbnVsbDsK
KyAgfQorCisgIHJpYmJvbi5yYWRpdXMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAocmFkaXVzID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29u
c3RhbnQkNSgrXyksIHJpYmJvbikgOiByYWRpdXM7CisgIH07CisKKyAgcmliYm9uLnN0YXJ0QW5n
bGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc3RhcnRB
bmdsZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDUoK18pLCByaWJi
b24pIDogc3RhcnRBbmdsZTsKKyAgfTsKKworICByaWJib24uZW5kQW5nbGUgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZW5kQW5nbGUgPSB0eXBlb2YgXyA9
PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCQ1KCtfKSwgcmliYm9uKSA6IGVuZEFuZ2xlOwor
ICB9OworCisgIHJpYmJvbi5zb3VyY2UgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAoc291cmNlID0gXywgcmliYm9uKSA6IHNvdXJjZTsKKyAgfTsKKworICBy
aWJib24udGFyZ2V0ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKHRhcmdldCA9IF8sIHJpYmJvbikgOiB0YXJnZXQ7CisgIH07CisKKyAgcmliYm9uLmNvbnRl
eHQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoKGNvbnRl
eHQgPSBfID09IG51bGwgPyBudWxsIDogXyksIHJpYmJvbikgOiBjb250ZXh0OworICB9OworCisg
IHJldHVybiByaWJib247Cit9CisKK3ZhciBwcmVmaXggPSAiJCI7CisKK2Z1bmN0aW9uIE1hcCgp
IHt9CisKK01hcC5wcm90b3R5cGUgPSBtYXAkMS5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9y
OiBNYXAsCisgIGhhczogZnVuY3Rpb24oa2V5KSB7CisgICAgcmV0dXJuIChwcmVmaXggKyBrZXkp
IGluIHRoaXM7CisgIH0sCisgIGdldDogZnVuY3Rpb24oa2V5KSB7CisgICAgcmV0dXJuIHRoaXNb
cHJlZml4ICsga2V5XTsKKyAgfSwKKyAgc2V0OiBmdW5jdGlvbihrZXksIHZhbHVlKSB7CisgICAg
dGhpc1twcmVmaXggKyBrZXldID0gdmFsdWU7CisgICAgcmV0dXJuIHRoaXM7CisgIH0sCisgIHJl
bW92ZTogZnVuY3Rpb24oa2V5KSB7CisgICAgdmFyIHByb3BlcnR5ID0gcHJlZml4ICsga2V5Owor
ICAgIHJldHVybiBwcm9wZXJ0eSBpbiB0aGlzICYmIGRlbGV0ZSB0aGlzW3Byb3BlcnR5XTsKKyAg
fSwKKyAgY2xlYXI6IGZ1bmN0aW9uKCkgeworICAgIGZvciAodmFyIHByb3BlcnR5IGluIHRoaXMp
IGlmIChwcm9wZXJ0eVswXSA9PT0gcHJlZml4KSBkZWxldGUgdGhpc1twcm9wZXJ0eV07CisgIH0s
CisgIGtleXM6IGZ1bmN0aW9uKCkgeworICAgIHZhciBrZXlzID0gW107CisgICAgZm9yICh2YXIg
cHJvcGVydHkgaW4gdGhpcykgaWYgKHByb3BlcnR5WzBdID09PSBwcmVmaXgpIGtleXMucHVzaChw
cm9wZXJ0eS5zbGljZSgxKSk7CisgICAgcmV0dXJuIGtleXM7CisgIH0sCisgIHZhbHVlczogZnVu
Y3Rpb24oKSB7CisgICAgdmFyIHZhbHVlcyA9IFtdOworICAgIGZvciAodmFyIHByb3BlcnR5IGlu
IHRoaXMpIGlmIChwcm9wZXJ0eVswXSA9PT0gcHJlZml4KSB2YWx1ZXMucHVzaCh0aGlzW3Byb3Bl
cnR5XSk7CisgICAgcmV0dXJuIHZhbHVlczsKKyAgfSwKKyAgZW50cmllczogZnVuY3Rpb24oKSB7
CisgICAgdmFyIGVudHJpZXMgPSBbXTsKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB0aGlzKSBp
ZiAocHJvcGVydHlbMF0gPT09IHByZWZpeCkgZW50cmllcy5wdXNoKHtrZXk6IHByb3BlcnR5LnNs
aWNlKDEpLCB2YWx1ZTogdGhpc1twcm9wZXJ0eV19KTsKKyAgICByZXR1cm4gZW50cmllczsKKyAg
fSwKKyAgc2l6ZTogZnVuY3Rpb24oKSB7CisgICAgdmFyIHNpemUgPSAwOworICAgIGZvciAodmFy
IHByb3BlcnR5IGluIHRoaXMpIGlmIChwcm9wZXJ0eVswXSA9PT0gcHJlZml4KSArK3NpemU7Cisg
ICAgcmV0dXJuIHNpemU7CisgIH0sCisgIGVtcHR5OiBmdW5jdGlvbigpIHsKKyAgICBmb3IgKHZh
ciBwcm9wZXJ0eSBpbiB0aGlzKSBpZiAocHJvcGVydHlbMF0gPT09IHByZWZpeCkgcmV0dXJuIGZh
bHNlOworICAgIHJldHVybiB0cnVlOworICB9LAorICBlYWNoOiBmdW5jdGlvbihmKSB7CisgICAg
Zm9yICh2YXIgcHJvcGVydHkgaW4gdGhpcykgaWYgKHByb3BlcnR5WzBdID09PSBwcmVmaXgpIGYo
dGhpc1twcm9wZXJ0eV0sIHByb3BlcnR5LnNsaWNlKDEpLCB0aGlzKTsKKyAgfQorfTsKKworZnVu
Y3Rpb24gbWFwJDEob2JqZWN0LCBmKSB7CisgIHZhciBtYXAgPSBuZXcgTWFwOworCisgIC8vIENv
cHkgY29uc3RydWN0b3IuCisgIGlmIChvYmplY3QgaW5zdGFuY2VvZiBNYXApIG9iamVjdC5lYWNo
KGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHsgbWFwLnNldChrZXksIHZhbHVlKTsgfSk7CisKKyAgLy8g
SW5kZXggYXJyYXkgYnkgbnVtZXJpYyBpbmRleCBvciBzcGVjaWZpZWQga2V5IGZ1bmN0aW9uLgor
ICBlbHNlIGlmIChBcnJheS5pc0FycmF5KG9iamVjdCkpIHsKKyAgICB2YXIgaSA9IC0xLAorICAg
ICAgICBuID0gb2JqZWN0Lmxlbmd0aCwKKyAgICAgICAgbzsKKworICAgIGlmIChmID09IG51bGwp
IHdoaWxlICgrK2kgPCBuKSBtYXAuc2V0KGksIG9iamVjdFtpXSk7CisgICAgZWxzZSB3aGlsZSAo
KytpIDwgbikgbWFwLnNldChmKG8gPSBvYmplY3RbaV0sIGksIG9iamVjdCksIG8pOworICB9CisK
KyAgLy8gQ29udmVydCBvYmplY3QgdG8gbWFwLgorICBlbHNlIGlmIChvYmplY3QpIGZvciAodmFy
IGtleSBpbiBvYmplY3QpIG1hcC5zZXQoa2V5LCBvYmplY3Rba2V5XSk7CisKKyAgcmV0dXJuIG1h
cDsKK30KKworZnVuY3Rpb24gbmVzdCgpIHsKKyAgdmFyIGtleXMgPSBbXSwKKyAgICAgIHNvcnRL
ZXlzID0gW10sCisgICAgICBzb3J0VmFsdWVzLAorICAgICAgcm9sbHVwLAorICAgICAgbmVzdDsK
KworICBmdW5jdGlvbiBhcHBseShhcnJheSwgZGVwdGgsIGNyZWF0ZVJlc3VsdCwgc2V0UmVzdWx0
KSB7CisgICAgaWYgKGRlcHRoID49IGtleXMubGVuZ3RoKSB7CisgICAgICBpZiAoc29ydFZhbHVl
cyAhPSBudWxsKSBhcnJheS5zb3J0KHNvcnRWYWx1ZXMpOworICAgICAgcmV0dXJuIHJvbGx1cCAh
PSBudWxsID8gcm9sbHVwKGFycmF5KSA6IGFycmF5OworICAgIH0KKworICAgIHZhciBpID0gLTEs
CisgICAgICAgIG4gPSBhcnJheS5sZW5ndGgsCisgICAgICAgIGtleSA9IGtleXNbZGVwdGgrK10s
CisgICAgICAgIGtleVZhbHVlLAorICAgICAgICB2YWx1ZSwKKyAgICAgICAgdmFsdWVzQnlLZXkg
PSBtYXAkMSgpLAorICAgICAgICB2YWx1ZXMsCisgICAgICAgIHJlc3VsdCA9IGNyZWF0ZVJlc3Vs
dCgpOworCisgICAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIGlmICh2YWx1ZXMgPSB2YWx1ZXNC
eUtleS5nZXQoa2V5VmFsdWUgPSBrZXkodmFsdWUgPSBhcnJheVtpXSkgKyAiIikpIHsKKyAgICAg
ICAgdmFsdWVzLnB1c2godmFsdWUpOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgdmFsdWVzQnlL
ZXkuc2V0KGtleVZhbHVlLCBbdmFsdWVdKTsKKyAgICAgIH0KKyAgICB9CisKKyAgICB2YWx1ZXNC
eUtleS5lYWNoKGZ1bmN0aW9uKHZhbHVlcywga2V5KSB7CisgICAgICBzZXRSZXN1bHQocmVzdWx0
LCBrZXksIGFwcGx5KHZhbHVlcywgZGVwdGgsIGNyZWF0ZVJlc3VsdCwgc2V0UmVzdWx0KSk7Cisg
ICAgfSk7CisKKyAgICByZXR1cm4gcmVzdWx0OworICB9CisKKyAgZnVuY3Rpb24gZW50cmllcyht
YXAsIGRlcHRoKSB7CisgICAgaWYgKCsrZGVwdGggPiBrZXlzLmxlbmd0aCkgcmV0dXJuIG1hcDsK
KyAgICB2YXIgYXJyYXksIHNvcnRLZXkgPSBzb3J0S2V5c1tkZXB0aCAtIDFdOworICAgIGlmIChy
b2xsdXAgIT0gbnVsbCAmJiBkZXB0aCA+PSBrZXlzLmxlbmd0aCkgYXJyYXkgPSBtYXAuZW50cmll
cygpOworICAgIGVsc2UgYXJyYXkgPSBbXSwgbWFwLmVhY2goZnVuY3Rpb24odiwgaykgeyBhcnJh
eS5wdXNoKHtrZXk6IGssIHZhbHVlczogZW50cmllcyh2LCBkZXB0aCl9KTsgfSk7CisgICAgcmV0
dXJuIHNvcnRLZXkgIT0gbnVsbCA/IGFycmF5LnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4g
c29ydEtleShhLmtleSwgYi5rZXkpOyB9KSA6IGFycmF5OworICB9CisKKyAgcmV0dXJuIG5lc3Qg
PSB7CisgICAgb2JqZWN0OiBmdW5jdGlvbihhcnJheSkgeyByZXR1cm4gYXBwbHkoYXJyYXksIDAs
IGNyZWF0ZU9iamVjdCwgc2V0T2JqZWN0KTsgfSwKKyAgICBtYXA6IGZ1bmN0aW9uKGFycmF5KSB7
IHJldHVybiBhcHBseShhcnJheSwgMCwgY3JlYXRlTWFwLCBzZXRNYXApOyB9LAorICAgIGVudHJp
ZXM6IGZ1bmN0aW9uKGFycmF5KSB7IHJldHVybiBlbnRyaWVzKGFwcGx5KGFycmF5LCAwLCBjcmVh
dGVNYXAsIHNldE1hcCksIDApOyB9LAorICAgIGtleTogZnVuY3Rpb24oZCkgeyBrZXlzLnB1c2go
ZCk7IHJldHVybiBuZXN0OyB9LAorICAgIHNvcnRLZXlzOiBmdW5jdGlvbihvcmRlcikgeyBzb3J0
S2V5c1trZXlzLmxlbmd0aCAtIDFdID0gb3JkZXI7IHJldHVybiBuZXN0OyB9LAorICAgIHNvcnRW
YWx1ZXM6IGZ1bmN0aW9uKG9yZGVyKSB7IHNvcnRWYWx1ZXMgPSBvcmRlcjsgcmV0dXJuIG5lc3Q7
IH0sCisgICAgcm9sbHVwOiBmdW5jdGlvbihmKSB7IHJvbGx1cCA9IGY7IHJldHVybiBuZXN0OyB9
CisgIH07Cit9CisKK2Z1bmN0aW9uIGNyZWF0ZU9iamVjdCgpIHsKKyAgcmV0dXJuIHt9OworfQor
CitmdW5jdGlvbiBzZXRPYmplY3Qob2JqZWN0LCBrZXksIHZhbHVlKSB7CisgIG9iamVjdFtrZXld
ID0gdmFsdWU7Cit9CisKK2Z1bmN0aW9uIGNyZWF0ZU1hcCgpIHsKKyAgcmV0dXJuIG1hcCQxKCk7
Cit9CisKK2Z1bmN0aW9uIHNldE1hcChtYXAsIGtleSwgdmFsdWUpIHsKKyAgbWFwLnNldChrZXks
IHZhbHVlKTsKK30KKworZnVuY3Rpb24gU2V0KCkge30KKwordmFyIHByb3RvID0gbWFwJDEucHJv
dG90eXBlOworCitTZXQucHJvdG90eXBlID0gc2V0JDIucHJvdG90eXBlID0geworICBjb25zdHJ1
Y3RvcjogU2V0LAorICBoYXM6IHByb3RvLmhhcywKKyAgYWRkOiBmdW5jdGlvbih2YWx1ZSkgewor
ICAgIHZhbHVlICs9ICIiOworICAgIHRoaXNbcHJlZml4ICsgdmFsdWVdID0gdmFsdWU7CisgICAg
cmV0dXJuIHRoaXM7CisgIH0sCisgIHJlbW92ZTogcHJvdG8ucmVtb3ZlLAorICBjbGVhcjogcHJv
dG8uY2xlYXIsCisgIHZhbHVlczogcHJvdG8ua2V5cywKKyAgc2l6ZTogcHJvdG8uc2l6ZSwKKyAg
ZW1wdHk6IHByb3RvLmVtcHR5LAorICBlYWNoOiBwcm90by5lYWNoCit9OworCitmdW5jdGlvbiBz
ZXQkMihvYmplY3QsIGYpIHsKKyAgdmFyIHNldCA9IG5ldyBTZXQ7CisKKyAgLy8gQ29weSBjb25z
dHJ1Y3Rvci4KKyAgaWYgKG9iamVjdCBpbnN0YW5jZW9mIFNldCkgb2JqZWN0LmVhY2goZnVuY3Rp
b24odmFsdWUpIHsgc2V0LmFkZCh2YWx1ZSk7IH0pOworCisgIC8vIE90aGVyd2lzZSwgYXNzdW1l
IGl04oCZcyBhbiBhcnJheS4KKyAgZWxzZSBpZiAob2JqZWN0KSB7CisgICAgdmFyIGkgPSAtMSwg
biA9IG9iamVjdC5sZW5ndGg7CisgICAgaWYgKGYgPT0gbnVsbCkgd2hpbGUgKCsraSA8IG4pIHNl
dC5hZGQob2JqZWN0W2ldKTsKKyAgICBlbHNlIHdoaWxlICgrK2kgPCBuKSBzZXQuYWRkKGYob2Jq
ZWN0W2ldLCBpLCBvYmplY3QpKTsKKyAgfQorCisgIHJldHVybiBzZXQ7Cit9CisKK2Z1bmN0aW9u
IGtleXMobWFwKSB7CisgIHZhciBrZXlzID0gW107CisgIGZvciAodmFyIGtleSBpbiBtYXApIGtl
eXMucHVzaChrZXkpOworICByZXR1cm4ga2V5czsKK30KKworZnVuY3Rpb24gdmFsdWVzKG1hcCkg
eworICB2YXIgdmFsdWVzID0gW107CisgIGZvciAodmFyIGtleSBpbiBtYXApIHZhbHVlcy5wdXNo
KG1hcFtrZXldKTsKKyAgcmV0dXJuIHZhbHVlczsKK30KKworZnVuY3Rpb24gZW50cmllcyhtYXAp
IHsKKyAgdmFyIGVudHJpZXMgPSBbXTsKKyAgZm9yICh2YXIga2V5IGluIG1hcCkgZW50cmllcy5w
dXNoKHtrZXk6IGtleSwgdmFsdWU6IG1hcFtrZXldfSk7CisgIHJldHVybiBlbnRyaWVzOworfQor
Cit2YXIgYXJyYXkkMiA9IEFycmF5LnByb3RvdHlwZTsKKwordmFyIHNsaWNlJDMgPSBhcnJheSQy
LnNsaWNlOworCitmdW5jdGlvbiBhc2NlbmRpbmckMihhLCBiKSB7CisgIHJldHVybiBhIC0gYjsK
K30KKworZnVuY3Rpb24gYXJlYShyaW5nKSB7CisgIHZhciBpID0gMCwgbiA9IHJpbmcubGVuZ3Ro
LCBhcmVhID0gcmluZ1tuIC0gMV1bMV0gKiByaW5nWzBdWzBdIC0gcmluZ1tuIC0gMV1bMF0gKiBy
aW5nWzBdWzFdOworICB3aGlsZSAoKytpIDwgbikgYXJlYSArPSByaW5nW2kgLSAxXVsxXSAqIHJp
bmdbaV1bMF0gLSByaW5nW2kgLSAxXVswXSAqIHJpbmdbaV1bMV07CisgIHJldHVybiBhcmVhOwor
fQorCitmdW5jdGlvbiBjb25zdGFudCQ2KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAg
IHJldHVybiB4OworICB9OworfQorCitmdW5jdGlvbiBjb250YWlucyhyaW5nLCBob2xlKSB7Cisg
IHZhciBpID0gLTEsIG4gPSBob2xlLmxlbmd0aCwgYzsKKyAgd2hpbGUgKCsraSA8IG4pIGlmIChj
ID0gcmluZ0NvbnRhaW5zKHJpbmcsIGhvbGVbaV0pKSByZXR1cm4gYzsKKyAgcmV0dXJuIDA7Cit9
CisKK2Z1bmN0aW9uIHJpbmdDb250YWlucyhyaW5nLCBwb2ludCkgeworICB2YXIgeCA9IHBvaW50
WzBdLCB5ID0gcG9pbnRbMV0sIGNvbnRhaW5zID0gLTE7CisgIGZvciAodmFyIGkgPSAwLCBuID0g
cmluZy5sZW5ndGgsIGogPSBuIC0gMTsgaSA8IG47IGogPSBpKyspIHsKKyAgICB2YXIgcGkgPSBy
aW5nW2ldLCB4aSA9IHBpWzBdLCB5aSA9IHBpWzFdLCBwaiA9IHJpbmdbal0sIHhqID0gcGpbMF0s
IHlqID0gcGpbMV07CisgICAgaWYgKHNlZ21lbnRDb250YWlucyhwaSwgcGosIHBvaW50KSkgcmV0
dXJuIDA7CisgICAgaWYgKCgoeWkgPiB5KSAhPT0gKHlqID4geSkpICYmICgoeCA8ICh4aiAtIHhp
KSAqICh5IC0geWkpIC8gKHlqIC0geWkpICsgeGkpKSkgY29udGFpbnMgPSAtY29udGFpbnM7Cisg
IH0KKyAgcmV0dXJuIGNvbnRhaW5zOworfQorCitmdW5jdGlvbiBzZWdtZW50Q29udGFpbnMoYSwg
YiwgYykgeworICB2YXIgaTsgcmV0dXJuIGNvbGxpbmVhcihhLCBiLCBjKSAmJiB3aXRoaW4oYVtp
ID0gKyhhWzBdID09PSBiWzBdKV0sIGNbaV0sIGJbaV0pOworfQorCitmdW5jdGlvbiBjb2xsaW5l
YXIoYSwgYiwgYykgeworICByZXR1cm4gKGJbMF0gLSBhWzBdKSAqIChjWzFdIC0gYVsxXSkgPT09
IChjWzBdIC0gYVswXSkgKiAoYlsxXSAtIGFbMV0pOworfQorCitmdW5jdGlvbiB3aXRoaW4ocCwg
cSwgcikgeworICByZXR1cm4gcCA8PSBxICYmIHEgPD0gciB8fCByIDw9IHEgJiYgcSA8PSBwOwor
fQorCitmdW5jdGlvbiBub29wJDEoKSB7fQorCit2YXIgY2FzZXMgPSBbCisgIFtdLAorICBbW1sx
LjAsIDEuNV0sIFswLjUsIDEuMF1dXSwKKyAgW1tbMS41LCAxLjBdLCBbMS4wLCAxLjVdXV0sCisg
IFtbWzEuNSwgMS4wXSwgWzAuNSwgMS4wXV1dLAorICBbW1sxLjAsIDAuNV0sIFsxLjUsIDEuMF1d
XSwKKyAgW1tbMS4wLCAxLjVdLCBbMC41LCAxLjBdXSwgW1sxLjAsIDAuNV0sIFsxLjUsIDEuMF1d
XSwKKyAgW1tbMS4wLCAwLjVdLCBbMS4wLCAxLjVdXV0sCisgIFtbWzEuMCwgMC41XSwgWzAuNSwg
MS4wXV1dLAorICBbW1swLjUsIDEuMF0sIFsxLjAsIDAuNV1dXSwKKyAgW1tbMS4wLCAxLjVdLCBb
MS4wLCAwLjVdXV0sCisgIFtbWzAuNSwgMS4wXSwgWzEuMCwgMC41XV0sIFtbMS41LCAxLjBdLCBb
MS4wLCAxLjVdXV0sCisgIFtbWzEuNSwgMS4wXSwgWzEuMCwgMC41XV1dLAorICBbW1swLjUsIDEu
MF0sIFsxLjUsIDEuMF1dXSwKKyAgW1tbMS4wLCAxLjVdLCBbMS41LCAxLjBdXV0sCisgIFtbWzAu
NSwgMS4wXSwgWzEuMCwgMS41XV1dLAorICBbXQorXTsKKworZnVuY3Rpb24gY29udG91cnMoKSB7
CisgIHZhciBkeCA9IDEsCisgICAgICBkeSA9IDEsCisgICAgICB0aHJlc2hvbGQgPSB0aHJlc2hv
bGRTdHVyZ2VzLAorICAgICAgc21vb3RoID0gc21vb3RoTGluZWFyOworCisgIGZ1bmN0aW9uIGNv
bnRvdXJzKHZhbHVlcykgeworICAgIHZhciB0eiA9IHRocmVzaG9sZCh2YWx1ZXMpOworCisgICAg
Ly8gQ29udmVydCBudW1iZXIgb2YgdGhyZXNob2xkcyBpbnRvIHVuaWZvcm0gdGhyZXNob2xkcy4K
KyAgICBpZiAoIUFycmF5LmlzQXJyYXkodHopKSB7CisgICAgICB2YXIgZG9tYWluID0gZXh0ZW50
KHZhbHVlcyksIHN0YXJ0ID0gZG9tYWluWzBdLCBzdG9wID0gZG9tYWluWzFdOworICAgICAgdHog
PSB0aWNrU3RlcChzdGFydCwgc3RvcCwgdHopOworICAgICAgdHogPSBzZXF1ZW5jZShNYXRoLmZs
b29yKHN0YXJ0IC8gdHopICogdHosIE1hdGguZmxvb3Ioc3RvcCAvIHR6KSAqIHR6LCB0eik7Cisg
ICAgfSBlbHNlIHsKKyAgICAgIHR6ID0gdHouc2xpY2UoKS5zb3J0KGFzY2VuZGluZyQyKTsKKyAg
ICB9CisKKyAgICByZXR1cm4gdHoubWFwKGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICByZXR1cm4g
Y29udG91cih2YWx1ZXMsIHZhbHVlKTsKKyAgICB9KTsKKyAgfQorCisgIC8vIEFjY3VtdWxhdGUs
IHNtb290aCBjb250b3VyIHJpbmdzLCBhc3NpZ24gaG9sZXMgdG8gZXh0ZXJpb3IgcmluZ3MuCisg
IC8vIEJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9tYm9zdG9jay9zaGFwZWZpbGUvYmxvYi92
MC42LjIvc2hwL3BvbHlnb24uanMKKyAgZnVuY3Rpb24gY29udG91cih2YWx1ZXMsIHZhbHVlKSB7
CisgICAgdmFyIHBvbHlnb25zID0gW10sCisgICAgICAgIGhvbGVzID0gW107CisKKyAgICBpc29y
aW5ncyh2YWx1ZXMsIHZhbHVlLCBmdW5jdGlvbihyaW5nKSB7CisgICAgICBzbW9vdGgocmluZywg
dmFsdWVzLCB2YWx1ZSk7CisgICAgICBpZiAoYXJlYShyaW5nKSA+IDApIHBvbHlnb25zLnB1c2go
W3JpbmddKTsKKyAgICAgIGVsc2UgaG9sZXMucHVzaChyaW5nKTsKKyAgICB9KTsKKworICAgIGhv
bGVzLmZvckVhY2goZnVuY3Rpb24oaG9sZSkgeworICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBw
b2x5Z29ucy5sZW5ndGgsIHBvbHlnb247IGkgPCBuOyArK2kpIHsKKyAgICAgICAgaWYgKGNvbnRh
aW5zKChwb2x5Z29uID0gcG9seWdvbnNbaV0pWzBdLCBob2xlKSAhPT0gLTEpIHsKKyAgICAgICAg
ICBwb2x5Z29uLnB1c2goaG9sZSk7CisgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICB9CisgICAgfSk7CisKKyAgICByZXR1cm4geworICAgICAgdHlwZTogIk11bHRpUG9seWdvbiIs
CisgICAgICB2YWx1ZTogdmFsdWUsCisgICAgICBjb29yZGluYXRlczogcG9seWdvbnMKKyAgICB9
OworICB9CisKKyAgLy8gTWFyY2hpbmcgc3F1YXJlcyB3aXRoIGlzb2xpbmVzIHN0aXRjaGVkIGlu
dG8gcmluZ3MuCisgIC8vIEJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS90b3BvanNvbi90b3Bv
anNvbi1jbGllbnQvYmxvYi92My4wLjAvc3JjL3N0aXRjaC5qcworICBmdW5jdGlvbiBpc29yaW5n
cyh2YWx1ZXMsIHZhbHVlLCBjYWxsYmFjaykgeworICAgIHZhciBmcmFnbWVudEJ5U3RhcnQgPSBu
ZXcgQXJyYXksCisgICAgICAgIGZyYWdtZW50QnlFbmQgPSBuZXcgQXJyYXksCisgICAgICAgIHgs
IHksIHQwLCB0MSwgdDIsIHQzOworCisgICAgLy8gU3BlY2lhbCBjYXNlIGZvciB0aGUgZmlyc3Qg
cm93ICh5ID0gLTEsIHQyID0gdDMgPSAwKS4KKyAgICB4ID0geSA9IC0xOworICAgIHQxID0gdmFs
dWVzWzBdID49IHZhbHVlOworICAgIGNhc2VzW3QxIDw8IDFdLmZvckVhY2goc3RpdGNoKTsKKyAg
ICB3aGlsZSAoKyt4IDwgZHggLSAxKSB7CisgICAgICB0MCA9IHQxLCB0MSA9IHZhbHVlc1t4ICsg
MV0gPj0gdmFsdWU7CisgICAgICBjYXNlc1t0MCB8IHQxIDw8IDFdLmZvckVhY2goc3RpdGNoKTsK
KyAgICB9CisgICAgY2FzZXNbdDEgPDwgMF0uZm9yRWFjaChzdGl0Y2gpOworCisgICAgLy8gR2Vu
ZXJhbCBjYXNlIGZvciB0aGUgaW50ZXJtZWRpYXRlIHJvd3MuCisgICAgd2hpbGUgKCsreSA8IGR5
IC0gMSkgeworICAgICAgeCA9IC0xOworICAgICAgdDEgPSB2YWx1ZXNbeSAqIGR4ICsgZHhdID49
IHZhbHVlOworICAgICAgdDIgPSB2YWx1ZXNbeSAqIGR4XSA+PSB2YWx1ZTsKKyAgICAgIGNhc2Vz
W3QxIDw8IDEgfCB0MiA8PCAyXS5mb3JFYWNoKHN0aXRjaCk7CisgICAgICB3aGlsZSAoKyt4IDwg
ZHggLSAxKSB7CisgICAgICAgIHQwID0gdDEsIHQxID0gdmFsdWVzW3kgKiBkeCArIGR4ICsgeCAr
IDFdID49IHZhbHVlOworICAgICAgICB0MyA9IHQyLCB0MiA9IHZhbHVlc1t5ICogZHggKyB4ICsg
MV0gPj0gdmFsdWU7CisgICAgICAgIGNhc2VzW3QwIHwgdDEgPDwgMSB8IHQyIDw8IDIgfCB0MyA8
PCAzXS5mb3JFYWNoKHN0aXRjaCk7CisgICAgICB9CisgICAgICBjYXNlc1t0MSB8IHQyIDw8IDNd
LmZvckVhY2goc3RpdGNoKTsKKyAgICB9CisKKyAgICAvLyBTcGVjaWFsIGNhc2UgZm9yIHRoZSBs
YXN0IHJvdyAoeSA9IGR5IC0gMSwgdDAgPSB0MSA9IDApLgorICAgIHggPSAtMTsKKyAgICB0MiA9
IHZhbHVlc1t5ICogZHhdID49IHZhbHVlOworICAgIGNhc2VzW3QyIDw8IDJdLmZvckVhY2goc3Rp
dGNoKTsKKyAgICB3aGlsZSAoKyt4IDwgZHggLSAxKSB7CisgICAgICB0MyA9IHQyLCB0MiA9IHZh
bHVlc1t5ICogZHggKyB4ICsgMV0gPj0gdmFsdWU7CisgICAgICBjYXNlc1t0MiA8PCAyIHwgdDMg
PDwgM10uZm9yRWFjaChzdGl0Y2gpOworICAgIH0KKyAgICBjYXNlc1t0MiA8PCAzXS5mb3JFYWNo
KHN0aXRjaCk7CisKKyAgICBmdW5jdGlvbiBzdGl0Y2gobGluZSkgeworICAgICAgdmFyIHN0YXJ0
ID0gW2xpbmVbMF1bMF0gKyB4LCBsaW5lWzBdWzFdICsgeV0sCisgICAgICAgICAgZW5kID0gW2xp
bmVbMV1bMF0gKyB4LCBsaW5lWzFdWzFdICsgeV0sCisgICAgICAgICAgc3RhcnRJbmRleCA9IGlu
ZGV4KHN0YXJ0KSwKKyAgICAgICAgICBlbmRJbmRleCA9IGluZGV4KGVuZCksCisgICAgICAgICAg
ZiwgZzsKKyAgICAgIGlmIChmID0gZnJhZ21lbnRCeUVuZFtzdGFydEluZGV4XSkgeworICAgICAg
ICBpZiAoZyA9IGZyYWdtZW50QnlTdGFydFtlbmRJbmRleF0pIHsKKyAgICAgICAgICBkZWxldGUg
ZnJhZ21lbnRCeUVuZFtmLmVuZF07CisgICAgICAgICAgZGVsZXRlIGZyYWdtZW50QnlTdGFydFtn
LnN0YXJ0XTsKKyAgICAgICAgICBpZiAoZiA9PT0gZykgeworICAgICAgICAgICAgZi5yaW5nLnB1
c2goZW5kKTsKKyAgICAgICAgICAgIGNhbGxiYWNrKGYucmluZyk7CisgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgIGZyYWdtZW50QnlTdGFydFtmLnN0YXJ0XSA9IGZyYWdtZW50QnlFbmRb
Zy5lbmRdID0ge3N0YXJ0OiBmLnN0YXJ0LCBlbmQ6IGcuZW5kLCByaW5nOiBmLnJpbmcuY29uY2F0
KGcucmluZyl9OworICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBkZWxl
dGUgZnJhZ21lbnRCeUVuZFtmLmVuZF07CisgICAgICAgICAgZi5yaW5nLnB1c2goZW5kKTsKKyAg
ICAgICAgICBmcmFnbWVudEJ5RW5kW2YuZW5kID0gZW5kSW5kZXhdID0gZjsKKyAgICAgICAgfQor
ICAgICAgfSBlbHNlIGlmIChmID0gZnJhZ21lbnRCeVN0YXJ0W2VuZEluZGV4XSkgeworICAgICAg
ICBpZiAoZyA9IGZyYWdtZW50QnlFbmRbc3RhcnRJbmRleF0pIHsKKyAgICAgICAgICBkZWxldGUg
ZnJhZ21lbnRCeVN0YXJ0W2Yuc3RhcnRdOworICAgICAgICAgIGRlbGV0ZSBmcmFnbWVudEJ5RW5k
W2cuZW5kXTsKKyAgICAgICAgICBpZiAoZiA9PT0gZykgeworICAgICAgICAgICAgZi5yaW5nLnB1
c2goZW5kKTsKKyAgICAgICAgICAgIGNhbGxiYWNrKGYucmluZyk7CisgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgIGZyYWdtZW50QnlTdGFydFtnLnN0YXJ0XSA9IGZyYWdtZW50QnlFbmRb
Zi5lbmRdID0ge3N0YXJ0OiBnLnN0YXJ0LCBlbmQ6IGYuZW5kLCByaW5nOiBnLnJpbmcuY29uY2F0
KGYucmluZyl9OworICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBkZWxl
dGUgZnJhZ21lbnRCeVN0YXJ0W2Yuc3RhcnRdOworICAgICAgICAgIGYucmluZy51bnNoaWZ0KHN0
YXJ0KTsKKyAgICAgICAgICBmcmFnbWVudEJ5U3RhcnRbZi5zdGFydCA9IHN0YXJ0SW5kZXhdID0g
ZjsKKyAgICAgICAgfQorICAgICAgfSBlbHNlIHsKKyAgICAgICAgZnJhZ21lbnRCeVN0YXJ0W3N0
YXJ0SW5kZXhdID0gZnJhZ21lbnRCeUVuZFtlbmRJbmRleF0gPSB7c3RhcnQ6IHN0YXJ0SW5kZXgs
IGVuZDogZW5kSW5kZXgsIHJpbmc6IFtzdGFydCwgZW5kXX07CisgICAgICB9CisgICAgfQorICB9
CisKKyAgZnVuY3Rpb24gaW5kZXgocG9pbnQpIHsKKyAgICByZXR1cm4gcG9pbnRbMF0gKiAyICsg
cG9pbnRbMV0gKiAoZHggKyAxKSAqIDQ7CisgIH0KKworICBmdW5jdGlvbiBzbW9vdGhMaW5lYXIo
cmluZywgdmFsdWVzLCB2YWx1ZSkgeworICAgIHJpbmcuZm9yRWFjaChmdW5jdGlvbihwb2ludCkg
eworICAgICAgdmFyIHggPSBwb2ludFswXSwKKyAgICAgICAgICB5ID0gcG9pbnRbMV0sCisgICAg
ICAgICAgeHQgPSB4IHwgMCwKKyAgICAgICAgICB5dCA9IHkgfCAwLAorICAgICAgICAgIHYwLAor
ICAgICAgICAgIHYxID0gdmFsdWVzW3l0ICogZHggKyB4dF07CisgICAgICBpZiAoeCA+IDAgJiYg
eCA8IGR4ICYmIHh0ID09PSB4KSB7CisgICAgICAgIHYwID0gdmFsdWVzW3l0ICogZHggKyB4dCAt
IDFdOworICAgICAgICBwb2ludFswXSA9IHggKyAodmFsdWUgLSB2MCkgLyAodjEgLSB2MCkgLSAw
LjU7CisgICAgICB9CisgICAgICBpZiAoeSA+IDAgJiYgeSA8IGR5ICYmIHl0ID09PSB5KSB7Cisg
ICAgICAgIHYwID0gdmFsdWVzWyh5dCAtIDEpICogZHggKyB4dF07CisgICAgICAgIHBvaW50WzFd
ID0geSArICh2YWx1ZSAtIHYwKSAvICh2MSAtIHYwKSAtIDAuNTsKKyAgICAgIH0KKyAgICB9KTsK
KyAgfQorCisgIGNvbnRvdXJzLmNvbnRvdXIgPSBjb250b3VyOworCisgIGNvbnRvdXJzLnNpemUg
PSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gW2R4LCBk
eV07CisgICAgdmFyIF8wID0gTWF0aC5jZWlsKF9bMF0pLCBfMSA9IE1hdGguY2VpbChfWzFdKTsK
KyAgICBpZiAoIShfMCA+IDApIHx8ICEoXzEgPiAwKSkgdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlk
IHNpemUiKTsKKyAgICByZXR1cm4gZHggPSBfMCwgZHkgPSBfMSwgY29udG91cnM7CisgIH07CisK
KyAgY29udG91cnMudGhyZXNob2xkcyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/ICh0aHJlc2hvbGQgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBB
cnJheS5pc0FycmF5KF8pID8gY29uc3RhbnQkNihzbGljZSQzLmNhbGwoXykpIDogY29uc3RhbnQk
NihfKSwgY29udG91cnMpIDogdGhyZXNob2xkOworICB9OworCisgIGNvbnRvdXJzLnNtb290aCA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzbW9vdGggPSBf
ID8gc21vb3RoTGluZWFyIDogbm9vcCQxLCBjb250b3VycykgOiBzbW9vdGggPT09IHNtb290aExp
bmVhcjsKKyAgfTsKKworICByZXR1cm4gY29udG91cnM7Cit9CisKKy8vIFRPRE8gT3B0aW1pemUg
ZWRnZSBjYXNlcy4KKy8vIFRPRE8gT3B0aW1pemUgaW5kZXggY2FsY3VsYXRpb24uCisvLyBUT0RP
IE9wdGltaXplIGFyZ3VtZW50cy4KK2Z1bmN0aW9uIGJsdXJYKHNvdXJjZSwgdGFyZ2V0LCByKSB7
CisgIHZhciBuID0gc291cmNlLndpZHRoLAorICAgICAgbSA9IHNvdXJjZS5oZWlnaHQsCisgICAg
ICB3ID0gKHIgPDwgMSkgKyAxOworICBmb3IgKHZhciBqID0gMDsgaiA8IG07ICsraikgeworICAg
IGZvciAodmFyIGkgPSAwLCBzciA9IDA7IGkgPCBuICsgcjsgKytpKSB7CisgICAgICBpZiAoaSA8
IG4pIHsKKyAgICAgICAgc3IgKz0gc291cmNlLmRhdGFbaSArIGogKiBuXTsKKyAgICAgIH0KKyAg
ICAgIGlmIChpID49IHIpIHsKKyAgICAgICAgaWYgKGkgPj0gdykgeworICAgICAgICAgIHNyIC09
IHNvdXJjZS5kYXRhW2kgLSB3ICsgaiAqIG5dOworICAgICAgICB9CisgICAgICAgIHRhcmdldC5k
YXRhW2kgLSByICsgaiAqIG5dID0gc3IgLyBNYXRoLm1pbihpICsgMSwgbiAtIDEgKyB3IC0gaSwg
dyk7CisgICAgICB9CisgICAgfQorICB9Cit9CisKKy8vIFRPRE8gT3B0aW1pemUgZWRnZSBjYXNl
cy4KKy8vIFRPRE8gT3B0aW1pemUgaW5kZXggY2FsY3VsYXRpb24uCisvLyBUT0RPIE9wdGltaXpl
IGFyZ3VtZW50cy4KK2Z1bmN0aW9uIGJsdXJZKHNvdXJjZSwgdGFyZ2V0LCByKSB7CisgIHZhciBu
ID0gc291cmNlLndpZHRoLAorICAgICAgbSA9IHNvdXJjZS5oZWlnaHQsCisgICAgICB3ID0gKHIg
PDwgMSkgKyAxOworICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsraSkgeworICAgIGZvciAodmFy
IGogPSAwLCBzciA9IDA7IGogPCBtICsgcjsgKytqKSB7CisgICAgICBpZiAoaiA8IG0pIHsKKyAg
ICAgICAgc3IgKz0gc291cmNlLmRhdGFbaSArIGogKiBuXTsKKyAgICAgIH0KKyAgICAgIGlmIChq
ID49IHIpIHsKKyAgICAgICAgaWYgKGogPj0gdykgeworICAgICAgICAgIHNyIC09IHNvdXJjZS5k
YXRhW2kgKyAoaiAtIHcpICogbl07CisgICAgICAgIH0KKyAgICAgICAgdGFyZ2V0LmRhdGFbaSAr
IChqIC0gcikgKiBuXSA9IHNyIC8gTWF0aC5taW4oaiArIDEsIG0gLSAxICsgdyAtIGosIHcpOwor
ICAgICAgfQorICAgIH0KKyAgfQorfQorCitmdW5jdGlvbiBkZWZhdWx0WChkKSB7CisgIHJldHVy
biBkWzBdOworfQorCitmdW5jdGlvbiBkZWZhdWx0WShkKSB7CisgIHJldHVybiBkWzFdOworfQor
CitmdW5jdGlvbiBkZWZhdWx0V2VpZ2h0KCkgeworICByZXR1cm4gMTsKK30KKworZnVuY3Rpb24g
ZGVuc2l0eSgpIHsKKyAgdmFyIHggPSBkZWZhdWx0WCwKKyAgICAgIHkgPSBkZWZhdWx0WSwKKyAg
ICAgIHdlaWdodCA9IGRlZmF1bHRXZWlnaHQsCisgICAgICBkeCA9IDk2MCwKKyAgICAgIGR5ID0g
NTAwLAorICAgICAgciA9IDIwLCAvLyBibHVyIHJhZGl1cworICAgICAgayA9IDIsIC8vIGxvZzIo
Z3JpZCBjZWxsIHNpemUpCisgICAgICBvID0gciAqIDMsIC8vIGdyaWQgb2Zmc2V0LCB0byBwYWQg
Zm9yIGJsdXIKKyAgICAgIG4gPSAoZHggKyBvICogMikgPj4gaywgLy8gZ3JpZCB3aWR0aAorICAg
ICAgbSA9IChkeSArIG8gKiAyKSA+PiBrLCAvLyBncmlkIGhlaWdodAorICAgICAgdGhyZXNob2xk
ID0gY29uc3RhbnQkNigyMCk7CisKKyAgZnVuY3Rpb24gZGVuc2l0eShkYXRhKSB7CisgICAgdmFy
IHZhbHVlczAgPSBuZXcgRmxvYXQzMkFycmF5KG4gKiBtKSwKKyAgICAgICAgdmFsdWVzMSA9IG5l
dyBGbG9hdDMyQXJyYXkobiAqIG0pOworCisgICAgZGF0YS5mb3JFYWNoKGZ1bmN0aW9uKGQsIGks
IGRhdGEpIHsKKyAgICAgIHZhciB4aSA9ICgreChkLCBpLCBkYXRhKSArIG8pID4+IGssCisgICAg
ICAgICAgeWkgPSAoK3koZCwgaSwgZGF0YSkgKyBvKSA+PiBrLAorICAgICAgICAgIHdpID0gK3dl
aWdodChkLCBpLCBkYXRhKTsKKyAgICAgIGlmICh4aSA+PSAwICYmIHhpIDwgbiAmJiB5aSA+PSAw
ICYmIHlpIDwgbSkgeworICAgICAgICB2YWx1ZXMwW3hpICsgeWkgKiBuXSArPSB3aTsKKyAgICAg
IH0KKyAgICB9KTsKKworICAgIC8vIFRPRE8gT3B0aW1pemUuCisgICAgYmx1clgoe3dpZHRoOiBu
LCBoZWlnaHQ6IG0sIGRhdGE6IHZhbHVlczB9LCB7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTog
dmFsdWVzMX0sIHIgPj4gayk7CisgICAgYmx1clkoe3dpZHRoOiBuLCBoZWlnaHQ6IG0sIGRhdGE6
IHZhbHVlczF9LCB7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTogdmFsdWVzMH0sIHIgPj4gayk7
CisgICAgYmx1clgoe3dpZHRoOiBuLCBoZWlnaHQ6IG0sIGRhdGE6IHZhbHVlczB9LCB7d2lkdGg6
IG4sIGhlaWdodDogbSwgZGF0YTogdmFsdWVzMX0sIHIgPj4gayk7CisgICAgYmx1clkoe3dpZHRo
OiBuLCBoZWlnaHQ6IG0sIGRhdGE6IHZhbHVlczF9LCB7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0
YTogdmFsdWVzMH0sIHIgPj4gayk7CisgICAgYmx1clgoe3dpZHRoOiBuLCBoZWlnaHQ6IG0sIGRh
dGE6IHZhbHVlczB9LCB7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTogdmFsdWVzMX0sIHIgPj4g
ayk7CisgICAgYmx1clkoe3dpZHRoOiBuLCBoZWlnaHQ6IG0sIGRhdGE6IHZhbHVlczF9LCB7d2lk
dGg6IG4sIGhlaWdodDogbSwgZGF0YTogdmFsdWVzMH0sIHIgPj4gayk7CisKKyAgICB2YXIgdHog
PSB0aHJlc2hvbGQodmFsdWVzMCk7CisKKyAgICAvLyBDb252ZXJ0IG51bWJlciBvZiB0aHJlc2hv
bGRzIGludG8gdW5pZm9ybSB0aHJlc2hvbGRzLgorICAgIGlmICghQXJyYXkuaXNBcnJheSh0eikp
IHsKKyAgICAgIHZhciBzdG9wID0gbWF4KHZhbHVlczApOworICAgICAgdHogPSB0aWNrU3RlcCgw
LCBzdG9wLCB0eik7CisgICAgICB0eiA9IHNlcXVlbmNlKDAsIE1hdGguZmxvb3Ioc3RvcCAvIHR6
KSAqIHR6LCB0eik7CisgICAgICB0ei5zaGlmdCgpOworICAgIH0KKworICAgIHJldHVybiBjb250
b3VycygpCisgICAgICAgIC50aHJlc2hvbGRzKHR6KQorICAgICAgICAuc2l6ZShbbiwgbV0pCisg
ICAgICAodmFsdWVzMCkKKyAgICAgICAgLm1hcCh0cmFuc2Zvcm0pOworICB9CisKKyAgZnVuY3Rp
b24gdHJhbnNmb3JtKGdlb21ldHJ5KSB7CisgICAgZ2VvbWV0cnkudmFsdWUgKj0gTWF0aC5wb3co
MiwgLTIgKiBrKTsgLy8gRGVuc2l0eSBpbiBwb2ludHMgcGVyIHNxdWFyZSBwaXhlbC4KKyAgICBn
ZW9tZXRyeS5jb29yZGluYXRlcy5mb3JFYWNoKHRyYW5zZm9ybVBvbHlnb24pOworICAgIHJldHVy
biBnZW9tZXRyeTsKKyAgfQorCisgIGZ1bmN0aW9uIHRyYW5zZm9ybVBvbHlnb24oY29vcmRpbmF0
ZXMpIHsKKyAgICBjb29yZGluYXRlcy5mb3JFYWNoKHRyYW5zZm9ybVJpbmcpOworICB9CisKKyAg
ZnVuY3Rpb24gdHJhbnNmb3JtUmluZyhjb29yZGluYXRlcykgeworICAgIGNvb3JkaW5hdGVzLmZv
ckVhY2godHJhbnNmb3JtUG9pbnQpOworICB9CisKKyAgLy8gVE9ETyBPcHRpbWl6ZS4KKyAgZnVu
Y3Rpb24gdHJhbnNmb3JtUG9pbnQoY29vcmRpbmF0ZXMpIHsKKyAgICBjb29yZGluYXRlc1swXSA9
IGNvb3JkaW5hdGVzWzBdICogTWF0aC5wb3coMiwgaykgLSBvOworICAgIGNvb3JkaW5hdGVzWzFd
ID0gY29vcmRpbmF0ZXNbMV0gKiBNYXRoLnBvdygyLCBrKSAtIG87CisgIH0KKworICBmdW5jdGlv
biByZXNpemUoKSB7CisgICAgbyA9IHIgKiAzOworICAgIG4gPSAoZHggKyBvICogMikgPj4gazsK
KyAgICBtID0gKGR5ICsgbyAqIDIpID4+IGs7CisgICAgcmV0dXJuIGRlbnNpdHk7CisgIH0KKwor
ICBkZW5zaXR5LnggPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PyAoeCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDYoK18pLCBkZW5z
aXR5KSA6IHg7CisgIH07CisKKyAgZGVuc2l0eS55ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVy
biBhcmd1bWVudHMubGVuZ3RoID8gKHkgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBj
b25zdGFudCQ2KCtfKSwgZGVuc2l0eSkgOiB5OworICB9OworCisgIGRlbnNpdHkud2VpZ2h0ID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHdlaWdodCA9IHR5
cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDYoK18pLCBkZW5zaXR5KSA6IHdl
aWdodDsKKyAgfTsKKworICBkZW5zaXR5LnNpemUgPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFh
cmd1bWVudHMubGVuZ3RoKSByZXR1cm4gW2R4LCBkeV07CisgICAgdmFyIF8wID0gTWF0aC5jZWls
KF9bMF0pLCBfMSA9IE1hdGguY2VpbChfWzFdKTsKKyAgICBpZiAoIShfMCA+PSAwKSAmJiAhKF8w
ID49IDApKSB0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgc2l6ZSIpOworICAgIHJldHVybiBkeCA9
IF8wLCBkeSA9IF8xLCByZXNpemUoKTsKKyAgfTsKKworICBkZW5zaXR5LmNlbGxTaXplID0gZnVu
Y3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIDEgPDwgazsKKyAg
ICBpZiAoISgoXyA9ICtfKSA+PSAxKSkgdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNlbGwgc2l6
ZSIpOworICAgIHJldHVybiBrID0gTWF0aC5mbG9vcihNYXRoLmxvZyhfKSAvIE1hdGguTE4yKSwg
cmVzaXplKCk7CisgIH07CisKKyAgZGVuc2l0eS50aHJlc2hvbGRzID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRocmVzaG9sZCA9IHR5cGVvZiBfID09PSAi
ZnVuY3Rpb24iID8gXyA6IEFycmF5LmlzQXJyYXkoXykgPyBjb25zdGFudCQ2KHNsaWNlJDMuY2Fs
bChfKSkgOiBjb25zdGFudCQ2KF8pLCBkZW5zaXR5KSA6IHRocmVzaG9sZDsKKyAgfTsKKworICBk
ZW5zaXR5LmJhbmR3aWR0aCA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5n
dGgpIHJldHVybiBNYXRoLnNxcnQociAqIChyICsgMSkpOworICAgIGlmICghKChfID0gK18pID49
IDApKSB0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgYmFuZHdpZHRoIik7CisgICAgcmV0dXJuIHIg
PSBNYXRoLnJvdW5kKChNYXRoLnNxcnQoNCAqIF8gKiBfICsgMSkgLSAxKSAvIDIpLCByZXNpemUo
KTsKKyAgfTsKKworICByZXR1cm4gZGVuc2l0eTsKK30KKwordmFyIEVPTCA9IHt9LAorICAgIEVP
RiA9IHt9LAorICAgIFFVT1RFID0gMzQsCisgICAgTkVXTElORSA9IDEwLAorICAgIFJFVFVSTiA9
IDEzOworCitmdW5jdGlvbiBvYmplY3RDb252ZXJ0ZXIoY29sdW1ucykgeworICByZXR1cm4gbmV3
IEZ1bmN0aW9uKCJkIiwgInJldHVybiB7IiArIGNvbHVtbnMubWFwKGZ1bmN0aW9uKG5hbWUsIGkp
IHsKKyAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobmFtZSkgKyAiOiBkWyIgKyBpICsgIl0gfHwg
XCJcIiI7CisgIH0pLmpvaW4oIiwiKSArICJ9Iik7Cit9CisKK2Z1bmN0aW9uIGN1c3RvbUNvbnZl
cnRlcihjb2x1bW5zLCBmKSB7CisgIHZhciBvYmplY3QgPSBvYmplY3RDb252ZXJ0ZXIoY29sdW1u
cyk7CisgIHJldHVybiBmdW5jdGlvbihyb3csIGkpIHsKKyAgICByZXR1cm4gZihvYmplY3Qocm93
KSwgaSwgY29sdW1ucyk7CisgIH07Cit9CisKKy8vIENvbXB1dGUgdW5pcXVlIGNvbHVtbnMgaW4g
b3JkZXIgb2YgZGlzY292ZXJ5LgorZnVuY3Rpb24gaW5mZXJDb2x1bW5zKHJvd3MpIHsKKyAgdmFy
IGNvbHVtblNldCA9IE9iamVjdC5jcmVhdGUobnVsbCksCisgICAgICBjb2x1bW5zID0gW107CisK
KyAgcm93cy5mb3JFYWNoKGZ1bmN0aW9uKHJvdykgeworICAgIGZvciAodmFyIGNvbHVtbiBpbiBy
b3cpIHsKKyAgICAgIGlmICghKGNvbHVtbiBpbiBjb2x1bW5TZXQpKSB7CisgICAgICAgIGNvbHVt
bnMucHVzaChjb2x1bW5TZXRbY29sdW1uXSA9IGNvbHVtbik7CisgICAgICB9CisgICAgfQorICB9
KTsKKworICByZXR1cm4gY29sdW1uczsKK30KKworZnVuY3Rpb24gcGFkKHZhbHVlLCB3aWR0aCkg
eworICB2YXIgcyA9IHZhbHVlICsgIiIsIGxlbmd0aCA9IHMubGVuZ3RoOworICByZXR1cm4gbGVu
Z3RoIDwgd2lkdGggPyBuZXcgQXJyYXkod2lkdGggLSBsZW5ndGggKyAxKS5qb2luKDApICsgcyA6
IHM7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFllYXIoeWVhcikgeworICByZXR1cm4geWVhciA8IDAg
PyAiLSIgKyBwYWQoLXllYXIsIDYpCisgICAgOiB5ZWFyID4gOTk5OSA/ICIrIiArIHBhZCh5ZWFy
LCA2KQorICAgIDogcGFkKHllYXIsIDQpOworfQorCitmdW5jdGlvbiBmb3JtYXREYXRlKGRhdGUp
IHsKKyAgdmFyIGhvdXJzID0gZGF0ZS5nZXRVVENIb3VycygpLAorICAgICAgbWludXRlcyA9IGRh
dGUuZ2V0VVRDTWludXRlcygpLAorICAgICAgc2Vjb25kcyA9IGRhdGUuZ2V0VVRDU2Vjb25kcygp
LAorICAgICAgbWlsbGlzZWNvbmRzID0gZGF0ZS5nZXRVVENNaWxsaXNlY29uZHMoKTsKKyAgcmV0
dXJuIGlzTmFOKGRhdGUpID8gIkludmFsaWQgRGF0ZSIKKyAgICAgIDogZm9ybWF0WWVhcihkYXRl
LmdldFVUQ0Z1bGxZZWFyKCkpICsgIi0iICsgcGFkKGRhdGUuZ2V0VVRDTW9udGgoKSArIDEsIDIp
ICsgIi0iICsgcGFkKGRhdGUuZ2V0VVRDRGF0ZSgpLCAyKQorICAgICAgKyAobWlsbGlzZWNvbmRz
ID8gIlQiICsgcGFkKGhvdXJzLCAyKSArICI6IiArIHBhZChtaW51dGVzLCAyKSArICI6IiArIHBh
ZChzZWNvbmRzLCAyKSArICIuIiArIHBhZChtaWxsaXNlY29uZHMsIDMpICsgIloiCisgICAgICA6
IHNlY29uZHMgPyAiVCIgKyBwYWQoaG91cnMsIDIpICsgIjoiICsgcGFkKG1pbnV0ZXMsIDIpICsg
IjoiICsgcGFkKHNlY29uZHMsIDIpICsgIloiCisgICAgICA6IG1pbnV0ZXMgfHwgaG91cnMgPyAi
VCIgKyBwYWQoaG91cnMsIDIpICsgIjoiICsgcGFkKG1pbnV0ZXMsIDIpICsgIloiCisgICAgICA6
ICIiKTsKK30KKworZnVuY3Rpb24gZHN2Rm9ybWF0KGRlbGltaXRlcikgeworICB2YXIgcmVGb3Jt
YXQgPSBuZXcgUmVnRXhwKCJbXCIiICsgZGVsaW1pdGVyICsgIlxuXHJdIiksCisgICAgICBERUxJ
TUlURVIgPSBkZWxpbWl0ZXIuY2hhckNvZGVBdCgwKTsKKworICBmdW5jdGlvbiBwYXJzZSh0ZXh0
LCBmKSB7CisgICAgdmFyIGNvbnZlcnQsIGNvbHVtbnMsIHJvd3MgPSBwYXJzZVJvd3ModGV4dCwg
ZnVuY3Rpb24ocm93LCBpKSB7CisgICAgICBpZiAoY29udmVydCkgcmV0dXJuIGNvbnZlcnQocm93
LCBpIC0gMSk7CisgICAgICBjb2x1bW5zID0gcm93LCBjb252ZXJ0ID0gZiA/IGN1c3RvbUNvbnZl
cnRlcihyb3csIGYpIDogb2JqZWN0Q29udmVydGVyKHJvdyk7CisgICAgfSk7CisgICAgcm93cy5j
b2x1bW5zID0gY29sdW1ucyB8fCBbXTsKKyAgICByZXR1cm4gcm93czsKKyAgfQorCisgIGZ1bmN0
aW9uIHBhcnNlUm93cyh0ZXh0LCBmKSB7CisgICAgdmFyIHJvd3MgPSBbXSwgLy8gb3V0cHV0IHJv
d3MKKyAgICAgICAgTiA9IHRleHQubGVuZ3RoLAorICAgICAgICBJID0gMCwgLy8gY3VycmVudCBj
aGFyYWN0ZXIgaW5kZXgKKyAgICAgICAgbiA9IDAsIC8vIGN1cnJlbnQgbGluZSBudW1iZXIKKyAg
ICAgICAgdCwgLy8gY3VycmVudCB0b2tlbgorICAgICAgICBlb2YgPSBOIDw9IDAsIC8vIGN1cnJl
bnQgdG9rZW4gZm9sbG93ZWQgYnkgRU9GPworICAgICAgICBlb2wgPSBmYWxzZTsgLy8gY3VycmVu
dCB0b2tlbiBmb2xsb3dlZCBieSBFT0w/CisKKyAgICAvLyBTdHJpcCB0aGUgdHJhaWxpbmcgbmV3
bGluZS4KKyAgICBpZiAodGV4dC5jaGFyQ29kZUF0KE4gLSAxKSA9PT0gTkVXTElORSkgLS1OOwor
ICAgIGlmICh0ZXh0LmNoYXJDb2RlQXQoTiAtIDEpID09PSBSRVRVUk4pIC0tTjsKKworICAgIGZ1
bmN0aW9uIHRva2VuKCkgeworICAgICAgaWYgKGVvZikgcmV0dXJuIEVPRjsKKyAgICAgIGlmIChl
b2wpIHJldHVybiBlb2wgPSBmYWxzZSwgRU9MOworCisgICAgICAvLyBVbmVzY2FwZSBxdW90ZXMu
CisgICAgICB2YXIgaSwgaiA9IEksIGM7CisgICAgICBpZiAodGV4dC5jaGFyQ29kZUF0KGopID09
PSBRVU9URSkgeworICAgICAgICB3aGlsZSAoSSsrIDwgTiAmJiB0ZXh0LmNoYXJDb2RlQXQoSSkg
IT09IFFVT1RFIHx8IHRleHQuY2hhckNvZGVBdCgrK0kpID09PSBRVU9URSk7CisgICAgICAgIGlm
ICgoaSA9IEkpID49IE4pIGVvZiA9IHRydWU7CisgICAgICAgIGVsc2UgaWYgKChjID0gdGV4dC5j
aGFyQ29kZUF0KEkrKykpID09PSBORVdMSU5FKSBlb2wgPSB0cnVlOworICAgICAgICBlbHNlIGlm
IChjID09PSBSRVRVUk4pIHsgZW9sID0gdHJ1ZTsgaWYgKHRleHQuY2hhckNvZGVBdChJKSA9PT0g
TkVXTElORSkgKytJOyB9CisgICAgICAgIHJldHVybiB0ZXh0LnNsaWNlKGogKyAxLCBpIC0gMSku
cmVwbGFjZSgvIiIvZywgIlwiIik7CisgICAgICB9CisKKyAgICAgIC8vIEZpbmQgbmV4dCBkZWxp
bWl0ZXIgb3IgbmV3bGluZS4KKyAgICAgIHdoaWxlIChJIDwgTikgeworICAgICAgICBpZiAoKGMg
PSB0ZXh0LmNoYXJDb2RlQXQoaSA9IEkrKykpID09PSBORVdMSU5FKSBlb2wgPSB0cnVlOworICAg
ICAgICBlbHNlIGlmIChjID09PSBSRVRVUk4pIHsgZW9sID0gdHJ1ZTsgaWYgKHRleHQuY2hhckNv
ZGVBdChJKSA9PT0gTkVXTElORSkgKytJOyB9CisgICAgICAgIGVsc2UgaWYgKGMgIT09IERFTElN
SVRFUikgY29udGludWU7CisgICAgICAgIHJldHVybiB0ZXh0LnNsaWNlKGosIGkpOworICAgICAg
fQorCisgICAgICAvLyBSZXR1cm4gbGFzdCB0b2tlbiBiZWZvcmUgRU9GLgorICAgICAgcmV0dXJu
IGVvZiA9IHRydWUsIHRleHQuc2xpY2UoaiwgTik7CisgICAgfQorCisgICAgd2hpbGUgKCh0ID0g
dG9rZW4oKSkgIT09IEVPRikgeworICAgICAgdmFyIHJvdyA9IFtdOworICAgICAgd2hpbGUgKHQg
IT09IEVPTCAmJiB0ICE9PSBFT0YpIHJvdy5wdXNoKHQpLCB0ID0gdG9rZW4oKTsKKyAgICAgIGlm
IChmICYmIChyb3cgPSBmKHJvdywgbisrKSkgPT0gbnVsbCkgY29udGludWU7CisgICAgICByb3dz
LnB1c2gocm93KTsKKyAgICB9CisKKyAgICByZXR1cm4gcm93czsKKyAgfQorCisgIGZ1bmN0aW9u
IHByZWZvcm1hdEJvZHkocm93cywgY29sdW1ucykgeworICAgIHJldHVybiByb3dzLm1hcChmdW5j
dGlvbihyb3cpIHsKKyAgICAgIHJldHVybiBjb2x1bW5zLm1hcChmdW5jdGlvbihjb2x1bW4pIHsK
KyAgICAgICAgcmV0dXJuIGZvcm1hdFZhbHVlKHJvd1tjb2x1bW5dKTsKKyAgICAgIH0pLmpvaW4o
ZGVsaW1pdGVyKTsKKyAgICB9KTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdChyb3dzLCBjb2x1
bW5zKSB7CisgICAgaWYgKGNvbHVtbnMgPT0gbnVsbCkgY29sdW1ucyA9IGluZmVyQ29sdW1ucyhy
b3dzKTsKKyAgICByZXR1cm4gW2NvbHVtbnMubWFwKGZvcm1hdFZhbHVlKS5qb2luKGRlbGltaXRl
cildLmNvbmNhdChwcmVmb3JtYXRCb2R5KHJvd3MsIGNvbHVtbnMpKS5qb2luKCJcbiIpOworICB9
CisKKyAgZnVuY3Rpb24gZm9ybWF0Qm9keShyb3dzLCBjb2x1bW5zKSB7CisgICAgaWYgKGNvbHVt
bnMgPT0gbnVsbCkgY29sdW1ucyA9IGluZmVyQ29sdW1ucyhyb3dzKTsKKyAgICByZXR1cm4gcHJl
Zm9ybWF0Qm9keShyb3dzLCBjb2x1bW5zKS5qb2luKCJcbiIpOworICB9CisKKyAgZnVuY3Rpb24g
Zm9ybWF0Um93cyhyb3dzKSB7CisgICAgcmV0dXJuIHJvd3MubWFwKGZvcm1hdFJvdykuam9pbigi
XG4iKTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFJvdyhyb3cpIHsKKyAgICByZXR1cm4gcm93
Lm1hcChmb3JtYXRWYWx1ZSkuam9pbihkZWxpbWl0ZXIpOworICB9CisKKyAgZnVuY3Rpb24gZm9y
bWF0VmFsdWUodmFsdWUpIHsKKyAgICByZXR1cm4gdmFsdWUgPT0gbnVsbCA/ICIiCisgICAgICAg
IDogdmFsdWUgaW5zdGFuY2VvZiBEYXRlID8gZm9ybWF0RGF0ZSh2YWx1ZSkKKyAgICAgICAgOiBy
ZUZvcm1hdC50ZXN0KHZhbHVlICs9ICIiKSA/ICJcIiIgKyB2YWx1ZS5yZXBsYWNlKC8iL2csICJc
IlwiIikgKyAiXCIiCisgICAgICAgIDogdmFsdWU7CisgIH0KKworICByZXR1cm4geworICAgIHBh
cnNlOiBwYXJzZSwKKyAgICBwYXJzZVJvd3M6IHBhcnNlUm93cywKKyAgICBmb3JtYXQ6IGZvcm1h
dCwKKyAgICBmb3JtYXRCb2R5OiBmb3JtYXRCb2R5LAorICAgIGZvcm1hdFJvd3M6IGZvcm1hdFJv
d3MsCisgICAgZm9ybWF0Um93OiBmb3JtYXRSb3csCisgICAgZm9ybWF0VmFsdWU6IGZvcm1hdFZh
bHVlCisgIH07Cit9CisKK3ZhciBjc3YgPSBkc3ZGb3JtYXQoIiwiKTsKKwordmFyIGNzdlBhcnNl
ID0gY3N2LnBhcnNlOwordmFyIGNzdlBhcnNlUm93cyA9IGNzdi5wYXJzZVJvd3M7Cit2YXIgY3N2
Rm9ybWF0ID0gY3N2LmZvcm1hdDsKK3ZhciBjc3ZGb3JtYXRCb2R5ID0gY3N2LmZvcm1hdEJvZHk7
Cit2YXIgY3N2Rm9ybWF0Um93cyA9IGNzdi5mb3JtYXRSb3dzOwordmFyIGNzdkZvcm1hdFJvdyA9
IGNzdi5mb3JtYXRSb3c7Cit2YXIgY3N2Rm9ybWF0VmFsdWUgPSBjc3YuZm9ybWF0VmFsdWU7CisK
K3ZhciB0c3YgPSBkc3ZGb3JtYXQoIlx0Iik7CisKK3ZhciB0c3ZQYXJzZSA9IHRzdi5wYXJzZTsK
K3ZhciB0c3ZQYXJzZVJvd3MgPSB0c3YucGFyc2VSb3dzOwordmFyIHRzdkZvcm1hdCA9IHRzdi5m
b3JtYXQ7Cit2YXIgdHN2Rm9ybWF0Qm9keSA9IHRzdi5mb3JtYXRCb2R5OwordmFyIHRzdkZvcm1h
dFJvd3MgPSB0c3YuZm9ybWF0Um93czsKK3ZhciB0c3ZGb3JtYXRSb3cgPSB0c3YuZm9ybWF0Um93
OwordmFyIHRzdkZvcm1hdFZhbHVlID0gdHN2LmZvcm1hdFZhbHVlOworCitmdW5jdGlvbiBhdXRv
VHlwZShvYmplY3QpIHsKKyAgZm9yICh2YXIga2V5IGluIG9iamVjdCkgeworICAgIHZhciB2YWx1
ZSA9IG9iamVjdFtrZXldLnRyaW0oKSwgbnVtYmVyLCBtOworICAgIGlmICghdmFsdWUpIHZhbHVl
ID0gbnVsbDsKKyAgICBlbHNlIGlmICh2YWx1ZSA9PT0gInRydWUiKSB2YWx1ZSA9IHRydWU7Cisg
ICAgZWxzZSBpZiAodmFsdWUgPT09ICJmYWxzZSIpIHZhbHVlID0gZmFsc2U7CisgICAgZWxzZSBp
ZiAodmFsdWUgPT09ICJOYU4iKSB2YWx1ZSA9IE5hTjsKKyAgICBlbHNlIGlmICghaXNOYU4obnVt
YmVyID0gK3ZhbHVlKSkgdmFsdWUgPSBudW1iZXI7CisgICAgZWxzZSBpZiAobSA9IHZhbHVlLm1h
dGNoKC9eKFstK11cZHsyfSk/XGR7NH0oLVxkezJ9KC1cZHsyfSk/KT8oVFxkezJ9OlxkezJ9KDpc
ZHsyfShcLlxkezN9KT8pPyhafFstK11cZHsyfTpcZHsyfSk/KT8kLykpIHsKKyAgICAgIGlmIChm
aXh0eiAmJiAhIW1bNF0gJiYgIW1bN10pIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvLS9nLCAiLyIp
LnJlcGxhY2UoL1QvLCAiICIpOworICAgICAgdmFsdWUgPSBuZXcgRGF0ZSh2YWx1ZSk7CisgICAg
fQorICAgIGVsc2UgY29udGludWU7CisgICAgb2JqZWN0W2tleV0gPSB2YWx1ZTsKKyAgfQorICBy
ZXR1cm4gb2JqZWN0OworfQorCisvLyBodHRwczovL2dpdGh1Yi5jb20vZDMvZDMtZHN2L2lzc3Vl
cy80NQordmFyIGZpeHR6ID0gbmV3IERhdGUoIjIwMTktMDEtMDFUMDA6MDAiKS5nZXRIb3Vycygp
IHx8IG5ldyBEYXRlKCIyMDE5LTA3LTAxVDAwOjAwIikuZ2V0SG91cnMoKTsKKworZnVuY3Rpb24g
cmVzcG9uc2VCbG9iKHJlc3BvbnNlKSB7CisgIGlmICghcmVzcG9uc2Uub2spIHRocm93IG5ldyBF
cnJvcihyZXNwb25zZS5zdGF0dXMgKyAiICIgKyByZXNwb25zZS5zdGF0dXNUZXh0KTsKKyAgcmV0
dXJuIHJlc3BvbnNlLmJsb2IoKTsKK30KKworZnVuY3Rpb24gYmxvYihpbnB1dCwgaW5pdCkgewor
ICByZXR1cm4gZmV0Y2goaW5wdXQsIGluaXQpLnRoZW4ocmVzcG9uc2VCbG9iKTsKK30KKworZnVu
Y3Rpb24gcmVzcG9uc2VBcnJheUJ1ZmZlcihyZXNwb25zZSkgeworICBpZiAoIXJlc3BvbnNlLm9r
KSB0aHJvdyBuZXcgRXJyb3IocmVzcG9uc2Uuc3RhdHVzICsgIiAiICsgcmVzcG9uc2Uuc3RhdHVz
VGV4dCk7CisgIHJldHVybiByZXNwb25zZS5hcnJheUJ1ZmZlcigpOworfQorCitmdW5jdGlvbiBi
dWZmZXIoaW5wdXQsIGluaXQpIHsKKyAgcmV0dXJuIGZldGNoKGlucHV0LCBpbml0KS50aGVuKHJl
c3BvbnNlQXJyYXlCdWZmZXIpOworfQorCitmdW5jdGlvbiByZXNwb25zZVRleHQocmVzcG9uc2Up
IHsKKyAgaWYgKCFyZXNwb25zZS5vaykgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLnN0YXR1cyAr
ICIgIiArIHJlc3BvbnNlLnN0YXR1c1RleHQpOworICByZXR1cm4gcmVzcG9uc2UudGV4dCgpOwor
fQorCitmdW5jdGlvbiB0ZXh0KGlucHV0LCBpbml0KSB7CisgIHJldHVybiBmZXRjaChpbnB1dCwg
aW5pdCkudGhlbihyZXNwb25zZVRleHQpOworfQorCitmdW5jdGlvbiBkc3ZQYXJzZShwYXJzZSkg
eworICByZXR1cm4gZnVuY3Rpb24oaW5wdXQsIGluaXQsIHJvdykgeworICAgIGlmIChhcmd1bWVu
dHMubGVuZ3RoID09PSAyICYmIHR5cGVvZiBpbml0ID09PSAiZnVuY3Rpb24iKSByb3cgPSBpbml0
LCBpbml0ID0gdW5kZWZpbmVkOworICAgIHJldHVybiB0ZXh0KGlucHV0LCBpbml0KS50aGVuKGZ1
bmN0aW9uKHJlc3BvbnNlKSB7CisgICAgICByZXR1cm4gcGFyc2UocmVzcG9uc2UsIHJvdyk7Cisg
ICAgfSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGRzdihkZWxpbWl0ZXIsIGlucHV0LCBpbml0LCBy
b3cpIHsKKyAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDMgJiYgdHlwZW9mIGluaXQgPT09ICJm
dW5jdGlvbiIpIHJvdyA9IGluaXQsIGluaXQgPSB1bmRlZmluZWQ7CisgIHZhciBmb3JtYXQgPSBk
c3ZGb3JtYXQoZGVsaW1pdGVyKTsKKyAgcmV0dXJuIHRleHQoaW5wdXQsIGluaXQpLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKKyAgICByZXR1cm4gZm9ybWF0LnBhcnNlKHJlc3BvbnNlLCByb3cp
OworICB9KTsKK30KKwordmFyIGNzdiQxID0gZHN2UGFyc2UoY3N2UGFyc2UpOwordmFyIHRzdiQx
ID0gZHN2UGFyc2UodHN2UGFyc2UpOworCitmdW5jdGlvbiBpbWFnZShpbnB1dCwgaW5pdCkgewor
ICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgdmFy
IGltYWdlID0gbmV3IEltYWdlOworICAgIGZvciAodmFyIGtleSBpbiBpbml0KSBpbWFnZVtrZXld
ID0gaW5pdFtrZXldOworICAgIGltYWdlLm9uZXJyb3IgPSByZWplY3Q7CisgICAgaW1hZ2Uub25s
b2FkID0gZnVuY3Rpb24oKSB7IHJlc29sdmUoaW1hZ2UpOyB9OworICAgIGltYWdlLnNyYyA9IGlu
cHV0OworICB9KTsKK30KKworZnVuY3Rpb24gcmVzcG9uc2VKc29uKHJlc3BvbnNlKSB7CisgIGlm
ICghcmVzcG9uc2Uub2spIHRocm93IG5ldyBFcnJvcihyZXNwb25zZS5zdGF0dXMgKyAiICIgKyBy
ZXNwb25zZS5zdGF0dXNUZXh0KTsKKyAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTsKK30KKworZnVu
Y3Rpb24ganNvbihpbnB1dCwgaW5pdCkgeworICByZXR1cm4gZmV0Y2goaW5wdXQsIGluaXQpLnRo
ZW4ocmVzcG9uc2VKc29uKTsKK30KKworZnVuY3Rpb24gcGFyc2VyKHR5cGUpIHsKKyAgcmV0dXJu
IGZ1bmN0aW9uKGlucHV0LCBpbml0KSAgeworICAgIHJldHVybiB0ZXh0KGlucHV0LCBpbml0KS50
aGVuKGZ1bmN0aW9uKHRleHQpIHsKKyAgICAgIHJldHVybiAobmV3IERPTVBhcnNlcikucGFyc2VG
cm9tU3RyaW5nKHRleHQsIHR5cGUpOworICAgIH0pOworICB9OworfQorCit2YXIgeG1sID0gcGFy
c2VyKCJhcHBsaWNhdGlvbi94bWwiKTsKKwordmFyIGh0bWwgPSBwYXJzZXIoInRleHQvaHRtbCIp
OworCit2YXIgc3ZnID0gcGFyc2VyKCJpbWFnZS9zdmcreG1sIik7CisKK2Z1bmN0aW9uIGNlbnRl
ciQxKHgsIHkpIHsKKyAgdmFyIG5vZGVzOworCisgIGlmICh4ID09IG51bGwpIHggPSAwOworICBp
ZiAoeSA9PSBudWxsKSB5ID0gMDsKKworICBmdW5jdGlvbiBmb3JjZSgpIHsKKyAgICB2YXIgaSwK
KyAgICAgICAgbiA9IG5vZGVzLmxlbmd0aCwKKyAgICAgICAgbm9kZSwKKyAgICAgICAgc3ggPSAw
LAorICAgICAgICBzeSA9IDA7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAg
ICBub2RlID0gbm9kZXNbaV0sIHN4ICs9IG5vZGUueCwgc3kgKz0gbm9kZS55OworICAgIH0KKwor
ICAgIGZvciAoc3ggPSBzeCAvIG4gLSB4LCBzeSA9IHN5IC8gbiAtIHksIGkgPSAwOyBpIDwgbjsg
KytpKSB7CisgICAgICBub2RlID0gbm9kZXNbaV0sIG5vZGUueCAtPSBzeCwgbm9kZS55IC09IHN5
OworICAgIH0KKyAgfQorCisgIGZvcmNlLmluaXRpYWxpemUgPSBmdW5jdGlvbihfKSB7CisgICAg
bm9kZXMgPSBfOworICB9OworCisgIGZvcmNlLnggPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAoeCA9ICtfLCBmb3JjZSkgOiB4OworICB9OworCisgIGZvcmNl
LnkgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeSA9ICtf
LCBmb3JjZSkgOiB5OworICB9OworCisgIHJldHVybiBmb3JjZTsKK30KKworZnVuY3Rpb24gY29u
c3RhbnQkNyh4KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsK
K30KKworZnVuY3Rpb24gamlnZ2xlKCkgeworICByZXR1cm4gKE1hdGgucmFuZG9tKCkgLSAwLjUp
ICogMWUtNjsKK30KKworZnVuY3Rpb24gdHJlZV9hZGQoZCkgeworICB2YXIgeCA9ICt0aGlzLl94
LmNhbGwobnVsbCwgZCksCisgICAgICB5ID0gK3RoaXMuX3kuY2FsbChudWxsLCBkKTsKKyAgcmV0
dXJuIGFkZCh0aGlzLmNvdmVyKHgsIHkpLCB4LCB5LCBkKTsKK30KKworZnVuY3Rpb24gYWRkKHRy
ZWUsIHgsIHksIGQpIHsKKyAgaWYgKGlzTmFOKHgpIHx8IGlzTmFOKHkpKSByZXR1cm4gdHJlZTsg
Ly8gaWdub3JlIGludmFsaWQgcG9pbnRzCisKKyAgdmFyIHBhcmVudCwKKyAgICAgIG5vZGUgPSB0
cmVlLl9yb290LAorICAgICAgbGVhZiA9IHtkYXRhOiBkfSwKKyAgICAgIHgwID0gdHJlZS5feDAs
CisgICAgICB5MCA9IHRyZWUuX3kwLAorICAgICAgeDEgPSB0cmVlLl94MSwKKyAgICAgIHkxID0g
dHJlZS5feTEsCisgICAgICB4bSwKKyAgICAgIHltLAorICAgICAgeHAsCisgICAgICB5cCwKKyAg
ICAgIHJpZ2h0LAorICAgICAgYm90dG9tLAorICAgICAgaSwKKyAgICAgIGo7CisKKyAgLy8gSWYg
dGhlIHRyZWUgaXMgZW1wdHksIGluaXRpYWxpemUgdGhlIHJvb3QgYXMgYSBsZWFmLgorICBpZiAo
IW5vZGUpIHJldHVybiB0cmVlLl9yb290ID0gbGVhZiwgdHJlZTsKKworICAvLyBGaW5kIHRoZSBl
eGlzdGluZyBsZWFmIGZvciB0aGUgbmV3IHBvaW50LCBvciBhZGQgaXQuCisgIHdoaWxlIChub2Rl
Lmxlbmd0aCkgeworICAgIGlmIChyaWdodCA9IHggPj0gKHhtID0gKHgwICsgeDEpIC8gMikpIHgw
ID0geG07IGVsc2UgeDEgPSB4bTsKKyAgICBpZiAoYm90dG9tID0geSA+PSAoeW0gPSAoeTAgKyB5
MSkgLyAyKSkgeTAgPSB5bTsgZWxzZSB5MSA9IHltOworICAgIGlmIChwYXJlbnQgPSBub2RlLCAh
KG5vZGUgPSBub2RlW2kgPSBib3R0b20gPDwgMSB8IHJpZ2h0XSkpIHJldHVybiBwYXJlbnRbaV0g
PSBsZWFmLCB0cmVlOworICB9CisKKyAgLy8gSXMgdGhlIG5ldyBwb2ludCBpcyBleGFjdGx5IGNv
aW5jaWRlbnQgd2l0aCB0aGUgZXhpc3RpbmcgcG9pbnQ/CisgIHhwID0gK3RyZWUuX3guY2FsbChu
dWxsLCBub2RlLmRhdGEpOworICB5cCA9ICt0cmVlLl95LmNhbGwobnVsbCwgbm9kZS5kYXRhKTsK
KyAgaWYgKHggPT09IHhwICYmIHkgPT09IHlwKSByZXR1cm4gbGVhZi5uZXh0ID0gbm9kZSwgcGFy
ZW50ID8gcGFyZW50W2ldID0gbGVhZiA6IHRyZWUuX3Jvb3QgPSBsZWFmLCB0cmVlOworCisgIC8v
IE90aGVyd2lzZSwgc3BsaXQgdGhlIGxlYWYgbm9kZSB1bnRpbCB0aGUgb2xkIGFuZCBuZXcgcG9p
bnQgYXJlIHNlcGFyYXRlZC4KKyAgZG8geworICAgIHBhcmVudCA9IHBhcmVudCA/IHBhcmVudFtp
XSA9IG5ldyBBcnJheSg0KSA6IHRyZWUuX3Jvb3QgPSBuZXcgQXJyYXkoNCk7CisgICAgaWYgKHJp
Z2h0ID0geCA+PSAoeG0gPSAoeDAgKyB4MSkgLyAyKSkgeDAgPSB4bTsgZWxzZSB4MSA9IHhtOwor
ICAgIGlmIChib3R0b20gPSB5ID49ICh5bSA9ICh5MCArIHkxKSAvIDIpKSB5MCA9IHltOyBlbHNl
IHkxID0geW07CisgIH0gd2hpbGUgKChpID0gYm90dG9tIDw8IDEgfCByaWdodCkgPT09IChqID0g
KHlwID49IHltKSA8PCAxIHwgKHhwID49IHhtKSkpOworICByZXR1cm4gcGFyZW50W2pdID0gbm9k
ZSwgcGFyZW50W2ldID0gbGVhZiwgdHJlZTsKK30KKworZnVuY3Rpb24gYWRkQWxsKGRhdGEpIHsK
KyAgdmFyIGQsIGksIG4gPSBkYXRhLmxlbmd0aCwKKyAgICAgIHgsCisgICAgICB5LAorICAgICAg
eHogPSBuZXcgQXJyYXkobiksCisgICAgICB5eiA9IG5ldyBBcnJheShuKSwKKyAgICAgIHgwID0g
SW5maW5pdHksCisgICAgICB5MCA9IEluZmluaXR5LAorICAgICAgeDEgPSAtSW5maW5pdHksCisg
ICAgICB5MSA9IC1JbmZpbml0eTsKKworICAvLyBDb21wdXRlIHRoZSBwb2ludHMgYW5kIHRoZWly
IGV4dGVudC4KKyAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgIGlmIChpc05hTih4ID0g
K3RoaXMuX3guY2FsbChudWxsLCBkID0gZGF0YVtpXSkpIHx8IGlzTmFOKHkgPSArdGhpcy5feS5j
YWxsKG51bGwsIGQpKSkgY29udGludWU7CisgICAgeHpbaV0gPSB4OworICAgIHl6W2ldID0geTsK
KyAgICBpZiAoeCA8IHgwKSB4MCA9IHg7CisgICAgaWYgKHggPiB4MSkgeDEgPSB4OworICAgIGlm
ICh5IDwgeTApIHkwID0geTsKKyAgICBpZiAoeSA+IHkxKSB5MSA9IHk7CisgIH0KKworICAvLyBJ
ZiB0aGVyZSB3ZXJlIG5vICh2YWxpZCkgcG9pbnRzLCBhYm9ydC4KKyAgaWYgKHgwID4geDEgfHwg
eTAgPiB5MSkgcmV0dXJuIHRoaXM7CisKKyAgLy8gRXhwYW5kIHRoZSB0cmVlIHRvIGNvdmVyIHRo
ZSBuZXcgcG9pbnRzLgorICB0aGlzLmNvdmVyKHgwLCB5MCkuY292ZXIoeDEsIHkxKTsKKworICAv
LyBBZGQgdGhlIG5ldyBwb2ludHMuCisgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICBh
ZGQodGhpcywgeHpbaV0sIHl6W2ldLCBkYXRhW2ldKTsKKyAgfQorCisgIHJldHVybiB0aGlzOwor
fQorCitmdW5jdGlvbiB0cmVlX2NvdmVyKHgsIHkpIHsKKyAgaWYgKGlzTmFOKHggPSAreCkgfHwg
aXNOYU4oeSA9ICt5KSkgcmV0dXJuIHRoaXM7IC8vIGlnbm9yZSBpbnZhbGlkIHBvaW50cworCisg
IHZhciB4MCA9IHRoaXMuX3gwLAorICAgICAgeTAgPSB0aGlzLl95MCwKKyAgICAgIHgxID0gdGhp
cy5feDEsCisgICAgICB5MSA9IHRoaXMuX3kxOworCisgIC8vIElmIHRoZSBxdWFkdHJlZSBoYXMg
bm8gZXh0ZW50LCBpbml0aWFsaXplIHRoZW0uCisgIC8vIEludGVnZXIgZXh0ZW50IGFyZSBuZWNl
c3Nhcnkgc28gdGhhdCBpZiB3ZSBsYXRlciBkb3VibGUgdGhlIGV4dGVudCwKKyAgLy8gdGhlIGV4
aXN0aW5nIHF1YWRyYW50IGJvdW5kYXJpZXMgZG9u4oCZdCBjaGFuZ2UgZHVlIHRvIGZsb2F0aW5n
IHBvaW50IGVycm9yIQorICBpZiAoaXNOYU4oeDApKSB7CisgICAgeDEgPSAoeDAgPSBNYXRoLmZs
b29yKHgpKSArIDE7CisgICAgeTEgPSAoeTAgPSBNYXRoLmZsb29yKHkpKSArIDE7CisgIH0KKwor
ICAvLyBPdGhlcndpc2UsIGRvdWJsZSByZXBlYXRlZGx5IHRvIGNvdmVyLgorICBlbHNlIHsKKyAg
ICB2YXIgeiA9IHgxIC0geDAsCisgICAgICAgIG5vZGUgPSB0aGlzLl9yb290LAorICAgICAgICBw
YXJlbnQsCisgICAgICAgIGk7CisKKyAgICB3aGlsZSAoeDAgPiB4IHx8IHggPj0geDEgfHwgeTAg
PiB5IHx8IHkgPj0geTEpIHsKKyAgICAgIGkgPSAoeSA8IHkwKSA8PCAxIHwgKHggPCB4MCk7Cisg
ICAgICBwYXJlbnQgPSBuZXcgQXJyYXkoNCksIHBhcmVudFtpXSA9IG5vZGUsIG5vZGUgPSBwYXJl
bnQsIHogKj0gMjsKKyAgICAgIHN3aXRjaCAoaSkgeworICAgICAgICBjYXNlIDA6IHgxID0geDAg
KyB6LCB5MSA9IHkwICsgejsgYnJlYWs7CisgICAgICAgIGNhc2UgMTogeDAgPSB4MSAtIHosIHkx
ID0geTAgKyB6OyBicmVhazsKKyAgICAgICAgY2FzZSAyOiB4MSA9IHgwICsgeiwgeTAgPSB5MSAt
IHo7IGJyZWFrOworICAgICAgICBjYXNlIDM6IHgwID0geDEgLSB6LCB5MCA9IHkxIC0gejsgYnJl
YWs7CisgICAgICB9CisgICAgfQorCisgICAgaWYgKHRoaXMuX3Jvb3QgJiYgdGhpcy5fcm9vdC5s
ZW5ndGgpIHRoaXMuX3Jvb3QgPSBub2RlOworICB9CisKKyAgdGhpcy5feDAgPSB4MDsKKyAgdGhp
cy5feTAgPSB5MDsKKyAgdGhpcy5feDEgPSB4MTsKKyAgdGhpcy5feTEgPSB5MTsKKyAgcmV0dXJu
IHRoaXM7Cit9CisKK2Z1bmN0aW9uIHRyZWVfZGF0YSgpIHsKKyAgdmFyIGRhdGEgPSBbXTsKKyAg
dGhpcy52aXNpdChmdW5jdGlvbihub2RlKSB7CisgICAgaWYgKCFub2RlLmxlbmd0aCkgZG8gZGF0
YS5wdXNoKG5vZGUuZGF0YSk7IHdoaWxlIChub2RlID0gbm9kZS5uZXh0KQorICB9KTsKKyAgcmV0
dXJuIGRhdGE7Cit9CisKK2Z1bmN0aW9uIHRyZWVfZXh0ZW50KF8pIHsKKyAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGgKKyAgICAgID8gdGhpcy5jb3ZlcigrX1swXVswXSwgK19bMF1bMV0pLmNvdmVy
KCtfWzFdWzBdLCArX1sxXVsxXSkKKyAgICAgIDogaXNOYU4odGhpcy5feDApID8gdW5kZWZpbmVk
IDogW1t0aGlzLl94MCwgdGhpcy5feTBdLCBbdGhpcy5feDEsIHRoaXMuX3kxXV07Cit9CisKK2Z1
bmN0aW9uIFF1YWQobm9kZSwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgdGhpcy5ub2RlID0gbm9kZTsK
KyAgdGhpcy54MCA9IHgwOworICB0aGlzLnkwID0geTA7CisgIHRoaXMueDEgPSB4MTsKKyAgdGhp
cy55MSA9IHkxOworfQorCitmdW5jdGlvbiB0cmVlX2ZpbmQoeCwgeSwgcmFkaXVzKSB7CisgIHZh
ciBkYXRhLAorICAgICAgeDAgPSB0aGlzLl94MCwKKyAgICAgIHkwID0gdGhpcy5feTAsCisgICAg
ICB4MSwKKyAgICAgIHkxLAorICAgICAgeDIsCisgICAgICB5MiwKKyAgICAgIHgzID0gdGhpcy5f
eDEsCisgICAgICB5MyA9IHRoaXMuX3kxLAorICAgICAgcXVhZHMgPSBbXSwKKyAgICAgIG5vZGUg
PSB0aGlzLl9yb290LAorICAgICAgcSwKKyAgICAgIGk7CisKKyAgaWYgKG5vZGUpIHF1YWRzLnB1
c2gobmV3IFF1YWQobm9kZSwgeDAsIHkwLCB4MywgeTMpKTsKKyAgaWYgKHJhZGl1cyA9PSBudWxs
KSByYWRpdXMgPSBJbmZpbml0eTsKKyAgZWxzZSB7CisgICAgeDAgPSB4IC0gcmFkaXVzLCB5MCA9
IHkgLSByYWRpdXM7CisgICAgeDMgPSB4ICsgcmFkaXVzLCB5MyA9IHkgKyByYWRpdXM7CisgICAg
cmFkaXVzICo9IHJhZGl1czsKKyAgfQorCisgIHdoaWxlIChxID0gcXVhZHMucG9wKCkpIHsKKwor
ICAgIC8vIFN0b3Agc2VhcmNoaW5nIGlmIHRoaXMgcXVhZHJhbnQgY2Fu4oCZdCBjb250YWluIGEg
Y2xvc2VyIG5vZGUuCisgICAgaWYgKCEobm9kZSA9IHEubm9kZSkKKyAgICAgICAgfHwgKHgxID0g
cS54MCkgPiB4MworICAgICAgICB8fCAoeTEgPSBxLnkwKSA+IHkzCisgICAgICAgIHx8ICh4MiA9
IHEueDEpIDwgeDAKKyAgICAgICAgfHwgKHkyID0gcS55MSkgPCB5MCkgY29udGludWU7CisKKyAg
ICAvLyBCaXNlY3QgdGhlIGN1cnJlbnQgcXVhZHJhbnQuCisgICAgaWYgKG5vZGUubGVuZ3RoKSB7
CisgICAgICB2YXIgeG0gPSAoeDEgKyB4MikgLyAyLAorICAgICAgICAgIHltID0gKHkxICsgeTIp
IC8gMjsKKworICAgICAgcXVhZHMucHVzaCgKKyAgICAgICAgbmV3IFF1YWQobm9kZVszXSwgeG0s
IHltLCB4MiwgeTIpLAorICAgICAgICBuZXcgUXVhZChub2RlWzJdLCB4MSwgeW0sIHhtLCB5Miks
CisgICAgICAgIG5ldyBRdWFkKG5vZGVbMV0sIHhtLCB5MSwgeDIsIHltKSwKKyAgICAgICAgbmV3
IFF1YWQobm9kZVswXSwgeDEsIHkxLCB4bSwgeW0pCisgICAgICApOworCisgICAgICAvLyBWaXNp
dCB0aGUgY2xvc2VzdCBxdWFkcmFudCBmaXJzdC4KKyAgICAgIGlmIChpID0gKHkgPj0geW0pIDw8
IDEgfCAoeCA+PSB4bSkpIHsKKyAgICAgICAgcSA9IHF1YWRzW3F1YWRzLmxlbmd0aCAtIDFdOwor
ICAgICAgICBxdWFkc1txdWFkcy5sZW5ndGggLSAxXSA9IHF1YWRzW3F1YWRzLmxlbmd0aCAtIDEg
LSBpXTsKKyAgICAgICAgcXVhZHNbcXVhZHMubGVuZ3RoIC0gMSAtIGldID0gcTsKKyAgICAgIH0K
KyAgICB9CisKKyAgICAvLyBWaXNpdCB0aGlzIHBvaW50LiAoVmlzaXRpbmcgY29pbmNpZGVudCBw
b2ludHMgaXNu4oCZdCBuZWNlc3NhcnkhKQorICAgIGVsc2UgeworICAgICAgdmFyIGR4ID0geCAt
ICt0aGlzLl94LmNhbGwobnVsbCwgbm9kZS5kYXRhKSwKKyAgICAgICAgICBkeSA9IHkgLSArdGhp
cy5feS5jYWxsKG51bGwsIG5vZGUuZGF0YSksCisgICAgICAgICAgZDIgPSBkeCAqIGR4ICsgZHkg
KiBkeTsKKyAgICAgIGlmIChkMiA8IHJhZGl1cykgeworICAgICAgICB2YXIgZCA9IE1hdGguc3Fy
dChyYWRpdXMgPSBkMik7CisgICAgICAgIHgwID0geCAtIGQsIHkwID0geSAtIGQ7CisgICAgICAg
IHgzID0geCArIGQsIHkzID0geSArIGQ7CisgICAgICAgIGRhdGEgPSBub2RlLmRhdGE7CisgICAg
ICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIGRhdGE7Cit9CisKK2Z1bmN0aW9uIHRyZWVfcmVt
b3ZlKGQpIHsKKyAgaWYgKGlzTmFOKHggPSArdGhpcy5feC5jYWxsKG51bGwsIGQpKSB8fCBpc05h
Tih5ID0gK3RoaXMuX3kuY2FsbChudWxsLCBkKSkpIHJldHVybiB0aGlzOyAvLyBpZ25vcmUgaW52
YWxpZCBwb2ludHMKKworICB2YXIgcGFyZW50LAorICAgICAgbm9kZSA9IHRoaXMuX3Jvb3QsCisg
ICAgICByZXRhaW5lciwKKyAgICAgIHByZXZpb3VzLAorICAgICAgbmV4dCwKKyAgICAgIHgwID0g
dGhpcy5feDAsCisgICAgICB5MCA9IHRoaXMuX3kwLAorICAgICAgeDEgPSB0aGlzLl94MSwKKyAg
ICAgIHkxID0gdGhpcy5feTEsCisgICAgICB4LAorICAgICAgeSwKKyAgICAgIHhtLAorICAgICAg
eW0sCisgICAgICByaWdodCwKKyAgICAgIGJvdHRvbSwKKyAgICAgIGksCisgICAgICBqOworCisg
IC8vIElmIHRoZSB0cmVlIGlzIGVtcHR5LCBpbml0aWFsaXplIHRoZSByb290IGFzIGEgbGVhZi4K
KyAgaWYgKCFub2RlKSByZXR1cm4gdGhpczsKKworICAvLyBGaW5kIHRoZSBsZWFmIG5vZGUgZm9y
IHRoZSBwb2ludC4KKyAgLy8gV2hpbGUgZGVzY2VuZGluZywgYWxzbyByZXRhaW4gdGhlIGRlZXBl
c3QgcGFyZW50IHdpdGggYSBub24tcmVtb3ZlZCBzaWJsaW5nLgorICBpZiAobm9kZS5sZW5ndGgp
IHdoaWxlICh0cnVlKSB7CisgICAgaWYgKHJpZ2h0ID0geCA+PSAoeG0gPSAoeDAgKyB4MSkgLyAy
KSkgeDAgPSB4bTsgZWxzZSB4MSA9IHhtOworICAgIGlmIChib3R0b20gPSB5ID49ICh5bSA9ICh5
MCArIHkxKSAvIDIpKSB5MCA9IHltOyBlbHNlIHkxID0geW07CisgICAgaWYgKCEocGFyZW50ID0g
bm9kZSwgbm9kZSA9IG5vZGVbaSA9IGJvdHRvbSA8PCAxIHwgcmlnaHRdKSkgcmV0dXJuIHRoaXM7
CisgICAgaWYgKCFub2RlLmxlbmd0aCkgYnJlYWs7CisgICAgaWYgKHBhcmVudFsoaSArIDEpICYg
M10gfHwgcGFyZW50WyhpICsgMikgJiAzXSB8fCBwYXJlbnRbKGkgKyAzKSAmIDNdKSByZXRhaW5l
ciA9IHBhcmVudCwgaiA9IGk7CisgIH0KKworICAvLyBGaW5kIHRoZSBwb2ludCB0byByZW1vdmUu
CisgIHdoaWxlIChub2RlLmRhdGEgIT09IGQpIGlmICghKHByZXZpb3VzID0gbm9kZSwgbm9kZSA9
IG5vZGUubmV4dCkpIHJldHVybiB0aGlzOworICBpZiAobmV4dCA9IG5vZGUubmV4dCkgZGVsZXRl
IG5vZGUubmV4dDsKKworICAvLyBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgY29pbmNpZGVudCBwb2lu
dHMsIHJlbW92ZSBqdXN0IHRoZSBwb2ludC4KKyAgaWYgKHByZXZpb3VzKSByZXR1cm4gKG5leHQg
PyBwcmV2aW91cy5uZXh0ID0gbmV4dCA6IGRlbGV0ZSBwcmV2aW91cy5uZXh0KSwgdGhpczsKKwor
ICAvLyBJZiB0aGlzIGlzIHRoZSByb290IHBvaW50LCByZW1vdmUgaXQuCisgIGlmICghcGFyZW50
KSByZXR1cm4gdGhpcy5fcm9vdCA9IG5leHQsIHRoaXM7CisKKyAgLy8gUmVtb3ZlIHRoaXMgbGVh
Zi4KKyAgbmV4dCA/IHBhcmVudFtpXSA9IG5leHQgOiBkZWxldGUgcGFyZW50W2ldOworCisgIC8v
IElmIHRoZSBwYXJlbnQgbm93IGNvbnRhaW5zIGV4YWN0bHkgb25lIGxlYWYsIGNvbGxhcHNlIHN1
cGVyZmx1b3VzIHBhcmVudHMuCisgIGlmICgobm9kZSA9IHBhcmVudFswXSB8fCBwYXJlbnRbMV0g
fHwgcGFyZW50WzJdIHx8IHBhcmVudFszXSkKKyAgICAgICYmIG5vZGUgPT09IChwYXJlbnRbM10g
fHwgcGFyZW50WzJdIHx8IHBhcmVudFsxXSB8fCBwYXJlbnRbMF0pCisgICAgICAmJiAhbm9kZS5s
ZW5ndGgpIHsKKyAgICBpZiAocmV0YWluZXIpIHJldGFpbmVyW2pdID0gbm9kZTsKKyAgICBlbHNl
IHRoaXMuX3Jvb3QgPSBub2RlOworICB9CisKKyAgcmV0dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9u
IHJlbW92ZUFsbChkYXRhKSB7CisgIGZvciAodmFyIGkgPSAwLCBuID0gZGF0YS5sZW5ndGg7IGkg
PCBuOyArK2kpIHRoaXMucmVtb3ZlKGRhdGFbaV0pOworICByZXR1cm4gdGhpczsKK30KKworZnVu
Y3Rpb24gdHJlZV9yb290KCkgeworICByZXR1cm4gdGhpcy5fcm9vdDsKK30KKworZnVuY3Rpb24g
dHJlZV9zaXplKCkgeworICB2YXIgc2l6ZSA9IDA7CisgIHRoaXMudmlzaXQoZnVuY3Rpb24obm9k
ZSkgeworICAgIGlmICghbm9kZS5sZW5ndGgpIGRvICsrc2l6ZTsgd2hpbGUgKG5vZGUgPSBub2Rl
Lm5leHQpCisgIH0pOworICByZXR1cm4gc2l6ZTsKK30KKworZnVuY3Rpb24gdHJlZV92aXNpdChj
YWxsYmFjaykgeworICB2YXIgcXVhZHMgPSBbXSwgcSwgbm9kZSA9IHRoaXMuX3Jvb3QsIGNoaWxk
LCB4MCwgeTAsIHgxLCB5MTsKKyAgaWYgKG5vZGUpIHF1YWRzLnB1c2gobmV3IFF1YWQobm9kZSwg
dGhpcy5feDAsIHRoaXMuX3kwLCB0aGlzLl94MSwgdGhpcy5feTEpKTsKKyAgd2hpbGUgKHEgPSBx
dWFkcy5wb3AoKSkgeworICAgIGlmICghY2FsbGJhY2sobm9kZSA9IHEubm9kZSwgeDAgPSBxLngw
LCB5MCA9IHEueTAsIHgxID0gcS54MSwgeTEgPSBxLnkxKSAmJiBub2RlLmxlbmd0aCkgeworICAg
ICAgdmFyIHhtID0gKHgwICsgeDEpIC8gMiwgeW0gPSAoeTAgKyB5MSkgLyAyOworICAgICAgaWYg
KGNoaWxkID0gbm9kZVszXSkgcXVhZHMucHVzaChuZXcgUXVhZChjaGlsZCwgeG0sIHltLCB4MSwg
eTEpKTsKKyAgICAgIGlmIChjaGlsZCA9IG5vZGVbMl0pIHF1YWRzLnB1c2gobmV3IFF1YWQoY2hp
bGQsIHgwLCB5bSwgeG0sIHkxKSk7CisgICAgICBpZiAoY2hpbGQgPSBub2RlWzFdKSBxdWFkcy5w
dXNoKG5ldyBRdWFkKGNoaWxkLCB4bSwgeTAsIHgxLCB5bSkpOworICAgICAgaWYgKGNoaWxkID0g
bm9kZVswXSkgcXVhZHMucHVzaChuZXcgUXVhZChjaGlsZCwgeDAsIHkwLCB4bSwgeW0pKTsKKyAg
ICB9CisgIH0KKyAgcmV0dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9uIHRyZWVfdmlzaXRBZnRlcihj
YWxsYmFjaykgeworICB2YXIgcXVhZHMgPSBbXSwgbmV4dCA9IFtdLCBxOworICBpZiAodGhpcy5f
cm9vdCkgcXVhZHMucHVzaChuZXcgUXVhZCh0aGlzLl9yb290LCB0aGlzLl94MCwgdGhpcy5feTAs
IHRoaXMuX3gxLCB0aGlzLl95MSkpOworICB3aGlsZSAocSA9IHF1YWRzLnBvcCgpKSB7CisgICAg
dmFyIG5vZGUgPSBxLm5vZGU7CisgICAgaWYgKG5vZGUubGVuZ3RoKSB7CisgICAgICB2YXIgY2hp
bGQsIHgwID0gcS54MCwgeTAgPSBxLnkwLCB4MSA9IHEueDEsIHkxID0gcS55MSwgeG0gPSAoeDAg
KyB4MSkgLyAyLCB5bSA9ICh5MCArIHkxKSAvIDI7CisgICAgICBpZiAoY2hpbGQgPSBub2RlWzBd
KSBxdWFkcy5wdXNoKG5ldyBRdWFkKGNoaWxkLCB4MCwgeTAsIHhtLCB5bSkpOworICAgICAgaWYg
KGNoaWxkID0gbm9kZVsxXSkgcXVhZHMucHVzaChuZXcgUXVhZChjaGlsZCwgeG0sIHkwLCB4MSwg
eW0pKTsKKyAgICAgIGlmIChjaGlsZCA9IG5vZGVbMl0pIHF1YWRzLnB1c2gobmV3IFF1YWQoY2hp
bGQsIHgwLCB5bSwgeG0sIHkxKSk7CisgICAgICBpZiAoY2hpbGQgPSBub2RlWzNdKSBxdWFkcy5w
dXNoKG5ldyBRdWFkKGNoaWxkLCB4bSwgeW0sIHgxLCB5MSkpOworICAgIH0KKyAgICBuZXh0LnB1
c2gocSk7CisgIH0KKyAgd2hpbGUgKHEgPSBuZXh0LnBvcCgpKSB7CisgICAgY2FsbGJhY2socS5u
b2RlLCBxLngwLCBxLnkwLCBxLngxLCBxLnkxKTsKKyAgfQorICByZXR1cm4gdGhpczsKK30KKwor
ZnVuY3Rpb24gZGVmYXVsdFgkMShkKSB7CisgIHJldHVybiBkWzBdOworfQorCitmdW5jdGlvbiB0
cmVlX3goXykgeworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0aGlzLl94ID0gXywgdGhp
cykgOiB0aGlzLl94OworfQorCitmdW5jdGlvbiBkZWZhdWx0WSQxKGQpIHsKKyAgcmV0dXJuIGRb
MV07Cit9CisKK2Z1bmN0aW9uIHRyZWVfeShfKSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKHRoaXMuX3kgPSBfLCB0aGlzKSA6IHRoaXMuX3k7Cit9CisKK2Z1bmN0aW9uIHF1YWR0cmVl
KG5vZGVzLCB4LCB5KSB7CisgIHZhciB0cmVlID0gbmV3IFF1YWR0cmVlKHggPT0gbnVsbCA/IGRl
ZmF1bHRYJDEgOiB4LCB5ID09IG51bGwgPyBkZWZhdWx0WSQxIDogeSwgTmFOLCBOYU4sIE5hTiwg
TmFOKTsKKyAgcmV0dXJuIG5vZGVzID09IG51bGwgPyB0cmVlIDogdHJlZS5hZGRBbGwobm9kZXMp
OworfQorCitmdW5jdGlvbiBRdWFkdHJlZSh4LCB5LCB4MCwgeTAsIHgxLCB5MSkgeworICB0aGlz
Ll94ID0geDsKKyAgdGhpcy5feSA9IHk7CisgIHRoaXMuX3gwID0geDA7CisgIHRoaXMuX3kwID0g
eTA7CisgIHRoaXMuX3gxID0geDE7CisgIHRoaXMuX3kxID0geTE7CisgIHRoaXMuX3Jvb3QgPSB1
bmRlZmluZWQ7Cit9CisKK2Z1bmN0aW9uIGxlYWZfY29weShsZWFmKSB7CisgIHZhciBjb3B5ID0g
e2RhdGE6IGxlYWYuZGF0YX0sIG5leHQgPSBjb3B5OworICB3aGlsZSAobGVhZiA9IGxlYWYubmV4
dCkgbmV4dCA9IG5leHQubmV4dCA9IHtkYXRhOiBsZWFmLmRhdGF9OworICByZXR1cm4gY29weTsK
K30KKwordmFyIHRyZWVQcm90byA9IHF1YWR0cmVlLnByb3RvdHlwZSA9IFF1YWR0cmVlLnByb3Rv
dHlwZTsKKwordHJlZVByb3RvLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgdmFyIGNvcHkgPSBuZXcg
UXVhZHRyZWUodGhpcy5feCwgdGhpcy5feSwgdGhpcy5feDAsIHRoaXMuX3kwLCB0aGlzLl94MSwg
dGhpcy5feTEpLAorICAgICAgbm9kZSA9IHRoaXMuX3Jvb3QsCisgICAgICBub2RlcywKKyAgICAg
IGNoaWxkOworCisgIGlmICghbm9kZSkgcmV0dXJuIGNvcHk7CisKKyAgaWYgKCFub2RlLmxlbmd0
aCkgcmV0dXJuIGNvcHkuX3Jvb3QgPSBsZWFmX2NvcHkobm9kZSksIGNvcHk7CisKKyAgbm9kZXMg
PSBbe3NvdXJjZTogbm9kZSwgdGFyZ2V0OiBjb3B5Ll9yb290ID0gbmV3IEFycmF5KDQpfV07Cisg
IHdoaWxlIChub2RlID0gbm9kZXMucG9wKCkpIHsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7
ICsraSkgeworICAgICAgaWYgKGNoaWxkID0gbm9kZS5zb3VyY2VbaV0pIHsKKyAgICAgICAgaWYg
KGNoaWxkLmxlbmd0aCkgbm9kZXMucHVzaCh7c291cmNlOiBjaGlsZCwgdGFyZ2V0OiBub2RlLnRh
cmdldFtpXSA9IG5ldyBBcnJheSg0KX0pOworICAgICAgICBlbHNlIG5vZGUudGFyZ2V0W2ldID0g
bGVhZl9jb3B5KGNoaWxkKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gY29weTsK
K307CisKK3RyZWVQcm90by5hZGQgPSB0cmVlX2FkZDsKK3RyZWVQcm90by5hZGRBbGwgPSBhZGRB
bGw7Cit0cmVlUHJvdG8uY292ZXIgPSB0cmVlX2NvdmVyOwordHJlZVByb3RvLmRhdGEgPSB0cmVl
X2RhdGE7Cit0cmVlUHJvdG8uZXh0ZW50ID0gdHJlZV9leHRlbnQ7Cit0cmVlUHJvdG8uZmluZCA9
IHRyZWVfZmluZDsKK3RyZWVQcm90by5yZW1vdmUgPSB0cmVlX3JlbW92ZTsKK3RyZWVQcm90by5y
ZW1vdmVBbGwgPSByZW1vdmVBbGw7Cit0cmVlUHJvdG8ucm9vdCA9IHRyZWVfcm9vdDsKK3RyZWVQ
cm90by5zaXplID0gdHJlZV9zaXplOwordHJlZVByb3RvLnZpc2l0ID0gdHJlZV92aXNpdDsKK3Ry
ZWVQcm90by52aXNpdEFmdGVyID0gdHJlZV92aXNpdEFmdGVyOwordHJlZVByb3RvLnggPSB0cmVl
X3g7Cit0cmVlUHJvdG8ueSA9IHRyZWVfeTsKKworZnVuY3Rpb24geChkKSB7CisgIHJldHVybiBk
LnggKyBkLnZ4OworfQorCitmdW5jdGlvbiB5KGQpIHsKKyAgcmV0dXJuIGQueSArIGQudnk7Cit9
CisKK2Z1bmN0aW9uIGNvbGxpZGUocmFkaXVzKSB7CisgIHZhciBub2RlcywKKyAgICAgIHJhZGlp
LAorICAgICAgc3RyZW5ndGggPSAxLAorICAgICAgaXRlcmF0aW9ucyA9IDE7CisKKyAgaWYgKHR5
cGVvZiByYWRpdXMgIT09ICJmdW5jdGlvbiIpIHJhZGl1cyA9IGNvbnN0YW50JDcocmFkaXVzID09
IG51bGwgPyAxIDogK3JhZGl1cyk7CisKKyAgZnVuY3Rpb24gZm9yY2UoKSB7CisgICAgdmFyIGks
IG4gPSBub2Rlcy5sZW5ndGgsCisgICAgICAgIHRyZWUsCisgICAgICAgIG5vZGUsCisgICAgICAg
IHhpLAorICAgICAgICB5aSwKKyAgICAgICAgcmksCisgICAgICAgIHJpMjsKKworICAgIGZvciAo
dmFyIGsgPSAwOyBrIDwgaXRlcmF0aW9uczsgKytrKSB7CisgICAgICB0cmVlID0gcXVhZHRyZWUo
bm9kZXMsIHgsIHkpLnZpc2l0QWZ0ZXIocHJlcGFyZSk7CisgICAgICBmb3IgKGkgPSAwOyBpIDwg
bjsgKytpKSB7CisgICAgICAgIG5vZGUgPSBub2Rlc1tpXTsKKyAgICAgICAgcmkgPSByYWRpaVtu
b2RlLmluZGV4XSwgcmkyID0gcmkgKiByaTsKKyAgICAgICAgeGkgPSBub2RlLnggKyBub2RlLnZ4
OworICAgICAgICB5aSA9IG5vZGUueSArIG5vZGUudnk7CisgICAgICAgIHRyZWUudmlzaXQoYXBw
bHkpOworICAgICAgfQorICAgIH0KKworICAgIGZ1bmN0aW9uIGFwcGx5KHF1YWQsIHgwLCB5MCwg
eDEsIHkxKSB7CisgICAgICB2YXIgZGF0YSA9IHF1YWQuZGF0YSwgcmogPSBxdWFkLnIsIHIgPSBy
aSArIHJqOworICAgICAgaWYgKGRhdGEpIHsKKyAgICAgICAgaWYgKGRhdGEuaW5kZXggPiBub2Rl
LmluZGV4KSB7CisgICAgICAgICAgdmFyIHggPSB4aSAtIGRhdGEueCAtIGRhdGEudngsCisgICAg
ICAgICAgICAgIHkgPSB5aSAtIGRhdGEueSAtIGRhdGEudnksCisgICAgICAgICAgICAgIGwgPSB4
ICogeCArIHkgKiB5OworICAgICAgICAgIGlmIChsIDwgciAqIHIpIHsKKyAgICAgICAgICAgIGlm
ICh4ID09PSAwKSB4ID0gamlnZ2xlKCksIGwgKz0geCAqIHg7CisgICAgICAgICAgICBpZiAoeSA9
PT0gMCkgeSA9IGppZ2dsZSgpLCBsICs9IHkgKiB5OworICAgICAgICAgICAgbCA9IChyIC0gKGwg
PSBNYXRoLnNxcnQobCkpKSAvIGwgKiBzdHJlbmd0aDsKKyAgICAgICAgICAgIG5vZGUudnggKz0g
KHggKj0gbCkgKiAociA9IChyaiAqPSByaikgLyAocmkyICsgcmopKTsKKyAgICAgICAgICAgIG5v
ZGUudnkgKz0gKHkgKj0gbCkgKiByOworICAgICAgICAgICAgZGF0YS52eCAtPSB4ICogKHIgPSAx
IC0gcik7CisgICAgICAgICAgICBkYXRhLnZ5IC09IHkgKiByOworICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgICByZXR1cm4geDAgPiB4aSArIHIg
fHwgeDEgPCB4aSAtIHIgfHwgeTAgPiB5aSArIHIgfHwgeTEgPCB5aSAtIHI7CisgICAgfQorICB9
CisKKyAgZnVuY3Rpb24gcHJlcGFyZShxdWFkKSB7CisgICAgaWYgKHF1YWQuZGF0YSkgcmV0dXJu
IHF1YWQuciA9IHJhZGlpW3F1YWQuZGF0YS5pbmRleF07CisgICAgZm9yICh2YXIgaSA9IHF1YWQu
ciA9IDA7IGkgPCA0OyArK2kpIHsKKyAgICAgIGlmIChxdWFkW2ldICYmIHF1YWRbaV0uciA+IHF1
YWQucikgeworICAgICAgICBxdWFkLnIgPSBxdWFkW2ldLnI7CisgICAgICB9CisgICAgfQorICB9
CisKKyAgZnVuY3Rpb24gaW5pdGlhbGl6ZSgpIHsKKyAgICBpZiAoIW5vZGVzKSByZXR1cm47Cisg
ICAgdmFyIGksIG4gPSBub2Rlcy5sZW5ndGgsIG5vZGU7CisgICAgcmFkaWkgPSBuZXcgQXJyYXko
bik7CisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgbm9kZSA9IG5vZGVzW2ldLCByYWRpaVtu
b2RlLmluZGV4XSA9ICtyYWRpdXMobm9kZSwgaSwgbm9kZXMpOworICB9CisKKyAgZm9yY2UuaW5p
dGlhbGl6ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBub2RlcyA9IF87CisgICAgaW5pdGlhbGl6ZSgp
OworICB9OworCisgIGZvcmNlLml0ZXJhdGlvbnMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAoaXRlcmF0aW9ucyA9ICtfLCBmb3JjZSkgOiBpdGVyYXRpb25z
OworICB9OworCisgIGZvcmNlLnN0cmVuZ3RoID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKHN0cmVuZ3RoID0gK18sIGZvcmNlKSA6IHN0cmVuZ3RoOworICB9
OworCisgIGZvcmNlLnJhZGl1cyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/IChyYWRpdXMgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFu
dCQ3KCtfKSwgaW5pdGlhbGl6ZSgpLCBmb3JjZSkgOiByYWRpdXM7CisgIH07CisKKyAgcmV0dXJu
IGZvcmNlOworfQorCitmdW5jdGlvbiBpbmRleChkKSB7CisgIHJldHVybiBkLmluZGV4OworfQor
CitmdW5jdGlvbiBmaW5kKG5vZGVCeUlkLCBub2RlSWQpIHsKKyAgdmFyIG5vZGUgPSBub2RlQnlJ
ZC5nZXQobm9kZUlkKTsKKyAgaWYgKCFub2RlKSB0aHJvdyBuZXcgRXJyb3IoIm1pc3Npbmc6ICIg
KyBub2RlSWQpOworICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gbGluayhsaW5rcykgewor
ICB2YXIgaWQgPSBpbmRleCwKKyAgICAgIHN0cmVuZ3RoID0gZGVmYXVsdFN0cmVuZ3RoLAorICAg
ICAgc3RyZW5ndGhzLAorICAgICAgZGlzdGFuY2UgPSBjb25zdGFudCQ3KDMwKSwKKyAgICAgIGRp
c3RhbmNlcywKKyAgICAgIG5vZGVzLAorICAgICAgY291bnQsCisgICAgICBiaWFzLAorICAgICAg
aXRlcmF0aW9ucyA9IDE7CisKKyAgaWYgKGxpbmtzID09IG51bGwpIGxpbmtzID0gW107CisKKyAg
ZnVuY3Rpb24gZGVmYXVsdFN0cmVuZ3RoKGxpbmspIHsKKyAgICByZXR1cm4gMSAvIE1hdGgubWlu
KGNvdW50W2xpbmsuc291cmNlLmluZGV4XSwgY291bnRbbGluay50YXJnZXQuaW5kZXhdKTsKKyAg
fQorCisgIGZ1bmN0aW9uIGZvcmNlKGFscGhhKSB7CisgICAgZm9yICh2YXIgayA9IDAsIG4gPSBs
aW5rcy5sZW5ndGg7IGsgPCBpdGVyYXRpb25zOyArK2spIHsKKyAgICAgIGZvciAodmFyIGkgPSAw
LCBsaW5rLCBzb3VyY2UsIHRhcmdldCwgeCwgeSwgbCwgYjsgaSA8IG47ICsraSkgeworICAgICAg
ICBsaW5rID0gbGlua3NbaV0sIHNvdXJjZSA9IGxpbmsuc291cmNlLCB0YXJnZXQgPSBsaW5rLnRh
cmdldDsKKyAgICAgICAgeCA9IHRhcmdldC54ICsgdGFyZ2V0LnZ4IC0gc291cmNlLnggLSBzb3Vy
Y2UudnggfHwgamlnZ2xlKCk7CisgICAgICAgIHkgPSB0YXJnZXQueSArIHRhcmdldC52eSAtIHNv
dXJjZS55IC0gc291cmNlLnZ5IHx8IGppZ2dsZSgpOworICAgICAgICBsID0gTWF0aC5zcXJ0KHgg
KiB4ICsgeSAqIHkpOworICAgICAgICBsID0gKGwgLSBkaXN0YW5jZXNbaV0pIC8gbCAqIGFscGhh
ICogc3RyZW5ndGhzW2ldOworICAgICAgICB4ICo9IGwsIHkgKj0gbDsKKyAgICAgICAgdGFyZ2V0
LnZ4IC09IHggKiAoYiA9IGJpYXNbaV0pOworICAgICAgICB0YXJnZXQudnkgLT0geSAqIGI7Cisg
ICAgICAgIHNvdXJjZS52eCArPSB4ICogKGIgPSAxIC0gYik7CisgICAgICAgIHNvdXJjZS52eSAr
PSB5ICogYjsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBpbml0aWFsaXplKCkg
eworICAgIGlmICghbm9kZXMpIHJldHVybjsKKworICAgIHZhciBpLAorICAgICAgICBuID0gbm9k
ZXMubGVuZ3RoLAorICAgICAgICBtID0gbGlua3MubGVuZ3RoLAorICAgICAgICBub2RlQnlJZCA9
IG1hcCQxKG5vZGVzLCBpZCksCisgICAgICAgIGxpbms7CisKKyAgICBmb3IgKGkgPSAwLCBjb3Vu
dCA9IG5ldyBBcnJheShuKTsgaSA8IG07ICsraSkgeworICAgICAgbGluayA9IGxpbmtzW2ldLCBs
aW5rLmluZGV4ID0gaTsKKyAgICAgIGlmICh0eXBlb2YgbGluay5zb3VyY2UgIT09ICJvYmplY3Qi
KSBsaW5rLnNvdXJjZSA9IGZpbmQobm9kZUJ5SWQsIGxpbmsuc291cmNlKTsKKyAgICAgIGlmICh0
eXBlb2YgbGluay50YXJnZXQgIT09ICJvYmplY3QiKSBsaW5rLnRhcmdldCA9IGZpbmQobm9kZUJ5
SWQsIGxpbmsudGFyZ2V0KTsKKyAgICAgIGNvdW50W2xpbmsuc291cmNlLmluZGV4XSA9IChjb3Vu
dFtsaW5rLnNvdXJjZS5pbmRleF0gfHwgMCkgKyAxOworICAgICAgY291bnRbbGluay50YXJnZXQu
aW5kZXhdID0gKGNvdW50W2xpbmsudGFyZ2V0LmluZGV4XSB8fCAwKSArIDE7CisgICAgfQorCisg
ICAgZm9yIChpID0gMCwgYmlhcyA9IG5ldyBBcnJheShtKTsgaSA8IG07ICsraSkgeworICAgICAg
bGluayA9IGxpbmtzW2ldLCBiaWFzW2ldID0gY291bnRbbGluay5zb3VyY2UuaW5kZXhdIC8gKGNv
dW50W2xpbmsuc291cmNlLmluZGV4XSArIGNvdW50W2xpbmsudGFyZ2V0LmluZGV4XSk7CisgICAg
fQorCisgICAgc3RyZW5ndGhzID0gbmV3IEFycmF5KG0pLCBpbml0aWFsaXplU3RyZW5ndGgoKTsK
KyAgICBkaXN0YW5jZXMgPSBuZXcgQXJyYXkobSksIGluaXRpYWxpemVEaXN0YW5jZSgpOworICB9
CisKKyAgZnVuY3Rpb24gaW5pdGlhbGl6ZVN0cmVuZ3RoKCkgeworICAgIGlmICghbm9kZXMpIHJl
dHVybjsKKworICAgIGZvciAodmFyIGkgPSAwLCBuID0gbGlua3MubGVuZ3RoOyBpIDwgbjsgKytp
KSB7CisgICAgICBzdHJlbmd0aHNbaV0gPSArc3RyZW5ndGgobGlua3NbaV0sIGksIGxpbmtzKTsK
KyAgICB9CisgIH0KKworICBmdW5jdGlvbiBpbml0aWFsaXplRGlzdGFuY2UoKSB7CisgICAgaWYg
KCFub2RlcykgcmV0dXJuOworCisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBsaW5rcy5sZW5ndGg7
IGkgPCBuOyArK2kpIHsKKyAgICAgIGRpc3RhbmNlc1tpXSA9ICtkaXN0YW5jZShsaW5rc1tpXSwg
aSwgbGlua3MpOworICAgIH0KKyAgfQorCisgIGZvcmNlLmluaXRpYWxpemUgPSBmdW5jdGlvbihf
KSB7CisgICAgbm9kZXMgPSBfOworICAgIGluaXRpYWxpemUoKTsKKyAgfTsKKworICBmb3JjZS5s
aW5rcyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChsaW5r
cyA9IF8sIGluaXRpYWxpemUoKSwgZm9yY2UpIDogbGlua3M7CisgIH07CisKKyAgZm9yY2UuaWQg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoaWQgPSBfLCBm
b3JjZSkgOiBpZDsKKyAgfTsKKworICBmb3JjZS5pdGVyYXRpb25zID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGl0ZXJhdGlvbnMgPSArXywgZm9yY2UpIDog
aXRlcmF0aW9uczsKKyAgfTsKKworICBmb3JjZS5zdHJlbmd0aCA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzdHJlbmd0aCA9IHR5cGVvZiBfID09PSAiZnVu
Y3Rpb24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplU3RyZW5ndGgoKSwgZm9yY2Up
IDogc3RyZW5ndGg7CisgIH07CisKKyAgZm9yY2UuZGlzdGFuY2UgPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZGlzdGFuY2UgPSB0eXBlb2YgXyA9PT0gImZ1
bmN0aW9uIiA/IF8gOiBjb25zdGFudCQ3KCtfKSwgaW5pdGlhbGl6ZURpc3RhbmNlKCksIGZvcmNl
KSA6IGRpc3RhbmNlOworICB9OworCisgIHJldHVybiBmb3JjZTsKK30KKworZnVuY3Rpb24geCQx
KGQpIHsKKyAgcmV0dXJuIGQueDsKK30KKworZnVuY3Rpb24geSQxKGQpIHsKKyAgcmV0dXJuIGQu
eTsKK30KKwordmFyIGluaXRpYWxSYWRpdXMgPSAxMCwKKyAgICBpbml0aWFsQW5nbGUgPSBNYXRo
LlBJICogKDMgLSBNYXRoLnNxcnQoNSkpOworCitmdW5jdGlvbiBzaW11bGF0aW9uKG5vZGVzKSB7
CisgIHZhciBzaW11bGF0aW9uLAorICAgICAgYWxwaGEgPSAxLAorICAgICAgYWxwaGFNaW4gPSAw
LjAwMSwKKyAgICAgIGFscGhhRGVjYXkgPSAxIC0gTWF0aC5wb3coYWxwaGFNaW4sIDEgLyAzMDAp
LAorICAgICAgYWxwaGFUYXJnZXQgPSAwLAorICAgICAgdmVsb2NpdHlEZWNheSA9IDAuNiwKKyAg
ICAgIGZvcmNlcyA9IG1hcCQxKCksCisgICAgICBzdGVwcGVyID0gdGltZXIoc3RlcCksCisgICAg
ICBldmVudCA9IGRpc3BhdGNoKCJ0aWNrIiwgImVuZCIpOworCisgIGlmIChub2RlcyA9PSBudWxs
KSBub2RlcyA9IFtdOworCisgIGZ1bmN0aW9uIHN0ZXAoKSB7CisgICAgdGljaygpOworICAgIGV2
ZW50LmNhbGwoInRpY2siLCBzaW11bGF0aW9uKTsKKyAgICBpZiAoYWxwaGEgPCBhbHBoYU1pbikg
eworICAgICAgc3RlcHBlci5zdG9wKCk7CisgICAgICBldmVudC5jYWxsKCJlbmQiLCBzaW11bGF0
aW9uKTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiB0aWNrKGl0ZXJhdGlvbnMpIHsKKyAgICB2
YXIgaSwgbiA9IG5vZGVzLmxlbmd0aCwgbm9kZTsKKworICAgIGlmIChpdGVyYXRpb25zID09PSB1
bmRlZmluZWQpIGl0ZXJhdGlvbnMgPSAxOworCisgICAgZm9yICh2YXIgayA9IDA7IGsgPCBpdGVy
YXRpb25zOyArK2spIHsKKyAgICAgIGFscGhhICs9IChhbHBoYVRhcmdldCAtIGFscGhhKSAqIGFs
cGhhRGVjYXk7CisKKyAgICAgIGZvcmNlcy5lYWNoKGZ1bmN0aW9uIChmb3JjZSkgeworICAgICAg
ICBmb3JjZShhbHBoYSk7CisgICAgICB9KTsKKworICAgICAgZm9yIChpID0gMDsgaSA8IG47ICsr
aSkgeworICAgICAgICBub2RlID0gbm9kZXNbaV07CisgICAgICAgIGlmIChub2RlLmZ4ID09IG51
bGwpIG5vZGUueCArPSBub2RlLnZ4ICo9IHZlbG9jaXR5RGVjYXk7CisgICAgICAgIGVsc2Ugbm9k
ZS54ID0gbm9kZS5meCwgbm9kZS52eCA9IDA7CisgICAgICAgIGlmIChub2RlLmZ5ID09IG51bGwp
IG5vZGUueSArPSBub2RlLnZ5ICo9IHZlbG9jaXR5RGVjYXk7CisgICAgICAgIGVsc2Ugbm9kZS55
ID0gbm9kZS5meSwgbm9kZS52eSA9IDA7CisgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHNp
bXVsYXRpb247CisgIH0KKworICBmdW5jdGlvbiBpbml0aWFsaXplTm9kZXMoKSB7CisgICAgZm9y
ICh2YXIgaSA9IDAsIG4gPSBub2Rlcy5sZW5ndGgsIG5vZGU7IGkgPCBuOyArK2kpIHsKKyAgICAg
IG5vZGUgPSBub2Rlc1tpXSwgbm9kZS5pbmRleCA9IGk7CisgICAgICBpZiAobm9kZS5meCAhPSBu
dWxsKSBub2RlLnggPSBub2RlLmZ4OworICAgICAgaWYgKG5vZGUuZnkgIT0gbnVsbCkgbm9kZS55
ID0gbm9kZS5meTsKKyAgICAgIGlmIChpc05hTihub2RlLngpIHx8IGlzTmFOKG5vZGUueSkpIHsK
KyAgICAgICAgdmFyIHJhZGl1cyA9IGluaXRpYWxSYWRpdXMgKiBNYXRoLnNxcnQoaSksIGFuZ2xl
ID0gaSAqIGluaXRpYWxBbmdsZTsKKyAgICAgICAgbm9kZS54ID0gcmFkaXVzICogTWF0aC5jb3Mo
YW5nbGUpOworICAgICAgICBub2RlLnkgPSByYWRpdXMgKiBNYXRoLnNpbihhbmdsZSk7CisgICAg
ICB9CisgICAgICBpZiAoaXNOYU4obm9kZS52eCkgfHwgaXNOYU4obm9kZS52eSkpIHsKKyAgICAg
ICAgbm9kZS52eCA9IG5vZGUudnkgPSAwOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGZ1bmN0
aW9uIGluaXRpYWxpemVGb3JjZShmb3JjZSkgeworICAgIGlmIChmb3JjZS5pbml0aWFsaXplKSBm
b3JjZS5pbml0aWFsaXplKG5vZGVzKTsKKyAgICByZXR1cm4gZm9yY2U7CisgIH0KKworICBpbml0
aWFsaXplTm9kZXMoKTsKKworICByZXR1cm4gc2ltdWxhdGlvbiA9IHsKKyAgICB0aWNrOiB0aWNr
LAorCisgICAgcmVzdGFydDogZnVuY3Rpb24oKSB7CisgICAgICByZXR1cm4gc3RlcHBlci5yZXN0
YXJ0KHN0ZXApLCBzaW11bGF0aW9uOworICAgIH0sCisKKyAgICBzdG9wOiBmdW5jdGlvbigpIHsK
KyAgICAgIHJldHVybiBzdGVwcGVyLnN0b3AoKSwgc2ltdWxhdGlvbjsKKyAgICB9LAorCisgICAg
bm9kZXM6IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKG5v
ZGVzID0gXywgaW5pdGlhbGl6ZU5vZGVzKCksIGZvcmNlcy5lYWNoKGluaXRpYWxpemVGb3JjZSks
IHNpbXVsYXRpb24pIDogbm9kZXM7CisgICAgfSwKKworICAgIGFscGhhOiBmdW5jdGlvbihfKSB7
CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChhbHBoYSA9ICtfLCBzaW11bGF0aW9u
KSA6IGFscGhhOworICAgIH0sCisKKyAgICBhbHBoYU1pbjogZnVuY3Rpb24oXykgeworICAgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoYWxwaGFNaW4gPSArXywgc2ltdWxhdGlvbikgOiBh
bHBoYU1pbjsKKyAgICB9LAorCisgICAgYWxwaGFEZWNheTogZnVuY3Rpb24oXykgeworICAgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoYWxwaGFEZWNheSA9ICtfLCBzaW11bGF0aW9uKSA6
ICthbHBoYURlY2F5OworICAgIH0sCisKKyAgICBhbHBoYVRhcmdldDogZnVuY3Rpb24oXykgewor
ICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoYWxwaGFUYXJnZXQgPSArXywgc2ltdWxh
dGlvbikgOiBhbHBoYVRhcmdldDsKKyAgICB9LAorCisgICAgdmVsb2NpdHlEZWNheTogZnVuY3Rp
b24oXykgeworICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodmVsb2NpdHlEZWNheSA9
IDEgLSBfLCBzaW11bGF0aW9uKSA6IDEgLSB2ZWxvY2l0eURlY2F5OworICAgIH0sCisKKyAgICBm
b3JjZTogZnVuY3Rpb24obmFtZSwgXykgeworICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PiAxID8gKChfID09IG51bGwgPyBmb3JjZXMucmVtb3ZlKG5hbWUpIDogZm9yY2VzLnNldChuYW1l
LCBpbml0aWFsaXplRm9yY2UoXykpKSwgc2ltdWxhdGlvbikgOiBmb3JjZXMuZ2V0KG5hbWUpOwor
ICAgIH0sCisKKyAgICBmaW5kOiBmdW5jdGlvbih4LCB5LCByYWRpdXMpIHsKKyAgICAgIHZhciBp
ID0gMCwKKyAgICAgICAgICBuID0gbm9kZXMubGVuZ3RoLAorICAgICAgICAgIGR4LAorICAgICAg
ICAgIGR5LAorICAgICAgICAgIGQyLAorICAgICAgICAgIG5vZGUsCisgICAgICAgICAgY2xvc2Vz
dDsKKworICAgICAgaWYgKHJhZGl1cyA9PSBudWxsKSByYWRpdXMgPSBJbmZpbml0eTsKKyAgICAg
IGVsc2UgcmFkaXVzICo9IHJhZGl1czsKKworICAgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkg
eworICAgICAgICBub2RlID0gbm9kZXNbaV07CisgICAgICAgIGR4ID0geCAtIG5vZGUueDsKKyAg
ICAgICAgZHkgPSB5IC0gbm9kZS55OworICAgICAgICBkMiA9IGR4ICogZHggKyBkeSAqIGR5Owor
ICAgICAgICBpZiAoZDIgPCByYWRpdXMpIGNsb3Nlc3QgPSBub2RlLCByYWRpdXMgPSBkMjsKKyAg
ICAgIH0KKworICAgICAgcmV0dXJuIGNsb3Nlc3Q7CisgICAgfSwKKworICAgIG9uOiBmdW5jdGlv
bihuYW1lLCBfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA+IDEgPyAoZXZlbnQu
b24obmFtZSwgXyksIHNpbXVsYXRpb24pIDogZXZlbnQub24obmFtZSk7CisgICAgfQorICB9Owor
fQorCitmdW5jdGlvbiBtYW55Qm9keSgpIHsKKyAgdmFyIG5vZGVzLAorICAgICAgbm9kZSwKKyAg
ICAgIGFscGhhLAorICAgICAgc3RyZW5ndGggPSBjb25zdGFudCQ3KC0zMCksCisgICAgICBzdHJl
bmd0aHMsCisgICAgICBkaXN0YW5jZU1pbjIgPSAxLAorICAgICAgZGlzdGFuY2VNYXgyID0gSW5m
aW5pdHksCisgICAgICB0aGV0YTIgPSAwLjgxOworCisgIGZ1bmN0aW9uIGZvcmNlKF8pIHsKKyAg
ICB2YXIgaSwgbiA9IG5vZGVzLmxlbmd0aCwgdHJlZSA9IHF1YWR0cmVlKG5vZGVzLCB4JDEsIHkk
MSkudmlzaXRBZnRlcihhY2N1bXVsYXRlKTsKKyAgICBmb3IgKGFscGhhID0gXywgaSA9IDA7IGkg
PCBuOyArK2kpIG5vZGUgPSBub2Rlc1tpXSwgdHJlZS52aXNpdChhcHBseSk7CisgIH0KKworICBm
dW5jdGlvbiBpbml0aWFsaXplKCkgeworICAgIGlmICghbm9kZXMpIHJldHVybjsKKyAgICB2YXIg
aSwgbiA9IG5vZGVzLmxlbmd0aCwgbm9kZTsKKyAgICBzdHJlbmd0aHMgPSBuZXcgQXJyYXkobik7
CisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgbm9kZSA9IG5vZGVzW2ldLCBzdHJlbmd0aHNb
bm9kZS5pbmRleF0gPSArc3RyZW5ndGgobm9kZSwgaSwgbm9kZXMpOworICB9CisKKyAgZnVuY3Rp
b24gYWNjdW11bGF0ZShxdWFkKSB7CisgICAgdmFyIHN0cmVuZ3RoID0gMCwgcSwgYywgd2VpZ2h0
ID0gMCwgeCwgeSwgaTsKKworICAgIC8vIEZvciBpbnRlcm5hbCBub2RlcywgYWNjdW11bGF0ZSBm
b3JjZXMgZnJvbSBjaGlsZCBxdWFkcmFudHMuCisgICAgaWYgKHF1YWQubGVuZ3RoKSB7CisgICAg
ICBmb3IgKHggPSB5ID0gaSA9IDA7IGkgPCA0OyArK2kpIHsKKyAgICAgICAgaWYgKChxID0gcXVh
ZFtpXSkgJiYgKGMgPSBNYXRoLmFicyhxLnZhbHVlKSkpIHsKKyAgICAgICAgICBzdHJlbmd0aCAr
PSBxLnZhbHVlLCB3ZWlnaHQgKz0gYywgeCArPSBjICogcS54LCB5ICs9IGMgKiBxLnk7CisgICAg
ICAgIH0KKyAgICAgIH0KKyAgICAgIHF1YWQueCA9IHggLyB3ZWlnaHQ7CisgICAgICBxdWFkLnkg
PSB5IC8gd2VpZ2h0OworICAgIH0KKworICAgIC8vIEZvciBsZWFmIG5vZGVzLCBhY2N1bXVsYXRl
IGZvcmNlcyBmcm9tIGNvaW5jaWRlbnQgcXVhZHJhbnRzLgorICAgIGVsc2UgeworICAgICAgcSA9
IHF1YWQ7CisgICAgICBxLnggPSBxLmRhdGEueDsKKyAgICAgIHEueSA9IHEuZGF0YS55OworICAg
ICAgZG8gc3RyZW5ndGggKz0gc3RyZW5ndGhzW3EuZGF0YS5pbmRleF07CisgICAgICB3aGlsZSAo
cSA9IHEubmV4dCk7CisgICAgfQorCisgICAgcXVhZC52YWx1ZSA9IHN0cmVuZ3RoOworICB9CisK
KyAgZnVuY3Rpb24gYXBwbHkocXVhZCwgeDEsIF8sIHgyKSB7CisgICAgaWYgKCFxdWFkLnZhbHVl
KSByZXR1cm4gdHJ1ZTsKKworICAgIHZhciB4ID0gcXVhZC54IC0gbm9kZS54LAorICAgICAgICB5
ID0gcXVhZC55IC0gbm9kZS55LAorICAgICAgICB3ID0geDIgLSB4MSwKKyAgICAgICAgbCA9IHgg
KiB4ICsgeSAqIHk7CisKKyAgICAvLyBBcHBseSB0aGUgQmFybmVzLUh1dCBhcHByb3hpbWF0aW9u
IGlmIHBvc3NpYmxlLgorICAgIC8vIExpbWl0IGZvcmNlcyBmb3IgdmVyeSBjbG9zZSBub2Rlczsg
cmFuZG9taXplIGRpcmVjdGlvbiBpZiBjb2luY2lkZW50LgorICAgIGlmICh3ICogdyAvIHRoZXRh
MiA8IGwpIHsKKyAgICAgIGlmIChsIDwgZGlzdGFuY2VNYXgyKSB7CisgICAgICAgIGlmICh4ID09
PSAwKSB4ID0gamlnZ2xlKCksIGwgKz0geCAqIHg7CisgICAgICAgIGlmICh5ID09PSAwKSB5ID0g
amlnZ2xlKCksIGwgKz0geSAqIHk7CisgICAgICAgIGlmIChsIDwgZGlzdGFuY2VNaW4yKSBsID0g
TWF0aC5zcXJ0KGRpc3RhbmNlTWluMiAqIGwpOworICAgICAgICBub2RlLnZ4ICs9IHggKiBxdWFk
LnZhbHVlICogYWxwaGEgLyBsOworICAgICAgICBub2RlLnZ5ICs9IHkgKiBxdWFkLnZhbHVlICog
YWxwaGEgLyBsOworICAgICAgfQorICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgLy8g
T3RoZXJ3aXNlLCBwcm9jZXNzIHBvaW50cyBkaXJlY3RseS4KKyAgICBlbHNlIGlmIChxdWFkLmxl
bmd0aCB8fCBsID49IGRpc3RhbmNlTWF4MikgcmV0dXJuOworCisgICAgLy8gTGltaXQgZm9yY2Vz
IGZvciB2ZXJ5IGNsb3NlIG5vZGVzOyByYW5kb21pemUgZGlyZWN0aW9uIGlmIGNvaW5jaWRlbnQu
CisgICAgaWYgKHF1YWQuZGF0YSAhPT0gbm9kZSB8fCBxdWFkLm5leHQpIHsKKyAgICAgIGlmICh4
ID09PSAwKSB4ID0gamlnZ2xlKCksIGwgKz0geCAqIHg7CisgICAgICBpZiAoeSA9PT0gMCkgeSA9
IGppZ2dsZSgpLCBsICs9IHkgKiB5OworICAgICAgaWYgKGwgPCBkaXN0YW5jZU1pbjIpIGwgPSBN
YXRoLnNxcnQoZGlzdGFuY2VNaW4yICogbCk7CisgICAgfQorCisgICAgZG8gaWYgKHF1YWQuZGF0
YSAhPT0gbm9kZSkgeworICAgICAgdyA9IHN0cmVuZ3Roc1txdWFkLmRhdGEuaW5kZXhdICogYWxw
aGEgLyBsOworICAgICAgbm9kZS52eCArPSB4ICogdzsKKyAgICAgIG5vZGUudnkgKz0geSAqIHc7
CisgICAgfSB3aGlsZSAocXVhZCA9IHF1YWQubmV4dCk7CisgIH0KKworICBmb3JjZS5pbml0aWFs
aXplID0gZnVuY3Rpb24oXykgeworICAgIG5vZGVzID0gXzsKKyAgICBpbml0aWFsaXplKCk7Cisg
IH07CisKKyAgZm9yY2Uuc3RyZW5ndGggPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAoc3RyZW5ndGggPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBj
b25zdGFudCQ3KCtfKSwgaW5pdGlhbGl6ZSgpLCBmb3JjZSkgOiBzdHJlbmd0aDsKKyAgfTsKKwor
ICBmb3JjZS5kaXN0YW5jZU1pbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/IChkaXN0YW5jZU1pbjIgPSBfICogXywgZm9yY2UpIDogTWF0aC5zcXJ0KGRpc3Rh
bmNlTWluMik7CisgIH07CisKKyAgZm9yY2UuZGlzdGFuY2VNYXggPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZGlzdGFuY2VNYXgyID0gXyAqIF8sIGZvcmNl
KSA6IE1hdGguc3FydChkaXN0YW5jZU1heDIpOworICB9OworCisgIGZvcmNlLnRoZXRhID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRoZXRhMiA9IF8gKiBf
LCBmb3JjZSkgOiBNYXRoLnNxcnQodGhldGEyKTsKKyAgfTsKKworICByZXR1cm4gZm9yY2U7Cit9
CisKK2Z1bmN0aW9uIHJhZGlhbChyYWRpdXMsIHgsIHkpIHsKKyAgdmFyIG5vZGVzLAorICAgICAg
c3RyZW5ndGggPSBjb25zdGFudCQ3KDAuMSksCisgICAgICBzdHJlbmd0aHMsCisgICAgICByYWRp
dXNlczsKKworICBpZiAodHlwZW9mIHJhZGl1cyAhPT0gImZ1bmN0aW9uIikgcmFkaXVzID0gY29u
c3RhbnQkNygrcmFkaXVzKTsKKyAgaWYgKHggPT0gbnVsbCkgeCA9IDA7CisgIGlmICh5ID09IG51
bGwpIHkgPSAwOworCisgIGZ1bmN0aW9uIGZvcmNlKGFscGhhKSB7CisgICAgZm9yICh2YXIgaSA9
IDAsIG4gPSBub2Rlcy5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICAgIHZhciBub2RlID0gbm9k
ZXNbaV0sCisgICAgICAgICAgZHggPSBub2RlLnggLSB4IHx8IDFlLTYsCisgICAgICAgICAgZHkg
PSBub2RlLnkgLSB5IHx8IDFlLTYsCisgICAgICAgICAgciA9IE1hdGguc3FydChkeCAqIGR4ICsg
ZHkgKiBkeSksCisgICAgICAgICAgayA9IChyYWRpdXNlc1tpXSAtIHIpICogc3RyZW5ndGhzW2ld
ICogYWxwaGEgLyByOworICAgICAgbm9kZS52eCArPSBkeCAqIGs7CisgICAgICBub2RlLnZ5ICs9
IGR5ICogazsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBpbml0aWFsaXplKCkgeworICAgIGlm
ICghbm9kZXMpIHJldHVybjsKKyAgICB2YXIgaSwgbiA9IG5vZGVzLmxlbmd0aDsKKyAgICBzdHJl
bmd0aHMgPSBuZXcgQXJyYXkobik7CisgICAgcmFkaXVzZXMgPSBuZXcgQXJyYXkobik7CisgICAg
Zm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgcmFkaXVzZXNbaV0gPSArcmFkaXVzKG5v
ZGVzW2ldLCBpLCBub2Rlcyk7CisgICAgICBzdHJlbmd0aHNbaV0gPSBpc05hTihyYWRpdXNlc1tp
XSkgPyAwIDogK3N0cmVuZ3RoKG5vZGVzW2ldLCBpLCBub2Rlcyk7CisgICAgfQorICB9CisKKyAg
Zm9yY2UuaW5pdGlhbGl6ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBub2RlcyA9IF8sIGluaXRpYWxp
emUoKTsKKyAgfTsKKworICBmb3JjZS5zdHJlbmd0aCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzdHJlbmd0aCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24i
ID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplKCksIGZvcmNlKSA6IHN0cmVuZ3RoOwor
ICB9OworCisgIGZvcmNlLnJhZGl1cyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/IChyYWRpdXMgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25z
dGFudCQ3KCtfKSwgaW5pdGlhbGl6ZSgpLCBmb3JjZSkgOiByYWRpdXM7CisgIH07CisKKyAgZm9y
Y2UueCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4ID0g
K18sIGZvcmNlKSA6IHg7CisgIH07CisKKyAgZm9yY2UueSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5ID0gK18sIGZvcmNlKSA6IHk7CisgIH07CisKKyAg
cmV0dXJuIGZvcmNlOworfQorCitmdW5jdGlvbiB4JDIoeCkgeworICB2YXIgc3RyZW5ndGggPSBj
b25zdGFudCQ3KDAuMSksCisgICAgICBub2RlcywKKyAgICAgIHN0cmVuZ3RocywKKyAgICAgIHh6
OworCisgIGlmICh0eXBlb2YgeCAhPT0gImZ1bmN0aW9uIikgeCA9IGNvbnN0YW50JDcoeCA9PSBu
dWxsID8gMCA6ICt4KTsKKworICBmdW5jdGlvbiBmb3JjZShhbHBoYSkgeworICAgIGZvciAodmFy
IGkgPSAwLCBuID0gbm9kZXMubGVuZ3RoLCBub2RlOyBpIDwgbjsgKytpKSB7CisgICAgICBub2Rl
ID0gbm9kZXNbaV0sIG5vZGUudnggKz0gKHh6W2ldIC0gbm9kZS54KSAqIHN0cmVuZ3Roc1tpXSAq
IGFscGhhOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemUoKSB7CisgICAgaWYg
KCFub2RlcykgcmV0dXJuOworICAgIHZhciBpLCBuID0gbm9kZXMubGVuZ3RoOworICAgIHN0cmVu
Z3RocyA9IG5ldyBBcnJheShuKTsKKyAgICB4eiA9IG5ldyBBcnJheShuKTsKKyAgICBmb3IgKGkg
PSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBzdHJlbmd0aHNbaV0gPSBpc05hTih4eltpXSA9ICt4
KG5vZGVzW2ldLCBpLCBub2RlcykpID8gMCA6ICtzdHJlbmd0aChub2Rlc1tpXSwgaSwgbm9kZXMp
OworICAgIH0KKyAgfQorCisgIGZvcmNlLmluaXRpYWxpemUgPSBmdW5jdGlvbihfKSB7CisgICAg
bm9kZXMgPSBfOworICAgIGluaXRpYWxpemUoKTsKKyAgfTsKKworICBmb3JjZS5zdHJlbmd0aCA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzdHJlbmd0aCA9
IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXpl
KCksIGZvcmNlKSA6IHN0cmVuZ3RoOworICB9OworCisgIGZvcmNlLnggPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeCA9IHR5cGVvZiBfID09PSAiZnVuY3Rp
b24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplKCksIGZvcmNlKSA6IHg7CisgIH07
CisKKyAgcmV0dXJuIGZvcmNlOworfQorCitmdW5jdGlvbiB5JDIoeSkgeworICB2YXIgc3RyZW5n
dGggPSBjb25zdGFudCQ3KDAuMSksCisgICAgICBub2RlcywKKyAgICAgIHN0cmVuZ3RocywKKyAg
ICAgIHl6OworCisgIGlmICh0eXBlb2YgeSAhPT0gImZ1bmN0aW9uIikgeSA9IGNvbnN0YW50JDco
eSA9PSBudWxsID8gMCA6ICt5KTsKKworICBmdW5jdGlvbiBmb3JjZShhbHBoYSkgeworICAgIGZv
ciAodmFyIGkgPSAwLCBuID0gbm9kZXMubGVuZ3RoLCBub2RlOyBpIDwgbjsgKytpKSB7CisgICAg
ICBub2RlID0gbm9kZXNbaV0sIG5vZGUudnkgKz0gKHl6W2ldIC0gbm9kZS55KSAqIHN0cmVuZ3Ro
c1tpXSAqIGFscGhhOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemUoKSB7Cisg
ICAgaWYgKCFub2RlcykgcmV0dXJuOworICAgIHZhciBpLCBuID0gbm9kZXMubGVuZ3RoOworICAg
IHN0cmVuZ3RocyA9IG5ldyBBcnJheShuKTsKKyAgICB5eiA9IG5ldyBBcnJheShuKTsKKyAgICBm
b3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBzdHJlbmd0aHNbaV0gPSBpc05hTih5eltp
XSA9ICt5KG5vZGVzW2ldLCBpLCBub2RlcykpID8gMCA6ICtzdHJlbmd0aChub2Rlc1tpXSwgaSwg
bm9kZXMpOworICAgIH0KKyAgfQorCisgIGZvcmNlLmluaXRpYWxpemUgPSBmdW5jdGlvbihfKSB7
CisgICAgbm9kZXMgPSBfOworICAgIGluaXRpYWxpemUoKTsKKyAgfTsKKworICBmb3JjZS5zdHJl
bmd0aCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzdHJl
bmd0aCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0
aWFsaXplKCksIGZvcmNlKSA6IHN0cmVuZ3RoOworICB9OworCisgIGZvcmNlLnkgPSBmdW5jdGlv
bihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeSA9IHR5cGVvZiBfID09PSAi
ZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplKCksIGZvcmNlKSA6IHk7
CisgIH07CisKKyAgcmV0dXJuIGZvcmNlOworfQorCisvLyBDb21wdXRlcyB0aGUgZGVjaW1hbCBj
b2VmZmljaWVudCBhbmQgZXhwb25lbnQgb2YgdGhlIHNwZWNpZmllZCBudW1iZXIgeCB3aXRoCisv
LyBzaWduaWZpY2FudCBkaWdpdHMgcCwgd2hlcmUgeCBpcyBwb3NpdGl2ZSBhbmQgcCBpcyBpbiBb
MSwgMjFdIG9yIHVuZGVmaW5lZC4KKy8vIEZvciBleGFtcGxlLCBmb3JtYXREZWNpbWFsKDEuMjMp
IHJldHVybnMgWyIxMjMiLCAwXS4KK2Z1bmN0aW9uIGZvcm1hdERlY2ltYWwoeCwgcCkgeworICBp
ZiAoKGkgPSAoeCA9IHAgPyB4LnRvRXhwb25lbnRpYWwocCAtIDEpIDogeC50b0V4cG9uZW50aWFs
KCkpLmluZGV4T2YoImUiKSkgPCAwKSByZXR1cm4gbnVsbDsgLy8gTmFOLCDCsUluZmluaXR5Cisg
IHZhciBpLCBjb2VmZmljaWVudCA9IHguc2xpY2UoMCwgaSk7CisKKyAgLy8gVGhlIHN0cmluZyBy
ZXR1cm5lZCBieSB0b0V4cG9uZW50aWFsIGVpdGhlciBoYXMgdGhlIGZvcm0gXGRcLlxkK2VbLStd
XGQrCisgIC8vIChlLmcuLCAxLjJlKzMpIG9yIHRoZSBmb3JtIFxkZVstK11cZCsgKGUuZy4sIDFl
KzMpLgorICByZXR1cm4gWworICAgIGNvZWZmaWNpZW50Lmxlbmd0aCA+IDEgPyBjb2VmZmljaWVu
dFswXSArIGNvZWZmaWNpZW50LnNsaWNlKDIpIDogY29lZmZpY2llbnQsCisgICAgK3guc2xpY2Uo
aSArIDEpCisgIF07Cit9CisKK2Z1bmN0aW9uIGV4cG9uZW50JDEoeCkgeworICByZXR1cm4geCA9
IGZvcm1hdERlY2ltYWwoTWF0aC5hYnMoeCkpLCB4ID8geFsxXSA6IE5hTjsKK30KKworZnVuY3Rp
b24gZm9ybWF0R3JvdXAoZ3JvdXBpbmcsIHRob3VzYW5kcykgeworICByZXR1cm4gZnVuY3Rpb24o
dmFsdWUsIHdpZHRoKSB7CisgICAgdmFyIGkgPSB2YWx1ZS5sZW5ndGgsCisgICAgICAgIHQgPSBb
XSwKKyAgICAgICAgaiA9IDAsCisgICAgICAgIGcgPSBncm91cGluZ1swXSwKKyAgICAgICAgbGVu
Z3RoID0gMDsKKworICAgIHdoaWxlIChpID4gMCAmJiBnID4gMCkgeworICAgICAgaWYgKGxlbmd0
aCArIGcgKyAxID4gd2lkdGgpIGcgPSBNYXRoLm1heCgxLCB3aWR0aCAtIGxlbmd0aCk7CisgICAg
ICB0LnB1c2godmFsdWUuc3Vic3RyaW5nKGkgLT0gZywgaSArIGcpKTsKKyAgICAgIGlmICgobGVu
Z3RoICs9IGcgKyAxKSA+IHdpZHRoKSBicmVhazsKKyAgICAgIGcgPSBncm91cGluZ1tqID0gKGog
KyAxKSAlIGdyb3VwaW5nLmxlbmd0aF07CisgICAgfQorCisgICAgcmV0dXJuIHQucmV2ZXJzZSgp
LmpvaW4odGhvdXNhbmRzKTsKKyAgfTsKK30KKworZnVuY3Rpb24gZm9ybWF0TnVtZXJhbHMobnVt
ZXJhbHMpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVlLnJl
cGxhY2UoL1swLTldL2csIGZ1bmN0aW9uKGkpIHsKKyAgICAgIHJldHVybiBudW1lcmFsc1sraV07
CisgICAgfSk7CisgIH07Cit9CisKKy8vIFtbZmlsbF1hbGlnbl1bc2lnbl1bc3ltYm9sXVswXVt3
aWR0aF1bLF1bLnByZWNpc2lvbl1bfl1bdHlwZV0KK3ZhciByZSA9IC9eKD86KC4pPyhbPD49Xl0p
KT8oWytcLSggXSk/KFskI10pPygwKT8oXGQrKT8oLCk/KFwuXGQrKT8ofik/KFthLXolXSk/JC9p
OworCitmdW5jdGlvbiBmb3JtYXRTcGVjaWZpZXIoc3BlY2lmaWVyKSB7CisgIGlmICghKG1hdGNo
ID0gcmUuZXhlYyhzcGVjaWZpZXIpKSkgdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGZvcm1hdDog
IiArIHNwZWNpZmllcik7CisgIHZhciBtYXRjaDsKKyAgcmV0dXJuIG5ldyBGb3JtYXRTcGVjaWZp
ZXIoeworICAgIGZpbGw6IG1hdGNoWzFdLAorICAgIGFsaWduOiBtYXRjaFsyXSwKKyAgICBzaWdu
OiBtYXRjaFszXSwKKyAgICBzeW1ib2w6IG1hdGNoWzRdLAorICAgIHplcm86IG1hdGNoWzVdLAor
ICAgIHdpZHRoOiBtYXRjaFs2XSwKKyAgICBjb21tYTogbWF0Y2hbN10sCisgICAgcHJlY2lzaW9u
OiBtYXRjaFs4XSAmJiBtYXRjaFs4XS5zbGljZSgxKSwKKyAgICB0cmltOiBtYXRjaFs5XSwKKyAg
ICB0eXBlOiBtYXRjaFsxMF0KKyAgfSk7Cit9CisKK2Zvcm1hdFNwZWNpZmllci5wcm90b3R5cGUg
PSBGb3JtYXRTcGVjaWZpZXIucHJvdG90eXBlOyAvLyBpbnN0YW5jZW9mCisKK2Z1bmN0aW9uIEZv
cm1hdFNwZWNpZmllcihzcGVjaWZpZXIpIHsKKyAgdGhpcy5maWxsID0gc3BlY2lmaWVyLmZpbGwg
PT09IHVuZGVmaW5lZCA/ICIgIiA6IHNwZWNpZmllci5maWxsICsgIiI7CisgIHRoaXMuYWxpZ24g
PSBzcGVjaWZpZXIuYWxpZ24gPT09IHVuZGVmaW5lZCA/ICI+IiA6IHNwZWNpZmllci5hbGlnbiAr
ICIiOworICB0aGlzLnNpZ24gPSBzcGVjaWZpZXIuc2lnbiA9PT0gdW5kZWZpbmVkID8gIi0iIDog
c3BlY2lmaWVyLnNpZ24gKyAiIjsKKyAgdGhpcy5zeW1ib2wgPSBzcGVjaWZpZXIuc3ltYm9sID09
PSB1bmRlZmluZWQgPyAiIiA6IHNwZWNpZmllci5zeW1ib2wgKyAiIjsKKyAgdGhpcy56ZXJvID0g
ISFzcGVjaWZpZXIuemVybzsKKyAgdGhpcy53aWR0aCA9IHNwZWNpZmllci53aWR0aCA9PT0gdW5k
ZWZpbmVkID8gdW5kZWZpbmVkIDogK3NwZWNpZmllci53aWR0aDsKKyAgdGhpcy5jb21tYSA9ICEh
c3BlY2lmaWVyLmNvbW1hOworICB0aGlzLnByZWNpc2lvbiA9IHNwZWNpZmllci5wcmVjaXNpb24g
PT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6ICtzcGVjaWZpZXIucHJlY2lzaW9uOworICB0aGlz
LnRyaW0gPSAhIXNwZWNpZmllci50cmltOworICB0aGlzLnR5cGUgPSBzcGVjaWZpZXIudHlwZSA9
PT0gdW5kZWZpbmVkID8gIiIgOiBzcGVjaWZpZXIudHlwZSArICIiOworfQorCitGb3JtYXRTcGVj
aWZpZXIucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7CisgIHJldHVybiB0aGlzLmZp
bGwKKyAgICAgICsgdGhpcy5hbGlnbgorICAgICAgKyB0aGlzLnNpZ24KKyAgICAgICsgdGhpcy5z
eW1ib2wKKyAgICAgICsgKHRoaXMuemVybyA/ICIwIiA6ICIiKQorICAgICAgKyAodGhpcy53aWR0
aCA9PT0gdW5kZWZpbmVkID8gIiIgOiBNYXRoLm1heCgxLCB0aGlzLndpZHRoIHwgMCkpCisgICAg
ICArICh0aGlzLmNvbW1hID8gIiwiIDogIiIpCisgICAgICArICh0aGlzLnByZWNpc2lvbiA9PT0g
dW5kZWZpbmVkID8gIiIgOiAiLiIgKyBNYXRoLm1heCgwLCB0aGlzLnByZWNpc2lvbiB8IDApKQor
ICAgICAgKyAodGhpcy50cmltID8gIn4iIDogIiIpCisgICAgICArIHRoaXMudHlwZTsKK307CisK
Ky8vIFRyaW1zIGluc2lnbmlmaWNhbnQgemVyb3MsIGUuZy4sIHJlcGxhY2VzIDEuMjAwMGsgd2l0
aCAxLjJrLgorZnVuY3Rpb24gZm9ybWF0VHJpbShzKSB7CisgIG91dDogZm9yICh2YXIgbiA9IHMu
bGVuZ3RoLCBpID0gMSwgaTAgPSAtMSwgaTE7IGkgPCBuOyArK2kpIHsKKyAgICBzd2l0Y2ggKHNb
aV0pIHsKKyAgICAgIGNhc2UgIi4iOiBpMCA9IGkxID0gaTsgYnJlYWs7CisgICAgICBjYXNlICIw
IjogaWYgKGkwID09PSAwKSBpMCA9IGk7IGkxID0gaTsgYnJlYWs7CisgICAgICBkZWZhdWx0OiBp
ZiAoaTAgPiAwKSB7IGlmICghK3NbaV0pIGJyZWFrIG91dDsgaTAgPSAwOyB9IGJyZWFrOworICAg
IH0KKyAgfQorICByZXR1cm4gaTAgPiAwID8gcy5zbGljZSgwLCBpMCkgKyBzLnNsaWNlKGkxICsg
MSkgOiBzOworfQorCit2YXIgcHJlZml4RXhwb25lbnQ7CisKK2Z1bmN0aW9uIGZvcm1hdFByZWZp
eEF1dG8oeCwgcCkgeworICB2YXIgZCA9IGZvcm1hdERlY2ltYWwoeCwgcCk7CisgIGlmICghZCkg
cmV0dXJuIHggKyAiIjsKKyAgdmFyIGNvZWZmaWNpZW50ID0gZFswXSwKKyAgICAgIGV4cG9uZW50
ID0gZFsxXSwKKyAgICAgIGkgPSBleHBvbmVudCAtIChwcmVmaXhFeHBvbmVudCA9IE1hdGgubWF4
KC04LCBNYXRoLm1pbig4LCBNYXRoLmZsb29yKGV4cG9uZW50IC8gMykpKSAqIDMpICsgMSwKKyAg
ICAgIG4gPSBjb2VmZmljaWVudC5sZW5ndGg7CisgIHJldHVybiBpID09PSBuID8gY29lZmZpY2ll
bnQKKyAgICAgIDogaSA+IG4gPyBjb2VmZmljaWVudCArIG5ldyBBcnJheShpIC0gbiArIDEpLmpv
aW4oIjAiKQorICAgICAgOiBpID4gMCA/IGNvZWZmaWNpZW50LnNsaWNlKDAsIGkpICsgIi4iICsg
Y29lZmZpY2llbnQuc2xpY2UoaSkKKyAgICAgIDogIjAuIiArIG5ldyBBcnJheSgxIC0gaSkuam9p
bigiMCIpICsgZm9ybWF0RGVjaW1hbCh4LCBNYXRoLm1heCgwLCBwICsgaSAtIDEpKVswXTsgLy8g
bGVzcyB0aGFuIDF5IQorfQorCitmdW5jdGlvbiBmb3JtYXRSb3VuZGVkKHgsIHApIHsKKyAgdmFy
IGQgPSBmb3JtYXREZWNpbWFsKHgsIHApOworICBpZiAoIWQpIHJldHVybiB4ICsgIiI7CisgIHZh
ciBjb2VmZmljaWVudCA9IGRbMF0sCisgICAgICBleHBvbmVudCA9IGRbMV07CisgIHJldHVybiBl
eHBvbmVudCA8IDAgPyAiMC4iICsgbmV3IEFycmF5KC1leHBvbmVudCkuam9pbigiMCIpICsgY29l
ZmZpY2llbnQKKyAgICAgIDogY29lZmZpY2llbnQubGVuZ3RoID4gZXhwb25lbnQgKyAxID8gY29l
ZmZpY2llbnQuc2xpY2UoMCwgZXhwb25lbnQgKyAxKSArICIuIiArIGNvZWZmaWNpZW50LnNsaWNl
KGV4cG9uZW50ICsgMSkKKyAgICAgIDogY29lZmZpY2llbnQgKyBuZXcgQXJyYXkoZXhwb25lbnQg
LSBjb2VmZmljaWVudC5sZW5ndGggKyAyKS5qb2luKCIwIik7Cit9CisKK3ZhciBmb3JtYXRUeXBl
cyA9IHsKKyAgIiUiOiBmdW5jdGlvbih4LCBwKSB7IHJldHVybiAoeCAqIDEwMCkudG9GaXhlZChw
KTsgfSwKKyAgImIiOiBmdW5jdGlvbih4KSB7IHJldHVybiBNYXRoLnJvdW5kKHgpLnRvU3RyaW5n
KDIpOyB9LAorICAiYyI6IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIHggKyAiIjsgfSwKKyAgImQiOiBm
dW5jdGlvbih4KSB7IHJldHVybiBNYXRoLnJvdW5kKHgpLnRvU3RyaW5nKDEwKTsgfSwKKyAgImUi
OiBmdW5jdGlvbih4LCBwKSB7IHJldHVybiB4LnRvRXhwb25lbnRpYWwocCk7IH0sCisgICJmIjog
ZnVuY3Rpb24oeCwgcCkgeyByZXR1cm4geC50b0ZpeGVkKHApOyB9LAorICAiZyI6IGZ1bmN0aW9u
KHgsIHApIHsgcmV0dXJuIHgudG9QcmVjaXNpb24ocCk7IH0sCisgICJvIjogZnVuY3Rpb24oeCkg
eyByZXR1cm4gTWF0aC5yb3VuZCh4KS50b1N0cmluZyg4KTsgfSwKKyAgInAiOiBmdW5jdGlvbih4
LCBwKSB7IHJldHVybiBmb3JtYXRSb3VuZGVkKHggKiAxMDAsIHApOyB9LAorICAiciI6IGZvcm1h
dFJvdW5kZWQsCisgICJzIjogZm9ybWF0UHJlZml4QXV0bywKKyAgIlgiOiBmdW5jdGlvbih4KSB7
IHJldHVybiBNYXRoLnJvdW5kKHgpLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpOyB9LAorICAi
eCI6IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIE1hdGgucm91bmQoeCkudG9TdHJpbmcoMTYpOyB9Cit9
OworCitmdW5jdGlvbiBpZGVudGl0eSQzKHgpIHsKKyAgcmV0dXJuIHg7Cit9CisKK3ZhciBtYXAk
MiA9IEFycmF5LnByb3RvdHlwZS5tYXAsCisgICAgcHJlZml4ZXMgPSBbInkiLCJ6IiwiYSIsImYi
LCJwIiwibiIsIlx4QjUiLCJtIiwiIiwiayIsIk0iLCJHIiwiVCIsIlAiLCJFIiwiWiIsIlkiXTsK
KworZnVuY3Rpb24gZm9ybWF0TG9jYWxlKGxvY2FsZSkgeworICB2YXIgZ3JvdXAgPSBsb2NhbGUu
Z3JvdXBpbmcgPT09IHVuZGVmaW5lZCB8fCBsb2NhbGUudGhvdXNhbmRzID09PSB1bmRlZmluZWQg
PyBpZGVudGl0eSQzIDogZm9ybWF0R3JvdXAobWFwJDIuY2FsbChsb2NhbGUuZ3JvdXBpbmcsIE51
bWJlciksIGxvY2FsZS50aG91c2FuZHMgKyAiIiksCisgICAgICBjdXJyZW5jeVByZWZpeCA9IGxv
Y2FsZS5jdXJyZW5jeSA9PT0gdW5kZWZpbmVkID8gIiIgOiBsb2NhbGUuY3VycmVuY3lbMF0gKyAi
IiwKKyAgICAgIGN1cnJlbmN5U3VmZml4ID0gbG9jYWxlLmN1cnJlbmN5ID09PSB1bmRlZmluZWQg
PyAiIiA6IGxvY2FsZS5jdXJyZW5jeVsxXSArICIiLAorICAgICAgZGVjaW1hbCA9IGxvY2FsZS5k
ZWNpbWFsID09PSB1bmRlZmluZWQgPyAiLiIgOiBsb2NhbGUuZGVjaW1hbCArICIiLAorICAgICAg
bnVtZXJhbHMgPSBsb2NhbGUubnVtZXJhbHMgPT09IHVuZGVmaW5lZCA/IGlkZW50aXR5JDMgOiBm
b3JtYXROdW1lcmFscyhtYXAkMi5jYWxsKGxvY2FsZS5udW1lcmFscywgU3RyaW5nKSksCisgICAg
ICBwZXJjZW50ID0gbG9jYWxlLnBlcmNlbnQgPT09IHVuZGVmaW5lZCA/ICIlIiA6IGxvY2FsZS5w
ZXJjZW50ICsgIiIsCisgICAgICBtaW51cyA9IGxvY2FsZS5taW51cyA9PT0gdW5kZWZpbmVkID8g
Ii0iIDogbG9jYWxlLm1pbnVzICsgIiIsCisgICAgICBuYW4gPSBsb2NhbGUubmFuID09PSB1bmRl
ZmluZWQgPyAiTmFOIiA6IGxvY2FsZS5uYW4gKyAiIjsKKworICBmdW5jdGlvbiBuZXdGb3JtYXQo
c3BlY2lmaWVyKSB7CisgICAgc3BlY2lmaWVyID0gZm9ybWF0U3BlY2lmaWVyKHNwZWNpZmllcik7
CisKKyAgICB2YXIgZmlsbCA9IHNwZWNpZmllci5maWxsLAorICAgICAgICBhbGlnbiA9IHNwZWNp
Zmllci5hbGlnbiwKKyAgICAgICAgc2lnbiA9IHNwZWNpZmllci5zaWduLAorICAgICAgICBzeW1i
b2wgPSBzcGVjaWZpZXIuc3ltYm9sLAorICAgICAgICB6ZXJvID0gc3BlY2lmaWVyLnplcm8sCisg
ICAgICAgIHdpZHRoID0gc3BlY2lmaWVyLndpZHRoLAorICAgICAgICBjb21tYSA9IHNwZWNpZmll
ci5jb21tYSwKKyAgICAgICAgcHJlY2lzaW9uID0gc3BlY2lmaWVyLnByZWNpc2lvbiwKKyAgICAg
ICAgdHJpbSA9IHNwZWNpZmllci50cmltLAorICAgICAgICB0eXBlID0gc3BlY2lmaWVyLnR5cGU7
CisKKyAgICAvLyBUaGUgIm4iIHR5cGUgaXMgYW4gYWxpYXMgZm9yICIsZyIuCisgICAgaWYgKHR5
cGUgPT09ICJuIikgY29tbWEgPSB0cnVlLCB0eXBlID0gImciOworCisgICAgLy8gVGhlICIiIHR5
cGUsIGFuZCBhbnkgaW52YWxpZCB0eXBlLCBpcyBhbiBhbGlhcyBmb3IgIi4xMn5nIi4KKyAgICBl
bHNlIGlmICghZm9ybWF0VHlwZXNbdHlwZV0pIHByZWNpc2lvbiA9PT0gdW5kZWZpbmVkICYmIChw
cmVjaXNpb24gPSAxMiksIHRyaW0gPSB0cnVlLCB0eXBlID0gImciOworCisgICAgLy8gSWYgemVy
byBmaWxsIGlzIHNwZWNpZmllZCwgcGFkZGluZyBnb2VzIGFmdGVyIHNpZ24gYW5kIGJlZm9yZSBk
aWdpdHMuCisgICAgaWYgKHplcm8gfHwgKGZpbGwgPT09ICIwIiAmJiBhbGlnbiA9PT0gIj0iKSkg
emVybyA9IHRydWUsIGZpbGwgPSAiMCIsIGFsaWduID0gIj0iOworCisgICAgLy8gQ29tcHV0ZSB0
aGUgcHJlZml4IGFuZCBzdWZmaXguCisgICAgLy8gRm9yIFNJLXByZWZpeCwgdGhlIHN1ZmZpeCBp
cyBsYXppbHkgY29tcHV0ZWQuCisgICAgdmFyIHByZWZpeCA9IHN5bWJvbCA9PT0gIiQiID8gY3Vy
cmVuY3lQcmVmaXggOiBzeW1ib2wgPT09ICIjIiAmJiAvW2JveFhdLy50ZXN0KHR5cGUpID8gIjAi
ICsgdHlwZS50b0xvd2VyQ2FzZSgpIDogIiIsCisgICAgICAgIHN1ZmZpeCA9IHN5bWJvbCA9PT0g
IiQiID8gY3VycmVuY3lTdWZmaXggOiAvWyVwXS8udGVzdCh0eXBlKSA/IHBlcmNlbnQgOiAiIjsK
KworICAgIC8vIFdoYXQgZm9ybWF0IGZ1bmN0aW9uIHNob3VsZCB3ZSB1c2U/CisgICAgLy8gSXMg
dGhpcyBhbiBpbnRlZ2VyIHR5cGU/CisgICAgLy8gQ2FuIHRoaXMgdHlwZSBnZW5lcmF0ZSBleHBv
bmVudGlhbCBub3RhdGlvbj8KKyAgICB2YXIgZm9ybWF0VHlwZSA9IGZvcm1hdFR5cGVzW3R5cGVd
LAorICAgICAgICBtYXliZVN1ZmZpeCA9IC9bZGVmZ3BycyVdLy50ZXN0KHR5cGUpOworCisgICAg
Ly8gU2V0IHRoZSBkZWZhdWx0IHByZWNpc2lvbiBpZiBub3Qgc3BlY2lmaWVkLAorICAgIC8vIG9y
IGNsYW1wIHRoZSBzcGVjaWZpZWQgcHJlY2lzaW9uIHRvIHRoZSBzdXBwb3J0ZWQgcmFuZ2UuCisg
ICAgLy8gRm9yIHNpZ25pZmljYW50IHByZWNpc2lvbiwgaXQgbXVzdCBiZSBpbiBbMSwgMjFdLgor
ICAgIC8vIEZvciBmaXhlZCBwcmVjaXNpb24sIGl0IG11c3QgYmUgaW4gWzAsIDIwXS4KKyAgICBw
cmVjaXNpb24gPSBwcmVjaXNpb24gPT09IHVuZGVmaW5lZCA/IDYKKyAgICAgICAgOiAvW2dwcnNd
Ly50ZXN0KHR5cGUpID8gTWF0aC5tYXgoMSwgTWF0aC5taW4oMjEsIHByZWNpc2lvbikpCisgICAg
ICAgIDogTWF0aC5tYXgoMCwgTWF0aC5taW4oMjAsIHByZWNpc2lvbikpOworCisgICAgZnVuY3Rp
b24gZm9ybWF0KHZhbHVlKSB7CisgICAgICB2YXIgdmFsdWVQcmVmaXggPSBwcmVmaXgsCisgICAg
ICAgICAgdmFsdWVTdWZmaXggPSBzdWZmaXgsCisgICAgICAgICAgaSwgbiwgYzsKKworICAgICAg
aWYgKHR5cGUgPT09ICJjIikgeworICAgICAgICB2YWx1ZVN1ZmZpeCA9IGZvcm1hdFR5cGUodmFs
dWUpICsgdmFsdWVTdWZmaXg7CisgICAgICAgIHZhbHVlID0gIiI7CisgICAgICB9IGVsc2Ugewor
ICAgICAgICB2YWx1ZSA9ICt2YWx1ZTsKKworICAgICAgICAvLyBQZXJmb3JtIHRoZSBpbml0aWFs
IGZvcm1hdHRpbmcuCisgICAgICAgIHZhciB2YWx1ZU5lZ2F0aXZlID0gdmFsdWUgPCAwOworICAg
ICAgICB2YWx1ZSA9IGlzTmFOKHZhbHVlKSA/IG5hbiA6IGZvcm1hdFR5cGUoTWF0aC5hYnModmFs
dWUpLCBwcmVjaXNpb24pOworCisgICAgICAgIC8vIFRyaW0gaW5zaWduaWZpY2FudCB6ZXJvcy4K
KyAgICAgICAgaWYgKHRyaW0pIHZhbHVlID0gZm9ybWF0VHJpbSh2YWx1ZSk7CisKKyAgICAgICAg
Ly8gSWYgYSBuZWdhdGl2ZSB2YWx1ZSByb3VuZHMgdG8gemVybyBkdXJpbmcgZm9ybWF0dGluZywg
dHJlYXQgYXMgcG9zaXRpdmUuCisgICAgICAgIGlmICh2YWx1ZU5lZ2F0aXZlICYmICt2YWx1ZSA9
PT0gMCkgdmFsdWVOZWdhdGl2ZSA9IGZhbHNlOworCisgICAgICAgIC8vIENvbXB1dGUgdGhlIHBy
ZWZpeCBhbmQgc3VmZml4LgorICAgICAgICB2YWx1ZVByZWZpeCA9ICh2YWx1ZU5lZ2F0aXZlID8g
KHNpZ24gPT09ICIoIiA/IHNpZ24gOiBtaW51cykgOiBzaWduID09PSAiLSIgfHwgc2lnbiA9PT0g
IigiID8gIiIgOiBzaWduKSArIHZhbHVlUHJlZml4OworCisgICAgICAgIHZhbHVlU3VmZml4ID0g
KHR5cGUgPT09ICJzIiA/IHByZWZpeGVzWzggKyBwcmVmaXhFeHBvbmVudCAvIDNdIDogIiIpICsg
dmFsdWVTdWZmaXggKyAodmFsdWVOZWdhdGl2ZSAmJiBzaWduID09PSAiKCIgPyAiKSIgOiAiIik7
CisKKyAgICAgICAgLy8gQnJlYWsgdGhlIGZvcm1hdHRlZCB2YWx1ZSBpbnRvIHRoZSBpbnRlZ2Vy
IOKAnHZhbHVl4oCdIHBhcnQgdGhhdCBjYW4gYmUKKyAgICAgICAgLy8gZ3JvdXBlZCwgYW5kIGZy
YWN0aW9uYWwgb3IgZXhwb25lbnRpYWwg4oCcc3VmZml44oCdIHBhcnQgdGhhdCBpcyBub3QuCisg
ICAgICAgIGlmIChtYXliZVN1ZmZpeCkgeworICAgICAgICAgIGkgPSAtMSwgbiA9IHZhbHVlLmxl
bmd0aDsKKyAgICAgICAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgICAgICAgaWYgKGMgPSB2
YWx1ZS5jaGFyQ29kZUF0KGkpLCA0OCA+IGMgfHwgYyA+IDU3KSB7CisgICAgICAgICAgICAgIHZh
bHVlU3VmZml4ID0gKGMgPT09IDQ2ID8gZGVjaW1hbCArIHZhbHVlLnNsaWNlKGkgKyAxKSA6IHZh
bHVlLnNsaWNlKGkpKSArIHZhbHVlU3VmZml4OworICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVl
LnNsaWNlKDAsIGkpOworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgLy8gSWYgdGhlIGZpbGwgY2hhcmFj
dGVyIGlzIG5vdCAiMCIsIGdyb3VwaW5nIGlzIGFwcGxpZWQgYmVmb3JlIHBhZGRpbmcuCisgICAg
ICBpZiAoY29tbWEgJiYgIXplcm8pIHZhbHVlID0gZ3JvdXAodmFsdWUsIEluZmluaXR5KTsKKwor
ICAgICAgLy8gQ29tcHV0ZSB0aGUgcGFkZGluZy4KKyAgICAgIHZhciBsZW5ndGggPSB2YWx1ZVBy
ZWZpeC5sZW5ndGggKyB2YWx1ZS5sZW5ndGggKyB2YWx1ZVN1ZmZpeC5sZW5ndGgsCisgICAgICAg
ICAgcGFkZGluZyA9IGxlbmd0aCA8IHdpZHRoID8gbmV3IEFycmF5KHdpZHRoIC0gbGVuZ3RoICsg
MSkuam9pbihmaWxsKSA6ICIiOworCisgICAgICAvLyBJZiB0aGUgZmlsbCBjaGFyYWN0ZXIgaXMg
IjAiLCBncm91cGluZyBpcyBhcHBsaWVkIGFmdGVyIHBhZGRpbmcuCisgICAgICBpZiAoY29tbWEg
JiYgemVybykgdmFsdWUgPSBncm91cChwYWRkaW5nICsgdmFsdWUsIHBhZGRpbmcubGVuZ3RoID8g
d2lkdGggLSB2YWx1ZVN1ZmZpeC5sZW5ndGggOiBJbmZpbml0eSksIHBhZGRpbmcgPSAiIjsKKwor
ICAgICAgLy8gUmVjb25zdHJ1Y3QgdGhlIGZpbmFsIG91dHB1dCBiYXNlZCBvbiB0aGUgZGVzaXJl
ZCBhbGlnbm1lbnQuCisgICAgICBzd2l0Y2ggKGFsaWduKSB7CisgICAgICAgIGNhc2UgIjwiOiB2
YWx1ZSA9IHZhbHVlUHJlZml4ICsgdmFsdWUgKyB2YWx1ZVN1ZmZpeCArIHBhZGRpbmc7IGJyZWFr
OworICAgICAgICBjYXNlICI9IjogdmFsdWUgPSB2YWx1ZVByZWZpeCArIHBhZGRpbmcgKyB2YWx1
ZSArIHZhbHVlU3VmZml4OyBicmVhazsKKyAgICAgICAgY2FzZSAiXiI6IHZhbHVlID0gcGFkZGlu
Zy5zbGljZSgwLCBsZW5ndGggPSBwYWRkaW5nLmxlbmd0aCA+PiAxKSArIHZhbHVlUHJlZml4ICsg
dmFsdWUgKyB2YWx1ZVN1ZmZpeCArIHBhZGRpbmcuc2xpY2UobGVuZ3RoKTsgYnJlYWs7CisgICAg
ICAgIGRlZmF1bHQ6IHZhbHVlID0gcGFkZGluZyArIHZhbHVlUHJlZml4ICsgdmFsdWUgKyB2YWx1
ZVN1ZmZpeDsgYnJlYWs7CisgICAgICB9CisKKyAgICAgIHJldHVybiBudW1lcmFscyh2YWx1ZSk7
CisgICAgfQorCisgICAgZm9ybWF0LnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7CisgICAgICByZXR1
cm4gc3BlY2lmaWVyICsgIiI7CisgICAgfTsKKworICAgIHJldHVybiBmb3JtYXQ7CisgIH0KKwor
ICBmdW5jdGlvbiBmb3JtYXRQcmVmaXgoc3BlY2lmaWVyLCB2YWx1ZSkgeworICAgIHZhciBmID0g
bmV3Rm9ybWF0KChzcGVjaWZpZXIgPSBmb3JtYXRTcGVjaWZpZXIoc3BlY2lmaWVyKSwgc3BlY2lm
aWVyLnR5cGUgPSAiZiIsIHNwZWNpZmllcikpLAorICAgICAgICBlID0gTWF0aC5tYXgoLTgsIE1h
dGgubWluKDgsIE1hdGguZmxvb3IoZXhwb25lbnQkMSh2YWx1ZSkgLyAzKSkpICogMywKKyAgICAg
ICAgayA9IE1hdGgucG93KDEwLCAtZSksCisgICAgICAgIHByZWZpeCA9IHByZWZpeGVzWzggKyBl
IC8gM107CisgICAgcmV0dXJuIGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICByZXR1cm4gZihrICog
dmFsdWUpICsgcHJlZml4OworICAgIH07CisgIH0KKworICByZXR1cm4geworICAgIGZvcm1hdDog
bmV3Rm9ybWF0LAorICAgIGZvcm1hdFByZWZpeDogZm9ybWF0UHJlZml4CisgIH07Cit9CisKK3Zh
ciBsb2NhbGU7CisKK2RlZmF1bHRMb2NhbGUoeworICBkZWNpbWFsOiAiLiIsCisgIHRob3VzYW5k
czogIiwiLAorICBncm91cGluZzogWzNdLAorICBjdXJyZW5jeTogWyIkIiwgIiJdLAorICBtaW51
czogIi0iCit9KTsKKworZnVuY3Rpb24gZGVmYXVsdExvY2FsZShkZWZpbml0aW9uKSB7CisgIGxv
Y2FsZSA9IGZvcm1hdExvY2FsZShkZWZpbml0aW9uKTsKKyAgZXhwb3J0cy5mb3JtYXQgPSBsb2Nh
bGUuZm9ybWF0OworICBleHBvcnRzLmZvcm1hdFByZWZpeCA9IGxvY2FsZS5mb3JtYXRQcmVmaXg7
CisgIHJldHVybiBsb2NhbGU7Cit9CisKK2Z1bmN0aW9uIHByZWNpc2lvbkZpeGVkKHN0ZXApIHsK
KyAgcmV0dXJuIE1hdGgubWF4KDAsIC1leHBvbmVudCQxKE1hdGguYWJzKHN0ZXApKSk7Cit9CisK
K2Z1bmN0aW9uIHByZWNpc2lvblByZWZpeChzdGVwLCB2YWx1ZSkgeworICByZXR1cm4gTWF0aC5t
YXgoMCwgTWF0aC5tYXgoLTgsIE1hdGgubWluKDgsIE1hdGguZmxvb3IoZXhwb25lbnQkMSh2YWx1
ZSkgLyAzKSkpICogMyAtIGV4cG9uZW50JDEoTWF0aC5hYnMoc3RlcCkpKTsKK30KKworZnVuY3Rp
b24gcHJlY2lzaW9uUm91bmQoc3RlcCwgbWF4KSB7CisgIHN0ZXAgPSBNYXRoLmFicyhzdGVwKSwg
bWF4ID0gTWF0aC5hYnMobWF4KSAtIHN0ZXA7CisgIHJldHVybiBNYXRoLm1heCgwLCBleHBvbmVu
dCQxKG1heCkgLSBleHBvbmVudCQxKHN0ZXApKSArIDE7Cit9CisKKy8vIEFkZHMgZmxvYXRpbmcg
cG9pbnQgbnVtYmVycyB3aXRoIHR3aWNlIHRoZSBub3JtYWwgcHJlY2lzaW9uLgorLy8gUmVmZXJl
bmNlOiBKLiBSLiBTaGV3Y2h1aywgQWRhcHRpdmUgUHJlY2lzaW9uIEZsb2F0aW5nLVBvaW50IEFy
aXRobWV0aWMgYW5kCisvLyBGYXN0IFJvYnVzdCBHZW9tZXRyaWMgUHJlZGljYXRlcywgRGlzY3Jl
dGUgJiBDb21wdXRhdGlvbmFsIEdlb21ldHJ5IDE4KDMpCisvLyAzMDXigJMzNjMgKDE5OTcpLgor
Ly8gQ29kZSBhZGFwdGVkIGZyb20gR2VvZ3JhcGhpY0xpYiBieSBDaGFybGVzIEYuIEYuIEthcm5l
eSwKKy8vIGh0dHA6Ly9nZW9ncmFwaGljbGliLnNvdXJjZWZvcmdlLm5ldC8KKworZnVuY3Rpb24g
YWRkZXIoKSB7CisgIHJldHVybiBuZXcgQWRkZXI7Cit9CisKK2Z1bmN0aW9uIEFkZGVyKCkgewor
ICB0aGlzLnJlc2V0KCk7Cit9CisKK0FkZGVyLnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6
IEFkZGVyLAorICByZXNldDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5zID0gLy8gcm91bmRlZCB2
YWx1ZQorICAgIHRoaXMudCA9IDA7IC8vIGV4YWN0IGVycm9yCisgIH0sCisgIGFkZDogZnVuY3Rp
b24oeSkgeworICAgIGFkZCQxKHRlbXAsIHksIHRoaXMudCk7CisgICAgYWRkJDEodGhpcywgdGVt
cC5zLCB0aGlzLnMpOworICAgIGlmICh0aGlzLnMpIHRoaXMudCArPSB0ZW1wLnQ7CisgICAgZWxz
ZSB0aGlzLnMgPSB0ZW1wLnQ7CisgIH0sCisgIHZhbHVlT2Y6IGZ1bmN0aW9uKCkgeworICAgIHJl
dHVybiB0aGlzLnM7CisgIH0KK307CisKK3ZhciB0ZW1wID0gbmV3IEFkZGVyOworCitmdW5jdGlv
biBhZGQkMShhZGRlciwgYSwgYikgeworICB2YXIgeCA9IGFkZGVyLnMgPSBhICsgYiwKKyAgICAg
IGJ2ID0geCAtIGEsCisgICAgICBhdiA9IHggLSBidjsKKyAgYWRkZXIudCA9IChhIC0gYXYpICsg
KGIgLSBidik7Cit9CisKK3ZhciBlcHNpbG9uJDIgPSAxZS02OwordmFyIGVwc2lsb24yJDEgPSAx
ZS0xMjsKK3ZhciBwaSQzID0gTWF0aC5QSTsKK3ZhciBoYWxmUGkkMiA9IHBpJDMgLyAyOwordmFy
IHF1YXJ0ZXJQaSA9IHBpJDMgLyA0OwordmFyIHRhdSQzID0gcGkkMyAqIDI7CisKK3ZhciBkZWdy
ZWVzJDEgPSAxODAgLyBwaSQzOwordmFyIHJhZGlhbnMgPSBwaSQzIC8gMTgwOworCit2YXIgYWJz
ID0gTWF0aC5hYnM7Cit2YXIgYXRhbiA9IE1hdGguYXRhbjsKK3ZhciBhdGFuMiA9IE1hdGguYXRh
bjI7Cit2YXIgY29zJDEgPSBNYXRoLmNvczsKK3ZhciBjZWlsID0gTWF0aC5jZWlsOwordmFyIGV4
cCA9IE1hdGguZXhwOwordmFyIGxvZyA9IE1hdGgubG9nOwordmFyIHBvdyA9IE1hdGgucG93Owor
dmFyIHNpbiQxID0gTWF0aC5zaW47Cit2YXIgc2lnbiA9IE1hdGguc2lnbiB8fCBmdW5jdGlvbih4
KSB7IHJldHVybiB4ID4gMCA/IDEgOiB4IDwgMCA/IC0xIDogMDsgfTsKK3ZhciBzcXJ0ID0gTWF0
aC5zcXJ0OwordmFyIHRhbiA9IE1hdGgudGFuOworCitmdW5jdGlvbiBhY29zKHgpIHsKKyAgcmV0
dXJuIHggPiAxID8gMCA6IHggPCAtMSA/IHBpJDMgOiBNYXRoLmFjb3MoeCk7Cit9CisKK2Z1bmN0
aW9uIGFzaW4oeCkgeworICByZXR1cm4geCA+IDEgPyBoYWxmUGkkMiA6IHggPCAtMSA/IC1oYWxm
UGkkMiA6IE1hdGguYXNpbih4KTsKK30KKworZnVuY3Rpb24gaGF2ZXJzaW4oeCkgeworICByZXR1
cm4gKHggPSBzaW4kMSh4IC8gMikpICogeDsKK30KKworZnVuY3Rpb24gbm9vcCQyKCkge30KKwor
ZnVuY3Rpb24gc3RyZWFtR2VvbWV0cnkoZ2VvbWV0cnksIHN0cmVhbSkgeworICBpZiAoZ2VvbWV0
cnkgJiYgc3RyZWFtR2VvbWV0cnlUeXBlLmhhc093blByb3BlcnR5KGdlb21ldHJ5LnR5cGUpKSB7
CisgICAgc3RyZWFtR2VvbWV0cnlUeXBlW2dlb21ldHJ5LnR5cGVdKGdlb21ldHJ5LCBzdHJlYW0p
OworICB9Cit9CisKK3ZhciBzdHJlYW1PYmplY3RUeXBlID0geworICBGZWF0dXJlOiBmdW5jdGlv
bihvYmplY3QsIHN0cmVhbSkgeworICAgIHN0cmVhbUdlb21ldHJ5KG9iamVjdC5nZW9tZXRyeSwg
c3RyZWFtKTsKKyAgfSwKKyAgRmVhdHVyZUNvbGxlY3Rpb246IGZ1bmN0aW9uKG9iamVjdCwgc3Ry
ZWFtKSB7CisgICAgdmFyIGZlYXR1cmVzID0gb2JqZWN0LmZlYXR1cmVzLCBpID0gLTEsIG4gPSBm
ZWF0dXJlcy5sZW5ndGg7CisgICAgd2hpbGUgKCsraSA8IG4pIHN0cmVhbUdlb21ldHJ5KGZlYXR1
cmVzW2ldLmdlb21ldHJ5LCBzdHJlYW0pOworICB9Cit9OworCit2YXIgc3RyZWFtR2VvbWV0cnlU
eXBlID0geworICBTcGhlcmU6IGZ1bmN0aW9uKG9iamVjdCwgc3RyZWFtKSB7CisgICAgc3RyZWFt
LnNwaGVyZSgpOworICB9LAorICBQb2ludDogZnVuY3Rpb24ob2JqZWN0LCBzdHJlYW0pIHsKKyAg
ICBvYmplY3QgPSBvYmplY3QuY29vcmRpbmF0ZXM7CisgICAgc3RyZWFtLnBvaW50KG9iamVjdFsw
XSwgb2JqZWN0WzFdLCBvYmplY3RbMl0pOworICB9LAorICBNdWx0aVBvaW50OiBmdW5jdGlvbihv
YmplY3QsIHN0cmVhbSkgeworICAgIHZhciBjb29yZGluYXRlcyA9IG9iamVjdC5jb29yZGluYXRl
cywgaSA9IC0xLCBuID0gY29vcmRpbmF0ZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBv
YmplY3QgPSBjb29yZGluYXRlc1tpXSwgc3RyZWFtLnBvaW50KG9iamVjdFswXSwgb2JqZWN0WzFd
LCBvYmplY3RbMl0pOworICB9LAorICBMaW5lU3RyaW5nOiBmdW5jdGlvbihvYmplY3QsIHN0cmVh
bSkgeworICAgIHN0cmVhbUxpbmUob2JqZWN0LmNvb3JkaW5hdGVzLCBzdHJlYW0sIDApOworICB9
LAorICBNdWx0aUxpbmVTdHJpbmc6IGZ1bmN0aW9uKG9iamVjdCwgc3RyZWFtKSB7CisgICAgdmFy
IGNvb3JkaW5hdGVzID0gb2JqZWN0LmNvb3JkaW5hdGVzLCBpID0gLTEsIG4gPSBjb29yZGluYXRl
cy5sZW5ndGg7CisgICAgd2hpbGUgKCsraSA8IG4pIHN0cmVhbUxpbmUoY29vcmRpbmF0ZXNbaV0s
IHN0cmVhbSwgMCk7CisgIH0sCisgIFBvbHlnb246IGZ1bmN0aW9uKG9iamVjdCwgc3RyZWFtKSB7
CisgICAgc3RyZWFtUG9seWdvbihvYmplY3QuY29vcmRpbmF0ZXMsIHN0cmVhbSk7CisgIH0sCisg
IE11bHRpUG9seWdvbjogZnVuY3Rpb24ob2JqZWN0LCBzdHJlYW0pIHsKKyAgICB2YXIgY29vcmRp
bmF0ZXMgPSBvYmplY3QuY29vcmRpbmF0ZXMsIGkgPSAtMSwgbiA9IGNvb3JkaW5hdGVzLmxlbmd0
aDsKKyAgICB3aGlsZSAoKytpIDwgbikgc3RyZWFtUG9seWdvbihjb29yZGluYXRlc1tpXSwgc3Ry
ZWFtKTsKKyAgfSwKKyAgR2VvbWV0cnlDb2xsZWN0aW9uOiBmdW5jdGlvbihvYmplY3QsIHN0cmVh
bSkgeworICAgIHZhciBnZW9tZXRyaWVzID0gb2JqZWN0Lmdlb21ldHJpZXMsIGkgPSAtMSwgbiA9
IGdlb21ldHJpZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBzdHJlYW1HZW9tZXRyeShn
ZW9tZXRyaWVzW2ldLCBzdHJlYW0pOworICB9Cit9OworCitmdW5jdGlvbiBzdHJlYW1MaW5lKGNv
b3JkaW5hdGVzLCBzdHJlYW0sIGNsb3NlZCkgeworICB2YXIgaSA9IC0xLCBuID0gY29vcmRpbmF0
ZXMubGVuZ3RoIC0gY2xvc2VkLCBjb29yZGluYXRlOworICBzdHJlYW0ubGluZVN0YXJ0KCk7Cisg
IHdoaWxlICgrK2kgPCBuKSBjb29yZGluYXRlID0gY29vcmRpbmF0ZXNbaV0sIHN0cmVhbS5wb2lu
dChjb29yZGluYXRlWzBdLCBjb29yZGluYXRlWzFdLCBjb29yZGluYXRlWzJdKTsKKyAgc3RyZWFt
LmxpbmVFbmQoKTsKK30KKworZnVuY3Rpb24gc3RyZWFtUG9seWdvbihjb29yZGluYXRlcywgc3Ry
ZWFtKSB7CisgIHZhciBpID0gLTEsIG4gPSBjb29yZGluYXRlcy5sZW5ndGg7CisgIHN0cmVhbS5w
b2x5Z29uU3RhcnQoKTsKKyAgd2hpbGUgKCsraSA8IG4pIHN0cmVhbUxpbmUoY29vcmRpbmF0ZXNb
aV0sIHN0cmVhbSwgMSk7CisgIHN0cmVhbS5wb2x5Z29uRW5kKCk7Cit9CisKK2Z1bmN0aW9uIGdl
b1N0cmVhbShvYmplY3QsIHN0cmVhbSkgeworICBpZiAob2JqZWN0ICYmIHN0cmVhbU9iamVjdFR5
cGUuaGFzT3duUHJvcGVydHkob2JqZWN0LnR5cGUpKSB7CisgICAgc3RyZWFtT2JqZWN0VHlwZVtv
YmplY3QudHlwZV0ob2JqZWN0LCBzdHJlYW0pOworICB9IGVsc2UgeworICAgIHN0cmVhbUdlb21l
dHJ5KG9iamVjdCwgc3RyZWFtKTsKKyAgfQorfQorCit2YXIgYXJlYVJpbmdTdW0gPSBhZGRlcigp
OworCit2YXIgYXJlYVN1bSA9IGFkZGVyKCksCisgICAgbGFtYmRhMDAsCisgICAgcGhpMDAsCisg
ICAgbGFtYmRhMCwKKyAgICBjb3NQaGkwLAorICAgIHNpblBoaTA7CisKK3ZhciBhcmVhU3RyZWFt
ID0geworICBwb2ludDogbm9vcCQyLAorICBsaW5lU3RhcnQ6IG5vb3AkMiwKKyAgbGluZUVuZDog
bm9vcCQyLAorICBwb2x5Z29uU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIGFyZWFSaW5nU3VtLnJl
c2V0KCk7CisgICAgYXJlYVN0cmVhbS5saW5lU3RhcnQgPSBhcmVhUmluZ1N0YXJ0OworICAgIGFy
ZWFTdHJlYW0ubGluZUVuZCA9IGFyZWFSaW5nRW5kOworICB9LAorICBwb2x5Z29uRW5kOiBmdW5j
dGlvbigpIHsKKyAgICB2YXIgYXJlYVJpbmcgPSArYXJlYVJpbmdTdW07CisgICAgYXJlYVN1bS5h
ZGQoYXJlYVJpbmcgPCAwID8gdGF1JDMgKyBhcmVhUmluZyA6IGFyZWFSaW5nKTsKKyAgICB0aGlz
LmxpbmVTdGFydCA9IHRoaXMubGluZUVuZCA9IHRoaXMucG9pbnQgPSBub29wJDI7CisgIH0sCisg
IHNwaGVyZTogZnVuY3Rpb24oKSB7CisgICAgYXJlYVN1bS5hZGQodGF1JDMpOworICB9Cit9Owor
CitmdW5jdGlvbiBhcmVhUmluZ1N0YXJ0KCkgeworICBhcmVhU3RyZWFtLnBvaW50ID0gYXJlYVBv
aW50Rmlyc3Q7Cit9CisKK2Z1bmN0aW9uIGFyZWFSaW5nRW5kKCkgeworICBhcmVhUG9pbnQobGFt
YmRhMDAsIHBoaTAwKTsKK30KKworZnVuY3Rpb24gYXJlYVBvaW50Rmlyc3QobGFtYmRhLCBwaGkp
IHsKKyAgYXJlYVN0cmVhbS5wb2ludCA9IGFyZWFQb2ludDsKKyAgbGFtYmRhMDAgPSBsYW1iZGEs
IHBoaTAwID0gcGhpOworICBsYW1iZGEgKj0gcmFkaWFucywgcGhpICo9IHJhZGlhbnM7CisgIGxh
bWJkYTAgPSBsYW1iZGEsIGNvc1BoaTAgPSBjb3MkMShwaGkgPSBwaGkgLyAyICsgcXVhcnRlclBp
KSwgc2luUGhpMCA9IHNpbiQxKHBoaSk7Cit9CisKK2Z1bmN0aW9uIGFyZWFQb2ludChsYW1iZGEs
IHBoaSkgeworICBsYW1iZGEgKj0gcmFkaWFucywgcGhpICo9IHJhZGlhbnM7CisgIHBoaSA9IHBo
aSAvIDIgKyBxdWFydGVyUGk7IC8vIGhhbGYgdGhlIGFuZ3VsYXIgZGlzdGFuY2UgZnJvbSBzb3V0
aCBwb2xlCisKKyAgLy8gU3BoZXJpY2FsIGV4Y2VzcyBFIGZvciBhIHNwaGVyaWNhbCB0cmlhbmds
ZSB3aXRoIHZlcnRpY2VzOiBzb3V0aCBwb2xlLAorICAvLyBwcmV2aW91cyBwb2ludCwgY3VycmVu
dCBwb2ludC4gIFVzZXMgYSBmb3JtdWxhIGRlcml2ZWQgZnJvbSBDYWdub2xp4oCZcworICAvLyB0
aGVvcmVtLiAgU2VlIFRvZGh1bnRlciwgU3BoZXJpY2FsIFRyaWcuICgxODcxKSwgU2VjLiAxMDMs
IEVxLiAoMikuCisgIHZhciBkTGFtYmRhID0gbGFtYmRhIC0gbGFtYmRhMCwKKyAgICAgIHNkTGFt
YmRhID0gZExhbWJkYSA+PSAwID8gMSA6IC0xLAorICAgICAgYWRMYW1iZGEgPSBzZExhbWJkYSAq
IGRMYW1iZGEsCisgICAgICBjb3NQaGkgPSBjb3MkMShwaGkpLAorICAgICAgc2luUGhpID0gc2lu
JDEocGhpKSwKKyAgICAgIGsgPSBzaW5QaGkwICogc2luUGhpLAorICAgICAgdSA9IGNvc1BoaTAg
KiBjb3NQaGkgKyBrICogY29zJDEoYWRMYW1iZGEpLAorICAgICAgdiA9IGsgKiBzZExhbWJkYSAq
IHNpbiQxKGFkTGFtYmRhKTsKKyAgYXJlYVJpbmdTdW0uYWRkKGF0YW4yKHYsIHUpKTsKKworICAv
LyBBZHZhbmNlIHRoZSBwcmV2aW91cyBwb2ludHMuCisgIGxhbWJkYTAgPSBsYW1iZGEsIGNvc1Bo
aTAgPSBjb3NQaGksIHNpblBoaTAgPSBzaW5QaGk7Cit9CisKK2Z1bmN0aW9uIGFyZWEkMShvYmpl
Y3QpIHsKKyAgYXJlYVN1bS5yZXNldCgpOworICBnZW9TdHJlYW0ob2JqZWN0LCBhcmVhU3RyZWFt
KTsKKyAgcmV0dXJuIGFyZWFTdW0gKiAyOworfQorCitmdW5jdGlvbiBzcGhlcmljYWwoY2FydGVz
aWFuKSB7CisgIHJldHVybiBbYXRhbjIoY2FydGVzaWFuWzFdLCBjYXJ0ZXNpYW5bMF0pLCBhc2lu
KGNhcnRlc2lhblsyXSldOworfQorCitmdW5jdGlvbiBjYXJ0ZXNpYW4oc3BoZXJpY2FsKSB7Cisg
IHZhciBsYW1iZGEgPSBzcGhlcmljYWxbMF0sIHBoaSA9IHNwaGVyaWNhbFsxXSwgY29zUGhpID0g
Y29zJDEocGhpKTsKKyAgcmV0dXJuIFtjb3NQaGkgKiBjb3MkMShsYW1iZGEpLCBjb3NQaGkgKiBz
aW4kMShsYW1iZGEpLCBzaW4kMShwaGkpXTsKK30KKworZnVuY3Rpb24gY2FydGVzaWFuRG90KGEs
IGIpIHsKKyAgcmV0dXJuIGFbMF0gKiBiWzBdICsgYVsxXSAqIGJbMV0gKyBhWzJdICogYlsyXTsK
K30KKworZnVuY3Rpb24gY2FydGVzaWFuQ3Jvc3MoYSwgYikgeworICByZXR1cm4gW2FbMV0gKiBi
WzJdIC0gYVsyXSAqIGJbMV0sIGFbMl0gKiBiWzBdIC0gYVswXSAqIGJbMl0sIGFbMF0gKiBiWzFd
IC0gYVsxXSAqIGJbMF1dOworfQorCisvLyBUT0RPIHJldHVybiBhCitmdW5jdGlvbiBjYXJ0ZXNp
YW5BZGRJblBsYWNlKGEsIGIpIHsKKyAgYVswXSArPSBiWzBdLCBhWzFdICs9IGJbMV0sIGFbMl0g
Kz0gYlsyXTsKK30KKworZnVuY3Rpb24gY2FydGVzaWFuU2NhbGUodmVjdG9yLCBrKSB7CisgIHJl
dHVybiBbdmVjdG9yWzBdICogaywgdmVjdG9yWzFdICogaywgdmVjdG9yWzJdICoga107Cit9CisK
Ky8vIFRPRE8gcmV0dXJuIGQKK2Z1bmN0aW9uIGNhcnRlc2lhbk5vcm1hbGl6ZUluUGxhY2UoZCkg
eworICB2YXIgbCA9IHNxcnQoZFswXSAqIGRbMF0gKyBkWzFdICogZFsxXSArIGRbMl0gKiBkWzJd
KTsKKyAgZFswXSAvPSBsLCBkWzFdIC89IGwsIGRbMl0gLz0gbDsKK30KKwordmFyIGxhbWJkYTAk
MSwgcGhpMCwgbGFtYmRhMSwgcGhpMSwgLy8gYm91bmRzCisgICAgbGFtYmRhMiwgLy8gcHJldmlv
dXMgbGFtYmRhLWNvb3JkaW5hdGUKKyAgICBsYW1iZGEwMCQxLCBwaGkwMCQxLCAvLyBmaXJzdCBw
b2ludAorICAgIHAwLCAvLyBwcmV2aW91cyAzRCBwb2ludAorICAgIGRlbHRhU3VtID0gYWRkZXIo
KSwKKyAgICByYW5nZXMsCisgICAgcmFuZ2U7CisKK3ZhciBib3VuZHNTdHJlYW0gPSB7CisgIHBv
aW50OiBib3VuZHNQb2ludCwKKyAgbGluZVN0YXJ0OiBib3VuZHNMaW5lU3RhcnQsCisgIGxpbmVF
bmQ6IGJvdW5kc0xpbmVFbmQsCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgYm91
bmRzU3RyZWFtLnBvaW50ID0gYm91bmRzUmluZ1BvaW50OworICAgIGJvdW5kc1N0cmVhbS5saW5l
U3RhcnQgPSBib3VuZHNSaW5nU3RhcnQ7CisgICAgYm91bmRzU3RyZWFtLmxpbmVFbmQgPSBib3Vu
ZHNSaW5nRW5kOworICAgIGRlbHRhU3VtLnJlc2V0KCk7CisgICAgYXJlYVN0cmVhbS5wb2x5Z29u
U3RhcnQoKTsKKyAgfSwKKyAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7CisgICAgYXJlYVN0cmVh
bS5wb2x5Z29uRW5kKCk7CisgICAgYm91bmRzU3RyZWFtLnBvaW50ID0gYm91bmRzUG9pbnQ7Cisg
ICAgYm91bmRzU3RyZWFtLmxpbmVTdGFydCA9IGJvdW5kc0xpbmVTdGFydDsKKyAgICBib3VuZHNT
dHJlYW0ubGluZUVuZCA9IGJvdW5kc0xpbmVFbmQ7CisgICAgaWYgKGFyZWFSaW5nU3VtIDwgMCkg
bGFtYmRhMCQxID0gLShsYW1iZGExID0gMTgwKSwgcGhpMCA9IC0ocGhpMSA9IDkwKTsKKyAgICBl
bHNlIGlmIChkZWx0YVN1bSA+IGVwc2lsb24kMikgcGhpMSA9IDkwOworICAgIGVsc2UgaWYgKGRl
bHRhU3VtIDwgLWVwc2lsb24kMikgcGhpMCA9IC05MDsKKyAgICByYW5nZVswXSA9IGxhbWJkYTAk
MSwgcmFuZ2VbMV0gPSBsYW1iZGExOworICB9LAorICBzcGhlcmU6IGZ1bmN0aW9uKCkgeworICAg
IGxhbWJkYTAkMSA9IC0obGFtYmRhMSA9IDE4MCksIHBoaTAgPSAtKHBoaTEgPSA5MCk7CisgIH0K
K307CisKK2Z1bmN0aW9uIGJvdW5kc1BvaW50KGxhbWJkYSwgcGhpKSB7CisgIHJhbmdlcy5wdXNo
KHJhbmdlID0gW2xhbWJkYTAkMSA9IGxhbWJkYSwgbGFtYmRhMSA9IGxhbWJkYV0pOworICBpZiAo
cGhpIDwgcGhpMCkgcGhpMCA9IHBoaTsKKyAgaWYgKHBoaSA+IHBoaTEpIHBoaTEgPSBwaGk7Cit9
CisKK2Z1bmN0aW9uIGxpbmVQb2ludChsYW1iZGEsIHBoaSkgeworICB2YXIgcCA9IGNhcnRlc2lh
bihbbGFtYmRhICogcmFkaWFucywgcGhpICogcmFkaWFuc10pOworICBpZiAocDApIHsKKyAgICB2
YXIgbm9ybWFsID0gY2FydGVzaWFuQ3Jvc3MocDAsIHApLAorICAgICAgICBlcXVhdG9yaWFsID0g
W25vcm1hbFsxXSwgLW5vcm1hbFswXSwgMF0sCisgICAgICAgIGluZmxlY3Rpb24gPSBjYXJ0ZXNp
YW5Dcm9zcyhlcXVhdG9yaWFsLCBub3JtYWwpOworICAgIGNhcnRlc2lhbk5vcm1hbGl6ZUluUGxh
Y2UoaW5mbGVjdGlvbik7CisgICAgaW5mbGVjdGlvbiA9IHNwaGVyaWNhbChpbmZsZWN0aW9uKTsK
KyAgICB2YXIgZGVsdGEgPSBsYW1iZGEgLSBsYW1iZGEyLAorICAgICAgICBzaWduID0gZGVsdGEg
PiAwID8gMSA6IC0xLAorICAgICAgICBsYW1iZGFpID0gaW5mbGVjdGlvblswXSAqIGRlZ3JlZXMk
MSAqIHNpZ24sCisgICAgICAgIHBoaWksCisgICAgICAgIGFudGltZXJpZGlhbiA9IGFicyhkZWx0
YSkgPiAxODA7CisgICAgaWYgKGFudGltZXJpZGlhbiBeIChzaWduICogbGFtYmRhMiA8IGxhbWJk
YWkgJiYgbGFtYmRhaSA8IHNpZ24gKiBsYW1iZGEpKSB7CisgICAgICBwaGlpID0gaW5mbGVjdGlv
blsxXSAqIGRlZ3JlZXMkMTsKKyAgICAgIGlmIChwaGlpID4gcGhpMSkgcGhpMSA9IHBoaWk7Cisg
ICAgfSBlbHNlIGlmIChsYW1iZGFpID0gKGxhbWJkYWkgKyAzNjApICUgMzYwIC0gMTgwLCBhbnRp
bWVyaWRpYW4gXiAoc2lnbiAqIGxhbWJkYTIgPCBsYW1iZGFpICYmIGxhbWJkYWkgPCBzaWduICog
bGFtYmRhKSkgeworICAgICAgcGhpaSA9IC1pbmZsZWN0aW9uWzFdICogZGVncmVlcyQxOworICAg
ICAgaWYgKHBoaWkgPCBwaGkwKSBwaGkwID0gcGhpaTsKKyAgICB9IGVsc2UgeworICAgICAgaWYg
KHBoaSA8IHBoaTApIHBoaTAgPSBwaGk7CisgICAgICBpZiAocGhpID4gcGhpMSkgcGhpMSA9IHBo
aTsKKyAgICB9CisgICAgaWYgKGFudGltZXJpZGlhbikgeworICAgICAgaWYgKGxhbWJkYSA8IGxh
bWJkYTIpIHsKKyAgICAgICAgaWYgKGFuZ2xlKGxhbWJkYTAkMSwgbGFtYmRhKSA+IGFuZ2xlKGxh
bWJkYTAkMSwgbGFtYmRhMSkpIGxhbWJkYTEgPSBsYW1iZGE7CisgICAgICB9IGVsc2UgeworICAg
ICAgICBpZiAoYW5nbGUobGFtYmRhLCBsYW1iZGExKSA+IGFuZ2xlKGxhbWJkYTAkMSwgbGFtYmRh
MSkpIGxhbWJkYTAkMSA9IGxhbWJkYTsKKyAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgaWYg
KGxhbWJkYTEgPj0gbGFtYmRhMCQxKSB7CisgICAgICAgIGlmIChsYW1iZGEgPCBsYW1iZGEwJDEp
IGxhbWJkYTAkMSA9IGxhbWJkYTsKKyAgICAgICAgaWYgKGxhbWJkYSA+IGxhbWJkYTEpIGxhbWJk
YTEgPSBsYW1iZGE7CisgICAgICB9IGVsc2UgeworICAgICAgICBpZiAobGFtYmRhID4gbGFtYmRh
MikgeworICAgICAgICAgIGlmIChhbmdsZShsYW1iZGEwJDEsIGxhbWJkYSkgPiBhbmdsZShsYW1i
ZGEwJDEsIGxhbWJkYTEpKSBsYW1iZGExID0gbGFtYmRhOworICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgIGlmIChhbmdsZShsYW1iZGEsIGxhbWJkYTEpID4gYW5nbGUobGFtYmRhMCQxLCBsYW1i
ZGExKSkgbGFtYmRhMCQxID0gbGFtYmRhOworICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9
IGVsc2UgeworICAgIHJhbmdlcy5wdXNoKHJhbmdlID0gW2xhbWJkYTAkMSA9IGxhbWJkYSwgbGFt
YmRhMSA9IGxhbWJkYV0pOworICB9CisgIGlmIChwaGkgPCBwaGkwKSBwaGkwID0gcGhpOworICBp
ZiAocGhpID4gcGhpMSkgcGhpMSA9IHBoaTsKKyAgcDAgPSBwLCBsYW1iZGEyID0gbGFtYmRhOwor
fQorCitmdW5jdGlvbiBib3VuZHNMaW5lU3RhcnQoKSB7CisgIGJvdW5kc1N0cmVhbS5wb2ludCA9
IGxpbmVQb2ludDsKK30KKworZnVuY3Rpb24gYm91bmRzTGluZUVuZCgpIHsKKyAgcmFuZ2VbMF0g
PSBsYW1iZGEwJDEsIHJhbmdlWzFdID0gbGFtYmRhMTsKKyAgYm91bmRzU3RyZWFtLnBvaW50ID0g
Ym91bmRzUG9pbnQ7CisgIHAwID0gbnVsbDsKK30KKworZnVuY3Rpb24gYm91bmRzUmluZ1BvaW50
KGxhbWJkYSwgcGhpKSB7CisgIGlmIChwMCkgeworICAgIHZhciBkZWx0YSA9IGxhbWJkYSAtIGxh
bWJkYTI7CisgICAgZGVsdGFTdW0uYWRkKGFicyhkZWx0YSkgPiAxODAgPyBkZWx0YSArIChkZWx0
YSA+IDAgPyAzNjAgOiAtMzYwKSA6IGRlbHRhKTsKKyAgfSBlbHNlIHsKKyAgICBsYW1iZGEwMCQx
ID0gbGFtYmRhLCBwaGkwMCQxID0gcGhpOworICB9CisgIGFyZWFTdHJlYW0ucG9pbnQobGFtYmRh
LCBwaGkpOworICBsaW5lUG9pbnQobGFtYmRhLCBwaGkpOworfQorCitmdW5jdGlvbiBib3VuZHNS
aW5nU3RhcnQoKSB7CisgIGFyZWFTdHJlYW0ubGluZVN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIGJv
dW5kc1JpbmdFbmQoKSB7CisgIGJvdW5kc1JpbmdQb2ludChsYW1iZGEwMCQxLCBwaGkwMCQxKTsK
KyAgYXJlYVN0cmVhbS5saW5lRW5kKCk7CisgIGlmIChhYnMoZGVsdGFTdW0pID4gZXBzaWxvbiQy
KSBsYW1iZGEwJDEgPSAtKGxhbWJkYTEgPSAxODApOworICByYW5nZVswXSA9IGxhbWJkYTAkMSwg
cmFuZ2VbMV0gPSBsYW1iZGExOworICBwMCA9IG51bGw7Cit9CisKKy8vIEZpbmRzIHRoZSBsZWZ0
LXJpZ2h0IGRpc3RhbmNlIGJldHdlZW4gdHdvIGxvbmdpdHVkZXMuCisvLyBUaGlzIGlzIGFsbW9z
dCB0aGUgc2FtZSBhcyAobGFtYmRhMSAtIGxhbWJkYTAgKyAzNjDCsCkgJSAzNjDCsCwgZXhjZXB0
IHRoYXQgd2Ugd2FudAorLy8gdGhlIGRpc3RhbmNlIGJldHdlZW4gwrExODDCsCB0byBiZSAzNjDC
sC4KK2Z1bmN0aW9uIGFuZ2xlKGxhbWJkYTAsIGxhbWJkYTEpIHsKKyAgcmV0dXJuIChsYW1iZGEx
IC09IGxhbWJkYTApIDwgMCA/IGxhbWJkYTEgKyAzNjAgOiBsYW1iZGExOworfQorCitmdW5jdGlv
biByYW5nZUNvbXBhcmUoYSwgYikgeworICByZXR1cm4gYVswXSAtIGJbMF07Cit9CisKK2Z1bmN0
aW9uIHJhbmdlQ29udGFpbnMocmFuZ2UsIHgpIHsKKyAgcmV0dXJuIHJhbmdlWzBdIDw9IHJhbmdl
WzFdID8gcmFuZ2VbMF0gPD0geCAmJiB4IDw9IHJhbmdlWzFdIDogeCA8IHJhbmdlWzBdIHx8IHJh
bmdlWzFdIDwgeDsKK30KKworZnVuY3Rpb24gYm91bmRzKGZlYXR1cmUpIHsKKyAgdmFyIGksIG4s
IGEsIGIsIG1lcmdlZCwgZGVsdGFNYXgsIGRlbHRhOworCisgIHBoaTEgPSBsYW1iZGExID0gLShs
YW1iZGEwJDEgPSBwaGkwID0gSW5maW5pdHkpOworICByYW5nZXMgPSBbXTsKKyAgZ2VvU3RyZWFt
KGZlYXR1cmUsIGJvdW5kc1N0cmVhbSk7CisKKyAgLy8gRmlyc3QsIHNvcnQgcmFuZ2VzIGJ5IHRo
ZWlyIG1pbmltdW0gbG9uZ2l0dWRlcy4KKyAgaWYgKG4gPSByYW5nZXMubGVuZ3RoKSB7CisgICAg
cmFuZ2VzLnNvcnQocmFuZ2VDb21wYXJlKTsKKworICAgIC8vIFRoZW4sIG1lcmdlIGFueSByYW5n
ZXMgdGhhdCBvdmVybGFwLgorICAgIGZvciAoaSA9IDEsIGEgPSByYW5nZXNbMF0sIG1lcmdlZCA9
IFthXTsgaSA8IG47ICsraSkgeworICAgICAgYiA9IHJhbmdlc1tpXTsKKyAgICAgIGlmIChyYW5n
ZUNvbnRhaW5zKGEsIGJbMF0pIHx8IHJhbmdlQ29udGFpbnMoYSwgYlsxXSkpIHsKKyAgICAgICAg
aWYgKGFuZ2xlKGFbMF0sIGJbMV0pID4gYW5nbGUoYVswXSwgYVsxXSkpIGFbMV0gPSBiWzFdOwor
ICAgICAgICBpZiAoYW5nbGUoYlswXSwgYVsxXSkgPiBhbmdsZShhWzBdLCBhWzFdKSkgYVswXSA9
IGJbMF07CisgICAgICB9IGVsc2UgeworICAgICAgICBtZXJnZWQucHVzaChhID0gYik7CisgICAg
ICB9CisgICAgfQorCisgICAgLy8gRmluYWxseSwgZmluZCB0aGUgbGFyZ2VzdCBnYXAgYmV0d2Vl
biB0aGUgbWVyZ2VkIHJhbmdlcy4KKyAgICAvLyBUaGUgZmluYWwgYm91bmRpbmcgYm94IHdpbGwg
YmUgdGhlIGludmVyc2Ugb2YgdGhpcyBnYXAuCisgICAgZm9yIChkZWx0YU1heCA9IC1JbmZpbml0
eSwgbiA9IG1lcmdlZC5sZW5ndGggLSAxLCBpID0gMCwgYSA9IG1lcmdlZFtuXTsgaSA8PSBuOyBh
ID0gYiwgKytpKSB7CisgICAgICBiID0gbWVyZ2VkW2ldOworICAgICAgaWYgKChkZWx0YSA9IGFu
Z2xlKGFbMV0sIGJbMF0pKSA+IGRlbHRhTWF4KSBkZWx0YU1heCA9IGRlbHRhLCBsYW1iZGEwJDEg
PSBiWzBdLCBsYW1iZGExID0gYVsxXTsKKyAgICB9CisgIH0KKworICByYW5nZXMgPSByYW5nZSA9
IG51bGw7CisKKyAgcmV0dXJuIGxhbWJkYTAkMSA9PT0gSW5maW5pdHkgfHwgcGhpMCA9PT0gSW5m
aW5pdHkKKyAgICAgID8gW1tOYU4sIE5hTl0sIFtOYU4sIE5hTl1dCisgICAgICA6IFtbbGFtYmRh
MCQxLCBwaGkwXSwgW2xhbWJkYTEsIHBoaTFdXTsKK30KKwordmFyIFcwLCBXMSwKKyAgICBYMCwg
WTAsIFowLAorICAgIFgxLCBZMSwgWjEsCisgICAgWDIsIFkyLCBaMiwKKyAgICBsYW1iZGEwMCQy
LCBwaGkwMCQyLCAvLyBmaXJzdCBwb2ludAorICAgIHgwLCB5MCwgejA7IC8vIHByZXZpb3VzIHBv
aW50CisKK3ZhciBjZW50cm9pZFN0cmVhbSA9IHsKKyAgc3BoZXJlOiBub29wJDIsCisgIHBvaW50
OiBjZW50cm9pZFBvaW50LAorICBsaW5lU3RhcnQ6IGNlbnRyb2lkTGluZVN0YXJ0LAorICBsaW5l
RW5kOiBjZW50cm9pZExpbmVFbmQsCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAg
Y2VudHJvaWRTdHJlYW0ubGluZVN0YXJ0ID0gY2VudHJvaWRSaW5nU3RhcnQ7CisgICAgY2VudHJv
aWRTdHJlYW0ubGluZUVuZCA9IGNlbnRyb2lkUmluZ0VuZDsKKyAgfSwKKyAgcG9seWdvbkVuZDog
ZnVuY3Rpb24oKSB7CisgICAgY2VudHJvaWRTdHJlYW0ubGluZVN0YXJ0ID0gY2VudHJvaWRMaW5l
U3RhcnQ7CisgICAgY2VudHJvaWRTdHJlYW0ubGluZUVuZCA9IGNlbnRyb2lkTGluZUVuZDsKKyAg
fQorfTsKKworLy8gQXJpdGhtZXRpYyBtZWFuIG9mIENhcnRlc2lhbiB2ZWN0b3JzLgorZnVuY3Rp
b24gY2VudHJvaWRQb2ludChsYW1iZGEsIHBoaSkgeworICBsYW1iZGEgKj0gcmFkaWFucywgcGhp
ICo9IHJhZGlhbnM7CisgIHZhciBjb3NQaGkgPSBjb3MkMShwaGkpOworICBjZW50cm9pZFBvaW50
Q2FydGVzaWFuKGNvc1BoaSAqIGNvcyQxKGxhbWJkYSksIGNvc1BoaSAqIHNpbiQxKGxhbWJkYSks
IHNpbiQxKHBoaSkpOworfQorCitmdW5jdGlvbiBjZW50cm9pZFBvaW50Q2FydGVzaWFuKHgsIHks
IHopIHsKKyAgKytXMDsKKyAgWDAgKz0gKHggLSBYMCkgLyBXMDsKKyAgWTAgKz0gKHkgLSBZMCkg
LyBXMDsKKyAgWjAgKz0gKHogLSBaMCkgLyBXMDsKK30KKworZnVuY3Rpb24gY2VudHJvaWRMaW5l
U3RhcnQoKSB7CisgIGNlbnRyb2lkU3RyZWFtLnBvaW50ID0gY2VudHJvaWRMaW5lUG9pbnRGaXJz
dDsKK30KKworZnVuY3Rpb24gY2VudHJvaWRMaW5lUG9pbnRGaXJzdChsYW1iZGEsIHBoaSkgewor
ICBsYW1iZGEgKj0gcmFkaWFucywgcGhpICo9IHJhZGlhbnM7CisgIHZhciBjb3NQaGkgPSBjb3Mk
MShwaGkpOworICB4MCA9IGNvc1BoaSAqIGNvcyQxKGxhbWJkYSk7CisgIHkwID0gY29zUGhpICog
c2luJDEobGFtYmRhKTsKKyAgejAgPSBzaW4kMShwaGkpOworICBjZW50cm9pZFN0cmVhbS5wb2lu
dCA9IGNlbnRyb2lkTGluZVBvaW50OworICBjZW50cm9pZFBvaW50Q2FydGVzaWFuKHgwLCB5MCwg
ejApOworfQorCitmdW5jdGlvbiBjZW50cm9pZExpbmVQb2ludChsYW1iZGEsIHBoaSkgeworICBs
YW1iZGEgKj0gcmFkaWFucywgcGhpICo9IHJhZGlhbnM7CisgIHZhciBjb3NQaGkgPSBjb3MkMShw
aGkpLAorICAgICAgeCA9IGNvc1BoaSAqIGNvcyQxKGxhbWJkYSksCisgICAgICB5ID0gY29zUGhp
ICogc2luJDEobGFtYmRhKSwKKyAgICAgIHogPSBzaW4kMShwaGkpLAorICAgICAgdyA9IGF0YW4y
KHNxcnQoKHcgPSB5MCAqIHogLSB6MCAqIHkpICogdyArICh3ID0gejAgKiB4IC0geDAgKiB6KSAq
IHcgKyAodyA9IHgwICogeSAtIHkwICogeCkgKiB3KSwgeDAgKiB4ICsgeTAgKiB5ICsgejAgKiB6
KTsKKyAgVzEgKz0gdzsKKyAgWDEgKz0gdyAqICh4MCArICh4MCA9IHgpKTsKKyAgWTEgKz0gdyAq
ICh5MCArICh5MCA9IHkpKTsKKyAgWjEgKz0gdyAqICh6MCArICh6MCA9IHopKTsKKyAgY2VudHJv
aWRQb2ludENhcnRlc2lhbih4MCwgeTAsIHowKTsKK30KKworZnVuY3Rpb24gY2VudHJvaWRMaW5l
RW5kKCkgeworICBjZW50cm9pZFN0cmVhbS5wb2ludCA9IGNlbnRyb2lkUG9pbnQ7Cit9CisKKy8v
IFNlZSBKLiBFLiBCcm9jaywgVGhlIEluZXJ0aWEgVGVuc29yIGZvciBhIFNwaGVyaWNhbCBUcmlh
bmdsZSwKKy8vIEouIEFwcGxpZWQgTWVjaGFuaWNzIDQyLCAyMzkgKDE5NzUpLgorZnVuY3Rpb24g
Y2VudHJvaWRSaW5nU3RhcnQoKSB7CisgIGNlbnRyb2lkU3RyZWFtLnBvaW50ID0gY2VudHJvaWRS
aW5nUG9pbnRGaXJzdDsKK30KKworZnVuY3Rpb24gY2VudHJvaWRSaW5nRW5kKCkgeworICBjZW50
cm9pZFJpbmdQb2ludChsYW1iZGEwMCQyLCBwaGkwMCQyKTsKKyAgY2VudHJvaWRTdHJlYW0ucG9p
bnQgPSBjZW50cm9pZFBvaW50OworfQorCitmdW5jdGlvbiBjZW50cm9pZFJpbmdQb2ludEZpcnN0
KGxhbWJkYSwgcGhpKSB7CisgIGxhbWJkYTAwJDIgPSBsYW1iZGEsIHBoaTAwJDIgPSBwaGk7Cisg
IGxhbWJkYSAqPSByYWRpYW5zLCBwaGkgKj0gcmFkaWFuczsKKyAgY2VudHJvaWRTdHJlYW0ucG9p
bnQgPSBjZW50cm9pZFJpbmdQb2ludDsKKyAgdmFyIGNvc1BoaSA9IGNvcyQxKHBoaSk7CisgIHgw
ID0gY29zUGhpICogY29zJDEobGFtYmRhKTsKKyAgeTAgPSBjb3NQaGkgKiBzaW4kMShsYW1iZGEp
OworICB6MCA9IHNpbiQxKHBoaSk7CisgIGNlbnRyb2lkUG9pbnRDYXJ0ZXNpYW4oeDAsIHkwLCB6
MCk7Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkUmluZ1BvaW50KGxhbWJkYSwgcGhpKSB7CisgIGxh
bWJkYSAqPSByYWRpYW5zLCBwaGkgKj0gcmFkaWFuczsKKyAgdmFyIGNvc1BoaSA9IGNvcyQxKHBo
aSksCisgICAgICB4ID0gY29zUGhpICogY29zJDEobGFtYmRhKSwKKyAgICAgIHkgPSBjb3NQaGkg
KiBzaW4kMShsYW1iZGEpLAorICAgICAgeiA9IHNpbiQxKHBoaSksCisgICAgICBjeCA9IHkwICog
eiAtIHowICogeSwKKyAgICAgIGN5ID0gejAgKiB4IC0geDAgKiB6LAorICAgICAgY3ogPSB4MCAq
IHkgLSB5MCAqIHgsCisgICAgICBtID0gc3FydChjeCAqIGN4ICsgY3kgKiBjeSArIGN6ICogY3op
LAorICAgICAgdyA9IGFzaW4obSksIC8vIGxpbmUgd2VpZ2h0ID0gYW5nbGUKKyAgICAgIHYgPSBt
ICYmIC13IC8gbTsgLy8gYXJlYSB3ZWlnaHQgbXVsdGlwbGllcgorICBYMiArPSB2ICogY3g7Cisg
IFkyICs9IHYgKiBjeTsKKyAgWjIgKz0gdiAqIGN6OworICBXMSArPSB3OworICBYMSArPSB3ICog
KHgwICsgKHgwID0geCkpOworICBZMSArPSB3ICogKHkwICsgKHkwID0geSkpOworICBaMSArPSB3
ICogKHowICsgKHowID0geikpOworICBjZW50cm9pZFBvaW50Q2FydGVzaWFuKHgwLCB5MCwgejAp
OworfQorCitmdW5jdGlvbiBjZW50cm9pZChvYmplY3QpIHsKKyAgVzAgPSBXMSA9CisgIFgwID0g
WTAgPSBaMCA9CisgIFgxID0gWTEgPSBaMSA9CisgIFgyID0gWTIgPSBaMiA9IDA7CisgIGdlb1N0
cmVhbShvYmplY3QsIGNlbnRyb2lkU3RyZWFtKTsKKworICB2YXIgeCA9IFgyLAorICAgICAgeSA9
IFkyLAorICAgICAgeiA9IFoyLAorICAgICAgbSA9IHggKiB4ICsgeSAqIHkgKyB6ICogejsKKwor
ICAvLyBJZiB0aGUgYXJlYS13ZWlnaHRlZCBjY2VudHJvaWQgaXMgdW5kZWZpbmVkLCBmYWxsIGJh
Y2sgdG8gbGVuZ3RoLXdlaWdodGVkIGNjZW50cm9pZC4KKyAgaWYgKG0gPCBlcHNpbG9uMiQxKSB7
CisgICAgeCA9IFgxLCB5ID0gWTEsIHogPSBaMTsKKyAgICAvLyBJZiB0aGUgZmVhdHVyZSBoYXMg
emVybyBsZW5ndGgsIGZhbGwgYmFjayB0byBhcml0aG1ldGljIG1lYW4gb2YgcG9pbnQgdmVjdG9y
cy4KKyAgICBpZiAoVzEgPCBlcHNpbG9uJDIpIHggPSBYMCwgeSA9IFkwLCB6ID0gWjA7CisgICAg
bSA9IHggKiB4ICsgeSAqIHkgKyB6ICogejsKKyAgICAvLyBJZiB0aGUgZmVhdHVyZSBzdGlsbCBo
YXMgYW4gdW5kZWZpbmVkIGNjZW50cm9pZCwgdGhlbiByZXR1cm4uCisgICAgaWYgKG0gPCBlcHNp
bG9uMiQxKSByZXR1cm4gW05hTiwgTmFOXTsKKyAgfQorCisgIHJldHVybiBbYXRhbjIoeSwgeCkg
KiBkZWdyZWVzJDEsIGFzaW4oeiAvIHNxcnQobSkpICogZGVncmVlcyQxXTsKK30KKworZnVuY3Rp
b24gY29uc3RhbnQkOCh4KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsK
KyAgfTsKK30KKworZnVuY3Rpb24gY29tcG9zZShhLCBiKSB7CisKKyAgZnVuY3Rpb24gY29tcG9z
ZSh4LCB5KSB7CisgICAgcmV0dXJuIHggPSBhKHgsIHkpLCBiKHhbMF0sIHhbMV0pOworICB9CisK
KyAgaWYgKGEuaW52ZXJ0ICYmIGIuaW52ZXJ0KSBjb21wb3NlLmludmVydCA9IGZ1bmN0aW9uKHgs
IHkpIHsKKyAgICByZXR1cm4geCA9IGIuaW52ZXJ0KHgsIHkpLCB4ICYmIGEuaW52ZXJ0KHhbMF0s
IHhbMV0pOworICB9OworCisgIHJldHVybiBjb21wb3NlOworfQorCitmdW5jdGlvbiByb3RhdGlv
bklkZW50aXR5KGxhbWJkYSwgcGhpKSB7CisgIHJldHVybiBbYWJzKGxhbWJkYSkgPiBwaSQzID8g
bGFtYmRhICsgTWF0aC5yb3VuZCgtbGFtYmRhIC8gdGF1JDMpICogdGF1JDMgOiBsYW1iZGEsIHBo
aV07Cit9CisKK3JvdGF0aW9uSWRlbnRpdHkuaW52ZXJ0ID0gcm90YXRpb25JZGVudGl0eTsKKwor
ZnVuY3Rpb24gcm90YXRlUmFkaWFucyhkZWx0YUxhbWJkYSwgZGVsdGFQaGksIGRlbHRhR2FtbWEp
IHsKKyAgcmV0dXJuIChkZWx0YUxhbWJkYSAlPSB0YXUkMykgPyAoZGVsdGFQaGkgfHwgZGVsdGFH
YW1tYSA/IGNvbXBvc2Uocm90YXRpb25MYW1iZGEoZGVsdGFMYW1iZGEpLCByb3RhdGlvblBoaUdh
bW1hKGRlbHRhUGhpLCBkZWx0YUdhbW1hKSkKKyAgICA6IHJvdGF0aW9uTGFtYmRhKGRlbHRhTGFt
YmRhKSkKKyAgICA6IChkZWx0YVBoaSB8fCBkZWx0YUdhbW1hID8gcm90YXRpb25QaGlHYW1tYShk
ZWx0YVBoaSwgZGVsdGFHYW1tYSkKKyAgICA6IHJvdGF0aW9uSWRlbnRpdHkpOworfQorCitmdW5j
dGlvbiBmb3J3YXJkUm90YXRpb25MYW1iZGEoZGVsdGFMYW1iZGEpIHsKKyAgcmV0dXJuIGZ1bmN0
aW9uKGxhbWJkYSwgcGhpKSB7CisgICAgcmV0dXJuIGxhbWJkYSArPSBkZWx0YUxhbWJkYSwgW2xh
bWJkYSA+IHBpJDMgPyBsYW1iZGEgLSB0YXUkMyA6IGxhbWJkYSA8IC1waSQzID8gbGFtYmRhICsg
dGF1JDMgOiBsYW1iZGEsIHBoaV07CisgIH07Cit9CisKK2Z1bmN0aW9uIHJvdGF0aW9uTGFtYmRh
KGRlbHRhTGFtYmRhKSB7CisgIHZhciByb3RhdGlvbiA9IGZvcndhcmRSb3RhdGlvbkxhbWJkYShk
ZWx0YUxhbWJkYSk7CisgIHJvdGF0aW9uLmludmVydCA9IGZvcndhcmRSb3RhdGlvbkxhbWJkYSgt
ZGVsdGFMYW1iZGEpOworICByZXR1cm4gcm90YXRpb247Cit9CisKK2Z1bmN0aW9uIHJvdGF0aW9u
UGhpR2FtbWEoZGVsdGFQaGksIGRlbHRhR2FtbWEpIHsKKyAgdmFyIGNvc0RlbHRhUGhpID0gY29z
JDEoZGVsdGFQaGkpLAorICAgICAgc2luRGVsdGFQaGkgPSBzaW4kMShkZWx0YVBoaSksCisgICAg
ICBjb3NEZWx0YUdhbW1hID0gY29zJDEoZGVsdGFHYW1tYSksCisgICAgICBzaW5EZWx0YUdhbW1h
ID0gc2luJDEoZGVsdGFHYW1tYSk7CisKKyAgZnVuY3Rpb24gcm90YXRpb24obGFtYmRhLCBwaGkp
IHsKKyAgICB2YXIgY29zUGhpID0gY29zJDEocGhpKSwKKyAgICAgICAgeCA9IGNvcyQxKGxhbWJk
YSkgKiBjb3NQaGksCisgICAgICAgIHkgPSBzaW4kMShsYW1iZGEpICogY29zUGhpLAorICAgICAg
ICB6ID0gc2luJDEocGhpKSwKKyAgICAgICAgayA9IHogKiBjb3NEZWx0YVBoaSArIHggKiBzaW5E
ZWx0YVBoaTsKKyAgICByZXR1cm4gWworICAgICAgYXRhbjIoeSAqIGNvc0RlbHRhR2FtbWEgLSBr
ICogc2luRGVsdGFHYW1tYSwgeCAqIGNvc0RlbHRhUGhpIC0geiAqIHNpbkRlbHRhUGhpKSwKKyAg
ICAgIGFzaW4oayAqIGNvc0RlbHRhR2FtbWEgKyB5ICogc2luRGVsdGFHYW1tYSkKKyAgICBdOwor
ICB9CisKKyAgcm90YXRpb24uaW52ZXJ0ID0gZnVuY3Rpb24obGFtYmRhLCBwaGkpIHsKKyAgICB2
YXIgY29zUGhpID0gY29zJDEocGhpKSwKKyAgICAgICAgeCA9IGNvcyQxKGxhbWJkYSkgKiBjb3NQ
aGksCisgICAgICAgIHkgPSBzaW4kMShsYW1iZGEpICogY29zUGhpLAorICAgICAgICB6ID0gc2lu
JDEocGhpKSwKKyAgICAgICAgayA9IHogKiBjb3NEZWx0YUdhbW1hIC0geSAqIHNpbkRlbHRhR2Ft
bWE7CisgICAgcmV0dXJuIFsKKyAgICAgIGF0YW4yKHkgKiBjb3NEZWx0YUdhbW1hICsgeiAqIHNp
bkRlbHRhR2FtbWEsIHggKiBjb3NEZWx0YVBoaSArIGsgKiBzaW5EZWx0YVBoaSksCisgICAgICBh
c2luKGsgKiBjb3NEZWx0YVBoaSAtIHggKiBzaW5EZWx0YVBoaSkKKyAgICBdOworICB9OworCisg
IHJldHVybiByb3RhdGlvbjsKK30KKworZnVuY3Rpb24gcm90YXRpb24ocm90YXRlKSB7CisgIHJv
dGF0ZSA9IHJvdGF0ZVJhZGlhbnMocm90YXRlWzBdICogcmFkaWFucywgcm90YXRlWzFdICogcmFk
aWFucywgcm90YXRlLmxlbmd0aCA+IDIgPyByb3RhdGVbMl0gKiByYWRpYW5zIDogMCk7CisKKyAg
ZnVuY3Rpb24gZm9yd2FyZChjb29yZGluYXRlcykgeworICAgIGNvb3JkaW5hdGVzID0gcm90YXRl
KGNvb3JkaW5hdGVzWzBdICogcmFkaWFucywgY29vcmRpbmF0ZXNbMV0gKiByYWRpYW5zKTsKKyAg
ICByZXR1cm4gY29vcmRpbmF0ZXNbMF0gKj0gZGVncmVlcyQxLCBjb29yZGluYXRlc1sxXSAqPSBk
ZWdyZWVzJDEsIGNvb3JkaW5hdGVzOworICB9CisKKyAgZm9yd2FyZC5pbnZlcnQgPSBmdW5jdGlv
bihjb29yZGluYXRlcykgeworICAgIGNvb3JkaW5hdGVzID0gcm90YXRlLmludmVydChjb29yZGlu
YXRlc1swXSAqIHJhZGlhbnMsIGNvb3JkaW5hdGVzWzFdICogcmFkaWFucyk7CisgICAgcmV0dXJu
IGNvb3JkaW5hdGVzWzBdICo9IGRlZ3JlZXMkMSwgY29vcmRpbmF0ZXNbMV0gKj0gZGVncmVlcyQx
LCBjb29yZGluYXRlczsKKyAgfTsKKworICByZXR1cm4gZm9yd2FyZDsKK30KKworLy8gR2VuZXJh
dGVzIGEgY2lyY2xlIGNlbnRlcmVkIGF0IFswwrAsIDDCsF0sIHdpdGggYSBnaXZlbiByYWRpdXMg
YW5kIHByZWNpc2lvbi4KK2Z1bmN0aW9uIGNpcmNsZVN0cmVhbShzdHJlYW0sIHJhZGl1cywgZGVs
dGEsIGRpcmVjdGlvbiwgdDAsIHQxKSB7CisgIGlmICghZGVsdGEpIHJldHVybjsKKyAgdmFyIGNv
c1JhZGl1cyA9IGNvcyQxKHJhZGl1cyksCisgICAgICBzaW5SYWRpdXMgPSBzaW4kMShyYWRpdXMp
LAorICAgICAgc3RlcCA9IGRpcmVjdGlvbiAqIGRlbHRhOworICBpZiAodDAgPT0gbnVsbCkgewor
ICAgIHQwID0gcmFkaXVzICsgZGlyZWN0aW9uICogdGF1JDM7CisgICAgdDEgPSByYWRpdXMgLSBz
dGVwIC8gMjsKKyAgfSBlbHNlIHsKKyAgICB0MCA9IGNpcmNsZVJhZGl1cyhjb3NSYWRpdXMsIHQw
KTsKKyAgICB0MSA9IGNpcmNsZVJhZGl1cyhjb3NSYWRpdXMsIHQxKTsKKyAgICBpZiAoZGlyZWN0
aW9uID4gMCA/IHQwIDwgdDEgOiB0MCA+IHQxKSB0MCArPSBkaXJlY3Rpb24gKiB0YXUkMzsKKyAg
fQorICBmb3IgKHZhciBwb2ludCwgdCA9IHQwOyBkaXJlY3Rpb24gPiAwID8gdCA+IHQxIDogdCA8
IHQxOyB0IC09IHN0ZXApIHsKKyAgICBwb2ludCA9IHNwaGVyaWNhbChbY29zUmFkaXVzLCAtc2lu
UmFkaXVzICogY29zJDEodCksIC1zaW5SYWRpdXMgKiBzaW4kMSh0KV0pOworICAgIHN0cmVhbS5w
b2ludChwb2ludFswXSwgcG9pbnRbMV0pOworICB9Cit9CisKKy8vIFJldHVybnMgdGhlIHNpZ25l
ZCBhbmdsZSBvZiBhIGNhcnRlc2lhbiBwb2ludCByZWxhdGl2ZSB0byBbY29zUmFkaXVzLCAwLCAw
XS4KK2Z1bmN0aW9uIGNpcmNsZVJhZGl1cyhjb3NSYWRpdXMsIHBvaW50KSB7CisgIHBvaW50ID0g
Y2FydGVzaWFuKHBvaW50KSwgcG9pbnRbMF0gLT0gY29zUmFkaXVzOworICBjYXJ0ZXNpYW5Ob3Jt
YWxpemVJblBsYWNlKHBvaW50KTsKKyAgdmFyIHJhZGl1cyA9IGFjb3MoLXBvaW50WzFdKTsKKyAg
cmV0dXJuICgoLXBvaW50WzJdIDwgMCA/IC1yYWRpdXMgOiByYWRpdXMpICsgdGF1JDMgLSBlcHNp
bG9uJDIpICUgdGF1JDM7Cit9CisKK2Z1bmN0aW9uIGNpcmNsZSgpIHsKKyAgdmFyIGNlbnRlciA9
IGNvbnN0YW50JDgoWzAsIDBdKSwKKyAgICAgIHJhZGl1cyA9IGNvbnN0YW50JDgoOTApLAorICAg
ICAgcHJlY2lzaW9uID0gY29uc3RhbnQkOCg2KSwKKyAgICAgIHJpbmcsCisgICAgICByb3RhdGUs
CisgICAgICBzdHJlYW0gPSB7cG9pbnQ6IHBvaW50fTsKKworICBmdW5jdGlvbiBwb2ludCh4LCB5
KSB7CisgICAgcmluZy5wdXNoKHggPSByb3RhdGUoeCwgeSkpOworICAgIHhbMF0gKj0gZGVncmVl
cyQxLCB4WzFdICo9IGRlZ3JlZXMkMTsKKyAgfQorCisgIGZ1bmN0aW9uIGNpcmNsZSgpIHsKKyAg
ICB2YXIgYyA9IGNlbnRlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpLAorICAgICAgICByID0gcmFk
aXVzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgKiByYWRpYW5zLAorICAgICAgICBwID0gcHJlY2lz
aW9uLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgKiByYWRpYW5zOworICAgIHJpbmcgPSBbXTsKKyAg
ICByb3RhdGUgPSByb3RhdGVSYWRpYW5zKC1jWzBdICogcmFkaWFucywgLWNbMV0gKiByYWRpYW5z
LCAwKS5pbnZlcnQ7CisgICAgY2lyY2xlU3RyZWFtKHN0cmVhbSwgciwgcCwgMSk7CisgICAgYyA9
IHt0eXBlOiAiUG9seWdvbiIsIGNvb3JkaW5hdGVzOiBbcmluZ119OworICAgIHJpbmcgPSByb3Rh
dGUgPSBudWxsOworICAgIHJldHVybiBjOworICB9CisKKyAgY2lyY2xlLmNlbnRlciA9IGZ1bmN0
aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChjZW50ZXIgPSB0eXBlb2Yg
XyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCQ4KFsrX1swXSwgK19bMV1dKSwgY2lyY2xl
KSA6IGNlbnRlcjsKKyAgfTsKKworICBjaXJjbGUucmFkaXVzID0gZnVuY3Rpb24oXykgeworICAg
IHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJhZGl1cyA9IHR5cGVvZiBfID09PSAiZnVuY3Rp
b24iID8gXyA6IGNvbnN0YW50JDgoK18pLCBjaXJjbGUpIDogcmFkaXVzOworICB9OworCisgIGNp
cmNsZS5wcmVjaXNpb24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAocHJlY2lzaW9uID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQk
OCgrXyksIGNpcmNsZSkgOiBwcmVjaXNpb247CisgIH07CisKKyAgcmV0dXJuIGNpcmNsZTsKK30K
KworZnVuY3Rpb24gY2xpcEJ1ZmZlcigpIHsKKyAgdmFyIGxpbmVzID0gW10sCisgICAgICBsaW5l
OworICByZXR1cm4geworICAgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgICBsaW5lLnB1
c2goW3gsIHldKTsKKyAgICB9LAorICAgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgICBs
aW5lcy5wdXNoKGxpbmUgPSBbXSk7CisgICAgfSwKKyAgICBsaW5lRW5kOiBub29wJDIsCisgICAg
cmVqb2luOiBmdW5jdGlvbigpIHsKKyAgICAgIGlmIChsaW5lcy5sZW5ndGggPiAxKSBsaW5lcy5w
dXNoKGxpbmVzLnBvcCgpLmNvbmNhdChsaW5lcy5zaGlmdCgpKSk7CisgICAgfSwKKyAgICByZXN1
bHQ6IGZ1bmN0aW9uKCkgeworICAgICAgdmFyIHJlc3VsdCA9IGxpbmVzOworICAgICAgbGluZXMg
PSBbXTsKKyAgICAgIGxpbmUgPSBudWxsOworICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9Cisg
IH07Cit9CisKK2Z1bmN0aW9uIHBvaW50RXF1YWwoYSwgYikgeworICByZXR1cm4gYWJzKGFbMF0g
LSBiWzBdKSA8IGVwc2lsb24kMiAmJiBhYnMoYVsxXSAtIGJbMV0pIDwgZXBzaWxvbiQyOworfQor
CitmdW5jdGlvbiBJbnRlcnNlY3Rpb24ocG9pbnQsIHBvaW50cywgb3RoZXIsIGVudHJ5KSB7Cisg
IHRoaXMueCA9IHBvaW50OworICB0aGlzLnogPSBwb2ludHM7CisgIHRoaXMubyA9IG90aGVyOyAv
LyBhbm90aGVyIGludGVyc2VjdGlvbgorICB0aGlzLmUgPSBlbnRyeTsgLy8gaXMgYW4gZW50cnk/
CisgIHRoaXMudiA9IGZhbHNlOyAvLyB2aXNpdGVkCisgIHRoaXMubiA9IHRoaXMucCA9IG51bGw7
IC8vIG5leHQgJiBwcmV2aW91cworfQorCisvLyBBIGdlbmVyYWxpemVkIHBvbHlnb24gY2xpcHBp
bmcgYWxnb3JpdGhtOiBnaXZlbiBhIHBvbHlnb24gdGhhdCBoYXMgYmVlbiBjdXQKKy8vIGludG8g
aXRzIHZpc2libGUgbGluZSBzZWdtZW50cywgYW5kIHJlam9pbnMgdGhlIHNlZ21lbnRzIGJ5IGlu
dGVycG9sYXRpbmcKKy8vIGFsb25nIHRoZSBjbGlwIGVkZ2UuCitmdW5jdGlvbiBjbGlwUmVqb2lu
KHNlZ21lbnRzLCBjb21wYXJlSW50ZXJzZWN0aW9uLCBzdGFydEluc2lkZSwgaW50ZXJwb2xhdGUs
IHN0cmVhbSkgeworICB2YXIgc3ViamVjdCA9IFtdLAorICAgICAgY2xpcCA9IFtdLAorICAgICAg
aSwKKyAgICAgIG47CisKKyAgc2VnbWVudHMuZm9yRWFjaChmdW5jdGlvbihzZWdtZW50KSB7Cisg
ICAgaWYgKChuID0gc2VnbWVudC5sZW5ndGggLSAxKSA8PSAwKSByZXR1cm47CisgICAgdmFyIG4s
IHAwID0gc2VnbWVudFswXSwgcDEgPSBzZWdtZW50W25dLCB4OworCisgICAgLy8gSWYgdGhlIGZp
cnN0IGFuZCBsYXN0IHBvaW50cyBvZiBhIHNlZ21lbnQgYXJlIGNvaW5jaWRlbnQsIHRoZW4gdHJl
YXQgYXMgYQorICAgIC8vIGNsb3NlZCByaW5nLiBUT0RPIGlmIGFsbCByaW5ncyBhcmUgY2xvc2Vk
LCB0aGVuIHRoZSB3aW5kaW5nIG9yZGVyIG9mIHRoZQorICAgIC8vIGV4dGVyaW9yIHJpbmcgc2hv
dWxkIGJlIGNoZWNrZWQuCisgICAgaWYgKHBvaW50RXF1YWwocDAsIHAxKSkgeworICAgICAgc3Ry
ZWFtLmxpbmVTdGFydCgpOworICAgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgc3RyZWFtLnBv
aW50KChwMCA9IHNlZ21lbnRbaV0pWzBdLCBwMFsxXSk7CisgICAgICBzdHJlYW0ubGluZUVuZCgp
OworICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHN1YmplY3QucHVzaCh4ID0gbmV3IEludGVy
c2VjdGlvbihwMCwgc2VnbWVudCwgbnVsbCwgdHJ1ZSkpOworICAgIGNsaXAucHVzaCh4Lm8gPSBu
ZXcgSW50ZXJzZWN0aW9uKHAwLCBudWxsLCB4LCBmYWxzZSkpOworICAgIHN1YmplY3QucHVzaCh4
ID0gbmV3IEludGVyc2VjdGlvbihwMSwgc2VnbWVudCwgbnVsbCwgZmFsc2UpKTsKKyAgICBjbGlw
LnB1c2goeC5vID0gbmV3IEludGVyc2VjdGlvbihwMSwgbnVsbCwgeCwgdHJ1ZSkpOworICB9KTsK
KworICBpZiAoIXN1YmplY3QubGVuZ3RoKSByZXR1cm47CisKKyAgY2xpcC5zb3J0KGNvbXBhcmVJ
bnRlcnNlY3Rpb24pOworICBsaW5rJDEoc3ViamVjdCk7CisgIGxpbmskMShjbGlwKTsKKworICBm
b3IgKGkgPSAwLCBuID0gY2xpcC5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICBjbGlwW2ldLmUg
PSBzdGFydEluc2lkZSA9ICFzdGFydEluc2lkZTsKKyAgfQorCisgIHZhciBzdGFydCA9IHN1Ympl
Y3RbMF0sCisgICAgICBwb2ludHMsCisgICAgICBwb2ludDsKKworICB3aGlsZSAoMSkgeworICAg
IC8vIEZpbmQgZmlyc3QgdW52aXNpdGVkIGludGVyc2VjdGlvbi4KKyAgICB2YXIgY3VycmVudCA9
IHN0YXJ0LAorICAgICAgICBpc1N1YmplY3QgPSB0cnVlOworICAgIHdoaWxlIChjdXJyZW50LnYp
IGlmICgoY3VycmVudCA9IGN1cnJlbnQubikgPT09IHN0YXJ0KSByZXR1cm47CisgICAgcG9pbnRz
ID0gY3VycmVudC56OworICAgIHN0cmVhbS5saW5lU3RhcnQoKTsKKyAgICBkbyB7CisgICAgICBj
dXJyZW50LnYgPSBjdXJyZW50Lm8udiA9IHRydWU7CisgICAgICBpZiAoY3VycmVudC5lKSB7Cisg
ICAgICAgIGlmIChpc1N1YmplY3QpIHsKKyAgICAgICAgICBmb3IgKGkgPSAwLCBuID0gcG9pbnRz
Lmxlbmd0aDsgaSA8IG47ICsraSkgc3RyZWFtLnBvaW50KChwb2ludCA9IHBvaW50c1tpXSlbMF0s
IHBvaW50WzFdKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBpbnRlcnBvbGF0ZShjdXJy
ZW50LngsIGN1cnJlbnQubi54LCAxLCBzdHJlYW0pOworICAgICAgICB9CisgICAgICAgIGN1cnJl
bnQgPSBjdXJyZW50Lm47CisgICAgICB9IGVsc2UgeworICAgICAgICBpZiAoaXNTdWJqZWN0KSB7
CisgICAgICAgICAgcG9pbnRzID0gY3VycmVudC5wLno7CisgICAgICAgICAgZm9yIChpID0gcG9p
bnRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSBzdHJlYW0ucG9pbnQoKHBvaW50ID0gcG9pbnRz
W2ldKVswXSwgcG9pbnRbMV0pOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIGludGVycG9s
YXRlKGN1cnJlbnQueCwgY3VycmVudC5wLngsIC0xLCBzdHJlYW0pOworICAgICAgICB9CisgICAg
ICAgIGN1cnJlbnQgPSBjdXJyZW50LnA7CisgICAgICB9CisgICAgICBjdXJyZW50ID0gY3VycmVu
dC5vOworICAgICAgcG9pbnRzID0gY3VycmVudC56OworICAgICAgaXNTdWJqZWN0ID0gIWlzU3Vi
amVjdDsKKyAgICB9IHdoaWxlICghY3VycmVudC52KTsKKyAgICBzdHJlYW0ubGluZUVuZCgpOwor
ICB9Cit9CisKK2Z1bmN0aW9uIGxpbmskMShhcnJheSkgeworICBpZiAoIShuID0gYXJyYXkubGVu
Z3RoKSkgcmV0dXJuOworICB2YXIgbiwKKyAgICAgIGkgPSAwLAorICAgICAgYSA9IGFycmF5WzBd
LAorICAgICAgYjsKKyAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICBhLm4gPSBiID0gYXJyYXlbaV07
CisgICAgYi5wID0gYTsKKyAgICBhID0gYjsKKyAgfQorICBhLm4gPSBiID0gYXJyYXlbMF07Cisg
IGIucCA9IGE7Cit9CisKK3ZhciBzdW0kMSA9IGFkZGVyKCk7CisKK2Z1bmN0aW9uIGxvbmdpdHVk
ZShwb2ludCkgeworICBpZiAoYWJzKHBvaW50WzBdKSA8PSBwaSQzKQorICAgIHJldHVybiBwb2lu
dFswXTsKKyAgZWxzZQorICAgIHJldHVybiBzaWduKHBvaW50WzBdKSAqICgoYWJzKHBvaW50WzBd
KSArIHBpJDMpICUgdGF1JDMgLSBwaSQzKTsKK30KKworZnVuY3Rpb24gcG9seWdvbkNvbnRhaW5z
KHBvbHlnb24sIHBvaW50KSB7CisgIHZhciBsYW1iZGEgPSBsb25naXR1ZGUocG9pbnQpLAorICAg
ICAgcGhpID0gcG9pbnRbMV0sCisgICAgICBzaW5QaGkgPSBzaW4kMShwaGkpLAorICAgICAgbm9y
bWFsID0gW3NpbiQxKGxhbWJkYSksIC1jb3MkMShsYW1iZGEpLCAwXSwKKyAgICAgIGFuZ2xlID0g
MCwKKyAgICAgIHdpbmRpbmcgPSAwOworCisgIHN1bSQxLnJlc2V0KCk7CisKKyAgaWYgKHNpblBo
aSA9PT0gMSkgcGhpID0gaGFsZlBpJDIgKyBlcHNpbG9uJDI7CisgIGVsc2UgaWYgKHNpblBoaSA9
PT0gLTEpIHBoaSA9IC1oYWxmUGkkMiAtIGVwc2lsb24kMjsKKworICBmb3IgKHZhciBpID0gMCwg
biA9IHBvbHlnb24ubGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgaWYgKCEobSA9IChyaW5nID0g
cG9seWdvbltpXSkubGVuZ3RoKSkgY29udGludWU7CisgICAgdmFyIHJpbmcsCisgICAgICAgIG0s
CisgICAgICAgIHBvaW50MCA9IHJpbmdbbSAtIDFdLAorICAgICAgICBsYW1iZGEwID0gbG9uZ2l0
dWRlKHBvaW50MCksCisgICAgICAgIHBoaTAgPSBwb2ludDBbMV0gLyAyICsgcXVhcnRlclBpLAor
ICAgICAgICBzaW5QaGkwID0gc2luJDEocGhpMCksCisgICAgICAgIGNvc1BoaTAgPSBjb3MkMShw
aGkwKTsKKworICAgIGZvciAodmFyIGogPSAwOyBqIDwgbTsgKytqLCBsYW1iZGEwID0gbGFtYmRh
MSwgc2luUGhpMCA9IHNpblBoaTEsIGNvc1BoaTAgPSBjb3NQaGkxLCBwb2ludDAgPSBwb2ludDEp
IHsKKyAgICAgIHZhciBwb2ludDEgPSByaW5nW2pdLAorICAgICAgICAgIGxhbWJkYTEgPSBsb25n
aXR1ZGUocG9pbnQxKSwKKyAgICAgICAgICBwaGkxID0gcG9pbnQxWzFdIC8gMiArIHF1YXJ0ZXJQ
aSwKKyAgICAgICAgICBzaW5QaGkxID0gc2luJDEocGhpMSksCisgICAgICAgICAgY29zUGhpMSA9
IGNvcyQxKHBoaTEpLAorICAgICAgICAgIGRlbHRhID0gbGFtYmRhMSAtIGxhbWJkYTAsCisgICAg
ICAgICAgc2lnbiA9IGRlbHRhID49IDAgPyAxIDogLTEsCisgICAgICAgICAgYWJzRGVsdGEgPSBz
aWduICogZGVsdGEsCisgICAgICAgICAgYW50aW1lcmlkaWFuID0gYWJzRGVsdGEgPiBwaSQzLAor
ICAgICAgICAgIGsgPSBzaW5QaGkwICogc2luUGhpMTsKKworICAgICAgc3VtJDEuYWRkKGF0YW4y
KGsgKiBzaWduICogc2luJDEoYWJzRGVsdGEpLCBjb3NQaGkwICogY29zUGhpMSArIGsgKiBjb3Mk
MShhYnNEZWx0YSkpKTsKKyAgICAgIGFuZ2xlICs9IGFudGltZXJpZGlhbiA/IGRlbHRhICsgc2ln
biAqIHRhdSQzIDogZGVsdGE7CisKKyAgICAgIC8vIEFyZSB0aGUgbG9uZ2l0dWRlcyBlaXRoZXIg
c2lkZSBvZiB0aGUgcG9pbnTigJlzIG1lcmlkaWFuIChsYW1iZGEpLAorICAgICAgLy8gYW5kIGFy
ZSB0aGUgbGF0aXR1ZGVzIHNtYWxsZXIgdGhhbiB0aGUgcGFyYWxsZWwgKHBoaSk/CisgICAgICBp
ZiAoYW50aW1lcmlkaWFuIF4gbGFtYmRhMCA+PSBsYW1iZGEgXiBsYW1iZGExID49IGxhbWJkYSkg
eworICAgICAgICB2YXIgYXJjID0gY2FydGVzaWFuQ3Jvc3MoY2FydGVzaWFuKHBvaW50MCksIGNh
cnRlc2lhbihwb2ludDEpKTsKKyAgICAgICAgY2FydGVzaWFuTm9ybWFsaXplSW5QbGFjZShhcmMp
OworICAgICAgICB2YXIgaW50ZXJzZWN0aW9uID0gY2FydGVzaWFuQ3Jvc3Mobm9ybWFsLCBhcmMp
OworICAgICAgICBjYXJ0ZXNpYW5Ob3JtYWxpemVJblBsYWNlKGludGVyc2VjdGlvbik7CisgICAg
ICAgIHZhciBwaGlBcmMgPSAoYW50aW1lcmlkaWFuIF4gZGVsdGEgPj0gMCA/IC0xIDogMSkgKiBh
c2luKGludGVyc2VjdGlvblsyXSk7CisgICAgICAgIGlmIChwaGkgPiBwaGlBcmMgfHwgcGhpID09
PSBwaGlBcmMgJiYgKGFyY1swXSB8fCBhcmNbMV0pKSB7CisgICAgICAgICAgd2luZGluZyArPSBh
bnRpbWVyaWRpYW4gXiBkZWx0YSA+PSAwID8gMSA6IC0xOworICAgICAgICB9CisgICAgICB9Cisg
ICAgfQorICB9CisKKyAgLy8gRmlyc3QsIGRldGVybWluZSB3aGV0aGVyIHRoZSBTb3V0aCBwb2xl
IGlzIGluc2lkZSBvciBvdXRzaWRlOgorICAvLworICAvLyBJdCBpcyBpbnNpZGUgaWY6CisgIC8v
ICogdGhlIHBvbHlnb24gd2luZHMgYXJvdW5kIGl0IGluIGEgY2xvY2t3aXNlIGRpcmVjdGlvbi4K
KyAgLy8gKiB0aGUgcG9seWdvbiBkb2VzIG5vdCAoY3VtdWxhdGl2ZWx5KSB3aW5kIGFyb3VuZCBp
dCwgYnV0IGhhcyBhIG5lZ2F0aXZlCisgIC8vICAgKGNvdW50ZXItY2xvY2t3aXNlKSBhcmVhLgor
ICAvLworICAvLyBTZWNvbmQsIGNvdW50IHRoZSAoc2lnbmVkKSBudW1iZXIgb2YgdGltZXMgYSBz
ZWdtZW50IGNyb3NzZXMgYSBsYW1iZGEKKyAgLy8gZnJvbSB0aGUgcG9pbnQgdG8gdGhlIFNvdXRo
IHBvbGUuICBJZiBpdCBpcyB6ZXJvLCB0aGVuIHRoZSBwb2ludCBpcyB0aGUKKyAgLy8gc2FtZSBz
aWRlIGFzIHRoZSBTb3V0aCBwb2xlLgorCisgIHJldHVybiAoYW5nbGUgPCAtZXBzaWxvbiQyIHx8
IGFuZ2xlIDwgZXBzaWxvbiQyICYmIHN1bSQxIDwgLWVwc2lsb24kMikgXiAod2luZGluZyAmIDEp
OworfQorCitmdW5jdGlvbiBjbGlwKHBvaW50VmlzaWJsZSwgY2xpcExpbmUsIGludGVycG9sYXRl
LCBzdGFydCkgeworICByZXR1cm4gZnVuY3Rpb24oc2luaykgeworICAgIHZhciBsaW5lID0gY2xp
cExpbmUoc2luayksCisgICAgICAgIHJpbmdCdWZmZXIgPSBjbGlwQnVmZmVyKCksCisgICAgICAg
IHJpbmdTaW5rID0gY2xpcExpbmUocmluZ0J1ZmZlciksCisgICAgICAgIHBvbHlnb25TdGFydGVk
ID0gZmFsc2UsCisgICAgICAgIHBvbHlnb24sCisgICAgICAgIHNlZ21lbnRzLAorICAgICAgICBy
aW5nOworCisgICAgdmFyIGNsaXAgPSB7CisgICAgICBwb2ludDogcG9pbnQsCisgICAgICBsaW5l
U3RhcnQ6IGxpbmVTdGFydCwKKyAgICAgIGxpbmVFbmQ6IGxpbmVFbmQsCisgICAgICBwb2x5Z29u
U3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgICAgICBjbGlwLnBvaW50ID0gcG9pbnRSaW5nOworICAg
ICAgICBjbGlwLmxpbmVTdGFydCA9IHJpbmdTdGFydDsKKyAgICAgICAgY2xpcC5saW5lRW5kID0g
cmluZ0VuZDsKKyAgICAgICAgc2VnbWVudHMgPSBbXTsKKyAgICAgICAgcG9seWdvbiA9IFtdOwor
ICAgICAgfSwKKyAgICAgIHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgICAgICBjbGlwLnBv
aW50ID0gcG9pbnQ7CisgICAgICAgIGNsaXAubGluZVN0YXJ0ID0gbGluZVN0YXJ0OworICAgICAg
ICBjbGlwLmxpbmVFbmQgPSBsaW5lRW5kOworICAgICAgICBzZWdtZW50cyA9IG1lcmdlKHNlZ21l
bnRzKTsKKyAgICAgICAgdmFyIHN0YXJ0SW5zaWRlID0gcG9seWdvbkNvbnRhaW5zKHBvbHlnb24s
IHN0YXJ0KTsKKyAgICAgICAgaWYgKHNlZ21lbnRzLmxlbmd0aCkgeworICAgICAgICAgIGlmICgh
cG9seWdvblN0YXJ0ZWQpIHNpbmsucG9seWdvblN0YXJ0KCksIHBvbHlnb25TdGFydGVkID0gdHJ1
ZTsKKyAgICAgICAgICBjbGlwUmVqb2luKHNlZ21lbnRzLCBjb21wYXJlSW50ZXJzZWN0aW9uLCBz
dGFydEluc2lkZSwgaW50ZXJwb2xhdGUsIHNpbmspOworICAgICAgICB9IGVsc2UgaWYgKHN0YXJ0
SW5zaWRlKSB7CisgICAgICAgICAgaWYgKCFwb2x5Z29uU3RhcnRlZCkgc2luay5wb2x5Z29uU3Rh
cnQoKSwgcG9seWdvblN0YXJ0ZWQgPSB0cnVlOworICAgICAgICAgIHNpbmsubGluZVN0YXJ0KCk7
CisgICAgICAgICAgaW50ZXJwb2xhdGUobnVsbCwgbnVsbCwgMSwgc2luayk7CisgICAgICAgICAg
c2luay5saW5lRW5kKCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHBvbHlnb25TdGFydGVkKSBz
aW5rLnBvbHlnb25FbmQoKSwgcG9seWdvblN0YXJ0ZWQgPSBmYWxzZTsKKyAgICAgICAgc2VnbWVu
dHMgPSBwb2x5Z29uID0gbnVsbDsKKyAgICAgIH0sCisgICAgICBzcGhlcmU6IGZ1bmN0aW9uKCkg
eworICAgICAgICBzaW5rLnBvbHlnb25TdGFydCgpOworICAgICAgICBzaW5rLmxpbmVTdGFydCgp
OworICAgICAgICBpbnRlcnBvbGF0ZShudWxsLCBudWxsLCAxLCBzaW5rKTsKKyAgICAgICAgc2lu
ay5saW5lRW5kKCk7CisgICAgICAgIHNpbmsucG9seWdvbkVuZCgpOworICAgICAgfQorICAgIH07
CisKKyAgICBmdW5jdGlvbiBwb2ludChsYW1iZGEsIHBoaSkgeworICAgICAgaWYgKHBvaW50Vmlz
aWJsZShsYW1iZGEsIHBoaSkpIHNpbmsucG9pbnQobGFtYmRhLCBwaGkpOworICAgIH0KKworICAg
IGZ1bmN0aW9uIHBvaW50TGluZShsYW1iZGEsIHBoaSkgeworICAgICAgbGluZS5wb2ludChsYW1i
ZGEsIHBoaSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbGluZVN0YXJ0KCkgeworICAgICAgY2xp
cC5wb2ludCA9IHBvaW50TGluZTsKKyAgICAgIGxpbmUubGluZVN0YXJ0KCk7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gbGluZUVuZCgpIHsKKyAgICAgIGNsaXAucG9pbnQgPSBwb2ludDsKKyAgICAg
IGxpbmUubGluZUVuZCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHBvaW50UmluZyhsYW1iZGEs
IHBoaSkgeworICAgICAgcmluZy5wdXNoKFtsYW1iZGEsIHBoaV0pOworICAgICAgcmluZ1Npbmsu
cG9pbnQobGFtYmRhLCBwaGkpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJpbmdTdGFydCgpIHsK
KyAgICAgIHJpbmdTaW5rLmxpbmVTdGFydCgpOworICAgICAgcmluZyA9IFtdOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIHJpbmdFbmQoKSB7CisgICAgICBwb2ludFJpbmcocmluZ1swXVswXSwgcmlu
Z1swXVsxXSk7CisgICAgICByaW5nU2luay5saW5lRW5kKCk7CisKKyAgICAgIHZhciBjbGVhbiA9
IHJpbmdTaW5rLmNsZWFuKCksCisgICAgICAgICAgcmluZ1NlZ21lbnRzID0gcmluZ0J1ZmZlci5y
ZXN1bHQoKSwKKyAgICAgICAgICBpLCBuID0gcmluZ1NlZ21lbnRzLmxlbmd0aCwgbSwKKyAgICAg
ICAgICBzZWdtZW50LAorICAgICAgICAgIHBvaW50OworCisgICAgICByaW5nLnBvcCgpOworICAg
ICAgcG9seWdvbi5wdXNoKHJpbmcpOworICAgICAgcmluZyA9IG51bGw7CisKKyAgICAgIGlmICgh
bikgcmV0dXJuOworCisgICAgICAvLyBObyBpbnRlcnNlY3Rpb25zLgorICAgICAgaWYgKGNsZWFu
ICYgMSkgeworICAgICAgICBzZWdtZW50ID0gcmluZ1NlZ21lbnRzWzBdOworICAgICAgICBpZiAo
KG0gPSBzZWdtZW50Lmxlbmd0aCAtIDEpID4gMCkgeworICAgICAgICAgIGlmICghcG9seWdvblN0
YXJ0ZWQpIHNpbmsucG9seWdvblN0YXJ0KCksIHBvbHlnb25TdGFydGVkID0gdHJ1ZTsKKyAgICAg
ICAgICBzaW5rLmxpbmVTdGFydCgpOworICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBtOyArK2kp
IHNpbmsucG9pbnQoKHBvaW50ID0gc2VnbWVudFtpXSlbMF0sIHBvaW50WzFdKTsKKyAgICAgICAg
ICBzaW5rLmxpbmVFbmQoKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm47CisgICAgICB9CisK
KyAgICAgIC8vIFJlam9pbiBjb25uZWN0ZWQgc2VnbWVudHMuCisgICAgICAvLyBUT0RPIHJldXNl
IHJpbmdCdWZmZXIucmVqb2luKCk/CisgICAgICBpZiAobiA+IDEgJiYgY2xlYW4gJiAyKSByaW5n
U2VnbWVudHMucHVzaChyaW5nU2VnbWVudHMucG9wKCkuY29uY2F0KHJpbmdTZWdtZW50cy5zaGlm
dCgpKSk7CisKKyAgICAgIHNlZ21lbnRzLnB1c2gocmluZ1NlZ21lbnRzLmZpbHRlcih2YWxpZFNl
Z21lbnQpKTsKKyAgICB9CisKKyAgICByZXR1cm4gY2xpcDsKKyAgfTsKK30KKworZnVuY3Rpb24g
dmFsaWRTZWdtZW50KHNlZ21lbnQpIHsKKyAgcmV0dXJuIHNlZ21lbnQubGVuZ3RoID4gMTsKK30K
KworLy8gSW50ZXJzZWN0aW9ucyBhcmUgc29ydGVkIGFsb25nIHRoZSBjbGlwIGVkZ2UuIEZvciBi
b3RoIGFudGltZXJpZGlhbiBjdXR0aW5nCisvLyBhbmQgY2lyY2xlIGNsaXBwaW5nLCB0aGUgc2Ft
ZSBjb21wYXJpc29uIGlzIHVzZWQuCitmdW5jdGlvbiBjb21wYXJlSW50ZXJzZWN0aW9uKGEsIGIp
IHsKKyAgcmV0dXJuICgoYSA9IGEueClbMF0gPCAwID8gYVsxXSAtIGhhbGZQaSQyIC0gZXBzaWxv
biQyIDogaGFsZlBpJDIgLSBhWzFdKQorICAgICAgIC0gKChiID0gYi54KVswXSA8IDAgPyBiWzFd
IC0gaGFsZlBpJDIgLSBlcHNpbG9uJDIgOiBoYWxmUGkkMiAtIGJbMV0pOworfQorCit2YXIgY2xp
cEFudGltZXJpZGlhbiA9IGNsaXAoCisgIGZ1bmN0aW9uKCkgeyByZXR1cm4gdHJ1ZTsgfSwKKyAg
Y2xpcEFudGltZXJpZGlhbkxpbmUsCisgIGNsaXBBbnRpbWVyaWRpYW5JbnRlcnBvbGF0ZSwKKyAg
Wy1waSQzLCAtaGFsZlBpJDJdCispOworCisvLyBUYWtlcyBhIGxpbmUgYW5kIGN1dHMgaW50byB2
aXNpYmxlIHNlZ21lbnRzLiBSZXR1cm4gdmFsdWVzOiAwIC0gdGhlcmUgd2VyZQorLy8gaW50ZXJz
ZWN0aW9ucyBvciB0aGUgbGluZSB3YXMgZW1wdHk7IDEgLSBubyBpbnRlcnNlY3Rpb25zOyAyIC0g
dGhlcmUgd2VyZQorLy8gaW50ZXJzZWN0aW9ucywgYW5kIHRoZSBmaXJzdCBhbmQgbGFzdCBzZWdt
ZW50cyBzaG91bGQgYmUgcmVqb2luZWQuCitmdW5jdGlvbiBjbGlwQW50aW1lcmlkaWFuTGluZShz
dHJlYW0pIHsKKyAgdmFyIGxhbWJkYTAgPSBOYU4sCisgICAgICBwaGkwID0gTmFOLAorICAgICAg
c2lnbjAgPSBOYU4sCisgICAgICBjbGVhbjsgLy8gbm8gaW50ZXJzZWN0aW9ucworCisgIHJldHVy
biB7CisgICAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICAgIHN0cmVhbS5saW5lU3RhcnQo
KTsKKyAgICAgIGNsZWFuID0gMTsKKyAgICB9LAorICAgIHBvaW50OiBmdW5jdGlvbihsYW1iZGEx
LCBwaGkxKSB7CisgICAgICB2YXIgc2lnbjEgPSBsYW1iZGExID4gMCA/IHBpJDMgOiAtcGkkMywK
KyAgICAgICAgICBkZWx0YSA9IGFicyhsYW1iZGExIC0gbGFtYmRhMCk7CisgICAgICBpZiAoYWJz
KGRlbHRhIC0gcGkkMykgPCBlcHNpbG9uJDIpIHsgLy8gbGluZSBjcm9zc2VzIGEgcG9sZQorICAg
ICAgICBzdHJlYW0ucG9pbnQobGFtYmRhMCwgcGhpMCA9IChwaGkwICsgcGhpMSkgLyAyID4gMCA/
IGhhbGZQaSQyIDogLWhhbGZQaSQyKTsKKyAgICAgICAgc3RyZWFtLnBvaW50KHNpZ24wLCBwaGkw
KTsKKyAgICAgICAgc3RyZWFtLmxpbmVFbmQoKTsKKyAgICAgICAgc3RyZWFtLmxpbmVTdGFydCgp
OworICAgICAgICBzdHJlYW0ucG9pbnQoc2lnbjEsIHBoaTApOworICAgICAgICBzdHJlYW0ucG9p
bnQobGFtYmRhMSwgcGhpMCk7CisgICAgICAgIGNsZWFuID0gMDsKKyAgICAgIH0gZWxzZSBpZiAo
c2lnbjAgIT09IHNpZ24xICYmIGRlbHRhID49IHBpJDMpIHsgLy8gbGluZSBjcm9zc2VzIGFudGlt
ZXJpZGlhbgorICAgICAgICBpZiAoYWJzKGxhbWJkYTAgLSBzaWduMCkgPCBlcHNpbG9uJDIpIGxh
bWJkYTAgLT0gc2lnbjAgKiBlcHNpbG9uJDI7IC8vIGhhbmRsZSBkZWdlbmVyYWNpZXMKKyAgICAg
ICAgaWYgKGFicyhsYW1iZGExIC0gc2lnbjEpIDwgZXBzaWxvbiQyKSBsYW1iZGExIC09IHNpZ24x
ICogZXBzaWxvbiQyOworICAgICAgICBwaGkwID0gY2xpcEFudGltZXJpZGlhbkludGVyc2VjdChs
YW1iZGEwLCBwaGkwLCBsYW1iZGExLCBwaGkxKTsKKyAgICAgICAgc3RyZWFtLnBvaW50KHNpZ24w
LCBwaGkwKTsKKyAgICAgICAgc3RyZWFtLmxpbmVFbmQoKTsKKyAgICAgICAgc3RyZWFtLmxpbmVT
dGFydCgpOworICAgICAgICBzdHJlYW0ucG9pbnQoc2lnbjEsIHBoaTApOworICAgICAgICBjbGVh
biA9IDA7CisgICAgICB9CisgICAgICBzdHJlYW0ucG9pbnQobGFtYmRhMCA9IGxhbWJkYTEsIHBo
aTAgPSBwaGkxKTsKKyAgICAgIHNpZ24wID0gc2lnbjE7CisgICAgfSwKKyAgICBsaW5lRW5kOiBm
dW5jdGlvbigpIHsKKyAgICAgIHN0cmVhbS5saW5lRW5kKCk7CisgICAgICBsYW1iZGEwID0gcGhp
MCA9IE5hTjsKKyAgICB9LAorICAgIGNsZWFuOiBmdW5jdGlvbigpIHsKKyAgICAgIHJldHVybiAy
IC0gY2xlYW47IC8vIGlmIGludGVyc2VjdGlvbnMsIHJlam9pbiBmaXJzdCBhbmQgbGFzdCBzZWdt
ZW50cworICAgIH0KKyAgfTsKK30KKworZnVuY3Rpb24gY2xpcEFudGltZXJpZGlhbkludGVyc2Vj
dChsYW1iZGEwLCBwaGkwLCBsYW1iZGExLCBwaGkxKSB7CisgIHZhciBjb3NQaGkwLAorICAgICAg
Y29zUGhpMSwKKyAgICAgIHNpbkxhbWJkYTBMYW1iZGExID0gc2luJDEobGFtYmRhMCAtIGxhbWJk
YTEpOworICByZXR1cm4gYWJzKHNpbkxhbWJkYTBMYW1iZGExKSA+IGVwc2lsb24kMgorICAgICAg
PyBhdGFuKChzaW4kMShwaGkwKSAqIChjb3NQaGkxID0gY29zJDEocGhpMSkpICogc2luJDEobGFt
YmRhMSkKKyAgICAgICAgICAtIHNpbiQxKHBoaTEpICogKGNvc1BoaTAgPSBjb3MkMShwaGkwKSkg
KiBzaW4kMShsYW1iZGEwKSkKKyAgICAgICAgICAvIChjb3NQaGkwICogY29zUGhpMSAqIHNpbkxh
bWJkYTBMYW1iZGExKSkKKyAgICAgIDogKHBoaTAgKyBwaGkxKSAvIDI7Cit9CisKK2Z1bmN0aW9u
IGNsaXBBbnRpbWVyaWRpYW5JbnRlcnBvbGF0ZShmcm9tLCB0bywgZGlyZWN0aW9uLCBzdHJlYW0p
IHsKKyAgdmFyIHBoaTsKKyAgaWYgKGZyb20gPT0gbnVsbCkgeworICAgIHBoaSA9IGRpcmVjdGlv
biAqIGhhbGZQaSQyOworICAgIHN0cmVhbS5wb2ludCgtcGkkMywgcGhpKTsKKyAgICBzdHJlYW0u
cG9pbnQoMCwgcGhpKTsKKyAgICBzdHJlYW0ucG9pbnQocGkkMywgcGhpKTsKKyAgICBzdHJlYW0u
cG9pbnQocGkkMywgMCk7CisgICAgc3RyZWFtLnBvaW50KHBpJDMsIC1waGkpOworICAgIHN0cmVh
bS5wb2ludCgwLCAtcGhpKTsKKyAgICBzdHJlYW0ucG9pbnQoLXBpJDMsIC1waGkpOworICAgIHN0
cmVhbS5wb2ludCgtcGkkMywgMCk7CisgICAgc3RyZWFtLnBvaW50KC1waSQzLCBwaGkpOworICB9
IGVsc2UgaWYgKGFicyhmcm9tWzBdIC0gdG9bMF0pID4gZXBzaWxvbiQyKSB7CisgICAgdmFyIGxh
bWJkYSA9IGZyb21bMF0gPCB0b1swXSA/IHBpJDMgOiAtcGkkMzsKKyAgICBwaGkgPSBkaXJlY3Rp
b24gKiBsYW1iZGEgLyAyOworICAgIHN0cmVhbS5wb2ludCgtbGFtYmRhLCBwaGkpOworICAgIHN0
cmVhbS5wb2ludCgwLCBwaGkpOworICAgIHN0cmVhbS5wb2ludChsYW1iZGEsIHBoaSk7CisgIH0g
ZWxzZSB7CisgICAgc3RyZWFtLnBvaW50KHRvWzBdLCB0b1sxXSk7CisgIH0KK30KKworZnVuY3Rp
b24gY2xpcENpcmNsZShyYWRpdXMpIHsKKyAgdmFyIGNyID0gY29zJDEocmFkaXVzKSwKKyAgICAg
IGRlbHRhID0gNiAqIHJhZGlhbnMsCisgICAgICBzbWFsbFJhZGl1cyA9IGNyID4gMCwKKyAgICAg
IG5vdEhlbWlzcGhlcmUgPSBhYnMoY3IpID4gZXBzaWxvbiQyOyAvLyBUT0RPIG9wdGltaXNlIGZv
ciB0aGlzIGNvbW1vbiBjYXNlCisKKyAgZnVuY3Rpb24gaW50ZXJwb2xhdGUoZnJvbSwgdG8sIGRp
cmVjdGlvbiwgc3RyZWFtKSB7CisgICAgY2lyY2xlU3RyZWFtKHN0cmVhbSwgcmFkaXVzLCBkZWx0
YSwgZGlyZWN0aW9uLCBmcm9tLCB0byk7CisgIH0KKworICBmdW5jdGlvbiB2aXNpYmxlKGxhbWJk
YSwgcGhpKSB7CisgICAgcmV0dXJuIGNvcyQxKGxhbWJkYSkgKiBjb3MkMShwaGkpID4gY3I7Cisg
IH0KKworICAvLyBUYWtlcyBhIGxpbmUgYW5kIGN1dHMgaW50byB2aXNpYmxlIHNlZ21lbnRzLiBS
ZXR1cm4gdmFsdWVzIHVzZWQgZm9yIHBvbHlnb24KKyAgLy8gY2xpcHBpbmc6IDAgLSB0aGVyZSB3
ZXJlIGludGVyc2VjdGlvbnMgb3IgdGhlIGxpbmUgd2FzIGVtcHR5OyAxIC0gbm8KKyAgLy8gaW50
ZXJzZWN0aW9ucyAyIC0gdGhlcmUgd2VyZSBpbnRlcnNlY3Rpb25zLCBhbmQgdGhlIGZpcnN0IGFu
ZCBsYXN0IHNlZ21lbnRzCisgIC8vIHNob3VsZCBiZSByZWpvaW5lZC4KKyAgZnVuY3Rpb24gY2xp
cExpbmUoc3RyZWFtKSB7CisgICAgdmFyIHBvaW50MCwgLy8gcHJldmlvdXMgcG9pbnQKKyAgICAg
ICAgYzAsIC8vIGNvZGUgZm9yIHByZXZpb3VzIHBvaW50CisgICAgICAgIHYwLCAvLyB2aXNpYmls
aXR5IG9mIHByZXZpb3VzIHBvaW50CisgICAgICAgIHYwMCwgLy8gdmlzaWJpbGl0eSBvZiBmaXJz
dCBwb2ludAorICAgICAgICBjbGVhbjsgLy8gbm8gaW50ZXJzZWN0aW9ucworICAgIHJldHVybiB7
CisgICAgICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgICAgICB2MDAgPSB2MCA9IGZhbHNl
OworICAgICAgICBjbGVhbiA9IDE7CisgICAgICB9LAorICAgICAgcG9pbnQ6IGZ1bmN0aW9uKGxh
bWJkYSwgcGhpKSB7CisgICAgICAgIHZhciBwb2ludDEgPSBbbGFtYmRhLCBwaGldLAorICAgICAg
ICAgICAgcG9pbnQyLAorICAgICAgICAgICAgdiA9IHZpc2libGUobGFtYmRhLCBwaGkpLAorICAg
ICAgICAgICAgYyA9IHNtYWxsUmFkaXVzCisgICAgICAgICAgICAgID8gdiA/IDAgOiBjb2RlKGxh
bWJkYSwgcGhpKQorICAgICAgICAgICAgICA6IHYgPyBjb2RlKGxhbWJkYSArIChsYW1iZGEgPCAw
ID8gcGkkMyA6IC1waSQzKSwgcGhpKSA6IDA7CisgICAgICAgIGlmICghcG9pbnQwICYmICh2MDAg
PSB2MCA9IHYpKSBzdHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICAgIC8vIEhhbmRsZSBkZWdlbmVy
YWNpZXMuCisgICAgICAgIC8vIFRPRE8gaWdub3JlIGlmIG5vdCBjbGlwcGluZyBwb2x5Z29ucy4K
KyAgICAgICAgaWYgKHYgIT09IHYwKSB7CisgICAgICAgICAgcG9pbnQyID0gaW50ZXJzZWN0KHBv
aW50MCwgcG9pbnQxKTsKKyAgICAgICAgICBpZiAoIXBvaW50MiB8fCBwb2ludEVxdWFsKHBvaW50
MCwgcG9pbnQyKSB8fCBwb2ludEVxdWFsKHBvaW50MSwgcG9pbnQyKSkgeworICAgICAgICAgICAg
cG9pbnQxWzBdICs9IGVwc2lsb24kMjsKKyAgICAgICAgICAgIHBvaW50MVsxXSArPSBlcHNpbG9u
JDI7CisgICAgICAgICAgICB2ID0gdmlzaWJsZShwb2ludDFbMF0sIHBvaW50MVsxXSk7CisgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlmICh2ICE9PSB2MCkgeworICAgICAgICAgIGNs
ZWFuID0gMDsKKyAgICAgICAgICBpZiAodikgeworICAgICAgICAgICAgLy8gb3V0c2lkZSBnb2lu
ZyBpbgorICAgICAgICAgICAgc3RyZWFtLmxpbmVTdGFydCgpOworICAgICAgICAgICAgcG9pbnQy
ID0gaW50ZXJzZWN0KHBvaW50MSwgcG9pbnQwKTsKKyAgICAgICAgICAgIHN0cmVhbS5wb2ludChw
b2ludDJbMF0sIHBvaW50MlsxXSk7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8v
IGluc2lkZSBnb2luZyBvdXQKKyAgICAgICAgICAgIHBvaW50MiA9IGludGVyc2VjdChwb2ludDAs
IHBvaW50MSk7CisgICAgICAgICAgICBzdHJlYW0ucG9pbnQocG9pbnQyWzBdLCBwb2ludDJbMV0p
OworICAgICAgICAgICAgc3RyZWFtLmxpbmVFbmQoKTsKKyAgICAgICAgICB9CisgICAgICAgICAg
cG9pbnQwID0gcG9pbnQyOworICAgICAgICB9IGVsc2UgaWYgKG5vdEhlbWlzcGhlcmUgJiYgcG9p
bnQwICYmIHNtYWxsUmFkaXVzIF4gdikgeworICAgICAgICAgIHZhciB0OworICAgICAgICAgIC8v
IElmIHRoZSBjb2RlcyBmb3IgdHdvIHBvaW50cyBhcmUgZGlmZmVyZW50LCBvciBhcmUgYm90aCB6
ZXJvLAorICAgICAgICAgIC8vIGFuZCB0aGVyZSB0aGlzIHNlZ21lbnQgaW50ZXJzZWN0cyB3aXRo
IHRoZSBzbWFsbCBjaXJjbGUuCisgICAgICAgICAgaWYgKCEoYyAmIGMwKSAmJiAodCA9IGludGVy
c2VjdChwb2ludDEsIHBvaW50MCwgdHJ1ZSkpKSB7CisgICAgICAgICAgICBjbGVhbiA9IDA7Cisg
ICAgICAgICAgICBpZiAoc21hbGxSYWRpdXMpIHsKKyAgICAgICAgICAgICAgc3RyZWFtLmxpbmVT
dGFydCgpOworICAgICAgICAgICAgICBzdHJlYW0ucG9pbnQodFswXVswXSwgdFswXVsxXSk7Cisg
ICAgICAgICAgICAgIHN0cmVhbS5wb2ludCh0WzFdWzBdLCB0WzFdWzFdKTsKKyAgICAgICAgICAg
ICAgc3RyZWFtLmxpbmVFbmQoKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
IHN0cmVhbS5wb2ludCh0WzFdWzBdLCB0WzFdWzFdKTsKKyAgICAgICAgICAgICAgc3RyZWFtLmxp
bmVFbmQoKTsKKyAgICAgICAgICAgICAgc3RyZWFtLmxpbmVTdGFydCgpOworICAgICAgICAgICAg
ICBzdHJlYW0ucG9pbnQodFswXVswXSwgdFswXVsxXSk7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICAgIGlmICh2ICYmICghcG9pbnQwIHx8ICFwb2ludEVxdWFs
KHBvaW50MCwgcG9pbnQxKSkpIHsKKyAgICAgICAgICBzdHJlYW0ucG9pbnQocG9pbnQxWzBdLCBw
b2ludDFbMV0pOworICAgICAgICB9CisgICAgICAgIHBvaW50MCA9IHBvaW50MSwgdjAgPSB2LCBj
MCA9IGM7CisgICAgICB9LAorICAgICAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgICAgIGlm
ICh2MCkgc3RyZWFtLmxpbmVFbmQoKTsKKyAgICAgICAgcG9pbnQwID0gbnVsbDsKKyAgICAgIH0s
CisgICAgICAvLyBSZWpvaW4gZmlyc3QgYW5kIGxhc3Qgc2VnbWVudHMgaWYgdGhlcmUgd2VyZSBp
bnRlcnNlY3Rpb25zIGFuZCB0aGUgZmlyc3QKKyAgICAgIC8vIGFuZCBsYXN0IHBvaW50cyB3ZXJl
IHZpc2libGUuCisgICAgICBjbGVhbjogZnVuY3Rpb24oKSB7CisgICAgICAgIHJldHVybiBjbGVh
biB8ICgodjAwICYmIHYwKSA8PCAxKTsKKyAgICAgIH0KKyAgICB9OworICB9CisKKyAgLy8gSW50
ZXJzZWN0cyB0aGUgZ3JlYXQgY2lyY2xlIGJldHdlZW4gYSBhbmQgYiB3aXRoIHRoZSBjbGlwIGNp
cmNsZS4KKyAgZnVuY3Rpb24gaW50ZXJzZWN0KGEsIGIsIHR3bykgeworICAgIHZhciBwYSA9IGNh
cnRlc2lhbihhKSwKKyAgICAgICAgcGIgPSBjYXJ0ZXNpYW4oYik7CisKKyAgICAvLyBXZSBoYXZl
IHR3byBwbGFuZXMsIG4xLnAgPSBkMSBhbmQgbjIucCA9IGQyLgorICAgIC8vIEZpbmQgaW50ZXJz
ZWN0aW9uIGxpbmUgcCh0KSA9IGMxIG4xICsgYzIgbjIgKyB0IChuMSDiqK8gbjIpLgorICAgIHZh
ciBuMSA9IFsxLCAwLCAwXSwgLy8gbm9ybWFsCisgICAgICAgIG4yID0gY2FydGVzaWFuQ3Jvc3Mo
cGEsIHBiKSwKKyAgICAgICAgbjJuMiA9IGNhcnRlc2lhbkRvdChuMiwgbjIpLAorICAgICAgICBu
MW4yID0gbjJbMF0sIC8vIGNhcnRlc2lhbkRvdChuMSwgbjIpLAorICAgICAgICBkZXRlcm1pbmFu
dCA9IG4ybjIgLSBuMW4yICogbjFuMjsKKworICAgIC8vIFR3byBwb2xhciBwb2ludHMuCisgICAg
aWYgKCFkZXRlcm1pbmFudCkgcmV0dXJuICF0d28gJiYgYTsKKworICAgIHZhciBjMSA9ICBjciAq
IG4ybjIgLyBkZXRlcm1pbmFudCwKKyAgICAgICAgYzIgPSAtY3IgKiBuMW4yIC8gZGV0ZXJtaW5h
bnQsCisgICAgICAgIG4xeG4yID0gY2FydGVzaWFuQ3Jvc3MobjEsIG4yKSwKKyAgICAgICAgQSA9
IGNhcnRlc2lhblNjYWxlKG4xLCBjMSksCisgICAgICAgIEIgPSBjYXJ0ZXNpYW5TY2FsZShuMiwg
YzIpOworICAgIGNhcnRlc2lhbkFkZEluUGxhY2UoQSwgQik7CisKKyAgICAvLyBTb2x2ZSB8cCh0
KXxeMiA9IDEuCisgICAgdmFyIHUgPSBuMXhuMiwKKyAgICAgICAgdyA9IGNhcnRlc2lhbkRvdChB
LCB1KSwKKyAgICAgICAgdXUgPSBjYXJ0ZXNpYW5Eb3QodSwgdSksCisgICAgICAgIHQyID0gdyAq
IHcgLSB1dSAqIChjYXJ0ZXNpYW5Eb3QoQSwgQSkgLSAxKTsKKworICAgIGlmICh0MiA8IDApIHJl
dHVybjsKKworICAgIHZhciB0ID0gc3FydCh0MiksCisgICAgICAgIHEgPSBjYXJ0ZXNpYW5TY2Fs
ZSh1LCAoLXcgLSB0KSAvIHV1KTsKKyAgICBjYXJ0ZXNpYW5BZGRJblBsYWNlKHEsIEEpOworICAg
IHEgPSBzcGhlcmljYWwocSk7CisKKyAgICBpZiAoIXR3bykgcmV0dXJuIHE7CisKKyAgICAvLyBU
d28gaW50ZXJzZWN0aW9uIHBvaW50cy4KKyAgICB2YXIgbGFtYmRhMCA9IGFbMF0sCisgICAgICAg
IGxhbWJkYTEgPSBiWzBdLAorICAgICAgICBwaGkwID0gYVsxXSwKKyAgICAgICAgcGhpMSA9IGJb
MV0sCisgICAgICAgIHo7CisKKyAgICBpZiAobGFtYmRhMSA8IGxhbWJkYTApIHogPSBsYW1iZGEw
LCBsYW1iZGEwID0gbGFtYmRhMSwgbGFtYmRhMSA9IHo7CisKKyAgICB2YXIgZGVsdGEgPSBsYW1i
ZGExIC0gbGFtYmRhMCwKKyAgICAgICAgcG9sYXIgPSBhYnMoZGVsdGEgLSBwaSQzKSA8IGVwc2ls
b24kMiwKKyAgICAgICAgbWVyaWRpYW4gPSBwb2xhciB8fCBkZWx0YSA8IGVwc2lsb24kMjsKKwor
ICAgIGlmICghcG9sYXIgJiYgcGhpMSA8IHBoaTApIHogPSBwaGkwLCBwaGkwID0gcGhpMSwgcGhp
MSA9IHo7CisKKyAgICAvLyBDaGVjayB0aGF0IHRoZSBmaXJzdCBwb2ludCBpcyBiZXR3ZWVuIGEg
YW5kIGIuCisgICAgaWYgKG1lcmlkaWFuCisgICAgICAgID8gcG9sYXIKKyAgICAgICAgICA/IHBo
aTAgKyBwaGkxID4gMCBeIHFbMV0gPCAoYWJzKHFbMF0gLSBsYW1iZGEwKSA8IGVwc2lsb24kMiA/
IHBoaTAgOiBwaGkxKQorICAgICAgICAgIDogcGhpMCA8PSBxWzFdICYmIHFbMV0gPD0gcGhpMQor
ICAgICAgICA6IGRlbHRhID4gcGkkMyBeIChsYW1iZGEwIDw9IHFbMF0gJiYgcVswXSA8PSBsYW1i
ZGExKSkgeworICAgICAgdmFyIHExID0gY2FydGVzaWFuU2NhbGUodSwgKC13ICsgdCkgLyB1dSk7
CisgICAgICBjYXJ0ZXNpYW5BZGRJblBsYWNlKHExLCBBKTsKKyAgICAgIHJldHVybiBbcSwgc3Bo
ZXJpY2FsKHExKV07CisgICAgfQorICB9CisKKyAgLy8gR2VuZXJhdGVzIGEgNC1iaXQgdmVjdG9y
IHJlcHJlc2VudGluZyB0aGUgbG9jYXRpb24gb2YgYSBwb2ludCByZWxhdGl2ZSB0bworICAvLyB0
aGUgc21hbGwgY2lyY2xlJ3MgYm91bmRpbmcgYm94LgorICBmdW5jdGlvbiBjb2RlKGxhbWJkYSwg
cGhpKSB7CisgICAgdmFyIHIgPSBzbWFsbFJhZGl1cyA/IHJhZGl1cyA6IHBpJDMgLSByYWRpdXMs
CisgICAgICAgIGNvZGUgPSAwOworICAgIGlmIChsYW1iZGEgPCAtcikgY29kZSB8PSAxOyAvLyBs
ZWZ0CisgICAgZWxzZSBpZiAobGFtYmRhID4gcikgY29kZSB8PSAyOyAvLyByaWdodAorICAgIGlm
IChwaGkgPCAtcikgY29kZSB8PSA0OyAvLyBiZWxvdworICAgIGVsc2UgaWYgKHBoaSA+IHIpIGNv
ZGUgfD0gODsgLy8gYWJvdmUKKyAgICByZXR1cm4gY29kZTsKKyAgfQorCisgIHJldHVybiBjbGlw
KHZpc2libGUsIGNsaXBMaW5lLCBpbnRlcnBvbGF0ZSwgc21hbGxSYWRpdXMgPyBbMCwgLXJhZGl1
c10gOiBbLXBpJDMsIHJhZGl1cyAtIHBpJDNdKTsKK30KKworZnVuY3Rpb24gY2xpcExpbmUoYSwg
YiwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIGF4ID0gYVswXSwKKyAgICAgIGF5ID0gYVsxXSwK
KyAgICAgIGJ4ID0gYlswXSwKKyAgICAgIGJ5ID0gYlsxXSwKKyAgICAgIHQwID0gMCwKKyAgICAg
IHQxID0gMSwKKyAgICAgIGR4ID0gYnggLSBheCwKKyAgICAgIGR5ID0gYnkgLSBheSwKKyAgICAg
IHI7CisKKyAgciA9IHgwIC0gYXg7CisgIGlmICghZHggJiYgciA+IDApIHJldHVybjsKKyAgciAv
PSBkeDsKKyAgaWYgKGR4IDwgMCkgeworICAgIGlmIChyIDwgdDApIHJldHVybjsKKyAgICBpZiAo
ciA8IHQxKSB0MSA9IHI7CisgIH0gZWxzZSBpZiAoZHggPiAwKSB7CisgICAgaWYgKHIgPiB0MSkg
cmV0dXJuOworICAgIGlmIChyID4gdDApIHQwID0gcjsKKyAgfQorCisgIHIgPSB4MSAtIGF4Owor
ICBpZiAoIWR4ICYmIHIgPCAwKSByZXR1cm47CisgIHIgLz0gZHg7CisgIGlmIChkeCA8IDApIHsK
KyAgICBpZiAociA+IHQxKSByZXR1cm47CisgICAgaWYgKHIgPiB0MCkgdDAgPSByOworICB9IGVs
c2UgaWYgKGR4ID4gMCkgeworICAgIGlmIChyIDwgdDApIHJldHVybjsKKyAgICBpZiAociA8IHQx
KSB0MSA9IHI7CisgIH0KKworICByID0geTAgLSBheTsKKyAgaWYgKCFkeSAmJiByID4gMCkgcmV0
dXJuOworICByIC89IGR5OworICBpZiAoZHkgPCAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJu
OworICAgIGlmIChyIDwgdDEpIHQxID0gcjsKKyAgfSBlbHNlIGlmIChkeSA+IDApIHsKKyAgICBp
ZiAociA+IHQxKSByZXR1cm47CisgICAgaWYgKHIgPiB0MCkgdDAgPSByOworICB9CisKKyAgciA9
IHkxIC0gYXk7CisgIGlmICghZHkgJiYgciA8IDApIHJldHVybjsKKyAgciAvPSBkeTsKKyAgaWYg
KGR5IDwgMCkgeworICAgIGlmIChyID4gdDEpIHJldHVybjsKKyAgICBpZiAociA+IHQwKSB0MCA9
IHI7CisgIH0gZWxzZSBpZiAoZHkgPiAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJuOworICAg
IGlmIChyIDwgdDEpIHQxID0gcjsKKyAgfQorCisgIGlmICh0MCA+IDApIGFbMF0gPSBheCArIHQw
ICogZHgsIGFbMV0gPSBheSArIHQwICogZHk7CisgIGlmICh0MSA8IDEpIGJbMF0gPSBheCArIHQx
ICogZHgsIGJbMV0gPSBheSArIHQxICogZHk7CisgIHJldHVybiB0cnVlOworfQorCit2YXIgY2xp
cE1heCA9IDFlOSwgY2xpcE1pbiA9IC1jbGlwTWF4OworCisvLyBUT0RPIFVzZSBkMy1wb2x5Z29u
4oCZcyBwb2x5Z29uQ29udGFpbnMgaGVyZSBmb3IgdGhlIHJpbmcgY2hlY2s/CisvLyBUT0RPIEVs
aW1pbmF0ZSBkdXBsaWNhdGUgYnVmZmVyaW5nIGluIGNsaXBCdWZmZXIgYW5kIHBvbHlnb24ucHVz
aD8KKworZnVuY3Rpb24gY2xpcFJlY3RhbmdsZSh4MCwgeTAsIHgxLCB5MSkgeworCisgIGZ1bmN0
aW9uIHZpc2libGUoeCwgeSkgeworICAgIHJldHVybiB4MCA8PSB4ICYmIHggPD0geDEgJiYgeTAg
PD0geSAmJiB5IDw9IHkxOworICB9CisKKyAgZnVuY3Rpb24gaW50ZXJwb2xhdGUoZnJvbSwgdG8s
IGRpcmVjdGlvbiwgc3RyZWFtKSB7CisgICAgdmFyIGEgPSAwLCBhMSA9IDA7CisgICAgaWYgKGZy
b20gPT0gbnVsbAorICAgICAgICB8fCAoYSA9IGNvcm5lcihmcm9tLCBkaXJlY3Rpb24pKSAhPT0g
KGExID0gY29ybmVyKHRvLCBkaXJlY3Rpb24pKQorICAgICAgICB8fCBjb21wYXJlUG9pbnQoZnJv
bSwgdG8pIDwgMCBeIGRpcmVjdGlvbiA+IDApIHsKKyAgICAgIGRvIHN0cmVhbS5wb2ludChhID09
PSAwIHx8IGEgPT09IDMgPyB4MCA6IHgxLCBhID4gMSA/IHkxIDogeTApOworICAgICAgd2hpbGUg
KChhID0gKGEgKyBkaXJlY3Rpb24gKyA0KSAlIDQpICE9PSBhMSk7CisgICAgfSBlbHNlIHsKKyAg
ICAgIHN0cmVhbS5wb2ludCh0b1swXSwgdG9bMV0pOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9u
IGNvcm5lcihwLCBkaXJlY3Rpb24pIHsKKyAgICByZXR1cm4gYWJzKHBbMF0gLSB4MCkgPCBlcHNp
bG9uJDIgPyBkaXJlY3Rpb24gPiAwID8gMCA6IDMKKyAgICAgICAgOiBhYnMocFswXSAtIHgxKSA8
IGVwc2lsb24kMiA/IGRpcmVjdGlvbiA+IDAgPyAyIDogMQorICAgICAgICA6IGFicyhwWzFdIC0g
eTApIDwgZXBzaWxvbiQyID8gZGlyZWN0aW9uID4gMCA/IDEgOiAwCisgICAgICAgIDogZGlyZWN0
aW9uID4gMCA/IDMgOiAyOyAvLyBhYnMocFsxXSAtIHkxKSA8IGVwc2lsb24KKyAgfQorCisgIGZ1
bmN0aW9uIGNvbXBhcmVJbnRlcnNlY3Rpb24oYSwgYikgeworICAgIHJldHVybiBjb21wYXJlUG9p
bnQoYS54LCBiLngpOworICB9CisKKyAgZnVuY3Rpb24gY29tcGFyZVBvaW50KGEsIGIpIHsKKyAg
ICB2YXIgY2EgPSBjb3JuZXIoYSwgMSksCisgICAgICAgIGNiID0gY29ybmVyKGIsIDEpOworICAg
IHJldHVybiBjYSAhPT0gY2IgPyBjYSAtIGNiCisgICAgICAgIDogY2EgPT09IDAgPyBiWzFdIC0g
YVsxXQorICAgICAgICA6IGNhID09PSAxID8gYVswXSAtIGJbMF0KKyAgICAgICAgOiBjYSA9PT0g
MiA/IGFbMV0gLSBiWzFdCisgICAgICAgIDogYlswXSAtIGFbMF07CisgIH0KKworICByZXR1cm4g
ZnVuY3Rpb24oc3RyZWFtKSB7CisgICAgdmFyIGFjdGl2ZVN0cmVhbSA9IHN0cmVhbSwKKyAgICAg
ICAgYnVmZmVyU3RyZWFtID0gY2xpcEJ1ZmZlcigpLAorICAgICAgICBzZWdtZW50cywKKyAgICAg
ICAgcG9seWdvbiwKKyAgICAgICAgcmluZywKKyAgICAgICAgeF9fLCB5X18sIHZfXywgLy8gZmly
c3QgcG9pbnQKKyAgICAgICAgeF8sIHlfLCB2XywgLy8gcHJldmlvdXMgcG9pbnQKKyAgICAgICAg
Zmlyc3QsCisgICAgICAgIGNsZWFuOworCisgICAgdmFyIGNsaXBTdHJlYW0gPSB7CisgICAgICBw
b2ludDogcG9pbnQsCisgICAgICBsaW5lU3RhcnQ6IGxpbmVTdGFydCwKKyAgICAgIGxpbmVFbmQ6
IGxpbmVFbmQsCisgICAgICBwb2x5Z29uU3RhcnQ6IHBvbHlnb25TdGFydCwKKyAgICAgIHBvbHln
b25FbmQ6IHBvbHlnb25FbmQKKyAgICB9OworCisgICAgZnVuY3Rpb24gcG9pbnQoeCwgeSkgewor
ICAgICAgaWYgKHZpc2libGUoeCwgeSkpIGFjdGl2ZVN0cmVhbS5wb2ludCh4LCB5KTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBwb2x5Z29uSW5zaWRlKCkgeworICAgICAgdmFyIHdpbmRpbmcgPSAw
OworCisgICAgICBmb3IgKHZhciBpID0gMCwgbiA9IHBvbHlnb24ubGVuZ3RoOyBpIDwgbjsgKytp
KSB7CisgICAgICAgIGZvciAodmFyIHJpbmcgPSBwb2x5Z29uW2ldLCBqID0gMSwgbSA9IHJpbmcu
bGVuZ3RoLCBwb2ludCA9IHJpbmdbMF0sIGEwLCBhMSwgYjAgPSBwb2ludFswXSwgYjEgPSBwb2lu
dFsxXTsgaiA8IG07ICsraikgeworICAgICAgICAgIGEwID0gYjAsIGExID0gYjEsIHBvaW50ID0g
cmluZ1tqXSwgYjAgPSBwb2ludFswXSwgYjEgPSBwb2ludFsxXTsKKyAgICAgICAgICBpZiAoYTEg
PD0geTEpIHsgaWYgKGIxID4geTEgJiYgKGIwIC0gYTApICogKHkxIC0gYTEpID4gKGIxIC0gYTEp
ICogKHgwIC0gYTApKSArK3dpbmRpbmc7IH0KKyAgICAgICAgICBlbHNlIHsgaWYgKGIxIDw9IHkx
ICYmIChiMCAtIGEwKSAqICh5MSAtIGExKSA8IChiMSAtIGExKSAqICh4MCAtIGEwKSkgLS13aW5k
aW5nOyB9CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgcmV0dXJuIHdpbmRpbmc7CisgICAg
fQorCisgICAgLy8gQnVmZmVyIGdlb21ldHJ5IHdpdGhpbiBhIHBvbHlnb24gYW5kIHRoZW4gY2xp
cCBpdCBlbiBtYXNzZS4KKyAgICBmdW5jdGlvbiBwb2x5Z29uU3RhcnQoKSB7CisgICAgICBhY3Rp
dmVTdHJlYW0gPSBidWZmZXJTdHJlYW0sIHNlZ21lbnRzID0gW10sIHBvbHlnb24gPSBbXSwgY2xl
YW4gPSB0cnVlOworICAgIH0KKworICAgIGZ1bmN0aW9uIHBvbHlnb25FbmQoKSB7CisgICAgICB2
YXIgc3RhcnRJbnNpZGUgPSBwb2x5Z29uSW5zaWRlKCksCisgICAgICAgICAgY2xlYW5JbnNpZGUg
PSBjbGVhbiAmJiBzdGFydEluc2lkZSwKKyAgICAgICAgICB2aXNpYmxlID0gKHNlZ21lbnRzID0g
bWVyZ2Uoc2VnbWVudHMpKS5sZW5ndGg7CisgICAgICBpZiAoY2xlYW5JbnNpZGUgfHwgdmlzaWJs
ZSkgeworICAgICAgICBzdHJlYW0ucG9seWdvblN0YXJ0KCk7CisgICAgICAgIGlmIChjbGVhbklu
c2lkZSkgeworICAgICAgICAgIHN0cmVhbS5saW5lU3RhcnQoKTsKKyAgICAgICAgICBpbnRlcnBv
bGF0ZShudWxsLCBudWxsLCAxLCBzdHJlYW0pOworICAgICAgICAgIHN0cmVhbS5saW5lRW5kKCk7
CisgICAgICAgIH0KKyAgICAgICAgaWYgKHZpc2libGUpIHsKKyAgICAgICAgICBjbGlwUmVqb2lu
KHNlZ21lbnRzLCBjb21wYXJlSW50ZXJzZWN0aW9uLCBzdGFydEluc2lkZSwgaW50ZXJwb2xhdGUs
IHN0cmVhbSk7CisgICAgICAgIH0KKyAgICAgICAgc3RyZWFtLnBvbHlnb25FbmQoKTsKKyAgICAg
IH0KKyAgICAgIGFjdGl2ZVN0cmVhbSA9IHN0cmVhbSwgc2VnbWVudHMgPSBwb2x5Z29uID0gcmlu
ZyA9IG51bGw7CisgICAgfQorCisgICAgZnVuY3Rpb24gbGluZVN0YXJ0KCkgeworICAgICAgY2xp
cFN0cmVhbS5wb2ludCA9IGxpbmVQb2ludDsKKyAgICAgIGlmIChwb2x5Z29uKSBwb2x5Z29uLnB1
c2gocmluZyA9IFtdKTsKKyAgICAgIGZpcnN0ID0gdHJ1ZTsKKyAgICAgIHZfID0gZmFsc2U7Cisg
ICAgICB4XyA9IHlfID0gTmFOOworICAgIH0KKworICAgIC8vIFRPRE8gcmF0aGVyIHRoYW4gc3Bl
Y2lhbC1jYXNlIHBvbHlnb25zLCBzaW1wbHkgaGFuZGxlIHRoZW0gc2VwYXJhdGVseS4KKyAgICAv
LyBJZGVhbGx5LCBjb2luY2lkZW50IGludGVyc2VjdGlvbiBwb2ludHMgc2hvdWxkIGJlIGppdHRl
cmVkIHRvIGF2b2lkCisgICAgLy8gY2xpcHBpbmcgaXNzdWVzLgorICAgIGZ1bmN0aW9uIGxpbmVF
bmQoKSB7CisgICAgICBpZiAoc2VnbWVudHMpIHsKKyAgICAgICAgbGluZVBvaW50KHhfXywgeV9f
KTsKKyAgICAgICAgaWYgKHZfXyAmJiB2XykgYnVmZmVyU3RyZWFtLnJlam9pbigpOworICAgICAg
ICBzZWdtZW50cy5wdXNoKGJ1ZmZlclN0cmVhbS5yZXN1bHQoKSk7CisgICAgICB9CisgICAgICBj
bGlwU3RyZWFtLnBvaW50ID0gcG9pbnQ7CisgICAgICBpZiAodl8pIGFjdGl2ZVN0cmVhbS5saW5l
RW5kKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbGluZVBvaW50KHgsIHkpIHsKKyAgICAgIHZh
ciB2ID0gdmlzaWJsZSh4LCB5KTsKKyAgICAgIGlmIChwb2x5Z29uKSByaW5nLnB1c2goW3gsIHld
KTsKKyAgICAgIGlmIChmaXJzdCkgeworICAgICAgICB4X18gPSB4LCB5X18gPSB5LCB2X18gPSB2
OworICAgICAgICBmaXJzdCA9IGZhbHNlOworICAgICAgICBpZiAodikgeworICAgICAgICAgIGFj
dGl2ZVN0cmVhbS5saW5lU3RhcnQoKTsKKyAgICAgICAgICBhY3RpdmVTdHJlYW0ucG9pbnQoeCwg
eSk7CisgICAgICAgIH0KKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGlmICh2ICYmIHZfKSBhY3Rp
dmVTdHJlYW0ucG9pbnQoeCwgeSk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgIHZhciBhID0g
W3hfID0gTWF0aC5tYXgoY2xpcE1pbiwgTWF0aC5taW4oY2xpcE1heCwgeF8pKSwgeV8gPSBNYXRo
Lm1heChjbGlwTWluLCBNYXRoLm1pbihjbGlwTWF4LCB5XykpXSwKKyAgICAgICAgICAgICAgYiA9
IFt4ID0gTWF0aC5tYXgoY2xpcE1pbiwgTWF0aC5taW4oY2xpcE1heCwgeCkpLCB5ID0gTWF0aC5t
YXgoY2xpcE1pbiwgTWF0aC5taW4oY2xpcE1heCwgeSkpXTsKKyAgICAgICAgICBpZiAoY2xpcExp
bmUoYSwgYiwgeDAsIHkwLCB4MSwgeTEpKSB7CisgICAgICAgICAgICBpZiAoIXZfKSB7CisgICAg
ICAgICAgICAgIGFjdGl2ZVN0cmVhbS5saW5lU3RhcnQoKTsKKyAgICAgICAgICAgICAgYWN0aXZl
U3RyZWFtLnBvaW50KGFbMF0sIGFbMV0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYWN0
aXZlU3RyZWFtLnBvaW50KGJbMF0sIGJbMV0pOworICAgICAgICAgICAgaWYgKCF2KSBhY3RpdmVT
dHJlYW0ubGluZUVuZCgpOworICAgICAgICAgICAgY2xlYW4gPSBmYWxzZTsKKyAgICAgICAgICB9
IGVsc2UgaWYgKHYpIHsKKyAgICAgICAgICAgIGFjdGl2ZVN0cmVhbS5saW5lU3RhcnQoKTsKKyAg
ICAgICAgICAgIGFjdGl2ZVN0cmVhbS5wb2ludCh4LCB5KTsKKyAgICAgICAgICAgIGNsZWFuID0g
ZmFsc2U7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgICB4XyA9IHgsIHlf
ID0geSwgdl8gPSB2OworICAgIH0KKworICAgIHJldHVybiBjbGlwU3RyZWFtOworICB9OworfQor
CitmdW5jdGlvbiBleHRlbnQkMSgpIHsKKyAgdmFyIHgwID0gMCwKKyAgICAgIHkwID0gMCwKKyAg
ICAgIHgxID0gOTYwLAorICAgICAgeTEgPSA1MDAsCisgICAgICBjYWNoZSwKKyAgICAgIGNhY2hl
U3RyZWFtLAorICAgICAgY2xpcDsKKworICByZXR1cm4gY2xpcCA9IHsKKyAgICBzdHJlYW06IGZ1
bmN0aW9uKHN0cmVhbSkgeworICAgICAgcmV0dXJuIGNhY2hlICYmIGNhY2hlU3RyZWFtID09PSBz
dHJlYW0gPyBjYWNoZSA6IGNhY2hlID0gY2xpcFJlY3RhbmdsZSh4MCwgeTAsIHgxLCB5MSkoY2Fj
aGVTdHJlYW0gPSBzdHJlYW0pOworICAgIH0sCisgICAgZXh0ZW50OiBmdW5jdGlvbihfKSB7Cisg
ICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4MCA9ICtfWzBdWzBdLCB5MCA9ICtfWzBd
WzFdLCB4MSA9ICtfWzFdWzBdLCB5MSA9ICtfWzFdWzFdLCBjYWNoZSA9IGNhY2hlU3RyZWFtID0g
bnVsbCwgY2xpcCkgOiBbW3gwLCB5MF0sIFt4MSwgeTFdXTsKKyAgICB9CisgIH07Cit9CisKK3Zh
ciBsZW5ndGhTdW0gPSBhZGRlcigpLAorICAgIGxhbWJkYTAkMiwKKyAgICBzaW5QaGkwJDEsCisg
ICAgY29zUGhpMCQxOworCit2YXIgbGVuZ3RoU3RyZWFtID0geworICBzcGhlcmU6IG5vb3AkMiwK
KyAgcG9pbnQ6IG5vb3AkMiwKKyAgbGluZVN0YXJ0OiBsZW5ndGhMaW5lU3RhcnQsCisgIGxpbmVF
bmQ6IG5vb3AkMiwKKyAgcG9seWdvblN0YXJ0OiBub29wJDIsCisgIHBvbHlnb25FbmQ6IG5vb3Ak
MgorfTsKKworZnVuY3Rpb24gbGVuZ3RoTGluZVN0YXJ0KCkgeworICBsZW5ndGhTdHJlYW0ucG9p
bnQgPSBsZW5ndGhQb2ludEZpcnN0OworICBsZW5ndGhTdHJlYW0ubGluZUVuZCA9IGxlbmd0aExp
bmVFbmQ7Cit9CisKK2Z1bmN0aW9uIGxlbmd0aExpbmVFbmQoKSB7CisgIGxlbmd0aFN0cmVhbS5w
b2ludCA9IGxlbmd0aFN0cmVhbS5saW5lRW5kID0gbm9vcCQyOworfQorCitmdW5jdGlvbiBsZW5n
dGhQb2ludEZpcnN0KGxhbWJkYSwgcGhpKSB7CisgIGxhbWJkYSAqPSByYWRpYW5zLCBwaGkgKj0g
cmFkaWFuczsKKyAgbGFtYmRhMCQyID0gbGFtYmRhLCBzaW5QaGkwJDEgPSBzaW4kMShwaGkpLCBj
b3NQaGkwJDEgPSBjb3MkMShwaGkpOworICBsZW5ndGhTdHJlYW0ucG9pbnQgPSBsZW5ndGhQb2lu
dDsKK30KKworZnVuY3Rpb24gbGVuZ3RoUG9pbnQobGFtYmRhLCBwaGkpIHsKKyAgbGFtYmRhICo9
IHJhZGlhbnMsIHBoaSAqPSByYWRpYW5zOworICB2YXIgc2luUGhpID0gc2luJDEocGhpKSwKKyAg
ICAgIGNvc1BoaSA9IGNvcyQxKHBoaSksCisgICAgICBkZWx0YSA9IGFicyhsYW1iZGEgLSBsYW1i
ZGEwJDIpLAorICAgICAgY29zRGVsdGEgPSBjb3MkMShkZWx0YSksCisgICAgICBzaW5EZWx0YSA9
IHNpbiQxKGRlbHRhKSwKKyAgICAgIHggPSBjb3NQaGkgKiBzaW5EZWx0YSwKKyAgICAgIHkgPSBj
b3NQaGkwJDEgKiBzaW5QaGkgLSBzaW5QaGkwJDEgKiBjb3NQaGkgKiBjb3NEZWx0YSwKKyAgICAg
IHogPSBzaW5QaGkwJDEgKiBzaW5QaGkgKyBjb3NQaGkwJDEgKiBjb3NQaGkgKiBjb3NEZWx0YTsK
KyAgbGVuZ3RoU3VtLmFkZChhdGFuMihzcXJ0KHggKiB4ICsgeSAqIHkpLCB6KSk7CisgIGxhbWJk
YTAkMiA9IGxhbWJkYSwgc2luUGhpMCQxID0gc2luUGhpLCBjb3NQaGkwJDEgPSBjb3NQaGk7Cit9
CisKK2Z1bmN0aW9uIGxlbmd0aCQxKG9iamVjdCkgeworICBsZW5ndGhTdW0ucmVzZXQoKTsKKyAg
Z2VvU3RyZWFtKG9iamVjdCwgbGVuZ3RoU3RyZWFtKTsKKyAgcmV0dXJuICtsZW5ndGhTdW07Cit9
CisKK3ZhciBjb29yZGluYXRlcyA9IFtudWxsLCBudWxsXSwKKyAgICBvYmplY3QkMSA9IHt0eXBl
OiAiTGluZVN0cmluZyIsIGNvb3JkaW5hdGVzOiBjb29yZGluYXRlc307CisKK2Z1bmN0aW9uIGRp
c3RhbmNlKGEsIGIpIHsKKyAgY29vcmRpbmF0ZXNbMF0gPSBhOworICBjb29yZGluYXRlc1sxXSA9
IGI7CisgIHJldHVybiBsZW5ndGgkMShvYmplY3QkMSk7Cit9CisKK3ZhciBjb250YWluc09iamVj
dFR5cGUgPSB7CisgIEZlYXR1cmU6IGZ1bmN0aW9uKG9iamVjdCwgcG9pbnQpIHsKKyAgICByZXR1
cm4gY29udGFpbnNHZW9tZXRyeShvYmplY3QuZ2VvbWV0cnksIHBvaW50KTsKKyAgfSwKKyAgRmVh
dHVyZUNvbGxlY3Rpb246IGZ1bmN0aW9uKG9iamVjdCwgcG9pbnQpIHsKKyAgICB2YXIgZmVhdHVy
ZXMgPSBvYmplY3QuZmVhdHVyZXMsIGkgPSAtMSwgbiA9IGZlYXR1cmVzLmxlbmd0aDsKKyAgICB3
aGlsZSAoKytpIDwgbikgaWYgKGNvbnRhaW5zR2VvbWV0cnkoZmVhdHVyZXNbaV0uZ2VvbWV0cnks
IHBvaW50KSkgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGZhbHNlOworICB9Cit9OworCit2YXIg
Y29udGFpbnNHZW9tZXRyeVR5cGUgPSB7CisgIFNwaGVyZTogZnVuY3Rpb24oKSB7CisgICAgcmV0
dXJuIHRydWU7CisgIH0sCisgIFBvaW50OiBmdW5jdGlvbihvYmplY3QsIHBvaW50KSB7CisgICAg
cmV0dXJuIGNvbnRhaW5zUG9pbnQob2JqZWN0LmNvb3JkaW5hdGVzLCBwb2ludCk7CisgIH0sCisg
IE11bHRpUG9pbnQ6IGZ1bmN0aW9uKG9iamVjdCwgcG9pbnQpIHsKKyAgICB2YXIgY29vcmRpbmF0
ZXMgPSBvYmplY3QuY29vcmRpbmF0ZXMsIGkgPSAtMSwgbiA9IGNvb3JkaW5hdGVzLmxlbmd0aDsK
KyAgICB3aGlsZSAoKytpIDwgbikgaWYgKGNvbnRhaW5zUG9pbnQoY29vcmRpbmF0ZXNbaV0sIHBv
aW50KSkgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGZhbHNlOworICB9LAorICBMaW5lU3RyaW5n
OiBmdW5jdGlvbihvYmplY3QsIHBvaW50KSB7CisgICAgcmV0dXJuIGNvbnRhaW5zTGluZShvYmpl
Y3QuY29vcmRpbmF0ZXMsIHBvaW50KTsKKyAgfSwKKyAgTXVsdGlMaW5lU3RyaW5nOiBmdW5jdGlv
bihvYmplY3QsIHBvaW50KSB7CisgICAgdmFyIGNvb3JkaW5hdGVzID0gb2JqZWN0LmNvb3JkaW5h
dGVzLCBpID0gLTEsIG4gPSBjb29yZGluYXRlcy5sZW5ndGg7CisgICAgd2hpbGUgKCsraSA8IG4p
IGlmIChjb250YWluc0xpbmUoY29vcmRpbmF0ZXNbaV0sIHBvaW50KSkgcmV0dXJuIHRydWU7Cisg
ICAgcmV0dXJuIGZhbHNlOworICB9LAorICBQb2x5Z29uOiBmdW5jdGlvbihvYmplY3QsIHBvaW50
KSB7CisgICAgcmV0dXJuIGNvbnRhaW5zUG9seWdvbihvYmplY3QuY29vcmRpbmF0ZXMsIHBvaW50
KTsKKyAgfSwKKyAgTXVsdGlQb2x5Z29uOiBmdW5jdGlvbihvYmplY3QsIHBvaW50KSB7CisgICAg
dmFyIGNvb3JkaW5hdGVzID0gb2JqZWN0LmNvb3JkaW5hdGVzLCBpID0gLTEsIG4gPSBjb29yZGlu
YXRlcy5sZW5ndGg7CisgICAgd2hpbGUgKCsraSA8IG4pIGlmIChjb250YWluc1BvbHlnb24oY29v
cmRpbmF0ZXNbaV0sIHBvaW50KSkgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGZhbHNlOworICB9
LAorICBHZW9tZXRyeUNvbGxlY3Rpb246IGZ1bmN0aW9uKG9iamVjdCwgcG9pbnQpIHsKKyAgICB2
YXIgZ2VvbWV0cmllcyA9IG9iamVjdC5nZW9tZXRyaWVzLCBpID0gLTEsIG4gPSBnZW9tZXRyaWVz
Lmxlbmd0aDsKKyAgICB3aGlsZSAoKytpIDwgbikgaWYgKGNvbnRhaW5zR2VvbWV0cnkoZ2VvbWV0
cmllc1tpXSwgcG9pbnQpKSByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KK307
CisKK2Z1bmN0aW9uIGNvbnRhaW5zR2VvbWV0cnkoZ2VvbWV0cnksIHBvaW50KSB7CisgIHJldHVy
biBnZW9tZXRyeSAmJiBjb250YWluc0dlb21ldHJ5VHlwZS5oYXNPd25Qcm9wZXJ0eShnZW9tZXRy
eS50eXBlKQorICAgICAgPyBjb250YWluc0dlb21ldHJ5VHlwZVtnZW9tZXRyeS50eXBlXShnZW9t
ZXRyeSwgcG9pbnQpCisgICAgICA6IGZhbHNlOworfQorCitmdW5jdGlvbiBjb250YWluc1BvaW50
KGNvb3JkaW5hdGVzLCBwb2ludCkgeworICByZXR1cm4gZGlzdGFuY2UoY29vcmRpbmF0ZXMsIHBv
aW50KSA9PT0gMDsKK30KKworZnVuY3Rpb24gY29udGFpbnNMaW5lKGNvb3JkaW5hdGVzLCBwb2lu
dCkgeworICB2YXIgYW8sIGJvLCBhYjsKKyAgZm9yICh2YXIgaSA9IDAsIG4gPSBjb29yZGluYXRl
cy5sZW5ndGg7IGkgPCBuOyBpKyspIHsKKyAgICBibyA9IGRpc3RhbmNlKGNvb3JkaW5hdGVzW2ld
LCBwb2ludCk7CisgICAgaWYgKGJvID09PSAwKSByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoaSA+IDAp
IHsKKyAgICAgIGFiID0gZGlzdGFuY2UoY29vcmRpbmF0ZXNbaV0sIGNvb3JkaW5hdGVzW2kgLSAx
XSk7CisgICAgICBpZiAoCisgICAgICAgIGFiID4gMCAmJgorICAgICAgICBhbyA8PSBhYiAmJgor
ICAgICAgICBibyA8PSBhYiAmJgorICAgICAgICAoYW8gKyBibyAtIGFiKSAqICgxIC0gTWF0aC5w
b3coKGFvIC0gYm8pIC8gYWIsIDIpKSA8IGVwc2lsb24yJDEgKiBhYgorICAgICAgKQorICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgYW8gPSBibzsKKyAgfQorICByZXR1cm4gZmFsc2U7
Cit9CisKK2Z1bmN0aW9uIGNvbnRhaW5zUG9seWdvbihjb29yZGluYXRlcywgcG9pbnQpIHsKKyAg
cmV0dXJuICEhcG9seWdvbkNvbnRhaW5zKGNvb3JkaW5hdGVzLm1hcChyaW5nUmFkaWFucyksIHBv
aW50UmFkaWFucyhwb2ludCkpOworfQorCitmdW5jdGlvbiByaW5nUmFkaWFucyhyaW5nKSB7Cisg
IHJldHVybiByaW5nID0gcmluZy5tYXAocG9pbnRSYWRpYW5zKSwgcmluZy5wb3AoKSwgcmluZzsK
K30KKworZnVuY3Rpb24gcG9pbnRSYWRpYW5zKHBvaW50KSB7CisgIHJldHVybiBbcG9pbnRbMF0g
KiByYWRpYW5zLCBwb2ludFsxXSAqIHJhZGlhbnNdOworfQorCitmdW5jdGlvbiBjb250YWlucyQx
KG9iamVjdCwgcG9pbnQpIHsKKyAgcmV0dXJuIChvYmplY3QgJiYgY29udGFpbnNPYmplY3RUeXBl
Lmhhc093blByb3BlcnR5KG9iamVjdC50eXBlKQorICAgICAgPyBjb250YWluc09iamVjdFR5cGVb
b2JqZWN0LnR5cGVdCisgICAgICA6IGNvbnRhaW5zR2VvbWV0cnkpKG9iamVjdCwgcG9pbnQpOwor
fQorCitmdW5jdGlvbiBncmF0aWN1bGVYKHkwLCB5MSwgZHkpIHsKKyAgdmFyIHkgPSBzZXF1ZW5j
ZSh5MCwgeTEgLSBlcHNpbG9uJDIsIGR5KS5jb25jYXQoeTEpOworICByZXR1cm4gZnVuY3Rpb24o
eCkgeyByZXR1cm4geS5tYXAoZnVuY3Rpb24oeSkgeyByZXR1cm4gW3gsIHldOyB9KTsgfTsKK30K
KworZnVuY3Rpb24gZ3JhdGljdWxlWSh4MCwgeDEsIGR4KSB7CisgIHZhciB4ID0gc2VxdWVuY2Uo
eDAsIHgxIC0gZXBzaWxvbiQyLCBkeCkuY29uY2F0KHgxKTsKKyAgcmV0dXJuIGZ1bmN0aW9uKHkp
IHsgcmV0dXJuIHgubWFwKGZ1bmN0aW9uKHgpIHsgcmV0dXJuIFt4LCB5XTsgfSk7IH07Cit9CisK
K2Z1bmN0aW9uIGdyYXRpY3VsZSgpIHsKKyAgdmFyIHgxLCB4MCwgWDEsIFgwLAorICAgICAgeTEs
IHkwLCBZMSwgWTAsCisgICAgICBkeCA9IDEwLCBkeSA9IGR4LCBEWCA9IDkwLCBEWSA9IDM2MCwK
KyAgICAgIHgsIHksIFgsIFksCisgICAgICBwcmVjaXNpb24gPSAyLjU7CisKKyAgZnVuY3Rpb24g
Z3JhdGljdWxlKCkgeworICAgIHJldHVybiB7dHlwZTogIk11bHRpTGluZVN0cmluZyIsIGNvb3Jk
aW5hdGVzOiBsaW5lcygpfTsKKyAgfQorCisgIGZ1bmN0aW9uIGxpbmVzKCkgeworICAgIHJldHVy
biBzZXF1ZW5jZShjZWlsKFgwIC8gRFgpICogRFgsIFgxLCBEWCkubWFwKFgpCisgICAgICAgIC5j
b25jYXQoc2VxdWVuY2UoY2VpbChZMCAvIERZKSAqIERZLCBZMSwgRFkpLm1hcChZKSkKKyAgICAg
ICAgLmNvbmNhdChzZXF1ZW5jZShjZWlsKHgwIC8gZHgpICogZHgsIHgxLCBkeCkuZmlsdGVyKGZ1
bmN0aW9uKHgpIHsgcmV0dXJuIGFicyh4ICUgRFgpID4gZXBzaWxvbiQyOyB9KS5tYXAoeCkpCisg
ICAgICAgIC5jb25jYXQoc2VxdWVuY2UoY2VpbCh5MCAvIGR5KSAqIGR5LCB5MSwgZHkpLmZpbHRl
cihmdW5jdGlvbih5KSB7IHJldHVybiBhYnMoeSAlIERZKSA+IGVwc2lsb24kMjsgfSkubWFwKHkp
KTsKKyAgfQorCisgIGdyYXRpY3VsZS5saW5lcyA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBs
aW5lcygpLm1hcChmdW5jdGlvbihjb29yZGluYXRlcykgeyByZXR1cm4ge3R5cGU6ICJMaW5lU3Ry
aW5nIiwgY29vcmRpbmF0ZXM6IGNvb3JkaW5hdGVzfTsgfSk7CisgIH07CisKKyAgZ3JhdGljdWxl
Lm91dGxpbmUgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geworICAgICAgdHlwZTogIlBvbHln
b24iLAorICAgICAgY29vcmRpbmF0ZXM6IFsKKyAgICAgICAgWChYMCkuY29uY2F0KAorICAgICAg
ICBZKFkxKS5zbGljZSgxKSwKKyAgICAgICAgWChYMSkucmV2ZXJzZSgpLnNsaWNlKDEpLAorICAg
ICAgICBZKFkwKS5yZXZlcnNlKCkuc2xpY2UoMSkpCisgICAgICBdCisgICAgfTsKKyAgfTsKKwor
ICBncmF0aWN1bGUuZXh0ZW50ID0gZnVuY3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxl
bmd0aCkgcmV0dXJuIGdyYXRpY3VsZS5leHRlbnRNaW5vcigpOworICAgIHJldHVybiBncmF0aWN1
bGUuZXh0ZW50TWFqb3IoXykuZXh0ZW50TWlub3IoXyk7CisgIH07CisKKyAgZ3JhdGljdWxlLmV4
dGVudE1ham9yID0gZnVuY3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0
dXJuIFtbWDAsIFkwXSwgW1gxLCBZMV1dOworICAgIFgwID0gK19bMF1bMF0sIFgxID0gK19bMV1b
MF07CisgICAgWTAgPSArX1swXVsxXSwgWTEgPSArX1sxXVsxXTsKKyAgICBpZiAoWDAgPiBYMSkg
XyA9IFgwLCBYMCA9IFgxLCBYMSA9IF87CisgICAgaWYgKFkwID4gWTEpIF8gPSBZMCwgWTAgPSBZ
MSwgWTEgPSBfOworICAgIHJldHVybiBncmF0aWN1bGUucHJlY2lzaW9uKHByZWNpc2lvbik7Cisg
IH07CisKKyAgZ3JhdGljdWxlLmV4dGVudE1pbm9yID0gZnVuY3Rpb24oXykgeworICAgIGlmICgh
YXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIFtbeDAsIHkwXSwgW3gxLCB5MV1dOworICAgIHgwID0g
K19bMF1bMF0sIHgxID0gK19bMV1bMF07CisgICAgeTAgPSArX1swXVsxXSwgeTEgPSArX1sxXVsx
XTsKKyAgICBpZiAoeDAgPiB4MSkgXyA9IHgwLCB4MCA9IHgxLCB4MSA9IF87CisgICAgaWYgKHkw
ID4geTEpIF8gPSB5MCwgeTAgPSB5MSwgeTEgPSBfOworICAgIHJldHVybiBncmF0aWN1bGUucHJl
Y2lzaW9uKHByZWNpc2lvbik7CisgIH07CisKKyAgZ3JhdGljdWxlLnN0ZXAgPSBmdW5jdGlvbihf
KSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gZ3JhdGljdWxlLnN0ZXBNaW5v
cigpOworICAgIHJldHVybiBncmF0aWN1bGUuc3RlcE1ham9yKF8pLnN0ZXBNaW5vcihfKTsKKyAg
fTsKKworICBncmF0aWN1bGUuc3RlcE1ham9yID0gZnVuY3Rpb24oXykgeworICAgIGlmICghYXJn
dW1lbnRzLmxlbmd0aCkgcmV0dXJuIFtEWCwgRFldOworICAgIERYID0gK19bMF0sIERZID0gK19b
MV07CisgICAgcmV0dXJuIGdyYXRpY3VsZTsKKyAgfTsKKworICBncmF0aWN1bGUuc3RlcE1pbm9y
ID0gZnVuY3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIFtkeCwg
ZHldOworICAgIGR4ID0gK19bMF0sIGR5ID0gK19bMV07CisgICAgcmV0dXJuIGdyYXRpY3VsZTsK
KyAgfTsKKworICBncmF0aWN1bGUucHJlY2lzaW9uID0gZnVuY3Rpb24oXykgeworICAgIGlmICgh
YXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIHByZWNpc2lvbjsKKyAgICBwcmVjaXNpb24gPSArXzsK
KyAgICB4ID0gZ3JhdGljdWxlWCh5MCwgeTEsIDkwKTsKKyAgICB5ID0gZ3JhdGljdWxlWSh4MCwg
eDEsIHByZWNpc2lvbik7CisgICAgWCA9IGdyYXRpY3VsZVgoWTAsIFkxLCA5MCk7CisgICAgWSA9
IGdyYXRpY3VsZVkoWDAsIFgxLCBwcmVjaXNpb24pOworICAgIHJldHVybiBncmF0aWN1bGU7Cisg
IH07CisKKyAgcmV0dXJuIGdyYXRpY3VsZQorICAgICAgLmV4dGVudE1ham9yKFtbLTE4MCwgLTkw
ICsgZXBzaWxvbiQyXSwgWzE4MCwgOTAgLSBlcHNpbG9uJDJdXSkKKyAgICAgIC5leHRlbnRNaW5v
cihbWy0xODAsIC04MCAtIGVwc2lsb24kMl0sIFsxODAsIDgwICsgZXBzaWxvbiQyXV0pOworfQor
CitmdW5jdGlvbiBncmF0aWN1bGUxMCgpIHsKKyAgcmV0dXJuIGdyYXRpY3VsZSgpKCk7Cit9CisK
K2Z1bmN0aW9uIGludGVycG9sYXRlJDEoYSwgYikgeworICB2YXIgeDAgPSBhWzBdICogcmFkaWFu
cywKKyAgICAgIHkwID0gYVsxXSAqIHJhZGlhbnMsCisgICAgICB4MSA9IGJbMF0gKiByYWRpYW5z
LAorICAgICAgeTEgPSBiWzFdICogcmFkaWFucywKKyAgICAgIGN5MCA9IGNvcyQxKHkwKSwKKyAg
ICAgIHN5MCA9IHNpbiQxKHkwKSwKKyAgICAgIGN5MSA9IGNvcyQxKHkxKSwKKyAgICAgIHN5MSA9
IHNpbiQxKHkxKSwKKyAgICAgIGt4MCA9IGN5MCAqIGNvcyQxKHgwKSwKKyAgICAgIGt5MCA9IGN5
MCAqIHNpbiQxKHgwKSwKKyAgICAgIGt4MSA9IGN5MSAqIGNvcyQxKHgxKSwKKyAgICAgIGt5MSA9
IGN5MSAqIHNpbiQxKHgxKSwKKyAgICAgIGQgPSAyICogYXNpbihzcXJ0KGhhdmVyc2luKHkxIC0g
eTApICsgY3kwICogY3kxICogaGF2ZXJzaW4oeDEgLSB4MCkpKSwKKyAgICAgIGsgPSBzaW4kMShk
KTsKKworICB2YXIgaW50ZXJwb2xhdGUgPSBkID8gZnVuY3Rpb24odCkgeworICAgIHZhciBCID0g
c2luJDEodCAqPSBkKSAvIGssCisgICAgICAgIEEgPSBzaW4kMShkIC0gdCkgLyBrLAorICAgICAg
ICB4ID0gQSAqIGt4MCArIEIgKiBreDEsCisgICAgICAgIHkgPSBBICoga3kwICsgQiAqIGt5MSwK
KyAgICAgICAgeiA9IEEgKiBzeTAgKyBCICogc3kxOworICAgIHJldHVybiBbCisgICAgICBhdGFu
Mih5LCB4KSAqIGRlZ3JlZXMkMSwKKyAgICAgIGF0YW4yKHosIHNxcnQoeCAqIHggKyB5ICogeSkp
ICogZGVncmVlcyQxCisgICAgXTsKKyAgfSA6IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBbeDAg
KiBkZWdyZWVzJDEsIHkwICogZGVncmVlcyQxXTsKKyAgfTsKKworICBpbnRlcnBvbGF0ZS5kaXN0
YW5jZSA9IGQ7CisKKyAgcmV0dXJuIGludGVycG9sYXRlOworfQorCitmdW5jdGlvbiBpZGVudGl0
eSQ0KHgpIHsKKyAgcmV0dXJuIHg7Cit9CisKK3ZhciBhcmVhU3VtJDEgPSBhZGRlcigpLAorICAg
IGFyZWFSaW5nU3VtJDEgPSBhZGRlcigpLAorICAgIHgwMCwKKyAgICB5MDAsCisgICAgeDAkMSwK
KyAgICB5MCQxOworCit2YXIgYXJlYVN0cmVhbSQxID0geworICBwb2ludDogbm9vcCQyLAorICBs
aW5lU3RhcnQ6IG5vb3AkMiwKKyAgbGluZUVuZDogbm9vcCQyLAorICBwb2x5Z29uU3RhcnQ6IGZ1
bmN0aW9uKCkgeworICAgIGFyZWFTdHJlYW0kMS5saW5lU3RhcnQgPSBhcmVhUmluZ1N0YXJ0JDE7
CisgICAgYXJlYVN0cmVhbSQxLmxpbmVFbmQgPSBhcmVhUmluZ0VuZCQxOworICB9LAorICBwb2x5
Z29uRW5kOiBmdW5jdGlvbigpIHsKKyAgICBhcmVhU3RyZWFtJDEubGluZVN0YXJ0ID0gYXJlYVN0
cmVhbSQxLmxpbmVFbmQgPSBhcmVhU3RyZWFtJDEucG9pbnQgPSBub29wJDI7CisgICAgYXJlYVN1
bSQxLmFkZChhYnMoYXJlYVJpbmdTdW0kMSkpOworICAgIGFyZWFSaW5nU3VtJDEucmVzZXQoKTsK
KyAgfSwKKyAgcmVzdWx0OiBmdW5jdGlvbigpIHsKKyAgICB2YXIgYXJlYSA9IGFyZWFTdW0kMSAv
IDI7CisgICAgYXJlYVN1bSQxLnJlc2V0KCk7CisgICAgcmV0dXJuIGFyZWE7CisgIH0KK307CisK
K2Z1bmN0aW9uIGFyZWFSaW5nU3RhcnQkMSgpIHsKKyAgYXJlYVN0cmVhbSQxLnBvaW50ID0gYXJl
YVBvaW50Rmlyc3QkMTsKK30KKworZnVuY3Rpb24gYXJlYVBvaW50Rmlyc3QkMSh4LCB5KSB7Cisg
IGFyZWFTdHJlYW0kMS5wb2ludCA9IGFyZWFQb2ludCQxOworICB4MDAgPSB4MCQxID0geCwgeTAw
ID0geTAkMSA9IHk7Cit9CisKK2Z1bmN0aW9uIGFyZWFQb2ludCQxKHgsIHkpIHsKKyAgYXJlYVJp
bmdTdW0kMS5hZGQoeTAkMSAqIHggLSB4MCQxICogeSk7CisgIHgwJDEgPSB4LCB5MCQxID0geTsK
K30KKworZnVuY3Rpb24gYXJlYVJpbmdFbmQkMSgpIHsKKyAgYXJlYVBvaW50JDEoeDAwLCB5MDAp
OworfQorCit2YXIgeDAkMiA9IEluZmluaXR5LAorICAgIHkwJDIgPSB4MCQyLAorICAgIHgxID0g
LXgwJDIsCisgICAgeTEgPSB4MTsKKwordmFyIGJvdW5kc1N0cmVhbSQxID0geworICBwb2ludDog
Ym91bmRzUG9pbnQkMSwKKyAgbGluZVN0YXJ0OiBub29wJDIsCisgIGxpbmVFbmQ6IG5vb3AkMiwK
KyAgcG9seWdvblN0YXJ0OiBub29wJDIsCisgIHBvbHlnb25FbmQ6IG5vb3AkMiwKKyAgcmVzdWx0
OiBmdW5jdGlvbigpIHsKKyAgICB2YXIgYm91bmRzID0gW1t4MCQyLCB5MCQyXSwgW3gxLCB5MV1d
OworICAgIHgxID0geTEgPSAtKHkwJDIgPSB4MCQyID0gSW5maW5pdHkpOworICAgIHJldHVybiBi
b3VuZHM7CisgIH0KK307CisKK2Z1bmN0aW9uIGJvdW5kc1BvaW50JDEoeCwgeSkgeworICBpZiAo
eCA8IHgwJDIpIHgwJDIgPSB4OworICBpZiAoeCA+IHgxKSB4MSA9IHg7CisgIGlmICh5IDwgeTAk
MikgeTAkMiA9IHk7CisgIGlmICh5ID4geTEpIHkxID0geTsKK30KKworLy8gVE9ETyBFbmZvcmNl
IHBvc2l0aXZlIGFyZWEgZm9yIGV4dGVyaW9yLCBuZWdhdGl2ZSBhcmVhIGZvciBpbnRlcmlvcj8K
KwordmFyIFgwJDEgPSAwLAorICAgIFkwJDEgPSAwLAorICAgIFowJDEgPSAwLAorICAgIFgxJDEg
PSAwLAorICAgIFkxJDEgPSAwLAorICAgIFoxJDEgPSAwLAorICAgIFgyJDEgPSAwLAorICAgIFky
JDEgPSAwLAorICAgIFoyJDEgPSAwLAorICAgIHgwMCQxLAorICAgIHkwMCQxLAorICAgIHgwJDMs
CisgICAgeTAkMzsKKwordmFyIGNlbnRyb2lkU3RyZWFtJDEgPSB7CisgIHBvaW50OiBjZW50cm9p
ZFBvaW50JDEsCisgIGxpbmVTdGFydDogY2VudHJvaWRMaW5lU3RhcnQkMSwKKyAgbGluZUVuZDog
Y2VudHJvaWRMaW5lRW5kJDEsCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgY2Vu
dHJvaWRTdHJlYW0kMS5saW5lU3RhcnQgPSBjZW50cm9pZFJpbmdTdGFydCQxOworICAgIGNlbnRy
b2lkU3RyZWFtJDEubGluZUVuZCA9IGNlbnRyb2lkUmluZ0VuZCQxOworICB9LAorICBwb2x5Z29u
RW5kOiBmdW5jdGlvbigpIHsKKyAgICBjZW50cm9pZFN0cmVhbSQxLnBvaW50ID0gY2VudHJvaWRQ
b2ludCQxOworICAgIGNlbnRyb2lkU3RyZWFtJDEubGluZVN0YXJ0ID0gY2VudHJvaWRMaW5lU3Rh
cnQkMTsKKyAgICBjZW50cm9pZFN0cmVhbSQxLmxpbmVFbmQgPSBjZW50cm9pZExpbmVFbmQkMTsK
KyAgfSwKKyAgcmVzdWx0OiBmdW5jdGlvbigpIHsKKyAgICB2YXIgY2VudHJvaWQgPSBaMiQxID8g
W1gyJDEgLyBaMiQxLCBZMiQxIC8gWjIkMV0KKyAgICAgICAgOiBaMSQxID8gW1gxJDEgLyBaMSQx
LCBZMSQxIC8gWjEkMV0KKyAgICAgICAgOiBaMCQxID8gW1gwJDEgLyBaMCQxLCBZMCQxIC8gWjAk
MV0KKyAgICAgICAgOiBbTmFOLCBOYU5dOworICAgIFgwJDEgPSBZMCQxID0gWjAkMSA9CisgICAg
WDEkMSA9IFkxJDEgPSBaMSQxID0KKyAgICBYMiQxID0gWTIkMSA9IFoyJDEgPSAwOworICAgIHJl
dHVybiBjZW50cm9pZDsKKyAgfQorfTsKKworZnVuY3Rpb24gY2VudHJvaWRQb2ludCQxKHgsIHkp
IHsKKyAgWDAkMSArPSB4OworICBZMCQxICs9IHk7CisgICsrWjAkMTsKK30KKworZnVuY3Rpb24g
Y2VudHJvaWRMaW5lU3RhcnQkMSgpIHsKKyAgY2VudHJvaWRTdHJlYW0kMS5wb2ludCA9IGNlbnRy
b2lkUG9pbnRGaXJzdExpbmU7Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkUG9pbnRGaXJzdExpbmUo
eCwgeSkgeworICBjZW50cm9pZFN0cmVhbSQxLnBvaW50ID0gY2VudHJvaWRQb2ludExpbmU7Cisg
IGNlbnRyb2lkUG9pbnQkMSh4MCQzID0geCwgeTAkMyA9IHkpOworfQorCitmdW5jdGlvbiBjZW50
cm9pZFBvaW50TGluZSh4LCB5KSB7CisgIHZhciBkeCA9IHggLSB4MCQzLCBkeSA9IHkgLSB5MCQz
LCB6ID0gc3FydChkeCAqIGR4ICsgZHkgKiBkeSk7CisgIFgxJDEgKz0geiAqICh4MCQzICsgeCkg
LyAyOworICBZMSQxICs9IHogKiAoeTAkMyArIHkpIC8gMjsKKyAgWjEkMSArPSB6OworICBjZW50
cm9pZFBvaW50JDEoeDAkMyA9IHgsIHkwJDMgPSB5KTsKK30KKworZnVuY3Rpb24gY2VudHJvaWRM
aW5lRW5kJDEoKSB7CisgIGNlbnRyb2lkU3RyZWFtJDEucG9pbnQgPSBjZW50cm9pZFBvaW50JDE7
Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkUmluZ1N0YXJ0JDEoKSB7CisgIGNlbnRyb2lkU3RyZWFt
JDEucG9pbnQgPSBjZW50cm9pZFBvaW50Rmlyc3RSaW5nOworfQorCitmdW5jdGlvbiBjZW50cm9p
ZFJpbmdFbmQkMSgpIHsKKyAgY2VudHJvaWRQb2ludFJpbmcoeDAwJDEsIHkwMCQxKTsKK30KKwor
ZnVuY3Rpb24gY2VudHJvaWRQb2ludEZpcnN0UmluZyh4LCB5KSB7CisgIGNlbnRyb2lkU3RyZWFt
JDEucG9pbnQgPSBjZW50cm9pZFBvaW50UmluZzsKKyAgY2VudHJvaWRQb2ludCQxKHgwMCQxID0g
eDAkMyA9IHgsIHkwMCQxID0geTAkMyA9IHkpOworfQorCitmdW5jdGlvbiBjZW50cm9pZFBvaW50
UmluZyh4LCB5KSB7CisgIHZhciBkeCA9IHggLSB4MCQzLAorICAgICAgZHkgPSB5IC0geTAkMywK
KyAgICAgIHogPSBzcXJ0KGR4ICogZHggKyBkeSAqIGR5KTsKKworICBYMSQxICs9IHogKiAoeDAk
MyArIHgpIC8gMjsKKyAgWTEkMSArPSB6ICogKHkwJDMgKyB5KSAvIDI7CisgIFoxJDEgKz0gejsK
KworICB6ID0geTAkMyAqIHggLSB4MCQzICogeTsKKyAgWDIkMSArPSB6ICogKHgwJDMgKyB4KTsK
KyAgWTIkMSArPSB6ICogKHkwJDMgKyB5KTsKKyAgWjIkMSArPSB6ICogMzsKKyAgY2VudHJvaWRQ
b2ludCQxKHgwJDMgPSB4LCB5MCQzID0geSk7Cit9CisKK2Z1bmN0aW9uIFBhdGhDb250ZXh0KGNv
bnRleHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7Cit9CisKK1BhdGhDb250ZXh0LnBy
b3RvdHlwZSA9IHsKKyAgX3JhZGl1czogNC41LAorICBwb2ludFJhZGl1czogZnVuY3Rpb24oXykg
eworICAgIHJldHVybiB0aGlzLl9yYWRpdXMgPSBfLCB0aGlzOworICB9LAorICBwb2x5Z29uU3Rh
cnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSAwOworICB9LAorICBwb2x5Z29uRW5k
OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gTmFOOworICB9LAorICBsaW5lU3RhcnQ6
IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVu
Y3Rpb24oKSB7CisgICAgaWYgKHRoaXMuX2xpbmUgPT09IDApIHRoaXMuX2NvbnRleHQuY2xvc2VQ
YXRoKCk7CisgICAgdGhpcy5fcG9pbnQgPSBOYU47CisgIH0sCisgIHBvaW50OiBmdW5jdGlvbih4
LCB5KSB7CisgICAgc3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAwOiB7CisgICAg
ICAgIHRoaXMuX2NvbnRleHQubW92ZVRvKHgsIHkpOworICAgICAgICB0aGlzLl9wb2ludCA9IDE7
CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAgY2FzZSAxOiB7CisgICAgICAgIHRoaXMu
X2NvbnRleHQubGluZVRvKHgsIHkpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICAgIGRl
ZmF1bHQ6IHsKKyAgICAgICAgdGhpcy5fY29udGV4dC5tb3ZlVG8oeCArIHRoaXMuX3JhZGl1cywg
eSk7CisgICAgICAgIHRoaXMuX2NvbnRleHQuYXJjKHgsIHksIHRoaXMuX3JhZGl1cywgMCwgdGF1
JDMpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICB9CisgIH0sCisgIHJlc3VsdDogbm9v
cCQyCit9OworCit2YXIgbGVuZ3RoU3VtJDEgPSBhZGRlcigpLAorICAgIGxlbmd0aFJpbmcsCisg
ICAgeDAwJDIsCisgICAgeTAwJDIsCisgICAgeDAkNCwKKyAgICB5MCQ0OworCit2YXIgbGVuZ3Ro
U3RyZWFtJDEgPSB7CisgIHBvaW50OiBub29wJDIsCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7
CisgICAgbGVuZ3RoU3RyZWFtJDEucG9pbnQgPSBsZW5ndGhQb2ludEZpcnN0JDE7CisgIH0sCisg
IGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIGlmIChsZW5ndGhSaW5nKSBsZW5ndGhQb2ludCQx
KHgwMCQyLCB5MDAkMik7CisgICAgbGVuZ3RoU3RyZWFtJDEucG9pbnQgPSBub29wJDI7CisgIH0s
CisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgbGVuZ3RoUmluZyA9IHRydWU7Cisg
IH0sCisgIHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIGxlbmd0aFJpbmcgPSBudWxsOwor
ICB9LAorICByZXN1bHQ6IGZ1bmN0aW9uKCkgeworICAgIHZhciBsZW5ndGggPSArbGVuZ3RoU3Vt
JDE7CisgICAgbGVuZ3RoU3VtJDEucmVzZXQoKTsKKyAgICByZXR1cm4gbGVuZ3RoOworICB9Cit9
OworCitmdW5jdGlvbiBsZW5ndGhQb2ludEZpcnN0JDEoeCwgeSkgeworICBsZW5ndGhTdHJlYW0k
MS5wb2ludCA9IGxlbmd0aFBvaW50JDE7CisgIHgwMCQyID0geDAkNCA9IHgsIHkwMCQyID0geTAk
NCA9IHk7Cit9CisKK2Z1bmN0aW9uIGxlbmd0aFBvaW50JDEoeCwgeSkgeworICB4MCQ0IC09IHgs
IHkwJDQgLT0geTsKKyAgbGVuZ3RoU3VtJDEuYWRkKHNxcnQoeDAkNCAqIHgwJDQgKyB5MCQ0ICog
eTAkNCkpOworICB4MCQ0ID0geCwgeTAkNCA9IHk7Cit9CisKK2Z1bmN0aW9uIFBhdGhTdHJpbmco
KSB7CisgIHRoaXMuX3N0cmluZyA9IFtdOworfQorCitQYXRoU3RyaW5nLnByb3RvdHlwZSA9IHsK
KyAgX3JhZGl1czogNC41LAorICBfY2lyY2xlOiBjaXJjbGUkMSg0LjUpLAorICBwb2ludFJhZGl1
czogZnVuY3Rpb24oXykgeworICAgIGlmICgoXyA9ICtfKSAhPT0gdGhpcy5fcmFkaXVzKSB0aGlz
Ll9yYWRpdXMgPSBfLCB0aGlzLl9jaXJjbGUgPSBudWxsOworICAgIHJldHVybiB0aGlzOworICB9
LAorICBwb2x5Z29uU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSAwOworICB9
LAorICBwb2x5Z29uRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gTmFOOworICB9
LAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwK
KyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgaWYgKHRoaXMuX2xpbmUgPT09IDApIHRoaXMu
X3N0cmluZy5wdXNoKCJaIik7CisgICAgdGhpcy5fcG9pbnQgPSBOYU47CisgIH0sCisgIHBvaW50
OiBmdW5jdGlvbih4LCB5KSB7CisgICAgc3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2Fz
ZSAwOiB7CisgICAgICAgIHRoaXMuX3N0cmluZy5wdXNoKCJNIiwgeCwgIiwiLCB5KTsKKyAgICAg
ICAgdGhpcy5fcG9pbnQgPSAxOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICAgIGNhc2Ug
MTogeworICAgICAgICB0aGlzLl9zdHJpbmcucHVzaCgiTCIsIHgsICIsIiwgeSk7CisgICAgICAg
IGJyZWFrOworICAgICAgfQorICAgICAgZGVmYXVsdDogeworICAgICAgICBpZiAodGhpcy5fY2ly
Y2xlID09IG51bGwpIHRoaXMuX2NpcmNsZSA9IGNpcmNsZSQxKHRoaXMuX3JhZGl1cyk7CisgICAg
ICAgIHRoaXMuX3N0cmluZy5wdXNoKCJNIiwgeCwgIiwiLCB5LCB0aGlzLl9jaXJjbGUpOworICAg
ICAgICBicmVhazsKKyAgICAgIH0KKyAgICB9CisgIH0sCisgIHJlc3VsdDogZnVuY3Rpb24oKSB7
CisgICAgaWYgKHRoaXMuX3N0cmluZy5sZW5ndGgpIHsKKyAgICAgIHZhciByZXN1bHQgPSB0aGlz
Ll9zdHJpbmcuam9pbigiIik7CisgICAgICB0aGlzLl9zdHJpbmcgPSBbXTsKKyAgICAgIHJldHVy
biByZXN1bHQ7CisgICAgfSBlbHNlIHsKKyAgICAgIHJldHVybiBudWxsOworICAgIH0KKyAgfQor
fTsKKworZnVuY3Rpb24gY2lyY2xlJDEocmFkaXVzKSB7CisgIHJldHVybiAibTAsIiArIHJhZGl1
cworICAgICAgKyAiYSIgKyByYWRpdXMgKyAiLCIgKyByYWRpdXMgKyAiIDAgMSwxIDAsIiArIC0y
ICogcmFkaXVzCisgICAgICArICJhIiArIHJhZGl1cyArICIsIiArIHJhZGl1cyArICIgMCAxLDEg
MCwiICsgMiAqIHJhZGl1cworICAgICAgKyAieiI7Cit9CisKK2Z1bmN0aW9uIGluZGV4JDEocHJv
amVjdGlvbiwgY29udGV4dCkgeworICB2YXIgcG9pbnRSYWRpdXMgPSA0LjUsCisgICAgICBwcm9q
ZWN0aW9uU3RyZWFtLAorICAgICAgY29udGV4dFN0cmVhbTsKKworICBmdW5jdGlvbiBwYXRoKG9i
amVjdCkgeworICAgIGlmIChvYmplY3QpIHsKKyAgICAgIGlmICh0eXBlb2YgcG9pbnRSYWRpdXMg
PT09ICJmdW5jdGlvbiIpIGNvbnRleHRTdHJlYW0ucG9pbnRSYWRpdXMoK3BvaW50UmFkaXVzLmFw
cGx5KHRoaXMsIGFyZ3VtZW50cykpOworICAgICAgZ2VvU3RyZWFtKG9iamVjdCwgcHJvamVjdGlv
blN0cmVhbShjb250ZXh0U3RyZWFtKSk7CisgICAgfQorICAgIHJldHVybiBjb250ZXh0U3RyZWFt
LnJlc3VsdCgpOworICB9CisKKyAgcGF0aC5hcmVhID0gZnVuY3Rpb24ob2JqZWN0KSB7CisgICAg
Z2VvU3RyZWFtKG9iamVjdCwgcHJvamVjdGlvblN0cmVhbShhcmVhU3RyZWFtJDEpKTsKKyAgICBy
ZXR1cm4gYXJlYVN0cmVhbSQxLnJlc3VsdCgpOworICB9OworCisgIHBhdGgubWVhc3VyZSA9IGZ1
bmN0aW9uKG9iamVjdCkgeworICAgIGdlb1N0cmVhbShvYmplY3QsIHByb2plY3Rpb25TdHJlYW0o
bGVuZ3RoU3RyZWFtJDEpKTsKKyAgICByZXR1cm4gbGVuZ3RoU3RyZWFtJDEucmVzdWx0KCk7Cisg
IH07CisKKyAgcGF0aC5ib3VuZHMgPSBmdW5jdGlvbihvYmplY3QpIHsKKyAgICBnZW9TdHJlYW0o
b2JqZWN0LCBwcm9qZWN0aW9uU3RyZWFtKGJvdW5kc1N0cmVhbSQxKSk7CisgICAgcmV0dXJuIGJv
dW5kc1N0cmVhbSQxLnJlc3VsdCgpOworICB9OworCisgIHBhdGguY2VudHJvaWQgPSBmdW5jdGlv
bihvYmplY3QpIHsKKyAgICBnZW9TdHJlYW0ob2JqZWN0LCBwcm9qZWN0aW9uU3RyZWFtKGNlbnRy
b2lkU3RyZWFtJDEpKTsKKyAgICByZXR1cm4gY2VudHJvaWRTdHJlYW0kMS5yZXN1bHQoKTsKKyAg
fTsKKworICBwYXRoLnByb2plY3Rpb24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAocHJvamVjdGlvblN0cmVhbSA9IF8gPT0gbnVsbCA/IChwcm9qZWN0aW9u
ID0gbnVsbCwgaWRlbnRpdHkkNCkgOiAocHJvamVjdGlvbiA9IF8pLnN0cmVhbSwgcGF0aCkgOiBw
cm9qZWN0aW9uOworICB9OworCisgIHBhdGguY29udGV4dCA9IGZ1bmN0aW9uKF8pIHsKKyAgICBp
ZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBjb250ZXh0OworICAgIGNvbnRleHRTdHJlYW0g
PSBfID09IG51bGwgPyAoY29udGV4dCA9IG51bGwsIG5ldyBQYXRoU3RyaW5nKSA6IG5ldyBQYXRo
Q29udGV4dChjb250ZXh0ID0gXyk7CisgICAgaWYgKHR5cGVvZiBwb2ludFJhZGl1cyAhPT0gImZ1
bmN0aW9uIikgY29udGV4dFN0cmVhbS5wb2ludFJhZGl1cyhwb2ludFJhZGl1cyk7CisgICAgcmV0
dXJuIHBhdGg7CisgIH07CisKKyAgcGF0aC5wb2ludFJhZGl1cyA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBwb2ludFJhZGl1czsKKyAgICBwb2ludFJh
ZGl1cyA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IChjb250ZXh0U3RyZWFtLnBvaW50
UmFkaXVzKCtfKSwgK18pOworICAgIHJldHVybiBwYXRoOworICB9OworCisgIHJldHVybiBwYXRo
LnByb2plY3Rpb24ocHJvamVjdGlvbikuY29udGV4dChjb250ZXh0KTsKK30KKworZnVuY3Rpb24g
dHJhbnNmb3JtKG1ldGhvZHMpIHsKKyAgcmV0dXJuIHsKKyAgICBzdHJlYW06IHRyYW5zZm9ybWVy
KG1ldGhvZHMpCisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zZm9ybWVyKG1ldGhvZHMpIHsKKyAg
cmV0dXJuIGZ1bmN0aW9uKHN0cmVhbSkgeworICAgIHZhciBzID0gbmV3IFRyYW5zZm9ybVN0cmVh
bTsKKyAgICBmb3IgKHZhciBrZXkgaW4gbWV0aG9kcykgc1trZXldID0gbWV0aG9kc1trZXldOwor
ICAgIHMuc3RyZWFtID0gc3RyZWFtOworICAgIHJldHVybiBzOworICB9OworfQorCitmdW5jdGlv
biBUcmFuc2Zvcm1TdHJlYW0oKSB7fQorCitUcmFuc2Zvcm1TdHJlYW0ucHJvdG90eXBlID0gewor
ICBjb25zdHJ1Y3RvcjogVHJhbnNmb3JtU3RyZWFtLAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkg
eyB0aGlzLnN0cmVhbS5wb2ludCh4LCB5KTsgfSwKKyAgc3BoZXJlOiBmdW5jdGlvbigpIHsgdGhp
cy5zdHJlYW0uc3BoZXJlKCk7IH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7IHRoaXMuc3Ry
ZWFtLmxpbmVTdGFydCgpOyB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsgdGhpcy5zdHJlYW0u
bGluZUVuZCgpOyB9LAorICBwb2x5Z29uU3RhcnQ6IGZ1bmN0aW9uKCkgeyB0aGlzLnN0cmVhbS5w
b2x5Z29uU3RhcnQoKTsgfSwKKyAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7IHRoaXMuc3RyZWFt
LnBvbHlnb25FbmQoKTsgfQorfTsKKworZnVuY3Rpb24gZml0KHByb2plY3Rpb24sIGZpdEJvdW5k
cywgb2JqZWN0KSB7CisgIHZhciBjbGlwID0gcHJvamVjdGlvbi5jbGlwRXh0ZW50ICYmIHByb2pl
Y3Rpb24uY2xpcEV4dGVudCgpOworICBwcm9qZWN0aW9uLnNjYWxlKDE1MCkudHJhbnNsYXRlKFsw
LCAwXSk7CisgIGlmIChjbGlwICE9IG51bGwpIHByb2plY3Rpb24uY2xpcEV4dGVudChudWxsKTsK
KyAgZ2VvU3RyZWFtKG9iamVjdCwgcHJvamVjdGlvbi5zdHJlYW0oYm91bmRzU3RyZWFtJDEpKTsK
KyAgZml0Qm91bmRzKGJvdW5kc1N0cmVhbSQxLnJlc3VsdCgpKTsKKyAgaWYgKGNsaXAgIT0gbnVs
bCkgcHJvamVjdGlvbi5jbGlwRXh0ZW50KGNsaXApOworICByZXR1cm4gcHJvamVjdGlvbjsKK30K
KworZnVuY3Rpb24gZml0RXh0ZW50KHByb2plY3Rpb24sIGV4dGVudCwgb2JqZWN0KSB7CisgIHJl
dHVybiBmaXQocHJvamVjdGlvbiwgZnVuY3Rpb24oYikgeworICAgIHZhciB3ID0gZXh0ZW50WzFd
WzBdIC0gZXh0ZW50WzBdWzBdLAorICAgICAgICBoID0gZXh0ZW50WzFdWzFdIC0gZXh0ZW50WzBd
WzFdLAorICAgICAgICBrID0gTWF0aC5taW4odyAvIChiWzFdWzBdIC0gYlswXVswXSksIGggLyAo
YlsxXVsxXSAtIGJbMF1bMV0pKSwKKyAgICAgICAgeCA9ICtleHRlbnRbMF1bMF0gKyAodyAtIGsg
KiAoYlsxXVswXSArIGJbMF1bMF0pKSAvIDIsCisgICAgICAgIHkgPSArZXh0ZW50WzBdWzFdICsg
KGggLSBrICogKGJbMV1bMV0gKyBiWzBdWzFdKSkgLyAyOworICAgIHByb2plY3Rpb24uc2NhbGUo
MTUwICogaykudHJhbnNsYXRlKFt4LCB5XSk7CisgIH0sIG9iamVjdCk7Cit9CisKK2Z1bmN0aW9u
IGZpdFNpemUocHJvamVjdGlvbiwgc2l6ZSwgb2JqZWN0KSB7CisgIHJldHVybiBmaXRFeHRlbnQo
cHJvamVjdGlvbiwgW1swLCAwXSwgc2l6ZV0sIG9iamVjdCk7Cit9CisKK2Z1bmN0aW9uIGZpdFdp
ZHRoKHByb2plY3Rpb24sIHdpZHRoLCBvYmplY3QpIHsKKyAgcmV0dXJuIGZpdChwcm9qZWN0aW9u
LCBmdW5jdGlvbihiKSB7CisgICAgdmFyIHcgPSArd2lkdGgsCisgICAgICAgIGsgPSB3IC8gKGJb
MV1bMF0gLSBiWzBdWzBdKSwKKyAgICAgICAgeCA9ICh3IC0gayAqIChiWzFdWzBdICsgYlswXVsw
XSkpIC8gMiwKKyAgICAgICAgeSA9IC1rICogYlswXVsxXTsKKyAgICBwcm9qZWN0aW9uLnNjYWxl
KDE1MCAqIGspLnRyYW5zbGF0ZShbeCwgeV0pOworICB9LCBvYmplY3QpOworfQorCitmdW5jdGlv
biBmaXRIZWlnaHQocHJvamVjdGlvbiwgaGVpZ2h0LCBvYmplY3QpIHsKKyAgcmV0dXJuIGZpdChw
cm9qZWN0aW9uLCBmdW5jdGlvbihiKSB7CisgICAgdmFyIGggPSAraGVpZ2h0LAorICAgICAgICBr
ID0gaCAvIChiWzFdWzFdIC0gYlswXVsxXSksCisgICAgICAgIHggPSAtayAqIGJbMF1bMF0sCisg
ICAgICAgIHkgPSAoaCAtIGsgKiAoYlsxXVsxXSArIGJbMF1bMV0pKSAvIDI7CisgICAgcHJvamVj
dGlvbi5zY2FsZSgxNTAgKiBrKS50cmFuc2xhdGUoW3gsIHldKTsKKyAgfSwgb2JqZWN0KTsKK30K
KwordmFyIG1heERlcHRoID0gMTYsIC8vIG1heGltdW0gZGVwdGggb2Ygc3ViZGl2aXNpb24KKyAg
ICBjb3NNaW5EaXN0YW5jZSA9IGNvcyQxKDMwICogcmFkaWFucyk7IC8vIGNvcyhtaW5pbXVtIGFu
Z3VsYXIgZGlzdGFuY2UpCisKK2Z1bmN0aW9uIHJlc2FtcGxlKHByb2plY3QsIGRlbHRhMikgewor
ICByZXR1cm4gK2RlbHRhMiA/IHJlc2FtcGxlJDEocHJvamVjdCwgZGVsdGEyKSA6IHJlc2FtcGxl
Tm9uZShwcm9qZWN0KTsKK30KKworZnVuY3Rpb24gcmVzYW1wbGVOb25lKHByb2plY3QpIHsKKyAg
cmV0dXJuIHRyYW5zZm9ybWVyKHsKKyAgICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAgICAg
eCA9IHByb2plY3QoeCwgeSk7CisgICAgICB0aGlzLnN0cmVhbS5wb2ludCh4WzBdLCB4WzFdKTsK
KyAgICB9CisgIH0pOworfQorCitmdW5jdGlvbiByZXNhbXBsZSQxKHByb2plY3QsIGRlbHRhMikg
eworCisgIGZ1bmN0aW9uIHJlc2FtcGxlTGluZVRvKHgwLCB5MCwgbGFtYmRhMCwgYTAsIGIwLCBj
MCwgeDEsIHkxLCBsYW1iZGExLCBhMSwgYjEsIGMxLCBkZXB0aCwgc3RyZWFtKSB7CisgICAgdmFy
IGR4ID0geDEgLSB4MCwKKyAgICAgICAgZHkgPSB5MSAtIHkwLAorICAgICAgICBkMiA9IGR4ICog
ZHggKyBkeSAqIGR5OworICAgIGlmIChkMiA+IDQgKiBkZWx0YTIgJiYgZGVwdGgtLSkgeworICAg
ICAgdmFyIGEgPSBhMCArIGExLAorICAgICAgICAgIGIgPSBiMCArIGIxLAorICAgICAgICAgIGMg
PSBjMCArIGMxLAorICAgICAgICAgIG0gPSBzcXJ0KGEgKiBhICsgYiAqIGIgKyBjICogYyksCisg
ICAgICAgICAgcGhpMiA9IGFzaW4oYyAvPSBtKSwKKyAgICAgICAgICBsYW1iZGEyID0gYWJzKGFi
cyhjKSAtIDEpIDwgZXBzaWxvbiQyIHx8IGFicyhsYW1iZGEwIC0gbGFtYmRhMSkgPCBlcHNpbG9u
JDIgPyAobGFtYmRhMCArIGxhbWJkYTEpIC8gMiA6IGF0YW4yKGIsIGEpLAorICAgICAgICAgIHAg
PSBwcm9qZWN0KGxhbWJkYTIsIHBoaTIpLAorICAgICAgICAgIHgyID0gcFswXSwKKyAgICAgICAg
ICB5MiA9IHBbMV0sCisgICAgICAgICAgZHgyID0geDIgLSB4MCwKKyAgICAgICAgICBkeTIgPSB5
MiAtIHkwLAorICAgICAgICAgIGR6ID0gZHkgKiBkeDIgLSBkeCAqIGR5MjsKKyAgICAgIGlmIChk
eiAqIGR6IC8gZDIgPiBkZWx0YTIgLy8gcGVycGVuZGljdWxhciBwcm9qZWN0ZWQgZGlzdGFuY2UK
KyAgICAgICAgICB8fCBhYnMoKGR4ICogZHgyICsgZHkgKiBkeTIpIC8gZDIgLSAwLjUpID4gMC4z
IC8vIG1pZHBvaW50IGNsb3NlIHRvIGFuIGVuZAorICAgICAgICAgIHx8IGEwICogYTEgKyBiMCAq
IGIxICsgYzAgKiBjMSA8IGNvc01pbkRpc3RhbmNlKSB7IC8vIGFuZ3VsYXIgZGlzdGFuY2UKKyAg
ICAgICAgcmVzYW1wbGVMaW5lVG8oeDAsIHkwLCBsYW1iZGEwLCBhMCwgYjAsIGMwLCB4MiwgeTIs
IGxhbWJkYTIsIGEgLz0gbSwgYiAvPSBtLCBjLCBkZXB0aCwgc3RyZWFtKTsKKyAgICAgICAgc3Ry
ZWFtLnBvaW50KHgyLCB5Mik7CisgICAgICAgIHJlc2FtcGxlTGluZVRvKHgyLCB5MiwgbGFtYmRh
MiwgYSwgYiwgYywgeDEsIHkxLCBsYW1iZGExLCBhMSwgYjEsIGMxLCBkZXB0aCwgc3RyZWFtKTsK
KyAgICAgIH0KKyAgICB9CisgIH0KKyAgcmV0dXJuIGZ1bmN0aW9uKHN0cmVhbSkgeworICAgIHZh
ciBsYW1iZGEwMCwgeDAwLCB5MDAsIGEwMCwgYjAwLCBjMDAsIC8vIGZpcnN0IHBvaW50CisgICAg
ICAgIGxhbWJkYTAsIHgwLCB5MCwgYTAsIGIwLCBjMDsgLy8gcHJldmlvdXMgcG9pbnQKKworICAg
IHZhciByZXNhbXBsZVN0cmVhbSA9IHsKKyAgICAgIHBvaW50OiBwb2ludCwKKyAgICAgIGxpbmVT
dGFydDogbGluZVN0YXJ0LAorICAgICAgbGluZUVuZDogbGluZUVuZCwKKyAgICAgIHBvbHlnb25T
dGFydDogZnVuY3Rpb24oKSB7IHN0cmVhbS5wb2x5Z29uU3RhcnQoKTsgcmVzYW1wbGVTdHJlYW0u
bGluZVN0YXJ0ID0gcmluZ1N0YXJ0OyB9LAorICAgICAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7
IHN0cmVhbS5wb2x5Z29uRW5kKCk7IHJlc2FtcGxlU3RyZWFtLmxpbmVTdGFydCA9IGxpbmVTdGFy
dDsgfQorICAgIH07CisKKyAgICBmdW5jdGlvbiBwb2ludCh4LCB5KSB7CisgICAgICB4ID0gcHJv
amVjdCh4LCB5KTsKKyAgICAgIHN0cmVhbS5wb2ludCh4WzBdLCB4WzFdKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBsaW5lU3RhcnQoKSB7CisgICAgICB4MCA9IE5hTjsKKyAgICAgIHJlc2FtcGxl
U3RyZWFtLnBvaW50ID0gbGluZVBvaW50OworICAgICAgc3RyZWFtLmxpbmVTdGFydCgpOworICAg
IH0KKworICAgIGZ1bmN0aW9uIGxpbmVQb2ludChsYW1iZGEsIHBoaSkgeworICAgICAgdmFyIGMg
PSBjYXJ0ZXNpYW4oW2xhbWJkYSwgcGhpXSksIHAgPSBwcm9qZWN0KGxhbWJkYSwgcGhpKTsKKyAg
ICAgIHJlc2FtcGxlTGluZVRvKHgwLCB5MCwgbGFtYmRhMCwgYTAsIGIwLCBjMCwgeDAgPSBwWzBd
LCB5MCA9IHBbMV0sIGxhbWJkYTAgPSBsYW1iZGEsIGEwID0gY1swXSwgYjAgPSBjWzFdLCBjMCA9
IGNbMl0sIG1heERlcHRoLCBzdHJlYW0pOworICAgICAgc3RyZWFtLnBvaW50KHgwLCB5MCk7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gbGluZUVuZCgpIHsKKyAgICAgIHJlc2FtcGxlU3RyZWFtLnBv
aW50ID0gcG9pbnQ7CisgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAgIH0KKworICAgIGZ1bmN0
aW9uIHJpbmdTdGFydCgpIHsKKyAgICAgIGxpbmVTdGFydCgpOworICAgICAgcmVzYW1wbGVTdHJl
YW0ucG9pbnQgPSByaW5nUG9pbnQ7CisgICAgICByZXNhbXBsZVN0cmVhbS5saW5lRW5kID0gcmlu
Z0VuZDsKKyAgICB9CisKKyAgICBmdW5jdGlvbiByaW5nUG9pbnQobGFtYmRhLCBwaGkpIHsKKyAg
ICAgIGxpbmVQb2ludChsYW1iZGEwMCA9IGxhbWJkYSwgcGhpKSwgeDAwID0geDAsIHkwMCA9IHkw
LCBhMDAgPSBhMCwgYjAwID0gYjAsIGMwMCA9IGMwOworICAgICAgcmVzYW1wbGVTdHJlYW0ucG9p
bnQgPSBsaW5lUG9pbnQ7CisgICAgfQorCisgICAgZnVuY3Rpb24gcmluZ0VuZCgpIHsKKyAgICAg
IHJlc2FtcGxlTGluZVRvKHgwLCB5MCwgbGFtYmRhMCwgYTAsIGIwLCBjMCwgeDAwLCB5MDAsIGxh
bWJkYTAwLCBhMDAsIGIwMCwgYzAwLCBtYXhEZXB0aCwgc3RyZWFtKTsKKyAgICAgIHJlc2FtcGxl
U3RyZWFtLmxpbmVFbmQgPSBsaW5lRW5kOworICAgICAgbGluZUVuZCgpOworICAgIH0KKworICAg
IHJldHVybiByZXNhbXBsZVN0cmVhbTsKKyAgfTsKK30KKwordmFyIHRyYW5zZm9ybVJhZGlhbnMg
PSB0cmFuc2Zvcm1lcih7CisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgdGhpcy5zdHJl
YW0ucG9pbnQoeCAqIHJhZGlhbnMsIHkgKiByYWRpYW5zKTsKKyAgfQorfSk7CisKK2Z1bmN0aW9u
IHRyYW5zZm9ybVJvdGF0ZShyb3RhdGUpIHsKKyAgcmV0dXJuIHRyYW5zZm9ybWVyKHsKKyAgICBw
b2ludDogZnVuY3Rpb24oeCwgeSkgeworICAgICAgdmFyIHIgPSByb3RhdGUoeCwgeSk7CisgICAg
ICByZXR1cm4gdGhpcy5zdHJlYW0ucG9pbnQoclswXSwgclsxXSk7CisgICAgfQorICB9KTsKK30K
KworZnVuY3Rpb24gc2NhbGVUcmFuc2xhdGUoaywgZHgsIGR5KSB7CisgIGZ1bmN0aW9uIHRyYW5z
Zm9ybSh4LCB5KSB7CisgICAgcmV0dXJuIFtkeCArIGsgKiB4LCBkeSAtIGsgKiB5XTsKKyAgfQor
ICB0cmFuc2Zvcm0uaW52ZXJ0ID0gZnVuY3Rpb24oeCwgeSkgeworICAgIHJldHVybiBbKHggLSBk
eCkgLyBrLCAoZHkgLSB5KSAvIGtdOworICB9OworICByZXR1cm4gdHJhbnNmb3JtOworfQorCitm
dW5jdGlvbiBzY2FsZVRyYW5zbGF0ZVJvdGF0ZShrLCBkeCwgZHksIGFscGhhKSB7CisgIHZhciBj
b3NBbHBoYSA9IGNvcyQxKGFscGhhKSwKKyAgICAgIHNpbkFscGhhID0gc2luJDEoYWxwaGEpLAor
ICAgICAgYSA9IGNvc0FscGhhICogaywKKyAgICAgIGIgPSBzaW5BbHBoYSAqIGssCisgICAgICBh
aSA9IGNvc0FscGhhIC8gaywKKyAgICAgIGJpID0gc2luQWxwaGEgLyBrLAorICAgICAgY2kgPSAo
c2luQWxwaGEgKiBkeSAtIGNvc0FscGhhICogZHgpIC8gaywKKyAgICAgIGZpID0gKHNpbkFscGhh
ICogZHggKyBjb3NBbHBoYSAqIGR5KSAvIGs7CisgIGZ1bmN0aW9uIHRyYW5zZm9ybSh4LCB5KSB7
CisgICAgcmV0dXJuIFthICogeCAtIGIgKiB5ICsgZHgsIGR5IC0gYiAqIHggLSBhICogeV07Cisg
IH0KKyAgdHJhbnNmb3JtLmludmVydCA9IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICByZXR1cm4gW2Fp
ICogeCAtIGJpICogeSArIGNpLCBmaSAtIGJpICogeCAtIGFpICogeV07CisgIH07CisgIHJldHVy
biB0cmFuc2Zvcm07Cit9CisKK2Z1bmN0aW9uIHByb2plY3Rpb24ocHJvamVjdCkgeworICByZXR1
cm4gcHJvamVjdGlvbk11dGF0b3IoZnVuY3Rpb24oKSB7IHJldHVybiBwcm9qZWN0OyB9KSgpOwor
fQorCitmdW5jdGlvbiBwcm9qZWN0aW9uTXV0YXRvcihwcm9qZWN0QXQpIHsKKyAgdmFyIHByb2pl
Y3QsCisgICAgICBrID0gMTUwLCAvLyBzY2FsZQorICAgICAgeCA9IDQ4MCwgeSA9IDI1MCwgLy8g
dHJhbnNsYXRlCisgICAgICBsYW1iZGEgPSAwLCBwaGkgPSAwLCAvLyBjZW50ZXIKKyAgICAgIGRl
bHRhTGFtYmRhID0gMCwgZGVsdGFQaGkgPSAwLCBkZWx0YUdhbW1hID0gMCwgcm90YXRlLCAvLyBw
cmUtcm90YXRlCisgICAgICBhbHBoYSA9IDAsIC8vIHBvc3Qtcm90YXRlCisgICAgICB0aGV0YSA9
IG51bGwsIHByZWNsaXAgPSBjbGlwQW50aW1lcmlkaWFuLCAvLyBwcmUtY2xpcCBhbmdsZQorICAg
ICAgeDAgPSBudWxsLCB5MCwgeDEsIHkxLCBwb3N0Y2xpcCA9IGlkZW50aXR5JDQsIC8vIHBvc3Qt
Y2xpcCBleHRlbnQKKyAgICAgIGRlbHRhMiA9IDAuNSwgLy8gcHJlY2lzaW9uCisgICAgICBwcm9q
ZWN0UmVzYW1wbGUsCisgICAgICBwcm9qZWN0VHJhbnNmb3JtLAorICAgICAgcHJvamVjdFJvdGF0
ZVRyYW5zZm9ybSwKKyAgICAgIGNhY2hlLAorICAgICAgY2FjaGVTdHJlYW07CisKKyAgZnVuY3Rp
b24gcHJvamVjdGlvbihwb2ludCkgeworICAgIHJldHVybiBwcm9qZWN0Um90YXRlVHJhbnNmb3Jt
KHBvaW50WzBdICogcmFkaWFucywgcG9pbnRbMV0gKiByYWRpYW5zKTsKKyAgfQorCisgIGZ1bmN0
aW9uIGludmVydChwb2ludCkgeworICAgIHBvaW50ID0gcHJvamVjdFJvdGF0ZVRyYW5zZm9ybS5p
bnZlcnQocG9pbnRbMF0sIHBvaW50WzFdKTsKKyAgICByZXR1cm4gcG9pbnQgJiYgW3BvaW50WzBd
ICogZGVncmVlcyQxLCBwb2ludFsxXSAqIGRlZ3JlZXMkMV07CisgIH0KKworICBwcm9qZWN0aW9u
LnN0cmVhbSA9IGZ1bmN0aW9uKHN0cmVhbSkgeworICAgIHJldHVybiBjYWNoZSAmJiBjYWNoZVN0
cmVhbSA9PT0gc3RyZWFtID8gY2FjaGUgOiBjYWNoZSA9IHRyYW5zZm9ybVJhZGlhbnModHJhbnNm
b3JtUm90YXRlKHJvdGF0ZSkocHJlY2xpcChwcm9qZWN0UmVzYW1wbGUocG9zdGNsaXAoY2FjaGVT
dHJlYW0gPSBzdHJlYW0pKSkpKTsKKyAgfTsKKworICBwcm9qZWN0aW9uLnByZWNsaXAgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocHJlY2xpcCA9IF8sIHRo
ZXRhID0gdW5kZWZpbmVkLCByZXNldCgpKSA6IHByZWNsaXA7CisgIH07CisKKyAgcHJvamVjdGlv
bi5wb3N0Y2xpcCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
IChwb3N0Y2xpcCA9IF8sIHgwID0geTAgPSB4MSA9IHkxID0gbnVsbCwgcmVzZXQoKSkgOiBwb3N0
Y2xpcDsKKyAgfTsKKworICBwcm9qZWN0aW9uLmNsaXBBbmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwcmVjbGlwID0gK18gPyBjbGlwQ2lyY2xlKHRo
ZXRhID0gXyAqIHJhZGlhbnMpIDogKHRoZXRhID0gbnVsbCwgY2xpcEFudGltZXJpZGlhbiksIHJl
c2V0KCkpIDogdGhldGEgKiBkZWdyZWVzJDE7CisgIH07CisKKyAgcHJvamVjdGlvbi5jbGlwRXh0
ZW50ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBvc3Rj
bGlwID0gXyA9PSBudWxsID8gKHgwID0geTAgPSB4MSA9IHkxID0gbnVsbCwgaWRlbnRpdHkkNCkg
OiBjbGlwUmVjdGFuZ2xlKHgwID0gK19bMF1bMF0sIHkwID0gK19bMF1bMV0sIHgxID0gK19bMV1b
MF0sIHkxID0gK19bMV1bMV0pLCByZXNldCgpKSA6IHgwID09IG51bGwgPyBudWxsIDogW1t4MCwg
eTBdLCBbeDEsIHkxXV07CisgIH07CisKKyAgcHJvamVjdGlvbi5zY2FsZSA9IGZ1bmN0aW9uKF8p
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChrID0gK18sIHJlY2VudGVyKCkpIDog
azsKKyAgfTsKKworICBwcm9qZWN0aW9uLnRyYW5zbGF0ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4ID0gK19bMF0sIHkgPSArX1sxXSwgcmVjZW50ZXIo
KSkgOiBbeCwgeV07CisgIH07CisKKyAgcHJvamVjdGlvbi5jZW50ZXIgPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAobGFtYmRhID0gX1swXSAlIDM2MCAqIHJh
ZGlhbnMsIHBoaSA9IF9bMV0gJSAzNjAgKiByYWRpYW5zLCByZWNlbnRlcigpKSA6IFtsYW1iZGEg
KiBkZWdyZWVzJDEsIHBoaSAqIGRlZ3JlZXMkMV07CisgIH07CisKKyAgcHJvamVjdGlvbi5yb3Rh
dGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZGVsdGFM
YW1iZGEgPSBfWzBdICUgMzYwICogcmFkaWFucywgZGVsdGFQaGkgPSBfWzFdICUgMzYwICogcmFk
aWFucywgZGVsdGFHYW1tYSA9IF8ubGVuZ3RoID4gMiA/IF9bMl0gJSAzNjAgKiByYWRpYW5zIDog
MCwgcmVjZW50ZXIoKSkgOiBbZGVsdGFMYW1iZGEgKiBkZWdyZWVzJDEsIGRlbHRhUGhpICogZGVn
cmVlcyQxLCBkZWx0YUdhbW1hICogZGVncmVlcyQxXTsKKyAgfTsKKworICBwcm9qZWN0aW9uLmFu
Z2xlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGFscGhh
ID0gXyAlIDM2MCAqIHJhZGlhbnMsIHJlY2VudGVyKCkpIDogYWxwaGEgKiBkZWdyZWVzJDE7Cisg
IH07CisKKyAgcHJvamVjdGlvbi5wcmVjaXNpb24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAocHJvamVjdFJlc2FtcGxlID0gcmVzYW1wbGUocHJvamVjdFRy
YW5zZm9ybSwgZGVsdGEyID0gXyAqIF8pLCByZXNldCgpKSA6IHNxcnQoZGVsdGEyKTsKKyAgfTsK
KworICBwcm9qZWN0aW9uLmZpdEV4dGVudCA9IGZ1bmN0aW9uKGV4dGVudCwgb2JqZWN0KSB7Cisg
ICAgcmV0dXJuIGZpdEV4dGVudChwcm9qZWN0aW9uLCBleHRlbnQsIG9iamVjdCk7CisgIH07CisK
KyAgcHJvamVjdGlvbi5maXRTaXplID0gZnVuY3Rpb24oc2l6ZSwgb2JqZWN0KSB7CisgICAgcmV0
dXJuIGZpdFNpemUocHJvamVjdGlvbiwgc2l6ZSwgb2JqZWN0KTsKKyAgfTsKKworICBwcm9qZWN0
aW9uLmZpdFdpZHRoID0gZnVuY3Rpb24od2lkdGgsIG9iamVjdCkgeworICAgIHJldHVybiBmaXRX
aWR0aChwcm9qZWN0aW9uLCB3aWR0aCwgb2JqZWN0KTsKKyAgfTsKKworICBwcm9qZWN0aW9uLmZp
dEhlaWdodCA9IGZ1bmN0aW9uKGhlaWdodCwgb2JqZWN0KSB7CisgICAgcmV0dXJuIGZpdEhlaWdo
dChwcm9qZWN0aW9uLCBoZWlnaHQsIG9iamVjdCk7CisgIH07CisKKyAgZnVuY3Rpb24gcmVjZW50
ZXIoKSB7CisgICAgdmFyIGNlbnRlciA9IHNjYWxlVHJhbnNsYXRlUm90YXRlKGssIDAsIDAsIGFs
cGhhKS5hcHBseShudWxsLCBwcm9qZWN0KGxhbWJkYSwgcGhpKSksCisgICAgICAgIHRyYW5zZm9y
bSA9IChhbHBoYSA/IHNjYWxlVHJhbnNsYXRlUm90YXRlIDogc2NhbGVUcmFuc2xhdGUpKGssIHgg
LSBjZW50ZXJbMF0sIHkgLSBjZW50ZXJbMV0sIGFscGhhKTsKKyAgICByb3RhdGUgPSByb3RhdGVS
YWRpYW5zKGRlbHRhTGFtYmRhLCBkZWx0YVBoaSwgZGVsdGFHYW1tYSk7CisgICAgcHJvamVjdFRy
YW5zZm9ybSA9IGNvbXBvc2UocHJvamVjdCwgdHJhbnNmb3JtKTsKKyAgICBwcm9qZWN0Um90YXRl
VHJhbnNmb3JtID0gY29tcG9zZShyb3RhdGUsIHByb2plY3RUcmFuc2Zvcm0pOworICAgIHByb2pl
Y3RSZXNhbXBsZSA9IHJlc2FtcGxlKHByb2plY3RUcmFuc2Zvcm0sIGRlbHRhMik7CisgICAgcmV0
dXJuIHJlc2V0KCk7CisgIH0KKworICBmdW5jdGlvbiByZXNldCgpIHsKKyAgICBjYWNoZSA9IGNh
Y2hlU3RyZWFtID0gbnVsbDsKKyAgICByZXR1cm4gcHJvamVjdGlvbjsKKyAgfQorCisgIHJldHVy
biBmdW5jdGlvbigpIHsKKyAgICBwcm9qZWN0ID0gcHJvamVjdEF0LmFwcGx5KHRoaXMsIGFyZ3Vt
ZW50cyk7CisgICAgcHJvamVjdGlvbi5pbnZlcnQgPSBwcm9qZWN0LmludmVydCAmJiBpbnZlcnQ7
CisgICAgcmV0dXJuIHJlY2VudGVyKCk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNvbmljUHJvamVj
dGlvbihwcm9qZWN0QXQpIHsKKyAgdmFyIHBoaTAgPSAwLAorICAgICAgcGhpMSA9IHBpJDMgLyAz
LAorICAgICAgbSA9IHByb2plY3Rpb25NdXRhdG9yKHByb2plY3RBdCksCisgICAgICBwID0gbShw
aGkwLCBwaGkxKTsKKworICBwLnBhcmFsbGVscyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/IG0ocGhpMCA9IF9bMF0gKiByYWRpYW5zLCBwaGkxID0gX1sxXSAq
IHJhZGlhbnMpIDogW3BoaTAgKiBkZWdyZWVzJDEsIHBoaTEgKiBkZWdyZWVzJDFdOworICB9Owor
CisgIHJldHVybiBwOworfQorCitmdW5jdGlvbiBjeWxpbmRyaWNhbEVxdWFsQXJlYVJhdyhwaGkw
KSB7CisgIHZhciBjb3NQaGkwID0gY29zJDEocGhpMCk7CisKKyAgZnVuY3Rpb24gZm9yd2FyZChs
YW1iZGEsIHBoaSkgeworICAgIHJldHVybiBbbGFtYmRhICogY29zUGhpMCwgc2luJDEocGhpKSAv
IGNvc1BoaTBdOworICB9CisKKyAgZm9yd2FyZC5pbnZlcnQgPSBmdW5jdGlvbih4LCB5KSB7Cisg
ICAgcmV0dXJuIFt4IC8gY29zUGhpMCwgYXNpbih5ICogY29zUGhpMCldOworICB9OworCisgIHJl
dHVybiBmb3J3YXJkOworfQorCitmdW5jdGlvbiBjb25pY0VxdWFsQXJlYVJhdyh5MCwgeTEpIHsK
KyAgdmFyIHN5MCA9IHNpbiQxKHkwKSwgbiA9IChzeTAgKyBzaW4kMSh5MSkpIC8gMjsKKworICAv
LyBBcmUgdGhlIHBhcmFsbGVscyBzeW1tZXRyaWNhbCBhcm91bmQgdGhlIEVxdWF0b3I/CisgIGlm
IChhYnMobikgPCBlcHNpbG9uJDIpIHJldHVybiBjeWxpbmRyaWNhbEVxdWFsQXJlYVJhdyh5MCk7
CisKKyAgdmFyIGMgPSAxICsgc3kwICogKDIgKiBuIC0gc3kwKSwgcjAgPSBzcXJ0KGMpIC8gbjsK
KworICBmdW5jdGlvbiBwcm9qZWN0KHgsIHkpIHsKKyAgICB2YXIgciA9IHNxcnQoYyAtIDIgKiBu
ICogc2luJDEoeSkpIC8gbjsKKyAgICByZXR1cm4gW3IgKiBzaW4kMSh4ICo9IG4pLCByMCAtIHIg
KiBjb3MkMSh4KV07CisgIH0KKworICBwcm9qZWN0LmludmVydCA9IGZ1bmN0aW9uKHgsIHkpIHsK
KyAgICB2YXIgcjB5ID0gcjAgLSB5OworICAgIHJldHVybiBbYXRhbjIoeCwgYWJzKHIweSkpIC8g
biAqIHNpZ24ocjB5KSwgYXNpbigoYyAtICh4ICogeCArIHIweSAqIHIweSkgKiBuICogbikgLyAo
MiAqIG4pKV07CisgIH07CisKKyAgcmV0dXJuIHByb2plY3Q7Cit9CisKK2Z1bmN0aW9uIGNvbmlj
RXF1YWxBcmVhKCkgeworICByZXR1cm4gY29uaWNQcm9qZWN0aW9uKGNvbmljRXF1YWxBcmVhUmF3
KQorICAgICAgLnNjYWxlKDE1NS40MjQpCisgICAgICAuY2VudGVyKFswLCAzMy42NDQyXSk7Cit9
CisKK2Z1bmN0aW9uIGFsYmVycygpIHsKKyAgcmV0dXJuIGNvbmljRXF1YWxBcmVhKCkKKyAgICAg
IC5wYXJhbGxlbHMoWzI5LjUsIDQ1LjVdKQorICAgICAgLnNjYWxlKDEwNzApCisgICAgICAudHJh
bnNsYXRlKFs0ODAsIDI1MF0pCisgICAgICAucm90YXRlKFs5NiwgMF0pCisgICAgICAuY2VudGVy
KFstMC42LCAzOC43XSk7Cit9CisKKy8vIFRoZSBwcm9qZWN0aW9ucyBtdXN0IGhhdmUgbXV0dWFs
bHkgZXhjbHVzaXZlIGNsaXAgcmVnaW9ucyBvbiB0aGUgc3BoZXJlLAorLy8gYXMgdGhpcyB3aWxs
IGF2b2lkIGVtaXR0aW5nIGludGVybGVhdmluZyBsaW5lcyBhbmQgcG9seWdvbnMuCitmdW5jdGlv
biBtdWx0aXBsZXgoc3RyZWFtcykgeworICB2YXIgbiA9IHN0cmVhbXMubGVuZ3RoOworICByZXR1
cm4geworICAgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7IHZhciBpID0gLTE7IHdoaWxlICgrK2kg
PCBuKSBzdHJlYW1zW2ldLnBvaW50KHgsIHkpOyB9LAorICAgIHNwaGVyZTogZnVuY3Rpb24oKSB7
IHZhciBpID0gLTE7IHdoaWxlICgrK2kgPCBuKSBzdHJlYW1zW2ldLnNwaGVyZSgpOyB9LAorICAg
IGxpbmVTdGFydDogZnVuY3Rpb24oKSB7IHZhciBpID0gLTE7IHdoaWxlICgrK2kgPCBuKSBzdHJl
YW1zW2ldLmxpbmVTdGFydCgpOyB9LAorICAgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeyB2YXIgaSA9
IC0xOyB3aGlsZSAoKytpIDwgbikgc3RyZWFtc1tpXS5saW5lRW5kKCk7IH0sCisgICAgcG9seWdv
blN0YXJ0OiBmdW5jdGlvbigpIHsgdmFyIGkgPSAtMTsgd2hpbGUgKCsraSA8IG4pIHN0cmVhbXNb
aV0ucG9seWdvblN0YXJ0KCk7IH0sCisgICAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7IHZhciBp
ID0gLTE7IHdoaWxlICgrK2kgPCBuKSBzdHJlYW1zW2ldLnBvbHlnb25FbmQoKTsgfQorICB9Owor
fQorCisvLyBBIGNvbXBvc2l0ZSBwcm9qZWN0aW9uIGZvciB0aGUgVW5pdGVkIFN0YXRlcywgY29u
ZmlndXJlZCBieSBkZWZhdWx0IGZvcgorLy8gOTYww5c1MDAuIFRoZSBwcm9qZWN0aW9uIGFsc28g
d29ya3MgcXVpdGUgd2VsbCBhdCA5NjDDlzYwMCBpZiB5b3UgY2hhbmdlIHRoZQorLy8gc2NhbGUg
dG8gMTI4NSBhbmQgYWRqdXN0IHRoZSB0cmFuc2xhdGUgYWNjb3JkaW5nbHkuIFRoZSBzZXQgb2Yg
c3RhbmRhcmQKKy8vIHBhcmFsbGVscyBmb3IgZWFjaCByZWdpb24gY29tZXMgZnJvbSBVU0dTLCB3
aGljaCBpcyBwdWJsaXNoZWQgaGVyZToKKy8vIGh0dHA6Ly9lZ3NjLnVzZ3MuZ292L2lzYi9wdWJz
L01hcFByb2plY3Rpb25zL3Byb2plY3Rpb25zLmh0bWwjYWxiZXJzCitmdW5jdGlvbiBhbGJlcnNV
c2EoKSB7CisgIHZhciBjYWNoZSwKKyAgICAgIGNhY2hlU3RyZWFtLAorICAgICAgbG93ZXI0OCA9
IGFsYmVycygpLCBsb3dlcjQ4UG9pbnQsCisgICAgICBhbGFza2EgPSBjb25pY0VxdWFsQXJlYSgp
LnJvdGF0ZShbMTU0LCAwXSkuY2VudGVyKFstMiwgNTguNV0pLnBhcmFsbGVscyhbNTUsIDY1XSks
IGFsYXNrYVBvaW50LCAvLyBFUFNHOjMzMzgKKyAgICAgIGhhd2FpaSA9IGNvbmljRXF1YWxBcmVh
KCkucm90YXRlKFsxNTcsIDBdKS5jZW50ZXIoWy0zLCAxOS45XSkucGFyYWxsZWxzKFs4LCAxOF0p
LCBoYXdhaWlQb2ludCwgLy8gRVNSSToxMDIwMDcKKyAgICAgIHBvaW50LCBwb2ludFN0cmVhbSA9
IHtwb2ludDogZnVuY3Rpb24oeCwgeSkgeyBwb2ludCA9IFt4LCB5XTsgfX07CisKKyAgZnVuY3Rp
b24gYWxiZXJzVXNhKGNvb3JkaW5hdGVzKSB7CisgICAgdmFyIHggPSBjb29yZGluYXRlc1swXSwg
eSA9IGNvb3JkaW5hdGVzWzFdOworICAgIHJldHVybiBwb2ludCA9IG51bGwsCisgICAgICAgIChs
b3dlcjQ4UG9pbnQucG9pbnQoeCwgeSksIHBvaW50KQorICAgICAgICB8fCAoYWxhc2thUG9pbnQu
cG9pbnQoeCwgeSksIHBvaW50KQorICAgICAgICB8fCAoaGF3YWlpUG9pbnQucG9pbnQoeCwgeSks
IHBvaW50KTsKKyAgfQorCisgIGFsYmVyc1VzYS5pbnZlcnQgPSBmdW5jdGlvbihjb29yZGluYXRl
cykgeworICAgIHZhciBrID0gbG93ZXI0OC5zY2FsZSgpLAorICAgICAgICB0ID0gbG93ZXI0OC50
cmFuc2xhdGUoKSwKKyAgICAgICAgeCA9IChjb29yZGluYXRlc1swXSAtIHRbMF0pIC8gaywKKyAg
ICAgICAgeSA9IChjb29yZGluYXRlc1sxXSAtIHRbMV0pIC8gazsKKyAgICByZXR1cm4gKHkgPj0g
MC4xMjAgJiYgeSA8IDAuMjM0ICYmIHggPj0gLTAuNDI1ICYmIHggPCAtMC4yMTQgPyBhbGFza2EK
KyAgICAgICAgOiB5ID49IDAuMTY2ICYmIHkgPCAwLjIzNCAmJiB4ID49IC0wLjIxNCAmJiB4IDwg
LTAuMTE1ID8gaGF3YWlpCisgICAgICAgIDogbG93ZXI0OCkuaW52ZXJ0KGNvb3JkaW5hdGVzKTsK
KyAgfTsKKworICBhbGJlcnNVc2Euc3RyZWFtID0gZnVuY3Rpb24oc3RyZWFtKSB7CisgICAgcmV0
dXJuIGNhY2hlICYmIGNhY2hlU3RyZWFtID09PSBzdHJlYW0gPyBjYWNoZSA6IGNhY2hlID0gbXVs
dGlwbGV4KFtsb3dlcjQ4LnN0cmVhbShjYWNoZVN0cmVhbSA9IHN0cmVhbSksIGFsYXNrYS5zdHJl
YW0oc3RyZWFtKSwgaGF3YWlpLnN0cmVhbShzdHJlYW0pXSk7CisgIH07CisKKyAgYWxiZXJzVXNh
LnByZWNpc2lvbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJl
dHVybiBsb3dlcjQ4LnByZWNpc2lvbigpOworICAgIGxvd2VyNDgucHJlY2lzaW9uKF8pLCBhbGFz
a2EucHJlY2lzaW9uKF8pLCBoYXdhaWkucHJlY2lzaW9uKF8pOworICAgIHJldHVybiByZXNldCgp
OworICB9OworCisgIGFsYmVyc1VzYS5zY2FsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFy
Z3VtZW50cy5sZW5ndGgpIHJldHVybiBsb3dlcjQ4LnNjYWxlKCk7CisgICAgbG93ZXI0OC5zY2Fs
ZShfKSwgYWxhc2thLnNjYWxlKF8gKiAwLjM1KSwgaGF3YWlpLnNjYWxlKF8pOworICAgIHJldHVy
biBhbGJlcnNVc2EudHJhbnNsYXRlKGxvd2VyNDgudHJhbnNsYXRlKCkpOworICB9OworCisgIGFs
YmVyc1VzYS50cmFuc2xhdGUgPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVu
Z3RoKSByZXR1cm4gbG93ZXI0OC50cmFuc2xhdGUoKTsKKyAgICB2YXIgayA9IGxvd2VyNDguc2Nh
bGUoKSwgeCA9ICtfWzBdLCB5ID0gK19bMV07CisKKyAgICBsb3dlcjQ4UG9pbnQgPSBsb3dlcjQ4
CisgICAgICAgIC50cmFuc2xhdGUoXykKKyAgICAgICAgLmNsaXBFeHRlbnQoW1t4IC0gMC40NTUg
KiBrLCB5IC0gMC4yMzggKiBrXSwgW3ggKyAwLjQ1NSAqIGssIHkgKyAwLjIzOCAqIGtdXSkKKyAg
ICAgICAgLnN0cmVhbShwb2ludFN0cmVhbSk7CisKKyAgICBhbGFza2FQb2ludCA9IGFsYXNrYQor
ICAgICAgICAudHJhbnNsYXRlKFt4IC0gMC4zMDcgKiBrLCB5ICsgMC4yMDEgKiBrXSkKKyAgICAg
ICAgLmNsaXBFeHRlbnQoW1t4IC0gMC40MjUgKiBrICsgZXBzaWxvbiQyLCB5ICsgMC4xMjAgKiBr
ICsgZXBzaWxvbiQyXSwgW3ggLSAwLjIxNCAqIGsgLSBlcHNpbG9uJDIsIHkgKyAwLjIzNCAqIGsg
LSBlcHNpbG9uJDJdXSkKKyAgICAgICAgLnN0cmVhbShwb2ludFN0cmVhbSk7CisKKyAgICBoYXdh
aWlQb2ludCA9IGhhd2FpaQorICAgICAgICAudHJhbnNsYXRlKFt4IC0gMC4yMDUgKiBrLCB5ICsg
MC4yMTIgKiBrXSkKKyAgICAgICAgLmNsaXBFeHRlbnQoW1t4IC0gMC4yMTQgKiBrICsgZXBzaWxv
biQyLCB5ICsgMC4xNjYgKiBrICsgZXBzaWxvbiQyXSwgW3ggLSAwLjExNSAqIGsgLSBlcHNpbG9u
JDIsIHkgKyAwLjIzNCAqIGsgLSBlcHNpbG9uJDJdXSkKKyAgICAgICAgLnN0cmVhbShwb2ludFN0
cmVhbSk7CisKKyAgICByZXR1cm4gcmVzZXQoKTsKKyAgfTsKKworICBhbGJlcnNVc2EuZml0RXh0
ZW50ID0gZnVuY3Rpb24oZXh0ZW50LCBvYmplY3QpIHsKKyAgICByZXR1cm4gZml0RXh0ZW50KGFs
YmVyc1VzYSwgZXh0ZW50LCBvYmplY3QpOworICB9OworCisgIGFsYmVyc1VzYS5maXRTaXplID0g
ZnVuY3Rpb24oc2l6ZSwgb2JqZWN0KSB7CisgICAgcmV0dXJuIGZpdFNpemUoYWxiZXJzVXNhLCBz
aXplLCBvYmplY3QpOworICB9OworCisgIGFsYmVyc1VzYS5maXRXaWR0aCA9IGZ1bmN0aW9uKHdp
ZHRoLCBvYmplY3QpIHsKKyAgICByZXR1cm4gZml0V2lkdGgoYWxiZXJzVXNhLCB3aWR0aCwgb2Jq
ZWN0KTsKKyAgfTsKKworICBhbGJlcnNVc2EuZml0SGVpZ2h0ID0gZnVuY3Rpb24oaGVpZ2h0LCBv
YmplY3QpIHsKKyAgICByZXR1cm4gZml0SGVpZ2h0KGFsYmVyc1VzYSwgaGVpZ2h0LCBvYmplY3Qp
OworICB9OworCisgIGZ1bmN0aW9uIHJlc2V0KCkgeworICAgIGNhY2hlID0gY2FjaGVTdHJlYW0g
PSBudWxsOworICAgIHJldHVybiBhbGJlcnNVc2E7CisgIH0KKworICByZXR1cm4gYWxiZXJzVXNh
LnNjYWxlKDEwNzApOworfQorCitmdW5jdGlvbiBhemltdXRoYWxSYXcoc2NhbGUpIHsKKyAgcmV0
dXJuIGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB2YXIgY3ggPSBjb3MkMSh4KSwKKyAgICAgICAgY3kg
PSBjb3MkMSh5KSwKKyAgICAgICAgayA9IHNjYWxlKGN4ICogY3kpOworICAgIHJldHVybiBbCisg
ICAgICBrICogY3kgKiBzaW4kMSh4KSwKKyAgICAgIGsgKiBzaW4kMSh5KQorICAgIF07CisgIH0K
K30KKworZnVuY3Rpb24gYXppbXV0aGFsSW52ZXJ0KGFuZ2xlKSB7CisgIHJldHVybiBmdW5jdGlv
bih4LCB5KSB7CisgICAgdmFyIHogPSBzcXJ0KHggKiB4ICsgeSAqIHkpLAorICAgICAgICBjID0g
YW5nbGUoeiksCisgICAgICAgIHNjID0gc2luJDEoYyksCisgICAgICAgIGNjID0gY29zJDEoYyk7
CisgICAgcmV0dXJuIFsKKyAgICAgIGF0YW4yKHggKiBzYywgeiAqIGNjKSwKKyAgICAgIGFzaW4o
eiAmJiB5ICogc2MgLyB6KQorICAgIF07CisgIH0KK30KKwordmFyIGF6aW11dGhhbEVxdWFsQXJl
YVJhdyA9IGF6aW11dGhhbFJhdyhmdW5jdGlvbihjeGN5KSB7CisgIHJldHVybiBzcXJ0KDIgLyAo
MSArIGN4Y3kpKTsKK30pOworCithemltdXRoYWxFcXVhbEFyZWFSYXcuaW52ZXJ0ID0gYXppbXV0
aGFsSW52ZXJ0KGZ1bmN0aW9uKHopIHsKKyAgcmV0dXJuIDIgKiBhc2luKHogLyAyKTsKK30pOwor
CitmdW5jdGlvbiBhemltdXRoYWxFcXVhbEFyZWEoKSB7CisgIHJldHVybiBwcm9qZWN0aW9uKGF6
aW11dGhhbEVxdWFsQXJlYVJhdykKKyAgICAgIC5zY2FsZSgxMjQuNzUpCisgICAgICAuY2xpcEFu
Z2xlKDE4MCAtIDFlLTMpOworfQorCit2YXIgYXppbXV0aGFsRXF1aWRpc3RhbnRSYXcgPSBhemlt
dXRoYWxSYXcoZnVuY3Rpb24oYykgeworICByZXR1cm4gKGMgPSBhY29zKGMpKSAmJiBjIC8gc2lu
JDEoYyk7Cit9KTsKKworYXppbXV0aGFsRXF1aWRpc3RhbnRSYXcuaW52ZXJ0ID0gYXppbXV0aGFs
SW52ZXJ0KGZ1bmN0aW9uKHopIHsKKyAgcmV0dXJuIHo7Cit9KTsKKworZnVuY3Rpb24gYXppbXV0
aGFsRXF1aWRpc3RhbnQoKSB7CisgIHJldHVybiBwcm9qZWN0aW9uKGF6aW11dGhhbEVxdWlkaXN0
YW50UmF3KQorICAgICAgLnNjYWxlKDc5LjQxODgpCisgICAgICAuY2xpcEFuZ2xlKDE4MCAtIDFl
LTMpOworfQorCitmdW5jdGlvbiBtZXJjYXRvclJhdyhsYW1iZGEsIHBoaSkgeworICByZXR1cm4g
W2xhbWJkYSwgbG9nKHRhbigoaGFsZlBpJDIgKyBwaGkpIC8gMikpXTsKK30KKworbWVyY2F0b3JS
YXcuaW52ZXJ0ID0gZnVuY3Rpb24oeCwgeSkgeworICByZXR1cm4gW3gsIDIgKiBhdGFuKGV4cCh5
KSkgLSBoYWxmUGkkMl07Cit9OworCitmdW5jdGlvbiBtZXJjYXRvcigpIHsKKyAgcmV0dXJuIG1l
cmNhdG9yUHJvamVjdGlvbihtZXJjYXRvclJhdykKKyAgICAgIC5zY2FsZSg5NjEgLyB0YXUkMyk7
Cit9CisKK2Z1bmN0aW9uIG1lcmNhdG9yUHJvamVjdGlvbihwcm9qZWN0KSB7CisgIHZhciBtID0g
cHJvamVjdGlvbihwcm9qZWN0KSwKKyAgICAgIGNlbnRlciA9IG0uY2VudGVyLAorICAgICAgc2Nh
bGUgPSBtLnNjYWxlLAorICAgICAgdHJhbnNsYXRlID0gbS50cmFuc2xhdGUsCisgICAgICBjbGlw
RXh0ZW50ID0gbS5jbGlwRXh0ZW50LAorICAgICAgeDAgPSBudWxsLCB5MCwgeDEsIHkxOyAvLyBj
bGlwIGV4dGVudAorCisgIG0uc2NhbGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAoc2NhbGUoXyksIHJlY2xpcCgpKSA6IHNjYWxlKCk7CisgIH07CisKKyAg
bS50cmFuc2xhdGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PyAodHJhbnNsYXRlKF8pLCByZWNsaXAoKSkgOiB0cmFuc2xhdGUoKTsKKyAgfTsKKworICBtLmNl
bnRlciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChjZW50
ZXIoXyksIHJlY2xpcCgpKSA6IGNlbnRlcigpOworICB9OworCisgIG0uY2xpcEV4dGVudCA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICgoXyA9PSBudWxsID8g
eDAgPSB5MCA9IHgxID0geTEgPSBudWxsIDogKHgwID0gK19bMF1bMF0sIHkwID0gK19bMF1bMV0s
IHgxID0gK19bMV1bMF0sIHkxID0gK19bMV1bMV0pKSwgcmVjbGlwKCkpIDogeDAgPT0gbnVsbCA/
IG51bGwgOiBbW3gwLCB5MF0sIFt4MSwgeTFdXTsKKyAgfTsKKworICBmdW5jdGlvbiByZWNsaXAo
KSB7CisgICAgdmFyIGsgPSBwaSQzICogc2NhbGUoKSwKKyAgICAgICAgdCA9IG0ocm90YXRpb24o
bS5yb3RhdGUoKSkuaW52ZXJ0KFswLCAwXSkpOworICAgIHJldHVybiBjbGlwRXh0ZW50KHgwID09
IG51bGwKKyAgICAgICAgPyBbW3RbMF0gLSBrLCB0WzFdIC0ga10sIFt0WzBdICsgaywgdFsxXSAr
IGtdXSA6IHByb2plY3QgPT09IG1lcmNhdG9yUmF3CisgICAgICAgID8gW1tNYXRoLm1heCh0WzBd
IC0gaywgeDApLCB5MF0sIFtNYXRoLm1pbih0WzBdICsgaywgeDEpLCB5MV1dCisgICAgICAgIDog
W1t4MCwgTWF0aC5tYXgodFsxXSAtIGssIHkwKV0sIFt4MSwgTWF0aC5taW4odFsxXSArIGssIHkx
KV1dKTsKKyAgfQorCisgIHJldHVybiByZWNsaXAoKTsKK30KKworZnVuY3Rpb24gdGFueSh5KSB7
CisgIHJldHVybiB0YW4oKGhhbGZQaSQyICsgeSkgLyAyKTsKK30KKworZnVuY3Rpb24gY29uaWND
b25mb3JtYWxSYXcoeTAsIHkxKSB7CisgIHZhciBjeTAgPSBjb3MkMSh5MCksCisgICAgICBuID0g
eTAgPT09IHkxID8gc2luJDEoeTApIDogbG9nKGN5MCAvIGNvcyQxKHkxKSkgLyBsb2codGFueSh5
MSkgLyB0YW55KHkwKSksCisgICAgICBmID0gY3kwICogcG93KHRhbnkoeTApLCBuKSAvIG47CisK
KyAgaWYgKCFuKSByZXR1cm4gbWVyY2F0b3JSYXc7CisKKyAgZnVuY3Rpb24gcHJvamVjdCh4LCB5
KSB7CisgICAgaWYgKGYgPiAwKSB7IGlmICh5IDwgLWhhbGZQaSQyICsgZXBzaWxvbiQyKSB5ID0g
LWhhbGZQaSQyICsgZXBzaWxvbiQyOyB9CisgICAgZWxzZSB7IGlmICh5ID4gaGFsZlBpJDIgLSBl
cHNpbG9uJDIpIHkgPSBoYWxmUGkkMiAtIGVwc2lsb24kMjsgfQorICAgIHZhciByID0gZiAvIHBv
dyh0YW55KHkpLCBuKTsKKyAgICByZXR1cm4gW3IgKiBzaW4kMShuICogeCksIGYgLSByICogY29z
JDEobiAqIHgpXTsKKyAgfQorCisgIHByb2plY3QuaW52ZXJ0ID0gZnVuY3Rpb24oeCwgeSkgewor
ICAgIHZhciBmeSA9IGYgLSB5LCByID0gc2lnbihuKSAqIHNxcnQoeCAqIHggKyBmeSAqIGZ5KTsK
KyAgICByZXR1cm4gW2F0YW4yKHgsIGFicyhmeSkpIC8gbiAqIHNpZ24oZnkpLCAyICogYXRhbihw
b3coZiAvIHIsIDEgLyBuKSkgLSBoYWxmUGkkMl07CisgIH07CisKKyAgcmV0dXJuIHByb2plY3Q7
Cit9CisKK2Z1bmN0aW9uIGNvbmljQ29uZm9ybWFsKCkgeworICByZXR1cm4gY29uaWNQcm9qZWN0
aW9uKGNvbmljQ29uZm9ybWFsUmF3KQorICAgICAgLnNjYWxlKDEwOS41KQorICAgICAgLnBhcmFs
bGVscyhbMzAsIDMwXSk7Cit9CisKK2Z1bmN0aW9uIGVxdWlyZWN0YW5ndWxhclJhdyhsYW1iZGEs
IHBoaSkgeworICByZXR1cm4gW2xhbWJkYSwgcGhpXTsKK30KKworZXF1aXJlY3Rhbmd1bGFyUmF3
LmludmVydCA9IGVxdWlyZWN0YW5ndWxhclJhdzsKKworZnVuY3Rpb24gZXF1aXJlY3Rhbmd1bGFy
KCkgeworICByZXR1cm4gcHJvamVjdGlvbihlcXVpcmVjdGFuZ3VsYXJSYXcpCisgICAgICAuc2Nh
bGUoMTUyLjYzKTsKK30KKworZnVuY3Rpb24gY29uaWNFcXVpZGlzdGFudFJhdyh5MCwgeTEpIHsK
KyAgdmFyIGN5MCA9IGNvcyQxKHkwKSwKKyAgICAgIG4gPSB5MCA9PT0geTEgPyBzaW4kMSh5MCkg
OiAoY3kwIC0gY29zJDEoeTEpKSAvICh5MSAtIHkwKSwKKyAgICAgIGcgPSBjeTAgLyBuICsgeTA7
CisKKyAgaWYgKGFicyhuKSA8IGVwc2lsb24kMikgcmV0dXJuIGVxdWlyZWN0YW5ndWxhclJhdzsK
KworICBmdW5jdGlvbiBwcm9qZWN0KHgsIHkpIHsKKyAgICB2YXIgZ3kgPSBnIC0geSwgbnggPSBu
ICogeDsKKyAgICByZXR1cm4gW2d5ICogc2luJDEobngpLCBnIC0gZ3kgKiBjb3MkMShueCldOwor
ICB9CisKKyAgcHJvamVjdC5pbnZlcnQgPSBmdW5jdGlvbih4LCB5KSB7CisgICAgdmFyIGd5ID0g
ZyAtIHk7CisgICAgcmV0dXJuIFthdGFuMih4LCBhYnMoZ3kpKSAvIG4gKiBzaWduKGd5KSwgZyAt
IHNpZ24obikgKiBzcXJ0KHggKiB4ICsgZ3kgKiBneSldOworICB9OworCisgIHJldHVybiBwcm9q
ZWN0OworfQorCitmdW5jdGlvbiBjb25pY0VxdWlkaXN0YW50KCkgeworICByZXR1cm4gY29uaWNQ
cm9qZWN0aW9uKGNvbmljRXF1aWRpc3RhbnRSYXcpCisgICAgICAuc2NhbGUoMTMxLjE1NCkKKyAg
ICAgIC5jZW50ZXIoWzAsIDEzLjkzODldKTsKK30KKwordmFyIEExID0gMS4zNDAyNjQsCisgICAg
QTIgPSAtMC4wODExMDYsCisgICAgQTMgPSAwLjAwMDg5MywKKyAgICBBNCA9IDAuMDAzNzk2LAor
ICAgIE0gPSBzcXJ0KDMpIC8gMiwKKyAgICBpdGVyYXRpb25zID0gMTI7CisKK2Z1bmN0aW9uIGVx
dWFsRWFydGhSYXcobGFtYmRhLCBwaGkpIHsKKyAgdmFyIGwgPSBhc2luKE0gKiBzaW4kMShwaGkp
KSwgbDIgPSBsICogbCwgbDYgPSBsMiAqIGwyICogbDI7CisgIHJldHVybiBbCisgICAgbGFtYmRh
ICogY29zJDEobCkgLyAoTSAqIChBMSArIDMgKiBBMiAqIGwyICsgbDYgKiAoNyAqIEEzICsgOSAq
IEE0ICogbDIpKSksCisgICAgbCAqIChBMSArIEEyICogbDIgKyBsNiAqIChBMyArIEE0ICogbDIp
KQorICBdOworfQorCitlcXVhbEVhcnRoUmF3LmludmVydCA9IGZ1bmN0aW9uKHgsIHkpIHsKKyAg
dmFyIGwgPSB5LCBsMiA9IGwgKiBsLCBsNiA9IGwyICogbDIgKiBsMjsKKyAgZm9yICh2YXIgaSA9
IDAsIGRlbHRhLCBmeSwgZnB5OyBpIDwgaXRlcmF0aW9uczsgKytpKSB7CisgICAgZnkgPSBsICog
KEExICsgQTIgKiBsMiArIGw2ICogKEEzICsgQTQgKiBsMikpIC0geTsKKyAgICBmcHkgPSBBMSAr
IDMgKiBBMiAqIGwyICsgbDYgKiAoNyAqIEEzICsgOSAqIEE0ICogbDIpOworICAgIGwgLT0gZGVs
dGEgPSBmeSAvIGZweSwgbDIgPSBsICogbCwgbDYgPSBsMiAqIGwyICogbDI7CisgICAgaWYgKGFi
cyhkZWx0YSkgPCBlcHNpbG9uMiQxKSBicmVhazsKKyAgfQorICByZXR1cm4gWworICAgIE0gKiB4
ICogKEExICsgMyAqIEEyICogbDIgKyBsNiAqICg3ICogQTMgKyA5ICogQTQgKiBsMikpIC8gY29z
JDEobCksCisgICAgYXNpbihzaW4kMShsKSAvIE0pCisgIF07Cit9OworCitmdW5jdGlvbiBlcXVh
bEVhcnRoKCkgeworICByZXR1cm4gcHJvamVjdGlvbihlcXVhbEVhcnRoUmF3KQorICAgICAgLnNj
YWxlKDE3Ny4xNTgpOworfQorCitmdW5jdGlvbiBnbm9tb25pY1Jhdyh4LCB5KSB7CisgIHZhciBj
eSA9IGNvcyQxKHkpLCBrID0gY29zJDEoeCkgKiBjeTsKKyAgcmV0dXJuIFtjeSAqIHNpbiQxKHgp
IC8gaywgc2luJDEoeSkgLyBrXTsKK30KKworZ25vbW9uaWNSYXcuaW52ZXJ0ID0gYXppbXV0aGFs
SW52ZXJ0KGF0YW4pOworCitmdW5jdGlvbiBnbm9tb25pYygpIHsKKyAgcmV0dXJuIHByb2plY3Rp
b24oZ25vbW9uaWNSYXcpCisgICAgICAuc2NhbGUoMTQ0LjA0OSkKKyAgICAgIC5jbGlwQW5nbGUo
NjApOworfQorCitmdW5jdGlvbiBzY2FsZVRyYW5zbGF0ZSQxKGt4LCBreSwgdHgsIHR5KSB7Cisg
IHJldHVybiBreCA9PT0gMSAmJiBreSA9PT0gMSAmJiB0eCA9PT0gMCAmJiB0eSA9PT0gMCA/IGlk
ZW50aXR5JDQgOiB0cmFuc2Zvcm1lcih7CisgICAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAg
ICAgIHRoaXMuc3RyZWFtLnBvaW50KHggKiBreCArIHR4LCB5ICoga3kgKyB0eSk7CisgICAgfQor
ICB9KTsKK30KKworZnVuY3Rpb24gaWRlbnRpdHkkNSgpIHsKKyAgdmFyIGsgPSAxLCB0eCA9IDAs
IHR5ID0gMCwgc3ggPSAxLCBzeSA9IDEsIHRyYW5zZm9ybSA9IGlkZW50aXR5JDQsIC8vIHNjYWxl
LCB0cmFuc2xhdGUgYW5kIHJlZmxlY3QKKyAgICAgIHgwID0gbnVsbCwgeTAsIHgxLCB5MSwgLy8g
Y2xpcCBleHRlbnQKKyAgICAgIHBvc3RjbGlwID0gaWRlbnRpdHkkNCwKKyAgICAgIGNhY2hlLAor
ICAgICAgY2FjaGVTdHJlYW0sCisgICAgICBwcm9qZWN0aW9uOworCisgIGZ1bmN0aW9uIHJlc2V0
KCkgeworICAgIGNhY2hlID0gY2FjaGVTdHJlYW0gPSBudWxsOworICAgIHJldHVybiBwcm9qZWN0
aW9uOworICB9CisKKyAgcmV0dXJuIHByb2plY3Rpb24gPSB7CisgICAgc3RyZWFtOiBmdW5jdGlv
bihzdHJlYW0pIHsKKyAgICAgIHJldHVybiBjYWNoZSAmJiBjYWNoZVN0cmVhbSA9PT0gc3RyZWFt
ID8gY2FjaGUgOiBjYWNoZSA9IHRyYW5zZm9ybShwb3N0Y2xpcChjYWNoZVN0cmVhbSA9IHN0cmVh
bSkpOworICAgIH0sCisgICAgcG9zdGNsaXA6IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKHBvc3RjbGlwID0gXywgeDAgPSB5MCA9IHgxID0geTEgPSBudWxs
LCByZXNldCgpKSA6IHBvc3RjbGlwOworICAgIH0sCisgICAgY2xpcEV4dGVudDogZnVuY3Rpb24o
XykgeworICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocG9zdGNsaXAgPSBfID09IG51
bGwgPyAoeDAgPSB5MCA9IHgxID0geTEgPSBudWxsLCBpZGVudGl0eSQ0KSA6IGNsaXBSZWN0YW5n
bGUoeDAgPSArX1swXVswXSwgeTAgPSArX1swXVsxXSwgeDEgPSArX1sxXVswXSwgeTEgPSArX1sx
XVsxXSksIHJlc2V0KCkpIDogeDAgPT0gbnVsbCA/IG51bGwgOiBbW3gwLCB5MF0sIFt4MSwgeTFd
XTsKKyAgICB9LAorICAgIHNjYWxlOiBmdW5jdGlvbihfKSB7CisgICAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/ICh0cmFuc2Zvcm0gPSBzY2FsZVRyYW5zbGF0ZSQxKChrID0gK18pICogc3gs
IGsgKiBzeSwgdHgsIHR5KSwgcmVzZXQoKSkgOiBrOworICAgIH0sCisgICAgdHJhbnNsYXRlOiBm
dW5jdGlvbihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0cmFuc2Zvcm0g
PSBzY2FsZVRyYW5zbGF0ZSQxKGsgKiBzeCwgayAqIHN5LCB0eCA9ICtfWzBdLCB0eSA9ICtfWzFd
KSwgcmVzZXQoKSkgOiBbdHgsIHR5XTsKKyAgICB9LAorICAgIHJlZmxlY3RYOiBmdW5jdGlvbihf
KSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0cmFuc2Zvcm0gPSBzY2FsZVRy
YW5zbGF0ZSQxKGsgKiAoc3ggPSBfID8gLTEgOiAxKSwgayAqIHN5LCB0eCwgdHkpLCByZXNldCgp
KSA6IHN4IDwgMDsKKyAgICB9LAorICAgIHJlZmxlY3RZOiBmdW5jdGlvbihfKSB7CisgICAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0cmFuc2Zvcm0gPSBzY2FsZVRyYW5zbGF0ZSQxKGsg
KiBzeCwgayAqIChzeSA9IF8gPyAtMSA6IDEpLCB0eCwgdHkpLCByZXNldCgpKSA6IHN5IDwgMDsK
KyAgICB9LAorICAgIGZpdEV4dGVudDogZnVuY3Rpb24oZXh0ZW50LCBvYmplY3QpIHsKKyAgICAg
IHJldHVybiBmaXRFeHRlbnQocHJvamVjdGlvbiwgZXh0ZW50LCBvYmplY3QpOworICAgIH0sCisg
ICAgZml0U2l6ZTogZnVuY3Rpb24oc2l6ZSwgb2JqZWN0KSB7CisgICAgICByZXR1cm4gZml0U2l6
ZShwcm9qZWN0aW9uLCBzaXplLCBvYmplY3QpOworICAgIH0sCisgICAgZml0V2lkdGg6IGZ1bmN0
aW9uKHdpZHRoLCBvYmplY3QpIHsKKyAgICAgIHJldHVybiBmaXRXaWR0aChwcm9qZWN0aW9uLCB3
aWR0aCwgb2JqZWN0KTsKKyAgICB9LAorICAgIGZpdEhlaWdodDogZnVuY3Rpb24oaGVpZ2h0LCBv
YmplY3QpIHsKKyAgICAgIHJldHVybiBmaXRIZWlnaHQocHJvamVjdGlvbiwgaGVpZ2h0LCBvYmpl
Y3QpOworICAgIH0KKyAgfTsKK30KKworZnVuY3Rpb24gbmF0dXJhbEVhcnRoMVJhdyhsYW1iZGEs
IHBoaSkgeworICB2YXIgcGhpMiA9IHBoaSAqIHBoaSwgcGhpNCA9IHBoaTIgKiBwaGkyOworICBy
ZXR1cm4gWworICAgIGxhbWJkYSAqICgwLjg3MDcgLSAwLjEzMTk3OSAqIHBoaTIgKyBwaGk0ICog
KC0wLjAxMzc5MSArIHBoaTQgKiAoMC4wMDM5NzEgKiBwaGkyIC0gMC4wMDE1MjkgKiBwaGk0KSkp
LAorICAgIHBoaSAqICgxLjAwNzIyNiArIHBoaTIgKiAoMC4wMTUwODUgKyBwaGk0ICogKC0wLjA0
NDQ3NSArIDAuMDI4ODc0ICogcGhpMiAtIDAuMDA1OTE2ICogcGhpNCkpKQorICBdOworfQorCitu
YXR1cmFsRWFydGgxUmF3LmludmVydCA9IGZ1bmN0aW9uKHgsIHkpIHsKKyAgdmFyIHBoaSA9IHks
IGkgPSAyNSwgZGVsdGE7CisgIGRvIHsKKyAgICB2YXIgcGhpMiA9IHBoaSAqIHBoaSwgcGhpNCA9
IHBoaTIgKiBwaGkyOworICAgIHBoaSAtPSBkZWx0YSA9IChwaGkgKiAoMS4wMDcyMjYgKyBwaGky
ICogKDAuMDE1MDg1ICsgcGhpNCAqICgtMC4wNDQ0NzUgKyAwLjAyODg3NCAqIHBoaTIgLSAwLjAw
NTkxNiAqIHBoaTQpKSkgLSB5KSAvCisgICAgICAgICgxLjAwNzIyNiArIHBoaTIgKiAoMC4wMTUw
ODUgKiAzICsgcGhpNCAqICgtMC4wNDQ0NzUgKiA3ICsgMC4wMjg4NzQgKiA5ICogcGhpMiAtIDAu
MDA1OTE2ICogMTEgKiBwaGk0KSkpOworICB9IHdoaWxlIChhYnMoZGVsdGEpID4gZXBzaWxvbiQy
ICYmIC0taSA+IDApOworICByZXR1cm4gWworICAgIHggLyAoMC44NzA3ICsgKHBoaTIgPSBwaGkg
KiBwaGkpICogKC0wLjEzMTk3OSArIHBoaTIgKiAoLTAuMDEzNzkxICsgcGhpMiAqIHBoaTIgKiBw
aGkyICogKDAuMDAzOTcxIC0gMC4wMDE1MjkgKiBwaGkyKSkpKSwKKyAgICBwaGkKKyAgXTsKK307
CisKK2Z1bmN0aW9uIG5hdHVyYWxFYXJ0aDEoKSB7CisgIHJldHVybiBwcm9qZWN0aW9uKG5hdHVy
YWxFYXJ0aDFSYXcpCisgICAgICAuc2NhbGUoMTc1LjI5NSk7Cit9CisKK2Z1bmN0aW9uIG9ydGhv
Z3JhcGhpY1Jhdyh4LCB5KSB7CisgIHJldHVybiBbY29zJDEoeSkgKiBzaW4kMSh4KSwgc2luJDEo
eSldOworfQorCitvcnRob2dyYXBoaWNSYXcuaW52ZXJ0ID0gYXppbXV0aGFsSW52ZXJ0KGFzaW4p
OworCitmdW5jdGlvbiBvcnRob2dyYXBoaWMoKSB7CisgIHJldHVybiBwcm9qZWN0aW9uKG9ydGhv
Z3JhcGhpY1JhdykKKyAgICAgIC5zY2FsZSgyNDkuNSkKKyAgICAgIC5jbGlwQW5nbGUoOTAgKyBl
cHNpbG9uJDIpOworfQorCitmdW5jdGlvbiBzdGVyZW9ncmFwaGljUmF3KHgsIHkpIHsKKyAgdmFy
IGN5ID0gY29zJDEoeSksIGsgPSAxICsgY29zJDEoeCkgKiBjeTsKKyAgcmV0dXJuIFtjeSAqIHNp
biQxKHgpIC8gaywgc2luJDEoeSkgLyBrXTsKK30KKworc3RlcmVvZ3JhcGhpY1Jhdy5pbnZlcnQg
PSBhemltdXRoYWxJbnZlcnQoZnVuY3Rpb24oeikgeworICByZXR1cm4gMiAqIGF0YW4oeik7Cit9
KTsKKworZnVuY3Rpb24gc3RlcmVvZ3JhcGhpYygpIHsKKyAgcmV0dXJuIHByb2plY3Rpb24oc3Rl
cmVvZ3JhcGhpY1JhdykKKyAgICAgIC5zY2FsZSgyNTApCisgICAgICAuY2xpcEFuZ2xlKDE0Mik7
Cit9CisKK2Z1bmN0aW9uIHRyYW5zdmVyc2VNZXJjYXRvclJhdyhsYW1iZGEsIHBoaSkgeworICBy
ZXR1cm4gW2xvZyh0YW4oKGhhbGZQaSQyICsgcGhpKSAvIDIpKSwgLWxhbWJkYV07Cit9CisKK3Ry
YW5zdmVyc2VNZXJjYXRvclJhdy5pbnZlcnQgPSBmdW5jdGlvbih4LCB5KSB7CisgIHJldHVybiBb
LXksIDIgKiBhdGFuKGV4cCh4KSkgLSBoYWxmUGkkMl07Cit9OworCitmdW5jdGlvbiB0cmFuc3Zl
cnNlTWVyY2F0b3IoKSB7CisgIHZhciBtID0gbWVyY2F0b3JQcm9qZWN0aW9uKHRyYW5zdmVyc2VN
ZXJjYXRvclJhdyksCisgICAgICBjZW50ZXIgPSBtLmNlbnRlciwKKyAgICAgIHJvdGF0ZSA9IG0u
cm90YXRlOworCisgIG0uY2VudGVyID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gY2VudGVyKFstX1sxXSwgX1swXV0pIDogKF8gPSBjZW50ZXIoKSwgW19bMV0s
IC1fWzBdXSk7CisgIH07CisKKyAgbS5yb3RhdGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyByb3RhdGUoW19bMF0sIF9bMV0sIF8ubGVuZ3RoID4gMiA/IF9b
Ml0gKyA5MCA6IDkwXSkgOiAoXyA9IHJvdGF0ZSgpLCBbX1swXSwgX1sxXSwgX1syXSAtIDkwXSk7
CisgIH07CisKKyAgcmV0dXJuIHJvdGF0ZShbMCwgMCwgOTBdKQorICAgICAgLnNjYWxlKDE1OS4x
NTUpOworfQorCitmdW5jdGlvbiBkZWZhdWx0U2VwYXJhdGlvbihhLCBiKSB7CisgIHJldHVybiBh
LnBhcmVudCA9PT0gYi5wYXJlbnQgPyAxIDogMjsKK30KKworZnVuY3Rpb24gbWVhblgoY2hpbGRy
ZW4pIHsKKyAgcmV0dXJuIGNoaWxkcmVuLnJlZHVjZShtZWFuWFJlZHVjZSwgMCkgLyBjaGlsZHJl
bi5sZW5ndGg7Cit9CisKK2Z1bmN0aW9uIG1lYW5YUmVkdWNlKHgsIGMpIHsKKyAgcmV0dXJuIHgg
KyBjLng7Cit9CisKK2Z1bmN0aW9uIG1heFkoY2hpbGRyZW4pIHsKKyAgcmV0dXJuIDEgKyBjaGls
ZHJlbi5yZWR1Y2UobWF4WVJlZHVjZSwgMCk7Cit9CisKK2Z1bmN0aW9uIG1heFlSZWR1Y2UoeSwg
YykgeworICByZXR1cm4gTWF0aC5tYXgoeSwgYy55KTsKK30KKworZnVuY3Rpb24gbGVhZkxlZnQo
bm9kZSkgeworICB2YXIgY2hpbGRyZW47CisgIHdoaWxlIChjaGlsZHJlbiA9IG5vZGUuY2hpbGRy
ZW4pIG5vZGUgPSBjaGlsZHJlblswXTsKKyAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIGxl
YWZSaWdodChub2RlKSB7CisgIHZhciBjaGlsZHJlbjsKKyAgd2hpbGUgKGNoaWxkcmVuID0gbm9k
ZS5jaGlsZHJlbikgbm9kZSA9IGNoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDFdOworICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gY2x1c3RlcigpIHsKKyAgdmFyIHNlcGFyYXRpb24gPSBk
ZWZhdWx0U2VwYXJhdGlvbiwKKyAgICAgIGR4ID0gMSwKKyAgICAgIGR5ID0gMSwKKyAgICAgIG5v
ZGVTaXplID0gZmFsc2U7CisKKyAgZnVuY3Rpb24gY2x1c3Rlcihyb290KSB7CisgICAgdmFyIHBy
ZXZpb3VzTm9kZSwKKyAgICAgICAgeCA9IDA7CisKKyAgICAvLyBGaXJzdCB3YWxrLCBjb21wdXRp
bmcgdGhlIGluaXRpYWwgeCAmIHkgdmFsdWVzLgorICAgIHJvb3QuZWFjaEFmdGVyKGZ1bmN0aW9u
KG5vZGUpIHsKKyAgICAgIHZhciBjaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW47CisgICAgICBpZiAo
Y2hpbGRyZW4pIHsKKyAgICAgICAgbm9kZS54ID0gbWVhblgoY2hpbGRyZW4pOworICAgICAgICBu
b2RlLnkgPSBtYXhZKGNoaWxkcmVuKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIG5vZGUueCA9
IHByZXZpb3VzTm9kZSA/IHggKz0gc2VwYXJhdGlvbihub2RlLCBwcmV2aW91c05vZGUpIDogMDsK
KyAgICAgICAgbm9kZS55ID0gMDsKKyAgICAgICAgcHJldmlvdXNOb2RlID0gbm9kZTsKKyAgICAg
IH0KKyAgICB9KTsKKworICAgIHZhciBsZWZ0ID0gbGVhZkxlZnQocm9vdCksCisgICAgICAgIHJp
Z2h0ID0gbGVhZlJpZ2h0KHJvb3QpLAorICAgICAgICB4MCA9IGxlZnQueCAtIHNlcGFyYXRpb24o
bGVmdCwgcmlnaHQpIC8gMiwKKyAgICAgICAgeDEgPSByaWdodC54ICsgc2VwYXJhdGlvbihyaWdo
dCwgbGVmdCkgLyAyOworCisgICAgLy8gU2Vjb25kIHdhbGssIG5vcm1hbGl6aW5nIHggJiB5IHRv
IHRoZSBkZXNpcmVkIHNpemUuCisgICAgcmV0dXJuIHJvb3QuZWFjaEFmdGVyKG5vZGVTaXplID8g
ZnVuY3Rpb24obm9kZSkgeworICAgICAgbm9kZS54ID0gKG5vZGUueCAtIHJvb3QueCkgKiBkeDsK
KyAgICAgIG5vZGUueSA9IChyb290LnkgLSBub2RlLnkpICogZHk7CisgICAgfSA6IGZ1bmN0aW9u
KG5vZGUpIHsKKyAgICAgIG5vZGUueCA9IChub2RlLnggLSB4MCkgLyAoeDEgLSB4MCkgKiBkeDsK
KyAgICAgIG5vZGUueSA9ICgxIC0gKHJvb3QueSA/IG5vZGUueSAvIHJvb3QueSA6IDEpKSAqIGR5
OworICAgIH0pOworICB9CisKKyAgY2x1c3Rlci5zZXBhcmF0aW9uID0gZnVuY3Rpb24oeCkgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNlcGFyYXRpb24gPSB4LCBjbHVzdGVyKSA6
IHNlcGFyYXRpb247CisgIH07CisKKyAgY2x1c3Rlci5zaXplID0gZnVuY3Rpb24oeCkgeworICAg
IHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKG5vZGVTaXplID0gZmFsc2UsIGR4ID0gK3hbMF0s
IGR5ID0gK3hbMV0sIGNsdXN0ZXIpIDogKG5vZGVTaXplID8gbnVsbCA6IFtkeCwgZHldKTsKKyAg
fTsKKworICBjbHVzdGVyLm5vZGVTaXplID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gKG5vZGVTaXplID0gdHJ1ZSwgZHggPSAreFswXSwgZHkgPSAreFsxXSwg
Y2x1c3RlcikgOiAobm9kZVNpemUgPyBbZHgsIGR5XSA6IG51bGwpOworICB9OworCisgIHJldHVy
biBjbHVzdGVyOworfQorCitmdW5jdGlvbiBjb3VudChub2RlKSB7CisgIHZhciBzdW0gPSAwLAor
ICAgICAgY2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuLAorICAgICAgaSA9IGNoaWxkcmVuICYmIGNo
aWxkcmVuLmxlbmd0aDsKKyAgaWYgKCFpKSBzdW0gPSAxOworICBlbHNlIHdoaWxlICgtLWkgPj0g
MCkgc3VtICs9IGNoaWxkcmVuW2ldLnZhbHVlOworICBub2RlLnZhbHVlID0gc3VtOworfQorCitm
dW5jdGlvbiBub2RlX2NvdW50KCkgeworICByZXR1cm4gdGhpcy5lYWNoQWZ0ZXIoY291bnQpOwor
fQorCitmdW5jdGlvbiBub2RlX2VhY2goY2FsbGJhY2spIHsKKyAgdmFyIG5vZGUgPSB0aGlzLCBj
dXJyZW50LCBuZXh0ID0gW25vZGVdLCBjaGlsZHJlbiwgaSwgbjsKKyAgZG8geworICAgIGN1cnJl
bnQgPSBuZXh0LnJldmVyc2UoKSwgbmV4dCA9IFtdOworICAgIHdoaWxlIChub2RlID0gY3VycmVu
dC5wb3AoKSkgeworICAgICAgY2FsbGJhY2sobm9kZSksIGNoaWxkcmVuID0gbm9kZS5jaGlsZHJl
bjsKKyAgICAgIGlmIChjaGlsZHJlbikgZm9yIChpID0gMCwgbiA9IGNoaWxkcmVuLmxlbmd0aDsg
aSA8IG47ICsraSkgeworICAgICAgICBuZXh0LnB1c2goY2hpbGRyZW5baV0pOworICAgICAgfQor
ICAgIH0KKyAgfSB3aGlsZSAobmV4dC5sZW5ndGgpOworICByZXR1cm4gdGhpczsKK30KKworZnVu
Y3Rpb24gbm9kZV9lYWNoQmVmb3JlKGNhbGxiYWNrKSB7CisgIHZhciBub2RlID0gdGhpcywgbm9k
ZXMgPSBbbm9kZV0sIGNoaWxkcmVuLCBpOworICB3aGlsZSAobm9kZSA9IG5vZGVzLnBvcCgpKSB7
CisgICAgY2FsbGJhY2sobm9kZSksIGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbjsKKyAgICBpZiAo
Y2hpbGRyZW4pIGZvciAoaSA9IGNoaWxkcmVuLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7Cisg
ICAgICBub2Rlcy5wdXNoKGNoaWxkcmVuW2ldKTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHRoaXM7
Cit9CisKK2Z1bmN0aW9uIG5vZGVfZWFjaEFmdGVyKGNhbGxiYWNrKSB7CisgIHZhciBub2RlID0g
dGhpcywgbm9kZXMgPSBbbm9kZV0sIG5leHQgPSBbXSwgY2hpbGRyZW4sIGksIG47CisgIHdoaWxl
IChub2RlID0gbm9kZXMucG9wKCkpIHsKKyAgICBuZXh0LnB1c2gobm9kZSksIGNoaWxkcmVuID0g
bm9kZS5jaGlsZHJlbjsKKyAgICBpZiAoY2hpbGRyZW4pIGZvciAoaSA9IDAsIG4gPSBjaGlsZHJl
bi5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICAgIG5vZGVzLnB1c2goY2hpbGRyZW5baV0pOwor
ICAgIH0KKyAgfQorICB3aGlsZSAobm9kZSA9IG5leHQucG9wKCkpIHsKKyAgICBjYWxsYmFjayhu
b2RlKTsKKyAgfQorICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24gbm9kZV9zdW0odmFsdWUp
IHsKKyAgcmV0dXJuIHRoaXMuZWFjaEFmdGVyKGZ1bmN0aW9uKG5vZGUpIHsKKyAgICB2YXIgc3Vt
ID0gK3ZhbHVlKG5vZGUuZGF0YSkgfHwgMCwKKyAgICAgICAgY2hpbGRyZW4gPSBub2RlLmNoaWxk
cmVuLAorICAgICAgICBpID0gY2hpbGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoOworICAgIHdoaWxl
ICgtLWkgPj0gMCkgc3VtICs9IGNoaWxkcmVuW2ldLnZhbHVlOworICAgIG5vZGUudmFsdWUgPSBz
dW07CisgIH0pOworfQorCitmdW5jdGlvbiBub2RlX3NvcnQoY29tcGFyZSkgeworICByZXR1cm4g
dGhpcy5lYWNoQmVmb3JlKGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBpZiAobm9kZS5jaGlsZHJlbikg
eworICAgICAgbm9kZS5jaGlsZHJlbi5zb3J0KGNvbXBhcmUpOworICAgIH0KKyAgfSk7Cit9CisK
K2Z1bmN0aW9uIG5vZGVfcGF0aChlbmQpIHsKKyAgdmFyIHN0YXJ0ID0gdGhpcywKKyAgICAgIGFu
Y2VzdG9yID0gbGVhc3RDb21tb25BbmNlc3RvcihzdGFydCwgZW5kKSwKKyAgICAgIG5vZGVzID0g
W3N0YXJ0XTsKKyAgd2hpbGUgKHN0YXJ0ICE9PSBhbmNlc3RvcikgeworICAgIHN0YXJ0ID0gc3Rh
cnQucGFyZW50OworICAgIG5vZGVzLnB1c2goc3RhcnQpOworICB9CisgIHZhciBrID0gbm9kZXMu
bGVuZ3RoOworICB3aGlsZSAoZW5kICE9PSBhbmNlc3RvcikgeworICAgIG5vZGVzLnNwbGljZShr
LCAwLCBlbmQpOworICAgIGVuZCA9IGVuZC5wYXJlbnQ7CisgIH0KKyAgcmV0dXJuIG5vZGVzOwor
fQorCitmdW5jdGlvbiBsZWFzdENvbW1vbkFuY2VzdG9yKGEsIGIpIHsKKyAgaWYgKGEgPT09IGIp
IHJldHVybiBhOworICB2YXIgYU5vZGVzID0gYS5hbmNlc3RvcnMoKSwKKyAgICAgIGJOb2RlcyA9
IGIuYW5jZXN0b3JzKCksCisgICAgICBjID0gbnVsbDsKKyAgYSA9IGFOb2Rlcy5wb3AoKTsKKyAg
YiA9IGJOb2Rlcy5wb3AoKTsKKyAgd2hpbGUgKGEgPT09IGIpIHsKKyAgICBjID0gYTsKKyAgICBh
ID0gYU5vZGVzLnBvcCgpOworICAgIGIgPSBiTm9kZXMucG9wKCk7CisgIH0KKyAgcmV0dXJuIGM7
Cit9CisKK2Z1bmN0aW9uIG5vZGVfYW5jZXN0b3JzKCkgeworICB2YXIgbm9kZSA9IHRoaXMsIG5v
ZGVzID0gW25vZGVdOworICB3aGlsZSAobm9kZSA9IG5vZGUucGFyZW50KSB7CisgICAgbm9kZXMu
cHVzaChub2RlKTsKKyAgfQorICByZXR1cm4gbm9kZXM7Cit9CisKK2Z1bmN0aW9uIG5vZGVfZGVz
Y2VuZGFudHMoKSB7CisgIHZhciBub2RlcyA9IFtdOworICB0aGlzLmVhY2goZnVuY3Rpb24obm9k
ZSkgeworICAgIG5vZGVzLnB1c2gobm9kZSk7CisgIH0pOworICByZXR1cm4gbm9kZXM7Cit9CisK
K2Z1bmN0aW9uIG5vZGVfbGVhdmVzKCkgeworICB2YXIgbGVhdmVzID0gW107CisgIHRoaXMuZWFj
aEJlZm9yZShmdW5jdGlvbihub2RlKSB7CisgICAgaWYgKCFub2RlLmNoaWxkcmVuKSB7CisgICAg
ICBsZWF2ZXMucHVzaChub2RlKTsKKyAgICB9CisgIH0pOworICByZXR1cm4gbGVhdmVzOworfQor
CitmdW5jdGlvbiBub2RlX2xpbmtzKCkgeworICB2YXIgcm9vdCA9IHRoaXMsIGxpbmtzID0gW107
CisgIHJvb3QuZWFjaChmdW5jdGlvbihub2RlKSB7CisgICAgaWYgKG5vZGUgIT09IHJvb3QpIHsg
Ly8gRG9u4oCZdCBpbmNsdWRlIHRoZSByb2904oCZcyBwYXJlbnQsIGlmIGFueS4KKyAgICAgIGxp
bmtzLnB1c2goe3NvdXJjZTogbm9kZS5wYXJlbnQsIHRhcmdldDogbm9kZX0pOworICAgIH0KKyAg
fSk7CisgIHJldHVybiBsaW5rczsKK30KKworZnVuY3Rpb24gaGllcmFyY2h5KGRhdGEsIGNoaWxk
cmVuKSB7CisgIHZhciByb290ID0gbmV3IE5vZGUoZGF0YSksCisgICAgICB2YWx1ZWQgPSArZGF0
YS52YWx1ZSAmJiAocm9vdC52YWx1ZSA9IGRhdGEudmFsdWUpLAorICAgICAgbm9kZSwKKyAgICAg
IG5vZGVzID0gW3Jvb3RdLAorICAgICAgY2hpbGQsCisgICAgICBjaGlsZHMsCisgICAgICBpLAor
ICAgICAgbjsKKworICBpZiAoY2hpbGRyZW4gPT0gbnVsbCkgY2hpbGRyZW4gPSBkZWZhdWx0Q2hp
bGRyZW47CisKKyAgd2hpbGUgKG5vZGUgPSBub2Rlcy5wb3AoKSkgeworICAgIGlmICh2YWx1ZWQp
IG5vZGUudmFsdWUgPSArbm9kZS5kYXRhLnZhbHVlOworICAgIGlmICgoY2hpbGRzID0gY2hpbGRy
ZW4obm9kZS5kYXRhKSkgJiYgKG4gPSBjaGlsZHMubGVuZ3RoKSkgeworICAgICAgbm9kZS5jaGls
ZHJlbiA9IG5ldyBBcnJheShuKTsKKyAgICAgIGZvciAoaSA9IG4gLSAxOyBpID49IDA7IC0taSkg
eworICAgICAgICBub2Rlcy5wdXNoKGNoaWxkID0gbm9kZS5jaGlsZHJlbltpXSA9IG5ldyBOb2Rl
KGNoaWxkc1tpXSkpOworICAgICAgICBjaGlsZC5wYXJlbnQgPSBub2RlOworICAgICAgICBjaGls
ZC5kZXB0aCA9IG5vZGUuZGVwdGggKyAxOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVy
biByb290LmVhY2hCZWZvcmUoY29tcHV0ZUhlaWdodCk7Cit9CisKK2Z1bmN0aW9uIG5vZGVfY29w
eSgpIHsKKyAgcmV0dXJuIGhpZXJhcmNoeSh0aGlzKS5lYWNoQmVmb3JlKGNvcHlEYXRhKTsKK30K
KworZnVuY3Rpb24gZGVmYXVsdENoaWxkcmVuKGQpIHsKKyAgcmV0dXJuIGQuY2hpbGRyZW47Cit9
CisKK2Z1bmN0aW9uIGNvcHlEYXRhKG5vZGUpIHsKKyAgbm9kZS5kYXRhID0gbm9kZS5kYXRhLmRh
dGE7Cit9CisKK2Z1bmN0aW9uIGNvbXB1dGVIZWlnaHQobm9kZSkgeworICB2YXIgaGVpZ2h0ID0g
MDsKKyAgZG8gbm9kZS5oZWlnaHQgPSBoZWlnaHQ7CisgIHdoaWxlICgobm9kZSA9IG5vZGUucGFy
ZW50KSAmJiAobm9kZS5oZWlnaHQgPCArK2hlaWdodCkpOworfQorCitmdW5jdGlvbiBOb2RlKGRh
dGEpIHsKKyAgdGhpcy5kYXRhID0gZGF0YTsKKyAgdGhpcy5kZXB0aCA9CisgIHRoaXMuaGVpZ2h0
ID0gMDsKKyAgdGhpcy5wYXJlbnQgPSBudWxsOworfQorCitOb2RlLnByb3RvdHlwZSA9IGhpZXJh
cmNoeS5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBOb2RlLAorICBjb3VudDogbm9kZV9j
b3VudCwKKyAgZWFjaDogbm9kZV9lYWNoLAorICBlYWNoQWZ0ZXI6IG5vZGVfZWFjaEFmdGVyLAor
ICBlYWNoQmVmb3JlOiBub2RlX2VhY2hCZWZvcmUsCisgIHN1bTogbm9kZV9zdW0sCisgIHNvcnQ6
IG5vZGVfc29ydCwKKyAgcGF0aDogbm9kZV9wYXRoLAorICBhbmNlc3RvcnM6IG5vZGVfYW5jZXN0
b3JzLAorICBkZXNjZW5kYW50czogbm9kZV9kZXNjZW5kYW50cywKKyAgbGVhdmVzOiBub2RlX2xl
YXZlcywKKyAgbGlua3M6IG5vZGVfbGlua3MsCisgIGNvcHk6IG5vZGVfY29weQorfTsKKwordmFy
IHNsaWNlJDQgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7CisKK2Z1bmN0aW9uIHNodWZmbGUkMShh
cnJheSkgeworICB2YXIgbSA9IGFycmF5Lmxlbmd0aCwKKyAgICAgIHQsCisgICAgICBpOworCisg
IHdoaWxlIChtKSB7CisgICAgaSA9IE1hdGgucmFuZG9tKCkgKiBtLS0gfCAwOworICAgIHQgPSBh
cnJheVttXTsKKyAgICBhcnJheVttXSA9IGFycmF5W2ldOworICAgIGFycmF5W2ldID0gdDsKKyAg
fQorCisgIHJldHVybiBhcnJheTsKK30KKworZnVuY3Rpb24gZW5jbG9zZShjaXJjbGVzKSB7Cisg
IHZhciBpID0gMCwgbiA9IChjaXJjbGVzID0gc2h1ZmZsZSQxKHNsaWNlJDQuY2FsbChjaXJjbGVz
KSkpLmxlbmd0aCwgQiA9IFtdLCBwLCBlOworCisgIHdoaWxlIChpIDwgbikgeworICAgIHAgPSBj
aXJjbGVzW2ldOworICAgIGlmIChlICYmIGVuY2xvc2VzV2VhayhlLCBwKSkgKytpOworICAgIGVs
c2UgZSA9IGVuY2xvc2VCYXNpcyhCID0gZXh0ZW5kQmFzaXMoQiwgcCkpLCBpID0gMDsKKyAgfQor
CisgIHJldHVybiBlOworfQorCitmdW5jdGlvbiBleHRlbmRCYXNpcyhCLCBwKSB7CisgIHZhciBp
LCBqOworCisgIGlmIChlbmNsb3Nlc1dlYWtBbGwocCwgQikpIHJldHVybiBbcF07CisKKyAgLy8g
SWYgd2UgZ2V0IGhlcmUgdGhlbiBCIG11c3QgaGF2ZSBhdCBsZWFzdCBvbmUgZWxlbWVudC4KKyAg
Zm9yIChpID0gMDsgaSA8IEIubGVuZ3RoOyArK2kpIHsKKyAgICBpZiAoZW5jbG9zZXNOb3QocCwg
QltpXSkKKyAgICAgICAgJiYgZW5jbG9zZXNXZWFrQWxsKGVuY2xvc2VCYXNpczIoQltpXSwgcCks
IEIpKSB7CisgICAgICByZXR1cm4gW0JbaV0sIHBdOworICAgIH0KKyAgfQorCisgIC8vIElmIHdl
IGdldCBoZXJlIHRoZW4gQiBtdXN0IGhhdmUgYXQgbGVhc3QgdHdvIGVsZW1lbnRzLgorICBmb3Ig
KGkgPSAwOyBpIDwgQi5sZW5ndGggLSAxOyArK2kpIHsKKyAgICBmb3IgKGogPSBpICsgMTsgaiA8
IEIubGVuZ3RoOyArK2opIHsKKyAgICAgIGlmIChlbmNsb3Nlc05vdChlbmNsb3NlQmFzaXMyKEJb
aV0sIEJbal0pLCBwKQorICAgICAgICAgICYmIGVuY2xvc2VzTm90KGVuY2xvc2VCYXNpczIoQltp
XSwgcCksIEJbal0pCisgICAgICAgICAgJiYgZW5jbG9zZXNOb3QoZW5jbG9zZUJhc2lzMihCW2pd
LCBwKSwgQltpXSkKKyAgICAgICAgICAmJiBlbmNsb3Nlc1dlYWtBbGwoZW5jbG9zZUJhc2lzMyhC
W2ldLCBCW2pdLCBwKSwgQikpIHsKKyAgICAgICAgcmV0dXJuIFtCW2ldLCBCW2pdLCBwXTsKKyAg
ICAgIH0KKyAgICB9CisgIH0KKworICAvLyBJZiB3ZSBnZXQgaGVyZSB0aGVuIHNvbWV0aGluZyBp
cyB2ZXJ5IHdyb25nLgorICB0aHJvdyBuZXcgRXJyb3I7Cit9CisKK2Z1bmN0aW9uIGVuY2xvc2Vz
Tm90KGEsIGIpIHsKKyAgdmFyIGRyID0gYS5yIC0gYi5yLCBkeCA9IGIueCAtIGEueCwgZHkgPSBi
LnkgLSBhLnk7CisgIHJldHVybiBkciA8IDAgfHwgZHIgKiBkciA8IGR4ICogZHggKyBkeSAqIGR5
OworfQorCitmdW5jdGlvbiBlbmNsb3Nlc1dlYWsoYSwgYikgeworICB2YXIgZHIgPSBhLnIgLSBi
LnIgKyAxZS02LCBkeCA9IGIueCAtIGEueCwgZHkgPSBiLnkgLSBhLnk7CisgIHJldHVybiBkciA+
IDAgJiYgZHIgKiBkciA+IGR4ICogZHggKyBkeSAqIGR5OworfQorCitmdW5jdGlvbiBlbmNsb3Nl
c1dlYWtBbGwoYSwgQikgeworICBmb3IgKHZhciBpID0gMDsgaSA8IEIubGVuZ3RoOyArK2kpIHsK
KyAgICBpZiAoIWVuY2xvc2VzV2VhayhhLCBCW2ldKSkgeworICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0KKyAgfQorICByZXR1cm4gdHJ1ZTsKK30KKworZnVuY3Rpb24gZW5jbG9zZUJhc2lzKEIp
IHsKKyAgc3dpdGNoIChCLmxlbmd0aCkgeworICAgIGNhc2UgMTogcmV0dXJuIGVuY2xvc2VCYXNp
czEoQlswXSk7CisgICAgY2FzZSAyOiByZXR1cm4gZW5jbG9zZUJhc2lzMihCWzBdLCBCWzFdKTsK
KyAgICBjYXNlIDM6IHJldHVybiBlbmNsb3NlQmFzaXMzKEJbMF0sIEJbMV0sIEJbMl0pOworICB9
Cit9CisKK2Z1bmN0aW9uIGVuY2xvc2VCYXNpczEoYSkgeworICByZXR1cm4geworICAgIHg6IGEu
eCwKKyAgICB5OiBhLnksCisgICAgcjogYS5yCisgIH07Cit9CisKK2Z1bmN0aW9uIGVuY2xvc2VC
YXNpczIoYSwgYikgeworICB2YXIgeDEgPSBhLngsIHkxID0gYS55LCByMSA9IGEuciwKKyAgICAg
IHgyID0gYi54LCB5MiA9IGIueSwgcjIgPSBiLnIsCisgICAgICB4MjEgPSB4MiAtIHgxLCB5MjEg
PSB5MiAtIHkxLCByMjEgPSByMiAtIHIxLAorICAgICAgbCA9IE1hdGguc3FydCh4MjEgKiB4MjEg
KyB5MjEgKiB5MjEpOworICByZXR1cm4geworICAgIHg6ICh4MSArIHgyICsgeDIxIC8gbCAqIHIy
MSkgLyAyLAorICAgIHk6ICh5MSArIHkyICsgeTIxIC8gbCAqIHIyMSkgLyAyLAorICAgIHI6IChs
ICsgcjEgKyByMikgLyAyCisgIH07Cit9CisKK2Z1bmN0aW9uIGVuY2xvc2VCYXNpczMoYSwgYiwg
YykgeworICB2YXIgeDEgPSBhLngsIHkxID0gYS55LCByMSA9IGEuciwKKyAgICAgIHgyID0gYi54
LCB5MiA9IGIueSwgcjIgPSBiLnIsCisgICAgICB4MyA9IGMueCwgeTMgPSBjLnksIHIzID0gYy5y
LAorICAgICAgYTIgPSB4MSAtIHgyLAorICAgICAgYTMgPSB4MSAtIHgzLAorICAgICAgYjIgPSB5
MSAtIHkyLAorICAgICAgYjMgPSB5MSAtIHkzLAorICAgICAgYzIgPSByMiAtIHIxLAorICAgICAg
YzMgPSByMyAtIHIxLAorICAgICAgZDEgPSB4MSAqIHgxICsgeTEgKiB5MSAtIHIxICogcjEsCisg
ICAgICBkMiA9IGQxIC0geDIgKiB4MiAtIHkyICogeTIgKyByMiAqIHIyLAorICAgICAgZDMgPSBk
MSAtIHgzICogeDMgLSB5MyAqIHkzICsgcjMgKiByMywKKyAgICAgIGFiID0gYTMgKiBiMiAtIGEy
ICogYjMsCisgICAgICB4YSA9IChiMiAqIGQzIC0gYjMgKiBkMikgLyAoYWIgKiAyKSAtIHgxLAor
ICAgICAgeGIgPSAoYjMgKiBjMiAtIGIyICogYzMpIC8gYWIsCisgICAgICB5YSA9IChhMyAqIGQy
IC0gYTIgKiBkMykgLyAoYWIgKiAyKSAtIHkxLAorICAgICAgeWIgPSAoYTIgKiBjMyAtIGEzICog
YzIpIC8gYWIsCisgICAgICBBID0geGIgKiB4YiArIHliICogeWIgLSAxLAorICAgICAgQiA9IDIg
KiAocjEgKyB4YSAqIHhiICsgeWEgKiB5YiksCisgICAgICBDID0geGEgKiB4YSArIHlhICogeWEg
LSByMSAqIHIxLAorICAgICAgciA9IC0oQSA/IChCICsgTWF0aC5zcXJ0KEIgKiBCIC0gNCAqIEEg
KiBDKSkgLyAoMiAqIEEpIDogQyAvIEIpOworICByZXR1cm4geworICAgIHg6IHgxICsgeGEgKyB4
YiAqIHIsCisgICAgeTogeTEgKyB5YSArIHliICogciwKKyAgICByOiByCisgIH07Cit9CisKK2Z1
bmN0aW9uIHBsYWNlKGIsIGEsIGMpIHsKKyAgdmFyIGR4ID0gYi54IC0gYS54LCB4LCBhMiwKKyAg
ICAgIGR5ID0gYi55IC0gYS55LCB5LCBiMiwKKyAgICAgIGQyID0gZHggKiBkeCArIGR5ICogZHk7
CisgIGlmIChkMikgeworICAgIGEyID0gYS5yICsgYy5yLCBhMiAqPSBhMjsKKyAgICBiMiA9IGIu
ciArIGMuciwgYjIgKj0gYjI7CisgICAgaWYgKGEyID4gYjIpIHsKKyAgICAgIHggPSAoZDIgKyBi
MiAtIGEyKSAvICgyICogZDIpOworICAgICAgeSA9IE1hdGguc3FydChNYXRoLm1heCgwLCBiMiAv
IGQyIC0geCAqIHgpKTsKKyAgICAgIGMueCA9IGIueCAtIHggKiBkeCAtIHkgKiBkeTsKKyAgICAg
IGMueSA9IGIueSAtIHggKiBkeSArIHkgKiBkeDsKKyAgICB9IGVsc2UgeworICAgICAgeCA9IChk
MiArIGEyIC0gYjIpIC8gKDIgKiBkMik7CisgICAgICB5ID0gTWF0aC5zcXJ0KE1hdGgubWF4KDAs
IGEyIC8gZDIgLSB4ICogeCkpOworICAgICAgYy54ID0gYS54ICsgeCAqIGR4IC0geSAqIGR5Owor
ICAgICAgYy55ID0gYS55ICsgeCAqIGR5ICsgeSAqIGR4OworICAgIH0KKyAgfSBlbHNlIHsKKyAg
ICBjLnggPSBhLnggKyBjLnI7CisgICAgYy55ID0gYS55OworICB9Cit9CisKK2Z1bmN0aW9uIGlu
dGVyc2VjdHMoYSwgYikgeworICB2YXIgZHIgPSBhLnIgKyBiLnIgLSAxZS02LCBkeCA9IGIueCAt
IGEueCwgZHkgPSBiLnkgLSBhLnk7CisgIHJldHVybiBkciA+IDAgJiYgZHIgKiBkciA+IGR4ICog
ZHggKyBkeSAqIGR5OworfQorCitmdW5jdGlvbiBzY29yZShub2RlKSB7CisgIHZhciBhID0gbm9k
ZS5fLAorICAgICAgYiA9IG5vZGUubmV4dC5fLAorICAgICAgYWIgPSBhLnIgKyBiLnIsCisgICAg
ICBkeCA9IChhLnggKiBiLnIgKyBiLnggKiBhLnIpIC8gYWIsCisgICAgICBkeSA9IChhLnkgKiBi
LnIgKyBiLnkgKiBhLnIpIC8gYWI7CisgIHJldHVybiBkeCAqIGR4ICsgZHkgKiBkeTsKK30KKwor
ZnVuY3Rpb24gTm9kZSQxKGNpcmNsZSkgeworICB0aGlzLl8gPSBjaXJjbGU7CisgIHRoaXMubmV4
dCA9IG51bGw7CisgIHRoaXMucHJldmlvdXMgPSBudWxsOworfQorCitmdW5jdGlvbiBwYWNrRW5j
bG9zZShjaXJjbGVzKSB7CisgIGlmICghKG4gPSBjaXJjbGVzLmxlbmd0aCkpIHJldHVybiAwOwor
CisgIHZhciBhLCBiLCBjLCBuLCBhYSwgY2EsIGksIGosIGssIHNqLCBzazsKKworICAvLyBQbGFj
ZSB0aGUgZmlyc3QgY2lyY2xlLgorICBhID0gY2lyY2xlc1swXSwgYS54ID0gMCwgYS55ID0gMDsK
KyAgaWYgKCEobiA+IDEpKSByZXR1cm4gYS5yOworCisgIC8vIFBsYWNlIHRoZSBzZWNvbmQgY2ly
Y2xlLgorICBiID0gY2lyY2xlc1sxXSwgYS54ID0gLWIuciwgYi54ID0gYS5yLCBiLnkgPSAwOwor
ICBpZiAoIShuID4gMikpIHJldHVybiBhLnIgKyBiLnI7CisKKyAgLy8gUGxhY2UgdGhlIHRoaXJk
IGNpcmNsZS4KKyAgcGxhY2UoYiwgYSwgYyA9IGNpcmNsZXNbMl0pOworCisgIC8vIEluaXRpYWxp
emUgdGhlIGZyb250LWNoYWluIHVzaW5nIHRoZSBmaXJzdCB0aHJlZSBjaXJjbGVzIGEsIGIgYW5k
IGMuCisgIGEgPSBuZXcgTm9kZSQxKGEpLCBiID0gbmV3IE5vZGUkMShiKSwgYyA9IG5ldyBOb2Rl
JDEoYyk7CisgIGEubmV4dCA9IGMucHJldmlvdXMgPSBiOworICBiLm5leHQgPSBhLnByZXZpb3Vz
ID0gYzsKKyAgYy5uZXh0ID0gYi5wcmV2aW91cyA9IGE7CisKKyAgLy8gQXR0ZW1wdCB0byBwbGFj
ZSBlYWNoIHJlbWFpbmluZyBjaXJjbGXigKYKKyAgcGFjazogZm9yIChpID0gMzsgaSA8IG47ICsr
aSkgeworICAgIHBsYWNlKGEuXywgYi5fLCBjID0gY2lyY2xlc1tpXSksIGMgPSBuZXcgTm9kZSQx
KGMpOworCisgICAgLy8gRmluZCB0aGUgY2xvc2VzdCBpbnRlcnNlY3RpbmcgY2lyY2xlIG9uIHRo
ZSBmcm9udC1jaGFpbiwgaWYgYW55LgorICAgIC8vIOKAnENsb3NlbmVzc+KAnSBpcyBkZXRlcm1p
bmVkIGJ5IGxpbmVhciBkaXN0YW5jZSBhbG9uZyB0aGUgZnJvbnQtY2hhaW4uCisgICAgLy8g4oCc
QWhlYWTigJ0gb3Ig4oCcYmVoaW5k4oCdIGlzIGxpa2V3aXNlIGRldGVybWluZWQgYnkgbGluZWFy
IGRpc3RhbmNlLgorICAgIGogPSBiLm5leHQsIGsgPSBhLnByZXZpb3VzLCBzaiA9IGIuXy5yLCBz
ayA9IGEuXy5yOworICAgIGRvIHsKKyAgICAgIGlmIChzaiA8PSBzaykgeworICAgICAgICBpZiAo
aW50ZXJzZWN0cyhqLl8sIGMuXykpIHsKKyAgICAgICAgICBiID0gaiwgYS5uZXh0ID0gYiwgYi5w
cmV2aW91cyA9IGEsIC0taTsKKyAgICAgICAgICBjb250aW51ZSBwYWNrOworICAgICAgICB9Cisg
ICAgICAgIHNqICs9IGouXy5yLCBqID0gai5uZXh0OworICAgICAgfSBlbHNlIHsKKyAgICAgICAg
aWYgKGludGVyc2VjdHMoay5fLCBjLl8pKSB7CisgICAgICAgICAgYSA9IGssIGEubmV4dCA9IGIs
IGIucHJldmlvdXMgPSBhLCAtLWk7CisgICAgICAgICAgY29udGludWUgcGFjazsKKyAgICAgICAg
fQorICAgICAgICBzayArPSBrLl8uciwgayA9IGsucHJldmlvdXM7CisgICAgICB9CisgICAgfSB3
aGlsZSAoaiAhPT0gay5uZXh0KTsKKworICAgIC8vIFN1Y2Nlc3MhIEluc2VydCB0aGUgbmV3IGNp
cmNsZSBjIGJldHdlZW4gYSBhbmQgYi4KKyAgICBjLnByZXZpb3VzID0gYSwgYy5uZXh0ID0gYiwg
YS5uZXh0ID0gYi5wcmV2aW91cyA9IGIgPSBjOworCisgICAgLy8gQ29tcHV0ZSB0aGUgbmV3IGNs
b3Nlc3QgY2lyY2xlIHBhaXIgdG8gdGhlIGNlbnRyb2lkLgorICAgIGFhID0gc2NvcmUoYSk7Cisg
ICAgd2hpbGUgKChjID0gYy5uZXh0KSAhPT0gYikgeworICAgICAgaWYgKChjYSA9IHNjb3JlKGMp
KSA8IGFhKSB7CisgICAgICAgIGEgPSBjLCBhYSA9IGNhOworICAgICAgfQorICAgIH0KKyAgICBi
ID0gYS5uZXh0OworICB9CisKKyAgLy8gQ29tcHV0ZSB0aGUgZW5jbG9zaW5nIGNpcmNsZSBvZiB0
aGUgZnJvbnQgY2hhaW4uCisgIGEgPSBbYi5fXSwgYyA9IGI7IHdoaWxlICgoYyA9IGMubmV4dCkg
IT09IGIpIGEucHVzaChjLl8pOyBjID0gZW5jbG9zZShhKTsKKworICAvLyBUcmFuc2xhdGUgdGhl
IGNpcmNsZXMgdG8gcHV0IHRoZSBlbmNsb3NpbmcgY2lyY2xlIGFyb3VuZCB0aGUgb3JpZ2luLgor
ICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSBhID0gY2lyY2xlc1tpXSwgYS54IC09IGMueCwgYS55
IC09IGMueTsKKworICByZXR1cm4gYy5yOworfQorCitmdW5jdGlvbiBzaWJsaW5ncyhjaXJjbGVz
KSB7CisgIHBhY2tFbmNsb3NlKGNpcmNsZXMpOworICByZXR1cm4gY2lyY2xlczsKK30KKworZnVu
Y3Rpb24gb3B0aW9uYWwoZikgeworICByZXR1cm4gZiA9PSBudWxsID8gbnVsbCA6IHJlcXVpcmVk
KGYpOworfQorCitmdW5jdGlvbiByZXF1aXJlZChmKSB7CisgIGlmICh0eXBlb2YgZiAhPT0gImZ1
bmN0aW9uIikgdGhyb3cgbmV3IEVycm9yOworICByZXR1cm4gZjsKK30KKworZnVuY3Rpb24gY29u
c3RhbnRaZXJvKCkgeworICByZXR1cm4gMDsKK30KKworZnVuY3Rpb24gY29uc3RhbnQkOSh4KSB7
CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKworZnVuY3Rp
b24gZGVmYXVsdFJhZGl1cyQxKGQpIHsKKyAgcmV0dXJuIE1hdGguc3FydChkLnZhbHVlKTsKK30K
KworZnVuY3Rpb24gaW5kZXgkMigpIHsKKyAgdmFyIHJhZGl1cyA9IG51bGwsCisgICAgICBkeCA9
IDEsCisgICAgICBkeSA9IDEsCisgICAgICBwYWRkaW5nID0gY29uc3RhbnRaZXJvOworCisgIGZ1
bmN0aW9uIHBhY2socm9vdCkgeworICAgIHJvb3QueCA9IGR4IC8gMiwgcm9vdC55ID0gZHkgLyAy
OworICAgIGlmIChyYWRpdXMpIHsKKyAgICAgIHJvb3QuZWFjaEJlZm9yZShyYWRpdXNMZWFmKHJh
ZGl1cykpCisgICAgICAgICAgLmVhY2hBZnRlcihwYWNrQ2hpbGRyZW4ocGFkZGluZywgMC41KSkK
KyAgICAgICAgICAuZWFjaEJlZm9yZSh0cmFuc2xhdGVDaGlsZCgxKSk7CisgICAgfSBlbHNlIHsK
KyAgICAgIHJvb3QuZWFjaEJlZm9yZShyYWRpdXNMZWFmKGRlZmF1bHRSYWRpdXMkMSkpCisgICAg
ICAgICAgLmVhY2hBZnRlcihwYWNrQ2hpbGRyZW4oY29uc3RhbnRaZXJvLCAxKSkKKyAgICAgICAg
ICAuZWFjaEFmdGVyKHBhY2tDaGlsZHJlbihwYWRkaW5nLCByb290LnIgLyBNYXRoLm1pbihkeCwg
ZHkpKSkKKyAgICAgICAgICAuZWFjaEJlZm9yZSh0cmFuc2xhdGVDaGlsZChNYXRoLm1pbihkeCwg
ZHkpIC8gKDIgKiByb290LnIpKSk7CisgICAgfQorICAgIHJldHVybiByb290OworICB9CisKKyAg
cGFjay5yYWRpdXMgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PyAocmFkaXVzID0gb3B0aW9uYWwoeCksIHBhY2spIDogcmFkaXVzOworICB9OworCisgIHBhY2su
c2l6ZSA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkeCA9
ICt4WzBdLCBkeSA9ICt4WzFdLCBwYWNrKSA6IFtkeCwgZHldOworICB9OworCisgIHBhY2sucGFk
ZGluZyA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRk
aW5nID0gdHlwZW9mIHggPT09ICJmdW5jdGlvbiIgPyB4IDogY29uc3RhbnQkOSgreCksIHBhY2sp
IDogcGFkZGluZzsKKyAgfTsKKworICByZXR1cm4gcGFjazsKK30KKworZnVuY3Rpb24gcmFkaXVz
TGVhZihyYWRpdXMpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBpZiAoIW5vZGUu
Y2hpbGRyZW4pIHsKKyAgICAgIG5vZGUuciA9IE1hdGgubWF4KDAsICtyYWRpdXMobm9kZSkgfHwg
MCk7CisgICAgfQorICB9OworfQorCitmdW5jdGlvbiBwYWNrQ2hpbGRyZW4ocGFkZGluZywgaykg
eworICByZXR1cm4gZnVuY3Rpb24obm9kZSkgeworICAgIGlmIChjaGlsZHJlbiA9IG5vZGUuY2hp
bGRyZW4pIHsKKyAgICAgIHZhciBjaGlsZHJlbiwKKyAgICAgICAgICBpLAorICAgICAgICAgIG4g
PSBjaGlsZHJlbi5sZW5ndGgsCisgICAgICAgICAgciA9IHBhZGRpbmcobm9kZSkgKiBrIHx8IDAs
CisgICAgICAgICAgZTsKKworICAgICAgaWYgKHIpIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIGNo
aWxkcmVuW2ldLnIgKz0gcjsKKyAgICAgIGUgPSBwYWNrRW5jbG9zZShjaGlsZHJlbik7CisgICAg
ICBpZiAocikgZm9yIChpID0gMDsgaSA8IG47ICsraSkgY2hpbGRyZW5baV0uciAtPSByOworICAg
ICAgbm9kZS5yID0gZSArIHI7CisgICAgfQorICB9OworfQorCitmdW5jdGlvbiB0cmFuc2xhdGVD
aGlsZChrKSB7CisgIHJldHVybiBmdW5jdGlvbihub2RlKSB7CisgICAgdmFyIHBhcmVudCA9IG5v
ZGUucGFyZW50OworICAgIG5vZGUuciAqPSBrOworICAgIGlmIChwYXJlbnQpIHsKKyAgICAgIG5v
ZGUueCA9IHBhcmVudC54ICsgayAqIG5vZGUueDsKKyAgICAgIG5vZGUueSA9IHBhcmVudC55ICsg
ayAqIG5vZGUueTsKKyAgICB9CisgIH07Cit9CisKK2Z1bmN0aW9uIHJvdW5kTm9kZShub2RlKSB7
CisgIG5vZGUueDAgPSBNYXRoLnJvdW5kKG5vZGUueDApOworICBub2RlLnkwID0gTWF0aC5yb3Vu
ZChub2RlLnkwKTsKKyAgbm9kZS54MSA9IE1hdGgucm91bmQobm9kZS54MSk7CisgIG5vZGUueTEg
PSBNYXRoLnJvdW5kKG5vZGUueTEpOworfQorCitmdW5jdGlvbiB0cmVlbWFwRGljZShwYXJlbnQs
IHgwLCB5MCwgeDEsIHkxKSB7CisgIHZhciBub2RlcyA9IHBhcmVudC5jaGlsZHJlbiwKKyAgICAg
IG5vZGUsCisgICAgICBpID0gLTEsCisgICAgICBuID0gbm9kZXMubGVuZ3RoLAorICAgICAgayA9
IHBhcmVudC52YWx1ZSAmJiAoeDEgLSB4MCkgLyBwYXJlbnQudmFsdWU7CisKKyAgd2hpbGUgKCsr
aSA8IG4pIHsKKyAgICBub2RlID0gbm9kZXNbaV0sIG5vZGUueTAgPSB5MCwgbm9kZS55MSA9IHkx
OworICAgIG5vZGUueDAgPSB4MCwgbm9kZS54MSA9IHgwICs9IG5vZGUudmFsdWUgKiBrOworICB9
Cit9CisKK2Z1bmN0aW9uIHBhcnRpdGlvbigpIHsKKyAgdmFyIGR4ID0gMSwKKyAgICAgIGR5ID0g
MSwKKyAgICAgIHBhZGRpbmcgPSAwLAorICAgICAgcm91bmQgPSBmYWxzZTsKKworICBmdW5jdGlv
biBwYXJ0aXRpb24ocm9vdCkgeworICAgIHZhciBuID0gcm9vdC5oZWlnaHQgKyAxOworICAgIHJv
b3QueDAgPQorICAgIHJvb3QueTAgPSBwYWRkaW5nOworICAgIHJvb3QueDEgPSBkeDsKKyAgICBy
b290LnkxID0gZHkgLyBuOworICAgIHJvb3QuZWFjaEJlZm9yZShwb3NpdGlvbk5vZGUoZHksIG4p
KTsKKyAgICBpZiAocm91bmQpIHJvb3QuZWFjaEJlZm9yZShyb3VuZE5vZGUpOworICAgIHJldHVy
biByb290OworICB9CisKKyAgZnVuY3Rpb24gcG9zaXRpb25Ob2RlKGR5LCBuKSB7CisgICAgcmV0
dXJuIGZ1bmN0aW9uKG5vZGUpIHsKKyAgICAgIGlmIChub2RlLmNoaWxkcmVuKSB7CisgICAgICAg
IHRyZWVtYXBEaWNlKG5vZGUsIG5vZGUueDAsIGR5ICogKG5vZGUuZGVwdGggKyAxKSAvIG4sIG5v
ZGUueDEsIGR5ICogKG5vZGUuZGVwdGggKyAyKSAvIG4pOworICAgICAgfQorICAgICAgdmFyIHgw
ID0gbm9kZS54MCwKKyAgICAgICAgICB5MCA9IG5vZGUueTAsCisgICAgICAgICAgeDEgPSBub2Rl
LngxIC0gcGFkZGluZywKKyAgICAgICAgICB5MSA9IG5vZGUueTEgLSBwYWRkaW5nOworICAgICAg
aWYgKHgxIDwgeDApIHgwID0geDEgPSAoeDAgKyB4MSkgLyAyOworICAgICAgaWYgKHkxIDwgeTAp
IHkwID0geTEgPSAoeTAgKyB5MSkgLyAyOworICAgICAgbm9kZS54MCA9IHgwOworICAgICAgbm9k
ZS55MCA9IHkwOworICAgICAgbm9kZS54MSA9IHgxOworICAgICAgbm9kZS55MSA9IHkxOworICAg
IH07CisgIH0KKworICBwYXJ0aXRpb24ucm91bmQgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAocm91bmQgPSAhIXgsIHBhcnRpdGlvbikgOiByb3VuZDsKKyAg
fTsKKworICBwYXJ0aXRpb24uc2l6ZSA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/IChkeCA9ICt4WzBdLCBkeSA9ICt4WzFdLCBwYXJ0aXRpb24pIDogW2R4LCBk
eV07CisgIH07CisKKyAgcGFydGl0aW9uLnBhZGRpbmcgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocGFkZGluZyA9ICt4LCBwYXJ0aXRpb24pIDogcGFkZGlu
ZzsKKyAgfTsKKworICByZXR1cm4gcGFydGl0aW9uOworfQorCit2YXIga2V5UHJlZml4JDEgPSAi
JCIsIC8vIFByb3RlY3QgYWdhaW5zdCBrZXlzIGxpa2Ug4oCcX19wcm90b19f4oCdLgorICAgIHBy
ZXJvb3QgPSB7ZGVwdGg6IC0xfSwKKyAgICBhbWJpZ3VvdXMgPSB7fTsKKworZnVuY3Rpb24gZGVm
YXVsdElkKGQpIHsKKyAgcmV0dXJuIGQuaWQ7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRQYXJlbnRJ
ZChkKSB7CisgIHJldHVybiBkLnBhcmVudElkOworfQorCitmdW5jdGlvbiBzdHJhdGlmeSgpIHsK
KyAgdmFyIGlkID0gZGVmYXVsdElkLAorICAgICAgcGFyZW50SWQgPSBkZWZhdWx0UGFyZW50SWQ7
CisKKyAgZnVuY3Rpb24gc3RyYXRpZnkoZGF0YSkgeworICAgIHZhciBkLAorICAgICAgICBpLAor
ICAgICAgICBuID0gZGF0YS5sZW5ndGgsCisgICAgICAgIHJvb3QsCisgICAgICAgIHBhcmVudCwK
KyAgICAgICAgbm9kZSwKKyAgICAgICAgbm9kZXMgPSBuZXcgQXJyYXkobiksCisgICAgICAgIG5v
ZGVJZCwKKyAgICAgICAgbm9kZUtleSwKKyAgICAgICAgbm9kZUJ5S2V5ID0ge307CisKKyAgICBm
b3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBkID0gZGF0YVtpXSwgbm9kZSA9IG5vZGVz
W2ldID0gbmV3IE5vZGUoZCk7CisgICAgICBpZiAoKG5vZGVJZCA9IGlkKGQsIGksIGRhdGEpKSAh
PSBudWxsICYmIChub2RlSWQgKz0gIiIpKSB7CisgICAgICAgIG5vZGVLZXkgPSBrZXlQcmVmaXgk
MSArIChub2RlLmlkID0gbm9kZUlkKTsKKyAgICAgICAgbm9kZUJ5S2V5W25vZGVLZXldID0gbm9k
ZUtleSBpbiBub2RlQnlLZXkgPyBhbWJpZ3VvdXMgOiBub2RlOworICAgICAgfQorICAgIH0KKwor
ICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIG5vZGUgPSBub2Rlc1tpXSwgbm9k
ZUlkID0gcGFyZW50SWQoZGF0YVtpXSwgaSwgZGF0YSk7CisgICAgICBpZiAobm9kZUlkID09IG51
bGwgfHwgIShub2RlSWQgKz0gIiIpKSB7CisgICAgICAgIGlmIChyb290KSB0aHJvdyBuZXcgRXJy
b3IoIm11bHRpcGxlIHJvb3RzIik7CisgICAgICAgIHJvb3QgPSBub2RlOworICAgICAgfSBlbHNl
IHsKKyAgICAgICAgcGFyZW50ID0gbm9kZUJ5S2V5W2tleVByZWZpeCQxICsgbm9kZUlkXTsKKyAg
ICAgICAgaWYgKCFwYXJlbnQpIHRocm93IG5ldyBFcnJvcigibWlzc2luZzogIiArIG5vZGVJZCk7
CisgICAgICAgIGlmIChwYXJlbnQgPT09IGFtYmlndW91cykgdGhyb3cgbmV3IEVycm9yKCJhbWJp
Z3VvdXM6ICIgKyBub2RlSWQpOworICAgICAgICBpZiAocGFyZW50LmNoaWxkcmVuKSBwYXJlbnQu
Y2hpbGRyZW4ucHVzaChub2RlKTsKKyAgICAgICAgZWxzZSBwYXJlbnQuY2hpbGRyZW4gPSBbbm9k
ZV07CisgICAgICAgIG5vZGUucGFyZW50ID0gcGFyZW50OworICAgICAgfQorICAgIH0KKworICAg
IGlmICghcm9vdCkgdGhyb3cgbmV3IEVycm9yKCJubyByb290Iik7CisgICAgcm9vdC5wYXJlbnQg
PSBwcmVyb290OworICAgIHJvb3QuZWFjaEJlZm9yZShmdW5jdGlvbihub2RlKSB7IG5vZGUuZGVw
dGggPSBub2RlLnBhcmVudC5kZXB0aCArIDE7IC0tbjsgfSkuZWFjaEJlZm9yZShjb21wdXRlSGVp
Z2h0KTsKKyAgICByb290LnBhcmVudCA9IG51bGw7CisgICAgaWYgKG4gPiAwKSB0aHJvdyBuZXcg
RXJyb3IoImN5Y2xlIik7CisKKyAgICByZXR1cm4gcm9vdDsKKyAgfQorCisgIHN0cmF0aWZ5Lmlk
ID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGlkID0gcmVx
dWlyZWQoeCksIHN0cmF0aWZ5KSA6IGlkOworICB9OworCisgIHN0cmF0aWZ5LnBhcmVudElkID0g
ZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhcmVudElkID0g
cmVxdWlyZWQoeCksIHN0cmF0aWZ5KSA6IHBhcmVudElkOworICB9OworCisgIHJldHVybiBzdHJh
dGlmeTsKK30KKworZnVuY3Rpb24gZGVmYXVsdFNlcGFyYXRpb24kMShhLCBiKSB7CisgIHJldHVy
biBhLnBhcmVudCA9PT0gYi5wYXJlbnQgPyAxIDogMjsKK30KKworLy8gZnVuY3Rpb24gcmFkaWFs
U2VwYXJhdGlvbihhLCBiKSB7CisvLyAgIHJldHVybiAoYS5wYXJlbnQgPT09IGIucGFyZW50ID8g
MSA6IDIpIC8gYS5kZXB0aDsKKy8vIH0KKworLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHRy
YXZlcnNlIHRoZSBsZWZ0IGNvbnRvdXIgb2YgYSBzdWJ0cmVlIChvcgorLy8gc3ViZm9yZXN0KS4g
SXQgcmV0dXJucyB0aGUgc3VjY2Vzc29yIG9mIHYgb24gdGhpcyBjb250b3VyLiBUaGlzIHN1Y2Nl
c3NvciBpcworLy8gZWl0aGVyIGdpdmVuIGJ5IHRoZSBsZWZ0bW9zdCBjaGlsZCBvZiB2IG9yIGJ5
IHRoZSB0aHJlYWQgb2Ygdi4gVGhlIGZ1bmN0aW9uCisvLyByZXR1cm5zIG51bGwgaWYgYW5kIG9u
bHkgaWYgdiBpcyBvbiB0aGUgaGlnaGVzdCBsZXZlbCBvZiBpdHMgc3VidHJlZS4KK2Z1bmN0aW9u
IG5leHRMZWZ0KHYpIHsKKyAgdmFyIGNoaWxkcmVuID0gdi5jaGlsZHJlbjsKKyAgcmV0dXJuIGNo
aWxkcmVuID8gY2hpbGRyZW5bMF0gOiB2LnQ7Cit9CisKKy8vIFRoaXMgZnVuY3Rpb24gd29ya3Mg
YW5hbG9nb3VzbHkgdG8gbmV4dExlZnQuCitmdW5jdGlvbiBuZXh0UmlnaHQodikgeworICB2YXIg
Y2hpbGRyZW4gPSB2LmNoaWxkcmVuOworICByZXR1cm4gY2hpbGRyZW4gPyBjaGlsZHJlbltjaGls
ZHJlbi5sZW5ndGggLSAxXSA6IHYudDsKK30KKworLy8gU2hpZnRzIHRoZSBjdXJyZW50IHN1YnRy
ZWUgcm9vdGVkIGF0IHcrLiBUaGlzIGlzIGRvbmUgYnkgaW5jcmVhc2luZworLy8gcHJlbGltKHcr
KSBhbmQgbW9kKHcrKSBieSBzaGlmdC4KK2Z1bmN0aW9uIG1vdmVTdWJ0cmVlKHdtLCB3cCwgc2hp
ZnQpIHsKKyAgdmFyIGNoYW5nZSA9IHNoaWZ0IC8gKHdwLmkgLSB3bS5pKTsKKyAgd3AuYyAtPSBj
aGFuZ2U7CisgIHdwLnMgKz0gc2hpZnQ7CisgIHdtLmMgKz0gY2hhbmdlOworICB3cC56ICs9IHNo
aWZ0OworICB3cC5tICs9IHNoaWZ0OworfQorCisvLyBBbGwgb3RoZXIgc2hpZnRzLCBhcHBsaWVk
IHRvIHRoZSBzbWFsbGVyIHN1YnRyZWVzIGJldHdlZW4gdy0gYW5kIHcrLCBhcmUKKy8vIHBlcmZv
cm1lZCBieSB0aGlzIGZ1bmN0aW9uLiBUbyBwcmVwYXJlIHRoZSBzaGlmdHMsIHdlIGhhdmUgdG8g
YWRqdXN0CisvLyBjaGFuZ2UodyspLCBzaGlmdCh3KyksIGFuZCBjaGFuZ2Uody0pLgorZnVuY3Rp
b24gZXhlY3V0ZVNoaWZ0cyh2KSB7CisgIHZhciBzaGlmdCA9IDAsCisgICAgICBjaGFuZ2UgPSAw
LAorICAgICAgY2hpbGRyZW4gPSB2LmNoaWxkcmVuLAorICAgICAgaSA9IGNoaWxkcmVuLmxlbmd0
aCwKKyAgICAgIHc7CisgIHdoaWxlICgtLWkgPj0gMCkgeworICAgIHcgPSBjaGlsZHJlbltpXTsK
KyAgICB3LnogKz0gc2hpZnQ7CisgICAgdy5tICs9IHNoaWZ0OworICAgIHNoaWZ0ICs9IHcucyAr
IChjaGFuZ2UgKz0gdy5jKTsKKyAgfQorfQorCisvLyBJZiB2aS3igJlzIGFuY2VzdG9yIGlzIGEg
c2libGluZyBvZiB2LCByZXR1cm5zIHZpLeKAmXMgYW5jZXN0b3IuIE90aGVyd2lzZSwKKy8vIHJl
dHVybnMgdGhlIHNwZWNpZmllZCAoZGVmYXVsdCkgYW5jZXN0b3IuCitmdW5jdGlvbiBuZXh0QW5j
ZXN0b3IodmltLCB2LCBhbmNlc3RvcikgeworICByZXR1cm4gdmltLmEucGFyZW50ID09PSB2LnBh
cmVudCA/IHZpbS5hIDogYW5jZXN0b3I7Cit9CisKK2Z1bmN0aW9uIFRyZWVOb2RlKG5vZGUsIGkp
IHsKKyAgdGhpcy5fID0gbm9kZTsKKyAgdGhpcy5wYXJlbnQgPSBudWxsOworICB0aGlzLmNoaWxk
cmVuID0gbnVsbDsKKyAgdGhpcy5BID0gbnVsbDsgLy8gZGVmYXVsdCBhbmNlc3RvcgorICB0aGlz
LmEgPSB0aGlzOyAvLyBhbmNlc3RvcgorICB0aGlzLnogPSAwOyAvLyBwcmVsaW0KKyAgdGhpcy5t
ID0gMDsgLy8gbW9kCisgIHRoaXMuYyA9IDA7IC8vIGNoYW5nZQorICB0aGlzLnMgPSAwOyAvLyBz
aGlmdAorICB0aGlzLnQgPSBudWxsOyAvLyB0aHJlYWQKKyAgdGhpcy5pID0gaTsgLy8gbnVtYmVy
Cit9CisKK1RyZWVOb2RlLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoTm9kZS5wcm90b3R5cGUp
OworCitmdW5jdGlvbiB0cmVlUm9vdChyb290KSB7CisgIHZhciB0cmVlID0gbmV3IFRyZWVOb2Rl
KHJvb3QsIDApLAorICAgICAgbm9kZSwKKyAgICAgIG5vZGVzID0gW3RyZWVdLAorICAgICAgY2hp
bGQsCisgICAgICBjaGlsZHJlbiwKKyAgICAgIGksCisgICAgICBuOworCisgIHdoaWxlIChub2Rl
ID0gbm9kZXMucG9wKCkpIHsKKyAgICBpZiAoY2hpbGRyZW4gPSBub2RlLl8uY2hpbGRyZW4pIHsK
KyAgICAgIG5vZGUuY2hpbGRyZW4gPSBuZXcgQXJyYXkobiA9IGNoaWxkcmVuLmxlbmd0aCk7Cisg
ICAgICBmb3IgKGkgPSBuIC0gMTsgaSA+PSAwOyAtLWkpIHsKKyAgICAgICAgbm9kZXMucHVzaChj
aGlsZCA9IG5vZGUuY2hpbGRyZW5baV0gPSBuZXcgVHJlZU5vZGUoY2hpbGRyZW5baV0sIGkpKTsK
KyAgICAgICAgY2hpbGQucGFyZW50ID0gbm9kZTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICAo
dHJlZS5wYXJlbnQgPSBuZXcgVHJlZU5vZGUobnVsbCwgMCkpLmNoaWxkcmVuID0gW3RyZWVdOwor
ICByZXR1cm4gdHJlZTsKK30KKworLy8gTm9kZS1saW5rIHRyZWUgZGlhZ3JhbSB1c2luZyB0aGUg
UmVpbmdvbGQtVGlsZm9yZCAidGlkeSIgYWxnb3JpdGhtCitmdW5jdGlvbiB0cmVlKCkgeworICB2
YXIgc2VwYXJhdGlvbiA9IGRlZmF1bHRTZXBhcmF0aW9uJDEsCisgICAgICBkeCA9IDEsCisgICAg
ICBkeSA9IDEsCisgICAgICBub2RlU2l6ZSA9IG51bGw7CisKKyAgZnVuY3Rpb24gdHJlZShyb290
KSB7CisgICAgdmFyIHQgPSB0cmVlUm9vdChyb290KTsKKworICAgIC8vIENvbXB1dGUgdGhlIGxh
eW91dCB1c2luZyBCdWNoaGVpbSBldCBhbC7igJlzIGFsZ29yaXRobS4KKyAgICB0LmVhY2hBZnRl
cihmaXJzdFdhbGspLCB0LnBhcmVudC5tID0gLXQuejsKKyAgICB0LmVhY2hCZWZvcmUoc2Vjb25k
V2Fsayk7CisKKyAgICAvLyBJZiBhIGZpeGVkIG5vZGUgc2l6ZSBpcyBzcGVjaWZpZWQsIHNjYWxl
IHggYW5kIHkuCisgICAgaWYgKG5vZGVTaXplKSByb290LmVhY2hCZWZvcmUoc2l6ZU5vZGUpOwor
CisgICAgLy8gSWYgYSBmaXhlZCB0cmVlIHNpemUgaXMgc3BlY2lmaWVkLCBzY2FsZSB4IGFuZCB5
IGJhc2VkIG9uIHRoZSBleHRlbnQuCisgICAgLy8gQ29tcHV0ZSB0aGUgbGVmdC1tb3N0LCByaWdo
dC1tb3N0LCBhbmQgZGVwdGgtbW9zdCBub2RlcyBmb3IgZXh0ZW50cy4KKyAgICBlbHNlIHsKKyAg
ICAgIHZhciBsZWZ0ID0gcm9vdCwKKyAgICAgICAgICByaWdodCA9IHJvb3QsCisgICAgICAgICAg
Ym90dG9tID0gcm9vdDsKKyAgICAgIHJvb3QuZWFjaEJlZm9yZShmdW5jdGlvbihub2RlKSB7Cisg
ICAgICAgIGlmIChub2RlLnggPCBsZWZ0LngpIGxlZnQgPSBub2RlOworICAgICAgICBpZiAobm9k
ZS54ID4gcmlnaHQueCkgcmlnaHQgPSBub2RlOworICAgICAgICBpZiAobm9kZS5kZXB0aCA+IGJv
dHRvbS5kZXB0aCkgYm90dG9tID0gbm9kZTsKKyAgICAgIH0pOworICAgICAgdmFyIHMgPSBsZWZ0
ID09PSByaWdodCA/IDEgOiBzZXBhcmF0aW9uKGxlZnQsIHJpZ2h0KSAvIDIsCisgICAgICAgICAg
dHggPSBzIC0gbGVmdC54LAorICAgICAgICAgIGt4ID0gZHggLyAocmlnaHQueCArIHMgKyB0eCks
CisgICAgICAgICAga3kgPSBkeSAvIChib3R0b20uZGVwdGggfHwgMSk7CisgICAgICByb290LmVh
Y2hCZWZvcmUoZnVuY3Rpb24obm9kZSkgeworICAgICAgICBub2RlLnggPSAobm9kZS54ICsgdHgp
ICoga3g7CisgICAgICAgIG5vZGUueSA9IG5vZGUuZGVwdGggKiBreTsKKyAgICAgIH0pOworICAg
IH0KKworICAgIHJldHVybiByb290OworICB9CisKKyAgLy8gQ29tcHV0ZXMgYSBwcmVsaW1pbmFy
eSB4LWNvb3JkaW5hdGUgZm9yIHYuIEJlZm9yZSB0aGF0LCBGSVJTVCBXQUxLIGlzCisgIC8vIGFw
cGxpZWQgcmVjdXJzaXZlbHkgdG8gdGhlIGNoaWxkcmVuIG9mIHYsIGFzIHdlbGwgYXMgdGhlIGZ1
bmN0aW9uCisgIC8vIEFQUE9SVElPTi4gQWZ0ZXIgc3BhY2luZyBvdXQgdGhlIGNoaWxkcmVuIGJ5
IGNhbGxpbmcgRVhFQ1VURSBTSElGVFMsIHRoZQorICAvLyBub2RlIHYgaXMgcGxhY2VkIHRvIHRo
ZSBtaWRwb2ludCBvZiBpdHMgb3V0ZXJtb3N0IGNoaWxkcmVuLgorICBmdW5jdGlvbiBmaXJzdFdh
bGsodikgeworICAgIHZhciBjaGlsZHJlbiA9IHYuY2hpbGRyZW4sCisgICAgICAgIHNpYmxpbmdz
ID0gdi5wYXJlbnQuY2hpbGRyZW4sCisgICAgICAgIHcgPSB2LmkgPyBzaWJsaW5nc1t2LmkgLSAx
XSA6IG51bGw7CisgICAgaWYgKGNoaWxkcmVuKSB7CisgICAgICBleGVjdXRlU2hpZnRzKHYpOwor
ICAgICAgdmFyIG1pZHBvaW50ID0gKGNoaWxkcmVuWzBdLnogKyBjaGlsZHJlbltjaGlsZHJlbi5s
ZW5ndGggLSAxXS56KSAvIDI7CisgICAgICBpZiAodykgeworICAgICAgICB2LnogPSB3LnogKyBz
ZXBhcmF0aW9uKHYuXywgdy5fKTsKKyAgICAgICAgdi5tID0gdi56IC0gbWlkcG9pbnQ7CisgICAg
ICB9IGVsc2UgeworICAgICAgICB2LnogPSBtaWRwb2ludDsKKyAgICAgIH0KKyAgICB9IGVsc2Ug
aWYgKHcpIHsKKyAgICAgIHYueiA9IHcueiArIHNlcGFyYXRpb24odi5fLCB3Ll8pOworICAgIH0K
KyAgICB2LnBhcmVudC5BID0gYXBwb3J0aW9uKHYsIHcsIHYucGFyZW50LkEgfHwgc2libGluZ3Nb
MF0pOworICB9CisKKyAgLy8gQ29tcHV0ZXMgYWxsIHJlYWwgeC1jb29yZGluYXRlcyBieSBzdW1t
aW5nIHVwIHRoZSBtb2RpZmllcnMgcmVjdXJzaXZlbHkuCisgIGZ1bmN0aW9uIHNlY29uZFdhbGso
dikgeworICAgIHYuXy54ID0gdi56ICsgdi5wYXJlbnQubTsKKyAgICB2Lm0gKz0gdi5wYXJlbnQu
bTsKKyAgfQorCisgIC8vIFRoZSBjb3JlIG9mIHRoZSBhbGdvcml0aG0uIEhlcmUsIGEgbmV3IHN1
YnRyZWUgaXMgY29tYmluZWQgd2l0aCB0aGUKKyAgLy8gcHJldmlvdXMgc3VidHJlZXMuIFRocmVh
ZHMgYXJlIHVzZWQgdG8gdHJhdmVyc2UgdGhlIGluc2lkZSBhbmQgb3V0c2lkZQorICAvLyBjb250
b3VycyBvZiB0aGUgbGVmdCBhbmQgcmlnaHQgc3VidHJlZSB1cCB0byB0aGUgaGlnaGVzdCBjb21t
b24gbGV2ZWwuIFRoZQorICAvLyB2ZXJ0aWNlcyB1c2VkIGZvciB0aGUgdHJhdmVyc2FscyBhcmUg
dmkrLCB2aS0sIHZvLSwgYW5kIHZvKywgd2hlcmUgdGhlCisgIC8vIHN1cGVyc2NyaXB0IG8gbWVh
bnMgb3V0c2lkZSBhbmQgaSBtZWFucyBpbnNpZGUsIHRoZSBzdWJzY3JpcHQgLSBtZWFucyBsZWZ0
CisgIC8vIHN1YnRyZWUgYW5kICsgbWVhbnMgcmlnaHQgc3VidHJlZS4gRm9yIHN1bW1pbmcgdXAg
dGhlIG1vZGlmaWVycyBhbG9uZyB0aGUKKyAgLy8gY29udG91ciwgd2UgdXNlIHJlc3BlY3RpdmUg
dmFyaWFibGVzIHNpKywgc2ktLCBzby0sIGFuZCBzbysuIFdoZW5ldmVyIHR3bworICAvLyBub2Rl
cyBvZiB0aGUgaW5zaWRlIGNvbnRvdXJzIGNvbmZsaWN0LCB3ZSBjb21wdXRlIHRoZSBsZWZ0IG9u
ZSBvZiB0aGUKKyAgLy8gZ3JlYXRlc3QgdW5jb21tb24gYW5jZXN0b3JzIHVzaW5nIHRoZSBmdW5j
dGlvbiBBTkNFU1RPUiBhbmQgY2FsbCBNT1ZFCisgIC8vIFNVQlRSRUUgdG8gc2hpZnQgdGhlIHN1
YnRyZWUgYW5kIHByZXBhcmUgdGhlIHNoaWZ0cyBvZiBzbWFsbGVyIHN1YnRyZWVzLgorICAvLyBG
aW5hbGx5LCB3ZSBhZGQgYSBuZXcgdGhyZWFkIChpZiBuZWNlc3NhcnkpLgorICBmdW5jdGlvbiBh
cHBvcnRpb24odiwgdywgYW5jZXN0b3IpIHsKKyAgICBpZiAodykgeworICAgICAgdmFyIHZpcCA9
IHYsCisgICAgICAgICAgdm9wID0gdiwKKyAgICAgICAgICB2aW0gPSB3LAorICAgICAgICAgIHZv
bSA9IHZpcC5wYXJlbnQuY2hpbGRyZW5bMF0sCisgICAgICAgICAgc2lwID0gdmlwLm0sCisgICAg
ICAgICAgc29wID0gdm9wLm0sCisgICAgICAgICAgc2ltID0gdmltLm0sCisgICAgICAgICAgc29t
ID0gdm9tLm0sCisgICAgICAgICAgc2hpZnQ7CisgICAgICB3aGlsZSAodmltID0gbmV4dFJpZ2h0
KHZpbSksIHZpcCA9IG5leHRMZWZ0KHZpcCksIHZpbSAmJiB2aXApIHsKKyAgICAgICAgdm9tID0g
bmV4dExlZnQodm9tKTsKKyAgICAgICAgdm9wID0gbmV4dFJpZ2h0KHZvcCk7CisgICAgICAgIHZv
cC5hID0gdjsKKyAgICAgICAgc2hpZnQgPSB2aW0ueiArIHNpbSAtIHZpcC56IC0gc2lwICsgc2Vw
YXJhdGlvbih2aW0uXywgdmlwLl8pOworICAgICAgICBpZiAoc2hpZnQgPiAwKSB7CisgICAgICAg
ICAgbW92ZVN1YnRyZWUobmV4dEFuY2VzdG9yKHZpbSwgdiwgYW5jZXN0b3IpLCB2LCBzaGlmdCk7
CisgICAgICAgICAgc2lwICs9IHNoaWZ0OworICAgICAgICAgIHNvcCArPSBzaGlmdDsKKyAgICAg
ICAgfQorICAgICAgICBzaW0gKz0gdmltLm07CisgICAgICAgIHNpcCArPSB2aXAubTsKKyAgICAg
ICAgc29tICs9IHZvbS5tOworICAgICAgICBzb3AgKz0gdm9wLm07CisgICAgICB9CisgICAgICBp
ZiAodmltICYmICFuZXh0UmlnaHQodm9wKSkgeworICAgICAgICB2b3AudCA9IHZpbTsKKyAgICAg
ICAgdm9wLm0gKz0gc2ltIC0gc29wOworICAgICAgfQorICAgICAgaWYgKHZpcCAmJiAhbmV4dExl
ZnQodm9tKSkgeworICAgICAgICB2b20udCA9IHZpcDsKKyAgICAgICAgdm9tLm0gKz0gc2lwIC0g
c29tOworICAgICAgICBhbmNlc3RvciA9IHY7CisgICAgICB9CisgICAgfQorICAgIHJldHVybiBh
bmNlc3RvcjsKKyAgfQorCisgIGZ1bmN0aW9uIHNpemVOb2RlKG5vZGUpIHsKKyAgICBub2RlLngg
Kj0gZHg7CisgICAgbm9kZS55ID0gbm9kZS5kZXB0aCAqIGR5OworICB9CisKKyAgdHJlZS5zZXBh
cmF0aW9uID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNl
cGFyYXRpb24gPSB4LCB0cmVlKSA6IHNlcGFyYXRpb247CisgIH07CisKKyAgdHJlZS5zaXplID0g
ZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKG5vZGVTaXplID0g
ZmFsc2UsIGR4ID0gK3hbMF0sIGR5ID0gK3hbMV0sIHRyZWUpIDogKG5vZGVTaXplID8gbnVsbCA6
IFtkeCwgZHldKTsKKyAgfTsKKworICB0cmVlLm5vZGVTaXplID0gZnVuY3Rpb24oeCkgeworICAg
IHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKG5vZGVTaXplID0gdHJ1ZSwgZHggPSAreFswXSwg
ZHkgPSAreFsxXSwgdHJlZSkgOiAobm9kZVNpemUgPyBbZHgsIGR5XSA6IG51bGwpOworICB9Owor
CisgIHJldHVybiB0cmVlOworfQorCitmdW5jdGlvbiB0cmVlbWFwU2xpY2UocGFyZW50LCB4MCwg
eTAsIHgxLCB5MSkgeworICB2YXIgbm9kZXMgPSBwYXJlbnQuY2hpbGRyZW4sCisgICAgICBub2Rl
LAorICAgICAgaSA9IC0xLAorICAgICAgbiA9IG5vZGVzLmxlbmd0aCwKKyAgICAgIGsgPSBwYXJl
bnQudmFsdWUgJiYgKHkxIC0geTApIC8gcGFyZW50LnZhbHVlOworCisgIHdoaWxlICgrK2kgPCBu
KSB7CisgICAgbm9kZSA9IG5vZGVzW2ldLCBub2RlLngwID0geDAsIG5vZGUueDEgPSB4MTsKKyAg
ICBub2RlLnkwID0geTAsIG5vZGUueTEgPSB5MCArPSBub2RlLnZhbHVlICogazsKKyAgfQorfQor
Cit2YXIgcGhpID0gKDEgKyBNYXRoLnNxcnQoNSkpIC8gMjsKKworZnVuY3Rpb24gc3F1YXJpZnlS
YXRpbyhyYXRpbywgcGFyZW50LCB4MCwgeTAsIHgxLCB5MSkgeworICB2YXIgcm93cyA9IFtdLAor
ICAgICAgbm9kZXMgPSBwYXJlbnQuY2hpbGRyZW4sCisgICAgICByb3csCisgICAgICBub2RlVmFs
dWUsCisgICAgICBpMCA9IDAsCisgICAgICBpMSA9IDAsCisgICAgICBuID0gbm9kZXMubGVuZ3Ro
LAorICAgICAgZHgsIGR5LAorICAgICAgdmFsdWUgPSBwYXJlbnQudmFsdWUsCisgICAgICBzdW1W
YWx1ZSwKKyAgICAgIG1pblZhbHVlLAorICAgICAgbWF4VmFsdWUsCisgICAgICBuZXdSYXRpbywK
KyAgICAgIG1pblJhdGlvLAorICAgICAgYWxwaGEsCisgICAgICBiZXRhOworCisgIHdoaWxlIChp
MCA8IG4pIHsKKyAgICBkeCA9IHgxIC0geDAsIGR5ID0geTEgLSB5MDsKKworICAgIC8vIEZpbmQg
dGhlIG5leHQgbm9uLWVtcHR5IG5vZGUuCisgICAgZG8gc3VtVmFsdWUgPSBub2Rlc1tpMSsrXS52
YWx1ZTsgd2hpbGUgKCFzdW1WYWx1ZSAmJiBpMSA8IG4pOworICAgIG1pblZhbHVlID0gbWF4VmFs
dWUgPSBzdW1WYWx1ZTsKKyAgICBhbHBoYSA9IE1hdGgubWF4KGR5IC8gZHgsIGR4IC8gZHkpIC8g
KHZhbHVlICogcmF0aW8pOworICAgIGJldGEgPSBzdW1WYWx1ZSAqIHN1bVZhbHVlICogYWxwaGE7
CisgICAgbWluUmF0aW8gPSBNYXRoLm1heChtYXhWYWx1ZSAvIGJldGEsIGJldGEgLyBtaW5WYWx1
ZSk7CisKKyAgICAvLyBLZWVwIGFkZGluZyBub2RlcyB3aGlsZSB0aGUgYXNwZWN0IHJhdGlvIG1h
aW50YWlucyBvciBpbXByb3Zlcy4KKyAgICBmb3IgKDsgaTEgPCBuOyArK2kxKSB7CisgICAgICBz
dW1WYWx1ZSArPSBub2RlVmFsdWUgPSBub2Rlc1tpMV0udmFsdWU7CisgICAgICBpZiAobm9kZVZh
bHVlIDwgbWluVmFsdWUpIG1pblZhbHVlID0gbm9kZVZhbHVlOworICAgICAgaWYgKG5vZGVWYWx1
ZSA+IG1heFZhbHVlKSBtYXhWYWx1ZSA9IG5vZGVWYWx1ZTsKKyAgICAgIGJldGEgPSBzdW1WYWx1
ZSAqIHN1bVZhbHVlICogYWxwaGE7CisgICAgICBuZXdSYXRpbyA9IE1hdGgubWF4KG1heFZhbHVl
IC8gYmV0YSwgYmV0YSAvIG1pblZhbHVlKTsKKyAgICAgIGlmIChuZXdSYXRpbyA+IG1pblJhdGlv
KSB7IHN1bVZhbHVlIC09IG5vZGVWYWx1ZTsgYnJlYWs7IH0KKyAgICAgIG1pblJhdGlvID0gbmV3
UmF0aW87CisgICAgfQorCisgICAgLy8gUG9zaXRpb24gYW5kIHJlY29yZCB0aGUgcm93IG9yaWVu
dGF0aW9uLgorICAgIHJvd3MucHVzaChyb3cgPSB7dmFsdWU6IHN1bVZhbHVlLCBkaWNlOiBkeCA8
IGR5LCBjaGlsZHJlbjogbm9kZXMuc2xpY2UoaTAsIGkxKX0pOworICAgIGlmIChyb3cuZGljZSkg
dHJlZW1hcERpY2Uocm93LCB4MCwgeTAsIHgxLCB2YWx1ZSA/IHkwICs9IGR5ICogc3VtVmFsdWUg
LyB2YWx1ZSA6IHkxKTsKKyAgICBlbHNlIHRyZWVtYXBTbGljZShyb3csIHgwLCB5MCwgdmFsdWUg
PyB4MCArPSBkeCAqIHN1bVZhbHVlIC8gdmFsdWUgOiB4MSwgeTEpOworICAgIHZhbHVlIC09IHN1
bVZhbHVlLCBpMCA9IGkxOworICB9CisKKyAgcmV0dXJuIHJvd3M7Cit9CisKK3ZhciBzcXVhcmlm
eSA9IChmdW5jdGlvbiBjdXN0b20ocmF0aW8pIHsKKworICBmdW5jdGlvbiBzcXVhcmlmeShwYXJl
bnQsIHgwLCB5MCwgeDEsIHkxKSB7CisgICAgc3F1YXJpZnlSYXRpbyhyYXRpbywgcGFyZW50LCB4
MCwgeTAsIHgxLCB5MSk7CisgIH0KKworICBzcXVhcmlmeS5yYXRpbyA9IGZ1bmN0aW9uKHgpIHsK
KyAgICByZXR1cm4gY3VzdG9tKCh4ID0gK3gpID4gMSA/IHggOiAxKTsKKyAgfTsKKworICByZXR1
cm4gc3F1YXJpZnk7Cit9KShwaGkpOworCitmdW5jdGlvbiBpbmRleCQzKCkgeworICB2YXIgdGls
ZSA9IHNxdWFyaWZ5LAorICAgICAgcm91bmQgPSBmYWxzZSwKKyAgICAgIGR4ID0gMSwKKyAgICAg
IGR5ID0gMSwKKyAgICAgIHBhZGRpbmdTdGFjayA9IFswXSwKKyAgICAgIHBhZGRpbmdJbm5lciA9
IGNvbnN0YW50WmVybywKKyAgICAgIHBhZGRpbmdUb3AgPSBjb25zdGFudFplcm8sCisgICAgICBw
YWRkaW5nUmlnaHQgPSBjb25zdGFudFplcm8sCisgICAgICBwYWRkaW5nQm90dG9tID0gY29uc3Rh
bnRaZXJvLAorICAgICAgcGFkZGluZ0xlZnQgPSBjb25zdGFudFplcm87CisKKyAgZnVuY3Rpb24g
dHJlZW1hcChyb290KSB7CisgICAgcm9vdC54MCA9CisgICAgcm9vdC55MCA9IDA7CisgICAgcm9v
dC54MSA9IGR4OworICAgIHJvb3QueTEgPSBkeTsKKyAgICByb290LmVhY2hCZWZvcmUocG9zaXRp
b25Ob2RlKTsKKyAgICBwYWRkaW5nU3RhY2sgPSBbMF07CisgICAgaWYgKHJvdW5kKSByb290LmVh
Y2hCZWZvcmUocm91bmROb2RlKTsKKyAgICByZXR1cm4gcm9vdDsKKyAgfQorCisgIGZ1bmN0aW9u
IHBvc2l0aW9uTm9kZShub2RlKSB7CisgICAgdmFyIHAgPSBwYWRkaW5nU3RhY2tbbm9kZS5kZXB0
aF0sCisgICAgICAgIHgwID0gbm9kZS54MCArIHAsCisgICAgICAgIHkwID0gbm9kZS55MCArIHAs
CisgICAgICAgIHgxID0gbm9kZS54MSAtIHAsCisgICAgICAgIHkxID0gbm9kZS55MSAtIHA7Cisg
ICAgaWYgKHgxIDwgeDApIHgwID0geDEgPSAoeDAgKyB4MSkgLyAyOworICAgIGlmICh5MSA8IHkw
KSB5MCA9IHkxID0gKHkwICsgeTEpIC8gMjsKKyAgICBub2RlLngwID0geDA7CisgICAgbm9kZS55
MCA9IHkwOworICAgIG5vZGUueDEgPSB4MTsKKyAgICBub2RlLnkxID0geTE7CisgICAgaWYgKG5v
ZGUuY2hpbGRyZW4pIHsKKyAgICAgIHAgPSBwYWRkaW5nU3RhY2tbbm9kZS5kZXB0aCArIDFdID0g
cGFkZGluZ0lubmVyKG5vZGUpIC8gMjsKKyAgICAgIHgwICs9IHBhZGRpbmdMZWZ0KG5vZGUpIC0g
cDsKKyAgICAgIHkwICs9IHBhZGRpbmdUb3Aobm9kZSkgLSBwOworICAgICAgeDEgLT0gcGFkZGlu
Z1JpZ2h0KG5vZGUpIC0gcDsKKyAgICAgIHkxIC09IHBhZGRpbmdCb3R0b20obm9kZSkgLSBwOwor
ICAgICAgaWYgKHgxIDwgeDApIHgwID0geDEgPSAoeDAgKyB4MSkgLyAyOworICAgICAgaWYgKHkx
IDwgeTApIHkwID0geTEgPSAoeTAgKyB5MSkgLyAyOworICAgICAgdGlsZShub2RlLCB4MCwgeTAs
IHgxLCB5MSk7CisgICAgfQorICB9CisKKyAgdHJlZW1hcC5yb3VuZCA9IGZ1bmN0aW9uKHgpIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChyb3VuZCA9ICEheCwgdHJlZW1hcCkgOiBy
b3VuZDsKKyAgfTsKKworICB0cmVlbWFwLnNpemUgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAoZHggPSAreFswXSwgZHkgPSAreFsxXSwgdHJlZW1hcCkgOiBb
ZHgsIGR5XTsKKyAgfTsKKworICB0cmVlbWFwLnRpbGUgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGlsZSA9IHJlcXVpcmVkKHgpLCB0cmVlbWFwKSA6IHRp
bGU7CisgIH07CisKKyAgdHJlZW1hcC5wYWRkaW5nID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVy
biBhcmd1bWVudHMubGVuZ3RoID8gdHJlZW1hcC5wYWRkaW5nSW5uZXIoeCkucGFkZGluZ091dGVy
KHgpIDogdHJlZW1hcC5wYWRkaW5nSW5uZXIoKTsKKyAgfTsKKworICB0cmVlbWFwLnBhZGRpbmdJ
bm5lciA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRk
aW5nSW5uZXIgPSB0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiA/IHggOiBjb25zdGFudCQ5KCt4KSwg
dHJlZW1hcCkgOiBwYWRkaW5nSW5uZXI7CisgIH07CisKKyAgdHJlZW1hcC5wYWRkaW5nT3V0ZXIg
PSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyB0cmVlbWFwLnBh
ZGRpbmdUb3AoeCkucGFkZGluZ1JpZ2h0KHgpLnBhZGRpbmdCb3R0b20oeCkucGFkZGluZ0xlZnQo
eCkgOiB0cmVlbWFwLnBhZGRpbmdUb3AoKTsKKyAgfTsKKworICB0cmVlbWFwLnBhZGRpbmdUb3Ag
PSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocGFkZGluZ1Rv
cCA9IHR5cGVvZiB4ID09PSAiZnVuY3Rpb24iID8geCA6IGNvbnN0YW50JDkoK3gpLCB0cmVlbWFw
KSA6IHBhZGRpbmdUb3A7CisgIH07CisKKyAgdHJlZW1hcC5wYWRkaW5nUmlnaHQgPSBmdW5jdGlv
bih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocGFkZGluZ1JpZ2h0ID0gdHlw
ZW9mIHggPT09ICJmdW5jdGlvbiIgPyB4IDogY29uc3RhbnQkOSgreCksIHRyZWVtYXApIDogcGFk
ZGluZ1JpZ2h0OworICB9OworCisgIHRyZWVtYXAucGFkZGluZ0JvdHRvbSA9IGZ1bmN0aW9uKHgp
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRkaW5nQm90dG9tID0gdHlwZW9m
IHggPT09ICJmdW5jdGlvbiIgPyB4IDogY29uc3RhbnQkOSgreCksIHRyZWVtYXApIDogcGFkZGlu
Z0JvdHRvbTsKKyAgfTsKKworICB0cmVlbWFwLnBhZGRpbmdMZWZ0ID0gZnVuY3Rpb24oeCkgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhZGRpbmdMZWZ0ID0gdHlwZW9mIHggPT09
ICJmdW5jdGlvbiIgPyB4IDogY29uc3RhbnQkOSgreCksIHRyZWVtYXApIDogcGFkZGluZ0xlZnQ7
CisgIH07CisKKyAgcmV0dXJuIHRyZWVtYXA7Cit9CisKK2Z1bmN0aW9uIGJpbmFyeShwYXJlbnQs
IHgwLCB5MCwgeDEsIHkxKSB7CisgIHZhciBub2RlcyA9IHBhcmVudC5jaGlsZHJlbiwKKyAgICAg
IGksIG4gPSBub2Rlcy5sZW5ndGgsCisgICAgICBzdW0sIHN1bXMgPSBuZXcgQXJyYXkobiArIDEp
OworCisgIGZvciAoc3Vtc1swXSA9IHN1bSA9IGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgc3Vt
c1tpICsgMV0gPSBzdW0gKz0gbm9kZXNbaV0udmFsdWU7CisgIH0KKworICBwYXJ0aXRpb24oMCwg
biwgcGFyZW50LnZhbHVlLCB4MCwgeTAsIHgxLCB5MSk7CisKKyAgZnVuY3Rpb24gcGFydGl0aW9u
KGksIGosIHZhbHVlLCB4MCwgeTAsIHgxLCB5MSkgeworICAgIGlmIChpID49IGogLSAxKSB7Cisg
ICAgICB2YXIgbm9kZSA9IG5vZGVzW2ldOworICAgICAgbm9kZS54MCA9IHgwLCBub2RlLnkwID0g
eTA7CisgICAgICBub2RlLngxID0geDEsIG5vZGUueTEgPSB5MTsKKyAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICB2YXIgdmFsdWVPZmZzZXQgPSBzdW1zW2ldLAorICAgICAgICB2YWx1ZVRhcmdl
dCA9ICh2YWx1ZSAvIDIpICsgdmFsdWVPZmZzZXQsCisgICAgICAgIGsgPSBpICsgMSwKKyAgICAg
ICAgaGkgPSBqIC0gMTsKKworICAgIHdoaWxlIChrIDwgaGkpIHsKKyAgICAgIHZhciBtaWQgPSBr
ICsgaGkgPj4+IDE7CisgICAgICBpZiAoc3Vtc1ttaWRdIDwgdmFsdWVUYXJnZXQpIGsgPSBtaWQg
KyAxOworICAgICAgZWxzZSBoaSA9IG1pZDsKKyAgICB9CisKKyAgICBpZiAoKHZhbHVlVGFyZ2V0
IC0gc3Vtc1trIC0gMV0pIDwgKHN1bXNba10gLSB2YWx1ZVRhcmdldCkgJiYgaSArIDEgPCBrKSAt
LWs7CisKKyAgICB2YXIgdmFsdWVMZWZ0ID0gc3Vtc1trXSAtIHZhbHVlT2Zmc2V0LAorICAgICAg
ICB2YWx1ZVJpZ2h0ID0gdmFsdWUgLSB2YWx1ZUxlZnQ7CisKKyAgICBpZiAoKHgxIC0geDApID4g
KHkxIC0geTApKSB7CisgICAgICB2YXIgeGsgPSAoeDAgKiB2YWx1ZVJpZ2h0ICsgeDEgKiB2YWx1
ZUxlZnQpIC8gdmFsdWU7CisgICAgICBwYXJ0aXRpb24oaSwgaywgdmFsdWVMZWZ0LCB4MCwgeTAs
IHhrLCB5MSk7CisgICAgICBwYXJ0aXRpb24oaywgaiwgdmFsdWVSaWdodCwgeGssIHkwLCB4MSwg
eTEpOworICAgIH0gZWxzZSB7CisgICAgICB2YXIgeWsgPSAoeTAgKiB2YWx1ZVJpZ2h0ICsgeTEg
KiB2YWx1ZUxlZnQpIC8gdmFsdWU7CisgICAgICBwYXJ0aXRpb24oaSwgaywgdmFsdWVMZWZ0LCB4
MCwgeTAsIHgxLCB5ayk7CisgICAgICBwYXJ0aXRpb24oaywgaiwgdmFsdWVSaWdodCwgeDAsIHlr
LCB4MSwgeTEpOworICAgIH0KKyAgfQorfQorCitmdW5jdGlvbiBzbGljZURpY2UocGFyZW50LCB4
MCwgeTAsIHgxLCB5MSkgeworICAocGFyZW50LmRlcHRoICYgMSA/IHRyZWVtYXBTbGljZSA6IHRy
ZWVtYXBEaWNlKShwYXJlbnQsIHgwLCB5MCwgeDEsIHkxKTsKK30KKwordmFyIHJlc3F1YXJpZnkg
PSAoZnVuY3Rpb24gY3VzdG9tKHJhdGlvKSB7CisKKyAgZnVuY3Rpb24gcmVzcXVhcmlmeShwYXJl
bnQsIHgwLCB5MCwgeDEsIHkxKSB7CisgICAgaWYgKChyb3dzID0gcGFyZW50Ll9zcXVhcmlmeSkg
JiYgKHJvd3MucmF0aW8gPT09IHJhdGlvKSkgeworICAgICAgdmFyIHJvd3MsCisgICAgICAgICAg
cm93LAorICAgICAgICAgIG5vZGVzLAorICAgICAgICAgIGksCisgICAgICAgICAgaiA9IC0xLAor
ICAgICAgICAgIG4sCisgICAgICAgICAgbSA9IHJvd3MubGVuZ3RoLAorICAgICAgICAgIHZhbHVl
ID0gcGFyZW50LnZhbHVlOworCisgICAgICB3aGlsZSAoKytqIDwgbSkgeworICAgICAgICByb3cg
PSByb3dzW2pdLCBub2RlcyA9IHJvdy5jaGlsZHJlbjsKKyAgICAgICAgZm9yIChpID0gcm93LnZh
bHVlID0gMCwgbiA9IG5vZGVzLmxlbmd0aDsgaSA8IG47ICsraSkgcm93LnZhbHVlICs9IG5vZGVz
W2ldLnZhbHVlOworICAgICAgICBpZiAocm93LmRpY2UpIHRyZWVtYXBEaWNlKHJvdywgeDAsIHkw
LCB4MSwgeTAgKz0gKHkxIC0geTApICogcm93LnZhbHVlIC8gdmFsdWUpOworICAgICAgICBlbHNl
IHRyZWVtYXBTbGljZShyb3csIHgwLCB5MCwgeDAgKz0gKHgxIC0geDApICogcm93LnZhbHVlIC8g
dmFsdWUsIHkxKTsKKyAgICAgICAgdmFsdWUgLT0gcm93LnZhbHVlOworICAgICAgfQorICAgIH0g
ZWxzZSB7CisgICAgICBwYXJlbnQuX3NxdWFyaWZ5ID0gcm93cyA9IHNxdWFyaWZ5UmF0aW8ocmF0
aW8sIHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpOworICAgICAgcm93cy5yYXRpbyA9IHJhdGlvOwor
ICAgIH0KKyAgfQorCisgIHJlc3F1YXJpZnkucmF0aW8gPSBmdW5jdGlvbih4KSB7CisgICAgcmV0
dXJuIGN1c3RvbSgoeCA9ICt4KSA+IDEgPyB4IDogMSk7CisgIH07CisKKyAgcmV0dXJuIHJlc3F1
YXJpZnk7Cit9KShwaGkpOworCitmdW5jdGlvbiBhcmVhJDIocG9seWdvbikgeworICB2YXIgaSA9
IC0xLAorICAgICAgbiA9IHBvbHlnb24ubGVuZ3RoLAorICAgICAgYSwKKyAgICAgIGIgPSBwb2x5
Z29uW24gLSAxXSwKKyAgICAgIGFyZWEgPSAwOworCisgIHdoaWxlICgrK2kgPCBuKSB7CisgICAg
YSA9IGI7CisgICAgYiA9IHBvbHlnb25baV07CisgICAgYXJlYSArPSBhWzFdICogYlswXSAtIGFb
MF0gKiBiWzFdOworICB9CisKKyAgcmV0dXJuIGFyZWEgLyAyOworfQorCitmdW5jdGlvbiBjZW50
cm9pZCQxKHBvbHlnb24pIHsKKyAgdmFyIGkgPSAtMSwKKyAgICAgIG4gPSBwb2x5Z29uLmxlbmd0
aCwKKyAgICAgIHggPSAwLAorICAgICAgeSA9IDAsCisgICAgICBhLAorICAgICAgYiA9IHBvbHln
b25bbiAtIDFdLAorICAgICAgYywKKyAgICAgIGsgPSAwOworCisgIHdoaWxlICgrK2kgPCBuKSB7
CisgICAgYSA9IGI7CisgICAgYiA9IHBvbHlnb25baV07CisgICAgayArPSBjID0gYVswXSAqIGJb
MV0gLSBiWzBdICogYVsxXTsKKyAgICB4ICs9IChhWzBdICsgYlswXSkgKiBjOworICAgIHkgKz0g
KGFbMV0gKyBiWzFdKSAqIGM7CisgIH0KKworICByZXR1cm4gayAqPSAzLCBbeCAvIGssIHkgLyBr
XTsKK30KKworLy8gUmV0dXJucyB0aGUgMkQgY3Jvc3MgcHJvZHVjdCBvZiBBQiBhbmQgQUMgdmVj
dG9ycywgaS5lLiwgdGhlIHotY29tcG9uZW50IG9mCisvLyB0aGUgM0QgY3Jvc3MgcHJvZHVjdCBp
biBhIHF1YWRyYW50IEkgQ2FydGVzaWFuIGNvb3JkaW5hdGUgc3lzdGVtICgreCBpcworLy8gcmln
aHQsICt5IGlzIHVwKS4gUmV0dXJucyBhIHBvc2l0aXZlIHZhbHVlIGlmIEFCQyBpcyBjb3VudGVy
LWNsb2Nrd2lzZSwKKy8vIG5lZ2F0aXZlIGlmIGNsb2Nrd2lzZSwgYW5kIHplcm8gaWYgdGhlIHBv
aW50cyBhcmUgY29sbGluZWFyLgorZnVuY3Rpb24gY3Jvc3MkMShhLCBiLCBjKSB7CisgIHJldHVy
biAoYlswXSAtIGFbMF0pICogKGNbMV0gLSBhWzFdKSAtIChiWzFdIC0gYVsxXSkgKiAoY1swXSAt
IGFbMF0pOworfQorCitmdW5jdGlvbiBsZXhpY29ncmFwaGljT3JkZXIoYSwgYikgeworICByZXR1
cm4gYVswXSAtIGJbMF0gfHwgYVsxXSAtIGJbMV07Cit9CisKKy8vIENvbXB1dGVzIHRoZSB1cHBl
ciBjb252ZXggaHVsbCBwZXIgdGhlIG1vbm90b25lIGNoYWluIGFsZ29yaXRobS4KKy8vIEFzc3Vt
ZXMgcG9pbnRzLmxlbmd0aCA+PSAzLCBpcyBzb3J0ZWQgYnkgeCwgdW5pcXVlIGluIHkuCisvLyBS
ZXR1cm5zIGFuIGFycmF5IG9mIGluZGljZXMgaW50byBwb2ludHMgaW4gbGVmdC10by1yaWdodCBv
cmRlci4KK2Z1bmN0aW9uIGNvbXB1dGVVcHBlckh1bGxJbmRleGVzKHBvaW50cykgeworICB2YXIg
biA9IHBvaW50cy5sZW5ndGgsCisgICAgICBpbmRleGVzID0gWzAsIDFdLAorICAgICAgc2l6ZSA9
IDI7CisKKyAgZm9yICh2YXIgaSA9IDI7IGkgPCBuOyArK2kpIHsKKyAgICB3aGlsZSAoc2l6ZSA+
IDEgJiYgY3Jvc3MkMShwb2ludHNbaW5kZXhlc1tzaXplIC0gMl1dLCBwb2ludHNbaW5kZXhlc1tz
aXplIC0gMV1dLCBwb2ludHNbaV0pIDw9IDApIC0tc2l6ZTsKKyAgICBpbmRleGVzW3NpemUrK10g
PSBpOworICB9CisKKyAgcmV0dXJuIGluZGV4ZXMuc2xpY2UoMCwgc2l6ZSk7IC8vIHJlbW92ZSBw
b3BwZWQgcG9pbnRzCit9CisKK2Z1bmN0aW9uIGh1bGwocG9pbnRzKSB7CisgIGlmICgobiA9IHBv
aW50cy5sZW5ndGgpIDwgMykgcmV0dXJuIG51bGw7CisKKyAgdmFyIGksCisgICAgICBuLAorICAg
ICAgc29ydGVkUG9pbnRzID0gbmV3IEFycmF5KG4pLAorICAgICAgZmxpcHBlZFBvaW50cyA9IG5l
dyBBcnJheShuKTsKKworICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSBzb3J0ZWRQb2ludHNbaV0g
PSBbK3BvaW50c1tpXVswXSwgK3BvaW50c1tpXVsxXSwgaV07CisgIHNvcnRlZFBvaW50cy5zb3J0
KGxleGljb2dyYXBoaWNPcmRlcik7CisgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIGZsaXBwZWRQ
b2ludHNbaV0gPSBbc29ydGVkUG9pbnRzW2ldWzBdLCAtc29ydGVkUG9pbnRzW2ldWzFdXTsKKwor
ICB2YXIgdXBwZXJJbmRleGVzID0gY29tcHV0ZVVwcGVySHVsbEluZGV4ZXMoc29ydGVkUG9pbnRz
KSwKKyAgICAgIGxvd2VySW5kZXhlcyA9IGNvbXB1dGVVcHBlckh1bGxJbmRleGVzKGZsaXBwZWRQ
b2ludHMpOworCisgIC8vIENvbnN0cnVjdCB0aGUgaHVsbCBwb2x5Z29uLCByZW1vdmluZyBwb3Nz
aWJsZSBkdXBsaWNhdGUgZW5kcG9pbnRzLgorICB2YXIgc2tpcExlZnQgPSBsb3dlckluZGV4ZXNb
MF0gPT09IHVwcGVySW5kZXhlc1swXSwKKyAgICAgIHNraXBSaWdodCA9IGxvd2VySW5kZXhlc1ts
b3dlckluZGV4ZXMubGVuZ3RoIC0gMV0gPT09IHVwcGVySW5kZXhlc1t1cHBlckluZGV4ZXMubGVu
Z3RoIC0gMV0sCisgICAgICBodWxsID0gW107CisKKyAgLy8gQWRkIHVwcGVyIGh1bGwgaW4gcmln
aHQtdG8tbCBvcmRlci4KKyAgLy8gVGhlbiBhZGQgbG93ZXIgaHVsbCBpbiBsZWZ0LXRvLXJpZ2h0
IG9yZGVyLgorICBmb3IgKGkgPSB1cHBlckluZGV4ZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkp
IGh1bGwucHVzaChwb2ludHNbc29ydGVkUG9pbnRzW3VwcGVySW5kZXhlc1tpXV1bMl1dKTsKKyAg
Zm9yIChpID0gK3NraXBMZWZ0OyBpIDwgbG93ZXJJbmRleGVzLmxlbmd0aCAtIHNraXBSaWdodDsg
KytpKSBodWxsLnB1c2gocG9pbnRzW3NvcnRlZFBvaW50c1tsb3dlckluZGV4ZXNbaV1dWzJdXSk7
CisKKyAgcmV0dXJuIGh1bGw7Cit9CisKK2Z1bmN0aW9uIGNvbnRhaW5zJDIocG9seWdvbiwgcG9p
bnQpIHsKKyAgdmFyIG4gPSBwb2x5Z29uLmxlbmd0aCwKKyAgICAgIHAgPSBwb2x5Z29uW24gLSAx
XSwKKyAgICAgIHggPSBwb2ludFswXSwgeSA9IHBvaW50WzFdLAorICAgICAgeDAgPSBwWzBdLCB5
MCA9IHBbMV0sCisgICAgICB4MSwgeTEsCisgICAgICBpbnNpZGUgPSBmYWxzZTsKKworICBmb3Ig
KHZhciBpID0gMDsgaSA8IG47ICsraSkgeworICAgIHAgPSBwb2x5Z29uW2ldLCB4MSA9IHBbMF0s
IHkxID0gcFsxXTsKKyAgICBpZiAoKCh5MSA+IHkpICE9PSAoeTAgPiB5KSkgJiYgKHggPCAoeDAg
LSB4MSkgKiAoeSAtIHkxKSAvICh5MCAtIHkxKSArIHgxKSkgaW5zaWRlID0gIWluc2lkZTsKKyAg
ICB4MCA9IHgxLCB5MCA9IHkxOworICB9CisKKyAgcmV0dXJuIGluc2lkZTsKK30KKworZnVuY3Rp
b24gbGVuZ3RoJDIocG9seWdvbikgeworICB2YXIgaSA9IC0xLAorICAgICAgbiA9IHBvbHlnb24u
bGVuZ3RoLAorICAgICAgYiA9IHBvbHlnb25bbiAtIDFdLAorICAgICAgeGEsCisgICAgICB5YSwK
KyAgICAgIHhiID0gYlswXSwKKyAgICAgIHliID0gYlsxXSwKKyAgICAgIHBlcmltZXRlciA9IDA7
CisKKyAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICB4YSA9IHhiOworICAgIHlhID0geWI7CisgICAg
YiA9IHBvbHlnb25baV07CisgICAgeGIgPSBiWzBdOworICAgIHliID0gYlsxXTsKKyAgICB4YSAt
PSB4YjsKKyAgICB5YSAtPSB5YjsKKyAgICBwZXJpbWV0ZXIgKz0gTWF0aC5zcXJ0KHhhICogeGEg
KyB5YSAqIHlhKTsKKyAgfQorCisgIHJldHVybiBwZXJpbWV0ZXI7Cit9CisKK2Z1bmN0aW9uIGRl
ZmF1bHRTb3VyY2UkMSgpIHsKKyAgcmV0dXJuIE1hdGgucmFuZG9tKCk7Cit9CisKK3ZhciB1bmlm
b3JtID0gKGZ1bmN0aW9uIHNvdXJjZVJhbmRvbVVuaWZvcm0oc291cmNlKSB7CisgIGZ1bmN0aW9u
IHJhbmRvbVVuaWZvcm0obWluLCBtYXgpIHsKKyAgICBtaW4gPSBtaW4gPT0gbnVsbCA/IDAgOiAr
bWluOworICAgIG1heCA9IG1heCA9PSBudWxsID8gMSA6ICttYXg7CisgICAgaWYgKGFyZ3VtZW50
cy5sZW5ndGggPT09IDEpIG1heCA9IG1pbiwgbWluID0gMDsKKyAgICBlbHNlIG1heCAtPSBtaW47
CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAgcmV0dXJuIHNvdXJjZSgpICogbWF4ICsg
bWluOworICAgIH07CisgIH0KKworICByYW5kb21Vbmlmb3JtLnNvdXJjZSA9IHNvdXJjZVJhbmRv
bVVuaWZvcm07CisKKyAgcmV0dXJuIHJhbmRvbVVuaWZvcm07Cit9KShkZWZhdWx0U291cmNlJDEp
OworCit2YXIgbm9ybWFsID0gKGZ1bmN0aW9uIHNvdXJjZVJhbmRvbU5vcm1hbChzb3VyY2UpIHsK
KyAgZnVuY3Rpb24gcmFuZG9tTm9ybWFsKG11LCBzaWdtYSkgeworICAgIHZhciB4LCByOworICAg
IG11ID0gbXUgPT0gbnVsbCA/IDAgOiArbXU7CisgICAgc2lnbWEgPSBzaWdtYSA9PSBudWxsID8g
MSA6ICtzaWdtYTsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICB2YXIgeTsKKworICAg
ICAgLy8gSWYgYXZhaWxhYmxlLCB1c2UgdGhlIHNlY29uZCBwcmV2aW91c2x5LWdlbmVyYXRlZCB1
bmlmb3JtIHJhbmRvbS4KKyAgICAgIGlmICh4ICE9IG51bGwpIHkgPSB4LCB4ID0gbnVsbDsKKwor
ICAgICAgLy8gT3RoZXJ3aXNlLCBnZW5lcmF0ZSBhIG5ldyB4IGFuZCB5LgorICAgICAgZWxzZSBk
byB7CisgICAgICAgIHggPSBzb3VyY2UoKSAqIDIgLSAxOworICAgICAgICB5ID0gc291cmNlKCkg
KiAyIC0gMTsKKyAgICAgICAgciA9IHggKiB4ICsgeSAqIHk7CisgICAgICB9IHdoaWxlICghciB8
fCByID4gMSk7CisKKyAgICAgIHJldHVybiBtdSArIHNpZ21hICogeSAqIE1hdGguc3FydCgtMiAq
IE1hdGgubG9nKHIpIC8gcik7CisgICAgfTsKKyAgfQorCisgIHJhbmRvbU5vcm1hbC5zb3VyY2Ug
PSBzb3VyY2VSYW5kb21Ob3JtYWw7CisKKyAgcmV0dXJuIHJhbmRvbU5vcm1hbDsKK30pKGRlZmF1
bHRTb3VyY2UkMSk7CisKK3ZhciBsb2dOb3JtYWwgPSAoZnVuY3Rpb24gc291cmNlUmFuZG9tTG9n
Tm9ybWFsKHNvdXJjZSkgeworICBmdW5jdGlvbiByYW5kb21Mb2dOb3JtYWwoKSB7CisgICAgdmFy
IHJhbmRvbU5vcm1hbCA9IG5vcm1hbC5zb3VyY2Uoc291cmNlKS5hcHBseSh0aGlzLCBhcmd1bWVu
dHMpOworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgIHJldHVybiBNYXRoLmV4cChyYW5k
b21Ob3JtYWwoKSk7CisgICAgfTsKKyAgfQorCisgIHJhbmRvbUxvZ05vcm1hbC5zb3VyY2UgPSBz
b3VyY2VSYW5kb21Mb2dOb3JtYWw7CisKKyAgcmV0dXJuIHJhbmRvbUxvZ05vcm1hbDsKK30pKGRl
ZmF1bHRTb3VyY2UkMSk7CisKK3ZhciBpcndpbkhhbGwgPSAoZnVuY3Rpb24gc291cmNlUmFuZG9t
SXJ3aW5IYWxsKHNvdXJjZSkgeworICBmdW5jdGlvbiByYW5kb21JcndpbkhhbGwobikgeworICAg
IHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgIGZvciAodmFyIHN1bSA9IDAsIGkgPSAwOyBpIDwg
bjsgKytpKSBzdW0gKz0gc291cmNlKCk7CisgICAgICByZXR1cm4gc3VtOworICAgIH07CisgIH0K
KworICByYW5kb21JcndpbkhhbGwuc291cmNlID0gc291cmNlUmFuZG9tSXJ3aW5IYWxsOworCisg
IHJldHVybiByYW5kb21JcndpbkhhbGw7Cit9KShkZWZhdWx0U291cmNlJDEpOworCit2YXIgYmF0
ZXMgPSAoZnVuY3Rpb24gc291cmNlUmFuZG9tQmF0ZXMoc291cmNlKSB7CisgIGZ1bmN0aW9uIHJh
bmRvbUJhdGVzKG4pIHsKKyAgICB2YXIgcmFuZG9tSXJ3aW5IYWxsID0gaXJ3aW5IYWxsLnNvdXJj
ZShzb3VyY2UpKG4pOworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgIHJldHVybiByYW5k
b21JcndpbkhhbGwoKSAvIG47CisgICAgfTsKKyAgfQorCisgIHJhbmRvbUJhdGVzLnNvdXJjZSA9
IHNvdXJjZVJhbmRvbUJhdGVzOworCisgIHJldHVybiByYW5kb21CYXRlczsKK30pKGRlZmF1bHRT
b3VyY2UkMSk7CisKK3ZhciBleHBvbmVudGlhbCQxID0gKGZ1bmN0aW9uIHNvdXJjZVJhbmRvbUV4
cG9uZW50aWFsKHNvdXJjZSkgeworICBmdW5jdGlvbiByYW5kb21FeHBvbmVudGlhbChsYW1iZGEp
IHsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICByZXR1cm4gLU1hdGgubG9nKDEgLSBz
b3VyY2UoKSkgLyBsYW1iZGE7CisgICAgfTsKKyAgfQorCisgIHJhbmRvbUV4cG9uZW50aWFsLnNv
dXJjZSA9IHNvdXJjZVJhbmRvbUV4cG9uZW50aWFsOworCisgIHJldHVybiByYW5kb21FeHBvbmVu
dGlhbDsKK30pKGRlZmF1bHRTb3VyY2UkMSk7CisKK2Z1bmN0aW9uIGluaXRSYW5nZShkb21haW4s
IHJhbmdlKSB7CisgIHN3aXRjaCAoYXJndW1lbnRzLmxlbmd0aCkgeworICAgIGNhc2UgMDogYnJl
YWs7CisgICAgY2FzZSAxOiB0aGlzLnJhbmdlKGRvbWFpbik7IGJyZWFrOworICAgIGRlZmF1bHQ6
IHRoaXMucmFuZ2UocmFuZ2UpLmRvbWFpbihkb21haW4pOyBicmVhazsKKyAgfQorICByZXR1cm4g
dGhpczsKK30KKworZnVuY3Rpb24gaW5pdEludGVycG9sYXRvcihkb21haW4sIGludGVycG9sYXRv
cikgeworICBzd2l0Y2ggKGFyZ3VtZW50cy5sZW5ndGgpIHsKKyAgICBjYXNlIDA6IGJyZWFrOwor
ICAgIGNhc2UgMTogdGhpcy5pbnRlcnBvbGF0b3IoZG9tYWluKTsgYnJlYWs7CisgICAgZGVmYXVs
dDogdGhpcy5pbnRlcnBvbGF0b3IoaW50ZXJwb2xhdG9yKS5kb21haW4oZG9tYWluKTsgYnJlYWs7
CisgIH0KKyAgcmV0dXJuIHRoaXM7Cit9CisKK3ZhciBhcnJheSQzID0gQXJyYXkucHJvdG90eXBl
OworCit2YXIgbWFwJDMgPSBhcnJheSQzLm1hcDsKK3ZhciBzbGljZSQ1ID0gYXJyYXkkMy5zbGlj
ZTsKKwordmFyIGltcGxpY2l0ID0ge25hbWU6ICJpbXBsaWNpdCJ9OworCitmdW5jdGlvbiBvcmRp
bmFsKCkgeworICB2YXIgaW5kZXggPSBtYXAkMSgpLAorICAgICAgZG9tYWluID0gW10sCisgICAg
ICByYW5nZSA9IFtdLAorICAgICAgdW5rbm93biA9IGltcGxpY2l0OworCisgIGZ1bmN0aW9uIHNj
YWxlKGQpIHsKKyAgICB2YXIga2V5ID0gZCArICIiLCBpID0gaW5kZXguZ2V0KGtleSk7CisgICAg
aWYgKCFpKSB7CisgICAgICBpZiAodW5rbm93biAhPT0gaW1wbGljaXQpIHJldHVybiB1bmtub3du
OworICAgICAgaW5kZXguc2V0KGtleSwgaSA9IGRvbWFpbi5wdXNoKGQpKTsKKyAgICB9CisgICAg
cmV0dXJuIHJhbmdlWyhpIC0gMSkgJSByYW5nZS5sZW5ndGhdOworICB9CisKKyAgc2NhbGUuZG9t
YWluID0gZnVuY3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIGRv
bWFpbi5zbGljZSgpOworICAgIGRvbWFpbiA9IFtdLCBpbmRleCA9IG1hcCQxKCk7CisgICAgdmFy
IGkgPSAtMSwgbiA9IF8ubGVuZ3RoLCBkLCBrZXk7CisgICAgd2hpbGUgKCsraSA8IG4pIGlmICgh
aW5kZXguaGFzKGtleSA9IChkID0gX1tpXSkgKyAiIikpIGluZGV4LnNldChrZXksIGRvbWFpbi5w
dXNoKGQpKTsKKyAgICByZXR1cm4gc2NhbGU7CisgIH07CisKKyAgc2NhbGUucmFuZ2UgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocmFuZ2UgPSBzbGljZSQ1
LmNhbGwoXyksIHNjYWxlKSA6IHJhbmdlLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUudW5rbm93
biA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh1bmtub3du
ID0gXywgc2NhbGUpIDogdW5rbm93bjsKKyAgfTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24o
KSB7CisgICAgcmV0dXJuIG9yZGluYWwoZG9tYWluLCByYW5nZSkudW5rbm93bih1bmtub3duKTsK
KyAgfTsKKworICBpbml0UmFuZ2UuYXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7CisKKyAgcmV0dXJu
IHNjYWxlOworfQorCitmdW5jdGlvbiBiYW5kKCkgeworICB2YXIgc2NhbGUgPSBvcmRpbmFsKCku
dW5rbm93bih1bmRlZmluZWQpLAorICAgICAgZG9tYWluID0gc2NhbGUuZG9tYWluLAorICAgICAg
b3JkaW5hbFJhbmdlID0gc2NhbGUucmFuZ2UsCisgICAgICByYW5nZSA9IFswLCAxXSwKKyAgICAg
IHN0ZXAsCisgICAgICBiYW5kd2lkdGgsCisgICAgICByb3VuZCA9IGZhbHNlLAorICAgICAgcGFk
ZGluZ0lubmVyID0gMCwKKyAgICAgIHBhZGRpbmdPdXRlciA9IDAsCisgICAgICBhbGlnbiA9IDAu
NTsKKworICBkZWxldGUgc2NhbGUudW5rbm93bjsKKworICBmdW5jdGlvbiByZXNjYWxlKCkgewor
ICAgIHZhciBuID0gZG9tYWluKCkubGVuZ3RoLAorICAgICAgICByZXZlcnNlID0gcmFuZ2VbMV0g
PCByYW5nZVswXSwKKyAgICAgICAgc3RhcnQgPSByYW5nZVtyZXZlcnNlIC0gMF0sCisgICAgICAg
IHN0b3AgPSByYW5nZVsxIC0gcmV2ZXJzZV07CisgICAgc3RlcCA9IChzdG9wIC0gc3RhcnQpIC8g
TWF0aC5tYXgoMSwgbiAtIHBhZGRpbmdJbm5lciArIHBhZGRpbmdPdXRlciAqIDIpOworICAgIGlm
IChyb3VuZCkgc3RlcCA9IE1hdGguZmxvb3Ioc3RlcCk7CisgICAgc3RhcnQgKz0gKHN0b3AgLSBz
dGFydCAtIHN0ZXAgKiAobiAtIHBhZGRpbmdJbm5lcikpICogYWxpZ247CisgICAgYmFuZHdpZHRo
ID0gc3RlcCAqICgxIC0gcGFkZGluZ0lubmVyKTsKKyAgICBpZiAocm91bmQpIHN0YXJ0ID0gTWF0
aC5yb3VuZChzdGFydCksIGJhbmR3aWR0aCA9IE1hdGgucm91bmQoYmFuZHdpZHRoKTsKKyAgICB2
YXIgdmFsdWVzID0gc2VxdWVuY2UobikubWFwKGZ1bmN0aW9uKGkpIHsgcmV0dXJuIHN0YXJ0ICsg
c3RlcCAqIGk7IH0pOworICAgIHJldHVybiBvcmRpbmFsUmFuZ2UocmV2ZXJzZSA/IHZhbHVlcy5y
ZXZlcnNlKCkgOiB2YWx1ZXMpOworICB9CisKKyAgc2NhbGUuZG9tYWluID0gZnVuY3Rpb24oXykg
eworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGRvbWFpbihfKSwgcmVzY2FsZSgpKSA6
IGRvbWFpbigpOworICB9OworCisgIHNjYWxlLnJhbmdlID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJhbmdlID0gWytfWzBdLCArX1sxXV0sIHJlc2NhbGUo
KSkgOiByYW5nZS5zbGljZSgpOworICB9OworCisgIHNjYWxlLnJhbmdlUm91bmQgPSBmdW5jdGlv
bihfKSB7CisgICAgcmV0dXJuIHJhbmdlID0gWytfWzBdLCArX1sxXV0sIHJvdW5kID0gdHJ1ZSwg
cmVzY2FsZSgpOworICB9OworCisgIHNjYWxlLmJhbmR3aWR0aCA9IGZ1bmN0aW9uKCkgeworICAg
IHJldHVybiBiYW5kd2lkdGg7CisgIH07CisKKyAgc2NhbGUuc3RlcCA9IGZ1bmN0aW9uKCkgewor
ICAgIHJldHVybiBzdGVwOworICB9OworCisgIHNjYWxlLnJvdW5kID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJvdW5kID0gISFfLCByZXNjYWxlKCkpIDog
cm91bmQ7CisgIH07CisKKyAgc2NhbGUucGFkZGluZyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRkaW5nSW5uZXIgPSBNYXRoLm1pbigxLCBwYWRkaW5n
T3V0ZXIgPSArXyksIHJlc2NhbGUoKSkgOiBwYWRkaW5nSW5uZXI7CisgIH07CisKKyAgc2NhbGUu
cGFkZGluZ0lubmVyID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKHBhZGRpbmdJbm5lciA9IE1hdGgubWluKDEsIF8pLCByZXNjYWxlKCkpIDogcGFkZGluZ0lu
bmVyOworICB9OworCisgIHNjYWxlLnBhZGRpbmdPdXRlciA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRkaW5nT3V0ZXIgPSArXywgcmVzY2FsZSgpKSA6
IHBhZGRpbmdPdXRlcjsKKyAgfTsKKworICBzY2FsZS5hbGlnbiA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChhbGlnbiA9IE1hdGgubWF4KDAsIE1hdGgubWlu
KDEsIF8pKSwgcmVzY2FsZSgpKSA6IGFsaWduOworICB9OworCisgIHNjYWxlLmNvcHkgPSBmdW5j
dGlvbigpIHsKKyAgICByZXR1cm4gYmFuZChkb21haW4oKSwgcmFuZ2UpCisgICAgICAgIC5yb3Vu
ZChyb3VuZCkKKyAgICAgICAgLnBhZGRpbmdJbm5lcihwYWRkaW5nSW5uZXIpCisgICAgICAgIC5w
YWRkaW5nT3V0ZXIocGFkZGluZ091dGVyKQorICAgICAgICAuYWxpZ24oYWxpZ24pOworICB9Owor
CisgIHJldHVybiBpbml0UmFuZ2UuYXBwbHkocmVzY2FsZSgpLCBhcmd1bWVudHMpOworfQorCitm
dW5jdGlvbiBwb2ludGlzaChzY2FsZSkgeworICB2YXIgY29weSA9IHNjYWxlLmNvcHk7CisKKyAg
c2NhbGUucGFkZGluZyA9IHNjYWxlLnBhZGRpbmdPdXRlcjsKKyAgZGVsZXRlIHNjYWxlLnBhZGRp
bmdJbm5lcjsKKyAgZGVsZXRlIHNjYWxlLnBhZGRpbmdPdXRlcjsKKworICBzY2FsZS5jb3B5ID0g
ZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHBvaW50aXNoKGNvcHkoKSk7CisgIH07CisKKyAgcmV0
dXJuIHNjYWxlOworfQorCitmdW5jdGlvbiBwb2ludCQxKCkgeworICByZXR1cm4gcG9pbnRpc2go
YmFuZC5hcHBseShudWxsLCBhcmd1bWVudHMpLnBhZGRpbmdJbm5lcigxKSk7Cit9CisKK2Z1bmN0
aW9uIGNvbnN0YW50JGEoeCkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHg7
CisgIH07Cit9CisKK2Z1bmN0aW9uIG51bWJlciQyKHgpIHsKKyAgcmV0dXJuICt4OworfQorCit2
YXIgdW5pdCA9IFswLCAxXTsKKworZnVuY3Rpb24gaWRlbnRpdHkkNih4KSB7CisgIHJldHVybiB4
OworfQorCitmdW5jdGlvbiBub3JtYWxpemUoYSwgYikgeworICByZXR1cm4gKGIgLT0gKGEgPSAr
YSkpCisgICAgICA/IGZ1bmN0aW9uKHgpIHsgcmV0dXJuICh4IC0gYSkgLyBiOyB9CisgICAgICA6
IGNvbnN0YW50JGEoaXNOYU4oYikgPyBOYU4gOiAwLjUpOworfQorCitmdW5jdGlvbiBjbGFtcGVy
KGRvbWFpbikgeworICB2YXIgYSA9IGRvbWFpblswXSwgYiA9IGRvbWFpbltkb21haW4ubGVuZ3Ro
IC0gMV0sIHQ7CisgIGlmIChhID4gYikgdCA9IGEsIGEgPSBiLCBiID0gdDsKKyAgcmV0dXJuIGZ1
bmN0aW9uKHgpIHsgcmV0dXJuIE1hdGgubWF4KGEsIE1hdGgubWluKGIsIHgpKTsgfTsKK30KKwor
Ly8gbm9ybWFsaXplKGEsIGIpKHgpIHRha2VzIGEgZG9tYWluIHZhbHVlIHggaW4gW2EsYl0gYW5k
IHJldHVybnMgdGhlIGNvcnJlc3BvbmRpbmcgcGFyYW1ldGVyIHQgaW4gWzAsMV0uCisvLyBpbnRl
cnBvbGF0ZShhLCBiKSh0KSB0YWtlcyBhIHBhcmFtZXRlciB0IGluIFswLDFdIGFuZCByZXR1cm5z
IHRoZSBjb3JyZXNwb25kaW5nIHJhbmdlIHZhbHVlIHggaW4gW2EsYl0uCitmdW5jdGlvbiBiaW1h
cChkb21haW4sIHJhbmdlLCBpbnRlcnBvbGF0ZSkgeworICB2YXIgZDAgPSBkb21haW5bMF0sIGQx
ID0gZG9tYWluWzFdLCByMCA9IHJhbmdlWzBdLCByMSA9IHJhbmdlWzFdOworICBpZiAoZDEgPCBk
MCkgZDAgPSBub3JtYWxpemUoZDEsIGQwKSwgcjAgPSBpbnRlcnBvbGF0ZShyMSwgcjApOworICBl
bHNlIGQwID0gbm9ybWFsaXplKGQwLCBkMSksIHIwID0gaW50ZXJwb2xhdGUocjAsIHIxKTsKKyAg
cmV0dXJuIGZ1bmN0aW9uKHgpIHsgcmV0dXJuIHIwKGQwKHgpKTsgfTsKK30KKworZnVuY3Rpb24g
cG9seW1hcChkb21haW4sIHJhbmdlLCBpbnRlcnBvbGF0ZSkgeworICB2YXIgaiA9IE1hdGgubWlu
KGRvbWFpbi5sZW5ndGgsIHJhbmdlLmxlbmd0aCkgLSAxLAorICAgICAgZCA9IG5ldyBBcnJheShq
KSwKKyAgICAgIHIgPSBuZXcgQXJyYXkoaiksCisgICAgICBpID0gLTE7CisKKyAgLy8gUmV2ZXJz
ZSBkZXNjZW5kaW5nIGRvbWFpbnMuCisgIGlmIChkb21haW5bal0gPCBkb21haW5bMF0pIHsKKyAg
ICBkb21haW4gPSBkb21haW4uc2xpY2UoKS5yZXZlcnNlKCk7CisgICAgcmFuZ2UgPSByYW5nZS5z
bGljZSgpLnJldmVyc2UoKTsKKyAgfQorCisgIHdoaWxlICgrK2kgPCBqKSB7CisgICAgZFtpXSA9
IG5vcm1hbGl6ZShkb21haW5baV0sIGRvbWFpbltpICsgMV0pOworICAgIHJbaV0gPSBpbnRlcnBv
bGF0ZShyYW5nZVtpXSwgcmFuZ2VbaSArIDFdKTsKKyAgfQorCisgIHJldHVybiBmdW5jdGlvbih4
KSB7CisgICAgdmFyIGkgPSBiaXNlY3RSaWdodChkb21haW4sIHgsIDEsIGopIC0gMTsKKyAgICBy
ZXR1cm4gcltpXShkW2ldKHgpKTsKKyAgfTsKK30KKworZnVuY3Rpb24gY29weShzb3VyY2UsIHRh
cmdldCkgeworICByZXR1cm4gdGFyZ2V0CisgICAgICAuZG9tYWluKHNvdXJjZS5kb21haW4oKSkK
KyAgICAgIC5yYW5nZShzb3VyY2UucmFuZ2UoKSkKKyAgICAgIC5pbnRlcnBvbGF0ZShzb3VyY2Uu
aW50ZXJwb2xhdGUoKSkKKyAgICAgIC5jbGFtcChzb3VyY2UuY2xhbXAoKSkKKyAgICAgIC51bmtu
b3duKHNvdXJjZS51bmtub3duKCkpOworfQorCitmdW5jdGlvbiB0cmFuc2Zvcm1lciQxKCkgewor
ICB2YXIgZG9tYWluID0gdW5pdCwKKyAgICAgIHJhbmdlID0gdW5pdCwKKyAgICAgIGludGVycG9s
YXRlID0gaW50ZXJwb2xhdGVWYWx1ZSwKKyAgICAgIHRyYW5zZm9ybSwKKyAgICAgIHVudHJhbnNm
b3JtLAorICAgICAgdW5rbm93biwKKyAgICAgIGNsYW1wID0gaWRlbnRpdHkkNiwKKyAgICAgIHBp
ZWNld2lzZSwKKyAgICAgIG91dHB1dCwKKyAgICAgIGlucHV0OworCisgIGZ1bmN0aW9uIHJlc2Nh
bGUoKSB7CisgICAgcGllY2V3aXNlID0gTWF0aC5taW4oZG9tYWluLmxlbmd0aCwgcmFuZ2UubGVu
Z3RoKSA+IDIgPyBwb2x5bWFwIDogYmltYXA7CisgICAgb3V0cHV0ID0gaW5wdXQgPSBudWxsOwor
ICAgIHJldHVybiBzY2FsZTsKKyAgfQorCisgIGZ1bmN0aW9uIHNjYWxlKHgpIHsKKyAgICByZXR1
cm4gaXNOYU4oeCA9ICt4KSA/IHVua25vd24gOiAob3V0cHV0IHx8IChvdXRwdXQgPSBwaWVjZXdp
c2UoZG9tYWluLm1hcCh0cmFuc2Zvcm0pLCByYW5nZSwgaW50ZXJwb2xhdGUpKSkodHJhbnNmb3Jt
KGNsYW1wKHgpKSk7CisgIH0KKworICBzY2FsZS5pbnZlcnQgPSBmdW5jdGlvbih5KSB7CisgICAg
cmV0dXJuIGNsYW1wKHVudHJhbnNmb3JtKChpbnB1dCB8fCAoaW5wdXQgPSBwaWVjZXdpc2UocmFu
Z2UsIGRvbWFpbi5tYXAodHJhbnNmb3JtKSwgaW50ZXJwb2xhdGVOdW1iZXIpKSkoeSkpKTsKKyAg
fTsKKworICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAoZG9tYWluID0gbWFwJDMuY2FsbChfLCBudW1iZXIkMiksIGNsYW1wID09PSBp
ZGVudGl0eSQ2IHx8IChjbGFtcCA9IGNsYW1wZXIoZG9tYWluKSksIHJlc2NhbGUoKSkgOiBkb21h
aW4uc2xpY2UoKTsKKyAgfTsKKworICBzY2FsZS5yYW5nZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChyYW5nZSA9IHNsaWNlJDUuY2FsbChfKSwgcmVzY2Fs
ZSgpKSA6IHJhbmdlLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUucmFuZ2VSb3VuZCA9IGZ1bmN0
aW9uKF8pIHsKKyAgICByZXR1cm4gcmFuZ2UgPSBzbGljZSQ1LmNhbGwoXyksIGludGVycG9sYXRl
ID0gaW50ZXJwb2xhdGVSb3VuZCwgcmVzY2FsZSgpOworICB9OworCisgIHNjYWxlLmNsYW1wID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGNsYW1wID0gXyA/
IGNsYW1wZXIoZG9tYWluKSA6IGlkZW50aXR5JDYsIHNjYWxlKSA6IGNsYW1wICE9PSBpZGVudGl0
eSQ2OworICB9OworCisgIHNjYWxlLmludGVycG9sYXRlID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGludGVycG9sYXRlID0gXywgcmVzY2FsZSgpKSA6IGlu
dGVycG9sYXRlOworICB9OworCisgIHNjYWxlLnVua25vd24gPSBmdW5jdGlvbihfKSB7CisgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodW5rbm93biA9IF8sIHNjYWxlKSA6IHVua25vd247
CisgIH07CisKKyAgcmV0dXJuIGZ1bmN0aW9uKHQsIHUpIHsKKyAgICB0cmFuc2Zvcm0gPSB0LCB1
bnRyYW5zZm9ybSA9IHU7CisgICAgcmV0dXJuIHJlc2NhbGUoKTsKKyAgfTsKK30KKworZnVuY3Rp
b24gY29udGludW91cyh0cmFuc2Zvcm0sIHVudHJhbnNmb3JtKSB7CisgIHJldHVybiB0cmFuc2Zv
cm1lciQxKCkodHJhbnNmb3JtLCB1bnRyYW5zZm9ybSk7Cit9CisKK2Z1bmN0aW9uIHRpY2tGb3Jt
YXQoc3RhcnQsIHN0b3AsIGNvdW50LCBzcGVjaWZpZXIpIHsKKyAgdmFyIHN0ZXAgPSB0aWNrU3Rl
cChzdGFydCwgc3RvcCwgY291bnQpLAorICAgICAgcHJlY2lzaW9uOworICBzcGVjaWZpZXIgPSBm
b3JtYXRTcGVjaWZpZXIoc3BlY2lmaWVyID09IG51bGwgPyAiLGYiIDogc3BlY2lmaWVyKTsKKyAg
c3dpdGNoIChzcGVjaWZpZXIudHlwZSkgeworICAgIGNhc2UgInMiOiB7CisgICAgICB2YXIgdmFs
dWUgPSBNYXRoLm1heChNYXRoLmFicyhzdGFydCksIE1hdGguYWJzKHN0b3ApKTsKKyAgICAgIGlm
IChzcGVjaWZpZXIucHJlY2lzaW9uID09IG51bGwgJiYgIWlzTmFOKHByZWNpc2lvbiA9IHByZWNp
c2lvblByZWZpeChzdGVwLCB2YWx1ZSkpKSBzcGVjaWZpZXIucHJlY2lzaW9uID0gcHJlY2lzaW9u
OworICAgICAgcmV0dXJuIGV4cG9ydHMuZm9ybWF0UHJlZml4KHNwZWNpZmllciwgdmFsdWUpOwor
ICAgIH0KKyAgICBjYXNlICIiOgorICAgIGNhc2UgImUiOgorICAgIGNhc2UgImciOgorICAgIGNh
c2UgInAiOgorICAgIGNhc2UgInIiOiB7CisgICAgICBpZiAoc3BlY2lmaWVyLnByZWNpc2lvbiA9
PSBudWxsICYmICFpc05hTihwcmVjaXNpb24gPSBwcmVjaXNpb25Sb3VuZChzdGVwLCBNYXRoLm1h
eChNYXRoLmFicyhzdGFydCksIE1hdGguYWJzKHN0b3ApKSkpKSBzcGVjaWZpZXIucHJlY2lzaW9u
ID0gcHJlY2lzaW9uIC0gKHNwZWNpZmllci50eXBlID09PSAiZSIpOworICAgICAgYnJlYWs7Cisg
ICAgfQorICAgIGNhc2UgImYiOgorICAgIGNhc2UgIiUiOiB7CisgICAgICBpZiAoc3BlY2lmaWVy
LnByZWNpc2lvbiA9PSBudWxsICYmICFpc05hTihwcmVjaXNpb24gPSBwcmVjaXNpb25GaXhlZChz
dGVwKSkpIHNwZWNpZmllci5wcmVjaXNpb24gPSBwcmVjaXNpb24gLSAoc3BlY2lmaWVyLnR5cGUg
PT09ICIlIikgKiAyOworICAgICAgYnJlYWs7CisgICAgfQorICB9CisgIHJldHVybiBleHBvcnRz
LmZvcm1hdChzcGVjaWZpZXIpOworfQorCitmdW5jdGlvbiBsaW5lYXJpc2goc2NhbGUpIHsKKyAg
dmFyIGRvbWFpbiA9IHNjYWxlLmRvbWFpbjsKKworICBzY2FsZS50aWNrcyA9IGZ1bmN0aW9uKGNv
dW50KSB7CisgICAgdmFyIGQgPSBkb21haW4oKTsKKyAgICByZXR1cm4gdGlja3MoZFswXSwgZFtk
Lmxlbmd0aCAtIDFdLCBjb3VudCA9PSBudWxsID8gMTAgOiBjb3VudCk7CisgIH07CisKKyAgc2Nh
bGUudGlja0Zvcm1hdCA9IGZ1bmN0aW9uKGNvdW50LCBzcGVjaWZpZXIpIHsKKyAgICB2YXIgZCA9
IGRvbWFpbigpOworICAgIHJldHVybiB0aWNrRm9ybWF0KGRbMF0sIGRbZC5sZW5ndGggLSAxXSwg
Y291bnQgPT0gbnVsbCA/IDEwIDogY291bnQsIHNwZWNpZmllcik7CisgIH07CisKKyAgc2NhbGUu
bmljZSA9IGZ1bmN0aW9uKGNvdW50KSB7CisgICAgaWYgKGNvdW50ID09IG51bGwpIGNvdW50ID0g
MTA7CisKKyAgICB2YXIgZCA9IGRvbWFpbigpLAorICAgICAgICBpMCA9IDAsCisgICAgICAgIGkx
ID0gZC5sZW5ndGggLSAxLAorICAgICAgICBzdGFydCA9IGRbaTBdLAorICAgICAgICBzdG9wID0g
ZFtpMV0sCisgICAgICAgIHN0ZXA7CisKKyAgICBpZiAoc3RvcCA8IHN0YXJ0KSB7CisgICAgICBz
dGVwID0gc3RhcnQsIHN0YXJ0ID0gc3RvcCwgc3RvcCA9IHN0ZXA7CisgICAgICBzdGVwID0gaTAs
IGkwID0gaTEsIGkxID0gc3RlcDsKKyAgICB9CisKKyAgICBzdGVwID0gdGlja0luY3JlbWVudChz
dGFydCwgc3RvcCwgY291bnQpOworCisgICAgaWYgKHN0ZXAgPiAwKSB7CisgICAgICBzdGFydCA9
IE1hdGguZmxvb3Ioc3RhcnQgLyBzdGVwKSAqIHN0ZXA7CisgICAgICBzdG9wID0gTWF0aC5jZWls
KHN0b3AgLyBzdGVwKSAqIHN0ZXA7CisgICAgICBzdGVwID0gdGlja0luY3JlbWVudChzdGFydCwg
c3RvcCwgY291bnQpOworICAgIH0gZWxzZSBpZiAoc3RlcCA8IDApIHsKKyAgICAgIHN0YXJ0ID0g
TWF0aC5jZWlsKHN0YXJ0ICogc3RlcCkgLyBzdGVwOworICAgICAgc3RvcCA9IE1hdGguZmxvb3Io
c3RvcCAqIHN0ZXApIC8gc3RlcDsKKyAgICAgIHN0ZXAgPSB0aWNrSW5jcmVtZW50KHN0YXJ0LCBz
dG9wLCBjb3VudCk7CisgICAgfQorCisgICAgaWYgKHN0ZXAgPiAwKSB7CisgICAgICBkW2kwXSA9
IE1hdGguZmxvb3Ioc3RhcnQgLyBzdGVwKSAqIHN0ZXA7CisgICAgICBkW2kxXSA9IE1hdGguY2Vp
bChzdG9wIC8gc3RlcCkgKiBzdGVwOworICAgICAgZG9tYWluKGQpOworICAgIH0gZWxzZSBpZiAo
c3RlcCA8IDApIHsKKyAgICAgIGRbaTBdID0gTWF0aC5jZWlsKHN0YXJ0ICogc3RlcCkgLyBzdGVw
OworICAgICAgZFtpMV0gPSBNYXRoLmZsb29yKHN0b3AgKiBzdGVwKSAvIHN0ZXA7CisgICAgICBk
b21haW4oZCk7CisgICAgfQorCisgICAgcmV0dXJuIHNjYWxlOworICB9OworCisgIHJldHVybiBz
Y2FsZTsKK30KKworZnVuY3Rpb24gbGluZWFyJDIoKSB7CisgIHZhciBzY2FsZSA9IGNvbnRpbnVv
dXMoaWRlbnRpdHkkNiwgaWRlbnRpdHkkNik7CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkg
eworICAgIHJldHVybiBjb3B5KHNjYWxlLCBsaW5lYXIkMigpKTsKKyAgfTsKKworICBpbml0UmFu
Z2UuYXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7CisKKyAgcmV0dXJuIGxpbmVhcmlzaChzY2FsZSk7
Cit9CisKK2Z1bmN0aW9uIGlkZW50aXR5JDcoZG9tYWluKSB7CisgIHZhciB1bmtub3duOworCisg
IGZ1bmN0aW9uIHNjYWxlKHgpIHsKKyAgICByZXR1cm4gaXNOYU4oeCA9ICt4KSA/IHVua25vd24g
OiB4OworICB9CisKKyAgc2NhbGUuaW52ZXJ0ID0gc2NhbGU7CisKKyAgc2NhbGUuZG9tYWluID0g
c2NhbGUucmFuZ2UgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PyAoZG9tYWluID0gbWFwJDMuY2FsbChfLCBudW1iZXIkMiksIHNjYWxlKSA6IGRvbWFpbi5zbGlj
ZSgpOworICB9OworCisgIHNjYWxlLnVua25vd24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAodW5rbm93biA9IF8sIHNjYWxlKSA6IHVua25vd247CisgIH07
CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBpZGVudGl0eSQ3KGRv
bWFpbikudW5rbm93bih1bmtub3duKTsKKyAgfTsKKworICBkb21haW4gPSBhcmd1bWVudHMubGVu
Z3RoID8gbWFwJDMuY2FsbChkb21haW4sIG51bWJlciQyKSA6IFswLCAxXTsKKworICByZXR1cm4g
bGluZWFyaXNoKHNjYWxlKTsKK30KKworZnVuY3Rpb24gbmljZShkb21haW4sIGludGVydmFsKSB7
CisgIGRvbWFpbiA9IGRvbWFpbi5zbGljZSgpOworCisgIHZhciBpMCA9IDAsCisgICAgICBpMSA9
IGRvbWFpbi5sZW5ndGggLSAxLAorICAgICAgeDAgPSBkb21haW5baTBdLAorICAgICAgeDEgPSBk
b21haW5baTFdLAorICAgICAgdDsKKworICBpZiAoeDEgPCB4MCkgeworICAgIHQgPSBpMCwgaTAg
PSBpMSwgaTEgPSB0OworICAgIHQgPSB4MCwgeDAgPSB4MSwgeDEgPSB0OworICB9CisKKyAgZG9t
YWluW2kwXSA9IGludGVydmFsLmZsb29yKHgwKTsKKyAgZG9tYWluW2kxXSA9IGludGVydmFsLmNl
aWwoeDEpOworICByZXR1cm4gZG9tYWluOworfQorCitmdW5jdGlvbiB0cmFuc2Zvcm1Mb2coeCkg
eworICByZXR1cm4gTWF0aC5sb2coeCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zZm9ybUV4cCh4KSB7
CisgIHJldHVybiBNYXRoLmV4cCh4KTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3JtTG9nbih4KSB7
CisgIHJldHVybiAtTWF0aC5sb2coLXgpOworfQorCitmdW5jdGlvbiB0cmFuc2Zvcm1FeHBuKHgp
IHsKKyAgcmV0dXJuIC1NYXRoLmV4cCgteCk7Cit9CisKK2Z1bmN0aW9uIHBvdzEwKHgpIHsKKyAg
cmV0dXJuIGlzRmluaXRlKHgpID8gKygiMWUiICsgeCkgOiB4IDwgMCA/IDAgOiB4OworfQorCitm
dW5jdGlvbiBwb3dwKGJhc2UpIHsKKyAgcmV0dXJuIGJhc2UgPT09IDEwID8gcG93MTAKKyAgICAg
IDogYmFzZSA9PT0gTWF0aC5FID8gTWF0aC5leHAKKyAgICAgIDogZnVuY3Rpb24oeCkgeyByZXR1
cm4gTWF0aC5wb3coYmFzZSwgeCk7IH07Cit9CisKK2Z1bmN0aW9uIGxvZ3AoYmFzZSkgeworICBy
ZXR1cm4gYmFzZSA9PT0gTWF0aC5FID8gTWF0aC5sb2cKKyAgICAgIDogYmFzZSA9PT0gMTAgJiYg
TWF0aC5sb2cxMAorICAgICAgfHwgYmFzZSA9PT0gMiAmJiBNYXRoLmxvZzIKKyAgICAgIHx8IChi
YXNlID0gTWF0aC5sb2coYmFzZSksIGZ1bmN0aW9uKHgpIHsgcmV0dXJuIE1hdGgubG9nKHgpIC8g
YmFzZTsgfSk7Cit9CisKK2Z1bmN0aW9uIHJlZmxlY3QoZikgeworICByZXR1cm4gZnVuY3Rpb24o
eCkgeworICAgIHJldHVybiAtZigteCk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGxvZ2dpc2godHJh
bnNmb3JtKSB7CisgIHZhciBzY2FsZSA9IHRyYW5zZm9ybSh0cmFuc2Zvcm1Mb2csIHRyYW5zZm9y
bUV4cCksCisgICAgICBkb21haW4gPSBzY2FsZS5kb21haW4sCisgICAgICBiYXNlID0gMTAsCisg
ICAgICBsb2dzLAorICAgICAgcG93czsKKworICBmdW5jdGlvbiByZXNjYWxlKCkgeworICAgIGxv
Z3MgPSBsb2dwKGJhc2UpLCBwb3dzID0gcG93cChiYXNlKTsKKyAgICBpZiAoZG9tYWluKClbMF0g
PCAwKSB7CisgICAgICBsb2dzID0gcmVmbGVjdChsb2dzKSwgcG93cyA9IHJlZmxlY3QocG93cyk7
CisgICAgICB0cmFuc2Zvcm0odHJhbnNmb3JtTG9nbiwgdHJhbnNmb3JtRXhwbik7CisgICAgfSBl
bHNlIHsKKyAgICAgIHRyYW5zZm9ybSh0cmFuc2Zvcm1Mb2csIHRyYW5zZm9ybUV4cCk7CisgICAg
fQorICAgIHJldHVybiBzY2FsZTsKKyAgfQorCisgIHNjYWxlLmJhc2UgPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoYmFzZSA9ICtfLCByZXNjYWxlKCkpIDog
YmFzZTsKKyAgfTsKKworICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAoZG9tYWluKF8pLCByZXNjYWxlKCkpIDogZG9tYWluKCk7Cisg
IH07CisKKyAgc2NhbGUudGlja3MgPSBmdW5jdGlvbihjb3VudCkgeworICAgIHZhciBkID0gZG9t
YWluKCksCisgICAgICAgIHUgPSBkWzBdLAorICAgICAgICB2ID0gZFtkLmxlbmd0aCAtIDFdLAor
ICAgICAgICByOworCisgICAgaWYgKHIgPSB2IDwgdSkgaSA9IHUsIHUgPSB2LCB2ID0gaTsKKwor
ICAgIHZhciBpID0gbG9ncyh1KSwKKyAgICAgICAgaiA9IGxvZ3ModiksCisgICAgICAgIHAsCisg
ICAgICAgIGssCisgICAgICAgIHQsCisgICAgICAgIG4gPSBjb3VudCA9PSBudWxsID8gMTAgOiAr
Y291bnQsCisgICAgICAgIHogPSBbXTsKKworICAgIGlmICghKGJhc2UgJSAxKSAmJiBqIC0gaSA8
IG4pIHsKKyAgICAgIGkgPSBNYXRoLnJvdW5kKGkpIC0gMSwgaiA9IE1hdGgucm91bmQoaikgKyAx
OworICAgICAgaWYgKHUgPiAwKSBmb3IgKDsgaSA8IGo7ICsraSkgeworICAgICAgICBmb3IgKGsg
PSAxLCBwID0gcG93cyhpKTsgayA8IGJhc2U7ICsraykgeworICAgICAgICAgIHQgPSBwICogazsK
KyAgICAgICAgICBpZiAodCA8IHUpIGNvbnRpbnVlOworICAgICAgICAgIGlmICh0ID4gdikgYnJl
YWs7CisgICAgICAgICAgei5wdXNoKHQpOworICAgICAgICB9CisgICAgICB9IGVsc2UgZm9yICg7
IGkgPCBqOyArK2kpIHsKKyAgICAgICAgZm9yIChrID0gYmFzZSAtIDEsIHAgPSBwb3dzKGkpOyBr
ID49IDE7IC0taykgeworICAgICAgICAgIHQgPSBwICogazsKKyAgICAgICAgICBpZiAodCA8IHUp
IGNvbnRpbnVlOworICAgICAgICAgIGlmICh0ID4gdikgYnJlYWs7CisgICAgICAgICAgei5wdXNo
KHQpOworICAgICAgICB9CisgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgIHogPSB0aWNrcyhp
LCBqLCBNYXRoLm1pbihqIC0gaSwgbikpLm1hcChwb3dzKTsKKyAgICB9CisKKyAgICByZXR1cm4g
ciA/IHoucmV2ZXJzZSgpIDogejsKKyAgfTsKKworICBzY2FsZS50aWNrRm9ybWF0ID0gZnVuY3Rp
b24oY291bnQsIHNwZWNpZmllcikgeworICAgIGlmIChzcGVjaWZpZXIgPT0gbnVsbCkgc3BlY2lm
aWVyID0gYmFzZSA9PT0gMTAgPyAiLjBlIiA6ICIsIjsKKyAgICBpZiAodHlwZW9mIHNwZWNpZmll
ciAhPT0gImZ1bmN0aW9uIikgc3BlY2lmaWVyID0gZXhwb3J0cy5mb3JtYXQoc3BlY2lmaWVyKTsK
KyAgICBpZiAoY291bnQgPT09IEluZmluaXR5KSByZXR1cm4gc3BlY2lmaWVyOworICAgIGlmIChj
b3VudCA9PSBudWxsKSBjb3VudCA9IDEwOworICAgIHZhciBrID0gTWF0aC5tYXgoMSwgYmFzZSAq
IGNvdW50IC8gc2NhbGUudGlja3MoKS5sZW5ndGgpOyAvLyBUT0RPIGZhc3QgZXN0aW1hdGU/Cisg
ICAgcmV0dXJuIGZ1bmN0aW9uKGQpIHsKKyAgICAgIHZhciBpID0gZCAvIHBvd3MoTWF0aC5yb3Vu
ZChsb2dzKGQpKSk7CisgICAgICBpZiAoaSAqIGJhc2UgPCBiYXNlIC0gMC41KSBpICo9IGJhc2U7
CisgICAgICByZXR1cm4gaSA8PSBrID8gc3BlY2lmaWVyKGQpIDogIiI7CisgICAgfTsKKyAgfTsK
KworICBzY2FsZS5uaWNlID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGRvbWFpbihuaWNlKGRv
bWFpbigpLCB7CisgICAgICBmbG9vcjogZnVuY3Rpb24oeCkgeyByZXR1cm4gcG93cyhNYXRoLmZs
b29yKGxvZ3MoeCkpKTsgfSwKKyAgICAgIGNlaWw6IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIHBvd3Mo
TWF0aC5jZWlsKGxvZ3MoeCkpKTsgfQorICAgIH0pKTsKKyAgfTsKKworICByZXR1cm4gc2NhbGU7
Cit9CisKK2Z1bmN0aW9uIGxvZyQxKCkgeworICB2YXIgc2NhbGUgPSBsb2dnaXNoKHRyYW5zZm9y
bWVyJDEoKSkuZG9tYWluKFsxLCAxMF0pOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsK
KyAgICByZXR1cm4gY29weShzY2FsZSwgbG9nJDEoKSkuYmFzZShzY2FsZS5iYXNlKCkpOworICB9
OworCisgIGluaXRSYW5nZS5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKKworICByZXR1cm4gc2Nh
bGU7Cit9CisKK2Z1bmN0aW9uIHRyYW5zZm9ybVN5bWxvZyhjKSB7CisgIHJldHVybiBmdW5jdGlv
bih4KSB7CisgICAgcmV0dXJuIE1hdGguc2lnbih4KSAqIE1hdGgubG9nMXAoTWF0aC5hYnMoeCAv
IGMpKTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3JtU3ltZXhwKGMpIHsKKyAgcmV0dXJu
IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gTWF0aC5zaWduKHgpICogTWF0aC5leHBtMShNYXRo
LmFicyh4KSkgKiBjOworICB9OworfQorCitmdW5jdGlvbiBzeW1sb2dpc2godHJhbnNmb3JtKSB7
CisgIHZhciBjID0gMSwgc2NhbGUgPSB0cmFuc2Zvcm0odHJhbnNmb3JtU3ltbG9nKGMpLCB0cmFu
c2Zvcm1TeW1leHAoYykpOworCisgIHNjYWxlLmNvbnN0YW50ID0gZnVuY3Rpb24oXykgeworICAg
IHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gdHJhbnNmb3JtKHRyYW5zZm9ybVN5bWxvZyhjID0g
K18pLCB0cmFuc2Zvcm1TeW1leHAoYykpIDogYzsKKyAgfTsKKworICByZXR1cm4gbGluZWFyaXNo
KHNjYWxlKTsKK30KKworZnVuY3Rpb24gc3ltbG9nKCkgeworICB2YXIgc2NhbGUgPSBzeW1sb2dp
c2godHJhbnNmb3JtZXIkMSgpKTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAg
cmV0dXJuIGNvcHkoc2NhbGUsIHN5bWxvZygpKS5jb25zdGFudChzY2FsZS5jb25zdGFudCgpKTsK
KyAgfTsKKworICByZXR1cm4gaW5pdFJhbmdlLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworfQor
CitmdW5jdGlvbiB0cmFuc2Zvcm1Qb3coZXhwb25lbnQpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHgp
IHsKKyAgICByZXR1cm4geCA8IDAgPyAtTWF0aC5wb3coLXgsIGV4cG9uZW50KSA6IE1hdGgucG93
KHgsIGV4cG9uZW50KTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3JtU3FydCh4KSB7Cisg
IHJldHVybiB4IDwgMCA/IC1NYXRoLnNxcnQoLXgpIDogTWF0aC5zcXJ0KHgpOworfQorCitmdW5j
dGlvbiB0cmFuc2Zvcm1TcXVhcmUoeCkgeworICByZXR1cm4geCA8IDAgPyAteCAqIHggOiB4ICog
eDsKK30KKworZnVuY3Rpb24gcG93aXNoKHRyYW5zZm9ybSkgeworICB2YXIgc2NhbGUgPSB0cmFu
c2Zvcm0oaWRlbnRpdHkkNiwgaWRlbnRpdHkkNiksCisgICAgICBleHBvbmVudCA9IDE7CisKKyAg
ZnVuY3Rpb24gcmVzY2FsZSgpIHsKKyAgICByZXR1cm4gZXhwb25lbnQgPT09IDEgPyB0cmFuc2Zv
cm0oaWRlbnRpdHkkNiwgaWRlbnRpdHkkNikKKyAgICAgICAgOiBleHBvbmVudCA9PT0gMC41ID8g
dHJhbnNmb3JtKHRyYW5zZm9ybVNxcnQsIHRyYW5zZm9ybVNxdWFyZSkKKyAgICAgICAgOiB0cmFu
c2Zvcm0odHJhbnNmb3JtUG93KGV4cG9uZW50KSwgdHJhbnNmb3JtUG93KDEgLyBleHBvbmVudCkp
OworICB9CisKKyAgc2NhbGUuZXhwb25lbnQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAoZXhwb25lbnQgPSArXywgcmVzY2FsZSgpKSA6IGV4cG9uZW50Owor
ICB9OworCisgIHJldHVybiBsaW5lYXJpc2goc2NhbGUpOworfQorCitmdW5jdGlvbiBwb3ckMSgp
IHsKKyAgdmFyIHNjYWxlID0gcG93aXNoKHRyYW5zZm9ybWVyJDEoKSk7CisKKyAgc2NhbGUuY29w
eSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBjb3B5KHNjYWxlLCBwb3ckMSgpKS5leHBvbmVu
dChzY2FsZS5leHBvbmVudCgpKTsKKyAgfTsKKworICBpbml0UmFuZ2UuYXBwbHkoc2NhbGUsIGFy
Z3VtZW50cyk7CisKKyAgcmV0dXJuIHNjYWxlOworfQorCitmdW5jdGlvbiBzcXJ0JDEoKSB7Cisg
IHJldHVybiBwb3ckMS5hcHBseShudWxsLCBhcmd1bWVudHMpLmV4cG9uZW50KDAuNSk7Cit9CisK
K2Z1bmN0aW9uIHF1YW50aWxlKCkgeworICB2YXIgZG9tYWluID0gW10sCisgICAgICByYW5nZSA9
IFtdLAorICAgICAgdGhyZXNob2xkcyA9IFtdLAorICAgICAgdW5rbm93bjsKKworICBmdW5jdGlv
biByZXNjYWxlKCkgeworICAgIHZhciBpID0gMCwgbiA9IE1hdGgubWF4KDEsIHJhbmdlLmxlbmd0
aCk7CisgICAgdGhyZXNob2xkcyA9IG5ldyBBcnJheShuIC0gMSk7CisgICAgd2hpbGUgKCsraSA8
IG4pIHRocmVzaG9sZHNbaSAtIDFdID0gdGhyZXNob2xkKGRvbWFpbiwgaSAvIG4pOworICAgIHJl
dHVybiBzY2FsZTsKKyAgfQorCisgIGZ1bmN0aW9uIHNjYWxlKHgpIHsKKyAgICByZXR1cm4gaXNO
YU4oeCA9ICt4KSA/IHVua25vd24gOiByYW5nZVtiaXNlY3RSaWdodCh0aHJlc2hvbGRzLCB4KV07
CisgIH0KKworICBzY2FsZS5pbnZlcnRFeHRlbnQgPSBmdW5jdGlvbih5KSB7CisgICAgdmFyIGkg
PSByYW5nZS5pbmRleE9mKHkpOworICAgIHJldHVybiBpIDwgMCA/IFtOYU4sIE5hTl0gOiBbCisg
ICAgICBpID4gMCA/IHRocmVzaG9sZHNbaSAtIDFdIDogZG9tYWluWzBdLAorICAgICAgaSA8IHRo
cmVzaG9sZHMubGVuZ3RoID8gdGhyZXNob2xkc1tpXSA6IGRvbWFpbltkb21haW4ubGVuZ3RoIC0g
MV0KKyAgICBdOworICB9OworCisgIHNjYWxlLmRvbWFpbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICBp
ZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBkb21haW4uc2xpY2UoKTsKKyAgICBkb21haW4g
PSBbXTsKKyAgICBmb3IgKHZhciBpID0gMCwgbiA9IF8ubGVuZ3RoLCBkOyBpIDwgbjsgKytpKSBp
ZiAoZCA9IF9baV0sIGQgIT0gbnVsbCAmJiAhaXNOYU4oZCA9ICtkKSkgZG9tYWluLnB1c2goZCk7
CisgICAgZG9tYWluLnNvcnQoYXNjZW5kaW5nKTsKKyAgICByZXR1cm4gcmVzY2FsZSgpOworICB9
OworCisgIHNjYWxlLnJhbmdlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMu
bGVuZ3RoID8gKHJhbmdlID0gc2xpY2UkNS5jYWxsKF8pLCByZXNjYWxlKCkpIDogcmFuZ2Uuc2xp
Y2UoKTsKKyAgfTsKKworICBzY2FsZS51bmtub3duID0gZnVuY3Rpb24oXykgeworICAgIHJldHVy
biBhcmd1bWVudHMubGVuZ3RoID8gKHVua25vd24gPSBfLCBzY2FsZSkgOiB1bmtub3duOworICB9
OworCisgIHNjYWxlLnF1YW50aWxlcyA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0aHJlc2hv
bGRzLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJl
dHVybiBxdWFudGlsZSgpCisgICAgICAgIC5kb21haW4oZG9tYWluKQorICAgICAgICAucmFuZ2Uo
cmFuZ2UpCisgICAgICAgIC51bmtub3duKHVua25vd24pOworICB9OworCisgIHJldHVybiBpbml0
UmFuZ2UuYXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIHF1YW50aXplJDEo
KSB7CisgIHZhciB4MCA9IDAsCisgICAgICB4MSA9IDEsCisgICAgICBuID0gMSwKKyAgICAgIGRv
bWFpbiA9IFswLjVdLAorICAgICAgcmFuZ2UgPSBbMCwgMV0sCisgICAgICB1bmtub3duOworCisg
IGZ1bmN0aW9uIHNjYWxlKHgpIHsKKyAgICByZXR1cm4geCA8PSB4ID8gcmFuZ2VbYmlzZWN0Umln
aHQoZG9tYWluLCB4LCAwLCBuKV0gOiB1bmtub3duOworICB9CisKKyAgZnVuY3Rpb24gcmVzY2Fs
ZSgpIHsKKyAgICB2YXIgaSA9IC0xOworICAgIGRvbWFpbiA9IG5ldyBBcnJheShuKTsKKyAgICB3
aGlsZSAoKytpIDwgbikgZG9tYWluW2ldID0gKChpICsgMSkgKiB4MSAtIChpIC0gbikgKiB4MCkg
LyAobiArIDEpOworICAgIHJldHVybiBzY2FsZTsKKyAgfQorCisgIHNjYWxlLmRvbWFpbiA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4MCA9ICtfWzBdLCB4
MSA9ICtfWzFdLCByZXNjYWxlKCkpIDogW3gwLCB4MV07CisgIH07CisKKyAgc2NhbGUucmFuZ2Ug
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAobiA9IChyYW5n
ZSA9IHNsaWNlJDUuY2FsbChfKSkubGVuZ3RoIC0gMSwgcmVzY2FsZSgpKSA6IHJhbmdlLnNsaWNl
KCk7CisgIH07CisKKyAgc2NhbGUuaW52ZXJ0RXh0ZW50ID0gZnVuY3Rpb24oeSkgeworICAgIHZh
ciBpID0gcmFuZ2UuaW5kZXhPZih5KTsKKyAgICByZXR1cm4gaSA8IDAgPyBbTmFOLCBOYU5dCisg
ICAgICAgIDogaSA8IDEgPyBbeDAsIGRvbWFpblswXV0KKyAgICAgICAgOiBpID49IG4gPyBbZG9t
YWluW24gLSAxXSwgeDFdCisgICAgICAgIDogW2RvbWFpbltpIC0gMV0sIGRvbWFpbltpXV07Cisg
IH07CisKKyAgc2NhbGUudW5rbm93biA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/ICh1bmtub3duID0gXywgc2NhbGUpIDogc2NhbGU7CisgIH07CisKKyAgc2Nh
bGUudGhyZXNob2xkcyA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBkb21haW4uc2xpY2UoKTsK
KyAgfTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHF1YW50aXpl
JDEoKQorICAgICAgICAuZG9tYWluKFt4MCwgeDFdKQorICAgICAgICAucmFuZ2UocmFuZ2UpCisg
ICAgICAgIC51bmtub3duKHVua25vd24pOworICB9OworCisgIHJldHVybiBpbml0UmFuZ2UuYXBw
bHkobGluZWFyaXNoKHNjYWxlKSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gdGhyZXNob2xk
JDEoKSB7CisgIHZhciBkb21haW4gPSBbMC41XSwKKyAgICAgIHJhbmdlID0gWzAsIDFdLAorICAg
ICAgdW5rbm93biwKKyAgICAgIG4gPSAxOworCisgIGZ1bmN0aW9uIHNjYWxlKHgpIHsKKyAgICBy
ZXR1cm4geCA8PSB4ID8gcmFuZ2VbYmlzZWN0UmlnaHQoZG9tYWluLCB4LCAwLCBuKV0gOiB1bmtu
b3duOworICB9CisKKyAgc2NhbGUuZG9tYWluID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKGRvbWFpbiA9IHNsaWNlJDUuY2FsbChfKSwgbiA9IE1hdGgubWlu
KGRvbWFpbi5sZW5ndGgsIHJhbmdlLmxlbmd0aCAtIDEpLCBzY2FsZSkgOiBkb21haW4uc2xpY2Uo
KTsKKyAgfTsKKworICBzY2FsZS5yYW5nZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJn
dW1lbnRzLmxlbmd0aCA/IChyYW5nZSA9IHNsaWNlJDUuY2FsbChfKSwgbiA9IE1hdGgubWluKGRv
bWFpbi5sZW5ndGgsIHJhbmdlLmxlbmd0aCAtIDEpLCBzY2FsZSkgOiByYW5nZS5zbGljZSgpOwor
ICB9OworCisgIHNjYWxlLmludmVydEV4dGVudCA9IGZ1bmN0aW9uKHkpIHsKKyAgICB2YXIgaSA9
IHJhbmdlLmluZGV4T2YoeSk7CisgICAgcmV0dXJuIFtkb21haW5baSAtIDFdLCBkb21haW5baV1d
OworICB9OworCisgIHNjYWxlLnVua25vd24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAodW5rbm93biA9IF8sIHNjYWxlKSA6IHVua25vd247CisgIH07CisK
KyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0aHJlc2hvbGQkMSgpCisg
ICAgICAgIC5kb21haW4oZG9tYWluKQorICAgICAgICAucmFuZ2UocmFuZ2UpCisgICAgICAgIC51
bmtub3duKHVua25vd24pOworICB9OworCisgIHJldHVybiBpbml0UmFuZ2UuYXBwbHkoc2NhbGUs
IGFyZ3VtZW50cyk7Cit9CisKK3ZhciB0MCQxID0gbmV3IERhdGUsCisgICAgdDEkMSA9IG5ldyBE
YXRlOworCitmdW5jdGlvbiBuZXdJbnRlcnZhbChmbG9vcmksIG9mZnNldGksIGNvdW50LCBmaWVs
ZCkgeworCisgIGZ1bmN0aW9uIGludGVydmFsKGRhdGUpIHsKKyAgICByZXR1cm4gZmxvb3JpKGRh
dGUgPSBhcmd1bWVudHMubGVuZ3RoID09PSAwID8gbmV3IERhdGUgOiBuZXcgRGF0ZSgrZGF0ZSkp
LCBkYXRlOworICB9CisKKyAgaW50ZXJ2YWwuZmxvb3IgPSBmdW5jdGlvbihkYXRlKSB7CisgICAg
cmV0dXJuIGZsb29yaShkYXRlID0gbmV3IERhdGUoK2RhdGUpKSwgZGF0ZTsKKyAgfTsKKworICBp
bnRlcnZhbC5jZWlsID0gZnVuY3Rpb24oZGF0ZSkgeworICAgIHJldHVybiBmbG9vcmkoZGF0ZSA9
IG5ldyBEYXRlKGRhdGUgLSAxKSksIG9mZnNldGkoZGF0ZSwgMSksIGZsb29yaShkYXRlKSwgZGF0
ZTsKKyAgfTsKKworICBpbnRlcnZhbC5yb3VuZCA9IGZ1bmN0aW9uKGRhdGUpIHsKKyAgICB2YXIg
ZDAgPSBpbnRlcnZhbChkYXRlKSwKKyAgICAgICAgZDEgPSBpbnRlcnZhbC5jZWlsKGRhdGUpOwor
ICAgIHJldHVybiBkYXRlIC0gZDAgPCBkMSAtIGRhdGUgPyBkMCA6IGQxOworICB9OworCisgIGlu
dGVydmFsLm9mZnNldCA9IGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgICByZXR1cm4gb2Zmc2V0
aShkYXRlID0gbmV3IERhdGUoK2RhdGUpLCBzdGVwID09IG51bGwgPyAxIDogTWF0aC5mbG9vcihz
dGVwKSksIGRhdGU7CisgIH07CisKKyAgaW50ZXJ2YWwucmFuZ2UgPSBmdW5jdGlvbihzdGFydCwg
c3RvcCwgc3RlcCkgeworICAgIHZhciByYW5nZSA9IFtdLCBwcmV2aW91czsKKyAgICBzdGFydCA9
IGludGVydmFsLmNlaWwoc3RhcnQpOworICAgIHN0ZXAgPSBzdGVwID09IG51bGwgPyAxIDogTWF0
aC5mbG9vcihzdGVwKTsKKyAgICBpZiAoIShzdGFydCA8IHN0b3ApIHx8ICEoc3RlcCA+IDApKSBy
ZXR1cm4gcmFuZ2U7IC8vIGFsc28gaGFuZGxlcyBJbnZhbGlkIERhdGUKKyAgICBkbyByYW5nZS5w
dXNoKHByZXZpb3VzID0gbmV3IERhdGUoK3N0YXJ0KSksIG9mZnNldGkoc3RhcnQsIHN0ZXApLCBm
bG9vcmkoc3RhcnQpOworICAgIHdoaWxlIChwcmV2aW91cyA8IHN0YXJ0ICYmIHN0YXJ0IDwgc3Rv
cCk7CisgICAgcmV0dXJuIHJhbmdlOworICB9OworCisgIGludGVydmFsLmZpbHRlciA9IGZ1bmN0
aW9uKHRlc3QpIHsKKyAgICByZXR1cm4gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICAg
ICAgaWYgKGRhdGUgPj0gZGF0ZSkgd2hpbGUgKGZsb29yaShkYXRlKSwgIXRlc3QoZGF0ZSkpIGRh
dGUuc2V0VGltZShkYXRlIC0gMSk7CisgICAgfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICAg
ICAgaWYgKGRhdGUgPj0gZGF0ZSkgeworICAgICAgICBpZiAoc3RlcCA8IDApIHdoaWxlICgrK3N0
ZXAgPD0gMCkgeworICAgICAgICAgIHdoaWxlIChvZmZzZXRpKGRhdGUsIC0xKSwgIXRlc3QoZGF0
ZSkpIHt9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tZW1wdHkKKyAgICAgICAgfSBlbHNlIHdo
aWxlICgtLXN0ZXAgPj0gMCkgeworICAgICAgICAgIHdoaWxlIChvZmZzZXRpKGRhdGUsICsxKSwg
IXRlc3QoZGF0ZSkpIHt9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tZW1wdHkKKyAgICAgICAg
fQorICAgICAgfQorICAgIH0pOworICB9OworCisgIGlmIChjb3VudCkgeworICAgIGludGVydmFs
LmNvdW50ID0gZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICAgICAgdDAkMS5zZXRUaW1lKCtzdGFy
dCksIHQxJDEuc2V0VGltZSgrZW5kKTsKKyAgICAgIGZsb29yaSh0MCQxKSwgZmxvb3JpKHQxJDEp
OworICAgICAgcmV0dXJuIE1hdGguZmxvb3IoY291bnQodDAkMSwgdDEkMSkpOworICAgIH07CisK
KyAgICBpbnRlcnZhbC5ldmVyeSA9IGZ1bmN0aW9uKHN0ZXApIHsKKyAgICAgIHN0ZXAgPSBNYXRo
LmZsb29yKHN0ZXApOworICAgICAgcmV0dXJuICFpc0Zpbml0ZShzdGVwKSB8fCAhKHN0ZXAgPiAw
KSA/IG51bGwKKyAgICAgICAgICA6ICEoc3RlcCA+IDEpID8gaW50ZXJ2YWwKKyAgICAgICAgICA6
IGludGVydmFsLmZpbHRlcihmaWVsZAorICAgICAgICAgICAgICA/IGZ1bmN0aW9uKGQpIHsgcmV0
dXJuIGZpZWxkKGQpICUgc3RlcCA9PT0gMDsgfQorICAgICAgICAgICAgICA6IGZ1bmN0aW9uKGQp
IHsgcmV0dXJuIGludGVydmFsLmNvdW50KDAsIGQpICUgc3RlcCA9PT0gMDsgfSk7CisgICAgfTsK
KyAgfQorCisgIHJldHVybiBpbnRlcnZhbDsKK30KKwordmFyIG1pbGxpc2Vjb25kID0gbmV3SW50
ZXJ2YWwoZnVuY3Rpb24oKSB7CisgIC8vIG5vb3AKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsK
KyAgZGF0ZS5zZXRUaW1lKCtkYXRlICsgc3RlcCk7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7
CisgIHJldHVybiBlbmQgLSBzdGFydDsKK30pOworCisvLyBBbiBvcHRpbWl6ZWQgaW1wbGVtZW50
YXRpb24gZm9yIHRoaXMgc2ltcGxlIGNhc2UuCittaWxsaXNlY29uZC5ldmVyeSA9IGZ1bmN0aW9u
KGspIHsKKyAgayA9IE1hdGguZmxvb3Ioayk7CisgIGlmICghaXNGaW5pdGUoaykgfHwgIShrID4g
MCkpIHJldHVybiBudWxsOworICBpZiAoIShrID4gMSkpIHJldHVybiBtaWxsaXNlY29uZDsKKyAg
cmV0dXJuIG5ld0ludGVydmFsKGZ1bmN0aW9uKGRhdGUpIHsKKyAgICBkYXRlLnNldFRpbWUoTWF0
aC5mbG9vcihkYXRlIC8gaykgKiBrKTsKKyAgfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICAg
IGRhdGUuc2V0VGltZSgrZGF0ZSArIHN0ZXAgKiBrKTsKKyAgfSwgZnVuY3Rpb24oc3RhcnQsIGVu
ZCkgeworICAgIHJldHVybiAoZW5kIC0gc3RhcnQpIC8gazsKKyAgfSk7Cit9OwordmFyIG1pbGxp
c2Vjb25kcyA9IG1pbGxpc2Vjb25kLnJhbmdlOworCit2YXIgZHVyYXRpb25TZWNvbmQgPSAxZTM7
Cit2YXIgZHVyYXRpb25NaW51dGUgPSA2ZTQ7Cit2YXIgZHVyYXRpb25Ib3VyID0gMzZlNTsKK3Zh
ciBkdXJhdGlvbkRheSA9IDg2NGU1OwordmFyIGR1cmF0aW9uV2VlayA9IDYwNDhlNTsKKwordmFy
IHNlY29uZCA9IG5ld0ludGVydmFsKGZ1bmN0aW9uKGRhdGUpIHsKKyAgZGF0ZS5zZXRUaW1lKGRh
dGUgLSBkYXRlLmdldE1pbGxpc2Vjb25kcygpKTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsK
KyAgZGF0ZS5zZXRUaW1lKCtkYXRlICsgc3RlcCAqIGR1cmF0aW9uU2Vjb25kKTsKK30sIGZ1bmN0
aW9uKHN0YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIChlbmQgLSBzdGFydCkgLyBkdXJhdGlvblNlY29u
ZDsKK30sIGZ1bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0VVRDU2Vjb25kcygpOwor
fSk7Cit2YXIgc2Vjb25kcyA9IHNlY29uZC5yYW5nZTsKKwordmFyIG1pbnV0ZSA9IG5ld0ludGVy
dmFsKGZ1bmN0aW9uKGRhdGUpIHsKKyAgZGF0ZS5zZXRUaW1lKGRhdGUgLSBkYXRlLmdldE1pbGxp
c2Vjb25kcygpIC0gZGF0ZS5nZXRTZWNvbmRzKCkgKiBkdXJhdGlvblNlY29uZCk7Cit9LCBmdW5j
dGlvbihkYXRlLCBzdGVwKSB7CisgIGRhdGUuc2V0VGltZSgrZGF0ZSArIHN0ZXAgKiBkdXJhdGlv
bk1pbnV0ZSk7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVybiAoZW5kIC0gc3Rh
cnQpIC8gZHVyYXRpb25NaW51dGU7Cit9LCBmdW5jdGlvbihkYXRlKSB7CisgIHJldHVybiBkYXRl
LmdldE1pbnV0ZXMoKTsKK30pOwordmFyIG1pbnV0ZXMgPSBtaW51dGUucmFuZ2U7CisKK3ZhciBo
b3VyID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRlLnNldFRpbWUoZGF0ZSAt
IGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCkgLSBkYXRlLmdldFNlY29uZHMoKSAqIGR1cmF0aW9uU2Vj
b25kIC0gZGF0ZS5nZXRNaW51dGVzKCkgKiBkdXJhdGlvbk1pbnV0ZSk7Cit9LCBmdW5jdGlvbihk
YXRlLCBzdGVwKSB7CisgIGRhdGUuc2V0VGltZSgrZGF0ZSArIHN0ZXAgKiBkdXJhdGlvbkhvdXIp
OworfSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICByZXR1cm4gKGVuZCAtIHN0YXJ0KSAvIGR1
cmF0aW9uSG91cjsKK30sIGZ1bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0SG91cnMo
KTsKK30pOwordmFyIGhvdXJzID0gaG91ci5yYW5nZTsKKwordmFyIGRheSA9IG5ld0ludGVydmFs
KGZ1bmN0aW9uKGRhdGUpIHsKKyAgZGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTsKK30sIGZ1bmN0
aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgc3RlcCk7
Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVybiAoZW5kIC0gc3RhcnQgLSAoZW5k
LmdldFRpbWV6b25lT2Zmc2V0KCkgLSBzdGFydC5nZXRUaW1lem9uZU9mZnNldCgpKSAqIGR1cmF0
aW9uTWludXRlKSAvIGR1cmF0aW9uRGF5OworfSwgZnVuY3Rpb24oZGF0ZSkgeworICByZXR1cm4g
ZGF0ZS5nZXREYXRlKCkgLSAxOworfSk7Cit2YXIgZGF5cyA9IGRheS5yYW5nZTsKKworZnVuY3Rp
b24gd2Vla2RheShpKSB7CisgIHJldHVybiBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7Cisg
ICAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpIC0gKGRhdGUuZ2V0RGF5KCkgKyA3IC0gaSkg
JSA3KTsKKyAgICBkYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApOworICB9LCBmdW5jdGlvbihkYXRl
LCBzdGVwKSB7CisgICAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgc3RlcCAqIDcpOwor
ICB9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgICAgcmV0dXJuIChlbmQgLSBzdGFydCAtIChl
bmQuZ2V0VGltZXpvbmVPZmZzZXQoKSAtIHN0YXJ0LmdldFRpbWV6b25lT2Zmc2V0KCkpICogZHVy
YXRpb25NaW51dGUpIC8gZHVyYXRpb25XZWVrOworICB9KTsKK30KKwordmFyIHN1bmRheSA9IHdl
ZWtkYXkoMCk7Cit2YXIgbW9uZGF5ID0gd2Vla2RheSgxKTsKK3ZhciB0dWVzZGF5ID0gd2Vla2Rh
eSgyKTsKK3ZhciB3ZWRuZXNkYXkgPSB3ZWVrZGF5KDMpOwordmFyIHRodXJzZGF5ID0gd2Vla2Rh
eSg0KTsKK3ZhciBmcmlkYXkgPSB3ZWVrZGF5KDUpOwordmFyIHNhdHVyZGF5ID0gd2Vla2RheSg2
KTsKKwordmFyIHN1bmRheXMgPSBzdW5kYXkucmFuZ2U7Cit2YXIgbW9uZGF5cyA9IG1vbmRheS5y
YW5nZTsKK3ZhciB0dWVzZGF5cyA9IHR1ZXNkYXkucmFuZ2U7Cit2YXIgd2VkbmVzZGF5cyA9IHdl
ZG5lc2RheS5yYW5nZTsKK3ZhciB0aHVyc2RheXMgPSB0aHVyc2RheS5yYW5nZTsKK3ZhciBmcmlk
YXlzID0gZnJpZGF5LnJhbmdlOwordmFyIHNhdHVyZGF5cyA9IHNhdHVyZGF5LnJhbmdlOworCit2
YXIgbW9udGggPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgIGRhdGUuc2V0RGF0ZSgx
KTsKKyAgZGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXAp
IHsKKyAgZGF0ZS5zZXRNb250aChkYXRlLmdldE1vbnRoKCkgKyBzdGVwKTsKK30sIGZ1bmN0aW9u
KHN0YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIGVuZC5nZXRNb250aCgpIC0gc3RhcnQuZ2V0TW9udGgo
KSArIChlbmQuZ2V0RnVsbFllYXIoKSAtIHN0YXJ0LmdldEZ1bGxZZWFyKCkpICogMTI7Cit9LCBm
dW5jdGlvbihkYXRlKSB7CisgIHJldHVybiBkYXRlLmdldE1vbnRoKCk7Cit9KTsKK3ZhciBtb250
aHMgPSBtb250aC5yYW5nZTsKKwordmFyIHllYXIgPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRl
KSB7CisgIGRhdGUuc2V0TW9udGgoMCwgMSk7CisgIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7
Cit9LCBmdW5jdGlvbihkYXRlLCBzdGVwKSB7CisgIGRhdGUuc2V0RnVsbFllYXIoZGF0ZS5nZXRG
dWxsWWVhcigpICsgc3RlcCk7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVybiBl
bmQuZ2V0RnVsbFllYXIoKSAtIHN0YXJ0LmdldEZ1bGxZZWFyKCk7Cit9LCBmdW5jdGlvbihkYXRl
KSB7CisgIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCk7Cit9KTsKKworLy8gQW4gb3B0aW1pemVk
IGltcGxlbWVudGF0aW9uIGZvciB0aGlzIHNpbXBsZSBjYXNlLgoreWVhci5ldmVyeSA9IGZ1bmN0
aW9uKGspIHsKKyAgcmV0dXJuICFpc0Zpbml0ZShrID0gTWF0aC5mbG9vcihrKSkgfHwgIShrID4g
MCkgPyBudWxsIDogbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICAgIGRhdGUuc2V0RnVs
bFllYXIoTWF0aC5mbG9vcihkYXRlLmdldEZ1bGxZZWFyKCkgLyBrKSAqIGspOworICAgIGRhdGUu
c2V0TW9udGgoMCwgMSk7CisgICAgZGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTsKKyAgfSwgZnVu
Y3Rpb24oZGF0ZSwgc3RlcCkgeworICAgIGRhdGUuc2V0RnVsbFllYXIoZGF0ZS5nZXRGdWxsWWVh
cigpICsgc3RlcCAqIGspOworICB9KTsKK307Cit2YXIgeWVhcnMgPSB5ZWFyLnJhbmdlOworCit2
YXIgdXRjTWludXRlID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRlLnNldFVU
Q1NlY29uZHMoMCwgMCk7Cit9LCBmdW5jdGlvbihkYXRlLCBzdGVwKSB7CisgIGRhdGUuc2V0VGlt
ZSgrZGF0ZSArIHN0ZXAgKiBkdXJhdGlvbk1pbnV0ZSk7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5k
KSB7CisgIHJldHVybiAoZW5kIC0gc3RhcnQpIC8gZHVyYXRpb25NaW51dGU7Cit9LCBmdW5jdGlv
bihkYXRlKSB7CisgIHJldHVybiBkYXRlLmdldFVUQ01pbnV0ZXMoKTsKK30pOwordmFyIHV0Y01p
bnV0ZXMgPSB1dGNNaW51dGUucmFuZ2U7CisKK3ZhciB1dGNIb3VyID0gbmV3SW50ZXJ2YWwoZnVu
Y3Rpb24oZGF0ZSkgeworICBkYXRlLnNldFVUQ01pbnV0ZXMoMCwgMCwgMCk7Cit9LCBmdW5jdGlv
bihkYXRlLCBzdGVwKSB7CisgIGRhdGUuc2V0VGltZSgrZGF0ZSArIHN0ZXAgKiBkdXJhdGlvbkhv
dXIpOworfSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICByZXR1cm4gKGVuZCAtIHN0YXJ0KSAv
IGR1cmF0aW9uSG91cjsKK30sIGZ1bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0VVRD
SG91cnMoKTsKK30pOwordmFyIHV0Y0hvdXJzID0gdXRjSG91ci5yYW5nZTsKKwordmFyIHV0Y0Rh
eSA9IG5ld0ludGVydmFsKGZ1bmN0aW9uKGRhdGUpIHsKKyAgZGF0ZS5zZXRVVENIb3VycygwLCAw
LCAwLCAwKTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRVVENEYXRlKGRh
dGUuZ2V0VVRDRGF0ZSgpICsgc3RlcCk7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJl
dHVybiAoZW5kIC0gc3RhcnQpIC8gZHVyYXRpb25EYXk7Cit9LCBmdW5jdGlvbihkYXRlKSB7Cisg
IHJldHVybiBkYXRlLmdldFVUQ0RhdGUoKSAtIDE7Cit9KTsKK3ZhciB1dGNEYXlzID0gdXRjRGF5
LnJhbmdlOworCitmdW5jdGlvbiB1dGNXZWVrZGF5KGkpIHsKKyAgcmV0dXJuIG5ld0ludGVydmFs
KGZ1bmN0aW9uKGRhdGUpIHsKKyAgICBkYXRlLnNldFVUQ0RhdGUoZGF0ZS5nZXRVVENEYXRlKCkg
LSAoZGF0ZS5nZXRVVENEYXkoKSArIDcgLSBpKSAlIDcpOworICAgIGRhdGUuc2V0VVRDSG91cnMo
MCwgMCwgMCwgMCk7CisgIH0sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgICBkYXRlLnNldFVU
Q0RhdGUoZGF0ZS5nZXRVVENEYXRlKCkgKyBzdGVwICogNyk7CisgIH0sIGZ1bmN0aW9uKHN0YXJ0
LCBlbmQpIHsKKyAgICByZXR1cm4gKGVuZCAtIHN0YXJ0KSAvIGR1cmF0aW9uV2VlazsKKyAgfSk7
Cit9CisKK3ZhciB1dGNTdW5kYXkgPSB1dGNXZWVrZGF5KDApOwordmFyIHV0Y01vbmRheSA9IHV0
Y1dlZWtkYXkoMSk7Cit2YXIgdXRjVHVlc2RheSA9IHV0Y1dlZWtkYXkoMik7Cit2YXIgdXRjV2Vk
bmVzZGF5ID0gdXRjV2Vla2RheSgzKTsKK3ZhciB1dGNUaHVyc2RheSA9IHV0Y1dlZWtkYXkoNCk7
Cit2YXIgdXRjRnJpZGF5ID0gdXRjV2Vla2RheSg1KTsKK3ZhciB1dGNTYXR1cmRheSA9IHV0Y1dl
ZWtkYXkoNik7CisKK3ZhciB1dGNTdW5kYXlzID0gdXRjU3VuZGF5LnJhbmdlOwordmFyIHV0Y01v
bmRheXMgPSB1dGNNb25kYXkucmFuZ2U7Cit2YXIgdXRjVHVlc2RheXMgPSB1dGNUdWVzZGF5LnJh
bmdlOwordmFyIHV0Y1dlZG5lc2RheXMgPSB1dGNXZWRuZXNkYXkucmFuZ2U7Cit2YXIgdXRjVGh1
cnNkYXlzID0gdXRjVGh1cnNkYXkucmFuZ2U7Cit2YXIgdXRjRnJpZGF5cyA9IHV0Y0ZyaWRheS5y
YW5nZTsKK3ZhciB1dGNTYXR1cmRheXMgPSB1dGNTYXR1cmRheS5yYW5nZTsKKwordmFyIHV0Y01v
bnRoID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRlLnNldFVUQ0RhdGUoMSk7
CisgIGRhdGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7Cit9LCBmdW5jdGlvbihkYXRlLCBzdGVw
KSB7CisgIGRhdGUuc2V0VVRDTW9udGgoZGF0ZS5nZXRVVENNb250aCgpICsgc3RlcCk7Cit9LCBm
dW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVybiBlbmQuZ2V0VVRDTW9udGgoKSAtIHN0YXJ0
LmdldFVUQ01vbnRoKCkgKyAoZW5kLmdldFVUQ0Z1bGxZZWFyKCkgLSBzdGFydC5nZXRVVENGdWxs
WWVhcigpKSAqIDEyOworfSwgZnVuY3Rpb24oZGF0ZSkgeworICByZXR1cm4gZGF0ZS5nZXRVVENN
b250aCgpOworfSk7Cit2YXIgdXRjTW9udGhzID0gdXRjTW9udGgucmFuZ2U7CisKK3ZhciB1dGNZ
ZWFyID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRlLnNldFVUQ01vbnRoKDAs
IDEpOworICBkYXRlLnNldFVUQ0hvdXJzKDAsIDAsIDAsIDApOworfSwgZnVuY3Rpb24oZGF0ZSwg
c3RlcCkgeworICBkYXRlLnNldFVUQ0Z1bGxZZWFyKGRhdGUuZ2V0VVRDRnVsbFllYXIoKSArIHN0
ZXApOworfSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICByZXR1cm4gZW5kLmdldFVUQ0Z1bGxZ
ZWFyKCkgLSBzdGFydC5nZXRVVENGdWxsWWVhcigpOworfSwgZnVuY3Rpb24oZGF0ZSkgeworICBy
ZXR1cm4gZGF0ZS5nZXRVVENGdWxsWWVhcigpOworfSk7CisKKy8vIEFuIG9wdGltaXplZCBpbXBs
ZW1lbnRhdGlvbiBmb3IgdGhpcyBzaW1wbGUgY2FzZS4KK3V0Y1llYXIuZXZlcnkgPSBmdW5jdGlv
bihrKSB7CisgIHJldHVybiAhaXNGaW5pdGUoayA9IE1hdGguZmxvb3IoaykpIHx8ICEoayA+IDAp
ID8gbnVsbCA6IG5ld0ludGVydmFsKGZ1bmN0aW9uKGRhdGUpIHsKKyAgICBkYXRlLnNldFVUQ0Z1
bGxZZWFyKE1hdGguZmxvb3IoZGF0ZS5nZXRVVENGdWxsWWVhcigpIC8gaykgKiBrKTsKKyAgICBk
YXRlLnNldFVUQ01vbnRoKDAsIDEpOworICAgIGRhdGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7
CisgIH0sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgICBkYXRlLnNldFVUQ0Z1bGxZZWFyKGRh
dGUuZ2V0VVRDRnVsbFllYXIoKSArIHN0ZXAgKiBrKTsKKyAgfSk7Cit9OwordmFyIHV0Y1llYXJz
ID0gdXRjWWVhci5yYW5nZTsKKworZnVuY3Rpb24gbG9jYWxEYXRlKGQpIHsKKyAgaWYgKDAgPD0g
ZC55ICYmIGQueSA8IDEwMCkgeworICAgIHZhciBkYXRlID0gbmV3IERhdGUoLTEsIGQubSwgZC5k
LCBkLkgsIGQuTSwgZC5TLCBkLkwpOworICAgIGRhdGUuc2V0RnVsbFllYXIoZC55KTsKKyAgICBy
ZXR1cm4gZGF0ZTsKKyAgfQorICByZXR1cm4gbmV3IERhdGUoZC55LCBkLm0sIGQuZCwgZC5ILCBk
Lk0sIGQuUywgZC5MKTsKK30KKworZnVuY3Rpb24gdXRjRGF0ZShkKSB7CisgIGlmICgwIDw9IGQu
eSAmJiBkLnkgPCAxMDApIHsKKyAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKERhdGUuVVRDKC0xLCBk
Lm0sIGQuZCwgZC5ILCBkLk0sIGQuUywgZC5MKSk7CisgICAgZGF0ZS5zZXRVVENGdWxsWWVhcihk
LnkpOworICAgIHJldHVybiBkYXRlOworICB9CisgIHJldHVybiBuZXcgRGF0ZShEYXRlLlVUQyhk
LnksIGQubSwgZC5kLCBkLkgsIGQuTSwgZC5TLCBkLkwpKTsKK30KKworZnVuY3Rpb24gbmV3RGF0
ZSh5LCBtLCBkKSB7CisgIHJldHVybiB7eTogeSwgbTogbSwgZDogZCwgSDogMCwgTTogMCwgUzog
MCwgTDogMH07Cit9CisKK2Z1bmN0aW9uIGZvcm1hdExvY2FsZSQxKGxvY2FsZSkgeworICB2YXIg
bG9jYWxlX2RhdGVUaW1lID0gbG9jYWxlLmRhdGVUaW1lLAorICAgICAgbG9jYWxlX2RhdGUgPSBs
b2NhbGUuZGF0ZSwKKyAgICAgIGxvY2FsZV90aW1lID0gbG9jYWxlLnRpbWUsCisgICAgICBsb2Nh
bGVfcGVyaW9kcyA9IGxvY2FsZS5wZXJpb2RzLAorICAgICAgbG9jYWxlX3dlZWtkYXlzID0gbG9j
YWxlLmRheXMsCisgICAgICBsb2NhbGVfc2hvcnRXZWVrZGF5cyA9IGxvY2FsZS5zaG9ydERheXMs
CisgICAgICBsb2NhbGVfbW9udGhzID0gbG9jYWxlLm1vbnRocywKKyAgICAgIGxvY2FsZV9zaG9y
dE1vbnRocyA9IGxvY2FsZS5zaG9ydE1vbnRoczsKKworICB2YXIgcGVyaW9kUmUgPSBmb3JtYXRS
ZShsb2NhbGVfcGVyaW9kcyksCisgICAgICBwZXJpb2RMb29rdXAgPSBmb3JtYXRMb29rdXAobG9j
YWxlX3BlcmlvZHMpLAorICAgICAgd2Vla2RheVJlID0gZm9ybWF0UmUobG9jYWxlX3dlZWtkYXlz
KSwKKyAgICAgIHdlZWtkYXlMb29rdXAgPSBmb3JtYXRMb29rdXAobG9jYWxlX3dlZWtkYXlzKSwK
KyAgICAgIHNob3J0V2Vla2RheVJlID0gZm9ybWF0UmUobG9jYWxlX3Nob3J0V2Vla2RheXMpLAor
ICAgICAgc2hvcnRXZWVrZGF5TG9va3VwID0gZm9ybWF0TG9va3VwKGxvY2FsZV9zaG9ydFdlZWtk
YXlzKSwKKyAgICAgIG1vbnRoUmUgPSBmb3JtYXRSZShsb2NhbGVfbW9udGhzKSwKKyAgICAgIG1v
bnRoTG9va3VwID0gZm9ybWF0TG9va3VwKGxvY2FsZV9tb250aHMpLAorICAgICAgc2hvcnRNb250
aFJlID0gZm9ybWF0UmUobG9jYWxlX3Nob3J0TW9udGhzKSwKKyAgICAgIHNob3J0TW9udGhMb29r
dXAgPSBmb3JtYXRMb29rdXAobG9jYWxlX3Nob3J0TW9udGhzKTsKKworICB2YXIgZm9ybWF0cyA9
IHsKKyAgICAiYSI6IGZvcm1hdFNob3J0V2Vla2RheSwKKyAgICAiQSI6IGZvcm1hdFdlZWtkYXks
CisgICAgImIiOiBmb3JtYXRTaG9ydE1vbnRoLAorICAgICJCIjogZm9ybWF0TW9udGgsCisgICAg
ImMiOiBudWxsLAorICAgICJkIjogZm9ybWF0RGF5T2ZNb250aCwKKyAgICAiZSI6IGZvcm1hdERh
eU9mTW9udGgsCisgICAgImYiOiBmb3JtYXRNaWNyb3NlY29uZHMsCisgICAgIkgiOiBmb3JtYXRI
b3VyMjQsCisgICAgIkkiOiBmb3JtYXRIb3VyMTIsCisgICAgImoiOiBmb3JtYXREYXlPZlllYXIs
CisgICAgIkwiOiBmb3JtYXRNaWxsaXNlY29uZHMsCisgICAgIm0iOiBmb3JtYXRNb250aE51bWJl
ciwKKyAgICAiTSI6IGZvcm1hdE1pbnV0ZXMsCisgICAgInAiOiBmb3JtYXRQZXJpb2QsCisgICAg
InEiOiBmb3JtYXRRdWFydGVyLAorICAgICJRIjogZm9ybWF0VW5peFRpbWVzdGFtcCwKKyAgICAi
cyI6IGZvcm1hdFVuaXhUaW1lc3RhbXBTZWNvbmRzLAorICAgICJTIjogZm9ybWF0U2Vjb25kcywK
KyAgICAidSI6IGZvcm1hdFdlZWtkYXlOdW1iZXJNb25kYXksCisgICAgIlUiOiBmb3JtYXRXZWVr
TnVtYmVyU3VuZGF5LAorICAgICJWIjogZm9ybWF0V2Vla051bWJlcklTTywKKyAgICAidyI6IGZv
cm1hdFdlZWtkYXlOdW1iZXJTdW5kYXksCisgICAgIlciOiBmb3JtYXRXZWVrTnVtYmVyTW9uZGF5
LAorICAgICJ4IjogbnVsbCwKKyAgICAiWCI6IG51bGwsCisgICAgInkiOiBmb3JtYXRZZWFyJDEs
CisgICAgIlkiOiBmb3JtYXRGdWxsWWVhciwKKyAgICAiWiI6IGZvcm1hdFpvbmUsCisgICAgIiUi
OiBmb3JtYXRMaXRlcmFsUGVyY2VudAorICB9OworCisgIHZhciB1dGNGb3JtYXRzID0geworICAg
ICJhIjogZm9ybWF0VVRDU2hvcnRXZWVrZGF5LAorICAgICJBIjogZm9ybWF0VVRDV2Vla2RheSwK
KyAgICAiYiI6IGZvcm1hdFVUQ1Nob3J0TW9udGgsCisgICAgIkIiOiBmb3JtYXRVVENNb250aCwK
KyAgICAiYyI6IG51bGwsCisgICAgImQiOiBmb3JtYXRVVENEYXlPZk1vbnRoLAorICAgICJlIjog
Zm9ybWF0VVRDRGF5T2ZNb250aCwKKyAgICAiZiI6IGZvcm1hdFVUQ01pY3Jvc2Vjb25kcywKKyAg
ICAiSCI6IGZvcm1hdFVUQ0hvdXIyNCwKKyAgICAiSSI6IGZvcm1hdFVUQ0hvdXIxMiwKKyAgICAi
aiI6IGZvcm1hdFVUQ0RheU9mWWVhciwKKyAgICAiTCI6IGZvcm1hdFVUQ01pbGxpc2Vjb25kcywK
KyAgICAibSI6IGZvcm1hdFVUQ01vbnRoTnVtYmVyLAorICAgICJNIjogZm9ybWF0VVRDTWludXRl
cywKKyAgICAicCI6IGZvcm1hdFVUQ1BlcmlvZCwKKyAgICAicSI6IGZvcm1hdFVUQ1F1YXJ0ZXIs
CisgICAgIlEiOiBmb3JtYXRVbml4VGltZXN0YW1wLAorICAgICJzIjogZm9ybWF0VW5peFRpbWVz
dGFtcFNlY29uZHMsCisgICAgIlMiOiBmb3JtYXRVVENTZWNvbmRzLAorICAgICJ1IjogZm9ybWF0
VVRDV2Vla2RheU51bWJlck1vbmRheSwKKyAgICAiVSI6IGZvcm1hdFVUQ1dlZWtOdW1iZXJTdW5k
YXksCisgICAgIlYiOiBmb3JtYXRVVENXZWVrTnVtYmVySVNPLAorICAgICJ3IjogZm9ybWF0VVRD
V2Vla2RheU51bWJlclN1bmRheSwKKyAgICAiVyI6IGZvcm1hdFVUQ1dlZWtOdW1iZXJNb25kYXks
CisgICAgIngiOiBudWxsLAorICAgICJYIjogbnVsbCwKKyAgICAieSI6IGZvcm1hdFVUQ1llYXIs
CisgICAgIlkiOiBmb3JtYXRVVENGdWxsWWVhciwKKyAgICAiWiI6IGZvcm1hdFVUQ1pvbmUsCisg
ICAgIiUiOiBmb3JtYXRMaXRlcmFsUGVyY2VudAorICB9OworCisgIHZhciBwYXJzZXMgPSB7Cisg
ICAgImEiOiBwYXJzZVNob3J0V2Vla2RheSwKKyAgICAiQSI6IHBhcnNlV2Vla2RheSwKKyAgICAi
YiI6IHBhcnNlU2hvcnRNb250aCwKKyAgICAiQiI6IHBhcnNlTW9udGgsCisgICAgImMiOiBwYXJz
ZUxvY2FsZURhdGVUaW1lLAorICAgICJkIjogcGFyc2VEYXlPZk1vbnRoLAorICAgICJlIjogcGFy
c2VEYXlPZk1vbnRoLAorICAgICJmIjogcGFyc2VNaWNyb3NlY29uZHMsCisgICAgIkgiOiBwYXJz
ZUhvdXIyNCwKKyAgICAiSSI6IHBhcnNlSG91cjI0LAorICAgICJqIjogcGFyc2VEYXlPZlllYXIs
CisgICAgIkwiOiBwYXJzZU1pbGxpc2Vjb25kcywKKyAgICAibSI6IHBhcnNlTW9udGhOdW1iZXIs
CisgICAgIk0iOiBwYXJzZU1pbnV0ZXMsCisgICAgInAiOiBwYXJzZVBlcmlvZCwKKyAgICAicSI6
IHBhcnNlUXVhcnRlciwKKyAgICAiUSI6IHBhcnNlVW5peFRpbWVzdGFtcCwKKyAgICAicyI6IHBh
cnNlVW5peFRpbWVzdGFtcFNlY29uZHMsCisgICAgIlMiOiBwYXJzZVNlY29uZHMsCisgICAgInUi
OiBwYXJzZVdlZWtkYXlOdW1iZXJNb25kYXksCisgICAgIlUiOiBwYXJzZVdlZWtOdW1iZXJTdW5k
YXksCisgICAgIlYiOiBwYXJzZVdlZWtOdW1iZXJJU08sCisgICAgInciOiBwYXJzZVdlZWtkYXlO
dW1iZXJTdW5kYXksCisgICAgIlciOiBwYXJzZVdlZWtOdW1iZXJNb25kYXksCisgICAgIngiOiBw
YXJzZUxvY2FsZURhdGUsCisgICAgIlgiOiBwYXJzZUxvY2FsZVRpbWUsCisgICAgInkiOiBwYXJz
ZVllYXIsCisgICAgIlkiOiBwYXJzZUZ1bGxZZWFyLAorICAgICJaIjogcGFyc2Vab25lLAorICAg
ICIlIjogcGFyc2VMaXRlcmFsUGVyY2VudAorICB9OworCisgIC8vIFRoZXNlIHJlY3Vyc2l2ZSBk
aXJlY3RpdmUgZGVmaW5pdGlvbnMgbXVzdCBiZSBkZWZlcnJlZC4KKyAgZm9ybWF0cy54ID0gbmV3
Rm9ybWF0KGxvY2FsZV9kYXRlLCBmb3JtYXRzKTsKKyAgZm9ybWF0cy5YID0gbmV3Rm9ybWF0KGxv
Y2FsZV90aW1lLCBmb3JtYXRzKTsKKyAgZm9ybWF0cy5jID0gbmV3Rm9ybWF0KGxvY2FsZV9kYXRl
VGltZSwgZm9ybWF0cyk7CisgIHV0Y0Zvcm1hdHMueCA9IG5ld0Zvcm1hdChsb2NhbGVfZGF0ZSwg
dXRjRm9ybWF0cyk7CisgIHV0Y0Zvcm1hdHMuWCA9IG5ld0Zvcm1hdChsb2NhbGVfdGltZSwgdXRj
Rm9ybWF0cyk7CisgIHV0Y0Zvcm1hdHMuYyA9IG5ld0Zvcm1hdChsb2NhbGVfZGF0ZVRpbWUsIHV0
Y0Zvcm1hdHMpOworCisgIGZ1bmN0aW9uIG5ld0Zvcm1hdChzcGVjaWZpZXIsIGZvcm1hdHMpIHsK
KyAgICByZXR1cm4gZnVuY3Rpb24oZGF0ZSkgeworICAgICAgdmFyIHN0cmluZyA9IFtdLAorICAg
ICAgICAgIGkgPSAtMSwKKyAgICAgICAgICBqID0gMCwKKyAgICAgICAgICBuID0gc3BlY2lmaWVy
Lmxlbmd0aCwKKyAgICAgICAgICBjLAorICAgICAgICAgIHBhZCwKKyAgICAgICAgICBmb3JtYXQ7
CisKKyAgICAgIGlmICghKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSkgZGF0ZSA9IG5ldyBEYXRlKCtk
YXRlKTsKKworICAgICAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgICAgaWYgKHNwZWNpZmllci5j
aGFyQ29kZUF0KGkpID09PSAzNykgeworICAgICAgICAgIHN0cmluZy5wdXNoKHNwZWNpZmllci5z
bGljZShqLCBpKSk7CisgICAgICAgICAgaWYgKChwYWQgPSBwYWRzW2MgPSBzcGVjaWZpZXIuY2hh
ckF0KCsraSldKSAhPSBudWxsKSBjID0gc3BlY2lmaWVyLmNoYXJBdCgrK2kpOworICAgICAgICAg
IGVsc2UgcGFkID0gYyA9PT0gImUiID8gIiAiIDogIjAiOworICAgICAgICAgIGlmIChmb3JtYXQg
PSBmb3JtYXRzW2NdKSBjID0gZm9ybWF0KGRhdGUsIHBhZCk7CisgICAgICAgICAgc3RyaW5nLnB1
c2goYyk7CisgICAgICAgICAgaiA9IGkgKyAxOworICAgICAgICB9CisgICAgICB9CisKKyAgICAg
IHN0cmluZy5wdXNoKHNwZWNpZmllci5zbGljZShqLCBpKSk7CisgICAgICByZXR1cm4gc3RyaW5n
LmpvaW4oIiIpOworICAgIH07CisgIH0KKworICBmdW5jdGlvbiBuZXdQYXJzZShzcGVjaWZpZXIs
IFopIHsKKyAgICByZXR1cm4gZnVuY3Rpb24oc3RyaW5nKSB7CisgICAgICB2YXIgZCA9IG5ld0Rh
dGUoMTkwMCwgdW5kZWZpbmVkLCAxKSwKKyAgICAgICAgICBpID0gcGFyc2VTcGVjaWZpZXIoZCwg
c3BlY2lmaWVyLCBzdHJpbmcgKz0gIiIsIDApLAorICAgICAgICAgIHdlZWssIGRheSQxOworICAg
ICAgaWYgKGkgIT0gc3RyaW5nLmxlbmd0aCkgcmV0dXJuIG51bGw7CisKKyAgICAgIC8vIElmIGEg
VU5JWCB0aW1lc3RhbXAgaXMgc3BlY2lmaWVkLCByZXR1cm4gaXQuCisgICAgICBpZiAoIlEiIGlu
IGQpIHJldHVybiBuZXcgRGF0ZShkLlEpOworICAgICAgaWYgKCJzIiBpbiBkKSByZXR1cm4gbmV3
IERhdGUoZC5zICogMTAwMCArICgiTCIgaW4gZCA/IGQuTCA6IDApKTsKKworICAgICAgLy8gSWYg
dGhpcyBpcyB1dGNQYXJzZSwgbmV2ZXIgdXNlIHRoZSBsb2NhbCB0aW1lem9uZS4KKyAgICAgIGlm
IChaICYmICEoIloiIGluIGQpKSBkLlogPSAwOworCisgICAgICAvLyBUaGUgYW0tcG0gZmxhZyBp
cyAwIGZvciBBTSwgYW5kIDEgZm9yIFBNLgorICAgICAgaWYgKCJwIiBpbiBkKSBkLkggPSBkLkgg
JSAxMiArIGQucCAqIDEyOworCisgICAgICAvLyBJZiB0aGUgbW9udGggd2FzIG5vdCBzcGVjaWZp
ZWQsIGluaGVyaXQgZnJvbSB0aGUgcXVhcnRlci4KKyAgICAgIGlmIChkLm0gPT09IHVuZGVmaW5l
ZCkgZC5tID0gInEiIGluIGQgPyBkLnEgOiAwOworCisgICAgICAvLyBDb252ZXJ0IGRheS1vZi13
ZWVrIGFuZCB3ZWVrLW9mLXllYXIgdG8gZGF5LW9mLXllYXIuCisgICAgICBpZiAoIlYiIGluIGQp
IHsKKyAgICAgICAgaWYgKGQuViA8IDEgfHwgZC5WID4gNTMpIHJldHVybiBudWxsOworICAgICAg
ICBpZiAoISgidyIgaW4gZCkpIGQudyA9IDE7CisgICAgICAgIGlmICgiWiIgaW4gZCkgeworICAg
ICAgICAgIHdlZWsgPSB1dGNEYXRlKG5ld0RhdGUoZC55LCAwLCAxKSksIGRheSQxID0gd2Vlay5n
ZXRVVENEYXkoKTsKKyAgICAgICAgICB3ZWVrID0gZGF5JDEgPiA0IHx8IGRheSQxID09PSAwID8g
dXRjTW9uZGF5LmNlaWwod2VlaykgOiB1dGNNb25kYXkod2Vlayk7CisgICAgICAgICAgd2VlayA9
IHV0Y0RheS5vZmZzZXQod2VlaywgKGQuViAtIDEpICogNyk7CisgICAgICAgICAgZC55ID0gd2Vl
ay5nZXRVVENGdWxsWWVhcigpOworICAgICAgICAgIGQubSA9IHdlZWsuZ2V0VVRDTW9udGgoKTsK
KyAgICAgICAgICBkLmQgPSB3ZWVrLmdldFVUQ0RhdGUoKSArIChkLncgKyA2KSAlIDc7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgd2VlayA9IGxvY2FsRGF0ZShuZXdEYXRlKGQueSwgMCwg
MSkpLCBkYXkkMSA9IHdlZWsuZ2V0RGF5KCk7CisgICAgICAgICAgd2VlayA9IGRheSQxID4gNCB8
fCBkYXkkMSA9PT0gMCA/IG1vbmRheS5jZWlsKHdlZWspIDogbW9uZGF5KHdlZWspOworICAgICAg
ICAgIHdlZWsgPSBkYXkub2Zmc2V0KHdlZWssIChkLlYgLSAxKSAqIDcpOworICAgICAgICAgIGQu
eSA9IHdlZWsuZ2V0RnVsbFllYXIoKTsKKyAgICAgICAgICBkLm0gPSB3ZWVrLmdldE1vbnRoKCk7
CisgICAgICAgICAgZC5kID0gd2Vlay5nZXREYXRlKCkgKyAoZC53ICsgNikgJSA3OworICAgICAg
ICB9CisgICAgICB9IGVsc2UgaWYgKCJXIiBpbiBkIHx8ICJVIiBpbiBkKSB7CisgICAgICAgIGlm
ICghKCJ3IiBpbiBkKSkgZC53ID0gInUiIGluIGQgPyBkLnUgJSA3IDogIlciIGluIGQgPyAxIDog
MDsKKyAgICAgICAgZGF5JDEgPSAiWiIgaW4gZCA/IHV0Y0RhdGUobmV3RGF0ZShkLnksIDAsIDEp
KS5nZXRVVENEYXkoKSA6IGxvY2FsRGF0ZShuZXdEYXRlKGQueSwgMCwgMSkpLmdldERheSgpOwor
ICAgICAgICBkLm0gPSAwOworICAgICAgICBkLmQgPSAiVyIgaW4gZCA/IChkLncgKyA2KSAlIDcg
KyBkLlcgKiA3IC0gKGRheSQxICsgNSkgJSA3IDogZC53ICsgZC5VICogNyAtIChkYXkkMSArIDYp
ICUgNzsKKyAgICAgIH0KKworICAgICAgLy8gSWYgYSB0aW1lIHpvbmUgaXMgc3BlY2lmaWVkLCBh
bGwgZmllbGRzIGFyZSBpbnRlcnByZXRlZCBhcyBVVEMgYW5kIHRoZW4KKyAgICAgIC8vIG9mZnNl
dCBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZCB0aW1lIHpvbmUuCisgICAgICBpZiAoIloiIGlu
IGQpIHsKKyAgICAgICAgZC5IICs9IGQuWiAvIDEwMCB8IDA7CisgICAgICAgIGQuTSArPSBkLlog
JSAxMDA7CisgICAgICAgIHJldHVybiB1dGNEYXRlKGQpOworICAgICAgfQorCisgICAgICAvLyBP
dGhlcndpc2UsIGFsbCBmaWVsZHMgYXJlIGluIGxvY2FsIHRpbWUuCisgICAgICByZXR1cm4gbG9j
YWxEYXRlKGQpOworICAgIH07CisgIH0KKworICBmdW5jdGlvbiBwYXJzZVNwZWNpZmllcihkLCBz
cGVjaWZpZXIsIHN0cmluZywgaikgeworICAgIHZhciBpID0gMCwKKyAgICAgICAgbiA9IHNwZWNp
Zmllci5sZW5ndGgsCisgICAgICAgIG0gPSBzdHJpbmcubGVuZ3RoLAorICAgICAgICBjLAorICAg
ICAgICBwYXJzZTsKKworICAgIHdoaWxlIChpIDwgbikgeworICAgICAgaWYgKGogPj0gbSkgcmV0
dXJuIC0xOworICAgICAgYyA9IHNwZWNpZmllci5jaGFyQ29kZUF0KGkrKyk7CisgICAgICBpZiAo
YyA9PT0gMzcpIHsKKyAgICAgICAgYyA9IHNwZWNpZmllci5jaGFyQXQoaSsrKTsKKyAgICAgICAg
cGFyc2UgPSBwYXJzZXNbYyBpbiBwYWRzID8gc3BlY2lmaWVyLmNoYXJBdChpKyspIDogY107Cisg
ICAgICAgIGlmICghcGFyc2UgfHwgKChqID0gcGFyc2UoZCwgc3RyaW5nLCBqKSkgPCAwKSkgcmV0
dXJuIC0xOworICAgICAgfSBlbHNlIGlmIChjICE9IHN0cmluZy5jaGFyQ29kZUF0KGorKykpIHsK
KyAgICAgICAgcmV0dXJuIC0xOworICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBqOworICB9
CisKKyAgZnVuY3Rpb24gcGFyc2VQZXJpb2QoZCwgc3RyaW5nLCBpKSB7CisgICAgdmFyIG4gPSBw
ZXJpb2RSZS5leGVjKHN0cmluZy5zbGljZShpKSk7CisgICAgcmV0dXJuIG4gPyAoZC5wID0gcGVy
aW9kTG9va3VwW25bMF0udG9Mb3dlckNhc2UoKV0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKKyAg
fQorCisgIGZ1bmN0aW9uIHBhcnNlU2hvcnRXZWVrZGF5KGQsIHN0cmluZywgaSkgeworICAgIHZh
ciBuID0gc2hvcnRXZWVrZGF5UmUuZXhlYyhzdHJpbmcuc2xpY2UoaSkpOworICAgIHJldHVybiBu
ID8gKGQudyA9IHNob3J0V2Vla2RheUxvb2t1cFtuWzBdLnRvTG93ZXJDYXNlKCldLCBpICsgblsw
XS5sZW5ndGgpIDogLTE7CisgIH0KKworICBmdW5jdGlvbiBwYXJzZVdlZWtkYXkoZCwgc3RyaW5n
LCBpKSB7CisgICAgdmFyIG4gPSB3ZWVrZGF5UmUuZXhlYyhzdHJpbmcuc2xpY2UoaSkpOworICAg
IHJldHVybiBuID8gKGQudyA9IHdlZWtkYXlMb29rdXBbblswXS50b0xvd2VyQ2FzZSgpXSwgaSAr
IG5bMF0ubGVuZ3RoKSA6IC0xOworICB9CisKKyAgZnVuY3Rpb24gcGFyc2VTaG9ydE1vbnRoKGQs
IHN0cmluZywgaSkgeworICAgIHZhciBuID0gc2hvcnRNb250aFJlLmV4ZWMoc3RyaW5nLnNsaWNl
KGkpKTsKKyAgICByZXR1cm4gbiA/IChkLm0gPSBzaG9ydE1vbnRoTG9va3VwW25bMF0udG9Mb3dl
ckNhc2UoKV0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKKyAgfQorCisgIGZ1bmN0aW9uIHBhcnNl
TW9udGgoZCwgc3RyaW5nLCBpKSB7CisgICAgdmFyIG4gPSBtb250aFJlLmV4ZWMoc3RyaW5nLnNs
aWNlKGkpKTsKKyAgICByZXR1cm4gbiA/IChkLm0gPSBtb250aExvb2t1cFtuWzBdLnRvTG93ZXJD
YXNlKCldLCBpICsgblswXS5sZW5ndGgpIDogLTE7CisgIH0KKworICBmdW5jdGlvbiBwYXJzZUxv
Y2FsZURhdGVUaW1lKGQsIHN0cmluZywgaSkgeworICAgIHJldHVybiBwYXJzZVNwZWNpZmllcihk
LCBsb2NhbGVfZGF0ZVRpbWUsIHN0cmluZywgaSk7CisgIH0KKworICBmdW5jdGlvbiBwYXJzZUxv
Y2FsZURhdGUoZCwgc3RyaW5nLCBpKSB7CisgICAgcmV0dXJuIHBhcnNlU3BlY2lmaWVyKGQsIGxv
Y2FsZV9kYXRlLCBzdHJpbmcsIGkpOworICB9CisKKyAgZnVuY3Rpb24gcGFyc2VMb2NhbGVUaW1l
KGQsIHN0cmluZywgaSkgeworICAgIHJldHVybiBwYXJzZVNwZWNpZmllcihkLCBsb2NhbGVfdGlt
ZSwgc3RyaW5nLCBpKTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFNob3J0V2Vla2RheShkKSB7
CisgICAgcmV0dXJuIGxvY2FsZV9zaG9ydFdlZWtkYXlzW2QuZ2V0RGF5KCldOworICB9CisKKyAg
ZnVuY3Rpb24gZm9ybWF0V2Vla2RheShkKSB7CisgICAgcmV0dXJuIGxvY2FsZV93ZWVrZGF5c1tk
LmdldERheSgpXTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFNob3J0TW9udGgoZCkgeworICAg
IHJldHVybiBsb2NhbGVfc2hvcnRNb250aHNbZC5nZXRNb250aCgpXTsKKyAgfQorCisgIGZ1bmN0
aW9uIGZvcm1hdE1vbnRoKGQpIHsKKyAgICByZXR1cm4gbG9jYWxlX21vbnRoc1tkLmdldE1vbnRo
KCldOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0UGVyaW9kKGQpIHsKKyAgICByZXR1cm4gbG9j
YWxlX3BlcmlvZHNbKyhkLmdldEhvdXJzKCkgPj0gMTIpXTsKKyAgfQorCisgIGZ1bmN0aW9uIGZv
cm1hdFF1YXJ0ZXIoZCkgeworICAgIHJldHVybiAxICsgfn4oZC5nZXRNb250aCgpIC8gMyk7Cisg
IH0KKworICBmdW5jdGlvbiBmb3JtYXRVVENTaG9ydFdlZWtkYXkoZCkgeworICAgIHJldHVybiBs
b2NhbGVfc2hvcnRXZWVrZGF5c1tkLmdldFVUQ0RheSgpXTsKKyAgfQorCisgIGZ1bmN0aW9uIGZv
cm1hdFVUQ1dlZWtkYXkoZCkgeworICAgIHJldHVybiBsb2NhbGVfd2Vla2RheXNbZC5nZXRVVENE
YXkoKV07CisgIH0KKworICBmdW5jdGlvbiBmb3JtYXRVVENTaG9ydE1vbnRoKGQpIHsKKyAgICBy
ZXR1cm4gbG9jYWxlX3Nob3J0TW9udGhzW2QuZ2V0VVRDTW9udGgoKV07CisgIH0KKworICBmdW5j
dGlvbiBmb3JtYXRVVENNb250aChkKSB7CisgICAgcmV0dXJuIGxvY2FsZV9tb250aHNbZC5nZXRV
VENNb250aCgpXTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFVUQ1BlcmlvZChkKSB7CisgICAg
cmV0dXJuIGxvY2FsZV9wZXJpb2RzWysoZC5nZXRVVENIb3VycygpID49IDEyKV07CisgIH0KKwor
ICBmdW5jdGlvbiBmb3JtYXRVVENRdWFydGVyKGQpIHsKKyAgICByZXR1cm4gMSArIH5+KGQuZ2V0
VVRDTW9udGgoKSAvIDMpOworICB9CisKKyAgcmV0dXJuIHsKKyAgICBmb3JtYXQ6IGZ1bmN0aW9u
KHNwZWNpZmllcikgeworICAgICAgdmFyIGYgPSBuZXdGb3JtYXQoc3BlY2lmaWVyICs9ICIiLCBm
b3JtYXRzKTsKKyAgICAgIGYudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHNwZWNpZmll
cjsgfTsKKyAgICAgIHJldHVybiBmOworICAgIH0sCisgICAgcGFyc2U6IGZ1bmN0aW9uKHNwZWNp
ZmllcikgeworICAgICAgdmFyIHAgPSBuZXdQYXJzZShzcGVjaWZpZXIgKz0gIiIsIGZhbHNlKTsK
KyAgICAgIHAudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHNwZWNpZmllcjsgfTsKKyAg
ICAgIHJldHVybiBwOworICAgIH0sCisgICAgdXRjRm9ybWF0OiBmdW5jdGlvbihzcGVjaWZpZXIp
IHsKKyAgICAgIHZhciBmID0gbmV3Rm9ybWF0KHNwZWNpZmllciArPSAiIiwgdXRjRm9ybWF0cyk7
CisgICAgICBmLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7IHJldHVybiBzcGVjaWZpZXI7IH07Cisg
ICAgICByZXR1cm4gZjsKKyAgICB9LAorICAgIHV0Y1BhcnNlOiBmdW5jdGlvbihzcGVjaWZpZXIp
IHsKKyAgICAgIHZhciBwID0gbmV3UGFyc2Uoc3BlY2lmaWVyICs9ICIiLCB0cnVlKTsKKyAgICAg
IHAudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHNwZWNpZmllcjsgfTsKKyAgICAgIHJl
dHVybiBwOworICAgIH0KKyAgfTsKK30KKwordmFyIHBhZHMgPSB7Ii0iOiAiIiwgIl8iOiAiICIs
ICIwIjogIjAifSwKKyAgICBudW1iZXJSZSA9IC9eXHMqXGQrLywgLy8gbm90ZTogaWdub3JlcyBu
ZXh0IGRpcmVjdGl2ZQorICAgIHBlcmNlbnRSZSA9IC9eJS8sCisgICAgcmVxdW90ZVJlID0gL1tc
XF4kKis/fFtcXSgpLnt9XS9nOworCitmdW5jdGlvbiBwYWQkMSh2YWx1ZSwgZmlsbCwgd2lkdGgp
IHsKKyAgdmFyIHNpZ24gPSB2YWx1ZSA8IDAgPyAiLSIgOiAiIiwKKyAgICAgIHN0cmluZyA9IChz
aWduID8gLXZhbHVlIDogdmFsdWUpICsgIiIsCisgICAgICBsZW5ndGggPSBzdHJpbmcubGVuZ3Ro
OworICByZXR1cm4gc2lnbiArIChsZW5ndGggPCB3aWR0aCA/IG5ldyBBcnJheSh3aWR0aCAtIGxl
bmd0aCArIDEpLmpvaW4oZmlsbCkgKyBzdHJpbmcgOiBzdHJpbmcpOworfQorCitmdW5jdGlvbiBy
ZXF1b3RlKHMpIHsKKyAgcmV0dXJuIHMucmVwbGFjZShyZXF1b3RlUmUsICJcXCQmIik7Cit9CisK
K2Z1bmN0aW9uIGZvcm1hdFJlKG5hbWVzKSB7CisgIHJldHVybiBuZXcgUmVnRXhwKCJeKD86IiAr
IG5hbWVzLm1hcChyZXF1b3RlKS5qb2luKCJ8IikgKyAiKSIsICJpIik7Cit9CisKK2Z1bmN0aW9u
IGZvcm1hdExvb2t1cChuYW1lcykgeworICB2YXIgbWFwID0ge30sIGkgPSAtMSwgbiA9IG5hbWVz
Lmxlbmd0aDsKKyAgd2hpbGUgKCsraSA8IG4pIG1hcFtuYW1lc1tpXS50b0xvd2VyQ2FzZSgpXSA9
IGk7CisgIHJldHVybiBtYXA7Cit9CisKK2Z1bmN0aW9uIHBhcnNlV2Vla2RheU51bWJlclN1bmRh
eShkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShp
LCBpICsgMSkpOworICByZXR1cm4gbiA/IChkLncgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6
IC0xOworfQorCitmdW5jdGlvbiBwYXJzZVdlZWtkYXlOdW1iZXJNb25kYXkoZCwgc3RyaW5nLCBp
KSB7CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDEpKTsKKyAg
cmV0dXJuIG4gPyAoZC51ID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVu
Y3Rpb24gcGFyc2VXZWVrTnVtYmVyU3VuZGF5KGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51
bWJlclJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQuVSA9
ICtuWzBdLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlV2Vla051
bWJlcklTTyhkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5z
bGljZShpLCBpICsgMikpOworICByZXR1cm4gbiA/IChkLlYgPSArblswXSwgaSArIG5bMF0ubGVu
Z3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZVdlZWtOdW1iZXJNb25kYXkoZCwgc3RyaW5n
LCBpKSB7CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDIpKTsK
KyAgcmV0dXJuIG4gPyAoZC5XID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKwor
ZnVuY3Rpb24gcGFyc2VGdWxsWWVhcihkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJS
ZS5leGVjKHN0cmluZy5zbGljZShpLCBpICsgNCkpOworICByZXR1cm4gbiA/IChkLnkgPSArblsw
XSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZVllYXIoZCwgc3Ry
aW5nLCBpKSB7CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDIp
KTsKKyAgcmV0dXJuIG4gPyAoZC55ID0gK25bMF0gKyAoK25bMF0gPiA2OCA/IDE5MDAgOiAyMDAw
KSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZVpvbmUoZCwgc3Ry
aW5nLCBpKSB7CisgIHZhciBuID0gL14oWil8KFsrLV1cZFxkKSg/Ojo/KFxkXGQpKT8vLmV4ZWMo
c3RyaW5nLnNsaWNlKGksIGkgKyA2KSk7CisgIHJldHVybiBuID8gKGQuWiA9IG5bMV0gPyAwIDog
LShuWzJdICsgKG5bM10gfHwgIjAwIikpLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1
bmN0aW9uIHBhcnNlUXVhcnRlcihkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5l
eGVjKHN0cmluZy5zbGljZShpLCBpICsgMSkpOworICByZXR1cm4gbiA/IChkLnEgPSBuWzBdICog
MyAtIDMsIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVuY3Rpb24gcGFyc2VNb250aE51
bWJlcihkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGlj
ZShpLCBpICsgMikpOworICByZXR1cm4gbiA/IChkLm0gPSBuWzBdIC0gMSwgaSArIG5bMF0ubGVu
Z3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZURheU9mTW9udGgoZCwgc3RyaW5nLCBpKSB7
CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDIpKTsKKyAgcmV0
dXJuIG4gPyAoZC5kID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVuY3Rp
b24gcGFyc2VEYXlPZlllYXIoZCwgc3RyaW5nLCBpKSB7CisgIHZhciBuID0gbnVtYmVyUmUuZXhl
YyhzdHJpbmcuc2xpY2UoaSwgaSArIDMpKTsKKyAgcmV0dXJuIG4gPyAoZC5tID0gMCwgZC5kID0g
K25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVuY3Rpb24gcGFyc2VIb3VyMjQo
ZCwgc3RyaW5nLCBpKSB7CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwg
aSArIDIpKTsKKyAgcmV0dXJuIG4gPyAoZC5IID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAt
MTsKK30KKworZnVuY3Rpb24gcGFyc2VNaW51dGVzKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9
IG51bWJlclJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQu
TSA9ICtuWzBdLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlU2Vj
b25kcyhkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGlj
ZShpLCBpICsgMikpOworICByZXR1cm4gbiA/IChkLlMgPSArblswXSwgaSArIG5bMF0ubGVuZ3Ro
KSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZU1pbGxpc2Vjb25kcyhkLCBzdHJpbmcsIGkpIHsK
KyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShpLCBpICsgMykpOworICByZXR1
cm4gbiA/IChkLkwgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlv
biBwYXJzZU1pY3Jvc2Vjb25kcyhkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5l
eGVjKHN0cmluZy5zbGljZShpLCBpICsgNikpOworICByZXR1cm4gbiA/IChkLkwgPSBNYXRoLmZs
b29yKG5bMF0gLyAxMDAwKSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBw
YXJzZUxpdGVyYWxQZXJjZW50KGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IHBlcmNlbnRSZS5l
eGVjKHN0cmluZy5zbGljZShpLCBpICsgMSkpOworICByZXR1cm4gbiA/IGkgKyBuWzBdLmxlbmd0
aCA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZVVuaXhUaW1lc3RhbXAoZCwgc3RyaW5nLCBpKSB7
CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSkpOworICByZXR1cm4gbiA/
IChkLlEgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJz
ZVVuaXhUaW1lc3RhbXBTZWNvbmRzKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJl
LmV4ZWMoc3RyaW5nLnNsaWNlKGkpKTsKKyAgcmV0dXJuIG4gPyAoZC5zID0gK25bMF0sIGkgKyBu
WzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVuY3Rpb24gZm9ybWF0RGF5T2ZNb250aChkLCBwKSB7
CisgIHJldHVybiBwYWQkMShkLmdldERhdGUoKSwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1h
dEhvdXIyNChkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldEhvdXJzKCksIHAsIDIpOworfQor
CitmdW5jdGlvbiBmb3JtYXRIb3VyMTIoZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRIb3Vy
cygpICUgMTIgfHwgMTIsIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXREYXlPZlllYXIoZCwg
cCkgeworICByZXR1cm4gcGFkJDEoMSArIGRheS5jb3VudCh5ZWFyKGQpLCBkKSwgcCwgMyk7Cit9
CisKK2Z1bmN0aW9uIGZvcm1hdE1pbGxpc2Vjb25kcyhkLCBwKSB7CisgIHJldHVybiBwYWQkMShk
LmdldE1pbGxpc2Vjb25kcygpLCBwLCAzKTsKK30KKworZnVuY3Rpb24gZm9ybWF0TWljcm9zZWNv
bmRzKGQsIHApIHsKKyAgcmV0dXJuIGZvcm1hdE1pbGxpc2Vjb25kcyhkLCBwKSArICIwMDAiOwor
fQorCitmdW5jdGlvbiBmb3JtYXRNb250aE51bWJlcihkLCBwKSB7CisgIHJldHVybiBwYWQkMShk
LmdldE1vbnRoKCkgKyAxLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0TWludXRlcyhkLCBw
KSB7CisgIHJldHVybiBwYWQkMShkLmdldE1pbnV0ZXMoKSwgcCwgMik7Cit9CisKK2Z1bmN0aW9u
IGZvcm1hdFNlY29uZHMoZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRTZWNvbmRzKCksIHAs
IDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRXZWVrZGF5TnVtYmVyTW9uZGF5KGQpIHsKKyAgdmFy
IGRheSA9IGQuZ2V0RGF5KCk7CisgIHJldHVybiBkYXkgPT09IDAgPyA3IDogZGF5OworfQorCitm
dW5jdGlvbiBmb3JtYXRXZWVrTnVtYmVyU3VuZGF5KGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKHN1
bmRheS5jb3VudCh5ZWFyKGQpIC0gMSwgZCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRX
ZWVrTnVtYmVySVNPKGQsIHApIHsKKyAgdmFyIGRheSA9IGQuZ2V0RGF5KCk7CisgIGQgPSAoZGF5
ID49IDQgfHwgZGF5ID09PSAwKSA/IHRodXJzZGF5KGQpIDogdGh1cnNkYXkuY2VpbChkKTsKKyAg
cmV0dXJuIHBhZCQxKHRodXJzZGF5LmNvdW50KHllYXIoZCksIGQpICsgKHllYXIoZCkuZ2V0RGF5
KCkgPT09IDQpLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0V2Vla2RheU51bWJlclN1bmRh
eShkKSB7CisgIHJldHVybiBkLmdldERheSgpOworfQorCitmdW5jdGlvbiBmb3JtYXRXZWVrTnVt
YmVyTW9uZGF5KGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKG1vbmRheS5jb3VudCh5ZWFyKGQpIC0g
MSwgZCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRZZWFyJDEoZCwgcCkgeworICByZXR1
cm4gcGFkJDEoZC5nZXRGdWxsWWVhcigpICUgMTAwLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9y
bWF0RnVsbFllYXIoZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRGdWxsWWVhcigpICUgMTAw
MDAsIHAsIDQpOworfQorCitmdW5jdGlvbiBmb3JtYXRab25lKGQpIHsKKyAgdmFyIHogPSBkLmdl
dFRpbWV6b25lT2Zmc2V0KCk7CisgIHJldHVybiAoeiA+IDAgPyAiLSIgOiAoeiAqPSAtMSwgIisi
KSkKKyAgICAgICsgcGFkJDEoeiAvIDYwIHwgMCwgIjAiLCAyKQorICAgICAgKyBwYWQkMSh6ICUg
NjAsICIwIiwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ0RheU9mTW9udGgoZCwgcCkgewor
ICByZXR1cm4gcGFkJDEoZC5nZXRVVENEYXRlKCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3Jt
YXRVVENIb3VyMjQoZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRVVENIb3VycygpLCBwLCAy
KTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDSG91cjEyKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQx
KGQuZ2V0VVRDSG91cnMoKSAlIDEyIHx8IDEyLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0
VVRDRGF5T2ZZZWFyKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKDEgKyB1dGNEYXkuY291bnQodXRj
WWVhcihkKSwgZCksIHAsIDMpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENNaWxsaXNlY29uZHMo
ZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRVVENNaWxsaXNlY29uZHMoKSwgcCwgMyk7Cit9
CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ01pY3Jvc2Vjb25kcyhkLCBwKSB7CisgIHJldHVybiBmb3Jt
YXRVVENNaWxsaXNlY29uZHMoZCwgcCkgKyAiMDAwIjsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRD
TW9udGhOdW1iZXIoZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRVVENNb250aCgpICsgMSwg
cCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ01pbnV0ZXMoZCwgcCkgeworICByZXR1cm4g
cGFkJDEoZC5nZXRVVENNaW51dGVzKCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENT
ZWNvbmRzKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0VVRDU2Vjb25kcygpLCBwLCAyKTsK
K30KKworZnVuY3Rpb24gZm9ybWF0VVRDV2Vla2RheU51bWJlck1vbmRheShkKSB7CisgIHZhciBk
b3cgPSBkLmdldFVUQ0RheSgpOworICByZXR1cm4gZG93ID09PSAwID8gNyA6IGRvdzsKK30KKwor
ZnVuY3Rpb24gZm9ybWF0VVRDV2Vla051bWJlclN1bmRheShkLCBwKSB7CisgIHJldHVybiBwYWQk
MSh1dGNTdW5kYXkuY291bnQodXRjWWVhcihkKSAtIDEsIGQpLCBwLCAyKTsKK30KKworZnVuY3Rp
b24gZm9ybWF0VVRDV2Vla051bWJlcklTTyhkLCBwKSB7CisgIHZhciBkYXkgPSBkLmdldFVUQ0Rh
eSgpOworICBkID0gKGRheSA+PSA0IHx8IGRheSA9PT0gMCkgPyB1dGNUaHVyc2RheShkKSA6IHV0
Y1RodXJzZGF5LmNlaWwoZCk7CisgIHJldHVybiBwYWQkMSh1dGNUaHVyc2RheS5jb3VudCh1dGNZ
ZWFyKGQpLCBkKSArICh1dGNZZWFyKGQpLmdldFVUQ0RheSgpID09PSA0KSwgcCwgMik7Cit9CisK
K2Z1bmN0aW9uIGZvcm1hdFVUQ1dlZWtkYXlOdW1iZXJTdW5kYXkoZCkgeworICByZXR1cm4gZC5n
ZXRVVENEYXkoKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDV2Vla051bWJlck1vbmRheShkLCBw
KSB7CisgIHJldHVybiBwYWQkMSh1dGNNb25kYXkuY291bnQodXRjWWVhcihkKSAtIDEsIGQpLCBw
LCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDWWVhcihkLCBwKSB7CisgIHJldHVybiBwYWQk
MShkLmdldFVUQ0Z1bGxZZWFyKCkgJSAxMDAsIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRV
VENGdWxsWWVhcihkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldFVUQ0Z1bGxZZWFyKCkgJSAx
MDAwMCwgcCwgNCk7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ1pvbmUoKSB7CisgIHJldHVybiAi
KzAwMDAiOworfQorCitmdW5jdGlvbiBmb3JtYXRMaXRlcmFsUGVyY2VudCgpIHsKKyAgcmV0dXJu
ICIlIjsKK30KKworZnVuY3Rpb24gZm9ybWF0VW5peFRpbWVzdGFtcChkKSB7CisgIHJldHVybiAr
ZDsKK30KKworZnVuY3Rpb24gZm9ybWF0VW5peFRpbWVzdGFtcFNlY29uZHMoZCkgeworICByZXR1
cm4gTWF0aC5mbG9vcigrZCAvIDEwMDApOworfQorCit2YXIgbG9jYWxlJDE7CisKK2RlZmF1bHRM
b2NhbGUkMSh7CisgIGRhdGVUaW1lOiAiJXgsICVYIiwKKyAgZGF0ZTogIiUtbS8lLWQvJVkiLAor
ICB0aW1lOiAiJS1JOiVNOiVTICVwIiwKKyAgcGVyaW9kczogWyJBTSIsICJQTSJdLAorICBkYXlz
OiBbIlN1bmRheSIsICJNb25kYXkiLCAiVHVlc2RheSIsICJXZWRuZXNkYXkiLCAiVGh1cnNkYXki
LCAiRnJpZGF5IiwgIlNhdHVyZGF5Il0sCisgIHNob3J0RGF5czogWyJTdW4iLCAiTW9uIiwgIlR1
ZSIsICJXZWQiLCAiVGh1IiwgIkZyaSIsICJTYXQiXSwKKyAgbW9udGhzOiBbIkphbnVhcnkiLCAi
RmVicnVhcnkiLCAiTWFyY2giLCAiQXByaWwiLCAiTWF5IiwgIkp1bmUiLCAiSnVseSIsICJBdWd1
c3QiLCAiU2VwdGVtYmVyIiwgIk9jdG9iZXIiLCAiTm92ZW1iZXIiLCAiRGVjZW1iZXIiXSwKKyAg
c2hvcnRNb250aHM6IFsiSmFuIiwgIkZlYiIsICJNYXIiLCAiQXByIiwgIk1heSIsICJKdW4iLCAi
SnVsIiwgIkF1ZyIsICJTZXAiLCAiT2N0IiwgIk5vdiIsICJEZWMiXQorfSk7CisKK2Z1bmN0aW9u
IGRlZmF1bHRMb2NhbGUkMShkZWZpbml0aW9uKSB7CisgIGxvY2FsZSQxID0gZm9ybWF0TG9jYWxl
JDEoZGVmaW5pdGlvbik7CisgIGV4cG9ydHMudGltZUZvcm1hdCA9IGxvY2FsZSQxLmZvcm1hdDsK
KyAgZXhwb3J0cy50aW1lUGFyc2UgPSBsb2NhbGUkMS5wYXJzZTsKKyAgZXhwb3J0cy51dGNGb3Jt
YXQgPSBsb2NhbGUkMS51dGNGb3JtYXQ7CisgIGV4cG9ydHMudXRjUGFyc2UgPSBsb2NhbGUkMS51
dGNQYXJzZTsKKyAgcmV0dXJuIGxvY2FsZSQxOworfQorCit2YXIgaXNvU3BlY2lmaWVyID0gIiVZ
LSVtLSVkVCVIOiVNOiVTLiVMWiI7CisKK2Z1bmN0aW9uIGZvcm1hdElzb05hdGl2ZShkYXRlKSB7
CisgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCk7Cit9CisKK3ZhciBmb3JtYXRJc28gPSBEYXRl
LnByb3RvdHlwZS50b0lTT1N0cmluZworICAgID8gZm9ybWF0SXNvTmF0aXZlCisgICAgOiBleHBv
cnRzLnV0Y0Zvcm1hdChpc29TcGVjaWZpZXIpOworCitmdW5jdGlvbiBwYXJzZUlzb05hdGl2ZShz
dHJpbmcpIHsKKyAgdmFyIGRhdGUgPSBuZXcgRGF0ZShzdHJpbmcpOworICByZXR1cm4gaXNOYU4o
ZGF0ZSkgPyBudWxsIDogZGF0ZTsKK30KKwordmFyIHBhcnNlSXNvID0gK25ldyBEYXRlKCIyMDAw
LTAxLTAxVDAwOjAwOjAwLjAwMFoiKQorICAgID8gcGFyc2VJc29OYXRpdmUKKyAgICA6IGV4cG9y
dHMudXRjUGFyc2UoaXNvU3BlY2lmaWVyKTsKKwordmFyIGR1cmF0aW9uU2Vjb25kJDEgPSAxMDAw
LAorICAgIGR1cmF0aW9uTWludXRlJDEgPSBkdXJhdGlvblNlY29uZCQxICogNjAsCisgICAgZHVy
YXRpb25Ib3VyJDEgPSBkdXJhdGlvbk1pbnV0ZSQxICogNjAsCisgICAgZHVyYXRpb25EYXkkMSA9
IGR1cmF0aW9uSG91ciQxICogMjQsCisgICAgZHVyYXRpb25XZWVrJDEgPSBkdXJhdGlvbkRheSQx
ICogNywKKyAgICBkdXJhdGlvbk1vbnRoID0gZHVyYXRpb25EYXkkMSAqIDMwLAorICAgIGR1cmF0
aW9uWWVhciA9IGR1cmF0aW9uRGF5JDEgKiAzNjU7CisKK2Z1bmN0aW9uIGRhdGUkMSh0KSB7Cisg
IHJldHVybiBuZXcgRGF0ZSh0KTsKK30KKworZnVuY3Rpb24gbnVtYmVyJDModCkgeworICByZXR1
cm4gdCBpbnN0YW5jZW9mIERhdGUgPyArdCA6ICtuZXcgRGF0ZSgrdCk7Cit9CisKK2Z1bmN0aW9u
IGNhbGVuZGFyKHllYXIsIG1vbnRoLCB3ZWVrLCBkYXksIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBt
aWxsaXNlY29uZCwgZm9ybWF0KSB7CisgIHZhciBzY2FsZSA9IGNvbnRpbnVvdXMoaWRlbnRpdHkk
NiwgaWRlbnRpdHkkNiksCisgICAgICBpbnZlcnQgPSBzY2FsZS5pbnZlcnQsCisgICAgICBkb21h
aW4gPSBzY2FsZS5kb21haW47CisKKyAgdmFyIGZvcm1hdE1pbGxpc2Vjb25kID0gZm9ybWF0KCIu
JUwiKSwKKyAgICAgIGZvcm1hdFNlY29uZCA9IGZvcm1hdCgiOiVTIiksCisgICAgICBmb3JtYXRN
aW51dGUgPSBmb3JtYXQoIiVJOiVNIiksCisgICAgICBmb3JtYXRIb3VyID0gZm9ybWF0KCIlSSAl
cCIpLAorICAgICAgZm9ybWF0RGF5ID0gZm9ybWF0KCIlYSAlZCIpLAorICAgICAgZm9ybWF0V2Vl
ayA9IGZvcm1hdCgiJWIgJWQiKSwKKyAgICAgIGZvcm1hdE1vbnRoID0gZm9ybWF0KCIlQiIpLAor
ICAgICAgZm9ybWF0WWVhciA9IGZvcm1hdCgiJVkiKTsKKworICB2YXIgdGlja0ludGVydmFscyA9
IFsKKyAgICBbc2Vjb25kLCAgMSwgICAgICBkdXJhdGlvblNlY29uZCQxXSwKKyAgICBbc2Vjb25k
LCAgNSwgIDUgKiBkdXJhdGlvblNlY29uZCQxXSwKKyAgICBbc2Vjb25kLCAxNSwgMTUgKiBkdXJh
dGlvblNlY29uZCQxXSwKKyAgICBbc2Vjb25kLCAzMCwgMzAgKiBkdXJhdGlvblNlY29uZCQxXSwK
KyAgICBbbWludXRlLCAgMSwgICAgICBkdXJhdGlvbk1pbnV0ZSQxXSwKKyAgICBbbWludXRlLCAg
NSwgIDUgKiBkdXJhdGlvbk1pbnV0ZSQxXSwKKyAgICBbbWludXRlLCAxNSwgMTUgKiBkdXJhdGlv
bk1pbnV0ZSQxXSwKKyAgICBbbWludXRlLCAzMCwgMzAgKiBkdXJhdGlvbk1pbnV0ZSQxXSwKKyAg
ICBbICBob3VyLCAgMSwgICAgICBkdXJhdGlvbkhvdXIkMSAgXSwKKyAgICBbICBob3VyLCAgMywg
IDMgKiBkdXJhdGlvbkhvdXIkMSAgXSwKKyAgICBbICBob3VyLCAgNiwgIDYgKiBkdXJhdGlvbkhv
dXIkMSAgXSwKKyAgICBbICBob3VyLCAxMiwgMTIgKiBkdXJhdGlvbkhvdXIkMSAgXSwKKyAgICBb
ICAgZGF5LCAgMSwgICAgICBkdXJhdGlvbkRheSQxICAgXSwKKyAgICBbICAgZGF5LCAgMiwgIDIg
KiBkdXJhdGlvbkRheSQxICAgXSwKKyAgICBbICB3ZWVrLCAgMSwgICAgICBkdXJhdGlvbldlZWsk
MSAgXSwKKyAgICBbIG1vbnRoLCAgMSwgICAgICBkdXJhdGlvbk1vbnRoIF0sCisgICAgWyBtb250
aCwgIDMsICAzICogZHVyYXRpb25Nb250aCBdLAorICAgIFsgIHllYXIsICAxLCAgICAgIGR1cmF0
aW9uWWVhciAgXQorICBdOworCisgIGZ1bmN0aW9uIHRpY2tGb3JtYXQoZGF0ZSkgeworICAgIHJl
dHVybiAoc2Vjb25kKGRhdGUpIDwgZGF0ZSA/IGZvcm1hdE1pbGxpc2Vjb25kCisgICAgICAgIDog
bWludXRlKGRhdGUpIDwgZGF0ZSA/IGZvcm1hdFNlY29uZAorICAgICAgICA6IGhvdXIoZGF0ZSkg
PCBkYXRlID8gZm9ybWF0TWludXRlCisgICAgICAgIDogZGF5KGRhdGUpIDwgZGF0ZSA/IGZvcm1h
dEhvdXIKKyAgICAgICAgOiBtb250aChkYXRlKSA8IGRhdGUgPyAod2VlayhkYXRlKSA8IGRhdGUg
PyBmb3JtYXREYXkgOiBmb3JtYXRXZWVrKQorICAgICAgICA6IHllYXIoZGF0ZSkgPCBkYXRlID8g
Zm9ybWF0TW9udGgKKyAgICAgICAgOiBmb3JtYXRZZWFyKShkYXRlKTsKKyAgfQorCisgIGZ1bmN0
aW9uIHRpY2tJbnRlcnZhbChpbnRlcnZhbCwgc3RhcnQsIHN0b3AsIHN0ZXApIHsKKyAgICBpZiAo
aW50ZXJ2YWwgPT0gbnVsbCkgaW50ZXJ2YWwgPSAxMDsKKworICAgIC8vIElmIGEgZGVzaXJlZCB0
aWNrIGNvdW50IGlzIHNwZWNpZmllZCwgcGljayBhIHJlYXNvbmFibGUgdGljayBpbnRlcnZhbAor
ICAgIC8vIGJhc2VkIG9uIHRoZSBleHRlbnQgb2YgdGhlIGRvbWFpbiBhbmQgYSByb3VnaCBlc3Rp
bWF0ZSBvZiB0aWNrIHNpemUuCisgICAgLy8gT3RoZXJ3aXNlLCBhc3N1bWUgaW50ZXJ2YWwgaXMg
YWxyZWFkeSBhIHRpbWUgaW50ZXJ2YWwgYW5kIHVzZSBpdC4KKyAgICBpZiAodHlwZW9mIGludGVy
dmFsID09PSAibnVtYmVyIikgeworICAgICAgdmFyIHRhcmdldCA9IE1hdGguYWJzKHN0b3AgLSBz
dGFydCkgLyBpbnRlcnZhbCwKKyAgICAgICAgICBpID0gYmlzZWN0b3IoZnVuY3Rpb24oaSkgeyBy
ZXR1cm4gaVsyXTsgfSkucmlnaHQodGlja0ludGVydmFscywgdGFyZ2V0KTsKKyAgICAgIGlmIChp
ID09PSB0aWNrSW50ZXJ2YWxzLmxlbmd0aCkgeworICAgICAgICBzdGVwID0gdGlja1N0ZXAoc3Rh
cnQgLyBkdXJhdGlvblllYXIsIHN0b3AgLyBkdXJhdGlvblllYXIsIGludGVydmFsKTsKKyAgICAg
ICAgaW50ZXJ2YWwgPSB5ZWFyOworICAgICAgfSBlbHNlIGlmIChpKSB7CisgICAgICAgIGkgPSB0
aWNrSW50ZXJ2YWxzW3RhcmdldCAvIHRpY2tJbnRlcnZhbHNbaSAtIDFdWzJdIDwgdGlja0ludGVy
dmFsc1tpXVsyXSAvIHRhcmdldCA/IGkgLSAxIDogaV07CisgICAgICAgIHN0ZXAgPSBpWzFdOwor
ICAgICAgICBpbnRlcnZhbCA9IGlbMF07CisgICAgICB9IGVsc2UgeworICAgICAgICBzdGVwID0g
TWF0aC5tYXgodGlja1N0ZXAoc3RhcnQsIHN0b3AsIGludGVydmFsKSwgMSk7CisgICAgICAgIGlu
dGVydmFsID0gbWlsbGlzZWNvbmQ7CisgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHN0ZXAg
PT0gbnVsbCA/IGludGVydmFsIDogaW50ZXJ2YWwuZXZlcnkoc3RlcCk7CisgIH0KKworICBzY2Fs
ZS5pbnZlcnQgPSBmdW5jdGlvbih5KSB7CisgICAgcmV0dXJuIG5ldyBEYXRlKGludmVydCh5KSk7
CisgIH07CisKKyAgc2NhbGUuZG9tYWluID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gZG9tYWluKG1hcCQzLmNhbGwoXywgbnVtYmVyJDMpKSA6IGRvbWFpbigp
Lm1hcChkYXRlJDEpOworICB9OworCisgIHNjYWxlLnRpY2tzID0gZnVuY3Rpb24oaW50ZXJ2YWws
IHN0ZXApIHsKKyAgICB2YXIgZCA9IGRvbWFpbigpLAorICAgICAgICB0MCA9IGRbMF0sCisgICAg
ICAgIHQxID0gZFtkLmxlbmd0aCAtIDFdLAorICAgICAgICByID0gdDEgPCB0MCwKKyAgICAgICAg
dDsKKyAgICBpZiAocikgdCA9IHQwLCB0MCA9IHQxLCB0MSA9IHQ7CisgICAgdCA9IHRpY2tJbnRl
cnZhbChpbnRlcnZhbCwgdDAsIHQxLCBzdGVwKTsKKyAgICB0ID0gdCA/IHQucmFuZ2UodDAsIHQx
ICsgMSkgOiBbXTsgLy8gaW5jbHVzaXZlIHN0b3AKKyAgICByZXR1cm4gciA/IHQucmV2ZXJzZSgp
IDogdDsKKyAgfTsKKworICBzY2FsZS50aWNrRm9ybWF0ID0gZnVuY3Rpb24oY291bnQsIHNwZWNp
ZmllcikgeworICAgIHJldHVybiBzcGVjaWZpZXIgPT0gbnVsbCA/IHRpY2tGb3JtYXQgOiBmb3Jt
YXQoc3BlY2lmaWVyKTsKKyAgfTsKKworICBzY2FsZS5uaWNlID0gZnVuY3Rpb24oaW50ZXJ2YWws
IHN0ZXApIHsKKyAgICB2YXIgZCA9IGRvbWFpbigpOworICAgIHJldHVybiAoaW50ZXJ2YWwgPSB0
aWNrSW50ZXJ2YWwoaW50ZXJ2YWwsIGRbMF0sIGRbZC5sZW5ndGggLSAxXSwgc3RlcCkpCisgICAg
ICAgID8gZG9tYWluKG5pY2UoZCwgaW50ZXJ2YWwpKQorICAgICAgICA6IHNjYWxlOworICB9Owor
CisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weShzY2FsZSwgY2Fs
ZW5kYXIoeWVhciwgbW9udGgsIHdlZWssIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxp
c2Vjb25kLCBmb3JtYXQpKTsKKyAgfTsKKworICByZXR1cm4gc2NhbGU7Cit9CisKK2Z1bmN0aW9u
IHRpbWUoKSB7CisgIHJldHVybiBpbml0UmFuZ2UuYXBwbHkoY2FsZW5kYXIoeWVhciwgbW9udGgs
IHN1bmRheSwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmQsIGV4cG9ydHMu
dGltZUZvcm1hdCkuZG9tYWluKFtuZXcgRGF0ZSgyMDAwLCAwLCAxKSwgbmV3IERhdGUoMjAwMCwg
MCwgMildKSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gdXRjVGltZSgpIHsKKyAgcmV0dXJu
IGluaXRSYW5nZS5hcHBseShjYWxlbmRhcih1dGNZZWFyLCB1dGNNb250aCwgdXRjU3VuZGF5LCB1
dGNEYXksIHV0Y0hvdXIsIHV0Y01pbnV0ZSwgc2Vjb25kLCBtaWxsaXNlY29uZCwgZXhwb3J0cy51
dGNGb3JtYXQpLmRvbWFpbihbRGF0ZS5VVEMoMjAwMCwgMCwgMSksIERhdGUuVVRDKDIwMDAsIDAs
IDIpXSksIGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zZm9ybWVyJDIoKSB7CisgIHZh
ciB4MCA9IDAsCisgICAgICB4MSA9IDEsCisgICAgICB0MCwKKyAgICAgIHQxLAorICAgICAgazEw
LAorICAgICAgdHJhbnNmb3JtLAorICAgICAgaW50ZXJwb2xhdG9yID0gaWRlbnRpdHkkNiwKKyAg
ICAgIGNsYW1wID0gZmFsc2UsCisgICAgICB1bmtub3duOworCisgIGZ1bmN0aW9uIHNjYWxlKHgp
IHsKKyAgICByZXR1cm4gaXNOYU4oeCA9ICt4KSA/IHVua25vd24gOiBpbnRlcnBvbGF0b3IoazEw
ID09PSAwID8gMC41IDogKHggPSAodHJhbnNmb3JtKHgpIC0gdDApICogazEwLCBjbGFtcCA/IE1h
dGgubWF4KDAsIE1hdGgubWluKDEsIHgpKSA6IHgpKTsKKyAgfQorCisgIHNjYWxlLmRvbWFpbiA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0MCA9IHRyYW5z
Zm9ybSh4MCA9ICtfWzBdKSwgdDEgPSB0cmFuc2Zvcm0oeDEgPSArX1sxXSksIGsxMCA9IHQwID09
PSB0MSA/IDAgOiAxIC8gKHQxIC0gdDApLCBzY2FsZSkgOiBbeDAsIHgxXTsKKyAgfTsKKworICBz
Y2FsZS5jbGFtcCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
IChjbGFtcCA9ICEhXywgc2NhbGUpIDogY2xhbXA7CisgIH07CisKKyAgc2NhbGUuaW50ZXJwb2xh
dG9yID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGludGVy
cG9sYXRvciA9IF8sIHNjYWxlKSA6IGludGVycG9sYXRvcjsKKyAgfTsKKworICBzY2FsZS51bmtu
b3duID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHVua25v
d24gPSBfLCBzY2FsZSkgOiB1bmtub3duOworICB9OworCisgIHJldHVybiBmdW5jdGlvbih0KSB7
CisgICAgdHJhbnNmb3JtID0gdCwgdDAgPSB0KHgwKSwgdDEgPSB0KHgxKSwgazEwID0gdDAgPT09
IHQxID8gMCA6IDEgLyAodDEgLSB0MCk7CisgICAgcmV0dXJuIHNjYWxlOworICB9OworfQorCitm
dW5jdGlvbiBjb3B5JDEoc291cmNlLCB0YXJnZXQpIHsKKyAgcmV0dXJuIHRhcmdldAorICAgICAg
LmRvbWFpbihzb3VyY2UuZG9tYWluKCkpCisgICAgICAuaW50ZXJwb2xhdG9yKHNvdXJjZS5pbnRl
cnBvbGF0b3IoKSkKKyAgICAgIC5jbGFtcChzb3VyY2UuY2xhbXAoKSkKKyAgICAgIC51bmtub3du
KHNvdXJjZS51bmtub3duKCkpOworfQorCitmdW5jdGlvbiBzZXF1ZW50aWFsKCkgeworICB2YXIg
c2NhbGUgPSBsaW5lYXJpc2godHJhbnNmb3JtZXIkMigpKGlkZW50aXR5JDYpKTsKKworICBzY2Fs
ZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkkMShzY2FsZSwgc2VxdWVudGlh
bCgpKTsKKyAgfTsKKworICByZXR1cm4gaW5pdEludGVycG9sYXRvci5hcHBseShzY2FsZSwgYXJn
dW1lbnRzKTsKK30KKworZnVuY3Rpb24gc2VxdWVudGlhbExvZygpIHsKKyAgdmFyIHNjYWxlID0g
bG9nZ2lzaCh0cmFuc2Zvcm1lciQyKCkpLmRvbWFpbihbMSwgMTBdKTsKKworICBzY2FsZS5jb3B5
ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkkMShzY2FsZSwgc2VxdWVudGlhbExvZygp
KS5iYXNlKHNjYWxlLmJhc2UoKSk7CisgIH07CisKKyAgcmV0dXJuIGluaXRJbnRlcnBvbGF0b3Iu
YXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIHNlcXVlbnRpYWxTeW1sb2co
KSB7CisgIHZhciBzY2FsZSA9IHN5bWxvZ2lzaCh0cmFuc2Zvcm1lciQyKCkpOworCisgIHNjYWxl
LmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weSQxKHNjYWxlLCBzZXF1ZW50aWFs
U3ltbG9nKCkpLmNvbnN0YW50KHNjYWxlLmNvbnN0YW50KCkpOworICB9OworCisgIHJldHVybiBp
bml0SW50ZXJwb2xhdG9yLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworfQorCitmdW5jdGlvbiBz
ZXF1ZW50aWFsUG93KCkgeworICB2YXIgc2NhbGUgPSBwb3dpc2godHJhbnNmb3JtZXIkMigpKTsK
KworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkkMShzY2FsZSwg
c2VxdWVudGlhbFBvdygpKS5leHBvbmVudChzY2FsZS5leHBvbmVudCgpKTsKKyAgfTsKKworICBy
ZXR1cm4gaW5pdEludGVycG9sYXRvci5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKK30KKworZnVu
Y3Rpb24gc2VxdWVudGlhbFNxcnQoKSB7CisgIHJldHVybiBzZXF1ZW50aWFsUG93LmFwcGx5KG51
bGwsIGFyZ3VtZW50cykuZXhwb25lbnQoMC41KTsKK30KKworZnVuY3Rpb24gc2VxdWVudGlhbFF1
YW50aWxlKCkgeworICB2YXIgZG9tYWluID0gW10sCisgICAgICBpbnRlcnBvbGF0b3IgPSBpZGVu
dGl0eSQ2OworCisgIGZ1bmN0aW9uIHNjYWxlKHgpIHsKKyAgICBpZiAoIWlzTmFOKHggPSAreCkp
IHJldHVybiBpbnRlcnBvbGF0b3IoKGJpc2VjdFJpZ2h0KGRvbWFpbiwgeCkgLSAxKSAvIChkb21h
aW4ubGVuZ3RoIC0gMSkpOworICB9CisKKyAgc2NhbGUuZG9tYWluID0gZnVuY3Rpb24oXykgewor
ICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIGRvbWFpbi5zbGljZSgpOworICAgIGRv
bWFpbiA9IFtdOworICAgIGZvciAodmFyIGkgPSAwLCBuID0gXy5sZW5ndGgsIGQ7IGkgPCBuOyAr
K2kpIGlmIChkID0gX1tpXSwgZCAhPSBudWxsICYmICFpc05hTihkID0gK2QpKSBkb21haW4ucHVz
aChkKTsKKyAgICBkb21haW4uc29ydChhc2NlbmRpbmcpOworICAgIHJldHVybiBzY2FsZTsKKyAg
fTsKKworICBzY2FsZS5pbnRlcnBvbGF0b3IgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAoaW50ZXJwb2xhdG9yID0gXywgc2NhbGUpIDogaW50ZXJwb2xhdG9y
OworICB9OworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gc2VxdWVu
dGlhbFF1YW50aWxlKGludGVycG9sYXRvcikuZG9tYWluKGRvbWFpbik7CisgIH07CisKKyAgcmV0
dXJuIGluaXRJbnRlcnBvbGF0b3IuYXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0
aW9uIHRyYW5zZm9ybWVyJDMoKSB7CisgIHZhciB4MCA9IDAsCisgICAgICB4MSA9IDAuNSwKKyAg
ICAgIHgyID0gMSwKKyAgICAgIHQwLAorICAgICAgdDEsCisgICAgICB0MiwKKyAgICAgIGsxMCwK
KyAgICAgIGsyMSwKKyAgICAgIGludGVycG9sYXRvciA9IGlkZW50aXR5JDYsCisgICAgICB0cmFu
c2Zvcm0sCisgICAgICBjbGFtcCA9IGZhbHNlLAorICAgICAgdW5rbm93bjsKKworICBmdW5jdGlv
biBzY2FsZSh4KSB7CisgICAgcmV0dXJuIGlzTmFOKHggPSAreCkgPyB1bmtub3duIDogKHggPSAw
LjUgKyAoKHggPSArdHJhbnNmb3JtKHgpKSAtIHQxKSAqICh4IDwgdDEgPyBrMTAgOiBrMjEpLCBp
bnRlcnBvbGF0b3IoY2xhbXAgPyBNYXRoLm1heCgwLCBNYXRoLm1pbigxLCB4KSkgOiB4KSk7Cisg
IH0KKworICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAodDAgPSB0cmFuc2Zvcm0oeDAgPSArX1swXSksIHQxID0gdHJhbnNmb3JtKHgx
ID0gK19bMV0pLCB0MiA9IHRyYW5zZm9ybSh4MiA9ICtfWzJdKSwgazEwID0gdDAgPT09IHQxID8g
MCA6IDAuNSAvICh0MSAtIHQwKSwgazIxID0gdDEgPT09IHQyID8gMCA6IDAuNSAvICh0MiAtIHQx
KSwgc2NhbGUpIDogW3gwLCB4MSwgeDJdOworICB9OworCisgIHNjYWxlLmNsYW1wID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGNsYW1wID0gISFfLCBzY2Fs
ZSkgOiBjbGFtcDsKKyAgfTsKKworICBzY2FsZS5pbnRlcnBvbGF0b3IgPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoaW50ZXJwb2xhdG9yID0gXywgc2NhbGUp
IDogaW50ZXJwb2xhdG9yOworICB9OworCisgIHNjYWxlLnVua25vd24gPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodW5rbm93biA9IF8sIHNjYWxlKSA6IHVu
a25vd247CisgIH07CisKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICB0cmFuc2Zvcm0gPSB0
LCB0MCA9IHQoeDApLCB0MSA9IHQoeDEpLCB0MiA9IHQoeDIpLCBrMTAgPSB0MCA9PT0gdDEgPyAw
IDogMC41IC8gKHQxIC0gdDApLCBrMjEgPSB0MSA9PT0gdDIgPyAwIDogMC41IC8gKHQyIC0gdDEp
OworICAgIHJldHVybiBzY2FsZTsKKyAgfTsKK30KKworZnVuY3Rpb24gZGl2ZXJnaW5nKCkgewor
ICB2YXIgc2NhbGUgPSBsaW5lYXJpc2godHJhbnNmb3JtZXIkMygpKGlkZW50aXR5JDYpKTsKKwor
ICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkkMShzY2FsZSwgZGl2
ZXJnaW5nKCkpOworICB9OworCisgIHJldHVybiBpbml0SW50ZXJwb2xhdG9yLmFwcGx5KHNjYWxl
LCBhcmd1bWVudHMpOworfQorCitmdW5jdGlvbiBkaXZlcmdpbmdMb2coKSB7CisgIHZhciBzY2Fs
ZSA9IGxvZ2dpc2godHJhbnNmb3JtZXIkMygpKS5kb21haW4oWzAuMSwgMSwgMTBdKTsKKworICBz
Y2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkkMShzY2FsZSwgZGl2ZXJn
aW5nTG9nKCkpLmJhc2Uoc2NhbGUuYmFzZSgpKTsKKyAgfTsKKworICByZXR1cm4gaW5pdEludGVy
cG9sYXRvci5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gZGl2ZXJnaW5n
U3ltbG9nKCkgeworICB2YXIgc2NhbGUgPSBzeW1sb2dpc2godHJhbnNmb3JtZXIkMygpKTsKKwor
ICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkkMShzY2FsZSwgZGl2
ZXJnaW5nU3ltbG9nKCkpLmNvbnN0YW50KHNjYWxlLmNvbnN0YW50KCkpOworICB9OworCisgIHJl
dHVybiBpbml0SW50ZXJwb2xhdG9yLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworfQorCitmdW5j
dGlvbiBkaXZlcmdpbmdQb3coKSB7CisgIHZhciBzY2FsZSA9IHBvd2lzaCh0cmFuc2Zvcm1lciQz
KCkpOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weSQxKHNj
YWxlLCBkaXZlcmdpbmdQb3coKSkuZXhwb25lbnQoc2NhbGUuZXhwb25lbnQoKSk7CisgIH07CisK
KyAgcmV0dXJuIGluaXRJbnRlcnBvbGF0b3IuYXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7Cit9CisK
K2Z1bmN0aW9uIGRpdmVyZ2luZ1NxcnQoKSB7CisgIHJldHVybiBkaXZlcmdpbmdQb3cuYXBwbHko
bnVsbCwgYXJndW1lbnRzKS5leHBvbmVudCgwLjUpOworfQorCitmdW5jdGlvbiBjb2xvcnMoc3Bl
Y2lmaWVyKSB7CisgIHZhciBuID0gc3BlY2lmaWVyLmxlbmd0aCAvIDYgfCAwLCBjb2xvcnMgPSBu
ZXcgQXJyYXkobiksIGkgPSAwOworICB3aGlsZSAoaSA8IG4pIGNvbG9yc1tpXSA9ICIjIiArIHNw
ZWNpZmllci5zbGljZShpICogNiwgKytpICogNik7CisgIHJldHVybiBjb2xvcnM7Cit9CisKK3Zh
ciBjYXRlZ29yeTEwID0gY29sb3JzKCIxZjc3YjRmZjdmMGUyY2EwMmNkNjI3Mjg5NDY3YmQ4YzU2
NGJlMzc3YzI3ZjdmN2ZiY2JkMjIxN2JlY2YiKTsKKwordmFyIEFjY2VudCA9IGNvbG9ycygiN2Zj
OTdmYmVhZWQ0ZmRjMDg2ZmZmZjk5Mzg2Y2IwZjAwMjdmYmY1YjE3NjY2NjY2Iik7CisKK3ZhciBE
YXJrMiA9IGNvbG9ycygiMWI5ZTc3ZDk1ZjAyNzU3MGIzZTcyOThhNjZhNjFlZTZhYjAyYTY3NjFk
NjY2NjY2Iik7CisKK3ZhciBQYWlyZWQgPSBjb2xvcnMoImE2Y2VlMzFmNzhiNGIyZGY4YTMzYTAy
Y2ZiOWE5OWUzMWExY2ZkYmY2ZmZmN2YwMGNhYjJkNjZhM2Q5YWZmZmY5OWIxNTkyOCIpOworCit2
YXIgUGFzdGVsMSA9IGNvbG9ycygiZmJiNGFlYjNjZGUzY2NlYmM1ZGVjYmU0ZmVkOWE2ZmZmZmNj
ZTVkOGJkZmRkYWVjZjJmMmYyIik7CisKK3ZhciBQYXN0ZWwyID0gY29sb3JzKCJiM2UyY2RmZGNk
YWNjYmQ1ZThmNGNhZTRlNmY1YzlmZmYyYWVmMWUyY2NjY2NjY2MiKTsKKwordmFyIFNldDEgPSBj
b2xvcnMoImU0MWExYzM3N2ViODRkYWY0YTk4NGVhM2ZmN2YwMGZmZmYzM2E2NTYyOGY3ODFiZjk5
OTk5OSIpOworCit2YXIgU2V0MiA9IGNvbG9ycygiNjZjMmE1ZmM4ZDYyOGRhMGNiZTc4YWMzYTZk
ODU0ZmZkOTJmZTVjNDk0YjNiM2IzIik7CisKK3ZhciBTZXQzID0gY29sb3JzKCI4ZGQzYzdmZmZm
YjNiZWJhZGFmYjgwNzI4MGIxZDNmZGI0NjJiM2RlNjlmY2NkZTVkOWQ5ZDliYzgwYmRjY2ViYzVm
ZmVkNmYiKTsKKwordmFyIFRhYmxlYXUxMCA9IGNvbG9ycygiNGU3OWE3ZjI4ZTJjZTE1NzU5NzZi
N2IyNTlhMTRmZWRjOTQ5YWY3YWExZmY5ZGE3OWM3NTVmYmFiMGFiIik7CisKK2Z1bmN0aW9uIHJh
bXAoc2NoZW1lKSB7CisgIHJldHVybiByZ2JCYXNpcyhzY2hlbWVbc2NoZW1lLmxlbmd0aCAtIDFd
KTsKK30KKwordmFyIHNjaGVtZSA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJkOGIzNjVmNWY1
ZjU1YWI0YWMiLAorICAiYTY2MTFhZGZjMjdkODBjZGMxMDE4NTcxIiwKKyAgImE2NjExYWRmYzI3
ZGY1ZjVmNTgwY2RjMTAxODU3MSIsCisgICI4YzUxMGFkOGIzNjVmNmU4YzNjN2VhZTU1YWI0YWMw
MTY2NWUiLAorICAiOGM1MTBhZDhiMzY1ZjZlOGMzZjVmNWY1YzdlYWU1NWFiNGFjMDE2NjVlIiwK
KyAgIjhjNTEwYWJmODEyZGRmYzI3ZGY2ZThjM2M3ZWFlNTgwY2RjMTM1OTc4ZjAxNjY1ZSIsCisg
ICI4YzUxMGFiZjgxMmRkZmMyN2RmNmU4YzNmNWY1ZjVjN2VhZTU4MGNkYzEzNTk3OGYwMTY2NWUi
LAorICAiNTQzMDA1OGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzYzdlYWU1ODBjZGMxMzU5NzhmMDE2
NjVlMDAzYzMwIiwKKyAgIjU0MzAwNThjNTEwYWJmODEyZGRmYzI3ZGY2ZThjM2Y1ZjVmNWM3ZWFl
NTgwY2RjMTM1OTc4ZjAxNjY1ZTAwM2MzMCIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBCckJHID0g
cmFtcChzY2hlbWUpOworCit2YXIgc2NoZW1lJDEgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAi
YWY4ZGMzZjdmN2Y3N2ZiZjdiIiwKKyAgIjdiMzI5NGMyYTVjZmE2ZGJhMDAwODgzNyIsCisgICI3
YjMyOTRjMmE1Y2ZmN2Y3ZjdhNmRiYTAwMDg4MzciLAorICAiNzYyYTgzYWY4ZGMzZTdkNGU4ZDlm
MGQzN2ZiZjdiMWI3ODM3IiwKKyAgIjc2MmE4M2FmOGRjM2U3ZDRlOGY3ZjdmN2Q5ZjBkMzdmYmY3
YjFiNzgzNyIsCisgICI3NjJhODM5OTcwYWJjMmE1Y2ZlN2Q0ZThkOWYwZDNhNmRiYTA1YWFlNjEx
Yjc4MzciLAorICAiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZjdmN2Y3ZDlmMGQzYTZkYmEwNWFh
ZTYxMWI3ODM3IiwKKyAgIjQwMDA0Yjc2MmE4Mzk5NzBhYmMyYTVjZmU3ZDRlOGQ5ZjBkM2E2ZGJh
MDVhYWU2MTFiNzgzNzAwNDQxYiIsCisgICI0MDAwNGI3NjJhODM5OTcwYWJjMmE1Y2ZlN2Q0ZThm
N2Y3ZjdkOWYwZDNhNmRiYTA1YWFlNjExYjc4MzcwMDQ0MWIiCispLm1hcChjb2xvcnMpOworCit2
YXIgUFJHbiA9IHJhbXAoc2NoZW1lJDEpOworCit2YXIgc2NoZW1lJDIgPSBuZXcgQXJyYXkoMyku
Y29uY2F0KAorICAiZTlhM2M5ZjdmN2Y3YTFkNzZhIiwKKyAgImQwMWM4YmYxYjZkYWI4ZTE4NjRk
YWMyNiIsCisgICJkMDFjOGJmMWI2ZGFmN2Y3ZjdiOGUxODY0ZGFjMjYiLAorICAiYzUxYjdkZTlh
M2M5ZmRlMGVmZTZmNWQwYTFkNzZhNGQ5MjIxIiwKKyAgImM1MWI3ZGU5YTNjOWZkZTBlZmY3Zjdm
N2U2ZjVkMGExZDc2YTRkOTIyMSIsCisgICJjNTFiN2RkZTc3YWVmMWI2ZGFmZGUwZWZlNmY1ZDBi
OGUxODY3ZmJjNDE0ZDkyMjEiLAorICAiYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZjdmN2Y3ZTZm
NWQwYjhlMTg2N2ZiYzQxNGQ5MjIxIiwKKyAgIjhlMDE1MmM1MWI3ZGRlNzdhZWYxYjZkYWZkZTBl
ZmU2ZjVkMGI4ZTE4NjdmYmM0MTRkOTIyMTI3NjQxOSIsCisgICI4ZTAxNTJjNTFiN2RkZTc3YWVm
MWI2ZGFmZGUwZWZmN2Y3ZjdlNmY1ZDBiOGUxODY3ZmJjNDE0ZDkyMjEyNzY0MTkiCispLm1hcChj
b2xvcnMpOworCit2YXIgUGlZRyA9IHJhbXAoc2NoZW1lJDIpOworCit2YXIgc2NoZW1lJDMgPSBu
ZXcgQXJyYXkoMykuY29uY2F0KAorICAiOTk4ZWMzZjdmN2Y3ZjFhMzQwIiwKKyAgIjVlM2M5OWIy
YWJkMmZkYjg2M2U2NjEwMSIsCisgICI1ZTNjOTliMmFiZDJmN2Y3ZjdmZGI4NjNlNjYxMDEiLAor
ICAiNTQyNzg4OTk4ZWMzZDhkYWViZmVlMGI2ZjFhMzQwYjM1ODA2IiwKKyAgIjU0Mjc4ODk5OGVj
M2Q4ZGFlYmY3ZjdmN2ZlZTBiNmYxYTM0MGIzNTgwNiIsCisgICI1NDI3ODg4MDczYWNiMmFiZDJk
OGRhZWJmZWUwYjZmZGI4NjNlMDgyMTRiMzU4MDYiLAorICAiNTQyNzg4ODA3M2FjYjJhYmQyZDhk
YWViZjdmN2Y3ZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2IiwKKyAgIjJkMDA0YjU0Mjc4ODgwNzNh
Y2IyYWJkMmQ4ZGFlYmZlZTBiNmZkYjg2M2UwODIxNGIzNTgwNjdmM2IwOCIsCisgICIyZDAwNGI1
NDI3ODg4MDczYWNiMmFiZDJkOGRhZWJmN2Y3ZjdmZWUwYjZmZGI4NjNlMDgyMTRiMzU4MDY3ZjNi
MDgiCispLm1hcChjb2xvcnMpOworCit2YXIgUHVPciA9IHJhbXAoc2NoZW1lJDMpOworCit2YXIg
c2NoZW1lJDQgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZWY4YTYyZjdmN2Y3NjdhOWNmIiwK
KyAgImNhMDAyMGY0YTU4MjkyYzVkZTA1NzFiMCIsCisgICJjYTAwMjBmNGE1ODJmN2Y3Zjc5MmM1
ZGUwNTcxYjAiLAorICAiYjIxODJiZWY4YTYyZmRkYmM3ZDFlNWYwNjdhOWNmMjE2NmFjIiwKKyAg
ImIyMTgyYmVmOGE2MmZkZGJjN2Y3ZjdmN2QxZTVmMDY3YTljZjIxNjZhYyIsCisgICJiMjE4MmJk
NjYwNGRmNGE1ODJmZGRiYzdkMWU1ZjA5MmM1ZGU0MzkzYzMyMTY2YWMiLAorICAiYjIxODJiZDY2
MDRkZjRhNTgyZmRkYmM3ZjdmN2Y3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjIiwKKyAgIjY3MDAx
ZmIyMTgyYmQ2NjA0ZGY0YTU4MmZkZGJjN2QxZTVmMDkyYzVkZTQzOTNjMzIxNjZhYzA1MzA2MSIs
CisgICI2NzAwMWZiMjE4MmJkNjYwNGRmNGE1ODJmZGRiYzdmN2Y3ZjdkMWU1ZjA5MmM1ZGU0Mzkz
YzMyMTY2YWMwNTMwNjEiCispLm1hcChjb2xvcnMpOworCit2YXIgUmRCdSA9IHJhbXAoc2NoZW1l
JDQpOworCit2YXIgc2NoZW1lJDUgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZWY4YTYyZmZm
ZmZmOTk5OTk5IiwKKyAgImNhMDAyMGY0YTU4MmJhYmFiYTQwNDA0MCIsCisgICJjYTAwMjBmNGE1
ODJmZmZmZmZiYWJhYmE0MDQwNDAiLAorICAiYjIxODJiZWY4YTYyZmRkYmM3ZTBlMGUwOTk5OTk5
NGQ0ZDRkIiwKKyAgImIyMTgyYmVmOGE2MmZkZGJjN2ZmZmZmZmUwZTBlMDk5OTk5OTRkNGQ0ZCIs
CisgICJiMjE4MmJkNjYwNGRmNGE1ODJmZGRiYzdlMGUwZTBiYWJhYmE4Nzg3ODc0ZDRkNGQiLAor
ICAiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZmZmZmZmZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRk
IiwKKyAgIjY3MDAxZmIyMTgyYmQ2NjA0ZGY0YTU4MmZkZGJjN2UwZTBlMGJhYmFiYTg3ODc4NzRk
NGQ0ZDFhMWExYSIsCisgICI2NzAwMWZiMjE4MmJkNjYwNGRmNGE1ODJmZGRiYzdmZmZmZmZlMGUw
ZTBiYWJhYmE4Nzg3ODc0ZDRkNGQxYTFhMWEiCispLm1hcChjb2xvcnMpOworCit2YXIgUmRHeSA9
IHJhbXAoc2NoZW1lJDUpOworCit2YXIgc2NoZW1lJDYgPSBuZXcgQXJyYXkoMykuY29uY2F0KAor
ICAiZmM4ZDU5ZmZmZmJmOTFiZmRiIiwKKyAgImQ3MTkxY2ZkYWU2MWFiZDllOTJjN2JiNiIsCisg
ICJkNzE5MWNmZGFlNjFmZmZmYmZhYmQ5ZTkyYzdiYjYiLAorICAiZDczMDI3ZmM4ZDU5ZmVlMDkw
ZTBmM2Y4OTFiZmRiNDU3NWI0IiwKKyAgImQ3MzAyN2ZjOGQ1OWZlZTA5MGZmZmZiZmUwZjNmODkx
YmZkYjQ1NzViNCIsCisgICJkNzMwMjdmNDZkNDNmZGFlNjFmZWUwOTBlMGYzZjhhYmQ5ZTk3NGFk
ZDE0NTc1YjQiLAorICAiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZmZmZmJmZTBmM2Y4YWJkOWU5
NzRhZGQxNDU3NWI0IiwKKyAgImE1MDAyNmQ3MzAyN2Y0NmQ0M2ZkYWU2MWZlZTA5MGUwZjNmOGFi
ZDllOTc0YWRkMTQ1NzViNDMxMzY5NSIsCisgICJhNTAwMjZkNzMwMjdmNDZkNDNmZGFlNjFmZWUw
OTBmZmZmYmZlMGYzZjhhYmQ5ZTk3NGFkZDE0NTc1YjQzMTM2OTUiCispLm1hcChjb2xvcnMpOwor
Cit2YXIgUmRZbEJ1ID0gcmFtcChzY2hlbWUkNik7CisKK3ZhciBzY2hlbWUkNyA9IG5ldyBBcnJh
eSgzKS5jb25jYXQoCisgICJmYzhkNTlmZmZmYmY5MWNmNjAiLAorICAiZDcxOTFjZmRhZTYxYTZk
OTZhMWE5NjQxIiwKKyAgImQ3MTkxY2ZkYWU2MWZmZmZiZmE2ZDk2YTFhOTY0MSIsCisgICJkNzMw
MjdmYzhkNTlmZWUwOGJkOWVmOGI5MWNmNjAxYTk4NTAiLAorICAiZDczMDI3ZmM4ZDU5ZmVlMDhi
ZmZmZmJmZDllZjhiOTFjZjYwMWE5ODUwIiwKKyAgImQ3MzAyN2Y0NmQ0M2ZkYWU2MWZlZTA4YmQ5
ZWY4YmE2ZDk2YTY2YmQ2MzFhOTg1MCIsCisgICJkNzMwMjdmNDZkNDNmZGFlNjFmZWUwOGJmZmZm
YmZkOWVmOGJhNmQ5NmE2NmJkNjMxYTk4NTAiLAorICAiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYx
ZmVlMDhiZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwMDA2ODM3IiwKKyAgImE1MDAyNmQ3MzAyN2Y0
NmQ0M2ZkYWU2MWZlZTA4YmZmZmZiZmQ5ZWY4YmE2ZDk2YTY2YmQ2MzFhOTg1MDAwNjgzNyIKKyku
bWFwKGNvbG9ycyk7CisKK3ZhciBSZFlsR24gPSByYW1wKHNjaGVtZSQ3KTsKKwordmFyIHNjaGVt
ZSQ4ID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImZjOGQ1OWZmZmZiZjk5ZDU5NCIsCisgICJk
NzE5MWNmZGFlNjFhYmRkYTQyYjgzYmEiLAorICAiZDcxOTFjZmRhZTYxZmZmZmJmYWJkZGE0MmI4
M2JhIiwKKyAgImQ1M2U0ZmZjOGQ1OWZlZTA4YmU2ZjU5ODk5ZDU5NDMyODhiZCIsCisgICJkNTNl
NGZmYzhkNTlmZWUwOGJmZmZmYmZlNmY1OTg5OWQ1OTQzMjg4YmQiLAorICAiZDUzZTRmZjQ2ZDQz
ZmRhZTYxZmVlMDhiZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkIiwKKyAgImQ1M2U0ZmY0NmQ0M2Zk
YWU2MWZlZTA4YmZmZmZiZmU2ZjU5OGFiZGRhNDY2YzJhNTMyODhiZCIsCisgICI5ZTAxNDJkNTNl
NGZmNDZkNDNmZGFlNjFmZWUwOGJlNmY1OThhYmRkYTQ2NmMyYTUzMjg4YmQ1ZTRmYTIiLAorICAi
OWUwMTQyZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZTZmNTk4YWJkZGE0NjZjMmE1MzI4
OGJkNWU0ZmEyIgorKS5tYXAoY29sb3JzKTsKKwordmFyIFNwZWN0cmFsID0gcmFtcChzY2hlbWUk
OCk7CisKK3ZhciBzY2hlbWUkOSA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJlNWY1Zjk5OWQ4
YzkyY2EyNWYiLAorICAiZWRmOGZiYjJlMmUyNjZjMmE0MjM4YjQ1IiwKKyAgImVkZjhmYmIyZTJl
MjY2YzJhNDJjYTI1ZjAwNmQyYyIsCisgICJlZGY4ZmJjY2VjZTY5OWQ4Yzk2NmMyYTQyY2EyNWYw
MDZkMmMiLAorICAiZWRmOGZiY2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2MjM4YjQ1MDA1ODI0IiwK
KyAgImY3ZmNmZGU1ZjVmOWNjZWNlNjk5ZDhjOTY2YzJhNDQxYWU3NjIzOGI0NTAwNTgyNCIsCisg
ICJmN2ZjZmRlNWY1ZjljY2VjZTY5OWQ4Yzk2NmMyYTQ0MWFlNzYyMzhiNDUwMDZkMmMwMDQ0MWIi
CispLm1hcChjb2xvcnMpOworCit2YXIgQnVHbiA9IHJhbXAoc2NoZW1lJDkpOworCit2YXIgc2No
ZW1lJGEgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZTBlY2Y0OWViY2RhODg1NmE3IiwKKyAg
ImVkZjhmYmIzY2RlMzhjOTZjNjg4NDE5ZCIsCisgICJlZGY4ZmJiM2NkZTM4Yzk2YzY4ODU2YTc4
MTBmN2MiLAorICAiZWRmOGZiYmZkM2U2OWViY2RhOGM5NmM2ODg1NmE3ODEwZjdjIiwKKyAgImVk
ZjhmYmJmZDNlNjllYmNkYThjOTZjNjhjNmJiMTg4NDE5ZDZlMDE2YiIsCisgICJmN2ZjZmRlMGVj
ZjRiZmQzZTY5ZWJjZGE4Yzk2YzY4YzZiYjE4ODQxOWQ2ZTAxNmIiLAorICAiZjdmY2ZkZTBlY2Y0
YmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkODEwZjdjNGQwMDRiIgorKS5tYXAoY29sb3Jz
KTsKKwordmFyIEJ1UHUgPSByYW1wKHNjaGVtZSRhKTsKKwordmFyIHNjaGVtZSRiID0gbmV3IEFy
cmF5KDMpLmNvbmNhdCgKKyAgImUwZjNkYmE4ZGRiNTQzYTJjYSIsCisgICJmMGY5ZThiYWU0YmM3
YmNjYzQyYjhjYmUiLAorICAiZjBmOWU4YmFlNGJjN2JjY2M0NDNhMmNhMDg2OGFjIiwKKyAgImYw
ZjllOGNjZWJjNWE4ZGRiNTdiY2NjNDQzYTJjYTA4NjhhYyIsCisgICJmMGY5ZThjY2ViYzVhOGRk
YjU3YmNjYzQ0ZWIzZDMyYjhjYmUwODU4OWUiLAorICAiZjdmY2YwZTBmM2RiY2NlYmM1YThkZGI1
N2JjY2M0NGViM2QzMmI4Y2JlMDg1ODllIiwKKyAgImY3ZmNmMGUwZjNkYmNjZWJjNWE4ZGRiNTdi
Y2NjNDRlYjNkMzJiOGNiZTA4NjhhYzA4NDA4MSIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBHbkJ1
ID0gcmFtcChzY2hlbWUkYik7CisKK3ZhciBzY2hlbWUkYyA9IG5ldyBBcnJheSgzKS5jb25jYXQo
CisgICJmZWU4YzhmZGJiODRlMzRhMzMiLAorICAiZmVmMGQ5ZmRjYzhhZmM4ZDU5ZDczMDFmIiwK
KyAgImZlZjBkOWZkY2M4YWZjOGQ1OWUzNGEzM2IzMDAwMCIsCisgICJmZWYwZDlmZGQ0OWVmZGJi
ODRmYzhkNTllMzRhMzNiMzAwMDAiLAorICAiZmVmMGQ5ZmRkNDllZmRiYjg0ZmM4ZDU5ZWY2NTQ4
ZDczMDFmOTkwMDAwIiwKKyAgImZmZjdlY2ZlZThjOGZkZDQ5ZWZkYmI4NGZjOGQ1OWVmNjU0OGQ3
MzAxZjk5MDAwMCIsCisgICJmZmY3ZWNmZWU4YzhmZGQ0OWVmZGJiODRmYzhkNTllZjY1NDhkNzMw
MWZiMzAwMDA3ZjAwMDAiCispLm1hcChjb2xvcnMpOworCit2YXIgT3JSZCA9IHJhbXAoc2NoZW1l
JGMpOworCit2YXIgc2NoZW1lJGQgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZWNlMmYwYTZi
ZGRiMWM5MDk5IiwKKyAgImY2ZWZmN2JkYzllMTY3YTljZjAyODE4YSIsCisgICJmNmVmZjdiZGM5
ZTE2N2E5Y2YxYzkwOTkwMTZjNTkiLAorICAiZjZlZmY3ZDBkMWU2YTZiZGRiNjdhOWNmMWM5MDk5
MDE2YzU5IiwKKyAgImY2ZWZmN2QwZDFlNmE2YmRkYjY3YTljZjM2OTBjMDAyODE4YTAxNjQ1MCIs
CisgICJmZmY3ZmJlY2UyZjBkMGQxZTZhNmJkZGI2N2E5Y2YzNjkwYzAwMjgxOGEwMTY0NTAiLAor
ICAiZmZmN2ZiZWNlMmYwZDBkMWU2YTZiZGRiNjdhOWNmMzY5MGMwMDI4MThhMDE2YzU5MDE0NjM2
IgorKS5tYXAoY29sb3JzKTsKKwordmFyIFB1QnVHbiA9IHJhbXAoc2NoZW1lJGQpOworCit2YXIg
c2NoZW1lJGUgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZWNlN2YyYTZiZGRiMmI4Y2JlIiwK
KyAgImYxZWVmNmJkYzllMTc0YTljZjA1NzBiMCIsCisgICJmMWVlZjZiZGM5ZTE3NGE5Y2YyYjhj
YmUwNDVhOGQiLAorICAiZjFlZWY2ZDBkMWU2YTZiZGRiNzRhOWNmMmI4Y2JlMDQ1YThkIiwKKyAg
ImYxZWVmNmQwZDFlNmE2YmRkYjc0YTljZjM2OTBjMDA1NzBiMDAzNGU3YiIsCisgICJmZmY3ZmJl
Y2U3ZjJkMGQxZTZhNmJkZGI3NGE5Y2YzNjkwYzAwNTcwYjAwMzRlN2IiLAorICAiZmZmN2ZiZWNl
N2YyZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDQ1YThkMDIzODU4IgorKS5tYXAoY29s
b3JzKTsKKwordmFyIFB1QnUgPSByYW1wKHNjaGVtZSRlKTsKKwordmFyIHNjaGVtZSRmID0gbmV3
IEFycmF5KDMpLmNvbmNhdCgKKyAgImU3ZTFlZmM5OTRjN2RkMWM3NyIsCisgICJmMWVlZjZkN2I1
ZDhkZjY1YjBjZTEyNTYiLAorICAiZjFlZWY2ZDdiNWQ4ZGY2NWIwZGQxYzc3OTgwMDQzIiwKKyAg
ImYxZWVmNmQ0YjlkYWM5OTRjN2RmNjViMGRkMWM3Nzk4MDA0MyIsCisgICJmMWVlZjZkNGI5ZGFj
OTk0YzdkZjY1YjBlNzI5OGFjZTEyNTY5MTAwM2YiLAorICAiZjdmNGY5ZTdlMWVmZDRiOWRhYzk5
NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTEwMDNmIiwKKyAgImY3ZjRmOWU3ZTFlZmQ0YjlkYWM5OTRj
N2RmNjViMGU3Mjk4YWNlMTI1Njk4MDA0MzY3MDAxZiIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBQ
dVJkID0gcmFtcChzY2hlbWUkZik7CisKK3ZhciBzY2hlbWUkZyA9IG5ldyBBcnJheSgzKS5jb25j
YXQoCisgICJmZGUwZGRmYTlmYjVjNTFiOGEiLAorICAiZmVlYmUyZmJiNGI5Zjc2OGExYWUwMTdl
IiwKKyAgImZlZWJlMmZiYjRiOWY3NjhhMWM1MWI4YTdhMDE3NyIsCisgICJmZWViZTJmY2M1YzBm
YTlmYjVmNzY4YTFjNTFiOGE3YTAxNzciLAorICAiZmVlYmUyZmNjNWMwZmE5ZmI1Zjc2OGExZGQz
NDk3YWUwMTdlN2EwMTc3IiwKKyAgImZmZjdmM2ZkZTBkZGZjYzVjMGZhOWZiNWY3NjhhMWRkMzQ5
N2FlMDE3ZTdhMDE3NyIsCisgICJmZmY3ZjNmZGUwZGRmY2M1YzBmYTlmYjVmNzY4YTFkZDM0OTdh
ZTAxN2U3YTAxNzc0OTAwNmEiCispLm1hcChjb2xvcnMpOworCit2YXIgUmRQdSA9IHJhbXAoc2No
ZW1lJGcpOworCit2YXIgc2NoZW1lJGggPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZWRmOGIx
N2ZjZGJiMmM3ZmI4IiwKKyAgImZmZmZjY2ExZGFiNDQxYjZjNDIyNWVhOCIsCisgICJmZmZmY2Nh
MWRhYjQ0MWI2YzQyYzdmYjgyNTM0OTQiLAorICAiZmZmZmNjYzdlOWI0N2ZjZGJiNDFiNmM0MmM3
ZmI4MjUzNDk0IiwKKyAgImZmZmZjY2M3ZTliNDdmY2RiYjQxYjZjNDFkOTFjMDIyNWVhODBjMmM4
NCIsCisgICJmZmZmZDllZGY4YjFjN2U5YjQ3ZmNkYmI0MWI2YzQxZDkxYzAyMjVlYTgwYzJjODQi
LAorICAiZmZmZmQ5ZWRmOGIxYzdlOWI0N2ZjZGJiNDFiNmM0MWQ5MWMwMjI1ZWE4MjUzNDk0MDgx
ZDU4IgorKS5tYXAoY29sb3JzKTsKKwordmFyIFlsR25CdSA9IHJhbXAoc2NoZW1lJGgpOworCit2
YXIgc2NoZW1lJGkgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZjdmY2I5YWRkZDhlMzFhMzU0
IiwKKyAgImZmZmZjY2MyZTY5OTc4YzY3OTIzODQ0MyIsCisgICJmZmZmY2NjMmU2OTk3OGM2Nzkz
MWEzNTQwMDY4MzciLAorICAiZmZmZmNjZDlmMGEzYWRkZDhlNzhjNjc5MzFhMzU0MDA2ODM3IiwK
KyAgImZmZmZjY2Q5ZjBhM2FkZGQ4ZTc4YzY3OTQxYWI1ZDIzODQ0MzAwNWEzMiIsCisgICJmZmZm
ZTVmN2ZjYjlkOWYwYTNhZGRkOGU3OGM2Nzk0MWFiNWQyMzg0NDMwMDVhMzIiLAorICAiZmZmZmU1
ZjdmY2I5ZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQzMDA2ODM3MDA0NTI5IgorKS5tYXAo
Y29sb3JzKTsKKwordmFyIFlsR24gPSByYW1wKHNjaGVtZSRpKTsKKwordmFyIHNjaGVtZSRqID0g
bmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImZmZjdiY2ZlYzQ0ZmQ5NWYwZSIsCisgICJmZmZmZDRm
ZWQ5OGVmZTk5MjljYzRjMDIiLAorICAiZmZmZmQ0ZmVkOThlZmU5OTI5ZDk1ZjBlOTkzNDA0IiwK
KyAgImZmZmZkNGZlZTM5MWZlYzQ0ZmZlOTkyOWQ5NWYwZTk5MzQwNCIsCisgICJmZmZmZDRmZWUz
OTFmZWM0NGZmZTk5MjllYzcwMTRjYzRjMDI4YzJkMDQiLAorICAiZmZmZmU1ZmZmN2JjZmVlMzkx
ZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOGMyZDA0IiwKKyAgImZmZmZlNWZmZjdiY2ZlZTM5MWZl
YzQ0ZmZlOTkyOWVjNzAxNGNjNGMwMjk5MzQwNDY2MjUwNiIKKykubWFwKGNvbG9ycyk7CisKK3Zh
ciBZbE9yQnIgPSByYW1wKHNjaGVtZSRqKTsKKwordmFyIHNjaGVtZSRrID0gbmV3IEFycmF5KDMp
LmNvbmNhdCgKKyAgImZmZWRhMGZlYjI0Y2YwM2IyMCIsCisgICJmZmZmYjJmZWNjNWNmZDhkM2Nl
MzFhMWMiLAorICAiZmZmZmIyZmVjYzVjZmQ4ZDNjZjAzYjIwYmQwMDI2IiwKKyAgImZmZmZiMmZl
ZDk3NmZlYjI0Y2ZkOGQzY2YwM2IyMGJkMDAyNiIsCisgICJmZmZmYjJmZWQ5NzZmZWIyNGNmZDhk
M2NmYzRlMmFlMzFhMWNiMTAwMjYiLAorICAiZmZmZmNjZmZlZGEwZmVkOTc2ZmViMjRjZmQ4ZDNj
ZmM0ZTJhZTMxYTFjYjEwMDI2IiwKKyAgImZmZmZjY2ZmZWRhMGZlZDk3NmZlYjI0Y2ZkOGQzY2Zj
NGUyYWUzMWExY2JkMDAyNjgwMDAyNiIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBZbE9yUmQgPSBy
YW1wKHNjaGVtZSRrKTsKKwordmFyIHNjaGVtZSRsID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAg
ImRlZWJmNzllY2FlMTMxODJiZCIsCisgICJlZmYzZmZiZGQ3ZTc2YmFlZDYyMTcxYjUiLAorICAi
ZWZmM2ZmYmRkN2U3NmJhZWQ2MzE4MmJkMDg1MTljIiwKKyAgImVmZjNmZmM2ZGJlZjllY2FlMTZi
YWVkNjMxODJiZDA4NTE5YyIsCisgICJlZmYzZmZjNmRiZWY5ZWNhZTE2YmFlZDY0MjkyYzYyMTcx
YjUwODQ1OTQiLAorICAiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1
MDg0NTk0IiwKKyAgImY3ZmJmZmRlZWJmN2M2ZGJlZjllY2FlMTZiYWVkNjQyOTJjNjIxNzFiNTA4
NTE5YzA4MzA2YiIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBCbHVlcyA9IHJhbXAoc2NoZW1lJGwp
OworCit2YXIgc2NoZW1lJG0gPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZTVmNWUwYTFkOTli
MzFhMzU0IiwKKyAgImVkZjhlOWJhZTRiMzc0YzQ3NjIzOGI0NSIsCisgICJlZGY4ZTliYWU0YjM3
NGM0NzYzMWEzNTQwMDZkMmMiLAorICAiZWRmOGU5YzdlOWMwYTFkOTliNzRjNDc2MzFhMzU0MDA2
ZDJjIiwKKyAgImVkZjhlOWM3ZTljMGExZDk5Yjc0YzQ3NjQxYWI1ZDIzOGI0NTAwNWEzMiIsCisg
ICJmN2ZjZjVlNWY1ZTBjN2U5YzBhMWQ5OWI3NGM0NzY0MWFiNWQyMzhiNDUwMDVhMzIiLAorICAi
ZjdmY2Y1ZTVmNWUwYzdlOWMwYTFkOTliNzRjNDc2NDFhYjVkMjM4YjQ1MDA2ZDJjMDA0NDFiIgor
KS5tYXAoY29sb3JzKTsKKwordmFyIEdyZWVucyA9IHJhbXAoc2NoZW1lJG0pOworCit2YXIgc2No
ZW1lJG4gPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZjBmMGYwYmRiZGJkNjM2MzYzIiwKKyAg
ImY3ZjdmN2NjY2NjYzk2OTY5NjUyNTI1MiIsCisgICJmN2Y3ZjdjY2NjY2M5Njk2OTY2MzYzNjMy
NTI1MjUiLAorICAiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NjM2MzYzMjUyNTI1IiwKKyAgImY3
ZjdmN2Q5ZDlkOWJkYmRiZDk2OTY5NjczNzM3MzUyNTI1MjI1MjUyNSIsCisgICJmZmZmZmZmMGYw
ZjBkOWQ5ZDliZGJkYmQ5Njk2OTY3MzczNzM1MjUyNTIyNTI1MjUiLAorICAiZmZmZmZmZjBmMGYw
ZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1MDAwMDAwIgorKS5tYXAoY29sb3Jz
KTsKKwordmFyIEdyZXlzID0gcmFtcChzY2hlbWUkbik7CisKK3ZhciBzY2hlbWUkbyA9IG5ldyBB
cnJheSgzKS5jb25jYXQoCisgICJlZmVkZjViY2JkZGM3NTZiYjEiLAorICAiZjJmMGY3Y2JjOWUy
OWU5YWM4NmE1MWEzIiwKKyAgImYyZjBmN2NiYzllMjllOWFjODc1NmJiMTU0Mjc4ZiIsCisgICJm
MmYwZjdkYWRhZWJiY2JkZGM5ZTlhYzg3NTZiYjE1NDI3OGYiLAorICAiZjJmMGY3ZGFkYWViYmNi
ZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNGExNDg2IiwKKyAgImZjZmJmZGVmZWRmNWRhZGFlYmJjYmRk
YzllOWFjODgwN2RiYTZhNTFhMzRhMTQ4NiIsCisgICJmY2ZiZmRlZmVkZjVkYWRhZWJiY2JkZGM5
ZTlhYzg4MDdkYmE2YTUxYTM1NDI3OGYzZjAwN2QiCispLm1hcChjb2xvcnMpOworCit2YXIgUHVy
cGxlcyA9IHJhbXAoc2NoZW1lJG8pOworCit2YXIgc2NoZW1lJHAgPSBuZXcgQXJyYXkoMykuY29u
Y2F0KAorICAiZmVlMGQyZmM5MjcyZGUyZDI2IiwKKyAgImZlZTVkOWZjYWU5MWZiNmE0YWNiMTgx
ZCIsCisgICJmZWU1ZDlmY2FlOTFmYjZhNGFkZTJkMjZhNTBmMTUiLAorICAiZmVlNWQ5ZmNiYmEx
ZmM5MjcyZmI2YTRhZGUyZDI2YTUwZjE1IiwKKyAgImZlZTVkOWZjYmJhMWZjOTI3MmZiNmE0YWVm
M2IyY2NiMTgxZDk5MDAwZCIsCisgICJmZmY1ZjBmZWUwZDJmY2JiYTFmYzkyNzJmYjZhNGFlZjNi
MmNjYjE4MWQ5OTAwMGQiLAorICAiZmZmNWYwZmVlMGQyZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJj
Y2IxODFkYTUwZjE1NjcwMDBkIgorKS5tYXAoY29sb3JzKTsKKwordmFyIFJlZHMgPSByYW1wKHNj
aGVtZSRwKTsKKwordmFyIHNjaGVtZSRxID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImZlZTZj
ZWZkYWU2YmU2NTUwZCIsCisgICJmZWVkZGVmZGJlODVmZDhkM2NkOTQ3MDEiLAorICAiZmVlZGRl
ZmRiZTg1ZmQ4ZDNjZTY1NTBkYTYzNjAzIiwKKyAgImZlZWRkZWZkZDBhMmZkYWU2YmZkOGQzY2U2
NTUwZGE2MzYwMyIsCisgICJmZWVkZGVmZGQwYTJmZGFlNmJmZDhkM2NmMTY5MTNkOTQ4MDE4YzJk
MDQiLAorICAiZmZmNWViZmVlNmNlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2OTEzZDk0ODAxOGMyZDA0
IiwKKyAgImZmZjVlYmZlZTZjZWZkZDBhMmZkYWU2YmZkOGQzY2YxNjkxM2Q5NDgwMWE2MzYwMzdm
MjcwNCIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBPcmFuZ2VzID0gcmFtcChzY2hlbWUkcSk7CisK
K2Z1bmN0aW9uIGNpdmlkaXModCkgeworICB0ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgdCkp
OworICByZXR1cm4gInJnYigiCisgICAgICArIE1hdGgubWF4KDAsIE1hdGgubWluKDI1NSwgTWF0
aC5yb3VuZCgtNC41NCAtIHQgKiAoMzUuMzQgLSB0ICogKDIzODEuNzMgLSB0ICogKDY0MDIuNyAt
IHQgKiAoNzAyNC43MiAtIHQgKiAyNzEwLjU3KSkpKSkpKSArICIsICIKKyAgICAgICsgTWF0aC5t
YXgoMCwgTWF0aC5taW4oMjU1LCBNYXRoLnJvdW5kKDMyLjQ5ICsgdCAqICgxNzAuNzMgKyB0ICog
KDUyLjgyIC0gdCAqICgxMzEuNDYgLSB0ICogKDE3Ni41OCAtIHQgKiA2Ny4zNykpKSkpKSkgKyAi
LCAiCisgICAgICArIE1hdGgubWF4KDAsIE1hdGgubWluKDI1NSwgTWF0aC5yb3VuZCg4MS4yNCAr
IHQgKiAoNDQyLjM2IC0gdCAqICgyNDgyLjQzIC0gdCAqICg2MTY3LjI0IC0gdCAqICg2NjE0Ljk0
IC0gdCAqIDI0NzUuNjcpKSkpKSkpCisgICAgICArICIpIjsKK30KKwordmFyIGN1YmVoZWxpeCQz
ID0gY3ViZWhlbGl4TG9uZyhjdWJlaGVsaXgoMzAwLCAwLjUsIDAuMCksIGN1YmVoZWxpeCgtMjQw
LCAwLjUsIDEuMCkpOworCit2YXIgd2FybSA9IGN1YmVoZWxpeExvbmcoY3ViZWhlbGl4KC0xMDAs
IDAuNzUsIDAuMzUpLCBjdWJlaGVsaXgoODAsIDEuNTAsIDAuOCkpOworCit2YXIgY29vbCA9IGN1
YmVoZWxpeExvbmcoY3ViZWhlbGl4KDI2MCwgMC43NSwgMC4zNSksIGN1YmVoZWxpeCg4MCwgMS41
MCwgMC44KSk7CisKK3ZhciBjID0gY3ViZWhlbGl4KCk7CisKK2Z1bmN0aW9uIHJhaW5ib3codCkg
eworICBpZiAodCA8IDAgfHwgdCA+IDEpIHQgLT0gTWF0aC5mbG9vcih0KTsKKyAgdmFyIHRzID0g
TWF0aC5hYnModCAtIDAuNSk7CisgIGMuaCA9IDM2MCAqIHQgLSAxMDA7CisgIGMucyA9IDEuNSAt
IDEuNSAqIHRzOworICBjLmwgPSAwLjggLSAwLjkgKiB0czsKKyAgcmV0dXJuIGMgKyAiIjsKK30K
KwordmFyIGMkMSA9IHJnYigpLAorICAgIHBpXzFfMyA9IE1hdGguUEkgLyAzLAorICAgIHBpXzJf
MyA9IE1hdGguUEkgKiAyIC8gMzsKKworZnVuY3Rpb24gc2luZWJvdyh0KSB7CisgIHZhciB4Owor
ICB0ID0gKDAuNSAtIHQpICogTWF0aC5QSTsKKyAgYyQxLnIgPSAyNTUgKiAoeCA9IE1hdGguc2lu
KHQpKSAqIHg7CisgIGMkMS5nID0gMjU1ICogKHggPSBNYXRoLnNpbih0ICsgcGlfMV8zKSkgKiB4
OworICBjJDEuYiA9IDI1NSAqICh4ID0gTWF0aC5zaW4odCArIHBpXzJfMykpICogeDsKKyAgcmV0
dXJuIGMkMSArICIiOworfQorCitmdW5jdGlvbiB0dXJibyh0KSB7CisgIHQgPSBNYXRoLm1heCgw
LCBNYXRoLm1pbigxLCB0KSk7CisgIHJldHVybiAicmdiKCIKKyAgICAgICsgTWF0aC5tYXgoMCwg
TWF0aC5taW4oMjU1LCBNYXRoLnJvdW5kKDM0LjYxICsgdCAqICgxMTcyLjMzIC0gdCAqICgxMDc5
My41NiAtIHQgKiAoMzMzMDAuMTIgLSB0ICogKDM4Mzk0LjQ5IC0gdCAqIDE0ODI1LjA1KSkpKSkp
KSArICIsICIKKyAgICAgICsgTWF0aC5tYXgoMCwgTWF0aC5taW4oMjU1LCBNYXRoLnJvdW5kKDIz
LjMxICsgdCAqICg1NTcuMzMgKyB0ICogKDEyMjUuMzMgLSB0ICogKDM1NzQuOTYgLSB0ICogKDEw
NzMuNzcgKyB0ICogNzA3LjU2KSkpKSkpKSArICIsICIKKyAgICAgICsgTWF0aC5tYXgoMCwgTWF0
aC5taW4oMjU1LCBNYXRoLnJvdW5kKDI3LjIgKyB0ICogKDMyMTEuMSAtIHQgKiAoMTUzMjcuOTcg
LSB0ICogKDI3ODE0IC0gdCAqICgyMjU2OS4xOCAtIHQgKiA2ODM4LjY2KSkpKSkpKQorICAgICAg
KyAiKSI7Cit9CisKK2Z1bmN0aW9uIHJhbXAkMShyYW5nZSkgeworICB2YXIgbiA9IHJhbmdlLmxl
bmd0aDsKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICByZXR1cm4gcmFuZ2VbTWF0aC5tYXgo
MCwgTWF0aC5taW4obiAtIDEsIE1hdGguZmxvb3IodCAqIG4pKSldOworICB9OworfQorCit2YXIg
dmlyaWRpcyA9IHJhbXAkMShjb2xvcnMoIjQ0MDE1NDQ0MDI1NjQ1MDQ1NzQ1MDU1OTQ2MDc1YTQ2
MDg1YzQ2MGE1ZDQ2MGI1ZTQ3MGQ2MDQ3MGU2MTQ3MTA2MzQ3MTE2NDQ3MTM2NTQ4MTQ2NzQ4MTY2
ODQ4MTc2OTQ4MTg2YTQ4MWE2YzQ4MWI2ZDQ4MWM2ZTQ4MWQ2ZjQ4MWY3MDQ4MjA3MTQ4MjE3MzQ4
MjM3NDQ4MjQ3NTQ4MjU3NjQ4MjY3NzQ4Mjg3ODQ4Mjk3OTQ3MmE3YTQ3MmM3YTQ3MmQ3YjQ3MmU3
YzQ3MmY3ZDQ2MzA3ZTQ2MzI3ZTQ2MzM3ZjQ2MzQ4MDQ1MzU4MTQ1Mzc4MTQ1Mzg4MjQ0Mzk4MzQ0
M2E4MzQ0M2I4NDQzM2Q4NDQzM2U4NTQyM2Y4NTQyNDA4NjQyNDE4NjQxNDI4NzQxNDQ4NzQwNDU4
ODQwNDY4ODNmNDc4ODNmNDg4OTNlNDk4OTNlNGE4OTNlNGM4YTNkNGQ4YTNkNGU4YTNjNGY4YTNj
NTA4YjNiNTE4YjNiNTI4YjNhNTM4YjNhNTQ4YzM5NTU4YzM5NTY4YzM4NTg4YzM4NTk4YzM3NWE4
YzM3NWI4ZDM2NWM4ZDM2NWQ4ZDM1NWU4ZDM1NWY4ZDM0NjA4ZDM0NjE4ZDMzNjI4ZDMzNjM4ZDMy
NjQ4ZTMyNjU4ZTMxNjY4ZTMxNjc4ZTMxNjg4ZTMwNjk4ZTMwNmE4ZTJmNmI4ZTJmNmM4ZTJlNmQ4
ZTJlNmU4ZTJlNmY4ZTJkNzA4ZTJkNzE4ZTJjNzE4ZTJjNzI4ZTJjNzM4ZTJiNzQ4ZTJiNzU4ZTJh
NzY4ZTJhNzc4ZTJhNzg4ZTI5Nzk4ZTI5N2E4ZTI5N2I4ZTI4N2M4ZTI4N2Q4ZTI3N2U4ZTI3N2Y4
ZTI3ODA4ZTI2ODE4ZTI2ODI4ZTI2ODI4ZTI1ODM4ZTI1ODQ4ZTI1ODU4ZTI0ODY4ZTI0ODc4ZTIz
ODg4ZTIzODk4ZTIzOGE4ZDIyOGI4ZDIyOGM4ZDIyOGQ4ZDIxOGU4ZDIxOGY4ZDIxOTA4ZDIxOTE4
YzIwOTI4YzIwOTI4YzIwOTM4YzFmOTQ4YzFmOTU4YjFmOTY4YjFmOTc4YjFmOTg4YjFmOTk4YTFm
OWE4YTFlOWI4YTFlOWM4OTFlOWQ4OTFmOWU4OTFmOWY4ODFmYTA4ODFmYTE4ODFmYTE4NzFmYTI4
NzIwYTM4NjIwYTQ4NjIxYTU4NTIxYTY4NTIyYTc4NTIyYTg4NDIzYTk4MzI0YWE4MzI1YWI4MjI1
YWM4MjI2YWQ4MTI3YWQ4MTI4YWU4MDI5YWY3ZjJhYjA3ZjJjYjE3ZTJkYjI3ZDJlYjM3YzJmYjQ3
YzMxYjU3YjMyYjY3YTM0YjY3OTM1Yjc3OTM3Yjg3ODM4Yjk3NzNhYmE3NjNiYmI3NTNkYmM3NDNm
YmM3MzQwYmQ3MjQyYmU3MTQ0YmY3MDQ2YzA2ZjQ4YzE2ZTRhYzE2ZDRjYzI2YzRlYzM2YjUwYzQ2
YTUyYzU2OTU0YzU2ODU2YzY2NzU4Yzc2NTVhYzg2NDVjYzg2MzVlYzk2MjYwY2E2MDYzY2I1ZjY1
Y2I1ZTY3Y2M1YzY5Y2Q1YjZjY2Q1YTZlY2U1ODcwY2Y1NzczZDA1Njc1ZDA1NDc3ZDE1MzdhZDE1
MTdjZDI1MDdmZDM0ZTgxZDM0ZDg0ZDQ0Yjg2ZDU0OTg5ZDU0ODhiZDY0NjhlZDY0NTkwZDc0Mzkz
ZDc0MTk1ZDg0MDk4ZDgzZTliZDkzYzlkZDkzYmEwZGEzOWEyZGEzN2E1ZGIzNmE4ZGIzNGFhZGMz
MmFkZGMzMGIwZGQyZmIyZGQyZGI1ZGUyYmI4ZGUyOWJhZGUyOGJkZGYyNmMwZGYyNWMyZGYyM2M1
ZTAyMWM4ZTAyMGNhZTExZmNkZTExZGQwZTExY2QyZTIxYmQ1ZTIxYWQ4ZTIxOWRhZTMxOWRkZTMx
OGRmZTMxOGUyZTQxOGU1ZTQxOWU3ZTQxOWVhZTUxYWVjZTUxYmVmZTUxY2YxZTUxZGY0ZTYxZWY2
ZTYyMGY4ZTYyMWZiZTcyM2ZkZTcyNSIpKTsKKwordmFyIG1hZ21hID0gcmFtcCQxKGNvbG9ycygi
MDAwMDA0MDEwMDA1MDEwMTA2MDEwMTA4MDIwMTA5MDIwMjBiMDIwMjBkMDMwMzBmMDMwMzEyMDQw
NDE0MDUwNDE2MDYwNTE4MDYwNTFhMDcwNjFjMDgwNzFlMDkwNzIwMGEwODIyMGIwOTI0MGMwOTI2
MGQwYTI5MGUwYjJiMTAwYjJkMTEwYzJmMTIwZDMxMTMwZDM0MTQwZTM2MTUwZTM4MTYwZjNiMTgw
ZjNkMTkxMDNmMWExMDQyMWMxMDQ0MWQxMTQ3MWUxMTQ5MjAxMTRiMjExMTRlMjIxMTUwMjQxMjUz
MjUxMjU1MjcxMjU4MjkxMTVhMmExMTVjMmMxMTVmMmQxMTYxMmYxMTYzMzExMTY1MzMxMDY3MzQx
MDY5MzYxMDZiMzgxMDZjMzkwZjZlM2IwZjcwM2QwZjcxM2YwZjcyNDAwZjc0NDIwZjc1NDQwZjc2
NDUxMDc3NDcxMDc4NDkxMDc4NGExMDc5NGMxMTdhNGUxMTdiNGYxMjdiNTExMjdjNTIxMzdjNTQx
MzdkNTYxNDdkNTcxNTdlNTkxNTdlNWExNjdlNWMxNjdmNWQxNzdmNWYxODdmNjAxODgwNjIxOTgw
NjQxYTgwNjUxYTgwNjcxYjgwNjgxYzgxNmExYzgxNmIxZDgxNmQxZDgxNmUxZTgxNzAxZjgxNzIx
ZjgxNzMyMDgxNzUyMTgxNzYyMTgxNzgyMjgxNzkyMjgyN2IyMzgyN2MyMzgyN2UyNDgyODAyNTgy
ODEyNTgxODMyNjgxODQyNjgxODYyNzgxODgyNzgxODkyODgxOGIyOTgxOGMyOTgxOGUyYTgxOTAy
YTgxOTEyYjgxOTMyYjgwOTQyYzgwOTYyYzgwOTgyZDgwOTkyZDgwOWIyZTdmOWMyZTdmOWUyZjdm
YTAyZjdmYTEzMDdlYTMzMDdlYTUzMTdlYTYzMTdkYTgzMjdkYWEzMzdkYWIzMzdjYWQzNDdjYWUz
NDdiYjAzNTdiYjIzNTdiYjMzNjdhYjUzNjdhYjczNzc5YjgzNzc5YmEzODc4YmMzOTc4YmQzOTc3
YmYzYTc3YzAzYTc2YzIzYjc1YzQzYzc1YzUzYzc0YzczZDczYzgzZTczY2EzZTcyY2MzZjcxY2Q0
MDcxY2Y0MDcwZDA0MTZmZDI0MjZmZDM0MzZlZDU0NDZkZDY0NTZjZDg0NTZjZDk0NjZiZGI0NzZh
ZGM0ODY5ZGU0OTY4ZGY0YTY4ZTA0YzY3ZTI0ZDY2ZTM0ZTY1ZTQ0ZjY0ZTU1MDY0ZTc1MjYzZTg1
MzYyZTk1NDYyZWE1NjYxZWI1NzYwZWM1ODYwZWQ1YTVmZWU1YjVlZWY1ZDVlZjA1ZjVlZjE2MDVk
ZjI2MjVkZjI2NDVjZjM2NTVjZjQ2NzVjZjQ2OTVjZjU2YjVjZjY2YzVjZjY2ZTVjZjc3MDVjZjc3
MjVjZjg3NDVjZjg3NjVjZjk3ODVkZjk3OTVkZjk3YjVkZmE3ZDVlZmE3ZjVlZmE4MTVmZmI4MzVm
ZmI4NTYwZmI4NzYxZmM4OTYxZmM4YTYyZmM4YzYzZmM4ZTY0ZmM5MDY1ZmQ5MjY2ZmQ5NDY3ZmQ5
NjY4ZmQ5ODY5ZmQ5YTZhZmQ5YjZiZmU5ZDZjZmU5ZjZkZmVhMTZlZmVhMzZmZmVhNTcxZmVhNzcy
ZmVhOTczZmVhYTc0ZmVhYzc2ZmVhZTc3ZmViMDc4ZmViMjdhZmViNDdiZmViNjdjZmViNzdlZmVi
OTdmZmViYjgxZmViZDgyZmViZjg0ZmVjMTg1ZmVjMjg3ZmVjNDg4ZmVjNjhhZmVjODhjZmVjYThk
ZmVjYzhmZmVjZDkwZmVjZjkyZmVkMTk0ZmVkMzk1ZmVkNTk3ZmVkNzk5ZmVkODlhZmRkYTljZmRk
YzllZmRkZWEwZmRlMGExZmRlMmEzZmRlM2E1ZmRlNWE3ZmRlN2E5ZmRlOWFhZmRlYmFjZmNlY2Fl
ZmNlZWIwZmNmMGIyZmNmMmI0ZmNmNGI2ZmNmNmI4ZmNmN2I5ZmNmOWJiZmNmYmJkZmNmZGJmIikp
OworCit2YXIgaW5mZXJubyA9IHJhbXAkMShjb2xvcnMoIjAwMDAwNDAxMDAwNTAxMDEwNjAxMDEw
ODAyMDEwYTAyMDIwYzAyMDIwZTAzMDIxMDA0MDMxMjA0MDMxNDA1MDQxNzA2MDQxOTA3MDUxYjA4
MDUxZDA5MDYxZjBhMDcyMjBiMDcyNDBjMDgyNjBkMDgyOTBlMDkyYjEwMDkyZDExMGEzMDEyMGEz
MjE0MGIzNDE1MGIzNzE2MGIzOTE4MGMzYzE5MGMzZTFiMGM0MTFjMGM0MzFlMGM0NTFmMGM0ODIx
MGM0YTIzMGM0YzI0MGM0ZjI2MGM1MTI4MGI1MzI5MGI1NTJiMGI1NzJkMGI1OTJmMGE1YjMxMGE1
YzMyMGE1ZTM0MGE1ZjM2MDk2MTM4MDk2MjM5MDk2MzNiMDk2NDNkMDk2NTNlMDk2NjQwMGE2NzQy
MGE2ODQ0MGE2ODQ1MGE2OTQ3MGI2YTQ5MGI2YTRhMGM2YjRjMGM2YjRkMGQ2YzRmMGQ2YzUxMGU2
YzUyMGU2ZDU0MGY2ZDU1MGY2ZDU3MTA2ZTU5MTA2ZTVhMTE2ZTVjMTI2ZTVkMTI2ZTVmMTM2ZTYx
MTM2ZTYyMTQ2ZTY0MTU2ZTY1MTU2ZTY3MTY2ZTY5MTY2ZTZhMTc2ZTZjMTg2ZTZkMTg2ZTZmMTk2
ZTcxMTk2ZTcyMWE2ZTc0MWE2ZTc1MWI2ZTc3MWM2ZDc4MWM2ZDdhMWQ2ZDdjMWQ2ZDdkMWU2ZDdm
MWU2YzgwMWY2YzgyMjA2Yzg0MjA2Yjg1MjE2Yjg3MjE2Yjg4MjI2YThhMjI2YThjMjM2OThkMjM2
OThmMjQ2OTkwMjU2ODkyMjU2ODkzMjY2Nzk1MjY2Nzk3Mjc2Njk4Mjc2NjlhMjg2NTliMjk2NDlk
Mjk2NDlmMmE2M2EwMmE2M2EyMmI2MmEzMmM2MWE1MmM2MGE2MmQ2MGE4MmU1ZmE5MmU1ZWFiMmY1
ZWFkMzA1ZGFlMzA1Y2IwMzE1YmIxMzI1YWIzMzI1YWI0MzM1OWI2MzQ1OGI3MzU1N2I5MzU1NmJh
MzY1NWJjMzc1NGJkMzg1M2JmMzk1MmMwM2E1MWMxM2E1MGMzM2I0ZmM0M2M0ZWM2M2Q0ZGM3M2U0
Y2M4M2Y0YmNhNDA0YWNiNDE0OWNjNDI0OGNlNDM0N2NmNDQ0NmQwNDU0NWQyNDY0NGQzNDc0M2Q0
NDg0MmQ1NGE0MWQ3NGIzZmQ4NGMzZWQ5NGQzZGRhNGUzY2RiNTAzYmRkNTEzYWRlNTIzOGRmNTMz
N2UwNTUzNmUxNTYzNWUyNTczNGUzNTkzM2U0NWEzMWU1NWMzMGU2NWQyZmU3NWUyZWU4NjAyZGU5
NjEyYmVhNjMyYWViNjQyOWViNjYyOGVjNjcyNmVkNjkyNWVlNmEyNGVmNmMyM2VmNmUyMWYwNmYy
MGYxNzExZmYxNzMxZGYyNzQxY2YzNzYxYmYzNzgxOWY0NzkxOGY1N2IxN2Y1N2QxNWY2N2UxNGY2
ODAxM2Y3ODIxMmY3ODQxMGY4ODUwZmY4ODcwZWY4ODkwY2Y5OGIwYmY5OGMwYWY5OGUwOWZhOTAw
OGZhOTIwN2ZhOTQwN2ZiOTYwNmZiOTcwNmZiOTkwNmZiOWIwNmZiOWQwN2ZjOWYwN2ZjYTEwOGZj
YTMwOWZjYTUwYWZjYTYwY2ZjYTgwZGZjYWEwZmZjYWMxMWZjYWUxMmZjYjAxNGZjYjIxNmZjYjQx
OGZiYjYxYWZiYjgxZGZiYmExZmZiYmMyMWZiYmUyM2ZhYzAyNmZhYzIyOGZhYzQyYWZhYzYyZGY5
YzcyZmY5YzkzMmY5Y2IzNWY4Y2QzN2Y4Y2YzYWY3ZDEzZGY3ZDM0MGY2ZDU0M2Y2ZDc0NmY1ZDk0
OWY1ZGI0Y2Y0ZGQ0ZmY0ZGY1M2Y0ZTE1NmYzZTM1YWYzZTU1ZGYyZTY2MWYyZTg2NWYyZWE2OWYx
ZWM2ZGYxZWQ3MWYxZWY3NWYxZjE3OWYyZjI3ZGYyZjQ4MmYzZjU4NmYzZjY4YWY0Zjg4ZWY1Zjk5
MmY2ZmE5NmY4ZmI5YWY5ZmM5ZGZhZmRhMWZjZmZhNCIpKTsKKwordmFyIHBsYXNtYSA9IHJhbXAk
MShjb2xvcnMoIjBkMDg4NzEwMDc4ODEzMDc4OTE2MDc4YTE5MDY4YzFiMDY4ZDFkMDY4ZTIwMDY4
ZjIyMDY5MDI0MDY5MTI2MDU5MTI4MDU5MjJhMDU5MzJjMDU5NDJlMDU5NTJmMDU5NjMxMDU5NzMz
MDU5NzM1MDQ5ODM3MDQ5OTM4MDQ5YTNhMDQ5YTNjMDQ5YjNlMDQ5YzNmMDQ5YzQxMDQ5ZDQzMDM5
ZTQ0MDM5ZTQ2MDM5ZjQ4MDM5ZjQ5MDNhMDRiMDNhMTRjMDJhMTRlMDJhMjUwMDJhMjUxMDJhMzUz
MDJhMzU1MDJhNDU2MDFhNDU4MDFhNDU5MDFhNTViMDFhNTVjMDFhNjVlMDFhNjYwMDFhNjYxMDBh
NzYzMDBhNzY0MDBhNzY2MDBhNzY3MDBhODY5MDBhODZhMDBhODZjMDBhODZlMDBhODZmMDBhODcx
MDBhODcyMDFhODc0MDFhODc1MDFhODc3MDFhODc4MDFhODdhMDJhODdiMDJhODdkMDNhODdlMDNh
ODgwMDRhODgxMDRhNzgzMDVhNzg0MDVhNzg2MDZhNjg3MDdhNjg4MDhhNjhhMDlhNThiMGFhNThk
MGJhNThlMGNhNDhmMGRhNDkxMGVhMzkyMGZhMzk0MTBhMjk1MTFhMTk2MTNhMTk4MTRhMDk5MTU5
ZjlhMTY5ZjljMTc5ZTlkMTg5ZDllMTk5ZGEwMWE5Y2ExMWI5YmEyMWQ5YWEzMWU5YWE1MWY5OWE2
MjA5OGE3MjE5N2E4MjI5NmFhMjM5NWFiMjQ5NGFjMjY5NGFkMjc5M2FlMjg5MmIwMjk5MWIxMmE5
MGIyMmI4ZmIzMmM4ZWI0MmU4ZGI1MmY4Y2I2MzA4YmI3MzE4YWI4MzI4OWJhMzM4OGJiMzQ4OGJj
MzU4N2JkMzc4NmJlMzg4NWJmMzk4NGMwM2E4M2MxM2I4MmMyM2M4MWMzM2Q4MGM0M2U3ZmM1NDA3
ZWM2NDE3ZGM3NDI3Y2M4NDM3YmM5NDQ3YWNhNDU3YWNiNDY3OWNjNDc3OGNjNDk3N2NkNGE3NmNl
NGI3NWNmNGM3NGQwNGQ3M2QxNGU3MmQyNGY3MWQzNTE3MWQ0NTI3MGQ1NTM2ZmQ1NTQ2ZWQ2NTU2
ZGQ3NTY2Y2Q4NTc2YmQ5NTg2YWRhNWE2YWRhNWI2OWRiNWM2OGRjNWQ2N2RkNWU2NmRlNWY2NWRl
NjE2NGRmNjI2M2UwNjM2M2UxNjQ2MmUyNjU2MWUyNjY2MGUzNjg1ZmU0Njk1ZWU1NmE1ZGU1NmI1
ZGU2NmM1Y2U3NmU1YmU3NmY1YWU4NzA1OWU5NzE1OGU5NzI1N2VhNzQ1N2ViNzU1NmViNzY1NWVj
Nzc1NGVkNzk1M2VkN2E1MmVlN2I1MWVmN2M1MWVmN2U1MGYwN2Y0ZmYwODA0ZWYxODE0ZGYxODM0
Y2YyODQ0YmYzODU0YmYzODc0YWY0ODg0OWY0ODk0OGY1OGI0N2Y1OGM0NmY2OGQ0NWY2OGY0NGY3
OTA0NGY3OTE0M2Y3OTM0MmY4OTQ0MWY4OTU0MGY5OTczZmY5OTgzZWY5OWEzZWZhOWIzZGZhOWMz
Y2ZhOWUzYmZiOWYzYWZiYTEzOWZiYTIzOGZjYTMzOGZjYTUzN2ZjYTYzNmZjYTgzNWZjYTkzNGZk
YWIzM2ZkYWMzM2ZkYWUzMmZkYWYzMWZkYjEzMGZkYjIyZmZkYjQyZmZkYjUyZWZlYjcyZGZlYjgy
Y2ZlYmEyY2ZlYmIyYmZlYmQyYWZlYmUyYWZlYzAyOWZkYzIyOWZkYzMyOGZkYzUyN2ZkYzYyN2Zk
YzgyN2ZkY2EyNmZkY2IyNmZjY2QyNWZjY2UyNWZjZDAyNWZjZDIyNWZiZDMyNGZiZDUyNGZiZDcy
NGZhZDgyNGZhZGEyNGY5ZGMyNGY5ZGQyNWY4ZGYyNWY4ZTEyNWY3ZTIyNWY3ZTQyNWY2ZTYyNmY2
ZTgyNmY1ZTkyNmY1ZWIyN2Y0ZWQyN2YzZWUyN2YzZjAyN2YyZjIyN2YxZjQyNmYxZjUyNWYwZjcy
NGYwZjkyMSIpKTsKKworZnVuY3Rpb24gY29uc3RhbnQkYih4KSB7CisgIHJldHVybiBmdW5jdGlv
biBjb25zdGFudCgpIHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKwordmFyIGFicyQxID0gTWF0
aC5hYnM7Cit2YXIgYXRhbjIkMSA9IE1hdGguYXRhbjI7Cit2YXIgY29zJDIgPSBNYXRoLmNvczsK
K3ZhciBtYXgkMiA9IE1hdGgubWF4OwordmFyIG1pbiQxID0gTWF0aC5taW47Cit2YXIgc2luJDIg
PSBNYXRoLnNpbjsKK3ZhciBzcXJ0JDIgPSBNYXRoLnNxcnQ7CisKK3ZhciBlcHNpbG9uJDMgPSAx
ZS0xMjsKK3ZhciBwaSQ0ID0gTWF0aC5QSTsKK3ZhciBoYWxmUGkkMyA9IHBpJDQgLyAyOwordmFy
IHRhdSQ0ID0gMiAqIHBpJDQ7CisKK2Z1bmN0aW9uIGFjb3MkMSh4KSB7CisgIHJldHVybiB4ID4g
MSA/IDAgOiB4IDwgLTEgPyBwaSQ0IDogTWF0aC5hY29zKHgpOworfQorCitmdW5jdGlvbiBhc2lu
JDEoeCkgeworICByZXR1cm4geCA+PSAxID8gaGFsZlBpJDMgOiB4IDw9IC0xID8gLWhhbGZQaSQz
IDogTWF0aC5hc2luKHgpOworfQorCitmdW5jdGlvbiBhcmNJbm5lclJhZGl1cyhkKSB7CisgIHJl
dHVybiBkLmlubmVyUmFkaXVzOworfQorCitmdW5jdGlvbiBhcmNPdXRlclJhZGl1cyhkKSB7Cisg
IHJldHVybiBkLm91dGVyUmFkaXVzOworfQorCitmdW5jdGlvbiBhcmNTdGFydEFuZ2xlKGQpIHsK
KyAgcmV0dXJuIGQuc3RhcnRBbmdsZTsKK30KKworZnVuY3Rpb24gYXJjRW5kQW5nbGUoZCkgewor
ICByZXR1cm4gZC5lbmRBbmdsZTsKK30KKworZnVuY3Rpb24gYXJjUGFkQW5nbGUoZCkgeworICBy
ZXR1cm4gZCAmJiBkLnBhZEFuZ2xlOyAvLyBOb3RlOiBvcHRpb25hbCEKK30KKworZnVuY3Rpb24g
aW50ZXJzZWN0KHgwLCB5MCwgeDEsIHkxLCB4MiwgeTIsIHgzLCB5MykgeworICB2YXIgeDEwID0g
eDEgLSB4MCwgeTEwID0geTEgLSB5MCwKKyAgICAgIHgzMiA9IHgzIC0geDIsIHkzMiA9IHkzIC0g
eTIsCisgICAgICB0ID0geTMyICogeDEwIC0geDMyICogeTEwOworICBpZiAodCAqIHQgPCBlcHNp
bG9uJDMpIHJldHVybjsKKyAgdCA9ICh4MzIgKiAoeTAgLSB5MikgLSB5MzIgKiAoeDAgLSB4Mikp
IC8gdDsKKyAgcmV0dXJuIFt4MCArIHQgKiB4MTAsIHkwICsgdCAqIHkxMF07Cit9CisKKy8vIENv
bXB1dGUgcGVycGVuZGljdWxhciBvZmZzZXQgbGluZSBvZiBsZW5ndGggcmMuCisvLyBodHRwOi8v
bWF0aHdvcmxkLndvbGZyYW0uY29tL0NpcmNsZS1MaW5lSW50ZXJzZWN0aW9uLmh0bWwKK2Z1bmN0
aW9uIGNvcm5lclRhbmdlbnRzKHgwLCB5MCwgeDEsIHkxLCByMSwgcmMsIGN3KSB7CisgIHZhciB4
MDEgPSB4MCAtIHgxLAorICAgICAgeTAxID0geTAgLSB5MSwKKyAgICAgIGxvID0gKGN3ID8gcmMg
OiAtcmMpIC8gc3FydCQyKHgwMSAqIHgwMSArIHkwMSAqIHkwMSksCisgICAgICBveCA9IGxvICog
eTAxLAorICAgICAgb3kgPSAtbG8gKiB4MDEsCisgICAgICB4MTEgPSB4MCArIG94LAorICAgICAg
eTExID0geTAgKyBveSwKKyAgICAgIHgxMCA9IHgxICsgb3gsCisgICAgICB5MTAgPSB5MSArIG95
LAorICAgICAgeDAwID0gKHgxMSArIHgxMCkgLyAyLAorICAgICAgeTAwID0gKHkxMSArIHkxMCkg
LyAyLAorICAgICAgZHggPSB4MTAgLSB4MTEsCisgICAgICBkeSA9IHkxMCAtIHkxMSwKKyAgICAg
IGQyID0gZHggKiBkeCArIGR5ICogZHksCisgICAgICByID0gcjEgLSByYywKKyAgICAgIEQgPSB4
MTEgKiB5MTAgLSB4MTAgKiB5MTEsCisgICAgICBkID0gKGR5IDwgMCA/IC0xIDogMSkgKiBzcXJ0
JDIobWF4JDIoMCwgciAqIHIgKiBkMiAtIEQgKiBEKSksCisgICAgICBjeDAgPSAoRCAqIGR5IC0g
ZHggKiBkKSAvIGQyLAorICAgICAgY3kwID0gKC1EICogZHggLSBkeSAqIGQpIC8gZDIsCisgICAg
ICBjeDEgPSAoRCAqIGR5ICsgZHggKiBkKSAvIGQyLAorICAgICAgY3kxID0gKC1EICogZHggKyBk
eSAqIGQpIC8gZDIsCisgICAgICBkeDAgPSBjeDAgLSB4MDAsCisgICAgICBkeTAgPSBjeTAgLSB5
MDAsCisgICAgICBkeDEgPSBjeDEgLSB4MDAsCisgICAgICBkeTEgPSBjeTEgLSB5MDA7CisKKyAg
Ly8gUGljayB0aGUgY2xvc2VyIG9mIHRoZSB0d28gaW50ZXJzZWN0aW9uIHBvaW50cy4KKyAgLy8g
VE9ETyBJcyB0aGVyZSBhIGZhc3RlciB3YXkgdG8gZGV0ZXJtaW5lIHdoaWNoIGludGVyc2VjdGlv
biB0byB1c2U/CisgIGlmIChkeDAgKiBkeDAgKyBkeTAgKiBkeTAgPiBkeDEgKiBkeDEgKyBkeTEg
KiBkeTEpIGN4MCA9IGN4MSwgY3kwID0gY3kxOworCisgIHJldHVybiB7CisgICAgY3g6IGN4MCwK
KyAgICBjeTogY3kwLAorICAgIHgwMTogLW94LAorICAgIHkwMTogLW95LAorICAgIHgxMTogY3gw
ICogKHIxIC8gciAtIDEpLAorICAgIHkxMTogY3kwICogKHIxIC8gciAtIDEpCisgIH07Cit9CisK
K2Z1bmN0aW9uIGFyYygpIHsKKyAgdmFyIGlubmVyUmFkaXVzID0gYXJjSW5uZXJSYWRpdXMsCisg
ICAgICBvdXRlclJhZGl1cyA9IGFyY091dGVyUmFkaXVzLAorICAgICAgY29ybmVyUmFkaXVzID0g
Y29uc3RhbnQkYigwKSwKKyAgICAgIHBhZFJhZGl1cyA9IG51bGwsCisgICAgICBzdGFydEFuZ2xl
ID0gYXJjU3RhcnRBbmdsZSwKKyAgICAgIGVuZEFuZ2xlID0gYXJjRW5kQW5nbGUsCisgICAgICBw
YWRBbmdsZSA9IGFyY1BhZEFuZ2xlLAorICAgICAgY29udGV4dCA9IG51bGw7CisKKyAgZnVuY3Rp
b24gYXJjKCkgeworICAgIHZhciBidWZmZXIsCisgICAgICAgIHIsCisgICAgICAgIHIwID0gK2lu
bmVyUmFkaXVzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksCisgICAgICAgIHIxID0gK291dGVyUmFk
aXVzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksCisgICAgICAgIGEwID0gc3RhcnRBbmdsZS5hcHBs
eSh0aGlzLCBhcmd1bWVudHMpIC0gaGFsZlBpJDMsCisgICAgICAgIGExID0gZW5kQW5nbGUuYXBw
bHkodGhpcywgYXJndW1lbnRzKSAtIGhhbGZQaSQzLAorICAgICAgICBkYSA9IGFicyQxKGExIC0g
YTApLAorICAgICAgICBjdyA9IGExID4gYTA7CisKKyAgICBpZiAoIWNvbnRleHQpIGNvbnRleHQg
PSBidWZmZXIgPSBwYXRoKCk7CisKKyAgICAvLyBFbnN1cmUgdGhhdCB0aGUgb3V0ZXIgcmFkaXVz
IGlzIGFsd2F5cyBsYXJnZXIgdGhhbiB0aGUgaW5uZXIgcmFkaXVzLgorICAgIGlmIChyMSA8IHIw
KSByID0gcjEsIHIxID0gcjAsIHIwID0gcjsKKworICAgIC8vIElzIGl0IGEgcG9pbnQ/CisgICAg
aWYgKCEocjEgPiBlcHNpbG9uJDMpKSBjb250ZXh0Lm1vdmVUbygwLCAwKTsKKworICAgIC8vIE9y
IGlzIGl0IGEgY2lyY2xlIG9yIGFubnVsdXM/CisgICAgZWxzZSBpZiAoZGEgPiB0YXUkNCAtIGVw
c2lsb24kMykgeworICAgICAgY29udGV4dC5tb3ZlVG8ocjEgKiBjb3MkMihhMCksIHIxICogc2lu
JDIoYTApKTsKKyAgICAgIGNvbnRleHQuYXJjKDAsIDAsIHIxLCBhMCwgYTEsICFjdyk7CisgICAg
ICBpZiAocjAgPiBlcHNpbG9uJDMpIHsKKyAgICAgICAgY29udGV4dC5tb3ZlVG8ocjAgKiBjb3Mk
MihhMSksIHIwICogc2luJDIoYTEpKTsKKyAgICAgICAgY29udGV4dC5hcmMoMCwgMCwgcjAsIGEx
LCBhMCwgY3cpOworICAgICAgfQorICAgIH0KKworICAgIC8vIE9yIGlzIGl0IGEgY2lyY3VsYXIg
b3IgYW5udWxhciBzZWN0b3I/CisgICAgZWxzZSB7CisgICAgICB2YXIgYTAxID0gYTAsCisgICAg
ICAgICAgYTExID0gYTEsCisgICAgICAgICAgYTAwID0gYTAsCisgICAgICAgICAgYTEwID0gYTEs
CisgICAgICAgICAgZGEwID0gZGEsCisgICAgICAgICAgZGExID0gZGEsCisgICAgICAgICAgYXAg
PSBwYWRBbmdsZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpIC8gMiwKKyAgICAgICAgICBycCA9IChh
cCA+IGVwc2lsb24kMykgJiYgKHBhZFJhZGl1cyA/ICtwYWRSYWRpdXMuYXBwbHkodGhpcywgYXJn
dW1lbnRzKSA6IHNxcnQkMihyMCAqIHIwICsgcjEgKiByMSkpLAorICAgICAgICAgIHJjID0gbWlu
JDEoYWJzJDEocjEgLSByMCkgLyAyLCArY29ybmVyUmFkaXVzLmFwcGx5KHRoaXMsIGFyZ3VtZW50
cykpLAorICAgICAgICAgIHJjMCA9IHJjLAorICAgICAgICAgIHJjMSA9IHJjLAorICAgICAgICAg
IHQwLAorICAgICAgICAgIHQxOworCisgICAgICAvLyBBcHBseSBwYWRkaW5nPyBOb3RlIHRoYXQg
c2luY2UgcjEg4omlIHIwLCBkYTEg4omlIGRhMC4KKyAgICAgIGlmIChycCA+IGVwc2lsb24kMykg
eworICAgICAgICB2YXIgcDAgPSBhc2luJDEocnAgLyByMCAqIHNpbiQyKGFwKSksCisgICAgICAg
ICAgICBwMSA9IGFzaW4kMShycCAvIHIxICogc2luJDIoYXApKTsKKyAgICAgICAgaWYgKChkYTAg
LT0gcDAgKiAyKSA+IGVwc2lsb24kMykgcDAgKj0gKGN3ID8gMSA6IC0xKSwgYTAwICs9IHAwLCBh
MTAgLT0gcDA7CisgICAgICAgIGVsc2UgZGEwID0gMCwgYTAwID0gYTEwID0gKGEwICsgYTEpIC8g
MjsKKyAgICAgICAgaWYgKChkYTEgLT0gcDEgKiAyKSA+IGVwc2lsb24kMykgcDEgKj0gKGN3ID8g
MSA6IC0xKSwgYTAxICs9IHAxLCBhMTEgLT0gcDE7CisgICAgICAgIGVsc2UgZGExID0gMCwgYTAx
ID0gYTExID0gKGEwICsgYTEpIC8gMjsKKyAgICAgIH0KKworICAgICAgdmFyIHgwMSA9IHIxICog
Y29zJDIoYTAxKSwKKyAgICAgICAgICB5MDEgPSByMSAqIHNpbiQyKGEwMSksCisgICAgICAgICAg
eDEwID0gcjAgKiBjb3MkMihhMTApLAorICAgICAgICAgIHkxMCA9IHIwICogc2luJDIoYTEwKTsK
KworICAgICAgLy8gQXBwbHkgcm91bmRlZCBjb3JuZXJzPworICAgICAgaWYgKHJjID4gZXBzaWxv
biQzKSB7CisgICAgICAgIHZhciB4MTEgPSByMSAqIGNvcyQyKGExMSksCisgICAgICAgICAgICB5
MTEgPSByMSAqIHNpbiQyKGExMSksCisgICAgICAgICAgICB4MDAgPSByMCAqIGNvcyQyKGEwMCks
CisgICAgICAgICAgICB5MDAgPSByMCAqIHNpbiQyKGEwMCksCisgICAgICAgICAgICBvYzsKKwor
ICAgICAgICAvLyBSZXN0cmljdCB0aGUgY29ybmVyIHJhZGl1cyBhY2NvcmRpbmcgdG8gdGhlIHNl
Y3RvciBhbmdsZS4KKyAgICAgICAgaWYgKGRhIDwgcGkkNCAmJiAob2MgPSBpbnRlcnNlY3QoeDAx
LCB5MDEsIHgwMCwgeTAwLCB4MTEsIHkxMSwgeDEwLCB5MTApKSkgeworICAgICAgICAgIHZhciBh
eCA9IHgwMSAtIG9jWzBdLAorICAgICAgICAgICAgICBheSA9IHkwMSAtIG9jWzFdLAorICAgICAg
ICAgICAgICBieCA9IHgxMSAtIG9jWzBdLAorICAgICAgICAgICAgICBieSA9IHkxMSAtIG9jWzFd
LAorICAgICAgICAgICAgICBrYyA9IDEgLyBzaW4kMihhY29zJDEoKGF4ICogYnggKyBheSAqIGJ5
KSAvIChzcXJ0JDIoYXggKiBheCArIGF5ICogYXkpICogc3FydCQyKGJ4ICogYnggKyBieSAqIGJ5
KSkpIC8gMiksCisgICAgICAgICAgICAgIGxjID0gc3FydCQyKG9jWzBdICogb2NbMF0gKyBvY1sx
XSAqIG9jWzFdKTsKKyAgICAgICAgICByYzAgPSBtaW4kMShyYywgKHIwIC0gbGMpIC8gKGtjIC0g
MSkpOworICAgICAgICAgIHJjMSA9IG1pbiQxKHJjLCAocjEgLSBsYykgLyAoa2MgKyAxKSk7Cisg
ICAgICAgIH0KKyAgICAgIH0KKworICAgICAgLy8gSXMgdGhlIHNlY3RvciBjb2xsYXBzZWQgdG8g
YSBsaW5lPworICAgICAgaWYgKCEoZGExID4gZXBzaWxvbiQzKSkgY29udGV4dC5tb3ZlVG8oeDAx
LCB5MDEpOworCisgICAgICAvLyBEb2VzIHRoZSBzZWN0b3LigJlzIG91dGVyIHJpbmcgaGF2ZSBy
b3VuZGVkIGNvcm5lcnM/CisgICAgICBlbHNlIGlmIChyYzEgPiBlcHNpbG9uJDMpIHsKKyAgICAg
ICAgdDAgPSBjb3JuZXJUYW5nZW50cyh4MDAsIHkwMCwgeDAxLCB5MDEsIHIxLCByYzEsIGN3KTsK
KyAgICAgICAgdDEgPSBjb3JuZXJUYW5nZW50cyh4MTEsIHkxMSwgeDEwLCB5MTAsIHIxLCByYzEs
IGN3KTsKKworICAgICAgICBjb250ZXh0Lm1vdmVUbyh0MC5jeCArIHQwLngwMSwgdDAuY3kgKyB0
MC55MDEpOworCisgICAgICAgIC8vIEhhdmUgdGhlIGNvcm5lcnMgbWVyZ2VkPworICAgICAgICBp
ZiAocmMxIDwgcmMpIGNvbnRleHQuYXJjKHQwLmN4LCB0MC5jeSwgcmMxLCBhdGFuMiQxKHQwLnkw
MSwgdDAueDAxKSwgYXRhbjIkMSh0MS55MDEsIHQxLngwMSksICFjdyk7CisKKyAgICAgICAgLy8g
T3RoZXJ3aXNlLCBkcmF3IHRoZSB0d28gY29ybmVycyBhbmQgdGhlIHJpbmcuCisgICAgICAgIGVs
c2UgeworICAgICAgICAgIGNvbnRleHQuYXJjKHQwLmN4LCB0MC5jeSwgcmMxLCBhdGFuMiQxKHQw
LnkwMSwgdDAueDAxKSwgYXRhbjIkMSh0MC55MTEsIHQwLngxMSksICFjdyk7CisgICAgICAgICAg
Y29udGV4dC5hcmMoMCwgMCwgcjEsIGF0YW4yJDEodDAuY3kgKyB0MC55MTEsIHQwLmN4ICsgdDAu
eDExKSwgYXRhbjIkMSh0MS5jeSArIHQxLnkxMSwgdDEuY3ggKyB0MS54MTEpLCAhY3cpOworICAg
ICAgICAgIGNvbnRleHQuYXJjKHQxLmN4LCB0MS5jeSwgcmMxLCBhdGFuMiQxKHQxLnkxMSwgdDEu
eDExKSwgYXRhbjIkMSh0MS55MDEsIHQxLngwMSksICFjdyk7CisgICAgICAgIH0KKyAgICAgIH0K
KworICAgICAgLy8gT3IgaXMgdGhlIG91dGVyIHJpbmcganVzdCBhIGNpcmN1bGFyIGFyYz8KKyAg
ICAgIGVsc2UgY29udGV4dC5tb3ZlVG8oeDAxLCB5MDEpLCBjb250ZXh0LmFyYygwLCAwLCByMSwg
YTAxLCBhMTEsICFjdyk7CisKKyAgICAgIC8vIElzIHRoZXJlIG5vIGlubmVyIHJpbmcsIGFuZCBp
dOKAmXMgYSBjaXJjdWxhciBzZWN0b3I/CisgICAgICAvLyBPciBwZXJoYXBzIGl04oCZcyBhbiBh
bm51bGFyIHNlY3RvciBjb2xsYXBzZWQgZHVlIHRvIHBhZGRpbmc/CisgICAgICBpZiAoIShyMCA+
IGVwc2lsb24kMykgfHwgIShkYTAgPiBlcHNpbG9uJDMpKSBjb250ZXh0LmxpbmVUbyh4MTAsIHkx
MCk7CisKKyAgICAgIC8vIERvZXMgdGhlIHNlY3RvcuKAmXMgaW5uZXIgcmluZyAob3IgcG9pbnQp
IGhhdmUgcm91bmRlZCBjb3JuZXJzPworICAgICAgZWxzZSBpZiAocmMwID4gZXBzaWxvbiQzKSB7
CisgICAgICAgIHQwID0gY29ybmVyVGFuZ2VudHMoeDEwLCB5MTAsIHgxMSwgeTExLCByMCwgLXJj
MCwgY3cpOworICAgICAgICB0MSA9IGNvcm5lclRhbmdlbnRzKHgwMSwgeTAxLCB4MDAsIHkwMCwg
cjAsIC1yYzAsIGN3KTsKKworICAgICAgICBjb250ZXh0LmxpbmVUbyh0MC5jeCArIHQwLngwMSwg
dDAuY3kgKyB0MC55MDEpOworCisgICAgICAgIC8vIEhhdmUgdGhlIGNvcm5lcnMgbWVyZ2VkPwor
ICAgICAgICBpZiAocmMwIDwgcmMpIGNvbnRleHQuYXJjKHQwLmN4LCB0MC5jeSwgcmMwLCBhdGFu
MiQxKHQwLnkwMSwgdDAueDAxKSwgYXRhbjIkMSh0MS55MDEsIHQxLngwMSksICFjdyk7CisKKyAg
ICAgICAgLy8gT3RoZXJ3aXNlLCBkcmF3IHRoZSB0d28gY29ybmVycyBhbmQgdGhlIHJpbmcuCisg
ICAgICAgIGVsc2UgeworICAgICAgICAgIGNvbnRleHQuYXJjKHQwLmN4LCB0MC5jeSwgcmMwLCBh
dGFuMiQxKHQwLnkwMSwgdDAueDAxKSwgYXRhbjIkMSh0MC55MTEsIHQwLngxMSksICFjdyk7Cisg
ICAgICAgICAgY29udGV4dC5hcmMoMCwgMCwgcjAsIGF0YW4yJDEodDAuY3kgKyB0MC55MTEsIHQw
LmN4ICsgdDAueDExKSwgYXRhbjIkMSh0MS5jeSArIHQxLnkxMSwgdDEuY3ggKyB0MS54MTEpLCBj
dyk7CisgICAgICAgICAgY29udGV4dC5hcmModDEuY3gsIHQxLmN5LCByYzAsIGF0YW4yJDEodDEu
eTExLCB0MS54MTEpLCBhdGFuMiQxKHQxLnkwMSwgdDEueDAxKSwgIWN3KTsKKyAgICAgICAgfQor
ICAgICAgfQorCisgICAgICAvLyBPciBpcyB0aGUgaW5uZXIgcmluZyBqdXN0IGEgY2lyY3VsYXIg
YXJjPworICAgICAgZWxzZSBjb250ZXh0LmFyYygwLCAwLCByMCwgYTEwLCBhMDAsIGN3KTsKKyAg
ICB9CisKKyAgICBjb250ZXh0LmNsb3NlUGF0aCgpOworCisgICAgaWYgKGJ1ZmZlcikgcmV0dXJu
IGNvbnRleHQgPSBudWxsLCBidWZmZXIgKyAiIiB8fCBudWxsOworICB9CisKKyAgYXJjLmNlbnRy
b2lkID0gZnVuY3Rpb24oKSB7CisgICAgdmFyIHIgPSAoK2lubmVyUmFkaXVzLmFwcGx5KHRoaXMs
IGFyZ3VtZW50cykgKyArb3V0ZXJSYWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRzKSkgLyAyLAor
ICAgICAgICBhID0gKCtzdGFydEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgKyArZW5kQW5n
bGUuYXBwbHkodGhpcywgYXJndW1lbnRzKSkgLyAyIC0gcGkkNCAvIDI7CisgICAgcmV0dXJuIFtj
b3MkMihhKSAqIHIsIHNpbiQyKGEpICogcl07CisgIH07CisKKyAgYXJjLmlubmVyUmFkaXVzID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGlubmVyUmFkaXVz
ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIGFyYykgOiBp
bm5lclJhZGl1czsKKyAgfTsKKworICBhcmMub3V0ZXJSYWRpdXMgPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAob3V0ZXJSYWRpdXMgPSB0eXBlb2YgXyA9PT0g
ImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgYXJjKSA6IG91dGVyUmFkaXVzOworICB9
OworCisgIGFyYy5jb3JuZXJSYWRpdXMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAoY29ybmVyUmFkaXVzID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBf
IDogY29uc3RhbnQkYigrXyksIGFyYykgOiBjb3JuZXJSYWRpdXM7CisgIH07CisKKyAgYXJjLnBh
ZFJhZGl1cyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChw
YWRSYWRpdXMgPSBfID09IG51bGwgPyBudWxsIDogdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBf
IDogY29uc3RhbnQkYigrXyksIGFyYykgOiBwYWRSYWRpdXM7CisgIH07CisKKyAgYXJjLnN0YXJ0
QW5nbGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc3Rh
cnRBbmdsZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBh
cmMpIDogc3RhcnRBbmdsZTsKKyAgfTsKKworICBhcmMuZW5kQW5nbGUgPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZW5kQW5nbGUgPSB0eXBlb2YgXyA9PT0g
ImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgYXJjKSA6IGVuZEFuZ2xlOworICB9Owor
CisgIGFyYy5wYWRBbmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IChwYWRBbmdsZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50
JGIoK18pLCBhcmMpIDogcGFkQW5nbGU7CisgIH07CisKKyAgYXJjLmNvbnRleHQgPSBmdW5jdGlv
bihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoKGNvbnRleHQgPSBfID09IG51
bGwgPyBudWxsIDogXyksIGFyYykgOiBjb250ZXh0OworICB9OworCisgIHJldHVybiBhcmM7Cit9
CisKK2Z1bmN0aW9uIExpbmVhcihjb250ZXh0KSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0
OworfQorCitMaW5lYXIucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgewor
ICAgIHRoaXMuX2xpbmUgPSAwOworICB9LAorICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0
aGlzLl9saW5lID0gTmFOOworICB9LAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRo
aXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgaWYgKHRo
aXMuX2xpbmUgfHwgKHRoaXMuX2xpbmUgIT09IDAgJiYgdGhpcy5fcG9pbnQgPT09IDEpKSB0aGlz
Ll9jb250ZXh0LmNsb3NlUGF0aCgpOworICAgIHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5fbGluZTsK
KyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0gK3gsIHkgPSAreTsKKyAg
ICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3BvaW50ID0gMTsg
dGhpcy5fbGluZSA/IHRoaXMuX2NvbnRleHQubGluZVRvKHgsIHkpIDogdGhpcy5fY29udGV4dC5t
b3ZlVG8oeCwgeSk7IGJyZWFrOworICAgICAgY2FzZSAxOiB0aGlzLl9wb2ludCA9IDI7IC8vIHBy
b2NlZWQKKyAgICAgIGRlZmF1bHQ6IHRoaXMuX2NvbnRleHQubGluZVRvKHgsIHkpOyBicmVhazsK
KyAgICB9CisgIH0KK307CisKK2Z1bmN0aW9uIGN1cnZlTGluZWFyKGNvbnRleHQpIHsKKyAgcmV0
dXJuIG5ldyBMaW5lYXIoY29udGV4dCk7Cit9CisKK2Z1bmN0aW9uIHgkMyhwKSB7CisgIHJldHVy
biBwWzBdOworfQorCitmdW5jdGlvbiB5JDMocCkgeworICByZXR1cm4gcFsxXTsKK30KKworZnVu
Y3Rpb24gbGluZSgpIHsKKyAgdmFyIHggPSB4JDMsCisgICAgICB5ID0geSQzLAorICAgICAgZGVm
aW5lZCA9IGNvbnN0YW50JGIodHJ1ZSksCisgICAgICBjb250ZXh0ID0gbnVsbCwKKyAgICAgIGN1
cnZlID0gY3VydmVMaW5lYXIsCisgICAgICBvdXRwdXQgPSBudWxsOworCisgIGZ1bmN0aW9uIGxp
bmUoZGF0YSkgeworICAgIHZhciBpLAorICAgICAgICBuID0gZGF0YS5sZW5ndGgsCisgICAgICAg
IGQsCisgICAgICAgIGRlZmluZWQwID0gZmFsc2UsCisgICAgICAgIGJ1ZmZlcjsKKworICAgIGlm
IChjb250ZXh0ID09IG51bGwpIG91dHB1dCA9IGN1cnZlKGJ1ZmZlciA9IHBhdGgoKSk7CisKKyAg
ICBmb3IgKGkgPSAwOyBpIDw9IG47ICsraSkgeworICAgICAgaWYgKCEoaSA8IG4gJiYgZGVmaW5l
ZChkID0gZGF0YVtpXSwgaSwgZGF0YSkpID09PSBkZWZpbmVkMCkgeworICAgICAgICBpZiAoZGVm
aW5lZDAgPSAhZGVmaW5lZDApIG91dHB1dC5saW5lU3RhcnQoKTsKKyAgICAgICAgZWxzZSBvdXRw
dXQubGluZUVuZCgpOworICAgICAgfQorICAgICAgaWYgKGRlZmluZWQwKSBvdXRwdXQucG9pbnQo
K3goZCwgaSwgZGF0YSksICt5KGQsIGksIGRhdGEpKTsKKyAgICB9CisKKyAgICBpZiAoYnVmZmVy
KSByZXR1cm4gb3V0cHV0ID0gbnVsbCwgYnVmZmVyICsgIiIgfHwgbnVsbDsKKyAgfQorCisgIGxp
bmUueCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4ID0g
dHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIGxpbmUpIDogeDsK
KyAgfTsKKworICBsaW5lLnkgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoeSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18p
LCBsaW5lKSA6IHk7CisgIH07CisKKyAgbGluZS5kZWZpbmVkID0gZnVuY3Rpb24oXykgeworICAg
IHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGRlZmluZWQgPSB0eXBlb2YgXyA9PT0gImZ1bmN0
aW9uIiA/IF8gOiBjb25zdGFudCRiKCEhXyksIGxpbmUpIDogZGVmaW5lZDsKKyAgfTsKKworICBs
aW5lLmN1cnZlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8g
KGN1cnZlID0gXywgY29udGV4dCAhPSBudWxsICYmIChvdXRwdXQgPSBjdXJ2ZShjb250ZXh0KSks
IGxpbmUpIDogY3VydmU7CisgIH07CisKKyAgbGluZS5jb250ZXh0ID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKF8gPT0gbnVsbCA/IGNvbnRleHQgPSBvdXRw
dXQgPSBudWxsIDogb3V0cHV0ID0gY3VydmUoY29udGV4dCA9IF8pLCBsaW5lKSA6IGNvbnRleHQ7
CisgIH07CisKKyAgcmV0dXJuIGxpbmU7Cit9CisKK2Z1bmN0aW9uIGFyZWEkMygpIHsKKyAgdmFy
IHgwID0geCQzLAorICAgICAgeDEgPSBudWxsLAorICAgICAgeTAgPSBjb25zdGFudCRiKDApLAor
ICAgICAgeTEgPSB5JDMsCisgICAgICBkZWZpbmVkID0gY29uc3RhbnQkYih0cnVlKSwKKyAgICAg
IGNvbnRleHQgPSBudWxsLAorICAgICAgY3VydmUgPSBjdXJ2ZUxpbmVhciwKKyAgICAgIG91dHB1
dCA9IG51bGw7CisKKyAgZnVuY3Rpb24gYXJlYShkYXRhKSB7CisgICAgdmFyIGksCisgICAgICAg
IGosCisgICAgICAgIGssCisgICAgICAgIG4gPSBkYXRhLmxlbmd0aCwKKyAgICAgICAgZCwKKyAg
ICAgICAgZGVmaW5lZDAgPSBmYWxzZSwKKyAgICAgICAgYnVmZmVyLAorICAgICAgICB4MHogPSBu
ZXcgQXJyYXkobiksCisgICAgICAgIHkweiA9IG5ldyBBcnJheShuKTsKKworICAgIGlmIChjb250
ZXh0ID09IG51bGwpIG91dHB1dCA9IGN1cnZlKGJ1ZmZlciA9IHBhdGgoKSk7CisKKyAgICBmb3Ig
KGkgPSAwOyBpIDw9IG47ICsraSkgeworICAgICAgaWYgKCEoaSA8IG4gJiYgZGVmaW5lZChkID0g
ZGF0YVtpXSwgaSwgZGF0YSkpID09PSBkZWZpbmVkMCkgeworICAgICAgICBpZiAoZGVmaW5lZDAg
PSAhZGVmaW5lZDApIHsKKyAgICAgICAgICBqID0gaTsKKyAgICAgICAgICBvdXRwdXQuYXJlYVN0
YXJ0KCk7CisgICAgICAgICAgb3V0cHV0LmxpbmVTdGFydCgpOworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgIG91dHB1dC5saW5lRW5kKCk7CisgICAgICAgICAgb3V0cHV0LmxpbmVTdGFydCgp
OworICAgICAgICAgIGZvciAoayA9IGkgLSAxOyBrID49IGo7IC0taykgeworICAgICAgICAgICAg
b3V0cHV0LnBvaW50KHgweltrXSwgeTB6W2tdKTsKKyAgICAgICAgICB9CisgICAgICAgICAgb3V0
cHV0LmxpbmVFbmQoKTsKKyAgICAgICAgICBvdXRwdXQuYXJlYUVuZCgpOworICAgICAgICB9Cisg
ICAgICB9CisgICAgICBpZiAoZGVmaW5lZDApIHsKKyAgICAgICAgeDB6W2ldID0gK3gwKGQsIGks
IGRhdGEpLCB5MHpbaV0gPSAreTAoZCwgaSwgZGF0YSk7CisgICAgICAgIG91dHB1dC5wb2ludCh4
MSA/ICt4MShkLCBpLCBkYXRhKSA6IHgweltpXSwgeTEgPyAreTEoZCwgaSwgZGF0YSkgOiB5MHpb
aV0pOworICAgICAgfQorICAgIH0KKworICAgIGlmIChidWZmZXIpIHJldHVybiBvdXRwdXQgPSBu
dWxsLCBidWZmZXIgKyAiIiB8fCBudWxsOworICB9CisKKyAgZnVuY3Rpb24gYXJlYWxpbmUoKSB7
CisgICAgcmV0dXJuIGxpbmUoKS5kZWZpbmVkKGRlZmluZWQpLmN1cnZlKGN1cnZlKS5jb250ZXh0
KGNvbnRleHQpOworICB9CisKKyAgYXJlYS54ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKHgwID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29u
c3RhbnQkYigrXyksIHgxID0gbnVsbCwgYXJlYSkgOiB4MDsKKyAgfTsKKworICBhcmVhLngwID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHgwID0gdHlwZW9m
IF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIGFyZWEpIDogeDA7CisgIH07
CisKKyAgYXJlYS54MSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0
aCA/ICh4MSA9IF8gPT0gbnVsbCA/IG51bGwgOiB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8g
OiBjb25zdGFudCRiKCtfKSwgYXJlYSkgOiB4MTsKKyAgfTsKKworICBhcmVhLnkgPSBmdW5jdGlv
bihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeTAgPSB0eXBlb2YgXyA9PT0g
ImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgeTEgPSBudWxsLCBhcmVhKSA6IHkwOwor
ICB9OworCisgIGFyZWEueTAgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoeTAgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtf
KSwgYXJlYSkgOiB5MDsKKyAgfTsKKworICBhcmVhLnkxID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHkxID0gXyA9PSBudWxsID8gbnVsbCA6IHR5cGVvZiBf
ID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBhcmVhKSA6IHkxOworICB9Owor
CisgIGFyZWEubGluZVgwID0KKyAgYXJlYS5saW5lWTAgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1
cm4gYXJlYWxpbmUoKS54KHgwKS55KHkwKTsKKyAgfTsKKworICBhcmVhLmxpbmVZMSA9IGZ1bmN0
aW9uKCkgeworICAgIHJldHVybiBhcmVhbGluZSgpLngoeDApLnkoeTEpOworICB9OworCisgIGFy
ZWEubGluZVgxID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGFyZWFsaW5lKCkueCh4MSkueSh5
MCk7CisgIH07CisKKyAgYXJlYS5kZWZpbmVkID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKGRlZmluZWQgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8g
OiBjb25zdGFudCRiKCEhXyksIGFyZWEpIDogZGVmaW5lZDsKKyAgfTsKKworICBhcmVhLmN1cnZl
ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGN1cnZlID0g
XywgY29udGV4dCAhPSBudWxsICYmIChvdXRwdXQgPSBjdXJ2ZShjb250ZXh0KSksIGFyZWEpIDog
Y3VydmU7CisgIH07CisKKyAgYXJlYS5jb250ZXh0ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVy
biBhcmd1bWVudHMubGVuZ3RoID8gKF8gPT0gbnVsbCA/IGNvbnRleHQgPSBvdXRwdXQgPSBudWxs
IDogb3V0cHV0ID0gY3VydmUoY29udGV4dCA9IF8pLCBhcmVhKSA6IGNvbnRleHQ7CisgIH07CisK
KyAgcmV0dXJuIGFyZWE7Cit9CisKK2Z1bmN0aW9uIGRlc2NlbmRpbmckMShhLCBiKSB7CisgIHJl
dHVybiBiIDwgYSA/IC0xIDogYiA+IGEgPyAxIDogYiA+PSBhID8gMCA6IE5hTjsKK30KKworZnVu
Y3Rpb24gaWRlbnRpdHkkOChkKSB7CisgIHJldHVybiBkOworfQorCitmdW5jdGlvbiBwaWUoKSB7
CisgIHZhciB2YWx1ZSA9IGlkZW50aXR5JDgsCisgICAgICBzb3J0VmFsdWVzID0gZGVzY2VuZGlu
ZyQxLAorICAgICAgc29ydCA9IG51bGwsCisgICAgICBzdGFydEFuZ2xlID0gY29uc3RhbnQkYigw
KSwKKyAgICAgIGVuZEFuZ2xlID0gY29uc3RhbnQkYih0YXUkNCksCisgICAgICBwYWRBbmdsZSA9
IGNvbnN0YW50JGIoMCk7CisKKyAgZnVuY3Rpb24gcGllKGRhdGEpIHsKKyAgICB2YXIgaSwKKyAg
ICAgICAgbiA9IGRhdGEubGVuZ3RoLAorICAgICAgICBqLAorICAgICAgICBrLAorICAgICAgICBz
dW0gPSAwLAorICAgICAgICBpbmRleCA9IG5ldyBBcnJheShuKSwKKyAgICAgICAgYXJjcyA9IG5l
dyBBcnJheShuKSwKKyAgICAgICAgYTAgPSArc3RhcnRBbmdsZS5hcHBseSh0aGlzLCBhcmd1bWVu
dHMpLAorICAgICAgICBkYSA9IE1hdGgubWluKHRhdSQ0LCBNYXRoLm1heCgtdGF1JDQsIGVuZEFu
Z2xlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgLSBhMCkpLAorICAgICAgICBhMSwKKyAgICAgICAg
cCA9IE1hdGgubWluKE1hdGguYWJzKGRhKSAvIG4sIHBhZEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3Vt
ZW50cykpLAorICAgICAgICBwYSA9IHAgKiAoZGEgPCAwID8gLTEgOiAxKSwKKyAgICAgICAgdjsK
KworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmICgodiA9IGFyY3NbaW5k
ZXhbaV0gPSBpXSA9ICt2YWx1ZShkYXRhW2ldLCBpLCBkYXRhKSkgPiAwKSB7CisgICAgICAgIHN1
bSArPSB2OworICAgICAgfQorICAgIH0KKworICAgIC8vIE9wdGlvbmFsbHkgc29ydCB0aGUgYXJj
cyBieSBwcmV2aW91c2x5LWNvbXB1dGVkIHZhbHVlcyBvciBieSBkYXRhLgorICAgIGlmIChzb3J0
VmFsdWVzICE9IG51bGwpIGluZGV4LnNvcnQoZnVuY3Rpb24oaSwgaikgeyByZXR1cm4gc29ydFZh
bHVlcyhhcmNzW2ldLCBhcmNzW2pdKTsgfSk7CisgICAgZWxzZSBpZiAoc29ydCAhPSBudWxsKSBp
bmRleC5zb3J0KGZ1bmN0aW9uKGksIGopIHsgcmV0dXJuIHNvcnQoZGF0YVtpXSwgZGF0YVtqXSk7
IH0pOworCisgICAgLy8gQ29tcHV0ZSB0aGUgYXJjcyEgVGhleSBhcmUgc3RvcmVkIGluIHRoZSBv
cmlnaW5hbCBkYXRhJ3Mgb3JkZXIuCisgICAgZm9yIChpID0gMCwgayA9IHN1bSA/IChkYSAtIG4g
KiBwYSkgLyBzdW0gOiAwOyBpIDwgbjsgKytpLCBhMCA9IGExKSB7CisgICAgICBqID0gaW5kZXhb
aV0sIHYgPSBhcmNzW2pdLCBhMSA9IGEwICsgKHYgPiAwID8gdiAqIGsgOiAwKSArIHBhLCBhcmNz
W2pdID0geworICAgICAgICBkYXRhOiBkYXRhW2pdLAorICAgICAgICBpbmRleDogaSwKKyAgICAg
ICAgdmFsdWU6IHYsCisgICAgICAgIHN0YXJ0QW5nbGU6IGEwLAorICAgICAgICBlbmRBbmdsZTog
YTEsCisgICAgICAgIHBhZEFuZ2xlOiBwCisgICAgICB9OworICAgIH0KKworICAgIHJldHVybiBh
cmNzOworICB9CisKKyAgcGllLnZhbHVlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gKHZhbHVlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29u
c3RhbnQkYigrXyksIHBpZSkgOiB2YWx1ZTsKKyAgfTsKKworICBwaWUuc29ydFZhbHVlcyA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzb3J0VmFsdWVzID0g
Xywgc29ydCA9IG51bGwsIHBpZSkgOiBzb3J0VmFsdWVzOworICB9OworCisgIHBpZS5zb3J0ID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNvcnQgPSBfLCBz
b3J0VmFsdWVzID0gbnVsbCwgcGllKSA6IHNvcnQ7CisgIH07CisKKyAgcGllLnN0YXJ0QW5nbGUg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc3RhcnRBbmds
ZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBwaWUpIDog
c3RhcnRBbmdsZTsKKyAgfTsKKworICBwaWUuZW5kQW5nbGUgPSBmdW5jdGlvbihfKSB7CisgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZW5kQW5nbGUgPSB0eXBlb2YgXyA9PT0gImZ1bmN0
aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgcGllKSA6IGVuZEFuZ2xlOworICB9OworCisgIHBp
ZS5wYWRBbmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
IChwYWRBbmdsZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18p
LCBwaWUpIDogcGFkQW5nbGU7CisgIH07CisKKyAgcmV0dXJuIHBpZTsKK30KKwordmFyIGN1cnZl
UmFkaWFsTGluZWFyID0gY3VydmVSYWRpYWwoY3VydmVMaW5lYXIpOworCitmdW5jdGlvbiBSYWRp
YWwoY3VydmUpIHsKKyAgdGhpcy5fY3VydmUgPSBjdXJ2ZTsKK30KKworUmFkaWFsLnByb3RvdHlw
ZSA9IHsKKyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9jdXJ2ZS5hcmVhU3Rh
cnQoKTsKKyAgfSwKKyAgYXJlYUVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fY3VydmUuYXJl
YUVuZCgpOworICB9LAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2N1cnZl
LmxpbmVTdGFydCgpOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9j
dXJ2ZS5saW5lRW5kKCk7CisgIH0sCisgIHBvaW50OiBmdW5jdGlvbihhLCByKSB7CisgICAgdGhp
cy5fY3VydmUucG9pbnQociAqIE1hdGguc2luKGEpLCByICogLU1hdGguY29zKGEpKTsKKyAgfQor
fTsKKworZnVuY3Rpb24gY3VydmVSYWRpYWwoY3VydmUpIHsKKworICBmdW5jdGlvbiByYWRpYWwo
Y29udGV4dCkgeworICAgIHJldHVybiBuZXcgUmFkaWFsKGN1cnZlKGNvbnRleHQpKTsKKyAgfQor
CisgIHJhZGlhbC5fY3VydmUgPSBjdXJ2ZTsKKworICByZXR1cm4gcmFkaWFsOworfQorCitmdW5j
dGlvbiBsaW5lUmFkaWFsKGwpIHsKKyAgdmFyIGMgPSBsLmN1cnZlOworCisgIGwuYW5nbGUgPSBs
LngsIGRlbGV0ZSBsLng7CisgIGwucmFkaXVzID0gbC55LCBkZWxldGUgbC55OworCisgIGwuY3Vy
dmUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyBjKGN1cnZl
UmFkaWFsKF8pKSA6IGMoKS5fY3VydmU7CisgIH07CisKKyAgcmV0dXJuIGw7Cit9CisKK2Z1bmN0
aW9uIGxpbmVSYWRpYWwkMSgpIHsKKyAgcmV0dXJuIGxpbmVSYWRpYWwobGluZSgpLmN1cnZlKGN1
cnZlUmFkaWFsTGluZWFyKSk7Cit9CisKK2Z1bmN0aW9uIGFyZWFSYWRpYWwoKSB7CisgIHZhciBh
ID0gYXJlYSQzKCkuY3VydmUoY3VydmVSYWRpYWxMaW5lYXIpLAorICAgICAgYyA9IGEuY3VydmUs
CisgICAgICB4MCA9IGEubGluZVgwLAorICAgICAgeDEgPSBhLmxpbmVYMSwKKyAgICAgIHkwID0g
YS5saW5lWTAsCisgICAgICB5MSA9IGEubGluZVkxOworCisgIGEuYW5nbGUgPSBhLngsIGRlbGV0
ZSBhLng7CisgIGEuc3RhcnRBbmdsZSA9IGEueDAsIGRlbGV0ZSBhLngwOworICBhLmVuZEFuZ2xl
ID0gYS54MSwgZGVsZXRlIGEueDE7CisgIGEucmFkaXVzID0gYS55LCBkZWxldGUgYS55OworICBh
LmlubmVyUmFkaXVzID0gYS55MCwgZGVsZXRlIGEueTA7CisgIGEub3V0ZXJSYWRpdXMgPSBhLnkx
LCBkZWxldGUgYS55MTsKKyAgYS5saW5lU3RhcnRBbmdsZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4g
bGluZVJhZGlhbCh4MCgpKTsgfSwgZGVsZXRlIGEubGluZVgwOworICBhLmxpbmVFbmRBbmdsZSA9
IGZ1bmN0aW9uKCkgeyByZXR1cm4gbGluZVJhZGlhbCh4MSgpKTsgfSwgZGVsZXRlIGEubGluZVgx
OworICBhLmxpbmVJbm5lclJhZGl1cyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gbGluZVJhZGlhbCh5
MCgpKTsgfSwgZGVsZXRlIGEubGluZVkwOworICBhLmxpbmVPdXRlclJhZGl1cyA9IGZ1bmN0aW9u
KCkgeyByZXR1cm4gbGluZVJhZGlhbCh5MSgpKTsgfSwgZGVsZXRlIGEubGluZVkxOworCisgIGEu
Y3VydmUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyBjKGN1
cnZlUmFkaWFsKF8pKSA6IGMoKS5fY3VydmU7CisgIH07CisKKyAgcmV0dXJuIGE7Cit9CisKK2Z1
bmN0aW9uIHBvaW50UmFkaWFsKHgsIHkpIHsKKyAgcmV0dXJuIFsoeSA9ICt5KSAqIE1hdGguY29z
KHggLT0gTWF0aC5QSSAvIDIpLCB5ICogTWF0aC5zaW4oeCldOworfQorCit2YXIgc2xpY2UkNiA9
IEFycmF5LnByb3RvdHlwZS5zbGljZTsKKworZnVuY3Rpb24gbGlua1NvdXJjZShkKSB7CisgIHJl
dHVybiBkLnNvdXJjZTsKK30KKworZnVuY3Rpb24gbGlua1RhcmdldChkKSB7CisgIHJldHVybiBk
LnRhcmdldDsKK30KKworZnVuY3Rpb24gbGluayQyKGN1cnZlKSB7CisgIHZhciBzb3VyY2UgPSBs
aW5rU291cmNlLAorICAgICAgdGFyZ2V0ID0gbGlua1RhcmdldCwKKyAgICAgIHggPSB4JDMsCisg
ICAgICB5ID0geSQzLAorICAgICAgY29udGV4dCA9IG51bGw7CisKKyAgZnVuY3Rpb24gbGluaygp
IHsKKyAgICB2YXIgYnVmZmVyLCBhcmd2ID0gc2xpY2UkNi5jYWxsKGFyZ3VtZW50cyksIHMgPSBz
b3VyY2UuYXBwbHkodGhpcywgYXJndiksIHQgPSB0YXJnZXQuYXBwbHkodGhpcywgYXJndik7Cisg
ICAgaWYgKCFjb250ZXh0KSBjb250ZXh0ID0gYnVmZmVyID0gcGF0aCgpOworICAgIGN1cnZlKGNv
bnRleHQsICt4LmFwcGx5KHRoaXMsIChhcmd2WzBdID0gcywgYXJndikpLCAreS5hcHBseSh0aGlz
LCBhcmd2KSwgK3guYXBwbHkodGhpcywgKGFyZ3ZbMF0gPSB0LCBhcmd2KSksICt5LmFwcGx5KHRo
aXMsIGFyZ3YpKTsKKyAgICBpZiAoYnVmZmVyKSByZXR1cm4gY29udGV4dCA9IG51bGwsIGJ1ZmZl
ciArICIiIHx8IG51bGw7CisgIH0KKworICBsaW5rLnNvdXJjZSA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzb3VyY2UgPSBfLCBsaW5rKSA6IHNvdXJjZTsK
KyAgfTsKKworICBsaW5rLnRhcmdldCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/ICh0YXJnZXQgPSBfLCBsaW5rKSA6IHRhcmdldDsKKyAgfTsKKworICBsaW5r
LnggPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeCA9IHR5
cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBsaW5rKSA6IHg7Cisg
IH07CisKKyAgbGluay55ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHkgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwg
bGluaykgOiB5OworICB9OworCisgIGxpbmsuY29udGV4dCA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICgoY29udGV4dCA9IF8gPT0gbnVsbCA/IG51bGwgOiBf
KSwgbGluaykgOiBjb250ZXh0OworICB9OworCisgIHJldHVybiBsaW5rOworfQorCitmdW5jdGlv
biBjdXJ2ZUhvcml6b250YWwoY29udGV4dCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgY29udGV4dC5t
b3ZlVG8oeDAsIHkwKTsKKyAgY29udGV4dC5iZXppZXJDdXJ2ZVRvKHgwID0gKHgwICsgeDEpIC8g
MiwgeTAsIHgwLCB5MSwgeDEsIHkxKTsKK30KKworZnVuY3Rpb24gY3VydmVWZXJ0aWNhbChjb250
ZXh0LCB4MCwgeTAsIHgxLCB5MSkgeworICBjb250ZXh0Lm1vdmVUbyh4MCwgeTApOworICBjb250
ZXh0LmJlemllckN1cnZlVG8oeDAsIHkwID0gKHkwICsgeTEpIC8gMiwgeDEsIHkwLCB4MSwgeTEp
OworfQorCitmdW5jdGlvbiBjdXJ2ZVJhZGlhbCQxKGNvbnRleHQsIHgwLCB5MCwgeDEsIHkxKSB7
CisgIHZhciBwMCA9IHBvaW50UmFkaWFsKHgwLCB5MCksCisgICAgICBwMSA9IHBvaW50UmFkaWFs
KHgwLCB5MCA9ICh5MCArIHkxKSAvIDIpLAorICAgICAgcDIgPSBwb2ludFJhZGlhbCh4MSwgeTAp
LAorICAgICAgcDMgPSBwb2ludFJhZGlhbCh4MSwgeTEpOworICBjb250ZXh0Lm1vdmVUbyhwMFsw
XSwgcDBbMV0pOworICBjb250ZXh0LmJlemllckN1cnZlVG8ocDFbMF0sIHAxWzFdLCBwMlswXSwg
cDJbMV0sIHAzWzBdLCBwM1sxXSk7Cit9CisKK2Z1bmN0aW9uIGxpbmtIb3Jpem9udGFsKCkgewor
ICByZXR1cm4gbGluayQyKGN1cnZlSG9yaXpvbnRhbCk7Cit9CisKK2Z1bmN0aW9uIGxpbmtWZXJ0
aWNhbCgpIHsKKyAgcmV0dXJuIGxpbmskMihjdXJ2ZVZlcnRpY2FsKTsKK30KKworZnVuY3Rpb24g
bGlua1JhZGlhbCgpIHsKKyAgdmFyIGwgPSBsaW5rJDIoY3VydmVSYWRpYWwkMSk7CisgIGwuYW5n
bGUgPSBsLngsIGRlbGV0ZSBsLng7CisgIGwucmFkaXVzID0gbC55LCBkZWxldGUgbC55OworICBy
ZXR1cm4gbDsKK30KKwordmFyIGNpcmNsZSQyID0geworICBkcmF3OiBmdW5jdGlvbihjb250ZXh0
LCBzaXplKSB7CisgICAgdmFyIHIgPSBNYXRoLnNxcnQoc2l6ZSAvIHBpJDQpOworICAgIGNvbnRl
eHQubW92ZVRvKHIsIDApOworICAgIGNvbnRleHQuYXJjKDAsIDAsIHIsIDAsIHRhdSQ0KTsKKyAg
fQorfTsKKwordmFyIGNyb3NzJDIgPSB7CisgIGRyYXc6IGZ1bmN0aW9uKGNvbnRleHQsIHNpemUp
IHsKKyAgICB2YXIgciA9IE1hdGguc3FydChzaXplIC8gNSkgLyAyOworICAgIGNvbnRleHQubW92
ZVRvKC0zICogciwgLXIpOworICAgIGNvbnRleHQubGluZVRvKC1yLCAtcik7CisgICAgY29udGV4
dC5saW5lVG8oLXIsIC0zICogcik7CisgICAgY29udGV4dC5saW5lVG8ociwgLTMgKiByKTsKKyAg
ICBjb250ZXh0LmxpbmVUbyhyLCAtcik7CisgICAgY29udGV4dC5saW5lVG8oMyAqIHIsIC1yKTsK
KyAgICBjb250ZXh0LmxpbmVUbygzICogciwgcik7CisgICAgY29udGV4dC5saW5lVG8ociwgcik7
CisgICAgY29udGV4dC5saW5lVG8ociwgMyAqIHIpOworICAgIGNvbnRleHQubGluZVRvKC1yLCAz
ICogcik7CisgICAgY29udGV4dC5saW5lVG8oLXIsIHIpOworICAgIGNvbnRleHQubGluZVRvKC0z
ICogciwgcik7CisgICAgY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgfQorfTsKKwordmFyIHRhbjMw
ID0gTWF0aC5zcXJ0KDEgLyAzKSwKKyAgICB0YW4zMF8yID0gdGFuMzAgKiAyOworCit2YXIgZGlh
bW9uZCA9IHsKKyAgZHJhdzogZnVuY3Rpb24oY29udGV4dCwgc2l6ZSkgeworICAgIHZhciB5ID0g
TWF0aC5zcXJ0KHNpemUgLyB0YW4zMF8yKSwKKyAgICAgICAgeCA9IHkgKiB0YW4zMDsKKyAgICBj
b250ZXh0Lm1vdmVUbygwLCAteSk7CisgICAgY29udGV4dC5saW5lVG8oeCwgMCk7CisgICAgY29u
dGV4dC5saW5lVG8oMCwgeSk7CisgICAgY29udGV4dC5saW5lVG8oLXgsIDApOworICAgIGNvbnRl
eHQuY2xvc2VQYXRoKCk7CisgIH0KK307CisKK3ZhciBrYSA9IDAuODkwODEzMDkxNTI5Mjg1MjI4
MTAsCisgICAga3IgPSBNYXRoLnNpbihwaSQ0IC8gMTApIC8gTWF0aC5zaW4oNyAqIHBpJDQgLyAx
MCksCisgICAga3ggPSBNYXRoLnNpbih0YXUkNCAvIDEwKSAqIGtyLAorICAgIGt5ID0gLU1hdGgu
Y29zKHRhdSQ0IC8gMTApICoga3I7CisKK3ZhciBzdGFyID0geworICBkcmF3OiBmdW5jdGlvbihj
b250ZXh0LCBzaXplKSB7CisgICAgdmFyIHIgPSBNYXRoLnNxcnQoc2l6ZSAqIGthKSwKKyAgICAg
ICAgeCA9IGt4ICogciwKKyAgICAgICAgeSA9IGt5ICogcjsKKyAgICBjb250ZXh0Lm1vdmVUbygw
LCAtcik7CisgICAgY29udGV4dC5saW5lVG8oeCwgeSk7CisgICAgZm9yICh2YXIgaSA9IDE7IGkg
PCA1OyArK2kpIHsKKyAgICAgIHZhciBhID0gdGF1JDQgKiBpIC8gNSwKKyAgICAgICAgICBjID0g
TWF0aC5jb3MoYSksCisgICAgICAgICAgcyA9IE1hdGguc2luKGEpOworICAgICAgY29udGV4dC5s
aW5lVG8ocyAqIHIsIC1jICogcik7CisgICAgICBjb250ZXh0LmxpbmVUbyhjICogeCAtIHMgKiB5
LCBzICogeCArIGMgKiB5KTsKKyAgICB9CisgICAgY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgfQor
fTsKKwordmFyIHNxdWFyZSA9IHsKKyAgZHJhdzogZnVuY3Rpb24oY29udGV4dCwgc2l6ZSkgewor
ICAgIHZhciB3ID0gTWF0aC5zcXJ0KHNpemUpLAorICAgICAgICB4ID0gLXcgLyAyOworICAgIGNv
bnRleHQucmVjdCh4LCB4LCB3LCB3KTsKKyAgfQorfTsKKwordmFyIHNxcnQzID0gTWF0aC5zcXJ0
KDMpOworCit2YXIgdHJpYW5nbGUgPSB7CisgIGRyYXc6IGZ1bmN0aW9uKGNvbnRleHQsIHNpemUp
IHsKKyAgICB2YXIgeSA9IC1NYXRoLnNxcnQoc2l6ZSAvIChzcXJ0MyAqIDMpKTsKKyAgICBjb250
ZXh0Lm1vdmVUbygwLCB5ICogMik7CisgICAgY29udGV4dC5saW5lVG8oLXNxcnQzICogeSwgLXkp
OworICAgIGNvbnRleHQubGluZVRvKHNxcnQzICogeSwgLXkpOworICAgIGNvbnRleHQuY2xvc2VQ
YXRoKCk7CisgIH0KK307CisKK3ZhciBjJDIgPSAtMC41LAorICAgIHMgPSBNYXRoLnNxcnQoMykg
LyAyLAorICAgIGsgPSAxIC8gTWF0aC5zcXJ0KDEyKSwKKyAgICBhID0gKGsgLyAyICsgMSkgKiAz
OworCit2YXIgd3llID0geworICBkcmF3OiBmdW5jdGlvbihjb250ZXh0LCBzaXplKSB7CisgICAg
dmFyIHIgPSBNYXRoLnNxcnQoc2l6ZSAvIGEpLAorICAgICAgICB4MCA9IHIgLyAyLAorICAgICAg
ICB5MCA9IHIgKiBrLAorICAgICAgICB4MSA9IHgwLAorICAgICAgICB5MSA9IHIgKiBrICsgciwK
KyAgICAgICAgeDIgPSAteDEsCisgICAgICAgIHkyID0geTE7CisgICAgY29udGV4dC5tb3ZlVG8o
eDAsIHkwKTsKKyAgICBjb250ZXh0LmxpbmVUbyh4MSwgeTEpOworICAgIGNvbnRleHQubGluZVRv
KHgyLCB5Mik7CisgICAgY29udGV4dC5saW5lVG8oYyQyICogeDAgLSBzICogeTAsIHMgKiB4MCAr
IGMkMiAqIHkwKTsKKyAgICBjb250ZXh0LmxpbmVUbyhjJDIgKiB4MSAtIHMgKiB5MSwgcyAqIHgx
ICsgYyQyICogeTEpOworICAgIGNvbnRleHQubGluZVRvKGMkMiAqIHgyIC0gcyAqIHkyLCBzICog
eDIgKyBjJDIgKiB5Mik7CisgICAgY29udGV4dC5saW5lVG8oYyQyICogeDAgKyBzICogeTAsIGMk
MiAqIHkwIC0gcyAqIHgwKTsKKyAgICBjb250ZXh0LmxpbmVUbyhjJDIgKiB4MSArIHMgKiB5MSwg
YyQyICogeTEgLSBzICogeDEpOworICAgIGNvbnRleHQubGluZVRvKGMkMiAqIHgyICsgcyAqIHky
LCBjJDIgKiB5MiAtIHMgKiB4Mik7CisgICAgY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgfQorfTsK
KwordmFyIHN5bWJvbHMgPSBbCisgIGNpcmNsZSQyLAorICBjcm9zcyQyLAorICBkaWFtb25kLAor
ICBzcXVhcmUsCisgIHN0YXIsCisgIHRyaWFuZ2xlLAorICB3eWUKK107CisKK2Z1bmN0aW9uIHN5
bWJvbCgpIHsKKyAgdmFyIHR5cGUgPSBjb25zdGFudCRiKGNpcmNsZSQyKSwKKyAgICAgIHNpemUg
PSBjb25zdGFudCRiKDY0KSwKKyAgICAgIGNvbnRleHQgPSBudWxsOworCisgIGZ1bmN0aW9uIHN5
bWJvbCgpIHsKKyAgICB2YXIgYnVmZmVyOworICAgIGlmICghY29udGV4dCkgY29udGV4dCA9IGJ1
ZmZlciA9IHBhdGgoKTsKKyAgICB0eXBlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykuZHJhdyhjb250
ZXh0LCArc2l6ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTsKKyAgICBpZiAoYnVmZmVyKSByZXR1
cm4gY29udGV4dCA9IG51bGwsIGJ1ZmZlciArICIiIHx8IG51bGw7CisgIH0KKworICBzeW1ib2wu
dHlwZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0eXBl
ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYihfKSwgc3ltYm9sKSA6
IHR5cGU7CisgIH07CisKKyAgc3ltYm9sLnNpemUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAoc2l6ZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6
IGNvbnN0YW50JGIoK18pLCBzeW1ib2wpIDogc2l6ZTsKKyAgfTsKKworICBzeW1ib2wuY29udGV4
dCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChjb250ZXh0
ID0gXyA9PSBudWxsID8gbnVsbCA6IF8sIHN5bWJvbCkgOiBjb250ZXh0OworICB9OworCisgIHJl
dHVybiBzeW1ib2w7Cit9CisKK2Z1bmN0aW9uIG5vb3AkMygpIHt9CisKK2Z1bmN0aW9uIHBvaW50
JDIodGhhdCwgeCwgeSkgeworICB0aGF0Ll9jb250ZXh0LmJlemllckN1cnZlVG8oCisgICAgKDIg
KiB0aGF0Ll94MCArIHRoYXQuX3gxKSAvIDMsCisgICAgKDIgKiB0aGF0Ll95MCArIHRoYXQuX3kx
KSAvIDMsCisgICAgKHRoYXQuX3gwICsgMiAqIHRoYXQuX3gxKSAvIDMsCisgICAgKHRoYXQuX3kw
ICsgMiAqIHRoYXQuX3kxKSAvIDMsCisgICAgKHRoYXQuX3gwICsgNCAqIHRoYXQuX3gxICsgeCkg
LyA2LAorICAgICh0aGF0Ll95MCArIDQgKiB0aGF0Ll95MSArIHkpIC8gNgorICApOworfQorCitm
dW5jdGlvbiBCYXNpcyhjb250ZXh0KSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworfQor
CitCYXNpcy5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhp
cy5fbGluZSA9IDA7CisgIH0sCisgIGFyZWFFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xp
bmUgPSBOYU47CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5feDAg
PSB0aGlzLl94MSA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IE5hTjsKKyAgICB0aGlzLl9w
b2ludCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHN3aXRjaCAodGhp
cy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMzogcG9pbnQkMih0aGlzLCB0aGlzLl94MSwgdGhpcy5f
eTEpOyAvLyBwcm9jZWVkCisgICAgICBjYXNlIDI6IHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMu
X3gxLCB0aGlzLl95MSk7IGJyZWFrOworICAgIH0KKyAgICBpZiAodGhpcy5fbGluZSB8fCAodGhp
cy5fbGluZSAhPT0gMCAmJiB0aGlzLl9wb2ludCA9PT0gMSkpIHRoaXMuX2NvbnRleHQuY2xvc2VQ
YXRoKCk7CisgICAgdGhpcy5fbGluZSA9IDEgLSB0aGlzLl9saW5lOworICB9LAorICBwb2ludDog
ZnVuY3Rpb24oeCwgeSkgeworICAgIHggPSAreCwgeSA9ICt5OworICAgIHN3aXRjaCAodGhpcy5f
cG9pbnQpIHsKKyAgICAgIGNhc2UgMDogdGhpcy5fcG9pbnQgPSAxOyB0aGlzLl9saW5lID8gdGhp
cy5fY29udGV4dC5saW5lVG8oeCwgeSkgOiB0aGlzLl9jb250ZXh0Lm1vdmVUbyh4LCB5KTsgYnJl
YWs7CisgICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgYnJlYWs7CisgICAgICBjYXNlIDI6
IHRoaXMuX3BvaW50ID0gMzsgdGhpcy5fY29udGV4dC5saW5lVG8oKDUgKiB0aGlzLl94MCArIHRo
aXMuX3gxKSAvIDYsICg1ICogdGhpcy5feTAgKyB0aGlzLl95MSkgLyA2KTsgLy8gcHJvY2VlZAor
ICAgICAgZGVmYXVsdDogcG9pbnQkMih0aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorICAgIHRo
aXMuX3gwID0gdGhpcy5feDEsIHRoaXMuX3gxID0geDsKKyAgICB0aGlzLl95MCA9IHRoaXMuX3kx
LCB0aGlzLl95MSA9IHk7CisgIH0KK307CisKK2Z1bmN0aW9uIGJhc2lzJDIoY29udGV4dCkgewor
ICByZXR1cm4gbmV3IEJhc2lzKGNvbnRleHQpOworfQorCitmdW5jdGlvbiBCYXNpc0Nsb3NlZChj
b250ZXh0KSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworfQorCitCYXNpc0Nsb3NlZC5w
cm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogbm9vcCQzLAorICBhcmVhRW5kOiBub29wJDMsCisg
IGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSA9IHRoaXMu
X3gyID0gdGhpcy5feDMgPSB0aGlzLl94NCA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IHRo
aXMuX3kyID0gdGhpcy5feTMgPSB0aGlzLl95NCA9IE5hTjsKKyAgICB0aGlzLl9wb2ludCA9IDA7
CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQp
IHsKKyAgICAgIGNhc2UgMTogeworICAgICAgICB0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94
MiwgdGhpcy5feTIpOworICAgICAgICB0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpOworICAgICAg
ICBicmVhazsKKyAgICAgIH0KKyAgICAgIGNhc2UgMjogeworICAgICAgICB0aGlzLl9jb250ZXh0
Lm1vdmVUbygodGhpcy5feDIgKyAyICogdGhpcy5feDMpIC8gMywgKHRoaXMuX3kyICsgMiAqIHRo
aXMuX3kzKSAvIDMpOworICAgICAgICB0aGlzLl9jb250ZXh0LmxpbmVUbygodGhpcy5feDMgKyAy
ICogdGhpcy5feDIpIC8gMywgKHRoaXMuX3kzICsgMiAqIHRoaXMuX3kyKSAvIDMpOworICAgICAg
ICB0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAg
ICAgIGNhc2UgMzogeworICAgICAgICB0aGlzLnBvaW50KHRoaXMuX3gyLCB0aGlzLl95Mik7Cisg
ICAgICAgIHRoaXMucG9pbnQodGhpcy5feDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhpcy5wb2lu
dCh0aGlzLl94NCwgdGhpcy5feTQpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICB9Cisg
IH0sCisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAg
c3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IHRo
aXMuX3gyID0geCwgdGhpcy5feTIgPSB5OyBicmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9p
bnQgPSAyOyB0aGlzLl94MyA9IHgsIHRoaXMuX3kzID0geTsgYnJlYWs7CisgICAgICBjYXNlIDI6
IHRoaXMuX3BvaW50ID0gMzsgdGhpcy5feDQgPSB4LCB0aGlzLl95NCA9IHk7IHRoaXMuX2NvbnRl
eHQubW92ZVRvKCh0aGlzLl94MCArIDQgKiB0aGlzLl94MSArIHgpIC8gNiwgKHRoaXMuX3kwICsg
NCAqIHRoaXMuX3kxICsgeSkgLyA2KTsgYnJlYWs7CisgICAgICBkZWZhdWx0OiBwb2ludCQyKHRo
aXMsIHgsIHkpOyBicmVhazsKKyAgICB9CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSwgdGhpcy5f
eDEgPSB4OworICAgIHRoaXMuX3kwID0gdGhpcy5feTEsIHRoaXMuX3kxID0geTsKKyAgfQorfTsK
KworZnVuY3Rpb24gYmFzaXNDbG9zZWQkMShjb250ZXh0KSB7CisgIHJldHVybiBuZXcgQmFzaXND
bG9zZWQoY29udGV4dCk7Cit9CisKK2Z1bmN0aW9uIEJhc2lzT3Blbihjb250ZXh0KSB7CisgIHRo
aXMuX2NvbnRleHQgPSBjb250ZXh0OworfQorCitCYXNpc09wZW4ucHJvdG90eXBlID0geworICBh
cmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSAwOworICB9LAorICBhcmVh
RW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gTmFOOworICB9LAorICBsaW5lU3Rh
cnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3gwID0gdGhpcy5feDEgPQorICAgIHRoaXMuX3kw
ID0gdGhpcy5feTEgPSBOYU47CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9LAorICBsaW5lRW5k
OiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fbGluZSB8fCAodGhpcy5fbGluZSAhPT0gMCAm
JiB0aGlzLl9wb2ludCA9PT0gMykpIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgdGhp
cy5fbGluZSA9IDEgLSB0aGlzLl9saW5lOworICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkg
eworICAgIHggPSAreCwgeSA9ICt5OworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAg
IGNhc2UgMDogdGhpcy5fcG9pbnQgPSAxOyBicmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9p
bnQgPSAyOyBicmVhazsKKyAgICAgIGNhc2UgMjogdGhpcy5fcG9pbnQgPSAzOyB2YXIgeDAgPSAo
dGhpcy5feDAgKyA0ICogdGhpcy5feDEgKyB4KSAvIDYsIHkwID0gKHRoaXMuX3kwICsgNCAqIHRo
aXMuX3kxICsgeSkgLyA2OyB0aGlzLl9saW5lID8gdGhpcy5fY29udGV4dC5saW5lVG8oeDAsIHkw
KSA6IHRoaXMuX2NvbnRleHQubW92ZVRvKHgwLCB5MCk7IGJyZWFrOworICAgICAgY2FzZSAzOiB0
aGlzLl9wb2ludCA9IDQ7IC8vIHByb2NlZWQKKyAgICAgIGRlZmF1bHQ6IHBvaW50JDIodGhpcywg
eCwgeSk7IGJyZWFrOworICAgIH0KKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxLCB0aGlzLl94MSA9
IHg7CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSwgdGhpcy5feTEgPSB5OworICB9Cit9OworCitm
dW5jdGlvbiBiYXNpc09wZW4oY29udGV4dCkgeworICByZXR1cm4gbmV3IEJhc2lzT3Blbihjb250
ZXh0KTsKK30KKworZnVuY3Rpb24gQnVuZGxlKGNvbnRleHQsIGJldGEpIHsKKyAgdGhpcy5fYmFz
aXMgPSBuZXcgQmFzaXMoY29udGV4dCk7CisgIHRoaXMuX2JldGEgPSBiZXRhOworfQorCitCdW5k
bGUucHJvdG90eXBlID0geworICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3gg
PSBbXTsKKyAgICB0aGlzLl95ID0gW107CisgICAgdGhpcy5fYmFzaXMubGluZVN0YXJ0KCk7Cisg
IH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHZhciB4ID0gdGhpcy5feCwKKyAgICAg
ICAgeSA9IHRoaXMuX3ksCisgICAgICAgIGogPSB4Lmxlbmd0aCAtIDE7CisKKyAgICBpZiAoaiA+
IDApIHsKKyAgICAgIHZhciB4MCA9IHhbMF0sCisgICAgICAgICAgeTAgPSB5WzBdLAorICAgICAg
ICAgIGR4ID0geFtqXSAtIHgwLAorICAgICAgICAgIGR5ID0geVtqXSAtIHkwLAorICAgICAgICAg
IGkgPSAtMSwKKyAgICAgICAgICB0OworCisgICAgICB3aGlsZSAoKytpIDw9IGopIHsKKyAgICAg
ICAgdCA9IGkgLyBqOworICAgICAgICB0aGlzLl9iYXNpcy5wb2ludCgKKyAgICAgICAgICB0aGlz
Ll9iZXRhICogeFtpXSArICgxIC0gdGhpcy5fYmV0YSkgKiAoeDAgKyB0ICogZHgpLAorICAgICAg
ICAgIHRoaXMuX2JldGEgKiB5W2ldICsgKDEgLSB0aGlzLl9iZXRhKSAqICh5MCArIHQgKiBkeSkK
KyAgICAgICAgKTsKKyAgICAgIH0KKyAgICB9CisKKyAgICB0aGlzLl94ID0gdGhpcy5feSA9IG51
bGw7CisgICAgdGhpcy5fYmFzaXMubGluZUVuZCgpOworICB9LAorICBwb2ludDogZnVuY3Rpb24o
eCwgeSkgeworICAgIHRoaXMuX3gucHVzaCgreCk7CisgICAgdGhpcy5feS5wdXNoKCt5KTsKKyAg
fQorfTsKKwordmFyIGJ1bmRsZSA9IChmdW5jdGlvbiBjdXN0b20oYmV0YSkgeworCisgIGZ1bmN0
aW9uIGJ1bmRsZShjb250ZXh0KSB7CisgICAgcmV0dXJuIGJldGEgPT09IDEgPyBuZXcgQmFzaXMo
Y29udGV4dCkgOiBuZXcgQnVuZGxlKGNvbnRleHQsIGJldGEpOworICB9CisKKyAgYnVuZGxlLmJl
dGEgPSBmdW5jdGlvbihiZXRhKSB7CisgICAgcmV0dXJuIGN1c3RvbSgrYmV0YSk7CisgIH07CisK
KyAgcmV0dXJuIGJ1bmRsZTsKK30pKDAuODUpOworCitmdW5jdGlvbiBwb2ludCQzKHRoYXQsIHgs
IHkpIHsKKyAgdGhhdC5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKAorICAgIHRoYXQuX3gxICsgdGhh
dC5fayAqICh0aGF0Ll94MiAtIHRoYXQuX3gwKSwKKyAgICB0aGF0Ll95MSArIHRoYXQuX2sgKiAo
dGhhdC5feTIgLSB0aGF0Ll95MCksCisgICAgdGhhdC5feDIgKyB0aGF0Ll9rICogKHRoYXQuX3gx
IC0geCksCisgICAgdGhhdC5feTIgKyB0aGF0Ll9rICogKHRoYXQuX3kxIC0geSksCisgICAgdGhh
dC5feDIsCisgICAgdGhhdC5feTIKKyAgKTsKK30KKworZnVuY3Rpb24gQ2FyZGluYWwoY29udGV4
dCwgdGVuc2lvbikgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKKyAgdGhpcy5fayA9ICgx
IC0gdGVuc2lvbikgLyA2OworfQorCitDYXJkaW5hbC5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFy
dDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IDA7CisgIH0sCisgIGFyZWFFbmQ6IGZ1
bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSBOYU47CisgIH0sCisgIGxpbmVTdGFydDogZnVu
Y3Rpb24oKSB7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSA9IHRoaXMuX3gyID0KKyAgICB0aGlz
Ll95MCA9IHRoaXMuX3kxID0gdGhpcy5feTIgPSBOYU47CisgICAgdGhpcy5fcG9pbnQgPSAwOwor
ICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7
CisgICAgICBjYXNlIDI6IHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLCB0aGlzLl95Mik7
IGJyZWFrOworICAgICAgY2FzZSAzOiBwb2ludCQzKHRoaXMsIHRoaXMuX3gxLCB0aGlzLl95MSk7
IGJyZWFrOworICAgIH0KKyAgICBpZiAodGhpcy5fbGluZSB8fCAodGhpcy5fbGluZSAhPT0gMCAm
JiB0aGlzLl9wb2ludCA9PT0gMSkpIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgdGhp
cy5fbGluZSA9IDEgLSB0aGlzLl9saW5lOworICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkg
eworICAgIHggPSAreCwgeSA9ICt5OworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAg
IGNhc2UgMDogdGhpcy5fcG9pbnQgPSAxOyB0aGlzLl9saW5lID8gdGhpcy5fY29udGV4dC5saW5l
VG8oeCwgeSkgOiB0aGlzLl9jb250ZXh0Lm1vdmVUbyh4LCB5KTsgYnJlYWs7CisgICAgICBjYXNl
IDE6IHRoaXMuX3BvaW50ID0gMjsgdGhpcy5feDEgPSB4LCB0aGlzLl95MSA9IHk7IGJyZWFrOwor
ICAgICAgY2FzZSAyOiB0aGlzLl9wb2ludCA9IDM7IC8vIHByb2NlZWQKKyAgICAgIGRlZmF1bHQ6
IHBvaW50JDModGhpcywgeCwgeSk7IGJyZWFrOworICAgIH0KKyAgICB0aGlzLl94MCA9IHRoaXMu
X3gxLCB0aGlzLl94MSA9IHRoaXMuX3gyLCB0aGlzLl94MiA9IHg7CisgICAgdGhpcy5feTAgPSB0
aGlzLl95MSwgdGhpcy5feTEgPSB0aGlzLl95MiwgdGhpcy5feTIgPSB5OworICB9Cit9OworCit2
YXIgY2FyZGluYWwgPSAoZnVuY3Rpb24gY3VzdG9tKHRlbnNpb24pIHsKKworICBmdW5jdGlvbiBj
YXJkaW5hbChjb250ZXh0KSB7CisgICAgcmV0dXJuIG5ldyBDYXJkaW5hbChjb250ZXh0LCB0ZW5z
aW9uKTsKKyAgfQorCisgIGNhcmRpbmFsLnRlbnNpb24gPSBmdW5jdGlvbih0ZW5zaW9uKSB7Cisg
ICAgcmV0dXJuIGN1c3RvbSgrdGVuc2lvbik7CisgIH07CisKKyAgcmV0dXJuIGNhcmRpbmFsOwor
fSkoMCk7CisKK2Z1bmN0aW9uIENhcmRpbmFsQ2xvc2VkKGNvbnRleHQsIHRlbnNpb24pIHsKKyAg
dGhpcy5fY29udGV4dCA9IGNvbnRleHQ7CisgIHRoaXMuX2sgPSAoMSAtIHRlbnNpb24pIC8gNjsK
K30KKworQ2FyZGluYWxDbG9zZWQucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6IG5vb3AkMywK
KyAgYXJlYUVuZDogbm9vcCQzLAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMu
X3gwID0gdGhpcy5feDEgPSB0aGlzLl94MiA9IHRoaXMuX3gzID0gdGhpcy5feDQgPSB0aGlzLl94
NSA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IHRoaXMuX3kyID0gdGhpcy5feTMgPSB0aGlz
Ll95NCA9IHRoaXMuX3k1ID0gTmFOOworICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGlu
ZUVuZDogZnVuY3Rpb24oKSB7CisgICAgc3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2Fz
ZSAxOiB7CisgICAgICAgIHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gzLCB0aGlzLl95Myk7
CisgICAgICAgIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgICAgIGJyZWFrOworICAg
ICAgfQorICAgICAgY2FzZSAyOiB7CisgICAgICAgIHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMu
X3gzLCB0aGlzLl95Myk7CisgICAgICAgIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAg
ICAgIGJyZWFrOworICAgICAgfQorICAgICAgY2FzZSAzOiB7CisgICAgICAgIHRoaXMucG9pbnQo
dGhpcy5feDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhpcy5wb2ludCh0aGlzLl94NCwgdGhpcy5f
eTQpOworICAgICAgICB0aGlzLnBvaW50KHRoaXMuX3g1LCB0aGlzLl95NSk7CisgICAgICAgIGJy
ZWFrOworICAgICAgfQorICAgIH0KKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAg
ICB4ID0gK3gsIHkgPSAreTsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNl
IDA6IHRoaXMuX3BvaW50ID0gMTsgdGhpcy5feDMgPSB4LCB0aGlzLl95MyA9IHk7IGJyZWFrOwor
ICAgICAgY2FzZSAxOiB0aGlzLl9wb2ludCA9IDI7IHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMu
X3g0ID0geCwgdGhpcy5feTQgPSB5KTsgYnJlYWs7CisgICAgICBjYXNlIDI6IHRoaXMuX3BvaW50
ID0gMzsgdGhpcy5feDUgPSB4LCB0aGlzLl95NSA9IHk7IGJyZWFrOworICAgICAgZGVmYXVsdDog
cG9pbnQkMyh0aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorICAgIHRoaXMuX3gwID0gdGhpcy5f
eDEsIHRoaXMuX3gxID0gdGhpcy5feDIsIHRoaXMuX3gyID0geDsKKyAgICB0aGlzLl95MCA9IHRo
aXMuX3kxLCB0aGlzLl95MSA9IHRoaXMuX3kyLCB0aGlzLl95MiA9IHk7CisgIH0KK307CisKK3Zh
ciBjYXJkaW5hbENsb3NlZCA9IChmdW5jdGlvbiBjdXN0b20odGVuc2lvbikgeworCisgIGZ1bmN0
aW9uIGNhcmRpbmFsKGNvbnRleHQpIHsKKyAgICByZXR1cm4gbmV3IENhcmRpbmFsQ2xvc2VkKGNv
bnRleHQsIHRlbnNpb24pOworICB9CisKKyAgY2FyZGluYWwudGVuc2lvbiA9IGZ1bmN0aW9uKHRl
bnNpb24pIHsKKyAgICByZXR1cm4gY3VzdG9tKCt0ZW5zaW9uKTsKKyAgfTsKKworICByZXR1cm4g
Y2FyZGluYWw7Cit9KSgwKTsKKworZnVuY3Rpb24gQ2FyZGluYWxPcGVuKGNvbnRleHQsIHRlbnNp
b24pIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7CisgIHRoaXMuX2sgPSAoMSAtIHRlbnNp
b24pIC8gNjsKK30KKworQ2FyZGluYWxPcGVuLnByb3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBm
dW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAgfSwKKyAgYXJlYUVuZDogZnVuY3Rp
b24oKSB7CisgICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwKKyAgbGluZVN0YXJ0OiBmdW5jdGlv
bigpIHsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxID0gdGhpcy5feDIgPQorICAgIHRoaXMuX3kw
ID0gdGhpcy5feTEgPSB0aGlzLl95MiA9IE5hTjsKKyAgICB0aGlzLl9wb2ludCA9IDA7CisgIH0s
CisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9saW5lIHx8ICh0aGlzLl9s
aW5lICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAzKSkgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgo
KTsKKyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0sCisgIHBvaW50OiBmdW5j
dGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgc3dpdGNoICh0aGlzLl9wb2lu
dCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IGJyZWFrOworICAgICAgY2FzZSAx
OiB0aGlzLl9wb2ludCA9IDI7IGJyZWFrOworICAgICAgY2FzZSAyOiB0aGlzLl9wb2ludCA9IDM7
IHRoaXMuX2xpbmUgPyB0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94MiwgdGhpcy5feTIpIDog
dGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDIsIHRoaXMuX3kyKTsgYnJlYWs7CisgICAgICBj
YXNlIDM6IHRoaXMuX3BvaW50ID0gNDsgLy8gcHJvY2VlZAorICAgICAgZGVmYXVsdDogcG9pbnQk
Myh0aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorICAgIHRoaXMuX3gwID0gdGhpcy5feDEsIHRo
aXMuX3gxID0gdGhpcy5feDIsIHRoaXMuX3gyID0geDsKKyAgICB0aGlzLl95MCA9IHRoaXMuX3kx
LCB0aGlzLl95MSA9IHRoaXMuX3kyLCB0aGlzLl95MiA9IHk7CisgIH0KK307CisKK3ZhciBjYXJk
aW5hbE9wZW4gPSAoZnVuY3Rpb24gY3VzdG9tKHRlbnNpb24pIHsKKworICBmdW5jdGlvbiBjYXJk
aW5hbChjb250ZXh0KSB7CisgICAgcmV0dXJuIG5ldyBDYXJkaW5hbE9wZW4oY29udGV4dCwgdGVu
c2lvbik7CisgIH0KKworICBjYXJkaW5hbC50ZW5zaW9uID0gZnVuY3Rpb24odGVuc2lvbikgewor
ICAgIHJldHVybiBjdXN0b20oK3RlbnNpb24pOworICB9OworCisgIHJldHVybiBjYXJkaW5hbDsK
K30pKDApOworCitmdW5jdGlvbiBwb2ludCQ0KHRoYXQsIHgsIHkpIHsKKyAgdmFyIHgxID0gdGhh
dC5feDEsCisgICAgICB5MSA9IHRoYXQuX3kxLAorICAgICAgeDIgPSB0aGF0Ll94MiwKKyAgICAg
IHkyID0gdGhhdC5feTI7CisKKyAgaWYgKHRoYXQuX2wwMV9hID4gZXBzaWxvbiQzKSB7CisgICAg
dmFyIGEgPSAyICogdGhhdC5fbDAxXzJhICsgMyAqIHRoYXQuX2wwMV9hICogdGhhdC5fbDEyX2Eg
KyB0aGF0Ll9sMTJfMmEsCisgICAgICAgIG4gPSAzICogdGhhdC5fbDAxX2EgKiAodGhhdC5fbDAx
X2EgKyB0aGF0Ll9sMTJfYSk7CisgICAgeDEgPSAoeDEgKiBhIC0gdGhhdC5feDAgKiB0aGF0Ll9s
MTJfMmEgKyB0aGF0Ll94MiAqIHRoYXQuX2wwMV8yYSkgLyBuOworICAgIHkxID0gKHkxICogYSAt
IHRoYXQuX3kwICogdGhhdC5fbDEyXzJhICsgdGhhdC5feTIgKiB0aGF0Ll9sMDFfMmEpIC8gbjsK
KyAgfQorCisgIGlmICh0aGF0Ll9sMjNfYSA+IGVwc2lsb24kMykgeworICAgIHZhciBiID0gMiAq
IHRoYXQuX2wyM18yYSArIDMgKiB0aGF0Ll9sMjNfYSAqIHRoYXQuX2wxMl9hICsgdGhhdC5fbDEy
XzJhLAorICAgICAgICBtID0gMyAqIHRoYXQuX2wyM19hICogKHRoYXQuX2wyM19hICsgdGhhdC5f
bDEyX2EpOworICAgIHgyID0gKHgyICogYiArIHRoYXQuX3gxICogdGhhdC5fbDIzXzJhIC0geCAq
IHRoYXQuX2wxMl8yYSkgLyBtOworICAgIHkyID0gKHkyICogYiArIHRoYXQuX3kxICogdGhhdC5f
bDIzXzJhIC0geSAqIHRoYXQuX2wxMl8yYSkgLyBtOworICB9CisKKyAgdGhhdC5fY29udGV4dC5i
ZXppZXJDdXJ2ZVRvKHgxLCB5MSwgeDIsIHkyLCB0aGF0Ll94MiwgdGhhdC5feTIpOworfQorCitm
dW5jdGlvbiBDYXRtdWxsUm9tKGNvbnRleHQsIGFscGhhKSB7CisgIHRoaXMuX2NvbnRleHQgPSBj
b250ZXh0OworICB0aGlzLl9hbHBoYSA9IGFscGhhOworfQorCitDYXRtdWxsUm9tLnByb3RvdHlw
ZSA9IHsKKyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAg
fSwKKyAgYXJlYUVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwK
KyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxID0gdGhp
cy5feDIgPQorICAgIHRoaXMuX3kwID0gdGhpcy5feTEgPSB0aGlzLl95MiA9IE5hTjsKKyAgICB0
aGlzLl9sMDFfYSA9IHRoaXMuX2wxMl9hID0gdGhpcy5fbDIzX2EgPQorICAgIHRoaXMuX2wwMV8y
YSA9IHRoaXMuX2wxMl8yYSA9IHRoaXMuX2wyM18yYSA9CisgICAgdGhpcy5fcG9pbnQgPSAwOwor
ICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7
CisgICAgICBjYXNlIDI6IHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLCB0aGlzLl95Mik7
IGJyZWFrOworICAgICAgY2FzZSAzOiB0aGlzLnBvaW50KHRoaXMuX3gyLCB0aGlzLl95Mik7IGJy
ZWFrOworICAgIH0KKyAgICBpZiAodGhpcy5fbGluZSB8fCAodGhpcy5fbGluZSAhPT0gMCAmJiB0
aGlzLl9wb2ludCA9PT0gMSkpIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgdGhpcy5f
bGluZSA9IDEgLSB0aGlzLl9saW5lOworICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkgewor
ICAgIHggPSAreCwgeSA9ICt5OworCisgICAgaWYgKHRoaXMuX3BvaW50KSB7CisgICAgICB2YXIg
eDIzID0gdGhpcy5feDIgLSB4LAorICAgICAgICAgIHkyMyA9IHRoaXMuX3kyIC0geTsKKyAgICAg
IHRoaXMuX2wyM19hID0gTWF0aC5zcXJ0KHRoaXMuX2wyM18yYSA9IE1hdGgucG93KHgyMyAqIHgy
MyArIHkyMyAqIHkyMywgdGhpcy5fYWxwaGEpKTsKKyAgICB9CisKKyAgICBzd2l0Y2ggKHRoaXMu
X3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3BvaW50ID0gMTsgdGhpcy5fbGluZSA/IHRo
aXMuX2NvbnRleHQubGluZVRvKHgsIHkpIDogdGhpcy5fY29udGV4dC5tb3ZlVG8oeCwgeSk7IGJy
ZWFrOworICAgICAgY2FzZSAxOiB0aGlzLl9wb2ludCA9IDI7IGJyZWFrOworICAgICAgY2FzZSAy
OiB0aGlzLl9wb2ludCA9IDM7IC8vIHByb2NlZWQKKyAgICAgIGRlZmF1bHQ6IHBvaW50JDQodGhp
cywgeCwgeSk7IGJyZWFrOworICAgIH0KKworICAgIHRoaXMuX2wwMV9hID0gdGhpcy5fbDEyX2Es
IHRoaXMuX2wxMl9hID0gdGhpcy5fbDIzX2E7CisgICAgdGhpcy5fbDAxXzJhID0gdGhpcy5fbDEy
XzJhLCB0aGlzLl9sMTJfMmEgPSB0aGlzLl9sMjNfMmE7CisgICAgdGhpcy5feDAgPSB0aGlzLl94
MSwgdGhpcy5feDEgPSB0aGlzLl94MiwgdGhpcy5feDIgPSB4OworICAgIHRoaXMuX3kwID0gdGhp
cy5feTEsIHRoaXMuX3kxID0gdGhpcy5feTIsIHRoaXMuX3kyID0geTsKKyAgfQorfTsKKwordmFy
IGNhdG11bGxSb20gPSAoZnVuY3Rpb24gY3VzdG9tKGFscGhhKSB7CisKKyAgZnVuY3Rpb24gY2F0
bXVsbFJvbShjb250ZXh0KSB7CisgICAgcmV0dXJuIGFscGhhID8gbmV3IENhdG11bGxSb20oY29u
dGV4dCwgYWxwaGEpIDogbmV3IENhcmRpbmFsKGNvbnRleHQsIDApOworICB9CisKKyAgY2F0bXVs
bFJvbS5hbHBoYSA9IGZ1bmN0aW9uKGFscGhhKSB7CisgICAgcmV0dXJuIGN1c3RvbSgrYWxwaGEp
OworICB9OworCisgIHJldHVybiBjYXRtdWxsUm9tOworfSkoMC41KTsKKworZnVuY3Rpb24gQ2F0
bXVsbFJvbUNsb3NlZChjb250ZXh0LCBhbHBoYSkgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4
dDsKKyAgdGhpcy5fYWxwaGEgPSBhbHBoYTsKK30KKworQ2F0bXVsbFJvbUNsb3NlZC5wcm90b3R5
cGUgPSB7CisgIGFyZWFTdGFydDogbm9vcCQzLAorICBhcmVhRW5kOiBub29wJDMsCisgIGxpbmVT
dGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSA9IHRoaXMuX3gyID0g
dGhpcy5feDMgPSB0aGlzLl94NCA9IHRoaXMuX3g1ID0KKyAgICB0aGlzLl95MCA9IHRoaXMuX3kx
ID0gdGhpcy5feTIgPSB0aGlzLl95MyA9IHRoaXMuX3k0ID0gdGhpcy5feTUgPSBOYU47CisgICAg
dGhpcy5fbDAxX2EgPSB0aGlzLl9sMTJfYSA9IHRoaXMuX2wyM19hID0KKyAgICB0aGlzLl9sMDFf
MmEgPSB0aGlzLl9sMTJfMmEgPSB0aGlzLl9sMjNfMmEgPQorICAgIHRoaXMuX3BvaW50ID0gMDsK
KyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgc3dpdGNoICh0aGlzLl9wb2ludCkg
eworICAgICAgY2FzZSAxOiB7CisgICAgICAgIHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gz
LCB0aGlzLl95Myk7CisgICAgICAgIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgICAg
IGJyZWFrOworICAgICAgfQorICAgICAgY2FzZSAyOiB7CisgICAgICAgIHRoaXMuX2NvbnRleHQu
bGluZVRvKHRoaXMuX3gzLCB0aGlzLl95Myk7CisgICAgICAgIHRoaXMuX2NvbnRleHQuY2xvc2VQ
YXRoKCk7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAgY2FzZSAzOiB7CisgICAgICAg
IHRoaXMucG9pbnQodGhpcy5feDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhpcy5wb2ludCh0aGlz
Ll94NCwgdGhpcy5feTQpOworICAgICAgICB0aGlzLnBvaW50KHRoaXMuX3g1LCB0aGlzLl95NSk7
CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgIH0KKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9u
KHgsIHkpIHsKKyAgICB4ID0gK3gsIHkgPSAreTsKKworICAgIGlmICh0aGlzLl9wb2ludCkgewor
ICAgICAgdmFyIHgyMyA9IHRoaXMuX3gyIC0geCwKKyAgICAgICAgICB5MjMgPSB0aGlzLl95MiAt
IHk7CisgICAgICB0aGlzLl9sMjNfYSA9IE1hdGguc3FydCh0aGlzLl9sMjNfMmEgPSBNYXRoLnBv
dyh4MjMgKiB4MjMgKyB5MjMgKiB5MjMsIHRoaXMuX2FscGhhKSk7CisgICAgfQorCisgICAgc3dp
dGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IHRoaXMu
X3gzID0geCwgdGhpcy5feTMgPSB5OyBicmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQg
PSAyOyB0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94NCA9IHgsIHRoaXMuX3k0ID0geSk7IGJy
ZWFrOworICAgICAgY2FzZSAyOiB0aGlzLl9wb2ludCA9IDM7IHRoaXMuX3g1ID0geCwgdGhpcy5f
eTUgPSB5OyBicmVhazsKKyAgICAgIGRlZmF1bHQ6IHBvaW50JDQodGhpcywgeCwgeSk7IGJyZWFr
OworICAgIH0KKworICAgIHRoaXMuX2wwMV9hID0gdGhpcy5fbDEyX2EsIHRoaXMuX2wxMl9hID0g
dGhpcy5fbDIzX2E7CisgICAgdGhpcy5fbDAxXzJhID0gdGhpcy5fbDEyXzJhLCB0aGlzLl9sMTJf
MmEgPSB0aGlzLl9sMjNfMmE7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSwgdGhpcy5feDEgPSB0
aGlzLl94MiwgdGhpcy5feDIgPSB4OworICAgIHRoaXMuX3kwID0gdGhpcy5feTEsIHRoaXMuX3kx
ID0gdGhpcy5feTIsIHRoaXMuX3kyID0geTsKKyAgfQorfTsKKwordmFyIGNhdG11bGxSb21DbG9z
ZWQgPSAoZnVuY3Rpb24gY3VzdG9tKGFscGhhKSB7CisKKyAgZnVuY3Rpb24gY2F0bXVsbFJvbShj
b250ZXh0KSB7CisgICAgcmV0dXJuIGFscGhhID8gbmV3IENhdG11bGxSb21DbG9zZWQoY29udGV4
dCwgYWxwaGEpIDogbmV3IENhcmRpbmFsQ2xvc2VkKGNvbnRleHQsIDApOworICB9CisKKyAgY2F0
bXVsbFJvbS5hbHBoYSA9IGZ1bmN0aW9uKGFscGhhKSB7CisgICAgcmV0dXJuIGN1c3RvbSgrYWxw
aGEpOworICB9OworCisgIHJldHVybiBjYXRtdWxsUm9tOworfSkoMC41KTsKKworZnVuY3Rpb24g
Q2F0bXVsbFJvbU9wZW4oY29udGV4dCwgYWxwaGEpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRl
eHQ7CisgIHRoaXMuX2FscGhhID0gYWxwaGE7Cit9CisKK0NhdG11bGxSb21PcGVuLnByb3RvdHlw
ZSA9IHsKKyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAg
fSwKKyAgYXJlYUVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwK
KyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxID0gdGhp
cy5feDIgPQorICAgIHRoaXMuX3kwID0gdGhpcy5feTEgPSB0aGlzLl95MiA9IE5hTjsKKyAgICB0
aGlzLl9sMDFfYSA9IHRoaXMuX2wxMl9hID0gdGhpcy5fbDIzX2EgPQorICAgIHRoaXMuX2wwMV8y
YSA9IHRoaXMuX2wxMl8yYSA9IHRoaXMuX2wyM18yYSA9CisgICAgdGhpcy5fcG9pbnQgPSAwOwor
ICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fbGluZSB8fCAodGhp
cy5fbGluZSAhPT0gMCAmJiB0aGlzLl9wb2ludCA9PT0gMykpIHRoaXMuX2NvbnRleHQuY2xvc2VQ
YXRoKCk7CisgICAgdGhpcy5fbGluZSA9IDEgLSB0aGlzLl9saW5lOworICB9LAorICBwb2ludDog
ZnVuY3Rpb24oeCwgeSkgeworICAgIHggPSAreCwgeSA9ICt5OworCisgICAgaWYgKHRoaXMuX3Bv
aW50KSB7CisgICAgICB2YXIgeDIzID0gdGhpcy5feDIgLSB4LAorICAgICAgICAgIHkyMyA9IHRo
aXMuX3kyIC0geTsKKyAgICAgIHRoaXMuX2wyM19hID0gTWF0aC5zcXJ0KHRoaXMuX2wyM18yYSA9
IE1hdGgucG93KHgyMyAqIHgyMyArIHkyMyAqIHkyMywgdGhpcy5fYWxwaGEpKTsKKyAgICB9CisK
KyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3BvaW50ID0g
MTsgYnJlYWs7CisgICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgYnJlYWs7CisgICAgICBj
YXNlIDI6IHRoaXMuX3BvaW50ID0gMzsgdGhpcy5fbGluZSA/IHRoaXMuX2NvbnRleHQubGluZVRv
KHRoaXMuX3gyLCB0aGlzLl95MikgOiB0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94MiwgdGhp
cy5feTIpOyBicmVhazsKKyAgICAgIGNhc2UgMzogdGhpcy5fcG9pbnQgPSA0OyAvLyBwcm9jZWVk
CisgICAgICBkZWZhdWx0OiBwb2ludCQ0KHRoaXMsIHgsIHkpOyBicmVhazsKKyAgICB9CisKKyAg
ICB0aGlzLl9sMDFfYSA9IHRoaXMuX2wxMl9hLCB0aGlzLl9sMTJfYSA9IHRoaXMuX2wyM19hOwor
ICAgIHRoaXMuX2wwMV8yYSA9IHRoaXMuX2wxMl8yYSwgdGhpcy5fbDEyXzJhID0gdGhpcy5fbDIz
XzJhOworICAgIHRoaXMuX3gwID0gdGhpcy5feDEsIHRoaXMuX3gxID0gdGhpcy5feDIsIHRoaXMu
X3gyID0geDsKKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxLCB0aGlzLl95MSA9IHRoaXMuX3kyLCB0
aGlzLl95MiA9IHk7CisgIH0KK307CisKK3ZhciBjYXRtdWxsUm9tT3BlbiA9IChmdW5jdGlvbiBj
dXN0b20oYWxwaGEpIHsKKworICBmdW5jdGlvbiBjYXRtdWxsUm9tKGNvbnRleHQpIHsKKyAgICBy
ZXR1cm4gYWxwaGEgPyBuZXcgQ2F0bXVsbFJvbU9wZW4oY29udGV4dCwgYWxwaGEpIDogbmV3IENh
cmRpbmFsT3Blbihjb250ZXh0LCAwKTsKKyAgfQorCisgIGNhdG11bGxSb20uYWxwaGEgPSBmdW5j
dGlvbihhbHBoYSkgeworICAgIHJldHVybiBjdXN0b20oK2FscGhhKTsKKyAgfTsKKworICByZXR1
cm4gY2F0bXVsbFJvbTsKK30pKDAuNSk7CisKK2Z1bmN0aW9uIExpbmVhckNsb3NlZChjb250ZXh0
KSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworfQorCitMaW5lYXJDbG9zZWQucHJvdG90
eXBlID0geworICBhcmVhU3RhcnQ6IG5vb3AkMywKKyAgYXJlYUVuZDogbm9vcCQzLAorICBsaW5l
U3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVu
ZDogZnVuY3Rpb24oKSB7CisgICAgaWYgKHRoaXMuX3BvaW50KSB0aGlzLl9jb250ZXh0LmNsb3Nl
UGF0aCgpOworICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAgIHggPSAreCwgeSA9
ICt5OworICAgIGlmICh0aGlzLl9wb2ludCkgdGhpcy5fY29udGV4dC5saW5lVG8oeCwgeSk7Cisg
ICAgZWxzZSB0aGlzLl9wb2ludCA9IDEsIHRoaXMuX2NvbnRleHQubW92ZVRvKHgsIHkpOworICB9
Cit9OworCitmdW5jdGlvbiBsaW5lYXJDbG9zZWQoY29udGV4dCkgeworICByZXR1cm4gbmV3IExp
bmVhckNsb3NlZChjb250ZXh0KTsKK30KKworZnVuY3Rpb24gc2lnbiQxKHgpIHsKKyAgcmV0dXJu
IHggPCAwID8gLTEgOiAxOworfQorCisvLyBDYWxjdWxhdGUgdGhlIHNsb3BlcyBvZiB0aGUgdGFu
Z2VudHMgKEhlcm1pdGUtdHlwZSBpbnRlcnBvbGF0aW9uKSBiYXNlZCBvbgorLy8gdGhlIGZvbGxv
d2luZyBwYXBlcjogU3RlZmZlbiwgTS4gMTk5MC4gQSBTaW1wbGUgTWV0aG9kIGZvciBNb25vdG9u
aWMKKy8vIEludGVycG9sYXRpb24gaW4gT25lIERpbWVuc2lvbi4gQXN0cm9ub215IGFuZCBBc3Ry
b3BoeXNpY3MsIFZvbC4gMjM5LCBOTy4KKy8vIE5PVihJSSksIFAuIDQ0MywgMTk5MC4KK2Z1bmN0
aW9uIHNsb3BlMyh0aGF0LCB4MiwgeTIpIHsKKyAgdmFyIGgwID0gdGhhdC5feDEgLSB0aGF0Ll94
MCwKKyAgICAgIGgxID0geDIgLSB0aGF0Ll94MSwKKyAgICAgIHMwID0gKHRoYXQuX3kxIC0gdGhh
dC5feTApIC8gKGgwIHx8IGgxIDwgMCAmJiAtMCksCisgICAgICBzMSA9ICh5MiAtIHRoYXQuX3kx
KSAvIChoMSB8fCBoMCA8IDAgJiYgLTApLAorICAgICAgcCA9IChzMCAqIGgxICsgczEgKiBoMCkg
LyAoaDAgKyBoMSk7CisgIHJldHVybiAoc2lnbiQxKHMwKSArIHNpZ24kMShzMSkpICogTWF0aC5t
aW4oTWF0aC5hYnMoczApLCBNYXRoLmFicyhzMSksIDAuNSAqIE1hdGguYWJzKHApKSB8fCAwOwor
fQorCisvLyBDYWxjdWxhdGUgYSBvbmUtc2lkZWQgc2xvcGUuCitmdW5jdGlvbiBzbG9wZTIodGhh
dCwgdCkgeworICB2YXIgaCA9IHRoYXQuX3gxIC0gdGhhdC5feDA7CisgIHJldHVybiBoID8gKDMg
KiAodGhhdC5feTEgLSB0aGF0Ll95MCkgLyBoIC0gdCkgLyAyIDogdDsKK30KKworLy8gQWNjb3Jk
aW5nIHRvIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0N1YmljX0hlcm1pdGVfc3BsaW5l
I1JlcHJlc2VudGF0aW9ucworLy8gInlvdSBjYW4gZXhwcmVzcyBjdWJpYyBIZXJtaXRlIGludGVy
cG9sYXRpb24gaW4gdGVybXMgb2YgY3ViaWMgQsOpemllciBjdXJ2ZXMKKy8vIHdpdGggcmVzcGVj
dCB0byB0aGUgZm91ciB2YWx1ZXMgcDAsIHAwICsgbTAgLyAzLCBwMSAtIG0xIC8gMywgcDEiLgor
ZnVuY3Rpb24gcG9pbnQkNSh0aGF0LCB0MCwgdDEpIHsKKyAgdmFyIHgwID0gdGhhdC5feDAsCisg
ICAgICB5MCA9IHRoYXQuX3kwLAorICAgICAgeDEgPSB0aGF0Ll94MSwKKyAgICAgIHkxID0gdGhh
dC5feTEsCisgICAgICBkeCA9ICh4MSAtIHgwKSAvIDM7CisgIHRoYXQuX2NvbnRleHQuYmV6aWVy
Q3VydmVUbyh4MCArIGR4LCB5MCArIGR4ICogdDAsIHgxIC0gZHgsIHkxIC0gZHggKiB0MSwgeDEs
IHkxKTsKK30KKworZnVuY3Rpb24gTW9ub3RvbmVYKGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4
dCA9IGNvbnRleHQ7Cit9CisKK01vbm90b25lWC5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDog
ZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IDA7CisgIH0sCisgIGFyZWFFbmQ6IGZ1bmN0
aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSBOYU47CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rp
b24oKSB7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95
MSA9CisgICAgdGhpcy5fdDAgPSBOYU47CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9LAorICBs
aW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBj
YXNlIDI6IHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gxLCB0aGlzLl95MSk7IGJyZWFrOwor
ICAgICAgY2FzZSAzOiBwb2ludCQ1KHRoaXMsIHRoaXMuX3QwLCBzbG9wZTIodGhpcywgdGhpcy5f
dDApKTsgYnJlYWs7CisgICAgfQorICAgIGlmICh0aGlzLl9saW5lIHx8ICh0aGlzLl9saW5lICE9
PSAwICYmIHRoaXMuX3BvaW50ID09PSAxKSkgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAg
ICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0sCisgIHBvaW50OiBmdW5jdGlvbih4
LCB5KSB7CisgICAgdmFyIHQxID0gTmFOOworCisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgaWYg
KHggPT09IHRoaXMuX3gxICYmIHkgPT09IHRoaXMuX3kxKSByZXR1cm47IC8vIElnbm9yZSBjb2lu
Y2lkZW50IHBvaW50cy4KKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6
IHRoaXMuX3BvaW50ID0gMTsgdGhpcy5fbGluZSA/IHRoaXMuX2NvbnRleHQubGluZVRvKHgsIHkp
IDogdGhpcy5fY29udGV4dC5tb3ZlVG8oeCwgeSk7IGJyZWFrOworICAgICAgY2FzZSAxOiB0aGlz
Ll9wb2ludCA9IDI7IGJyZWFrOworICAgICAgY2FzZSAyOiB0aGlzLl9wb2ludCA9IDM7IHBvaW50
JDUodGhpcywgc2xvcGUyKHRoaXMsIHQxID0gc2xvcGUzKHRoaXMsIHgsIHkpKSwgdDEpOyBicmVh
azsKKyAgICAgIGRlZmF1bHQ6IHBvaW50JDUodGhpcywgdGhpcy5fdDAsIHQxID0gc2xvcGUzKHRo
aXMsIHgsIHkpKTsgYnJlYWs7CisgICAgfQorCisgICAgdGhpcy5feDAgPSB0aGlzLl94MSwgdGhp
cy5feDEgPSB4OworICAgIHRoaXMuX3kwID0gdGhpcy5feTEsIHRoaXMuX3kxID0geTsKKyAgICB0
aGlzLl90MCA9IHQxOworICB9Cit9OworCitmdW5jdGlvbiBNb25vdG9uZVkoY29udGV4dCkgewor
ICB0aGlzLl9jb250ZXh0ID0gbmV3IFJlZmxlY3RDb250ZXh0KGNvbnRleHQpOworfQorCisoTW9u
b3RvbmVZLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoTW9ub3RvbmVYLnByb3RvdHlwZSkpLnBv
aW50ID0gZnVuY3Rpb24oeCwgeSkgeworICBNb25vdG9uZVgucHJvdG90eXBlLnBvaW50LmNhbGwo
dGhpcywgeSwgeCk7Cit9OworCitmdW5jdGlvbiBSZWZsZWN0Q29udGV4dChjb250ZXh0KSB7Cisg
IHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworfQorCitSZWZsZWN0Q29udGV4dC5wcm90b3R5cGUg
PSB7CisgIG1vdmVUbzogZnVuY3Rpb24oeCwgeSkgeyB0aGlzLl9jb250ZXh0Lm1vdmVUbyh5LCB4
KTsgfSwKKyAgY2xvc2VQYXRoOiBmdW5jdGlvbigpIHsgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgo
KTsgfSwKKyAgbGluZVRvOiBmdW5jdGlvbih4LCB5KSB7IHRoaXMuX2NvbnRleHQubGluZVRvKHks
IHgpOyB9LAorICBiZXppZXJDdXJ2ZVRvOiBmdW5jdGlvbih4MSwgeTEsIHgyLCB5MiwgeCwgeSkg
eyB0aGlzLl9jb250ZXh0LmJlemllckN1cnZlVG8oeTEsIHgxLCB5MiwgeDIsIHksIHgpOyB9Cit9
OworCitmdW5jdGlvbiBtb25vdG9uZVgoY29udGV4dCkgeworICByZXR1cm4gbmV3IE1vbm90b25l
WChjb250ZXh0KTsKK30KKworZnVuY3Rpb24gbW9ub3RvbmVZKGNvbnRleHQpIHsKKyAgcmV0dXJu
IG5ldyBNb25vdG9uZVkoY29udGV4dCk7Cit9CisKK2Z1bmN0aW9uIE5hdHVyYWwoY29udGV4dCkg
eworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKK30KKworTmF0dXJhbC5wcm90b3R5cGUgPSB7
CisgIGFyZWFTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IDA7CisgIH0sCisg
IGFyZWFFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSBOYU47CisgIH0sCisgIGxp
bmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5feCA9IFtdOworICAgIHRoaXMuX3kgPSBb
XTsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgdmFyIHggPSB0aGlzLl94LAor
ICAgICAgICB5ID0gdGhpcy5feSwKKyAgICAgICAgbiA9IHgubGVuZ3RoOworCisgICAgaWYgKG4p
IHsKKyAgICAgIHRoaXMuX2xpbmUgPyB0aGlzLl9jb250ZXh0LmxpbmVUbyh4WzBdLCB5WzBdKSA6
IHRoaXMuX2NvbnRleHQubW92ZVRvKHhbMF0sIHlbMF0pOworICAgICAgaWYgKG4gPT09IDIpIHsK
KyAgICAgICAgdGhpcy5fY29udGV4dC5saW5lVG8oeFsxXSwgeVsxXSk7CisgICAgICB9IGVsc2Ug
eworICAgICAgICB2YXIgcHggPSBjb250cm9sUG9pbnRzKHgpLAorICAgICAgICAgICAgcHkgPSBj
b250cm9sUG9pbnRzKHkpOworICAgICAgICBmb3IgKHZhciBpMCA9IDAsIGkxID0gMTsgaTEgPCBu
OyArK2kwLCArK2kxKSB7CisgICAgICAgICAgdGhpcy5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKHB4
WzBdW2kwXSwgcHlbMF1baTBdLCBweFsxXVtpMF0sIHB5WzFdW2kwXSwgeFtpMV0sIHlbaTFdKTsK
KyAgICAgICAgfQorICAgICAgfQorICAgIH0KKworICAgIGlmICh0aGlzLl9saW5lIHx8ICh0aGlz
Ll9saW5lICE9PSAwICYmIG4gPT09IDEpKSB0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpOworICAg
IHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5fbGluZTsKKyAgICB0aGlzLl94ID0gdGhpcy5feSA9IG51
bGw7CisgIH0sCisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgdGhpcy5feC5wdXNoKCt4
KTsKKyAgICB0aGlzLl95LnB1c2goK3kpOworICB9Cit9OworCisvLyBTZWUgaHR0cHM6Ly93d3cu
cGFydGljbGVpbmNlbGwuY29tLzIwMTIvYmV6aWVyLXNwbGluZXMvIGZvciBkZXJpdmF0aW9uLgor
ZnVuY3Rpb24gY29udHJvbFBvaW50cyh4KSB7CisgIHZhciBpLAorICAgICAgbiA9IHgubGVuZ3Ro
IC0gMSwKKyAgICAgIG0sCisgICAgICBhID0gbmV3IEFycmF5KG4pLAorICAgICAgYiA9IG5ldyBB
cnJheShuKSwKKyAgICAgIHIgPSBuZXcgQXJyYXkobik7CisgIGFbMF0gPSAwLCBiWzBdID0gMiwg
clswXSA9IHhbMF0gKyAyICogeFsxXTsKKyAgZm9yIChpID0gMTsgaSA8IG4gLSAxOyArK2kpIGFb
aV0gPSAxLCBiW2ldID0gNCwgcltpXSA9IDQgKiB4W2ldICsgMiAqIHhbaSArIDFdOworICBhW24g
LSAxXSA9IDIsIGJbbiAtIDFdID0gNywgcltuIC0gMV0gPSA4ICogeFtuIC0gMV0gKyB4W25dOwor
ICBmb3IgKGkgPSAxOyBpIDwgbjsgKytpKSBtID0gYVtpXSAvIGJbaSAtIDFdLCBiW2ldIC09IG0s
IHJbaV0gLT0gbSAqIHJbaSAtIDFdOworICBhW24gLSAxXSA9IHJbbiAtIDFdIC8gYltuIC0gMV07
CisgIGZvciAoaSA9IG4gLSAyOyBpID49IDA7IC0taSkgYVtpXSA9IChyW2ldIC0gYVtpICsgMV0p
IC8gYltpXTsKKyAgYltuIC0gMV0gPSAoeFtuXSArIGFbbiAtIDFdKSAvIDI7CisgIGZvciAoaSA9
IDA7IGkgPCBuIC0gMTsgKytpKSBiW2ldID0gMiAqIHhbaSArIDFdIC0gYVtpICsgMV07CisgIHJl
dHVybiBbYSwgYl07Cit9CisKK2Z1bmN0aW9uIG5hdHVyYWwoY29udGV4dCkgeworICByZXR1cm4g
bmV3IE5hdHVyYWwoY29udGV4dCk7Cit9CisKK2Z1bmN0aW9uIFN0ZXAoY29udGV4dCwgdCkgewor
ICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKKyAgdGhpcy5fdCA9IHQ7Cit9CisKK1N0ZXAucHJv
dG90eXBlID0geworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSAw
OworICB9LAorICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gTmFOOwor
ICB9LAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3ggPSB0aGlzLl95ID0g
TmFOOworICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7
CisgICAgaWYgKDAgPCB0aGlzLl90ICYmIHRoaXMuX3QgPCAxICYmIHRoaXMuX3BvaW50ID09PSAy
KSB0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94LCB0aGlzLl95KTsKKyAgICBpZiAodGhpcy5f
bGluZSB8fCAodGhpcy5fbGluZSAhPT0gMCAmJiB0aGlzLl9wb2ludCA9PT0gMSkpIHRoaXMuX2Nv
bnRleHQuY2xvc2VQYXRoKCk7CisgICAgaWYgKHRoaXMuX2xpbmUgPj0gMCkgdGhpcy5fdCA9IDEg
LSB0aGlzLl90LCB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0sCisgIHBvaW50OiBm
dW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgc3dpdGNoICh0aGlzLl9w
b2ludCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IHRoaXMuX2xpbmUgPyB0aGlz
Ll9jb250ZXh0LmxpbmVUbyh4LCB5KSA6IHRoaXMuX2NvbnRleHQubW92ZVRvKHgsIHkpOyBicmVh
azsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAyOyAvLyBwcm9jZWVkCisgICAgICBkZWZh
dWx0OiB7CisgICAgICAgIGlmICh0aGlzLl90IDw9IDApIHsKKyAgICAgICAgICB0aGlzLl9jb250
ZXh0LmxpbmVUbyh0aGlzLl94LCB5KTsKKyAgICAgICAgICB0aGlzLl9jb250ZXh0LmxpbmVUbyh4
LCB5KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICB2YXIgeDEgPSB0aGlzLl94ICogKDEg
LSB0aGlzLl90KSArIHggKiB0aGlzLl90OworICAgICAgICAgIHRoaXMuX2NvbnRleHQubGluZVRv
KHgxLCB0aGlzLl95KTsKKyAgICAgICAgICB0aGlzLl9jb250ZXh0LmxpbmVUbyh4MSwgeSk7Cisg
ICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorICAgIHRoaXMuX3ggPSB4
LCB0aGlzLl95ID0geTsKKyAgfQorfTsKKworZnVuY3Rpb24gc3RlcChjb250ZXh0KSB7CisgIHJl
dHVybiBuZXcgU3RlcChjb250ZXh0LCAwLjUpOworfQorCitmdW5jdGlvbiBzdGVwQmVmb3JlKGNv
bnRleHQpIHsKKyAgcmV0dXJuIG5ldyBTdGVwKGNvbnRleHQsIDApOworfQorCitmdW5jdGlvbiBz
dGVwQWZ0ZXIoY29udGV4dCkgeworICByZXR1cm4gbmV3IFN0ZXAoY29udGV4dCwgMSk7Cit9CisK
K2Z1bmN0aW9uIG5vbmUkMShzZXJpZXMsIG9yZGVyKSB7CisgIGlmICghKChuID0gc2VyaWVzLmxl
bmd0aCkgPiAxKSkgcmV0dXJuOworICBmb3IgKHZhciBpID0gMSwgaiwgczAsIHMxID0gc2VyaWVz
W29yZGVyWzBdXSwgbiwgbSA9IHMxLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAgIHMwID0gczEs
IHMxID0gc2VyaWVzW29yZGVyW2ldXTsKKyAgICBmb3IgKGogPSAwOyBqIDwgbTsgKytqKSB7Cisg
ICAgICBzMVtqXVsxXSArPSBzMVtqXVswXSA9IGlzTmFOKHMwW2pdWzFdKSA/IHMwW2pdWzBdIDog
czBbal1bMV07CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIG5vbmUkMihzZXJpZXMpIHsKKyAg
dmFyIG4gPSBzZXJpZXMubGVuZ3RoLCBvID0gbmV3IEFycmF5KG4pOworICB3aGlsZSAoLS1uID49
IDApIG9bbl0gPSBuOworICByZXR1cm4gbzsKK30KKworZnVuY3Rpb24gc3RhY2tWYWx1ZShkLCBr
ZXkpIHsKKyAgcmV0dXJuIGRba2V5XTsKK30KKworZnVuY3Rpb24gc3RhY2soKSB7CisgIHZhciBr
ZXlzID0gY29uc3RhbnQkYihbXSksCisgICAgICBvcmRlciA9IG5vbmUkMiwKKyAgICAgIG9mZnNl
dCA9IG5vbmUkMSwKKyAgICAgIHZhbHVlID0gc3RhY2tWYWx1ZTsKKworICBmdW5jdGlvbiBzdGFj
ayhkYXRhKSB7CisgICAgdmFyIGt6ID0ga2V5cy5hcHBseSh0aGlzLCBhcmd1bWVudHMpLAorICAg
ICAgICBpLAorICAgICAgICBtID0gZGF0YS5sZW5ndGgsCisgICAgICAgIG4gPSBrei5sZW5ndGgs
CisgICAgICAgIHN6ID0gbmV3IEFycmF5KG4pLAorICAgICAgICBvejsKKworICAgIGZvciAoaSA9
IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGZvciAodmFyIGtpID0ga3pbaV0sIHNpID0gc3pbaV0g
PSBuZXcgQXJyYXkobSksIGogPSAwLCBzaWo7IGogPCBtOyArK2opIHsKKyAgICAgICAgc2lbal0g
PSBzaWogPSBbMCwgK3ZhbHVlKGRhdGFbal0sIGtpLCBqLCBkYXRhKV07CisgICAgICAgIHNpai5k
YXRhID0gZGF0YVtqXTsKKyAgICAgIH0KKyAgICAgIHNpLmtleSA9IGtpOworICAgIH0KKworICAg
IGZvciAoaSA9IDAsIG96ID0gb3JkZXIoc3opOyBpIDwgbjsgKytpKSB7CisgICAgICBzeltveltp
XV0uaW5kZXggPSBpOworICAgIH0KKworICAgIG9mZnNldChzeiwgb3opOworICAgIHJldHVybiBz
ejsKKyAgfQorCisgIHN0YWNrLmtleXMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAoa2V5cyA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0
YW50JGIoc2xpY2UkNi5jYWxsKF8pKSwgc3RhY2spIDoga2V5czsKKyAgfTsKKworICBzdGFjay52
YWx1ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh2YWx1
ZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBzdGFjaykg
OiB2YWx1ZTsKKyAgfTsKKworICBzdGFjay5vcmRlciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aCA/IChvcmRlciA9IF8gPT0gbnVsbCA/IG5vbmUkMiA6IHR5cGVv
ZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoc2xpY2UkNi5jYWxsKF8pKSwgc3Rh
Y2spIDogb3JkZXI7CisgIH07CisKKyAgc3RhY2sub2Zmc2V0ID0gZnVuY3Rpb24oXykgeworICAg
IHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKG9mZnNldCA9IF8gPT0gbnVsbCA/IG5vbmUkMSA6
IF8sIHN0YWNrKSA6IG9mZnNldDsKKyAgfTsKKworICByZXR1cm4gc3RhY2s7Cit9CisKK2Z1bmN0
aW9uIGV4cGFuZChzZXJpZXMsIG9yZGVyKSB7CisgIGlmICghKChuID0gc2VyaWVzLmxlbmd0aCkg
PiAwKSkgcmV0dXJuOworICBmb3IgKHZhciBpLCBuLCBqID0gMCwgbSA9IHNlcmllc1swXS5sZW5n
dGgsIHk7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHkgPSBpID0gMDsgaSA8IG47ICsraSkgeSAr
PSBzZXJpZXNbaV1bal1bMV0gfHwgMDsKKyAgICBpZiAoeSkgZm9yIChpID0gMDsgaSA8IG47ICsr
aSkgc2VyaWVzW2ldW2pdWzFdIC89IHk7CisgIH0KKyAgbm9uZSQxKHNlcmllcywgb3JkZXIpOwor
fQorCitmdW5jdGlvbiBkaXZlcmdpbmckMShzZXJpZXMsIG9yZGVyKSB7CisgIGlmICghKChuID0g
c2VyaWVzLmxlbmd0aCkgPiAwKSkgcmV0dXJuOworICBmb3IgKHZhciBpLCBqID0gMCwgZCwgZHks
IHlwLCB5biwgbiwgbSA9IHNlcmllc1tvcmRlclswXV0ubGVuZ3RoOyBqIDwgbTsgKytqKSB7Cisg
ICAgZm9yICh5cCA9IHluID0gMCwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmICgoZHkg
PSAoZCA9IHNlcmllc1tvcmRlcltpXV1bal0pWzFdIC0gZFswXSkgPiAwKSB7CisgICAgICAgIGRb
MF0gPSB5cCwgZFsxXSA9IHlwICs9IGR5OworICAgICAgfSBlbHNlIGlmIChkeSA8IDApIHsKKyAg
ICAgICAgZFsxXSA9IHluLCBkWzBdID0geW4gKz0gZHk7CisgICAgICB9IGVsc2UgeworICAgICAg
ICBkWzBdID0gMCwgZFsxXSA9IGR5OworICAgICAgfQorICAgIH0KKyAgfQorfQorCitmdW5jdGlv
biBzaWxob3VldHRlKHNlcmllcywgb3JkZXIpIHsKKyAgaWYgKCEoKG4gPSBzZXJpZXMubGVuZ3Ro
KSA+IDApKSByZXR1cm47CisgIGZvciAodmFyIGogPSAwLCBzMCA9IHNlcmllc1tvcmRlclswXV0s
IG4sIG0gPSBzMC5sZW5ndGg7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBpID0gMCwgeSA9
IDA7IGkgPCBuOyArK2kpIHkgKz0gc2VyaWVzW2ldW2pdWzFdIHx8IDA7CisgICAgczBbal1bMV0g
Kz0gczBbal1bMF0gPSAteSAvIDI7CisgIH0KKyAgbm9uZSQxKHNlcmllcywgb3JkZXIpOworfQor
CitmdW5jdGlvbiB3aWdnbGUoc2VyaWVzLCBvcmRlcikgeworICBpZiAoISgobiA9IHNlcmllcy5s
ZW5ndGgpID4gMCkgfHwgISgobSA9IChzMCA9IHNlcmllc1tvcmRlclswXV0pLmxlbmd0aCkgPiAw
KSkgcmV0dXJuOworICBmb3IgKHZhciB5ID0gMCwgaiA9IDEsIHMwLCBtLCBuOyBqIDwgbTsgKytq
KSB7CisgICAgZm9yICh2YXIgaSA9IDAsIHMxID0gMCwgczIgPSAwOyBpIDwgbjsgKytpKSB7Cisg
ICAgICB2YXIgc2kgPSBzZXJpZXNbb3JkZXJbaV1dLAorICAgICAgICAgIHNpajAgPSBzaVtqXVsx
XSB8fCAwLAorICAgICAgICAgIHNpajEgPSBzaVtqIC0gMV1bMV0gfHwgMCwKKyAgICAgICAgICBz
MyA9IChzaWowIC0gc2lqMSkgLyAyOworICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCBpOyArK2sp
IHsKKyAgICAgICAgdmFyIHNrID0gc2VyaWVzW29yZGVyW2tdXSwKKyAgICAgICAgICAgIHNrajAg
PSBza1tqXVsxXSB8fCAwLAorICAgICAgICAgICAgc2tqMSA9IHNrW2ogLSAxXVsxXSB8fCAwOwor
ICAgICAgICBzMyArPSBza2owIC0gc2tqMTsKKyAgICAgIH0KKyAgICAgIHMxICs9IHNpajAsIHMy
ICs9IHMzICogc2lqMDsKKyAgICB9CisgICAgczBbaiAtIDFdWzFdICs9IHMwW2ogLSAxXVswXSA9
IHk7CisgICAgaWYgKHMxKSB5IC09IHMyIC8gczE7CisgIH0KKyAgczBbaiAtIDFdWzFdICs9IHMw
W2ogLSAxXVswXSA9IHk7CisgIG5vbmUkMShzZXJpZXMsIG9yZGVyKTsKK30KKworZnVuY3Rpb24g
YXBwZWFyYW5jZShzZXJpZXMpIHsKKyAgdmFyIHBlYWtzID0gc2VyaWVzLm1hcChwZWFrKTsKKyAg
cmV0dXJuIG5vbmUkMihzZXJpZXMpLnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4gcGVha3Nb
YV0gLSBwZWFrc1tiXTsgfSk7Cit9CisKK2Z1bmN0aW9uIHBlYWsoc2VyaWVzKSB7CisgIHZhciBp
ID0gLTEsIGogPSAwLCBuID0gc2VyaWVzLmxlbmd0aCwgdmksIHZqID0gLUluZmluaXR5OworICB3
aGlsZSAoKytpIDwgbikgaWYgKCh2aSA9ICtzZXJpZXNbaV1bMV0pID4gdmopIHZqID0gdmksIGog
PSBpOworICByZXR1cm4gajsKK30KKworZnVuY3Rpb24gYXNjZW5kaW5nJDMoc2VyaWVzKSB7Cisg
IHZhciBzdW1zID0gc2VyaWVzLm1hcChzdW0kMik7CisgIHJldHVybiBub25lJDIoc2VyaWVzKS5z
b3J0KGZ1bmN0aW9uKGEsIGIpIHsgcmV0dXJuIHN1bXNbYV0gLSBzdW1zW2JdOyB9KTsKK30KKwor
ZnVuY3Rpb24gc3VtJDIoc2VyaWVzKSB7CisgIHZhciBzID0gMCwgaSA9IC0xLCBuID0gc2VyaWVz
Lmxlbmd0aCwgdjsKKyAgd2hpbGUgKCsraSA8IG4pIGlmICh2ID0gK3Nlcmllc1tpXVsxXSkgcyAr
PSB2OworICByZXR1cm4gczsKK30KKworZnVuY3Rpb24gZGVzY2VuZGluZyQyKHNlcmllcykgewor
ICByZXR1cm4gYXNjZW5kaW5nJDMoc2VyaWVzKS5yZXZlcnNlKCk7Cit9CisKK2Z1bmN0aW9uIGlu
c2lkZU91dChzZXJpZXMpIHsKKyAgdmFyIG4gPSBzZXJpZXMubGVuZ3RoLAorICAgICAgaSwKKyAg
ICAgIGosCisgICAgICBzdW1zID0gc2VyaWVzLm1hcChzdW0kMiksCisgICAgICBvcmRlciA9IGFw
cGVhcmFuY2Uoc2VyaWVzKSwKKyAgICAgIHRvcCA9IDAsCisgICAgICBib3R0b20gPSAwLAorICAg
ICAgdG9wcyA9IFtdLAorICAgICAgYm90dG9tcyA9IFtdOworCisgIGZvciAoaSA9IDA7IGkgPCBu
OyArK2kpIHsKKyAgICBqID0gb3JkZXJbaV07CisgICAgaWYgKHRvcCA8IGJvdHRvbSkgeworICAg
ICAgdG9wICs9IHN1bXNbal07CisgICAgICB0b3BzLnB1c2goaik7CisgICAgfSBlbHNlIHsKKyAg
ICAgIGJvdHRvbSArPSBzdW1zW2pdOworICAgICAgYm90dG9tcy5wdXNoKGopOworICAgIH0KKyAg
fQorCisgIHJldHVybiBib3R0b21zLnJldmVyc2UoKS5jb25jYXQodG9wcyk7Cit9CisKK2Z1bmN0
aW9uIHJldmVyc2Uoc2VyaWVzKSB7CisgIHJldHVybiBub25lJDIoc2VyaWVzKS5yZXZlcnNlKCk7
Cit9CisKK2Z1bmN0aW9uIGNvbnN0YW50JGMoeCkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7Cisg
ICAgcmV0dXJuIHg7CisgIH07Cit9CisKK2Z1bmN0aW9uIHgkNChkKSB7CisgIHJldHVybiBkWzBd
OworfQorCitmdW5jdGlvbiB5JDQoZCkgeworICByZXR1cm4gZFsxXTsKK30KKworZnVuY3Rpb24g
UmVkQmxhY2tUcmVlKCkgeworICB0aGlzLl8gPSBudWxsOyAvLyByb290IG5vZGUKK30KKworZnVu
Y3Rpb24gUmVkQmxhY2tOb2RlKG5vZGUpIHsKKyAgbm9kZS5VID0gLy8gcGFyZW50IG5vZGUKKyAg
bm9kZS5DID0gLy8gY29sb3IgLSB0cnVlIGZvciByZWQsIGZhbHNlIGZvciBibGFjaworICBub2Rl
LkwgPSAvLyBsZWZ0IG5vZGUKKyAgbm9kZS5SID0gLy8gcmlnaHQgbm9kZQorICBub2RlLlAgPSAv
LyBwcmV2aW91cyBub2RlCisgIG5vZGUuTiA9IG51bGw7IC8vIG5leHQgbm9kZQorfQorCitSZWRC
bGFja1RyZWUucHJvdG90eXBlID0geworICBjb25zdHJ1Y3RvcjogUmVkQmxhY2tUcmVlLAorCisg
IGluc2VydDogZnVuY3Rpb24oYWZ0ZXIsIG5vZGUpIHsKKyAgICB2YXIgcGFyZW50LCBncmFuZHBh
LCB1bmNsZTsKKworICAgIGlmIChhZnRlcikgeworICAgICAgbm9kZS5QID0gYWZ0ZXI7CisgICAg
ICBub2RlLk4gPSBhZnRlci5OOworICAgICAgaWYgKGFmdGVyLk4pIGFmdGVyLk4uUCA9IG5vZGU7
CisgICAgICBhZnRlci5OID0gbm9kZTsKKyAgICAgIGlmIChhZnRlci5SKSB7CisgICAgICAgIGFm
dGVyID0gYWZ0ZXIuUjsKKyAgICAgICAgd2hpbGUgKGFmdGVyLkwpIGFmdGVyID0gYWZ0ZXIuTDsK
KyAgICAgICAgYWZ0ZXIuTCA9IG5vZGU7CisgICAgICB9IGVsc2UgeworICAgICAgICBhZnRlci5S
ID0gbm9kZTsKKyAgICAgIH0KKyAgICAgIHBhcmVudCA9IGFmdGVyOworICAgIH0gZWxzZSBpZiAo
dGhpcy5fKSB7CisgICAgICBhZnRlciA9IFJlZEJsYWNrRmlyc3QodGhpcy5fKTsKKyAgICAgIG5v
ZGUuUCA9IG51bGw7CisgICAgICBub2RlLk4gPSBhZnRlcjsKKyAgICAgIGFmdGVyLlAgPSBhZnRl
ci5MID0gbm9kZTsKKyAgICAgIHBhcmVudCA9IGFmdGVyOworICAgIH0gZWxzZSB7CisgICAgICBu
b2RlLlAgPSBub2RlLk4gPSBudWxsOworICAgICAgdGhpcy5fID0gbm9kZTsKKyAgICAgIHBhcmVu
dCA9IG51bGw7CisgICAgfQorICAgIG5vZGUuTCA9IG5vZGUuUiA9IG51bGw7CisgICAgbm9kZS5V
ID0gcGFyZW50OworICAgIG5vZGUuQyA9IHRydWU7CisKKyAgICBhZnRlciA9IG5vZGU7CisgICAg
d2hpbGUgKHBhcmVudCAmJiBwYXJlbnQuQykgeworICAgICAgZ3JhbmRwYSA9IHBhcmVudC5VOwor
ICAgICAgaWYgKHBhcmVudCA9PT0gZ3JhbmRwYS5MKSB7CisgICAgICAgIHVuY2xlID0gZ3JhbmRw
YS5SOworICAgICAgICBpZiAodW5jbGUgJiYgdW5jbGUuQykgeworICAgICAgICAgIHBhcmVudC5D
ID0gdW5jbGUuQyA9IGZhbHNlOworICAgICAgICAgIGdyYW5kcGEuQyA9IHRydWU7CisgICAgICAg
ICAgYWZ0ZXIgPSBncmFuZHBhOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIGlmIChhZnRl
ciA9PT0gcGFyZW50LlIpIHsKKyAgICAgICAgICAgIFJlZEJsYWNrUm90YXRlTGVmdCh0aGlzLCBw
YXJlbnQpOworICAgICAgICAgICAgYWZ0ZXIgPSBwYXJlbnQ7CisgICAgICAgICAgICBwYXJlbnQg
PSBhZnRlci5VOworICAgICAgICAgIH0KKyAgICAgICAgICBwYXJlbnQuQyA9IGZhbHNlOworICAg
ICAgICAgIGdyYW5kcGEuQyA9IHRydWU7CisgICAgICAgICAgUmVkQmxhY2tSb3RhdGVSaWdodCh0
aGlzLCBncmFuZHBhKTsKKyAgICAgICAgfQorICAgICAgfSBlbHNlIHsKKyAgICAgICAgdW5jbGUg
PSBncmFuZHBhLkw7CisgICAgICAgIGlmICh1bmNsZSAmJiB1bmNsZS5DKSB7CisgICAgICAgICAg
cGFyZW50LkMgPSB1bmNsZS5DID0gZmFsc2U7CisgICAgICAgICAgZ3JhbmRwYS5DID0gdHJ1ZTsK
KyAgICAgICAgICBhZnRlciA9IGdyYW5kcGE7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
aWYgKGFmdGVyID09PSBwYXJlbnQuTCkgeworICAgICAgICAgICAgUmVkQmxhY2tSb3RhdGVSaWdo
dCh0aGlzLCBwYXJlbnQpOworICAgICAgICAgICAgYWZ0ZXIgPSBwYXJlbnQ7CisgICAgICAgICAg
ICBwYXJlbnQgPSBhZnRlci5VOworICAgICAgICAgIH0KKyAgICAgICAgICBwYXJlbnQuQyA9IGZh
bHNlOworICAgICAgICAgIGdyYW5kcGEuQyA9IHRydWU7CisgICAgICAgICAgUmVkQmxhY2tSb3Rh
dGVMZWZ0KHRoaXMsIGdyYW5kcGEpOworICAgICAgICB9CisgICAgICB9CisgICAgICBwYXJlbnQg
PSBhZnRlci5VOworICAgIH0KKyAgICB0aGlzLl8uQyA9IGZhbHNlOworICB9LAorCisgIHJlbW92
ZTogZnVuY3Rpb24obm9kZSkgeworICAgIGlmIChub2RlLk4pIG5vZGUuTi5QID0gbm9kZS5QOwor
ICAgIGlmIChub2RlLlApIG5vZGUuUC5OID0gbm9kZS5OOworICAgIG5vZGUuTiA9IG5vZGUuUCA9
IG51bGw7CisKKyAgICB2YXIgcGFyZW50ID0gbm9kZS5VLAorICAgICAgICBzaWJsaW5nLAorICAg
ICAgICBsZWZ0ID0gbm9kZS5MLAorICAgICAgICByaWdodCA9IG5vZGUuUiwKKyAgICAgICAgbmV4
dCwKKyAgICAgICAgcmVkOworCisgICAgaWYgKCFsZWZ0KSBuZXh0ID0gcmlnaHQ7CisgICAgZWxz
ZSBpZiAoIXJpZ2h0KSBuZXh0ID0gbGVmdDsKKyAgICBlbHNlIG5leHQgPSBSZWRCbGFja0ZpcnN0
KHJpZ2h0KTsKKworICAgIGlmIChwYXJlbnQpIHsKKyAgICAgIGlmIChwYXJlbnQuTCA9PT0gbm9k
ZSkgcGFyZW50LkwgPSBuZXh0OworICAgICAgZWxzZSBwYXJlbnQuUiA9IG5leHQ7CisgICAgfSBl
bHNlIHsKKyAgICAgIHRoaXMuXyA9IG5leHQ7CisgICAgfQorCisgICAgaWYgKGxlZnQgJiYgcmln
aHQpIHsKKyAgICAgIHJlZCA9IG5leHQuQzsKKyAgICAgIG5leHQuQyA9IG5vZGUuQzsKKyAgICAg
IG5leHQuTCA9IGxlZnQ7CisgICAgICBsZWZ0LlUgPSBuZXh0OworICAgICAgaWYgKG5leHQgIT09
IHJpZ2h0KSB7CisgICAgICAgIHBhcmVudCA9IG5leHQuVTsKKyAgICAgICAgbmV4dC5VID0gbm9k
ZS5VOworICAgICAgICBub2RlID0gbmV4dC5SOworICAgICAgICBwYXJlbnQuTCA9IG5vZGU7Cisg
ICAgICAgIG5leHQuUiA9IHJpZ2h0OworICAgICAgICByaWdodC5VID0gbmV4dDsKKyAgICAgIH0g
ZWxzZSB7CisgICAgICAgIG5leHQuVSA9IHBhcmVudDsKKyAgICAgICAgcGFyZW50ID0gbmV4dDsK
KyAgICAgICAgbm9kZSA9IG5leHQuUjsKKyAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgcmVk
ID0gbm9kZS5DOworICAgICAgbm9kZSA9IG5leHQ7CisgICAgfQorCisgICAgaWYgKG5vZGUpIG5v
ZGUuVSA9IHBhcmVudDsKKyAgICBpZiAocmVkKSByZXR1cm47CisgICAgaWYgKG5vZGUgJiYgbm9k
ZS5DKSB7IG5vZGUuQyA9IGZhbHNlOyByZXR1cm47IH0KKworICAgIGRvIHsKKyAgICAgIGlmIChu
b2RlID09PSB0aGlzLl8pIGJyZWFrOworICAgICAgaWYgKG5vZGUgPT09IHBhcmVudC5MKSB7Cisg
ICAgICAgIHNpYmxpbmcgPSBwYXJlbnQuUjsKKyAgICAgICAgaWYgKHNpYmxpbmcuQykgeworICAg
ICAgICAgIHNpYmxpbmcuQyA9IGZhbHNlOworICAgICAgICAgIHBhcmVudC5DID0gdHJ1ZTsKKyAg
ICAgICAgICBSZWRCbGFja1JvdGF0ZUxlZnQodGhpcywgcGFyZW50KTsKKyAgICAgICAgICBzaWJs
aW5nID0gcGFyZW50LlI7CisgICAgICAgIH0KKyAgICAgICAgaWYgKChzaWJsaW5nLkwgJiYgc2li
bGluZy5MLkMpCisgICAgICAgICAgICB8fCAoc2libGluZy5SICYmIHNpYmxpbmcuUi5DKSkgewor
ICAgICAgICAgIGlmICghc2libGluZy5SIHx8ICFzaWJsaW5nLlIuQykgeworICAgICAgICAgICAg
c2libGluZy5MLkMgPSBmYWxzZTsKKyAgICAgICAgICAgIHNpYmxpbmcuQyA9IHRydWU7CisgICAg
ICAgICAgICBSZWRCbGFja1JvdGF0ZVJpZ2h0KHRoaXMsIHNpYmxpbmcpOworICAgICAgICAgICAg
c2libGluZyA9IHBhcmVudC5SOworICAgICAgICAgIH0KKyAgICAgICAgICBzaWJsaW5nLkMgPSBw
YXJlbnQuQzsKKyAgICAgICAgICBwYXJlbnQuQyA9IHNpYmxpbmcuUi5DID0gZmFsc2U7CisgICAg
ICAgICAgUmVkQmxhY2tSb3RhdGVMZWZ0KHRoaXMsIHBhcmVudCk7CisgICAgICAgICAgbm9kZSA9
IHRoaXMuXzsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgc2libGluZyA9IHBhcmVudC5MOworICAgICAgICBpZiAoc2libGluZy5DKSB7CisgICAg
ICAgICAgc2libGluZy5DID0gZmFsc2U7CisgICAgICAgICAgcGFyZW50LkMgPSB0cnVlOworICAg
ICAgICAgIFJlZEJsYWNrUm90YXRlUmlnaHQodGhpcywgcGFyZW50KTsKKyAgICAgICAgICBzaWJs
aW5nID0gcGFyZW50Lkw7CisgICAgICAgIH0KKyAgICAgICAgaWYgKChzaWJsaW5nLkwgJiYgc2li
bGluZy5MLkMpCisgICAgICAgICAgfHwgKHNpYmxpbmcuUiAmJiBzaWJsaW5nLlIuQykpIHsKKyAg
ICAgICAgICBpZiAoIXNpYmxpbmcuTCB8fCAhc2libGluZy5MLkMpIHsKKyAgICAgICAgICAgIHNp
YmxpbmcuUi5DID0gZmFsc2U7CisgICAgICAgICAgICBzaWJsaW5nLkMgPSB0cnVlOworICAgICAg
ICAgICAgUmVkQmxhY2tSb3RhdGVMZWZ0KHRoaXMsIHNpYmxpbmcpOworICAgICAgICAgICAgc2li
bGluZyA9IHBhcmVudC5MOworICAgICAgICAgIH0KKyAgICAgICAgICBzaWJsaW5nLkMgPSBwYXJl
bnQuQzsKKyAgICAgICAgICBwYXJlbnQuQyA9IHNpYmxpbmcuTC5DID0gZmFsc2U7CisgICAgICAg
ICAgUmVkQmxhY2tSb3RhdGVSaWdodCh0aGlzLCBwYXJlbnQpOworICAgICAgICAgIG5vZGUgPSB0
aGlzLl87CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIHNpYmxp
bmcuQyA9IHRydWU7CisgICAgICBub2RlID0gcGFyZW50OworICAgICAgcGFyZW50ID0gcGFyZW50
LlU7CisgICAgfSB3aGlsZSAoIW5vZGUuQyk7CisKKyAgICBpZiAobm9kZSkgbm9kZS5DID0gZmFs
c2U7CisgIH0KK307CisKK2Z1bmN0aW9uIFJlZEJsYWNrUm90YXRlTGVmdCh0cmVlLCBub2RlKSB7
CisgIHZhciBwID0gbm9kZSwKKyAgICAgIHEgPSBub2RlLlIsCisgICAgICBwYXJlbnQgPSBwLlU7
CisKKyAgaWYgKHBhcmVudCkgeworICAgIGlmIChwYXJlbnQuTCA9PT0gcCkgcGFyZW50LkwgPSBx
OworICAgIGVsc2UgcGFyZW50LlIgPSBxOworICB9IGVsc2UgeworICAgIHRyZWUuXyA9IHE7Cisg
IH0KKworICBxLlUgPSBwYXJlbnQ7CisgIHAuVSA9IHE7CisgIHAuUiA9IHEuTDsKKyAgaWYgKHAu
UikgcC5SLlUgPSBwOworICBxLkwgPSBwOworfQorCitmdW5jdGlvbiBSZWRCbGFja1JvdGF0ZVJp
Z2h0KHRyZWUsIG5vZGUpIHsKKyAgdmFyIHAgPSBub2RlLAorICAgICAgcSA9IG5vZGUuTCwKKyAg
ICAgIHBhcmVudCA9IHAuVTsKKworICBpZiAocGFyZW50KSB7CisgICAgaWYgKHBhcmVudC5MID09
PSBwKSBwYXJlbnQuTCA9IHE7CisgICAgZWxzZSBwYXJlbnQuUiA9IHE7CisgIH0gZWxzZSB7Cisg
ICAgdHJlZS5fID0gcTsKKyAgfQorCisgIHEuVSA9IHBhcmVudDsKKyAgcC5VID0gcTsKKyAgcC5M
ID0gcS5SOworICBpZiAocC5MKSBwLkwuVSA9IHA7CisgIHEuUiA9IHA7Cit9CisKK2Z1bmN0aW9u
IFJlZEJsYWNrRmlyc3Qobm9kZSkgeworICB3aGlsZSAobm9kZS5MKSBub2RlID0gbm9kZS5MOwor
ICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gY3JlYXRlRWRnZShsZWZ0LCByaWdodCwgdjAs
IHYxKSB7CisgIHZhciBlZGdlID0gW251bGwsIG51bGxdLAorICAgICAgaW5kZXggPSBlZGdlcy5w
dXNoKGVkZ2UpIC0gMTsKKyAgZWRnZS5sZWZ0ID0gbGVmdDsKKyAgZWRnZS5yaWdodCA9IHJpZ2h0
OworICBpZiAodjApIHNldEVkZ2VFbmQoZWRnZSwgbGVmdCwgcmlnaHQsIHYwKTsKKyAgaWYgKHYx
KSBzZXRFZGdlRW5kKGVkZ2UsIHJpZ2h0LCBsZWZ0LCB2MSk7CisgIGNlbGxzW2xlZnQuaW5kZXhd
LmhhbGZlZGdlcy5wdXNoKGluZGV4KTsKKyAgY2VsbHNbcmlnaHQuaW5kZXhdLmhhbGZlZGdlcy5w
dXNoKGluZGV4KTsKKyAgcmV0dXJuIGVkZ2U7Cit9CisKK2Z1bmN0aW9uIGNyZWF0ZUJvcmRlckVk
Z2UobGVmdCwgdjAsIHYxKSB7CisgIHZhciBlZGdlID0gW3YwLCB2MV07CisgIGVkZ2UubGVmdCA9
IGxlZnQ7CisgIHJldHVybiBlZGdlOworfQorCitmdW5jdGlvbiBzZXRFZGdlRW5kKGVkZ2UsIGxl
ZnQsIHJpZ2h0LCB2ZXJ0ZXgpIHsKKyAgaWYgKCFlZGdlWzBdICYmICFlZGdlWzFdKSB7CisgICAg
ZWRnZVswXSA9IHZlcnRleDsKKyAgICBlZGdlLmxlZnQgPSBsZWZ0OworICAgIGVkZ2UucmlnaHQg
PSByaWdodDsKKyAgfSBlbHNlIGlmIChlZGdlLmxlZnQgPT09IHJpZ2h0KSB7CisgICAgZWRnZVsx
XSA9IHZlcnRleDsKKyAgfSBlbHNlIHsKKyAgICBlZGdlWzBdID0gdmVydGV4OworICB9Cit9CisK
Ky8vIExpYW5n4oCTQmFyc2t5IGxpbmUgY2xpcHBpbmcuCitmdW5jdGlvbiBjbGlwRWRnZShlZGdl
LCB4MCwgeTAsIHgxLCB5MSkgeworICB2YXIgYSA9IGVkZ2VbMF0sCisgICAgICBiID0gZWRnZVsx
XSwKKyAgICAgIGF4ID0gYVswXSwKKyAgICAgIGF5ID0gYVsxXSwKKyAgICAgIGJ4ID0gYlswXSwK
KyAgICAgIGJ5ID0gYlsxXSwKKyAgICAgIHQwID0gMCwKKyAgICAgIHQxID0gMSwKKyAgICAgIGR4
ID0gYnggLSBheCwKKyAgICAgIGR5ID0gYnkgLSBheSwKKyAgICAgIHI7CisKKyAgciA9IHgwIC0g
YXg7CisgIGlmICghZHggJiYgciA+IDApIHJldHVybjsKKyAgciAvPSBkeDsKKyAgaWYgKGR4IDwg
MCkgeworICAgIGlmIChyIDwgdDApIHJldHVybjsKKyAgICBpZiAociA8IHQxKSB0MSA9IHI7Cisg
IH0gZWxzZSBpZiAoZHggPiAwKSB7CisgICAgaWYgKHIgPiB0MSkgcmV0dXJuOworICAgIGlmIChy
ID4gdDApIHQwID0gcjsKKyAgfQorCisgIHIgPSB4MSAtIGF4OworICBpZiAoIWR4ICYmIHIgPCAw
KSByZXR1cm47CisgIHIgLz0gZHg7CisgIGlmIChkeCA8IDApIHsKKyAgICBpZiAociA+IHQxKSBy
ZXR1cm47CisgICAgaWYgKHIgPiB0MCkgdDAgPSByOworICB9IGVsc2UgaWYgKGR4ID4gMCkgewor
ICAgIGlmIChyIDwgdDApIHJldHVybjsKKyAgICBpZiAociA8IHQxKSB0MSA9IHI7CisgIH0KKwor
ICByID0geTAgLSBheTsKKyAgaWYgKCFkeSAmJiByID4gMCkgcmV0dXJuOworICByIC89IGR5Owor
ICBpZiAoZHkgPCAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJuOworICAgIGlmIChyIDwgdDEp
IHQxID0gcjsKKyAgfSBlbHNlIGlmIChkeSA+IDApIHsKKyAgICBpZiAociA+IHQxKSByZXR1cm47
CisgICAgaWYgKHIgPiB0MCkgdDAgPSByOworICB9CisKKyAgciA9IHkxIC0gYXk7CisgIGlmICgh
ZHkgJiYgciA8IDApIHJldHVybjsKKyAgciAvPSBkeTsKKyAgaWYgKGR5IDwgMCkgeworICAgIGlm
IChyID4gdDEpIHJldHVybjsKKyAgICBpZiAociA+IHQwKSB0MCA9IHI7CisgIH0gZWxzZSBpZiAo
ZHkgPiAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJuOworICAgIGlmIChyIDwgdDEpIHQxID0g
cjsKKyAgfQorCisgIGlmICghKHQwID4gMCkgJiYgISh0MSA8IDEpKSByZXR1cm4gdHJ1ZTsgLy8g
VE9ETyBCZXR0ZXIgY2hlY2s/CisKKyAgaWYgKHQwID4gMCkgZWRnZVswXSA9IFtheCArIHQwICog
ZHgsIGF5ICsgdDAgKiBkeV07CisgIGlmICh0MSA8IDEpIGVkZ2VbMV0gPSBbYXggKyB0MSAqIGR4
LCBheSArIHQxICogZHldOworICByZXR1cm4gdHJ1ZTsKK30KKworZnVuY3Rpb24gY29ubmVjdEVk
Z2UoZWRnZSwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIHYxID0gZWRnZVsxXTsKKyAgaWYgKHYx
KSByZXR1cm4gdHJ1ZTsKKworICB2YXIgdjAgPSBlZGdlWzBdLAorICAgICAgbGVmdCA9IGVkZ2Uu
bGVmdCwKKyAgICAgIHJpZ2h0ID0gZWRnZS5yaWdodCwKKyAgICAgIGx4ID0gbGVmdFswXSwKKyAg
ICAgIGx5ID0gbGVmdFsxXSwKKyAgICAgIHJ4ID0gcmlnaHRbMF0sCisgICAgICByeSA9IHJpZ2h0
WzFdLAorICAgICAgZnggPSAobHggKyByeCkgLyAyLAorICAgICAgZnkgPSAobHkgKyByeSkgLyAy
LAorICAgICAgZm0sCisgICAgICBmYjsKKworICBpZiAocnkgPT09IGx5KSB7CisgICAgaWYgKGZ4
IDwgeDAgfHwgZnggPj0geDEpIHJldHVybjsKKyAgICBpZiAobHggPiByeCkgeworICAgICAgaWYg
KCF2MCkgdjAgPSBbZngsIHkwXTsKKyAgICAgIGVsc2UgaWYgKHYwWzFdID49IHkxKSByZXR1cm47
CisgICAgICB2MSA9IFtmeCwgeTFdOworICAgIH0gZWxzZSB7CisgICAgICBpZiAoIXYwKSB2MCA9
IFtmeCwgeTFdOworICAgICAgZWxzZSBpZiAodjBbMV0gPCB5MCkgcmV0dXJuOworICAgICAgdjEg
PSBbZngsIHkwXTsKKyAgICB9CisgIH0gZWxzZSB7CisgICAgZm0gPSAobHggLSByeCkgLyAocnkg
LSBseSk7CisgICAgZmIgPSBmeSAtIGZtICogZng7CisgICAgaWYgKGZtIDwgLTEgfHwgZm0gPiAx
KSB7CisgICAgICBpZiAobHggPiByeCkgeworICAgICAgICBpZiAoIXYwKSB2MCA9IFsoeTAgLSBm
YikgLyBmbSwgeTBdOworICAgICAgICBlbHNlIGlmICh2MFsxXSA+PSB5MSkgcmV0dXJuOworICAg
ICAgICB2MSA9IFsoeTEgLSBmYikgLyBmbSwgeTFdOworICAgICAgfSBlbHNlIHsKKyAgICAgICAg
aWYgKCF2MCkgdjAgPSBbKHkxIC0gZmIpIC8gZm0sIHkxXTsKKyAgICAgICAgZWxzZSBpZiAodjBb
MV0gPCB5MCkgcmV0dXJuOworICAgICAgICB2MSA9IFsoeTAgLSBmYikgLyBmbSwgeTBdOworICAg
ICAgfQorICAgIH0gZWxzZSB7CisgICAgICBpZiAobHkgPCByeSkgeworICAgICAgICBpZiAoIXYw
KSB2MCA9IFt4MCwgZm0gKiB4MCArIGZiXTsKKyAgICAgICAgZWxzZSBpZiAodjBbMF0gPj0geDEp
IHJldHVybjsKKyAgICAgICAgdjEgPSBbeDEsIGZtICogeDEgKyBmYl07CisgICAgICB9IGVsc2Ug
eworICAgICAgICBpZiAoIXYwKSB2MCA9IFt4MSwgZm0gKiB4MSArIGZiXTsKKyAgICAgICAgZWxz
ZSBpZiAodjBbMF0gPCB4MCkgcmV0dXJuOworICAgICAgICB2MSA9IFt4MCwgZm0gKiB4MCArIGZi
XTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBlZGdlWzBdID0gdjA7CisgIGVkZ2VbMV0gPSB2
MTsKKyAgcmV0dXJuIHRydWU7Cit9CisKK2Z1bmN0aW9uIGNsaXBFZGdlcyh4MCwgeTAsIHgxLCB5
MSkgeworICB2YXIgaSA9IGVkZ2VzLmxlbmd0aCwKKyAgICAgIGVkZ2U7CisKKyAgd2hpbGUgKGkt
LSkgeworICAgIGlmICghY29ubmVjdEVkZ2UoZWRnZSA9IGVkZ2VzW2ldLCB4MCwgeTAsIHgxLCB5
MSkKKyAgICAgICAgfHwgIWNsaXBFZGdlKGVkZ2UsIHgwLCB5MCwgeDEsIHkxKQorICAgICAgICB8
fCAhKE1hdGguYWJzKGVkZ2VbMF1bMF0gLSBlZGdlWzFdWzBdKSA+IGVwc2lsb24kNAorICAgICAg
ICAgICAgfHwgTWF0aC5hYnMoZWRnZVswXVsxXSAtIGVkZ2VbMV1bMV0pID4gZXBzaWxvbiQ0KSkg
eworICAgICAgZGVsZXRlIGVkZ2VzW2ldOworICAgIH0KKyAgfQorfQorCitmdW5jdGlvbiBjcmVh
dGVDZWxsKHNpdGUpIHsKKyAgcmV0dXJuIGNlbGxzW3NpdGUuaW5kZXhdID0geworICAgIHNpdGU6
IHNpdGUsCisgICAgaGFsZmVkZ2VzOiBbXQorICB9OworfQorCitmdW5jdGlvbiBjZWxsSGFsZmVk
Z2VBbmdsZShjZWxsLCBlZGdlKSB7CisgIHZhciBzaXRlID0gY2VsbC5zaXRlLAorICAgICAgdmEg
PSBlZGdlLmxlZnQsCisgICAgICB2YiA9IGVkZ2UucmlnaHQ7CisgIGlmIChzaXRlID09PSB2Yikg
dmIgPSB2YSwgdmEgPSBzaXRlOworICBpZiAodmIpIHJldHVybiBNYXRoLmF0YW4yKHZiWzFdIC0g
dmFbMV0sIHZiWzBdIC0gdmFbMF0pOworICBpZiAoc2l0ZSA9PT0gdmEpIHZhID0gZWRnZVsxXSwg
dmIgPSBlZGdlWzBdOworICBlbHNlIHZhID0gZWRnZVswXSwgdmIgPSBlZGdlWzFdOworICByZXR1
cm4gTWF0aC5hdGFuMih2YVswXSAtIHZiWzBdLCB2YlsxXSAtIHZhWzFdKTsKK30KKworZnVuY3Rp
b24gY2VsbEhhbGZlZGdlU3RhcnQoY2VsbCwgZWRnZSkgeworICByZXR1cm4gZWRnZVsrKGVkZ2Uu
bGVmdCAhPT0gY2VsbC5zaXRlKV07Cit9CisKK2Z1bmN0aW9uIGNlbGxIYWxmZWRnZUVuZChjZWxs
LCBlZGdlKSB7CisgIHJldHVybiBlZGdlWysoZWRnZS5sZWZ0ID09PSBjZWxsLnNpdGUpXTsKK30K
KworZnVuY3Rpb24gc29ydENlbGxIYWxmZWRnZXMoKSB7CisgIGZvciAodmFyIGkgPSAwLCBuID0g
Y2VsbHMubGVuZ3RoLCBjZWxsLCBoYWxmZWRnZXMsIGosIG07IGkgPCBuOyArK2kpIHsKKyAgICBp
ZiAoKGNlbGwgPSBjZWxsc1tpXSkgJiYgKG0gPSAoaGFsZmVkZ2VzID0gY2VsbC5oYWxmZWRnZXMp
Lmxlbmd0aCkpIHsKKyAgICAgIHZhciBpbmRleCA9IG5ldyBBcnJheShtKSwKKyAgICAgICAgICBh
cnJheSA9IG5ldyBBcnJheShtKTsKKyAgICAgIGZvciAoaiA9IDA7IGogPCBtOyArK2opIGluZGV4
W2pdID0gaiwgYXJyYXlbal0gPSBjZWxsSGFsZmVkZ2VBbmdsZShjZWxsLCBlZGdlc1toYWxmZWRn
ZXNbal1dKTsKKyAgICAgIGluZGV4LnNvcnQoZnVuY3Rpb24oaSwgaikgeyByZXR1cm4gYXJyYXlb
al0gLSBhcnJheVtpXTsgfSk7CisgICAgICBmb3IgKGogPSAwOyBqIDwgbTsgKytqKSBhcnJheVtq
XSA9IGhhbGZlZGdlc1tpbmRleFtqXV07CisgICAgICBmb3IgKGogPSAwOyBqIDwgbTsgKytqKSBo
YWxmZWRnZXNbal0gPSBhcnJheVtqXTsKKyAgICB9CisgIH0KK30KKworZnVuY3Rpb24gY2xpcENl
bGxzKHgwLCB5MCwgeDEsIHkxKSB7CisgIHZhciBuQ2VsbHMgPSBjZWxscy5sZW5ndGgsCisgICAg
ICBpQ2VsbCwKKyAgICAgIGNlbGwsCisgICAgICBzaXRlLAorICAgICAgaUhhbGZlZGdlLAorICAg
ICAgaGFsZmVkZ2VzLAorICAgICAgbkhhbGZlZGdlcywKKyAgICAgIHN0YXJ0LAorICAgICAgc3Rh
cnRYLAorICAgICAgc3RhcnRZLAorICAgICAgZW5kLAorICAgICAgZW5kWCwKKyAgICAgIGVuZFks
CisgICAgICBjb3ZlciA9IHRydWU7CisKKyAgZm9yIChpQ2VsbCA9IDA7IGlDZWxsIDwgbkNlbGxz
OyArK2lDZWxsKSB7CisgICAgaWYgKGNlbGwgPSBjZWxsc1tpQ2VsbF0pIHsKKyAgICAgIHNpdGUg
PSBjZWxsLnNpdGU7CisgICAgICBoYWxmZWRnZXMgPSBjZWxsLmhhbGZlZGdlczsKKyAgICAgIGlI
YWxmZWRnZSA9IGhhbGZlZGdlcy5sZW5ndGg7CisKKyAgICAgIC8vIFJlbW92ZSBhbnkgZGFuZ2xp
bmcgY2xpcHBlZCBlZGdlcy4KKyAgICAgIHdoaWxlIChpSGFsZmVkZ2UtLSkgeworICAgICAgICBp
ZiAoIWVkZ2VzW2hhbGZlZGdlc1tpSGFsZmVkZ2VdXSkgeworICAgICAgICAgIGhhbGZlZGdlcy5z
cGxpY2UoaUhhbGZlZGdlLCAxKTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICAvLyBJbnNl
cnQgYW55IGJvcmRlciBlZGdlcyBhcyBuZWNlc3NhcnkuCisgICAgICBpSGFsZmVkZ2UgPSAwLCBu
SGFsZmVkZ2VzID0gaGFsZmVkZ2VzLmxlbmd0aDsKKyAgICAgIHdoaWxlIChpSGFsZmVkZ2UgPCBu
SGFsZmVkZ2VzKSB7CisgICAgICAgIGVuZCA9IGNlbGxIYWxmZWRnZUVuZChjZWxsLCBlZGdlc1to
YWxmZWRnZXNbaUhhbGZlZGdlXV0pLCBlbmRYID0gZW5kWzBdLCBlbmRZID0gZW5kWzFdOworICAg
ICAgICBzdGFydCA9IGNlbGxIYWxmZWRnZVN0YXJ0KGNlbGwsIGVkZ2VzW2hhbGZlZGdlc1srK2lI
YWxmZWRnZSAlIG5IYWxmZWRnZXNdXSksIHN0YXJ0WCA9IHN0YXJ0WzBdLCBzdGFydFkgPSBzdGFy
dFsxXTsKKyAgICAgICAgaWYgKE1hdGguYWJzKGVuZFggLSBzdGFydFgpID4gZXBzaWxvbiQ0IHx8
IE1hdGguYWJzKGVuZFkgLSBzdGFydFkpID4gZXBzaWxvbiQ0KSB7CisgICAgICAgICAgaGFsZmVk
Z2VzLnNwbGljZShpSGFsZmVkZ2UsIDAsIGVkZ2VzLnB1c2goY3JlYXRlQm9yZGVyRWRnZShzaXRl
LCBlbmQsCisgICAgICAgICAgICAgIE1hdGguYWJzKGVuZFggLSB4MCkgPCBlcHNpbG9uJDQgJiYg
eTEgLSBlbmRZID4gZXBzaWxvbiQ0ID8gW3gwLCBNYXRoLmFicyhzdGFydFggLSB4MCkgPCBlcHNp
bG9uJDQgPyBzdGFydFkgOiB5MV0KKyAgICAgICAgICAgICAgOiBNYXRoLmFicyhlbmRZIC0geTEp
IDwgZXBzaWxvbiQ0ICYmIHgxIC0gZW5kWCA+IGVwc2lsb24kNCA/IFtNYXRoLmFicyhzdGFydFkg
LSB5MSkgPCBlcHNpbG9uJDQgPyBzdGFydFggOiB4MSwgeTFdCisgICAgICAgICAgICAgIDogTWF0
aC5hYnMoZW5kWCAtIHgxKSA8IGVwc2lsb24kNCAmJiBlbmRZIC0geTAgPiBlcHNpbG9uJDQgPyBb
eDEsIE1hdGguYWJzKHN0YXJ0WCAtIHgxKSA8IGVwc2lsb24kNCA/IHN0YXJ0WSA6IHkwXQorICAg
ICAgICAgICAgICA6IE1hdGguYWJzKGVuZFkgLSB5MCkgPCBlcHNpbG9uJDQgJiYgZW5kWCAtIHgw
ID4gZXBzaWxvbiQ0ID8gW01hdGguYWJzKHN0YXJ0WSAtIHkwKSA8IGVwc2lsb24kNCA/IHN0YXJ0
WCA6IHgwLCB5MF0KKyAgICAgICAgICAgICAgOiBudWxsKSkgLSAxKTsKKyAgICAgICAgICArK25I
YWxmZWRnZXM7CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgaWYgKG5IYWxmZWRnZXMpIGNv
dmVyID0gZmFsc2U7CisgICAgfQorICB9CisKKyAgLy8gSWYgdGhlcmUgd2VyZW7igJl0IGFueSBl
ZGdlcywgaGF2ZSB0aGUgY2xvc2VzdCBzaXRlIGNvdmVyIHRoZSBleHRlbnQuCisgIC8vIEl0IGRv
ZXNu4oCZdCBtYXR0ZXIgd2hpY2ggY29ybmVyIG9mIHRoZSBleHRlbnQgd2UgbWVhc3VyZSEKKyAg
aWYgKGNvdmVyKSB7CisgICAgdmFyIGR4LCBkeSwgZDIsIGRjID0gSW5maW5pdHk7CisKKyAgICBm
b3IgKGlDZWxsID0gMCwgY292ZXIgPSBudWxsOyBpQ2VsbCA8IG5DZWxsczsgKytpQ2VsbCkgewor
ICAgICAgaWYgKGNlbGwgPSBjZWxsc1tpQ2VsbF0pIHsKKyAgICAgICAgc2l0ZSA9IGNlbGwuc2l0
ZTsKKyAgICAgICAgZHggPSBzaXRlWzBdIC0geDA7CisgICAgICAgIGR5ID0gc2l0ZVsxXSAtIHkw
OworICAgICAgICBkMiA9IGR4ICogZHggKyBkeSAqIGR5OworICAgICAgICBpZiAoZDIgPCBkYykg
ZGMgPSBkMiwgY292ZXIgPSBjZWxsOworICAgICAgfQorICAgIH0KKworICAgIGlmIChjb3Zlcikg
eworICAgICAgdmFyIHYwMCA9IFt4MCwgeTBdLCB2MDEgPSBbeDAsIHkxXSwgdjExID0gW3gxLCB5
MV0sIHYxMCA9IFt4MSwgeTBdOworICAgICAgY292ZXIuaGFsZmVkZ2VzLnB1c2goCisgICAgICAg
IGVkZ2VzLnB1c2goY3JlYXRlQm9yZGVyRWRnZShzaXRlID0gY292ZXIuc2l0ZSwgdjAwLCB2MDEp
KSAtIDEsCisgICAgICAgIGVkZ2VzLnB1c2goY3JlYXRlQm9yZGVyRWRnZShzaXRlLCB2MDEsIHYx
MSkpIC0gMSwKKyAgICAgICAgZWRnZXMucHVzaChjcmVhdGVCb3JkZXJFZGdlKHNpdGUsIHYxMSwg
djEwKSkgLSAxLAorICAgICAgICBlZGdlcy5wdXNoKGNyZWF0ZUJvcmRlckVkZ2Uoc2l0ZSwgdjEw
LCB2MDApKSAtIDEKKyAgICAgICk7CisgICAgfQorICB9CisKKyAgLy8gTGFzdGx5IGRlbGV0ZSBh
bnkgY2VsbHMgd2l0aCBubyBlZGdlczsgdGhlc2Ugd2VyZSBlbnRpcmVseSBjbGlwcGVkLgorICBm
b3IgKGlDZWxsID0gMDsgaUNlbGwgPCBuQ2VsbHM7ICsraUNlbGwpIHsKKyAgICBpZiAoY2VsbCA9
IGNlbGxzW2lDZWxsXSkgeworICAgICAgaWYgKCFjZWxsLmhhbGZlZGdlcy5sZW5ndGgpIHsKKyAg
ICAgICAgZGVsZXRlIGNlbGxzW2lDZWxsXTsKKyAgICAgIH0KKyAgICB9CisgIH0KK30KKwordmFy
IGNpcmNsZVBvb2wgPSBbXTsKKwordmFyIGZpcnN0Q2lyY2xlOworCitmdW5jdGlvbiBDaXJjbGUo
KSB7CisgIFJlZEJsYWNrTm9kZSh0aGlzKTsKKyAgdGhpcy54ID0KKyAgdGhpcy55ID0KKyAgdGhp
cy5hcmMgPQorICB0aGlzLnNpdGUgPQorICB0aGlzLmN5ID0gbnVsbDsKK30KKworZnVuY3Rpb24g
YXR0YWNoQ2lyY2xlKGFyYykgeworICB2YXIgbEFyYyA9IGFyYy5QLAorICAgICAgckFyYyA9IGFy
Yy5OOworCisgIGlmICghbEFyYyB8fCAhckFyYykgcmV0dXJuOworCisgIHZhciBsU2l0ZSA9IGxB
cmMuc2l0ZSwKKyAgICAgIGNTaXRlID0gYXJjLnNpdGUsCisgICAgICByU2l0ZSA9IHJBcmMuc2l0
ZTsKKworICBpZiAobFNpdGUgPT09IHJTaXRlKSByZXR1cm47CisKKyAgdmFyIGJ4ID0gY1NpdGVb
MF0sCisgICAgICBieSA9IGNTaXRlWzFdLAorICAgICAgYXggPSBsU2l0ZVswXSAtIGJ4LAorICAg
ICAgYXkgPSBsU2l0ZVsxXSAtIGJ5LAorICAgICAgY3ggPSByU2l0ZVswXSAtIGJ4LAorICAgICAg
Y3kgPSByU2l0ZVsxXSAtIGJ5OworCisgIHZhciBkID0gMiAqIChheCAqIGN5IC0gYXkgKiBjeCk7
CisgIGlmIChkID49IC1lcHNpbG9uMiQyKSByZXR1cm47CisKKyAgdmFyIGhhID0gYXggKiBheCAr
IGF5ICogYXksCisgICAgICBoYyA9IGN4ICogY3ggKyBjeSAqIGN5LAorICAgICAgeCA9IChjeSAq
IGhhIC0gYXkgKiBoYykgLyBkLAorICAgICAgeSA9IChheCAqIGhjIC0gY3ggKiBoYSkgLyBkOwor
CisgIHZhciBjaXJjbGUgPSBjaXJjbGVQb29sLnBvcCgpIHx8IG5ldyBDaXJjbGU7CisgIGNpcmNs
ZS5hcmMgPSBhcmM7CisgIGNpcmNsZS5zaXRlID0gY1NpdGU7CisgIGNpcmNsZS54ID0geCArIGJ4
OworICBjaXJjbGUueSA9IChjaXJjbGUuY3kgPSB5ICsgYnkpICsgTWF0aC5zcXJ0KHggKiB4ICsg
eSAqIHkpOyAvLyB5IGJvdHRvbQorCisgIGFyYy5jaXJjbGUgPSBjaXJjbGU7CisKKyAgdmFyIGJl
Zm9yZSA9IG51bGwsCisgICAgICBub2RlID0gY2lyY2xlcy5fOworCisgIHdoaWxlIChub2RlKSB7
CisgICAgaWYgKGNpcmNsZS55IDwgbm9kZS55IHx8IChjaXJjbGUueSA9PT0gbm9kZS55ICYmIGNp
cmNsZS54IDw9IG5vZGUueCkpIHsKKyAgICAgIGlmIChub2RlLkwpIG5vZGUgPSBub2RlLkw7Cisg
ICAgICBlbHNlIHsgYmVmb3JlID0gbm9kZS5QOyBicmVhazsgfQorICAgIH0gZWxzZSB7CisgICAg
ICBpZiAobm9kZS5SKSBub2RlID0gbm9kZS5SOworICAgICAgZWxzZSB7IGJlZm9yZSA9IG5vZGU7
IGJyZWFrOyB9CisgICAgfQorICB9CisKKyAgY2lyY2xlcy5pbnNlcnQoYmVmb3JlLCBjaXJjbGUp
OworICBpZiAoIWJlZm9yZSkgZmlyc3RDaXJjbGUgPSBjaXJjbGU7Cit9CisKK2Z1bmN0aW9uIGRl
dGFjaENpcmNsZShhcmMpIHsKKyAgdmFyIGNpcmNsZSA9IGFyYy5jaXJjbGU7CisgIGlmIChjaXJj
bGUpIHsKKyAgICBpZiAoIWNpcmNsZS5QKSBmaXJzdENpcmNsZSA9IGNpcmNsZS5OOworICAgIGNp
cmNsZXMucmVtb3ZlKGNpcmNsZSk7CisgICAgY2lyY2xlUG9vbC5wdXNoKGNpcmNsZSk7CisgICAg
UmVkQmxhY2tOb2RlKGNpcmNsZSk7CisgICAgYXJjLmNpcmNsZSA9IG51bGw7CisgIH0KK30KKwor
dmFyIGJlYWNoUG9vbCA9IFtdOworCitmdW5jdGlvbiBCZWFjaCgpIHsKKyAgUmVkQmxhY2tOb2Rl
KHRoaXMpOworICB0aGlzLmVkZ2UgPQorICB0aGlzLnNpdGUgPQorICB0aGlzLmNpcmNsZSA9IG51
bGw7Cit9CisKK2Z1bmN0aW9uIGNyZWF0ZUJlYWNoKHNpdGUpIHsKKyAgdmFyIGJlYWNoID0gYmVh
Y2hQb29sLnBvcCgpIHx8IG5ldyBCZWFjaDsKKyAgYmVhY2guc2l0ZSA9IHNpdGU7CisgIHJldHVy
biBiZWFjaDsKK30KKworZnVuY3Rpb24gZGV0YWNoQmVhY2goYmVhY2gpIHsKKyAgZGV0YWNoQ2ly
Y2xlKGJlYWNoKTsKKyAgYmVhY2hlcy5yZW1vdmUoYmVhY2gpOworICBiZWFjaFBvb2wucHVzaChi
ZWFjaCk7CisgIFJlZEJsYWNrTm9kZShiZWFjaCk7Cit9CisKK2Z1bmN0aW9uIHJlbW92ZUJlYWNo
KGJlYWNoKSB7CisgIHZhciBjaXJjbGUgPSBiZWFjaC5jaXJjbGUsCisgICAgICB4ID0gY2lyY2xl
LngsCisgICAgICB5ID0gY2lyY2xlLmN5LAorICAgICAgdmVydGV4ID0gW3gsIHldLAorICAgICAg
cHJldmlvdXMgPSBiZWFjaC5QLAorICAgICAgbmV4dCA9IGJlYWNoLk4sCisgICAgICBkaXNhcHBl
YXJpbmcgPSBbYmVhY2hdOworCisgIGRldGFjaEJlYWNoKGJlYWNoKTsKKworICB2YXIgbEFyYyA9
IHByZXZpb3VzOworICB3aGlsZSAobEFyYy5jaXJjbGUKKyAgICAgICYmIE1hdGguYWJzKHggLSBs
QXJjLmNpcmNsZS54KSA8IGVwc2lsb24kNAorICAgICAgJiYgTWF0aC5hYnMoeSAtIGxBcmMuY2ly
Y2xlLmN5KSA8IGVwc2lsb24kNCkgeworICAgIHByZXZpb3VzID0gbEFyYy5QOworICAgIGRpc2Fw
cGVhcmluZy51bnNoaWZ0KGxBcmMpOworICAgIGRldGFjaEJlYWNoKGxBcmMpOworICAgIGxBcmMg
PSBwcmV2aW91czsKKyAgfQorCisgIGRpc2FwcGVhcmluZy51bnNoaWZ0KGxBcmMpOworICBkZXRh
Y2hDaXJjbGUobEFyYyk7CisKKyAgdmFyIHJBcmMgPSBuZXh0OworICB3aGlsZSAockFyYy5jaXJj
bGUKKyAgICAgICYmIE1hdGguYWJzKHggLSByQXJjLmNpcmNsZS54KSA8IGVwc2lsb24kNAorICAg
ICAgJiYgTWF0aC5hYnMoeSAtIHJBcmMuY2lyY2xlLmN5KSA8IGVwc2lsb24kNCkgeworICAgIG5l
eHQgPSByQXJjLk47CisgICAgZGlzYXBwZWFyaW5nLnB1c2gockFyYyk7CisgICAgZGV0YWNoQmVh
Y2gockFyYyk7CisgICAgckFyYyA9IG5leHQ7CisgIH0KKworICBkaXNhcHBlYXJpbmcucHVzaChy
QXJjKTsKKyAgZGV0YWNoQ2lyY2xlKHJBcmMpOworCisgIHZhciBuQXJjcyA9IGRpc2FwcGVhcmlu
Zy5sZW5ndGgsCisgICAgICBpQXJjOworICBmb3IgKGlBcmMgPSAxOyBpQXJjIDwgbkFyY3M7ICsr
aUFyYykgeworICAgIHJBcmMgPSBkaXNhcHBlYXJpbmdbaUFyY107CisgICAgbEFyYyA9IGRpc2Fw
cGVhcmluZ1tpQXJjIC0gMV07CisgICAgc2V0RWRnZUVuZChyQXJjLmVkZ2UsIGxBcmMuc2l0ZSwg
ckFyYy5zaXRlLCB2ZXJ0ZXgpOworICB9CisKKyAgbEFyYyA9IGRpc2FwcGVhcmluZ1swXTsKKyAg
ckFyYyA9IGRpc2FwcGVhcmluZ1tuQXJjcyAtIDFdOworICByQXJjLmVkZ2UgPSBjcmVhdGVFZGdl
KGxBcmMuc2l0ZSwgckFyYy5zaXRlLCBudWxsLCB2ZXJ0ZXgpOworCisgIGF0dGFjaENpcmNsZShs
QXJjKTsKKyAgYXR0YWNoQ2lyY2xlKHJBcmMpOworfQorCitmdW5jdGlvbiBhZGRCZWFjaChzaXRl
KSB7CisgIHZhciB4ID0gc2l0ZVswXSwKKyAgICAgIGRpcmVjdHJpeCA9IHNpdGVbMV0sCisgICAg
ICBsQXJjLAorICAgICAgckFyYywKKyAgICAgIGR4bCwKKyAgICAgIGR4ciwKKyAgICAgIG5vZGUg
PSBiZWFjaGVzLl87CisKKyAgd2hpbGUgKG5vZGUpIHsKKyAgICBkeGwgPSBsZWZ0QnJlYWtQb2lu
dChub2RlLCBkaXJlY3RyaXgpIC0geDsKKyAgICBpZiAoZHhsID4gZXBzaWxvbiQ0KSBub2RlID0g
bm9kZS5MOyBlbHNlIHsKKyAgICAgIGR4ciA9IHggLSByaWdodEJyZWFrUG9pbnQobm9kZSwgZGly
ZWN0cml4KTsKKyAgICAgIGlmIChkeHIgPiBlcHNpbG9uJDQpIHsKKyAgICAgICAgaWYgKCFub2Rl
LlIpIHsKKyAgICAgICAgICBsQXJjID0gbm9kZTsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorICAgICAgICBub2RlID0gbm9kZS5SOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKGR4
bCA+IC1lcHNpbG9uJDQpIHsKKyAgICAgICAgICBsQXJjID0gbm9kZS5QOworICAgICAgICAgIHJB
cmMgPSBub2RlOworICAgICAgICB9IGVsc2UgaWYgKGR4ciA+IC1lcHNpbG9uJDQpIHsKKyAgICAg
ICAgICBsQXJjID0gbm9kZTsKKyAgICAgICAgICByQXJjID0gbm9kZS5OOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgIGxBcmMgPSByQXJjID0gbm9kZTsKKyAgICAgICAgfQorICAgICAgICBi
cmVhazsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBjcmVhdGVDZWxsKHNpdGUpOworICB2YXIg
bmV3QXJjID0gY3JlYXRlQmVhY2goc2l0ZSk7CisgIGJlYWNoZXMuaW5zZXJ0KGxBcmMsIG5ld0Fy
Yyk7CisKKyAgaWYgKCFsQXJjICYmICFyQXJjKSByZXR1cm47CisKKyAgaWYgKGxBcmMgPT09IHJB
cmMpIHsKKyAgICBkZXRhY2hDaXJjbGUobEFyYyk7CisgICAgckFyYyA9IGNyZWF0ZUJlYWNoKGxB
cmMuc2l0ZSk7CisgICAgYmVhY2hlcy5pbnNlcnQobmV3QXJjLCByQXJjKTsKKyAgICBuZXdBcmMu
ZWRnZSA9IHJBcmMuZWRnZSA9IGNyZWF0ZUVkZ2UobEFyYy5zaXRlLCBuZXdBcmMuc2l0ZSk7Cisg
ICAgYXR0YWNoQ2lyY2xlKGxBcmMpOworICAgIGF0dGFjaENpcmNsZShyQXJjKTsKKyAgICByZXR1
cm47CisgIH0KKworICBpZiAoIXJBcmMpIHsgLy8gJiYgbEFyYworICAgIG5ld0FyYy5lZGdlID0g
Y3JlYXRlRWRnZShsQXJjLnNpdGUsIG5ld0FyYy5zaXRlKTsKKyAgICByZXR1cm47CisgIH0KKwor
ICAvLyBlbHNlIGxBcmMgIT09IHJBcmMKKyAgZGV0YWNoQ2lyY2xlKGxBcmMpOworICBkZXRhY2hD
aXJjbGUockFyYyk7CisKKyAgdmFyIGxTaXRlID0gbEFyYy5zaXRlLAorICAgICAgYXggPSBsU2l0
ZVswXSwKKyAgICAgIGF5ID0gbFNpdGVbMV0sCisgICAgICBieCA9IHNpdGVbMF0gLSBheCwKKyAg
ICAgIGJ5ID0gc2l0ZVsxXSAtIGF5LAorICAgICAgclNpdGUgPSByQXJjLnNpdGUsCisgICAgICBj
eCA9IHJTaXRlWzBdIC0gYXgsCisgICAgICBjeSA9IHJTaXRlWzFdIC0gYXksCisgICAgICBkID0g
MiAqIChieCAqIGN5IC0gYnkgKiBjeCksCisgICAgICBoYiA9IGJ4ICogYnggKyBieSAqIGJ5LAor
ICAgICAgaGMgPSBjeCAqIGN4ICsgY3kgKiBjeSwKKyAgICAgIHZlcnRleCA9IFsoY3kgKiBoYiAt
IGJ5ICogaGMpIC8gZCArIGF4LCAoYnggKiBoYyAtIGN4ICogaGIpIC8gZCArIGF5XTsKKworICBz
ZXRFZGdlRW5kKHJBcmMuZWRnZSwgbFNpdGUsIHJTaXRlLCB2ZXJ0ZXgpOworICBuZXdBcmMuZWRn
ZSA9IGNyZWF0ZUVkZ2UobFNpdGUsIHNpdGUsIG51bGwsIHZlcnRleCk7CisgIHJBcmMuZWRnZSA9
IGNyZWF0ZUVkZ2Uoc2l0ZSwgclNpdGUsIG51bGwsIHZlcnRleCk7CisgIGF0dGFjaENpcmNsZShs
QXJjKTsKKyAgYXR0YWNoQ2lyY2xlKHJBcmMpOworfQorCitmdW5jdGlvbiBsZWZ0QnJlYWtQb2lu
dChhcmMsIGRpcmVjdHJpeCkgeworICB2YXIgc2l0ZSA9IGFyYy5zaXRlLAorICAgICAgcmZvY3gg
PSBzaXRlWzBdLAorICAgICAgcmZvY3kgPSBzaXRlWzFdLAorICAgICAgcGJ5MiA9IHJmb2N5IC0g
ZGlyZWN0cml4OworCisgIGlmICghcGJ5MikgcmV0dXJuIHJmb2N4OworCisgIHZhciBsQXJjID0g
YXJjLlA7CisgIGlmICghbEFyYykgcmV0dXJuIC1JbmZpbml0eTsKKworICBzaXRlID0gbEFyYy5z
aXRlOworICB2YXIgbGZvY3ggPSBzaXRlWzBdLAorICAgICAgbGZvY3kgPSBzaXRlWzFdLAorICAg
ICAgcGxieTIgPSBsZm9jeSAtIGRpcmVjdHJpeDsKKworICBpZiAoIXBsYnkyKSByZXR1cm4gbGZv
Y3g7CisKKyAgdmFyIGhsID0gbGZvY3ggLSByZm9jeCwKKyAgICAgIGFieTIgPSAxIC8gcGJ5MiAt
IDEgLyBwbGJ5MiwKKyAgICAgIGIgPSBobCAvIHBsYnkyOworCisgIGlmIChhYnkyKSByZXR1cm4g
KC1iICsgTWF0aC5zcXJ0KGIgKiBiIC0gMiAqIGFieTIgKiAoaGwgKiBobCAvICgtMiAqIHBsYnky
KSAtIGxmb2N5ICsgcGxieTIgLyAyICsgcmZvY3kgLSBwYnkyIC8gMikpKSAvIGFieTIgKyByZm9j
eDsKKworICByZXR1cm4gKHJmb2N4ICsgbGZvY3gpIC8gMjsKK30KKworZnVuY3Rpb24gcmlnaHRC
cmVha1BvaW50KGFyYywgZGlyZWN0cml4KSB7CisgIHZhciByQXJjID0gYXJjLk47CisgIGlmIChy
QXJjKSByZXR1cm4gbGVmdEJyZWFrUG9pbnQockFyYywgZGlyZWN0cml4KTsKKyAgdmFyIHNpdGUg
PSBhcmMuc2l0ZTsKKyAgcmV0dXJuIHNpdGVbMV0gPT09IGRpcmVjdHJpeCA/IHNpdGVbMF0gOiBJ
bmZpbml0eTsKK30KKwordmFyIGVwc2lsb24kNCA9IDFlLTY7Cit2YXIgZXBzaWxvbjIkMiA9IDFl
LTEyOwordmFyIGJlYWNoZXM7Cit2YXIgY2VsbHM7Cit2YXIgY2lyY2xlczsKK3ZhciBlZGdlczsK
KworZnVuY3Rpb24gdHJpYW5nbGVBcmVhKGEsIGIsIGMpIHsKKyAgcmV0dXJuIChhWzBdIC0gY1sw
XSkgKiAoYlsxXSAtIGFbMV0pIC0gKGFbMF0gLSBiWzBdKSAqIChjWzFdIC0gYVsxXSk7Cit9CisK
K2Z1bmN0aW9uIGxleGljb2dyYXBoaWMoYSwgYikgeworICByZXR1cm4gYlsxXSAtIGFbMV0KKyAg
ICAgIHx8IGJbMF0gLSBhWzBdOworfQorCitmdW5jdGlvbiBEaWFncmFtKHNpdGVzLCBleHRlbnQp
IHsKKyAgdmFyIHNpdGUgPSBzaXRlcy5zb3J0KGxleGljb2dyYXBoaWMpLnBvcCgpLAorICAgICAg
eCwKKyAgICAgIHksCisgICAgICBjaXJjbGU7CisKKyAgZWRnZXMgPSBbXTsKKyAgY2VsbHMgPSBu
ZXcgQXJyYXkoc2l0ZXMubGVuZ3RoKTsKKyAgYmVhY2hlcyA9IG5ldyBSZWRCbGFja1RyZWU7Cisg
IGNpcmNsZXMgPSBuZXcgUmVkQmxhY2tUcmVlOworCisgIHdoaWxlICh0cnVlKSB7CisgICAgY2ly
Y2xlID0gZmlyc3RDaXJjbGU7CisgICAgaWYgKHNpdGUgJiYgKCFjaXJjbGUgfHwgc2l0ZVsxXSA8
IGNpcmNsZS55IHx8IChzaXRlWzFdID09PSBjaXJjbGUueSAmJiBzaXRlWzBdIDwgY2lyY2xlLngp
KSkgeworICAgICAgaWYgKHNpdGVbMF0gIT09IHggfHwgc2l0ZVsxXSAhPT0geSkgeworICAgICAg
ICBhZGRCZWFjaChzaXRlKTsKKyAgICAgICAgeCA9IHNpdGVbMF0sIHkgPSBzaXRlWzFdOworICAg
ICAgfQorICAgICAgc2l0ZSA9IHNpdGVzLnBvcCgpOworICAgIH0gZWxzZSBpZiAoY2lyY2xlKSB7
CisgICAgICByZW1vdmVCZWFjaChjaXJjbGUuYXJjKTsKKyAgICB9IGVsc2UgeworICAgICAgYnJl
YWs7CisgICAgfQorICB9CisKKyAgc29ydENlbGxIYWxmZWRnZXMoKTsKKworICBpZiAoZXh0ZW50
KSB7CisgICAgdmFyIHgwID0gK2V4dGVudFswXVswXSwKKyAgICAgICAgeTAgPSArZXh0ZW50WzBd
WzFdLAorICAgICAgICB4MSA9ICtleHRlbnRbMV1bMF0sCisgICAgICAgIHkxID0gK2V4dGVudFsx
XVsxXTsKKyAgICBjbGlwRWRnZXMoeDAsIHkwLCB4MSwgeTEpOworICAgIGNsaXBDZWxscyh4MCwg
eTAsIHgxLCB5MSk7CisgIH0KKworICB0aGlzLmVkZ2VzID0gZWRnZXM7CisgIHRoaXMuY2VsbHMg
PSBjZWxsczsKKworICBiZWFjaGVzID0KKyAgY2lyY2xlcyA9CisgIGVkZ2VzID0KKyAgY2VsbHMg
PSBudWxsOworfQorCitEaWFncmFtLnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IERpYWdy
YW0sCisKKyAgcG9seWdvbnM6IGZ1bmN0aW9uKCkgeworICAgIHZhciBlZGdlcyA9IHRoaXMuZWRn
ZXM7CisKKyAgICByZXR1cm4gdGhpcy5jZWxscy5tYXAoZnVuY3Rpb24oY2VsbCkgeworICAgICAg
dmFyIHBvbHlnb24gPSBjZWxsLmhhbGZlZGdlcy5tYXAoZnVuY3Rpb24oaSkgeyByZXR1cm4gY2Vs
bEhhbGZlZGdlU3RhcnQoY2VsbCwgZWRnZXNbaV0pOyB9KTsKKyAgICAgIHBvbHlnb24uZGF0YSA9
IGNlbGwuc2l0ZS5kYXRhOworICAgICAgcmV0dXJuIHBvbHlnb247CisgICAgfSk7CisgIH0sCisK
KyAgdHJpYW5nbGVzOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdHJpYW5nbGVzID0gW10sCisgICAg
ICAgIGVkZ2VzID0gdGhpcy5lZGdlczsKKworICAgIHRoaXMuY2VsbHMuZm9yRWFjaChmdW5jdGlv
bihjZWxsLCBpKSB7CisgICAgICBpZiAoIShtID0gKGhhbGZlZGdlcyA9IGNlbGwuaGFsZmVkZ2Vz
KS5sZW5ndGgpKSByZXR1cm47CisgICAgICB2YXIgc2l0ZSA9IGNlbGwuc2l0ZSwKKyAgICAgICAg
ICBoYWxmZWRnZXMsCisgICAgICAgICAgaiA9IC0xLAorICAgICAgICAgIG0sCisgICAgICAgICAg
czAsCisgICAgICAgICAgZTEgPSBlZGdlc1toYWxmZWRnZXNbbSAtIDFdXSwKKyAgICAgICAgICBz
MSA9IGUxLmxlZnQgPT09IHNpdGUgPyBlMS5yaWdodCA6IGUxLmxlZnQ7CisKKyAgICAgIHdoaWxl
ICgrK2ogPCBtKSB7CisgICAgICAgIHMwID0gczE7CisgICAgICAgIGUxID0gZWRnZXNbaGFsZmVk
Z2VzW2pdXTsKKyAgICAgICAgczEgPSBlMS5sZWZ0ID09PSBzaXRlID8gZTEucmlnaHQgOiBlMS5s
ZWZ0OworICAgICAgICBpZiAoczAgJiYgczEgJiYgaSA8IHMwLmluZGV4ICYmIGkgPCBzMS5pbmRl
eCAmJiB0cmlhbmdsZUFyZWEoc2l0ZSwgczAsIHMxKSA8IDApIHsKKyAgICAgICAgICB0cmlhbmds
ZXMucHVzaChbc2l0ZS5kYXRhLCBzMC5kYXRhLCBzMS5kYXRhXSk7CisgICAgICAgIH0KKyAgICAg
IH0KKyAgICB9KTsKKworICAgIHJldHVybiB0cmlhbmdsZXM7CisgIH0sCisKKyAgbGlua3M6IGZ1
bmN0aW9uKCkgeworICAgIHJldHVybiB0aGlzLmVkZ2VzLmZpbHRlcihmdW5jdGlvbihlZGdlKSB7
CisgICAgICByZXR1cm4gZWRnZS5yaWdodDsKKyAgICB9KS5tYXAoZnVuY3Rpb24oZWRnZSkgewor
ICAgICAgcmV0dXJuIHsKKyAgICAgICAgc291cmNlOiBlZGdlLmxlZnQuZGF0YSwKKyAgICAgICAg
dGFyZ2V0OiBlZGdlLnJpZ2h0LmRhdGEKKyAgICAgIH07CisgICAgfSk7CisgIH0sCisKKyAgZmlu
ZDogZnVuY3Rpb24oeCwgeSwgcmFkaXVzKSB7CisgICAgdmFyIHRoYXQgPSB0aGlzLCBpMCwgaTEg
PSB0aGF0Ll9mb3VuZCB8fCAwLCBuID0gdGhhdC5jZWxscy5sZW5ndGgsIGNlbGw7CisKKyAgICAv
LyBVc2UgdGhlIHByZXZpb3VzbHktZm91bmQgY2VsbCwgb3Igc3RhcnQgd2l0aCBhbiBhcmJpdHJh
cnkgb25lLgorICAgIHdoaWxlICghKGNlbGwgPSB0aGF0LmNlbGxzW2kxXSkpIGlmICgrK2kxID49
IG4pIHJldHVybiBudWxsOworICAgIHZhciBkeCA9IHggLSBjZWxsLnNpdGVbMF0sIGR5ID0geSAt
IGNlbGwuc2l0ZVsxXSwgZDIgPSBkeCAqIGR4ICsgZHkgKiBkeTsKKworICAgIC8vIFRyYXZlcnNl
IHRoZSBoYWxmLWVkZ2VzIHRvIGZpbmQgYSBjbG9zZXIgY2VsbCwgaWYgYW55LgorICAgIGRvIHsK
KyAgICAgIGNlbGwgPSB0aGF0LmNlbGxzW2kwID0gaTFdLCBpMSA9IG51bGw7CisgICAgICBjZWxs
LmhhbGZlZGdlcy5mb3JFYWNoKGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgdmFyIGVkZ2UgPSB0aGF0
LmVkZ2VzW2VdLCB2ID0gZWRnZS5sZWZ0OworICAgICAgICBpZiAoKHYgPT09IGNlbGwuc2l0ZSB8
fCAhdikgJiYgISh2ID0gZWRnZS5yaWdodCkpIHJldHVybjsKKyAgICAgICAgdmFyIHZ4ID0geCAt
IHZbMF0sIHZ5ID0geSAtIHZbMV0sIHYyID0gdnggKiB2eCArIHZ5ICogdnk7CisgICAgICAgIGlm
ICh2MiA8IGQyKSBkMiA9IHYyLCBpMSA9IHYuaW5kZXg7CisgICAgICB9KTsKKyAgICB9IHdoaWxl
IChpMSAhPT0gbnVsbCk7CisKKyAgICB0aGF0Ll9mb3VuZCA9IGkwOworCisgICAgcmV0dXJuIHJh
ZGl1cyA9PSBudWxsIHx8IGQyIDw9IHJhZGl1cyAqIHJhZGl1cyA/IGNlbGwuc2l0ZSA6IG51bGw7
CisgIH0KK307CisKK2Z1bmN0aW9uIHZvcm9ub2koKSB7CisgIHZhciB4ID0geCQ0LAorICAgICAg
eSA9IHkkNCwKKyAgICAgIGV4dGVudCA9IG51bGw7CisKKyAgZnVuY3Rpb24gdm9yb25vaShkYXRh
KSB7CisgICAgcmV0dXJuIG5ldyBEaWFncmFtKGRhdGEubWFwKGZ1bmN0aW9uKGQsIGkpIHsKKyAg
ICAgIHZhciBzID0gW01hdGgucm91bmQoeChkLCBpLCBkYXRhKSAvIGVwc2lsb24kNCkgKiBlcHNp
bG9uJDQsIE1hdGgucm91bmQoeShkLCBpLCBkYXRhKSAvIGVwc2lsb24kNCkgKiBlcHNpbG9uJDRd
OworICAgICAgcy5pbmRleCA9IGk7CisgICAgICBzLmRhdGEgPSBkOworICAgICAgcmV0dXJuIHM7
CisgICAgfSksIGV4dGVudCk7CisgIH0KKworICB2b3Jvbm9pLnBvbHlnb25zID0gZnVuY3Rpb24o
ZGF0YSkgeworICAgIHJldHVybiB2b3Jvbm9pKGRhdGEpLnBvbHlnb25zKCk7CisgIH07CisKKyAg
dm9yb25vaS5saW5rcyA9IGZ1bmN0aW9uKGRhdGEpIHsKKyAgICByZXR1cm4gdm9yb25vaShkYXRh
KS5saW5rcygpOworICB9OworCisgIHZvcm9ub2kudHJpYW5nbGVzID0gZnVuY3Rpb24oZGF0YSkg
eworICAgIHJldHVybiB2b3Jvbm9pKGRhdGEpLnRyaWFuZ2xlcygpOworICB9OworCisgIHZvcm9u
b2kueCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4ID0g
dHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYygrXyksIHZvcm9ub2kpIDog
eDsKKyAgfTsKKworICB2b3Jvbm9pLnkgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAoeSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50
JGMoK18pLCB2b3Jvbm9pKSA6IHk7CisgIH07CisKKyAgdm9yb25vaS5leHRlbnQgPSBmdW5jdGlv
bihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZXh0ZW50ID0gXyA9PSBudWxs
ID8gbnVsbCA6IFtbK19bMF1bMF0sICtfWzBdWzFdXSwgWytfWzFdWzBdLCArX1sxXVsxXV1dLCB2
b3Jvbm9pKSA6IGV4dGVudCAmJiBbW2V4dGVudFswXVswXSwgZXh0ZW50WzBdWzFdXSwgW2V4dGVu
dFsxXVswXSwgZXh0ZW50WzFdWzFdXV07CisgIH07CisKKyAgdm9yb25vaS5zaXplID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGV4dGVudCA9IF8gPT0gbnVs
bCA/IG51bGwgOiBbWzAsIDBdLCBbK19bMF0sICtfWzFdXV0sIHZvcm9ub2kpIDogZXh0ZW50ICYm
IFtleHRlbnRbMV1bMF0gLSBleHRlbnRbMF1bMF0sIGV4dGVudFsxXVsxXSAtIGV4dGVudFswXVsx
XV07CisgIH07CisKKyAgcmV0dXJuIHZvcm9ub2k7Cit9CisKK2Z1bmN0aW9uIGNvbnN0YW50JGQo
eCkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHg7CisgIH07Cit9CisKK2Z1
bmN0aW9uIFpvb21FdmVudCh0YXJnZXQsIHR5cGUsIHRyYW5zZm9ybSkgeworICB0aGlzLnRhcmdl
dCA9IHRhcmdldDsKKyAgdGhpcy50eXBlID0gdHlwZTsKKyAgdGhpcy50cmFuc2Zvcm0gPSB0cmFu
c2Zvcm07Cit9CisKK2Z1bmN0aW9uIFRyYW5zZm9ybShrLCB4LCB5KSB7CisgIHRoaXMuayA9IGs7
CisgIHRoaXMueCA9IHg7CisgIHRoaXMueSA9IHk7Cit9CisKK1RyYW5zZm9ybS5wcm90b3R5cGUg
PSB7CisgIGNvbnN0cnVjdG9yOiBUcmFuc2Zvcm0sCisgIHNjYWxlOiBmdW5jdGlvbihrKSB7Cisg
ICAgcmV0dXJuIGsgPT09IDEgPyB0aGlzIDogbmV3IFRyYW5zZm9ybSh0aGlzLmsgKiBrLCB0aGlz
LngsIHRoaXMueSk7CisgIH0sCisgIHRyYW5zbGF0ZTogZnVuY3Rpb24oeCwgeSkgeworICAgIHJl
dHVybiB4ID09PSAwICYgeSA9PT0gMCA/IHRoaXMgOiBuZXcgVHJhbnNmb3JtKHRoaXMuaywgdGhp
cy54ICsgdGhpcy5rICogeCwgdGhpcy55ICsgdGhpcy5rICogeSk7CisgIH0sCisgIGFwcGx5OiBm
dW5jdGlvbihwb2ludCkgeworICAgIHJldHVybiBbcG9pbnRbMF0gKiB0aGlzLmsgKyB0aGlzLngs
IHBvaW50WzFdICogdGhpcy5rICsgdGhpcy55XTsKKyAgfSwKKyAgYXBwbHlYOiBmdW5jdGlvbih4
KSB7CisgICAgcmV0dXJuIHggKiB0aGlzLmsgKyB0aGlzLng7CisgIH0sCisgIGFwcGx5WTogZnVu
Y3Rpb24oeSkgeworICAgIHJldHVybiB5ICogdGhpcy5rICsgdGhpcy55OworICB9LAorICBpbnZl
cnQ6IGZ1bmN0aW9uKGxvY2F0aW9uKSB7CisgICAgcmV0dXJuIFsobG9jYXRpb25bMF0gLSB0aGlz
LngpIC8gdGhpcy5rLCAobG9jYXRpb25bMV0gLSB0aGlzLnkpIC8gdGhpcy5rXTsKKyAgfSwKKyAg
aW52ZXJ0WDogZnVuY3Rpb24oeCkgeworICAgIHJldHVybiAoeCAtIHRoaXMueCkgLyB0aGlzLms7
CisgIH0sCisgIGludmVydFk6IGZ1bmN0aW9uKHkpIHsKKyAgICByZXR1cm4gKHkgLSB0aGlzLnkp
IC8gdGhpcy5rOworICB9LAorICByZXNjYWxlWDogZnVuY3Rpb24oeCkgeworICAgIHJldHVybiB4
LmNvcHkoKS5kb21haW4oeC5yYW5nZSgpLm1hcCh0aGlzLmludmVydFgsIHRoaXMpLm1hcCh4Lmlu
dmVydCwgeCkpOworICB9LAorICByZXNjYWxlWTogZnVuY3Rpb24oeSkgeworICAgIHJldHVybiB5
LmNvcHkoKS5kb21haW4oeS5yYW5nZSgpLm1hcCh0aGlzLmludmVydFksIHRoaXMpLm1hcCh5Lmlu
dmVydCwgeSkpOworICB9LAorICB0b1N0cmluZzogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuICJ0
cmFuc2xhdGUoIiArIHRoaXMueCArICIsIiArIHRoaXMueSArICIpIHNjYWxlKCIgKyB0aGlzLmsg
KyAiKSI7CisgIH0KK307CisKK3ZhciBpZGVudGl0eSQ5ID0gbmV3IFRyYW5zZm9ybSgxLCAwLCAw
KTsKKwordHJhbnNmb3JtJDEucHJvdG90eXBlID0gVHJhbnNmb3JtLnByb3RvdHlwZTsKKworZnVu
Y3Rpb24gdHJhbnNmb3JtJDEobm9kZSkgeworICB3aGlsZSAoIW5vZGUuX196b29tKSBpZiAoIShu
b2RlID0gbm9kZS5wYXJlbnROb2RlKSkgcmV0dXJuIGlkZW50aXR5JDk7CisgIHJldHVybiBub2Rl
Ll9fem9vbTsKK30KKworZnVuY3Rpb24gbm9wcm9wYWdhdGlvbiQyKCkgeworICBleHBvcnRzLmV2
ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOworfQorCitmdW5jdGlvbiBub2V2ZW50JDIo
KSB7CisgIGV4cG9ydHMuZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgZXhwb3J0cy5ldmVudC5z
dG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsKK30KKworLy8gSWdub3JlIHJpZ2h0LWNsaWNrLCBz
aW5jZSB0aGF0IHNob3VsZCBvcGVuIHRoZSBjb250ZXh0IG1lbnUuCitmdW5jdGlvbiBkZWZhdWx0
RmlsdGVyJDIoKSB7CisgIHJldHVybiAhZXhwb3J0cy5ldmVudC5jdHJsS2V5ICYmICFleHBvcnRz
LmV2ZW50LmJ1dHRvbjsKK30KKworZnVuY3Rpb24gZGVmYXVsdEV4dGVudCQxKCkgeworICB2YXIg
ZSA9IHRoaXM7CisgIGlmIChlIGluc3RhbmNlb2YgU1ZHRWxlbWVudCkgeworICAgIGUgPSBlLm93
bmVyU1ZHRWxlbWVudCB8fCBlOworICAgIGlmIChlLmhhc0F0dHJpYnV0ZSgidmlld0JveCIpKSB7
CisgICAgICBlID0gZS52aWV3Qm94LmJhc2VWYWw7CisgICAgICByZXR1cm4gW1tlLngsIGUueV0s
IFtlLnggKyBlLndpZHRoLCBlLnkgKyBlLmhlaWdodF1dOworICAgIH0KKyAgICByZXR1cm4gW1sw
LCAwXSwgW2Uud2lkdGguYmFzZVZhbC52YWx1ZSwgZS5oZWlnaHQuYmFzZVZhbC52YWx1ZV1dOwor
ICB9CisgIHJldHVybiBbWzAsIDBdLCBbZS5jbGllbnRXaWR0aCwgZS5jbGllbnRIZWlnaHRdXTsK
K30KKworZnVuY3Rpb24gZGVmYXVsdFRyYW5zZm9ybSgpIHsKKyAgcmV0dXJuIHRoaXMuX196b29t
IHx8IGlkZW50aXR5JDk7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRXaGVlbERlbHRhKCkgeworICBy
ZXR1cm4gLWV4cG9ydHMuZXZlbnQuZGVsdGFZICogKGV4cG9ydHMuZXZlbnQuZGVsdGFNb2RlID09
PSAxID8gMC4wNSA6IGV4cG9ydHMuZXZlbnQuZGVsdGFNb2RlID8gMSA6IDAuMDAyKTsKK30KKwor
ZnVuY3Rpb24gZGVmYXVsdFRvdWNoYWJsZSQyKCkgeworICByZXR1cm4gbmF2aWdhdG9yLm1heFRv
dWNoUG9pbnRzIHx8ICgib250b3VjaHN0YXJ0IiBpbiB0aGlzKTsKK30KKworZnVuY3Rpb24gZGVm
YXVsdENvbnN0cmFpbih0cmFuc2Zvcm0sIGV4dGVudCwgdHJhbnNsYXRlRXh0ZW50KSB7CisgIHZh
ciBkeDAgPSB0cmFuc2Zvcm0uaW52ZXJ0WChleHRlbnRbMF1bMF0pIC0gdHJhbnNsYXRlRXh0ZW50
WzBdWzBdLAorICAgICAgZHgxID0gdHJhbnNmb3JtLmludmVydFgoZXh0ZW50WzFdWzBdKSAtIHRy
YW5zbGF0ZUV4dGVudFsxXVswXSwKKyAgICAgIGR5MCA9IHRyYW5zZm9ybS5pbnZlcnRZKGV4dGVu
dFswXVsxXSkgLSB0cmFuc2xhdGVFeHRlbnRbMF1bMV0sCisgICAgICBkeTEgPSB0cmFuc2Zvcm0u
aW52ZXJ0WShleHRlbnRbMV1bMV0pIC0gdHJhbnNsYXRlRXh0ZW50WzFdWzFdOworICByZXR1cm4g
dHJhbnNmb3JtLnRyYW5zbGF0ZSgKKyAgICBkeDEgPiBkeDAgPyAoZHgwICsgZHgxKSAvIDIgOiBN
YXRoLm1pbigwLCBkeDApIHx8IE1hdGgubWF4KDAsIGR4MSksCisgICAgZHkxID4gZHkwID8gKGR5
MCArIGR5MSkgLyAyIDogTWF0aC5taW4oMCwgZHkwKSB8fCBNYXRoLm1heCgwLCBkeTEpCisgICk7
Cit9CisKK2Z1bmN0aW9uIHpvb20oKSB7CisgIHZhciBmaWx0ZXIgPSBkZWZhdWx0RmlsdGVyJDIs
CisgICAgICBleHRlbnQgPSBkZWZhdWx0RXh0ZW50JDEsCisgICAgICBjb25zdHJhaW4gPSBkZWZh
dWx0Q29uc3RyYWluLAorICAgICAgd2hlZWxEZWx0YSA9IGRlZmF1bHRXaGVlbERlbHRhLAorICAg
ICAgdG91Y2hhYmxlID0gZGVmYXVsdFRvdWNoYWJsZSQyLAorICAgICAgc2NhbGVFeHRlbnQgPSBb
MCwgSW5maW5pdHldLAorICAgICAgdHJhbnNsYXRlRXh0ZW50ID0gW1stSW5maW5pdHksIC1JbmZp
bml0eV0sIFtJbmZpbml0eSwgSW5maW5pdHldXSwKKyAgICAgIGR1cmF0aW9uID0gMjUwLAorICAg
ICAgaW50ZXJwb2xhdGUgPSBpbnRlcnBvbGF0ZVpvb20sCisgICAgICBsaXN0ZW5lcnMgPSBkaXNw
YXRjaCgic3RhcnQiLCAiem9vbSIsICJlbmQiKSwKKyAgICAgIHRvdWNoc3RhcnRpbmcsCisgICAg
ICB0b3VjaGVuZGluZywKKyAgICAgIHRvdWNoRGVsYXkgPSA1MDAsCisgICAgICB3aGVlbERlbGF5
ID0gMTUwLAorICAgICAgY2xpY2tEaXN0YW5jZTIgPSAwOworCisgIGZ1bmN0aW9uIHpvb20oc2Vs
ZWN0aW9uKSB7CisgICAgc2VsZWN0aW9uCisgICAgICAgIC5wcm9wZXJ0eSgiX196b29tIiwgZGVm
YXVsdFRyYW5zZm9ybSkKKyAgICAgICAgLm9uKCJ3aGVlbC56b29tIiwgd2hlZWxlZCkKKyAgICAg
ICAgLm9uKCJtb3VzZWRvd24uem9vbSIsIG1vdXNlZG93bmVkKQorICAgICAgICAub24oImRibGNs
aWNrLnpvb20iLCBkYmxjbGlja2VkKQorICAgICAgLmZpbHRlcih0b3VjaGFibGUpCisgICAgICAg
IC5vbigidG91Y2hzdGFydC56b29tIiwgdG91Y2hzdGFydGVkKQorICAgICAgICAub24oInRvdWNo
bW92ZS56b29tIiwgdG91Y2htb3ZlZCkKKyAgICAgICAgLm9uKCJ0b3VjaGVuZC56b29tIHRvdWNo
Y2FuY2VsLnpvb20iLCB0b3VjaGVuZGVkKQorICAgICAgICAuc3R5bGUoInRvdWNoLWFjdGlvbiIs
ICJub25lIikKKyAgICAgICAgLnN0eWxlKCItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IiLCAi
cmdiYSgwLDAsMCwwKSIpOworICB9CisKKyAgem9vbS50cmFuc2Zvcm0gPSBmdW5jdGlvbihjb2xs
ZWN0aW9uLCB0cmFuc2Zvcm0sIHBvaW50KSB7CisgICAgdmFyIHNlbGVjdGlvbiA9IGNvbGxlY3Rp
b24uc2VsZWN0aW9uID8gY29sbGVjdGlvbi5zZWxlY3Rpb24oKSA6IGNvbGxlY3Rpb247CisgICAg
c2VsZWN0aW9uLnByb3BlcnR5KCJfX3pvb20iLCBkZWZhdWx0VHJhbnNmb3JtKTsKKyAgICBpZiAo
Y29sbGVjdGlvbiAhPT0gc2VsZWN0aW9uKSB7CisgICAgICBzY2hlZHVsZShjb2xsZWN0aW9uLCB0
cmFuc2Zvcm0sIHBvaW50KTsKKyAgICB9IGVsc2UgeworICAgICAgc2VsZWN0aW9uLmludGVycnVw
dCgpLmVhY2goZnVuY3Rpb24oKSB7CisgICAgICAgIGdlc3R1cmUodGhpcywgYXJndW1lbnRzKQor
ICAgICAgICAgICAgLnN0YXJ0KCkKKyAgICAgICAgICAgIC56b29tKG51bGwsIHR5cGVvZiB0cmFu
c2Zvcm0gPT09ICJmdW5jdGlvbiIgPyB0cmFuc2Zvcm0uYXBwbHkodGhpcywgYXJndW1lbnRzKSA6
IHRyYW5zZm9ybSkKKyAgICAgICAgICAgIC5lbmQoKTsKKyAgICAgIH0pOworICAgIH0KKyAgfTsK
KworICB6b29tLnNjYWxlQnkgPSBmdW5jdGlvbihzZWxlY3Rpb24sIGssIHApIHsKKyAgICB6b29t
LnNjYWxlVG8oc2VsZWN0aW9uLCBmdW5jdGlvbigpIHsKKyAgICAgIHZhciBrMCA9IHRoaXMuX196
b29tLmssCisgICAgICAgICAgazEgPSB0eXBlb2YgayA9PT0gImZ1bmN0aW9uIiA/IGsuYXBwbHko
dGhpcywgYXJndW1lbnRzKSA6IGs7CisgICAgICByZXR1cm4gazAgKiBrMTsKKyAgICB9LCBwKTsK
KyAgfTsKKworICB6b29tLnNjYWxlVG8gPSBmdW5jdGlvbihzZWxlY3Rpb24sIGssIHApIHsKKyAg
ICB6b29tLnRyYW5zZm9ybShzZWxlY3Rpb24sIGZ1bmN0aW9uKCkgeworICAgICAgdmFyIGUgPSBl
eHRlbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKSwKKyAgICAgICAgICB0MCA9IHRoaXMuX196b29t
LAorICAgICAgICAgIHAwID0gcCA9PSBudWxsID8gY2VudHJvaWQoZSkgOiB0eXBlb2YgcCA9PT0g
ImZ1bmN0aW9uIiA/IHAuYXBwbHkodGhpcywgYXJndW1lbnRzKSA6IHAsCisgICAgICAgICAgcDEg
PSB0MC5pbnZlcnQocDApLAorICAgICAgICAgIGsxID0gdHlwZW9mIGsgPT09ICJmdW5jdGlvbiIg
PyBrLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgOiBrOworICAgICAgcmV0dXJuIGNvbnN0cmFpbih0
cmFuc2xhdGUoc2NhbGUodDAsIGsxKSwgcDAsIHAxKSwgZSwgdHJhbnNsYXRlRXh0ZW50KTsKKyAg
ICB9LCBwKTsKKyAgfTsKKworICB6b29tLnRyYW5zbGF0ZUJ5ID0gZnVuY3Rpb24oc2VsZWN0aW9u
LCB4LCB5KSB7CisgICAgem9vbS50cmFuc2Zvcm0oc2VsZWN0aW9uLCBmdW5jdGlvbigpIHsKKyAg
ICAgIHJldHVybiBjb25zdHJhaW4odGhpcy5fX3pvb20udHJhbnNsYXRlKAorICAgICAgICB0eXBl
b2YgeCA9PT0gImZ1bmN0aW9uIiA/IHguYXBwbHkodGhpcywgYXJndW1lbnRzKSA6IHgsCisgICAg
ICAgIHR5cGVvZiB5ID09PSAiZnVuY3Rpb24iID8geS5hcHBseSh0aGlzLCBhcmd1bWVudHMpIDog
eQorICAgICAgKSwgZXh0ZW50LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksIHRyYW5zbGF0ZUV4dGVu
dCk7CisgICAgfSk7CisgIH07CisKKyAgem9vbS50cmFuc2xhdGVUbyA9IGZ1bmN0aW9uKHNlbGVj
dGlvbiwgeCwgeSwgcCkgeworICAgIHpvb20udHJhbnNmb3JtKHNlbGVjdGlvbiwgZnVuY3Rpb24o
KSB7CisgICAgICB2YXIgZSA9IGV4dGVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpLAorICAgICAg
ICAgIHQgPSB0aGlzLl9fem9vbSwKKyAgICAgICAgICBwMCA9IHAgPT0gbnVsbCA/IGNlbnRyb2lk
KGUpIDogdHlwZW9mIHAgPT09ICJmdW5jdGlvbiIgPyBwLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykg
OiBwOworICAgICAgcmV0dXJuIGNvbnN0cmFpbihpZGVudGl0eSQ5LnRyYW5zbGF0ZShwMFswXSwg
cDBbMV0pLnNjYWxlKHQuaykudHJhbnNsYXRlKAorICAgICAgICB0eXBlb2YgeCA9PT0gImZ1bmN0
aW9uIiA/IC14LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgOiAteCwKKyAgICAgICAgdHlwZW9mIHkg
PT09ICJmdW5jdGlvbiIgPyAteS5hcHBseSh0aGlzLCBhcmd1bWVudHMpIDogLXkKKyAgICAgICks
IGUsIHRyYW5zbGF0ZUV4dGVudCk7CisgICAgfSwgcCk7CisgIH07CisKKyAgZnVuY3Rpb24gc2Nh
bGUodHJhbnNmb3JtLCBrKSB7CisgICAgayA9IE1hdGgubWF4KHNjYWxlRXh0ZW50WzBdLCBNYXRo
Lm1pbihzY2FsZUV4dGVudFsxXSwgaykpOworICAgIHJldHVybiBrID09PSB0cmFuc2Zvcm0uayA/
IHRyYW5zZm9ybSA6IG5ldyBUcmFuc2Zvcm0oaywgdHJhbnNmb3JtLngsIHRyYW5zZm9ybS55KTsK
KyAgfQorCisgIGZ1bmN0aW9uIHRyYW5zbGF0ZSh0cmFuc2Zvcm0sIHAwLCBwMSkgeworICAgIHZh
ciB4ID0gcDBbMF0gLSBwMVswXSAqIHRyYW5zZm9ybS5rLCB5ID0gcDBbMV0gLSBwMVsxXSAqIHRy
YW5zZm9ybS5rOworICAgIHJldHVybiB4ID09PSB0cmFuc2Zvcm0ueCAmJiB5ID09PSB0cmFuc2Zv
cm0ueSA/IHRyYW5zZm9ybSA6IG5ldyBUcmFuc2Zvcm0odHJhbnNmb3JtLmssIHgsIHkpOworICB9
CisKKyAgZnVuY3Rpb24gY2VudHJvaWQoZXh0ZW50KSB7CisgICAgcmV0dXJuIFsoK2V4dGVudFsw
XVswXSArICtleHRlbnRbMV1bMF0pIC8gMiwgKCtleHRlbnRbMF1bMV0gKyArZXh0ZW50WzFdWzFd
KSAvIDJdOworICB9CisKKyAgZnVuY3Rpb24gc2NoZWR1bGUodHJhbnNpdGlvbiwgdHJhbnNmb3Jt
LCBwb2ludCkgeworICAgIHRyYW5zaXRpb24KKyAgICAgICAgLm9uKCJzdGFydC56b29tIiwgZnVu
Y3Rpb24oKSB7IGdlc3R1cmUodGhpcywgYXJndW1lbnRzKS5zdGFydCgpOyB9KQorICAgICAgICAu
b24oImludGVycnVwdC56b29tIGVuZC56b29tIiwgZnVuY3Rpb24oKSB7IGdlc3R1cmUodGhpcywg
YXJndW1lbnRzKS5lbmQoKTsgfSkKKyAgICAgICAgLnR3ZWVuKCJ6b29tIiwgZnVuY3Rpb24oKSB7
CisgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzLAorICAgICAgICAgICAgICBhcmdzID0gYXJndW1l
bnRzLAorICAgICAgICAgICAgICBnID0gZ2VzdHVyZSh0aGF0LCBhcmdzKSwKKyAgICAgICAgICAg
ICAgZSA9IGV4dGVudC5hcHBseSh0aGF0LCBhcmdzKSwKKyAgICAgICAgICAgICAgcCA9IHBvaW50
ID09IG51bGwgPyBjZW50cm9pZChlKSA6IHR5cGVvZiBwb2ludCA9PT0gImZ1bmN0aW9uIiA/IHBv
aW50LmFwcGx5KHRoYXQsIGFyZ3MpIDogcG9pbnQsCisgICAgICAgICAgICAgIHcgPSBNYXRoLm1h
eChlWzFdWzBdIC0gZVswXVswXSwgZVsxXVsxXSAtIGVbMF1bMV0pLAorICAgICAgICAgICAgICBh
ID0gdGhhdC5fX3pvb20sCisgICAgICAgICAgICAgIGIgPSB0eXBlb2YgdHJhbnNmb3JtID09PSAi
ZnVuY3Rpb24iID8gdHJhbnNmb3JtLmFwcGx5KHRoYXQsIGFyZ3MpIDogdHJhbnNmb3JtLAorICAg
ICAgICAgICAgICBpID0gaW50ZXJwb2xhdGUoYS5pbnZlcnQocCkuY29uY2F0KHcgLyBhLmspLCBi
LmludmVydChwKS5jb25jYXQodyAvIGIuaykpOworICAgICAgICAgIHJldHVybiBmdW5jdGlvbih0
KSB7CisgICAgICAgICAgICBpZiAodCA9PT0gMSkgdCA9IGI7IC8vIEF2b2lkIHJvdW5kaW5nIGVy
cm9yIG9uIGVuZC4KKyAgICAgICAgICAgIGVsc2UgeyB2YXIgbCA9IGkodCksIGsgPSB3IC8gbFsy
XTsgdCA9IG5ldyBUcmFuc2Zvcm0oaywgcFswXSAtIGxbMF0gKiBrLCBwWzFdIC0gbFsxXSAqIGsp
OyB9CisgICAgICAgICAgICBnLnpvb20obnVsbCwgdCk7CisgICAgICAgICAgfTsKKyAgICAgICAg
fSk7CisgIH0KKworICBmdW5jdGlvbiBnZXN0dXJlKHRoYXQsIGFyZ3MsIGNsZWFuKSB7CisgICAg
cmV0dXJuICghY2xlYW4gJiYgdGhhdC5fX3pvb21pbmcpIHx8IG5ldyBHZXN0dXJlKHRoYXQsIGFy
Z3MpOworICB9CisKKyAgZnVuY3Rpb24gR2VzdHVyZSh0aGF0LCBhcmdzKSB7CisgICAgdGhpcy50
aGF0ID0gdGhhdDsKKyAgICB0aGlzLmFyZ3MgPSBhcmdzOworICAgIHRoaXMuYWN0aXZlID0gMDsK
KyAgICB0aGlzLmV4dGVudCA9IGV4dGVudC5hcHBseSh0aGF0LCBhcmdzKTsKKyAgICB0aGlzLnRh
cHMgPSAwOworICB9CisKKyAgR2VzdHVyZS5wcm90b3R5cGUgPSB7CisgICAgc3RhcnQ6IGZ1bmN0
aW9uKCkgeworICAgICAgaWYgKCsrdGhpcy5hY3RpdmUgPT09IDEpIHsKKyAgICAgICAgdGhpcy50
aGF0Ll9fem9vbWluZyA9IHRoaXM7CisgICAgICAgIHRoaXMuZW1pdCgic3RhcnQiKTsKKyAgICAg
IH0KKyAgICAgIHJldHVybiB0aGlzOworICAgIH0sCisgICAgem9vbTogZnVuY3Rpb24oa2V5LCB0
cmFuc2Zvcm0pIHsKKyAgICAgIGlmICh0aGlzLm1vdXNlICYmIGtleSAhPT0gIm1vdXNlIikgdGhp
cy5tb3VzZVsxXSA9IHRyYW5zZm9ybS5pbnZlcnQodGhpcy5tb3VzZVswXSk7CisgICAgICBpZiAo
dGhpcy50b3VjaDAgJiYga2V5ICE9PSAidG91Y2giKSB0aGlzLnRvdWNoMFsxXSA9IHRyYW5zZm9y
bS5pbnZlcnQodGhpcy50b3VjaDBbMF0pOworICAgICAgaWYgKHRoaXMudG91Y2gxICYmIGtleSAh
PT0gInRvdWNoIikgdGhpcy50b3VjaDFbMV0gPSB0cmFuc2Zvcm0uaW52ZXJ0KHRoaXMudG91Y2gx
WzBdKTsKKyAgICAgIHRoaXMudGhhdC5fX3pvb20gPSB0cmFuc2Zvcm07CisgICAgICB0aGlzLmVt
aXQoInpvb20iKTsKKyAgICAgIHJldHVybiB0aGlzOworICAgIH0sCisgICAgZW5kOiBmdW5jdGlv
bigpIHsKKyAgICAgIGlmICgtLXRoaXMuYWN0aXZlID09PSAwKSB7CisgICAgICAgIGRlbGV0ZSB0
aGlzLnRoYXQuX196b29taW5nOworICAgICAgICB0aGlzLmVtaXQoImVuZCIpOworICAgICAgfQor
ICAgICAgcmV0dXJuIHRoaXM7CisgICAgfSwKKyAgICBlbWl0OiBmdW5jdGlvbih0eXBlKSB7Cisg
ICAgICBjdXN0b21FdmVudChuZXcgWm9vbUV2ZW50KHpvb20sIHR5cGUsIHRoaXMudGhhdC5fX3pv
b20pLCBsaXN0ZW5lcnMuYXBwbHksIGxpc3RlbmVycywgW3R5cGUsIHRoaXMudGhhdCwgdGhpcy5h
cmdzXSk7CisgICAgfQorICB9OworCisgIGZ1bmN0aW9uIHdoZWVsZWQoKSB7CisgICAgaWYgKCFm
aWx0ZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSkgcmV0dXJuOworICAgIHZhciBnID0gZ2VzdHVy
ZSh0aGlzLCBhcmd1bWVudHMpLAorICAgICAgICB0ID0gdGhpcy5fX3pvb20sCisgICAgICAgIGsg
PSBNYXRoLm1heChzY2FsZUV4dGVudFswXSwgTWF0aC5taW4oc2NhbGVFeHRlbnRbMV0sIHQuayAq
IE1hdGgucG93KDIsIHdoZWVsRGVsdGEuYXBwbHkodGhpcywgYXJndW1lbnRzKSkpKSwKKyAgICAg
ICAgcCA9IG1vdXNlKHRoaXMpOworCisgICAgLy8gSWYgdGhlIG1vdXNlIGlzIGluIHRoZSBzYW1l
IGxvY2F0aW9uIGFzIGJlZm9yZSwgcmV1c2UgaXQuCisgICAgLy8gSWYgdGhlcmUgd2VyZSByZWNl
bnQgd2hlZWwgZXZlbnRzLCByZXNldCB0aGUgd2hlZWwgaWRsZSB0aW1lb3V0LgorICAgIGlmIChn
LndoZWVsKSB7CisgICAgICBpZiAoZy5tb3VzZVswXVswXSAhPT0gcFswXSB8fCBnLm1vdXNlWzBd
WzFdICE9PSBwWzFdKSB7CisgICAgICAgIGcubW91c2VbMV0gPSB0LmludmVydChnLm1vdXNlWzBd
ID0gcCk7CisgICAgICB9CisgICAgICBjbGVhclRpbWVvdXQoZy53aGVlbCk7CisgICAgfQorCisg
ICAgLy8gSWYgdGhpcyB3aGVlbCBldmVudCB3b27igJl0IHRyaWdnZXIgYSB0cmFuc2Zvcm0gY2hh
bmdlLCBpZ25vcmUgaXQuCisgICAgZWxzZSBpZiAodC5rID09PSBrKSByZXR1cm47CisKKyAgICAv
LyBPdGhlcndpc2UsIGNhcHR1cmUgdGhlIG1vdXNlIHBvaW50IGFuZCBsb2NhdGlvbiBhdCB0aGUg
c3RhcnQuCisgICAgZWxzZSB7CisgICAgICBnLm1vdXNlID0gW3AsIHQuaW52ZXJ0KHApXTsKKyAg
ICAgIGludGVycnVwdCh0aGlzKTsKKyAgICAgIGcuc3RhcnQoKTsKKyAgICB9CisKKyAgICBub2V2
ZW50JDIoKTsKKyAgICBnLndoZWVsID0gc2V0VGltZW91dCh3aGVlbGlkbGVkLCB3aGVlbERlbGF5
KTsKKyAgICBnLnpvb20oIm1vdXNlIiwgY29uc3RyYWluKHRyYW5zbGF0ZShzY2FsZSh0LCBrKSwg
Zy5tb3VzZVswXSwgZy5tb3VzZVsxXSksIGcuZXh0ZW50LCB0cmFuc2xhdGVFeHRlbnQpKTsKKwor
ICAgIGZ1bmN0aW9uIHdoZWVsaWRsZWQoKSB7CisgICAgICBnLndoZWVsID0gbnVsbDsKKyAgICAg
IGcuZW5kKCk7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gbW91c2Vkb3duZWQoKSB7CisgICAg
aWYgKHRvdWNoZW5kaW5nIHx8ICFmaWx0ZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSkgcmV0dXJu
OworICAgIHZhciBnID0gZ2VzdHVyZSh0aGlzLCBhcmd1bWVudHMsIHRydWUpLAorICAgICAgICB2
ID0gc2VsZWN0KGV4cG9ydHMuZXZlbnQudmlldykub24oIm1vdXNlbW92ZS56b29tIiwgbW91c2Vt
b3ZlZCwgdHJ1ZSkub24oIm1vdXNldXAuem9vbSIsIG1vdXNldXBwZWQsIHRydWUpLAorICAgICAg
ICBwID0gbW91c2UodGhpcyksCisgICAgICAgIHgwID0gZXhwb3J0cy5ldmVudC5jbGllbnRYLAor
ICAgICAgICB5MCA9IGV4cG9ydHMuZXZlbnQuY2xpZW50WTsKKworICAgIGRyYWdEaXNhYmxlKGV4
cG9ydHMuZXZlbnQudmlldyk7CisgICAgbm9wcm9wYWdhdGlvbiQyKCk7CisgICAgZy5tb3VzZSA9
IFtwLCB0aGlzLl9fem9vbS5pbnZlcnQocCldOworICAgIGludGVycnVwdCh0aGlzKTsKKyAgICBn
LnN0YXJ0KCk7CisKKyAgICBmdW5jdGlvbiBtb3VzZW1vdmVkKCkgeworICAgICAgbm9ldmVudCQy
KCk7CisgICAgICBpZiAoIWcubW92ZWQpIHsKKyAgICAgICAgdmFyIGR4ID0gZXhwb3J0cy5ldmVu
dC5jbGllbnRYIC0geDAsIGR5ID0gZXhwb3J0cy5ldmVudC5jbGllbnRZIC0geTA7CisgICAgICAg
IGcubW92ZWQgPSBkeCAqIGR4ICsgZHkgKiBkeSA+IGNsaWNrRGlzdGFuY2UyOworICAgICAgfQor
ICAgICAgZy56b29tKCJtb3VzZSIsIGNvbnN0cmFpbih0cmFuc2xhdGUoZy50aGF0Ll9fem9vbSwg
Zy5tb3VzZVswXSA9IG1vdXNlKGcudGhhdCksIGcubW91c2VbMV0pLCBnLmV4dGVudCwgdHJhbnNs
YXRlRXh0ZW50KSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbW91c2V1cHBlZCgpIHsKKyAgICAg
IHYub24oIm1vdXNlbW92ZS56b29tIG1vdXNldXAuem9vbSIsIG51bGwpOworICAgICAgeWVzZHJh
ZyhleHBvcnRzLmV2ZW50LnZpZXcsIGcubW92ZWQpOworICAgICAgbm9ldmVudCQyKCk7CisgICAg
ICBnLmVuZCgpOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGRibGNsaWNrZWQoKSB7CisgICAg
aWYgKCFmaWx0ZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSkgcmV0dXJuOworICAgIHZhciB0MCA9
IHRoaXMuX196b29tLAorICAgICAgICBwMCA9IG1vdXNlKHRoaXMpLAorICAgICAgICBwMSA9IHQw
LmludmVydChwMCksCisgICAgICAgIGsxID0gdDAuayAqIChleHBvcnRzLmV2ZW50LnNoaWZ0S2V5
ID8gMC41IDogMiksCisgICAgICAgIHQxID0gY29uc3RyYWluKHRyYW5zbGF0ZShzY2FsZSh0MCwg
azEpLCBwMCwgcDEpLCBleHRlbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKSwgdHJhbnNsYXRlRXh0
ZW50KTsKKworICAgIG5vZXZlbnQkMigpOworICAgIGlmIChkdXJhdGlvbiA+IDApIHNlbGVjdCh0
aGlzKS50cmFuc2l0aW9uKCkuZHVyYXRpb24oZHVyYXRpb24pLmNhbGwoc2NoZWR1bGUsIHQxLCBw
MCk7CisgICAgZWxzZSBzZWxlY3QodGhpcykuY2FsbCh6b29tLnRyYW5zZm9ybSwgdDEpOworICB9
CisKKyAgZnVuY3Rpb24gdG91Y2hzdGFydGVkKCkgeworICAgIGlmICghZmlsdGVyLmFwcGx5KHRo
aXMsIGFyZ3VtZW50cykpIHJldHVybjsKKyAgICB2YXIgdG91Y2hlcyA9IGV4cG9ydHMuZXZlbnQu
dG91Y2hlcywKKyAgICAgICAgbiA9IHRvdWNoZXMubGVuZ3RoLAorICAgICAgICBnID0gZ2VzdHVy
ZSh0aGlzLCBhcmd1bWVudHMsIGV4cG9ydHMuZXZlbnQuY2hhbmdlZFRvdWNoZXMubGVuZ3RoID09
PSBuKSwKKyAgICAgICAgc3RhcnRlZCwgaSwgdCwgcDsKKworICAgIG5vcHJvcGFnYXRpb24kMigp
OworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIHQgPSB0b3VjaGVzW2ldLCBw
ID0gdG91Y2godGhpcywgdG91Y2hlcywgdC5pZGVudGlmaWVyKTsKKyAgICAgIHAgPSBbcCwgdGhp
cy5fX3pvb20uaW52ZXJ0KHApLCB0LmlkZW50aWZpZXJdOworICAgICAgaWYgKCFnLnRvdWNoMCkg
Zy50b3VjaDAgPSBwLCBzdGFydGVkID0gdHJ1ZSwgZy50YXBzID0gMSArICEhdG91Y2hzdGFydGlu
ZzsKKyAgICAgIGVsc2UgaWYgKCFnLnRvdWNoMSAmJiBnLnRvdWNoMFsyXSAhPT0gcFsyXSkgZy50
b3VjaDEgPSBwLCBnLnRhcHMgPSAwOworICAgIH0KKworICAgIGlmICh0b3VjaHN0YXJ0aW5nKSB0
b3VjaHN0YXJ0aW5nID0gY2xlYXJUaW1lb3V0KHRvdWNoc3RhcnRpbmcpOworCisgICAgaWYgKHN0
YXJ0ZWQpIHsKKyAgICAgIGlmIChnLnRhcHMgPCAyKSB0b3VjaHN0YXJ0aW5nID0gc2V0VGltZW91
dChmdW5jdGlvbigpIHsgdG91Y2hzdGFydGluZyA9IG51bGw7IH0sIHRvdWNoRGVsYXkpOworICAg
ICAgaW50ZXJydXB0KHRoaXMpOworICAgICAgZy5zdGFydCgpOworICAgIH0KKyAgfQorCisgIGZ1
bmN0aW9uIHRvdWNobW92ZWQoKSB7CisgICAgaWYgKCF0aGlzLl9fem9vbWluZykgcmV0dXJuOwor
ICAgIHZhciBnID0gZ2VzdHVyZSh0aGlzLCBhcmd1bWVudHMpLAorICAgICAgICB0b3VjaGVzID0g
ZXhwb3J0cy5ldmVudC5jaGFuZ2VkVG91Y2hlcywKKyAgICAgICAgbiA9IHRvdWNoZXMubGVuZ3Ro
LCBpLCB0LCBwLCBsOworCisgICAgbm9ldmVudCQyKCk7CisgICAgaWYgKHRvdWNoc3RhcnRpbmcp
IHRvdWNoc3RhcnRpbmcgPSBjbGVhclRpbWVvdXQodG91Y2hzdGFydGluZyk7CisgICAgZy50YXBz
ID0gMDsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICB0ID0gdG91Y2hlc1tp
XSwgcCA9IHRvdWNoKHRoaXMsIHRvdWNoZXMsIHQuaWRlbnRpZmllcik7CisgICAgICBpZiAoZy50
b3VjaDAgJiYgZy50b3VjaDBbMl0gPT09IHQuaWRlbnRpZmllcikgZy50b3VjaDBbMF0gPSBwOwor
ICAgICAgZWxzZSBpZiAoZy50b3VjaDEgJiYgZy50b3VjaDFbMl0gPT09IHQuaWRlbnRpZmllcikg
Zy50b3VjaDFbMF0gPSBwOworICAgIH0KKyAgICB0ID0gZy50aGF0Ll9fem9vbTsKKyAgICBpZiAo
Zy50b3VjaDEpIHsKKyAgICAgIHZhciBwMCA9IGcudG91Y2gwWzBdLCBsMCA9IGcudG91Y2gwWzFd
LAorICAgICAgICAgIHAxID0gZy50b3VjaDFbMF0sIGwxID0gZy50b3VjaDFbMV0sCisgICAgICAg
ICAgZHAgPSAoZHAgPSBwMVswXSAtIHAwWzBdKSAqIGRwICsgKGRwID0gcDFbMV0gLSBwMFsxXSkg
KiBkcCwKKyAgICAgICAgICBkbCA9IChkbCA9IGwxWzBdIC0gbDBbMF0pICogZGwgKyAoZGwgPSBs
MVsxXSAtIGwwWzFdKSAqIGRsOworICAgICAgdCA9IHNjYWxlKHQsIE1hdGguc3FydChkcCAvIGRs
KSk7CisgICAgICBwID0gWyhwMFswXSArIHAxWzBdKSAvIDIsIChwMFsxXSArIHAxWzFdKSAvIDJd
OworICAgICAgbCA9IFsobDBbMF0gKyBsMVswXSkgLyAyLCAobDBbMV0gKyBsMVsxXSkgLyAyXTsK
KyAgICB9CisgICAgZWxzZSBpZiAoZy50b3VjaDApIHAgPSBnLnRvdWNoMFswXSwgbCA9IGcudG91
Y2gwWzFdOworICAgIGVsc2UgcmV0dXJuOworICAgIGcuem9vbSgidG91Y2giLCBjb25zdHJhaW4o
dHJhbnNsYXRlKHQsIHAsIGwpLCBnLmV4dGVudCwgdHJhbnNsYXRlRXh0ZW50KSk7CisgIH0KKwor
ICBmdW5jdGlvbiB0b3VjaGVuZGVkKCkgeworICAgIGlmICghdGhpcy5fX3pvb21pbmcpIHJldHVy
bjsKKyAgICB2YXIgZyA9IGdlc3R1cmUodGhpcywgYXJndW1lbnRzKSwKKyAgICAgICAgdG91Y2hl
cyA9IGV4cG9ydHMuZXZlbnQuY2hhbmdlZFRvdWNoZXMsCisgICAgICAgIG4gPSB0b3VjaGVzLmxl
bmd0aCwgaSwgdDsKKworICAgIG5vcHJvcGFnYXRpb24kMigpOworICAgIGlmICh0b3VjaGVuZGlu
ZykgY2xlYXJUaW1lb3V0KHRvdWNoZW5kaW5nKTsKKyAgICB0b3VjaGVuZGluZyA9IHNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7IHRvdWNoZW5kaW5nID0gbnVsbDsgfSwgdG91Y2hEZWxheSk7CisgICAg
Zm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgdCA9IHRvdWNoZXNbaV07CisgICAgICBp
ZiAoZy50b3VjaDAgJiYgZy50b3VjaDBbMl0gPT09IHQuaWRlbnRpZmllcikgZGVsZXRlIGcudG91
Y2gwOworICAgICAgZWxzZSBpZiAoZy50b3VjaDEgJiYgZy50b3VjaDFbMl0gPT09IHQuaWRlbnRp
ZmllcikgZGVsZXRlIGcudG91Y2gxOworICAgIH0KKyAgICBpZiAoZy50b3VjaDEgJiYgIWcudG91
Y2gwKSBnLnRvdWNoMCA9IGcudG91Y2gxLCBkZWxldGUgZy50b3VjaDE7CisgICAgaWYgKGcudG91
Y2gwKSBnLnRvdWNoMFsxXSA9IHRoaXMuX196b29tLmludmVydChnLnRvdWNoMFswXSk7CisgICAg
ZWxzZSB7CisgICAgICBnLmVuZCgpOworICAgICAgLy8gSWYgdGhpcyB3YXMgYSBkYmx0YXAsIHJl
cm91dGUgdG8gdGhlIChvcHRpb25hbCkgZGJsY2xpY2suem9vbSBoYW5kbGVyLgorICAgICAgaWYg
KGcudGFwcyA9PT0gMikgeworICAgICAgICB2YXIgcCA9IHNlbGVjdCh0aGlzKS5vbigiZGJsY2xp
Y2suem9vbSIpOworICAgICAgICBpZiAocCkgcC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOworICAg
ICAgfQorICAgIH0KKyAgfQorCisgIHpvb20ud2hlZWxEZWx0YSA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh3aGVlbERlbHRhID0gdHlwZW9mIF8gPT09ICJm
dW5jdGlvbiIgPyBfIDogY29uc3RhbnQkZCgrXyksIHpvb20pIDogd2hlZWxEZWx0YTsKKyAgfTsK
KworICB6b29tLmZpbHRlciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IChmaWx0ZXIgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRk
KCEhXyksIHpvb20pIDogZmlsdGVyOworICB9OworCisgIHpvb20udG91Y2hhYmxlID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRvdWNoYWJsZSA9IHR5cGVv
ZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGQoISFfKSwgem9vbSkgOiB0b3VjaGFi
bGU7CisgIH07CisKKyAgem9vbS5leHRlbnQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAoZXh0ZW50ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDog
Y29uc3RhbnQkZChbWytfWzBdWzBdLCArX1swXVsxXV0sIFsrX1sxXVswXSwgK19bMV1bMV1dXSks
IHpvb20pIDogZXh0ZW50OworICB9OworCisgIHpvb20uc2NhbGVFeHRlbnQgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc2NhbGVFeHRlbnRbMF0gPSArX1sw
XSwgc2NhbGVFeHRlbnRbMV0gPSArX1sxXSwgem9vbSkgOiBbc2NhbGVFeHRlbnRbMF0sIHNjYWxl
RXh0ZW50WzFdXTsKKyAgfTsKKworICB6b29tLnRyYW5zbGF0ZUV4dGVudCA9IGZ1bmN0aW9uKF8p
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0cmFuc2xhdGVFeHRlbnRbMF1bMF0g
PSArX1swXVswXSwgdHJhbnNsYXRlRXh0ZW50WzFdWzBdID0gK19bMV1bMF0sIHRyYW5zbGF0ZUV4
dGVudFswXVsxXSA9ICtfWzBdWzFdLCB0cmFuc2xhdGVFeHRlbnRbMV1bMV0gPSArX1sxXVsxXSwg
em9vbSkgOiBbW3RyYW5zbGF0ZUV4dGVudFswXVswXSwgdHJhbnNsYXRlRXh0ZW50WzBdWzFdXSwg
W3RyYW5zbGF0ZUV4dGVudFsxXVswXSwgdHJhbnNsYXRlRXh0ZW50WzFdWzFdXV07CisgIH07CisK
KyAgem9vbS5jb25zdHJhaW4gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoY29uc3RyYWluID0gXywgem9vbSkgOiBjb25zdHJhaW47CisgIH07CisKKyAgem9v
bS5kdXJhdGlvbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
IChkdXJhdGlvbiA9ICtfLCB6b29tKSA6IGR1cmF0aW9uOworICB9OworCisgIHpvb20uaW50ZXJw
b2xhdGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoaW50
ZXJwb2xhdGUgPSBfLCB6b29tKSA6IGludGVycG9sYXRlOworICB9OworCisgIHpvb20ub24gPSBm
dW5jdGlvbigpIHsKKyAgICB2YXIgdmFsdWUgPSBsaXN0ZW5lcnMub24uYXBwbHkobGlzdGVuZXJz
LCBhcmd1bWVudHMpOworICAgIHJldHVybiB2YWx1ZSA9PT0gbGlzdGVuZXJzID8gem9vbSA6IHZh
bHVlOworICB9OworCisgIHpvb20uY2xpY2tEaXN0YW5jZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChjbGlja0Rpc3RhbmNlMiA9IChfID0gK18pICogXywg
em9vbSkgOiBNYXRoLnNxcnQoY2xpY2tEaXN0YW5jZTIpOworICB9OworCisgIHJldHVybiB6b29t
OworfQorCitleHBvcnRzLkZvcm1hdFNwZWNpZmllciA9IEZvcm1hdFNwZWNpZmllcjsKK2V4cG9y
dHMuYWN0aXZlID0gYWN0aXZlOworZXhwb3J0cy5hcmMgPSBhcmM7CitleHBvcnRzLmFyZWEgPSBh
cmVhJDM7CitleHBvcnRzLmFyZWFSYWRpYWwgPSBhcmVhUmFkaWFsOworZXhwb3J0cy5hc2NlbmRp
bmcgPSBhc2NlbmRpbmc7CitleHBvcnRzLmF1dG9UeXBlID0gYXV0b1R5cGU7CitleHBvcnRzLmF4
aXNCb3R0b20gPSBheGlzQm90dG9tOworZXhwb3J0cy5heGlzTGVmdCA9IGF4aXNMZWZ0OworZXhw
b3J0cy5heGlzUmlnaHQgPSBheGlzUmlnaHQ7CitleHBvcnRzLmF4aXNUb3AgPSBheGlzVG9wOwor
ZXhwb3J0cy5iaXNlY3QgPSBiaXNlY3RSaWdodDsKK2V4cG9ydHMuYmlzZWN0TGVmdCA9IGJpc2Vj
dExlZnQ7CitleHBvcnRzLmJpc2VjdFJpZ2h0ID0gYmlzZWN0UmlnaHQ7CitleHBvcnRzLmJpc2Vj
dG9yID0gYmlzZWN0b3I7CitleHBvcnRzLmJsb2IgPSBibG9iOworZXhwb3J0cy5icnVzaCA9IGJy
dXNoOworZXhwb3J0cy5icnVzaFNlbGVjdGlvbiA9IGJydXNoU2VsZWN0aW9uOworZXhwb3J0cy5i
cnVzaFggPSBicnVzaFg7CitleHBvcnRzLmJydXNoWSA9IGJydXNoWTsKK2V4cG9ydHMuYnVmZmVy
ID0gYnVmZmVyOworZXhwb3J0cy5jaG9yZCA9IGNob3JkOworZXhwb3J0cy5jbGllbnRQb2ludCA9
IHBvaW50OworZXhwb3J0cy5jbHVzdGVyID0gY2x1c3RlcjsKK2V4cG9ydHMuY29sb3IgPSBjb2xv
cjsKK2V4cG9ydHMuY29udG91ckRlbnNpdHkgPSBkZW5zaXR5OworZXhwb3J0cy5jb250b3VycyA9
IGNvbnRvdXJzOworZXhwb3J0cy5jcmVhdGUgPSBjcmVhdGU7CitleHBvcnRzLmNyZWF0b3IgPSBj
cmVhdG9yOworZXhwb3J0cy5jcm9zcyA9IGNyb3NzOworZXhwb3J0cy5jc3YgPSBjc3YkMTsKK2V4
cG9ydHMuY3N2Rm9ybWF0ID0gY3N2Rm9ybWF0OworZXhwb3J0cy5jc3ZGb3JtYXRCb2R5ID0gY3N2
Rm9ybWF0Qm9keTsKK2V4cG9ydHMuY3N2Rm9ybWF0Um93ID0gY3N2Rm9ybWF0Um93OworZXhwb3J0
cy5jc3ZGb3JtYXRSb3dzID0gY3N2Rm9ybWF0Um93czsKK2V4cG9ydHMuY3N2Rm9ybWF0VmFsdWUg
PSBjc3ZGb3JtYXRWYWx1ZTsKK2V4cG9ydHMuY3N2UGFyc2UgPSBjc3ZQYXJzZTsKK2V4cG9ydHMu
Y3N2UGFyc2VSb3dzID0gY3N2UGFyc2VSb3dzOworZXhwb3J0cy5jdWJlaGVsaXggPSBjdWJlaGVs
aXg7CitleHBvcnRzLmN1cnZlQmFzaXMgPSBiYXNpcyQyOworZXhwb3J0cy5jdXJ2ZUJhc2lzQ2xv
c2VkID0gYmFzaXNDbG9zZWQkMTsKK2V4cG9ydHMuY3VydmVCYXNpc09wZW4gPSBiYXNpc09wZW47
CitleHBvcnRzLmN1cnZlQnVuZGxlID0gYnVuZGxlOworZXhwb3J0cy5jdXJ2ZUNhcmRpbmFsID0g
Y2FyZGluYWw7CitleHBvcnRzLmN1cnZlQ2FyZGluYWxDbG9zZWQgPSBjYXJkaW5hbENsb3NlZDsK
K2V4cG9ydHMuY3VydmVDYXJkaW5hbE9wZW4gPSBjYXJkaW5hbE9wZW47CitleHBvcnRzLmN1cnZl
Q2F0bXVsbFJvbSA9IGNhdG11bGxSb207CitleHBvcnRzLmN1cnZlQ2F0bXVsbFJvbUNsb3NlZCA9
IGNhdG11bGxSb21DbG9zZWQ7CitleHBvcnRzLmN1cnZlQ2F0bXVsbFJvbU9wZW4gPSBjYXRtdWxs
Um9tT3BlbjsKK2V4cG9ydHMuY3VydmVMaW5lYXIgPSBjdXJ2ZUxpbmVhcjsKK2V4cG9ydHMuY3Vy
dmVMaW5lYXJDbG9zZWQgPSBsaW5lYXJDbG9zZWQ7CitleHBvcnRzLmN1cnZlTW9ub3RvbmVYID0g
bW9ub3RvbmVYOworZXhwb3J0cy5jdXJ2ZU1vbm90b25lWSA9IG1vbm90b25lWTsKK2V4cG9ydHMu
Y3VydmVOYXR1cmFsID0gbmF0dXJhbDsKK2V4cG9ydHMuY3VydmVTdGVwID0gc3RlcDsKK2V4cG9y
dHMuY3VydmVTdGVwQWZ0ZXIgPSBzdGVwQWZ0ZXI7CitleHBvcnRzLmN1cnZlU3RlcEJlZm9yZSA9
IHN0ZXBCZWZvcmU7CitleHBvcnRzLmN1c3RvbUV2ZW50ID0gY3VzdG9tRXZlbnQ7CitleHBvcnRz
LmRlc2NlbmRpbmcgPSBkZXNjZW5kaW5nOworZXhwb3J0cy5kZXZpYXRpb24gPSBkZXZpYXRpb247
CitleHBvcnRzLmRpc3BhdGNoID0gZGlzcGF0Y2g7CitleHBvcnRzLmRyYWcgPSBkcmFnOworZXhw
b3J0cy5kcmFnRGlzYWJsZSA9IGRyYWdEaXNhYmxlOworZXhwb3J0cy5kcmFnRW5hYmxlID0geWVz
ZHJhZzsKK2V4cG9ydHMuZHN2ID0gZHN2OworZXhwb3J0cy5kc3ZGb3JtYXQgPSBkc3ZGb3JtYXQ7
CitleHBvcnRzLmVhc2VCYWNrID0gYmFja0luT3V0OworZXhwb3J0cy5lYXNlQmFja0luID0gYmFj
a0luOworZXhwb3J0cy5lYXNlQmFja0luT3V0ID0gYmFja0luT3V0OworZXhwb3J0cy5lYXNlQmFj
a091dCA9IGJhY2tPdXQ7CitleHBvcnRzLmVhc2VCb3VuY2UgPSBib3VuY2VPdXQ7CitleHBvcnRz
LmVhc2VCb3VuY2VJbiA9IGJvdW5jZUluOworZXhwb3J0cy5lYXNlQm91bmNlSW5PdXQgPSBib3Vu
Y2VJbk91dDsKK2V4cG9ydHMuZWFzZUJvdW5jZU91dCA9IGJvdW5jZU91dDsKK2V4cG9ydHMuZWFz
ZUNpcmNsZSA9IGNpcmNsZUluT3V0OworZXhwb3J0cy5lYXNlQ2lyY2xlSW4gPSBjaXJjbGVJbjsK
K2V4cG9ydHMuZWFzZUNpcmNsZUluT3V0ID0gY2lyY2xlSW5PdXQ7CitleHBvcnRzLmVhc2VDaXJj
bGVPdXQgPSBjaXJjbGVPdXQ7CitleHBvcnRzLmVhc2VDdWJpYyA9IGN1YmljSW5PdXQ7CitleHBv
cnRzLmVhc2VDdWJpY0luID0gY3ViaWNJbjsKK2V4cG9ydHMuZWFzZUN1YmljSW5PdXQgPSBjdWJp
Y0luT3V0OworZXhwb3J0cy5lYXNlQ3ViaWNPdXQgPSBjdWJpY091dDsKK2V4cG9ydHMuZWFzZUVs
YXN0aWMgPSBlbGFzdGljT3V0OworZXhwb3J0cy5lYXNlRWxhc3RpY0luID0gZWxhc3RpY0luOwor
ZXhwb3J0cy5lYXNlRWxhc3RpY0luT3V0ID0gZWxhc3RpY0luT3V0OworZXhwb3J0cy5lYXNlRWxh
c3RpY091dCA9IGVsYXN0aWNPdXQ7CitleHBvcnRzLmVhc2VFeHAgPSBleHBJbk91dDsKK2V4cG9y
dHMuZWFzZUV4cEluID0gZXhwSW47CitleHBvcnRzLmVhc2VFeHBJbk91dCA9IGV4cEluT3V0Owor
ZXhwb3J0cy5lYXNlRXhwT3V0ID0gZXhwT3V0OworZXhwb3J0cy5lYXNlTGluZWFyID0gbGluZWFy
JDE7CitleHBvcnRzLmVhc2VQb2x5ID0gcG9seUluT3V0OworZXhwb3J0cy5lYXNlUG9seUluID0g
cG9seUluOworZXhwb3J0cy5lYXNlUG9seUluT3V0ID0gcG9seUluT3V0OworZXhwb3J0cy5lYXNl
UG9seU91dCA9IHBvbHlPdXQ7CitleHBvcnRzLmVhc2VRdWFkID0gcXVhZEluT3V0OworZXhwb3J0
cy5lYXNlUXVhZEluID0gcXVhZEluOworZXhwb3J0cy5lYXNlUXVhZEluT3V0ID0gcXVhZEluT3V0
OworZXhwb3J0cy5lYXNlUXVhZE91dCA9IHF1YWRPdXQ7CitleHBvcnRzLmVhc2VTaW4gPSBzaW5J
bk91dDsKK2V4cG9ydHMuZWFzZVNpbkluID0gc2luSW47CitleHBvcnRzLmVhc2VTaW5Jbk91dCA9
IHNpbkluT3V0OworZXhwb3J0cy5lYXNlU2luT3V0ID0gc2luT3V0OworZXhwb3J0cy5lbnRyaWVz
ID0gZW50cmllczsKK2V4cG9ydHMuZXh0ZW50ID0gZXh0ZW50OworZXhwb3J0cy5mb3JjZUNlbnRl
ciA9IGNlbnRlciQxOworZXhwb3J0cy5mb3JjZUNvbGxpZGUgPSBjb2xsaWRlOworZXhwb3J0cy5m
b3JjZUxpbmsgPSBsaW5rOworZXhwb3J0cy5mb3JjZU1hbnlCb2R5ID0gbWFueUJvZHk7CitleHBv
cnRzLmZvcmNlUmFkaWFsID0gcmFkaWFsOworZXhwb3J0cy5mb3JjZVNpbXVsYXRpb24gPSBzaW11
bGF0aW9uOworZXhwb3J0cy5mb3JjZVggPSB4JDI7CitleHBvcnRzLmZvcmNlWSA9IHkkMjsKK2V4
cG9ydHMuZm9ybWF0RGVmYXVsdExvY2FsZSA9IGRlZmF1bHRMb2NhbGU7CitleHBvcnRzLmZvcm1h
dExvY2FsZSA9IGZvcm1hdExvY2FsZTsKK2V4cG9ydHMuZm9ybWF0U3BlY2lmaWVyID0gZm9ybWF0
U3BlY2lmaWVyOworZXhwb3J0cy5nZW9BbGJlcnMgPSBhbGJlcnM7CitleHBvcnRzLmdlb0FsYmVy
c1VzYSA9IGFsYmVyc1VzYTsKK2V4cG9ydHMuZ2VvQXJlYSA9IGFyZWEkMTsKK2V4cG9ydHMuZ2Vv
QXppbXV0aGFsRXF1YWxBcmVhID0gYXppbXV0aGFsRXF1YWxBcmVhOworZXhwb3J0cy5nZW9Bemlt
dXRoYWxFcXVhbEFyZWFSYXcgPSBhemltdXRoYWxFcXVhbEFyZWFSYXc7CitleHBvcnRzLmdlb0F6
aW11dGhhbEVxdWlkaXN0YW50ID0gYXppbXV0aGFsRXF1aWRpc3RhbnQ7CitleHBvcnRzLmdlb0F6
aW11dGhhbEVxdWlkaXN0YW50UmF3ID0gYXppbXV0aGFsRXF1aWRpc3RhbnRSYXc7CitleHBvcnRz
Lmdlb0JvdW5kcyA9IGJvdW5kczsKK2V4cG9ydHMuZ2VvQ2VudHJvaWQgPSBjZW50cm9pZDsKK2V4
cG9ydHMuZ2VvQ2lyY2xlID0gY2lyY2xlOworZXhwb3J0cy5nZW9DbGlwQW50aW1lcmlkaWFuID0g
Y2xpcEFudGltZXJpZGlhbjsKK2V4cG9ydHMuZ2VvQ2xpcENpcmNsZSA9IGNsaXBDaXJjbGU7Citl
eHBvcnRzLmdlb0NsaXBFeHRlbnQgPSBleHRlbnQkMTsKK2V4cG9ydHMuZ2VvQ2xpcFJlY3Rhbmds
ZSA9IGNsaXBSZWN0YW5nbGU7CitleHBvcnRzLmdlb0NvbmljQ29uZm9ybWFsID0gY29uaWNDb25m
b3JtYWw7CitleHBvcnRzLmdlb0NvbmljQ29uZm9ybWFsUmF3ID0gY29uaWNDb25mb3JtYWxSYXc7
CitleHBvcnRzLmdlb0NvbmljRXF1YWxBcmVhID0gY29uaWNFcXVhbEFyZWE7CitleHBvcnRzLmdl
b0NvbmljRXF1YWxBcmVhUmF3ID0gY29uaWNFcXVhbEFyZWFSYXc7CitleHBvcnRzLmdlb0Nvbmlj
RXF1aWRpc3RhbnQgPSBjb25pY0VxdWlkaXN0YW50OworZXhwb3J0cy5nZW9Db25pY0VxdWlkaXN0
YW50UmF3ID0gY29uaWNFcXVpZGlzdGFudFJhdzsKK2V4cG9ydHMuZ2VvQ29udGFpbnMgPSBjb250
YWlucyQxOworZXhwb3J0cy5nZW9EaXN0YW5jZSA9IGRpc3RhbmNlOworZXhwb3J0cy5nZW9FcXVh
bEVhcnRoID0gZXF1YWxFYXJ0aDsKK2V4cG9ydHMuZ2VvRXF1YWxFYXJ0aFJhdyA9IGVxdWFsRWFy
dGhSYXc7CitleHBvcnRzLmdlb0VxdWlyZWN0YW5ndWxhciA9IGVxdWlyZWN0YW5ndWxhcjsKK2V4
cG9ydHMuZ2VvRXF1aXJlY3Rhbmd1bGFyUmF3ID0gZXF1aXJlY3Rhbmd1bGFyUmF3OworZXhwb3J0
cy5nZW9Hbm9tb25pYyA9IGdub21vbmljOworZXhwb3J0cy5nZW9Hbm9tb25pY1JhdyA9IGdub21v
bmljUmF3OworZXhwb3J0cy5nZW9HcmF0aWN1bGUgPSBncmF0aWN1bGU7CitleHBvcnRzLmdlb0dy
YXRpY3VsZTEwID0gZ3JhdGljdWxlMTA7CitleHBvcnRzLmdlb0lkZW50aXR5ID0gaWRlbnRpdHkk
NTsKK2V4cG9ydHMuZ2VvSW50ZXJwb2xhdGUgPSBpbnRlcnBvbGF0ZSQxOworZXhwb3J0cy5nZW9M
ZW5ndGggPSBsZW5ndGgkMTsKK2V4cG9ydHMuZ2VvTWVyY2F0b3IgPSBtZXJjYXRvcjsKK2V4cG9y
dHMuZ2VvTWVyY2F0b3JSYXcgPSBtZXJjYXRvclJhdzsKK2V4cG9ydHMuZ2VvTmF0dXJhbEVhcnRo
MSA9IG5hdHVyYWxFYXJ0aDE7CitleHBvcnRzLmdlb05hdHVyYWxFYXJ0aDFSYXcgPSBuYXR1cmFs
RWFydGgxUmF3OworZXhwb3J0cy5nZW9PcnRob2dyYXBoaWMgPSBvcnRob2dyYXBoaWM7CitleHBv
cnRzLmdlb09ydGhvZ3JhcGhpY1JhdyA9IG9ydGhvZ3JhcGhpY1JhdzsKK2V4cG9ydHMuZ2VvUGF0
aCA9IGluZGV4JDE7CitleHBvcnRzLmdlb1Byb2plY3Rpb24gPSBwcm9qZWN0aW9uOworZXhwb3J0
cy5nZW9Qcm9qZWN0aW9uTXV0YXRvciA9IHByb2plY3Rpb25NdXRhdG9yOworZXhwb3J0cy5nZW9S
b3RhdGlvbiA9IHJvdGF0aW9uOworZXhwb3J0cy5nZW9TdGVyZW9ncmFwaGljID0gc3RlcmVvZ3Jh
cGhpYzsKK2V4cG9ydHMuZ2VvU3RlcmVvZ3JhcGhpY1JhdyA9IHN0ZXJlb2dyYXBoaWNSYXc7Citl
eHBvcnRzLmdlb1N0cmVhbSA9IGdlb1N0cmVhbTsKK2V4cG9ydHMuZ2VvVHJhbnNmb3JtID0gdHJh
bnNmb3JtOworZXhwb3J0cy5nZW9UcmFuc3ZlcnNlTWVyY2F0b3IgPSB0cmFuc3ZlcnNlTWVyY2F0
b3I7CitleHBvcnRzLmdlb1RyYW5zdmVyc2VNZXJjYXRvclJhdyA9IHRyYW5zdmVyc2VNZXJjYXRv
clJhdzsKK2V4cG9ydHMuZ3JheSA9IGdyYXk7CitleHBvcnRzLmhjbCA9IGhjbDsKK2V4cG9ydHMu
aGllcmFyY2h5ID0gaGllcmFyY2h5OworZXhwb3J0cy5oaXN0b2dyYW0gPSBoaXN0b2dyYW07Citl
eHBvcnRzLmhzbCA9IGhzbDsKK2V4cG9ydHMuaHRtbCA9IGh0bWw7CitleHBvcnRzLmltYWdlID0g
aW1hZ2U7CitleHBvcnRzLmludGVycG9sYXRlID0gaW50ZXJwb2xhdGVWYWx1ZTsKK2V4cG9ydHMu
aW50ZXJwb2xhdGVBcnJheSA9IGFycmF5JDE7CitleHBvcnRzLmludGVycG9sYXRlQmFzaXMgPSBi
YXNpcyQxOworZXhwb3J0cy5pbnRlcnBvbGF0ZUJhc2lzQ2xvc2VkID0gYmFzaXNDbG9zZWQ7Citl
eHBvcnRzLmludGVycG9sYXRlQmx1ZXMgPSBCbHVlczsKK2V4cG9ydHMuaW50ZXJwb2xhdGVCckJH
ID0gQnJCRzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVCdUduID0gQnVHbjsKK2V4cG9ydHMuaW50ZXJw
b2xhdGVCdVB1ID0gQnVQdTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVDaXZpZGlzID0gY2l2aWRpczsK
K2V4cG9ydHMuaW50ZXJwb2xhdGVDb29sID0gY29vbDsKK2V4cG9ydHMuaW50ZXJwb2xhdGVDdWJl
aGVsaXggPSBjdWJlaGVsaXgkMjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVDdWJlaGVsaXhEZWZhdWx0
ID0gY3ViZWhlbGl4JDM7CitleHBvcnRzLmludGVycG9sYXRlQ3ViZWhlbGl4TG9uZyA9IGN1YmVo
ZWxpeExvbmc7CitleHBvcnRzLmludGVycG9sYXRlRGF0ZSA9IGRhdGU7CitleHBvcnRzLmludGVy
cG9sYXRlRGlzY3JldGUgPSBkaXNjcmV0ZTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVHbkJ1ID0gR25C
dTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVHcmVlbnMgPSBHcmVlbnM7CitleHBvcnRzLmludGVycG9s
YXRlR3JleXMgPSBHcmV5czsKK2V4cG9ydHMuaW50ZXJwb2xhdGVIY2wgPSBoY2wkMjsKK2V4cG9y
dHMuaW50ZXJwb2xhdGVIY2xMb25nID0gaGNsTG9uZzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVIc2wg
PSBoc2wkMjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVIc2xMb25nID0gaHNsTG9uZzsKK2V4cG9ydHMu
aW50ZXJwb2xhdGVIdWUgPSBodWUkMTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVJbmZlcm5vID0gaW5m
ZXJubzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVMYWIgPSBsYWIkMTsKK2V4cG9ydHMuaW50ZXJwb2xh
dGVNYWdtYSA9IG1hZ21hOworZXhwb3J0cy5pbnRlcnBvbGF0ZU51bWJlciA9IGludGVycG9sYXRl
TnVtYmVyOworZXhwb3J0cy5pbnRlcnBvbGF0ZU9iamVjdCA9IG9iamVjdDsKK2V4cG9ydHMuaW50
ZXJwb2xhdGVPclJkID0gT3JSZDsKK2V4cG9ydHMuaW50ZXJwb2xhdGVPcmFuZ2VzID0gT3Jhbmdl
czsKK2V4cG9ydHMuaW50ZXJwb2xhdGVQUkduID0gUFJHbjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVQ
aVlHID0gUGlZRzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVQbGFzbWEgPSBwbGFzbWE7CitleHBvcnRz
LmludGVycG9sYXRlUHVCdSA9IFB1QnU7CitleHBvcnRzLmludGVycG9sYXRlUHVCdUduID0gUHVC
dUduOworZXhwb3J0cy5pbnRlcnBvbGF0ZVB1T3IgPSBQdU9yOworZXhwb3J0cy5pbnRlcnBvbGF0
ZVB1UmQgPSBQdVJkOworZXhwb3J0cy5pbnRlcnBvbGF0ZVB1cnBsZXMgPSBQdXJwbGVzOworZXhw
b3J0cy5pbnRlcnBvbGF0ZVJhaW5ib3cgPSByYWluYm93OworZXhwb3J0cy5pbnRlcnBvbGF0ZVJk
QnUgPSBSZEJ1OworZXhwb3J0cy5pbnRlcnBvbGF0ZVJkR3kgPSBSZEd5OworZXhwb3J0cy5pbnRl
cnBvbGF0ZVJkUHUgPSBSZFB1OworZXhwb3J0cy5pbnRlcnBvbGF0ZVJkWWxCdSA9IFJkWWxCdTsK
K2V4cG9ydHMuaW50ZXJwb2xhdGVSZFlsR24gPSBSZFlsR247CitleHBvcnRzLmludGVycG9sYXRl
UmVkcyA9IFJlZHM7CitleHBvcnRzLmludGVycG9sYXRlUmdiID0gaW50ZXJwb2xhdGVSZ2I7Citl
eHBvcnRzLmludGVycG9sYXRlUmdiQmFzaXMgPSByZ2JCYXNpczsKK2V4cG9ydHMuaW50ZXJwb2xh
dGVSZ2JCYXNpc0Nsb3NlZCA9IHJnYkJhc2lzQ2xvc2VkOworZXhwb3J0cy5pbnRlcnBvbGF0ZVJv
dW5kID0gaW50ZXJwb2xhdGVSb3VuZDsKK2V4cG9ydHMuaW50ZXJwb2xhdGVTaW5lYm93ID0gc2lu
ZWJvdzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVTcGVjdHJhbCA9IFNwZWN0cmFsOworZXhwb3J0cy5p
bnRlcnBvbGF0ZVN0cmluZyA9IGludGVycG9sYXRlU3RyaW5nOworZXhwb3J0cy5pbnRlcnBvbGF0
ZVRyYW5zZm9ybUNzcyA9IGludGVycG9sYXRlVHJhbnNmb3JtQ3NzOworZXhwb3J0cy5pbnRlcnBv
bGF0ZVRyYW5zZm9ybVN2ZyA9IGludGVycG9sYXRlVHJhbnNmb3JtU3ZnOworZXhwb3J0cy5pbnRl
cnBvbGF0ZVR1cmJvID0gdHVyYm87CitleHBvcnRzLmludGVycG9sYXRlVmlyaWRpcyA9IHZpcmlk
aXM7CitleHBvcnRzLmludGVycG9sYXRlV2FybSA9IHdhcm07CitleHBvcnRzLmludGVycG9sYXRl
WWxHbiA9IFlsR247CitleHBvcnRzLmludGVycG9sYXRlWWxHbkJ1ID0gWWxHbkJ1OworZXhwb3J0
cy5pbnRlcnBvbGF0ZVlsT3JCciA9IFlsT3JCcjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVZbE9yUmQg
PSBZbE9yUmQ7CitleHBvcnRzLmludGVycG9sYXRlWm9vbSA9IGludGVycG9sYXRlWm9vbTsKK2V4
cG9ydHMuaW50ZXJydXB0ID0gaW50ZXJydXB0OworZXhwb3J0cy5pbnRlcnZhbCA9IGludGVydmFs
JDE7CitleHBvcnRzLmlzb0Zvcm1hdCA9IGZvcm1hdElzbzsKK2V4cG9ydHMuaXNvUGFyc2UgPSBw
YXJzZUlzbzsKK2V4cG9ydHMuanNvbiA9IGpzb247CitleHBvcnRzLmtleXMgPSBrZXlzOworZXhw
b3J0cy5sYWIgPSBsYWI7CitleHBvcnRzLmxjaCA9IGxjaDsKK2V4cG9ydHMubGluZSA9IGxpbmU7
CitleHBvcnRzLmxpbmVSYWRpYWwgPSBsaW5lUmFkaWFsJDE7CitleHBvcnRzLmxpbmtIb3Jpem9u
dGFsID0gbGlua0hvcml6b250YWw7CitleHBvcnRzLmxpbmtSYWRpYWwgPSBsaW5rUmFkaWFsOwor
ZXhwb3J0cy5saW5rVmVydGljYWwgPSBsaW5rVmVydGljYWw7CitleHBvcnRzLmxvY2FsID0gbG9j
YWw7CitleHBvcnRzLm1hcCA9IG1hcCQxOworZXhwb3J0cy5tYXRjaGVyID0gbWF0Y2hlcjsKK2V4
cG9ydHMubWF4ID0gbWF4OworZXhwb3J0cy5tZWFuID0gbWVhbjsKK2V4cG9ydHMubWVkaWFuID0g
bWVkaWFuOworZXhwb3J0cy5tZXJnZSA9IG1lcmdlOworZXhwb3J0cy5taW4gPSBtaW47CitleHBv
cnRzLm1vdXNlID0gbW91c2U7CitleHBvcnRzLm5hbWVzcGFjZSA9IG5hbWVzcGFjZTsKK2V4cG9y
dHMubmFtZXNwYWNlcyA9IG5hbWVzcGFjZXM7CitleHBvcnRzLm5lc3QgPSBuZXN0OworZXhwb3J0
cy5ub3cgPSBub3c7CitleHBvcnRzLnBhY2sgPSBpbmRleCQyOworZXhwb3J0cy5wYWNrRW5jbG9z
ZSA9IGVuY2xvc2U7CitleHBvcnRzLnBhY2tTaWJsaW5ncyA9IHNpYmxpbmdzOworZXhwb3J0cy5w
YWlycyA9IHBhaXJzOworZXhwb3J0cy5wYXJ0aXRpb24gPSBwYXJ0aXRpb247CitleHBvcnRzLnBh
dGggPSBwYXRoOworZXhwb3J0cy5wZXJtdXRlID0gcGVybXV0ZTsKK2V4cG9ydHMucGllID0gcGll
OworZXhwb3J0cy5waWVjZXdpc2UgPSBwaWVjZXdpc2U7CitleHBvcnRzLnBvaW50UmFkaWFsID0g
cG9pbnRSYWRpYWw7CitleHBvcnRzLnBvbHlnb25BcmVhID0gYXJlYSQyOworZXhwb3J0cy5wb2x5
Z29uQ2VudHJvaWQgPSBjZW50cm9pZCQxOworZXhwb3J0cy5wb2x5Z29uQ29udGFpbnMgPSBjb250
YWlucyQyOworZXhwb3J0cy5wb2x5Z29uSHVsbCA9IGh1bGw7CitleHBvcnRzLnBvbHlnb25MZW5n
dGggPSBsZW5ndGgkMjsKK2V4cG9ydHMucHJlY2lzaW9uRml4ZWQgPSBwcmVjaXNpb25GaXhlZDsK
K2V4cG9ydHMucHJlY2lzaW9uUHJlZml4ID0gcHJlY2lzaW9uUHJlZml4OworZXhwb3J0cy5wcmVj
aXNpb25Sb3VuZCA9IHByZWNpc2lvblJvdW5kOworZXhwb3J0cy5xdWFkdHJlZSA9IHF1YWR0cmVl
OworZXhwb3J0cy5xdWFudGlsZSA9IHRocmVzaG9sZDsKK2V4cG9ydHMucXVhbnRpemUgPSBxdWFu
dGl6ZTsKK2V4cG9ydHMucmFkaWFsQXJlYSA9IGFyZWFSYWRpYWw7CitleHBvcnRzLnJhZGlhbExp
bmUgPSBsaW5lUmFkaWFsJDE7CitleHBvcnRzLnJhbmRvbUJhdGVzID0gYmF0ZXM7CitleHBvcnRz
LnJhbmRvbUV4cG9uZW50aWFsID0gZXhwb25lbnRpYWwkMTsKK2V4cG9ydHMucmFuZG9tSXJ3aW5I
YWxsID0gaXJ3aW5IYWxsOworZXhwb3J0cy5yYW5kb21Mb2dOb3JtYWwgPSBsb2dOb3JtYWw7Citl
eHBvcnRzLnJhbmRvbU5vcm1hbCA9IG5vcm1hbDsKK2V4cG9ydHMucmFuZG9tVW5pZm9ybSA9IHVu
aWZvcm07CitleHBvcnRzLnJhbmdlID0gc2VxdWVuY2U7CitleHBvcnRzLnJnYiA9IHJnYjsKK2V4
cG9ydHMucmliYm9uID0gcmliYm9uOworZXhwb3J0cy5zY2FsZUJhbmQgPSBiYW5kOworZXhwb3J0
cy5zY2FsZURpdmVyZ2luZyA9IGRpdmVyZ2luZzsKK2V4cG9ydHMuc2NhbGVEaXZlcmdpbmdMb2cg
PSBkaXZlcmdpbmdMb2c7CitleHBvcnRzLnNjYWxlRGl2ZXJnaW5nUG93ID0gZGl2ZXJnaW5nUG93
OworZXhwb3J0cy5zY2FsZURpdmVyZ2luZ1NxcnQgPSBkaXZlcmdpbmdTcXJ0OworZXhwb3J0cy5z
Y2FsZURpdmVyZ2luZ1N5bWxvZyA9IGRpdmVyZ2luZ1N5bWxvZzsKK2V4cG9ydHMuc2NhbGVJZGVu
dGl0eSA9IGlkZW50aXR5JDc7CitleHBvcnRzLnNjYWxlSW1wbGljaXQgPSBpbXBsaWNpdDsKK2V4
cG9ydHMuc2NhbGVMaW5lYXIgPSBsaW5lYXIkMjsKK2V4cG9ydHMuc2NhbGVMb2cgPSBsb2ckMTsK
K2V4cG9ydHMuc2NhbGVPcmRpbmFsID0gb3JkaW5hbDsKK2V4cG9ydHMuc2NhbGVQb2ludCA9IHBv
aW50JDE7CitleHBvcnRzLnNjYWxlUG93ID0gcG93JDE7CitleHBvcnRzLnNjYWxlUXVhbnRpbGUg
PSBxdWFudGlsZTsKK2V4cG9ydHMuc2NhbGVRdWFudGl6ZSA9IHF1YW50aXplJDE7CitleHBvcnRz
LnNjYWxlU2VxdWVudGlhbCA9IHNlcXVlbnRpYWw7CitleHBvcnRzLnNjYWxlU2VxdWVudGlhbExv
ZyA9IHNlcXVlbnRpYWxMb2c7CitleHBvcnRzLnNjYWxlU2VxdWVudGlhbFBvdyA9IHNlcXVlbnRp
YWxQb3c7CitleHBvcnRzLnNjYWxlU2VxdWVudGlhbFF1YW50aWxlID0gc2VxdWVudGlhbFF1YW50
aWxlOworZXhwb3J0cy5zY2FsZVNlcXVlbnRpYWxTcXJ0ID0gc2VxdWVudGlhbFNxcnQ7CitleHBv
cnRzLnNjYWxlU2VxdWVudGlhbFN5bWxvZyA9IHNlcXVlbnRpYWxTeW1sb2c7CitleHBvcnRzLnNj
YWxlU3FydCA9IHNxcnQkMTsKK2V4cG9ydHMuc2NhbGVTeW1sb2cgPSBzeW1sb2c7CitleHBvcnRz
LnNjYWxlVGhyZXNob2xkID0gdGhyZXNob2xkJDE7CitleHBvcnRzLnNjYWxlVGltZSA9IHRpbWU7
CitleHBvcnRzLnNjYWxlVXRjID0gdXRjVGltZTsKK2V4cG9ydHMuc2NhbiA9IHNjYW47CitleHBv
cnRzLnNjaGVtZUFjY2VudCA9IEFjY2VudDsKK2V4cG9ydHMuc2NoZW1lQmx1ZXMgPSBzY2hlbWUk
bDsKK2V4cG9ydHMuc2NoZW1lQnJCRyA9IHNjaGVtZTsKK2V4cG9ydHMuc2NoZW1lQnVHbiA9IHNj
aGVtZSQ5OworZXhwb3J0cy5zY2hlbWVCdVB1ID0gc2NoZW1lJGE7CitleHBvcnRzLnNjaGVtZUNh
dGVnb3J5MTAgPSBjYXRlZ29yeTEwOworZXhwb3J0cy5zY2hlbWVEYXJrMiA9IERhcmsyOworZXhw
b3J0cy5zY2hlbWVHbkJ1ID0gc2NoZW1lJGI7CitleHBvcnRzLnNjaGVtZUdyZWVucyA9IHNjaGVt
ZSRtOworZXhwb3J0cy5zY2hlbWVHcmV5cyA9IHNjaGVtZSRuOworZXhwb3J0cy5zY2hlbWVPclJk
ID0gc2NoZW1lJGM7CitleHBvcnRzLnNjaGVtZU9yYW5nZXMgPSBzY2hlbWUkcTsKK2V4cG9ydHMu
c2NoZW1lUFJHbiA9IHNjaGVtZSQxOworZXhwb3J0cy5zY2hlbWVQYWlyZWQgPSBQYWlyZWQ7Citl
eHBvcnRzLnNjaGVtZVBhc3RlbDEgPSBQYXN0ZWwxOworZXhwb3J0cy5zY2hlbWVQYXN0ZWwyID0g
UGFzdGVsMjsKK2V4cG9ydHMuc2NoZW1lUGlZRyA9IHNjaGVtZSQyOworZXhwb3J0cy5zY2hlbWVQ
dUJ1ID0gc2NoZW1lJGU7CitleHBvcnRzLnNjaGVtZVB1QnVHbiA9IHNjaGVtZSRkOworZXhwb3J0
cy5zY2hlbWVQdU9yID0gc2NoZW1lJDM7CitleHBvcnRzLnNjaGVtZVB1UmQgPSBzY2hlbWUkZjsK
K2V4cG9ydHMuc2NoZW1lUHVycGxlcyA9IHNjaGVtZSRvOworZXhwb3J0cy5zY2hlbWVSZEJ1ID0g
c2NoZW1lJDQ7CitleHBvcnRzLnNjaGVtZVJkR3kgPSBzY2hlbWUkNTsKK2V4cG9ydHMuc2NoZW1l
UmRQdSA9IHNjaGVtZSRnOworZXhwb3J0cy5zY2hlbWVSZFlsQnUgPSBzY2hlbWUkNjsKK2V4cG9y
dHMuc2NoZW1lUmRZbEduID0gc2NoZW1lJDc7CitleHBvcnRzLnNjaGVtZVJlZHMgPSBzY2hlbWUk
cDsKK2V4cG9ydHMuc2NoZW1lU2V0MSA9IFNldDE7CitleHBvcnRzLnNjaGVtZVNldDIgPSBTZXQy
OworZXhwb3J0cy5zY2hlbWVTZXQzID0gU2V0MzsKK2V4cG9ydHMuc2NoZW1lU3BlY3RyYWwgPSBz
Y2hlbWUkODsKK2V4cG9ydHMuc2NoZW1lVGFibGVhdTEwID0gVGFibGVhdTEwOworZXhwb3J0cy5z
Y2hlbWVZbEduID0gc2NoZW1lJGk7CitleHBvcnRzLnNjaGVtZVlsR25CdSA9IHNjaGVtZSRoOwor
ZXhwb3J0cy5zY2hlbWVZbE9yQnIgPSBzY2hlbWUkajsKK2V4cG9ydHMuc2NoZW1lWWxPclJkID0g
c2NoZW1lJGs7CitleHBvcnRzLnNlbGVjdCA9IHNlbGVjdDsKK2V4cG9ydHMuc2VsZWN0QWxsID0g
c2VsZWN0QWxsOworZXhwb3J0cy5zZWxlY3Rpb24gPSBzZWxlY3Rpb247CitleHBvcnRzLnNlbGVj
dG9yID0gc2VsZWN0b3I7CitleHBvcnRzLnNlbGVjdG9yQWxsID0gc2VsZWN0b3JBbGw7CitleHBv
cnRzLnNldCA9IHNldCQyOworZXhwb3J0cy5zaHVmZmxlID0gc2h1ZmZsZTsKK2V4cG9ydHMuc3Rh
Y2sgPSBzdGFjazsKK2V4cG9ydHMuc3RhY2tPZmZzZXREaXZlcmdpbmcgPSBkaXZlcmdpbmckMTsK
K2V4cG9ydHMuc3RhY2tPZmZzZXRFeHBhbmQgPSBleHBhbmQ7CitleHBvcnRzLnN0YWNrT2Zmc2V0
Tm9uZSA9IG5vbmUkMTsKK2V4cG9ydHMuc3RhY2tPZmZzZXRTaWxob3VldHRlID0gc2lsaG91ZXR0
ZTsKK2V4cG9ydHMuc3RhY2tPZmZzZXRXaWdnbGUgPSB3aWdnbGU7CitleHBvcnRzLnN0YWNrT3Jk
ZXJBcHBlYXJhbmNlID0gYXBwZWFyYW5jZTsKK2V4cG9ydHMuc3RhY2tPcmRlckFzY2VuZGluZyA9
IGFzY2VuZGluZyQzOworZXhwb3J0cy5zdGFja09yZGVyRGVzY2VuZGluZyA9IGRlc2NlbmRpbmck
MjsKK2V4cG9ydHMuc3RhY2tPcmRlckluc2lkZU91dCA9IGluc2lkZU91dDsKK2V4cG9ydHMuc3Rh
Y2tPcmRlck5vbmUgPSBub25lJDI7CitleHBvcnRzLnN0YWNrT3JkZXJSZXZlcnNlID0gcmV2ZXJz
ZTsKK2V4cG9ydHMuc3RyYXRpZnkgPSBzdHJhdGlmeTsKK2V4cG9ydHMuc3R5bGUgPSBzdHlsZVZh
bHVlOworZXhwb3J0cy5zdW0gPSBzdW07CitleHBvcnRzLnN2ZyA9IHN2ZzsKK2V4cG9ydHMuc3lt
Ym9sID0gc3ltYm9sOworZXhwb3J0cy5zeW1ib2xDaXJjbGUgPSBjaXJjbGUkMjsKK2V4cG9ydHMu
c3ltYm9sQ3Jvc3MgPSBjcm9zcyQyOworZXhwb3J0cy5zeW1ib2xEaWFtb25kID0gZGlhbW9uZDsK
K2V4cG9ydHMuc3ltYm9sU3F1YXJlID0gc3F1YXJlOworZXhwb3J0cy5zeW1ib2xTdGFyID0gc3Rh
cjsKK2V4cG9ydHMuc3ltYm9sVHJpYW5nbGUgPSB0cmlhbmdsZTsKK2V4cG9ydHMuc3ltYm9sV3ll
ID0gd3llOworZXhwb3J0cy5zeW1ib2xzID0gc3ltYm9sczsKK2V4cG9ydHMudGV4dCA9IHRleHQ7
CitleHBvcnRzLnRocmVzaG9sZEZyZWVkbWFuRGlhY29uaXMgPSBmcmVlZG1hbkRpYWNvbmlzOwor
ZXhwb3J0cy50aHJlc2hvbGRTY290dCA9IHNjb3R0OworZXhwb3J0cy50aHJlc2hvbGRTdHVyZ2Vz
ID0gdGhyZXNob2xkU3R1cmdlczsKK2V4cG9ydHMudGlja0Zvcm1hdCA9IHRpY2tGb3JtYXQ7Citl
eHBvcnRzLnRpY2tJbmNyZW1lbnQgPSB0aWNrSW5jcmVtZW50OworZXhwb3J0cy50aWNrU3RlcCA9
IHRpY2tTdGVwOworZXhwb3J0cy50aWNrcyA9IHRpY2tzOworZXhwb3J0cy50aW1lRGF5ID0gZGF5
OworZXhwb3J0cy50aW1lRGF5cyA9IGRheXM7CitleHBvcnRzLnRpbWVGb3JtYXREZWZhdWx0TG9j
YWxlID0gZGVmYXVsdExvY2FsZSQxOworZXhwb3J0cy50aW1lRm9ybWF0TG9jYWxlID0gZm9ybWF0
TG9jYWxlJDE7CitleHBvcnRzLnRpbWVGcmlkYXkgPSBmcmlkYXk7CitleHBvcnRzLnRpbWVGcmlk
YXlzID0gZnJpZGF5czsKK2V4cG9ydHMudGltZUhvdXIgPSBob3VyOworZXhwb3J0cy50aW1lSG91
cnMgPSBob3VyczsKK2V4cG9ydHMudGltZUludGVydmFsID0gbmV3SW50ZXJ2YWw7CitleHBvcnRz
LnRpbWVNaWxsaXNlY29uZCA9IG1pbGxpc2Vjb25kOworZXhwb3J0cy50aW1lTWlsbGlzZWNvbmRz
ID0gbWlsbGlzZWNvbmRzOworZXhwb3J0cy50aW1lTWludXRlID0gbWludXRlOworZXhwb3J0cy50
aW1lTWludXRlcyA9IG1pbnV0ZXM7CitleHBvcnRzLnRpbWVNb25kYXkgPSBtb25kYXk7CitleHBv
cnRzLnRpbWVNb25kYXlzID0gbW9uZGF5czsKK2V4cG9ydHMudGltZU1vbnRoID0gbW9udGg7Citl
eHBvcnRzLnRpbWVNb250aHMgPSBtb250aHM7CitleHBvcnRzLnRpbWVTYXR1cmRheSA9IHNhdHVy
ZGF5OworZXhwb3J0cy50aW1lU2F0dXJkYXlzID0gc2F0dXJkYXlzOworZXhwb3J0cy50aW1lU2Vj
b25kID0gc2Vjb25kOworZXhwb3J0cy50aW1lU2Vjb25kcyA9IHNlY29uZHM7CitleHBvcnRzLnRp
bWVTdW5kYXkgPSBzdW5kYXk7CitleHBvcnRzLnRpbWVTdW5kYXlzID0gc3VuZGF5czsKK2V4cG9y
dHMudGltZVRodXJzZGF5ID0gdGh1cnNkYXk7CitleHBvcnRzLnRpbWVUaHVyc2RheXMgPSB0aHVy
c2RheXM7CitleHBvcnRzLnRpbWVUdWVzZGF5ID0gdHVlc2RheTsKK2V4cG9ydHMudGltZVR1ZXNk
YXlzID0gdHVlc2RheXM7CitleHBvcnRzLnRpbWVXZWRuZXNkYXkgPSB3ZWRuZXNkYXk7CitleHBv
cnRzLnRpbWVXZWRuZXNkYXlzID0gd2VkbmVzZGF5czsKK2V4cG9ydHMudGltZVdlZWsgPSBzdW5k
YXk7CitleHBvcnRzLnRpbWVXZWVrcyA9IHN1bmRheXM7CitleHBvcnRzLnRpbWVZZWFyID0geWVh
cjsKK2V4cG9ydHMudGltZVllYXJzID0geWVhcnM7CitleHBvcnRzLnRpbWVvdXQgPSB0aW1lb3V0
JDE7CitleHBvcnRzLnRpbWVyID0gdGltZXI7CitleHBvcnRzLnRpbWVyRmx1c2ggPSB0aW1lckZs
dXNoOworZXhwb3J0cy50b3VjaCA9IHRvdWNoOworZXhwb3J0cy50b3VjaGVzID0gdG91Y2hlczsK
K2V4cG9ydHMudHJhbnNpdGlvbiA9IHRyYW5zaXRpb247CitleHBvcnRzLnRyYW5zcG9zZSA9IHRy
YW5zcG9zZTsKK2V4cG9ydHMudHJlZSA9IHRyZWU7CitleHBvcnRzLnRyZWVtYXAgPSBpbmRleCQz
OworZXhwb3J0cy50cmVlbWFwQmluYXJ5ID0gYmluYXJ5OworZXhwb3J0cy50cmVlbWFwRGljZSA9
IHRyZWVtYXBEaWNlOworZXhwb3J0cy50cmVlbWFwUmVzcXVhcmlmeSA9IHJlc3F1YXJpZnk7Citl
eHBvcnRzLnRyZWVtYXBTbGljZSA9IHRyZWVtYXBTbGljZTsKK2V4cG9ydHMudHJlZW1hcFNsaWNl
RGljZSA9IHNsaWNlRGljZTsKK2V4cG9ydHMudHJlZW1hcFNxdWFyaWZ5ID0gc3F1YXJpZnk7Citl
eHBvcnRzLnRzdiA9IHRzdiQxOworZXhwb3J0cy50c3ZGb3JtYXQgPSB0c3ZGb3JtYXQ7CitleHBv
cnRzLnRzdkZvcm1hdEJvZHkgPSB0c3ZGb3JtYXRCb2R5OworZXhwb3J0cy50c3ZGb3JtYXRSb3cg
PSB0c3ZGb3JtYXRSb3c7CitleHBvcnRzLnRzdkZvcm1hdFJvd3MgPSB0c3ZGb3JtYXRSb3dzOwor
ZXhwb3J0cy50c3ZGb3JtYXRWYWx1ZSA9IHRzdkZvcm1hdFZhbHVlOworZXhwb3J0cy50c3ZQYXJz
ZSA9IHRzdlBhcnNlOworZXhwb3J0cy50c3ZQYXJzZVJvd3MgPSB0c3ZQYXJzZVJvd3M7CitleHBv
cnRzLnV0Y0RheSA9IHV0Y0RheTsKK2V4cG9ydHMudXRjRGF5cyA9IHV0Y0RheXM7CitleHBvcnRz
LnV0Y0ZyaWRheSA9IHV0Y0ZyaWRheTsKK2V4cG9ydHMudXRjRnJpZGF5cyA9IHV0Y0ZyaWRheXM7
CitleHBvcnRzLnV0Y0hvdXIgPSB1dGNIb3VyOworZXhwb3J0cy51dGNIb3VycyA9IHV0Y0hvdXJz
OworZXhwb3J0cy51dGNNaWxsaXNlY29uZCA9IG1pbGxpc2Vjb25kOworZXhwb3J0cy51dGNNaWxs
aXNlY29uZHMgPSBtaWxsaXNlY29uZHM7CitleHBvcnRzLnV0Y01pbnV0ZSA9IHV0Y01pbnV0ZTsK
K2V4cG9ydHMudXRjTWludXRlcyA9IHV0Y01pbnV0ZXM7CitleHBvcnRzLnV0Y01vbmRheSA9IHV0
Y01vbmRheTsKK2V4cG9ydHMudXRjTW9uZGF5cyA9IHV0Y01vbmRheXM7CitleHBvcnRzLnV0Y01v
bnRoID0gdXRjTW9udGg7CitleHBvcnRzLnV0Y01vbnRocyA9IHV0Y01vbnRoczsKK2V4cG9ydHMu
dXRjU2F0dXJkYXkgPSB1dGNTYXR1cmRheTsKK2V4cG9ydHMudXRjU2F0dXJkYXlzID0gdXRjU2F0
dXJkYXlzOworZXhwb3J0cy51dGNTZWNvbmQgPSBzZWNvbmQ7CitleHBvcnRzLnV0Y1NlY29uZHMg
PSBzZWNvbmRzOworZXhwb3J0cy51dGNTdW5kYXkgPSB1dGNTdW5kYXk7CitleHBvcnRzLnV0Y1N1
bmRheXMgPSB1dGNTdW5kYXlzOworZXhwb3J0cy51dGNUaHVyc2RheSA9IHV0Y1RodXJzZGF5Owor
ZXhwb3J0cy51dGNUaHVyc2RheXMgPSB1dGNUaHVyc2RheXM7CitleHBvcnRzLnV0Y1R1ZXNkYXkg
PSB1dGNUdWVzZGF5OworZXhwb3J0cy51dGNUdWVzZGF5cyA9IHV0Y1R1ZXNkYXlzOworZXhwb3J0
cy51dGNXZWRuZXNkYXkgPSB1dGNXZWRuZXNkYXk7CitleHBvcnRzLnV0Y1dlZG5lc2RheXMgPSB1
dGNXZWRuZXNkYXlzOworZXhwb3J0cy51dGNXZWVrID0gdXRjU3VuZGF5OworZXhwb3J0cy51dGNX
ZWVrcyA9IHV0Y1N1bmRheXM7CitleHBvcnRzLnV0Y1llYXIgPSB1dGNZZWFyOworZXhwb3J0cy51
dGNZZWFycyA9IHV0Y1llYXJzOworZXhwb3J0cy52YWx1ZXMgPSB2YWx1ZXM7CitleHBvcnRzLnZh
cmlhbmNlID0gdmFyaWFuY2U7CitleHBvcnRzLnZlcnNpb24gPSB2ZXJzaW9uOworZXhwb3J0cy52
b3Jvbm9pID0gdm9yb25vaTsKK2V4cG9ydHMud2luZG93ID0gZGVmYXVsdFZpZXc7CitleHBvcnRz
LnhtbCA9IHhtbDsKK2V4cG9ydHMuemlwID0gemlwOworZXhwb3J0cy56b29tID0gem9vbTsKK2V4
cG9ydHMuem9vbUlkZW50aXR5ID0gaWRlbnRpdHkkOTsKK2V4cG9ydHMuem9vbVRyYW5zZm9ybSA9
IHRyYW5zZm9ybSQxOworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1
bGUnLCB7IHZhbHVlOiB0cnVlIH0pOworCit9KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvR1N0cmVhbWVyLnN2ZyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdlcy9HU3RyZWFtZXIuc3ZnCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQyODg5YzlhMDA1NWY2MzI5NzY2NTJiMmY0MjA3MmI4MjI5ZWVlZTIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvR1N0cmVhbWVy
LnN2ZwpAQCAtMCwwICsxLDczIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt
OCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAx
Mi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDUxNDQ4
KSAgLS0+CisKKzxzdmcKKyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMv
MS4xLyIKKyAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCisgICB4
bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCisg
ICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorICAgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9k
aS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgorICAgeG1sbnM6aW5rc2NhcGU9
Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCisgICB2ZXJzaW9u
PSIxLjAiCisgICBpZD0iTGF5ZXJfMSIKKyAgIHdpZHRoPSIxNTcuMjc5ODIiCisgICBoZWlnaHQ9
Ijc0Ljg2OTY3NSIKKyAgIHZpZXdCb3g9IjAgMCA4My4xNTY1MDkgMzMuNzc1MzIxIgorICAgb3Zl
cmZsb3c9InZpc2libGUiCisgICBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyODAuMjIgNjku
Mzg3IgorICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKKyAgIHNvZGlwb2RpOnZlcnNpb249IjAuMzIi
CisgICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjQgKDVkYTY4OWMzMTMsIDIwMTktMDEtMTQpIgor
ICAgc29kaXBvZGk6ZG9jbmFtZT0iR1N0cmVhbWVyLnN2ZyIKKyAgIGlua3NjYXBlOm91dHB1dF9l
eHRlbnNpb249Im9yZy5pbmtzY2FwZS5vdXRwdXQuc3ZnLmlua3NjYXBlIgorICAgc3R5bGU9Im92
ZXJmbG93OnZpc2libGUiPjxtZXRhZGF0YQorICAgaWQ9Im1ldGFkYXRhMzAiPjxyZGY6UkRGPjxj
YzpXb3JrCisgICAgICAgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6
Zm9ybWF0PjxkYzp0eXBlCisgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9k
Yy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPjxkYzp0aXRsZT48L2RjOnRpdGxlPjwvY2M6V29yaz48
L3JkZjpSREY+PC9tZXRhZGF0YT48ZGVmcworICAgaWQ9ImRlZnMyOCI+PGlua3NjYXBlOnBlcnNw
ZWN0aXZlCisgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiCisgICAgIGlua3Nj
YXBlOnZwX3g9IjAgOiAzNC42OTM1IDogMSIKKyAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDk5OS45
OTk5OSA6IDAiCisgICAgIGlua3NjYXBlOnZwX3o9IjI4MC4yMiA6IDM0LjY5MzUgOiAxIgorICAg
ICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMTQwLjExIDogMjMuMTI5IDogMSIKKyAgICAgaWQ9
InBlcnNwZWN0aXZlMzIiIC8+PC9kZWZzPjxzb2RpcG9kaTpuYW1lZHZpZXcKKyAgIGlua3NjYXBl
OndpbmRvdy1oZWlnaHQ9Ijk2OCIKKyAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTI4MCIKKyAg
IGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCisgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIgor
ICAgZ3VpZGV0b2xlcmFuY2U9IjEwLjAiCisgICBncmlkdG9sZXJhbmNlPSIxMC4wIgorICAgb2Jq
ZWN0dG9sZXJhbmNlPSIxMC4wIgorICAgYm9yZGVyb3BhY2l0eT0iMS4wIgorICAgYm9yZGVyY29s
b3I9IiM2NjY2NjYiCisgICBwYWdlY29sb3I9IiNmZmZmZmYiCisgICBpZD0iYmFzZSIKKyAgIHNo
b3dncmlkPSJmYWxzZSIKKyAgIGlua3NjYXBlOnpvb209IjEuMDUwMzM4IgorICAgaW5rc2NhcGU6
Y3g9IjEyNC42NjE3MyIKKyAgIGlua3NjYXBlOmN5PSI4LjgzNjY3ODYiCisgICBpbmtzY2FwZTp3
aW5kb3cteD0iNTIyIgorICAgaW5rc2NhcGU6d2luZG93LXk9IjYwIgorICAgaW5rc2NhcGU6Y3Vy
cmVudC1sYXllcj0iTGF5ZXJfMSIKKyAgIGZpdC1tYXJnaW4tdG9wPSIwIgorICAgZml0LW1hcmdp
bi1sZWZ0PSIwIgorICAgZml0LW1hcmdpbi1yaWdodD0iMCIKKyAgIGZpdC1tYXJnaW4tYm90dG9t
PSIwIgorICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIgLz4KKzxnCisgICBpZD0iZzM3
MzkiCisgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNy45MzA3NTYsLTcuOTMxMDI5MykiPjxwYXRo
CisgICAgIGlkPSJwYXRoMjEiCisgICAgIGQ9Im0gNTIuNDAzNzg1LDYuODY4MTQzNyBjIC01LjEw
Mjg0MywwIC0xMi41Njg4OTksLTQuMTU3NTU3NiAtMTkuODQ1MzMzLC00LjE1NzU1NzYgLTcuMjc2
NDMzLDAgLTExLjYyMjY3MSw0LjE1NzU1NzYgLTEyLjM3OTI3Niw0LjcyNDU0MDIgLTAuNzU1NjYz
LDAuNTY2OTgyNSAtMS4yMjkyNDksMi43Mzk2Mjk3IDEuMDM5NjI1LDIuMDc4MzA3MSAyLjI2ODg3
NCwtMC42NjEzMjI0IDQuMTU3NTU4LC0wLjY2MTMyMjQgNy43NDkwNzYsLTAuNjYxMzIyNCAzLjU5
MTUxOSwwIDEyLjE5MDU5Nyw0LjkxNDE2MyAyMC44ODQ5NTgsNC45MTQxNjMgOC42OTQzNjIsMCAx
NS45Njk4NTIsLTYuNzA4NTA3MiAxNy41NzY0NiwtOS4wNzE3MjA3IDEuNjA2NjA3LC0yLjM2MzIx
MzQgMC4wOTQzNCwtMy4xMTg4NzU3IC0xLjEzMzk2NiwtMi41NTA5NDk4IC0xLjIyOTI0OCwwLjU2
Njk4MjYgLTkuMTY2MDYsNC43MjQ1NDAyIC0xMy44OTE1NDQsNC43MjQ1NDAyIHoiCisgICAgIHN0
eWxlPSJmaWxsOiNmZjMxMzE7c3Ryb2tlLXdpZHRoOjAuOTQzMzk4NTkiCisgICAgIGlua3NjYXBl
OmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+PHBhdGgKKyAgICAgaWQ9InBhdGgyMyIKKyAgICAg
ZD0ibSA3NC41NzE3NjUsMTkuODEzNDU5IGMgLTUuMzYxMzM0LDAgLTEzLjIwNDc1LC00LjE1NjYx
NCAtMjAuODQ5MTA5LC00LjE1NjYxNCAtNy42NDQzNTksMCAtMTIuMjExMzUxLDQuMTU2NjE0IC0x
My4wMDU2OTMsNC43MjQ1NCAtMC43OTQzNDEsMC41Njc5MjYgLTEuMjkxNTEyLDIuNzM5NjMgMS4w
OTE1MTIsMi4wNzgzMDcgMi4zODMwMjUsLTAuNjYxMzIyIDQuMzY3OTM2LC0wLjY2MTMyMiA4LjE0
MDU4NywtMC42NjEzMjIgMy43NzI2NTEsMCAxMi44MDc1NzksNC45MTQxNjMgMjEuOTQwNjIxLDQu
OTE0MTYzIDkuMTMzMDQyLDAgMTYuNzc4MzQ0LC02LjcwODUwNyAxOC40NjYwODQsLTkuMDcwNzc3
IDEuNjg3NzQsLTIuMzYzMjE0IDAuMDk5MDYsLTMuMTE5ODE5IC0xLjE5MTUxMiwtMi41NTE4OTMg
LTEuMjkwNTY5LDAuNTY3OTI1IC05LjYyODMyNiw0LjcyMzU5NiAtMTQuNTkyNDksNC43MjM1OTYg
eiIKKyAgICAgc3R5bGU9ImZpbGw6IzMxOTgzMTtzdHJva2Utd2lkdGg6MC45NDMzOTg1OSIKKyAg
ICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz48cGF0aAorICAgICBpZD0icGF0
aDI1IgorICAgICBkPSJtIDQzLjcxOTgwMSwzNC4wOTg0MDEgYyAtNS41NTk0NDgsMCAtMTMuNjkz
NDMxLC00LjQ5MTUyMSAtMjEuNjIwODA5LC00LjQ5MTUyMSAtNy45MjczNzksMCAtMTIuNjY0MTgy
OSw0LjQ5MTUyMSAtMTMuNDg3NzY5OSw1LjEwMzc4NyAtMC44MjM1ODcsMC42MTIyNjUgLTEuMzM4
NjgyNiwyLjk1OTQ0MSAxLjEzMjA3ODMsMi4yNDQzNDUgMi40NzE3MDQ2LC0wLjcxNDE1MyA0LjUz
MDE5OTYsLTAuNzE0MTUzIDguNDQyNDczNiwtMC43MTQxNTMgMy45MTIyNzQsMCAxMy4yODIxMDks
NS4zMDc1NjEgMjIuNzU0Nzc1LDUuMzA3NTYxIDkuNDcxNzIyLDAgMTcuMzk5MSwtNy4yNDYyNDUg
MTkuMTUwMDQ4LC05Ljc5ODEzOCAxLjc1MDk0OCwtMi41NTE4OTMgMC4xMDI4MywtMy4zNjc5MzMg
LTEuMjM1ODUyLC0yLjc1NTY2OCAtMS4zMzg2ODMsMC42MTIyNjYgLTkuOTg2ODE4LDUuMTAzNzg3
IC0xNS4xMzQ5NDQsNS4xMDM3ODcgeiIKKyAgICAgc3R5bGU9ImZpbGw6IzMyMzJjYztzdHJva2Ut
d2lkdGg6MC45NDMzOTg1OSIKKyAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIg
Lz48L2c+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01haW4uaHRtbCBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01h
aW4uaHRtbAppbmRleCBjODI2ZDUxZjkxNzdlZGU0ZDliOTU2Yjk3YzUxZDQ5ODA2MGVlNzBjLi4x
YjY4MjUzMGFjYWU2ZDFiZjA4Yjg2MmFiMWI0NWFmNjY2ODJmYmZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCkBAIC0xMDksNiArMTA5LDcgQEAK
ICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0ZvbnRSZXNvdXJjZUNvbnRl
bnRWaWV3LmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9Gb3Jt
YXR0ZWRWYWx1ZS5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3Mv
R2F1Z2VDaGFydC5jc3MiPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3Mv
R1N0cmVhbWVyVGFiQ29udGVudFZpZXcuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9IlZpZXdzL0dlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwuY3NzIj4KICAgICA8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0dvVG9MaW5lRGlhbG9nLmNzcyI+CiAg
ICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9HcmFkaWVudEVkaXRvci5jc3Mi
PgpAQCAtMjgzLDYgKzI4NCw4IEBACiAgICAgPHNjcmlwdCBzcmM9IkV4dGVybmFsL3RocmVlLmpz
L3RocmVlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iRXh0ZXJuYWwvdGhyZWUuanMv
T3JiaXRDb250cm9scy5qcyI+PC9zY3JpcHQ+CiAKKyAgICA8c2NyaXB0IHNyYz0iRXh0ZXJuYWwv
ZDMuanMvZDMuanMiPjwvc2NyaXB0PgorCiAgICAgPHNjcmlwdCBzcmM9IkJhc2UvV2ViSW5zcGVj
dG9yLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQmFzZS9QbGF0Zm9ybS5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkJhc2UvRGVib3VuY2VyLmpzIj48L3NjcmlwdD4KQEAg
LTMzNiw2ICszMzksNyBAQAogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9ET01TdG9yYWdlT2Jz
ZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9EYXRhYmFzZU9i
c2VydmVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvRGVidWdnZXJP
YnNlcnZlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0dTdHJlYW1l
ck9ic2VydmVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvSGVhcE9i
c2VydmVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvSW5zcGVjdG9y
T2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9MYXllclRy
ZWVPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CkBAIC00OTIsNiArNDk2LDggQEAKICAgICA8c2NyaXB0
IHNyYz0iTW9kZWxzL0F1ZGl0VGVzdENhc2VSZXN1bHQuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJNb2RlbHMvQXVkaXRUZXN0R3JvdXBSZXN1bHQuanMiPjwvc2NyaXB0PgogCisgICAg
PHNjcmlwdCBzcmM9Ik1vZGVscy9HU3RyZWFtZXJQaXBlbGluZS5qcyI+PC9zY3JpcHQ+CisKICAg
ICA8c2NyaXB0IHNyYz0iUHJveGllcy9Gb3JtYXR0ZXJXb3JrZXJQcm94eS5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9IlByb3hpZXMvSGVhcFNuYXBzaG90RGlmZlByb3h5LmpzIj48L3Nj
cmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJveGllcy9IZWFwU25hcHNob3RFZGdlUHJveHkuanMi
Pjwvc2NyaXB0PgpAQCAtNTY5LDYgKzU3NSw3IEBACiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0Nh
bnZhc1RhYkNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3Mv
Q29uc29sZVRhYkNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmll
d3MvRWxlbWVudHNUYWJDb250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
IlZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHNyYz0iVmlld3MvTGF5ZXJzVGFiQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJWaWV3cy9SZXNvdXJjZVRyZWVFbGVtZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2Ny
aXB0IHNyYz0iVmlld3MvU2NyaXB0VHJlZUVsZW1lbnQuanMiPjwvc2NyaXB0PgpAQCAtNTg0LDYg
KzU5MSw5IEBACiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0RldGFpbHNTZWN0aW9uU2ltcGxlUm93
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvRGV0YWlsc1NlY3Rpb25UZXh0
Um93LmpzIj48L3NjcmlwdD4KIAorICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9HU3RyZWFtZXJTaWRl
YmFyUGFuZWwuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9HU3RyZWFtZXJW
aWV3LmpzIj48L3NjcmlwdD4KKwogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9TZXR0aW5nRWRpdG9y
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvU2V0dGluZ3NHcm91cC5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1NldHRpbmdzVmlldy5qcyI+PC9zY3Jp
cHQ+CkBAIC04ODAsNiArODkwLDcgQEAKICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRGVi
dWdnZXJNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMv
RHJhZ1RvQWRqdXN0Q29udHJvbGxlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNv
bnRyb2xsZXJzL0Zvcm1hdHRlclNvdXJjZU1hcC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBz
cmM9IkNvbnRyb2xsZXJzL0dTdHJlYW1lck1hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJDb250cm9sbGVycy9IQVJCdWlsZGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHNyYz0iQ29udHJvbGxlcnMvSGVhcE1hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSJDb250cm9sbGVycy9JbmRleGVkREJNYW5hZ2VyLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9HU3RyZWFtZXJQ
aXBlbGluZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9H
U3RyZWFtZXJQaXBlbGluZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZTNkOWNjNjBhNmJkYjIyNWFiZDBjNWE0
MTRiYWVjZmNlZjQ2YzVhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTW9kZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzCkBAIC0wLDAgKzEsNDgg
QEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEw
LTEzMDEgIFVTQQorICovCisKK1dJLkdTdHJlYW1lclBpcGVsaW5lID0gY2xhc3MgR1N0cmVhbWVy
UGlwZWxpbmUKK3sKKyAgICBjb25zdHJ1Y3RvcihuYW1lLCBwYXJlbnRCaW5OYW1lLCBiaW5OYW1l
LCBkb3REYXRhLCBzdmdEb2N1bWVudCkKKyAgICB7CisgICAgICAgIHRoaXMuX25hbWUgPSBuYW1l
OworICAgICAgICB0aGlzLl9wYXJlbnRCaW5OYW1lID0gcGFyZW50QmluTmFtZTsKKyAgICAgICAg
dGhpcy5fYmluTmFtZSA9IGJpbk5hbWU7CisgICAgICAgIHRoaXMuX2RvdERhdGEgPSBkb3REYXRh
OworICAgICAgICB0aGlzLl9zdmdEb2N1bWVudCA9IHN2Z0RvY3VtZW50OworICAgIH0KKworICAg
IC8vIFB1YmxpYworCisgICAgZ2V0IG5hbWUoKSB7IHJldHVybiB0aGlzLl9uYW1lOyB9CisgICAg
Z2V0IHBhcmVudEJpbk5hbWUoKSB7IHJldHVybiB0aGlzLl9wYXJlbnRCaW5OYW1lOyB9CisgICAg
Z2V0IGJpbk5hbWUoKSB7IHJldHVybiB0aGlzLl9iaW5OYW1lOyB9CisgICAgZ2V0IHN2Z0VsZW1l
bnQoKSB7IHJldHVybiB0aGlzLl9zdmdEb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3Zn
IilbMF07IH0KKworICAgIGdldCBzYXZlRGF0YSgpCisgICAgeworICAgICAgICBsZXQgbmFtZSA9
IHRoaXMuX25hbWU7CisgICAgICAgIGxldCBmaWxlbmFtZSA9IFdJLnVubG9jYWxpemVkU3RyaW5n
KGBHU3RyZWFtZXItcGlwZWxpbmUtZHVtcC0ke25hbWV9LmRvdGApOworICAgICAgICByZXR1cm4g
eworICAgICAgICAgICAgdXJsOiBXSS5GaWxlVXRpbGl0aWVzLmluc3BlY3RvclVSTEZvckZpbGVu
YW1lKGZpbGVuYW1lKSwKKyAgICAgICAgICAgIGNvbnRlbnQ6IHRoaXMuX2RvdERhdGEsCisgICAg
ICAgIH07CisgICAgfQorfTsKKworV0kuR1N0cmVhbWVyUGlwZWxpbmUuVHlwZUlkZW50aWZpZXIg
PSAiZ3N0cmVhbWVyLXBpcGVsaW5lIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0dTdHJlYW1lck9ic2VydmVyLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvR1N0cmVhbWVyT2JzZXJ2ZXIuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTU4ZGJiMTk5Zjc4MjViZTliYTRkODI0ODQzNzJiZjQ4MTA2ZjczNgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3Rv
Y29sL0dTdHJlYW1lck9ic2VydmVyLmpzCkBAIC0wLDAgKzEsMjggQEAKKy8qCisgKiAgQ29weXJp
Z2h0IChDKSAyMDE5IElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0
ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisK
K1dJLkdTdHJlYW1lck9ic2VydmVyID0gY2xhc3MgR1N0cmVhbWVyT2JzZXJ2ZXIgZXh0ZW5kcyBJ
bnNwZWN0b3JCYWNrZW5kLkRpc3BhdGNoZXIKK3sKKyAgICAvLyBFdmVudHMgZGVmaW5lZCBieSB0
aGUgIkdTdHJlYW1lciIgZG9tYWluLgorCisgICAgYWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpCisg
ICAgeworICAgICAgICBXSS5nc3RyZWFtZXJNYW5hZ2VyLmFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQo
KTsKKyAgICB9CisKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Qcm90b2NvbC9UYXJnZXQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Qcm90b2NvbC9UYXJnZXQuanMKaW5kZXggY2EzODVmZTI4YjFiZWZiYTg0YzQ2OWM4
NzU4OTIxZDdmZmIwYTM0MS4uMGE4OTFiMDViMDE5MjdiOGQzOTNkYzkwNGQ2ZGZkNTAzYjEzMTZl
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9j
b2wvVGFyZ2V0LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1By
b3RvY29sL1RhcmdldC5qcwpAQCAtMTM2LDYgKzEzNiw3IEBAIFdJLlRhcmdldCA9IGNsYXNzIFRh
cmdldCBleHRlbmRzIFdJLk9iamVjdAogICAgIGdldCBET01TdG9yYWdlQWdlbnQoKSB7IHJldHVy
biB0aGlzLl9hZ2VudHMuRE9NU3RvcmFnZTsgfQogICAgIGdldCBEYXRhYmFzZUFnZW50KCkgeyBy
ZXR1cm4gdGhpcy5fYWdlbnRzLkRhdGFiYXNlOyB9CiAgICAgZ2V0IERlYnVnZ2VyQWdlbnQoKSB7
IHJldHVybiB0aGlzLl9hZ2VudHMuRGVidWdnZXI7IH0KKyAgICBnZXQgR1N0cmVhbWVyQWdlbnQo
KSB7IHJldHVybiB0aGlzLl9hZ2VudHMuR1N0cmVhbWVyOyB9CiAgICAgZ2V0IEhlYXBBZ2VudCgp
IHsgcmV0dXJuIHRoaXMuX2FnZW50cy5IZWFwOyB9CiAgICAgZ2V0IEluZGV4ZWREQkFnZW50KCkg
eyByZXR1cm4gdGhpcy5fYWdlbnRzLkluZGV4ZWREQjsgfQogICAgIGdldCBJbnNwZWN0b3JBZ2Vu
dCgpIHsgcmV0dXJuIHRoaXMuX2FnZW50cy5JbnNwZWN0b3I7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclNpZGViYXJQYW5l
bC5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFt
ZXJTaWRlYmFyUGFuZWwuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlODU0YmRlM2M1MzNlZGEwYmY4NmVlYjg3
NWI5NTM2NjAwNDgzMmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJTaWRlYmFyUGFuZWwuY3NzCkBAIC0wLDAgKzEs
MTA4IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAxOSBJZ2FsaWEgUy5MCisgKgorICogIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAw
MjExMC0xMzAxICBVU0EKKyAqLworCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJl
YW1lciA+IC5jb250ZW50IHsKKyAgICB0b3A6IHZhcigtLW5hdmlnYXRpb24tYmFyLWhlaWdodCk7
Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyID4gLm5hdmlnYXRp
b24tYmFyIHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiAwOworICAgIGxlZnQ6
IDA7CisgICAgcmlnaHQ6IDA7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0
cmVhbWVyID4gLm5hdmlnYXRpb24tYmFyIC5nc3RyZWFtZXItYnJlYWtwb2ludHMgeworICAgIGZp
bGw6IG5vbmU7CisgICAgc3Ryb2tlOiB2YXIoLS1nbHlwaC1jb2xvcik7Cit9Cisuc2lkZWJhciA+
IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciA+IC5uYXZpZ2F0aW9uLWJhciAuZ3N0cmVhbWVy
LWJyZWFrcG9pbnRzLmFjdGl2YXRlZCB7CisgICAgZmlsbDogdmFyKC0tZ2x5cGgtY29sb3ItYWN0
aXZlKTsKKyAgICBzdHJva2U6IHZhcigtLWdseXBoLWNvbG9yLWFjdGl2ZSk7Cit9CisKKy5zaWRl
YmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyID4gLm5hdmlnYXRpb24tYmFyIC5nc3Ry
ZWFtZXItcGF1c2UtcmVzdW1lIHsKKyAgICBmaWxsOiBub25lOworICAgIHN0cm9rZTogdmFyKC0t
Z2x5cGgtY29sb3IpOworfQorLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIg
PiAubmF2aWdhdGlvbi1iYXIgLmdzdHJlYW1lci1wYXVzZS1yZXN1bWUuYWN0aXZhdGVkIHsKKyAg
ICBzdHJva2U6IHZhcigtLWdseXBoLWNvbG9yLWFjdGl2ZSk7Cit9CisKKy5zaWRlYmFyID4gLnBh
bmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC53YXJuaW5nLWJhbm5lciB7CisgICAgdGV4dC1hbGln
bjogY2VudGVyOworICAgIGZvbnQtc2l6ZTogMTFweDsKKworICAgIHBhZGRpbmc6IDExcHggNnB4
OworICAgIG1hcmdpbi1ib3R0b206IDZweDsKKworICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xp
ZCB2YXIoLS1ib3JkZXItY29sb3IpOworICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCg1MCwgMTAw
JSwgOTQlKTsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLnRy
ZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkID4gLml0ZW0udGhyZWFkIHsKKyAgICBkaXNwbGF5OiBu
b25lOworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAudHJlZS1v
dXRsaW5lLnNpbmdsZS10aHJlYWQgeworICAgIC0tdHJlZS1vdXRsaW5lLXNpbmdsZS10aHJlYWQt
bWFyZ2luLXN0YXJ0OiAtMTBweDsKK30KKworYm9keVtkaXI9bHRyXSAuc2lkZWJhciA+IC5wYW5l
bC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAudHJlZS1vdXRsaW5lLnNpbmdsZS10aHJlYWQgeworICAg
IG1hcmdpbi1sZWZ0OiB2YXIoLS10cmVlLW91dGxpbmUtc2luZ2xlLXRocmVhZC1tYXJnaW4tc3Rh
cnQpOworfQorCitib2R5W2Rpcj1ydGxdIC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0
cmVhbWVyIC50cmVlLW91dGxpbmUuc2luZ2xlLXRocmVhZCB7CisgICAgbWFyZ2luLXJpZ2h0OiB2
YXIoLS10cmVlLW91dGxpbmUtc2luZ2xlLXRocmVhZC1tYXJnaW4tc3RhcnQpOworfQorCisuc2lk
ZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAud2FybmluZy1iYW5uZXIgPiBhIHsK
KyAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKKyAgICBjdXJzb3I6IHBvaW50ZXI7Cit9
CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC5kZXRhaWxzLXNlY3Rp
b24geworICAgIGZvbnQtc2l6ZTogMTFweDsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdh
dGlvbi5nc3RyZWFtZXIgLmRldGFpbHMtc2VjdGlvbi5wYXVzZWQtcmVhc29uLmNvbGxhcHNlZCA+
IC5oZWFkZXIgPiAub3B0aW9ucyB7CisgICAgZGlzcGxheTogYmxvY2s7Cit9CisKKy5zaWRlYmFy
ID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC5kZXRhaWxzLXNlY3Rpb24gPiAuY29udGVu
dCB7CisgICAgZGlzcGxheTogYmxvY2s7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRp
b24uZ3N0cmVhbWVyIC5kZXRhaWxzLXNlY3Rpb24uY29sbGFwc2VkID4gLmNvbnRlbnQgeworICAg
IGRpc3BsYXk6IG5vbmU7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVh
bWVyIC5kZXRhaWxzLXNlY3Rpb24gPiAuY29udGVudCA+IC5ncm91cCB7CisgICAgZGlzcGxheTog
YmxvY2s7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC5kZXRh
aWxzLXNlY3Rpb24uc2NyaXB0czpub3QoLmNvbGxhcHNlZCkgeworICAgIGJvcmRlci1ib3R0b206
IG5vbmU7Cit9CisKK0BtZWRpYSAocHJlZmVycy1kYXJrLWludGVyZmFjZSkgeworICAgIC5zaWRl
YmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC53YXJuaW5nLWJhbm5lciB7CisgICAg
ICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXllbGxvdy1oaWdobGlnaHQtYmFja2dyb3VuZC1j
b2xvcik7CisgICAgICAgIGNvbG9yOiB2YXIoLS15ZWxsb3ctaGlnaGxpZ2h0LXRleHQtY29sb3Ip
OworICAgIH0KK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0dTdHJlYW1lclNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclNpZGViYXJQYW5lbC5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41ZDBjZjJmNjBlNDZjMjYxYTMyZmFkM2FhMmNkZjY2NzhmNDQzZWE1Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVy
U2lkZWJhclBhbmVsLmpzCkBAIC0wLDAgKzEsMTA1IEBACisvKgorICogIENvcHlyaWdodCAoQykg
MjAxOSBJZ2FsaWEgUy5MCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwor
ICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhl
IEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCitXSS5HU3Ry
ZWFtZXJTaWRlYmFyUGFuZWwgPSBjbGFzcyBHU3RyZWFtZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBX
SS5OYXZpZ2F0aW9uU2lkZWJhclBhbmVsCit7CisgICAgY29uc3RydWN0b3IoKQorICAgIHsKKyAg
ICAgICAgc3VwZXIoImdzdHJlYW1lciIsIFdJLlVJU3RyaW5nKCJHU3RyZWFtZXIiKSwgZmFsc2Up
OworCisgICAgICAgIHRoaXMuY29udGVudFRyZWVPdXRsaW5lLmFkZEV2ZW50TGlzdGVuZXIoV0ku
VHJlZU91dGxpbmUuRXZlbnQuU2VsZWN0aW9uRGlkQ2hhbmdlLCB0aGlzLl90cmVlU2VsZWN0aW9u
RGlkQ2hhbmdlLCB0aGlzKTsKKworICAgICAgICBXSS5nc3RyZWFtZXJNYW5hZ2VyLmFkZEV2ZW50
TGlzdGVuZXIoV0kuR1N0cmVhbWVyTWFuYWdlci5FdmVudC5BY3RpdmVQaXBlbGluZXNDaGFuZ2Vk
LCB0aGlzLl9yZWZyZXNoUGlwZWxpbmVzTGlzdCwgdGhpcyk7CisgICAgfQorCisgICAgLy8gUHJv
dGVjdGVkCisKKyAgICBpbml0aWFsTGF5b3V0KCkKKyAgICB7CisgICAgICAgIHN1cGVyLmluaXRp
YWxMYXlvdXQoKTsKKworICAgICAgICBsZXQgcGlwZWxpbmVzUm93ID0gbmV3IFdJLkRldGFpbHNT
ZWN0aW9uUm93OworICAgICAgICBwaXBlbGluZXNSb3cuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlz
LmNvbnRlbnRUcmVlT3V0bGluZS5lbGVtZW50KTsKKworICAgICAgICBsZXQgcGlwZWxpbmVzR3Jv
dXAgPSBuZXcgV0kuRGV0YWlsc1NlY3Rpb25Hcm91cChbcGlwZWxpbmVzUm93XSk7CisgICAgICAg
IHRoaXMuX3BpcGVsaW5lc1NlY3Rpb24gPSBuZXcgV0kuRGV0YWlsc1NlY3Rpb24oInBpcGVsaW5l
cyIsIFdJLlVJU3RyaW5nKCJQaXBlbGluZXMiKSwgW3BpcGVsaW5lc0dyb3VwXSk7CisgICAgICAg
IHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9waXBlbGluZXNTZWN0
aW9uLmVsZW1lbnQpOworCisgICAgICAgIHRoaXMuX3JlZnJlc2hQaXBlbGluZXNMaXN0KCk7Cisg
ICAgfQorCisgICAgaGFzQ3VzdG9tRmlsdGVycygpCisgICAgeworICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICBtYXRjaFRyZWVFbGVtZW50QWdhaW5zdEN1c3RvbUZpbHRlcnModHJl
ZUVsZW1lbnQsIGZsYWdzKQorICAgIHsKKyAgICAgICAgbGV0IHRleHRGaWx0ZXJSZWdleCA9IHNp
bXBsZUdsb2JTdHJpbmdUb1JlZ0V4cCh0aGlzLmZpbHRlckJhci5maWx0ZXJzLnRleHQsICJpIik7
CisgICAgICAgIGlmICghdGV4dEZpbHRlclJlZ2V4KQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisKKyAgICAgICAgcmV0dXJuIHRleHRGaWx0ZXJSZWdleC50ZXN0KHRyZWVFbGVtZW50Lm5hbWUp
OworICAgIH0KKworICAgIC8vIFByaXZhdGUKKworICAgIF9yZWZyZXNoUGlwZWxpbmVzTGlzdCgp
CisgICAgeworICAgICAgICBpZiAoIVdJLnRhcmdldHNBdmFpbGFibGUoKSkgeworICAgICAgICAg
ICAgV0kud2hlblRhcmdldHNBdmFpbGFibGUoKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAg
ICB0aGlzLl9yZWZyZXNoUGlwZWxpbmVzTGlzdCgpOworICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBsZXQgYWdlbnQgPSBXSS5nc3RyZWFt
ZXJNYW5hZ2VyLmFnZW50OworICAgICAgICBpZiAoIWFnZW50KQorICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgIGFnZW50LmdldEFjdGl2ZVBpcGVsaW5lc05hbWVzKCkudGhlbigocGF5bG9h
ZCkgPT4geworICAgICAgICAgICAgdGhpcy5jb250ZW50VHJlZU91dGxpbmUucmVtb3ZlQ2hpbGRy
ZW4odHJ1ZSk7CisgICAgICAgICAgICBmb3IgKGxldCBuYW1lIG9mIHBheWxvYWQucGlwZWxpbmVz
KSB7CisgICAgICAgICAgICAgICAgbGV0IGVsdCA9IG5ldyBXSS5UcmVlRWxlbWVudChuYW1lLCBu
dWxsKTsKKyAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRUcmVlT3V0bGluZS5hcHBlbmRDaGls
ZChlbHQpOworICAgICAgICAgICAgfQorICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHsKKyAg
ICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIkNvdWxkIG5vdCBmZXRjaCBwaXBlbGluZXM6ICIsIGVy
cm9yKTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAgX3RyZWVTZWxlY3Rpb25EaWRDaGFuZ2Uo
ZXZlbnQpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWQpCisgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgbGV0IHRyZWVFbGVtZW50ID0gdGhpcy5jb250ZW50VHJlZU91dGxp
bmUuc2VsZWN0ZWRUcmVlRWxlbWVudDsKKyAgICAgICAgaWYgKCF0cmVlRWxlbWVudCkKKyAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICBsZXQgcGlwZWxpbmVOYW1lID0gdHJlZUVsZW1lbnQu
dGl0bGU7CisgICAgICAgIGxldCB0YXJnZXQgPSBXSS5hc3N1bWluZ01haW5UYXJnZXQoKTsKKyAg
ICAgICAgdGFyZ2V0LkdTdHJlYW1lckFnZW50LmR1bXBBY3RpdmVQaXBlbGluZShwaXBlbGluZU5h
bWUsICIiKS50aGVuKChwYXlsb2FkKSA9PiB7CisgICAgICAgICAgICBsZXQgZG9jdW1lbnRGcmFn
bWVudCA9IFdJLmdzdHJlYW1lck1hbmFnZXIucmVuZGVyU1ZHRWxlbWVudChwYXlsb2FkLnBpcGVs
aW5lR3JhcGhSZXByZXNlbnRhdGlvbik7CisgICAgICAgICAgICBsZXQgcmVwcmVzZW50ZWRPYmpl
Y3QgPSBuZXcgV0kuR1N0cmVhbWVyUGlwZWxpbmUocGlwZWxpbmVOYW1lLCAiIiwgIiIsIHBheWxv
YWQucGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uLCBkb2N1bWVudEZyYWdtZW50KTsKKyAgICAg
ICAgICAgIFdJLnNob3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNlbnRlZE9iamVjdCk7CisgICAg
ICAgIH0pLmNhdGNoKChlcnJvcikgPT4geworICAgICAgICAgICAgY29uc29sZS5lcnJvcigiQ291
bGQgbm90IGR1bXAgcGlwZWxpbmU6ICIsIGVycm9yKTsKKyAgICAgICAgfSk7CisgICAgfQorfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dT
dHJlYW1lclRhYkNvbnRlbnRWaWV3LmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmNzcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTYz
NjkzYTE1OWUwNjBlMGIwZWUyYjEyYTEyMGRhMGZlMWExZmFkCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29u
dGVudFZpZXcuY3NzCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE5
IElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisg
KgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAg
TGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJl
ZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKy5jb250ZW50LXZp
ZXcuZ3N0cmVhbWVyIHsKKyAgICBwYWRkaW5nLWJvdHRvbTogNnZoOworICAgIG92ZXJmbG93LXk6
IGF1dG87Cit9CisKKy5jb250ZW50LXZpZXcuZ3N0cmVhbWVyIC5uYXZpZ2F0aW9uLWJhciB7Cisg
ICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5OworICAgIHRvcDogMDsKKyAgICB6LWluZGV4OiAx
OworICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOworfQorCisuY29udGVudC12aWV3LmdzdHJl
YW1lciAubmF2aWdhdGlvbi1iYXIuaW52aXNpYmxlIHsKKyAgICB2aXNpYmlsaXR5OiBoaWRkZW47
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2
OGY1YTdlODAzMzYyZWEwNmYxODgyNDM4MTYxNTJhYjgwODMxYmEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJUYWJD
b250ZW50Vmlldy5qcwpAQCAtMCwwICsxLDczIEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAx
OSBJZ2FsaWEgUy5MCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
ICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICog
IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZy
ZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCitXSS5HU3RyZWFt
ZXJUYWJDb250ZW50VmlldyA9IGNsYXNzIEdTdHJlYW1lclRhYkNvbnRlbnRWaWV3IGV4dGVuZHMg
V0kuQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldworeworICAgIGNvbnN0cnVjdG9yKGlkZW50
aWZpZXIpCisgICAgeworICAgICAgICBsZXQgdGFiQmFySXRlbSA9IFdJLkdlbmVyYWxUYWJCYXJJ
dGVtLmZyb21UYWJJbmZvKFdJLkdTdHJlYW1lclRhYkNvbnRlbnRWaWV3LnRhYkluZm8oKSk7Cisg
ICAgICAgIGxldCBkZXRhaWxzU2lkZWJhclBhbmVsQ29uc3RydWN0b3JzID0gW107CisKKyAgICAg
ICAgc3VwZXIoaWRlbnRpZmllciB8fCAiZ3N0cmVhbWVyIiwgImdzdHJlYW1lciIsIHRhYkJhckl0
ZW0sIFdJLkdTdHJlYW1lclNpZGViYXJQYW5lbCwKKyAgICAgICAgICAgICAgZGV0YWlsc1NpZGVi
YXJQYW5lbENvbnN0cnVjdG9ycyk7CisKKyAgICAgICAgdGhpcy5fZ3N0cmVhbWVyVmlldyA9IG51
bGw7CisgICAgfQorCisgICAgc3RhdGljIHRhYkluZm8oKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IHsKKyAgICAgICAgICAgIGltYWdlOiAiSW1hZ2VzL0dTdHJlYW1lci5zdmciLAorICAgICAgICAg
ICAgdGl0bGU6IFdJLlVJU3RyaW5nKCJHU3RyZWFtZXIiKSwKKyAgICAgICAgfTsKKyAgICB9CisK
KyAgICBzdGF0aWMgaXNUYWJBbGxvd2VkKCkKKyAgICB7CisgICAgICAgIHJldHVybiBXSS5QbGF0
Zm9ybS5wb3J0ID09PSAiZ3RrIiB8fCBXSS5QbGF0Zm9ybS5wb3J0ID09PSAid3BlIjsKKyAgICB9
CisKKyAgICAvLyBQdWJsaWMKKworICAgIGdldCB0eXBlKCkgeyByZXR1cm4gV0kuR1N0cmVhbWVy
VGFiQ29udGVudFZpZXcuVHlwZTsgfQorCisgICAgZ2V0IHN1cHBvcnRzU3BsaXRDb250ZW50QnJv
d3NlcigpCisgICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBjYW5TaG93
UmVwcmVzZW50ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3QpCisgICAgeworICAgICAgICByZXR1
cm4gcmVwcmVzZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBXSS5HU3RyZWFtZXJQaXBlbGluZTsKKyAg
ICB9CisKKyAgICBzaG93UmVwcmVzZW50ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3QsIGNvb2tp
ZSkKKyAgICB7CisgICAgICAgIHRoaXMuX2dzdHJlYW1lclZpZXcuZGlzcGxheVBpcGVsaW5lKHJl
cHJlc2VudGVkT2JqZWN0KTsKKyAgICB9CisKKyAgICAvLyBQcm90ZWN0ZWQKKworICAgIGluaXRp
YWxMYXlvdXQoKQorICAgIHsKKyAgICAgICAgdGhpcy5fZ3N0cmVhbWVyVmlldyA9IG5ldyBXSS5H
U3RyZWFtZXJWaWV3KCJnZW5lcmFsIiwgV0kuVUlTdHJpbmcoIkdlbmVyYWwiKSk7CisgICAgICAg
IHRoaXMuYWRkU3Vidmlldyh0aGlzLl9nc3RyZWFtZXJWaWV3KTsKKyAgICB9Cit9OworCitXSS5H
U3RyZWFtZXJUYWJDb250ZW50Vmlldy5UeXBlID0gImdzdHJlYW1lciI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJWaWV3Lmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVmll
dy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lMjg3NDExMDBmOWExNzEwMTc4MDM2OWMwNzAxYTY2ZDAyZmMwZTQz
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvR1N0cmVhbWVyVmlldy5qcwpAQCAtMCwwICsxLDE2MCBAQAorLyoKKyAqICBDb3B5cmln
aHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExl
c3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRl
IHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKwor
V0kuR1N0cmVhbWVyVmlldyA9IGNsYXNzIEdTdHJlYW1lclZpZXcgZXh0ZW5kcyBXSS5Db250ZW50
VmlldworeworICAgIGNvbnN0cnVjdG9yKGlkZW50aWZpZXIsIGRpc3BsYXlOYW1lKQorICAgIHsK
KyAgICAgICAgc3VwZXIoKTsKKworICAgICAgICB0aGlzLl9pZGVudGlmaWVyID0gaWRlbnRpZmll
cjsKKyAgICAgICAgdGhpcy5fZGlzcGxheU5hbWUgPSBkaXNwbGF5TmFtZTsKKyAgICAgICAgdGhp
cy5fc3ZnRWxlbWVudCA9IG51bGw7CisgICAgICAgIHRoaXMuX3Njb3BlQmFyID0gbnVsbDsKKyAg
ICAgICAgdGhpcy5fY3VycmVudEJpbk5hbWUgPSAiIjsKKyAgICAgICAgdGhpcy5fcGlwZWxpbmUg
PSBudWxsOworICAgICAgICB0aGlzLl9sYWJlbCA9IG51bGw7CisKKyAgICAgICAgdGhpcy5lbGVt
ZW50LmNsYXNzTGlzdC5hZGQoImdzdHJlYW1lci12aWV3IiwgaWRlbnRpZmllcik7CisKKyAgICAg
ICAgdGhpcy5fZXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW0gPSBuZXcgV0kuQnV0dG9uTmF2aWdh
dGlvbkl0ZW0oInBpcGVsaW5lLWV4cG9ydCIsIFdJLlVJU3RyaW5nKCJFeHBvcnQiKSwgIkltYWdl
cy9FeHBvcnQuc3ZnIiwgMTUsIDE1KTsKKyAgICAgICAgdGhpcy5fZXhwb3J0QnV0dG9uTmF2aWdh
dGlvbkl0ZW0udG9vbHRpcCA9IFdJLlVJU3RyaW5nKCJFeHBvcnQgcGlwZWxpbmUgZG90IHJlcHJl
c2VudGF0aW9uICglcykiKS5mb3JtYXQoV0kuc2F2ZUtleWJvYXJkU2hvcnRjdXQuZGlzcGxheU5h
bWUpOworICAgICAgICB0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS5idXR0b25TdHls
ZSA9IFdJLkJ1dHRvbk5hdmlnYXRpb25JdGVtLlN0eWxlLkltYWdlQW5kVGV4dDsKKyAgICAgICAg
dGhpcy5fZXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW0udmlzaWJpbGl0eVByaW9yaXR5ID0gV0ku
TmF2aWdhdGlvbkl0ZW0uVmlzaWJpbGl0eVByaW9yaXR5LkxvdzsKKyAgICAgICAgdGhpcy5fZXhw
b3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXSS5CdXR0b25OYXZpZ2F0
aW9uSXRlbS5FdmVudC5DbGlja2VkLCB0aGlzLl9oYW5kbGVFeHBvcnRCdXR0b25OYXZpZ2F0aW9u
SXRlbUNsaWNrZWQuYmluZCh0aGlzKSk7CisgICAgICAgIHRoaXMuX3VwZGF0ZUV4cG9ydEJ1dHRv
bk5hdmlnYXRpb25JdGVtU3RhdGUoKTsKKworICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyID0g
bmV3IFdJLk5hdmlnYXRpb25CYXI7CisgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2
aWdhdGlvbkl0ZW0odGhpcy5fZXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW0pOworICAgICAgICB0
aGlzLmFkZFN1YnZpZXcodGhpcy5fbmF2aWdhdGlvbkJhcik7CisKKyAgICAgICAgdGhpcy5fY29u
dGFpbmVyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICB0
aGlzLl9jb250YWluZXJFbGVtZW50LmlkID0gInBpcGVsaW5lLWNvbnRhaW5lciI7CisgICAgICAg
IHRoaXMuZWxlbWVudC5hcHBlbmQodGhpcy5fY29udGFpbmVyRWxlbWVudCk7CisgICAgfQorCisg
ICAgLy8gUHVibGljCisKKyAgICBnZXQgaWRlbnRpZmllcigpIHsgcmV0dXJuIHRoaXMuX2lkZW50
aWZpZXI7IH0KKyAgICBnZXQgZGlzcGxheU5hbWUoKSB7IHJldHVybiB0aGlzLl9kaXNwbGF5TmFt
ZTsgfQorCisgICAgZ2V0IHN1cHBvcnRzU2F2ZSgpCisgICAgeworICAgICAgICByZXR1cm4gISF0
aGlzLl9waXBlbGluZTsKKyAgICB9CisKKyAgICBnZXQgc2F2ZURhdGEoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIHtjdXN0b21TYXZlSGFuZGxlcjogKCkgPT4geyB0aGlzLl9leHBvcnRSZXN1bHQo
KTsgfX07CisgICAgfQorCisgICAgZGlzcGxheVBpcGVsaW5lKGdzdHJlYW1lclBpcGVsaW5lKQor
ICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX3N2Z0VsZW1lbnQpCisgICAgICAgICAgICB0aGlzLl9j
b250YWluZXJFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuX3N2Z0VsZW1lbnQpOworCisgICAgICAg
IGlmICh0aGlzLl9zY29wZUJhcikgeworICAgICAgICAgICAgdGhpcy5fc2NvcGVCYXIucmVtb3Zl
RXZlbnRMaXN0ZW5lcihXSS5TY29wZUJhci5FdmVudC5TZWxlY3Rpb25DaGFuZ2VkLCB0aGlzLl9z
Y29wZUJhclNlbGVjdGlvbkRpZENoYW5nZSk7CisgICAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9u
QmFyLnJlbW92ZU5hdmlnYXRpb25JdGVtKHRoaXMuX3Njb3BlQmFyKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGlmICh0aGlzLl9sYWJlbCkgeworICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkJh
ci5yZW1vdmVOYXZpZ2F0aW9uSXRlbSh0aGlzLl9sYWJlbCk7CisgICAgICAgIH0KKyAgICAgICAg
dmFyIG5hbWUgPSBnc3RyZWFtZXJQaXBlbGluZS5iaW5OYW1lIHx8IGdzdHJlYW1lclBpcGVsaW5l
Lm5hbWU7CisgICAgICAgIHRoaXMuX2xhYmVsID0gbmV3IFdJLlRleHROYXZpZ2F0aW9uSXRlbSgi
Z3N0LXBpcGVsaW5lLWJpbi1uYW1lIiwgIkRpc3BsYXlpbmcgIiArIG5hbWUgKyAiLiBBdmFpbGFi
bGUgc3ViLWJpbnM6ICIpOworICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLmFkZE5hdmlnYXRp
b25JdGVtKHRoaXMuX2xhYmVsKTsKKworICAgICAgICB0aGlzLl9waXBlbGluZSA9IGdzdHJlYW1l
clBpcGVsaW5lOworICAgICAgICB0aGlzLl91cGRhdGVFeHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRl
bVN0YXRlKCk7CisKKyAgICAgICAgbGV0IHRhcmdldCA9IFdJLmFzc3VtaW5nTWFpblRhcmdldCgp
OworICAgICAgICB0YXJnZXQuR1N0cmVhbWVyQWdlbnQuZ2V0QWN0aXZlUGlwZWxpbmVCaW5OYW1l
cyhnc3RyZWFtZXJQaXBlbGluZS5uYW1lLCBnc3RyZWFtZXJQaXBlbGluZS5iaW5OYW1lKS50aGVu
KChwYXlsb2FkKSA9PiB7CisgICAgICAgICAgICB2YXIgc2NvcGVCYXJJdGVtcyA9IFtdOworICAg
ICAgICAgICAgdmFyIGRlZmF1bHRJdGVtID0gbmV3IFdJLlNjb3BlQmFySXRlbSgiPHBsYWNlaG9s
ZGVyPiIsICJTZWxlY3QuLi4iKTsKKyAgICAgICAgICAgIGRlZmF1bHRJdGVtLl9fcGFyZW50ID0g
IiI7CisgICAgICAgICAgICBkZWZhdWx0SXRlbS5zZWxlY3RlZCA9IHRydWU7CisgICAgICAgICAg
ICBzY29wZUJhckl0ZW1zLnB1c2goZGVmYXVsdEl0ZW0pOworCisgICAgICAgICAgICB2YXIgc2Nv
cGVCYXJJdGVtID0gbmV3IFdJLlNjb3BlQmFySXRlbShnc3RyZWFtZXJQaXBlbGluZS5wYXJlbnRC
aW5OYW1lLCAiUGFyZW50OiAiICsgZ3N0cmVhbWVyUGlwZWxpbmUucGFyZW50QmluTmFtZSk7Cisg
ICAgICAgICAgICBzY29wZUJhckl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIHNj
b3BlQmFySXRlbS5fX3BhcmVudCA9ICIiOworICAgICAgICAgICAgc2NvcGVCYXJJdGVtcy5wdXNo
KHNjb3BlQmFySXRlbSk7CisKKyAgICAgICAgICAgIGZvciAodmFyIGJpbk5hbWUgb2YgcGF5bG9h
ZC5iaW5OYW1lcykgeworICAgICAgICAgICAgICAgIHZhciBzY29wZUJhckl0ZW0gPSBuZXcgV0ku
U2NvcGVCYXJJdGVtKGJpbk5hbWUsIGJpbk5hbWUpOworICAgICAgICAgICAgICAgIHNjb3BlQmFy
SXRlbS5zZWxlY3RlZCA9IGZhbHNlOworICAgICAgICAgICAgICAgIHNjb3BlQmFySXRlbS5fX3Bh
cmVudCA9IGdzdHJlYW1lclBpcGVsaW5lLmJpbk5hbWU7CisgICAgICAgICAgICAgICAgc2NvcGVC
YXJJdGVtcy5wdXNoKHNjb3BlQmFySXRlbSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IHRoaXMuX3Njb3BlQmFyID0gbmV3IFdJLlNjb3BlQmFyKCJnc3QtcGlwZWxpbmUtc2NvcGUtYmFy
Iiwgc2NvcGVCYXJJdGVtcywgbnVsbCwgdHJ1ZSk7CisgICAgICAgICAgICB0aGlzLl9zY29wZUJh
ci5hZGRFdmVudExpc3RlbmVyKFdJLlNjb3BlQmFyLkV2ZW50LlNlbGVjdGlvbkNoYW5nZWQsIHRo
aXMuX3Njb3BlQmFyU2VsZWN0aW9uRGlkQ2hhbmdlLCB0aGlzKTsKKworICAgICAgICAgICAgdGhp
cy5fbmF2aWdhdGlvbkJhci5hZGROYXZpZ2F0aW9uSXRlbSh0aGlzLl9zY29wZUJhcik7CisgICAg
ICAgIH0pLmNhdGNoKChlcnJvcikgPT4geworICAgICAgICAgICAgY29uc29sZS5lcnJvcigiQ291
bGQgbm90IGR1bXAgbGlzdCBwaXBlbGluZSBiaW5zOiAiLCBlcnJvcik7CisgICAgICAgIH0pOwor
CisgICAgICAgIHRoaXMuX3N2Z0VsZW1lbnQgPSB0aGlzLl9waXBlbGluZS5zdmdFbGVtZW50Owor
ICAgICAgICB0aGlzLl9jb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3N2Z0VsZW1l
bnQpOworCisgICAgICAgIHZhciBzdmcgPSBkMy5zZWxlY3QoIiNwaXBlbGluZS1jb250YWluZXIi
KSwKKyAgICAgICAgICAgIGcgPSBzdmcuc2VsZWN0KCJnIik7CisKKyAgICAgICAgc3ZnLmNhbGwo
ZDMuem9vbSgpLm9uKCJ6b29tIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBnLmF0dHIoInRy
YW5zZm9ybSIsIGQzLmV2ZW50LnRyYW5zZm9ybSkKKyAgICAgICAgfSkpOworICAgIH0KKworICAg
IC8vIFByaXZhdGUKKworICAgIF9zY29wZUJhclNlbGVjdGlvbkRpZENoYW5nZShldmVudCkKKyAg
ICB7CisgICAgICAgIGZvciAodmFyIGl0IG9mIGV2ZW50LnRhcmdldC5pdGVtcykgeworICAgICAg
ICAgICAgaWYgKChpdC5pZCAhPT0gIjxwbGFjZWhvbGRlcj4iKSAmJiBpdC5zZWxlY3RlZCkgewor
ICAgICAgICAgICAgICAgIHZhciBiaW5OYW1lID0gaXQuaWQ7CisgICAgICAgICAgICAgICAgdmFy
IHBhcmVudEJpbk5hbWUgPSBpdC5fX3BhcmVudDsKKyAgICAgICAgICAgICAgICB2YXIgcGlwZWxp
bmVOYW1lID0gdGhpcy5fcGlwZWxpbmUubmFtZTsKKyAgICAgICAgICAgICAgICBsZXQgYWdlbnQg
PSBXSS5nc3RyZWFtZXJNYW5hZ2VyLmFnZW50OworICAgICAgICAgICAgICAgIGFnZW50LmR1bXBB
Y3RpdmVQaXBlbGluZShwaXBlbGluZU5hbWUsIGJpbk5hbWUpLnRoZW4oKHBheWxvYWQpID0+IHsK
KyAgICAgICAgICAgICAgICAgICAgbGV0IGRvY3VtZW50RnJhZ21lbnQgPSBXSS5nc3RyZWFtZXJN
YW5hZ2VyLnJlbmRlclNWR0VsZW1lbnQocGF5bG9hZC5waXBlbGluZUdyYXBoUmVwcmVzZW50YXRp
b24pOworICAgICAgICAgICAgICAgICAgICBsZXQgcmVwcmVzZW50ZWRPYmplY3QgPSBuZXcgV0ku
R1N0cmVhbWVyUGlwZWxpbmUocGlwZWxpbmVOYW1lLCBwYXJlbnRCaW5OYW1lLCBiaW5OYW1lLCBw
YXlsb2FkLnBpcGVsaW5lR3JhcGhSZXByZXNlbnRhdGlvbiwgZG9jdW1lbnRGcmFnbWVudCk7Cisg
ICAgICAgICAgICAgICAgICAgIFdJLnNob3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNlbnRlZE9i
amVjdCk7CisgICAgICAgICAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7CisgICAgICAgICAg
ICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIkNvdWxkIG5vdCBkdW1wIHBpcGVsaW5lOiAiLCBlcnJv
cik7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBfZXhwb3J0UmVzdWx0KCkKKyAgICB7CisgICAgICAgIFdJLmdzdHJlYW1lck1hbmFn
ZXIuZXhwb3J0KHRoaXMuX3BpcGVsaW5lKTsKKyAgICB9CisKKyAgICBfdXBkYXRlRXhwb3J0QnV0
dG9uTmF2aWdhdGlvbkl0ZW1TdGF0ZSgpCisgICAgeworICAgICAgICB0aGlzLl9leHBvcnRCdXR0
b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gISF0aGlzLl9waXBlbGluZTsKKyAgICB9CisKKyAg
ICBfaGFuZGxlRXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW1DbGlja2VkKGV2ZW50KQorICAgIHsK
KyAgICAgICAgdGhpcy5fZXhwb3J0UmVzdWx0KCk7CisgICAgfQorfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvSW5zcGVjdG9yR1Jlc291cmNlcy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQvSW5z
cGVjdG9yR1Jlc291cmNlcy5jbWFrZQppbmRleCA2NzRiNWVmMGJlNGJlYjJhMmU4MWIxYmNlOTg0
NzgyMmJkNGI0ODI3Li5hMTBlOTEwMmE2NWUwMzAxZTgzNTcxYzI1ZjQxYzYyYzhjODc4ZWUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0luc3BlY3RvckdSZXNvdXJjZXMuY21ha2UKKysrIGIv
U291cmNlL1dlYktpdC9JbnNwZWN0b3JHUmVzb3VyY2VzLmNtYWtlCkBAIC05LDYgKzksNyBAQCBt
YWNybyhXRUJLSVRfQlVJTERfSU5TUEVDVE9SX0dSRVNPVVJDRVMgX2Rlcml2ZWRfc291cmNlc19k
aXIpCiAgICAgICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvRXh0ZXJuYWwvQ29kZU1pcnJvci8qLmNzcwogICAgICAgICAke0NNQUtFX1NP
VVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0Nv
ZGVNaXJyb3IvKi5qcwogICAgICAgICAke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0VzcHJpbWEvKi5qcworICAgICAgICAke0NN
QUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVy
bmFsL0QzLmpzLyouanMKICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC90aHJlZS5qcy8qLmpzCiAgICAgICAgICR7
Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzLyouanMKICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC8qLmpzCkBAIC02MCwxMyArNjEsMTkgQEAgbWFjcm8o
V0VCS0lUX0JVSUxEX0lOU1BFQ1RPUl9HUkVTT1VSQ0VTIF9kZXJpdmVkX3NvdXJjZXNfZGlyKQog
ICAgICAgICBlbmRpZiAoKQogICAgIGVuZGlmICgpCiAKKyAgICBpZiAoVVNFX0dTVFJFQU1FUikK
KyAgICAgICAgc2V0KENPTUJJTkVfR1NUUkVBTUVSX1JFU09VUkNFUyBZRVMpCisgICAgZWxzZSAo
KQorICAgICAgICBzZXQoQ09NQklORV9HU1RSRUFNRVJfUkVTT1VSQ0VTIE5PKQorICAgIGVuZGlm
ICgpCisKICAgICBhZGRfY3VzdG9tX2NvbW1hbmQoCiAgICAgICAgIE9VVFBVVCAke0NNQUtFX0JJ
TkFSWV9ESVJ9L2luc3BlY3Rvci1yZXNvdXJjZXMuc3RhbXAKICAgICAgICAgREVQRU5EUyAke0lu
c3BlY3RvckZpbGVzRGVwZW5kZW5jaWVzfQogICAgICAgICAgICAgICAgICR7SW5zcGVjdG9yUmVz
b3VyY2VTY3JpcHRzfQogICAgICAgICAgICAgICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQklOU1BF
Q1RPUlVJX0RJUn0vVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNwZWN0b3JCYWNrZW5kQ29tbWFu
ZHMuanMKICAgICAgICAgQ09NTUFORCBjcCAke0RFUklWRURfU09VUkNFU19XRUJJTlNQRUNUT1JV
SV9ESVJ9L1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpz
ICR7Rk9SV0FSRElOR19IRUFERVJTX0RJUn0vSmF2YVNjcmlwdENvcmUvU2NyaXB0cwotICAgICAg
ICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgZW52ICJERVJJVkVEX1NPVVJDRVNfRElSPSR7
REVSSVZFRF9TT1VSQ0VTX1dFQklOU1BFQ1RPUlVJX0RJUn0iICJTUkNST09UPSR7Q01BS0VfU09V
UkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJIiAiSkFWQVNDUklQVENPUkVfUFJJVkFURV9I
RUFERVJTX0RJUj0ke0ZPUldBUkRJTkdfSEVBREVSU19ESVJ9L0phdmFTY3JpcHRDb3JlL1Njcmlw
dHMiICJUQVJHRVRfQlVJTERfRElSPSR7X2Rlcml2ZWRfc291cmNlc19kaXJ9L0luc3BlY3RvclJl
c291cmNlcyIgIlVOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSD1XZWJJbnNwZWN0b3JV
SSIgIkNPTUJJTkVfSU5TUEVDVE9SX1JFU09VUkNFUz0ke0NPTUJJTkVfSU5TUEVDVE9SX1JFU09V
UkNFU30iICJDT01CSU5FX1RFU1RfUkVTT1VSQ0VTPSR7Q09NQklORV9URVNUX1JFU09VUkNFU30i
IFBZVEhPTj0ke1BZVEhPTl9FWEVDVVRBQkxFfSAke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9TY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBsCisg
ICAgICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBlbnYgIkRFUklWRURfU09VUkNFU19E
SVI9JHtERVJJVkVEX1NPVVJDRVNfV0VCSU5TUEVDVE9SVUlfRElSfSIgIlNSQ1JPT1Q9JHtDTUFL
RV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkiICJKQVZBU0NSSVBUQ09SRV9QUklW
QVRFX0hFQURFUlNfRElSPSR7Rk9SV0FSRElOR19IRUFERVJTX0RJUn0vSmF2YVNjcmlwdENvcmUv
U2NyaXB0cyIgIlRBUkdFVF9CVUlMRF9ESVI9JHtfZGVyaXZlZF9zb3VyY2VzX2Rpcn0vSW5zcGVj
dG9yUmVzb3VyY2VzIiAiVU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIPVdlYkluc3Bl
Y3RvclVJIiAiQ09NQklORV9HU1RSRUFNRVJfUkVTT1VSQ0VTPSR7Q09NQklORV9HU1RSRUFNRVJf
UkVTT1VSQ0VTfSIgIkNPTUJJTkVfSU5TUEVDVE9SX1JFU09VUkNFUz0ke0NPTUJJTkVfSU5TUEVD
VE9SX1JFU09VUkNFU30iICJDT01CSU5FX1RFU1RfUkVTT1VSQ0VTPSR7Q09NQklORV9URVNUX1JF
U09VUkNFU30iIFBZVEhPTj0ke1BZVEhPTl9FWEVDVVRBQkxFfSAke0NNQUtFX1NPVVJDRV9ESVJ9
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9TY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3Vy
Y2VzLnBsCiAgICAgICAgIENPTU1BTkQgbWtkaXIgLXAgJHtfZGVyaXZlZF9zb3VyY2VzX2Rpcn0v
SW5zcGVjdG9yUmVzb3VyY2VzL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2oK
ICAgICAgICAgQ09NTUFORCBjcCAke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgJHtfZGVyaXZl
ZF9zb3VyY2VzX2Rpcn0vSW5zcGVjdG9yUmVzb3VyY2VzL1dlYkluc3BlY3RvclVJL0xvY2FsaXph
dGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwogICAgICAgICBDT01NQU5EIHRvdWNo
ICR7Q01BS0VfQklOQVJZX0RJUn0vaW5zcGVjdG9yLXJlc291cmNlcy5zdGFtcApkaWZmIC0tZ2l0
IGEvU291cmNlL2NtYWtlL0ZpbmRHcmFwaFZpei5jbWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5kR3Jh
cGhWaXouY21ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDFmMDRlYzNkYzNjMDRkNDE2Y2EzOTNhY2NlZWQxZDhk
NzI3MTY2ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9jbWFrZS9GaW5kR3JhcGhWaXouY21h
a2UKQEAgLTAsMCArMSw0OCBAQAorIyAtIFRyeSB0byBmaW5kIEdyYXBoVml6CisjIE9uY2UgZG9u
ZSwgdGhpcyB3aWxsIGRlZmluZQorIworIyAgR1JBUEhWSVpfRk9VTkQgLSBzeXN0ZW0gaGFzIEdy
YXBoVml6LgorIyAgR1JBUEhWSVpfSU5DTFVERV9ESVJTIC0gdGhlIEdyYXBoVml6LiBpbmNsdWRl
IGRpcmVjdG9yaWVzCisjICBHUkFQSFZJWl9MSUJSQVJJRVMgLSBsaW5rIHRoZXNlIHRvIHVzZSBH
cmFwaFZpei4KKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwuCisjCisjIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisj
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTCisjIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyMgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBIT0xERVIgT1IgSVRTCisjIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorIyBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOworIyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwKKyMgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IKKyMgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRgorIyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKwor
ZmluZF9wYWNrYWdlKFBrZ0NvbmZpZykKK3BrZ19jaGVja19tb2R1bGVzKEdSQVBIVklaIGxpYmd2
YyBsaWJjZ3JhcGgpCisKK3NldChWRVJTSU9OX09LIFRSVUUpCitpZiAoR1JBUEhWSVpfVkVSU0lP
TikKKyAgICBpZiAoR1JBUEhWSVpfRklORF9WRVJTSU9OX0VYQUNUKQorICAgICAgICBpZiAoTk9U
KCIke0dSQVBIVklaX0ZJTkRfVkVSU0lPTn0iIFZFUlNJT05fRVFVQUwgIiR7R1JBUEhWSVpfVkVS
U0lPTn0iKSkKKyAgICAgICAgICAgIHNldChWRVJTSU9OX09LIEZBTFNFKQorICAgICAgICBlbmRp
ZiAoKQorICAgIGVsc2UgKCkKKyAgICAgICAgaWYgKCIke0dSQVBIVklaX1ZFUlNJT059IiBWRVJT
SU9OX0xFU1MgIiR7R1JBUEhWSVpfRklORF9WRVJTSU9OfSIpCisgICAgICAgICAgICBzZXQoVkVS
U0lPTl9PSyBGQUxTRSkKKyAgICAgICAgZW5kaWYgKCkKKyAgICBlbmRpZiAoKQorZW5kaWYgKCkK
KworaW5jbHVkZShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKK0ZJTkRfUEFDS0FHRV9I
QU5ETEVfU1RBTkRBUkRfQVJHUyhHUkFQSFZJWiBERUZBVUxUX01TRyBHUkFQSFZJWl9JTkNMVURF
X0RJUlMgR1JBUEhWSVpfTElCUkFSSUVTIFZFUlNJT05fT0spCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
Y21ha2UvR1N0cmVhbWVyQ2hlY2tzLmNtYWtlIGIvU291cmNlL2NtYWtlL0dTdHJlYW1lckNoZWNr
cy5jbWFrZQppbmRleCAxOGIxMmY4MmE4ZDI4YzM0MjNmM2U2ZjMxNDczODg5OGMxZjY0NzZjLi45
ZmEzNDI4MGIzZWIwNzhkYTI0ODE3ZDkwOTgxMDU3YzU0ZGVmY2YyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvY21ha2UvR1N0cmVhbWVyQ2hlY2tzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9HU3RyZWFt
ZXJDaGVja3MuY21ha2UKQEAgLTEwLDYgKzEwLDcgQEAgaWYgKEVOQUJMRV9WSURFTyBPUiBFTkFC
TEVfV0VCX0FVRElPKQogICAgICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0VfV0VCQVVE
SU9fR1NUUkVBTUVSIFRSVUUpCiAgICAgZW5kaWYgKCkKIAorICAgIGZpbmRfcGFja2FnZShHcmFw
aFZpeiAyLjQzIFJFUVVJUkVEKQogICAgIGZpbmRfcGFja2FnZShHU3RyZWFtZXIgMS4xMC4wIFJF
UVVJUkVEIENPTVBPTkVOVFMgJHtHU1RSRUFNRVJfQ09NUE9ORU5UU30pCiAKICAgICBpZiAoRU5B
QkxFX1dFQl9BVURJTykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385889</attachid>
            <date>2019-12-17 08:06:55 -0800</date>
            <delta_ts>2019-12-18 04:55:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204619-20191217160653.patch</filename>
            <type>text/plain</type>
            <size>625601</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
NzQ3YWU3ZWRlZjk3Zjg4Y2RjZmEzZjgzOGZlY2VkMDVmZGYzYzAxLi5lOGQ1MTkzNWY0N2QyNjFm
MmE3OWMzN2VjNDJjYWQ2MTQ4MmI1OGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBm
b3IgR1N0cmVhbWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb246
IEFkZCBHU3RyZWFtZXIgQVBJIGZvciBwaXBlbGluZSBpbnNwZWN0aW9uIGluIHRoZSBwYWdlIHBy
b3RvY29sLgorCiAyMDE5LTEyLTE3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0ganNjX2NvbnRleHRfZXZhbHVhdGVfaW5fb2JqZWN0
IHNob3VsZCB0YWtlIHRoZSBBUEkgbG9jayBiZWZvcmUgY2FsbGluZyBzZXRHbG9iYWxTY29wZUV4
dGVuc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDY1OGQyZDIwMTFjYWMwOWRmYTIxZGY3MTllNGZiOWEwYmNi
NDY3MjEuLmYzNWVlODcyYmJkYzJhODI3MTkyN2U3MzdhNTQ3OWUyZTQ1YzY1OWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw1NSBAQAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3Jt
YW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQg
bmV3IHRhYiBmb3IgR1N0cmVhbWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBLZWVwIHRyYWNrIG9mIHRoZSBHU3Ry
ZWFtZXIgcGlwZWxpbmVzLCB0aGlzIHdpbGwgYWxsb3cgdGhlCisgICAgICAgIFdlYkluc3BlY3Rv
ciB0byBsaXN0IGFuZCBkaXNwbGF5IHRoZW0gaW4gYSBkZWRpY2F0ZWQgdGFiLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggZG9lc24ndCBjb3ZlciB0aGUgcGlwZWxpbmVzIGNyZWF0ZWQgYnkgdGhlIEdT
dHJlYW1lcgorICAgICAgICBMaWJXZWJSVEMgYmFja2VuZC4gU3VwcG9ydCBmb3IgdGhhdCB3b3Vs
ZCBiZSBhZGRlZCBsYXRlciwgaWYgdGhlCisgICAgICAgIGN1cnJlbnQgYXBwcm9hY2ggaXMgZGVl
bWVkIGFjY2VwdGFibGUuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4
dC5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlv
bk5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2Rl
Ojp1bmluaXRpYWxpemUpOgorICAgICAgICAoV2ViQ29yZTo6RGVmYXVsdEF1ZGlvRGVzdGluYXRp
b25Ob2RlOjpjcmVhdGVEZXN0aW5hdGlvbik6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmdzdHJlYW1lclBp
cGVsaW5lc0NhY2hlVXBkYXRlZCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnBvcnQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFtZXJQaXBlbGluZUNhY2hlVXBkYXRlZEltcGwp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Z3N0cmVhbWVyUGlwZWxpbmVD
YWNoZVVwZGF0ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6Z2V0R1N0cmVh
bWVyUGlwZWxpbmVzTmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50
OjpnZXRHU3RyZWFtZXJQaXBlbGluZUJpbk5hbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvclBhZ2VBZ2VudDo6ZHVtcEdTdHJlYW1lclBpcGVsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvclBhZ2VBZ2VudDo6Z3N0cmVhbWVyUGlwZWxpbmVDYWNoZVVwZGF0ZWQpOgorICAg
ICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcjo6QXVkaW9EZXN0aW5h
dGlvbkdTdHJlYW1lcik6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0Rlc3RpbmF0aW9uR1N0cmVh
bWVyOjp+QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcik6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyQ2xpZW50
Ojpnc3RyZWFtZXJQaXBlbGluZXNDYWNoZVVwZGF0ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
cmVnaXN0ZXJHU3RyZWFtZXJQaXBlbGluZSk6CisgICAgICAgIChXZWJDb3JlOjp1bnJlZ2lzdGVy
R1N0cmVhbWVyUGlwZWxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6Z3N0UGlwZWxpbmVzTmFtZXMp
OgorICAgICAgICAoV2ViQ29yZTo6ZHVtcEdTdHJlYW1lclBpcGVsaW5lKToKKyAgICAgICAgKFdl
YkNvcmU6OmdldEJpbkNoaWxkcmVuKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFBpcGVsaW5lKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbik6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBlbmRQaXBlbGluZTo6QXBwZW5kUGlwZWxpbmUpOgor
ICAgICAgICAoV2ViQ29yZTo6QXBwZW5kUGlwZWxpbmU6On5BcHBlbmRQaXBlbGluZSk6CisKIDIw
MTktMTItMTcgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFVw
ZGF0ZSBzZXNzaW9uIGNhdGVnb3J5IGluIE1vY2tBdWRpb1NoYXJlZFVuaXQgYXMgZG9uZSBpbiBD
b3JlQXVkaW9TaGFyZWRVbml0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAwYWQyMzY1NTY2
ZTUzNTgxZGU0MmQ4ZjYzNmI1MzZkNDQwZjdlMzcwLi42OTliY2Q0YzI5ZTA5YjhmNTMxMTYwYzIy
NWFmZDhiMGUxYzY5N2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4NSBA
QAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBmb3IgR1N0cmVh
bWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBGb3IgdGhlIFdQRSBhbmQgR1RLIHBvcnRzIGEgbmV3IEluc3BlY3Rv
ciB0YWIgaXMgbm93IGF2YWlsYWJsZS4gT24KKyAgICAgICAgdGhlIGxlZnQgaGFuZC1zaWRlIHRo
ZSBjdXJyZW50bHkgYWxpdmUgcGlwZWxpbmVzIGFyZSBsaXN0ZWQuIFdoZW4KKyAgICAgICAgYSBw
aXBlbGluZSBpcyBzZWxlY3RlZCwgaXRzIGdyYXBoIHJlcHJlc2VudGF0aW9uIGlzIGV4cG9ydGVk
IHRvCisgICAgICAgIFNWRyBhbmQgZGlzcGxheWVkIG9uIHRoZSByaWdodCBoYW5kLXNpZGUgb2Yg
dGhlIHRhYiB2aWV3LiBTdWIgYmlucworICAgICAgICBvZiB0aGUgcGlwZWxpbmVzIGNhbiBiZSBz
ZWxlY3RlZCBhbmQgdGhlIGdyYXBoIHdpbGwgYmUgdXBkYXRlZAorICAgICAgICBhY2NvcmRpbmds
eS4gVGhlIGZ1bGwgZ3JhcGggY2FuIGJlIGV4cG9ydGVkIHRvIEdyYXBoVml6IGZvcm1hdCBhbmQK
KyAgICAgICAgc2F2ZWQgdG8gYSBmaWxlLgorCisgICAgICAgIFRoZSB2aXouanMgYW5kIHN2Zy1w
YW4tem9vbSBKUyBsaWJyYXJpZXMgYXJlIG5vdyBidW5kbGVkIGFzCisgICAgICAgIHRoaXJkLXBh
cnR5IG1vZHVsZXMuIExhdGVyIG9uIHRoZSBkMywgZGFncmUtZDMgYW5kIGdyYXBobGliLWRvdAor
ICAgICAgICBsaWJyYXJpZXMgY291bGQgYmUgdXNlZC4gRm9yIHRoZSB0aW1lIGJlaW5nIHRoZSBn
cmFwaGxpYi1kb3QKKyAgICAgICAgcGFyc2VyIGRvZXNuJ3QgaGFuZGxlIHRoZSBHcmFwaHZpeiBt
b2RlbHMgZXhwb3J0ZWQgYnkgR1N0cmVhbWVyLgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9l
bi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFNjcmlwdHMvY29weS11c2Vy
LWludGVyZmFjZS1yZXNvdXJjZXMucGw6CisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL01h
aW4uanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL1BsYXRmb3JtLmpzOgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR1N0cmVhbWVyTWFuYWdlci5qczogQWRkZWQu
CisgICAgICAgICogVXNlckludGVyZmFjZS9FeHRlcm5hbC9zdmctcGFuLXpvb20uanMvTElDRU5T
RTogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9FeHRlcm5hbC9zdmctcGFuLXpvb20u
anMvc3ZnLXBhbi16b29tLm1pbi5qczogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9F
eHRlcm5hbC92aXouanMvTElDRU5TRTogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9F
eHRlcm5hbC92aXouanMvZnVsbC5yZW5kZXIuanM6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvRXh0ZXJuYWwvdml6LmpzL2xpdGUucmVuZGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL0V4dGVybmFsL3Zpei5qcy92aXouanM6IEFkZGVkLgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvSW1hZ2VzL0dTdHJlYW1lci5zdmc6IEFkZGVkLgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvTWFpbi5odG1sOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL0dTdHJl
YW1lclBpcGVsaW5lLmpzOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Byb3RvY29s
L1BhZ2VPYnNlcnZlci5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1l
clNpZGViYXJQYW5lbC5jc3M6IEFkZGVkLgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2
aWdhdGlvbi5kZWJ1Z2dlciA+IC5jb250ZW50KToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVs
Lm5hdmlnYXRpb24uZGVidWdnZXIgPiAubmF2aWdhdGlvbi1iYXIpOgorICAgICAgICAoLnNpZGVi
YXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciA+IC5uYXZpZ2F0aW9uLWJhciAuZGVidWdn
ZXItYnJlYWtwb2ludHMpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5k
ZWJ1Z2dlciA+IC5uYXZpZ2F0aW9uLWJhciAuZGVidWdnZXItYnJlYWtwb2ludHMuYWN0aXZhdGVk
KToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgPiAubmF2
aWdhdGlvbi1iYXIgLmRlYnVnZ2VyLXBhdXNlLXJlc3VtZSk6CisgICAgICAgICguc2lkZWJhciA+
IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyID4gLm5hdmlnYXRpb24tYmFyIC5kZWJ1Z2dlci1w
YXVzZS1yZXN1bWUuYWN0aXZhdGVkKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmln
YXRpb24uZGVidWdnZXIgLndhcm5pbmctYmFubmVyKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBh
bmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkID4gLml0
ZW0udGhyZWFkKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdn
ZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkKToKKyAgICAgICAgKGJvZHlbZGlyPWx0cl0g
LnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAudHJlZS1vdXRsaW5lLnNpbmds
ZS10aHJlYWQpOgorICAgICAgICAoYm9keVtkaXI9cnRsXSAuc2lkZWJhciA+IC5wYW5lbC5uYXZp
Z2F0aW9uLmRlYnVnZ2VyIC50cmVlLW91dGxpbmUuc2luZ2xlLXRocmVhZCk6CisgICAgICAgICgu
c2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC53YXJuaW5nLWJhbm5lciA+IGEp
OgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0YWls
cy1zZWN0aW9uKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdn
ZXIgLmRldGFpbHMtc2VjdGlvbi5wYXVzZWQtcmVhc29uLmNvbGxhcHNlZCA+IC5oZWFkZXIgPiAu
b3B0aW9ucyk6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2Vy
IC5kZXRhaWxzLXNlY3Rpb24gPiAuY29udGVudCk6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5l
bC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC5kZXRhaWxzLXNlY3Rpb24uY29sbGFwc2VkID4gLmNvbnRl
bnQpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0
YWlscy1zZWN0aW9uID4gLmNvbnRlbnQgPiAuZ3JvdXApOgorICAgICAgICAoLnNpZGViYXIgPiAu
cGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0YWlscy1zZWN0aW9uLnNjcmlwdHM6bm90KC5j
b2xsYXBzZWQpKToKKyAgICAgICAgKEBtZWRpYSAocHJlZmVycy1kYXJrLWludGVyZmFjZSkpOgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBhbmVsLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRW
aWV3LmNzczogQWRkZWQuCisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lcik6CisgICAg
ICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciAubmF2aWdhdGlvbi1iYXIpOgorICAgICAgICAo
LmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgLm5hdmlnYXRpb24tYmFyLmludmlzaWJsZSk6CisgICAg
ICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciAubmF2aWdhdGlvbi1iYXIgLml0ZW0ucmFkaW8u
YnV0dG9uLnRleHQtb25seSk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciAubmF2
aWdhdGlvbi1iYXIgLml0ZW0ucmFkaW8uYnV0dG9uLnRleHQtb25seS5zZWxlY3RlZCk6CisgICAg
ICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5zZXBhcmF0
b3IpOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcg
PiAuY29udGFpbmVyKToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJl
YW1lci12aWV3ID4gLmNvbnRhaW5lci5oaWRkZW4pOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5n
c3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyLWNlbnRlcmVkKToKKyAgICAg
ICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5l
ciBidXR0b24pOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVy
LXZpZXcgPiAuY29udGFpbmVyID4gLnRpdGxlKToKKyAgICAgICAgKGJvZHlbZGlyPWx0cl0gLmNv
bnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLnRp
dGxlKToKKyAgICAgICAgKGJvZHlbZGlyPXJ0bF0gLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAu
Z3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLnRpdGxlKToKKyAgICAgICAgKC5jb250ZW50
LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3It
Z3JvdXApOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZp
ZXcgPiAuY29udGFpbmVyID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXQpOgorICAgICAg
ICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVy
ID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0iY2hlY2tib3giXSk6CisgICAg
ICAgIChib2R5W2Rpcj1sdHJdIC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12
aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAgPiAuZWRpdG9yIGlucHV0W3R5cGU9ImNo
ZWNrYm94Il0pOgorICAgICAgICAoYm9keVtkaXI9cnRsXSAuY29udGVudC12aWV3LmdzdHJlYW1l
ciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRv
ciBpbnB1dFt0eXBlPSJjaGVja2JveCJdKToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVh
bWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAgPiAuZWRp
dG9yIHNlbGVjdCk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFt
ZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRvciBpbnB1dFt0eXBl
PSJudW1iZXIiXSk6CisgICAgICAgIChib2R5W2Rpcj1sdHJdIC5jb250ZW50LXZpZXcuZ3N0cmVh
bWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAgPiAuZWRp
dG9yIGlucHV0W3R5cGU9Im51bWJlciJdKToKKyAgICAgICAgKGJvZHlbZGlyPXJ0bF0gLmNvbnRl
bnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLmVkaXRv
ci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0ibnVtYmVyIl0pOgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuanM6IEFkZGVkLgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVmlldy5qczogQWRkZWQuCisKIDIwMTkt
MTItMTEgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkIFRhYk5hdmlnYXRpb24gZGlhZ25vc3RpYyBldmVudCBhbmQgcmVsYXRlZCBob29r
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCBiNGRjMmUyN2IxYzA2YTZjMzJiODdhZTZiYzE5NGYxYzU4NmE5NDg4Li44
ZTAyZjllMmFiYjE5MmMzOTQ1NjNjNDA0MzBlYTcwNTdhYjg0YjIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDE5LTExLTI2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlh
LmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIFdlYiBJbnNwZWN0b3I6IEFkZCBuZXcgdGFiIGZv
ciBHU3RyZWFtZXIgcGlwZWxpbmVzIGluc3BlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDYxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW5zcGVjdG9yR1Jlc291cmNlcy5jbWFrZTogQnVu
ZGxlIHN2Zy1wYW4tem9vbSBhbmQgdml6IEphdmFTY3JpcHQgbW9kdWxlcy4KKwogMjAxOS0xMi0x
NyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dUS11bV1BFXSBJbmRleGVkREIgZGlyZWN0b3J5IHNldCBpbiBXZWJzaXRlRGF0YU1hbmFnZXIg
aXMgaWdub3JlZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDNkY2NlMGY4
MWVkNDRjNzRkNjBlYTVhMGM2MjhkOGJmYWQ5MzMwOGYuLjljNGRjNWFkYmViZDE4YjJjNzdiMzE4
NmEyZjgzYTAzM2RiZjUxNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTExODMsNiArMTE4MywxMiBAQCBpZiAoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKQogICAgICkKIGVu
ZGlmICgpCiAKK2lmIChVU0VfR1NUUkVBTUVSKQorICAgIGxpc3QoQVBQRU5EIEphdmFTY3JpcHRD
b3JlX0lOU1BFQ1RPUl9ET01BSU5TCisgICAgICAgICR7SkFWQVNDUklQVENPUkVfRElSfS9pbnNw
ZWN0b3IvcHJvdG9jb2wvR1N0cmVhbWVyLmpzb24KKyAgICApCitlbmRpZiAoKQorCiBhZGRfY3Vz
dG9tX2NvbW1hbmQoCiAgICAgT1VUUFVUICR7SmF2YVNjcmlwdENvcmVfREVSSVZFRF9TT1VSQ0VT
X0RJUn0vQ29tYmluZWREb21haW5zLmpzb24KICAgICBNQUlOX0RFUEVOREVOQ1kgJHtKYXZhU2Ny
aXB0Q29yZV9TQ1JJUFRTX0RJUn0vZ2VuZXJhdGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvR1N0
cmVhbWVyLmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0dT
dHJlYW1lci5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhZjNlMzc1ODcwMmM1ODUxMTVkNDE1ZmExMTAwOTdj
MWMzYTZmMGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3Byb3RvY29sL0dTdHJlYW1lci5qc29uCkBAIC0wLDAgKzEsNDQgQEAKK3sKKyAgICAiZG9t
YWluIjogIkdTdHJlYW1lciIsCisgICAgImZlYXR1cmVHdWFyZCI6ICJVU0UoR1NUUkVBTUVSKSIs
CisgICAgImRlYnVnZ2FibGVUeXBlcyI6IFsicGFnZSIsICJ3ZWItcGFnZSJdLAorICAgICJ0YXJn
ZXRUeXBlcyI6IFsicGFnZSJdLAorICAgICJ0eXBlcyI6IFtdLAorICAgICJjb21tYW5kcyI6IFsK
KyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZ2V0QWN0aXZlUGlwZWxpbmVzTmFtZXMi
LAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJldHVybnMgdGhlIGxpc3Qgb2YgY3VycmVu
dGx5IHJ1bm5pbmcgR1N0cmVhbWVyIHBpcGVsaW5lcy4iLAorICAgICAgICAgICAgInJldHVybnMi
OiBbCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwaXBlbGluZXMiLCAidHlwZSI6ICJhcnJh
eSIsICJpdGVtcyI6IHsgIiRyZWYiOiAic3RyaW5nIn0sICJkZXNjcmlwdGlvbiI6ICJBcnJheSBv
ZiBwaXBlbGluZSBuYW1lcy4iIH0KKyAgICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAg
eworICAgICAgICAgICAgIm5hbWUiOiAiZ2V0QWN0aXZlUGlwZWxpbmVCaW5OYW1lcyIsCisgICAg
ICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB0aGUgbGlzdCBvZiBiaW5zIGluIHRoZSBn
aXZlbiBHU3RyZWFtZXIgcGlwZWxpbmUuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwor
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGlwZWxpbmUiLCAidHlwZSI6ICJzdHJpbmciLCAi
ZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgR1N0cmVhbWVyIHBpcGVsaW5lIHRvIGR1bXAuIiB9
LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY2hpbGQiLCAidHlwZSI6ICJzdHJpbmciLCAi
ZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgY2hpbGQgYmluIHRvIGR1bXAuIiB9CisgICAgICAg
ICAgICBdLAorICAgICAgICAgICAgInJldHVybnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJiaW5OYW1lcyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJzdHJp
bmcifSwgImRlc2NyaXB0aW9uIjogIkFycmF5IG9mIGJpbiBuYW1lcy4iIH0KKyAgICAgICAgICAg
IF0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZHVtcEFjdGl2
ZVBpcGVsaW5lIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHRoZSBTVkcg
cmVwcmVzZW50YXRpb24gb2YgdGhlIGdpdmVuIEdTdHJlYW1lciBwaXBlbGluZS4iLAorICAgICAg
ICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwaXBlbGlu
ZSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJOYW1lIG9mIHRoZSBHU3RyZWFt
ZXIgcGlwZWxpbmUgdG8gZHVtcC4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJjaGls
ZCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJOYW1lIG9mIHRoZSBjaGlsZCBi
aW4gdG8gZHVtcC4iIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAicmV0dXJucyI6IFsK
KyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBpcGVsaW5lR3JhcGhSZXByZXNlbnRhdGlvbiIs
ICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJTVkcgcmVwcmVzZW50YXRpb24gb2Yg
dGhlIHBpcGVsaW5lIiB9CisgICAgICAgICAgICBdCisgICAgICAgIH0KKyAgICBdLAorICAgICJl
dmVudHMiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAgICJuYW1lIjogImFjdGl2ZVBpcGVsaW5l
c0NoYW5nZWQiLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gdGhlIGlu
dGVybmFsIHJlZ2lzdHJ5IG9mIGFjdGl2ZSBHU3RyZWFtZXIgcGlwZWxpbmVzIHdhcyB1cGRhdGVk
LCBlZyB3aGVuIGEgbmV3IHBpcGVsaW5lIHdhcyByZWdpc3RlcmVkIG9yIHdoZW4gYSBwaXBlbGlu
ZSB3YXMgcmVtb3ZlZCBmcm9tIHRoZSByZWdpc3RyeS4iCisgICAgICAgIH0KKyAgICBdCit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKaW5k
ZXggZDYxNWM5NzliYjU3NTQwMWU3NzgzMmU0OWM1NjM4ZDc5OThlNjM3NC4uMjRjZGVmYmYyMzQ0
OTQyNGU3OTZjN2E2MjcxMmFhYjRmM2Q3NmEzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcApAQCAtODQsMTAgKzg0LDYgQEAKICNpbmNs
dWRlIDxzdGRpby5oPgogI2VuZGlmCiAKLSNpZiBVU0UoR1NUUkVBTUVSKQotI2luY2x1ZGUgIkdT
dHJlYW1lckNvbW1vbi5oIgotI2VuZGlmCi0KICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2lu
Y2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5h
dGlvbk5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVk
aW9EZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IDI2NzJkNjVlNjhmZWIwMTYyOGJlZjBmMGUwYjBh
ZDRkMzFmNDViN2MuLmI3MGNhYWZkOGJlNzFmNzBlZjc3ZDFiNTY2M2UwMDlhMGRlZDYzOTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVz
dGluYXRpb25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Rl
ZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKQEAgLTMwLDYgKzMwLDggQEAKIAogI2luY2x1
ZGUgIkF1ZGlvQ29udGV4dC5oIgogI2luY2x1ZGUgIkF1ZGlvRGVzdGluYXRpb24uaCIKKyNpbmNs
dWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgog
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0Lmgi
CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KQEAgLTc3LDYgKzc5LDEyIEBAIHZv
aWQgRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjp1bmluaXRpYWxpemUoKQogICAgIG1fZGVz
dGluYXRpb24gPSBudWxscHRyOwogICAgIG1fbnVtYmVyT2ZJbnB1dENoYW5uZWxzID0gMDsKIAor
I2lmIFVTRShHU1RSRUFNRVIpCisgICAgYXV0byogZG9jdW1lbnQgPSBjb250ZXh0KCkuZG9jdW1l
bnQoKTsKKyAgICBpZiAoZG9jdW1lbnQpCisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6Z3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZChkb2N1bWVudC0+cGFnZSgpKTsKKyNl
bmRpZgorCiAgICAgQXVkaW9Ob2RlOjp1bmluaXRpYWxpemUoKTsKIH0KIApAQCAtODQsOCArOTIs
MTQgQEAgdm9pZCBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGU6OmNyZWF0ZURlc3RpbmF0aW9u
KCkKIHsKICAgICBmbG9hdCBoYXJkd2FyZVNhbXBsZVJhdGUgPSBBdWRpb0Rlc3RpbmF0aW9uOjpo
YXJkd2FyZVNhbXBsZVJhdGUoKTsKICAgICBMT0coV2ViQXVkaW8sICI+Pj4+IGhhcmR3YXJlU2Ft
cGxlUmF0ZSA9ICVmXG4iLCBoYXJkd2FyZVNhbXBsZVJhdGUpOwotICAgIAorCiAgICAgbV9kZXN0
aW5hdGlvbiA9IEF1ZGlvRGVzdGluYXRpb246OmNyZWF0ZSgqdGhpcywgbV9pbnB1dERldmljZUlk
LCBtX251bWJlck9mSW5wdXRDaGFubmVscywgY2hhbm5lbENvdW50KCksIGhhcmR3YXJlU2FtcGxl
UmF0ZSk7CisKKyNpZiBVU0UoR1NUUkVBTUVSKQorICAgIGF1dG8qIGRvY3VtZW50ID0gY29udGV4
dCgpLmRvY3VtZW50KCk7CisgICAgaWYgKGRvY3VtZW50KQorICAgICAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoZG9jdW1lbnQtPnBh
Z2UoKSk7CisjZW5kaWYKIH0KIAogdm9pZCBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGU6OmVu
YWJsZUlucHV0KGNvbnN0IFN0cmluZyYgaW5wdXREZXZpY2VJZCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXgg
OGU5MmZkYWMzNzQwNDRiYWRlYmQ2MTRjNDAzNjcwNjkwNjI4MWIyZC4uYjdmNGQyZGUwYzMxZmNj
NGFkMjhkZTEwMTlkYjMzZWNjNmU1YWYwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTEzOTMsNiArMTM5
Myw3IEBAIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAKIGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcAogaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmNwcAogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JJbmRleGVkREJBZ2VudC5jcHAKK2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVy
QWdlbnQuY3BwCiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcAog
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKIGluc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKaW5kZXggNzMwYjRlMzg5ZTc4M2ZlNTY2NzU1YjhhYzM2ODgxMTlmMDk2OTE2
NC4uYTI2NjY5MWFhYzVlZjhiNmJhNjJiYjM4NzFmMjFkMTY1YmQ0ODg1MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03MjI1LDYgKzcyMjUsMTEgQEAgdm9p
ZCBIVE1MTWVkaWFFbGVtZW50OjpyZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zKGNvbnN0IFN0
cmluZyYgZGV0YWlscywgY29uc3QKIAogICAgIGRvY3VtZW50KCkucGFnZSgpLT5jaHJvbWUoKS5j
bGllbnQoKS5yZXF1ZXN0SW5zdGFsbE1pc3NpbmdNZWRpYVBsdWdpbnMoZGV0YWlscywgZGVzY3Jp
cHRpb24sIGNhbGxiYWNrKTsKIH0KKwordm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpnc3RyZWFtZXJB
Y3RpdmVQaXBlbGluZXNDaGFuZ2VkKCkKK3sKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoZG9jdW1lbnQoKS5wYWdlKCkpOworfQog
I2VuZGlmCiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cmVtb3ZlQmVoYXZpb3JSZXN0cmljdGlv
bnNBZnRlckZpcnN0VXNlckdlc3R1cmUoTWVkaWFFbGVtZW50U2Vzc2lvbjo6QmVoYXZpb3JSZXN0
cmljdGlvbnMgbWFzaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXgg
YTVmMTg3Yjc4Zjk0NjE0MTQ5ZWQyYzNkNjRmNGRhNjg0YTNiYzYyZS4uYmMwOTAxMzgyYTdhZjU4
Yzk3MTJjOGE4NTQ1YjRhZTY2ZGMwMTI2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgKQEAgLTc1OCw2ICs3NTgsNyBAQCBwcml2YXRlOgogCiAjaWYgVVNFKEdTVFJFQU1F
UikKICAgICB2b2lkIHJlcXVlc3RJbnN0YWxsTWlzc2luZ1BsdWdpbnMoY29uc3QgU3RyaW5nJiBk
ZXRhaWxzLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBNZWRpYVBsYXllclJlcXVlc3RJbnN0
YWxsTWlzc2luZ1BsdWdpbnNDYWxsYmFjayYpIGZpbmFsOworICAgIHZvaWQgZ3N0cmVhbWVyQWN0
aXZlUGlwZWxpbmVzQ2hhbmdlZCgpIGZpbmFsOwogI2VuZGlmCiAKICAgICB2b2lkIHBlbmRpbmdB
Y3Rpb25UaW1lckZpcmVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5jcHAKaW5kZXggN2Q1MGRkYzdhMzhhMzcyM2U0ZWU3ZDY2Y2E5N2M4YWNi
MzdjNzI2YS4uZWYxMzJmMTJiMzE5ZTA0MzViZDU3YzI3NjJjMDcwZTg1NGU0Mzc2ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAt
ODgsNiArODgsMTAgQEAKICNpbmNsdWRlICJQYWdlRGVidWdnYWJsZS5oIgogI2VuZGlmCiAKKyNp
ZiBVU0UoR1NUUkVBTUVSKQorI2luY2x1ZGUgIkluc3BlY3RvckdTdHJlYW1lckFnZW50LmgiCisj
ZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwpAQCAt
MTc0LDYgKzE3OCwxMCBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNyZWF0ZUxhenlBZ2Vu
dHMoKQogICAgIG1fYWdlbnRzLmFwcGVuZChtYWtlVW5pcXVlPEluc3BlY3RvckluZGV4ZWREQkFn
ZW50PihwYWdlQ29udGV4dCkpOwogI2VuZGlmCiAKKyNpZiBVU0UoR1NUUkVBTUVSKQorICAgIG1f
YWdlbnRzLmFwcGVuZChtYWtlVW5pcXVlPEluc3BlY3RvckdTdHJlYW1lckFnZW50PihwYWdlQ29u
dGV4dCkpOworI2VuZGlmCisKICAgICBhdXRvIHNjcmlwdFByb2ZpbGVyQWdlbnRQdHIgPSBtYWtl
VW5pcXVlPEluc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQ+KHBhZ2VDb250ZXh0KTsKICAgICBt
X2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvclNjcmlwdFByb2ZpbGVyQWdlbnQoc2Ny
aXB0UHJvZmlsZXJBZ2VudFB0ci5nZXQoKSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKFdURk1vdmUo
c2NyaXB0UHJvZmlsZXJBZ2VudFB0cikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAppbmRleCBlNzIwNGNiMzM1M2U5MjUxMDAwZmE1
MjJhMjQ3NzhhYmI2NjIxN2I1Li40Njc4NWIzZDA0Y2I3NDAzNGI1ZTA5MDg2NDYwNDcyMDE4YjI2
NzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LmNwcApAQCAtMzE1LDYgKzMxNSw4IEBAIFN0cmluZyBJbnNwZWN0b3JGcm9udGVuZEhv
c3Q6OnBvcnQoKQogewogI2lmIFBMQVRGT1JNKEdUSykKICAgICByZXR1cm4gImd0ayJfczsKKyNl
bGlmIFBMQVRGT1JNKFdQRSkKKyAgICByZXR1cm4gIndwZSJfczsKICNlbHNlCiAgICAgcmV0dXJu
ICJ1bmtub3duIl9zOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDRmMThiNThjNmNkMDFlMGI2OWE4
OTUzYWQwOWE3MzljMzUyMDQ5NmEuLjcxNDVlZTA4NmRjODhhOTBiN2Q2ZWUyN2Y5ODU5Y2VhOGRm
NDllOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uY3BwCkBAIC04NSw2ICs4NSwxMCBAQAogI2luY2x1ZGUgIldlYkdQVVN3
YXBDaGFpbi5oIgogI2VuZGlmCiAKKyNpZiBVU0UoR1NUUkVBTUVSKQorI2luY2x1ZGUgIkluc3Bl
Y3RvckdTdHJlYW1lckFnZW50LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1
c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwpAQCAtMTI4Niw0ICsxMjkwLDEyIEBAIEluc3RydW1l
bnRpbmdBZ2VudHMqIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aW5zdHJ1bWVudGluZ0FnZW50
c0ZvckNvbnRleHQoU2NyCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKKyNpZiBVU0UoR1NUUkVB
TUVSKQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1lckFjdGl2ZVBpcGVs
aW5lc0NoYW5nZWRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMp
Cit7CisgICAgaWYgKGF1dG8qIGdzdHJlYW1lckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5p
bnNwZWN0b3JHU3RyZWFtZXJBZ2VudCgpKQorICAgICAgICBnc3RyZWFtZXJBZ2VudC0+YWN0aXZl
UGlwZWxpbmVzQ2hhbmdlZCgpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaAppbmRleCBkYmY4MjIwNWRiNWJjY2JlMTY5ZWQwZTk0N2QxYWQ4M2RkODUwZmQ2Li5lYmE1
NmQ4OWZjNGI4NzY0MzAxZjk2ZTBlMDE4MTZlMDM4MzExYTc5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0zMTQsNiAr
MzE0LDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBsYXllclRyZWVEaWRDaGFuZ2UoUGFn
ZSopOwogICAgIHN0YXRpYyB2b2lkIHJlbmRlckxheWVyRGVzdHJveWVkKFBhZ2UqLCBjb25zdCBS
ZW5kZXJMYXllciYpOwogCisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBzdGF0aWMgdm9pZCBnc3Ry
ZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKFBhZ2UqKTsKKyNlbmRpZgorCiAgICAgc3RhdGlj
IHZvaWQgZnJvbnRlbmRDcmVhdGVkKCk7CiAgICAgc3RhdGljIHZvaWQgZnJvbnRlbmREZWxldGVk
KCk7CiAgICAgc3RhdGljIGJvb2wgaGFzRnJvbnRlbmRzKCkgeyByZXR1cm4gSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uUHVibGljOjpoYXNGcm9udGVuZHMoKTsgfQpAQCAtNDc5LDYgKzQ4Myw5IEBA
IHByaXZhdGU6CiAjaWYgRU5BQkxFKFJFU09VUkNFX1VTQUdFKQogICAgIHN0YXRpYyB2b2lkIGRp
ZEhhbmRsZU1lbW9yeVByZXNzdXJlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgQ3JpdGljYWwp
OwogI2VuZGlmCisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBzdGF0aWMgdm9pZCBnc3RyZWFtZXJB
Y3RpdmVQaXBlbGluZXNDaGFuZ2VkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJik7CisjZW5kaWYK
IAogICAgIHN0YXRpYyB2b2lkIG5ldHdvcmtTdGF0ZUNoYW5nZWRJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMmKTsKICAgICBzdGF0aWMgdm9pZCB1cGRhdGVBcHBsaWNhdGlvbkNhY2hlU3RhdHVzSW1w
bChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRnJhbWUmKTsKQEAgLTE2MTUsNiArMTYyMiwxNSBAQCBp
bmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxGaXJlQW5pbWF0aW9uRnJh
bWUoRG9jdW1lbnQmIGRvY3VtZW50LAogICAgICAgICB3aWxsRmlyZUFuaW1hdGlvbkZyYW1lSW1w
bCgqaW5zdHJ1bWVudGluZ0FnZW50cywgY2FsbGJhY2tJZCwgZG9jdW1lbnQpOwogfQogCisjaWYg
VVNFKEdTVFJFQU1FUikKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Z3N0
cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZChQYWdlKiBwYWdlKQoreworICAgIEZBU1RfUkVU
VVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOworICAgIGlmIChhdXRvKiBpbnN0cnVtZW50aW5n
QWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCisgICAgICAgIGdzdHJl
YW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzKTsKK30K
KyNlbmRpZgorCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpcmVB
bmltYXRpb25GcmFtZShEb2N1bWVudCYgZG9jdW1lbnQpCiB7CiAgICAgRkFTVF9SRVRVUk5fSUZf
Tk9fRlJPTlRFTkRTKHZvaWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
dHJ1bWVudGluZ0FnZW50cy5jcHAKaW5kZXggMWY5YTBkN2M1MzJhM2Y5MDg1NmMxODRhMWZmYzNi
MWNmMzVlZmM4Ny4uZWI3YzMxODdhMmNlMDExZGUwNTdkZDJiOTMxMWM5NjJjNmEwZTkzNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcApA
QCAtNzEsNiArNzEsOSBAQCB2b2lkIEluc3RydW1lbnRpbmdBZ2VudHM6OnJlc2V0KCkKICAgICBt
X2luc3BlY3RvckNhbnZhc0FnZW50ID0gbnVsbHB0cjsKICAgICBtX3BlcnNpc3RlbnRJbnNwZWN0
b3JBbmltYXRpb25BZ2VudCA9IG51bGxwdHI7CiAgICAgbV90cmFja2luZ0luc3BlY3RvckFuaW1h
dGlvbkFnZW50ID0gbnVsbHB0cjsKKyNpZiBVU0UoR1NUUkVBTUVSKQorICAgIG1faW5zcGVjdG9y
R1N0cmVhbWVyQWdlbnQgPSBudWxscHRyOworI2VuZGlmCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5n
QWdlbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5o
CmluZGV4IGY2ZmVhN2RhMjEzNjBkZDA4Y2MzZDk2NmIxNGUyYWFjNDY1NDQ5MTUuLjRhNmQzOTdm
ODZhYmUxMzhhYzg1MGI2OTllOGY3NmRiZGVhY2M5YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaApAQCAtMzYsNiArMzYsMTAgQEAKICNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCisj
aWYgVVNFKEdTVFJFQU1FUikKKyNpbmNsdWRlICJJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5oIgor
I2VuZGlmCisKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogY2xhc3MgSW5zcGVjdG9yQWdlbnQ7CiBj
bGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OwpAQCAtMTU5LDYgKzE2MywxMSBAQCBwdWJsaWM6
CiAgICAgSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQqIHRyYWNraW5nSW5zcGVjdG9yQW5pbWF0aW9u
QWdlbnQoKSBjb25zdCB7IHJldHVybiBtX3RyYWNraW5nSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQ7
IH0KICAgICB2b2lkIHNldFRyYWNraW5nSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQoSW5zcGVjdG9y
QW5pbWF0aW9uQWdlbnQqIGFnZW50KSB7IG1fdHJhY2tpbmdJbnNwZWN0b3JBbmltYXRpb25BZ2Vu
dCA9IGFnZW50OyB9CiAKKyNpZiBVU0UoR1NUUkVBTUVSKQorICAgIEluc3BlY3RvckdTdHJlYW1l
ckFnZW50KiBpbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVj
dG9yR1N0cmVhbWVyQWdlbnQ7IH0KKyAgICB2b2lkIHNldEluc3BlY3RvckdTdHJlYW1lckFnZW50
KEluc3BlY3RvckdTdHJlYW1lckFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckdTdHJlYW1lckFn
ZW50ID0gYWdlbnQ7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIEluc3RydW1lbnRpbmdBZ2Vu
dHMoSW5zcGVjdG9yOjpJbnNwZWN0b3JFbnZpcm9ubWVudCYpOwogCkBAIC0xOTEsNiArMjAwLDkg
QEAgcHJpdmF0ZToKICAgICBJbnNwZWN0b3JDYW52YXNBZ2VudCogbV9pbnNwZWN0b3JDYW52YXNB
Z2VudCB7IG51bGxwdHIgfTsKICAgICBJbnNwZWN0b3JBbmltYXRpb25BZ2VudCogbV9wZXJzaXN0
ZW50SW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQgeyBudWxscHRyIH07CiAgICAgSW5zcGVjdG9yQW5p
bWF0aW9uQWdlbnQqIG1fdHJhY2tpbmdJbnNwZWN0b3JBbmltYXRpb25BZ2VudCB7IG51bGxwdHIg
fTsKKyNpZiBVU0UoR1NUUkVBTUVSKQorICAgIEluc3BlY3RvckdTdHJlYW1lckFnZW50KiBtX2lu
c3BlY3RvckdTdHJlYW1lckFnZW50IHsgbnVsbHB0ciB9OworI2VuZGlmCiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckdTdHJlYW1lckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwMGNjNjhl
ZWU1MjdkOTBmNmJiOGJmYzE0YWFmNjFlMTI5YmE3ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckdTdHJlYW1lckFnZW50LmNwcApA
QCAtMCwwICsxLDgwIEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAxOSBJZ2FsaWEgUy5MCisg
KgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAq
ICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0
b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaCIKKworI2lmIFVTRShHU1RSRUFNRVIpCisK
KyNpbmNsdWRlICJHU3RyZWFtZXJDb21tb24uaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JQYWdlQWdl
bnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9y
OworCitJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudDo6SW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQoUGFn
ZUFnZW50Q29udGV4dCYgY29udGV4dCkKKyAgICA6IEluc3BlY3RvckFnZW50QmFzZSgiR1N0cmVh
bWVyIl9zLCBjb250ZXh0KQorICAgICwgbV9iYWNrZW5kRGlzcGF0Y2hlcihJbnNwZWN0b3I6OkdT
dHJlYW1lckJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoY29udGV4dC5iYWNrZW5kRGlzcGF0Y2hl
ciwgdGhpcykpCisgICAgLCBtX2Zyb250ZW5kRGlzcGF0Y2hlcihtYWtlVW5pcXVlPEluc3BlY3Rv
cjo6R1N0cmVhbWVyRnJvbnRlbmREaXNwYXRjaGVyPihjb250ZXh0LmZyb250ZW5kUm91dGVyKSkK
K3sKK30KKworSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6On5JbnNwZWN0b3JHU3RyZWFtZXJBZ2Vu
dCgpID0gZGVmYXVsdDsKKwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudDo6ZGlkQ3JlYXRl
RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6
OkJhY2tlbmREaXNwYXRjaGVyKikKK3sKK30KKwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJBZ2Vu
dDo6d2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpEaXNjb25uZWN0UmVh
c29uKQoreworfQorCit2b2lkIEluc3BlY3RvckdTdHJlYW1lckFnZW50OjpnZXRBY3RpdmVQaXBl
bGluZXNOYW1lcyhFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIFJlZlB0cjxKU09OOjpBcnJheU9m
PFN0cmluZz4+JiBwaXBlbGluZXMpCit7CisgICAgcGlwZWxpbmVzID0gSlNPTjo6QXJyYXlPZjxT
dHJpbmc+OjpjcmVhdGUoKTsKKyAgICBVTlVTRURfUEFSQU0oZXJyb3JTdHJpbmcpOworICAgIGZv
ciAoYXV0byBpdGVtIDogYWN0aXZlUGlwZWxpbmVzTmFtZXMoKSkKKyAgICAgICAgcGlwZWxpbmVz
LT5hZGRJdGVtKFN0cmluZzo6ZnJvbVVURjgoaXRlbSkpOworfQorCit2b2lkIEluc3BlY3RvckdT
dHJlYW1lckFnZW50OjpnZXRBY3RpdmVQaXBlbGluZUJpbk5hbWVzKEVycm9yU3RyaW5nJiBlcnJv
clN0cmluZywgY29uc3QgU3RyaW5nJiBwaXBlbGluZSwgY29uc3QgU3RyaW5nJiBjaGlsZCwgUmVm
UHRyPEpTT046OkFycmF5T2Y8U3RyaW5nPj4mIG5hbWVzKQoreworICAgIG5hbWVzID0gSlNPTjo6
QXJyYXlPZjxTdHJpbmc+OjpjcmVhdGUoKTsKKyAgICBVTlVTRURfUEFSQU0oZXJyb3JTdHJpbmcp
OworICAgIGZvciAoYXV0byBpdGVtIDogZ2V0QmluQ2hpbGRyZW4ocGlwZWxpbmUsIGNoaWxkKSkK
KyAgICAgICAgbmFtZXMtPmFkZEl0ZW0oU3RyaW5nOjpmcm9tVVRGOChpdGVtKSk7Cit9CisKK3Zv
aWQgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6OmR1bXBBY3RpdmVQaXBlbGluZShFcnJvclN0cmlu
ZyYgZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgcGlwZWxpbmUsIGNvbnN0IFN0cmluZyYgY2hp
bGQsIFN0cmluZyogcGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uKQoreworICAgIGF1dG8gc3Zn
RGF0YSA9IFdlYkNvcmU6OmR1bXBBY3RpdmVQaXBlbGluZShwaXBlbGluZSwgY2hpbGQpOworICAg
IGlmIChzdmdEYXRhLmlzTnVsbCgpKQorICAgICAgICBlcnJvclN0cmluZyA9ICJJbnZhbGlkIHBp
cGVsaW5lIG9yIGJpbiJfczsKKyAgICBlbHNlCisgICAgICAgICpwaXBlbGluZUdyYXBoUmVwcmVz
ZW50YXRpb24gPSBTdHJpbmc6OmZyb21VVEY4KHN2Z0RhdGEpOworfQorCit2b2lkIEluc3BlY3Rv
ckdTdHJlYW1lckFnZW50OjphY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCkKK3sKKyAgICBtX2Zyb250
ZW5kRGlzcGF0Y2hlci0+YWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg0MjQ5OWY3M2FhODk1Y2M4NzAxNDAyY2MxM2QzMTk2OGUzMTFhNmQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckdTdHJlYW1lckFnZW50LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMp
IDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRo
ZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBVU0UoR1NUUkVBTUVSKQorCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViQWdl
bnRCYXNlLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yQmFja2VuZERpc3Bh
dGNoZXJzLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5zcGVjdG9yRnJvbnRlbmREaXNw
YXRjaGVycy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3R5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOworCitjbGFzcyBJbnNwZWN0
b3JHU3RyZWFtZXJBZ2VudCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3JBZ2VudEJhc2UsIHB1Ymxp
YyBJbnNwZWN0b3I6OkdTdHJlYW1lckJhY2tlbmREaXNwYXRjaGVySGFuZGxlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQpOworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIEluc3BlY3RvckdTdHJlYW1lckFnZW50KFBh
Z2VBZ2VudENvbnRleHQmKTsKKyAgICB+SW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQoKSBvdmVycmlk
ZTsKKworICAgIC8vIEluc3BlY3RvckFnZW50QmFzZQorICAgIHZvaWQgZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tl
bmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJyaWRlOworCisgICAgLy8g
R1N0cmVhbWVyQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyCisgICAgdm9pZCBnZXRBY3RpdmVQaXBl
bGluZXNOYW1lcyhFcnJvclN0cmluZyYsIFJlZlB0cjxKU09OOjpBcnJheU9mPFN0cmluZz4+JiBw
aXBlbGluZXMpIG92ZXJyaWRlOworICAgIHZvaWQgZ2V0QWN0aXZlUGlwZWxpbmVCaW5OYW1lcyhF
cnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgcGlwZWxpbmUsIGNvbnN0IFN0cmluZyYgY2hpbGQs
IFJlZlB0cjxKU09OOjpBcnJheU9mPFN0cmluZz4+JiBuYW1lcykgb3ZlcnJpZGU7CisgICAgdm9p
ZCBkdW1wQWN0aXZlUGlwZWxpbmUoRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIHBpcGVsaW5l
LCBjb25zdCBTdHJpbmcmIGNoaWxkLCBTdHJpbmcqIHBpcGVsaW5lR3JhcGhSZXByZXNlbnRhdGlv
bikgb3ZlcnJpZGU7CisgICAgdm9pZCBhY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7CisKK3ByaXZh
dGU6CisgICAgUmVmUHRyPEluc3BlY3Rvcjo6R1N0cmVhbWVyQmFja2VuZERpc3BhdGNoZXI+IG1f
YmFja2VuZERpc3BhdGNoZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3Rvcjo6R1N0cmVh
bWVyRnJvbnRlbmREaXNwYXRjaGVyPiBtX2Zyb250ZW5kRGlzcGF0Y2hlcjsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFVTRShHU1RSRUFNRVIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAK
aW5kZXggY2Y4OWY5ZWI1MDUyMzI2ZmNmOGNiZDI2ZDg1OTZjZjQ3MjRjMjM2MS4uOTY3NGFiMzg2
ZjMzZTJlNzJlNmRjYTljMWQzMWJhZjI0N2VhZTY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtODAsNiAr
ODAsOSBAQAogI2luY2x1ZGUgIkxlZ2FjeVdlYkFyY2hpdmUuaCIKICNlbmRpZgogCisjaWYgVVNF
KEdTVFJFQU1FUikKKyNpbmNsdWRlICJHU3RyZWFtZXJDb21tb24uaCIKKyNlbmRpZgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvclBhZ2VBZ2VudC5oCmluZGV4IDRmZDhjMGIxMDE2ZTVhYjQ3NTI1NThkNjUz
MGFiYjUyMGVjZWEyNmEuLjlkMWE0NDgwYTFjZWQ4MTk2ZjVhY2FiZjc2ZDgyODA1MTZiYWZmNzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFn
ZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQ
YWdlQWdlbnQuaApAQCAtMTM0LDYgKzEzNCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZExheW91
dCgpOwogICAgIHZvaWQgZGlkU2Nyb2xsKCk7CiAgICAgdm9pZCBkaWRSZWNhbGN1bGF0ZVN0eWxl
KCk7CisgICAgdm9pZCBnc3RyZWFtZXJQaXBlbGluZUNhY2hlVXBkYXRlZCgpOwogCiAgICAgRnJh
bWUqIGZyYW1lRm9ySWQoY29uc3QgU3RyaW5nJiBmcmFtZUlkKTsKICAgICBXRUJDT1JFX0VYUE9S
VCBTdHJpbmcgZnJhbWVJZChGcmFtZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vR1N0cmVhbWVyLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR1N0cmVhbWVy
LmNtYWtlCmluZGV4IDg3NGQ0OWFmMWU0MTlhY2M4NGE0NjZkMjhjYTAyM2M2YmM5YWY5ZjkuLmQw
NDlkMzljZTBkMjU1MTQ1NTQxYzc4OWQxNmRiMmYxMzczMTVhNTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0dTdHJlYW1lci5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9HU3RyZWFtZXIuY21ha2UKQEAgLTc1LDYgKzc1LDcgQEAgaWYgKEVOQUJMRV9WSURF
TyBPUiBFTkFCTEVfV0VCX0FVRElPKQogICAgICAgICAke0dTVFJFQU1FUl9CQVNFX0lOQ0xVREVf
RElSU30KICAgICAgICAgJHtHU1RSRUFNRVJfQVBQX0lOQ0xVREVfRElSU30KICAgICAgICAgJHtH
U1RSRUFNRVJfUEJVVElMU19JTkNMVURFX0RJUlN9CisgICAgICAgICR7R1JBUEhWSVpfSU5DTFVE
RV9ESVJTfQogICAgICkKIAogICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfTElCUkFSSUVTCkBAIC04
Myw2ICs4NCw3IEBAIGlmIChFTkFCTEVfVklERU8gT1IgRU5BQkxFX1dFQl9BVURJTykKICAgICAg
ICAgJHtHU1RSRUFNRVJfTElCUkFSSUVTfQogICAgICAgICAke0dTVFJFQU1FUl9QQlVUSUxTX0xJ
QlJBUklFU30KICAgICAgICAgJHtHU1RSRUFNRVJfQVVESU9fTElCUkFSSUVTfQorICAgICAgICAk
e0dSQVBIVklaX0xJQlJBUklFU30KICAgICApCiAKICAgICAjIEF2b2lkaW5nIGEgR0xpYiBkZXBy
ZWNhdGlvbiB3YXJuaW5nIGR1ZSB0byBHU3RyZWFtZXIgQVBJIHVzaW5nIGRlcHJlY2F0ZWQgY2xh
c3Nlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1l
ci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyLmNwcAppbmRleCAxYTU0
OTVmZDc2NGQ5YzNjYzZlZGI1ODFmYTQ4MGVhZWFkMTQ1OWJmLi45ZDRhZjJjNmMxYjA1MTY5NDg3
ZDgyMTQ3MTNiNGI3NDIyMzk3ZDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9nc3RyZWFtZXIvQXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25HU3Ry
ZWFtZXIuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiQXVkaW9DaGFubmVsLmgiCiAj
aW5jbHVkZSAiQXVkaW9Tb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkdSZWZQdHJHU3RyZWFt
ZXIuaCIKKyNpbmNsdWRlICJHU3RyZWFtZXJDb21tb24uaCIKICNpbmNsdWRlICJMb2dnaW5nLmgi
CiAjaW5jbHVkZSAiV2ViS2l0V2ViQXVkaW9Tb3VyY2VHU3RyZWFtZXIuaCIKICNpbmNsdWRlIDxn
c3QvYXVkaW8vZ3N0YXVkaW9iYXNlc2luay5oPgpAQCAtODMsNyArODQsOCBAQCBBdWRpb0Rlc3Rp
bmF0aW9uR1N0cmVhbWVyOjpBdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyKEF1ZGlvSU9DYWxsYmFj
ayYgY2FsbGJhY2ssCiAgICAgLCBtX3NhbXBsZVJhdGUoc2FtcGxlUmF0ZSkKICAgICAsIG1faXNQ
bGF5aW5nKGZhbHNlKQogewotICAgIG1fcGlwZWxpbmUgPSBnc3RfcGlwZWxpbmVfbmV3KCJwbGF5
Iik7CisgICAgbV9waXBlbGluZSA9IGdzdF9waXBlbGluZV9uZXcoIndlYmF1ZGlvLXBsYXliYWNr
Iik7CisgICAgcmVnaXN0ZXJBY3RpdmVQaXBlbGluZShtX3BpcGVsaW5lKTsKICAgICBHUmVmUHRy
PEdzdEJ1cz4gYnVzID0gYWRvcHRHUmVmKGdzdF9waXBlbGluZV9nZXRfYnVzKEdTVF9QSVBFTElO
RShtX3BpcGVsaW5lKSkpOwogICAgIEFTU0VSVChidXMpOwogICAgIGdzdF9idXNfYWRkX3NpZ25h
bF93YXRjaF9mdWxsKGJ1cy5nZXQoKSwgUnVuTG9vcFNvdXJjZVByaW9yaXR5OjpSdW5Mb29wRGlz
cGF0Y2hlcik7CkBAIC0xMzAsOCArMTMyLDggQEAgQXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcjo6
fkF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIoKQogICAgIEdSZWZQdHI8R3N0QnVzPiBidXMgPSBh
ZG9wdEdSZWYoZ3N0X3BpcGVsaW5lX2dldF9idXMoR1NUX1BJUEVMSU5FKG1fcGlwZWxpbmUpKSk7
CiAgICAgQVNTRVJUKGJ1cyk7CiAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9ieV9m
dW5jKGJ1cy5nZXQoKSwgcmVpbnRlcnByZXRfY2FzdDxncG9pbnRlcj4obWVzc2FnZUNhbGxiYWNr
KSwgdGhpcyk7CisgICAgdW5yZWdpc3RlclBpcGVsaW5lKG1fcGlwZWxpbmUpOwogICAgIGdzdF9i
dXNfcmVtb3ZlX3NpZ25hbF93YXRjaChidXMuZ2V0KCkpOwotCiAgICAgZ3N0X2VsZW1lbnRfc2V0
X3N0YXRlKG1fcGlwZWxpbmUsIEdTVF9TVEFURV9OVUxMKTsKICAgICBnc3Rfb2JqZWN0X3VucmVm
KG1fcGlwZWxpbmUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmgKaW5kZXggMzVlNDUwYTZlZWViZmUxMWY1ZjdhNjRlZWYwOTBjZjEzODc2MDE4
NC4uZWE1ZGUxMDQ3MzQwYzUzOGYwZTQzMjIxNmIwMzIxYWRkZmQ1NDkyMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0yNzIsNiArMjcy
LDcgQEAgcHVibGljOgogCiAjaWYgVVNFKEdTVFJFQU1FUikKICAgICB2aXJ0dWFsIHZvaWQgcmVx
dWVzdEluc3RhbGxNaXNzaW5nUGx1Z2lucyhjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBN
ZWRpYVBsYXllclJlcXVlc3RJbnN0YWxsTWlzc2luZ1BsdWdpbnNDYWxsYmFjayYpIHsgfTsKKyAg
ICB2aXJ0dWFsIHZvaWQgZ3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpIHsgfTsKICNl
bmRpZgogCiAgICAgdmlydHVhbCBib29sIG1lZGlhUGxheWVyU2hvdWxkRGlzYWJsZVNsZWVwKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTYzNCw2ICs2MzUsNyBAQCBwdWJsaWM6CiAKICNp
ZiBVU0UoR1NUUkVBTUVSKQogICAgIHZvaWQgcmVxdWVzdEluc3RhbGxNaXNzaW5nUGx1Z2lucyhj
b25zdCBTdHJpbmcmIGRldGFpbHMsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIE1lZGlhUGxh
eWVyUmVxdWVzdEluc3RhbGxNaXNzaW5nUGx1Z2luc0NhbGxiYWNrJiBjYWxsYmFjaykgeyBjbGll
bnQoKS5yZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zKGRldGFpbHMsIGRlc2NyaXB0aW9uLCBj
YWxsYmFjayk7IH0KKyAgICB2b2lkIGdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKSB7
IGNsaWVudCgpLmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKTsgfQogI2VuZGlmCiAK
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uY3BwCmluZGV4IDA4OWJmNzRmNzRlYzY0
YTZmODA0NDVjMzUzZGRhMzUxMmFiMzU0ZDQuLjljYTQ4ZTk1MGYwMWFlZmRlYjY4ZTUyY2I5MTg0
YTE3OTk5YzZkMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uY3BwCkBAIC0yNywxMiArMjcs
MTYgQEAKICNpbmNsdWRlICJHc3RBbGxvY2F0b3JGYXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAiSW50
U2l6ZS5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgorI2luY2x1ZGUgPGdyYXBodml6L2d2
Yy5oPgogI2luY2x1ZGUgPGdzdC9hdWRpby9hdWRpby1pbmZvLmg+CiAjaW5jbHVkZSA8Z3N0L2dz
dC5oPgogI2luY2x1ZGUgPG11dGV4PgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVk
ZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvR0xpYlV0aWxpdGll
cy5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dVbmlxdWVQdHIuaD4KICNpbmNsdWRlIDx3dGYvZ2xp
Yi9SdW5Mb29wU291cmNlUHJpb3JpdHkuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNo
Lmg+CiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spICYmIFVTRShHU1RSRUFNRVJfTVBFR1RTKQog
I2RlZmluZSBHU1RfVVNFX1VOU1RBQkxFX0FQSQpAQCAtMzkxLDYgKzM5NSwxMTIgQEAgYm9vbCBp
c0dTdHJlYW1lclBsdWdpbkF2YWlsYWJsZShjb25zdCBjaGFyKiBuYW1lKQogICAgIHJldHVybiBw
bHVnaW47CiB9CiAKK3N0YXRpYyBIYXNoTWFwPENTdHJpbmcsIEdzdEJpbio+JiBhY3RpdmVQaXBl
bGluZXNNYXAoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPENTdHJpbmcs
IEdzdEJpbio+PiBhY3RpdmVQaXBlbGluZXM7CisgICAgcmV0dXJuIGFjdGl2ZVBpcGVsaW5lcy5n
ZXQoKTsKK30KKwordm9pZCByZWdpc3RlckFjdGl2ZVBpcGVsaW5lKEdzdEVsZW1lbnQqIHBpcGVs
aW5lKQoreworICAgIEFTU0VSVChHU1RfSVNfRUxFTUVOVChwaXBlbGluZSkpOworICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7CisKKyAgICBHVW5pcXVlUHRyPGdjaGFyPiBuYW1lKGdzdF9vYmpl
Y3RfZ2V0X25hbWUoR1NUX09CSkVDVF9DQVNUKHBpcGVsaW5lKSkpOworICAgIGF1dG8gYWRkUmVz
dWx0ID0gYWN0aXZlUGlwZWxpbmVzTWFwKCkuYWRkKG5hbWUuZ2V0KCksIG51bGxwdHIpOworICAg
IGlmICghYWRkUmVzdWx0LmlzTmV3RW50cnkpCisgICAgICAgIHJldHVybjsKKyAgICBhZGRSZXN1
bHQuaXRlcmF0b3ItPnZhbHVlID0gR1NUX0JJTl9DQVNUKHBpcGVsaW5lKTsKK30KKwordm9pZCB1
bnJlZ2lzdGVyUGlwZWxpbmUoR3N0RWxlbWVudCogcGlwZWxpbmUpCit7CisgICAgQVNTRVJUKEdT
VF9JU19FTEVNRU5UKHBpcGVsaW5lKSk7CisKKyAgICBHVW5pcXVlUHRyPGdjaGFyPiBuYW1lKGdz
dF9vYmplY3RfZ2V0X25hbWUoR1NUX09CSkVDVF9DQVNUKHBpcGVsaW5lKSkpOworICAgIGFjdGl2
ZVBpcGVsaW5lc01hcCgpLnJlbW92ZShuYW1lLmdldCgpKTsKK30KKworVmVjdG9yPENTdHJpbmc+
IGFjdGl2ZVBpcGVsaW5lc05hbWVzKCkKK3sKKyAgICBWZWN0b3I8Q1N0cmluZz4gbmFtZXM7Cisg
ICAgYXV0byYgbWFwID0gYWN0aXZlUGlwZWxpbmVzTWFwKCk7CisgICAgbmFtZXMucmVzZXJ2ZUlu
aXRpYWxDYXBhY2l0eShtYXAuc2l6ZSgpKTsKKyAgICBmb3IgKGF1dG8mIG5hbWUgOiBtYXAua2V5
cygpKQorICAgICAgICBuYW1lcy51bmNoZWNrZWRBcHBlbmQobmFtZSk7CisKKyAgICBzdGQ6OnNv
cnQobmFtZXMuYmVnaW4oKSwgbmFtZXMuZW5kKCkpOworICAgIHJldHVybiBuYW1lczsKK30KKwor
Q1N0cmluZyBleHBvcnRCaW5Ub1NWRyhHc3RCaW4qIGJpbikKK3sKKyAgICBHVW5pcXVlUHRyPGdj
aGFyPiBkb3REYXRhKGdzdF9kZWJ1Z19iaW5fdG9fZG90X2RhdGEoYmluLCBHU1RfREVCVUdfR1JB
UEhfU0hPV19BTEwpKTsKKyAgICBBZ3JhcGhfdCogZ3JhcGggPSBhZ21lbXJlYWQoZG90RGF0YS5n
ZXQoKSk7CisKKyAgICBHVkNfdCogY29udGV4dCA9IGd2Q29udGV4dCgpOworICAgIGd2TGF5b3V0
KGNvbnRleHQsIGdyYXBoLCAiZG90Il9zKTsKKworICAgIHVuc2lnbmVkIGxlbmd0aDsKKyAgICBj
aGFyKiBzdmdEYXRhOworICAgIGlmIChndlJlbmRlckRhdGEoY29udGV4dCwgZ3JhcGgsICJzdmci
X3MsICZzdmdEYXRhLCAmbGVuZ3RoKSkgeworICAgICAgICBndkZyZWVMYXlvdXQoY29udGV4dCwg
Z3JhcGgpOworICAgICAgICBhZ2Nsb3NlKGdyYXBoKTsKKyAgICAgICAgZ3ZGcmVlQ29udGV4dChj
b250ZXh0KTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICBDU3RyaW5nIHN2ZyB7
IHN2Z0RhdGEsIGxlbmd0aCB9OworICAgIGd2RnJlZVJlbmRlckRhdGEoc3ZnRGF0YSk7CisgICAg
Z3ZGcmVlTGF5b3V0KGNvbnRleHQsIGdyYXBoKTsKKyAgICBhZ2Nsb3NlKGdyYXBoKTsKKyAgICBn
dkZyZWVDb250ZXh0KGNvbnRleHQpOworICAgIHJldHVybiBzdmc7Cit9CisKK0NTdHJpbmcgZHVt
cEFjdGl2ZVBpcGVsaW5lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBzdWJCaW5O
YW1lKQoreworICAgIEdzdEJpbiogcGlwZWxpbmUgPSBhY3RpdmVQaXBlbGluZXNNYXAoKS5nZXQo
bmFtZS51dGY4KCkpOworICAgIGlmICghcGlwZWxpbmUpCisgICAgICAgIHJldHVybiB7IH07CisK
KyAgICBpZiAoc3ViQmluTmFtZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBleHBvcnRCaW5U
b1NWRyhwaXBlbGluZSk7CisKKyAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IGNoaWxkID0gYWRvcHRH
UmVmKGdzdF9iaW5fZ2V0X2J5X25hbWUocGlwZWxpbmUsIHN1YkJpbk5hbWUudXRmOCgpLmRhdGEo
KSkpOworICAgIGlmIChHU1RfSVNfQklOKGNoaWxkLmdldCgpKSkKKyAgICAgICAgcmV0dXJuIGV4
cG9ydEJpblRvU1ZHKEdTVF9CSU5fQ0FTVChjaGlsZC5nZXQoKSkpOworCisgICAgcmV0dXJuIHsg
fTsKK30KKworVmVjdG9yPENTdHJpbmc+IGdldEJpbkNoaWxkcmVuKGNvbnN0IFN0cmluZyYgcGlw
ZWxpbmVOYW1lLCBjb25zdCBTdHJpbmcmIGJpbk5hbWUpCit7CisgICAgVmVjdG9yPENTdHJpbmc+
IGNoaWxkcmVuOworICAgIEdzdEJpbiogcGlwZWxpbmUgPSBhY3RpdmVQaXBlbGluZXNNYXAoKS5n
ZXQocGlwZWxpbmVOYW1lLnV0ZjgoKSk7CisgICAgaWYgKCFwaXBlbGluZSkKKyAgICAgICAgcmV0
dXJuIGNoaWxkcmVuOworCisgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBwYXJlbnQ7CisKKyAgICBp
ZiAoYmluTmFtZS5pc0VtcHR5KCkpCisgICAgICAgIHBhcmVudCA9IEdTVF9FTEVNRU5UX0NBU1Qo
Z3N0X29iamVjdF9yZWYocGlwZWxpbmUpKTsKKyAgICBlbHNlCisgICAgICAgIHBhcmVudCA9IGFk
b3B0R1JlZihnc3RfYmluX2dldF9ieV9uYW1lKHBpcGVsaW5lLCBiaW5OYW1lLnV0ZjgoKS5kYXRh
KCkpKTsKKworICAgIGlmICghcGFyZW50IHx8ICFHU1RfSVNfQklOKHBhcmVudC5nZXQoKSkpCisg
ICAgICAgIHJldHVybiBjaGlsZHJlbjsKKworICAgIGZvciAoR0xpc3QqIGl0ZW0gPSBHU1RfQklO
X0NISUxEUkVOKEdTVF9CSU5fQ0FTVChwYXJlbnQuZ2V0KCkpKTsgaXRlbTsgaXRlbSA9IGl0ZW0t
Pm5leHQpIHsKKyAgICAgICAgaWYgKEdTVF9JU19CSU4oaXRlbS0+ZGF0YSkpIHsKKyAgICAgICAg
ICAgIEdVbmlxdWVQdHI8Z2NoYXI+IG5hbWUoZ3N0X2VsZW1lbnRfZ2V0X25hbWUoR1NUX0VMRU1F
TlRfQ0FTVChpdGVtLT5kYXRhKSkpOworICAgICAgICAgICAgY2hpbGRyZW4uYXBwZW5kKENTdHJp
bmcobmFtZS5nZXQoKSkpOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGNoaWxkcmVu
OworfQorCiB9CiAKICNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1v
bi5oCmluZGV4IDk2OWM3YzMzNGI5NTAzYTIxYTcyZTM3OWYxMzdjMjdhNmI5MTgxMjUuLjMwY2Zm
MTk2ZWU5ODFhN2E2MDNkYzRmZWRlMTNhMWZmYzYzZmVkMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29t
bW9uLmgKQEAgLTIyMyw2ICsyMjMsMTIgQEAgZW51bSBjbGFzcyBHc3RWaWRlb0RlY29kZXJQbGF0
Zm9ybSB7IElteFZQVSwgVmlkZW80TGludXggfTsKIAogYm9vbCBpc0dTdHJlYW1lclBsdWdpbkF2
YWlsYWJsZShjb25zdCBjaGFyKiBuYW1lKTsKIAordm9pZCByZWdpc3RlckFjdGl2ZVBpcGVsaW5l
KEdzdEVsZW1lbnQqKTsKK3ZvaWQgdW5yZWdpc3RlclBpcGVsaW5lKEdzdEVsZW1lbnQqKTsKK1Zl
Y3RvcjxDU3RyaW5nPiBhY3RpdmVQaXBlbGluZXNOYW1lcygpOworQ1N0cmluZyBkdW1wQWN0aXZl
UGlwZWxpbmUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHN1YkJpbk5hbWUpOwor
VmVjdG9yPENTdHJpbmc+IGdldEJpbkNoaWxkcmVuKGNvbnN0IFN0cmluZyYgcGlwZWxpbmVOYW1l
LCBjb25zdCBTdHJpbmcmIGJpbk5hbWUpOworCiB9CiAKICNpZm5kZWYgR1NUX0JVRkZFUl9EVFNf
T1JfUFRTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3Bw
CmluZGV4IDUzZDU2ZjhlOTUwODM0Mjg4MzdjZWMxOGE0MTBhYzU4NDFiMGUwMjYuLjRmZWMzN2Uz
Y2FlYWNiZWVlZmJkMjY5NGJmOWY2NmY2ZDlkYzg0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC00NDgsOSArNDQ4LDE0IEBAIE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6fk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcigpCiAK
ICAgICAvLyBUaGUgY2hhbmdlIHRvIEdTVF9TVEFURV9OVUxMIHN0YXRlIGlzIGFsd2F5cyBzeW5j
aHJvbm91cy4gU28gYWZ0ZXIgdGhpcyBnZXRzIGV4ZWN1dGVkIHdlIGRvbid0IG5lZWQgdG8gd29y
cnkKICAgICAvLyBhYm91dCBoYW5kbGVycyBydW5uaW5nIGluIHRoZSBHU3RyZWFtZXIgdGhyZWFk
LgotICAgIGlmIChtX3BpcGVsaW5lKQorICAgIGlmIChtX3BpcGVsaW5lKSB7CisgICAgICAgIHVu
cmVnaXN0ZXJQaXBlbGluZShtX3BpcGVsaW5lLmdldCgpKTsKICAgICAgICAgZ3N0X2VsZW1lbnRf
c2V0X3N0YXRlKG1fcGlwZWxpbmUuZ2V0KCksIEdTVF9TVEFURV9OVUxMKTsKIAorICAgICAgICBp
ZiAobV9wbGF5ZXIpCisgICAgICAgICAgICBtX3BsYXllci0+Z3N0cmVhbWVyQWN0aXZlUGlwZWxp
bmVzQ2hhbmdlZCgpOworICAgIH0KKwogICAgIG1fcGxheWVyID0gbnVsbHB0cjsKIH0KIApAQCAt
MTcwNyw2ICsxNzEyLDkgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnZpZGVv
Q2hhbmdlZENhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW0KIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXRQaXBlbGluZShHc3RFbGVtZW50KiBwaXBlbGluZSkKIHsK
ICAgICBtX3BpcGVsaW5lID0gcGlwZWxpbmU7CisgICAgcmVnaXN0ZXJBY3RpdmVQaXBlbGluZSht
X3BpcGVsaW5lLmdldCgpKTsKKyAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgIG1fcGxheWVyLT5n
c3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7CiAKICAgICBHUmVmUHRyPEdzdEJ1cz4g
YnVzID0gYWRvcHRHUmVmKGdzdF9waXBlbGluZV9nZXRfYnVzKEdTVF9QSVBFTElORShtX3BpcGVs
aW5lLmdldCgpKSkpOwogICAgIGdzdF9idXNfc2V0X3N5bmNfaGFuZGxlcihidXMuZ2V0KCksIFtd
KEdzdEJ1cyosIEdzdE1lc3NhZ2UqIG1lc3NhZ2UsIGdwb2ludGVyIHVzZXJEYXRhKSB7CkBAIC0y
ODkzLDYgKzI5MDEsOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRl
R1NUUGxheUJpbihjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJgogICAgICAgICB9CiAKICAg
ICAgICAgR1NUX0lORk9fT0JKRUNUKHBpcGVsaW5lKCksICJUZWFyaW5nIGRvd24gYXMgd2UgbmVl
ZCB0byB1c2UgJXMgbm93LiIsIHBsYXliaW5OYW1lKTsKKyAgICAgICAgdW5yZWdpc3RlclBpcGVs
aW5lKG1fcGlwZWxpbmUuZ2V0KCkpOworICAgICAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgICAg
ICBtX3BsYXllci0+Z3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOwogICAgICAgICBj
aGFuZ2VQaXBlbGluZVN0YXRlKEdTVF9TVEFURV9OVUxMKTsKICAgICAgICAgbV9waXBlbGluZSA9
IG51bGxwdHI7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lci5oCmluZGV4IDg1MTY1ZDFiZjEyOWNlY2UxYTEyNmQxYzMwNGQzZmM5NjJlNzI1MzguLjY5
Y2M2MDc1MmY3ODlkYmRhNzE2NGQwMzU0NWEyYWEwMTk2MGEzZWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTEyNyw2ICsxMjcsOCBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUgZXh0ZW5kZWRTdXBwb3J0
c1R5cGUoY29uc3QgTWVkaWFFbmdpbmVTdXBwb3J0UGFyYW1ldGVycyYsIE1lZGlhUGxheWVyOjpT
dXBwb3J0c1R5cGUpOwogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzS2V5U3lzdGVtKGNvbnN0IFN0
cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKIAorICAgIE1lZGlhUGxh
eWVyKiBtZWRpYVBsYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWVyOyB9CisKICAgICBib29s
IGhhc1ZpZGVvKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9oYXNWaWRlbzsgfQogICAgIGJvb2wg
aGFzQXVkaW8oKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2hhc0F1ZGlvOyB9CiAgICAgdm9pZCBs
b2FkKGNvbnN0IFN0cmluZyAmdXJsKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBl
bGluZS5jcHAKaW5kZXggNWEyYmRlZGExYjg3YTFkZWE4YzZiYmY1ZjY5ODQxZDdlOWY2NmMwYi4u
YjNlOTAyOGIyZjIyOTMwZmVmMTAyNTI0Yjk2ZTlmMDdmMzc0OTE3ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGlu
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21z
ZS9BcHBlbmRQaXBlbGluZS5jcHAKQEAgLTExNSw5ICsxMTUsMTEgQEAgQXBwZW5kUGlwZWxpbmU6
OkFwcGVuZFBpcGVsaW5lKFJlZjxNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1lck1TRT4gbWVkaWFT
b3VyY2VDbGkKICAgICAvLyBGSVhNRTogZ2l2ZSBhIG5hbWUgdG8gdGhlIHBpcGVsaW5lLCBtYXli
ZSByZWxhdGVkIHdpdGggdGhlIHRyYWNrIGl0J3MgbWFuYWdpbmcuCiAgICAgLy8gVGhlIHRyYWNr
IG5hbWUgaXMgc3RpbGwgdW5rbm93biBhdCB0aGlzIHRpbWUsIHRob3VnaC4KICAgICBzdGF0aWMg
c2l6ZV90IGFwcGVuZFBpcGVsaW5lQ291bnQgPSAwOwotICAgIFN0cmluZyBwaXBlbGluZU5hbWUg
PSBtYWtlU3RyaW5nKCJhcHBlbmQtcGlwZWxpbmUtIiwKKyAgICBTdHJpbmcgcGlwZWxpbmVOYW1l
ID0gbWFrZVN0cmluZygibXNlLWFwcGVuZC1waXBlbGluZS0iLAogICAgICAgICBtX3NvdXJjZUJ1
ZmZlclByaXZhdGUtPnR5cGUoKS5jb250YWluZXJUeXBlKCkucmVwbGFjZSgiLyIsICItIiksICct
JywgYXBwZW5kUGlwZWxpbmVDb3VudCsrKTsKICAgICBtX3BpcGVsaW5lID0gZ3N0X3BpcGVsaW5l
X25ldyhwaXBlbGluZU5hbWUudXRmOCgpLmRhdGEoKSk7CisgICAgcmVnaXN0ZXJBY3RpdmVQaXBl
bGluZShtX3BpcGVsaW5lLmdldCgpKTsKKyAgICBtX3BsYXllclByaXZhdGUtPm1lZGlhUGxheWVy
KCktPmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKTsKIAogICAgIG1fYnVzID0gYWRv
cHRHUmVmKGdzdF9waXBlbGluZV9nZXRfYnVzKEdTVF9QSVBFTElORShtX3BpcGVsaW5lLmdldCgp
KSkpOwogICAgIGdzdF9idXNfYWRkX3NpZ25hbF93YXRjaF9mdWxsKG1fYnVzLmdldCgpLCBSdW5M
b29wU291cmNlUHJpb3JpdHk6OlJ1bkxvb3BEaXNwYXRjaGVyKTsKQEAgLTI0Miw2ICsyNDQsOSBA
QCBBcHBlbmRQaXBlbGluZTo6fkFwcGVuZFBpcGVsaW5lKCkKICAgICAvLyB3aGVuIGNoYW5naW5n
IHRoZSBwaXBlbGluZSBzdGF0ZS4KIAogICAgIGlmIChtX3BpcGVsaW5lKSB7CisgICAgICAgIHVu
cmVnaXN0ZXJQaXBlbGluZShtX3BpcGVsaW5lLmdldCgpKTsKKyAgICAgICAgaWYgKG1fcGxheWVy
UHJpdmF0ZSkKKyAgICAgICAgICAgIG1fcGxheWVyUHJpdmF0ZS0+bWVkaWFQbGF5ZXIoKS0+Z3N0
cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOwogICAgICAgICBBU1NFUlQobV9idXMpOwog
ICAgICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2RhdGEobV9idXMuZ2V0KCks
IHRoaXMpOwogICAgICAgICBnc3RfYnVzX2Rpc2FibGVfc3luY19tZXNzYWdlX2VtaXNzaW9uKG1f
YnVzLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRp
b25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
TG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGU1MTk1NmE0
NDg5NGQ5MTUyMmU3NmE0ZTJlNjQzM2E0ZmVhMWUxYzguLmZmNTA0MmVkYjY2ODY3ODY1YWNkODlh
ZTMyOWUzMjRiZGM3ZjQ5YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2Nh
bGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwpAQCAt
NTIxLDYgKzUyMSw3IEBAIGxvY2FsaXplZFN0cmluZ3NbIkV4cG9ydCAoJXMpIl0gPSAiRXhwb3J0
ICglcykiOwogbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IEhBUiJdID0gIkV4cG9ydCBIQVIiOwog
bG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IFJlc3VsdCJdID0gIkV4cG9ydCBSZXN1bHQiOwogbG9j
YWxpemVkU3RyaW5nc1siRXhwb3J0IFRlc3QiXSA9ICJFeHBvcnQgVGVzdCI7Citsb2NhbGl6ZWRT
dHJpbmdzWyJFeHBvcnQgcGlwZWxpbmUgZG90IHJlcHJlc2VudGF0aW9uICglcykiXSA9ICJFeHBv
cnQgcGlwZWxpbmUgZG90IHJlcHJlc2VudGF0aW9uICglcykiOwogbG9jYWxpemVkU3RyaW5nc1si
RXhwb3J0IHJlY29yZGluZyAoJXMpIl0gPSAiRXhwb3J0IHJlY29yZGluZyAoJXMpIjsKIGxvY2Fs
aXplZFN0cmluZ3NbIkV4cG9ydCByZWNvcmRpbmcgKCVzKVxuU2hpZnQtY2xpY2sgdG8gZXhwb3J0
IGEgSFRNTCByZWR1Y3Rpb24iXSA9ICJFeHBvcnQgcmVjb3JkaW5nICglcylcblNoaWZ0LWNsaWNr
IHRvIGV4cG9ydCBhIEhUTUwgcmVkdWN0aW9uIjsKIGxvY2FsaXplZFN0cmluZ3NbIkV4cG9ydCBy
ZXN1bHQgKCVzKSJdID0gIkV4cG9ydCByZXN1bHQgKCVzKSI7CkBAIC01NzgsNiArNTc5LDcgQEAg
bG9jYWxpemVkU3RyaW5nc1siRnVsbC1TY3JlZW4gZnJvbSBcdTIwMUMlc1x1MjAxRCJdID0gIkZ1
bGwtU2NyZWVuIGZyb20gXHUyMDFDJXMKIGxvY2FsaXplZFN0cmluZ3NbIkZ1bmN0aW9uIl0gPSAi
RnVuY3Rpb24iOwogbG9jYWxpemVkU3RyaW5nc1siRnVuY3Rpb24gTmFtZSBWYXJpYWJsZSJdID0g
IkZ1bmN0aW9uIE5hbWUgVmFyaWFibGUiOwogbG9jYWxpemVkU3RyaW5nc1siR0lGIl0gPSAiR0lG
IjsKK2xvY2FsaXplZFN0cmluZ3NbIkdTdHJlYW1lciJdID0gIkdTdHJlYW1lciI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyJHYXJiYWdlIENvbGxlY3Rpb24iXSA9ICJHYXJiYWdlIENvbGxlY3Rpb24iOwog
bG9jYWxpemVkU3RyaW5nc1siR2VuZXJhbCJdID0gIkdlbmVyYWwiOwogbG9jYWxpemVkU3RyaW5n
c1siR2V0dGVyIl0gPSAiR2V0dGVyIjsKQEAgLTg1NSw2ICs4NTcsNyBAQCBsb2NhbGl6ZWRTdHJp
bmdzWyJQZXJpb2RzIG9mIGhpZ2ggQ1BVIHV0aWxpemF0aW9uIHdpbGwgcmFwaWRseSBkcmFpbiBi
YXR0ZXJ5LiBTdAogbG9jYWxpemVkU3RyaW5nc1siUGluZyJdID0gIlBpbmciOwogbG9jYWxpemVk
U3RyaW5nc1siUGluZyBGcmFtZSJdID0gIlBpbmcgRnJhbWUiOwogbG9jYWxpemVkU3RyaW5nc1si
UGluZ3MiXSA9ICJQaW5ncyI7Citsb2NhbGl6ZWRTdHJpbmdzWyJQaXBlbGluZXMiXSA9ICJQaXBl
bGluZXMiOwogbG9jYWxpemVkU3RyaW5nc1siUGxheSBTb3VuZCJdID0gIlBsYXkgU291bmQiOwog
LyogVG9vbHRpcCBmb3IgYSB0aW1lIHJhbmdlIGJhciB0aGF0IHJlcHJlc2VudHMgd2hlbiB0aGUg
cGxheWJhY2sgb2YgYSBhdWRpby92aWRlbyBlbGVtZW50IGlzIHJ1bm5pbmcgKi8KIGxvY2FsaXpl
ZFN0cmluZ3NbIlBsYXlpbmciXSA9ICJQbGF5aW5nIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9TY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBsIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFjZS1yZXNvdXJjZXMu
cGwKaW5kZXggZmRiYWQzODNiMmVmYjZjMmJiOTU0Zjc1ZTVlMzE3M2YzYzQ2MTZlOC4uM2MwN2Nj
NWE4MTBlYjA0Y2U0ZTY1OGRlNzA2ZjY5OWYxYjY5NTE4NCAxMDA3NTUKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFjZS1yZXNvdXJjZXMucGwKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFjZS1yZXNv
dXJjZXMucGwKQEAgLTE2NiwxMyArMTY2LDE2IEBAIG15ICRwcm90b2NvbERpciA9IEZpbGU6OlNw
ZWMtPmNhdGRpcigkdGFyZ2V0UmVzb3VyY2VQYXRoLCAnUHJvdG9jb2wnKTsKIG15ICR3b3JrZXJz
RGlyID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCR0YXJnZXRSZXNvdXJjZVBhdGgsICdXb3JrZXJzJyk7
CiBteSAkY29kZU1pcnJvclBhdGggPSBGaWxlOjpTcGVjLT5jYXRkaXIoJHVpUm9vdCwgJ0V4dGVy
bmFsJywgJ0NvZGVNaXJyb3InKTsKIG15ICRlc3ByaW1hUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGRp
cigkdWlSb290LCAnRXh0ZXJuYWwnLCAnRXNwcmltYScpOworbXkgJGQzUGF0aCA9IEZpbGU6OlNw
ZWMtPmNhdGRpcigkdWlSb290LCAnRXh0ZXJuYWwnLCAnZDMuanMnKTsKIG15ICR0aHJlZWpzUGF0
aCA9IEZpbGU6OlNwZWMtPmNhdGRpcigkdWlSb290LCAnRXh0ZXJuYWwnLCAndGhyZWUuanMnKTsK
IAogJHdlYkluc3BlY3RvclVJQWRkaXRpb25zRGlyID0gJndlYkluc3BlY3RvclVJQWRkaXRpb25z
RGlyKCk7CiAKIG15ICRjb2RlTWlycm9yTGljZW5zZSA9IHJlYWRMaWNlbnNlRmlsZShGaWxlOjpT
cGVjLT5jYXRmaWxlKCRjb2RlTWlycm9yUGF0aCwgJ0xJQ0VOU0UnKSk7CiBteSAkZXNwcmltYUxp
Y2Vuc2UgPSByZWFkTGljZW5zZUZpbGUoRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkZXNwcmltYVBhdGgs
ICdMSUNFTlNFJykpOworbXkgJGQzTGljZW5zZSA9IHJlYWRMaWNlbnNlRmlsZShGaWxlOjpTcGVj
LT5jYXRmaWxlKCRkM1BhdGgsICdMSUNFTlNFJykpOwogbXkgJHRocmVlanNMaWNlbnNlID0gcmVh
ZExpY2Vuc2VGaWxlKEZpbGU6OlNwZWMtPmNhdGZpbGUoJHRocmVlanNQYXRoLCAnTElDRU5TRScp
KTsKKwogbWFrZV9wYXRoKCRwcm90b2NvbERpciwgJHRhcmdldFJlc291cmNlUGF0aCk7CiAKICRw
eXRob24gPSAkRU5WeyJQWVRIT04ifSBpZiBkZWZpbmVkKCRFTlZ7IlBZVEhPTiJ9KTsKQEAgLTE4
Myw2ICsxODYsOCBAQCBjb3B5KEZpbGU6OlNwZWMtPmNhdGZpbGUoJEVOVnsnSkFWQVNDUklQVENP
UkVfUFJJVkFURV9IRUFERVJTX0RJUid9LCAnSW5zcGVjdG9yQgogbXkgJGZvcmNlVG9vbEluc3Rh
bGwgPSBkZWZpbmVkICRFTlZ7J0ZPUkNFX1RPT0xfSU5TVEFMTCd9ICYmICgkRU5WeydGT1JDRV9U
T09MX0lOU1RBTEwnfSBlcSAnWUVTJyk7CiBteSAkc2hvdWxkQ29tYmluZU1haW4gPSBkZWZpbmVk
ICRFTlZ7J0NPTUJJTkVfSU5TUEVDVE9SX1JFU09VUkNFUyd9ICYmICgkRU5WeydDT01CSU5FX0lO
U1BFQ1RPUl9SRVNPVVJDRVMnfSBlcSAnWUVTJyk7CiBteSAkc2hvdWxkQ29tYmluZVRlc3QgPSBk
ZWZpbmVkICRFTlZ7J0NPTUJJTkVfVEVTVF9SRVNPVVJDRVMnfSAmJiAoJEVOVnsnQ09NQklORV9U
RVNUX1JFU09VUkNFUyd9IGVxICdZRVMnKTsKK215ICRzaG91bGRDb21iaW5lR1N0cmVhbWVyUmVz
b3VyY2VzID0gZGVmaW5lZCAkRU5WeydDT01CSU5FX0dTVFJFQU1FUl9SRVNPVVJDRVMnfSAmJiAo
JEVOVnsnQ09NQklORV9HU1RSRUFNRVJfUkVTT1VSQ0VTJ30gZXEgJ1lFUycpOworCiBteSAkY29t
YmluZVJlc291cmNlc0NtZCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJHNjcmlwdHNSb290LCAnY29t
YmluZS1yZXNvdXJjZXMucGwnKTsKIAogaWYgKCRmb3JjZVRvb2xJbnN0YWxsKSB7CkBAIC0zNDYs
NiArMzUxLDE3IEBAIGlmICgkc2hvdWxkQ29tYmluZU1haW4pIHsKICAgICAgICAnLS1vdXRwdXQt
ZGlyJywgJGRlcml2ZWRTb3VyY2VzRGlyLAogICAgICAgICctLW91dHB1dC1zY3JpcHQtbmFtZScs
ICdUaHJlZS5qcycpOwogCisgICAgaWYgKCRzaG91bGRDb21iaW5lR1N0cmVhbWVyUmVzb3VyY2Vz
KSB7CisgICAgICAgICMgQ29tYmluZSB0aGUgZDMuanMgSmF2YVNjcmlwdCBmaWxlcyBpbiBQcm9k
dWN0aW9uIGJ1aWxkcyBpbnRvIGEgc2luZ2xlIGZpbGUgKEQzLmpzKS4KKyAgICAgICAgc3lzdGVt
KCRwZXJsLCAkY29tYmluZVJlc291cmNlc0NtZCwKKyAgICAgICAgICAgJy0taW5wdXQtZGlyJywg
J0V4dGVybmFsL2QzLmpzJywKKyAgICAgICAgICAgJy0taW5wdXQtaHRtbCcsICRkZXJpdmVkU291
cmNlc01haW5IVE1MLAorICAgICAgICAgICAnLS1pbnB1dC1odG1sLWRpcicsICR1aVJvb3QsCisg
ICAgICAgICAgICctLWRlcml2ZWQtc291cmNlcy1kaXInLCAkZGVyaXZlZFNvdXJjZXNEaXIsCisg
ICAgICAgICAgICctLW91dHB1dC1kaXInLCAkZGVyaXZlZFNvdXJjZXNEaXIsCisgICAgICAgICAg
ICctLW91dHB1dC1zY3JpcHQtbmFtZScsICdEMy5qcycpOworICAgIH0KKwogICAgICMgUmVtb3Zl
IGNvbnNvbGUuYXNzZXJ0IGNhbGxzIGZyb20gdGhlIE1haW4uanMgZmlsZS4KICAgICBteSAkZGVy
aXZlZFNvdXJjZXNNYWluSlMgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCRkZXJpdmVkU291cmNlc0Rp
ciwgJ01haW4uanMnKTsKICAgICBzeXN0ZW0oJHBlcmwsIEZpbGU6OlNwZWMtPmNhdGZpbGUoJHNj
cmlwdHNSb290LCAncmVtb3ZlLWNvbnNvbGUtYXNzZXJ0cy5wbCcpLApAQCAtNDA2LDYgKzQyMiwx
OCBAQCBpZiAoJHNob3VsZENvbWJpbmVNYWluKSB7CiAgICAgbXkgJGRlcml2ZWRTb3VyY2VzVGhy
ZWVqc0pTID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkZGVyaXZlZFNvdXJjZXNEaXIsICdUaHJlZS5q
cycpOwogICAgIHN5c3RlbShxcSgiJHB5dGhvbiIgIiRqc01pblNjcmlwdCIgPCAiJGRlcml2ZWRT
b3VyY2VzVGhyZWVqc0pTIiA+PiAiJHRhcmdldFRocmVlanNKUyIpKSBhbmQgZGllICJGYWlsZWQg
dG8gbWluaWZ5ICRkZXJpdmVkU291cmNlc1RocmVlanNKUzogJCEiOwogCisgICAgbXkgJHRhcmdl
dEQzSlMgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCR0YXJnZXRSZXNvdXJjZVBhdGgsICdEMy5qcycp
OworICAgIGlmICgkc2hvdWxkQ29tYmluZUdTdHJlYW1lclJlc291cmNlcykgeworICAgICAgICAj
IEV4cG9ydCB0aGUgbGljZW5zZSBpbnRvIEQzLmpzLgorICAgICAgICBzZWVkRmlsZSgkdGFyZ2V0
RDNKUywgJGQzTGljZW5zZSk7CisKKyAgICAgICAgIyBNaW5pZnkgdGhlIEQzLmpzIGZpbGUsIGFw
cGVuZGluZyB0byB0aGUgbGljZW5zZSB0aGF0IHdhcyBleHBvcnRlZCBhYm92ZS4KKyAgICAgICAg
bXkgJGRlcml2ZWRTb3VyY2VzRDNKUyA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJGRlcml2ZWRTb3Vy
Y2VzRGlyLCAnRDMuanMnKTsKKyAgICAgICAgc3lzdGVtKHFxKCIkcHl0aG9uIiAiJGpzTWluU2Ny
aXB0IiA8ICIkZGVyaXZlZFNvdXJjZXNEM0pTIiA+PiAiJHRhcmdldEQzSlMiKSkgYW5kIGRpZSAi
RmFpbGVkIHRvIG1pbmlmeSAkZGVyaXZlZFNvdXJjZXNEM0pTOiAkISI7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgc2VlZEZpbGUoJHRhcmdldEQzSlMsICIiKTsKKyAgICB9CisKICAgICAjIENvcHkg
b3ZlciB0aGUgSW1hZ2VzIGRpcmVjdG9yeS4KICAgICBkaXR0byhGaWxlOjpTcGVjLT5jYXRkaXIo
JHVpUm9vdCwgJ0ltYWdlcycpLCBGaWxlOjpTcGVjLT5jYXRkaXIoJHRhcmdldFJlc291cmNlUGF0
aCwgJ0ltYWdlcycpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQmFzZS9NYWluLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQmFzZS9NYWluLmpzCmluZGV4IGU5ZWJkNjhhNWQ3ODRkNWVlMTlmMDBiM2JkYjQzOWYxNTNj
ZDZjMTcuLmRmMTE1MGVjZDc1NzJkMDYzODAxMTY2MWVhNjE1MWQwZmZlNjc5Y2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKQEAgLTcx
LDYgKzcxLDggQEAgV0kubG9hZGVkID0gZnVuY3Rpb24oKQogICAgICAgICBJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyRGF0YWJhc2VEaXNwYXRjaGVyKFdJLkRhdGFiYXNlT2JzZXJ2ZXIpOwogICAg
IGlmIChJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyKQogICAgICAg
ICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyKFdJLkRlYnVnZ2Vy
T2JzZXJ2ZXIpOworICAgIGlmIChJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyR1N0cmVhbWVyRGlz
cGF0Y2hlcikKKyAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckdTdHJlYW1lckRpc3Bh
dGNoZXIoV0kuR1N0cmVhbWVyT2JzZXJ2ZXIpOwogICAgIGlmIChJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVySGVhcERpc3BhdGNoZXIpCiAgICAgICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJI
ZWFwRGlzcGF0Y2hlcihXSS5IZWFwT2JzZXJ2ZXIpOwogICAgIGlmIChJbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVySW5zcGVjdG9yRGlzcGF0Y2hlcikKQEAgLTEyMyw2ICsxMjUsNyBAQCBXSS5sb2Fk
ZWQgPSBmdW5jdGlvbigpCiAgICAgICAgIFdJLndvcmtlck1hbmFnZXIgPSBuZXcgV0kuV29ya2Vy
TWFuYWdlciwKICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyID0gbmV3IFdJLkRPTURlYnVn
Z2VyTWFuYWdlciwKICAgICAgICAgV0kuY2FudmFzTWFuYWdlciA9IG5ldyBXSS5DYW52YXNNYW5h
Z2VyLAorICAgICAgICBXSS5nc3RyZWFtZXJNYW5hZ2VyID0gbmV3IFdJLkdTdHJlYW1lck1hbmFn
ZXIsCiAgICAgXTsKIAogICAgIC8vIFJlZ2lzdGVyIGZvciBldmVudHMuCkBAIC00NzUsNiArNDc4
LDExIEBAIFdJLmNvbnRlbnRMb2FkZWQgPSBmdW5jdGlvbigpCiAgICAgXTsKIAogICAgIFdJLl9r
bm93blRhYkNsYXNzZXNCeVR5cGUgPSBuZXcgTWFwOworCisgICAgaWYgKFdJLlBsYXRmb3JtLnBv
cnQgPT09ICJndGsiIHx8IFdJLlBsYXRmb3JtLnBvcnQgPT09ICJ3cGUiKSB7CisgICAgICAgIHBy
b2R1Y3Rpb25UYWJDbGFzc2VzLnB1c2goV0kuR1N0cmVhbWVyVGFiQ29udGVudFZpZXcpOworICAg
IH0KKwogICAgIC8vIFNldCB0YWIgY2xhc3NlcyBkaXJlY3RseS4gVGhlIHB1YmxpYyBBUEkgdHJp
Z2dlcnMgb3RoZXIgdXBkYXRlcyBhbmQKICAgICAvLyBub3RpZmljYXRpb25zIHRoYXQgd29uJ3Qg
d29yayBvciBoYXZlIG5vIGxpc3RlbmVycyBhdCBXSSBwb2ludC4KICAgICBmb3IgKGxldCB0YWJD
bGFzcyBvZiBwcm9kdWN0aW9uVGFiQ2xhc3NlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvUGxhdGZvcm0uanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1BsYXRmb3JtLmpzCmluZGV4IGZmYjVhNzdlMmMzYWRj
NzRjZjJiYmU5ODYwOTZjYTcwYWZhMGI2OTYuLjU3M2RiODlhOWUzYTUxZmUxNjg3NmVmZTdjMDU4
MjY3ZGUxYzcwN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0Jhc2UvUGxhdGZvcm0uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQmFzZS9QbGF0Zm9ybS5qcwpAQCAtMjUsNiArMjUsNyBAQAogCiBXSS5QbGF0Zm9ybSA9
IHsKICAgICBuYW1lOiBJbnNwZWN0b3JGcm9udGVuZEhvc3QucGxhdGZvcm0oKSwKKyAgICBwb3J0
OiBJbnNwZWN0b3JGcm9udGVuZEhvc3QucG9ydCgpLAogICAgIGlzTmlnaHRseUJ1aWxkOiBmYWxz
ZSwKICAgICB2ZXJzaW9uOiB7CiAgICAgICAgIGJhc2U6IDAsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9HU3RyZWFtZXJNYW5hZ2Vy
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR1N0
cmVhbWVyTWFuYWdlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDdjNjQwNjA2Mjk4M2MzMmQwMjA0NzNkYzU3
M2YyM2Q4MGFmMmJiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR1N0cmVhbWVyTWFuYWdlci5qcwpAQCAtMCwwICsxLDY5
IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAxOSBJZ2FsaWEgUy5MCisgKgorICogIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjEx
MC0xMzAxICBVU0EKKyAqLworCitXSS5HU3RyZWFtZXJNYW5hZ2VyID0gY2xhc3MgR1N0cmVhbWVy
TWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAoreworICAgIGNvbnN0cnVjdG9yKCkKKyAgICB7Cisg
ICAgICAgIHN1cGVyKCk7CisKKyAgICAgICAgdGhpcy5fcGFyc2VyID0gbmV3IERPTVBhcnNlcigp
OworICAgICAgICB0aGlzLl9lbmFibGVkID0gV0kuUGxhdGZvcm0ucG9ydCA9PT0gImd0ayIgfHwg
V0kuUGxhdGZvcm0ucG9ydCA9PT0gIndwZSI7CisgICAgfQorCisgICAgLy8gQWdlbnQKKworICAg
IGdldCBkb21haW5zKCkgeyByZXR1cm4gWyJHU3RyZWFtZXIiXTsgfQorCisgICAgYWN0aXZhdGVF
eHRyYURvbWFpbihkb21haW4pCisgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydChkb21haW4g
PT09ICJHU3RyZWFtZXIiKTsKKyAgICB9CisKKyAgICAvLyBQdWJsaWMKKworICAgIGdldCBhZ2Vu
dCgpIHsKKyAgICAgICAgbGV0IHRhcmdldCA9IFdJLmFzc3VtaW5nTWFpblRhcmdldCgpOworICAg
ICAgICBpZiAodGFyZ2V0Lmhhc0RvbWFpbigiR1N0cmVhbWVyIikpCisgICAgICAgICAgICByZXR1
cm4gdGFyZ2V0LkdTdHJlYW1lckFnZW50OworCisgICAgICAgIHJldHVybiBudWxsOworICAgIH0K
KworICAgIGV4cG9ydChvYmplY3QpCisgICAgeworICAgICAgICBXSS5GaWxlVXRpbGl0aWVzLnNh
dmUob2JqZWN0LnNhdmVEYXRhKTsKKyAgICB9CisKKyAgICByZW5kZXJTVkdFbGVtZW50KGdyYXBo
UmVwcmVzZW50YXRpb24pCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fcGFyc2VyLnBhcnNl
RnJvbVN0cmluZyhncmFwaFJlcHJlc2VudGF0aW9uLCAiaW1hZ2Uvc3ZnK3htbCIpOworICAgIH0K
KworICAgIC8vIEdTdHJlYW1lck9ic2VydmVyCisKKyAgICBhY3RpdmVQaXBlbGluZXNDaGFuZ2Vk
KCkKKyAgICB7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLkdTdHJl
YW1lck1hbmFnZXIuRXZlbnQuQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCwge30pOworICAgIH0KKwor
fTsKKworV0kuR1N0cmVhbWVyTWFuYWdlci5FdmVudCA9IHsKKyAgICBBY3RpdmVQaXBlbGluZXND
aGFuZ2VkOiAiZ3N0cmVhbWVyLW1hbmFnZXItYWN0aXZlLXBpcGVsaW5lcy13ZXJlLWNoYW5nZWQi
LAorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4
dGVybmFsL2QzLmpzL0xJQ0VOU0UgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9FeHRlcm5hbC9kMy5qcy9MSUNFTlNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkOWQ4NzVlZGI0Njk3ODZhOWM2
ZGJhZTVhYWVlZjlhM2JjYjJjMzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9kMy5qcy9MSUNFTlNFCkBAIC0wLDAgKzEsMjcg
QEAKK0NvcHlyaWdodCAyMDEwLTIwMTcgTWlrZSBCb3N0b2NrCitBbGwgcmlnaHRzIHJlc2VydmVk
LgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLAorYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhp
cworICBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKwor
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsCisgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyogTmVpdGhlciB0aGUg
bmFtZSBvZiB0aGUgYXV0aG9yIG5vciB0aGUgbmFtZXMgb2YgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvCisgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgIHdyaXR0ZW4gcGVybWlzc2lvbi4KKwor
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvZDMuanMvZDMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9kMy5qcy9kMy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zM2M2NDA2
ODllMTA1Mzc5Y2ZmZDhiYzM2NDk1NTMwNzdmNmFlNzQyCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvZDMuanMvZDMuanMKQEAg
LTAsMCArMSwxODUwMyBAQAorLy8gaHR0cHM6Ly9kM2pzLm9yZyB2NS4xNC4yIENvcHlyaWdodCAy
MDE5IE1pa2UgQm9zdG9jaworKGZ1bmN0aW9uIChnbG9iYWwsIGZhY3RvcnkpIHsKK3R5cGVvZiBl
eHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJyA/IGZh
Y3RvcnkoZXhwb3J0cykgOgordHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUu
YW1kID8gZGVmaW5lKFsnZXhwb3J0cyddLCBmYWN0b3J5KSA6CisoZ2xvYmFsID0gZ2xvYmFsIHx8
IHNlbGYsIGZhY3RvcnkoZ2xvYmFsLmQzID0gZ2xvYmFsLmQzIHx8IHt9KSk7Cit9KHRoaXMsIGZ1
bmN0aW9uIChleHBvcnRzKSB7ICd1c2Ugc3RyaWN0JzsKKwordmFyIHZlcnNpb24gPSAiNS4xNC4y
IjsKKworZnVuY3Rpb24gYXNjZW5kaW5nKGEsIGIpIHsKKyAgcmV0dXJuIGEgPCBiID8gLTEgOiBh
ID4gYiA/IDEgOiBhID49IGIgPyAwIDogTmFOOworfQorCitmdW5jdGlvbiBiaXNlY3Rvcihjb21w
YXJlKSB7CisgIGlmIChjb21wYXJlLmxlbmd0aCA9PT0gMSkgY29tcGFyZSA9IGFzY2VuZGluZ0Nv
bXBhcmF0b3IoY29tcGFyZSk7CisgIHJldHVybiB7CisgICAgbGVmdDogZnVuY3Rpb24oYSwgeCwg
bG8sIGhpKSB7CisgICAgICBpZiAobG8gPT0gbnVsbCkgbG8gPSAwOworICAgICAgaWYgKGhpID09
IG51bGwpIGhpID0gYS5sZW5ndGg7CisgICAgICB3aGlsZSAobG8gPCBoaSkgeworICAgICAgICB2
YXIgbWlkID0gbG8gKyBoaSA+Pj4gMTsKKyAgICAgICAgaWYgKGNvbXBhcmUoYVttaWRdLCB4KSA8
IDApIGxvID0gbWlkICsgMTsKKyAgICAgICAgZWxzZSBoaSA9IG1pZDsKKyAgICAgIH0KKyAgICAg
IHJldHVybiBsbzsKKyAgICB9LAorICAgIHJpZ2h0OiBmdW5jdGlvbihhLCB4LCBsbywgaGkpIHsK
KyAgICAgIGlmIChsbyA9PSBudWxsKSBsbyA9IDA7CisgICAgICBpZiAoaGkgPT0gbnVsbCkgaGkg
PSBhLmxlbmd0aDsKKyAgICAgIHdoaWxlIChsbyA8IGhpKSB7CisgICAgICAgIHZhciBtaWQgPSBs
byArIGhpID4+PiAxOworICAgICAgICBpZiAoY29tcGFyZShhW21pZF0sIHgpID4gMCkgaGkgPSBt
aWQ7CisgICAgICAgIGVsc2UgbG8gPSBtaWQgKyAxOworICAgICAgfQorICAgICAgcmV0dXJuIGxv
OworICAgIH0KKyAgfTsKK30KKworZnVuY3Rpb24gYXNjZW5kaW5nQ29tcGFyYXRvcihmKSB7Cisg
IHJldHVybiBmdW5jdGlvbihkLCB4KSB7CisgICAgcmV0dXJuIGFzY2VuZGluZyhmKGQpLCB4KTsK
KyAgfTsKK30KKwordmFyIGFzY2VuZGluZ0Jpc2VjdCA9IGJpc2VjdG9yKGFzY2VuZGluZyk7Cit2
YXIgYmlzZWN0UmlnaHQgPSBhc2NlbmRpbmdCaXNlY3QucmlnaHQ7Cit2YXIgYmlzZWN0TGVmdCA9
IGFzY2VuZGluZ0Jpc2VjdC5sZWZ0OworCitmdW5jdGlvbiBwYWlycyhhcnJheSwgZikgeworICBp
ZiAoZiA9PSBudWxsKSBmID0gcGFpcjsKKyAgdmFyIGkgPSAwLCBuID0gYXJyYXkubGVuZ3RoIC0g
MSwgcCA9IGFycmF5WzBdLCBwYWlycyA9IG5ldyBBcnJheShuIDwgMCA/IDAgOiBuKTsKKyAgd2hp
bGUgKGkgPCBuKSBwYWlyc1tpXSA9IGYocCwgcCA9IGFycmF5WysraV0pOworICByZXR1cm4gcGFp
cnM7Cit9CisKK2Z1bmN0aW9uIHBhaXIoYSwgYikgeworICByZXR1cm4gW2EsIGJdOworfQorCitm
dW5jdGlvbiBjcm9zcyh2YWx1ZXMwLCB2YWx1ZXMxLCByZWR1Y2UpIHsKKyAgdmFyIG4wID0gdmFs
dWVzMC5sZW5ndGgsCisgICAgICBuMSA9IHZhbHVlczEubGVuZ3RoLAorICAgICAgdmFsdWVzID0g
bmV3IEFycmF5KG4wICogbjEpLAorICAgICAgaTAsCisgICAgICBpMSwKKyAgICAgIGksCisgICAg
ICB2YWx1ZTA7CisKKyAgaWYgKHJlZHVjZSA9PSBudWxsKSByZWR1Y2UgPSBwYWlyOworCisgIGZv
ciAoaTAgPSBpID0gMDsgaTAgPCBuMDsgKytpMCkgeworICAgIGZvciAodmFsdWUwID0gdmFsdWVz
MFtpMF0sIGkxID0gMDsgaTEgPCBuMTsgKytpMSwgKytpKSB7CisgICAgICB2YWx1ZXNbaV0gPSBy
ZWR1Y2UodmFsdWUwLCB2YWx1ZXMxW2kxXSk7CisgICAgfQorICB9CisKKyAgcmV0dXJuIHZhbHVl
czsKK30KKworZnVuY3Rpb24gZGVzY2VuZGluZyhhLCBiKSB7CisgIHJldHVybiBiIDwgYSA/IC0x
IDogYiA+IGEgPyAxIDogYiA+PSBhID8gMCA6IE5hTjsKK30KKworZnVuY3Rpb24gbnVtYmVyKHgp
IHsKKyAgcmV0dXJuIHggPT09IG51bGwgPyBOYU4gOiAreDsKK30KKworZnVuY3Rpb24gdmFyaWFu
Y2UodmFsdWVzLCB2YWx1ZW9mKSB7CisgIHZhciBuID0gdmFsdWVzLmxlbmd0aCwKKyAgICAgIG0g
PSAwLAorICAgICAgaSA9IC0xLAorICAgICAgbWVhbiA9IDAsCisgICAgICB2YWx1ZSwKKyAgICAg
IGRlbHRhLAorICAgICAgc3VtID0gMDsKKworICBpZiAodmFsdWVvZiA9PSBudWxsKSB7CisgICAg
d2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIGlmICghaXNOYU4odmFsdWUgPSBudW1iZXIodmFsdWVz
W2ldKSkpIHsKKyAgICAgICAgZGVsdGEgPSB2YWx1ZSAtIG1lYW47CisgICAgICAgIG1lYW4gKz0g
ZGVsdGEgLyArK207CisgICAgICAgIHN1bSArPSBkZWx0YSAqICh2YWx1ZSAtIG1lYW4pOworICAg
ICAgfQorICAgIH0KKyAgfQorCisgIGVsc2UgeworICAgIHdoaWxlICgrK2kgPCBuKSB7CisgICAg
ICBpZiAoIWlzTmFOKHZhbHVlID0gbnVtYmVyKHZhbHVlb2YodmFsdWVzW2ldLCBpLCB2YWx1ZXMp
KSkpIHsKKyAgICAgICAgZGVsdGEgPSB2YWx1ZSAtIG1lYW47CisgICAgICAgIG1lYW4gKz0gZGVs
dGEgLyArK207CisgICAgICAgIHN1bSArPSBkZWx0YSAqICh2YWx1ZSAtIG1lYW4pOworICAgICAg
fQorICAgIH0KKyAgfQorCisgIGlmIChtID4gMSkgcmV0dXJuIHN1bSAvIChtIC0gMSk7Cit9CisK
K2Z1bmN0aW9uIGRldmlhdGlvbihhcnJheSwgZikgeworICB2YXIgdiA9IHZhcmlhbmNlKGFycmF5
LCBmKTsKKyAgcmV0dXJuIHYgPyBNYXRoLnNxcnQodikgOiB2OworfQorCitmdW5jdGlvbiBleHRl
bnQodmFsdWVzLCB2YWx1ZW9mKSB7CisgIHZhciBuID0gdmFsdWVzLmxlbmd0aCwKKyAgICAgIGkg
PSAtMSwKKyAgICAgIHZhbHVlLAorICAgICAgbWluLAorICAgICAgbWF4OworCisgIGlmICh2YWx1
ZW9mID09IG51bGwpIHsKKyAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBGaW5kIHRoZSBmaXJzdCBj
b21wYXJhYmxlIHZhbHVlLgorICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlc1tpXSkgIT0gbnVsbCAm
JiB2YWx1ZSA+PSB2YWx1ZSkgeworICAgICAgICBtaW4gPSBtYXggPSB2YWx1ZTsKKyAgICAgICAg
d2hpbGUgKCsraSA8IG4pIHsgLy8gQ29tcGFyZSB0aGUgcmVtYWluaW5nIHZhbHVlcy4KKyAgICAg
ICAgICBpZiAoKHZhbHVlID0gdmFsdWVzW2ldKSAhPSBudWxsKSB7CisgICAgICAgICAgICBpZiAo
bWluID4gdmFsdWUpIG1pbiA9IHZhbHVlOworICAgICAgICAgICAgaWYgKG1heCA8IHZhbHVlKSBt
YXggPSB2YWx1ZTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisgIH0K
KworICBlbHNlIHsKKyAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBGaW5kIHRoZSBmaXJzdCBjb21w
YXJhYmxlIHZhbHVlLgorICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlb2YodmFsdWVzW2ldLCBpLCB2
YWx1ZXMpKSAhPSBudWxsICYmIHZhbHVlID49IHZhbHVlKSB7CisgICAgICAgIG1pbiA9IG1heCA9
IHZhbHVlOworICAgICAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBDb21wYXJlIHRoZSByZW1haW5p
bmcgdmFsdWVzLgorICAgICAgICAgIGlmICgodmFsdWUgPSB2YWx1ZW9mKHZhbHVlc1tpXSwgaSwg
dmFsdWVzKSkgIT0gbnVsbCkgeworICAgICAgICAgICAgaWYgKG1pbiA+IHZhbHVlKSBtaW4gPSB2
YWx1ZTsKKyAgICAgICAgICAgIGlmIChtYXggPCB2YWx1ZSkgbWF4ID0gdmFsdWU7CisgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIFttaW4sIG1h
eF07Cit9CisKK3ZhciBhcnJheSA9IEFycmF5LnByb3RvdHlwZTsKKwordmFyIHNsaWNlID0gYXJy
YXkuc2xpY2U7Cit2YXIgbWFwID0gYXJyYXkubWFwOworCitmdW5jdGlvbiBjb25zdGFudCh4KSB7
CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKworZnVuY3Rp
b24gaWRlbnRpdHkoeCkgeworICByZXR1cm4geDsKK30KKworZnVuY3Rpb24gc2VxdWVuY2Uoc3Rh
cnQsIHN0b3AsIHN0ZXApIHsKKyAgc3RhcnQgPSArc3RhcnQsIHN0b3AgPSArc3RvcCwgc3RlcCA9
IChuID0gYXJndW1lbnRzLmxlbmd0aCkgPCAyID8gKHN0b3AgPSBzdGFydCwgc3RhcnQgPSAwLCAx
KSA6IG4gPCAzID8gMSA6ICtzdGVwOworCisgIHZhciBpID0gLTEsCisgICAgICBuID0gTWF0aC5t
YXgoMCwgTWF0aC5jZWlsKChzdG9wIC0gc3RhcnQpIC8gc3RlcCkpIHwgMCwKKyAgICAgIHJhbmdl
ID0gbmV3IEFycmF5KG4pOworCisgIHdoaWxlICgrK2kgPCBuKSB7CisgICAgcmFuZ2VbaV0gPSBz
dGFydCArIGkgKiBzdGVwOworICB9CisKKyAgcmV0dXJuIHJhbmdlOworfQorCit2YXIgZTEwID0g
TWF0aC5zcXJ0KDUwKSwKKyAgICBlNSA9IE1hdGguc3FydCgxMCksCisgICAgZTIgPSBNYXRoLnNx
cnQoMik7CisKK2Z1bmN0aW9uIHRpY2tzKHN0YXJ0LCBzdG9wLCBjb3VudCkgeworICB2YXIgcmV2
ZXJzZSwKKyAgICAgIGkgPSAtMSwKKyAgICAgIG4sCisgICAgICB0aWNrcywKKyAgICAgIHN0ZXA7
CisKKyAgc3RvcCA9ICtzdG9wLCBzdGFydCA9ICtzdGFydCwgY291bnQgPSArY291bnQ7CisgIGlm
IChzdGFydCA9PT0gc3RvcCAmJiBjb3VudCA+IDApIHJldHVybiBbc3RhcnRdOworICBpZiAocmV2
ZXJzZSA9IHN0b3AgPCBzdGFydCkgbiA9IHN0YXJ0LCBzdGFydCA9IHN0b3AsIHN0b3AgPSBuOwor
ICBpZiAoKHN0ZXAgPSB0aWNrSW5jcmVtZW50KHN0YXJ0LCBzdG9wLCBjb3VudCkpID09PSAwIHx8
ICFpc0Zpbml0ZShzdGVwKSkgcmV0dXJuIFtdOworCisgIGlmIChzdGVwID4gMCkgeworICAgIHN0
YXJ0ID0gTWF0aC5jZWlsKHN0YXJ0IC8gc3RlcCk7CisgICAgc3RvcCA9IE1hdGguZmxvb3Ioc3Rv
cCAvIHN0ZXApOworICAgIHRpY2tzID0gbmV3IEFycmF5KG4gPSBNYXRoLmNlaWwoc3RvcCAtIHN0
YXJ0ICsgMSkpOworICAgIHdoaWxlICgrK2kgPCBuKSB0aWNrc1tpXSA9IChzdGFydCArIGkpICog
c3RlcDsKKyAgfSBlbHNlIHsKKyAgICBzdGFydCA9IE1hdGguZmxvb3Ioc3RhcnQgKiBzdGVwKTsK
KyAgICBzdG9wID0gTWF0aC5jZWlsKHN0b3AgKiBzdGVwKTsKKyAgICB0aWNrcyA9IG5ldyBBcnJh
eShuID0gTWF0aC5jZWlsKHN0YXJ0IC0gc3RvcCArIDEpKTsKKyAgICB3aGlsZSAoKytpIDwgbikg
dGlja3NbaV0gPSAoc3RhcnQgLSBpKSAvIHN0ZXA7CisgIH0KKworICBpZiAocmV2ZXJzZSkgdGlj
a3MucmV2ZXJzZSgpOworCisgIHJldHVybiB0aWNrczsKK30KKworZnVuY3Rpb24gdGlja0luY3Jl
bWVudChzdGFydCwgc3RvcCwgY291bnQpIHsKKyAgdmFyIHN0ZXAgPSAoc3RvcCAtIHN0YXJ0KSAv
IE1hdGgubWF4KDAsIGNvdW50KSwKKyAgICAgIHBvd2VyID0gTWF0aC5mbG9vcihNYXRoLmxvZyhz
dGVwKSAvIE1hdGguTE4xMCksCisgICAgICBlcnJvciA9IHN0ZXAgLyBNYXRoLnBvdygxMCwgcG93
ZXIpOworICByZXR1cm4gcG93ZXIgPj0gMAorICAgICAgPyAoZXJyb3IgPj0gZTEwID8gMTAgOiBl
cnJvciA+PSBlNSA/IDUgOiBlcnJvciA+PSBlMiA/IDIgOiAxKSAqIE1hdGgucG93KDEwLCBwb3dl
cikKKyAgICAgIDogLU1hdGgucG93KDEwLCAtcG93ZXIpIC8gKGVycm9yID49IGUxMCA/IDEwIDog
ZXJyb3IgPj0gZTUgPyA1IDogZXJyb3IgPj0gZTIgPyAyIDogMSk7Cit9CisKK2Z1bmN0aW9uIHRp
Y2tTdGVwKHN0YXJ0LCBzdG9wLCBjb3VudCkgeworICB2YXIgc3RlcDAgPSBNYXRoLmFicyhzdG9w
IC0gc3RhcnQpIC8gTWF0aC5tYXgoMCwgY291bnQpLAorICAgICAgc3RlcDEgPSBNYXRoLnBvdygx
MCwgTWF0aC5mbG9vcihNYXRoLmxvZyhzdGVwMCkgLyBNYXRoLkxOMTApKSwKKyAgICAgIGVycm9y
ID0gc3RlcDAgLyBzdGVwMTsKKyAgaWYgKGVycm9yID49IGUxMCkgc3RlcDEgKj0gMTA7CisgIGVs
c2UgaWYgKGVycm9yID49IGU1KSBzdGVwMSAqPSA1OworICBlbHNlIGlmIChlcnJvciA+PSBlMikg
c3RlcDEgKj0gMjsKKyAgcmV0dXJuIHN0b3AgPCBzdGFydCA/IC1zdGVwMSA6IHN0ZXAxOworfQor
CitmdW5jdGlvbiB0aHJlc2hvbGRTdHVyZ2VzKHZhbHVlcykgeworICByZXR1cm4gTWF0aC5jZWls
KE1hdGgubG9nKHZhbHVlcy5sZW5ndGgpIC8gTWF0aC5MTjIpICsgMTsKK30KKworZnVuY3Rpb24g
aGlzdG9ncmFtKCkgeworICB2YXIgdmFsdWUgPSBpZGVudGl0eSwKKyAgICAgIGRvbWFpbiA9IGV4
dGVudCwKKyAgICAgIHRocmVzaG9sZCA9IHRocmVzaG9sZFN0dXJnZXM7CisKKyAgZnVuY3Rpb24g
aGlzdG9ncmFtKGRhdGEpIHsKKyAgICB2YXIgaSwKKyAgICAgICAgbiA9IGRhdGEubGVuZ3RoLAor
ICAgICAgICB4LAorICAgICAgICB2YWx1ZXMgPSBuZXcgQXJyYXkobik7CisKKyAgICBmb3IgKGkg
PSAwOyBpIDwgbjsgKytpKSB7CisgICAgICB2YWx1ZXNbaV0gPSB2YWx1ZShkYXRhW2ldLCBpLCBk
YXRhKTsKKyAgICB9CisKKyAgICB2YXIgeHogPSBkb21haW4odmFsdWVzKSwKKyAgICAgICAgeDAg
PSB4elswXSwKKyAgICAgICAgeDEgPSB4elsxXSwKKyAgICAgICAgdHogPSB0aHJlc2hvbGQodmFs
dWVzLCB4MCwgeDEpOworCisgICAgLy8gQ29udmVydCBudW1iZXIgb2YgdGhyZXNob2xkcyBpbnRv
IHVuaWZvcm0gdGhyZXNob2xkcy4KKyAgICBpZiAoIUFycmF5LmlzQXJyYXkodHopKSB7CisgICAg
ICB0eiA9IHRpY2tTdGVwKHgwLCB4MSwgdHopOworICAgICAgdHogPSBzZXF1ZW5jZShNYXRoLmNl
aWwoeDAgLyB0eikgKiB0eiwgeDEsIHR6KTsgLy8gZXhjbHVzaXZlCisgICAgfQorCisgICAgLy8g
UmVtb3ZlIGFueSB0aHJlc2hvbGRzIG91dHNpZGUgdGhlIGRvbWFpbi4KKyAgICB2YXIgbSA9IHR6
Lmxlbmd0aDsKKyAgICB3aGlsZSAodHpbMF0gPD0geDApIHR6LnNoaWZ0KCksIC0tbTsKKyAgICB3
aGlsZSAodHpbbSAtIDFdID4geDEpIHR6LnBvcCgpLCAtLW07CisKKyAgICB2YXIgYmlucyA9IG5l
dyBBcnJheShtICsgMSksCisgICAgICAgIGJpbjsKKworICAgIC8vIEluaXRpYWxpemUgYmlucy4K
KyAgICBmb3IgKGkgPSAwOyBpIDw9IG07ICsraSkgeworICAgICAgYmluID0gYmluc1tpXSA9IFtd
OworICAgICAgYmluLngwID0gaSA+IDAgPyB0eltpIC0gMV0gOiB4MDsKKyAgICAgIGJpbi54MSA9
IGkgPCBtID8gdHpbaV0gOiB4MTsKKyAgICB9CisKKyAgICAvLyBBc3NpZ24gZGF0YSB0byBiaW5z
IGJ5IHZhbHVlLCBpZ25vcmluZyBhbnkgb3V0c2lkZSB0aGUgZG9tYWluLgorICAgIGZvciAoaSA9
IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIHggPSB2YWx1ZXNbaV07CisgICAgICBpZiAoeDAgPD0g
eCAmJiB4IDw9IHgxKSB7CisgICAgICAgIGJpbnNbYmlzZWN0UmlnaHQodHosIHgsIDAsIG0pXS5w
dXNoKGRhdGFbaV0pOworICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBiaW5zOworICB9CisK
KyAgaGlzdG9ncmFtLnZhbHVlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMu
bGVuZ3RoID8gKHZhbHVlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQo
XyksIGhpc3RvZ3JhbSkgOiB2YWx1ZTsKKyAgfTsKKworICBoaXN0b2dyYW0uZG9tYWluID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGRvbWFpbiA9IHR5cGVv
ZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50KFtfWzBdLCBfWzFdXSksIGhpc3RvZ3Jh
bSkgOiBkb21haW47CisgIH07CisKKyAgaGlzdG9ncmFtLnRocmVzaG9sZHMgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGhyZXNob2xkID0gdHlwZW9mIF8g
PT09ICJmdW5jdGlvbiIgPyBfIDogQXJyYXkuaXNBcnJheShfKSA/IGNvbnN0YW50KHNsaWNlLmNh
bGwoXykpIDogY29uc3RhbnQoXyksIGhpc3RvZ3JhbSkgOiB0aHJlc2hvbGQ7CisgIH07CisKKyAg
cmV0dXJuIGhpc3RvZ3JhbTsKK30KKworZnVuY3Rpb24gdGhyZXNob2xkKHZhbHVlcywgcCwgdmFs
dWVvZikgeworICBpZiAodmFsdWVvZiA9PSBudWxsKSB2YWx1ZW9mID0gbnVtYmVyOworICBpZiAo
IShuID0gdmFsdWVzLmxlbmd0aCkpIHJldHVybjsKKyAgaWYgKChwID0gK3ApIDw9IDAgfHwgbiA8
IDIpIHJldHVybiArdmFsdWVvZih2YWx1ZXNbMF0sIDAsIHZhbHVlcyk7CisgIGlmIChwID49IDEp
IHJldHVybiArdmFsdWVvZih2YWx1ZXNbbiAtIDFdLCBuIC0gMSwgdmFsdWVzKTsKKyAgdmFyIG4s
CisgICAgICBpID0gKG4gLSAxKSAqIHAsCisgICAgICBpMCA9IE1hdGguZmxvb3IoaSksCisgICAg
ICB2YWx1ZTAgPSArdmFsdWVvZih2YWx1ZXNbaTBdLCBpMCwgdmFsdWVzKSwKKyAgICAgIHZhbHVl
MSA9ICt2YWx1ZW9mKHZhbHVlc1tpMCArIDFdLCBpMCArIDEsIHZhbHVlcyk7CisgIHJldHVybiB2
YWx1ZTAgKyAodmFsdWUxIC0gdmFsdWUwKSAqIChpIC0gaTApOworfQorCitmdW5jdGlvbiBmcmVl
ZG1hbkRpYWNvbmlzKHZhbHVlcywgbWluLCBtYXgpIHsKKyAgdmFsdWVzID0gbWFwLmNhbGwodmFs
dWVzLCBudW1iZXIpLnNvcnQoYXNjZW5kaW5nKTsKKyAgcmV0dXJuIE1hdGguY2VpbCgobWF4IC0g
bWluKSAvICgyICogKHRocmVzaG9sZCh2YWx1ZXMsIDAuNzUpIC0gdGhyZXNob2xkKHZhbHVlcywg
MC4yNSkpICogTWF0aC5wb3codmFsdWVzLmxlbmd0aCwgLTEgLyAzKSkpOworfQorCitmdW5jdGlv
biBzY290dCh2YWx1ZXMsIG1pbiwgbWF4KSB7CisgIHJldHVybiBNYXRoLmNlaWwoKG1heCAtIG1p
bikgLyAoMy41ICogZGV2aWF0aW9uKHZhbHVlcykgKiBNYXRoLnBvdyh2YWx1ZXMubGVuZ3RoLCAt
MSAvIDMpKSk7Cit9CisKK2Z1bmN0aW9uIG1heCh2YWx1ZXMsIHZhbHVlb2YpIHsKKyAgdmFyIG4g
PSB2YWx1ZXMubGVuZ3RoLAorICAgICAgaSA9IC0xLAorICAgICAgdmFsdWUsCisgICAgICBtYXg7
CisKKyAgaWYgKHZhbHVlb2YgPT0gbnVsbCkgeworICAgIHdoaWxlICgrK2kgPCBuKSB7IC8vIEZp
bmQgdGhlIGZpcnN0IGNvbXBhcmFibGUgdmFsdWUuCisgICAgICBpZiAoKHZhbHVlID0gdmFsdWVz
W2ldKSAhPSBudWxsICYmIHZhbHVlID49IHZhbHVlKSB7CisgICAgICAgIG1heCA9IHZhbHVlOwor
ICAgICAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBDb21wYXJlIHRoZSByZW1haW5pbmcgdmFsdWVz
LgorICAgICAgICAgIGlmICgodmFsdWUgPSB2YWx1ZXNbaV0pICE9IG51bGwgJiYgdmFsdWUgPiBt
YXgpIHsKKyAgICAgICAgICAgIG1heCA9IHZhbHVlOworICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgICAgfQorICAgIH0KKyAgfQorCisgIGVsc2UgeworICAgIHdoaWxlICgrK2kgPCBuKSB7IC8v
IEZpbmQgdGhlIGZpcnN0IGNvbXBhcmFibGUgdmFsdWUuCisgICAgICBpZiAoKHZhbHVlID0gdmFs
dWVvZih2YWx1ZXNbaV0sIGksIHZhbHVlcykpICE9IG51bGwgJiYgdmFsdWUgPj0gdmFsdWUpIHsK
KyAgICAgICAgbWF4ID0gdmFsdWU7CisgICAgICAgIHdoaWxlICgrK2kgPCBuKSB7IC8vIENvbXBh
cmUgdGhlIHJlbWFpbmluZyB2YWx1ZXMuCisgICAgICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlb2Yo
dmFsdWVzW2ldLCBpLCB2YWx1ZXMpKSAhPSBudWxsICYmIHZhbHVlID4gbWF4KSB7CisgICAgICAg
ICAgICBtYXggPSB2YWx1ZTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9
CisgIH0KKworICByZXR1cm4gbWF4OworfQorCitmdW5jdGlvbiBtZWFuKHZhbHVlcywgdmFsdWVv
ZikgeworICB2YXIgbiA9IHZhbHVlcy5sZW5ndGgsCisgICAgICBtID0gbiwKKyAgICAgIGkgPSAt
MSwKKyAgICAgIHZhbHVlLAorICAgICAgc3VtID0gMDsKKworICBpZiAodmFsdWVvZiA9PSBudWxs
KSB7CisgICAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIGlmICghaXNOYU4odmFsdWUgPSBudW1i
ZXIodmFsdWVzW2ldKSkpIHN1bSArPSB2YWx1ZTsKKyAgICAgIGVsc2UgLS1tOworICAgIH0KKyAg
fQorCisgIGVsc2UgeworICAgIHdoaWxlICgrK2kgPCBuKSB7CisgICAgICBpZiAoIWlzTmFOKHZh
bHVlID0gbnVtYmVyKHZhbHVlb2YodmFsdWVzW2ldLCBpLCB2YWx1ZXMpKSkpIHN1bSArPSB2YWx1
ZTsKKyAgICAgIGVsc2UgLS1tOworICAgIH0KKyAgfQorCisgIGlmIChtKSByZXR1cm4gc3VtIC8g
bTsKK30KKworZnVuY3Rpb24gbWVkaWFuKHZhbHVlcywgdmFsdWVvZikgeworICB2YXIgbiA9IHZh
bHVlcy5sZW5ndGgsCisgICAgICBpID0gLTEsCisgICAgICB2YWx1ZSwKKyAgICAgIG51bWJlcnMg
PSBbXTsKKworICBpZiAodmFsdWVvZiA9PSBudWxsKSB7CisgICAgd2hpbGUgKCsraSA8IG4pIHsK
KyAgICAgIGlmICghaXNOYU4odmFsdWUgPSBudW1iZXIodmFsdWVzW2ldKSkpIHsKKyAgICAgICAg
bnVtYmVycy5wdXNoKHZhbHVlKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBlbHNlIHsKKyAg
ICB3aGlsZSAoKytpIDwgbikgeworICAgICAgaWYgKCFpc05hTih2YWx1ZSA9IG51bWJlcih2YWx1
ZW9mKHZhbHVlc1tpXSwgaSwgdmFsdWVzKSkpKSB7CisgICAgICAgIG51bWJlcnMucHVzaCh2YWx1
ZSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIHRocmVzaG9sZChudW1iZXJzLnNv
cnQoYXNjZW5kaW5nKSwgMC41KTsKK30KKworZnVuY3Rpb24gbWVyZ2UoYXJyYXlzKSB7CisgIHZh
ciBuID0gYXJyYXlzLmxlbmd0aCwKKyAgICAgIG0sCisgICAgICBpID0gLTEsCisgICAgICBqID0g
MCwKKyAgICAgIG1lcmdlZCwKKyAgICAgIGFycmF5OworCisgIHdoaWxlICgrK2kgPCBuKSBqICs9
IGFycmF5c1tpXS5sZW5ndGg7CisgIG1lcmdlZCA9IG5ldyBBcnJheShqKTsKKworICB3aGlsZSAo
LS1uID49IDApIHsKKyAgICBhcnJheSA9IGFycmF5c1tuXTsKKyAgICBtID0gYXJyYXkubGVuZ3Ro
OworICAgIHdoaWxlICgtLW0gPj0gMCkgeworICAgICAgbWVyZ2VkWy0tal0gPSBhcnJheVttXTsK
KyAgICB9CisgIH0KKworICByZXR1cm4gbWVyZ2VkOworfQorCitmdW5jdGlvbiBtaW4odmFsdWVz
LCB2YWx1ZW9mKSB7CisgIHZhciBuID0gdmFsdWVzLmxlbmd0aCwKKyAgICAgIGkgPSAtMSwKKyAg
ICAgIHZhbHVlLAorICAgICAgbWluOworCisgIGlmICh2YWx1ZW9mID09IG51bGwpIHsKKyAgICB3
aGlsZSAoKytpIDwgbikgeyAvLyBGaW5kIHRoZSBmaXJzdCBjb21wYXJhYmxlIHZhbHVlLgorICAg
ICAgaWYgKCh2YWx1ZSA9IHZhbHVlc1tpXSkgIT0gbnVsbCAmJiB2YWx1ZSA+PSB2YWx1ZSkgewor
ICAgICAgICBtaW4gPSB2YWx1ZTsKKyAgICAgICAgd2hpbGUgKCsraSA8IG4pIHsgLy8gQ29tcGFy
ZSB0aGUgcmVtYWluaW5nIHZhbHVlcy4KKyAgICAgICAgICBpZiAoKHZhbHVlID0gdmFsdWVzW2ld
KSAhPSBudWxsICYmIG1pbiA+IHZhbHVlKSB7CisgICAgICAgICAgICBtaW4gPSB2YWx1ZTsKKyAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisgIH0KKworICBlbHNlIHsKKyAg
ICB3aGlsZSAoKytpIDwgbikgeyAvLyBGaW5kIHRoZSBmaXJzdCBjb21wYXJhYmxlIHZhbHVlLgor
ICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlb2YodmFsdWVzW2ldLCBpLCB2YWx1ZXMpKSAhPSBudWxs
ICYmIHZhbHVlID49IHZhbHVlKSB7CisgICAgICAgIG1pbiA9IHZhbHVlOworICAgICAgICB3aGls
ZSAoKytpIDwgbikgeyAvLyBDb21wYXJlIHRoZSByZW1haW5pbmcgdmFsdWVzLgorICAgICAgICAg
IGlmICgodmFsdWUgPSB2YWx1ZW9mKHZhbHVlc1tpXSwgaSwgdmFsdWVzKSkgIT0gbnVsbCAmJiBt
aW4gPiB2YWx1ZSkgeworICAgICAgICAgICAgbWluID0gdmFsdWU7CisgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIG1pbjsKK30KKworZnVuY3Rp
b24gcGVybXV0ZShhcnJheSwgaW5kZXhlcykgeworICB2YXIgaSA9IGluZGV4ZXMubGVuZ3RoLCBw
ZXJtdXRlcyA9IG5ldyBBcnJheShpKTsKKyAgd2hpbGUgKGktLSkgcGVybXV0ZXNbaV0gPSBhcnJh
eVtpbmRleGVzW2ldXTsKKyAgcmV0dXJuIHBlcm11dGVzOworfQorCitmdW5jdGlvbiBzY2FuKHZh
bHVlcywgY29tcGFyZSkgeworICBpZiAoIShuID0gdmFsdWVzLmxlbmd0aCkpIHJldHVybjsKKyAg
dmFyIG4sCisgICAgICBpID0gMCwKKyAgICAgIGogPSAwLAorICAgICAgeGksCisgICAgICB4aiA9
IHZhbHVlc1tqXTsKKworICBpZiAoY29tcGFyZSA9PSBudWxsKSBjb21wYXJlID0gYXNjZW5kaW5n
OworCisgIHdoaWxlICgrK2kgPCBuKSB7CisgICAgaWYgKGNvbXBhcmUoeGkgPSB2YWx1ZXNbaV0s
IHhqKSA8IDAgfHwgY29tcGFyZSh4aiwgeGopICE9PSAwKSB7CisgICAgICB4aiA9IHhpLCBqID0g
aTsKKyAgICB9CisgIH0KKworICBpZiAoY29tcGFyZSh4aiwgeGopID09PSAwKSByZXR1cm4gajsK
K30KKworZnVuY3Rpb24gc2h1ZmZsZShhcnJheSwgaTAsIGkxKSB7CisgIHZhciBtID0gKGkxID09
IG51bGwgPyBhcnJheS5sZW5ndGggOiBpMSkgLSAoaTAgPSBpMCA9PSBudWxsID8gMCA6ICtpMCks
CisgICAgICB0LAorICAgICAgaTsKKworICB3aGlsZSAobSkgeworICAgIGkgPSBNYXRoLnJhbmRv
bSgpICogbS0tIHwgMDsKKyAgICB0ID0gYXJyYXlbbSArIGkwXTsKKyAgICBhcnJheVttICsgaTBd
ID0gYXJyYXlbaSArIGkwXTsKKyAgICBhcnJheVtpICsgaTBdID0gdDsKKyAgfQorCisgIHJldHVy
biBhcnJheTsKK30KKworZnVuY3Rpb24gc3VtKHZhbHVlcywgdmFsdWVvZikgeworICB2YXIgbiA9
IHZhbHVlcy5sZW5ndGgsCisgICAgICBpID0gLTEsCisgICAgICB2YWx1ZSwKKyAgICAgIHN1bSA9
IDA7CisKKyAgaWYgKHZhbHVlb2YgPT0gbnVsbCkgeworICAgIHdoaWxlICgrK2kgPCBuKSB7Cisg
ICAgICBpZiAodmFsdWUgPSArdmFsdWVzW2ldKSBzdW0gKz0gdmFsdWU7IC8vIE5vdGU6IHplcm8g
YW5kIG51bGwgYXJlIGVxdWl2YWxlbnQuCisgICAgfQorICB9CisKKyAgZWxzZSB7CisgICAgd2hp
bGUgKCsraSA8IG4pIHsKKyAgICAgIGlmICh2YWx1ZSA9ICt2YWx1ZW9mKHZhbHVlc1tpXSwgaSwg
dmFsdWVzKSkgc3VtICs9IHZhbHVlOworICAgIH0KKyAgfQorCisgIHJldHVybiBzdW07Cit9CisK
K2Z1bmN0aW9uIHRyYW5zcG9zZShtYXRyaXgpIHsKKyAgaWYgKCEobiA9IG1hdHJpeC5sZW5ndGgp
KSByZXR1cm4gW107CisgIGZvciAodmFyIGkgPSAtMSwgbSA9IG1pbihtYXRyaXgsIGxlbmd0aCks
IHRyYW5zcG9zZSA9IG5ldyBBcnJheShtKTsgKytpIDwgbTspIHsKKyAgICBmb3IgKHZhciBqID0g
LTEsIG4sIHJvdyA9IHRyYW5zcG9zZVtpXSA9IG5ldyBBcnJheShuKTsgKytqIDwgbjspIHsKKyAg
ICAgIHJvd1tqXSA9IG1hdHJpeFtqXVtpXTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHRyYW5zcG9z
ZTsKK30KKworZnVuY3Rpb24gbGVuZ3RoKGQpIHsKKyAgcmV0dXJuIGQubGVuZ3RoOworfQorCitm
dW5jdGlvbiB6aXAoKSB7CisgIHJldHVybiB0cmFuc3Bvc2UoYXJndW1lbnRzKTsKK30KKwordmFy
IHNsaWNlJDEgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7CisKK2Z1bmN0aW9uIGlkZW50aXR5JDEo
eCkgeworICByZXR1cm4geDsKK30KKwordmFyIHRvcCA9IDEsCisgICAgcmlnaHQgPSAyLAorICAg
IGJvdHRvbSA9IDMsCisgICAgbGVmdCA9IDQsCisgICAgZXBzaWxvbiA9IDFlLTY7CisKK2Z1bmN0
aW9uIHRyYW5zbGF0ZVgoeCkgeworICByZXR1cm4gInRyYW5zbGF0ZSgiICsgKHggKyAwLjUpICsg
IiwwKSI7Cit9CisKK2Z1bmN0aW9uIHRyYW5zbGF0ZVkoeSkgeworICByZXR1cm4gInRyYW5zbGF0
ZSgwLCIgKyAoeSArIDAuNSkgKyAiKSI7Cit9CisKK2Z1bmN0aW9uIG51bWJlciQxKHNjYWxlKSB7
CisgIHJldHVybiBmdW5jdGlvbihkKSB7CisgICAgcmV0dXJuICtzY2FsZShkKTsKKyAgfTsKK30K
KworZnVuY3Rpb24gY2VudGVyKHNjYWxlKSB7CisgIHZhciBvZmZzZXQgPSBNYXRoLm1heCgwLCBz
Y2FsZS5iYW5kd2lkdGgoKSAtIDEpIC8gMjsgLy8gQWRqdXN0IGZvciAwLjVweCBvZmZzZXQuCisg
IGlmIChzY2FsZS5yb3VuZCgpKSBvZmZzZXQgPSBNYXRoLnJvdW5kKG9mZnNldCk7CisgIHJldHVy
biBmdW5jdGlvbihkKSB7CisgICAgcmV0dXJuICtzY2FsZShkKSArIG9mZnNldDsKKyAgfTsKK30K
KworZnVuY3Rpb24gZW50ZXJpbmcoKSB7CisgIHJldHVybiAhdGhpcy5fX2F4aXM7Cit9CisKK2Z1
bmN0aW9uIGF4aXMob3JpZW50LCBzY2FsZSkgeworICB2YXIgdGlja0FyZ3VtZW50cyA9IFtdLAor
ICAgICAgdGlja1ZhbHVlcyA9IG51bGwsCisgICAgICB0aWNrRm9ybWF0ID0gbnVsbCwKKyAgICAg
IHRpY2tTaXplSW5uZXIgPSA2LAorICAgICAgdGlja1NpemVPdXRlciA9IDYsCisgICAgICB0aWNr
UGFkZGluZyA9IDMsCisgICAgICBrID0gb3JpZW50ID09PSB0b3AgfHwgb3JpZW50ID09PSBsZWZ0
ID8gLTEgOiAxLAorICAgICAgeCA9IG9yaWVudCA9PT0gbGVmdCB8fCBvcmllbnQgPT09IHJpZ2h0
ID8gIngiIDogInkiLAorICAgICAgdHJhbnNmb3JtID0gb3JpZW50ID09PSB0b3AgfHwgb3JpZW50
ID09PSBib3R0b20gPyB0cmFuc2xhdGVYIDogdHJhbnNsYXRlWTsKKworICBmdW5jdGlvbiBheGlz
KGNvbnRleHQpIHsKKyAgICB2YXIgdmFsdWVzID0gdGlja1ZhbHVlcyA9PSBudWxsID8gKHNjYWxl
LnRpY2tzID8gc2NhbGUudGlja3MuYXBwbHkoc2NhbGUsIHRpY2tBcmd1bWVudHMpIDogc2NhbGUu
ZG9tYWluKCkpIDogdGlja1ZhbHVlcywKKyAgICAgICAgZm9ybWF0ID0gdGlja0Zvcm1hdCA9PSBu
dWxsID8gKHNjYWxlLnRpY2tGb3JtYXQgPyBzY2FsZS50aWNrRm9ybWF0LmFwcGx5KHNjYWxlLCB0
aWNrQXJndW1lbnRzKSA6IGlkZW50aXR5JDEpIDogdGlja0Zvcm1hdCwKKyAgICAgICAgc3BhY2lu
ZyA9IE1hdGgubWF4KHRpY2tTaXplSW5uZXIsIDApICsgdGlja1BhZGRpbmcsCisgICAgICAgIHJh
bmdlID0gc2NhbGUucmFuZ2UoKSwKKyAgICAgICAgcmFuZ2UwID0gK3JhbmdlWzBdICsgMC41LAor
ICAgICAgICByYW5nZTEgPSArcmFuZ2VbcmFuZ2UubGVuZ3RoIC0gMV0gKyAwLjUsCisgICAgICAg
IHBvc2l0aW9uID0gKHNjYWxlLmJhbmR3aWR0aCA/IGNlbnRlciA6IG51bWJlciQxKShzY2FsZS5j
b3B5KCkpLAorICAgICAgICBzZWxlY3Rpb24gPSBjb250ZXh0LnNlbGVjdGlvbiA/IGNvbnRleHQu
c2VsZWN0aW9uKCkgOiBjb250ZXh0LAorICAgICAgICBwYXRoID0gc2VsZWN0aW9uLnNlbGVjdEFs
bCgiLmRvbWFpbiIpLmRhdGEoW251bGxdKSwKKyAgICAgICAgdGljayA9IHNlbGVjdGlvbi5zZWxl
Y3RBbGwoIi50aWNrIikuZGF0YSh2YWx1ZXMsIHNjYWxlKS5vcmRlcigpLAorICAgICAgICB0aWNr
RXhpdCA9IHRpY2suZXhpdCgpLAorICAgICAgICB0aWNrRW50ZXIgPSB0aWNrLmVudGVyKCkuYXBw
ZW5kKCJnIikuYXR0cigiY2xhc3MiLCAidGljayIpLAorICAgICAgICBsaW5lID0gdGljay5zZWxl
Y3QoImxpbmUiKSwKKyAgICAgICAgdGV4dCA9IHRpY2suc2VsZWN0KCJ0ZXh0Iik7CisKKyAgICBw
YXRoID0gcGF0aC5tZXJnZShwYXRoLmVudGVyKCkuaW5zZXJ0KCJwYXRoIiwgIi50aWNrIikKKyAg
ICAgICAgLmF0dHIoImNsYXNzIiwgImRvbWFpbiIpCisgICAgICAgIC5hdHRyKCJzdHJva2UiLCAi
Y3VycmVudENvbG9yIikpOworCisgICAgdGljayA9IHRpY2subWVyZ2UodGlja0VudGVyKTsKKwor
ICAgIGxpbmUgPSBsaW5lLm1lcmdlKHRpY2tFbnRlci5hcHBlbmQoImxpbmUiKQorICAgICAgICAu
YXR0cigic3Ryb2tlIiwgImN1cnJlbnRDb2xvciIpCisgICAgICAgIC5hdHRyKHggKyAiMiIsIGsg
KiB0aWNrU2l6ZUlubmVyKSk7CisKKyAgICB0ZXh0ID0gdGV4dC5tZXJnZSh0aWNrRW50ZXIuYXBw
ZW5kKCJ0ZXh0IikKKyAgICAgICAgLmF0dHIoImZpbGwiLCAiY3VycmVudENvbG9yIikKKyAgICAg
ICAgLmF0dHIoeCwgayAqIHNwYWNpbmcpCisgICAgICAgIC5hdHRyKCJkeSIsIG9yaWVudCA9PT0g
dG9wID8gIjBlbSIgOiBvcmllbnQgPT09IGJvdHRvbSA/ICIwLjcxZW0iIDogIjAuMzJlbSIpKTsK
KworICAgIGlmIChjb250ZXh0ICE9PSBzZWxlY3Rpb24pIHsKKyAgICAgIHBhdGggPSBwYXRoLnRy
YW5zaXRpb24oY29udGV4dCk7CisgICAgICB0aWNrID0gdGljay50cmFuc2l0aW9uKGNvbnRleHQp
OworICAgICAgbGluZSA9IGxpbmUudHJhbnNpdGlvbihjb250ZXh0KTsKKyAgICAgIHRleHQgPSB0
ZXh0LnRyYW5zaXRpb24oY29udGV4dCk7CisKKyAgICAgIHRpY2tFeGl0ID0gdGlja0V4aXQudHJh
bnNpdGlvbihjb250ZXh0KQorICAgICAgICAgIC5hdHRyKCJvcGFjaXR5IiwgZXBzaWxvbikKKyAg
ICAgICAgICAuYXR0cigidHJhbnNmb3JtIiwgZnVuY3Rpb24oZCkgeyByZXR1cm4gaXNGaW5pdGUo
ZCA9IHBvc2l0aW9uKGQpKSA/IHRyYW5zZm9ybShkKSA6IHRoaXMuZ2V0QXR0cmlidXRlKCJ0cmFu
c2Zvcm0iKTsgfSk7CisKKyAgICAgIHRpY2tFbnRlcgorICAgICAgICAgIC5hdHRyKCJvcGFjaXR5
IiwgZXBzaWxvbikKKyAgICAgICAgICAuYXR0cigidHJhbnNmb3JtIiwgZnVuY3Rpb24oZCkgeyB2
YXIgcCA9IHRoaXMucGFyZW50Tm9kZS5fX2F4aXM7IHJldHVybiB0cmFuc2Zvcm0ocCAmJiBpc0Zp
bml0ZShwID0gcChkKSkgPyBwIDogcG9zaXRpb24oZCkpOyB9KTsKKyAgICB9CisKKyAgICB0aWNr
RXhpdC5yZW1vdmUoKTsKKworICAgIHBhdGgKKyAgICAgICAgLmF0dHIoImQiLCBvcmllbnQgPT09
IGxlZnQgfHwgb3JpZW50ID09IHJpZ2h0CisgICAgICAgICAgICA/ICh0aWNrU2l6ZU91dGVyID8g
Ik0iICsgayAqIHRpY2tTaXplT3V0ZXIgKyAiLCIgKyByYW5nZTAgKyAiSDAuNVYiICsgcmFuZ2Ux
ICsgIkgiICsgayAqIHRpY2tTaXplT3V0ZXIgOiAiTTAuNSwiICsgcmFuZ2UwICsgIlYiICsgcmFu
Z2UxKQorICAgICAgICAgICAgOiAodGlja1NpemVPdXRlciA/ICJNIiArIHJhbmdlMCArICIsIiAr
IGsgKiB0aWNrU2l6ZU91dGVyICsgIlYwLjVIIiArIHJhbmdlMSArICJWIiArIGsgKiB0aWNrU2l6
ZU91dGVyIDogIk0iICsgcmFuZ2UwICsgIiwwLjVIIiArIHJhbmdlMSkpOworCisgICAgdGljawor
ICAgICAgICAuYXR0cigib3BhY2l0eSIsIDEpCisgICAgICAgIC5hdHRyKCJ0cmFuc2Zvcm0iLCBm
dW5jdGlvbihkKSB7IHJldHVybiB0cmFuc2Zvcm0ocG9zaXRpb24oZCkpOyB9KTsKKworICAgIGxp
bmUKKyAgICAgICAgLmF0dHIoeCArICIyIiwgayAqIHRpY2tTaXplSW5uZXIpOworCisgICAgdGV4
dAorICAgICAgICAuYXR0cih4LCBrICogc3BhY2luZykKKyAgICAgICAgLnRleHQoZm9ybWF0KTsK
KworICAgIHNlbGVjdGlvbi5maWx0ZXIoZW50ZXJpbmcpCisgICAgICAgIC5hdHRyKCJmaWxsIiwg
Im5vbmUiKQorICAgICAgICAuYXR0cigiZm9udC1zaXplIiwgMTApCisgICAgICAgIC5hdHRyKCJm
b250LWZhbWlseSIsICJzYW5zLXNlcmlmIikKKyAgICAgICAgLmF0dHIoInRleHQtYW5jaG9yIiwg
b3JpZW50ID09PSByaWdodCA/ICJzdGFydCIgOiBvcmllbnQgPT09IGxlZnQgPyAiZW5kIiA6ICJt
aWRkbGUiKTsKKworICAgIHNlbGVjdGlvbgorICAgICAgICAuZWFjaChmdW5jdGlvbigpIHsgdGhp
cy5fX2F4aXMgPSBwb3NpdGlvbjsgfSk7CisgIH0KKworICBheGlzLnNjYWxlID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNjYWxlID0gXywgYXhpcykgOiBz
Y2FsZTsKKyAgfTsKKworICBheGlzLnRpY2tzID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRp
Y2tBcmd1bWVudHMgPSBzbGljZSQxLmNhbGwoYXJndW1lbnRzKSwgYXhpczsKKyAgfTsKKworICBh
eGlzLnRpY2tBcmd1bWVudHMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAodGlja0FyZ3VtZW50cyA9IF8gPT0gbnVsbCA/IFtdIDogc2xpY2UkMS5jYWxsKF8p
LCBheGlzKSA6IHRpY2tBcmd1bWVudHMuc2xpY2UoKTsKKyAgfTsKKworICBheGlzLnRpY2tWYWx1
ZXMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGlja1Zh
bHVlcyA9IF8gPT0gbnVsbCA/IG51bGwgOiBzbGljZSQxLmNhbGwoXyksIGF4aXMpIDogdGlja1Zh
bHVlcyAmJiB0aWNrVmFsdWVzLnNsaWNlKCk7CisgIH07CisKKyAgYXhpcy50aWNrRm9ybWF0ID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRpY2tGb3JtYXQg
PSBfLCBheGlzKSA6IHRpY2tGb3JtYXQ7CisgIH07CisKKyAgYXhpcy50aWNrU2l6ZSA9IGZ1bmN0
aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0aWNrU2l6ZUlubmVyID0g
dGlja1NpemVPdXRlciA9ICtfLCBheGlzKSA6IHRpY2tTaXplSW5uZXI7CisgIH07CisKKyAgYXhp
cy50aWNrU2l6ZUlubmVyID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHRpY2tTaXplSW5uZXIgPSArXywgYXhpcykgOiB0aWNrU2l6ZUlubmVyOworICB9Owor
CisgIGF4aXMudGlja1NpemVPdXRlciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/ICh0aWNrU2l6ZU91dGVyID0gK18sIGF4aXMpIDogdGlja1NpemVPdXRlcjsK
KyAgfTsKKworICBheGlzLnRpY2tQYWRkaW5nID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKHRpY2tQYWRkaW5nID0gK18sIGF4aXMpIDogdGlja1BhZGRpbmc7
CisgIH07CisKKyAgcmV0dXJuIGF4aXM7Cit9CisKK2Z1bmN0aW9uIGF4aXNUb3Aoc2NhbGUpIHsK
KyAgcmV0dXJuIGF4aXModG9wLCBzY2FsZSk7Cit9CisKK2Z1bmN0aW9uIGF4aXNSaWdodChzY2Fs
ZSkgeworICByZXR1cm4gYXhpcyhyaWdodCwgc2NhbGUpOworfQorCitmdW5jdGlvbiBheGlzQm90
dG9tKHNjYWxlKSB7CisgIHJldHVybiBheGlzKGJvdHRvbSwgc2NhbGUpOworfQorCitmdW5jdGlv
biBheGlzTGVmdChzY2FsZSkgeworICByZXR1cm4gYXhpcyhsZWZ0LCBzY2FsZSk7Cit9CisKK3Zh
ciBub29wID0ge3ZhbHVlOiBmdW5jdGlvbigpIHt9fTsKKworZnVuY3Rpb24gZGlzcGF0Y2goKSB7
CisgIGZvciAodmFyIGkgPSAwLCBuID0gYXJndW1lbnRzLmxlbmd0aCwgXyA9IHt9LCB0OyBpIDwg
bjsgKytpKSB7CisgICAgaWYgKCEodCA9IGFyZ3VtZW50c1tpXSArICIiKSB8fCAodCBpbiBfKSB8
fCAvW1xzLl0vLnRlc3QodCkpIHRocm93IG5ldyBFcnJvcigiaWxsZWdhbCB0eXBlOiAiICsgdCk7
CisgICAgX1t0XSA9IFtdOworICB9CisgIHJldHVybiBuZXcgRGlzcGF0Y2goXyk7Cit9CisKK2Z1
bmN0aW9uIERpc3BhdGNoKF8pIHsKKyAgdGhpcy5fID0gXzsKK30KKworZnVuY3Rpb24gcGFyc2VU
eXBlbmFtZXModHlwZW5hbWVzLCB0eXBlcykgeworICByZXR1cm4gdHlwZW5hbWVzLnRyaW0oKS5z
cGxpdCgvXnxccysvKS5tYXAoZnVuY3Rpb24odCkgeworICAgIHZhciBuYW1lID0gIiIsIGkgPSB0
LmluZGV4T2YoIi4iKTsKKyAgICBpZiAoaSA+PSAwKSBuYW1lID0gdC5zbGljZShpICsgMSksIHQg
PSB0LnNsaWNlKDAsIGkpOworICAgIGlmICh0ICYmICF0eXBlcy5oYXNPd25Qcm9wZXJ0eSh0KSkg
dGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIgKyB0KTsKKyAgICByZXR1cm4ge3R5cGU6
IHQsIG5hbWU6IG5hbWV9OworICB9KTsKK30KKworRGlzcGF0Y2gucHJvdG90eXBlID0gZGlzcGF0
Y2gucHJvdG90eXBlID0geworICBjb25zdHJ1Y3RvcjogRGlzcGF0Y2gsCisgIG9uOiBmdW5jdGlv
bih0eXBlbmFtZSwgY2FsbGJhY2spIHsKKyAgICB2YXIgXyA9IHRoaXMuXywKKyAgICAgICAgVCA9
IHBhcnNlVHlwZW5hbWVzKHR5cGVuYW1lICsgIiIsIF8pLAorICAgICAgICB0LAorICAgICAgICBp
ID0gLTEsCisgICAgICAgIG4gPSBULmxlbmd0aDsKKworICAgIC8vIElmIG5vIGNhbGxiYWNrIHdh
cyBzcGVjaWZpZWQsIHJldHVybiB0aGUgY2FsbGJhY2sgb2YgdGhlIGdpdmVuIHR5cGUgYW5kIG5h
bWUuCisgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7CisgICAgICB3aGlsZSAoKytpIDwg
bikgaWYgKCh0ID0gKHR5cGVuYW1lID0gVFtpXSkudHlwZSkgJiYgKHQgPSBnZXQoX1t0XSwgdHlw
ZW5hbWUubmFtZSkpKSByZXR1cm4gdDsKKyAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBJ
ZiBhIHR5cGUgd2FzIHNwZWNpZmllZCwgc2V0IHRoZSBjYWxsYmFjayBmb3IgdGhlIGdpdmVuIHR5
cGUgYW5kIG5hbWUuCisgICAgLy8gT3RoZXJ3aXNlLCBpZiBhIG51bGwgY2FsbGJhY2sgd2FzIHNw
ZWNpZmllZCwgcmVtb3ZlIGNhbGxiYWNrcyBvZiB0aGUgZ2l2ZW4gbmFtZS4KKyAgICBpZiAoY2Fs
bGJhY2sgIT0gbnVsbCAmJiB0eXBlb2YgY2FsbGJhY2sgIT09ICJmdW5jdGlvbiIpIHRocm93IG5l
dyBFcnJvcigiaW52YWxpZCBjYWxsYmFjazogIiArIGNhbGxiYWNrKTsKKyAgICB3aGlsZSAoKytp
IDwgbikgeworICAgICAgaWYgKHQgPSAodHlwZW5hbWUgPSBUW2ldKS50eXBlKSBfW3RdID0gc2V0
KF9bdF0sIHR5cGVuYW1lLm5hbWUsIGNhbGxiYWNrKTsKKyAgICAgIGVsc2UgaWYgKGNhbGxiYWNr
ID09IG51bGwpIGZvciAodCBpbiBfKSBfW3RdID0gc2V0KF9bdF0sIHR5cGVuYW1lLm5hbWUsIG51
bGwpOworICAgIH0KKworICAgIHJldHVybiB0aGlzOworICB9LAorICBjb3B5OiBmdW5jdGlvbigp
IHsKKyAgICB2YXIgY29weSA9IHt9LCBfID0gdGhpcy5fOworICAgIGZvciAodmFyIHQgaW4gXykg
Y29weVt0XSA9IF9bdF0uc2xpY2UoKTsKKyAgICByZXR1cm4gbmV3IERpc3BhdGNoKGNvcHkpOwor
ICB9LAorICBjYWxsOiBmdW5jdGlvbih0eXBlLCB0aGF0KSB7CisgICAgaWYgKChuID0gYXJndW1l
bnRzLmxlbmd0aCAtIDIpID4gMCkgZm9yICh2YXIgYXJncyA9IG5ldyBBcnJheShuKSwgaSA9IDAs
IG4sIHQ7IGkgPCBuOyArK2kpIGFyZ3NbaV0gPSBhcmd1bWVudHNbaSArIDJdOworICAgIGlmICgh
dGhpcy5fLmhhc093blByb3BlcnR5KHR5cGUpKSB0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlw
ZTogIiArIHR5cGUpOworICAgIGZvciAodCA9IHRoaXMuX1t0eXBlXSwgaSA9IDAsIG4gPSB0Lmxl
bmd0aDsgaSA8IG47ICsraSkgdFtpXS52YWx1ZS5hcHBseSh0aGF0LCBhcmdzKTsKKyAgfSwKKyAg
YXBwbHk6IGZ1bmN0aW9uKHR5cGUsIHRoYXQsIGFyZ3MpIHsKKyAgICBpZiAoIXRoaXMuXy5oYXNP
d25Qcm9wZXJ0eSh0eXBlKSkgdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIgKyB0eXBl
KTsKKyAgICBmb3IgKHZhciB0ID0gdGhpcy5fW3R5cGVdLCBpID0gMCwgbiA9IHQubGVuZ3RoOyBp
IDwgbjsgKytpKSB0W2ldLnZhbHVlLmFwcGx5KHRoYXQsIGFyZ3MpOworICB9Cit9OworCitmdW5j
dGlvbiBnZXQodHlwZSwgbmFtZSkgeworICBmb3IgKHZhciBpID0gMCwgbiA9IHR5cGUubGVuZ3Ro
LCBjOyBpIDwgbjsgKytpKSB7CisgICAgaWYgKChjID0gdHlwZVtpXSkubmFtZSA9PT0gbmFtZSkg
eworICAgICAgcmV0dXJuIGMudmFsdWU7CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIHNldCh0
eXBlLCBuYW1lLCBjYWxsYmFjaykgeworICBmb3IgKHZhciBpID0gMCwgbiA9IHR5cGUubGVuZ3Ro
OyBpIDwgbjsgKytpKSB7CisgICAgaWYgKHR5cGVbaV0ubmFtZSA9PT0gbmFtZSkgeworICAgICAg
dHlwZVtpXSA9IG5vb3AsIHR5cGUgPSB0eXBlLnNsaWNlKDAsIGkpLmNvbmNhdCh0eXBlLnNsaWNl
KGkgKyAxKSk7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKyAgaWYgKGNhbGxiYWNrICE9IG51
bGwpIHR5cGUucHVzaCh7bmFtZTogbmFtZSwgdmFsdWU6IGNhbGxiYWNrfSk7CisgIHJldHVybiB0
eXBlOworfQorCit2YXIgeGh0bWwgPSAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI7CisK
K3ZhciBuYW1lc3BhY2VzID0geworICBzdmc6ICJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIs
CisgIHhodG1sOiB4aHRtbCwKKyAgeGxpbms6ICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5r
IiwKKyAgeG1sOiAiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIiwKKyAgeG1s
bnM6ICJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zLyIKK307CisKK2Z1bmN0aW9uIG5hbWVz
cGFjZShuYW1lKSB7CisgIHZhciBwcmVmaXggPSBuYW1lICs9ICIiLCBpID0gcHJlZml4LmluZGV4
T2YoIjoiKTsKKyAgaWYgKGkgPj0gMCAmJiAocHJlZml4ID0gbmFtZS5zbGljZSgwLCBpKSkgIT09
ICJ4bWxucyIpIG5hbWUgPSBuYW1lLnNsaWNlKGkgKyAxKTsKKyAgcmV0dXJuIG5hbWVzcGFjZXMu
aGFzT3duUHJvcGVydHkocHJlZml4KSA/IHtzcGFjZTogbmFtZXNwYWNlc1twcmVmaXhdLCBsb2Nh
bDogbmFtZX0gOiBuYW1lOworfQorCitmdW5jdGlvbiBjcmVhdG9ySW5oZXJpdChuYW1lKSB7Cisg
IHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgZG9jdW1lbnQgPSB0aGlzLm93bmVyRG9jdW1l
bnQsCisgICAgICAgIHVyaSA9IHRoaXMubmFtZXNwYWNlVVJJOworICAgIHJldHVybiB1cmkgPT09
IHhodG1sICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5uYW1lc3BhY2VVUkkgPT09IHhodG1s
CisgICAgICAgID8gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChuYW1lKQorICAgICAgICA6IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnROUyh1cmksIG5hbWUpOworICB9OworfQorCitmdW5jdGlvbiBjcmVh
dG9yRml4ZWQoZnVsbG5hbWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0
aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFt
ZS5sb2NhbCk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNyZWF0b3IobmFtZSkgeworICB2YXIgZnVs
bG5hbWUgPSBuYW1lc3BhY2UobmFtZSk7CisgIHJldHVybiAoZnVsbG5hbWUubG9jYWwKKyAgICAg
ID8gY3JlYXRvckZpeGVkCisgICAgICA6IGNyZWF0b3JJbmhlcml0KShmdWxsbmFtZSk7Cit9CisK
K2Z1bmN0aW9uIG5vbmUoKSB7fQorCitmdW5jdGlvbiBzZWxlY3RvcihzZWxlY3RvcikgeworICBy
ZXR1cm4gc2VsZWN0b3IgPT0gbnVsbCA/IG5vbmUgOiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4g
dGhpcy5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTsKKyAgfTsKK30KKworZnVuY3Rpb24gc2VsZWN0
aW9uX3NlbGVjdChzZWxlY3QpIHsKKyAgaWYgKHR5cGVvZiBzZWxlY3QgIT09ICJmdW5jdGlvbiIp
IHNlbGVjdCA9IHNlbGVjdG9yKHNlbGVjdCk7CisKKyAgZm9yICh2YXIgZ3JvdXBzID0gdGhpcy5f
Z3JvdXBzLCBtID0gZ3JvdXBzLmxlbmd0aCwgc3ViZ3JvdXBzID0gbmV3IEFycmF5KG0pLCBqID0g
MDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwID0gZ3JvdXBzW2pdLCBuID0gZ3Jv
dXAubGVuZ3RoLCBzdWJncm91cCA9IHN1Ymdyb3Vwc1tqXSA9IG5ldyBBcnJheShuKSwgbm9kZSwg
c3Vibm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmICgobm9kZSA9IGdyb3VwW2ld
KSAmJiAoc3Vibm9kZSA9IHNlbGVjdC5jYWxsKG5vZGUsIG5vZGUuX19kYXRhX18sIGksIGdyb3Vw
KSkpIHsKKyAgICAgICAgaWYgKCJfX2RhdGFfXyIgaW4gbm9kZSkgc3Vibm9kZS5fX2RhdGFfXyA9
IG5vZGUuX19kYXRhX187CisgICAgICAgIHN1Ymdyb3VwW2ldID0gc3Vibm9kZTsKKyAgICAgIH0K
KyAgICB9CisgIH0KKworICByZXR1cm4gbmV3IFNlbGVjdGlvbihzdWJncm91cHMsIHRoaXMuX3Bh
cmVudHMpOworfQorCitmdW5jdGlvbiBlbXB0eSgpIHsKKyAgcmV0dXJuIFtdOworfQorCitmdW5j
dGlvbiBzZWxlY3RvckFsbChzZWxlY3RvcikgeworICByZXR1cm4gc2VsZWN0b3IgPT0gbnVsbCA/
IGVtcHR5IDogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3RvckFsbChz
ZWxlY3Rvcik7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9zZWxlY3RBbGwoc2VsZWN0
KSB7CisgIGlmICh0eXBlb2Ygc2VsZWN0ICE9PSAiZnVuY3Rpb24iKSBzZWxlY3QgPSBzZWxlY3Rv
ckFsbChzZWxlY3QpOworCisgIGZvciAodmFyIGdyb3VwcyA9IHRoaXMuX2dyb3VwcywgbSA9IGdy
b3Vwcy5sZW5ndGgsIHN1Ymdyb3VwcyA9IFtdLCBwYXJlbnRzID0gW10sIGogPSAwOyBqIDwgbTsg
KytqKSB7CisgICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNbal0sIG4gPSBncm91cC5sZW5ndGgs
IG5vZGUsIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAobm9kZSA9IGdyb3VwW2ldKSB7
CisgICAgICAgIHN1Ymdyb3Vwcy5wdXNoKHNlbGVjdC5jYWxsKG5vZGUsIG5vZGUuX19kYXRhX18s
IGksIGdyb3VwKSk7CisgICAgICAgIHBhcmVudHMucHVzaChub2RlKTsKKyAgICAgIH0KKyAgICB9
CisgIH0KKworICByZXR1cm4gbmV3IFNlbGVjdGlvbihzdWJncm91cHMsIHBhcmVudHMpOworfQor
CitmdW5jdGlvbiBtYXRjaGVyKHNlbGVjdG9yKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAg
ICByZXR1cm4gdGhpcy5tYXRjaGVzKHNlbGVjdG9yKTsKKyAgfTsKK30KKworZnVuY3Rpb24gc2Vs
ZWN0aW9uX2ZpbHRlcihtYXRjaCkgeworICBpZiAodHlwZW9mIG1hdGNoICE9PSAiZnVuY3Rpb24i
KSBtYXRjaCA9IG1hdGNoZXIobWF0Y2gpOworCisgIGZvciAodmFyIGdyb3VwcyA9IHRoaXMuX2dy
b3VwcywgbSA9IGdyb3Vwcy5sZW5ndGgsIHN1Ymdyb3VwcyA9IG5ldyBBcnJheShtKSwgaiA9IDA7
IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdyb3Vwc1tqXSwgbiA9IGdyb3Vw
Lmxlbmd0aCwgc3ViZ3JvdXAgPSBzdWJncm91cHNbal0gPSBbXSwgbm9kZSwgaSA9IDA7IGkgPCBu
OyArK2kpIHsKKyAgICAgIGlmICgobm9kZSA9IGdyb3VwW2ldKSAmJiBtYXRjaC5jYWxsKG5vZGUs
IG5vZGUuX19kYXRhX18sIGksIGdyb3VwKSkgeworICAgICAgICBzdWJncm91cC5wdXNoKG5vZGUp
OworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBuZXcgU2VsZWN0aW9uKHN1Ymdyb3Vw
cywgdGhpcy5fcGFyZW50cyk7Cit9CisKK2Z1bmN0aW9uIHNwYXJzZSh1cGRhdGUpIHsKKyAgcmV0
dXJuIG5ldyBBcnJheSh1cGRhdGUubGVuZ3RoKTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2Vu
dGVyKCkgeworICByZXR1cm4gbmV3IFNlbGVjdGlvbih0aGlzLl9lbnRlciB8fCB0aGlzLl9ncm91
cHMubWFwKHNwYXJzZSksIHRoaXMuX3BhcmVudHMpOworfQorCitmdW5jdGlvbiBFbnRlck5vZGUo
cGFyZW50LCBkYXR1bSkgeworICB0aGlzLm93bmVyRG9jdW1lbnQgPSBwYXJlbnQub3duZXJEb2N1
bWVudDsKKyAgdGhpcy5uYW1lc3BhY2VVUkkgPSBwYXJlbnQubmFtZXNwYWNlVVJJOworICB0aGlz
Ll9uZXh0ID0gbnVsbDsKKyAgdGhpcy5fcGFyZW50ID0gcGFyZW50OworICB0aGlzLl9fZGF0YV9f
ID0gZGF0dW07Cit9CisKK0VudGVyTm9kZS5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBF
bnRlck5vZGUsCisgIGFwcGVuZENoaWxkOiBmdW5jdGlvbihjaGlsZCkgeyByZXR1cm4gdGhpcy5f
cGFyZW50Lmluc2VydEJlZm9yZShjaGlsZCwgdGhpcy5fbmV4dCk7IH0sCisgIGluc2VydEJlZm9y
ZTogZnVuY3Rpb24oY2hpbGQsIG5leHQpIHsgcmV0dXJuIHRoaXMuX3BhcmVudC5pbnNlcnRCZWZv
cmUoY2hpbGQsIG5leHQpOyB9LAorICBxdWVyeVNlbGVjdG9yOiBmdW5jdGlvbihzZWxlY3Rvcikg
eyByZXR1cm4gdGhpcy5fcGFyZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpOyB9LAorICBxdWVy
eVNlbGVjdG9yQWxsOiBmdW5jdGlvbihzZWxlY3RvcikgeyByZXR1cm4gdGhpcy5fcGFyZW50LnF1
ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpOyB9Cit9OworCitmdW5jdGlvbiBjb25zdGFudCQxKHgp
IHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB4OworICB9OworfQorCit2YXIg
a2V5UHJlZml4ID0gIiQiOyAvLyBQcm90ZWN0IGFnYWluc3Qga2V5cyBsaWtlIOKAnF9fcHJvdG9f
X+KAnS4KKworZnVuY3Rpb24gYmluZEluZGV4KHBhcmVudCwgZ3JvdXAsIGVudGVyLCB1cGRhdGUs
IGV4aXQsIGRhdGEpIHsKKyAgdmFyIGkgPSAwLAorICAgICAgbm9kZSwKKyAgICAgIGdyb3VwTGVu
Z3RoID0gZ3JvdXAubGVuZ3RoLAorICAgICAgZGF0YUxlbmd0aCA9IGRhdGEubGVuZ3RoOworCisg
IC8vIFB1dCBhbnkgbm9uLW51bGwgbm9kZXMgdGhhdCBmaXQgaW50byB1cGRhdGUuCisgIC8vIFB1
dCBhbnkgbnVsbCBub2RlcyBpbnRvIGVudGVyLgorICAvLyBQdXQgYW55IHJlbWFpbmluZyBkYXRh
IGludG8gZW50ZXIuCisgIGZvciAoOyBpIDwgZGF0YUxlbmd0aDsgKytpKSB7CisgICAgaWYgKG5v
ZGUgPSBncm91cFtpXSkgeworICAgICAgbm9kZS5fX2RhdGFfXyA9IGRhdGFbaV07CisgICAgICB1
cGRhdGVbaV0gPSBub2RlOworICAgIH0gZWxzZSB7CisgICAgICBlbnRlcltpXSA9IG5ldyBFbnRl
ck5vZGUocGFyZW50LCBkYXRhW2ldKTsKKyAgICB9CisgIH0KKworICAvLyBQdXQgYW55IG5vbi1u
dWxsIG5vZGVzIHRoYXQgZG9u4oCZdCBmaXQgaW50byBleGl0LgorICBmb3IgKDsgaSA8IGdyb3Vw
TGVuZ3RoOyArK2kpIHsKKyAgICBpZiAobm9kZSA9IGdyb3VwW2ldKSB7CisgICAgICBleGl0W2ld
ID0gbm9kZTsKKyAgICB9CisgIH0KK30KKworZnVuY3Rpb24gYmluZEtleShwYXJlbnQsIGdyb3Vw
LCBlbnRlciwgdXBkYXRlLCBleGl0LCBkYXRhLCBrZXkpIHsKKyAgdmFyIGksCisgICAgICBub2Rl
LAorICAgICAgbm9kZUJ5S2V5VmFsdWUgPSB7fSwKKyAgICAgIGdyb3VwTGVuZ3RoID0gZ3JvdXAu
bGVuZ3RoLAorICAgICAgZGF0YUxlbmd0aCA9IGRhdGEubGVuZ3RoLAorICAgICAga2V5VmFsdWVz
ID0gbmV3IEFycmF5KGdyb3VwTGVuZ3RoKSwKKyAgICAgIGtleVZhbHVlOworCisgIC8vIENvbXB1
dGUgdGhlIGtleSBmb3IgZWFjaCBub2RlLgorICAvLyBJZiBtdWx0aXBsZSBub2RlcyBoYXZlIHRo
ZSBzYW1lIGtleSwgdGhlIGR1cGxpY2F0ZXMgYXJlIGFkZGVkIHRvIGV4aXQuCisgIGZvciAoaSA9
IDA7IGkgPCBncm91cExlbmd0aDsgKytpKSB7CisgICAgaWYgKG5vZGUgPSBncm91cFtpXSkgewor
ICAgICAga2V5VmFsdWVzW2ldID0ga2V5VmFsdWUgPSBrZXlQcmVmaXggKyBrZXkuY2FsbChub2Rl
LCBub2RlLl9fZGF0YV9fLCBpLCBncm91cCk7CisgICAgICBpZiAoa2V5VmFsdWUgaW4gbm9kZUJ5
S2V5VmFsdWUpIHsKKyAgICAgICAgZXhpdFtpXSA9IG5vZGU7CisgICAgICB9IGVsc2UgeworICAg
ICAgICBub2RlQnlLZXlWYWx1ZVtrZXlWYWx1ZV0gPSBub2RlOworICAgICAgfQorICAgIH0KKyAg
fQorCisgIC8vIENvbXB1dGUgdGhlIGtleSBmb3IgZWFjaCBkYXR1bS4KKyAgLy8gSWYgdGhlcmUg
YSBub2RlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGtleSwgam9pbiBhbmQgYWRkIGl0IHRvIHVwZGF0
ZS4KKyAgLy8gSWYgdGhlcmUgaXMgbm90IChvciB0aGUga2V5IGlzIGEgZHVwbGljYXRlKSwgYWRk
IGl0IHRvIGVudGVyLgorICBmb3IgKGkgPSAwOyBpIDwgZGF0YUxlbmd0aDsgKytpKSB7CisgICAg
a2V5VmFsdWUgPSBrZXlQcmVmaXggKyBrZXkuY2FsbChwYXJlbnQsIGRhdGFbaV0sIGksIGRhdGEp
OworICAgIGlmIChub2RlID0gbm9kZUJ5S2V5VmFsdWVba2V5VmFsdWVdKSB7CisgICAgICB1cGRh
dGVbaV0gPSBub2RlOworICAgICAgbm9kZS5fX2RhdGFfXyA9IGRhdGFbaV07CisgICAgICBub2Rl
QnlLZXlWYWx1ZVtrZXlWYWx1ZV0gPSBudWxsOworICAgIH0gZWxzZSB7CisgICAgICBlbnRlcltp
XSA9IG5ldyBFbnRlck5vZGUocGFyZW50LCBkYXRhW2ldKTsKKyAgICB9CisgIH0KKworICAvLyBB
ZGQgYW55IHJlbWFpbmluZyBub2RlcyB0aGF0IHdlcmUgbm90IGJvdW5kIHRvIGRhdGEgdG8gZXhp
dC4KKyAgZm9yIChpID0gMDsgaSA8IGdyb3VwTGVuZ3RoOyArK2kpIHsKKyAgICBpZiAoKG5vZGUg
PSBncm91cFtpXSkgJiYgKG5vZGVCeUtleVZhbHVlW2tleVZhbHVlc1tpXV0gPT09IG5vZGUpKSB7
CisgICAgICBleGl0W2ldID0gbm9kZTsKKyAgICB9CisgIH0KK30KKworZnVuY3Rpb24gc2VsZWN0
aW9uX2RhdGEodmFsdWUsIGtleSkgeworICBpZiAoIXZhbHVlKSB7CisgICAgZGF0YSA9IG5ldyBB
cnJheSh0aGlzLnNpemUoKSksIGogPSAtMTsKKyAgICB0aGlzLmVhY2goZnVuY3Rpb24oZCkgeyBk
YXRhWysral0gPSBkOyB9KTsKKyAgICByZXR1cm4gZGF0YTsKKyAgfQorCisgIHZhciBiaW5kID0g
a2V5ID8gYmluZEtleSA6IGJpbmRJbmRleCwKKyAgICAgIHBhcmVudHMgPSB0aGlzLl9wYXJlbnRz
LAorICAgICAgZ3JvdXBzID0gdGhpcy5fZ3JvdXBzOworCisgIGlmICh0eXBlb2YgdmFsdWUgIT09
ICJmdW5jdGlvbiIpIHZhbHVlID0gY29uc3RhbnQkMSh2YWx1ZSk7CisKKyAgZm9yICh2YXIgbSA9
IGdyb3Vwcy5sZW5ndGgsIHVwZGF0ZSA9IG5ldyBBcnJheShtKSwgZW50ZXIgPSBuZXcgQXJyYXko
bSksIGV4aXQgPSBuZXcgQXJyYXkobSksIGogPSAwOyBqIDwgbTsgKytqKSB7CisgICAgdmFyIHBh
cmVudCA9IHBhcmVudHNbal0sCisgICAgICAgIGdyb3VwID0gZ3JvdXBzW2pdLAorICAgICAgICBn
cm91cExlbmd0aCA9IGdyb3VwLmxlbmd0aCwKKyAgICAgICAgZGF0YSA9IHZhbHVlLmNhbGwocGFy
ZW50LCBwYXJlbnQgJiYgcGFyZW50Ll9fZGF0YV9fLCBqLCBwYXJlbnRzKSwKKyAgICAgICAgZGF0
YUxlbmd0aCA9IGRhdGEubGVuZ3RoLAorICAgICAgICBlbnRlckdyb3VwID0gZW50ZXJbal0gPSBu
ZXcgQXJyYXkoZGF0YUxlbmd0aCksCisgICAgICAgIHVwZGF0ZUdyb3VwID0gdXBkYXRlW2pdID0g
bmV3IEFycmF5KGRhdGFMZW5ndGgpLAorICAgICAgICBleGl0R3JvdXAgPSBleGl0W2pdID0gbmV3
IEFycmF5KGdyb3VwTGVuZ3RoKTsKKworICAgIGJpbmQocGFyZW50LCBncm91cCwgZW50ZXJHcm91
cCwgdXBkYXRlR3JvdXAsIGV4aXRHcm91cCwgZGF0YSwga2V5KTsKKworICAgIC8vIE5vdyBjb25u
ZWN0IHRoZSBlbnRlciBub2RlcyB0byB0aGVpciBmb2xsb3dpbmcgdXBkYXRlIG5vZGUsIHN1Y2gg
dGhhdAorICAgIC8vIGFwcGVuZENoaWxkIGNhbiBpbnNlcnQgdGhlIG1hdGVyaWFsaXplZCBlbnRl
ciBub2RlIGJlZm9yZSB0aGlzIG5vZGUsCisgICAgLy8gcmF0aGVyIHRoYW4gYXQgdGhlIGVuZCBv
ZiB0aGUgcGFyZW50IG5vZGUuCisgICAgZm9yICh2YXIgaTAgPSAwLCBpMSA9IDAsIHByZXZpb3Vz
LCBuZXh0OyBpMCA8IGRhdGFMZW5ndGg7ICsraTApIHsKKyAgICAgIGlmIChwcmV2aW91cyA9IGVu
dGVyR3JvdXBbaTBdKSB7CisgICAgICAgIGlmIChpMCA+PSBpMSkgaTEgPSBpMCArIDE7CisgICAg
ICAgIHdoaWxlICghKG5leHQgPSB1cGRhdGVHcm91cFtpMV0pICYmICsraTEgPCBkYXRhTGVuZ3Ro
KTsKKyAgICAgICAgcHJldmlvdXMuX25leHQgPSBuZXh0IHx8IG51bGw7CisgICAgICB9CisgICAg
fQorICB9CisKKyAgdXBkYXRlID0gbmV3IFNlbGVjdGlvbih1cGRhdGUsIHBhcmVudHMpOworICB1
cGRhdGUuX2VudGVyID0gZW50ZXI7CisgIHVwZGF0ZS5fZXhpdCA9IGV4aXQ7CisgIHJldHVybiB1
cGRhdGU7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9leGl0KCkgeworICByZXR1cm4gbmV3IFNl
bGVjdGlvbih0aGlzLl9leGl0IHx8IHRoaXMuX2dyb3Vwcy5tYXAoc3BhcnNlKSwgdGhpcy5fcGFy
ZW50cyk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9qb2luKG9uZW50ZXIsIG9udXBkYXRlLCBv
bmV4aXQpIHsKKyAgdmFyIGVudGVyID0gdGhpcy5lbnRlcigpLCB1cGRhdGUgPSB0aGlzLCBleGl0
ID0gdGhpcy5leGl0KCk7CisgIGVudGVyID0gdHlwZW9mIG9uZW50ZXIgPT09ICJmdW5jdGlvbiIg
PyBvbmVudGVyKGVudGVyKSA6IGVudGVyLmFwcGVuZChvbmVudGVyICsgIiIpOworICBpZiAob251
cGRhdGUgIT0gbnVsbCkgdXBkYXRlID0gb251cGRhdGUodXBkYXRlKTsKKyAgaWYgKG9uZXhpdCA9
PSBudWxsKSBleGl0LnJlbW92ZSgpOyBlbHNlIG9uZXhpdChleGl0KTsKKyAgcmV0dXJuIGVudGVy
ICYmIHVwZGF0ZSA/IGVudGVyLm1lcmdlKHVwZGF0ZSkub3JkZXIoKSA6IHVwZGF0ZTsKK30KKwor
ZnVuY3Rpb24gc2VsZWN0aW9uX21lcmdlKHNlbGVjdGlvbikgeworCisgIGZvciAodmFyIGdyb3Vw
czAgPSB0aGlzLl9ncm91cHMsIGdyb3VwczEgPSBzZWxlY3Rpb24uX2dyb3VwcywgbTAgPSBncm91
cHMwLmxlbmd0aCwgbTEgPSBncm91cHMxLmxlbmd0aCwgbSA9IE1hdGgubWluKG0wLCBtMSksIG1l
cmdlcyA9IG5ldyBBcnJheShtMCksIGogPSAwOyBqIDwgbTsgKytqKSB7CisgICAgZm9yICh2YXIg
Z3JvdXAwID0gZ3JvdXBzMFtqXSwgZ3JvdXAxID0gZ3JvdXBzMVtqXSwgbiA9IGdyb3VwMC5sZW5n
dGgsIG1lcmdlID0gbWVyZ2VzW2pdID0gbmV3IEFycmF5KG4pLCBub2RlLCBpID0gMDsgaSA8IG47
ICsraSkgeworICAgICAgaWYgKG5vZGUgPSBncm91cDBbaV0gfHwgZ3JvdXAxW2ldKSB7CisgICAg
ICAgIG1lcmdlW2ldID0gbm9kZTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBmb3IgKDsgaiA8
IG0wOyArK2opIHsKKyAgICBtZXJnZXNbal0gPSBncm91cHMwW2pdOworICB9CisKKyAgcmV0dXJu
IG5ldyBTZWxlY3Rpb24obWVyZ2VzLCB0aGlzLl9wYXJlbnRzKTsKK30KKworZnVuY3Rpb24gc2Vs
ZWN0aW9uX29yZGVyKCkgeworCisgIGZvciAodmFyIGdyb3VwcyA9IHRoaXMuX2dyb3VwcywgaiA9
IC0xLCBtID0gZ3JvdXBzLmxlbmd0aDsgKytqIDwgbTspIHsKKyAgICBmb3IgKHZhciBncm91cCA9
IGdyb3Vwc1tqXSwgaSA9IGdyb3VwLmxlbmd0aCAtIDEsIG5leHQgPSBncm91cFtpXSwgbm9kZTsg
LS1pID49IDA7KSB7CisgICAgICBpZiAobm9kZSA9IGdyb3VwW2ldKSB7CisgICAgICAgIGlmIChu
ZXh0ICYmIG5vZGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24obmV4dCkgXiA0KSBuZXh0LnBhcmVu
dE5vZGUuaW5zZXJ0QmVmb3JlKG5vZGUsIG5leHQpOworICAgICAgICBuZXh0ID0gbm9kZTsKKyAg
ICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24gc2VsZWN0
aW9uX3NvcnQoY29tcGFyZSkgeworICBpZiAoIWNvbXBhcmUpIGNvbXBhcmUgPSBhc2NlbmRpbmck
MTsKKworICBmdW5jdGlvbiBjb21wYXJlTm9kZShhLCBiKSB7CisgICAgcmV0dXJuIGEgJiYgYiA/
IGNvbXBhcmUoYS5fX2RhdGFfXywgYi5fX2RhdGFfXykgOiAhYSAtICFiOworICB9CisKKyAgZm9y
ICh2YXIgZ3JvdXBzID0gdGhpcy5fZ3JvdXBzLCBtID0gZ3JvdXBzLmxlbmd0aCwgc29ydGdyb3Vw
cyA9IG5ldyBBcnJheShtKSwgaiA9IDA7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91
cCA9IGdyb3Vwc1tqXSwgbiA9IGdyb3VwLmxlbmd0aCwgc29ydGdyb3VwID0gc29ydGdyb3Vwc1tq
XSA9IG5ldyBBcnJheShuKSwgbm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChu
b2RlID0gZ3JvdXBbaV0pIHsKKyAgICAgICAgc29ydGdyb3VwW2ldID0gbm9kZTsKKyAgICAgIH0K
KyAgICB9CisgICAgc29ydGdyb3VwLnNvcnQoY29tcGFyZU5vZGUpOworICB9CisKKyAgcmV0dXJu
IG5ldyBTZWxlY3Rpb24oc29ydGdyb3VwcywgdGhpcy5fcGFyZW50cykub3JkZXIoKTsKK30KKwor
ZnVuY3Rpb24gYXNjZW5kaW5nJDEoYSwgYikgeworICByZXR1cm4gYSA8IGIgPyAtMSA6IGEgPiBi
ID8gMSA6IGEgPj0gYiA/IDAgOiBOYU47Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9jYWxsKCkg
eworICB2YXIgY2FsbGJhY2sgPSBhcmd1bWVudHNbMF07CisgIGFyZ3VtZW50c1swXSA9IHRoaXM7
CisgIGNhbGxiYWNrLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7CisgIHJldHVybiB0aGlzOworfQor
CitmdW5jdGlvbiBzZWxlY3Rpb25fbm9kZXMoKSB7CisgIHZhciBub2RlcyA9IG5ldyBBcnJheSh0
aGlzLnNpemUoKSksIGkgPSAtMTsKKyAgdGhpcy5lYWNoKGZ1bmN0aW9uKCkgeyBub2Rlc1srK2ld
ID0gdGhpczsgfSk7CisgIHJldHVybiBub2RlczsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX25v
ZGUoKSB7CisKKyAgZm9yICh2YXIgZ3JvdXBzID0gdGhpcy5fZ3JvdXBzLCBqID0gMCwgbSA9IGdy
b3Vwcy5sZW5ndGg7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdyb3Vwc1tq
XSwgaSA9IDAsIG4gPSBncm91cC5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICAgIHZhciBub2Rl
ID0gZ3JvdXBbaV07CisgICAgICBpZiAobm9kZSkgcmV0dXJuIG5vZGU7CisgICAgfQorICB9CisK
KyAgcmV0dXJuIG51bGw7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9zaXplKCkgeworICB2YXIg
c2l6ZSA9IDA7CisgIHRoaXMuZWFjaChmdW5jdGlvbigpIHsgKytzaXplOyB9KTsKKyAgcmV0dXJu
IHNpemU7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9lbXB0eSgpIHsKKyAgcmV0dXJuICF0aGlz
Lm5vZGUoKTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2VhY2goY2FsbGJhY2spIHsKKworICBm
b3IgKHZhciBncm91cHMgPSB0aGlzLl9ncm91cHMsIGogPSAwLCBtID0gZ3JvdXBzLmxlbmd0aDsg
aiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwID0gZ3JvdXBzW2pdLCBpID0gMCwgbiA9
IGdyb3VwLmxlbmd0aCwgbm9kZTsgaSA8IG47ICsraSkgeworICAgICAgaWYgKG5vZGUgPSBncm91
cFtpXSkgY2FsbGJhY2suY2FsbChub2RlLCBub2RlLl9fZGF0YV9fLCBpLCBncm91cCk7CisgICAg
fQorICB9CisKKyAgcmV0dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9uIGF0dHJSZW1vdmUobmFtZSkg
eworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7
CisgIH07Cit9CisKK2Z1bmN0aW9uIGF0dHJSZW1vdmVOUyhmdWxsbmFtZSkgeworICByZXR1cm4g
ZnVuY3Rpb24oKSB7CisgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyhmdWxsbmFtZS5zcGFjZSwg
ZnVsbG5hbWUubG9jYWwpOworICB9OworfQorCitmdW5jdGlvbiBhdHRyQ29uc3RhbnQobmFtZSwg
dmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXMuc2V0QXR0cmlidXRlKG5h
bWUsIHZhbHVlKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0ckNvbnN0YW50TlMoZnVsbG5hbWUs
IHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLnNldEF0dHJpYnV0ZU5T
KGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCwgdmFsdWUpOworICB9OworfQorCitmdW5j
dGlvbiBhdHRyRnVuY3Rpb24obmFtZSwgdmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgewor
ICAgIHZhciB2ID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICBpZiAodiA9PSBu
dWxsKSB0aGlzLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTsKKyAgICBlbHNlIHRoaXMuc2V0QXR0cmli
dXRlKG5hbWUsIHYpOworICB9OworfQorCitmdW5jdGlvbiBhdHRyRnVuY3Rpb25OUyhmdWxsbmFt
ZSwgdmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciB2ID0gdmFsdWUuYXBw
bHkodGhpcywgYXJndW1lbnRzKTsKKyAgICBpZiAodiA9PSBudWxsKSB0aGlzLnJlbW92ZUF0dHJp
YnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCk7CisgICAgZWxzZSB0aGlzLnNl
dEF0dHJpYnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCwgdik7CisgIH07Cit9
CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9hdHRyKG5hbWUsIHZhbHVlKSB7CisgIHZhciBmdWxsbmFt
ZSA9IG5hbWVzcGFjZShuYW1lKTsKKworICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHsKKyAg
ICB2YXIgbm9kZSA9IHRoaXMubm9kZSgpOworICAgIHJldHVybiBmdWxsbmFtZS5sb2NhbAorICAg
ICAgICA/IG5vZGUuZ2V0QXR0cmlidXRlTlMoZnVsbG5hbWUuc3BhY2UsIGZ1bGxuYW1lLmxvY2Fs
KQorICAgICAgICA6IG5vZGUuZ2V0QXR0cmlidXRlKGZ1bGxuYW1lKTsKKyAgfQorCisgIHJldHVy
biB0aGlzLmVhY2goKHZhbHVlID09IG51bGwKKyAgICAgID8gKGZ1bGxuYW1lLmxvY2FsID8gYXR0
clJlbW92ZU5TIDogYXR0clJlbW92ZSkgOiAodHlwZW9mIHZhbHVlID09PSAiZnVuY3Rpb24iCisg
ICAgICA/IChmdWxsbmFtZS5sb2NhbCA/IGF0dHJGdW5jdGlvbk5TIDogYXR0ckZ1bmN0aW9uKQor
ICAgICAgOiAoZnVsbG5hbWUubG9jYWwgPyBhdHRyQ29uc3RhbnROUyA6IGF0dHJDb25zdGFudCkp
KShmdWxsbmFtZSwgdmFsdWUpKTsKK30KKworZnVuY3Rpb24gZGVmYXVsdFZpZXcobm9kZSkgewor
ICByZXR1cm4gKG5vZGUub3duZXJEb2N1bWVudCAmJiBub2RlLm93bmVyRG9jdW1lbnQuZGVmYXVs
dFZpZXcpIC8vIG5vZGUgaXMgYSBOb2RlCisgICAgICB8fCAobm9kZS5kb2N1bWVudCAmJiBub2Rl
KSAvLyBub2RlIGlzIGEgV2luZG93CisgICAgICB8fCBub2RlLmRlZmF1bHRWaWV3OyAvLyBub2Rl
IGlzIGEgRG9jdW1lbnQKK30KKworZnVuY3Rpb24gc3R5bGVSZW1vdmUobmFtZSkgeworICByZXR1
cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eShuYW1lKTsKKyAg
fTsKK30KKworZnVuY3Rpb24gc3R5bGVDb25zdGFudChuYW1lLCB2YWx1ZSwgcHJpb3JpdHkpIHsK
KyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkobmFtZSwg
dmFsdWUsIHByaW9yaXR5KTsKKyAgfTsKK30KKworZnVuY3Rpb24gc3R5bGVGdW5jdGlvbihuYW1l
LCB2YWx1ZSwgcHJpb3JpdHkpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciB2ID0g
dmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICBpZiAodiA9PSBudWxsKSB0aGlzLnN0
eWxlLnJlbW92ZVByb3BlcnR5KG5hbWUpOworICAgIGVsc2UgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0
eShuYW1lLCB2LCBwcmlvcml0eSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9zdHls
ZShuYW1lLCB2YWx1ZSwgcHJpb3JpdHkpIHsKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPiAx
CisgICAgICA/IHRoaXMuZWFjaCgodmFsdWUgPT0gbnVsbAorICAgICAgICAgICAgPyBzdHlsZVJl
bW92ZSA6IHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAgICAgICAgICAgPyBzdHlsZUZ1
bmN0aW9uCisgICAgICAgICAgICA6IHN0eWxlQ29uc3RhbnQpKG5hbWUsIHZhbHVlLCBwcmlvcml0
eSA9PSBudWxsID8gIiIgOiBwcmlvcml0eSkpCisgICAgICA6IHN0eWxlVmFsdWUodGhpcy5ub2Rl
KCksIG5hbWUpOworfQorCitmdW5jdGlvbiBzdHlsZVZhbHVlKG5vZGUsIG5hbWUpIHsKKyAgcmV0
dXJuIG5vZGUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShuYW1lKQorICAgICAgfHwgZGVmYXVsdFZp
ZXcobm9kZSkuZ2V0Q29tcHV0ZWRTdHlsZShub2RlLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKG5h
bWUpOworfQorCitmdW5jdGlvbiBwcm9wZXJ0eVJlbW92ZShuYW1lKSB7CisgIHJldHVybiBmdW5j
dGlvbigpIHsKKyAgICBkZWxldGUgdGhpc1tuYW1lXTsKKyAgfTsKK30KKworZnVuY3Rpb24gcHJv
cGVydHlDb25zdGFudChuYW1lLCB2YWx1ZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAg
dGhpc1tuYW1lXSA9IHZhbHVlOworICB9OworfQorCitmdW5jdGlvbiBwcm9wZXJ0eUZ1bmN0aW9u
KG5hbWUsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdiA9IHZhbHVl
LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKHYgPT0gbnVsbCkgZGVsZXRlIHRoaXNb
bmFtZV07CisgICAgZWxzZSB0aGlzW25hbWVdID0gdjsKKyAgfTsKK30KKworZnVuY3Rpb24gc2Vs
ZWN0aW9uX3Byb3BlcnR5KG5hbWUsIHZhbHVlKSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID4gMQorICAgICAgPyB0aGlzLmVhY2goKHZhbHVlID09IG51bGwKKyAgICAgICAgICA/IHByb3Bl
cnR5UmVtb3ZlIDogdHlwZW9mIHZhbHVlID09PSAiZnVuY3Rpb24iCisgICAgICAgICAgPyBwcm9w
ZXJ0eUZ1bmN0aW9uCisgICAgICAgICAgOiBwcm9wZXJ0eUNvbnN0YW50KShuYW1lLCB2YWx1ZSkp
CisgICAgICA6IHRoaXMubm9kZSgpW25hbWVdOworfQorCitmdW5jdGlvbiBjbGFzc0FycmF5KHN0
cmluZykgeworICByZXR1cm4gc3RyaW5nLnRyaW0oKS5zcGxpdCgvXnxccysvKTsKK30KKworZnVu
Y3Rpb24gY2xhc3NMaXN0KG5vZGUpIHsKKyAgcmV0dXJuIG5vZGUuY2xhc3NMaXN0IHx8IG5ldyBD
bGFzc0xpc3Qobm9kZSk7Cit9CisKK2Z1bmN0aW9uIENsYXNzTGlzdChub2RlKSB7CisgIHRoaXMu
X25vZGUgPSBub2RlOworICB0aGlzLl9uYW1lcyA9IGNsYXNzQXJyYXkobm9kZS5nZXRBdHRyaWJ1
dGUoImNsYXNzIikgfHwgIiIpOworfQorCitDbGFzc0xpc3QucHJvdG90eXBlID0geworICBhZGQ6
IGZ1bmN0aW9uKG5hbWUpIHsKKyAgICB2YXIgaSA9IHRoaXMuX25hbWVzLmluZGV4T2YobmFtZSk7
CisgICAgaWYgKGkgPCAwKSB7CisgICAgICB0aGlzLl9uYW1lcy5wdXNoKG5hbWUpOworICAgICAg
dGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgdGhpcy5fbmFtZXMuam9pbigiICIpKTsK
KyAgICB9CisgIH0sCisgIHJlbW92ZTogZnVuY3Rpb24obmFtZSkgeworICAgIHZhciBpID0gdGhp
cy5fbmFtZXMuaW5kZXhPZihuYW1lKTsKKyAgICBpZiAoaSA+PSAwKSB7CisgICAgICB0aGlzLl9u
YW1lcy5zcGxpY2UoaSwgMSk7CisgICAgICB0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgiY2xhc3Mi
LCB0aGlzLl9uYW1lcy5qb2luKCIgIikpOworICAgIH0KKyAgfSwKKyAgY29udGFpbnM6IGZ1bmN0
aW9uKG5hbWUpIHsKKyAgICByZXR1cm4gdGhpcy5fbmFtZXMuaW5kZXhPZihuYW1lKSA+PSAwOwor
ICB9Cit9OworCitmdW5jdGlvbiBjbGFzc2VkQWRkKG5vZGUsIG5hbWVzKSB7CisgIHZhciBsaXN0
ID0gY2xhc3NMaXN0KG5vZGUpLCBpID0gLTEsIG4gPSBuYW1lcy5sZW5ndGg7CisgIHdoaWxlICgr
K2kgPCBuKSBsaXN0LmFkZChuYW1lc1tpXSk7Cit9CisKK2Z1bmN0aW9uIGNsYXNzZWRSZW1vdmUo
bm9kZSwgbmFtZXMpIHsKKyAgdmFyIGxpc3QgPSBjbGFzc0xpc3Qobm9kZSksIGkgPSAtMSwgbiA9
IG5hbWVzLmxlbmd0aDsKKyAgd2hpbGUgKCsraSA8IG4pIGxpc3QucmVtb3ZlKG5hbWVzW2ldKTsK
K30KKworZnVuY3Rpb24gY2xhc3NlZFRydWUobmFtZXMpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkg
eworICAgIGNsYXNzZWRBZGQodGhpcywgbmFtZXMpOworICB9OworfQorCitmdW5jdGlvbiBjbGFz
c2VkRmFsc2UobmFtZXMpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIGNsYXNzZWRSZW1v
dmUodGhpcywgbmFtZXMpOworICB9OworfQorCitmdW5jdGlvbiBjbGFzc2VkRnVuY3Rpb24obmFt
ZXMsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAodmFsdWUuYXBwbHkodGhp
cywgYXJndW1lbnRzKSA/IGNsYXNzZWRBZGQgOiBjbGFzc2VkUmVtb3ZlKSh0aGlzLCBuYW1lcyk7
CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9jbGFzc2VkKG5hbWUsIHZhbHVlKSB7Cisg
IHZhciBuYW1lcyA9IGNsYXNzQXJyYXkobmFtZSArICIiKTsKKworICBpZiAoYXJndW1lbnRzLmxl
bmd0aCA8IDIpIHsKKyAgICB2YXIgbGlzdCA9IGNsYXNzTGlzdCh0aGlzLm5vZGUoKSksIGkgPSAt
MSwgbiA9IG5hbWVzLmxlbmd0aDsKKyAgICB3aGlsZSAoKytpIDwgbikgaWYgKCFsaXN0LmNvbnRh
aW5zKG5hbWVzW2ldKSkgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0cnVlOworICB9CisKKyAg
cmV0dXJuIHRoaXMuZWFjaCgodHlwZW9mIHZhbHVlID09PSAiZnVuY3Rpb24iCisgICAgICA/IGNs
YXNzZWRGdW5jdGlvbiA6IHZhbHVlCisgICAgICA/IGNsYXNzZWRUcnVlCisgICAgICA6IGNsYXNz
ZWRGYWxzZSkobmFtZXMsIHZhbHVlKSk7Cit9CisKK2Z1bmN0aW9uIHRleHRSZW1vdmUoKSB7Cisg
IHRoaXMudGV4dENvbnRlbnQgPSAiIjsKK30KKworZnVuY3Rpb24gdGV4dENvbnN0YW50KHZhbHVl
KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLnRleHRDb250ZW50ID0gdmFsdWU7
CisgIH07Cit9CisKK2Z1bmN0aW9uIHRleHRGdW5jdGlvbih2YWx1ZSkgeworICByZXR1cm4gZnVu
Y3Rpb24oKSB7CisgICAgdmFyIHYgPSB2YWx1ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOworICAg
IHRoaXMudGV4dENvbnRlbnQgPSB2ID09IG51bGwgPyAiIiA6IHY7CisgIH07Cit9CisKK2Z1bmN0
aW9uIHNlbGVjdGlvbl90ZXh0KHZhbHVlKSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoCisg
ICAgICA/IHRoaXMuZWFjaCh2YWx1ZSA9PSBudWxsCisgICAgICAgICAgPyB0ZXh0UmVtb3ZlIDog
KHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAgICAgICAgID8gdGV4dEZ1bmN0aW9uCisg
ICAgICAgICAgOiB0ZXh0Q29uc3RhbnQpKHZhbHVlKSkKKyAgICAgIDogdGhpcy5ub2RlKCkudGV4
dENvbnRlbnQ7Cit9CisKK2Z1bmN0aW9uIGh0bWxSZW1vdmUoKSB7CisgIHRoaXMuaW5uZXJIVE1M
ID0gIiI7Cit9CisKK2Z1bmN0aW9uIGh0bWxDb25zdGFudCh2YWx1ZSkgeworICByZXR1cm4gZnVu
Y3Rpb24oKSB7CisgICAgdGhpcy5pbm5lckhUTUwgPSB2YWx1ZTsKKyAgfTsKK30KKworZnVuY3Rp
b24gaHRtbEZ1bmN0aW9uKHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIg
diA9IHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgdGhpcy5pbm5lckhUTUwgPSB2
ID09IG51bGwgPyAiIiA6IHY7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9odG1sKHZh
bHVlKSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoCisgICAgICA/IHRoaXMuZWFjaCh2YWx1
ZSA9PSBudWxsCisgICAgICAgICAgPyBodG1sUmVtb3ZlIDogKHR5cGVvZiB2YWx1ZSA9PT0gImZ1
bmN0aW9uIgorICAgICAgICAgID8gaHRtbEZ1bmN0aW9uCisgICAgICAgICAgOiBodG1sQ29uc3Rh
bnQpKHZhbHVlKSkKKyAgICAgIDogdGhpcy5ub2RlKCkuaW5uZXJIVE1MOworfQorCitmdW5jdGlv
biByYWlzZSgpIHsKKyAgaWYgKHRoaXMubmV4dFNpYmxpbmcpIHRoaXMucGFyZW50Tm9kZS5hcHBl
bmRDaGlsZCh0aGlzKTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX3JhaXNlKCkgeworICByZXR1
cm4gdGhpcy5lYWNoKHJhaXNlKTsKK30KKworZnVuY3Rpb24gbG93ZXIoKSB7CisgIGlmICh0aGlz
LnByZXZpb3VzU2libGluZykgdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLCB0aGlz
LnBhcmVudE5vZGUuZmlyc3RDaGlsZCk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9sb3dlcigp
IHsKKyAgcmV0dXJuIHRoaXMuZWFjaChsb3dlcik7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9h
cHBlbmQobmFtZSkgeworICB2YXIgY3JlYXRlID0gdHlwZW9mIG5hbWUgPT09ICJmdW5jdGlvbiIg
PyBuYW1lIDogY3JlYXRvcihuYW1lKTsKKyAgcmV0dXJuIHRoaXMuc2VsZWN0KGZ1bmN0aW9uKCkg
eworICAgIHJldHVybiB0aGlzLmFwcGVuZENoaWxkKGNyZWF0ZS5hcHBseSh0aGlzLCBhcmd1bWVu
dHMpKTsKKyAgfSk7Cit9CisKK2Z1bmN0aW9uIGNvbnN0YW50TnVsbCgpIHsKKyAgcmV0dXJuIG51
bGw7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9pbnNlcnQobmFtZSwgYmVmb3JlKSB7CisgIHZh
ciBjcmVhdGUgPSB0eXBlb2YgbmFtZSA9PT0gImZ1bmN0aW9uIiA/IG5hbWUgOiBjcmVhdG9yKG5h
bWUpLAorICAgICAgc2VsZWN0ID0gYmVmb3JlID09IG51bGwgPyBjb25zdGFudE51bGwgOiB0eXBl
b2YgYmVmb3JlID09PSAiZnVuY3Rpb24iID8gYmVmb3JlIDogc2VsZWN0b3IoYmVmb3JlKTsKKyAg
cmV0dXJuIHRoaXMuc2VsZWN0KGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0aGlzLmluc2VydEJl
Zm9yZShjcmVhdGUuYXBwbHkodGhpcywgYXJndW1lbnRzKSwgc2VsZWN0LmFwcGx5KHRoaXMsIGFy
Z3VtZW50cykgfHwgbnVsbCk7CisgIH0pOworfQorCitmdW5jdGlvbiByZW1vdmUoKSB7CisgIHZh
ciBwYXJlbnQgPSB0aGlzLnBhcmVudE5vZGU7CisgIGlmIChwYXJlbnQpIHBhcmVudC5yZW1vdmVD
aGlsZCh0aGlzKTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX3JlbW92ZSgpIHsKKyAgcmV0dXJu
IHRoaXMuZWFjaChyZW1vdmUpOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fY2xvbmVTaGFsbG93
KCkgeworICB2YXIgY2xvbmUgPSB0aGlzLmNsb25lTm9kZShmYWxzZSksIHBhcmVudCA9IHRoaXMu
cGFyZW50Tm9kZTsKKyAgcmV0dXJuIHBhcmVudCA/IHBhcmVudC5pbnNlcnRCZWZvcmUoY2xvbmUs
IHRoaXMubmV4dFNpYmxpbmcpIDogY2xvbmU7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9jbG9u
ZURlZXAoKSB7CisgIHZhciBjbG9uZSA9IHRoaXMuY2xvbmVOb2RlKHRydWUpLCBwYXJlbnQgPSB0
aGlzLnBhcmVudE5vZGU7CisgIHJldHVybiBwYXJlbnQgPyBwYXJlbnQuaW5zZXJ0QmVmb3JlKGNs
b25lLCB0aGlzLm5leHRTaWJsaW5nKSA6IGNsb25lOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25f
Y2xvbmUoZGVlcCkgeworICByZXR1cm4gdGhpcy5zZWxlY3QoZGVlcCA/IHNlbGVjdGlvbl9jbG9u
ZURlZXAgOiBzZWxlY3Rpb25fY2xvbmVTaGFsbG93KTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9u
X2RhdHVtKHZhbHVlKSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoCisgICAgICA/IHRoaXMu
cHJvcGVydHkoIl9fZGF0YV9fIiwgdmFsdWUpCisgICAgICA6IHRoaXMubm9kZSgpLl9fZGF0YV9f
OworfQorCit2YXIgZmlsdGVyRXZlbnRzID0ge307CisKK2V4cG9ydHMuZXZlbnQgPSBudWxsOwor
CitpZiAodHlwZW9mIGRvY3VtZW50ICE9PSAidW5kZWZpbmVkIikgeworICB2YXIgZWxlbWVudCA9
IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDsKKyAgaWYgKCEoIm9ubW91c2VlbnRlciIgaW4gZWxl
bWVudCkpIHsKKyAgICBmaWx0ZXJFdmVudHMgPSB7bW91c2VlbnRlcjogIm1vdXNlb3ZlciIsIG1v
dXNlbGVhdmU6ICJtb3VzZW91dCJ9OworICB9Cit9CisKK2Z1bmN0aW9uIGZpbHRlckNvbnRleHRM
aXN0ZW5lcihsaXN0ZW5lciwgaW5kZXgsIGdyb3VwKSB7CisgIGxpc3RlbmVyID0gY29udGV4dExp
c3RlbmVyKGxpc3RlbmVyLCBpbmRleCwgZ3JvdXApOworICByZXR1cm4gZnVuY3Rpb24oZXZlbnQp
IHsKKyAgICB2YXIgcmVsYXRlZCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQ7CisgICAgaWYgKCFyZWxh
dGVkIHx8IChyZWxhdGVkICE9PSB0aGlzICYmICEocmVsYXRlZC5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbih0aGlzKSAmIDgpKSkgeworICAgICAgbGlzdGVuZXIuY2FsbCh0aGlzLCBldmVudCk7Cisg
ICAgfQorICB9OworfQorCitmdW5jdGlvbiBjb250ZXh0TGlzdGVuZXIobGlzdGVuZXIsIGluZGV4
LCBncm91cCkgeworICByZXR1cm4gZnVuY3Rpb24oZXZlbnQxKSB7CisgICAgdmFyIGV2ZW50MCA9
IGV4cG9ydHMuZXZlbnQ7IC8vIEV2ZW50cyBjYW4gYmUgcmVlbnRyYW50IChlLmcuLCBmb2N1cyku
CisgICAgZXhwb3J0cy5ldmVudCA9IGV2ZW50MTsKKyAgICB0cnkgeworICAgICAgbGlzdGVuZXIu
Y2FsbCh0aGlzLCB0aGlzLl9fZGF0YV9fLCBpbmRleCwgZ3JvdXApOworICAgIH0gZmluYWxseSB7
CisgICAgICBleHBvcnRzLmV2ZW50ID0gZXZlbnQwOworICAgIH0KKyAgfTsKK30KKworZnVuY3Rp
b24gcGFyc2VUeXBlbmFtZXMkMSh0eXBlbmFtZXMpIHsKKyAgcmV0dXJuIHR5cGVuYW1lcy50cmlt
KCkuc3BsaXQoL158XHMrLykubWFwKGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgbmFtZSA9ICIiLCBp
ID0gdC5pbmRleE9mKCIuIik7CisgICAgaWYgKGkgPj0gMCkgbmFtZSA9IHQuc2xpY2UoaSArIDEp
LCB0ID0gdC5zbGljZSgwLCBpKTsKKyAgICByZXR1cm4ge3R5cGU6IHQsIG5hbWU6IG5hbWV9Owor
ICB9KTsKK30KKworZnVuY3Rpb24gb25SZW1vdmUodHlwZW5hbWUpIHsKKyAgcmV0dXJuIGZ1bmN0
aW9uKCkgeworICAgIHZhciBvbiA9IHRoaXMuX19vbjsKKyAgICBpZiAoIW9uKSByZXR1cm47Cisg
ICAgZm9yICh2YXIgaiA9IDAsIGkgPSAtMSwgbSA9IG9uLmxlbmd0aCwgbzsgaiA8IG07ICsraikg
eworICAgICAgaWYgKG8gPSBvbltqXSwgKCF0eXBlbmFtZS50eXBlIHx8IG8udHlwZSA9PT0gdHlw
ZW5hbWUudHlwZSkgJiYgby5uYW1lID09PSB0eXBlbmFtZS5uYW1lKSB7CisgICAgICAgIHRoaXMu
cmVtb3ZlRXZlbnRMaXN0ZW5lcihvLnR5cGUsIG8ubGlzdGVuZXIsIG8uY2FwdHVyZSk7CisgICAg
ICB9IGVsc2UgeworICAgICAgICBvblsrK2ldID0gbzsKKyAgICAgIH0KKyAgICB9CisgICAgaWYg
KCsraSkgb24ubGVuZ3RoID0gaTsKKyAgICBlbHNlIGRlbGV0ZSB0aGlzLl9fb247CisgIH07Cit9
CisKK2Z1bmN0aW9uIG9uQWRkKHR5cGVuYW1lLCB2YWx1ZSwgY2FwdHVyZSkgeworICB2YXIgd3Jh
cCA9IGZpbHRlckV2ZW50cy5oYXNPd25Qcm9wZXJ0eSh0eXBlbmFtZS50eXBlKSA/IGZpbHRlckNv
bnRleHRMaXN0ZW5lciA6IGNvbnRleHRMaXN0ZW5lcjsKKyAgcmV0dXJuIGZ1bmN0aW9uKGQsIGks
IGdyb3VwKSB7CisgICAgdmFyIG9uID0gdGhpcy5fX29uLCBvLCBsaXN0ZW5lciA9IHdyYXAodmFs
dWUsIGksIGdyb3VwKTsKKyAgICBpZiAob24pIGZvciAodmFyIGogPSAwLCBtID0gb24ubGVuZ3Ro
OyBqIDwgbTsgKytqKSB7CisgICAgICBpZiAoKG8gPSBvbltqXSkudHlwZSA9PT0gdHlwZW5hbWUu
dHlwZSAmJiBvLm5hbWUgPT09IHR5cGVuYW1lLm5hbWUpIHsKKyAgICAgICAgdGhpcy5yZW1vdmVF
dmVudExpc3RlbmVyKG8udHlwZSwgby5saXN0ZW5lciwgby5jYXB0dXJlKTsKKyAgICAgICAgdGhp
cy5hZGRFdmVudExpc3RlbmVyKG8udHlwZSwgby5saXN0ZW5lciA9IGxpc3RlbmVyLCBvLmNhcHR1
cmUgPSBjYXB0dXJlKTsKKyAgICAgICAgby52YWx1ZSA9IHZhbHVlOworICAgICAgICByZXR1cm47
CisgICAgICB9CisgICAgfQorICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcih0eXBlbmFtZS50eXBl
LCBsaXN0ZW5lciwgY2FwdHVyZSk7CisgICAgbyA9IHt0eXBlOiB0eXBlbmFtZS50eXBlLCBuYW1l
OiB0eXBlbmFtZS5uYW1lLCB2YWx1ZTogdmFsdWUsIGxpc3RlbmVyOiBsaXN0ZW5lciwgY2FwdHVy
ZTogY2FwdHVyZX07CisgICAgaWYgKCFvbikgdGhpcy5fX29uID0gW29dOworICAgIGVsc2Ugb24u
cHVzaChvKTsKKyAgfTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX29uKHR5cGVuYW1lLCB2YWx1
ZSwgY2FwdHVyZSkgeworICB2YXIgdHlwZW5hbWVzID0gcGFyc2VUeXBlbmFtZXMkMSh0eXBlbmFt
ZSArICIiKSwgaSwgbiA9IHR5cGVuYW1lcy5sZW5ndGgsIHQ7CisKKyAgaWYgKGFyZ3VtZW50cy5s
ZW5ndGggPCAyKSB7CisgICAgdmFyIG9uID0gdGhpcy5ub2RlKCkuX19vbjsKKyAgICBpZiAob24p
IGZvciAodmFyIGogPSAwLCBtID0gb24ubGVuZ3RoLCBvOyBqIDwgbTsgKytqKSB7CisgICAgICBm
b3IgKGkgPSAwLCBvID0gb25bal07IGkgPCBuOyArK2kpIHsKKyAgICAgICAgaWYgKCh0ID0gdHlw
ZW5hbWVzW2ldKS50eXBlID09PSBvLnR5cGUgJiYgdC5uYW1lID09PSBvLm5hbWUpIHsKKyAgICAg
ICAgICByZXR1cm4gby52YWx1ZTsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKyAgICByZXR1
cm47CisgIH0KKworICBvbiA9IHZhbHVlID8gb25BZGQgOiBvblJlbW92ZTsKKyAgaWYgKGNhcHR1
cmUgPT0gbnVsbCkgY2FwdHVyZSA9IGZhbHNlOworICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB0
aGlzLmVhY2gob24odHlwZW5hbWVzW2ldLCB2YWx1ZSwgY2FwdHVyZSkpOworICByZXR1cm4gdGhp
czsKK30KKworZnVuY3Rpb24gY3VzdG9tRXZlbnQoZXZlbnQxLCBsaXN0ZW5lciwgdGhhdCwgYXJn
cykgeworICB2YXIgZXZlbnQwID0gZXhwb3J0cy5ldmVudDsKKyAgZXZlbnQxLnNvdXJjZUV2ZW50
ID0gZXhwb3J0cy5ldmVudDsKKyAgZXhwb3J0cy5ldmVudCA9IGV2ZW50MTsKKyAgdHJ5IHsKKyAg
ICByZXR1cm4gbGlzdGVuZXIuYXBwbHkodGhhdCwgYXJncyk7CisgIH0gZmluYWxseSB7CisgICAg
ZXhwb3J0cy5ldmVudCA9IGV2ZW50MDsKKyAgfQorfQorCitmdW5jdGlvbiBkaXNwYXRjaEV2ZW50
KG5vZGUsIHR5cGUsIHBhcmFtcykgeworICB2YXIgd2luZG93ID0gZGVmYXVsdFZpZXcobm9kZSks
CisgICAgICBldmVudCA9IHdpbmRvdy5DdXN0b21FdmVudDsKKworICBpZiAodHlwZW9mIGV2ZW50
ID09PSAiZnVuY3Rpb24iKSB7CisgICAgZXZlbnQgPSBuZXcgZXZlbnQodHlwZSwgcGFyYW1zKTsK
KyAgfSBlbHNlIHsKKyAgICBldmVudCA9IHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZl
bnQiKTsKKyAgICBpZiAocGFyYW1zKSBldmVudC5pbml0RXZlbnQodHlwZSwgcGFyYW1zLmJ1YmJs
ZXMsIHBhcmFtcy5jYW5jZWxhYmxlKSwgZXZlbnQuZGV0YWlsID0gcGFyYW1zLmRldGFpbDsKKyAg
ICBlbHNlIGV2ZW50LmluaXRFdmVudCh0eXBlLCBmYWxzZSwgZmFsc2UpOworICB9CisKKyAgbm9k
ZS5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKK30KKworZnVuY3Rpb24gZGlzcGF0Y2hDb25zdGFudCh0
eXBlLCBwYXJhbXMpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBkaXNwYXRj
aEV2ZW50KHRoaXMsIHR5cGUsIHBhcmFtcyk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGRpc3BhdGNo
RnVuY3Rpb24odHlwZSwgcGFyYW1zKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1
cm4gZGlzcGF0Y2hFdmVudCh0aGlzLCB0eXBlLCBwYXJhbXMuYXBwbHkodGhpcywgYXJndW1lbnRz
KSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9kaXNwYXRjaCh0eXBlLCBwYXJhbXMp
IHsKKyAgcmV0dXJuIHRoaXMuZWFjaCgodHlwZW9mIHBhcmFtcyA9PT0gImZ1bmN0aW9uIgorICAg
ICAgPyBkaXNwYXRjaEZ1bmN0aW9uCisgICAgICA6IGRpc3BhdGNoQ29uc3RhbnQpKHR5cGUsIHBh
cmFtcykpOworfQorCit2YXIgcm9vdCA9IFtudWxsXTsKKworZnVuY3Rpb24gU2VsZWN0aW9uKGdy
b3VwcywgcGFyZW50cykgeworICB0aGlzLl9ncm91cHMgPSBncm91cHM7CisgIHRoaXMuX3BhcmVu
dHMgPSBwYXJlbnRzOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb24oKSB7CisgIHJldHVybiBuZXcg
U2VsZWN0aW9uKFtbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XV0sIHJvb3QpOworfQorCitTZWxl
Y3Rpb24ucHJvdG90eXBlID0gc2VsZWN0aW9uLnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6
IFNlbGVjdGlvbiwKKyAgc2VsZWN0OiBzZWxlY3Rpb25fc2VsZWN0LAorICBzZWxlY3RBbGw6IHNl
bGVjdGlvbl9zZWxlY3RBbGwsCisgIGZpbHRlcjogc2VsZWN0aW9uX2ZpbHRlciwKKyAgZGF0YTog
c2VsZWN0aW9uX2RhdGEsCisgIGVudGVyOiBzZWxlY3Rpb25fZW50ZXIsCisgIGV4aXQ6IHNlbGVj
dGlvbl9leGl0LAorICBqb2luOiBzZWxlY3Rpb25fam9pbiwKKyAgbWVyZ2U6IHNlbGVjdGlvbl9t
ZXJnZSwKKyAgb3JkZXI6IHNlbGVjdGlvbl9vcmRlciwKKyAgc29ydDogc2VsZWN0aW9uX3NvcnQs
CisgIGNhbGw6IHNlbGVjdGlvbl9jYWxsLAorICBub2Rlczogc2VsZWN0aW9uX25vZGVzLAorICBu
b2RlOiBzZWxlY3Rpb25fbm9kZSwKKyAgc2l6ZTogc2VsZWN0aW9uX3NpemUsCisgIGVtcHR5OiBz
ZWxlY3Rpb25fZW1wdHksCisgIGVhY2g6IHNlbGVjdGlvbl9lYWNoLAorICBhdHRyOiBzZWxlY3Rp
b25fYXR0ciwKKyAgc3R5bGU6IHNlbGVjdGlvbl9zdHlsZSwKKyAgcHJvcGVydHk6IHNlbGVjdGlv
bl9wcm9wZXJ0eSwKKyAgY2xhc3NlZDogc2VsZWN0aW9uX2NsYXNzZWQsCisgIHRleHQ6IHNlbGVj
dGlvbl90ZXh0LAorICBodG1sOiBzZWxlY3Rpb25faHRtbCwKKyAgcmFpc2U6IHNlbGVjdGlvbl9y
YWlzZSwKKyAgbG93ZXI6IHNlbGVjdGlvbl9sb3dlciwKKyAgYXBwZW5kOiBzZWxlY3Rpb25fYXBw
ZW5kLAorICBpbnNlcnQ6IHNlbGVjdGlvbl9pbnNlcnQsCisgIHJlbW92ZTogc2VsZWN0aW9uX3Jl
bW92ZSwKKyAgY2xvbmU6IHNlbGVjdGlvbl9jbG9uZSwKKyAgZGF0dW06IHNlbGVjdGlvbl9kYXR1
bSwKKyAgb246IHNlbGVjdGlvbl9vbiwKKyAgZGlzcGF0Y2g6IHNlbGVjdGlvbl9kaXNwYXRjaAor
fTsKKworZnVuY3Rpb24gc2VsZWN0KHNlbGVjdG9yKSB7CisgIHJldHVybiB0eXBlb2Ygc2VsZWN0
b3IgPT09ICJzdHJpbmciCisgICAgICA/IG5ldyBTZWxlY3Rpb24oW1tkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKHNlbGVjdG9yKV1dLCBbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSkKKyAgICAgIDog
bmV3IFNlbGVjdGlvbihbW3NlbGVjdG9yXV0sIHJvb3QpOworfQorCitmdW5jdGlvbiBjcmVhdGUo
bmFtZSkgeworICByZXR1cm4gc2VsZWN0KGNyZWF0b3IobmFtZSkuY2FsbChkb2N1bWVudC5kb2N1
bWVudEVsZW1lbnQpKTsKK30KKwordmFyIG5leHRJZCA9IDA7CisKK2Z1bmN0aW9uIGxvY2FsKCkg
eworICByZXR1cm4gbmV3IExvY2FsOworfQorCitmdW5jdGlvbiBMb2NhbCgpIHsKKyAgdGhpcy5f
ID0gIkAiICsgKCsrbmV4dElkKS50b1N0cmluZygzNik7Cit9CisKK0xvY2FsLnByb3RvdHlwZSA9
IGxvY2FsLnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IExvY2FsLAorICBnZXQ6IGZ1bmN0
aW9uKG5vZGUpIHsKKyAgICB2YXIgaWQgPSB0aGlzLl87CisgICAgd2hpbGUgKCEoaWQgaW4gbm9k
ZSkpIGlmICghKG5vZGUgPSBub2RlLnBhcmVudE5vZGUpKSByZXR1cm47CisgICAgcmV0dXJuIG5v
ZGVbaWRdOworICB9LAorICBzZXQ6IGZ1bmN0aW9uKG5vZGUsIHZhbHVlKSB7CisgICAgcmV0dXJu
IG5vZGVbdGhpcy5fXSA9IHZhbHVlOworICB9LAorICByZW1vdmU6IGZ1bmN0aW9uKG5vZGUpIHsK
KyAgICByZXR1cm4gdGhpcy5fIGluIG5vZGUgJiYgZGVsZXRlIG5vZGVbdGhpcy5fXTsKKyAgfSwK
KyAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0aGlzLl87CisgIH0KK307CisK
K2Z1bmN0aW9uIHNvdXJjZUV2ZW50KCkgeworICB2YXIgY3VycmVudCA9IGV4cG9ydHMuZXZlbnQs
IHNvdXJjZTsKKyAgd2hpbGUgKHNvdXJjZSA9IGN1cnJlbnQuc291cmNlRXZlbnQpIGN1cnJlbnQg
PSBzb3VyY2U7CisgIHJldHVybiBjdXJyZW50OworfQorCitmdW5jdGlvbiBwb2ludChub2RlLCBl
dmVudCkgeworICB2YXIgc3ZnID0gbm9kZS5vd25lclNWR0VsZW1lbnQgfHwgbm9kZTsKKworICBp
ZiAoc3ZnLmNyZWF0ZVNWR1BvaW50KSB7CisgICAgdmFyIHBvaW50ID0gc3ZnLmNyZWF0ZVNWR1Bv
aW50KCk7CisgICAgcG9pbnQueCA9IGV2ZW50LmNsaWVudFgsIHBvaW50LnkgPSBldmVudC5jbGll
bnRZOworICAgIHBvaW50ID0gcG9pbnQubWF0cml4VHJhbnNmb3JtKG5vZGUuZ2V0U2NyZWVuQ1RN
KCkuaW52ZXJzZSgpKTsKKyAgICByZXR1cm4gW3BvaW50LngsIHBvaW50LnldOworICB9CisKKyAg
dmFyIHJlY3QgPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICByZXR1cm4gW2V2ZW50
LmNsaWVudFggLSByZWN0LmxlZnQgLSBub2RlLmNsaWVudExlZnQsIGV2ZW50LmNsaWVudFkgLSBy
ZWN0LnRvcCAtIG5vZGUuY2xpZW50VG9wXTsKK30KKworZnVuY3Rpb24gbW91c2Uobm9kZSkgewor
ICB2YXIgZXZlbnQgPSBzb3VyY2VFdmVudCgpOworICBpZiAoZXZlbnQuY2hhbmdlZFRvdWNoZXMp
IGV2ZW50ID0gZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF07CisgIHJldHVybiBwb2ludChub2RlLCBl
dmVudCk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdEFsbChzZWxlY3RvcikgeworICByZXR1cm4gdHlw
ZW9mIHNlbGVjdG9yID09PSAic3RyaW5nIgorICAgICAgPyBuZXcgU2VsZWN0aW9uKFtkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKV0sIFtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRd
KQorICAgICAgOiBuZXcgU2VsZWN0aW9uKFtzZWxlY3RvciA9PSBudWxsID8gW10gOiBzZWxlY3Rv
cl0sIHJvb3QpOworfQorCitmdW5jdGlvbiB0b3VjaChub2RlLCB0b3VjaGVzLCBpZGVudGlmaWVy
KSB7CisgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMykgaWRlbnRpZmllciA9IHRvdWNoZXMsIHRv
dWNoZXMgPSBzb3VyY2VFdmVudCgpLmNoYW5nZWRUb3VjaGVzOworCisgIGZvciAodmFyIGkgPSAw
LCBuID0gdG91Y2hlcyA/IHRvdWNoZXMubGVuZ3RoIDogMCwgdG91Y2g7IGkgPCBuOyArK2kpIHsK
KyAgICBpZiAoKHRvdWNoID0gdG91Y2hlc1tpXSkuaWRlbnRpZmllciA9PT0gaWRlbnRpZmllcikg
eworICAgICAgcmV0dXJuIHBvaW50KG5vZGUsIHRvdWNoKTsKKyAgICB9CisgIH0KKworICByZXR1
cm4gbnVsbDsKK30KKworZnVuY3Rpb24gdG91Y2hlcyhub2RlLCB0b3VjaGVzKSB7CisgIGlmICh0
b3VjaGVzID09IG51bGwpIHRvdWNoZXMgPSBzb3VyY2VFdmVudCgpLnRvdWNoZXM7CisKKyAgZm9y
ICh2YXIgaSA9IDAsIG4gPSB0b3VjaGVzID8gdG91Y2hlcy5sZW5ndGggOiAwLCBwb2ludHMgPSBu
ZXcgQXJyYXkobik7IGkgPCBuOyArK2kpIHsKKyAgICBwb2ludHNbaV0gPSBwb2ludChub2RlLCB0
b3VjaGVzW2ldKTsKKyAgfQorCisgIHJldHVybiBwb2ludHM7Cit9CisKK2Z1bmN0aW9uIG5vcHJv
cGFnYXRpb24oKSB7CisgIGV4cG9ydHMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7
Cit9CisKK2Z1bmN0aW9uIG5vZXZlbnQoKSB7CisgIGV4cG9ydHMuZXZlbnQucHJldmVudERlZmF1
bHQoKTsKKyAgZXhwb3J0cy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsKK30KKwor
ZnVuY3Rpb24gZHJhZ0Rpc2FibGUodmlldykgeworICB2YXIgcm9vdCA9IHZpZXcuZG9jdW1lbnQu
ZG9jdW1lbnRFbGVtZW50LAorICAgICAgc2VsZWN0aW9uID0gc2VsZWN0KHZpZXcpLm9uKCJkcmFn
c3RhcnQuZHJhZyIsIG5vZXZlbnQsIHRydWUpOworICBpZiAoIm9uc2VsZWN0c3RhcnQiIGluIHJv
b3QpIHsKKyAgICBzZWxlY3Rpb24ub24oInNlbGVjdHN0YXJ0LmRyYWciLCBub2V2ZW50LCB0cnVl
KTsKKyAgfSBlbHNlIHsKKyAgICByb290Ll9fbm9zZWxlY3QgPSByb290LnN0eWxlLk1velVzZXJT
ZWxlY3Q7CisgICAgcm9vdC5zdHlsZS5Nb3pVc2VyU2VsZWN0ID0gIm5vbmUiOworICB9Cit9CisK
K2Z1bmN0aW9uIHllc2RyYWcodmlldywgbm9jbGljaykgeworICB2YXIgcm9vdCA9IHZpZXcuZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LAorICAgICAgc2VsZWN0aW9uID0gc2VsZWN0KHZpZXcpLm9u
KCJkcmFnc3RhcnQuZHJhZyIsIG51bGwpOworICBpZiAobm9jbGljaykgeworICAgIHNlbGVjdGlv
bi5vbigiY2xpY2suZHJhZyIsIG5vZXZlbnQsIHRydWUpOworICAgIHNldFRpbWVvdXQoZnVuY3Rp
b24oKSB7IHNlbGVjdGlvbi5vbigiY2xpY2suZHJhZyIsIG51bGwpOyB9LCAwKTsKKyAgfQorICBp
ZiAoIm9uc2VsZWN0c3RhcnQiIGluIHJvb3QpIHsKKyAgICBzZWxlY3Rpb24ub24oInNlbGVjdHN0
YXJ0LmRyYWciLCBudWxsKTsKKyAgfSBlbHNlIHsKKyAgICByb290LnN0eWxlLk1velVzZXJTZWxl
Y3QgPSByb290Ll9fbm9zZWxlY3Q7CisgICAgZGVsZXRlIHJvb3QuX19ub3NlbGVjdDsKKyAgfQor
fQorCitmdW5jdGlvbiBjb25zdGFudCQyKHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAg
IHJldHVybiB4OworICB9OworfQorCitmdW5jdGlvbiBEcmFnRXZlbnQodGFyZ2V0LCB0eXBlLCBz
dWJqZWN0LCBpZCwgYWN0aXZlLCB4LCB5LCBkeCwgZHksIGRpc3BhdGNoKSB7CisgIHRoaXMudGFy
Z2V0ID0gdGFyZ2V0OworICB0aGlzLnR5cGUgPSB0eXBlOworICB0aGlzLnN1YmplY3QgPSBzdWJq
ZWN0OworICB0aGlzLmlkZW50aWZpZXIgPSBpZDsKKyAgdGhpcy5hY3RpdmUgPSBhY3RpdmU7Cisg
IHRoaXMueCA9IHg7CisgIHRoaXMueSA9IHk7CisgIHRoaXMuZHggPSBkeDsKKyAgdGhpcy5keSA9
IGR5OworICB0aGlzLl8gPSBkaXNwYXRjaDsKK30KKworRHJhZ0V2ZW50LnByb3RvdHlwZS5vbiA9
IGZ1bmN0aW9uKCkgeworICB2YXIgdmFsdWUgPSB0aGlzLl8ub24uYXBwbHkodGhpcy5fLCBhcmd1
bWVudHMpOworICByZXR1cm4gdmFsdWUgPT09IHRoaXMuXyA/IHRoaXMgOiB2YWx1ZTsKK307CisK
Ky8vIElnbm9yZSByaWdodC1jbGljaywgc2luY2UgdGhhdCBzaG91bGQgb3BlbiB0aGUgY29udGV4
dCBtZW51LgorZnVuY3Rpb24gZGVmYXVsdEZpbHRlcigpIHsKKyAgcmV0dXJuICFleHBvcnRzLmV2
ZW50LmN0cmxLZXkgJiYgIWV4cG9ydHMuZXZlbnQuYnV0dG9uOworfQorCitmdW5jdGlvbiBkZWZh
dWx0Q29udGFpbmVyKCkgeworICByZXR1cm4gdGhpcy5wYXJlbnROb2RlOworfQorCitmdW5jdGlv
biBkZWZhdWx0U3ViamVjdChkKSB7CisgIHJldHVybiBkID09IG51bGwgPyB7eDogZXhwb3J0cy5l
dmVudC54LCB5OiBleHBvcnRzLmV2ZW50Lnl9IDogZDsKK30KKworZnVuY3Rpb24gZGVmYXVsdFRv
dWNoYWJsZSgpIHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyB8fCAoIm9udG91
Y2hzdGFydCIgaW4gdGhpcyk7Cit9CisKK2Z1bmN0aW9uIGRyYWcoKSB7CisgIHZhciBmaWx0ZXIg
PSBkZWZhdWx0RmlsdGVyLAorICAgICAgY29udGFpbmVyID0gZGVmYXVsdENvbnRhaW5lciwKKyAg
ICAgIHN1YmplY3QgPSBkZWZhdWx0U3ViamVjdCwKKyAgICAgIHRvdWNoYWJsZSA9IGRlZmF1bHRU
b3VjaGFibGUsCisgICAgICBnZXN0dXJlcyA9IHt9LAorICAgICAgbGlzdGVuZXJzID0gZGlzcGF0
Y2goInN0YXJ0IiwgImRyYWciLCAiZW5kIiksCisgICAgICBhY3RpdmUgPSAwLAorICAgICAgbW91
c2Vkb3dueCwKKyAgICAgIG1vdXNlZG93bnksCisgICAgICBtb3VzZW1vdmluZywKKyAgICAgIHRv
dWNoZW5kaW5nLAorICAgICAgY2xpY2tEaXN0YW5jZTIgPSAwOworCisgIGZ1bmN0aW9uIGRyYWco
c2VsZWN0aW9uKSB7CisgICAgc2VsZWN0aW9uCisgICAgICAgIC5vbigibW91c2Vkb3duLmRyYWci
LCBtb3VzZWRvd25lZCkKKyAgICAgIC5maWx0ZXIodG91Y2hhYmxlKQorICAgICAgICAub24oInRv
dWNoc3RhcnQuZHJhZyIsIHRvdWNoc3RhcnRlZCkKKyAgICAgICAgLm9uKCJ0b3VjaG1vdmUuZHJh
ZyIsIHRvdWNobW92ZWQpCisgICAgICAgIC5vbigidG91Y2hlbmQuZHJhZyB0b3VjaGNhbmNlbC5k
cmFnIiwgdG91Y2hlbmRlZCkKKyAgICAgICAgLnN0eWxlKCJ0b3VjaC1hY3Rpb24iLCAibm9uZSIp
CisgICAgICAgIC5zdHlsZSgiLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIiwgInJnYmEoMCww
LDAsMCkiKTsKKyAgfQorCisgIGZ1bmN0aW9uIG1vdXNlZG93bmVkKCkgeworICAgIGlmICh0b3Vj
aGVuZGluZyB8fCAhZmlsdGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpIHJldHVybjsKKyAgICB2
YXIgZ2VzdHVyZSA9IGJlZm9yZXN0YXJ0KCJtb3VzZSIsIGNvbnRhaW5lci5hcHBseSh0aGlzLCBh
cmd1bWVudHMpLCBtb3VzZSwgdGhpcywgYXJndW1lbnRzKTsKKyAgICBpZiAoIWdlc3R1cmUpIHJl
dHVybjsKKyAgICBzZWxlY3QoZXhwb3J0cy5ldmVudC52aWV3KS5vbigibW91c2Vtb3ZlLmRyYWci
LCBtb3VzZW1vdmVkLCB0cnVlKS5vbigibW91c2V1cC5kcmFnIiwgbW91c2V1cHBlZCwgdHJ1ZSk7
CisgICAgZHJhZ0Rpc2FibGUoZXhwb3J0cy5ldmVudC52aWV3KTsKKyAgICBub3Byb3BhZ2F0aW9u
KCk7CisgICAgbW91c2Vtb3ZpbmcgPSBmYWxzZTsKKyAgICBtb3VzZWRvd254ID0gZXhwb3J0cy5l
dmVudC5jbGllbnRYOworICAgIG1vdXNlZG93bnkgPSBleHBvcnRzLmV2ZW50LmNsaWVudFk7Cisg
ICAgZ2VzdHVyZSgic3RhcnQiKTsKKyAgfQorCisgIGZ1bmN0aW9uIG1vdXNlbW92ZWQoKSB7Cisg
ICAgbm9ldmVudCgpOworICAgIGlmICghbW91c2Vtb3ZpbmcpIHsKKyAgICAgIHZhciBkeCA9IGV4
cG9ydHMuZXZlbnQuY2xpZW50WCAtIG1vdXNlZG93bngsIGR5ID0gZXhwb3J0cy5ldmVudC5jbGll
bnRZIC0gbW91c2Vkb3dueTsKKyAgICAgIG1vdXNlbW92aW5nID0gZHggKiBkeCArIGR5ICogZHkg
PiBjbGlja0Rpc3RhbmNlMjsKKyAgICB9CisgICAgZ2VzdHVyZXMubW91c2UoImRyYWciKTsKKyAg
fQorCisgIGZ1bmN0aW9uIG1vdXNldXBwZWQoKSB7CisgICAgc2VsZWN0KGV4cG9ydHMuZXZlbnQu
dmlldykub24oIm1vdXNlbW92ZS5kcmFnIG1vdXNldXAuZHJhZyIsIG51bGwpOworICAgIHllc2Ry
YWcoZXhwb3J0cy5ldmVudC52aWV3LCBtb3VzZW1vdmluZyk7CisgICAgbm9ldmVudCgpOworICAg
IGdlc3R1cmVzLm1vdXNlKCJlbmQiKTsKKyAgfQorCisgIGZ1bmN0aW9uIHRvdWNoc3RhcnRlZCgp
IHsKKyAgICBpZiAoIWZpbHRlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSByZXR1cm47CisgICAg
dmFyIHRvdWNoZXMgPSBleHBvcnRzLmV2ZW50LmNoYW5nZWRUb3VjaGVzLAorICAgICAgICBjID0g
Y29udGFpbmVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksCisgICAgICAgIG4gPSB0b3VjaGVzLmxl
bmd0aCwgaSwgZ2VzdHVyZTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAg
IGlmIChnZXN0dXJlID0gYmVmb3Jlc3RhcnQodG91Y2hlc1tpXS5pZGVudGlmaWVyLCBjLCB0b3Vj
aCwgdGhpcywgYXJndW1lbnRzKSkgeworICAgICAgICBub3Byb3BhZ2F0aW9uKCk7CisgICAgICAg
IGdlc3R1cmUoInN0YXJ0Iik7CisgICAgICB9CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gdG91
Y2htb3ZlZCgpIHsKKyAgICB2YXIgdG91Y2hlcyA9IGV4cG9ydHMuZXZlbnQuY2hhbmdlZFRvdWNo
ZXMsCisgICAgICAgIG4gPSB0b3VjaGVzLmxlbmd0aCwgaSwgZ2VzdHVyZTsKKworICAgIGZvciAo
aSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChnZXN0dXJlID0gZ2VzdHVyZXNbdG91Y2hl
c1tpXS5pZGVudGlmaWVyXSkgeworICAgICAgICBub2V2ZW50KCk7CisgICAgICAgIGdlc3R1cmUo
ImRyYWciKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBmdW5jdGlvbiB0b3VjaGVuZGVkKCkg
eworICAgIHZhciB0b3VjaGVzID0gZXhwb3J0cy5ldmVudC5jaGFuZ2VkVG91Y2hlcywKKyAgICAg
ICAgbiA9IHRvdWNoZXMubGVuZ3RoLCBpLCBnZXN0dXJlOworCisgICAgaWYgKHRvdWNoZW5kaW5n
KSBjbGVhclRpbWVvdXQodG91Y2hlbmRpbmcpOworICAgIHRvdWNoZW5kaW5nID0gc2V0VGltZW91
dChmdW5jdGlvbigpIHsgdG91Y2hlbmRpbmcgPSBudWxsOyB9LCA1MDApOyAvLyBHaG9zdCBjbGlj
a3MgYXJlIGRlbGF5ZWQhCisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgaWYg
KGdlc3R1cmUgPSBnZXN0dXJlc1t0b3VjaGVzW2ldLmlkZW50aWZpZXJdKSB7CisgICAgICAgIG5v
cHJvcGFnYXRpb24oKTsKKyAgICAgICAgZ2VzdHVyZSgiZW5kIik7CisgICAgICB9CisgICAgfQor
ICB9CisKKyAgZnVuY3Rpb24gYmVmb3Jlc3RhcnQoaWQsIGNvbnRhaW5lciwgcG9pbnQsIHRoYXQs
IGFyZ3MpIHsKKyAgICB2YXIgcCA9IHBvaW50KGNvbnRhaW5lciwgaWQpLCBzLCBkeCwgZHksCisg
ICAgICAgIHN1Ymxpc3RlbmVycyA9IGxpc3RlbmVycy5jb3B5KCk7CisKKyAgICBpZiAoIWN1c3Rv
bUV2ZW50KG5ldyBEcmFnRXZlbnQoZHJhZywgImJlZm9yZXN0YXJ0IiwgcywgaWQsIGFjdGl2ZSwg
cFswXSwgcFsxXSwgMCwgMCwgc3VibGlzdGVuZXJzKSwgZnVuY3Rpb24oKSB7CisgICAgICBpZiAo
KGV4cG9ydHMuZXZlbnQuc3ViamVjdCA9IHMgPSBzdWJqZWN0LmFwcGx5KHRoYXQsIGFyZ3MpKSA9
PSBudWxsKSByZXR1cm4gZmFsc2U7CisgICAgICBkeCA9IHMueCAtIHBbMF0gfHwgMDsKKyAgICAg
IGR5ID0gcy55IC0gcFsxXSB8fCAwOworICAgICAgcmV0dXJuIHRydWU7CisgICAgfSkpIHJldHVy
bjsKKworICAgIHJldHVybiBmdW5jdGlvbiBnZXN0dXJlKHR5cGUpIHsKKyAgICAgIHZhciBwMCA9
IHAsIG47CisgICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgICAgY2FzZSAic3RhcnQiOiBnZXN0
dXJlc1tpZF0gPSBnZXN0dXJlLCBuID0gYWN0aXZlKys7IGJyZWFrOworICAgICAgICBjYXNlICJl
bmQiOiBkZWxldGUgZ2VzdHVyZXNbaWRdLCAtLWFjdGl2ZTsgLy8gbm9icmVhaworICAgICAgICBj
YXNlICJkcmFnIjogcCA9IHBvaW50KGNvbnRhaW5lciwgaWQpLCBuID0gYWN0aXZlOyBicmVhazsK
KyAgICAgIH0KKyAgICAgIGN1c3RvbUV2ZW50KG5ldyBEcmFnRXZlbnQoZHJhZywgdHlwZSwgcywg
aWQsIG4sIHBbMF0gKyBkeCwgcFsxXSArIGR5LCBwWzBdIC0gcDBbMF0sIHBbMV0gLSBwMFsxXSwg
c3VibGlzdGVuZXJzKSwgc3VibGlzdGVuZXJzLmFwcGx5LCBzdWJsaXN0ZW5lcnMsIFt0eXBlLCB0
aGF0LCBhcmdzXSk7CisgICAgfTsKKyAgfQorCisgIGRyYWcuZmlsdGVyID0gZnVuY3Rpb24oXykg
eworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGZpbHRlciA9IHR5cGVvZiBfID09PSAi
ZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDIoISFfKSwgZHJhZykgOiBmaWx0ZXI7CisgIH07CisK
KyAgZHJhZy5jb250YWluZXIgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoY29udGFpbmVyID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3Rh
bnQkMihfKSwgZHJhZykgOiBjb250YWluZXI7CisgIH07CisKKyAgZHJhZy5zdWJqZWN0ID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHN1YmplY3QgPSB0eXBl
b2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCQyKF8pLCBkcmFnKSA6IHN1YmplY3Q7
CisgIH07CisKKyAgZHJhZy50b3VjaGFibGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAodG91Y2hhYmxlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBf
IDogY29uc3RhbnQkMighIV8pLCBkcmFnKSA6IHRvdWNoYWJsZTsKKyAgfTsKKworICBkcmFnLm9u
ID0gZnVuY3Rpb24oKSB7CisgICAgdmFyIHZhbHVlID0gbGlzdGVuZXJzLm9uLmFwcGx5KGxpc3Rl
bmVycywgYXJndW1lbnRzKTsKKyAgICByZXR1cm4gdmFsdWUgPT09IGxpc3RlbmVycyA/IGRyYWcg
OiB2YWx1ZTsKKyAgfTsKKworICBkcmFnLmNsaWNrRGlzdGFuY2UgPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoY2xpY2tEaXN0YW5jZTIgPSAoXyA9ICtfKSAq
IF8sIGRyYWcpIDogTWF0aC5zcXJ0KGNsaWNrRGlzdGFuY2UyKTsKKyAgfTsKKworICByZXR1cm4g
ZHJhZzsKK30KKworZnVuY3Rpb24gZGVmaW5lKGNvbnN0cnVjdG9yLCBmYWN0b3J5LCBwcm90b3R5
cGUpIHsKKyAgY29uc3RydWN0b3IucHJvdG90eXBlID0gZmFjdG9yeS5wcm90b3R5cGUgPSBwcm90
b3R5cGU7CisgIHByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGNvbnN0cnVjdG9yOworfQorCitmdW5j
dGlvbiBleHRlbmQocGFyZW50LCBkZWZpbml0aW9uKSB7CisgIHZhciBwcm90b3R5cGUgPSBPYmpl
Y3QuY3JlYXRlKHBhcmVudC5wcm90b3R5cGUpOworICBmb3IgKHZhciBrZXkgaW4gZGVmaW5pdGlv
bikgcHJvdG90eXBlW2tleV0gPSBkZWZpbml0aW9uW2tleV07CisgIHJldHVybiBwcm90b3R5cGU7
Cit9CisKK2Z1bmN0aW9uIENvbG9yKCkge30KKwordmFyIGRhcmtlciA9IDAuNzsKK3ZhciBicmln
aHRlciA9IDEgLyBkYXJrZXI7CisKK3ZhciByZUkgPSAiXFxzKihbKy1dP1xcZCspXFxzKiIsCisg
ICAgcmVOID0gIlxccyooWystXT9cXGQqXFwuP1xcZCsoPzpbZUVdWystXT9cXGQrKT8pXFxzKiIs
CisgICAgcmVQID0gIlxccyooWystXT9cXGQqXFwuP1xcZCsoPzpbZUVdWystXT9cXGQrKT8pJVxc
cyoiLAorICAgIHJlSGV4ID0gL14jKFswLTlhLWZdezMsOH0pJC8sCisgICAgcmVSZ2JJbnRlZ2Vy
ID0gbmV3IFJlZ0V4cCgiXnJnYlxcKCIgKyBbcmVJLCByZUksIHJlSV0gKyAiXFwpJCIpLAorICAg
IHJlUmdiUGVyY2VudCA9IG5ldyBSZWdFeHAoIl5yZ2JcXCgiICsgW3JlUCwgcmVQLCByZVBdICsg
IlxcKSQiKSwKKyAgICByZVJnYmFJbnRlZ2VyID0gbmV3IFJlZ0V4cCgiXnJnYmFcXCgiICsgW3Jl
SSwgcmVJLCByZUksIHJlTl0gKyAiXFwpJCIpLAorICAgIHJlUmdiYVBlcmNlbnQgPSBuZXcgUmVn
RXhwKCJecmdiYVxcKCIgKyBbcmVQLCByZVAsIHJlUCwgcmVOXSArICJcXCkkIiksCisgICAgcmVI
c2xQZXJjZW50ID0gbmV3IFJlZ0V4cCgiXmhzbFxcKCIgKyBbcmVOLCByZVAsIHJlUF0gKyAiXFwp
JCIpLAorICAgIHJlSHNsYVBlcmNlbnQgPSBuZXcgUmVnRXhwKCJeaHNsYVxcKCIgKyBbcmVOLCBy
ZVAsIHJlUCwgcmVOXSArICJcXCkkIik7CisKK3ZhciBuYW1lZCA9IHsKKyAgYWxpY2VibHVlOiAw
eGYwZjhmZiwKKyAgYW50aXF1ZXdoaXRlOiAweGZhZWJkNywKKyAgYXF1YTogMHgwMGZmZmYsCisg
IGFxdWFtYXJpbmU6IDB4N2ZmZmQ0LAorICBhenVyZTogMHhmMGZmZmYsCisgIGJlaWdlOiAweGY1
ZjVkYywKKyAgYmlzcXVlOiAweGZmZTRjNCwKKyAgYmxhY2s6IDB4MDAwMDAwLAorICBibGFuY2hl
ZGFsbW9uZDogMHhmZmViY2QsCisgIGJsdWU6IDB4MDAwMGZmLAorICBibHVldmlvbGV0OiAweDhh
MmJlMiwKKyAgYnJvd246IDB4YTUyYTJhLAorICBidXJseXdvb2Q6IDB4ZGViODg3LAorICBjYWRl
dGJsdWU6IDB4NWY5ZWEwLAorICBjaGFydHJldXNlOiAweDdmZmYwMCwKKyAgY2hvY29sYXRlOiAw
eGQyNjkxZSwKKyAgY29yYWw6IDB4ZmY3ZjUwLAorICBjb3JuZmxvd2VyYmx1ZTogMHg2NDk1ZWQs
CisgIGNvcm5zaWxrOiAweGZmZjhkYywKKyAgY3JpbXNvbjogMHhkYzE0M2MsCisgIGN5YW46IDB4
MDBmZmZmLAorICBkYXJrYmx1ZTogMHgwMDAwOGIsCisgIGRhcmtjeWFuOiAweDAwOGI4YiwKKyAg
ZGFya2dvbGRlbnJvZDogMHhiODg2MGIsCisgIGRhcmtncmF5OiAweGE5YTlhOSwKKyAgZGFya2dy
ZWVuOiAweDAwNjQwMCwKKyAgZGFya2dyZXk6IDB4YTlhOWE5LAorICBkYXJra2hha2k6IDB4YmRi
NzZiLAorICBkYXJrbWFnZW50YTogMHg4YjAwOGIsCisgIGRhcmtvbGl2ZWdyZWVuOiAweDU1NmIy
ZiwKKyAgZGFya29yYW5nZTogMHhmZjhjMDAsCisgIGRhcmtvcmNoaWQ6IDB4OTkzMmNjLAorICBk
YXJrcmVkOiAweDhiMDAwMCwKKyAgZGFya3NhbG1vbjogMHhlOTk2N2EsCisgIGRhcmtzZWFncmVl
bjogMHg4ZmJjOGYsCisgIGRhcmtzbGF0ZWJsdWU6IDB4NDgzZDhiLAorICBkYXJrc2xhdGVncmF5
OiAweDJmNGY0ZiwKKyAgZGFya3NsYXRlZ3JleTogMHgyZjRmNGYsCisgIGRhcmt0dXJxdW9pc2U6
IDB4MDBjZWQxLAorICBkYXJrdmlvbGV0OiAweDk0MDBkMywKKyAgZGVlcHBpbms6IDB4ZmYxNDkz
LAorICBkZWVwc2t5Ymx1ZTogMHgwMGJmZmYsCisgIGRpbWdyYXk6IDB4Njk2OTY5LAorICBkaW1n
cmV5OiAweDY5Njk2OSwKKyAgZG9kZ2VyYmx1ZTogMHgxZTkwZmYsCisgIGZpcmVicmljazogMHhi
MjIyMjIsCisgIGZsb3JhbHdoaXRlOiAweGZmZmFmMCwKKyAgZm9yZXN0Z3JlZW46IDB4MjI4YjIy
LAorICBmdWNoc2lhOiAweGZmMDBmZiwKKyAgZ2FpbnNib3JvOiAweGRjZGNkYywKKyAgZ2hvc3R3
aGl0ZTogMHhmOGY4ZmYsCisgIGdvbGQ6IDB4ZmZkNzAwLAorICBnb2xkZW5yb2Q6IDB4ZGFhNTIw
LAorICBncmF5OiAweDgwODA4MCwKKyAgZ3JlZW46IDB4MDA4MDAwLAorICBncmVlbnllbGxvdzog
MHhhZGZmMmYsCisgIGdyZXk6IDB4ODA4MDgwLAorICBob25leWRldzogMHhmMGZmZjAsCisgIGhv
dHBpbms6IDB4ZmY2OWI0LAorICBpbmRpYW5yZWQ6IDB4Y2Q1YzVjLAorICBpbmRpZ286IDB4NGIw
MDgyLAorICBpdm9yeTogMHhmZmZmZjAsCisgIGtoYWtpOiAweGYwZTY4YywKKyAgbGF2ZW5kZXI6
IDB4ZTZlNmZhLAorICBsYXZlbmRlcmJsdXNoOiAweGZmZjBmNSwKKyAgbGF3bmdyZWVuOiAweDdj
ZmMwMCwKKyAgbGVtb25jaGlmZm9uOiAweGZmZmFjZCwKKyAgbGlnaHRibHVlOiAweGFkZDhlNiwK
KyAgbGlnaHRjb3JhbDogMHhmMDgwODAsCisgIGxpZ2h0Y3lhbjogMHhlMGZmZmYsCisgIGxpZ2h0
Z29sZGVucm9keWVsbG93OiAweGZhZmFkMiwKKyAgbGlnaHRncmF5OiAweGQzZDNkMywKKyAgbGln
aHRncmVlbjogMHg5MGVlOTAsCisgIGxpZ2h0Z3JleTogMHhkM2QzZDMsCisgIGxpZ2h0cGluazog
MHhmZmI2YzEsCisgIGxpZ2h0c2FsbW9uOiAweGZmYTA3YSwKKyAgbGlnaHRzZWFncmVlbjogMHgy
MGIyYWEsCisgIGxpZ2h0c2t5Ymx1ZTogMHg4N2NlZmEsCisgIGxpZ2h0c2xhdGVncmF5OiAweDc3
ODg5OSwKKyAgbGlnaHRzbGF0ZWdyZXk6IDB4Nzc4ODk5LAorICBsaWdodHN0ZWVsYmx1ZTogMHhi
MGM0ZGUsCisgIGxpZ2h0eWVsbG93OiAweGZmZmZlMCwKKyAgbGltZTogMHgwMGZmMDAsCisgIGxp
bWVncmVlbjogMHgzMmNkMzIsCisgIGxpbmVuOiAweGZhZjBlNiwKKyAgbWFnZW50YTogMHhmZjAw
ZmYsCisgIG1hcm9vbjogMHg4MDAwMDAsCisgIG1lZGl1bWFxdWFtYXJpbmU6IDB4NjZjZGFhLAor
ICBtZWRpdW1ibHVlOiAweDAwMDBjZCwKKyAgbWVkaXVtb3JjaGlkOiAweGJhNTVkMywKKyAgbWVk
aXVtcHVycGxlOiAweDkzNzBkYiwKKyAgbWVkaXVtc2VhZ3JlZW46IDB4M2NiMzcxLAorICBtZWRp
dW1zbGF0ZWJsdWU6IDB4N2I2OGVlLAorICBtZWRpdW1zcHJpbmdncmVlbjogMHgwMGZhOWEsCisg
IG1lZGl1bXR1cnF1b2lzZTogMHg0OGQxY2MsCisgIG1lZGl1bXZpb2xldHJlZDogMHhjNzE1ODUs
CisgIG1pZG5pZ2h0Ymx1ZTogMHgxOTE5NzAsCisgIG1pbnRjcmVhbTogMHhmNWZmZmEsCisgIG1p
c3R5cm9zZTogMHhmZmU0ZTEsCisgIG1vY2Nhc2luOiAweGZmZTRiNSwKKyAgbmF2YWpvd2hpdGU6
IDB4ZmZkZWFkLAorICBuYXZ5OiAweDAwMDA4MCwKKyAgb2xkbGFjZTogMHhmZGY1ZTYsCisgIG9s
aXZlOiAweDgwODAwMCwKKyAgb2xpdmVkcmFiOiAweDZiOGUyMywKKyAgb3JhbmdlOiAweGZmYTUw
MCwKKyAgb3JhbmdlcmVkOiAweGZmNDUwMCwKKyAgb3JjaGlkOiAweGRhNzBkNiwKKyAgcGFsZWdv
bGRlbnJvZDogMHhlZWU4YWEsCisgIHBhbGVncmVlbjogMHg5OGZiOTgsCisgIHBhbGV0dXJxdW9p
c2U6IDB4YWZlZWVlLAorICBwYWxldmlvbGV0cmVkOiAweGRiNzA5MywKKyAgcGFwYXlhd2hpcDog
MHhmZmVmZDUsCisgIHBlYWNocHVmZjogMHhmZmRhYjksCisgIHBlcnU6IDB4Y2Q4NTNmLAorICBw
aW5rOiAweGZmYzBjYiwKKyAgcGx1bTogMHhkZGEwZGQsCisgIHBvd2RlcmJsdWU6IDB4YjBlMGU2
LAorICBwdXJwbGU6IDB4ODAwMDgwLAorICByZWJlY2NhcHVycGxlOiAweDY2MzM5OSwKKyAgcmVk
OiAweGZmMDAwMCwKKyAgcm9zeWJyb3duOiAweGJjOGY4ZiwKKyAgcm95YWxibHVlOiAweDQxNjll
MSwKKyAgc2FkZGxlYnJvd246IDB4OGI0NTEzLAorICBzYWxtb246IDB4ZmE4MDcyLAorICBzYW5k
eWJyb3duOiAweGY0YTQ2MCwKKyAgc2VhZ3JlZW46IDB4MmU4YjU3LAorICBzZWFzaGVsbDogMHhm
ZmY1ZWUsCisgIHNpZW5uYTogMHhhMDUyMmQsCisgIHNpbHZlcjogMHhjMGMwYzAsCisgIHNreWJs
dWU6IDB4ODdjZWViLAorICBzbGF0ZWJsdWU6IDB4NmE1YWNkLAorICBzbGF0ZWdyYXk6IDB4NzA4
MDkwLAorICBzbGF0ZWdyZXk6IDB4NzA4MDkwLAorICBzbm93OiAweGZmZmFmYSwKKyAgc3ByaW5n
Z3JlZW46IDB4MDBmZjdmLAorICBzdGVlbGJsdWU6IDB4NDY4MmI0LAorICB0YW46IDB4ZDJiNDhj
LAorICB0ZWFsOiAweDAwODA4MCwKKyAgdGhpc3RsZTogMHhkOGJmZDgsCisgIHRvbWF0bzogMHhm
ZjYzNDcsCisgIHR1cnF1b2lzZTogMHg0MGUwZDAsCisgIHZpb2xldDogMHhlZTgyZWUsCisgIHdo
ZWF0OiAweGY1ZGViMywKKyAgd2hpdGU6IDB4ZmZmZmZmLAorICB3aGl0ZXNtb2tlOiAweGY1ZjVm
NSwKKyAgeWVsbG93OiAweGZmZmYwMCwKKyAgeWVsbG93Z3JlZW46IDB4OWFjZDMyCit9OworCitk
ZWZpbmUoQ29sb3IsIGNvbG9yLCB7CisgIGNvcHk6IGZ1bmN0aW9uKGNoYW5uZWxzKSB7CisgICAg
cmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IHRoaXMuY29uc3RydWN0b3IsIHRoaXMsIGNoYW5uZWxz
KTsKKyAgfSwKKyAgZGlzcGxheWFibGU6IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0aGlzLnJn
YigpLmRpc3BsYXlhYmxlKCk7CisgIH0sCisgIGhleDogY29sb3JfZm9ybWF0SGV4LCAvLyBEZXBy
ZWNhdGVkISBVc2UgY29sb3IuZm9ybWF0SGV4LgorICBmb3JtYXRIZXg6IGNvbG9yX2Zvcm1hdEhl
eCwKKyAgZm9ybWF0SHNsOiBjb2xvcl9mb3JtYXRIc2wsCisgIGZvcm1hdFJnYjogY29sb3JfZm9y
bWF0UmdiLAorICB0b1N0cmluZzogY29sb3JfZm9ybWF0UmdiCit9KTsKKworZnVuY3Rpb24gY29s
b3JfZm9ybWF0SGV4KCkgeworICByZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRIZXgoKTsKK30KKwor
ZnVuY3Rpb24gY29sb3JfZm9ybWF0SHNsKCkgeworICByZXR1cm4gaHNsQ29udmVydCh0aGlzKS5m
b3JtYXRIc2woKTsKK30KKworZnVuY3Rpb24gY29sb3JfZm9ybWF0UmdiKCkgeworICByZXR1cm4g
dGhpcy5yZ2IoKS5mb3JtYXRSZ2IoKTsKK30KKworZnVuY3Rpb24gY29sb3IoZm9ybWF0KSB7Cisg
IHZhciBtLCBsOworICBmb3JtYXQgPSAoZm9ybWF0ICsgIiIpLnRyaW0oKS50b0xvd2VyQ2FzZSgp
OworICByZXR1cm4gKG0gPSByZUhleC5leGVjKGZvcm1hdCkpID8gKGwgPSBtWzFdLmxlbmd0aCwg
bSA9IHBhcnNlSW50KG1bMV0sIDE2KSwgbCA9PT0gNiA/IHJnYm4obSkgLy8gI2ZmMDAwMAorICAg
ICAgOiBsID09PSAzID8gbmV3IFJnYigobSA+PiA4ICYgMHhmKSB8IChtID4+IDQgJiAweGYwKSwg
KG0gPj4gNCAmIDB4ZikgfCAobSAmIDB4ZjApLCAoKG0gJiAweGYpIDw8IDQpIHwgKG0gJiAweGYp
LCAxKSAvLyAjZjAwCisgICAgICA6IGwgPT09IDggPyBuZXcgUmdiKG0gPj4gMjQgJiAweGZmLCBt
ID4+IDE2ICYgMHhmZiwgbSA+PiA4ICYgMHhmZiwgKG0gJiAweGZmKSAvIDB4ZmYpIC8vICNmZjAw
MDAwMAorICAgICAgOiBsID09PSA0ID8gbmV3IFJnYigobSA+PiAxMiAmIDB4ZikgfCAobSA+PiA4
ICYgMHhmMCksIChtID4+IDggJiAweGYpIHwgKG0gPj4gNCAmIDB4ZjApLCAobSA+PiA0ICYgMHhm
KSB8IChtICYgMHhmMCksICgoKG0gJiAweGYpIDw8IDQpIHwgKG0gJiAweGYpKSAvIDB4ZmYpIC8v
ICNmMDAwCisgICAgICA6IG51bGwpIC8vIGludmFsaWQgaGV4CisgICAgICA6IChtID0gcmVSZ2JJ
bnRlZ2VyLmV4ZWMoZm9ybWF0KSkgPyBuZXcgUmdiKG1bMV0sIG1bMl0sIG1bM10sIDEpIC8vIHJn
YigyNTUsIDAsIDApCisgICAgICA6IChtID0gcmVSZ2JQZXJjZW50LmV4ZWMoZm9ybWF0KSkgPyBu
ZXcgUmdiKG1bMV0gKiAyNTUgLyAxMDAsIG1bMl0gKiAyNTUgLyAxMDAsIG1bM10gKiAyNTUgLyAx
MDAsIDEpIC8vIHJnYigxMDAlLCAwJSwgMCUpCisgICAgICA6IChtID0gcmVSZ2JhSW50ZWdlci5l
eGVjKGZvcm1hdCkpID8gcmdiYShtWzFdLCBtWzJdLCBtWzNdLCBtWzRdKSAvLyByZ2JhKDI1NSwg
MCwgMCwgMSkKKyAgICAgIDogKG0gPSByZVJnYmFQZXJjZW50LmV4ZWMoZm9ybWF0KSkgPyByZ2Jh
KG1bMV0gKiAyNTUgLyAxMDAsIG1bMl0gKiAyNTUgLyAxMDAsIG1bM10gKiAyNTUgLyAxMDAsIG1b
NF0pIC8vIHJnYigxMDAlLCAwJSwgMCUsIDEpCisgICAgICA6IChtID0gcmVIc2xQZXJjZW50LmV4
ZWMoZm9ybWF0KSkgPyBoc2xhKG1bMV0sIG1bMl0gLyAxMDAsIG1bM10gLyAxMDAsIDEpIC8vIGhz
bCgxMjAsIDUwJSwgNTAlKQorICAgICAgOiAobSA9IHJlSHNsYVBlcmNlbnQuZXhlYyhmb3JtYXQp
KSA/IGhzbGEobVsxXSwgbVsyXSAvIDEwMCwgbVszXSAvIDEwMCwgbVs0XSkgLy8gaHNsYSgxMjAs
IDUwJSwgNTAlLCAxKQorICAgICAgOiBuYW1lZC5oYXNPd25Qcm9wZXJ0eShmb3JtYXQpID8gcmdi
bihuYW1lZFtmb3JtYXRdKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXByb3RvdHlwZS1idWls
dGlucworICAgICAgOiBmb3JtYXQgPT09ICJ0cmFuc3BhcmVudCIgPyBuZXcgUmdiKE5hTiwgTmFO
LCBOYU4sIDApCisgICAgICA6IG51bGw7Cit9CisKK2Z1bmN0aW9uIHJnYm4obikgeworICByZXR1
cm4gbmV3IFJnYihuID4+IDE2ICYgMHhmZiwgbiA+PiA4ICYgMHhmZiwgbiAmIDB4ZmYsIDEpOwor
fQorCitmdW5jdGlvbiByZ2JhKHIsIGcsIGIsIGEpIHsKKyAgaWYgKGEgPD0gMCkgciA9IGcgPSBi
ID0gTmFOOworICByZXR1cm4gbmV3IFJnYihyLCBnLCBiLCBhKTsKK30KKworZnVuY3Rpb24gcmdi
Q29udmVydChvKSB7CisgIGlmICghKG8gaW5zdGFuY2VvZiBDb2xvcikpIG8gPSBjb2xvcihvKTsK
KyAgaWYgKCFvKSByZXR1cm4gbmV3IFJnYjsKKyAgbyA9IG8ucmdiKCk7CisgIHJldHVybiBuZXcg
UmdiKG8uciwgby5nLCBvLmIsIG8ub3BhY2l0eSk7Cit9CisKK2Z1bmN0aW9uIHJnYihyLCBnLCBi
LCBvcGFjaXR5KSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID09PSAxID8gcmdiQ29udmVy
dChyKSA6IG5ldyBSZ2IociwgZywgYiwgb3BhY2l0eSA9PSBudWxsID8gMSA6IG9wYWNpdHkpOwor
fQorCitmdW5jdGlvbiBSZ2IociwgZywgYiwgb3BhY2l0eSkgeworICB0aGlzLnIgPSArcjsKKyAg
dGhpcy5nID0gK2c7CisgIHRoaXMuYiA9ICtiOworICB0aGlzLm9wYWNpdHkgPSArb3BhY2l0eTsK
K30KKworZGVmaW5lKFJnYiwgcmdiLCBleHRlbmQoQ29sb3IsIHsKKyAgYnJpZ2h0ZXI6IGZ1bmN0
aW9uKGspIHsKKyAgICBrID0gayA9PSBudWxsID8gYnJpZ2h0ZXIgOiBNYXRoLnBvdyhicmlnaHRl
ciwgayk7CisgICAgcmV0dXJuIG5ldyBSZ2IodGhpcy5yICogaywgdGhpcy5nICogaywgdGhpcy5i
ICogaywgdGhpcy5vcGFjaXR5KTsKKyAgfSwKKyAgZGFya2VyOiBmdW5jdGlvbihrKSB7CisgICAg
ayA9IGsgPT0gbnVsbCA/IGRhcmtlciA6IE1hdGgucG93KGRhcmtlciwgayk7CisgICAgcmV0dXJu
IG5ldyBSZ2IodGhpcy5yICogaywgdGhpcy5nICogaywgdGhpcy5iICogaywgdGhpcy5vcGFjaXR5
KTsKKyAgfSwKKyAgcmdiOiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gdGhpczsKKyAgfSwKKyAg
ZGlzcGxheWFibGU6IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiAoLTAuNSA8PSB0aGlzLnIgJiYg
dGhpcy5yIDwgMjU1LjUpCisgICAgICAgICYmICgtMC41IDw9IHRoaXMuZyAmJiB0aGlzLmcgPCAy
NTUuNSkKKyAgICAgICAgJiYgKC0wLjUgPD0gdGhpcy5iICYmIHRoaXMuYiA8IDI1NS41KQorICAg
ICAgICAmJiAoMCA8PSB0aGlzLm9wYWNpdHkgJiYgdGhpcy5vcGFjaXR5IDw9IDEpOworICB9LAor
ICBoZXg6IHJnYl9mb3JtYXRIZXgsIC8vIERlcHJlY2F0ZWQhIFVzZSBjb2xvci5mb3JtYXRIZXgu
CisgIGZvcm1hdEhleDogcmdiX2Zvcm1hdEhleCwKKyAgZm9ybWF0UmdiOiByZ2JfZm9ybWF0Umdi
LAorICB0b1N0cmluZzogcmdiX2Zvcm1hdFJnYgorfSkpOworCitmdW5jdGlvbiByZ2JfZm9ybWF0
SGV4KCkgeworICByZXR1cm4gIiMiICsgaGV4KHRoaXMucikgKyBoZXgodGhpcy5nKSArIGhleCh0
aGlzLmIpOworfQorCitmdW5jdGlvbiByZ2JfZm9ybWF0UmdiKCkgeworICB2YXIgYSA9IHRoaXMu
b3BhY2l0eTsgYSA9IGlzTmFOKGEpID8gMSA6IE1hdGgubWF4KDAsIE1hdGgubWluKDEsIGEpKTsK
KyAgcmV0dXJuIChhID09PSAxID8gInJnYigiIDogInJnYmEoIikKKyAgICAgICsgTWF0aC5tYXgo
MCwgTWF0aC5taW4oMjU1LCBNYXRoLnJvdW5kKHRoaXMucikgfHwgMCkpICsgIiwgIgorICAgICAg
KyBNYXRoLm1heCgwLCBNYXRoLm1pbigyNTUsIE1hdGgucm91bmQodGhpcy5nKSB8fCAwKSkgKyAi
LCAiCisgICAgICArIE1hdGgubWF4KDAsIE1hdGgubWluKDI1NSwgTWF0aC5yb3VuZCh0aGlzLmIp
IHx8IDApKQorICAgICAgKyAoYSA9PT0gMSA/ICIpIiA6ICIsICIgKyBhICsgIikiKTsKK30KKwor
ZnVuY3Rpb24gaGV4KHZhbHVlKSB7CisgIHZhbHVlID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMjU1
LCBNYXRoLnJvdW5kKHZhbHVlKSB8fCAwKSk7CisgIHJldHVybiAodmFsdWUgPCAxNiA/ICIwIiA6
ICIiKSArIHZhbHVlLnRvU3RyaW5nKDE2KTsKK30KKworZnVuY3Rpb24gaHNsYShoLCBzLCBsLCBh
KSB7CisgIGlmIChhIDw9IDApIGggPSBzID0gbCA9IE5hTjsKKyAgZWxzZSBpZiAobCA8PSAwIHx8
IGwgPj0gMSkgaCA9IHMgPSBOYU47CisgIGVsc2UgaWYgKHMgPD0gMCkgaCA9IE5hTjsKKyAgcmV0
dXJuIG5ldyBIc2woaCwgcywgbCwgYSk7Cit9CisKK2Z1bmN0aW9uIGhzbENvbnZlcnQobykgewor
ICBpZiAobyBpbnN0YW5jZW9mIEhzbCkgcmV0dXJuIG5ldyBIc2woby5oLCBvLnMsIG8ubCwgby5v
cGFjaXR5KTsKKyAgaWYgKCEobyBpbnN0YW5jZW9mIENvbG9yKSkgbyA9IGNvbG9yKG8pOworICBp
ZiAoIW8pIHJldHVybiBuZXcgSHNsOworICBpZiAobyBpbnN0YW5jZW9mIEhzbCkgcmV0dXJuIG87
CisgIG8gPSBvLnJnYigpOworICB2YXIgciA9IG8uciAvIDI1NSwKKyAgICAgIGcgPSBvLmcgLyAy
NTUsCisgICAgICBiID0gby5iIC8gMjU1LAorICAgICAgbWluID0gTWF0aC5taW4ociwgZywgYiks
CisgICAgICBtYXggPSBNYXRoLm1heChyLCBnLCBiKSwKKyAgICAgIGggPSBOYU4sCisgICAgICBz
ID0gbWF4IC0gbWluLAorICAgICAgbCA9IChtYXggKyBtaW4pIC8gMjsKKyAgaWYgKHMpIHsKKyAg
ICBpZiAociA9PT0gbWF4KSBoID0gKGcgLSBiKSAvIHMgKyAoZyA8IGIpICogNjsKKyAgICBlbHNl
IGlmIChnID09PSBtYXgpIGggPSAoYiAtIHIpIC8gcyArIDI7CisgICAgZWxzZSBoID0gKHIgLSBn
KSAvIHMgKyA0OworICAgIHMgLz0gbCA8IDAuNSA/IG1heCArIG1pbiA6IDIgLSBtYXggLSBtaW47
CisgICAgaCAqPSA2MDsKKyAgfSBlbHNlIHsKKyAgICBzID0gbCA+IDAgJiYgbCA8IDEgPyAwIDog
aDsKKyAgfQorICByZXR1cm4gbmV3IEhzbChoLCBzLCBsLCBvLm9wYWNpdHkpOworfQorCitmdW5j
dGlvbiBoc2woaCwgcywgbCwgb3BhY2l0eSkgeworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA9
PT0gMSA/IGhzbENvbnZlcnQoaCkgOiBuZXcgSHNsKGgsIHMsIGwsIG9wYWNpdHkgPT0gbnVsbCA/
IDEgOiBvcGFjaXR5KTsKK30KKworZnVuY3Rpb24gSHNsKGgsIHMsIGwsIG9wYWNpdHkpIHsKKyAg
dGhpcy5oID0gK2g7CisgIHRoaXMucyA9ICtzOworICB0aGlzLmwgPSArbDsKKyAgdGhpcy5vcGFj
aXR5ID0gK29wYWNpdHk7Cit9CisKK2RlZmluZShIc2wsIGhzbCwgZXh0ZW5kKENvbG9yLCB7Cisg
IGJyaWdodGVyOiBmdW5jdGlvbihrKSB7CisgICAgayA9IGsgPT0gbnVsbCA/IGJyaWdodGVyIDog
TWF0aC5wb3coYnJpZ2h0ZXIsIGspOworICAgIHJldHVybiBuZXcgSHNsKHRoaXMuaCwgdGhpcy5z
LCB0aGlzLmwgKiBrLCB0aGlzLm9wYWNpdHkpOworICB9LAorICBkYXJrZXI6IGZ1bmN0aW9uKGsp
IHsKKyAgICBrID0gayA9PSBudWxsID8gZGFya2VyIDogTWF0aC5wb3coZGFya2VyLCBrKTsKKyAg
ICByZXR1cm4gbmV3IEhzbCh0aGlzLmgsIHRoaXMucywgdGhpcy5sICogaywgdGhpcy5vcGFjaXR5
KTsKKyAgfSwKKyAgcmdiOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgaCA9IHRoaXMuaCAlIDM2MCAr
ICh0aGlzLmggPCAwKSAqIDM2MCwKKyAgICAgICAgcyA9IGlzTmFOKGgpIHx8IGlzTmFOKHRoaXMu
cykgPyAwIDogdGhpcy5zLAorICAgICAgICBsID0gdGhpcy5sLAorICAgICAgICBtMiA9IGwgKyAo
bCA8IDAuNSA/IGwgOiAxIC0gbCkgKiBzLAorICAgICAgICBtMSA9IDIgKiBsIC0gbTI7CisgICAg
cmV0dXJuIG5ldyBSZ2IoCisgICAgICBoc2wycmdiKGggPj0gMjQwID8gaCAtIDI0MCA6IGggKyAx
MjAsIG0xLCBtMiksCisgICAgICBoc2wycmdiKGgsIG0xLCBtMiksCisgICAgICBoc2wycmdiKGgg
PCAxMjAgPyBoICsgMjQwIDogaCAtIDEyMCwgbTEsIG0yKSwKKyAgICAgIHRoaXMub3BhY2l0eQor
ICAgICk7CisgIH0sCisgIGRpc3BsYXlhYmxlOiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gKDAg
PD0gdGhpcy5zICYmIHRoaXMucyA8PSAxIHx8IGlzTmFOKHRoaXMucykpCisgICAgICAgICYmICgw
IDw9IHRoaXMubCAmJiB0aGlzLmwgPD0gMSkKKyAgICAgICAgJiYgKDAgPD0gdGhpcy5vcGFjaXR5
ICYmIHRoaXMub3BhY2l0eSA8PSAxKTsKKyAgfSwKKyAgZm9ybWF0SHNsOiBmdW5jdGlvbigpIHsK
KyAgICB2YXIgYSA9IHRoaXMub3BhY2l0eTsgYSA9IGlzTmFOKGEpID8gMSA6IE1hdGgubWF4KDAs
IE1hdGgubWluKDEsIGEpKTsKKyAgICByZXR1cm4gKGEgPT09IDEgPyAiaHNsKCIgOiAiaHNsYSgi
KQorICAgICAgICArICh0aGlzLmggfHwgMCkgKyAiLCAiCisgICAgICAgICsgKHRoaXMucyB8fCAw
KSAqIDEwMCArICIlLCAiCisgICAgICAgICsgKHRoaXMubCB8fCAwKSAqIDEwMCArICIlIgorICAg
ICAgICArIChhID09PSAxID8gIikiIDogIiwgIiArIGEgKyAiKSIpOworICB9Cit9KSk7CisKKy8q
IEZyb20gRnZEIDEzLjM3LCBDU1MgQ29sb3IgTW9kdWxlIExldmVsIDMgKi8KK2Z1bmN0aW9uIGhz
bDJyZ2IoaCwgbTEsIG0yKSB7CisgIHJldHVybiAoaCA8IDYwID8gbTEgKyAobTIgLSBtMSkgKiBo
IC8gNjAKKyAgICAgIDogaCA8IDE4MCA/IG0yCisgICAgICA6IGggPCAyNDAgPyBtMSArIChtMiAt
IG0xKSAqICgyNDAgLSBoKSAvIDYwCisgICAgICA6IG0xKSAqIDI1NTsKK30KKwordmFyIGRlZzJy
YWQgPSBNYXRoLlBJIC8gMTgwOwordmFyIHJhZDJkZWcgPSAxODAgLyBNYXRoLlBJOworCisvLyBo
dHRwczovL29ic2VydmFibGVocS5jb20vQG1ib3N0b2NrL2xhYi1hbmQtcmdiCit2YXIgSyA9IDE4
LAorICAgIFhuID0gMC45NjQyMiwKKyAgICBZbiA9IDEsCisgICAgWm4gPSAwLjgyNTIxLAorICAg
IHQwID0gNCAvIDI5LAorICAgIHQxID0gNiAvIDI5LAorICAgIHQyID0gMyAqIHQxICogdDEsCisg
ICAgdDMgPSB0MSAqIHQxICogdDE7CisKK2Z1bmN0aW9uIGxhYkNvbnZlcnQobykgeworICBpZiAo
byBpbnN0YW5jZW9mIExhYikgcmV0dXJuIG5ldyBMYWIoby5sLCBvLmEsIG8uYiwgby5vcGFjaXR5
KTsKKyAgaWYgKG8gaW5zdGFuY2VvZiBIY2wpIHJldHVybiBoY2wybGFiKG8pOworICBpZiAoIShv
IGluc3RhbmNlb2YgUmdiKSkgbyA9IHJnYkNvbnZlcnQobyk7CisgIHZhciByID0gcmdiMmxyZ2Io
by5yKSwKKyAgICAgIGcgPSByZ2IybHJnYihvLmcpLAorICAgICAgYiA9IHJnYjJscmdiKG8uYiks
CisgICAgICB5ID0geHl6MmxhYigoMC4yMjI1MDQ1ICogciArIDAuNzE2ODc4NiAqIGcgKyAwLjA2
MDYxNjkgKiBiKSAvIFluKSwgeCwgejsKKyAgaWYgKHIgPT09IGcgJiYgZyA9PT0gYikgeCA9IHog
PSB5OyBlbHNlIHsKKyAgICB4ID0geHl6MmxhYigoMC40MzYwNzQ3ICogciArIDAuMzg1MDY0OSAq
IGcgKyAwLjE0MzA4MDQgKiBiKSAvIFhuKTsKKyAgICB6ID0geHl6MmxhYigoMC4wMTM5MzIyICog
ciArIDAuMDk3MTA0NSAqIGcgKyAwLjcxNDE3MzMgKiBiKSAvIFpuKTsKKyAgfQorICByZXR1cm4g
bmV3IExhYigxMTYgKiB5IC0gMTYsIDUwMCAqICh4IC0geSksIDIwMCAqICh5IC0geiksIG8ub3Bh
Y2l0eSk7Cit9CisKK2Z1bmN0aW9uIGdyYXkobCwgb3BhY2l0eSkgeworICByZXR1cm4gbmV3IExh
YihsLCAwLCAwLCBvcGFjaXR5ID09IG51bGwgPyAxIDogb3BhY2l0eSk7Cit9CisKK2Z1bmN0aW9u
IGxhYihsLCBhLCBiLCBvcGFjaXR5KSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID09PSAx
ID8gbGFiQ29udmVydChsKSA6IG5ldyBMYWIobCwgYSwgYiwgb3BhY2l0eSA9PSBudWxsID8gMSA6
IG9wYWNpdHkpOworfQorCitmdW5jdGlvbiBMYWIobCwgYSwgYiwgb3BhY2l0eSkgeworICB0aGlz
LmwgPSArbDsKKyAgdGhpcy5hID0gK2E7CisgIHRoaXMuYiA9ICtiOworICB0aGlzLm9wYWNpdHkg
PSArb3BhY2l0eTsKK30KKworZGVmaW5lKExhYiwgbGFiLCBleHRlbmQoQ29sb3IsIHsKKyAgYnJp
Z2h0ZXI6IGZ1bmN0aW9uKGspIHsKKyAgICByZXR1cm4gbmV3IExhYih0aGlzLmwgKyBLICogKGsg
PT0gbnVsbCA/IDEgOiBrKSwgdGhpcy5hLCB0aGlzLmIsIHRoaXMub3BhY2l0eSk7CisgIH0sCisg
IGRhcmtlcjogZnVuY3Rpb24oaykgeworICAgIHJldHVybiBuZXcgTGFiKHRoaXMubCAtIEsgKiAo
ayA9PSBudWxsID8gMSA6IGspLCB0aGlzLmEsIHRoaXMuYiwgdGhpcy5vcGFjaXR5KTsKKyAgfSwK
KyAgcmdiOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgeSA9ICh0aGlzLmwgKyAxNikgLyAxMTYsCisg
ICAgICAgIHggPSBpc05hTih0aGlzLmEpID8geSA6IHkgKyB0aGlzLmEgLyA1MDAsCisgICAgICAg
IHogPSBpc05hTih0aGlzLmIpID8geSA6IHkgLSB0aGlzLmIgLyAyMDA7CisgICAgeCA9IFhuICog
bGFiMnh5eih4KTsKKyAgICB5ID0gWW4gKiBsYWIyeHl6KHkpOworICAgIHogPSBabiAqIGxhYjJ4
eXooeik7CisgICAgcmV0dXJuIG5ldyBSZ2IoCisgICAgICBscmdiMnJnYiggMy4xMzM4NTYxICog
eCAtIDEuNjE2ODY2NyAqIHkgLSAwLjQ5MDYxNDYgKiB6KSwKKyAgICAgIGxyZ2IycmdiKC0wLjk3
ODc2ODQgKiB4ICsgMS45MTYxNDE1ICogeSArIDAuMDMzNDU0MCAqIHopLAorICAgICAgbHJnYjJy
Z2IoIDAuMDcxOTQ1MyAqIHggLSAwLjIyODk5MTQgKiB5ICsgMS40MDUyNDI3ICogeiksCisgICAg
ICB0aGlzLm9wYWNpdHkKKyAgICApOworICB9Cit9KSk7CisKK2Z1bmN0aW9uIHh5ejJsYWIodCkg
eworICByZXR1cm4gdCA+IHQzID8gTWF0aC5wb3codCwgMSAvIDMpIDogdCAvIHQyICsgdDA7Cit9
CisKK2Z1bmN0aW9uIGxhYjJ4eXoodCkgeworICByZXR1cm4gdCA+IHQxID8gdCAqIHQgKiB0IDog
dDIgKiAodCAtIHQwKTsKK30KKworZnVuY3Rpb24gbHJnYjJyZ2IoeCkgeworICByZXR1cm4gMjU1
ICogKHggPD0gMC4wMDMxMzA4ID8gMTIuOTIgKiB4IDogMS4wNTUgKiBNYXRoLnBvdyh4LCAxIC8g
Mi40KSAtIDAuMDU1KTsKK30KKworZnVuY3Rpb24gcmdiMmxyZ2IoeCkgeworICByZXR1cm4gKHgg
Lz0gMjU1KSA8PSAwLjA0MDQ1ID8geCAvIDEyLjkyIDogTWF0aC5wb3coKHggKyAwLjA1NSkgLyAx
LjA1NSwgMi40KTsKK30KKworZnVuY3Rpb24gaGNsQ29udmVydChvKSB7CisgIGlmIChvIGluc3Rh
bmNlb2YgSGNsKSByZXR1cm4gbmV3IEhjbChvLmgsIG8uYywgby5sLCBvLm9wYWNpdHkpOworICBp
ZiAoIShvIGluc3RhbmNlb2YgTGFiKSkgbyA9IGxhYkNvbnZlcnQobyk7CisgIGlmIChvLmEgPT09
IDAgJiYgby5iID09PSAwKSByZXR1cm4gbmV3IEhjbChOYU4sIDAgPCBvLmwgJiYgby5sIDwgMTAw
ID8gMCA6IE5hTiwgby5sLCBvLm9wYWNpdHkpOworICB2YXIgaCA9IE1hdGguYXRhbjIoby5iLCBv
LmEpICogcmFkMmRlZzsKKyAgcmV0dXJuIG5ldyBIY2woaCA8IDAgPyBoICsgMzYwIDogaCwgTWF0
aC5zcXJ0KG8uYSAqIG8uYSArIG8uYiAqIG8uYiksIG8ubCwgby5vcGFjaXR5KTsKK30KKworZnVu
Y3Rpb24gbGNoKGwsIGMsIGgsIG9wYWNpdHkpIHsKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PT09IDEgPyBoY2xDb252ZXJ0KGwpIDogbmV3IEhjbChoLCBjLCBsLCBvcGFjaXR5ID09IG51bGwg
PyAxIDogb3BhY2l0eSk7Cit9CisKK2Z1bmN0aW9uIGhjbChoLCBjLCBsLCBvcGFjaXR5KSB7Cisg
IHJldHVybiBhcmd1bWVudHMubGVuZ3RoID09PSAxID8gaGNsQ29udmVydChoKSA6IG5ldyBIY2wo
aCwgYywgbCwgb3BhY2l0eSA9PSBudWxsID8gMSA6IG9wYWNpdHkpOworfQorCitmdW5jdGlvbiBI
Y2woaCwgYywgbCwgb3BhY2l0eSkgeworICB0aGlzLmggPSAraDsKKyAgdGhpcy5jID0gK2M7Cisg
IHRoaXMubCA9ICtsOworICB0aGlzLm9wYWNpdHkgPSArb3BhY2l0eTsKK30KKworZnVuY3Rpb24g
aGNsMmxhYihvKSB7CisgIGlmIChpc05hTihvLmgpKSByZXR1cm4gbmV3IExhYihvLmwsIDAsIDAs
IG8ub3BhY2l0eSk7CisgIHZhciBoID0gby5oICogZGVnMnJhZDsKKyAgcmV0dXJuIG5ldyBMYWIo
by5sLCBNYXRoLmNvcyhoKSAqIG8uYywgTWF0aC5zaW4oaCkgKiBvLmMsIG8ub3BhY2l0eSk7Cit9
CisKK2RlZmluZShIY2wsIGhjbCwgZXh0ZW5kKENvbG9yLCB7CisgIGJyaWdodGVyOiBmdW5jdGlv
bihrKSB7CisgICAgcmV0dXJuIG5ldyBIY2wodGhpcy5oLCB0aGlzLmMsIHRoaXMubCArIEsgKiAo
ayA9PSBudWxsID8gMSA6IGspLCB0aGlzLm9wYWNpdHkpOworICB9LAorICBkYXJrZXI6IGZ1bmN0
aW9uKGspIHsKKyAgICByZXR1cm4gbmV3IEhjbCh0aGlzLmgsIHRoaXMuYywgdGhpcy5sIC0gSyAq
IChrID09IG51bGwgPyAxIDogayksIHRoaXMub3BhY2l0eSk7CisgIH0sCisgIHJnYjogZnVuY3Rp
b24oKSB7CisgICAgcmV0dXJuIGhjbDJsYWIodGhpcykucmdiKCk7CisgIH0KK30pKTsKKwordmFy
IEEgPSAtMC4xNDg2MSwKKyAgICBCID0gKzEuNzgyNzcsCisgICAgQyA9IC0wLjI5MjI3LAorICAg
IEQgPSAtMC45MDY0OSwKKyAgICBFID0gKzEuOTcyOTQsCisgICAgRUQgPSBFICogRCwKKyAgICBF
QiA9IEUgKiBCLAorICAgIEJDX0RBID0gQiAqIEMgLSBEICogQTsKKworZnVuY3Rpb24gY3ViZWhl
bGl4Q29udmVydChvKSB7CisgIGlmIChvIGluc3RhbmNlb2YgQ3ViZWhlbGl4KSByZXR1cm4gbmV3
IEN1YmVoZWxpeChvLmgsIG8ucywgby5sLCBvLm9wYWNpdHkpOworICBpZiAoIShvIGluc3RhbmNl
b2YgUmdiKSkgbyA9IHJnYkNvbnZlcnQobyk7CisgIHZhciByID0gby5yIC8gMjU1LAorICAgICAg
ZyA9IG8uZyAvIDI1NSwKKyAgICAgIGIgPSBvLmIgLyAyNTUsCisgICAgICBsID0gKEJDX0RBICog
YiArIEVEICogciAtIEVCICogZykgLyAoQkNfREEgKyBFRCAtIEVCKSwKKyAgICAgIGJsID0gYiAt
IGwsCisgICAgICBrID0gKEUgKiAoZyAtIGwpIC0gQyAqIGJsKSAvIEQsCisgICAgICBzID0gTWF0
aC5zcXJ0KGsgKiBrICsgYmwgKiBibCkgLyAoRSAqIGwgKiAoMSAtIGwpKSwgLy8gTmFOIGlmIGw9
MCBvciBsPTEKKyAgICAgIGggPSBzID8gTWF0aC5hdGFuMihrLCBibCkgKiByYWQyZGVnIC0gMTIw
IDogTmFOOworICByZXR1cm4gbmV3IEN1YmVoZWxpeChoIDwgMCA/IGggKyAzNjAgOiBoLCBzLCBs
LCBvLm9wYWNpdHkpOworfQorCitmdW5jdGlvbiBjdWJlaGVsaXgoaCwgcywgbCwgb3BhY2l0eSkg
eworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA9PT0gMSA/IGN1YmVoZWxpeENvbnZlcnQoaCkg
OiBuZXcgQ3ViZWhlbGl4KGgsIHMsIGwsIG9wYWNpdHkgPT0gbnVsbCA/IDEgOiBvcGFjaXR5KTsK
K30KKworZnVuY3Rpb24gQ3ViZWhlbGl4KGgsIHMsIGwsIG9wYWNpdHkpIHsKKyAgdGhpcy5oID0g
K2g7CisgIHRoaXMucyA9ICtzOworICB0aGlzLmwgPSArbDsKKyAgdGhpcy5vcGFjaXR5ID0gK29w
YWNpdHk7Cit9CisKK2RlZmluZShDdWJlaGVsaXgsIGN1YmVoZWxpeCwgZXh0ZW5kKENvbG9yLCB7
CisgIGJyaWdodGVyOiBmdW5jdGlvbihrKSB7CisgICAgayA9IGsgPT0gbnVsbCA/IGJyaWdodGVy
IDogTWF0aC5wb3coYnJpZ2h0ZXIsIGspOworICAgIHJldHVybiBuZXcgQ3ViZWhlbGl4KHRoaXMu
aCwgdGhpcy5zLCB0aGlzLmwgKiBrLCB0aGlzLm9wYWNpdHkpOworICB9LAorICBkYXJrZXI6IGZ1
bmN0aW9uKGspIHsKKyAgICBrID0gayA9PSBudWxsID8gZGFya2VyIDogTWF0aC5wb3coZGFya2Vy
LCBrKTsKKyAgICByZXR1cm4gbmV3IEN1YmVoZWxpeCh0aGlzLmgsIHRoaXMucywgdGhpcy5sICog
aywgdGhpcy5vcGFjaXR5KTsKKyAgfSwKKyAgcmdiOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgaCA9
IGlzTmFOKHRoaXMuaCkgPyAwIDogKHRoaXMuaCArIDEyMCkgKiBkZWcycmFkLAorICAgICAgICBs
ID0gK3RoaXMubCwKKyAgICAgICAgYSA9IGlzTmFOKHRoaXMucykgPyAwIDogdGhpcy5zICogbCAq
ICgxIC0gbCksCisgICAgICAgIGNvc2ggPSBNYXRoLmNvcyhoKSwKKyAgICAgICAgc2luaCA9IE1h
dGguc2luKGgpOworICAgIHJldHVybiBuZXcgUmdiKAorICAgICAgMjU1ICogKGwgKyBhICogKEEg
KiBjb3NoICsgQiAqIHNpbmgpKSwKKyAgICAgIDI1NSAqIChsICsgYSAqIChDICogY29zaCArIEQg
KiBzaW5oKSksCisgICAgICAyNTUgKiAobCArIGEgKiAoRSAqIGNvc2gpKSwKKyAgICAgIHRoaXMu
b3BhY2l0eQorICAgICk7CisgIH0KK30pKTsKKworZnVuY3Rpb24gYmFzaXModDEsIHYwLCB2MSwg
djIsIHYzKSB7CisgIHZhciB0MiA9IHQxICogdDEsIHQzID0gdDIgKiB0MTsKKyAgcmV0dXJuICgo
MSAtIDMgKiB0MSArIDMgKiB0MiAtIHQzKSAqIHYwCisgICAgICArICg0IC0gNiAqIHQyICsgMyAq
IHQzKSAqIHYxCisgICAgICArICgxICsgMyAqIHQxICsgMyAqIHQyIC0gMyAqIHQzKSAqIHYyCisg
ICAgICArIHQzICogdjMpIC8gNjsKK30KKworZnVuY3Rpb24gYmFzaXMkMSh2YWx1ZXMpIHsKKyAg
dmFyIG4gPSB2YWx1ZXMubGVuZ3RoIC0gMTsKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICB2
YXIgaSA9IHQgPD0gMCA/ICh0ID0gMCkgOiB0ID49IDEgPyAodCA9IDEsIG4gLSAxKSA6IE1hdGgu
Zmxvb3IodCAqIG4pLAorICAgICAgICB2MSA9IHZhbHVlc1tpXSwKKyAgICAgICAgdjIgPSB2YWx1
ZXNbaSArIDFdLAorICAgICAgICB2MCA9IGkgPiAwID8gdmFsdWVzW2kgLSAxXSA6IDIgKiB2MSAt
IHYyLAorICAgICAgICB2MyA9IGkgPCBuIC0gMSA/IHZhbHVlc1tpICsgMl0gOiAyICogdjIgLSB2
MTsKKyAgICByZXR1cm4gYmFzaXMoKHQgLSBpIC8gbikgKiBuLCB2MCwgdjEsIHYyLCB2Myk7Cisg
IH07Cit9CisKK2Z1bmN0aW9uIGJhc2lzQ2xvc2VkKHZhbHVlcykgeworICB2YXIgbiA9IHZhbHVl
cy5sZW5ndGg7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgdmFyIGkgPSBNYXRoLmZsb29y
KCgodCAlPSAxKSA8IDAgPyArK3QgOiB0KSAqIG4pLAorICAgICAgICB2MCA9IHZhbHVlc1soaSAr
IG4gLSAxKSAlIG5dLAorICAgICAgICB2MSA9IHZhbHVlc1tpICUgbl0sCisgICAgICAgIHYyID0g
dmFsdWVzWyhpICsgMSkgJSBuXSwKKyAgICAgICAgdjMgPSB2YWx1ZXNbKGkgKyAyKSAlIG5dOwor
ICAgIHJldHVybiBiYXNpcygodCAtIGkgLyBuKSAqIG4sIHYwLCB2MSwgdjIsIHYzKTsKKyAgfTsK
K30KKworZnVuY3Rpb24gY29uc3RhbnQkMyh4KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAg
ICByZXR1cm4geDsKKyAgfTsKK30KKworZnVuY3Rpb24gbGluZWFyKGEsIGQpIHsKKyAgcmV0dXJu
IGZ1bmN0aW9uKHQpIHsKKyAgICByZXR1cm4gYSArIHQgKiBkOworICB9OworfQorCitmdW5jdGlv
biBleHBvbmVudGlhbChhLCBiLCB5KSB7CisgIHJldHVybiBhID0gTWF0aC5wb3coYSwgeSksIGIg
PSBNYXRoLnBvdyhiLCB5KSAtIGEsIHkgPSAxIC8geSwgZnVuY3Rpb24odCkgeworICAgIHJldHVy
biBNYXRoLnBvdyhhICsgdCAqIGIsIHkpOworICB9OworfQorCitmdW5jdGlvbiBodWUoYSwgYikg
eworICB2YXIgZCA9IGIgLSBhOworICByZXR1cm4gZCA/IGxpbmVhcihhLCBkID4gMTgwIHx8IGQg
PCAtMTgwID8gZCAtIDM2MCAqIE1hdGgucm91bmQoZCAvIDM2MCkgOiBkKSA6IGNvbnN0YW50JDMo
aXNOYU4oYSkgPyBiIDogYSk7Cit9CisKK2Z1bmN0aW9uIGdhbW1hKHkpIHsKKyAgcmV0dXJuICh5
ID0gK3kpID09PSAxID8gbm9nYW1tYSA6IGZ1bmN0aW9uKGEsIGIpIHsKKyAgICByZXR1cm4gYiAt
IGEgPyBleHBvbmVudGlhbChhLCBiLCB5KSA6IGNvbnN0YW50JDMoaXNOYU4oYSkgPyBiIDogYSk7
CisgIH07Cit9CisKK2Z1bmN0aW9uIG5vZ2FtbWEoYSwgYikgeworICB2YXIgZCA9IGIgLSBhOwor
ICByZXR1cm4gZCA/IGxpbmVhcihhLCBkKSA6IGNvbnN0YW50JDMoaXNOYU4oYSkgPyBiIDogYSk7
Cit9CisKK3ZhciBpbnRlcnBvbGF0ZVJnYiA9IChmdW5jdGlvbiByZ2JHYW1tYSh5KSB7CisgIHZh
ciBjb2xvciA9IGdhbW1hKHkpOworCisgIGZ1bmN0aW9uIHJnYiQxKHN0YXJ0LCBlbmQpIHsKKyAg
ICB2YXIgciA9IGNvbG9yKChzdGFydCA9IHJnYihzdGFydCkpLnIsIChlbmQgPSByZ2IoZW5kKSku
ciksCisgICAgICAgIGcgPSBjb2xvcihzdGFydC5nLCBlbmQuZyksCisgICAgICAgIGIgPSBjb2xv
cihzdGFydC5iLCBlbmQuYiksCisgICAgICAgIG9wYWNpdHkgPSBub2dhbW1hKHN0YXJ0Lm9wYWNp
dHksIGVuZC5vcGFjaXR5KTsKKyAgICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgICAgc3RhcnQu
ciA9IHIodCk7CisgICAgICBzdGFydC5nID0gZyh0KTsKKyAgICAgIHN0YXJ0LmIgPSBiKHQpOwor
ICAgICAgc3RhcnQub3BhY2l0eSA9IG9wYWNpdHkodCk7CisgICAgICByZXR1cm4gc3RhcnQgKyAi
IjsKKyAgICB9OworICB9CisKKyAgcmdiJDEuZ2FtbWEgPSByZ2JHYW1tYTsKKworICByZXR1cm4g
cmdiJDE7Cit9KSgxKTsKKworZnVuY3Rpb24gcmdiU3BsaW5lKHNwbGluZSkgeworICByZXR1cm4g
ZnVuY3Rpb24oY29sb3JzKSB7CisgICAgdmFyIG4gPSBjb2xvcnMubGVuZ3RoLAorICAgICAgICBy
ID0gbmV3IEFycmF5KG4pLAorICAgICAgICBnID0gbmV3IEFycmF5KG4pLAorICAgICAgICBiID0g
bmV3IEFycmF5KG4pLAorICAgICAgICBpLCBjb2xvcjsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsg
KytpKSB7CisgICAgICBjb2xvciA9IHJnYihjb2xvcnNbaV0pOworICAgICAgcltpXSA9IGNvbG9y
LnIgfHwgMDsKKyAgICAgIGdbaV0gPSBjb2xvci5nIHx8IDA7CisgICAgICBiW2ldID0gY29sb3Iu
YiB8fCAwOworICAgIH0KKyAgICByID0gc3BsaW5lKHIpOworICAgIGcgPSBzcGxpbmUoZyk7Cisg
ICAgYiA9IHNwbGluZShiKTsKKyAgICBjb2xvci5vcGFjaXR5ID0gMTsKKyAgICByZXR1cm4gZnVu
Y3Rpb24odCkgeworICAgICAgY29sb3IuciA9IHIodCk7CisgICAgICBjb2xvci5nID0gZyh0KTsK
KyAgICAgIGNvbG9yLmIgPSBiKHQpOworICAgICAgcmV0dXJuIGNvbG9yICsgIiI7CisgICAgfTsK
KyAgfTsKK30KKwordmFyIHJnYkJhc2lzID0gcmdiU3BsaW5lKGJhc2lzJDEpOwordmFyIHJnYkJh
c2lzQ2xvc2VkID0gcmdiU3BsaW5lKGJhc2lzQ2xvc2VkKTsKKworZnVuY3Rpb24gYXJyYXkkMShh
LCBiKSB7CisgIHZhciBuYiA9IGIgPyBiLmxlbmd0aCA6IDAsCisgICAgICBuYSA9IGEgPyBNYXRo
Lm1pbihuYiwgYS5sZW5ndGgpIDogMCwKKyAgICAgIHggPSBuZXcgQXJyYXkobmEpLAorICAgICAg
YyA9IG5ldyBBcnJheShuYiksCisgICAgICBpOworCisgIGZvciAoaSA9IDA7IGkgPCBuYTsgKytp
KSB4W2ldID0gaW50ZXJwb2xhdGVWYWx1ZShhW2ldLCBiW2ldKTsKKyAgZm9yICg7IGkgPCBuYjsg
KytpKSBjW2ldID0gYltpXTsKKworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIGZvciAoaSA9
IDA7IGkgPCBuYTsgKytpKSBjW2ldID0geFtpXSh0KTsKKyAgICByZXR1cm4gYzsKKyAgfTsKK30K
KworZnVuY3Rpb24gZGF0ZShhLCBiKSB7CisgIHZhciBkID0gbmV3IERhdGU7CisgIHJldHVybiBh
ID0gK2EsIGIgLT0gYSwgZnVuY3Rpb24odCkgeworICAgIHJldHVybiBkLnNldFRpbWUoYSArIGIg
KiB0KSwgZDsKKyAgfTsKK30KKworZnVuY3Rpb24gaW50ZXJwb2xhdGVOdW1iZXIoYSwgYikgewor
ICByZXR1cm4gYSA9ICthLCBiIC09IGEsIGZ1bmN0aW9uKHQpIHsKKyAgICByZXR1cm4gYSArIGIg
KiB0OworICB9OworfQorCitmdW5jdGlvbiBvYmplY3QoYSwgYikgeworICB2YXIgaSA9IHt9LAor
ICAgICAgYyA9IHt9LAorICAgICAgazsKKworICBpZiAoYSA9PT0gbnVsbCB8fCB0eXBlb2YgYSAh
PT0gIm9iamVjdCIpIGEgPSB7fTsKKyAgaWYgKGIgPT09IG51bGwgfHwgdHlwZW9mIGIgIT09ICJv
YmplY3QiKSBiID0ge307CisKKyAgZm9yIChrIGluIGIpIHsKKyAgICBpZiAoayBpbiBhKSB7Cisg
ICAgICBpW2tdID0gaW50ZXJwb2xhdGVWYWx1ZShhW2tdLCBiW2tdKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgY1trXSA9IGJba107CisgICAgfQorICB9CisKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsK
KyAgICBmb3IgKGsgaW4gaSkgY1trXSA9IGlba10odCk7CisgICAgcmV0dXJuIGM7CisgIH07Cit9
CisKK3ZhciByZUEgPSAvWy0rXT8oPzpcZCtcLj9cZCp8XC4/XGQrKSg/OltlRV1bLStdP1xkKyk/
L2csCisgICAgcmVCID0gbmV3IFJlZ0V4cChyZUEuc291cmNlLCAiZyIpOworCitmdW5jdGlvbiB6
ZXJvKGIpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBiOworICB9OworfQor
CitmdW5jdGlvbiBvbmUoYikgeworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHJldHVybiBi
KHQpICsgIiI7CisgIH07Cit9CisKK2Z1bmN0aW9uIGludGVycG9sYXRlU3RyaW5nKGEsIGIpIHsK
KyAgdmFyIGJpID0gcmVBLmxhc3RJbmRleCA9IHJlQi5sYXN0SW5kZXggPSAwLCAvLyBzY2FuIGlu
ZGV4IGZvciBuZXh0IG51bWJlciBpbiBiCisgICAgICBhbSwgLy8gY3VycmVudCBtYXRjaCBpbiBh
CisgICAgICBibSwgLy8gY3VycmVudCBtYXRjaCBpbiBiCisgICAgICBicywgLy8gc3RyaW5nIHBy
ZWNlZGluZyBjdXJyZW50IG51bWJlciBpbiBiLCBpZiBhbnkKKyAgICAgIGkgPSAtMSwgLy8gaW5k
ZXggaW4gcworICAgICAgcyA9IFtdLCAvLyBzdHJpbmcgY29uc3RhbnRzIGFuZCBwbGFjZWhvbGRl
cnMKKyAgICAgIHEgPSBbXTsgLy8gbnVtYmVyIGludGVycG9sYXRvcnMKKworICAvLyBDb2VyY2Ug
aW5wdXRzIHRvIHN0cmluZ3MuCisgIGEgPSBhICsgIiIsIGIgPSBiICsgIiI7CisKKyAgLy8gSW50
ZXJwb2xhdGUgcGFpcnMgb2YgbnVtYmVycyBpbiBhICYgYi4KKyAgd2hpbGUgKChhbSA9IHJlQS5l
eGVjKGEpKQorICAgICAgJiYgKGJtID0gcmVCLmV4ZWMoYikpKSB7CisgICAgaWYgKChicyA9IGJt
LmluZGV4KSA+IGJpKSB7IC8vIGEgc3RyaW5nIHByZWNlZGVzIHRoZSBuZXh0IG51bWJlciBpbiBi
CisgICAgICBicyA9IGIuc2xpY2UoYmksIGJzKTsKKyAgICAgIGlmIChzW2ldKSBzW2ldICs9IGJz
OyAvLyBjb2FsZXNjZSB3aXRoIHByZXZpb3VzIHN0cmluZworICAgICAgZWxzZSBzWysraV0gPSBi
czsKKyAgICB9CisgICAgaWYgKChhbSA9IGFtWzBdKSA9PT0gKGJtID0gYm1bMF0pKSB7IC8vIG51
bWJlcnMgaW4gYSAmIGIgbWF0Y2gKKyAgICAgIGlmIChzW2ldKSBzW2ldICs9IGJtOyAvLyBjb2Fs
ZXNjZSB3aXRoIHByZXZpb3VzIHN0cmluZworICAgICAgZWxzZSBzWysraV0gPSBibTsKKyAgICB9
IGVsc2UgeyAvLyBpbnRlcnBvbGF0ZSBub24tbWF0Y2hpbmcgbnVtYmVycworICAgICAgc1srK2ld
ID0gbnVsbDsKKyAgICAgIHEucHVzaCh7aTogaSwgeDogaW50ZXJwb2xhdGVOdW1iZXIoYW0sIGJt
KX0pOworICAgIH0KKyAgICBiaSA9IHJlQi5sYXN0SW5kZXg7CisgIH0KKworICAvLyBBZGQgcmVt
YWlucyBvZiBiLgorICBpZiAoYmkgPCBiLmxlbmd0aCkgeworICAgIGJzID0gYi5zbGljZShiaSk7
CisgICAgaWYgKHNbaV0pIHNbaV0gKz0gYnM7IC8vIGNvYWxlc2NlIHdpdGggcHJldmlvdXMgc3Ry
aW5nCisgICAgZWxzZSBzWysraV0gPSBiczsKKyAgfQorCisgIC8vIFNwZWNpYWwgb3B0aW1pemF0
aW9uIGZvciBvbmx5IGEgc2luZ2xlIG1hdGNoLgorICAvLyBPdGhlcndpc2UsIGludGVycG9sYXRl
IGVhY2ggb2YgdGhlIG51bWJlcnMgYW5kIHJlam9pbiB0aGUgc3RyaW5nLgorICByZXR1cm4gcy5s
ZW5ndGggPCAyID8gKHFbMF0KKyAgICAgID8gb25lKHFbMF0ueCkKKyAgICAgIDogemVybyhiKSkK
KyAgICAgIDogKGIgPSBxLmxlbmd0aCwgZnVuY3Rpb24odCkgeworICAgICAgICAgIGZvciAodmFy
IGkgPSAwLCBvOyBpIDwgYjsgKytpKSBzWyhvID0gcVtpXSkuaV0gPSBvLngodCk7CisgICAgICAg
ICAgcmV0dXJuIHMuam9pbigiIik7CisgICAgICAgIH0pOworfQorCitmdW5jdGlvbiBpbnRlcnBv
bGF0ZVZhbHVlKGEsIGIpIHsKKyAgdmFyIHQgPSB0eXBlb2YgYiwgYzsKKyAgcmV0dXJuIGIgPT0g
bnVsbCB8fCB0ID09PSAiYm9vbGVhbiIgPyBjb25zdGFudCQzKGIpCisgICAgICA6ICh0ID09PSAi
bnVtYmVyIiA/IGludGVycG9sYXRlTnVtYmVyCisgICAgICA6IHQgPT09ICJzdHJpbmciID8gKChj
ID0gY29sb3IoYikpID8gKGIgPSBjLCBpbnRlcnBvbGF0ZVJnYikgOiBpbnRlcnBvbGF0ZVN0cmlu
ZykKKyAgICAgIDogYiBpbnN0YW5jZW9mIGNvbG9yID8gaW50ZXJwb2xhdGVSZ2IKKyAgICAgIDog
YiBpbnN0YW5jZW9mIERhdGUgPyBkYXRlCisgICAgICA6IEFycmF5LmlzQXJyYXkoYikgPyBhcnJh
eSQxCisgICAgICA6IHR5cGVvZiBiLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIgJiYgdHlwZW9mIGIu
dG9TdHJpbmcgIT09ICJmdW5jdGlvbiIgfHwgaXNOYU4oYikgPyBvYmplY3QKKyAgICAgIDogaW50
ZXJwb2xhdGVOdW1iZXIpKGEsIGIpOworfQorCitmdW5jdGlvbiBkaXNjcmV0ZShyYW5nZSkgewor
ICB2YXIgbiA9IHJhbmdlLmxlbmd0aDsKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICByZXR1
cm4gcmFuZ2VbTWF0aC5tYXgoMCwgTWF0aC5taW4obiAtIDEsIE1hdGguZmxvb3IodCAqIG4pKSld
OworICB9OworfQorCitmdW5jdGlvbiBodWUkMShhLCBiKSB7CisgIHZhciBpID0gaHVlKCthLCAr
Yik7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgdmFyIHggPSBpKHQpOworICAgIHJldHVy
biB4IC0gMzYwICogTWF0aC5mbG9vcih4IC8gMzYwKTsKKyAgfTsKK30KKworZnVuY3Rpb24gaW50
ZXJwb2xhdGVSb3VuZChhLCBiKSB7CisgIHJldHVybiBhID0gK2EsIGIgLT0gYSwgZnVuY3Rpb24o
dCkgeworICAgIHJldHVybiBNYXRoLnJvdW5kKGEgKyBiICogdCk7CisgIH07Cit9CisKK3ZhciBk
ZWdyZWVzID0gMTgwIC8gTWF0aC5QSTsKKwordmFyIGlkZW50aXR5JDIgPSB7CisgIHRyYW5zbGF0
ZVg6IDAsCisgIHRyYW5zbGF0ZVk6IDAsCisgIHJvdGF0ZTogMCwKKyAgc2tld1g6IDAsCisgIHNj
YWxlWDogMSwKKyAgc2NhbGVZOiAxCit9OworCitmdW5jdGlvbiBkZWNvbXBvc2UoYSwgYiwgYywg
ZCwgZSwgZikgeworICB2YXIgc2NhbGVYLCBzY2FsZVksIHNrZXdYOworICBpZiAoc2NhbGVYID0g
TWF0aC5zcXJ0KGEgKiBhICsgYiAqIGIpKSBhIC89IHNjYWxlWCwgYiAvPSBzY2FsZVg7CisgIGlm
IChza2V3WCA9IGEgKiBjICsgYiAqIGQpIGMgLT0gYSAqIHNrZXdYLCBkIC09IGIgKiBza2V3WDsK
KyAgaWYgKHNjYWxlWSA9IE1hdGguc3FydChjICogYyArIGQgKiBkKSkgYyAvPSBzY2FsZVksIGQg
Lz0gc2NhbGVZLCBza2V3WCAvPSBzY2FsZVk7CisgIGlmIChhICogZCA8IGIgKiBjKSBhID0gLWEs
IGIgPSAtYiwgc2tld1ggPSAtc2tld1gsIHNjYWxlWCA9IC1zY2FsZVg7CisgIHJldHVybiB7Cisg
ICAgdHJhbnNsYXRlWDogZSwKKyAgICB0cmFuc2xhdGVZOiBmLAorICAgIHJvdGF0ZTogTWF0aC5h
dGFuMihiLCBhKSAqIGRlZ3JlZXMsCisgICAgc2tld1g6IE1hdGguYXRhbihza2V3WCkgKiBkZWdy
ZWVzLAorICAgIHNjYWxlWDogc2NhbGVYLAorICAgIHNjYWxlWTogc2NhbGVZCisgIH07Cit9CisK
K3ZhciBjc3NOb2RlLAorICAgIGNzc1Jvb3QsCisgICAgY3NzVmlldywKKyAgICBzdmdOb2RlOwor
CitmdW5jdGlvbiBwYXJzZUNzcyh2YWx1ZSkgeworICBpZiAodmFsdWUgPT09ICJub25lIikgcmV0
dXJuIGlkZW50aXR5JDI7CisgIGlmICghY3NzTm9kZSkgY3NzTm9kZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoIkRJViIpLCBjc3NSb290ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCBjc3NW
aWV3ID0gZG9jdW1lbnQuZGVmYXVsdFZpZXc7CisgIGNzc05vZGUuc3R5bGUudHJhbnNmb3JtID0g
dmFsdWU7CisgIHZhbHVlID0gY3NzVmlldy5nZXRDb21wdXRlZFN0eWxlKGNzc1Jvb3QuYXBwZW5k
Q2hpbGQoY3NzTm9kZSksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoInRyYW5zZm9ybSIpOworICBj
c3NSb290LnJlbW92ZUNoaWxkKGNzc05vZGUpOworICB2YWx1ZSA9IHZhbHVlLnNsaWNlKDcsIC0x
KS5zcGxpdCgiLCIpOworICByZXR1cm4gZGVjb21wb3NlKCt2YWx1ZVswXSwgK3ZhbHVlWzFdLCAr
dmFsdWVbMl0sICt2YWx1ZVszXSwgK3ZhbHVlWzRdLCArdmFsdWVbNV0pOworfQorCitmdW5jdGlv
biBwYXJzZVN2Zyh2YWx1ZSkgeworICBpZiAodmFsdWUgPT0gbnVsbCkgcmV0dXJuIGlkZW50aXR5
JDI7CisgIGlmICghc3ZnTm9kZSkgc3ZnTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygi
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAiZyIpOworICBzdmdOb2RlLnNldEF0dHJpYnV0
ZSgidHJhbnNmb3JtIiwgdmFsdWUpOworICBpZiAoISh2YWx1ZSA9IHN2Z05vZGUudHJhbnNmb3Jt
LmJhc2VWYWwuY29uc29saWRhdGUoKSkpIHJldHVybiBpZGVudGl0eSQyOworICB2YWx1ZSA9IHZh
bHVlLm1hdHJpeDsKKyAgcmV0dXJuIGRlY29tcG9zZSh2YWx1ZS5hLCB2YWx1ZS5iLCB2YWx1ZS5j
LCB2YWx1ZS5kLCB2YWx1ZS5lLCB2YWx1ZS5mKTsKK30KKworZnVuY3Rpb24gaW50ZXJwb2xhdGVU
cmFuc2Zvcm0ocGFyc2UsIHB4Q29tbWEsIHB4UGFyZW4sIGRlZ1BhcmVuKSB7CisKKyAgZnVuY3Rp
b24gcG9wKHMpIHsKKyAgICByZXR1cm4gcy5sZW5ndGggPyBzLnBvcCgpICsgIiAiIDogIiI7Cisg
IH0KKworICBmdW5jdGlvbiB0cmFuc2xhdGUoeGEsIHlhLCB4YiwgeWIsIHMsIHEpIHsKKyAgICBp
ZiAoeGEgIT09IHhiIHx8IHlhICE9PSB5YikgeworICAgICAgdmFyIGkgPSBzLnB1c2goInRyYW5z
bGF0ZSgiLCBudWxsLCBweENvbW1hLCBudWxsLCBweFBhcmVuKTsKKyAgICAgIHEucHVzaCh7aTog
aSAtIDQsIHg6IGludGVycG9sYXRlTnVtYmVyKHhhLCB4Yil9LCB7aTogaSAtIDIsIHg6IGludGVy
cG9sYXRlTnVtYmVyKHlhLCB5Yil9KTsKKyAgICB9IGVsc2UgaWYgKHhiIHx8IHliKSB7CisgICAg
ICBzLnB1c2goInRyYW5zbGF0ZSgiICsgeGIgKyBweENvbW1hICsgeWIgKyBweFBhcmVuKTsKKyAg
ICB9CisgIH0KKworICBmdW5jdGlvbiByb3RhdGUoYSwgYiwgcywgcSkgeworICAgIGlmIChhICE9
PSBiKSB7CisgICAgICBpZiAoYSAtIGIgPiAxODApIGIgKz0gMzYwOyBlbHNlIGlmIChiIC0gYSA+
IDE4MCkgYSArPSAzNjA7IC8vIHNob3J0ZXN0IHBhdGgKKyAgICAgIHEucHVzaCh7aTogcy5wdXNo
KHBvcChzKSArICJyb3RhdGUoIiwgbnVsbCwgZGVnUGFyZW4pIC0gMiwgeDogaW50ZXJwb2xhdGVO
dW1iZXIoYSwgYil9KTsKKyAgICB9IGVsc2UgaWYgKGIpIHsKKyAgICAgIHMucHVzaChwb3Aocykg
KyAicm90YXRlKCIgKyBiICsgZGVnUGFyZW4pOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIHNr
ZXdYKGEsIGIsIHMsIHEpIHsKKyAgICBpZiAoYSAhPT0gYikgeworICAgICAgcS5wdXNoKHtpOiBz
LnB1c2gocG9wKHMpICsgInNrZXdYKCIsIG51bGwsIGRlZ1BhcmVuKSAtIDIsIHg6IGludGVycG9s
YXRlTnVtYmVyKGEsIGIpfSk7CisgICAgfSBlbHNlIGlmIChiKSB7CisgICAgICBzLnB1c2gocG9w
KHMpICsgInNrZXdYKCIgKyBiICsgZGVnUGFyZW4pOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9u
IHNjYWxlKHhhLCB5YSwgeGIsIHliLCBzLCBxKSB7CisgICAgaWYgKHhhICE9PSB4YiB8fCB5YSAh
PT0geWIpIHsKKyAgICAgIHZhciBpID0gcy5wdXNoKHBvcChzKSArICJzY2FsZSgiLCBudWxsLCAi
LCIsIG51bGwsICIpIik7CisgICAgICBxLnB1c2goe2k6IGkgLSA0LCB4OiBpbnRlcnBvbGF0ZU51
bWJlcih4YSwgeGIpfSwge2k6IGkgLSAyLCB4OiBpbnRlcnBvbGF0ZU51bWJlcih5YSwgeWIpfSk7
CisgICAgfSBlbHNlIGlmICh4YiAhPT0gMSB8fCB5YiAhPT0gMSkgeworICAgICAgcy5wdXNoKHBv
cChzKSArICJzY2FsZSgiICsgeGIgKyAiLCIgKyB5YiArICIpIik7CisgICAgfQorICB9CisKKyAg
cmV0dXJuIGZ1bmN0aW9uKGEsIGIpIHsKKyAgICB2YXIgcyA9IFtdLCAvLyBzdHJpbmcgY29uc3Rh
bnRzIGFuZCBwbGFjZWhvbGRlcnMKKyAgICAgICAgcSA9IFtdOyAvLyBudW1iZXIgaW50ZXJwb2xh
dG9ycworICAgIGEgPSBwYXJzZShhKSwgYiA9IHBhcnNlKGIpOworICAgIHRyYW5zbGF0ZShhLnRy
YW5zbGF0ZVgsIGEudHJhbnNsYXRlWSwgYi50cmFuc2xhdGVYLCBiLnRyYW5zbGF0ZVksIHMsIHEp
OworICAgIHJvdGF0ZShhLnJvdGF0ZSwgYi5yb3RhdGUsIHMsIHEpOworICAgIHNrZXdYKGEuc2tl
d1gsIGIuc2tld1gsIHMsIHEpOworICAgIHNjYWxlKGEuc2NhbGVYLCBhLnNjYWxlWSwgYi5zY2Fs
ZVgsIGIuc2NhbGVZLCBzLCBxKTsKKyAgICBhID0gYiA9IG51bGw7IC8vIGdjCisgICAgcmV0dXJu
IGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpID0gLTEsIG4gPSBxLmxlbmd0aCwgbzsKKyAgICAg
IHdoaWxlICgrK2kgPCBuKSBzWyhvID0gcVtpXSkuaV0gPSBvLngodCk7CisgICAgICByZXR1cm4g
cy5qb2luKCIiKTsKKyAgICB9OworICB9OworfQorCit2YXIgaW50ZXJwb2xhdGVUcmFuc2Zvcm1D
c3MgPSBpbnRlcnBvbGF0ZVRyYW5zZm9ybShwYXJzZUNzcywgInB4LCAiLCAicHgpIiwgImRlZyki
KTsKK3ZhciBpbnRlcnBvbGF0ZVRyYW5zZm9ybVN2ZyA9IGludGVycG9sYXRlVHJhbnNmb3JtKHBh
cnNlU3ZnLCAiLCAiLCAiKSIsICIpIik7CisKK3ZhciByaG8gPSBNYXRoLlNRUlQyLAorICAgIHJo
bzIgPSAyLAorICAgIHJobzQgPSA0LAorICAgIGVwc2lsb24yID0gMWUtMTI7CisKK2Z1bmN0aW9u
IGNvc2goeCkgeworICByZXR1cm4gKCh4ID0gTWF0aC5leHAoeCkpICsgMSAvIHgpIC8gMjsKK30K
KworZnVuY3Rpb24gc2luaCh4KSB7CisgIHJldHVybiAoKHggPSBNYXRoLmV4cCh4KSkgLSAxIC8g
eCkgLyAyOworfQorCitmdW5jdGlvbiB0YW5oKHgpIHsKKyAgcmV0dXJuICgoeCA9IE1hdGguZXhw
KDIgKiB4KSkgLSAxKSAvICh4ICsgMSk7Cit9CisKKy8vIHAwID0gW3V4MCwgdXkwLCB3MF0KKy8v
IHAxID0gW3V4MSwgdXkxLCB3MV0KK2Z1bmN0aW9uIGludGVycG9sYXRlWm9vbShwMCwgcDEpIHsK
KyAgdmFyIHV4MCA9IHAwWzBdLCB1eTAgPSBwMFsxXSwgdzAgPSBwMFsyXSwKKyAgICAgIHV4MSA9
IHAxWzBdLCB1eTEgPSBwMVsxXSwgdzEgPSBwMVsyXSwKKyAgICAgIGR4ID0gdXgxIC0gdXgwLAor
ICAgICAgZHkgPSB1eTEgLSB1eTAsCisgICAgICBkMiA9IGR4ICogZHggKyBkeSAqIGR5LAorICAg
ICAgaSwKKyAgICAgIFM7CisKKyAgLy8gU3BlY2lhbCBjYXNlIGZvciB1MCDiiYUgdTEuCisgIGlm
IChkMiA8IGVwc2lsb24yKSB7CisgICAgUyA9IE1hdGgubG9nKHcxIC8gdzApIC8gcmhvOworICAg
IGkgPSBmdW5jdGlvbih0KSB7CisgICAgICByZXR1cm4gWworICAgICAgICB1eDAgKyB0ICogZHgs
CisgICAgICAgIHV5MCArIHQgKiBkeSwKKyAgICAgICAgdzAgKiBNYXRoLmV4cChyaG8gKiB0ICog
UykKKyAgICAgIF07CisgICAgfTsKKyAgfQorCisgIC8vIEdlbmVyYWwgY2FzZS4KKyAgZWxzZSB7
CisgICAgdmFyIGQxID0gTWF0aC5zcXJ0KGQyKSwKKyAgICAgICAgYjAgPSAodzEgKiB3MSAtIHcw
ICogdzAgKyByaG80ICogZDIpIC8gKDIgKiB3MCAqIHJobzIgKiBkMSksCisgICAgICAgIGIxID0g
KHcxICogdzEgLSB3MCAqIHcwIC0gcmhvNCAqIGQyKSAvICgyICogdzEgKiByaG8yICogZDEpLAor
ICAgICAgICByMCA9IE1hdGgubG9nKE1hdGguc3FydChiMCAqIGIwICsgMSkgLSBiMCksCisgICAg
ICAgIHIxID0gTWF0aC5sb2coTWF0aC5zcXJ0KGIxICogYjEgKyAxKSAtIGIxKTsKKyAgICBTID0g
KHIxIC0gcjApIC8gcmhvOworICAgIGkgPSBmdW5jdGlvbih0KSB7CisgICAgICB2YXIgcyA9IHQg
KiBTLAorICAgICAgICAgIGNvc2hyMCA9IGNvc2gocjApLAorICAgICAgICAgIHUgPSB3MCAvIChy
aG8yICogZDEpICogKGNvc2hyMCAqIHRhbmgocmhvICogcyArIHIwKSAtIHNpbmgocjApKTsKKyAg
ICAgIHJldHVybiBbCisgICAgICAgIHV4MCArIHUgKiBkeCwKKyAgICAgICAgdXkwICsgdSAqIGR5
LAorICAgICAgICB3MCAqIGNvc2hyMCAvIGNvc2gocmhvICogcyArIHIwKQorICAgICAgXTsKKyAg
ICB9OworICB9CisKKyAgaS5kdXJhdGlvbiA9IFMgKiAxMDAwOworCisgIHJldHVybiBpOworfQor
CitmdW5jdGlvbiBoc2wkMShodWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsK
KyAgICB2YXIgaCA9IGh1ZSgoc3RhcnQgPSBoc2woc3RhcnQpKS5oLCAoZW5kID0gaHNsKGVuZCkp
LmgpLAorICAgICAgICBzID0gbm9nYW1tYShzdGFydC5zLCBlbmQucyksCisgICAgICAgIGwgPSBu
b2dhbW1hKHN0YXJ0LmwsIGVuZC5sKSwKKyAgICAgICAgb3BhY2l0eSA9IG5vZ2FtbWEoc3RhcnQu
b3BhY2l0eSwgZW5kLm9wYWNpdHkpOworICAgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgICBz
dGFydC5oID0gaCh0KTsKKyAgICAgIHN0YXJ0LnMgPSBzKHQpOworICAgICAgc3RhcnQubCA9IGwo
dCk7CisgICAgICBzdGFydC5vcGFjaXR5ID0gb3BhY2l0eSh0KTsKKyAgICAgIHJldHVybiBzdGFy
dCArICIiOworICAgIH07CisgIH0KK30KKwordmFyIGhzbCQyID0gaHNsJDEoaHVlKTsKK3ZhciBo
c2xMb25nID0gaHNsJDEobm9nYW1tYSk7CisKK2Z1bmN0aW9uIGxhYiQxKHN0YXJ0LCBlbmQpIHsK
KyAgdmFyIGwgPSBub2dhbW1hKChzdGFydCA9IGxhYihzdGFydCkpLmwsIChlbmQgPSBsYWIoZW5k
KSkubCksCisgICAgICBhID0gbm9nYW1tYShzdGFydC5hLCBlbmQuYSksCisgICAgICBiID0gbm9n
YW1tYShzdGFydC5iLCBlbmQuYiksCisgICAgICBvcGFjaXR5ID0gbm9nYW1tYShzdGFydC5vcGFj
aXR5LCBlbmQub3BhY2l0eSk7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgc3RhcnQubCA9
IGwodCk7CisgICAgc3RhcnQuYSA9IGEodCk7CisgICAgc3RhcnQuYiA9IGIodCk7CisgICAgc3Rh
cnQub3BhY2l0eSA9IG9wYWNpdHkodCk7CisgICAgcmV0dXJuIHN0YXJ0ICsgIiI7CisgIH07Cit9
CisKK2Z1bmN0aW9uIGhjbCQxKGh1ZSkgeworICByZXR1cm4gZnVuY3Rpb24oc3RhcnQsIGVuZCkg
eworICAgIHZhciBoID0gaHVlKChzdGFydCA9IGhjbChzdGFydCkpLmgsIChlbmQgPSBoY2woZW5k
KSkuaCksCisgICAgICAgIGMgPSBub2dhbW1hKHN0YXJ0LmMsIGVuZC5jKSwKKyAgICAgICAgbCA9
IG5vZ2FtbWEoc3RhcnQubCwgZW5kLmwpLAorICAgICAgICBvcGFjaXR5ID0gbm9nYW1tYShzdGFy
dC5vcGFjaXR5LCBlbmQub3BhY2l0eSk7CisgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICAg
IHN0YXJ0LmggPSBoKHQpOworICAgICAgc3RhcnQuYyA9IGModCk7CisgICAgICBzdGFydC5sID0g
bCh0KTsKKyAgICAgIHN0YXJ0Lm9wYWNpdHkgPSBvcGFjaXR5KHQpOworICAgICAgcmV0dXJuIHN0
YXJ0ICsgIiI7CisgICAgfTsKKyAgfQorfQorCit2YXIgaGNsJDIgPSBoY2wkMShodWUpOwordmFy
IGhjbExvbmcgPSBoY2wkMShub2dhbW1hKTsKKworZnVuY3Rpb24gY3ViZWhlbGl4JDEoaHVlKSB7
CisgIHJldHVybiAoZnVuY3Rpb24gY3ViZWhlbGl4R2FtbWEoeSkgeworICAgIHkgPSAreTsKKwor
ICAgIGZ1bmN0aW9uIGN1YmVoZWxpeCQxKHN0YXJ0LCBlbmQpIHsKKyAgICAgIHZhciBoID0gaHVl
KChzdGFydCA9IGN1YmVoZWxpeChzdGFydCkpLmgsIChlbmQgPSBjdWJlaGVsaXgoZW5kKSkuaCks
CisgICAgICAgICAgcyA9IG5vZ2FtbWEoc3RhcnQucywgZW5kLnMpLAorICAgICAgICAgIGwgPSBu
b2dhbW1hKHN0YXJ0LmwsIGVuZC5sKSwKKyAgICAgICAgICBvcGFjaXR5ID0gbm9nYW1tYShzdGFy
dC5vcGFjaXR5LCBlbmQub3BhY2l0eSk7CisgICAgICByZXR1cm4gZnVuY3Rpb24odCkgeworICAg
ICAgICBzdGFydC5oID0gaCh0KTsKKyAgICAgICAgc3RhcnQucyA9IHModCk7CisgICAgICAgIHN0
YXJ0LmwgPSBsKE1hdGgucG93KHQsIHkpKTsKKyAgICAgICAgc3RhcnQub3BhY2l0eSA9IG9wYWNp
dHkodCk7CisgICAgICAgIHJldHVybiBzdGFydCArICIiOworICAgICAgfTsKKyAgICB9CisKKyAg
ICBjdWJlaGVsaXgkMS5nYW1tYSA9IGN1YmVoZWxpeEdhbW1hOworCisgICAgcmV0dXJuIGN1YmVo
ZWxpeCQxOworICB9KSgxKTsKK30KKwordmFyIGN1YmVoZWxpeCQyID0gY3ViZWhlbGl4JDEoaHVl
KTsKK3ZhciBjdWJlaGVsaXhMb25nID0gY3ViZWhlbGl4JDEobm9nYW1tYSk7CisKK2Z1bmN0aW9u
IHBpZWNld2lzZShpbnRlcnBvbGF0ZSwgdmFsdWVzKSB7CisgIHZhciBpID0gMCwgbiA9IHZhbHVl
cy5sZW5ndGggLSAxLCB2ID0gdmFsdWVzWzBdLCBJID0gbmV3IEFycmF5KG4gPCAwID8gMCA6IG4p
OworICB3aGlsZSAoaSA8IG4pIElbaV0gPSBpbnRlcnBvbGF0ZSh2LCB2ID0gdmFsdWVzWysraV0p
OworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHZhciBpID0gTWF0aC5tYXgoMCwgTWF0aC5t
aW4obiAtIDEsIE1hdGguZmxvb3IodCAqPSBuKSkpOworICAgIHJldHVybiBJW2ldKHQgLSBpKTsK
KyAgfTsKK30KKworZnVuY3Rpb24gcXVhbnRpemUoaW50ZXJwb2xhdG9yLCBuKSB7CisgIHZhciBz
YW1wbGVzID0gbmV3IEFycmF5KG4pOworICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsraSkgc2Ft
cGxlc1tpXSA9IGludGVycG9sYXRvcihpIC8gKG4gLSAxKSk7CisgIHJldHVybiBzYW1wbGVzOwor
fQorCit2YXIgZnJhbWUgPSAwLCAvLyBpcyBhbiBhbmltYXRpb24gZnJhbWUgcGVuZGluZz8KKyAg
ICB0aW1lb3V0ID0gMCwgLy8gaXMgYSB0aW1lb3V0IHBlbmRpbmc/CisgICAgaW50ZXJ2YWwgPSAw
LCAvLyBhcmUgYW55IHRpbWVycyBhY3RpdmU/CisgICAgcG9rZURlbGF5ID0gMTAwMCwgLy8gaG93
IGZyZXF1ZW50bHkgd2UgY2hlY2sgZm9yIGNsb2NrIHNrZXcKKyAgICB0YXNrSGVhZCwKKyAgICB0
YXNrVGFpbCwKKyAgICBjbG9ja0xhc3QgPSAwLAorICAgIGNsb2NrTm93ID0gMCwKKyAgICBjbG9j
a1NrZXcgPSAwLAorICAgIGNsb2NrID0gdHlwZW9mIHBlcmZvcm1hbmNlID09PSAib2JqZWN0IiAm
JiBwZXJmb3JtYW5jZS5ub3cgPyBwZXJmb3JtYW5jZSA6IERhdGUsCisgICAgc2V0RnJhbWUgPSB0
eXBlb2Ygd2luZG93ID09PSAib2JqZWN0IiAmJiB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1l
ID8gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKHdpbmRvdykgOiBmdW5jdGlvbihm
KSB7IHNldFRpbWVvdXQoZiwgMTcpOyB9OworCitmdW5jdGlvbiBub3coKSB7CisgIHJldHVybiBj
bG9ja05vdyB8fCAoc2V0RnJhbWUoY2xlYXJOb3cpLCBjbG9ja05vdyA9IGNsb2NrLm5vdygpICsg
Y2xvY2tTa2V3KTsKK30KKworZnVuY3Rpb24gY2xlYXJOb3coKSB7CisgIGNsb2NrTm93ID0gMDsK
K30KKworZnVuY3Rpb24gVGltZXIoKSB7CisgIHRoaXMuX2NhbGwgPQorICB0aGlzLl90aW1lID0K
KyAgdGhpcy5fbmV4dCA9IG51bGw7Cit9CisKK1RpbWVyLnByb3RvdHlwZSA9IHRpbWVyLnByb3Rv
dHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IFRpbWVyLAorICByZXN0YXJ0OiBmdW5jdGlvbihjYWxs
YmFjaywgZGVsYXksIHRpbWUpIHsKKyAgICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAiZnVuY3Rp
b24iKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBpcyBub3QgYSBmdW5jdGlvbiIpOwor
ICAgIHRpbWUgPSAodGltZSA9PSBudWxsID8gbm93KCkgOiArdGltZSkgKyAoZGVsYXkgPT0gbnVs
bCA/IDAgOiArZGVsYXkpOworICAgIGlmICghdGhpcy5fbmV4dCAmJiB0YXNrVGFpbCAhPT0gdGhp
cykgeworICAgICAgaWYgKHRhc2tUYWlsKSB0YXNrVGFpbC5fbmV4dCA9IHRoaXM7CisgICAgICBl
bHNlIHRhc2tIZWFkID0gdGhpczsKKyAgICAgIHRhc2tUYWlsID0gdGhpczsKKyAgICB9CisgICAg
dGhpcy5fY2FsbCA9IGNhbGxiYWNrOworICAgIHRoaXMuX3RpbWUgPSB0aW1lOworICAgIHNsZWVw
KCk7CisgIH0sCisgIHN0b3A6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9jYWxsKSB7Cisg
ICAgICB0aGlzLl9jYWxsID0gbnVsbDsKKyAgICAgIHRoaXMuX3RpbWUgPSBJbmZpbml0eTsKKyAg
ICAgIHNsZWVwKCk7CisgICAgfQorICB9Cit9OworCitmdW5jdGlvbiB0aW1lcihjYWxsYmFjaywg
ZGVsYXksIHRpbWUpIHsKKyAgdmFyIHQgPSBuZXcgVGltZXI7CisgIHQucmVzdGFydChjYWxsYmFj
aywgZGVsYXksIHRpbWUpOworICByZXR1cm4gdDsKK30KKworZnVuY3Rpb24gdGltZXJGbHVzaCgp
IHsKKyAgbm93KCk7IC8vIEdldCB0aGUgY3VycmVudCB0aW1lLCBpZiBub3QgYWxyZWFkeSBzZXQu
CisgICsrZnJhbWU7IC8vIFByZXRlbmQgd2XigJl2ZSBzZXQgYW4gYWxhcm0sIGlmIHdlIGhhdmVu
4oCZdCBhbHJlYWR5LgorICB2YXIgdCA9IHRhc2tIZWFkLCBlOworICB3aGlsZSAodCkgeworICAg
IGlmICgoZSA9IGNsb2NrTm93IC0gdC5fdGltZSkgPj0gMCkgdC5fY2FsbC5jYWxsKG51bGwsIGUp
OworICAgIHQgPSB0Ll9uZXh0OworICB9CisgIC0tZnJhbWU7Cit9CisKK2Z1bmN0aW9uIHdha2Uo
KSB7CisgIGNsb2NrTm93ID0gKGNsb2NrTGFzdCA9IGNsb2NrLm5vdygpKSArIGNsb2NrU2tldzsK
KyAgZnJhbWUgPSB0aW1lb3V0ID0gMDsKKyAgdHJ5IHsKKyAgICB0aW1lckZsdXNoKCk7CisgIH0g
ZmluYWxseSB7CisgICAgZnJhbWUgPSAwOworICAgIG5hcCgpOworICAgIGNsb2NrTm93ID0gMDsK
KyAgfQorfQorCitmdW5jdGlvbiBwb2tlKCkgeworICB2YXIgbm93ID0gY2xvY2subm93KCksIGRl
bGF5ID0gbm93IC0gY2xvY2tMYXN0OworICBpZiAoZGVsYXkgPiBwb2tlRGVsYXkpIGNsb2NrU2tl
dyAtPSBkZWxheSwgY2xvY2tMYXN0ID0gbm93OworfQorCitmdW5jdGlvbiBuYXAoKSB7CisgIHZh
ciB0MCwgdDEgPSB0YXNrSGVhZCwgdDIsIHRpbWUgPSBJbmZpbml0eTsKKyAgd2hpbGUgKHQxKSB7
CisgICAgaWYgKHQxLl9jYWxsKSB7CisgICAgICBpZiAodGltZSA+IHQxLl90aW1lKSB0aW1lID0g
dDEuX3RpbWU7CisgICAgICB0MCA9IHQxLCB0MSA9IHQxLl9uZXh0OworICAgIH0gZWxzZSB7Cisg
ICAgICB0MiA9IHQxLl9uZXh0LCB0MS5fbmV4dCA9IG51bGw7CisgICAgICB0MSA9IHQwID8gdDAu
X25leHQgPSB0MiA6IHRhc2tIZWFkID0gdDI7CisgICAgfQorICB9CisgIHRhc2tUYWlsID0gdDA7
CisgIHNsZWVwKHRpbWUpOworfQorCitmdW5jdGlvbiBzbGVlcCh0aW1lKSB7CisgIGlmIChmcmFt
ZSkgcmV0dXJuOyAvLyBTb29uZXN0IGFsYXJtIGFscmVhZHkgc2V0LCBvciB3aWxsIGJlLgorICBp
ZiAodGltZW91dCkgdGltZW91dCA9IGNsZWFyVGltZW91dCh0aW1lb3V0KTsKKyAgdmFyIGRlbGF5
ID0gdGltZSAtIGNsb2NrTm93OyAvLyBTdHJpY3RseSBsZXNzIHRoYW4gaWYgd2UgcmVjb21wdXRl
ZCBjbG9ja05vdy4KKyAgaWYgKGRlbGF5ID4gMjQpIHsKKyAgICBpZiAodGltZSA8IEluZmluaXR5
KSB0aW1lb3V0ID0gc2V0VGltZW91dCh3YWtlLCB0aW1lIC0gY2xvY2subm93KCkgLSBjbG9ja1Nr
ZXcpOworICAgIGlmIChpbnRlcnZhbCkgaW50ZXJ2YWwgPSBjbGVhckludGVydmFsKGludGVydmFs
KTsKKyAgfSBlbHNlIHsKKyAgICBpZiAoIWludGVydmFsKSBjbG9ja0xhc3QgPSBjbG9jay5ub3co
KSwgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChwb2tlLCBwb2tlRGVsYXkpOworICAgIGZyYW1lID0g
MSwgc2V0RnJhbWUod2FrZSk7CisgIH0KK30KKworZnVuY3Rpb24gdGltZW91dCQxKGNhbGxiYWNr
LCBkZWxheSwgdGltZSkgeworICB2YXIgdCA9IG5ldyBUaW1lcjsKKyAgZGVsYXkgPSBkZWxheSA9
PSBudWxsID8gMCA6ICtkZWxheTsKKyAgdC5yZXN0YXJ0KGZ1bmN0aW9uKGVsYXBzZWQpIHsKKyAg
ICB0LnN0b3AoKTsKKyAgICBjYWxsYmFjayhlbGFwc2VkICsgZGVsYXkpOworICB9LCBkZWxheSwg
dGltZSk7CisgIHJldHVybiB0OworfQorCitmdW5jdGlvbiBpbnRlcnZhbCQxKGNhbGxiYWNrLCBk
ZWxheSwgdGltZSkgeworICB2YXIgdCA9IG5ldyBUaW1lciwgdG90YWwgPSBkZWxheTsKKyAgaWYg
KGRlbGF5ID09IG51bGwpIHJldHVybiB0LnJlc3RhcnQoY2FsbGJhY2ssIGRlbGF5LCB0aW1lKSwg
dDsKKyAgZGVsYXkgPSArZGVsYXksIHRpbWUgPSB0aW1lID09IG51bGwgPyBub3coKSA6ICt0aW1l
OworICB0LnJlc3RhcnQoZnVuY3Rpb24gdGljayhlbGFwc2VkKSB7CisgICAgZWxhcHNlZCArPSB0
b3RhbDsKKyAgICB0LnJlc3RhcnQodGljaywgdG90YWwgKz0gZGVsYXksIHRpbWUpOworICAgIGNh
bGxiYWNrKGVsYXBzZWQpOworICB9LCBkZWxheSwgdGltZSk7CisgIHJldHVybiB0OworfQorCit2
YXIgZW1wdHlPbiA9IGRpc3BhdGNoKCJzdGFydCIsICJlbmQiLCAiY2FuY2VsIiwgImludGVycnVw
dCIpOwordmFyIGVtcHR5VHdlZW4gPSBbXTsKKwordmFyIENSRUFURUQgPSAwOwordmFyIFNDSEVE
VUxFRCA9IDE7Cit2YXIgU1RBUlRJTkcgPSAyOwordmFyIFNUQVJURUQgPSAzOwordmFyIFJVTk5J
TkcgPSA0OwordmFyIEVORElORyA9IDU7Cit2YXIgRU5ERUQgPSA2OworCitmdW5jdGlvbiBzY2hl
ZHVsZShub2RlLCBuYW1lLCBpZCwgaW5kZXgsIGdyb3VwLCB0aW1pbmcpIHsKKyAgdmFyIHNjaGVk
dWxlcyA9IG5vZGUuX190cmFuc2l0aW9uOworICBpZiAoIXNjaGVkdWxlcykgbm9kZS5fX3RyYW5z
aXRpb24gPSB7fTsKKyAgZWxzZSBpZiAoaWQgaW4gc2NoZWR1bGVzKSByZXR1cm47CisgIGNyZWF0
ZSQxKG5vZGUsIGlkLCB7CisgICAgbmFtZTogbmFtZSwKKyAgICBpbmRleDogaW5kZXgsIC8vIEZv
ciBjb250ZXh0IGR1cmluZyBjYWxsYmFjay4KKyAgICBncm91cDogZ3JvdXAsIC8vIEZvciBjb250
ZXh0IGR1cmluZyBjYWxsYmFjay4KKyAgICBvbjogZW1wdHlPbiwKKyAgICB0d2VlbjogZW1wdHlU
d2VlbiwKKyAgICB0aW1lOiB0aW1pbmcudGltZSwKKyAgICBkZWxheTogdGltaW5nLmRlbGF5LAor
ICAgIGR1cmF0aW9uOiB0aW1pbmcuZHVyYXRpb24sCisgICAgZWFzZTogdGltaW5nLmVhc2UsCisg
ICAgdGltZXI6IG51bGwsCisgICAgc3RhdGU6IENSRUFURUQKKyAgfSk7Cit9CisKK2Z1bmN0aW9u
IGluaXQobm9kZSwgaWQpIHsKKyAgdmFyIHNjaGVkdWxlID0gZ2V0JDEobm9kZSwgaWQpOworICBp
ZiAoc2NoZWR1bGUuc3RhdGUgPiBDUkVBVEVEKSB0aHJvdyBuZXcgRXJyb3IoInRvbyBsYXRlOyBh
bHJlYWR5IHNjaGVkdWxlZCIpOworICByZXR1cm4gc2NoZWR1bGU7Cit9CisKK2Z1bmN0aW9uIHNl
dCQxKG5vZGUsIGlkKSB7CisgIHZhciBzY2hlZHVsZSA9IGdldCQxKG5vZGUsIGlkKTsKKyAgaWYg
KHNjaGVkdWxlLnN0YXRlID4gU1RBUlRFRCkgdGhyb3cgbmV3IEVycm9yKCJ0b28gbGF0ZTsgYWxy
ZWFkeSBydW5uaW5nIik7CisgIHJldHVybiBzY2hlZHVsZTsKK30KKworZnVuY3Rpb24gZ2V0JDEo
bm9kZSwgaWQpIHsKKyAgdmFyIHNjaGVkdWxlID0gbm9kZS5fX3RyYW5zaXRpb247CisgIGlmICgh
c2NoZWR1bGUgfHwgIShzY2hlZHVsZSA9IHNjaGVkdWxlW2lkXSkpIHRocm93IG5ldyBFcnJvcigi
dHJhbnNpdGlvbiBub3QgZm91bmQiKTsKKyAgcmV0dXJuIHNjaGVkdWxlOworfQorCitmdW5jdGlv
biBjcmVhdGUkMShub2RlLCBpZCwgc2VsZikgeworICB2YXIgc2NoZWR1bGVzID0gbm9kZS5fX3Ry
YW5zaXRpb24sCisgICAgICB0d2VlbjsKKworICAvLyBJbml0aWFsaXplIHRoZSBzZWxmIHRpbWVy
IHdoZW4gdGhlIHRyYW5zaXRpb24gaXMgY3JlYXRlZC4KKyAgLy8gTm90ZSB0aGUgYWN0dWFsIGRl
bGF5IGlzIG5vdCBrbm93biB1bnRpbCB0aGUgZmlyc3QgY2FsbGJhY2shCisgIHNjaGVkdWxlc1tp
ZF0gPSBzZWxmOworICBzZWxmLnRpbWVyID0gdGltZXIoc2NoZWR1bGUsIDAsIHNlbGYudGltZSk7
CisKKyAgZnVuY3Rpb24gc2NoZWR1bGUoZWxhcHNlZCkgeworICAgIHNlbGYuc3RhdGUgPSBTQ0hF
RFVMRUQ7CisgICAgc2VsZi50aW1lci5yZXN0YXJ0KHN0YXJ0LCBzZWxmLmRlbGF5LCBzZWxmLnRp
bWUpOworCisgICAgLy8gSWYgdGhlIGVsYXBzZWQgZGVsYXkgaXMgbGVzcyB0aGFuIG91ciBmaXJz
dCBzbGVlcCwgc3RhcnQgaW1tZWRpYXRlbHkuCisgICAgaWYgKHNlbGYuZGVsYXkgPD0gZWxhcHNl
ZCkgc3RhcnQoZWxhcHNlZCAtIHNlbGYuZGVsYXkpOworICB9CisKKyAgZnVuY3Rpb24gc3RhcnQo
ZWxhcHNlZCkgeworICAgIHZhciBpLCBqLCBuLCBvOworCisgICAgLy8gSWYgdGhlIHN0YXRlIGlz
IG5vdCBTQ0hFRFVMRUQsIHRoZW4gd2UgcHJldmlvdXNseSBlcnJvcmVkIG9uIHN0YXJ0LgorICAg
IGlmIChzZWxmLnN0YXRlICE9PSBTQ0hFRFVMRUQpIHJldHVybiBzdG9wKCk7CisKKyAgICBmb3Ig
KGkgaW4gc2NoZWR1bGVzKSB7CisgICAgICBvID0gc2NoZWR1bGVzW2ldOworICAgICAgaWYgKG8u
bmFtZSAhPT0gc2VsZi5uYW1lKSBjb250aW51ZTsKKworICAgICAgLy8gV2hpbGUgdGhpcyBlbGVt
ZW50IGFscmVhZHkgaGFzIGEgc3RhcnRpbmcgdHJhbnNpdGlvbiBkdXJpbmcgdGhpcyBmcmFtZSwK
KyAgICAgIC8vIGRlZmVyIHN0YXJ0aW5nIGFuIGludGVycnVwdGluZyB0cmFuc2l0aW9uIHVudGls
IHRoYXQgdHJhbnNpdGlvbiBoYXMgYQorICAgICAgLy8gY2hhbmNlIHRvIHRpY2sgKGFuZCBwb3Nz
aWJseSBlbmQpOyBzZWUgZDMvZDMtdHJhbnNpdGlvbiM1NCEKKyAgICAgIGlmIChvLnN0YXRlID09
PSBTVEFSVEVEKSByZXR1cm4gdGltZW91dCQxKHN0YXJ0KTsKKworICAgICAgLy8gSW50ZXJydXB0
IHRoZSBhY3RpdmUgdHJhbnNpdGlvbiwgaWYgYW55LgorICAgICAgaWYgKG8uc3RhdGUgPT09IFJV
Tk5JTkcpIHsKKyAgICAgICAgby5zdGF0ZSA9IEVOREVEOworICAgICAgICBvLnRpbWVyLnN0b3Ao
KTsKKyAgICAgICAgby5vbi5jYWxsKCJpbnRlcnJ1cHQiLCBub2RlLCBub2RlLl9fZGF0YV9fLCBv
LmluZGV4LCBvLmdyb3VwKTsKKyAgICAgICAgZGVsZXRlIHNjaGVkdWxlc1tpXTsKKyAgICAgIH0K
KworICAgICAgLy8gQ2FuY2VsIGFueSBwcmUtZW1wdGVkIHRyYW5zaXRpb25zLgorICAgICAgZWxz
ZSBpZiAoK2kgPCBpZCkgeworICAgICAgICBvLnN0YXRlID0gRU5ERUQ7CisgICAgICAgIG8udGlt
ZXIuc3RvcCgpOworICAgICAgICBvLm9uLmNhbGwoImNhbmNlbCIsIG5vZGUsIG5vZGUuX19kYXRh
X18sIG8uaW5kZXgsIG8uZ3JvdXApOworICAgICAgICBkZWxldGUgc2NoZWR1bGVzW2ldOworICAg
ICAgfQorICAgIH0KKworICAgIC8vIERlZmVyIHRoZSBmaXJzdCB0aWNrIHRvIGVuZCBvZiB0aGUg
Y3VycmVudCBmcmFtZTsgc2VlIGQzL2QzIzE1NzYuCisgICAgLy8gTm90ZSB0aGUgdHJhbnNpdGlv
biBtYXkgYmUgY2FuY2VsZWQgYWZ0ZXIgc3RhcnQgYW5kIGJlZm9yZSB0aGUgZmlyc3QgdGljayEK
KyAgICAvLyBOb3RlIHRoaXMgbXVzdCBiZSBzY2hlZHVsZWQgYmVmb3JlIHRoZSBzdGFydCBldmVu
dDsgc2VlIGQzL2QzLXRyYW5zaXRpb24jMTYhCisgICAgLy8gQXNzdW1pbmcgdGhpcyBpcyBzdWNj
ZXNzZnVsLCBzdWJzZXF1ZW50IGNhbGxiYWNrcyBnbyBzdHJhaWdodCB0byB0aWNrLgorICAgIHRp
bWVvdXQkMShmdW5jdGlvbigpIHsKKyAgICAgIGlmIChzZWxmLnN0YXRlID09PSBTVEFSVEVEKSB7
CisgICAgICAgIHNlbGYuc3RhdGUgPSBSVU5OSU5HOworICAgICAgICBzZWxmLnRpbWVyLnJlc3Rh
cnQodGljaywgc2VsZi5kZWxheSwgc2VsZi50aW1lKTsKKyAgICAgICAgdGljayhlbGFwc2VkKTsK
KyAgICAgIH0KKyAgICB9KTsKKworICAgIC8vIERpc3BhdGNoIHRoZSBzdGFydCBldmVudC4KKyAg
ICAvLyBOb3RlIHRoaXMgbXVzdCBiZSBkb25lIGJlZm9yZSB0aGUgdHdlZW4gYXJlIGluaXRpYWxp
emVkLgorICAgIHNlbGYuc3RhdGUgPSBTVEFSVElORzsKKyAgICBzZWxmLm9uLmNhbGwoInN0YXJ0
Iiwgbm9kZSwgbm9kZS5fX2RhdGFfXywgc2VsZi5pbmRleCwgc2VsZi5ncm91cCk7CisgICAgaWYg
KHNlbGYuc3RhdGUgIT09IFNUQVJUSU5HKSByZXR1cm47IC8vIGludGVycnVwdGVkCisgICAgc2Vs
Zi5zdGF0ZSA9IFNUQVJURUQ7CisKKyAgICAvLyBJbml0aWFsaXplIHRoZSB0d2VlbiwgZGVsZXRp
bmcgbnVsbCB0d2Vlbi4KKyAgICB0d2VlbiA9IG5ldyBBcnJheShuID0gc2VsZi50d2Vlbi5sZW5n
dGgpOworICAgIGZvciAoaSA9IDAsIGogPSAtMTsgaSA8IG47ICsraSkgeworICAgICAgaWYgKG8g
PSBzZWxmLnR3ZWVuW2ldLnZhbHVlLmNhbGwobm9kZSwgbm9kZS5fX2RhdGFfXywgc2VsZi5pbmRl
eCwgc2VsZi5ncm91cCkpIHsKKyAgICAgICAgdHdlZW5bKytqXSA9IG87CisgICAgICB9CisgICAg
fQorICAgIHR3ZWVuLmxlbmd0aCA9IGogKyAxOworICB9CisKKyAgZnVuY3Rpb24gdGljayhlbGFw
c2VkKSB7CisgICAgdmFyIHQgPSBlbGFwc2VkIDwgc2VsZi5kdXJhdGlvbiA/IHNlbGYuZWFzZS5j
YWxsKG51bGwsIGVsYXBzZWQgLyBzZWxmLmR1cmF0aW9uKSA6IChzZWxmLnRpbWVyLnJlc3RhcnQo
c3RvcCksIHNlbGYuc3RhdGUgPSBFTkRJTkcsIDEpLAorICAgICAgICBpID0gLTEsCisgICAgICAg
IG4gPSB0d2Vlbi5sZW5ndGg7CisKKyAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgdHdlZW5b
aV0uY2FsbChub2RlLCB0KTsKKyAgICB9CisKKyAgICAvLyBEaXNwYXRjaCB0aGUgZW5kIGV2ZW50
LgorICAgIGlmIChzZWxmLnN0YXRlID09PSBFTkRJTkcpIHsKKyAgICAgIHNlbGYub24uY2FsbCgi
ZW5kIiwgbm9kZSwgbm9kZS5fX2RhdGFfXywgc2VsZi5pbmRleCwgc2VsZi5ncm91cCk7CisgICAg
ICBzdG9wKCk7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gc3RvcCgpIHsKKyAgICBzZWxmLnN0
YXRlID0gRU5ERUQ7CisgICAgc2VsZi50aW1lci5zdG9wKCk7CisgICAgZGVsZXRlIHNjaGVkdWxl
c1tpZF07CisgICAgZm9yICh2YXIgaSBpbiBzY2hlZHVsZXMpIHJldHVybjsgLy8gZXNsaW50LWRp
c2FibGUtbGluZSBuby11bnVzZWQtdmFycworICAgIGRlbGV0ZSBub2RlLl9fdHJhbnNpdGlvbjsK
KyAgfQorfQorCitmdW5jdGlvbiBpbnRlcnJ1cHQobm9kZSwgbmFtZSkgeworICB2YXIgc2NoZWR1
bGVzID0gbm9kZS5fX3RyYW5zaXRpb24sCisgICAgICBzY2hlZHVsZSwKKyAgICAgIGFjdGl2ZSwK
KyAgICAgIGVtcHR5ID0gdHJ1ZSwKKyAgICAgIGk7CisKKyAgaWYgKCFzY2hlZHVsZXMpIHJldHVy
bjsKKworICBuYW1lID0gbmFtZSA9PSBudWxsID8gbnVsbCA6IG5hbWUgKyAiIjsKKworICBmb3Ig
KGkgaW4gc2NoZWR1bGVzKSB7CisgICAgaWYgKChzY2hlZHVsZSA9IHNjaGVkdWxlc1tpXSkubmFt
ZSAhPT0gbmFtZSkgeyBlbXB0eSA9IGZhbHNlOyBjb250aW51ZTsgfQorICAgIGFjdGl2ZSA9IHNj
aGVkdWxlLnN0YXRlID4gU1RBUlRJTkcgJiYgc2NoZWR1bGUuc3RhdGUgPCBFTkRJTkc7CisgICAg
c2NoZWR1bGUuc3RhdGUgPSBFTkRFRDsKKyAgICBzY2hlZHVsZS50aW1lci5zdG9wKCk7CisgICAg
c2NoZWR1bGUub24uY2FsbChhY3RpdmUgPyAiaW50ZXJydXB0IiA6ICJjYW5jZWwiLCBub2RlLCBu
b2RlLl9fZGF0YV9fLCBzY2hlZHVsZS5pbmRleCwgc2NoZWR1bGUuZ3JvdXApOworICAgIGRlbGV0
ZSBzY2hlZHVsZXNbaV07CisgIH0KKworICBpZiAoZW1wdHkpIGRlbGV0ZSBub2RlLl9fdHJhbnNp
dGlvbjsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2ludGVycnVwdChuYW1lKSB7CisgIHJldHVy
biB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CisgICAgaW50ZXJydXB0KHRoaXMsIG5hbWUpOworICB9
KTsKK30KKworZnVuY3Rpb24gdHdlZW5SZW1vdmUoaWQsIG5hbWUpIHsKKyAgdmFyIHR3ZWVuMCwg
dHdlZW4xOworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHNjaGVkdWxlID0gc2V0JDEo
dGhpcywgaWQpLAorICAgICAgICB0d2VlbiA9IHNjaGVkdWxlLnR3ZWVuOworCisgICAgLy8gSWYg
dGhpcyBub2RlIHNoYXJlZCB0d2VlbiB3aXRoIHRoZSBwcmV2aW91cyBub2RlLAorICAgIC8vIGp1
c3QgYXNzaWduIHRoZSB1cGRhdGVkIHNoYXJlZCB0d2VlbiBhbmQgd2XigJlyZSBkb25lIQorICAg
IC8vIE90aGVyd2lzZSwgY29weS1vbi13cml0ZS4KKyAgICBpZiAodHdlZW4gIT09IHR3ZWVuMCkg
eworICAgICAgdHdlZW4xID0gdHdlZW4wID0gdHdlZW47CisgICAgICBmb3IgKHZhciBpID0gMCwg
biA9IHR3ZWVuMS5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgaWYgKHR3ZWVuMVtpXS5u
YW1lID09PSBuYW1lKSB7CisgICAgICAgICAgdHdlZW4xID0gdHdlZW4xLnNsaWNlKCk7CisgICAg
ICAgICAgdHdlZW4xLnNwbGljZShpLCAxKTsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQor
ICAgICAgfQorICAgIH0KKworICAgIHNjaGVkdWxlLnR3ZWVuID0gdHdlZW4xOworICB9OworfQor
CitmdW5jdGlvbiB0d2VlbkZ1bmN0aW9uKGlkLCBuYW1lLCB2YWx1ZSkgeworICB2YXIgdHdlZW4w
LCB0d2VlbjE7CisgIGlmICh0eXBlb2YgdmFsdWUgIT09ICJmdW5jdGlvbiIpIHRocm93IG5ldyBF
cnJvcjsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBzY2hlZHVsZSA9IHNldCQxKHRo
aXMsIGlkKSwKKyAgICAgICAgdHdlZW4gPSBzY2hlZHVsZS50d2VlbjsKKworICAgIC8vIElmIHRo
aXMgbm9kZSBzaGFyZWQgdHdlZW4gd2l0aCB0aGUgcHJldmlvdXMgbm9kZSwKKyAgICAvLyBqdXN0
IGFzc2lnbiB0aGUgdXBkYXRlZCBzaGFyZWQgdHdlZW4gYW5kIHdl4oCZcmUgZG9uZSEKKyAgICAv
LyBPdGhlcndpc2UsIGNvcHktb24td3JpdGUuCisgICAgaWYgKHR3ZWVuICE9PSB0d2VlbjApIHsK
KyAgICAgIHR3ZWVuMSA9ICh0d2VlbjAgPSB0d2Vlbikuc2xpY2UoKTsKKyAgICAgIGZvciAodmFy
IHQgPSB7bmFtZTogbmFtZSwgdmFsdWU6IHZhbHVlfSwgaSA9IDAsIG4gPSB0d2VlbjEubGVuZ3Ro
OyBpIDwgbjsgKytpKSB7CisgICAgICAgIGlmICh0d2VlbjFbaV0ubmFtZSA9PT0gbmFtZSkgewor
ICAgICAgICAgIHR3ZWVuMVtpXSA9IHQ7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAg
ICAgIH0KKyAgICAgIGlmIChpID09PSBuKSB0d2VlbjEucHVzaCh0KTsKKyAgICB9CisKKyAgICBz
Y2hlZHVsZS50d2VlbiA9IHR3ZWVuMTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl90
d2VlbihuYW1lLCB2YWx1ZSkgeworICB2YXIgaWQgPSB0aGlzLl9pZDsKKworICBuYW1lICs9ICIi
OworCisgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikgeworICAgIHZhciB0d2VlbiA9IGdldCQx
KHRoaXMubm9kZSgpLCBpZCkudHdlZW47CisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSB0d2Vlbi5s
ZW5ndGgsIHQ7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmICgodCA9IHR3ZWVuW2ldKS5uYW1lID09
PSBuYW1lKSB7CisgICAgICAgIHJldHVybiB0LnZhbHVlOworICAgICAgfQorICAgIH0KKyAgICBy
ZXR1cm4gbnVsbDsKKyAgfQorCisgIHJldHVybiB0aGlzLmVhY2goKHZhbHVlID09IG51bGwgPyB0
d2VlblJlbW92ZSA6IHR3ZWVuRnVuY3Rpb24pKGlkLCBuYW1lLCB2YWx1ZSkpOworfQorCitmdW5j
dGlvbiB0d2VlblZhbHVlKHRyYW5zaXRpb24sIG5hbWUsIHZhbHVlKSB7CisgIHZhciBpZCA9IHRy
YW5zaXRpb24uX2lkOworCisgIHRyYW5zaXRpb24uZWFjaChmdW5jdGlvbigpIHsKKyAgICB2YXIg
c2NoZWR1bGUgPSBzZXQkMSh0aGlzLCBpZCk7CisgICAgKHNjaGVkdWxlLnZhbHVlIHx8IChzY2hl
ZHVsZS52YWx1ZSA9IHt9KSlbbmFtZV0gPSB2YWx1ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwor
ICB9KTsKKworICByZXR1cm4gZnVuY3Rpb24obm9kZSkgeworICAgIHJldHVybiBnZXQkMShub2Rl
LCBpZCkudmFsdWVbbmFtZV07CisgIH07Cit9CisKK2Z1bmN0aW9uIGludGVycG9sYXRlKGEsIGIp
IHsKKyAgdmFyIGM7CisgIHJldHVybiAodHlwZW9mIGIgPT09ICJudW1iZXIiID8gaW50ZXJwb2xh
dGVOdW1iZXIKKyAgICAgIDogYiBpbnN0YW5jZW9mIGNvbG9yID8gaW50ZXJwb2xhdGVSZ2IKKyAg
ICAgIDogKGMgPSBjb2xvcihiKSkgPyAoYiA9IGMsIGludGVycG9sYXRlUmdiKQorICAgICAgOiBp
bnRlcnBvbGF0ZVN0cmluZykoYSwgYik7Cit9CisKK2Z1bmN0aW9uIGF0dHJSZW1vdmUkMShuYW1l
KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZShuYW1l
KTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0clJlbW92ZU5TJDEoZnVsbG5hbWUpIHsKKyAgcmV0
dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlTlMoZnVsbG5hbWUuc3Bh
Y2UsIGZ1bGxuYW1lLmxvY2FsKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0ckNvbnN0YW50JDEo
bmFtZSwgaW50ZXJwb2xhdGUsIHZhbHVlMSkgeworICB2YXIgc3RyaW5nMDAsCisgICAgICBzdHJp
bmcxID0gdmFsdWUxICsgIiIsCisgICAgICBpbnRlcnBvbGF0ZTA7CisgIHJldHVybiBmdW5jdGlv
bigpIHsKKyAgICB2YXIgc3RyaW5nMCA9IHRoaXMuZ2V0QXR0cmlidXRlKG5hbWUpOworICAgIHJl
dHVybiBzdHJpbmcwID09PSBzdHJpbmcxID8gbnVsbAorICAgICAgICA6IHN0cmluZzAgPT09IHN0
cmluZzAwID8gaW50ZXJwb2xhdGUwCisgICAgICAgIDogaW50ZXJwb2xhdGUwID0gaW50ZXJwb2xh
dGUoc3RyaW5nMDAgPSBzdHJpbmcwLCB2YWx1ZTEpOworICB9OworfQorCitmdW5jdGlvbiBhdHRy
Q29uc3RhbnROUyQxKGZ1bGxuYW1lLCBpbnRlcnBvbGF0ZSwgdmFsdWUxKSB7CisgIHZhciBzdHJp
bmcwMCwKKyAgICAgIHN0cmluZzEgPSB2YWx1ZTEgKyAiIiwKKyAgICAgIGludGVycG9sYXRlMDsK
KyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBzdHJpbmcwID0gdGhpcy5nZXRBdHRyaWJ1
dGVOUyhmdWxsbmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWwpOworICAgIHJldHVybiBzdHJpbmcw
ID09PSBzdHJpbmcxID8gbnVsbAorICAgICAgICA6IHN0cmluZzAgPT09IHN0cmluZzAwID8gaW50
ZXJwb2xhdGUwCisgICAgICAgIDogaW50ZXJwb2xhdGUwID0gaW50ZXJwb2xhdGUoc3RyaW5nMDAg
PSBzdHJpbmcwLCB2YWx1ZTEpOworICB9OworfQorCitmdW5jdGlvbiBhdHRyRnVuY3Rpb24kMShu
YW1lLCBpbnRlcnBvbGF0ZSwgdmFsdWUpIHsKKyAgdmFyIHN0cmluZzAwLAorICAgICAgc3RyaW5n
MTAsCisgICAgICBpbnRlcnBvbGF0ZTA7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIg
c3RyaW5nMCwgdmFsdWUxID0gdmFsdWUodGhpcyksIHN0cmluZzE7CisgICAgaWYgKHZhbHVlMSA9
PSBudWxsKSByZXR1cm4gdm9pZCB0aGlzLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTsKKyAgICBzdHJp
bmcwID0gdGhpcy5nZXRBdHRyaWJ1dGUobmFtZSk7CisgICAgc3RyaW5nMSA9IHZhbHVlMSArICIi
OworICAgIHJldHVybiBzdHJpbmcwID09PSBzdHJpbmcxID8gbnVsbAorICAgICAgICA6IHN0cmlu
ZzAgPT09IHN0cmluZzAwICYmIHN0cmluZzEgPT09IHN0cmluZzEwID8gaW50ZXJwb2xhdGUwCisg
ICAgICAgIDogKHN0cmluZzEwID0gc3RyaW5nMSwgaW50ZXJwb2xhdGUwID0gaW50ZXJwb2xhdGUo
c3RyaW5nMDAgPSBzdHJpbmcwLCB2YWx1ZTEpKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0ckZ1
bmN0aW9uTlMkMShmdWxsbmFtZSwgaW50ZXJwb2xhdGUsIHZhbHVlKSB7CisgIHZhciBzdHJpbmcw
MCwKKyAgICAgIHN0cmluZzEwLAorICAgICAgaW50ZXJwb2xhdGUwOworICByZXR1cm4gZnVuY3Rp
b24oKSB7CisgICAgdmFyIHN0cmluZzAsIHZhbHVlMSA9IHZhbHVlKHRoaXMpLCBzdHJpbmcxOwor
ICAgIGlmICh2YWx1ZTEgPT0gbnVsbCkgcmV0dXJuIHZvaWQgdGhpcy5yZW1vdmVBdHRyaWJ1dGVO
UyhmdWxsbmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWwpOworICAgIHN0cmluZzAgPSB0aGlzLmdl
dEF0dHJpYnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCk7CisgICAgc3RyaW5n
MSA9IHZhbHVlMSArICIiOworICAgIHJldHVybiBzdHJpbmcwID09PSBzdHJpbmcxID8gbnVsbAor
ICAgICAgICA6IHN0cmluZzAgPT09IHN0cmluZzAwICYmIHN0cmluZzEgPT09IHN0cmluZzEwID8g
aW50ZXJwb2xhdGUwCisgICAgICAgIDogKHN0cmluZzEwID0gc3RyaW5nMSwgaW50ZXJwb2xhdGUw
ID0gaW50ZXJwb2xhdGUoc3RyaW5nMDAgPSBzdHJpbmcwLCB2YWx1ZTEpKTsKKyAgfTsKK30KKwor
ZnVuY3Rpb24gdHJhbnNpdGlvbl9hdHRyKG5hbWUsIHZhbHVlKSB7CisgIHZhciBmdWxsbmFtZSA9
IG5hbWVzcGFjZShuYW1lKSwgaSA9IGZ1bGxuYW1lID09PSAidHJhbnNmb3JtIiA/IGludGVycG9s
YXRlVHJhbnNmb3JtU3ZnIDogaW50ZXJwb2xhdGU7CisgIHJldHVybiB0aGlzLmF0dHJUd2Vlbihu
YW1lLCB0eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIKKyAgICAgID8gKGZ1bGxuYW1lLmxvY2Fs
ID8gYXR0ckZ1bmN0aW9uTlMkMSA6IGF0dHJGdW5jdGlvbiQxKShmdWxsbmFtZSwgaSwgdHdlZW5W
YWx1ZSh0aGlzLCAiYXR0ci4iICsgbmFtZSwgdmFsdWUpKQorICAgICAgOiB2YWx1ZSA9PSBudWxs
ID8gKGZ1bGxuYW1lLmxvY2FsID8gYXR0clJlbW92ZU5TJDEgOiBhdHRyUmVtb3ZlJDEpKGZ1bGxu
YW1lKQorICAgICAgOiAoZnVsbG5hbWUubG9jYWwgPyBhdHRyQ29uc3RhbnROUyQxIDogYXR0ckNv
bnN0YW50JDEpKGZ1bGxuYW1lLCBpLCB2YWx1ZSkpOworfQorCitmdW5jdGlvbiBhdHRySW50ZXJw
b2xhdGUobmFtZSwgaSkgeworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHRoaXMuc2V0QXR0
cmlidXRlKG5hbWUsIGkuY2FsbCh0aGlzLCB0KSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGF0dHJJ
bnRlcnBvbGF0ZU5TKGZ1bGxuYW1lLCBpKSB7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAg
dGhpcy5zZXRBdHRyaWJ1dGVOUyhmdWxsbmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWwsIGkuY2Fs
bCh0aGlzLCB0KSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGF0dHJUd2Vlbk5TKGZ1bGxuYW1lLCB2
YWx1ZSkgeworICB2YXIgdDAsIGkwOworICBmdW5jdGlvbiB0d2VlbigpIHsKKyAgICB2YXIgaSA9
IHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKGkgIT09IGkwKSB0MCA9IChp
MCA9IGkpICYmIGF0dHJJbnRlcnBvbGF0ZU5TKGZ1bGxuYW1lLCBpKTsKKyAgICByZXR1cm4gdDA7
CisgIH0KKyAgdHdlZW4uX3ZhbHVlID0gdmFsdWU7CisgIHJldHVybiB0d2VlbjsKK30KKworZnVu
Y3Rpb24gYXR0clR3ZWVuKG5hbWUsIHZhbHVlKSB7CisgIHZhciB0MCwgaTA7CisgIGZ1bmN0aW9u
IHR3ZWVuKCkgeworICAgIHZhciBpID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAg
ICBpZiAoaSAhPT0gaTApIHQwID0gKGkwID0gaSkgJiYgYXR0ckludGVycG9sYXRlKG5hbWUsIGkp
OworICAgIHJldHVybiB0MDsKKyAgfQorICB0d2Vlbi5fdmFsdWUgPSB2YWx1ZTsKKyAgcmV0dXJu
IHR3ZWVuOworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX2F0dHJUd2VlbihuYW1lLCB2YWx1ZSkg
eworICB2YXIga2V5ID0gImF0dHIuIiArIG5hbWU7CisgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwg
MikgcmV0dXJuIChrZXkgPSB0aGlzLnR3ZWVuKGtleSkpICYmIGtleS5fdmFsdWU7CisgIGlmICh2
YWx1ZSA9PSBudWxsKSByZXR1cm4gdGhpcy50d2VlbihrZXksIG51bGwpOworICBpZiAodHlwZW9m
IHZhbHVlICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHZhciBmdWxsbmFtZSA9
IG5hbWVzcGFjZShuYW1lKTsKKyAgcmV0dXJuIHRoaXMudHdlZW4oa2V5LCAoZnVsbG5hbWUubG9j
YWwgPyBhdHRyVHdlZW5OUyA6IGF0dHJUd2VlbikoZnVsbG5hbWUsIHZhbHVlKSk7Cit9CisKK2Z1
bmN0aW9uIGRlbGF5RnVuY3Rpb24oaWQsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsK
KyAgICBpbml0KHRoaXMsIGlkKS5kZWxheSA9ICt2YWx1ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMp
OworICB9OworfQorCitmdW5jdGlvbiBkZWxheUNvbnN0YW50KGlkLCB2YWx1ZSkgeworICByZXR1
cm4gdmFsdWUgPSArdmFsdWUsIGZ1bmN0aW9uKCkgeworICAgIGluaXQodGhpcywgaWQpLmRlbGF5
ID0gdmFsdWU7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fZGVsYXkodmFsdWUpIHsK
KyAgdmFyIGlkID0gdGhpcy5faWQ7CisKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgKKyAgICAg
ID8gdGhpcy5lYWNoKCh0eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIKKyAgICAgICAgICA/IGRl
bGF5RnVuY3Rpb24KKyAgICAgICAgICA6IGRlbGF5Q29uc3RhbnQpKGlkLCB2YWx1ZSkpCisgICAg
ICA6IGdldCQxKHRoaXMubm9kZSgpLCBpZCkuZGVsYXk7Cit9CisKK2Z1bmN0aW9uIGR1cmF0aW9u
RnVuY3Rpb24oaWQsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICBzZXQkMSh0
aGlzLCBpZCkuZHVyYXRpb24gPSArdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgfTsK
K30KKworZnVuY3Rpb24gZHVyYXRpb25Db25zdGFudChpZCwgdmFsdWUpIHsKKyAgcmV0dXJuIHZh
bHVlID0gK3ZhbHVlLCBmdW5jdGlvbigpIHsKKyAgICBzZXQkMSh0aGlzLCBpZCkuZHVyYXRpb24g
PSB2YWx1ZTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl9kdXJhdGlvbih2YWx1ZSkg
eworICB2YXIgaWQgPSB0aGlzLl9pZDsKKworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aAorICAg
ICAgPyB0aGlzLmVhY2goKHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAgICAgICAgID8g
ZHVyYXRpb25GdW5jdGlvbgorICAgICAgICAgIDogZHVyYXRpb25Db25zdGFudCkoaWQsIHZhbHVl
KSkKKyAgICAgIDogZ2V0JDEodGhpcy5ub2RlKCksIGlkKS5kdXJhdGlvbjsKK30KKworZnVuY3Rp
b24gZWFzZUNvbnN0YW50KGlkLCB2YWx1ZSkgeworICBpZiAodHlwZW9mIHZhbHVlICE9PSAiZnVu
Y3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICBzZXQk
MSh0aGlzLCBpZCkuZWFzZSA9IHZhbHVlOworICB9OworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9u
X2Vhc2UodmFsdWUpIHsKKyAgdmFyIGlkID0gdGhpcy5faWQ7CisKKyAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGgKKyAgICAgID8gdGhpcy5lYWNoKGVhc2VDb25zdGFudChpZCwgdmFsdWUpKQorICAg
ICAgOiBnZXQkMSh0aGlzLm5vZGUoKSwgaWQpLmVhc2U7Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRp
b25fZmlsdGVyKG1hdGNoKSB7CisgIGlmICh0eXBlb2YgbWF0Y2ggIT09ICJmdW5jdGlvbiIpIG1h
dGNoID0gbWF0Y2hlcihtYXRjaCk7CisKKyAgZm9yICh2YXIgZ3JvdXBzID0gdGhpcy5fZ3JvdXBz
LCBtID0gZ3JvdXBzLmxlbmd0aCwgc3ViZ3JvdXBzID0gbmV3IEFycmF5KG0pLCBqID0gMDsgaiA8
IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwID0gZ3JvdXBzW2pdLCBuID0gZ3JvdXAubGVu
Z3RoLCBzdWJncm91cCA9IHN1Ymdyb3Vwc1tqXSA9IFtdLCBub2RlLCBpID0gMDsgaSA8IG47ICsr
aSkgeworICAgICAgaWYgKChub2RlID0gZ3JvdXBbaV0pICYmIG1hdGNoLmNhbGwobm9kZSwgbm9k
ZS5fX2RhdGFfXywgaSwgZ3JvdXApKSB7CisgICAgICAgIHN1Ymdyb3VwLnB1c2gobm9kZSk7Cisg
ICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIG5ldyBUcmFuc2l0aW9uKHN1Ymdyb3Vwcywg
dGhpcy5fcGFyZW50cywgdGhpcy5fbmFtZSwgdGhpcy5faWQpOworfQorCitmdW5jdGlvbiB0cmFu
c2l0aW9uX21lcmdlKHRyYW5zaXRpb24pIHsKKyAgaWYgKHRyYW5zaXRpb24uX2lkICE9PSB0aGlz
Ll9pZCkgdGhyb3cgbmV3IEVycm9yOworCisgIGZvciAodmFyIGdyb3VwczAgPSB0aGlzLl9ncm91
cHMsIGdyb3VwczEgPSB0cmFuc2l0aW9uLl9ncm91cHMsIG0wID0gZ3JvdXBzMC5sZW5ndGgsIG0x
ID0gZ3JvdXBzMS5sZW5ndGgsIG0gPSBNYXRoLm1pbihtMCwgbTEpLCBtZXJnZXMgPSBuZXcgQXJy
YXkobTApLCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwMCA9IGdyb3Vw
czBbal0sIGdyb3VwMSA9IGdyb3VwczFbal0sIG4gPSBncm91cDAubGVuZ3RoLCBtZXJnZSA9IG1l
cmdlc1tqXSA9IG5ldyBBcnJheShuKSwgbm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAg
IGlmIChub2RlID0gZ3JvdXAwW2ldIHx8IGdyb3VwMVtpXSkgeworICAgICAgICBtZXJnZVtpXSA9
IG5vZGU7CisgICAgICB9CisgICAgfQorICB9CisKKyAgZm9yICg7IGogPCBtMDsgKytqKSB7Cisg
ICAgbWVyZ2VzW2pdID0gZ3JvdXBzMFtqXTsKKyAgfQorCisgIHJldHVybiBuZXcgVHJhbnNpdGlv
bihtZXJnZXMsIHRoaXMuX3BhcmVudHMsIHRoaXMuX25hbWUsIHRoaXMuX2lkKTsKK30KKworZnVu
Y3Rpb24gc3RhcnQobmFtZSkgeworICByZXR1cm4gKG5hbWUgKyAiIikudHJpbSgpLnNwbGl0KC9e
fFxzKy8pLmV2ZXJ5KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgaSA9IHQuaW5kZXhPZigiLiIpOwor
ICAgIGlmIChpID49IDApIHQgPSB0LnNsaWNlKDAsIGkpOworICAgIHJldHVybiAhdCB8fCB0ID09
PSAic3RhcnQiOworICB9KTsKK30KKworZnVuY3Rpb24gb25GdW5jdGlvbihpZCwgbmFtZSwgbGlz
dGVuZXIpIHsKKyAgdmFyIG9uMCwgb24xLCBzaXQgPSBzdGFydChuYW1lKSA/IGluaXQgOiBzZXQk
MTsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBzY2hlZHVsZSA9IHNpdCh0aGlzLCBp
ZCksCisgICAgICAgIG9uID0gc2NoZWR1bGUub247CisKKyAgICAvLyBJZiB0aGlzIG5vZGUgc2hh
cmVkIGEgZGlzcGF0Y2ggd2l0aCB0aGUgcHJldmlvdXMgbm9kZSwKKyAgICAvLyBqdXN0IGFzc2ln
biB0aGUgdXBkYXRlZCBzaGFyZWQgZGlzcGF0Y2ggYW5kIHdl4oCZcmUgZG9uZSEKKyAgICAvLyBP
dGhlcndpc2UsIGNvcHktb24td3JpdGUuCisgICAgaWYgKG9uICE9PSBvbjApIChvbjEgPSAob24w
ID0gb24pLmNvcHkoKSkub24obmFtZSwgbGlzdGVuZXIpOworCisgICAgc2NoZWR1bGUub24gPSBv
bjE7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fb24obmFtZSwgbGlzdGVuZXIpIHsK
KyAgdmFyIGlkID0gdGhpcy5faWQ7CisKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPCAyCisg
ICAgICA/IGdldCQxKHRoaXMubm9kZSgpLCBpZCkub24ub24obmFtZSkKKyAgICAgIDogdGhpcy5l
YWNoKG9uRnVuY3Rpb24oaWQsIG5hbWUsIGxpc3RlbmVyKSk7Cit9CisKK2Z1bmN0aW9uIHJlbW92
ZUZ1bmN0aW9uKGlkKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgcGFyZW50ID0g
dGhpcy5wYXJlbnROb2RlOworICAgIGZvciAodmFyIGkgaW4gdGhpcy5fX3RyYW5zaXRpb24pIGlm
ICgraSAhPT0gaWQpIHJldHVybjsKKyAgICBpZiAocGFyZW50KSBwYXJlbnQucmVtb3ZlQ2hpbGQo
dGhpcyk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fcmVtb3ZlKCkgeworICByZXR1
cm4gdGhpcy5vbigiZW5kLnJlbW92ZSIsIHJlbW92ZUZ1bmN0aW9uKHRoaXMuX2lkKSk7Cit9CisK
K2Z1bmN0aW9uIHRyYW5zaXRpb25fc2VsZWN0KHNlbGVjdCkgeworICB2YXIgbmFtZSA9IHRoaXMu
X25hbWUsCisgICAgICBpZCA9IHRoaXMuX2lkOworCisgIGlmICh0eXBlb2Ygc2VsZWN0ICE9PSAi
ZnVuY3Rpb24iKSBzZWxlY3QgPSBzZWxlY3RvcihzZWxlY3QpOworCisgIGZvciAodmFyIGdyb3Vw
cyA9IHRoaXMuX2dyb3VwcywgbSA9IGdyb3Vwcy5sZW5ndGgsIHN1Ymdyb3VwcyA9IG5ldyBBcnJh
eShtKSwgaiA9IDA7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdyb3Vwc1tq
XSwgbiA9IGdyb3VwLmxlbmd0aCwgc3ViZ3JvdXAgPSBzdWJncm91cHNbal0gPSBuZXcgQXJyYXko
biksIG5vZGUsIHN1Ym5vZGUsIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAoKG5vZGUg
PSBncm91cFtpXSkgJiYgKHN1Ym5vZGUgPSBzZWxlY3QuY2FsbChub2RlLCBub2RlLl9fZGF0YV9f
LCBpLCBncm91cCkpKSB7CisgICAgICAgIGlmICgiX19kYXRhX18iIGluIG5vZGUpIHN1Ym5vZGUu
X19kYXRhX18gPSBub2RlLl9fZGF0YV9fOworICAgICAgICBzdWJncm91cFtpXSA9IHN1Ym5vZGU7
CisgICAgICAgIHNjaGVkdWxlKHN1Ymdyb3VwW2ldLCBuYW1lLCBpZCwgaSwgc3ViZ3JvdXAsIGdl
dCQxKG5vZGUsIGlkKSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIG5ldyBUcmFu
c2l0aW9uKHN1Ymdyb3VwcywgdGhpcy5fcGFyZW50cywgbmFtZSwgaWQpOworfQorCitmdW5jdGlv
biB0cmFuc2l0aW9uX3NlbGVjdEFsbChzZWxlY3QpIHsKKyAgdmFyIG5hbWUgPSB0aGlzLl9uYW1l
LAorICAgICAgaWQgPSB0aGlzLl9pZDsKKworICBpZiAodHlwZW9mIHNlbGVjdCAhPT0gImZ1bmN0
aW9uIikgc2VsZWN0ID0gc2VsZWN0b3JBbGwoc2VsZWN0KTsKKworICBmb3IgKHZhciBncm91cHMg
PSB0aGlzLl9ncm91cHMsIG0gPSBncm91cHMubGVuZ3RoLCBzdWJncm91cHMgPSBbXSwgcGFyZW50
cyA9IFtdLCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwID0gZ3JvdXBz
W2pdLCBuID0gZ3JvdXAubGVuZ3RoLCBub2RlLCBpID0gMDsgaSA8IG47ICsraSkgeworICAgICAg
aWYgKG5vZGUgPSBncm91cFtpXSkgeworICAgICAgICBmb3IgKHZhciBjaGlsZHJlbiA9IHNlbGVj
dC5jYWxsKG5vZGUsIG5vZGUuX19kYXRhX18sIGksIGdyb3VwKSwgY2hpbGQsIGluaGVyaXQgPSBn
ZXQkMShub2RlLCBpZCksIGsgPSAwLCBsID0gY2hpbGRyZW4ubGVuZ3RoOyBrIDwgbDsgKytrKSB7
CisgICAgICAgICAgaWYgKGNoaWxkID0gY2hpbGRyZW5ba10pIHsKKyAgICAgICAgICAgIHNjaGVk
dWxlKGNoaWxkLCBuYW1lLCBpZCwgaywgY2hpbGRyZW4sIGluaGVyaXQpOworICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgICBzdWJncm91cHMucHVzaChjaGlsZHJlbik7CisgICAgICAgIHBh
cmVudHMucHVzaChub2RlKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gbmV3IFRy
YW5zaXRpb24oc3ViZ3JvdXBzLCBwYXJlbnRzLCBuYW1lLCBpZCk7Cit9CisKK3ZhciBTZWxlY3Rp
b24kMSA9IHNlbGVjdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3I7CisKK2Z1bmN0aW9uIHRyYW5z
aXRpb25fc2VsZWN0aW9uKCkgeworICByZXR1cm4gbmV3IFNlbGVjdGlvbiQxKHRoaXMuX2dyb3Vw
cywgdGhpcy5fcGFyZW50cyk7Cit9CisKK2Z1bmN0aW9uIHN0eWxlTnVsbChuYW1lLCBpbnRlcnBv
bGF0ZSkgeworICB2YXIgc3RyaW5nMDAsCisgICAgICBzdHJpbmcxMCwKKyAgICAgIGludGVycG9s
YXRlMDsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBzdHJpbmcwID0gc3R5bGVWYWx1
ZSh0aGlzLCBuYW1lKSwKKyAgICAgICAgc3RyaW5nMSA9ICh0aGlzLnN0eWxlLnJlbW92ZVByb3Bl
cnR5KG5hbWUpLCBzdHlsZVZhbHVlKHRoaXMsIG5hbWUpKTsKKyAgICByZXR1cm4gc3RyaW5nMCA9
PT0gc3RyaW5nMSA/IG51bGwKKyAgICAgICAgOiBzdHJpbmcwID09PSBzdHJpbmcwMCAmJiBzdHJp
bmcxID09PSBzdHJpbmcxMCA/IGludGVycG9sYXRlMAorICAgICAgICA6IGludGVycG9sYXRlMCA9
IGludGVycG9sYXRlKHN0cmluZzAwID0gc3RyaW5nMCwgc3RyaW5nMTAgPSBzdHJpbmcxKTsKKyAg
fTsKK30KKworZnVuY3Rpb24gc3R5bGVSZW1vdmUkMShuYW1lKSB7CisgIHJldHVybiBmdW5jdGlv
bigpIHsKKyAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KG5hbWUpOworICB9OworfQorCitm
dW5jdGlvbiBzdHlsZUNvbnN0YW50JDEobmFtZSwgaW50ZXJwb2xhdGUsIHZhbHVlMSkgeworICB2
YXIgc3RyaW5nMDAsCisgICAgICBzdHJpbmcxID0gdmFsdWUxICsgIiIsCisgICAgICBpbnRlcnBv
bGF0ZTA7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgc3RyaW5nMCA9IHN0eWxlVmFs
dWUodGhpcywgbmFtZSk7CisgICAgcmV0dXJuIHN0cmluZzAgPT09IHN0cmluZzEgPyBudWxsCisg
ICAgICAgIDogc3RyaW5nMCA9PT0gc3RyaW5nMDAgPyBpbnRlcnBvbGF0ZTAKKyAgICAgICAgOiBp
bnRlcnBvbGF0ZTAgPSBpbnRlcnBvbGF0ZShzdHJpbmcwMCA9IHN0cmluZzAsIHZhbHVlMSk7Cisg
IH07Cit9CisKK2Z1bmN0aW9uIHN0eWxlRnVuY3Rpb24kMShuYW1lLCBpbnRlcnBvbGF0ZSwgdmFs
dWUpIHsKKyAgdmFyIHN0cmluZzAwLAorICAgICAgc3RyaW5nMTAsCisgICAgICBpbnRlcnBvbGF0
ZTA7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgc3RyaW5nMCA9IHN0eWxlVmFsdWUo
dGhpcywgbmFtZSksCisgICAgICAgIHZhbHVlMSA9IHZhbHVlKHRoaXMpLAorICAgICAgICBzdHJp
bmcxID0gdmFsdWUxICsgIiI7CisgICAgaWYgKHZhbHVlMSA9PSBudWxsKSBzdHJpbmcxID0gdmFs
dWUxID0gKHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkobmFtZSksIHN0eWxlVmFsdWUodGhpcywg
bmFtZSkpOworICAgIHJldHVybiBzdHJpbmcwID09PSBzdHJpbmcxID8gbnVsbAorICAgICAgICA6
IHN0cmluZzAgPT09IHN0cmluZzAwICYmIHN0cmluZzEgPT09IHN0cmluZzEwID8gaW50ZXJwb2xh
dGUwCisgICAgICAgIDogKHN0cmluZzEwID0gc3RyaW5nMSwgaW50ZXJwb2xhdGUwID0gaW50ZXJw
b2xhdGUoc3RyaW5nMDAgPSBzdHJpbmcwLCB2YWx1ZTEpKTsKKyAgfTsKK30KKworZnVuY3Rpb24g
c3R5bGVNYXliZVJlbW92ZShpZCwgbmFtZSkgeworICB2YXIgb24wLCBvbjEsIGxpc3RlbmVyMCwg
a2V5ID0gInN0eWxlLiIgKyBuYW1lLCBldmVudCA9ICJlbmQuIiArIGtleSwgcmVtb3ZlOworICBy
ZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHNjaGVkdWxlID0gc2V0JDEodGhpcywgaWQpLAor
ICAgICAgICBvbiA9IHNjaGVkdWxlLm9uLAorICAgICAgICBsaXN0ZW5lciA9IHNjaGVkdWxlLnZh
bHVlW2tleV0gPT0gbnVsbCA/IHJlbW92ZSB8fCAocmVtb3ZlID0gc3R5bGVSZW1vdmUkMShuYW1l
KSkgOiB1bmRlZmluZWQ7CisKKyAgICAvLyBJZiB0aGlzIG5vZGUgc2hhcmVkIGEgZGlzcGF0Y2gg
d2l0aCB0aGUgcHJldmlvdXMgbm9kZSwKKyAgICAvLyBqdXN0IGFzc2lnbiB0aGUgdXBkYXRlZCBz
aGFyZWQgZGlzcGF0Y2ggYW5kIHdl4oCZcmUgZG9uZSEKKyAgICAvLyBPdGhlcndpc2UsIGNvcHkt
b24td3JpdGUuCisgICAgaWYgKG9uICE9PSBvbjAgfHwgbGlzdGVuZXIwICE9PSBsaXN0ZW5lcikg
KG9uMSA9IChvbjAgPSBvbikuY29weSgpKS5vbihldmVudCwgbGlzdGVuZXIwID0gbGlzdGVuZXIp
OworCisgICAgc2NoZWR1bGUub24gPSBvbjE7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRp
b25fc3R5bGUobmFtZSwgdmFsdWUsIHByaW9yaXR5KSB7CisgIHZhciBpID0gKG5hbWUgKz0gIiIp
ID09PSAidHJhbnNmb3JtIiA/IGludGVycG9sYXRlVHJhbnNmb3JtQ3NzIDogaW50ZXJwb2xhdGU7
CisgIHJldHVybiB2YWx1ZSA9PSBudWxsID8gdGhpcworICAgICAgLnN0eWxlVHdlZW4obmFtZSwg
c3R5bGVOdWxsKG5hbWUsIGkpKQorICAgICAgLm9uKCJlbmQuc3R5bGUuIiArIG5hbWUsIHN0eWxl
UmVtb3ZlJDEobmFtZSkpCisgICAgOiB0eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIgPyB0aGlz
CisgICAgICAuc3R5bGVUd2VlbihuYW1lLCBzdHlsZUZ1bmN0aW9uJDEobmFtZSwgaSwgdHdlZW5W
YWx1ZSh0aGlzLCAic3R5bGUuIiArIG5hbWUsIHZhbHVlKSkpCisgICAgICAuZWFjaChzdHlsZU1h
eWJlUmVtb3ZlKHRoaXMuX2lkLCBuYW1lKSkKKyAgICA6IHRoaXMKKyAgICAgIC5zdHlsZVR3ZWVu
KG5hbWUsIHN0eWxlQ29uc3RhbnQkMShuYW1lLCBpLCB2YWx1ZSksIHByaW9yaXR5KQorICAgICAg
Lm9uKCJlbmQuc3R5bGUuIiArIG5hbWUsIG51bGwpOworfQorCitmdW5jdGlvbiBzdHlsZUludGVy
cG9sYXRlKG5hbWUsIGksIHByaW9yaXR5KSB7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAg
dGhpcy5zdHlsZS5zZXRQcm9wZXJ0eShuYW1lLCBpLmNhbGwodGhpcywgdCksIHByaW9yaXR5KTsK
KyAgfTsKK30KKworZnVuY3Rpb24gc3R5bGVUd2VlbihuYW1lLCB2YWx1ZSwgcHJpb3JpdHkpIHsK
KyAgdmFyIHQsIGkwOworICBmdW5jdGlvbiB0d2VlbigpIHsKKyAgICB2YXIgaSA9IHZhbHVlLmFw
cGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKGkgIT09IGkwKSB0ID0gKGkwID0gaSkgJiYg
c3R5bGVJbnRlcnBvbGF0ZShuYW1lLCBpLCBwcmlvcml0eSk7CisgICAgcmV0dXJuIHQ7CisgIH0K
KyAgdHdlZW4uX3ZhbHVlID0gdmFsdWU7CisgIHJldHVybiB0d2VlbjsKK30KKworZnVuY3Rpb24g
dHJhbnNpdGlvbl9zdHlsZVR3ZWVuKG5hbWUsIHZhbHVlLCBwcmlvcml0eSkgeworICB2YXIga2V5
ID0gInN0eWxlLiIgKyAobmFtZSArPSAiIik7CisgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikg
cmV0dXJuIChrZXkgPSB0aGlzLnR3ZWVuKGtleSkpICYmIGtleS5fdmFsdWU7CisgIGlmICh2YWx1
ZSA9PSBudWxsKSByZXR1cm4gdGhpcy50d2VlbihrZXksIG51bGwpOworICBpZiAodHlwZW9mIHZh
bHVlICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHJldHVybiB0aGlzLnR3ZWVu
KGtleSwgc3R5bGVUd2VlbihuYW1lLCB2YWx1ZSwgcHJpb3JpdHkgPT0gbnVsbCA/ICIiIDogcHJp
b3JpdHkpKTsKK30KKworZnVuY3Rpb24gdGV4dENvbnN0YW50JDEodmFsdWUpIHsKKyAgcmV0dXJu
IGZ1bmN0aW9uKCkgeworICAgIHRoaXMudGV4dENvbnRlbnQgPSB2YWx1ZTsKKyAgfTsKK30KKwor
ZnVuY3Rpb24gdGV4dEZ1bmN0aW9uJDEodmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgewor
ICAgIHZhciB2YWx1ZTEgPSB2YWx1ZSh0aGlzKTsKKyAgICB0aGlzLnRleHRDb250ZW50ID0gdmFs
dWUxID09IG51bGwgPyAiIiA6IHZhbHVlMTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlv
bl90ZXh0KHZhbHVlKSB7CisgIHJldHVybiB0aGlzLnR3ZWVuKCJ0ZXh0IiwgdHlwZW9mIHZhbHVl
ID09PSAiZnVuY3Rpb24iCisgICAgICA/IHRleHRGdW5jdGlvbiQxKHR3ZWVuVmFsdWUodGhpcywg
InRleHQiLCB2YWx1ZSkpCisgICAgICA6IHRleHRDb25zdGFudCQxKHZhbHVlID09IG51bGwgPyAi
IiA6IHZhbHVlICsgIiIpKTsKK30KKworZnVuY3Rpb24gdGV4dEludGVycG9sYXRlKGkpIHsKKyAg
cmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICB0aGlzLnRleHRDb250ZW50ID0gaS5jYWxsKHRoaXMs
IHQpOworICB9OworfQorCitmdW5jdGlvbiB0ZXh0VHdlZW4odmFsdWUpIHsKKyAgdmFyIHQwLCBp
MDsKKyAgZnVuY3Rpb24gdHdlZW4oKSB7CisgICAgdmFyIGkgPSB2YWx1ZS5hcHBseSh0aGlzLCBh
cmd1bWVudHMpOworICAgIGlmIChpICE9PSBpMCkgdDAgPSAoaTAgPSBpKSAmJiB0ZXh0SW50ZXJw
b2xhdGUoaSk7CisgICAgcmV0dXJuIHQwOworICB9CisgIHR3ZWVuLl92YWx1ZSA9IHZhbHVlOwor
ICByZXR1cm4gdHdlZW47Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fdGV4dFR3ZWVuKHZhbHVl
KSB7CisgIHZhciBrZXkgPSAidGV4dCI7CisgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkgcmV0
dXJuIChrZXkgPSB0aGlzLnR3ZWVuKGtleSkpICYmIGtleS5fdmFsdWU7CisgIGlmICh2YWx1ZSA9
PSBudWxsKSByZXR1cm4gdGhpcy50d2VlbihrZXksIG51bGwpOworICBpZiAodHlwZW9mIHZhbHVl
ICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHJldHVybiB0aGlzLnR3ZWVuKGtl
eSwgdGV4dFR3ZWVuKHZhbHVlKSk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fdHJhbnNpdGlv
bigpIHsKKyAgdmFyIG5hbWUgPSB0aGlzLl9uYW1lLAorICAgICAgaWQwID0gdGhpcy5faWQsCisg
ICAgICBpZDEgPSBuZXdJZCgpOworCisgIGZvciAodmFyIGdyb3VwcyA9IHRoaXMuX2dyb3Vwcywg
bSA9IGdyb3Vwcy5sZW5ndGgsIGogPSAwOyBqIDwgbTsgKytqKSB7CisgICAgZm9yICh2YXIgZ3Jv
dXAgPSBncm91cHNbal0sIG4gPSBncm91cC5sZW5ndGgsIG5vZGUsIGkgPSAwOyBpIDwgbjsgKytp
KSB7CisgICAgICBpZiAobm9kZSA9IGdyb3VwW2ldKSB7CisgICAgICAgIHZhciBpbmhlcml0ID0g
Z2V0JDEobm9kZSwgaWQwKTsKKyAgICAgICAgc2NoZWR1bGUobm9kZSwgbmFtZSwgaWQxLCBpLCBn
cm91cCwgeworICAgICAgICAgIHRpbWU6IGluaGVyaXQudGltZSArIGluaGVyaXQuZGVsYXkgKyBp
bmhlcml0LmR1cmF0aW9uLAorICAgICAgICAgIGRlbGF5OiAwLAorICAgICAgICAgIGR1cmF0aW9u
OiBpbmhlcml0LmR1cmF0aW9uLAorICAgICAgICAgIGVhc2U6IGluaGVyaXQuZWFzZQorICAgICAg
ICB9KTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gbmV3IFRyYW5zaXRpb24oZ3Jv
dXBzLCB0aGlzLl9wYXJlbnRzLCBuYW1lLCBpZDEpOworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9u
X2VuZCgpIHsKKyAgdmFyIG9uMCwgb24xLCB0aGF0ID0gdGhpcywgaWQgPSB0aGF0Ll9pZCwgc2l6
ZSA9IHRoYXQuc2l6ZSgpOworICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwg
cmVqZWN0KSB7CisgICAgdmFyIGNhbmNlbCA9IHt2YWx1ZTogcmVqZWN0fSwKKyAgICAgICAgZW5k
ID0ge3ZhbHVlOiBmdW5jdGlvbigpIHsgaWYgKC0tc2l6ZSA9PT0gMCkgcmVzb2x2ZSgpOyB9fTsK
KworICAgIHRoYXQuZWFjaChmdW5jdGlvbigpIHsKKyAgICAgIHZhciBzY2hlZHVsZSA9IHNldCQx
KHRoaXMsIGlkKSwKKyAgICAgICAgICBvbiA9IHNjaGVkdWxlLm9uOworCisgICAgICAvLyBJZiB0
aGlzIG5vZGUgc2hhcmVkIGEgZGlzcGF0Y2ggd2l0aCB0aGUgcHJldmlvdXMgbm9kZSwKKyAgICAg
IC8vIGp1c3QgYXNzaWduIHRoZSB1cGRhdGVkIHNoYXJlZCBkaXNwYXRjaCBhbmQgd2XigJlyZSBk
b25lIQorICAgICAgLy8gT3RoZXJ3aXNlLCBjb3B5LW9uLXdyaXRlLgorICAgICAgaWYgKG9uICE9
PSBvbjApIHsKKyAgICAgICAgb24xID0gKG9uMCA9IG9uKS5jb3B5KCk7CisgICAgICAgIG9uMS5f
LmNhbmNlbC5wdXNoKGNhbmNlbCk7CisgICAgICAgIG9uMS5fLmludGVycnVwdC5wdXNoKGNhbmNl
bCk7CisgICAgICAgIG9uMS5fLmVuZC5wdXNoKGVuZCk7CisgICAgICB9CisKKyAgICAgIHNjaGVk
dWxlLm9uID0gb24xOworICAgIH0pOworICB9KTsKK30KKwordmFyIGlkID0gMDsKKworZnVuY3Rp
b24gVHJhbnNpdGlvbihncm91cHMsIHBhcmVudHMsIG5hbWUsIGlkKSB7CisgIHRoaXMuX2dyb3Vw
cyA9IGdyb3VwczsKKyAgdGhpcy5fcGFyZW50cyA9IHBhcmVudHM7CisgIHRoaXMuX25hbWUgPSBu
YW1lOworICB0aGlzLl9pZCA9IGlkOworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uKG5hbWUpIHsK
KyAgcmV0dXJuIHNlbGVjdGlvbigpLnRyYW5zaXRpb24obmFtZSk7Cit9CisKK2Z1bmN0aW9uIG5l
d0lkKCkgeworICByZXR1cm4gKytpZDsKK30KKwordmFyIHNlbGVjdGlvbl9wcm90b3R5cGUgPSBz
ZWxlY3Rpb24ucHJvdG90eXBlOworCitUcmFuc2l0aW9uLnByb3RvdHlwZSA9IHRyYW5zaXRpb24u
cHJvdG90eXBlID0geworICBjb25zdHJ1Y3RvcjogVHJhbnNpdGlvbiwKKyAgc2VsZWN0OiB0cmFu
c2l0aW9uX3NlbGVjdCwKKyAgc2VsZWN0QWxsOiB0cmFuc2l0aW9uX3NlbGVjdEFsbCwKKyAgZmls
dGVyOiB0cmFuc2l0aW9uX2ZpbHRlciwKKyAgbWVyZ2U6IHRyYW5zaXRpb25fbWVyZ2UsCisgIHNl
bGVjdGlvbjogdHJhbnNpdGlvbl9zZWxlY3Rpb24sCisgIHRyYW5zaXRpb246IHRyYW5zaXRpb25f
dHJhbnNpdGlvbiwKKyAgY2FsbDogc2VsZWN0aW9uX3Byb3RvdHlwZS5jYWxsLAorICBub2Rlczog
c2VsZWN0aW9uX3Byb3RvdHlwZS5ub2RlcywKKyAgbm9kZTogc2VsZWN0aW9uX3Byb3RvdHlwZS5u
b2RlLAorICBzaXplOiBzZWxlY3Rpb25fcHJvdG90eXBlLnNpemUsCisgIGVtcHR5OiBzZWxlY3Rp
b25fcHJvdG90eXBlLmVtcHR5LAorICBlYWNoOiBzZWxlY3Rpb25fcHJvdG90eXBlLmVhY2gsCisg
IG9uOiB0cmFuc2l0aW9uX29uLAorICBhdHRyOiB0cmFuc2l0aW9uX2F0dHIsCisgIGF0dHJUd2Vl
bjogdHJhbnNpdGlvbl9hdHRyVHdlZW4sCisgIHN0eWxlOiB0cmFuc2l0aW9uX3N0eWxlLAorICBz
dHlsZVR3ZWVuOiB0cmFuc2l0aW9uX3N0eWxlVHdlZW4sCisgIHRleHQ6IHRyYW5zaXRpb25fdGV4
dCwKKyAgdGV4dFR3ZWVuOiB0cmFuc2l0aW9uX3RleHRUd2VlbiwKKyAgcmVtb3ZlOiB0cmFuc2l0
aW9uX3JlbW92ZSwKKyAgdHdlZW46IHRyYW5zaXRpb25fdHdlZW4sCisgIGRlbGF5OiB0cmFuc2l0
aW9uX2RlbGF5LAorICBkdXJhdGlvbjogdHJhbnNpdGlvbl9kdXJhdGlvbiwKKyAgZWFzZTogdHJh
bnNpdGlvbl9lYXNlLAorICBlbmQ6IHRyYW5zaXRpb25fZW5kCit9OworCitmdW5jdGlvbiBsaW5l
YXIkMSh0KSB7CisgIHJldHVybiArdDsKK30KKworZnVuY3Rpb24gcXVhZEluKHQpIHsKKyAgcmV0
dXJuIHQgKiB0OworfQorCitmdW5jdGlvbiBxdWFkT3V0KHQpIHsKKyAgcmV0dXJuIHQgKiAoMiAt
IHQpOworfQorCitmdW5jdGlvbiBxdWFkSW5PdXQodCkgeworICByZXR1cm4gKCh0ICo9IDIpIDw9
IDEgPyB0ICogdCA6IC0tdCAqICgyIC0gdCkgKyAxKSAvIDI7Cit9CisKK2Z1bmN0aW9uIGN1Ymlj
SW4odCkgeworICByZXR1cm4gdCAqIHQgKiB0OworfQorCitmdW5jdGlvbiBjdWJpY091dCh0KSB7
CisgIHJldHVybiAtLXQgKiB0ICogdCArIDE7Cit9CisKK2Z1bmN0aW9uIGN1YmljSW5PdXQodCkg
eworICByZXR1cm4gKCh0ICo9IDIpIDw9IDEgPyB0ICogdCAqIHQgOiAodCAtPSAyKSAqIHQgKiB0
ICsgMikgLyAyOworfQorCit2YXIgZXhwb25lbnQgPSAzOworCit2YXIgcG9seUluID0gKGZ1bmN0
aW9uIGN1c3RvbShlKSB7CisgIGUgPSArZTsKKworICBmdW5jdGlvbiBwb2x5SW4odCkgeworICAg
IHJldHVybiBNYXRoLnBvdyh0LCBlKTsKKyAgfQorCisgIHBvbHlJbi5leHBvbmVudCA9IGN1c3Rv
bTsKKworICByZXR1cm4gcG9seUluOworfSkoZXhwb25lbnQpOworCit2YXIgcG9seU91dCA9IChm
dW5jdGlvbiBjdXN0b20oZSkgeworICBlID0gK2U7CisKKyAgZnVuY3Rpb24gcG9seU91dCh0KSB7
CisgICAgcmV0dXJuIDEgLSBNYXRoLnBvdygxIC0gdCwgZSk7CisgIH0KKworICBwb2x5T3V0LmV4
cG9uZW50ID0gY3VzdG9tOworCisgIHJldHVybiBwb2x5T3V0OworfSkoZXhwb25lbnQpOworCit2
YXIgcG9seUluT3V0ID0gKGZ1bmN0aW9uIGN1c3RvbShlKSB7CisgIGUgPSArZTsKKworICBmdW5j
dGlvbiBwb2x5SW5PdXQodCkgeworICAgIHJldHVybiAoKHQgKj0gMikgPD0gMSA/IE1hdGgucG93
KHQsIGUpIDogMiAtIE1hdGgucG93KDIgLSB0LCBlKSkgLyAyOworICB9CisKKyAgcG9seUluT3V0
LmV4cG9uZW50ID0gY3VzdG9tOworCisgIHJldHVybiBwb2x5SW5PdXQ7Cit9KShleHBvbmVudCk7
CisKK3ZhciBwaSA9IE1hdGguUEksCisgICAgaGFsZlBpID0gcGkgLyAyOworCitmdW5jdGlvbiBz
aW5Jbih0KSB7CisgIHJldHVybiAxIC0gTWF0aC5jb3ModCAqIGhhbGZQaSk7Cit9CisKK2Z1bmN0
aW9uIHNpbk91dCh0KSB7CisgIHJldHVybiBNYXRoLnNpbih0ICogaGFsZlBpKTsKK30KKworZnVu
Y3Rpb24gc2luSW5PdXQodCkgeworICByZXR1cm4gKDEgLSBNYXRoLmNvcyhwaSAqIHQpKSAvIDI7
Cit9CisKK2Z1bmN0aW9uIGV4cEluKHQpIHsKKyAgcmV0dXJuIE1hdGgucG93KDIsIDEwICogdCAt
IDEwKTsKK30KKworZnVuY3Rpb24gZXhwT3V0KHQpIHsKKyAgcmV0dXJuIDEgLSBNYXRoLnBvdygy
LCAtMTAgKiB0KTsKK30KKworZnVuY3Rpb24gZXhwSW5PdXQodCkgeworICByZXR1cm4gKCh0ICo9
IDIpIDw9IDEgPyBNYXRoLnBvdygyLCAxMCAqIHQgLSAxMCkgOiAyIC0gTWF0aC5wb3coMiwgMTAg
LSAxMCAqIHQpKSAvIDI7Cit9CisKK2Z1bmN0aW9uIGNpcmNsZUluKHQpIHsKKyAgcmV0dXJuIDEg
LSBNYXRoLnNxcnQoMSAtIHQgKiB0KTsKK30KKworZnVuY3Rpb24gY2lyY2xlT3V0KHQpIHsKKyAg
cmV0dXJuIE1hdGguc3FydCgxIC0gLS10ICogdCk7Cit9CisKK2Z1bmN0aW9uIGNpcmNsZUluT3V0
KHQpIHsKKyAgcmV0dXJuICgodCAqPSAyKSA8PSAxID8gMSAtIE1hdGguc3FydCgxIC0gdCAqIHQp
IDogTWF0aC5zcXJ0KDEgLSAodCAtPSAyKSAqIHQpICsgMSkgLyAyOworfQorCit2YXIgYjEgPSA0
IC8gMTEsCisgICAgYjIgPSA2IC8gMTEsCisgICAgYjMgPSA4IC8gMTEsCisgICAgYjQgPSAzIC8g
NCwKKyAgICBiNSA9IDkgLyAxMSwKKyAgICBiNiA9IDEwIC8gMTEsCisgICAgYjcgPSAxNSAvIDE2
LAorICAgIGI4ID0gMjEgLyAyMiwKKyAgICBiOSA9IDYzIC8gNjQsCisgICAgYjAgPSAxIC8gYjEg
LyBiMTsKKworZnVuY3Rpb24gYm91bmNlSW4odCkgeworICByZXR1cm4gMSAtIGJvdW5jZU91dCgx
IC0gdCk7Cit9CisKK2Z1bmN0aW9uIGJvdW5jZU91dCh0KSB7CisgIHJldHVybiAodCA9ICt0KSA8
IGIxID8gYjAgKiB0ICogdCA6IHQgPCBiMyA/IGIwICogKHQgLT0gYjIpICogdCArIGI0IDogdCA8
IGI2ID8gYjAgKiAodCAtPSBiNSkgKiB0ICsgYjcgOiBiMCAqICh0IC09IGI4KSAqIHQgKyBiOTsK
K30KKworZnVuY3Rpb24gYm91bmNlSW5PdXQodCkgeworICByZXR1cm4gKCh0ICo9IDIpIDw9IDEg
PyAxIC0gYm91bmNlT3V0KDEgLSB0KSA6IGJvdW5jZU91dCh0IC0gMSkgKyAxKSAvIDI7Cit9CisK
K3ZhciBvdmVyc2hvb3QgPSAxLjcwMTU4OworCit2YXIgYmFja0luID0gKGZ1bmN0aW9uIGN1c3Rv
bShzKSB7CisgIHMgPSArczsKKworICBmdW5jdGlvbiBiYWNrSW4odCkgeworICAgIHJldHVybiB0
ICogdCAqICgocyArIDEpICogdCAtIHMpOworICB9CisKKyAgYmFja0luLm92ZXJzaG9vdCA9IGN1
c3RvbTsKKworICByZXR1cm4gYmFja0luOworfSkob3ZlcnNob290KTsKKwordmFyIGJhY2tPdXQg
PSAoZnVuY3Rpb24gY3VzdG9tKHMpIHsKKyAgcyA9ICtzOworCisgIGZ1bmN0aW9uIGJhY2tPdXQo
dCkgeworICAgIHJldHVybiAtLXQgKiB0ICogKChzICsgMSkgKiB0ICsgcykgKyAxOworICB9CisK
KyAgYmFja091dC5vdmVyc2hvb3QgPSBjdXN0b207CisKKyAgcmV0dXJuIGJhY2tPdXQ7Cit9KShv
dmVyc2hvb3QpOworCit2YXIgYmFja0luT3V0ID0gKGZ1bmN0aW9uIGN1c3RvbShzKSB7CisgIHMg
PSArczsKKworICBmdW5jdGlvbiBiYWNrSW5PdXQodCkgeworICAgIHJldHVybiAoKHQgKj0gMikg
PCAxID8gdCAqIHQgKiAoKHMgKyAxKSAqIHQgLSBzKSA6ICh0IC09IDIpICogdCAqICgocyArIDEp
ICogdCArIHMpICsgMikgLyAyOworICB9CisKKyAgYmFja0luT3V0Lm92ZXJzaG9vdCA9IGN1c3Rv
bTsKKworICByZXR1cm4gYmFja0luT3V0OworfSkob3ZlcnNob290KTsKKwordmFyIHRhdSA9IDIg
KiBNYXRoLlBJLAorICAgIGFtcGxpdHVkZSA9IDEsCisgICAgcGVyaW9kID0gMC4zOworCit2YXIg
ZWxhc3RpY0luID0gKGZ1bmN0aW9uIGN1c3RvbShhLCBwKSB7CisgIHZhciBzID0gTWF0aC5hc2lu
KDEgLyAoYSA9IE1hdGgubWF4KDEsIGEpKSkgKiAocCAvPSB0YXUpOworCisgIGZ1bmN0aW9uIGVs
YXN0aWNJbih0KSB7CisgICAgcmV0dXJuIGEgKiBNYXRoLnBvdygyLCAxMCAqIC0tdCkgKiBNYXRo
LnNpbigocyAtIHQpIC8gcCk7CisgIH0KKworICBlbGFzdGljSW4uYW1wbGl0dWRlID0gZnVuY3Rp
b24oYSkgeyByZXR1cm4gY3VzdG9tKGEsIHAgKiB0YXUpOyB9OworICBlbGFzdGljSW4ucGVyaW9k
ID0gZnVuY3Rpb24ocCkgeyByZXR1cm4gY3VzdG9tKGEsIHApOyB9OworCisgIHJldHVybiBlbGFz
dGljSW47Cit9KShhbXBsaXR1ZGUsIHBlcmlvZCk7CisKK3ZhciBlbGFzdGljT3V0ID0gKGZ1bmN0
aW9uIGN1c3RvbShhLCBwKSB7CisgIHZhciBzID0gTWF0aC5hc2luKDEgLyAoYSA9IE1hdGgubWF4
KDEsIGEpKSkgKiAocCAvPSB0YXUpOworCisgIGZ1bmN0aW9uIGVsYXN0aWNPdXQodCkgeworICAg
IHJldHVybiAxIC0gYSAqIE1hdGgucG93KDIsIC0xMCAqICh0ID0gK3QpKSAqIE1hdGguc2luKCh0
ICsgcykgLyBwKTsKKyAgfQorCisgIGVsYXN0aWNPdXQuYW1wbGl0dWRlID0gZnVuY3Rpb24oYSkg
eyByZXR1cm4gY3VzdG9tKGEsIHAgKiB0YXUpOyB9OworICBlbGFzdGljT3V0LnBlcmlvZCA9IGZ1
bmN0aW9uKHApIHsgcmV0dXJuIGN1c3RvbShhLCBwKTsgfTsKKworICByZXR1cm4gZWxhc3RpY091
dDsKK30pKGFtcGxpdHVkZSwgcGVyaW9kKTsKKwordmFyIGVsYXN0aWNJbk91dCA9IChmdW5jdGlv
biBjdXN0b20oYSwgcCkgeworICB2YXIgcyA9IE1hdGguYXNpbigxIC8gKGEgPSBNYXRoLm1heCgx
LCBhKSkpICogKHAgLz0gdGF1KTsKKworICBmdW5jdGlvbiBlbGFzdGljSW5PdXQodCkgeworICAg
IHJldHVybiAoKHQgPSB0ICogMiAtIDEpIDwgMAorICAgICAgICA/IGEgKiBNYXRoLnBvdygyLCAx
MCAqIHQpICogTWF0aC5zaW4oKHMgLSB0KSAvIHApCisgICAgICAgIDogMiAtIGEgKiBNYXRoLnBv
dygyLCAtMTAgKiB0KSAqIE1hdGguc2luKChzICsgdCkgLyBwKSkgLyAyOworICB9CisKKyAgZWxh
c3RpY0luT3V0LmFtcGxpdHVkZSA9IGZ1bmN0aW9uKGEpIHsgcmV0dXJuIGN1c3RvbShhLCBwICog
dGF1KTsgfTsKKyAgZWxhc3RpY0luT3V0LnBlcmlvZCA9IGZ1bmN0aW9uKHApIHsgcmV0dXJuIGN1
c3RvbShhLCBwKTsgfTsKKworICByZXR1cm4gZWxhc3RpY0luT3V0OworfSkoYW1wbGl0dWRlLCBw
ZXJpb2QpOworCit2YXIgZGVmYXVsdFRpbWluZyA9IHsKKyAgdGltZTogbnVsbCwgLy8gU2V0IG9u
IHVzZS4KKyAgZGVsYXk6IDAsCisgIGR1cmF0aW9uOiAyNTAsCisgIGVhc2U6IGN1YmljSW5PdXQK
K307CisKK2Z1bmN0aW9uIGluaGVyaXQobm9kZSwgaWQpIHsKKyAgdmFyIHRpbWluZzsKKyAgd2hp
bGUgKCEodGltaW5nID0gbm9kZS5fX3RyYW5zaXRpb24pIHx8ICEodGltaW5nID0gdGltaW5nW2lk
XSkpIHsKKyAgICBpZiAoIShub2RlID0gbm9kZS5wYXJlbnROb2RlKSkgeworICAgICAgcmV0dXJu
IGRlZmF1bHRUaW1pbmcudGltZSA9IG5vdygpLCBkZWZhdWx0VGltaW5nOworICAgIH0KKyAgfQor
ICByZXR1cm4gdGltaW5nOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fdHJhbnNpdGlvbihuYW1l
KSB7CisgIHZhciBpZCwKKyAgICAgIHRpbWluZzsKKworICBpZiAobmFtZSBpbnN0YW5jZW9mIFRy
YW5zaXRpb24pIHsKKyAgICBpZCA9IG5hbWUuX2lkLCBuYW1lID0gbmFtZS5fbmFtZTsKKyAgfSBl
bHNlIHsKKyAgICBpZCA9IG5ld0lkKCksICh0aW1pbmcgPSBkZWZhdWx0VGltaW5nKS50aW1lID0g
bm93KCksIG5hbWUgPSBuYW1lID09IG51bGwgPyBudWxsIDogbmFtZSArICIiOworICB9CisKKyAg
Zm9yICh2YXIgZ3JvdXBzID0gdGhpcy5fZ3JvdXBzLCBtID0gZ3JvdXBzLmxlbmd0aCwgaiA9IDA7
IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdyb3Vwc1tqXSwgbiA9IGdyb3Vw
Lmxlbmd0aCwgbm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChub2RlID0gZ3Jv
dXBbaV0pIHsKKyAgICAgICAgc2NoZWR1bGUobm9kZSwgbmFtZSwgaWQsIGksIGdyb3VwLCB0aW1p
bmcgfHwgaW5oZXJpdChub2RlLCBpZCkpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVy
biBuZXcgVHJhbnNpdGlvbihncm91cHMsIHRoaXMuX3BhcmVudHMsIG5hbWUsIGlkKTsKK30KKwor
c2VsZWN0aW9uLnByb3RvdHlwZS5pbnRlcnJ1cHQgPSBzZWxlY3Rpb25faW50ZXJydXB0Oworc2Vs
ZWN0aW9uLnByb3RvdHlwZS50cmFuc2l0aW9uID0gc2VsZWN0aW9uX3RyYW5zaXRpb247CisKK3Zh
ciByb290JDEgPSBbbnVsbF07CisKK2Z1bmN0aW9uIGFjdGl2ZShub2RlLCBuYW1lKSB7CisgIHZh
ciBzY2hlZHVsZXMgPSBub2RlLl9fdHJhbnNpdGlvbiwKKyAgICAgIHNjaGVkdWxlLAorICAgICAg
aTsKKworICBpZiAoc2NoZWR1bGVzKSB7CisgICAgbmFtZSA9IG5hbWUgPT0gbnVsbCA/IG51bGwg
OiBuYW1lICsgIiI7CisgICAgZm9yIChpIGluIHNjaGVkdWxlcykgeworICAgICAgaWYgKChzY2hl
ZHVsZSA9IHNjaGVkdWxlc1tpXSkuc3RhdGUgPiBTQ0hFRFVMRUQgJiYgc2NoZWR1bGUubmFtZSA9
PT0gbmFtZSkgeworICAgICAgICByZXR1cm4gbmV3IFRyYW5zaXRpb24oW1tub2RlXV0sIHJvb3Qk
MSwgbmFtZSwgK2kpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBudWxsOworfQor
CitmdW5jdGlvbiBjb25zdGFudCQ0KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJl
dHVybiB4OworICB9OworfQorCitmdW5jdGlvbiBCcnVzaEV2ZW50KHRhcmdldCwgdHlwZSwgc2Vs
ZWN0aW9uKSB7CisgIHRoaXMudGFyZ2V0ID0gdGFyZ2V0OworICB0aGlzLnR5cGUgPSB0eXBlOwor
ICB0aGlzLnNlbGVjdGlvbiA9IHNlbGVjdGlvbjsKK30KKworZnVuY3Rpb24gbm9wcm9wYWdhdGlv
biQxKCkgeworICBleHBvcnRzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOworfQor
CitmdW5jdGlvbiBub2V2ZW50JDEoKSB7CisgIGV4cG9ydHMuZXZlbnQucHJldmVudERlZmF1bHQo
KTsKKyAgZXhwb3J0cy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsKK30KKwordmFy
IE1PREVfRFJBRyA9IHtuYW1lOiAiZHJhZyJ9LAorICAgIE1PREVfU1BBQ0UgPSB7bmFtZTogInNw
YWNlIn0sCisgICAgTU9ERV9IQU5ETEUgPSB7bmFtZTogImhhbmRsZSJ9LAorICAgIE1PREVfQ0VO
VEVSID0ge25hbWU6ICJjZW50ZXIifTsKKworZnVuY3Rpb24gbnVtYmVyMShlKSB7CisgIHJldHVy
biBbK2VbMF0sICtlWzFdXTsKK30KKworZnVuY3Rpb24gbnVtYmVyMihlKSB7CisgIHJldHVybiBb
bnVtYmVyMShlWzBdKSwgbnVtYmVyMShlWzFdKV07Cit9CisKK2Z1bmN0aW9uIHRvdWNoZXIoaWRl
bnRpZmllcikgeworICByZXR1cm4gZnVuY3Rpb24odGFyZ2V0KSB7CisgICAgcmV0dXJuIHRvdWNo
KHRhcmdldCwgZXhwb3J0cy5ldmVudC50b3VjaGVzLCBpZGVudGlmaWVyKTsKKyAgfTsKK30KKwor
dmFyIFggPSB7CisgIG5hbWU6ICJ4IiwKKyAgaGFuZGxlczogWyJ3IiwgImUiXS5tYXAodHlwZSks
CisgIGlucHV0OiBmdW5jdGlvbih4LCBlKSB7IHJldHVybiB4ID09IG51bGwgPyBudWxsIDogW1sr
eFswXSwgZVswXVsxXV0sIFsreFsxXSwgZVsxXVsxXV1dOyB9LAorICBvdXRwdXQ6IGZ1bmN0aW9u
KHh5KSB7IHJldHVybiB4eSAmJiBbeHlbMF1bMF0sIHh5WzFdWzBdXTsgfQorfTsKKwordmFyIFkg
PSB7CisgIG5hbWU6ICJ5IiwKKyAgaGFuZGxlczogWyJuIiwgInMiXS5tYXAodHlwZSksCisgIGlu
cHV0OiBmdW5jdGlvbih5LCBlKSB7IHJldHVybiB5ID09IG51bGwgPyBudWxsIDogW1tlWzBdWzBd
LCAreVswXV0sIFtlWzFdWzBdLCAreVsxXV1dOyB9LAorICBvdXRwdXQ6IGZ1bmN0aW9uKHh5KSB7
IHJldHVybiB4eSAmJiBbeHlbMF1bMV0sIHh5WzFdWzFdXTsgfQorfTsKKwordmFyIFhZID0gewor
ICBuYW1lOiAieHkiLAorICBoYW5kbGVzOiBbIm4iLCAidyIsICJlIiwgInMiLCAibnciLCAibmUi
LCAic3ciLCAic2UiXS5tYXAodHlwZSksCisgIGlucHV0OiBmdW5jdGlvbih4eSkgeyByZXR1cm4g
eHkgPT0gbnVsbCA/IG51bGwgOiBudW1iZXIyKHh5KTsgfSwKKyAgb3V0cHV0OiBmdW5jdGlvbih4
eSkgeyByZXR1cm4geHk7IH0KK307CisKK3ZhciBjdXJzb3JzID0geworICBvdmVybGF5OiAiY3Jv
c3NoYWlyIiwKKyAgc2VsZWN0aW9uOiAibW92ZSIsCisgIG46ICJucy1yZXNpemUiLAorICBlOiAi
ZXctcmVzaXplIiwKKyAgczogIm5zLXJlc2l6ZSIsCisgIHc6ICJldy1yZXNpemUiLAorICBudzog
Im53c2UtcmVzaXplIiwKKyAgbmU6ICJuZXN3LXJlc2l6ZSIsCisgIHNlOiAibndzZS1yZXNpemUi
LAorICBzdzogIm5lc3ctcmVzaXplIgorfTsKKwordmFyIGZsaXBYID0geworICBlOiAidyIsCisg
IHc6ICJlIiwKKyAgbnc6ICJuZSIsCisgIG5lOiAibnciLAorICBzZTogInN3IiwKKyAgc3c6ICJz
ZSIKK307CisKK3ZhciBmbGlwWSA9IHsKKyAgbjogInMiLAorICBzOiAibiIsCisgIG53OiAic3ci
LAorICBuZTogInNlIiwKKyAgc2U6ICJuZSIsCisgIHN3OiAibnciCit9OworCit2YXIgc2lnbnNY
ID0geworICBvdmVybGF5OiArMSwKKyAgc2VsZWN0aW9uOiArMSwKKyAgbjogbnVsbCwKKyAgZTog
KzEsCisgIHM6IG51bGwsCisgIHc6IC0xLAorICBudzogLTEsCisgIG5lOiArMSwKKyAgc2U6ICsx
LAorICBzdzogLTEKK307CisKK3ZhciBzaWduc1kgPSB7CisgIG92ZXJsYXk6ICsxLAorICBzZWxl
Y3Rpb246ICsxLAorICBuOiAtMSwKKyAgZTogbnVsbCwKKyAgczogKzEsCisgIHc6IG51bGwsCisg
IG53OiAtMSwKKyAgbmU6IC0xLAorICBzZTogKzEsCisgIHN3OiArMQorfTsKKworZnVuY3Rpb24g
dHlwZSh0KSB7CisgIHJldHVybiB7dHlwZTogdH07Cit9CisKKy8vIElnbm9yZSByaWdodC1jbGlj
aywgc2luY2UgdGhhdCBzaG91bGQgb3BlbiB0aGUgY29udGV4dCBtZW51LgorZnVuY3Rpb24gZGVm
YXVsdEZpbHRlciQxKCkgeworICByZXR1cm4gIWV4cG9ydHMuZXZlbnQuY3RybEtleSAmJiAhZXhw
b3J0cy5ldmVudC5idXR0b247Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRFeHRlbnQoKSB7CisgIHZh
ciBzdmcgPSB0aGlzLm93bmVyU1ZHRWxlbWVudCB8fCB0aGlzOworICBpZiAoc3ZnLmhhc0F0dHJp
YnV0ZSgidmlld0JveCIpKSB7CisgICAgc3ZnID0gc3ZnLnZpZXdCb3guYmFzZVZhbDsKKyAgICBy
ZXR1cm4gW1tzdmcueCwgc3ZnLnldLCBbc3ZnLnggKyBzdmcud2lkdGgsIHN2Zy55ICsgc3ZnLmhl
aWdodF1dOworICB9CisgIHJldHVybiBbWzAsIDBdLCBbc3ZnLndpZHRoLmJhc2VWYWwudmFsdWUs
IHN2Zy5oZWlnaHQuYmFzZVZhbC52YWx1ZV1dOworfQorCitmdW5jdGlvbiBkZWZhdWx0VG91Y2hh
YmxlJDEoKSB7CisgIHJldHVybiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgfHwgKCJvbnRvdWNo
c3RhcnQiIGluIHRoaXMpOworfQorCisvLyBMaWtlIGQzLmxvY2FsLCBidXQgd2l0aCB0aGUgbmFt
ZSDigJxfX2JydXNo4oCdIHJhdGhlciB0aGFuIGF1dG8tZ2VuZXJhdGVkLgorZnVuY3Rpb24gbG9j
YWwkMShub2RlKSB7CisgIHdoaWxlICghbm9kZS5fX2JydXNoKSBpZiAoIShub2RlID0gbm9kZS5w
YXJlbnROb2RlKSkgcmV0dXJuOworICByZXR1cm4gbm9kZS5fX2JydXNoOworfQorCitmdW5jdGlv
biBlbXB0eSQxKGV4dGVudCkgeworICByZXR1cm4gZXh0ZW50WzBdWzBdID09PSBleHRlbnRbMV1b
MF0KKyAgICAgIHx8IGV4dGVudFswXVsxXSA9PT0gZXh0ZW50WzFdWzFdOworfQorCitmdW5jdGlv
biBicnVzaFNlbGVjdGlvbihub2RlKSB7CisgIHZhciBzdGF0ZSA9IG5vZGUuX19icnVzaDsKKyAg
cmV0dXJuIHN0YXRlID8gc3RhdGUuZGltLm91dHB1dChzdGF0ZS5zZWxlY3Rpb24pIDogbnVsbDsK
K30KKworZnVuY3Rpb24gYnJ1c2hYKCkgeworICByZXR1cm4gYnJ1c2gkMShYKTsKK30KKworZnVu
Y3Rpb24gYnJ1c2hZKCkgeworICByZXR1cm4gYnJ1c2gkMShZKTsKK30KKworZnVuY3Rpb24gYnJ1
c2goKSB7CisgIHJldHVybiBicnVzaCQxKFhZKTsKK30KKworZnVuY3Rpb24gYnJ1c2gkMShkaW0p
IHsKKyAgdmFyIGV4dGVudCA9IGRlZmF1bHRFeHRlbnQsCisgICAgICBmaWx0ZXIgPSBkZWZhdWx0
RmlsdGVyJDEsCisgICAgICB0b3VjaGFibGUgPSBkZWZhdWx0VG91Y2hhYmxlJDEsCisgICAgICBr
ZXlzID0gdHJ1ZSwKKyAgICAgIGxpc3RlbmVycyA9IGRpc3BhdGNoKCJzdGFydCIsICJicnVzaCIs
ICJlbmQiKSwKKyAgICAgIGhhbmRsZVNpemUgPSA2LAorICAgICAgdG91Y2hlbmRpbmc7CisKKyAg
ZnVuY3Rpb24gYnJ1c2goZ3JvdXApIHsKKyAgICB2YXIgb3ZlcmxheSA9IGdyb3VwCisgICAgICAg
IC5wcm9wZXJ0eSgiX19icnVzaCIsIGluaXRpYWxpemUpCisgICAgICAuc2VsZWN0QWxsKCIub3Zl
cmxheSIpCisgICAgICAuZGF0YShbdHlwZSgib3ZlcmxheSIpXSk7CisKKyAgICBvdmVybGF5LmVu
dGVyKCkuYXBwZW5kKCJyZWN0IikKKyAgICAgICAgLmF0dHIoImNsYXNzIiwgIm92ZXJsYXkiKQor
ICAgICAgICAuYXR0cigicG9pbnRlci1ldmVudHMiLCAiYWxsIikKKyAgICAgICAgLmF0dHIoImN1
cnNvciIsIGN1cnNvcnMub3ZlcmxheSkKKyAgICAgIC5tZXJnZShvdmVybGF5KQorICAgICAgICAu
ZWFjaChmdW5jdGlvbigpIHsKKyAgICAgICAgICB2YXIgZXh0ZW50ID0gbG9jYWwkMSh0aGlzKS5l
eHRlbnQ7CisgICAgICAgICAgc2VsZWN0KHRoaXMpCisgICAgICAgICAgICAgIC5hdHRyKCJ4Iiwg
ZXh0ZW50WzBdWzBdKQorICAgICAgICAgICAgICAuYXR0cigieSIsIGV4dGVudFswXVsxXSkKKyAg
ICAgICAgICAgICAgLmF0dHIoIndpZHRoIiwgZXh0ZW50WzFdWzBdIC0gZXh0ZW50WzBdWzBdKQor
ICAgICAgICAgICAgICAuYXR0cigiaGVpZ2h0IiwgZXh0ZW50WzFdWzFdIC0gZXh0ZW50WzBdWzFd
KTsKKyAgICAgICAgfSk7CisKKyAgICBncm91cC5zZWxlY3RBbGwoIi5zZWxlY3Rpb24iKQorICAg
ICAgLmRhdGEoW3R5cGUoInNlbGVjdGlvbiIpXSkKKyAgICAgIC5lbnRlcigpLmFwcGVuZCgicmVj
dCIpCisgICAgICAgIC5hdHRyKCJjbGFzcyIsICJzZWxlY3Rpb24iKQorICAgICAgICAuYXR0cigi
Y3Vyc29yIiwgY3Vyc29ycy5zZWxlY3Rpb24pCisgICAgICAgIC5hdHRyKCJmaWxsIiwgIiM3Nzci
KQorICAgICAgICAuYXR0cigiZmlsbC1vcGFjaXR5IiwgMC4zKQorICAgICAgICAuYXR0cigic3Ry
b2tlIiwgIiNmZmYiKQorICAgICAgICAuYXR0cigic2hhcGUtcmVuZGVyaW5nIiwgImNyaXNwRWRn
ZXMiKTsKKworICAgIHZhciBoYW5kbGUgPSBncm91cC5zZWxlY3RBbGwoIi5oYW5kbGUiKQorICAg
ICAgLmRhdGEoZGltLmhhbmRsZXMsIGZ1bmN0aW9uKGQpIHsgcmV0dXJuIGQudHlwZTsgfSk7CisK
KyAgICBoYW5kbGUuZXhpdCgpLnJlbW92ZSgpOworCisgICAgaGFuZGxlLmVudGVyKCkuYXBwZW5k
KCJyZWN0IikKKyAgICAgICAgLmF0dHIoImNsYXNzIiwgZnVuY3Rpb24oZCkgeyByZXR1cm4gImhh
bmRsZSBoYW5kbGUtLSIgKyBkLnR5cGU7IH0pCisgICAgICAgIC5hdHRyKCJjdXJzb3IiLCBmdW5j
dGlvbihkKSB7IHJldHVybiBjdXJzb3JzW2QudHlwZV07IH0pOworCisgICAgZ3JvdXAKKyAgICAg
ICAgLmVhY2gocmVkcmF3KQorICAgICAgICAuYXR0cigiZmlsbCIsICJub25lIikKKyAgICAgICAg
LmF0dHIoInBvaW50ZXItZXZlbnRzIiwgImFsbCIpCisgICAgICAgIC5vbigibW91c2Vkb3duLmJy
dXNoIiwgc3RhcnRlZCkKKyAgICAgIC5maWx0ZXIodG91Y2hhYmxlKQorICAgICAgICAub24oInRv
dWNoc3RhcnQuYnJ1c2giLCBzdGFydGVkKQorICAgICAgICAub24oInRvdWNobW92ZS5icnVzaCIs
IHRvdWNobW92ZWQpCisgICAgICAgIC5vbigidG91Y2hlbmQuYnJ1c2ggdG91Y2hjYW5jZWwuYnJ1
c2giLCB0b3VjaGVuZGVkKQorICAgICAgICAuc3R5bGUoInRvdWNoLWFjdGlvbiIsICJub25lIikK
KyAgICAgICAgLnN0eWxlKCItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IiLCAicmdiYSgwLDAs
MCwwKSIpOworICB9CisKKyAgYnJ1c2gubW92ZSA9IGZ1bmN0aW9uKGdyb3VwLCBzZWxlY3Rpb24p
IHsKKyAgICBpZiAoZ3JvdXAuc2VsZWN0aW9uKSB7CisgICAgICBncm91cAorICAgICAgICAgIC5v
bigic3RhcnQuYnJ1c2giLCBmdW5jdGlvbigpIHsgZW1pdHRlcih0aGlzLCBhcmd1bWVudHMpLmJl
Zm9yZXN0YXJ0KCkuc3RhcnQoKTsgfSkKKyAgICAgICAgICAub24oImludGVycnVwdC5icnVzaCBl
bmQuYnJ1c2giLCBmdW5jdGlvbigpIHsgZW1pdHRlcih0aGlzLCBhcmd1bWVudHMpLmVuZCgpOyB9
KQorICAgICAgICAgIC50d2VlbigiYnJ1c2giLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZh
ciB0aGF0ID0gdGhpcywKKyAgICAgICAgICAgICAgICBzdGF0ZSA9IHRoYXQuX19icnVzaCwKKyAg
ICAgICAgICAgICAgICBlbWl0ID0gZW1pdHRlcih0aGF0LCBhcmd1bWVudHMpLAorICAgICAgICAg
ICAgICAgIHNlbGVjdGlvbjAgPSBzdGF0ZS5zZWxlY3Rpb24sCisgICAgICAgICAgICAgICAgc2Vs
ZWN0aW9uMSA9IGRpbS5pbnB1dCh0eXBlb2Ygc2VsZWN0aW9uID09PSAiZnVuY3Rpb24iID8gc2Vs
ZWN0aW9uLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgOiBzZWxlY3Rpb24sIHN0YXRlLmV4dGVudCks
CisgICAgICAgICAgICAgICAgaSA9IGludGVycG9sYXRlVmFsdWUoc2VsZWN0aW9uMCwgc2VsZWN0
aW9uMSk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHR3ZWVuKHQpIHsKKyAgICAgICAgICAgICAg
c3RhdGUuc2VsZWN0aW9uID0gdCA9PT0gMSAmJiBzZWxlY3Rpb24xID09PSBudWxsID8gbnVsbCA6
IGkodCk7CisgICAgICAgICAgICAgIHJlZHJhdy5jYWxsKHRoYXQpOworICAgICAgICAgICAgICBl
bWl0LmJydXNoKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJldHVybiBzZWxlY3Rp
b24wICE9PSBudWxsICYmIHNlbGVjdGlvbjEgIT09IG51bGwgPyB0d2VlbiA6IHR3ZWVuKDEpOwor
ICAgICAgICAgIH0pOworICAgIH0gZWxzZSB7CisgICAgICBncm91cAorICAgICAgICAgIC5lYWNo
KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzLAorICAgICAgICAgICAg
ICAgIGFyZ3MgPSBhcmd1bWVudHMsCisgICAgICAgICAgICAgICAgc3RhdGUgPSB0aGF0Ll9fYnJ1
c2gsCisgICAgICAgICAgICAgICAgc2VsZWN0aW9uMSA9IGRpbS5pbnB1dCh0eXBlb2Ygc2VsZWN0
aW9uID09PSAiZnVuY3Rpb24iID8gc2VsZWN0aW9uLmFwcGx5KHRoYXQsIGFyZ3MpIDogc2VsZWN0
aW9uLCBzdGF0ZS5leHRlbnQpLAorICAgICAgICAgICAgICAgIGVtaXQgPSBlbWl0dGVyKHRoYXQs
IGFyZ3MpLmJlZm9yZXN0YXJ0KCk7CisKKyAgICAgICAgICAgIGludGVycnVwdCh0aGF0KTsKKyAg
ICAgICAgICAgIHN0YXRlLnNlbGVjdGlvbiA9IHNlbGVjdGlvbjEgPT09IG51bGwgPyBudWxsIDog
c2VsZWN0aW9uMTsKKyAgICAgICAgICAgIHJlZHJhdy5jYWxsKHRoYXQpOworICAgICAgICAgICAg
ZW1pdC5zdGFydCgpLmJydXNoKCkuZW5kKCk7CisgICAgICAgICAgfSk7CisgICAgfQorICB9Owor
CisgIGJydXNoLmNsZWFyID0gZnVuY3Rpb24oZ3JvdXApIHsKKyAgICBicnVzaC5tb3ZlKGdyb3Vw
LCBudWxsKTsKKyAgfTsKKworICBmdW5jdGlvbiByZWRyYXcoKSB7CisgICAgdmFyIGdyb3VwID0g
c2VsZWN0KHRoaXMpLAorICAgICAgICBzZWxlY3Rpb24gPSBsb2NhbCQxKHRoaXMpLnNlbGVjdGlv
bjsKKworICAgIGlmIChzZWxlY3Rpb24pIHsKKyAgICAgIGdyb3VwLnNlbGVjdEFsbCgiLnNlbGVj
dGlvbiIpCisgICAgICAgICAgLnN0eWxlKCJkaXNwbGF5IiwgbnVsbCkKKyAgICAgICAgICAuYXR0
cigieCIsIHNlbGVjdGlvblswXVswXSkKKyAgICAgICAgICAuYXR0cigieSIsIHNlbGVjdGlvblsw
XVsxXSkKKyAgICAgICAgICAuYXR0cigid2lkdGgiLCBzZWxlY3Rpb25bMV1bMF0gLSBzZWxlY3Rp
b25bMF1bMF0pCisgICAgICAgICAgLmF0dHIoImhlaWdodCIsIHNlbGVjdGlvblsxXVsxXSAtIHNl
bGVjdGlvblswXVsxXSk7CisKKyAgICAgIGdyb3VwLnNlbGVjdEFsbCgiLmhhbmRsZSIpCisgICAg
ICAgICAgLnN0eWxlKCJkaXNwbGF5IiwgbnVsbCkKKyAgICAgICAgICAuYXR0cigieCIsIGZ1bmN0
aW9uKGQpIHsgcmV0dXJuIGQudHlwZVtkLnR5cGUubGVuZ3RoIC0gMV0gPT09ICJlIiA/IHNlbGVj
dGlvblsxXVswXSAtIGhhbmRsZVNpemUgLyAyIDogc2VsZWN0aW9uWzBdWzBdIC0gaGFuZGxlU2l6
ZSAvIDI7IH0pCisgICAgICAgICAgLmF0dHIoInkiLCBmdW5jdGlvbihkKSB7IHJldHVybiBkLnR5
cGVbMF0gPT09ICJzIiA/IHNlbGVjdGlvblsxXVsxXSAtIGhhbmRsZVNpemUgLyAyIDogc2VsZWN0
aW9uWzBdWzFdIC0gaGFuZGxlU2l6ZSAvIDI7IH0pCisgICAgICAgICAgLmF0dHIoIndpZHRoIiwg
ZnVuY3Rpb24oZCkgeyByZXR1cm4gZC50eXBlID09PSAibiIgfHwgZC50eXBlID09PSAicyIgPyBz
ZWxlY3Rpb25bMV1bMF0gLSBzZWxlY3Rpb25bMF1bMF0gKyBoYW5kbGVTaXplIDogaGFuZGxlU2l6
ZTsgfSkKKyAgICAgICAgICAuYXR0cigiaGVpZ2h0IiwgZnVuY3Rpb24oZCkgeyByZXR1cm4gZC50
eXBlID09PSAiZSIgfHwgZC50eXBlID09PSAidyIgPyBzZWxlY3Rpb25bMV1bMV0gLSBzZWxlY3Rp
b25bMF1bMV0gKyBoYW5kbGVTaXplIDogaGFuZGxlU2l6ZTsgfSk7CisgICAgfQorCisgICAgZWxz
ZSB7CisgICAgICBncm91cC5zZWxlY3RBbGwoIi5zZWxlY3Rpb24sLmhhbmRsZSIpCisgICAgICAg
ICAgLnN0eWxlKCJkaXNwbGF5IiwgIm5vbmUiKQorICAgICAgICAgIC5hdHRyKCJ4IiwgbnVsbCkK
KyAgICAgICAgICAuYXR0cigieSIsIG51bGwpCisgICAgICAgICAgLmF0dHIoIndpZHRoIiwgbnVs
bCkKKyAgICAgICAgICAuYXR0cigiaGVpZ2h0IiwgbnVsbCk7CisgICAgfQorICB9CisKKyAgZnVu
Y3Rpb24gZW1pdHRlcih0aGF0LCBhcmdzLCBjbGVhbikgeworICAgIHJldHVybiAoIWNsZWFuICYm
IHRoYXQuX19icnVzaC5lbWl0dGVyKSB8fCBuZXcgRW1pdHRlcih0aGF0LCBhcmdzKTsKKyAgfQor
CisgIGZ1bmN0aW9uIEVtaXR0ZXIodGhhdCwgYXJncykgeworICAgIHRoaXMudGhhdCA9IHRoYXQ7
CisgICAgdGhpcy5hcmdzID0gYXJnczsKKyAgICB0aGlzLnN0YXRlID0gdGhhdC5fX2JydXNoOwor
ICAgIHRoaXMuYWN0aXZlID0gMDsKKyAgfQorCisgIEVtaXR0ZXIucHJvdG90eXBlID0geworICAg
IGJlZm9yZXN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICAgIGlmICgrK3RoaXMuYWN0aXZlID09PSAx
KSB0aGlzLnN0YXRlLmVtaXR0ZXIgPSB0aGlzLCB0aGlzLnN0YXJ0aW5nID0gdHJ1ZTsKKyAgICAg
IHJldHVybiB0aGlzOworICAgIH0sCisgICAgc3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgICAgaWYg
KHRoaXMuc3RhcnRpbmcpIHRoaXMuc3RhcnRpbmcgPSBmYWxzZSwgdGhpcy5lbWl0KCJzdGFydCIp
OworICAgICAgZWxzZSB0aGlzLmVtaXQoImJydXNoIik7CisgICAgICByZXR1cm4gdGhpczsKKyAg
ICB9LAorICAgIGJydXNoOiBmdW5jdGlvbigpIHsKKyAgICAgIHRoaXMuZW1pdCgiYnJ1c2giKTsK
KyAgICAgIHJldHVybiB0aGlzOworICAgIH0sCisgICAgZW5kOiBmdW5jdGlvbigpIHsKKyAgICAg
IGlmICgtLXRoaXMuYWN0aXZlID09PSAwKSBkZWxldGUgdGhpcy5zdGF0ZS5lbWl0dGVyLCB0aGlz
LmVtaXQoImVuZCIpOworICAgICAgcmV0dXJuIHRoaXM7CisgICAgfSwKKyAgICBlbWl0OiBmdW5j
dGlvbih0eXBlKSB7CisgICAgICBjdXN0b21FdmVudChuZXcgQnJ1c2hFdmVudChicnVzaCwgdHlw
ZSwgZGltLm91dHB1dCh0aGlzLnN0YXRlLnNlbGVjdGlvbikpLCBsaXN0ZW5lcnMuYXBwbHksIGxp
c3RlbmVycywgW3R5cGUsIHRoaXMudGhhdCwgdGhpcy5hcmdzXSk7CisgICAgfQorICB9OworCisg
IGZ1bmN0aW9uIHN0YXJ0ZWQoKSB7CisgICAgaWYgKHRvdWNoZW5kaW5nICYmICFleHBvcnRzLmV2
ZW50LnRvdWNoZXMpIHJldHVybjsKKyAgICBpZiAoIWZpbHRlci5hcHBseSh0aGlzLCBhcmd1bWVu
dHMpKSByZXR1cm47CisKKyAgICB2YXIgdGhhdCA9IHRoaXMsCisgICAgICAgIHR5cGUgPSBleHBv
cnRzLmV2ZW50LnRhcmdldC5fX2RhdGFfXy50eXBlLAorICAgICAgICBtb2RlID0gKGtleXMgJiYg
ZXhwb3J0cy5ldmVudC5tZXRhS2V5ID8gdHlwZSA9ICJvdmVybGF5IiA6IHR5cGUpID09PSAic2Vs
ZWN0aW9uIiA/IE1PREVfRFJBRyA6IChrZXlzICYmIGV4cG9ydHMuZXZlbnQuYWx0S2V5ID8gTU9E
RV9DRU5URVIgOiBNT0RFX0hBTkRMRSksCisgICAgICAgIHNpZ25YID0gZGltID09PSBZID8gbnVs
bCA6IHNpZ25zWFt0eXBlXSwKKyAgICAgICAgc2lnblkgPSBkaW0gPT09IFggPyBudWxsIDogc2ln
bnNZW3R5cGVdLAorICAgICAgICBzdGF0ZSA9IGxvY2FsJDEodGhhdCksCisgICAgICAgIGV4dGVu
dCA9IHN0YXRlLmV4dGVudCwKKyAgICAgICAgc2VsZWN0aW9uID0gc3RhdGUuc2VsZWN0aW9uLAor
ICAgICAgICBXID0gZXh0ZW50WzBdWzBdLCB3MCwgdzEsCisgICAgICAgIE4gPSBleHRlbnRbMF1b
MV0sIG4wLCBuMSwKKyAgICAgICAgRSA9IGV4dGVudFsxXVswXSwgZTAsIGUxLAorICAgICAgICBT
ID0gZXh0ZW50WzFdWzFdLCBzMCwgczEsCisgICAgICAgIGR4ID0gMCwKKyAgICAgICAgZHkgPSAw
LAorICAgICAgICBtb3ZpbmcsCisgICAgICAgIHNoaWZ0aW5nID0gc2lnblggJiYgc2lnblkgJiYg
a2V5cyAmJiBleHBvcnRzLmV2ZW50LnNoaWZ0S2V5LAorICAgICAgICBsb2NrWCwKKyAgICAgICAg
bG9ja1ksCisgICAgICAgIHBvaW50ZXIgPSBleHBvcnRzLmV2ZW50LnRvdWNoZXMgPyB0b3VjaGVy
KGV4cG9ydHMuZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uaWRlbnRpZmllcikgOiBtb3VzZSwKKyAg
ICAgICAgcG9pbnQwID0gcG9pbnRlcih0aGF0KSwKKyAgICAgICAgcG9pbnQgPSBwb2ludDAsCisg
ICAgICAgIGVtaXQgPSBlbWl0dGVyKHRoYXQsIGFyZ3VtZW50cywgdHJ1ZSkuYmVmb3Jlc3RhcnQo
KTsKKworICAgIGlmICh0eXBlID09PSAib3ZlcmxheSIpIHsKKyAgICAgIGlmIChzZWxlY3Rpb24p
IG1vdmluZyA9IHRydWU7CisgICAgICBzdGF0ZS5zZWxlY3Rpb24gPSBzZWxlY3Rpb24gPSBbCisg
ICAgICAgIFt3MCA9IGRpbSA9PT0gWSA/IFcgOiBwb2ludDBbMF0sIG4wID0gZGltID09PSBYID8g
TiA6IHBvaW50MFsxXV0sCisgICAgICAgIFtlMCA9IGRpbSA9PT0gWSA/IEUgOiB3MCwgczAgPSBk
aW0gPT09IFggPyBTIDogbjBdCisgICAgICBdOworICAgIH0gZWxzZSB7CisgICAgICB3MCA9IHNl
bGVjdGlvblswXVswXTsKKyAgICAgIG4wID0gc2VsZWN0aW9uWzBdWzFdOworICAgICAgZTAgPSBz
ZWxlY3Rpb25bMV1bMF07CisgICAgICBzMCA9IHNlbGVjdGlvblsxXVsxXTsKKyAgICB9CisKKyAg
ICB3MSA9IHcwOworICAgIG4xID0gbjA7CisgICAgZTEgPSBlMDsKKyAgICBzMSA9IHMwOworCisg
ICAgdmFyIGdyb3VwID0gc2VsZWN0KHRoYXQpCisgICAgICAgIC5hdHRyKCJwb2ludGVyLWV2ZW50
cyIsICJub25lIik7CisKKyAgICB2YXIgb3ZlcmxheSA9IGdyb3VwLnNlbGVjdEFsbCgiLm92ZXJs
YXkiKQorICAgICAgICAuYXR0cigiY3Vyc29yIiwgY3Vyc29yc1t0eXBlXSk7CisKKyAgICBpZiAo
ZXhwb3J0cy5ldmVudC50b3VjaGVzKSB7CisgICAgICBlbWl0Lm1vdmVkID0gbW92ZWQ7CisgICAg
ICBlbWl0LmVuZGVkID0gZW5kZWQ7CisgICAgfSBlbHNlIHsKKyAgICAgIHZhciB2aWV3ID0gc2Vs
ZWN0KGV4cG9ydHMuZXZlbnQudmlldykKKyAgICAgICAgICAub24oIm1vdXNlbW92ZS5icnVzaCIs
IG1vdmVkLCB0cnVlKQorICAgICAgICAgIC5vbigibW91c2V1cC5icnVzaCIsIGVuZGVkLCB0cnVl
KTsKKyAgICAgIGlmIChrZXlzKSB2aWV3CisgICAgICAgICAgLm9uKCJrZXlkb3duLmJydXNoIiwg
a2V5ZG93bmVkLCB0cnVlKQorICAgICAgICAgIC5vbigia2V5dXAuYnJ1c2giLCBrZXl1cHBlZCwg
dHJ1ZSk7CisKKyAgICAgIGRyYWdEaXNhYmxlKGV4cG9ydHMuZXZlbnQudmlldyk7CisgICAgfQor
CisgICAgbm9wcm9wYWdhdGlvbiQxKCk7CisgICAgaW50ZXJydXB0KHRoYXQpOworICAgIHJlZHJh
dy5jYWxsKHRoYXQpOworICAgIGVtaXQuc3RhcnQoKTsKKworICAgIGZ1bmN0aW9uIG1vdmVkKCkg
eworICAgICAgdmFyIHBvaW50MSA9IHBvaW50ZXIodGhhdCk7CisgICAgICBpZiAoc2hpZnRpbmcg
JiYgIWxvY2tYICYmICFsb2NrWSkgeworICAgICAgICBpZiAoTWF0aC5hYnMocG9pbnQxWzBdIC0g
cG9pbnRbMF0pID4gTWF0aC5hYnMocG9pbnQxWzFdIC0gcG9pbnRbMV0pKSBsb2NrWSA9IHRydWU7
CisgICAgICAgIGVsc2UgbG9ja1ggPSB0cnVlOworICAgICAgfQorICAgICAgcG9pbnQgPSBwb2lu
dDE7CisgICAgICBtb3ZpbmcgPSB0cnVlOworICAgICAgbm9ldmVudCQxKCk7CisgICAgICBtb3Zl
KCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbW92ZSgpIHsKKyAgICAgIHZhciB0OworCisgICAg
ICBkeCA9IHBvaW50WzBdIC0gcG9pbnQwWzBdOworICAgICAgZHkgPSBwb2ludFsxXSAtIHBvaW50
MFsxXTsKKworICAgICAgc3dpdGNoIChtb2RlKSB7CisgICAgICAgIGNhc2UgTU9ERV9TUEFDRToK
KyAgICAgICAgY2FzZSBNT0RFX0RSQUc6IHsKKyAgICAgICAgICBpZiAoc2lnblgpIGR4ID0gTWF0
aC5tYXgoVyAtIHcwLCBNYXRoLm1pbihFIC0gZTAsIGR4KSksIHcxID0gdzAgKyBkeCwgZTEgPSBl
MCArIGR4OworICAgICAgICAgIGlmIChzaWduWSkgZHkgPSBNYXRoLm1heChOIC0gbjAsIE1hdGgu
bWluKFMgLSBzMCwgZHkpKSwgbjEgPSBuMCArIGR5LCBzMSA9IHMwICsgZHk7CisgICAgICAgICAg
YnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBNT0RFX0hBTkRMRTogeworICAgICAgICAg
IGlmIChzaWduWCA8IDApIGR4ID0gTWF0aC5tYXgoVyAtIHcwLCBNYXRoLm1pbihFIC0gdzAsIGR4
KSksIHcxID0gdzAgKyBkeCwgZTEgPSBlMDsKKyAgICAgICAgICBlbHNlIGlmIChzaWduWCA+IDAp
IGR4ID0gTWF0aC5tYXgoVyAtIGUwLCBNYXRoLm1pbihFIC0gZTAsIGR4KSksIHcxID0gdzAsIGUx
ID0gZTAgKyBkeDsKKyAgICAgICAgICBpZiAoc2lnblkgPCAwKSBkeSA9IE1hdGgubWF4KE4gLSBu
MCwgTWF0aC5taW4oUyAtIG4wLCBkeSkpLCBuMSA9IG4wICsgZHksIHMxID0gczA7CisgICAgICAg
ICAgZWxzZSBpZiAoc2lnblkgPiAwKSBkeSA9IE1hdGgubWF4KE4gLSBzMCwgTWF0aC5taW4oUyAt
IHMwLCBkeSkpLCBuMSA9IG4wLCBzMSA9IHMwICsgZHk7CisgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKyAgICAgICAgY2FzZSBNT0RFX0NFTlRFUjogeworICAgICAgICAgIGlmIChzaWduWCkg
dzEgPSBNYXRoLm1heChXLCBNYXRoLm1pbihFLCB3MCAtIGR4ICogc2lnblgpKSwgZTEgPSBNYXRo
Lm1heChXLCBNYXRoLm1pbihFLCBlMCArIGR4ICogc2lnblgpKTsKKyAgICAgICAgICBpZiAoc2ln
blkpIG4xID0gTWF0aC5tYXgoTiwgTWF0aC5taW4oUywgbjAgLSBkeSAqIHNpZ25ZKSksIHMxID0g
TWF0aC5tYXgoTiwgTWF0aC5taW4oUywgczAgKyBkeSAqIHNpZ25ZKSk7CisgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgaWYgKGUxIDwgdzEpIHsKKyAgICAgICAg
c2lnblggKj0gLTE7CisgICAgICAgIHQgPSB3MCwgdzAgPSBlMCwgZTAgPSB0OworICAgICAgICB0
ID0gdzEsIHcxID0gZTEsIGUxID0gdDsKKyAgICAgICAgaWYgKHR5cGUgaW4gZmxpcFgpIG92ZXJs
YXkuYXR0cigiY3Vyc29yIiwgY3Vyc29yc1t0eXBlID0gZmxpcFhbdHlwZV1dKTsKKyAgICAgIH0K
KworICAgICAgaWYgKHMxIDwgbjEpIHsKKyAgICAgICAgc2lnblkgKj0gLTE7CisgICAgICAgIHQg
PSBuMCwgbjAgPSBzMCwgczAgPSB0OworICAgICAgICB0ID0gbjEsIG4xID0gczEsIHMxID0gdDsK
KyAgICAgICAgaWYgKHR5cGUgaW4gZmxpcFkpIG92ZXJsYXkuYXR0cigiY3Vyc29yIiwgY3Vyc29y
c1t0eXBlID0gZmxpcFlbdHlwZV1dKTsKKyAgICAgIH0KKworICAgICAgaWYgKHN0YXRlLnNlbGVj
dGlvbikgc2VsZWN0aW9uID0gc3RhdGUuc2VsZWN0aW9uOyAvLyBNYXkgYmUgc2V0IGJ5IGJydXNo
Lm1vdmUhCisgICAgICBpZiAobG9ja1gpIHcxID0gc2VsZWN0aW9uWzBdWzBdLCBlMSA9IHNlbGVj
dGlvblsxXVswXTsKKyAgICAgIGlmIChsb2NrWSkgbjEgPSBzZWxlY3Rpb25bMF1bMV0sIHMxID0g
c2VsZWN0aW9uWzFdWzFdOworCisgICAgICBpZiAoc2VsZWN0aW9uWzBdWzBdICE9PSB3MQorICAg
ICAgICAgIHx8IHNlbGVjdGlvblswXVsxXSAhPT0gbjEKKyAgICAgICAgICB8fCBzZWxlY3Rpb25b
MV1bMF0gIT09IGUxCisgICAgICAgICAgfHwgc2VsZWN0aW9uWzFdWzFdICE9PSBzMSkgeworICAg
ICAgICBzdGF0ZS5zZWxlY3Rpb24gPSBbW3cxLCBuMV0sIFtlMSwgczFdXTsKKyAgICAgICAgcmVk
cmF3LmNhbGwodGhhdCk7CisgICAgICAgIGVtaXQuYnJ1c2goKTsKKyAgICAgIH0KKyAgICB9CisK
KyAgICBmdW5jdGlvbiBlbmRlZCgpIHsKKyAgICAgIG5vcHJvcGFnYXRpb24kMSgpOworICAgICAg
aWYgKGV4cG9ydHMuZXZlbnQudG91Y2hlcykgeworICAgICAgICBpZiAoZXhwb3J0cy5ldmVudC50
b3VjaGVzLmxlbmd0aCkgcmV0dXJuOworICAgICAgICBpZiAodG91Y2hlbmRpbmcpIGNsZWFyVGlt
ZW91dCh0b3VjaGVuZGluZyk7CisgICAgICAgIHRvdWNoZW5kaW5nID0gc2V0VGltZW91dChmdW5j
dGlvbigpIHsgdG91Y2hlbmRpbmcgPSBudWxsOyB9LCA1MDApOyAvLyBHaG9zdCBjbGlja3MgYXJl
IGRlbGF5ZWQhCisgICAgICB9IGVsc2UgeworICAgICAgICB5ZXNkcmFnKGV4cG9ydHMuZXZlbnQu
dmlldywgbW92aW5nKTsKKyAgICAgICAgdmlldy5vbigia2V5ZG93bi5icnVzaCBrZXl1cC5icnVz
aCBtb3VzZW1vdmUuYnJ1c2ggbW91c2V1cC5icnVzaCIsIG51bGwpOworICAgICAgfQorICAgICAg
Z3JvdXAuYXR0cigicG9pbnRlci1ldmVudHMiLCAiYWxsIik7CisgICAgICBvdmVybGF5LmF0dHIo
ImN1cnNvciIsIGN1cnNvcnMub3ZlcmxheSk7CisgICAgICBpZiAoc3RhdGUuc2VsZWN0aW9uKSBz
ZWxlY3Rpb24gPSBzdGF0ZS5zZWxlY3Rpb247IC8vIE1heSBiZSBzZXQgYnkgYnJ1c2gubW92ZSAo
b24gc3RhcnQpIQorICAgICAgaWYgKGVtcHR5JDEoc2VsZWN0aW9uKSkgc3RhdGUuc2VsZWN0aW9u
ID0gbnVsbCwgcmVkcmF3LmNhbGwodGhhdCk7CisgICAgICBlbWl0LmVuZCgpOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIGtleWRvd25lZCgpIHsKKyAgICAgIHN3aXRjaCAoZXhwb3J0cy5ldmVudC5r
ZXlDb2RlKSB7CisgICAgICAgIGNhc2UgMTY6IHsgLy8gU0hJRlQKKyAgICAgICAgICBzaGlmdGlu
ZyA9IHNpZ25YICYmIHNpZ25ZOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAg
IGNhc2UgMTg6IHsgLy8gQUxUCisgICAgICAgICAgaWYgKG1vZGUgPT09IE1PREVfSEFORExFKSB7
CisgICAgICAgICAgICBpZiAoc2lnblgpIGUwID0gZTEgLSBkeCAqIHNpZ25YLCB3MCA9IHcxICsg
ZHggKiBzaWduWDsKKyAgICAgICAgICAgIGlmIChzaWduWSkgczAgPSBzMSAtIGR5ICogc2lnblks
IG4wID0gbjEgKyBkeSAqIHNpZ25ZOworICAgICAgICAgICAgbW9kZSA9IE1PREVfQ0VOVEVSOwor
ICAgICAgICAgICAgbW92ZSgpOworICAgICAgICAgIH0KKyAgICAgICAgICBicmVhazsKKyAgICAg
ICAgfQorICAgICAgICBjYXNlIDMyOiB7IC8vIFNQQUNFOyB0YWtlcyBwcmlvcml0eSBvdmVyIEFM
VAorICAgICAgICAgIGlmIChtb2RlID09PSBNT0RFX0hBTkRMRSB8fCBtb2RlID09PSBNT0RFX0NF
TlRFUikgeworICAgICAgICAgICAgaWYgKHNpZ25YIDwgMCkgZTAgPSBlMSAtIGR4OyBlbHNlIGlm
IChzaWduWCA+IDApIHcwID0gdzEgLSBkeDsKKyAgICAgICAgICAgIGlmIChzaWduWSA8IDApIHMw
ID0gczEgLSBkeTsgZWxzZSBpZiAoc2lnblkgPiAwKSBuMCA9IG4xIC0gZHk7CisgICAgICAgICAg
ICBtb2RlID0gTU9ERV9TUEFDRTsKKyAgICAgICAgICAgIG92ZXJsYXkuYXR0cigiY3Vyc29yIiwg
Y3Vyc29ycy5zZWxlY3Rpb24pOworICAgICAgICAgICAgbW92ZSgpOworICAgICAgICAgIH0KKyAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBkZWZhdWx0OiByZXR1cm47CisgICAg
ICB9CisgICAgICBub2V2ZW50JDEoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBrZXl1cHBlZCgp
IHsKKyAgICAgIHN3aXRjaCAoZXhwb3J0cy5ldmVudC5rZXlDb2RlKSB7CisgICAgICAgIGNhc2Ug
MTY6IHsgLy8gU0hJRlQKKyAgICAgICAgICBpZiAoc2hpZnRpbmcpIHsKKyAgICAgICAgICAgIGxv
Y2tYID0gbG9ja1kgPSBzaGlmdGluZyA9IGZhbHNlOworICAgICAgICAgICAgbW92ZSgpOworICAg
ICAgICAgIH0KKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIDE4OiB7
IC8vIEFMVAorICAgICAgICAgIGlmIChtb2RlID09PSBNT0RFX0NFTlRFUikgeworICAgICAgICAg
ICAgaWYgKHNpZ25YIDwgMCkgZTAgPSBlMTsgZWxzZSBpZiAoc2lnblggPiAwKSB3MCA9IHcxOwor
ICAgICAgICAgICAgaWYgKHNpZ25ZIDwgMCkgczAgPSBzMTsgZWxzZSBpZiAoc2lnblkgPiAwKSBu
MCA9IG4xOworICAgICAgICAgICAgbW9kZSA9IE1PREVfSEFORExFOworICAgICAgICAgICAgbW92
ZSgpOworICAgICAgICAgIH0KKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBj
YXNlIDMyOiB7IC8vIFNQQUNFCisgICAgICAgICAgaWYgKG1vZGUgPT09IE1PREVfU1BBQ0UpIHsK
KyAgICAgICAgICAgIGlmIChleHBvcnRzLmV2ZW50LmFsdEtleSkgeworICAgICAgICAgICAgICBp
ZiAoc2lnblgpIGUwID0gZTEgLSBkeCAqIHNpZ25YLCB3MCA9IHcxICsgZHggKiBzaWduWDsKKyAg
ICAgICAgICAgICAgaWYgKHNpZ25ZKSBzMCA9IHMxIC0gZHkgKiBzaWduWSwgbjAgPSBuMSArIGR5
ICogc2lnblk7CisgICAgICAgICAgICAgIG1vZGUgPSBNT0RFX0NFTlRFUjsKKyAgICAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAgIGlmIChzaWduWCA8IDApIGUwID0gZTE7IGVsc2UgaWYg
KHNpZ25YID4gMCkgdzAgPSB3MTsKKyAgICAgICAgICAgICAgaWYgKHNpZ25ZIDwgMCkgczAgPSBz
MTsgZWxzZSBpZiAoc2lnblkgPiAwKSBuMCA9IG4xOworICAgICAgICAgICAgICBtb2RlID0gTU9E
RV9IQU5ETEU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBvdmVybGF5LmF0dHIoImN1cnNv
ciIsIGN1cnNvcnNbdHlwZV0pOworICAgICAgICAgICAgbW92ZSgpOworICAgICAgICAgIH0KKyAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBkZWZhdWx0OiByZXR1cm47CisgICAg
ICB9CisgICAgICBub2V2ZW50JDEoKTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiB0b3VjaG1v
dmVkKCkgeworICAgIGVtaXR0ZXIodGhpcywgYXJndW1lbnRzKS5tb3ZlZCgpOworICB9CisKKyAg
ZnVuY3Rpb24gdG91Y2hlbmRlZCgpIHsKKyAgICBlbWl0dGVyKHRoaXMsIGFyZ3VtZW50cykuZW5k
ZWQoKTsKKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemUoKSB7CisgICAgdmFyIHN0YXRlID0g
dGhpcy5fX2JydXNoIHx8IHtzZWxlY3Rpb246IG51bGx9OworICAgIHN0YXRlLmV4dGVudCA9IG51
bWJlcjIoZXh0ZW50LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpOworICAgIHN0YXRlLmRpbSA9IGRp
bTsKKyAgICByZXR1cm4gc3RhdGU7CisgIH0KKworICBicnVzaC5leHRlbnQgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZXh0ZW50ID0gdHlwZW9mIF8gPT09
ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNChudW1iZXIyKF8pKSwgYnJ1c2gpIDogZXh0ZW50
OworICB9OworCisgIGJydXNoLmZpbHRlciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJn
dW1lbnRzLmxlbmd0aCA/IChmaWx0ZXIgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBj
b25zdGFudCQ0KCEhXyksIGJydXNoKSA6IGZpbHRlcjsKKyAgfTsKKworICBicnVzaC50b3VjaGFi
bGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodG91Y2hh
YmxlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNCghIV8pLCBicnVz
aCkgOiB0b3VjaGFibGU7CisgIH07CisKKyAgYnJ1c2guaGFuZGxlU2l6ZSA9IGZ1bmN0aW9uKF8p
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChoYW5kbGVTaXplID0gK18sIGJydXNo
KSA6IGhhbmRsZVNpemU7CisgIH07CisKKyAgYnJ1c2gua2V5TW9kaWZpZXJzID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGtleXMgPSAhIV8sIGJydXNoKSA6
IGtleXM7CisgIH07CisKKyAgYnJ1c2gub24gPSBmdW5jdGlvbigpIHsKKyAgICB2YXIgdmFsdWUg
PSBsaXN0ZW5lcnMub24uYXBwbHkobGlzdGVuZXJzLCBhcmd1bWVudHMpOworICAgIHJldHVybiB2
YWx1ZSA9PT0gbGlzdGVuZXJzID8gYnJ1c2ggOiB2YWx1ZTsKKyAgfTsKKworICByZXR1cm4gYnJ1
c2g7Cit9CisKK3ZhciBjb3MgPSBNYXRoLmNvczsKK3ZhciBzaW4gPSBNYXRoLnNpbjsKK3ZhciBw
aSQxID0gTWF0aC5QSTsKK3ZhciBoYWxmUGkkMSA9IHBpJDEgLyAyOwordmFyIHRhdSQxID0gcGkk
MSAqIDI7Cit2YXIgbWF4JDEgPSBNYXRoLm1heDsKKworZnVuY3Rpb24gY29tcGFyZVZhbHVlKGNv
bXBhcmUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKGEsIGIpIHsKKyAgICByZXR1cm4gY29tcGFyZSgK
KyAgICAgIGEuc291cmNlLnZhbHVlICsgYS50YXJnZXQudmFsdWUsCisgICAgICBiLnNvdXJjZS52
YWx1ZSArIGIudGFyZ2V0LnZhbHVlCisgICAgKTsKKyAgfTsKK30KKworZnVuY3Rpb24gY2hvcmQo
KSB7CisgIHZhciBwYWRBbmdsZSA9IDAsCisgICAgICBzb3J0R3JvdXBzID0gbnVsbCwKKyAgICAg
IHNvcnRTdWJncm91cHMgPSBudWxsLAorICAgICAgc29ydENob3JkcyA9IG51bGw7CisKKyAgZnVu
Y3Rpb24gY2hvcmQobWF0cml4KSB7CisgICAgdmFyIG4gPSBtYXRyaXgubGVuZ3RoLAorICAgICAg
ICBncm91cFN1bXMgPSBbXSwKKyAgICAgICAgZ3JvdXBJbmRleCA9IHNlcXVlbmNlKG4pLAorICAg
ICAgICBzdWJncm91cEluZGV4ID0gW10sCisgICAgICAgIGNob3JkcyA9IFtdLAorICAgICAgICBn
cm91cHMgPSBjaG9yZHMuZ3JvdXBzID0gbmV3IEFycmF5KG4pLAorICAgICAgICBzdWJncm91cHMg
PSBuZXcgQXJyYXkobiAqIG4pLAorICAgICAgICBrLAorICAgICAgICB4LAorICAgICAgICB4MCwK
KyAgICAgICAgZHgsCisgICAgICAgIGksCisgICAgICAgIGo7CisKKyAgICAvLyBDb21wdXRlIHRo
ZSBzdW0uCisgICAgayA9IDAsIGkgPSAtMTsgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIHggPSAw
LCBqID0gLTE7IHdoaWxlICgrK2ogPCBuKSB7CisgICAgICAgIHggKz0gbWF0cml4W2ldW2pdOwor
ICAgICAgfQorICAgICAgZ3JvdXBTdW1zLnB1c2goeCk7CisgICAgICBzdWJncm91cEluZGV4LnB1
c2goc2VxdWVuY2UobikpOworICAgICAgayArPSB4OworICAgIH0KKworICAgIC8vIFNvcnQgZ3Jv
dXBz4oCmCisgICAgaWYgKHNvcnRHcm91cHMpIGdyb3VwSW5kZXguc29ydChmdW5jdGlvbihhLCBi
KSB7CisgICAgICByZXR1cm4gc29ydEdyb3Vwcyhncm91cFN1bXNbYV0sIGdyb3VwU3Vtc1tiXSk7
CisgICAgfSk7CisKKyAgICAvLyBTb3J0IHN1Ymdyb3Vwc+KApgorICAgIGlmIChzb3J0U3ViZ3Jv
dXBzKSBzdWJncm91cEluZGV4LmZvckVhY2goZnVuY3Rpb24oZCwgaSkgeworICAgICAgZC5zb3J0
KGZ1bmN0aW9uKGEsIGIpIHsKKyAgICAgICAgcmV0dXJuIHNvcnRTdWJncm91cHMobWF0cml4W2ld
W2FdLCBtYXRyaXhbaV1bYl0pOworICAgICAgfSk7CisgICAgfSk7CisKKyAgICAvLyBDb252ZXJ0
IHRoZSBzdW0gdG8gc2NhbGluZyBmYWN0b3IgZm9yIFswLCAycGldLgorICAgIC8vIFRPRE8gQWxs
b3cgc3RhcnQgYW5kIGVuZCBhbmdsZSB0byBiZSBzcGVjaWZpZWQ/CisgICAgLy8gVE9ETyBBbGxv
dyBwYWRkaW5nIHRvIGJlIHNwZWNpZmllZCBhcyBwZXJjZW50YWdlPworICAgIGsgPSBtYXgkMSgw
LCB0YXUkMSAtIHBhZEFuZ2xlICogbikgLyBrOworICAgIGR4ID0gayA/IHBhZEFuZ2xlIDogdGF1
JDEgLyBuOworCisgICAgLy8gQ29tcHV0ZSB0aGUgc3RhcnQgYW5kIGVuZCBhbmdsZSBmb3IgZWFj
aCBncm91cCBhbmQgc3ViZ3JvdXAuCisgICAgLy8gTm90ZTogT3BlcmEgaGFzIGEgYnVnIHJlb3Jk
ZXJpbmcgb2JqZWN0IGxpdGVyYWwgcHJvcGVydGllcyEKKyAgICB4ID0gMCwgaSA9IC0xOyB3aGls
ZSAoKytpIDwgbikgeworICAgICAgeDAgPSB4LCBqID0gLTE7IHdoaWxlICgrK2ogPCBuKSB7Cisg
ICAgICAgIHZhciBkaSA9IGdyb3VwSW5kZXhbaV0sCisgICAgICAgICAgICBkaiA9IHN1Ymdyb3Vw
SW5kZXhbZGldW2pdLAorICAgICAgICAgICAgdiA9IG1hdHJpeFtkaV1bZGpdLAorICAgICAgICAg
ICAgYTAgPSB4LAorICAgICAgICAgICAgYTEgPSB4ICs9IHYgKiBrOworICAgICAgICBzdWJncm91
cHNbZGogKiBuICsgZGldID0geworICAgICAgICAgIGluZGV4OiBkaSwKKyAgICAgICAgICBzdWJp
bmRleDogZGosCisgICAgICAgICAgc3RhcnRBbmdsZTogYTAsCisgICAgICAgICAgZW5kQW5nbGU6
IGExLAorICAgICAgICAgIHZhbHVlOiB2CisgICAgICAgIH07CisgICAgICB9CisgICAgICBncm91
cHNbZGldID0geworICAgICAgICBpbmRleDogZGksCisgICAgICAgIHN0YXJ0QW5nbGU6IHgwLAor
ICAgICAgICBlbmRBbmdsZTogeCwKKyAgICAgICAgdmFsdWU6IGdyb3VwU3Vtc1tkaV0KKyAgICAg
IH07CisgICAgICB4ICs9IGR4OworICAgIH0KKworICAgIC8vIEdlbmVyYXRlIGNob3JkcyBmb3Ig
ZWFjaCAobm9uLWVtcHR5KSBzdWJncm91cC1zdWJncm91cCBsaW5rLgorICAgIGkgPSAtMTsgd2hp
bGUgKCsraSA8IG4pIHsKKyAgICAgIGogPSBpIC0gMTsgd2hpbGUgKCsraiA8IG4pIHsKKyAgICAg
ICAgdmFyIHNvdXJjZSA9IHN1Ymdyb3Vwc1tqICogbiArIGldLAorICAgICAgICAgICAgdGFyZ2V0
ID0gc3ViZ3JvdXBzW2kgKiBuICsgal07CisgICAgICAgIGlmIChzb3VyY2UudmFsdWUgfHwgdGFy
Z2V0LnZhbHVlKSB7CisgICAgICAgICAgY2hvcmRzLnB1c2goc291cmNlLnZhbHVlIDwgdGFyZ2V0
LnZhbHVlCisgICAgICAgICAgICAgID8ge3NvdXJjZTogdGFyZ2V0LCB0YXJnZXQ6IHNvdXJjZX0K
KyAgICAgICAgICAgICAgOiB7c291cmNlOiBzb3VyY2UsIHRhcmdldDogdGFyZ2V0fSk7CisgICAg
ICAgIH0KKyAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gc29ydENob3JkcyA/IGNob3Jkcy5z
b3J0KHNvcnRDaG9yZHMpIDogY2hvcmRzOworICB9CisKKyAgY2hvcmQucGFkQW5nbGUgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocGFkQW5nbGUgPSBtYXgk
MSgwLCBfKSwgY2hvcmQpIDogcGFkQW5nbGU7CisgIH07CisKKyAgY2hvcmQuc29ydEdyb3VwcyA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzb3J0R3JvdXBz
ID0gXywgY2hvcmQpIDogc29ydEdyb3VwczsKKyAgfTsKKworICBjaG9yZC5zb3J0U3ViZ3JvdXBz
ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNvcnRTdWJn
cm91cHMgPSBfLCBjaG9yZCkgOiBzb3J0U3ViZ3JvdXBzOworICB9OworCisgIGNob3JkLnNvcnRD
aG9yZHMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoXyA9
PSBudWxsID8gc29ydENob3JkcyA9IG51bGwgOiAoc29ydENob3JkcyA9IGNvbXBhcmVWYWx1ZShf
KSkuXyA9IF8sIGNob3JkKSA6IHNvcnRDaG9yZHMgJiYgc29ydENob3Jkcy5fOworICB9OworCisg
IHJldHVybiBjaG9yZDsKK30KKwordmFyIHNsaWNlJDIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7
CisKK2Z1bmN0aW9uIGNvbnN0YW50JDUoeCkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAg
cmV0dXJuIHg7CisgIH07Cit9CisKK3ZhciBwaSQyID0gTWF0aC5QSSwKKyAgICB0YXUkMiA9IDIg
KiBwaSQyLAorICAgIGVwc2lsb24kMSA9IDFlLTYsCisgICAgdGF1RXBzaWxvbiA9IHRhdSQyIC0g
ZXBzaWxvbiQxOworCitmdW5jdGlvbiBQYXRoKCkgeworICB0aGlzLl94MCA9IHRoaXMuX3kwID0g
Ly8gc3RhcnQgb2YgY3VycmVudCBzdWJwYXRoCisgIHRoaXMuX3gxID0gdGhpcy5feTEgPSBudWxs
OyAvLyBlbmQgb2YgY3VycmVudCBzdWJwYXRoCisgIHRoaXMuXyA9ICIiOworfQorCitmdW5jdGlv
biBwYXRoKCkgeworICByZXR1cm4gbmV3IFBhdGg7Cit9CisKK1BhdGgucHJvdG90eXBlID0gcGF0
aC5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBQYXRoLAorICBtb3ZlVG86IGZ1bmN0aW9u
KHgsIHkpIHsKKyAgICB0aGlzLl8gKz0gIk0iICsgKHRoaXMuX3gwID0gdGhpcy5feDEgPSAreCkg
KyAiLCIgKyAodGhpcy5feTAgPSB0aGlzLl95MSA9ICt5KTsKKyAgfSwKKyAgY2xvc2VQYXRoOiBm
dW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5feDEgIT09IG51bGwpIHsKKyAgICAgIHRoaXMuX3gx
ID0gdGhpcy5feDAsIHRoaXMuX3kxID0gdGhpcy5feTA7CisgICAgICB0aGlzLl8gKz0gIloiOwor
ICAgIH0KKyAgfSwKKyAgbGluZVRvOiBmdW5jdGlvbih4LCB5KSB7CisgICAgdGhpcy5fICs9ICJM
IiArICh0aGlzLl94MSA9ICt4KSArICIsIiArICh0aGlzLl95MSA9ICt5KTsKKyAgfSwKKyAgcXVh
ZHJhdGljQ3VydmVUbzogZnVuY3Rpb24oeDEsIHkxLCB4LCB5KSB7CisgICAgdGhpcy5fICs9ICJR
IiArICgreDEpICsgIiwiICsgKCt5MSkgKyAiLCIgKyAodGhpcy5feDEgPSAreCkgKyAiLCIgKyAo
dGhpcy5feTEgPSAreSk7CisgIH0sCisgIGJlemllckN1cnZlVG86IGZ1bmN0aW9uKHgxLCB5MSwg
eDIsIHkyLCB4LCB5KSB7CisgICAgdGhpcy5fICs9ICJDIiArICgreDEpICsgIiwiICsgKCt5MSkg
KyAiLCIgKyAoK3gyKSArICIsIiArICgreTIpICsgIiwiICsgKHRoaXMuX3gxID0gK3gpICsgIiwi
ICsgKHRoaXMuX3kxID0gK3kpOworICB9LAorICBhcmNUbzogZnVuY3Rpb24oeDEsIHkxLCB4Miwg
eTIsIHIpIHsKKyAgICB4MSA9ICt4MSwgeTEgPSAreTEsIHgyID0gK3gyLCB5MiA9ICt5MiwgciA9
ICtyOworICAgIHZhciB4MCA9IHRoaXMuX3gxLAorICAgICAgICB5MCA9IHRoaXMuX3kxLAorICAg
ICAgICB4MjEgPSB4MiAtIHgxLAorICAgICAgICB5MjEgPSB5MiAtIHkxLAorICAgICAgICB4MDEg
PSB4MCAtIHgxLAorICAgICAgICB5MDEgPSB5MCAtIHkxLAorICAgICAgICBsMDFfMiA9IHgwMSAq
IHgwMSArIHkwMSAqIHkwMTsKKworICAgIC8vIElzIHRoZSByYWRpdXMgbmVnYXRpdmU/IEVycm9y
LgorICAgIGlmIChyIDwgMCkgdGhyb3cgbmV3IEVycm9yKCJuZWdhdGl2ZSByYWRpdXM6ICIgKyBy
KTsKKworICAgIC8vIElzIHRoaXMgcGF0aCBlbXB0eT8gTW92ZSB0byAoeDEseTEpLgorICAgIGlm
ICh0aGlzLl94MSA9PT0gbnVsbCkgeworICAgICAgdGhpcy5fICs9ICJNIiArICh0aGlzLl94MSA9
IHgxKSArICIsIiArICh0aGlzLl95MSA9IHkxKTsKKyAgICB9CisKKyAgICAvLyBPciwgaXMgKHgx
LHkxKSBjb2luY2lkZW50IHdpdGggKHgwLHkwKT8gRG8gbm90aGluZy4KKyAgICBlbHNlIGlmICgh
KGwwMV8yID4gZXBzaWxvbiQxKSk7CisKKyAgICAvLyBPciwgYXJlICh4MCx5MCksICh4MSx5MSkg
YW5kICh4Mix5MikgY29sbGluZWFyPworICAgIC8vIEVxdWl2YWxlbnRseSwgaXMgKHgxLHkxKSBj
b2luY2lkZW50IHdpdGggKHgyLHkyKT8KKyAgICAvLyBPciwgaXMgdGhlIHJhZGl1cyB6ZXJvPyBM
aW5lIHRvICh4MSx5MSkuCisgICAgZWxzZSBpZiAoIShNYXRoLmFicyh5MDEgKiB4MjEgLSB5MjEg
KiB4MDEpID4gZXBzaWxvbiQxKSB8fCAhcikgeworICAgICAgdGhpcy5fICs9ICJMIiArICh0aGlz
Ll94MSA9IHgxKSArICIsIiArICh0aGlzLl95MSA9IHkxKTsKKyAgICB9CisKKyAgICAvLyBPdGhl
cndpc2UsIGRyYXcgYW4gYXJjIQorICAgIGVsc2UgeworICAgICAgdmFyIHgyMCA9IHgyIC0geDAs
CisgICAgICAgICAgeTIwID0geTIgLSB5MCwKKyAgICAgICAgICBsMjFfMiA9IHgyMSAqIHgyMSAr
IHkyMSAqIHkyMSwKKyAgICAgICAgICBsMjBfMiA9IHgyMCAqIHgyMCArIHkyMCAqIHkyMCwKKyAg
ICAgICAgICBsMjEgPSBNYXRoLnNxcnQobDIxXzIpLAorICAgICAgICAgIGwwMSA9IE1hdGguc3Fy
dChsMDFfMiksCisgICAgICAgICAgbCA9IHIgKiBNYXRoLnRhbigocGkkMiAtIE1hdGguYWNvcygo
bDIxXzIgKyBsMDFfMiAtIGwyMF8yKSAvICgyICogbDIxICogbDAxKSkpIC8gMiksCisgICAgICAg
ICAgdDAxID0gbCAvIGwwMSwKKyAgICAgICAgICB0MjEgPSBsIC8gbDIxOworCisgICAgICAvLyBJ
ZiB0aGUgc3RhcnQgdGFuZ2VudCBpcyBub3QgY29pbmNpZGVudCB3aXRoICh4MCx5MCksIGxpbmUg
dG8uCisgICAgICBpZiAoTWF0aC5hYnModDAxIC0gMSkgPiBlcHNpbG9uJDEpIHsKKyAgICAgICAg
dGhpcy5fICs9ICJMIiArICh4MSArIHQwMSAqIHgwMSkgKyAiLCIgKyAoeTEgKyB0MDEgKiB5MDEp
OworICAgICAgfQorCisgICAgICB0aGlzLl8gKz0gIkEiICsgciArICIsIiArIHIgKyAiLDAsMCwi
ICsgKCsoeTAxICogeDIwID4geDAxICogeTIwKSkgKyAiLCIgKyAodGhpcy5feDEgPSB4MSArIHQy
MSAqIHgyMSkgKyAiLCIgKyAodGhpcy5feTEgPSB5MSArIHQyMSAqIHkyMSk7CisgICAgfQorICB9
LAorICBhcmM6IGZ1bmN0aW9uKHgsIHksIHIsIGEwLCBhMSwgY2N3KSB7CisgICAgeCA9ICt4LCB5
ID0gK3ksIHIgPSArciwgY2N3ID0gISFjY3c7CisgICAgdmFyIGR4ID0gciAqIE1hdGguY29zKGEw
KSwKKyAgICAgICAgZHkgPSByICogTWF0aC5zaW4oYTApLAorICAgICAgICB4MCA9IHggKyBkeCwK
KyAgICAgICAgeTAgPSB5ICsgZHksCisgICAgICAgIGN3ID0gMSBeIGNjdywKKyAgICAgICAgZGEg
PSBjY3cgPyBhMCAtIGExIDogYTEgLSBhMDsKKworICAgIC8vIElzIHRoZSByYWRpdXMgbmVnYXRp
dmU/IEVycm9yLgorICAgIGlmIChyIDwgMCkgdGhyb3cgbmV3IEVycm9yKCJuZWdhdGl2ZSByYWRp
dXM6ICIgKyByKTsKKworICAgIC8vIElzIHRoaXMgcGF0aCBlbXB0eT8gTW92ZSB0byAoeDAseTAp
LgorICAgIGlmICh0aGlzLl94MSA9PT0gbnVsbCkgeworICAgICAgdGhpcy5fICs9ICJNIiArIHgw
ICsgIiwiICsgeTA7CisgICAgfQorCisgICAgLy8gT3IsIGlzICh4MCx5MCkgbm90IGNvaW5jaWRl
bnQgd2l0aCB0aGUgcHJldmlvdXMgcG9pbnQ/IExpbmUgdG8gKHgwLHkwKS4KKyAgICBlbHNlIGlm
IChNYXRoLmFicyh0aGlzLl94MSAtIHgwKSA+IGVwc2lsb24kMSB8fCBNYXRoLmFicyh0aGlzLl95
MSAtIHkwKSA+IGVwc2lsb24kMSkgeworICAgICAgdGhpcy5fICs9ICJMIiArIHgwICsgIiwiICsg
eTA7CisgICAgfQorCisgICAgLy8gSXMgdGhpcyBhcmMgZW1wdHk/IFdl4oCZcmUgZG9uZS4KKyAg
ICBpZiAoIXIpIHJldHVybjsKKworICAgIC8vIERvZXMgdGhlIGFuZ2xlIGdvIHRoZSB3cm9uZyB3
YXk/IEZsaXAgdGhlIGRpcmVjdGlvbi4KKyAgICBpZiAoZGEgPCAwKSBkYSA9IGRhICUgdGF1JDIg
KyB0YXUkMjsKKworICAgIC8vIElzIHRoaXMgYSBjb21wbGV0ZSBjaXJjbGU/IERyYXcgdHdvIGFy
Y3MgdG8gY29tcGxldGUgdGhlIGNpcmNsZS4KKyAgICBpZiAoZGEgPiB0YXVFcHNpbG9uKSB7Cisg
ICAgICB0aGlzLl8gKz0gIkEiICsgciArICIsIiArIHIgKyAiLDAsMSwiICsgY3cgKyAiLCIgKyAo
eCAtIGR4KSArICIsIiArICh5IC0gZHkpICsgIkEiICsgciArICIsIiArIHIgKyAiLDAsMSwiICsg
Y3cgKyAiLCIgKyAodGhpcy5feDEgPSB4MCkgKyAiLCIgKyAodGhpcy5feTEgPSB5MCk7CisgICAg
fQorCisgICAgLy8gSXMgdGhpcyBhcmMgbm9uLWVtcHR5PyBEcmF3IGFuIGFyYyEKKyAgICBlbHNl
IGlmIChkYSA+IGVwc2lsb24kMSkgeworICAgICAgdGhpcy5fICs9ICJBIiArIHIgKyAiLCIgKyBy
ICsgIiwwLCIgKyAoKyhkYSA+PSBwaSQyKSkgKyAiLCIgKyBjdyArICIsIiArICh0aGlzLl94MSA9
IHggKyByICogTWF0aC5jb3MoYTEpKSArICIsIiArICh0aGlzLl95MSA9IHkgKyByICogTWF0aC5z
aW4oYTEpKTsKKyAgICB9CisgIH0sCisgIHJlY3Q6IGZ1bmN0aW9uKHgsIHksIHcsIGgpIHsKKyAg
ICB0aGlzLl8gKz0gIk0iICsgKHRoaXMuX3gwID0gdGhpcy5feDEgPSAreCkgKyAiLCIgKyAodGhp
cy5feTAgPSB0aGlzLl95MSA9ICt5KSArICJoIiArICgrdykgKyAidiIgKyAoK2gpICsgImgiICsg
KC13KSArICJaIjsKKyAgfSwKKyAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0
aGlzLl87CisgIH0KK307CisKK2Z1bmN0aW9uIGRlZmF1bHRTb3VyY2UoZCkgeworICByZXR1cm4g
ZC5zb3VyY2U7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRUYXJnZXQoZCkgeworICByZXR1cm4gZC50
YXJnZXQ7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRSYWRpdXMoZCkgeworICByZXR1cm4gZC5yYWRp
dXM7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRTdGFydEFuZ2xlKGQpIHsKKyAgcmV0dXJuIGQuc3Rh
cnRBbmdsZTsKK30KKworZnVuY3Rpb24gZGVmYXVsdEVuZEFuZ2xlKGQpIHsKKyAgcmV0dXJuIGQu
ZW5kQW5nbGU7Cit9CisKK2Z1bmN0aW9uIHJpYmJvbigpIHsKKyAgdmFyIHNvdXJjZSA9IGRlZmF1
bHRTb3VyY2UsCisgICAgICB0YXJnZXQgPSBkZWZhdWx0VGFyZ2V0LAorICAgICAgcmFkaXVzID0g
ZGVmYXVsdFJhZGl1cywKKyAgICAgIHN0YXJ0QW5nbGUgPSBkZWZhdWx0U3RhcnRBbmdsZSwKKyAg
ICAgIGVuZEFuZ2xlID0gZGVmYXVsdEVuZEFuZ2xlLAorICAgICAgY29udGV4dCA9IG51bGw7CisK
KyAgZnVuY3Rpb24gcmliYm9uKCkgeworICAgIHZhciBidWZmZXIsCisgICAgICAgIGFyZ3YgPSBz
bGljZSQyLmNhbGwoYXJndW1lbnRzKSwKKyAgICAgICAgcyA9IHNvdXJjZS5hcHBseSh0aGlzLCBh
cmd2KSwKKyAgICAgICAgdCA9IHRhcmdldC5hcHBseSh0aGlzLCBhcmd2KSwKKyAgICAgICAgc3Ig
PSArcmFkaXVzLmFwcGx5KHRoaXMsIChhcmd2WzBdID0gcywgYXJndikpLAorICAgICAgICBzYTAg
PSBzdGFydEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3YpIC0gaGFsZlBpJDEsCisgICAgICAgIHNhMSA9
IGVuZEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3YpIC0gaGFsZlBpJDEsCisgICAgICAgIHN4MCA9IHNy
ICogY29zKHNhMCksCisgICAgICAgIHN5MCA9IHNyICogc2luKHNhMCksCisgICAgICAgIHRyID0g
K3JhZGl1cy5hcHBseSh0aGlzLCAoYXJndlswXSA9IHQsIGFyZ3YpKSwKKyAgICAgICAgdGEwID0g
c3RhcnRBbmdsZS5hcHBseSh0aGlzLCBhcmd2KSAtIGhhbGZQaSQxLAorICAgICAgICB0YTEgPSBl
bmRBbmdsZS5hcHBseSh0aGlzLCBhcmd2KSAtIGhhbGZQaSQxOworCisgICAgaWYgKCFjb250ZXh0
KSBjb250ZXh0ID0gYnVmZmVyID0gcGF0aCgpOworCisgICAgY29udGV4dC5tb3ZlVG8oc3gwLCBz
eTApOworICAgIGNvbnRleHQuYXJjKDAsIDAsIHNyLCBzYTAsIHNhMSk7CisgICAgaWYgKHNhMCAh
PT0gdGEwIHx8IHNhMSAhPT0gdGExKSB7IC8vIFRPRE8gc3IgIT09IHRyPworICAgICAgY29udGV4
dC5xdWFkcmF0aWNDdXJ2ZVRvKDAsIDAsIHRyICogY29zKHRhMCksIHRyICogc2luKHRhMCkpOwor
ICAgICAgY29udGV4dC5hcmMoMCwgMCwgdHIsIHRhMCwgdGExKTsKKyAgICB9CisgICAgY29udGV4
dC5xdWFkcmF0aWNDdXJ2ZVRvKDAsIDAsIHN4MCwgc3kwKTsKKyAgICBjb250ZXh0LmNsb3NlUGF0
aCgpOworCisgICAgaWYgKGJ1ZmZlcikgcmV0dXJuIGNvbnRleHQgPSBudWxsLCBidWZmZXIgKyAi
IiB8fCBudWxsOworICB9CisKKyAgcmliYm9uLnJhZGl1cyA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChyYWRpdXMgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9u
IiA/IF8gOiBjb25zdGFudCQ1KCtfKSwgcmliYm9uKSA6IHJhZGl1czsKKyAgfTsKKworICByaWJi
b24uc3RhcnRBbmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0
aCA/IChzdGFydEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQk
NSgrXyksIHJpYmJvbikgOiBzdGFydEFuZ2xlOworICB9OworCisgIHJpYmJvbi5lbmRBbmdsZSA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChlbmRBbmdsZSA9
IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDUoK18pLCByaWJib24pIDog
ZW5kQW5nbGU7CisgIH07CisKKyAgcmliYm9uLnNvdXJjZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzb3VyY2UgPSBfLCByaWJib24pIDogc291cmNlOwor
ICB9OworCisgIHJpYmJvbi50YXJnZXQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAodGFyZ2V0ID0gXywgcmliYm9uKSA6IHRhcmdldDsKKyAgfTsKKworICBy
aWJib24uY29udGV4dCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0
aCA/ICgoY29udGV4dCA9IF8gPT0gbnVsbCA/IG51bGwgOiBfKSwgcmliYm9uKSA6IGNvbnRleHQ7
CisgIH07CisKKyAgcmV0dXJuIHJpYmJvbjsKK30KKwordmFyIHByZWZpeCA9ICIkIjsKKworZnVu
Y3Rpb24gTWFwKCkge30KKworTWFwLnByb3RvdHlwZSA9IG1hcCQxLnByb3RvdHlwZSA9IHsKKyAg
Y29uc3RydWN0b3I6IE1hcCwKKyAgaGFzOiBmdW5jdGlvbihrZXkpIHsKKyAgICByZXR1cm4gKHBy
ZWZpeCArIGtleSkgaW4gdGhpczsKKyAgfSwKKyAgZ2V0OiBmdW5jdGlvbihrZXkpIHsKKyAgICBy
ZXR1cm4gdGhpc1twcmVmaXggKyBrZXldOworICB9LAorICBzZXQ6IGZ1bmN0aW9uKGtleSwgdmFs
dWUpIHsKKyAgICB0aGlzW3ByZWZpeCArIGtleV0gPSB2YWx1ZTsKKyAgICByZXR1cm4gdGhpczsK
KyAgfSwKKyAgcmVtb3ZlOiBmdW5jdGlvbihrZXkpIHsKKyAgICB2YXIgcHJvcGVydHkgPSBwcmVm
aXggKyBrZXk7CisgICAgcmV0dXJuIHByb3BlcnR5IGluIHRoaXMgJiYgZGVsZXRlIHRoaXNbcHJv
cGVydHldOworICB9LAorICBjbGVhcjogZnVuY3Rpb24oKSB7CisgICAgZm9yICh2YXIgcHJvcGVy
dHkgaW4gdGhpcykgaWYgKHByb3BlcnR5WzBdID09PSBwcmVmaXgpIGRlbGV0ZSB0aGlzW3Byb3Bl
cnR5XTsKKyAgfSwKKyAga2V5czogZnVuY3Rpb24oKSB7CisgICAgdmFyIGtleXMgPSBbXTsKKyAg
ICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB0aGlzKSBpZiAocHJvcGVydHlbMF0gPT09IHByZWZpeCkg
a2V5cy5wdXNoKHByb3BlcnR5LnNsaWNlKDEpKTsKKyAgICByZXR1cm4ga2V5czsKKyAgfSwKKyAg
dmFsdWVzOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdmFsdWVzID0gW107CisgICAgZm9yICh2YXIg
cHJvcGVydHkgaW4gdGhpcykgaWYgKHByb3BlcnR5WzBdID09PSBwcmVmaXgpIHZhbHVlcy5wdXNo
KHRoaXNbcHJvcGVydHldKTsKKyAgICByZXR1cm4gdmFsdWVzOworICB9LAorICBlbnRyaWVzOiBm
dW5jdGlvbigpIHsKKyAgICB2YXIgZW50cmllcyA9IFtdOworICAgIGZvciAodmFyIHByb3BlcnR5
IGluIHRoaXMpIGlmIChwcm9wZXJ0eVswXSA9PT0gcHJlZml4KSBlbnRyaWVzLnB1c2goe2tleTog
cHJvcGVydHkuc2xpY2UoMSksIHZhbHVlOiB0aGlzW3Byb3BlcnR5XX0pOworICAgIHJldHVybiBl
bnRyaWVzOworICB9LAorICBzaXplOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgc2l6ZSA9IDA7Cisg
ICAgZm9yICh2YXIgcHJvcGVydHkgaW4gdGhpcykgaWYgKHByb3BlcnR5WzBdID09PSBwcmVmaXgp
ICsrc2l6ZTsKKyAgICByZXR1cm4gc2l6ZTsKKyAgfSwKKyAgZW1wdHk6IGZ1bmN0aW9uKCkgewor
ICAgIGZvciAodmFyIHByb3BlcnR5IGluIHRoaXMpIGlmIChwcm9wZXJ0eVswXSA9PT0gcHJlZml4
KSByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7CisgIH0sCisgIGVhY2g6IGZ1bmN0aW9u
KGYpIHsKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB0aGlzKSBpZiAocHJvcGVydHlbMF0gPT09
IHByZWZpeCkgZih0aGlzW3Byb3BlcnR5XSwgcHJvcGVydHkuc2xpY2UoMSksIHRoaXMpOworICB9
Cit9OworCitmdW5jdGlvbiBtYXAkMShvYmplY3QsIGYpIHsKKyAgdmFyIG1hcCA9IG5ldyBNYXA7
CisKKyAgLy8gQ29weSBjb25zdHJ1Y3Rvci4KKyAgaWYgKG9iamVjdCBpbnN0YW5jZW9mIE1hcCkg
b2JqZWN0LmVhY2goZnVuY3Rpb24odmFsdWUsIGtleSkgeyBtYXAuc2V0KGtleSwgdmFsdWUpOyB9
KTsKKworICAvLyBJbmRleCBhcnJheSBieSBudW1lcmljIGluZGV4IG9yIHNwZWNpZmllZCBrZXkg
ZnVuY3Rpb24uCisgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkob2JqZWN0KSkgeworICAgIHZhciBp
ID0gLTEsCisgICAgICAgIG4gPSBvYmplY3QubGVuZ3RoLAorICAgICAgICBvOworCisgICAgaWYg
KGYgPT0gbnVsbCkgd2hpbGUgKCsraSA8IG4pIG1hcC5zZXQoaSwgb2JqZWN0W2ldKTsKKyAgICBl
bHNlIHdoaWxlICgrK2kgPCBuKSBtYXAuc2V0KGYobyA9IG9iamVjdFtpXSwgaSwgb2JqZWN0KSwg
byk7CisgIH0KKworICAvLyBDb252ZXJ0IG9iamVjdCB0byBtYXAuCisgIGVsc2UgaWYgKG9iamVj
dCkgZm9yICh2YXIga2V5IGluIG9iamVjdCkgbWFwLnNldChrZXksIG9iamVjdFtrZXldKTsKKwor
ICByZXR1cm4gbWFwOworfQorCitmdW5jdGlvbiBuZXN0KCkgeworICB2YXIga2V5cyA9IFtdLAor
ICAgICAgc29ydEtleXMgPSBbXSwKKyAgICAgIHNvcnRWYWx1ZXMsCisgICAgICByb2xsdXAsCisg
ICAgICBuZXN0OworCisgIGZ1bmN0aW9uIGFwcGx5KGFycmF5LCBkZXB0aCwgY3JlYXRlUmVzdWx0
LCBzZXRSZXN1bHQpIHsKKyAgICBpZiAoZGVwdGggPj0ga2V5cy5sZW5ndGgpIHsKKyAgICAgIGlm
IChzb3J0VmFsdWVzICE9IG51bGwpIGFycmF5LnNvcnQoc29ydFZhbHVlcyk7CisgICAgICByZXR1
cm4gcm9sbHVwICE9IG51bGwgPyByb2xsdXAoYXJyYXkpIDogYXJyYXk7CisgICAgfQorCisgICAg
dmFyIGkgPSAtMSwKKyAgICAgICAgbiA9IGFycmF5Lmxlbmd0aCwKKyAgICAgICAga2V5ID0ga2V5
c1tkZXB0aCsrXSwKKyAgICAgICAga2V5VmFsdWUsCisgICAgICAgIHZhbHVlLAorICAgICAgICB2
YWx1ZXNCeUtleSA9IG1hcCQxKCksCisgICAgICAgIHZhbHVlcywKKyAgICAgICAgcmVzdWx0ID0g
Y3JlYXRlUmVzdWx0KCk7CisKKyAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgaWYgKHZhbHVl
cyA9IHZhbHVlc0J5S2V5LmdldChrZXlWYWx1ZSA9IGtleSh2YWx1ZSA9IGFycmF5W2ldKSArICIi
KSkgeworICAgICAgICB2YWx1ZXMucHVzaCh2YWx1ZSk7CisgICAgICB9IGVsc2UgeworICAgICAg
ICB2YWx1ZXNCeUtleS5zZXQoa2V5VmFsdWUsIFt2YWx1ZV0pOworICAgICAgfQorICAgIH0KKwor
ICAgIHZhbHVlc0J5S2V5LmVhY2goZnVuY3Rpb24odmFsdWVzLCBrZXkpIHsKKyAgICAgIHNldFJl
c3VsdChyZXN1bHQsIGtleSwgYXBwbHkodmFsdWVzLCBkZXB0aCwgY3JlYXRlUmVzdWx0LCBzZXRS
ZXN1bHQpKTsKKyAgICB9KTsKKworICAgIHJldHVybiByZXN1bHQ7CisgIH0KKworICBmdW5jdGlv
biBlbnRyaWVzKG1hcCwgZGVwdGgpIHsKKyAgICBpZiAoKytkZXB0aCA+IGtleXMubGVuZ3RoKSBy
ZXR1cm4gbWFwOworICAgIHZhciBhcnJheSwgc29ydEtleSA9IHNvcnRLZXlzW2RlcHRoIC0gMV07
CisgICAgaWYgKHJvbGx1cCAhPSBudWxsICYmIGRlcHRoID49IGtleXMubGVuZ3RoKSBhcnJheSA9
IG1hcC5lbnRyaWVzKCk7CisgICAgZWxzZSBhcnJheSA9IFtdLCBtYXAuZWFjaChmdW5jdGlvbih2
LCBrKSB7IGFycmF5LnB1c2goe2tleTogaywgdmFsdWVzOiBlbnRyaWVzKHYsIGRlcHRoKX0pOyB9
KTsKKyAgICByZXR1cm4gc29ydEtleSAhPSBudWxsID8gYXJyYXkuc29ydChmdW5jdGlvbihhLCBi
KSB7IHJldHVybiBzb3J0S2V5KGEua2V5LCBiLmtleSk7IH0pIDogYXJyYXk7CisgIH0KKworICBy
ZXR1cm4gbmVzdCA9IHsKKyAgICBvYmplY3Q6IGZ1bmN0aW9uKGFycmF5KSB7IHJldHVybiBhcHBs
eShhcnJheSwgMCwgY3JlYXRlT2JqZWN0LCBzZXRPYmplY3QpOyB9LAorICAgIG1hcDogZnVuY3Rp
b24oYXJyYXkpIHsgcmV0dXJuIGFwcGx5KGFycmF5LCAwLCBjcmVhdGVNYXAsIHNldE1hcCk7IH0s
CisgICAgZW50cmllczogZnVuY3Rpb24oYXJyYXkpIHsgcmV0dXJuIGVudHJpZXMoYXBwbHkoYXJy
YXksIDAsIGNyZWF0ZU1hcCwgc2V0TWFwKSwgMCk7IH0sCisgICAga2V5OiBmdW5jdGlvbihkKSB7
IGtleXMucHVzaChkKTsgcmV0dXJuIG5lc3Q7IH0sCisgICAgc29ydEtleXM6IGZ1bmN0aW9uKG9y
ZGVyKSB7IHNvcnRLZXlzW2tleXMubGVuZ3RoIC0gMV0gPSBvcmRlcjsgcmV0dXJuIG5lc3Q7IH0s
CisgICAgc29ydFZhbHVlczogZnVuY3Rpb24ob3JkZXIpIHsgc29ydFZhbHVlcyA9IG9yZGVyOyBy
ZXR1cm4gbmVzdDsgfSwKKyAgICByb2xsdXA6IGZ1bmN0aW9uKGYpIHsgcm9sbHVwID0gZjsgcmV0
dXJuIG5lc3Q7IH0KKyAgfTsKK30KKworZnVuY3Rpb24gY3JlYXRlT2JqZWN0KCkgeworICByZXR1
cm4ge307Cit9CisKK2Z1bmN0aW9uIHNldE9iamVjdChvYmplY3QsIGtleSwgdmFsdWUpIHsKKyAg
b2JqZWN0W2tleV0gPSB2YWx1ZTsKK30KKworZnVuY3Rpb24gY3JlYXRlTWFwKCkgeworICByZXR1
cm4gbWFwJDEoKTsKK30KKworZnVuY3Rpb24gc2V0TWFwKG1hcCwga2V5LCB2YWx1ZSkgeworICBt
YXAuc2V0KGtleSwgdmFsdWUpOworfQorCitmdW5jdGlvbiBTZXQoKSB7fQorCit2YXIgcHJvdG8g
PSBtYXAkMS5wcm90b3R5cGU7CisKK1NldC5wcm90b3R5cGUgPSBzZXQkMi5wcm90b3R5cGUgPSB7
CisgIGNvbnN0cnVjdG9yOiBTZXQsCisgIGhhczogcHJvdG8uaGFzLAorICBhZGQ6IGZ1bmN0aW9u
KHZhbHVlKSB7CisgICAgdmFsdWUgKz0gIiI7CisgICAgdGhpc1twcmVmaXggKyB2YWx1ZV0gPSB2
YWx1ZTsKKyAgICByZXR1cm4gdGhpczsKKyAgfSwKKyAgcmVtb3ZlOiBwcm90by5yZW1vdmUsCisg
IGNsZWFyOiBwcm90by5jbGVhciwKKyAgdmFsdWVzOiBwcm90by5rZXlzLAorICBzaXplOiBwcm90
by5zaXplLAorICBlbXB0eTogcHJvdG8uZW1wdHksCisgIGVhY2g6IHByb3RvLmVhY2gKK307CisK
K2Z1bmN0aW9uIHNldCQyKG9iamVjdCwgZikgeworICB2YXIgc2V0ID0gbmV3IFNldDsKKworICAv
LyBDb3B5IGNvbnN0cnVjdG9yLgorICBpZiAob2JqZWN0IGluc3RhbmNlb2YgU2V0KSBvYmplY3Qu
ZWFjaChmdW5jdGlvbih2YWx1ZSkgeyBzZXQuYWRkKHZhbHVlKTsgfSk7CisKKyAgLy8gT3RoZXJ3
aXNlLCBhc3N1bWUgaXTigJlzIGFuIGFycmF5LgorICBlbHNlIGlmIChvYmplY3QpIHsKKyAgICB2
YXIgaSA9IC0xLCBuID0gb2JqZWN0Lmxlbmd0aDsKKyAgICBpZiAoZiA9PSBudWxsKSB3aGlsZSAo
KytpIDwgbikgc2V0LmFkZChvYmplY3RbaV0pOworICAgIGVsc2Ugd2hpbGUgKCsraSA8IG4pIHNl
dC5hZGQoZihvYmplY3RbaV0sIGksIG9iamVjdCkpOworICB9CisKKyAgcmV0dXJuIHNldDsKK30K
KworZnVuY3Rpb24ga2V5cyhtYXApIHsKKyAgdmFyIGtleXMgPSBbXTsKKyAgZm9yICh2YXIga2V5
IGluIG1hcCkga2V5cy5wdXNoKGtleSk7CisgIHJldHVybiBrZXlzOworfQorCitmdW5jdGlvbiB2
YWx1ZXMobWFwKSB7CisgIHZhciB2YWx1ZXMgPSBbXTsKKyAgZm9yICh2YXIga2V5IGluIG1hcCkg
dmFsdWVzLnB1c2gobWFwW2tleV0pOworICByZXR1cm4gdmFsdWVzOworfQorCitmdW5jdGlvbiBl
bnRyaWVzKG1hcCkgeworICB2YXIgZW50cmllcyA9IFtdOworICBmb3IgKHZhciBrZXkgaW4gbWFw
KSBlbnRyaWVzLnB1c2goe2tleToga2V5LCB2YWx1ZTogbWFwW2tleV19KTsKKyAgcmV0dXJuIGVu
dHJpZXM7Cit9CisKK3ZhciBhcnJheSQyID0gQXJyYXkucHJvdG90eXBlOworCit2YXIgc2xpY2Uk
MyA9IGFycmF5JDIuc2xpY2U7CisKK2Z1bmN0aW9uIGFzY2VuZGluZyQyKGEsIGIpIHsKKyAgcmV0
dXJuIGEgLSBiOworfQorCitmdW5jdGlvbiBhcmVhKHJpbmcpIHsKKyAgdmFyIGkgPSAwLCBuID0g
cmluZy5sZW5ndGgsIGFyZWEgPSByaW5nW24gLSAxXVsxXSAqIHJpbmdbMF1bMF0gLSByaW5nW24g
LSAxXVswXSAqIHJpbmdbMF1bMV07CisgIHdoaWxlICgrK2kgPCBuKSBhcmVhICs9IHJpbmdbaSAt
IDFdWzFdICogcmluZ1tpXVswXSAtIHJpbmdbaSAtIDFdWzBdICogcmluZ1tpXVsxXTsKKyAgcmV0
dXJuIGFyZWE7Cit9CisKK2Z1bmN0aW9uIGNvbnN0YW50JDYoeCkgeworICByZXR1cm4gZnVuY3Rp
b24oKSB7CisgICAgcmV0dXJuIHg7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNvbnRhaW5zKHJpbmcs
IGhvbGUpIHsKKyAgdmFyIGkgPSAtMSwgbiA9IGhvbGUubGVuZ3RoLCBjOworICB3aGlsZSAoKytp
IDwgbikgaWYgKGMgPSByaW5nQ29udGFpbnMocmluZywgaG9sZVtpXSkpIHJldHVybiBjOworICBy
ZXR1cm4gMDsKK30KKworZnVuY3Rpb24gcmluZ0NvbnRhaW5zKHJpbmcsIHBvaW50KSB7CisgIHZh
ciB4ID0gcG9pbnRbMF0sIHkgPSBwb2ludFsxXSwgY29udGFpbnMgPSAtMTsKKyAgZm9yICh2YXIg
aSA9IDAsIG4gPSByaW5nLmxlbmd0aCwgaiA9IG4gLSAxOyBpIDwgbjsgaiA9IGkrKykgeworICAg
IHZhciBwaSA9IHJpbmdbaV0sIHhpID0gcGlbMF0sIHlpID0gcGlbMV0sIHBqID0gcmluZ1tqXSwg
eGogPSBwalswXSwgeWogPSBwalsxXTsKKyAgICBpZiAoc2VnbWVudENvbnRhaW5zKHBpLCBwaiwg
cG9pbnQpKSByZXR1cm4gMDsKKyAgICBpZiAoKCh5aSA+IHkpICE9PSAoeWogPiB5KSkgJiYgKCh4
IDwgKHhqIC0geGkpICogKHkgLSB5aSkgLyAoeWogLSB5aSkgKyB4aSkpKSBjb250YWlucyA9IC1j
b250YWluczsKKyAgfQorICByZXR1cm4gY29udGFpbnM7Cit9CisKK2Z1bmN0aW9uIHNlZ21lbnRD
b250YWlucyhhLCBiLCBjKSB7CisgIHZhciBpOyByZXR1cm4gY29sbGluZWFyKGEsIGIsIGMpICYm
IHdpdGhpbihhW2kgPSArKGFbMF0gPT09IGJbMF0pXSwgY1tpXSwgYltpXSk7Cit9CisKK2Z1bmN0
aW9uIGNvbGxpbmVhcihhLCBiLCBjKSB7CisgIHJldHVybiAoYlswXSAtIGFbMF0pICogKGNbMV0g
LSBhWzFdKSA9PT0gKGNbMF0gLSBhWzBdKSAqIChiWzFdIC0gYVsxXSk7Cit9CisKK2Z1bmN0aW9u
IHdpdGhpbihwLCBxLCByKSB7CisgIHJldHVybiBwIDw9IHEgJiYgcSA8PSByIHx8IHIgPD0gcSAm
JiBxIDw9IHA7Cit9CisKK2Z1bmN0aW9uIG5vb3AkMSgpIHt9CisKK3ZhciBjYXNlcyA9IFsKKyAg
W10sCisgIFtbWzEuMCwgMS41XSwgWzAuNSwgMS4wXV1dLAorICBbW1sxLjUsIDEuMF0sIFsxLjAs
IDEuNV1dXSwKKyAgW1tbMS41LCAxLjBdLCBbMC41LCAxLjBdXV0sCisgIFtbWzEuMCwgMC41XSwg
WzEuNSwgMS4wXV1dLAorICBbW1sxLjAsIDEuNV0sIFswLjUsIDEuMF1dLCBbWzEuMCwgMC41XSwg
WzEuNSwgMS4wXV1dLAorICBbW1sxLjAsIDAuNV0sIFsxLjAsIDEuNV1dXSwKKyAgW1tbMS4wLCAw
LjVdLCBbMC41LCAxLjBdXV0sCisgIFtbWzAuNSwgMS4wXSwgWzEuMCwgMC41XV1dLAorICBbW1sx
LjAsIDEuNV0sIFsxLjAsIDAuNV1dXSwKKyAgW1tbMC41LCAxLjBdLCBbMS4wLCAwLjVdXSwgW1sx
LjUsIDEuMF0sIFsxLjAsIDEuNV1dXSwKKyAgW1tbMS41LCAxLjBdLCBbMS4wLCAwLjVdXV0sCisg
IFtbWzAuNSwgMS4wXSwgWzEuNSwgMS4wXV1dLAorICBbW1sxLjAsIDEuNV0sIFsxLjUsIDEuMF1d
XSwKKyAgW1tbMC41LCAxLjBdLCBbMS4wLCAxLjVdXV0sCisgIFtdCitdOworCitmdW5jdGlvbiBj
b250b3VycygpIHsKKyAgdmFyIGR4ID0gMSwKKyAgICAgIGR5ID0gMSwKKyAgICAgIHRocmVzaG9s
ZCA9IHRocmVzaG9sZFN0dXJnZXMsCisgICAgICBzbW9vdGggPSBzbW9vdGhMaW5lYXI7CisKKyAg
ZnVuY3Rpb24gY29udG91cnModmFsdWVzKSB7CisgICAgdmFyIHR6ID0gdGhyZXNob2xkKHZhbHVl
cyk7CisKKyAgICAvLyBDb252ZXJ0IG51bWJlciBvZiB0aHJlc2hvbGRzIGludG8gdW5pZm9ybSB0
aHJlc2hvbGRzLgorICAgIGlmICghQXJyYXkuaXNBcnJheSh0eikpIHsKKyAgICAgIHZhciBkb21h
aW4gPSBleHRlbnQodmFsdWVzKSwgc3RhcnQgPSBkb21haW5bMF0sIHN0b3AgPSBkb21haW5bMV07
CisgICAgICB0eiA9IHRpY2tTdGVwKHN0YXJ0LCBzdG9wLCB0eik7CisgICAgICB0eiA9IHNlcXVl
bmNlKE1hdGguZmxvb3Ioc3RhcnQgLyB0eikgKiB0eiwgTWF0aC5mbG9vcihzdG9wIC8gdHopICog
dHosIHR6KTsKKyAgICB9IGVsc2UgeworICAgICAgdHogPSB0ei5zbGljZSgpLnNvcnQoYXNjZW5k
aW5nJDIpOworICAgIH0KKworICAgIHJldHVybiB0ei5tYXAoZnVuY3Rpb24odmFsdWUpIHsKKyAg
ICAgIHJldHVybiBjb250b3VyKHZhbHVlcywgdmFsdWUpOworICAgIH0pOworICB9CisKKyAgLy8g
QWNjdW11bGF0ZSwgc21vb3RoIGNvbnRvdXIgcmluZ3MsIGFzc2lnbiBob2xlcyB0byBleHRlcmlv
ciByaW5ncy4KKyAgLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL21ib3N0b2NrL3NoYXBl
ZmlsZS9ibG9iL3YwLjYuMi9zaHAvcG9seWdvbi5qcworICBmdW5jdGlvbiBjb250b3VyKHZhbHVl
cywgdmFsdWUpIHsKKyAgICB2YXIgcG9seWdvbnMgPSBbXSwKKyAgICAgICAgaG9sZXMgPSBbXTsK
KworICAgIGlzb3JpbmdzKHZhbHVlcywgdmFsdWUsIGZ1bmN0aW9uKHJpbmcpIHsKKyAgICAgIHNt
b290aChyaW5nLCB2YWx1ZXMsIHZhbHVlKTsKKyAgICAgIGlmIChhcmVhKHJpbmcpID4gMCkgcG9s
eWdvbnMucHVzaChbcmluZ10pOworICAgICAgZWxzZSBob2xlcy5wdXNoKHJpbmcpOworICAgIH0p
OworCisgICAgaG9sZXMuZm9yRWFjaChmdW5jdGlvbihob2xlKSB7CisgICAgICBmb3IgKHZhciBp
ID0gMCwgbiA9IHBvbHlnb25zLmxlbmd0aCwgcG9seWdvbjsgaSA8IG47ICsraSkgeworICAgICAg
ICBpZiAoY29udGFpbnMoKHBvbHlnb24gPSBwb2x5Z29uc1tpXSlbMF0sIGhvbGUpICE9PSAtMSkg
eworICAgICAgICAgIHBvbHlnb24ucHVzaChob2xlKTsKKyAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KKyAgICAgIH0KKyAgICB9KTsKKworICAgIHJldHVybiB7CisgICAgICB0eXBlOiAiTXVs
dGlQb2x5Z29uIiwKKyAgICAgIHZhbHVlOiB2YWx1ZSwKKyAgICAgIGNvb3JkaW5hdGVzOiBwb2x5
Z29ucworICAgIH07CisgIH0KKworICAvLyBNYXJjaGluZyBzcXVhcmVzIHdpdGggaXNvbGluZXMg
c3RpdGNoZWQgaW50byByaW5ncy4KKyAgLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL3Rv
cG9qc29uL3RvcG9qc29uLWNsaWVudC9ibG9iL3YzLjAuMC9zcmMvc3RpdGNoLmpzCisgIGZ1bmN0
aW9uIGlzb3JpbmdzKHZhbHVlcywgdmFsdWUsIGNhbGxiYWNrKSB7CisgICAgdmFyIGZyYWdtZW50
QnlTdGFydCA9IG5ldyBBcnJheSwKKyAgICAgICAgZnJhZ21lbnRCeUVuZCA9IG5ldyBBcnJheSwK
KyAgICAgICAgeCwgeSwgdDAsIHQxLCB0MiwgdDM7CisKKyAgICAvLyBTcGVjaWFsIGNhc2UgZm9y
IHRoZSBmaXJzdCByb3cgKHkgPSAtMSwgdDIgPSB0MyA9IDApLgorICAgIHggPSB5ID0gLTE7Cisg
ICAgdDEgPSB2YWx1ZXNbMF0gPj0gdmFsdWU7CisgICAgY2FzZXNbdDEgPDwgMV0uZm9yRWFjaChz
dGl0Y2gpOworICAgIHdoaWxlICgrK3ggPCBkeCAtIDEpIHsKKyAgICAgIHQwID0gdDEsIHQxID0g
dmFsdWVzW3ggKyAxXSA+PSB2YWx1ZTsKKyAgICAgIGNhc2VzW3QwIHwgdDEgPDwgMV0uZm9yRWFj
aChzdGl0Y2gpOworICAgIH0KKyAgICBjYXNlc1t0MSA8PCAwXS5mb3JFYWNoKHN0aXRjaCk7CisK
KyAgICAvLyBHZW5lcmFsIGNhc2UgZm9yIHRoZSBpbnRlcm1lZGlhdGUgcm93cy4KKyAgICB3aGls
ZSAoKyt5IDwgZHkgLSAxKSB7CisgICAgICB4ID0gLTE7CisgICAgICB0MSA9IHZhbHVlc1t5ICog
ZHggKyBkeF0gPj0gdmFsdWU7CisgICAgICB0MiA9IHZhbHVlc1t5ICogZHhdID49IHZhbHVlOwor
ICAgICAgY2FzZXNbdDEgPDwgMSB8IHQyIDw8IDJdLmZvckVhY2goc3RpdGNoKTsKKyAgICAgIHdo
aWxlICgrK3ggPCBkeCAtIDEpIHsKKyAgICAgICAgdDAgPSB0MSwgdDEgPSB2YWx1ZXNbeSAqIGR4
ICsgZHggKyB4ICsgMV0gPj0gdmFsdWU7CisgICAgICAgIHQzID0gdDIsIHQyID0gdmFsdWVzW3kg
KiBkeCArIHggKyAxXSA+PSB2YWx1ZTsKKyAgICAgICAgY2FzZXNbdDAgfCB0MSA8PCAxIHwgdDIg
PDwgMiB8IHQzIDw8IDNdLmZvckVhY2goc3RpdGNoKTsKKyAgICAgIH0KKyAgICAgIGNhc2VzW3Qx
IHwgdDIgPDwgM10uZm9yRWFjaChzdGl0Y2gpOworICAgIH0KKworICAgIC8vIFNwZWNpYWwgY2Fz
ZSBmb3IgdGhlIGxhc3Qgcm93ICh5ID0gZHkgLSAxLCB0MCA9IHQxID0gMCkuCisgICAgeCA9IC0x
OworICAgIHQyID0gdmFsdWVzW3kgKiBkeF0gPj0gdmFsdWU7CisgICAgY2FzZXNbdDIgPDwgMl0u
Zm9yRWFjaChzdGl0Y2gpOworICAgIHdoaWxlICgrK3ggPCBkeCAtIDEpIHsKKyAgICAgIHQzID0g
dDIsIHQyID0gdmFsdWVzW3kgKiBkeCArIHggKyAxXSA+PSB2YWx1ZTsKKyAgICAgIGNhc2VzW3Qy
IDw8IDIgfCB0MyA8PCAzXS5mb3JFYWNoKHN0aXRjaCk7CisgICAgfQorICAgIGNhc2VzW3QyIDw8
IDNdLmZvckVhY2goc3RpdGNoKTsKKworICAgIGZ1bmN0aW9uIHN0aXRjaChsaW5lKSB7CisgICAg
ICB2YXIgc3RhcnQgPSBbbGluZVswXVswXSArIHgsIGxpbmVbMF1bMV0gKyB5XSwKKyAgICAgICAg
ICBlbmQgPSBbbGluZVsxXVswXSArIHgsIGxpbmVbMV1bMV0gKyB5XSwKKyAgICAgICAgICBzdGFy
dEluZGV4ID0gaW5kZXgoc3RhcnQpLAorICAgICAgICAgIGVuZEluZGV4ID0gaW5kZXgoZW5kKSwK
KyAgICAgICAgICBmLCBnOworICAgICAgaWYgKGYgPSBmcmFnbWVudEJ5RW5kW3N0YXJ0SW5kZXhd
KSB7CisgICAgICAgIGlmIChnID0gZnJhZ21lbnRCeVN0YXJ0W2VuZEluZGV4XSkgeworICAgICAg
ICAgIGRlbGV0ZSBmcmFnbWVudEJ5RW5kW2YuZW5kXTsKKyAgICAgICAgICBkZWxldGUgZnJhZ21l
bnRCeVN0YXJ0W2cuc3RhcnRdOworICAgICAgICAgIGlmIChmID09PSBnKSB7CisgICAgICAgICAg
ICBmLnJpbmcucHVzaChlbmQpOworICAgICAgICAgICAgY2FsbGJhY2soZi5yaW5nKTsKKyAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgZnJhZ21lbnRCeVN0YXJ0W2Yuc3RhcnRdID0gZnJh
Z21lbnRCeUVuZFtnLmVuZF0gPSB7c3RhcnQ6IGYuc3RhcnQsIGVuZDogZy5lbmQsIHJpbmc6IGYu
cmluZy5jb25jYXQoZy5yaW5nKX07CisgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgIGRlbGV0ZSBmcmFnbWVudEJ5RW5kW2YuZW5kXTsKKyAgICAgICAgICBmLnJpbmcucHVz
aChlbmQpOworICAgICAgICAgIGZyYWdtZW50QnlFbmRbZi5lbmQgPSBlbmRJbmRleF0gPSBmOwor
ICAgICAgICB9CisgICAgICB9IGVsc2UgaWYgKGYgPSBmcmFnbWVudEJ5U3RhcnRbZW5kSW5kZXhd
KSB7CisgICAgICAgIGlmIChnID0gZnJhZ21lbnRCeUVuZFtzdGFydEluZGV4XSkgeworICAgICAg
ICAgIGRlbGV0ZSBmcmFnbWVudEJ5U3RhcnRbZi5zdGFydF07CisgICAgICAgICAgZGVsZXRlIGZy
YWdtZW50QnlFbmRbZy5lbmRdOworICAgICAgICAgIGlmIChmID09PSBnKSB7CisgICAgICAgICAg
ICBmLnJpbmcucHVzaChlbmQpOworICAgICAgICAgICAgY2FsbGJhY2soZi5yaW5nKTsKKyAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgZnJhZ21lbnRCeVN0YXJ0W2cuc3RhcnRdID0gZnJh
Z21lbnRCeUVuZFtmLmVuZF0gPSB7c3RhcnQ6IGcuc3RhcnQsIGVuZDogZi5lbmQsIHJpbmc6IGcu
cmluZy5jb25jYXQoZi5yaW5nKX07CisgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgIGRlbGV0ZSBmcmFnbWVudEJ5U3RhcnRbZi5zdGFydF07CisgICAgICAgICAgZi5yaW5n
LnVuc2hpZnQoc3RhcnQpOworICAgICAgICAgIGZyYWdtZW50QnlTdGFydFtmLnN0YXJ0ID0gc3Rh
cnRJbmRleF0gPSBmOworICAgICAgICB9CisgICAgICB9IGVsc2UgeworICAgICAgICBmcmFnbWVu
dEJ5U3RhcnRbc3RhcnRJbmRleF0gPSBmcmFnbWVudEJ5RW5kW2VuZEluZGV4XSA9IHtzdGFydDog
c3RhcnRJbmRleCwgZW5kOiBlbmRJbmRleCwgcmluZzogW3N0YXJ0LCBlbmRdfTsKKyAgICAgIH0K
KyAgICB9CisgIH0KKworICBmdW5jdGlvbiBpbmRleChwb2ludCkgeworICAgIHJldHVybiBwb2lu
dFswXSAqIDIgKyBwb2ludFsxXSAqIChkeCArIDEpICogNDsKKyAgfQorCisgIGZ1bmN0aW9uIHNt
b290aExpbmVhcihyaW5nLCB2YWx1ZXMsIHZhbHVlKSB7CisgICAgcmluZy5mb3JFYWNoKGZ1bmN0
aW9uKHBvaW50KSB7CisgICAgICB2YXIgeCA9IHBvaW50WzBdLAorICAgICAgICAgIHkgPSBwb2lu
dFsxXSwKKyAgICAgICAgICB4dCA9IHggfCAwLAorICAgICAgICAgIHl0ID0geSB8IDAsCisgICAg
ICAgICAgdjAsCisgICAgICAgICAgdjEgPSB2YWx1ZXNbeXQgKiBkeCArIHh0XTsKKyAgICAgIGlm
ICh4ID4gMCAmJiB4IDwgZHggJiYgeHQgPT09IHgpIHsKKyAgICAgICAgdjAgPSB2YWx1ZXNbeXQg
KiBkeCArIHh0IC0gMV07CisgICAgICAgIHBvaW50WzBdID0geCArICh2YWx1ZSAtIHYwKSAvICh2
MSAtIHYwKSAtIDAuNTsKKyAgICAgIH0KKyAgICAgIGlmICh5ID4gMCAmJiB5IDwgZHkgJiYgeXQg
PT09IHkpIHsKKyAgICAgICAgdjAgPSB2YWx1ZXNbKHl0IC0gMSkgKiBkeCArIHh0XTsKKyAgICAg
ICAgcG9pbnRbMV0gPSB5ICsgKHZhbHVlIC0gdjApIC8gKHYxIC0gdjApIC0gMC41OworICAgICAg
fQorICAgIH0pOworICB9CisKKyAgY29udG91cnMuY29udG91ciA9IGNvbnRvdXI7CisKKyAgY29u
dG91cnMuc2l6ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJl
dHVybiBbZHgsIGR5XTsKKyAgICB2YXIgXzAgPSBNYXRoLmNlaWwoX1swXSksIF8xID0gTWF0aC5j
ZWlsKF9bMV0pOworICAgIGlmICghKF8wID4gMCkgfHwgIShfMSA+IDApKSB0aHJvdyBuZXcgRXJy
b3IoImludmFsaWQgc2l6ZSIpOworICAgIHJldHVybiBkeCA9IF8wLCBkeSA9IF8xLCBjb250b3Vy
czsKKyAgfTsKKworICBjb250b3Vycy50aHJlc2hvbGRzID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRocmVzaG9sZCA9IHR5cGVvZiBfID09PSAiZnVuY3Rp
b24iID8gXyA6IEFycmF5LmlzQXJyYXkoXykgPyBjb25zdGFudCQ2KHNsaWNlJDMuY2FsbChfKSkg
OiBjb25zdGFudCQ2KF8pLCBjb250b3VycykgOiB0aHJlc2hvbGQ7CisgIH07CisKKyAgY29udG91
cnMuc21vb3RoID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8g
KHNtb290aCA9IF8gPyBzbW9vdGhMaW5lYXIgOiBub29wJDEsIGNvbnRvdXJzKSA6IHNtb290aCA9
PT0gc21vb3RoTGluZWFyOworICB9OworCisgIHJldHVybiBjb250b3VyczsKK30KKworLy8gVE9E
TyBPcHRpbWl6ZSBlZGdlIGNhc2VzLgorLy8gVE9ETyBPcHRpbWl6ZSBpbmRleCBjYWxjdWxhdGlv
bi4KKy8vIFRPRE8gT3B0aW1pemUgYXJndW1lbnRzLgorZnVuY3Rpb24gYmx1clgoc291cmNlLCB0
YXJnZXQsIHIpIHsKKyAgdmFyIG4gPSBzb3VyY2Uud2lkdGgsCisgICAgICBtID0gc291cmNlLmhl
aWdodCwKKyAgICAgIHcgPSAociA8PCAxKSArIDE7CisgIGZvciAodmFyIGogPSAwOyBqIDwgbTsg
KytqKSB7CisgICAgZm9yICh2YXIgaSA9IDAsIHNyID0gMDsgaSA8IG4gKyByOyArK2kpIHsKKyAg
ICAgIGlmIChpIDwgbikgeworICAgICAgICBzciArPSBzb3VyY2UuZGF0YVtpICsgaiAqIG5dOwor
ICAgICAgfQorICAgICAgaWYgKGkgPj0gcikgeworICAgICAgICBpZiAoaSA+PSB3KSB7CisgICAg
ICAgICAgc3IgLT0gc291cmNlLmRhdGFbaSAtIHcgKyBqICogbl07CisgICAgICAgIH0KKyAgICAg
ICAgdGFyZ2V0LmRhdGFbaSAtIHIgKyBqICogbl0gPSBzciAvIE1hdGgubWluKGkgKyAxLCBuIC0g
MSArIHcgLSBpLCB3KTsKKyAgICAgIH0KKyAgICB9CisgIH0KK30KKworLy8gVE9ETyBPcHRpbWl6
ZSBlZGdlIGNhc2VzLgorLy8gVE9ETyBPcHRpbWl6ZSBpbmRleCBjYWxjdWxhdGlvbi4KKy8vIFRP
RE8gT3B0aW1pemUgYXJndW1lbnRzLgorZnVuY3Rpb24gYmx1clkoc291cmNlLCB0YXJnZXQsIHIp
IHsKKyAgdmFyIG4gPSBzb3VyY2Uud2lkdGgsCisgICAgICBtID0gc291cmNlLmhlaWdodCwKKyAg
ICAgIHcgPSAociA8PCAxKSArIDE7CisgIGZvciAodmFyIGkgPSAwOyBpIDwgbjsgKytpKSB7Cisg
ICAgZm9yICh2YXIgaiA9IDAsIHNyID0gMDsgaiA8IG0gKyByOyArK2opIHsKKyAgICAgIGlmIChq
IDwgbSkgeworICAgICAgICBzciArPSBzb3VyY2UuZGF0YVtpICsgaiAqIG5dOworICAgICAgfQor
ICAgICAgaWYgKGogPj0gcikgeworICAgICAgICBpZiAoaiA+PSB3KSB7CisgICAgICAgICAgc3Ig
LT0gc291cmNlLmRhdGFbaSArIChqIC0gdykgKiBuXTsKKyAgICAgICAgfQorICAgICAgICB0YXJn
ZXQuZGF0YVtpICsgKGogLSByKSAqIG5dID0gc3IgLyBNYXRoLm1pbihqICsgMSwgbSAtIDEgKyB3
IC0gaiwgdyk7CisgICAgICB9CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRYKGQp
IHsKKyAgcmV0dXJuIGRbMF07Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRZKGQpIHsKKyAgcmV0dXJu
IGRbMV07Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRXZWlnaHQoKSB7CisgIHJldHVybiAxOworfQor
CitmdW5jdGlvbiBkZW5zaXR5KCkgeworICB2YXIgeCA9IGRlZmF1bHRYLAorICAgICAgeSA9IGRl
ZmF1bHRZLAorICAgICAgd2VpZ2h0ID0gZGVmYXVsdFdlaWdodCwKKyAgICAgIGR4ID0gOTYwLAor
ICAgICAgZHkgPSA1MDAsCisgICAgICByID0gMjAsIC8vIGJsdXIgcmFkaXVzCisgICAgICBrID0g
MiwgLy8gbG9nMihncmlkIGNlbGwgc2l6ZSkKKyAgICAgIG8gPSByICogMywgLy8gZ3JpZCBvZmZz
ZXQsIHRvIHBhZCBmb3IgYmx1cgorICAgICAgbiA9IChkeCArIG8gKiAyKSA+PiBrLCAvLyBncmlk
IHdpZHRoCisgICAgICBtID0gKGR5ICsgbyAqIDIpID4+IGssIC8vIGdyaWQgaGVpZ2h0CisgICAg
ICB0aHJlc2hvbGQgPSBjb25zdGFudCQ2KDIwKTsKKworICBmdW5jdGlvbiBkZW5zaXR5KGRhdGEp
IHsKKyAgICB2YXIgdmFsdWVzMCA9IG5ldyBGbG9hdDMyQXJyYXkobiAqIG0pLAorICAgICAgICB2
YWx1ZXMxID0gbmV3IEZsb2F0MzJBcnJheShuICogbSk7CisKKyAgICBkYXRhLmZvckVhY2goZnVu
Y3Rpb24oZCwgaSwgZGF0YSkgeworICAgICAgdmFyIHhpID0gKCt4KGQsIGksIGRhdGEpICsgbykg
Pj4gaywKKyAgICAgICAgICB5aSA9ICgreShkLCBpLCBkYXRhKSArIG8pID4+IGssCisgICAgICAg
ICAgd2kgPSArd2VpZ2h0KGQsIGksIGRhdGEpOworICAgICAgaWYgKHhpID49IDAgJiYgeGkgPCBu
ICYmIHlpID49IDAgJiYgeWkgPCBtKSB7CisgICAgICAgIHZhbHVlczBbeGkgKyB5aSAqIG5dICs9
IHdpOworICAgICAgfQorICAgIH0pOworCisgICAgLy8gVE9ETyBPcHRpbWl6ZS4KKyAgICBibHVy
WCh7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTogdmFsdWVzMH0sIHt3aWR0aDogbiwgaGVpZ2h0
OiBtLCBkYXRhOiB2YWx1ZXMxfSwgciA+PiBrKTsKKyAgICBibHVyWSh7d2lkdGg6IG4sIGhlaWdo
dDogbSwgZGF0YTogdmFsdWVzMX0sIHt3aWR0aDogbiwgaGVpZ2h0OiBtLCBkYXRhOiB2YWx1ZXMw
fSwgciA+PiBrKTsKKyAgICBibHVyWCh7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTogdmFsdWVz
MH0sIHt3aWR0aDogbiwgaGVpZ2h0OiBtLCBkYXRhOiB2YWx1ZXMxfSwgciA+PiBrKTsKKyAgICBi
bHVyWSh7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTogdmFsdWVzMX0sIHt3aWR0aDogbiwgaGVp
Z2h0OiBtLCBkYXRhOiB2YWx1ZXMwfSwgciA+PiBrKTsKKyAgICBibHVyWCh7d2lkdGg6IG4sIGhl
aWdodDogbSwgZGF0YTogdmFsdWVzMH0sIHt3aWR0aDogbiwgaGVpZ2h0OiBtLCBkYXRhOiB2YWx1
ZXMxfSwgciA+PiBrKTsKKyAgICBibHVyWSh7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTogdmFs
dWVzMX0sIHt3aWR0aDogbiwgaGVpZ2h0OiBtLCBkYXRhOiB2YWx1ZXMwfSwgciA+PiBrKTsKKwor
ICAgIHZhciB0eiA9IHRocmVzaG9sZCh2YWx1ZXMwKTsKKworICAgIC8vIENvbnZlcnQgbnVtYmVy
IG9mIHRocmVzaG9sZHMgaW50byB1bmlmb3JtIHRocmVzaG9sZHMuCisgICAgaWYgKCFBcnJheS5p
c0FycmF5KHR6KSkgeworICAgICAgdmFyIHN0b3AgPSBtYXgodmFsdWVzMCk7CisgICAgICB0eiA9
IHRpY2tTdGVwKDAsIHN0b3AsIHR6KTsKKyAgICAgIHR6ID0gc2VxdWVuY2UoMCwgTWF0aC5mbG9v
cihzdG9wIC8gdHopICogdHosIHR6KTsKKyAgICAgIHR6LnNoaWZ0KCk7CisgICAgfQorCisgICAg
cmV0dXJuIGNvbnRvdXJzKCkKKyAgICAgICAgLnRocmVzaG9sZHModHopCisgICAgICAgIC5zaXpl
KFtuLCBtXSkKKyAgICAgICh2YWx1ZXMwKQorICAgICAgICAubWFwKHRyYW5zZm9ybSk7CisgIH0K
KworICBmdW5jdGlvbiB0cmFuc2Zvcm0oZ2VvbWV0cnkpIHsKKyAgICBnZW9tZXRyeS52YWx1ZSAq
PSBNYXRoLnBvdygyLCAtMiAqIGspOyAvLyBEZW5zaXR5IGluIHBvaW50cyBwZXIgc3F1YXJlIHBp
eGVsLgorICAgIGdlb21ldHJ5LmNvb3JkaW5hdGVzLmZvckVhY2godHJhbnNmb3JtUG9seWdvbik7
CisgICAgcmV0dXJuIGdlb21ldHJ5OworICB9CisKKyAgZnVuY3Rpb24gdHJhbnNmb3JtUG9seWdv
bihjb29yZGluYXRlcykgeworICAgIGNvb3JkaW5hdGVzLmZvckVhY2godHJhbnNmb3JtUmluZyk7
CisgIH0KKworICBmdW5jdGlvbiB0cmFuc2Zvcm1SaW5nKGNvb3JkaW5hdGVzKSB7CisgICAgY29v
cmRpbmF0ZXMuZm9yRWFjaCh0cmFuc2Zvcm1Qb2ludCk7CisgIH0KKworICAvLyBUT0RPIE9wdGlt
aXplLgorICBmdW5jdGlvbiB0cmFuc2Zvcm1Qb2ludChjb29yZGluYXRlcykgeworICAgIGNvb3Jk
aW5hdGVzWzBdID0gY29vcmRpbmF0ZXNbMF0gKiBNYXRoLnBvdygyLCBrKSAtIG87CisgICAgY29v
cmRpbmF0ZXNbMV0gPSBjb29yZGluYXRlc1sxXSAqIE1hdGgucG93KDIsIGspIC0gbzsKKyAgfQor
CisgIGZ1bmN0aW9uIHJlc2l6ZSgpIHsKKyAgICBvID0gciAqIDM7CisgICAgbiA9IChkeCArIG8g
KiAyKSA+PiBrOworICAgIG0gPSAoZHkgKyBvICogMikgPj4gazsKKyAgICByZXR1cm4gZGVuc2l0
eTsKKyAgfQorCisgIGRlbnNpdHkueCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/ICh4ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQk
NigrXyksIGRlbnNpdHkpIDogeDsKKyAgfTsKKworICBkZW5zaXR5LnkgPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeSA9IHR5cGVvZiBfID09PSAiZnVuY3Rp
b24iID8gXyA6IGNvbnN0YW50JDYoK18pLCBkZW5zaXR5KSA6IHk7CisgIH07CisKKyAgZGVuc2l0
eS53ZWlnaHQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
d2VpZ2h0ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNigrXyksIGRl
bnNpdHkpIDogd2VpZ2h0OworICB9OworCisgIGRlbnNpdHkuc2l6ZSA9IGZ1bmN0aW9uKF8pIHsK
KyAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBbZHgsIGR5XTsKKyAgICB2YXIgXzAg
PSBNYXRoLmNlaWwoX1swXSksIF8xID0gTWF0aC5jZWlsKF9bMV0pOworICAgIGlmICghKF8wID49
IDApICYmICEoXzAgPj0gMCkpIHRocm93IG5ldyBFcnJvcigiaW52YWxpZCBzaXplIik7CisgICAg
cmV0dXJuIGR4ID0gXzAsIGR5ID0gXzEsIHJlc2l6ZSgpOworICB9OworCisgIGRlbnNpdHkuY2Vs
bFNpemUgPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4g
MSA8PCBrOworICAgIGlmICghKChfID0gK18pID49IDEpKSB0aHJvdyBuZXcgRXJyb3IoImludmFs
aWQgY2VsbCBzaXplIik7CisgICAgcmV0dXJuIGsgPSBNYXRoLmZsb29yKE1hdGgubG9nKF8pIC8g
TWF0aC5MTjIpLCByZXNpemUoKTsKKyAgfTsKKworICBkZW5zaXR5LnRocmVzaG9sZHMgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGhyZXNob2xkID0gdHlw
ZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogQXJyYXkuaXNBcnJheShfKSA/IGNvbnN0YW50JDYo
c2xpY2UkMy5jYWxsKF8pKSA6IGNvbnN0YW50JDYoXyksIGRlbnNpdHkpIDogdGhyZXNob2xkOwor
ICB9OworCisgIGRlbnNpdHkuYmFuZHdpZHRoID0gZnVuY3Rpb24oXykgeworICAgIGlmICghYXJn
dW1lbnRzLmxlbmd0aCkgcmV0dXJuIE1hdGguc3FydChyICogKHIgKyAxKSk7CisgICAgaWYgKCEo
KF8gPSArXykgPj0gMCkpIHRocm93IG5ldyBFcnJvcigiaW52YWxpZCBiYW5kd2lkdGgiKTsKKyAg
ICByZXR1cm4gciA9IE1hdGgucm91bmQoKE1hdGguc3FydCg0ICogXyAqIF8gKyAxKSAtIDEpIC8g
MiksIHJlc2l6ZSgpOworICB9OworCisgIHJldHVybiBkZW5zaXR5OworfQorCit2YXIgRU9MID0g
e30sCisgICAgRU9GID0ge30sCisgICAgUVVPVEUgPSAzNCwKKyAgICBORVdMSU5FID0gMTAsCisg
ICAgUkVUVVJOID0gMTM7CisKK2Z1bmN0aW9uIG9iamVjdENvbnZlcnRlcihjb2x1bW5zKSB7Cisg
IHJldHVybiBuZXcgRnVuY3Rpb24oImQiLCAicmV0dXJuIHsiICsgY29sdW1ucy5tYXAoZnVuY3Rp
b24obmFtZSwgaSkgeworICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShuYW1lKSArICI6IGRbIiAr
IGkgKyAiXSB8fCBcIlwiIjsKKyAgfSkuam9pbigiLCIpICsgIn0iKTsKK30KKworZnVuY3Rpb24g
Y3VzdG9tQ29udmVydGVyKGNvbHVtbnMsIGYpIHsKKyAgdmFyIG9iamVjdCA9IG9iamVjdENvbnZl
cnRlcihjb2x1bW5zKTsKKyAgcmV0dXJuIGZ1bmN0aW9uKHJvdywgaSkgeworICAgIHJldHVybiBm
KG9iamVjdChyb3cpLCBpLCBjb2x1bW5zKTsKKyAgfTsKK30KKworLy8gQ29tcHV0ZSB1bmlxdWUg
Y29sdW1ucyBpbiBvcmRlciBvZiBkaXNjb3ZlcnkuCitmdW5jdGlvbiBpbmZlckNvbHVtbnMocm93
cykgeworICB2YXIgY29sdW1uU2V0ID0gT2JqZWN0LmNyZWF0ZShudWxsKSwKKyAgICAgIGNvbHVt
bnMgPSBbXTsKKworICByb3dzLmZvckVhY2goZnVuY3Rpb24ocm93KSB7CisgICAgZm9yICh2YXIg
Y29sdW1uIGluIHJvdykgeworICAgICAgaWYgKCEoY29sdW1uIGluIGNvbHVtblNldCkpIHsKKyAg
ICAgICAgY29sdW1ucy5wdXNoKGNvbHVtblNldFtjb2x1bW5dID0gY29sdW1uKTsKKyAgICAgIH0K
KyAgICB9CisgIH0pOworCisgIHJldHVybiBjb2x1bW5zOworfQorCitmdW5jdGlvbiBwYWQodmFs
dWUsIHdpZHRoKSB7CisgIHZhciBzID0gdmFsdWUgKyAiIiwgbGVuZ3RoID0gcy5sZW5ndGg7Cisg
IHJldHVybiBsZW5ndGggPCB3aWR0aCA/IG5ldyBBcnJheSh3aWR0aCAtIGxlbmd0aCArIDEpLmpv
aW4oMCkgKyBzIDogczsKK30KKworZnVuY3Rpb24gZm9ybWF0WWVhcih5ZWFyKSB7CisgIHJldHVy
biB5ZWFyIDwgMCA/ICItIiArIHBhZCgteWVhciwgNikKKyAgICA6IHllYXIgPiA5OTk5ID8gIisi
ICsgcGFkKHllYXIsIDYpCisgICAgOiBwYWQoeWVhciwgNCk7Cit9CisKK2Z1bmN0aW9uIGZvcm1h
dERhdGUoZGF0ZSkgeworICB2YXIgaG91cnMgPSBkYXRlLmdldFVUQ0hvdXJzKCksCisgICAgICBt
aW51dGVzID0gZGF0ZS5nZXRVVENNaW51dGVzKCksCisgICAgICBzZWNvbmRzID0gZGF0ZS5nZXRV
VENTZWNvbmRzKCksCisgICAgICBtaWxsaXNlY29uZHMgPSBkYXRlLmdldFVUQ01pbGxpc2Vjb25k
cygpOworICByZXR1cm4gaXNOYU4oZGF0ZSkgPyAiSW52YWxpZCBEYXRlIgorICAgICAgOiBmb3Jt
YXRZZWFyKGRhdGUuZ2V0VVRDRnVsbFllYXIoKSkgKyAiLSIgKyBwYWQoZGF0ZS5nZXRVVENNb250
aCgpICsgMSwgMikgKyAiLSIgKyBwYWQoZGF0ZS5nZXRVVENEYXRlKCksIDIpCisgICAgICArICht
aWxsaXNlY29uZHMgPyAiVCIgKyBwYWQoaG91cnMsIDIpICsgIjoiICsgcGFkKG1pbnV0ZXMsIDIp
ICsgIjoiICsgcGFkKHNlY29uZHMsIDIpICsgIi4iICsgcGFkKG1pbGxpc2Vjb25kcywgMykgKyAi
WiIKKyAgICAgIDogc2Vjb25kcyA/ICJUIiArIHBhZChob3VycywgMikgKyAiOiIgKyBwYWQobWlu
dXRlcywgMikgKyAiOiIgKyBwYWQoc2Vjb25kcywgMikgKyAiWiIKKyAgICAgIDogbWludXRlcyB8
fCBob3VycyA/ICJUIiArIHBhZChob3VycywgMikgKyAiOiIgKyBwYWQobWludXRlcywgMikgKyAi
WiIKKyAgICAgIDogIiIpOworfQorCitmdW5jdGlvbiBkc3ZGb3JtYXQoZGVsaW1pdGVyKSB7Cisg
IHZhciByZUZvcm1hdCA9IG5ldyBSZWdFeHAoIltcIiIgKyBkZWxpbWl0ZXIgKyAiXG5ccl0iKSwK
KyAgICAgIERFTElNSVRFUiA9IGRlbGltaXRlci5jaGFyQ29kZUF0KDApOworCisgIGZ1bmN0aW9u
IHBhcnNlKHRleHQsIGYpIHsKKyAgICB2YXIgY29udmVydCwgY29sdW1ucywgcm93cyA9IHBhcnNl
Um93cyh0ZXh0LCBmdW5jdGlvbihyb3csIGkpIHsKKyAgICAgIGlmIChjb252ZXJ0KSByZXR1cm4g
Y29udmVydChyb3csIGkgLSAxKTsKKyAgICAgIGNvbHVtbnMgPSByb3csIGNvbnZlcnQgPSBmID8g
Y3VzdG9tQ29udmVydGVyKHJvdywgZikgOiBvYmplY3RDb252ZXJ0ZXIocm93KTsKKyAgICB9KTsK
KyAgICByb3dzLmNvbHVtbnMgPSBjb2x1bW5zIHx8IFtdOworICAgIHJldHVybiByb3dzOworICB9
CisKKyAgZnVuY3Rpb24gcGFyc2VSb3dzKHRleHQsIGYpIHsKKyAgICB2YXIgcm93cyA9IFtdLCAv
LyBvdXRwdXQgcm93cworICAgICAgICBOID0gdGV4dC5sZW5ndGgsCisgICAgICAgIEkgPSAwLCAv
LyBjdXJyZW50IGNoYXJhY3RlciBpbmRleAorICAgICAgICBuID0gMCwgLy8gY3VycmVudCBsaW5l
IG51bWJlcgorICAgICAgICB0LCAvLyBjdXJyZW50IHRva2VuCisgICAgICAgIGVvZiA9IE4gPD0g
MCwgLy8gY3VycmVudCB0b2tlbiBmb2xsb3dlZCBieSBFT0Y/CisgICAgICAgIGVvbCA9IGZhbHNl
OyAvLyBjdXJyZW50IHRva2VuIGZvbGxvd2VkIGJ5IEVPTD8KKworICAgIC8vIFN0cmlwIHRoZSB0
cmFpbGluZyBuZXdsaW5lLgorICAgIGlmICh0ZXh0LmNoYXJDb2RlQXQoTiAtIDEpID09PSBORVdM
SU5FKSAtLU47CisgICAgaWYgKHRleHQuY2hhckNvZGVBdChOIC0gMSkgPT09IFJFVFVSTikgLS1O
OworCisgICAgZnVuY3Rpb24gdG9rZW4oKSB7CisgICAgICBpZiAoZW9mKSByZXR1cm4gRU9GOwor
ICAgICAgaWYgKGVvbCkgcmV0dXJuIGVvbCA9IGZhbHNlLCBFT0w7CisKKyAgICAgIC8vIFVuZXNj
YXBlIHF1b3Rlcy4KKyAgICAgIHZhciBpLCBqID0gSSwgYzsKKyAgICAgIGlmICh0ZXh0LmNoYXJD
b2RlQXQoaikgPT09IFFVT1RFKSB7CisgICAgICAgIHdoaWxlIChJKysgPCBOICYmIHRleHQuY2hh
ckNvZGVBdChJKSAhPT0gUVVPVEUgfHwgdGV4dC5jaGFyQ29kZUF0KCsrSSkgPT09IFFVT1RFKTsK
KyAgICAgICAgaWYgKChpID0gSSkgPj0gTikgZW9mID0gdHJ1ZTsKKyAgICAgICAgZWxzZSBpZiAo
KGMgPSB0ZXh0LmNoYXJDb2RlQXQoSSsrKSkgPT09IE5FV0xJTkUpIGVvbCA9IHRydWU7CisgICAg
ICAgIGVsc2UgaWYgKGMgPT09IFJFVFVSTikgeyBlb2wgPSB0cnVlOyBpZiAodGV4dC5jaGFyQ29k
ZUF0KEkpID09PSBORVdMSU5FKSArK0k7IH0KKyAgICAgICAgcmV0dXJuIHRleHQuc2xpY2UoaiAr
IDEsIGkgLSAxKS5yZXBsYWNlKC8iIi9nLCAiXCIiKTsKKyAgICAgIH0KKworICAgICAgLy8gRmlu
ZCBuZXh0IGRlbGltaXRlciBvciBuZXdsaW5lLgorICAgICAgd2hpbGUgKEkgPCBOKSB7CisgICAg
ICAgIGlmICgoYyA9IHRleHQuY2hhckNvZGVBdChpID0gSSsrKSkgPT09IE5FV0xJTkUpIGVvbCA9
IHRydWU7CisgICAgICAgIGVsc2UgaWYgKGMgPT09IFJFVFVSTikgeyBlb2wgPSB0cnVlOyBpZiAo
dGV4dC5jaGFyQ29kZUF0KEkpID09PSBORVdMSU5FKSArK0k7IH0KKyAgICAgICAgZWxzZSBpZiAo
YyAhPT0gREVMSU1JVEVSKSBjb250aW51ZTsKKyAgICAgICAgcmV0dXJuIHRleHQuc2xpY2Uoaiwg
aSk7CisgICAgICB9CisKKyAgICAgIC8vIFJldHVybiBsYXN0IHRva2VuIGJlZm9yZSBFT0YuCisg
ICAgICByZXR1cm4gZW9mID0gdHJ1ZSwgdGV4dC5zbGljZShqLCBOKTsKKyAgICB9CisKKyAgICB3
aGlsZSAoKHQgPSB0b2tlbigpKSAhPT0gRU9GKSB7CisgICAgICB2YXIgcm93ID0gW107CisgICAg
ICB3aGlsZSAodCAhPT0gRU9MICYmIHQgIT09IEVPRikgcm93LnB1c2godCksIHQgPSB0b2tlbigp
OworICAgICAgaWYgKGYgJiYgKHJvdyA9IGYocm93LCBuKyspKSA9PSBudWxsKSBjb250aW51ZTsK
KyAgICAgIHJvd3MucHVzaChyb3cpOworICAgIH0KKworICAgIHJldHVybiByb3dzOworICB9CisK
KyAgZnVuY3Rpb24gcHJlZm9ybWF0Qm9keShyb3dzLCBjb2x1bW5zKSB7CisgICAgcmV0dXJuIHJv
d3MubWFwKGZ1bmN0aW9uKHJvdykgeworICAgICAgcmV0dXJuIGNvbHVtbnMubWFwKGZ1bmN0aW9u
KGNvbHVtbikgeworICAgICAgICByZXR1cm4gZm9ybWF0VmFsdWUocm93W2NvbHVtbl0pOworICAg
ICAgfSkuam9pbihkZWxpbWl0ZXIpOworICAgIH0pOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0
KHJvd3MsIGNvbHVtbnMpIHsKKyAgICBpZiAoY29sdW1ucyA9PSBudWxsKSBjb2x1bW5zID0gaW5m
ZXJDb2x1bW5zKHJvd3MpOworICAgIHJldHVybiBbY29sdW1ucy5tYXAoZm9ybWF0VmFsdWUpLmpv
aW4oZGVsaW1pdGVyKV0uY29uY2F0KHByZWZvcm1hdEJvZHkocm93cywgY29sdW1ucykpLmpvaW4o
IlxuIik7CisgIH0KKworICBmdW5jdGlvbiBmb3JtYXRCb2R5KHJvd3MsIGNvbHVtbnMpIHsKKyAg
ICBpZiAoY29sdW1ucyA9PSBudWxsKSBjb2x1bW5zID0gaW5mZXJDb2x1bW5zKHJvd3MpOworICAg
IHJldHVybiBwcmVmb3JtYXRCb2R5KHJvd3MsIGNvbHVtbnMpLmpvaW4oIlxuIik7CisgIH0KKwor
ICBmdW5jdGlvbiBmb3JtYXRSb3dzKHJvd3MpIHsKKyAgICByZXR1cm4gcm93cy5tYXAoZm9ybWF0
Um93KS5qb2luKCJcbiIpOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0Um93KHJvdykgeworICAg
IHJldHVybiByb3cubWFwKGZvcm1hdFZhbHVlKS5qb2luKGRlbGltaXRlcik7CisgIH0KKworICBm
dW5jdGlvbiBmb3JtYXRWYWx1ZSh2YWx1ZSkgeworICAgIHJldHVybiB2YWx1ZSA9PSBudWxsID8g
IiIKKyAgICAgICAgOiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgPyBmb3JtYXREYXRlKHZhbHVlKQor
ICAgICAgICA6IHJlRm9ybWF0LnRlc3QodmFsdWUgKz0gIiIpID8gIlwiIiArIHZhbHVlLnJlcGxh
Y2UoLyIvZywgIlwiXCIiKSArICJcIiIKKyAgICAgICAgOiB2YWx1ZTsKKyAgfQorCisgIHJldHVy
biB7CisgICAgcGFyc2U6IHBhcnNlLAorICAgIHBhcnNlUm93czogcGFyc2VSb3dzLAorICAgIGZv
cm1hdDogZm9ybWF0LAorICAgIGZvcm1hdEJvZHk6IGZvcm1hdEJvZHksCisgICAgZm9ybWF0Um93
czogZm9ybWF0Um93cywKKyAgICBmb3JtYXRSb3c6IGZvcm1hdFJvdywKKyAgICBmb3JtYXRWYWx1
ZTogZm9ybWF0VmFsdWUKKyAgfTsKK30KKwordmFyIGNzdiA9IGRzdkZvcm1hdCgiLCIpOworCit2
YXIgY3N2UGFyc2UgPSBjc3YucGFyc2U7Cit2YXIgY3N2UGFyc2VSb3dzID0gY3N2LnBhcnNlUm93
czsKK3ZhciBjc3ZGb3JtYXQgPSBjc3YuZm9ybWF0OwordmFyIGNzdkZvcm1hdEJvZHkgPSBjc3Yu
Zm9ybWF0Qm9keTsKK3ZhciBjc3ZGb3JtYXRSb3dzID0gY3N2LmZvcm1hdFJvd3M7Cit2YXIgY3N2
Rm9ybWF0Um93ID0gY3N2LmZvcm1hdFJvdzsKK3ZhciBjc3ZGb3JtYXRWYWx1ZSA9IGNzdi5mb3Jt
YXRWYWx1ZTsKKwordmFyIHRzdiA9IGRzdkZvcm1hdCgiXHQiKTsKKwordmFyIHRzdlBhcnNlID0g
dHN2LnBhcnNlOwordmFyIHRzdlBhcnNlUm93cyA9IHRzdi5wYXJzZVJvd3M7Cit2YXIgdHN2Rm9y
bWF0ID0gdHN2LmZvcm1hdDsKK3ZhciB0c3ZGb3JtYXRCb2R5ID0gdHN2LmZvcm1hdEJvZHk7Cit2
YXIgdHN2Rm9ybWF0Um93cyA9IHRzdi5mb3JtYXRSb3dzOwordmFyIHRzdkZvcm1hdFJvdyA9IHRz
di5mb3JtYXRSb3c7Cit2YXIgdHN2Rm9ybWF0VmFsdWUgPSB0c3YuZm9ybWF0VmFsdWU7CisKK2Z1
bmN0aW9uIGF1dG9UeXBlKG9iamVjdCkgeworICBmb3IgKHZhciBrZXkgaW4gb2JqZWN0KSB7Cisg
ICAgdmFyIHZhbHVlID0gb2JqZWN0W2tleV0udHJpbSgpLCBudW1iZXIsIG07CisgICAgaWYgKCF2
YWx1ZSkgdmFsdWUgPSBudWxsOworICAgIGVsc2UgaWYgKHZhbHVlID09PSAidHJ1ZSIpIHZhbHVl
ID0gdHJ1ZTsKKyAgICBlbHNlIGlmICh2YWx1ZSA9PT0gImZhbHNlIikgdmFsdWUgPSBmYWxzZTsK
KyAgICBlbHNlIGlmICh2YWx1ZSA9PT0gIk5hTiIpIHZhbHVlID0gTmFOOworICAgIGVsc2UgaWYg
KCFpc05hTihudW1iZXIgPSArdmFsdWUpKSB2YWx1ZSA9IG51bWJlcjsKKyAgICBlbHNlIGlmICht
ID0gdmFsdWUubWF0Y2goL14oWy0rXVxkezJ9KT9cZHs0fSgtXGR7Mn0oLVxkezJ9KT8pPyhUXGR7
Mn06XGR7Mn0oOlxkezJ9KFwuXGR7M30pPyk/KFp8Wy0rXVxkezJ9OlxkezJ9KT8pPyQvKSkgewor
ICAgICAgaWYgKGZpeHR6ICYmICEhbVs0XSAmJiAhbVs3XSkgdmFsdWUgPSB2YWx1ZS5yZXBsYWNl
KC8tL2csICIvIikucmVwbGFjZSgvVC8sICIgIik7CisgICAgICB2YWx1ZSA9IG5ldyBEYXRlKHZh
bHVlKTsKKyAgICB9CisgICAgZWxzZSBjb250aW51ZTsKKyAgICBvYmplY3Rba2V5XSA9IHZhbHVl
OworICB9CisgIHJldHVybiBvYmplY3Q7Cit9CisKKy8vIGh0dHBzOi8vZ2l0aHViLmNvbS9kMy9k
My1kc3YvaXNzdWVzLzQ1Cit2YXIgZml4dHogPSBuZXcgRGF0ZSgiMjAxOS0wMS0wMVQwMDowMCIp
LmdldEhvdXJzKCkgfHwgbmV3IERhdGUoIjIwMTktMDctMDFUMDA6MDAiKS5nZXRIb3VycygpOwor
CitmdW5jdGlvbiByZXNwb25zZUJsb2IocmVzcG9uc2UpIHsKKyAgaWYgKCFyZXNwb25zZS5vaykg
dGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLnN0YXR1cyArICIgIiArIHJlc3BvbnNlLnN0YXR1c1Rl
eHQpOworICByZXR1cm4gcmVzcG9uc2UuYmxvYigpOworfQorCitmdW5jdGlvbiBibG9iKGlucHV0
LCBpbml0KSB7CisgIHJldHVybiBmZXRjaChpbnB1dCwgaW5pdCkudGhlbihyZXNwb25zZUJsb2Ip
OworfQorCitmdW5jdGlvbiByZXNwb25zZUFycmF5QnVmZmVyKHJlc3BvbnNlKSB7CisgIGlmICgh
cmVzcG9uc2Uub2spIHRocm93IG5ldyBFcnJvcihyZXNwb25zZS5zdGF0dXMgKyAiICIgKyByZXNw
b25zZS5zdGF0dXNUZXh0KTsKKyAgcmV0dXJuIHJlc3BvbnNlLmFycmF5QnVmZmVyKCk7Cit9CisK
K2Z1bmN0aW9uIGJ1ZmZlcihpbnB1dCwgaW5pdCkgeworICByZXR1cm4gZmV0Y2goaW5wdXQsIGlu
aXQpLnRoZW4ocmVzcG9uc2VBcnJheUJ1ZmZlcik7Cit9CisKK2Z1bmN0aW9uIHJlc3BvbnNlVGV4
dChyZXNwb25zZSkgeworICBpZiAoIXJlc3BvbnNlLm9rKSB0aHJvdyBuZXcgRXJyb3IocmVzcG9u
c2Uuc3RhdHVzICsgIiAiICsgcmVzcG9uc2Uuc3RhdHVzVGV4dCk7CisgIHJldHVybiByZXNwb25z
ZS50ZXh0KCk7Cit9CisKK2Z1bmN0aW9uIHRleHQoaW5wdXQsIGluaXQpIHsKKyAgcmV0dXJuIGZl
dGNoKGlucHV0LCBpbml0KS50aGVuKHJlc3BvbnNlVGV4dCk7Cit9CisKK2Z1bmN0aW9uIGRzdlBh
cnNlKHBhcnNlKSB7CisgIHJldHVybiBmdW5jdGlvbihpbnB1dCwgaW5pdCwgcm93KSB7CisgICAg
aWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgdHlwZW9mIGluaXQgPT09ICJmdW5jdGlvbiIp
IHJvdyA9IGluaXQsIGluaXQgPSB1bmRlZmluZWQ7CisgICAgcmV0dXJuIHRleHQoaW5wdXQsIGlu
aXQpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKKyAgICAgIHJldHVybiBwYXJzZShyZXNwb25z
ZSwgcm93KTsKKyAgICB9KTsKKyAgfTsKK30KKworZnVuY3Rpb24gZHN2KGRlbGltaXRlciwgaW5w
dXQsIGluaXQsIHJvdykgeworICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMyAmJiB0eXBlb2Yg
aW5pdCA9PT0gImZ1bmN0aW9uIikgcm93ID0gaW5pdCwgaW5pdCA9IHVuZGVmaW5lZDsKKyAgdmFy
IGZvcm1hdCA9IGRzdkZvcm1hdChkZWxpbWl0ZXIpOworICByZXR1cm4gdGV4dChpbnB1dCwgaW5p
dCkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgeworICAgIHJldHVybiBmb3JtYXQucGFyc2UocmVz
cG9uc2UsIHJvdyk7CisgIH0pOworfQorCit2YXIgY3N2JDEgPSBkc3ZQYXJzZShjc3ZQYXJzZSk7
Cit2YXIgdHN2JDEgPSBkc3ZQYXJzZSh0c3ZQYXJzZSk7CisKK2Z1bmN0aW9uIGltYWdlKGlucHV0
LCBpbml0KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKKyAgICB2YXIgaW1hZ2UgPSBuZXcgSW1hZ2U7CisgICAgZm9yICh2YXIga2V5IGluIGluaXQp
IGltYWdlW2tleV0gPSBpbml0W2tleV07CisgICAgaW1hZ2Uub25lcnJvciA9IHJlamVjdDsKKyAg
ICBpbWFnZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsgcmVzb2x2ZShpbWFnZSk7IH07CisgICAgaW1h
Z2Uuc3JjID0gaW5wdXQ7CisgIH0pOworfQorCitmdW5jdGlvbiByZXNwb25zZUpzb24ocmVzcG9u
c2UpIHsKKyAgaWYgKCFyZXNwb25zZS5vaykgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLnN0YXR1
cyArICIgIiArIHJlc3BvbnNlLnN0YXR1c1RleHQpOworICByZXR1cm4gcmVzcG9uc2UuanNvbigp
OworfQorCitmdW5jdGlvbiBqc29uKGlucHV0LCBpbml0KSB7CisgIHJldHVybiBmZXRjaChpbnB1
dCwgaW5pdCkudGhlbihyZXNwb25zZUpzb24pOworfQorCitmdW5jdGlvbiBwYXJzZXIodHlwZSkg
eworICByZXR1cm4gZnVuY3Rpb24oaW5wdXQsIGluaXQpICB7CisgICAgcmV0dXJuIHRleHQoaW5w
dXQsIGluaXQpLnRoZW4oZnVuY3Rpb24odGV4dCkgeworICAgICAgcmV0dXJuIChuZXcgRE9NUGFy
c2VyKS5wYXJzZUZyb21TdHJpbmcodGV4dCwgdHlwZSk7CisgICAgfSk7CisgIH07Cit9CisKK3Zh
ciB4bWwgPSBwYXJzZXIoImFwcGxpY2F0aW9uL3htbCIpOworCit2YXIgaHRtbCA9IHBhcnNlcigi
dGV4dC9odG1sIik7CisKK3ZhciBzdmcgPSBwYXJzZXIoImltYWdlL3N2Zyt4bWwiKTsKKworZnVu
Y3Rpb24gY2VudGVyJDEoeCwgeSkgeworICB2YXIgbm9kZXM7CisKKyAgaWYgKHggPT0gbnVsbCkg
eCA9IDA7CisgIGlmICh5ID09IG51bGwpIHkgPSAwOworCisgIGZ1bmN0aW9uIGZvcmNlKCkgewor
ICAgIHZhciBpLAorICAgICAgICBuID0gbm9kZXMubGVuZ3RoLAorICAgICAgICBub2RlLAorICAg
ICAgICBzeCA9IDAsCisgICAgICAgIHN5ID0gMDsKKworICAgIGZvciAoaSA9IDA7IGkgPCBuOyAr
K2kpIHsKKyAgICAgIG5vZGUgPSBub2Rlc1tpXSwgc3ggKz0gbm9kZS54LCBzeSArPSBub2RlLnk7
CisgICAgfQorCisgICAgZm9yIChzeCA9IHN4IC8gbiAtIHgsIHN5ID0gc3kgLyBuIC0geSwgaSA9
IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIG5vZGUgPSBub2Rlc1tpXSwgbm9kZS54IC09IHN4LCBu
b2RlLnkgLT0gc3k7CisgICAgfQorICB9CisKKyAgZm9yY2UuaW5pdGlhbGl6ZSA9IGZ1bmN0aW9u
KF8pIHsKKyAgICBub2RlcyA9IF87CisgIH07CisKKyAgZm9yY2UueCA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4ID0gK18sIGZvcmNlKSA6IHg7CisgIH07
CisKKyAgZm9yY2UueSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0
aCA/ICh5ID0gK18sIGZvcmNlKSA6IHk7CisgIH07CisKKyAgcmV0dXJuIGZvcmNlOworfQorCitm
dW5jdGlvbiBjb25zdGFudCQ3KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVy
biB4OworICB9OworfQorCitmdW5jdGlvbiBqaWdnbGUoKSB7CisgIHJldHVybiAoTWF0aC5yYW5k
b20oKSAtIDAuNSkgKiAxZS02OworfQorCitmdW5jdGlvbiB0cmVlX2FkZChkKSB7CisgIHZhciB4
ID0gK3RoaXMuX3guY2FsbChudWxsLCBkKSwKKyAgICAgIHkgPSArdGhpcy5feS5jYWxsKG51bGws
IGQpOworICByZXR1cm4gYWRkKHRoaXMuY292ZXIoeCwgeSksIHgsIHksIGQpOworfQorCitmdW5j
dGlvbiBhZGQodHJlZSwgeCwgeSwgZCkgeworICBpZiAoaXNOYU4oeCkgfHwgaXNOYU4oeSkpIHJl
dHVybiB0cmVlOyAvLyBpZ25vcmUgaW52YWxpZCBwb2ludHMKKworICB2YXIgcGFyZW50LAorICAg
ICAgbm9kZSA9IHRyZWUuX3Jvb3QsCisgICAgICBsZWFmID0ge2RhdGE6IGR9LAorICAgICAgeDAg
PSB0cmVlLl94MCwKKyAgICAgIHkwID0gdHJlZS5feTAsCisgICAgICB4MSA9IHRyZWUuX3gxLAor
ICAgICAgeTEgPSB0cmVlLl95MSwKKyAgICAgIHhtLAorICAgICAgeW0sCisgICAgICB4cCwKKyAg
ICAgIHlwLAorICAgICAgcmlnaHQsCisgICAgICBib3R0b20sCisgICAgICBpLAorICAgICAgajsK
KworICAvLyBJZiB0aGUgdHJlZSBpcyBlbXB0eSwgaW5pdGlhbGl6ZSB0aGUgcm9vdCBhcyBhIGxl
YWYuCisgIGlmICghbm9kZSkgcmV0dXJuIHRyZWUuX3Jvb3QgPSBsZWFmLCB0cmVlOworCisgIC8v
IEZpbmQgdGhlIGV4aXN0aW5nIGxlYWYgZm9yIHRoZSBuZXcgcG9pbnQsIG9yIGFkZCBpdC4KKyAg
d2hpbGUgKG5vZGUubGVuZ3RoKSB7CisgICAgaWYgKHJpZ2h0ID0geCA+PSAoeG0gPSAoeDAgKyB4
MSkgLyAyKSkgeDAgPSB4bTsgZWxzZSB4MSA9IHhtOworICAgIGlmIChib3R0b20gPSB5ID49ICh5
bSA9ICh5MCArIHkxKSAvIDIpKSB5MCA9IHltOyBlbHNlIHkxID0geW07CisgICAgaWYgKHBhcmVu
dCA9IG5vZGUsICEobm9kZSA9IG5vZGVbaSA9IGJvdHRvbSA8PCAxIHwgcmlnaHRdKSkgcmV0dXJu
IHBhcmVudFtpXSA9IGxlYWYsIHRyZWU7CisgIH0KKworICAvLyBJcyB0aGUgbmV3IHBvaW50IGlz
IGV4YWN0bHkgY29pbmNpZGVudCB3aXRoIHRoZSBleGlzdGluZyBwb2ludD8KKyAgeHAgPSArdHJl
ZS5feC5jYWxsKG51bGwsIG5vZGUuZGF0YSk7CisgIHlwID0gK3RyZWUuX3kuY2FsbChudWxsLCBu
b2RlLmRhdGEpOworICBpZiAoeCA9PT0geHAgJiYgeSA9PT0geXApIHJldHVybiBsZWFmLm5leHQg
PSBub2RlLCBwYXJlbnQgPyBwYXJlbnRbaV0gPSBsZWFmIDogdHJlZS5fcm9vdCA9IGxlYWYsIHRy
ZWU7CisKKyAgLy8gT3RoZXJ3aXNlLCBzcGxpdCB0aGUgbGVhZiBub2RlIHVudGlsIHRoZSBvbGQg
YW5kIG5ldyBwb2ludCBhcmUgc2VwYXJhdGVkLgorICBkbyB7CisgICAgcGFyZW50ID0gcGFyZW50
ID8gcGFyZW50W2ldID0gbmV3IEFycmF5KDQpIDogdHJlZS5fcm9vdCA9IG5ldyBBcnJheSg0KTsK
KyAgICBpZiAocmlnaHQgPSB4ID49ICh4bSA9ICh4MCArIHgxKSAvIDIpKSB4MCA9IHhtOyBlbHNl
IHgxID0geG07CisgICAgaWYgKGJvdHRvbSA9IHkgPj0gKHltID0gKHkwICsgeTEpIC8gMikpIHkw
ID0geW07IGVsc2UgeTEgPSB5bTsKKyAgfSB3aGlsZSAoKGkgPSBib3R0b20gPDwgMSB8IHJpZ2h0
KSA9PT0gKGogPSAoeXAgPj0geW0pIDw8IDEgfCAoeHAgPj0geG0pKSk7CisgIHJldHVybiBwYXJl
bnRbal0gPSBub2RlLCBwYXJlbnRbaV0gPSBsZWFmLCB0cmVlOworfQorCitmdW5jdGlvbiBhZGRB
bGwoZGF0YSkgeworICB2YXIgZCwgaSwgbiA9IGRhdGEubGVuZ3RoLAorICAgICAgeCwKKyAgICAg
IHksCisgICAgICB4eiA9IG5ldyBBcnJheShuKSwKKyAgICAgIHl6ID0gbmV3IEFycmF5KG4pLAor
ICAgICAgeDAgPSBJbmZpbml0eSwKKyAgICAgIHkwID0gSW5maW5pdHksCisgICAgICB4MSA9IC1J
bmZpbml0eSwKKyAgICAgIHkxID0gLUluZmluaXR5OworCisgIC8vIENvbXB1dGUgdGhlIHBvaW50
cyBhbmQgdGhlaXIgZXh0ZW50LgorICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgaWYg
KGlzTmFOKHggPSArdGhpcy5feC5jYWxsKG51bGwsIGQgPSBkYXRhW2ldKSkgfHwgaXNOYU4oeSA9
ICt0aGlzLl95LmNhbGwobnVsbCwgZCkpKSBjb250aW51ZTsKKyAgICB4eltpXSA9IHg7CisgICAg
eXpbaV0gPSB5OworICAgIGlmICh4IDwgeDApIHgwID0geDsKKyAgICBpZiAoeCA+IHgxKSB4MSA9
IHg7CisgICAgaWYgKHkgPCB5MCkgeTAgPSB5OworICAgIGlmICh5ID4geTEpIHkxID0geTsKKyAg
fQorCisgIC8vIElmIHRoZXJlIHdlcmUgbm8gKHZhbGlkKSBwb2ludHMsIGFib3J0LgorICBpZiAo
eDAgPiB4MSB8fCB5MCA+IHkxKSByZXR1cm4gdGhpczsKKworICAvLyBFeHBhbmQgdGhlIHRyZWUg
dG8gY292ZXIgdGhlIG5ldyBwb2ludHMuCisgIHRoaXMuY292ZXIoeDAsIHkwKS5jb3Zlcih4MSwg
eTEpOworCisgIC8vIEFkZCB0aGUgbmV3IHBvaW50cy4KKyAgZm9yIChpID0gMDsgaSA8IG47ICsr
aSkgeworICAgIGFkZCh0aGlzLCB4eltpXSwgeXpbaV0sIGRhdGFbaV0pOworICB9CisKKyAgcmV0
dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9uIHRyZWVfY292ZXIoeCwgeSkgeworICBpZiAoaXNOYU4o
eCA9ICt4KSB8fCBpc05hTih5ID0gK3kpKSByZXR1cm4gdGhpczsgLy8gaWdub3JlIGludmFsaWQg
cG9pbnRzCisKKyAgdmFyIHgwID0gdGhpcy5feDAsCisgICAgICB5MCA9IHRoaXMuX3kwLAorICAg
ICAgeDEgPSB0aGlzLl94MSwKKyAgICAgIHkxID0gdGhpcy5feTE7CisKKyAgLy8gSWYgdGhlIHF1
YWR0cmVlIGhhcyBubyBleHRlbnQsIGluaXRpYWxpemUgdGhlbS4KKyAgLy8gSW50ZWdlciBleHRl
bnQgYXJlIG5lY2Vzc2FyeSBzbyB0aGF0IGlmIHdlIGxhdGVyIGRvdWJsZSB0aGUgZXh0ZW50LAor
ICAvLyB0aGUgZXhpc3RpbmcgcXVhZHJhbnQgYm91bmRhcmllcyBkb27igJl0IGNoYW5nZSBkdWUg
dG8gZmxvYXRpbmcgcG9pbnQgZXJyb3IhCisgIGlmIChpc05hTih4MCkpIHsKKyAgICB4MSA9ICh4
MCA9IE1hdGguZmxvb3IoeCkpICsgMTsKKyAgICB5MSA9ICh5MCA9IE1hdGguZmxvb3IoeSkpICsg
MTsKKyAgfQorCisgIC8vIE90aGVyd2lzZSwgZG91YmxlIHJlcGVhdGVkbHkgdG8gY292ZXIuCisg
IGVsc2UgeworICAgIHZhciB6ID0geDEgLSB4MCwKKyAgICAgICAgbm9kZSA9IHRoaXMuX3Jvb3Qs
CisgICAgICAgIHBhcmVudCwKKyAgICAgICAgaTsKKworICAgIHdoaWxlICh4MCA+IHggfHwgeCA+
PSB4MSB8fCB5MCA+IHkgfHwgeSA+PSB5MSkgeworICAgICAgaSA9ICh5IDwgeTApIDw8IDEgfCAo
eCA8IHgwKTsKKyAgICAgIHBhcmVudCA9IG5ldyBBcnJheSg0KSwgcGFyZW50W2ldID0gbm9kZSwg
bm9kZSA9IHBhcmVudCwgeiAqPSAyOworICAgICAgc3dpdGNoIChpKSB7CisgICAgICAgIGNhc2Ug
MDogeDEgPSB4MCArIHosIHkxID0geTAgKyB6OyBicmVhazsKKyAgICAgICAgY2FzZSAxOiB4MCA9
IHgxIC0geiwgeTEgPSB5MCArIHo7IGJyZWFrOworICAgICAgICBjYXNlIDI6IHgxID0geDAgKyB6
LCB5MCA9IHkxIC0gejsgYnJlYWs7CisgICAgICAgIGNhc2UgMzogeDAgPSB4MSAtIHosIHkwID0g
eTEgLSB6OyBicmVhazsKKyAgICAgIH0KKyAgICB9CisKKyAgICBpZiAodGhpcy5fcm9vdCAmJiB0
aGlzLl9yb290Lmxlbmd0aCkgdGhpcy5fcm9vdCA9IG5vZGU7CisgIH0KKworICB0aGlzLl94MCA9
IHgwOworICB0aGlzLl95MCA9IHkwOworICB0aGlzLl94MSA9IHgxOworICB0aGlzLl95MSA9IHkx
OworICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24gdHJlZV9kYXRhKCkgeworICB2YXIgZGF0
YSA9IFtdOworICB0aGlzLnZpc2l0KGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBpZiAoIW5vZGUubGVu
Z3RoKSBkbyBkYXRhLnB1c2gobm9kZS5kYXRhKTsgd2hpbGUgKG5vZGUgPSBub2RlLm5leHQpCisg
IH0pOworICByZXR1cm4gZGF0YTsKK30KKworZnVuY3Rpb24gdHJlZV9leHRlbnQoXykgeworICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aAorICAgICAgPyB0aGlzLmNvdmVyKCtfWzBdWzBdLCArX1sw
XVsxXSkuY292ZXIoK19bMV1bMF0sICtfWzFdWzFdKQorICAgICAgOiBpc05hTih0aGlzLl94MCkg
PyB1bmRlZmluZWQgOiBbW3RoaXMuX3gwLCB0aGlzLl95MF0sIFt0aGlzLl94MSwgdGhpcy5feTFd
XTsKK30KKworZnVuY3Rpb24gUXVhZChub2RlLCB4MCwgeTAsIHgxLCB5MSkgeworICB0aGlzLm5v
ZGUgPSBub2RlOworICB0aGlzLngwID0geDA7CisgIHRoaXMueTAgPSB5MDsKKyAgdGhpcy54MSA9
IHgxOworICB0aGlzLnkxID0geTE7Cit9CisKK2Z1bmN0aW9uIHRyZWVfZmluZCh4LCB5LCByYWRp
dXMpIHsKKyAgdmFyIGRhdGEsCisgICAgICB4MCA9IHRoaXMuX3gwLAorICAgICAgeTAgPSB0aGlz
Ll95MCwKKyAgICAgIHgxLAorICAgICAgeTEsCisgICAgICB4MiwKKyAgICAgIHkyLAorICAgICAg
eDMgPSB0aGlzLl94MSwKKyAgICAgIHkzID0gdGhpcy5feTEsCisgICAgICBxdWFkcyA9IFtdLAor
ICAgICAgbm9kZSA9IHRoaXMuX3Jvb3QsCisgICAgICBxLAorICAgICAgaTsKKworICBpZiAobm9k
ZSkgcXVhZHMucHVzaChuZXcgUXVhZChub2RlLCB4MCwgeTAsIHgzLCB5MykpOworICBpZiAocmFk
aXVzID09IG51bGwpIHJhZGl1cyA9IEluZmluaXR5OworICBlbHNlIHsKKyAgICB4MCA9IHggLSBy
YWRpdXMsIHkwID0geSAtIHJhZGl1czsKKyAgICB4MyA9IHggKyByYWRpdXMsIHkzID0geSArIHJh
ZGl1czsKKyAgICByYWRpdXMgKj0gcmFkaXVzOworICB9CisKKyAgd2hpbGUgKHEgPSBxdWFkcy5w
b3AoKSkgeworCisgICAgLy8gU3RvcCBzZWFyY2hpbmcgaWYgdGhpcyBxdWFkcmFudCBjYW7igJl0
IGNvbnRhaW4gYSBjbG9zZXIgbm9kZS4KKyAgICBpZiAoIShub2RlID0gcS5ub2RlKQorICAgICAg
ICB8fCAoeDEgPSBxLngwKSA+IHgzCisgICAgICAgIHx8ICh5MSA9IHEueTApID4geTMKKyAgICAg
ICAgfHwgKHgyID0gcS54MSkgPCB4MAorICAgICAgICB8fCAoeTIgPSBxLnkxKSA8IHkwKSBjb250
aW51ZTsKKworICAgIC8vIEJpc2VjdCB0aGUgY3VycmVudCBxdWFkcmFudC4KKyAgICBpZiAobm9k
ZS5sZW5ndGgpIHsKKyAgICAgIHZhciB4bSA9ICh4MSArIHgyKSAvIDIsCisgICAgICAgICAgeW0g
PSAoeTEgKyB5MikgLyAyOworCisgICAgICBxdWFkcy5wdXNoKAorICAgICAgICBuZXcgUXVhZChu
b2RlWzNdLCB4bSwgeW0sIHgyLCB5MiksCisgICAgICAgIG5ldyBRdWFkKG5vZGVbMl0sIHgxLCB5
bSwgeG0sIHkyKSwKKyAgICAgICAgbmV3IFF1YWQobm9kZVsxXSwgeG0sIHkxLCB4MiwgeW0pLAor
ICAgICAgICBuZXcgUXVhZChub2RlWzBdLCB4MSwgeTEsIHhtLCB5bSkKKyAgICAgICk7CisKKyAg
ICAgIC8vIFZpc2l0IHRoZSBjbG9zZXN0IHF1YWRyYW50IGZpcnN0LgorICAgICAgaWYgKGkgPSAo
eSA+PSB5bSkgPDwgMSB8ICh4ID49IHhtKSkgeworICAgICAgICBxID0gcXVhZHNbcXVhZHMubGVu
Z3RoIC0gMV07CisgICAgICAgIHF1YWRzW3F1YWRzLmxlbmd0aCAtIDFdID0gcXVhZHNbcXVhZHMu
bGVuZ3RoIC0gMSAtIGldOworICAgICAgICBxdWFkc1txdWFkcy5sZW5ndGggLSAxIC0gaV0gPSBx
OworICAgICAgfQorICAgIH0KKworICAgIC8vIFZpc2l0IHRoaXMgcG9pbnQuIChWaXNpdGluZyBj
b2luY2lkZW50IHBvaW50cyBpc27igJl0IG5lY2Vzc2FyeSEpCisgICAgZWxzZSB7CisgICAgICB2
YXIgZHggPSB4IC0gK3RoaXMuX3guY2FsbChudWxsLCBub2RlLmRhdGEpLAorICAgICAgICAgIGR5
ID0geSAtICt0aGlzLl95LmNhbGwobnVsbCwgbm9kZS5kYXRhKSwKKyAgICAgICAgICBkMiA9IGR4
ICogZHggKyBkeSAqIGR5OworICAgICAgaWYgKGQyIDwgcmFkaXVzKSB7CisgICAgICAgIHZhciBk
ID0gTWF0aC5zcXJ0KHJhZGl1cyA9IGQyKTsKKyAgICAgICAgeDAgPSB4IC0gZCwgeTAgPSB5IC0g
ZDsKKyAgICAgICAgeDMgPSB4ICsgZCwgeTMgPSB5ICsgZDsKKyAgICAgICAgZGF0YSA9IG5vZGUu
ZGF0YTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gZGF0YTsKK30KKworZnVuY3Rp
b24gdHJlZV9yZW1vdmUoZCkgeworICBpZiAoaXNOYU4oeCA9ICt0aGlzLl94LmNhbGwobnVsbCwg
ZCkpIHx8IGlzTmFOKHkgPSArdGhpcy5feS5jYWxsKG51bGwsIGQpKSkgcmV0dXJuIHRoaXM7IC8v
IGlnbm9yZSBpbnZhbGlkIHBvaW50cworCisgIHZhciBwYXJlbnQsCisgICAgICBub2RlID0gdGhp
cy5fcm9vdCwKKyAgICAgIHJldGFpbmVyLAorICAgICAgcHJldmlvdXMsCisgICAgICBuZXh0LAor
ICAgICAgeDAgPSB0aGlzLl94MCwKKyAgICAgIHkwID0gdGhpcy5feTAsCisgICAgICB4MSA9IHRo
aXMuX3gxLAorICAgICAgeTEgPSB0aGlzLl95MSwKKyAgICAgIHgsCisgICAgICB5LAorICAgICAg
eG0sCisgICAgICB5bSwKKyAgICAgIHJpZ2h0LAorICAgICAgYm90dG9tLAorICAgICAgaSwKKyAg
ICAgIGo7CisKKyAgLy8gSWYgdGhlIHRyZWUgaXMgZW1wdHksIGluaXRpYWxpemUgdGhlIHJvb3Qg
YXMgYSBsZWFmLgorICBpZiAoIW5vZGUpIHJldHVybiB0aGlzOworCisgIC8vIEZpbmQgdGhlIGxl
YWYgbm9kZSBmb3IgdGhlIHBvaW50LgorICAvLyBXaGlsZSBkZXNjZW5kaW5nLCBhbHNvIHJldGFp
biB0aGUgZGVlcGVzdCBwYXJlbnQgd2l0aCBhIG5vbi1yZW1vdmVkIHNpYmxpbmcuCisgIGlmIChu
b2RlLmxlbmd0aCkgd2hpbGUgKHRydWUpIHsKKyAgICBpZiAocmlnaHQgPSB4ID49ICh4bSA9ICh4
MCArIHgxKSAvIDIpKSB4MCA9IHhtOyBlbHNlIHgxID0geG07CisgICAgaWYgKGJvdHRvbSA9IHkg
Pj0gKHltID0gKHkwICsgeTEpIC8gMikpIHkwID0geW07IGVsc2UgeTEgPSB5bTsKKyAgICBpZiAo
IShwYXJlbnQgPSBub2RlLCBub2RlID0gbm9kZVtpID0gYm90dG9tIDw8IDEgfCByaWdodF0pKSBy
ZXR1cm4gdGhpczsKKyAgICBpZiAoIW5vZGUubGVuZ3RoKSBicmVhazsKKyAgICBpZiAocGFyZW50
WyhpICsgMSkgJiAzXSB8fCBwYXJlbnRbKGkgKyAyKSAmIDNdIHx8IHBhcmVudFsoaSArIDMpICYg
M10pIHJldGFpbmVyID0gcGFyZW50LCBqID0gaTsKKyAgfQorCisgIC8vIEZpbmQgdGhlIHBvaW50
IHRvIHJlbW92ZS4KKyAgd2hpbGUgKG5vZGUuZGF0YSAhPT0gZCkgaWYgKCEocHJldmlvdXMgPSBu
b2RlLCBub2RlID0gbm9kZS5uZXh0KSkgcmV0dXJuIHRoaXM7CisgIGlmIChuZXh0ID0gbm9kZS5u
ZXh0KSBkZWxldGUgbm9kZS5uZXh0OworCisgIC8vIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBjb2lu
Y2lkZW50IHBvaW50cywgcmVtb3ZlIGp1c3QgdGhlIHBvaW50LgorICBpZiAocHJldmlvdXMpIHJl
dHVybiAobmV4dCA/IHByZXZpb3VzLm5leHQgPSBuZXh0IDogZGVsZXRlIHByZXZpb3VzLm5leHQp
LCB0aGlzOworCisgIC8vIElmIHRoaXMgaXMgdGhlIHJvb3QgcG9pbnQsIHJlbW92ZSBpdC4KKyAg
aWYgKCFwYXJlbnQpIHJldHVybiB0aGlzLl9yb290ID0gbmV4dCwgdGhpczsKKworICAvLyBSZW1v
dmUgdGhpcyBsZWFmLgorICBuZXh0ID8gcGFyZW50W2ldID0gbmV4dCA6IGRlbGV0ZSBwYXJlbnRb
aV07CisKKyAgLy8gSWYgdGhlIHBhcmVudCBub3cgY29udGFpbnMgZXhhY3RseSBvbmUgbGVhZiwg
Y29sbGFwc2Ugc3VwZXJmbHVvdXMgcGFyZW50cy4KKyAgaWYgKChub2RlID0gcGFyZW50WzBdIHx8
IHBhcmVudFsxXSB8fCBwYXJlbnRbMl0gfHwgcGFyZW50WzNdKQorICAgICAgJiYgbm9kZSA9PT0g
KHBhcmVudFszXSB8fCBwYXJlbnRbMl0gfHwgcGFyZW50WzFdIHx8IHBhcmVudFswXSkKKyAgICAg
ICYmICFub2RlLmxlbmd0aCkgeworICAgIGlmIChyZXRhaW5lcikgcmV0YWluZXJbal0gPSBub2Rl
OworICAgIGVsc2UgdGhpcy5fcm9vdCA9IG5vZGU7CisgIH0KKworICByZXR1cm4gdGhpczsKK30K
KworZnVuY3Rpb24gcmVtb3ZlQWxsKGRhdGEpIHsKKyAgZm9yICh2YXIgaSA9IDAsIG4gPSBkYXRh
Lmxlbmd0aDsgaSA8IG47ICsraSkgdGhpcy5yZW1vdmUoZGF0YVtpXSk7CisgIHJldHVybiB0aGlz
OworfQorCitmdW5jdGlvbiB0cmVlX3Jvb3QoKSB7CisgIHJldHVybiB0aGlzLl9yb290OworfQor
CitmdW5jdGlvbiB0cmVlX3NpemUoKSB7CisgIHZhciBzaXplID0gMDsKKyAgdGhpcy52aXNpdChm
dW5jdGlvbihub2RlKSB7CisgICAgaWYgKCFub2RlLmxlbmd0aCkgZG8gKytzaXplOyB3aGlsZSAo
bm9kZSA9IG5vZGUubmV4dCkKKyAgfSk7CisgIHJldHVybiBzaXplOworfQorCitmdW5jdGlvbiB0
cmVlX3Zpc2l0KGNhbGxiYWNrKSB7CisgIHZhciBxdWFkcyA9IFtdLCBxLCBub2RlID0gdGhpcy5f
cm9vdCwgY2hpbGQsIHgwLCB5MCwgeDEsIHkxOworICBpZiAobm9kZSkgcXVhZHMucHVzaChuZXcg
UXVhZChub2RlLCB0aGlzLl94MCwgdGhpcy5feTAsIHRoaXMuX3gxLCB0aGlzLl95MSkpOworICB3
aGlsZSAocSA9IHF1YWRzLnBvcCgpKSB7CisgICAgaWYgKCFjYWxsYmFjayhub2RlID0gcS5ub2Rl
LCB4MCA9IHEueDAsIHkwID0gcS55MCwgeDEgPSBxLngxLCB5MSA9IHEueTEpICYmIG5vZGUubGVu
Z3RoKSB7CisgICAgICB2YXIgeG0gPSAoeDAgKyB4MSkgLyAyLCB5bSA9ICh5MCArIHkxKSAvIDI7
CisgICAgICBpZiAoY2hpbGQgPSBub2RlWzNdKSBxdWFkcy5wdXNoKG5ldyBRdWFkKGNoaWxkLCB4
bSwgeW0sIHgxLCB5MSkpOworICAgICAgaWYgKGNoaWxkID0gbm9kZVsyXSkgcXVhZHMucHVzaChu
ZXcgUXVhZChjaGlsZCwgeDAsIHltLCB4bSwgeTEpKTsKKyAgICAgIGlmIChjaGlsZCA9IG5vZGVb
MV0pIHF1YWRzLnB1c2gobmV3IFF1YWQoY2hpbGQsIHhtLCB5MCwgeDEsIHltKSk7CisgICAgICBp
ZiAoY2hpbGQgPSBub2RlWzBdKSBxdWFkcy5wdXNoKG5ldyBRdWFkKGNoaWxkLCB4MCwgeTAsIHht
LCB5bSkpOworICAgIH0KKyAgfQorICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24gdHJlZV92
aXNpdEFmdGVyKGNhbGxiYWNrKSB7CisgIHZhciBxdWFkcyA9IFtdLCBuZXh0ID0gW10sIHE7Cisg
IGlmICh0aGlzLl9yb290KSBxdWFkcy5wdXNoKG5ldyBRdWFkKHRoaXMuX3Jvb3QsIHRoaXMuX3gw
LCB0aGlzLl95MCwgdGhpcy5feDEsIHRoaXMuX3kxKSk7CisgIHdoaWxlIChxID0gcXVhZHMucG9w
KCkpIHsKKyAgICB2YXIgbm9kZSA9IHEubm9kZTsKKyAgICBpZiAobm9kZS5sZW5ndGgpIHsKKyAg
ICAgIHZhciBjaGlsZCwgeDAgPSBxLngwLCB5MCA9IHEueTAsIHgxID0gcS54MSwgeTEgPSBxLnkx
LCB4bSA9ICh4MCArIHgxKSAvIDIsIHltID0gKHkwICsgeTEpIC8gMjsKKyAgICAgIGlmIChjaGls
ZCA9IG5vZGVbMF0pIHF1YWRzLnB1c2gobmV3IFF1YWQoY2hpbGQsIHgwLCB5MCwgeG0sIHltKSk7
CisgICAgICBpZiAoY2hpbGQgPSBub2RlWzFdKSBxdWFkcy5wdXNoKG5ldyBRdWFkKGNoaWxkLCB4
bSwgeTAsIHgxLCB5bSkpOworICAgICAgaWYgKGNoaWxkID0gbm9kZVsyXSkgcXVhZHMucHVzaChu
ZXcgUXVhZChjaGlsZCwgeDAsIHltLCB4bSwgeTEpKTsKKyAgICAgIGlmIChjaGlsZCA9IG5vZGVb
M10pIHF1YWRzLnB1c2gobmV3IFF1YWQoY2hpbGQsIHhtLCB5bSwgeDEsIHkxKSk7CisgICAgfQor
ICAgIG5leHQucHVzaChxKTsKKyAgfQorICB3aGlsZSAocSA9IG5leHQucG9wKCkpIHsKKyAgICBj
YWxsYmFjayhxLm5vZGUsIHEueDAsIHEueTAsIHEueDEsIHEueTEpOworICB9CisgIHJldHVybiB0
aGlzOworfQorCitmdW5jdGlvbiBkZWZhdWx0WCQxKGQpIHsKKyAgcmV0dXJuIGRbMF07Cit9CisK
K2Z1bmN0aW9uIHRyZWVfeChfKSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRoaXMu
X3ggPSBfLCB0aGlzKSA6IHRoaXMuX3g7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRZJDEoZCkgewor
ICByZXR1cm4gZFsxXTsKK30KKworZnVuY3Rpb24gdHJlZV95KF8pIHsKKyAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAodGhpcy5feSA9IF8sIHRoaXMpIDogdGhpcy5feTsKK30KKworZnVuY3Rp
b24gcXVhZHRyZWUobm9kZXMsIHgsIHkpIHsKKyAgdmFyIHRyZWUgPSBuZXcgUXVhZHRyZWUoeCA9
PSBudWxsID8gZGVmYXVsdFgkMSA6IHgsIHkgPT0gbnVsbCA/IGRlZmF1bHRZJDEgOiB5LCBOYU4s
IE5hTiwgTmFOLCBOYU4pOworICByZXR1cm4gbm9kZXMgPT0gbnVsbCA/IHRyZWUgOiB0cmVlLmFk
ZEFsbChub2Rlcyk7Cit9CisKK2Z1bmN0aW9uIFF1YWR0cmVlKHgsIHksIHgwLCB5MCwgeDEsIHkx
KSB7CisgIHRoaXMuX3ggPSB4OworICB0aGlzLl95ID0geTsKKyAgdGhpcy5feDAgPSB4MDsKKyAg
dGhpcy5feTAgPSB5MDsKKyAgdGhpcy5feDEgPSB4MTsKKyAgdGhpcy5feTEgPSB5MTsKKyAgdGhp
cy5fcm9vdCA9IHVuZGVmaW5lZDsKK30KKworZnVuY3Rpb24gbGVhZl9jb3B5KGxlYWYpIHsKKyAg
dmFyIGNvcHkgPSB7ZGF0YTogbGVhZi5kYXRhfSwgbmV4dCA9IGNvcHk7CisgIHdoaWxlIChsZWFm
ID0gbGVhZi5uZXh0KSBuZXh0ID0gbmV4dC5uZXh0ID0ge2RhdGE6IGxlYWYuZGF0YX07CisgIHJl
dHVybiBjb3B5OworfQorCit2YXIgdHJlZVByb3RvID0gcXVhZHRyZWUucHJvdG90eXBlID0gUXVh
ZHRyZWUucHJvdG90eXBlOworCit0cmVlUHJvdG8uY29weSA9IGZ1bmN0aW9uKCkgeworICB2YXIg
Y29weSA9IG5ldyBRdWFkdHJlZSh0aGlzLl94LCB0aGlzLl95LCB0aGlzLl94MCwgdGhpcy5feTAs
IHRoaXMuX3gxLCB0aGlzLl95MSksCisgICAgICBub2RlID0gdGhpcy5fcm9vdCwKKyAgICAgIG5v
ZGVzLAorICAgICAgY2hpbGQ7CisKKyAgaWYgKCFub2RlKSByZXR1cm4gY29weTsKKworICBpZiAo
IW5vZGUubGVuZ3RoKSByZXR1cm4gY29weS5fcm9vdCA9IGxlYWZfY29weShub2RlKSwgY29weTsK
KworICBub2RlcyA9IFt7c291cmNlOiBub2RlLCB0YXJnZXQ6IGNvcHkuX3Jvb3QgPSBuZXcgQXJy
YXkoNCl9XTsKKyAgd2hpbGUgKG5vZGUgPSBub2Rlcy5wb3AoKSkgeworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgNDsgKytpKSB7CisgICAgICBpZiAoY2hpbGQgPSBub2RlLnNvdXJjZVtpXSkgewor
ICAgICAgICBpZiAoY2hpbGQubGVuZ3RoKSBub2Rlcy5wdXNoKHtzb3VyY2U6IGNoaWxkLCB0YXJn
ZXQ6IG5vZGUudGFyZ2V0W2ldID0gbmV3IEFycmF5KDQpfSk7CisgICAgICAgIGVsc2Ugbm9kZS50
YXJnZXRbaV0gPSBsZWFmX2NvcHkoY2hpbGQpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJl
dHVybiBjb3B5OworfTsKKwordHJlZVByb3RvLmFkZCA9IHRyZWVfYWRkOwordHJlZVByb3RvLmFk
ZEFsbCA9IGFkZEFsbDsKK3RyZWVQcm90by5jb3ZlciA9IHRyZWVfY292ZXI7Cit0cmVlUHJvdG8u
ZGF0YSA9IHRyZWVfZGF0YTsKK3RyZWVQcm90by5leHRlbnQgPSB0cmVlX2V4dGVudDsKK3RyZWVQ
cm90by5maW5kID0gdHJlZV9maW5kOwordHJlZVByb3RvLnJlbW92ZSA9IHRyZWVfcmVtb3ZlOwor
dHJlZVByb3RvLnJlbW92ZUFsbCA9IHJlbW92ZUFsbDsKK3RyZWVQcm90by5yb290ID0gdHJlZV9y
b290OwordHJlZVByb3RvLnNpemUgPSB0cmVlX3NpemU7Cit0cmVlUHJvdG8udmlzaXQgPSB0cmVl
X3Zpc2l0OwordHJlZVByb3RvLnZpc2l0QWZ0ZXIgPSB0cmVlX3Zpc2l0QWZ0ZXI7Cit0cmVlUHJv
dG8ueCA9IHRyZWVfeDsKK3RyZWVQcm90by55ID0gdHJlZV95OworCitmdW5jdGlvbiB4KGQpIHsK
KyAgcmV0dXJuIGQueCArIGQudng7Cit9CisKK2Z1bmN0aW9uIHkoZCkgeworICByZXR1cm4gZC55
ICsgZC52eTsKK30KKworZnVuY3Rpb24gY29sbGlkZShyYWRpdXMpIHsKKyAgdmFyIG5vZGVzLAor
ICAgICAgcmFkaWksCisgICAgICBzdHJlbmd0aCA9IDEsCisgICAgICBpdGVyYXRpb25zID0gMTsK
KworICBpZiAodHlwZW9mIHJhZGl1cyAhPT0gImZ1bmN0aW9uIikgcmFkaXVzID0gY29uc3RhbnQk
NyhyYWRpdXMgPT0gbnVsbCA/IDEgOiArcmFkaXVzKTsKKworICBmdW5jdGlvbiBmb3JjZSgpIHsK
KyAgICB2YXIgaSwgbiA9IG5vZGVzLmxlbmd0aCwKKyAgICAgICAgdHJlZSwKKyAgICAgICAgbm9k
ZSwKKyAgICAgICAgeGksCisgICAgICAgIHlpLAorICAgICAgICByaSwKKyAgICAgICAgcmkyOwor
CisgICAgZm9yICh2YXIgayA9IDA7IGsgPCBpdGVyYXRpb25zOyArK2spIHsKKyAgICAgIHRyZWUg
PSBxdWFkdHJlZShub2RlcywgeCwgeSkudmlzaXRBZnRlcihwcmVwYXJlKTsKKyAgICAgIGZvciAo
aSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgbm9kZSA9IG5vZGVzW2ldOworICAgICAgICBy
aSA9IHJhZGlpW25vZGUuaW5kZXhdLCByaTIgPSByaSAqIHJpOworICAgICAgICB4aSA9IG5vZGUu
eCArIG5vZGUudng7CisgICAgICAgIHlpID0gbm9kZS55ICsgbm9kZS52eTsKKyAgICAgICAgdHJl
ZS52aXNpdChhcHBseSk7CisgICAgICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gYXBwbHkocXVh
ZCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgICAgIHZhciBkYXRhID0gcXVhZC5kYXRhLCByaiA9IHF1
YWQuciwgciA9IHJpICsgcmo7CisgICAgICBpZiAoZGF0YSkgeworICAgICAgICBpZiAoZGF0YS5p
bmRleCA+IG5vZGUuaW5kZXgpIHsKKyAgICAgICAgICB2YXIgeCA9IHhpIC0gZGF0YS54IC0gZGF0
YS52eCwKKyAgICAgICAgICAgICAgeSA9IHlpIC0gZGF0YS55IC0gZGF0YS52eSwKKyAgICAgICAg
ICAgICAgbCA9IHggKiB4ICsgeSAqIHk7CisgICAgICAgICAgaWYgKGwgPCByICogcikgeworICAg
ICAgICAgICAgaWYgKHggPT09IDApIHggPSBqaWdnbGUoKSwgbCArPSB4ICogeDsKKyAgICAgICAg
ICAgIGlmICh5ID09PSAwKSB5ID0gamlnZ2xlKCksIGwgKz0geSAqIHk7CisgICAgICAgICAgICBs
ID0gKHIgLSAobCA9IE1hdGguc3FydChsKSkpIC8gbCAqIHN0cmVuZ3RoOworICAgICAgICAgICAg
bm9kZS52eCArPSAoeCAqPSBsKSAqIChyID0gKHJqICo9IHJqKSAvIChyaTIgKyByaikpOworICAg
ICAgICAgICAgbm9kZS52eSArPSAoeSAqPSBsKSAqIHI7CisgICAgICAgICAgICBkYXRhLnZ4IC09
IHggKiAociA9IDEgLSByKTsKKyAgICAgICAgICAgIGRhdGEudnkgLT0geSAqIHI7CisgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIHJldHVybiB4
MCA+IHhpICsgciB8fCB4MSA8IHhpIC0gciB8fCB5MCA+IHlpICsgciB8fCB5MSA8IHlpIC0gcjsK
KyAgICB9CisgIH0KKworICBmdW5jdGlvbiBwcmVwYXJlKHF1YWQpIHsKKyAgICBpZiAocXVhZC5k
YXRhKSByZXR1cm4gcXVhZC5yID0gcmFkaWlbcXVhZC5kYXRhLmluZGV4XTsKKyAgICBmb3IgKHZh
ciBpID0gcXVhZC5yID0gMDsgaSA8IDQ7ICsraSkgeworICAgICAgaWYgKHF1YWRbaV0gJiYgcXVh
ZFtpXS5yID4gcXVhZC5yKSB7CisgICAgICAgIHF1YWQuciA9IHF1YWRbaV0ucjsKKyAgICAgIH0K
KyAgICB9CisgIH0KKworICBmdW5jdGlvbiBpbml0aWFsaXplKCkgeworICAgIGlmICghbm9kZXMp
IHJldHVybjsKKyAgICB2YXIgaSwgbiA9IG5vZGVzLmxlbmd0aCwgbm9kZTsKKyAgICByYWRpaSA9
IG5ldyBBcnJheShuKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSBub2RlID0gbm9kZXNb
aV0sIHJhZGlpW25vZGUuaW5kZXhdID0gK3JhZGl1cyhub2RlLCBpLCBub2Rlcyk7CisgIH0KKwor
ICBmb3JjZS5pbml0aWFsaXplID0gZnVuY3Rpb24oXykgeworICAgIG5vZGVzID0gXzsKKyAgICBp
bml0aWFsaXplKCk7CisgIH07CisKKyAgZm9yY2UuaXRlcmF0aW9ucyA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChpdGVyYXRpb25zID0gK18sIGZvcmNlKSA6
IGl0ZXJhdGlvbnM7CisgIH07CisKKyAgZm9yY2Uuc3RyZW5ndGggPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc3RyZW5ndGggPSArXywgZm9yY2UpIDogc3Ry
ZW5ndGg7CisgIH07CisKKyAgZm9yY2UucmFkaXVzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVy
biBhcmd1bWVudHMubGVuZ3RoID8gKHJhZGl1cyA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8g
XyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplKCksIGZvcmNlKSA6IHJhZGl1czsKKyAgfTsK
KworICByZXR1cm4gZm9yY2U7Cit9CisKK2Z1bmN0aW9uIGluZGV4KGQpIHsKKyAgcmV0dXJuIGQu
aW5kZXg7Cit9CisKK2Z1bmN0aW9uIGZpbmQobm9kZUJ5SWQsIG5vZGVJZCkgeworICB2YXIgbm9k
ZSA9IG5vZGVCeUlkLmdldChub2RlSWQpOworICBpZiAoIW5vZGUpIHRocm93IG5ldyBFcnJvcigi
bWlzc2luZzogIiArIG5vZGVJZCk7CisgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiBsaW5r
KGxpbmtzKSB7CisgIHZhciBpZCA9IGluZGV4LAorICAgICAgc3RyZW5ndGggPSBkZWZhdWx0U3Ry
ZW5ndGgsCisgICAgICBzdHJlbmd0aHMsCisgICAgICBkaXN0YW5jZSA9IGNvbnN0YW50JDcoMzAp
LAorICAgICAgZGlzdGFuY2VzLAorICAgICAgbm9kZXMsCisgICAgICBjb3VudCwKKyAgICAgIGJp
YXMsCisgICAgICBpdGVyYXRpb25zID0gMTsKKworICBpZiAobGlua3MgPT0gbnVsbCkgbGlua3Mg
PSBbXTsKKworICBmdW5jdGlvbiBkZWZhdWx0U3RyZW5ndGgobGluaykgeworICAgIHJldHVybiAx
IC8gTWF0aC5taW4oY291bnRbbGluay5zb3VyY2UuaW5kZXhdLCBjb3VudFtsaW5rLnRhcmdldC5p
bmRleF0pOworICB9CisKKyAgZnVuY3Rpb24gZm9yY2UoYWxwaGEpIHsKKyAgICBmb3IgKHZhciBr
ID0gMCwgbiA9IGxpbmtzLmxlbmd0aDsgayA8IGl0ZXJhdGlvbnM7ICsraykgeworICAgICAgZm9y
ICh2YXIgaSA9IDAsIGxpbmssIHNvdXJjZSwgdGFyZ2V0LCB4LCB5LCBsLCBiOyBpIDwgbjsgKytp
KSB7CisgICAgICAgIGxpbmsgPSBsaW5rc1tpXSwgc291cmNlID0gbGluay5zb3VyY2UsIHRhcmdl
dCA9IGxpbmsudGFyZ2V0OworICAgICAgICB4ID0gdGFyZ2V0LnggKyB0YXJnZXQudnggLSBzb3Vy
Y2UueCAtIHNvdXJjZS52eCB8fCBqaWdnbGUoKTsKKyAgICAgICAgeSA9IHRhcmdldC55ICsgdGFy
Z2V0LnZ5IC0gc291cmNlLnkgLSBzb3VyY2UudnkgfHwgamlnZ2xlKCk7CisgICAgICAgIGwgPSBN
YXRoLnNxcnQoeCAqIHggKyB5ICogeSk7CisgICAgICAgIGwgPSAobCAtIGRpc3RhbmNlc1tpXSkg
LyBsICogYWxwaGEgKiBzdHJlbmd0aHNbaV07CisgICAgICAgIHggKj0gbCwgeSAqPSBsOworICAg
ICAgICB0YXJnZXQudnggLT0geCAqIChiID0gYmlhc1tpXSk7CisgICAgICAgIHRhcmdldC52eSAt
PSB5ICogYjsKKyAgICAgICAgc291cmNlLnZ4ICs9IHggKiAoYiA9IDEgLSBiKTsKKyAgICAgICAg
c291cmNlLnZ5ICs9IHkgKiBiOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGlu
aXRpYWxpemUoKSB7CisgICAgaWYgKCFub2RlcykgcmV0dXJuOworCisgICAgdmFyIGksCisgICAg
ICAgIG4gPSBub2Rlcy5sZW5ndGgsCisgICAgICAgIG0gPSBsaW5rcy5sZW5ndGgsCisgICAgICAg
IG5vZGVCeUlkID0gbWFwJDEobm9kZXMsIGlkKSwKKyAgICAgICAgbGluazsKKworICAgIGZvciAo
aSA9IDAsIGNvdW50ID0gbmV3IEFycmF5KG4pOyBpIDwgbTsgKytpKSB7CisgICAgICBsaW5rID0g
bGlua3NbaV0sIGxpbmsuaW5kZXggPSBpOworICAgICAgaWYgKHR5cGVvZiBsaW5rLnNvdXJjZSAh
PT0gIm9iamVjdCIpIGxpbmsuc291cmNlID0gZmluZChub2RlQnlJZCwgbGluay5zb3VyY2UpOwor
ICAgICAgaWYgKHR5cGVvZiBsaW5rLnRhcmdldCAhPT0gIm9iamVjdCIpIGxpbmsudGFyZ2V0ID0g
ZmluZChub2RlQnlJZCwgbGluay50YXJnZXQpOworICAgICAgY291bnRbbGluay5zb3VyY2UuaW5k
ZXhdID0gKGNvdW50W2xpbmsuc291cmNlLmluZGV4XSB8fCAwKSArIDE7CisgICAgICBjb3VudFts
aW5rLnRhcmdldC5pbmRleF0gPSAoY291bnRbbGluay50YXJnZXQuaW5kZXhdIHx8IDApICsgMTsK
KyAgICB9CisKKyAgICBmb3IgKGkgPSAwLCBiaWFzID0gbmV3IEFycmF5KG0pOyBpIDwgbTsgKytp
KSB7CisgICAgICBsaW5rID0gbGlua3NbaV0sIGJpYXNbaV0gPSBjb3VudFtsaW5rLnNvdXJjZS5p
bmRleF0gLyAoY291bnRbbGluay5zb3VyY2UuaW5kZXhdICsgY291bnRbbGluay50YXJnZXQuaW5k
ZXhdKTsKKyAgICB9CisKKyAgICBzdHJlbmd0aHMgPSBuZXcgQXJyYXkobSksIGluaXRpYWxpemVT
dHJlbmd0aCgpOworICAgIGRpc3RhbmNlcyA9IG5ldyBBcnJheShtKSwgaW5pdGlhbGl6ZURpc3Rh
bmNlKCk7CisgIH0KKworICBmdW5jdGlvbiBpbml0aWFsaXplU3RyZW5ndGgoKSB7CisgICAgaWYg
KCFub2RlcykgcmV0dXJuOworCisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBsaW5rcy5sZW5ndGg7
IGkgPCBuOyArK2kpIHsKKyAgICAgIHN0cmVuZ3Roc1tpXSA9ICtzdHJlbmd0aChsaW5rc1tpXSwg
aSwgbGlua3MpOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemVEaXN0YW5jZSgp
IHsKKyAgICBpZiAoIW5vZGVzKSByZXR1cm47CisKKyAgICBmb3IgKHZhciBpID0gMCwgbiA9IGxp
bmtzLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAgICAgZGlzdGFuY2VzW2ldID0gK2Rpc3RhbmNl
KGxpbmtzW2ldLCBpLCBsaW5rcyk7CisgICAgfQorICB9CisKKyAgZm9yY2UuaW5pdGlhbGl6ZSA9
IGZ1bmN0aW9uKF8pIHsKKyAgICBub2RlcyA9IF87CisgICAgaW5pdGlhbGl6ZSgpOworICB9Owor
CisgIGZvcmNlLmxpbmtzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKGxpbmtzID0gXywgaW5pdGlhbGl6ZSgpLCBmb3JjZSkgOiBsaW5rczsKKyAgfTsKKwor
ICBmb3JjZS5pZCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
IChpZCA9IF8sIGZvcmNlKSA6IGlkOworICB9OworCisgIGZvcmNlLml0ZXJhdGlvbnMgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoaXRlcmF0aW9ucyA9ICtf
LCBmb3JjZSkgOiBpdGVyYXRpb25zOworICB9OworCisgIGZvcmNlLnN0cmVuZ3RoID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHN0cmVuZ3RoID0gdHlwZW9m
IF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyksIGluaXRpYWxpemVTdHJlbmd0
aCgpLCBmb3JjZSkgOiBzdHJlbmd0aDsKKyAgfTsKKworICBmb3JjZS5kaXN0YW5jZSA9IGZ1bmN0
aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkaXN0YW5jZSA9IHR5cGVv
ZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplRGlzdGFu
Y2UoKSwgZm9yY2UpIDogZGlzdGFuY2U7CisgIH07CisKKyAgcmV0dXJuIGZvcmNlOworfQorCitm
dW5jdGlvbiB4JDEoZCkgeworICByZXR1cm4gZC54OworfQorCitmdW5jdGlvbiB5JDEoZCkgewor
ICByZXR1cm4gZC55OworfQorCit2YXIgaW5pdGlhbFJhZGl1cyA9IDEwLAorICAgIGluaXRpYWxB
bmdsZSA9IE1hdGguUEkgKiAoMyAtIE1hdGguc3FydCg1KSk7CisKK2Z1bmN0aW9uIHNpbXVsYXRp
b24obm9kZXMpIHsKKyAgdmFyIHNpbXVsYXRpb24sCisgICAgICBhbHBoYSA9IDEsCisgICAgICBh
bHBoYU1pbiA9IDAuMDAxLAorICAgICAgYWxwaGFEZWNheSA9IDEgLSBNYXRoLnBvdyhhbHBoYU1p
biwgMSAvIDMwMCksCisgICAgICBhbHBoYVRhcmdldCA9IDAsCisgICAgICB2ZWxvY2l0eURlY2F5
ID0gMC42LAorICAgICAgZm9yY2VzID0gbWFwJDEoKSwKKyAgICAgIHN0ZXBwZXIgPSB0aW1lcihz
dGVwKSwKKyAgICAgIGV2ZW50ID0gZGlzcGF0Y2goInRpY2siLCAiZW5kIik7CisKKyAgaWYgKG5v
ZGVzID09IG51bGwpIG5vZGVzID0gW107CisKKyAgZnVuY3Rpb24gc3RlcCgpIHsKKyAgICB0aWNr
KCk7CisgICAgZXZlbnQuY2FsbCgidGljayIsIHNpbXVsYXRpb24pOworICAgIGlmIChhbHBoYSA8
IGFscGhhTWluKSB7CisgICAgICBzdGVwcGVyLnN0b3AoKTsKKyAgICAgIGV2ZW50LmNhbGwoImVu
ZCIsIHNpbXVsYXRpb24pOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIHRpY2soaXRlcmF0aW9u
cykgeworICAgIHZhciBpLCBuID0gbm9kZXMubGVuZ3RoLCBub2RlOworCisgICAgaWYgKGl0ZXJh
dGlvbnMgPT09IHVuZGVmaW5lZCkgaXRlcmF0aW9ucyA9IDE7CisKKyAgICBmb3IgKHZhciBrID0g
MDsgayA8IGl0ZXJhdGlvbnM7ICsraykgeworICAgICAgYWxwaGEgKz0gKGFscGhhVGFyZ2V0IC0g
YWxwaGEpICogYWxwaGFEZWNheTsKKworICAgICAgZm9yY2VzLmVhY2goZnVuY3Rpb24gKGZvcmNl
KSB7CisgICAgICAgIGZvcmNlKGFscGhhKTsKKyAgICAgIH0pOworCisgICAgICBmb3IgKGkgPSAw
OyBpIDwgbjsgKytpKSB7CisgICAgICAgIG5vZGUgPSBub2Rlc1tpXTsKKyAgICAgICAgaWYgKG5v
ZGUuZnggPT0gbnVsbCkgbm9kZS54ICs9IG5vZGUudnggKj0gdmVsb2NpdHlEZWNheTsKKyAgICAg
ICAgZWxzZSBub2RlLnggPSBub2RlLmZ4LCBub2RlLnZ4ID0gMDsKKyAgICAgICAgaWYgKG5vZGUu
ZnkgPT0gbnVsbCkgbm9kZS55ICs9IG5vZGUudnkgKj0gdmVsb2NpdHlEZWNheTsKKyAgICAgICAg
ZWxzZSBub2RlLnkgPSBub2RlLmZ5LCBub2RlLnZ5ID0gMDsKKyAgICAgIH0KKyAgICB9CisKKyAg
ICByZXR1cm4gc2ltdWxhdGlvbjsKKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemVOb2Rlcygp
IHsKKyAgICBmb3IgKHZhciBpID0gMCwgbiA9IG5vZGVzLmxlbmd0aCwgbm9kZTsgaSA8IG47ICsr
aSkgeworICAgICAgbm9kZSA9IG5vZGVzW2ldLCBub2RlLmluZGV4ID0gaTsKKyAgICAgIGlmIChu
b2RlLmZ4ICE9IG51bGwpIG5vZGUueCA9IG5vZGUuZng7CisgICAgICBpZiAobm9kZS5meSAhPSBu
dWxsKSBub2RlLnkgPSBub2RlLmZ5OworICAgICAgaWYgKGlzTmFOKG5vZGUueCkgfHwgaXNOYU4o
bm9kZS55KSkgeworICAgICAgICB2YXIgcmFkaXVzID0gaW5pdGlhbFJhZGl1cyAqIE1hdGguc3Fy
dChpKSwgYW5nbGUgPSBpICogaW5pdGlhbEFuZ2xlOworICAgICAgICBub2RlLnggPSByYWRpdXMg
KiBNYXRoLmNvcyhhbmdsZSk7CisgICAgICAgIG5vZGUueSA9IHJhZGl1cyAqIE1hdGguc2luKGFu
Z2xlKTsKKyAgICAgIH0KKyAgICAgIGlmIChpc05hTihub2RlLnZ4KSB8fCBpc05hTihub2RlLnZ5
KSkgeworICAgICAgICBub2RlLnZ4ID0gbm9kZS52eSA9IDA7CisgICAgICB9CisgICAgfQorICB9
CisKKyAgZnVuY3Rpb24gaW5pdGlhbGl6ZUZvcmNlKGZvcmNlKSB7CisgICAgaWYgKGZvcmNlLmlu
aXRpYWxpemUpIGZvcmNlLmluaXRpYWxpemUobm9kZXMpOworICAgIHJldHVybiBmb3JjZTsKKyAg
fQorCisgIGluaXRpYWxpemVOb2RlcygpOworCisgIHJldHVybiBzaW11bGF0aW9uID0geworICAg
IHRpY2s6IHRpY2ssCisKKyAgICByZXN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICAgIHJldHVybiBz
dGVwcGVyLnJlc3RhcnQoc3RlcCksIHNpbXVsYXRpb247CisgICAgfSwKKworICAgIHN0b3A6IGZ1
bmN0aW9uKCkgeworICAgICAgcmV0dXJuIHN0ZXBwZXIuc3RvcCgpLCBzaW11bGF0aW9uOworICAg
IH0sCisKKyAgICBub2RlczogZnVuY3Rpb24oXykgeworICAgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAobm9kZXMgPSBfLCBpbml0aWFsaXplTm9kZXMoKSwgZm9yY2VzLmVhY2goaW5pdGlh
bGl6ZUZvcmNlKSwgc2ltdWxhdGlvbikgOiBub2RlczsKKyAgICB9LAorCisgICAgYWxwaGE6IGZ1
bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGFscGhhID0gK18s
IHNpbXVsYXRpb24pIDogYWxwaGE7CisgICAgfSwKKworICAgIGFscGhhTWluOiBmdW5jdGlvbihf
KSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChhbHBoYU1pbiA9ICtfLCBzaW11
bGF0aW9uKSA6IGFscGhhTWluOworICAgIH0sCisKKyAgICBhbHBoYURlY2F5OiBmdW5jdGlvbihf
KSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChhbHBoYURlY2F5ID0gK18sIHNp
bXVsYXRpb24pIDogK2FscGhhRGVjYXk7CisgICAgfSwKKworICAgIGFscGhhVGFyZ2V0OiBmdW5j
dGlvbihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChhbHBoYVRhcmdldCA9
ICtfLCBzaW11bGF0aW9uKSA6IGFscGhhVGFyZ2V0OworICAgIH0sCisKKyAgICB2ZWxvY2l0eURl
Y2F5OiBmdW5jdGlvbihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh2ZWxv
Y2l0eURlY2F5ID0gMSAtIF8sIHNpbXVsYXRpb24pIDogMSAtIHZlbG9jaXR5RGVjYXk7CisgICAg
fSwKKworICAgIGZvcmNlOiBmdW5jdGlvbihuYW1lLCBfKSB7CisgICAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA+IDEgPyAoKF8gPT0gbnVsbCA/IGZvcmNlcy5yZW1vdmUobmFtZSkgOiBmb3Jj
ZXMuc2V0KG5hbWUsIGluaXRpYWxpemVGb3JjZShfKSkpLCBzaW11bGF0aW9uKSA6IGZvcmNlcy5n
ZXQobmFtZSk7CisgICAgfSwKKworICAgIGZpbmQ6IGZ1bmN0aW9uKHgsIHksIHJhZGl1cykgewor
ICAgICAgdmFyIGkgPSAwLAorICAgICAgICAgIG4gPSBub2Rlcy5sZW5ndGgsCisgICAgICAgICAg
ZHgsCisgICAgICAgICAgZHksCisgICAgICAgICAgZDIsCisgICAgICAgICAgbm9kZSwKKyAgICAg
ICAgICBjbG9zZXN0OworCisgICAgICBpZiAocmFkaXVzID09IG51bGwpIHJhZGl1cyA9IEluZmlu
aXR5OworICAgICAgZWxzZSByYWRpdXMgKj0gcmFkaXVzOworCisgICAgICBmb3IgKGkgPSAwOyBp
IDwgbjsgKytpKSB7CisgICAgICAgIG5vZGUgPSBub2Rlc1tpXTsKKyAgICAgICAgZHggPSB4IC0g
bm9kZS54OworICAgICAgICBkeSA9IHkgLSBub2RlLnk7CisgICAgICAgIGQyID0gZHggKiBkeCAr
IGR5ICogZHk7CisgICAgICAgIGlmIChkMiA8IHJhZGl1cykgY2xvc2VzdCA9IG5vZGUsIHJhZGl1
cyA9IGQyOworICAgICAgfQorCisgICAgICByZXR1cm4gY2xvc2VzdDsKKyAgICB9LAorCisgICAg
b246IGZ1bmN0aW9uKG5hbWUsIF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID4g
MSA/IChldmVudC5vbihuYW1lLCBfKSwgc2ltdWxhdGlvbikgOiBldmVudC5vbihuYW1lKTsKKyAg
ICB9CisgIH07Cit9CisKK2Z1bmN0aW9uIG1hbnlCb2R5KCkgeworICB2YXIgbm9kZXMsCisgICAg
ICBub2RlLAorICAgICAgYWxwaGEsCisgICAgICBzdHJlbmd0aCA9IGNvbnN0YW50JDcoLTMwKSwK
KyAgICAgIHN0cmVuZ3RocywKKyAgICAgIGRpc3RhbmNlTWluMiA9IDEsCisgICAgICBkaXN0YW5j
ZU1heDIgPSBJbmZpbml0eSwKKyAgICAgIHRoZXRhMiA9IDAuODE7CisKKyAgZnVuY3Rpb24gZm9y
Y2UoXykgeworICAgIHZhciBpLCBuID0gbm9kZXMubGVuZ3RoLCB0cmVlID0gcXVhZHRyZWUobm9k
ZXMsIHgkMSwgeSQxKS52aXNpdEFmdGVyKGFjY3VtdWxhdGUpOworICAgIGZvciAoYWxwaGEgPSBf
LCBpID0gMDsgaSA8IG47ICsraSkgbm9kZSA9IG5vZGVzW2ldLCB0cmVlLnZpc2l0KGFwcGx5KTsK
KyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemUoKSB7CisgICAgaWYgKCFub2RlcykgcmV0dXJu
OworICAgIHZhciBpLCBuID0gbm9kZXMubGVuZ3RoLCBub2RlOworICAgIHN0cmVuZ3RocyA9IG5l
dyBBcnJheShuKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSBub2RlID0gbm9kZXNbaV0s
IHN0cmVuZ3Roc1tub2RlLmluZGV4XSA9ICtzdHJlbmd0aChub2RlLCBpLCBub2Rlcyk7CisgIH0K
KworICBmdW5jdGlvbiBhY2N1bXVsYXRlKHF1YWQpIHsKKyAgICB2YXIgc3RyZW5ndGggPSAwLCBx
LCBjLCB3ZWlnaHQgPSAwLCB4LCB5LCBpOworCisgICAgLy8gRm9yIGludGVybmFsIG5vZGVzLCBh
Y2N1bXVsYXRlIGZvcmNlcyBmcm9tIGNoaWxkIHF1YWRyYW50cy4KKyAgICBpZiAocXVhZC5sZW5n
dGgpIHsKKyAgICAgIGZvciAoeCA9IHkgPSBpID0gMDsgaSA8IDQ7ICsraSkgeworICAgICAgICBp
ZiAoKHEgPSBxdWFkW2ldKSAmJiAoYyA9IE1hdGguYWJzKHEudmFsdWUpKSkgeworICAgICAgICAg
IHN0cmVuZ3RoICs9IHEudmFsdWUsIHdlaWdodCArPSBjLCB4ICs9IGMgKiBxLngsIHkgKz0gYyAq
IHEueTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgcXVhZC54ID0geCAvIHdlaWdodDsKKyAg
ICAgIHF1YWQueSA9IHkgLyB3ZWlnaHQ7CisgICAgfQorCisgICAgLy8gRm9yIGxlYWYgbm9kZXMs
IGFjY3VtdWxhdGUgZm9yY2VzIGZyb20gY29pbmNpZGVudCBxdWFkcmFudHMuCisgICAgZWxzZSB7
CisgICAgICBxID0gcXVhZDsKKyAgICAgIHEueCA9IHEuZGF0YS54OworICAgICAgcS55ID0gcS5k
YXRhLnk7CisgICAgICBkbyBzdHJlbmd0aCArPSBzdHJlbmd0aHNbcS5kYXRhLmluZGV4XTsKKyAg
ICAgIHdoaWxlIChxID0gcS5uZXh0KTsKKyAgICB9CisKKyAgICBxdWFkLnZhbHVlID0gc3RyZW5n
dGg7CisgIH0KKworICBmdW5jdGlvbiBhcHBseShxdWFkLCB4MSwgXywgeDIpIHsKKyAgICBpZiAo
IXF1YWQudmFsdWUpIHJldHVybiB0cnVlOworCisgICAgdmFyIHggPSBxdWFkLnggLSBub2RlLngs
CisgICAgICAgIHkgPSBxdWFkLnkgLSBub2RlLnksCisgICAgICAgIHcgPSB4MiAtIHgxLAorICAg
ICAgICBsID0geCAqIHggKyB5ICogeTsKKworICAgIC8vIEFwcGx5IHRoZSBCYXJuZXMtSHV0IGFw
cHJveGltYXRpb24gaWYgcG9zc2libGUuCisgICAgLy8gTGltaXQgZm9yY2VzIGZvciB2ZXJ5IGNs
b3NlIG5vZGVzOyByYW5kb21pemUgZGlyZWN0aW9uIGlmIGNvaW5jaWRlbnQuCisgICAgaWYgKHcg
KiB3IC8gdGhldGEyIDwgbCkgeworICAgICAgaWYgKGwgPCBkaXN0YW5jZU1heDIpIHsKKyAgICAg
ICAgaWYgKHggPT09IDApIHggPSBqaWdnbGUoKSwgbCArPSB4ICogeDsKKyAgICAgICAgaWYgKHkg
PT09IDApIHkgPSBqaWdnbGUoKSwgbCArPSB5ICogeTsKKyAgICAgICAgaWYgKGwgPCBkaXN0YW5j
ZU1pbjIpIGwgPSBNYXRoLnNxcnQoZGlzdGFuY2VNaW4yICogbCk7CisgICAgICAgIG5vZGUudngg
Kz0geCAqIHF1YWQudmFsdWUgKiBhbHBoYSAvIGw7CisgICAgICAgIG5vZGUudnkgKz0geSAqIHF1
YWQudmFsdWUgKiBhbHBoYSAvIGw7CisgICAgICB9CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9
CisKKyAgICAvLyBPdGhlcndpc2UsIHByb2Nlc3MgcG9pbnRzIGRpcmVjdGx5LgorICAgIGVsc2Ug
aWYgKHF1YWQubGVuZ3RoIHx8IGwgPj0gZGlzdGFuY2VNYXgyKSByZXR1cm47CisKKyAgICAvLyBM
aW1pdCBmb3JjZXMgZm9yIHZlcnkgY2xvc2Ugbm9kZXM7IHJhbmRvbWl6ZSBkaXJlY3Rpb24gaWYg
Y29pbmNpZGVudC4KKyAgICBpZiAocXVhZC5kYXRhICE9PSBub2RlIHx8IHF1YWQubmV4dCkgewor
ICAgICAgaWYgKHggPT09IDApIHggPSBqaWdnbGUoKSwgbCArPSB4ICogeDsKKyAgICAgIGlmICh5
ID09PSAwKSB5ID0gamlnZ2xlKCksIGwgKz0geSAqIHk7CisgICAgICBpZiAobCA8IGRpc3RhbmNl
TWluMikgbCA9IE1hdGguc3FydChkaXN0YW5jZU1pbjIgKiBsKTsKKyAgICB9CisKKyAgICBkbyBp
ZiAocXVhZC5kYXRhICE9PSBub2RlKSB7CisgICAgICB3ID0gc3RyZW5ndGhzW3F1YWQuZGF0YS5p
bmRleF0gKiBhbHBoYSAvIGw7CisgICAgICBub2RlLnZ4ICs9IHggKiB3OworICAgICAgbm9kZS52
eSArPSB5ICogdzsKKyAgICB9IHdoaWxlIChxdWFkID0gcXVhZC5uZXh0KTsKKyAgfQorCisgIGZv
cmNlLmluaXRpYWxpemUgPSBmdW5jdGlvbihfKSB7CisgICAgbm9kZXMgPSBfOworICAgIGluaXRp
YWxpemUoKTsKKyAgfTsKKworICBmb3JjZS5zdHJlbmd0aCA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzdHJlbmd0aCA9IHR5cGVvZiBfID09PSAiZnVuY3Rp
b24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplKCksIGZvcmNlKSA6IHN0cmVuZ3Ro
OworICB9OworCisgIGZvcmNlLmRpc3RhbmNlTWluID0gZnVuY3Rpb24oXykgeworICAgIHJldHVy
biBhcmd1bWVudHMubGVuZ3RoID8gKGRpc3RhbmNlTWluMiA9IF8gKiBfLCBmb3JjZSkgOiBNYXRo
LnNxcnQoZGlzdGFuY2VNaW4yKTsKKyAgfTsKKworICBmb3JjZS5kaXN0YW5jZU1heCA9IGZ1bmN0
aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkaXN0YW5jZU1heDIgPSBf
ICogXywgZm9yY2UpIDogTWF0aC5zcXJ0KGRpc3RhbmNlTWF4Mik7CisgIH07CisKKyAgZm9yY2Uu
dGhldGEgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGhl
dGEyID0gXyAqIF8sIGZvcmNlKSA6IE1hdGguc3FydCh0aGV0YTIpOworICB9OworCisgIHJldHVy
biBmb3JjZTsKK30KKworZnVuY3Rpb24gcmFkaWFsKHJhZGl1cywgeCwgeSkgeworICB2YXIgbm9k
ZXMsCisgICAgICBzdHJlbmd0aCA9IGNvbnN0YW50JDcoMC4xKSwKKyAgICAgIHN0cmVuZ3RocywK
KyAgICAgIHJhZGl1c2VzOworCisgIGlmICh0eXBlb2YgcmFkaXVzICE9PSAiZnVuY3Rpb24iKSBy
YWRpdXMgPSBjb25zdGFudCQ3KCtyYWRpdXMpOworICBpZiAoeCA9PSBudWxsKSB4ID0gMDsKKyAg
aWYgKHkgPT0gbnVsbCkgeSA9IDA7CisKKyAgZnVuY3Rpb24gZm9yY2UoYWxwaGEpIHsKKyAgICBm
b3IgKHZhciBpID0gMCwgbiA9IG5vZGVzLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAgICAgdmFy
IG5vZGUgPSBub2Rlc1tpXSwKKyAgICAgICAgICBkeCA9IG5vZGUueCAtIHggfHwgMWUtNiwKKyAg
ICAgICAgICBkeSA9IG5vZGUueSAtIHkgfHwgMWUtNiwKKyAgICAgICAgICByID0gTWF0aC5zcXJ0
KGR4ICogZHggKyBkeSAqIGR5KSwKKyAgICAgICAgICBrID0gKHJhZGl1c2VzW2ldIC0gcikgKiBz
dHJlbmd0aHNbaV0gKiBhbHBoYSAvIHI7CisgICAgICBub2RlLnZ4ICs9IGR4ICogazsKKyAgICAg
IG5vZGUudnkgKz0gZHkgKiBrOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemUo
KSB7CisgICAgaWYgKCFub2RlcykgcmV0dXJuOworICAgIHZhciBpLCBuID0gbm9kZXMubGVuZ3Ro
OworICAgIHN0cmVuZ3RocyA9IG5ldyBBcnJheShuKTsKKyAgICByYWRpdXNlcyA9IG5ldyBBcnJh
eShuKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICByYWRpdXNlc1tpXSA9
ICtyYWRpdXMobm9kZXNbaV0sIGksIG5vZGVzKTsKKyAgICAgIHN0cmVuZ3Roc1tpXSA9IGlzTmFO
KHJhZGl1c2VzW2ldKSA/IDAgOiArc3RyZW5ndGgobm9kZXNbaV0sIGksIG5vZGVzKTsKKyAgICB9
CisgIH0KKworICBmb3JjZS5pbml0aWFsaXplID0gZnVuY3Rpb24oXykgeworICAgIG5vZGVzID0g
XywgaW5pdGlhbGl6ZSgpOworICB9OworCisgIGZvcmNlLnN0cmVuZ3RoID0gZnVuY3Rpb24oXykg
eworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHN0cmVuZ3RoID0gdHlwZW9mIF8gPT09
ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyksIGluaXRpYWxpemUoKSwgZm9yY2UpIDog
c3RyZW5ndGg7CisgIH07CisKKyAgZm9yY2UucmFkaXVzID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJhZGl1cyA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24i
ID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplKCksIGZvcmNlKSA6IHJhZGl1czsKKyAg
fTsKKworICBmb3JjZS54ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHggPSArXywgZm9yY2UpIDogeDsKKyAgfTsKKworICBmb3JjZS55ID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHkgPSArXywgZm9yY2UpIDogeTsK
KyAgfTsKKworICByZXR1cm4gZm9yY2U7Cit9CisKK2Z1bmN0aW9uIHgkMih4KSB7CisgIHZhciBz
dHJlbmd0aCA9IGNvbnN0YW50JDcoMC4xKSwKKyAgICAgIG5vZGVzLAorICAgICAgc3RyZW5ndGhz
LAorICAgICAgeHo7CisKKyAgaWYgKHR5cGVvZiB4ICE9PSAiZnVuY3Rpb24iKSB4ID0gY29uc3Rh
bnQkNyh4ID09IG51bGwgPyAwIDogK3gpOworCisgIGZ1bmN0aW9uIGZvcmNlKGFscGhhKSB7Cisg
ICAgZm9yICh2YXIgaSA9IDAsIG4gPSBub2Rlcy5sZW5ndGgsIG5vZGU7IGkgPCBuOyArK2kpIHsK
KyAgICAgIG5vZGUgPSBub2Rlc1tpXSwgbm9kZS52eCArPSAoeHpbaV0gLSBub2RlLngpICogc3Ry
ZW5ndGhzW2ldICogYWxwaGE7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gaW5pdGlhbGl6ZSgp
IHsKKyAgICBpZiAoIW5vZGVzKSByZXR1cm47CisgICAgdmFyIGksIG4gPSBub2Rlcy5sZW5ndGg7
CisgICAgc3RyZW5ndGhzID0gbmV3IEFycmF5KG4pOworICAgIHh6ID0gbmV3IEFycmF5KG4pOwor
ICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIHN0cmVuZ3Roc1tpXSA9IGlzTmFO
KHh6W2ldID0gK3gobm9kZXNbaV0sIGksIG5vZGVzKSkgPyAwIDogK3N0cmVuZ3RoKG5vZGVzW2ld
LCBpLCBub2Rlcyk7CisgICAgfQorICB9CisKKyAgZm9yY2UuaW5pdGlhbGl6ZSA9IGZ1bmN0aW9u
KF8pIHsKKyAgICBub2RlcyA9IF87CisgICAgaW5pdGlhbGl6ZSgpOworICB9OworCisgIGZvcmNl
LnN0cmVuZ3RoID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8g
KHN0cmVuZ3RoID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyks
IGluaXRpYWxpemUoKSwgZm9yY2UpIDogc3RyZW5ndGg7CisgIH07CisKKyAgZm9yY2UueCA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4ID0gdHlwZW9mIF8g
PT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyksIGluaXRpYWxpemUoKSwgZm9yY2Up
IDogeDsKKyAgfTsKKworICByZXR1cm4gZm9yY2U7Cit9CisKK2Z1bmN0aW9uIHkkMih5KSB7Cisg
IHZhciBzdHJlbmd0aCA9IGNvbnN0YW50JDcoMC4xKSwKKyAgICAgIG5vZGVzLAorICAgICAgc3Ry
ZW5ndGhzLAorICAgICAgeXo7CisKKyAgaWYgKHR5cGVvZiB5ICE9PSAiZnVuY3Rpb24iKSB5ID0g
Y29uc3RhbnQkNyh5ID09IG51bGwgPyAwIDogK3kpOworCisgIGZ1bmN0aW9uIGZvcmNlKGFscGhh
KSB7CisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBub2Rlcy5sZW5ndGgsIG5vZGU7IGkgPCBuOyAr
K2kpIHsKKyAgICAgIG5vZGUgPSBub2Rlc1tpXSwgbm9kZS52eSArPSAoeXpbaV0gLSBub2RlLnkp
ICogc3RyZW5ndGhzW2ldICogYWxwaGE7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gaW5pdGlh
bGl6ZSgpIHsKKyAgICBpZiAoIW5vZGVzKSByZXR1cm47CisgICAgdmFyIGksIG4gPSBub2Rlcy5s
ZW5ndGg7CisgICAgc3RyZW5ndGhzID0gbmV3IEFycmF5KG4pOworICAgIHl6ID0gbmV3IEFycmF5
KG4pOworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIHN0cmVuZ3Roc1tpXSA9
IGlzTmFOKHl6W2ldID0gK3kobm9kZXNbaV0sIGksIG5vZGVzKSkgPyAwIDogK3N0cmVuZ3RoKG5v
ZGVzW2ldLCBpLCBub2Rlcyk7CisgICAgfQorICB9CisKKyAgZm9yY2UuaW5pdGlhbGl6ZSA9IGZ1
bmN0aW9uKF8pIHsKKyAgICBub2RlcyA9IF87CisgICAgaW5pdGlhbGl6ZSgpOworICB9OworCisg
IGZvcmNlLnN0cmVuZ3RoID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHN0cmVuZ3RoID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQk
NygrXyksIGluaXRpYWxpemUoKSwgZm9yY2UpIDogc3RyZW5ndGg7CisgIH07CisKKyAgZm9yY2Uu
eSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5ID0gdHlw
ZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyksIGluaXRpYWxpemUoKSwg
Zm9yY2UpIDogeTsKKyAgfTsKKworICByZXR1cm4gZm9yY2U7Cit9CisKKy8vIENvbXB1dGVzIHRo
ZSBkZWNpbWFsIGNvZWZmaWNpZW50IGFuZCBleHBvbmVudCBvZiB0aGUgc3BlY2lmaWVkIG51bWJl
ciB4IHdpdGgKKy8vIHNpZ25pZmljYW50IGRpZ2l0cyBwLCB3aGVyZSB4IGlzIHBvc2l0aXZlIGFu
ZCBwIGlzIGluIFsxLCAyMV0gb3IgdW5kZWZpbmVkLgorLy8gRm9yIGV4YW1wbGUsIGZvcm1hdERl
Y2ltYWwoMS4yMykgcmV0dXJucyBbIjEyMyIsIDBdLgorZnVuY3Rpb24gZm9ybWF0RGVjaW1hbCh4
LCBwKSB7CisgIGlmICgoaSA9ICh4ID0gcCA/IHgudG9FeHBvbmVudGlhbChwIC0gMSkgOiB4LnRv
RXhwb25lbnRpYWwoKSkuaW5kZXhPZigiZSIpKSA8IDApIHJldHVybiBudWxsOyAvLyBOYU4sIMKx
SW5maW5pdHkKKyAgdmFyIGksIGNvZWZmaWNpZW50ID0geC5zbGljZSgwLCBpKTsKKworICAvLyBU
aGUgc3RyaW5nIHJldHVybmVkIGJ5IHRvRXhwb25lbnRpYWwgZWl0aGVyIGhhcyB0aGUgZm9ybSBc
ZFwuXGQrZVstK11cZCsKKyAgLy8gKGUuZy4sIDEuMmUrMykgb3IgdGhlIGZvcm0gXGRlWy0rXVxk
KyAoZS5nLiwgMWUrMykuCisgIHJldHVybiBbCisgICAgY29lZmZpY2llbnQubGVuZ3RoID4gMSA/
IGNvZWZmaWNpZW50WzBdICsgY29lZmZpY2llbnQuc2xpY2UoMikgOiBjb2VmZmljaWVudCwKKyAg
ICAreC5zbGljZShpICsgMSkKKyAgXTsKK30KKworZnVuY3Rpb24gZXhwb25lbnQkMSh4KSB7Cisg
IHJldHVybiB4ID0gZm9ybWF0RGVjaW1hbChNYXRoLmFicyh4KSksIHggPyB4WzFdIDogTmFOOwor
fQorCitmdW5jdGlvbiBmb3JtYXRHcm91cChncm91cGluZywgdGhvdXNhbmRzKSB7CisgIHJldHVy
biBmdW5jdGlvbih2YWx1ZSwgd2lkdGgpIHsKKyAgICB2YXIgaSA9IHZhbHVlLmxlbmd0aCwKKyAg
ICAgICAgdCA9IFtdLAorICAgICAgICBqID0gMCwKKyAgICAgICAgZyA9IGdyb3VwaW5nWzBdLAor
ICAgICAgICBsZW5ndGggPSAwOworCisgICAgd2hpbGUgKGkgPiAwICYmIGcgPiAwKSB7CisgICAg
ICBpZiAobGVuZ3RoICsgZyArIDEgPiB3aWR0aCkgZyA9IE1hdGgubWF4KDEsIHdpZHRoIC0gbGVu
Z3RoKTsKKyAgICAgIHQucHVzaCh2YWx1ZS5zdWJzdHJpbmcoaSAtPSBnLCBpICsgZykpOworICAg
ICAgaWYgKChsZW5ndGggKz0gZyArIDEpID4gd2lkdGgpIGJyZWFrOworICAgICAgZyA9IGdyb3Vw
aW5nW2ogPSAoaiArIDEpICUgZ3JvdXBpbmcubGVuZ3RoXTsKKyAgICB9CisKKyAgICByZXR1cm4g
dC5yZXZlcnNlKCkuam9pbih0aG91c2FuZHMpOworICB9OworfQorCitmdW5jdGlvbiBmb3JtYXRO
dW1lcmFscyhudW1lcmFscykgeworICByZXR1cm4gZnVuY3Rpb24odmFsdWUpIHsKKyAgICByZXR1
cm4gdmFsdWUucmVwbGFjZSgvWzAtOV0vZywgZnVuY3Rpb24oaSkgeworICAgICAgcmV0dXJuIG51
bWVyYWxzWytpXTsKKyAgICB9KTsKKyAgfTsKK30KKworLy8gW1tmaWxsXWFsaWduXVtzaWduXVtz
eW1ib2xdWzBdW3dpZHRoXVssXVsucHJlY2lzaW9uXVt+XVt0eXBlXQordmFyIHJlID0gL14oPzoo
Lik/KFs8Pj1eXSkpPyhbK1wtKCBdKT8oWyQjXSk/KDApPyhcZCspPygsKT8oXC5cZCspPyh+KT8o
W2EteiVdKT8kL2k7CisKK2Z1bmN0aW9uIGZvcm1hdFNwZWNpZmllcihzcGVjaWZpZXIpIHsKKyAg
aWYgKCEobWF0Y2ggPSByZS5leGVjKHNwZWNpZmllcikpKSB0aHJvdyBuZXcgRXJyb3IoImludmFs
aWQgZm9ybWF0OiAiICsgc3BlY2lmaWVyKTsKKyAgdmFyIG1hdGNoOworICByZXR1cm4gbmV3IEZv
cm1hdFNwZWNpZmllcih7CisgICAgZmlsbDogbWF0Y2hbMV0sCisgICAgYWxpZ246IG1hdGNoWzJd
LAorICAgIHNpZ246IG1hdGNoWzNdLAorICAgIHN5bWJvbDogbWF0Y2hbNF0sCisgICAgemVybzog
bWF0Y2hbNV0sCisgICAgd2lkdGg6IG1hdGNoWzZdLAorICAgIGNvbW1hOiBtYXRjaFs3XSwKKyAg
ICBwcmVjaXNpb246IG1hdGNoWzhdICYmIG1hdGNoWzhdLnNsaWNlKDEpLAorICAgIHRyaW06IG1h
dGNoWzldLAorICAgIHR5cGU6IG1hdGNoWzEwXQorICB9KTsKK30KKworZm9ybWF0U3BlY2lmaWVy
LnByb3RvdHlwZSA9IEZvcm1hdFNwZWNpZmllci5wcm90b3R5cGU7IC8vIGluc3RhbmNlb2YKKwor
ZnVuY3Rpb24gRm9ybWF0U3BlY2lmaWVyKHNwZWNpZmllcikgeworICB0aGlzLmZpbGwgPSBzcGVj
aWZpZXIuZmlsbCA9PT0gdW5kZWZpbmVkID8gIiAiIDogc3BlY2lmaWVyLmZpbGwgKyAiIjsKKyAg
dGhpcy5hbGlnbiA9IHNwZWNpZmllci5hbGlnbiA9PT0gdW5kZWZpbmVkID8gIj4iIDogc3BlY2lm
aWVyLmFsaWduICsgIiI7CisgIHRoaXMuc2lnbiA9IHNwZWNpZmllci5zaWduID09PSB1bmRlZmlu
ZWQgPyAiLSIgOiBzcGVjaWZpZXIuc2lnbiArICIiOworICB0aGlzLnN5bWJvbCA9IHNwZWNpZmll
ci5zeW1ib2wgPT09IHVuZGVmaW5lZCA/ICIiIDogc3BlY2lmaWVyLnN5bWJvbCArICIiOworICB0
aGlzLnplcm8gPSAhIXNwZWNpZmllci56ZXJvOworICB0aGlzLndpZHRoID0gc3BlY2lmaWVyLndp
ZHRoID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiArc3BlY2lmaWVyLndpZHRoOworICB0aGlz
LmNvbW1hID0gISFzcGVjaWZpZXIuY29tbWE7CisgIHRoaXMucHJlY2lzaW9uID0gc3BlY2lmaWVy
LnByZWNpc2lvbiA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogK3NwZWNpZmllci5wcmVjaXNp
b247CisgIHRoaXMudHJpbSA9ICEhc3BlY2lmaWVyLnRyaW07CisgIHRoaXMudHlwZSA9IHNwZWNp
Zmllci50eXBlID09PSB1bmRlZmluZWQgPyAiIiA6IHNwZWNpZmllci50eXBlICsgIiI7Cit9CisK
K0Zvcm1hdFNwZWNpZmllci5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsKKyAgcmV0
dXJuIHRoaXMuZmlsbAorICAgICAgKyB0aGlzLmFsaWduCisgICAgICArIHRoaXMuc2lnbgorICAg
ICAgKyB0aGlzLnN5bWJvbAorICAgICAgKyAodGhpcy56ZXJvID8gIjAiIDogIiIpCisgICAgICAr
ICh0aGlzLndpZHRoID09PSB1bmRlZmluZWQgPyAiIiA6IE1hdGgubWF4KDEsIHRoaXMud2lkdGgg
fCAwKSkKKyAgICAgICsgKHRoaXMuY29tbWEgPyAiLCIgOiAiIikKKyAgICAgICsgKHRoaXMucHJl
Y2lzaW9uID09PSB1bmRlZmluZWQgPyAiIiA6ICIuIiArIE1hdGgubWF4KDAsIHRoaXMucHJlY2lz
aW9uIHwgMCkpCisgICAgICArICh0aGlzLnRyaW0gPyAifiIgOiAiIikKKyAgICAgICsgdGhpcy50
eXBlOworfTsKKworLy8gVHJpbXMgaW5zaWduaWZpY2FudCB6ZXJvcywgZS5nLiwgcmVwbGFjZXMg
MS4yMDAwayB3aXRoIDEuMmsuCitmdW5jdGlvbiBmb3JtYXRUcmltKHMpIHsKKyAgb3V0OiBmb3Ig
KHZhciBuID0gcy5sZW5ndGgsIGkgPSAxLCBpMCA9IC0xLCBpMTsgaSA8IG47ICsraSkgeworICAg
IHN3aXRjaCAoc1tpXSkgeworICAgICAgY2FzZSAiLiI6IGkwID0gaTEgPSBpOyBicmVhazsKKyAg
ICAgIGNhc2UgIjAiOiBpZiAoaTAgPT09IDApIGkwID0gaTsgaTEgPSBpOyBicmVhazsKKyAgICAg
IGRlZmF1bHQ6IGlmIChpMCA+IDApIHsgaWYgKCErc1tpXSkgYnJlYWsgb3V0OyBpMCA9IDA7IH0g
YnJlYWs7CisgICAgfQorICB9CisgIHJldHVybiBpMCA+IDAgPyBzLnNsaWNlKDAsIGkwKSArIHMu
c2xpY2UoaTEgKyAxKSA6IHM7Cit9CisKK3ZhciBwcmVmaXhFeHBvbmVudDsKKworZnVuY3Rpb24g
Zm9ybWF0UHJlZml4QXV0byh4LCBwKSB7CisgIHZhciBkID0gZm9ybWF0RGVjaW1hbCh4LCBwKTsK
KyAgaWYgKCFkKSByZXR1cm4geCArICIiOworICB2YXIgY29lZmZpY2llbnQgPSBkWzBdLAorICAg
ICAgZXhwb25lbnQgPSBkWzFdLAorICAgICAgaSA9IGV4cG9uZW50IC0gKHByZWZpeEV4cG9uZW50
ID0gTWF0aC5tYXgoLTgsIE1hdGgubWluKDgsIE1hdGguZmxvb3IoZXhwb25lbnQgLyAzKSkpICog
MykgKyAxLAorICAgICAgbiA9IGNvZWZmaWNpZW50Lmxlbmd0aDsKKyAgcmV0dXJuIGkgPT09IG4g
PyBjb2VmZmljaWVudAorICAgICAgOiBpID4gbiA/IGNvZWZmaWNpZW50ICsgbmV3IEFycmF5KGkg
LSBuICsgMSkuam9pbigiMCIpCisgICAgICA6IGkgPiAwID8gY29lZmZpY2llbnQuc2xpY2UoMCwg
aSkgKyAiLiIgKyBjb2VmZmljaWVudC5zbGljZShpKQorICAgICAgOiAiMC4iICsgbmV3IEFycmF5
KDEgLSBpKS5qb2luKCIwIikgKyBmb3JtYXREZWNpbWFsKHgsIE1hdGgubWF4KDAsIHAgKyBpIC0g
MSkpWzBdOyAvLyBsZXNzIHRoYW4gMXkhCit9CisKK2Z1bmN0aW9uIGZvcm1hdFJvdW5kZWQoeCwg
cCkgeworICB2YXIgZCA9IGZvcm1hdERlY2ltYWwoeCwgcCk7CisgIGlmICghZCkgcmV0dXJuIHgg
KyAiIjsKKyAgdmFyIGNvZWZmaWNpZW50ID0gZFswXSwKKyAgICAgIGV4cG9uZW50ID0gZFsxXTsK
KyAgcmV0dXJuIGV4cG9uZW50IDwgMCA/ICIwLiIgKyBuZXcgQXJyYXkoLWV4cG9uZW50KS5qb2lu
KCIwIikgKyBjb2VmZmljaWVudAorICAgICAgOiBjb2VmZmljaWVudC5sZW5ndGggPiBleHBvbmVu
dCArIDEgPyBjb2VmZmljaWVudC5zbGljZSgwLCBleHBvbmVudCArIDEpICsgIi4iICsgY29lZmZp
Y2llbnQuc2xpY2UoZXhwb25lbnQgKyAxKQorICAgICAgOiBjb2VmZmljaWVudCArIG5ldyBBcnJh
eShleHBvbmVudCAtIGNvZWZmaWNpZW50Lmxlbmd0aCArIDIpLmpvaW4oIjAiKTsKK30KKwordmFy
IGZvcm1hdFR5cGVzID0geworICAiJSI6IGZ1bmN0aW9uKHgsIHApIHsgcmV0dXJuICh4ICogMTAw
KS50b0ZpeGVkKHApOyB9LAorICAiYiI6IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIE1hdGgucm91bmQo
eCkudG9TdHJpbmcoMik7IH0sCisgICJjIjogZnVuY3Rpb24oeCkgeyByZXR1cm4geCArICIiOyB9
LAorICAiZCI6IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIE1hdGgucm91bmQoeCkudG9TdHJpbmcoMTAp
OyB9LAorICAiZSI6IGZ1bmN0aW9uKHgsIHApIHsgcmV0dXJuIHgudG9FeHBvbmVudGlhbChwKTsg
fSwKKyAgImYiOiBmdW5jdGlvbih4LCBwKSB7IHJldHVybiB4LnRvRml4ZWQocCk7IH0sCisgICJn
IjogZnVuY3Rpb24oeCwgcCkgeyByZXR1cm4geC50b1ByZWNpc2lvbihwKTsgfSwKKyAgIm8iOiBm
dW5jdGlvbih4KSB7IHJldHVybiBNYXRoLnJvdW5kKHgpLnRvU3RyaW5nKDgpOyB9LAorICAicCI6
IGZ1bmN0aW9uKHgsIHApIHsgcmV0dXJuIGZvcm1hdFJvdW5kZWQoeCAqIDEwMCwgcCk7IH0sCisg
ICJyIjogZm9ybWF0Um91bmRlZCwKKyAgInMiOiBmb3JtYXRQcmVmaXhBdXRvLAorICAiWCI6IGZ1
bmN0aW9uKHgpIHsgcmV0dXJuIE1hdGgucm91bmQoeCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNl
KCk7IH0sCisgICJ4IjogZnVuY3Rpb24oeCkgeyByZXR1cm4gTWF0aC5yb3VuZCh4KS50b1N0cmlu
ZygxNik7IH0KK307CisKK2Z1bmN0aW9uIGlkZW50aXR5JDMoeCkgeworICByZXR1cm4geDsKK30K
KwordmFyIG1hcCQyID0gQXJyYXkucHJvdG90eXBlLm1hcCwKKyAgICBwcmVmaXhlcyA9IFsieSIs
InoiLCJhIiwiZiIsInAiLCJuIiwiXHhCNSIsIm0iLCIiLCJrIiwiTSIsIkciLCJUIiwiUCIsIkUi
LCJaIiwiWSJdOworCitmdW5jdGlvbiBmb3JtYXRMb2NhbGUobG9jYWxlKSB7CisgIHZhciBncm91
cCA9IGxvY2FsZS5ncm91cGluZyA9PT0gdW5kZWZpbmVkIHx8IGxvY2FsZS50aG91c2FuZHMgPT09
IHVuZGVmaW5lZCA/IGlkZW50aXR5JDMgOiBmb3JtYXRHcm91cChtYXAkMi5jYWxsKGxvY2FsZS5n
cm91cGluZywgTnVtYmVyKSwgbG9jYWxlLnRob3VzYW5kcyArICIiKSwKKyAgICAgIGN1cnJlbmN5
UHJlZml4ID0gbG9jYWxlLmN1cnJlbmN5ID09PSB1bmRlZmluZWQgPyAiIiA6IGxvY2FsZS5jdXJy
ZW5jeVswXSArICIiLAorICAgICAgY3VycmVuY3lTdWZmaXggPSBsb2NhbGUuY3VycmVuY3kgPT09
IHVuZGVmaW5lZCA/ICIiIDogbG9jYWxlLmN1cnJlbmN5WzFdICsgIiIsCisgICAgICBkZWNpbWFs
ID0gbG9jYWxlLmRlY2ltYWwgPT09IHVuZGVmaW5lZCA/ICIuIiA6IGxvY2FsZS5kZWNpbWFsICsg
IiIsCisgICAgICBudW1lcmFscyA9IGxvY2FsZS5udW1lcmFscyA9PT0gdW5kZWZpbmVkID8gaWRl
bnRpdHkkMyA6IGZvcm1hdE51bWVyYWxzKG1hcCQyLmNhbGwobG9jYWxlLm51bWVyYWxzLCBTdHJp
bmcpKSwKKyAgICAgIHBlcmNlbnQgPSBsb2NhbGUucGVyY2VudCA9PT0gdW5kZWZpbmVkID8gIiUi
IDogbG9jYWxlLnBlcmNlbnQgKyAiIiwKKyAgICAgIG1pbnVzID0gbG9jYWxlLm1pbnVzID09PSB1
bmRlZmluZWQgPyAiLSIgOiBsb2NhbGUubWludXMgKyAiIiwKKyAgICAgIG5hbiA9IGxvY2FsZS5u
YW4gPT09IHVuZGVmaW5lZCA/ICJOYU4iIDogbG9jYWxlLm5hbiArICIiOworCisgIGZ1bmN0aW9u
IG5ld0Zvcm1hdChzcGVjaWZpZXIpIHsKKyAgICBzcGVjaWZpZXIgPSBmb3JtYXRTcGVjaWZpZXIo
c3BlY2lmaWVyKTsKKworICAgIHZhciBmaWxsID0gc3BlY2lmaWVyLmZpbGwsCisgICAgICAgIGFs
aWduID0gc3BlY2lmaWVyLmFsaWduLAorICAgICAgICBzaWduID0gc3BlY2lmaWVyLnNpZ24sCisg
ICAgICAgIHN5bWJvbCA9IHNwZWNpZmllci5zeW1ib2wsCisgICAgICAgIHplcm8gPSBzcGVjaWZp
ZXIuemVybywKKyAgICAgICAgd2lkdGggPSBzcGVjaWZpZXIud2lkdGgsCisgICAgICAgIGNvbW1h
ID0gc3BlY2lmaWVyLmNvbW1hLAorICAgICAgICBwcmVjaXNpb24gPSBzcGVjaWZpZXIucHJlY2lz
aW9uLAorICAgICAgICB0cmltID0gc3BlY2lmaWVyLnRyaW0sCisgICAgICAgIHR5cGUgPSBzcGVj
aWZpZXIudHlwZTsKKworICAgIC8vIFRoZSAibiIgdHlwZSBpcyBhbiBhbGlhcyBmb3IgIixnIi4K
KyAgICBpZiAodHlwZSA9PT0gIm4iKSBjb21tYSA9IHRydWUsIHR5cGUgPSAiZyI7CisKKyAgICAv
LyBUaGUgIiIgdHlwZSwgYW5kIGFueSBpbnZhbGlkIHR5cGUsIGlzIGFuIGFsaWFzIGZvciAiLjEy
fmciLgorICAgIGVsc2UgaWYgKCFmb3JtYXRUeXBlc1t0eXBlXSkgcHJlY2lzaW9uID09PSB1bmRl
ZmluZWQgJiYgKHByZWNpc2lvbiA9IDEyKSwgdHJpbSA9IHRydWUsIHR5cGUgPSAiZyI7CisKKyAg
ICAvLyBJZiB6ZXJvIGZpbGwgaXMgc3BlY2lmaWVkLCBwYWRkaW5nIGdvZXMgYWZ0ZXIgc2lnbiBh
bmQgYmVmb3JlIGRpZ2l0cy4KKyAgICBpZiAoemVybyB8fCAoZmlsbCA9PT0gIjAiICYmIGFsaWdu
ID09PSAiPSIpKSB6ZXJvID0gdHJ1ZSwgZmlsbCA9ICIwIiwgYWxpZ24gPSAiPSI7CisKKyAgICAv
LyBDb21wdXRlIHRoZSBwcmVmaXggYW5kIHN1ZmZpeC4KKyAgICAvLyBGb3IgU0ktcHJlZml4LCB0
aGUgc3VmZml4IGlzIGxhemlseSBjb21wdXRlZC4KKyAgICB2YXIgcHJlZml4ID0gc3ltYm9sID09
PSAiJCIgPyBjdXJyZW5jeVByZWZpeCA6IHN5bWJvbCA9PT0gIiMiICYmIC9bYm94WF0vLnRlc3Qo
dHlwZSkgPyAiMCIgKyB0eXBlLnRvTG93ZXJDYXNlKCkgOiAiIiwKKyAgICAgICAgc3VmZml4ID0g
c3ltYm9sID09PSAiJCIgPyBjdXJyZW5jeVN1ZmZpeCA6IC9bJXBdLy50ZXN0KHR5cGUpID8gcGVy
Y2VudCA6ICIiOworCisgICAgLy8gV2hhdCBmb3JtYXQgZnVuY3Rpb24gc2hvdWxkIHdlIHVzZT8K
KyAgICAvLyBJcyB0aGlzIGFuIGludGVnZXIgdHlwZT8KKyAgICAvLyBDYW4gdGhpcyB0eXBlIGdl
bmVyYXRlIGV4cG9uZW50aWFsIG5vdGF0aW9uPworICAgIHZhciBmb3JtYXRUeXBlID0gZm9ybWF0
VHlwZXNbdHlwZV0sCisgICAgICAgIG1heWJlU3VmZml4ID0gL1tkZWZncHJzJV0vLnRlc3QodHlw
ZSk7CisKKyAgICAvLyBTZXQgdGhlIGRlZmF1bHQgcHJlY2lzaW9uIGlmIG5vdCBzcGVjaWZpZWQs
CisgICAgLy8gb3IgY2xhbXAgdGhlIHNwZWNpZmllZCBwcmVjaXNpb24gdG8gdGhlIHN1cHBvcnRl
ZCByYW5nZS4KKyAgICAvLyBGb3Igc2lnbmlmaWNhbnQgcHJlY2lzaW9uLCBpdCBtdXN0IGJlIGlu
IFsxLCAyMV0uCisgICAgLy8gRm9yIGZpeGVkIHByZWNpc2lvbiwgaXQgbXVzdCBiZSBpbiBbMCwg
MjBdLgorICAgIHByZWNpc2lvbiA9IHByZWNpc2lvbiA9PT0gdW5kZWZpbmVkID8gNgorICAgICAg
ICA6IC9bZ3Byc10vLnRlc3QodHlwZSkgPyBNYXRoLm1heCgxLCBNYXRoLm1pbigyMSwgcHJlY2lz
aW9uKSkKKyAgICAgICAgOiBNYXRoLm1heCgwLCBNYXRoLm1pbigyMCwgcHJlY2lzaW9uKSk7CisK
KyAgICBmdW5jdGlvbiBmb3JtYXQodmFsdWUpIHsKKyAgICAgIHZhciB2YWx1ZVByZWZpeCA9IHBy
ZWZpeCwKKyAgICAgICAgICB2YWx1ZVN1ZmZpeCA9IHN1ZmZpeCwKKyAgICAgICAgICBpLCBuLCBj
OworCisgICAgICBpZiAodHlwZSA9PT0gImMiKSB7CisgICAgICAgIHZhbHVlU3VmZml4ID0gZm9y
bWF0VHlwZSh2YWx1ZSkgKyB2YWx1ZVN1ZmZpeDsKKyAgICAgICAgdmFsdWUgPSAiIjsKKyAgICAg
IH0gZWxzZSB7CisgICAgICAgIHZhbHVlID0gK3ZhbHVlOworCisgICAgICAgIC8vIFBlcmZvcm0g
dGhlIGluaXRpYWwgZm9ybWF0dGluZy4KKyAgICAgICAgdmFyIHZhbHVlTmVnYXRpdmUgPSB2YWx1
ZSA8IDA7CisgICAgICAgIHZhbHVlID0gaXNOYU4odmFsdWUpID8gbmFuIDogZm9ybWF0VHlwZShN
YXRoLmFicyh2YWx1ZSksIHByZWNpc2lvbik7CisKKyAgICAgICAgLy8gVHJpbSBpbnNpZ25pZmlj
YW50IHplcm9zLgorICAgICAgICBpZiAodHJpbSkgdmFsdWUgPSBmb3JtYXRUcmltKHZhbHVlKTsK
KworICAgICAgICAvLyBJZiBhIG5lZ2F0aXZlIHZhbHVlIHJvdW5kcyB0byB6ZXJvIGR1cmluZyBm
b3JtYXR0aW5nLCB0cmVhdCBhcyBwb3NpdGl2ZS4KKyAgICAgICAgaWYgKHZhbHVlTmVnYXRpdmUg
JiYgK3ZhbHVlID09PSAwKSB2YWx1ZU5lZ2F0aXZlID0gZmFsc2U7CisKKyAgICAgICAgLy8gQ29t
cHV0ZSB0aGUgcHJlZml4IGFuZCBzdWZmaXguCisgICAgICAgIHZhbHVlUHJlZml4ID0gKHZhbHVl
TmVnYXRpdmUgPyAoc2lnbiA9PT0gIigiID8gc2lnbiA6IG1pbnVzKSA6IHNpZ24gPT09ICItIiB8
fCBzaWduID09PSAiKCIgPyAiIiA6IHNpZ24pICsgdmFsdWVQcmVmaXg7CisKKyAgICAgICAgdmFs
dWVTdWZmaXggPSAodHlwZSA9PT0gInMiID8gcHJlZml4ZXNbOCArIHByZWZpeEV4cG9uZW50IC8g
M10gOiAiIikgKyB2YWx1ZVN1ZmZpeCArICh2YWx1ZU5lZ2F0aXZlICYmIHNpZ24gPT09ICIoIiA/
ICIpIiA6ICIiKTsKKworICAgICAgICAvLyBCcmVhayB0aGUgZm9ybWF0dGVkIHZhbHVlIGludG8g
dGhlIGludGVnZXIg4oCcdmFsdWXigJ0gcGFydCB0aGF0IGNhbiBiZQorICAgICAgICAvLyBncm91
cGVkLCBhbmQgZnJhY3Rpb25hbCBvciBleHBvbmVudGlhbCDigJxzdWZmaXjigJ0gcGFydCB0aGF0
IGlzIG5vdC4KKyAgICAgICAgaWYgKG1heWJlU3VmZml4KSB7CisgICAgICAgICAgaSA9IC0xLCBu
ID0gdmFsdWUubGVuZ3RoOworICAgICAgICAgIHdoaWxlICgrK2kgPCBuKSB7CisgICAgICAgICAg
ICBpZiAoYyA9IHZhbHVlLmNoYXJDb2RlQXQoaSksIDQ4ID4gYyB8fCBjID4gNTcpIHsKKyAgICAg
ICAgICAgICAgdmFsdWVTdWZmaXggPSAoYyA9PT0gNDYgPyBkZWNpbWFsICsgdmFsdWUuc2xpY2Uo
aSArIDEpIDogdmFsdWUuc2xpY2UoaSkpICsgdmFsdWVTdWZmaXg7CisgICAgICAgICAgICAgIHZh
bHVlID0gdmFsdWUuc2xpY2UoMCwgaSk7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorCisgICAgICAvLyBJZiB0aGUg
ZmlsbCBjaGFyYWN0ZXIgaXMgbm90ICIwIiwgZ3JvdXBpbmcgaXMgYXBwbGllZCBiZWZvcmUgcGFk
ZGluZy4KKyAgICAgIGlmIChjb21tYSAmJiAhemVybykgdmFsdWUgPSBncm91cCh2YWx1ZSwgSW5m
aW5pdHkpOworCisgICAgICAvLyBDb21wdXRlIHRoZSBwYWRkaW5nLgorICAgICAgdmFyIGxlbmd0
aCA9IHZhbHVlUHJlZml4Lmxlbmd0aCArIHZhbHVlLmxlbmd0aCArIHZhbHVlU3VmZml4Lmxlbmd0
aCwKKyAgICAgICAgICBwYWRkaW5nID0gbGVuZ3RoIDwgd2lkdGggPyBuZXcgQXJyYXkod2lkdGgg
LSBsZW5ndGggKyAxKS5qb2luKGZpbGwpIDogIiI7CisKKyAgICAgIC8vIElmIHRoZSBmaWxsIGNo
YXJhY3RlciBpcyAiMCIsIGdyb3VwaW5nIGlzIGFwcGxpZWQgYWZ0ZXIgcGFkZGluZy4KKyAgICAg
IGlmIChjb21tYSAmJiB6ZXJvKSB2YWx1ZSA9IGdyb3VwKHBhZGRpbmcgKyB2YWx1ZSwgcGFkZGlu
Zy5sZW5ndGggPyB3aWR0aCAtIHZhbHVlU3VmZml4Lmxlbmd0aCA6IEluZmluaXR5KSwgcGFkZGlu
ZyA9ICIiOworCisgICAgICAvLyBSZWNvbnN0cnVjdCB0aGUgZmluYWwgb3V0cHV0IGJhc2VkIG9u
IHRoZSBkZXNpcmVkIGFsaWdubWVudC4KKyAgICAgIHN3aXRjaCAoYWxpZ24pIHsKKyAgICAgICAg
Y2FzZSAiPCI6IHZhbHVlID0gdmFsdWVQcmVmaXggKyB2YWx1ZSArIHZhbHVlU3VmZml4ICsgcGFk
ZGluZzsgYnJlYWs7CisgICAgICAgIGNhc2UgIj0iOiB2YWx1ZSA9IHZhbHVlUHJlZml4ICsgcGFk
ZGluZyArIHZhbHVlICsgdmFsdWVTdWZmaXg7IGJyZWFrOworICAgICAgICBjYXNlICJeIjogdmFs
dWUgPSBwYWRkaW5nLnNsaWNlKDAsIGxlbmd0aCA9IHBhZGRpbmcubGVuZ3RoID4+IDEpICsgdmFs
dWVQcmVmaXggKyB2YWx1ZSArIHZhbHVlU3VmZml4ICsgcGFkZGluZy5zbGljZShsZW5ndGgpOyBi
cmVhazsKKyAgICAgICAgZGVmYXVsdDogdmFsdWUgPSBwYWRkaW5nICsgdmFsdWVQcmVmaXggKyB2
YWx1ZSArIHZhbHVlU3VmZml4OyBicmVhazsKKyAgICAgIH0KKworICAgICAgcmV0dXJuIG51bWVy
YWxzKHZhbHVlKTsKKyAgICB9CisKKyAgICBmb3JtYXQudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsK
KyAgICAgIHJldHVybiBzcGVjaWZpZXIgKyAiIjsKKyAgICB9OworCisgICAgcmV0dXJuIGZvcm1h
dDsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFByZWZpeChzcGVjaWZpZXIsIHZhbHVlKSB7Cisg
ICAgdmFyIGYgPSBuZXdGb3JtYXQoKHNwZWNpZmllciA9IGZvcm1hdFNwZWNpZmllcihzcGVjaWZp
ZXIpLCBzcGVjaWZpZXIudHlwZSA9ICJmIiwgc3BlY2lmaWVyKSksCisgICAgICAgIGUgPSBNYXRo
Lm1heCgtOCwgTWF0aC5taW4oOCwgTWF0aC5mbG9vcihleHBvbmVudCQxKHZhbHVlKSAvIDMpKSkg
KiAzLAorICAgICAgICBrID0gTWF0aC5wb3coMTAsIC1lKSwKKyAgICAgICAgcHJlZml4ID0gcHJl
Zml4ZXNbOCArIGUgLyAzXTsKKyAgICByZXR1cm4gZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgIHJl
dHVybiBmKGsgKiB2YWx1ZSkgKyBwcmVmaXg7CisgICAgfTsKKyAgfQorCisgIHJldHVybiB7Cisg
ICAgZm9ybWF0OiBuZXdGb3JtYXQsCisgICAgZm9ybWF0UHJlZml4OiBmb3JtYXRQcmVmaXgKKyAg
fTsKK30KKwordmFyIGxvY2FsZTsKKworZGVmYXVsdExvY2FsZSh7CisgIGRlY2ltYWw6ICIuIiwK
KyAgdGhvdXNhbmRzOiAiLCIsCisgIGdyb3VwaW5nOiBbM10sCisgIGN1cnJlbmN5OiBbIiQiLCAi
Il0sCisgIG1pbnVzOiAiLSIKK30pOworCitmdW5jdGlvbiBkZWZhdWx0TG9jYWxlKGRlZmluaXRp
b24pIHsKKyAgbG9jYWxlID0gZm9ybWF0TG9jYWxlKGRlZmluaXRpb24pOworICBleHBvcnRzLmZv
cm1hdCA9IGxvY2FsZS5mb3JtYXQ7CisgIGV4cG9ydHMuZm9ybWF0UHJlZml4ID0gbG9jYWxlLmZv
cm1hdFByZWZpeDsKKyAgcmV0dXJuIGxvY2FsZTsKK30KKworZnVuY3Rpb24gcHJlY2lzaW9uRml4
ZWQoc3RlcCkgeworICByZXR1cm4gTWF0aC5tYXgoMCwgLWV4cG9uZW50JDEoTWF0aC5hYnMoc3Rl
cCkpKTsKK30KKworZnVuY3Rpb24gcHJlY2lzaW9uUHJlZml4KHN0ZXAsIHZhbHVlKSB7CisgIHJl
dHVybiBNYXRoLm1heCgwLCBNYXRoLm1heCgtOCwgTWF0aC5taW4oOCwgTWF0aC5mbG9vcihleHBv
bmVudCQxKHZhbHVlKSAvIDMpKSkgKiAzIC0gZXhwb25lbnQkMShNYXRoLmFicyhzdGVwKSkpOwor
fQorCitmdW5jdGlvbiBwcmVjaXNpb25Sb3VuZChzdGVwLCBtYXgpIHsKKyAgc3RlcCA9IE1hdGgu
YWJzKHN0ZXApLCBtYXggPSBNYXRoLmFicyhtYXgpIC0gc3RlcDsKKyAgcmV0dXJuIE1hdGgubWF4
KDAsIGV4cG9uZW50JDEobWF4KSAtIGV4cG9uZW50JDEoc3RlcCkpICsgMTsKK30KKworLy8gQWRk
cyBmbG9hdGluZyBwb2ludCBudW1iZXJzIHdpdGggdHdpY2UgdGhlIG5vcm1hbCBwcmVjaXNpb24u
CisvLyBSZWZlcmVuY2U6IEouIFIuIFNoZXdjaHVrLCBBZGFwdGl2ZSBQcmVjaXNpb24gRmxvYXRp
bmctUG9pbnQgQXJpdGhtZXRpYyBhbmQKKy8vIEZhc3QgUm9idXN0IEdlb21ldHJpYyBQcmVkaWNh
dGVzLCBEaXNjcmV0ZSAmIENvbXB1dGF0aW9uYWwgR2VvbWV0cnkgMTgoMykKKy8vIDMwNeKAkzM2
MyAoMTk5NykuCisvLyBDb2RlIGFkYXB0ZWQgZnJvbSBHZW9ncmFwaGljTGliIGJ5IENoYXJsZXMg
Ri4gRi4gS2FybmV5LAorLy8gaHR0cDovL2dlb2dyYXBoaWNsaWIuc291cmNlZm9yZ2UubmV0Lwor
CitmdW5jdGlvbiBhZGRlcigpIHsKKyAgcmV0dXJuIG5ldyBBZGRlcjsKK30KKworZnVuY3Rpb24g
QWRkZXIoKSB7CisgIHRoaXMucmVzZXQoKTsKK30KKworQWRkZXIucHJvdG90eXBlID0geworICBj
b25zdHJ1Y3RvcjogQWRkZXIsCisgIHJlc2V0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLnMgPSAv
LyByb3VuZGVkIHZhbHVlCisgICAgdGhpcy50ID0gMDsgLy8gZXhhY3QgZXJyb3IKKyAgfSwKKyAg
YWRkOiBmdW5jdGlvbih5KSB7CisgICAgYWRkJDEodGVtcCwgeSwgdGhpcy50KTsKKyAgICBhZGQk
MSh0aGlzLCB0ZW1wLnMsIHRoaXMucyk7CisgICAgaWYgKHRoaXMucykgdGhpcy50ICs9IHRlbXAu
dDsKKyAgICBlbHNlIHRoaXMucyA9IHRlbXAudDsKKyAgfSwKKyAgdmFsdWVPZjogZnVuY3Rpb24o
KSB7CisgICAgcmV0dXJuIHRoaXMuczsKKyAgfQorfTsKKwordmFyIHRlbXAgPSBuZXcgQWRkZXI7
CisKK2Z1bmN0aW9uIGFkZCQxKGFkZGVyLCBhLCBiKSB7CisgIHZhciB4ID0gYWRkZXIucyA9IGEg
KyBiLAorICAgICAgYnYgPSB4IC0gYSwKKyAgICAgIGF2ID0geCAtIGJ2OworICBhZGRlci50ID0g
KGEgLSBhdikgKyAoYiAtIGJ2KTsKK30KKwordmFyIGVwc2lsb24kMiA9IDFlLTY7Cit2YXIgZXBz
aWxvbjIkMSA9IDFlLTEyOwordmFyIHBpJDMgPSBNYXRoLlBJOwordmFyIGhhbGZQaSQyID0gcGkk
MyAvIDI7Cit2YXIgcXVhcnRlclBpID0gcGkkMyAvIDQ7Cit2YXIgdGF1JDMgPSBwaSQzICogMjsK
KwordmFyIGRlZ3JlZXMkMSA9IDE4MCAvIHBpJDM7Cit2YXIgcmFkaWFucyA9IHBpJDMgLyAxODA7
CisKK3ZhciBhYnMgPSBNYXRoLmFiczsKK3ZhciBhdGFuID0gTWF0aC5hdGFuOwordmFyIGF0YW4y
ID0gTWF0aC5hdGFuMjsKK3ZhciBjb3MkMSA9IE1hdGguY29zOwordmFyIGNlaWwgPSBNYXRoLmNl
aWw7Cit2YXIgZXhwID0gTWF0aC5leHA7Cit2YXIgbG9nID0gTWF0aC5sb2c7Cit2YXIgcG93ID0g
TWF0aC5wb3c7Cit2YXIgc2luJDEgPSBNYXRoLnNpbjsKK3ZhciBzaWduID0gTWF0aC5zaWduIHx8
IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIHggPiAwID8gMSA6IHggPCAwID8gLTEgOiAwOyB9OwordmFy
IHNxcnQgPSBNYXRoLnNxcnQ7Cit2YXIgdGFuID0gTWF0aC50YW47CisKK2Z1bmN0aW9uIGFjb3Mo
eCkgeworICByZXR1cm4geCA+IDEgPyAwIDogeCA8IC0xID8gcGkkMyA6IE1hdGguYWNvcyh4KTsK
K30KKworZnVuY3Rpb24gYXNpbih4KSB7CisgIHJldHVybiB4ID4gMSA/IGhhbGZQaSQyIDogeCA8
IC0xID8gLWhhbGZQaSQyIDogTWF0aC5hc2luKHgpOworfQorCitmdW5jdGlvbiBoYXZlcnNpbih4
KSB7CisgIHJldHVybiAoeCA9IHNpbiQxKHggLyAyKSkgKiB4OworfQorCitmdW5jdGlvbiBub29w
JDIoKSB7fQorCitmdW5jdGlvbiBzdHJlYW1HZW9tZXRyeShnZW9tZXRyeSwgc3RyZWFtKSB7Cisg
IGlmIChnZW9tZXRyeSAmJiBzdHJlYW1HZW9tZXRyeVR5cGUuaGFzT3duUHJvcGVydHkoZ2VvbWV0
cnkudHlwZSkpIHsKKyAgICBzdHJlYW1HZW9tZXRyeVR5cGVbZ2VvbWV0cnkudHlwZV0oZ2VvbWV0
cnksIHN0cmVhbSk7CisgIH0KK30KKwordmFyIHN0cmVhbU9iamVjdFR5cGUgPSB7CisgIEZlYXR1
cmU6IGZ1bmN0aW9uKG9iamVjdCwgc3RyZWFtKSB7CisgICAgc3RyZWFtR2VvbWV0cnkob2JqZWN0
Lmdlb21ldHJ5LCBzdHJlYW0pOworICB9LAorICBGZWF0dXJlQ29sbGVjdGlvbjogZnVuY3Rpb24o
b2JqZWN0LCBzdHJlYW0pIHsKKyAgICB2YXIgZmVhdHVyZXMgPSBvYmplY3QuZmVhdHVyZXMsIGkg
PSAtMSwgbiA9IGZlYXR1cmVzLmxlbmd0aDsKKyAgICB3aGlsZSAoKytpIDwgbikgc3RyZWFtR2Vv
bWV0cnkoZmVhdHVyZXNbaV0uZ2VvbWV0cnksIHN0cmVhbSk7CisgIH0KK307CisKK3ZhciBzdHJl
YW1HZW9tZXRyeVR5cGUgPSB7CisgIFNwaGVyZTogZnVuY3Rpb24ob2JqZWN0LCBzdHJlYW0pIHsK
KyAgICBzdHJlYW0uc3BoZXJlKCk7CisgIH0sCisgIFBvaW50OiBmdW5jdGlvbihvYmplY3QsIHN0
cmVhbSkgeworICAgIG9iamVjdCA9IG9iamVjdC5jb29yZGluYXRlczsKKyAgICBzdHJlYW0ucG9p
bnQob2JqZWN0WzBdLCBvYmplY3RbMV0sIG9iamVjdFsyXSk7CisgIH0sCisgIE11bHRpUG9pbnQ6
IGZ1bmN0aW9uKG9iamVjdCwgc3RyZWFtKSB7CisgICAgdmFyIGNvb3JkaW5hdGVzID0gb2JqZWN0
LmNvb3JkaW5hdGVzLCBpID0gLTEsIG4gPSBjb29yZGluYXRlcy5sZW5ndGg7CisgICAgd2hpbGUg
KCsraSA8IG4pIG9iamVjdCA9IGNvb3JkaW5hdGVzW2ldLCBzdHJlYW0ucG9pbnQob2JqZWN0WzBd
LCBvYmplY3RbMV0sIG9iamVjdFsyXSk7CisgIH0sCisgIExpbmVTdHJpbmc6IGZ1bmN0aW9uKG9i
amVjdCwgc3RyZWFtKSB7CisgICAgc3RyZWFtTGluZShvYmplY3QuY29vcmRpbmF0ZXMsIHN0cmVh
bSwgMCk7CisgIH0sCisgIE11bHRpTGluZVN0cmluZzogZnVuY3Rpb24ob2JqZWN0LCBzdHJlYW0p
IHsKKyAgICB2YXIgY29vcmRpbmF0ZXMgPSBvYmplY3QuY29vcmRpbmF0ZXMsIGkgPSAtMSwgbiA9
IGNvb3JkaW5hdGVzLmxlbmd0aDsKKyAgICB3aGlsZSAoKytpIDwgbikgc3RyZWFtTGluZShjb29y
ZGluYXRlc1tpXSwgc3RyZWFtLCAwKTsKKyAgfSwKKyAgUG9seWdvbjogZnVuY3Rpb24ob2JqZWN0
LCBzdHJlYW0pIHsKKyAgICBzdHJlYW1Qb2x5Z29uKG9iamVjdC5jb29yZGluYXRlcywgc3RyZWFt
KTsKKyAgfSwKKyAgTXVsdGlQb2x5Z29uOiBmdW5jdGlvbihvYmplY3QsIHN0cmVhbSkgeworICAg
IHZhciBjb29yZGluYXRlcyA9IG9iamVjdC5jb29yZGluYXRlcywgaSA9IC0xLCBuID0gY29vcmRp
bmF0ZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBzdHJlYW1Qb2x5Z29uKGNvb3JkaW5h
dGVzW2ldLCBzdHJlYW0pOworICB9LAorICBHZW9tZXRyeUNvbGxlY3Rpb246IGZ1bmN0aW9uKG9i
amVjdCwgc3RyZWFtKSB7CisgICAgdmFyIGdlb21ldHJpZXMgPSBvYmplY3QuZ2VvbWV0cmllcywg
aSA9IC0xLCBuID0gZ2VvbWV0cmllcy5sZW5ndGg7CisgICAgd2hpbGUgKCsraSA8IG4pIHN0cmVh
bUdlb21ldHJ5KGdlb21ldHJpZXNbaV0sIHN0cmVhbSk7CisgIH0KK307CisKK2Z1bmN0aW9uIHN0
cmVhbUxpbmUoY29vcmRpbmF0ZXMsIHN0cmVhbSwgY2xvc2VkKSB7CisgIHZhciBpID0gLTEsIG4g
PSBjb29yZGluYXRlcy5sZW5ndGggLSBjbG9zZWQsIGNvb3JkaW5hdGU7CisgIHN0cmVhbS5saW5l
U3RhcnQoKTsKKyAgd2hpbGUgKCsraSA8IG4pIGNvb3JkaW5hdGUgPSBjb29yZGluYXRlc1tpXSwg
c3RyZWFtLnBvaW50KGNvb3JkaW5hdGVbMF0sIGNvb3JkaW5hdGVbMV0sIGNvb3JkaW5hdGVbMl0p
OworICBzdHJlYW0ubGluZUVuZCgpOworfQorCitmdW5jdGlvbiBzdHJlYW1Qb2x5Z29uKGNvb3Jk
aW5hdGVzLCBzdHJlYW0pIHsKKyAgdmFyIGkgPSAtMSwgbiA9IGNvb3JkaW5hdGVzLmxlbmd0aDsK
KyAgc3RyZWFtLnBvbHlnb25TdGFydCgpOworICB3aGlsZSAoKytpIDwgbikgc3RyZWFtTGluZShj
b29yZGluYXRlc1tpXSwgc3RyZWFtLCAxKTsKKyAgc3RyZWFtLnBvbHlnb25FbmQoKTsKK30KKwor
ZnVuY3Rpb24gZ2VvU3RyZWFtKG9iamVjdCwgc3RyZWFtKSB7CisgIGlmIChvYmplY3QgJiYgc3Ry
ZWFtT2JqZWN0VHlwZS5oYXNPd25Qcm9wZXJ0eShvYmplY3QudHlwZSkpIHsKKyAgICBzdHJlYW1P
YmplY3RUeXBlW29iamVjdC50eXBlXShvYmplY3QsIHN0cmVhbSk7CisgIH0gZWxzZSB7CisgICAg
c3RyZWFtR2VvbWV0cnkob2JqZWN0LCBzdHJlYW0pOworICB9Cit9CisKK3ZhciBhcmVhUmluZ1N1
bSA9IGFkZGVyKCk7CisKK3ZhciBhcmVhU3VtID0gYWRkZXIoKSwKKyAgICBsYW1iZGEwMCwKKyAg
ICBwaGkwMCwKKyAgICBsYW1iZGEwLAorICAgIGNvc1BoaTAsCisgICAgc2luUGhpMDsKKwordmFy
IGFyZWFTdHJlYW0gPSB7CisgIHBvaW50OiBub29wJDIsCisgIGxpbmVTdGFydDogbm9vcCQyLAor
ICBsaW5lRW5kOiBub29wJDIsCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgYXJl
YVJpbmdTdW0ucmVzZXQoKTsKKyAgICBhcmVhU3RyZWFtLmxpbmVTdGFydCA9IGFyZWFSaW5nU3Rh
cnQ7CisgICAgYXJlYVN0cmVhbS5saW5lRW5kID0gYXJlYVJpbmdFbmQ7CisgIH0sCisgIHBvbHln
b25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIHZhciBhcmVhUmluZyA9ICthcmVhUmluZ1N1bTsKKyAg
ICBhcmVhU3VtLmFkZChhcmVhUmluZyA8IDAgPyB0YXUkMyArIGFyZWFSaW5nIDogYXJlYVJpbmcp
OworICAgIHRoaXMubGluZVN0YXJ0ID0gdGhpcy5saW5lRW5kID0gdGhpcy5wb2ludCA9IG5vb3Ak
MjsKKyAgfSwKKyAgc3BoZXJlOiBmdW5jdGlvbigpIHsKKyAgICBhcmVhU3VtLmFkZCh0YXUkMyk7
CisgIH0KK307CisKK2Z1bmN0aW9uIGFyZWFSaW5nU3RhcnQoKSB7CisgIGFyZWFTdHJlYW0ucG9p
bnQgPSBhcmVhUG9pbnRGaXJzdDsKK30KKworZnVuY3Rpb24gYXJlYVJpbmdFbmQoKSB7CisgIGFy
ZWFQb2ludChsYW1iZGEwMCwgcGhpMDApOworfQorCitmdW5jdGlvbiBhcmVhUG9pbnRGaXJzdChs
YW1iZGEsIHBoaSkgeworICBhcmVhU3RyZWFtLnBvaW50ID0gYXJlYVBvaW50OworICBsYW1iZGEw
MCA9IGxhbWJkYSwgcGhpMDAgPSBwaGk7CisgIGxhbWJkYSAqPSByYWRpYW5zLCBwaGkgKj0gcmFk
aWFuczsKKyAgbGFtYmRhMCA9IGxhbWJkYSwgY29zUGhpMCA9IGNvcyQxKHBoaSA9IHBoaSAvIDIg
KyBxdWFydGVyUGkpLCBzaW5QaGkwID0gc2luJDEocGhpKTsKK30KKworZnVuY3Rpb24gYXJlYVBv
aW50KGxhbWJkYSwgcGhpKSB7CisgIGxhbWJkYSAqPSByYWRpYW5zLCBwaGkgKj0gcmFkaWFuczsK
KyAgcGhpID0gcGhpIC8gMiArIHF1YXJ0ZXJQaTsgLy8gaGFsZiB0aGUgYW5ndWxhciBkaXN0YW5j
ZSBmcm9tIHNvdXRoIHBvbGUKKworICAvLyBTcGhlcmljYWwgZXhjZXNzIEUgZm9yIGEgc3BoZXJp
Y2FsIHRyaWFuZ2xlIHdpdGggdmVydGljZXM6IHNvdXRoIHBvbGUsCisgIC8vIHByZXZpb3VzIHBv
aW50LCBjdXJyZW50IHBvaW50LiAgVXNlcyBhIGZvcm11bGEgZGVyaXZlZCBmcm9tIENhZ25vbGni
gJlzCisgIC8vIHRoZW9yZW0uICBTZWUgVG9kaHVudGVyLCBTcGhlcmljYWwgVHJpZy4gKDE4NzEp
LCBTZWMuIDEwMywgRXEuICgyKS4KKyAgdmFyIGRMYW1iZGEgPSBsYW1iZGEgLSBsYW1iZGEwLAor
ICAgICAgc2RMYW1iZGEgPSBkTGFtYmRhID49IDAgPyAxIDogLTEsCisgICAgICBhZExhbWJkYSA9
IHNkTGFtYmRhICogZExhbWJkYSwKKyAgICAgIGNvc1BoaSA9IGNvcyQxKHBoaSksCisgICAgICBz
aW5QaGkgPSBzaW4kMShwaGkpLAorICAgICAgayA9IHNpblBoaTAgKiBzaW5QaGksCisgICAgICB1
ID0gY29zUGhpMCAqIGNvc1BoaSArIGsgKiBjb3MkMShhZExhbWJkYSksCisgICAgICB2ID0gayAq
IHNkTGFtYmRhICogc2luJDEoYWRMYW1iZGEpOworICBhcmVhUmluZ1N1bS5hZGQoYXRhbjIodiwg
dSkpOworCisgIC8vIEFkdmFuY2UgdGhlIHByZXZpb3VzIHBvaW50cy4KKyAgbGFtYmRhMCA9IGxh
bWJkYSwgY29zUGhpMCA9IGNvc1BoaSwgc2luUGhpMCA9IHNpblBoaTsKK30KKworZnVuY3Rpb24g
YXJlYSQxKG9iamVjdCkgeworICBhcmVhU3VtLnJlc2V0KCk7CisgIGdlb1N0cmVhbShvYmplY3Qs
IGFyZWFTdHJlYW0pOworICByZXR1cm4gYXJlYVN1bSAqIDI7Cit9CisKK2Z1bmN0aW9uIHNwaGVy
aWNhbChjYXJ0ZXNpYW4pIHsKKyAgcmV0dXJuIFthdGFuMihjYXJ0ZXNpYW5bMV0sIGNhcnRlc2lh
blswXSksIGFzaW4oY2FydGVzaWFuWzJdKV07Cit9CisKK2Z1bmN0aW9uIGNhcnRlc2lhbihzcGhl
cmljYWwpIHsKKyAgdmFyIGxhbWJkYSA9IHNwaGVyaWNhbFswXSwgcGhpID0gc3BoZXJpY2FsWzFd
LCBjb3NQaGkgPSBjb3MkMShwaGkpOworICByZXR1cm4gW2Nvc1BoaSAqIGNvcyQxKGxhbWJkYSks
IGNvc1BoaSAqIHNpbiQxKGxhbWJkYSksIHNpbiQxKHBoaSldOworfQorCitmdW5jdGlvbiBjYXJ0
ZXNpYW5Eb3QoYSwgYikgeworICByZXR1cm4gYVswXSAqIGJbMF0gKyBhWzFdICogYlsxXSArIGFb
Ml0gKiBiWzJdOworfQorCitmdW5jdGlvbiBjYXJ0ZXNpYW5Dcm9zcyhhLCBiKSB7CisgIHJldHVy
biBbYVsxXSAqIGJbMl0gLSBhWzJdICogYlsxXSwgYVsyXSAqIGJbMF0gLSBhWzBdICogYlsyXSwg
YVswXSAqIGJbMV0gLSBhWzFdICogYlswXV07Cit9CisKKy8vIFRPRE8gcmV0dXJuIGEKK2Z1bmN0
aW9uIGNhcnRlc2lhbkFkZEluUGxhY2UoYSwgYikgeworICBhWzBdICs9IGJbMF0sIGFbMV0gKz0g
YlsxXSwgYVsyXSArPSBiWzJdOworfQorCitmdW5jdGlvbiBjYXJ0ZXNpYW5TY2FsZSh2ZWN0b3Is
IGspIHsKKyAgcmV0dXJuIFt2ZWN0b3JbMF0gKiBrLCB2ZWN0b3JbMV0gKiBrLCB2ZWN0b3JbMl0g
KiBrXTsKK30KKworLy8gVE9ETyByZXR1cm4gZAorZnVuY3Rpb24gY2FydGVzaWFuTm9ybWFsaXpl
SW5QbGFjZShkKSB7CisgIHZhciBsID0gc3FydChkWzBdICogZFswXSArIGRbMV0gKiBkWzFdICsg
ZFsyXSAqIGRbMl0pOworICBkWzBdIC89IGwsIGRbMV0gLz0gbCwgZFsyXSAvPSBsOworfQorCit2
YXIgbGFtYmRhMCQxLCBwaGkwLCBsYW1iZGExLCBwaGkxLCAvLyBib3VuZHMKKyAgICBsYW1iZGEy
LCAvLyBwcmV2aW91cyBsYW1iZGEtY29vcmRpbmF0ZQorICAgIGxhbWJkYTAwJDEsIHBoaTAwJDEs
IC8vIGZpcnN0IHBvaW50CisgICAgcDAsIC8vIHByZXZpb3VzIDNEIHBvaW50CisgICAgZGVsdGFT
dW0gPSBhZGRlcigpLAorICAgIHJhbmdlcywKKyAgICByYW5nZTsKKwordmFyIGJvdW5kc1N0cmVh
bSA9IHsKKyAgcG9pbnQ6IGJvdW5kc1BvaW50LAorICBsaW5lU3RhcnQ6IGJvdW5kc0xpbmVTdGFy
dCwKKyAgbGluZUVuZDogYm91bmRzTGluZUVuZCwKKyAgcG9seWdvblN0YXJ0OiBmdW5jdGlvbigp
IHsKKyAgICBib3VuZHNTdHJlYW0ucG9pbnQgPSBib3VuZHNSaW5nUG9pbnQ7CisgICAgYm91bmRz
U3RyZWFtLmxpbmVTdGFydCA9IGJvdW5kc1JpbmdTdGFydDsKKyAgICBib3VuZHNTdHJlYW0ubGlu
ZUVuZCA9IGJvdW5kc1JpbmdFbmQ7CisgICAgZGVsdGFTdW0ucmVzZXQoKTsKKyAgICBhcmVhU3Ry
ZWFtLnBvbHlnb25TdGFydCgpOworICB9LAorICBwb2x5Z29uRW5kOiBmdW5jdGlvbigpIHsKKyAg
ICBhcmVhU3RyZWFtLnBvbHlnb25FbmQoKTsKKyAgICBib3VuZHNTdHJlYW0ucG9pbnQgPSBib3Vu
ZHNQb2ludDsKKyAgICBib3VuZHNTdHJlYW0ubGluZVN0YXJ0ID0gYm91bmRzTGluZVN0YXJ0Owor
ICAgIGJvdW5kc1N0cmVhbS5saW5lRW5kID0gYm91bmRzTGluZUVuZDsKKyAgICBpZiAoYXJlYVJp
bmdTdW0gPCAwKSBsYW1iZGEwJDEgPSAtKGxhbWJkYTEgPSAxODApLCBwaGkwID0gLShwaGkxID0g
OTApOworICAgIGVsc2UgaWYgKGRlbHRhU3VtID4gZXBzaWxvbiQyKSBwaGkxID0gOTA7CisgICAg
ZWxzZSBpZiAoZGVsdGFTdW0gPCAtZXBzaWxvbiQyKSBwaGkwID0gLTkwOworICAgIHJhbmdlWzBd
ID0gbGFtYmRhMCQxLCByYW5nZVsxXSA9IGxhbWJkYTE7CisgIH0sCisgIHNwaGVyZTogZnVuY3Rp
b24oKSB7CisgICAgbGFtYmRhMCQxID0gLShsYW1iZGExID0gMTgwKSwgcGhpMCA9IC0ocGhpMSA9
IDkwKTsKKyAgfQorfTsKKworZnVuY3Rpb24gYm91bmRzUG9pbnQobGFtYmRhLCBwaGkpIHsKKyAg
cmFuZ2VzLnB1c2gocmFuZ2UgPSBbbGFtYmRhMCQxID0gbGFtYmRhLCBsYW1iZGExID0gbGFtYmRh
XSk7CisgIGlmIChwaGkgPCBwaGkwKSBwaGkwID0gcGhpOworICBpZiAocGhpID4gcGhpMSkgcGhp
MSA9IHBoaTsKK30KKworZnVuY3Rpb24gbGluZVBvaW50KGxhbWJkYSwgcGhpKSB7CisgIHZhciBw
ID0gY2FydGVzaWFuKFtsYW1iZGEgKiByYWRpYW5zLCBwaGkgKiByYWRpYW5zXSk7CisgIGlmIChw
MCkgeworICAgIHZhciBub3JtYWwgPSBjYXJ0ZXNpYW5Dcm9zcyhwMCwgcCksCisgICAgICAgIGVx
dWF0b3JpYWwgPSBbbm9ybWFsWzFdLCAtbm9ybWFsWzBdLCAwXSwKKyAgICAgICAgaW5mbGVjdGlv
biA9IGNhcnRlc2lhbkNyb3NzKGVxdWF0b3JpYWwsIG5vcm1hbCk7CisgICAgY2FydGVzaWFuTm9y
bWFsaXplSW5QbGFjZShpbmZsZWN0aW9uKTsKKyAgICBpbmZsZWN0aW9uID0gc3BoZXJpY2FsKGlu
ZmxlY3Rpb24pOworICAgIHZhciBkZWx0YSA9IGxhbWJkYSAtIGxhbWJkYTIsCisgICAgICAgIHNp
Z24gPSBkZWx0YSA+IDAgPyAxIDogLTEsCisgICAgICAgIGxhbWJkYWkgPSBpbmZsZWN0aW9uWzBd
ICogZGVncmVlcyQxICogc2lnbiwKKyAgICAgICAgcGhpaSwKKyAgICAgICAgYW50aW1lcmlkaWFu
ID0gYWJzKGRlbHRhKSA+IDE4MDsKKyAgICBpZiAoYW50aW1lcmlkaWFuIF4gKHNpZ24gKiBsYW1i
ZGEyIDwgbGFtYmRhaSAmJiBsYW1iZGFpIDwgc2lnbiAqIGxhbWJkYSkpIHsKKyAgICAgIHBoaWkg
PSBpbmZsZWN0aW9uWzFdICogZGVncmVlcyQxOworICAgICAgaWYgKHBoaWkgPiBwaGkxKSBwaGkx
ID0gcGhpaTsKKyAgICB9IGVsc2UgaWYgKGxhbWJkYWkgPSAobGFtYmRhaSArIDM2MCkgJSAzNjAg
LSAxODAsIGFudGltZXJpZGlhbiBeIChzaWduICogbGFtYmRhMiA8IGxhbWJkYWkgJiYgbGFtYmRh
aSA8IHNpZ24gKiBsYW1iZGEpKSB7CisgICAgICBwaGlpID0gLWluZmxlY3Rpb25bMV0gKiBkZWdy
ZWVzJDE7CisgICAgICBpZiAocGhpaSA8IHBoaTApIHBoaTAgPSBwaGlpOworICAgIH0gZWxzZSB7
CisgICAgICBpZiAocGhpIDwgcGhpMCkgcGhpMCA9IHBoaTsKKyAgICAgIGlmIChwaGkgPiBwaGkx
KSBwaGkxID0gcGhpOworICAgIH0KKyAgICBpZiAoYW50aW1lcmlkaWFuKSB7CisgICAgICBpZiAo
bGFtYmRhIDwgbGFtYmRhMikgeworICAgICAgICBpZiAoYW5nbGUobGFtYmRhMCQxLCBsYW1iZGEp
ID4gYW5nbGUobGFtYmRhMCQxLCBsYW1iZGExKSkgbGFtYmRhMSA9IGxhbWJkYTsKKyAgICAgIH0g
ZWxzZSB7CisgICAgICAgIGlmIChhbmdsZShsYW1iZGEsIGxhbWJkYTEpID4gYW5nbGUobGFtYmRh
MCQxLCBsYW1iZGExKSkgbGFtYmRhMCQxID0gbGFtYmRhOworICAgICAgfQorICAgIH0gZWxzZSB7
CisgICAgICBpZiAobGFtYmRhMSA+PSBsYW1iZGEwJDEpIHsKKyAgICAgICAgaWYgKGxhbWJkYSA8
IGxhbWJkYTAkMSkgbGFtYmRhMCQxID0gbGFtYmRhOworICAgICAgICBpZiAobGFtYmRhID4gbGFt
YmRhMSkgbGFtYmRhMSA9IGxhbWJkYTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChsYW1i
ZGEgPiBsYW1iZGEyKSB7CisgICAgICAgICAgaWYgKGFuZ2xlKGxhbWJkYTAkMSwgbGFtYmRhKSA+
IGFuZ2xlKGxhbWJkYTAkMSwgbGFtYmRhMSkpIGxhbWJkYTEgPSBsYW1iZGE7CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgaWYgKGFuZ2xlKGxhbWJkYSwgbGFtYmRhMSkgPiBhbmdsZShsYW1i
ZGEwJDEsIGxhbWJkYTEpKSBsYW1iZGEwJDEgPSBsYW1iZGE7CisgICAgICAgIH0KKyAgICAgIH0K
KyAgICB9CisgIH0gZWxzZSB7CisgICAgcmFuZ2VzLnB1c2gocmFuZ2UgPSBbbGFtYmRhMCQxID0g
bGFtYmRhLCBsYW1iZGExID0gbGFtYmRhXSk7CisgIH0KKyAgaWYgKHBoaSA8IHBoaTApIHBoaTAg
PSBwaGk7CisgIGlmIChwaGkgPiBwaGkxKSBwaGkxID0gcGhpOworICBwMCA9IHAsIGxhbWJkYTIg
PSBsYW1iZGE7Cit9CisKK2Z1bmN0aW9uIGJvdW5kc0xpbmVTdGFydCgpIHsKKyAgYm91bmRzU3Ry
ZWFtLnBvaW50ID0gbGluZVBvaW50OworfQorCitmdW5jdGlvbiBib3VuZHNMaW5lRW5kKCkgewor
ICByYW5nZVswXSA9IGxhbWJkYTAkMSwgcmFuZ2VbMV0gPSBsYW1iZGExOworICBib3VuZHNTdHJl
YW0ucG9pbnQgPSBib3VuZHNQb2ludDsKKyAgcDAgPSBudWxsOworfQorCitmdW5jdGlvbiBib3Vu
ZHNSaW5nUG9pbnQobGFtYmRhLCBwaGkpIHsKKyAgaWYgKHAwKSB7CisgICAgdmFyIGRlbHRhID0g
bGFtYmRhIC0gbGFtYmRhMjsKKyAgICBkZWx0YVN1bS5hZGQoYWJzKGRlbHRhKSA+IDE4MCA/IGRl
bHRhICsgKGRlbHRhID4gMCA/IDM2MCA6IC0zNjApIDogZGVsdGEpOworICB9IGVsc2UgeworICAg
IGxhbWJkYTAwJDEgPSBsYW1iZGEsIHBoaTAwJDEgPSBwaGk7CisgIH0KKyAgYXJlYVN0cmVhbS5w
b2ludChsYW1iZGEsIHBoaSk7CisgIGxpbmVQb2ludChsYW1iZGEsIHBoaSk7Cit9CisKK2Z1bmN0
aW9uIGJvdW5kc1JpbmdTdGFydCgpIHsKKyAgYXJlYVN0cmVhbS5saW5lU3RhcnQoKTsKK30KKwor
ZnVuY3Rpb24gYm91bmRzUmluZ0VuZCgpIHsKKyAgYm91bmRzUmluZ1BvaW50KGxhbWJkYTAwJDEs
IHBoaTAwJDEpOworICBhcmVhU3RyZWFtLmxpbmVFbmQoKTsKKyAgaWYgKGFicyhkZWx0YVN1bSkg
PiBlcHNpbG9uJDIpIGxhbWJkYTAkMSA9IC0obGFtYmRhMSA9IDE4MCk7CisgIHJhbmdlWzBdID0g
bGFtYmRhMCQxLCByYW5nZVsxXSA9IGxhbWJkYTE7CisgIHAwID0gbnVsbDsKK30KKworLy8gRmlu
ZHMgdGhlIGxlZnQtcmlnaHQgZGlzdGFuY2UgYmV0d2VlbiB0d28gbG9uZ2l0dWRlcy4KKy8vIFRo
aXMgaXMgYWxtb3N0IHRoZSBzYW1lIGFzIChsYW1iZGExIC0gbGFtYmRhMCArIDM2MMKwKSAlIDM2
MMKwLCBleGNlcHQgdGhhdCB3ZSB3YW50CisvLyB0aGUgZGlzdGFuY2UgYmV0d2VlbiDCsTE4MMKw
IHRvIGJlIDM2MMKwLgorZnVuY3Rpb24gYW5nbGUobGFtYmRhMCwgbGFtYmRhMSkgeworICByZXR1
cm4gKGxhbWJkYTEgLT0gbGFtYmRhMCkgPCAwID8gbGFtYmRhMSArIDM2MCA6IGxhbWJkYTE7Cit9
CisKK2Z1bmN0aW9uIHJhbmdlQ29tcGFyZShhLCBiKSB7CisgIHJldHVybiBhWzBdIC0gYlswXTsK
K30KKworZnVuY3Rpb24gcmFuZ2VDb250YWlucyhyYW5nZSwgeCkgeworICByZXR1cm4gcmFuZ2Vb
MF0gPD0gcmFuZ2VbMV0gPyByYW5nZVswXSA8PSB4ICYmIHggPD0gcmFuZ2VbMV0gOiB4IDwgcmFu
Z2VbMF0gfHwgcmFuZ2VbMV0gPCB4OworfQorCitmdW5jdGlvbiBib3VuZHMoZmVhdHVyZSkgewor
ICB2YXIgaSwgbiwgYSwgYiwgbWVyZ2VkLCBkZWx0YU1heCwgZGVsdGE7CisKKyAgcGhpMSA9IGxh
bWJkYTEgPSAtKGxhbWJkYTAkMSA9IHBoaTAgPSBJbmZpbml0eSk7CisgIHJhbmdlcyA9IFtdOwor
ICBnZW9TdHJlYW0oZmVhdHVyZSwgYm91bmRzU3RyZWFtKTsKKworICAvLyBGaXJzdCwgc29ydCBy
YW5nZXMgYnkgdGhlaXIgbWluaW11bSBsb25naXR1ZGVzLgorICBpZiAobiA9IHJhbmdlcy5sZW5n
dGgpIHsKKyAgICByYW5nZXMuc29ydChyYW5nZUNvbXBhcmUpOworCisgICAgLy8gVGhlbiwgbWVy
Z2UgYW55IHJhbmdlcyB0aGF0IG92ZXJsYXAuCisgICAgZm9yIChpID0gMSwgYSA9IHJhbmdlc1sw
XSwgbWVyZ2VkID0gW2FdOyBpIDwgbjsgKytpKSB7CisgICAgICBiID0gcmFuZ2VzW2ldOworICAg
ICAgaWYgKHJhbmdlQ29udGFpbnMoYSwgYlswXSkgfHwgcmFuZ2VDb250YWlucyhhLCBiWzFdKSkg
eworICAgICAgICBpZiAoYW5nbGUoYVswXSwgYlsxXSkgPiBhbmdsZShhWzBdLCBhWzFdKSkgYVsx
XSA9IGJbMV07CisgICAgICAgIGlmIChhbmdsZShiWzBdLCBhWzFdKSA+IGFuZ2xlKGFbMF0sIGFb
MV0pKSBhWzBdID0gYlswXTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIG1lcmdlZC5wdXNoKGEg
PSBiKTsKKyAgICAgIH0KKyAgICB9CisKKyAgICAvLyBGaW5hbGx5LCBmaW5kIHRoZSBsYXJnZXN0
IGdhcCBiZXR3ZWVuIHRoZSBtZXJnZWQgcmFuZ2VzLgorICAgIC8vIFRoZSBmaW5hbCBib3VuZGlu
ZyBib3ggd2lsbCBiZSB0aGUgaW52ZXJzZSBvZiB0aGlzIGdhcC4KKyAgICBmb3IgKGRlbHRhTWF4
ID0gLUluZmluaXR5LCBuID0gbWVyZ2VkLmxlbmd0aCAtIDEsIGkgPSAwLCBhID0gbWVyZ2VkW25d
OyBpIDw9IG47IGEgPSBiLCArK2kpIHsKKyAgICAgIGIgPSBtZXJnZWRbaV07CisgICAgICBpZiAo
KGRlbHRhID0gYW5nbGUoYVsxXSwgYlswXSkpID4gZGVsdGFNYXgpIGRlbHRhTWF4ID0gZGVsdGEs
IGxhbWJkYTAkMSA9IGJbMF0sIGxhbWJkYTEgPSBhWzFdOworICAgIH0KKyAgfQorCisgIHJhbmdl
cyA9IHJhbmdlID0gbnVsbDsKKworICByZXR1cm4gbGFtYmRhMCQxID09PSBJbmZpbml0eSB8fCBw
aGkwID09PSBJbmZpbml0eQorICAgICAgPyBbW05hTiwgTmFOXSwgW05hTiwgTmFOXV0KKyAgICAg
IDogW1tsYW1iZGEwJDEsIHBoaTBdLCBbbGFtYmRhMSwgcGhpMV1dOworfQorCit2YXIgVzAsIFcx
LAorICAgIFgwLCBZMCwgWjAsCisgICAgWDEsIFkxLCBaMSwKKyAgICBYMiwgWTIsIFoyLAorICAg
IGxhbWJkYTAwJDIsIHBoaTAwJDIsIC8vIGZpcnN0IHBvaW50CisgICAgeDAsIHkwLCB6MDsgLy8g
cHJldmlvdXMgcG9pbnQKKwordmFyIGNlbnRyb2lkU3RyZWFtID0geworICBzcGhlcmU6IG5vb3Ak
MiwKKyAgcG9pbnQ6IGNlbnRyb2lkUG9pbnQsCisgIGxpbmVTdGFydDogY2VudHJvaWRMaW5lU3Rh
cnQsCisgIGxpbmVFbmQ6IGNlbnRyb2lkTGluZUVuZCwKKyAgcG9seWdvblN0YXJ0OiBmdW5jdGlv
bigpIHsKKyAgICBjZW50cm9pZFN0cmVhbS5saW5lU3RhcnQgPSBjZW50cm9pZFJpbmdTdGFydDsK
KyAgICBjZW50cm9pZFN0cmVhbS5saW5lRW5kID0gY2VudHJvaWRSaW5nRW5kOworICB9LAorICBw
b2x5Z29uRW5kOiBmdW5jdGlvbigpIHsKKyAgICBjZW50cm9pZFN0cmVhbS5saW5lU3RhcnQgPSBj
ZW50cm9pZExpbmVTdGFydDsKKyAgICBjZW50cm9pZFN0cmVhbS5saW5lRW5kID0gY2VudHJvaWRM
aW5lRW5kOworICB9Cit9OworCisvLyBBcml0aG1ldGljIG1lYW4gb2YgQ2FydGVzaWFuIHZlY3Rv
cnMuCitmdW5jdGlvbiBjZW50cm9pZFBvaW50KGxhbWJkYSwgcGhpKSB7CisgIGxhbWJkYSAqPSBy
YWRpYW5zLCBwaGkgKj0gcmFkaWFuczsKKyAgdmFyIGNvc1BoaSA9IGNvcyQxKHBoaSk7CisgIGNl
bnRyb2lkUG9pbnRDYXJ0ZXNpYW4oY29zUGhpICogY29zJDEobGFtYmRhKSwgY29zUGhpICogc2lu
JDEobGFtYmRhKSwgc2luJDEocGhpKSk7Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkUG9pbnRDYXJ0
ZXNpYW4oeCwgeSwgeikgeworICArK1cwOworICBYMCArPSAoeCAtIFgwKSAvIFcwOworICBZMCAr
PSAoeSAtIFkwKSAvIFcwOworICBaMCArPSAoeiAtIFowKSAvIFcwOworfQorCitmdW5jdGlvbiBj
ZW50cm9pZExpbmVTdGFydCgpIHsKKyAgY2VudHJvaWRTdHJlYW0ucG9pbnQgPSBjZW50cm9pZExp
bmVQb2ludEZpcnN0OworfQorCitmdW5jdGlvbiBjZW50cm9pZExpbmVQb2ludEZpcnN0KGxhbWJk
YSwgcGhpKSB7CisgIGxhbWJkYSAqPSByYWRpYW5zLCBwaGkgKj0gcmFkaWFuczsKKyAgdmFyIGNv
c1BoaSA9IGNvcyQxKHBoaSk7CisgIHgwID0gY29zUGhpICogY29zJDEobGFtYmRhKTsKKyAgeTAg
PSBjb3NQaGkgKiBzaW4kMShsYW1iZGEpOworICB6MCA9IHNpbiQxKHBoaSk7CisgIGNlbnRyb2lk
U3RyZWFtLnBvaW50ID0gY2VudHJvaWRMaW5lUG9pbnQ7CisgIGNlbnRyb2lkUG9pbnRDYXJ0ZXNp
YW4oeDAsIHkwLCB6MCk7Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkTGluZVBvaW50KGxhbWJkYSwg
cGhpKSB7CisgIGxhbWJkYSAqPSByYWRpYW5zLCBwaGkgKj0gcmFkaWFuczsKKyAgdmFyIGNvc1Bo
aSA9IGNvcyQxKHBoaSksCisgICAgICB4ID0gY29zUGhpICogY29zJDEobGFtYmRhKSwKKyAgICAg
IHkgPSBjb3NQaGkgKiBzaW4kMShsYW1iZGEpLAorICAgICAgeiA9IHNpbiQxKHBoaSksCisgICAg
ICB3ID0gYXRhbjIoc3FydCgodyA9IHkwICogeiAtIHowICogeSkgKiB3ICsgKHcgPSB6MCAqIHgg
LSB4MCAqIHopICogdyArICh3ID0geDAgKiB5IC0geTAgKiB4KSAqIHcpLCB4MCAqIHggKyB5MCAq
IHkgKyB6MCAqIHopOworICBXMSArPSB3OworICBYMSArPSB3ICogKHgwICsgKHgwID0geCkpOwor
ICBZMSArPSB3ICogKHkwICsgKHkwID0geSkpOworICBaMSArPSB3ICogKHowICsgKHowID0geikp
OworICBjZW50cm9pZFBvaW50Q2FydGVzaWFuKHgwLCB5MCwgejApOworfQorCitmdW5jdGlvbiBj
ZW50cm9pZExpbmVFbmQoKSB7CisgIGNlbnRyb2lkU3RyZWFtLnBvaW50ID0gY2VudHJvaWRQb2lu
dDsKK30KKworLy8gU2VlIEouIEUuIEJyb2NrLCBUaGUgSW5lcnRpYSBUZW5zb3IgZm9yIGEgU3Bo
ZXJpY2FsIFRyaWFuZ2xlLAorLy8gSi4gQXBwbGllZCBNZWNoYW5pY3MgNDIsIDIzOSAoMTk3NSku
CitmdW5jdGlvbiBjZW50cm9pZFJpbmdTdGFydCgpIHsKKyAgY2VudHJvaWRTdHJlYW0ucG9pbnQg
PSBjZW50cm9pZFJpbmdQb2ludEZpcnN0OworfQorCitmdW5jdGlvbiBjZW50cm9pZFJpbmdFbmQo
KSB7CisgIGNlbnRyb2lkUmluZ1BvaW50KGxhbWJkYTAwJDIsIHBoaTAwJDIpOworICBjZW50cm9p
ZFN0cmVhbS5wb2ludCA9IGNlbnRyb2lkUG9pbnQ7Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkUmlu
Z1BvaW50Rmlyc3QobGFtYmRhLCBwaGkpIHsKKyAgbGFtYmRhMDAkMiA9IGxhbWJkYSwgcGhpMDAk
MiA9IHBoaTsKKyAgbGFtYmRhICo9IHJhZGlhbnMsIHBoaSAqPSByYWRpYW5zOworICBjZW50cm9p
ZFN0cmVhbS5wb2ludCA9IGNlbnRyb2lkUmluZ1BvaW50OworICB2YXIgY29zUGhpID0gY29zJDEo
cGhpKTsKKyAgeDAgPSBjb3NQaGkgKiBjb3MkMShsYW1iZGEpOworICB5MCA9IGNvc1BoaSAqIHNp
biQxKGxhbWJkYSk7CisgIHowID0gc2luJDEocGhpKTsKKyAgY2VudHJvaWRQb2ludENhcnRlc2lh
bih4MCwgeTAsIHowKTsKK30KKworZnVuY3Rpb24gY2VudHJvaWRSaW5nUG9pbnQobGFtYmRhLCBw
aGkpIHsKKyAgbGFtYmRhICo9IHJhZGlhbnMsIHBoaSAqPSByYWRpYW5zOworICB2YXIgY29zUGhp
ID0gY29zJDEocGhpKSwKKyAgICAgIHggPSBjb3NQaGkgKiBjb3MkMShsYW1iZGEpLAorICAgICAg
eSA9IGNvc1BoaSAqIHNpbiQxKGxhbWJkYSksCisgICAgICB6ID0gc2luJDEocGhpKSwKKyAgICAg
IGN4ID0geTAgKiB6IC0gejAgKiB5LAorICAgICAgY3kgPSB6MCAqIHggLSB4MCAqIHosCisgICAg
ICBjeiA9IHgwICogeSAtIHkwICogeCwKKyAgICAgIG0gPSBzcXJ0KGN4ICogY3ggKyBjeSAqIGN5
ICsgY3ogKiBjeiksCisgICAgICB3ID0gYXNpbihtKSwgLy8gbGluZSB3ZWlnaHQgPSBhbmdsZQor
ICAgICAgdiA9IG0gJiYgLXcgLyBtOyAvLyBhcmVhIHdlaWdodCBtdWx0aXBsaWVyCisgIFgyICs9
IHYgKiBjeDsKKyAgWTIgKz0gdiAqIGN5OworICBaMiArPSB2ICogY3o7CisgIFcxICs9IHc7Cisg
IFgxICs9IHcgKiAoeDAgKyAoeDAgPSB4KSk7CisgIFkxICs9IHcgKiAoeTAgKyAoeTAgPSB5KSk7
CisgIFoxICs9IHcgKiAoejAgKyAoejAgPSB6KSk7CisgIGNlbnRyb2lkUG9pbnRDYXJ0ZXNpYW4o
eDAsIHkwLCB6MCk7Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkKG9iamVjdCkgeworICBXMCA9IFcx
ID0KKyAgWDAgPSBZMCA9IFowID0KKyAgWDEgPSBZMSA9IFoxID0KKyAgWDIgPSBZMiA9IFoyID0g
MDsKKyAgZ2VvU3RyZWFtKG9iamVjdCwgY2VudHJvaWRTdHJlYW0pOworCisgIHZhciB4ID0gWDIs
CisgICAgICB5ID0gWTIsCisgICAgICB6ID0gWjIsCisgICAgICBtID0geCAqIHggKyB5ICogeSAr
IHogKiB6OworCisgIC8vIElmIHRoZSBhcmVhLXdlaWdodGVkIGNjZW50cm9pZCBpcyB1bmRlZmlu
ZWQsIGZhbGwgYmFjayB0byBsZW5ndGgtd2VpZ2h0ZWQgY2NlbnRyb2lkLgorICBpZiAobSA8IGVw
c2lsb24yJDEpIHsKKyAgICB4ID0gWDEsIHkgPSBZMSwgeiA9IFoxOworICAgIC8vIElmIHRoZSBm
ZWF0dXJlIGhhcyB6ZXJvIGxlbmd0aCwgZmFsbCBiYWNrIHRvIGFyaXRobWV0aWMgbWVhbiBvZiBw
b2ludCB2ZWN0b3JzLgorICAgIGlmIChXMSA8IGVwc2lsb24kMikgeCA9IFgwLCB5ID0gWTAsIHog
PSBaMDsKKyAgICBtID0geCAqIHggKyB5ICogeSArIHogKiB6OworICAgIC8vIElmIHRoZSBmZWF0
dXJlIHN0aWxsIGhhcyBhbiB1bmRlZmluZWQgY2NlbnRyb2lkLCB0aGVuIHJldHVybi4KKyAgICBp
ZiAobSA8IGVwc2lsb24yJDEpIHJldHVybiBbTmFOLCBOYU5dOworICB9CisKKyAgcmV0dXJuIFth
dGFuMih5LCB4KSAqIGRlZ3JlZXMkMSwgYXNpbih6IC8gc3FydChtKSkgKiBkZWdyZWVzJDFdOwor
fQorCitmdW5jdGlvbiBjb25zdGFudCQ4KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAg
IHJldHVybiB4OworICB9OworfQorCitmdW5jdGlvbiBjb21wb3NlKGEsIGIpIHsKKworICBmdW5j
dGlvbiBjb21wb3NlKHgsIHkpIHsKKyAgICByZXR1cm4geCA9IGEoeCwgeSksIGIoeFswXSwgeFsx
XSk7CisgIH0KKworICBpZiAoYS5pbnZlcnQgJiYgYi5pbnZlcnQpIGNvbXBvc2UuaW52ZXJ0ID0g
ZnVuY3Rpb24oeCwgeSkgeworICAgIHJldHVybiB4ID0gYi5pbnZlcnQoeCwgeSksIHggJiYgYS5p
bnZlcnQoeFswXSwgeFsxXSk7CisgIH07CisKKyAgcmV0dXJuIGNvbXBvc2U7Cit9CisKK2Z1bmN0
aW9uIHJvdGF0aW9uSWRlbnRpdHkobGFtYmRhLCBwaGkpIHsKKyAgcmV0dXJuIFthYnMobGFtYmRh
KSA+IHBpJDMgPyBsYW1iZGEgKyBNYXRoLnJvdW5kKC1sYW1iZGEgLyB0YXUkMykgKiB0YXUkMyA6
IGxhbWJkYSwgcGhpXTsKK30KKworcm90YXRpb25JZGVudGl0eS5pbnZlcnQgPSByb3RhdGlvbklk
ZW50aXR5OworCitmdW5jdGlvbiByb3RhdGVSYWRpYW5zKGRlbHRhTGFtYmRhLCBkZWx0YVBoaSwg
ZGVsdGFHYW1tYSkgeworICByZXR1cm4gKGRlbHRhTGFtYmRhICU9IHRhdSQzKSA/IChkZWx0YVBo
aSB8fCBkZWx0YUdhbW1hID8gY29tcG9zZShyb3RhdGlvbkxhbWJkYShkZWx0YUxhbWJkYSksIHJv
dGF0aW9uUGhpR2FtbWEoZGVsdGFQaGksIGRlbHRhR2FtbWEpKQorICAgIDogcm90YXRpb25MYW1i
ZGEoZGVsdGFMYW1iZGEpKQorICAgIDogKGRlbHRhUGhpIHx8IGRlbHRhR2FtbWEgPyByb3RhdGlv
blBoaUdhbW1hKGRlbHRhUGhpLCBkZWx0YUdhbW1hKQorICAgIDogcm90YXRpb25JZGVudGl0eSk7
Cit9CisKK2Z1bmN0aW9uIGZvcndhcmRSb3RhdGlvbkxhbWJkYShkZWx0YUxhbWJkYSkgeworICBy
ZXR1cm4gZnVuY3Rpb24obGFtYmRhLCBwaGkpIHsKKyAgICByZXR1cm4gbGFtYmRhICs9IGRlbHRh
TGFtYmRhLCBbbGFtYmRhID4gcGkkMyA/IGxhbWJkYSAtIHRhdSQzIDogbGFtYmRhIDwgLXBpJDMg
PyBsYW1iZGEgKyB0YXUkMyA6IGxhbWJkYSwgcGhpXTsKKyAgfTsKK30KKworZnVuY3Rpb24gcm90
YXRpb25MYW1iZGEoZGVsdGFMYW1iZGEpIHsKKyAgdmFyIHJvdGF0aW9uID0gZm9yd2FyZFJvdGF0
aW9uTGFtYmRhKGRlbHRhTGFtYmRhKTsKKyAgcm90YXRpb24uaW52ZXJ0ID0gZm9yd2FyZFJvdGF0
aW9uTGFtYmRhKC1kZWx0YUxhbWJkYSk7CisgIHJldHVybiByb3RhdGlvbjsKK30KKworZnVuY3Rp
b24gcm90YXRpb25QaGlHYW1tYShkZWx0YVBoaSwgZGVsdGFHYW1tYSkgeworICB2YXIgY29zRGVs
dGFQaGkgPSBjb3MkMShkZWx0YVBoaSksCisgICAgICBzaW5EZWx0YVBoaSA9IHNpbiQxKGRlbHRh
UGhpKSwKKyAgICAgIGNvc0RlbHRhR2FtbWEgPSBjb3MkMShkZWx0YUdhbW1hKSwKKyAgICAgIHNp
bkRlbHRhR2FtbWEgPSBzaW4kMShkZWx0YUdhbW1hKTsKKworICBmdW5jdGlvbiByb3RhdGlvbihs
YW1iZGEsIHBoaSkgeworICAgIHZhciBjb3NQaGkgPSBjb3MkMShwaGkpLAorICAgICAgICB4ID0g
Y29zJDEobGFtYmRhKSAqIGNvc1BoaSwKKyAgICAgICAgeSA9IHNpbiQxKGxhbWJkYSkgKiBjb3NQ
aGksCisgICAgICAgIHogPSBzaW4kMShwaGkpLAorICAgICAgICBrID0geiAqIGNvc0RlbHRhUGhp
ICsgeCAqIHNpbkRlbHRhUGhpOworICAgIHJldHVybiBbCisgICAgICBhdGFuMih5ICogY29zRGVs
dGFHYW1tYSAtIGsgKiBzaW5EZWx0YUdhbW1hLCB4ICogY29zRGVsdGFQaGkgLSB6ICogc2luRGVs
dGFQaGkpLAorICAgICAgYXNpbihrICogY29zRGVsdGFHYW1tYSArIHkgKiBzaW5EZWx0YUdhbW1h
KQorICAgIF07CisgIH0KKworICByb3RhdGlvbi5pbnZlcnQgPSBmdW5jdGlvbihsYW1iZGEsIHBo
aSkgeworICAgIHZhciBjb3NQaGkgPSBjb3MkMShwaGkpLAorICAgICAgICB4ID0gY29zJDEobGFt
YmRhKSAqIGNvc1BoaSwKKyAgICAgICAgeSA9IHNpbiQxKGxhbWJkYSkgKiBjb3NQaGksCisgICAg
ICAgIHogPSBzaW4kMShwaGkpLAorICAgICAgICBrID0geiAqIGNvc0RlbHRhR2FtbWEgLSB5ICog
c2luRGVsdGFHYW1tYTsKKyAgICByZXR1cm4gWworICAgICAgYXRhbjIoeSAqIGNvc0RlbHRhR2Ft
bWEgKyB6ICogc2luRGVsdGFHYW1tYSwgeCAqIGNvc0RlbHRhUGhpICsgayAqIHNpbkRlbHRhUGhp
KSwKKyAgICAgIGFzaW4oayAqIGNvc0RlbHRhUGhpIC0geCAqIHNpbkRlbHRhUGhpKQorICAgIF07
CisgIH07CisKKyAgcmV0dXJuIHJvdGF0aW9uOworfQorCitmdW5jdGlvbiByb3RhdGlvbihyb3Rh
dGUpIHsKKyAgcm90YXRlID0gcm90YXRlUmFkaWFucyhyb3RhdGVbMF0gKiByYWRpYW5zLCByb3Rh
dGVbMV0gKiByYWRpYW5zLCByb3RhdGUubGVuZ3RoID4gMiA/IHJvdGF0ZVsyXSAqIHJhZGlhbnMg
OiAwKTsKKworICBmdW5jdGlvbiBmb3J3YXJkKGNvb3JkaW5hdGVzKSB7CisgICAgY29vcmRpbmF0
ZXMgPSByb3RhdGUoY29vcmRpbmF0ZXNbMF0gKiByYWRpYW5zLCBjb29yZGluYXRlc1sxXSAqIHJh
ZGlhbnMpOworICAgIHJldHVybiBjb29yZGluYXRlc1swXSAqPSBkZWdyZWVzJDEsIGNvb3JkaW5h
dGVzWzFdICo9IGRlZ3JlZXMkMSwgY29vcmRpbmF0ZXM7CisgIH0KKworICBmb3J3YXJkLmludmVy
dCA9IGZ1bmN0aW9uKGNvb3JkaW5hdGVzKSB7CisgICAgY29vcmRpbmF0ZXMgPSByb3RhdGUuaW52
ZXJ0KGNvb3JkaW5hdGVzWzBdICogcmFkaWFucywgY29vcmRpbmF0ZXNbMV0gKiByYWRpYW5zKTsK
KyAgICByZXR1cm4gY29vcmRpbmF0ZXNbMF0gKj0gZGVncmVlcyQxLCBjb29yZGluYXRlc1sxXSAq
PSBkZWdyZWVzJDEsIGNvb3JkaW5hdGVzOworICB9OworCisgIHJldHVybiBmb3J3YXJkOworfQor
CisvLyBHZW5lcmF0ZXMgYSBjaXJjbGUgY2VudGVyZWQgYXQgWzDCsCwgMMKwXSwgd2l0aCBhIGdp
dmVuIHJhZGl1cyBhbmQgcHJlY2lzaW9uLgorZnVuY3Rpb24gY2lyY2xlU3RyZWFtKHN0cmVhbSwg
cmFkaXVzLCBkZWx0YSwgZGlyZWN0aW9uLCB0MCwgdDEpIHsKKyAgaWYgKCFkZWx0YSkgcmV0dXJu
OworICB2YXIgY29zUmFkaXVzID0gY29zJDEocmFkaXVzKSwKKyAgICAgIHNpblJhZGl1cyA9IHNp
biQxKHJhZGl1cyksCisgICAgICBzdGVwID0gZGlyZWN0aW9uICogZGVsdGE7CisgIGlmICh0MCA9
PSBudWxsKSB7CisgICAgdDAgPSByYWRpdXMgKyBkaXJlY3Rpb24gKiB0YXUkMzsKKyAgICB0MSA9
IHJhZGl1cyAtIHN0ZXAgLyAyOworICB9IGVsc2UgeworICAgIHQwID0gY2lyY2xlUmFkaXVzKGNv
c1JhZGl1cywgdDApOworICAgIHQxID0gY2lyY2xlUmFkaXVzKGNvc1JhZGl1cywgdDEpOworICAg
IGlmIChkaXJlY3Rpb24gPiAwID8gdDAgPCB0MSA6IHQwID4gdDEpIHQwICs9IGRpcmVjdGlvbiAq
IHRhdSQzOworICB9CisgIGZvciAodmFyIHBvaW50LCB0ID0gdDA7IGRpcmVjdGlvbiA+IDAgPyB0
ID4gdDEgOiB0IDwgdDE7IHQgLT0gc3RlcCkgeworICAgIHBvaW50ID0gc3BoZXJpY2FsKFtjb3NS
YWRpdXMsIC1zaW5SYWRpdXMgKiBjb3MkMSh0KSwgLXNpblJhZGl1cyAqIHNpbiQxKHQpXSk7Cisg
ICAgc3RyZWFtLnBvaW50KHBvaW50WzBdLCBwb2ludFsxXSk7CisgIH0KK30KKworLy8gUmV0dXJu
cyB0aGUgc2lnbmVkIGFuZ2xlIG9mIGEgY2FydGVzaWFuIHBvaW50IHJlbGF0aXZlIHRvIFtjb3NS
YWRpdXMsIDAsIDBdLgorZnVuY3Rpb24gY2lyY2xlUmFkaXVzKGNvc1JhZGl1cywgcG9pbnQpIHsK
KyAgcG9pbnQgPSBjYXJ0ZXNpYW4ocG9pbnQpLCBwb2ludFswXSAtPSBjb3NSYWRpdXM7CisgIGNh
cnRlc2lhbk5vcm1hbGl6ZUluUGxhY2UocG9pbnQpOworICB2YXIgcmFkaXVzID0gYWNvcygtcG9p
bnRbMV0pOworICByZXR1cm4gKCgtcG9pbnRbMl0gPCAwID8gLXJhZGl1cyA6IHJhZGl1cykgKyB0
YXUkMyAtIGVwc2lsb24kMikgJSB0YXUkMzsKK30KKworZnVuY3Rpb24gY2lyY2xlKCkgeworICB2
YXIgY2VudGVyID0gY29uc3RhbnQkOChbMCwgMF0pLAorICAgICAgcmFkaXVzID0gY29uc3RhbnQk
OCg5MCksCisgICAgICBwcmVjaXNpb24gPSBjb25zdGFudCQ4KDYpLAorICAgICAgcmluZywKKyAg
ICAgIHJvdGF0ZSwKKyAgICAgIHN0cmVhbSA9IHtwb2ludDogcG9pbnR9OworCisgIGZ1bmN0aW9u
IHBvaW50KHgsIHkpIHsKKyAgICByaW5nLnB1c2goeCA9IHJvdGF0ZSh4LCB5KSk7CisgICAgeFsw
XSAqPSBkZWdyZWVzJDEsIHhbMV0gKj0gZGVncmVlcyQxOworICB9CisKKyAgZnVuY3Rpb24gY2ly
Y2xlKCkgeworICAgIHZhciBjID0gY2VudGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksCisgICAg
ICAgIHIgPSByYWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRzKSAqIHJhZGlhbnMsCisgICAgICAg
IHAgPSBwcmVjaXNpb24uYXBwbHkodGhpcywgYXJndW1lbnRzKSAqIHJhZGlhbnM7CisgICAgcmlu
ZyA9IFtdOworICAgIHJvdGF0ZSA9IHJvdGF0ZVJhZGlhbnMoLWNbMF0gKiByYWRpYW5zLCAtY1sx
XSAqIHJhZGlhbnMsIDApLmludmVydDsKKyAgICBjaXJjbGVTdHJlYW0oc3RyZWFtLCByLCBwLCAx
KTsKKyAgICBjID0ge3R5cGU6ICJQb2x5Z29uIiwgY29vcmRpbmF0ZXM6IFtyaW5nXX07CisgICAg
cmluZyA9IHJvdGF0ZSA9IG51bGw7CisgICAgcmV0dXJuIGM7CisgIH0KKworICBjaXJjbGUuY2Vu
dGVyID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGNlbnRl
ciA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDgoWytfWzBdLCArX1sx
XV0pLCBjaXJjbGUpIDogY2VudGVyOworICB9OworCisgIGNpcmNsZS5yYWRpdXMgPSBmdW5jdGlv
bihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocmFkaXVzID0gdHlwZW9mIF8g
PT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkOCgrXyksIGNpcmNsZSkgOiByYWRpdXM7Cisg
IH07CisKKyAgY2lyY2xlLnByZWNpc2lvbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJn
dW1lbnRzLmxlbmd0aCA/IChwcmVjaXNpb24gPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8g
OiBjb25zdGFudCQ4KCtfKSwgY2lyY2xlKSA6IHByZWNpc2lvbjsKKyAgfTsKKworICByZXR1cm4g
Y2lyY2xlOworfQorCitmdW5jdGlvbiBjbGlwQnVmZmVyKCkgeworICB2YXIgbGluZXMgPSBbXSwK
KyAgICAgIGxpbmU7CisgIHJldHVybiB7CisgICAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAg
ICAgIGxpbmUucHVzaChbeCwgeV0pOworICAgIH0sCisgICAgbGluZVN0YXJ0OiBmdW5jdGlvbigp
IHsKKyAgICAgIGxpbmVzLnB1c2gobGluZSA9IFtdKTsKKyAgICB9LAorICAgIGxpbmVFbmQ6IG5v
b3AkMiwKKyAgICByZWpvaW46IGZ1bmN0aW9uKCkgeworICAgICAgaWYgKGxpbmVzLmxlbmd0aCA+
IDEpIGxpbmVzLnB1c2gobGluZXMucG9wKCkuY29uY2F0KGxpbmVzLnNoaWZ0KCkpKTsKKyAgICB9
LAorICAgIHJlc3VsdDogZnVuY3Rpb24oKSB7CisgICAgICB2YXIgcmVzdWx0ID0gbGluZXM7Cisg
ICAgICBsaW5lcyA9IFtdOworICAgICAgbGluZSA9IG51bGw7CisgICAgICByZXR1cm4gcmVzdWx0
OworICAgIH0KKyAgfTsKK30KKworZnVuY3Rpb24gcG9pbnRFcXVhbChhLCBiKSB7CisgIHJldHVy
biBhYnMoYVswXSAtIGJbMF0pIDwgZXBzaWxvbiQyICYmIGFicyhhWzFdIC0gYlsxXSkgPCBlcHNp
bG9uJDI7Cit9CisKK2Z1bmN0aW9uIEludGVyc2VjdGlvbihwb2ludCwgcG9pbnRzLCBvdGhlciwg
ZW50cnkpIHsKKyAgdGhpcy54ID0gcG9pbnQ7CisgIHRoaXMueiA9IHBvaW50czsKKyAgdGhpcy5v
ID0gb3RoZXI7IC8vIGFub3RoZXIgaW50ZXJzZWN0aW9uCisgIHRoaXMuZSA9IGVudHJ5OyAvLyBp
cyBhbiBlbnRyeT8KKyAgdGhpcy52ID0gZmFsc2U7IC8vIHZpc2l0ZWQKKyAgdGhpcy5uID0gdGhp
cy5wID0gbnVsbDsgLy8gbmV4dCAmIHByZXZpb3VzCit9CisKKy8vIEEgZ2VuZXJhbGl6ZWQgcG9s
eWdvbiBjbGlwcGluZyBhbGdvcml0aG06IGdpdmVuIGEgcG9seWdvbiB0aGF0IGhhcyBiZWVuIGN1
dAorLy8gaW50byBpdHMgdmlzaWJsZSBsaW5lIHNlZ21lbnRzLCBhbmQgcmVqb2lucyB0aGUgc2Vn
bWVudHMgYnkgaW50ZXJwb2xhdGluZworLy8gYWxvbmcgdGhlIGNsaXAgZWRnZS4KK2Z1bmN0aW9u
IGNsaXBSZWpvaW4oc2VnbWVudHMsIGNvbXBhcmVJbnRlcnNlY3Rpb24sIHN0YXJ0SW5zaWRlLCBp
bnRlcnBvbGF0ZSwgc3RyZWFtKSB7CisgIHZhciBzdWJqZWN0ID0gW10sCisgICAgICBjbGlwID0g
W10sCisgICAgICBpLAorICAgICAgbjsKKworICBzZWdtZW50cy5mb3JFYWNoKGZ1bmN0aW9uKHNl
Z21lbnQpIHsKKyAgICBpZiAoKG4gPSBzZWdtZW50Lmxlbmd0aCAtIDEpIDw9IDApIHJldHVybjsK
KyAgICB2YXIgbiwgcDAgPSBzZWdtZW50WzBdLCBwMSA9IHNlZ21lbnRbbl0sIHg7CisKKyAgICAv
LyBJZiB0aGUgZmlyc3QgYW5kIGxhc3QgcG9pbnRzIG9mIGEgc2VnbWVudCBhcmUgY29pbmNpZGVu
dCwgdGhlbiB0cmVhdCBhcyBhCisgICAgLy8gY2xvc2VkIHJpbmcuIFRPRE8gaWYgYWxsIHJpbmdz
IGFyZSBjbG9zZWQsIHRoZW4gdGhlIHdpbmRpbmcgb3JkZXIgb2YgdGhlCisgICAgLy8gZXh0ZXJp
b3IgcmluZyBzaG91bGQgYmUgY2hlY2tlZC4KKyAgICBpZiAocG9pbnRFcXVhbChwMCwgcDEpKSB7
CisgICAgICBzdHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytp
KSBzdHJlYW0ucG9pbnQoKHAwID0gc2VnbWVudFtpXSlbMF0sIHAwWzFdKTsKKyAgICAgIHN0cmVh
bS5saW5lRW5kKCk7CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgc3ViamVjdC5wdXNoKHgg
PSBuZXcgSW50ZXJzZWN0aW9uKHAwLCBzZWdtZW50LCBudWxsLCB0cnVlKSk7CisgICAgY2xpcC5w
dXNoKHgubyA9IG5ldyBJbnRlcnNlY3Rpb24ocDAsIG51bGwsIHgsIGZhbHNlKSk7CisgICAgc3Vi
amVjdC5wdXNoKHggPSBuZXcgSW50ZXJzZWN0aW9uKHAxLCBzZWdtZW50LCBudWxsLCBmYWxzZSkp
OworICAgIGNsaXAucHVzaCh4Lm8gPSBuZXcgSW50ZXJzZWN0aW9uKHAxLCBudWxsLCB4LCB0cnVl
KSk7CisgIH0pOworCisgIGlmICghc3ViamVjdC5sZW5ndGgpIHJldHVybjsKKworICBjbGlwLnNv
cnQoY29tcGFyZUludGVyc2VjdGlvbik7CisgIGxpbmskMShzdWJqZWN0KTsKKyAgbGluayQxKGNs
aXApOworCisgIGZvciAoaSA9IDAsIG4gPSBjbGlwLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAg
IGNsaXBbaV0uZSA9IHN0YXJ0SW5zaWRlID0gIXN0YXJ0SW5zaWRlOworICB9CisKKyAgdmFyIHN0
YXJ0ID0gc3ViamVjdFswXSwKKyAgICAgIHBvaW50cywKKyAgICAgIHBvaW50OworCisgIHdoaWxl
ICgxKSB7CisgICAgLy8gRmluZCBmaXJzdCB1bnZpc2l0ZWQgaW50ZXJzZWN0aW9uLgorICAgIHZh
ciBjdXJyZW50ID0gc3RhcnQsCisgICAgICAgIGlzU3ViamVjdCA9IHRydWU7CisgICAgd2hpbGUg
KGN1cnJlbnQudikgaWYgKChjdXJyZW50ID0gY3VycmVudC5uKSA9PT0gc3RhcnQpIHJldHVybjsK
KyAgICBwb2ludHMgPSBjdXJyZW50Lno7CisgICAgc3RyZWFtLmxpbmVTdGFydCgpOworICAgIGRv
IHsKKyAgICAgIGN1cnJlbnQudiA9IGN1cnJlbnQuby52ID0gdHJ1ZTsKKyAgICAgIGlmIChjdXJy
ZW50LmUpIHsKKyAgICAgICAgaWYgKGlzU3ViamVjdCkgeworICAgICAgICAgIGZvciAoaSA9IDAs
IG4gPSBwb2ludHMubGVuZ3RoOyBpIDwgbjsgKytpKSBzdHJlYW0ucG9pbnQoKHBvaW50ID0gcG9p
bnRzW2ldKVswXSwgcG9pbnRbMV0pOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIGludGVy
cG9sYXRlKGN1cnJlbnQueCwgY3VycmVudC5uLngsIDEsIHN0cmVhbSk7CisgICAgICAgIH0KKyAg
ICAgICAgY3VycmVudCA9IGN1cnJlbnQubjsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChp
c1N1YmplY3QpIHsKKyAgICAgICAgICBwb2ludHMgPSBjdXJyZW50LnAuejsKKyAgICAgICAgICBm
b3IgKGkgPSBwb2ludHMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHN0cmVhbS5wb2ludCgocG9p
bnQgPSBwb2ludHNbaV0pWzBdLCBwb2ludFsxXSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgaW50ZXJwb2xhdGUoY3VycmVudC54LCBjdXJyZW50LnAueCwgLTEsIHN0cmVhbSk7CisgICAg
ICAgIH0KKyAgICAgICAgY3VycmVudCA9IGN1cnJlbnQucDsKKyAgICAgIH0KKyAgICAgIGN1cnJl
bnQgPSBjdXJyZW50Lm87CisgICAgICBwb2ludHMgPSBjdXJyZW50Lno7CisgICAgICBpc1N1Ympl
Y3QgPSAhaXNTdWJqZWN0OworICAgIH0gd2hpbGUgKCFjdXJyZW50LnYpOworICAgIHN0cmVhbS5s
aW5lRW5kKCk7CisgIH0KK30KKworZnVuY3Rpb24gbGluayQxKGFycmF5KSB7CisgIGlmICghKG4g
PSBhcnJheS5sZW5ndGgpKSByZXR1cm47CisgIHZhciBuLAorICAgICAgaSA9IDAsCisgICAgICBh
ID0gYXJyYXlbMF0sCisgICAgICBiOworICB3aGlsZSAoKytpIDwgbikgeworICAgIGEubiA9IGIg
PSBhcnJheVtpXTsKKyAgICBiLnAgPSBhOworICAgIGEgPSBiOworICB9CisgIGEubiA9IGIgPSBh
cnJheVswXTsKKyAgYi5wID0gYTsKK30KKwordmFyIHN1bSQxID0gYWRkZXIoKTsKKworZnVuY3Rp
b24gbG9uZ2l0dWRlKHBvaW50KSB7CisgIGlmIChhYnMocG9pbnRbMF0pIDw9IHBpJDMpCisgICAg
cmV0dXJuIHBvaW50WzBdOworICBlbHNlCisgICAgcmV0dXJuIHNpZ24ocG9pbnRbMF0pICogKChh
YnMocG9pbnRbMF0pICsgcGkkMykgJSB0YXUkMyAtIHBpJDMpOworfQorCitmdW5jdGlvbiBwb2x5
Z29uQ29udGFpbnMocG9seWdvbiwgcG9pbnQpIHsKKyAgdmFyIGxhbWJkYSA9IGxvbmdpdHVkZShw
b2ludCksCisgICAgICBwaGkgPSBwb2ludFsxXSwKKyAgICAgIHNpblBoaSA9IHNpbiQxKHBoaSks
CisgICAgICBub3JtYWwgPSBbc2luJDEobGFtYmRhKSwgLWNvcyQxKGxhbWJkYSksIDBdLAorICAg
ICAgYW5nbGUgPSAwLAorICAgICAgd2luZGluZyA9IDA7CisKKyAgc3VtJDEucmVzZXQoKTsKKwor
ICBpZiAoc2luUGhpID09PSAxKSBwaGkgPSBoYWxmUGkkMiArIGVwc2lsb24kMjsKKyAgZWxzZSBp
ZiAoc2luUGhpID09PSAtMSkgcGhpID0gLWhhbGZQaSQyIC0gZXBzaWxvbiQyOworCisgIGZvciAo
dmFyIGkgPSAwLCBuID0gcG9seWdvbi5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICBpZiAoISht
ID0gKHJpbmcgPSBwb2x5Z29uW2ldKS5sZW5ndGgpKSBjb250aW51ZTsKKyAgICB2YXIgcmluZywK
KyAgICAgICAgbSwKKyAgICAgICAgcG9pbnQwID0gcmluZ1ttIC0gMV0sCisgICAgICAgIGxhbWJk
YTAgPSBsb25naXR1ZGUocG9pbnQwKSwKKyAgICAgICAgcGhpMCA9IHBvaW50MFsxXSAvIDIgKyBx
dWFydGVyUGksCisgICAgICAgIHNpblBoaTAgPSBzaW4kMShwaGkwKSwKKyAgICAgICAgY29zUGhp
MCA9IGNvcyQxKHBoaTApOworCisgICAgZm9yICh2YXIgaiA9IDA7IGogPCBtOyArK2osIGxhbWJk
YTAgPSBsYW1iZGExLCBzaW5QaGkwID0gc2luUGhpMSwgY29zUGhpMCA9IGNvc1BoaTEsIHBvaW50
MCA9IHBvaW50MSkgeworICAgICAgdmFyIHBvaW50MSA9IHJpbmdbal0sCisgICAgICAgICAgbGFt
YmRhMSA9IGxvbmdpdHVkZShwb2ludDEpLAorICAgICAgICAgIHBoaTEgPSBwb2ludDFbMV0gLyAy
ICsgcXVhcnRlclBpLAorICAgICAgICAgIHNpblBoaTEgPSBzaW4kMShwaGkxKSwKKyAgICAgICAg
ICBjb3NQaGkxID0gY29zJDEocGhpMSksCisgICAgICAgICAgZGVsdGEgPSBsYW1iZGExIC0gbGFt
YmRhMCwKKyAgICAgICAgICBzaWduID0gZGVsdGEgPj0gMCA/IDEgOiAtMSwKKyAgICAgICAgICBh
YnNEZWx0YSA9IHNpZ24gKiBkZWx0YSwKKyAgICAgICAgICBhbnRpbWVyaWRpYW4gPSBhYnNEZWx0
YSA+IHBpJDMsCisgICAgICAgICAgayA9IHNpblBoaTAgKiBzaW5QaGkxOworCisgICAgICBzdW0k
MS5hZGQoYXRhbjIoayAqIHNpZ24gKiBzaW4kMShhYnNEZWx0YSksIGNvc1BoaTAgKiBjb3NQaGkx
ICsgayAqIGNvcyQxKGFic0RlbHRhKSkpOworICAgICAgYW5nbGUgKz0gYW50aW1lcmlkaWFuID8g
ZGVsdGEgKyBzaWduICogdGF1JDMgOiBkZWx0YTsKKworICAgICAgLy8gQXJlIHRoZSBsb25naXR1
ZGVzIGVpdGhlciBzaWRlIG9mIHRoZSBwb2ludOKAmXMgbWVyaWRpYW4gKGxhbWJkYSksCisgICAg
ICAvLyBhbmQgYXJlIHRoZSBsYXRpdHVkZXMgc21hbGxlciB0aGFuIHRoZSBwYXJhbGxlbCAocGhp
KT8KKyAgICAgIGlmIChhbnRpbWVyaWRpYW4gXiBsYW1iZGEwID49IGxhbWJkYSBeIGxhbWJkYTEg
Pj0gbGFtYmRhKSB7CisgICAgICAgIHZhciBhcmMgPSBjYXJ0ZXNpYW5Dcm9zcyhjYXJ0ZXNpYW4o
cG9pbnQwKSwgY2FydGVzaWFuKHBvaW50MSkpOworICAgICAgICBjYXJ0ZXNpYW5Ob3JtYWxpemVJ
blBsYWNlKGFyYyk7CisgICAgICAgIHZhciBpbnRlcnNlY3Rpb24gPSBjYXJ0ZXNpYW5Dcm9zcyhu
b3JtYWwsIGFyYyk7CisgICAgICAgIGNhcnRlc2lhbk5vcm1hbGl6ZUluUGxhY2UoaW50ZXJzZWN0
aW9uKTsKKyAgICAgICAgdmFyIHBoaUFyYyA9IChhbnRpbWVyaWRpYW4gXiBkZWx0YSA+PSAwID8g
LTEgOiAxKSAqIGFzaW4oaW50ZXJzZWN0aW9uWzJdKTsKKyAgICAgICAgaWYgKHBoaSA+IHBoaUFy
YyB8fCBwaGkgPT09IHBoaUFyYyAmJiAoYXJjWzBdIHx8IGFyY1sxXSkpIHsKKyAgICAgICAgICB3
aW5kaW5nICs9IGFudGltZXJpZGlhbiBeIGRlbHRhID49IDAgPyAxIDogLTE7CisgICAgICAgIH0K
KyAgICAgIH0KKyAgICB9CisgIH0KKworICAvLyBGaXJzdCwgZGV0ZXJtaW5lIHdoZXRoZXIgdGhl
IFNvdXRoIHBvbGUgaXMgaW5zaWRlIG9yIG91dHNpZGU6CisgIC8vCisgIC8vIEl0IGlzIGluc2lk
ZSBpZjoKKyAgLy8gKiB0aGUgcG9seWdvbiB3aW5kcyBhcm91bmQgaXQgaW4gYSBjbG9ja3dpc2Ug
ZGlyZWN0aW9uLgorICAvLyAqIHRoZSBwb2x5Z29uIGRvZXMgbm90IChjdW11bGF0aXZlbHkpIHdp
bmQgYXJvdW5kIGl0LCBidXQgaGFzIGEgbmVnYXRpdmUKKyAgLy8gICAoY291bnRlci1jbG9ja3dp
c2UpIGFyZWEuCisgIC8vCisgIC8vIFNlY29uZCwgY291bnQgdGhlIChzaWduZWQpIG51bWJlciBv
ZiB0aW1lcyBhIHNlZ21lbnQgY3Jvc3NlcyBhIGxhbWJkYQorICAvLyBmcm9tIHRoZSBwb2ludCB0
byB0aGUgU291dGggcG9sZS4gIElmIGl0IGlzIHplcm8sIHRoZW4gdGhlIHBvaW50IGlzIHRoZQor
ICAvLyBzYW1lIHNpZGUgYXMgdGhlIFNvdXRoIHBvbGUuCisKKyAgcmV0dXJuIChhbmdsZSA8IC1l
cHNpbG9uJDIgfHwgYW5nbGUgPCBlcHNpbG9uJDIgJiYgc3VtJDEgPCAtZXBzaWxvbiQyKSBeICh3
aW5kaW5nICYgMSk7Cit9CisKK2Z1bmN0aW9uIGNsaXAocG9pbnRWaXNpYmxlLCBjbGlwTGluZSwg
aW50ZXJwb2xhdGUsIHN0YXJ0KSB7CisgIHJldHVybiBmdW5jdGlvbihzaW5rKSB7CisgICAgdmFy
IGxpbmUgPSBjbGlwTGluZShzaW5rKSwKKyAgICAgICAgcmluZ0J1ZmZlciA9IGNsaXBCdWZmZXIo
KSwKKyAgICAgICAgcmluZ1NpbmsgPSBjbGlwTGluZShyaW5nQnVmZmVyKSwKKyAgICAgICAgcG9s
eWdvblN0YXJ0ZWQgPSBmYWxzZSwKKyAgICAgICAgcG9seWdvbiwKKyAgICAgICAgc2VnbWVudHMs
CisgICAgICAgIHJpbmc7CisKKyAgICB2YXIgY2xpcCA9IHsKKyAgICAgIHBvaW50OiBwb2ludCwK
KyAgICAgIGxpbmVTdGFydDogbGluZVN0YXJ0LAorICAgICAgbGluZUVuZDogbGluZUVuZCwKKyAg
ICAgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgICAgIGNsaXAucG9pbnQgPSBwb2lu
dFJpbmc7CisgICAgICAgIGNsaXAubGluZVN0YXJ0ID0gcmluZ1N0YXJ0OworICAgICAgICBjbGlw
LmxpbmVFbmQgPSByaW5nRW5kOworICAgICAgICBzZWdtZW50cyA9IFtdOworICAgICAgICBwb2x5
Z29uID0gW107CisgICAgICB9LAorICAgICAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7CisgICAg
ICAgIGNsaXAucG9pbnQgPSBwb2ludDsKKyAgICAgICAgY2xpcC5saW5lU3RhcnQgPSBsaW5lU3Rh
cnQ7CisgICAgICAgIGNsaXAubGluZUVuZCA9IGxpbmVFbmQ7CisgICAgICAgIHNlZ21lbnRzID0g
bWVyZ2Uoc2VnbWVudHMpOworICAgICAgICB2YXIgc3RhcnRJbnNpZGUgPSBwb2x5Z29uQ29udGFp
bnMocG9seWdvbiwgc3RhcnQpOworICAgICAgICBpZiAoc2VnbWVudHMubGVuZ3RoKSB7CisgICAg
ICAgICAgaWYgKCFwb2x5Z29uU3RhcnRlZCkgc2luay5wb2x5Z29uU3RhcnQoKSwgcG9seWdvblN0
YXJ0ZWQgPSB0cnVlOworICAgICAgICAgIGNsaXBSZWpvaW4oc2VnbWVudHMsIGNvbXBhcmVJbnRl
cnNlY3Rpb24sIHN0YXJ0SW5zaWRlLCBpbnRlcnBvbGF0ZSwgc2luayk7CisgICAgICAgIH0gZWxz
ZSBpZiAoc3RhcnRJbnNpZGUpIHsKKyAgICAgICAgICBpZiAoIXBvbHlnb25TdGFydGVkKSBzaW5r
LnBvbHlnb25TdGFydCgpLCBwb2x5Z29uU3RhcnRlZCA9IHRydWU7CisgICAgICAgICAgc2luay5s
aW5lU3RhcnQoKTsKKyAgICAgICAgICBpbnRlcnBvbGF0ZShudWxsLCBudWxsLCAxLCBzaW5rKTsK
KyAgICAgICAgICBzaW5rLmxpbmVFbmQoKTsKKyAgICAgICAgfQorICAgICAgICBpZiAocG9seWdv
blN0YXJ0ZWQpIHNpbmsucG9seWdvbkVuZCgpLCBwb2x5Z29uU3RhcnRlZCA9IGZhbHNlOworICAg
ICAgICBzZWdtZW50cyA9IHBvbHlnb24gPSBudWxsOworICAgICAgfSwKKyAgICAgIHNwaGVyZTog
ZnVuY3Rpb24oKSB7CisgICAgICAgIHNpbmsucG9seWdvblN0YXJ0KCk7CisgICAgICAgIHNpbmsu
bGluZVN0YXJ0KCk7CisgICAgICAgIGludGVycG9sYXRlKG51bGwsIG51bGwsIDEsIHNpbmspOwor
ICAgICAgICBzaW5rLmxpbmVFbmQoKTsKKyAgICAgICAgc2luay5wb2x5Z29uRW5kKCk7CisgICAg
ICB9CisgICAgfTsKKworICAgIGZ1bmN0aW9uIHBvaW50KGxhbWJkYSwgcGhpKSB7CisgICAgICBp
ZiAocG9pbnRWaXNpYmxlKGxhbWJkYSwgcGhpKSkgc2luay5wb2ludChsYW1iZGEsIHBoaSk7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gcG9pbnRMaW5lKGxhbWJkYSwgcGhpKSB7CisgICAgICBsaW5l
LnBvaW50KGxhbWJkYSwgcGhpKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsaW5lU3RhcnQoKSB7
CisgICAgICBjbGlwLnBvaW50ID0gcG9pbnRMaW5lOworICAgICAgbGluZS5saW5lU3RhcnQoKTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBsaW5lRW5kKCkgeworICAgICAgY2xpcC5wb2ludCA9IHBv
aW50OworICAgICAgbGluZS5saW5lRW5kKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcG9pbnRS
aW5nKGxhbWJkYSwgcGhpKSB7CisgICAgICByaW5nLnB1c2goW2xhbWJkYSwgcGhpXSk7CisgICAg
ICByaW5nU2luay5wb2ludChsYW1iZGEsIHBoaSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcmlu
Z1N0YXJ0KCkgeworICAgICAgcmluZ1NpbmsubGluZVN0YXJ0KCk7CisgICAgICByaW5nID0gW107
CisgICAgfQorCisgICAgZnVuY3Rpb24gcmluZ0VuZCgpIHsKKyAgICAgIHBvaW50UmluZyhyaW5n
WzBdWzBdLCByaW5nWzBdWzFdKTsKKyAgICAgIHJpbmdTaW5rLmxpbmVFbmQoKTsKKworICAgICAg
dmFyIGNsZWFuID0gcmluZ1NpbmsuY2xlYW4oKSwKKyAgICAgICAgICByaW5nU2VnbWVudHMgPSBy
aW5nQnVmZmVyLnJlc3VsdCgpLAorICAgICAgICAgIGksIG4gPSByaW5nU2VnbWVudHMubGVuZ3Ro
LCBtLAorICAgICAgICAgIHNlZ21lbnQsCisgICAgICAgICAgcG9pbnQ7CisKKyAgICAgIHJpbmcu
cG9wKCk7CisgICAgICBwb2x5Z29uLnB1c2gocmluZyk7CisgICAgICByaW5nID0gbnVsbDsKKwor
ICAgICAgaWYgKCFuKSByZXR1cm47CisKKyAgICAgIC8vIE5vIGludGVyc2VjdGlvbnMuCisgICAg
ICBpZiAoY2xlYW4gJiAxKSB7CisgICAgICAgIHNlZ21lbnQgPSByaW5nU2VnbWVudHNbMF07Cisg
ICAgICAgIGlmICgobSA9IHNlZ21lbnQubGVuZ3RoIC0gMSkgPiAwKSB7CisgICAgICAgICAgaWYg
KCFwb2x5Z29uU3RhcnRlZCkgc2luay5wb2x5Z29uU3RhcnQoKSwgcG9seWdvblN0YXJ0ZWQgPSB0
cnVlOworICAgICAgICAgIHNpbmsubGluZVN0YXJ0KCk7CisgICAgICAgICAgZm9yIChpID0gMDsg
aSA8IG07ICsraSkgc2luay5wb2ludCgocG9pbnQgPSBzZWdtZW50W2ldKVswXSwgcG9pbnRbMV0p
OworICAgICAgICAgIHNpbmsubGluZUVuZCgpOworICAgICAgICB9CisgICAgICAgIHJldHVybjsK
KyAgICAgIH0KKworICAgICAgLy8gUmVqb2luIGNvbm5lY3RlZCBzZWdtZW50cy4KKyAgICAgIC8v
IFRPRE8gcmV1c2UgcmluZ0J1ZmZlci5yZWpvaW4oKT8KKyAgICAgIGlmIChuID4gMSAmJiBjbGVh
biAmIDIpIHJpbmdTZWdtZW50cy5wdXNoKHJpbmdTZWdtZW50cy5wb3AoKS5jb25jYXQocmluZ1Nl
Z21lbnRzLnNoaWZ0KCkpKTsKKworICAgICAgc2VnbWVudHMucHVzaChyaW5nU2VnbWVudHMuZmls
dGVyKHZhbGlkU2VnbWVudCkpOworICAgIH0KKworICAgIHJldHVybiBjbGlwOworICB9OworfQor
CitmdW5jdGlvbiB2YWxpZFNlZ21lbnQoc2VnbWVudCkgeworICByZXR1cm4gc2VnbWVudC5sZW5n
dGggPiAxOworfQorCisvLyBJbnRlcnNlY3Rpb25zIGFyZSBzb3J0ZWQgYWxvbmcgdGhlIGNsaXAg
ZWRnZS4gRm9yIGJvdGggYW50aW1lcmlkaWFuIGN1dHRpbmcKKy8vIGFuZCBjaXJjbGUgY2xpcHBp
bmcsIHRoZSBzYW1lIGNvbXBhcmlzb24gaXMgdXNlZC4KK2Z1bmN0aW9uIGNvbXBhcmVJbnRlcnNl
Y3Rpb24oYSwgYikgeworICByZXR1cm4gKChhID0gYS54KVswXSA8IDAgPyBhWzFdIC0gaGFsZlBp
JDIgLSBlcHNpbG9uJDIgOiBoYWxmUGkkMiAtIGFbMV0pCisgICAgICAgLSAoKGIgPSBiLngpWzBd
IDwgMCA/IGJbMV0gLSBoYWxmUGkkMiAtIGVwc2lsb24kMiA6IGhhbGZQaSQyIC0gYlsxXSk7Cit9
CisKK3ZhciBjbGlwQW50aW1lcmlkaWFuID0gY2xpcCgKKyAgZnVuY3Rpb24oKSB7IHJldHVybiB0
cnVlOyB9LAorICBjbGlwQW50aW1lcmlkaWFuTGluZSwKKyAgY2xpcEFudGltZXJpZGlhbkludGVy
cG9sYXRlLAorICBbLXBpJDMsIC1oYWxmUGkkMl0KKyk7CisKKy8vIFRha2VzIGEgbGluZSBhbmQg
Y3V0cyBpbnRvIHZpc2libGUgc2VnbWVudHMuIFJldHVybiB2YWx1ZXM6IDAgLSB0aGVyZSB3ZXJl
CisvLyBpbnRlcnNlY3Rpb25zIG9yIHRoZSBsaW5lIHdhcyBlbXB0eTsgMSAtIG5vIGludGVyc2Vj
dGlvbnM7IDIgLSB0aGVyZSB3ZXJlCisvLyBpbnRlcnNlY3Rpb25zLCBhbmQgdGhlIGZpcnN0IGFu
ZCBsYXN0IHNlZ21lbnRzIHNob3VsZCBiZSByZWpvaW5lZC4KK2Z1bmN0aW9uIGNsaXBBbnRpbWVy
aWRpYW5MaW5lKHN0cmVhbSkgeworICB2YXIgbGFtYmRhMCA9IE5hTiwKKyAgICAgIHBoaTAgPSBO
YU4sCisgICAgICBzaWduMCA9IE5hTiwKKyAgICAgIGNsZWFuOyAvLyBubyBpbnRlcnNlY3Rpb25z
CisKKyAgcmV0dXJuIHsKKyAgICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgICAgc3RyZWFt
LmxpbmVTdGFydCgpOworICAgICAgY2xlYW4gPSAxOworICAgIH0sCisgICAgcG9pbnQ6IGZ1bmN0
aW9uKGxhbWJkYTEsIHBoaTEpIHsKKyAgICAgIHZhciBzaWduMSA9IGxhbWJkYTEgPiAwID8gcGkk
MyA6IC1waSQzLAorICAgICAgICAgIGRlbHRhID0gYWJzKGxhbWJkYTEgLSBsYW1iZGEwKTsKKyAg
ICAgIGlmIChhYnMoZGVsdGEgLSBwaSQzKSA8IGVwc2lsb24kMikgeyAvLyBsaW5lIGNyb3NzZXMg
YSBwb2xlCisgICAgICAgIHN0cmVhbS5wb2ludChsYW1iZGEwLCBwaGkwID0gKHBoaTAgKyBwaGkx
KSAvIDIgPiAwID8gaGFsZlBpJDIgOiAtaGFsZlBpJDIpOworICAgICAgICBzdHJlYW0ucG9pbnQo
c2lnbjAsIHBoaTApOworICAgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAgICAgICBzdHJlYW0u
bGluZVN0YXJ0KCk7CisgICAgICAgIHN0cmVhbS5wb2ludChzaWduMSwgcGhpMCk7CisgICAgICAg
IHN0cmVhbS5wb2ludChsYW1iZGExLCBwaGkwKTsKKyAgICAgICAgY2xlYW4gPSAwOworICAgICAg
fSBlbHNlIGlmIChzaWduMCAhPT0gc2lnbjEgJiYgZGVsdGEgPj0gcGkkMykgeyAvLyBsaW5lIGNy
b3NzZXMgYW50aW1lcmlkaWFuCisgICAgICAgIGlmIChhYnMobGFtYmRhMCAtIHNpZ24wKSA8IGVw
c2lsb24kMikgbGFtYmRhMCAtPSBzaWduMCAqIGVwc2lsb24kMjsgLy8gaGFuZGxlIGRlZ2VuZXJh
Y2llcworICAgICAgICBpZiAoYWJzKGxhbWJkYTEgLSBzaWduMSkgPCBlcHNpbG9uJDIpIGxhbWJk
YTEgLT0gc2lnbjEgKiBlcHNpbG9uJDI7CisgICAgICAgIHBoaTAgPSBjbGlwQW50aW1lcmlkaWFu
SW50ZXJzZWN0KGxhbWJkYTAsIHBoaTAsIGxhbWJkYTEsIHBoaTEpOworICAgICAgICBzdHJlYW0u
cG9pbnQoc2lnbjAsIHBoaTApOworICAgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAgICAgICBz
dHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICAgIHN0cmVhbS5wb2ludChzaWduMSwgcGhpMCk7Cisg
ICAgICAgIGNsZWFuID0gMDsKKyAgICAgIH0KKyAgICAgIHN0cmVhbS5wb2ludChsYW1iZGEwID0g
bGFtYmRhMSwgcGhpMCA9IHBoaTEpOworICAgICAgc2lnbjAgPSBzaWduMTsKKyAgICB9LAorICAg
IGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgICAgc3RyZWFtLmxpbmVFbmQoKTsKKyAgICAgIGxh
bWJkYTAgPSBwaGkwID0gTmFOOworICAgIH0sCisgICAgY2xlYW46IGZ1bmN0aW9uKCkgeworICAg
ICAgcmV0dXJuIDIgLSBjbGVhbjsgLy8gaWYgaW50ZXJzZWN0aW9ucywgcmVqb2luIGZpcnN0IGFu
ZCBsYXN0IHNlZ21lbnRzCisgICAgfQorICB9OworfQorCitmdW5jdGlvbiBjbGlwQW50aW1lcmlk
aWFuSW50ZXJzZWN0KGxhbWJkYTAsIHBoaTAsIGxhbWJkYTEsIHBoaTEpIHsKKyAgdmFyIGNvc1Bo
aTAsCisgICAgICBjb3NQaGkxLAorICAgICAgc2luTGFtYmRhMExhbWJkYTEgPSBzaW4kMShsYW1i
ZGEwIC0gbGFtYmRhMSk7CisgIHJldHVybiBhYnMoc2luTGFtYmRhMExhbWJkYTEpID4gZXBzaWxv
biQyCisgICAgICA/IGF0YW4oKHNpbiQxKHBoaTApICogKGNvc1BoaTEgPSBjb3MkMShwaGkxKSkg
KiBzaW4kMShsYW1iZGExKQorICAgICAgICAgIC0gc2luJDEocGhpMSkgKiAoY29zUGhpMCA9IGNv
cyQxKHBoaTApKSAqIHNpbiQxKGxhbWJkYTApKQorICAgICAgICAgIC8gKGNvc1BoaTAgKiBjb3NQ
aGkxICogc2luTGFtYmRhMExhbWJkYTEpKQorICAgICAgOiAocGhpMCArIHBoaTEpIC8gMjsKK30K
KworZnVuY3Rpb24gY2xpcEFudGltZXJpZGlhbkludGVycG9sYXRlKGZyb20sIHRvLCBkaXJlY3Rp
b24sIHN0cmVhbSkgeworICB2YXIgcGhpOworICBpZiAoZnJvbSA9PSBudWxsKSB7CisgICAgcGhp
ID0gZGlyZWN0aW9uICogaGFsZlBpJDI7CisgICAgc3RyZWFtLnBvaW50KC1waSQzLCBwaGkpOwor
ICAgIHN0cmVhbS5wb2ludCgwLCBwaGkpOworICAgIHN0cmVhbS5wb2ludChwaSQzLCBwaGkpOwor
ICAgIHN0cmVhbS5wb2ludChwaSQzLCAwKTsKKyAgICBzdHJlYW0ucG9pbnQocGkkMywgLXBoaSk7
CisgICAgc3RyZWFtLnBvaW50KDAsIC1waGkpOworICAgIHN0cmVhbS5wb2ludCgtcGkkMywgLXBo
aSk7CisgICAgc3RyZWFtLnBvaW50KC1waSQzLCAwKTsKKyAgICBzdHJlYW0ucG9pbnQoLXBpJDMs
IHBoaSk7CisgIH0gZWxzZSBpZiAoYWJzKGZyb21bMF0gLSB0b1swXSkgPiBlcHNpbG9uJDIpIHsK
KyAgICB2YXIgbGFtYmRhID0gZnJvbVswXSA8IHRvWzBdID8gcGkkMyA6IC1waSQzOworICAgIHBo
aSA9IGRpcmVjdGlvbiAqIGxhbWJkYSAvIDI7CisgICAgc3RyZWFtLnBvaW50KC1sYW1iZGEsIHBo
aSk7CisgICAgc3RyZWFtLnBvaW50KDAsIHBoaSk7CisgICAgc3RyZWFtLnBvaW50KGxhbWJkYSwg
cGhpKTsKKyAgfSBlbHNlIHsKKyAgICBzdHJlYW0ucG9pbnQodG9bMF0sIHRvWzFdKTsKKyAgfQor
fQorCitmdW5jdGlvbiBjbGlwQ2lyY2xlKHJhZGl1cykgeworICB2YXIgY3IgPSBjb3MkMShyYWRp
dXMpLAorICAgICAgZGVsdGEgPSA2ICogcmFkaWFucywKKyAgICAgIHNtYWxsUmFkaXVzID0gY3Ig
PiAwLAorICAgICAgbm90SGVtaXNwaGVyZSA9IGFicyhjcikgPiBlcHNpbG9uJDI7IC8vIFRPRE8g
b3B0aW1pc2UgZm9yIHRoaXMgY29tbW9uIGNhc2UKKworICBmdW5jdGlvbiBpbnRlcnBvbGF0ZShm
cm9tLCB0bywgZGlyZWN0aW9uLCBzdHJlYW0pIHsKKyAgICBjaXJjbGVTdHJlYW0oc3RyZWFtLCBy
YWRpdXMsIGRlbHRhLCBkaXJlY3Rpb24sIGZyb20sIHRvKTsKKyAgfQorCisgIGZ1bmN0aW9uIHZp
c2libGUobGFtYmRhLCBwaGkpIHsKKyAgICByZXR1cm4gY29zJDEobGFtYmRhKSAqIGNvcyQxKHBo
aSkgPiBjcjsKKyAgfQorCisgIC8vIFRha2VzIGEgbGluZSBhbmQgY3V0cyBpbnRvIHZpc2libGUg
c2VnbWVudHMuIFJldHVybiB2YWx1ZXMgdXNlZCBmb3IgcG9seWdvbgorICAvLyBjbGlwcGluZzog
MCAtIHRoZXJlIHdlcmUgaW50ZXJzZWN0aW9ucyBvciB0aGUgbGluZSB3YXMgZW1wdHk7IDEgLSBu
bworICAvLyBpbnRlcnNlY3Rpb25zIDIgLSB0aGVyZSB3ZXJlIGludGVyc2VjdGlvbnMsIGFuZCB0
aGUgZmlyc3QgYW5kIGxhc3Qgc2VnbWVudHMKKyAgLy8gc2hvdWxkIGJlIHJlam9pbmVkLgorICBm
dW5jdGlvbiBjbGlwTGluZShzdHJlYW0pIHsKKyAgICB2YXIgcG9pbnQwLCAvLyBwcmV2aW91cyBw
b2ludAorICAgICAgICBjMCwgLy8gY29kZSBmb3IgcHJldmlvdXMgcG9pbnQKKyAgICAgICAgdjAs
IC8vIHZpc2liaWxpdHkgb2YgcHJldmlvdXMgcG9pbnQKKyAgICAgICAgdjAwLCAvLyB2aXNpYmls
aXR5IG9mIGZpcnN0IHBvaW50CisgICAgICAgIGNsZWFuOyAvLyBubyBpbnRlcnNlY3Rpb25zCisg
ICAgcmV0dXJuIHsKKyAgICAgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgICAgIHYwMCA9
IHYwID0gZmFsc2U7CisgICAgICAgIGNsZWFuID0gMTsKKyAgICAgIH0sCisgICAgICBwb2ludDog
ZnVuY3Rpb24obGFtYmRhLCBwaGkpIHsKKyAgICAgICAgdmFyIHBvaW50MSA9IFtsYW1iZGEsIHBo
aV0sCisgICAgICAgICAgICBwb2ludDIsCisgICAgICAgICAgICB2ID0gdmlzaWJsZShsYW1iZGEs
IHBoaSksCisgICAgICAgICAgICBjID0gc21hbGxSYWRpdXMKKyAgICAgICAgICAgICAgPyB2ID8g
MCA6IGNvZGUobGFtYmRhLCBwaGkpCisgICAgICAgICAgICAgIDogdiA/IGNvZGUobGFtYmRhICsg
KGxhbWJkYSA8IDAgPyBwaSQzIDogLXBpJDMpLCBwaGkpIDogMDsKKyAgICAgICAgaWYgKCFwb2lu
dDAgJiYgKHYwMCA9IHYwID0gdikpIHN0cmVhbS5saW5lU3RhcnQoKTsKKyAgICAgICAgLy8gSGFu
ZGxlIGRlZ2VuZXJhY2llcy4KKyAgICAgICAgLy8gVE9ETyBpZ25vcmUgaWYgbm90IGNsaXBwaW5n
IHBvbHlnb25zLgorICAgICAgICBpZiAodiAhPT0gdjApIHsKKyAgICAgICAgICBwb2ludDIgPSBp
bnRlcnNlY3QocG9pbnQwLCBwb2ludDEpOworICAgICAgICAgIGlmICghcG9pbnQyIHx8IHBvaW50
RXF1YWwocG9pbnQwLCBwb2ludDIpIHx8IHBvaW50RXF1YWwocG9pbnQxLCBwb2ludDIpKSB7Cisg
ICAgICAgICAgICBwb2ludDFbMF0gKz0gZXBzaWxvbiQyOworICAgICAgICAgICAgcG9pbnQxWzFd
ICs9IGVwc2lsb24kMjsKKyAgICAgICAgICAgIHYgPSB2aXNpYmxlKHBvaW50MVswXSwgcG9pbnQx
WzFdKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKHYgIT09IHYwKSB7Cisg
ICAgICAgICAgY2xlYW4gPSAwOworICAgICAgICAgIGlmICh2KSB7CisgICAgICAgICAgICAvLyBv
dXRzaWRlIGdvaW5nIGluCisgICAgICAgICAgICBzdHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICAg
ICAgICBwb2ludDIgPSBpbnRlcnNlY3QocG9pbnQxLCBwb2ludDApOworICAgICAgICAgICAgc3Ry
ZWFtLnBvaW50KHBvaW50MlswXSwgcG9pbnQyWzFdKTsKKyAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgLy8gaW5zaWRlIGdvaW5nIG91dAorICAgICAgICAgICAgcG9pbnQyID0gaW50ZXJz
ZWN0KHBvaW50MCwgcG9pbnQxKTsKKyAgICAgICAgICAgIHN0cmVhbS5wb2ludChwb2ludDJbMF0s
IHBvaW50MlsxXSk7CisgICAgICAgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAgICAgICAgIH0K
KyAgICAgICAgICBwb2ludDAgPSBwb2ludDI7CisgICAgICAgIH0gZWxzZSBpZiAobm90SGVtaXNw
aGVyZSAmJiBwb2ludDAgJiYgc21hbGxSYWRpdXMgXiB2KSB7CisgICAgICAgICAgdmFyIHQ7Cisg
ICAgICAgICAgLy8gSWYgdGhlIGNvZGVzIGZvciB0d28gcG9pbnRzIGFyZSBkaWZmZXJlbnQsIG9y
IGFyZSBib3RoIHplcm8sCisgICAgICAgICAgLy8gYW5kIHRoZXJlIHRoaXMgc2VnbWVudCBpbnRl
cnNlY3RzIHdpdGggdGhlIHNtYWxsIGNpcmNsZS4KKyAgICAgICAgICBpZiAoIShjICYgYzApICYm
ICh0ID0gaW50ZXJzZWN0KHBvaW50MSwgcG9pbnQwLCB0cnVlKSkpIHsKKyAgICAgICAgICAgIGNs
ZWFuID0gMDsKKyAgICAgICAgICAgIGlmIChzbWFsbFJhZGl1cykgeworICAgICAgICAgICAgICBz
dHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICAgICAgICAgIHN0cmVhbS5wb2ludCh0WzBdWzBdLCB0
WzBdWzFdKTsKKyAgICAgICAgICAgICAgc3RyZWFtLnBvaW50KHRbMV1bMF0sIHRbMV1bMV0pOwor
ICAgICAgICAgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgc3RyZWFtLnBvaW50KHRbMV1bMF0sIHRbMV1bMV0pOworICAgICAgICAgICAg
ICBzdHJlYW0ubGluZUVuZCgpOworICAgICAgICAgICAgICBzdHJlYW0ubGluZVN0YXJ0KCk7Cisg
ICAgICAgICAgICAgIHN0cmVhbS5wb2ludCh0WzBdWzBdLCB0WzBdWzFdKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKHYgJiYgKCFwb2ludDAgfHwg
IXBvaW50RXF1YWwocG9pbnQwLCBwb2ludDEpKSkgeworICAgICAgICAgIHN0cmVhbS5wb2ludChw
b2ludDFbMF0sIHBvaW50MVsxXSk7CisgICAgICAgIH0KKyAgICAgICAgcG9pbnQwID0gcG9pbnQx
LCB2MCA9IHYsIGMwID0gYzsKKyAgICAgIH0sCisgICAgICBsaW5lRW5kOiBmdW5jdGlvbigpIHsK
KyAgICAgICAgaWYgKHYwKSBzdHJlYW0ubGluZUVuZCgpOworICAgICAgICBwb2ludDAgPSBudWxs
OworICAgICAgfSwKKyAgICAgIC8vIFJlam9pbiBmaXJzdCBhbmQgbGFzdCBzZWdtZW50cyBpZiB0
aGVyZSB3ZXJlIGludGVyc2VjdGlvbnMgYW5kIHRoZSBmaXJzdAorICAgICAgLy8gYW5kIGxhc3Qg
cG9pbnRzIHdlcmUgdmlzaWJsZS4KKyAgICAgIGNsZWFuOiBmdW5jdGlvbigpIHsKKyAgICAgICAg
cmV0dXJuIGNsZWFuIHwgKCh2MDAgJiYgdjApIDw8IDEpOworICAgICAgfQorICAgIH07CisgIH0K
KworICAvLyBJbnRlcnNlY3RzIHRoZSBncmVhdCBjaXJjbGUgYmV0d2VlbiBhIGFuZCBiIHdpdGgg
dGhlIGNsaXAgY2lyY2xlLgorICBmdW5jdGlvbiBpbnRlcnNlY3QoYSwgYiwgdHdvKSB7CisgICAg
dmFyIHBhID0gY2FydGVzaWFuKGEpLAorICAgICAgICBwYiA9IGNhcnRlc2lhbihiKTsKKworICAg
IC8vIFdlIGhhdmUgdHdvIHBsYW5lcywgbjEucCA9IGQxIGFuZCBuMi5wID0gZDIuCisgICAgLy8g
RmluZCBpbnRlcnNlY3Rpb24gbGluZSBwKHQpID0gYzEgbjEgKyBjMiBuMiArIHQgKG4xIOKoryBu
MikuCisgICAgdmFyIG4xID0gWzEsIDAsIDBdLCAvLyBub3JtYWwKKyAgICAgICAgbjIgPSBjYXJ0
ZXNpYW5Dcm9zcyhwYSwgcGIpLAorICAgICAgICBuMm4yID0gY2FydGVzaWFuRG90KG4yLCBuMiks
CisgICAgICAgIG4xbjIgPSBuMlswXSwgLy8gY2FydGVzaWFuRG90KG4xLCBuMiksCisgICAgICAg
IGRldGVybWluYW50ID0gbjJuMiAtIG4xbjIgKiBuMW4yOworCisgICAgLy8gVHdvIHBvbGFyIHBv
aW50cy4KKyAgICBpZiAoIWRldGVybWluYW50KSByZXR1cm4gIXR3byAmJiBhOworCisgICAgdmFy
IGMxID0gIGNyICogbjJuMiAvIGRldGVybWluYW50LAorICAgICAgICBjMiA9IC1jciAqIG4xbjIg
LyBkZXRlcm1pbmFudCwKKyAgICAgICAgbjF4bjIgPSBjYXJ0ZXNpYW5Dcm9zcyhuMSwgbjIpLAor
ICAgICAgICBBID0gY2FydGVzaWFuU2NhbGUobjEsIGMxKSwKKyAgICAgICAgQiA9IGNhcnRlc2lh
blNjYWxlKG4yLCBjMik7CisgICAgY2FydGVzaWFuQWRkSW5QbGFjZShBLCBCKTsKKworICAgIC8v
IFNvbHZlIHxwKHQpfF4yID0gMS4KKyAgICB2YXIgdSA9IG4xeG4yLAorICAgICAgICB3ID0gY2Fy
dGVzaWFuRG90KEEsIHUpLAorICAgICAgICB1dSA9IGNhcnRlc2lhbkRvdCh1LCB1KSwKKyAgICAg
ICAgdDIgPSB3ICogdyAtIHV1ICogKGNhcnRlc2lhbkRvdChBLCBBKSAtIDEpOworCisgICAgaWYg
KHQyIDwgMCkgcmV0dXJuOworCisgICAgdmFyIHQgPSBzcXJ0KHQyKSwKKyAgICAgICAgcSA9IGNh
cnRlc2lhblNjYWxlKHUsICgtdyAtIHQpIC8gdXUpOworICAgIGNhcnRlc2lhbkFkZEluUGxhY2Uo
cSwgQSk7CisgICAgcSA9IHNwaGVyaWNhbChxKTsKKworICAgIGlmICghdHdvKSByZXR1cm4gcTsK
KworICAgIC8vIFR3byBpbnRlcnNlY3Rpb24gcG9pbnRzLgorICAgIHZhciBsYW1iZGEwID0gYVsw
XSwKKyAgICAgICAgbGFtYmRhMSA9IGJbMF0sCisgICAgICAgIHBoaTAgPSBhWzFdLAorICAgICAg
ICBwaGkxID0gYlsxXSwKKyAgICAgICAgejsKKworICAgIGlmIChsYW1iZGExIDwgbGFtYmRhMCkg
eiA9IGxhbWJkYTAsIGxhbWJkYTAgPSBsYW1iZGExLCBsYW1iZGExID0gejsKKworICAgIHZhciBk
ZWx0YSA9IGxhbWJkYTEgLSBsYW1iZGEwLAorICAgICAgICBwb2xhciA9IGFicyhkZWx0YSAtIHBp
JDMpIDwgZXBzaWxvbiQyLAorICAgICAgICBtZXJpZGlhbiA9IHBvbGFyIHx8IGRlbHRhIDwgZXBz
aWxvbiQyOworCisgICAgaWYgKCFwb2xhciAmJiBwaGkxIDwgcGhpMCkgeiA9IHBoaTAsIHBoaTAg
PSBwaGkxLCBwaGkxID0gejsKKworICAgIC8vIENoZWNrIHRoYXQgdGhlIGZpcnN0IHBvaW50IGlz
IGJldHdlZW4gYSBhbmQgYi4KKyAgICBpZiAobWVyaWRpYW4KKyAgICAgICAgPyBwb2xhcgorICAg
ICAgICAgID8gcGhpMCArIHBoaTEgPiAwIF4gcVsxXSA8IChhYnMocVswXSAtIGxhbWJkYTApIDwg
ZXBzaWxvbiQyID8gcGhpMCA6IHBoaTEpCisgICAgICAgICAgOiBwaGkwIDw9IHFbMV0gJiYgcVsx
XSA8PSBwaGkxCisgICAgICAgIDogZGVsdGEgPiBwaSQzIF4gKGxhbWJkYTAgPD0gcVswXSAmJiBx
WzBdIDw9IGxhbWJkYTEpKSB7CisgICAgICB2YXIgcTEgPSBjYXJ0ZXNpYW5TY2FsZSh1LCAoLXcg
KyB0KSAvIHV1KTsKKyAgICAgIGNhcnRlc2lhbkFkZEluUGxhY2UocTEsIEEpOworICAgICAgcmV0
dXJuIFtxLCBzcGhlcmljYWwocTEpXTsKKyAgICB9CisgIH0KKworICAvLyBHZW5lcmF0ZXMgYSA0
LWJpdCB2ZWN0b3IgcmVwcmVzZW50aW5nIHRoZSBsb2NhdGlvbiBvZiBhIHBvaW50IHJlbGF0aXZl
IHRvCisgIC8vIHRoZSBzbWFsbCBjaXJjbGUncyBib3VuZGluZyBib3guCisgIGZ1bmN0aW9uIGNv
ZGUobGFtYmRhLCBwaGkpIHsKKyAgICB2YXIgciA9IHNtYWxsUmFkaXVzID8gcmFkaXVzIDogcGkk
MyAtIHJhZGl1cywKKyAgICAgICAgY29kZSA9IDA7CisgICAgaWYgKGxhbWJkYSA8IC1yKSBjb2Rl
IHw9IDE7IC8vIGxlZnQKKyAgICBlbHNlIGlmIChsYW1iZGEgPiByKSBjb2RlIHw9IDI7IC8vIHJp
Z2h0CisgICAgaWYgKHBoaSA8IC1yKSBjb2RlIHw9IDQ7IC8vIGJlbG93CisgICAgZWxzZSBpZiAo
cGhpID4gcikgY29kZSB8PSA4OyAvLyBhYm92ZQorICAgIHJldHVybiBjb2RlOworICB9CisKKyAg
cmV0dXJuIGNsaXAodmlzaWJsZSwgY2xpcExpbmUsIGludGVycG9sYXRlLCBzbWFsbFJhZGl1cyA/
IFswLCAtcmFkaXVzXSA6IFstcGkkMywgcmFkaXVzIC0gcGkkM10pOworfQorCitmdW5jdGlvbiBj
bGlwTGluZShhLCBiLCB4MCwgeTAsIHgxLCB5MSkgeworICB2YXIgYXggPSBhWzBdLAorICAgICAg
YXkgPSBhWzFdLAorICAgICAgYnggPSBiWzBdLAorICAgICAgYnkgPSBiWzFdLAorICAgICAgdDAg
PSAwLAorICAgICAgdDEgPSAxLAorICAgICAgZHggPSBieCAtIGF4LAorICAgICAgZHkgPSBieSAt
IGF5LAorICAgICAgcjsKKworICByID0geDAgLSBheDsKKyAgaWYgKCFkeCAmJiByID4gMCkgcmV0
dXJuOworICByIC89IGR4OworICBpZiAoZHggPCAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJu
OworICAgIGlmIChyIDwgdDEpIHQxID0gcjsKKyAgfSBlbHNlIGlmIChkeCA+IDApIHsKKyAgICBp
ZiAociA+IHQxKSByZXR1cm47CisgICAgaWYgKHIgPiB0MCkgdDAgPSByOworICB9CisKKyAgciA9
IHgxIC0gYXg7CisgIGlmICghZHggJiYgciA8IDApIHJldHVybjsKKyAgciAvPSBkeDsKKyAgaWYg
KGR4IDwgMCkgeworICAgIGlmIChyID4gdDEpIHJldHVybjsKKyAgICBpZiAociA+IHQwKSB0MCA9
IHI7CisgIH0gZWxzZSBpZiAoZHggPiAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJuOworICAg
IGlmIChyIDwgdDEpIHQxID0gcjsKKyAgfQorCisgIHIgPSB5MCAtIGF5OworICBpZiAoIWR5ICYm
IHIgPiAwKSByZXR1cm47CisgIHIgLz0gZHk7CisgIGlmIChkeSA8IDApIHsKKyAgICBpZiAociA8
IHQwKSByZXR1cm47CisgICAgaWYgKHIgPCB0MSkgdDEgPSByOworICB9IGVsc2UgaWYgKGR5ID4g
MCkgeworICAgIGlmIChyID4gdDEpIHJldHVybjsKKyAgICBpZiAociA+IHQwKSB0MCA9IHI7Cisg
IH0KKworICByID0geTEgLSBheTsKKyAgaWYgKCFkeSAmJiByIDwgMCkgcmV0dXJuOworICByIC89
IGR5OworICBpZiAoZHkgPCAwKSB7CisgICAgaWYgKHIgPiB0MSkgcmV0dXJuOworICAgIGlmIChy
ID4gdDApIHQwID0gcjsKKyAgfSBlbHNlIGlmIChkeSA+IDApIHsKKyAgICBpZiAociA8IHQwKSBy
ZXR1cm47CisgICAgaWYgKHIgPCB0MSkgdDEgPSByOworICB9CisKKyAgaWYgKHQwID4gMCkgYVsw
XSA9IGF4ICsgdDAgKiBkeCwgYVsxXSA9IGF5ICsgdDAgKiBkeTsKKyAgaWYgKHQxIDwgMSkgYlsw
XSA9IGF4ICsgdDEgKiBkeCwgYlsxXSA9IGF5ICsgdDEgKiBkeTsKKyAgcmV0dXJuIHRydWU7Cit9
CisKK3ZhciBjbGlwTWF4ID0gMWU5LCBjbGlwTWluID0gLWNsaXBNYXg7CisKKy8vIFRPRE8gVXNl
IGQzLXBvbHlnb27igJlzIHBvbHlnb25Db250YWlucyBoZXJlIGZvciB0aGUgcmluZyBjaGVjaz8K
Ky8vIFRPRE8gRWxpbWluYXRlIGR1cGxpY2F0ZSBidWZmZXJpbmcgaW4gY2xpcEJ1ZmZlciBhbmQg
cG9seWdvbi5wdXNoPworCitmdW5jdGlvbiBjbGlwUmVjdGFuZ2xlKHgwLCB5MCwgeDEsIHkxKSB7
CisKKyAgZnVuY3Rpb24gdmlzaWJsZSh4LCB5KSB7CisgICAgcmV0dXJuIHgwIDw9IHggJiYgeCA8
PSB4MSAmJiB5MCA8PSB5ICYmIHkgPD0geTE7CisgIH0KKworICBmdW5jdGlvbiBpbnRlcnBvbGF0
ZShmcm9tLCB0bywgZGlyZWN0aW9uLCBzdHJlYW0pIHsKKyAgICB2YXIgYSA9IDAsIGExID0gMDsK
KyAgICBpZiAoZnJvbSA9PSBudWxsCisgICAgICAgIHx8IChhID0gY29ybmVyKGZyb20sIGRpcmVj
dGlvbikpICE9PSAoYTEgPSBjb3JuZXIodG8sIGRpcmVjdGlvbikpCisgICAgICAgIHx8IGNvbXBh
cmVQb2ludChmcm9tLCB0bykgPCAwIF4gZGlyZWN0aW9uID4gMCkgeworICAgICAgZG8gc3RyZWFt
LnBvaW50KGEgPT09IDAgfHwgYSA9PT0gMyA/IHgwIDogeDEsIGEgPiAxID8geTEgOiB5MCk7Cisg
ICAgICB3aGlsZSAoKGEgPSAoYSArIGRpcmVjdGlvbiArIDQpICUgNCkgIT09IGExKTsKKyAgICB9
IGVsc2UgeworICAgICAgc3RyZWFtLnBvaW50KHRvWzBdLCB0b1sxXSk7CisgICAgfQorICB9CisK
KyAgZnVuY3Rpb24gY29ybmVyKHAsIGRpcmVjdGlvbikgeworICAgIHJldHVybiBhYnMocFswXSAt
IHgwKSA8IGVwc2lsb24kMiA/IGRpcmVjdGlvbiA+IDAgPyAwIDogMworICAgICAgICA6IGFicyhw
WzBdIC0geDEpIDwgZXBzaWxvbiQyID8gZGlyZWN0aW9uID4gMCA/IDIgOiAxCisgICAgICAgIDog
YWJzKHBbMV0gLSB5MCkgPCBlcHNpbG9uJDIgPyBkaXJlY3Rpb24gPiAwID8gMSA6IDAKKyAgICAg
ICAgOiBkaXJlY3Rpb24gPiAwID8gMyA6IDI7IC8vIGFicyhwWzFdIC0geTEpIDwgZXBzaWxvbgor
ICB9CisKKyAgZnVuY3Rpb24gY29tcGFyZUludGVyc2VjdGlvbihhLCBiKSB7CisgICAgcmV0dXJu
IGNvbXBhcmVQb2ludChhLngsIGIueCk7CisgIH0KKworICBmdW5jdGlvbiBjb21wYXJlUG9pbnQo
YSwgYikgeworICAgIHZhciBjYSA9IGNvcm5lcihhLCAxKSwKKyAgICAgICAgY2IgPSBjb3JuZXIo
YiwgMSk7CisgICAgcmV0dXJuIGNhICE9PSBjYiA/IGNhIC0gY2IKKyAgICAgICAgOiBjYSA9PT0g
MCA/IGJbMV0gLSBhWzFdCisgICAgICAgIDogY2EgPT09IDEgPyBhWzBdIC0gYlswXQorICAgICAg
ICA6IGNhID09PSAyID8gYVsxXSAtIGJbMV0KKyAgICAgICAgOiBiWzBdIC0gYVswXTsKKyAgfQor
CisgIHJldHVybiBmdW5jdGlvbihzdHJlYW0pIHsKKyAgICB2YXIgYWN0aXZlU3RyZWFtID0gc3Ry
ZWFtLAorICAgICAgICBidWZmZXJTdHJlYW0gPSBjbGlwQnVmZmVyKCksCisgICAgICAgIHNlZ21l
bnRzLAorICAgICAgICBwb2x5Z29uLAorICAgICAgICByaW5nLAorICAgICAgICB4X18sIHlfXywg
dl9fLCAvLyBmaXJzdCBwb2ludAorICAgICAgICB4XywgeV8sIHZfLCAvLyBwcmV2aW91cyBwb2lu
dAorICAgICAgICBmaXJzdCwKKyAgICAgICAgY2xlYW47CisKKyAgICB2YXIgY2xpcFN0cmVhbSA9
IHsKKyAgICAgIHBvaW50OiBwb2ludCwKKyAgICAgIGxpbmVTdGFydDogbGluZVN0YXJ0LAorICAg
ICAgbGluZUVuZDogbGluZUVuZCwKKyAgICAgIHBvbHlnb25TdGFydDogcG9seWdvblN0YXJ0LAor
ICAgICAgcG9seWdvbkVuZDogcG9seWdvbkVuZAorICAgIH07CisKKyAgICBmdW5jdGlvbiBwb2lu
dCh4LCB5KSB7CisgICAgICBpZiAodmlzaWJsZSh4LCB5KSkgYWN0aXZlU3RyZWFtLnBvaW50KHgs
IHkpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHBvbHlnb25JbnNpZGUoKSB7CisgICAgICB2YXIg
d2luZGluZyA9IDA7CisKKyAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gcG9seWdvbi5sZW5ndGg7
IGkgPCBuOyArK2kpIHsKKyAgICAgICAgZm9yICh2YXIgcmluZyA9IHBvbHlnb25baV0sIGogPSAx
LCBtID0gcmluZy5sZW5ndGgsIHBvaW50ID0gcmluZ1swXSwgYTAsIGExLCBiMCA9IHBvaW50WzBd
LCBiMSA9IHBvaW50WzFdOyBqIDwgbTsgKytqKSB7CisgICAgICAgICAgYTAgPSBiMCwgYTEgPSBi
MSwgcG9pbnQgPSByaW5nW2pdLCBiMCA9IHBvaW50WzBdLCBiMSA9IHBvaW50WzFdOworICAgICAg
ICAgIGlmIChhMSA8PSB5MSkgeyBpZiAoYjEgPiB5MSAmJiAoYjAgLSBhMCkgKiAoeTEgLSBhMSkg
PiAoYjEgLSBhMSkgKiAoeDAgLSBhMCkpICsrd2luZGluZzsgfQorICAgICAgICAgIGVsc2UgeyBp
ZiAoYjEgPD0geTEgJiYgKGIwIC0gYTApICogKHkxIC0gYTEpIDwgKGIxIC0gYTEpICogKHgwIC0g
YTApKSAtLXdpbmRpbmc7IH0KKyAgICAgICAgfQorICAgICAgfQorCisgICAgICByZXR1cm4gd2lu
ZGluZzsKKyAgICB9CisKKyAgICAvLyBCdWZmZXIgZ2VvbWV0cnkgd2l0aGluIGEgcG9seWdvbiBh
bmQgdGhlbiBjbGlwIGl0IGVuIG1hc3NlLgorICAgIGZ1bmN0aW9uIHBvbHlnb25TdGFydCgpIHsK
KyAgICAgIGFjdGl2ZVN0cmVhbSA9IGJ1ZmZlclN0cmVhbSwgc2VnbWVudHMgPSBbXSwgcG9seWdv
biA9IFtdLCBjbGVhbiA9IHRydWU7CisgICAgfQorCisgICAgZnVuY3Rpb24gcG9seWdvbkVuZCgp
IHsKKyAgICAgIHZhciBzdGFydEluc2lkZSA9IHBvbHlnb25JbnNpZGUoKSwKKyAgICAgICAgICBj
bGVhbkluc2lkZSA9IGNsZWFuICYmIHN0YXJ0SW5zaWRlLAorICAgICAgICAgIHZpc2libGUgPSAo
c2VnbWVudHMgPSBtZXJnZShzZWdtZW50cykpLmxlbmd0aDsKKyAgICAgIGlmIChjbGVhbkluc2lk
ZSB8fCB2aXNpYmxlKSB7CisgICAgICAgIHN0cmVhbS5wb2x5Z29uU3RhcnQoKTsKKyAgICAgICAg
aWYgKGNsZWFuSW5zaWRlKSB7CisgICAgICAgICAgc3RyZWFtLmxpbmVTdGFydCgpOworICAgICAg
ICAgIGludGVycG9sYXRlKG51bGwsIG51bGwsIDEsIHN0cmVhbSk7CisgICAgICAgICAgc3RyZWFt
LmxpbmVFbmQoKTsKKyAgICAgICAgfQorICAgICAgICBpZiAodmlzaWJsZSkgeworICAgICAgICAg
IGNsaXBSZWpvaW4oc2VnbWVudHMsIGNvbXBhcmVJbnRlcnNlY3Rpb24sIHN0YXJ0SW5zaWRlLCBp
bnRlcnBvbGF0ZSwgc3RyZWFtKTsKKyAgICAgICAgfQorICAgICAgICBzdHJlYW0ucG9seWdvbkVu
ZCgpOworICAgICAgfQorICAgICAgYWN0aXZlU3RyZWFtID0gc3RyZWFtLCBzZWdtZW50cyA9IHBv
bHlnb24gPSByaW5nID0gbnVsbDsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsaW5lU3RhcnQoKSB7
CisgICAgICBjbGlwU3RyZWFtLnBvaW50ID0gbGluZVBvaW50OworICAgICAgaWYgKHBvbHlnb24p
IHBvbHlnb24ucHVzaChyaW5nID0gW10pOworICAgICAgZmlyc3QgPSB0cnVlOworICAgICAgdl8g
PSBmYWxzZTsKKyAgICAgIHhfID0geV8gPSBOYU47CisgICAgfQorCisgICAgLy8gVE9ETyByYXRo
ZXIgdGhhbiBzcGVjaWFsLWNhc2UgcG9seWdvbnMsIHNpbXBseSBoYW5kbGUgdGhlbSBzZXBhcmF0
ZWx5LgorICAgIC8vIElkZWFsbHksIGNvaW5jaWRlbnQgaW50ZXJzZWN0aW9uIHBvaW50cyBzaG91
bGQgYmUgaml0dGVyZWQgdG8gYXZvaWQKKyAgICAvLyBjbGlwcGluZyBpc3N1ZXMuCisgICAgZnVu
Y3Rpb24gbGluZUVuZCgpIHsKKyAgICAgIGlmIChzZWdtZW50cykgeworICAgICAgICBsaW5lUG9p
bnQoeF9fLCB5X18pOworICAgICAgICBpZiAodl9fICYmIHZfKSBidWZmZXJTdHJlYW0ucmVqb2lu
KCk7CisgICAgICAgIHNlZ21lbnRzLnB1c2goYnVmZmVyU3RyZWFtLnJlc3VsdCgpKTsKKyAgICAg
IH0KKyAgICAgIGNsaXBTdHJlYW0ucG9pbnQgPSBwb2ludDsKKyAgICAgIGlmICh2XykgYWN0aXZl
U3RyZWFtLmxpbmVFbmQoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsaW5lUG9pbnQoeCwgeSkg
eworICAgICAgdmFyIHYgPSB2aXNpYmxlKHgsIHkpOworICAgICAgaWYgKHBvbHlnb24pIHJpbmcu
cHVzaChbeCwgeV0pOworICAgICAgaWYgKGZpcnN0KSB7CisgICAgICAgIHhfXyA9IHgsIHlfXyA9
IHksIHZfXyA9IHY7CisgICAgICAgIGZpcnN0ID0gZmFsc2U7CisgICAgICAgIGlmICh2KSB7Cisg
ICAgICAgICAgYWN0aXZlU3RyZWFtLmxpbmVTdGFydCgpOworICAgICAgICAgIGFjdGl2ZVN0cmVh
bS5wb2ludCh4LCB5KTsKKyAgICAgICAgfQorICAgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKHYg
JiYgdl8pIGFjdGl2ZVN0cmVhbS5wb2ludCh4LCB5KTsKKyAgICAgICAgZWxzZSB7CisgICAgICAg
ICAgdmFyIGEgPSBbeF8gPSBNYXRoLm1heChjbGlwTWluLCBNYXRoLm1pbihjbGlwTWF4LCB4Xykp
LCB5XyA9IE1hdGgubWF4KGNsaXBNaW4sIE1hdGgubWluKGNsaXBNYXgsIHlfKSldLAorICAgICAg
ICAgICAgICBiID0gW3ggPSBNYXRoLm1heChjbGlwTWluLCBNYXRoLm1pbihjbGlwTWF4LCB4KSks
IHkgPSBNYXRoLm1heChjbGlwTWluLCBNYXRoLm1pbihjbGlwTWF4LCB5KSldOworICAgICAgICAg
IGlmIChjbGlwTGluZShhLCBiLCB4MCwgeTAsIHgxLCB5MSkpIHsKKyAgICAgICAgICAgIGlmICgh
dl8pIHsKKyAgICAgICAgICAgICAgYWN0aXZlU3RyZWFtLmxpbmVTdGFydCgpOworICAgICAgICAg
ICAgICBhY3RpdmVTdHJlYW0ucG9pbnQoYVswXSwgYVsxXSk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBhY3RpdmVTdHJlYW0ucG9pbnQoYlswXSwgYlsxXSk7CisgICAgICAgICAgICBpZiAo
IXYpIGFjdGl2ZVN0cmVhbS5saW5lRW5kKCk7CisgICAgICAgICAgICBjbGVhbiA9IGZhbHNlOwor
ICAgICAgICAgIH0gZWxzZSBpZiAodikgeworICAgICAgICAgICAgYWN0aXZlU3RyZWFtLmxpbmVT
dGFydCgpOworICAgICAgICAgICAgYWN0aXZlU3RyZWFtLnBvaW50KHgsIHkpOworICAgICAgICAg
ICAgY2xlYW4gPSBmYWxzZTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAg
IHhfID0geCwgeV8gPSB5LCB2XyA9IHY7CisgICAgfQorCisgICAgcmV0dXJuIGNsaXBTdHJlYW07
CisgIH07Cit9CisKK2Z1bmN0aW9uIGV4dGVudCQxKCkgeworICB2YXIgeDAgPSAwLAorICAgICAg
eTAgPSAwLAorICAgICAgeDEgPSA5NjAsCisgICAgICB5MSA9IDUwMCwKKyAgICAgIGNhY2hlLAor
ICAgICAgY2FjaGVTdHJlYW0sCisgICAgICBjbGlwOworCisgIHJldHVybiBjbGlwID0geworICAg
IHN0cmVhbTogZnVuY3Rpb24oc3RyZWFtKSB7CisgICAgICByZXR1cm4gY2FjaGUgJiYgY2FjaGVT
dHJlYW0gPT09IHN0cmVhbSA/IGNhY2hlIDogY2FjaGUgPSBjbGlwUmVjdGFuZ2xlKHgwLCB5MCwg
eDEsIHkxKShjYWNoZVN0cmVhbSA9IHN0cmVhbSk7CisgICAgfSwKKyAgICBleHRlbnQ6IGZ1bmN0
aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHgwID0gK19bMF1bMF0s
IHkwID0gK19bMF1bMV0sIHgxID0gK19bMV1bMF0sIHkxID0gK19bMV1bMV0sIGNhY2hlID0gY2Fj
aGVTdHJlYW0gPSBudWxsLCBjbGlwKSA6IFtbeDAsIHkwXSwgW3gxLCB5MV1dOworICAgIH0KKyAg
fTsKK30KKwordmFyIGxlbmd0aFN1bSA9IGFkZGVyKCksCisgICAgbGFtYmRhMCQyLAorICAgIHNp
blBoaTAkMSwKKyAgICBjb3NQaGkwJDE7CisKK3ZhciBsZW5ndGhTdHJlYW0gPSB7CisgIHNwaGVy
ZTogbm9vcCQyLAorICBwb2ludDogbm9vcCQyLAorICBsaW5lU3RhcnQ6IGxlbmd0aExpbmVTdGFy
dCwKKyAgbGluZUVuZDogbm9vcCQyLAorICBwb2x5Z29uU3RhcnQ6IG5vb3AkMiwKKyAgcG9seWdv
bkVuZDogbm9vcCQyCit9OworCitmdW5jdGlvbiBsZW5ndGhMaW5lU3RhcnQoKSB7CisgIGxlbmd0
aFN0cmVhbS5wb2ludCA9IGxlbmd0aFBvaW50Rmlyc3Q7CisgIGxlbmd0aFN0cmVhbS5saW5lRW5k
ID0gbGVuZ3RoTGluZUVuZDsKK30KKworZnVuY3Rpb24gbGVuZ3RoTGluZUVuZCgpIHsKKyAgbGVu
Z3RoU3RyZWFtLnBvaW50ID0gbGVuZ3RoU3RyZWFtLmxpbmVFbmQgPSBub29wJDI7Cit9CisKK2Z1
bmN0aW9uIGxlbmd0aFBvaW50Rmlyc3QobGFtYmRhLCBwaGkpIHsKKyAgbGFtYmRhICo9IHJhZGlh
bnMsIHBoaSAqPSByYWRpYW5zOworICBsYW1iZGEwJDIgPSBsYW1iZGEsIHNpblBoaTAkMSA9IHNp
biQxKHBoaSksIGNvc1BoaTAkMSA9IGNvcyQxKHBoaSk7CisgIGxlbmd0aFN0cmVhbS5wb2ludCA9
IGxlbmd0aFBvaW50OworfQorCitmdW5jdGlvbiBsZW5ndGhQb2ludChsYW1iZGEsIHBoaSkgewor
ICBsYW1iZGEgKj0gcmFkaWFucywgcGhpICo9IHJhZGlhbnM7CisgIHZhciBzaW5QaGkgPSBzaW4k
MShwaGkpLAorICAgICAgY29zUGhpID0gY29zJDEocGhpKSwKKyAgICAgIGRlbHRhID0gYWJzKGxh
bWJkYSAtIGxhbWJkYTAkMiksCisgICAgICBjb3NEZWx0YSA9IGNvcyQxKGRlbHRhKSwKKyAgICAg
IHNpbkRlbHRhID0gc2luJDEoZGVsdGEpLAorICAgICAgeCA9IGNvc1BoaSAqIHNpbkRlbHRhLAor
ICAgICAgeSA9IGNvc1BoaTAkMSAqIHNpblBoaSAtIHNpblBoaTAkMSAqIGNvc1BoaSAqIGNvc0Rl
bHRhLAorICAgICAgeiA9IHNpblBoaTAkMSAqIHNpblBoaSArIGNvc1BoaTAkMSAqIGNvc1BoaSAq
IGNvc0RlbHRhOworICBsZW5ndGhTdW0uYWRkKGF0YW4yKHNxcnQoeCAqIHggKyB5ICogeSksIHop
KTsKKyAgbGFtYmRhMCQyID0gbGFtYmRhLCBzaW5QaGkwJDEgPSBzaW5QaGksIGNvc1BoaTAkMSA9
IGNvc1BoaTsKK30KKworZnVuY3Rpb24gbGVuZ3RoJDEob2JqZWN0KSB7CisgIGxlbmd0aFN1bS5y
ZXNldCgpOworICBnZW9TdHJlYW0ob2JqZWN0LCBsZW5ndGhTdHJlYW0pOworICByZXR1cm4gK2xl
bmd0aFN1bTsKK30KKwordmFyIGNvb3JkaW5hdGVzID0gW251bGwsIG51bGxdLAorICAgIG9iamVj
dCQxID0ge3R5cGU6ICJMaW5lU3RyaW5nIiwgY29vcmRpbmF0ZXM6IGNvb3JkaW5hdGVzfTsKKwor
ZnVuY3Rpb24gZGlzdGFuY2UoYSwgYikgeworICBjb29yZGluYXRlc1swXSA9IGE7CisgIGNvb3Jk
aW5hdGVzWzFdID0gYjsKKyAgcmV0dXJuIGxlbmd0aCQxKG9iamVjdCQxKTsKK30KKwordmFyIGNv
bnRhaW5zT2JqZWN0VHlwZSA9IHsKKyAgRmVhdHVyZTogZnVuY3Rpb24ob2JqZWN0LCBwb2ludCkg
eworICAgIHJldHVybiBjb250YWluc0dlb21ldHJ5KG9iamVjdC5nZW9tZXRyeSwgcG9pbnQpOwor
ICB9LAorICBGZWF0dXJlQ29sbGVjdGlvbjogZnVuY3Rpb24ob2JqZWN0LCBwb2ludCkgeworICAg
IHZhciBmZWF0dXJlcyA9IG9iamVjdC5mZWF0dXJlcywgaSA9IC0xLCBuID0gZmVhdHVyZXMubGVu
Z3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBpZiAoY29udGFpbnNHZW9tZXRyeShmZWF0dXJlc1tp
XS5nZW9tZXRyeSwgcG9pbnQpKSByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0K
K307CisKK3ZhciBjb250YWluc0dlb21ldHJ5VHlwZSA9IHsKKyAgU3BoZXJlOiBmdW5jdGlvbigp
IHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfSwKKyAgUG9pbnQ6IGZ1bmN0aW9uKG9iamVjdCwgcG9p
bnQpIHsKKyAgICByZXR1cm4gY29udGFpbnNQb2ludChvYmplY3QuY29vcmRpbmF0ZXMsIHBvaW50
KTsKKyAgfSwKKyAgTXVsdGlQb2ludDogZnVuY3Rpb24ob2JqZWN0LCBwb2ludCkgeworICAgIHZh
ciBjb29yZGluYXRlcyA9IG9iamVjdC5jb29yZGluYXRlcywgaSA9IC0xLCBuID0gY29vcmRpbmF0
ZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBpZiAoY29udGFpbnNQb2ludChjb29yZGlu
YXRlc1tpXSwgcG9pbnQpKSByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0sCisg
IExpbmVTdHJpbmc6IGZ1bmN0aW9uKG9iamVjdCwgcG9pbnQpIHsKKyAgICByZXR1cm4gY29udGFp
bnNMaW5lKG9iamVjdC5jb29yZGluYXRlcywgcG9pbnQpOworICB9LAorICBNdWx0aUxpbmVTdHJp
bmc6IGZ1bmN0aW9uKG9iamVjdCwgcG9pbnQpIHsKKyAgICB2YXIgY29vcmRpbmF0ZXMgPSBvYmpl
Y3QuY29vcmRpbmF0ZXMsIGkgPSAtMSwgbiA9IGNvb3JkaW5hdGVzLmxlbmd0aDsKKyAgICB3aGls
ZSAoKytpIDwgbikgaWYgKGNvbnRhaW5zTGluZShjb29yZGluYXRlc1tpXSwgcG9pbnQpKSByZXR1
cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0sCisgIFBvbHlnb246IGZ1bmN0aW9uKG9i
amVjdCwgcG9pbnQpIHsKKyAgICByZXR1cm4gY29udGFpbnNQb2x5Z29uKG9iamVjdC5jb29yZGlu
YXRlcywgcG9pbnQpOworICB9LAorICBNdWx0aVBvbHlnb246IGZ1bmN0aW9uKG9iamVjdCwgcG9p
bnQpIHsKKyAgICB2YXIgY29vcmRpbmF0ZXMgPSBvYmplY3QuY29vcmRpbmF0ZXMsIGkgPSAtMSwg
biA9IGNvb3JkaW5hdGVzLmxlbmd0aDsKKyAgICB3aGlsZSAoKytpIDwgbikgaWYgKGNvbnRhaW5z
UG9seWdvbihjb29yZGluYXRlc1tpXSwgcG9pbnQpKSByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4g
ZmFsc2U7CisgIH0sCisgIEdlb21ldHJ5Q29sbGVjdGlvbjogZnVuY3Rpb24ob2JqZWN0LCBwb2lu
dCkgeworICAgIHZhciBnZW9tZXRyaWVzID0gb2JqZWN0Lmdlb21ldHJpZXMsIGkgPSAtMSwgbiA9
IGdlb21ldHJpZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBpZiAoY29udGFpbnNHZW9t
ZXRyeShnZW9tZXRyaWVzW2ldLCBwb2ludCkpIHJldHVybiB0cnVlOworICAgIHJldHVybiBmYWxz
ZTsKKyAgfQorfTsKKworZnVuY3Rpb24gY29udGFpbnNHZW9tZXRyeShnZW9tZXRyeSwgcG9pbnQp
IHsKKyAgcmV0dXJuIGdlb21ldHJ5ICYmIGNvbnRhaW5zR2VvbWV0cnlUeXBlLmhhc093blByb3Bl
cnR5KGdlb21ldHJ5LnR5cGUpCisgICAgICA/IGNvbnRhaW5zR2VvbWV0cnlUeXBlW2dlb21ldHJ5
LnR5cGVdKGdlb21ldHJ5LCBwb2ludCkKKyAgICAgIDogZmFsc2U7Cit9CisKK2Z1bmN0aW9uIGNv
bnRhaW5zUG9pbnQoY29vcmRpbmF0ZXMsIHBvaW50KSB7CisgIHJldHVybiBkaXN0YW5jZShjb29y
ZGluYXRlcywgcG9pbnQpID09PSAwOworfQorCitmdW5jdGlvbiBjb250YWluc0xpbmUoY29vcmRp
bmF0ZXMsIHBvaW50KSB7CisgIHZhciBhbywgYm8sIGFiOworICBmb3IgKHZhciBpID0gMCwgbiA9
IGNvb3JkaW5hdGVzLmxlbmd0aDsgaSA8IG47IGkrKykgeworICAgIGJvID0gZGlzdGFuY2UoY29v
cmRpbmF0ZXNbaV0sIHBvaW50KTsKKyAgICBpZiAoYm8gPT09IDApIHJldHVybiB0cnVlOworICAg
IGlmIChpID4gMCkgeworICAgICAgYWIgPSBkaXN0YW5jZShjb29yZGluYXRlc1tpXSwgY29vcmRp
bmF0ZXNbaSAtIDFdKTsKKyAgICAgIGlmICgKKyAgICAgICAgYWIgPiAwICYmCisgICAgICAgIGFv
IDw9IGFiICYmCisgICAgICAgIGJvIDw9IGFiICYmCisgICAgICAgIChhbyArIGJvIC0gYWIpICog
KDEgLSBNYXRoLnBvdygoYW8gLSBibykgLyBhYiwgMikpIDwgZXBzaWxvbjIkMSAqIGFiCisgICAg
ICApCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBhbyA9IGJvOworICB9CisgIHJl
dHVybiBmYWxzZTsKK30KKworZnVuY3Rpb24gY29udGFpbnNQb2x5Z29uKGNvb3JkaW5hdGVzLCBw
b2ludCkgeworICByZXR1cm4gISFwb2x5Z29uQ29udGFpbnMoY29vcmRpbmF0ZXMubWFwKHJpbmdS
YWRpYW5zKSwgcG9pbnRSYWRpYW5zKHBvaW50KSk7Cit9CisKK2Z1bmN0aW9uIHJpbmdSYWRpYW5z
KHJpbmcpIHsKKyAgcmV0dXJuIHJpbmcgPSByaW5nLm1hcChwb2ludFJhZGlhbnMpLCByaW5nLnBv
cCgpLCByaW5nOworfQorCitmdW5jdGlvbiBwb2ludFJhZGlhbnMocG9pbnQpIHsKKyAgcmV0dXJu
IFtwb2ludFswXSAqIHJhZGlhbnMsIHBvaW50WzFdICogcmFkaWFuc107Cit9CisKK2Z1bmN0aW9u
IGNvbnRhaW5zJDEob2JqZWN0LCBwb2ludCkgeworICByZXR1cm4gKG9iamVjdCAmJiBjb250YWlu
c09iamVjdFR5cGUuaGFzT3duUHJvcGVydHkob2JqZWN0LnR5cGUpCisgICAgICA/IGNvbnRhaW5z
T2JqZWN0VHlwZVtvYmplY3QudHlwZV0KKyAgICAgIDogY29udGFpbnNHZW9tZXRyeSkob2JqZWN0
LCBwb2ludCk7Cit9CisKK2Z1bmN0aW9uIGdyYXRpY3VsZVgoeTAsIHkxLCBkeSkgeworICB2YXIg
eSA9IHNlcXVlbmNlKHkwLCB5MSAtIGVwc2lsb24kMiwgZHkpLmNvbmNhdCh5MSk7CisgIHJldHVy
biBmdW5jdGlvbih4KSB7IHJldHVybiB5Lm1hcChmdW5jdGlvbih5KSB7IHJldHVybiBbeCwgeV07
IH0pOyB9OworfQorCitmdW5jdGlvbiBncmF0aWN1bGVZKHgwLCB4MSwgZHgpIHsKKyAgdmFyIHgg
PSBzZXF1ZW5jZSh4MCwgeDEgLSBlcHNpbG9uJDIsIGR4KS5jb25jYXQoeDEpOworICByZXR1cm4g
ZnVuY3Rpb24oeSkgeyByZXR1cm4geC5tYXAoZnVuY3Rpb24oeCkgeyByZXR1cm4gW3gsIHldOyB9
KTsgfTsKK30KKworZnVuY3Rpb24gZ3JhdGljdWxlKCkgeworICB2YXIgeDEsIHgwLCBYMSwgWDAs
CisgICAgICB5MSwgeTAsIFkxLCBZMCwKKyAgICAgIGR4ID0gMTAsIGR5ID0gZHgsIERYID0gOTAs
IERZID0gMzYwLAorICAgICAgeCwgeSwgWCwgWSwKKyAgICAgIHByZWNpc2lvbiA9IDIuNTsKKwor
ICBmdW5jdGlvbiBncmF0aWN1bGUoKSB7CisgICAgcmV0dXJuIHt0eXBlOiAiTXVsdGlMaW5lU3Ry
aW5nIiwgY29vcmRpbmF0ZXM6IGxpbmVzKCl9OworICB9CisKKyAgZnVuY3Rpb24gbGluZXMoKSB7
CisgICAgcmV0dXJuIHNlcXVlbmNlKGNlaWwoWDAgLyBEWCkgKiBEWCwgWDEsIERYKS5tYXAoWCkK
KyAgICAgICAgLmNvbmNhdChzZXF1ZW5jZShjZWlsKFkwIC8gRFkpICogRFksIFkxLCBEWSkubWFw
KFkpKQorICAgICAgICAuY29uY2F0KHNlcXVlbmNlKGNlaWwoeDAgLyBkeCkgKiBkeCwgeDEsIGR4
KS5maWx0ZXIoZnVuY3Rpb24oeCkgeyByZXR1cm4gYWJzKHggJSBEWCkgPiBlcHNpbG9uJDI7IH0p
Lm1hcCh4KSkKKyAgICAgICAgLmNvbmNhdChzZXF1ZW5jZShjZWlsKHkwIC8gZHkpICogZHksIHkx
LCBkeSkuZmlsdGVyKGZ1bmN0aW9uKHkpIHsgcmV0dXJuIGFicyh5ICUgRFkpID4gZXBzaWxvbiQy
OyB9KS5tYXAoeSkpOworICB9CisKKyAgZ3JhdGljdWxlLmxpbmVzID0gZnVuY3Rpb24oKSB7Cisg
ICAgcmV0dXJuIGxpbmVzKCkubWFwKGZ1bmN0aW9uKGNvb3JkaW5hdGVzKSB7IHJldHVybiB7dHlw
ZTogIkxpbmVTdHJpbmciLCBjb29yZGluYXRlczogY29vcmRpbmF0ZXN9OyB9KTsKKyAgfTsKKwor
ICBncmF0aWN1bGUub3V0bGluZSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB7CisgICAgICB0
eXBlOiAiUG9seWdvbiIsCisgICAgICBjb29yZGluYXRlczogWworICAgICAgICBYKFgwKS5jb25j
YXQoCisgICAgICAgIFkoWTEpLnNsaWNlKDEpLAorICAgICAgICBYKFgxKS5yZXZlcnNlKCkuc2xp
Y2UoMSksCisgICAgICAgIFkoWTApLnJldmVyc2UoKS5zbGljZSgxKSkKKyAgICAgIF0KKyAgICB9
OworICB9OworCisgIGdyYXRpY3VsZS5leHRlbnQgPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFh
cmd1bWVudHMubGVuZ3RoKSByZXR1cm4gZ3JhdGljdWxlLmV4dGVudE1pbm9yKCk7CisgICAgcmV0
dXJuIGdyYXRpY3VsZS5leHRlbnRNYWpvcihfKS5leHRlbnRNaW5vcihfKTsKKyAgfTsKKworICBn
cmF0aWN1bGUuZXh0ZW50TWFqb3IgPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMu
bGVuZ3RoKSByZXR1cm4gW1tYMCwgWTBdLCBbWDEsIFkxXV07CisgICAgWDAgPSArX1swXVswXSwg
WDEgPSArX1sxXVswXTsKKyAgICBZMCA9ICtfWzBdWzFdLCBZMSA9ICtfWzFdWzFdOworICAgIGlm
IChYMCA+IFgxKSBfID0gWDAsIFgwID0gWDEsIFgxID0gXzsKKyAgICBpZiAoWTAgPiBZMSkgXyA9
IFkwLCBZMCA9IFkxLCBZMSA9IF87CisgICAgcmV0dXJuIGdyYXRpY3VsZS5wcmVjaXNpb24ocHJl
Y2lzaW9uKTsKKyAgfTsKKworICBncmF0aWN1bGUuZXh0ZW50TWlub3IgPSBmdW5jdGlvbihfKSB7
CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gW1t4MCwgeTBdLCBbeDEsIHkxXV07
CisgICAgeDAgPSArX1swXVswXSwgeDEgPSArX1sxXVswXTsKKyAgICB5MCA9ICtfWzBdWzFdLCB5
MSA9ICtfWzFdWzFdOworICAgIGlmICh4MCA+IHgxKSBfID0geDAsIHgwID0geDEsIHgxID0gXzsK
KyAgICBpZiAoeTAgPiB5MSkgXyA9IHkwLCB5MCA9IHkxLCB5MSA9IF87CisgICAgcmV0dXJuIGdy
YXRpY3VsZS5wcmVjaXNpb24ocHJlY2lzaW9uKTsKKyAgfTsKKworICBncmF0aWN1bGUuc3RlcCA9
IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBncmF0aWN1
bGUuc3RlcE1pbm9yKCk7CisgICAgcmV0dXJuIGdyYXRpY3VsZS5zdGVwTWFqb3IoXykuc3RlcE1p
bm9yKF8pOworICB9OworCisgIGdyYXRpY3VsZS5zdGVwTWFqb3IgPSBmdW5jdGlvbihfKSB7Cisg
ICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gW0RYLCBEWV07CisgICAgRFggPSArX1sw
XSwgRFkgPSArX1sxXTsKKyAgICByZXR1cm4gZ3JhdGljdWxlOworICB9OworCisgIGdyYXRpY3Vs
ZS5zdGVwTWlub3IgPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSBy
ZXR1cm4gW2R4LCBkeV07CisgICAgZHggPSArX1swXSwgZHkgPSArX1sxXTsKKyAgICByZXR1cm4g
Z3JhdGljdWxlOworICB9OworCisgIGdyYXRpY3VsZS5wcmVjaXNpb24gPSBmdW5jdGlvbihfKSB7
CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gcHJlY2lzaW9uOworICAgIHByZWNp
c2lvbiA9ICtfOworICAgIHggPSBncmF0aWN1bGVYKHkwLCB5MSwgOTApOworICAgIHkgPSBncmF0
aWN1bGVZKHgwLCB4MSwgcHJlY2lzaW9uKTsKKyAgICBYID0gZ3JhdGljdWxlWChZMCwgWTEsIDkw
KTsKKyAgICBZID0gZ3JhdGljdWxlWShYMCwgWDEsIHByZWNpc2lvbik7CisgICAgcmV0dXJuIGdy
YXRpY3VsZTsKKyAgfTsKKworICByZXR1cm4gZ3JhdGljdWxlCisgICAgICAuZXh0ZW50TWFqb3Io
W1stMTgwLCAtOTAgKyBlcHNpbG9uJDJdLCBbMTgwLCA5MCAtIGVwc2lsb24kMl1dKQorICAgICAg
LmV4dGVudE1pbm9yKFtbLTE4MCwgLTgwIC0gZXBzaWxvbiQyXSwgWzE4MCwgODAgKyBlcHNpbG9u
JDJdXSk7Cit9CisKK2Z1bmN0aW9uIGdyYXRpY3VsZTEwKCkgeworICByZXR1cm4gZ3JhdGljdWxl
KCkoKTsKK30KKworZnVuY3Rpb24gaW50ZXJwb2xhdGUkMShhLCBiKSB7CisgIHZhciB4MCA9IGFb
MF0gKiByYWRpYW5zLAorICAgICAgeTAgPSBhWzFdICogcmFkaWFucywKKyAgICAgIHgxID0gYlsw
XSAqIHJhZGlhbnMsCisgICAgICB5MSA9IGJbMV0gKiByYWRpYW5zLAorICAgICAgY3kwID0gY29z
JDEoeTApLAorICAgICAgc3kwID0gc2luJDEoeTApLAorICAgICAgY3kxID0gY29zJDEoeTEpLAor
ICAgICAgc3kxID0gc2luJDEoeTEpLAorICAgICAga3gwID0gY3kwICogY29zJDEoeDApLAorICAg
ICAga3kwID0gY3kwICogc2luJDEoeDApLAorICAgICAga3gxID0gY3kxICogY29zJDEoeDEpLAor
ICAgICAga3kxID0gY3kxICogc2luJDEoeDEpLAorICAgICAgZCA9IDIgKiBhc2luKHNxcnQoaGF2
ZXJzaW4oeTEgLSB5MCkgKyBjeTAgKiBjeTEgKiBoYXZlcnNpbih4MSAtIHgwKSkpLAorICAgICAg
ayA9IHNpbiQxKGQpOworCisgIHZhciBpbnRlcnBvbGF0ZSA9IGQgPyBmdW5jdGlvbih0KSB7Cisg
ICAgdmFyIEIgPSBzaW4kMSh0ICo9IGQpIC8gaywKKyAgICAgICAgQSA9IHNpbiQxKGQgLSB0KSAv
IGssCisgICAgICAgIHggPSBBICoga3gwICsgQiAqIGt4MSwKKyAgICAgICAgeSA9IEEgKiBreTAg
KyBCICoga3kxLAorICAgICAgICB6ID0gQSAqIHN5MCArIEIgKiBzeTE7CisgICAgcmV0dXJuIFsK
KyAgICAgIGF0YW4yKHksIHgpICogZGVncmVlcyQxLAorICAgICAgYXRhbjIoeiwgc3FydCh4ICog
eCArIHkgKiB5KSkgKiBkZWdyZWVzJDEKKyAgICBdOworICB9IDogZnVuY3Rpb24oKSB7CisgICAg
cmV0dXJuIFt4MCAqIGRlZ3JlZXMkMSwgeTAgKiBkZWdyZWVzJDFdOworICB9OworCisgIGludGVy
cG9sYXRlLmRpc3RhbmNlID0gZDsKKworICByZXR1cm4gaW50ZXJwb2xhdGU7Cit9CisKK2Z1bmN0
aW9uIGlkZW50aXR5JDQoeCkgeworICByZXR1cm4geDsKK30KKwordmFyIGFyZWFTdW0kMSA9IGFk
ZGVyKCksCisgICAgYXJlYVJpbmdTdW0kMSA9IGFkZGVyKCksCisgICAgeDAwLAorICAgIHkwMCwK
KyAgICB4MCQxLAorICAgIHkwJDE7CisKK3ZhciBhcmVhU3RyZWFtJDEgPSB7CisgIHBvaW50OiBu
b29wJDIsCisgIGxpbmVTdGFydDogbm9vcCQyLAorICBsaW5lRW5kOiBub29wJDIsCisgIHBvbHln
b25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgYXJlYVN0cmVhbSQxLmxpbmVTdGFydCA9IGFyZWFS
aW5nU3RhcnQkMTsKKyAgICBhcmVhU3RyZWFtJDEubGluZUVuZCA9IGFyZWFSaW5nRW5kJDE7Cisg
IH0sCisgIHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIGFyZWFTdHJlYW0kMS5saW5lU3Rh
cnQgPSBhcmVhU3RyZWFtJDEubGluZUVuZCA9IGFyZWFTdHJlYW0kMS5wb2ludCA9IG5vb3AkMjsK
KyAgICBhcmVhU3VtJDEuYWRkKGFicyhhcmVhUmluZ1N1bSQxKSk7CisgICAgYXJlYVJpbmdTdW0k
MS5yZXNldCgpOworICB9LAorICByZXN1bHQ6IGZ1bmN0aW9uKCkgeworICAgIHZhciBhcmVhID0g
YXJlYVN1bSQxIC8gMjsKKyAgICBhcmVhU3VtJDEucmVzZXQoKTsKKyAgICByZXR1cm4gYXJlYTsK
KyAgfQorfTsKKworZnVuY3Rpb24gYXJlYVJpbmdTdGFydCQxKCkgeworICBhcmVhU3RyZWFtJDEu
cG9pbnQgPSBhcmVhUG9pbnRGaXJzdCQxOworfQorCitmdW5jdGlvbiBhcmVhUG9pbnRGaXJzdCQx
KHgsIHkpIHsKKyAgYXJlYVN0cmVhbSQxLnBvaW50ID0gYXJlYVBvaW50JDE7CisgIHgwMCA9IHgw
JDEgPSB4LCB5MDAgPSB5MCQxID0geTsKK30KKworZnVuY3Rpb24gYXJlYVBvaW50JDEoeCwgeSkg
eworICBhcmVhUmluZ1N1bSQxLmFkZCh5MCQxICogeCAtIHgwJDEgKiB5KTsKKyAgeDAkMSA9IHgs
IHkwJDEgPSB5OworfQorCitmdW5jdGlvbiBhcmVhUmluZ0VuZCQxKCkgeworICBhcmVhUG9pbnQk
MSh4MDAsIHkwMCk7Cit9CisKK3ZhciB4MCQyID0gSW5maW5pdHksCisgICAgeTAkMiA9IHgwJDIs
CisgICAgeDEgPSAteDAkMiwKKyAgICB5MSA9IHgxOworCit2YXIgYm91bmRzU3RyZWFtJDEgPSB7
CisgIHBvaW50OiBib3VuZHNQb2ludCQxLAorICBsaW5lU3RhcnQ6IG5vb3AkMiwKKyAgbGluZUVu
ZDogbm9vcCQyLAorICBwb2x5Z29uU3RhcnQ6IG5vb3AkMiwKKyAgcG9seWdvbkVuZDogbm9vcCQy
LAorICByZXN1bHQ6IGZ1bmN0aW9uKCkgeworICAgIHZhciBib3VuZHMgPSBbW3gwJDIsIHkwJDJd
LCBbeDEsIHkxXV07CisgICAgeDEgPSB5MSA9IC0oeTAkMiA9IHgwJDIgPSBJbmZpbml0eSk7Cisg
ICAgcmV0dXJuIGJvdW5kczsKKyAgfQorfTsKKworZnVuY3Rpb24gYm91bmRzUG9pbnQkMSh4LCB5
KSB7CisgIGlmICh4IDwgeDAkMikgeDAkMiA9IHg7CisgIGlmICh4ID4geDEpIHgxID0geDsKKyAg
aWYgKHkgPCB5MCQyKSB5MCQyID0geTsKKyAgaWYgKHkgPiB5MSkgeTEgPSB5OworfQorCisvLyBU
T0RPIEVuZm9yY2UgcG9zaXRpdmUgYXJlYSBmb3IgZXh0ZXJpb3IsIG5lZ2F0aXZlIGFyZWEgZm9y
IGludGVyaW9yPworCit2YXIgWDAkMSA9IDAsCisgICAgWTAkMSA9IDAsCisgICAgWjAkMSA9IDAs
CisgICAgWDEkMSA9IDAsCisgICAgWTEkMSA9IDAsCisgICAgWjEkMSA9IDAsCisgICAgWDIkMSA9
IDAsCisgICAgWTIkMSA9IDAsCisgICAgWjIkMSA9IDAsCisgICAgeDAwJDEsCisgICAgeTAwJDEs
CisgICAgeDAkMywKKyAgICB5MCQzOworCit2YXIgY2VudHJvaWRTdHJlYW0kMSA9IHsKKyAgcG9p
bnQ6IGNlbnRyb2lkUG9pbnQkMSwKKyAgbGluZVN0YXJ0OiBjZW50cm9pZExpbmVTdGFydCQxLAor
ICBsaW5lRW5kOiBjZW50cm9pZExpbmVFbmQkMSwKKyAgcG9seWdvblN0YXJ0OiBmdW5jdGlvbigp
IHsKKyAgICBjZW50cm9pZFN0cmVhbSQxLmxpbmVTdGFydCA9IGNlbnRyb2lkUmluZ1N0YXJ0JDE7
CisgICAgY2VudHJvaWRTdHJlYW0kMS5saW5lRW5kID0gY2VudHJvaWRSaW5nRW5kJDE7CisgIH0s
CisgIHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIGNlbnRyb2lkU3RyZWFtJDEucG9pbnQg
PSBjZW50cm9pZFBvaW50JDE7CisgICAgY2VudHJvaWRTdHJlYW0kMS5saW5lU3RhcnQgPSBjZW50
cm9pZExpbmVTdGFydCQxOworICAgIGNlbnRyb2lkU3RyZWFtJDEubGluZUVuZCA9IGNlbnRyb2lk
TGluZUVuZCQxOworICB9LAorICByZXN1bHQ6IGZ1bmN0aW9uKCkgeworICAgIHZhciBjZW50cm9p
ZCA9IFoyJDEgPyBbWDIkMSAvIFoyJDEsIFkyJDEgLyBaMiQxXQorICAgICAgICA6IFoxJDEgPyBb
WDEkMSAvIFoxJDEsIFkxJDEgLyBaMSQxXQorICAgICAgICA6IFowJDEgPyBbWDAkMSAvIFowJDEs
IFkwJDEgLyBaMCQxXQorICAgICAgICA6IFtOYU4sIE5hTl07CisgICAgWDAkMSA9IFkwJDEgPSBa
MCQxID0KKyAgICBYMSQxID0gWTEkMSA9IFoxJDEgPQorICAgIFgyJDEgPSBZMiQxID0gWjIkMSA9
IDA7CisgICAgcmV0dXJuIGNlbnRyb2lkOworICB9Cit9OworCitmdW5jdGlvbiBjZW50cm9pZFBv
aW50JDEoeCwgeSkgeworICBYMCQxICs9IHg7CisgIFkwJDEgKz0geTsKKyAgKytaMCQxOworfQor
CitmdW5jdGlvbiBjZW50cm9pZExpbmVTdGFydCQxKCkgeworICBjZW50cm9pZFN0cmVhbSQxLnBv
aW50ID0gY2VudHJvaWRQb2ludEZpcnN0TGluZTsKK30KKworZnVuY3Rpb24gY2VudHJvaWRQb2lu
dEZpcnN0TGluZSh4LCB5KSB7CisgIGNlbnRyb2lkU3RyZWFtJDEucG9pbnQgPSBjZW50cm9pZFBv
aW50TGluZTsKKyAgY2VudHJvaWRQb2ludCQxKHgwJDMgPSB4LCB5MCQzID0geSk7Cit9CisKK2Z1
bmN0aW9uIGNlbnRyb2lkUG9pbnRMaW5lKHgsIHkpIHsKKyAgdmFyIGR4ID0geCAtIHgwJDMsIGR5
ID0geSAtIHkwJDMsIHogPSBzcXJ0KGR4ICogZHggKyBkeSAqIGR5KTsKKyAgWDEkMSArPSB6ICog
KHgwJDMgKyB4KSAvIDI7CisgIFkxJDEgKz0geiAqICh5MCQzICsgeSkgLyAyOworICBaMSQxICs9
IHo7CisgIGNlbnRyb2lkUG9pbnQkMSh4MCQzID0geCwgeTAkMyA9IHkpOworfQorCitmdW5jdGlv
biBjZW50cm9pZExpbmVFbmQkMSgpIHsKKyAgY2VudHJvaWRTdHJlYW0kMS5wb2ludCA9IGNlbnRy
b2lkUG9pbnQkMTsKK30KKworZnVuY3Rpb24gY2VudHJvaWRSaW5nU3RhcnQkMSgpIHsKKyAgY2Vu
dHJvaWRTdHJlYW0kMS5wb2ludCA9IGNlbnRyb2lkUG9pbnRGaXJzdFJpbmc7Cit9CisKK2Z1bmN0
aW9uIGNlbnRyb2lkUmluZ0VuZCQxKCkgeworICBjZW50cm9pZFBvaW50UmluZyh4MDAkMSwgeTAw
JDEpOworfQorCitmdW5jdGlvbiBjZW50cm9pZFBvaW50Rmlyc3RSaW5nKHgsIHkpIHsKKyAgY2Vu
dHJvaWRTdHJlYW0kMS5wb2ludCA9IGNlbnRyb2lkUG9pbnRSaW5nOworICBjZW50cm9pZFBvaW50
JDEoeDAwJDEgPSB4MCQzID0geCwgeTAwJDEgPSB5MCQzID0geSk7Cit9CisKK2Z1bmN0aW9uIGNl
bnRyb2lkUG9pbnRSaW5nKHgsIHkpIHsKKyAgdmFyIGR4ID0geCAtIHgwJDMsCisgICAgICBkeSA9
IHkgLSB5MCQzLAorICAgICAgeiA9IHNxcnQoZHggKiBkeCArIGR5ICogZHkpOworCisgIFgxJDEg
Kz0geiAqICh4MCQzICsgeCkgLyAyOworICBZMSQxICs9IHogKiAoeTAkMyArIHkpIC8gMjsKKyAg
WjEkMSArPSB6OworCisgIHogPSB5MCQzICogeCAtIHgwJDMgKiB5OworICBYMiQxICs9IHogKiAo
eDAkMyArIHgpOworICBZMiQxICs9IHogKiAoeTAkMyArIHkpOworICBaMiQxICs9IHogKiAzOwor
ICBjZW50cm9pZFBvaW50JDEoeDAkMyA9IHgsIHkwJDMgPSB5KTsKK30KKworZnVuY3Rpb24gUGF0
aENvbnRleHQoY29udGV4dCkgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKK30KKworUGF0
aENvbnRleHQucHJvdG90eXBlID0geworICBfcmFkaXVzOiA0LjUsCisgIHBvaW50UmFkaXVzOiBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIHRoaXMuX3JhZGl1cyA9IF8sIHRoaXM7CisgIH0sCisg
IHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IDA7CisgIH0sCisg
IHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSBOYU47CisgIH0sCisg
IGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9LAorICBs
aW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fbGluZSA9PT0gMCkgdGhpcy5fY29u
dGV4dC5jbG9zZVBhdGgoKTsKKyAgICB0aGlzLl9wb2ludCA9IE5hTjsKKyAgfSwKKyAgcG9pbnQ6
IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNl
IDA6IHsKKyAgICAgICAgdGhpcy5fY29udGV4dC5tb3ZlVG8oeCwgeSk7CisgICAgICAgIHRoaXMu
X3BvaW50ID0gMTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBjYXNlIDE6IHsKKyAg
ICAgICAgdGhpcy5fY29udGV4dC5saW5lVG8oeCwgeSk7CisgICAgICAgIGJyZWFrOworICAgICAg
fQorICAgICAgZGVmYXVsdDogeworICAgICAgICB0aGlzLl9jb250ZXh0Lm1vdmVUbyh4ICsgdGhp
cy5fcmFkaXVzLCB5KTsKKyAgICAgICAgdGhpcy5fY29udGV4dC5hcmMoeCwgeSwgdGhpcy5fcmFk
aXVzLCAwLCB0YXUkMyk7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgIH0KKyAgfSwKKyAg
cmVzdWx0OiBub29wJDIKK307CisKK3ZhciBsZW5ndGhTdW0kMSA9IGFkZGVyKCksCisgICAgbGVu
Z3RoUmluZywKKyAgICB4MDAkMiwKKyAgICB5MDAkMiwKKyAgICB4MCQ0LAorICAgIHkwJDQ7CisK
K3ZhciBsZW5ndGhTdHJlYW0kMSA9IHsKKyAgcG9pbnQ6IG5vb3AkMiwKKyAgbGluZVN0YXJ0OiBm
dW5jdGlvbigpIHsKKyAgICBsZW5ndGhTdHJlYW0kMS5wb2ludCA9IGxlbmd0aFBvaW50Rmlyc3Qk
MTsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgaWYgKGxlbmd0aFJpbmcpIGxl
bmd0aFBvaW50JDEoeDAwJDIsIHkwMCQyKTsKKyAgICBsZW5ndGhTdHJlYW0kMS5wb2ludCA9IG5v
b3AkMjsKKyAgfSwKKyAgcG9seWdvblN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICBsZW5ndGhSaW5n
ID0gdHJ1ZTsKKyAgfSwKKyAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7CisgICAgbGVuZ3RoUmlu
ZyA9IG51bGw7CisgIH0sCisgIHJlc3VsdDogZnVuY3Rpb24oKSB7CisgICAgdmFyIGxlbmd0aCA9
ICtsZW5ndGhTdW0kMTsKKyAgICBsZW5ndGhTdW0kMS5yZXNldCgpOworICAgIHJldHVybiBsZW5n
dGg7CisgIH0KK307CisKK2Z1bmN0aW9uIGxlbmd0aFBvaW50Rmlyc3QkMSh4LCB5KSB7CisgIGxl
bmd0aFN0cmVhbSQxLnBvaW50ID0gbGVuZ3RoUG9pbnQkMTsKKyAgeDAwJDIgPSB4MCQ0ID0geCwg
eTAwJDIgPSB5MCQ0ID0geTsKK30KKworZnVuY3Rpb24gbGVuZ3RoUG9pbnQkMSh4LCB5KSB7Cisg
IHgwJDQgLT0geCwgeTAkNCAtPSB5OworICBsZW5ndGhTdW0kMS5hZGQoc3FydCh4MCQ0ICogeDAk
NCArIHkwJDQgKiB5MCQ0KSk7CisgIHgwJDQgPSB4LCB5MCQ0ID0geTsKK30KKworZnVuY3Rpb24g
UGF0aFN0cmluZygpIHsKKyAgdGhpcy5fc3RyaW5nID0gW107Cit9CisKK1BhdGhTdHJpbmcucHJv
dG90eXBlID0geworICBfcmFkaXVzOiA0LjUsCisgIF9jaXJjbGU6IGNpcmNsZSQxKDQuNSksCisg
IHBvaW50UmFkaXVzOiBmdW5jdGlvbihfKSB7CisgICAgaWYgKChfID0gK18pICE9PSB0aGlzLl9y
YWRpdXMpIHRoaXMuX3JhZGl1cyA9IF8sIHRoaXMuX2NpcmNsZSA9IG51bGw7CisgICAgcmV0dXJu
IHRoaXM7CisgIH0sCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGlu
ZSA9IDA7CisgIH0sCisgIHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUg
PSBOYU47CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fcG9pbnQg
PSAwOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fbGluZSA9
PT0gMCkgdGhpcy5fc3RyaW5nLnB1c2goIloiKTsKKyAgICB0aGlzLl9wb2ludCA9IE5hTjsKKyAg
fSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7
CisgICAgICBjYXNlIDA6IHsKKyAgICAgICAgdGhpcy5fc3RyaW5nLnB1c2goIk0iLCB4LCAiLCIs
IHkpOworICAgICAgICB0aGlzLl9wb2ludCA9IDE7CisgICAgICAgIGJyZWFrOworICAgICAgfQor
ICAgICAgY2FzZSAxOiB7CisgICAgICAgIHRoaXMuX3N0cmluZy5wdXNoKCJMIiwgeCwgIiwiLCB5
KTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBkZWZhdWx0OiB7CisgICAgICAgIGlm
ICh0aGlzLl9jaXJjbGUgPT0gbnVsbCkgdGhpcy5fY2lyY2xlID0gY2lyY2xlJDEodGhpcy5fcmFk
aXVzKTsKKyAgICAgICAgdGhpcy5fc3RyaW5nLnB1c2goIk0iLCB4LCAiLCIsIHksIHRoaXMuX2Np
cmNsZSk7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgIH0KKyAgfSwKKyAgcmVzdWx0OiBm
dW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fc3RyaW5nLmxlbmd0aCkgeworICAgICAgdmFyIHJl
c3VsdCA9IHRoaXMuX3N0cmluZy5qb2luKCIiKTsKKyAgICAgIHRoaXMuX3N0cmluZyA9IFtdOwor
ICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9IGVsc2UgeworICAgICAgcmV0dXJuIG51bGw7Cisg
ICAgfQorICB9Cit9OworCitmdW5jdGlvbiBjaXJjbGUkMShyYWRpdXMpIHsKKyAgcmV0dXJuICJt
MCwiICsgcmFkaXVzCisgICAgICArICJhIiArIHJhZGl1cyArICIsIiArIHJhZGl1cyArICIgMCAx
LDEgMCwiICsgLTIgKiByYWRpdXMKKyAgICAgICsgImEiICsgcmFkaXVzICsgIiwiICsgcmFkaXVz
ICsgIiAwIDEsMSAwLCIgKyAyICogcmFkaXVzCisgICAgICArICJ6IjsKK30KKworZnVuY3Rpb24g
aW5kZXgkMShwcm9qZWN0aW9uLCBjb250ZXh0KSB7CisgIHZhciBwb2ludFJhZGl1cyA9IDQuNSwK
KyAgICAgIHByb2plY3Rpb25TdHJlYW0sCisgICAgICBjb250ZXh0U3RyZWFtOworCisgIGZ1bmN0
aW9uIHBhdGgob2JqZWN0KSB7CisgICAgaWYgKG9iamVjdCkgeworICAgICAgaWYgKHR5cGVvZiBw
b2ludFJhZGl1cyA9PT0gImZ1bmN0aW9uIikgY29udGV4dFN0cmVhbS5wb2ludFJhZGl1cygrcG9p
bnRSYWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7CisgICAgICBnZW9TdHJlYW0ob2JqZWN0
LCBwcm9qZWN0aW9uU3RyZWFtKGNvbnRleHRTdHJlYW0pKTsKKyAgICB9CisgICAgcmV0dXJuIGNv
bnRleHRTdHJlYW0ucmVzdWx0KCk7CisgIH0KKworICBwYXRoLmFyZWEgPSBmdW5jdGlvbihvYmpl
Y3QpIHsKKyAgICBnZW9TdHJlYW0ob2JqZWN0LCBwcm9qZWN0aW9uU3RyZWFtKGFyZWFTdHJlYW0k
MSkpOworICAgIHJldHVybiBhcmVhU3RyZWFtJDEucmVzdWx0KCk7CisgIH07CisKKyAgcGF0aC5t
ZWFzdXJlID0gZnVuY3Rpb24ob2JqZWN0KSB7CisgICAgZ2VvU3RyZWFtKG9iamVjdCwgcHJvamVj
dGlvblN0cmVhbShsZW5ndGhTdHJlYW0kMSkpOworICAgIHJldHVybiBsZW5ndGhTdHJlYW0kMS5y
ZXN1bHQoKTsKKyAgfTsKKworICBwYXRoLmJvdW5kcyA9IGZ1bmN0aW9uKG9iamVjdCkgeworICAg
IGdlb1N0cmVhbShvYmplY3QsIHByb2plY3Rpb25TdHJlYW0oYm91bmRzU3RyZWFtJDEpKTsKKyAg
ICByZXR1cm4gYm91bmRzU3RyZWFtJDEucmVzdWx0KCk7CisgIH07CisKKyAgcGF0aC5jZW50cm9p
ZCA9IGZ1bmN0aW9uKG9iamVjdCkgeworICAgIGdlb1N0cmVhbShvYmplY3QsIHByb2plY3Rpb25T
dHJlYW0oY2VudHJvaWRTdHJlYW0kMSkpOworICAgIHJldHVybiBjZW50cm9pZFN0cmVhbSQxLnJl
c3VsdCgpOworICB9OworCisgIHBhdGgucHJvamVjdGlvbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwcm9qZWN0aW9uU3RyZWFtID0gXyA9PSBudWxsID8g
KHByb2plY3Rpb24gPSBudWxsLCBpZGVudGl0eSQ0KSA6IChwcm9qZWN0aW9uID0gXykuc3RyZWFt
LCBwYXRoKSA6IHByb2plY3Rpb247CisgIH07CisKKyAgcGF0aC5jb250ZXh0ID0gZnVuY3Rpb24o
XykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIGNvbnRleHQ7CisgICAgY29u
dGV4dFN0cmVhbSA9IF8gPT0gbnVsbCA/IChjb250ZXh0ID0gbnVsbCwgbmV3IFBhdGhTdHJpbmcp
IDogbmV3IFBhdGhDb250ZXh0KGNvbnRleHQgPSBfKTsKKyAgICBpZiAodHlwZW9mIHBvaW50UmFk
aXVzICE9PSAiZnVuY3Rpb24iKSBjb250ZXh0U3RyZWFtLnBvaW50UmFkaXVzKHBvaW50UmFkaXVz
KTsKKyAgICByZXR1cm4gcGF0aDsKKyAgfTsKKworICBwYXRoLnBvaW50UmFkaXVzID0gZnVuY3Rp
b24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIHBvaW50UmFkaXVzOwor
ICAgIHBvaW50UmFkaXVzID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogKGNvbnRleHRT
dHJlYW0ucG9pbnRSYWRpdXMoK18pLCArXyk7CisgICAgcmV0dXJuIHBhdGg7CisgIH07CisKKyAg
cmV0dXJuIHBhdGgucHJvamVjdGlvbihwcm9qZWN0aW9uKS5jb250ZXh0KGNvbnRleHQpOworfQor
CitmdW5jdGlvbiB0cmFuc2Zvcm0obWV0aG9kcykgeworICByZXR1cm4geworICAgIHN0cmVhbTog
dHJhbnNmb3JtZXIobWV0aG9kcykKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3JtZXIobWV0
aG9kcykgeworICByZXR1cm4gZnVuY3Rpb24oc3RyZWFtKSB7CisgICAgdmFyIHMgPSBuZXcgVHJh
bnNmb3JtU3RyZWFtOworICAgIGZvciAodmFyIGtleSBpbiBtZXRob2RzKSBzW2tleV0gPSBtZXRo
b2RzW2tleV07CisgICAgcy5zdHJlYW0gPSBzdHJlYW07CisgICAgcmV0dXJuIHM7CisgIH07Cit9
CisKK2Z1bmN0aW9uIFRyYW5zZm9ybVN0cmVhbSgpIHt9CisKK1RyYW5zZm9ybVN0cmVhbS5wcm90
b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBUcmFuc2Zvcm1TdHJlYW0sCisgIHBvaW50OiBmdW5j
dGlvbih4LCB5KSB7IHRoaXMuc3RyZWFtLnBvaW50KHgsIHkpOyB9LAorICBzcGhlcmU6IGZ1bmN0
aW9uKCkgeyB0aGlzLnN0cmVhbS5zcGhlcmUoKTsgfSwKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigp
IHsgdGhpcy5zdHJlYW0ubGluZVN0YXJ0KCk7IH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeyB0
aGlzLnN0cmVhbS5saW5lRW5kKCk7IH0sCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7IHRo
aXMuc3RyZWFtLnBvbHlnb25TdGFydCgpOyB9LAorICBwb2x5Z29uRW5kOiBmdW5jdGlvbigpIHsg
dGhpcy5zdHJlYW0ucG9seWdvbkVuZCgpOyB9Cit9OworCitmdW5jdGlvbiBmaXQocHJvamVjdGlv
biwgZml0Qm91bmRzLCBvYmplY3QpIHsKKyAgdmFyIGNsaXAgPSBwcm9qZWN0aW9uLmNsaXBFeHRl
bnQgJiYgcHJvamVjdGlvbi5jbGlwRXh0ZW50KCk7CisgIHByb2plY3Rpb24uc2NhbGUoMTUwKS50
cmFuc2xhdGUoWzAsIDBdKTsKKyAgaWYgKGNsaXAgIT0gbnVsbCkgcHJvamVjdGlvbi5jbGlwRXh0
ZW50KG51bGwpOworICBnZW9TdHJlYW0ob2JqZWN0LCBwcm9qZWN0aW9uLnN0cmVhbShib3VuZHNT
dHJlYW0kMSkpOworICBmaXRCb3VuZHMoYm91bmRzU3RyZWFtJDEucmVzdWx0KCkpOworICBpZiAo
Y2xpcCAhPSBudWxsKSBwcm9qZWN0aW9uLmNsaXBFeHRlbnQoY2xpcCk7CisgIHJldHVybiBwcm9q
ZWN0aW9uOworfQorCitmdW5jdGlvbiBmaXRFeHRlbnQocHJvamVjdGlvbiwgZXh0ZW50LCBvYmpl
Y3QpIHsKKyAgcmV0dXJuIGZpdChwcm9qZWN0aW9uLCBmdW5jdGlvbihiKSB7CisgICAgdmFyIHcg
PSBleHRlbnRbMV1bMF0gLSBleHRlbnRbMF1bMF0sCisgICAgICAgIGggPSBleHRlbnRbMV1bMV0g
LSBleHRlbnRbMF1bMV0sCisgICAgICAgIGsgPSBNYXRoLm1pbih3IC8gKGJbMV1bMF0gLSBiWzBd
WzBdKSwgaCAvIChiWzFdWzFdIC0gYlswXVsxXSkpLAorICAgICAgICB4ID0gK2V4dGVudFswXVsw
XSArICh3IC0gayAqIChiWzFdWzBdICsgYlswXVswXSkpIC8gMiwKKyAgICAgICAgeSA9ICtleHRl
bnRbMF1bMV0gKyAoaCAtIGsgKiAoYlsxXVsxXSArIGJbMF1bMV0pKSAvIDI7CisgICAgcHJvamVj
dGlvbi5zY2FsZSgxNTAgKiBrKS50cmFuc2xhdGUoW3gsIHldKTsKKyAgfSwgb2JqZWN0KTsKK30K
KworZnVuY3Rpb24gZml0U2l6ZShwcm9qZWN0aW9uLCBzaXplLCBvYmplY3QpIHsKKyAgcmV0dXJu
IGZpdEV4dGVudChwcm9qZWN0aW9uLCBbWzAsIDBdLCBzaXplXSwgb2JqZWN0KTsKK30KKworZnVu
Y3Rpb24gZml0V2lkdGgocHJvamVjdGlvbiwgd2lkdGgsIG9iamVjdCkgeworICByZXR1cm4gZml0
KHByb2plY3Rpb24sIGZ1bmN0aW9uKGIpIHsKKyAgICB2YXIgdyA9ICt3aWR0aCwKKyAgICAgICAg
ayA9IHcgLyAoYlsxXVswXSAtIGJbMF1bMF0pLAorICAgICAgICB4ID0gKHcgLSBrICogKGJbMV1b
MF0gKyBiWzBdWzBdKSkgLyAyLAorICAgICAgICB5ID0gLWsgKiBiWzBdWzFdOworICAgIHByb2pl
Y3Rpb24uc2NhbGUoMTUwICogaykudHJhbnNsYXRlKFt4LCB5XSk7CisgIH0sIG9iamVjdCk7Cit9
CisKK2Z1bmN0aW9uIGZpdEhlaWdodChwcm9qZWN0aW9uLCBoZWlnaHQsIG9iamVjdCkgeworICBy
ZXR1cm4gZml0KHByb2plY3Rpb24sIGZ1bmN0aW9uKGIpIHsKKyAgICB2YXIgaCA9ICtoZWlnaHQs
CisgICAgICAgIGsgPSBoIC8gKGJbMV1bMV0gLSBiWzBdWzFdKSwKKyAgICAgICAgeCA9IC1rICog
YlswXVswXSwKKyAgICAgICAgeSA9IChoIC0gayAqIChiWzFdWzFdICsgYlswXVsxXSkpIC8gMjsK
KyAgICBwcm9qZWN0aW9uLnNjYWxlKDE1MCAqIGspLnRyYW5zbGF0ZShbeCwgeV0pOworICB9LCBv
YmplY3QpOworfQorCit2YXIgbWF4RGVwdGggPSAxNiwgLy8gbWF4aW11bSBkZXB0aCBvZiBzdWJk
aXZpc2lvbgorICAgIGNvc01pbkRpc3RhbmNlID0gY29zJDEoMzAgKiByYWRpYW5zKTsgLy8gY29z
KG1pbmltdW0gYW5ndWxhciBkaXN0YW5jZSkKKworZnVuY3Rpb24gcmVzYW1wbGUocHJvamVjdCwg
ZGVsdGEyKSB7CisgIHJldHVybiArZGVsdGEyID8gcmVzYW1wbGUkMShwcm9qZWN0LCBkZWx0YTIp
IDogcmVzYW1wbGVOb25lKHByb2plY3QpOworfQorCitmdW5jdGlvbiByZXNhbXBsZU5vbmUocHJv
amVjdCkgeworICByZXR1cm4gdHJhbnNmb3JtZXIoeworICAgIHBvaW50OiBmdW5jdGlvbih4LCB5
KSB7CisgICAgICB4ID0gcHJvamVjdCh4LCB5KTsKKyAgICAgIHRoaXMuc3RyZWFtLnBvaW50KHhb
MF0sIHhbMV0pOworICAgIH0KKyAgfSk7Cit9CisKK2Z1bmN0aW9uIHJlc2FtcGxlJDEocHJvamVj
dCwgZGVsdGEyKSB7CisKKyAgZnVuY3Rpb24gcmVzYW1wbGVMaW5lVG8oeDAsIHkwLCBsYW1iZGEw
LCBhMCwgYjAsIGMwLCB4MSwgeTEsIGxhbWJkYTEsIGExLCBiMSwgYzEsIGRlcHRoLCBzdHJlYW0p
IHsKKyAgICB2YXIgZHggPSB4MSAtIHgwLAorICAgICAgICBkeSA9IHkxIC0geTAsCisgICAgICAg
IGQyID0gZHggKiBkeCArIGR5ICogZHk7CisgICAgaWYgKGQyID4gNCAqIGRlbHRhMiAmJiBkZXB0
aC0tKSB7CisgICAgICB2YXIgYSA9IGEwICsgYTEsCisgICAgICAgICAgYiA9IGIwICsgYjEsCisg
ICAgICAgICAgYyA9IGMwICsgYzEsCisgICAgICAgICAgbSA9IHNxcnQoYSAqIGEgKyBiICogYiAr
IGMgKiBjKSwKKyAgICAgICAgICBwaGkyID0gYXNpbihjIC89IG0pLAorICAgICAgICAgIGxhbWJk
YTIgPSBhYnMoYWJzKGMpIC0gMSkgPCBlcHNpbG9uJDIgfHwgYWJzKGxhbWJkYTAgLSBsYW1iZGEx
KSA8IGVwc2lsb24kMiA/IChsYW1iZGEwICsgbGFtYmRhMSkgLyAyIDogYXRhbjIoYiwgYSksCisg
ICAgICAgICAgcCA9IHByb2plY3QobGFtYmRhMiwgcGhpMiksCisgICAgICAgICAgeDIgPSBwWzBd
LAorICAgICAgICAgIHkyID0gcFsxXSwKKyAgICAgICAgICBkeDIgPSB4MiAtIHgwLAorICAgICAg
ICAgIGR5MiA9IHkyIC0geTAsCisgICAgICAgICAgZHogPSBkeSAqIGR4MiAtIGR4ICogZHkyOwor
ICAgICAgaWYgKGR6ICogZHogLyBkMiA+IGRlbHRhMiAvLyBwZXJwZW5kaWN1bGFyIHByb2plY3Rl
ZCBkaXN0YW5jZQorICAgICAgICAgIHx8IGFicygoZHggKiBkeDIgKyBkeSAqIGR5MikgLyBkMiAt
IDAuNSkgPiAwLjMgLy8gbWlkcG9pbnQgY2xvc2UgdG8gYW4gZW5kCisgICAgICAgICAgfHwgYTAg
KiBhMSArIGIwICogYjEgKyBjMCAqIGMxIDwgY29zTWluRGlzdGFuY2UpIHsgLy8gYW5ndWxhciBk
aXN0YW5jZQorICAgICAgICByZXNhbXBsZUxpbmVUbyh4MCwgeTAsIGxhbWJkYTAsIGEwLCBiMCwg
YzAsIHgyLCB5MiwgbGFtYmRhMiwgYSAvPSBtLCBiIC89IG0sIGMsIGRlcHRoLCBzdHJlYW0pOwor
ICAgICAgICBzdHJlYW0ucG9pbnQoeDIsIHkyKTsKKyAgICAgICAgcmVzYW1wbGVMaW5lVG8oeDIs
IHkyLCBsYW1iZGEyLCBhLCBiLCBjLCB4MSwgeTEsIGxhbWJkYTEsIGExLCBiMSwgYzEsIGRlcHRo
LCBzdHJlYW0pOworICAgICAgfQorICAgIH0KKyAgfQorICByZXR1cm4gZnVuY3Rpb24oc3RyZWFt
KSB7CisgICAgdmFyIGxhbWJkYTAwLCB4MDAsIHkwMCwgYTAwLCBiMDAsIGMwMCwgLy8gZmlyc3Qg
cG9pbnQKKyAgICAgICAgbGFtYmRhMCwgeDAsIHkwLCBhMCwgYjAsIGMwOyAvLyBwcmV2aW91cyBw
b2ludAorCisgICAgdmFyIHJlc2FtcGxlU3RyZWFtID0geworICAgICAgcG9pbnQ6IHBvaW50LAor
ICAgICAgbGluZVN0YXJ0OiBsaW5lU3RhcnQsCisgICAgICBsaW5lRW5kOiBsaW5lRW5kLAorICAg
ICAgcG9seWdvblN0YXJ0OiBmdW5jdGlvbigpIHsgc3RyZWFtLnBvbHlnb25TdGFydCgpOyByZXNh
bXBsZVN0cmVhbS5saW5lU3RhcnQgPSByaW5nU3RhcnQ7IH0sCisgICAgICBwb2x5Z29uRW5kOiBm
dW5jdGlvbigpIHsgc3RyZWFtLnBvbHlnb25FbmQoKTsgcmVzYW1wbGVTdHJlYW0ubGluZVN0YXJ0
ID0gbGluZVN0YXJ0OyB9CisgICAgfTsKKworICAgIGZ1bmN0aW9uIHBvaW50KHgsIHkpIHsKKyAg
ICAgIHggPSBwcm9qZWN0KHgsIHkpOworICAgICAgc3RyZWFtLnBvaW50KHhbMF0sIHhbMV0pOwor
ICAgIH0KKworICAgIGZ1bmN0aW9uIGxpbmVTdGFydCgpIHsKKyAgICAgIHgwID0gTmFOOworICAg
ICAgcmVzYW1wbGVTdHJlYW0ucG9pbnQgPSBsaW5lUG9pbnQ7CisgICAgICBzdHJlYW0ubGluZVN0
YXJ0KCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbGluZVBvaW50KGxhbWJkYSwgcGhpKSB7Cisg
ICAgICB2YXIgYyA9IGNhcnRlc2lhbihbbGFtYmRhLCBwaGldKSwgcCA9IHByb2plY3QobGFtYmRh
LCBwaGkpOworICAgICAgcmVzYW1wbGVMaW5lVG8oeDAsIHkwLCBsYW1iZGEwLCBhMCwgYjAsIGMw
LCB4MCA9IHBbMF0sIHkwID0gcFsxXSwgbGFtYmRhMCA9IGxhbWJkYSwgYTAgPSBjWzBdLCBiMCA9
IGNbMV0sIGMwID0gY1syXSwgbWF4RGVwdGgsIHN0cmVhbSk7CisgICAgICBzdHJlYW0ucG9pbnQo
eDAsIHkwKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsaW5lRW5kKCkgeworICAgICAgcmVzYW1w
bGVTdHJlYW0ucG9pbnQgPSBwb2ludDsKKyAgICAgIHN0cmVhbS5saW5lRW5kKCk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gcmluZ1N0YXJ0KCkgeworICAgICAgbGluZVN0YXJ0KCk7CisgICAgICBy
ZXNhbXBsZVN0cmVhbS5wb2ludCA9IHJpbmdQb2ludDsKKyAgICAgIHJlc2FtcGxlU3RyZWFtLmxp
bmVFbmQgPSByaW5nRW5kOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJpbmdQb2ludChsYW1iZGEs
IHBoaSkgeworICAgICAgbGluZVBvaW50KGxhbWJkYTAwID0gbGFtYmRhLCBwaGkpLCB4MDAgPSB4
MCwgeTAwID0geTAsIGEwMCA9IGEwLCBiMDAgPSBiMCwgYzAwID0gYzA7CisgICAgICByZXNhbXBs
ZVN0cmVhbS5wb2ludCA9IGxpbmVQb2ludDsKKyAgICB9CisKKyAgICBmdW5jdGlvbiByaW5nRW5k
KCkgeworICAgICAgcmVzYW1wbGVMaW5lVG8oeDAsIHkwLCBsYW1iZGEwLCBhMCwgYjAsIGMwLCB4
MDAsIHkwMCwgbGFtYmRhMDAsIGEwMCwgYjAwLCBjMDAsIG1heERlcHRoLCBzdHJlYW0pOworICAg
ICAgcmVzYW1wbGVTdHJlYW0ubGluZUVuZCA9IGxpbmVFbmQ7CisgICAgICBsaW5lRW5kKCk7Cisg
ICAgfQorCisgICAgcmV0dXJuIHJlc2FtcGxlU3RyZWFtOworICB9OworfQorCit2YXIgdHJhbnNm
b3JtUmFkaWFucyA9IHRyYW5zZm9ybWVyKHsKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAg
ICB0aGlzLnN0cmVhbS5wb2ludCh4ICogcmFkaWFucywgeSAqIHJhZGlhbnMpOworICB9Cit9KTsK
KworZnVuY3Rpb24gdHJhbnNmb3JtUm90YXRlKHJvdGF0ZSkgeworICByZXR1cm4gdHJhbnNmb3Jt
ZXIoeworICAgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgICB2YXIgciA9IHJvdGF0ZSh4
LCB5KTsKKyAgICAgIHJldHVybiB0aGlzLnN0cmVhbS5wb2ludChyWzBdLCByWzFdKTsKKyAgICB9
CisgIH0pOworfQorCitmdW5jdGlvbiBzY2FsZVRyYW5zbGF0ZShrLCBkeCwgZHkpIHsKKyAgZnVu
Y3Rpb24gdHJhbnNmb3JtKHgsIHkpIHsKKyAgICByZXR1cm4gW2R4ICsgayAqIHgsIGR5IC0gayAq
IHldOworICB9CisgIHRyYW5zZm9ybS5pbnZlcnQgPSBmdW5jdGlvbih4LCB5KSB7CisgICAgcmV0
dXJuIFsoeCAtIGR4KSAvIGssIChkeSAtIHkpIC8ga107CisgIH07CisgIHJldHVybiB0cmFuc2Zv
cm07Cit9CisKK2Z1bmN0aW9uIHNjYWxlVHJhbnNsYXRlUm90YXRlKGssIGR4LCBkeSwgYWxwaGEp
IHsKKyAgdmFyIGNvc0FscGhhID0gY29zJDEoYWxwaGEpLAorICAgICAgc2luQWxwaGEgPSBzaW4k
MShhbHBoYSksCisgICAgICBhID0gY29zQWxwaGEgKiBrLAorICAgICAgYiA9IHNpbkFscGhhICog
aywKKyAgICAgIGFpID0gY29zQWxwaGEgLyBrLAorICAgICAgYmkgPSBzaW5BbHBoYSAvIGssCisg
ICAgICBjaSA9IChzaW5BbHBoYSAqIGR5IC0gY29zQWxwaGEgKiBkeCkgLyBrLAorICAgICAgZmkg
PSAoc2luQWxwaGEgKiBkeCArIGNvc0FscGhhICogZHkpIC8gazsKKyAgZnVuY3Rpb24gdHJhbnNm
b3JtKHgsIHkpIHsKKyAgICByZXR1cm4gW2EgKiB4IC0gYiAqIHkgKyBkeCwgZHkgLSBiICogeCAt
IGEgKiB5XTsKKyAgfQorICB0cmFuc2Zvcm0uaW52ZXJ0ID0gZnVuY3Rpb24oeCwgeSkgeworICAg
IHJldHVybiBbYWkgKiB4IC0gYmkgKiB5ICsgY2ksIGZpIC0gYmkgKiB4IC0gYWkgKiB5XTsKKyAg
fTsKKyAgcmV0dXJuIHRyYW5zZm9ybTsKK30KKworZnVuY3Rpb24gcHJvamVjdGlvbihwcm9qZWN0
KSB7CisgIHJldHVybiBwcm9qZWN0aW9uTXV0YXRvcihmdW5jdGlvbigpIHsgcmV0dXJuIHByb2pl
Y3Q7IH0pKCk7Cit9CisKK2Z1bmN0aW9uIHByb2plY3Rpb25NdXRhdG9yKHByb2plY3RBdCkgewor
ICB2YXIgcHJvamVjdCwKKyAgICAgIGsgPSAxNTAsIC8vIHNjYWxlCisgICAgICB4ID0gNDgwLCB5
ID0gMjUwLCAvLyB0cmFuc2xhdGUKKyAgICAgIGxhbWJkYSA9IDAsIHBoaSA9IDAsIC8vIGNlbnRl
cgorICAgICAgZGVsdGFMYW1iZGEgPSAwLCBkZWx0YVBoaSA9IDAsIGRlbHRhR2FtbWEgPSAwLCBy
b3RhdGUsIC8vIHByZS1yb3RhdGUKKyAgICAgIGFscGhhID0gMCwgLy8gcG9zdC1yb3RhdGUKKyAg
ICAgIHRoZXRhID0gbnVsbCwgcHJlY2xpcCA9IGNsaXBBbnRpbWVyaWRpYW4sIC8vIHByZS1jbGlw
IGFuZ2xlCisgICAgICB4MCA9IG51bGwsIHkwLCB4MSwgeTEsIHBvc3RjbGlwID0gaWRlbnRpdHkk
NCwgLy8gcG9zdC1jbGlwIGV4dGVudAorICAgICAgZGVsdGEyID0gMC41LCAvLyBwcmVjaXNpb24K
KyAgICAgIHByb2plY3RSZXNhbXBsZSwKKyAgICAgIHByb2plY3RUcmFuc2Zvcm0sCisgICAgICBw
cm9qZWN0Um90YXRlVHJhbnNmb3JtLAorICAgICAgY2FjaGUsCisgICAgICBjYWNoZVN0cmVhbTsK
KworICBmdW5jdGlvbiBwcm9qZWN0aW9uKHBvaW50KSB7CisgICAgcmV0dXJuIHByb2plY3RSb3Rh
dGVUcmFuc2Zvcm0ocG9pbnRbMF0gKiByYWRpYW5zLCBwb2ludFsxXSAqIHJhZGlhbnMpOworICB9
CisKKyAgZnVuY3Rpb24gaW52ZXJ0KHBvaW50KSB7CisgICAgcG9pbnQgPSBwcm9qZWN0Um90YXRl
VHJhbnNmb3JtLmludmVydChwb2ludFswXSwgcG9pbnRbMV0pOworICAgIHJldHVybiBwb2ludCAm
JiBbcG9pbnRbMF0gKiBkZWdyZWVzJDEsIHBvaW50WzFdICogZGVncmVlcyQxXTsKKyAgfQorCisg
IHByb2plY3Rpb24uc3RyZWFtID0gZnVuY3Rpb24oc3RyZWFtKSB7CisgICAgcmV0dXJuIGNhY2hl
ICYmIGNhY2hlU3RyZWFtID09PSBzdHJlYW0gPyBjYWNoZSA6IGNhY2hlID0gdHJhbnNmb3JtUmFk
aWFucyh0cmFuc2Zvcm1Sb3RhdGUocm90YXRlKShwcmVjbGlwKHByb2plY3RSZXNhbXBsZShwb3N0
Y2xpcChjYWNoZVN0cmVhbSA9IHN0cmVhbSkpKSkpOworICB9OworCisgIHByb2plY3Rpb24ucHJl
Y2xpcCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwcmVj
bGlwID0gXywgdGhldGEgPSB1bmRlZmluZWQsIHJlc2V0KCkpIDogcHJlY2xpcDsKKyAgfTsKKwor
ICBwcm9qZWN0aW9uLnBvc3RjbGlwID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHBvc3RjbGlwID0gXywgeDAgPSB5MCA9IHgxID0geTEgPSBudWxsLCByZXNl
dCgpKSA6IHBvc3RjbGlwOworICB9OworCisgIHByb2plY3Rpb24uY2xpcEFuZ2xlID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHByZWNsaXAgPSArXyA/IGNs
aXBDaXJjbGUodGhldGEgPSBfICogcmFkaWFucykgOiAodGhldGEgPSBudWxsLCBjbGlwQW50aW1l
cmlkaWFuKSwgcmVzZXQoKSkgOiB0aGV0YSAqIGRlZ3JlZXMkMTsKKyAgfTsKKworICBwcm9qZWN0
aW9uLmNsaXBFeHRlbnQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAocG9zdGNsaXAgPSBfID09IG51bGwgPyAoeDAgPSB5MCA9IHgxID0geTEgPSBudWxsLCBp
ZGVudGl0eSQ0KSA6IGNsaXBSZWN0YW5nbGUoeDAgPSArX1swXVswXSwgeTAgPSArX1swXVsxXSwg
eDEgPSArX1sxXVswXSwgeTEgPSArX1sxXVsxXSksIHJlc2V0KCkpIDogeDAgPT0gbnVsbCA/IG51
bGwgOiBbW3gwLCB5MF0sIFt4MSwgeTFdXTsKKyAgfTsKKworICBwcm9qZWN0aW9uLnNjYWxlID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGsgPSArXywgcmVj
ZW50ZXIoKSkgOiBrOworICB9OworCisgIHByb2plY3Rpb24udHJhbnNsYXRlID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHggPSArX1swXSwgeSA9ICtfWzFd
LCByZWNlbnRlcigpKSA6IFt4LCB5XTsKKyAgfTsKKworICBwcm9qZWN0aW9uLmNlbnRlciA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChsYW1iZGEgPSBfWzBd
ICUgMzYwICogcmFkaWFucywgcGhpID0gX1sxXSAlIDM2MCAqIHJhZGlhbnMsIHJlY2VudGVyKCkp
IDogW2xhbWJkYSAqIGRlZ3JlZXMkMSwgcGhpICogZGVncmVlcyQxXTsKKyAgfTsKKworICBwcm9q
ZWN0aW9uLnJvdGF0ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0
aCA/IChkZWx0YUxhbWJkYSA9IF9bMF0gJSAzNjAgKiByYWRpYW5zLCBkZWx0YVBoaSA9IF9bMV0g
JSAzNjAgKiByYWRpYW5zLCBkZWx0YUdhbW1hID0gXy5sZW5ndGggPiAyID8gX1syXSAlIDM2MCAq
IHJhZGlhbnMgOiAwLCByZWNlbnRlcigpKSA6IFtkZWx0YUxhbWJkYSAqIGRlZ3JlZXMkMSwgZGVs
dGFQaGkgKiBkZWdyZWVzJDEsIGRlbHRhR2FtbWEgKiBkZWdyZWVzJDFdOworICB9OworCisgIHBy
b2plY3Rpb24uYW5nbGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAoYWxwaGEgPSBfICUgMzYwICogcmFkaWFucywgcmVjZW50ZXIoKSkgOiBhbHBoYSAqIGRl
Z3JlZXMkMTsKKyAgfTsKKworICBwcm9qZWN0aW9uLnByZWNpc2lvbiA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwcm9qZWN0UmVzYW1wbGUgPSByZXNhbXBs
ZShwcm9qZWN0VHJhbnNmb3JtLCBkZWx0YTIgPSBfICogXyksIHJlc2V0KCkpIDogc3FydChkZWx0
YTIpOworICB9OworCisgIHByb2plY3Rpb24uZml0RXh0ZW50ID0gZnVuY3Rpb24oZXh0ZW50LCBv
YmplY3QpIHsKKyAgICByZXR1cm4gZml0RXh0ZW50KHByb2plY3Rpb24sIGV4dGVudCwgb2JqZWN0
KTsKKyAgfTsKKworICBwcm9qZWN0aW9uLmZpdFNpemUgPSBmdW5jdGlvbihzaXplLCBvYmplY3Qp
IHsKKyAgICByZXR1cm4gZml0U2l6ZShwcm9qZWN0aW9uLCBzaXplLCBvYmplY3QpOworICB9Owor
CisgIHByb2plY3Rpb24uZml0V2lkdGggPSBmdW5jdGlvbih3aWR0aCwgb2JqZWN0KSB7CisgICAg
cmV0dXJuIGZpdFdpZHRoKHByb2plY3Rpb24sIHdpZHRoLCBvYmplY3QpOworICB9OworCisgIHBy
b2plY3Rpb24uZml0SGVpZ2h0ID0gZnVuY3Rpb24oaGVpZ2h0LCBvYmplY3QpIHsKKyAgICByZXR1
cm4gZml0SGVpZ2h0KHByb2plY3Rpb24sIGhlaWdodCwgb2JqZWN0KTsKKyAgfTsKKworICBmdW5j
dGlvbiByZWNlbnRlcigpIHsKKyAgICB2YXIgY2VudGVyID0gc2NhbGVUcmFuc2xhdGVSb3RhdGUo
aywgMCwgMCwgYWxwaGEpLmFwcGx5KG51bGwsIHByb2plY3QobGFtYmRhLCBwaGkpKSwKKyAgICAg
ICAgdHJhbnNmb3JtID0gKGFscGhhID8gc2NhbGVUcmFuc2xhdGVSb3RhdGUgOiBzY2FsZVRyYW5z
bGF0ZSkoaywgeCAtIGNlbnRlclswXSwgeSAtIGNlbnRlclsxXSwgYWxwaGEpOworICAgIHJvdGF0
ZSA9IHJvdGF0ZVJhZGlhbnMoZGVsdGFMYW1iZGEsIGRlbHRhUGhpLCBkZWx0YUdhbW1hKTsKKyAg
ICBwcm9qZWN0VHJhbnNmb3JtID0gY29tcG9zZShwcm9qZWN0LCB0cmFuc2Zvcm0pOworICAgIHBy
b2plY3RSb3RhdGVUcmFuc2Zvcm0gPSBjb21wb3NlKHJvdGF0ZSwgcHJvamVjdFRyYW5zZm9ybSk7
CisgICAgcHJvamVjdFJlc2FtcGxlID0gcmVzYW1wbGUocHJvamVjdFRyYW5zZm9ybSwgZGVsdGEy
KTsKKyAgICByZXR1cm4gcmVzZXQoKTsKKyAgfQorCisgIGZ1bmN0aW9uIHJlc2V0KCkgeworICAg
IGNhY2hlID0gY2FjaGVTdHJlYW0gPSBudWxsOworICAgIHJldHVybiBwcm9qZWN0aW9uOworICB9
CisKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHByb2plY3QgPSBwcm9qZWN0QXQuYXBwbHko
dGhpcywgYXJndW1lbnRzKTsKKyAgICBwcm9qZWN0aW9uLmludmVydCA9IHByb2plY3QuaW52ZXJ0
ICYmIGludmVydDsKKyAgICByZXR1cm4gcmVjZW50ZXIoKTsKKyAgfTsKK30KKworZnVuY3Rpb24g
Y29uaWNQcm9qZWN0aW9uKHByb2plY3RBdCkgeworICB2YXIgcGhpMCA9IDAsCisgICAgICBwaGkx
ID0gcGkkMyAvIDMsCisgICAgICBtID0gcHJvamVjdGlvbk11dGF0b3IocHJvamVjdEF0KSwKKyAg
ICAgIHAgPSBtKHBoaTAsIHBoaTEpOworCisgIHAucGFyYWxsZWxzID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gbShwaGkwID0gX1swXSAqIHJhZGlhbnMsIHBo
aTEgPSBfWzFdICogcmFkaWFucykgOiBbcGhpMCAqIGRlZ3JlZXMkMSwgcGhpMSAqIGRlZ3JlZXMk
MV07CisgIH07CisKKyAgcmV0dXJuIHA7Cit9CisKK2Z1bmN0aW9uIGN5bGluZHJpY2FsRXF1YWxB
cmVhUmF3KHBoaTApIHsKKyAgdmFyIGNvc1BoaTAgPSBjb3MkMShwaGkwKTsKKworICBmdW5jdGlv
biBmb3J3YXJkKGxhbWJkYSwgcGhpKSB7CisgICAgcmV0dXJuIFtsYW1iZGEgKiBjb3NQaGkwLCBz
aW4kMShwaGkpIC8gY29zUGhpMF07CisgIH0KKworICBmb3J3YXJkLmludmVydCA9IGZ1bmN0aW9u
KHgsIHkpIHsKKyAgICByZXR1cm4gW3ggLyBjb3NQaGkwLCBhc2luKHkgKiBjb3NQaGkwKV07Cisg
IH07CisKKyAgcmV0dXJuIGZvcndhcmQ7Cit9CisKK2Z1bmN0aW9uIGNvbmljRXF1YWxBcmVhUmF3
KHkwLCB5MSkgeworICB2YXIgc3kwID0gc2luJDEoeTApLCBuID0gKHN5MCArIHNpbiQxKHkxKSkg
LyAyOworCisgIC8vIEFyZSB0aGUgcGFyYWxsZWxzIHN5bW1ldHJpY2FsIGFyb3VuZCB0aGUgRXF1
YXRvcj8KKyAgaWYgKGFicyhuKSA8IGVwc2lsb24kMikgcmV0dXJuIGN5bGluZHJpY2FsRXF1YWxB
cmVhUmF3KHkwKTsKKworICB2YXIgYyA9IDEgKyBzeTAgKiAoMiAqIG4gLSBzeTApLCByMCA9IHNx
cnQoYykgLyBuOworCisgIGZ1bmN0aW9uIHByb2plY3QoeCwgeSkgeworICAgIHZhciByID0gc3Fy
dChjIC0gMiAqIG4gKiBzaW4kMSh5KSkgLyBuOworICAgIHJldHVybiBbciAqIHNpbiQxKHggKj0g
biksIHIwIC0gciAqIGNvcyQxKHgpXTsKKyAgfQorCisgIHByb2plY3QuaW52ZXJ0ID0gZnVuY3Rp
b24oeCwgeSkgeworICAgIHZhciByMHkgPSByMCAtIHk7CisgICAgcmV0dXJuIFthdGFuMih4LCBh
YnMocjB5KSkgLyBuICogc2lnbihyMHkpLCBhc2luKChjIC0gKHggKiB4ICsgcjB5ICogcjB5KSAq
IG4gKiBuKSAvICgyICogbikpXTsKKyAgfTsKKworICByZXR1cm4gcHJvamVjdDsKK30KKworZnVu
Y3Rpb24gY29uaWNFcXVhbEFyZWEoKSB7CisgIHJldHVybiBjb25pY1Byb2plY3Rpb24oY29uaWNF
cXVhbEFyZWFSYXcpCisgICAgICAuc2NhbGUoMTU1LjQyNCkKKyAgICAgIC5jZW50ZXIoWzAsIDMz
LjY0NDJdKTsKK30KKworZnVuY3Rpb24gYWxiZXJzKCkgeworICByZXR1cm4gY29uaWNFcXVhbEFy
ZWEoKQorICAgICAgLnBhcmFsbGVscyhbMjkuNSwgNDUuNV0pCisgICAgICAuc2NhbGUoMTA3MCkK
KyAgICAgIC50cmFuc2xhdGUoWzQ4MCwgMjUwXSkKKyAgICAgIC5yb3RhdGUoWzk2LCAwXSkKKyAg
ICAgIC5jZW50ZXIoWy0wLjYsIDM4LjddKTsKK30KKworLy8gVGhlIHByb2plY3Rpb25zIG11c3Qg
aGF2ZSBtdXR1YWxseSBleGNsdXNpdmUgY2xpcCByZWdpb25zIG9uIHRoZSBzcGhlcmUsCisvLyBh
cyB0aGlzIHdpbGwgYXZvaWQgZW1pdHRpbmcgaW50ZXJsZWF2aW5nIGxpbmVzIGFuZCBwb2x5Z29u
cy4KK2Z1bmN0aW9uIG11bHRpcGxleChzdHJlYW1zKSB7CisgIHZhciBuID0gc3RyZWFtcy5sZW5n
dGg7CisgIHJldHVybiB7CisgICAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsgdmFyIGkgPSAtMTsg
d2hpbGUgKCsraSA8IG4pIHN0cmVhbXNbaV0ucG9pbnQoeCwgeSk7IH0sCisgICAgc3BoZXJlOiBm
dW5jdGlvbigpIHsgdmFyIGkgPSAtMTsgd2hpbGUgKCsraSA8IG4pIHN0cmVhbXNbaV0uc3BoZXJl
KCk7IH0sCisgICAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsgdmFyIGkgPSAtMTsgd2hpbGUgKCsr
aSA8IG4pIHN0cmVhbXNbaV0ubGluZVN0YXJ0KCk7IH0sCisgICAgbGluZUVuZDogZnVuY3Rpb24o
KSB7IHZhciBpID0gLTE7IHdoaWxlICgrK2kgPCBuKSBzdHJlYW1zW2ldLmxpbmVFbmQoKTsgfSwK
KyAgICBwb2x5Z29uU3RhcnQ6IGZ1bmN0aW9uKCkgeyB2YXIgaSA9IC0xOyB3aGlsZSAoKytpIDwg
bikgc3RyZWFtc1tpXS5wb2x5Z29uU3RhcnQoKTsgfSwKKyAgICBwb2x5Z29uRW5kOiBmdW5jdGlv
bigpIHsgdmFyIGkgPSAtMTsgd2hpbGUgKCsraSA8IG4pIHN0cmVhbXNbaV0ucG9seWdvbkVuZCgp
OyB9CisgIH07Cit9CisKKy8vIEEgY29tcG9zaXRlIHByb2plY3Rpb24gZm9yIHRoZSBVbml0ZWQg
U3RhdGVzLCBjb25maWd1cmVkIGJ5IGRlZmF1bHQgZm9yCisvLyA5NjDDlzUwMC4gVGhlIHByb2pl
Y3Rpb24gYWxzbyB3b3JrcyBxdWl0ZSB3ZWxsIGF0IDk2MMOXNjAwIGlmIHlvdSBjaGFuZ2UgdGhl
CisvLyBzY2FsZSB0byAxMjg1IGFuZCBhZGp1c3QgdGhlIHRyYW5zbGF0ZSBhY2NvcmRpbmdseS4g
VGhlIHNldCBvZiBzdGFuZGFyZAorLy8gcGFyYWxsZWxzIGZvciBlYWNoIHJlZ2lvbiBjb21lcyBm
cm9tIFVTR1MsIHdoaWNoIGlzIHB1Ymxpc2hlZCBoZXJlOgorLy8gaHR0cDovL2Vnc2MudXNncy5n
b3YvaXNiL3B1YnMvTWFwUHJvamVjdGlvbnMvcHJvamVjdGlvbnMuaHRtbCNhbGJlcnMKK2Z1bmN0
aW9uIGFsYmVyc1VzYSgpIHsKKyAgdmFyIGNhY2hlLAorICAgICAgY2FjaGVTdHJlYW0sCisgICAg
ICBsb3dlcjQ4ID0gYWxiZXJzKCksIGxvd2VyNDhQb2ludCwKKyAgICAgIGFsYXNrYSA9IGNvbmlj
RXF1YWxBcmVhKCkucm90YXRlKFsxNTQsIDBdKS5jZW50ZXIoWy0yLCA1OC41XSkucGFyYWxsZWxz
KFs1NSwgNjVdKSwgYWxhc2thUG9pbnQsIC8vIEVQU0c6MzMzOAorICAgICAgaGF3YWlpID0gY29u
aWNFcXVhbEFyZWEoKS5yb3RhdGUoWzE1NywgMF0pLmNlbnRlcihbLTMsIDE5LjldKS5wYXJhbGxl
bHMoWzgsIDE4XSksIGhhd2FpaVBvaW50LCAvLyBFU1JJOjEwMjAwNworICAgICAgcG9pbnQsIHBv
aW50U3RyZWFtID0ge3BvaW50OiBmdW5jdGlvbih4LCB5KSB7IHBvaW50ID0gW3gsIHldOyB9fTsK
KworICBmdW5jdGlvbiBhbGJlcnNVc2EoY29vcmRpbmF0ZXMpIHsKKyAgICB2YXIgeCA9IGNvb3Jk
aW5hdGVzWzBdLCB5ID0gY29vcmRpbmF0ZXNbMV07CisgICAgcmV0dXJuIHBvaW50ID0gbnVsbCwK
KyAgICAgICAgKGxvd2VyNDhQb2ludC5wb2ludCh4LCB5KSwgcG9pbnQpCisgICAgICAgIHx8IChh
bGFza2FQb2ludC5wb2ludCh4LCB5KSwgcG9pbnQpCisgICAgICAgIHx8IChoYXdhaWlQb2ludC5w
b2ludCh4LCB5KSwgcG9pbnQpOworICB9CisKKyAgYWxiZXJzVXNhLmludmVydCA9IGZ1bmN0aW9u
KGNvb3JkaW5hdGVzKSB7CisgICAgdmFyIGsgPSBsb3dlcjQ4LnNjYWxlKCksCisgICAgICAgIHQg
PSBsb3dlcjQ4LnRyYW5zbGF0ZSgpLAorICAgICAgICB4ID0gKGNvb3JkaW5hdGVzWzBdIC0gdFsw
XSkgLyBrLAorICAgICAgICB5ID0gKGNvb3JkaW5hdGVzWzFdIC0gdFsxXSkgLyBrOworICAgIHJl
dHVybiAoeSA+PSAwLjEyMCAmJiB5IDwgMC4yMzQgJiYgeCA+PSAtMC40MjUgJiYgeCA8IC0wLjIx
NCA/IGFsYXNrYQorICAgICAgICA6IHkgPj0gMC4xNjYgJiYgeSA8IDAuMjM0ICYmIHggPj0gLTAu
MjE0ICYmIHggPCAtMC4xMTUgPyBoYXdhaWkKKyAgICAgICAgOiBsb3dlcjQ4KS5pbnZlcnQoY29v
cmRpbmF0ZXMpOworICB9OworCisgIGFsYmVyc1VzYS5zdHJlYW0gPSBmdW5jdGlvbihzdHJlYW0p
IHsKKyAgICByZXR1cm4gY2FjaGUgJiYgY2FjaGVTdHJlYW0gPT09IHN0cmVhbSA/IGNhY2hlIDog
Y2FjaGUgPSBtdWx0aXBsZXgoW2xvd2VyNDguc3RyZWFtKGNhY2hlU3RyZWFtID0gc3RyZWFtKSwg
YWxhc2thLnN0cmVhbShzdHJlYW0pLCBoYXdhaWkuc3RyZWFtKHN0cmVhbSldKTsKKyAgfTsKKwor
ICBhbGJlcnNVc2EucHJlY2lzaW9uID0gZnVuY3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRz
Lmxlbmd0aCkgcmV0dXJuIGxvd2VyNDgucHJlY2lzaW9uKCk7CisgICAgbG93ZXI0OC5wcmVjaXNp
b24oXyksIGFsYXNrYS5wcmVjaXNpb24oXyksIGhhd2FpaS5wcmVjaXNpb24oXyk7CisgICAgcmV0
dXJuIHJlc2V0KCk7CisgIH07CisKKyAgYWxiZXJzVXNhLnNjYWxlID0gZnVuY3Rpb24oXykgewor
ICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIGxvd2VyNDguc2NhbGUoKTsKKyAgICBs
b3dlcjQ4LnNjYWxlKF8pLCBhbGFza2Euc2NhbGUoXyAqIDAuMzUpLCBoYXdhaWkuc2NhbGUoXyk7
CisgICAgcmV0dXJuIGFsYmVyc1VzYS50cmFuc2xhdGUobG93ZXI0OC50cmFuc2xhdGUoKSk7Cisg
IH07CisKKyAgYWxiZXJzVXNhLnRyYW5zbGF0ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFy
Z3VtZW50cy5sZW5ndGgpIHJldHVybiBsb3dlcjQ4LnRyYW5zbGF0ZSgpOworICAgIHZhciBrID0g
bG93ZXI0OC5zY2FsZSgpLCB4ID0gK19bMF0sIHkgPSArX1sxXTsKKworICAgIGxvd2VyNDhQb2lu
dCA9IGxvd2VyNDgKKyAgICAgICAgLnRyYW5zbGF0ZShfKQorICAgICAgICAuY2xpcEV4dGVudChb
W3ggLSAwLjQ1NSAqIGssIHkgLSAwLjIzOCAqIGtdLCBbeCArIDAuNDU1ICogaywgeSArIDAuMjM4
ICoga11dKQorICAgICAgICAuc3RyZWFtKHBvaW50U3RyZWFtKTsKKworICAgIGFsYXNrYVBvaW50
ID0gYWxhc2thCisgICAgICAgIC50cmFuc2xhdGUoW3ggLSAwLjMwNyAqIGssIHkgKyAwLjIwMSAq
IGtdKQorICAgICAgICAuY2xpcEV4dGVudChbW3ggLSAwLjQyNSAqIGsgKyBlcHNpbG9uJDIsIHkg
KyAwLjEyMCAqIGsgKyBlcHNpbG9uJDJdLCBbeCAtIDAuMjE0ICogayAtIGVwc2lsb24kMiwgeSAr
IDAuMjM0ICogayAtIGVwc2lsb24kMl1dKQorICAgICAgICAuc3RyZWFtKHBvaW50U3RyZWFtKTsK
KworICAgIGhhd2FpaVBvaW50ID0gaGF3YWlpCisgICAgICAgIC50cmFuc2xhdGUoW3ggLSAwLjIw
NSAqIGssIHkgKyAwLjIxMiAqIGtdKQorICAgICAgICAuY2xpcEV4dGVudChbW3ggLSAwLjIxNCAq
IGsgKyBlcHNpbG9uJDIsIHkgKyAwLjE2NiAqIGsgKyBlcHNpbG9uJDJdLCBbeCAtIDAuMTE1ICog
ayAtIGVwc2lsb24kMiwgeSArIDAuMjM0ICogayAtIGVwc2lsb24kMl1dKQorICAgICAgICAuc3Ry
ZWFtKHBvaW50U3RyZWFtKTsKKworICAgIHJldHVybiByZXNldCgpOworICB9OworCisgIGFsYmVy
c1VzYS5maXRFeHRlbnQgPSBmdW5jdGlvbihleHRlbnQsIG9iamVjdCkgeworICAgIHJldHVybiBm
aXRFeHRlbnQoYWxiZXJzVXNhLCBleHRlbnQsIG9iamVjdCk7CisgIH07CisKKyAgYWxiZXJzVXNh
LmZpdFNpemUgPSBmdW5jdGlvbihzaXplLCBvYmplY3QpIHsKKyAgICByZXR1cm4gZml0U2l6ZShh
bGJlcnNVc2EsIHNpemUsIG9iamVjdCk7CisgIH07CisKKyAgYWxiZXJzVXNhLmZpdFdpZHRoID0g
ZnVuY3Rpb24od2lkdGgsIG9iamVjdCkgeworICAgIHJldHVybiBmaXRXaWR0aChhbGJlcnNVc2Es
IHdpZHRoLCBvYmplY3QpOworICB9OworCisgIGFsYmVyc1VzYS5maXRIZWlnaHQgPSBmdW5jdGlv
bihoZWlnaHQsIG9iamVjdCkgeworICAgIHJldHVybiBmaXRIZWlnaHQoYWxiZXJzVXNhLCBoZWln
aHQsIG9iamVjdCk7CisgIH07CisKKyAgZnVuY3Rpb24gcmVzZXQoKSB7CisgICAgY2FjaGUgPSBj
YWNoZVN0cmVhbSA9IG51bGw7CisgICAgcmV0dXJuIGFsYmVyc1VzYTsKKyAgfQorCisgIHJldHVy
biBhbGJlcnNVc2Euc2NhbGUoMTA3MCk7Cit9CisKK2Z1bmN0aW9uIGF6aW11dGhhbFJhdyhzY2Fs
ZSkgeworICByZXR1cm4gZnVuY3Rpb24oeCwgeSkgeworICAgIHZhciBjeCA9IGNvcyQxKHgpLAor
ICAgICAgICBjeSA9IGNvcyQxKHkpLAorICAgICAgICBrID0gc2NhbGUoY3ggKiBjeSk7CisgICAg
cmV0dXJuIFsKKyAgICAgIGsgKiBjeSAqIHNpbiQxKHgpLAorICAgICAgayAqIHNpbiQxKHkpCisg
ICAgXTsKKyAgfQorfQorCitmdW5jdGlvbiBhemltdXRoYWxJbnZlcnQoYW5nbGUpIHsKKyAgcmV0
dXJuIGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB2YXIgeiA9IHNxcnQoeCAqIHggKyB5ICogeSksCisg
ICAgICAgIGMgPSBhbmdsZSh6KSwKKyAgICAgICAgc2MgPSBzaW4kMShjKSwKKyAgICAgICAgY2Mg
PSBjb3MkMShjKTsKKyAgICByZXR1cm4gWworICAgICAgYXRhbjIoeCAqIHNjLCB6ICogY2MpLAor
ICAgICAgYXNpbih6ICYmIHkgKiBzYyAvIHopCisgICAgXTsKKyAgfQorfQorCit2YXIgYXppbXV0
aGFsRXF1YWxBcmVhUmF3ID0gYXppbXV0aGFsUmF3KGZ1bmN0aW9uKGN4Y3kpIHsKKyAgcmV0dXJu
IHNxcnQoMiAvICgxICsgY3hjeSkpOworfSk7CisKK2F6aW11dGhhbEVxdWFsQXJlYVJhdy5pbnZl
cnQgPSBhemltdXRoYWxJbnZlcnQoZnVuY3Rpb24oeikgeworICByZXR1cm4gMiAqIGFzaW4oeiAv
IDIpOworfSk7CisKK2Z1bmN0aW9uIGF6aW11dGhhbEVxdWFsQXJlYSgpIHsKKyAgcmV0dXJuIHBy
b2plY3Rpb24oYXppbXV0aGFsRXF1YWxBcmVhUmF3KQorICAgICAgLnNjYWxlKDEyNC43NSkKKyAg
ICAgIC5jbGlwQW5nbGUoMTgwIC0gMWUtMyk7Cit9CisKK3ZhciBhemltdXRoYWxFcXVpZGlzdGFu
dFJhdyA9IGF6aW11dGhhbFJhdyhmdW5jdGlvbihjKSB7CisgIHJldHVybiAoYyA9IGFjb3MoYykp
ICYmIGMgLyBzaW4kMShjKTsKK30pOworCithemltdXRoYWxFcXVpZGlzdGFudFJhdy5pbnZlcnQg
PSBhemltdXRoYWxJbnZlcnQoZnVuY3Rpb24oeikgeworICByZXR1cm4gejsKK30pOworCitmdW5j
dGlvbiBhemltdXRoYWxFcXVpZGlzdGFudCgpIHsKKyAgcmV0dXJuIHByb2plY3Rpb24oYXppbXV0
aGFsRXF1aWRpc3RhbnRSYXcpCisgICAgICAuc2NhbGUoNzkuNDE4OCkKKyAgICAgIC5jbGlwQW5n
bGUoMTgwIC0gMWUtMyk7Cit9CisKK2Z1bmN0aW9uIG1lcmNhdG9yUmF3KGxhbWJkYSwgcGhpKSB7
CisgIHJldHVybiBbbGFtYmRhLCBsb2codGFuKChoYWxmUGkkMiArIHBoaSkgLyAyKSldOworfQor
CittZXJjYXRvclJhdy5pbnZlcnQgPSBmdW5jdGlvbih4LCB5KSB7CisgIHJldHVybiBbeCwgMiAq
IGF0YW4oZXhwKHkpKSAtIGhhbGZQaSQyXTsKK307CisKK2Z1bmN0aW9uIG1lcmNhdG9yKCkgewor
ICByZXR1cm4gbWVyY2F0b3JQcm9qZWN0aW9uKG1lcmNhdG9yUmF3KQorICAgICAgLnNjYWxlKDk2
MSAvIHRhdSQzKTsKK30KKworZnVuY3Rpb24gbWVyY2F0b3JQcm9qZWN0aW9uKHByb2plY3QpIHsK
KyAgdmFyIG0gPSBwcm9qZWN0aW9uKHByb2plY3QpLAorICAgICAgY2VudGVyID0gbS5jZW50ZXIs
CisgICAgICBzY2FsZSA9IG0uc2NhbGUsCisgICAgICB0cmFuc2xhdGUgPSBtLnRyYW5zbGF0ZSwK
KyAgICAgIGNsaXBFeHRlbnQgPSBtLmNsaXBFeHRlbnQsCisgICAgICB4MCA9IG51bGwsIHkwLCB4
MSwgeTE7IC8vIGNsaXAgZXh0ZW50CisKKyAgbS5zY2FsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzY2FsZShfKSwgcmVjbGlwKCkpIDogc2NhbGUoKTsK
KyAgfTsKKworICBtLnRyYW5zbGF0ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/ICh0cmFuc2xhdGUoXyksIHJlY2xpcCgpKSA6IHRyYW5zbGF0ZSgpOworICB9
OworCisgIG0uY2VudGVyID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKGNlbnRlcihfKSwgcmVjbGlwKCkpIDogY2VudGVyKCk7CisgIH07CisKKyAgbS5jbGlw
RXh0ZW50ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKChf
ID09IG51bGwgPyB4MCA9IHkwID0geDEgPSB5MSA9IG51bGwgOiAoeDAgPSArX1swXVswXSwgeTAg
PSArX1swXVsxXSwgeDEgPSArX1sxXVswXSwgeTEgPSArX1sxXVsxXSkpLCByZWNsaXAoKSkgOiB4
MCA9PSBudWxsID8gbnVsbCA6IFtbeDAsIHkwXSwgW3gxLCB5MV1dOworICB9OworCisgIGZ1bmN0
aW9uIHJlY2xpcCgpIHsKKyAgICB2YXIgayA9IHBpJDMgKiBzY2FsZSgpLAorICAgICAgICB0ID0g
bShyb3RhdGlvbihtLnJvdGF0ZSgpKS5pbnZlcnQoWzAsIDBdKSk7CisgICAgcmV0dXJuIGNsaXBF
eHRlbnQoeDAgPT0gbnVsbAorICAgICAgICA/IFtbdFswXSAtIGssIHRbMV0gLSBrXSwgW3RbMF0g
KyBrLCB0WzFdICsga11dIDogcHJvamVjdCA9PT0gbWVyY2F0b3JSYXcKKyAgICAgICAgPyBbW01h
dGgubWF4KHRbMF0gLSBrLCB4MCksIHkwXSwgW01hdGgubWluKHRbMF0gKyBrLCB4MSksIHkxXV0K
KyAgICAgICAgOiBbW3gwLCBNYXRoLm1heCh0WzFdIC0gaywgeTApXSwgW3gxLCBNYXRoLm1pbih0
WzFdICsgaywgeTEpXV0pOworICB9CisKKyAgcmV0dXJuIHJlY2xpcCgpOworfQorCitmdW5jdGlv
biB0YW55KHkpIHsKKyAgcmV0dXJuIHRhbigoaGFsZlBpJDIgKyB5KSAvIDIpOworfQorCitmdW5j
dGlvbiBjb25pY0NvbmZvcm1hbFJhdyh5MCwgeTEpIHsKKyAgdmFyIGN5MCA9IGNvcyQxKHkwKSwK
KyAgICAgIG4gPSB5MCA9PT0geTEgPyBzaW4kMSh5MCkgOiBsb2coY3kwIC8gY29zJDEoeTEpKSAv
IGxvZyh0YW55KHkxKSAvIHRhbnkoeTApKSwKKyAgICAgIGYgPSBjeTAgKiBwb3codGFueSh5MCks
IG4pIC8gbjsKKworICBpZiAoIW4pIHJldHVybiBtZXJjYXRvclJhdzsKKworICBmdW5jdGlvbiBw
cm9qZWN0KHgsIHkpIHsKKyAgICBpZiAoZiA+IDApIHsgaWYgKHkgPCAtaGFsZlBpJDIgKyBlcHNp
bG9uJDIpIHkgPSAtaGFsZlBpJDIgKyBlcHNpbG9uJDI7IH0KKyAgICBlbHNlIHsgaWYgKHkgPiBo
YWxmUGkkMiAtIGVwc2lsb24kMikgeSA9IGhhbGZQaSQyIC0gZXBzaWxvbiQyOyB9CisgICAgdmFy
IHIgPSBmIC8gcG93KHRhbnkoeSksIG4pOworICAgIHJldHVybiBbciAqIHNpbiQxKG4gKiB4KSwg
ZiAtIHIgKiBjb3MkMShuICogeCldOworICB9CisKKyAgcHJvamVjdC5pbnZlcnQgPSBmdW5jdGlv
bih4LCB5KSB7CisgICAgdmFyIGZ5ID0gZiAtIHksIHIgPSBzaWduKG4pICogc3FydCh4ICogeCAr
IGZ5ICogZnkpOworICAgIHJldHVybiBbYXRhbjIoeCwgYWJzKGZ5KSkgLyBuICogc2lnbihmeSks
IDIgKiBhdGFuKHBvdyhmIC8gciwgMSAvIG4pKSAtIGhhbGZQaSQyXTsKKyAgfTsKKworICByZXR1
cm4gcHJvamVjdDsKK30KKworZnVuY3Rpb24gY29uaWNDb25mb3JtYWwoKSB7CisgIHJldHVybiBj
b25pY1Byb2plY3Rpb24oY29uaWNDb25mb3JtYWxSYXcpCisgICAgICAuc2NhbGUoMTA5LjUpCisg
ICAgICAucGFyYWxsZWxzKFszMCwgMzBdKTsKK30KKworZnVuY3Rpb24gZXF1aXJlY3Rhbmd1bGFy
UmF3KGxhbWJkYSwgcGhpKSB7CisgIHJldHVybiBbbGFtYmRhLCBwaGldOworfQorCitlcXVpcmVj
dGFuZ3VsYXJSYXcuaW52ZXJ0ID0gZXF1aXJlY3Rhbmd1bGFyUmF3OworCitmdW5jdGlvbiBlcXVp
cmVjdGFuZ3VsYXIoKSB7CisgIHJldHVybiBwcm9qZWN0aW9uKGVxdWlyZWN0YW5ndWxhclJhdykK
KyAgICAgIC5zY2FsZSgxNTIuNjMpOworfQorCitmdW5jdGlvbiBjb25pY0VxdWlkaXN0YW50UmF3
KHkwLCB5MSkgeworICB2YXIgY3kwID0gY29zJDEoeTApLAorICAgICAgbiA9IHkwID09PSB5MSA/
IHNpbiQxKHkwKSA6IChjeTAgLSBjb3MkMSh5MSkpIC8gKHkxIC0geTApLAorICAgICAgZyA9IGN5
MCAvIG4gKyB5MDsKKworICBpZiAoYWJzKG4pIDwgZXBzaWxvbiQyKSByZXR1cm4gZXF1aXJlY3Rh
bmd1bGFyUmF3OworCisgIGZ1bmN0aW9uIHByb2plY3QoeCwgeSkgeworICAgIHZhciBneSA9IGcg
LSB5LCBueCA9IG4gKiB4OworICAgIHJldHVybiBbZ3kgKiBzaW4kMShueCksIGcgLSBneSAqIGNv
cyQxKG54KV07CisgIH0KKworICBwcm9qZWN0LmludmVydCA9IGZ1bmN0aW9uKHgsIHkpIHsKKyAg
ICB2YXIgZ3kgPSBnIC0geTsKKyAgICByZXR1cm4gW2F0YW4yKHgsIGFicyhneSkpIC8gbiAqIHNp
Z24oZ3kpLCBnIC0gc2lnbihuKSAqIHNxcnQoeCAqIHggKyBneSAqIGd5KV07CisgIH07CisKKyAg
cmV0dXJuIHByb2plY3Q7Cit9CisKK2Z1bmN0aW9uIGNvbmljRXF1aWRpc3RhbnQoKSB7CisgIHJl
dHVybiBjb25pY1Byb2plY3Rpb24oY29uaWNFcXVpZGlzdGFudFJhdykKKyAgICAgIC5zY2FsZSgx
MzEuMTU0KQorICAgICAgLmNlbnRlcihbMCwgMTMuOTM4OV0pOworfQorCit2YXIgQTEgPSAxLjM0
MDI2NCwKKyAgICBBMiA9IC0wLjA4MTEwNiwKKyAgICBBMyA9IDAuMDAwODkzLAorICAgIEE0ID0g
MC4wMDM3OTYsCisgICAgTSA9IHNxcnQoMykgLyAyLAorICAgIGl0ZXJhdGlvbnMgPSAxMjsKKwor
ZnVuY3Rpb24gZXF1YWxFYXJ0aFJhdyhsYW1iZGEsIHBoaSkgeworICB2YXIgbCA9IGFzaW4oTSAq
IHNpbiQxKHBoaSkpLCBsMiA9IGwgKiBsLCBsNiA9IGwyICogbDIgKiBsMjsKKyAgcmV0dXJuIFsK
KyAgICBsYW1iZGEgKiBjb3MkMShsKSAvIChNICogKEExICsgMyAqIEEyICogbDIgKyBsNiAqICg3
ICogQTMgKyA5ICogQTQgKiBsMikpKSwKKyAgICBsICogKEExICsgQTIgKiBsMiArIGw2ICogKEEz
ICsgQTQgKiBsMikpCisgIF07Cit9CisKK2VxdWFsRWFydGhSYXcuaW52ZXJ0ID0gZnVuY3Rpb24o
eCwgeSkgeworICB2YXIgbCA9IHksIGwyID0gbCAqIGwsIGw2ID0gbDIgKiBsMiAqIGwyOworICBm
b3IgKHZhciBpID0gMCwgZGVsdGEsIGZ5LCBmcHk7IGkgPCBpdGVyYXRpb25zOyArK2kpIHsKKyAg
ICBmeSA9IGwgKiAoQTEgKyBBMiAqIGwyICsgbDYgKiAoQTMgKyBBNCAqIGwyKSkgLSB5OworICAg
IGZweSA9IEExICsgMyAqIEEyICogbDIgKyBsNiAqICg3ICogQTMgKyA5ICogQTQgKiBsMik7Cisg
ICAgbCAtPSBkZWx0YSA9IGZ5IC8gZnB5LCBsMiA9IGwgKiBsLCBsNiA9IGwyICogbDIgKiBsMjsK
KyAgICBpZiAoYWJzKGRlbHRhKSA8IGVwc2lsb24yJDEpIGJyZWFrOworICB9CisgIHJldHVybiBb
CisgICAgTSAqIHggKiAoQTEgKyAzICogQTIgKiBsMiArIGw2ICogKDcgKiBBMyArIDkgKiBBNCAq
IGwyKSkgLyBjb3MkMShsKSwKKyAgICBhc2luKHNpbiQxKGwpIC8gTSkKKyAgXTsKK307CisKK2Z1
bmN0aW9uIGVxdWFsRWFydGgoKSB7CisgIHJldHVybiBwcm9qZWN0aW9uKGVxdWFsRWFydGhSYXcp
CisgICAgICAuc2NhbGUoMTc3LjE1OCk7Cit9CisKK2Z1bmN0aW9uIGdub21vbmljUmF3KHgsIHkp
IHsKKyAgdmFyIGN5ID0gY29zJDEoeSksIGsgPSBjb3MkMSh4KSAqIGN5OworICByZXR1cm4gW2N5
ICogc2luJDEoeCkgLyBrLCBzaW4kMSh5KSAvIGtdOworfQorCitnbm9tb25pY1Jhdy5pbnZlcnQg
PSBhemltdXRoYWxJbnZlcnQoYXRhbik7CisKK2Z1bmN0aW9uIGdub21vbmljKCkgeworICByZXR1
cm4gcHJvamVjdGlvbihnbm9tb25pY1JhdykKKyAgICAgIC5zY2FsZSgxNDQuMDQ5KQorICAgICAg
LmNsaXBBbmdsZSg2MCk7Cit9CisKK2Z1bmN0aW9uIHNjYWxlVHJhbnNsYXRlJDEoa3gsIGt5LCB0
eCwgdHkpIHsKKyAgcmV0dXJuIGt4ID09PSAxICYmIGt5ID09PSAxICYmIHR4ID09PSAwICYmIHR5
ID09PSAwID8gaWRlbnRpdHkkNCA6IHRyYW5zZm9ybWVyKHsKKyAgICBwb2ludDogZnVuY3Rpb24o
eCwgeSkgeworICAgICAgdGhpcy5zdHJlYW0ucG9pbnQoeCAqIGt4ICsgdHgsIHkgKiBreSArIHR5
KTsKKyAgICB9CisgIH0pOworfQorCitmdW5jdGlvbiBpZGVudGl0eSQ1KCkgeworICB2YXIgayA9
IDEsIHR4ID0gMCwgdHkgPSAwLCBzeCA9IDEsIHN5ID0gMSwgdHJhbnNmb3JtID0gaWRlbnRpdHkk
NCwgLy8gc2NhbGUsIHRyYW5zbGF0ZSBhbmQgcmVmbGVjdAorICAgICAgeDAgPSBudWxsLCB5MCwg
eDEsIHkxLCAvLyBjbGlwIGV4dGVudAorICAgICAgcG9zdGNsaXAgPSBpZGVudGl0eSQ0LAorICAg
ICAgY2FjaGUsCisgICAgICBjYWNoZVN0cmVhbSwKKyAgICAgIHByb2plY3Rpb247CisKKyAgZnVu
Y3Rpb24gcmVzZXQoKSB7CisgICAgY2FjaGUgPSBjYWNoZVN0cmVhbSA9IG51bGw7CisgICAgcmV0
dXJuIHByb2plY3Rpb247CisgIH0KKworICByZXR1cm4gcHJvamVjdGlvbiA9IHsKKyAgICBzdHJl
YW06IGZ1bmN0aW9uKHN0cmVhbSkgeworICAgICAgcmV0dXJuIGNhY2hlICYmIGNhY2hlU3RyZWFt
ID09PSBzdHJlYW0gPyBjYWNoZSA6IGNhY2hlID0gdHJhbnNmb3JtKHBvc3RjbGlwKGNhY2hlU3Ry
ZWFtID0gc3RyZWFtKSk7CisgICAgfSwKKyAgICBwb3N0Y2xpcDogZnVuY3Rpb24oXykgeworICAg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocG9zdGNsaXAgPSBfLCB4MCA9IHkwID0geDEg
PSB5MSA9IG51bGwsIHJlc2V0KCkpIDogcG9zdGNsaXA7CisgICAgfSwKKyAgICBjbGlwRXh0ZW50
OiBmdW5jdGlvbihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwb3N0Y2xp
cCA9IF8gPT0gbnVsbCA/ICh4MCA9IHkwID0geDEgPSB5MSA9IG51bGwsIGlkZW50aXR5JDQpIDog
Y2xpcFJlY3RhbmdsZSh4MCA9ICtfWzBdWzBdLCB5MCA9ICtfWzBdWzFdLCB4MSA9ICtfWzFdWzBd
LCB5MSA9ICtfWzFdWzFdKSwgcmVzZXQoKSkgOiB4MCA9PSBudWxsID8gbnVsbCA6IFtbeDAsIHkw
XSwgW3gxLCB5MV1dOworICAgIH0sCisgICAgc2NhbGU6IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRyYW5zZm9ybSA9IHNjYWxlVHJhbnNsYXRlJDEoKGsg
PSArXykgKiBzeCwgayAqIHN5LCB0eCwgdHkpLCByZXNldCgpKSA6IGs7CisgICAgfSwKKyAgICB0
cmFuc2xhdGU6IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8g
KHRyYW5zZm9ybSA9IHNjYWxlVHJhbnNsYXRlJDEoayAqIHN4LCBrICogc3ksIHR4ID0gK19bMF0s
IHR5ID0gK19bMV0pLCByZXNldCgpKSA6IFt0eCwgdHldOworICAgIH0sCisgICAgcmVmbGVjdFg6
IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRyYW5zZm9y
bSA9IHNjYWxlVHJhbnNsYXRlJDEoayAqIChzeCA9IF8gPyAtMSA6IDEpLCBrICogc3ksIHR4LCB0
eSksIHJlc2V0KCkpIDogc3ggPCAwOworICAgIH0sCisgICAgcmVmbGVjdFk6IGZ1bmN0aW9uKF8p
IHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRyYW5zZm9ybSA9IHNjYWxlVHJh
bnNsYXRlJDEoayAqIHN4LCBrICogKHN5ID0gXyA/IC0xIDogMSksIHR4LCB0eSksIHJlc2V0KCkp
IDogc3kgPCAwOworICAgIH0sCisgICAgZml0RXh0ZW50OiBmdW5jdGlvbihleHRlbnQsIG9iamVj
dCkgeworICAgICAgcmV0dXJuIGZpdEV4dGVudChwcm9qZWN0aW9uLCBleHRlbnQsIG9iamVjdCk7
CisgICAgfSwKKyAgICBmaXRTaXplOiBmdW5jdGlvbihzaXplLCBvYmplY3QpIHsKKyAgICAgIHJl
dHVybiBmaXRTaXplKHByb2plY3Rpb24sIHNpemUsIG9iamVjdCk7CisgICAgfSwKKyAgICBmaXRX
aWR0aDogZnVuY3Rpb24od2lkdGgsIG9iamVjdCkgeworICAgICAgcmV0dXJuIGZpdFdpZHRoKHBy
b2plY3Rpb24sIHdpZHRoLCBvYmplY3QpOworICAgIH0sCisgICAgZml0SGVpZ2h0OiBmdW5jdGlv
bihoZWlnaHQsIG9iamVjdCkgeworICAgICAgcmV0dXJuIGZpdEhlaWdodChwcm9qZWN0aW9uLCBo
ZWlnaHQsIG9iamVjdCk7CisgICAgfQorICB9OworfQorCitmdW5jdGlvbiBuYXR1cmFsRWFydGgx
UmF3KGxhbWJkYSwgcGhpKSB7CisgIHZhciBwaGkyID0gcGhpICogcGhpLCBwaGk0ID0gcGhpMiAq
IHBoaTI7CisgIHJldHVybiBbCisgICAgbGFtYmRhICogKDAuODcwNyAtIDAuMTMxOTc5ICogcGhp
MiArIHBoaTQgKiAoLTAuMDEzNzkxICsgcGhpNCAqICgwLjAwMzk3MSAqIHBoaTIgLSAwLjAwMTUy
OSAqIHBoaTQpKSksCisgICAgcGhpICogKDEuMDA3MjI2ICsgcGhpMiAqICgwLjAxNTA4NSArIHBo
aTQgKiAoLTAuMDQ0NDc1ICsgMC4wMjg4NzQgKiBwaGkyIC0gMC4wMDU5MTYgKiBwaGk0KSkpCisg
IF07Cit9CisKK25hdHVyYWxFYXJ0aDFSYXcuaW52ZXJ0ID0gZnVuY3Rpb24oeCwgeSkgeworICB2
YXIgcGhpID0geSwgaSA9IDI1LCBkZWx0YTsKKyAgZG8geworICAgIHZhciBwaGkyID0gcGhpICog
cGhpLCBwaGk0ID0gcGhpMiAqIHBoaTI7CisgICAgcGhpIC09IGRlbHRhID0gKHBoaSAqICgxLjAw
NzIyNiArIHBoaTIgKiAoMC4wMTUwODUgKyBwaGk0ICogKC0wLjA0NDQ3NSArIDAuMDI4ODc0ICog
cGhpMiAtIDAuMDA1OTE2ICogcGhpNCkpKSAtIHkpIC8KKyAgICAgICAgKDEuMDA3MjI2ICsgcGhp
MiAqICgwLjAxNTA4NSAqIDMgKyBwaGk0ICogKC0wLjA0NDQ3NSAqIDcgKyAwLjAyODg3NCAqIDkg
KiBwaGkyIC0gMC4wMDU5MTYgKiAxMSAqIHBoaTQpKSk7CisgIH0gd2hpbGUgKGFicyhkZWx0YSkg
PiBlcHNpbG9uJDIgJiYgLS1pID4gMCk7CisgIHJldHVybiBbCisgICAgeCAvICgwLjg3MDcgKyAo
cGhpMiA9IHBoaSAqIHBoaSkgKiAoLTAuMTMxOTc5ICsgcGhpMiAqICgtMC4wMTM3OTEgKyBwaGky
ICogcGhpMiAqIHBoaTIgKiAoMC4wMDM5NzEgLSAwLjAwMTUyOSAqIHBoaTIpKSkpLAorICAgIHBo
aQorICBdOworfTsKKworZnVuY3Rpb24gbmF0dXJhbEVhcnRoMSgpIHsKKyAgcmV0dXJuIHByb2pl
Y3Rpb24obmF0dXJhbEVhcnRoMVJhdykKKyAgICAgIC5zY2FsZSgxNzUuMjk1KTsKK30KKworZnVu
Y3Rpb24gb3J0aG9ncmFwaGljUmF3KHgsIHkpIHsKKyAgcmV0dXJuIFtjb3MkMSh5KSAqIHNpbiQx
KHgpLCBzaW4kMSh5KV07Cit9CisKK29ydGhvZ3JhcGhpY1Jhdy5pbnZlcnQgPSBhemltdXRoYWxJ
bnZlcnQoYXNpbik7CisKK2Z1bmN0aW9uIG9ydGhvZ3JhcGhpYygpIHsKKyAgcmV0dXJuIHByb2pl
Y3Rpb24ob3J0aG9ncmFwaGljUmF3KQorICAgICAgLnNjYWxlKDI0OS41KQorICAgICAgLmNsaXBB
bmdsZSg5MCArIGVwc2lsb24kMik7Cit9CisKK2Z1bmN0aW9uIHN0ZXJlb2dyYXBoaWNSYXcoeCwg
eSkgeworICB2YXIgY3kgPSBjb3MkMSh5KSwgayA9IDEgKyBjb3MkMSh4KSAqIGN5OworICByZXR1
cm4gW2N5ICogc2luJDEoeCkgLyBrLCBzaW4kMSh5KSAvIGtdOworfQorCitzdGVyZW9ncmFwaGlj
UmF3LmludmVydCA9IGF6aW11dGhhbEludmVydChmdW5jdGlvbih6KSB7CisgIHJldHVybiAyICog
YXRhbih6KTsKK30pOworCitmdW5jdGlvbiBzdGVyZW9ncmFwaGljKCkgeworICByZXR1cm4gcHJv
amVjdGlvbihzdGVyZW9ncmFwaGljUmF3KQorICAgICAgLnNjYWxlKDI1MCkKKyAgICAgIC5jbGlw
QW5nbGUoMTQyKTsKK30KKworZnVuY3Rpb24gdHJhbnN2ZXJzZU1lcmNhdG9yUmF3KGxhbWJkYSwg
cGhpKSB7CisgIHJldHVybiBbbG9nKHRhbigoaGFsZlBpJDIgKyBwaGkpIC8gMikpLCAtbGFtYmRh
XTsKK30KKwordHJhbnN2ZXJzZU1lcmNhdG9yUmF3LmludmVydCA9IGZ1bmN0aW9uKHgsIHkpIHsK
KyAgcmV0dXJuIFsteSwgMiAqIGF0YW4oZXhwKHgpKSAtIGhhbGZQaSQyXTsKK307CisKK2Z1bmN0
aW9uIHRyYW5zdmVyc2VNZXJjYXRvcigpIHsKKyAgdmFyIG0gPSBtZXJjYXRvclByb2plY3Rpb24o
dHJhbnN2ZXJzZU1lcmNhdG9yUmF3KSwKKyAgICAgIGNlbnRlciA9IG0uY2VudGVyLAorICAgICAg
cm90YXRlID0gbS5yb3RhdGU7CisKKyAgbS5jZW50ZXIgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGggPyBjZW50ZXIoWy1fWzFdLCBfWzBdXSkgOiAoXyA9IGNlbnRl
cigpLCBbX1sxXSwgLV9bMF1dKTsKKyAgfTsKKworICBtLnJvdGF0ZSA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IHJvdGF0ZShbX1swXSwgX1sxXSwgXy5sZW5n
dGggPiAyID8gX1syXSArIDkwIDogOTBdKSA6IChfID0gcm90YXRlKCksIFtfWzBdLCBfWzFdLCBf
WzJdIC0gOTBdKTsKKyAgfTsKKworICByZXR1cm4gcm90YXRlKFswLCAwLCA5MF0pCisgICAgICAu
c2NhbGUoMTU5LjE1NSk7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRTZXBhcmF0aW9uKGEsIGIpIHsK
KyAgcmV0dXJuIGEucGFyZW50ID09PSBiLnBhcmVudCA/IDEgOiAyOworfQorCitmdW5jdGlvbiBt
ZWFuWChjaGlsZHJlbikgeworICByZXR1cm4gY2hpbGRyZW4ucmVkdWNlKG1lYW5YUmVkdWNlLCAw
KSAvIGNoaWxkcmVuLmxlbmd0aDsKK30KKworZnVuY3Rpb24gbWVhblhSZWR1Y2UoeCwgYykgewor
ICByZXR1cm4geCArIGMueDsKK30KKworZnVuY3Rpb24gbWF4WShjaGlsZHJlbikgeworICByZXR1
cm4gMSArIGNoaWxkcmVuLnJlZHVjZShtYXhZUmVkdWNlLCAwKTsKK30KKworZnVuY3Rpb24gbWF4
WVJlZHVjZSh5LCBjKSB7CisgIHJldHVybiBNYXRoLm1heCh5LCBjLnkpOworfQorCitmdW5jdGlv
biBsZWFmTGVmdChub2RlKSB7CisgIHZhciBjaGlsZHJlbjsKKyAgd2hpbGUgKGNoaWxkcmVuID0g
bm9kZS5jaGlsZHJlbikgbm9kZSA9IGNoaWxkcmVuWzBdOworICByZXR1cm4gbm9kZTsKK30KKwor
ZnVuY3Rpb24gbGVhZlJpZ2h0KG5vZGUpIHsKKyAgdmFyIGNoaWxkcmVuOworICB3aGlsZSAoY2hp
bGRyZW4gPSBub2RlLmNoaWxkcmVuKSBub2RlID0gY2hpbGRyZW5bY2hpbGRyZW4ubGVuZ3RoIC0g
MV07CisgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiBjbHVzdGVyKCkgeworICB2YXIgc2Vw
YXJhdGlvbiA9IGRlZmF1bHRTZXBhcmF0aW9uLAorICAgICAgZHggPSAxLAorICAgICAgZHkgPSAx
LAorICAgICAgbm9kZVNpemUgPSBmYWxzZTsKKworICBmdW5jdGlvbiBjbHVzdGVyKHJvb3QpIHsK
KyAgICB2YXIgcHJldmlvdXNOb2RlLAorICAgICAgICB4ID0gMDsKKworICAgIC8vIEZpcnN0IHdh
bGssIGNvbXB1dGluZyB0aGUgaW5pdGlhbCB4ICYgeSB2YWx1ZXMuCisgICAgcm9vdC5lYWNoQWZ0
ZXIoZnVuY3Rpb24obm9kZSkgeworICAgICAgdmFyIGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbjsK
KyAgICAgIGlmIChjaGlsZHJlbikgeworICAgICAgICBub2RlLnggPSBtZWFuWChjaGlsZHJlbik7
CisgICAgICAgIG5vZGUueSA9IG1heFkoY2hpbGRyZW4pOworICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgbm9kZS54ID0gcHJldmlvdXNOb2RlID8geCArPSBzZXBhcmF0aW9uKG5vZGUsIHByZXZpb3Vz
Tm9kZSkgOiAwOworICAgICAgICBub2RlLnkgPSAwOworICAgICAgICBwcmV2aW91c05vZGUgPSBu
b2RlOworICAgICAgfQorICAgIH0pOworCisgICAgdmFyIGxlZnQgPSBsZWFmTGVmdChyb290KSwK
KyAgICAgICAgcmlnaHQgPSBsZWFmUmlnaHQocm9vdCksCisgICAgICAgIHgwID0gbGVmdC54IC0g
c2VwYXJhdGlvbihsZWZ0LCByaWdodCkgLyAyLAorICAgICAgICB4MSA9IHJpZ2h0LnggKyBzZXBh
cmF0aW9uKHJpZ2h0LCBsZWZ0KSAvIDI7CisKKyAgICAvLyBTZWNvbmQgd2Fsaywgbm9ybWFsaXpp
bmcgeCAmIHkgdG8gdGhlIGRlc2lyZWQgc2l6ZS4KKyAgICByZXR1cm4gcm9vdC5lYWNoQWZ0ZXIo
bm9kZVNpemUgPyBmdW5jdGlvbihub2RlKSB7CisgICAgICBub2RlLnggPSAobm9kZS54IC0gcm9v
dC54KSAqIGR4OworICAgICAgbm9kZS55ID0gKHJvb3QueSAtIG5vZGUueSkgKiBkeTsKKyAgICB9
IDogZnVuY3Rpb24obm9kZSkgeworICAgICAgbm9kZS54ID0gKG5vZGUueCAtIHgwKSAvICh4MSAt
IHgwKSAqIGR4OworICAgICAgbm9kZS55ID0gKDEgLSAocm9vdC55ID8gbm9kZS55IC8gcm9vdC55
IDogMSkpICogZHk7CisgICAgfSk7CisgIH0KKworICBjbHVzdGVyLnNlcGFyYXRpb24gPSBmdW5j
dGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc2VwYXJhdGlvbiA9IHgs
IGNsdXN0ZXIpIDogc2VwYXJhdGlvbjsKKyAgfTsKKworICBjbHVzdGVyLnNpemUgPSBmdW5jdGlv
bih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAobm9kZVNpemUgPSBmYWxzZSwg
ZHggPSAreFswXSwgZHkgPSAreFsxXSwgY2x1c3RlcikgOiAobm9kZVNpemUgPyBudWxsIDogW2R4
LCBkeV0pOworICB9OworCisgIGNsdXN0ZXIubm9kZVNpemUgPSBmdW5jdGlvbih4KSB7CisgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAobm9kZVNpemUgPSB0cnVlLCBkeCA9ICt4WzBdLCBk
eSA9ICt4WzFdLCBjbHVzdGVyKSA6IChub2RlU2l6ZSA/IFtkeCwgZHldIDogbnVsbCk7CisgIH07
CisKKyAgcmV0dXJuIGNsdXN0ZXI7Cit9CisKK2Z1bmN0aW9uIGNvdW50KG5vZGUpIHsKKyAgdmFy
IHN1bSA9IDAsCisgICAgICBjaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW4sCisgICAgICBpID0gY2hp
bGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoOworICBpZiAoIWkpIHN1bSA9IDE7CisgIGVsc2Ugd2hp
bGUgKC0taSA+PSAwKSBzdW0gKz0gY2hpbGRyZW5baV0udmFsdWU7CisgIG5vZGUudmFsdWUgPSBz
dW07Cit9CisKK2Z1bmN0aW9uIG5vZGVfY291bnQoKSB7CisgIHJldHVybiB0aGlzLmVhY2hBZnRl
cihjb3VudCk7Cit9CisKK2Z1bmN0aW9uIG5vZGVfZWFjaChjYWxsYmFjaykgeworICB2YXIgbm9k
ZSA9IHRoaXMsIGN1cnJlbnQsIG5leHQgPSBbbm9kZV0sIGNoaWxkcmVuLCBpLCBuOworICBkbyB7
CisgICAgY3VycmVudCA9IG5leHQucmV2ZXJzZSgpLCBuZXh0ID0gW107CisgICAgd2hpbGUgKG5v
ZGUgPSBjdXJyZW50LnBvcCgpKSB7CisgICAgICBjYWxsYmFjayhub2RlKSwgY2hpbGRyZW4gPSBu
b2RlLmNoaWxkcmVuOworICAgICAgaWYgKGNoaWxkcmVuKSBmb3IgKGkgPSAwLCBuID0gY2hpbGRy
ZW4ubGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgICAgIG5leHQucHVzaChjaGlsZHJlbltpXSk7
CisgICAgICB9CisgICAgfQorICB9IHdoaWxlIChuZXh0Lmxlbmd0aCk7CisgIHJldHVybiB0aGlz
OworfQorCitmdW5jdGlvbiBub2RlX2VhY2hCZWZvcmUoY2FsbGJhY2spIHsKKyAgdmFyIG5vZGUg
PSB0aGlzLCBub2RlcyA9IFtub2RlXSwgY2hpbGRyZW4sIGk7CisgIHdoaWxlIChub2RlID0gbm9k
ZXMucG9wKCkpIHsKKyAgICBjYWxsYmFjayhub2RlKSwgY2hpbGRyZW4gPSBub2RlLmNoaWxkcmVu
OworICAgIGlmIChjaGlsZHJlbikgZm9yIChpID0gY2hpbGRyZW4ubGVuZ3RoIC0gMTsgaSA+PSAw
OyAtLWkpIHsKKyAgICAgIG5vZGVzLnB1c2goY2hpbGRyZW5baV0pOworICAgIH0KKyAgfQorICBy
ZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24gbm9kZV9lYWNoQWZ0ZXIoY2FsbGJhY2spIHsKKyAg
dmFyIG5vZGUgPSB0aGlzLCBub2RlcyA9IFtub2RlXSwgbmV4dCA9IFtdLCBjaGlsZHJlbiwgaSwg
bjsKKyAgd2hpbGUgKG5vZGUgPSBub2Rlcy5wb3AoKSkgeworICAgIG5leHQucHVzaChub2RlKSwg
Y2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuOworICAgIGlmIChjaGlsZHJlbikgZm9yIChpID0gMCwg
biA9IGNoaWxkcmVuLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAgICAgbm9kZXMucHVzaChjaGls
ZHJlbltpXSk7CisgICAgfQorICB9CisgIHdoaWxlIChub2RlID0gbmV4dC5wb3AoKSkgeworICAg
IGNhbGxiYWNrKG5vZGUpOworICB9CisgIHJldHVybiB0aGlzOworfQorCitmdW5jdGlvbiBub2Rl
X3N1bSh2YWx1ZSkgeworICByZXR1cm4gdGhpcy5lYWNoQWZ0ZXIoZnVuY3Rpb24obm9kZSkgewor
ICAgIHZhciBzdW0gPSArdmFsdWUobm9kZS5kYXRhKSB8fCAwLAorICAgICAgICBjaGlsZHJlbiA9
IG5vZGUuY2hpbGRyZW4sCisgICAgICAgIGkgPSBjaGlsZHJlbiAmJiBjaGlsZHJlbi5sZW5ndGg7
CisgICAgd2hpbGUgKC0taSA+PSAwKSBzdW0gKz0gY2hpbGRyZW5baV0udmFsdWU7CisgICAgbm9k
ZS52YWx1ZSA9IHN1bTsKKyAgfSk7Cit9CisKK2Z1bmN0aW9uIG5vZGVfc29ydChjb21wYXJlKSB7
CisgIHJldHVybiB0aGlzLmVhY2hCZWZvcmUoZnVuY3Rpb24obm9kZSkgeworICAgIGlmIChub2Rl
LmNoaWxkcmVuKSB7CisgICAgICBub2RlLmNoaWxkcmVuLnNvcnQoY29tcGFyZSk7CisgICAgfQor
ICB9KTsKK30KKworZnVuY3Rpb24gbm9kZV9wYXRoKGVuZCkgeworICB2YXIgc3RhcnQgPSB0aGlz
LAorICAgICAgYW5jZXN0b3IgPSBsZWFzdENvbW1vbkFuY2VzdG9yKHN0YXJ0LCBlbmQpLAorICAg
ICAgbm9kZXMgPSBbc3RhcnRdOworICB3aGlsZSAoc3RhcnQgIT09IGFuY2VzdG9yKSB7CisgICAg
c3RhcnQgPSBzdGFydC5wYXJlbnQ7CisgICAgbm9kZXMucHVzaChzdGFydCk7CisgIH0KKyAgdmFy
IGsgPSBub2Rlcy5sZW5ndGg7CisgIHdoaWxlIChlbmQgIT09IGFuY2VzdG9yKSB7CisgICAgbm9k
ZXMuc3BsaWNlKGssIDAsIGVuZCk7CisgICAgZW5kID0gZW5kLnBhcmVudDsKKyAgfQorICByZXR1
cm4gbm9kZXM7Cit9CisKK2Z1bmN0aW9uIGxlYXN0Q29tbW9uQW5jZXN0b3IoYSwgYikgeworICBp
ZiAoYSA9PT0gYikgcmV0dXJuIGE7CisgIHZhciBhTm9kZXMgPSBhLmFuY2VzdG9ycygpLAorICAg
ICAgYk5vZGVzID0gYi5hbmNlc3RvcnMoKSwKKyAgICAgIGMgPSBudWxsOworICBhID0gYU5vZGVz
LnBvcCgpOworICBiID0gYk5vZGVzLnBvcCgpOworICB3aGlsZSAoYSA9PT0gYikgeworICAgIGMg
PSBhOworICAgIGEgPSBhTm9kZXMucG9wKCk7CisgICAgYiA9IGJOb2Rlcy5wb3AoKTsKKyAgfQor
ICByZXR1cm4gYzsKK30KKworZnVuY3Rpb24gbm9kZV9hbmNlc3RvcnMoKSB7CisgIHZhciBub2Rl
ID0gdGhpcywgbm9kZXMgPSBbbm9kZV07CisgIHdoaWxlIChub2RlID0gbm9kZS5wYXJlbnQpIHsK
KyAgICBub2Rlcy5wdXNoKG5vZGUpOworICB9CisgIHJldHVybiBub2RlczsKK30KKworZnVuY3Rp
b24gbm9kZV9kZXNjZW5kYW50cygpIHsKKyAgdmFyIG5vZGVzID0gW107CisgIHRoaXMuZWFjaChm
dW5jdGlvbihub2RlKSB7CisgICAgbm9kZXMucHVzaChub2RlKTsKKyAgfSk7CisgIHJldHVybiBu
b2RlczsKK30KKworZnVuY3Rpb24gbm9kZV9sZWF2ZXMoKSB7CisgIHZhciBsZWF2ZXMgPSBbXTsK
KyAgdGhpcy5lYWNoQmVmb3JlKGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBpZiAoIW5vZGUuY2hpbGRy
ZW4pIHsKKyAgICAgIGxlYXZlcy5wdXNoKG5vZGUpOworICAgIH0KKyAgfSk7CisgIHJldHVybiBs
ZWF2ZXM7Cit9CisKK2Z1bmN0aW9uIG5vZGVfbGlua3MoKSB7CisgIHZhciByb290ID0gdGhpcywg
bGlua3MgPSBbXTsKKyAgcm9vdC5lYWNoKGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBpZiAobm9kZSAh
PT0gcm9vdCkgeyAvLyBEb27igJl0IGluY2x1ZGUgdGhlIHJvb3TigJlzIHBhcmVudCwgaWYgYW55
LgorICAgICAgbGlua3MucHVzaCh7c291cmNlOiBub2RlLnBhcmVudCwgdGFyZ2V0OiBub2RlfSk7
CisgICAgfQorICB9KTsKKyAgcmV0dXJuIGxpbmtzOworfQorCitmdW5jdGlvbiBoaWVyYXJjaHko
ZGF0YSwgY2hpbGRyZW4pIHsKKyAgdmFyIHJvb3QgPSBuZXcgTm9kZShkYXRhKSwKKyAgICAgIHZh
bHVlZCA9ICtkYXRhLnZhbHVlICYmIChyb290LnZhbHVlID0gZGF0YS52YWx1ZSksCisgICAgICBu
b2RlLAorICAgICAgbm9kZXMgPSBbcm9vdF0sCisgICAgICBjaGlsZCwKKyAgICAgIGNoaWxkcywK
KyAgICAgIGksCisgICAgICBuOworCisgIGlmIChjaGlsZHJlbiA9PSBudWxsKSBjaGlsZHJlbiA9
IGRlZmF1bHRDaGlsZHJlbjsKKworICB3aGlsZSAobm9kZSA9IG5vZGVzLnBvcCgpKSB7CisgICAg
aWYgKHZhbHVlZCkgbm9kZS52YWx1ZSA9ICtub2RlLmRhdGEudmFsdWU7CisgICAgaWYgKChjaGls
ZHMgPSBjaGlsZHJlbihub2RlLmRhdGEpKSAmJiAobiA9IGNoaWxkcy5sZW5ndGgpKSB7CisgICAg
ICBub2RlLmNoaWxkcmVuID0gbmV3IEFycmF5KG4pOworICAgICAgZm9yIChpID0gbiAtIDE7IGkg
Pj0gMDsgLS1pKSB7CisgICAgICAgIG5vZGVzLnB1c2goY2hpbGQgPSBub2RlLmNoaWxkcmVuW2ld
ID0gbmV3IE5vZGUoY2hpbGRzW2ldKSk7CisgICAgICAgIGNoaWxkLnBhcmVudCA9IG5vZGU7Cisg
ICAgICAgIGNoaWxkLmRlcHRoID0gbm9kZS5kZXB0aCArIDE7CisgICAgICB9CisgICAgfQorICB9
CisKKyAgcmV0dXJuIHJvb3QuZWFjaEJlZm9yZShjb21wdXRlSGVpZ2h0KTsKK30KKworZnVuY3Rp
b24gbm9kZV9jb3B5KCkgeworICByZXR1cm4gaGllcmFyY2h5KHRoaXMpLmVhY2hCZWZvcmUoY29w
eURhdGEpOworfQorCitmdW5jdGlvbiBkZWZhdWx0Q2hpbGRyZW4oZCkgeworICByZXR1cm4gZC5j
aGlsZHJlbjsKK30KKworZnVuY3Rpb24gY29weURhdGEobm9kZSkgeworICBub2RlLmRhdGEgPSBu
b2RlLmRhdGEuZGF0YTsKK30KKworZnVuY3Rpb24gY29tcHV0ZUhlaWdodChub2RlKSB7CisgIHZh
ciBoZWlnaHQgPSAwOworICBkbyBub2RlLmhlaWdodCA9IGhlaWdodDsKKyAgd2hpbGUgKChub2Rl
ID0gbm9kZS5wYXJlbnQpICYmIChub2RlLmhlaWdodCA8ICsraGVpZ2h0KSk7Cit9CisKK2Z1bmN0
aW9uIE5vZGUoZGF0YSkgeworICB0aGlzLmRhdGEgPSBkYXRhOworICB0aGlzLmRlcHRoID0KKyAg
dGhpcy5oZWlnaHQgPSAwOworICB0aGlzLnBhcmVudCA9IG51bGw7Cit9CisKK05vZGUucHJvdG90
eXBlID0gaGllcmFyY2h5LnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IE5vZGUsCisgIGNv
dW50OiBub2RlX2NvdW50LAorICBlYWNoOiBub2RlX2VhY2gsCisgIGVhY2hBZnRlcjogbm9kZV9l
YWNoQWZ0ZXIsCisgIGVhY2hCZWZvcmU6IG5vZGVfZWFjaEJlZm9yZSwKKyAgc3VtOiBub2RlX3N1
bSwKKyAgc29ydDogbm9kZV9zb3J0LAorICBwYXRoOiBub2RlX3BhdGgsCisgIGFuY2VzdG9yczog
bm9kZV9hbmNlc3RvcnMsCisgIGRlc2NlbmRhbnRzOiBub2RlX2Rlc2NlbmRhbnRzLAorICBsZWF2
ZXM6IG5vZGVfbGVhdmVzLAorICBsaW5rczogbm9kZV9saW5rcywKKyAgY29weTogbm9kZV9jb3B5
Cit9OworCit2YXIgc2xpY2UkNCA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsKKworZnVuY3Rpb24g
c2h1ZmZsZSQxKGFycmF5KSB7CisgIHZhciBtID0gYXJyYXkubGVuZ3RoLAorICAgICAgdCwKKyAg
ICAgIGk7CisKKyAgd2hpbGUgKG0pIHsKKyAgICBpID0gTWF0aC5yYW5kb20oKSAqIG0tLSB8IDA7
CisgICAgdCA9IGFycmF5W21dOworICAgIGFycmF5W21dID0gYXJyYXlbaV07CisgICAgYXJyYXlb
aV0gPSB0OworICB9CisKKyAgcmV0dXJuIGFycmF5OworfQorCitmdW5jdGlvbiBlbmNsb3NlKGNp
cmNsZXMpIHsKKyAgdmFyIGkgPSAwLCBuID0gKGNpcmNsZXMgPSBzaHVmZmxlJDEoc2xpY2UkNC5j
YWxsKGNpcmNsZXMpKSkubGVuZ3RoLCBCID0gW10sIHAsIGU7CisKKyAgd2hpbGUgKGkgPCBuKSB7
CisgICAgcCA9IGNpcmNsZXNbaV07CisgICAgaWYgKGUgJiYgZW5jbG9zZXNXZWFrKGUsIHApKSAr
K2k7CisgICAgZWxzZSBlID0gZW5jbG9zZUJhc2lzKEIgPSBleHRlbmRCYXNpcyhCLCBwKSksIGkg
PSAwOworICB9CisKKyAgcmV0dXJuIGU7Cit9CisKK2Z1bmN0aW9uIGV4dGVuZEJhc2lzKEIsIHAp
IHsKKyAgdmFyIGksIGo7CisKKyAgaWYgKGVuY2xvc2VzV2Vha0FsbChwLCBCKSkgcmV0dXJuIFtw
XTsKKworICAvLyBJZiB3ZSBnZXQgaGVyZSB0aGVuIEIgbXVzdCBoYXZlIGF0IGxlYXN0IG9uZSBl
bGVtZW50LgorICBmb3IgKGkgPSAwOyBpIDwgQi5sZW5ndGg7ICsraSkgeworICAgIGlmIChlbmNs
b3Nlc05vdChwLCBCW2ldKQorICAgICAgICAmJiBlbmNsb3Nlc1dlYWtBbGwoZW5jbG9zZUJhc2lz
MihCW2ldLCBwKSwgQikpIHsKKyAgICAgIHJldHVybiBbQltpXSwgcF07CisgICAgfQorICB9CisK
KyAgLy8gSWYgd2UgZ2V0IGhlcmUgdGhlbiBCIG11c3QgaGF2ZSBhdCBsZWFzdCB0d28gZWxlbWVu
dHMuCisgIGZvciAoaSA9IDA7IGkgPCBCLmxlbmd0aCAtIDE7ICsraSkgeworICAgIGZvciAoaiA9
IGkgKyAxOyBqIDwgQi5sZW5ndGg7ICsraikgeworICAgICAgaWYgKGVuY2xvc2VzTm90KGVuY2xv
c2VCYXNpczIoQltpXSwgQltqXSksIHApCisgICAgICAgICAgJiYgZW5jbG9zZXNOb3QoZW5jbG9z
ZUJhc2lzMihCW2ldLCBwKSwgQltqXSkKKyAgICAgICAgICAmJiBlbmNsb3Nlc05vdChlbmNsb3Nl
QmFzaXMyKEJbal0sIHApLCBCW2ldKQorICAgICAgICAgICYmIGVuY2xvc2VzV2Vha0FsbChlbmNs
b3NlQmFzaXMzKEJbaV0sIEJbal0sIHApLCBCKSkgeworICAgICAgICByZXR1cm4gW0JbaV0sIEJb
al0sIHBdOworICAgICAgfQorICAgIH0KKyAgfQorCisgIC8vIElmIHdlIGdldCBoZXJlIHRoZW4g
c29tZXRoaW5nIGlzIHZlcnkgd3JvbmcuCisgIHRocm93IG5ldyBFcnJvcjsKK30KKworZnVuY3Rp
b24gZW5jbG9zZXNOb3QoYSwgYikgeworICB2YXIgZHIgPSBhLnIgLSBiLnIsIGR4ID0gYi54IC0g
YS54LCBkeSA9IGIueSAtIGEueTsKKyAgcmV0dXJuIGRyIDwgMCB8fCBkciAqIGRyIDwgZHggKiBk
eCArIGR5ICogZHk7Cit9CisKK2Z1bmN0aW9uIGVuY2xvc2VzV2VhayhhLCBiKSB7CisgIHZhciBk
ciA9IGEuciAtIGIuciArIDFlLTYsIGR4ID0gYi54IC0gYS54LCBkeSA9IGIueSAtIGEueTsKKyAg
cmV0dXJuIGRyID4gMCAmJiBkciAqIGRyID4gZHggKiBkeCArIGR5ICogZHk7Cit9CisKK2Z1bmN0
aW9uIGVuY2xvc2VzV2Vha0FsbChhLCBCKSB7CisgIGZvciAodmFyIGkgPSAwOyBpIDwgQi5sZW5n
dGg7ICsraSkgeworICAgIGlmICghZW5jbG9zZXNXZWFrKGEsIEJbaV0pKSB7CisgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfQorICB9CisgIHJldHVybiB0cnVlOworfQorCitmdW5jdGlvbiBlbmNs
b3NlQmFzaXMoQikgeworICBzd2l0Y2ggKEIubGVuZ3RoKSB7CisgICAgY2FzZSAxOiByZXR1cm4g
ZW5jbG9zZUJhc2lzMShCWzBdKTsKKyAgICBjYXNlIDI6IHJldHVybiBlbmNsb3NlQmFzaXMyKEJb
MF0sIEJbMV0pOworICAgIGNhc2UgMzogcmV0dXJuIGVuY2xvc2VCYXNpczMoQlswXSwgQlsxXSwg
QlsyXSk7CisgIH0KK30KKworZnVuY3Rpb24gZW5jbG9zZUJhc2lzMShhKSB7CisgIHJldHVybiB7
CisgICAgeDogYS54LAorICAgIHk6IGEueSwKKyAgICByOiBhLnIKKyAgfTsKK30KKworZnVuY3Rp
b24gZW5jbG9zZUJhc2lzMihhLCBiKSB7CisgIHZhciB4MSA9IGEueCwgeTEgPSBhLnksIHIxID0g
YS5yLAorICAgICAgeDIgPSBiLngsIHkyID0gYi55LCByMiA9IGIuciwKKyAgICAgIHgyMSA9IHgy
IC0geDEsIHkyMSA9IHkyIC0geTEsIHIyMSA9IHIyIC0gcjEsCisgICAgICBsID0gTWF0aC5zcXJ0
KHgyMSAqIHgyMSArIHkyMSAqIHkyMSk7CisgIHJldHVybiB7CisgICAgeDogKHgxICsgeDIgKyB4
MjEgLyBsICogcjIxKSAvIDIsCisgICAgeTogKHkxICsgeTIgKyB5MjEgLyBsICogcjIxKSAvIDIs
CisgICAgcjogKGwgKyByMSArIHIyKSAvIDIKKyAgfTsKK30KKworZnVuY3Rpb24gZW5jbG9zZUJh
c2lzMyhhLCBiLCBjKSB7CisgIHZhciB4MSA9IGEueCwgeTEgPSBhLnksIHIxID0gYS5yLAorICAg
ICAgeDIgPSBiLngsIHkyID0gYi55LCByMiA9IGIuciwKKyAgICAgIHgzID0gYy54LCB5MyA9IGMu
eSwgcjMgPSBjLnIsCisgICAgICBhMiA9IHgxIC0geDIsCisgICAgICBhMyA9IHgxIC0geDMsCisg
ICAgICBiMiA9IHkxIC0geTIsCisgICAgICBiMyA9IHkxIC0geTMsCisgICAgICBjMiA9IHIyIC0g
cjEsCisgICAgICBjMyA9IHIzIC0gcjEsCisgICAgICBkMSA9IHgxICogeDEgKyB5MSAqIHkxIC0g
cjEgKiByMSwKKyAgICAgIGQyID0gZDEgLSB4MiAqIHgyIC0geTIgKiB5MiArIHIyICogcjIsCisg
ICAgICBkMyA9IGQxIC0geDMgKiB4MyAtIHkzICogeTMgKyByMyAqIHIzLAorICAgICAgYWIgPSBh
MyAqIGIyIC0gYTIgKiBiMywKKyAgICAgIHhhID0gKGIyICogZDMgLSBiMyAqIGQyKSAvIChhYiAq
IDIpIC0geDEsCisgICAgICB4YiA9IChiMyAqIGMyIC0gYjIgKiBjMykgLyBhYiwKKyAgICAgIHlh
ID0gKGEzICogZDIgLSBhMiAqIGQzKSAvIChhYiAqIDIpIC0geTEsCisgICAgICB5YiA9IChhMiAq
IGMzIC0gYTMgKiBjMikgLyBhYiwKKyAgICAgIEEgPSB4YiAqIHhiICsgeWIgKiB5YiAtIDEsCisg
ICAgICBCID0gMiAqIChyMSArIHhhICogeGIgKyB5YSAqIHliKSwKKyAgICAgIEMgPSB4YSAqIHhh
ICsgeWEgKiB5YSAtIHIxICogcjEsCisgICAgICByID0gLShBID8gKEIgKyBNYXRoLnNxcnQoQiAq
IEIgLSA0ICogQSAqIEMpKSAvICgyICogQSkgOiBDIC8gQik7CisgIHJldHVybiB7CisgICAgeDog
eDEgKyB4YSArIHhiICogciwKKyAgICB5OiB5MSArIHlhICsgeWIgKiByLAorICAgIHI6IHIKKyAg
fTsKK30KKworZnVuY3Rpb24gcGxhY2UoYiwgYSwgYykgeworICB2YXIgZHggPSBiLnggLSBhLngs
IHgsIGEyLAorICAgICAgZHkgPSBiLnkgLSBhLnksIHksIGIyLAorICAgICAgZDIgPSBkeCAqIGR4
ICsgZHkgKiBkeTsKKyAgaWYgKGQyKSB7CisgICAgYTIgPSBhLnIgKyBjLnIsIGEyICo9IGEyOwor
ICAgIGIyID0gYi5yICsgYy5yLCBiMiAqPSBiMjsKKyAgICBpZiAoYTIgPiBiMikgeworICAgICAg
eCA9IChkMiArIGIyIC0gYTIpIC8gKDIgKiBkMik7CisgICAgICB5ID0gTWF0aC5zcXJ0KE1hdGgu
bWF4KDAsIGIyIC8gZDIgLSB4ICogeCkpOworICAgICAgYy54ID0gYi54IC0geCAqIGR4IC0geSAq
IGR5OworICAgICAgYy55ID0gYi55IC0geCAqIGR5ICsgeSAqIGR4OworICAgIH0gZWxzZSB7Cisg
ICAgICB4ID0gKGQyICsgYTIgLSBiMikgLyAoMiAqIGQyKTsKKyAgICAgIHkgPSBNYXRoLnNxcnQo
TWF0aC5tYXgoMCwgYTIgLyBkMiAtIHggKiB4KSk7CisgICAgICBjLnggPSBhLnggKyB4ICogZHgg
LSB5ICogZHk7CisgICAgICBjLnkgPSBhLnkgKyB4ICogZHkgKyB5ICogZHg7CisgICAgfQorICB9
IGVsc2UgeworICAgIGMueCA9IGEueCArIGMucjsKKyAgICBjLnkgPSBhLnk7CisgIH0KK30KKwor
ZnVuY3Rpb24gaW50ZXJzZWN0cyhhLCBiKSB7CisgIHZhciBkciA9IGEuciArIGIuciAtIDFlLTYs
IGR4ID0gYi54IC0gYS54LCBkeSA9IGIueSAtIGEueTsKKyAgcmV0dXJuIGRyID4gMCAmJiBkciAq
IGRyID4gZHggKiBkeCArIGR5ICogZHk7Cit9CisKK2Z1bmN0aW9uIHNjb3JlKG5vZGUpIHsKKyAg
dmFyIGEgPSBub2RlLl8sCisgICAgICBiID0gbm9kZS5uZXh0Ll8sCisgICAgICBhYiA9IGEuciAr
IGIuciwKKyAgICAgIGR4ID0gKGEueCAqIGIuciArIGIueCAqIGEucikgLyBhYiwKKyAgICAgIGR5
ID0gKGEueSAqIGIuciArIGIueSAqIGEucikgLyBhYjsKKyAgcmV0dXJuIGR4ICogZHggKyBkeSAq
IGR5OworfQorCitmdW5jdGlvbiBOb2RlJDEoY2lyY2xlKSB7CisgIHRoaXMuXyA9IGNpcmNsZTsK
KyAgdGhpcy5uZXh0ID0gbnVsbDsKKyAgdGhpcy5wcmV2aW91cyA9IG51bGw7Cit9CisKK2Z1bmN0
aW9uIHBhY2tFbmNsb3NlKGNpcmNsZXMpIHsKKyAgaWYgKCEobiA9IGNpcmNsZXMubGVuZ3RoKSkg
cmV0dXJuIDA7CisKKyAgdmFyIGEsIGIsIGMsIG4sIGFhLCBjYSwgaSwgaiwgaywgc2osIHNrOwor
CisgIC8vIFBsYWNlIHRoZSBmaXJzdCBjaXJjbGUuCisgIGEgPSBjaXJjbGVzWzBdLCBhLnggPSAw
LCBhLnkgPSAwOworICBpZiAoIShuID4gMSkpIHJldHVybiBhLnI7CisKKyAgLy8gUGxhY2UgdGhl
IHNlY29uZCBjaXJjbGUuCisgIGIgPSBjaXJjbGVzWzFdLCBhLnggPSAtYi5yLCBiLnggPSBhLnIs
IGIueSA9IDA7CisgIGlmICghKG4gPiAyKSkgcmV0dXJuIGEuciArIGIucjsKKworICAvLyBQbGFj
ZSB0aGUgdGhpcmQgY2lyY2xlLgorICBwbGFjZShiLCBhLCBjID0gY2lyY2xlc1syXSk7CisKKyAg
Ly8gSW5pdGlhbGl6ZSB0aGUgZnJvbnQtY2hhaW4gdXNpbmcgdGhlIGZpcnN0IHRocmVlIGNpcmNs
ZXMgYSwgYiBhbmQgYy4KKyAgYSA9IG5ldyBOb2RlJDEoYSksIGIgPSBuZXcgTm9kZSQxKGIpLCBj
ID0gbmV3IE5vZGUkMShjKTsKKyAgYS5uZXh0ID0gYy5wcmV2aW91cyA9IGI7CisgIGIubmV4dCA9
IGEucHJldmlvdXMgPSBjOworICBjLm5leHQgPSBiLnByZXZpb3VzID0gYTsKKworICAvLyBBdHRl
bXB0IHRvIHBsYWNlIGVhY2ggcmVtYWluaW5nIGNpcmNsZeKApgorICBwYWNrOiBmb3IgKGkgPSAz
OyBpIDwgbjsgKytpKSB7CisgICAgcGxhY2UoYS5fLCBiLl8sIGMgPSBjaXJjbGVzW2ldKSwgYyA9
IG5ldyBOb2RlJDEoYyk7CisKKyAgICAvLyBGaW5kIHRoZSBjbG9zZXN0IGludGVyc2VjdGluZyBj
aXJjbGUgb24gdGhlIGZyb250LWNoYWluLCBpZiBhbnkuCisgICAgLy8g4oCcQ2xvc2VuZXNz4oCd
IGlzIGRldGVybWluZWQgYnkgbGluZWFyIGRpc3RhbmNlIGFsb25nIHRoZSBmcm9udC1jaGFpbi4K
KyAgICAvLyDigJxBaGVhZOKAnSBvciDigJxiZWhpbmTigJ0gaXMgbGlrZXdpc2UgZGV0ZXJtaW5l
ZCBieSBsaW5lYXIgZGlzdGFuY2UuCisgICAgaiA9IGIubmV4dCwgayA9IGEucHJldmlvdXMsIHNq
ID0gYi5fLnIsIHNrID0gYS5fLnI7CisgICAgZG8geworICAgICAgaWYgKHNqIDw9IHNrKSB7Cisg
ICAgICAgIGlmIChpbnRlcnNlY3RzKGouXywgYy5fKSkgeworICAgICAgICAgIGIgPSBqLCBhLm5l
eHQgPSBiLCBiLnByZXZpb3VzID0gYSwgLS1pOworICAgICAgICAgIGNvbnRpbnVlIHBhY2s7Cisg
ICAgICAgIH0KKyAgICAgICAgc2ogKz0gai5fLnIsIGogPSBqLm5leHQ7CisgICAgICB9IGVsc2Ug
eworICAgICAgICBpZiAoaW50ZXJzZWN0cyhrLl8sIGMuXykpIHsKKyAgICAgICAgICBhID0gaywg
YS5uZXh0ID0gYiwgYi5wcmV2aW91cyA9IGEsIC0taTsKKyAgICAgICAgICBjb250aW51ZSBwYWNr
OworICAgICAgICB9CisgICAgICAgIHNrICs9IGsuXy5yLCBrID0gay5wcmV2aW91czsKKyAgICAg
IH0KKyAgICB9IHdoaWxlIChqICE9PSBrLm5leHQpOworCisgICAgLy8gU3VjY2VzcyEgSW5zZXJ0
IHRoZSBuZXcgY2lyY2xlIGMgYmV0d2VlbiBhIGFuZCBiLgorICAgIGMucHJldmlvdXMgPSBhLCBj
Lm5leHQgPSBiLCBhLm5leHQgPSBiLnByZXZpb3VzID0gYiA9IGM7CisKKyAgICAvLyBDb21wdXRl
IHRoZSBuZXcgY2xvc2VzdCBjaXJjbGUgcGFpciB0byB0aGUgY2VudHJvaWQuCisgICAgYWEgPSBz
Y29yZShhKTsKKyAgICB3aGlsZSAoKGMgPSBjLm5leHQpICE9PSBiKSB7CisgICAgICBpZiAoKGNh
ID0gc2NvcmUoYykpIDwgYWEpIHsKKyAgICAgICAgYSA9IGMsIGFhID0gY2E7CisgICAgICB9Cisg
ICAgfQorICAgIGIgPSBhLm5leHQ7CisgIH0KKworICAvLyBDb21wdXRlIHRoZSBlbmNsb3Npbmcg
Y2lyY2xlIG9mIHRoZSBmcm9udCBjaGFpbi4KKyAgYSA9IFtiLl9dLCBjID0gYjsgd2hpbGUgKChj
ID0gYy5uZXh0KSAhPT0gYikgYS5wdXNoKGMuXyk7IGMgPSBlbmNsb3NlKGEpOworCisgIC8vIFRy
YW5zbGF0ZSB0aGUgY2lyY2xlcyB0byBwdXQgdGhlIGVuY2xvc2luZyBjaXJjbGUgYXJvdW5kIHRo
ZSBvcmlnaW4uCisgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIGEgPSBjaXJjbGVzW2ldLCBhLngg
LT0gYy54LCBhLnkgLT0gYy55OworCisgIHJldHVybiBjLnI7Cit9CisKK2Z1bmN0aW9uIHNpYmxp
bmdzKGNpcmNsZXMpIHsKKyAgcGFja0VuY2xvc2UoY2lyY2xlcyk7CisgIHJldHVybiBjaXJjbGVz
OworfQorCitmdW5jdGlvbiBvcHRpb25hbChmKSB7CisgIHJldHVybiBmID09IG51bGwgPyBudWxs
IDogcmVxdWlyZWQoZik7Cit9CisKK2Z1bmN0aW9uIHJlcXVpcmVkKGYpIHsKKyAgaWYgKHR5cGVv
ZiBmICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHJldHVybiBmOworfQorCitm
dW5jdGlvbiBjb25zdGFudFplcm8oKSB7CisgIHJldHVybiAwOworfQorCitmdW5jdGlvbiBjb25z
dGFudCQ5KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB4OworICB9Owor
fQorCitmdW5jdGlvbiBkZWZhdWx0UmFkaXVzJDEoZCkgeworICByZXR1cm4gTWF0aC5zcXJ0KGQu
dmFsdWUpOworfQorCitmdW5jdGlvbiBpbmRleCQyKCkgeworICB2YXIgcmFkaXVzID0gbnVsbCwK
KyAgICAgIGR4ID0gMSwKKyAgICAgIGR5ID0gMSwKKyAgICAgIHBhZGRpbmcgPSBjb25zdGFudFpl
cm87CisKKyAgZnVuY3Rpb24gcGFjayhyb290KSB7CisgICAgcm9vdC54ID0gZHggLyAyLCByb290
LnkgPSBkeSAvIDI7CisgICAgaWYgKHJhZGl1cykgeworICAgICAgcm9vdC5lYWNoQmVmb3JlKHJh
ZGl1c0xlYWYocmFkaXVzKSkKKyAgICAgICAgICAuZWFjaEFmdGVyKHBhY2tDaGlsZHJlbihwYWRk
aW5nLCAwLjUpKQorICAgICAgICAgIC5lYWNoQmVmb3JlKHRyYW5zbGF0ZUNoaWxkKDEpKTsKKyAg
ICB9IGVsc2UgeworICAgICAgcm9vdC5lYWNoQmVmb3JlKHJhZGl1c0xlYWYoZGVmYXVsdFJhZGl1
cyQxKSkKKyAgICAgICAgICAuZWFjaEFmdGVyKHBhY2tDaGlsZHJlbihjb25zdGFudFplcm8sIDEp
KQorICAgICAgICAgIC5lYWNoQWZ0ZXIocGFja0NoaWxkcmVuKHBhZGRpbmcsIHJvb3QuciAvIE1h
dGgubWluKGR4LCBkeSkpKQorICAgICAgICAgIC5lYWNoQmVmb3JlKHRyYW5zbGF0ZUNoaWxkKE1h
dGgubWluKGR4LCBkeSkgLyAoMiAqIHJvb3QucikpKTsKKyAgICB9CisgICAgcmV0dXJuIHJvb3Q7
CisgIH0KKworICBwYWNrLnJhZGl1cyA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/IChyYWRpdXMgPSBvcHRpb25hbCh4KSwgcGFjaykgOiByYWRpdXM7CisgIH07
CisKKyAgcGFjay5zaXplID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKGR4ID0gK3hbMF0sIGR5ID0gK3hbMV0sIHBhY2spIDogW2R4LCBkeV07CisgIH07CisK
KyAgcGFjay5wYWRkaW5nID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHBhZGRpbmcgPSB0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiA/IHggOiBjb25zdGFudCQ5
KCt4KSwgcGFjaykgOiBwYWRkaW5nOworICB9OworCisgIHJldHVybiBwYWNrOworfQorCitmdW5j
dGlvbiByYWRpdXNMZWFmKHJhZGl1cykgeworICByZXR1cm4gZnVuY3Rpb24obm9kZSkgeworICAg
IGlmICghbm9kZS5jaGlsZHJlbikgeworICAgICAgbm9kZS5yID0gTWF0aC5tYXgoMCwgK3JhZGl1
cyhub2RlKSB8fCAwKTsKKyAgICB9CisgIH07Cit9CisKK2Z1bmN0aW9uIHBhY2tDaGlsZHJlbihw
YWRkaW5nLCBrKSB7CisgIHJldHVybiBmdW5jdGlvbihub2RlKSB7CisgICAgaWYgKGNoaWxkcmVu
ID0gbm9kZS5jaGlsZHJlbikgeworICAgICAgdmFyIGNoaWxkcmVuLAorICAgICAgICAgIGksCisg
ICAgICAgICAgbiA9IGNoaWxkcmVuLmxlbmd0aCwKKyAgICAgICAgICByID0gcGFkZGluZyhub2Rl
KSAqIGsgfHwgMCwKKyAgICAgICAgICBlOworCisgICAgICBpZiAocikgZm9yIChpID0gMDsgaSA8
IG47ICsraSkgY2hpbGRyZW5baV0uciArPSByOworICAgICAgZSA9IHBhY2tFbmNsb3NlKGNoaWxk
cmVuKTsKKyAgICAgIGlmIChyKSBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSBjaGlsZHJlbltpXS5y
IC09IHI7CisgICAgICBub2RlLnIgPSBlICsgcjsKKyAgICB9CisgIH07Cit9CisKK2Z1bmN0aW9u
IHRyYW5zbGF0ZUNoaWxkKGspIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKG5vZGUpIHsKKyAgICB2YXIg
cGFyZW50ID0gbm9kZS5wYXJlbnQ7CisgICAgbm9kZS5yICo9IGs7CisgICAgaWYgKHBhcmVudCkg
eworICAgICAgbm9kZS54ID0gcGFyZW50LnggKyBrICogbm9kZS54OworICAgICAgbm9kZS55ID0g
cGFyZW50LnkgKyBrICogbm9kZS55OworICAgIH0KKyAgfTsKK30KKworZnVuY3Rpb24gcm91bmRO
b2RlKG5vZGUpIHsKKyAgbm9kZS54MCA9IE1hdGgucm91bmQobm9kZS54MCk7CisgIG5vZGUueTAg
PSBNYXRoLnJvdW5kKG5vZGUueTApOworICBub2RlLngxID0gTWF0aC5yb3VuZChub2RlLngxKTsK
KyAgbm9kZS55MSA9IE1hdGgucm91bmQobm9kZS55MSk7Cit9CisKK2Z1bmN0aW9uIHRyZWVtYXBE
aWNlKHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIG5vZGVzID0gcGFyZW50LmNoaWxk
cmVuLAorICAgICAgbm9kZSwKKyAgICAgIGkgPSAtMSwKKyAgICAgIG4gPSBub2Rlcy5sZW5ndGgs
CisgICAgICBrID0gcGFyZW50LnZhbHVlICYmICh4MSAtIHgwKSAvIHBhcmVudC52YWx1ZTsKKwor
ICB3aGlsZSAoKytpIDwgbikgeworICAgIG5vZGUgPSBub2Rlc1tpXSwgbm9kZS55MCA9IHkwLCBu
b2RlLnkxID0geTE7CisgICAgbm9kZS54MCA9IHgwLCBub2RlLngxID0geDAgKz0gbm9kZS52YWx1
ZSAqIGs7CisgIH0KK30KKworZnVuY3Rpb24gcGFydGl0aW9uKCkgeworICB2YXIgZHggPSAxLAor
ICAgICAgZHkgPSAxLAorICAgICAgcGFkZGluZyA9IDAsCisgICAgICByb3VuZCA9IGZhbHNlOwor
CisgIGZ1bmN0aW9uIHBhcnRpdGlvbihyb290KSB7CisgICAgdmFyIG4gPSByb290LmhlaWdodCAr
IDE7CisgICAgcm9vdC54MCA9CisgICAgcm9vdC55MCA9IHBhZGRpbmc7CisgICAgcm9vdC54MSA9
IGR4OworICAgIHJvb3QueTEgPSBkeSAvIG47CisgICAgcm9vdC5lYWNoQmVmb3JlKHBvc2l0aW9u
Tm9kZShkeSwgbikpOworICAgIGlmIChyb3VuZCkgcm9vdC5lYWNoQmVmb3JlKHJvdW5kTm9kZSk7
CisgICAgcmV0dXJuIHJvb3Q7CisgIH0KKworICBmdW5jdGlvbiBwb3NpdGlvbk5vZGUoZHksIG4p
IHsKKyAgICByZXR1cm4gZnVuY3Rpb24obm9kZSkgeworICAgICAgaWYgKG5vZGUuY2hpbGRyZW4p
IHsKKyAgICAgICAgdHJlZW1hcERpY2Uobm9kZSwgbm9kZS54MCwgZHkgKiAobm9kZS5kZXB0aCAr
IDEpIC8gbiwgbm9kZS54MSwgZHkgKiAobm9kZS5kZXB0aCArIDIpIC8gbik7CisgICAgICB9Cisg
ICAgICB2YXIgeDAgPSBub2RlLngwLAorICAgICAgICAgIHkwID0gbm9kZS55MCwKKyAgICAgICAg
ICB4MSA9IG5vZGUueDEgLSBwYWRkaW5nLAorICAgICAgICAgIHkxID0gbm9kZS55MSAtIHBhZGRp
bmc7CisgICAgICBpZiAoeDEgPCB4MCkgeDAgPSB4MSA9ICh4MCArIHgxKSAvIDI7CisgICAgICBp
ZiAoeTEgPCB5MCkgeTAgPSB5MSA9ICh5MCArIHkxKSAvIDI7CisgICAgICBub2RlLngwID0geDA7
CisgICAgICBub2RlLnkwID0geTA7CisgICAgICBub2RlLngxID0geDE7CisgICAgICBub2RlLnkx
ID0geTE7CisgICAgfTsKKyAgfQorCisgIHBhcnRpdGlvbi5yb3VuZCA9IGZ1bmN0aW9uKHgpIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChyb3VuZCA9ICEheCwgcGFydGl0aW9uKSA6
IHJvdW5kOworICB9OworCisgIHBhcnRpdGlvbi5zaXplID0gZnVuY3Rpb24oeCkgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGR4ID0gK3hbMF0sIGR5ID0gK3hbMV0sIHBhcnRpdGlv
bikgOiBbZHgsIGR5XTsKKyAgfTsKKworICBwYXJ0aXRpb24ucGFkZGluZyA9IGZ1bmN0aW9uKHgp
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRkaW5nID0gK3gsIHBhcnRpdGlv
bikgOiBwYWRkaW5nOworICB9OworCisgIHJldHVybiBwYXJ0aXRpb247Cit9CisKK3ZhciBrZXlQ
cmVmaXgkMSA9ICIkIiwgLy8gUHJvdGVjdCBhZ2FpbnN0IGtleXMgbGlrZSDigJxfX3Byb3RvX1/i
gJ0uCisgICAgcHJlcm9vdCA9IHtkZXB0aDogLTF9LAorICAgIGFtYmlndW91cyA9IHt9OworCitm
dW5jdGlvbiBkZWZhdWx0SWQoZCkgeworICByZXR1cm4gZC5pZDsKK30KKworZnVuY3Rpb24gZGVm
YXVsdFBhcmVudElkKGQpIHsKKyAgcmV0dXJuIGQucGFyZW50SWQ7Cit9CisKK2Z1bmN0aW9uIHN0
cmF0aWZ5KCkgeworICB2YXIgaWQgPSBkZWZhdWx0SWQsCisgICAgICBwYXJlbnRJZCA9IGRlZmF1
bHRQYXJlbnRJZDsKKworICBmdW5jdGlvbiBzdHJhdGlmeShkYXRhKSB7CisgICAgdmFyIGQsCisg
ICAgICAgIGksCisgICAgICAgIG4gPSBkYXRhLmxlbmd0aCwKKyAgICAgICAgcm9vdCwKKyAgICAg
ICAgcGFyZW50LAorICAgICAgICBub2RlLAorICAgICAgICBub2RlcyA9IG5ldyBBcnJheShuKSwK
KyAgICAgICAgbm9kZUlkLAorICAgICAgICBub2RlS2V5LAorICAgICAgICBub2RlQnlLZXkgPSB7
fTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGQgPSBkYXRhW2ldLCBu
b2RlID0gbm9kZXNbaV0gPSBuZXcgTm9kZShkKTsKKyAgICAgIGlmICgobm9kZUlkID0gaWQoZCwg
aSwgZGF0YSkpICE9IG51bGwgJiYgKG5vZGVJZCArPSAiIikpIHsKKyAgICAgICAgbm9kZUtleSA9
IGtleVByZWZpeCQxICsgKG5vZGUuaWQgPSBub2RlSWQpOworICAgICAgICBub2RlQnlLZXlbbm9k
ZUtleV0gPSBub2RlS2V5IGluIG5vZGVCeUtleSA/IGFtYmlndW91cyA6IG5vZGU7CisgICAgICB9
CisgICAgfQorCisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgbm9kZSA9IG5v
ZGVzW2ldLCBub2RlSWQgPSBwYXJlbnRJZChkYXRhW2ldLCBpLCBkYXRhKTsKKyAgICAgIGlmIChu
b2RlSWQgPT0gbnVsbCB8fCAhKG5vZGVJZCArPSAiIikpIHsKKyAgICAgICAgaWYgKHJvb3QpIHRo
cm93IG5ldyBFcnJvcigibXVsdGlwbGUgcm9vdHMiKTsKKyAgICAgICAgcm9vdCA9IG5vZGU7Cisg
ICAgICB9IGVsc2UgeworICAgICAgICBwYXJlbnQgPSBub2RlQnlLZXlba2V5UHJlZml4JDEgKyBu
b2RlSWRdOworICAgICAgICBpZiAoIXBhcmVudCkgdGhyb3cgbmV3IEVycm9yKCJtaXNzaW5nOiAi
ICsgbm9kZUlkKTsKKyAgICAgICAgaWYgKHBhcmVudCA9PT0gYW1iaWd1b3VzKSB0aHJvdyBuZXcg
RXJyb3IoImFtYmlndW91czogIiArIG5vZGVJZCk7CisgICAgICAgIGlmIChwYXJlbnQuY2hpbGRy
ZW4pIHBhcmVudC5jaGlsZHJlbi5wdXNoKG5vZGUpOworICAgICAgICBlbHNlIHBhcmVudC5jaGls
ZHJlbiA9IFtub2RlXTsKKyAgICAgICAgbm9kZS5wYXJlbnQgPSBwYXJlbnQ7CisgICAgICB9Cisg
ICAgfQorCisgICAgaWYgKCFyb290KSB0aHJvdyBuZXcgRXJyb3IoIm5vIHJvb3QiKTsKKyAgICBy
b290LnBhcmVudCA9IHByZXJvb3Q7CisgICAgcm9vdC5lYWNoQmVmb3JlKGZ1bmN0aW9uKG5vZGUp
IHsgbm9kZS5kZXB0aCA9IG5vZGUucGFyZW50LmRlcHRoICsgMTsgLS1uOyB9KS5lYWNoQmVmb3Jl
KGNvbXB1dGVIZWlnaHQpOworICAgIHJvb3QucGFyZW50ID0gbnVsbDsKKyAgICBpZiAobiA+IDAp
IHRocm93IG5ldyBFcnJvcigiY3ljbGUiKTsKKworICAgIHJldHVybiByb290OworICB9CisKKyAg
c3RyYXRpZnkuaWQgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PyAoaWQgPSByZXF1aXJlZCh4KSwgc3RyYXRpZnkpIDogaWQ7CisgIH07CisKKyAgc3RyYXRpZnku
cGFyZW50SWQgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
cGFyZW50SWQgPSByZXF1aXJlZCh4KSwgc3RyYXRpZnkpIDogcGFyZW50SWQ7CisgIH07CisKKyAg
cmV0dXJuIHN0cmF0aWZ5OworfQorCitmdW5jdGlvbiBkZWZhdWx0U2VwYXJhdGlvbiQxKGEsIGIp
IHsKKyAgcmV0dXJuIGEucGFyZW50ID09PSBiLnBhcmVudCA/IDEgOiAyOworfQorCisvLyBmdW5j
dGlvbiByYWRpYWxTZXBhcmF0aW9uKGEsIGIpIHsKKy8vICAgcmV0dXJuIChhLnBhcmVudCA9PT0g
Yi5wYXJlbnQgPyAxIDogMikgLyBhLmRlcHRoOworLy8gfQorCisvLyBUaGlzIGZ1bmN0aW9uIGlz
IHVzZWQgdG8gdHJhdmVyc2UgdGhlIGxlZnQgY29udG91ciBvZiBhIHN1YnRyZWUgKG9yCisvLyBz
dWJmb3Jlc3QpLiBJdCByZXR1cm5zIHRoZSBzdWNjZXNzb3Igb2YgdiBvbiB0aGlzIGNvbnRvdXIu
IFRoaXMgc3VjY2Vzc29yIGlzCisvLyBlaXRoZXIgZ2l2ZW4gYnkgdGhlIGxlZnRtb3N0IGNoaWxk
IG9mIHYgb3IgYnkgdGhlIHRocmVhZCBvZiB2LiBUaGUgZnVuY3Rpb24KKy8vIHJldHVybnMgbnVs
bCBpZiBhbmQgb25seSBpZiB2IGlzIG9uIHRoZSBoaWdoZXN0IGxldmVsIG9mIGl0cyBzdWJ0cmVl
LgorZnVuY3Rpb24gbmV4dExlZnQodikgeworICB2YXIgY2hpbGRyZW4gPSB2LmNoaWxkcmVuOwor
ICByZXR1cm4gY2hpbGRyZW4gPyBjaGlsZHJlblswXSA6IHYudDsKK30KKworLy8gVGhpcyBmdW5j
dGlvbiB3b3JrcyBhbmFsb2dvdXNseSB0byBuZXh0TGVmdC4KK2Z1bmN0aW9uIG5leHRSaWdodCh2
KSB7CisgIHZhciBjaGlsZHJlbiA9IHYuY2hpbGRyZW47CisgIHJldHVybiBjaGlsZHJlbiA/IGNo
aWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDFdIDogdi50OworfQorCisvLyBTaGlmdHMgdGhlIGN1
cnJlbnQgc3VidHJlZSByb290ZWQgYXQgdysuIFRoaXMgaXMgZG9uZSBieSBpbmNyZWFzaW5nCisv
LyBwcmVsaW0odyspIGFuZCBtb2QodyspIGJ5IHNoaWZ0LgorZnVuY3Rpb24gbW92ZVN1YnRyZWUo
d20sIHdwLCBzaGlmdCkgeworICB2YXIgY2hhbmdlID0gc2hpZnQgLyAod3AuaSAtIHdtLmkpOwor
ICB3cC5jIC09IGNoYW5nZTsKKyAgd3AucyArPSBzaGlmdDsKKyAgd20uYyArPSBjaGFuZ2U7Cisg
IHdwLnogKz0gc2hpZnQ7CisgIHdwLm0gKz0gc2hpZnQ7Cit9CisKKy8vIEFsbCBvdGhlciBzaGlm
dHMsIGFwcGxpZWQgdG8gdGhlIHNtYWxsZXIgc3VidHJlZXMgYmV0d2VlbiB3LSBhbmQgdyssIGFy
ZQorLy8gcGVyZm9ybWVkIGJ5IHRoaXMgZnVuY3Rpb24uIFRvIHByZXBhcmUgdGhlIHNoaWZ0cywg
d2UgaGF2ZSB0byBhZGp1c3QKKy8vIGNoYW5nZSh3KyksIHNoaWZ0KHcrKSwgYW5kIGNoYW5nZSh3
LSkuCitmdW5jdGlvbiBleGVjdXRlU2hpZnRzKHYpIHsKKyAgdmFyIHNoaWZ0ID0gMCwKKyAgICAg
IGNoYW5nZSA9IDAsCisgICAgICBjaGlsZHJlbiA9IHYuY2hpbGRyZW4sCisgICAgICBpID0gY2hp
bGRyZW4ubGVuZ3RoLAorICAgICAgdzsKKyAgd2hpbGUgKC0taSA+PSAwKSB7CisgICAgdyA9IGNo
aWxkcmVuW2ldOworICAgIHcueiArPSBzaGlmdDsKKyAgICB3Lm0gKz0gc2hpZnQ7CisgICAgc2hp
ZnQgKz0gdy5zICsgKGNoYW5nZSArPSB3LmMpOworICB9Cit9CisKKy8vIElmIHZpLeKAmXMgYW5j
ZXN0b3IgaXMgYSBzaWJsaW5nIG9mIHYsIHJldHVybnMgdmkt4oCZcyBhbmNlc3Rvci4gT3RoZXJ3
aXNlLAorLy8gcmV0dXJucyB0aGUgc3BlY2lmaWVkIChkZWZhdWx0KSBhbmNlc3Rvci4KK2Z1bmN0
aW9uIG5leHRBbmNlc3Rvcih2aW0sIHYsIGFuY2VzdG9yKSB7CisgIHJldHVybiB2aW0uYS5wYXJl
bnQgPT09IHYucGFyZW50ID8gdmltLmEgOiBhbmNlc3RvcjsKK30KKworZnVuY3Rpb24gVHJlZU5v
ZGUobm9kZSwgaSkgeworICB0aGlzLl8gPSBub2RlOworICB0aGlzLnBhcmVudCA9IG51bGw7Cisg
IHRoaXMuY2hpbGRyZW4gPSBudWxsOworICB0aGlzLkEgPSBudWxsOyAvLyBkZWZhdWx0IGFuY2Vz
dG9yCisgIHRoaXMuYSA9IHRoaXM7IC8vIGFuY2VzdG9yCisgIHRoaXMueiA9IDA7IC8vIHByZWxp
bQorICB0aGlzLm0gPSAwOyAvLyBtb2QKKyAgdGhpcy5jID0gMDsgLy8gY2hhbmdlCisgIHRoaXMu
cyA9IDA7IC8vIHNoaWZ0CisgIHRoaXMudCA9IG51bGw7IC8vIHRocmVhZAorICB0aGlzLmkgPSBp
OyAvLyBudW1iZXIKK30KKworVHJlZU5vZGUucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShOb2Rl
LnByb3RvdHlwZSk7CisKK2Z1bmN0aW9uIHRyZWVSb290KHJvb3QpIHsKKyAgdmFyIHRyZWUgPSBu
ZXcgVHJlZU5vZGUocm9vdCwgMCksCisgICAgICBub2RlLAorICAgICAgbm9kZXMgPSBbdHJlZV0s
CisgICAgICBjaGlsZCwKKyAgICAgIGNoaWxkcmVuLAorICAgICAgaSwKKyAgICAgIG47CisKKyAg
d2hpbGUgKG5vZGUgPSBub2Rlcy5wb3AoKSkgeworICAgIGlmIChjaGlsZHJlbiA9IG5vZGUuXy5j
aGlsZHJlbikgeworICAgICAgbm9kZS5jaGlsZHJlbiA9IG5ldyBBcnJheShuID0gY2hpbGRyZW4u
bGVuZ3RoKTsKKyAgICAgIGZvciAoaSA9IG4gLSAxOyBpID49IDA7IC0taSkgeworICAgICAgICBu
b2Rlcy5wdXNoKGNoaWxkID0gbm9kZS5jaGlsZHJlbltpXSA9IG5ldyBUcmVlTm9kZShjaGlsZHJl
bltpXSwgaSkpOworICAgICAgICBjaGlsZC5wYXJlbnQgPSBub2RlOworICAgICAgfQorICAgIH0K
KyAgfQorCisgICh0cmVlLnBhcmVudCA9IG5ldyBUcmVlTm9kZShudWxsLCAwKSkuY2hpbGRyZW4g
PSBbdHJlZV07CisgIHJldHVybiB0cmVlOworfQorCisvLyBOb2RlLWxpbmsgdHJlZSBkaWFncmFt
IHVzaW5nIHRoZSBSZWluZ29sZC1UaWxmb3JkICJ0aWR5IiBhbGdvcml0aG0KK2Z1bmN0aW9uIHRy
ZWUoKSB7CisgIHZhciBzZXBhcmF0aW9uID0gZGVmYXVsdFNlcGFyYXRpb24kMSwKKyAgICAgIGR4
ID0gMSwKKyAgICAgIGR5ID0gMSwKKyAgICAgIG5vZGVTaXplID0gbnVsbDsKKworICBmdW5jdGlv
biB0cmVlKHJvb3QpIHsKKyAgICB2YXIgdCA9IHRyZWVSb290KHJvb3QpOworCisgICAgLy8gQ29t
cHV0ZSB0aGUgbGF5b3V0IHVzaW5nIEJ1Y2hoZWltIGV0IGFsLuKAmXMgYWxnb3JpdGhtLgorICAg
IHQuZWFjaEFmdGVyKGZpcnN0V2FsayksIHQucGFyZW50Lm0gPSAtdC56OworICAgIHQuZWFjaEJl
Zm9yZShzZWNvbmRXYWxrKTsKKworICAgIC8vIElmIGEgZml4ZWQgbm9kZSBzaXplIGlzIHNwZWNp
ZmllZCwgc2NhbGUgeCBhbmQgeS4KKyAgICBpZiAobm9kZVNpemUpIHJvb3QuZWFjaEJlZm9yZShz
aXplTm9kZSk7CisKKyAgICAvLyBJZiBhIGZpeGVkIHRyZWUgc2l6ZSBpcyBzcGVjaWZpZWQsIHNj
YWxlIHggYW5kIHkgYmFzZWQgb24gdGhlIGV4dGVudC4KKyAgICAvLyBDb21wdXRlIHRoZSBsZWZ0
LW1vc3QsIHJpZ2h0LW1vc3QsIGFuZCBkZXB0aC1tb3N0IG5vZGVzIGZvciBleHRlbnRzLgorICAg
IGVsc2UgeworICAgICAgdmFyIGxlZnQgPSByb290LAorICAgICAgICAgIHJpZ2h0ID0gcm9vdCwK
KyAgICAgICAgICBib3R0b20gPSByb290OworICAgICAgcm9vdC5lYWNoQmVmb3JlKGZ1bmN0aW9u
KG5vZGUpIHsKKyAgICAgICAgaWYgKG5vZGUueCA8IGxlZnQueCkgbGVmdCA9IG5vZGU7CisgICAg
ICAgIGlmIChub2RlLnggPiByaWdodC54KSByaWdodCA9IG5vZGU7CisgICAgICAgIGlmIChub2Rl
LmRlcHRoID4gYm90dG9tLmRlcHRoKSBib3R0b20gPSBub2RlOworICAgICAgfSk7CisgICAgICB2
YXIgcyA9IGxlZnQgPT09IHJpZ2h0ID8gMSA6IHNlcGFyYXRpb24obGVmdCwgcmlnaHQpIC8gMiwK
KyAgICAgICAgICB0eCA9IHMgLSBsZWZ0LngsCisgICAgICAgICAga3ggPSBkeCAvIChyaWdodC54
ICsgcyArIHR4KSwKKyAgICAgICAgICBreSA9IGR5IC8gKGJvdHRvbS5kZXB0aCB8fCAxKTsKKyAg
ICAgIHJvb3QuZWFjaEJlZm9yZShmdW5jdGlvbihub2RlKSB7CisgICAgICAgIG5vZGUueCA9IChu
b2RlLnggKyB0eCkgKiBreDsKKyAgICAgICAgbm9kZS55ID0gbm9kZS5kZXB0aCAqIGt5OworICAg
ICAgfSk7CisgICAgfQorCisgICAgcmV0dXJuIHJvb3Q7CisgIH0KKworICAvLyBDb21wdXRlcyBh
IHByZWxpbWluYXJ5IHgtY29vcmRpbmF0ZSBmb3Igdi4gQmVmb3JlIHRoYXQsIEZJUlNUIFdBTEsg
aXMKKyAgLy8gYXBwbGllZCByZWN1cnNpdmVseSB0byB0aGUgY2hpbGRyZW4gb2YgdiwgYXMgd2Vs
bCBhcyB0aGUgZnVuY3Rpb24KKyAgLy8gQVBQT1JUSU9OLiBBZnRlciBzcGFjaW5nIG91dCB0aGUg
Y2hpbGRyZW4gYnkgY2FsbGluZyBFWEVDVVRFIFNISUZUUywgdGhlCisgIC8vIG5vZGUgdiBpcyBw
bGFjZWQgdG8gdGhlIG1pZHBvaW50IG9mIGl0cyBvdXRlcm1vc3QgY2hpbGRyZW4uCisgIGZ1bmN0
aW9uIGZpcnN0V2Fsayh2KSB7CisgICAgdmFyIGNoaWxkcmVuID0gdi5jaGlsZHJlbiwKKyAgICAg
ICAgc2libGluZ3MgPSB2LnBhcmVudC5jaGlsZHJlbiwKKyAgICAgICAgdyA9IHYuaSA/IHNpYmxp
bmdzW3YuaSAtIDFdIDogbnVsbDsKKyAgICBpZiAoY2hpbGRyZW4pIHsKKyAgICAgIGV4ZWN1dGVT
aGlmdHModik7CisgICAgICB2YXIgbWlkcG9pbnQgPSAoY2hpbGRyZW5bMF0ueiArIGNoaWxkcmVu
W2NoaWxkcmVuLmxlbmd0aCAtIDFdLnopIC8gMjsKKyAgICAgIGlmICh3KSB7CisgICAgICAgIHYu
eiA9IHcueiArIHNlcGFyYXRpb24odi5fLCB3Ll8pOworICAgICAgICB2Lm0gPSB2LnogLSBtaWRw
b2ludDsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIHYueiA9IG1pZHBvaW50OworICAgICAgfQor
ICAgIH0gZWxzZSBpZiAodykgeworICAgICAgdi56ID0gdy56ICsgc2VwYXJhdGlvbih2Ll8sIHcu
Xyk7CisgICAgfQorICAgIHYucGFyZW50LkEgPSBhcHBvcnRpb24odiwgdywgdi5wYXJlbnQuQSB8
fCBzaWJsaW5nc1swXSk7CisgIH0KKworICAvLyBDb21wdXRlcyBhbGwgcmVhbCB4LWNvb3JkaW5h
dGVzIGJ5IHN1bW1pbmcgdXAgdGhlIG1vZGlmaWVycyByZWN1cnNpdmVseS4KKyAgZnVuY3Rpb24g
c2Vjb25kV2Fsayh2KSB7CisgICAgdi5fLnggPSB2LnogKyB2LnBhcmVudC5tOworICAgIHYubSAr
PSB2LnBhcmVudC5tOworICB9CisKKyAgLy8gVGhlIGNvcmUgb2YgdGhlIGFsZ29yaXRobS4gSGVy
ZSwgYSBuZXcgc3VidHJlZSBpcyBjb21iaW5lZCB3aXRoIHRoZQorICAvLyBwcmV2aW91cyBzdWJ0
cmVlcy4gVGhyZWFkcyBhcmUgdXNlZCB0byB0cmF2ZXJzZSB0aGUgaW5zaWRlIGFuZCBvdXRzaWRl
CisgIC8vIGNvbnRvdXJzIG9mIHRoZSBsZWZ0IGFuZCByaWdodCBzdWJ0cmVlIHVwIHRvIHRoZSBo
aWdoZXN0IGNvbW1vbiBsZXZlbC4gVGhlCisgIC8vIHZlcnRpY2VzIHVzZWQgZm9yIHRoZSB0cmF2
ZXJzYWxzIGFyZSB2aSssIHZpLSwgdm8tLCBhbmQgdm8rLCB3aGVyZSB0aGUKKyAgLy8gc3VwZXJz
Y3JpcHQgbyBtZWFucyBvdXRzaWRlIGFuZCBpIG1lYW5zIGluc2lkZSwgdGhlIHN1YnNjcmlwdCAt
IG1lYW5zIGxlZnQKKyAgLy8gc3VidHJlZSBhbmQgKyBtZWFucyByaWdodCBzdWJ0cmVlLiBGb3Ig
c3VtbWluZyB1cCB0aGUgbW9kaWZpZXJzIGFsb25nIHRoZQorICAvLyBjb250b3VyLCB3ZSB1c2Ug
cmVzcGVjdGl2ZSB2YXJpYWJsZXMgc2krLCBzaS0sIHNvLSwgYW5kIHNvKy4gV2hlbmV2ZXIgdHdv
CisgIC8vIG5vZGVzIG9mIHRoZSBpbnNpZGUgY29udG91cnMgY29uZmxpY3QsIHdlIGNvbXB1dGUg
dGhlIGxlZnQgb25lIG9mIHRoZQorICAvLyBncmVhdGVzdCB1bmNvbW1vbiBhbmNlc3RvcnMgdXNp
bmcgdGhlIGZ1bmN0aW9uIEFOQ0VTVE9SIGFuZCBjYWxsIE1PVkUKKyAgLy8gU1VCVFJFRSB0byBz
aGlmdCB0aGUgc3VidHJlZSBhbmQgcHJlcGFyZSB0aGUgc2hpZnRzIG9mIHNtYWxsZXIgc3VidHJl
ZXMuCisgIC8vIEZpbmFsbHksIHdlIGFkZCBhIG5ldyB0aHJlYWQgKGlmIG5lY2Vzc2FyeSkuCisg
IGZ1bmN0aW9uIGFwcG9ydGlvbih2LCB3LCBhbmNlc3RvcikgeworICAgIGlmICh3KSB7CisgICAg
ICB2YXIgdmlwID0gdiwKKyAgICAgICAgICB2b3AgPSB2LAorICAgICAgICAgIHZpbSA9IHcsCisg
ICAgICAgICAgdm9tID0gdmlwLnBhcmVudC5jaGlsZHJlblswXSwKKyAgICAgICAgICBzaXAgPSB2
aXAubSwKKyAgICAgICAgICBzb3AgPSB2b3AubSwKKyAgICAgICAgICBzaW0gPSB2aW0ubSwKKyAg
ICAgICAgICBzb20gPSB2b20ubSwKKyAgICAgICAgICBzaGlmdDsKKyAgICAgIHdoaWxlICh2aW0g
PSBuZXh0UmlnaHQodmltKSwgdmlwID0gbmV4dExlZnQodmlwKSwgdmltICYmIHZpcCkgeworICAg
ICAgICB2b20gPSBuZXh0TGVmdCh2b20pOworICAgICAgICB2b3AgPSBuZXh0UmlnaHQodm9wKTsK
KyAgICAgICAgdm9wLmEgPSB2OworICAgICAgICBzaGlmdCA9IHZpbS56ICsgc2ltIC0gdmlwLnog
LSBzaXAgKyBzZXBhcmF0aW9uKHZpbS5fLCB2aXAuXyk7CisgICAgICAgIGlmIChzaGlmdCA+IDAp
IHsKKyAgICAgICAgICBtb3ZlU3VidHJlZShuZXh0QW5jZXN0b3IodmltLCB2LCBhbmNlc3Rvciks
IHYsIHNoaWZ0KTsKKyAgICAgICAgICBzaXAgKz0gc2hpZnQ7CisgICAgICAgICAgc29wICs9IHNo
aWZ0OworICAgICAgICB9CisgICAgICAgIHNpbSArPSB2aW0ubTsKKyAgICAgICAgc2lwICs9IHZp
cC5tOworICAgICAgICBzb20gKz0gdm9tLm07CisgICAgICAgIHNvcCArPSB2b3AubTsKKyAgICAg
IH0KKyAgICAgIGlmICh2aW0gJiYgIW5leHRSaWdodCh2b3ApKSB7CisgICAgICAgIHZvcC50ID0g
dmltOworICAgICAgICB2b3AubSArPSBzaW0gLSBzb3A7CisgICAgICB9CisgICAgICBpZiAodmlw
ICYmICFuZXh0TGVmdCh2b20pKSB7CisgICAgICAgIHZvbS50ID0gdmlwOworICAgICAgICB2b20u
bSArPSBzaXAgLSBzb207CisgICAgICAgIGFuY2VzdG9yID0gdjsKKyAgICAgIH0KKyAgICB9Cisg
ICAgcmV0dXJuIGFuY2VzdG9yOworICB9CisKKyAgZnVuY3Rpb24gc2l6ZU5vZGUobm9kZSkgewor
ICAgIG5vZGUueCAqPSBkeDsKKyAgICBub2RlLnkgPSBub2RlLmRlcHRoICogZHk7CisgIH0KKwor
ICB0cmVlLnNlcGFyYXRpb24gPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoc2VwYXJhdGlvbiA9IHgsIHRyZWUpIDogc2VwYXJhdGlvbjsKKyAgfTsKKworICB0
cmVlLnNpemUgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
bm9kZVNpemUgPSBmYWxzZSwgZHggPSAreFswXSwgZHkgPSAreFsxXSwgdHJlZSkgOiAobm9kZVNp
emUgPyBudWxsIDogW2R4LCBkeV0pOworICB9OworCisgIHRyZWUubm9kZVNpemUgPSBmdW5jdGlv
bih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAobm9kZVNpemUgPSB0cnVlLCBk
eCA9ICt4WzBdLCBkeSA9ICt4WzFdLCB0cmVlKSA6IChub2RlU2l6ZSA/IFtkeCwgZHldIDogbnVs
bCk7CisgIH07CisKKyAgcmV0dXJuIHRyZWU7Cit9CisKK2Z1bmN0aW9uIHRyZWVtYXBTbGljZShw
YXJlbnQsIHgwLCB5MCwgeDEsIHkxKSB7CisgIHZhciBub2RlcyA9IHBhcmVudC5jaGlsZHJlbiwK
KyAgICAgIG5vZGUsCisgICAgICBpID0gLTEsCisgICAgICBuID0gbm9kZXMubGVuZ3RoLAorICAg
ICAgayA9IHBhcmVudC52YWx1ZSAmJiAoeTEgLSB5MCkgLyBwYXJlbnQudmFsdWU7CisKKyAgd2hp
bGUgKCsraSA8IG4pIHsKKyAgICBub2RlID0gbm9kZXNbaV0sIG5vZGUueDAgPSB4MCwgbm9kZS54
MSA9IHgxOworICAgIG5vZGUueTAgPSB5MCwgbm9kZS55MSA9IHkwICs9IG5vZGUudmFsdWUgKiBr
OworICB9Cit9CisKK3ZhciBwaGkgPSAoMSArIE1hdGguc3FydCg1KSkgLyAyOworCitmdW5jdGlv
biBzcXVhcmlmeVJhdGlvKHJhdGlvLCBwYXJlbnQsIHgwLCB5MCwgeDEsIHkxKSB7CisgIHZhciBy
b3dzID0gW10sCisgICAgICBub2RlcyA9IHBhcmVudC5jaGlsZHJlbiwKKyAgICAgIHJvdywKKyAg
ICAgIG5vZGVWYWx1ZSwKKyAgICAgIGkwID0gMCwKKyAgICAgIGkxID0gMCwKKyAgICAgIG4gPSBu
b2Rlcy5sZW5ndGgsCisgICAgICBkeCwgZHksCisgICAgICB2YWx1ZSA9IHBhcmVudC52YWx1ZSwK
KyAgICAgIHN1bVZhbHVlLAorICAgICAgbWluVmFsdWUsCisgICAgICBtYXhWYWx1ZSwKKyAgICAg
IG5ld1JhdGlvLAorICAgICAgbWluUmF0aW8sCisgICAgICBhbHBoYSwKKyAgICAgIGJldGE7CisK
KyAgd2hpbGUgKGkwIDwgbikgeworICAgIGR4ID0geDEgLSB4MCwgZHkgPSB5MSAtIHkwOworCisg
ICAgLy8gRmluZCB0aGUgbmV4dCBub24tZW1wdHkgbm9kZS4KKyAgICBkbyBzdW1WYWx1ZSA9IG5v
ZGVzW2kxKytdLnZhbHVlOyB3aGlsZSAoIXN1bVZhbHVlICYmIGkxIDwgbik7CisgICAgbWluVmFs
dWUgPSBtYXhWYWx1ZSA9IHN1bVZhbHVlOworICAgIGFscGhhID0gTWF0aC5tYXgoZHkgLyBkeCwg
ZHggLyBkeSkgLyAodmFsdWUgKiByYXRpbyk7CisgICAgYmV0YSA9IHN1bVZhbHVlICogc3VtVmFs
dWUgKiBhbHBoYTsKKyAgICBtaW5SYXRpbyA9IE1hdGgubWF4KG1heFZhbHVlIC8gYmV0YSwgYmV0
YSAvIG1pblZhbHVlKTsKKworICAgIC8vIEtlZXAgYWRkaW5nIG5vZGVzIHdoaWxlIHRoZSBhc3Bl
Y3QgcmF0aW8gbWFpbnRhaW5zIG9yIGltcHJvdmVzLgorICAgIGZvciAoOyBpMSA8IG47ICsraTEp
IHsKKyAgICAgIHN1bVZhbHVlICs9IG5vZGVWYWx1ZSA9IG5vZGVzW2kxXS52YWx1ZTsKKyAgICAg
IGlmIChub2RlVmFsdWUgPCBtaW5WYWx1ZSkgbWluVmFsdWUgPSBub2RlVmFsdWU7CisgICAgICBp
ZiAobm9kZVZhbHVlID4gbWF4VmFsdWUpIG1heFZhbHVlID0gbm9kZVZhbHVlOworICAgICAgYmV0
YSA9IHN1bVZhbHVlICogc3VtVmFsdWUgKiBhbHBoYTsKKyAgICAgIG5ld1JhdGlvID0gTWF0aC5t
YXgobWF4VmFsdWUgLyBiZXRhLCBiZXRhIC8gbWluVmFsdWUpOworICAgICAgaWYgKG5ld1JhdGlv
ID4gbWluUmF0aW8pIHsgc3VtVmFsdWUgLT0gbm9kZVZhbHVlOyBicmVhazsgfQorICAgICAgbWlu
UmF0aW8gPSBuZXdSYXRpbzsKKyAgICB9CisKKyAgICAvLyBQb3NpdGlvbiBhbmQgcmVjb3JkIHRo
ZSByb3cgb3JpZW50YXRpb24uCisgICAgcm93cy5wdXNoKHJvdyA9IHt2YWx1ZTogc3VtVmFsdWUs
IGRpY2U6IGR4IDwgZHksIGNoaWxkcmVuOiBub2Rlcy5zbGljZShpMCwgaTEpfSk7CisgICAgaWYg
KHJvdy5kaWNlKSB0cmVlbWFwRGljZShyb3csIHgwLCB5MCwgeDEsIHZhbHVlID8geTAgKz0gZHkg
KiBzdW1WYWx1ZSAvIHZhbHVlIDogeTEpOworICAgIGVsc2UgdHJlZW1hcFNsaWNlKHJvdywgeDAs
IHkwLCB2YWx1ZSA/IHgwICs9IGR4ICogc3VtVmFsdWUgLyB2YWx1ZSA6IHgxLCB5MSk7CisgICAg
dmFsdWUgLT0gc3VtVmFsdWUsIGkwID0gaTE7CisgIH0KKworICByZXR1cm4gcm93czsKK30KKwor
dmFyIHNxdWFyaWZ5ID0gKGZ1bmN0aW9uIGN1c3RvbShyYXRpbykgeworCisgIGZ1bmN0aW9uIHNx
dWFyaWZ5KHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgICBzcXVhcmlmeVJhdGlvKHJhdGlv
LCBwYXJlbnQsIHgwLCB5MCwgeDEsIHkxKTsKKyAgfQorCisgIHNxdWFyaWZ5LnJhdGlvID0gZnVu
Y3Rpb24oeCkgeworICAgIHJldHVybiBjdXN0b20oKHggPSAreCkgPiAxID8geCA6IDEpOworICB9
OworCisgIHJldHVybiBzcXVhcmlmeTsKK30pKHBoaSk7CisKK2Z1bmN0aW9uIGluZGV4JDMoKSB7
CisgIHZhciB0aWxlID0gc3F1YXJpZnksCisgICAgICByb3VuZCA9IGZhbHNlLAorICAgICAgZHgg
PSAxLAorICAgICAgZHkgPSAxLAorICAgICAgcGFkZGluZ1N0YWNrID0gWzBdLAorICAgICAgcGFk
ZGluZ0lubmVyID0gY29uc3RhbnRaZXJvLAorICAgICAgcGFkZGluZ1RvcCA9IGNvbnN0YW50WmVy
bywKKyAgICAgIHBhZGRpbmdSaWdodCA9IGNvbnN0YW50WmVybywKKyAgICAgIHBhZGRpbmdCb3R0
b20gPSBjb25zdGFudFplcm8sCisgICAgICBwYWRkaW5nTGVmdCA9IGNvbnN0YW50WmVybzsKKwor
ICBmdW5jdGlvbiB0cmVlbWFwKHJvb3QpIHsKKyAgICByb290LngwID0KKyAgICByb290LnkwID0g
MDsKKyAgICByb290LngxID0gZHg7CisgICAgcm9vdC55MSA9IGR5OworICAgIHJvb3QuZWFjaEJl
Zm9yZShwb3NpdGlvbk5vZGUpOworICAgIHBhZGRpbmdTdGFjayA9IFswXTsKKyAgICBpZiAocm91
bmQpIHJvb3QuZWFjaEJlZm9yZShyb3VuZE5vZGUpOworICAgIHJldHVybiByb290OworICB9CisK
KyAgZnVuY3Rpb24gcG9zaXRpb25Ob2RlKG5vZGUpIHsKKyAgICB2YXIgcCA9IHBhZGRpbmdTdGFj
a1tub2RlLmRlcHRoXSwKKyAgICAgICAgeDAgPSBub2RlLngwICsgcCwKKyAgICAgICAgeTAgPSBu
b2RlLnkwICsgcCwKKyAgICAgICAgeDEgPSBub2RlLngxIC0gcCwKKyAgICAgICAgeTEgPSBub2Rl
LnkxIC0gcDsKKyAgICBpZiAoeDEgPCB4MCkgeDAgPSB4MSA9ICh4MCArIHgxKSAvIDI7CisgICAg
aWYgKHkxIDwgeTApIHkwID0geTEgPSAoeTAgKyB5MSkgLyAyOworICAgIG5vZGUueDAgPSB4MDsK
KyAgICBub2RlLnkwID0geTA7CisgICAgbm9kZS54MSA9IHgxOworICAgIG5vZGUueTEgPSB5MTsK
KyAgICBpZiAobm9kZS5jaGlsZHJlbikgeworICAgICAgcCA9IHBhZGRpbmdTdGFja1tub2RlLmRl
cHRoICsgMV0gPSBwYWRkaW5nSW5uZXIobm9kZSkgLyAyOworICAgICAgeDAgKz0gcGFkZGluZ0xl
ZnQobm9kZSkgLSBwOworICAgICAgeTAgKz0gcGFkZGluZ1RvcChub2RlKSAtIHA7CisgICAgICB4
MSAtPSBwYWRkaW5nUmlnaHQobm9kZSkgLSBwOworICAgICAgeTEgLT0gcGFkZGluZ0JvdHRvbShu
b2RlKSAtIHA7CisgICAgICBpZiAoeDEgPCB4MCkgeDAgPSB4MSA9ICh4MCArIHgxKSAvIDI7Cisg
ICAgICBpZiAoeTEgPCB5MCkgeTAgPSB5MSA9ICh5MCArIHkxKSAvIDI7CisgICAgICB0aWxlKG5v
ZGUsIHgwLCB5MCwgeDEsIHkxKTsKKyAgICB9CisgIH0KKworICB0cmVlbWFwLnJvdW5kID0gZnVu
Y3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJvdW5kID0gISF4LCB0
cmVlbWFwKSA6IHJvdW5kOworICB9OworCisgIHRyZWVtYXAuc2l6ZSA9IGZ1bmN0aW9uKHgpIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkeCA9ICt4WzBdLCBkeSA9ICt4WzFdLCB0
cmVlbWFwKSA6IFtkeCwgZHldOworICB9OworCisgIHRyZWVtYXAudGlsZSA9IGZ1bmN0aW9uKHgp
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0aWxlID0gcmVxdWlyZWQoeCksIHRy
ZWVtYXApIDogdGlsZTsKKyAgfTsKKworICB0cmVlbWFwLnBhZGRpbmcgPSBmdW5jdGlvbih4KSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyB0cmVlbWFwLnBhZGRpbmdJbm5lcih4KS5w
YWRkaW5nT3V0ZXIoeCkgOiB0cmVlbWFwLnBhZGRpbmdJbm5lcigpOworICB9OworCisgIHRyZWVt
YXAucGFkZGluZ0lubmVyID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHBhZGRpbmdJbm5lciA9IHR5cGVvZiB4ID09PSAiZnVuY3Rpb24iID8geCA6IGNvbnN0
YW50JDkoK3gpLCB0cmVlbWFwKSA6IHBhZGRpbmdJbm5lcjsKKyAgfTsKKworICB0cmVlbWFwLnBh
ZGRpbmdPdXRlciA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
IHRyZWVtYXAucGFkZGluZ1RvcCh4KS5wYWRkaW5nUmlnaHQoeCkucGFkZGluZ0JvdHRvbSh4KS5w
YWRkaW5nTGVmdCh4KSA6IHRyZWVtYXAucGFkZGluZ1RvcCgpOworICB9OworCisgIHRyZWVtYXAu
cGFkZGluZ1RvcCA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
IChwYWRkaW5nVG9wID0gdHlwZW9mIHggPT09ICJmdW5jdGlvbiIgPyB4IDogY29uc3RhbnQkOSgr
eCksIHRyZWVtYXApIDogcGFkZGluZ1RvcDsKKyAgfTsKKworICB0cmVlbWFwLnBhZGRpbmdSaWdo
dCA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRkaW5n
UmlnaHQgPSB0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiA/IHggOiBjb25zdGFudCQ5KCt4KSwgdHJl
ZW1hcCkgOiBwYWRkaW5nUmlnaHQ7CisgIH07CisKKyAgdHJlZW1hcC5wYWRkaW5nQm90dG9tID0g
ZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhZGRpbmdCb3R0
b20gPSB0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiA/IHggOiBjb25zdGFudCQ5KCt4KSwgdHJlZW1h
cCkgOiBwYWRkaW5nQm90dG9tOworICB9OworCisgIHRyZWVtYXAucGFkZGluZ0xlZnQgPSBmdW5j
dGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocGFkZGluZ0xlZnQgPSB0
eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiA/IHggOiBjb25zdGFudCQ5KCt4KSwgdHJlZW1hcCkgOiBw
YWRkaW5nTGVmdDsKKyAgfTsKKworICByZXR1cm4gdHJlZW1hcDsKK30KKworZnVuY3Rpb24gYmlu
YXJ5KHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIG5vZGVzID0gcGFyZW50LmNoaWxk
cmVuLAorICAgICAgaSwgbiA9IG5vZGVzLmxlbmd0aCwKKyAgICAgIHN1bSwgc3VtcyA9IG5ldyBB
cnJheShuICsgMSk7CisKKyAgZm9yIChzdW1zWzBdID0gc3VtID0gaSA9IDA7IGkgPCBuOyArK2kp
IHsKKyAgICBzdW1zW2kgKyAxXSA9IHN1bSArPSBub2Rlc1tpXS52YWx1ZTsKKyAgfQorCisgIHBh
cnRpdGlvbigwLCBuLCBwYXJlbnQudmFsdWUsIHgwLCB5MCwgeDEsIHkxKTsKKworICBmdW5jdGlv
biBwYXJ0aXRpb24oaSwgaiwgdmFsdWUsIHgwLCB5MCwgeDEsIHkxKSB7CisgICAgaWYgKGkgPj0g
aiAtIDEpIHsKKyAgICAgIHZhciBub2RlID0gbm9kZXNbaV07CisgICAgICBub2RlLngwID0geDAs
IG5vZGUueTAgPSB5MDsKKyAgICAgIG5vZGUueDEgPSB4MSwgbm9kZS55MSA9IHkxOworICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIHZhciB2YWx1ZU9mZnNldCA9IHN1bXNbaV0sCisgICAgICAg
IHZhbHVlVGFyZ2V0ID0gKHZhbHVlIC8gMikgKyB2YWx1ZU9mZnNldCwKKyAgICAgICAgayA9IGkg
KyAxLAorICAgICAgICBoaSA9IGogLSAxOworCisgICAgd2hpbGUgKGsgPCBoaSkgeworICAgICAg
dmFyIG1pZCA9IGsgKyBoaSA+Pj4gMTsKKyAgICAgIGlmIChzdW1zW21pZF0gPCB2YWx1ZVRhcmdl
dCkgayA9IG1pZCArIDE7CisgICAgICBlbHNlIGhpID0gbWlkOworICAgIH0KKworICAgIGlmICgo
dmFsdWVUYXJnZXQgLSBzdW1zW2sgLSAxXSkgPCAoc3Vtc1trXSAtIHZhbHVlVGFyZ2V0KSAmJiBp
ICsgMSA8IGspIC0tazsKKworICAgIHZhciB2YWx1ZUxlZnQgPSBzdW1zW2tdIC0gdmFsdWVPZmZz
ZXQsCisgICAgICAgIHZhbHVlUmlnaHQgPSB2YWx1ZSAtIHZhbHVlTGVmdDsKKworICAgIGlmICgo
eDEgLSB4MCkgPiAoeTEgLSB5MCkpIHsKKyAgICAgIHZhciB4ayA9ICh4MCAqIHZhbHVlUmlnaHQg
KyB4MSAqIHZhbHVlTGVmdCkgLyB2YWx1ZTsKKyAgICAgIHBhcnRpdGlvbihpLCBrLCB2YWx1ZUxl
ZnQsIHgwLCB5MCwgeGssIHkxKTsKKyAgICAgIHBhcnRpdGlvbihrLCBqLCB2YWx1ZVJpZ2h0LCB4
aywgeTAsIHgxLCB5MSk7CisgICAgfSBlbHNlIHsKKyAgICAgIHZhciB5ayA9ICh5MCAqIHZhbHVl
UmlnaHQgKyB5MSAqIHZhbHVlTGVmdCkgLyB2YWx1ZTsKKyAgICAgIHBhcnRpdGlvbihpLCBrLCB2
YWx1ZUxlZnQsIHgwLCB5MCwgeDEsIHlrKTsKKyAgICAgIHBhcnRpdGlvbihrLCBqLCB2YWx1ZVJp
Z2h0LCB4MCwgeWssIHgxLCB5MSk7CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIHNsaWNlRGlj
ZShwYXJlbnQsIHgwLCB5MCwgeDEsIHkxKSB7CisgIChwYXJlbnQuZGVwdGggJiAxID8gdHJlZW1h
cFNsaWNlIDogdHJlZW1hcERpY2UpKHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpOworfQorCit2YXIg
cmVzcXVhcmlmeSA9IChmdW5jdGlvbiBjdXN0b20ocmF0aW8pIHsKKworICBmdW5jdGlvbiByZXNx
dWFyaWZ5KHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgICBpZiAoKHJvd3MgPSBwYXJlbnQu
X3NxdWFyaWZ5KSAmJiAocm93cy5yYXRpbyA9PT0gcmF0aW8pKSB7CisgICAgICB2YXIgcm93cywK
KyAgICAgICAgICByb3csCisgICAgICAgICAgbm9kZXMsCisgICAgICAgICAgaSwKKyAgICAgICAg
ICBqID0gLTEsCisgICAgICAgICAgbiwKKyAgICAgICAgICBtID0gcm93cy5sZW5ndGgsCisgICAg
ICAgICAgdmFsdWUgPSBwYXJlbnQudmFsdWU7CisKKyAgICAgIHdoaWxlICgrK2ogPCBtKSB7Cisg
ICAgICAgIHJvdyA9IHJvd3Nbal0sIG5vZGVzID0gcm93LmNoaWxkcmVuOworICAgICAgICBmb3Ig
KGkgPSByb3cudmFsdWUgPSAwLCBuID0gbm9kZXMubGVuZ3RoOyBpIDwgbjsgKytpKSByb3cudmFs
dWUgKz0gbm9kZXNbaV0udmFsdWU7CisgICAgICAgIGlmIChyb3cuZGljZSkgdHJlZW1hcERpY2Uo
cm93LCB4MCwgeTAsIHgxLCB5MCArPSAoeTEgLSB5MCkgKiByb3cudmFsdWUgLyB2YWx1ZSk7Cisg
ICAgICAgIGVsc2UgdHJlZW1hcFNsaWNlKHJvdywgeDAsIHkwLCB4MCArPSAoeDEgLSB4MCkgKiBy
b3cudmFsdWUgLyB2YWx1ZSwgeTEpOworICAgICAgICB2YWx1ZSAtPSByb3cudmFsdWU7CisgICAg
ICB9CisgICAgfSBlbHNlIHsKKyAgICAgIHBhcmVudC5fc3F1YXJpZnkgPSByb3dzID0gc3F1YXJp
ZnlSYXRpbyhyYXRpbywgcGFyZW50LCB4MCwgeTAsIHgxLCB5MSk7CisgICAgICByb3dzLnJhdGlv
ID0gcmF0aW87CisgICAgfQorICB9CisKKyAgcmVzcXVhcmlmeS5yYXRpbyA9IGZ1bmN0aW9uKHgp
IHsKKyAgICByZXR1cm4gY3VzdG9tKCh4ID0gK3gpID4gMSA/IHggOiAxKTsKKyAgfTsKKworICBy
ZXR1cm4gcmVzcXVhcmlmeTsKK30pKHBoaSk7CisKK2Z1bmN0aW9uIGFyZWEkMihwb2x5Z29uKSB7
CisgIHZhciBpID0gLTEsCisgICAgICBuID0gcG9seWdvbi5sZW5ndGgsCisgICAgICBhLAorICAg
ICAgYiA9IHBvbHlnb25bbiAtIDFdLAorICAgICAgYXJlYSA9IDA7CisKKyAgd2hpbGUgKCsraSA8
IG4pIHsKKyAgICBhID0gYjsKKyAgICBiID0gcG9seWdvbltpXTsKKyAgICBhcmVhICs9IGFbMV0g
KiBiWzBdIC0gYVswXSAqIGJbMV07CisgIH0KKworICByZXR1cm4gYXJlYSAvIDI7Cit9CisKK2Z1
bmN0aW9uIGNlbnRyb2lkJDEocG9seWdvbikgeworICB2YXIgaSA9IC0xLAorICAgICAgbiA9IHBv
bHlnb24ubGVuZ3RoLAorICAgICAgeCA9IDAsCisgICAgICB5ID0gMCwKKyAgICAgIGEsCisgICAg
ICBiID0gcG9seWdvbltuIC0gMV0sCisgICAgICBjLAorICAgICAgayA9IDA7CisKKyAgd2hpbGUg
KCsraSA8IG4pIHsKKyAgICBhID0gYjsKKyAgICBiID0gcG9seWdvbltpXTsKKyAgICBrICs9IGMg
PSBhWzBdICogYlsxXSAtIGJbMF0gKiBhWzFdOworICAgIHggKz0gKGFbMF0gKyBiWzBdKSAqIGM7
CisgICAgeSArPSAoYVsxXSArIGJbMV0pICogYzsKKyAgfQorCisgIHJldHVybiBrICo9IDMsIFt4
IC8gaywgeSAvIGtdOworfQorCisvLyBSZXR1cm5zIHRoZSAyRCBjcm9zcyBwcm9kdWN0IG9mIEFC
IGFuZCBBQyB2ZWN0b3JzLCBpLmUuLCB0aGUgei1jb21wb25lbnQgb2YKKy8vIHRoZSAzRCBjcm9z
cyBwcm9kdWN0IGluIGEgcXVhZHJhbnQgSSBDYXJ0ZXNpYW4gY29vcmRpbmF0ZSBzeXN0ZW0gKCt4
IGlzCisvLyByaWdodCwgK3kgaXMgdXApLiBSZXR1cm5zIGEgcG9zaXRpdmUgdmFsdWUgaWYgQUJD
IGlzIGNvdW50ZXItY2xvY2t3aXNlLAorLy8gbmVnYXRpdmUgaWYgY2xvY2t3aXNlLCBhbmQgemVy
byBpZiB0aGUgcG9pbnRzIGFyZSBjb2xsaW5lYXIuCitmdW5jdGlvbiBjcm9zcyQxKGEsIGIsIGMp
IHsKKyAgcmV0dXJuIChiWzBdIC0gYVswXSkgKiAoY1sxXSAtIGFbMV0pIC0gKGJbMV0gLSBhWzFd
KSAqIChjWzBdIC0gYVswXSk7Cit9CisKK2Z1bmN0aW9uIGxleGljb2dyYXBoaWNPcmRlcihhLCBi
KSB7CisgIHJldHVybiBhWzBdIC0gYlswXSB8fCBhWzFdIC0gYlsxXTsKK30KKworLy8gQ29tcHV0
ZXMgdGhlIHVwcGVyIGNvbnZleCBodWxsIHBlciB0aGUgbW9ub3RvbmUgY2hhaW4gYWxnb3JpdGht
LgorLy8gQXNzdW1lcyBwb2ludHMubGVuZ3RoID49IDMsIGlzIHNvcnRlZCBieSB4LCB1bmlxdWUg
aW4geS4KKy8vIFJldHVybnMgYW4gYXJyYXkgb2YgaW5kaWNlcyBpbnRvIHBvaW50cyBpbiBsZWZ0
LXRvLXJpZ2h0IG9yZGVyLgorZnVuY3Rpb24gY29tcHV0ZVVwcGVySHVsbEluZGV4ZXMocG9pbnRz
KSB7CisgIHZhciBuID0gcG9pbnRzLmxlbmd0aCwKKyAgICAgIGluZGV4ZXMgPSBbMCwgMV0sCisg
ICAgICBzaXplID0gMjsKKworICBmb3IgKHZhciBpID0gMjsgaSA8IG47ICsraSkgeworICAgIHdo
aWxlIChzaXplID4gMSAmJiBjcm9zcyQxKHBvaW50c1tpbmRleGVzW3NpemUgLSAyXV0sIHBvaW50
c1tpbmRleGVzW3NpemUgLSAxXV0sIHBvaW50c1tpXSkgPD0gMCkgLS1zaXplOworICAgIGluZGV4
ZXNbc2l6ZSsrXSA9IGk7CisgIH0KKworICByZXR1cm4gaW5kZXhlcy5zbGljZSgwLCBzaXplKTsg
Ly8gcmVtb3ZlIHBvcHBlZCBwb2ludHMKK30KKworZnVuY3Rpb24gaHVsbChwb2ludHMpIHsKKyAg
aWYgKChuID0gcG9pbnRzLmxlbmd0aCkgPCAzKSByZXR1cm4gbnVsbDsKKworICB2YXIgaSwKKyAg
ICAgIG4sCisgICAgICBzb3J0ZWRQb2ludHMgPSBuZXcgQXJyYXkobiksCisgICAgICBmbGlwcGVk
UG9pbnRzID0gbmV3IEFycmF5KG4pOworCisgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHNvcnRl
ZFBvaW50c1tpXSA9IFsrcG9pbnRzW2ldWzBdLCArcG9pbnRzW2ldWzFdLCBpXTsKKyAgc29ydGVk
UG9pbnRzLnNvcnQobGV4aWNvZ3JhcGhpY09yZGVyKTsKKyAgZm9yIChpID0gMDsgaSA8IG47ICsr
aSkgZmxpcHBlZFBvaW50c1tpXSA9IFtzb3J0ZWRQb2ludHNbaV1bMF0sIC1zb3J0ZWRQb2ludHNb
aV1bMV1dOworCisgIHZhciB1cHBlckluZGV4ZXMgPSBjb21wdXRlVXBwZXJIdWxsSW5kZXhlcyhz
b3J0ZWRQb2ludHMpLAorICAgICAgbG93ZXJJbmRleGVzID0gY29tcHV0ZVVwcGVySHVsbEluZGV4
ZXMoZmxpcHBlZFBvaW50cyk7CisKKyAgLy8gQ29uc3RydWN0IHRoZSBodWxsIHBvbHlnb24sIHJl
bW92aW5nIHBvc3NpYmxlIGR1cGxpY2F0ZSBlbmRwb2ludHMuCisgIHZhciBza2lwTGVmdCA9IGxv
d2VySW5kZXhlc1swXSA9PT0gdXBwZXJJbmRleGVzWzBdLAorICAgICAgc2tpcFJpZ2h0ID0gbG93
ZXJJbmRleGVzW2xvd2VySW5kZXhlcy5sZW5ndGggLSAxXSA9PT0gdXBwZXJJbmRleGVzW3VwcGVy
SW5kZXhlcy5sZW5ndGggLSAxXSwKKyAgICAgIGh1bGwgPSBbXTsKKworICAvLyBBZGQgdXBwZXIg
aHVsbCBpbiByaWdodC10by1sIG9yZGVyLgorICAvLyBUaGVuIGFkZCBsb3dlciBodWxsIGluIGxl
ZnQtdG8tcmlnaHQgb3JkZXIuCisgIGZvciAoaSA9IHVwcGVySW5kZXhlcy5sZW5ndGggLSAxOyBp
ID49IDA7IC0taSkgaHVsbC5wdXNoKHBvaW50c1tzb3J0ZWRQb2ludHNbdXBwZXJJbmRleGVzW2ld
XVsyXV0pOworICBmb3IgKGkgPSArc2tpcExlZnQ7IGkgPCBsb3dlckluZGV4ZXMubGVuZ3RoIC0g
c2tpcFJpZ2h0OyArK2kpIGh1bGwucHVzaChwb2ludHNbc29ydGVkUG9pbnRzW2xvd2VySW5kZXhl
c1tpXV1bMl1dKTsKKworICByZXR1cm4gaHVsbDsKK30KKworZnVuY3Rpb24gY29udGFpbnMkMihw
b2x5Z29uLCBwb2ludCkgeworICB2YXIgbiA9IHBvbHlnb24ubGVuZ3RoLAorICAgICAgcCA9IHBv
bHlnb25bbiAtIDFdLAorICAgICAgeCA9IHBvaW50WzBdLCB5ID0gcG9pbnRbMV0sCisgICAgICB4
MCA9IHBbMF0sIHkwID0gcFsxXSwKKyAgICAgIHgxLCB5MSwKKyAgICAgIGluc2lkZSA9IGZhbHNl
OworCisgIGZvciAodmFyIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgcCA9IHBvbHlnb25baV0s
IHgxID0gcFswXSwgeTEgPSBwWzFdOworICAgIGlmICgoKHkxID4geSkgIT09ICh5MCA+IHkpKSAm
JiAoeCA8ICh4MCAtIHgxKSAqICh5IC0geTEpIC8gKHkwIC0geTEpICsgeDEpKSBpbnNpZGUgPSAh
aW5zaWRlOworICAgIHgwID0geDEsIHkwID0geTE7CisgIH0KKworICByZXR1cm4gaW5zaWRlOwor
fQorCitmdW5jdGlvbiBsZW5ndGgkMihwb2x5Z29uKSB7CisgIHZhciBpID0gLTEsCisgICAgICBu
ID0gcG9seWdvbi5sZW5ndGgsCisgICAgICBiID0gcG9seWdvbltuIC0gMV0sCisgICAgICB4YSwK
KyAgICAgIHlhLAorICAgICAgeGIgPSBiWzBdLAorICAgICAgeWIgPSBiWzFdLAorICAgICAgcGVy
aW1ldGVyID0gMDsKKworICB3aGlsZSAoKytpIDwgbikgeworICAgIHhhID0geGI7CisgICAgeWEg
PSB5YjsKKyAgICBiID0gcG9seWdvbltpXTsKKyAgICB4YiA9IGJbMF07CisgICAgeWIgPSBiWzFd
OworICAgIHhhIC09IHhiOworICAgIHlhIC09IHliOworICAgIHBlcmltZXRlciArPSBNYXRoLnNx
cnQoeGEgKiB4YSArIHlhICogeWEpOworICB9CisKKyAgcmV0dXJuIHBlcmltZXRlcjsKK30KKwor
ZnVuY3Rpb24gZGVmYXVsdFNvdXJjZSQxKCkgeworICByZXR1cm4gTWF0aC5yYW5kb20oKTsKK30K
KwordmFyIHVuaWZvcm0gPSAoZnVuY3Rpb24gc291cmNlUmFuZG9tVW5pZm9ybShzb3VyY2UpIHsK
KyAgZnVuY3Rpb24gcmFuZG9tVW5pZm9ybShtaW4sIG1heCkgeworICAgIG1pbiA9IG1pbiA9PSBu
dWxsID8gMCA6ICttaW47CisgICAgbWF4ID0gbWF4ID09IG51bGwgPyAxIDogK21heDsKKyAgICBp
ZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkgbWF4ID0gbWluLCBtaW4gPSAwOworICAgIGVsc2Ug
bWF4IC09IG1pbjsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICByZXR1cm4gc291cmNl
KCkgKiBtYXggKyBtaW47CisgICAgfTsKKyAgfQorCisgIHJhbmRvbVVuaWZvcm0uc291cmNlID0g
c291cmNlUmFuZG9tVW5pZm9ybTsKKworICByZXR1cm4gcmFuZG9tVW5pZm9ybTsKK30pKGRlZmF1
bHRTb3VyY2UkMSk7CisKK3ZhciBub3JtYWwgPSAoZnVuY3Rpb24gc291cmNlUmFuZG9tTm9ybWFs
KHNvdXJjZSkgeworICBmdW5jdGlvbiByYW5kb21Ob3JtYWwobXUsIHNpZ21hKSB7CisgICAgdmFy
IHgsIHI7CisgICAgbXUgPSBtdSA9PSBudWxsID8gMCA6ICttdTsKKyAgICBzaWdtYSA9IHNpZ21h
ID09IG51bGwgPyAxIDogK3NpZ21hOworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgIHZh
ciB5OworCisgICAgICAvLyBJZiBhdmFpbGFibGUsIHVzZSB0aGUgc2Vjb25kIHByZXZpb3VzbHkt
Z2VuZXJhdGVkIHVuaWZvcm0gcmFuZG9tLgorICAgICAgaWYgKHggIT0gbnVsbCkgeSA9IHgsIHgg
PSBudWxsOworCisgICAgICAvLyBPdGhlcndpc2UsIGdlbmVyYXRlIGEgbmV3IHggYW5kIHkuCisg
ICAgICBlbHNlIGRvIHsKKyAgICAgICAgeCA9IHNvdXJjZSgpICogMiAtIDE7CisgICAgICAgIHkg
PSBzb3VyY2UoKSAqIDIgLSAxOworICAgICAgICByID0geCAqIHggKyB5ICogeTsKKyAgICAgIH0g
d2hpbGUgKCFyIHx8IHIgPiAxKTsKKworICAgICAgcmV0dXJuIG11ICsgc2lnbWEgKiB5ICogTWF0
aC5zcXJ0KC0yICogTWF0aC5sb2cocikgLyByKTsKKyAgICB9OworICB9CisKKyAgcmFuZG9tTm9y
bWFsLnNvdXJjZSA9IHNvdXJjZVJhbmRvbU5vcm1hbDsKKworICByZXR1cm4gcmFuZG9tTm9ybWFs
OworfSkoZGVmYXVsdFNvdXJjZSQxKTsKKwordmFyIGxvZ05vcm1hbCA9IChmdW5jdGlvbiBzb3Vy
Y2VSYW5kb21Mb2dOb3JtYWwoc291cmNlKSB7CisgIGZ1bmN0aW9uIHJhbmRvbUxvZ05vcm1hbCgp
IHsKKyAgICB2YXIgcmFuZG9tTm9ybWFsID0gbm9ybWFsLnNvdXJjZShzb3VyY2UpLmFwcGx5KHRo
aXMsIGFyZ3VtZW50cyk7CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAgcmV0dXJuIE1h
dGguZXhwKHJhbmRvbU5vcm1hbCgpKTsKKyAgICB9OworICB9CisKKyAgcmFuZG9tTG9nTm9ybWFs
LnNvdXJjZSA9IHNvdXJjZVJhbmRvbUxvZ05vcm1hbDsKKworICByZXR1cm4gcmFuZG9tTG9nTm9y
bWFsOworfSkoZGVmYXVsdFNvdXJjZSQxKTsKKwordmFyIGlyd2luSGFsbCA9IChmdW5jdGlvbiBz
b3VyY2VSYW5kb21JcndpbkhhbGwoc291cmNlKSB7CisgIGZ1bmN0aW9uIHJhbmRvbUlyd2luSGFs
bChuKSB7CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAgZm9yICh2YXIgc3VtID0gMCwg
aSA9IDA7IGkgPCBuOyArK2kpIHN1bSArPSBzb3VyY2UoKTsKKyAgICAgIHJldHVybiBzdW07Cisg
ICAgfTsKKyAgfQorCisgIHJhbmRvbUlyd2luSGFsbC5zb3VyY2UgPSBzb3VyY2VSYW5kb21Jcndp
bkhhbGw7CisKKyAgcmV0dXJuIHJhbmRvbUlyd2luSGFsbDsKK30pKGRlZmF1bHRTb3VyY2UkMSk7
CisKK3ZhciBiYXRlcyA9IChmdW5jdGlvbiBzb3VyY2VSYW5kb21CYXRlcyhzb3VyY2UpIHsKKyAg
ZnVuY3Rpb24gcmFuZG9tQmF0ZXMobikgeworICAgIHZhciByYW5kb21JcndpbkhhbGwgPSBpcndp
bkhhbGwuc291cmNlKHNvdXJjZSkobik7CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAg
cmV0dXJuIHJhbmRvbUlyd2luSGFsbCgpIC8gbjsKKyAgICB9OworICB9CisKKyAgcmFuZG9tQmF0
ZXMuc291cmNlID0gc291cmNlUmFuZG9tQmF0ZXM7CisKKyAgcmV0dXJuIHJhbmRvbUJhdGVzOwor
fSkoZGVmYXVsdFNvdXJjZSQxKTsKKwordmFyIGV4cG9uZW50aWFsJDEgPSAoZnVuY3Rpb24gc291
cmNlUmFuZG9tRXhwb25lbnRpYWwoc291cmNlKSB7CisgIGZ1bmN0aW9uIHJhbmRvbUV4cG9uZW50
aWFsKGxhbWJkYSkgeworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgIHJldHVybiAtTWF0
aC5sb2coMSAtIHNvdXJjZSgpKSAvIGxhbWJkYTsKKyAgICB9OworICB9CisKKyAgcmFuZG9tRXhw
b25lbnRpYWwuc291cmNlID0gc291cmNlUmFuZG9tRXhwb25lbnRpYWw7CisKKyAgcmV0dXJuIHJh
bmRvbUV4cG9uZW50aWFsOworfSkoZGVmYXVsdFNvdXJjZSQxKTsKKworZnVuY3Rpb24gaW5pdFJh
bmdlKGRvbWFpbiwgcmFuZ2UpIHsKKyAgc3dpdGNoIChhcmd1bWVudHMubGVuZ3RoKSB7CisgICAg
Y2FzZSAwOiBicmVhazsKKyAgICBjYXNlIDE6IHRoaXMucmFuZ2UoZG9tYWluKTsgYnJlYWs7Cisg
ICAgZGVmYXVsdDogdGhpcy5yYW5nZShyYW5nZSkuZG9tYWluKGRvbWFpbik7IGJyZWFrOworICB9
CisgIHJldHVybiB0aGlzOworfQorCitmdW5jdGlvbiBpbml0SW50ZXJwb2xhdG9yKGRvbWFpbiwg
aW50ZXJwb2xhdG9yKSB7CisgIHN3aXRjaCAoYXJndW1lbnRzLmxlbmd0aCkgeworICAgIGNhc2Ug
MDogYnJlYWs7CisgICAgY2FzZSAxOiB0aGlzLmludGVycG9sYXRvcihkb21haW4pOyBicmVhazsK
KyAgICBkZWZhdWx0OiB0aGlzLmludGVycG9sYXRvcihpbnRlcnBvbGF0b3IpLmRvbWFpbihkb21h
aW4pOyBicmVhazsKKyAgfQorICByZXR1cm4gdGhpczsKK30KKwordmFyIGFycmF5JDMgPSBBcnJh
eS5wcm90b3R5cGU7CisKK3ZhciBtYXAkMyA9IGFycmF5JDMubWFwOwordmFyIHNsaWNlJDUgPSBh
cnJheSQzLnNsaWNlOworCit2YXIgaW1wbGljaXQgPSB7bmFtZTogImltcGxpY2l0In07CisKK2Z1
bmN0aW9uIG9yZGluYWwoKSB7CisgIHZhciBpbmRleCA9IG1hcCQxKCksCisgICAgICBkb21haW4g
PSBbXSwKKyAgICAgIHJhbmdlID0gW10sCisgICAgICB1bmtub3duID0gaW1wbGljaXQ7CisKKyAg
ZnVuY3Rpb24gc2NhbGUoZCkgeworICAgIHZhciBrZXkgPSBkICsgIiIsIGkgPSBpbmRleC5nZXQo
a2V5KTsKKyAgICBpZiAoIWkpIHsKKyAgICAgIGlmICh1bmtub3duICE9PSBpbXBsaWNpdCkgcmV0
dXJuIHVua25vd247CisgICAgICBpbmRleC5zZXQoa2V5LCBpID0gZG9tYWluLnB1c2goZCkpOwor
ICAgIH0KKyAgICByZXR1cm4gcmFuZ2VbKGkgLSAxKSAlIHJhbmdlLmxlbmd0aF07CisgIH0KKwor
ICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3Ro
KSByZXR1cm4gZG9tYWluLnNsaWNlKCk7CisgICAgZG9tYWluID0gW10sIGluZGV4ID0gbWFwJDEo
KTsKKyAgICB2YXIgaSA9IC0xLCBuID0gXy5sZW5ndGgsIGQsIGtleTsKKyAgICB3aGlsZSAoKytp
IDwgbikgaWYgKCFpbmRleC5oYXMoa2V5ID0gKGQgPSBfW2ldKSArICIiKSkgaW5kZXguc2V0KGtl
eSwgZG9tYWluLnB1c2goZCkpOworICAgIHJldHVybiBzY2FsZTsKKyAgfTsKKworICBzY2FsZS5y
YW5nZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChyYW5n
ZSA9IHNsaWNlJDUuY2FsbChfKSwgc2NhbGUpIDogcmFuZ2Uuc2xpY2UoKTsKKyAgfTsKKworICBz
Y2FsZS51bmtub3duID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKHVua25vd24gPSBfLCBzY2FsZSkgOiB1bmtub3duOworICB9OworCisgIHNjYWxlLmNvcHkg
PSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gb3JkaW5hbChkb21haW4sIHJhbmdlKS51bmtub3du
KHVua25vd24pOworICB9OworCisgIGluaXRSYW5nZS5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsK
KworICByZXR1cm4gc2NhbGU7Cit9CisKK2Z1bmN0aW9uIGJhbmQoKSB7CisgIHZhciBzY2FsZSA9
IG9yZGluYWwoKS51bmtub3duKHVuZGVmaW5lZCksCisgICAgICBkb21haW4gPSBzY2FsZS5kb21h
aW4sCisgICAgICBvcmRpbmFsUmFuZ2UgPSBzY2FsZS5yYW5nZSwKKyAgICAgIHJhbmdlID0gWzAs
IDFdLAorICAgICAgc3RlcCwKKyAgICAgIGJhbmR3aWR0aCwKKyAgICAgIHJvdW5kID0gZmFsc2Us
CisgICAgICBwYWRkaW5nSW5uZXIgPSAwLAorICAgICAgcGFkZGluZ091dGVyID0gMCwKKyAgICAg
IGFsaWduID0gMC41OworCisgIGRlbGV0ZSBzY2FsZS51bmtub3duOworCisgIGZ1bmN0aW9uIHJl
c2NhbGUoKSB7CisgICAgdmFyIG4gPSBkb21haW4oKS5sZW5ndGgsCisgICAgICAgIHJldmVyc2Ug
PSByYW5nZVsxXSA8IHJhbmdlWzBdLAorICAgICAgICBzdGFydCA9IHJhbmdlW3JldmVyc2UgLSAw
XSwKKyAgICAgICAgc3RvcCA9IHJhbmdlWzEgLSByZXZlcnNlXTsKKyAgICBzdGVwID0gKHN0b3Ag
LSBzdGFydCkgLyBNYXRoLm1heCgxLCBuIC0gcGFkZGluZ0lubmVyICsgcGFkZGluZ091dGVyICog
Mik7CisgICAgaWYgKHJvdW5kKSBzdGVwID0gTWF0aC5mbG9vcihzdGVwKTsKKyAgICBzdGFydCAr
PSAoc3RvcCAtIHN0YXJ0IC0gc3RlcCAqIChuIC0gcGFkZGluZ0lubmVyKSkgKiBhbGlnbjsKKyAg
ICBiYW5kd2lkdGggPSBzdGVwICogKDEgLSBwYWRkaW5nSW5uZXIpOworICAgIGlmIChyb3VuZCkg
c3RhcnQgPSBNYXRoLnJvdW5kKHN0YXJ0KSwgYmFuZHdpZHRoID0gTWF0aC5yb3VuZChiYW5kd2lk
dGgpOworICAgIHZhciB2YWx1ZXMgPSBzZXF1ZW5jZShuKS5tYXAoZnVuY3Rpb24oaSkgeyByZXR1
cm4gc3RhcnQgKyBzdGVwICogaTsgfSk7CisgICAgcmV0dXJuIG9yZGluYWxSYW5nZShyZXZlcnNl
ID8gdmFsdWVzLnJldmVyc2UoKSA6IHZhbHVlcyk7CisgIH0KKworICBzY2FsZS5kb21haW4gPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZG9tYWluKF8pLCBy
ZXNjYWxlKCkpIDogZG9tYWluKCk7CisgIH07CisKKyAgc2NhbGUucmFuZ2UgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocmFuZ2UgPSBbK19bMF0sICtfWzFd
XSwgcmVzY2FsZSgpKSA6IHJhbmdlLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUucmFuZ2VSb3Vu
ZCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gcmFuZ2UgPSBbK19bMF0sICtfWzFdXSwgcm91
bmQgPSB0cnVlLCByZXNjYWxlKCk7CisgIH07CisKKyAgc2NhbGUuYmFuZHdpZHRoID0gZnVuY3Rp
b24oKSB7CisgICAgcmV0dXJuIGJhbmR3aWR0aDsKKyAgfTsKKworICBzY2FsZS5zdGVwID0gZnVu
Y3Rpb24oKSB7CisgICAgcmV0dXJuIHN0ZXA7CisgIH07CisKKyAgc2NhbGUucm91bmQgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocm91bmQgPSAhIV8sIHJl
c2NhbGUoKSkgOiByb3VuZDsKKyAgfTsKKworICBzY2FsZS5wYWRkaW5nID0gZnVuY3Rpb24oXykg
eworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhZGRpbmdJbm5lciA9IE1hdGgubWlu
KDEsIHBhZGRpbmdPdXRlciA9ICtfKSwgcmVzY2FsZSgpKSA6IHBhZGRpbmdJbm5lcjsKKyAgfTsK
KworICBzY2FsZS5wYWRkaW5nSW5uZXIgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAocGFkZGluZ0lubmVyID0gTWF0aC5taW4oMSwgXyksIHJlc2NhbGUoKSkg
OiBwYWRkaW5nSW5uZXI7CisgIH07CisKKyAgc2NhbGUucGFkZGluZ091dGVyID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhZGRpbmdPdXRlciA9ICtfLCBy
ZXNjYWxlKCkpIDogcGFkZGluZ091dGVyOworICB9OworCisgIHNjYWxlLmFsaWduID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGFsaWduID0gTWF0aC5tYXgo
MCwgTWF0aC5taW4oMSwgXykpLCByZXNjYWxlKCkpIDogYWxpZ247CisgIH07CisKKyAgc2NhbGUu
Y29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBiYW5kKGRvbWFpbigpLCByYW5nZSkKKyAg
ICAgICAgLnJvdW5kKHJvdW5kKQorICAgICAgICAucGFkZGluZ0lubmVyKHBhZGRpbmdJbm5lcikK
KyAgICAgICAgLnBhZGRpbmdPdXRlcihwYWRkaW5nT3V0ZXIpCisgICAgICAgIC5hbGlnbihhbGln
bik7CisgIH07CisKKyAgcmV0dXJuIGluaXRSYW5nZS5hcHBseShyZXNjYWxlKCksIGFyZ3VtZW50
cyk7Cit9CisKK2Z1bmN0aW9uIHBvaW50aXNoKHNjYWxlKSB7CisgIHZhciBjb3B5ID0gc2NhbGUu
Y29weTsKKworICBzY2FsZS5wYWRkaW5nID0gc2NhbGUucGFkZGluZ091dGVyOworICBkZWxldGUg
c2NhbGUucGFkZGluZ0lubmVyOworICBkZWxldGUgc2NhbGUucGFkZGluZ091dGVyOworCisgIHNj
YWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gcG9pbnRpc2goY29weSgpKTsKKyAg
fTsKKworICByZXR1cm4gc2NhbGU7Cit9CisKK2Z1bmN0aW9uIHBvaW50JDEoKSB7CisgIHJldHVy
biBwb2ludGlzaChiYW5kLmFwcGx5KG51bGwsIGFyZ3VtZW50cykucGFkZGluZ0lubmVyKDEpKTsK
K30KKworZnVuY3Rpb24gY29uc3RhbnQkYSh4KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAg
ICByZXR1cm4geDsKKyAgfTsKK30KKworZnVuY3Rpb24gbnVtYmVyJDIoeCkgeworICByZXR1cm4g
K3g7Cit9CisKK3ZhciB1bml0ID0gWzAsIDFdOworCitmdW5jdGlvbiBpZGVudGl0eSQ2KHgpIHsK
KyAgcmV0dXJuIHg7Cit9CisKK2Z1bmN0aW9uIG5vcm1hbGl6ZShhLCBiKSB7CisgIHJldHVybiAo
YiAtPSAoYSA9ICthKSkKKyAgICAgID8gZnVuY3Rpb24oeCkgeyByZXR1cm4gKHggLSBhKSAvIGI7
IH0KKyAgICAgIDogY29uc3RhbnQkYShpc05hTihiKSA/IE5hTiA6IDAuNSk7Cit9CisKK2Z1bmN0
aW9uIGNsYW1wZXIoZG9tYWluKSB7CisgIHZhciBhID0gZG9tYWluWzBdLCBiID0gZG9tYWluW2Rv
bWFpbi5sZW5ndGggLSAxXSwgdDsKKyAgaWYgKGEgPiBiKSB0ID0gYSwgYSA9IGIsIGIgPSB0Owor
ICByZXR1cm4gZnVuY3Rpb24oeCkgeyByZXR1cm4gTWF0aC5tYXgoYSwgTWF0aC5taW4oYiwgeCkp
OyB9OworfQorCisvLyBub3JtYWxpemUoYSwgYikoeCkgdGFrZXMgYSBkb21haW4gdmFsdWUgeCBp
biBbYSxiXSBhbmQgcmV0dXJucyB0aGUgY29ycmVzcG9uZGluZyBwYXJhbWV0ZXIgdCBpbiBbMCwx
XS4KKy8vIGludGVycG9sYXRlKGEsIGIpKHQpIHRha2VzIGEgcGFyYW1ldGVyIHQgaW4gWzAsMV0g
YW5kIHJldHVybnMgdGhlIGNvcnJlc3BvbmRpbmcgcmFuZ2UgdmFsdWUgeCBpbiBbYSxiXS4KK2Z1
bmN0aW9uIGJpbWFwKGRvbWFpbiwgcmFuZ2UsIGludGVycG9sYXRlKSB7CisgIHZhciBkMCA9IGRv
bWFpblswXSwgZDEgPSBkb21haW5bMV0sIHIwID0gcmFuZ2VbMF0sIHIxID0gcmFuZ2VbMV07Cisg
IGlmIChkMSA8IGQwKSBkMCA9IG5vcm1hbGl6ZShkMSwgZDApLCByMCA9IGludGVycG9sYXRlKHIx
LCByMCk7CisgIGVsc2UgZDAgPSBub3JtYWxpemUoZDAsIGQxKSwgcjAgPSBpbnRlcnBvbGF0ZShy
MCwgcjEpOworICByZXR1cm4gZnVuY3Rpb24oeCkgeyByZXR1cm4gcjAoZDAoeCkpOyB9OworfQor
CitmdW5jdGlvbiBwb2x5bWFwKGRvbWFpbiwgcmFuZ2UsIGludGVycG9sYXRlKSB7CisgIHZhciBq
ID0gTWF0aC5taW4oZG9tYWluLmxlbmd0aCwgcmFuZ2UubGVuZ3RoKSAtIDEsCisgICAgICBkID0g
bmV3IEFycmF5KGopLAorICAgICAgciA9IG5ldyBBcnJheShqKSwKKyAgICAgIGkgPSAtMTsKKwor
ICAvLyBSZXZlcnNlIGRlc2NlbmRpbmcgZG9tYWlucy4KKyAgaWYgKGRvbWFpbltqXSA8IGRvbWFp
blswXSkgeworICAgIGRvbWFpbiA9IGRvbWFpbi5zbGljZSgpLnJldmVyc2UoKTsKKyAgICByYW5n
ZSA9IHJhbmdlLnNsaWNlKCkucmV2ZXJzZSgpOworICB9CisKKyAgd2hpbGUgKCsraSA8IGopIHsK
KyAgICBkW2ldID0gbm9ybWFsaXplKGRvbWFpbltpXSwgZG9tYWluW2kgKyAxXSk7CisgICAgcltp
XSA9IGludGVycG9sYXRlKHJhbmdlW2ldLCByYW5nZVtpICsgMV0pOworICB9CisKKyAgcmV0dXJu
IGZ1bmN0aW9uKHgpIHsKKyAgICB2YXIgaSA9IGJpc2VjdFJpZ2h0KGRvbWFpbiwgeCwgMSwgaikg
LSAxOworICAgIHJldHVybiByW2ldKGRbaV0oeCkpOworICB9OworfQorCitmdW5jdGlvbiBjb3B5
KHNvdXJjZSwgdGFyZ2V0KSB7CisgIHJldHVybiB0YXJnZXQKKyAgICAgIC5kb21haW4oc291cmNl
LmRvbWFpbigpKQorICAgICAgLnJhbmdlKHNvdXJjZS5yYW5nZSgpKQorICAgICAgLmludGVycG9s
YXRlKHNvdXJjZS5pbnRlcnBvbGF0ZSgpKQorICAgICAgLmNsYW1wKHNvdXJjZS5jbGFtcCgpKQor
ICAgICAgLnVua25vd24oc291cmNlLnVua25vd24oKSk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zZm9y
bWVyJDEoKSB7CisgIHZhciBkb21haW4gPSB1bml0LAorICAgICAgcmFuZ2UgPSB1bml0LAorICAg
ICAgaW50ZXJwb2xhdGUgPSBpbnRlcnBvbGF0ZVZhbHVlLAorICAgICAgdHJhbnNmb3JtLAorICAg
ICAgdW50cmFuc2Zvcm0sCisgICAgICB1bmtub3duLAorICAgICAgY2xhbXAgPSBpZGVudGl0eSQ2
LAorICAgICAgcGllY2V3aXNlLAorICAgICAgb3V0cHV0LAorICAgICAgaW5wdXQ7CisKKyAgZnVu
Y3Rpb24gcmVzY2FsZSgpIHsKKyAgICBwaWVjZXdpc2UgPSBNYXRoLm1pbihkb21haW4ubGVuZ3Ro
LCByYW5nZS5sZW5ndGgpID4gMiA/IHBvbHltYXAgOiBiaW1hcDsKKyAgICBvdXRwdXQgPSBpbnB1
dCA9IG51bGw7CisgICAgcmV0dXJuIHNjYWxlOworICB9CisKKyAgZnVuY3Rpb24gc2NhbGUoeCkg
eworICAgIHJldHVybiBpc05hTih4ID0gK3gpID8gdW5rbm93biA6IChvdXRwdXQgfHwgKG91dHB1
dCA9IHBpZWNld2lzZShkb21haW4ubWFwKHRyYW5zZm9ybSksIHJhbmdlLCBpbnRlcnBvbGF0ZSkp
KSh0cmFuc2Zvcm0oY2xhbXAoeCkpKTsKKyAgfQorCisgIHNjYWxlLmludmVydCA9IGZ1bmN0aW9u
KHkpIHsKKyAgICByZXR1cm4gY2xhbXAodW50cmFuc2Zvcm0oKGlucHV0IHx8IChpbnB1dCA9IHBp
ZWNld2lzZShyYW5nZSwgZG9tYWluLm1hcCh0cmFuc2Zvcm0pLCBpbnRlcnBvbGF0ZU51bWJlcikp
KSh5KSkpOworICB9OworCisgIHNjYWxlLmRvbWFpbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkb21haW4gPSBtYXAkMy5jYWxsKF8sIG51bWJlciQyKSwg
Y2xhbXAgPT09IGlkZW50aXR5JDYgfHwgKGNsYW1wID0gY2xhbXBlcihkb21haW4pKSwgcmVzY2Fs
ZSgpKSA6IGRvbWFpbi5zbGljZSgpOworICB9OworCisgIHNjYWxlLnJhbmdlID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJhbmdlID0gc2xpY2UkNS5jYWxs
KF8pLCByZXNjYWxlKCkpIDogcmFuZ2Uuc2xpY2UoKTsKKyAgfTsKKworICBzY2FsZS5yYW5nZVJv
dW5kID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiByYW5nZSA9IHNsaWNlJDUuY2FsbChfKSwg
aW50ZXJwb2xhdGUgPSBpbnRlcnBvbGF0ZVJvdW5kLCByZXNjYWxlKCk7CisgIH07CisKKyAgc2Nh
bGUuY2xhbXAgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
Y2xhbXAgPSBfID8gY2xhbXBlcihkb21haW4pIDogaWRlbnRpdHkkNiwgc2NhbGUpIDogY2xhbXAg
IT09IGlkZW50aXR5JDY7CisgIH07CisKKyAgc2NhbGUuaW50ZXJwb2xhdGUgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoaW50ZXJwb2xhdGUgPSBfLCByZXNj
YWxlKCkpIDogaW50ZXJwb2xhdGU7CisgIH07CisKKyAgc2NhbGUudW5rbm93biA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh1bmtub3duID0gXywgc2NhbGUp
IDogdW5rbm93bjsKKyAgfTsKKworICByZXR1cm4gZnVuY3Rpb24odCwgdSkgeworICAgIHRyYW5z
Zm9ybSA9IHQsIHVudHJhbnNmb3JtID0gdTsKKyAgICByZXR1cm4gcmVzY2FsZSgpOworICB9Owor
fQorCitmdW5jdGlvbiBjb250aW51b3VzKHRyYW5zZm9ybSwgdW50cmFuc2Zvcm0pIHsKKyAgcmV0
dXJuIHRyYW5zZm9ybWVyJDEoKSh0cmFuc2Zvcm0sIHVudHJhbnNmb3JtKTsKK30KKworZnVuY3Rp
b24gdGlja0Zvcm1hdChzdGFydCwgc3RvcCwgY291bnQsIHNwZWNpZmllcikgeworICB2YXIgc3Rl
cCA9IHRpY2tTdGVwKHN0YXJ0LCBzdG9wLCBjb3VudCksCisgICAgICBwcmVjaXNpb247CisgIHNw
ZWNpZmllciA9IGZvcm1hdFNwZWNpZmllcihzcGVjaWZpZXIgPT0gbnVsbCA/ICIsZiIgOiBzcGVj
aWZpZXIpOworICBzd2l0Y2ggKHNwZWNpZmllci50eXBlKSB7CisgICAgY2FzZSAicyI6IHsKKyAg
ICAgIHZhciB2YWx1ZSA9IE1hdGgubWF4KE1hdGguYWJzKHN0YXJ0KSwgTWF0aC5hYnMoc3RvcCkp
OworICAgICAgaWYgKHNwZWNpZmllci5wcmVjaXNpb24gPT0gbnVsbCAmJiAhaXNOYU4ocHJlY2lz
aW9uID0gcHJlY2lzaW9uUHJlZml4KHN0ZXAsIHZhbHVlKSkpIHNwZWNpZmllci5wcmVjaXNpb24g
PSBwcmVjaXNpb247CisgICAgICByZXR1cm4gZXhwb3J0cy5mb3JtYXRQcmVmaXgoc3BlY2lmaWVy
LCB2YWx1ZSk7CisgICAgfQorICAgIGNhc2UgIiI6CisgICAgY2FzZSAiZSI6CisgICAgY2FzZSAi
ZyI6CisgICAgY2FzZSAicCI6CisgICAgY2FzZSAiciI6IHsKKyAgICAgIGlmIChzcGVjaWZpZXIu
cHJlY2lzaW9uID09IG51bGwgJiYgIWlzTmFOKHByZWNpc2lvbiA9IHByZWNpc2lvblJvdW5kKHN0
ZXAsIE1hdGgubWF4KE1hdGguYWJzKHN0YXJ0KSwgTWF0aC5hYnMoc3RvcCkpKSkpIHNwZWNpZmll
ci5wcmVjaXNpb24gPSBwcmVjaXNpb24gLSAoc3BlY2lmaWVyLnR5cGUgPT09ICJlIik7CisgICAg
ICBicmVhazsKKyAgICB9CisgICAgY2FzZSAiZiI6CisgICAgY2FzZSAiJSI6IHsKKyAgICAgIGlm
IChzcGVjaWZpZXIucHJlY2lzaW9uID09IG51bGwgJiYgIWlzTmFOKHByZWNpc2lvbiA9IHByZWNp
c2lvbkZpeGVkKHN0ZXApKSkgc3BlY2lmaWVyLnByZWNpc2lvbiA9IHByZWNpc2lvbiAtIChzcGVj
aWZpZXIudHlwZSA9PT0gIiUiKSAqIDI7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKyAgcmV0
dXJuIGV4cG9ydHMuZm9ybWF0KHNwZWNpZmllcik7Cit9CisKK2Z1bmN0aW9uIGxpbmVhcmlzaChz
Y2FsZSkgeworICB2YXIgZG9tYWluID0gc2NhbGUuZG9tYWluOworCisgIHNjYWxlLnRpY2tzID0g
ZnVuY3Rpb24oY291bnQpIHsKKyAgICB2YXIgZCA9IGRvbWFpbigpOworICAgIHJldHVybiB0aWNr
cyhkWzBdLCBkW2QubGVuZ3RoIC0gMV0sIGNvdW50ID09IG51bGwgPyAxMCA6IGNvdW50KTsKKyAg
fTsKKworICBzY2FsZS50aWNrRm9ybWF0ID0gZnVuY3Rpb24oY291bnQsIHNwZWNpZmllcikgewor
ICAgIHZhciBkID0gZG9tYWluKCk7CisgICAgcmV0dXJuIHRpY2tGb3JtYXQoZFswXSwgZFtkLmxl
bmd0aCAtIDFdLCBjb3VudCA9PSBudWxsID8gMTAgOiBjb3VudCwgc3BlY2lmaWVyKTsKKyAgfTsK
KworICBzY2FsZS5uaWNlID0gZnVuY3Rpb24oY291bnQpIHsKKyAgICBpZiAoY291bnQgPT0gbnVs
bCkgY291bnQgPSAxMDsKKworICAgIHZhciBkID0gZG9tYWluKCksCisgICAgICAgIGkwID0gMCwK
KyAgICAgICAgaTEgPSBkLmxlbmd0aCAtIDEsCisgICAgICAgIHN0YXJ0ID0gZFtpMF0sCisgICAg
ICAgIHN0b3AgPSBkW2kxXSwKKyAgICAgICAgc3RlcDsKKworICAgIGlmIChzdG9wIDwgc3RhcnQp
IHsKKyAgICAgIHN0ZXAgPSBzdGFydCwgc3RhcnQgPSBzdG9wLCBzdG9wID0gc3RlcDsKKyAgICAg
IHN0ZXAgPSBpMCwgaTAgPSBpMSwgaTEgPSBzdGVwOworICAgIH0KKworICAgIHN0ZXAgPSB0aWNr
SW5jcmVtZW50KHN0YXJ0LCBzdG9wLCBjb3VudCk7CisKKyAgICBpZiAoc3RlcCA+IDApIHsKKyAg
ICAgIHN0YXJ0ID0gTWF0aC5mbG9vcihzdGFydCAvIHN0ZXApICogc3RlcDsKKyAgICAgIHN0b3Ag
PSBNYXRoLmNlaWwoc3RvcCAvIHN0ZXApICogc3RlcDsKKyAgICAgIHN0ZXAgPSB0aWNrSW5jcmVt
ZW50KHN0YXJ0LCBzdG9wLCBjb3VudCk7CisgICAgfSBlbHNlIGlmIChzdGVwIDwgMCkgeworICAg
ICAgc3RhcnQgPSBNYXRoLmNlaWwoc3RhcnQgKiBzdGVwKSAvIHN0ZXA7CisgICAgICBzdG9wID0g
TWF0aC5mbG9vcihzdG9wICogc3RlcCkgLyBzdGVwOworICAgICAgc3RlcCA9IHRpY2tJbmNyZW1l
bnQoc3RhcnQsIHN0b3AsIGNvdW50KTsKKyAgICB9CisKKyAgICBpZiAoc3RlcCA+IDApIHsKKyAg
ICAgIGRbaTBdID0gTWF0aC5mbG9vcihzdGFydCAvIHN0ZXApICogc3RlcDsKKyAgICAgIGRbaTFd
ID0gTWF0aC5jZWlsKHN0b3AgLyBzdGVwKSAqIHN0ZXA7CisgICAgICBkb21haW4oZCk7CisgICAg
fSBlbHNlIGlmIChzdGVwIDwgMCkgeworICAgICAgZFtpMF0gPSBNYXRoLmNlaWwoc3RhcnQgKiBz
dGVwKSAvIHN0ZXA7CisgICAgICBkW2kxXSA9IE1hdGguZmxvb3Ioc3RvcCAqIHN0ZXApIC8gc3Rl
cDsKKyAgICAgIGRvbWFpbihkKTsKKyAgICB9CisKKyAgICByZXR1cm4gc2NhbGU7CisgIH07CisK
KyAgcmV0dXJuIHNjYWxlOworfQorCitmdW5jdGlvbiBsaW5lYXIkMigpIHsKKyAgdmFyIHNjYWxl
ID0gY29udGludW91cyhpZGVudGl0eSQ2LCBpZGVudGl0eSQ2KTsKKworICBzY2FsZS5jb3B5ID0g
ZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkoc2NhbGUsIGxpbmVhciQyKCkpOworICB9Owor
CisgIGluaXRSYW5nZS5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKKworICByZXR1cm4gbGluZWFy
aXNoKHNjYWxlKTsKK30KKworZnVuY3Rpb24gaWRlbnRpdHkkNyhkb21haW4pIHsKKyAgdmFyIHVu
a25vd247CisKKyAgZnVuY3Rpb24gc2NhbGUoeCkgeworICAgIHJldHVybiBpc05hTih4ID0gK3gp
ID8gdW5rbm93biA6IHg7CisgIH0KKworICBzY2FsZS5pbnZlcnQgPSBzY2FsZTsKKworICBzY2Fs
ZS5kb21haW4gPSBzY2FsZS5yYW5nZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/IChkb21haW4gPSBtYXAkMy5jYWxsKF8sIG51bWJlciQyKSwgc2NhbGUpIDog
ZG9tYWluLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUudW5rbm93biA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh1bmtub3duID0gXywgc2NhbGUpIDogdW5r
bm93bjsKKyAgfTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGlk
ZW50aXR5JDcoZG9tYWluKS51bmtub3duKHVua25vd24pOworICB9OworCisgIGRvbWFpbiA9IGFy
Z3VtZW50cy5sZW5ndGggPyBtYXAkMy5jYWxsKGRvbWFpbiwgbnVtYmVyJDIpIDogWzAsIDFdOwor
CisgIHJldHVybiBsaW5lYXJpc2goc2NhbGUpOworfQorCitmdW5jdGlvbiBuaWNlKGRvbWFpbiwg
aW50ZXJ2YWwpIHsKKyAgZG9tYWluID0gZG9tYWluLnNsaWNlKCk7CisKKyAgdmFyIGkwID0gMCwK
KyAgICAgIGkxID0gZG9tYWluLmxlbmd0aCAtIDEsCisgICAgICB4MCA9IGRvbWFpbltpMF0sCisg
ICAgICB4MSA9IGRvbWFpbltpMV0sCisgICAgICB0OworCisgIGlmICh4MSA8IHgwKSB7CisgICAg
dCA9IGkwLCBpMCA9IGkxLCBpMSA9IHQ7CisgICAgdCA9IHgwLCB4MCA9IHgxLCB4MSA9IHQ7Cisg
IH0KKworICBkb21haW5baTBdID0gaW50ZXJ2YWwuZmxvb3IoeDApOworICBkb21haW5baTFdID0g
aW50ZXJ2YWwuY2VpbCh4MSk7CisgIHJldHVybiBkb21haW47Cit9CisKK2Z1bmN0aW9uIHRyYW5z
Zm9ybUxvZyh4KSB7CisgIHJldHVybiBNYXRoLmxvZyh4KTsKK30KKworZnVuY3Rpb24gdHJhbnNm
b3JtRXhwKHgpIHsKKyAgcmV0dXJuIE1hdGguZXhwKHgpOworfQorCitmdW5jdGlvbiB0cmFuc2Zv
cm1Mb2duKHgpIHsKKyAgcmV0dXJuIC1NYXRoLmxvZygteCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5z
Zm9ybUV4cG4oeCkgeworICByZXR1cm4gLU1hdGguZXhwKC14KTsKK30KKworZnVuY3Rpb24gcG93
MTAoeCkgeworICByZXR1cm4gaXNGaW5pdGUoeCkgPyArKCIxZSIgKyB4KSA6IHggPCAwID8gMCA6
IHg7Cit9CisKK2Z1bmN0aW9uIHBvd3AoYmFzZSkgeworICByZXR1cm4gYmFzZSA9PT0gMTAgPyBw
b3cxMAorICAgICAgOiBiYXNlID09PSBNYXRoLkUgPyBNYXRoLmV4cAorICAgICAgOiBmdW5jdGlv
bih4KSB7IHJldHVybiBNYXRoLnBvdyhiYXNlLCB4KTsgfTsKK30KKworZnVuY3Rpb24gbG9ncChi
YXNlKSB7CisgIHJldHVybiBiYXNlID09PSBNYXRoLkUgPyBNYXRoLmxvZworICAgICAgOiBiYXNl
ID09PSAxMCAmJiBNYXRoLmxvZzEwCisgICAgICB8fCBiYXNlID09PSAyICYmIE1hdGgubG9nMgor
ICAgICAgfHwgKGJhc2UgPSBNYXRoLmxvZyhiYXNlKSwgZnVuY3Rpb24oeCkgeyByZXR1cm4gTWF0
aC5sb2coeCkgLyBiYXNlOyB9KTsKK30KKworZnVuY3Rpb24gcmVmbGVjdChmKSB7CisgIHJldHVy
biBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIC1mKC14KTsKKyAgfTsKK30KKworZnVuY3Rpb24g
bG9nZ2lzaCh0cmFuc2Zvcm0pIHsKKyAgdmFyIHNjYWxlID0gdHJhbnNmb3JtKHRyYW5zZm9ybUxv
ZywgdHJhbnNmb3JtRXhwKSwKKyAgICAgIGRvbWFpbiA9IHNjYWxlLmRvbWFpbiwKKyAgICAgIGJh
c2UgPSAxMCwKKyAgICAgIGxvZ3MsCisgICAgICBwb3dzOworCisgIGZ1bmN0aW9uIHJlc2NhbGUo
KSB7CisgICAgbG9ncyA9IGxvZ3AoYmFzZSksIHBvd3MgPSBwb3dwKGJhc2UpOworICAgIGlmIChk
b21haW4oKVswXSA8IDApIHsKKyAgICAgIGxvZ3MgPSByZWZsZWN0KGxvZ3MpLCBwb3dzID0gcmVm
bGVjdChwb3dzKTsKKyAgICAgIHRyYW5zZm9ybSh0cmFuc2Zvcm1Mb2duLCB0cmFuc2Zvcm1FeHBu
KTsKKyAgICB9IGVsc2UgeworICAgICAgdHJhbnNmb3JtKHRyYW5zZm9ybUxvZywgdHJhbnNmb3Jt
RXhwKTsKKyAgICB9CisgICAgcmV0dXJuIHNjYWxlOworICB9CisKKyAgc2NhbGUuYmFzZSA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChiYXNlID0gK18sIHJl
c2NhbGUoKSkgOiBiYXNlOworICB9OworCisgIHNjYWxlLmRvbWFpbiA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkb21haW4oXyksIHJlc2NhbGUoKSkgOiBk
b21haW4oKTsKKyAgfTsKKworICBzY2FsZS50aWNrcyA9IGZ1bmN0aW9uKGNvdW50KSB7CisgICAg
dmFyIGQgPSBkb21haW4oKSwKKyAgICAgICAgdSA9IGRbMF0sCisgICAgICAgIHYgPSBkW2QubGVu
Z3RoIC0gMV0sCisgICAgICAgIHI7CisKKyAgICBpZiAociA9IHYgPCB1KSBpID0gdSwgdSA9IHYs
IHYgPSBpOworCisgICAgdmFyIGkgPSBsb2dzKHUpLAorICAgICAgICBqID0gbG9ncyh2KSwKKyAg
ICAgICAgcCwKKyAgICAgICAgaywKKyAgICAgICAgdCwKKyAgICAgICAgbiA9IGNvdW50ID09IG51
bGwgPyAxMCA6ICtjb3VudCwKKyAgICAgICAgeiA9IFtdOworCisgICAgaWYgKCEoYmFzZSAlIDEp
ICYmIGogLSBpIDwgbikgeworICAgICAgaSA9IE1hdGgucm91bmQoaSkgLSAxLCBqID0gTWF0aC5y
b3VuZChqKSArIDE7CisgICAgICBpZiAodSA+IDApIGZvciAoOyBpIDwgajsgKytpKSB7CisgICAg
ICAgIGZvciAoayA9IDEsIHAgPSBwb3dzKGkpOyBrIDwgYmFzZTsgKytrKSB7CisgICAgICAgICAg
dCA9IHAgKiBrOworICAgICAgICAgIGlmICh0IDwgdSkgY29udGludWU7CisgICAgICAgICAgaWYg
KHQgPiB2KSBicmVhazsKKyAgICAgICAgICB6LnB1c2godCk7CisgICAgICAgIH0KKyAgICAgIH0g
ZWxzZSBmb3IgKDsgaSA8IGo7ICsraSkgeworICAgICAgICBmb3IgKGsgPSBiYXNlIC0gMSwgcCA9
IHBvd3MoaSk7IGsgPj0gMTsgLS1rKSB7CisgICAgICAgICAgdCA9IHAgKiBrOworICAgICAgICAg
IGlmICh0IDwgdSkgY29udGludWU7CisgICAgICAgICAgaWYgKHQgPiB2KSBicmVhazsKKyAgICAg
ICAgICB6LnB1c2godCk7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAg
eiA9IHRpY2tzKGksIGosIE1hdGgubWluKGogLSBpLCBuKSkubWFwKHBvd3MpOworICAgIH0KKwor
ICAgIHJldHVybiByID8gei5yZXZlcnNlKCkgOiB6OworICB9OworCisgIHNjYWxlLnRpY2tGb3Jt
YXQgPSBmdW5jdGlvbihjb3VudCwgc3BlY2lmaWVyKSB7CisgICAgaWYgKHNwZWNpZmllciA9PSBu
dWxsKSBzcGVjaWZpZXIgPSBiYXNlID09PSAxMCA/ICIuMGUiIDogIiwiOworICAgIGlmICh0eXBl
b2Ygc3BlY2lmaWVyICE9PSAiZnVuY3Rpb24iKSBzcGVjaWZpZXIgPSBleHBvcnRzLmZvcm1hdChz
cGVjaWZpZXIpOworICAgIGlmIChjb3VudCA9PT0gSW5maW5pdHkpIHJldHVybiBzcGVjaWZpZXI7
CisgICAgaWYgKGNvdW50ID09IG51bGwpIGNvdW50ID0gMTA7CisgICAgdmFyIGsgPSBNYXRoLm1h
eCgxLCBiYXNlICogY291bnQgLyBzY2FsZS50aWNrcygpLmxlbmd0aCk7IC8vIFRPRE8gZmFzdCBl
c3RpbWF0ZT8KKyAgICByZXR1cm4gZnVuY3Rpb24oZCkgeworICAgICAgdmFyIGkgPSBkIC8gcG93
cyhNYXRoLnJvdW5kKGxvZ3MoZCkpKTsKKyAgICAgIGlmIChpICogYmFzZSA8IGJhc2UgLSAwLjUp
IGkgKj0gYmFzZTsKKyAgICAgIHJldHVybiBpIDw9IGsgPyBzcGVjaWZpZXIoZCkgOiAiIjsKKyAg
ICB9OworICB9OworCisgIHNjYWxlLm5pY2UgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gZG9t
YWluKG5pY2UoZG9tYWluKCksIHsKKyAgICAgIGZsb29yOiBmdW5jdGlvbih4KSB7IHJldHVybiBw
b3dzKE1hdGguZmxvb3IobG9ncyh4KSkpOyB9LAorICAgICAgY2VpbDogZnVuY3Rpb24oeCkgeyBy
ZXR1cm4gcG93cyhNYXRoLmNlaWwobG9ncyh4KSkpOyB9CisgICAgfSkpOworICB9OworCisgIHJl
dHVybiBzY2FsZTsKK30KKworZnVuY3Rpb24gbG9nJDEoKSB7CisgIHZhciBzY2FsZSA9IGxvZ2dp
c2godHJhbnNmb3JtZXIkMSgpKS5kb21haW4oWzEsIDEwXSk7CisKKyAgc2NhbGUuY29weSA9IGZ1
bmN0aW9uKCkgeworICAgIHJldHVybiBjb3B5KHNjYWxlLCBsb2ckMSgpKS5iYXNlKHNjYWxlLmJh
c2UoKSk7CisgIH07CisKKyAgaW5pdFJhbmdlLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworCisg
IHJldHVybiBzY2FsZTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3JtU3ltbG9nKGMpIHsKKyAgcmV0
dXJuIGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gTWF0aC5zaWduKHgpICogTWF0aC5sb2cxcChN
YXRoLmFicyh4IC8gYykpOworICB9OworfQorCitmdW5jdGlvbiB0cmFuc2Zvcm1TeW1leHAoYykg
eworICByZXR1cm4gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBNYXRoLnNpZ24oeCkgKiBNYXRo
LmV4cG0xKE1hdGguYWJzKHgpKSAqIGM7CisgIH07Cit9CisKK2Z1bmN0aW9uIHN5bWxvZ2lzaCh0
cmFuc2Zvcm0pIHsKKyAgdmFyIGMgPSAxLCBzY2FsZSA9IHRyYW5zZm9ybSh0cmFuc2Zvcm1TeW1s
b2coYyksIHRyYW5zZm9ybVN5bWV4cChjKSk7CisKKyAgc2NhbGUuY29uc3RhbnQgPSBmdW5jdGlv
bihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyB0cmFuc2Zvcm0odHJhbnNmb3Jt
U3ltbG9nKGMgPSArXyksIHRyYW5zZm9ybVN5bWV4cChjKSkgOiBjOworICB9OworCisgIHJldHVy
biBsaW5lYXJpc2goc2NhbGUpOworfQorCitmdW5jdGlvbiBzeW1sb2coKSB7CisgIHZhciBzY2Fs
ZSA9IHN5bWxvZ2lzaCh0cmFuc2Zvcm1lciQxKCkpOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlv
bigpIHsKKyAgICByZXR1cm4gY29weShzY2FsZSwgc3ltbG9nKCkpLmNvbnN0YW50KHNjYWxlLmNv
bnN0YW50KCkpOworICB9OworCisgIHJldHVybiBpbml0UmFuZ2UuYXBwbHkoc2NhbGUsIGFyZ3Vt
ZW50cyk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zZm9ybVBvdyhleHBvbmVudCkgeworICByZXR1cm4g
ZnVuY3Rpb24oeCkgeworICAgIHJldHVybiB4IDwgMCA/IC1NYXRoLnBvdygteCwgZXhwb25lbnQp
IDogTWF0aC5wb3coeCwgZXhwb25lbnQpOworICB9OworfQorCitmdW5jdGlvbiB0cmFuc2Zvcm1T
cXJ0KHgpIHsKKyAgcmV0dXJuIHggPCAwID8gLU1hdGguc3FydCgteCkgOiBNYXRoLnNxcnQoeCk7
Cit9CisKK2Z1bmN0aW9uIHRyYW5zZm9ybVNxdWFyZSh4KSB7CisgIHJldHVybiB4IDwgMCA/IC14
ICogeCA6IHggKiB4OworfQorCitmdW5jdGlvbiBwb3dpc2godHJhbnNmb3JtKSB7CisgIHZhciBz
Y2FsZSA9IHRyYW5zZm9ybShpZGVudGl0eSQ2LCBpZGVudGl0eSQ2KSwKKyAgICAgIGV4cG9uZW50
ID0gMTsKKworICBmdW5jdGlvbiByZXNjYWxlKCkgeworICAgIHJldHVybiBleHBvbmVudCA9PT0g
MSA/IHRyYW5zZm9ybShpZGVudGl0eSQ2LCBpZGVudGl0eSQ2KQorICAgICAgICA6IGV4cG9uZW50
ID09PSAwLjUgPyB0cmFuc2Zvcm0odHJhbnNmb3JtU3FydCwgdHJhbnNmb3JtU3F1YXJlKQorICAg
ICAgICA6IHRyYW5zZm9ybSh0cmFuc2Zvcm1Qb3coZXhwb25lbnQpLCB0cmFuc2Zvcm1Qb3coMSAv
IGV4cG9uZW50KSk7CisgIH0KKworICBzY2FsZS5leHBvbmVudCA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChleHBvbmVudCA9ICtfLCByZXNjYWxlKCkpIDog
ZXhwb25lbnQ7CisgIH07CisKKyAgcmV0dXJuIGxpbmVhcmlzaChzY2FsZSk7Cit9CisKK2Z1bmN0
aW9uIHBvdyQxKCkgeworICB2YXIgc2NhbGUgPSBwb3dpc2godHJhbnNmb3JtZXIkMSgpKTsKKwor
ICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkoc2NhbGUsIHBvdyQx
KCkpLmV4cG9uZW50KHNjYWxlLmV4cG9uZW50KCkpOworICB9OworCisgIGluaXRSYW5nZS5hcHBs
eShzY2FsZSwgYXJndW1lbnRzKTsKKworICByZXR1cm4gc2NhbGU7Cit9CisKK2Z1bmN0aW9uIHNx
cnQkMSgpIHsKKyAgcmV0dXJuIHBvdyQxLmFwcGx5KG51bGwsIGFyZ3VtZW50cykuZXhwb25lbnQo
MC41KTsKK30KKworZnVuY3Rpb24gcXVhbnRpbGUoKSB7CisgIHZhciBkb21haW4gPSBbXSwKKyAg
ICAgIHJhbmdlID0gW10sCisgICAgICB0aHJlc2hvbGRzID0gW10sCisgICAgICB1bmtub3duOwor
CisgIGZ1bmN0aW9uIHJlc2NhbGUoKSB7CisgICAgdmFyIGkgPSAwLCBuID0gTWF0aC5tYXgoMSwg
cmFuZ2UubGVuZ3RoKTsKKyAgICB0aHJlc2hvbGRzID0gbmV3IEFycmF5KG4gLSAxKTsKKyAgICB3
aGlsZSAoKytpIDwgbikgdGhyZXNob2xkc1tpIC0gMV0gPSB0aHJlc2hvbGQoZG9tYWluLCBpIC8g
bik7CisgICAgcmV0dXJuIHNjYWxlOworICB9CisKKyAgZnVuY3Rpb24gc2NhbGUoeCkgeworICAg
IHJldHVybiBpc05hTih4ID0gK3gpID8gdW5rbm93biA6IHJhbmdlW2Jpc2VjdFJpZ2h0KHRocmVz
aG9sZHMsIHgpXTsKKyAgfQorCisgIHNjYWxlLmludmVydEV4dGVudCA9IGZ1bmN0aW9uKHkpIHsK
KyAgICB2YXIgaSA9IHJhbmdlLmluZGV4T2YoeSk7CisgICAgcmV0dXJuIGkgPCAwID8gW05hTiwg
TmFOXSA6IFsKKyAgICAgIGkgPiAwID8gdGhyZXNob2xkc1tpIC0gMV0gOiBkb21haW5bMF0sCisg
ICAgICBpIDwgdGhyZXNob2xkcy5sZW5ndGggPyB0aHJlc2hvbGRzW2ldIDogZG9tYWluW2RvbWFp
bi5sZW5ndGggLSAxXQorICAgIF07CisgIH07CisKKyAgc2NhbGUuZG9tYWluID0gZnVuY3Rpb24o
XykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIGRvbWFpbi5zbGljZSgpOwor
ICAgIGRvbWFpbiA9IFtdOworICAgIGZvciAodmFyIGkgPSAwLCBuID0gXy5sZW5ndGgsIGQ7IGkg
PCBuOyArK2kpIGlmIChkID0gX1tpXSwgZCAhPSBudWxsICYmICFpc05hTihkID0gK2QpKSBkb21h
aW4ucHVzaChkKTsKKyAgICBkb21haW4uc29ydChhc2NlbmRpbmcpOworICAgIHJldHVybiByZXNj
YWxlKCk7CisgIH07CisKKyAgc2NhbGUucmFuZ2UgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAocmFuZ2UgPSBzbGljZSQ1LmNhbGwoXyksIHJlc2NhbGUoKSkg
OiByYW5nZS5zbGljZSgpOworICB9OworCisgIHNjYWxlLnVua25vd24gPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodW5rbm93biA9IF8sIHNjYWxlKSA6IHVu
a25vd247CisgIH07CisKKyAgc2NhbGUucXVhbnRpbGVzID0gZnVuY3Rpb24oKSB7CisgICAgcmV0
dXJuIHRocmVzaG9sZHMuc2xpY2UoKTsKKyAgfTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24o
KSB7CisgICAgcmV0dXJuIHF1YW50aWxlKCkKKyAgICAgICAgLmRvbWFpbihkb21haW4pCisgICAg
ICAgIC5yYW5nZShyYW5nZSkKKyAgICAgICAgLnVua25vd24odW5rbm93bik7CisgIH07CisKKyAg
cmV0dXJuIGluaXRSYW5nZS5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24g
cXVhbnRpemUkMSgpIHsKKyAgdmFyIHgwID0gMCwKKyAgICAgIHgxID0gMSwKKyAgICAgIG4gPSAx
LAorICAgICAgZG9tYWluID0gWzAuNV0sCisgICAgICByYW5nZSA9IFswLCAxXSwKKyAgICAgIHVu
a25vd247CisKKyAgZnVuY3Rpb24gc2NhbGUoeCkgeworICAgIHJldHVybiB4IDw9IHggPyByYW5n
ZVtiaXNlY3RSaWdodChkb21haW4sIHgsIDAsIG4pXSA6IHVua25vd247CisgIH0KKworICBmdW5j
dGlvbiByZXNjYWxlKCkgeworICAgIHZhciBpID0gLTE7CisgICAgZG9tYWluID0gbmV3IEFycmF5
KG4pOworICAgIHdoaWxlICgrK2kgPCBuKSBkb21haW5baV0gPSAoKGkgKyAxKSAqIHgxIC0gKGkg
LSBuKSAqIHgwKSAvIChuICsgMSk7CisgICAgcmV0dXJuIHNjYWxlOworICB9CisKKyAgc2NhbGUu
ZG9tYWluID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHgw
ID0gK19bMF0sIHgxID0gK19bMV0sIHJlc2NhbGUoKSkgOiBbeDAsIHgxXTsKKyAgfTsKKworICBz
Y2FsZS5yYW5nZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
IChuID0gKHJhbmdlID0gc2xpY2UkNS5jYWxsKF8pKS5sZW5ndGggLSAxLCByZXNjYWxlKCkpIDog
cmFuZ2Uuc2xpY2UoKTsKKyAgfTsKKworICBzY2FsZS5pbnZlcnRFeHRlbnQgPSBmdW5jdGlvbih5
KSB7CisgICAgdmFyIGkgPSByYW5nZS5pbmRleE9mKHkpOworICAgIHJldHVybiBpIDwgMCA/IFtO
YU4sIE5hTl0KKyAgICAgICAgOiBpIDwgMSA/IFt4MCwgZG9tYWluWzBdXQorICAgICAgICA6IGkg
Pj0gbiA/IFtkb21haW5bbiAtIDFdLCB4MV0KKyAgICAgICAgOiBbZG9tYWluW2kgLSAxXSwgZG9t
YWluW2ldXTsKKyAgfTsKKworICBzY2FsZS51bmtub3duID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHVua25vd24gPSBfLCBzY2FsZSkgOiBzY2FsZTsKKyAg
fTsKKworICBzY2FsZS50aHJlc2hvbGRzID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGRvbWFp
bi5zbGljZSgpOworICB9OworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1
cm4gcXVhbnRpemUkMSgpCisgICAgICAgIC5kb21haW4oW3gwLCB4MV0pCisgICAgICAgIC5yYW5n
ZShyYW5nZSkKKyAgICAgICAgLnVua25vd24odW5rbm93bik7CisgIH07CisKKyAgcmV0dXJuIGlu
aXRSYW5nZS5hcHBseShsaW5lYXJpc2goc2NhbGUpLCBhcmd1bWVudHMpOworfQorCitmdW5jdGlv
biB0aHJlc2hvbGQkMSgpIHsKKyAgdmFyIGRvbWFpbiA9IFswLjVdLAorICAgICAgcmFuZ2UgPSBb
MCwgMV0sCisgICAgICB1bmtub3duLAorICAgICAgbiA9IDE7CisKKyAgZnVuY3Rpb24gc2NhbGUo
eCkgeworICAgIHJldHVybiB4IDw9IHggPyByYW5nZVtiaXNlY3RSaWdodChkb21haW4sIHgsIDAs
IG4pXSA6IHVua25vd247CisgIH0KKworICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZG9tYWluID0gc2xpY2UkNS5jYWxsKF8pLCBu
ID0gTWF0aC5taW4oZG9tYWluLmxlbmd0aCwgcmFuZ2UubGVuZ3RoIC0gMSksIHNjYWxlKSA6IGRv
bWFpbi5zbGljZSgpOworICB9OworCisgIHNjYWxlLnJhbmdlID0gZnVuY3Rpb24oXykgeworICAg
IHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJhbmdlID0gc2xpY2UkNS5jYWxsKF8pLCBuID0g
TWF0aC5taW4oZG9tYWluLmxlbmd0aCwgcmFuZ2UubGVuZ3RoIC0gMSksIHNjYWxlKSA6IHJhbmdl
LnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUuaW52ZXJ0RXh0ZW50ID0gZnVuY3Rpb24oeSkgewor
ICAgIHZhciBpID0gcmFuZ2UuaW5kZXhPZih5KTsKKyAgICByZXR1cm4gW2RvbWFpbltpIC0gMV0s
IGRvbWFpbltpXV07CisgIH07CisKKyAgc2NhbGUudW5rbm93biA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh1bmtub3duID0gXywgc2NhbGUpIDogdW5rbm93
bjsKKyAgfTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRocmVz
aG9sZCQxKCkKKyAgICAgICAgLmRvbWFpbihkb21haW4pCisgICAgICAgIC5yYW5nZShyYW5nZSkK
KyAgICAgICAgLnVua25vd24odW5rbm93bik7CisgIH07CisKKyAgcmV0dXJuIGluaXRSYW5nZS5h
cHBseShzY2FsZSwgYXJndW1lbnRzKTsKK30KKwordmFyIHQwJDEgPSBuZXcgRGF0ZSwKKyAgICB0
MSQxID0gbmV3IERhdGU7CisKK2Z1bmN0aW9uIG5ld0ludGVydmFsKGZsb29yaSwgb2Zmc2V0aSwg
Y291bnQsIGZpZWxkKSB7CisKKyAgZnVuY3Rpb24gaW50ZXJ2YWwoZGF0ZSkgeworICAgIHJldHVy
biBmbG9vcmkoZGF0ZSA9IGFyZ3VtZW50cy5sZW5ndGggPT09IDAgPyBuZXcgRGF0ZSA6IG5ldyBE
YXRlKCtkYXRlKSksIGRhdGU7CisgIH0KKworICBpbnRlcnZhbC5mbG9vciA9IGZ1bmN0aW9uKGRh
dGUpIHsKKyAgICByZXR1cm4gZmxvb3JpKGRhdGUgPSBuZXcgRGF0ZSgrZGF0ZSkpLCBkYXRlOwor
ICB9OworCisgIGludGVydmFsLmNlaWwgPSBmdW5jdGlvbihkYXRlKSB7CisgICAgcmV0dXJuIGZs
b29yaShkYXRlID0gbmV3IERhdGUoZGF0ZSAtIDEpKSwgb2Zmc2V0aShkYXRlLCAxKSwgZmxvb3Jp
KGRhdGUpLCBkYXRlOworICB9OworCisgIGludGVydmFsLnJvdW5kID0gZnVuY3Rpb24oZGF0ZSkg
eworICAgIHZhciBkMCA9IGludGVydmFsKGRhdGUpLAorICAgICAgICBkMSA9IGludGVydmFsLmNl
aWwoZGF0ZSk7CisgICAgcmV0dXJuIGRhdGUgLSBkMCA8IGQxIC0gZGF0ZSA/IGQwIDogZDE7Cisg
IH07CisKKyAgaW50ZXJ2YWwub2Zmc2V0ID0gZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICAgIHJl
dHVybiBvZmZzZXRpKGRhdGUgPSBuZXcgRGF0ZSgrZGF0ZSksIHN0ZXAgPT0gbnVsbCA/IDEgOiBN
YXRoLmZsb29yKHN0ZXApKSwgZGF0ZTsKKyAgfTsKKworICBpbnRlcnZhbC5yYW5nZSA9IGZ1bmN0
aW9uKHN0YXJ0LCBzdG9wLCBzdGVwKSB7CisgICAgdmFyIHJhbmdlID0gW10sIHByZXZpb3VzOwor
ICAgIHN0YXJ0ID0gaW50ZXJ2YWwuY2VpbChzdGFydCk7CisgICAgc3RlcCA9IHN0ZXAgPT0gbnVs
bCA/IDEgOiBNYXRoLmZsb29yKHN0ZXApOworICAgIGlmICghKHN0YXJ0IDwgc3RvcCkgfHwgIShz
dGVwID4gMCkpIHJldHVybiByYW5nZTsgLy8gYWxzbyBoYW5kbGVzIEludmFsaWQgRGF0ZQorICAg
IGRvIHJhbmdlLnB1c2gocHJldmlvdXMgPSBuZXcgRGF0ZSgrc3RhcnQpKSwgb2Zmc2V0aShzdGFy
dCwgc3RlcCksIGZsb29yaShzdGFydCk7CisgICAgd2hpbGUgKHByZXZpb3VzIDwgc3RhcnQgJiYg
c3RhcnQgPCBzdG9wKTsKKyAgICByZXR1cm4gcmFuZ2U7CisgIH07CisKKyAgaW50ZXJ2YWwuZmls
dGVyID0gZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVybiBuZXdJbnRlcnZhbChmdW5jdGlvbihk
YXRlKSB7CisgICAgICBpZiAoZGF0ZSA+PSBkYXRlKSB3aGlsZSAoZmxvb3JpKGRhdGUpLCAhdGVz
dChkYXRlKSkgZGF0ZS5zZXRUaW1lKGRhdGUgLSAxKTsKKyAgICB9LCBmdW5jdGlvbihkYXRlLCBz
dGVwKSB7CisgICAgICBpZiAoZGF0ZSA+PSBkYXRlKSB7CisgICAgICAgIGlmIChzdGVwIDwgMCkg
d2hpbGUgKCsrc3RlcCA8PSAwKSB7CisgICAgICAgICAgd2hpbGUgKG9mZnNldGkoZGF0ZSwgLTEp
LCAhdGVzdChkYXRlKSkge30gLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1lbXB0eQorICAgICAg
ICB9IGVsc2Ugd2hpbGUgKC0tc3RlcCA+PSAwKSB7CisgICAgICAgICAgd2hpbGUgKG9mZnNldGko
ZGF0ZSwgKzEpLCAhdGVzdChkYXRlKSkge30gLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1lbXB0
eQorICAgICAgICB9CisgICAgICB9CisgICAgfSk7CisgIH07CisKKyAgaWYgKGNvdW50KSB7Cisg
ICAgaW50ZXJ2YWwuY291bnQgPSBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgICAgICB0MCQxLnNl
dFRpbWUoK3N0YXJ0KSwgdDEkMS5zZXRUaW1lKCtlbmQpOworICAgICAgZmxvb3JpKHQwJDEpLCBm
bG9vcmkodDEkMSk7CisgICAgICByZXR1cm4gTWF0aC5mbG9vcihjb3VudCh0MCQxLCB0MSQxKSk7
CisgICAgfTsKKworICAgIGludGVydmFsLmV2ZXJ5ID0gZnVuY3Rpb24oc3RlcCkgeworICAgICAg
c3RlcCA9IE1hdGguZmxvb3Ioc3RlcCk7CisgICAgICByZXR1cm4gIWlzRmluaXRlKHN0ZXApIHx8
ICEoc3RlcCA+IDApID8gbnVsbAorICAgICAgICAgIDogIShzdGVwID4gMSkgPyBpbnRlcnZhbAor
ICAgICAgICAgIDogaW50ZXJ2YWwuZmlsdGVyKGZpZWxkCisgICAgICAgICAgICAgID8gZnVuY3Rp
b24oZCkgeyByZXR1cm4gZmllbGQoZCkgJSBzdGVwID09PSAwOyB9CisgICAgICAgICAgICAgIDog
ZnVuY3Rpb24oZCkgeyByZXR1cm4gaW50ZXJ2YWwuY291bnQoMCwgZCkgJSBzdGVwID09PSAwOyB9
KTsKKyAgICB9OworICB9CisKKyAgcmV0dXJuIGludGVydmFsOworfQorCit2YXIgbWlsbGlzZWNv
bmQgPSBuZXdJbnRlcnZhbChmdW5jdGlvbigpIHsKKyAgLy8gbm9vcAorfSwgZnVuY3Rpb24oZGF0
ZSwgc3RlcCkgeworICBkYXRlLnNldFRpbWUoK2RhdGUgKyBzdGVwKTsKK30sIGZ1bmN0aW9uKHN0
YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIGVuZCAtIHN0YXJ0OworfSk7CisKKy8vIEFuIG9wdGltaXpl
ZCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhpcyBzaW1wbGUgY2FzZS4KK21pbGxpc2Vjb25kLmV2ZXJ5
ID0gZnVuY3Rpb24oaykgeworICBrID0gTWF0aC5mbG9vcihrKTsKKyAgaWYgKCFpc0Zpbml0ZShr
KSB8fCAhKGsgPiAwKSkgcmV0dXJuIG51bGw7CisgIGlmICghKGsgPiAxKSkgcmV0dXJuIG1pbGxp
c2Vjb25kOworICByZXR1cm4gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICAgIGRhdGUu
c2V0VGltZShNYXRoLmZsb29yKGRhdGUgLyBrKSAqIGspOworICB9LCBmdW5jdGlvbihkYXRlLCBz
dGVwKSB7CisgICAgZGF0ZS5zZXRUaW1lKCtkYXRlICsgc3RlcCAqIGspOworICB9LCBmdW5jdGlv
bihzdGFydCwgZW5kKSB7CisgICAgcmV0dXJuIChlbmQgLSBzdGFydCkgLyBrOworICB9KTsKK307
Cit2YXIgbWlsbGlzZWNvbmRzID0gbWlsbGlzZWNvbmQucmFuZ2U7CisKK3ZhciBkdXJhdGlvblNl
Y29uZCA9IDFlMzsKK3ZhciBkdXJhdGlvbk1pbnV0ZSA9IDZlNDsKK3ZhciBkdXJhdGlvbkhvdXIg
PSAzNmU1OwordmFyIGR1cmF0aW9uRGF5ID0gODY0ZTU7Cit2YXIgZHVyYXRpb25XZWVrID0gNjA0
OGU1OworCit2YXIgc2Vjb25kID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRl
LnNldFRpbWUoZGF0ZSAtIGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCkpOworfSwgZnVuY3Rpb24oZGF0
ZSwgc3RlcCkgeworICBkYXRlLnNldFRpbWUoK2RhdGUgKyBzdGVwICogZHVyYXRpb25TZWNvbmQp
OworfSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICByZXR1cm4gKGVuZCAtIHN0YXJ0KSAvIGR1
cmF0aW9uU2Vjb25kOworfSwgZnVuY3Rpb24oZGF0ZSkgeworICByZXR1cm4gZGF0ZS5nZXRVVENT
ZWNvbmRzKCk7Cit9KTsKK3ZhciBzZWNvbmRzID0gc2Vjb25kLnJhbmdlOworCit2YXIgbWludXRl
ID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRlLnNldFRpbWUoZGF0ZSAtIGRh
dGUuZ2V0TWlsbGlzZWNvbmRzKCkgLSBkYXRlLmdldFNlY29uZHMoKSAqIGR1cmF0aW9uU2Vjb25k
KTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRUaW1lKCtkYXRlICsgc3Rl
cCAqIGR1cmF0aW9uTWludXRlKTsKK30sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAgcmV0dXJu
IChlbmQgLSBzdGFydCkgLyBkdXJhdGlvbk1pbnV0ZTsKK30sIGZ1bmN0aW9uKGRhdGUpIHsKKyAg
cmV0dXJuIGRhdGUuZ2V0TWludXRlcygpOworfSk7Cit2YXIgbWludXRlcyA9IG1pbnV0ZS5yYW5n
ZTsKKwordmFyIGhvdXIgPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgIGRhdGUuc2V0
VGltZShkYXRlIC0gZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSAtIGRhdGUuZ2V0U2Vjb25kcygpICog
ZHVyYXRpb25TZWNvbmQgLSBkYXRlLmdldE1pbnV0ZXMoKSAqIGR1cmF0aW9uTWludXRlKTsKK30s
IGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRUaW1lKCtkYXRlICsgc3RlcCAqIGR1
cmF0aW9uSG91cik7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVybiAoZW5kIC0g
c3RhcnQpIC8gZHVyYXRpb25Ib3VyOworfSwgZnVuY3Rpb24oZGF0ZSkgeworICByZXR1cm4gZGF0
ZS5nZXRIb3VycygpOworfSk7Cit2YXIgaG91cnMgPSBob3VyLnJhbmdlOworCit2YXIgZGF5ID0g
bmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRlLnNldEhvdXJzKDAsIDAsIDAsIDAp
OworfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRl
KCkgKyBzdGVwKTsKK30sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIChlbmQgLSBz
dGFydCAtIChlbmQuZ2V0VGltZXpvbmVPZmZzZXQoKSAtIHN0YXJ0LmdldFRpbWV6b25lT2Zmc2V0
KCkpICogZHVyYXRpb25NaW51dGUpIC8gZHVyYXRpb25EYXk7Cit9LCBmdW5jdGlvbihkYXRlKSB7
CisgIHJldHVybiBkYXRlLmdldERhdGUoKSAtIDE7Cit9KTsKK3ZhciBkYXlzID0gZGF5LnJhbmdl
OworCitmdW5jdGlvbiB3ZWVrZGF5KGkpIHsKKyAgcmV0dXJuIG5ld0ludGVydmFsKGZ1bmN0aW9u
KGRhdGUpIHsKKyAgICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgLSAoZGF0ZS5nZXREYXko
KSArIDcgLSBpKSAlIDcpOworICAgIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7CisgIH0sIGZ1
bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyBz
dGVwICogNyk7CisgIH0sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAgICByZXR1cm4gKGVuZCAt
IHN0YXJ0IC0gKGVuZC5nZXRUaW1lem9uZU9mZnNldCgpIC0gc3RhcnQuZ2V0VGltZXpvbmVPZmZz
ZXQoKSkgKiBkdXJhdGlvbk1pbnV0ZSkgLyBkdXJhdGlvbldlZWs7CisgIH0pOworfQorCit2YXIg
c3VuZGF5ID0gd2Vla2RheSgwKTsKK3ZhciBtb25kYXkgPSB3ZWVrZGF5KDEpOwordmFyIHR1ZXNk
YXkgPSB3ZWVrZGF5KDIpOwordmFyIHdlZG5lc2RheSA9IHdlZWtkYXkoMyk7Cit2YXIgdGh1cnNk
YXkgPSB3ZWVrZGF5KDQpOwordmFyIGZyaWRheSA9IHdlZWtkYXkoNSk7Cit2YXIgc2F0dXJkYXkg
PSB3ZWVrZGF5KDYpOworCit2YXIgc3VuZGF5cyA9IHN1bmRheS5yYW5nZTsKK3ZhciBtb25kYXlz
ID0gbW9uZGF5LnJhbmdlOwordmFyIHR1ZXNkYXlzID0gdHVlc2RheS5yYW5nZTsKK3ZhciB3ZWRu
ZXNkYXlzID0gd2VkbmVzZGF5LnJhbmdlOwordmFyIHRodXJzZGF5cyA9IHRodXJzZGF5LnJhbmdl
OwordmFyIGZyaWRheXMgPSBmcmlkYXkucmFuZ2U7Cit2YXIgc2F0dXJkYXlzID0gc2F0dXJkYXku
cmFuZ2U7CisKK3ZhciBtb250aCA9IG5ld0ludGVydmFsKGZ1bmN0aW9uKGRhdGUpIHsKKyAgZGF0
ZS5zZXREYXRlKDEpOworICBkYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApOworfSwgZnVuY3Rpb24o
ZGF0ZSwgc3RlcCkgeworICBkYXRlLnNldE1vbnRoKGRhdGUuZ2V0TW9udGgoKSArIHN0ZXApOwor
fSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICByZXR1cm4gZW5kLmdldE1vbnRoKCkgLSBzdGFy
dC5nZXRNb250aCgpICsgKGVuZC5nZXRGdWxsWWVhcigpIC0gc3RhcnQuZ2V0RnVsbFllYXIoKSkg
KiAxMjsKK30sIGZ1bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0TW9udGgoKTsKK30p
OwordmFyIG1vbnRocyA9IG1vbnRoLnJhbmdlOworCit2YXIgeWVhciA9IG5ld0ludGVydmFsKGZ1
bmN0aW9uKGRhdGUpIHsKKyAgZGF0ZS5zZXRNb250aCgwLCAxKTsKKyAgZGF0ZS5zZXRIb3Vycygw
LCAwLCAwLCAwKTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRGdWxsWWVh
cihkYXRlLmdldEZ1bGxZZWFyKCkgKyBzdGVwKTsKK30sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsK
KyAgcmV0dXJuIGVuZC5nZXRGdWxsWWVhcigpIC0gc3RhcnQuZ2V0RnVsbFllYXIoKTsKK30sIGZ1
bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0RnVsbFllYXIoKTsKK30pOworCisvLyBB
biBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb24gZm9yIHRoaXMgc2ltcGxlIGNhc2UuCit5ZWFyLmV2
ZXJ5ID0gZnVuY3Rpb24oaykgeworICByZXR1cm4gIWlzRmluaXRlKGsgPSBNYXRoLmZsb29yKGsp
KSB8fCAhKGsgPiAwKSA/IG51bGwgOiBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgICAg
ZGF0ZS5zZXRGdWxsWWVhcihNYXRoLmZsb29yKGRhdGUuZ2V0RnVsbFllYXIoKSAvIGspICogayk7
CisgICAgZGF0ZS5zZXRNb250aCgwLCAxKTsKKyAgICBkYXRlLnNldEhvdXJzKDAsIDAsIDAsIDAp
OworICB9LCBmdW5jdGlvbihkYXRlLCBzdGVwKSB7CisgICAgZGF0ZS5zZXRGdWxsWWVhcihkYXRl
LmdldEZ1bGxZZWFyKCkgKyBzdGVwICogayk7CisgIH0pOworfTsKK3ZhciB5ZWFycyA9IHllYXIu
cmFuZ2U7CisKK3ZhciB1dGNNaW51dGUgPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7Cisg
IGRhdGUuc2V0VVRDU2Vjb25kcygwLCAwKTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAg
ZGF0ZS5zZXRUaW1lKCtkYXRlICsgc3RlcCAqIGR1cmF0aW9uTWludXRlKTsKK30sIGZ1bmN0aW9u
KHN0YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIChlbmQgLSBzdGFydCkgLyBkdXJhdGlvbk1pbnV0ZTsK
K30sIGZ1bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0VVRDTWludXRlcygpOworfSk7
Cit2YXIgdXRjTWludXRlcyA9IHV0Y01pbnV0ZS5yYW5nZTsKKwordmFyIHV0Y0hvdXIgPSBuZXdJ
bnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgIGRhdGUuc2V0VVRDTWludXRlcygwLCAwLCAwKTsK
K30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRUaW1lKCtkYXRlICsgc3RlcCAq
IGR1cmF0aW9uSG91cik7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVybiAoZW5k
IC0gc3RhcnQpIC8gZHVyYXRpb25Ib3VyOworfSwgZnVuY3Rpb24oZGF0ZSkgeworICByZXR1cm4g
ZGF0ZS5nZXRVVENIb3VycygpOworfSk7Cit2YXIgdXRjSG91cnMgPSB1dGNIb3VyLnJhbmdlOwor
Cit2YXIgdXRjRGF5ID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRlLnNldFVU
Q0hvdXJzKDAsIDAsIDAsIDApOworfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICBkYXRlLnNl
dFVUQ0RhdGUoZGF0ZS5nZXRVVENEYXRlKCkgKyBzdGVwKTsKK30sIGZ1bmN0aW9uKHN0YXJ0LCBl
bmQpIHsKKyAgcmV0dXJuIChlbmQgLSBzdGFydCkgLyBkdXJhdGlvbkRheTsKK30sIGZ1bmN0aW9u
KGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0VVRDRGF0ZSgpIC0gMTsKK30pOwordmFyIHV0Y0Rh
eXMgPSB1dGNEYXkucmFuZ2U7CisKK2Z1bmN0aW9uIHV0Y1dlZWtkYXkoaSkgeworICByZXR1cm4g
bmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICAgIGRhdGUuc2V0VVRDRGF0ZShkYXRlLmdl
dFVUQ0RhdGUoKSAtIChkYXRlLmdldFVUQ0RheSgpICsgNyAtIGkpICUgNyk7CisgICAgZGF0ZS5z
ZXRVVENIb3VycygwLCAwLCAwLCAwKTsKKyAgfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICAg
IGRhdGUuc2V0VVRDRGF0ZShkYXRlLmdldFVUQ0RhdGUoKSArIHN0ZXAgKiA3KTsKKyAgfSwgZnVu
Y3Rpb24oc3RhcnQsIGVuZCkgeworICAgIHJldHVybiAoZW5kIC0gc3RhcnQpIC8gZHVyYXRpb25X
ZWVrOworICB9KTsKK30KKwordmFyIHV0Y1N1bmRheSA9IHV0Y1dlZWtkYXkoMCk7Cit2YXIgdXRj
TW9uZGF5ID0gdXRjV2Vla2RheSgxKTsKK3ZhciB1dGNUdWVzZGF5ID0gdXRjV2Vla2RheSgyKTsK
K3ZhciB1dGNXZWRuZXNkYXkgPSB1dGNXZWVrZGF5KDMpOwordmFyIHV0Y1RodXJzZGF5ID0gdXRj
V2Vla2RheSg0KTsKK3ZhciB1dGNGcmlkYXkgPSB1dGNXZWVrZGF5KDUpOwordmFyIHV0Y1NhdHVy
ZGF5ID0gdXRjV2Vla2RheSg2KTsKKwordmFyIHV0Y1N1bmRheXMgPSB1dGNTdW5kYXkucmFuZ2U7
Cit2YXIgdXRjTW9uZGF5cyA9IHV0Y01vbmRheS5yYW5nZTsKK3ZhciB1dGNUdWVzZGF5cyA9IHV0
Y1R1ZXNkYXkucmFuZ2U7Cit2YXIgdXRjV2VkbmVzZGF5cyA9IHV0Y1dlZG5lc2RheS5yYW5nZTsK
K3ZhciB1dGNUaHVyc2RheXMgPSB1dGNUaHVyc2RheS5yYW5nZTsKK3ZhciB1dGNGcmlkYXlzID0g
dXRjRnJpZGF5LnJhbmdlOwordmFyIHV0Y1NhdHVyZGF5cyA9IHV0Y1NhdHVyZGF5LnJhbmdlOwor
Cit2YXIgdXRjTW9udGggPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgIGRhdGUuc2V0
VVRDRGF0ZSgxKTsKKyAgZGF0ZS5zZXRVVENIb3VycygwLCAwLCAwLCAwKTsKK30sIGZ1bmN0aW9u
KGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRVVENNb250aChkYXRlLmdldFVUQ01vbnRoKCkgKyBz
dGVwKTsKK30sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIGVuZC5nZXRVVENNb250
aCgpIC0gc3RhcnQuZ2V0VVRDTW9udGgoKSArIChlbmQuZ2V0VVRDRnVsbFllYXIoKSAtIHN0YXJ0
LmdldFVUQ0Z1bGxZZWFyKCkpICogMTI7Cit9LCBmdW5jdGlvbihkYXRlKSB7CisgIHJldHVybiBk
YXRlLmdldFVUQ01vbnRoKCk7Cit9KTsKK3ZhciB1dGNNb250aHMgPSB1dGNNb250aC5yYW5nZTsK
KwordmFyIHV0Y1llYXIgPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgIGRhdGUuc2V0
VVRDTW9udGgoMCwgMSk7CisgIGRhdGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7Cit9LCBmdW5j
dGlvbihkYXRlLCBzdGVwKSB7CisgIGRhdGUuc2V0VVRDRnVsbFllYXIoZGF0ZS5nZXRVVENGdWxs
WWVhcigpICsgc3RlcCk7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVybiBlbmQu
Z2V0VVRDRnVsbFllYXIoKSAtIHN0YXJ0LmdldFVUQ0Z1bGxZZWFyKCk7Cit9LCBmdW5jdGlvbihk
YXRlKSB7CisgIHJldHVybiBkYXRlLmdldFVUQ0Z1bGxZZWFyKCk7Cit9KTsKKworLy8gQW4gb3B0
aW1pemVkIGltcGxlbWVudGF0aW9uIGZvciB0aGlzIHNpbXBsZSBjYXNlLgordXRjWWVhci5ldmVy
eSA9IGZ1bmN0aW9uKGspIHsKKyAgcmV0dXJuICFpc0Zpbml0ZShrID0gTWF0aC5mbG9vcihrKSkg
fHwgIShrID4gMCkgPyBudWxsIDogbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICAgIGRh
dGUuc2V0VVRDRnVsbFllYXIoTWF0aC5mbG9vcihkYXRlLmdldFVUQ0Z1bGxZZWFyKCkgLyBrKSAq
IGspOworICAgIGRhdGUuc2V0VVRDTW9udGgoMCwgMSk7CisgICAgZGF0ZS5zZXRVVENIb3Vycygw
LCAwLCAwLCAwKTsKKyAgfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICAgIGRhdGUuc2V0VVRD
RnVsbFllYXIoZGF0ZS5nZXRVVENGdWxsWWVhcigpICsgc3RlcCAqIGspOworICB9KTsKK307Cit2
YXIgdXRjWWVhcnMgPSB1dGNZZWFyLnJhbmdlOworCitmdW5jdGlvbiBsb2NhbERhdGUoZCkgewor
ICBpZiAoMCA8PSBkLnkgJiYgZC55IDwgMTAwKSB7CisgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSgt
MSwgZC5tLCBkLmQsIGQuSCwgZC5NLCBkLlMsIGQuTCk7CisgICAgZGF0ZS5zZXRGdWxsWWVhcihk
LnkpOworICAgIHJldHVybiBkYXRlOworICB9CisgIHJldHVybiBuZXcgRGF0ZShkLnksIGQubSwg
ZC5kLCBkLkgsIGQuTSwgZC5TLCBkLkwpOworfQorCitmdW5jdGlvbiB1dGNEYXRlKGQpIHsKKyAg
aWYgKDAgPD0gZC55ICYmIGQueSA8IDEwMCkgeworICAgIHZhciBkYXRlID0gbmV3IERhdGUoRGF0
ZS5VVEMoLTEsIGQubSwgZC5kLCBkLkgsIGQuTSwgZC5TLCBkLkwpKTsKKyAgICBkYXRlLnNldFVU
Q0Z1bGxZZWFyKGQueSk7CisgICAgcmV0dXJuIGRhdGU7CisgIH0KKyAgcmV0dXJuIG5ldyBEYXRl
KERhdGUuVVRDKGQueSwgZC5tLCBkLmQsIGQuSCwgZC5NLCBkLlMsIGQuTCkpOworfQorCitmdW5j
dGlvbiBuZXdEYXRlKHksIG0sIGQpIHsKKyAgcmV0dXJuIHt5OiB5LCBtOiBtLCBkOiBkLCBIOiAw
LCBNOiAwLCBTOiAwLCBMOiAwfTsKK30KKworZnVuY3Rpb24gZm9ybWF0TG9jYWxlJDEobG9jYWxl
KSB7CisgIHZhciBsb2NhbGVfZGF0ZVRpbWUgPSBsb2NhbGUuZGF0ZVRpbWUsCisgICAgICBsb2Nh
bGVfZGF0ZSA9IGxvY2FsZS5kYXRlLAorICAgICAgbG9jYWxlX3RpbWUgPSBsb2NhbGUudGltZSwK
KyAgICAgIGxvY2FsZV9wZXJpb2RzID0gbG9jYWxlLnBlcmlvZHMsCisgICAgICBsb2NhbGVfd2Vl
a2RheXMgPSBsb2NhbGUuZGF5cywKKyAgICAgIGxvY2FsZV9zaG9ydFdlZWtkYXlzID0gbG9jYWxl
LnNob3J0RGF5cywKKyAgICAgIGxvY2FsZV9tb250aHMgPSBsb2NhbGUubW9udGhzLAorICAgICAg
bG9jYWxlX3Nob3J0TW9udGhzID0gbG9jYWxlLnNob3J0TW9udGhzOworCisgIHZhciBwZXJpb2RS
ZSA9IGZvcm1hdFJlKGxvY2FsZV9wZXJpb2RzKSwKKyAgICAgIHBlcmlvZExvb2t1cCA9IGZvcm1h
dExvb2t1cChsb2NhbGVfcGVyaW9kcyksCisgICAgICB3ZWVrZGF5UmUgPSBmb3JtYXRSZShsb2Nh
bGVfd2Vla2RheXMpLAorICAgICAgd2Vla2RheUxvb2t1cCA9IGZvcm1hdExvb2t1cChsb2NhbGVf
d2Vla2RheXMpLAorICAgICAgc2hvcnRXZWVrZGF5UmUgPSBmb3JtYXRSZShsb2NhbGVfc2hvcnRX
ZWVrZGF5cyksCisgICAgICBzaG9ydFdlZWtkYXlMb29rdXAgPSBmb3JtYXRMb29rdXAobG9jYWxl
X3Nob3J0V2Vla2RheXMpLAorICAgICAgbW9udGhSZSA9IGZvcm1hdFJlKGxvY2FsZV9tb250aHMp
LAorICAgICAgbW9udGhMb29rdXAgPSBmb3JtYXRMb29rdXAobG9jYWxlX21vbnRocyksCisgICAg
ICBzaG9ydE1vbnRoUmUgPSBmb3JtYXRSZShsb2NhbGVfc2hvcnRNb250aHMpLAorICAgICAgc2hv
cnRNb250aExvb2t1cCA9IGZvcm1hdExvb2t1cChsb2NhbGVfc2hvcnRNb250aHMpOworCisgIHZh
ciBmb3JtYXRzID0geworICAgICJhIjogZm9ybWF0U2hvcnRXZWVrZGF5LAorICAgICJBIjogZm9y
bWF0V2Vla2RheSwKKyAgICAiYiI6IGZvcm1hdFNob3J0TW9udGgsCisgICAgIkIiOiBmb3JtYXRN
b250aCwKKyAgICAiYyI6IG51bGwsCisgICAgImQiOiBmb3JtYXREYXlPZk1vbnRoLAorICAgICJl
IjogZm9ybWF0RGF5T2ZNb250aCwKKyAgICAiZiI6IGZvcm1hdE1pY3Jvc2Vjb25kcywKKyAgICAi
SCI6IGZvcm1hdEhvdXIyNCwKKyAgICAiSSI6IGZvcm1hdEhvdXIxMiwKKyAgICAiaiI6IGZvcm1h
dERheU9mWWVhciwKKyAgICAiTCI6IGZvcm1hdE1pbGxpc2Vjb25kcywKKyAgICAibSI6IGZvcm1h
dE1vbnRoTnVtYmVyLAorICAgICJNIjogZm9ybWF0TWludXRlcywKKyAgICAicCI6IGZvcm1hdFBl
cmlvZCwKKyAgICAicSI6IGZvcm1hdFF1YXJ0ZXIsCisgICAgIlEiOiBmb3JtYXRVbml4VGltZXN0
YW1wLAorICAgICJzIjogZm9ybWF0VW5peFRpbWVzdGFtcFNlY29uZHMsCisgICAgIlMiOiBmb3Jt
YXRTZWNvbmRzLAorICAgICJ1IjogZm9ybWF0V2Vla2RheU51bWJlck1vbmRheSwKKyAgICAiVSI6
IGZvcm1hdFdlZWtOdW1iZXJTdW5kYXksCisgICAgIlYiOiBmb3JtYXRXZWVrTnVtYmVySVNPLAor
ICAgICJ3IjogZm9ybWF0V2Vla2RheU51bWJlclN1bmRheSwKKyAgICAiVyI6IGZvcm1hdFdlZWtO
dW1iZXJNb25kYXksCisgICAgIngiOiBudWxsLAorICAgICJYIjogbnVsbCwKKyAgICAieSI6IGZv
cm1hdFllYXIkMSwKKyAgICAiWSI6IGZvcm1hdEZ1bGxZZWFyLAorICAgICJaIjogZm9ybWF0Wm9u
ZSwKKyAgICAiJSI6IGZvcm1hdExpdGVyYWxQZXJjZW50CisgIH07CisKKyAgdmFyIHV0Y0Zvcm1h
dHMgPSB7CisgICAgImEiOiBmb3JtYXRVVENTaG9ydFdlZWtkYXksCisgICAgIkEiOiBmb3JtYXRV
VENXZWVrZGF5LAorICAgICJiIjogZm9ybWF0VVRDU2hvcnRNb250aCwKKyAgICAiQiI6IGZvcm1h
dFVUQ01vbnRoLAorICAgICJjIjogbnVsbCwKKyAgICAiZCI6IGZvcm1hdFVUQ0RheU9mTW9udGgs
CisgICAgImUiOiBmb3JtYXRVVENEYXlPZk1vbnRoLAorICAgICJmIjogZm9ybWF0VVRDTWljcm9z
ZWNvbmRzLAorICAgICJIIjogZm9ybWF0VVRDSG91cjI0LAorICAgICJJIjogZm9ybWF0VVRDSG91
cjEyLAorICAgICJqIjogZm9ybWF0VVRDRGF5T2ZZZWFyLAorICAgICJMIjogZm9ybWF0VVRDTWls
bGlzZWNvbmRzLAorICAgICJtIjogZm9ybWF0VVRDTW9udGhOdW1iZXIsCisgICAgIk0iOiBmb3Jt
YXRVVENNaW51dGVzLAorICAgICJwIjogZm9ybWF0VVRDUGVyaW9kLAorICAgICJxIjogZm9ybWF0
VVRDUXVhcnRlciwKKyAgICAiUSI6IGZvcm1hdFVuaXhUaW1lc3RhbXAsCisgICAgInMiOiBmb3Jt
YXRVbml4VGltZXN0YW1wU2Vjb25kcywKKyAgICAiUyI6IGZvcm1hdFVUQ1NlY29uZHMsCisgICAg
InUiOiBmb3JtYXRVVENXZWVrZGF5TnVtYmVyTW9uZGF5LAorICAgICJVIjogZm9ybWF0VVRDV2Vl
a051bWJlclN1bmRheSwKKyAgICAiViI6IGZvcm1hdFVUQ1dlZWtOdW1iZXJJU08sCisgICAgInci
OiBmb3JtYXRVVENXZWVrZGF5TnVtYmVyU3VuZGF5LAorICAgICJXIjogZm9ybWF0VVRDV2Vla051
bWJlck1vbmRheSwKKyAgICAieCI6IG51bGwsCisgICAgIlgiOiBudWxsLAorICAgICJ5IjogZm9y
bWF0VVRDWWVhciwKKyAgICAiWSI6IGZvcm1hdFVUQ0Z1bGxZZWFyLAorICAgICJaIjogZm9ybWF0
VVRDWm9uZSwKKyAgICAiJSI6IGZvcm1hdExpdGVyYWxQZXJjZW50CisgIH07CisKKyAgdmFyIHBh
cnNlcyA9IHsKKyAgICAiYSI6IHBhcnNlU2hvcnRXZWVrZGF5LAorICAgICJBIjogcGFyc2VXZWVr
ZGF5LAorICAgICJiIjogcGFyc2VTaG9ydE1vbnRoLAorICAgICJCIjogcGFyc2VNb250aCwKKyAg
ICAiYyI6IHBhcnNlTG9jYWxlRGF0ZVRpbWUsCisgICAgImQiOiBwYXJzZURheU9mTW9udGgsCisg
ICAgImUiOiBwYXJzZURheU9mTW9udGgsCisgICAgImYiOiBwYXJzZU1pY3Jvc2Vjb25kcywKKyAg
ICAiSCI6IHBhcnNlSG91cjI0LAorICAgICJJIjogcGFyc2VIb3VyMjQsCisgICAgImoiOiBwYXJz
ZURheU9mWWVhciwKKyAgICAiTCI6IHBhcnNlTWlsbGlzZWNvbmRzLAorICAgICJtIjogcGFyc2VN
b250aE51bWJlciwKKyAgICAiTSI6IHBhcnNlTWludXRlcywKKyAgICAicCI6IHBhcnNlUGVyaW9k
LAorICAgICJxIjogcGFyc2VRdWFydGVyLAorICAgICJRIjogcGFyc2VVbml4VGltZXN0YW1wLAor
ICAgICJzIjogcGFyc2VVbml4VGltZXN0YW1wU2Vjb25kcywKKyAgICAiUyI6IHBhcnNlU2Vjb25k
cywKKyAgICAidSI6IHBhcnNlV2Vla2RheU51bWJlck1vbmRheSwKKyAgICAiVSI6IHBhcnNlV2Vl
a051bWJlclN1bmRheSwKKyAgICAiViI6IHBhcnNlV2Vla051bWJlcklTTywKKyAgICAidyI6IHBh
cnNlV2Vla2RheU51bWJlclN1bmRheSwKKyAgICAiVyI6IHBhcnNlV2Vla051bWJlck1vbmRheSwK
KyAgICAieCI6IHBhcnNlTG9jYWxlRGF0ZSwKKyAgICAiWCI6IHBhcnNlTG9jYWxlVGltZSwKKyAg
ICAieSI6IHBhcnNlWWVhciwKKyAgICAiWSI6IHBhcnNlRnVsbFllYXIsCisgICAgIloiOiBwYXJz
ZVpvbmUsCisgICAgIiUiOiBwYXJzZUxpdGVyYWxQZXJjZW50CisgIH07CisKKyAgLy8gVGhlc2Ug
cmVjdXJzaXZlIGRpcmVjdGl2ZSBkZWZpbml0aW9ucyBtdXN0IGJlIGRlZmVycmVkLgorICBmb3Jt
YXRzLnggPSBuZXdGb3JtYXQobG9jYWxlX2RhdGUsIGZvcm1hdHMpOworICBmb3JtYXRzLlggPSBu
ZXdGb3JtYXQobG9jYWxlX3RpbWUsIGZvcm1hdHMpOworICBmb3JtYXRzLmMgPSBuZXdGb3JtYXQo
bG9jYWxlX2RhdGVUaW1lLCBmb3JtYXRzKTsKKyAgdXRjRm9ybWF0cy54ID0gbmV3Rm9ybWF0KGxv
Y2FsZV9kYXRlLCB1dGNGb3JtYXRzKTsKKyAgdXRjRm9ybWF0cy5YID0gbmV3Rm9ybWF0KGxvY2Fs
ZV90aW1lLCB1dGNGb3JtYXRzKTsKKyAgdXRjRm9ybWF0cy5jID0gbmV3Rm9ybWF0KGxvY2FsZV9k
YXRlVGltZSwgdXRjRm9ybWF0cyk7CisKKyAgZnVuY3Rpb24gbmV3Rm9ybWF0KHNwZWNpZmllciwg
Zm9ybWF0cykgeworICAgIHJldHVybiBmdW5jdGlvbihkYXRlKSB7CisgICAgICB2YXIgc3RyaW5n
ID0gW10sCisgICAgICAgICAgaSA9IC0xLAorICAgICAgICAgIGogPSAwLAorICAgICAgICAgIG4g
PSBzcGVjaWZpZXIubGVuZ3RoLAorICAgICAgICAgIGMsCisgICAgICAgICAgcGFkLAorICAgICAg
ICAgIGZvcm1hdDsKKworICAgICAgaWYgKCEoZGF0ZSBpbnN0YW5jZW9mIERhdGUpKSBkYXRlID0g
bmV3IERhdGUoK2RhdGUpOworCisgICAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgICBpZiAo
c3BlY2lmaWVyLmNoYXJDb2RlQXQoaSkgPT09IDM3KSB7CisgICAgICAgICAgc3RyaW5nLnB1c2go
c3BlY2lmaWVyLnNsaWNlKGosIGkpKTsKKyAgICAgICAgICBpZiAoKHBhZCA9IHBhZHNbYyA9IHNw
ZWNpZmllci5jaGFyQXQoKytpKV0pICE9IG51bGwpIGMgPSBzcGVjaWZpZXIuY2hhckF0KCsraSk7
CisgICAgICAgICAgZWxzZSBwYWQgPSBjID09PSAiZSIgPyAiICIgOiAiMCI7CisgICAgICAgICAg
aWYgKGZvcm1hdCA9IGZvcm1hdHNbY10pIGMgPSBmb3JtYXQoZGF0ZSwgcGFkKTsKKyAgICAgICAg
ICBzdHJpbmcucHVzaChjKTsKKyAgICAgICAgICBqID0gaSArIDE7CisgICAgICAgIH0KKyAgICAg
IH0KKworICAgICAgc3RyaW5nLnB1c2goc3BlY2lmaWVyLnNsaWNlKGosIGkpKTsKKyAgICAgIHJl
dHVybiBzdHJpbmcuam9pbigiIik7CisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIG5ld1BhcnNl
KHNwZWNpZmllciwgWikgeworICAgIHJldHVybiBmdW5jdGlvbihzdHJpbmcpIHsKKyAgICAgIHZh
ciBkID0gbmV3RGF0ZSgxOTAwLCB1bmRlZmluZWQsIDEpLAorICAgICAgICAgIGkgPSBwYXJzZVNw
ZWNpZmllcihkLCBzcGVjaWZpZXIsIHN0cmluZyArPSAiIiwgMCksCisgICAgICAgICAgd2Vlaywg
ZGF5JDE7CisgICAgICBpZiAoaSAhPSBzdHJpbmcubGVuZ3RoKSByZXR1cm4gbnVsbDsKKworICAg
ICAgLy8gSWYgYSBVTklYIHRpbWVzdGFtcCBpcyBzcGVjaWZpZWQsIHJldHVybiBpdC4KKyAgICAg
IGlmICgiUSIgaW4gZCkgcmV0dXJuIG5ldyBEYXRlKGQuUSk7CisgICAgICBpZiAoInMiIGluIGQp
IHJldHVybiBuZXcgRGF0ZShkLnMgKiAxMDAwICsgKCJMIiBpbiBkID8gZC5MIDogMCkpOworCisg
ICAgICAvLyBJZiB0aGlzIGlzIHV0Y1BhcnNlLCBuZXZlciB1c2UgdGhlIGxvY2FsIHRpbWV6b25l
LgorICAgICAgaWYgKFogJiYgISgiWiIgaW4gZCkpIGQuWiA9IDA7CisKKyAgICAgIC8vIFRoZSBh
bS1wbSBmbGFnIGlzIDAgZm9yIEFNLCBhbmQgMSBmb3IgUE0uCisgICAgICBpZiAoInAiIGluIGQp
IGQuSCA9IGQuSCAlIDEyICsgZC5wICogMTI7CisKKyAgICAgIC8vIElmIHRoZSBtb250aCB3YXMg
bm90IHNwZWNpZmllZCwgaW5oZXJpdCBmcm9tIHRoZSBxdWFydGVyLgorICAgICAgaWYgKGQubSA9
PT0gdW5kZWZpbmVkKSBkLm0gPSAicSIgaW4gZCA/IGQucSA6IDA7CisKKyAgICAgIC8vIENvbnZl
cnQgZGF5LW9mLXdlZWsgYW5kIHdlZWstb2YteWVhciB0byBkYXktb2YteWVhci4KKyAgICAgIGlm
ICgiViIgaW4gZCkgeworICAgICAgICBpZiAoZC5WIDwgMSB8fCBkLlYgPiA1MykgcmV0dXJuIG51
bGw7CisgICAgICAgIGlmICghKCJ3IiBpbiBkKSkgZC53ID0gMTsKKyAgICAgICAgaWYgKCJaIiBp
biBkKSB7CisgICAgICAgICAgd2VlayA9IHV0Y0RhdGUobmV3RGF0ZShkLnksIDAsIDEpKSwgZGF5
JDEgPSB3ZWVrLmdldFVUQ0RheSgpOworICAgICAgICAgIHdlZWsgPSBkYXkkMSA+IDQgfHwgZGF5
JDEgPT09IDAgPyB1dGNNb25kYXkuY2VpbCh3ZWVrKSA6IHV0Y01vbmRheSh3ZWVrKTsKKyAgICAg
ICAgICB3ZWVrID0gdXRjRGF5Lm9mZnNldCh3ZWVrLCAoZC5WIC0gMSkgKiA3KTsKKyAgICAgICAg
ICBkLnkgPSB3ZWVrLmdldFVUQ0Z1bGxZZWFyKCk7CisgICAgICAgICAgZC5tID0gd2Vlay5nZXRV
VENNb250aCgpOworICAgICAgICAgIGQuZCA9IHdlZWsuZ2V0VVRDRGF0ZSgpICsgKGQudyArIDYp
ICUgNzsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICB3ZWVrID0gbG9jYWxEYXRlKG5ld0Rh
dGUoZC55LCAwLCAxKSksIGRheSQxID0gd2Vlay5nZXREYXkoKTsKKyAgICAgICAgICB3ZWVrID0g
ZGF5JDEgPiA0IHx8IGRheSQxID09PSAwID8gbW9uZGF5LmNlaWwod2VlaykgOiBtb25kYXkod2Vl
ayk7CisgICAgICAgICAgd2VlayA9IGRheS5vZmZzZXQod2VlaywgKGQuViAtIDEpICogNyk7Cisg
ICAgICAgICAgZC55ID0gd2Vlay5nZXRGdWxsWWVhcigpOworICAgICAgICAgIGQubSA9IHdlZWsu
Z2V0TW9udGgoKTsKKyAgICAgICAgICBkLmQgPSB3ZWVrLmdldERhdGUoKSArIChkLncgKyA2KSAl
IDc7CisgICAgICAgIH0KKyAgICAgIH0gZWxzZSBpZiAoIlciIGluIGQgfHwgIlUiIGluIGQpIHsK
KyAgICAgICAgaWYgKCEoInciIGluIGQpKSBkLncgPSAidSIgaW4gZCA/IGQudSAlIDcgOiAiVyIg
aW4gZCA/IDEgOiAwOworICAgICAgICBkYXkkMSA9ICJaIiBpbiBkID8gdXRjRGF0ZShuZXdEYXRl
KGQueSwgMCwgMSkpLmdldFVUQ0RheSgpIDogbG9jYWxEYXRlKG5ld0RhdGUoZC55LCAwLCAxKSku
Z2V0RGF5KCk7CisgICAgICAgIGQubSA9IDA7CisgICAgICAgIGQuZCA9ICJXIiBpbiBkID8gKGQu
dyArIDYpICUgNyArIGQuVyAqIDcgLSAoZGF5JDEgKyA1KSAlIDcgOiBkLncgKyBkLlUgKiA3IC0g
KGRheSQxICsgNikgJSA3OworICAgICAgfQorCisgICAgICAvLyBJZiBhIHRpbWUgem9uZSBpcyBz
cGVjaWZpZWQsIGFsbCBmaWVsZHMgYXJlIGludGVycHJldGVkIGFzIFVUQyBhbmQgdGhlbgorICAg
ICAgLy8gb2Zmc2V0IGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkIHRpbWUgem9uZS4KKyAgICAg
IGlmICgiWiIgaW4gZCkgeworICAgICAgICBkLkggKz0gZC5aIC8gMTAwIHwgMDsKKyAgICAgICAg
ZC5NICs9IGQuWiAlIDEwMDsKKyAgICAgICAgcmV0dXJuIHV0Y0RhdGUoZCk7CisgICAgICB9CisK
KyAgICAgIC8vIE90aGVyd2lzZSwgYWxsIGZpZWxkcyBhcmUgaW4gbG9jYWwgdGltZS4KKyAgICAg
IHJldHVybiBsb2NhbERhdGUoZCk7CisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIHBhcnNlU3Bl
Y2lmaWVyKGQsIHNwZWNpZmllciwgc3RyaW5nLCBqKSB7CisgICAgdmFyIGkgPSAwLAorICAgICAg
ICBuID0gc3BlY2lmaWVyLmxlbmd0aCwKKyAgICAgICAgbSA9IHN0cmluZy5sZW5ndGgsCisgICAg
ICAgIGMsCisgICAgICAgIHBhcnNlOworCisgICAgd2hpbGUgKGkgPCBuKSB7CisgICAgICBpZiAo
aiA+PSBtKSByZXR1cm4gLTE7CisgICAgICBjID0gc3BlY2lmaWVyLmNoYXJDb2RlQXQoaSsrKTsK
KyAgICAgIGlmIChjID09PSAzNykgeworICAgICAgICBjID0gc3BlY2lmaWVyLmNoYXJBdChpKysp
OworICAgICAgICBwYXJzZSA9IHBhcnNlc1tjIGluIHBhZHMgPyBzcGVjaWZpZXIuY2hhckF0KGkr
KykgOiBjXTsKKyAgICAgICAgaWYgKCFwYXJzZSB8fCAoKGogPSBwYXJzZShkLCBzdHJpbmcsIGop
KSA8IDApKSByZXR1cm4gLTE7CisgICAgICB9IGVsc2UgaWYgKGMgIT0gc3RyaW5nLmNoYXJDb2Rl
QXQoaisrKSkgeworICAgICAgICByZXR1cm4gLTE7CisgICAgICB9CisgICAgfQorCisgICAgcmV0
dXJuIGo7CisgIH0KKworICBmdW5jdGlvbiBwYXJzZVBlcmlvZChkLCBzdHJpbmcsIGkpIHsKKyAg
ICB2YXIgbiA9IHBlcmlvZFJlLmV4ZWMoc3RyaW5nLnNsaWNlKGkpKTsKKyAgICByZXR1cm4gbiA/
IChkLnAgPSBwZXJpb2RMb29rdXBbblswXS50b0xvd2VyQ2FzZSgpXSwgaSArIG5bMF0ubGVuZ3Ro
KSA6IC0xOworICB9CisKKyAgZnVuY3Rpb24gcGFyc2VTaG9ydFdlZWtkYXkoZCwgc3RyaW5nLCBp
KSB7CisgICAgdmFyIG4gPSBzaG9ydFdlZWtkYXlSZS5leGVjKHN0cmluZy5zbGljZShpKSk7Cisg
ICAgcmV0dXJuIG4gPyAoZC53ID0gc2hvcnRXZWVrZGF5TG9va3VwW25bMF0udG9Mb3dlckNhc2Uo
KV0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKKyAgfQorCisgIGZ1bmN0aW9uIHBhcnNlV2Vla2Rh
eShkLCBzdHJpbmcsIGkpIHsKKyAgICB2YXIgbiA9IHdlZWtkYXlSZS5leGVjKHN0cmluZy5zbGlj
ZShpKSk7CisgICAgcmV0dXJuIG4gPyAoZC53ID0gd2Vla2RheUxvb2t1cFtuWzBdLnRvTG93ZXJD
YXNlKCldLCBpICsgblswXS5sZW5ndGgpIDogLTE7CisgIH0KKworICBmdW5jdGlvbiBwYXJzZVNo
b3J0TW9udGgoZCwgc3RyaW5nLCBpKSB7CisgICAgdmFyIG4gPSBzaG9ydE1vbnRoUmUuZXhlYyhz
dHJpbmcuc2xpY2UoaSkpOworICAgIHJldHVybiBuID8gKGQubSA9IHNob3J0TW9udGhMb29rdXBb
blswXS50b0xvd2VyQ2FzZSgpXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworICB9CisKKyAgZnVu
Y3Rpb24gcGFyc2VNb250aChkLCBzdHJpbmcsIGkpIHsKKyAgICB2YXIgbiA9IG1vbnRoUmUuZXhl
YyhzdHJpbmcuc2xpY2UoaSkpOworICAgIHJldHVybiBuID8gKGQubSA9IG1vbnRoTG9va3VwW25b
MF0udG9Mb3dlckNhc2UoKV0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKKyAgfQorCisgIGZ1bmN0
aW9uIHBhcnNlTG9jYWxlRGF0ZVRpbWUoZCwgc3RyaW5nLCBpKSB7CisgICAgcmV0dXJuIHBhcnNl
U3BlY2lmaWVyKGQsIGxvY2FsZV9kYXRlVGltZSwgc3RyaW5nLCBpKTsKKyAgfQorCisgIGZ1bmN0
aW9uIHBhcnNlTG9jYWxlRGF0ZShkLCBzdHJpbmcsIGkpIHsKKyAgICByZXR1cm4gcGFyc2VTcGVj
aWZpZXIoZCwgbG9jYWxlX2RhdGUsIHN0cmluZywgaSk7CisgIH0KKworICBmdW5jdGlvbiBwYXJz
ZUxvY2FsZVRpbWUoZCwgc3RyaW5nLCBpKSB7CisgICAgcmV0dXJuIHBhcnNlU3BlY2lmaWVyKGQs
IGxvY2FsZV90aW1lLCBzdHJpbmcsIGkpOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0U2hvcnRX
ZWVrZGF5KGQpIHsKKyAgICByZXR1cm4gbG9jYWxlX3Nob3J0V2Vla2RheXNbZC5nZXREYXkoKV07
CisgIH0KKworICBmdW5jdGlvbiBmb3JtYXRXZWVrZGF5KGQpIHsKKyAgICByZXR1cm4gbG9jYWxl
X3dlZWtkYXlzW2QuZ2V0RGF5KCldOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0U2hvcnRNb250
aChkKSB7CisgICAgcmV0dXJuIGxvY2FsZV9zaG9ydE1vbnRoc1tkLmdldE1vbnRoKCldOworICB9
CisKKyAgZnVuY3Rpb24gZm9ybWF0TW9udGgoZCkgeworICAgIHJldHVybiBsb2NhbGVfbW9udGhz
W2QuZ2V0TW9udGgoKV07CisgIH0KKworICBmdW5jdGlvbiBmb3JtYXRQZXJpb2QoZCkgeworICAg
IHJldHVybiBsb2NhbGVfcGVyaW9kc1srKGQuZ2V0SG91cnMoKSA+PSAxMildOworICB9CisKKyAg
ZnVuY3Rpb24gZm9ybWF0UXVhcnRlcihkKSB7CisgICAgcmV0dXJuIDEgKyB+fihkLmdldE1vbnRo
KCkgLyAzKTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFVUQ1Nob3J0V2Vla2RheShkKSB7Cisg
ICAgcmV0dXJuIGxvY2FsZV9zaG9ydFdlZWtkYXlzW2QuZ2V0VVRDRGF5KCldOworICB9CisKKyAg
ZnVuY3Rpb24gZm9ybWF0VVRDV2Vla2RheShkKSB7CisgICAgcmV0dXJuIGxvY2FsZV93ZWVrZGF5
c1tkLmdldFVUQ0RheSgpXTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFVUQ1Nob3J0TW9udGgo
ZCkgeworICAgIHJldHVybiBsb2NhbGVfc2hvcnRNb250aHNbZC5nZXRVVENNb250aCgpXTsKKyAg
fQorCisgIGZ1bmN0aW9uIGZvcm1hdFVUQ01vbnRoKGQpIHsKKyAgICByZXR1cm4gbG9jYWxlX21v
bnRoc1tkLmdldFVUQ01vbnRoKCldOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0VVRDUGVyaW9k
KGQpIHsKKyAgICByZXR1cm4gbG9jYWxlX3BlcmlvZHNbKyhkLmdldFVUQ0hvdXJzKCkgPj0gMTIp
XTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFVUQ1F1YXJ0ZXIoZCkgeworICAgIHJldHVybiAx
ICsgfn4oZC5nZXRVVENNb250aCgpIC8gMyk7CisgIH0KKworICByZXR1cm4geworICAgIGZvcm1h
dDogZnVuY3Rpb24oc3BlY2lmaWVyKSB7CisgICAgICB2YXIgZiA9IG5ld0Zvcm1hdChzcGVjaWZp
ZXIgKz0gIiIsIGZvcm1hdHMpOworICAgICAgZi50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyByZXR1
cm4gc3BlY2lmaWVyOyB9OworICAgICAgcmV0dXJuIGY7CisgICAgfSwKKyAgICBwYXJzZTogZnVu
Y3Rpb24oc3BlY2lmaWVyKSB7CisgICAgICB2YXIgcCA9IG5ld1BhcnNlKHNwZWNpZmllciArPSAi
IiwgZmFsc2UpOworICAgICAgcC50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gc3BlY2lm
aWVyOyB9OworICAgICAgcmV0dXJuIHA7CisgICAgfSwKKyAgICB1dGNGb3JtYXQ6IGZ1bmN0aW9u
KHNwZWNpZmllcikgeworICAgICAgdmFyIGYgPSBuZXdGb3JtYXQoc3BlY2lmaWVyICs9ICIiLCB1
dGNGb3JtYXRzKTsKKyAgICAgIGYudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHNwZWNp
ZmllcjsgfTsKKyAgICAgIHJldHVybiBmOworICAgIH0sCisgICAgdXRjUGFyc2U6IGZ1bmN0aW9u
KHNwZWNpZmllcikgeworICAgICAgdmFyIHAgPSBuZXdQYXJzZShzcGVjaWZpZXIgKz0gIiIsIHRy
dWUpOworICAgICAgcC50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gc3BlY2lmaWVyOyB9
OworICAgICAgcmV0dXJuIHA7CisgICAgfQorICB9OworfQorCit2YXIgcGFkcyA9IHsiLSI6ICIi
LCAiXyI6ICIgIiwgIjAiOiAiMCJ9LAorICAgIG51bWJlclJlID0gL15ccypcZCsvLCAvLyBub3Rl
OiBpZ25vcmVzIG5leHQgZGlyZWN0aXZlCisgICAgcGVyY2VudFJlID0gL14lLywKKyAgICByZXF1
b3RlUmUgPSAvW1xcXiQqKz98W1xdKCkue31dL2c7CisKK2Z1bmN0aW9uIHBhZCQxKHZhbHVlLCBm
aWxsLCB3aWR0aCkgeworICB2YXIgc2lnbiA9IHZhbHVlIDwgMCA/ICItIiA6ICIiLAorICAgICAg
c3RyaW5nID0gKHNpZ24gPyAtdmFsdWUgOiB2YWx1ZSkgKyAiIiwKKyAgICAgIGxlbmd0aCA9IHN0
cmluZy5sZW5ndGg7CisgIHJldHVybiBzaWduICsgKGxlbmd0aCA8IHdpZHRoID8gbmV3IEFycmF5
KHdpZHRoIC0gbGVuZ3RoICsgMSkuam9pbihmaWxsKSArIHN0cmluZyA6IHN0cmluZyk7Cit9CisK
K2Z1bmN0aW9uIHJlcXVvdGUocykgeworICByZXR1cm4gcy5yZXBsYWNlKHJlcXVvdGVSZSwgIlxc
JCYiKTsKK30KKworZnVuY3Rpb24gZm9ybWF0UmUobmFtZXMpIHsKKyAgcmV0dXJuIG5ldyBSZWdF
eHAoIl4oPzoiICsgbmFtZXMubWFwKHJlcXVvdGUpLmpvaW4oInwiKSArICIpIiwgImkiKTsKK30K
KworZnVuY3Rpb24gZm9ybWF0TG9va3VwKG5hbWVzKSB7CisgIHZhciBtYXAgPSB7fSwgaSA9IC0x
LCBuID0gbmFtZXMubGVuZ3RoOworICB3aGlsZSAoKytpIDwgbikgbWFwW25hbWVzW2ldLnRvTG93
ZXJDYXNlKCldID0gaTsKKyAgcmV0dXJuIG1hcDsKK30KKworZnVuY3Rpb24gcGFyc2VXZWVrZGF5
TnVtYmVyU3VuZGF5KGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJlLmV4ZWMoc3Ry
aW5nLnNsaWNlKGksIGkgKyAxKSk7CisgIHJldHVybiBuID8gKGQudyA9ICtuWzBdLCBpICsgblsw
XS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlV2Vla2RheU51bWJlck1vbmRheShk
LCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShpLCBp
ICsgMSkpOworICByZXR1cm4gbiA/IChkLnUgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0x
OworfQorCitmdW5jdGlvbiBwYXJzZVdlZWtOdW1iZXJTdW5kYXkoZCwgc3RyaW5nLCBpKSB7Cisg
IHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDIpKTsKKyAgcmV0dXJu
IG4gPyAoZC5VID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVuY3Rpb24g
cGFyc2VXZWVrTnVtYmVySVNPKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJlLmV4
ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQuViA9ICtuWzBdLCBp
ICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlV2Vla051bWJlck1vbmRh
eShkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShp
LCBpICsgMikpOworICByZXR1cm4gbiA/IChkLlcgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6
IC0xOworfQorCitmdW5jdGlvbiBwYXJzZUZ1bGxZZWFyKGQsIHN0cmluZywgaSkgeworICB2YXIg
biA9IG51bWJlclJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyA0KSk7CisgIHJldHVybiBuID8g
KGQueSA9ICtuWzBdLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNl
WWVhcihkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGlj
ZShpLCBpICsgMikpOworICByZXR1cm4gbiA/IChkLnkgPSArblswXSArICgrblswXSA+IDY4ID8g
MTkwMCA6IDIwMDApLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNl
Wm9uZShkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSAvXihaKXwoWystXVxkXGQpKD86Oj8oXGRc
ZCkpPy8uZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDYpKTsKKyAgcmV0dXJuIG4gPyAoZC5aID0g
blsxXSA/IDAgOiAtKG5bMl0gKyAoblszXSB8fCAiMDAiKSksIGkgKyBuWzBdLmxlbmd0aCkgOiAt
MTsKK30KKworZnVuY3Rpb24gcGFyc2VRdWFydGVyKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9
IG51bWJlclJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAxKSk7CisgIHJldHVybiBuID8gKGQu
cSA9IG5bMF0gKiAzIC0gMywgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBw
YXJzZU1vbnRoTnVtYmVyKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJlLmV4ZWMo
c3RyaW5nLnNsaWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQubSA9IG5bMF0gLSAxLCBp
ICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlRGF5T2ZNb250aChkLCBz
dHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShpLCBpICsg
MikpOworICByZXR1cm4gbiA/IChkLmQgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOwor
fQorCitmdW5jdGlvbiBwYXJzZURheU9mWWVhcihkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBu
dW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShpLCBpICsgMykpOworICByZXR1cm4gbiA/IChkLm0g
PSAwLCBkLmQgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBw
YXJzZUhvdXIyNChkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmlu
Zy5zbGljZShpLCBpICsgMikpOworICByZXR1cm4gbiA/IChkLkggPSArblswXSwgaSArIG5bMF0u
bGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZU1pbnV0ZXMoZCwgc3RyaW5nLCBpKSB7
CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDIpKTsKKyAgcmV0
dXJuIG4gPyAoZC5NID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVuY3Rp
b24gcGFyc2VTZWNvbmRzKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJlLmV4ZWMo
c3RyaW5nLnNsaWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQuUyA9ICtuWzBdLCBpICsg
blswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlTWlsbGlzZWNvbmRzKGQsIHN0
cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAz
KSk7CisgIHJldHVybiBuID8gKGQuTCA9ICtuWzBdLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9
CisKK2Z1bmN0aW9uIHBhcnNlTWljcm9zZWNvbmRzKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9
IG51bWJlclJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyA2KSk7CisgIHJldHVybiBuID8gKGQu
TCA9IE1hdGguZmxvb3IoblswXSAvIDEwMDApLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisK
K2Z1bmN0aW9uIHBhcnNlTGl0ZXJhbFBlcmNlbnQoZCwgc3RyaW5nLCBpKSB7CisgIHZhciBuID0g
cGVyY2VudFJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAxKSk7CisgIHJldHVybiBuID8gaSAr
IG5bMF0ubGVuZ3RoIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlVW5peFRpbWVzdGFtcChkLCBz
dHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShpKSk7Cisg
IHJldHVybiBuID8gKGQuUSA9ICtuWzBdLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1
bmN0aW9uIHBhcnNlVW5peFRpbWVzdGFtcFNlY29uZHMoZCwgc3RyaW5nLCBpKSB7CisgIHZhciBu
ID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSkpOworICByZXR1cm4gbiA/IChkLnMgPSAr
blswXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBmb3JtYXREYXlPZk1v
bnRoKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0RGF0ZSgpLCBwLCAyKTsKK30KKworZnVu
Y3Rpb24gZm9ybWF0SG91cjI0KGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0SG91cnMoKSwg
cCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdEhvdXIxMihkLCBwKSB7CisgIHJldHVybiBwYWQk
MShkLmdldEhvdXJzKCkgJSAxMiB8fCAxMiwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdERh
eU9mWWVhcihkLCBwKSB7CisgIHJldHVybiBwYWQkMSgxICsgZGF5LmNvdW50KHllYXIoZCksIGQp
LCBwLCAzKTsKK30KKworZnVuY3Rpb24gZm9ybWF0TWlsbGlzZWNvbmRzKGQsIHApIHsKKyAgcmV0
dXJuIHBhZCQxKGQuZ2V0TWlsbGlzZWNvbmRzKCksIHAsIDMpOworfQorCitmdW5jdGlvbiBmb3Jt
YXRNaWNyb3NlY29uZHMoZCwgcCkgeworICByZXR1cm4gZm9ybWF0TWlsbGlzZWNvbmRzKGQsIHAp
ICsgIjAwMCI7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdE1vbnRoTnVtYmVyKGQsIHApIHsKKyAgcmV0
dXJuIHBhZCQxKGQuZ2V0TW9udGgoKSArIDEsIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRN
aW51dGVzKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0TWludXRlcygpLCBwLCAyKTsKK30K
KworZnVuY3Rpb24gZm9ybWF0U2Vjb25kcyhkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldFNl
Y29uZHMoKSwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFdlZWtkYXlOdW1iZXJNb25kYXko
ZCkgeworICB2YXIgZGF5ID0gZC5nZXREYXkoKTsKKyAgcmV0dXJuIGRheSA9PT0gMCA/IDcgOiBk
YXk7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFdlZWtOdW1iZXJTdW5kYXkoZCwgcCkgeworICByZXR1
cm4gcGFkJDEoc3VuZGF5LmNvdW50KHllYXIoZCkgLSAxLCBkKSwgcCwgMik7Cit9CisKK2Z1bmN0
aW9uIGZvcm1hdFdlZWtOdW1iZXJJU08oZCwgcCkgeworICB2YXIgZGF5ID0gZC5nZXREYXkoKTsK
KyAgZCA9IChkYXkgPj0gNCB8fCBkYXkgPT09IDApID8gdGh1cnNkYXkoZCkgOiB0aHVyc2RheS5j
ZWlsKGQpOworICByZXR1cm4gcGFkJDEodGh1cnNkYXkuY291bnQoeWVhcihkKSwgZCkgKyAoeWVh
cihkKS5nZXREYXkoKSA9PT0gNCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRXZWVrZGF5
TnVtYmVyU3VuZGF5KGQpIHsKKyAgcmV0dXJuIGQuZ2V0RGF5KCk7Cit9CisKK2Z1bmN0aW9uIGZv
cm1hdFdlZWtOdW1iZXJNb25kYXkoZCwgcCkgeworICByZXR1cm4gcGFkJDEobW9uZGF5LmNvdW50
KHllYXIoZCkgLSAxLCBkKSwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFllYXIkMShkLCBw
KSB7CisgIHJldHVybiBwYWQkMShkLmdldEZ1bGxZZWFyKCkgJSAxMDAsIHAsIDIpOworfQorCitm
dW5jdGlvbiBmb3JtYXRGdWxsWWVhcihkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldEZ1bGxZ
ZWFyKCkgJSAxMDAwMCwgcCwgNCk7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFpvbmUoZCkgeworICB2
YXIgeiA9IGQuZ2V0VGltZXpvbmVPZmZzZXQoKTsKKyAgcmV0dXJuICh6ID4gMCA/ICItIiA6ICh6
ICo9IC0xLCAiKyIpKQorICAgICAgKyBwYWQkMSh6IC8gNjAgfCAwLCAiMCIsIDIpCisgICAgICAr
IHBhZCQxKHogJSA2MCwgIjAiLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDRGF5T2ZNb250
aChkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldFVUQ0RhdGUoKSwgcCwgMik7Cit9CisKK2Z1
bmN0aW9uIGZvcm1hdFVUQ0hvdXIyNChkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldFVUQ0hv
dXJzKCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENIb3VyMTIoZCwgcCkgeworICBy
ZXR1cm4gcGFkJDEoZC5nZXRVVENIb3VycygpICUgMTIgfHwgMTIsIHAsIDIpOworfQorCitmdW5j
dGlvbiBmb3JtYXRVVENEYXlPZlllYXIoZCwgcCkgeworICByZXR1cm4gcGFkJDEoMSArIHV0Y0Rh
eS5jb3VudCh1dGNZZWFyKGQpLCBkKSwgcCwgMyk7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ01p
bGxpc2Vjb25kcyhkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldFVUQ01pbGxpc2Vjb25kcygp
LCBwLCAzKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDTWljcm9zZWNvbmRzKGQsIHApIHsKKyAg
cmV0dXJuIGZvcm1hdFVUQ01pbGxpc2Vjb25kcyhkLCBwKSArICIwMDAiOworfQorCitmdW5jdGlv
biBmb3JtYXRVVENNb250aE51bWJlcihkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldFVUQ01v
bnRoKCkgKyAxLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDTWludXRlcyhkLCBwKSB7
CisgIHJldHVybiBwYWQkMShkLmdldFVUQ01pbnV0ZXMoKSwgcCwgMik7Cit9CisKK2Z1bmN0aW9u
IGZvcm1hdFVUQ1NlY29uZHMoZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRVVENTZWNvbmRz
KCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENXZWVrZGF5TnVtYmVyTW9uZGF5KGQp
IHsKKyAgdmFyIGRvdyA9IGQuZ2V0VVRDRGF5KCk7CisgIHJldHVybiBkb3cgPT09IDAgPyA3IDog
ZG93OworfQorCitmdW5jdGlvbiBmb3JtYXRVVENXZWVrTnVtYmVyU3VuZGF5KGQsIHApIHsKKyAg
cmV0dXJuIHBhZCQxKHV0Y1N1bmRheS5jb3VudCh1dGNZZWFyKGQpIC0gMSwgZCksIHAsIDIpOwor
fQorCitmdW5jdGlvbiBmb3JtYXRVVENXZWVrTnVtYmVySVNPKGQsIHApIHsKKyAgdmFyIGRheSA9
IGQuZ2V0VVRDRGF5KCk7CisgIGQgPSAoZGF5ID49IDQgfHwgZGF5ID09PSAwKSA/IHV0Y1RodXJz
ZGF5KGQpIDogdXRjVGh1cnNkYXkuY2VpbChkKTsKKyAgcmV0dXJuIHBhZCQxKHV0Y1RodXJzZGF5
LmNvdW50KHV0Y1llYXIoZCksIGQpICsgKHV0Y1llYXIoZCkuZ2V0VVRDRGF5KCkgPT09IDQpLCBw
LCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDV2Vla2RheU51bWJlclN1bmRheShkKSB7Cisg
IHJldHVybiBkLmdldFVUQ0RheSgpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENXZWVrTnVtYmVy
TW9uZGF5KGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKHV0Y01vbmRheS5jb3VudCh1dGNZZWFyKGQp
IC0gMSwgZCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENZZWFyKGQsIHApIHsKKyAg
cmV0dXJuIHBhZCQxKGQuZ2V0VVRDRnVsbFllYXIoKSAlIDEwMCwgcCwgMik7Cit9CisKK2Z1bmN0
aW9uIGZvcm1hdFVUQ0Z1bGxZZWFyKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0VVRDRnVs
bFllYXIoKSAlIDEwMDAwLCBwLCA0KTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDWm9uZSgpIHsK
KyAgcmV0dXJuICIrMDAwMCI7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdExpdGVyYWxQZXJjZW50KCkg
eworICByZXR1cm4gIiUiOworfQorCitmdW5jdGlvbiBmb3JtYXRVbml4VGltZXN0YW1wKGQpIHsK
KyAgcmV0dXJuICtkOworfQorCitmdW5jdGlvbiBmb3JtYXRVbml4VGltZXN0YW1wU2Vjb25kcyhk
KSB7CisgIHJldHVybiBNYXRoLmZsb29yKCtkIC8gMTAwMCk7Cit9CisKK3ZhciBsb2NhbGUkMTsK
KworZGVmYXVsdExvY2FsZSQxKHsKKyAgZGF0ZVRpbWU6ICIleCwgJVgiLAorICBkYXRlOiAiJS1t
LyUtZC8lWSIsCisgIHRpbWU6ICIlLUk6JU06JVMgJXAiLAorICBwZXJpb2RzOiBbIkFNIiwgIlBN
Il0sCisgIGRheXM6IFsiU3VuZGF5IiwgIk1vbmRheSIsICJUdWVzZGF5IiwgIldlZG5lc2RheSIs
ICJUaHVyc2RheSIsICJGcmlkYXkiLCAiU2F0dXJkYXkiXSwKKyAgc2hvcnREYXlzOiBbIlN1biIs
ICJNb24iLCAiVHVlIiwgIldlZCIsICJUaHUiLCAiRnJpIiwgIlNhdCJdLAorICBtb250aHM6IFsi
SmFudWFyeSIsICJGZWJydWFyeSIsICJNYXJjaCIsICJBcHJpbCIsICJNYXkiLCAiSnVuZSIsICJK
dWx5IiwgIkF1Z3VzdCIsICJTZXB0ZW1iZXIiLCAiT2N0b2JlciIsICJOb3ZlbWJlciIsICJEZWNl
bWJlciJdLAorICBzaG9ydE1vbnRoczogWyJKYW4iLCAiRmViIiwgIk1hciIsICJBcHIiLCAiTWF5
IiwgIkp1biIsICJKdWwiLCAiQXVnIiwgIlNlcCIsICJPY3QiLCAiTm92IiwgIkRlYyJdCit9KTsK
KworZnVuY3Rpb24gZGVmYXVsdExvY2FsZSQxKGRlZmluaXRpb24pIHsKKyAgbG9jYWxlJDEgPSBm
b3JtYXRMb2NhbGUkMShkZWZpbml0aW9uKTsKKyAgZXhwb3J0cy50aW1lRm9ybWF0ID0gbG9jYWxl
JDEuZm9ybWF0OworICBleHBvcnRzLnRpbWVQYXJzZSA9IGxvY2FsZSQxLnBhcnNlOworICBleHBv
cnRzLnV0Y0Zvcm1hdCA9IGxvY2FsZSQxLnV0Y0Zvcm1hdDsKKyAgZXhwb3J0cy51dGNQYXJzZSA9
IGxvY2FsZSQxLnV0Y1BhcnNlOworICByZXR1cm4gbG9jYWxlJDE7Cit9CisKK3ZhciBpc29TcGVj
aWZpZXIgPSAiJVktJW0tJWRUJUg6JU06JVMuJUxaIjsKKworZnVuY3Rpb24gZm9ybWF0SXNvTmF0
aXZlKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKTsKK30KKwordmFyIGZvcm1h
dElzbyA9IERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nCisgICAgPyBmb3JtYXRJc29OYXRpdmUK
KyAgICA6IGV4cG9ydHMudXRjRm9ybWF0KGlzb1NwZWNpZmllcik7CisKK2Z1bmN0aW9uIHBhcnNl
SXNvTmF0aXZlKHN0cmluZykgeworICB2YXIgZGF0ZSA9IG5ldyBEYXRlKHN0cmluZyk7CisgIHJl
dHVybiBpc05hTihkYXRlKSA/IG51bGwgOiBkYXRlOworfQorCit2YXIgcGFyc2VJc28gPSArbmV3
IERhdGUoIjIwMDAtMDEtMDFUMDA6MDA6MDAuMDAwWiIpCisgICAgPyBwYXJzZUlzb05hdGl2ZQor
ICAgIDogZXhwb3J0cy51dGNQYXJzZShpc29TcGVjaWZpZXIpOworCit2YXIgZHVyYXRpb25TZWNv
bmQkMSA9IDEwMDAsCisgICAgZHVyYXRpb25NaW51dGUkMSA9IGR1cmF0aW9uU2Vjb25kJDEgKiA2
MCwKKyAgICBkdXJhdGlvbkhvdXIkMSA9IGR1cmF0aW9uTWludXRlJDEgKiA2MCwKKyAgICBkdXJh
dGlvbkRheSQxID0gZHVyYXRpb25Ib3VyJDEgKiAyNCwKKyAgICBkdXJhdGlvbldlZWskMSA9IGR1
cmF0aW9uRGF5JDEgKiA3LAorICAgIGR1cmF0aW9uTW9udGggPSBkdXJhdGlvbkRheSQxICogMzAs
CisgICAgZHVyYXRpb25ZZWFyID0gZHVyYXRpb25EYXkkMSAqIDM2NTsKKworZnVuY3Rpb24gZGF0
ZSQxKHQpIHsKKyAgcmV0dXJuIG5ldyBEYXRlKHQpOworfQorCitmdW5jdGlvbiBudW1iZXIkMyh0
KSB7CisgIHJldHVybiB0IGluc3RhbmNlb2YgRGF0ZSA/ICt0IDogK25ldyBEYXRlKCt0KTsKK30K
KworZnVuY3Rpb24gY2FsZW5kYXIoeWVhciwgbW9udGgsIHdlZWssIGRheSwgaG91ciwgbWludXRl
LCBzZWNvbmQsIG1pbGxpc2Vjb25kLCBmb3JtYXQpIHsKKyAgdmFyIHNjYWxlID0gY29udGludW91
cyhpZGVudGl0eSQ2LCBpZGVudGl0eSQ2KSwKKyAgICAgIGludmVydCA9IHNjYWxlLmludmVydCwK
KyAgICAgIGRvbWFpbiA9IHNjYWxlLmRvbWFpbjsKKworICB2YXIgZm9ybWF0TWlsbGlzZWNvbmQg
PSBmb3JtYXQoIi4lTCIpLAorICAgICAgZm9ybWF0U2Vjb25kID0gZm9ybWF0KCI6JVMiKSwKKyAg
ICAgIGZvcm1hdE1pbnV0ZSA9IGZvcm1hdCgiJUk6JU0iKSwKKyAgICAgIGZvcm1hdEhvdXIgPSBm
b3JtYXQoIiVJICVwIiksCisgICAgICBmb3JtYXREYXkgPSBmb3JtYXQoIiVhICVkIiksCisgICAg
ICBmb3JtYXRXZWVrID0gZm9ybWF0KCIlYiAlZCIpLAorICAgICAgZm9ybWF0TW9udGggPSBmb3Jt
YXQoIiVCIiksCisgICAgICBmb3JtYXRZZWFyID0gZm9ybWF0KCIlWSIpOworCisgIHZhciB0aWNr
SW50ZXJ2YWxzID0gWworICAgIFtzZWNvbmQsICAxLCAgICAgIGR1cmF0aW9uU2Vjb25kJDFdLAor
ICAgIFtzZWNvbmQsICA1LCAgNSAqIGR1cmF0aW9uU2Vjb25kJDFdLAorICAgIFtzZWNvbmQsIDE1
LCAxNSAqIGR1cmF0aW9uU2Vjb25kJDFdLAorICAgIFtzZWNvbmQsIDMwLCAzMCAqIGR1cmF0aW9u
U2Vjb25kJDFdLAorICAgIFttaW51dGUsICAxLCAgICAgIGR1cmF0aW9uTWludXRlJDFdLAorICAg
IFttaW51dGUsICA1LCAgNSAqIGR1cmF0aW9uTWludXRlJDFdLAorICAgIFttaW51dGUsIDE1LCAx
NSAqIGR1cmF0aW9uTWludXRlJDFdLAorICAgIFttaW51dGUsIDMwLCAzMCAqIGR1cmF0aW9uTWlu
dXRlJDFdLAorICAgIFsgIGhvdXIsICAxLCAgICAgIGR1cmF0aW9uSG91ciQxICBdLAorICAgIFsg
IGhvdXIsICAzLCAgMyAqIGR1cmF0aW9uSG91ciQxICBdLAorICAgIFsgIGhvdXIsICA2LCAgNiAq
IGR1cmF0aW9uSG91ciQxICBdLAorICAgIFsgIGhvdXIsIDEyLCAxMiAqIGR1cmF0aW9uSG91ciQx
ICBdLAorICAgIFsgICBkYXksICAxLCAgICAgIGR1cmF0aW9uRGF5JDEgICBdLAorICAgIFsgICBk
YXksICAyLCAgMiAqIGR1cmF0aW9uRGF5JDEgICBdLAorICAgIFsgIHdlZWssICAxLCAgICAgIGR1
cmF0aW9uV2VlayQxICBdLAorICAgIFsgbW9udGgsICAxLCAgICAgIGR1cmF0aW9uTW9udGggXSwK
KyAgICBbIG1vbnRoLCAgMywgIDMgKiBkdXJhdGlvbk1vbnRoIF0sCisgICAgWyAgeWVhciwgIDEs
ICAgICAgZHVyYXRpb25ZZWFyICBdCisgIF07CisKKyAgZnVuY3Rpb24gdGlja0Zvcm1hdChkYXRl
KSB7CisgICAgcmV0dXJuIChzZWNvbmQoZGF0ZSkgPCBkYXRlID8gZm9ybWF0TWlsbGlzZWNvbmQK
KyAgICAgICAgOiBtaW51dGUoZGF0ZSkgPCBkYXRlID8gZm9ybWF0U2Vjb25kCisgICAgICAgIDog
aG91cihkYXRlKSA8IGRhdGUgPyBmb3JtYXRNaW51dGUKKyAgICAgICAgOiBkYXkoZGF0ZSkgPCBk
YXRlID8gZm9ybWF0SG91cgorICAgICAgICA6IG1vbnRoKGRhdGUpIDwgZGF0ZSA/ICh3ZWVrKGRh
dGUpIDwgZGF0ZSA/IGZvcm1hdERheSA6IGZvcm1hdFdlZWspCisgICAgICAgIDogeWVhcihkYXRl
KSA8IGRhdGUgPyBmb3JtYXRNb250aAorICAgICAgICA6IGZvcm1hdFllYXIpKGRhdGUpOworICB9
CisKKyAgZnVuY3Rpb24gdGlja0ludGVydmFsKGludGVydmFsLCBzdGFydCwgc3RvcCwgc3RlcCkg
eworICAgIGlmIChpbnRlcnZhbCA9PSBudWxsKSBpbnRlcnZhbCA9IDEwOworCisgICAgLy8gSWYg
YSBkZXNpcmVkIHRpY2sgY291bnQgaXMgc3BlY2lmaWVkLCBwaWNrIGEgcmVhc29uYWJsZSB0aWNr
IGludGVydmFsCisgICAgLy8gYmFzZWQgb24gdGhlIGV4dGVudCBvZiB0aGUgZG9tYWluIGFuZCBh
IHJvdWdoIGVzdGltYXRlIG9mIHRpY2sgc2l6ZS4KKyAgICAvLyBPdGhlcndpc2UsIGFzc3VtZSBp
bnRlcnZhbCBpcyBhbHJlYWR5IGEgdGltZSBpbnRlcnZhbCBhbmQgdXNlIGl0LgorICAgIGlmICh0
eXBlb2YgaW50ZXJ2YWwgPT09ICJudW1iZXIiKSB7CisgICAgICB2YXIgdGFyZ2V0ID0gTWF0aC5h
YnMoc3RvcCAtIHN0YXJ0KSAvIGludGVydmFsLAorICAgICAgICAgIGkgPSBiaXNlY3RvcihmdW5j
dGlvbihpKSB7IHJldHVybiBpWzJdOyB9KS5yaWdodCh0aWNrSW50ZXJ2YWxzLCB0YXJnZXQpOwor
ICAgICAgaWYgKGkgPT09IHRpY2tJbnRlcnZhbHMubGVuZ3RoKSB7CisgICAgICAgIHN0ZXAgPSB0
aWNrU3RlcChzdGFydCAvIGR1cmF0aW9uWWVhciwgc3RvcCAvIGR1cmF0aW9uWWVhciwgaW50ZXJ2
YWwpOworICAgICAgICBpbnRlcnZhbCA9IHllYXI7CisgICAgICB9IGVsc2UgaWYgKGkpIHsKKyAg
ICAgICAgaSA9IHRpY2tJbnRlcnZhbHNbdGFyZ2V0IC8gdGlja0ludGVydmFsc1tpIC0gMV1bMl0g
PCB0aWNrSW50ZXJ2YWxzW2ldWzJdIC8gdGFyZ2V0ID8gaSAtIDEgOiBpXTsKKyAgICAgICAgc3Rl
cCA9IGlbMV07CisgICAgICAgIGludGVydmFsID0gaVswXTsKKyAgICAgIH0gZWxzZSB7CisgICAg
ICAgIHN0ZXAgPSBNYXRoLm1heCh0aWNrU3RlcChzdGFydCwgc3RvcCwgaW50ZXJ2YWwpLCAxKTsK
KyAgICAgICAgaW50ZXJ2YWwgPSBtaWxsaXNlY29uZDsKKyAgICAgIH0KKyAgICB9CisKKyAgICBy
ZXR1cm4gc3RlcCA9PSBudWxsID8gaW50ZXJ2YWwgOiBpbnRlcnZhbC5ldmVyeShzdGVwKTsKKyAg
fQorCisgIHNjYWxlLmludmVydCA9IGZ1bmN0aW9uKHkpIHsKKyAgICByZXR1cm4gbmV3IERhdGUo
aW52ZXJ0KHkpKTsKKyAgfTsKKworICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihfKSB7CisgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyBkb21haW4obWFwJDMuY2FsbChfLCBudW1iZXIkMykp
IDogZG9tYWluKCkubWFwKGRhdGUkMSk7CisgIH07CisKKyAgc2NhbGUudGlja3MgPSBmdW5jdGlv
bihpbnRlcnZhbCwgc3RlcCkgeworICAgIHZhciBkID0gZG9tYWluKCksCisgICAgICAgIHQwID0g
ZFswXSwKKyAgICAgICAgdDEgPSBkW2QubGVuZ3RoIC0gMV0sCisgICAgICAgIHIgPSB0MSA8IHQw
LAorICAgICAgICB0OworICAgIGlmIChyKSB0ID0gdDAsIHQwID0gdDEsIHQxID0gdDsKKyAgICB0
ID0gdGlja0ludGVydmFsKGludGVydmFsLCB0MCwgdDEsIHN0ZXApOworICAgIHQgPSB0ID8gdC5y
YW5nZSh0MCwgdDEgKyAxKSA6IFtdOyAvLyBpbmNsdXNpdmUgc3RvcAorICAgIHJldHVybiByID8g
dC5yZXZlcnNlKCkgOiB0OworICB9OworCisgIHNjYWxlLnRpY2tGb3JtYXQgPSBmdW5jdGlvbihj
b3VudCwgc3BlY2lmaWVyKSB7CisgICAgcmV0dXJuIHNwZWNpZmllciA9PSBudWxsID8gdGlja0Zv
cm1hdCA6IGZvcm1hdChzcGVjaWZpZXIpOworICB9OworCisgIHNjYWxlLm5pY2UgPSBmdW5jdGlv
bihpbnRlcnZhbCwgc3RlcCkgeworICAgIHZhciBkID0gZG9tYWluKCk7CisgICAgcmV0dXJuIChp
bnRlcnZhbCA9IHRpY2tJbnRlcnZhbChpbnRlcnZhbCwgZFswXSwgZFtkLmxlbmd0aCAtIDFdLCBz
dGVwKSkKKyAgICAgICAgPyBkb21haW4obmljZShkLCBpbnRlcnZhbCkpCisgICAgICAgIDogc2Nh
bGU7CisgIH07CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBjb3B5
KHNjYWxlLCBjYWxlbmRhcih5ZWFyLCBtb250aCwgd2VlaywgZGF5LCBob3VyLCBtaW51dGUsIHNl
Y29uZCwgbWlsbGlzZWNvbmQsIGZvcm1hdCkpOworICB9OworCisgIHJldHVybiBzY2FsZTsKK30K
KworZnVuY3Rpb24gdGltZSgpIHsKKyAgcmV0dXJuIGluaXRSYW5nZS5hcHBseShjYWxlbmRhcih5
ZWFyLCBtb250aCwgc3VuZGF5LCBkYXksIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWxsaXNlY29u
ZCwgZXhwb3J0cy50aW1lRm9ybWF0KS5kb21haW4oW25ldyBEYXRlKDIwMDAsIDAsIDEpLCBuZXcg
RGF0ZSgyMDAwLCAwLCAyKV0pLCBhcmd1bWVudHMpOworfQorCitmdW5jdGlvbiB1dGNUaW1lKCkg
eworICByZXR1cm4gaW5pdFJhbmdlLmFwcGx5KGNhbGVuZGFyKHV0Y1llYXIsIHV0Y01vbnRoLCB1
dGNTdW5kYXksIHV0Y0RheSwgdXRjSG91ciwgdXRjTWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25k
LCBleHBvcnRzLnV0Y0Zvcm1hdCkuZG9tYWluKFtEYXRlLlVUQygyMDAwLCAwLCAxKSwgRGF0ZS5V
VEMoMjAwMCwgMCwgMildKSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3JtZXIk
MigpIHsKKyAgdmFyIHgwID0gMCwKKyAgICAgIHgxID0gMSwKKyAgICAgIHQwLAorICAgICAgdDEs
CisgICAgICBrMTAsCisgICAgICB0cmFuc2Zvcm0sCisgICAgICBpbnRlcnBvbGF0b3IgPSBpZGVu
dGl0eSQ2LAorICAgICAgY2xhbXAgPSBmYWxzZSwKKyAgICAgIHVua25vd247CisKKyAgZnVuY3Rp
b24gc2NhbGUoeCkgeworICAgIHJldHVybiBpc05hTih4ID0gK3gpID8gdW5rbm93biA6IGludGVy
cG9sYXRvcihrMTAgPT09IDAgPyAwLjUgOiAoeCA9ICh0cmFuc2Zvcm0oeCkgLSB0MCkgKiBrMTAs
IGNsYW1wID8gTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgeCkpIDogeCkpOworICB9CisKKyAgc2Nh
bGUuZG9tYWluID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8g
KHQwID0gdHJhbnNmb3JtKHgwID0gK19bMF0pLCB0MSA9IHRyYW5zZm9ybSh4MSA9ICtfWzFdKSwg
azEwID0gdDAgPT09IHQxID8gMCA6IDEgLyAodDEgLSB0MCksIHNjYWxlKSA6IFt4MCwgeDFdOwor
ICB9OworCisgIHNjYWxlLmNsYW1wID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKGNsYW1wID0gISFfLCBzY2FsZSkgOiBjbGFtcDsKKyAgfTsKKworICBzY2Fs
ZS5pbnRlcnBvbGF0b3IgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAoaW50ZXJwb2xhdG9yID0gXywgc2NhbGUpIDogaW50ZXJwb2xhdG9yOworICB9OworCisg
IHNjYWxlLnVua25vd24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAodW5rbm93biA9IF8sIHNjYWxlKSA6IHVua25vd247CisgIH07CisKKyAgcmV0dXJuIGZ1
bmN0aW9uKHQpIHsKKyAgICB0cmFuc2Zvcm0gPSB0LCB0MCA9IHQoeDApLCB0MSA9IHQoeDEpLCBr
MTAgPSB0MCA9PT0gdDEgPyAwIDogMSAvICh0MSAtIHQwKTsKKyAgICByZXR1cm4gc2NhbGU7Cisg
IH07Cit9CisKK2Z1bmN0aW9uIGNvcHkkMShzb3VyY2UsIHRhcmdldCkgeworICByZXR1cm4gdGFy
Z2V0CisgICAgICAuZG9tYWluKHNvdXJjZS5kb21haW4oKSkKKyAgICAgIC5pbnRlcnBvbGF0b3Io
c291cmNlLmludGVycG9sYXRvcigpKQorICAgICAgLmNsYW1wKHNvdXJjZS5jbGFtcCgpKQorICAg
ICAgLnVua25vd24oc291cmNlLnVua25vd24oKSk7Cit9CisKK2Z1bmN0aW9uIHNlcXVlbnRpYWwo
KSB7CisgIHZhciBzY2FsZSA9IGxpbmVhcmlzaCh0cmFuc2Zvcm1lciQyKCkoaWRlbnRpdHkkNikp
OworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weSQxKHNjYWxl
LCBzZXF1ZW50aWFsKCkpOworICB9OworCisgIHJldHVybiBpbml0SW50ZXJwb2xhdG9yLmFwcGx5
KHNjYWxlLCBhcmd1bWVudHMpOworfQorCitmdW5jdGlvbiBzZXF1ZW50aWFsTG9nKCkgeworICB2
YXIgc2NhbGUgPSBsb2dnaXNoKHRyYW5zZm9ybWVyJDIoKSkuZG9tYWluKFsxLCAxMF0pOworCisg
IHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weSQxKHNjYWxlLCBzZXF1
ZW50aWFsTG9nKCkpLmJhc2Uoc2NhbGUuYmFzZSgpKTsKKyAgfTsKKworICByZXR1cm4gaW5pdElu
dGVycG9sYXRvci5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gc2VxdWVu
dGlhbFN5bWxvZygpIHsKKyAgdmFyIHNjYWxlID0gc3ltbG9naXNoKHRyYW5zZm9ybWVyJDIoKSk7
CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBjb3B5JDEoc2NhbGUs
IHNlcXVlbnRpYWxTeW1sb2coKSkuY29uc3RhbnQoc2NhbGUuY29uc3RhbnQoKSk7CisgIH07CisK
KyAgcmV0dXJuIGluaXRJbnRlcnBvbGF0b3IuYXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7Cit9CisK
K2Z1bmN0aW9uIHNlcXVlbnRpYWxQb3coKSB7CisgIHZhciBzY2FsZSA9IHBvd2lzaCh0cmFuc2Zv
cm1lciQyKCkpOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29w
eSQxKHNjYWxlLCBzZXF1ZW50aWFsUG93KCkpLmV4cG9uZW50KHNjYWxlLmV4cG9uZW50KCkpOwor
ICB9OworCisgIHJldHVybiBpbml0SW50ZXJwb2xhdG9yLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMp
OworfQorCitmdW5jdGlvbiBzZXF1ZW50aWFsU3FydCgpIHsKKyAgcmV0dXJuIHNlcXVlbnRpYWxQ
b3cuYXBwbHkobnVsbCwgYXJndW1lbnRzKS5leHBvbmVudCgwLjUpOworfQorCitmdW5jdGlvbiBz
ZXF1ZW50aWFsUXVhbnRpbGUoKSB7CisgIHZhciBkb21haW4gPSBbXSwKKyAgICAgIGludGVycG9s
YXRvciA9IGlkZW50aXR5JDY7CisKKyAgZnVuY3Rpb24gc2NhbGUoeCkgeworICAgIGlmICghaXNO
YU4oeCA9ICt4KSkgcmV0dXJuIGludGVycG9sYXRvcigoYmlzZWN0UmlnaHQoZG9tYWluLCB4KSAt
IDEpIC8gKGRvbWFpbi5sZW5ndGggLSAxKSk7CisgIH0KKworICBzY2FsZS5kb21haW4gPSBmdW5j
dGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gZG9tYWluLnNsaWNl
KCk7CisgICAgZG9tYWluID0gW107CisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBfLmxlbmd0aCwg
ZDsgaSA8IG47ICsraSkgaWYgKGQgPSBfW2ldLCBkICE9IG51bGwgJiYgIWlzTmFOKGQgPSArZCkp
IGRvbWFpbi5wdXNoKGQpOworICAgIGRvbWFpbi5zb3J0KGFzY2VuZGluZyk7CisgICAgcmV0dXJu
IHNjYWxlOworICB9OworCisgIHNjYWxlLmludGVycG9sYXRvciA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChpbnRlcnBvbGF0b3IgPSBfLCBzY2FsZSkgOiBp
bnRlcnBvbGF0b3I7CisgIH07CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJl
dHVybiBzZXF1ZW50aWFsUXVhbnRpbGUoaW50ZXJwb2xhdG9yKS5kb21haW4oZG9tYWluKTsKKyAg
fTsKKworICByZXR1cm4gaW5pdEludGVycG9sYXRvci5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsK
K30KKworZnVuY3Rpb24gdHJhbnNmb3JtZXIkMygpIHsKKyAgdmFyIHgwID0gMCwKKyAgICAgIHgx
ID0gMC41LAorICAgICAgeDIgPSAxLAorICAgICAgdDAsCisgICAgICB0MSwKKyAgICAgIHQyLAor
ICAgICAgazEwLAorICAgICAgazIxLAorICAgICAgaW50ZXJwb2xhdG9yID0gaWRlbnRpdHkkNiwK
KyAgICAgIHRyYW5zZm9ybSwKKyAgICAgIGNsYW1wID0gZmFsc2UsCisgICAgICB1bmtub3duOwor
CisgIGZ1bmN0aW9uIHNjYWxlKHgpIHsKKyAgICByZXR1cm4gaXNOYU4oeCA9ICt4KSA/IHVua25v
d24gOiAoeCA9IDAuNSArICgoeCA9ICt0cmFuc2Zvcm0oeCkpIC0gdDEpICogKHggPCB0MSA/IGsx
MCA6IGsyMSksIGludGVycG9sYXRvcihjbGFtcCA/IE1hdGgubWF4KDAsIE1hdGgubWluKDEsIHgp
KSA6IHgpKTsKKyAgfQorCisgIHNjYWxlLmRvbWFpbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0MCA9IHRyYW5zZm9ybSh4MCA9ICtfWzBdKSwgdDEgPSB0
cmFuc2Zvcm0oeDEgPSArX1sxXSksIHQyID0gdHJhbnNmb3JtKHgyID0gK19bMl0pLCBrMTAgPSB0
MCA9PT0gdDEgPyAwIDogMC41IC8gKHQxIC0gdDApLCBrMjEgPSB0MSA9PT0gdDIgPyAwIDogMC41
IC8gKHQyIC0gdDEpLCBzY2FsZSkgOiBbeDAsIHgxLCB4Ml07CisgIH07CisKKyAgc2NhbGUuY2xh
bXAgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoY2xhbXAg
PSAhIV8sIHNjYWxlKSA6IGNsYW1wOworICB9OworCisgIHNjYWxlLmludGVycG9sYXRvciA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChpbnRlcnBvbGF0b3Ig
PSBfLCBzY2FsZSkgOiBpbnRlcnBvbGF0b3I7CisgIH07CisKKyAgc2NhbGUudW5rbm93biA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh1bmtub3duID0gXywg
c2NhbGUpIDogdW5rbm93bjsKKyAgfTsKKworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHRy
YW5zZm9ybSA9IHQsIHQwID0gdCh4MCksIHQxID0gdCh4MSksIHQyID0gdCh4MiksIGsxMCA9IHQw
ID09PSB0MSA/IDAgOiAwLjUgLyAodDEgLSB0MCksIGsyMSA9IHQxID09PSB0MiA/IDAgOiAwLjUg
LyAodDIgLSB0MSk7CisgICAgcmV0dXJuIHNjYWxlOworICB9OworfQorCitmdW5jdGlvbiBkaXZl
cmdpbmcoKSB7CisgIHZhciBzY2FsZSA9IGxpbmVhcmlzaCh0cmFuc2Zvcm1lciQzKCkoaWRlbnRp
dHkkNikpOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weSQx
KHNjYWxlLCBkaXZlcmdpbmcoKSk7CisgIH07CisKKyAgcmV0dXJuIGluaXRJbnRlcnBvbGF0b3Iu
YXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIGRpdmVyZ2luZ0xvZygpIHsK
KyAgdmFyIHNjYWxlID0gbG9nZ2lzaCh0cmFuc2Zvcm1lciQzKCkpLmRvbWFpbihbMC4xLCAxLCAx
MF0pOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weSQxKHNj
YWxlLCBkaXZlcmdpbmdMb2coKSkuYmFzZShzY2FsZS5iYXNlKCkpOworICB9OworCisgIHJldHVy
biBpbml0SW50ZXJwb2xhdG9yLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworfQorCitmdW5jdGlv
biBkaXZlcmdpbmdTeW1sb2coKSB7CisgIHZhciBzY2FsZSA9IHN5bWxvZ2lzaCh0cmFuc2Zvcm1l
ciQzKCkpOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weSQx
KHNjYWxlLCBkaXZlcmdpbmdTeW1sb2coKSkuY29uc3RhbnQoc2NhbGUuY29uc3RhbnQoKSk7Cisg
IH07CisKKyAgcmV0dXJuIGluaXRJbnRlcnBvbGF0b3IuYXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7
Cit9CisKK2Z1bmN0aW9uIGRpdmVyZ2luZ1BvdygpIHsKKyAgdmFyIHNjYWxlID0gcG93aXNoKHRy
YW5zZm9ybWVyJDMoKSk7CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVy
biBjb3B5JDEoc2NhbGUsIGRpdmVyZ2luZ1BvdygpKS5leHBvbmVudChzY2FsZS5leHBvbmVudCgp
KTsKKyAgfTsKKworICByZXR1cm4gaW5pdEludGVycG9sYXRvci5hcHBseShzY2FsZSwgYXJndW1l
bnRzKTsKK30KKworZnVuY3Rpb24gZGl2ZXJnaW5nU3FydCgpIHsKKyAgcmV0dXJuIGRpdmVyZ2lu
Z1Bvdy5hcHBseShudWxsLCBhcmd1bWVudHMpLmV4cG9uZW50KDAuNSk7Cit9CisKK2Z1bmN0aW9u
IGNvbG9ycyhzcGVjaWZpZXIpIHsKKyAgdmFyIG4gPSBzcGVjaWZpZXIubGVuZ3RoIC8gNiB8IDAs
IGNvbG9ycyA9IG5ldyBBcnJheShuKSwgaSA9IDA7CisgIHdoaWxlIChpIDwgbikgY29sb3JzW2ld
ID0gIiMiICsgc3BlY2lmaWVyLnNsaWNlKGkgKiA2LCArK2kgKiA2KTsKKyAgcmV0dXJuIGNvbG9y
czsKK30KKwordmFyIGNhdGVnb3J5MTAgPSBjb2xvcnMoIjFmNzdiNGZmN2YwZTJjYTAyY2Q2Mjcy
ODk0NjdiZDhjNTY0YmUzNzdjMjdmN2Y3ZmJjYmQyMjE3YmVjZiIpOworCit2YXIgQWNjZW50ID0g
Y29sb3JzKCI3ZmM5N2ZiZWFlZDRmZGMwODZmZmZmOTkzODZjYjBmMDAyN2ZiZjViMTc2NjY2NjYi
KTsKKwordmFyIERhcmsyID0gY29sb3JzKCIxYjllNzdkOTVmMDI3NTcwYjNlNzI5OGE2NmE2MWVl
NmFiMDJhNjc2MWQ2NjY2NjYiKTsKKwordmFyIFBhaXJlZCA9IGNvbG9ycygiYTZjZWUzMWY3OGI0
YjJkZjhhMzNhMDJjZmI5YTk5ZTMxYTFjZmRiZjZmZmY3ZjAwY2FiMmQ2NmEzZDlhZmZmZjk5YjE1
OTI4Iik7CisKK3ZhciBQYXN0ZWwxID0gY29sb3JzKCJmYmI0YWViM2NkZTNjY2ViYzVkZWNiZTRm
ZWQ5YTZmZmZmY2NlNWQ4YmRmZGRhZWNmMmYyZjIiKTsKKwordmFyIFBhc3RlbDIgPSBjb2xvcnMo
ImIzZTJjZGZkY2RhY2NiZDVlOGY0Y2FlNGU2ZjVjOWZmZjJhZWYxZTJjY2NjY2NjYyIpOworCit2
YXIgU2V0MSA9IGNvbG9ycygiZTQxYTFjMzc3ZWI4NGRhZjRhOTg0ZWEzZmY3ZjAwZmZmZjMzYTY1
NjI4Zjc4MWJmOTk5OTk5Iik7CisKK3ZhciBTZXQyID0gY29sb3JzKCI2NmMyYTVmYzhkNjI4ZGEw
Y2JlNzhhYzNhNmQ4NTRmZmQ5MmZlNWM0OTRiM2IzYjMiKTsKKwordmFyIFNldDMgPSBjb2xvcnMo
IjhkZDNjN2ZmZmZiM2JlYmFkYWZiODA3MjgwYjFkM2ZkYjQ2MmIzZGU2OWZjY2RlNWQ5ZDlkOWJj
ODBiZGNjZWJjNWZmZWQ2ZiIpOworCit2YXIgVGFibGVhdTEwID0gY29sb3JzKCI0ZTc5YTdmMjhl
MmNlMTU3NTk3NmI3YjI1OWExNGZlZGM5NDlhZjdhYTFmZjlkYTc5Yzc1NWZiYWIwYWIiKTsKKwor
ZnVuY3Rpb24gcmFtcChzY2hlbWUpIHsKKyAgcmV0dXJuIHJnYkJhc2lzKHNjaGVtZVtzY2hlbWUu
bGVuZ3RoIC0gMV0pOworfQorCit2YXIgc2NoZW1lID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAg
ImQ4YjM2NWY1ZjVmNTVhYjRhYyIsCisgICJhNjYxMWFkZmMyN2Q4MGNkYzEwMTg1NzEiLAorICAi
YTY2MTFhZGZjMjdkZjVmNWY1ODBjZGMxMDE4NTcxIiwKKyAgIjhjNTEwYWQ4YjM2NWY2ZThjM2M3
ZWFlNTVhYjRhYzAxNjY1ZSIsCisgICI4YzUxMGFkOGIzNjVmNmU4YzNmNWY1ZjVjN2VhZTU1YWI0
YWMwMTY2NWUiLAorICAiOGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzYzdlYWU1ODBjZGMxMzU5Nzhm
MDE2NjVlIiwKKyAgIjhjNTEwYWJmODEyZGRmYzI3ZGY2ZThjM2Y1ZjVmNWM3ZWFlNTgwY2RjMTM1
OTc4ZjAxNjY1ZSIsCisgICI1NDMwMDU4YzUxMGFiZjgxMmRkZmMyN2RmNmU4YzNjN2VhZTU4MGNk
YzEzNTk3OGYwMTY2NWUwMDNjMzAiLAorICAiNTQzMDA1OGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMz
ZjVmNWY1YzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlMDAzYzMwIgorKS5tYXAoY29sb3JzKTsKKwor
dmFyIEJyQkcgPSByYW1wKHNjaGVtZSk7CisKK3ZhciBzY2hlbWUkMSA9IG5ldyBBcnJheSgzKS5j
b25jYXQoCisgICJhZjhkYzNmN2Y3Zjc3ZmJmN2IiLAorICAiN2IzMjk0YzJhNWNmYTZkYmEwMDA4
ODM3IiwKKyAgIjdiMzI5NGMyYTVjZmY3ZjdmN2E2ZGJhMDAwODgzNyIsCisgICI3NjJhODNhZjhk
YzNlN2Q0ZThkOWYwZDM3ZmJmN2IxYjc4MzciLAorICAiNzYyYTgzYWY4ZGMzZTdkNGU4ZjdmN2Y3
ZDlmMGQzN2ZiZjdiMWI3ODM3IiwKKyAgIjc2MmE4Mzk5NzBhYmMyYTVjZmU3ZDRlOGQ5ZjBkM2E2
ZGJhMDVhYWU2MTFiNzgzNyIsCisgICI3NjJhODM5OTcwYWJjMmE1Y2ZlN2Q0ZThmN2Y3ZjdkOWYw
ZDNhNmRiYTA1YWFlNjExYjc4MzciLAorICAiNDAwMDRiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4
ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3MDA0NDFiIiwKKyAgIjQwMDA0Yjc2MmE4Mzk5NzBhYmMy
YTVjZmU3ZDRlOGY3ZjdmN2Q5ZjBkM2E2ZGJhMDVhYWU2MTFiNzgzNzAwNDQxYiIKKykubWFwKGNv
bG9ycyk7CisKK3ZhciBQUkduID0gcmFtcChzY2hlbWUkMSk7CisKK3ZhciBzY2hlbWUkMiA9IG5l
dyBBcnJheSgzKS5jb25jYXQoCisgICJlOWEzYzlmN2Y3ZjdhMWQ3NmEiLAorICAiZDAxYzhiZjFi
NmRhYjhlMTg2NGRhYzI2IiwKKyAgImQwMWM4YmYxYjZkYWY3ZjdmN2I4ZTE4NjRkYWMyNiIsCisg
ICJjNTFiN2RlOWEzYzlmZGUwZWZlNmY1ZDBhMWQ3NmE0ZDkyMjEiLAorICAiYzUxYjdkZTlhM2M5
ZmRlMGVmZjdmN2Y3ZTZmNWQwYTFkNzZhNGQ5MjIxIiwKKyAgImM1MWI3ZGRlNzdhZWYxYjZkYWZk
ZTBlZmU2ZjVkMGI4ZTE4NjdmYmM0MTRkOTIyMSIsCisgICJjNTFiN2RkZTc3YWVmMWI2ZGFmZGUw
ZWZmN2Y3ZjdlNmY1ZDBiOGUxODY3ZmJjNDE0ZDkyMjEiLAorICAiOGUwMTUyYzUxYjdkZGU3N2Fl
ZjFiNmRhZmRlMGVmZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxMjc2NDE5IiwKKyAgIjhlMDE1MmM1
MWI3ZGRlNzdhZWYxYjZkYWZkZTBlZmY3ZjdmN2U2ZjVkMGI4ZTE4NjdmYmM0MTRkOTIyMTI3NjQx
OSIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBQaVlHID0gcmFtcChzY2hlbWUkMik7CisKK3ZhciBz
Y2hlbWUkMyA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICI5OThlYzNmN2Y3ZjdmMWEzNDAiLAor
ICAiNWUzYzk5YjJhYmQyZmRiODYzZTY2MTAxIiwKKyAgIjVlM2M5OWIyYWJkMmY3ZjdmN2ZkYjg2
M2U2NjEwMSIsCisgICI1NDI3ODg5OThlYzNkOGRhZWJmZWUwYjZmMWEzNDBiMzU4MDYiLAorICAi
NTQyNzg4OTk4ZWMzZDhkYWViZjdmN2Y3ZmVlMGI2ZjFhMzQwYjM1ODA2IiwKKyAgIjU0Mjc4ODgw
NzNhY2IyYWJkMmQ4ZGFlYmZlZTBiNmZkYjg2M2UwODIxNGIzNTgwNiIsCisgICI1NDI3ODg4MDcz
YWNiMmFiZDJkOGRhZWJmN2Y3ZjdmZWUwYjZmZGI4NjNlMDgyMTRiMzU4MDYiLAorICAiMmQwMDRi
NTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2N2YzYjA4IiwK
KyAgIjJkMDA0YjU0Mjc4ODgwNzNhY2IyYWJkMmQ4ZGFlYmY3ZjdmN2ZlZTBiNmZkYjg2M2UwODIx
NGIzNTgwNjdmM2IwOCIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBQdU9yID0gcmFtcChzY2hlbWUk
Myk7CisKK3ZhciBzY2hlbWUkNCA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJlZjhhNjJmN2Y3
Zjc2N2E5Y2YiLAorICAiY2EwMDIwZjRhNTgyOTJjNWRlMDU3MWIwIiwKKyAgImNhMDAyMGY0YTU4
MmY3ZjdmNzkyYzVkZTA1NzFiMCIsCisgICJiMjE4MmJlZjhhNjJmZGRiYzdkMWU1ZjA2N2E5Y2Yy
MTY2YWMiLAorICAiYjIxODJiZWY4YTYyZmRkYmM3ZjdmN2Y3ZDFlNWYwNjdhOWNmMjE2NmFjIiwK
KyAgImIyMTgyYmQ2NjA0ZGY0YTU4MmZkZGJjN2QxZTVmMDkyYzVkZTQzOTNjMzIxNjZhYyIsCisg
ICJiMjE4MmJkNjYwNGRmNGE1ODJmZGRiYzdmN2Y3ZjdkMWU1ZjA5MmM1ZGU0MzkzYzMyMTY2YWMi
LAorICAiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2
NmFjMDUzMDYxIiwKKyAgIjY3MDAxZmIyMTgyYmQ2NjA0ZGY0YTU4MmZkZGJjN2Y3ZjdmN2QxZTVm
MDkyYzVkZTQzOTNjMzIxNjZhYzA1MzA2MSIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBSZEJ1ID0g
cmFtcChzY2hlbWUkNCk7CisKK3ZhciBzY2hlbWUkNSA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisg
ICJlZjhhNjJmZmZmZmY5OTk5OTkiLAorICAiY2EwMDIwZjRhNTgyYmFiYWJhNDA0MDQwIiwKKyAg
ImNhMDAyMGY0YTU4MmZmZmZmZmJhYmFiYTQwNDA0MCIsCisgICJiMjE4MmJlZjhhNjJmZGRiYzdl
MGUwZTA5OTk5OTk0ZDRkNGQiLAorICAiYjIxODJiZWY4YTYyZmRkYmM3ZmZmZmZmZTBlMGUwOTk5
OTk5NGQ0ZDRkIiwKKyAgImIyMTgyYmQ2NjA0ZGY0YTU4MmZkZGJjN2UwZTBlMGJhYmFiYTg3ODc4
NzRkNGQ0ZCIsCisgICJiMjE4MmJkNjYwNGRmNGE1ODJmZGRiYzdmZmZmZmZlMGUwZTBiYWJhYmE4
Nzg3ODc0ZDRkNGQiLAorICAiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZTBlMGUwYmFi
YWJhODc4Nzg3NGQ0ZDRkMWExYTFhIiwKKyAgIjY3MDAxZmIyMTgyYmQ2NjA0ZGY0YTU4MmZkZGJj
N2ZmZmZmZmUwZTBlMGJhYmFiYTg3ODc4NzRkNGQ0ZDFhMWExYSIKKykubWFwKGNvbG9ycyk7CisK
K3ZhciBSZEd5ID0gcmFtcChzY2hlbWUkNSk7CisKK3ZhciBzY2hlbWUkNiA9IG5ldyBBcnJheSgz
KS5jb25jYXQoCisgICJmYzhkNTlmZmZmYmY5MWJmZGIiLAorICAiZDcxOTFjZmRhZTYxYWJkOWU5
MmM3YmI2IiwKKyAgImQ3MTkxY2ZkYWU2MWZmZmZiZmFiZDllOTJjN2JiNiIsCisgICJkNzMwMjdm
YzhkNTlmZWUwOTBlMGYzZjg5MWJmZGI0NTc1YjQiLAorICAiZDczMDI3ZmM4ZDU5ZmVlMDkwZmZm
ZmJmZTBmM2Y4OTFiZmRiNDU3NWI0IiwKKyAgImQ3MzAyN2Y0NmQ0M2ZkYWU2MWZlZTA5MGUwZjNm
OGFiZDllOTc0YWRkMTQ1NzViNCIsCisgICJkNzMwMjdmNDZkNDNmZGFlNjFmZWUwOTBmZmZmYmZl
MGYzZjhhYmQ5ZTk3NGFkZDE0NTc1YjQiLAorICAiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVl
MDkwZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0MzEzNjk1IiwKKyAgImE1MDAyNmQ3MzAyN2Y0NmQ0
M2ZkYWU2MWZlZTA5MGZmZmZiZmUwZjNmOGFiZDllOTc0YWRkMTQ1NzViNDMxMzY5NSIKKykubWFw
KGNvbG9ycyk7CisKK3ZhciBSZFlsQnUgPSByYW1wKHNjaGVtZSQ2KTsKKwordmFyIHNjaGVtZSQ3
ID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImZjOGQ1OWZmZmZiZjkxY2Y2MCIsCisgICJkNzE5
MWNmZGFlNjFhNmQ5NmExYTk2NDEiLAorICAiZDcxOTFjZmRhZTYxZmZmZmJmYTZkOTZhMWE5NjQx
IiwKKyAgImQ3MzAyN2ZjOGQ1OWZlZTA4YmQ5ZWY4YjkxY2Y2MDFhOTg1MCIsCisgICJkNzMwMjdm
YzhkNTlmZWUwOGJmZmZmYmZkOWVmOGI5MWNmNjAxYTk4NTAiLAorICAiZDczMDI3ZjQ2ZDQzZmRh
ZTYxZmVlMDhiZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwIiwKKyAgImQ3MzAyN2Y0NmQ0M2ZkYWU2
MWZlZTA4YmZmZmZiZmQ5ZWY4YmE2ZDk2YTY2YmQ2MzFhOTg1MCIsCisgICJhNTAwMjZkNzMwMjdm
NDZkNDNmZGFlNjFmZWUwOGJkOWVmOGJhNmQ5NmE2NmJkNjMxYTk4NTAwMDY4MzciLAorICAiYTUw
MDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUw
MDA2ODM3IgorKS5tYXAoY29sb3JzKTsKKwordmFyIFJkWWxHbiA9IHJhbXAoc2NoZW1lJDcpOwor
Cit2YXIgc2NoZW1lJDggPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZmM4ZDU5ZmZmZmJmOTlk
NTk0IiwKKyAgImQ3MTkxY2ZkYWU2MWFiZGRhNDJiODNiYSIsCisgICJkNzE5MWNmZGFlNjFmZmZm
YmZhYmRkYTQyYjgzYmEiLAorICAiZDUzZTRmZmM4ZDU5ZmVlMDhiZTZmNTk4OTlkNTk0MzI4OGJk
IiwKKyAgImQ1M2U0ZmZjOGQ1OWZlZTA4YmZmZmZiZmU2ZjU5ODk5ZDU5NDMyODhiZCIsCisgICJk
NTNlNGZmNDZkNDNmZGFlNjFmZWUwOGJlNmY1OThhYmRkYTQ2NmMyYTUzMjg4YmQiLAorICAiZDUz
ZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkIiwKKyAg
IjllMDE0MmQ1M2U0ZmY0NmQ0M2ZkYWU2MWZlZTA4YmU2ZjU5OGFiZGRhNDY2YzJhNTMyODhiZDVl
NGZhMiIsCisgICI5ZTAxNDJkNTNlNGZmNDZkNDNmZGFlNjFmZWUwOGJmZmZmYmZlNmY1OThhYmRk
YTQ2NmMyYTUzMjg4YmQ1ZTRmYTIiCispLm1hcChjb2xvcnMpOworCit2YXIgU3BlY3RyYWwgPSBy
YW1wKHNjaGVtZSQ4KTsKKwordmFyIHNjaGVtZSQ5ID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAg
ImU1ZjVmOTk5ZDhjOTJjYTI1ZiIsCisgICJlZGY4ZmJiMmUyZTI2NmMyYTQyMzhiNDUiLAorICAi
ZWRmOGZiYjJlMmUyNjZjMmE0MmNhMjVmMDA2ZDJjIiwKKyAgImVkZjhmYmNjZWNlNjk5ZDhjOTY2
YzJhNDJjYTI1ZjAwNmQyYyIsCisgICJlZGY4ZmJjY2VjZTY5OWQ4Yzk2NmMyYTQ0MWFlNzYyMzhi
NDUwMDU4MjQiLAorICAiZjdmY2ZkZTVmNWY5Y2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2MjM4YjQ1
MDA1ODI0IiwKKyAgImY3ZmNmZGU1ZjVmOWNjZWNlNjk5ZDhjOTY2YzJhNDQxYWU3NjIzOGI0NTAw
NmQyYzAwNDQxYiIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBCdUduID0gcmFtcChzY2hlbWUkOSk7
CisKK3ZhciBzY2hlbWUkYSA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJlMGVjZjQ5ZWJjZGE4
ODU2YTciLAorICAiZWRmOGZiYjNjZGUzOGM5NmM2ODg0MTlkIiwKKyAgImVkZjhmYmIzY2RlMzhj
OTZjNjg4NTZhNzgxMGY3YyIsCisgICJlZGY4ZmJiZmQzZTY5ZWJjZGE4Yzk2YzY4ODU2YTc4MTBm
N2MiLAorICAiZWRmOGZiYmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkNmUwMTZiIiwKKyAg
ImY3ZmNmZGUwZWNmNGJmZDNlNjllYmNkYThjOTZjNjhjNmJiMTg4NDE5ZDZlMDE2YiIsCisgICJm
N2ZjZmRlMGVjZjRiZmQzZTY5ZWJjZGE4Yzk2YzY4YzZiYjE4ODQxOWQ4MTBmN2M0ZDAwNGIiCisp
Lm1hcChjb2xvcnMpOworCit2YXIgQnVQdSA9IHJhbXAoc2NoZW1lJGEpOworCit2YXIgc2NoZW1l
JGIgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZTBmM2RiYThkZGI1NDNhMmNhIiwKKyAgImYw
ZjllOGJhZTRiYzdiY2NjNDJiOGNiZSIsCisgICJmMGY5ZThiYWU0YmM3YmNjYzQ0M2EyY2EwODY4
YWMiLAorICAiZjBmOWU4Y2NlYmM1YThkZGI1N2JjY2M0NDNhMmNhMDg2OGFjIiwKKyAgImYwZjll
OGNjZWJjNWE4ZGRiNTdiY2NjNDRlYjNkMzJiOGNiZTA4NTg5ZSIsCisgICJmN2ZjZjBlMGYzZGJj
Y2ViYzVhOGRkYjU3YmNjYzQ0ZWIzZDMyYjhjYmUwODU4OWUiLAorICAiZjdmY2YwZTBmM2RiY2Nl
YmM1YThkZGI1N2JjY2M0NGViM2QzMmI4Y2JlMDg2OGFjMDg0MDgxIgorKS5tYXAoY29sb3JzKTsK
KwordmFyIEduQnUgPSByYW1wKHNjaGVtZSRiKTsKKwordmFyIHNjaGVtZSRjID0gbmV3IEFycmF5
KDMpLmNvbmNhdCgKKyAgImZlZThjOGZkYmI4NGUzNGEzMyIsCisgICJmZWYwZDlmZGNjOGFmYzhk
NTlkNzMwMWYiLAorICAiZmVmMGQ5ZmRjYzhhZmM4ZDU5ZTM0YTMzYjMwMDAwIiwKKyAgImZlZjBk
OWZkZDQ5ZWZkYmI4NGZjOGQ1OWUzNGEzM2IzMDAwMCIsCisgICJmZWYwZDlmZGQ0OWVmZGJiODRm
YzhkNTllZjY1NDhkNzMwMWY5OTAwMDAiLAorICAiZmZmN2VjZmVlOGM4ZmRkNDllZmRiYjg0ZmM4
ZDU5ZWY2NTQ4ZDczMDFmOTkwMDAwIiwKKyAgImZmZjdlY2ZlZThjOGZkZDQ5ZWZkYmI4NGZjOGQ1
OWVmNjU0OGQ3MzAxZmIzMDAwMDdmMDAwMCIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBPclJkID0g
cmFtcChzY2hlbWUkYyk7CisKK3ZhciBzY2hlbWUkZCA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisg
ICJlY2UyZjBhNmJkZGIxYzkwOTkiLAorICAiZjZlZmY3YmRjOWUxNjdhOWNmMDI4MThhIiwKKyAg
ImY2ZWZmN2JkYzllMTY3YTljZjFjOTA5OTAxNmM1OSIsCisgICJmNmVmZjdkMGQxZTZhNmJkZGI2
N2E5Y2YxYzkwOTkwMTZjNTkiLAorICAiZjZlZmY3ZDBkMWU2YTZiZGRiNjdhOWNmMzY5MGMwMDI4
MThhMDE2NDUwIiwKKyAgImZmZjdmYmVjZTJmMGQwZDFlNmE2YmRkYjY3YTljZjM2OTBjMDAyODE4
YTAxNjQ1MCIsCisgICJmZmY3ZmJlY2UyZjBkMGQxZTZhNmJkZGI2N2E5Y2YzNjkwYzAwMjgxOGEw
MTZjNTkwMTQ2MzYiCispLm1hcChjb2xvcnMpOworCit2YXIgUHVCdUduID0gcmFtcChzY2hlbWUk
ZCk7CisKK3ZhciBzY2hlbWUkZSA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJlY2U3ZjJhNmJk
ZGIyYjhjYmUiLAorICAiZjFlZWY2YmRjOWUxNzRhOWNmMDU3MGIwIiwKKyAgImYxZWVmNmJkYzll
MTc0YTljZjJiOGNiZTA0NWE4ZCIsCisgICJmMWVlZjZkMGQxZTZhNmJkZGI3NGE5Y2YyYjhjYmUw
NDVhOGQiLAorICAiZjFlZWY2ZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDM0ZTdiIiwK
KyAgImZmZjdmYmVjZTdmMmQwZDFlNmE2YmRkYjc0YTljZjM2OTBjMDA1NzBiMDAzNGU3YiIsCisg
ICJmZmY3ZmJlY2U3ZjJkMGQxZTZhNmJkZGI3NGE5Y2YzNjkwYzAwNTcwYjAwNDVhOGQwMjM4NTgi
CispLm1hcChjb2xvcnMpOworCit2YXIgUHVCdSA9IHJhbXAoc2NoZW1lJGUpOworCit2YXIgc2No
ZW1lJGYgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZTdlMWVmYzk5NGM3ZGQxYzc3IiwKKyAg
ImYxZWVmNmQ3YjVkOGRmNjViMGNlMTI1NiIsCisgICJmMWVlZjZkN2I1ZDhkZjY1YjBkZDFjNzc5
ODAwNDMiLAorICAiZjFlZWY2ZDRiOWRhYzk5NGM3ZGY2NWIwZGQxYzc3OTgwMDQzIiwKKyAgImYx
ZWVmNmQ0YjlkYWM5OTRjN2RmNjViMGU3Mjk4YWNlMTI1NjkxMDAzZiIsCisgICJmN2Y0ZjllN2Ux
ZWZkNGI5ZGFjOTk0YzdkZjY1YjBlNzI5OGFjZTEyNTY5MTAwM2YiLAorICAiZjdmNGY5ZTdlMWVm
ZDRiOWRhYzk5NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTgwMDQzNjcwMDFmIgorKS5tYXAoY29sb3Jz
KTsKKwordmFyIFB1UmQgPSByYW1wKHNjaGVtZSRmKTsKKwordmFyIHNjaGVtZSRnID0gbmV3IEFy
cmF5KDMpLmNvbmNhdCgKKyAgImZkZTBkZGZhOWZiNWM1MWI4YSIsCisgICJmZWViZTJmYmI0Yjlm
NzY4YTFhZTAxN2UiLAorICAiZmVlYmUyZmJiNGI5Zjc2OGExYzUxYjhhN2EwMTc3IiwKKyAgImZl
ZWJlMmZjYzVjMGZhOWZiNWY3NjhhMWM1MWI4YTdhMDE3NyIsCisgICJmZWViZTJmY2M1YzBmYTlm
YjVmNzY4YTFkZDM0OTdhZTAxN2U3YTAxNzciLAorICAiZmZmN2YzZmRlMGRkZmNjNWMwZmE5ZmI1
Zjc2OGExZGQzNDk3YWUwMTdlN2EwMTc3IiwKKyAgImZmZjdmM2ZkZTBkZGZjYzVjMGZhOWZiNWY3
NjhhMWRkMzQ5N2FlMDE3ZTdhMDE3NzQ5MDA2YSIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBSZFB1
ID0gcmFtcChzY2hlbWUkZyk7CisKK3ZhciBzY2hlbWUkaCA9IG5ldyBBcnJheSgzKS5jb25jYXQo
CisgICJlZGY4YjE3ZmNkYmIyYzdmYjgiLAorICAiZmZmZmNjYTFkYWI0NDFiNmM0MjI1ZWE4IiwK
KyAgImZmZmZjY2ExZGFiNDQxYjZjNDJjN2ZiODI1MzQ5NCIsCisgICJmZmZmY2NjN2U5YjQ3ZmNk
YmI0MWI2YzQyYzdmYjgyNTM0OTQiLAorICAiZmZmZmNjYzdlOWI0N2ZjZGJiNDFiNmM0MWQ5MWMw
MjI1ZWE4MGMyYzg0IiwKKyAgImZmZmZkOWVkZjhiMWM3ZTliNDdmY2RiYjQxYjZjNDFkOTFjMDIy
NWVhODBjMmM4NCIsCisgICJmZmZmZDllZGY4YjFjN2U5YjQ3ZmNkYmI0MWI2YzQxZDkxYzAyMjVl
YTgyNTM0OTQwODFkNTgiCispLm1hcChjb2xvcnMpOworCit2YXIgWWxHbkJ1ID0gcmFtcChzY2hl
bWUkaCk7CisKK3ZhciBzY2hlbWUkaSA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJmN2ZjYjlh
ZGRkOGUzMWEzNTQiLAorICAiZmZmZmNjYzJlNjk5NzhjNjc5MjM4NDQzIiwKKyAgImZmZmZjY2My
ZTY5OTc4YzY3OTMxYTM1NDAwNjgzNyIsCisgICJmZmZmY2NkOWYwYTNhZGRkOGU3OGM2NzkzMWEz
NTQwMDY4MzciLAorICAiZmZmZmNjZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQzMDA1YTMy
IiwKKyAgImZmZmZlNWY3ZmNiOWQ5ZjBhM2FkZGQ4ZTc4YzY3OTQxYWI1ZDIzODQ0MzAwNWEzMiIs
CisgICJmZmZmZTVmN2ZjYjlkOWYwYTNhZGRkOGU3OGM2Nzk0MWFiNWQyMzg0NDMwMDY4MzcwMDQ1
MjkiCispLm1hcChjb2xvcnMpOworCit2YXIgWWxHbiA9IHJhbXAoc2NoZW1lJGkpOworCit2YXIg
c2NoZW1lJGogPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZmZmN2JjZmVjNDRmZDk1ZjBlIiwK
KyAgImZmZmZkNGZlZDk4ZWZlOTkyOWNjNGMwMiIsCisgICJmZmZmZDRmZWQ5OGVmZTk5MjlkOTVm
MGU5OTM0MDQiLAorICAiZmZmZmQ0ZmVlMzkxZmVjNDRmZmU5OTI5ZDk1ZjBlOTkzNDA0IiwKKyAg
ImZmZmZkNGZlZTM5MWZlYzQ0ZmZlOTkyOWVjNzAxNGNjNGMwMjhjMmQwNCIsCisgICJmZmZmZTVm
ZmY3YmNmZWUzOTFmZWM0NGZmZTk5MjllYzcwMTRjYzRjMDI4YzJkMDQiLAorICAiZmZmZmU1ZmZm
N2JjZmVlMzkxZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOTkzNDA0NjYyNTA2IgorKS5tYXAoY29s
b3JzKTsKKwordmFyIFlsT3JCciA9IHJhbXAoc2NoZW1lJGopOworCit2YXIgc2NoZW1lJGsgPSBu
ZXcgQXJyYXkoMykuY29uY2F0KAorICAiZmZlZGEwZmViMjRjZjAzYjIwIiwKKyAgImZmZmZiMmZl
Y2M1Y2ZkOGQzY2UzMWExYyIsCisgICJmZmZmYjJmZWNjNWNmZDhkM2NmMDNiMjBiZDAwMjYiLAor
ICAiZmZmZmIyZmVkOTc2ZmViMjRjZmQ4ZDNjZjAzYjIwYmQwMDI2IiwKKyAgImZmZmZiMmZlZDk3
NmZlYjI0Y2ZkOGQzY2ZjNGUyYWUzMWExY2IxMDAyNiIsCisgICJmZmZmY2NmZmVkYTBmZWQ5NzZm
ZWIyNGNmZDhkM2NmYzRlMmFlMzFhMWNiMTAwMjYiLAorICAiZmZmZmNjZmZlZGEwZmVkOTc2ZmVi
MjRjZmQ4ZDNjZmM0ZTJhZTMxYTFjYmQwMDI2ODAwMDI2IgorKS5tYXAoY29sb3JzKTsKKwordmFy
IFlsT3JSZCA9IHJhbXAoc2NoZW1lJGspOworCit2YXIgc2NoZW1lJGwgPSBuZXcgQXJyYXkoMyku
Y29uY2F0KAorICAiZGVlYmY3OWVjYWUxMzE4MmJkIiwKKyAgImVmZjNmZmJkZDdlNzZiYWVkNjIx
NzFiNSIsCisgICJlZmYzZmZiZGQ3ZTc2YmFlZDYzMTgyYmQwODUxOWMiLAorICAiZWZmM2ZmYzZk
YmVmOWVjYWUxNmJhZWQ2MzE4MmJkMDg1MTljIiwKKyAgImVmZjNmZmM2ZGJlZjllY2FlMTZiYWVk
NjQyOTJjNjIxNzFiNTA4NDU5NCIsCisgICJmN2ZiZmZkZWViZjdjNmRiZWY5ZWNhZTE2YmFlZDY0
MjkyYzYyMTcxYjUwODQ1OTQiLAorICAiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJhZWQ2NDI5
MmM2MjE3MWI1MDg1MTljMDgzMDZiIgorKS5tYXAoY29sb3JzKTsKKwordmFyIEJsdWVzID0gcmFt
cChzY2hlbWUkbCk7CisKK3ZhciBzY2hlbWUkbSA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJl
NWY1ZTBhMWQ5OWIzMWEzNTQiLAorICAiZWRmOGU5YmFlNGIzNzRjNDc2MjM4YjQ1IiwKKyAgImVk
ZjhlOWJhZTRiMzc0YzQ3NjMxYTM1NDAwNmQyYyIsCisgICJlZGY4ZTljN2U5YzBhMWQ5OWI3NGM0
NzYzMWEzNTQwMDZkMmMiLAorICAiZWRmOGU5YzdlOWMwYTFkOTliNzRjNDc2NDFhYjVkMjM4YjQ1
MDA1YTMyIiwKKyAgImY3ZmNmNWU1ZjVlMGM3ZTljMGExZDk5Yjc0YzQ3NjQxYWI1ZDIzOGI0NTAw
NWEzMiIsCisgICJmN2ZjZjVlNWY1ZTBjN2U5YzBhMWQ5OWI3NGM0NzY0MWFiNWQyMzhiNDUwMDZk
MmMwMDQ0MWIiCispLm1hcChjb2xvcnMpOworCit2YXIgR3JlZW5zID0gcmFtcChzY2hlbWUkbSk7
CisKK3ZhciBzY2hlbWUkbiA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJmMGYwZjBiZGJkYmQ2
MzYzNjMiLAorICAiZjdmN2Y3Y2NjY2NjOTY5Njk2NTI1MjUyIiwKKyAgImY3ZjdmN2NjY2NjYzk2
OTY5NjYzNjM2MzI1MjUyNSIsCisgICJmN2Y3ZjdkOWQ5ZDliZGJkYmQ5Njk2OTY2MzYzNjMyNTI1
MjUiLAorICAiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1IiwKKyAg
ImZmZmZmZmYwZjBmMGQ5ZDlkOWJkYmRiZDk2OTY5NjczNzM3MzUyNTI1MjI1MjUyNSIsCisgICJm
ZmZmZmZmMGYwZjBkOWQ5ZDliZGJkYmQ5Njk2OTY3MzczNzM1MjUyNTIyNTI1MjUwMDAwMDAiCisp
Lm1hcChjb2xvcnMpOworCit2YXIgR3JleXMgPSByYW1wKHNjaGVtZSRuKTsKKwordmFyIHNjaGVt
ZSRvID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImVmZWRmNWJjYmRkYzc1NmJiMSIsCisgICJm
MmYwZjdjYmM5ZTI5ZTlhYzg2YTUxYTMiLAorICAiZjJmMGY3Y2JjOWUyOWU5YWM4NzU2YmIxNTQy
NzhmIiwKKyAgImYyZjBmN2RhZGFlYmJjYmRkYzllOWFjODc1NmJiMTU0Mjc4ZiIsCisgICJmMmYw
ZjdkYWRhZWJiY2JkZGM5ZTlhYzg4MDdkYmE2YTUxYTM0YTE0ODYiLAorICAiZmNmYmZkZWZlZGY1
ZGFkYWViYmNiZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNGExNDg2IiwKKyAgImZjZmJmZGVmZWRmNWRh
ZGFlYmJjYmRkYzllOWFjODgwN2RiYTZhNTFhMzU0Mjc4ZjNmMDA3ZCIKKykubWFwKGNvbG9ycyk7
CisKK3ZhciBQdXJwbGVzID0gcmFtcChzY2hlbWUkbyk7CisKK3ZhciBzY2hlbWUkcCA9IG5ldyBB
cnJheSgzKS5jb25jYXQoCisgICJmZWUwZDJmYzkyNzJkZTJkMjYiLAorICAiZmVlNWQ5ZmNhZTkx
ZmI2YTRhY2IxODFkIiwKKyAgImZlZTVkOWZjYWU5MWZiNmE0YWRlMmQyNmE1MGYxNSIsCisgICJm
ZWU1ZDlmY2JiYTFmYzkyNzJmYjZhNGFkZTJkMjZhNTBmMTUiLAorICAiZmVlNWQ5ZmNiYmExZmM5
MjcyZmI2YTRhZWYzYjJjY2IxODFkOTkwMDBkIiwKKyAgImZmZjVmMGZlZTBkMmZjYmJhMWZjOTI3
MmZiNmE0YWVmM2IyY2NiMTgxZDk5MDAwZCIsCisgICJmZmY1ZjBmZWUwZDJmY2JiYTFmYzkyNzJm
YjZhNGFlZjNiMmNjYjE4MWRhNTBmMTU2NzAwMGQiCispLm1hcChjb2xvcnMpOworCit2YXIgUmVk
cyA9IHJhbXAoc2NoZW1lJHApOworCit2YXIgc2NoZW1lJHEgPSBuZXcgQXJyYXkoMykuY29uY2F0
KAorICAiZmVlNmNlZmRhZTZiZTY1NTBkIiwKKyAgImZlZWRkZWZkYmU4NWZkOGQzY2Q5NDcwMSIs
CisgICJmZWVkZGVmZGJlODVmZDhkM2NlNjU1MGRhNjM2MDMiLAorICAiZmVlZGRlZmRkMGEyZmRh
ZTZiZmQ4ZDNjZTY1NTBkYTYzNjAzIiwKKyAgImZlZWRkZWZkZDBhMmZkYWU2YmZkOGQzY2YxNjkx
M2Q5NDgwMThjMmQwNCIsCisgICJmZmY1ZWJmZWU2Y2VmZGQwYTJmZGFlNmJmZDhkM2NmMTY5MTNk
OTQ4MDE4YzJkMDQiLAorICAiZmZmNWViZmVlNmNlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2OTEzZDk0
ODAxYTYzNjAzN2YyNzA0IgorKS5tYXAoY29sb3JzKTsKKwordmFyIE9yYW5nZXMgPSByYW1wKHNj
aGVtZSRxKTsKKworZnVuY3Rpb24gY2l2aWRpcyh0KSB7CisgIHQgPSBNYXRoLm1heCgwLCBNYXRo
Lm1pbigxLCB0KSk7CisgIHJldHVybiAicmdiKCIKKyAgICAgICsgTWF0aC5tYXgoMCwgTWF0aC5t
aW4oMjU1LCBNYXRoLnJvdW5kKC00LjU0IC0gdCAqICgzNS4zNCAtIHQgKiAoMjM4MS43MyAtIHQg
KiAoNjQwMi43IC0gdCAqICg3MDI0LjcyIC0gdCAqIDI3MTAuNTcpKSkpKSkpICsgIiwgIgorICAg
ICAgKyBNYXRoLm1heCgwLCBNYXRoLm1pbigyNTUsIE1hdGgucm91bmQoMzIuNDkgKyB0ICogKDE3
MC43MyArIHQgKiAoNTIuODIgLSB0ICogKDEzMS40NiAtIHQgKiAoMTc2LjU4IC0gdCAqIDY3LjM3
KSkpKSkpKSArICIsICIKKyAgICAgICsgTWF0aC5tYXgoMCwgTWF0aC5taW4oMjU1LCBNYXRoLnJv
dW5kKDgxLjI0ICsgdCAqICg0NDIuMzYgLSB0ICogKDI0ODIuNDMgLSB0ICogKDYxNjcuMjQgLSB0
ICogKDY2MTQuOTQgLSB0ICogMjQ3NS42NykpKSkpKSkKKyAgICAgICsgIikiOworfQorCit2YXIg
Y3ViZWhlbGl4JDMgPSBjdWJlaGVsaXhMb25nKGN1YmVoZWxpeCgzMDAsIDAuNSwgMC4wKSwgY3Vi
ZWhlbGl4KC0yNDAsIDAuNSwgMS4wKSk7CisKK3ZhciB3YXJtID0gY3ViZWhlbGl4TG9uZyhjdWJl
aGVsaXgoLTEwMCwgMC43NSwgMC4zNSksIGN1YmVoZWxpeCg4MCwgMS41MCwgMC44KSk7CisKK3Zh
ciBjb29sID0gY3ViZWhlbGl4TG9uZyhjdWJlaGVsaXgoMjYwLCAwLjc1LCAwLjM1KSwgY3ViZWhl
bGl4KDgwLCAxLjUwLCAwLjgpKTsKKwordmFyIGMgPSBjdWJlaGVsaXgoKTsKKworZnVuY3Rpb24g
cmFpbmJvdyh0KSB7CisgIGlmICh0IDwgMCB8fCB0ID4gMSkgdCAtPSBNYXRoLmZsb29yKHQpOwor
ICB2YXIgdHMgPSBNYXRoLmFicyh0IC0gMC41KTsKKyAgYy5oID0gMzYwICogdCAtIDEwMDsKKyAg
Yy5zID0gMS41IC0gMS41ICogdHM7CisgIGMubCA9IDAuOCAtIDAuOSAqIHRzOworICByZXR1cm4g
YyArICIiOworfQorCit2YXIgYyQxID0gcmdiKCksCisgICAgcGlfMV8zID0gTWF0aC5QSSAvIDMs
CisgICAgcGlfMl8zID0gTWF0aC5QSSAqIDIgLyAzOworCitmdW5jdGlvbiBzaW5lYm93KHQpIHsK
KyAgdmFyIHg7CisgIHQgPSAoMC41IC0gdCkgKiBNYXRoLlBJOworICBjJDEuciA9IDI1NSAqICh4
ID0gTWF0aC5zaW4odCkpICogeDsKKyAgYyQxLmcgPSAyNTUgKiAoeCA9IE1hdGguc2luKHQgKyBw
aV8xXzMpKSAqIHg7CisgIGMkMS5iID0gMjU1ICogKHggPSBNYXRoLnNpbih0ICsgcGlfMl8zKSkg
KiB4OworICByZXR1cm4gYyQxICsgIiI7Cit9CisKK2Z1bmN0aW9uIHR1cmJvKHQpIHsKKyAgdCA9
IE1hdGgubWF4KDAsIE1hdGgubWluKDEsIHQpKTsKKyAgcmV0dXJuICJyZ2IoIgorICAgICAgKyBN
YXRoLm1heCgwLCBNYXRoLm1pbigyNTUsIE1hdGgucm91bmQoMzQuNjEgKyB0ICogKDExNzIuMzMg
LSB0ICogKDEwNzkzLjU2IC0gdCAqICgzMzMwMC4xMiAtIHQgKiAoMzgzOTQuNDkgLSB0ICogMTQ4
MjUuMDUpKSkpKSkpICsgIiwgIgorICAgICAgKyBNYXRoLm1heCgwLCBNYXRoLm1pbigyNTUsIE1h
dGgucm91bmQoMjMuMzEgKyB0ICogKDU1Ny4zMyArIHQgKiAoMTIyNS4zMyAtIHQgKiAoMzU3NC45
NiAtIHQgKiAoMTA3My43NyArIHQgKiA3MDcuNTYpKSkpKSkpICsgIiwgIgorICAgICAgKyBNYXRo
Lm1heCgwLCBNYXRoLm1pbigyNTUsIE1hdGgucm91bmQoMjcuMiArIHQgKiAoMzIxMS4xIC0gdCAq
ICgxNTMyNy45NyAtIHQgKiAoMjc4MTQgLSB0ICogKDIyNTY5LjE4IC0gdCAqIDY4MzguNjYpKSkp
KSkpCisgICAgICArICIpIjsKK30KKworZnVuY3Rpb24gcmFtcCQxKHJhbmdlKSB7CisgIHZhciBu
ID0gcmFuZ2UubGVuZ3RoOworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHJldHVybiByYW5n
ZVtNYXRoLm1heCgwLCBNYXRoLm1pbihuIC0gMSwgTWF0aC5mbG9vcih0ICogbikpKV07CisgIH07
Cit9CisKK3ZhciB2aXJpZGlzID0gcmFtcCQxKGNvbG9ycygiNDQwMTU0NDQwMjU2NDUwNDU3NDUw
NTU5NDYwNzVhNDYwODVjNDYwYTVkNDYwYjVlNDcwZDYwNDcwZTYxNDcxMDYzNDcxMTY0NDcxMzY1
NDgxNDY3NDgxNjY4NDgxNzY5NDgxODZhNDgxYTZjNDgxYjZkNDgxYzZlNDgxZDZmNDgxZjcwNDgy
MDcxNDgyMTczNDgyMzc0NDgyNDc1NDgyNTc2NDgyNjc3NDgyODc4NDgyOTc5NDcyYTdhNDcyYzdh
NDcyZDdiNDcyZTdjNDcyZjdkNDYzMDdlNDYzMjdlNDYzMzdmNDYzNDgwNDUzNTgxNDUzNzgxNDUz
ODgyNDQzOTgzNDQzYTgzNDQzYjg0NDMzZDg0NDMzZTg1NDIzZjg1NDI0MDg2NDI0MTg2NDE0Mjg3
NDE0NDg3NDA0NTg4NDA0Njg4M2Y0Nzg4M2Y0ODg5M2U0OTg5M2U0YTg5M2U0YzhhM2Q0ZDhhM2Q0
ZThhM2M0ZjhhM2M1MDhiM2I1MThiM2I1MjhiM2E1MzhiM2E1NDhjMzk1NThjMzk1NjhjMzg1ODhj
Mzg1OThjMzc1YThjMzc1YjhkMzY1YzhkMzY1ZDhkMzU1ZThkMzU1ZjhkMzQ2MDhkMzQ2MThkMzM2
MjhkMzM2MzhkMzI2NDhlMzI2NThlMzE2NjhlMzE2NzhlMzE2ODhlMzA2OThlMzA2YThlMmY2Yjhl
MmY2YzhlMmU2ZDhlMmU2ZThlMmU2ZjhlMmQ3MDhlMmQ3MThlMmM3MThlMmM3MjhlMmM3MzhlMmI3
NDhlMmI3NThlMmE3NjhlMmE3NzhlMmE3ODhlMjk3OThlMjk3YThlMjk3YjhlMjg3YzhlMjg3ZDhl
Mjc3ZThlMjc3ZjhlMjc4MDhlMjY4MThlMjY4MjhlMjY4MjhlMjU4MzhlMjU4NDhlMjU4NThlMjQ4
NjhlMjQ4NzhlMjM4ODhlMjM4OThlMjM4YThkMjI4YjhkMjI4YzhkMjI4ZDhkMjE4ZThkMjE4Zjhk
MjE5MDhkMjE5MThjMjA5MjhjMjA5MjhjMjA5MzhjMWY5NDhjMWY5NThiMWY5NjhiMWY5NzhiMWY5
ODhiMWY5OThhMWY5YThhMWU5YjhhMWU5Yzg5MWU5ZDg5MWY5ZTg5MWY5Zjg4MWZhMDg4MWZhMTg4
MWZhMTg3MWZhMjg3MjBhMzg2MjBhNDg2MjFhNTg1MjFhNjg1MjJhNzg1MjJhODg0MjNhOTgzMjRh
YTgzMjVhYjgyMjVhYzgyMjZhZDgxMjdhZDgxMjhhZTgwMjlhZjdmMmFiMDdmMmNiMTdlMmRiMjdk
MmViMzdjMmZiNDdjMzFiNTdiMzJiNjdhMzRiNjc5MzViNzc5MzdiODc4MzhiOTc3M2FiYTc2M2Ji
Yjc1M2RiYzc0M2ZiYzczNDBiZDcyNDJiZTcxNDRiZjcwNDZjMDZmNDhjMTZlNGFjMTZkNGNjMjZj
NGVjMzZiNTBjNDZhNTJjNTY5NTRjNTY4NTZjNjY3NThjNzY1NWFjODY0NWNjODYzNWVjOTYyNjBj
YTYwNjNjYjVmNjVjYjVlNjdjYzVjNjljZDViNmNjZDVhNmVjZTU4NzBjZjU3NzNkMDU2NzVkMDU0
NzdkMTUzN2FkMTUxN2NkMjUwN2ZkMzRlODFkMzRkODRkNDRiODZkNTQ5ODlkNTQ4OGJkNjQ2OGVk
NjQ1OTBkNzQzOTNkNzQxOTVkODQwOThkODNlOWJkOTNjOWRkOTNiYTBkYTM5YTJkYTM3YTVkYjM2
YThkYjM0YWFkYzMyYWRkYzMwYjBkZDJmYjJkZDJkYjVkZTJiYjhkZTI5YmFkZTI4YmRkZjI2YzBk
ZjI1YzJkZjIzYzVlMDIxYzhlMDIwY2FlMTFmY2RlMTFkZDBlMTFjZDJlMjFiZDVlMjFhZDhlMjE5
ZGFlMzE5ZGRlMzE4ZGZlMzE4ZTJlNDE4ZTVlNDE5ZTdlNDE5ZWFlNTFhZWNlNTFiZWZlNTFjZjFl
NTFkZjRlNjFlZjZlNjIwZjhlNjIxZmJlNzIzZmRlNzI1IikpOworCit2YXIgbWFnbWEgPSByYW1w
JDEoY29sb3JzKCIwMDAwMDQwMTAwMDUwMTAxMDYwMTAxMDgwMjAxMDkwMjAyMGIwMjAyMGQwMzAz
MGYwMzAzMTIwNDA0MTQwNTA0MTYwNjA1MTgwNjA1MWEwNzA2MWMwODA3MWUwOTA3MjAwYTA4MjIw
YjA5MjQwYzA5MjYwZDBhMjkwZTBiMmIxMDBiMmQxMTBjMmYxMjBkMzExMzBkMzQxNDBlMzYxNTBl
MzgxNjBmM2IxODBmM2QxOTEwM2YxYTEwNDIxYzEwNDQxZDExNDcxZTExNDkyMDExNGIyMTExNGUy
MjExNTAyNDEyNTMyNTEyNTUyNzEyNTgyOTExNWEyYTExNWMyYzExNWYyZDExNjEyZjExNjMzMTEx
NjUzMzEwNjczNDEwNjkzNjEwNmIzODEwNmMzOTBmNmUzYjBmNzAzZDBmNzEzZjBmNzI0MDBmNzQ0
MjBmNzU0NDBmNzY0NTEwNzc0NzEwNzg0OTEwNzg0YTEwNzk0YzExN2E0ZTExN2I0ZjEyN2I1MTEy
N2M1MjEzN2M1NDEzN2Q1NjE0N2Q1NzE1N2U1OTE1N2U1YTE2N2U1YzE2N2Y1ZDE3N2Y1ZjE4N2Y2
MDE4ODA2MjE5ODA2NDFhODA2NTFhODA2NzFiODA2ODFjODE2YTFjODE2YjFkODE2ZDFkODE2ZTFl
ODE3MDFmODE3MjFmODE3MzIwODE3NTIxODE3NjIxODE3ODIyODE3OTIyODI3YjIzODI3YzIzODI3
ZTI0ODI4MDI1ODI4MTI1ODE4MzI2ODE4NDI2ODE4NjI3ODE4ODI3ODE4OTI4ODE4YjI5ODE4YzI5
ODE4ZTJhODE5MDJhODE5MTJiODE5MzJiODA5NDJjODA5NjJjODA5ODJkODA5OTJkODA5YjJlN2Y5
YzJlN2Y5ZTJmN2ZhMDJmN2ZhMTMwN2VhMzMwN2VhNTMxN2VhNjMxN2RhODMyN2RhYTMzN2RhYjMz
N2NhZDM0N2NhZTM0N2JiMDM1N2JiMjM1N2JiMzM2N2FiNTM2N2FiNzM3NzliODM3NzliYTM4Nzhi
YzM5NzhiZDM5NzdiZjNhNzdjMDNhNzZjMjNiNzVjNDNjNzVjNTNjNzRjNzNkNzNjODNlNzNjYTNl
NzJjYzNmNzFjZDQwNzFjZjQwNzBkMDQxNmZkMjQyNmZkMzQzNmVkNTQ0NmRkNjQ1NmNkODQ1NmNk
OTQ2NmJkYjQ3NmFkYzQ4NjlkZTQ5NjhkZjRhNjhlMDRjNjdlMjRkNjZlMzRlNjVlNDRmNjRlNTUw
NjRlNzUyNjNlODUzNjJlOTU0NjJlYTU2NjFlYjU3NjBlYzU4NjBlZDVhNWZlZTViNWVlZjVkNWVm
MDVmNWVmMTYwNWRmMjYyNWRmMjY0NWNmMzY1NWNmNDY3NWNmNDY5NWNmNTZiNWNmNjZjNWNmNjZl
NWNmNzcwNWNmNzcyNWNmODc0NWNmODc2NWNmOTc4NWRmOTc5NWRmOTdiNWRmYTdkNWVmYTdmNWVm
YTgxNWZmYjgzNWZmYjg1NjBmYjg3NjFmYzg5NjFmYzhhNjJmYzhjNjNmYzhlNjRmYzkwNjVmZDky
NjZmZDk0NjdmZDk2NjhmZDk4NjlmZDlhNmFmZDliNmJmZTlkNmNmZTlmNmRmZWExNmVmZWEzNmZm
ZWE1NzFmZWE3NzJmZWE5NzNmZWFhNzRmZWFjNzZmZWFlNzdmZWIwNzhmZWIyN2FmZWI0N2JmZWI2
N2NmZWI3N2VmZWI5N2ZmZWJiODFmZWJkODJmZWJmODRmZWMxODVmZWMyODdmZWM0ODhmZWM2OGFm
ZWM4OGNmZWNhOGRmZWNjOGZmZWNkOTBmZWNmOTJmZWQxOTRmZWQzOTVmZWQ1OTdmZWQ3OTlmZWQ4
OWFmZGRhOWNmZGRjOWVmZGRlYTBmZGUwYTFmZGUyYTNmZGUzYTVmZGU1YTdmZGU3YTlmZGU5YWFm
ZGViYWNmY2VjYWVmY2VlYjBmY2YwYjJmY2YyYjRmY2Y0YjZmY2Y2YjhmY2Y3YjlmY2Y5YmJmY2Zi
YmRmY2ZkYmYiKSk7CisKK3ZhciBpbmZlcm5vID0gcmFtcCQxKGNvbG9ycygiMDAwMDA0MDEwMDA1
MDEwMTA2MDEwMTA4MDIwMTBhMDIwMjBjMDIwMjBlMDMwMjEwMDQwMzEyMDQwMzE0MDUwNDE3MDYw
NDE5MDcwNTFiMDgwNTFkMDkwNjFmMGEwNzIyMGIwNzI0MGMwODI2MGQwODI5MGUwOTJiMTAwOTJk
MTEwYTMwMTIwYTMyMTQwYjM0MTUwYjM3MTYwYjM5MTgwYzNjMTkwYzNlMWIwYzQxMWMwYzQzMWUw
YzQ1MWYwYzQ4MjEwYzRhMjMwYzRjMjQwYzRmMjYwYzUxMjgwYjUzMjkwYjU1MmIwYjU3MmQwYjU5
MmYwYTViMzEwYTVjMzIwYTVlMzQwYTVmMzYwOTYxMzgwOTYyMzkwOTYzM2IwOTY0M2QwOTY1M2Uw
OTY2NDAwYTY3NDIwYTY4NDQwYTY4NDUwYTY5NDcwYjZhNDkwYjZhNGEwYzZiNGMwYzZiNGQwZDZj
NGYwZDZjNTEwZTZjNTIwZTZkNTQwZjZkNTUwZjZkNTcxMDZlNTkxMDZlNWExMTZlNWMxMjZlNWQx
MjZlNWYxMzZlNjExMzZlNjIxNDZlNjQxNTZlNjUxNTZlNjcxNjZlNjkxNjZlNmExNzZlNmMxODZl
NmQxODZlNmYxOTZlNzExOTZlNzIxYTZlNzQxYTZlNzUxYjZlNzcxYzZkNzgxYzZkN2ExZDZkN2Mx
ZDZkN2QxZTZkN2YxZTZjODAxZjZjODIyMDZjODQyMDZiODUyMTZiODcyMTZiODgyMjZhOGEyMjZh
OGMyMzY5OGQyMzY5OGYyNDY5OTAyNTY4OTIyNTY4OTMyNjY3OTUyNjY3OTcyNzY2OTgyNzY2OWEy
ODY1OWIyOTY0OWQyOTY0OWYyYTYzYTAyYTYzYTIyYjYyYTMyYzYxYTUyYzYwYTYyZDYwYTgyZTVm
YTkyZTVlYWIyZjVlYWQzMDVkYWUzMDVjYjAzMTViYjEzMjVhYjMzMjVhYjQzMzU5YjYzNDU4Yjcz
NTU3YjkzNTU2YmEzNjU1YmMzNzU0YmQzODUzYmYzOTUyYzAzYTUxYzEzYTUwYzMzYjRmYzQzYzRl
YzYzZDRkYzczZTRjYzgzZjRiY2E0MDRhY2I0MTQ5Y2M0MjQ4Y2U0MzQ3Y2Y0NDQ2ZDA0NTQ1ZDI0
NjQ0ZDM0NzQzZDQ0ODQyZDU0YTQxZDc0YjNmZDg0YzNlZDk0ZDNkZGE0ZTNjZGI1MDNiZGQ1MTNh
ZGU1MjM4ZGY1MzM3ZTA1NTM2ZTE1NjM1ZTI1NzM0ZTM1OTMzZTQ1YTMxZTU1YzMwZTY1ZDJmZTc1
ZTJlZTg2MDJkZTk2MTJiZWE2MzJhZWI2NDI5ZWI2NjI4ZWM2NzI2ZWQ2OTI1ZWU2YTI0ZWY2YzIz
ZWY2ZTIxZjA2ZjIwZjE3MTFmZjE3MzFkZjI3NDFjZjM3NjFiZjM3ODE5ZjQ3OTE4ZjU3YjE3ZjU3
ZDE1ZjY3ZTE0ZjY4MDEzZjc4MjEyZjc4NDEwZjg4NTBmZjg4NzBlZjg4OTBjZjk4YjBiZjk4YzBh
Zjk4ZTA5ZmE5MDA4ZmE5MjA3ZmE5NDA3ZmI5NjA2ZmI5NzA2ZmI5OTA2ZmI5YjA2ZmI5ZDA3ZmM5
ZjA3ZmNhMTA4ZmNhMzA5ZmNhNTBhZmNhNjBjZmNhODBkZmNhYTBmZmNhYzExZmNhZTEyZmNiMDE0
ZmNiMjE2ZmNiNDE4ZmJiNjFhZmJiODFkZmJiYTFmZmJiYzIxZmJiZTIzZmFjMDI2ZmFjMjI4ZmFj
NDJhZmFjNjJkZjljNzJmZjljOTMyZjljYjM1ZjhjZDM3ZjhjZjNhZjdkMTNkZjdkMzQwZjZkNTQz
ZjZkNzQ2ZjVkOTQ5ZjVkYjRjZjRkZDRmZjRkZjUzZjRlMTU2ZjNlMzVhZjNlNTVkZjJlNjYxZjJl
ODY1ZjJlYTY5ZjFlYzZkZjFlZDcxZjFlZjc1ZjFmMTc5ZjJmMjdkZjJmNDgyZjNmNTg2ZjNmNjhh
ZjRmODhlZjVmOTkyZjZmYTk2ZjhmYjlhZjlmYzlkZmFmZGExZmNmZmE0IikpOworCit2YXIgcGxh
c21hID0gcmFtcCQxKGNvbG9ycygiMGQwODg3MTAwNzg4MTMwNzg5MTYwNzhhMTkwNjhjMWIwNjhk
MWQwNjhlMjAwNjhmMjIwNjkwMjQwNjkxMjYwNTkxMjgwNTkyMmEwNTkzMmMwNTk0MmUwNTk1MmYw
NTk2MzEwNTk3MzMwNTk3MzUwNDk4MzcwNDk5MzgwNDlhM2EwNDlhM2MwNDliM2UwNDljM2YwNDlj
NDEwNDlkNDMwMzllNDQwMzllNDYwMzlmNDgwMzlmNDkwM2EwNGIwM2ExNGMwMmExNGUwMmEyNTAw
MmEyNTEwMmEzNTMwMmEzNTUwMmE0NTYwMWE0NTgwMWE0NTkwMWE1NWIwMWE1NWMwMWE2NWUwMWE2
NjAwMWE2NjEwMGE3NjMwMGE3NjQwMGE3NjYwMGE3NjcwMGE4NjkwMGE4NmEwMGE4NmMwMGE4NmUw
MGE4NmYwMGE4NzEwMGE4NzIwMWE4NzQwMWE4NzUwMWE4NzcwMWE4NzgwMWE4N2EwMmE4N2IwMmE4
N2QwM2E4N2UwM2E4ODAwNGE4ODEwNGE3ODMwNWE3ODQwNWE3ODYwNmE2ODcwN2E2ODgwOGE2OGEw
OWE1OGIwYWE1OGQwYmE1OGUwY2E0OGYwZGE0OTEwZWEzOTIwZmEzOTQxMGEyOTUxMWExOTYxM2Ex
OTgxNGEwOTkxNTlmOWExNjlmOWMxNzllOWQxODlkOWUxOTlkYTAxYTljYTExYjliYTIxZDlhYTMx
ZTlhYTUxZjk5YTYyMDk4YTcyMTk3YTgyMjk2YWEyMzk1YWIyNDk0YWMyNjk0YWQyNzkzYWUyODky
YjAyOTkxYjEyYTkwYjIyYjhmYjMyYzhlYjQyZThkYjUyZjhjYjYzMDhiYjczMThhYjgzMjg5YmEz
Mzg4YmIzNDg4YmMzNTg3YmQzNzg2YmUzODg1YmYzOTg0YzAzYTgzYzEzYjgyYzIzYzgxYzMzZDgw
YzQzZTdmYzU0MDdlYzY0MTdkYzc0MjdjYzg0MzdiYzk0NDdhY2E0NTdhY2I0Njc5Y2M0Nzc4Y2M0
OTc3Y2Q0YTc2Y2U0Yjc1Y2Y0Yzc0ZDA0ZDczZDE0ZTcyZDI0ZjcxZDM1MTcxZDQ1MjcwZDU1MzZm
ZDU1NDZlZDY1NTZkZDc1NjZjZDg1NzZiZDk1ODZhZGE1YTZhZGE1YjY5ZGI1YzY4ZGM1ZDY3ZGQ1
ZTY2ZGU1ZjY1ZGU2MTY0ZGY2MjYzZTA2MzYzZTE2NDYyZTI2NTYxZTI2NjYwZTM2ODVmZTQ2OTVl
ZTU2YTVkZTU2YjVkZTY2YzVjZTc2ZTViZTc2ZjVhZTg3MDU5ZTk3MTU4ZTk3MjU3ZWE3NDU3ZWI3
NTU2ZWI3NjU1ZWM3NzU0ZWQ3OTUzZWQ3YTUyZWU3YjUxZWY3YzUxZWY3ZTUwZjA3ZjRmZjA4MDRl
ZjE4MTRkZjE4MzRjZjI4NDRiZjM4NTRiZjM4NzRhZjQ4ODQ5ZjQ4OTQ4ZjU4YjQ3ZjU4YzQ2ZjY4
ZDQ1ZjY4ZjQ0Zjc5MDQ0Zjc5MTQzZjc5MzQyZjg5NDQxZjg5NTQwZjk5NzNmZjk5ODNlZjk5YTNl
ZmE5YjNkZmE5YzNjZmE5ZTNiZmI5ZjNhZmJhMTM5ZmJhMjM4ZmNhMzM4ZmNhNTM3ZmNhNjM2ZmNh
ODM1ZmNhOTM0ZmRhYjMzZmRhYzMzZmRhZTMyZmRhZjMxZmRiMTMwZmRiMjJmZmRiNDJmZmRiNTJl
ZmViNzJkZmViODJjZmViYTJjZmViYjJiZmViZDJhZmViZTJhZmVjMDI5ZmRjMjI5ZmRjMzI4ZmRj
NTI3ZmRjNjI3ZmRjODI3ZmRjYTI2ZmRjYjI2ZmNjZDI1ZmNjZTI1ZmNkMDI1ZmNkMjI1ZmJkMzI0
ZmJkNTI0ZmJkNzI0ZmFkODI0ZmFkYTI0ZjlkYzI0ZjlkZDI1ZjhkZjI1ZjhlMTI1ZjdlMjI1Zjdl
NDI1ZjZlNjI2ZjZlODI2ZjVlOTI2ZjVlYjI3ZjRlZDI3ZjNlZTI3ZjNmMDI3ZjJmMjI3ZjFmNDI2
ZjFmNTI1ZjBmNzI0ZjBmOTIxIikpOworCitmdW5jdGlvbiBjb25zdGFudCRiKHgpIHsKKyAgcmV0
dXJuIGZ1bmN0aW9uIGNvbnN0YW50KCkgeworICAgIHJldHVybiB4OworICB9OworfQorCit2YXIg
YWJzJDEgPSBNYXRoLmFiczsKK3ZhciBhdGFuMiQxID0gTWF0aC5hdGFuMjsKK3ZhciBjb3MkMiA9
IE1hdGguY29zOwordmFyIG1heCQyID0gTWF0aC5tYXg7Cit2YXIgbWluJDEgPSBNYXRoLm1pbjsK
K3ZhciBzaW4kMiA9IE1hdGguc2luOwordmFyIHNxcnQkMiA9IE1hdGguc3FydDsKKwordmFyIGVw
c2lsb24kMyA9IDFlLTEyOwordmFyIHBpJDQgPSBNYXRoLlBJOwordmFyIGhhbGZQaSQzID0gcGkk
NCAvIDI7Cit2YXIgdGF1JDQgPSAyICogcGkkNDsKKworZnVuY3Rpb24gYWNvcyQxKHgpIHsKKyAg
cmV0dXJuIHggPiAxID8gMCA6IHggPCAtMSA/IHBpJDQgOiBNYXRoLmFjb3MoeCk7Cit9CisKK2Z1
bmN0aW9uIGFzaW4kMSh4KSB7CisgIHJldHVybiB4ID49IDEgPyBoYWxmUGkkMyA6IHggPD0gLTEg
PyAtaGFsZlBpJDMgOiBNYXRoLmFzaW4oeCk7Cit9CisKK2Z1bmN0aW9uIGFyY0lubmVyUmFkaXVz
KGQpIHsKKyAgcmV0dXJuIGQuaW5uZXJSYWRpdXM7Cit9CisKK2Z1bmN0aW9uIGFyY091dGVyUmFk
aXVzKGQpIHsKKyAgcmV0dXJuIGQub3V0ZXJSYWRpdXM7Cit9CisKK2Z1bmN0aW9uIGFyY1N0YXJ0
QW5nbGUoZCkgeworICByZXR1cm4gZC5zdGFydEFuZ2xlOworfQorCitmdW5jdGlvbiBhcmNFbmRB
bmdsZShkKSB7CisgIHJldHVybiBkLmVuZEFuZ2xlOworfQorCitmdW5jdGlvbiBhcmNQYWRBbmds
ZShkKSB7CisgIHJldHVybiBkICYmIGQucGFkQW5nbGU7IC8vIE5vdGU6IG9wdGlvbmFsIQorfQor
CitmdW5jdGlvbiBpbnRlcnNlY3QoeDAsIHkwLCB4MSwgeTEsIHgyLCB5MiwgeDMsIHkzKSB7Cisg
IHZhciB4MTAgPSB4MSAtIHgwLCB5MTAgPSB5MSAtIHkwLAorICAgICAgeDMyID0geDMgLSB4Miwg
eTMyID0geTMgLSB5MiwKKyAgICAgIHQgPSB5MzIgKiB4MTAgLSB4MzIgKiB5MTA7CisgIGlmICh0
ICogdCA8IGVwc2lsb24kMykgcmV0dXJuOworICB0ID0gKHgzMiAqICh5MCAtIHkyKSAtIHkzMiAq
ICh4MCAtIHgyKSkgLyB0OworICByZXR1cm4gW3gwICsgdCAqIHgxMCwgeTAgKyB0ICogeTEwXTsK
K30KKworLy8gQ29tcHV0ZSBwZXJwZW5kaWN1bGFyIG9mZnNldCBsaW5lIG9mIGxlbmd0aCByYy4K
Ky8vIGh0dHA6Ly9tYXRod29ybGQud29sZnJhbS5jb20vQ2lyY2xlLUxpbmVJbnRlcnNlY3Rpb24u
aHRtbAorZnVuY3Rpb24gY29ybmVyVGFuZ2VudHMoeDAsIHkwLCB4MSwgeTEsIHIxLCByYywgY3cp
IHsKKyAgdmFyIHgwMSA9IHgwIC0geDEsCisgICAgICB5MDEgPSB5MCAtIHkxLAorICAgICAgbG8g
PSAoY3cgPyByYyA6IC1yYykgLyBzcXJ0JDIoeDAxICogeDAxICsgeTAxICogeTAxKSwKKyAgICAg
IG94ID0gbG8gKiB5MDEsCisgICAgICBveSA9IC1sbyAqIHgwMSwKKyAgICAgIHgxMSA9IHgwICsg
b3gsCisgICAgICB5MTEgPSB5MCArIG95LAorICAgICAgeDEwID0geDEgKyBveCwKKyAgICAgIHkx
MCA9IHkxICsgb3ksCisgICAgICB4MDAgPSAoeDExICsgeDEwKSAvIDIsCisgICAgICB5MDAgPSAo
eTExICsgeTEwKSAvIDIsCisgICAgICBkeCA9IHgxMCAtIHgxMSwKKyAgICAgIGR5ID0geTEwIC0g
eTExLAorICAgICAgZDIgPSBkeCAqIGR4ICsgZHkgKiBkeSwKKyAgICAgIHIgPSByMSAtIHJjLAor
ICAgICAgRCA9IHgxMSAqIHkxMCAtIHgxMCAqIHkxMSwKKyAgICAgIGQgPSAoZHkgPCAwID8gLTEg
OiAxKSAqIHNxcnQkMihtYXgkMigwLCByICogciAqIGQyIC0gRCAqIEQpKSwKKyAgICAgIGN4MCA9
IChEICogZHkgLSBkeCAqIGQpIC8gZDIsCisgICAgICBjeTAgPSAoLUQgKiBkeCAtIGR5ICogZCkg
LyBkMiwKKyAgICAgIGN4MSA9IChEICogZHkgKyBkeCAqIGQpIC8gZDIsCisgICAgICBjeTEgPSAo
LUQgKiBkeCArIGR5ICogZCkgLyBkMiwKKyAgICAgIGR4MCA9IGN4MCAtIHgwMCwKKyAgICAgIGR5
MCA9IGN5MCAtIHkwMCwKKyAgICAgIGR4MSA9IGN4MSAtIHgwMCwKKyAgICAgIGR5MSA9IGN5MSAt
IHkwMDsKKworICAvLyBQaWNrIHRoZSBjbG9zZXIgb2YgdGhlIHR3byBpbnRlcnNlY3Rpb24gcG9p
bnRzLgorICAvLyBUT0RPIElzIHRoZXJlIGEgZmFzdGVyIHdheSB0byBkZXRlcm1pbmUgd2hpY2gg
aW50ZXJzZWN0aW9uIHRvIHVzZT8KKyAgaWYgKGR4MCAqIGR4MCArIGR5MCAqIGR5MCA+IGR4MSAq
IGR4MSArIGR5MSAqIGR5MSkgY3gwID0gY3gxLCBjeTAgPSBjeTE7CisKKyAgcmV0dXJuIHsKKyAg
ICBjeDogY3gwLAorICAgIGN5OiBjeTAsCisgICAgeDAxOiAtb3gsCisgICAgeTAxOiAtb3ksCisg
ICAgeDExOiBjeDAgKiAocjEgLyByIC0gMSksCisgICAgeTExOiBjeTAgKiAocjEgLyByIC0gMSkK
KyAgfTsKK30KKworZnVuY3Rpb24gYXJjKCkgeworICB2YXIgaW5uZXJSYWRpdXMgPSBhcmNJbm5l
clJhZGl1cywKKyAgICAgIG91dGVyUmFkaXVzID0gYXJjT3V0ZXJSYWRpdXMsCisgICAgICBjb3Ju
ZXJSYWRpdXMgPSBjb25zdGFudCRiKDApLAorICAgICAgcGFkUmFkaXVzID0gbnVsbCwKKyAgICAg
IHN0YXJ0QW5nbGUgPSBhcmNTdGFydEFuZ2xlLAorICAgICAgZW5kQW5nbGUgPSBhcmNFbmRBbmds
ZSwKKyAgICAgIHBhZEFuZ2xlID0gYXJjUGFkQW5nbGUsCisgICAgICBjb250ZXh0ID0gbnVsbDsK
KworICBmdW5jdGlvbiBhcmMoKSB7CisgICAgdmFyIGJ1ZmZlciwKKyAgICAgICAgciwKKyAgICAg
ICAgcjAgPSAraW5uZXJSYWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRzKSwKKyAgICAgICAgcjEg
PSArb3V0ZXJSYWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRzKSwKKyAgICAgICAgYTAgPSBzdGFy
dEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgLSBoYWxmUGkkMywKKyAgICAgICAgYTEgPSBl
bmRBbmdsZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpIC0gaGFsZlBpJDMsCisgICAgICAgIGRhID0g
YWJzJDEoYTEgLSBhMCksCisgICAgICAgIGN3ID0gYTEgPiBhMDsKKworICAgIGlmICghY29udGV4
dCkgY29udGV4dCA9IGJ1ZmZlciA9IHBhdGgoKTsKKworICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBv
dXRlciByYWRpdXMgaXMgYWx3YXlzIGxhcmdlciB0aGFuIHRoZSBpbm5lciByYWRpdXMuCisgICAg
aWYgKHIxIDwgcjApIHIgPSByMSwgcjEgPSByMCwgcjAgPSByOworCisgICAgLy8gSXMgaXQgYSBw
b2ludD8KKyAgICBpZiAoIShyMSA+IGVwc2lsb24kMykpIGNvbnRleHQubW92ZVRvKDAsIDApOwor
CisgICAgLy8gT3IgaXMgaXQgYSBjaXJjbGUgb3IgYW5udWx1cz8KKyAgICBlbHNlIGlmIChkYSA+
IHRhdSQ0IC0gZXBzaWxvbiQzKSB7CisgICAgICBjb250ZXh0Lm1vdmVUbyhyMSAqIGNvcyQyKGEw
KSwgcjEgKiBzaW4kMihhMCkpOworICAgICAgY29udGV4dC5hcmMoMCwgMCwgcjEsIGEwLCBhMSwg
IWN3KTsKKyAgICAgIGlmIChyMCA+IGVwc2lsb24kMykgeworICAgICAgICBjb250ZXh0Lm1vdmVU
byhyMCAqIGNvcyQyKGExKSwgcjAgKiBzaW4kMihhMSkpOworICAgICAgICBjb250ZXh0LmFyYygw
LCAwLCByMCwgYTEsIGEwLCBjdyk7CisgICAgICB9CisgICAgfQorCisgICAgLy8gT3IgaXMgaXQg
YSBjaXJjdWxhciBvciBhbm51bGFyIHNlY3Rvcj8KKyAgICBlbHNlIHsKKyAgICAgIHZhciBhMDEg
PSBhMCwKKyAgICAgICAgICBhMTEgPSBhMSwKKyAgICAgICAgICBhMDAgPSBhMCwKKyAgICAgICAg
ICBhMTAgPSBhMSwKKyAgICAgICAgICBkYTAgPSBkYSwKKyAgICAgICAgICBkYTEgPSBkYSwKKyAg
ICAgICAgICBhcCA9IHBhZEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgLyAyLAorICAgICAg
ICAgIHJwID0gKGFwID4gZXBzaWxvbiQzKSAmJiAocGFkUmFkaXVzID8gK3BhZFJhZGl1cy5hcHBs
eSh0aGlzLCBhcmd1bWVudHMpIDogc3FydCQyKHIwICogcjAgKyByMSAqIHIxKSksCisgICAgICAg
ICAgcmMgPSBtaW4kMShhYnMkMShyMSAtIHIwKSAvIDIsICtjb3JuZXJSYWRpdXMuYXBwbHkodGhp
cywgYXJndW1lbnRzKSksCisgICAgICAgICAgcmMwID0gcmMsCisgICAgICAgICAgcmMxID0gcmMs
CisgICAgICAgICAgdDAsCisgICAgICAgICAgdDE7CisKKyAgICAgIC8vIEFwcGx5IHBhZGRpbmc/
IE5vdGUgdGhhdCBzaW5jZSByMSDiiaUgcjAsIGRhMSDiiaUgZGEwLgorICAgICAgaWYgKHJwID4g
ZXBzaWxvbiQzKSB7CisgICAgICAgIHZhciBwMCA9IGFzaW4kMShycCAvIHIwICogc2luJDIoYXAp
KSwKKyAgICAgICAgICAgIHAxID0gYXNpbiQxKHJwIC8gcjEgKiBzaW4kMihhcCkpOworICAgICAg
ICBpZiAoKGRhMCAtPSBwMCAqIDIpID4gZXBzaWxvbiQzKSBwMCAqPSAoY3cgPyAxIDogLTEpLCBh
MDAgKz0gcDAsIGExMCAtPSBwMDsKKyAgICAgICAgZWxzZSBkYTAgPSAwLCBhMDAgPSBhMTAgPSAo
YTAgKyBhMSkgLyAyOworICAgICAgICBpZiAoKGRhMSAtPSBwMSAqIDIpID4gZXBzaWxvbiQzKSBw
MSAqPSAoY3cgPyAxIDogLTEpLCBhMDEgKz0gcDEsIGExMSAtPSBwMTsKKyAgICAgICAgZWxzZSBk
YTEgPSAwLCBhMDEgPSBhMTEgPSAoYTAgKyBhMSkgLyAyOworICAgICAgfQorCisgICAgICB2YXIg
eDAxID0gcjEgKiBjb3MkMihhMDEpLAorICAgICAgICAgIHkwMSA9IHIxICogc2luJDIoYTAxKSwK
KyAgICAgICAgICB4MTAgPSByMCAqIGNvcyQyKGExMCksCisgICAgICAgICAgeTEwID0gcjAgKiBz
aW4kMihhMTApOworCisgICAgICAvLyBBcHBseSByb3VuZGVkIGNvcm5lcnM/CisgICAgICBpZiAo
cmMgPiBlcHNpbG9uJDMpIHsKKyAgICAgICAgdmFyIHgxMSA9IHIxICogY29zJDIoYTExKSwKKyAg
ICAgICAgICAgIHkxMSA9IHIxICogc2luJDIoYTExKSwKKyAgICAgICAgICAgIHgwMCA9IHIwICog
Y29zJDIoYTAwKSwKKyAgICAgICAgICAgIHkwMCA9IHIwICogc2luJDIoYTAwKSwKKyAgICAgICAg
ICAgIG9jOworCisgICAgICAgIC8vIFJlc3RyaWN0IHRoZSBjb3JuZXIgcmFkaXVzIGFjY29yZGlu
ZyB0byB0aGUgc2VjdG9yIGFuZ2xlLgorICAgICAgICBpZiAoZGEgPCBwaSQ0ICYmIChvYyA9IGlu
dGVyc2VjdCh4MDEsIHkwMSwgeDAwLCB5MDAsIHgxMSwgeTExLCB4MTAsIHkxMCkpKSB7CisgICAg
ICAgICAgdmFyIGF4ID0geDAxIC0gb2NbMF0sCisgICAgICAgICAgICAgIGF5ID0geTAxIC0gb2Nb
MV0sCisgICAgICAgICAgICAgIGJ4ID0geDExIC0gb2NbMF0sCisgICAgICAgICAgICAgIGJ5ID0g
eTExIC0gb2NbMV0sCisgICAgICAgICAgICAgIGtjID0gMSAvIHNpbiQyKGFjb3MkMSgoYXggKiBi
eCArIGF5ICogYnkpIC8gKHNxcnQkMihheCAqIGF4ICsgYXkgKiBheSkgKiBzcXJ0JDIoYnggKiBi
eCArIGJ5ICogYnkpKSkgLyAyKSwKKyAgICAgICAgICAgICAgbGMgPSBzcXJ0JDIob2NbMF0gKiBv
Y1swXSArIG9jWzFdICogb2NbMV0pOworICAgICAgICAgIHJjMCA9IG1pbiQxKHJjLCAocjAgLSBs
YykgLyAoa2MgLSAxKSk7CisgICAgICAgICAgcmMxID0gbWluJDEocmMsIChyMSAtIGxjKSAvIChr
YyArIDEpKTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICAvLyBJcyB0aGUgc2VjdG9yIGNv
bGxhcHNlZCB0byBhIGxpbmU/CisgICAgICBpZiAoIShkYTEgPiBlcHNpbG9uJDMpKSBjb250ZXh0
Lm1vdmVUbyh4MDEsIHkwMSk7CisKKyAgICAgIC8vIERvZXMgdGhlIHNlY3RvcuKAmXMgb3V0ZXIg
cmluZyBoYXZlIHJvdW5kZWQgY29ybmVycz8KKyAgICAgIGVsc2UgaWYgKHJjMSA+IGVwc2lsb24k
MykgeworICAgICAgICB0MCA9IGNvcm5lclRhbmdlbnRzKHgwMCwgeTAwLCB4MDEsIHkwMSwgcjEs
IHJjMSwgY3cpOworICAgICAgICB0MSA9IGNvcm5lclRhbmdlbnRzKHgxMSwgeTExLCB4MTAsIHkx
MCwgcjEsIHJjMSwgY3cpOworCisgICAgICAgIGNvbnRleHQubW92ZVRvKHQwLmN4ICsgdDAueDAx
LCB0MC5jeSArIHQwLnkwMSk7CisKKyAgICAgICAgLy8gSGF2ZSB0aGUgY29ybmVycyBtZXJnZWQ/
CisgICAgICAgIGlmIChyYzEgPCByYykgY29udGV4dC5hcmModDAuY3gsIHQwLmN5LCByYzEsIGF0
YW4yJDEodDAueTAxLCB0MC54MDEpLCBhdGFuMiQxKHQxLnkwMSwgdDEueDAxKSwgIWN3KTsKKwor
ICAgICAgICAvLyBPdGhlcndpc2UsIGRyYXcgdGhlIHR3byBjb3JuZXJzIGFuZCB0aGUgcmluZy4K
KyAgICAgICAgZWxzZSB7CisgICAgICAgICAgY29udGV4dC5hcmModDAuY3gsIHQwLmN5LCByYzEs
IGF0YW4yJDEodDAueTAxLCB0MC54MDEpLCBhdGFuMiQxKHQwLnkxMSwgdDAueDExKSwgIWN3KTsK
KyAgICAgICAgICBjb250ZXh0LmFyYygwLCAwLCByMSwgYXRhbjIkMSh0MC5jeSArIHQwLnkxMSwg
dDAuY3ggKyB0MC54MTEpLCBhdGFuMiQxKHQxLmN5ICsgdDEueTExLCB0MS5jeCArIHQxLngxMSks
ICFjdyk7CisgICAgICAgICAgY29udGV4dC5hcmModDEuY3gsIHQxLmN5LCByYzEsIGF0YW4yJDEo
dDEueTExLCB0MS54MTEpLCBhdGFuMiQxKHQxLnkwMSwgdDEueDAxKSwgIWN3KTsKKyAgICAgICAg
fQorICAgICAgfQorCisgICAgICAvLyBPciBpcyB0aGUgb3V0ZXIgcmluZyBqdXN0IGEgY2lyY3Vs
YXIgYXJjPworICAgICAgZWxzZSBjb250ZXh0Lm1vdmVUbyh4MDEsIHkwMSksIGNvbnRleHQuYXJj
KDAsIDAsIHIxLCBhMDEsIGExMSwgIWN3KTsKKworICAgICAgLy8gSXMgdGhlcmUgbm8gaW5uZXIg
cmluZywgYW5kIGl04oCZcyBhIGNpcmN1bGFyIHNlY3Rvcj8KKyAgICAgIC8vIE9yIHBlcmhhcHMg
aXTigJlzIGFuIGFubnVsYXIgc2VjdG9yIGNvbGxhcHNlZCBkdWUgdG8gcGFkZGluZz8KKyAgICAg
IGlmICghKHIwID4gZXBzaWxvbiQzKSB8fCAhKGRhMCA+IGVwc2lsb24kMykpIGNvbnRleHQubGlu
ZVRvKHgxMCwgeTEwKTsKKworICAgICAgLy8gRG9lcyB0aGUgc2VjdG9y4oCZcyBpbm5lciByaW5n
IChvciBwb2ludCkgaGF2ZSByb3VuZGVkIGNvcm5lcnM/CisgICAgICBlbHNlIGlmIChyYzAgPiBl
cHNpbG9uJDMpIHsKKyAgICAgICAgdDAgPSBjb3JuZXJUYW5nZW50cyh4MTAsIHkxMCwgeDExLCB5
MTEsIHIwLCAtcmMwLCBjdyk7CisgICAgICAgIHQxID0gY29ybmVyVGFuZ2VudHMoeDAxLCB5MDEs
IHgwMCwgeTAwLCByMCwgLXJjMCwgY3cpOworCisgICAgICAgIGNvbnRleHQubGluZVRvKHQwLmN4
ICsgdDAueDAxLCB0MC5jeSArIHQwLnkwMSk7CisKKyAgICAgICAgLy8gSGF2ZSB0aGUgY29ybmVy
cyBtZXJnZWQ/CisgICAgICAgIGlmIChyYzAgPCByYykgY29udGV4dC5hcmModDAuY3gsIHQwLmN5
LCByYzAsIGF0YW4yJDEodDAueTAxLCB0MC54MDEpLCBhdGFuMiQxKHQxLnkwMSwgdDEueDAxKSwg
IWN3KTsKKworICAgICAgICAvLyBPdGhlcndpc2UsIGRyYXcgdGhlIHR3byBjb3JuZXJzIGFuZCB0
aGUgcmluZy4KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgY29udGV4dC5hcmModDAuY3gsIHQw
LmN5LCByYzAsIGF0YW4yJDEodDAueTAxLCB0MC54MDEpLCBhdGFuMiQxKHQwLnkxMSwgdDAueDEx
KSwgIWN3KTsKKyAgICAgICAgICBjb250ZXh0LmFyYygwLCAwLCByMCwgYXRhbjIkMSh0MC5jeSAr
IHQwLnkxMSwgdDAuY3ggKyB0MC54MTEpLCBhdGFuMiQxKHQxLmN5ICsgdDEueTExLCB0MS5jeCAr
IHQxLngxMSksIGN3KTsKKyAgICAgICAgICBjb250ZXh0LmFyYyh0MS5jeCwgdDEuY3ksIHJjMCwg
YXRhbjIkMSh0MS55MTEsIHQxLngxMSksIGF0YW4yJDEodDEueTAxLCB0MS54MDEpLCAhY3cpOwor
ICAgICAgICB9CisgICAgICB9CisKKyAgICAgIC8vIE9yIGlzIHRoZSBpbm5lciByaW5nIGp1c3Qg
YSBjaXJjdWxhciBhcmM/CisgICAgICBlbHNlIGNvbnRleHQuYXJjKDAsIDAsIHIwLCBhMTAsIGEw
MCwgY3cpOworICAgIH0KKworICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7CisKKyAgICBpZiAoYnVm
ZmVyKSByZXR1cm4gY29udGV4dCA9IG51bGwsIGJ1ZmZlciArICIiIHx8IG51bGw7CisgIH0KKwor
ICBhcmMuY2VudHJvaWQgPSBmdW5jdGlvbigpIHsKKyAgICB2YXIgciA9ICgraW5uZXJSYWRpdXMu
YXBwbHkodGhpcywgYXJndW1lbnRzKSArICtvdXRlclJhZGl1cy5hcHBseSh0aGlzLCBhcmd1bWVu
dHMpKSAvIDIsCisgICAgICAgIGEgPSAoK3N0YXJ0QW5nbGUuYXBwbHkodGhpcywgYXJndW1lbnRz
KSArICtlbmRBbmdsZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSAvIDIgLSBwaSQ0IC8gMjsKKyAg
ICByZXR1cm4gW2NvcyQyKGEpICogciwgc2luJDIoYSkgKiByXTsKKyAgfTsKKworICBhcmMuaW5u
ZXJSYWRpdXMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
aW5uZXJSYWRpdXMgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtf
KSwgYXJjKSA6IGlubmVyUmFkaXVzOworICB9OworCisgIGFyYy5vdXRlclJhZGl1cyA9IGZ1bmN0
aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChvdXRlclJhZGl1cyA9IHR5
cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBhcmMpIDogb3V0ZXJS
YWRpdXM7CisgIH07CisKKyAgYXJjLmNvcm5lclJhZGl1cyA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChjb3JuZXJSYWRpdXMgPSB0eXBlb2YgXyA9PT0gImZ1
bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgYXJjKSA6IGNvcm5lclJhZGl1czsKKyAgfTsK
KworICBhcmMucGFkUmFkaXVzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMu
bGVuZ3RoID8gKHBhZFJhZGl1cyA9IF8gPT0gbnVsbCA/IG51bGwgOiB0eXBlb2YgXyA9PT0gImZ1
bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgYXJjKSA6IHBhZFJhZGl1czsKKyAgfTsKKwor
ICBhcmMuc3RhcnRBbmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IChzdGFydEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3Rh
bnQkYigrXyksIGFyYykgOiBzdGFydEFuZ2xlOworICB9OworCisgIGFyYy5lbmRBbmdsZSA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChlbmRBbmdsZSA9IHR5
cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBhcmMpIDogZW5kQW5n
bGU7CisgIH07CisKKyAgYXJjLnBhZEFuZ2xlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKHBhZEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBf
IDogY29uc3RhbnQkYigrXyksIGFyYykgOiBwYWRBbmdsZTsKKyAgfTsKKworICBhcmMuY29udGV4
dCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICgoY29udGV4
dCA9IF8gPT0gbnVsbCA/IG51bGwgOiBfKSwgYXJjKSA6IGNvbnRleHQ7CisgIH07CisKKyAgcmV0
dXJuIGFyYzsKK30KKworZnVuY3Rpb24gTGluZWFyKGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4
dCA9IGNvbnRleHQ7Cit9CisKK0xpbmVhci5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogZnVu
Y3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IDA7CisgIH0sCisgIGFyZWFFbmQ6IGZ1bmN0aW9u
KCkgeworICAgIHRoaXMuX2xpbmUgPSBOYU47CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24o
KSB7CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsK
KyAgICBpZiAodGhpcy5fbGluZSB8fCAodGhpcy5fbGluZSAhPT0gMCAmJiB0aGlzLl9wb2ludCA9
PT0gMSkpIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgdGhpcy5fbGluZSA9IDEgLSB0
aGlzLl9saW5lOworICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAgIHggPSAreCwg
eSA9ICt5OworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMDogdGhpcy5f
cG9pbnQgPSAxOyB0aGlzLl9saW5lID8gdGhpcy5fY29udGV4dC5saW5lVG8oeCwgeSkgOiB0aGlz
Ll9jb250ZXh0Lm1vdmVUbyh4LCB5KTsgYnJlYWs7CisgICAgICBjYXNlIDE6IHRoaXMuX3BvaW50
ID0gMjsgLy8gcHJvY2VlZAorICAgICAgZGVmYXVsdDogdGhpcy5fY29udGV4dC5saW5lVG8oeCwg
eSk7IGJyZWFrOworICAgIH0KKyAgfQorfTsKKworZnVuY3Rpb24gY3VydmVMaW5lYXIoY29udGV4
dCkgeworICByZXR1cm4gbmV3IExpbmVhcihjb250ZXh0KTsKK30KKworZnVuY3Rpb24geCQzKHAp
IHsKKyAgcmV0dXJuIHBbMF07Cit9CisKK2Z1bmN0aW9uIHkkMyhwKSB7CisgIHJldHVybiBwWzFd
OworfQorCitmdW5jdGlvbiBsaW5lKCkgeworICB2YXIgeCA9IHgkMywKKyAgICAgIHkgPSB5JDMs
CisgICAgICBkZWZpbmVkID0gY29uc3RhbnQkYih0cnVlKSwKKyAgICAgIGNvbnRleHQgPSBudWxs
LAorICAgICAgY3VydmUgPSBjdXJ2ZUxpbmVhciwKKyAgICAgIG91dHB1dCA9IG51bGw7CisKKyAg
ZnVuY3Rpb24gbGluZShkYXRhKSB7CisgICAgdmFyIGksCisgICAgICAgIG4gPSBkYXRhLmxlbmd0
aCwKKyAgICAgICAgZCwKKyAgICAgICAgZGVmaW5lZDAgPSBmYWxzZSwKKyAgICAgICAgYnVmZmVy
OworCisgICAgaWYgKGNvbnRleHQgPT0gbnVsbCkgb3V0cHV0ID0gY3VydmUoYnVmZmVyID0gcGF0
aCgpKTsKKworICAgIGZvciAoaSA9IDA7IGkgPD0gbjsgKytpKSB7CisgICAgICBpZiAoIShpIDwg
biAmJiBkZWZpbmVkKGQgPSBkYXRhW2ldLCBpLCBkYXRhKSkgPT09IGRlZmluZWQwKSB7CisgICAg
ICAgIGlmIChkZWZpbmVkMCA9ICFkZWZpbmVkMCkgb3V0cHV0LmxpbmVTdGFydCgpOworICAgICAg
ICBlbHNlIG91dHB1dC5saW5lRW5kKCk7CisgICAgICB9CisgICAgICBpZiAoZGVmaW5lZDApIG91
dHB1dC5wb2ludCgreChkLCBpLCBkYXRhKSwgK3koZCwgaSwgZGF0YSkpOworICAgIH0KKworICAg
IGlmIChidWZmZXIpIHJldHVybiBvdXRwdXQgPSBudWxsLCBidWZmZXIgKyAiIiB8fCBudWxsOwor
ICB9CisKKyAgbGluZS54ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHggPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwg
bGluZSkgOiB4OworICB9OworCisgIGxpbmUueSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/ICh5ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29u
c3RhbnQkYigrXyksIGxpbmUpIDogeTsKKyAgfTsKKworICBsaW5lLmRlZmluZWQgPSBmdW5jdGlv
bihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZGVmaW5lZCA9IHR5cGVvZiBf
ID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoISFfKSwgbGluZSkgOiBkZWZpbmVkOwor
ICB9OworCisgIGxpbmUuY3VydmUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAoY3VydmUgPSBfLCBjb250ZXh0ICE9IG51bGwgJiYgKG91dHB1dCA9IGN1cnZl
KGNvbnRleHQpKSwgbGluZSkgOiBjdXJ2ZTsKKyAgfTsKKworICBsaW5lLmNvbnRleHQgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoXyA9PSBudWxsID8gY29u
dGV4dCA9IG91dHB1dCA9IG51bGwgOiBvdXRwdXQgPSBjdXJ2ZShjb250ZXh0ID0gXyksIGxpbmUp
IDogY29udGV4dDsKKyAgfTsKKworICByZXR1cm4gbGluZTsKK30KKworZnVuY3Rpb24gYXJlYSQz
KCkgeworICB2YXIgeDAgPSB4JDMsCisgICAgICB4MSA9IG51bGwsCisgICAgICB5MCA9IGNvbnN0
YW50JGIoMCksCisgICAgICB5MSA9IHkkMywKKyAgICAgIGRlZmluZWQgPSBjb25zdGFudCRiKHRy
dWUpLAorICAgICAgY29udGV4dCA9IG51bGwsCisgICAgICBjdXJ2ZSA9IGN1cnZlTGluZWFyLAor
ICAgICAgb3V0cHV0ID0gbnVsbDsKKworICBmdW5jdGlvbiBhcmVhKGRhdGEpIHsKKyAgICB2YXIg
aSwKKyAgICAgICAgaiwKKyAgICAgICAgaywKKyAgICAgICAgbiA9IGRhdGEubGVuZ3RoLAorICAg
ICAgICBkLAorICAgICAgICBkZWZpbmVkMCA9IGZhbHNlLAorICAgICAgICBidWZmZXIsCisgICAg
ICAgIHgweiA9IG5ldyBBcnJheShuKSwKKyAgICAgICAgeTB6ID0gbmV3IEFycmF5KG4pOworCisg
ICAgaWYgKGNvbnRleHQgPT0gbnVsbCkgb3V0cHV0ID0gY3VydmUoYnVmZmVyID0gcGF0aCgpKTsK
KworICAgIGZvciAoaSA9IDA7IGkgPD0gbjsgKytpKSB7CisgICAgICBpZiAoIShpIDwgbiAmJiBk
ZWZpbmVkKGQgPSBkYXRhW2ldLCBpLCBkYXRhKSkgPT09IGRlZmluZWQwKSB7CisgICAgICAgIGlm
IChkZWZpbmVkMCA9ICFkZWZpbmVkMCkgeworICAgICAgICAgIGogPSBpOworICAgICAgICAgIG91
dHB1dC5hcmVhU3RhcnQoKTsKKyAgICAgICAgICBvdXRwdXQubGluZVN0YXJ0KCk7CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgb3V0cHV0LmxpbmVFbmQoKTsKKyAgICAgICAgICBvdXRwdXQu
bGluZVN0YXJ0KCk7CisgICAgICAgICAgZm9yIChrID0gaSAtIDE7IGsgPj0gajsgLS1rKSB7Cisg
ICAgICAgICAgICBvdXRwdXQucG9pbnQoeDB6W2tdLCB5MHpba10pOworICAgICAgICAgIH0KKyAg
ICAgICAgICBvdXRwdXQubGluZUVuZCgpOworICAgICAgICAgIG91dHB1dC5hcmVhRW5kKCk7Cisg
ICAgICAgIH0KKyAgICAgIH0KKyAgICAgIGlmIChkZWZpbmVkMCkgeworICAgICAgICB4MHpbaV0g
PSAreDAoZCwgaSwgZGF0YSksIHkweltpXSA9ICt5MChkLCBpLCBkYXRhKTsKKyAgICAgICAgb3V0
cHV0LnBvaW50KHgxID8gK3gxKGQsIGksIGRhdGEpIDogeDB6W2ldLCB5MSA/ICt5MShkLCBpLCBk
YXRhKSA6IHkweltpXSk7CisgICAgICB9CisgICAgfQorCisgICAgaWYgKGJ1ZmZlcikgcmV0dXJu
IG91dHB1dCA9IG51bGwsIGJ1ZmZlciArICIiIHx8IG51bGw7CisgIH0KKworICBmdW5jdGlvbiBh
cmVhbGluZSgpIHsKKyAgICByZXR1cm4gbGluZSgpLmRlZmluZWQoZGVmaW5lZCkuY3VydmUoY3Vy
dmUpLmNvbnRleHQoY29udGV4dCk7CisgIH0KKworICBhcmVhLnggPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeDAgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9u
IiA/IF8gOiBjb25zdGFudCRiKCtfKSwgeDEgPSBudWxsLCBhcmVhKSA6IHgwOworICB9OworCisg
IGFyZWEueDAgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
eDAgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgYXJlYSkg
OiB4MDsKKyAgfTsKKworICBhcmVhLngxID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gKHgxID0gXyA9PSBudWxsID8gbnVsbCA6IHR5cGVvZiBfID09PSAiZnVu
Y3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBhcmVhKSA6IHgxOworICB9OworCisgIGFyZWEu
eSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5MCA9IHR5
cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCB5MSA9IG51bGwsIGFy
ZWEpIDogeTA7CisgIH07CisKKyAgYXJlYS55MCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/ICh5MCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNv
bnN0YW50JGIoK18pLCBhcmVhKSA6IHkwOworICB9OworCisgIGFyZWEueTEgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeTEgPSBfID09IG51bGwgPyBudWxs
IDogdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIGFyZWEpIDog
eTE7CisgIH07CisKKyAgYXJlYS5saW5lWDAgPQorICBhcmVhLmxpbmVZMCA9IGZ1bmN0aW9uKCkg
eworICAgIHJldHVybiBhcmVhbGluZSgpLngoeDApLnkoeTApOworICB9OworCisgIGFyZWEubGlu
ZVkxID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGFyZWFsaW5lKCkueCh4MCkueSh5MSk7Cisg
IH07CisKKyAgYXJlYS5saW5lWDEgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gYXJlYWxpbmUo
KS54KHgxKS55KHkwKTsKKyAgfTsKKworICBhcmVhLmRlZmluZWQgPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZGVmaW5lZCA9IHR5cGVvZiBfID09PSAiZnVu
Y3Rpb24iID8gXyA6IGNvbnN0YW50JGIoISFfKSwgYXJlYSkgOiBkZWZpbmVkOworICB9OworCisg
IGFyZWEuY3VydmUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PyAoY3VydmUgPSBfLCBjb250ZXh0ICE9IG51bGwgJiYgKG91dHB1dCA9IGN1cnZlKGNvbnRleHQp
KSwgYXJlYSkgOiBjdXJ2ZTsKKyAgfTsKKworICBhcmVhLmNvbnRleHQgPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoXyA9PSBudWxsID8gY29udGV4dCA9IG91
dHB1dCA9IG51bGwgOiBvdXRwdXQgPSBjdXJ2ZShjb250ZXh0ID0gXyksIGFyZWEpIDogY29udGV4
dDsKKyAgfTsKKworICByZXR1cm4gYXJlYTsKK30KKworZnVuY3Rpb24gZGVzY2VuZGluZyQxKGEs
IGIpIHsKKyAgcmV0dXJuIGIgPCBhID8gLTEgOiBiID4gYSA/IDEgOiBiID49IGEgPyAwIDogTmFO
OworfQorCitmdW5jdGlvbiBpZGVudGl0eSQ4KGQpIHsKKyAgcmV0dXJuIGQ7Cit9CisKK2Z1bmN0
aW9uIHBpZSgpIHsKKyAgdmFyIHZhbHVlID0gaWRlbnRpdHkkOCwKKyAgICAgIHNvcnRWYWx1ZXMg
PSBkZXNjZW5kaW5nJDEsCisgICAgICBzb3J0ID0gbnVsbCwKKyAgICAgIHN0YXJ0QW5nbGUgPSBj
b25zdGFudCRiKDApLAorICAgICAgZW5kQW5nbGUgPSBjb25zdGFudCRiKHRhdSQ0KSwKKyAgICAg
IHBhZEFuZ2xlID0gY29uc3RhbnQkYigwKTsKKworICBmdW5jdGlvbiBwaWUoZGF0YSkgeworICAg
IHZhciBpLAorICAgICAgICBuID0gZGF0YS5sZW5ndGgsCisgICAgICAgIGosCisgICAgICAgIGss
CisgICAgICAgIHN1bSA9IDAsCisgICAgICAgIGluZGV4ID0gbmV3IEFycmF5KG4pLAorICAgICAg
ICBhcmNzID0gbmV3IEFycmF5KG4pLAorICAgICAgICBhMCA9ICtzdGFydEFuZ2xlLmFwcGx5KHRo
aXMsIGFyZ3VtZW50cyksCisgICAgICAgIGRhID0gTWF0aC5taW4odGF1JDQsIE1hdGgubWF4KC10
YXUkNCwgZW5kQW5nbGUuYXBwbHkodGhpcywgYXJndW1lbnRzKSAtIGEwKSksCisgICAgICAgIGEx
LAorICAgICAgICBwID0gTWF0aC5taW4oTWF0aC5hYnMoZGEpIC8gbiwgcGFkQW5nbGUuYXBwbHko
dGhpcywgYXJndW1lbnRzKSksCisgICAgICAgIHBhID0gcCAqIChkYSA8IDAgPyAtMSA6IDEpLAor
ICAgICAgICB2OworCisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgaWYgKCh2
ID0gYXJjc1tpbmRleFtpXSA9IGldID0gK3ZhbHVlKGRhdGFbaV0sIGksIGRhdGEpKSA+IDApIHsK
KyAgICAgICAgc3VtICs9IHY7CisgICAgICB9CisgICAgfQorCisgICAgLy8gT3B0aW9uYWxseSBz
b3J0IHRoZSBhcmNzIGJ5IHByZXZpb3VzbHktY29tcHV0ZWQgdmFsdWVzIG9yIGJ5IGRhdGEuCisg
ICAgaWYgKHNvcnRWYWx1ZXMgIT0gbnVsbCkgaW5kZXguc29ydChmdW5jdGlvbihpLCBqKSB7IHJl
dHVybiBzb3J0VmFsdWVzKGFyY3NbaV0sIGFyY3Nbal0pOyB9KTsKKyAgICBlbHNlIGlmIChzb3J0
ICE9IG51bGwpIGluZGV4LnNvcnQoZnVuY3Rpb24oaSwgaikgeyByZXR1cm4gc29ydChkYXRhW2ld
LCBkYXRhW2pdKTsgfSk7CisKKyAgICAvLyBDb21wdXRlIHRoZSBhcmNzISBUaGV5IGFyZSBzdG9y
ZWQgaW4gdGhlIG9yaWdpbmFsIGRhdGEncyBvcmRlci4KKyAgICBmb3IgKGkgPSAwLCBrID0gc3Vt
ID8gKGRhIC0gbiAqIHBhKSAvIHN1bSA6IDA7IGkgPCBuOyArK2ksIGEwID0gYTEpIHsKKyAgICAg
IGogPSBpbmRleFtpXSwgdiA9IGFyY3Nbal0sIGExID0gYTAgKyAodiA+IDAgPyB2ICogayA6IDAp
ICsgcGEsIGFyY3Nbal0gPSB7CisgICAgICAgIGRhdGE6IGRhdGFbal0sCisgICAgICAgIGluZGV4
OiBpLAorICAgICAgICB2YWx1ZTogdiwKKyAgICAgICAgc3RhcnRBbmdsZTogYTAsCisgICAgICAg
IGVuZEFuZ2xlOiBhMSwKKyAgICAgICAgcGFkQW5nbGU6IHAKKyAgICAgIH07CisgICAgfQorCisg
ICAgcmV0dXJuIGFyY3M7CisgIH0KKworICBwaWUudmFsdWUgPSBmdW5jdGlvbihfKSB7CisgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodmFsdWUgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9u
IiA/IF8gOiBjb25zdGFudCRiKCtfKSwgcGllKSA6IHZhbHVlOworICB9OworCisgIHBpZS5zb3J0
VmFsdWVzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNv
cnRWYWx1ZXMgPSBfLCBzb3J0ID0gbnVsbCwgcGllKSA6IHNvcnRWYWx1ZXM7CisgIH07CisKKyAg
cGllLnNvcnQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
c29ydCA9IF8sIHNvcnRWYWx1ZXMgPSBudWxsLCBwaWUpIDogc29ydDsKKyAgfTsKKworICBwaWUu
c3RhcnRBbmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
IChzdGFydEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigr
XyksIHBpZSkgOiBzdGFydEFuZ2xlOworICB9OworCisgIHBpZS5lbmRBbmdsZSA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChlbmRBbmdsZSA9IHR5cGVvZiBf
ID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBwaWUpIDogZW5kQW5nbGU7Cisg
IH07CisKKyAgcGllLnBhZEFuZ2xlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHBhZEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29u
c3RhbnQkYigrXyksIHBpZSkgOiBwYWRBbmdsZTsKKyAgfTsKKworICByZXR1cm4gcGllOworfQor
Cit2YXIgY3VydmVSYWRpYWxMaW5lYXIgPSBjdXJ2ZVJhZGlhbChjdXJ2ZUxpbmVhcik7CisKK2Z1
bmN0aW9uIFJhZGlhbChjdXJ2ZSkgeworICB0aGlzLl9jdXJ2ZSA9IGN1cnZlOworfQorCitSYWRp
YWwucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2N1
cnZlLmFyZWFTdGFydCgpOworICB9LAorICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlz
Ll9jdXJ2ZS5hcmVhRW5kKCk7CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAg
dGhpcy5fY3VydmUubGluZVN0YXJ0KCk7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgewor
ICAgIHRoaXMuX2N1cnZlLmxpbmVFbmQoKTsKKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKGEsIHIp
IHsKKyAgICB0aGlzLl9jdXJ2ZS5wb2ludChyICogTWF0aC5zaW4oYSksIHIgKiAtTWF0aC5jb3Mo
YSkpOworICB9Cit9OworCitmdW5jdGlvbiBjdXJ2ZVJhZGlhbChjdXJ2ZSkgeworCisgIGZ1bmN0
aW9uIHJhZGlhbChjb250ZXh0KSB7CisgICAgcmV0dXJuIG5ldyBSYWRpYWwoY3VydmUoY29udGV4
dCkpOworICB9CisKKyAgcmFkaWFsLl9jdXJ2ZSA9IGN1cnZlOworCisgIHJldHVybiByYWRpYWw7
Cit9CisKK2Z1bmN0aW9uIGxpbmVSYWRpYWwobCkgeworICB2YXIgYyA9IGwuY3VydmU7CisKKyAg
bC5hbmdsZSA9IGwueCwgZGVsZXRlIGwueDsKKyAgbC5yYWRpdXMgPSBsLnksIGRlbGV0ZSBsLnk7
CisKKyAgbC5jdXJ2ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0
aCA/IGMoY3VydmVSYWRpYWwoXykpIDogYygpLl9jdXJ2ZTsKKyAgfTsKKworICByZXR1cm4gbDsK
K30KKworZnVuY3Rpb24gbGluZVJhZGlhbCQxKCkgeworICByZXR1cm4gbGluZVJhZGlhbChsaW5l
KCkuY3VydmUoY3VydmVSYWRpYWxMaW5lYXIpKTsKK30KKworZnVuY3Rpb24gYXJlYVJhZGlhbCgp
IHsKKyAgdmFyIGEgPSBhcmVhJDMoKS5jdXJ2ZShjdXJ2ZVJhZGlhbExpbmVhciksCisgICAgICBj
ID0gYS5jdXJ2ZSwKKyAgICAgIHgwID0gYS5saW5lWDAsCisgICAgICB4MSA9IGEubGluZVgxLAor
ICAgICAgeTAgPSBhLmxpbmVZMCwKKyAgICAgIHkxID0gYS5saW5lWTE7CisKKyAgYS5hbmdsZSA9
IGEueCwgZGVsZXRlIGEueDsKKyAgYS5zdGFydEFuZ2xlID0gYS54MCwgZGVsZXRlIGEueDA7Cisg
IGEuZW5kQW5nbGUgPSBhLngxLCBkZWxldGUgYS54MTsKKyAgYS5yYWRpdXMgPSBhLnksIGRlbGV0
ZSBhLnk7CisgIGEuaW5uZXJSYWRpdXMgPSBhLnkwLCBkZWxldGUgYS55MDsKKyAgYS5vdXRlclJh
ZGl1cyA9IGEueTEsIGRlbGV0ZSBhLnkxOworICBhLmxpbmVTdGFydEFuZ2xlID0gZnVuY3Rpb24o
KSB7IHJldHVybiBsaW5lUmFkaWFsKHgwKCkpOyB9LCBkZWxldGUgYS5saW5lWDA7CisgIGEubGlu
ZUVuZEFuZ2xlID0gZnVuY3Rpb24oKSB7IHJldHVybiBsaW5lUmFkaWFsKHgxKCkpOyB9LCBkZWxl
dGUgYS5saW5lWDE7CisgIGEubGluZUlubmVyUmFkaXVzID0gZnVuY3Rpb24oKSB7IHJldHVybiBs
aW5lUmFkaWFsKHkwKCkpOyB9LCBkZWxldGUgYS5saW5lWTA7CisgIGEubGluZU91dGVyUmFkaXVz
ID0gZnVuY3Rpb24oKSB7IHJldHVybiBsaW5lUmFkaWFsKHkxKCkpOyB9LCBkZWxldGUgYS5saW5l
WTE7CisKKyAgYS5jdXJ2ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IGMoY3VydmVSYWRpYWwoXykpIDogYygpLl9jdXJ2ZTsKKyAgfTsKKworICByZXR1cm4g
YTsKK30KKworZnVuY3Rpb24gcG9pbnRSYWRpYWwoeCwgeSkgeworICByZXR1cm4gWyh5ID0gK3kp
ICogTWF0aC5jb3MoeCAtPSBNYXRoLlBJIC8gMiksIHkgKiBNYXRoLnNpbih4KV07Cit9CisKK3Zh
ciBzbGljZSQ2ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOworCitmdW5jdGlvbiBsaW5rU291cmNl
KGQpIHsKKyAgcmV0dXJuIGQuc291cmNlOworfQorCitmdW5jdGlvbiBsaW5rVGFyZ2V0KGQpIHsK
KyAgcmV0dXJuIGQudGFyZ2V0OworfQorCitmdW5jdGlvbiBsaW5rJDIoY3VydmUpIHsKKyAgdmFy
IHNvdXJjZSA9IGxpbmtTb3VyY2UsCisgICAgICB0YXJnZXQgPSBsaW5rVGFyZ2V0LAorICAgICAg
eCA9IHgkMywKKyAgICAgIHkgPSB5JDMsCisgICAgICBjb250ZXh0ID0gbnVsbDsKKworICBmdW5j
dGlvbiBsaW5rKCkgeworICAgIHZhciBidWZmZXIsIGFyZ3YgPSBzbGljZSQ2LmNhbGwoYXJndW1l
bnRzKSwgcyA9IHNvdXJjZS5hcHBseSh0aGlzLCBhcmd2KSwgdCA9IHRhcmdldC5hcHBseSh0aGlz
LCBhcmd2KTsKKyAgICBpZiAoIWNvbnRleHQpIGNvbnRleHQgPSBidWZmZXIgPSBwYXRoKCk7Cisg
ICAgY3VydmUoY29udGV4dCwgK3guYXBwbHkodGhpcywgKGFyZ3ZbMF0gPSBzLCBhcmd2KSksICt5
LmFwcGx5KHRoaXMsIGFyZ3YpLCAreC5hcHBseSh0aGlzLCAoYXJndlswXSA9IHQsIGFyZ3YpKSwg
K3kuYXBwbHkodGhpcywgYXJndikpOworICAgIGlmIChidWZmZXIpIHJldHVybiBjb250ZXh0ID0g
bnVsbCwgYnVmZmVyICsgIiIgfHwgbnVsbDsKKyAgfQorCisgIGxpbmsuc291cmNlID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNvdXJjZSA9IF8sIGxpbmsp
IDogc291cmNlOworICB9OworCisgIGxpbmsudGFyZ2V0ID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRhcmdldCA9IF8sIGxpbmspIDogdGFyZ2V0OworICB9
OworCisgIGxpbmsueCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0
aCA/ICh4ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIGxp
bmspIDogeDsKKyAgfTsKKworICBsaW5rLnkgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAoeSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0
YW50JGIoK18pLCBsaW5rKSA6IHk7CisgIH07CisKKyAgbGluay5jb250ZXh0ID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKChjb250ZXh0ID0gXyA9PSBudWxs
ID8gbnVsbCA6IF8pLCBsaW5rKSA6IGNvbnRleHQ7CisgIH07CisKKyAgcmV0dXJuIGxpbms7Cit9
CisKK2Z1bmN0aW9uIGN1cnZlSG9yaXpvbnRhbChjb250ZXh0LCB4MCwgeTAsIHgxLCB5MSkgewor
ICBjb250ZXh0Lm1vdmVUbyh4MCwgeTApOworICBjb250ZXh0LmJlemllckN1cnZlVG8oeDAgPSAo
eDAgKyB4MSkgLyAyLCB5MCwgeDAsIHkxLCB4MSwgeTEpOworfQorCitmdW5jdGlvbiBjdXJ2ZVZl
cnRpY2FsKGNvbnRleHQsIHgwLCB5MCwgeDEsIHkxKSB7CisgIGNvbnRleHQubW92ZVRvKHgwLCB5
MCk7CisgIGNvbnRleHQuYmV6aWVyQ3VydmVUbyh4MCwgeTAgPSAoeTAgKyB5MSkgLyAyLCB4MSwg
eTAsIHgxLCB5MSk7Cit9CisKK2Z1bmN0aW9uIGN1cnZlUmFkaWFsJDEoY29udGV4dCwgeDAsIHkw
LCB4MSwgeTEpIHsKKyAgdmFyIHAwID0gcG9pbnRSYWRpYWwoeDAsIHkwKSwKKyAgICAgIHAxID0g
cG9pbnRSYWRpYWwoeDAsIHkwID0gKHkwICsgeTEpIC8gMiksCisgICAgICBwMiA9IHBvaW50UmFk
aWFsKHgxLCB5MCksCisgICAgICBwMyA9IHBvaW50UmFkaWFsKHgxLCB5MSk7CisgIGNvbnRleHQu
bW92ZVRvKHAwWzBdLCBwMFsxXSk7CisgIGNvbnRleHQuYmV6aWVyQ3VydmVUbyhwMVswXSwgcDFb
MV0sIHAyWzBdLCBwMlsxXSwgcDNbMF0sIHAzWzFdKTsKK30KKworZnVuY3Rpb24gbGlua0hvcml6
b250YWwoKSB7CisgIHJldHVybiBsaW5rJDIoY3VydmVIb3Jpem9udGFsKTsKK30KKworZnVuY3Rp
b24gbGlua1ZlcnRpY2FsKCkgeworICByZXR1cm4gbGluayQyKGN1cnZlVmVydGljYWwpOworfQor
CitmdW5jdGlvbiBsaW5rUmFkaWFsKCkgeworICB2YXIgbCA9IGxpbmskMihjdXJ2ZVJhZGlhbCQx
KTsKKyAgbC5hbmdsZSA9IGwueCwgZGVsZXRlIGwueDsKKyAgbC5yYWRpdXMgPSBsLnksIGRlbGV0
ZSBsLnk7CisgIHJldHVybiBsOworfQorCit2YXIgY2lyY2xlJDIgPSB7CisgIGRyYXc6IGZ1bmN0
aW9uKGNvbnRleHQsIHNpemUpIHsKKyAgICB2YXIgciA9IE1hdGguc3FydChzaXplIC8gcGkkNCk7
CisgICAgY29udGV4dC5tb3ZlVG8ociwgMCk7CisgICAgY29udGV4dC5hcmMoMCwgMCwgciwgMCwg
dGF1JDQpOworICB9Cit9OworCit2YXIgY3Jvc3MkMiA9IHsKKyAgZHJhdzogZnVuY3Rpb24oY29u
dGV4dCwgc2l6ZSkgeworICAgIHZhciByID0gTWF0aC5zcXJ0KHNpemUgLyA1KSAvIDI7CisgICAg
Y29udGV4dC5tb3ZlVG8oLTMgKiByLCAtcik7CisgICAgY29udGV4dC5saW5lVG8oLXIsIC1yKTsK
KyAgICBjb250ZXh0LmxpbmVUbygtciwgLTMgKiByKTsKKyAgICBjb250ZXh0LmxpbmVUbyhyLCAt
MyAqIHIpOworICAgIGNvbnRleHQubGluZVRvKHIsIC1yKTsKKyAgICBjb250ZXh0LmxpbmVUbygz
ICogciwgLXIpOworICAgIGNvbnRleHQubGluZVRvKDMgKiByLCByKTsKKyAgICBjb250ZXh0Lmxp
bmVUbyhyLCByKTsKKyAgICBjb250ZXh0LmxpbmVUbyhyLCAzICogcik7CisgICAgY29udGV4dC5s
aW5lVG8oLXIsIDMgKiByKTsKKyAgICBjb250ZXh0LmxpbmVUbygtciwgcik7CisgICAgY29udGV4
dC5saW5lVG8oLTMgKiByLCByKTsKKyAgICBjb250ZXh0LmNsb3NlUGF0aCgpOworICB9Cit9Owor
Cit2YXIgdGFuMzAgPSBNYXRoLnNxcnQoMSAvIDMpLAorICAgIHRhbjMwXzIgPSB0YW4zMCAqIDI7
CisKK3ZhciBkaWFtb25kID0geworICBkcmF3OiBmdW5jdGlvbihjb250ZXh0LCBzaXplKSB7Cisg
ICAgdmFyIHkgPSBNYXRoLnNxcnQoc2l6ZSAvIHRhbjMwXzIpLAorICAgICAgICB4ID0geSAqIHRh
bjMwOworICAgIGNvbnRleHQubW92ZVRvKDAsIC15KTsKKyAgICBjb250ZXh0LmxpbmVUbyh4LCAw
KTsKKyAgICBjb250ZXh0LmxpbmVUbygwLCB5KTsKKyAgICBjb250ZXh0LmxpbmVUbygteCwgMCk7
CisgICAgY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgfQorfTsKKwordmFyIGthID0gMC44OTA4MTMw
OTE1MjkyODUyMjgxMCwKKyAgICBrciA9IE1hdGguc2luKHBpJDQgLyAxMCkgLyBNYXRoLnNpbig3
ICogcGkkNCAvIDEwKSwKKyAgICBreCA9IE1hdGguc2luKHRhdSQ0IC8gMTApICoga3IsCisgICAg
a3kgPSAtTWF0aC5jb3ModGF1JDQgLyAxMCkgKiBrcjsKKwordmFyIHN0YXIgPSB7CisgIGRyYXc6
IGZ1bmN0aW9uKGNvbnRleHQsIHNpemUpIHsKKyAgICB2YXIgciA9IE1hdGguc3FydChzaXplICog
a2EpLAorICAgICAgICB4ID0ga3ggKiByLAorICAgICAgICB5ID0ga3kgKiByOworICAgIGNvbnRl
eHQubW92ZVRvKDAsIC1yKTsKKyAgICBjb250ZXh0LmxpbmVUbyh4LCB5KTsKKyAgICBmb3IgKHZh
ciBpID0gMTsgaSA8IDU7ICsraSkgeworICAgICAgdmFyIGEgPSB0YXUkNCAqIGkgLyA1LAorICAg
ICAgICAgIGMgPSBNYXRoLmNvcyhhKSwKKyAgICAgICAgICBzID0gTWF0aC5zaW4oYSk7CisgICAg
ICBjb250ZXh0LmxpbmVUbyhzICogciwgLWMgKiByKTsKKyAgICAgIGNvbnRleHQubGluZVRvKGMg
KiB4IC0gcyAqIHksIHMgKiB4ICsgYyAqIHkpOworICAgIH0KKyAgICBjb250ZXh0LmNsb3NlUGF0
aCgpOworICB9Cit9OworCit2YXIgc3F1YXJlID0geworICBkcmF3OiBmdW5jdGlvbihjb250ZXh0
LCBzaXplKSB7CisgICAgdmFyIHcgPSBNYXRoLnNxcnQoc2l6ZSksCisgICAgICAgIHggPSAtdyAv
IDI7CisgICAgY29udGV4dC5yZWN0KHgsIHgsIHcsIHcpOworICB9Cit9OworCit2YXIgc3FydDMg
PSBNYXRoLnNxcnQoMyk7CisKK3ZhciB0cmlhbmdsZSA9IHsKKyAgZHJhdzogZnVuY3Rpb24oY29u
dGV4dCwgc2l6ZSkgeworICAgIHZhciB5ID0gLU1hdGguc3FydChzaXplIC8gKHNxcnQzICogMykp
OworICAgIGNvbnRleHQubW92ZVRvKDAsIHkgKiAyKTsKKyAgICBjb250ZXh0LmxpbmVUbygtc3Fy
dDMgKiB5LCAteSk7CisgICAgY29udGV4dC5saW5lVG8oc3FydDMgKiB5LCAteSk7CisgICAgY29u
dGV4dC5jbG9zZVBhdGgoKTsKKyAgfQorfTsKKwordmFyIGMkMiA9IC0wLjUsCisgICAgcyA9IE1h
dGguc3FydCgzKSAvIDIsCisgICAgayA9IDEgLyBNYXRoLnNxcnQoMTIpLAorICAgIGEgPSAoayAv
IDIgKyAxKSAqIDM7CisKK3ZhciB3eWUgPSB7CisgIGRyYXc6IGZ1bmN0aW9uKGNvbnRleHQsIHNp
emUpIHsKKyAgICB2YXIgciA9IE1hdGguc3FydChzaXplIC8gYSksCisgICAgICAgIHgwID0gciAv
IDIsCisgICAgICAgIHkwID0gciAqIGssCisgICAgICAgIHgxID0geDAsCisgICAgICAgIHkxID0g
ciAqIGsgKyByLAorICAgICAgICB4MiA9IC14MSwKKyAgICAgICAgeTIgPSB5MTsKKyAgICBjb250
ZXh0Lm1vdmVUbyh4MCwgeTApOworICAgIGNvbnRleHQubGluZVRvKHgxLCB5MSk7CisgICAgY29u
dGV4dC5saW5lVG8oeDIsIHkyKTsKKyAgICBjb250ZXh0LmxpbmVUbyhjJDIgKiB4MCAtIHMgKiB5
MCwgcyAqIHgwICsgYyQyICogeTApOworICAgIGNvbnRleHQubGluZVRvKGMkMiAqIHgxIC0gcyAq
IHkxLCBzICogeDEgKyBjJDIgKiB5MSk7CisgICAgY29udGV4dC5saW5lVG8oYyQyICogeDIgLSBz
ICogeTIsIHMgKiB4MiArIGMkMiAqIHkyKTsKKyAgICBjb250ZXh0LmxpbmVUbyhjJDIgKiB4MCAr
IHMgKiB5MCwgYyQyICogeTAgLSBzICogeDApOworICAgIGNvbnRleHQubGluZVRvKGMkMiAqIHgx
ICsgcyAqIHkxLCBjJDIgKiB5MSAtIHMgKiB4MSk7CisgICAgY29udGV4dC5saW5lVG8oYyQyICog
eDIgKyBzICogeTIsIGMkMiAqIHkyIC0gcyAqIHgyKTsKKyAgICBjb250ZXh0LmNsb3NlUGF0aCgp
OworICB9Cit9OworCit2YXIgc3ltYm9scyA9IFsKKyAgY2lyY2xlJDIsCisgIGNyb3NzJDIsCisg
IGRpYW1vbmQsCisgIHNxdWFyZSwKKyAgc3RhciwKKyAgdHJpYW5nbGUsCisgIHd5ZQorXTsKKwor
ZnVuY3Rpb24gc3ltYm9sKCkgeworICB2YXIgdHlwZSA9IGNvbnN0YW50JGIoY2lyY2xlJDIpLAor
ICAgICAgc2l6ZSA9IGNvbnN0YW50JGIoNjQpLAorICAgICAgY29udGV4dCA9IG51bGw7CisKKyAg
ZnVuY3Rpb24gc3ltYm9sKCkgeworICAgIHZhciBidWZmZXI7CisgICAgaWYgKCFjb250ZXh0KSBj
b250ZXh0ID0gYnVmZmVyID0gcGF0aCgpOworICAgIHR5cGUuYXBwbHkodGhpcywgYXJndW1lbnRz
KS5kcmF3KGNvbnRleHQsICtzaXplLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpOworICAgIGlmIChi
dWZmZXIpIHJldHVybiBjb250ZXh0ID0gbnVsbCwgYnVmZmVyICsgIiIgfHwgbnVsbDsKKyAgfQor
CisgIHN5bWJvbC50eXBlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHR5cGUgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKF8p
LCBzeW1ib2wpIDogdHlwZTsKKyAgfTsKKworICBzeW1ib2wuc2l6ZSA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzaXplID0gdHlwZW9mIF8gPT09ICJmdW5j
dGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIHN5bWJvbCkgOiBzaXplOworICB9OworCisgIHN5
bWJvbC5jb250ZXh0ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKGNvbnRleHQgPSBfID09IG51bGwgPyBudWxsIDogXywgc3ltYm9sKSA6IGNvbnRleHQ7Cisg
IH07CisKKyAgcmV0dXJuIHN5bWJvbDsKK30KKworZnVuY3Rpb24gbm9vcCQzKCkge30KKworZnVu
Y3Rpb24gcG9pbnQkMih0aGF0LCB4LCB5KSB7CisgIHRoYXQuX2NvbnRleHQuYmV6aWVyQ3VydmVU
bygKKyAgICAoMiAqIHRoYXQuX3gwICsgdGhhdC5feDEpIC8gMywKKyAgICAoMiAqIHRoYXQuX3kw
ICsgdGhhdC5feTEpIC8gMywKKyAgICAodGhhdC5feDAgKyAyICogdGhhdC5feDEpIC8gMywKKyAg
ICAodGhhdC5feTAgKyAyICogdGhhdC5feTEpIC8gMywKKyAgICAodGhhdC5feDAgKyA0ICogdGhh
dC5feDEgKyB4KSAvIDYsCisgICAgKHRoYXQuX3kwICsgNCAqIHRoYXQuX3kxICsgeSkgLyA2Cisg
ICk7Cit9CisKK2Z1bmN0aW9uIEJhc2lzKGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNv
bnRleHQ7Cit9CisKK0Jhc2lzLnByb3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigp
IHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAgfSwKKyAgYXJlYUVuZDogZnVuY3Rpb24oKSB7Cisg
ICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAg
ICB0aGlzLl94MCA9IHRoaXMuX3gxID0KKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxID0gTmFOOwor
ICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAg
c3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAzOiBwb2ludCQyKHRoaXMsIHRoaXMu
X3gxLCB0aGlzLl95MSk7IC8vIHByb2NlZWQKKyAgICAgIGNhc2UgMjogdGhpcy5fY29udGV4dC5s
aW5lVG8odGhpcy5feDEsIHRoaXMuX3kxKTsgYnJlYWs7CisgICAgfQorICAgIGlmICh0aGlzLl9s
aW5lIHx8ICh0aGlzLl9saW5lICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAxKSkgdGhpcy5fY29u
dGV4dC5jbG9zZVBhdGgoKTsKKyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0s
CisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgc3dp
dGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IHRoaXMu
X2xpbmUgPyB0aGlzLl9jb250ZXh0LmxpbmVUbyh4LCB5KSA6IHRoaXMuX2NvbnRleHQubW92ZVRv
KHgsIHkpOyBicmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAyOyBicmVhazsKKyAg
ICAgIGNhc2UgMjogdGhpcy5fcG9pbnQgPSAzOyB0aGlzLl9jb250ZXh0LmxpbmVUbygoNSAqIHRo
aXMuX3gwICsgdGhpcy5feDEpIC8gNiwgKDUgKiB0aGlzLl95MCArIHRoaXMuX3kxKSAvIDYpOyAv
LyBwcm9jZWVkCisgICAgICBkZWZhdWx0OiBwb2ludCQyKHRoaXMsIHgsIHkpOyBicmVhazsKKyAg
ICB9CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSwgdGhpcy5feDEgPSB4OworICAgIHRoaXMuX3kw
ID0gdGhpcy5feTEsIHRoaXMuX3kxID0geTsKKyAgfQorfTsKKworZnVuY3Rpb24gYmFzaXMkMihj
b250ZXh0KSB7CisgIHJldHVybiBuZXcgQmFzaXMoY29udGV4dCk7Cit9CisKK2Z1bmN0aW9uIEJh
c2lzQ2xvc2VkKGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7Cit9CisKK0Jh
c2lzQ2xvc2VkLnByb3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBub29wJDMsCisgIGFyZWFFbmQ6
IG5vb3AkMywKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9IHRoaXMu
X3gxID0gdGhpcy5feDIgPSB0aGlzLl94MyA9IHRoaXMuX3g0ID0KKyAgICB0aGlzLl95MCA9IHRo
aXMuX3kxID0gdGhpcy5feTIgPSB0aGlzLl95MyA9IHRoaXMuX3k0ID0gTmFOOworICAgIHRoaXMu
X3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgc3dpdGNoICh0
aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAxOiB7CisgICAgICAgIHRoaXMuX2NvbnRleHQubW92
ZVRvKHRoaXMuX3gyLCB0aGlzLl95Mik7CisgICAgICAgIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRo
KCk7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAgY2FzZSAyOiB7CisgICAgICAgIHRo
aXMuX2NvbnRleHQubW92ZVRvKCh0aGlzLl94MiArIDIgKiB0aGlzLl94MykgLyAzLCAodGhpcy5f
eTIgKyAyICogdGhpcy5feTMpIC8gMyk7CisgICAgICAgIHRoaXMuX2NvbnRleHQubGluZVRvKCh0
aGlzLl94MyArIDIgKiB0aGlzLl94MikgLyAzLCAodGhpcy5feTMgKyAyICogdGhpcy5feTIpIC8g
Myk7CisgICAgICAgIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgICAgIGJyZWFrOwor
ICAgICAgfQorICAgICAgY2FzZSAzOiB7CisgICAgICAgIHRoaXMucG9pbnQodGhpcy5feDIsIHRo
aXMuX3kyKTsKKyAgICAgICAgdGhpcy5wb2ludCh0aGlzLl94MywgdGhpcy5feTMpOworICAgICAg
ICB0aGlzLnBvaW50KHRoaXMuX3g0LCB0aGlzLl95NCk7CisgICAgICAgIGJyZWFrOworICAgICAg
fQorICAgIH0KKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0gK3gsIHkg
PSAreTsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3Bv
aW50ID0gMTsgdGhpcy5feDIgPSB4LCB0aGlzLl95MiA9IHk7IGJyZWFrOworICAgICAgY2FzZSAx
OiB0aGlzLl9wb2ludCA9IDI7IHRoaXMuX3gzID0geCwgdGhpcy5feTMgPSB5OyBicmVhazsKKyAg
ICAgIGNhc2UgMjogdGhpcy5fcG9pbnQgPSAzOyB0aGlzLl94NCA9IHgsIHRoaXMuX3k0ID0geTsg
dGhpcy5fY29udGV4dC5tb3ZlVG8oKHRoaXMuX3gwICsgNCAqIHRoaXMuX3gxICsgeCkgLyA2LCAo
dGhpcy5feTAgKyA0ICogdGhpcy5feTEgKyB5KSAvIDYpOyBicmVhazsKKyAgICAgIGRlZmF1bHQ6
IHBvaW50JDIodGhpcywgeCwgeSk7IGJyZWFrOworICAgIH0KKyAgICB0aGlzLl94MCA9IHRoaXMu
X3gxLCB0aGlzLl94MSA9IHg7CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSwgdGhpcy5feTEgPSB5
OworICB9Cit9OworCitmdW5jdGlvbiBiYXNpc0Nsb3NlZCQxKGNvbnRleHQpIHsKKyAgcmV0dXJu
IG5ldyBCYXNpc0Nsb3NlZChjb250ZXh0KTsKK30KKworZnVuY3Rpb24gQmFzaXNPcGVuKGNvbnRl
eHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7Cit9CisKK0Jhc2lzT3Blbi5wcm90b3R5
cGUgPSB7CisgIGFyZWFTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IDA7Cisg
IH0sCisgIGFyZWFFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSBOYU47CisgIH0s
CisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSA9Cisg
ICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IE5hTjsKKyAgICB0aGlzLl9wb2ludCA9IDA7CisgIH0s
CisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9saW5lIHx8ICh0aGlzLl9s
aW5lICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAzKSkgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgo
KTsKKyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0sCisgIHBvaW50OiBmdW5j
dGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgc3dpdGNoICh0aGlzLl9wb2lu
dCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IGJyZWFrOworICAgICAgY2FzZSAx
OiB0aGlzLl9wb2ludCA9IDI7IGJyZWFrOworICAgICAgY2FzZSAyOiB0aGlzLl9wb2ludCA9IDM7
IHZhciB4MCA9ICh0aGlzLl94MCArIDQgKiB0aGlzLl94MSArIHgpIC8gNiwgeTAgPSAodGhpcy5f
eTAgKyA0ICogdGhpcy5feTEgKyB5KSAvIDY7IHRoaXMuX2xpbmUgPyB0aGlzLl9jb250ZXh0Lmxp
bmVUbyh4MCwgeTApIDogdGhpcy5fY29udGV4dC5tb3ZlVG8oeDAsIHkwKTsgYnJlYWs7CisgICAg
ICBjYXNlIDM6IHRoaXMuX3BvaW50ID0gNDsgLy8gcHJvY2VlZAorICAgICAgZGVmYXVsdDogcG9p
bnQkMih0aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorICAgIHRoaXMuX3gwID0gdGhpcy5feDEs
IHRoaXMuX3gxID0geDsKKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxLCB0aGlzLl95MSA9IHk7Cisg
IH0KK307CisKK2Z1bmN0aW9uIGJhc2lzT3Blbihjb250ZXh0KSB7CisgIHJldHVybiBuZXcgQmFz
aXNPcGVuKGNvbnRleHQpOworfQorCitmdW5jdGlvbiBCdW5kbGUoY29udGV4dCwgYmV0YSkgewor
ICB0aGlzLl9iYXNpcyA9IG5ldyBCYXNpcyhjb250ZXh0KTsKKyAgdGhpcy5fYmV0YSA9IGJldGE7
Cit9CisKK0J1bmRsZS5wcm90b3R5cGUgPSB7CisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7Cisg
ICAgdGhpcy5feCA9IFtdOworICAgIHRoaXMuX3kgPSBbXTsKKyAgICB0aGlzLl9iYXNpcy5saW5l
U3RhcnQoKTsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgdmFyIHggPSB0aGlz
Ll94LAorICAgICAgICB5ID0gdGhpcy5feSwKKyAgICAgICAgaiA9IHgubGVuZ3RoIC0gMTsKKwor
ICAgIGlmIChqID4gMCkgeworICAgICAgdmFyIHgwID0geFswXSwKKyAgICAgICAgICB5MCA9IHlb
MF0sCisgICAgICAgICAgZHggPSB4W2pdIC0geDAsCisgICAgICAgICAgZHkgPSB5W2pdIC0geTAs
CisgICAgICAgICAgaSA9IC0xLAorICAgICAgICAgIHQ7CisKKyAgICAgIHdoaWxlICgrK2kgPD0g
aikgeworICAgICAgICB0ID0gaSAvIGo7CisgICAgICAgIHRoaXMuX2Jhc2lzLnBvaW50KAorICAg
ICAgICAgIHRoaXMuX2JldGEgKiB4W2ldICsgKDEgLSB0aGlzLl9iZXRhKSAqICh4MCArIHQgKiBk
eCksCisgICAgICAgICAgdGhpcy5fYmV0YSAqIHlbaV0gKyAoMSAtIHRoaXMuX2JldGEpICogKHkw
ICsgdCAqIGR5KQorICAgICAgICApOworICAgICAgfQorICAgIH0KKworICAgIHRoaXMuX3ggPSB0
aGlzLl95ID0gbnVsbDsKKyAgICB0aGlzLl9iYXNpcy5saW5lRW5kKCk7CisgIH0sCisgIHBvaW50
OiBmdW5jdGlvbih4LCB5KSB7CisgICAgdGhpcy5feC5wdXNoKCt4KTsKKyAgICB0aGlzLl95LnB1
c2goK3kpOworICB9Cit9OworCit2YXIgYnVuZGxlID0gKGZ1bmN0aW9uIGN1c3RvbShiZXRhKSB7
CisKKyAgZnVuY3Rpb24gYnVuZGxlKGNvbnRleHQpIHsKKyAgICByZXR1cm4gYmV0YSA9PT0gMSA/
IG5ldyBCYXNpcyhjb250ZXh0KSA6IG5ldyBCdW5kbGUoY29udGV4dCwgYmV0YSk7CisgIH0KKwor
ICBidW5kbGUuYmV0YSA9IGZ1bmN0aW9uKGJldGEpIHsKKyAgICByZXR1cm4gY3VzdG9tKCtiZXRh
KTsKKyAgfTsKKworICByZXR1cm4gYnVuZGxlOworfSkoMC44NSk7CisKK2Z1bmN0aW9uIHBvaW50
JDModGhhdCwgeCwgeSkgeworICB0aGF0Ll9jb250ZXh0LmJlemllckN1cnZlVG8oCisgICAgdGhh
dC5feDEgKyB0aGF0Ll9rICogKHRoYXQuX3gyIC0gdGhhdC5feDApLAorICAgIHRoYXQuX3kxICsg
dGhhdC5fayAqICh0aGF0Ll95MiAtIHRoYXQuX3kwKSwKKyAgICB0aGF0Ll94MiArIHRoYXQuX2sg
KiAodGhhdC5feDEgLSB4KSwKKyAgICB0aGF0Ll95MiArIHRoYXQuX2sgKiAodGhhdC5feTEgLSB5
KSwKKyAgICB0aGF0Ll94MiwKKyAgICB0aGF0Ll95MgorICApOworfQorCitmdW5jdGlvbiBDYXJk
aW5hbChjb250ZXh0LCB0ZW5zaW9uKSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworICB0
aGlzLl9rID0gKDEgLSB0ZW5zaW9uKSAvIDY7Cit9CisKK0NhcmRpbmFsLnByb3RvdHlwZSA9IHsK
KyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAgfSwKKyAg
YXJlYUVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwKKyAgbGlu
ZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxID0gdGhpcy5feDIg
PQorICAgIHRoaXMuX3kwID0gdGhpcy5feTEgPSB0aGlzLl95MiA9IE5hTjsKKyAgICB0aGlzLl9w
b2ludCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHN3aXRjaCAodGhp
cy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMjogdGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDIs
IHRoaXMuX3kyKTsgYnJlYWs7CisgICAgICBjYXNlIDM6IHBvaW50JDModGhpcywgdGhpcy5feDEs
IHRoaXMuX3kxKTsgYnJlYWs7CisgICAgfQorICAgIGlmICh0aGlzLl9saW5lIHx8ICh0aGlzLl9s
aW5lICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAxKSkgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgo
KTsKKyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0sCisgIHBvaW50OiBmdW5j
dGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgc3dpdGNoICh0aGlzLl9wb2lu
dCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IHRoaXMuX2xpbmUgPyB0aGlzLl9j
b250ZXh0LmxpbmVUbyh4LCB5KSA6IHRoaXMuX2NvbnRleHQubW92ZVRvKHgsIHkpOyBicmVhazsK
KyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAyOyB0aGlzLl94MSA9IHgsIHRoaXMuX3kxID0g
eTsgYnJlYWs7CisgICAgICBjYXNlIDI6IHRoaXMuX3BvaW50ID0gMzsgLy8gcHJvY2VlZAorICAg
ICAgZGVmYXVsdDogcG9pbnQkMyh0aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorICAgIHRoaXMu
X3gwID0gdGhpcy5feDEsIHRoaXMuX3gxID0gdGhpcy5feDIsIHRoaXMuX3gyID0geDsKKyAgICB0
aGlzLl95MCA9IHRoaXMuX3kxLCB0aGlzLl95MSA9IHRoaXMuX3kyLCB0aGlzLl95MiA9IHk7Cisg
IH0KK307CisKK3ZhciBjYXJkaW5hbCA9IChmdW5jdGlvbiBjdXN0b20odGVuc2lvbikgeworCisg
IGZ1bmN0aW9uIGNhcmRpbmFsKGNvbnRleHQpIHsKKyAgICByZXR1cm4gbmV3IENhcmRpbmFsKGNv
bnRleHQsIHRlbnNpb24pOworICB9CisKKyAgY2FyZGluYWwudGVuc2lvbiA9IGZ1bmN0aW9uKHRl
bnNpb24pIHsKKyAgICByZXR1cm4gY3VzdG9tKCt0ZW5zaW9uKTsKKyAgfTsKKworICByZXR1cm4g
Y2FyZGluYWw7Cit9KSgwKTsKKworZnVuY3Rpb24gQ2FyZGluYWxDbG9zZWQoY29udGV4dCwgdGVu
c2lvbikgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKKyAgdGhpcy5fayA9ICgxIC0gdGVu
c2lvbikgLyA2OworfQorCitDYXJkaW5hbENsb3NlZC5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFy
dDogbm9vcCQzLAorICBhcmVhRW5kOiBub29wJDMsCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7
CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSA9IHRoaXMuX3gyID0gdGhpcy5feDMgPSB0aGlzLl94
NCA9IHRoaXMuX3g1ID0KKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxID0gdGhpcy5feTIgPSB0aGlz
Ll95MyA9IHRoaXMuX3k0ID0gdGhpcy5feTUgPSBOYU47CisgICAgdGhpcy5fcG9pbnQgPSAwOwor
ICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7
CisgICAgICBjYXNlIDE6IHsKKyAgICAgICAgdGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDMs
IHRoaXMuX3kzKTsKKyAgICAgICAgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgICAgICAg
YnJlYWs7CisgICAgICB9CisgICAgICBjYXNlIDI6IHsKKyAgICAgICAgdGhpcy5fY29udGV4dC5s
aW5lVG8odGhpcy5feDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhpcy5fY29udGV4dC5jbG9zZVBh
dGgoKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBjYXNlIDM6IHsKKyAgICAgICAg
dGhpcy5wb2ludCh0aGlzLl94MywgdGhpcy5feTMpOworICAgICAgICB0aGlzLnBvaW50KHRoaXMu
X3g0LCB0aGlzLl95NCk7CisgICAgICAgIHRoaXMucG9pbnQodGhpcy5feDUsIHRoaXMuX3k1KTsK
KyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorICB9LAorICBwb2ludDogZnVuY3Rpb24o
eCwgeSkgeworICAgIHggPSAreCwgeSA9ICt5OworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsK
KyAgICAgIGNhc2UgMDogdGhpcy5fcG9pbnQgPSAxOyB0aGlzLl94MyA9IHgsIHRoaXMuX3kzID0g
eTsgYnJlYWs7CisgICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgdGhpcy5fY29udGV4dC5t
b3ZlVG8odGhpcy5feDQgPSB4LCB0aGlzLl95NCA9IHkpOyBicmVhazsKKyAgICAgIGNhc2UgMjog
dGhpcy5fcG9pbnQgPSAzOyB0aGlzLl94NSA9IHgsIHRoaXMuX3k1ID0geTsgYnJlYWs7CisgICAg
ICBkZWZhdWx0OiBwb2ludCQzKHRoaXMsIHgsIHkpOyBicmVhazsKKyAgICB9CisgICAgdGhpcy5f
eDAgPSB0aGlzLl94MSwgdGhpcy5feDEgPSB0aGlzLl94MiwgdGhpcy5feDIgPSB4OworICAgIHRo
aXMuX3kwID0gdGhpcy5feTEsIHRoaXMuX3kxID0gdGhpcy5feTIsIHRoaXMuX3kyID0geTsKKyAg
fQorfTsKKwordmFyIGNhcmRpbmFsQ2xvc2VkID0gKGZ1bmN0aW9uIGN1c3RvbSh0ZW5zaW9uKSB7
CisKKyAgZnVuY3Rpb24gY2FyZGluYWwoY29udGV4dCkgeworICAgIHJldHVybiBuZXcgQ2FyZGlu
YWxDbG9zZWQoY29udGV4dCwgdGVuc2lvbik7CisgIH0KKworICBjYXJkaW5hbC50ZW5zaW9uID0g
ZnVuY3Rpb24odGVuc2lvbikgeworICAgIHJldHVybiBjdXN0b20oK3RlbnNpb24pOworICB9Owor
CisgIHJldHVybiBjYXJkaW5hbDsKK30pKDApOworCitmdW5jdGlvbiBDYXJkaW5hbE9wZW4oY29u
dGV4dCwgdGVuc2lvbikgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKKyAgdGhpcy5fayA9
ICgxIC0gdGVuc2lvbikgLyA2OworfQorCitDYXJkaW5hbE9wZW4ucHJvdG90eXBlID0geworICBh
cmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSAwOworICB9LAorICBhcmVh
RW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gTmFOOworICB9LAorICBsaW5lU3Rh
cnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3gwID0gdGhpcy5feDEgPSB0aGlzLl94MiA9Cisg
ICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IHRoaXMuX3kyID0gTmFOOworICAgIHRoaXMuX3BvaW50
ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgaWYgKHRoaXMuX2xpbmUg
fHwgKHRoaXMuX2xpbmUgIT09IDAgJiYgdGhpcy5fcG9pbnQgPT09IDMpKSB0aGlzLl9jb250ZXh0
LmNsb3NlUGF0aCgpOworICAgIHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5fbGluZTsKKyAgfSwKKyAg
cG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0gK3gsIHkgPSAreTsKKyAgICBzd2l0Y2gg
KHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3BvaW50ID0gMTsgYnJlYWs7Cisg
ICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgYnJlYWs7CisgICAgICBjYXNlIDI6IHRoaXMu
X3BvaW50ID0gMzsgdGhpcy5fbGluZSA/IHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLCB0
aGlzLl95MikgOiB0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94MiwgdGhpcy5feTIpOyBicmVh
azsKKyAgICAgIGNhc2UgMzogdGhpcy5fcG9pbnQgPSA0OyAvLyBwcm9jZWVkCisgICAgICBkZWZh
dWx0OiBwb2ludCQzKHRoaXMsIHgsIHkpOyBicmVhazsKKyAgICB9CisgICAgdGhpcy5feDAgPSB0
aGlzLl94MSwgdGhpcy5feDEgPSB0aGlzLl94MiwgdGhpcy5feDIgPSB4OworICAgIHRoaXMuX3kw
ID0gdGhpcy5feTEsIHRoaXMuX3kxID0gdGhpcy5feTIsIHRoaXMuX3kyID0geTsKKyAgfQorfTsK
KwordmFyIGNhcmRpbmFsT3BlbiA9IChmdW5jdGlvbiBjdXN0b20odGVuc2lvbikgeworCisgIGZ1
bmN0aW9uIGNhcmRpbmFsKGNvbnRleHQpIHsKKyAgICByZXR1cm4gbmV3IENhcmRpbmFsT3Blbihj
b250ZXh0LCB0ZW5zaW9uKTsKKyAgfQorCisgIGNhcmRpbmFsLnRlbnNpb24gPSBmdW5jdGlvbih0
ZW5zaW9uKSB7CisgICAgcmV0dXJuIGN1c3RvbSgrdGVuc2lvbik7CisgIH07CisKKyAgcmV0dXJu
IGNhcmRpbmFsOworfSkoMCk7CisKK2Z1bmN0aW9uIHBvaW50JDQodGhhdCwgeCwgeSkgeworICB2
YXIgeDEgPSB0aGF0Ll94MSwKKyAgICAgIHkxID0gdGhhdC5feTEsCisgICAgICB4MiA9IHRoYXQu
X3gyLAorICAgICAgeTIgPSB0aGF0Ll95MjsKKworICBpZiAodGhhdC5fbDAxX2EgPiBlcHNpbG9u
JDMpIHsKKyAgICB2YXIgYSA9IDIgKiB0aGF0Ll9sMDFfMmEgKyAzICogdGhhdC5fbDAxX2EgKiB0
aGF0Ll9sMTJfYSArIHRoYXQuX2wxMl8yYSwKKyAgICAgICAgbiA9IDMgKiB0aGF0Ll9sMDFfYSAq
ICh0aGF0Ll9sMDFfYSArIHRoYXQuX2wxMl9hKTsKKyAgICB4MSA9ICh4MSAqIGEgLSB0aGF0Ll94
MCAqIHRoYXQuX2wxMl8yYSArIHRoYXQuX3gyICogdGhhdC5fbDAxXzJhKSAvIG47CisgICAgeTEg
PSAoeTEgKiBhIC0gdGhhdC5feTAgKiB0aGF0Ll9sMTJfMmEgKyB0aGF0Ll95MiAqIHRoYXQuX2ww
MV8yYSkgLyBuOworICB9CisKKyAgaWYgKHRoYXQuX2wyM19hID4gZXBzaWxvbiQzKSB7CisgICAg
dmFyIGIgPSAyICogdGhhdC5fbDIzXzJhICsgMyAqIHRoYXQuX2wyM19hICogdGhhdC5fbDEyX2Eg
KyB0aGF0Ll9sMTJfMmEsCisgICAgICAgIG0gPSAzICogdGhhdC5fbDIzX2EgKiAodGhhdC5fbDIz
X2EgKyB0aGF0Ll9sMTJfYSk7CisgICAgeDIgPSAoeDIgKiBiICsgdGhhdC5feDEgKiB0aGF0Ll9s
MjNfMmEgLSB4ICogdGhhdC5fbDEyXzJhKSAvIG07CisgICAgeTIgPSAoeTIgKiBiICsgdGhhdC5f
eTEgKiB0aGF0Ll9sMjNfMmEgLSB5ICogdGhhdC5fbDEyXzJhKSAvIG07CisgIH0KKworICB0aGF0
Ll9jb250ZXh0LmJlemllckN1cnZlVG8oeDEsIHkxLCB4MiwgeTIsIHRoYXQuX3gyLCB0aGF0Ll95
Mik7Cit9CisKK2Z1bmN0aW9uIENhdG11bGxSb20oY29udGV4dCwgYWxwaGEpIHsKKyAgdGhpcy5f
Y29udGV4dCA9IGNvbnRleHQ7CisgIHRoaXMuX2FscGhhID0gYWxwaGE7Cit9CisKK0NhdG11bGxS
b20ucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xp
bmUgPSAwOworICB9LAorICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0g
TmFOOworICB9LAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3gwID0gdGhp
cy5feDEgPSB0aGlzLl94MiA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IHRoaXMuX3kyID0g
TmFOOworICAgIHRoaXMuX2wwMV9hID0gdGhpcy5fbDEyX2EgPSB0aGlzLl9sMjNfYSA9CisgICAg
dGhpcy5fbDAxXzJhID0gdGhpcy5fbDEyXzJhID0gdGhpcy5fbDIzXzJhID0KKyAgICB0aGlzLl9w
b2ludCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHN3aXRjaCAodGhp
cy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMjogdGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDIs
IHRoaXMuX3kyKTsgYnJlYWs7CisgICAgICBjYXNlIDM6IHRoaXMucG9pbnQodGhpcy5feDIsIHRo
aXMuX3kyKTsgYnJlYWs7CisgICAgfQorICAgIGlmICh0aGlzLl9saW5lIHx8ICh0aGlzLl9saW5l
ICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAxKSkgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTsK
KyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0sCisgIHBvaW50OiBmdW5jdGlv
bih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisKKyAgICBpZiAodGhpcy5fcG9pbnQpIHsK
KyAgICAgIHZhciB4MjMgPSB0aGlzLl94MiAtIHgsCisgICAgICAgICAgeTIzID0gdGhpcy5feTIg
LSB5OworICAgICAgdGhpcy5fbDIzX2EgPSBNYXRoLnNxcnQodGhpcy5fbDIzXzJhID0gTWF0aC5w
b3coeDIzICogeDIzICsgeTIzICogeTIzLCB0aGlzLl9hbHBoYSkpOworICAgIH0KKworICAgIHN3
aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMDogdGhpcy5fcG9pbnQgPSAxOyB0aGlz
Ll9saW5lID8gdGhpcy5fY29udGV4dC5saW5lVG8oeCwgeSkgOiB0aGlzLl9jb250ZXh0Lm1vdmVU
byh4LCB5KTsgYnJlYWs7CisgICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgYnJlYWs7Cisg
ICAgICBjYXNlIDI6IHRoaXMuX3BvaW50ID0gMzsgLy8gcHJvY2VlZAorICAgICAgZGVmYXVsdDog
cG9pbnQkNCh0aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorCisgICAgdGhpcy5fbDAxX2EgPSB0
aGlzLl9sMTJfYSwgdGhpcy5fbDEyX2EgPSB0aGlzLl9sMjNfYTsKKyAgICB0aGlzLl9sMDFfMmEg
PSB0aGlzLl9sMTJfMmEsIHRoaXMuX2wxMl8yYSA9IHRoaXMuX2wyM18yYTsKKyAgICB0aGlzLl94
MCA9IHRoaXMuX3gxLCB0aGlzLl94MSA9IHRoaXMuX3gyLCB0aGlzLl94MiA9IHg7CisgICAgdGhp
cy5feTAgPSB0aGlzLl95MSwgdGhpcy5feTEgPSB0aGlzLl95MiwgdGhpcy5feTIgPSB5OworICB9
Cit9OworCit2YXIgY2F0bXVsbFJvbSA9IChmdW5jdGlvbiBjdXN0b20oYWxwaGEpIHsKKworICBm
dW5jdGlvbiBjYXRtdWxsUm9tKGNvbnRleHQpIHsKKyAgICByZXR1cm4gYWxwaGEgPyBuZXcgQ2F0
bXVsbFJvbShjb250ZXh0LCBhbHBoYSkgOiBuZXcgQ2FyZGluYWwoY29udGV4dCwgMCk7CisgIH0K
KworICBjYXRtdWxsUm9tLmFscGhhID0gZnVuY3Rpb24oYWxwaGEpIHsKKyAgICByZXR1cm4gY3Vz
dG9tKCthbHBoYSk7CisgIH07CisKKyAgcmV0dXJuIGNhdG11bGxSb207Cit9KSgwLjUpOworCitm
dW5jdGlvbiBDYXRtdWxsUm9tQ2xvc2VkKGNvbnRleHQsIGFscGhhKSB7CisgIHRoaXMuX2NvbnRl
eHQgPSBjb250ZXh0OworICB0aGlzLl9hbHBoYSA9IGFscGhhOworfQorCitDYXRtdWxsUm9tQ2xv
c2VkLnByb3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBub29wJDMsCisgIGFyZWFFbmQ6IG5vb3Ak
MywKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxID0g
dGhpcy5feDIgPSB0aGlzLl94MyA9IHRoaXMuX3g0ID0gdGhpcy5feDUgPQorICAgIHRoaXMuX3kw
ID0gdGhpcy5feTEgPSB0aGlzLl95MiA9IHRoaXMuX3kzID0gdGhpcy5feTQgPSB0aGlzLl95NSA9
IE5hTjsKKyAgICB0aGlzLl9sMDFfYSA9IHRoaXMuX2wxMl9hID0gdGhpcy5fbDIzX2EgPQorICAg
IHRoaXMuX2wwMV8yYSA9IHRoaXMuX2wxMl8yYSA9IHRoaXMuX2wyM18yYSA9CisgICAgdGhpcy5f
cG9pbnQgPSAwOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBzd2l0Y2ggKHRo
aXMuX3BvaW50KSB7CisgICAgICBjYXNlIDE6IHsKKyAgICAgICAgdGhpcy5fY29udGV4dC5tb3Zl
VG8odGhpcy5feDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgo
KTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBjYXNlIDI6IHsKKyAgICAgICAgdGhp
cy5fY29udGV4dC5saW5lVG8odGhpcy5feDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhpcy5fY29u
dGV4dC5jbG9zZVBhdGgoKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBjYXNlIDM6
IHsKKyAgICAgICAgdGhpcy5wb2ludCh0aGlzLl94MywgdGhpcy5feTMpOworICAgICAgICB0aGlz
LnBvaW50KHRoaXMuX3g0LCB0aGlzLl95NCk7CisgICAgICAgIHRoaXMucG9pbnQodGhpcy5feDUs
IHRoaXMuX3k1KTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorICB9LAorICBwb2lu
dDogZnVuY3Rpb24oeCwgeSkgeworICAgIHggPSAreCwgeSA9ICt5OworCisgICAgaWYgKHRoaXMu
X3BvaW50KSB7CisgICAgICB2YXIgeDIzID0gdGhpcy5feDIgLSB4LAorICAgICAgICAgIHkyMyA9
IHRoaXMuX3kyIC0geTsKKyAgICAgIHRoaXMuX2wyM19hID0gTWF0aC5zcXJ0KHRoaXMuX2wyM18y
YSA9IE1hdGgucG93KHgyMyAqIHgyMyArIHkyMyAqIHkyMywgdGhpcy5fYWxwaGEpKTsKKyAgICB9
CisKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3BvaW50
ID0gMTsgdGhpcy5feDMgPSB4LCB0aGlzLl95MyA9IHk7IGJyZWFrOworICAgICAgY2FzZSAxOiB0
aGlzLl9wb2ludCA9IDI7IHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3g0ID0geCwgdGhpcy5f
eTQgPSB5KTsgYnJlYWs7CisgICAgICBjYXNlIDI6IHRoaXMuX3BvaW50ID0gMzsgdGhpcy5feDUg
PSB4LCB0aGlzLl95NSA9IHk7IGJyZWFrOworICAgICAgZGVmYXVsdDogcG9pbnQkNCh0aGlzLCB4
LCB5KTsgYnJlYWs7CisgICAgfQorCisgICAgdGhpcy5fbDAxX2EgPSB0aGlzLl9sMTJfYSwgdGhp
cy5fbDEyX2EgPSB0aGlzLl9sMjNfYTsKKyAgICB0aGlzLl9sMDFfMmEgPSB0aGlzLl9sMTJfMmEs
IHRoaXMuX2wxMl8yYSA9IHRoaXMuX2wyM18yYTsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxLCB0
aGlzLl94MSA9IHRoaXMuX3gyLCB0aGlzLl94MiA9IHg7CisgICAgdGhpcy5feTAgPSB0aGlzLl95
MSwgdGhpcy5feTEgPSB0aGlzLl95MiwgdGhpcy5feTIgPSB5OworICB9Cit9OworCit2YXIgY2F0
bXVsbFJvbUNsb3NlZCA9IChmdW5jdGlvbiBjdXN0b20oYWxwaGEpIHsKKworICBmdW5jdGlvbiBj
YXRtdWxsUm9tKGNvbnRleHQpIHsKKyAgICByZXR1cm4gYWxwaGEgPyBuZXcgQ2F0bXVsbFJvbUNs
b3NlZChjb250ZXh0LCBhbHBoYSkgOiBuZXcgQ2FyZGluYWxDbG9zZWQoY29udGV4dCwgMCk7Cisg
IH0KKworICBjYXRtdWxsUm9tLmFscGhhID0gZnVuY3Rpb24oYWxwaGEpIHsKKyAgICByZXR1cm4g
Y3VzdG9tKCthbHBoYSk7CisgIH07CisKKyAgcmV0dXJuIGNhdG11bGxSb207Cit9KSgwLjUpOwor
CitmdW5jdGlvbiBDYXRtdWxsUm9tT3Blbihjb250ZXh0LCBhbHBoYSkgeworICB0aGlzLl9jb250
ZXh0ID0gY29udGV4dDsKKyAgdGhpcy5fYWxwaGEgPSBhbHBoYTsKK30KKworQ2F0bXVsbFJvbU9w
ZW4ucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xp
bmUgPSAwOworICB9LAorICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0g
TmFOOworICB9LAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3gwID0gdGhp
cy5feDEgPSB0aGlzLl94MiA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IHRoaXMuX3kyID0g
TmFOOworICAgIHRoaXMuX2wwMV9hID0gdGhpcy5fbDEyX2EgPSB0aGlzLl9sMjNfYSA9CisgICAg
dGhpcy5fbDAxXzJhID0gdGhpcy5fbDEyXzJhID0gdGhpcy5fbDIzXzJhID0KKyAgICB0aGlzLl9w
b2ludCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9s
aW5lIHx8ICh0aGlzLl9saW5lICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAzKSkgdGhpcy5fY29u
dGV4dC5jbG9zZVBhdGgoKTsKKyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0s
CisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisKKyAgICBp
ZiAodGhpcy5fcG9pbnQpIHsKKyAgICAgIHZhciB4MjMgPSB0aGlzLl94MiAtIHgsCisgICAgICAg
ICAgeTIzID0gdGhpcy5feTIgLSB5OworICAgICAgdGhpcy5fbDIzX2EgPSBNYXRoLnNxcnQodGhp
cy5fbDIzXzJhID0gTWF0aC5wb3coeDIzICogeDIzICsgeTIzICogeTIzLCB0aGlzLl9hbHBoYSkp
OworICAgIH0KKworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMDogdGhp
cy5fcG9pbnQgPSAxOyBicmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAyOyBicmVh
azsKKyAgICAgIGNhc2UgMjogdGhpcy5fcG9pbnQgPSAzOyB0aGlzLl9saW5lID8gdGhpcy5fY29u
dGV4dC5saW5lVG8odGhpcy5feDIsIHRoaXMuX3kyKSA6IHRoaXMuX2NvbnRleHQubW92ZVRvKHRo
aXMuX3gyLCB0aGlzLl95Mik7IGJyZWFrOworICAgICAgY2FzZSAzOiB0aGlzLl9wb2ludCA9IDQ7
IC8vIHByb2NlZWQKKyAgICAgIGRlZmF1bHQ6IHBvaW50JDQodGhpcywgeCwgeSk7IGJyZWFrOwor
ICAgIH0KKworICAgIHRoaXMuX2wwMV9hID0gdGhpcy5fbDEyX2EsIHRoaXMuX2wxMl9hID0gdGhp
cy5fbDIzX2E7CisgICAgdGhpcy5fbDAxXzJhID0gdGhpcy5fbDEyXzJhLCB0aGlzLl9sMTJfMmEg
PSB0aGlzLl9sMjNfMmE7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSwgdGhpcy5feDEgPSB0aGlz
Ll94MiwgdGhpcy5feDIgPSB4OworICAgIHRoaXMuX3kwID0gdGhpcy5feTEsIHRoaXMuX3kxID0g
dGhpcy5feTIsIHRoaXMuX3kyID0geTsKKyAgfQorfTsKKwordmFyIGNhdG11bGxSb21PcGVuID0g
KGZ1bmN0aW9uIGN1c3RvbShhbHBoYSkgeworCisgIGZ1bmN0aW9uIGNhdG11bGxSb20oY29udGV4
dCkgeworICAgIHJldHVybiBhbHBoYSA/IG5ldyBDYXRtdWxsUm9tT3Blbihjb250ZXh0LCBhbHBo
YSkgOiBuZXcgQ2FyZGluYWxPcGVuKGNvbnRleHQsIDApOworICB9CisKKyAgY2F0bXVsbFJvbS5h
bHBoYSA9IGZ1bmN0aW9uKGFscGhhKSB7CisgICAgcmV0dXJuIGN1c3RvbSgrYWxwaGEpOworICB9
OworCisgIHJldHVybiBjYXRtdWxsUm9tOworfSkoMC41KTsKKworZnVuY3Rpb24gTGluZWFyQ2xv
c2VkKGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7Cit9CisKK0xpbmVhckNs
b3NlZC5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogbm9vcCQzLAorICBhcmVhRW5kOiBub29w
JDMsCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9
LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fcG9pbnQpIHRoaXMuX2Nv
bnRleHQuY2xvc2VQYXRoKCk7CisgIH0sCisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAg
eCA9ICt4LCB5ID0gK3k7CisgICAgaWYgKHRoaXMuX3BvaW50KSB0aGlzLl9jb250ZXh0LmxpbmVU
byh4LCB5KTsKKyAgICBlbHNlIHRoaXMuX3BvaW50ID0gMSwgdGhpcy5fY29udGV4dC5tb3ZlVG8o
eCwgeSk7CisgIH0KK307CisKK2Z1bmN0aW9uIGxpbmVhckNsb3NlZChjb250ZXh0KSB7CisgIHJl
dHVybiBuZXcgTGluZWFyQ2xvc2VkKGNvbnRleHQpOworfQorCitmdW5jdGlvbiBzaWduJDEoeCkg
eworICByZXR1cm4geCA8IDAgPyAtMSA6IDE7Cit9CisKKy8vIENhbGN1bGF0ZSB0aGUgc2xvcGVz
IG9mIHRoZSB0YW5nZW50cyAoSGVybWl0ZS10eXBlIGludGVycG9sYXRpb24pIGJhc2VkIG9uCisv
LyB0aGUgZm9sbG93aW5nIHBhcGVyOiBTdGVmZmVuLCBNLiAxOTkwLiBBIFNpbXBsZSBNZXRob2Qg
Zm9yIE1vbm90b25pYworLy8gSW50ZXJwb2xhdGlvbiBpbiBPbmUgRGltZW5zaW9uLiBBc3Ryb25v
bXkgYW5kIEFzdHJvcGh5c2ljcywgVm9sLiAyMzksIE5PLgorLy8gTk9WKElJKSwgUC4gNDQzLCAx
OTkwLgorZnVuY3Rpb24gc2xvcGUzKHRoYXQsIHgyLCB5MikgeworICB2YXIgaDAgPSB0aGF0Ll94
MSAtIHRoYXQuX3gwLAorICAgICAgaDEgPSB4MiAtIHRoYXQuX3gxLAorICAgICAgczAgPSAodGhh
dC5feTEgLSB0aGF0Ll95MCkgLyAoaDAgfHwgaDEgPCAwICYmIC0wKSwKKyAgICAgIHMxID0gKHky
IC0gdGhhdC5feTEpIC8gKGgxIHx8IGgwIDwgMCAmJiAtMCksCisgICAgICBwID0gKHMwICogaDEg
KyBzMSAqIGgwKSAvIChoMCArIGgxKTsKKyAgcmV0dXJuIChzaWduJDEoczApICsgc2lnbiQxKHMx
KSkgKiBNYXRoLm1pbihNYXRoLmFicyhzMCksIE1hdGguYWJzKHMxKSwgMC41ICogTWF0aC5hYnMo
cCkpIHx8IDA7Cit9CisKKy8vIENhbGN1bGF0ZSBhIG9uZS1zaWRlZCBzbG9wZS4KK2Z1bmN0aW9u
IHNsb3BlMih0aGF0LCB0KSB7CisgIHZhciBoID0gdGhhdC5feDEgLSB0aGF0Ll94MDsKKyAgcmV0
dXJuIGggPyAoMyAqICh0aGF0Ll95MSAtIHRoYXQuX3kwKSAvIGggLSB0KSAvIDIgOiB0OworfQor
CisvLyBBY2NvcmRpbmcgdG8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ3ViaWNfSGVy
bWl0ZV9zcGxpbmUjUmVwcmVzZW50YXRpb25zCisvLyAieW91IGNhbiBleHByZXNzIGN1YmljIEhl
cm1pdGUgaW50ZXJwb2xhdGlvbiBpbiB0ZXJtcyBvZiBjdWJpYyBCw6l6aWVyIGN1cnZlcworLy8g
d2l0aCByZXNwZWN0IHRvIHRoZSBmb3VyIHZhbHVlcyBwMCwgcDAgKyBtMCAvIDMsIHAxIC0gbTEg
LyAzLCBwMSIuCitmdW5jdGlvbiBwb2ludCQ1KHRoYXQsIHQwLCB0MSkgeworICB2YXIgeDAgPSB0
aGF0Ll94MCwKKyAgICAgIHkwID0gdGhhdC5feTAsCisgICAgICB4MSA9IHRoYXQuX3gxLAorICAg
ICAgeTEgPSB0aGF0Ll95MSwKKyAgICAgIGR4ID0gKHgxIC0geDApIC8gMzsKKyAgdGhhdC5fY29u
dGV4dC5iZXppZXJDdXJ2ZVRvKHgwICsgZHgsIHkwICsgZHggKiB0MCwgeDEgLSBkeCwgeTEgLSBk
eCAqIHQxLCB4MSwgeTEpOworfQorCitmdW5jdGlvbiBNb25vdG9uZVgoY29udGV4dCkgeworICB0
aGlzLl9jb250ZXh0ID0gY29udGV4dDsKK30KKworTW9ub3RvbmVYLnByb3RvdHlwZSA9IHsKKyAg
YXJlYVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAgfSwKKyAgYXJl
YUVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwKKyAgbGluZVN0
YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxID0KKyAgICB0aGlzLl95
MCA9IHRoaXMuX3kxID0KKyAgICB0aGlzLl90MCA9IE5hTjsKKyAgICB0aGlzLl9wb2ludCA9IDA7
CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQp
IHsKKyAgICAgIGNhc2UgMjogdGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDEsIHRoaXMuX3kx
KTsgYnJlYWs7CisgICAgICBjYXNlIDM6IHBvaW50JDUodGhpcywgdGhpcy5fdDAsIHNsb3BlMih0
aGlzLCB0aGlzLl90MCkpOyBicmVhazsKKyAgICB9CisgICAgaWYgKHRoaXMuX2xpbmUgfHwgKHRo
aXMuX2xpbmUgIT09IDAgJiYgdGhpcy5fcG9pbnQgPT09IDEpKSB0aGlzLl9jb250ZXh0LmNsb3Nl
UGF0aCgpOworICAgIHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5fbGluZTsKKyAgfSwKKyAgcG9pbnQ6
IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB2YXIgdDEgPSBOYU47CisKKyAgICB4ID0gK3gsIHkgPSAr
eTsKKyAgICBpZiAoeCA9PT0gdGhpcy5feDEgJiYgeSA9PT0gdGhpcy5feTEpIHJldHVybjsgLy8g
SWdub3JlIGNvaW5jaWRlbnQgcG9pbnRzLgorICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAg
ICAgIGNhc2UgMDogdGhpcy5fcG9pbnQgPSAxOyB0aGlzLl9saW5lID8gdGhpcy5fY29udGV4dC5s
aW5lVG8oeCwgeSkgOiB0aGlzLl9jb250ZXh0Lm1vdmVUbyh4LCB5KTsgYnJlYWs7CisgICAgICBj
YXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgYnJlYWs7CisgICAgICBjYXNlIDI6IHRoaXMuX3BvaW50
ID0gMzsgcG9pbnQkNSh0aGlzLCBzbG9wZTIodGhpcywgdDEgPSBzbG9wZTModGhpcywgeCwgeSkp
LCB0MSk7IGJyZWFrOworICAgICAgZGVmYXVsdDogcG9pbnQkNSh0aGlzLCB0aGlzLl90MCwgdDEg
PSBzbG9wZTModGhpcywgeCwgeSkpOyBicmVhazsKKyAgICB9CisKKyAgICB0aGlzLl94MCA9IHRo
aXMuX3gxLCB0aGlzLl94MSA9IHg7CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSwgdGhpcy5feTEg
PSB5OworICAgIHRoaXMuX3QwID0gdDE7CisgIH0KK307CisKK2Z1bmN0aW9uIE1vbm90b25lWShj
b250ZXh0KSB7CisgIHRoaXMuX2NvbnRleHQgPSBuZXcgUmVmbGVjdENvbnRleHQoY29udGV4dCk7
Cit9CisKKyhNb25vdG9uZVkucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShNb25vdG9uZVgucHJv
dG90eXBlKSkucG9pbnQgPSBmdW5jdGlvbih4LCB5KSB7CisgIE1vbm90b25lWC5wcm90b3R5cGUu
cG9pbnQuY2FsbCh0aGlzLCB5LCB4KTsKK307CisKK2Z1bmN0aW9uIFJlZmxlY3RDb250ZXh0KGNv
bnRleHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7Cit9CisKK1JlZmxlY3RDb250ZXh0
LnByb3RvdHlwZSA9IHsKKyAgbW92ZVRvOiBmdW5jdGlvbih4LCB5KSB7IHRoaXMuX2NvbnRleHQu
bW92ZVRvKHksIHgpOyB9LAorICBjbG9zZVBhdGg6IGZ1bmN0aW9uKCkgeyB0aGlzLl9jb250ZXh0
LmNsb3NlUGF0aCgpOyB9LAorICBsaW5lVG86IGZ1bmN0aW9uKHgsIHkpIHsgdGhpcy5fY29udGV4
dC5saW5lVG8oeSwgeCk7IH0sCisgIGJlemllckN1cnZlVG86IGZ1bmN0aW9uKHgxLCB5MSwgeDIs
IHkyLCB4LCB5KSB7IHRoaXMuX2NvbnRleHQuYmV6aWVyQ3VydmVUbyh5MSwgeDEsIHkyLCB4Miwg
eSwgeCk7IH0KK307CisKK2Z1bmN0aW9uIG1vbm90b25lWChjb250ZXh0KSB7CisgIHJldHVybiBu
ZXcgTW9ub3RvbmVYKGNvbnRleHQpOworfQorCitmdW5jdGlvbiBtb25vdG9uZVkoY29udGV4dCkg
eworICByZXR1cm4gbmV3IE1vbm90b25lWShjb250ZXh0KTsKK30KKworZnVuY3Rpb24gTmF0dXJh
bChjb250ZXh0KSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworfQorCitOYXR1cmFsLnBy
b3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0g
MDsKKyAgfSwKKyAgYXJlYUVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IE5hTjsK
KyAgfSwKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94ID0gW107CisgICAg
dGhpcy5feSA9IFtdOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgeCA9
IHRoaXMuX3gsCisgICAgICAgIHkgPSB0aGlzLl95LAorICAgICAgICBuID0geC5sZW5ndGg7CisK
KyAgICBpZiAobikgeworICAgICAgdGhpcy5fbGluZSA/IHRoaXMuX2NvbnRleHQubGluZVRvKHhb
MF0sIHlbMF0pIDogdGhpcy5fY29udGV4dC5tb3ZlVG8oeFswXSwgeVswXSk7CisgICAgICBpZiAo
biA9PT0gMikgeworICAgICAgICB0aGlzLl9jb250ZXh0LmxpbmVUbyh4WzFdLCB5WzFdKTsKKyAg
ICAgIH0gZWxzZSB7CisgICAgICAgIHZhciBweCA9IGNvbnRyb2xQb2ludHMoeCksCisgICAgICAg
ICAgICBweSA9IGNvbnRyb2xQb2ludHMoeSk7CisgICAgICAgIGZvciAodmFyIGkwID0gMCwgaTEg
PSAxOyBpMSA8IG47ICsraTAsICsraTEpIHsKKyAgICAgICAgICB0aGlzLl9jb250ZXh0LmJlemll
ckN1cnZlVG8ocHhbMF1baTBdLCBweVswXVtpMF0sIHB4WzFdW2kwXSwgcHlbMV1baTBdLCB4W2kx
XSwgeVtpMV0pOworICAgICAgICB9CisgICAgICB9CisgICAgfQorCisgICAgaWYgKHRoaXMuX2xp
bmUgfHwgKHRoaXMuX2xpbmUgIT09IDAgJiYgbiA9PT0gMSkpIHRoaXMuX2NvbnRleHQuY2xvc2VQ
YXRoKCk7CisgICAgdGhpcy5fbGluZSA9IDEgLSB0aGlzLl9saW5lOworICAgIHRoaXMuX3ggPSB0
aGlzLl95ID0gbnVsbDsKKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB0aGlz
Ll94LnB1c2goK3gpOworICAgIHRoaXMuX3kucHVzaCgreSk7CisgIH0KK307CisKKy8vIFNlZSBo
dHRwczovL3d3dy5wYXJ0aWNsZWluY2VsbC5jb20vMjAxMi9iZXppZXItc3BsaW5lcy8gZm9yIGRl
cml2YXRpb24uCitmdW5jdGlvbiBjb250cm9sUG9pbnRzKHgpIHsKKyAgdmFyIGksCisgICAgICBu
ID0geC5sZW5ndGggLSAxLAorICAgICAgbSwKKyAgICAgIGEgPSBuZXcgQXJyYXkobiksCisgICAg
ICBiID0gbmV3IEFycmF5KG4pLAorICAgICAgciA9IG5ldyBBcnJheShuKTsKKyAgYVswXSA9IDAs
IGJbMF0gPSAyLCByWzBdID0geFswXSArIDIgKiB4WzFdOworICBmb3IgKGkgPSAxOyBpIDwgbiAt
IDE7ICsraSkgYVtpXSA9IDEsIGJbaV0gPSA0LCByW2ldID0gNCAqIHhbaV0gKyAyICogeFtpICsg
MV07CisgIGFbbiAtIDFdID0gMiwgYltuIC0gMV0gPSA3LCByW24gLSAxXSA9IDggKiB4W24gLSAx
XSArIHhbbl07CisgIGZvciAoaSA9IDE7IGkgPCBuOyArK2kpIG0gPSBhW2ldIC8gYltpIC0gMV0s
IGJbaV0gLT0gbSwgcltpXSAtPSBtICogcltpIC0gMV07CisgIGFbbiAtIDFdID0gcltuIC0gMV0g
LyBiW24gLSAxXTsKKyAgZm9yIChpID0gbiAtIDI7IGkgPj0gMDsgLS1pKSBhW2ldID0gKHJbaV0g
LSBhW2kgKyAxXSkgLyBiW2ldOworICBiW24gLSAxXSA9ICh4W25dICsgYVtuIC0gMV0pIC8gMjsK
KyAgZm9yIChpID0gMDsgaSA8IG4gLSAxOyArK2kpIGJbaV0gPSAyICogeFtpICsgMV0gLSBhW2kg
KyAxXTsKKyAgcmV0dXJuIFthLCBiXTsKK30KKworZnVuY3Rpb24gbmF0dXJhbChjb250ZXh0KSB7
CisgIHJldHVybiBuZXcgTmF0dXJhbChjb250ZXh0KTsKK30KKworZnVuY3Rpb24gU3RlcChjb250
ZXh0LCB0KSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworICB0aGlzLl90ID0gdDsKK30K
KworU3RlcC5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhp
cy5fbGluZSA9IDA7CisgIH0sCisgIGFyZWFFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xp
bmUgPSBOYU47CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5feCA9
IHRoaXMuX3kgPSBOYU47CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9LAorICBsaW5lRW5kOiBm
dW5jdGlvbigpIHsKKyAgICBpZiAoMCA8IHRoaXMuX3QgJiYgdGhpcy5fdCA8IDEgJiYgdGhpcy5f
cG9pbnQgPT09IDIpIHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gsIHRoaXMuX3kpOworICAg
IGlmICh0aGlzLl9saW5lIHx8ICh0aGlzLl9saW5lICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAx
KSkgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgICBpZiAodGhpcy5fbGluZSA+PSAwKSB0
aGlzLl90ID0gMSAtIHRoaXMuX3QsIHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5fbGluZTsKKyAgfSwK
KyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0gK3gsIHkgPSAreTsKKyAgICBzd2l0
Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3BvaW50ID0gMTsgdGhpcy5f
bGluZSA/IHRoaXMuX2NvbnRleHQubGluZVRvKHgsIHkpIDogdGhpcy5fY29udGV4dC5tb3ZlVG8o
eCwgeSk7IGJyZWFrOworICAgICAgY2FzZSAxOiB0aGlzLl9wb2ludCA9IDI7IC8vIHByb2NlZWQK
KyAgICAgIGRlZmF1bHQ6IHsKKyAgICAgICAgaWYgKHRoaXMuX3QgPD0gMCkgeworICAgICAgICAg
IHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gsIHkpOworICAgICAgICAgIHRoaXMuX2NvbnRl
eHQubGluZVRvKHgsIHkpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIHZhciB4MSA9IHRo
aXMuX3ggKiAoMSAtIHRoaXMuX3QpICsgeCAqIHRoaXMuX3Q7CisgICAgICAgICAgdGhpcy5fY29u
dGV4dC5saW5lVG8oeDEsIHRoaXMuX3kpOworICAgICAgICAgIHRoaXMuX2NvbnRleHQubGluZVRv
KHgxLCB5KTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICB9CisgICAg
dGhpcy5feCA9IHgsIHRoaXMuX3kgPSB5OworICB9Cit9OworCitmdW5jdGlvbiBzdGVwKGNvbnRl
eHQpIHsKKyAgcmV0dXJuIG5ldyBTdGVwKGNvbnRleHQsIDAuNSk7Cit9CisKK2Z1bmN0aW9uIHN0
ZXBCZWZvcmUoY29udGV4dCkgeworICByZXR1cm4gbmV3IFN0ZXAoY29udGV4dCwgMCk7Cit9CisK
K2Z1bmN0aW9uIHN0ZXBBZnRlcihjb250ZXh0KSB7CisgIHJldHVybiBuZXcgU3RlcChjb250ZXh0
LCAxKTsKK30KKworZnVuY3Rpb24gbm9uZSQxKHNlcmllcywgb3JkZXIpIHsKKyAgaWYgKCEoKG4g
PSBzZXJpZXMubGVuZ3RoKSA+IDEpKSByZXR1cm47CisgIGZvciAodmFyIGkgPSAxLCBqLCBzMCwg
czEgPSBzZXJpZXNbb3JkZXJbMF1dLCBuLCBtID0gczEubGVuZ3RoOyBpIDwgbjsgKytpKSB7Cisg
ICAgczAgPSBzMSwgczEgPSBzZXJpZXNbb3JkZXJbaV1dOworICAgIGZvciAoaiA9IDA7IGogPCBt
OyArK2opIHsKKyAgICAgIHMxW2pdWzFdICs9IHMxW2pdWzBdID0gaXNOYU4oczBbal1bMV0pID8g
czBbal1bMF0gOiBzMFtqXVsxXTsKKyAgICB9CisgIH0KK30KKworZnVuY3Rpb24gbm9uZSQyKHNl
cmllcykgeworICB2YXIgbiA9IHNlcmllcy5sZW5ndGgsIG8gPSBuZXcgQXJyYXkobik7CisgIHdo
aWxlICgtLW4gPj0gMCkgb1tuXSA9IG47CisgIHJldHVybiBvOworfQorCitmdW5jdGlvbiBzdGFj
a1ZhbHVlKGQsIGtleSkgeworICByZXR1cm4gZFtrZXldOworfQorCitmdW5jdGlvbiBzdGFjaygp
IHsKKyAgdmFyIGtleXMgPSBjb25zdGFudCRiKFtdKSwKKyAgICAgIG9yZGVyID0gbm9uZSQyLAor
ICAgICAgb2Zmc2V0ID0gbm9uZSQxLAorICAgICAgdmFsdWUgPSBzdGFja1ZhbHVlOworCisgIGZ1
bmN0aW9uIHN0YWNrKGRhdGEpIHsKKyAgICB2YXIga3ogPSBrZXlzLmFwcGx5KHRoaXMsIGFyZ3Vt
ZW50cyksCisgICAgICAgIGksCisgICAgICAgIG0gPSBkYXRhLmxlbmd0aCwKKyAgICAgICAgbiA9
IGt6Lmxlbmd0aCwKKyAgICAgICAgc3ogPSBuZXcgQXJyYXkobiksCisgICAgICAgIG96OworCisg
ICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgZm9yICh2YXIga2kgPSBreltpXSwg
c2kgPSBzeltpXSA9IG5ldyBBcnJheShtKSwgaiA9IDAsIHNpajsgaiA8IG07ICsraikgeworICAg
ICAgICBzaVtqXSA9IHNpaiA9IFswLCArdmFsdWUoZGF0YVtqXSwga2ksIGosIGRhdGEpXTsKKyAg
ICAgICAgc2lqLmRhdGEgPSBkYXRhW2pdOworICAgICAgfQorICAgICAgc2kua2V5ID0ga2k7Cisg
ICAgfQorCisgICAgZm9yIChpID0gMCwgb3ogPSBvcmRlcihzeik7IGkgPCBuOyArK2kpIHsKKyAg
ICAgIHN6W296W2ldXS5pbmRleCA9IGk7CisgICAgfQorCisgICAgb2Zmc2V0KHN6LCBveik7Cisg
ICAgcmV0dXJuIHN6OworICB9CisKKyAgc3RhY2sua2V5cyA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChrZXlzID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIg
PyBfIDogY29uc3RhbnQkYihzbGljZSQ2LmNhbGwoXykpLCBzdGFjaykgOiBrZXlzOworICB9Owor
CisgIHN0YWNrLnZhbHVlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHZhbHVlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigr
XyksIHN0YWNrKSA6IHZhbHVlOworICB9OworCisgIHN0YWNrLm9yZGVyID0gZnVuY3Rpb24oXykg
eworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKG9yZGVyID0gXyA9PSBudWxsID8gbm9u
ZSQyIDogdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYihzbGljZSQ2LmNh
bGwoXykpLCBzdGFjaykgOiBvcmRlcjsKKyAgfTsKKworICBzdGFjay5vZmZzZXQgPSBmdW5jdGlv
bihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAob2Zmc2V0ID0gXyA9PSBudWxs
ID8gbm9uZSQxIDogXywgc3RhY2spIDogb2Zmc2V0OworICB9OworCisgIHJldHVybiBzdGFjazsK
K30KKworZnVuY3Rpb24gZXhwYW5kKHNlcmllcywgb3JkZXIpIHsKKyAgaWYgKCEoKG4gPSBzZXJp
ZXMubGVuZ3RoKSA+IDApKSByZXR1cm47CisgIGZvciAodmFyIGksIG4sIGogPSAwLCBtID0gc2Vy
aWVzWzBdLmxlbmd0aCwgeTsgaiA8IG07ICsraikgeworICAgIGZvciAoeSA9IGkgPSAwOyBpIDwg
bjsgKytpKSB5ICs9IHNlcmllc1tpXVtqXVsxXSB8fCAwOworICAgIGlmICh5KSBmb3IgKGkgPSAw
OyBpIDwgbjsgKytpKSBzZXJpZXNbaV1bal1bMV0gLz0geTsKKyAgfQorICBub25lJDEoc2VyaWVz
LCBvcmRlcik7Cit9CisKK2Z1bmN0aW9uIGRpdmVyZ2luZyQxKHNlcmllcywgb3JkZXIpIHsKKyAg
aWYgKCEoKG4gPSBzZXJpZXMubGVuZ3RoKSA+IDApKSByZXR1cm47CisgIGZvciAodmFyIGksIGog
PSAwLCBkLCBkeSwgeXAsIHluLCBuLCBtID0gc2VyaWVzW29yZGVyWzBdXS5sZW5ndGg7IGogPCBt
OyArK2opIHsKKyAgICBmb3IgKHlwID0geW4gPSAwLCBpID0gMDsgaSA8IG47ICsraSkgeworICAg
ICAgaWYgKChkeSA9IChkID0gc2VyaWVzW29yZGVyW2ldXVtqXSlbMV0gLSBkWzBdKSA+IDApIHsK
KyAgICAgICAgZFswXSA9IHlwLCBkWzFdID0geXAgKz0gZHk7CisgICAgICB9IGVsc2UgaWYgKGR5
IDwgMCkgeworICAgICAgICBkWzFdID0geW4sIGRbMF0gPSB5biArPSBkeTsKKyAgICAgIH0gZWxz
ZSB7CisgICAgICAgIGRbMF0gPSAwLCBkWzFdID0gZHk7CisgICAgICB9CisgICAgfQorICB9Cit9
CisKK2Z1bmN0aW9uIHNpbGhvdWV0dGUoc2VyaWVzLCBvcmRlcikgeworICBpZiAoISgobiA9IHNl
cmllcy5sZW5ndGgpID4gMCkpIHJldHVybjsKKyAgZm9yICh2YXIgaiA9IDAsIHMwID0gc2VyaWVz
W29yZGVyWzBdXSwgbiwgbSA9IHMwLmxlbmd0aDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFy
IGkgPSAwLCB5ID0gMDsgaSA8IG47ICsraSkgeSArPSBzZXJpZXNbaV1bal1bMV0gfHwgMDsKKyAg
ICBzMFtqXVsxXSArPSBzMFtqXVswXSA9IC15IC8gMjsKKyAgfQorICBub25lJDEoc2VyaWVzLCBv
cmRlcik7Cit9CisKK2Z1bmN0aW9uIHdpZ2dsZShzZXJpZXMsIG9yZGVyKSB7CisgIGlmICghKChu
ID0gc2VyaWVzLmxlbmd0aCkgPiAwKSB8fCAhKChtID0gKHMwID0gc2VyaWVzW29yZGVyWzBdXSku
bGVuZ3RoKSA+IDApKSByZXR1cm47CisgIGZvciAodmFyIHkgPSAwLCBqID0gMSwgczAsIG0sIG47
IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBpID0gMCwgczEgPSAwLCBzMiA9IDA7IGkgPCBu
OyArK2kpIHsKKyAgICAgIHZhciBzaSA9IHNlcmllc1tvcmRlcltpXV0sCisgICAgICAgICAgc2lq
MCA9IHNpW2pdWzFdIHx8IDAsCisgICAgICAgICAgc2lqMSA9IHNpW2ogLSAxXVsxXSB8fCAwLAor
ICAgICAgICAgIHMzID0gKHNpajAgLSBzaWoxKSAvIDI7CisgICAgICBmb3IgKHZhciBrID0gMDsg
ayA8IGk7ICsraykgeworICAgICAgICB2YXIgc2sgPSBzZXJpZXNbb3JkZXJba11dLAorICAgICAg
ICAgICAgc2tqMCA9IHNrW2pdWzFdIHx8IDAsCisgICAgICAgICAgICBza2oxID0gc2tbaiAtIDFd
WzFdIHx8IDA7CisgICAgICAgIHMzICs9IHNrajAgLSBza2oxOworICAgICAgfQorICAgICAgczEg
Kz0gc2lqMCwgczIgKz0gczMgKiBzaWowOworICAgIH0KKyAgICBzMFtqIC0gMV1bMV0gKz0gczBb
aiAtIDFdWzBdID0geTsKKyAgICBpZiAoczEpIHkgLT0gczIgLyBzMTsKKyAgfQorICBzMFtqIC0g
MV1bMV0gKz0gczBbaiAtIDFdWzBdID0geTsKKyAgbm9uZSQxKHNlcmllcywgb3JkZXIpOworfQor
CitmdW5jdGlvbiBhcHBlYXJhbmNlKHNlcmllcykgeworICB2YXIgcGVha3MgPSBzZXJpZXMubWFw
KHBlYWspOworICByZXR1cm4gbm9uZSQyKHNlcmllcykuc29ydChmdW5jdGlvbihhLCBiKSB7IHJl
dHVybiBwZWFrc1thXSAtIHBlYWtzW2JdOyB9KTsKK30KKworZnVuY3Rpb24gcGVhayhzZXJpZXMp
IHsKKyAgdmFyIGkgPSAtMSwgaiA9IDAsIG4gPSBzZXJpZXMubGVuZ3RoLCB2aSwgdmogPSAtSW5m
aW5pdHk7CisgIHdoaWxlICgrK2kgPCBuKSBpZiAoKHZpID0gK3Nlcmllc1tpXVsxXSkgPiB2aikg
dmogPSB2aSwgaiA9IGk7CisgIHJldHVybiBqOworfQorCitmdW5jdGlvbiBhc2NlbmRpbmckMyhz
ZXJpZXMpIHsKKyAgdmFyIHN1bXMgPSBzZXJpZXMubWFwKHN1bSQyKTsKKyAgcmV0dXJuIG5vbmUk
MihzZXJpZXMpLnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4gc3Vtc1thXSAtIHN1bXNbYl07
IH0pOworfQorCitmdW5jdGlvbiBzdW0kMihzZXJpZXMpIHsKKyAgdmFyIHMgPSAwLCBpID0gLTEs
IG4gPSBzZXJpZXMubGVuZ3RoLCB2OworICB3aGlsZSAoKytpIDwgbikgaWYgKHYgPSArc2VyaWVz
W2ldWzFdKSBzICs9IHY7CisgIHJldHVybiBzOworfQorCitmdW5jdGlvbiBkZXNjZW5kaW5nJDIo
c2VyaWVzKSB7CisgIHJldHVybiBhc2NlbmRpbmckMyhzZXJpZXMpLnJldmVyc2UoKTsKK30KKwor
ZnVuY3Rpb24gaW5zaWRlT3V0KHNlcmllcykgeworICB2YXIgbiA9IHNlcmllcy5sZW5ndGgsCisg
ICAgICBpLAorICAgICAgaiwKKyAgICAgIHN1bXMgPSBzZXJpZXMubWFwKHN1bSQyKSwKKyAgICAg
IG9yZGVyID0gYXBwZWFyYW5jZShzZXJpZXMpLAorICAgICAgdG9wID0gMCwKKyAgICAgIGJvdHRv
bSA9IDAsCisgICAgICB0b3BzID0gW10sCisgICAgICBib3R0b21zID0gW107CisKKyAgZm9yIChp
ID0gMDsgaSA8IG47ICsraSkgeworICAgIGogPSBvcmRlcltpXTsKKyAgICBpZiAodG9wIDwgYm90
dG9tKSB7CisgICAgICB0b3AgKz0gc3Vtc1tqXTsKKyAgICAgIHRvcHMucHVzaChqKTsKKyAgICB9
IGVsc2UgeworICAgICAgYm90dG9tICs9IHN1bXNbal07CisgICAgICBib3R0b21zLnB1c2goaik7
CisgICAgfQorICB9CisKKyAgcmV0dXJuIGJvdHRvbXMucmV2ZXJzZSgpLmNvbmNhdCh0b3BzKTsK
K30KKworZnVuY3Rpb24gcmV2ZXJzZShzZXJpZXMpIHsKKyAgcmV0dXJuIG5vbmUkMihzZXJpZXMp
LnJldmVyc2UoKTsKK30KKworZnVuY3Rpb24gY29uc3RhbnQkYyh4KSB7CisgIHJldHVybiBmdW5j
dGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKworZnVuY3Rpb24geCQ0KGQpIHsKKyAg
cmV0dXJuIGRbMF07Cit9CisKK2Z1bmN0aW9uIHkkNChkKSB7CisgIHJldHVybiBkWzFdOworfQor
CitmdW5jdGlvbiBSZWRCbGFja1RyZWUoKSB7CisgIHRoaXMuXyA9IG51bGw7IC8vIHJvb3Qgbm9k
ZQorfQorCitmdW5jdGlvbiBSZWRCbGFja05vZGUobm9kZSkgeworICBub2RlLlUgPSAvLyBwYXJl
bnQgbm9kZQorICBub2RlLkMgPSAvLyBjb2xvciAtIHRydWUgZm9yIHJlZCwgZmFsc2UgZm9yIGJs
YWNrCisgIG5vZGUuTCA9IC8vIGxlZnQgbm9kZQorICBub2RlLlIgPSAvLyByaWdodCBub2RlCisg
IG5vZGUuUCA9IC8vIHByZXZpb3VzIG5vZGUKKyAgbm9kZS5OID0gbnVsbDsgLy8gbmV4dCBub2Rl
Cit9CisKK1JlZEJsYWNrVHJlZS5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBSZWRCbGFj
a1RyZWUsCisKKyAgaW5zZXJ0OiBmdW5jdGlvbihhZnRlciwgbm9kZSkgeworICAgIHZhciBwYXJl
bnQsIGdyYW5kcGEsIHVuY2xlOworCisgICAgaWYgKGFmdGVyKSB7CisgICAgICBub2RlLlAgPSBh
ZnRlcjsKKyAgICAgIG5vZGUuTiA9IGFmdGVyLk47CisgICAgICBpZiAoYWZ0ZXIuTikgYWZ0ZXIu
Ti5QID0gbm9kZTsKKyAgICAgIGFmdGVyLk4gPSBub2RlOworICAgICAgaWYgKGFmdGVyLlIpIHsK
KyAgICAgICAgYWZ0ZXIgPSBhZnRlci5SOworICAgICAgICB3aGlsZSAoYWZ0ZXIuTCkgYWZ0ZXIg
PSBhZnRlci5MOworICAgICAgICBhZnRlci5MID0gbm9kZTsKKyAgICAgIH0gZWxzZSB7CisgICAg
ICAgIGFmdGVyLlIgPSBub2RlOworICAgICAgfQorICAgICAgcGFyZW50ID0gYWZ0ZXI7CisgICAg
fSBlbHNlIGlmICh0aGlzLl8pIHsKKyAgICAgIGFmdGVyID0gUmVkQmxhY2tGaXJzdCh0aGlzLl8p
OworICAgICAgbm9kZS5QID0gbnVsbDsKKyAgICAgIG5vZGUuTiA9IGFmdGVyOworICAgICAgYWZ0
ZXIuUCA9IGFmdGVyLkwgPSBub2RlOworICAgICAgcGFyZW50ID0gYWZ0ZXI7CisgICAgfSBlbHNl
IHsKKyAgICAgIG5vZGUuUCA9IG5vZGUuTiA9IG51bGw7CisgICAgICB0aGlzLl8gPSBub2RlOwor
ICAgICAgcGFyZW50ID0gbnVsbDsKKyAgICB9CisgICAgbm9kZS5MID0gbm9kZS5SID0gbnVsbDsK
KyAgICBub2RlLlUgPSBwYXJlbnQ7CisgICAgbm9kZS5DID0gdHJ1ZTsKKworICAgIGFmdGVyID0g
bm9kZTsKKyAgICB3aGlsZSAocGFyZW50ICYmIHBhcmVudC5DKSB7CisgICAgICBncmFuZHBhID0g
cGFyZW50LlU7CisgICAgICBpZiAocGFyZW50ID09PSBncmFuZHBhLkwpIHsKKyAgICAgICAgdW5j
bGUgPSBncmFuZHBhLlI7CisgICAgICAgIGlmICh1bmNsZSAmJiB1bmNsZS5DKSB7CisgICAgICAg
ICAgcGFyZW50LkMgPSB1bmNsZS5DID0gZmFsc2U7CisgICAgICAgICAgZ3JhbmRwYS5DID0gdHJ1
ZTsKKyAgICAgICAgICBhZnRlciA9IGdyYW5kcGE7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgaWYgKGFmdGVyID09PSBwYXJlbnQuUikgeworICAgICAgICAgICAgUmVkQmxhY2tSb3RhdGVM
ZWZ0KHRoaXMsIHBhcmVudCk7CisgICAgICAgICAgICBhZnRlciA9IHBhcmVudDsKKyAgICAgICAg
ICAgIHBhcmVudCA9IGFmdGVyLlU7CisgICAgICAgICAgfQorICAgICAgICAgIHBhcmVudC5DID0g
ZmFsc2U7CisgICAgICAgICAgZ3JhbmRwYS5DID0gdHJ1ZTsKKyAgICAgICAgICBSZWRCbGFja1Jv
dGF0ZVJpZ2h0KHRoaXMsIGdyYW5kcGEpOworICAgICAgICB9CisgICAgICB9IGVsc2UgeworICAg
ICAgICB1bmNsZSA9IGdyYW5kcGEuTDsKKyAgICAgICAgaWYgKHVuY2xlICYmIHVuY2xlLkMpIHsK
KyAgICAgICAgICBwYXJlbnQuQyA9IHVuY2xlLkMgPSBmYWxzZTsKKyAgICAgICAgICBncmFuZHBh
LkMgPSB0cnVlOworICAgICAgICAgIGFmdGVyID0gZ3JhbmRwYTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICBpZiAoYWZ0ZXIgPT09IHBhcmVudC5MKSB7CisgICAgICAgICAgICBSZWRCbGFj
a1JvdGF0ZVJpZ2h0KHRoaXMsIHBhcmVudCk7CisgICAgICAgICAgICBhZnRlciA9IHBhcmVudDsK
KyAgICAgICAgICAgIHBhcmVudCA9IGFmdGVyLlU7CisgICAgICAgICAgfQorICAgICAgICAgIHBh
cmVudC5DID0gZmFsc2U7CisgICAgICAgICAgZ3JhbmRwYS5DID0gdHJ1ZTsKKyAgICAgICAgICBS
ZWRCbGFja1JvdGF0ZUxlZnQodGhpcywgZ3JhbmRwYSk7CisgICAgICAgIH0KKyAgICAgIH0KKyAg
ICAgIHBhcmVudCA9IGFmdGVyLlU7CisgICAgfQorICAgIHRoaXMuXy5DID0gZmFsc2U7CisgIH0s
CisKKyAgcmVtb3ZlOiBmdW5jdGlvbihub2RlKSB7CisgICAgaWYgKG5vZGUuTikgbm9kZS5OLlAg
PSBub2RlLlA7CisgICAgaWYgKG5vZGUuUCkgbm9kZS5QLk4gPSBub2RlLk47CisgICAgbm9kZS5O
ID0gbm9kZS5QID0gbnVsbDsKKworICAgIHZhciBwYXJlbnQgPSBub2RlLlUsCisgICAgICAgIHNp
YmxpbmcsCisgICAgICAgIGxlZnQgPSBub2RlLkwsCisgICAgICAgIHJpZ2h0ID0gbm9kZS5SLAor
ICAgICAgICBuZXh0LAorICAgICAgICByZWQ7CisKKyAgICBpZiAoIWxlZnQpIG5leHQgPSByaWdo
dDsKKyAgICBlbHNlIGlmICghcmlnaHQpIG5leHQgPSBsZWZ0OworICAgIGVsc2UgbmV4dCA9IFJl
ZEJsYWNrRmlyc3QocmlnaHQpOworCisgICAgaWYgKHBhcmVudCkgeworICAgICAgaWYgKHBhcmVu
dC5MID09PSBub2RlKSBwYXJlbnQuTCA9IG5leHQ7CisgICAgICBlbHNlIHBhcmVudC5SID0gbmV4
dDsKKyAgICB9IGVsc2UgeworICAgICAgdGhpcy5fID0gbmV4dDsKKyAgICB9CisKKyAgICBpZiAo
bGVmdCAmJiByaWdodCkgeworICAgICAgcmVkID0gbmV4dC5DOworICAgICAgbmV4dC5DID0gbm9k
ZS5DOworICAgICAgbmV4dC5MID0gbGVmdDsKKyAgICAgIGxlZnQuVSA9IG5leHQ7CisgICAgICBp
ZiAobmV4dCAhPT0gcmlnaHQpIHsKKyAgICAgICAgcGFyZW50ID0gbmV4dC5VOworICAgICAgICBu
ZXh0LlUgPSBub2RlLlU7CisgICAgICAgIG5vZGUgPSBuZXh0LlI7CisgICAgICAgIHBhcmVudC5M
ID0gbm9kZTsKKyAgICAgICAgbmV4dC5SID0gcmlnaHQ7CisgICAgICAgIHJpZ2h0LlUgPSBuZXh0
OworICAgICAgfSBlbHNlIHsKKyAgICAgICAgbmV4dC5VID0gcGFyZW50OworICAgICAgICBwYXJl
bnQgPSBuZXh0OworICAgICAgICBub2RlID0gbmV4dC5SOworICAgICAgfQorICAgIH0gZWxzZSB7
CisgICAgICByZWQgPSBub2RlLkM7CisgICAgICBub2RlID0gbmV4dDsKKyAgICB9CisKKyAgICBp
ZiAobm9kZSkgbm9kZS5VID0gcGFyZW50OworICAgIGlmIChyZWQpIHJldHVybjsKKyAgICBpZiAo
bm9kZSAmJiBub2RlLkMpIHsgbm9kZS5DID0gZmFsc2U7IHJldHVybjsgfQorCisgICAgZG8gewor
ICAgICAgaWYgKG5vZGUgPT09IHRoaXMuXykgYnJlYWs7CisgICAgICBpZiAobm9kZSA9PT0gcGFy
ZW50LkwpIHsKKyAgICAgICAgc2libGluZyA9IHBhcmVudC5SOworICAgICAgICBpZiAoc2libGlu
Zy5DKSB7CisgICAgICAgICAgc2libGluZy5DID0gZmFsc2U7CisgICAgICAgICAgcGFyZW50LkMg
PSB0cnVlOworICAgICAgICAgIFJlZEJsYWNrUm90YXRlTGVmdCh0aGlzLCBwYXJlbnQpOworICAg
ICAgICAgIHNpYmxpbmcgPSBwYXJlbnQuUjsKKyAgICAgICAgfQorICAgICAgICBpZiAoKHNpYmxp
bmcuTCAmJiBzaWJsaW5nLkwuQykKKyAgICAgICAgICAgIHx8IChzaWJsaW5nLlIgJiYgc2libGlu
Zy5SLkMpKSB7CisgICAgICAgICAgaWYgKCFzaWJsaW5nLlIgfHwgIXNpYmxpbmcuUi5DKSB7Cisg
ICAgICAgICAgICBzaWJsaW5nLkwuQyA9IGZhbHNlOworICAgICAgICAgICAgc2libGluZy5DID0g
dHJ1ZTsKKyAgICAgICAgICAgIFJlZEJsYWNrUm90YXRlUmlnaHQodGhpcywgc2libGluZyk7Cisg
ICAgICAgICAgICBzaWJsaW5nID0gcGFyZW50LlI7CisgICAgICAgICAgfQorICAgICAgICAgIHNp
YmxpbmcuQyA9IHBhcmVudC5DOworICAgICAgICAgIHBhcmVudC5DID0gc2libGluZy5SLkMgPSBm
YWxzZTsKKyAgICAgICAgICBSZWRCbGFja1JvdGF0ZUxlZnQodGhpcywgcGFyZW50KTsKKyAgICAg
ICAgICBub2RlID0gdGhpcy5fOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICB9
IGVsc2UgeworICAgICAgICBzaWJsaW5nID0gcGFyZW50Lkw7CisgICAgICAgIGlmIChzaWJsaW5n
LkMpIHsKKyAgICAgICAgICBzaWJsaW5nLkMgPSBmYWxzZTsKKyAgICAgICAgICBwYXJlbnQuQyA9
IHRydWU7CisgICAgICAgICAgUmVkQmxhY2tSb3RhdGVSaWdodCh0aGlzLCBwYXJlbnQpOworICAg
ICAgICAgIHNpYmxpbmcgPSBwYXJlbnQuTDsKKyAgICAgICAgfQorICAgICAgICBpZiAoKHNpYmxp
bmcuTCAmJiBzaWJsaW5nLkwuQykKKyAgICAgICAgICB8fCAoc2libGluZy5SICYmIHNpYmxpbmcu
Ui5DKSkgeworICAgICAgICAgIGlmICghc2libGluZy5MIHx8ICFzaWJsaW5nLkwuQykgeworICAg
ICAgICAgICAgc2libGluZy5SLkMgPSBmYWxzZTsKKyAgICAgICAgICAgIHNpYmxpbmcuQyA9IHRy
dWU7CisgICAgICAgICAgICBSZWRCbGFja1JvdGF0ZUxlZnQodGhpcywgc2libGluZyk7CisgICAg
ICAgICAgICBzaWJsaW5nID0gcGFyZW50Lkw7CisgICAgICAgICAgfQorICAgICAgICAgIHNpYmxp
bmcuQyA9IHBhcmVudC5DOworICAgICAgICAgIHBhcmVudC5DID0gc2libGluZy5MLkMgPSBmYWxz
ZTsKKyAgICAgICAgICBSZWRCbGFja1JvdGF0ZVJpZ2h0KHRoaXMsIHBhcmVudCk7CisgICAgICAg
ICAgbm9kZSA9IHRoaXMuXzsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgfQor
ICAgICAgc2libGluZy5DID0gdHJ1ZTsKKyAgICAgIG5vZGUgPSBwYXJlbnQ7CisgICAgICBwYXJl
bnQgPSBwYXJlbnQuVTsKKyAgICB9IHdoaWxlICghbm9kZS5DKTsKKworICAgIGlmIChub2RlKSBu
b2RlLkMgPSBmYWxzZTsKKyAgfQorfTsKKworZnVuY3Rpb24gUmVkQmxhY2tSb3RhdGVMZWZ0KHRy
ZWUsIG5vZGUpIHsKKyAgdmFyIHAgPSBub2RlLAorICAgICAgcSA9IG5vZGUuUiwKKyAgICAgIHBh
cmVudCA9IHAuVTsKKworICBpZiAocGFyZW50KSB7CisgICAgaWYgKHBhcmVudC5MID09PSBwKSBw
YXJlbnQuTCA9IHE7CisgICAgZWxzZSBwYXJlbnQuUiA9IHE7CisgIH0gZWxzZSB7CisgICAgdHJl
ZS5fID0gcTsKKyAgfQorCisgIHEuVSA9IHBhcmVudDsKKyAgcC5VID0gcTsKKyAgcC5SID0gcS5M
OworICBpZiAocC5SKSBwLlIuVSA9IHA7CisgIHEuTCA9IHA7Cit9CisKK2Z1bmN0aW9uIFJlZEJs
YWNrUm90YXRlUmlnaHQodHJlZSwgbm9kZSkgeworICB2YXIgcCA9IG5vZGUsCisgICAgICBxID0g
bm9kZS5MLAorICAgICAgcGFyZW50ID0gcC5VOworCisgIGlmIChwYXJlbnQpIHsKKyAgICBpZiAo
cGFyZW50LkwgPT09IHApIHBhcmVudC5MID0gcTsKKyAgICBlbHNlIHBhcmVudC5SID0gcTsKKyAg
fSBlbHNlIHsKKyAgICB0cmVlLl8gPSBxOworICB9CisKKyAgcS5VID0gcGFyZW50OworICBwLlUg
PSBxOworICBwLkwgPSBxLlI7CisgIGlmIChwLkwpIHAuTC5VID0gcDsKKyAgcS5SID0gcDsKK30K
KworZnVuY3Rpb24gUmVkQmxhY2tGaXJzdChub2RlKSB7CisgIHdoaWxlIChub2RlLkwpIG5vZGUg
PSBub2RlLkw7CisgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiBjcmVhdGVFZGdlKGxlZnQs
IHJpZ2h0LCB2MCwgdjEpIHsKKyAgdmFyIGVkZ2UgPSBbbnVsbCwgbnVsbF0sCisgICAgICBpbmRl
eCA9IGVkZ2VzLnB1c2goZWRnZSkgLSAxOworICBlZGdlLmxlZnQgPSBsZWZ0OworICBlZGdlLnJp
Z2h0ID0gcmlnaHQ7CisgIGlmICh2MCkgc2V0RWRnZUVuZChlZGdlLCBsZWZ0LCByaWdodCwgdjAp
OworICBpZiAodjEpIHNldEVkZ2VFbmQoZWRnZSwgcmlnaHQsIGxlZnQsIHYxKTsKKyAgY2VsbHNb
bGVmdC5pbmRleF0uaGFsZmVkZ2VzLnB1c2goaW5kZXgpOworICBjZWxsc1tyaWdodC5pbmRleF0u
aGFsZmVkZ2VzLnB1c2goaW5kZXgpOworICByZXR1cm4gZWRnZTsKK30KKworZnVuY3Rpb24gY3Jl
YXRlQm9yZGVyRWRnZShsZWZ0LCB2MCwgdjEpIHsKKyAgdmFyIGVkZ2UgPSBbdjAsIHYxXTsKKyAg
ZWRnZS5sZWZ0ID0gbGVmdDsKKyAgcmV0dXJuIGVkZ2U7Cit9CisKK2Z1bmN0aW9uIHNldEVkZ2VF
bmQoZWRnZSwgbGVmdCwgcmlnaHQsIHZlcnRleCkgeworICBpZiAoIWVkZ2VbMF0gJiYgIWVkZ2Vb
MV0pIHsKKyAgICBlZGdlWzBdID0gdmVydGV4OworICAgIGVkZ2UubGVmdCA9IGxlZnQ7CisgICAg
ZWRnZS5yaWdodCA9IHJpZ2h0OworICB9IGVsc2UgaWYgKGVkZ2UubGVmdCA9PT0gcmlnaHQpIHsK
KyAgICBlZGdlWzFdID0gdmVydGV4OworICB9IGVsc2UgeworICAgIGVkZ2VbMF0gPSB2ZXJ0ZXg7
CisgIH0KK30KKworLy8gTGlhbmfigJNCYXJza3kgbGluZSBjbGlwcGluZy4KK2Z1bmN0aW9uIGNs
aXBFZGdlKGVkZ2UsIHgwLCB5MCwgeDEsIHkxKSB7CisgIHZhciBhID0gZWRnZVswXSwKKyAgICAg
IGIgPSBlZGdlWzFdLAorICAgICAgYXggPSBhWzBdLAorICAgICAgYXkgPSBhWzFdLAorICAgICAg
YnggPSBiWzBdLAorICAgICAgYnkgPSBiWzFdLAorICAgICAgdDAgPSAwLAorICAgICAgdDEgPSAx
LAorICAgICAgZHggPSBieCAtIGF4LAorICAgICAgZHkgPSBieSAtIGF5LAorICAgICAgcjsKKwor
ICByID0geDAgLSBheDsKKyAgaWYgKCFkeCAmJiByID4gMCkgcmV0dXJuOworICByIC89IGR4Owor
ICBpZiAoZHggPCAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJuOworICAgIGlmIChyIDwgdDEp
IHQxID0gcjsKKyAgfSBlbHNlIGlmIChkeCA+IDApIHsKKyAgICBpZiAociA+IHQxKSByZXR1cm47
CisgICAgaWYgKHIgPiB0MCkgdDAgPSByOworICB9CisKKyAgciA9IHgxIC0gYXg7CisgIGlmICgh
ZHggJiYgciA8IDApIHJldHVybjsKKyAgciAvPSBkeDsKKyAgaWYgKGR4IDwgMCkgeworICAgIGlm
IChyID4gdDEpIHJldHVybjsKKyAgICBpZiAociA+IHQwKSB0MCA9IHI7CisgIH0gZWxzZSBpZiAo
ZHggPiAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJuOworICAgIGlmIChyIDwgdDEpIHQxID0g
cjsKKyAgfQorCisgIHIgPSB5MCAtIGF5OworICBpZiAoIWR5ICYmIHIgPiAwKSByZXR1cm47Cisg
IHIgLz0gZHk7CisgIGlmIChkeSA8IDApIHsKKyAgICBpZiAociA8IHQwKSByZXR1cm47CisgICAg
aWYgKHIgPCB0MSkgdDEgPSByOworICB9IGVsc2UgaWYgKGR5ID4gMCkgeworICAgIGlmIChyID4g
dDEpIHJldHVybjsKKyAgICBpZiAociA+IHQwKSB0MCA9IHI7CisgIH0KKworICByID0geTEgLSBh
eTsKKyAgaWYgKCFkeSAmJiByIDwgMCkgcmV0dXJuOworICByIC89IGR5OworICBpZiAoZHkgPCAw
KSB7CisgICAgaWYgKHIgPiB0MSkgcmV0dXJuOworICAgIGlmIChyID4gdDApIHQwID0gcjsKKyAg
fSBlbHNlIGlmIChkeSA+IDApIHsKKyAgICBpZiAociA8IHQwKSByZXR1cm47CisgICAgaWYgKHIg
PCB0MSkgdDEgPSByOworICB9CisKKyAgaWYgKCEodDAgPiAwKSAmJiAhKHQxIDwgMSkpIHJldHVy
biB0cnVlOyAvLyBUT0RPIEJldHRlciBjaGVjaz8KKworICBpZiAodDAgPiAwKSBlZGdlWzBdID0g
W2F4ICsgdDAgKiBkeCwgYXkgKyB0MCAqIGR5XTsKKyAgaWYgKHQxIDwgMSkgZWRnZVsxXSA9IFth
eCArIHQxICogZHgsIGF5ICsgdDEgKiBkeV07CisgIHJldHVybiB0cnVlOworfQorCitmdW5jdGlv
biBjb25uZWN0RWRnZShlZGdlLCB4MCwgeTAsIHgxLCB5MSkgeworICB2YXIgdjEgPSBlZGdlWzFd
OworICBpZiAodjEpIHJldHVybiB0cnVlOworCisgIHZhciB2MCA9IGVkZ2VbMF0sCisgICAgICBs
ZWZ0ID0gZWRnZS5sZWZ0LAorICAgICAgcmlnaHQgPSBlZGdlLnJpZ2h0LAorICAgICAgbHggPSBs
ZWZ0WzBdLAorICAgICAgbHkgPSBsZWZ0WzFdLAorICAgICAgcnggPSByaWdodFswXSwKKyAgICAg
IHJ5ID0gcmlnaHRbMV0sCisgICAgICBmeCA9IChseCArIHJ4KSAvIDIsCisgICAgICBmeSA9IChs
eSArIHJ5KSAvIDIsCisgICAgICBmbSwKKyAgICAgIGZiOworCisgIGlmIChyeSA9PT0gbHkpIHsK
KyAgICBpZiAoZnggPCB4MCB8fCBmeCA+PSB4MSkgcmV0dXJuOworICAgIGlmIChseCA+IHJ4KSB7
CisgICAgICBpZiAoIXYwKSB2MCA9IFtmeCwgeTBdOworICAgICAgZWxzZSBpZiAodjBbMV0gPj0g
eTEpIHJldHVybjsKKyAgICAgIHYxID0gW2Z4LCB5MV07CisgICAgfSBlbHNlIHsKKyAgICAgIGlm
ICghdjApIHYwID0gW2Z4LCB5MV07CisgICAgICBlbHNlIGlmICh2MFsxXSA8IHkwKSByZXR1cm47
CisgICAgICB2MSA9IFtmeCwgeTBdOworICAgIH0KKyAgfSBlbHNlIHsKKyAgICBmbSA9IChseCAt
IHJ4KSAvIChyeSAtIGx5KTsKKyAgICBmYiA9IGZ5IC0gZm0gKiBmeDsKKyAgICBpZiAoZm0gPCAt
MSB8fCBmbSA+IDEpIHsKKyAgICAgIGlmIChseCA+IHJ4KSB7CisgICAgICAgIGlmICghdjApIHYw
ID0gWyh5MCAtIGZiKSAvIGZtLCB5MF07CisgICAgICAgIGVsc2UgaWYgKHYwWzFdID49IHkxKSBy
ZXR1cm47CisgICAgICAgIHYxID0gWyh5MSAtIGZiKSAvIGZtLCB5MV07CisgICAgICB9IGVsc2Ug
eworICAgICAgICBpZiAoIXYwKSB2MCA9IFsoeTEgLSBmYikgLyBmbSwgeTFdOworICAgICAgICBl
bHNlIGlmICh2MFsxXSA8IHkwKSByZXR1cm47CisgICAgICAgIHYxID0gWyh5MCAtIGZiKSAvIGZt
LCB5MF07CisgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgIGlmIChseSA8IHJ5KSB7CisgICAg
ICAgIGlmICghdjApIHYwID0gW3gwLCBmbSAqIHgwICsgZmJdOworICAgICAgICBlbHNlIGlmICh2
MFswXSA+PSB4MSkgcmV0dXJuOworICAgICAgICB2MSA9IFt4MSwgZm0gKiB4MSArIGZiXTsKKyAg
ICAgIH0gZWxzZSB7CisgICAgICAgIGlmICghdjApIHYwID0gW3gxLCBmbSAqIHgxICsgZmJdOwor
ICAgICAgICBlbHNlIGlmICh2MFswXSA8IHgwKSByZXR1cm47CisgICAgICAgIHYxID0gW3gwLCBm
bSAqIHgwICsgZmJdOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGVkZ2VbMF0gPSB2MDsKKyAg
ZWRnZVsxXSA9IHYxOworICByZXR1cm4gdHJ1ZTsKK30KKworZnVuY3Rpb24gY2xpcEVkZ2VzKHgw
LCB5MCwgeDEsIHkxKSB7CisgIHZhciBpID0gZWRnZXMubGVuZ3RoLAorICAgICAgZWRnZTsKKwor
ICB3aGlsZSAoaS0tKSB7CisgICAgaWYgKCFjb25uZWN0RWRnZShlZGdlID0gZWRnZXNbaV0sIHgw
LCB5MCwgeDEsIHkxKQorICAgICAgICB8fCAhY2xpcEVkZ2UoZWRnZSwgeDAsIHkwLCB4MSwgeTEp
CisgICAgICAgIHx8ICEoTWF0aC5hYnMoZWRnZVswXVswXSAtIGVkZ2VbMV1bMF0pID4gZXBzaWxv
biQ0CisgICAgICAgICAgICB8fCBNYXRoLmFicyhlZGdlWzBdWzFdIC0gZWRnZVsxXVsxXSkgPiBl
cHNpbG9uJDQpKSB7CisgICAgICBkZWxldGUgZWRnZXNbaV07CisgICAgfQorICB9Cit9CisKK2Z1
bmN0aW9uIGNyZWF0ZUNlbGwoc2l0ZSkgeworICByZXR1cm4gY2VsbHNbc2l0ZS5pbmRleF0gPSB7
CisgICAgc2l0ZTogc2l0ZSwKKyAgICBoYWxmZWRnZXM6IFtdCisgIH07Cit9CisKK2Z1bmN0aW9u
IGNlbGxIYWxmZWRnZUFuZ2xlKGNlbGwsIGVkZ2UpIHsKKyAgdmFyIHNpdGUgPSBjZWxsLnNpdGUs
CisgICAgICB2YSA9IGVkZ2UubGVmdCwKKyAgICAgIHZiID0gZWRnZS5yaWdodDsKKyAgaWYgKHNp
dGUgPT09IHZiKSB2YiA9IHZhLCB2YSA9IHNpdGU7CisgIGlmICh2YikgcmV0dXJuIE1hdGguYXRh
bjIodmJbMV0gLSB2YVsxXSwgdmJbMF0gLSB2YVswXSk7CisgIGlmIChzaXRlID09PSB2YSkgdmEg
PSBlZGdlWzFdLCB2YiA9IGVkZ2VbMF07CisgIGVsc2UgdmEgPSBlZGdlWzBdLCB2YiA9IGVkZ2Vb
MV07CisgIHJldHVybiBNYXRoLmF0YW4yKHZhWzBdIC0gdmJbMF0sIHZiWzFdIC0gdmFbMV0pOwor
fQorCitmdW5jdGlvbiBjZWxsSGFsZmVkZ2VTdGFydChjZWxsLCBlZGdlKSB7CisgIHJldHVybiBl
ZGdlWysoZWRnZS5sZWZ0ICE9PSBjZWxsLnNpdGUpXTsKK30KKworZnVuY3Rpb24gY2VsbEhhbGZl
ZGdlRW5kKGNlbGwsIGVkZ2UpIHsKKyAgcmV0dXJuIGVkZ2VbKyhlZGdlLmxlZnQgPT09IGNlbGwu
c2l0ZSldOworfQorCitmdW5jdGlvbiBzb3J0Q2VsbEhhbGZlZGdlcygpIHsKKyAgZm9yICh2YXIg
aSA9IDAsIG4gPSBjZWxscy5sZW5ndGgsIGNlbGwsIGhhbGZlZGdlcywgaiwgbTsgaSA8IG47ICsr
aSkgeworICAgIGlmICgoY2VsbCA9IGNlbGxzW2ldKSAmJiAobSA9IChoYWxmZWRnZXMgPSBjZWxs
LmhhbGZlZGdlcykubGVuZ3RoKSkgeworICAgICAgdmFyIGluZGV4ID0gbmV3IEFycmF5KG0pLAor
ICAgICAgICAgIGFycmF5ID0gbmV3IEFycmF5KG0pOworICAgICAgZm9yIChqID0gMDsgaiA8IG07
ICsraikgaW5kZXhbal0gPSBqLCBhcnJheVtqXSA9IGNlbGxIYWxmZWRnZUFuZ2xlKGNlbGwsIGVk
Z2VzW2hhbGZlZGdlc1tqXV0pOworICAgICAgaW5kZXguc29ydChmdW5jdGlvbihpLCBqKSB7IHJl
dHVybiBhcnJheVtqXSAtIGFycmF5W2ldOyB9KTsKKyAgICAgIGZvciAoaiA9IDA7IGogPCBtOyAr
K2opIGFycmF5W2pdID0gaGFsZmVkZ2VzW2luZGV4W2pdXTsKKyAgICAgIGZvciAoaiA9IDA7IGog
PCBtOyArK2opIGhhbGZlZGdlc1tqXSA9IGFycmF5W2pdOworICAgIH0KKyAgfQorfQorCitmdW5j
dGlvbiBjbGlwQ2VsbHMoeDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIG5DZWxscyA9IGNlbGxzLmxl
bmd0aCwKKyAgICAgIGlDZWxsLAorICAgICAgY2VsbCwKKyAgICAgIHNpdGUsCisgICAgICBpSGFs
ZmVkZ2UsCisgICAgICBoYWxmZWRnZXMsCisgICAgICBuSGFsZmVkZ2VzLAorICAgICAgc3RhcnQs
CisgICAgICBzdGFydFgsCisgICAgICBzdGFydFksCisgICAgICBlbmQsCisgICAgICBlbmRYLAor
ICAgICAgZW5kWSwKKyAgICAgIGNvdmVyID0gdHJ1ZTsKKworICBmb3IgKGlDZWxsID0gMDsgaUNl
bGwgPCBuQ2VsbHM7ICsraUNlbGwpIHsKKyAgICBpZiAoY2VsbCA9IGNlbGxzW2lDZWxsXSkgewor
ICAgICAgc2l0ZSA9IGNlbGwuc2l0ZTsKKyAgICAgIGhhbGZlZGdlcyA9IGNlbGwuaGFsZmVkZ2Vz
OworICAgICAgaUhhbGZlZGdlID0gaGFsZmVkZ2VzLmxlbmd0aDsKKworICAgICAgLy8gUmVtb3Zl
IGFueSBkYW5nbGluZyBjbGlwcGVkIGVkZ2VzLgorICAgICAgd2hpbGUgKGlIYWxmZWRnZS0tKSB7
CisgICAgICAgIGlmICghZWRnZXNbaGFsZmVkZ2VzW2lIYWxmZWRnZV1dKSB7CisgICAgICAgICAg
aGFsZmVkZ2VzLnNwbGljZShpSGFsZmVkZ2UsIDEpOworICAgICAgICB9CisgICAgICB9CisKKyAg
ICAgIC8vIEluc2VydCBhbnkgYm9yZGVyIGVkZ2VzIGFzIG5lY2Vzc2FyeS4KKyAgICAgIGlIYWxm
ZWRnZSA9IDAsIG5IYWxmZWRnZXMgPSBoYWxmZWRnZXMubGVuZ3RoOworICAgICAgd2hpbGUgKGlI
YWxmZWRnZSA8IG5IYWxmZWRnZXMpIHsKKyAgICAgICAgZW5kID0gY2VsbEhhbGZlZGdlRW5kKGNl
bGwsIGVkZ2VzW2hhbGZlZGdlc1tpSGFsZmVkZ2VdXSksIGVuZFggPSBlbmRbMF0sIGVuZFkgPSBl
bmRbMV07CisgICAgICAgIHN0YXJ0ID0gY2VsbEhhbGZlZGdlU3RhcnQoY2VsbCwgZWRnZXNbaGFs
ZmVkZ2VzWysraUhhbGZlZGdlICUgbkhhbGZlZGdlc11dKSwgc3RhcnRYID0gc3RhcnRbMF0sIHN0
YXJ0WSA9IHN0YXJ0WzFdOworICAgICAgICBpZiAoTWF0aC5hYnMoZW5kWCAtIHN0YXJ0WCkgPiBl
cHNpbG9uJDQgfHwgTWF0aC5hYnMoZW5kWSAtIHN0YXJ0WSkgPiBlcHNpbG9uJDQpIHsKKyAgICAg
ICAgICBoYWxmZWRnZXMuc3BsaWNlKGlIYWxmZWRnZSwgMCwgZWRnZXMucHVzaChjcmVhdGVCb3Jk
ZXJFZGdlKHNpdGUsIGVuZCwKKyAgICAgICAgICAgICAgTWF0aC5hYnMoZW5kWCAtIHgwKSA8IGVw
c2lsb24kNCAmJiB5MSAtIGVuZFkgPiBlcHNpbG9uJDQgPyBbeDAsIE1hdGguYWJzKHN0YXJ0WCAt
IHgwKSA8IGVwc2lsb24kNCA/IHN0YXJ0WSA6IHkxXQorICAgICAgICAgICAgICA6IE1hdGguYWJz
KGVuZFkgLSB5MSkgPCBlcHNpbG9uJDQgJiYgeDEgLSBlbmRYID4gZXBzaWxvbiQ0ID8gW01hdGgu
YWJzKHN0YXJ0WSAtIHkxKSA8IGVwc2lsb24kNCA/IHN0YXJ0WCA6IHgxLCB5MV0KKyAgICAgICAg
ICAgICAgOiBNYXRoLmFicyhlbmRYIC0geDEpIDwgZXBzaWxvbiQ0ICYmIGVuZFkgLSB5MCA+IGVw
c2lsb24kNCA/IFt4MSwgTWF0aC5hYnMoc3RhcnRYIC0geDEpIDwgZXBzaWxvbiQ0ID8gc3RhcnRZ
IDogeTBdCisgICAgICAgICAgICAgIDogTWF0aC5hYnMoZW5kWSAtIHkwKSA8IGVwc2lsb24kNCAm
JiBlbmRYIC0geDAgPiBlcHNpbG9uJDQgPyBbTWF0aC5hYnMoc3RhcnRZIC0geTApIDwgZXBzaWxv
biQ0ID8gc3RhcnRYIDogeDAsIHkwXQorICAgICAgICAgICAgICA6IG51bGwpKSAtIDEpOworICAg
ICAgICAgICsrbkhhbGZlZGdlczsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICBpZiAobkhh
bGZlZGdlcykgY292ZXIgPSBmYWxzZTsKKyAgICB9CisgIH0KKworICAvLyBJZiB0aGVyZSB3ZXJl
buKAmXQgYW55IGVkZ2VzLCBoYXZlIHRoZSBjbG9zZXN0IHNpdGUgY292ZXIgdGhlIGV4dGVudC4K
KyAgLy8gSXQgZG9lc27igJl0IG1hdHRlciB3aGljaCBjb3JuZXIgb2YgdGhlIGV4dGVudCB3ZSBt
ZWFzdXJlIQorICBpZiAoY292ZXIpIHsKKyAgICB2YXIgZHgsIGR5LCBkMiwgZGMgPSBJbmZpbml0
eTsKKworICAgIGZvciAoaUNlbGwgPSAwLCBjb3ZlciA9IG51bGw7IGlDZWxsIDwgbkNlbGxzOyAr
K2lDZWxsKSB7CisgICAgICBpZiAoY2VsbCA9IGNlbGxzW2lDZWxsXSkgeworICAgICAgICBzaXRl
ID0gY2VsbC5zaXRlOworICAgICAgICBkeCA9IHNpdGVbMF0gLSB4MDsKKyAgICAgICAgZHkgPSBz
aXRlWzFdIC0geTA7CisgICAgICAgIGQyID0gZHggKiBkeCArIGR5ICogZHk7CisgICAgICAgIGlm
IChkMiA8IGRjKSBkYyA9IGQyLCBjb3ZlciA9IGNlbGw7CisgICAgICB9CisgICAgfQorCisgICAg
aWYgKGNvdmVyKSB7CisgICAgICB2YXIgdjAwID0gW3gwLCB5MF0sIHYwMSA9IFt4MCwgeTFdLCB2
MTEgPSBbeDEsIHkxXSwgdjEwID0gW3gxLCB5MF07CisgICAgICBjb3Zlci5oYWxmZWRnZXMucHVz
aCgKKyAgICAgICAgZWRnZXMucHVzaChjcmVhdGVCb3JkZXJFZGdlKHNpdGUgPSBjb3Zlci5zaXRl
LCB2MDAsIHYwMSkpIC0gMSwKKyAgICAgICAgZWRnZXMucHVzaChjcmVhdGVCb3JkZXJFZGdlKHNp
dGUsIHYwMSwgdjExKSkgLSAxLAorICAgICAgICBlZGdlcy5wdXNoKGNyZWF0ZUJvcmRlckVkZ2Uo
c2l0ZSwgdjExLCB2MTApKSAtIDEsCisgICAgICAgIGVkZ2VzLnB1c2goY3JlYXRlQm9yZGVyRWRn
ZShzaXRlLCB2MTAsIHYwMCkpIC0gMQorICAgICAgKTsKKyAgICB9CisgIH0KKworICAvLyBMYXN0
bHkgZGVsZXRlIGFueSBjZWxscyB3aXRoIG5vIGVkZ2VzOyB0aGVzZSB3ZXJlIGVudGlyZWx5IGNs
aXBwZWQuCisgIGZvciAoaUNlbGwgPSAwOyBpQ2VsbCA8IG5DZWxsczsgKytpQ2VsbCkgeworICAg
IGlmIChjZWxsID0gY2VsbHNbaUNlbGxdKSB7CisgICAgICBpZiAoIWNlbGwuaGFsZmVkZ2VzLmxl
bmd0aCkgeworICAgICAgICBkZWxldGUgY2VsbHNbaUNlbGxdOworICAgICAgfQorICAgIH0KKyAg
fQorfQorCit2YXIgY2lyY2xlUG9vbCA9IFtdOworCit2YXIgZmlyc3RDaXJjbGU7CisKK2Z1bmN0
aW9uIENpcmNsZSgpIHsKKyAgUmVkQmxhY2tOb2RlKHRoaXMpOworICB0aGlzLnggPQorICB0aGlz
LnkgPQorICB0aGlzLmFyYyA9CisgIHRoaXMuc2l0ZSA9CisgIHRoaXMuY3kgPSBudWxsOworfQor
CitmdW5jdGlvbiBhdHRhY2hDaXJjbGUoYXJjKSB7CisgIHZhciBsQXJjID0gYXJjLlAsCisgICAg
ICByQXJjID0gYXJjLk47CisKKyAgaWYgKCFsQXJjIHx8ICFyQXJjKSByZXR1cm47CisKKyAgdmFy
IGxTaXRlID0gbEFyYy5zaXRlLAorICAgICAgY1NpdGUgPSBhcmMuc2l0ZSwKKyAgICAgIHJTaXRl
ID0gckFyYy5zaXRlOworCisgIGlmIChsU2l0ZSA9PT0gclNpdGUpIHJldHVybjsKKworICB2YXIg
YnggPSBjU2l0ZVswXSwKKyAgICAgIGJ5ID0gY1NpdGVbMV0sCisgICAgICBheCA9IGxTaXRlWzBd
IC0gYngsCisgICAgICBheSA9IGxTaXRlWzFdIC0gYnksCisgICAgICBjeCA9IHJTaXRlWzBdIC0g
YngsCisgICAgICBjeSA9IHJTaXRlWzFdIC0gYnk7CisKKyAgdmFyIGQgPSAyICogKGF4ICogY3kg
LSBheSAqIGN4KTsKKyAgaWYgKGQgPj0gLWVwc2lsb24yJDIpIHJldHVybjsKKworICB2YXIgaGEg
PSBheCAqIGF4ICsgYXkgKiBheSwKKyAgICAgIGhjID0gY3ggKiBjeCArIGN5ICogY3ksCisgICAg
ICB4ID0gKGN5ICogaGEgLSBheSAqIGhjKSAvIGQsCisgICAgICB5ID0gKGF4ICogaGMgLSBjeCAq
IGhhKSAvIGQ7CisKKyAgdmFyIGNpcmNsZSA9IGNpcmNsZVBvb2wucG9wKCkgfHwgbmV3IENpcmNs
ZTsKKyAgY2lyY2xlLmFyYyA9IGFyYzsKKyAgY2lyY2xlLnNpdGUgPSBjU2l0ZTsKKyAgY2lyY2xl
LnggPSB4ICsgYng7CisgIGNpcmNsZS55ID0gKGNpcmNsZS5jeSA9IHkgKyBieSkgKyBNYXRoLnNx
cnQoeCAqIHggKyB5ICogeSk7IC8vIHkgYm90dG9tCisKKyAgYXJjLmNpcmNsZSA9IGNpcmNsZTsK
KworICB2YXIgYmVmb3JlID0gbnVsbCwKKyAgICAgIG5vZGUgPSBjaXJjbGVzLl87CisKKyAgd2hp
bGUgKG5vZGUpIHsKKyAgICBpZiAoY2lyY2xlLnkgPCBub2RlLnkgfHwgKGNpcmNsZS55ID09PSBu
b2RlLnkgJiYgY2lyY2xlLnggPD0gbm9kZS54KSkgeworICAgICAgaWYgKG5vZGUuTCkgbm9kZSA9
IG5vZGUuTDsKKyAgICAgIGVsc2UgeyBiZWZvcmUgPSBub2RlLlA7IGJyZWFrOyB9CisgICAgfSBl
bHNlIHsKKyAgICAgIGlmIChub2RlLlIpIG5vZGUgPSBub2RlLlI7CisgICAgICBlbHNlIHsgYmVm
b3JlID0gbm9kZTsgYnJlYWs7IH0KKyAgICB9CisgIH0KKworICBjaXJjbGVzLmluc2VydChiZWZv
cmUsIGNpcmNsZSk7CisgIGlmICghYmVmb3JlKSBmaXJzdENpcmNsZSA9IGNpcmNsZTsKK30KKwor
ZnVuY3Rpb24gZGV0YWNoQ2lyY2xlKGFyYykgeworICB2YXIgY2lyY2xlID0gYXJjLmNpcmNsZTsK
KyAgaWYgKGNpcmNsZSkgeworICAgIGlmICghY2lyY2xlLlApIGZpcnN0Q2lyY2xlID0gY2lyY2xl
Lk47CisgICAgY2lyY2xlcy5yZW1vdmUoY2lyY2xlKTsKKyAgICBjaXJjbGVQb29sLnB1c2goY2ly
Y2xlKTsKKyAgICBSZWRCbGFja05vZGUoY2lyY2xlKTsKKyAgICBhcmMuY2lyY2xlID0gbnVsbDsK
KyAgfQorfQorCit2YXIgYmVhY2hQb29sID0gW107CisKK2Z1bmN0aW9uIEJlYWNoKCkgeworICBS
ZWRCbGFja05vZGUodGhpcyk7CisgIHRoaXMuZWRnZSA9CisgIHRoaXMuc2l0ZSA9CisgIHRoaXMu
Y2lyY2xlID0gbnVsbDsKK30KKworZnVuY3Rpb24gY3JlYXRlQmVhY2goc2l0ZSkgeworICB2YXIg
YmVhY2ggPSBiZWFjaFBvb2wucG9wKCkgfHwgbmV3IEJlYWNoOworICBiZWFjaC5zaXRlID0gc2l0
ZTsKKyAgcmV0dXJuIGJlYWNoOworfQorCitmdW5jdGlvbiBkZXRhY2hCZWFjaChiZWFjaCkgewor
ICBkZXRhY2hDaXJjbGUoYmVhY2gpOworICBiZWFjaGVzLnJlbW92ZShiZWFjaCk7CisgIGJlYWNo
UG9vbC5wdXNoKGJlYWNoKTsKKyAgUmVkQmxhY2tOb2RlKGJlYWNoKTsKK30KKworZnVuY3Rpb24g
cmVtb3ZlQmVhY2goYmVhY2gpIHsKKyAgdmFyIGNpcmNsZSA9IGJlYWNoLmNpcmNsZSwKKyAgICAg
IHggPSBjaXJjbGUueCwKKyAgICAgIHkgPSBjaXJjbGUuY3ksCisgICAgICB2ZXJ0ZXggPSBbeCwg
eV0sCisgICAgICBwcmV2aW91cyA9IGJlYWNoLlAsCisgICAgICBuZXh0ID0gYmVhY2guTiwKKyAg
ICAgIGRpc2FwcGVhcmluZyA9IFtiZWFjaF07CisKKyAgZGV0YWNoQmVhY2goYmVhY2gpOworCisg
IHZhciBsQXJjID0gcHJldmlvdXM7CisgIHdoaWxlIChsQXJjLmNpcmNsZQorICAgICAgJiYgTWF0
aC5hYnMoeCAtIGxBcmMuY2lyY2xlLngpIDwgZXBzaWxvbiQ0CisgICAgICAmJiBNYXRoLmFicyh5
IC0gbEFyYy5jaXJjbGUuY3kpIDwgZXBzaWxvbiQ0KSB7CisgICAgcHJldmlvdXMgPSBsQXJjLlA7
CisgICAgZGlzYXBwZWFyaW5nLnVuc2hpZnQobEFyYyk7CisgICAgZGV0YWNoQmVhY2gobEFyYyk7
CisgICAgbEFyYyA9IHByZXZpb3VzOworICB9CisKKyAgZGlzYXBwZWFyaW5nLnVuc2hpZnQobEFy
Yyk7CisgIGRldGFjaENpcmNsZShsQXJjKTsKKworICB2YXIgckFyYyA9IG5leHQ7CisgIHdoaWxl
IChyQXJjLmNpcmNsZQorICAgICAgJiYgTWF0aC5hYnMoeCAtIHJBcmMuY2lyY2xlLngpIDwgZXBz
aWxvbiQ0CisgICAgICAmJiBNYXRoLmFicyh5IC0gckFyYy5jaXJjbGUuY3kpIDwgZXBzaWxvbiQ0
KSB7CisgICAgbmV4dCA9IHJBcmMuTjsKKyAgICBkaXNhcHBlYXJpbmcucHVzaChyQXJjKTsKKyAg
ICBkZXRhY2hCZWFjaChyQXJjKTsKKyAgICByQXJjID0gbmV4dDsKKyAgfQorCisgIGRpc2FwcGVh
cmluZy5wdXNoKHJBcmMpOworICBkZXRhY2hDaXJjbGUockFyYyk7CisKKyAgdmFyIG5BcmNzID0g
ZGlzYXBwZWFyaW5nLmxlbmd0aCwKKyAgICAgIGlBcmM7CisgIGZvciAoaUFyYyA9IDE7IGlBcmMg
PCBuQXJjczsgKytpQXJjKSB7CisgICAgckFyYyA9IGRpc2FwcGVhcmluZ1tpQXJjXTsKKyAgICBs
QXJjID0gZGlzYXBwZWFyaW5nW2lBcmMgLSAxXTsKKyAgICBzZXRFZGdlRW5kKHJBcmMuZWRnZSwg
bEFyYy5zaXRlLCByQXJjLnNpdGUsIHZlcnRleCk7CisgIH0KKworICBsQXJjID0gZGlzYXBwZWFy
aW5nWzBdOworICByQXJjID0gZGlzYXBwZWFyaW5nW25BcmNzIC0gMV07CisgIHJBcmMuZWRnZSA9
IGNyZWF0ZUVkZ2UobEFyYy5zaXRlLCByQXJjLnNpdGUsIG51bGwsIHZlcnRleCk7CisKKyAgYXR0
YWNoQ2lyY2xlKGxBcmMpOworICBhdHRhY2hDaXJjbGUockFyYyk7Cit9CisKK2Z1bmN0aW9uIGFk
ZEJlYWNoKHNpdGUpIHsKKyAgdmFyIHggPSBzaXRlWzBdLAorICAgICAgZGlyZWN0cml4ID0gc2l0
ZVsxXSwKKyAgICAgIGxBcmMsCisgICAgICByQXJjLAorICAgICAgZHhsLAorICAgICAgZHhyLAor
ICAgICAgbm9kZSA9IGJlYWNoZXMuXzsKKworICB3aGlsZSAobm9kZSkgeworICAgIGR4bCA9IGxl
ZnRCcmVha1BvaW50KG5vZGUsIGRpcmVjdHJpeCkgLSB4OworICAgIGlmIChkeGwgPiBlcHNpbG9u
JDQpIG5vZGUgPSBub2RlLkw7IGVsc2UgeworICAgICAgZHhyID0geCAtIHJpZ2h0QnJlYWtQb2lu
dChub2RlLCBkaXJlY3RyaXgpOworICAgICAgaWYgKGR4ciA+IGVwc2lsb24kNCkgeworICAgICAg
ICBpZiAoIW5vZGUuUikgeworICAgICAgICAgIGxBcmMgPSBub2RlOworICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisgICAgICAgIG5vZGUgPSBub2RlLlI7CisgICAgICB9IGVsc2UgeworICAg
ICAgICBpZiAoZHhsID4gLWVwc2lsb24kNCkgeworICAgICAgICAgIGxBcmMgPSBub2RlLlA7Cisg
ICAgICAgICAgckFyYyA9IG5vZGU7CisgICAgICAgIH0gZWxzZSBpZiAoZHhyID4gLWVwc2lsb24k
NCkgeworICAgICAgICAgIGxBcmMgPSBub2RlOworICAgICAgICAgIHJBcmMgPSBub2RlLk47Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgbEFyYyA9IHJBcmMgPSBub2RlOworICAgICAgICB9
CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGNyZWF0ZUNlbGwoc2l0
ZSk7CisgIHZhciBuZXdBcmMgPSBjcmVhdGVCZWFjaChzaXRlKTsKKyAgYmVhY2hlcy5pbnNlcnQo
bEFyYywgbmV3QXJjKTsKKworICBpZiAoIWxBcmMgJiYgIXJBcmMpIHJldHVybjsKKworICBpZiAo
bEFyYyA9PT0gckFyYykgeworICAgIGRldGFjaENpcmNsZShsQXJjKTsKKyAgICByQXJjID0gY3Jl
YXRlQmVhY2gobEFyYy5zaXRlKTsKKyAgICBiZWFjaGVzLmluc2VydChuZXdBcmMsIHJBcmMpOwor
ICAgIG5ld0FyYy5lZGdlID0gckFyYy5lZGdlID0gY3JlYXRlRWRnZShsQXJjLnNpdGUsIG5ld0Fy
Yy5zaXRlKTsKKyAgICBhdHRhY2hDaXJjbGUobEFyYyk7CisgICAgYXR0YWNoQ2lyY2xlKHJBcmMp
OworICAgIHJldHVybjsKKyAgfQorCisgIGlmICghckFyYykgeyAvLyAmJiBsQXJjCisgICAgbmV3
QXJjLmVkZ2UgPSBjcmVhdGVFZGdlKGxBcmMuc2l0ZSwgbmV3QXJjLnNpdGUpOworICAgIHJldHVy
bjsKKyAgfQorCisgIC8vIGVsc2UgbEFyYyAhPT0gckFyYworICBkZXRhY2hDaXJjbGUobEFyYyk7
CisgIGRldGFjaENpcmNsZShyQXJjKTsKKworICB2YXIgbFNpdGUgPSBsQXJjLnNpdGUsCisgICAg
ICBheCA9IGxTaXRlWzBdLAorICAgICAgYXkgPSBsU2l0ZVsxXSwKKyAgICAgIGJ4ID0gc2l0ZVsw
XSAtIGF4LAorICAgICAgYnkgPSBzaXRlWzFdIC0gYXksCisgICAgICByU2l0ZSA9IHJBcmMuc2l0
ZSwKKyAgICAgIGN4ID0gclNpdGVbMF0gLSBheCwKKyAgICAgIGN5ID0gclNpdGVbMV0gLSBheSwK
KyAgICAgIGQgPSAyICogKGJ4ICogY3kgLSBieSAqIGN4KSwKKyAgICAgIGhiID0gYnggKiBieCAr
IGJ5ICogYnksCisgICAgICBoYyA9IGN4ICogY3ggKyBjeSAqIGN5LAorICAgICAgdmVydGV4ID0g
WyhjeSAqIGhiIC0gYnkgKiBoYykgLyBkICsgYXgsIChieCAqIGhjIC0gY3ggKiBoYikgLyBkICsg
YXldOworCisgIHNldEVkZ2VFbmQockFyYy5lZGdlLCBsU2l0ZSwgclNpdGUsIHZlcnRleCk7Cisg
IG5ld0FyYy5lZGdlID0gY3JlYXRlRWRnZShsU2l0ZSwgc2l0ZSwgbnVsbCwgdmVydGV4KTsKKyAg
ckFyYy5lZGdlID0gY3JlYXRlRWRnZShzaXRlLCByU2l0ZSwgbnVsbCwgdmVydGV4KTsKKyAgYXR0
YWNoQ2lyY2xlKGxBcmMpOworICBhdHRhY2hDaXJjbGUockFyYyk7Cit9CisKK2Z1bmN0aW9uIGxl
ZnRCcmVha1BvaW50KGFyYywgZGlyZWN0cml4KSB7CisgIHZhciBzaXRlID0gYXJjLnNpdGUsCisg
ICAgICByZm9jeCA9IHNpdGVbMF0sCisgICAgICByZm9jeSA9IHNpdGVbMV0sCisgICAgICBwYnky
ID0gcmZvY3kgLSBkaXJlY3RyaXg7CisKKyAgaWYgKCFwYnkyKSByZXR1cm4gcmZvY3g7CisKKyAg
dmFyIGxBcmMgPSBhcmMuUDsKKyAgaWYgKCFsQXJjKSByZXR1cm4gLUluZmluaXR5OworCisgIHNp
dGUgPSBsQXJjLnNpdGU7CisgIHZhciBsZm9jeCA9IHNpdGVbMF0sCisgICAgICBsZm9jeSA9IHNp
dGVbMV0sCisgICAgICBwbGJ5MiA9IGxmb2N5IC0gZGlyZWN0cml4OworCisgIGlmICghcGxieTIp
IHJldHVybiBsZm9jeDsKKworICB2YXIgaGwgPSBsZm9jeCAtIHJmb2N4LAorICAgICAgYWJ5MiA9
IDEgLyBwYnkyIC0gMSAvIHBsYnkyLAorICAgICAgYiA9IGhsIC8gcGxieTI7CisKKyAgaWYgKGFi
eTIpIHJldHVybiAoLWIgKyBNYXRoLnNxcnQoYiAqIGIgLSAyICogYWJ5MiAqIChobCAqIGhsIC8g
KC0yICogcGxieTIpIC0gbGZvY3kgKyBwbGJ5MiAvIDIgKyByZm9jeSAtIHBieTIgLyAyKSkpIC8g
YWJ5MiArIHJmb2N4OworCisgIHJldHVybiAocmZvY3ggKyBsZm9jeCkgLyAyOworfQorCitmdW5j
dGlvbiByaWdodEJyZWFrUG9pbnQoYXJjLCBkaXJlY3RyaXgpIHsKKyAgdmFyIHJBcmMgPSBhcmMu
TjsKKyAgaWYgKHJBcmMpIHJldHVybiBsZWZ0QnJlYWtQb2ludChyQXJjLCBkaXJlY3RyaXgpOwor
ICB2YXIgc2l0ZSA9IGFyYy5zaXRlOworICByZXR1cm4gc2l0ZVsxXSA9PT0gZGlyZWN0cml4ID8g
c2l0ZVswXSA6IEluZmluaXR5OworfQorCit2YXIgZXBzaWxvbiQ0ID0gMWUtNjsKK3ZhciBlcHNp
bG9uMiQyID0gMWUtMTI7Cit2YXIgYmVhY2hlczsKK3ZhciBjZWxsczsKK3ZhciBjaXJjbGVzOwor
dmFyIGVkZ2VzOworCitmdW5jdGlvbiB0cmlhbmdsZUFyZWEoYSwgYiwgYykgeworICByZXR1cm4g
KGFbMF0gLSBjWzBdKSAqIChiWzFdIC0gYVsxXSkgLSAoYVswXSAtIGJbMF0pICogKGNbMV0gLSBh
WzFdKTsKK30KKworZnVuY3Rpb24gbGV4aWNvZ3JhcGhpYyhhLCBiKSB7CisgIHJldHVybiBiWzFd
IC0gYVsxXQorICAgICAgfHwgYlswXSAtIGFbMF07Cit9CisKK2Z1bmN0aW9uIERpYWdyYW0oc2l0
ZXMsIGV4dGVudCkgeworICB2YXIgc2l0ZSA9IHNpdGVzLnNvcnQobGV4aWNvZ3JhcGhpYykucG9w
KCksCisgICAgICB4LAorICAgICAgeSwKKyAgICAgIGNpcmNsZTsKKworICBlZGdlcyA9IFtdOwor
ICBjZWxscyA9IG5ldyBBcnJheShzaXRlcy5sZW5ndGgpOworICBiZWFjaGVzID0gbmV3IFJlZEJs
YWNrVHJlZTsKKyAgY2lyY2xlcyA9IG5ldyBSZWRCbGFja1RyZWU7CisKKyAgd2hpbGUgKHRydWUp
IHsKKyAgICBjaXJjbGUgPSBmaXJzdENpcmNsZTsKKyAgICBpZiAoc2l0ZSAmJiAoIWNpcmNsZSB8
fCBzaXRlWzFdIDwgY2lyY2xlLnkgfHwgKHNpdGVbMV0gPT09IGNpcmNsZS55ICYmIHNpdGVbMF0g
PCBjaXJjbGUueCkpKSB7CisgICAgICBpZiAoc2l0ZVswXSAhPT0geCB8fCBzaXRlWzFdICE9PSB5
KSB7CisgICAgICAgIGFkZEJlYWNoKHNpdGUpOworICAgICAgICB4ID0gc2l0ZVswXSwgeSA9IHNp
dGVbMV07CisgICAgICB9CisgICAgICBzaXRlID0gc2l0ZXMucG9wKCk7CisgICAgfSBlbHNlIGlm
IChjaXJjbGUpIHsKKyAgICAgIHJlbW92ZUJlYWNoKGNpcmNsZS5hcmMpOworICAgIH0gZWxzZSB7
CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKworICBzb3J0Q2VsbEhhbGZlZGdlcygpOworCisg
IGlmIChleHRlbnQpIHsKKyAgICB2YXIgeDAgPSArZXh0ZW50WzBdWzBdLAorICAgICAgICB5MCA9
ICtleHRlbnRbMF1bMV0sCisgICAgICAgIHgxID0gK2V4dGVudFsxXVswXSwKKyAgICAgICAgeTEg
PSArZXh0ZW50WzFdWzFdOworICAgIGNsaXBFZGdlcyh4MCwgeTAsIHgxLCB5MSk7CisgICAgY2xp
cENlbGxzKHgwLCB5MCwgeDEsIHkxKTsKKyAgfQorCisgIHRoaXMuZWRnZXMgPSBlZGdlczsKKyAg
dGhpcy5jZWxscyA9IGNlbGxzOworCisgIGJlYWNoZXMgPQorICBjaXJjbGVzID0KKyAgZWRnZXMg
PQorICBjZWxscyA9IG51bGw7Cit9CisKK0RpYWdyYW0ucHJvdG90eXBlID0geworICBjb25zdHJ1
Y3RvcjogRGlhZ3JhbSwKKworICBwb2x5Z29uczogZnVuY3Rpb24oKSB7CisgICAgdmFyIGVkZ2Vz
ID0gdGhpcy5lZGdlczsKKworICAgIHJldHVybiB0aGlzLmNlbGxzLm1hcChmdW5jdGlvbihjZWxs
KSB7CisgICAgICB2YXIgcG9seWdvbiA9IGNlbGwuaGFsZmVkZ2VzLm1hcChmdW5jdGlvbihpKSB7
IHJldHVybiBjZWxsSGFsZmVkZ2VTdGFydChjZWxsLCBlZGdlc1tpXSk7IH0pOworICAgICAgcG9s
eWdvbi5kYXRhID0gY2VsbC5zaXRlLmRhdGE7CisgICAgICByZXR1cm4gcG9seWdvbjsKKyAgICB9
KTsKKyAgfSwKKworICB0cmlhbmdsZXM6IGZ1bmN0aW9uKCkgeworICAgIHZhciB0cmlhbmdsZXMg
PSBbXSwKKyAgICAgICAgZWRnZXMgPSB0aGlzLmVkZ2VzOworCisgICAgdGhpcy5jZWxscy5mb3JF
YWNoKGZ1bmN0aW9uKGNlbGwsIGkpIHsKKyAgICAgIGlmICghKG0gPSAoaGFsZmVkZ2VzID0gY2Vs
bC5oYWxmZWRnZXMpLmxlbmd0aCkpIHJldHVybjsKKyAgICAgIHZhciBzaXRlID0gY2VsbC5zaXRl
LAorICAgICAgICAgIGhhbGZlZGdlcywKKyAgICAgICAgICBqID0gLTEsCisgICAgICAgICAgbSwK
KyAgICAgICAgICBzMCwKKyAgICAgICAgICBlMSA9IGVkZ2VzW2hhbGZlZGdlc1ttIC0gMV1dLAor
ICAgICAgICAgIHMxID0gZTEubGVmdCA9PT0gc2l0ZSA/IGUxLnJpZ2h0IDogZTEubGVmdDsKKwor
ICAgICAgd2hpbGUgKCsraiA8IG0pIHsKKyAgICAgICAgczAgPSBzMTsKKyAgICAgICAgZTEgPSBl
ZGdlc1toYWxmZWRnZXNbal1dOworICAgICAgICBzMSA9IGUxLmxlZnQgPT09IHNpdGUgPyBlMS5y
aWdodCA6IGUxLmxlZnQ7CisgICAgICAgIGlmIChzMCAmJiBzMSAmJiBpIDwgczAuaW5kZXggJiYg
aSA8IHMxLmluZGV4ICYmIHRyaWFuZ2xlQXJlYShzaXRlLCBzMCwgczEpIDwgMCkgeworICAgICAg
ICAgIHRyaWFuZ2xlcy5wdXNoKFtzaXRlLmRhdGEsIHMwLmRhdGEsIHMxLmRhdGFdKTsKKyAgICAg
ICAgfQorICAgICAgfQorICAgIH0pOworCisgICAgcmV0dXJuIHRyaWFuZ2xlczsKKyAgfSwKKwor
ICBsaW5rczogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRoaXMuZWRnZXMuZmlsdGVyKGZ1bmN0
aW9uKGVkZ2UpIHsKKyAgICAgIHJldHVybiBlZGdlLnJpZ2h0OworICAgIH0pLm1hcChmdW5jdGlv
bihlZGdlKSB7CisgICAgICByZXR1cm4geworICAgICAgICBzb3VyY2U6IGVkZ2UubGVmdC5kYXRh
LAorICAgICAgICB0YXJnZXQ6IGVkZ2UucmlnaHQuZGF0YQorICAgICAgfTsKKyAgICB9KTsKKyAg
fSwKKworICBmaW5kOiBmdW5jdGlvbih4LCB5LCByYWRpdXMpIHsKKyAgICB2YXIgdGhhdCA9IHRo
aXMsIGkwLCBpMSA9IHRoYXQuX2ZvdW5kIHx8IDAsIG4gPSB0aGF0LmNlbGxzLmxlbmd0aCwgY2Vs
bDsKKworICAgIC8vIFVzZSB0aGUgcHJldmlvdXNseS1mb3VuZCBjZWxsLCBvciBzdGFydCB3aXRo
IGFuIGFyYml0cmFyeSBvbmUuCisgICAgd2hpbGUgKCEoY2VsbCA9IHRoYXQuY2VsbHNbaTFdKSkg
aWYgKCsraTEgPj0gbikgcmV0dXJuIG51bGw7CisgICAgdmFyIGR4ID0geCAtIGNlbGwuc2l0ZVsw
XSwgZHkgPSB5IC0gY2VsbC5zaXRlWzFdLCBkMiA9IGR4ICogZHggKyBkeSAqIGR5OworCisgICAg
Ly8gVHJhdmVyc2UgdGhlIGhhbGYtZWRnZXMgdG8gZmluZCBhIGNsb3NlciBjZWxsLCBpZiBhbnku
CisgICAgZG8geworICAgICAgY2VsbCA9IHRoYXQuY2VsbHNbaTAgPSBpMV0sIGkxID0gbnVsbDsK
KyAgICAgIGNlbGwuaGFsZmVkZ2VzLmZvckVhY2goZnVuY3Rpb24oZSkgeworICAgICAgICB2YXIg
ZWRnZSA9IHRoYXQuZWRnZXNbZV0sIHYgPSBlZGdlLmxlZnQ7CisgICAgICAgIGlmICgodiA9PT0g
Y2VsbC5zaXRlIHx8ICF2KSAmJiAhKHYgPSBlZGdlLnJpZ2h0KSkgcmV0dXJuOworICAgICAgICB2
YXIgdnggPSB4IC0gdlswXSwgdnkgPSB5IC0gdlsxXSwgdjIgPSB2eCAqIHZ4ICsgdnkgKiB2eTsK
KyAgICAgICAgaWYgKHYyIDwgZDIpIGQyID0gdjIsIGkxID0gdi5pbmRleDsKKyAgICAgIH0pOwor
ICAgIH0gd2hpbGUgKGkxICE9PSBudWxsKTsKKworICAgIHRoYXQuX2ZvdW5kID0gaTA7CisKKyAg
ICByZXR1cm4gcmFkaXVzID09IG51bGwgfHwgZDIgPD0gcmFkaXVzICogcmFkaXVzID8gY2VsbC5z
aXRlIDogbnVsbDsKKyAgfQorfTsKKworZnVuY3Rpb24gdm9yb25vaSgpIHsKKyAgdmFyIHggPSB4
JDQsCisgICAgICB5ID0geSQ0LAorICAgICAgZXh0ZW50ID0gbnVsbDsKKworICBmdW5jdGlvbiB2
b3Jvbm9pKGRhdGEpIHsKKyAgICByZXR1cm4gbmV3IERpYWdyYW0oZGF0YS5tYXAoZnVuY3Rpb24o
ZCwgaSkgeworICAgICAgdmFyIHMgPSBbTWF0aC5yb3VuZCh4KGQsIGksIGRhdGEpIC8gZXBzaWxv
biQ0KSAqIGVwc2lsb24kNCwgTWF0aC5yb3VuZCh5KGQsIGksIGRhdGEpIC8gZXBzaWxvbiQ0KSAq
IGVwc2lsb24kNF07CisgICAgICBzLmluZGV4ID0gaTsKKyAgICAgIHMuZGF0YSA9IGQ7CisgICAg
ICByZXR1cm4gczsKKyAgICB9KSwgZXh0ZW50KTsKKyAgfQorCisgIHZvcm9ub2kucG9seWdvbnMg
PSBmdW5jdGlvbihkYXRhKSB7CisgICAgcmV0dXJuIHZvcm9ub2koZGF0YSkucG9seWdvbnMoKTsK
KyAgfTsKKworICB2b3Jvbm9pLmxpbmtzID0gZnVuY3Rpb24oZGF0YSkgeworICAgIHJldHVybiB2
b3Jvbm9pKGRhdGEpLmxpbmtzKCk7CisgIH07CisKKyAgdm9yb25vaS50cmlhbmdsZXMgPSBmdW5j
dGlvbihkYXRhKSB7CisgICAgcmV0dXJuIHZvcm9ub2koZGF0YSkudHJpYW5nbGVzKCk7CisgIH07
CisKKyAgdm9yb25vaS54ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHggPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRjKCtfKSwg
dm9yb25vaSkgOiB4OworICB9OworCisgIHZvcm9ub2kueSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBf
IDogY29uc3RhbnQkYygrXyksIHZvcm9ub2kpIDogeTsKKyAgfTsKKworICB2b3Jvbm9pLmV4dGVu
dCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChleHRlbnQg
PSBfID09IG51bGwgPyBudWxsIDogW1srX1swXVswXSwgK19bMF1bMV1dLCBbK19bMV1bMF0sICtf
WzFdWzFdXV0sIHZvcm9ub2kpIDogZXh0ZW50ICYmIFtbZXh0ZW50WzBdWzBdLCBleHRlbnRbMF1b
MV1dLCBbZXh0ZW50WzFdWzBdLCBleHRlbnRbMV1bMV1dXTsKKyAgfTsKKworICB2b3Jvbm9pLnNp
emUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZXh0ZW50
ID0gXyA9PSBudWxsID8gbnVsbCA6IFtbMCwgMF0sIFsrX1swXSwgK19bMV1dXSwgdm9yb25vaSkg
OiBleHRlbnQgJiYgW2V4dGVudFsxXVswXSAtIGV4dGVudFswXVswXSwgZXh0ZW50WzFdWzFdIC0g
ZXh0ZW50WzBdWzFdXTsKKyAgfTsKKworICByZXR1cm4gdm9yb25vaTsKK30KKworZnVuY3Rpb24g
Y29uc3RhbnQkZCh4KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAg
fTsKK30KKworZnVuY3Rpb24gWm9vbUV2ZW50KHRhcmdldCwgdHlwZSwgdHJhbnNmb3JtKSB7Cisg
IHRoaXMudGFyZ2V0ID0gdGFyZ2V0OworICB0aGlzLnR5cGUgPSB0eXBlOworICB0aGlzLnRyYW5z
Zm9ybSA9IHRyYW5zZm9ybTsKK30KKworZnVuY3Rpb24gVHJhbnNmb3JtKGssIHgsIHkpIHsKKyAg
dGhpcy5rID0gazsKKyAgdGhpcy54ID0geDsKKyAgdGhpcy55ID0geTsKK30KKworVHJhbnNmb3Jt
LnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IFRyYW5zZm9ybSwKKyAgc2NhbGU6IGZ1bmN0
aW9uKGspIHsKKyAgICByZXR1cm4gayA9PT0gMSA/IHRoaXMgOiBuZXcgVHJhbnNmb3JtKHRoaXMu
ayAqIGssIHRoaXMueCwgdGhpcy55KTsKKyAgfSwKKyAgdHJhbnNsYXRlOiBmdW5jdGlvbih4LCB5
KSB7CisgICAgcmV0dXJuIHggPT09IDAgJiB5ID09PSAwID8gdGhpcyA6IG5ldyBUcmFuc2Zvcm0o
dGhpcy5rLCB0aGlzLnggKyB0aGlzLmsgKiB4LCB0aGlzLnkgKyB0aGlzLmsgKiB5KTsKKyAgfSwK
KyAgYXBwbHk6IGZ1bmN0aW9uKHBvaW50KSB7CisgICAgcmV0dXJuIFtwb2ludFswXSAqIHRoaXMu
ayArIHRoaXMueCwgcG9pbnRbMV0gKiB0aGlzLmsgKyB0aGlzLnldOworICB9LAorICBhcHBseVg6
IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4geCAqIHRoaXMuayArIHRoaXMueDsKKyAgfSwKKyAg
YXBwbHlZOiBmdW5jdGlvbih5KSB7CisgICAgcmV0dXJuIHkgKiB0aGlzLmsgKyB0aGlzLnk7Cisg
IH0sCisgIGludmVydDogZnVuY3Rpb24obG9jYXRpb24pIHsKKyAgICByZXR1cm4gWyhsb2NhdGlv
blswXSAtIHRoaXMueCkgLyB0aGlzLmssIChsb2NhdGlvblsxXSAtIHRoaXMueSkgLyB0aGlzLmtd
OworICB9LAorICBpbnZlcnRYOiBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuICh4IC0gdGhpcy54
KSAvIHRoaXMuazsKKyAgfSwKKyAgaW52ZXJ0WTogZnVuY3Rpb24oeSkgeworICAgIHJldHVybiAo
eSAtIHRoaXMueSkgLyB0aGlzLms7CisgIH0sCisgIHJlc2NhbGVYOiBmdW5jdGlvbih4KSB7Cisg
ICAgcmV0dXJuIHguY29weSgpLmRvbWFpbih4LnJhbmdlKCkubWFwKHRoaXMuaW52ZXJ0WCwgdGhp
cykubWFwKHguaW52ZXJ0LCB4KSk7CisgIH0sCisgIHJlc2NhbGVZOiBmdW5jdGlvbih5KSB7Cisg
ICAgcmV0dXJuIHkuY29weSgpLmRvbWFpbih5LnJhbmdlKCkubWFwKHRoaXMuaW52ZXJ0WSwgdGhp
cykubWFwKHkuaW52ZXJ0LCB5KSk7CisgIH0sCisgIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsKKyAg
ICByZXR1cm4gInRyYW5zbGF0ZSgiICsgdGhpcy54ICsgIiwiICsgdGhpcy55ICsgIikgc2NhbGUo
IiArIHRoaXMuayArICIpIjsKKyAgfQorfTsKKwordmFyIGlkZW50aXR5JDkgPSBuZXcgVHJhbnNm
b3JtKDEsIDAsIDApOworCit0cmFuc2Zvcm0kMS5wcm90b3R5cGUgPSBUcmFuc2Zvcm0ucHJvdG90
eXBlOworCitmdW5jdGlvbiB0cmFuc2Zvcm0kMShub2RlKSB7CisgIHdoaWxlICghbm9kZS5fX3pv
b20pIGlmICghKG5vZGUgPSBub2RlLnBhcmVudE5vZGUpKSByZXR1cm4gaWRlbnRpdHkkOTsKKyAg
cmV0dXJuIG5vZGUuX196b29tOworfQorCitmdW5jdGlvbiBub3Byb3BhZ2F0aW9uJDIoKSB7Cisg
IGV4cG9ydHMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7Cit9CisKK2Z1bmN0aW9u
IG5vZXZlbnQkMigpIHsKKyAgZXhwb3J0cy5ldmVudC5wcmV2ZW50RGVmYXVsdCgpOworICBleHBv
cnRzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOworfQorCisvLyBJZ25vcmUgcmln
aHQtY2xpY2ssIHNpbmNlIHRoYXQgc2hvdWxkIG9wZW4gdGhlIGNvbnRleHQgbWVudS4KK2Z1bmN0
aW9uIGRlZmF1bHRGaWx0ZXIkMigpIHsKKyAgcmV0dXJuICFleHBvcnRzLmV2ZW50LmN0cmxLZXkg
JiYgIWV4cG9ydHMuZXZlbnQuYnV0dG9uOworfQorCitmdW5jdGlvbiBkZWZhdWx0RXh0ZW50JDEo
KSB7CisgIHZhciBlID0gdGhpczsKKyAgaWYgKGUgaW5zdGFuY2VvZiBTVkdFbGVtZW50KSB7Cisg
ICAgZSA9IGUub3duZXJTVkdFbGVtZW50IHx8IGU7CisgICAgaWYgKGUuaGFzQXR0cmlidXRlKCJ2
aWV3Qm94IikpIHsKKyAgICAgIGUgPSBlLnZpZXdCb3guYmFzZVZhbDsKKyAgICAgIHJldHVybiBb
W2UueCwgZS55XSwgW2UueCArIGUud2lkdGgsIGUueSArIGUuaGVpZ2h0XV07CisgICAgfQorICAg
IHJldHVybiBbWzAsIDBdLCBbZS53aWR0aC5iYXNlVmFsLnZhbHVlLCBlLmhlaWdodC5iYXNlVmFs
LnZhbHVlXV07CisgIH0KKyAgcmV0dXJuIFtbMCwgMF0sIFtlLmNsaWVudFdpZHRoLCBlLmNsaWVu
dEhlaWdodF1dOworfQorCitmdW5jdGlvbiBkZWZhdWx0VHJhbnNmb3JtKCkgeworICByZXR1cm4g
dGhpcy5fX3pvb20gfHwgaWRlbnRpdHkkOTsKK30KKworZnVuY3Rpb24gZGVmYXVsdFdoZWVsRGVs
dGEoKSB7CisgIHJldHVybiAtZXhwb3J0cy5ldmVudC5kZWx0YVkgKiAoZXhwb3J0cy5ldmVudC5k
ZWx0YU1vZGUgPT09IDEgPyAwLjA1IDogZXhwb3J0cy5ldmVudC5kZWx0YU1vZGUgPyAxIDogMC4w
MDIpOworfQorCitmdW5jdGlvbiBkZWZhdWx0VG91Y2hhYmxlJDIoKSB7CisgIHJldHVybiBuYXZp
Z2F0b3IubWF4VG91Y2hQb2ludHMgfHwgKCJvbnRvdWNoc3RhcnQiIGluIHRoaXMpOworfQorCitm
dW5jdGlvbiBkZWZhdWx0Q29uc3RyYWluKHRyYW5zZm9ybSwgZXh0ZW50LCB0cmFuc2xhdGVFeHRl
bnQpIHsKKyAgdmFyIGR4MCA9IHRyYW5zZm9ybS5pbnZlcnRYKGV4dGVudFswXVswXSkgLSB0cmFu
c2xhdGVFeHRlbnRbMF1bMF0sCisgICAgICBkeDEgPSB0cmFuc2Zvcm0uaW52ZXJ0WChleHRlbnRb
MV1bMF0pIC0gdHJhbnNsYXRlRXh0ZW50WzFdWzBdLAorICAgICAgZHkwID0gdHJhbnNmb3JtLmlu
dmVydFkoZXh0ZW50WzBdWzFdKSAtIHRyYW5zbGF0ZUV4dGVudFswXVsxXSwKKyAgICAgIGR5MSA9
IHRyYW5zZm9ybS5pbnZlcnRZKGV4dGVudFsxXVsxXSkgLSB0cmFuc2xhdGVFeHRlbnRbMV1bMV07
CisgIHJldHVybiB0cmFuc2Zvcm0udHJhbnNsYXRlKAorICAgIGR4MSA+IGR4MCA/IChkeDAgKyBk
eDEpIC8gMiA6IE1hdGgubWluKDAsIGR4MCkgfHwgTWF0aC5tYXgoMCwgZHgxKSwKKyAgICBkeTEg
PiBkeTAgPyAoZHkwICsgZHkxKSAvIDIgOiBNYXRoLm1pbigwLCBkeTApIHx8IE1hdGgubWF4KDAs
IGR5MSkKKyAgKTsKK30KKworZnVuY3Rpb24gem9vbSgpIHsKKyAgdmFyIGZpbHRlciA9IGRlZmF1
bHRGaWx0ZXIkMiwKKyAgICAgIGV4dGVudCA9IGRlZmF1bHRFeHRlbnQkMSwKKyAgICAgIGNvbnN0
cmFpbiA9IGRlZmF1bHRDb25zdHJhaW4sCisgICAgICB3aGVlbERlbHRhID0gZGVmYXVsdFdoZWVs
RGVsdGEsCisgICAgICB0b3VjaGFibGUgPSBkZWZhdWx0VG91Y2hhYmxlJDIsCisgICAgICBzY2Fs
ZUV4dGVudCA9IFswLCBJbmZpbml0eV0sCisgICAgICB0cmFuc2xhdGVFeHRlbnQgPSBbWy1JbmZp
bml0eSwgLUluZmluaXR5XSwgW0luZmluaXR5LCBJbmZpbml0eV1dLAorICAgICAgZHVyYXRpb24g
PSAyNTAsCisgICAgICBpbnRlcnBvbGF0ZSA9IGludGVycG9sYXRlWm9vbSwKKyAgICAgIGxpc3Rl
bmVycyA9IGRpc3BhdGNoKCJzdGFydCIsICJ6b29tIiwgImVuZCIpLAorICAgICAgdG91Y2hzdGFy
dGluZywKKyAgICAgIHRvdWNoZW5kaW5nLAorICAgICAgdG91Y2hEZWxheSA9IDUwMCwKKyAgICAg
IHdoZWVsRGVsYXkgPSAxNTAsCisgICAgICBjbGlja0Rpc3RhbmNlMiA9IDA7CisKKyAgZnVuY3Rp
b24gem9vbShzZWxlY3Rpb24pIHsKKyAgICBzZWxlY3Rpb24KKyAgICAgICAgLnByb3BlcnR5KCJf
X3pvb20iLCBkZWZhdWx0VHJhbnNmb3JtKQorICAgICAgICAub24oIndoZWVsLnpvb20iLCB3aGVl
bGVkKQorICAgICAgICAub24oIm1vdXNlZG93bi56b29tIiwgbW91c2Vkb3duZWQpCisgICAgICAg
IC5vbigiZGJsY2xpY2suem9vbSIsIGRibGNsaWNrZWQpCisgICAgICAuZmlsdGVyKHRvdWNoYWJs
ZSkKKyAgICAgICAgLm9uKCJ0b3VjaHN0YXJ0Lnpvb20iLCB0b3VjaHN0YXJ0ZWQpCisgICAgICAg
IC5vbigidG91Y2htb3ZlLnpvb20iLCB0b3VjaG1vdmVkKQorICAgICAgICAub24oInRvdWNoZW5k
Lnpvb20gdG91Y2hjYW5jZWwuem9vbSIsIHRvdWNoZW5kZWQpCisgICAgICAgIC5zdHlsZSgidG91
Y2gtYWN0aW9uIiwgIm5vbmUiKQorICAgICAgICAuc3R5bGUoIi13ZWJraXQtdGFwLWhpZ2hsaWdo
dC1jb2xvciIsICJyZ2JhKDAsMCwwLDApIik7CisgIH0KKworICB6b29tLnRyYW5zZm9ybSA9IGZ1
bmN0aW9uKGNvbGxlY3Rpb24sIHRyYW5zZm9ybSwgcG9pbnQpIHsKKyAgICB2YXIgc2VsZWN0aW9u
ID0gY29sbGVjdGlvbi5zZWxlY3Rpb24gPyBjb2xsZWN0aW9uLnNlbGVjdGlvbigpIDogY29sbGVj
dGlvbjsKKyAgICBzZWxlY3Rpb24ucHJvcGVydHkoIl9fem9vbSIsIGRlZmF1bHRUcmFuc2Zvcm0p
OworICAgIGlmIChjb2xsZWN0aW9uICE9PSBzZWxlY3Rpb24pIHsKKyAgICAgIHNjaGVkdWxlKGNv
bGxlY3Rpb24sIHRyYW5zZm9ybSwgcG9pbnQpOworICAgIH0gZWxzZSB7CisgICAgICBzZWxlY3Rp
b24uaW50ZXJydXB0KCkuZWFjaChmdW5jdGlvbigpIHsKKyAgICAgICAgZ2VzdHVyZSh0aGlzLCBh
cmd1bWVudHMpCisgICAgICAgICAgICAuc3RhcnQoKQorICAgICAgICAgICAgLnpvb20obnVsbCwg
dHlwZW9mIHRyYW5zZm9ybSA9PT0gImZ1bmN0aW9uIiA/IHRyYW5zZm9ybS5hcHBseSh0aGlzLCBh
cmd1bWVudHMpIDogdHJhbnNmb3JtKQorICAgICAgICAgICAgLmVuZCgpOworICAgICAgfSk7Cisg
ICAgfQorICB9OworCisgIHpvb20uc2NhbGVCeSA9IGZ1bmN0aW9uKHNlbGVjdGlvbiwgaywgcCkg
eworICAgIHpvb20uc2NhbGVUbyhzZWxlY3Rpb24sIGZ1bmN0aW9uKCkgeworICAgICAgdmFyIGsw
ID0gdGhpcy5fX3pvb20uaywKKyAgICAgICAgICBrMSA9IHR5cGVvZiBrID09PSAiZnVuY3Rpb24i
ID8gay5hcHBseSh0aGlzLCBhcmd1bWVudHMpIDogazsKKyAgICAgIHJldHVybiBrMCAqIGsxOwor
ICAgIH0sIHApOworICB9OworCisgIHpvb20uc2NhbGVUbyA9IGZ1bmN0aW9uKHNlbGVjdGlvbiwg
aywgcCkgeworICAgIHpvb20udHJhbnNmb3JtKHNlbGVjdGlvbiwgZnVuY3Rpb24oKSB7CisgICAg
ICB2YXIgZSA9IGV4dGVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpLAorICAgICAgICAgIHQwID0g
dGhpcy5fX3pvb20sCisgICAgICAgICAgcDAgPSBwID09IG51bGwgPyBjZW50cm9pZChlKSA6IHR5
cGVvZiBwID09PSAiZnVuY3Rpb24iID8gcC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIDogcCwKKyAg
ICAgICAgICBwMSA9IHQwLmludmVydChwMCksCisgICAgICAgICAgazEgPSB0eXBlb2YgayA9PT0g
ImZ1bmN0aW9uIiA/IGsuYXBwbHkodGhpcywgYXJndW1lbnRzKSA6IGs7CisgICAgICByZXR1cm4g
Y29uc3RyYWluKHRyYW5zbGF0ZShzY2FsZSh0MCwgazEpLCBwMCwgcDEpLCBlLCB0cmFuc2xhdGVF
eHRlbnQpOworICAgIH0sIHApOworICB9OworCisgIHpvb20udHJhbnNsYXRlQnkgPSBmdW5jdGlv
bihzZWxlY3Rpb24sIHgsIHkpIHsKKyAgICB6b29tLnRyYW5zZm9ybShzZWxlY3Rpb24sIGZ1bmN0
aW9uKCkgeworICAgICAgcmV0dXJuIGNvbnN0cmFpbih0aGlzLl9fem9vbS50cmFuc2xhdGUoCisg
ICAgICAgIHR5cGVvZiB4ID09PSAiZnVuY3Rpb24iID8geC5hcHBseSh0aGlzLCBhcmd1bWVudHMp
IDogeCwKKyAgICAgICAgdHlwZW9mIHkgPT09ICJmdW5jdGlvbiIgPyB5LmFwcGx5KHRoaXMsIGFy
Z3VtZW50cykgOiB5CisgICAgICApLCBleHRlbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKSwgdHJh
bnNsYXRlRXh0ZW50KTsKKyAgICB9KTsKKyAgfTsKKworICB6b29tLnRyYW5zbGF0ZVRvID0gZnVu
Y3Rpb24oc2VsZWN0aW9uLCB4LCB5LCBwKSB7CisgICAgem9vbS50cmFuc2Zvcm0oc2VsZWN0aW9u
LCBmdW5jdGlvbigpIHsKKyAgICAgIHZhciBlID0gZXh0ZW50LmFwcGx5KHRoaXMsIGFyZ3VtZW50
cyksCisgICAgICAgICAgdCA9IHRoaXMuX196b29tLAorICAgICAgICAgIHAwID0gcCA9PSBudWxs
ID8gY2VudHJvaWQoZSkgOiB0eXBlb2YgcCA9PT0gImZ1bmN0aW9uIiA/IHAuYXBwbHkodGhpcywg
YXJndW1lbnRzKSA6IHA7CisgICAgICByZXR1cm4gY29uc3RyYWluKGlkZW50aXR5JDkudHJhbnNs
YXRlKHAwWzBdLCBwMFsxXSkuc2NhbGUodC5rKS50cmFuc2xhdGUoCisgICAgICAgIHR5cGVvZiB4
ID09PSAiZnVuY3Rpb24iID8gLXguYXBwbHkodGhpcywgYXJndW1lbnRzKSA6IC14LAorICAgICAg
ICB0eXBlb2YgeSA9PT0gImZ1bmN0aW9uIiA/IC15LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgOiAt
eQorICAgICAgKSwgZSwgdHJhbnNsYXRlRXh0ZW50KTsKKyAgICB9LCBwKTsKKyAgfTsKKworICBm
dW5jdGlvbiBzY2FsZSh0cmFuc2Zvcm0sIGspIHsKKyAgICBrID0gTWF0aC5tYXgoc2NhbGVFeHRl
bnRbMF0sIE1hdGgubWluKHNjYWxlRXh0ZW50WzFdLCBrKSk7CisgICAgcmV0dXJuIGsgPT09IHRy
YW5zZm9ybS5rID8gdHJhbnNmb3JtIDogbmV3IFRyYW5zZm9ybShrLCB0cmFuc2Zvcm0ueCwgdHJh
bnNmb3JtLnkpOworICB9CisKKyAgZnVuY3Rpb24gdHJhbnNsYXRlKHRyYW5zZm9ybSwgcDAsIHAx
KSB7CisgICAgdmFyIHggPSBwMFswXSAtIHAxWzBdICogdHJhbnNmb3JtLmssIHkgPSBwMFsxXSAt
IHAxWzFdICogdHJhbnNmb3JtLms7CisgICAgcmV0dXJuIHggPT09IHRyYW5zZm9ybS54ICYmIHkg
PT09IHRyYW5zZm9ybS55ID8gdHJhbnNmb3JtIDogbmV3IFRyYW5zZm9ybSh0cmFuc2Zvcm0uaywg
eCwgeSk7CisgIH0KKworICBmdW5jdGlvbiBjZW50cm9pZChleHRlbnQpIHsKKyAgICByZXR1cm4g
WygrZXh0ZW50WzBdWzBdICsgK2V4dGVudFsxXVswXSkgLyAyLCAoK2V4dGVudFswXVsxXSArICtl
eHRlbnRbMV1bMV0pIC8gMl07CisgIH0KKworICBmdW5jdGlvbiBzY2hlZHVsZSh0cmFuc2l0aW9u
LCB0cmFuc2Zvcm0sIHBvaW50KSB7CisgICAgdHJhbnNpdGlvbgorICAgICAgICAub24oInN0YXJ0
Lnpvb20iLCBmdW5jdGlvbigpIHsgZ2VzdHVyZSh0aGlzLCBhcmd1bWVudHMpLnN0YXJ0KCk7IH0p
CisgICAgICAgIC5vbigiaW50ZXJydXB0Lnpvb20gZW5kLnpvb20iLCBmdW5jdGlvbigpIHsgZ2Vz
dHVyZSh0aGlzLCBhcmd1bWVudHMpLmVuZCgpOyB9KQorICAgICAgICAudHdlZW4oInpvb20iLCBm
dW5jdGlvbigpIHsKKyAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCisgICAgICAgICAgICAgIGFy
Z3MgPSBhcmd1bWVudHMsCisgICAgICAgICAgICAgIGcgPSBnZXN0dXJlKHRoYXQsIGFyZ3MpLAor
ICAgICAgICAgICAgICBlID0gZXh0ZW50LmFwcGx5KHRoYXQsIGFyZ3MpLAorICAgICAgICAgICAg
ICBwID0gcG9pbnQgPT0gbnVsbCA/IGNlbnRyb2lkKGUpIDogdHlwZW9mIHBvaW50ID09PSAiZnVu
Y3Rpb24iID8gcG9pbnQuYXBwbHkodGhhdCwgYXJncykgOiBwb2ludCwKKyAgICAgICAgICAgICAg
dyA9IE1hdGgubWF4KGVbMV1bMF0gLSBlWzBdWzBdLCBlWzFdWzFdIC0gZVswXVsxXSksCisgICAg
ICAgICAgICAgIGEgPSB0aGF0Ll9fem9vbSwKKyAgICAgICAgICAgICAgYiA9IHR5cGVvZiB0cmFu
c2Zvcm0gPT09ICJmdW5jdGlvbiIgPyB0cmFuc2Zvcm0uYXBwbHkodGhhdCwgYXJncykgOiB0cmFu
c2Zvcm0sCisgICAgICAgICAgICAgIGkgPSBpbnRlcnBvbGF0ZShhLmludmVydChwKS5jb25jYXQo
dyAvIGEuayksIGIuaW52ZXJ0KHApLmNvbmNhdCh3IC8gYi5rKSk7CisgICAgICAgICAgcmV0dXJu
IGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgICAgIGlmICh0ID09PSAxKSB0ID0gYjsgLy8gQXZvaWQg
cm91bmRpbmcgZXJyb3Igb24gZW5kLgorICAgICAgICAgICAgZWxzZSB7IHZhciBsID0gaSh0KSwg
ayA9IHcgLyBsWzJdOyB0ID0gbmV3IFRyYW5zZm9ybShrLCBwWzBdIC0gbFswXSAqIGssIHBbMV0g
LSBsWzFdICogayk7IH0KKyAgICAgICAgICAgIGcuem9vbShudWxsLCB0KTsKKyAgICAgICAgICB9
OworICAgICAgICB9KTsKKyAgfQorCisgIGZ1bmN0aW9uIGdlc3R1cmUodGhhdCwgYXJncywgY2xl
YW4pIHsKKyAgICByZXR1cm4gKCFjbGVhbiAmJiB0aGF0Ll9fem9vbWluZykgfHwgbmV3IEdlc3R1
cmUodGhhdCwgYXJncyk7CisgIH0KKworICBmdW5jdGlvbiBHZXN0dXJlKHRoYXQsIGFyZ3MpIHsK
KyAgICB0aGlzLnRoYXQgPSB0aGF0OworICAgIHRoaXMuYXJncyA9IGFyZ3M7CisgICAgdGhpcy5h
Y3RpdmUgPSAwOworICAgIHRoaXMuZXh0ZW50ID0gZXh0ZW50LmFwcGx5KHRoYXQsIGFyZ3MpOwor
ICAgIHRoaXMudGFwcyA9IDA7CisgIH0KKworICBHZXN0dXJlLnByb3RvdHlwZSA9IHsKKyAgICBz
dGFydDogZnVuY3Rpb24oKSB7CisgICAgICBpZiAoKyt0aGlzLmFjdGl2ZSA9PT0gMSkgeworICAg
ICAgICB0aGlzLnRoYXQuX196b29taW5nID0gdGhpczsKKyAgICAgICAgdGhpcy5lbWl0KCJzdGFy
dCIpOworICAgICAgfQorICAgICAgcmV0dXJuIHRoaXM7CisgICAgfSwKKyAgICB6b29tOiBmdW5j
dGlvbihrZXksIHRyYW5zZm9ybSkgeworICAgICAgaWYgKHRoaXMubW91c2UgJiYga2V5ICE9PSAi
bW91c2UiKSB0aGlzLm1vdXNlWzFdID0gdHJhbnNmb3JtLmludmVydCh0aGlzLm1vdXNlWzBdKTsK
KyAgICAgIGlmICh0aGlzLnRvdWNoMCAmJiBrZXkgIT09ICJ0b3VjaCIpIHRoaXMudG91Y2gwWzFd
ID0gdHJhbnNmb3JtLmludmVydCh0aGlzLnRvdWNoMFswXSk7CisgICAgICBpZiAodGhpcy50b3Vj
aDEgJiYga2V5ICE9PSAidG91Y2giKSB0aGlzLnRvdWNoMVsxXSA9IHRyYW5zZm9ybS5pbnZlcnQo
dGhpcy50b3VjaDFbMF0pOworICAgICAgdGhpcy50aGF0Ll9fem9vbSA9IHRyYW5zZm9ybTsKKyAg
ICAgIHRoaXMuZW1pdCgiem9vbSIpOworICAgICAgcmV0dXJuIHRoaXM7CisgICAgfSwKKyAgICBl
bmQ6IGZ1bmN0aW9uKCkgeworICAgICAgaWYgKC0tdGhpcy5hY3RpdmUgPT09IDApIHsKKyAgICAg
ICAgZGVsZXRlIHRoaXMudGhhdC5fX3pvb21pbmc7CisgICAgICAgIHRoaXMuZW1pdCgiZW5kIik7
CisgICAgICB9CisgICAgICByZXR1cm4gdGhpczsKKyAgICB9LAorICAgIGVtaXQ6IGZ1bmN0aW9u
KHR5cGUpIHsKKyAgICAgIGN1c3RvbUV2ZW50KG5ldyBab29tRXZlbnQoem9vbSwgdHlwZSwgdGhp
cy50aGF0Ll9fem9vbSksIGxpc3RlbmVycy5hcHBseSwgbGlzdGVuZXJzLCBbdHlwZSwgdGhpcy50
aGF0LCB0aGlzLmFyZ3NdKTsKKyAgICB9CisgIH07CisKKyAgZnVuY3Rpb24gd2hlZWxlZCgpIHsK
KyAgICBpZiAoIWZpbHRlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSByZXR1cm47CisgICAgdmFy
IGcgPSBnZXN0dXJlKHRoaXMsIGFyZ3VtZW50cyksCisgICAgICAgIHQgPSB0aGlzLl9fem9vbSwK
KyAgICAgICAgayA9IE1hdGgubWF4KHNjYWxlRXh0ZW50WzBdLCBNYXRoLm1pbihzY2FsZUV4dGVu
dFsxXSwgdC5rICogTWF0aC5wb3coMiwgd2hlZWxEZWx0YS5hcHBseSh0aGlzLCBhcmd1bWVudHMp
KSkpLAorICAgICAgICBwID0gbW91c2UodGhpcyk7CisKKyAgICAvLyBJZiB0aGUgbW91c2UgaXMg
aW4gdGhlIHNhbWUgbG9jYXRpb24gYXMgYmVmb3JlLCByZXVzZSBpdC4KKyAgICAvLyBJZiB0aGVy
ZSB3ZXJlIHJlY2VudCB3aGVlbCBldmVudHMsIHJlc2V0IHRoZSB3aGVlbCBpZGxlIHRpbWVvdXQu
CisgICAgaWYgKGcud2hlZWwpIHsKKyAgICAgIGlmIChnLm1vdXNlWzBdWzBdICE9PSBwWzBdIHx8
IGcubW91c2VbMF1bMV0gIT09IHBbMV0pIHsKKyAgICAgICAgZy5tb3VzZVsxXSA9IHQuaW52ZXJ0
KGcubW91c2VbMF0gPSBwKTsKKyAgICAgIH0KKyAgICAgIGNsZWFyVGltZW91dChnLndoZWVsKTsK
KyAgICB9CisKKyAgICAvLyBJZiB0aGlzIHdoZWVsIGV2ZW50IHdvbuKAmXQgdHJpZ2dlciBhIHRy
YW5zZm9ybSBjaGFuZ2UsIGlnbm9yZSBpdC4KKyAgICBlbHNlIGlmICh0LmsgPT09IGspIHJldHVy
bjsKKworICAgIC8vIE90aGVyd2lzZSwgY2FwdHVyZSB0aGUgbW91c2UgcG9pbnQgYW5kIGxvY2F0
aW9uIGF0IHRoZSBzdGFydC4KKyAgICBlbHNlIHsKKyAgICAgIGcubW91c2UgPSBbcCwgdC5pbnZl
cnQocCldOworICAgICAgaW50ZXJydXB0KHRoaXMpOworICAgICAgZy5zdGFydCgpOworICAgIH0K
KworICAgIG5vZXZlbnQkMigpOworICAgIGcud2hlZWwgPSBzZXRUaW1lb3V0KHdoZWVsaWRsZWQs
IHdoZWVsRGVsYXkpOworICAgIGcuem9vbSgibW91c2UiLCBjb25zdHJhaW4odHJhbnNsYXRlKHNj
YWxlKHQsIGspLCBnLm1vdXNlWzBdLCBnLm1vdXNlWzFdKSwgZy5leHRlbnQsIHRyYW5zbGF0ZUV4
dGVudCkpOworCisgICAgZnVuY3Rpb24gd2hlZWxpZGxlZCgpIHsKKyAgICAgIGcud2hlZWwgPSBu
dWxsOworICAgICAgZy5lbmQoKTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBtb3VzZWRvd25l
ZCgpIHsKKyAgICBpZiAodG91Y2hlbmRpbmcgfHwgIWZpbHRlci5hcHBseSh0aGlzLCBhcmd1bWVu
dHMpKSByZXR1cm47CisgICAgdmFyIGcgPSBnZXN0dXJlKHRoaXMsIGFyZ3VtZW50cywgdHJ1ZSks
CisgICAgICAgIHYgPSBzZWxlY3QoZXhwb3J0cy5ldmVudC52aWV3KS5vbigibW91c2Vtb3ZlLnpv
b20iLCBtb3VzZW1vdmVkLCB0cnVlKS5vbigibW91c2V1cC56b29tIiwgbW91c2V1cHBlZCwgdHJ1
ZSksCisgICAgICAgIHAgPSBtb3VzZSh0aGlzKSwKKyAgICAgICAgeDAgPSBleHBvcnRzLmV2ZW50
LmNsaWVudFgsCisgICAgICAgIHkwID0gZXhwb3J0cy5ldmVudC5jbGllbnRZOworCisgICAgZHJh
Z0Rpc2FibGUoZXhwb3J0cy5ldmVudC52aWV3KTsKKyAgICBub3Byb3BhZ2F0aW9uJDIoKTsKKyAg
ICBnLm1vdXNlID0gW3AsIHRoaXMuX196b29tLmludmVydChwKV07CisgICAgaW50ZXJydXB0KHRo
aXMpOworICAgIGcuc3RhcnQoKTsKKworICAgIGZ1bmN0aW9uIG1vdXNlbW92ZWQoKSB7CisgICAg
ICBub2V2ZW50JDIoKTsKKyAgICAgIGlmICghZy5tb3ZlZCkgeworICAgICAgICB2YXIgZHggPSBl
eHBvcnRzLmV2ZW50LmNsaWVudFggLSB4MCwgZHkgPSBleHBvcnRzLmV2ZW50LmNsaWVudFkgLSB5
MDsKKyAgICAgICAgZy5tb3ZlZCA9IGR4ICogZHggKyBkeSAqIGR5ID4gY2xpY2tEaXN0YW5jZTI7
CisgICAgICB9CisgICAgICBnLnpvb20oIm1vdXNlIiwgY29uc3RyYWluKHRyYW5zbGF0ZShnLnRo
YXQuX196b29tLCBnLm1vdXNlWzBdID0gbW91c2UoZy50aGF0KSwgZy5tb3VzZVsxXSksIGcuZXh0
ZW50LCB0cmFuc2xhdGVFeHRlbnQpKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBtb3VzZXVwcGVk
KCkgeworICAgICAgdi5vbigibW91c2Vtb3ZlLnpvb20gbW91c2V1cC56b29tIiwgbnVsbCk7Cisg
ICAgICB5ZXNkcmFnKGV4cG9ydHMuZXZlbnQudmlldywgZy5tb3ZlZCk7CisgICAgICBub2V2ZW50
JDIoKTsKKyAgICAgIGcuZW5kKCk7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gZGJsY2xpY2tl
ZCgpIHsKKyAgICBpZiAoIWZpbHRlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSByZXR1cm47Cisg
ICAgdmFyIHQwID0gdGhpcy5fX3pvb20sCisgICAgICAgIHAwID0gbW91c2UodGhpcyksCisgICAg
ICAgIHAxID0gdDAuaW52ZXJ0KHAwKSwKKyAgICAgICAgazEgPSB0MC5rICogKGV4cG9ydHMuZXZl
bnQuc2hpZnRLZXkgPyAwLjUgOiAyKSwKKyAgICAgICAgdDEgPSBjb25zdHJhaW4odHJhbnNsYXRl
KHNjYWxlKHQwLCBrMSksIHAwLCBwMSksIGV4dGVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpLCB0
cmFuc2xhdGVFeHRlbnQpOworCisgICAgbm9ldmVudCQyKCk7CisgICAgaWYgKGR1cmF0aW9uID4g
MCkgc2VsZWN0KHRoaXMpLnRyYW5zaXRpb24oKS5kdXJhdGlvbihkdXJhdGlvbikuY2FsbChzY2hl
ZHVsZSwgdDEsIHAwKTsKKyAgICBlbHNlIHNlbGVjdCh0aGlzKS5jYWxsKHpvb20udHJhbnNmb3Jt
LCB0MSk7CisgIH0KKworICBmdW5jdGlvbiB0b3VjaHN0YXJ0ZWQoKSB7CisgICAgaWYgKCFmaWx0
ZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSkgcmV0dXJuOworICAgIHZhciB0b3VjaGVzID0gZXhw
b3J0cy5ldmVudC50b3VjaGVzLAorICAgICAgICBuID0gdG91Y2hlcy5sZW5ndGgsCisgICAgICAg
IGcgPSBnZXN0dXJlKHRoaXMsIGFyZ3VtZW50cywgZXhwb3J0cy5ldmVudC5jaGFuZ2VkVG91Y2hl
cy5sZW5ndGggPT09IG4pLAorICAgICAgICBzdGFydGVkLCBpLCB0LCBwOworCisgICAgbm9wcm9w
YWdhdGlvbiQyKCk7CisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgdCA9IHRv
dWNoZXNbaV0sIHAgPSB0b3VjaCh0aGlzLCB0b3VjaGVzLCB0LmlkZW50aWZpZXIpOworICAgICAg
cCA9IFtwLCB0aGlzLl9fem9vbS5pbnZlcnQocCksIHQuaWRlbnRpZmllcl07CisgICAgICBpZiAo
IWcudG91Y2gwKSBnLnRvdWNoMCA9IHAsIHN0YXJ0ZWQgPSB0cnVlLCBnLnRhcHMgPSAxICsgISF0
b3VjaHN0YXJ0aW5nOworICAgICAgZWxzZSBpZiAoIWcudG91Y2gxICYmIGcudG91Y2gwWzJdICE9
PSBwWzJdKSBnLnRvdWNoMSA9IHAsIGcudGFwcyA9IDA7CisgICAgfQorCisgICAgaWYgKHRvdWNo
c3RhcnRpbmcpIHRvdWNoc3RhcnRpbmcgPSBjbGVhclRpbWVvdXQodG91Y2hzdGFydGluZyk7CisK
KyAgICBpZiAoc3RhcnRlZCkgeworICAgICAgaWYgKGcudGFwcyA8IDIpIHRvdWNoc3RhcnRpbmcg
PSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB0b3VjaHN0YXJ0aW5nID0gbnVsbDsgfSwgdG91Y2hE
ZWxheSk7CisgICAgICBpbnRlcnJ1cHQodGhpcyk7CisgICAgICBnLnN0YXJ0KCk7CisgICAgfQor
ICB9CisKKyAgZnVuY3Rpb24gdG91Y2htb3ZlZCgpIHsKKyAgICBpZiAoIXRoaXMuX196b29taW5n
KSByZXR1cm47CisgICAgdmFyIGcgPSBnZXN0dXJlKHRoaXMsIGFyZ3VtZW50cyksCisgICAgICAg
IHRvdWNoZXMgPSBleHBvcnRzLmV2ZW50LmNoYW5nZWRUb3VjaGVzLAorICAgICAgICBuID0gdG91
Y2hlcy5sZW5ndGgsIGksIHQsIHAsIGw7CisKKyAgICBub2V2ZW50JDIoKTsKKyAgICBpZiAodG91
Y2hzdGFydGluZykgdG91Y2hzdGFydGluZyA9IGNsZWFyVGltZW91dCh0b3VjaHN0YXJ0aW5nKTsK
KyAgICBnLnRhcHMgPSAwOworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIHQg
PSB0b3VjaGVzW2ldLCBwID0gdG91Y2godGhpcywgdG91Y2hlcywgdC5pZGVudGlmaWVyKTsKKyAg
ICAgIGlmIChnLnRvdWNoMCAmJiBnLnRvdWNoMFsyXSA9PT0gdC5pZGVudGlmaWVyKSBnLnRvdWNo
MFswXSA9IHA7CisgICAgICBlbHNlIGlmIChnLnRvdWNoMSAmJiBnLnRvdWNoMVsyXSA9PT0gdC5p
ZGVudGlmaWVyKSBnLnRvdWNoMVswXSA9IHA7CisgICAgfQorICAgIHQgPSBnLnRoYXQuX196b29t
OworICAgIGlmIChnLnRvdWNoMSkgeworICAgICAgdmFyIHAwID0gZy50b3VjaDBbMF0sIGwwID0g
Zy50b3VjaDBbMV0sCisgICAgICAgICAgcDEgPSBnLnRvdWNoMVswXSwgbDEgPSBnLnRvdWNoMVsx
XSwKKyAgICAgICAgICBkcCA9IChkcCA9IHAxWzBdIC0gcDBbMF0pICogZHAgKyAoZHAgPSBwMVsx
XSAtIHAwWzFdKSAqIGRwLAorICAgICAgICAgIGRsID0gKGRsID0gbDFbMF0gLSBsMFswXSkgKiBk
bCArIChkbCA9IGwxWzFdIC0gbDBbMV0pICogZGw7CisgICAgICB0ID0gc2NhbGUodCwgTWF0aC5z
cXJ0KGRwIC8gZGwpKTsKKyAgICAgIHAgPSBbKHAwWzBdICsgcDFbMF0pIC8gMiwgKHAwWzFdICsg
cDFbMV0pIC8gMl07CisgICAgICBsID0gWyhsMFswXSArIGwxWzBdKSAvIDIsIChsMFsxXSArIGwx
WzFdKSAvIDJdOworICAgIH0KKyAgICBlbHNlIGlmIChnLnRvdWNoMCkgcCA9IGcudG91Y2gwWzBd
LCBsID0gZy50b3VjaDBbMV07CisgICAgZWxzZSByZXR1cm47CisgICAgZy56b29tKCJ0b3VjaCIs
IGNvbnN0cmFpbih0cmFuc2xhdGUodCwgcCwgbCksIGcuZXh0ZW50LCB0cmFuc2xhdGVFeHRlbnQp
KTsKKyAgfQorCisgIGZ1bmN0aW9uIHRvdWNoZW5kZWQoKSB7CisgICAgaWYgKCF0aGlzLl9fem9v
bWluZykgcmV0dXJuOworICAgIHZhciBnID0gZ2VzdHVyZSh0aGlzLCBhcmd1bWVudHMpLAorICAg
ICAgICB0b3VjaGVzID0gZXhwb3J0cy5ldmVudC5jaGFuZ2VkVG91Y2hlcywKKyAgICAgICAgbiA9
IHRvdWNoZXMubGVuZ3RoLCBpLCB0OworCisgICAgbm9wcm9wYWdhdGlvbiQyKCk7CisgICAgaWYg
KHRvdWNoZW5kaW5nKSBjbGVhclRpbWVvdXQodG91Y2hlbmRpbmcpOworICAgIHRvdWNoZW5kaW5n
ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsgdG91Y2hlbmRpbmcgPSBudWxsOyB9LCB0b3VjaERl
bGF5KTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICB0ID0gdG91Y2hlc1tp
XTsKKyAgICAgIGlmIChnLnRvdWNoMCAmJiBnLnRvdWNoMFsyXSA9PT0gdC5pZGVudGlmaWVyKSBk
ZWxldGUgZy50b3VjaDA7CisgICAgICBlbHNlIGlmIChnLnRvdWNoMSAmJiBnLnRvdWNoMVsyXSA9
PT0gdC5pZGVudGlmaWVyKSBkZWxldGUgZy50b3VjaDE7CisgICAgfQorICAgIGlmIChnLnRvdWNo
MSAmJiAhZy50b3VjaDApIGcudG91Y2gwID0gZy50b3VjaDEsIGRlbGV0ZSBnLnRvdWNoMTsKKyAg
ICBpZiAoZy50b3VjaDApIGcudG91Y2gwWzFdID0gdGhpcy5fX3pvb20uaW52ZXJ0KGcudG91Y2gw
WzBdKTsKKyAgICBlbHNlIHsKKyAgICAgIGcuZW5kKCk7CisgICAgICAvLyBJZiB0aGlzIHdhcyBh
IGRibHRhcCwgcmVyb3V0ZSB0byB0aGUgKG9wdGlvbmFsKSBkYmxjbGljay56b29tIGhhbmRsZXIu
CisgICAgICBpZiAoZy50YXBzID09PSAyKSB7CisgICAgICAgIHZhciBwID0gc2VsZWN0KHRoaXMp
Lm9uKCJkYmxjbGljay56b29tIik7CisgICAgICAgIGlmIChwKSBwLmFwcGx5KHRoaXMsIGFyZ3Vt
ZW50cyk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgem9vbS53aGVlbERlbHRhID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHdoZWVsRGVsdGEgPSB0eXBl
b2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRkKCtfKSwgem9vbSkgOiB3aGVlbERl
bHRhOworICB9OworCisgIHpvb20uZmlsdGVyID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKGZpbHRlciA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6
IGNvbnN0YW50JGQoISFfKSwgem9vbSkgOiBmaWx0ZXI7CisgIH07CisKKyAgem9vbS50b3VjaGFi
bGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodG91Y2hh
YmxlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkZCghIV8pLCB6b29t
KSA6IHRvdWNoYWJsZTsKKyAgfTsKKworICB6b29tLmV4dGVudCA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChleHRlbnQgPSB0eXBlb2YgXyA9PT0gImZ1bmN0
aW9uIiA/IF8gOiBjb25zdGFudCRkKFtbK19bMF1bMF0sICtfWzBdWzFdXSwgWytfWzFdWzBdLCAr
X1sxXVsxXV1dKSwgem9vbSkgOiBleHRlbnQ7CisgIH07CisKKyAgem9vbS5zY2FsZUV4dGVudCA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzY2FsZUV4dGVu
dFswXSA9ICtfWzBdLCBzY2FsZUV4dGVudFsxXSA9ICtfWzFdLCB6b29tKSA6IFtzY2FsZUV4dGVu
dFswXSwgc2NhbGVFeHRlbnRbMV1dOworICB9OworCisgIHpvb20udHJhbnNsYXRlRXh0ZW50ID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRyYW5zbGF0ZUV4
dGVudFswXVswXSA9ICtfWzBdWzBdLCB0cmFuc2xhdGVFeHRlbnRbMV1bMF0gPSArX1sxXVswXSwg
dHJhbnNsYXRlRXh0ZW50WzBdWzFdID0gK19bMF1bMV0sIHRyYW5zbGF0ZUV4dGVudFsxXVsxXSA9
ICtfWzFdWzFdLCB6b29tKSA6IFtbdHJhbnNsYXRlRXh0ZW50WzBdWzBdLCB0cmFuc2xhdGVFeHRl
bnRbMF1bMV1dLCBbdHJhbnNsYXRlRXh0ZW50WzFdWzBdLCB0cmFuc2xhdGVFeHRlbnRbMV1bMV1d
XTsKKyAgfTsKKworICB6b29tLmNvbnN0cmFpbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/IChjb25zdHJhaW4gPSBfLCB6b29tKSA6IGNvbnN0cmFpbjsKKyAg
fTsKKworICB6b29tLmR1cmF0aW9uID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKGR1cmF0aW9uID0gK18sIHpvb20pIDogZHVyYXRpb247CisgIH07CisKKyAg
em9vbS5pbnRlcnBvbGF0ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IChpbnRlcnBvbGF0ZSA9IF8sIHpvb20pIDogaW50ZXJwb2xhdGU7CisgIH07CisKKyAg
em9vbS5vbiA9IGZ1bmN0aW9uKCkgeworICAgIHZhciB2YWx1ZSA9IGxpc3RlbmVycy5vbi5hcHBs
eShsaXN0ZW5lcnMsIGFyZ3VtZW50cyk7CisgICAgcmV0dXJuIHZhbHVlID09PSBsaXN0ZW5lcnMg
PyB6b29tIDogdmFsdWU7CisgIH07CisKKyAgem9vbS5jbGlja0Rpc3RhbmNlID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGNsaWNrRGlzdGFuY2UyID0gKF8g
PSArXykgKiBfLCB6b29tKSA6IE1hdGguc3FydChjbGlja0Rpc3RhbmNlMik7CisgIH07CisKKyAg
cmV0dXJuIHpvb207Cit9CisKK2V4cG9ydHMuRm9ybWF0U3BlY2lmaWVyID0gRm9ybWF0U3BlY2lm
aWVyOworZXhwb3J0cy5hY3RpdmUgPSBhY3RpdmU7CitleHBvcnRzLmFyYyA9IGFyYzsKK2V4cG9y
dHMuYXJlYSA9IGFyZWEkMzsKK2V4cG9ydHMuYXJlYVJhZGlhbCA9IGFyZWFSYWRpYWw7CitleHBv
cnRzLmFzY2VuZGluZyA9IGFzY2VuZGluZzsKK2V4cG9ydHMuYXV0b1R5cGUgPSBhdXRvVHlwZTsK
K2V4cG9ydHMuYXhpc0JvdHRvbSA9IGF4aXNCb3R0b207CitleHBvcnRzLmF4aXNMZWZ0ID0gYXhp
c0xlZnQ7CitleHBvcnRzLmF4aXNSaWdodCA9IGF4aXNSaWdodDsKK2V4cG9ydHMuYXhpc1RvcCA9
IGF4aXNUb3A7CitleHBvcnRzLmJpc2VjdCA9IGJpc2VjdFJpZ2h0OworZXhwb3J0cy5iaXNlY3RM
ZWZ0ID0gYmlzZWN0TGVmdDsKK2V4cG9ydHMuYmlzZWN0UmlnaHQgPSBiaXNlY3RSaWdodDsKK2V4
cG9ydHMuYmlzZWN0b3IgPSBiaXNlY3RvcjsKK2V4cG9ydHMuYmxvYiA9IGJsb2I7CitleHBvcnRz
LmJydXNoID0gYnJ1c2g7CitleHBvcnRzLmJydXNoU2VsZWN0aW9uID0gYnJ1c2hTZWxlY3Rpb247
CitleHBvcnRzLmJydXNoWCA9IGJydXNoWDsKK2V4cG9ydHMuYnJ1c2hZID0gYnJ1c2hZOworZXhw
b3J0cy5idWZmZXIgPSBidWZmZXI7CitleHBvcnRzLmNob3JkID0gY2hvcmQ7CitleHBvcnRzLmNs
aWVudFBvaW50ID0gcG9pbnQ7CitleHBvcnRzLmNsdXN0ZXIgPSBjbHVzdGVyOworZXhwb3J0cy5j
b2xvciA9IGNvbG9yOworZXhwb3J0cy5jb250b3VyRGVuc2l0eSA9IGRlbnNpdHk7CitleHBvcnRz
LmNvbnRvdXJzID0gY29udG91cnM7CitleHBvcnRzLmNyZWF0ZSA9IGNyZWF0ZTsKK2V4cG9ydHMu
Y3JlYXRvciA9IGNyZWF0b3I7CitleHBvcnRzLmNyb3NzID0gY3Jvc3M7CitleHBvcnRzLmNzdiA9
IGNzdiQxOworZXhwb3J0cy5jc3ZGb3JtYXQgPSBjc3ZGb3JtYXQ7CitleHBvcnRzLmNzdkZvcm1h
dEJvZHkgPSBjc3ZGb3JtYXRCb2R5OworZXhwb3J0cy5jc3ZGb3JtYXRSb3cgPSBjc3ZGb3JtYXRS
b3c7CitleHBvcnRzLmNzdkZvcm1hdFJvd3MgPSBjc3ZGb3JtYXRSb3dzOworZXhwb3J0cy5jc3ZG
b3JtYXRWYWx1ZSA9IGNzdkZvcm1hdFZhbHVlOworZXhwb3J0cy5jc3ZQYXJzZSA9IGNzdlBhcnNl
OworZXhwb3J0cy5jc3ZQYXJzZVJvd3MgPSBjc3ZQYXJzZVJvd3M7CitleHBvcnRzLmN1YmVoZWxp
eCA9IGN1YmVoZWxpeDsKK2V4cG9ydHMuY3VydmVCYXNpcyA9IGJhc2lzJDI7CitleHBvcnRzLmN1
cnZlQmFzaXNDbG9zZWQgPSBiYXNpc0Nsb3NlZCQxOworZXhwb3J0cy5jdXJ2ZUJhc2lzT3BlbiA9
IGJhc2lzT3BlbjsKK2V4cG9ydHMuY3VydmVCdW5kbGUgPSBidW5kbGU7CitleHBvcnRzLmN1cnZl
Q2FyZGluYWwgPSBjYXJkaW5hbDsKK2V4cG9ydHMuY3VydmVDYXJkaW5hbENsb3NlZCA9IGNhcmRp
bmFsQ2xvc2VkOworZXhwb3J0cy5jdXJ2ZUNhcmRpbmFsT3BlbiA9IGNhcmRpbmFsT3BlbjsKK2V4
cG9ydHMuY3VydmVDYXRtdWxsUm9tID0gY2F0bXVsbFJvbTsKK2V4cG9ydHMuY3VydmVDYXRtdWxs
Um9tQ2xvc2VkID0gY2F0bXVsbFJvbUNsb3NlZDsKK2V4cG9ydHMuY3VydmVDYXRtdWxsUm9tT3Bl
biA9IGNhdG11bGxSb21PcGVuOworZXhwb3J0cy5jdXJ2ZUxpbmVhciA9IGN1cnZlTGluZWFyOwor
ZXhwb3J0cy5jdXJ2ZUxpbmVhckNsb3NlZCA9IGxpbmVhckNsb3NlZDsKK2V4cG9ydHMuY3VydmVN
b25vdG9uZVggPSBtb25vdG9uZVg7CitleHBvcnRzLmN1cnZlTW9ub3RvbmVZID0gbW9ub3RvbmVZ
OworZXhwb3J0cy5jdXJ2ZU5hdHVyYWwgPSBuYXR1cmFsOworZXhwb3J0cy5jdXJ2ZVN0ZXAgPSBz
dGVwOworZXhwb3J0cy5jdXJ2ZVN0ZXBBZnRlciA9IHN0ZXBBZnRlcjsKK2V4cG9ydHMuY3VydmVT
dGVwQmVmb3JlID0gc3RlcEJlZm9yZTsKK2V4cG9ydHMuY3VzdG9tRXZlbnQgPSBjdXN0b21FdmVu
dDsKK2V4cG9ydHMuZGVzY2VuZGluZyA9IGRlc2NlbmRpbmc7CitleHBvcnRzLmRldmlhdGlvbiA9
IGRldmlhdGlvbjsKK2V4cG9ydHMuZGlzcGF0Y2ggPSBkaXNwYXRjaDsKK2V4cG9ydHMuZHJhZyA9
IGRyYWc7CitleHBvcnRzLmRyYWdEaXNhYmxlID0gZHJhZ0Rpc2FibGU7CitleHBvcnRzLmRyYWdF
bmFibGUgPSB5ZXNkcmFnOworZXhwb3J0cy5kc3YgPSBkc3Y7CitleHBvcnRzLmRzdkZvcm1hdCA9
IGRzdkZvcm1hdDsKK2V4cG9ydHMuZWFzZUJhY2sgPSBiYWNrSW5PdXQ7CitleHBvcnRzLmVhc2VC
YWNrSW4gPSBiYWNrSW47CitleHBvcnRzLmVhc2VCYWNrSW5PdXQgPSBiYWNrSW5PdXQ7CitleHBv
cnRzLmVhc2VCYWNrT3V0ID0gYmFja091dDsKK2V4cG9ydHMuZWFzZUJvdW5jZSA9IGJvdW5jZU91
dDsKK2V4cG9ydHMuZWFzZUJvdW5jZUluID0gYm91bmNlSW47CitleHBvcnRzLmVhc2VCb3VuY2VJ
bk91dCA9IGJvdW5jZUluT3V0OworZXhwb3J0cy5lYXNlQm91bmNlT3V0ID0gYm91bmNlT3V0Owor
ZXhwb3J0cy5lYXNlQ2lyY2xlID0gY2lyY2xlSW5PdXQ7CitleHBvcnRzLmVhc2VDaXJjbGVJbiA9
IGNpcmNsZUluOworZXhwb3J0cy5lYXNlQ2lyY2xlSW5PdXQgPSBjaXJjbGVJbk91dDsKK2V4cG9y
dHMuZWFzZUNpcmNsZU91dCA9IGNpcmNsZU91dDsKK2V4cG9ydHMuZWFzZUN1YmljID0gY3ViaWNJ
bk91dDsKK2V4cG9ydHMuZWFzZUN1YmljSW4gPSBjdWJpY0luOworZXhwb3J0cy5lYXNlQ3ViaWNJ
bk91dCA9IGN1YmljSW5PdXQ7CitleHBvcnRzLmVhc2VDdWJpY091dCA9IGN1YmljT3V0OworZXhw
b3J0cy5lYXNlRWxhc3RpYyA9IGVsYXN0aWNPdXQ7CitleHBvcnRzLmVhc2VFbGFzdGljSW4gPSBl
bGFzdGljSW47CitleHBvcnRzLmVhc2VFbGFzdGljSW5PdXQgPSBlbGFzdGljSW5PdXQ7CitleHBv
cnRzLmVhc2VFbGFzdGljT3V0ID0gZWxhc3RpY091dDsKK2V4cG9ydHMuZWFzZUV4cCA9IGV4cElu
T3V0OworZXhwb3J0cy5lYXNlRXhwSW4gPSBleHBJbjsKK2V4cG9ydHMuZWFzZUV4cEluT3V0ID0g
ZXhwSW5PdXQ7CitleHBvcnRzLmVhc2VFeHBPdXQgPSBleHBPdXQ7CitleHBvcnRzLmVhc2VMaW5l
YXIgPSBsaW5lYXIkMTsKK2V4cG9ydHMuZWFzZVBvbHkgPSBwb2x5SW5PdXQ7CitleHBvcnRzLmVh
c2VQb2x5SW4gPSBwb2x5SW47CitleHBvcnRzLmVhc2VQb2x5SW5PdXQgPSBwb2x5SW5PdXQ7Citl
eHBvcnRzLmVhc2VQb2x5T3V0ID0gcG9seU91dDsKK2V4cG9ydHMuZWFzZVF1YWQgPSBxdWFkSW5P
dXQ7CitleHBvcnRzLmVhc2VRdWFkSW4gPSBxdWFkSW47CitleHBvcnRzLmVhc2VRdWFkSW5PdXQg
PSBxdWFkSW5PdXQ7CitleHBvcnRzLmVhc2VRdWFkT3V0ID0gcXVhZE91dDsKK2V4cG9ydHMuZWFz
ZVNpbiA9IHNpbkluT3V0OworZXhwb3J0cy5lYXNlU2luSW4gPSBzaW5JbjsKK2V4cG9ydHMuZWFz
ZVNpbkluT3V0ID0gc2luSW5PdXQ7CitleHBvcnRzLmVhc2VTaW5PdXQgPSBzaW5PdXQ7CitleHBv
cnRzLmVudHJpZXMgPSBlbnRyaWVzOworZXhwb3J0cy5leHRlbnQgPSBleHRlbnQ7CitleHBvcnRz
LmZvcmNlQ2VudGVyID0gY2VudGVyJDE7CitleHBvcnRzLmZvcmNlQ29sbGlkZSA9IGNvbGxpZGU7
CitleHBvcnRzLmZvcmNlTGluayA9IGxpbms7CitleHBvcnRzLmZvcmNlTWFueUJvZHkgPSBtYW55
Qm9keTsKK2V4cG9ydHMuZm9yY2VSYWRpYWwgPSByYWRpYWw7CitleHBvcnRzLmZvcmNlU2ltdWxh
dGlvbiA9IHNpbXVsYXRpb247CitleHBvcnRzLmZvcmNlWCA9IHgkMjsKK2V4cG9ydHMuZm9yY2VZ
ID0geSQyOworZXhwb3J0cy5mb3JtYXREZWZhdWx0TG9jYWxlID0gZGVmYXVsdExvY2FsZTsKK2V4
cG9ydHMuZm9ybWF0TG9jYWxlID0gZm9ybWF0TG9jYWxlOworZXhwb3J0cy5mb3JtYXRTcGVjaWZp
ZXIgPSBmb3JtYXRTcGVjaWZpZXI7CitleHBvcnRzLmdlb0FsYmVycyA9IGFsYmVyczsKK2V4cG9y
dHMuZ2VvQWxiZXJzVXNhID0gYWxiZXJzVXNhOworZXhwb3J0cy5nZW9BcmVhID0gYXJlYSQxOwor
ZXhwb3J0cy5nZW9BemltdXRoYWxFcXVhbEFyZWEgPSBhemltdXRoYWxFcXVhbEFyZWE7CitleHBv
cnRzLmdlb0F6aW11dGhhbEVxdWFsQXJlYVJhdyA9IGF6aW11dGhhbEVxdWFsQXJlYVJhdzsKK2V4
cG9ydHMuZ2VvQXppbXV0aGFsRXF1aWRpc3RhbnQgPSBhemltdXRoYWxFcXVpZGlzdGFudDsKK2V4
cG9ydHMuZ2VvQXppbXV0aGFsRXF1aWRpc3RhbnRSYXcgPSBhemltdXRoYWxFcXVpZGlzdGFudFJh
dzsKK2V4cG9ydHMuZ2VvQm91bmRzID0gYm91bmRzOworZXhwb3J0cy5nZW9DZW50cm9pZCA9IGNl
bnRyb2lkOworZXhwb3J0cy5nZW9DaXJjbGUgPSBjaXJjbGU7CitleHBvcnRzLmdlb0NsaXBBbnRp
bWVyaWRpYW4gPSBjbGlwQW50aW1lcmlkaWFuOworZXhwb3J0cy5nZW9DbGlwQ2lyY2xlID0gY2xp
cENpcmNsZTsKK2V4cG9ydHMuZ2VvQ2xpcEV4dGVudCA9IGV4dGVudCQxOworZXhwb3J0cy5nZW9D
bGlwUmVjdGFuZ2xlID0gY2xpcFJlY3RhbmdsZTsKK2V4cG9ydHMuZ2VvQ29uaWNDb25mb3JtYWwg
PSBjb25pY0NvbmZvcm1hbDsKK2V4cG9ydHMuZ2VvQ29uaWNDb25mb3JtYWxSYXcgPSBjb25pY0Nv
bmZvcm1hbFJhdzsKK2V4cG9ydHMuZ2VvQ29uaWNFcXVhbEFyZWEgPSBjb25pY0VxdWFsQXJlYTsK
K2V4cG9ydHMuZ2VvQ29uaWNFcXVhbEFyZWFSYXcgPSBjb25pY0VxdWFsQXJlYVJhdzsKK2V4cG9y
dHMuZ2VvQ29uaWNFcXVpZGlzdGFudCA9IGNvbmljRXF1aWRpc3RhbnQ7CitleHBvcnRzLmdlb0Nv
bmljRXF1aWRpc3RhbnRSYXcgPSBjb25pY0VxdWlkaXN0YW50UmF3OworZXhwb3J0cy5nZW9Db250
YWlucyA9IGNvbnRhaW5zJDE7CitleHBvcnRzLmdlb0Rpc3RhbmNlID0gZGlzdGFuY2U7CitleHBv
cnRzLmdlb0VxdWFsRWFydGggPSBlcXVhbEVhcnRoOworZXhwb3J0cy5nZW9FcXVhbEVhcnRoUmF3
ID0gZXF1YWxFYXJ0aFJhdzsKK2V4cG9ydHMuZ2VvRXF1aXJlY3Rhbmd1bGFyID0gZXF1aXJlY3Rh
bmd1bGFyOworZXhwb3J0cy5nZW9FcXVpcmVjdGFuZ3VsYXJSYXcgPSBlcXVpcmVjdGFuZ3VsYXJS
YXc7CitleHBvcnRzLmdlb0dub21vbmljID0gZ25vbW9uaWM7CitleHBvcnRzLmdlb0dub21vbmlj
UmF3ID0gZ25vbW9uaWNSYXc7CitleHBvcnRzLmdlb0dyYXRpY3VsZSA9IGdyYXRpY3VsZTsKK2V4
cG9ydHMuZ2VvR3JhdGljdWxlMTAgPSBncmF0aWN1bGUxMDsKK2V4cG9ydHMuZ2VvSWRlbnRpdHkg
PSBpZGVudGl0eSQ1OworZXhwb3J0cy5nZW9JbnRlcnBvbGF0ZSA9IGludGVycG9sYXRlJDE7Citl
eHBvcnRzLmdlb0xlbmd0aCA9IGxlbmd0aCQxOworZXhwb3J0cy5nZW9NZXJjYXRvciA9IG1lcmNh
dG9yOworZXhwb3J0cy5nZW9NZXJjYXRvclJhdyA9IG1lcmNhdG9yUmF3OworZXhwb3J0cy5nZW9O
YXR1cmFsRWFydGgxID0gbmF0dXJhbEVhcnRoMTsKK2V4cG9ydHMuZ2VvTmF0dXJhbEVhcnRoMVJh
dyA9IG5hdHVyYWxFYXJ0aDFSYXc7CitleHBvcnRzLmdlb09ydGhvZ3JhcGhpYyA9IG9ydGhvZ3Jh
cGhpYzsKK2V4cG9ydHMuZ2VvT3J0aG9ncmFwaGljUmF3ID0gb3J0aG9ncmFwaGljUmF3OworZXhw
b3J0cy5nZW9QYXRoID0gaW5kZXgkMTsKK2V4cG9ydHMuZ2VvUHJvamVjdGlvbiA9IHByb2plY3Rp
b247CitleHBvcnRzLmdlb1Byb2plY3Rpb25NdXRhdG9yID0gcHJvamVjdGlvbk11dGF0b3I7Citl
eHBvcnRzLmdlb1JvdGF0aW9uID0gcm90YXRpb247CitleHBvcnRzLmdlb1N0ZXJlb2dyYXBoaWMg
PSBzdGVyZW9ncmFwaGljOworZXhwb3J0cy5nZW9TdGVyZW9ncmFwaGljUmF3ID0gc3RlcmVvZ3Jh
cGhpY1JhdzsKK2V4cG9ydHMuZ2VvU3RyZWFtID0gZ2VvU3RyZWFtOworZXhwb3J0cy5nZW9UcmFu
c2Zvcm0gPSB0cmFuc2Zvcm07CitleHBvcnRzLmdlb1RyYW5zdmVyc2VNZXJjYXRvciA9IHRyYW5z
dmVyc2VNZXJjYXRvcjsKK2V4cG9ydHMuZ2VvVHJhbnN2ZXJzZU1lcmNhdG9yUmF3ID0gdHJhbnN2
ZXJzZU1lcmNhdG9yUmF3OworZXhwb3J0cy5ncmF5ID0gZ3JheTsKK2V4cG9ydHMuaGNsID0gaGNs
OworZXhwb3J0cy5oaWVyYXJjaHkgPSBoaWVyYXJjaHk7CitleHBvcnRzLmhpc3RvZ3JhbSA9IGhp
c3RvZ3JhbTsKK2V4cG9ydHMuaHNsID0gaHNsOworZXhwb3J0cy5odG1sID0gaHRtbDsKK2V4cG9y
dHMuaW1hZ2UgPSBpbWFnZTsKK2V4cG9ydHMuaW50ZXJwb2xhdGUgPSBpbnRlcnBvbGF0ZVZhbHVl
OworZXhwb3J0cy5pbnRlcnBvbGF0ZUFycmF5ID0gYXJyYXkkMTsKK2V4cG9ydHMuaW50ZXJwb2xh
dGVCYXNpcyA9IGJhc2lzJDE7CitleHBvcnRzLmludGVycG9sYXRlQmFzaXNDbG9zZWQgPSBiYXNp
c0Nsb3NlZDsKK2V4cG9ydHMuaW50ZXJwb2xhdGVCbHVlcyA9IEJsdWVzOworZXhwb3J0cy5pbnRl
cnBvbGF0ZUJyQkcgPSBCckJHOworZXhwb3J0cy5pbnRlcnBvbGF0ZUJ1R24gPSBCdUduOworZXhw
b3J0cy5pbnRlcnBvbGF0ZUJ1UHUgPSBCdVB1OworZXhwb3J0cy5pbnRlcnBvbGF0ZUNpdmlkaXMg
PSBjaXZpZGlzOworZXhwb3J0cy5pbnRlcnBvbGF0ZUNvb2wgPSBjb29sOworZXhwb3J0cy5pbnRl
cnBvbGF0ZUN1YmVoZWxpeCA9IGN1YmVoZWxpeCQyOworZXhwb3J0cy5pbnRlcnBvbGF0ZUN1YmVo
ZWxpeERlZmF1bHQgPSBjdWJlaGVsaXgkMzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVDdWJlaGVsaXhM
b25nID0gY3ViZWhlbGl4TG9uZzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVEYXRlID0gZGF0ZTsKK2V4
cG9ydHMuaW50ZXJwb2xhdGVEaXNjcmV0ZSA9IGRpc2NyZXRlOworZXhwb3J0cy5pbnRlcnBvbGF0
ZUduQnUgPSBHbkJ1OworZXhwb3J0cy5pbnRlcnBvbGF0ZUdyZWVucyA9IEdyZWVuczsKK2V4cG9y
dHMuaW50ZXJwb2xhdGVHcmV5cyA9IEdyZXlzOworZXhwb3J0cy5pbnRlcnBvbGF0ZUhjbCA9IGhj
bCQyOworZXhwb3J0cy5pbnRlcnBvbGF0ZUhjbExvbmcgPSBoY2xMb25nOworZXhwb3J0cy5pbnRl
cnBvbGF0ZUhzbCA9IGhzbCQyOworZXhwb3J0cy5pbnRlcnBvbGF0ZUhzbExvbmcgPSBoc2xMb25n
OworZXhwb3J0cy5pbnRlcnBvbGF0ZUh1ZSA9IGh1ZSQxOworZXhwb3J0cy5pbnRlcnBvbGF0ZUlu
ZmVybm8gPSBpbmZlcm5vOworZXhwb3J0cy5pbnRlcnBvbGF0ZUxhYiA9IGxhYiQxOworZXhwb3J0
cy5pbnRlcnBvbGF0ZU1hZ21hID0gbWFnbWE7CitleHBvcnRzLmludGVycG9sYXRlTnVtYmVyID0g
aW50ZXJwb2xhdGVOdW1iZXI7CitleHBvcnRzLmludGVycG9sYXRlT2JqZWN0ID0gb2JqZWN0Owor
ZXhwb3J0cy5pbnRlcnBvbGF0ZU9yUmQgPSBPclJkOworZXhwb3J0cy5pbnRlcnBvbGF0ZU9yYW5n
ZXMgPSBPcmFuZ2VzOworZXhwb3J0cy5pbnRlcnBvbGF0ZVBSR24gPSBQUkduOworZXhwb3J0cy5p
bnRlcnBvbGF0ZVBpWUcgPSBQaVlHOworZXhwb3J0cy5pbnRlcnBvbGF0ZVBsYXNtYSA9IHBsYXNt
YTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVQdUJ1ID0gUHVCdTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVQ
dUJ1R24gPSBQdUJ1R247CitleHBvcnRzLmludGVycG9sYXRlUHVPciA9IFB1T3I7CitleHBvcnRz
LmludGVycG9sYXRlUHVSZCA9IFB1UmQ7CitleHBvcnRzLmludGVycG9sYXRlUHVycGxlcyA9IFB1
cnBsZXM7CitleHBvcnRzLmludGVycG9sYXRlUmFpbmJvdyA9IHJhaW5ib3c7CitleHBvcnRzLmlu
dGVycG9sYXRlUmRCdSA9IFJkQnU7CitleHBvcnRzLmludGVycG9sYXRlUmRHeSA9IFJkR3k7Citl
eHBvcnRzLmludGVycG9sYXRlUmRQdSA9IFJkUHU7CitleHBvcnRzLmludGVycG9sYXRlUmRZbEJ1
ID0gUmRZbEJ1OworZXhwb3J0cy5pbnRlcnBvbGF0ZVJkWWxHbiA9IFJkWWxHbjsKK2V4cG9ydHMu
aW50ZXJwb2xhdGVSZWRzID0gUmVkczsKK2V4cG9ydHMuaW50ZXJwb2xhdGVSZ2IgPSBpbnRlcnBv
bGF0ZVJnYjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVSZ2JCYXNpcyA9IHJnYkJhc2lzOworZXhwb3J0
cy5pbnRlcnBvbGF0ZVJnYkJhc2lzQ2xvc2VkID0gcmdiQmFzaXNDbG9zZWQ7CitleHBvcnRzLmlu
dGVycG9sYXRlUm91bmQgPSBpbnRlcnBvbGF0ZVJvdW5kOworZXhwb3J0cy5pbnRlcnBvbGF0ZVNp
bmVib3cgPSBzaW5lYm93OworZXhwb3J0cy5pbnRlcnBvbGF0ZVNwZWN0cmFsID0gU3BlY3RyYWw7
CitleHBvcnRzLmludGVycG9sYXRlU3RyaW5nID0gaW50ZXJwb2xhdGVTdHJpbmc7CitleHBvcnRz
LmludGVycG9sYXRlVHJhbnNmb3JtQ3NzID0gaW50ZXJwb2xhdGVUcmFuc2Zvcm1Dc3M7CitleHBv
cnRzLmludGVycG9sYXRlVHJhbnNmb3JtU3ZnID0gaW50ZXJwb2xhdGVUcmFuc2Zvcm1Tdmc7Citl
eHBvcnRzLmludGVycG9sYXRlVHVyYm8gPSB0dXJibzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVWaXJp
ZGlzID0gdmlyaWRpczsKK2V4cG9ydHMuaW50ZXJwb2xhdGVXYXJtID0gd2FybTsKK2V4cG9ydHMu
aW50ZXJwb2xhdGVZbEduID0gWWxHbjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVZbEduQnUgPSBZbEdu
QnU7CitleHBvcnRzLmludGVycG9sYXRlWWxPckJyID0gWWxPckJyOworZXhwb3J0cy5pbnRlcnBv
bGF0ZVlsT3JSZCA9IFlsT3JSZDsKK2V4cG9ydHMuaW50ZXJwb2xhdGVab29tID0gaW50ZXJwb2xh
dGVab29tOworZXhwb3J0cy5pbnRlcnJ1cHQgPSBpbnRlcnJ1cHQ7CitleHBvcnRzLmludGVydmFs
ID0gaW50ZXJ2YWwkMTsKK2V4cG9ydHMuaXNvRm9ybWF0ID0gZm9ybWF0SXNvOworZXhwb3J0cy5p
c29QYXJzZSA9IHBhcnNlSXNvOworZXhwb3J0cy5qc29uID0ganNvbjsKK2V4cG9ydHMua2V5cyA9
IGtleXM7CitleHBvcnRzLmxhYiA9IGxhYjsKK2V4cG9ydHMubGNoID0gbGNoOworZXhwb3J0cy5s
aW5lID0gbGluZTsKK2V4cG9ydHMubGluZVJhZGlhbCA9IGxpbmVSYWRpYWwkMTsKK2V4cG9ydHMu
bGlua0hvcml6b250YWwgPSBsaW5rSG9yaXpvbnRhbDsKK2V4cG9ydHMubGlua1JhZGlhbCA9IGxp
bmtSYWRpYWw7CitleHBvcnRzLmxpbmtWZXJ0aWNhbCA9IGxpbmtWZXJ0aWNhbDsKK2V4cG9ydHMu
bG9jYWwgPSBsb2NhbDsKK2V4cG9ydHMubWFwID0gbWFwJDE7CitleHBvcnRzLm1hdGNoZXIgPSBt
YXRjaGVyOworZXhwb3J0cy5tYXggPSBtYXg7CitleHBvcnRzLm1lYW4gPSBtZWFuOworZXhwb3J0
cy5tZWRpYW4gPSBtZWRpYW47CitleHBvcnRzLm1lcmdlID0gbWVyZ2U7CitleHBvcnRzLm1pbiA9
IG1pbjsKK2V4cG9ydHMubW91c2UgPSBtb3VzZTsKK2V4cG9ydHMubmFtZXNwYWNlID0gbmFtZXNw
YWNlOworZXhwb3J0cy5uYW1lc3BhY2VzID0gbmFtZXNwYWNlczsKK2V4cG9ydHMubmVzdCA9IG5l
c3Q7CitleHBvcnRzLm5vdyA9IG5vdzsKK2V4cG9ydHMucGFjayA9IGluZGV4JDI7CitleHBvcnRz
LnBhY2tFbmNsb3NlID0gZW5jbG9zZTsKK2V4cG9ydHMucGFja1NpYmxpbmdzID0gc2libGluZ3M7
CitleHBvcnRzLnBhaXJzID0gcGFpcnM7CitleHBvcnRzLnBhcnRpdGlvbiA9IHBhcnRpdGlvbjsK
K2V4cG9ydHMucGF0aCA9IHBhdGg7CitleHBvcnRzLnBlcm11dGUgPSBwZXJtdXRlOworZXhwb3J0
cy5waWUgPSBwaWU7CitleHBvcnRzLnBpZWNld2lzZSA9IHBpZWNld2lzZTsKK2V4cG9ydHMucG9p
bnRSYWRpYWwgPSBwb2ludFJhZGlhbDsKK2V4cG9ydHMucG9seWdvbkFyZWEgPSBhcmVhJDI7Citl
eHBvcnRzLnBvbHlnb25DZW50cm9pZCA9IGNlbnRyb2lkJDE7CitleHBvcnRzLnBvbHlnb25Db250
YWlucyA9IGNvbnRhaW5zJDI7CitleHBvcnRzLnBvbHlnb25IdWxsID0gaHVsbDsKK2V4cG9ydHMu
cG9seWdvbkxlbmd0aCA9IGxlbmd0aCQyOworZXhwb3J0cy5wcmVjaXNpb25GaXhlZCA9IHByZWNp
c2lvbkZpeGVkOworZXhwb3J0cy5wcmVjaXNpb25QcmVmaXggPSBwcmVjaXNpb25QcmVmaXg7Citl
eHBvcnRzLnByZWNpc2lvblJvdW5kID0gcHJlY2lzaW9uUm91bmQ7CitleHBvcnRzLnF1YWR0cmVl
ID0gcXVhZHRyZWU7CitleHBvcnRzLnF1YW50aWxlID0gdGhyZXNob2xkOworZXhwb3J0cy5xdWFu
dGl6ZSA9IHF1YW50aXplOworZXhwb3J0cy5yYWRpYWxBcmVhID0gYXJlYVJhZGlhbDsKK2V4cG9y
dHMucmFkaWFsTGluZSA9IGxpbmVSYWRpYWwkMTsKK2V4cG9ydHMucmFuZG9tQmF0ZXMgPSBiYXRl
czsKK2V4cG9ydHMucmFuZG9tRXhwb25lbnRpYWwgPSBleHBvbmVudGlhbCQxOworZXhwb3J0cy5y
YW5kb21JcndpbkhhbGwgPSBpcndpbkhhbGw7CitleHBvcnRzLnJhbmRvbUxvZ05vcm1hbCA9IGxv
Z05vcm1hbDsKK2V4cG9ydHMucmFuZG9tTm9ybWFsID0gbm9ybWFsOworZXhwb3J0cy5yYW5kb21V
bmlmb3JtID0gdW5pZm9ybTsKK2V4cG9ydHMucmFuZ2UgPSBzZXF1ZW5jZTsKK2V4cG9ydHMucmdi
ID0gcmdiOworZXhwb3J0cy5yaWJib24gPSByaWJib247CitleHBvcnRzLnNjYWxlQmFuZCA9IGJh
bmQ7CitleHBvcnRzLnNjYWxlRGl2ZXJnaW5nID0gZGl2ZXJnaW5nOworZXhwb3J0cy5zY2FsZURp
dmVyZ2luZ0xvZyA9IGRpdmVyZ2luZ0xvZzsKK2V4cG9ydHMuc2NhbGVEaXZlcmdpbmdQb3cgPSBk
aXZlcmdpbmdQb3c7CitleHBvcnRzLnNjYWxlRGl2ZXJnaW5nU3FydCA9IGRpdmVyZ2luZ1NxcnQ7
CitleHBvcnRzLnNjYWxlRGl2ZXJnaW5nU3ltbG9nID0gZGl2ZXJnaW5nU3ltbG9nOworZXhwb3J0
cy5zY2FsZUlkZW50aXR5ID0gaWRlbnRpdHkkNzsKK2V4cG9ydHMuc2NhbGVJbXBsaWNpdCA9IGlt
cGxpY2l0OworZXhwb3J0cy5zY2FsZUxpbmVhciA9IGxpbmVhciQyOworZXhwb3J0cy5zY2FsZUxv
ZyA9IGxvZyQxOworZXhwb3J0cy5zY2FsZU9yZGluYWwgPSBvcmRpbmFsOworZXhwb3J0cy5zY2Fs
ZVBvaW50ID0gcG9pbnQkMTsKK2V4cG9ydHMuc2NhbGVQb3cgPSBwb3ckMTsKK2V4cG9ydHMuc2Nh
bGVRdWFudGlsZSA9IHF1YW50aWxlOworZXhwb3J0cy5zY2FsZVF1YW50aXplID0gcXVhbnRpemUk
MTsKK2V4cG9ydHMuc2NhbGVTZXF1ZW50aWFsID0gc2VxdWVudGlhbDsKK2V4cG9ydHMuc2NhbGVT
ZXF1ZW50aWFsTG9nID0gc2VxdWVudGlhbExvZzsKK2V4cG9ydHMuc2NhbGVTZXF1ZW50aWFsUG93
ID0gc2VxdWVudGlhbFBvdzsKK2V4cG9ydHMuc2NhbGVTZXF1ZW50aWFsUXVhbnRpbGUgPSBzZXF1
ZW50aWFsUXVhbnRpbGU7CitleHBvcnRzLnNjYWxlU2VxdWVudGlhbFNxcnQgPSBzZXF1ZW50aWFs
U3FydDsKK2V4cG9ydHMuc2NhbGVTZXF1ZW50aWFsU3ltbG9nID0gc2VxdWVudGlhbFN5bWxvZzsK
K2V4cG9ydHMuc2NhbGVTcXJ0ID0gc3FydCQxOworZXhwb3J0cy5zY2FsZVN5bWxvZyA9IHN5bWxv
ZzsKK2V4cG9ydHMuc2NhbGVUaHJlc2hvbGQgPSB0aHJlc2hvbGQkMTsKK2V4cG9ydHMuc2NhbGVU
aW1lID0gdGltZTsKK2V4cG9ydHMuc2NhbGVVdGMgPSB1dGNUaW1lOworZXhwb3J0cy5zY2FuID0g
c2NhbjsKK2V4cG9ydHMuc2NoZW1lQWNjZW50ID0gQWNjZW50OworZXhwb3J0cy5zY2hlbWVCbHVl
cyA9IHNjaGVtZSRsOworZXhwb3J0cy5zY2hlbWVCckJHID0gc2NoZW1lOworZXhwb3J0cy5zY2hl
bWVCdUduID0gc2NoZW1lJDk7CitleHBvcnRzLnNjaGVtZUJ1UHUgPSBzY2hlbWUkYTsKK2V4cG9y
dHMuc2NoZW1lQ2F0ZWdvcnkxMCA9IGNhdGVnb3J5MTA7CitleHBvcnRzLnNjaGVtZURhcmsyID0g
RGFyazI7CitleHBvcnRzLnNjaGVtZUduQnUgPSBzY2hlbWUkYjsKK2V4cG9ydHMuc2NoZW1lR3Jl
ZW5zID0gc2NoZW1lJG07CitleHBvcnRzLnNjaGVtZUdyZXlzID0gc2NoZW1lJG47CitleHBvcnRz
LnNjaGVtZU9yUmQgPSBzY2hlbWUkYzsKK2V4cG9ydHMuc2NoZW1lT3JhbmdlcyA9IHNjaGVtZSRx
OworZXhwb3J0cy5zY2hlbWVQUkduID0gc2NoZW1lJDE7CitleHBvcnRzLnNjaGVtZVBhaXJlZCA9
IFBhaXJlZDsKK2V4cG9ydHMuc2NoZW1lUGFzdGVsMSA9IFBhc3RlbDE7CitleHBvcnRzLnNjaGVt
ZVBhc3RlbDIgPSBQYXN0ZWwyOworZXhwb3J0cy5zY2hlbWVQaVlHID0gc2NoZW1lJDI7CitleHBv
cnRzLnNjaGVtZVB1QnUgPSBzY2hlbWUkZTsKK2V4cG9ydHMuc2NoZW1lUHVCdUduID0gc2NoZW1l
JGQ7CitleHBvcnRzLnNjaGVtZVB1T3IgPSBzY2hlbWUkMzsKK2V4cG9ydHMuc2NoZW1lUHVSZCA9
IHNjaGVtZSRmOworZXhwb3J0cy5zY2hlbWVQdXJwbGVzID0gc2NoZW1lJG87CitleHBvcnRzLnNj
aGVtZVJkQnUgPSBzY2hlbWUkNDsKK2V4cG9ydHMuc2NoZW1lUmRHeSA9IHNjaGVtZSQ1OworZXhw
b3J0cy5zY2hlbWVSZFB1ID0gc2NoZW1lJGc7CitleHBvcnRzLnNjaGVtZVJkWWxCdSA9IHNjaGVt
ZSQ2OworZXhwb3J0cy5zY2hlbWVSZFlsR24gPSBzY2hlbWUkNzsKK2V4cG9ydHMuc2NoZW1lUmVk
cyA9IHNjaGVtZSRwOworZXhwb3J0cy5zY2hlbWVTZXQxID0gU2V0MTsKK2V4cG9ydHMuc2NoZW1l
U2V0MiA9IFNldDI7CitleHBvcnRzLnNjaGVtZVNldDMgPSBTZXQzOworZXhwb3J0cy5zY2hlbWVT
cGVjdHJhbCA9IHNjaGVtZSQ4OworZXhwb3J0cy5zY2hlbWVUYWJsZWF1MTAgPSBUYWJsZWF1MTA7
CitleHBvcnRzLnNjaGVtZVlsR24gPSBzY2hlbWUkaTsKK2V4cG9ydHMuc2NoZW1lWWxHbkJ1ID0g
c2NoZW1lJGg7CitleHBvcnRzLnNjaGVtZVlsT3JCciA9IHNjaGVtZSRqOworZXhwb3J0cy5zY2hl
bWVZbE9yUmQgPSBzY2hlbWUkazsKK2V4cG9ydHMuc2VsZWN0ID0gc2VsZWN0OworZXhwb3J0cy5z
ZWxlY3RBbGwgPSBzZWxlY3RBbGw7CitleHBvcnRzLnNlbGVjdGlvbiA9IHNlbGVjdGlvbjsKK2V4
cG9ydHMuc2VsZWN0b3IgPSBzZWxlY3RvcjsKK2V4cG9ydHMuc2VsZWN0b3JBbGwgPSBzZWxlY3Rv
ckFsbDsKK2V4cG9ydHMuc2V0ID0gc2V0JDI7CitleHBvcnRzLnNodWZmbGUgPSBzaHVmZmxlOwor
ZXhwb3J0cy5zdGFjayA9IHN0YWNrOworZXhwb3J0cy5zdGFja09mZnNldERpdmVyZ2luZyA9IGRp
dmVyZ2luZyQxOworZXhwb3J0cy5zdGFja09mZnNldEV4cGFuZCA9IGV4cGFuZDsKK2V4cG9ydHMu
c3RhY2tPZmZzZXROb25lID0gbm9uZSQxOworZXhwb3J0cy5zdGFja09mZnNldFNpbGhvdWV0dGUg
PSBzaWxob3VldHRlOworZXhwb3J0cy5zdGFja09mZnNldFdpZ2dsZSA9IHdpZ2dsZTsKK2V4cG9y
dHMuc3RhY2tPcmRlckFwcGVhcmFuY2UgPSBhcHBlYXJhbmNlOworZXhwb3J0cy5zdGFja09yZGVy
QXNjZW5kaW5nID0gYXNjZW5kaW5nJDM7CitleHBvcnRzLnN0YWNrT3JkZXJEZXNjZW5kaW5nID0g
ZGVzY2VuZGluZyQyOworZXhwb3J0cy5zdGFja09yZGVySW5zaWRlT3V0ID0gaW5zaWRlT3V0Owor
ZXhwb3J0cy5zdGFja09yZGVyTm9uZSA9IG5vbmUkMjsKK2V4cG9ydHMuc3RhY2tPcmRlclJldmVy
c2UgPSByZXZlcnNlOworZXhwb3J0cy5zdHJhdGlmeSA9IHN0cmF0aWZ5OworZXhwb3J0cy5zdHls
ZSA9IHN0eWxlVmFsdWU7CitleHBvcnRzLnN1bSA9IHN1bTsKK2V4cG9ydHMuc3ZnID0gc3ZnOwor
ZXhwb3J0cy5zeW1ib2wgPSBzeW1ib2w7CitleHBvcnRzLnN5bWJvbENpcmNsZSA9IGNpcmNsZSQy
OworZXhwb3J0cy5zeW1ib2xDcm9zcyA9IGNyb3NzJDI7CitleHBvcnRzLnN5bWJvbERpYW1vbmQg
PSBkaWFtb25kOworZXhwb3J0cy5zeW1ib2xTcXVhcmUgPSBzcXVhcmU7CitleHBvcnRzLnN5bWJv
bFN0YXIgPSBzdGFyOworZXhwb3J0cy5zeW1ib2xUcmlhbmdsZSA9IHRyaWFuZ2xlOworZXhwb3J0
cy5zeW1ib2xXeWUgPSB3eWU7CitleHBvcnRzLnN5bWJvbHMgPSBzeW1ib2xzOworZXhwb3J0cy50
ZXh0ID0gdGV4dDsKK2V4cG9ydHMudGhyZXNob2xkRnJlZWRtYW5EaWFjb25pcyA9IGZyZWVkbWFu
RGlhY29uaXM7CitleHBvcnRzLnRocmVzaG9sZFNjb3R0ID0gc2NvdHQ7CitleHBvcnRzLnRocmVz
aG9sZFN0dXJnZXMgPSB0aHJlc2hvbGRTdHVyZ2VzOworZXhwb3J0cy50aWNrRm9ybWF0ID0gdGlj
a0Zvcm1hdDsKK2V4cG9ydHMudGlja0luY3JlbWVudCA9IHRpY2tJbmNyZW1lbnQ7CitleHBvcnRz
LnRpY2tTdGVwID0gdGlja1N0ZXA7CitleHBvcnRzLnRpY2tzID0gdGlja3M7CitleHBvcnRzLnRp
bWVEYXkgPSBkYXk7CitleHBvcnRzLnRpbWVEYXlzID0gZGF5czsKK2V4cG9ydHMudGltZUZvcm1h
dERlZmF1bHRMb2NhbGUgPSBkZWZhdWx0TG9jYWxlJDE7CitleHBvcnRzLnRpbWVGb3JtYXRMb2Nh
bGUgPSBmb3JtYXRMb2NhbGUkMTsKK2V4cG9ydHMudGltZUZyaWRheSA9IGZyaWRheTsKK2V4cG9y
dHMudGltZUZyaWRheXMgPSBmcmlkYXlzOworZXhwb3J0cy50aW1lSG91ciA9IGhvdXI7CitleHBv
cnRzLnRpbWVIb3VycyA9IGhvdXJzOworZXhwb3J0cy50aW1lSW50ZXJ2YWwgPSBuZXdJbnRlcnZh
bDsKK2V4cG9ydHMudGltZU1pbGxpc2Vjb25kID0gbWlsbGlzZWNvbmQ7CitleHBvcnRzLnRpbWVN
aWxsaXNlY29uZHMgPSBtaWxsaXNlY29uZHM7CitleHBvcnRzLnRpbWVNaW51dGUgPSBtaW51dGU7
CitleHBvcnRzLnRpbWVNaW51dGVzID0gbWludXRlczsKK2V4cG9ydHMudGltZU1vbmRheSA9IG1v
bmRheTsKK2V4cG9ydHMudGltZU1vbmRheXMgPSBtb25kYXlzOworZXhwb3J0cy50aW1lTW9udGgg
PSBtb250aDsKK2V4cG9ydHMudGltZU1vbnRocyA9IG1vbnRoczsKK2V4cG9ydHMudGltZVNhdHVy
ZGF5ID0gc2F0dXJkYXk7CitleHBvcnRzLnRpbWVTYXR1cmRheXMgPSBzYXR1cmRheXM7CitleHBv
cnRzLnRpbWVTZWNvbmQgPSBzZWNvbmQ7CitleHBvcnRzLnRpbWVTZWNvbmRzID0gc2Vjb25kczsK
K2V4cG9ydHMudGltZVN1bmRheSA9IHN1bmRheTsKK2V4cG9ydHMudGltZVN1bmRheXMgPSBzdW5k
YXlzOworZXhwb3J0cy50aW1lVGh1cnNkYXkgPSB0aHVyc2RheTsKK2V4cG9ydHMudGltZVRodXJz
ZGF5cyA9IHRodXJzZGF5czsKK2V4cG9ydHMudGltZVR1ZXNkYXkgPSB0dWVzZGF5OworZXhwb3J0
cy50aW1lVHVlc2RheXMgPSB0dWVzZGF5czsKK2V4cG9ydHMudGltZVdlZG5lc2RheSA9IHdlZG5l
c2RheTsKK2V4cG9ydHMudGltZVdlZG5lc2RheXMgPSB3ZWRuZXNkYXlzOworZXhwb3J0cy50aW1l
V2VlayA9IHN1bmRheTsKK2V4cG9ydHMudGltZVdlZWtzID0gc3VuZGF5czsKK2V4cG9ydHMudGlt
ZVllYXIgPSB5ZWFyOworZXhwb3J0cy50aW1lWWVhcnMgPSB5ZWFyczsKK2V4cG9ydHMudGltZW91
dCA9IHRpbWVvdXQkMTsKK2V4cG9ydHMudGltZXIgPSB0aW1lcjsKK2V4cG9ydHMudGltZXJGbHVz
aCA9IHRpbWVyRmx1c2g7CitleHBvcnRzLnRvdWNoID0gdG91Y2g7CitleHBvcnRzLnRvdWNoZXMg
PSB0b3VjaGVzOworZXhwb3J0cy50cmFuc2l0aW9uID0gdHJhbnNpdGlvbjsKK2V4cG9ydHMudHJh
bnNwb3NlID0gdHJhbnNwb3NlOworZXhwb3J0cy50cmVlID0gdHJlZTsKK2V4cG9ydHMudHJlZW1h
cCA9IGluZGV4JDM7CitleHBvcnRzLnRyZWVtYXBCaW5hcnkgPSBiaW5hcnk7CitleHBvcnRzLnRy
ZWVtYXBEaWNlID0gdHJlZW1hcERpY2U7CitleHBvcnRzLnRyZWVtYXBSZXNxdWFyaWZ5ID0gcmVz
cXVhcmlmeTsKK2V4cG9ydHMudHJlZW1hcFNsaWNlID0gdHJlZW1hcFNsaWNlOworZXhwb3J0cy50
cmVlbWFwU2xpY2VEaWNlID0gc2xpY2VEaWNlOworZXhwb3J0cy50cmVlbWFwU3F1YXJpZnkgPSBz
cXVhcmlmeTsKK2V4cG9ydHMudHN2ID0gdHN2JDE7CitleHBvcnRzLnRzdkZvcm1hdCA9IHRzdkZv
cm1hdDsKK2V4cG9ydHMudHN2Rm9ybWF0Qm9keSA9IHRzdkZvcm1hdEJvZHk7CitleHBvcnRzLnRz
dkZvcm1hdFJvdyA9IHRzdkZvcm1hdFJvdzsKK2V4cG9ydHMudHN2Rm9ybWF0Um93cyA9IHRzdkZv
cm1hdFJvd3M7CitleHBvcnRzLnRzdkZvcm1hdFZhbHVlID0gdHN2Rm9ybWF0VmFsdWU7CitleHBv
cnRzLnRzdlBhcnNlID0gdHN2UGFyc2U7CitleHBvcnRzLnRzdlBhcnNlUm93cyA9IHRzdlBhcnNl
Um93czsKK2V4cG9ydHMudXRjRGF5ID0gdXRjRGF5OworZXhwb3J0cy51dGNEYXlzID0gdXRjRGF5
czsKK2V4cG9ydHMudXRjRnJpZGF5ID0gdXRjRnJpZGF5OworZXhwb3J0cy51dGNGcmlkYXlzID0g
dXRjRnJpZGF5czsKK2V4cG9ydHMudXRjSG91ciA9IHV0Y0hvdXI7CitleHBvcnRzLnV0Y0hvdXJz
ID0gdXRjSG91cnM7CitleHBvcnRzLnV0Y01pbGxpc2Vjb25kID0gbWlsbGlzZWNvbmQ7CitleHBv
cnRzLnV0Y01pbGxpc2Vjb25kcyA9IG1pbGxpc2Vjb25kczsKK2V4cG9ydHMudXRjTWludXRlID0g
dXRjTWludXRlOworZXhwb3J0cy51dGNNaW51dGVzID0gdXRjTWludXRlczsKK2V4cG9ydHMudXRj
TW9uZGF5ID0gdXRjTW9uZGF5OworZXhwb3J0cy51dGNNb25kYXlzID0gdXRjTW9uZGF5czsKK2V4
cG9ydHMudXRjTW9udGggPSB1dGNNb250aDsKK2V4cG9ydHMudXRjTW9udGhzID0gdXRjTW9udGhz
OworZXhwb3J0cy51dGNTYXR1cmRheSA9IHV0Y1NhdHVyZGF5OworZXhwb3J0cy51dGNTYXR1cmRh
eXMgPSB1dGNTYXR1cmRheXM7CitleHBvcnRzLnV0Y1NlY29uZCA9IHNlY29uZDsKK2V4cG9ydHMu
dXRjU2Vjb25kcyA9IHNlY29uZHM7CitleHBvcnRzLnV0Y1N1bmRheSA9IHV0Y1N1bmRheTsKK2V4
cG9ydHMudXRjU3VuZGF5cyA9IHV0Y1N1bmRheXM7CitleHBvcnRzLnV0Y1RodXJzZGF5ID0gdXRj
VGh1cnNkYXk7CitleHBvcnRzLnV0Y1RodXJzZGF5cyA9IHV0Y1RodXJzZGF5czsKK2V4cG9ydHMu
dXRjVHVlc2RheSA9IHV0Y1R1ZXNkYXk7CitleHBvcnRzLnV0Y1R1ZXNkYXlzID0gdXRjVHVlc2Rh
eXM7CitleHBvcnRzLnV0Y1dlZG5lc2RheSA9IHV0Y1dlZG5lc2RheTsKK2V4cG9ydHMudXRjV2Vk
bmVzZGF5cyA9IHV0Y1dlZG5lc2RheXM7CitleHBvcnRzLnV0Y1dlZWsgPSB1dGNTdW5kYXk7Citl
eHBvcnRzLnV0Y1dlZWtzID0gdXRjU3VuZGF5czsKK2V4cG9ydHMudXRjWWVhciA9IHV0Y1llYXI7
CitleHBvcnRzLnV0Y1llYXJzID0gdXRjWWVhcnM7CitleHBvcnRzLnZhbHVlcyA9IHZhbHVlczsK
K2V4cG9ydHMudmFyaWFuY2UgPSB2YXJpYW5jZTsKK2V4cG9ydHMudmVyc2lvbiA9IHZlcnNpb247
CitleHBvcnRzLnZvcm9ub2kgPSB2b3Jvbm9pOworZXhwb3J0cy53aW5kb3cgPSBkZWZhdWx0Vmll
dzsKK2V4cG9ydHMueG1sID0geG1sOworZXhwb3J0cy56aXAgPSB6aXA7CitleHBvcnRzLnpvb20g
PSB6b29tOworZXhwb3J0cy56b29tSWRlbnRpdHkgPSBpZGVudGl0eSQ5OworZXhwb3J0cy56b29t
VHJhbnNmb3JtID0gdHJhbnNmb3JtJDE7CisKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRz
LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7CisKK30pKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdlcy9HU3RyZWFtZXIuc3ZnIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2VzL0dTdHJlYW1lci5zdmcK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDI4ODljOWEwMDU1ZjYzMjk3NjY1MmIyZjQyMDcyYjgyMjllZWVlMgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdl
cy9HU3RyZWFtZXIuc3ZnCkBAIC0wLDAgKzEsNzMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5j
b2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgorPCEtLSBHZW5lcmF0b3I6IEFkb2JlIEls
bHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAg
QnVpbGQgNTE0NDgpICAtLT4KKworPHN2ZworICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9k
Yy9lbGVtZW50cy8xLjEvIgorICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3Jn
L25zIyIKKyAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3lu
dGF4LW5zIyIKKyAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCisgICB4
bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCisgICB4bWxuczpzb2RpcG9kaT0iaHR0
cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCisgICB4bWxu
czppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIK
KyAgIHZlcnNpb249IjEuMCIKKyAgIGlkPSJMYXllcl8xIgorICAgd2lkdGg9IjE1Ny4yNzk4MiIK
KyAgIGhlaWdodD0iNzQuODY5Njc1IgorICAgdmlld0JveD0iMCAwIDgzLjE1NjUwOSAzMy43NzUz
MjEiCisgICBvdmVyZmxvdz0idmlzaWJsZSIKKyAgIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAw
IDI4MC4yMiA2OS4zODciCisgICB4bWw6c3BhY2U9InByZXNlcnZlIgorICAgc29kaXBvZGk6dmVy
c2lvbj0iMC4zMiIKKyAgIGlua3NjYXBlOnZlcnNpb249IjAuOTIuNCAoNWRhNjg5YzMxMywgMjAx
OS0wMS0xNCkiCisgICBzb2RpcG9kaTpkb2NuYW1lPSJHU3RyZWFtZXIuc3ZnIgorICAgaW5rc2Nh
cGU6b3V0cHV0X2V4dGVuc2lvbj0ib3JnLmlua3NjYXBlLm91dHB1dC5zdmcuaW5rc2NhcGUiCisg
ICBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZSI+PG1ldGFkYXRhCisgICBpZD0ibWV0YWRhdGEzMCI+
PHJkZjpSREY+PGNjOldvcmsKKyAgICAgICByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5pbWFnZS9z
dmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUKKyAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDov
L3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PGRjOnRpdGxlPjwvZGM6dGl0bGU+
PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzCisgICBpZD0iZGVmczI4Ij48aW5r
c2NhcGU6cGVyc3BlY3RpdmUKKyAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIK
KyAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDM0LjY5MzUgOiAxIgorICAgICBpbmtzY2FwZTp2cF95
PSIwIDogOTk5Ljk5OTk5IDogMCIKKyAgICAgaW5rc2NhcGU6dnBfej0iMjgwLjIyIDogMzQuNjkz
NSA6IDEiCisgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIxNDAuMTEgOiAyMy4xMjkgOiAx
IgorICAgICBpZD0icGVyc3BlY3RpdmUzMiIgLz48L2RlZnM+PHNvZGlwb2RpOm5hbWVkdmlldwor
ICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iOTY4IgorICAgaW5rc2NhcGU6d2luZG93LXdpZHRo
PSIxMjgwIgorICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKKyAgIGlua3NjYXBlOnBhZ2VvcGFj
aXR5PSIwLjAiCisgICBndWlkZXRvbGVyYW5jZT0iMTAuMCIKKyAgIGdyaWR0b2xlcmFuY2U9IjEw
LjAiCisgICBvYmplY3R0b2xlcmFuY2U9IjEwLjAiCisgICBib3JkZXJvcGFjaXR5PSIxLjAiCisg
ICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKKyAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKKyAgIGlkPSJi
YXNlIgorICAgc2hvd2dyaWQ9ImZhbHNlIgorICAgaW5rc2NhcGU6em9vbT0iMS4wNTAzMzgiCisg
ICBpbmtzY2FwZTpjeD0iMTI0LjY2MTczIgorICAgaW5rc2NhcGU6Y3k9IjguODM2Njc4NiIKKyAg
IGlua3NjYXBlOndpbmRvdy14PSI1MjIiCisgICBpbmtzY2FwZTp3aW5kb3cteT0iNjAiCisgICBp
bmtzY2FwZTpjdXJyZW50LWxheWVyPSJMYXllcl8xIgorICAgZml0LW1hcmdpbi10b3A9IjAiCisg
ICBmaXQtbWFyZ2luLWxlZnQ9IjAiCisgICBmaXQtbWFyZ2luLXJpZ2h0PSIwIgorICAgZml0LW1h
cmdpbi1ib3R0b209IjAiCisgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIiAvPgorPGcK
KyAgIGlkPSJnMzczOSIKKyAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03LjkzMDc1NiwtNy45MzEw
MjkzKSI+PHBhdGgKKyAgICAgaWQ9InBhdGgyMSIKKyAgICAgZD0ibSA1Mi40MDM3ODUsNi44Njgx
NDM3IGMgLTUuMTAyODQzLDAgLTEyLjU2ODg5OSwtNC4xNTc1NTc2IC0xOS44NDUzMzMsLTQuMTU3
NTU3NiAtNy4yNzY0MzMsMCAtMTEuNjIyNjcxLDQuMTU3NTU3NiAtMTIuMzc5Mjc2LDQuNzI0NTQw
MiAtMC43NTU2NjMsMC41NjY5ODI1IC0xLjIyOTI0OSwyLjczOTYyOTcgMS4wMzk2MjUsMi4wNzgz
MDcxIDIuMjY4ODc0LC0wLjY2MTMyMjQgNC4xNTc1NTgsLTAuNjYxMzIyNCA3Ljc0OTA3NiwtMC42
NjEzMjI0IDMuNTkxNTE5LDAgMTIuMTkwNTk3LDQuOTE0MTYzIDIwLjg4NDk1OCw0LjkxNDE2MyA4
LjY5NDM2MiwwIDE1Ljk2OTg1MiwtNi43MDg1MDcyIDE3LjU3NjQ2LC05LjA3MTcyMDcgMS42MDY2
MDcsLTIuMzYzMjEzNCAwLjA5NDM0LC0zLjExODg3NTcgLTEuMTMzOTY2LC0yLjU1MDk0OTggLTEu
MjI5MjQ4LDAuNTY2OTgyNiAtOS4xNjYwNiw0LjcyNDU0MDIgLTEzLjg5MTU0NCw0LjcyNDU0MDIg
eiIKKyAgICAgc3R5bGU9ImZpbGw6I2ZmMzEzMTtzdHJva2Utd2lkdGg6MC45NDMzOTg1OSIKKyAg
ICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz48cGF0aAorICAgICBpZD0icGF0
aDIzIgorICAgICBkPSJtIDc0LjU3MTc2NSwxOS44MTM0NTkgYyAtNS4zNjEzMzQsMCAtMTMuMjA0
NzUsLTQuMTU2NjE0IC0yMC44NDkxMDksLTQuMTU2NjE0IC03LjY0NDM1OSwwIC0xMi4yMTEzNTEs
NC4xNTY2MTQgLTEzLjAwNTY5Myw0LjcyNDU0IC0wLjc5NDM0MSwwLjU2NzkyNiAtMS4yOTE1MTIs
Mi43Mzk2MyAxLjA5MTUxMiwyLjA3ODMwNyAyLjM4MzAyNSwtMC42NjEzMjIgNC4zNjc5MzYsLTAu
NjYxMzIyIDguMTQwNTg3LC0wLjY2MTMyMiAzLjc3MjY1MSwwIDEyLjgwNzU3OSw0LjkxNDE2MyAy
MS45NDA2MjEsNC45MTQxNjMgOS4xMzMwNDIsMCAxNi43NzgzNDQsLTYuNzA4NTA3IDE4LjQ2NjA4
NCwtOS4wNzA3NzcgMS42ODc3NCwtMi4zNjMyMTQgMC4wOTkwNiwtMy4xMTk4MTkgLTEuMTkxNTEy
LC0yLjU1MTg5MyAtMS4yOTA1NjksMC41Njc5MjUgLTkuNjI4MzI2LDQuNzIzNTk2IC0xNC41OTI0
OSw0LjcyMzU5NiB6IgorICAgICBzdHlsZT0iZmlsbDojMzE5ODMxO3N0cm9rZS13aWR0aDowLjk0
MzM5ODU5IgorICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPjxwYXRoCisg
ICAgIGlkPSJwYXRoMjUiCisgICAgIGQ9Im0gNDMuNzE5ODAxLDM0LjA5ODQwMSBjIC01LjU1OTQ0
OCwwIC0xMy42OTM0MzEsLTQuNDkxNTIxIC0yMS42MjA4MDksLTQuNDkxNTIxIC03LjkyNzM3OSww
IC0xMi42NjQxODI5LDQuNDkxNTIxIC0xMy40ODc3Njk5LDUuMTAzNzg3IC0wLjgyMzU4NywwLjYx
MjI2NSAtMS4zMzg2ODI2LDIuOTU5NDQxIDEuMTMyMDc4MywyLjI0NDM0NSAyLjQ3MTcwNDYsLTAu
NzE0MTUzIDQuNTMwMTk5NiwtMC43MTQxNTMgOC40NDI0NzM2LC0wLjcxNDE1MyAzLjkxMjI3NCww
IDEzLjI4MjEwOSw1LjMwNzU2MSAyMi43NTQ3NzUsNS4zMDc1NjEgOS40NzE3MjIsMCAxNy4zOTkx
LC03LjI0NjI0NSAxOS4xNTAwNDgsLTkuNzk4MTM4IDEuNzUwOTQ4LC0yLjU1MTg5MyAwLjEwMjgz
LC0zLjM2NzkzMyAtMS4yMzU4NTIsLTIuNzU1NjY4IC0xLjMzODY4MywwLjYxMjI2NiAtOS45ODY4
MTgsNS4xMDM3ODcgLTE1LjEzNDk0NCw1LjEwMzc4NyB6IgorICAgICBzdHlsZT0iZmlsbDojMzIz
MmNjO3N0cm9rZS13aWR0aDowLjk0MzM5ODU5IgorICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3Vy
dmF0dXJlPSIwIiAvPjwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTWFpbi5odG1sCmluZGV4IGM4MjZkNTFmOTE3N2VkZTRkOWI5NTZiOTdjNTFkNDk4
MDYwZWU3MGMuLjFiNjgyNTMwYWNhZTZkMWJmMDhiODYyYWIxYjQ1YWY2NjY4MmZiZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbAorKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKQEAgLTEwOSw2
ICsxMDksNyBAQAogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvRm9udFJl
c291cmNlQ29udGVudFZpZXcuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
IlZpZXdzL0Zvcm1hdHRlZFZhbHVlLmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSJWaWV3cy9HYXVnZUNoYXJ0LmNzcyI+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSJWaWV3cy9HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5jc3MiPgogICAgIDxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iVmlld3MvR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5j
c3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvR29Ub0xpbmVEaWFs
b2cuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0dyYWRpZW50
RWRpdG9yLmNzcyI+CkBAIC0yODMsNiArMjg0LDggQEAKICAgICA8c2NyaXB0IHNyYz0iRXh0ZXJu
YWwvdGhyZWUuanMvdGhyZWUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJFeHRlcm5h
bC90aHJlZS5qcy9PcmJpdENvbnRyb2xzLmpzIj48L3NjcmlwdD4KIAorICAgIDxzY3JpcHQgc3Jj
PSJFeHRlcm5hbC9kMy5qcy9kMy5qcyI+PC9zY3JpcHQ+CisKICAgICA8c2NyaXB0IHNyYz0iQmFz
ZS9XZWJJbnNwZWN0b3IuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJCYXNlL1BsYXRm
b3JtLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQmFzZS9EZWJvdW5jZXIuanMiPjwv
c2NyaXB0PgpAQCAtMzM2LDYgKzMzOSw3IEBACiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0RP
TVN0b3JhZ2VPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29s
L0RhdGFiYXNlT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2Nv
bC9EZWJ1Z2dlck9ic2VydmVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iUHJvdG9j
b2wvR1N0cmVhbWVyT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90
b2NvbC9IZWFwT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2Nv
bC9JbnNwZWN0b3JPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3Rv
Y29sL0xheWVyVHJlZU9ic2VydmVyLmpzIj48L3NjcmlwdD4KQEAgLTQ5Miw2ICs0OTYsOCBAQAog
ICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQXVkaXRUZXN0Q2FzZVJlc3VsdC5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9BdWRpdFRlc3RHcm91cFJlc3VsdC5qcyI+PC9zY3Jp
cHQ+CiAKKyAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzIj48L3Nj
cmlwdD4KKwogICAgIDxzY3JpcHQgc3JjPSJQcm94aWVzL0Zvcm1hdHRlcldvcmtlclByb3h5Lmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJveGllcy9IZWFwU25hcHNob3REaWZmUHJv
eHkuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm94aWVzL0hlYXBTbmFwc2hvdEVk
Z2VQcm94eS5qcyI+PC9zY3JpcHQ+CkBAIC01NjksNiArNTc1LDcgQEAKICAgICA8c2NyaXB0IHNy
Yz0iVmlld3MvQ2FudmFzVGFiQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSJWaWV3cy9Db25zb2xlVGFiQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJWaWV3cy9FbGVtZW50c1RhYkNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0IHNyYz0iVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9MYXllcnNUYWJDb250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1Jlc291cmNlVHJlZUVsZW1lbnQuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9TY3JpcHRUcmVlRWxlbWVudC5qcyI+PC9zY3JpcHQ+
CkBAIC01ODQsNiArNTkxLDkgQEAKICAgICA8c2NyaXB0IHNyYz0iVmlld3MvRGV0YWlsc1NlY3Rp
b25TaW1wbGVSb3cuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9EZXRhaWxz
U2VjdGlvblRleHRSb3cuanMiPjwvc2NyaXB0PgogCisgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0dT
dHJlYW1lclNpZGViYXJQYW5lbC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IlZpZXdz
L0dTdHJlYW1lclZpZXcuanMiPjwvc2NyaXB0PgorCiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1Nl
dHRpbmdFZGl0b3IuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9TZXR0aW5n
c0dyb3VwLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvU2V0dGluZ3NWaWV3
LmpzIj48L3NjcmlwdD4KQEAgLTg4MCw2ICs4OTAsNyBAQAogICAgIDxzY3JpcHQgc3JjPSJDb250
cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJD
b250cm9sbGVycy9EcmFnVG9BZGp1c3RDb250cm9sbGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2Ny
aXB0IHNyYz0iQ29udHJvbGxlcnMvRm9ybWF0dGVyU291cmNlTWFwLmpzIj48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvR1N0cmVhbWVyTWFuYWdlci5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0hBUkJ1aWxkZXIuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9IZWFwTWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0luZGV4ZWREQk1hbmFnZXIuanMiPjwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
L0dTdHJlYW1lclBpcGVsaW5lLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlM2Q5Y2M2MGE2YmRi
MjI1YWJkMGM1YTQxNGJhZWNmY2VmNDZjNWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvR1N0cmVhbWVyUGlwZWxpbmUuanMKQEAg
LTAsMCArMSw0OCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoK
KyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
KiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u
LCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworV0kuR1N0cmVhbWVyUGlwZWxpbmUgPSBjbGFz
cyBHU3RyZWFtZXJQaXBlbGluZQoreworICAgIGNvbnN0cnVjdG9yKG5hbWUsIHBhcmVudEJpbk5h
bWUsIGJpbk5hbWUsIGRvdERhdGEsIHN2Z0RvY3VtZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5f
bmFtZSA9IG5hbWU7CisgICAgICAgIHRoaXMuX3BhcmVudEJpbk5hbWUgPSBwYXJlbnRCaW5OYW1l
OworICAgICAgICB0aGlzLl9iaW5OYW1lID0gYmluTmFtZTsKKyAgICAgICAgdGhpcy5fZG90RGF0
YSA9IGRvdERhdGE7CisgICAgICAgIHRoaXMuX3N2Z0RvY3VtZW50ID0gc3ZnRG9jdW1lbnQ7Cisg
ICAgfQorCisgICAgLy8gUHVibGljCisKKyAgICBnZXQgbmFtZSgpIHsgcmV0dXJuIHRoaXMuX25h
bWU7IH0KKyAgICBnZXQgcGFyZW50QmluTmFtZSgpIHsgcmV0dXJuIHRoaXMuX3BhcmVudEJpbk5h
bWU7IH0KKyAgICBnZXQgYmluTmFtZSgpIHsgcmV0dXJuIHRoaXMuX2Jpbk5hbWU7IH0KKyAgICBn
ZXQgc3ZnRWxlbWVudCgpIHsgcmV0dXJuIHRoaXMuX3N2Z0RvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCJzdmciKVswXTsgfQorCisgICAgZ2V0IHNhdmVEYXRhKCkKKyAgICB7CisgICAgICAg
IGxldCBuYW1lID0gdGhpcy5fbmFtZTsKKyAgICAgICAgbGV0IGZpbGVuYW1lID0gV0kudW5sb2Nh
bGl6ZWRTdHJpbmcoYEdTdHJlYW1lci1waXBlbGluZS1kdW1wLSR7bmFtZX0uZG90YCk7CisgICAg
ICAgIHJldHVybiB7CisgICAgICAgICAgICB1cmw6IFdJLkZpbGVVdGlsaXRpZXMuaW5zcGVjdG9y
VVJMRm9yRmlsZW5hbWUoZmlsZW5hbWUpLAorICAgICAgICAgICAgY29udGVudDogdGhpcy5fZG90
RGF0YSwKKyAgICAgICAgfTsKKyAgICB9Cit9OworCitXSS5HU3RyZWFtZXJQaXBlbGluZS5UeXBl
SWRlbnRpZmllciA9ICJnc3RyZWFtZXItcGlwZWxpbmUiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvR1N0cmVhbWVyT2JzZXJ2ZXIuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9HU3RyZWFtZXJP
YnNlcnZlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNThkYmIxOTlmNzgyNWJlOWJhNGQ4MjQ4NDM3MmJmNDgx
MDZmNzM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvUHJvdG9jb2wvR1N0cmVhbWVyT2JzZXJ2ZXIuanMKQEAgLTAsMCArMSwyOCBAQAorLyoK
KyAqICBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwor
ICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNz
ZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBp
ZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAg
VVNBCisgKi8KKworV0kuR1N0cmVhbWVyT2JzZXJ2ZXIgPSBjbGFzcyBHU3RyZWFtZXJPYnNlcnZl
ciBleHRlbmRzIEluc3BlY3RvckJhY2tlbmQuRGlzcGF0Y2hlcgoreworICAgIC8vIEV2ZW50cyBk
ZWZpbmVkIGJ5IHRoZSAiR1N0cmVhbWVyIiBkb21haW4uCisKKyAgICBhY3RpdmVQaXBlbGluZXND
aGFuZ2VkKCkKKyAgICB7CisgICAgICAgIFdJLmdzdHJlYW1lck1hbmFnZXIuYWN0aXZlUGlwZWxp
bmVzQ2hhbmdlZCgpOworICAgIH0KKworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1RhcmdldC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1RhcmdldC5qcwppbmRleCBjYTM4NWZlMjhiMWJl
ZmJhODRjNDY5Yzg3NTg5MjFkN2ZmYjBhMzQxLi4wYTg5MWIwNWIwMTkyN2I4ZDM5M2RjOTA0ZDZk
ZmQ1MDNiMTMxNmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Qcm90b2NvbC9UYXJnZXQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvUHJvdG9jb2wvVGFyZ2V0LmpzCkBAIC0xMzYsNiArMTM2LDcgQEAgV0kuVGFyZ2V0
ID0gY2xhc3MgVGFyZ2V0IGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgZ2V0IERPTVN0b3JhZ2VBZ2Vu
dCgpIHsgcmV0dXJuIHRoaXMuX2FnZW50cy5ET01TdG9yYWdlOyB9CiAgICAgZ2V0IERhdGFiYXNl
QWdlbnQoKSB7IHJldHVybiB0aGlzLl9hZ2VudHMuRGF0YWJhc2U7IH0KICAgICBnZXQgRGVidWdn
ZXJBZ2VudCgpIHsgcmV0dXJuIHRoaXMuX2FnZW50cy5EZWJ1Z2dlcjsgfQorICAgIGdldCBHU3Ry
ZWFtZXJBZ2VudCgpIHsgcmV0dXJuIHRoaXMuX2FnZW50cy5HU3RyZWFtZXI7IH0KICAgICBnZXQg
SGVhcEFnZW50KCkgeyByZXR1cm4gdGhpcy5fYWdlbnRzLkhlYXA7IH0KICAgICBnZXQgSW5kZXhl
ZERCQWdlbnQoKSB7IHJldHVybiB0aGlzLl9hZ2VudHMuSW5kZXhlZERCOyB9CiAgICAgZ2V0IElu
c3BlY3RvckFnZW50KCkgeyByZXR1cm4gdGhpcy5fYWdlbnRzLkluc3BlY3RvcjsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVy
U2lkZWJhclBhbmVsLmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0dTdHJlYW1lclNpZGViYXJQYW5lbC5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U4NTRiZGUzYzUzM2Vk
YTBiZjg2ZWViODc1Yjk1MzY2MDA0ODMyZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclNpZGViYXJQYW5lbC5jc3MK
QEAgLTAsMCArMSwxMDggQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwK
KyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQor
ICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJv
c3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmln
YXRpb24uZ3N0cmVhbWVyID4gLmNvbnRlbnQgeworICAgIHRvcDogdmFyKC0tbmF2aWdhdGlvbi1i
YXItaGVpZ2h0KTsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIg
PiAubmF2aWdhdGlvbi1iYXIgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDA7
CisgICAgbGVmdDogMDsKKyAgICByaWdodDogMDsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2
aWdhdGlvbi5nc3RyZWFtZXIgPiAubmF2aWdhdGlvbi1iYXIgLmdzdHJlYW1lci1icmVha3BvaW50
cyB7CisgICAgZmlsbDogbm9uZTsKKyAgICBzdHJva2U6IHZhcigtLWdseXBoLWNvbG9yKTsKK30K
Ky5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyID4gLm5hdmlnYXRpb24tYmFy
IC5nc3RyZWFtZXItYnJlYWtwb2ludHMuYWN0aXZhdGVkIHsKKyAgICBmaWxsOiB2YXIoLS1nbHlw
aC1jb2xvci1hY3RpdmUpOworICAgIHN0cm9rZTogdmFyKC0tZ2x5cGgtY29sb3ItYWN0aXZlKTsK
K30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgPiAubmF2aWdhdGlv
bi1iYXIgLmdzdHJlYW1lci1wYXVzZS1yZXN1bWUgeworICAgIGZpbGw6IG5vbmU7CisgICAgc3Ry
b2tlOiB2YXIoLS1nbHlwaC1jb2xvcik7Cit9Cisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9u
LmdzdHJlYW1lciA+IC5uYXZpZ2F0aW9uLWJhciAuZ3N0cmVhbWVyLXBhdXNlLXJlc3VtZS5hY3Rp
dmF0ZWQgeworICAgIHN0cm9rZTogdmFyKC0tZ2x5cGgtY29sb3ItYWN0aXZlKTsKK30KKworLnNp
ZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLndhcm5pbmctYmFubmVyIHsKKyAg
ICB0ZXh0LWFsaWduOiBjZW50ZXI7CisgICAgZm9udC1zaXplOiAxMXB4OworCisgICAgcGFkZGlu
ZzogMTFweCA2cHg7CisgICAgbWFyZ2luLWJvdHRvbTogNnB4OworCisgICAgYm9yZGVyLWJvdHRv
bTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7CisgICAgYmFja2dyb3VuZC1jb2xvcjog
aHNsKDUwLCAxMDAlLCA5NCUpOworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdz
dHJlYW1lciAudHJlZS1vdXRsaW5lLnNpbmdsZS10aHJlYWQgPiAuaXRlbS50aHJlYWQgeworICAg
IGRpc3BsYXk6IG5vbmU7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVh
bWVyIC50cmVlLW91dGxpbmUuc2luZ2xlLXRocmVhZCB7CisgICAgLS10cmVlLW91dGxpbmUtc2lu
Z2xlLXRocmVhZC1tYXJnaW4tc3RhcnQ6IC0xMHB4OworfQorCitib2R5W2Rpcj1sdHJdIC5zaWRl
YmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC50cmVlLW91dGxpbmUuc2luZ2xlLXRo
cmVhZCB7CisgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXRyZWUtb3V0bGluZS1zaW5nbGUtdGhyZWFk
LW1hcmdpbi1zdGFydCk7Cit9CisKK2JvZHlbZGlyPXJ0bF0gLnNpZGViYXIgPiAucGFuZWwubmF2
aWdhdGlvbi5nc3RyZWFtZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkIHsKKyAgICBtYXJn
aW4tcmlnaHQ6IHZhcigtLXRyZWUtb3V0bGluZS1zaW5nbGUtdGhyZWFkLW1hcmdpbi1zdGFydCk7
Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC53YXJuaW5nLWJh
bm5lciA+IGEgeworICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOworICAgIGN1cnNvcjog
cG9pbnRlcjsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLmRl
dGFpbHMtc2VjdGlvbiB7CisgICAgZm9udC1zaXplOiAxMXB4OworfQorCisuc2lkZWJhciA+IC5w
YW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAuZGV0YWlscy1zZWN0aW9uLnBhdXNlZC1yZWFzb24u
Y29sbGFwc2VkID4gLmhlYWRlciA+IC5vcHRpb25zIHsKKyAgICBkaXNwbGF5OiBibG9jazsKK30K
KworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLmRldGFpbHMtc2VjdGlv
biA+IC5jb250ZW50IHsKKyAgICBkaXNwbGF5OiBibG9jazsKK30KKworLnNpZGViYXIgPiAucGFu
ZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLmRldGFpbHMtc2VjdGlvbi5jb2xsYXBzZWQgPiAuY29u
dGVudCB7CisgICAgZGlzcGxheTogbm9uZTsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdh
dGlvbi5nc3RyZWFtZXIgLmRldGFpbHMtc2VjdGlvbiA+IC5jb250ZW50ID4gLmdyb3VwIHsKKyAg
ICBkaXNwbGF5OiBibG9jazsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3Ry
ZWFtZXIgLmRldGFpbHMtc2VjdGlvbi5zY3JpcHRzOm5vdCguY29sbGFwc2VkKSB7CisgICAgYm9y
ZGVyLWJvdHRvbTogbm9uZTsKK30KKworQG1lZGlhIChwcmVmZXJzLWRhcmstaW50ZXJmYWNlKSB7
CisgICAgLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLndhcm5pbmctYmFu
bmVyIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWVsbG93LWhpZ2hsaWdodC1i
YWNrZ3JvdW5kLWNvbG9yKTsKKyAgICAgICAgY29sb3I6IHZhcigtLXllbGxvdy1oaWdobGlnaHQt
dGV4dC1jb2xvcik7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBhbmVsLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjVkMGNmMmY2MGU0NmMyNjFhMzJmYWQzYWEyY2RmNjY3OGY0NDNlYTUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9HU3RyZWFtZXJTaWRlYmFyUGFuZWwuanMKQEAgLTAsMCArMSwxMDUgQEAKKy8qCisgKiAgQ29w
eXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
ICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3
cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICov
CisKK1dJLkdTdHJlYW1lclNpZGViYXJQYW5lbCA9IGNsYXNzIEdTdHJlYW1lclNpZGViYXJQYW5l
bCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwKK3sKKyAgICBjb25zdHJ1Y3Rvcigp
CisgICAgeworICAgICAgICBzdXBlcigiZ3N0cmVhbWVyIiwgV0kuVUlTdHJpbmcoIkdTdHJlYW1l
ciIpLCBmYWxzZSk7CisKKyAgICAgICAgdGhpcy5jb250ZW50VHJlZU91dGxpbmUuYWRkRXZlbnRM
aXN0ZW5lcihXSS5UcmVlT3V0bGluZS5FdmVudC5TZWxlY3Rpb25EaWRDaGFuZ2UsIHRoaXMuX3Ry
ZWVTZWxlY3Rpb25EaWRDaGFuZ2UsIHRoaXMpOworCisgICAgICAgIFdJLmdzdHJlYW1lck1hbmFn
ZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5HU3RyZWFtZXJNYW5hZ2VyLkV2ZW50LkFjdGl2ZVBpcGVs
aW5lc0NoYW5nZWQsIHRoaXMuX3JlZnJlc2hQaXBlbGluZXNMaXN0LCB0aGlzKTsKKyAgICB9CisK
KyAgICAvLyBQcm90ZWN0ZWQKKworICAgIGluaXRpYWxMYXlvdXQoKQorICAgIHsKKyAgICAgICAg
c3VwZXIuaW5pdGlhbExheW91dCgpOworCisgICAgICAgIGxldCBwaXBlbGluZXNSb3cgPSBuZXcg
V0kuRGV0YWlsc1NlY3Rpb25Sb3c7CisgICAgICAgIHBpcGVsaW5lc1Jvdy5lbGVtZW50LmFwcGVu
ZENoaWxkKHRoaXMuY29udGVudFRyZWVPdXRsaW5lLmVsZW1lbnQpOworCisgICAgICAgIGxldCBw
aXBlbGluZXNHcm91cCA9IG5ldyBXSS5EZXRhaWxzU2VjdGlvbkdyb3VwKFtwaXBlbGluZXNSb3dd
KTsKKyAgICAgICAgdGhpcy5fcGlwZWxpbmVzU2VjdGlvbiA9IG5ldyBXSS5EZXRhaWxzU2VjdGlv
bigicGlwZWxpbmVzIiwgV0kuVUlTdHJpbmcoIlBpcGVsaW5lcyIpLCBbcGlwZWxpbmVzR3JvdXBd
KTsKKyAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Bp
cGVsaW5lc1NlY3Rpb24uZWxlbWVudCk7CisKKyAgICAgICAgdGhpcy5fcmVmcmVzaFBpcGVsaW5l
c0xpc3QoKTsKKyAgICB9CisKKyAgICBoYXNDdXN0b21GaWx0ZXJzKCkKKyAgICB7CisgICAgICAg
IHJldHVybiB0cnVlOworICAgIH0KKworICAgIG1hdGNoVHJlZUVsZW1lbnRBZ2FpbnN0Q3VzdG9t
RmlsdGVycyh0cmVlRWxlbWVudCwgZmxhZ3MpCisgICAgeworICAgICAgICBsZXQgdGV4dEZpbHRl
clJlZ2V4ID0gc2ltcGxlR2xvYlN0cmluZ1RvUmVnRXhwKHRoaXMuZmlsdGVyQmFyLmZpbHRlcnMu
dGV4dCwgImkiKTsKKyAgICAgICAgaWYgKCF0ZXh0RmlsdGVyUmVnZXgpCisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgICAgICByZXR1cm4gdGV4dEZpbHRlclJlZ2V4LnRlc3QodHJlZUVs
ZW1lbnQubmFtZSk7CisgICAgfQorCisgICAgLy8gUHJpdmF0ZQorCisgICAgX3JlZnJlc2hQaXBl
bGluZXNMaXN0KCkKKyAgICB7CisgICAgICAgIGlmICghV0kudGFyZ2V0c0F2YWlsYWJsZSgpKSB7
CisgICAgICAgICAgICBXSS53aGVuVGFyZ2V0c0F2YWlsYWJsZSgpLnRoZW4oKCkgPT4geworICAg
ICAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hQaXBlbGluZXNMaXN0KCk7CisgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGxldCBhZ2VudCA9
IFdJLmdzdHJlYW1lck1hbmFnZXIuYWdlbnQ7CisgICAgICAgIGlmICghYWdlbnQpCisgICAgICAg
ICAgICByZXR1cm47CisKKyAgICAgICAgYWdlbnQuZ2V0QWN0aXZlUGlwZWxpbmVzTmFtZXMoKS50
aGVuKChwYXlsb2FkKSA9PiB7CisgICAgICAgICAgICB0aGlzLmNvbnRlbnRUcmVlT3V0bGluZS5y
ZW1vdmVDaGlsZHJlbih0cnVlKTsKKyAgICAgICAgICAgIGZvciAobGV0IG5hbWUgb2YgcGF5bG9h
ZC5waXBlbGluZXMpIHsKKyAgICAgICAgICAgICAgICBsZXQgZWx0ID0gbmV3IFdJLlRyZWVFbGVt
ZW50KG5hbWUsIG51bGwpOworICAgICAgICAgICAgICAgIHRoaXMuY29udGVudFRyZWVPdXRsaW5l
LmFwcGVuZENoaWxkKGVsdCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0pLmNhdGNoKChlcnJv
cikgPT4geworICAgICAgICAgICAgY29uc29sZS5lcnJvcigiQ291bGQgbm90IGZldGNoIHBpcGVs
aW5lczogIiwgZXJyb3IpOworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBfdHJlZVNlbGVjdGlv
bkRpZENoYW5nZShldmVudCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5zZWxlY3RlZCkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICBsZXQgdHJlZUVsZW1lbnQgPSB0aGlzLmNvbnRl
bnRUcmVlT3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50OworICAgICAgICBpZiAoIXRyZWVFbGVt
ZW50KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGxldCBwaXBlbGluZU5hbWUgPSB0
cmVlRWxlbWVudC50aXRsZTsKKyAgICAgICAgbGV0IHRhcmdldCA9IFdJLmFzc3VtaW5nTWFpblRh
cmdldCgpOworICAgICAgICB0YXJnZXQuR1N0cmVhbWVyQWdlbnQuZHVtcEFjdGl2ZVBpcGVsaW5l
KHBpcGVsaW5lTmFtZSwgIiIpLnRoZW4oKHBheWxvYWQpID0+IHsKKyAgICAgICAgICAgIGxldCBk
b2N1bWVudEZyYWdtZW50ID0gV0kuZ3N0cmVhbWVyTWFuYWdlci5yZW5kZXJTVkdFbGVtZW50KHBh
eWxvYWQucGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uKTsKKyAgICAgICAgICAgIGxldCByZXBy
ZXNlbnRlZE9iamVjdCA9IG5ldyBXSS5HU3RyZWFtZXJQaXBlbGluZShwaXBlbGluZU5hbWUsICIi
LCAiIiwgcGF5bG9hZC5waXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24sIGRvY3VtZW50RnJhZ21l
bnQpOworICAgICAgICAgICAgV0kuc2hvd1JlcHJlc2VudGVkT2JqZWN0KHJlcHJlc2VudGVkT2Jq
ZWN0KTsKKyAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7CisgICAgICAgICAgICBjb25zb2xl
LmVycm9yKCJDb3VsZCBub3QgZHVtcCBwaXBlbGluZTogIiwgZXJyb3IpOworICAgICAgICB9KTsK
KyAgICB9Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuY3NzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuY3NzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYxNjM2OTNhMTU5ZTA2MGUwYjBlZTJiMTJhMTIwZGEwZmUxYTFmYWQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3Ry
ZWFtZXJUYWJDb250ZW50Vmlldy5jc3MKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqICBDb3B5cmln
aHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExl
c3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRl
IHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKwor
LmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgeworICAgIHBhZGRpbmctYm90dG9tOiA2dmg7CisgICAg
b3ZlcmZsb3cteTogYXV0bzsKK30KKworLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgLm5hdmlnYXRp
b24tYmFyIHsKKyAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7CisgICAgdG9wOiAwOworICAg
IHotaW5kZXg6IDE7CisgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7Cit9CisKKy5jb250ZW50
LXZpZXcuZ3N0cmVhbWVyIC5uYXZpZ2F0aW9uLWJhci5pbnZpc2libGUgeworICAgIHZpc2liaWxp
dHk6IGhpZGRlbjsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzY4ZjVhN2U4MDMzNjJlYTA2ZjE4ODI0MzgxNjE1MmFiODA4MzFiYQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dT
dHJlYW1lclRhYkNvbnRlbnRWaWV3LmpzCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiAgQ29weXJp
Z2h0IChDKSAyMDE5IElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0
ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisK
K1dJLkdTdHJlYW1lclRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgR1N0cmVhbWVyVGFiQ29udGVudFZp
ZXcgZXh0ZW5kcyBXSS5Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3Cit7CisgICAgY29uc3Ry
dWN0b3IoaWRlbnRpZmllcikKKyAgICB7CisgICAgICAgIGxldCB0YWJCYXJJdGVtID0gV0kuR2Vu
ZXJhbFRhYkJhckl0ZW0uZnJvbVRhYkluZm8oV0kuR1N0cmVhbWVyVGFiQ29udGVudFZpZXcudGFi
SW5mbygpKTsKKyAgICAgICAgbGV0IGRldGFpbHNTaWRlYmFyUGFuZWxDb25zdHJ1Y3RvcnMgPSBb
XTsKKworICAgICAgICBzdXBlcihpZGVudGlmaWVyIHx8ICJnc3RyZWFtZXIiLCAiZ3N0cmVhbWVy
IiwgdGFiQmFySXRlbSwgV0kuR1N0cmVhbWVyU2lkZWJhclBhbmVsLAorICAgICAgICAgICAgICBk
ZXRhaWxzU2lkZWJhclBhbmVsQ29uc3RydWN0b3JzKTsKKworICAgICAgICB0aGlzLl9nc3RyZWFt
ZXJWaWV3ID0gbnVsbDsKKyAgICB9CisKKyAgICBzdGF0aWMgdGFiSW5mbygpCisgICAgeworICAg
ICAgICByZXR1cm4geworICAgICAgICAgICAgaW1hZ2U6ICJJbWFnZXMvR1N0cmVhbWVyLnN2ZyIs
CisgICAgICAgICAgICB0aXRsZTogV0kuVUlTdHJpbmcoIkdTdHJlYW1lciIpLAorICAgICAgICB9
OworICAgIH0KKworICAgIHN0YXRpYyBpc1RhYkFsbG93ZWQoKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIFdJLlBsYXRmb3JtLnBvcnQgPT09ICJndGsiIHx8IFdJLlBsYXRmb3JtLnBvcnQgPT09ICJ3
cGUiOworICAgIH0KKworICAgIC8vIFB1YmxpYworCisgICAgZ2V0IHR5cGUoKSB7IHJldHVybiBX
SS5HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5UeXBlOyB9CisKKyAgICBnZXQgc3VwcG9ydHNTcGxp
dENvbnRlbnRCcm93c2VyKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwor
ICAgIGNhblNob3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNlbnRlZE9iamVjdCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiByZXByZXNlbnRlZE9iamVjdCBpbnN0YW5jZW9mIFdJLkdTdHJlYW1lclBp
cGVsaW5lOworICAgIH0KKworICAgIHNob3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNlbnRlZE9i
amVjdCwgY29va2llKQorICAgIHsKKyAgICAgICAgdGhpcy5fZ3N0cmVhbWVyVmlldy5kaXNwbGF5
UGlwZWxpbmUocmVwcmVzZW50ZWRPYmplY3QpOworICAgIH0KKworICAgIC8vIFByb3RlY3RlZAor
CisgICAgaW5pdGlhbExheW91dCgpCisgICAgeworICAgICAgICB0aGlzLl9nc3RyZWFtZXJWaWV3
ID0gbmV3IFdJLkdTdHJlYW1lclZpZXcoImdlbmVyYWwiLCBXSS5VSVN0cmluZygiR2VuZXJhbCIp
KTsKKyAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHRoaXMuX2dzdHJlYW1lclZpZXcpOworICAgIH0K
K307CisKK1dJLkdTdHJlYW1lclRhYkNvbnRlbnRWaWV3LlR5cGUgPSAiZ3N0cmVhbWVyIjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJl
YW1lclZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9H
U3RyZWFtZXJWaWV3LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyODc0MTEwMGY5YTE3MTAxNzgwMzY5YzA3MDFh
NjZkMDJmYzBlNDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJWaWV3LmpzCkBAIC0wLDAgKzEsMTYwIEBACisvKgor
ICogIENvcHlyaWdodCAoQykgMjAxOSBJZ2FsaWEgUy5MCisgKgorICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisg
KiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlm
IG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBV
U0EKKyAqLworCitXSS5HU3RyZWFtZXJWaWV3ID0gY2xhc3MgR1N0cmVhbWVyVmlldyBleHRlbmRz
IFdJLkNvbnRlbnRWaWV3Cit7CisgICAgY29uc3RydWN0b3IoaWRlbnRpZmllciwgZGlzcGxheU5h
bWUpCisgICAgeworICAgICAgICBzdXBlcigpOworCisgICAgICAgIHRoaXMuX2lkZW50aWZpZXIg
PSBpZGVudGlmaWVyOworICAgICAgICB0aGlzLl9kaXNwbGF5TmFtZSA9IGRpc3BsYXlOYW1lOwor
ICAgICAgICB0aGlzLl9zdmdFbGVtZW50ID0gbnVsbDsKKyAgICAgICAgdGhpcy5fc2NvcGVCYXIg
PSBudWxsOworICAgICAgICB0aGlzLl9jdXJyZW50QmluTmFtZSA9ICIiOworICAgICAgICB0aGlz
Ll9waXBlbGluZSA9IG51bGw7CisgICAgICAgIHRoaXMuX2xhYmVsID0gbnVsbDsKKworICAgICAg
ICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiZ3N0cmVhbWVyLXZpZXciLCBpZGVudGlmaWVy
KTsKKworICAgICAgICB0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBXSS5C
dXR0b25OYXZpZ2F0aW9uSXRlbSgicGlwZWxpbmUtZXhwb3J0IiwgV0kuVUlTdHJpbmcoIkV4cG9y
dCIpLCAiSW1hZ2VzL0V4cG9ydC5zdmciLCAxNSwgMTUpOworICAgICAgICB0aGlzLl9leHBvcnRC
dXR0b25OYXZpZ2F0aW9uSXRlbS50b29sdGlwID0gV0kuVUlTdHJpbmcoIkV4cG9ydCBwaXBlbGlu
ZSBkb3QgcmVwcmVzZW50YXRpb24gKCVzKSIpLmZvcm1hdChXSS5zYXZlS2V5Ym9hcmRTaG9ydGN1
dC5kaXNwbGF5TmFtZSk7CisgICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVt
LmJ1dHRvblN0eWxlID0gV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uU3R5bGUuSW1hZ2VBbmRUZXh0
OworICAgICAgICB0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS52aXNpYmlsaXR5UHJp
b3JpdHkgPSBXSS5OYXZpZ2F0aW9uSXRlbS5WaXNpYmlsaXR5UHJpb3JpdHkuTG93OworICAgICAg
ICB0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdJLkJ1
dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX2hhbmRsZUV4cG9ydEJ1dHRv
bk5hdmlnYXRpb25JdGVtQ2xpY2tlZC5iaW5kKHRoaXMpKTsKKyAgICAgICAgdGhpcy5fdXBkYXRl
RXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW1TdGF0ZSgpOworCisgICAgICAgIHRoaXMuX25hdmln
YXRpb25CYXIgPSBuZXcgV0kuTmF2aWdhdGlvbkJhcjsKKyAgICAgICAgdGhpcy5fbmF2aWdhdGlv
bkJhci5hZGROYXZpZ2F0aW9uSXRlbSh0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbSk7
CisgICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9uYXZpZ2F0aW9uQmFyKTsKKworICAgICAg
ICB0aGlzLl9jb250YWluZXJFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
CisgICAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuaWQgPSAicGlwZWxpbmUtY29udGFpbmVy
IjsKKyAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCh0aGlzLl9jb250YWluZXJFbGVtZW50KTsK
KyAgICB9CisKKyAgICAvLyBQdWJsaWMKKworICAgIGdldCBpZGVudGlmaWVyKCkgeyByZXR1cm4g
dGhpcy5faWRlbnRpZmllcjsgfQorICAgIGdldCBkaXNwbGF5TmFtZSgpIHsgcmV0dXJuIHRoaXMu
X2Rpc3BsYXlOYW1lOyB9CisKKyAgICBnZXQgc3VwcG9ydHNTYXZlKCkKKyAgICB7CisgICAgICAg
IHJldHVybiAhIXRoaXMuX3BpcGVsaW5lOworICAgIH0KKworICAgIGdldCBzYXZlRGF0YSgpCisg
ICAgeworICAgICAgICByZXR1cm4ge2N1c3RvbVNhdmVIYW5kbGVyOiAoKSA9PiB7IHRoaXMuX2V4
cG9ydFJlc3VsdCgpOyB9fTsKKyAgICB9CisKKyAgICBkaXNwbGF5UGlwZWxpbmUoZ3N0cmVhbWVy
UGlwZWxpbmUpCisgICAgeworICAgICAgICBpZiAodGhpcy5fc3ZnRWxlbWVudCkKKyAgICAgICAg
ICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5fc3ZnRWxlbWVudCk7
CisKKyAgICAgICAgaWYgKHRoaXMuX3Njb3BlQmFyKSB7CisgICAgICAgICAgICB0aGlzLl9zY29w
ZUJhci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLlNjb3BlQmFyLkV2ZW50LlNlbGVjdGlvbkNoYW5n
ZWQsIHRoaXMuX3Njb3BlQmFyU2VsZWN0aW9uRGlkQ2hhbmdlKTsKKyAgICAgICAgICAgIHRoaXMu
X25hdmlnYXRpb25CYXIucmVtb3ZlTmF2aWdhdGlvbkl0ZW0odGhpcy5fc2NvcGVCYXIpOworICAg
ICAgICB9CisKKyAgICAgICAgaWYgKHRoaXMuX2xhYmVsKSB7CisgICAgICAgICAgICB0aGlzLl9u
YXZpZ2F0aW9uQmFyLnJlbW92ZU5hdmlnYXRpb25JdGVtKHRoaXMuX2xhYmVsKTsKKyAgICAgICAg
fQorICAgICAgICB2YXIgbmFtZSA9IGdzdHJlYW1lclBpcGVsaW5lLmJpbk5hbWUgfHwgZ3N0cmVh
bWVyUGlwZWxpbmUubmFtZTsKKyAgICAgICAgdGhpcy5fbGFiZWwgPSBuZXcgV0kuVGV4dE5hdmln
YXRpb25JdGVtKCJnc3QtcGlwZWxpbmUtYmluLW5hbWUiLCAiRGlzcGxheWluZyAiICsgbmFtZSAr
ICIuIEF2YWlsYWJsZSBzdWItYmluczogIik7CisgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIu
YWRkTmF2aWdhdGlvbkl0ZW0odGhpcy5fbGFiZWwpOworCisgICAgICAgIHRoaXMuX3BpcGVsaW5l
ID0gZ3N0cmVhbWVyUGlwZWxpbmU7CisgICAgICAgIHRoaXMuX3VwZGF0ZUV4cG9ydEJ1dHRvbk5h
dmlnYXRpb25JdGVtU3RhdGUoKTsKKworICAgICAgICBsZXQgdGFyZ2V0ID0gV0kuYXNzdW1pbmdN
YWluVGFyZ2V0KCk7CisgICAgICAgIHRhcmdldC5HU3RyZWFtZXJBZ2VudC5nZXRBY3RpdmVQaXBl
bGluZUJpbk5hbWVzKGdzdHJlYW1lclBpcGVsaW5lLm5hbWUsIGdzdHJlYW1lclBpcGVsaW5lLmJp
bk5hbWUpLnRoZW4oKHBheWxvYWQpID0+IHsKKyAgICAgICAgICAgIHZhciBzY29wZUJhckl0ZW1z
ID0gW107CisgICAgICAgICAgICB2YXIgZGVmYXVsdEl0ZW0gPSBuZXcgV0kuU2NvcGVCYXJJdGVt
KCI8cGxhY2Vob2xkZXI+IiwgIlNlbGVjdC4uLiIpOworICAgICAgICAgICAgZGVmYXVsdEl0ZW0u
X19wYXJlbnQgPSAiIjsKKyAgICAgICAgICAgIGRlZmF1bHRJdGVtLnNlbGVjdGVkID0gdHJ1ZTsK
KyAgICAgICAgICAgIHNjb3BlQmFySXRlbXMucHVzaChkZWZhdWx0SXRlbSk7CisKKyAgICAgICAg
ICAgIHZhciBzY29wZUJhckl0ZW0gPSBuZXcgV0kuU2NvcGVCYXJJdGVtKGdzdHJlYW1lclBpcGVs
aW5lLnBhcmVudEJpbk5hbWUsICJQYXJlbnQ6ICIgKyBnc3RyZWFtZXJQaXBlbGluZS5wYXJlbnRC
aW5OYW1lKTsKKyAgICAgICAgICAgIHNjb3BlQmFySXRlbS5zZWxlY3RlZCA9IGZhbHNlOworICAg
ICAgICAgICAgc2NvcGVCYXJJdGVtLl9fcGFyZW50ID0gIiI7CisgICAgICAgICAgICBzY29wZUJh
ckl0ZW1zLnB1c2goc2NvcGVCYXJJdGVtKTsKKworICAgICAgICAgICAgZm9yICh2YXIgYmluTmFt
ZSBvZiBwYXlsb2FkLmJpbk5hbWVzKSB7CisgICAgICAgICAgICAgICAgdmFyIHNjb3BlQmFySXRl
bSA9IG5ldyBXSS5TY29wZUJhckl0ZW0oYmluTmFtZSwgYmluTmFtZSk7CisgICAgICAgICAgICAg
ICAgc2NvcGVCYXJJdGVtLnNlbGVjdGVkID0gZmFsc2U7CisgICAgICAgICAgICAgICAgc2NvcGVC
YXJJdGVtLl9fcGFyZW50ID0gZ3N0cmVhbWVyUGlwZWxpbmUuYmluTmFtZTsKKyAgICAgICAgICAg
ICAgICBzY29wZUJhckl0ZW1zLnB1c2goc2NvcGVCYXJJdGVtKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgdGhpcy5fc2NvcGVCYXIgPSBuZXcgV0kuU2NvcGVCYXIoImdzdC1waXBlbGlu
ZS1zY29wZS1iYXIiLCBzY29wZUJhckl0ZW1zLCBudWxsLCB0cnVlKTsKKyAgICAgICAgICAgIHRo
aXMuX3Njb3BlQmFyLmFkZEV2ZW50TGlzdGVuZXIoV0kuU2NvcGVCYXIuRXZlbnQuU2VsZWN0aW9u
Q2hhbmdlZCwgdGhpcy5fc2NvcGVCYXJTZWxlY3Rpb25EaWRDaGFuZ2UsIHRoaXMpOworCisgICAg
ICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLmFkZE5hdmlnYXRpb25JdGVtKHRoaXMuX3Njb3Bl
QmFyKTsKKyAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7CisgICAgICAgICAgICBjb25zb2xl
LmVycm9yKCJDb3VsZCBub3QgZHVtcCBsaXN0IHBpcGVsaW5lIGJpbnM6ICIsIGVycm9yKTsKKyAg
ICAgICAgfSk7CisKKyAgICAgICAgdGhpcy5fc3ZnRWxlbWVudCA9IHRoaXMuX3BpcGVsaW5lLnN2
Z0VsZW1lbnQ7CisgICAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQodGhp
cy5fc3ZnRWxlbWVudCk7CisKKyAgICAgICAgdmFyIHN2ZyA9IGQzLnNlbGVjdCgiI3BpcGVsaW5l
LWNvbnRhaW5lciIpLAorICAgICAgICAgICAgZyA9IHN2Zy5zZWxlY3QoImciKTsKKworICAgICAg
ICBzdmcuY2FsbChkMy56b29tKCkub24oInpvb20iLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
IGcuYXR0cigidHJhbnNmb3JtIiwgZDMuZXZlbnQudHJhbnNmb3JtKQorICAgICAgICB9KSk7Cisg
ICAgfQorCisgICAgLy8gUHJpdmF0ZQorCisgICAgX3Njb3BlQmFyU2VsZWN0aW9uRGlkQ2hhbmdl
KGV2ZW50KQorICAgIHsKKyAgICAgICAgZm9yICh2YXIgaXQgb2YgZXZlbnQudGFyZ2V0Lml0ZW1z
KSB7CisgICAgICAgICAgICBpZiAoKGl0LmlkICE9PSAiPHBsYWNlaG9sZGVyPiIpICYmIGl0LnNl
bGVjdGVkKSB7CisgICAgICAgICAgICAgICAgdmFyIGJpbk5hbWUgPSBpdC5pZDsKKyAgICAgICAg
ICAgICAgICB2YXIgcGFyZW50QmluTmFtZSA9IGl0Ll9fcGFyZW50OworICAgICAgICAgICAgICAg
IHZhciBwaXBlbGluZU5hbWUgPSB0aGlzLl9waXBlbGluZS5uYW1lOworICAgICAgICAgICAgICAg
IGxldCBhZ2VudCA9IFdJLmdzdHJlYW1lck1hbmFnZXIuYWdlbnQ7CisgICAgICAgICAgICAgICAg
YWdlbnQuZHVtcEFjdGl2ZVBpcGVsaW5lKHBpcGVsaW5lTmFtZSwgYmluTmFtZSkudGhlbigocGF5
bG9hZCkgPT4geworICAgICAgICAgICAgICAgICAgICBsZXQgZG9jdW1lbnRGcmFnbWVudCA9IFdJ
LmdzdHJlYW1lck1hbmFnZXIucmVuZGVyU1ZHRWxlbWVudChwYXlsb2FkLnBpcGVsaW5lR3JhcGhS
ZXByZXNlbnRhdGlvbik7CisgICAgICAgICAgICAgICAgICAgIGxldCByZXByZXNlbnRlZE9iamVj
dCA9IG5ldyBXSS5HU3RyZWFtZXJQaXBlbGluZShwaXBlbGluZU5hbWUsIHBhcmVudEJpbk5hbWUs
IGJpbk5hbWUsIHBheWxvYWQucGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uLCBkb2N1bWVudEZy
YWdtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgV0kuc2hvd1JlcHJlc2VudGVkT2JqZWN0KHJl
cHJlc2VudGVkT2JqZWN0KTsKKyAgICAgICAgICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHsK
KyAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcigiQ291bGQgbm90IGR1bXAgcGlwZWxp
bmU6ICIsIGVycm9yKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgIH0KKworICAgIF9leHBvcnRSZXN1bHQoKQorICAgIHsKKyAgICAgICAgV0kuZ3N0
cmVhbWVyTWFuYWdlci5leHBvcnQodGhpcy5fcGlwZWxpbmUpOworICAgIH0KKworICAgIF91cGRh
dGVFeHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbVN0YXRlKCkKKyAgICB7CisgICAgICAgIHRoaXMu
X2V4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSAhIXRoaXMuX3BpcGVsaW5lOwor
ICAgIH0KKworICAgIF9oYW5kbGVFeHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbUNsaWNrZWQoZXZl
bnQpCisgICAgeworICAgICAgICB0aGlzLl9leHBvcnRSZXN1bHQoKTsKKyAgICB9Cit9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9JbnNwZWN0b3JHUmVzb3VyY2VzLmNtYWtlIGIvU291cmNl
L1dlYktpdC9JbnNwZWN0b3JHUmVzb3VyY2VzLmNtYWtlCmluZGV4IDY3NGI1ZWYwYmU0YmViMmEy
ZTgxYjFiY2U5ODQ3ODIyYmQ0YjQ4MjcuLmExMGU5MTAyYTY1ZTAzMDFlODM1NzFjMjVmNDFjNjJj
OGM4NzhlZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvSW5zcGVjdG9yR1Jlc291cmNlcy5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L0luc3BlY3RvckdSZXNvdXJjZXMuY21ha2UKQEAgLTks
NiArOSw3IEBAIG1hY3JvKFdFQktJVF9CVUlMRF9JTlNQRUNUT1JfR1JFU09VUkNFUyBfZGVyaXZl
ZF9zb3VyY2VzX2RpcikKICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9Db2RlTWlycm9yLyouY3NzCiAgICAgICAg
ICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
RXh0ZXJuYWwvQ29kZU1pcnJvci8qLmpzCiAgICAgICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvRXNwcmltYS8qLmpzCisg
ICAgICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvRXh0ZXJuYWwvRDMuanMvKi5qcwogICAgICAgICAke0NNQUtFX1NPVVJDRV9ESVJ9L1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL3RocmVlLmpzLyouanMK
ICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Nb2RlbHMvKi5qcwogICAgICAgICAke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sLyouanMKQEAgLTYwLDEzICs2MSwx
OSBAQCBtYWNybyhXRUJLSVRfQlVJTERfSU5TUEVDVE9SX0dSRVNPVVJDRVMgX2Rlcml2ZWRfc291
cmNlc19kaXIpCiAgICAgICAgIGVuZGlmICgpCiAgICAgZW5kaWYgKCkKIAorICAgIGlmIChVU0Vf
R1NUUkVBTUVSKQorICAgICAgICBzZXQoQ09NQklORV9HU1RSRUFNRVJfUkVTT1VSQ0VTIFlFUykK
KyAgICBlbHNlICgpCisgICAgICAgIHNldChDT01CSU5FX0dTVFJFQU1FUl9SRVNPVVJDRVMgTk8p
CisgICAgZW5kaWYgKCkKKwogICAgIGFkZF9jdXN0b21fY29tbWFuZCgKICAgICAgICAgT1VUUFVU
ICR7Q01BS0VfQklOQVJZX0RJUn0vaW5zcGVjdG9yLXJlc291cmNlcy5zdGFtcAogICAgICAgICBE
RVBFTkRTICR7SW5zcGVjdG9yRmlsZXNEZXBlbmRlbmNpZXN9CiAgICAgICAgICAgICAgICAgJHtJ
bnNwZWN0b3JSZXNvdXJjZVNjcmlwdHN9CiAgICAgICAgICAgICAgICAgJHtERVJJVkVEX1NPVVJD
RVNfV0VCSU5TUEVDVE9SVUlfRElSfS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0luc3BlY3RvckJh
Y2tlbmRDb21tYW5kcy5qcwogICAgICAgICBDT01NQU5EIGNwICR7REVSSVZFRF9TT1VSQ0VTX1dF
QklOU1BFQ1RPUlVJX0RJUn0vVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNwZWN0b3JCYWNrZW5k
Q29tbWFuZHMuanMgJHtGT1JXQVJESU5HX0hFQURFUlNfRElSfS9KYXZhU2NyaXB0Q29yZS9TY3Jp
cHRzCi0gICAgICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBlbnYgIkRFUklWRURfU09V
UkNFU19ESVI9JHtERVJJVkVEX1NPVVJDRVNfV0VCSU5TUEVDVE9SVUlfRElSfSIgIlNSQ1JPT1Q9
JHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkiICJKQVZBU0NSSVBUQ09S
RV9QUklWQVRFX0hFQURFUlNfRElSPSR7Rk9SV0FSRElOR19IRUFERVJTX0RJUn0vSmF2YVNjcmlw
dENvcmUvU2NyaXB0cyIgIlRBUkdFVF9CVUlMRF9ESVI9JHtfZGVyaXZlZF9zb3VyY2VzX2Rpcn0v
SW5zcGVjdG9yUmVzb3VyY2VzIiAiVU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIPVdl
Ykluc3BlY3RvclVJIiAiQ09NQklORV9JTlNQRUNUT1JfUkVTT1VSQ0VTPSR7Q09NQklORV9JTlNQ
RUNUT1JfUkVTT1VSQ0VTfSIgIkNPTUJJTkVfVEVTVF9SRVNPVVJDRVM9JHtDT01CSU5FX1RFU1Rf
UkVTT1VSQ0VTfSIgUFlUSE9OPSR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7Q01BS0VfU09VUkNFX0RJ
Un0vU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFjZS1yZXNv
dXJjZXMucGwKKyAgICAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIGVudiAiREVSSVZF
RF9TT1VSQ0VTX0RJUj0ke0RFUklWRURfU09VUkNFU19XRUJJTlNQRUNUT1JVSV9ESVJ9IiAiU1JD
Uk9PVD0ke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSSIgIkpBVkFTQ1JJ
UFRDT1JFX1BSSVZBVEVfSEVBREVSU19ESVI9JHtGT1JXQVJESU5HX0hFQURFUlNfRElSfS9KYXZh
U2NyaXB0Q29yZS9TY3JpcHRzIiAiVEFSR0VUX0JVSUxEX0RJUj0ke19kZXJpdmVkX3NvdXJjZXNf
ZGlyfS9JbnNwZWN0b3JSZXNvdXJjZXMiICJVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BB
VEg9V2ViSW5zcGVjdG9yVUkiICJDT01CSU5FX0dTVFJFQU1FUl9SRVNPVVJDRVM9JHtDT01CSU5F
X0dTVFJFQU1FUl9SRVNPVVJDRVN9IiAiQ09NQklORV9JTlNQRUNUT1JfUkVTT1VSQ0VTPSR7Q09N
QklORV9JTlNQRUNUT1JfUkVTT1VSQ0VTfSIgIkNPTUJJTkVfVEVTVF9SRVNPVVJDRVM9JHtDT01C
SU5FX1RFU1RfUkVTT1VSQ0VTfSIgUFlUSE9OPSR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7Q01BS0Vf
U09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVy
ZmFjZS1yZXNvdXJjZXMucGwKICAgICAgICAgQ09NTUFORCBta2RpciAtcCAke19kZXJpdmVkX3Nv
dXJjZXNfZGlyfS9JbnNwZWN0b3JSZXNvdXJjZXMvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9u
cy9lbi5scHJvagogICAgICAgICBDT01NQU5EIGNwICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNl
L1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5q
cyAke19kZXJpdmVkX3NvdXJjZXNfZGlyfS9JbnNwZWN0b3JSZXNvdXJjZXMvV2ViSW5zcGVjdG9y
VUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCiAgICAgICAgIENP
TU1BTkQgdG91Y2ggJHtDTUFLRV9CSU5BUllfRElSfS9pbnNwZWN0b3ItcmVzb3VyY2VzLnN0YW1w
CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvRmluZEdyYXBoVml6LmNtYWtlIGIvU291cmNlL2Nt
YWtlL0ZpbmRHcmFwaFZpei5jbWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MWYwNGVjM2RjM2MwNGQ0MTZjYTM5
M2FjY2VlZDFkOGQ3MjcxNjZkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL2NtYWtlL0ZpbmRH
cmFwaFZpei5jbWFrZQpAQCAtMCwwICsxLDQ4IEBACisjIC0gVHJ5IHRvIGZpbmQgR3JhcGhWaXoK
KyMgT25jZSBkb25lLCB0aGlzIHdpbGwgZGVmaW5lCisjCisjICBHUkFQSFZJWl9GT1VORCAtIHN5
c3RlbSBoYXMgR3JhcGhWaXouCisjICBHUkFQSFZJWl9JTkNMVURFX0RJUlMgLSB0aGUgR3JhcGhW
aXouIGluY2x1ZGUgZGlyZWN0b3JpZXMKKyMgIEdSQVBIVklaX0xJQlJBUklFUyAtIGxpbmsgdGhl
c2UgdG8gdXNlIEdyYXBoVml6LgorIworIyBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTC4K
KyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMg
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMKKyMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIEhPTERFUiBPUiBJVFMKKyMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisjIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7CisjIE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLAorIyBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UgorIyBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGCisjIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorCitmaW5kX3BhY2thZ2UoUGtnQ29uZmlnKQorcGtnX2NoZWNrX21vZHVsZXMoR1JB
UEhWSVogbGliZ3ZjIGxpYmNncmFwaCkKKworc2V0KFZFUlNJT05fT0sgVFJVRSkKK2lmIChHUkFQ
SFZJWl9WRVJTSU9OKQorICAgIGlmIChHUkFQSFZJWl9GSU5EX1ZFUlNJT05fRVhBQ1QpCisgICAg
ICAgIGlmIChOT1QoIiR7R1JBUEhWSVpfRklORF9WRVJTSU9OfSIgVkVSU0lPTl9FUVVBTCAiJHtH
UkFQSFZJWl9WRVJTSU9OfSIpKQorICAgICAgICAgICAgc2V0KFZFUlNJT05fT0sgRkFMU0UpCisg
ICAgICAgIGVuZGlmICgpCisgICAgZWxzZSAoKQorICAgICAgICBpZiAoIiR7R1JBUEhWSVpfVkVS
U0lPTn0iIFZFUlNJT05fTEVTUyAiJHtHUkFQSFZJWl9GSU5EX1ZFUlNJT059IikKKyAgICAgICAg
ICAgIHNldChWRVJTSU9OX09LIEZBTFNFKQorICAgICAgICBlbmRpZiAoKQorICAgIGVuZGlmICgp
CitlbmRpZiAoKQorCitpbmNsdWRlKEZpbmRQYWNrYWdlSGFuZGxlU3RhbmRhcmRBcmdzKQorRklO
RF9QQUNLQUdFX0hBTkRMRV9TVEFOREFSRF9BUkdTKEdSQVBIVklaIERFRkFVTFRfTVNHIEdSQVBI
VklaX0lOQ0xVREVfRElSUyBHUkFQSFZJWl9MSUJSQVJJRVMgVkVSU0lPTl9PSykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9jbWFrZS9HU3RyZWFtZXJDaGVja3MuY21ha2UgYi9Tb3VyY2UvY21ha2UvR1N0
cmVhbWVyQ2hlY2tzLmNtYWtlCmluZGV4IDE4YjEyZjgyYThkMjhjMzQyM2YzZTZmMzE0NzM4ODk4
YzFmNjQ3NmMuLjlmYTM0MjgwYjNlYjA3OGRhMjQ4MTdkOTA5ODEwNTdjNTRkZWZjZjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9jbWFrZS9HU3RyZWFtZXJDaGVja3MuY21ha2UKKysrIGIvU291cmNlL2Nt
YWtlL0dTdHJlYW1lckNoZWNrcy5jbWFrZQpAQCAtMTAsNiArMTAsNyBAQCBpZiAoRU5BQkxFX1ZJ
REVPIE9SIEVOQUJMRV9XRUJfQVVESU8pCiAgICAgICAgIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxE
KFVTRV9XRUJBVURJT19HU1RSRUFNRVIgVFJVRSkKICAgICBlbmRpZiAoKQogCisgICAgZmluZF9w
YWNrYWdlKEdyYXBoVml6IDIuNDMgUkVRVUlSRUQpCiAgICAgZmluZF9wYWNrYWdlKEdTdHJlYW1l
ciAxLjEwLjAgUkVRVUlSRUQgQ09NUE9ORU5UUyAke0dTVFJFQU1FUl9DT01QT05FTlRTfSkKIAog
ICAgIGlmIChFTkFCTEVfV0VCX0FVRElPKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385960</attachid>
            <date>2019-12-18 04:55:36 -0800</date>
            <delta_ts>2019-12-18 04:58:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204619-20191218125533.patch</filename>
            <type>text/plain</type>
            <size>625819</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNjc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
ZTA5NTY0ZjcwYmZmMDYyODFmODQzZDU0OWEwZGI3YzNhYzNkYmRlLi41YzQ1Y2IzYmZhMzBmNjky
ZDE3YmU0NTUyOTBlYzg5OTU5OWFkYzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBm
b3IgR1N0cmVhbWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb246
IEFkZCBHU3RyZWFtZXIgQVBJIGZvciBwaXBlbGluZSBpbnNwZWN0aW9uIGluIHRoZSBwYWdlIHBy
b3RvY29sLgorCiAyMDE5LTEyLTE3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+
CiAKICAgICAgICAgW0pTQ10gOEJpdCBKU1JvcGVTdHJpbmcgY2FuIGNvbnRhaW4gMTZCaXQgc3Ry
aW5nIGluIGl0cyByb3BlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I0OTk3NTlmN2U5MDI2MjBmYTE4NWM4ZDY1
ZTYwODAwNmI1YTI3ZS4uN2E5MWUzM2IwMTkzYmQwZTNiMTczNjIwYmJmODU1ODBhY2ZjZDZlZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE5LTExLTI2ICBQaGlsaXBwZSBOb3JtYW5k
ICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIFdlYiBJbnNwZWN0
b3I6IEFkZCBuZXcgdGFiIGZvciBHU3RyZWFtZXIgcGlwZWxpbmVzIGluc3BlY3Rpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDYxOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtlZXAgdHJhY2sgb2Yg
dGhlIEdTdHJlYW1lciBwaXBlbGluZXMsIHRoaXMgd2lsbCBhbGxvdyB0aGUKKyAgICAgICAgV2Vi
SW5zcGVjdG9yIHRvIGxpc3QgYW5kIGRpc3BsYXkgdGhlbSBpbiBhIGRlZGljYXRlZCB0YWIuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBkb2Vzbid0IGNvdmVyIHRoZSBwaXBlbGluZXMgY3JlYXRlZCBi
eSB0aGUgR1N0cmVhbWVyCisgICAgICAgIExpYldlYlJUQyBiYWNrZW5kLiBTdXBwb3J0IGZvciB0
aGF0IHdvdWxkIGJlIGFkZGVkIGxhdGVyLCBpZiB0aGUKKyAgICAgICAgY3VycmVudCBhcHByb2Fj
aCBpcyBkZWVtZWQgYWNjZXB0YWJsZS4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Db250ZXh0LmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rl
c3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWZhdWx0QXVkaW9EZXN0aW5h
dGlvbk5vZGU6OnVuaW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZWZhdWx0QXVkaW9E
ZXN0aW5hdGlvbk5vZGU6OmNyZWF0ZURlc3RpbmF0aW9uKToKKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Z3N0
cmVhbWVyUGlwZWxpbmVzQ2FjaGVVcGRhdGVkKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6cG9ydCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1lclBpcGVsaW5lQ2FjaGVVcGRh
dGVkSW1wbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFtZXJQ
aXBlbGluZUNhY2hlVXBkYXRlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50Ojpn
ZXRHU3RyZWFtZXJQaXBlbGluZXNOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQ
YWdlQWdlbnQ6OmdldEdTdHJlYW1lclBpcGVsaW5lQmluTmFtZXMpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpkdW1wR1N0cmVhbWVyUGlwZWxpbmUpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50Ojpnc3RyZWFtZXJQaXBlbGluZUNhY2hlVXBkYXRl
ZCk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvQXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyOjpBdWRp
b0Rlc3RpbmF0aW9uR1N0cmVhbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRGVzdGluYXRp
b25HU3RyZWFtZXI6On5BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJDbGllbnQ6OmdzdHJlYW1lclBpcGVsaW5lc0NhY2hlVXBkYXRlZCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpyZWdpc3RlckdTdHJlYW1lclBpcGVsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OnVu
cmVnaXN0ZXJHU3RyZWFtZXJQaXBlbGluZSk6CisgICAgICAgIChXZWJDb3JlOjpnc3RQaXBlbGlu
ZXNOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpkdW1wR1N0cmVhbWVyUGlwZWxpbmUpOgorICAg
ICAgICAoV2ViQ29yZTo6Z2V0QmluQ2hpbGRyZW4pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0UGlwZWxpbmUpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVHU1RQbGF5
QmluKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBp
cGVsaW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGVuZFBpcGVsaW5lOjpBcHBlbmRQaXBl
bGluZSk6CisgICAgICAgIChXZWJDb3JlOjpBcHBlbmRQaXBlbGluZTo6fkFwcGVuZFBpcGVsaW5l
KToKKwogMjAxOS0xMi0xOCAgQ2hyaXMgTG9yZCAgPGNsb3JkQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgTWlzc2luZyBoZWFkZXJzIGluIHdvcmtlciBmaWxlcyBjYXVzZSByYW5kb20gYnVpbGQgZmFp
bHVyZXMgd2hlbiBhZGRpbmcgbmV3IGZpbGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAw
YWQyMzY1NTY2ZTUzNTgxZGU0MmQ4ZjYzNmI1MzZkNDQwZjdlMzcwLi42OTliY2Q0YzI5ZTA5Yjhm
NTMxMTYwYzIyNWFmZDhiMGUxYzY5N2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4NSBAQAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBm
b3IgR1N0cmVhbWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3IgdGhlIFdQRSBhbmQgR1RLIHBvcnRzIGEgbmV3
IEluc3BlY3RvciB0YWIgaXMgbm93IGF2YWlsYWJsZS4gT24KKyAgICAgICAgdGhlIGxlZnQgaGFu
ZC1zaWRlIHRoZSBjdXJyZW50bHkgYWxpdmUgcGlwZWxpbmVzIGFyZSBsaXN0ZWQuIFdoZW4KKyAg
ICAgICAgYSBwaXBlbGluZSBpcyBzZWxlY3RlZCwgaXRzIGdyYXBoIHJlcHJlc2VudGF0aW9uIGlz
IGV4cG9ydGVkIHRvCisgICAgICAgIFNWRyBhbmQgZGlzcGxheWVkIG9uIHRoZSByaWdodCBoYW5k
LXNpZGUgb2YgdGhlIHRhYiB2aWV3LiBTdWIgYmlucworICAgICAgICBvZiB0aGUgcGlwZWxpbmVz
IGNhbiBiZSBzZWxlY3RlZCBhbmQgdGhlIGdyYXBoIHdpbGwgYmUgdXBkYXRlZAorICAgICAgICBh
Y2NvcmRpbmdseS4gVGhlIGZ1bGwgZ3JhcGggY2FuIGJlIGV4cG9ydGVkIHRvIEdyYXBoVml6IGZv
cm1hdCBhbmQKKyAgICAgICAgc2F2ZWQgdG8gYSBmaWxlLgorCisgICAgICAgIFRoZSB2aXouanMg
YW5kIHN2Zy1wYW4tem9vbSBKUyBsaWJyYXJpZXMgYXJlIG5vdyBidW5kbGVkIGFzCisgICAgICAg
IHRoaXJkLXBhcnR5IG1vZHVsZXMuIExhdGVyIG9uIHRoZSBkMywgZGFncmUtZDMgYW5kIGdyYXBo
bGliLWRvdAorICAgICAgICBsaWJyYXJpZXMgY291bGQgYmUgdXNlZC4gRm9yIHRoZSB0aW1lIGJl
aW5nIHRoZSBncmFwaGxpYi1kb3QKKyAgICAgICAgcGFyc2VyIGRvZXNuJ3QgaGFuZGxlIHRoZSBH
cmFwaHZpeiBtb2RlbHMgZXhwb3J0ZWQgYnkgR1N0cmVhbWVyLgorCisgICAgICAgICogTG9jYWxp
emF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFNjcmlwdHMv
Y29weS11c2VyLWludGVyZmFjZS1yZXNvdXJjZXMucGw6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9CYXNlL01haW4uanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL1BsYXRmb3JtLmpz
OgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR1N0cmVhbWVyTWFuYWdlci5q
czogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9FeHRlcm5hbC9zdmctcGFuLXpvb20u
anMvTElDRU5TRTogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9FeHRlcm5hbC9zdmct
cGFuLXpvb20uanMvc3ZnLXBhbi16b29tLm1pbi5qczogQWRkZWQuCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9FeHRlcm5hbC92aXouanMvTElDRU5TRTogQWRkZWQuCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9FeHRlcm5hbC92aXouanMvZnVsbC5yZW5kZXIuanM6IEFkZGVkLgorICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvdml6LmpzL2xpdGUucmVuZGVyLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL0V4dGVybmFsL3Zpei5qcy92aXouanM6IEFkZGVkLgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvSW1hZ2VzL0dTdHJlYW1lci5zdmc6IEFkZGVkLgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvTWFpbi5odG1sOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9k
ZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1Byb3RvY29sL1BhZ2VPYnNlcnZlci5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L0dTdHJlYW1lclNpZGViYXJQYW5lbC5jc3M6IEFkZGVkLgorICAgICAgICAoLnNpZGViYXIgPiAu
cGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciA+IC5jb250ZW50KToKKyAgICAgICAgKC5zaWRlYmFy
ID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgPiAubmF2aWdhdGlvbi1iYXIpOgorICAgICAg
ICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciA+IC5uYXZpZ2F0aW9uLWJh
ciAuZGVidWdnZXItYnJlYWtwb2ludHMpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2
aWdhdGlvbi5kZWJ1Z2dlciA+IC5uYXZpZ2F0aW9uLWJhciAuZGVidWdnZXItYnJlYWtwb2ludHMu
YWN0aXZhdGVkKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdn
ZXIgPiAubmF2aWdhdGlvbi1iYXIgLmRlYnVnZ2VyLXBhdXNlLXJlc3VtZSk6CisgICAgICAgICgu
c2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyID4gLm5hdmlnYXRpb24tYmFyIC5k
ZWJ1Z2dlci1wYXVzZS1yZXN1bWUuYWN0aXZhdGVkKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBh
bmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLndhcm5pbmctYmFubmVyKToKKyAgICAgICAgKC5zaWRl
YmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhy
ZWFkID4gLml0ZW0udGhyZWFkKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRp
b24uZGVidWdnZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkKToKKyAgICAgICAgKGJvZHlb
ZGlyPWx0cl0gLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAudHJlZS1vdXRs
aW5lLnNpbmdsZS10aHJlYWQpOgorICAgICAgICAoYm9keVtkaXI9cnRsXSAuc2lkZWJhciA+IC5w
YW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC50cmVlLW91dGxpbmUuc2luZ2xlLXRocmVhZCk6Cisg
ICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC53YXJuaW5nLWJh
bm5lciA+IGEpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dl
ciAuZGV0YWlscy1zZWN0aW9uKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRp
b24uZGVidWdnZXIgLmRldGFpbHMtc2VjdGlvbi5wYXVzZWQtcmVhc29uLmNvbGxhcHNlZCA+IC5o
ZWFkZXIgPiAub3B0aW9ucyk6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9u
LmRlYnVnZ2VyIC5kZXRhaWxzLXNlY3Rpb24gPiAuY29udGVudCk6CisgICAgICAgICguc2lkZWJh
ciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC5kZXRhaWxzLXNlY3Rpb24uY29sbGFwc2Vk
ID4gLmNvbnRlbnQpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1
Z2dlciAuZGV0YWlscy1zZWN0aW9uID4gLmNvbnRlbnQgPiAuZ3JvdXApOgorICAgICAgICAoLnNp
ZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0YWlscy1zZWN0aW9uLnNjcmlw
dHM6bm90KC5jb2xsYXBzZWQpKToKKyAgICAgICAgKEBtZWRpYSAocHJlZmVycy1kYXJrLWludGVy
ZmFjZSkpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBh
bmVsLmpzOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRh
YkNvbnRlbnRWaWV3LmNzczogQWRkZWQuCisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1l
cik6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciAubmF2aWdhdGlvbi1iYXIpOgor
ICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgLm5hdmlnYXRpb24tYmFyLmludmlzaWJs
ZSk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciAubmF2aWdhdGlvbi1iYXIgLml0
ZW0ucmFkaW8uYnV0dG9uLnRleHQtb25seSk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJl
YW1lciAubmF2aWdhdGlvbi1iYXIgLml0ZW0ucmFkaW8uYnV0dG9uLnRleHQtb25seS5zZWxlY3Rl
ZCk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+
IC5zZXBhcmF0b3IpOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVh
bWVyLXZpZXcgPiAuY29udGFpbmVyKToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVy
ID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lci5oaWRkZW4pOgorICAgICAgICAoLmNvbnRl
bnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyLWNlbnRlcmVk
KToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4g
LmNvbnRhaW5lciBidXR0b24pOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAu
Z3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLnRpdGxlKToKKyAgICAgICAgKGJvZHlbZGly
PWx0cl0gLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFp
bmVyID4gLnRpdGxlKToKKyAgICAgICAgKGJvZHlbZGlyPXJ0bF0gLmNvbnRlbnQtdmlldy5nc3Ry
ZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLnRpdGxlKToKKyAgICAgICAg
KC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+
IC5lZGl0b3ItZ3JvdXApOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0
cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXQp
OgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAu
Y29udGFpbmVyID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0iY2hlY2tib3gi
XSk6CisgICAgICAgIChib2R5W2Rpcj1sdHJdIC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdz
dHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAgPiAuZWRpdG9yIGlucHV0
W3R5cGU9ImNoZWNrYm94Il0pOgorICAgICAgICAoYm9keVtkaXI9cnRsXSAuY29udGVudC12aWV3
LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3Vw
ID4gLmVkaXRvciBpbnB1dFt0eXBlPSJjaGVja2JveCJdKToKKyAgICAgICAgKC5jb250ZW50LXZp
ZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3Jv
dXAgPiAuZWRpdG9yIHNlbGVjdCk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+
IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRvciBp
bnB1dFt0eXBlPSJudW1iZXIiXSk6CisgICAgICAgIChib2R5W2Rpcj1sdHJdIC5jb250ZW50LXZp
ZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3Jv
dXAgPiAuZWRpdG9yIGlucHV0W3R5cGU9Im51bWJlciJdKToKKyAgICAgICAgKGJvZHlbZGlyPXJ0
bF0gLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVy
ID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0ibnVtYmVyIl0pOgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuanM6IEFkZGVk
LgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVmlldy5qczogQWRkZWQu
CisKIDIwMTktMTItMTEgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogYWRkIFRhYk5hdmlnYXRpb24gZGlhZ25vc3RpYyBldmVudCBhbmQgcmVs
YXRlZCBob29rcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCBkNzk5ZDJhZGIwNzlmMTkxMTA1ZDRlYjgxNDUwY2RlOWZk
MWM4MmIxLi43MjQyOTQ4ZDYwMjIxYTU4ZTRkMTM0MjBkOGMzMmU5YzJlMzkzYmU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDE5LTExLTI2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1h
bmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIFdlYiBJbnNwZWN0b3I6IEFkZCBu
ZXcgdGFiIGZvciBHU3RyZWFtZXIgcGlwZWxpbmVzIGluc3BlY3Rpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDYxOQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW5zcGVjdG9yR1Jlc291cmNlcy5j
bWFrZTogQnVuZGxlIHN2Zy1wYW4tem9vbSBhbmQgdml6IEphdmFTY3JpcHQgbW9kdWxlcy4KKwog
MjAxOS0xMi0xOCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS11bV2ViSW5zcGVjdG9yXSBTdXBwb3J0IGZvciBzYXZpbmcgcmVtb3RlIGRhdGEK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAzZGNjZTBmODFlZDQ0Yzc0ZDYw
ZWE1YTBjNjI4ZDhiZmFkOTMzMDhmLi45YzRkYzVhZGJlYmQxOGIyYzc3YjMxODZhMmY4M2EwMzNk
YmY1MTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMTgzLDYgKzEx
ODMsMTIgQEAgaWYgKEVOQUJMRV9TRVJWSUNFX1dPUktFUikKICAgICApCiBlbmRpZiAoKQogCitp
ZiAoVVNFX0dTVFJFQU1FUikKKyAgICBsaXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9JTlNQRUNU
T1JfRE9NQUlOUworICAgICAgICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yL3Byb3Rv
Y29sL0dTdHJlYW1lci5qc29uCisgICAgKQorZW5kaWYgKCkKKwogYWRkX2N1c3RvbV9jb21tYW5k
KAogICAgIE9VVFBVVCAke0phdmFTY3JpcHRDb3JlX0RFUklWRURfU09VUkNFU19ESVJ9L0NvbWJp
bmVkRG9tYWlucy5qc29uCiAgICAgTUFJTl9ERVBFTkRFTkNZICR7SmF2YVNjcmlwdENvcmVfU0NS
SVBUU19ESVJ9L2dlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0dTdHJlYW1lci5qc29u
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9HU3RyZWFtZXIuanNv
bgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xYWYzZTM3NTg3MDJjNTg1MTE1ZDQxNWZhMTEwMDk3YzFjM2E2ZjBkCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2Nv
bC9HU3RyZWFtZXIuanNvbgpAQCAtMCwwICsxLDQ0IEBACit7CisgICAgImRvbWFpbiI6ICJHU3Ry
ZWFtZXIiLAorICAgICJmZWF0dXJlR3VhcmQiOiAiVVNFKEdTVFJFQU1FUikiLAorICAgICJkZWJ1
Z2dhYmxlVHlwZXMiOiBbInBhZ2UiLCAid2ViLXBhZ2UiXSwKKyAgICAidGFyZ2V0VHlwZXMiOiBb
InBhZ2UiXSwKKyAgICAidHlwZXMiOiBbXSwKKyAgICAiY29tbWFuZHMiOiBbCisgICAgICAgIHsK
KyAgICAgICAgICAgICJuYW1lIjogImdldEFjdGl2ZVBpcGVsaW5lc05hbWVzIiwKKyAgICAgICAg
ICAgICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHRoZSBsaXN0IG9mIGN1cnJlbnRseSBydW5uaW5n
IEdTdHJlYW1lciBwaXBlbGluZXMuIiwKKyAgICAgICAgICAgICJyZXR1cm5zIjogWworICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAicGlwZWxpbmVzIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMi
OiB7ICIkcmVmIjogInN0cmluZyJ9LCAiZGVzY3JpcHRpb24iOiAiQXJyYXkgb2YgcGlwZWxpbmUg
bmFtZXMuIiB9CisgICAgICAgICAgICBdCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAg
ICAgICJuYW1lIjogImdldEFjdGl2ZVBpcGVsaW5lQmluTmFtZXMiLAorICAgICAgICAgICAgImRl
c2NyaXB0aW9uIjogIlJldHVybnMgdGhlIGxpc3Qgb2YgYmlucyBpbiB0aGUgZ2l2ZW4gR1N0cmVh
bWVyIHBpcGVsaW5lLiIsCisgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInBpcGVsaW5lIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9u
IjogIk5hbWUgb2YgdGhlIEdTdHJlYW1lciBwaXBlbGluZSB0byBkdW1wLiIgfSwKKyAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImNoaWxkIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9u
IjogIk5hbWUgb2YgdGhlIGNoaWxkIGJpbiB0byBkdW1wLiIgfQorICAgICAgICAgICAgXSwKKyAg
ICAgICAgICAgICJyZXR1cm5zIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiYmluTmFt
ZXMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAic3RyaW5nIn0sICJkZXNj
cmlwdGlvbiI6ICJBcnJheSBvZiBiaW4gbmFtZXMuIiB9CisgICAgICAgICAgICBdCisgICAgICAg
IH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJuYW1lIjogImR1bXBBY3RpdmVQaXBlbGluZSIs
CisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB0aGUgU1ZHIHJlcHJlc2VudGF0
aW9uIG9mIHRoZSBnaXZlbiBHU3RyZWFtZXIgcGlwZWxpbmUuIiwKKyAgICAgICAgICAgICJwYXJh
bWV0ZXJzIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGlwZWxpbmUiLCAidHlwZSI6
ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgR1N0cmVhbWVyIHBpcGVsaW5l
IHRvIGR1bXAuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY2hpbGQiLCAidHlwZSI6
ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgY2hpbGQgYmluIHRvIGR1bXAu
IiB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgInJldHVybnMiOiBbCisgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJwaXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24iLCAidHlwZSI6ICJz
dHJpbmciLCAiZGVzY3JpcHRpb24iOiAiU1ZHIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwaXBlbGlu
ZSIgfQorICAgICAgICAgICAgXQorICAgICAgICB9CisgICAgXSwKKyAgICAiZXZlbnRzIjogWwor
ICAgICAgICB7CisgICAgICAgICAgICAibmFtZSI6ICJhY3RpdmVQaXBlbGluZXNDaGFuZ2VkIiwK
KyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIHRoZSBpbnRlcm5hbCByZWdp
c3RyeSBvZiBhY3RpdmUgR1N0cmVhbWVyIHBpcGVsaW5lcyB3YXMgdXBkYXRlZCwgZWcgd2hlbiBh
IG5ldyBwaXBlbGluZSB3YXMgcmVnaXN0ZXJlZCBvciB3aGVuIGEgcGlwZWxpbmUgd2FzIHJlbW92
ZWQgZnJvbSB0aGUgcmVnaXN0cnkuIgorICAgICAgICB9CisgICAgXQorfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmluZGV4IGQ2MTVjOTc5
YmI1NzU0MDFlNzc4MzJlNDljNTYzOGQ3OTk4ZTYzNzQuLjI0Y2RlZmJmMjM0NDk0MjRlNzk2Yzdh
NjI3MTJhYWI0ZjNkNzZhM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAgLTg0LDEwICs4NCw2IEBACiAjaW5jbHVkZSA8c3RkaW8u
aD4KICNlbmRpZgogCi0jaWYgVVNFKEdTVFJFQU1FUikKLSNpbmNsdWRlICJHU3RyZWFtZXJDb21t
b24uaCIKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpbmNsdWRlICJTY3Jp
cHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRp
b25Ob2RlLmNwcAppbmRleCAyNjcyZDY1ZTY4ZmViMDE2MjhiZWYwZjBlMGIwYWQ0ZDMxZjQ1Yjdj
Li5iNzBjYWFmZDhiZTcxZjcwZWY3N2QxYjU2NjNlMDA5YTBkZWQ2Mzk1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVkaW9E
ZXN0aW5hdGlvbk5vZGUuY3BwCkBAIC0zMCw2ICszMCw4IEBACiAKICNpbmNsdWRlICJBdWRpb0Nv
bnRleHQuaCIKICNpbmNsdWRlICJBdWRpb0Rlc3RpbmF0aW9uLmgiCisjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJM
b2dnaW5nLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBAIC03Nyw2ICs3OSwxMiBAQCB2b2lkIERlZmF1bHRB
dWRpb0Rlc3RpbmF0aW9uTm9kZTo6dW5pbml0aWFsaXplKCkKICAgICBtX2Rlc3RpbmF0aW9uID0g
bnVsbHB0cjsKICAgICBtX251bWJlck9mSW5wdXRDaGFubmVscyA9IDA7CiAKKyNpZiBVU0UoR1NU
UkVBTUVSKQorICAgIGF1dG8qIGRvY3VtZW50ID0gY29udGV4dCgpLmRvY3VtZW50KCk7CisgICAg
aWYgKGRvY3VtZW50KQorICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1l
ckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoZG9jdW1lbnQtPnBhZ2UoKSk7CisjZW5kaWYKKwogICAg
IEF1ZGlvTm9kZTo6dW5pbml0aWFsaXplKCk7CiB9CiAKQEAgLTg0LDggKzkyLDE0IEBAIHZvaWQg
RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjpjcmVhdGVEZXN0aW5hdGlvbigpCiB7CiAgICAg
ZmxvYXQgaGFyZHdhcmVTYW1wbGVSYXRlID0gQXVkaW9EZXN0aW5hdGlvbjo6aGFyZHdhcmVTYW1w
bGVSYXRlKCk7CiAgICAgTE9HKFdlYkF1ZGlvLCAiPj4+PiBoYXJkd2FyZVNhbXBsZVJhdGUgPSAl
ZlxuIiwgaGFyZHdhcmVTYW1wbGVSYXRlKTsKLSAgICAKKwogICAgIG1fZGVzdGluYXRpb24gPSBB
dWRpb0Rlc3RpbmF0aW9uOjpjcmVhdGUoKnRoaXMsIG1faW5wdXREZXZpY2VJZCwgbV9udW1iZXJP
ZklucHV0Q2hhbm5lbHMsIGNoYW5uZWxDb3VudCgpLCBoYXJkd2FyZVNhbXBsZVJhdGUpOworCisj
aWYgVVNFKEdTVFJFQU1FUikKKyAgICBhdXRvKiBkb2N1bWVudCA9IGNvbnRleHQoKS5kb2N1bWVu
dCgpOworICAgIGlmIChkb2N1bWVudCkKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Ojpnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKGRvY3VtZW50LT5wYWdlKCkpOworI2Vu
ZGlmCiB9CiAKIHZvaWQgRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjplbmFibGVJbnB1dChj
b25zdCBTdHJpbmcmIGlucHV0RGV2aWNlSWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDhlOTJmZGFjMzc0
MDQ0YmFkZWJkNjE0YzQwMzY3MDY5MDYyODFiMmQuLmI3ZjRkMmRlMGMzMWZjYzRhZDI4ZGUxMDE5
ZGIzM2VjYzZlNWFmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xMzkzLDYgKzEzOTMsNyBAQCBpbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwCiBpbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAKIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yRGF0YWJhc2VBZ2VudC5jcHAKIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySW5kZXhlZERC
QWdlbnQuY3BwCitpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckdTdHJlYW1lckFnZW50LmNwcAog
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKIGluc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ck5ldHdvcmtBZ2VudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CmluZGV4IDczMGI0ZTM4OWU3ODNmZTU2Njc1NWI4YWMzNjg4MTE5ZjA5NjkxNjQuLmEyNjY2OTFh
YWM1ZWY4YjZiYTYyYmIzODcxZjIxZDE2NWJkNDg4NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNzIyNSw2ICs3MjI1LDExIEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6cmVxdWVzdEluc3RhbGxNaXNzaW5nUGx1Z2lucyhjb25zdCBTdHJpbmcmIGRldGFp
bHMsIGNvbnN0CiAKICAgICBkb2N1bWVudCgpLnBhZ2UoKS0+Y2hyb21lKCkuY2xpZW50KCkucmVx
dWVzdEluc3RhbGxNaXNzaW5nTWVkaWFQbHVnaW5zKGRldGFpbHMsIGRlc2NyaXB0aW9uLCBjYWxs
YmFjayk7CiB9CisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Z3N0cmVhbWVyQWN0aXZlUGlwZWxp
bmVzQ2hhbmdlZCgpCit7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFtZXJB
Y3RpdmVQaXBlbGluZXNDaGFuZ2VkKGRvY3VtZW50KCkucGFnZSgpKTsKK30KICNlbmRpZgogCiB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92ZUJlaGF2aW9yUmVzdHJpY3Rpb25zQWZ0ZXJGaXJz
dFVzZXJHZXN0dXJlKE1lZGlhRWxlbWVudFNlc3Npb246OkJlaGF2aW9yUmVzdHJpY3Rpb25zIG1h
c2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IGE1ZjE4N2I3OGY5
NDYxNDE0OWVkMmMzZDY0ZjRkYTY4NGEzYmM2MmUuLmJjMDkwMTM4MmE3YWY1OGM5NzEyYzhhODU0
NWI0YWU2NmRjMDEyNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBA
IC03NTgsNiArNzU4LDcgQEAgcHJpdmF0ZToKIAogI2lmIFVTRShHU1RSRUFNRVIpCiAgICAgdm9p
ZCByZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zKGNvbnN0IFN0cmluZyYgZGV0YWlscywgY29u
c3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgTWVkaWFQbGF5ZXJSZXF1ZXN0SW5zdGFsbE1pc3NpbmdQ
bHVnaW5zQ2FsbGJhY2smKSBmaW5hbDsKKyAgICB2b2lkIGdzdHJlYW1lckFjdGl2ZVBpcGVsaW5l
c0NoYW5nZWQoKSBmaW5hbDsKICNlbmRpZgogCiAgICAgdm9pZCBwZW5kaW5nQWN0aW9uVGltZXJG
aXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuY3BwCmluZGV4IDdkNTBkZGM3YTM4YTM3MjNlNGVlN2Q2NmNhOTdjOGFjYjM3YzcyNmEuLmVm
MTMyZjEyYjMxOWUwNDM1YmQ1N2MyNzYyYzA3MGU4NTRlNDM3NmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTg4LDYgKzg4LDEw
IEBACiAjaW5jbHVkZSAiUGFnZURlYnVnZ2FibGUuaCIKICNlbmRpZgogCisjaWYgVVNFKEdTVFJF
QU1FUikKKyNpbmNsdWRlICJJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5oIgorI2VuZGlmCisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKQEAgLTE3NCw2ICsxNzgs
MTAgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjcmVhdGVMYXp5QWdlbnRzKCkKICAgICBt
X2FnZW50cy5hcHBlbmQobWFrZVVuaXF1ZTxJbnNwZWN0b3JJbmRleGVkREJBZ2VudD4ocGFnZUNv
bnRleHQpKTsKICNlbmRpZgogCisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBtX2FnZW50cy5hcHBl
bmQobWFrZVVuaXF1ZTxJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudD4ocGFnZUNvbnRleHQpKTsKKyNl
bmRpZgorCiAgICAgYXV0byBzY3JpcHRQcm9maWxlckFnZW50UHRyID0gbWFrZVVuaXF1ZTxJbnNw
ZWN0b3JTY3JpcHRQcm9maWxlckFnZW50PihwYWdlQ29udGV4dCk7CiAgICAgbV9pbnN0cnVtZW50
aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50KHNjcmlwdFByb2ZpbGVy
QWdlbnRQdHIuZ2V0KCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChXVEZNb3ZlKHNjcmlwdFByb2Zp
bGVyQWdlbnRQdHIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kSG9zdC5jcHAKaW5kZXggZTcyMDRjYjMzNTNlOTI1MTAwMGZhNTIyYTI0Nzc4YWJi
NjYyMTdiNS4uNDY3ODViM2QwNGNiNzQwMzRiNWUwOTA4NjQ2MDQ3MjAxOGIyNjc2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAK
QEAgLTMxNSw2ICszMTUsOCBAQCBTdHJpbmcgSW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojpwb3J0KCkK
IHsKICNpZiBQTEFURk9STShHVEspCiAgICAgcmV0dXJuICJndGsiX3M7CisjZWxpZiBQTEFURk9S
TShXUEUpCisgICAgcmV0dXJuICJ3cGUiX3M7CiAjZWxzZQogICAgIHJldHVybiAidW5rbm93biJf
czsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCA0ZjE4YjU4YzZjZDAxZTBiNjlhODk1M2FkMDlhNzM5
YzM1MjA0OTZhLi43MTQ1ZWUwODZkYzg4YTkwYjdkNmVlMjdmOTg1OWNlYThkZjQ5ZTk5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcApAQCAtODUsNiArODUsMTAgQEAKICNpbmNsdWRlICJXZWJHUFVTd2FwQ2hhaW4uaCIK
ICNlbmRpZgogCisjaWYgVVNFKEdTVFJFQU1FUikKKyNpbmNsdWRlICJJbnNwZWN0b3JHU3RyZWFt
ZXJBZ2VudC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNw
YWNlIEluc3BlY3RvcjsKQEAgLTEyODYsNCArMTI5MCwxMiBAQCBJbnN0cnVtZW50aW5nQWdlbnRz
KiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0
KFNjcgogICAgIHJldHVybiBudWxscHRyOwogfQogCisjaWYgVVNFKEdTVFJFQU1FUikKK3ZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2Vk
SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzKQoreworICAgIGlm
IChhdXRvKiBnc3RyZWFtZXJBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yR1N0
cmVhbWVyQWdlbnQoKSkKKyAgICAgICAgZ3N0cmVhbWVyQWdlbnQtPmFjdGl2ZVBpcGVsaW5lc0No
YW5nZWQoKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXgg
ZGJmODIyMDVkYjViY2NiZTE2OWVkMGU5NDdkMWFkODNkZDg1MGZkNi4uZWJhNTZkODlmYzRiODc2
NDMwMWY5NmUwZTAxODE2ZTAzODMxMWE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMzE0LDYgKzMxNCwxMCBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbGF5ZXJUcmVlRGlkQ2hhbmdlKFBhZ2UqKTsKICAgICBz
dGF0aWMgdm9pZCByZW5kZXJMYXllckRlc3Ryb3llZChQYWdlKiwgY29uc3QgUmVuZGVyTGF5ZXIm
KTsKIAorI2lmIFVTRShHU1RSRUFNRVIpCisgICAgc3RhdGljIHZvaWQgZ3N0cmVhbWVyQWN0aXZl
UGlwZWxpbmVzQ2hhbmdlZChQYWdlKik7CisjZW5kaWYKKwogICAgIHN0YXRpYyB2b2lkIGZyb250
ZW5kQ3JlYXRlZCgpOwogICAgIHN0YXRpYyB2b2lkIGZyb250ZW5kRGVsZXRlZCgpOwogICAgIHN0
YXRpYyBib29sIGhhc0Zyb250ZW5kcygpIHsgcmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
blB1YmxpYzo6aGFzRnJvbnRlbmRzKCk7IH0KQEAgLTQ3OSw2ICs0ODMsOSBAQCBwcml2YXRlOgog
I2lmIEVOQUJMRShSRVNPVVJDRV9VU0FHRSkKICAgICBzdGF0aWMgdm9pZCBkaWRIYW5kbGVNZW1v
cnlQcmVzc3VyZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIENyaXRpY2FsKTsKICNlbmRpZgor
I2lmIFVTRShHU1RSRUFNRVIpCisgICAgc3RhdGljIHZvaWQgZ3N0cmVhbWVyQWN0aXZlUGlwZWxp
bmVzQ2hhbmdlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYpOworI2VuZGlmCiAKICAgICBzdGF0
aWMgdm9pZCBuZXR3b3JrU3RhdGVDaGFuZ2VkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJik7CiAg
ICAgc3RhdGljIHZvaWQgdXBkYXRlQXBwbGljYXRpb25DYWNoZVN0YXR1c0ltcGwoSW5zdHJ1bWVu
dGluZ0FnZW50cyYsIEZyYW1lJik7CkBAIC0xNjE1LDYgKzE2MjIsMTUgQEAgaW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRmlyZUFuaW1hdGlvbkZyYW1lKERvY3VtZW50
JiBkb2N1bWVudCwKICAgICAgICAgd2lsbEZpcmVBbmltYXRpb25GcmFtZUltcGwoKmluc3RydW1l
bnRpbmdBZ2VudHMsIGNhbGxiYWNrSWQsIGRvY3VtZW50KTsKIH0KIAorI2lmIFVTRShHU1RSRUFN
RVIpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1lckFjdGl2
ZVBpcGVsaW5lc0NoYW5nZWQoUGFnZSogcGFnZSkKK3sKKyAgICBGQVNUX1JFVFVSTl9JRl9OT19G
Uk9OVEVORFModm9pZCgpKTsKKyAgICBpZiAoYXV0byogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGlu
c3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQorICAgICAgICBnc3RyZWFtZXJBY3RpdmVQ
aXBlbGluZXNDaGFuZ2VkSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cyk7Cit9CisjZW5kaWYKKwog
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaXJlQW5pbWF0aW9uRnJh
bWUoRG9jdW1lbnQmIGRvY3VtZW50KQogewogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5E
Uyh2b2lkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1l
bnRpbmdBZ2VudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdB
Z2VudHMuY3BwCmluZGV4IDFmOWEwZDdjNTMyYTNmOTA4NTZjMTg0YTFmZmMzYjFjZjM1ZWZjODcu
LmViN2MzMTg3YTJjZTAxMWRlMDU3ZGQyYjkzMTFjOTYyYzZhMGU5MzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAKQEAgLTcxLDYgKzcx
LDkgQEAgdm9pZCBJbnN0cnVtZW50aW5nQWdlbnRzOjpyZXNldCgpCiAgICAgbV9pbnNwZWN0b3JD
YW52YXNBZ2VudCA9IG51bGxwdHI7CiAgICAgbV9wZXJzaXN0ZW50SW5zcGVjdG9yQW5pbWF0aW9u
QWdlbnQgPSBudWxscHRyOwogICAgIG1fdHJhY2tpbmdJbnNwZWN0b3JBbmltYXRpb25BZ2VudCA9
IG51bGxwdHI7CisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBtX2luc3BlY3RvckdTdHJlYW1lckFn
ZW50ID0gbnVsbHB0cjsKKyNlbmRpZgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAppbmRleCBmNmZl
YTdkYTIxMzYwZGQwOGNjM2Q5NjZiMTRlMmFhYzQ2NTQ0OTE1Li40YTZkMzk3Zjg2YWJlMTM4YWM4
NTBiNjk5ZThmNzZkYmRlYWNjOWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTM2LDYgKzM2LDEwIEBACiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAorI2lmIFVTRShHU1RS
RUFNRVIpCisjaW5jbHVkZSAiSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaCIKKyNlbmRpZgorCiBu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKIGNsYXNzIEluc3BlY3RvckFnZW50OwogY2xhc3MgSW5zcGVj
dG9yRGVidWdnZXJBZ2VudDsKQEAgLTE1OSw2ICsxNjMsMTEgQEAgcHVibGljOgogICAgIEluc3Bl
Y3RvckFuaW1hdGlvbkFnZW50KiB0cmFja2luZ0luc3BlY3RvckFuaW1hdGlvbkFnZW50KCkgY29u
c3QgeyByZXR1cm4gbV90cmFja2luZ0luc3BlY3RvckFuaW1hdGlvbkFnZW50OyB9CiAgICAgdm9p
ZCBzZXRUcmFja2luZ0luc3BlY3RvckFuaW1hdGlvbkFnZW50KEluc3BlY3RvckFuaW1hdGlvbkFn
ZW50KiBhZ2VudCkgeyBtX3RyYWNraW5nSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQgPSBhZ2VudDsg
fQogCisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCogaW5z
cGVjdG9yR1N0cmVhbWVyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvckdTdHJlYW1l
ckFnZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudChJbnNwZWN0b3JH
U3RyZWFtZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCA9IGFnZW50
OyB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBJbnN0cnVtZW50aW5nQWdlbnRzKEluc3BlY3Rv
cjo6SW5zcGVjdG9yRW52aXJvbm1lbnQmKTsKIApAQCAtMTkxLDYgKzIwMCw5IEBAIHByaXZhdGU6
CiAgICAgSW5zcGVjdG9yQ2FudmFzQWdlbnQqIG1faW5zcGVjdG9yQ2FudmFzQWdlbnQgeyBudWxs
cHRyIH07CiAgICAgSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQqIG1fcGVyc2lzdGVudEluc3BlY3Rv
ckFuaW1hdGlvbkFnZW50IHsgbnVsbHB0ciB9OwogICAgIEluc3BlY3RvckFuaW1hdGlvbkFnZW50
KiBtX3RyYWNraW5nSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQgeyBudWxscHRyIH07CisjaWYgVVNF
KEdTVFJFQU1FUikKKyAgICBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCogbV9pbnNwZWN0b3JHU3Ry
ZWFtZXJBZ2VudCB7IG51bGxwdHIgfTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JHU3RyZWFtZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckdTdHJlYW1lckFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDBjYzY4ZWVlNTI3ZDkwZjZi
YjhiZmMxNGFhZjYxZTEyOWJhN2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5jcHAKQEAgLTAsMCArMSw4
MCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIx
MTAtMTMwMSAgVVNBCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkluc3Bl
Y3RvckdTdHJlYW1lckFnZW50LmgiCisKKyNpZiBVU0UoR1NUUkVBTUVSKQorCisjaW5jbHVkZSAi
R1N0cmVhbWVyQ29tbW9uLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKKworSW5zcGVj
dG9yR1N0cmVhbWVyQWdlbnQ6Okluc3BlY3RvckdTdHJlYW1lckFnZW50KFBhZ2VBZ2VudENvbnRl
eHQmIGNvbnRleHQpCisgICAgOiBJbnNwZWN0b3JBZ2VudEJhc2UoIkdTdHJlYW1lciJfcywgY29u
dGV4dCkKKyAgICAsIG1fYmFja2VuZERpc3BhdGNoZXIoSW5zcGVjdG9yOjpHU3RyZWFtZXJCYWNr
ZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGNvbnRleHQuYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpKQor
ICAgICwgbV9mcm9udGVuZERpc3BhdGNoZXIobWFrZVVuaXF1ZTxJbnNwZWN0b3I6OkdTdHJlYW1l
ckZyb250ZW5kRGlzcGF0Y2hlcj4oY29udGV4dC5mcm9udGVuZFJvdXRlcikpCit7Cit9CisKK0lu
c3BlY3RvckdTdHJlYW1lckFnZW50Ojp+SW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQoKSA9IGRlZmF1
bHQ7CisKK3ZvaWQgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlz
cGF0Y2hlciopCit7Cit9CisKK3ZvaWQgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6OndpbGxEZXN0
cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikKK3sKK30K
Kwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudDo6Z2V0QWN0aXZlUGlwZWxpbmVzTmFtZXMo
RXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxTdHJpbmc+PiYg
cGlwZWxpbmVzKQoreworICAgIHBpcGVsaW5lcyA9IEpTT046OkFycmF5T2Y8U3RyaW5nPjo6Y3Jl
YXRlKCk7CisgICAgVU5VU0VEX1BBUkFNKGVycm9yU3RyaW5nKTsKKyAgICBmb3IgKGF1dG8gaXRl
bSA6IGFjdGl2ZVBpcGVsaW5lc05hbWVzKCkpCisgICAgICAgIHBpcGVsaW5lcy0+YWRkSXRlbShT
dHJpbmc6OmZyb21VVEY4KGl0ZW0pKTsKK30KKwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJBZ2Vu
dDo6Z2V0QWN0aXZlUGlwZWxpbmVCaW5OYW1lcyhFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNv
bnN0IFN0cmluZyYgcGlwZWxpbmUsIGNvbnN0IFN0cmluZyYgY2hpbGQsIFJlZlB0cjxKU09OOjpB
cnJheU9mPFN0cmluZz4+JiBuYW1lcykKK3sKKyAgICBuYW1lcyA9IEpTT046OkFycmF5T2Y8U3Ry
aW5nPjo6Y3JlYXRlKCk7CisgICAgVU5VU0VEX1BBUkFNKGVycm9yU3RyaW5nKTsKKyAgICBmb3Ig
KGF1dG8gaXRlbSA6IGdldEJpbkNoaWxkcmVuKHBpcGVsaW5lLCBjaGlsZCkpCisgICAgICAgIG5h
bWVzLT5hZGRJdGVtKFN0cmluZzo6ZnJvbVVURjgoaXRlbSkpOworfQorCit2b2lkIEluc3BlY3Rv
ckdTdHJlYW1lckFnZW50OjpkdW1wQWN0aXZlUGlwZWxpbmUoRXJyb3JTdHJpbmcmIGVycm9yU3Ry
aW5nLCBjb25zdCBTdHJpbmcmIHBpcGVsaW5lLCBjb25zdCBTdHJpbmcmIGNoaWxkLCBTdHJpbmcq
IHBpcGVsaW5lR3JhcGhSZXByZXNlbnRhdGlvbikKK3sKKyAgICBhdXRvIHN2Z0RhdGEgPSBXZWJD
b3JlOjpkdW1wQWN0aXZlUGlwZWxpbmUocGlwZWxpbmUsIGNoaWxkKTsKKyAgICBpZiAoc3ZnRGF0
YS5pc051bGwoKSkKKyAgICAgICAgZXJyb3JTdHJpbmcgPSAiSW52YWxpZCBwaXBlbGluZSBvciBi
aW4iX3M7CisgICAgZWxzZQorICAgICAgICAqcGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uID0g
U3RyaW5nOjpmcm9tVVRGOChzdmdEYXRhKTsKK30KKwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJB
Z2VudDo6YWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpCit7CisgICAgbV9mcm9udGVuZERpc3BhdGNo
ZXItPmFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gVVNFKEdTVFJFQU1FUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44NDI0OTlmNzNhYTg5NWNjODcwMTQwMmNjMTNkMzE5NjhlMzExYTZkCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JHU3RyZWFtZXJB
Z2VudC5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxp
YSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5z
ZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0
d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgVVNFKEdTVFJFQU1FUikKKworI2luY2x1ZGUgIkluc3BlY3RvcldlYkFnZW50QmFzZS5oIgor
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oPgor
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaD4K
KyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Cit0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKKworY2xhc3MgSW5zcGVjdG9yR1N0cmVhbWVy
QWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9y
OjpHU3RyZWFtZXJCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEluc3BlY3RvckdTdHJlYW1lckFnZW50KTsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKKyAgICBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudChQYWdlQWdlbnRDb250
ZXh0Jik7CisgICAgfkluc3BlY3RvckdTdHJlYW1lckFnZW50KCkgb3ZlcnJpZGU7CisKKyAgICAv
LyBJbnNwZWN0b3JBZ2VudEJhc2UKKyAgICB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2Vu
ZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hl
ciopIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5z
cGVjdG9yOjpEaXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKKworICAgIC8vIEdTdHJlYW1lckJh
Y2tlbmREaXNwYXRjaGVySGFuZGxlcgorICAgIHZvaWQgZ2V0QWN0aXZlUGlwZWxpbmVzTmFtZXMo
RXJyb3JTdHJpbmcmLCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxTdHJpbmc+PiYgcGlwZWxpbmVzKSBv
dmVycmlkZTsKKyAgICB2b2lkIGdldEFjdGl2ZVBpcGVsaW5lQmluTmFtZXMoRXJyb3JTdHJpbmcm
LCBjb25zdCBTdHJpbmcmIHBpcGVsaW5lLCBjb25zdCBTdHJpbmcmIGNoaWxkLCBSZWZQdHI8SlNP
Tjo6QXJyYXlPZjxTdHJpbmc+PiYgbmFtZXMpIG92ZXJyaWRlOworICAgIHZvaWQgZHVtcEFjdGl2
ZVBpcGVsaW5lKEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBwaXBlbGluZSwgY29uc3QgU3Ry
aW5nJiBjaGlsZCwgU3RyaW5nKiBwaXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24pIG92ZXJyaWRl
OworICAgIHZvaWQgYWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOworCitwcml2YXRlOgorICAgIFJl
ZlB0cjxJbnNwZWN0b3I6OkdTdHJlYW1lckJhY2tlbmREaXNwYXRjaGVyPiBtX2JhY2tlbmREaXNw
YXRjaGVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3I6OkdTdHJlYW1lckZyb250ZW5k
RGlzcGF0Y2hlcj4gbV9mcm9udGVuZERpc3BhdGNoZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4IGNmODlm
OWViNTA1MjMyNmZjZjhjYmQyNmQ4NTk2Y2Y0NzI0YzIzNjEuLjk2NzRhYjM4NmYzM2UyZTcyZTZk
Y2E5YzFkMzFiYWYyNDdlYWU2N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKQEAgLTgwLDYgKzgwLDkgQEAKICNp
bmNsdWRlICJMZWdhY3lXZWJBcmNoaXZlLmgiCiAjZW5kaWYKIAorI2lmIFVTRShHU1RSRUFNRVIp
CisjaW5jbHVkZSAiR1N0cmVhbWVyQ29tbW9uLmgiCisjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvclBhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JQYWdlQWdlbnQuaAppbmRleCA0ZmQ4YzBiMTAxNmU1YWI0NzUyNTU4ZDY1MzBhYmI1MjBlY2Vh
MjZhLi45ZDFhNDQ4MGExY2VkODE5NmY1YWNhYmY3NmQ4MjgwNTE2YmFmZjc5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmgK
QEAgLTEzNCw2ICsxMzQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRMYXlvdXQoKTsKICAgICB2
b2lkIGRpZFNjcm9sbCgpOwogICAgIHZvaWQgZGlkUmVjYWxjdWxhdGVTdHlsZSgpOworICAgIHZv
aWQgZ3N0cmVhbWVyUGlwZWxpbmVDYWNoZVVwZGF0ZWQoKTsKIAogICAgIEZyYW1lKiBmcmFtZUZv
cklkKGNvbnN0IFN0cmluZyYgZnJhbWVJZCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGZy
YW1lSWQoRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dTdHJl
YW1lci5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dTdHJlYW1lci5jbWFrZQppbmRl
eCA4NzRkNDlhZjFlNDE5YWNjODRhNDY2ZDI4Y2EwMjNjNmJjOWFmOWY5Li5kMDQ5ZDM5Y2UwZDI1
NTE0NTU0MWM3ODlkMTZkYjJmMTM3MzE1YTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9HU3RyZWFtZXIuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR1N0
cmVhbWVyLmNtYWtlCkBAIC03NSw2ICs3NSw3IEBAIGlmIChFTkFCTEVfVklERU8gT1IgRU5BQkxF
X1dFQl9BVURJTykKICAgICAgICAgJHtHU1RSRUFNRVJfQkFTRV9JTkNMVURFX0RJUlN9CiAgICAg
ICAgICR7R1NUUkVBTUVSX0FQUF9JTkNMVURFX0RJUlN9CiAgICAgICAgICR7R1NUUkVBTUVSX1BC
VVRJTFNfSU5DTFVERV9ESVJTfQorICAgICAgICAke0dSQVBIVklaX0lOQ0xVREVfRElSU30KICAg
ICApCiAKICAgICBsaXN0KEFQUEVORCBXZWJDb3JlX0xJQlJBUklFUwpAQCAtODMsNiArODQsNyBA
QCBpZiAoRU5BQkxFX1ZJREVPIE9SIEVOQUJMRV9XRUJfQVVESU8pCiAgICAgICAgICR7R1NUUkVB
TUVSX0xJQlJBUklFU30KICAgICAgICAgJHtHU1RSRUFNRVJfUEJVVElMU19MSUJSQVJJRVN9CiAg
ICAgICAgICR7R1NUUkVBTUVSX0FVRElPX0xJQlJBUklFU30KKyAgICAgICAgJHtHUkFQSFZJWl9M
SUJSQVJJRVN9CiAgICAgKQogCiAgICAgIyBBdm9pZGluZyBhIEdMaWIgZGVwcmVjYXRpb24gd2Fy
bmluZyBkdWUgdG8gR1N0cmVhbWVyIEFQSSB1c2luZyBkZXByZWNhdGVkIGNsYXNzZXMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvQXVkaW9EZXN0
aW5hdGlvbkdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3Ry
ZWFtZXIvQXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lci5jcHAKaW5kZXggMWE1NDk1ZmQ3NjRkOWMz
Y2M2ZWRiNTgxZmE0ODBlYWVhZDE0NTliZi4uOWQ0YWYyYzZjMWIwNTE2OTQ4N2Q4MjE0NzEzYjRi
NzQyMjM5N2Q3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0
cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyLmNwcApA
QCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkF1ZGlvQ2hhbm5lbC5oIgogI2luY2x1ZGUgIkF1
ZGlvU291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJHUmVmUHRyR1N0cmVhbWVyLmgiCisjaW5j
bHVkZSAiR1N0cmVhbWVyQ29tbW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUg
IldlYktpdFdlYkF1ZGlvU291cmNlR1N0cmVhbWVyLmgiCiAjaW5jbHVkZSA8Z3N0L2F1ZGlvL2dz
dGF1ZGlvYmFzZXNpbmsuaD4KQEAgLTgzLDcgKzg0LDggQEAgQXVkaW9EZXN0aW5hdGlvbkdTdHJl
YW1lcjo6QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcihBdWRpb0lPQ2FsbGJhY2smIGNhbGxiYWNr
LAogICAgICwgbV9zYW1wbGVSYXRlKHNhbXBsZVJhdGUpCiAgICAgLCBtX2lzUGxheWluZyhmYWxz
ZSkKIHsKLSAgICBtX3BpcGVsaW5lID0gZ3N0X3BpcGVsaW5lX25ldygicGxheSIpOworICAgIG1f
cGlwZWxpbmUgPSBnc3RfcGlwZWxpbmVfbmV3KCJ3ZWJhdWRpby1wbGF5YmFjayIpOworICAgIHJl
Z2lzdGVyQWN0aXZlUGlwZWxpbmUobV9waXBlbGluZSk7CiAgICAgR1JlZlB0cjxHc3RCdXM+IGJ1
cyA9IGFkb3B0R1JlZihnc3RfcGlwZWxpbmVfZ2V0X2J1cyhHU1RfUElQRUxJTkUobV9waXBlbGlu
ZSkpKTsKICAgICBBU1NFUlQoYnVzKTsKICAgICBnc3RfYnVzX2FkZF9zaWduYWxfd2F0Y2hfZnVs
bChidXMuZ2V0KCksIFJ1bkxvb3BTb3VyY2VQcmlvcml0eTo6UnVuTG9vcERpc3BhdGNoZXIpOwpA
QCAtMTMwLDggKzEzMiw4IEBAIEF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXI6On5BdWRpb0Rlc3Rp
bmF0aW9uR1N0cmVhbWVyKCkKICAgICBHUmVmUHRyPEdzdEJ1cz4gYnVzID0gYWRvcHRHUmVmKGdz
dF9waXBlbGluZV9nZXRfYnVzKEdTVF9QSVBFTElORShtX3BpcGVsaW5lKSkpOwogICAgIEFTU0VS
VChidXMpOwogICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyhidXMuZ2V0
KCksIHJlaW50ZXJwcmV0X2Nhc3Q8Z3BvaW50ZXI+KG1lc3NhZ2VDYWxsYmFjayksIHRoaXMpOwor
ICAgIHVucmVnaXN0ZXJQaXBlbGluZShtX3BpcGVsaW5lKTsKICAgICBnc3RfYnVzX3JlbW92ZV9z
aWduYWxfd2F0Y2goYnVzLmdldCgpKTsKLQogICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3Bp
cGVsaW5lLCBHU1RfU1RBVEVfTlVMTCk7CiAgICAgZ3N0X29iamVjdF91bnJlZihtX3BpcGVsaW5l
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5o
CmluZGV4IDc2MWJjNTAzOTI4YjI2ZmJkZDdkODk5YjFjYzRhMjI2NjJjMWE1ZTYuLmNmMjM1YWNi
MTk5MzViMmQ5ZTJhMWQ4N2I5YmNmNzdkY2I3NmMyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMjcyLDYgKzI3Miw3IEBAIHB1Ymxp
YzoKIAogI2lmIFVTRShHU1RSRUFNRVIpCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RJbnN0YWxs
TWlzc2luZ1BsdWdpbnMoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgTWVkaWFQbGF5ZXJS
ZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zQ2FsbGJhY2smKSB7IH07CisgICAgdmlydHVhbCB2
b2lkIGdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKSB7IH07CiAjZW5kaWYKIAogICAg
IHZpcnR1YWwgYm9vbCBtZWRpYVBsYXllclNob3VsZERpc2FibGVTbGVlcCgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CkBAIC02MzYsNiArNjM3LDcgQEAgcHVibGljOgogCiAjaWYgVVNFKEdTVFJF
QU1FUikKICAgICB2b2lkIHJlcXVlc3RJbnN0YWxsTWlzc2luZ1BsdWdpbnMoY29uc3QgU3RyaW5n
JiBkZXRhaWxzLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBNZWRpYVBsYXllclJlcXVlc3RJ
bnN0YWxsTWlzc2luZ1BsdWdpbnNDYWxsYmFjayYgY2FsbGJhY2spIHsgY2xpZW50KCkucmVxdWVz
dEluc3RhbGxNaXNzaW5nUGx1Z2lucyhkZXRhaWxzLCBkZXNjcmlwdGlvbiwgY2FsbGJhY2spOyB9
CisgICAgdm9pZCBnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCkgeyBjbGllbnQoKS5n
c3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7IH0KICNlbmRpZgogCiBwcml2YXRlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dT
dHJlYW1lckNvbW1vbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmNwcAppbmRleCAwODliZjc0Zjc0ZWM2NGE2ZjgwNDQ1YzM1
M2RkYTM1MTJhYjM1NGQ0Li5iNThiM2UwOGM5ZTc5ZWNmMjUwNDZjMjQ5MThiMjAyN2FjYmNiZTVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
R1N0cmVhbWVyQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmNwcApAQCAtMzAsOSArMzAsMTYgQEAKICNpbmNs
dWRlIDxnc3QvYXVkaW8vYXVkaW8taW5mby5oPgogI2luY2x1ZGUgPGdzdC9nc3QuaD4KICNpbmNs
dWRlIDxtdXRleD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9OZXZl
ckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaD4KICNpbmNs
dWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvUnVuTG9vcFNv
dXJjZVByaW9yaXR5Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgorCisjaWYg
VVNFKEdSQVBIVklaKQorI2luY2x1ZGUgPGdyYXBodml6L2d2Yy5oPgorI2VuZGlmCiAKICNpZiBF
TkFCTEUoVklERU9fVFJBQ0spICYmIFVTRShHU1RSRUFNRVJfTVBFR1RTKQogI2RlZmluZSBHU1Rf
VVNFX1VOU1RBQkxFX0FQSQpAQCAtMzkxLDYgKzM5OCwxMTcgQEAgYm9vbCBpc0dTdHJlYW1lclBs
dWdpbkF2YWlsYWJsZShjb25zdCBjaGFyKiBuYW1lKQogICAgIHJldHVybiBwbHVnaW47CiB9CiAK
K3N0YXRpYyBIYXNoTWFwPENTdHJpbmcsIEdzdEJpbio+JiBhY3RpdmVQaXBlbGluZXNNYXAoKQor
eworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPENTdHJpbmcsIEdzdEJpbio+PiBh
Y3RpdmVQaXBlbGluZXM7CisgICAgcmV0dXJuIGFjdGl2ZVBpcGVsaW5lcy5nZXQoKTsKK30KKwor
dm9pZCByZWdpc3RlckFjdGl2ZVBpcGVsaW5lKEdzdEVsZW1lbnQqIHBpcGVsaW5lKQoreworICAg
IEFTU0VSVChHU1RfSVNfRUxFTUVOVChwaXBlbGluZSkpOworICAgIEFTU0VSVChpc01haW5UaHJl
YWQoKSk7CisKKyAgICBHVW5pcXVlUHRyPGdjaGFyPiBuYW1lKGdzdF9vYmplY3RfZ2V0X25hbWUo
R1NUX09CSkVDVF9DQVNUKHBpcGVsaW5lKSkpOworICAgIGF1dG8gYWRkUmVzdWx0ID0gYWN0aXZl
UGlwZWxpbmVzTWFwKCkuYWRkKG5hbWUuZ2V0KCksIG51bGxwdHIpOworICAgIGlmICghYWRkUmVz
dWx0LmlzTmV3RW50cnkpCisgICAgICAgIHJldHVybjsKKyAgICBhZGRSZXN1bHQuaXRlcmF0b3It
PnZhbHVlID0gR1NUX0JJTl9DQVNUKHBpcGVsaW5lKTsKK30KKwordm9pZCB1bnJlZ2lzdGVyUGlw
ZWxpbmUoR3N0RWxlbWVudCogcGlwZWxpbmUpCit7CisgICAgQVNTRVJUKEdTVF9JU19FTEVNRU5U
KHBpcGVsaW5lKSk7CisKKyAgICBHVW5pcXVlUHRyPGdjaGFyPiBuYW1lKGdzdF9vYmplY3RfZ2V0
X25hbWUoR1NUX09CSkVDVF9DQVNUKHBpcGVsaW5lKSkpOworICAgIGFjdGl2ZVBpcGVsaW5lc01h
cCgpLnJlbW92ZShuYW1lLmdldCgpKTsKK30KKworVmVjdG9yPENTdHJpbmc+IGFjdGl2ZVBpcGVs
aW5lc05hbWVzKCkKK3sKKyAgICBWZWN0b3I8Q1N0cmluZz4gbmFtZXM7CisgICAgYXV0byYgbWFw
ID0gYWN0aXZlUGlwZWxpbmVzTWFwKCk7CisgICAgbmFtZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0
eShtYXAuc2l6ZSgpKTsKKyAgICBmb3IgKGF1dG8mIG5hbWUgOiBtYXAua2V5cygpKQorICAgICAg
ICBuYW1lcy51bmNoZWNrZWRBcHBlbmQobmFtZSk7CisKKyAgICBzdGQ6OnNvcnQobmFtZXMuYmVn
aW4oKSwgbmFtZXMuZW5kKCkpOworICAgIHJldHVybiBuYW1lczsKK30KKworQ1N0cmluZyBleHBv
cnRCaW5Ub1NWRyhHc3RCaW4qIGJpbikKK3sKKyNpZiBVU0UoR1JBUEhWSVopCisgICAgR1VuaXF1
ZVB0cjxnY2hhcj4gZG90RGF0YShnc3RfZGVidWdfYmluX3RvX2RvdF9kYXRhKGJpbiwgR1NUX0RF
QlVHX0dSQVBIX1NIT1dfQUxMKSk7CisgICAgQWdyYXBoX3QqIGdyYXBoID0gYWdtZW1yZWFkKGRv
dERhdGEuZ2V0KCkpOworCisgICAgR1ZDX3QqIGNvbnRleHQgPSBndkNvbnRleHQoKTsKKyAgICBn
dkxheW91dChjb250ZXh0LCBncmFwaCwgImRvdCJfcyk7CisKKyAgICB1bnNpZ25lZCBsZW5ndGg7
CisgICAgY2hhciogc3ZnRGF0YTsKKyAgICBpZiAoZ3ZSZW5kZXJEYXRhKGNvbnRleHQsIGdyYXBo
LCAic3ZnIl9zLCAmc3ZnRGF0YSwgJmxlbmd0aCkpIHsKKyAgICAgICAgZ3ZGcmVlTGF5b3V0KGNv
bnRleHQsIGdyYXBoKTsKKyAgICAgICAgYWdjbG9zZShncmFwaCk7CisgICAgICAgIGd2RnJlZUNv
bnRleHQoY29udGV4dCk7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgQ1N0cmlu
ZyBzdmcgeyBzdmdEYXRhLCBsZW5ndGggfTsKKyAgICBndkZyZWVSZW5kZXJEYXRhKHN2Z0RhdGEp
OworICAgIGd2RnJlZUxheW91dChjb250ZXh0LCBncmFwaCk7CisgICAgYWdjbG9zZShncmFwaCk7
CisgICAgZ3ZGcmVlQ29udGV4dChjb250ZXh0KTsKKyAgICByZXR1cm4gc3ZnOworI2Vsc2UKKyAg
ICBVTlVTRURfUEFSQU0oYmluKTsKKyAgICByZXR1cm4geyB9OworI2VuZGlmCit9CisKK0NTdHJp
bmcgZHVtcEFjdGl2ZVBpcGVsaW5lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBz
dWJCaW5OYW1lKQoreworICAgIEdzdEJpbiogcGlwZWxpbmUgPSBhY3RpdmVQaXBlbGluZXNNYXAo
KS5nZXQobmFtZS51dGY4KCkpOworICAgIGlmICghcGlwZWxpbmUpCisgICAgICAgIHJldHVybiB7
IH07CisKKyAgICBpZiAoc3ViQmluTmFtZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBleHBv
cnRCaW5Ub1NWRyhwaXBlbGluZSk7CisKKyAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IGNoaWxkID0g
YWRvcHRHUmVmKGdzdF9iaW5fZ2V0X2J5X25hbWUocGlwZWxpbmUsIHN1YkJpbk5hbWUudXRmOCgp
LmRhdGEoKSkpOworICAgIGlmIChHU1RfSVNfQklOKGNoaWxkLmdldCgpKSkKKyAgICAgICAgcmV0
dXJuIGV4cG9ydEJpblRvU1ZHKEdTVF9CSU5fQ0FTVChjaGlsZC5nZXQoKSkpOworCisgICAgcmV0
dXJuIHsgfTsKK30KKworVmVjdG9yPENTdHJpbmc+IGdldEJpbkNoaWxkcmVuKGNvbnN0IFN0cmlu
ZyYgcGlwZWxpbmVOYW1lLCBjb25zdCBTdHJpbmcmIGJpbk5hbWUpCit7CisgICAgVmVjdG9yPENT
dHJpbmc+IGNoaWxkcmVuOworICAgIEdzdEJpbiogcGlwZWxpbmUgPSBhY3RpdmVQaXBlbGluZXNN
YXAoKS5nZXQocGlwZWxpbmVOYW1lLnV0ZjgoKSk7CisgICAgaWYgKCFwaXBlbGluZSkKKyAgICAg
ICAgcmV0dXJuIGNoaWxkcmVuOworCisgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBwYXJlbnQ7CisK
KyAgICBpZiAoYmluTmFtZS5pc0VtcHR5KCkpCisgICAgICAgIHBhcmVudCA9IEdTVF9FTEVNRU5U
X0NBU1QoZ3N0X29iamVjdF9yZWYocGlwZWxpbmUpKTsKKyAgICBlbHNlCisgICAgICAgIHBhcmVu
dCA9IGFkb3B0R1JlZihnc3RfYmluX2dldF9ieV9uYW1lKHBpcGVsaW5lLCBiaW5OYW1lLnV0Zjgo
KS5kYXRhKCkpKTsKKworICAgIGlmICghcGFyZW50IHx8ICFHU1RfSVNfQklOKHBhcmVudC5nZXQo
KSkpCisgICAgICAgIHJldHVybiBjaGlsZHJlbjsKKworICAgIGZvciAoR0xpc3QqIGl0ZW0gPSBH
U1RfQklOX0NISUxEUkVOKEdTVF9CSU5fQ0FTVChwYXJlbnQuZ2V0KCkpKTsgaXRlbTsgaXRlbSA9
IGl0ZW0tPm5leHQpIHsKKyAgICAgICAgaWYgKEdTVF9JU19CSU4oaXRlbS0+ZGF0YSkpIHsKKyAg
ICAgICAgICAgIEdVbmlxdWVQdHI8Z2NoYXI+IG5hbWUoZ3N0X2VsZW1lbnRfZ2V0X25hbWUoR1NU
X0VMRU1FTlRfQ0FTVChpdGVtLT5kYXRhKSkpOworICAgICAgICAgICAgY2hpbGRyZW4uYXBwZW5k
KENTdHJpbmcobmFtZS5nZXQoKSkpOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGNo
aWxkcmVuOworfQorCiB9CiAKICNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1v
bi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1l
ckNvbW1vbi5oCmluZGV4IDk2OWM3YzMzNGI5NTAzYTIxYTcyZTM3OWYxMzdjMjdhNmI5MTgxMjUu
LjMwY2ZmMTk2ZWU5ODFhN2E2MDNkYzRmZWRlMTNhMWZmYzYzZmVkMmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVh
bWVyQ29tbW9uLmgKQEAgLTIyMyw2ICsyMjMsMTIgQEAgZW51bSBjbGFzcyBHc3RWaWRlb0RlY29k
ZXJQbGF0Zm9ybSB7IElteFZQVSwgVmlkZW80TGludXggfTsKIAogYm9vbCBpc0dTdHJlYW1lclBs
dWdpbkF2YWlsYWJsZShjb25zdCBjaGFyKiBuYW1lKTsKIAordm9pZCByZWdpc3RlckFjdGl2ZVBp
cGVsaW5lKEdzdEVsZW1lbnQqKTsKK3ZvaWQgdW5yZWdpc3RlclBpcGVsaW5lKEdzdEVsZW1lbnQq
KTsKK1ZlY3RvcjxDU3RyaW5nPiBhY3RpdmVQaXBlbGluZXNOYW1lcygpOworQ1N0cmluZyBkdW1w
QWN0aXZlUGlwZWxpbmUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHN1YkJpbk5h
bWUpOworVmVjdG9yPENTdHJpbmc+IGdldEJpbkNoaWxkcmVuKGNvbnN0IFN0cmluZyYgcGlwZWxp
bmVOYW1lLCBjb25zdCBTdHJpbmcmIGJpbk5hbWUpOworCiB9CiAKICNpZm5kZWYgR1NUX0JVRkZF
Ul9EVFNfT1JfUFRTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuY3BwCmluZGV4IDUzZDU2ZjhlOTUwODM0Mjg4MzdjZWMxOGE0MTBhYzU4NDFiMGUwMjYuLjRm
ZWMzN2UzY2FlYWNiZWVlZmJkMjY5NGJmOWY2NmY2ZDlkYzg0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC00NDgsOSArNDQ4LDE0IEBA
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6fk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cigpCiAKICAgICAvLyBUaGUgY2hhbmdlIHRvIEdTVF9TVEFURV9OVUxMIHN0YXRlIGlzIGFsd2F5
cyBzeW5jaHJvbm91cy4gU28gYWZ0ZXIgdGhpcyBnZXRzIGV4ZWN1dGVkIHdlIGRvbid0IG5lZWQg
dG8gd29ycnkKICAgICAvLyBhYm91dCBoYW5kbGVycyBydW5uaW5nIGluIHRoZSBHU3RyZWFtZXIg
dGhyZWFkLgotICAgIGlmIChtX3BpcGVsaW5lKQorICAgIGlmIChtX3BpcGVsaW5lKSB7CisgICAg
ICAgIHVucmVnaXN0ZXJQaXBlbGluZShtX3BpcGVsaW5lLmdldCgpKTsKICAgICAgICAgZ3N0X2Vs
ZW1lbnRfc2V0X3N0YXRlKG1fcGlwZWxpbmUuZ2V0KCksIEdTVF9TVEFURV9OVUxMKTsKIAorICAg
ICAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgICAgICBtX3BsYXllci0+Z3N0cmVhbWVyQWN0aXZl
UGlwZWxpbmVzQ2hhbmdlZCgpOworICAgIH0KKwogICAgIG1fcGxheWVyID0gbnVsbHB0cjsKIH0K
IApAQCAtMTcwNyw2ICsxNzEyLDkgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6
OnZpZGVvQ2hhbmdlZENhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW0KIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXRQaXBlbGluZShHc3RFbGVtZW50KiBwaXBlbGlu
ZSkKIHsKICAgICBtX3BpcGVsaW5lID0gcGlwZWxpbmU7CisgICAgcmVnaXN0ZXJBY3RpdmVQaXBl
bGluZShtX3BpcGVsaW5lLmdldCgpKTsKKyAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgIG1fcGxh
eWVyLT5nc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7CiAKICAgICBHUmVmUHRyPEdz
dEJ1cz4gYnVzID0gYWRvcHRHUmVmKGdzdF9waXBlbGluZV9nZXRfYnVzKEdTVF9QSVBFTElORSht
X3BpcGVsaW5lLmdldCgpKSkpOwogICAgIGdzdF9idXNfc2V0X3N5bmNfaGFuZGxlcihidXMuZ2V0
KCksIFtdKEdzdEJ1cyosIEdzdE1lc3NhZ2UqIG1lc3NhZ2UsIGdwb2ludGVyIHVzZXJEYXRhKSB7
CkBAIC0yODkzLDYgKzI5MDEsOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
Y3JlYXRlR1NUUGxheUJpbihjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJgogICAgICAgICB9
CiAKICAgICAgICAgR1NUX0lORk9fT0JKRUNUKHBpcGVsaW5lKCksICJUZWFyaW5nIGRvd24gYXMg
d2UgbmVlZCB0byB1c2UgJXMgbm93LiIsIHBsYXliaW5OYW1lKTsKKyAgICAgICAgdW5yZWdpc3Rl
clBpcGVsaW5lKG1fcGlwZWxpbmUuZ2V0KCkpOworICAgICAgICBpZiAobV9wbGF5ZXIpCisgICAg
ICAgICAgICBtX3BsYXllci0+Z3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOwogICAg
ICAgICBjaGFuZ2VQaXBlbGluZVN0YXRlKEdTVF9TVEFURV9OVUxMKTsKICAgICAgICAgbV9waXBl
bGluZSA9IG51bGxwdHI7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5oCmluZGV4IDg1MTY1ZDFiZjEyOWNlY2UxYTEyNmQxYzMwNGQzZmM5NjJlNzI1
MzguLjY5Y2M2MDc1MmY3ODlkYmRhNzE2NGQwMzU0NWEyYWEwMTk2MGEzZWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTEyNyw2ICsxMjcsOCBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUgZXh0ZW5kZWRT
dXBwb3J0c1R5cGUoY29uc3QgTWVkaWFFbmdpbmVTdXBwb3J0UGFyYW1ldGVycyYsIE1lZGlhUGxh
eWVyOjpTdXBwb3J0c1R5cGUpOwogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzS2V5U3lzdGVtKGNv
bnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKIAorICAgIE1l
ZGlhUGxheWVyKiBtZWRpYVBsYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWVyOyB9CisKICAg
ICBib29sIGhhc1ZpZGVvKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9oYXNWaWRlbzsgfQogICAg
IGJvb2wgaGFzQXVkaW8oKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2hhc0F1ZGlvOyB9CiAgICAg
dm9pZCBsb2FkKGNvbnN0IFN0cmluZyAmdXJsKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBl
bmRQaXBlbGluZS5jcHAKaW5kZXggNWEyYmRlZGExYjg3YTFkZWE4YzZiYmY1ZjY5ODQxZDdlOWY2
NmMwYi4uYjNlOTAyOGIyZjIyOTMwZmVmMTAyNTI0Yjk2ZTlmMDdmMzc0OTE3ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQ
aXBlbGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHAKQEAgLTExNSw5ICsxMTUsMTEgQEAgQXBwZW5kUGlw
ZWxpbmU6OkFwcGVuZFBpcGVsaW5lKFJlZjxNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1lck1TRT4g
bWVkaWFTb3VyY2VDbGkKICAgICAvLyBGSVhNRTogZ2l2ZSBhIG5hbWUgdG8gdGhlIHBpcGVsaW5l
LCBtYXliZSByZWxhdGVkIHdpdGggdGhlIHRyYWNrIGl0J3MgbWFuYWdpbmcuCiAgICAgLy8gVGhl
IHRyYWNrIG5hbWUgaXMgc3RpbGwgdW5rbm93biBhdCB0aGlzIHRpbWUsIHRob3VnaC4KICAgICBz
dGF0aWMgc2l6ZV90IGFwcGVuZFBpcGVsaW5lQ291bnQgPSAwOwotICAgIFN0cmluZyBwaXBlbGlu
ZU5hbWUgPSBtYWtlU3RyaW5nKCJhcHBlbmQtcGlwZWxpbmUtIiwKKyAgICBTdHJpbmcgcGlwZWxp
bmVOYW1lID0gbWFrZVN0cmluZygibXNlLWFwcGVuZC1waXBlbGluZS0iLAogICAgICAgICBtX3Nv
dXJjZUJ1ZmZlclByaXZhdGUtPnR5cGUoKS5jb250YWluZXJUeXBlKCkucmVwbGFjZSgiLyIsICIt
IiksICctJywgYXBwZW5kUGlwZWxpbmVDb3VudCsrKTsKICAgICBtX3BpcGVsaW5lID0gZ3N0X3Bp
cGVsaW5lX25ldyhwaXBlbGluZU5hbWUudXRmOCgpLmRhdGEoKSk7CisgICAgcmVnaXN0ZXJBY3Rp
dmVQaXBlbGluZShtX3BpcGVsaW5lLmdldCgpKTsKKyAgICBtX3BsYXllclByaXZhdGUtPm1lZGlh
UGxheWVyKCktPmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKTsKIAogICAgIG1fYnVz
ID0gYWRvcHRHUmVmKGdzdF9waXBlbGluZV9nZXRfYnVzKEdTVF9QSVBFTElORShtX3BpcGVsaW5l
LmdldCgpKSkpOwogICAgIGdzdF9idXNfYWRkX3NpZ25hbF93YXRjaF9mdWxsKG1fYnVzLmdldCgp
LCBSdW5Mb29wU291cmNlUHJpb3JpdHk6OlJ1bkxvb3BEaXNwYXRjaGVyKTsKQEAgLTI0Miw2ICsy
NDQsOSBAQCBBcHBlbmRQaXBlbGluZTo6fkFwcGVuZFBpcGVsaW5lKCkKICAgICAvLyB3aGVuIGNo
YW5naW5nIHRoZSBwaXBlbGluZSBzdGF0ZS4KIAogICAgIGlmIChtX3BpcGVsaW5lKSB7CisgICAg
ICAgIHVucmVnaXN0ZXJQaXBlbGluZShtX3BpcGVsaW5lLmdldCgpKTsKKyAgICAgICAgaWYgKG1f
cGxheWVyUHJpdmF0ZSkKKyAgICAgICAgICAgIG1fcGxheWVyUHJpdmF0ZS0+bWVkaWFQbGF5ZXIo
KS0+Z3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOwogICAgICAgICBBU1NFUlQobV9i
dXMpOwogICAgICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2RhdGEobV9idXMu
Z2V0KCksIHRoaXMpOwogICAgICAgICBnc3RfYnVzX2Rpc2FibGVfc3luY19tZXNzYWdlX2VtaXNz
aW9uKG1fYnVzLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2Nh
bGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGU1
MTk1NmE0NDg5NGQ5MTUyMmU3NmE0ZTJlNjQzM2E0ZmVhMWUxYzguLmZmNTA0MmVkYjY2ODY3ODY1
YWNkODlhZTMyOWUzMjRiZGM3ZjQ5YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5q
cwpAQCAtNTIxLDYgKzUyMSw3IEBAIGxvY2FsaXplZFN0cmluZ3NbIkV4cG9ydCAoJXMpIl0gPSAi
RXhwb3J0ICglcykiOwogbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IEhBUiJdID0gIkV4cG9ydCBI
QVIiOwogbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IFJlc3VsdCJdID0gIkV4cG9ydCBSZXN1bHQi
OwogbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IFRlc3QiXSA9ICJFeHBvcnQgVGVzdCI7Citsb2Nh
bGl6ZWRTdHJpbmdzWyJFeHBvcnQgcGlwZWxpbmUgZG90IHJlcHJlc2VudGF0aW9uICglcykiXSA9
ICJFeHBvcnQgcGlwZWxpbmUgZG90IHJlcHJlc2VudGF0aW9uICglcykiOwogbG9jYWxpemVkU3Ry
aW5nc1siRXhwb3J0IHJlY29yZGluZyAoJXMpIl0gPSAiRXhwb3J0IHJlY29yZGluZyAoJXMpIjsK
IGxvY2FsaXplZFN0cmluZ3NbIkV4cG9ydCByZWNvcmRpbmcgKCVzKVxuU2hpZnQtY2xpY2sgdG8g
ZXhwb3J0IGEgSFRNTCByZWR1Y3Rpb24iXSA9ICJFeHBvcnQgcmVjb3JkaW5nICglcylcblNoaWZ0
LWNsaWNrIHRvIGV4cG9ydCBhIEhUTUwgcmVkdWN0aW9uIjsKIGxvY2FsaXplZFN0cmluZ3NbIkV4
cG9ydCByZXN1bHQgKCVzKSJdID0gIkV4cG9ydCByZXN1bHQgKCVzKSI7CkBAIC01NzgsNiArNTc5
LDcgQEAgbG9jYWxpemVkU3RyaW5nc1siRnVsbC1TY3JlZW4gZnJvbSBcdTIwMUMlc1x1MjAxRCJd
ID0gIkZ1bGwtU2NyZWVuIGZyb20gXHUyMDFDJXMKIGxvY2FsaXplZFN0cmluZ3NbIkZ1bmN0aW9u
Il0gPSAiRnVuY3Rpb24iOwogbG9jYWxpemVkU3RyaW5nc1siRnVuY3Rpb24gTmFtZSBWYXJpYWJs
ZSJdID0gIkZ1bmN0aW9uIE5hbWUgVmFyaWFibGUiOwogbG9jYWxpemVkU3RyaW5nc1siR0lGIl0g
PSAiR0lGIjsKK2xvY2FsaXplZFN0cmluZ3NbIkdTdHJlYW1lciJdID0gIkdTdHJlYW1lciI7CiBs
b2NhbGl6ZWRTdHJpbmdzWyJHYXJiYWdlIENvbGxlY3Rpb24iXSA9ICJHYXJiYWdlIENvbGxlY3Rp
b24iOwogbG9jYWxpemVkU3RyaW5nc1siR2VuZXJhbCJdID0gIkdlbmVyYWwiOwogbG9jYWxpemVk
U3RyaW5nc1siR2V0dGVyIl0gPSAiR2V0dGVyIjsKQEAgLTg1NSw2ICs4NTcsNyBAQCBsb2NhbGl6
ZWRTdHJpbmdzWyJQZXJpb2RzIG9mIGhpZ2ggQ1BVIHV0aWxpemF0aW9uIHdpbGwgcmFwaWRseSBk
cmFpbiBiYXR0ZXJ5LiBTdAogbG9jYWxpemVkU3RyaW5nc1siUGluZyJdID0gIlBpbmciOwogbG9j
YWxpemVkU3RyaW5nc1siUGluZyBGcmFtZSJdID0gIlBpbmcgRnJhbWUiOwogbG9jYWxpemVkU3Ry
aW5nc1siUGluZ3MiXSA9ICJQaW5ncyI7Citsb2NhbGl6ZWRTdHJpbmdzWyJQaXBlbGluZXMiXSA9
ICJQaXBlbGluZXMiOwogbG9jYWxpemVkU3RyaW5nc1siUGxheSBTb3VuZCJdID0gIlBsYXkgU291
bmQiOwogLyogVG9vbHRpcCBmb3IgYSB0aW1lIHJhbmdlIGJhciB0aGF0IHJlcHJlc2VudHMgd2hl
biB0aGUgcGxheWJhY2sgb2YgYSBhdWRpby92aWRlbyBlbGVtZW50IGlzIHJ1bm5pbmcgKi8KIGxv
Y2FsaXplZFN0cmluZ3NbIlBsYXlpbmciXSA9ICJQbGF5aW5nIjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9TY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBs
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFjZS1yZXNv
dXJjZXMucGwKaW5kZXggZmRiYWQzODNiMmVmYjZjMmJiOTU0Zjc1ZTVlMzE3M2YzYzQ2MTZlOC4u
M2MwN2NjNWE4MTBlYjA0Y2U0ZTY1OGRlNzA2ZjY5OWYxYjY5NTE4NCAxMDA3NTUKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFjZS1yZXNvdXJjZXMu
cGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFj
ZS1yZXNvdXJjZXMucGwKQEAgLTE2NiwxMyArMTY2LDE2IEBAIG15ICRwcm90b2NvbERpciA9IEZp
bGU6OlNwZWMtPmNhdGRpcigkdGFyZ2V0UmVzb3VyY2VQYXRoLCAnUHJvdG9jb2wnKTsKIG15ICR3
b3JrZXJzRGlyID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCR0YXJnZXRSZXNvdXJjZVBhdGgsICdXb3Jr
ZXJzJyk7CiBteSAkY29kZU1pcnJvclBhdGggPSBGaWxlOjpTcGVjLT5jYXRkaXIoJHVpUm9vdCwg
J0V4dGVybmFsJywgJ0NvZGVNaXJyb3InKTsKIG15ICRlc3ByaW1hUGF0aCA9IEZpbGU6OlNwZWMt
PmNhdGRpcigkdWlSb290LCAnRXh0ZXJuYWwnLCAnRXNwcmltYScpOworbXkgJGQzUGF0aCA9IEZp
bGU6OlNwZWMtPmNhdGRpcigkdWlSb290LCAnRXh0ZXJuYWwnLCAnZDMuanMnKTsKIG15ICR0aHJl
ZWpzUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGRpcigkdWlSb290LCAnRXh0ZXJuYWwnLCAndGhyZWUu
anMnKTsKIAogJHdlYkluc3BlY3RvclVJQWRkaXRpb25zRGlyID0gJndlYkluc3BlY3RvclVJQWRk
aXRpb25zRGlyKCk7CiAKIG15ICRjb2RlTWlycm9yTGljZW5zZSA9IHJlYWRMaWNlbnNlRmlsZShG
aWxlOjpTcGVjLT5jYXRmaWxlKCRjb2RlTWlycm9yUGF0aCwgJ0xJQ0VOU0UnKSk7CiBteSAkZXNw
cmltYUxpY2Vuc2UgPSByZWFkTGljZW5zZUZpbGUoRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkZXNwcmlt
YVBhdGgsICdMSUNFTlNFJykpOworbXkgJGQzTGljZW5zZSA9IHJlYWRMaWNlbnNlRmlsZShGaWxl
OjpTcGVjLT5jYXRmaWxlKCRkM1BhdGgsICdMSUNFTlNFJykpOwogbXkgJHRocmVlanNMaWNlbnNl
ID0gcmVhZExpY2Vuc2VGaWxlKEZpbGU6OlNwZWMtPmNhdGZpbGUoJHRocmVlanNQYXRoLCAnTElD
RU5TRScpKTsKKwogbWFrZV9wYXRoKCRwcm90b2NvbERpciwgJHRhcmdldFJlc291cmNlUGF0aCk7
CiAKICRweXRob24gPSAkRU5WeyJQWVRIT04ifSBpZiBkZWZpbmVkKCRFTlZ7IlBZVEhPTiJ9KTsK
QEAgLTE4Myw2ICsxODYsOCBAQCBjb3B5KEZpbGU6OlNwZWMtPmNhdGZpbGUoJEVOVnsnSkFWQVND
UklQVENPUkVfUFJJVkFURV9IRUFERVJTX0RJUid9LCAnSW5zcGVjdG9yQgogbXkgJGZvcmNlVG9v
bEluc3RhbGwgPSBkZWZpbmVkICRFTlZ7J0ZPUkNFX1RPT0xfSU5TVEFMTCd9ICYmICgkRU5WeydG
T1JDRV9UT09MX0lOU1RBTEwnfSBlcSAnWUVTJyk7CiBteSAkc2hvdWxkQ29tYmluZU1haW4gPSBk
ZWZpbmVkICRFTlZ7J0NPTUJJTkVfSU5TUEVDVE9SX1JFU09VUkNFUyd9ICYmICgkRU5WeydDT01C
SU5FX0lOU1BFQ1RPUl9SRVNPVVJDRVMnfSBlcSAnWUVTJyk7CiBteSAkc2hvdWxkQ29tYmluZVRl
c3QgPSBkZWZpbmVkICRFTlZ7J0NPTUJJTkVfVEVTVF9SRVNPVVJDRVMnfSAmJiAoJEVOVnsnQ09N
QklORV9URVNUX1JFU09VUkNFUyd9IGVxICdZRVMnKTsKK215ICRzaG91bGRDb21iaW5lR1N0cmVh
bWVyUmVzb3VyY2VzID0gZGVmaW5lZCAkRU5WeydDT01CSU5FX0dTVFJFQU1FUl9SRVNPVVJDRVMn
fSAmJiAoJEVOVnsnQ09NQklORV9HU1RSRUFNRVJfUkVTT1VSQ0VTJ30gZXEgJ1lFUycpOworCiBt
eSAkY29tYmluZVJlc291cmNlc0NtZCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJHNjcmlwdHNSb290
LCAnY29tYmluZS1yZXNvdXJjZXMucGwnKTsKIAogaWYgKCRmb3JjZVRvb2xJbnN0YWxsKSB7CkBA
IC0zNDYsNiArMzUxLDE3IEBAIGlmICgkc2hvdWxkQ29tYmluZU1haW4pIHsKICAgICAgICAnLS1v
dXRwdXQtZGlyJywgJGRlcml2ZWRTb3VyY2VzRGlyLAogICAgICAgICctLW91dHB1dC1zY3JpcHQt
bmFtZScsICdUaHJlZS5qcycpOwogCisgICAgaWYgKCRzaG91bGRDb21iaW5lR1N0cmVhbWVyUmVz
b3VyY2VzKSB7CisgICAgICAgICMgQ29tYmluZSB0aGUgZDMuanMgSmF2YVNjcmlwdCBmaWxlcyBp
biBQcm9kdWN0aW9uIGJ1aWxkcyBpbnRvIGEgc2luZ2xlIGZpbGUgKEQzLmpzKS4KKyAgICAgICAg
c3lzdGVtKCRwZXJsLCAkY29tYmluZVJlc291cmNlc0NtZCwKKyAgICAgICAgICAgJy0taW5wdXQt
ZGlyJywgJ0V4dGVybmFsL2QzLmpzJywKKyAgICAgICAgICAgJy0taW5wdXQtaHRtbCcsICRkZXJp
dmVkU291cmNlc01haW5IVE1MLAorICAgICAgICAgICAnLS1pbnB1dC1odG1sLWRpcicsICR1aVJv
b3QsCisgICAgICAgICAgICctLWRlcml2ZWQtc291cmNlcy1kaXInLCAkZGVyaXZlZFNvdXJjZXNE
aXIsCisgICAgICAgICAgICctLW91dHB1dC1kaXInLCAkZGVyaXZlZFNvdXJjZXNEaXIsCisgICAg
ICAgICAgICctLW91dHB1dC1zY3JpcHQtbmFtZScsICdEMy5qcycpOworICAgIH0KKwogICAgICMg
UmVtb3ZlIGNvbnNvbGUuYXNzZXJ0IGNhbGxzIGZyb20gdGhlIE1haW4uanMgZmlsZS4KICAgICBt
eSAkZGVyaXZlZFNvdXJjZXNNYWluSlMgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCRkZXJpdmVkU291
cmNlc0RpciwgJ01haW4uanMnKTsKICAgICBzeXN0ZW0oJHBlcmwsIEZpbGU6OlNwZWMtPmNhdGZp
bGUoJHNjcmlwdHNSb290LCAncmVtb3ZlLWNvbnNvbGUtYXNzZXJ0cy5wbCcpLApAQCAtNDA2LDYg
KzQyMiwxOCBAQCBpZiAoJHNob3VsZENvbWJpbmVNYWluKSB7CiAgICAgbXkgJGRlcml2ZWRTb3Vy
Y2VzVGhyZWVqc0pTID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkZGVyaXZlZFNvdXJjZXNEaXIsICdU
aHJlZS5qcycpOwogICAgIHN5c3RlbShxcSgiJHB5dGhvbiIgIiRqc01pblNjcmlwdCIgPCAiJGRl
cml2ZWRTb3VyY2VzVGhyZWVqc0pTIiA+PiAiJHRhcmdldFRocmVlanNKUyIpKSBhbmQgZGllICJG
YWlsZWQgdG8gbWluaWZ5ICRkZXJpdmVkU291cmNlc1RocmVlanNKUzogJCEiOwogCisgICAgbXkg
JHRhcmdldEQzSlMgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCR0YXJnZXRSZXNvdXJjZVBhdGgsICdE
My5qcycpOworICAgIGlmICgkc2hvdWxkQ29tYmluZUdTdHJlYW1lclJlc291cmNlcykgeworICAg
ICAgICAjIEV4cG9ydCB0aGUgbGljZW5zZSBpbnRvIEQzLmpzLgorICAgICAgICBzZWVkRmlsZSgk
dGFyZ2V0RDNKUywgJGQzTGljZW5zZSk7CisKKyAgICAgICAgIyBNaW5pZnkgdGhlIEQzLmpzIGZp
bGUsIGFwcGVuZGluZyB0byB0aGUgbGljZW5zZSB0aGF0IHdhcyBleHBvcnRlZCBhYm92ZS4KKyAg
ICAgICAgbXkgJGRlcml2ZWRTb3VyY2VzRDNKUyA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJGRlcml2
ZWRTb3VyY2VzRGlyLCAnRDMuanMnKTsKKyAgICAgICAgc3lzdGVtKHFxKCIkcHl0aG9uIiAiJGpz
TWluU2NyaXB0IiA8ICIkZGVyaXZlZFNvdXJjZXNEM0pTIiA+PiAiJHRhcmdldEQzSlMiKSkgYW5k
IGRpZSAiRmFpbGVkIHRvIG1pbmlmeSAkZGVyaXZlZFNvdXJjZXNEM0pTOiAkISI7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgc2VlZEZpbGUoJHRhcmdldEQzSlMsICIiKTsKKyAgICB9CisKICAgICAj
IENvcHkgb3ZlciB0aGUgSW1hZ2VzIGRpcmVjdG9yeS4KICAgICBkaXR0byhGaWxlOjpTcGVjLT5j
YXRkaXIoJHVpUm9vdCwgJ0ltYWdlcycpLCBGaWxlOjpTcGVjLT5jYXRkaXIoJHRhcmdldFJlc291
cmNlUGF0aCwgJ0ltYWdlcycpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQmFzZS9NYWluLmpzCmluZGV4IGU5ZWJkNjhhNWQ3ODRkNWVlMTlmMDBiM2JkYjQz
OWYxNTNjZDZjMTcuLmRmMTE1MGVjZDc1NzJkMDYzODAxMTY2MWVhNjE1MWQwZmZlNjc5Y2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMK
QEAgLTcxLDYgKzcxLDggQEAgV0kubG9hZGVkID0gZnVuY3Rpb24oKQogICAgICAgICBJbnNwZWN0
b3JCYWNrZW5kLnJlZ2lzdGVyRGF0YWJhc2VEaXNwYXRjaGVyKFdJLkRhdGFiYXNlT2JzZXJ2ZXIp
OwogICAgIGlmIChJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyKQog
ICAgICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyKFdJLkRl
YnVnZ2VyT2JzZXJ2ZXIpOworICAgIGlmIChJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyR1N0cmVh
bWVyRGlzcGF0Y2hlcikKKyAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckdTdHJlYW1l
ckRpc3BhdGNoZXIoV0kuR1N0cmVhbWVyT2JzZXJ2ZXIpOwogICAgIGlmIChJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVySGVhcERpc3BhdGNoZXIpCiAgICAgICAgIEluc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJIZWFwRGlzcGF0Y2hlcihXSS5IZWFwT2JzZXJ2ZXIpOwogICAgIGlmIChJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVySW5zcGVjdG9yRGlzcGF0Y2hlcikKQEAgLTEyMyw2ICsxMjUsNyBAQCBX
SS5sb2FkZWQgPSBmdW5jdGlvbigpCiAgICAgICAgIFdJLndvcmtlck1hbmFnZXIgPSBuZXcgV0ku
V29ya2VyTWFuYWdlciwKICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyID0gbmV3IFdJLkRP
TURlYnVnZ2VyTWFuYWdlciwKICAgICAgICAgV0kuY2FudmFzTWFuYWdlciA9IG5ldyBXSS5DYW52
YXNNYW5hZ2VyLAorICAgICAgICBXSS5nc3RyZWFtZXJNYW5hZ2VyID0gbmV3IFdJLkdTdHJlYW1l
ck1hbmFnZXIsCiAgICAgXTsKIAogICAgIC8vIFJlZ2lzdGVyIGZvciBldmVudHMuCkBAIC00NzUs
NiArNDc4LDExIEBAIFdJLmNvbnRlbnRMb2FkZWQgPSBmdW5jdGlvbigpCiAgICAgXTsKIAogICAg
IFdJLl9rbm93blRhYkNsYXNzZXNCeVR5cGUgPSBuZXcgTWFwOworCisgICAgaWYgKFdJLlBsYXRm
b3JtLnBvcnQgPT09ICJndGsiIHx8IFdJLlBsYXRmb3JtLnBvcnQgPT09ICJ3cGUiKSB7CisgICAg
ICAgIHByb2R1Y3Rpb25UYWJDbGFzc2VzLnB1c2goV0kuR1N0cmVhbWVyVGFiQ29udGVudFZpZXcp
OworICAgIH0KKwogICAgIC8vIFNldCB0YWIgY2xhc3NlcyBkaXJlY3RseS4gVGhlIHB1YmxpYyBB
UEkgdHJpZ2dlcnMgb3RoZXIgdXBkYXRlcyBhbmQKICAgICAvLyBub3RpZmljYXRpb25zIHRoYXQg
d29uJ3Qgd29yayBvciBoYXZlIG5vIGxpc3RlbmVycyBhdCBXSSBwb2ludC4KICAgICBmb3IgKGxl
dCB0YWJDbGFzcyBvZiBwcm9kdWN0aW9uVGFiQ2xhc3NlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvUGxhdGZvcm0uanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1BsYXRmb3JtLmpzCmluZGV4IGZmYjVhNzdl
MmMzYWRjNzRjZjJiYmU5ODYwOTZjYTcwYWZhMGI2OTYuLjU3M2RiODlhOWUzYTUxZmUxNjg3NmVm
ZTdjMDU4MjY3ZGUxYzcwN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0Jhc2UvUGxhdGZvcm0uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQmFzZS9QbGF0Zm9ybS5qcwpAQCAtMjUsNiArMjUsNyBAQAogCiBXSS5QbGF0
Zm9ybSA9IHsKICAgICBuYW1lOiBJbnNwZWN0b3JGcm9udGVuZEhvc3QucGxhdGZvcm0oKSwKKyAg
ICBwb3J0OiBJbnNwZWN0b3JGcm9udGVuZEhvc3QucG9ydCgpLAogICAgIGlzTmlnaHRseUJ1aWxk
OiBmYWxzZSwKICAgICB2ZXJzaW9uOiB7CiAgICAgICAgIGJhc2U6IDAsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9HU3RyZWFtZXJN
YW5hZ2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxl
cnMvR1N0cmVhbWVyTWFuYWdlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDdjNjQwNjA2Mjk4M2MzMmQwMjA0
NzNkYzU3M2YyM2Q4MGFmMmJiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR1N0cmVhbWVyTWFuYWdlci5qcwpAQCAtMCww
ICsxLDY5IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAxOSBJZ2FsaWEgUy5MCisgKgorICog
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdl
bmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1B
ICAwMjExMC0xMzAxICBVU0EKKyAqLworCitXSS5HU3RyZWFtZXJNYW5hZ2VyID0gY2xhc3MgR1N0
cmVhbWVyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAoreworICAgIGNvbnN0cnVjdG9yKCkKKyAg
ICB7CisgICAgICAgIHN1cGVyKCk7CisKKyAgICAgICAgdGhpcy5fcGFyc2VyID0gbmV3IERPTVBh
cnNlcigpOworICAgICAgICB0aGlzLl9lbmFibGVkID0gV0kuUGxhdGZvcm0ucG9ydCA9PT0gImd0
ayIgfHwgV0kuUGxhdGZvcm0ucG9ydCA9PT0gIndwZSI7CisgICAgfQorCisgICAgLy8gQWdlbnQK
KworICAgIGdldCBkb21haW5zKCkgeyByZXR1cm4gWyJHU3RyZWFtZXIiXTsgfQorCisgICAgYWN0
aXZhdGVFeHRyYURvbWFpbihkb21haW4pCisgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydChk
b21haW4gPT09ICJHU3RyZWFtZXIiKTsKKyAgICB9CisKKyAgICAvLyBQdWJsaWMKKworICAgIGdl
dCBhZ2VudCgpIHsKKyAgICAgICAgbGV0IHRhcmdldCA9IFdJLmFzc3VtaW5nTWFpblRhcmdldCgp
OworICAgICAgICBpZiAodGFyZ2V0Lmhhc0RvbWFpbigiR1N0cmVhbWVyIikpCisgICAgICAgICAg
ICByZXR1cm4gdGFyZ2V0LkdTdHJlYW1lckFnZW50OworCisgICAgICAgIHJldHVybiBudWxsOwor
ICAgIH0KKworICAgIGV4cG9ydChvYmplY3QpCisgICAgeworICAgICAgICBXSS5GaWxlVXRpbGl0
aWVzLnNhdmUob2JqZWN0LnNhdmVEYXRhKTsKKyAgICB9CisKKyAgICByZW5kZXJTVkdFbGVtZW50
KGdyYXBoUmVwcmVzZW50YXRpb24pCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fcGFyc2Vy
LnBhcnNlRnJvbVN0cmluZyhncmFwaFJlcHJlc2VudGF0aW9uLCAiaW1hZ2Uvc3ZnK3htbCIpOwor
ICAgIH0KKworICAgIC8vIEdTdHJlYW1lck9ic2VydmVyCisKKyAgICBhY3RpdmVQaXBlbGluZXND
aGFuZ2VkKCkKKyAgICB7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJ
LkdTdHJlYW1lck1hbmFnZXIuRXZlbnQuQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCwge30pOworICAg
IH0KKworfTsKKworV0kuR1N0cmVhbWVyTWFuYWdlci5FdmVudCA9IHsKKyAgICBBY3RpdmVQaXBl
bGluZXNDaGFuZ2VkOiAiZ3N0cmVhbWVyLW1hbmFnZXItYWN0aXZlLXBpcGVsaW5lcy13ZXJlLWNo
YW5nZWQiLAorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0V4dGVybmFsL2QzLmpzL0xJQ0VOU0UgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9FeHRlcm5hbC9kMy5qcy9MSUNFTlNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkOWQ4NzVlZGI0Njk3
ODZhOWM2ZGJhZTVhYWVlZjlhM2JjYjJjMzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9kMy5qcy9MSUNFTlNFCkBAIC0wLDAg
KzEsMjcgQEAKK0NvcHlyaWdodCAyMDEwLTIwMTcgTWlrZSBCb3N0b2NrCitBbGwgcmlnaHRzIHJl
c2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLAorYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcworICBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKworKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyogTmVpdGhl
ciB0aGUgbmFtZSBvZiB0aGUgYXV0aG9yIG5vciB0aGUgbmFtZXMgb2YgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwor
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvZDMuanMvZDMuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9kMy5qcy9kMy5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
M2M2NDA2ODllMTA1Mzc5Y2ZmZDhiYzM2NDk1NTMwNzdmNmFlNzQyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvZDMuanMvZDMu
anMKQEAgLTAsMCArMSwxODUwMyBAQAorLy8gaHR0cHM6Ly9kM2pzLm9yZyB2NS4xNC4yIENvcHly
aWdodCAyMDE5IE1pa2UgQm9zdG9jaworKGZ1bmN0aW9uIChnbG9iYWwsIGZhY3RvcnkpIHsKK3R5
cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVk
JyA/IGZhY3RvcnkoZXhwb3J0cykgOgordHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBk
ZWZpbmUuYW1kID8gZGVmaW5lKFsnZXhwb3J0cyddLCBmYWN0b3J5KSA6CisoZ2xvYmFsID0gZ2xv
YmFsIHx8IHNlbGYsIGZhY3RvcnkoZ2xvYmFsLmQzID0gZ2xvYmFsLmQzIHx8IHt9KSk7Cit9KHRo
aXMsIGZ1bmN0aW9uIChleHBvcnRzKSB7ICd1c2Ugc3RyaWN0JzsKKwordmFyIHZlcnNpb24gPSAi
NS4xNC4yIjsKKworZnVuY3Rpb24gYXNjZW5kaW5nKGEsIGIpIHsKKyAgcmV0dXJuIGEgPCBiID8g
LTEgOiBhID4gYiA/IDEgOiBhID49IGIgPyAwIDogTmFOOworfQorCitmdW5jdGlvbiBiaXNlY3Rv
cihjb21wYXJlKSB7CisgIGlmIChjb21wYXJlLmxlbmd0aCA9PT0gMSkgY29tcGFyZSA9IGFzY2Vu
ZGluZ0NvbXBhcmF0b3IoY29tcGFyZSk7CisgIHJldHVybiB7CisgICAgbGVmdDogZnVuY3Rpb24o
YSwgeCwgbG8sIGhpKSB7CisgICAgICBpZiAobG8gPT0gbnVsbCkgbG8gPSAwOworICAgICAgaWYg
KGhpID09IG51bGwpIGhpID0gYS5sZW5ndGg7CisgICAgICB3aGlsZSAobG8gPCBoaSkgeworICAg
ICAgICB2YXIgbWlkID0gbG8gKyBoaSA+Pj4gMTsKKyAgICAgICAgaWYgKGNvbXBhcmUoYVttaWRd
LCB4KSA8IDApIGxvID0gbWlkICsgMTsKKyAgICAgICAgZWxzZSBoaSA9IG1pZDsKKyAgICAgIH0K
KyAgICAgIHJldHVybiBsbzsKKyAgICB9LAorICAgIHJpZ2h0OiBmdW5jdGlvbihhLCB4LCBsbywg
aGkpIHsKKyAgICAgIGlmIChsbyA9PSBudWxsKSBsbyA9IDA7CisgICAgICBpZiAoaGkgPT0gbnVs
bCkgaGkgPSBhLmxlbmd0aDsKKyAgICAgIHdoaWxlIChsbyA8IGhpKSB7CisgICAgICAgIHZhciBt
aWQgPSBsbyArIGhpID4+PiAxOworICAgICAgICBpZiAoY29tcGFyZShhW21pZF0sIHgpID4gMCkg
aGkgPSBtaWQ7CisgICAgICAgIGVsc2UgbG8gPSBtaWQgKyAxOworICAgICAgfQorICAgICAgcmV0
dXJuIGxvOworICAgIH0KKyAgfTsKK30KKworZnVuY3Rpb24gYXNjZW5kaW5nQ29tcGFyYXRvcihm
KSB7CisgIHJldHVybiBmdW5jdGlvbihkLCB4KSB7CisgICAgcmV0dXJuIGFzY2VuZGluZyhmKGQp
LCB4KTsKKyAgfTsKK30KKwordmFyIGFzY2VuZGluZ0Jpc2VjdCA9IGJpc2VjdG9yKGFzY2VuZGlu
Zyk7Cit2YXIgYmlzZWN0UmlnaHQgPSBhc2NlbmRpbmdCaXNlY3QucmlnaHQ7Cit2YXIgYmlzZWN0
TGVmdCA9IGFzY2VuZGluZ0Jpc2VjdC5sZWZ0OworCitmdW5jdGlvbiBwYWlycyhhcnJheSwgZikg
eworICBpZiAoZiA9PSBudWxsKSBmID0gcGFpcjsKKyAgdmFyIGkgPSAwLCBuID0gYXJyYXkubGVu
Z3RoIC0gMSwgcCA9IGFycmF5WzBdLCBwYWlycyA9IG5ldyBBcnJheShuIDwgMCA/IDAgOiBuKTsK
KyAgd2hpbGUgKGkgPCBuKSBwYWlyc1tpXSA9IGYocCwgcCA9IGFycmF5WysraV0pOworICByZXR1
cm4gcGFpcnM7Cit9CisKK2Z1bmN0aW9uIHBhaXIoYSwgYikgeworICByZXR1cm4gW2EsIGJdOwor
fQorCitmdW5jdGlvbiBjcm9zcyh2YWx1ZXMwLCB2YWx1ZXMxLCByZWR1Y2UpIHsKKyAgdmFyIG4w
ID0gdmFsdWVzMC5sZW5ndGgsCisgICAgICBuMSA9IHZhbHVlczEubGVuZ3RoLAorICAgICAgdmFs
dWVzID0gbmV3IEFycmF5KG4wICogbjEpLAorICAgICAgaTAsCisgICAgICBpMSwKKyAgICAgIGks
CisgICAgICB2YWx1ZTA7CisKKyAgaWYgKHJlZHVjZSA9PSBudWxsKSByZWR1Y2UgPSBwYWlyOwor
CisgIGZvciAoaTAgPSBpID0gMDsgaTAgPCBuMDsgKytpMCkgeworICAgIGZvciAodmFsdWUwID0g
dmFsdWVzMFtpMF0sIGkxID0gMDsgaTEgPCBuMTsgKytpMSwgKytpKSB7CisgICAgICB2YWx1ZXNb
aV0gPSByZWR1Y2UodmFsdWUwLCB2YWx1ZXMxW2kxXSk7CisgICAgfQorICB9CisKKyAgcmV0dXJu
IHZhbHVlczsKK30KKworZnVuY3Rpb24gZGVzY2VuZGluZyhhLCBiKSB7CisgIHJldHVybiBiIDwg
YSA/IC0xIDogYiA+IGEgPyAxIDogYiA+PSBhID8gMCA6IE5hTjsKK30KKworZnVuY3Rpb24gbnVt
YmVyKHgpIHsKKyAgcmV0dXJuIHggPT09IG51bGwgPyBOYU4gOiAreDsKK30KKworZnVuY3Rpb24g
dmFyaWFuY2UodmFsdWVzLCB2YWx1ZW9mKSB7CisgIHZhciBuID0gdmFsdWVzLmxlbmd0aCwKKyAg
ICAgIG0gPSAwLAorICAgICAgaSA9IC0xLAorICAgICAgbWVhbiA9IDAsCisgICAgICB2YWx1ZSwK
KyAgICAgIGRlbHRhLAorICAgICAgc3VtID0gMDsKKworICBpZiAodmFsdWVvZiA9PSBudWxsKSB7
CisgICAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIGlmICghaXNOYU4odmFsdWUgPSBudW1iZXIo
dmFsdWVzW2ldKSkpIHsKKyAgICAgICAgZGVsdGEgPSB2YWx1ZSAtIG1lYW47CisgICAgICAgIG1l
YW4gKz0gZGVsdGEgLyArK207CisgICAgICAgIHN1bSArPSBkZWx0YSAqICh2YWx1ZSAtIG1lYW4p
OworICAgICAgfQorICAgIH0KKyAgfQorCisgIGVsc2UgeworICAgIHdoaWxlICgrK2kgPCBuKSB7
CisgICAgICBpZiAoIWlzTmFOKHZhbHVlID0gbnVtYmVyKHZhbHVlb2YodmFsdWVzW2ldLCBpLCB2
YWx1ZXMpKSkpIHsKKyAgICAgICAgZGVsdGEgPSB2YWx1ZSAtIG1lYW47CisgICAgICAgIG1lYW4g
Kz0gZGVsdGEgLyArK207CisgICAgICAgIHN1bSArPSBkZWx0YSAqICh2YWx1ZSAtIG1lYW4pOwor
ICAgICAgfQorICAgIH0KKyAgfQorCisgIGlmIChtID4gMSkgcmV0dXJuIHN1bSAvIChtIC0gMSk7
Cit9CisKK2Z1bmN0aW9uIGRldmlhdGlvbihhcnJheSwgZikgeworICB2YXIgdiA9IHZhcmlhbmNl
KGFycmF5LCBmKTsKKyAgcmV0dXJuIHYgPyBNYXRoLnNxcnQodikgOiB2OworfQorCitmdW5jdGlv
biBleHRlbnQodmFsdWVzLCB2YWx1ZW9mKSB7CisgIHZhciBuID0gdmFsdWVzLmxlbmd0aCwKKyAg
ICAgIGkgPSAtMSwKKyAgICAgIHZhbHVlLAorICAgICAgbWluLAorICAgICAgbWF4OworCisgIGlm
ICh2YWx1ZW9mID09IG51bGwpIHsKKyAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBGaW5kIHRoZSBm
aXJzdCBjb21wYXJhYmxlIHZhbHVlLgorICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlc1tpXSkgIT0g
bnVsbCAmJiB2YWx1ZSA+PSB2YWx1ZSkgeworICAgICAgICBtaW4gPSBtYXggPSB2YWx1ZTsKKyAg
ICAgICAgd2hpbGUgKCsraSA8IG4pIHsgLy8gQ29tcGFyZSB0aGUgcmVtYWluaW5nIHZhbHVlcy4K
KyAgICAgICAgICBpZiAoKHZhbHVlID0gdmFsdWVzW2ldKSAhPSBudWxsKSB7CisgICAgICAgICAg
ICBpZiAobWluID4gdmFsdWUpIG1pbiA9IHZhbHVlOworICAgICAgICAgICAgaWYgKG1heCA8IHZh
bHVlKSBtYXggPSB2YWx1ZTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9
CisgIH0KKworICBlbHNlIHsKKyAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBGaW5kIHRoZSBmaXJz
dCBjb21wYXJhYmxlIHZhbHVlLgorICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlb2YodmFsdWVzW2ld
LCBpLCB2YWx1ZXMpKSAhPSBudWxsICYmIHZhbHVlID49IHZhbHVlKSB7CisgICAgICAgIG1pbiA9
IG1heCA9IHZhbHVlOworICAgICAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBDb21wYXJlIHRoZSBy
ZW1haW5pbmcgdmFsdWVzLgorICAgICAgICAgIGlmICgodmFsdWUgPSB2YWx1ZW9mKHZhbHVlc1tp
XSwgaSwgdmFsdWVzKSkgIT0gbnVsbCkgeworICAgICAgICAgICAgaWYgKG1pbiA+IHZhbHVlKSBt
aW4gPSB2YWx1ZTsKKyAgICAgICAgICAgIGlmIChtYXggPCB2YWx1ZSkgbWF4ID0gdmFsdWU7Cisg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIFtt
aW4sIG1heF07Cit9CisKK3ZhciBhcnJheSA9IEFycmF5LnByb3RvdHlwZTsKKwordmFyIHNsaWNl
ID0gYXJyYXkuc2xpY2U7Cit2YXIgbWFwID0gYXJyYXkubWFwOworCitmdW5jdGlvbiBjb25zdGFu
dCh4KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKwor
ZnVuY3Rpb24gaWRlbnRpdHkoeCkgeworICByZXR1cm4geDsKK30KKworZnVuY3Rpb24gc2VxdWVu
Y2Uoc3RhcnQsIHN0b3AsIHN0ZXApIHsKKyAgc3RhcnQgPSArc3RhcnQsIHN0b3AgPSArc3RvcCwg
c3RlcCA9IChuID0gYXJndW1lbnRzLmxlbmd0aCkgPCAyID8gKHN0b3AgPSBzdGFydCwgc3RhcnQg
PSAwLCAxKSA6IG4gPCAzID8gMSA6ICtzdGVwOworCisgIHZhciBpID0gLTEsCisgICAgICBuID0g
TWF0aC5tYXgoMCwgTWF0aC5jZWlsKChzdG9wIC0gc3RhcnQpIC8gc3RlcCkpIHwgMCwKKyAgICAg
IHJhbmdlID0gbmV3IEFycmF5KG4pOworCisgIHdoaWxlICgrK2kgPCBuKSB7CisgICAgcmFuZ2Vb
aV0gPSBzdGFydCArIGkgKiBzdGVwOworICB9CisKKyAgcmV0dXJuIHJhbmdlOworfQorCit2YXIg
ZTEwID0gTWF0aC5zcXJ0KDUwKSwKKyAgICBlNSA9IE1hdGguc3FydCgxMCksCisgICAgZTIgPSBN
YXRoLnNxcnQoMik7CisKK2Z1bmN0aW9uIHRpY2tzKHN0YXJ0LCBzdG9wLCBjb3VudCkgeworICB2
YXIgcmV2ZXJzZSwKKyAgICAgIGkgPSAtMSwKKyAgICAgIG4sCisgICAgICB0aWNrcywKKyAgICAg
IHN0ZXA7CisKKyAgc3RvcCA9ICtzdG9wLCBzdGFydCA9ICtzdGFydCwgY291bnQgPSArY291bnQ7
CisgIGlmIChzdGFydCA9PT0gc3RvcCAmJiBjb3VudCA+IDApIHJldHVybiBbc3RhcnRdOworICBp
ZiAocmV2ZXJzZSA9IHN0b3AgPCBzdGFydCkgbiA9IHN0YXJ0LCBzdGFydCA9IHN0b3AsIHN0b3Ag
PSBuOworICBpZiAoKHN0ZXAgPSB0aWNrSW5jcmVtZW50KHN0YXJ0LCBzdG9wLCBjb3VudCkpID09
PSAwIHx8ICFpc0Zpbml0ZShzdGVwKSkgcmV0dXJuIFtdOworCisgIGlmIChzdGVwID4gMCkgewor
ICAgIHN0YXJ0ID0gTWF0aC5jZWlsKHN0YXJ0IC8gc3RlcCk7CisgICAgc3RvcCA9IE1hdGguZmxv
b3Ioc3RvcCAvIHN0ZXApOworICAgIHRpY2tzID0gbmV3IEFycmF5KG4gPSBNYXRoLmNlaWwoc3Rv
cCAtIHN0YXJ0ICsgMSkpOworICAgIHdoaWxlICgrK2kgPCBuKSB0aWNrc1tpXSA9IChzdGFydCAr
IGkpICogc3RlcDsKKyAgfSBlbHNlIHsKKyAgICBzdGFydCA9IE1hdGguZmxvb3Ioc3RhcnQgKiBz
dGVwKTsKKyAgICBzdG9wID0gTWF0aC5jZWlsKHN0b3AgKiBzdGVwKTsKKyAgICB0aWNrcyA9IG5l
dyBBcnJheShuID0gTWF0aC5jZWlsKHN0YXJ0IC0gc3RvcCArIDEpKTsKKyAgICB3aGlsZSAoKytp
IDwgbikgdGlja3NbaV0gPSAoc3RhcnQgLSBpKSAvIHN0ZXA7CisgIH0KKworICBpZiAocmV2ZXJz
ZSkgdGlja3MucmV2ZXJzZSgpOworCisgIHJldHVybiB0aWNrczsKK30KKworZnVuY3Rpb24gdGlj
a0luY3JlbWVudChzdGFydCwgc3RvcCwgY291bnQpIHsKKyAgdmFyIHN0ZXAgPSAoc3RvcCAtIHN0
YXJ0KSAvIE1hdGgubWF4KDAsIGNvdW50KSwKKyAgICAgIHBvd2VyID0gTWF0aC5mbG9vcihNYXRo
LmxvZyhzdGVwKSAvIE1hdGguTE4xMCksCisgICAgICBlcnJvciA9IHN0ZXAgLyBNYXRoLnBvdygx
MCwgcG93ZXIpOworICByZXR1cm4gcG93ZXIgPj0gMAorICAgICAgPyAoZXJyb3IgPj0gZTEwID8g
MTAgOiBlcnJvciA+PSBlNSA/IDUgOiBlcnJvciA+PSBlMiA/IDIgOiAxKSAqIE1hdGgucG93KDEw
LCBwb3dlcikKKyAgICAgIDogLU1hdGgucG93KDEwLCAtcG93ZXIpIC8gKGVycm9yID49IGUxMCA/
IDEwIDogZXJyb3IgPj0gZTUgPyA1IDogZXJyb3IgPj0gZTIgPyAyIDogMSk7Cit9CisKK2Z1bmN0
aW9uIHRpY2tTdGVwKHN0YXJ0LCBzdG9wLCBjb3VudCkgeworICB2YXIgc3RlcDAgPSBNYXRoLmFi
cyhzdG9wIC0gc3RhcnQpIC8gTWF0aC5tYXgoMCwgY291bnQpLAorICAgICAgc3RlcDEgPSBNYXRo
LnBvdygxMCwgTWF0aC5mbG9vcihNYXRoLmxvZyhzdGVwMCkgLyBNYXRoLkxOMTApKSwKKyAgICAg
IGVycm9yID0gc3RlcDAgLyBzdGVwMTsKKyAgaWYgKGVycm9yID49IGUxMCkgc3RlcDEgKj0gMTA7
CisgIGVsc2UgaWYgKGVycm9yID49IGU1KSBzdGVwMSAqPSA1OworICBlbHNlIGlmIChlcnJvciA+
PSBlMikgc3RlcDEgKj0gMjsKKyAgcmV0dXJuIHN0b3AgPCBzdGFydCA/IC1zdGVwMSA6IHN0ZXAx
OworfQorCitmdW5jdGlvbiB0aHJlc2hvbGRTdHVyZ2VzKHZhbHVlcykgeworICByZXR1cm4gTWF0
aC5jZWlsKE1hdGgubG9nKHZhbHVlcy5sZW5ndGgpIC8gTWF0aC5MTjIpICsgMTsKK30KKworZnVu
Y3Rpb24gaGlzdG9ncmFtKCkgeworICB2YXIgdmFsdWUgPSBpZGVudGl0eSwKKyAgICAgIGRvbWFp
biA9IGV4dGVudCwKKyAgICAgIHRocmVzaG9sZCA9IHRocmVzaG9sZFN0dXJnZXM7CisKKyAgZnVu
Y3Rpb24gaGlzdG9ncmFtKGRhdGEpIHsKKyAgICB2YXIgaSwKKyAgICAgICAgbiA9IGRhdGEubGVu
Z3RoLAorICAgICAgICB4LAorICAgICAgICB2YWx1ZXMgPSBuZXcgQXJyYXkobik7CisKKyAgICBm
b3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICB2YWx1ZXNbaV0gPSB2YWx1ZShkYXRhW2ld
LCBpLCBkYXRhKTsKKyAgICB9CisKKyAgICB2YXIgeHogPSBkb21haW4odmFsdWVzKSwKKyAgICAg
ICAgeDAgPSB4elswXSwKKyAgICAgICAgeDEgPSB4elsxXSwKKyAgICAgICAgdHogPSB0aHJlc2hv
bGQodmFsdWVzLCB4MCwgeDEpOworCisgICAgLy8gQ29udmVydCBudW1iZXIgb2YgdGhyZXNob2xk
cyBpbnRvIHVuaWZvcm0gdGhyZXNob2xkcy4KKyAgICBpZiAoIUFycmF5LmlzQXJyYXkodHopKSB7
CisgICAgICB0eiA9IHRpY2tTdGVwKHgwLCB4MSwgdHopOworICAgICAgdHogPSBzZXF1ZW5jZShN
YXRoLmNlaWwoeDAgLyB0eikgKiB0eiwgeDEsIHR6KTsgLy8gZXhjbHVzaXZlCisgICAgfQorCisg
ICAgLy8gUmVtb3ZlIGFueSB0aHJlc2hvbGRzIG91dHNpZGUgdGhlIGRvbWFpbi4KKyAgICB2YXIg
bSA9IHR6Lmxlbmd0aDsKKyAgICB3aGlsZSAodHpbMF0gPD0geDApIHR6LnNoaWZ0KCksIC0tbTsK
KyAgICB3aGlsZSAodHpbbSAtIDFdID4geDEpIHR6LnBvcCgpLCAtLW07CisKKyAgICB2YXIgYmlu
cyA9IG5ldyBBcnJheShtICsgMSksCisgICAgICAgIGJpbjsKKworICAgIC8vIEluaXRpYWxpemUg
Ymlucy4KKyAgICBmb3IgKGkgPSAwOyBpIDw9IG07ICsraSkgeworICAgICAgYmluID0gYmluc1tp
XSA9IFtdOworICAgICAgYmluLngwID0gaSA+IDAgPyB0eltpIC0gMV0gOiB4MDsKKyAgICAgIGJp
bi54MSA9IGkgPCBtID8gdHpbaV0gOiB4MTsKKyAgICB9CisKKyAgICAvLyBBc3NpZ24gZGF0YSB0
byBiaW5zIGJ5IHZhbHVlLCBpZ25vcmluZyBhbnkgb3V0c2lkZSB0aGUgZG9tYWluLgorICAgIGZv
ciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIHggPSB2YWx1ZXNbaV07CisgICAgICBpZiAo
eDAgPD0geCAmJiB4IDw9IHgxKSB7CisgICAgICAgIGJpbnNbYmlzZWN0UmlnaHQodHosIHgsIDAs
IG0pXS5wdXNoKGRhdGFbaV0pOworICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBiaW5zOwor
ICB9CisKKyAgaGlzdG9ncmFtLnZhbHVlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gKHZhbHVlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29u
c3RhbnQoXyksIGhpc3RvZ3JhbSkgOiB2YWx1ZTsKKyAgfTsKKworICBoaXN0b2dyYW0uZG9tYWlu
ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGRvbWFpbiA9
IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50KFtfWzBdLCBfWzFdXSksIGhp
c3RvZ3JhbSkgOiBkb21haW47CisgIH07CisKKyAgaGlzdG9ncmFtLnRocmVzaG9sZHMgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGhyZXNob2xkID0gdHlw
ZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogQXJyYXkuaXNBcnJheShfKSA/IGNvbnN0YW50KHNs
aWNlLmNhbGwoXykpIDogY29uc3RhbnQoXyksIGhpc3RvZ3JhbSkgOiB0aHJlc2hvbGQ7CisgIH07
CisKKyAgcmV0dXJuIGhpc3RvZ3JhbTsKK30KKworZnVuY3Rpb24gdGhyZXNob2xkKHZhbHVlcywg
cCwgdmFsdWVvZikgeworICBpZiAodmFsdWVvZiA9PSBudWxsKSB2YWx1ZW9mID0gbnVtYmVyOwor
ICBpZiAoIShuID0gdmFsdWVzLmxlbmd0aCkpIHJldHVybjsKKyAgaWYgKChwID0gK3ApIDw9IDAg
fHwgbiA8IDIpIHJldHVybiArdmFsdWVvZih2YWx1ZXNbMF0sIDAsIHZhbHVlcyk7CisgIGlmIChw
ID49IDEpIHJldHVybiArdmFsdWVvZih2YWx1ZXNbbiAtIDFdLCBuIC0gMSwgdmFsdWVzKTsKKyAg
dmFyIG4sCisgICAgICBpID0gKG4gLSAxKSAqIHAsCisgICAgICBpMCA9IE1hdGguZmxvb3IoaSks
CisgICAgICB2YWx1ZTAgPSArdmFsdWVvZih2YWx1ZXNbaTBdLCBpMCwgdmFsdWVzKSwKKyAgICAg
IHZhbHVlMSA9ICt2YWx1ZW9mKHZhbHVlc1tpMCArIDFdLCBpMCArIDEsIHZhbHVlcyk7CisgIHJl
dHVybiB2YWx1ZTAgKyAodmFsdWUxIC0gdmFsdWUwKSAqIChpIC0gaTApOworfQorCitmdW5jdGlv
biBmcmVlZG1hbkRpYWNvbmlzKHZhbHVlcywgbWluLCBtYXgpIHsKKyAgdmFsdWVzID0gbWFwLmNh
bGwodmFsdWVzLCBudW1iZXIpLnNvcnQoYXNjZW5kaW5nKTsKKyAgcmV0dXJuIE1hdGguY2VpbCgo
bWF4IC0gbWluKSAvICgyICogKHRocmVzaG9sZCh2YWx1ZXMsIDAuNzUpIC0gdGhyZXNob2xkKHZh
bHVlcywgMC4yNSkpICogTWF0aC5wb3codmFsdWVzLmxlbmd0aCwgLTEgLyAzKSkpOworfQorCitm
dW5jdGlvbiBzY290dCh2YWx1ZXMsIG1pbiwgbWF4KSB7CisgIHJldHVybiBNYXRoLmNlaWwoKG1h
eCAtIG1pbikgLyAoMy41ICogZGV2aWF0aW9uKHZhbHVlcykgKiBNYXRoLnBvdyh2YWx1ZXMubGVu
Z3RoLCAtMSAvIDMpKSk7Cit9CisKK2Z1bmN0aW9uIG1heCh2YWx1ZXMsIHZhbHVlb2YpIHsKKyAg
dmFyIG4gPSB2YWx1ZXMubGVuZ3RoLAorICAgICAgaSA9IC0xLAorICAgICAgdmFsdWUsCisgICAg
ICBtYXg7CisKKyAgaWYgKHZhbHVlb2YgPT0gbnVsbCkgeworICAgIHdoaWxlICgrK2kgPCBuKSB7
IC8vIEZpbmQgdGhlIGZpcnN0IGNvbXBhcmFibGUgdmFsdWUuCisgICAgICBpZiAoKHZhbHVlID0g
dmFsdWVzW2ldKSAhPSBudWxsICYmIHZhbHVlID49IHZhbHVlKSB7CisgICAgICAgIG1heCA9IHZh
bHVlOworICAgICAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBDb21wYXJlIHRoZSByZW1haW5pbmcg
dmFsdWVzLgorICAgICAgICAgIGlmICgodmFsdWUgPSB2YWx1ZXNbaV0pICE9IG51bGwgJiYgdmFs
dWUgPiBtYXgpIHsKKyAgICAgICAgICAgIG1heCA9IHZhbHVlOworICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgfQorICAgIH0KKyAgfQorCisgIGVsc2UgeworICAgIHdoaWxlICgrK2kgPCBu
KSB7IC8vIEZpbmQgdGhlIGZpcnN0IGNvbXBhcmFibGUgdmFsdWUuCisgICAgICBpZiAoKHZhbHVl
ID0gdmFsdWVvZih2YWx1ZXNbaV0sIGksIHZhbHVlcykpICE9IG51bGwgJiYgdmFsdWUgPj0gdmFs
dWUpIHsKKyAgICAgICAgbWF4ID0gdmFsdWU7CisgICAgICAgIHdoaWxlICgrK2kgPCBuKSB7IC8v
IENvbXBhcmUgdGhlIHJlbWFpbmluZyB2YWx1ZXMuCisgICAgICAgICAgaWYgKCh2YWx1ZSA9IHZh
bHVlb2YodmFsdWVzW2ldLCBpLCB2YWx1ZXMpKSAhPSBudWxsICYmIHZhbHVlID4gbWF4KSB7Cisg
ICAgICAgICAgICBtYXggPSB2YWx1ZTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0K
KyAgICB9CisgIH0KKworICByZXR1cm4gbWF4OworfQorCitmdW5jdGlvbiBtZWFuKHZhbHVlcywg
dmFsdWVvZikgeworICB2YXIgbiA9IHZhbHVlcy5sZW5ndGgsCisgICAgICBtID0gbiwKKyAgICAg
IGkgPSAtMSwKKyAgICAgIHZhbHVlLAorICAgICAgc3VtID0gMDsKKworICBpZiAodmFsdWVvZiA9
PSBudWxsKSB7CisgICAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIGlmICghaXNOYU4odmFsdWUg
PSBudW1iZXIodmFsdWVzW2ldKSkpIHN1bSArPSB2YWx1ZTsKKyAgICAgIGVsc2UgLS1tOworICAg
IH0KKyAgfQorCisgIGVsc2UgeworICAgIHdoaWxlICgrK2kgPCBuKSB7CisgICAgICBpZiAoIWlz
TmFOKHZhbHVlID0gbnVtYmVyKHZhbHVlb2YodmFsdWVzW2ldLCBpLCB2YWx1ZXMpKSkpIHN1bSAr
PSB2YWx1ZTsKKyAgICAgIGVsc2UgLS1tOworICAgIH0KKyAgfQorCisgIGlmIChtKSByZXR1cm4g
c3VtIC8gbTsKK30KKworZnVuY3Rpb24gbWVkaWFuKHZhbHVlcywgdmFsdWVvZikgeworICB2YXIg
biA9IHZhbHVlcy5sZW5ndGgsCisgICAgICBpID0gLTEsCisgICAgICB2YWx1ZSwKKyAgICAgIG51
bWJlcnMgPSBbXTsKKworICBpZiAodmFsdWVvZiA9PSBudWxsKSB7CisgICAgd2hpbGUgKCsraSA8
IG4pIHsKKyAgICAgIGlmICghaXNOYU4odmFsdWUgPSBudW1iZXIodmFsdWVzW2ldKSkpIHsKKyAg
ICAgICAgbnVtYmVycy5wdXNoKHZhbHVlKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBlbHNl
IHsKKyAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgaWYgKCFpc05hTih2YWx1ZSA9IG51bWJl
cih2YWx1ZW9mKHZhbHVlc1tpXSwgaSwgdmFsdWVzKSkpKSB7CisgICAgICAgIG51bWJlcnMucHVz
aCh2YWx1ZSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIHRocmVzaG9sZChudW1i
ZXJzLnNvcnQoYXNjZW5kaW5nKSwgMC41KTsKK30KKworZnVuY3Rpb24gbWVyZ2UoYXJyYXlzKSB7
CisgIHZhciBuID0gYXJyYXlzLmxlbmd0aCwKKyAgICAgIG0sCisgICAgICBpID0gLTEsCisgICAg
ICBqID0gMCwKKyAgICAgIG1lcmdlZCwKKyAgICAgIGFycmF5OworCisgIHdoaWxlICgrK2kgPCBu
KSBqICs9IGFycmF5c1tpXS5sZW5ndGg7CisgIG1lcmdlZCA9IG5ldyBBcnJheShqKTsKKworICB3
aGlsZSAoLS1uID49IDApIHsKKyAgICBhcnJheSA9IGFycmF5c1tuXTsKKyAgICBtID0gYXJyYXku
bGVuZ3RoOworICAgIHdoaWxlICgtLW0gPj0gMCkgeworICAgICAgbWVyZ2VkWy0tal0gPSBhcnJh
eVttXTsKKyAgICB9CisgIH0KKworICByZXR1cm4gbWVyZ2VkOworfQorCitmdW5jdGlvbiBtaW4o
dmFsdWVzLCB2YWx1ZW9mKSB7CisgIHZhciBuID0gdmFsdWVzLmxlbmd0aCwKKyAgICAgIGkgPSAt
MSwKKyAgICAgIHZhbHVlLAorICAgICAgbWluOworCisgIGlmICh2YWx1ZW9mID09IG51bGwpIHsK
KyAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBGaW5kIHRoZSBmaXJzdCBjb21wYXJhYmxlIHZhbHVl
LgorICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlc1tpXSkgIT0gbnVsbCAmJiB2YWx1ZSA+PSB2YWx1
ZSkgeworICAgICAgICBtaW4gPSB2YWx1ZTsKKyAgICAgICAgd2hpbGUgKCsraSA8IG4pIHsgLy8g
Q29tcGFyZSB0aGUgcmVtYWluaW5nIHZhbHVlcy4KKyAgICAgICAgICBpZiAoKHZhbHVlID0gdmFs
dWVzW2ldKSAhPSBudWxsICYmIG1pbiA+IHZhbHVlKSB7CisgICAgICAgICAgICBtaW4gPSB2YWx1
ZTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisgIH0KKworICBlbHNl
IHsKKyAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBGaW5kIHRoZSBmaXJzdCBjb21wYXJhYmxlIHZh
bHVlLgorICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlb2YodmFsdWVzW2ldLCBpLCB2YWx1ZXMpKSAh
PSBudWxsICYmIHZhbHVlID49IHZhbHVlKSB7CisgICAgICAgIG1pbiA9IHZhbHVlOworICAgICAg
ICB3aGlsZSAoKytpIDwgbikgeyAvLyBDb21wYXJlIHRoZSByZW1haW5pbmcgdmFsdWVzLgorICAg
ICAgICAgIGlmICgodmFsdWUgPSB2YWx1ZW9mKHZhbHVlc1tpXSwgaSwgdmFsdWVzKSkgIT0gbnVs
bCAmJiBtaW4gPiB2YWx1ZSkgeworICAgICAgICAgICAgbWluID0gdmFsdWU7CisgICAgICAgICAg
fQorICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIG1pbjsKK30KKwor
ZnVuY3Rpb24gcGVybXV0ZShhcnJheSwgaW5kZXhlcykgeworICB2YXIgaSA9IGluZGV4ZXMubGVu
Z3RoLCBwZXJtdXRlcyA9IG5ldyBBcnJheShpKTsKKyAgd2hpbGUgKGktLSkgcGVybXV0ZXNbaV0g
PSBhcnJheVtpbmRleGVzW2ldXTsKKyAgcmV0dXJuIHBlcm11dGVzOworfQorCitmdW5jdGlvbiBz
Y2FuKHZhbHVlcywgY29tcGFyZSkgeworICBpZiAoIShuID0gdmFsdWVzLmxlbmd0aCkpIHJldHVy
bjsKKyAgdmFyIG4sCisgICAgICBpID0gMCwKKyAgICAgIGogPSAwLAorICAgICAgeGksCisgICAg
ICB4aiA9IHZhbHVlc1tqXTsKKworICBpZiAoY29tcGFyZSA9PSBudWxsKSBjb21wYXJlID0gYXNj
ZW5kaW5nOworCisgIHdoaWxlICgrK2kgPCBuKSB7CisgICAgaWYgKGNvbXBhcmUoeGkgPSB2YWx1
ZXNbaV0sIHhqKSA8IDAgfHwgY29tcGFyZSh4aiwgeGopICE9PSAwKSB7CisgICAgICB4aiA9IHhp
LCBqID0gaTsKKyAgICB9CisgIH0KKworICBpZiAoY29tcGFyZSh4aiwgeGopID09PSAwKSByZXR1
cm4gajsKK30KKworZnVuY3Rpb24gc2h1ZmZsZShhcnJheSwgaTAsIGkxKSB7CisgIHZhciBtID0g
KGkxID09IG51bGwgPyBhcnJheS5sZW5ndGggOiBpMSkgLSAoaTAgPSBpMCA9PSBudWxsID8gMCA6
ICtpMCksCisgICAgICB0LAorICAgICAgaTsKKworICB3aGlsZSAobSkgeworICAgIGkgPSBNYXRo
LnJhbmRvbSgpICogbS0tIHwgMDsKKyAgICB0ID0gYXJyYXlbbSArIGkwXTsKKyAgICBhcnJheVtt
ICsgaTBdID0gYXJyYXlbaSArIGkwXTsKKyAgICBhcnJheVtpICsgaTBdID0gdDsKKyAgfQorCisg
IHJldHVybiBhcnJheTsKK30KKworZnVuY3Rpb24gc3VtKHZhbHVlcywgdmFsdWVvZikgeworICB2
YXIgbiA9IHZhbHVlcy5sZW5ndGgsCisgICAgICBpID0gLTEsCisgICAgICB2YWx1ZSwKKyAgICAg
IHN1bSA9IDA7CisKKyAgaWYgKHZhbHVlb2YgPT0gbnVsbCkgeworICAgIHdoaWxlICgrK2kgPCBu
KSB7CisgICAgICBpZiAodmFsdWUgPSArdmFsdWVzW2ldKSBzdW0gKz0gdmFsdWU7IC8vIE5vdGU6
IHplcm8gYW5kIG51bGwgYXJlIGVxdWl2YWxlbnQuCisgICAgfQorICB9CisKKyAgZWxzZSB7Cisg
ICAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIGlmICh2YWx1ZSA9ICt2YWx1ZW9mKHZhbHVlc1tp
XSwgaSwgdmFsdWVzKSkgc3VtICs9IHZhbHVlOworICAgIH0KKyAgfQorCisgIHJldHVybiBzdW07
Cit9CisKK2Z1bmN0aW9uIHRyYW5zcG9zZShtYXRyaXgpIHsKKyAgaWYgKCEobiA9IG1hdHJpeC5s
ZW5ndGgpKSByZXR1cm4gW107CisgIGZvciAodmFyIGkgPSAtMSwgbSA9IG1pbihtYXRyaXgsIGxl
bmd0aCksIHRyYW5zcG9zZSA9IG5ldyBBcnJheShtKTsgKytpIDwgbTspIHsKKyAgICBmb3IgKHZh
ciBqID0gLTEsIG4sIHJvdyA9IHRyYW5zcG9zZVtpXSA9IG5ldyBBcnJheShuKTsgKytqIDwgbjsp
IHsKKyAgICAgIHJvd1tqXSA9IG1hdHJpeFtqXVtpXTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHRy
YW5zcG9zZTsKK30KKworZnVuY3Rpb24gbGVuZ3RoKGQpIHsKKyAgcmV0dXJuIGQubGVuZ3RoOwor
fQorCitmdW5jdGlvbiB6aXAoKSB7CisgIHJldHVybiB0cmFuc3Bvc2UoYXJndW1lbnRzKTsKK30K
KwordmFyIHNsaWNlJDEgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7CisKK2Z1bmN0aW9uIGlkZW50
aXR5JDEoeCkgeworICByZXR1cm4geDsKK30KKwordmFyIHRvcCA9IDEsCisgICAgcmlnaHQgPSAy
LAorICAgIGJvdHRvbSA9IDMsCisgICAgbGVmdCA9IDQsCisgICAgZXBzaWxvbiA9IDFlLTY7CisK
K2Z1bmN0aW9uIHRyYW5zbGF0ZVgoeCkgeworICByZXR1cm4gInRyYW5zbGF0ZSgiICsgKHggKyAw
LjUpICsgIiwwKSI7Cit9CisKK2Z1bmN0aW9uIHRyYW5zbGF0ZVkoeSkgeworICByZXR1cm4gInRy
YW5zbGF0ZSgwLCIgKyAoeSArIDAuNSkgKyAiKSI7Cit9CisKK2Z1bmN0aW9uIG51bWJlciQxKHNj
YWxlKSB7CisgIHJldHVybiBmdW5jdGlvbihkKSB7CisgICAgcmV0dXJuICtzY2FsZShkKTsKKyAg
fTsKK30KKworZnVuY3Rpb24gY2VudGVyKHNjYWxlKSB7CisgIHZhciBvZmZzZXQgPSBNYXRoLm1h
eCgwLCBzY2FsZS5iYW5kd2lkdGgoKSAtIDEpIC8gMjsgLy8gQWRqdXN0IGZvciAwLjVweCBvZmZz
ZXQuCisgIGlmIChzY2FsZS5yb3VuZCgpKSBvZmZzZXQgPSBNYXRoLnJvdW5kKG9mZnNldCk7Cisg
IHJldHVybiBmdW5jdGlvbihkKSB7CisgICAgcmV0dXJuICtzY2FsZShkKSArIG9mZnNldDsKKyAg
fTsKK30KKworZnVuY3Rpb24gZW50ZXJpbmcoKSB7CisgIHJldHVybiAhdGhpcy5fX2F4aXM7Cit9
CisKK2Z1bmN0aW9uIGF4aXMob3JpZW50LCBzY2FsZSkgeworICB2YXIgdGlja0FyZ3VtZW50cyA9
IFtdLAorICAgICAgdGlja1ZhbHVlcyA9IG51bGwsCisgICAgICB0aWNrRm9ybWF0ID0gbnVsbCwK
KyAgICAgIHRpY2tTaXplSW5uZXIgPSA2LAorICAgICAgdGlja1NpemVPdXRlciA9IDYsCisgICAg
ICB0aWNrUGFkZGluZyA9IDMsCisgICAgICBrID0gb3JpZW50ID09PSB0b3AgfHwgb3JpZW50ID09
PSBsZWZ0ID8gLTEgOiAxLAorICAgICAgeCA9IG9yaWVudCA9PT0gbGVmdCB8fCBvcmllbnQgPT09
IHJpZ2h0ID8gIngiIDogInkiLAorICAgICAgdHJhbnNmb3JtID0gb3JpZW50ID09PSB0b3AgfHwg
b3JpZW50ID09PSBib3R0b20gPyB0cmFuc2xhdGVYIDogdHJhbnNsYXRlWTsKKworICBmdW5jdGlv
biBheGlzKGNvbnRleHQpIHsKKyAgICB2YXIgdmFsdWVzID0gdGlja1ZhbHVlcyA9PSBudWxsID8g
KHNjYWxlLnRpY2tzID8gc2NhbGUudGlja3MuYXBwbHkoc2NhbGUsIHRpY2tBcmd1bWVudHMpIDog
c2NhbGUuZG9tYWluKCkpIDogdGlja1ZhbHVlcywKKyAgICAgICAgZm9ybWF0ID0gdGlja0Zvcm1h
dCA9PSBudWxsID8gKHNjYWxlLnRpY2tGb3JtYXQgPyBzY2FsZS50aWNrRm9ybWF0LmFwcGx5KHNj
YWxlLCB0aWNrQXJndW1lbnRzKSA6IGlkZW50aXR5JDEpIDogdGlja0Zvcm1hdCwKKyAgICAgICAg
c3BhY2luZyA9IE1hdGgubWF4KHRpY2tTaXplSW5uZXIsIDApICsgdGlja1BhZGRpbmcsCisgICAg
ICAgIHJhbmdlID0gc2NhbGUucmFuZ2UoKSwKKyAgICAgICAgcmFuZ2UwID0gK3JhbmdlWzBdICsg
MC41LAorICAgICAgICByYW5nZTEgPSArcmFuZ2VbcmFuZ2UubGVuZ3RoIC0gMV0gKyAwLjUsCisg
ICAgICAgIHBvc2l0aW9uID0gKHNjYWxlLmJhbmR3aWR0aCA/IGNlbnRlciA6IG51bWJlciQxKShz
Y2FsZS5jb3B5KCkpLAorICAgICAgICBzZWxlY3Rpb24gPSBjb250ZXh0LnNlbGVjdGlvbiA/IGNv
bnRleHQuc2VsZWN0aW9uKCkgOiBjb250ZXh0LAorICAgICAgICBwYXRoID0gc2VsZWN0aW9uLnNl
bGVjdEFsbCgiLmRvbWFpbiIpLmRhdGEoW251bGxdKSwKKyAgICAgICAgdGljayA9IHNlbGVjdGlv
bi5zZWxlY3RBbGwoIi50aWNrIikuZGF0YSh2YWx1ZXMsIHNjYWxlKS5vcmRlcigpLAorICAgICAg
ICB0aWNrRXhpdCA9IHRpY2suZXhpdCgpLAorICAgICAgICB0aWNrRW50ZXIgPSB0aWNrLmVudGVy
KCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCAidGljayIpLAorICAgICAgICBsaW5lID0gdGlj
ay5zZWxlY3QoImxpbmUiKSwKKyAgICAgICAgdGV4dCA9IHRpY2suc2VsZWN0KCJ0ZXh0Iik7CisK
KyAgICBwYXRoID0gcGF0aC5tZXJnZShwYXRoLmVudGVyKCkuaW5zZXJ0KCJwYXRoIiwgIi50aWNr
IikKKyAgICAgICAgLmF0dHIoImNsYXNzIiwgImRvbWFpbiIpCisgICAgICAgIC5hdHRyKCJzdHJv
a2UiLCAiY3VycmVudENvbG9yIikpOworCisgICAgdGljayA9IHRpY2subWVyZ2UodGlja0VudGVy
KTsKKworICAgIGxpbmUgPSBsaW5lLm1lcmdlKHRpY2tFbnRlci5hcHBlbmQoImxpbmUiKQorICAg
ICAgICAuYXR0cigic3Ryb2tlIiwgImN1cnJlbnRDb2xvciIpCisgICAgICAgIC5hdHRyKHggKyAi
MiIsIGsgKiB0aWNrU2l6ZUlubmVyKSk7CisKKyAgICB0ZXh0ID0gdGV4dC5tZXJnZSh0aWNrRW50
ZXIuYXBwZW5kKCJ0ZXh0IikKKyAgICAgICAgLmF0dHIoImZpbGwiLCAiY3VycmVudENvbG9yIikK
KyAgICAgICAgLmF0dHIoeCwgayAqIHNwYWNpbmcpCisgICAgICAgIC5hdHRyKCJkeSIsIG9yaWVu
dCA9PT0gdG9wID8gIjBlbSIgOiBvcmllbnQgPT09IGJvdHRvbSA/ICIwLjcxZW0iIDogIjAuMzJl
bSIpKTsKKworICAgIGlmIChjb250ZXh0ICE9PSBzZWxlY3Rpb24pIHsKKyAgICAgIHBhdGggPSBw
YXRoLnRyYW5zaXRpb24oY29udGV4dCk7CisgICAgICB0aWNrID0gdGljay50cmFuc2l0aW9uKGNv
bnRleHQpOworICAgICAgbGluZSA9IGxpbmUudHJhbnNpdGlvbihjb250ZXh0KTsKKyAgICAgIHRl
eHQgPSB0ZXh0LnRyYW5zaXRpb24oY29udGV4dCk7CisKKyAgICAgIHRpY2tFeGl0ID0gdGlja0V4
aXQudHJhbnNpdGlvbihjb250ZXh0KQorICAgICAgICAgIC5hdHRyKCJvcGFjaXR5IiwgZXBzaWxv
bikKKyAgICAgICAgICAuYXR0cigidHJhbnNmb3JtIiwgZnVuY3Rpb24oZCkgeyByZXR1cm4gaXNG
aW5pdGUoZCA9IHBvc2l0aW9uKGQpKSA/IHRyYW5zZm9ybShkKSA6IHRoaXMuZ2V0QXR0cmlidXRl
KCJ0cmFuc2Zvcm0iKTsgfSk7CisKKyAgICAgIHRpY2tFbnRlcgorICAgICAgICAgIC5hdHRyKCJv
cGFjaXR5IiwgZXBzaWxvbikKKyAgICAgICAgICAuYXR0cigidHJhbnNmb3JtIiwgZnVuY3Rpb24o
ZCkgeyB2YXIgcCA9IHRoaXMucGFyZW50Tm9kZS5fX2F4aXM7IHJldHVybiB0cmFuc2Zvcm0ocCAm
JiBpc0Zpbml0ZShwID0gcChkKSkgPyBwIDogcG9zaXRpb24oZCkpOyB9KTsKKyAgICB9CisKKyAg
ICB0aWNrRXhpdC5yZW1vdmUoKTsKKworICAgIHBhdGgKKyAgICAgICAgLmF0dHIoImQiLCBvcmll
bnQgPT09IGxlZnQgfHwgb3JpZW50ID09IHJpZ2h0CisgICAgICAgICAgICA/ICh0aWNrU2l6ZU91
dGVyID8gIk0iICsgayAqIHRpY2tTaXplT3V0ZXIgKyAiLCIgKyByYW5nZTAgKyAiSDAuNVYiICsg
cmFuZ2UxICsgIkgiICsgayAqIHRpY2tTaXplT3V0ZXIgOiAiTTAuNSwiICsgcmFuZ2UwICsgIlYi
ICsgcmFuZ2UxKQorICAgICAgICAgICAgOiAodGlja1NpemVPdXRlciA/ICJNIiArIHJhbmdlMCAr
ICIsIiArIGsgKiB0aWNrU2l6ZU91dGVyICsgIlYwLjVIIiArIHJhbmdlMSArICJWIiArIGsgKiB0
aWNrU2l6ZU91dGVyIDogIk0iICsgcmFuZ2UwICsgIiwwLjVIIiArIHJhbmdlMSkpOworCisgICAg
dGljaworICAgICAgICAuYXR0cigib3BhY2l0eSIsIDEpCisgICAgICAgIC5hdHRyKCJ0cmFuc2Zv
cm0iLCBmdW5jdGlvbihkKSB7IHJldHVybiB0cmFuc2Zvcm0ocG9zaXRpb24oZCkpOyB9KTsKKwor
ICAgIGxpbmUKKyAgICAgICAgLmF0dHIoeCArICIyIiwgayAqIHRpY2tTaXplSW5uZXIpOworCisg
ICAgdGV4dAorICAgICAgICAuYXR0cih4LCBrICogc3BhY2luZykKKyAgICAgICAgLnRleHQoZm9y
bWF0KTsKKworICAgIHNlbGVjdGlvbi5maWx0ZXIoZW50ZXJpbmcpCisgICAgICAgIC5hdHRyKCJm
aWxsIiwgIm5vbmUiKQorICAgICAgICAuYXR0cigiZm9udC1zaXplIiwgMTApCisgICAgICAgIC5h
dHRyKCJmb250LWZhbWlseSIsICJzYW5zLXNlcmlmIikKKyAgICAgICAgLmF0dHIoInRleHQtYW5j
aG9yIiwgb3JpZW50ID09PSByaWdodCA/ICJzdGFydCIgOiBvcmllbnQgPT09IGxlZnQgPyAiZW5k
IiA6ICJtaWRkbGUiKTsKKworICAgIHNlbGVjdGlvbgorICAgICAgICAuZWFjaChmdW5jdGlvbigp
IHsgdGhpcy5fX2F4aXMgPSBwb3NpdGlvbjsgfSk7CisgIH0KKworICBheGlzLnNjYWxlID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNjYWxlID0gXywgYXhp
cykgOiBzY2FsZTsKKyAgfTsKKworICBheGlzLnRpY2tzID0gZnVuY3Rpb24oKSB7CisgICAgcmV0
dXJuIHRpY2tBcmd1bWVudHMgPSBzbGljZSQxLmNhbGwoYXJndW1lbnRzKSwgYXhpczsKKyAgfTsK
KworICBheGlzLnRpY2tBcmd1bWVudHMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAodGlja0FyZ3VtZW50cyA9IF8gPT0gbnVsbCA/IFtdIDogc2xpY2UkMS5j
YWxsKF8pLCBheGlzKSA6IHRpY2tBcmd1bWVudHMuc2xpY2UoKTsKKyAgfTsKKworICBheGlzLnRp
Y2tWYWx1ZXMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
dGlja1ZhbHVlcyA9IF8gPT0gbnVsbCA/IG51bGwgOiBzbGljZSQxLmNhbGwoXyksIGF4aXMpIDog
dGlja1ZhbHVlcyAmJiB0aWNrVmFsdWVzLnNsaWNlKCk7CisgIH07CisKKyAgYXhpcy50aWNrRm9y
bWF0ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRpY2tG
b3JtYXQgPSBfLCBheGlzKSA6IHRpY2tGb3JtYXQ7CisgIH07CisKKyAgYXhpcy50aWNrU2l6ZSA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0aWNrU2l6ZUlu
bmVyID0gdGlja1NpemVPdXRlciA9ICtfLCBheGlzKSA6IHRpY2tTaXplSW5uZXI7CisgIH07CisK
KyAgYXhpcy50aWNrU2l6ZUlubmVyID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHRpY2tTaXplSW5uZXIgPSArXywgYXhpcykgOiB0aWNrU2l6ZUlubmVyOwor
ICB9OworCisgIGF4aXMudGlja1NpemVPdXRlciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/ICh0aWNrU2l6ZU91dGVyID0gK18sIGF4aXMpIDogdGlja1NpemVP
dXRlcjsKKyAgfTsKKworICBheGlzLnRpY2tQYWRkaW5nID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRpY2tQYWRkaW5nID0gK18sIGF4aXMpIDogdGlja1Bh
ZGRpbmc7CisgIH07CisKKyAgcmV0dXJuIGF4aXM7Cit9CisKK2Z1bmN0aW9uIGF4aXNUb3Aoc2Nh
bGUpIHsKKyAgcmV0dXJuIGF4aXModG9wLCBzY2FsZSk7Cit9CisKK2Z1bmN0aW9uIGF4aXNSaWdo
dChzY2FsZSkgeworICByZXR1cm4gYXhpcyhyaWdodCwgc2NhbGUpOworfQorCitmdW5jdGlvbiBh
eGlzQm90dG9tKHNjYWxlKSB7CisgIHJldHVybiBheGlzKGJvdHRvbSwgc2NhbGUpOworfQorCitm
dW5jdGlvbiBheGlzTGVmdChzY2FsZSkgeworICByZXR1cm4gYXhpcyhsZWZ0LCBzY2FsZSk7Cit9
CisKK3ZhciBub29wID0ge3ZhbHVlOiBmdW5jdGlvbigpIHt9fTsKKworZnVuY3Rpb24gZGlzcGF0
Y2goKSB7CisgIGZvciAodmFyIGkgPSAwLCBuID0gYXJndW1lbnRzLmxlbmd0aCwgXyA9IHt9LCB0
OyBpIDwgbjsgKytpKSB7CisgICAgaWYgKCEodCA9IGFyZ3VtZW50c1tpXSArICIiKSB8fCAodCBp
biBfKSB8fCAvW1xzLl0vLnRlc3QodCkpIHRocm93IG5ldyBFcnJvcigiaWxsZWdhbCB0eXBlOiAi
ICsgdCk7CisgICAgX1t0XSA9IFtdOworICB9CisgIHJldHVybiBuZXcgRGlzcGF0Y2goXyk7Cit9
CisKK2Z1bmN0aW9uIERpc3BhdGNoKF8pIHsKKyAgdGhpcy5fID0gXzsKK30KKworZnVuY3Rpb24g
cGFyc2VUeXBlbmFtZXModHlwZW5hbWVzLCB0eXBlcykgeworICByZXR1cm4gdHlwZW5hbWVzLnRy
aW0oKS5zcGxpdCgvXnxccysvKS5tYXAoZnVuY3Rpb24odCkgeworICAgIHZhciBuYW1lID0gIiIs
IGkgPSB0LmluZGV4T2YoIi4iKTsKKyAgICBpZiAoaSA+PSAwKSBuYW1lID0gdC5zbGljZShpICsg
MSksIHQgPSB0LnNsaWNlKDAsIGkpOworICAgIGlmICh0ICYmICF0eXBlcy5oYXNPd25Qcm9wZXJ0
eSh0KSkgdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIgKyB0KTsKKyAgICByZXR1cm4g
e3R5cGU6IHQsIG5hbWU6IG5hbWV9OworICB9KTsKK30KKworRGlzcGF0Y2gucHJvdG90eXBlID0g
ZGlzcGF0Y2gucHJvdG90eXBlID0geworICBjb25zdHJ1Y3RvcjogRGlzcGF0Y2gsCisgIG9uOiBm
dW5jdGlvbih0eXBlbmFtZSwgY2FsbGJhY2spIHsKKyAgICB2YXIgXyA9IHRoaXMuXywKKyAgICAg
ICAgVCA9IHBhcnNlVHlwZW5hbWVzKHR5cGVuYW1lICsgIiIsIF8pLAorICAgICAgICB0LAorICAg
ICAgICBpID0gLTEsCisgICAgICAgIG4gPSBULmxlbmd0aDsKKworICAgIC8vIElmIG5vIGNhbGxi
YWNrIHdhcyBzcGVjaWZpZWQsIHJldHVybiB0aGUgY2FsbGJhY2sgb2YgdGhlIGdpdmVuIHR5cGUg
YW5kIG5hbWUuCisgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7CisgICAgICB3aGlsZSAo
KytpIDwgbikgaWYgKCh0ID0gKHR5cGVuYW1lID0gVFtpXSkudHlwZSkgJiYgKHQgPSBnZXQoX1t0
XSwgdHlwZW5hbWUubmFtZSkpKSByZXR1cm4gdDsKKyAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICAvLyBJZiBhIHR5cGUgd2FzIHNwZWNpZmllZCwgc2V0IHRoZSBjYWxsYmFjayBmb3IgdGhlIGdp
dmVuIHR5cGUgYW5kIG5hbWUuCisgICAgLy8gT3RoZXJ3aXNlLCBpZiBhIG51bGwgY2FsbGJhY2sg
d2FzIHNwZWNpZmllZCwgcmVtb3ZlIGNhbGxiYWNrcyBvZiB0aGUgZ2l2ZW4gbmFtZS4KKyAgICBp
ZiAoY2FsbGJhY2sgIT0gbnVsbCAmJiB0eXBlb2YgY2FsbGJhY2sgIT09ICJmdW5jdGlvbiIpIHRo
cm93IG5ldyBFcnJvcigiaW52YWxpZCBjYWxsYmFjazogIiArIGNhbGxiYWNrKTsKKyAgICB3aGls
ZSAoKytpIDwgbikgeworICAgICAgaWYgKHQgPSAodHlwZW5hbWUgPSBUW2ldKS50eXBlKSBfW3Rd
ID0gc2V0KF9bdF0sIHR5cGVuYW1lLm5hbWUsIGNhbGxiYWNrKTsKKyAgICAgIGVsc2UgaWYgKGNh
bGxiYWNrID09IG51bGwpIGZvciAodCBpbiBfKSBfW3RdID0gc2V0KF9bdF0sIHR5cGVuYW1lLm5h
bWUsIG51bGwpOworICAgIH0KKworICAgIHJldHVybiB0aGlzOworICB9LAorICBjb3B5OiBmdW5j
dGlvbigpIHsKKyAgICB2YXIgY29weSA9IHt9LCBfID0gdGhpcy5fOworICAgIGZvciAodmFyIHQg
aW4gXykgY29weVt0XSA9IF9bdF0uc2xpY2UoKTsKKyAgICByZXR1cm4gbmV3IERpc3BhdGNoKGNv
cHkpOworICB9LAorICBjYWxsOiBmdW5jdGlvbih0eXBlLCB0aGF0KSB7CisgICAgaWYgKChuID0g
YXJndW1lbnRzLmxlbmd0aCAtIDIpID4gMCkgZm9yICh2YXIgYXJncyA9IG5ldyBBcnJheShuKSwg
aSA9IDAsIG4sIHQ7IGkgPCBuOyArK2kpIGFyZ3NbaV0gPSBhcmd1bWVudHNbaSArIDJdOworICAg
IGlmICghdGhpcy5fLmhhc093blByb3BlcnR5KHR5cGUpKSB0aHJvdyBuZXcgRXJyb3IoInVua25v
d24gdHlwZTogIiArIHR5cGUpOworICAgIGZvciAodCA9IHRoaXMuX1t0eXBlXSwgaSA9IDAsIG4g
PSB0Lmxlbmd0aDsgaSA8IG47ICsraSkgdFtpXS52YWx1ZS5hcHBseSh0aGF0LCBhcmdzKTsKKyAg
fSwKKyAgYXBwbHk6IGZ1bmN0aW9uKHR5cGUsIHRoYXQsIGFyZ3MpIHsKKyAgICBpZiAoIXRoaXMu
Xy5oYXNPd25Qcm9wZXJ0eSh0eXBlKSkgdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIg
KyB0eXBlKTsKKyAgICBmb3IgKHZhciB0ID0gdGhpcy5fW3R5cGVdLCBpID0gMCwgbiA9IHQubGVu
Z3RoOyBpIDwgbjsgKytpKSB0W2ldLnZhbHVlLmFwcGx5KHRoYXQsIGFyZ3MpOworICB9Cit9Owor
CitmdW5jdGlvbiBnZXQodHlwZSwgbmFtZSkgeworICBmb3IgKHZhciBpID0gMCwgbiA9IHR5cGUu
bGVuZ3RoLCBjOyBpIDwgbjsgKytpKSB7CisgICAgaWYgKChjID0gdHlwZVtpXSkubmFtZSA9PT0g
bmFtZSkgeworICAgICAgcmV0dXJuIGMudmFsdWU7CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9u
IHNldCh0eXBlLCBuYW1lLCBjYWxsYmFjaykgeworICBmb3IgKHZhciBpID0gMCwgbiA9IHR5cGUu
bGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgaWYgKHR5cGVbaV0ubmFtZSA9PT0gbmFtZSkgewor
ICAgICAgdHlwZVtpXSA9IG5vb3AsIHR5cGUgPSB0eXBlLnNsaWNlKDAsIGkpLmNvbmNhdCh0eXBl
LnNsaWNlKGkgKyAxKSk7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKyAgaWYgKGNhbGxiYWNr
ICE9IG51bGwpIHR5cGUucHVzaCh7bmFtZTogbmFtZSwgdmFsdWU6IGNhbGxiYWNrfSk7CisgIHJl
dHVybiB0eXBlOworfQorCit2YXIgeGh0bWwgPSAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRt
bCI7CisKK3ZhciBuYW1lc3BhY2VzID0geworICBzdmc6ICJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIsCisgIHhodG1sOiB4aHRtbCwKKyAgeGxpbms6ICJodHRwOi8vd3d3LnczLm9yZy8xOTk5
L3hsaW5rIiwKKyAgeG1sOiAiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIiwK
KyAgeG1sbnM6ICJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zLyIKK307CisKK2Z1bmN0aW9u
IG5hbWVzcGFjZShuYW1lKSB7CisgIHZhciBwcmVmaXggPSBuYW1lICs9ICIiLCBpID0gcHJlZml4
LmluZGV4T2YoIjoiKTsKKyAgaWYgKGkgPj0gMCAmJiAocHJlZml4ID0gbmFtZS5zbGljZSgwLCBp
KSkgIT09ICJ4bWxucyIpIG5hbWUgPSBuYW1lLnNsaWNlKGkgKyAxKTsKKyAgcmV0dXJuIG5hbWVz
cGFjZXMuaGFzT3duUHJvcGVydHkocHJlZml4KSA/IHtzcGFjZTogbmFtZXNwYWNlc1twcmVmaXhd
LCBsb2NhbDogbmFtZX0gOiBuYW1lOworfQorCitmdW5jdGlvbiBjcmVhdG9ySW5oZXJpdChuYW1l
KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgZG9jdW1lbnQgPSB0aGlzLm93bmVy
RG9jdW1lbnQsCisgICAgICAgIHVyaSA9IHRoaXMubmFtZXNwYWNlVVJJOworICAgIHJldHVybiB1
cmkgPT09IHhodG1sICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5uYW1lc3BhY2VVUkkgPT09
IHhodG1sCisgICAgICAgID8gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChuYW1lKQorICAgICAgICA6
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyh1cmksIG5hbWUpOworICB9OworfQorCitmdW5jdGlv
biBjcmVhdG9yRml4ZWQoZnVsbG5hbWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJl
dHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGZ1bGxuYW1lLnNwYWNlLCBm
dWxsbmFtZS5sb2NhbCk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNyZWF0b3IobmFtZSkgeworICB2
YXIgZnVsbG5hbWUgPSBuYW1lc3BhY2UobmFtZSk7CisgIHJldHVybiAoZnVsbG5hbWUubG9jYWwK
KyAgICAgID8gY3JlYXRvckZpeGVkCisgICAgICA6IGNyZWF0b3JJbmhlcml0KShmdWxsbmFtZSk7
Cit9CisKK2Z1bmN0aW9uIG5vbmUoKSB7fQorCitmdW5jdGlvbiBzZWxlY3RvcihzZWxlY3Rvcikg
eworICByZXR1cm4gc2VsZWN0b3IgPT0gbnVsbCA/IG5vbmUgOiBmdW5jdGlvbigpIHsKKyAgICBy
ZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTsKKyAgfTsKK30KKworZnVuY3Rpb24g
c2VsZWN0aW9uX3NlbGVjdChzZWxlY3QpIHsKKyAgaWYgKHR5cGVvZiBzZWxlY3QgIT09ICJmdW5j
dGlvbiIpIHNlbGVjdCA9IHNlbGVjdG9yKHNlbGVjdCk7CisKKyAgZm9yICh2YXIgZ3JvdXBzID0g
dGhpcy5fZ3JvdXBzLCBtID0gZ3JvdXBzLmxlbmd0aCwgc3ViZ3JvdXBzID0gbmV3IEFycmF5KG0p
LCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwID0gZ3JvdXBzW2pdLCBu
ID0gZ3JvdXAubGVuZ3RoLCBzdWJncm91cCA9IHN1Ymdyb3Vwc1tqXSA9IG5ldyBBcnJheShuKSwg
bm9kZSwgc3Vibm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmICgobm9kZSA9IGdy
b3VwW2ldKSAmJiAoc3Vibm9kZSA9IHNlbGVjdC5jYWxsKG5vZGUsIG5vZGUuX19kYXRhX18sIGks
IGdyb3VwKSkpIHsKKyAgICAgICAgaWYgKCJfX2RhdGFfXyIgaW4gbm9kZSkgc3Vibm9kZS5fX2Rh
dGFfXyA9IG5vZGUuX19kYXRhX187CisgICAgICAgIHN1Ymdyb3VwW2ldID0gc3Vibm9kZTsKKyAg
ICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gbmV3IFNlbGVjdGlvbihzdWJncm91cHMsIHRo
aXMuX3BhcmVudHMpOworfQorCitmdW5jdGlvbiBlbXB0eSgpIHsKKyAgcmV0dXJuIFtdOworfQor
CitmdW5jdGlvbiBzZWxlY3RvckFsbChzZWxlY3RvcikgeworICByZXR1cm4gc2VsZWN0b3IgPT0g
bnVsbCA/IGVtcHR5IDogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rv
ckFsbChzZWxlY3Rvcik7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9zZWxlY3RBbGwo
c2VsZWN0KSB7CisgIGlmICh0eXBlb2Ygc2VsZWN0ICE9PSAiZnVuY3Rpb24iKSBzZWxlY3QgPSBz
ZWxlY3RvckFsbChzZWxlY3QpOworCisgIGZvciAodmFyIGdyb3VwcyA9IHRoaXMuX2dyb3Vwcywg
bSA9IGdyb3Vwcy5sZW5ndGgsIHN1Ymdyb3VwcyA9IFtdLCBwYXJlbnRzID0gW10sIGogPSAwOyBq
IDwgbTsgKytqKSB7CisgICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNbal0sIG4gPSBncm91cC5s
ZW5ndGgsIG5vZGUsIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAobm9kZSA9IGdyb3Vw
W2ldKSB7CisgICAgICAgIHN1Ymdyb3Vwcy5wdXNoKHNlbGVjdC5jYWxsKG5vZGUsIG5vZGUuX19k
YXRhX18sIGksIGdyb3VwKSk7CisgICAgICAgIHBhcmVudHMucHVzaChub2RlKTsKKyAgICAgIH0K
KyAgICB9CisgIH0KKworICByZXR1cm4gbmV3IFNlbGVjdGlvbihzdWJncm91cHMsIHBhcmVudHMp
OworfQorCitmdW5jdGlvbiBtYXRjaGVyKHNlbGVjdG9yKSB7CisgIHJldHVybiBmdW5jdGlvbigp
IHsKKyAgICByZXR1cm4gdGhpcy5tYXRjaGVzKHNlbGVjdG9yKTsKKyAgfTsKK30KKworZnVuY3Rp
b24gc2VsZWN0aW9uX2ZpbHRlcihtYXRjaCkgeworICBpZiAodHlwZW9mIG1hdGNoICE9PSAiZnVu
Y3Rpb24iKSBtYXRjaCA9IG1hdGNoZXIobWF0Y2gpOworCisgIGZvciAodmFyIGdyb3VwcyA9IHRo
aXMuX2dyb3VwcywgbSA9IGdyb3Vwcy5sZW5ndGgsIHN1Ymdyb3VwcyA9IG5ldyBBcnJheShtKSwg
aiA9IDA7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdyb3Vwc1tqXSwgbiA9
IGdyb3VwLmxlbmd0aCwgc3ViZ3JvdXAgPSBzdWJncm91cHNbal0gPSBbXSwgbm9kZSwgaSA9IDA7
IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmICgobm9kZSA9IGdyb3VwW2ldKSAmJiBtYXRjaC5jYWxs
KG5vZGUsIG5vZGUuX19kYXRhX18sIGksIGdyb3VwKSkgeworICAgICAgICBzdWJncm91cC5wdXNo
KG5vZGUpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBuZXcgU2VsZWN0aW9uKHN1
Ymdyb3VwcywgdGhpcy5fcGFyZW50cyk7Cit9CisKK2Z1bmN0aW9uIHNwYXJzZSh1cGRhdGUpIHsK
KyAgcmV0dXJuIG5ldyBBcnJheSh1cGRhdGUubGVuZ3RoKTsKK30KKworZnVuY3Rpb24gc2VsZWN0
aW9uX2VudGVyKCkgeworICByZXR1cm4gbmV3IFNlbGVjdGlvbih0aGlzLl9lbnRlciB8fCB0aGlz
Ll9ncm91cHMubWFwKHNwYXJzZSksIHRoaXMuX3BhcmVudHMpOworfQorCitmdW5jdGlvbiBFbnRl
ck5vZGUocGFyZW50LCBkYXR1bSkgeworICB0aGlzLm93bmVyRG9jdW1lbnQgPSBwYXJlbnQub3du
ZXJEb2N1bWVudDsKKyAgdGhpcy5uYW1lc3BhY2VVUkkgPSBwYXJlbnQubmFtZXNwYWNlVVJJOwor
ICB0aGlzLl9uZXh0ID0gbnVsbDsKKyAgdGhpcy5fcGFyZW50ID0gcGFyZW50OworICB0aGlzLl9f
ZGF0YV9fID0gZGF0dW07Cit9CisKK0VudGVyTm9kZS5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVj
dG9yOiBFbnRlck5vZGUsCisgIGFwcGVuZENoaWxkOiBmdW5jdGlvbihjaGlsZCkgeyByZXR1cm4g
dGhpcy5fcGFyZW50Lmluc2VydEJlZm9yZShjaGlsZCwgdGhpcy5fbmV4dCk7IH0sCisgIGluc2Vy
dEJlZm9yZTogZnVuY3Rpb24oY2hpbGQsIG5leHQpIHsgcmV0dXJuIHRoaXMuX3BhcmVudC5pbnNl
cnRCZWZvcmUoY2hpbGQsIG5leHQpOyB9LAorICBxdWVyeVNlbGVjdG9yOiBmdW5jdGlvbihzZWxl
Y3RvcikgeyByZXR1cm4gdGhpcy5fcGFyZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpOyB9LAor
ICBxdWVyeVNlbGVjdG9yQWxsOiBmdW5jdGlvbihzZWxlY3RvcikgeyByZXR1cm4gdGhpcy5fcGFy
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpOyB9Cit9OworCitmdW5jdGlvbiBjb25zdGFu
dCQxKHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB4OworICB9OworfQor
Cit2YXIga2V5UHJlZml4ID0gIiQiOyAvLyBQcm90ZWN0IGFnYWluc3Qga2V5cyBsaWtlIOKAnF9f
cHJvdG9fX+KAnS4KKworZnVuY3Rpb24gYmluZEluZGV4KHBhcmVudCwgZ3JvdXAsIGVudGVyLCB1
cGRhdGUsIGV4aXQsIGRhdGEpIHsKKyAgdmFyIGkgPSAwLAorICAgICAgbm9kZSwKKyAgICAgIGdy
b3VwTGVuZ3RoID0gZ3JvdXAubGVuZ3RoLAorICAgICAgZGF0YUxlbmd0aCA9IGRhdGEubGVuZ3Ro
OworCisgIC8vIFB1dCBhbnkgbm9uLW51bGwgbm9kZXMgdGhhdCBmaXQgaW50byB1cGRhdGUuCisg
IC8vIFB1dCBhbnkgbnVsbCBub2RlcyBpbnRvIGVudGVyLgorICAvLyBQdXQgYW55IHJlbWFpbmlu
ZyBkYXRhIGludG8gZW50ZXIuCisgIGZvciAoOyBpIDwgZGF0YUxlbmd0aDsgKytpKSB7CisgICAg
aWYgKG5vZGUgPSBncm91cFtpXSkgeworICAgICAgbm9kZS5fX2RhdGFfXyA9IGRhdGFbaV07Cisg
ICAgICB1cGRhdGVbaV0gPSBub2RlOworICAgIH0gZWxzZSB7CisgICAgICBlbnRlcltpXSA9IG5l
dyBFbnRlck5vZGUocGFyZW50LCBkYXRhW2ldKTsKKyAgICB9CisgIH0KKworICAvLyBQdXQgYW55
IG5vbi1udWxsIG5vZGVzIHRoYXQgZG9u4oCZdCBmaXQgaW50byBleGl0LgorICBmb3IgKDsgaSA8
IGdyb3VwTGVuZ3RoOyArK2kpIHsKKyAgICBpZiAobm9kZSA9IGdyb3VwW2ldKSB7CisgICAgICBl
eGl0W2ldID0gbm9kZTsKKyAgICB9CisgIH0KK30KKworZnVuY3Rpb24gYmluZEtleShwYXJlbnQs
IGdyb3VwLCBlbnRlciwgdXBkYXRlLCBleGl0LCBkYXRhLCBrZXkpIHsKKyAgdmFyIGksCisgICAg
ICBub2RlLAorICAgICAgbm9kZUJ5S2V5VmFsdWUgPSB7fSwKKyAgICAgIGdyb3VwTGVuZ3RoID0g
Z3JvdXAubGVuZ3RoLAorICAgICAgZGF0YUxlbmd0aCA9IGRhdGEubGVuZ3RoLAorICAgICAga2V5
VmFsdWVzID0gbmV3IEFycmF5KGdyb3VwTGVuZ3RoKSwKKyAgICAgIGtleVZhbHVlOworCisgIC8v
IENvbXB1dGUgdGhlIGtleSBmb3IgZWFjaCBub2RlLgorICAvLyBJZiBtdWx0aXBsZSBub2RlcyBo
YXZlIHRoZSBzYW1lIGtleSwgdGhlIGR1cGxpY2F0ZXMgYXJlIGFkZGVkIHRvIGV4aXQuCisgIGZv
ciAoaSA9IDA7IGkgPCBncm91cExlbmd0aDsgKytpKSB7CisgICAgaWYgKG5vZGUgPSBncm91cFtp
XSkgeworICAgICAga2V5VmFsdWVzW2ldID0ga2V5VmFsdWUgPSBrZXlQcmVmaXggKyBrZXkuY2Fs
bChub2RlLCBub2RlLl9fZGF0YV9fLCBpLCBncm91cCk7CisgICAgICBpZiAoa2V5VmFsdWUgaW4g
bm9kZUJ5S2V5VmFsdWUpIHsKKyAgICAgICAgZXhpdFtpXSA9IG5vZGU7CisgICAgICB9IGVsc2Ug
eworICAgICAgICBub2RlQnlLZXlWYWx1ZVtrZXlWYWx1ZV0gPSBub2RlOworICAgICAgfQorICAg
IH0KKyAgfQorCisgIC8vIENvbXB1dGUgdGhlIGtleSBmb3IgZWFjaCBkYXR1bS4KKyAgLy8gSWYg
dGhlcmUgYSBub2RlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGtleSwgam9pbiBhbmQgYWRkIGl0IHRv
IHVwZGF0ZS4KKyAgLy8gSWYgdGhlcmUgaXMgbm90IChvciB0aGUga2V5IGlzIGEgZHVwbGljYXRl
KSwgYWRkIGl0IHRvIGVudGVyLgorICBmb3IgKGkgPSAwOyBpIDwgZGF0YUxlbmd0aDsgKytpKSB7
CisgICAga2V5VmFsdWUgPSBrZXlQcmVmaXggKyBrZXkuY2FsbChwYXJlbnQsIGRhdGFbaV0sIGks
IGRhdGEpOworICAgIGlmIChub2RlID0gbm9kZUJ5S2V5VmFsdWVba2V5VmFsdWVdKSB7CisgICAg
ICB1cGRhdGVbaV0gPSBub2RlOworICAgICAgbm9kZS5fX2RhdGFfXyA9IGRhdGFbaV07CisgICAg
ICBub2RlQnlLZXlWYWx1ZVtrZXlWYWx1ZV0gPSBudWxsOworICAgIH0gZWxzZSB7CisgICAgICBl
bnRlcltpXSA9IG5ldyBFbnRlck5vZGUocGFyZW50LCBkYXRhW2ldKTsKKyAgICB9CisgIH0KKwor
ICAvLyBBZGQgYW55IHJlbWFpbmluZyBub2RlcyB0aGF0IHdlcmUgbm90IGJvdW5kIHRvIGRhdGEg
dG8gZXhpdC4KKyAgZm9yIChpID0gMDsgaSA8IGdyb3VwTGVuZ3RoOyArK2kpIHsKKyAgICBpZiAo
KG5vZGUgPSBncm91cFtpXSkgJiYgKG5vZGVCeUtleVZhbHVlW2tleVZhbHVlc1tpXV0gPT09IG5v
ZGUpKSB7CisgICAgICBleGl0W2ldID0gbm9kZTsKKyAgICB9CisgIH0KK30KKworZnVuY3Rpb24g
c2VsZWN0aW9uX2RhdGEodmFsdWUsIGtleSkgeworICBpZiAoIXZhbHVlKSB7CisgICAgZGF0YSA9
IG5ldyBBcnJheSh0aGlzLnNpemUoKSksIGogPSAtMTsKKyAgICB0aGlzLmVhY2goZnVuY3Rpb24o
ZCkgeyBkYXRhWysral0gPSBkOyB9KTsKKyAgICByZXR1cm4gZGF0YTsKKyAgfQorCisgIHZhciBi
aW5kID0ga2V5ID8gYmluZEtleSA6IGJpbmRJbmRleCwKKyAgICAgIHBhcmVudHMgPSB0aGlzLl9w
YXJlbnRzLAorICAgICAgZ3JvdXBzID0gdGhpcy5fZ3JvdXBzOworCisgIGlmICh0eXBlb2YgdmFs
dWUgIT09ICJmdW5jdGlvbiIpIHZhbHVlID0gY29uc3RhbnQkMSh2YWx1ZSk7CisKKyAgZm9yICh2
YXIgbSA9IGdyb3Vwcy5sZW5ndGgsIHVwZGF0ZSA9IG5ldyBBcnJheShtKSwgZW50ZXIgPSBuZXcg
QXJyYXkobSksIGV4aXQgPSBuZXcgQXJyYXkobSksIGogPSAwOyBqIDwgbTsgKytqKSB7CisgICAg
dmFyIHBhcmVudCA9IHBhcmVudHNbal0sCisgICAgICAgIGdyb3VwID0gZ3JvdXBzW2pdLAorICAg
ICAgICBncm91cExlbmd0aCA9IGdyb3VwLmxlbmd0aCwKKyAgICAgICAgZGF0YSA9IHZhbHVlLmNh
bGwocGFyZW50LCBwYXJlbnQgJiYgcGFyZW50Ll9fZGF0YV9fLCBqLCBwYXJlbnRzKSwKKyAgICAg
ICAgZGF0YUxlbmd0aCA9IGRhdGEubGVuZ3RoLAorICAgICAgICBlbnRlckdyb3VwID0gZW50ZXJb
al0gPSBuZXcgQXJyYXkoZGF0YUxlbmd0aCksCisgICAgICAgIHVwZGF0ZUdyb3VwID0gdXBkYXRl
W2pdID0gbmV3IEFycmF5KGRhdGFMZW5ndGgpLAorICAgICAgICBleGl0R3JvdXAgPSBleGl0W2pd
ID0gbmV3IEFycmF5KGdyb3VwTGVuZ3RoKTsKKworICAgIGJpbmQocGFyZW50LCBncm91cCwgZW50
ZXJHcm91cCwgdXBkYXRlR3JvdXAsIGV4aXRHcm91cCwgZGF0YSwga2V5KTsKKworICAgIC8vIE5v
dyBjb25uZWN0IHRoZSBlbnRlciBub2RlcyB0byB0aGVpciBmb2xsb3dpbmcgdXBkYXRlIG5vZGUs
IHN1Y2ggdGhhdAorICAgIC8vIGFwcGVuZENoaWxkIGNhbiBpbnNlcnQgdGhlIG1hdGVyaWFsaXpl
ZCBlbnRlciBub2RlIGJlZm9yZSB0aGlzIG5vZGUsCisgICAgLy8gcmF0aGVyIHRoYW4gYXQgdGhl
IGVuZCBvZiB0aGUgcGFyZW50IG5vZGUuCisgICAgZm9yICh2YXIgaTAgPSAwLCBpMSA9IDAsIHBy
ZXZpb3VzLCBuZXh0OyBpMCA8IGRhdGFMZW5ndGg7ICsraTApIHsKKyAgICAgIGlmIChwcmV2aW91
cyA9IGVudGVyR3JvdXBbaTBdKSB7CisgICAgICAgIGlmIChpMCA+PSBpMSkgaTEgPSBpMCArIDE7
CisgICAgICAgIHdoaWxlICghKG5leHQgPSB1cGRhdGVHcm91cFtpMV0pICYmICsraTEgPCBkYXRh
TGVuZ3RoKTsKKyAgICAgICAgcHJldmlvdXMuX25leHQgPSBuZXh0IHx8IG51bGw7CisgICAgICB9
CisgICAgfQorICB9CisKKyAgdXBkYXRlID0gbmV3IFNlbGVjdGlvbih1cGRhdGUsIHBhcmVudHMp
OworICB1cGRhdGUuX2VudGVyID0gZW50ZXI7CisgIHVwZGF0ZS5fZXhpdCA9IGV4aXQ7CisgIHJl
dHVybiB1cGRhdGU7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9leGl0KCkgeworICByZXR1cm4g
bmV3IFNlbGVjdGlvbih0aGlzLl9leGl0IHx8IHRoaXMuX2dyb3Vwcy5tYXAoc3BhcnNlKSwgdGhp
cy5fcGFyZW50cyk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9qb2luKG9uZW50ZXIsIG9udXBk
YXRlLCBvbmV4aXQpIHsKKyAgdmFyIGVudGVyID0gdGhpcy5lbnRlcigpLCB1cGRhdGUgPSB0aGlz
LCBleGl0ID0gdGhpcy5leGl0KCk7CisgIGVudGVyID0gdHlwZW9mIG9uZW50ZXIgPT09ICJmdW5j
dGlvbiIgPyBvbmVudGVyKGVudGVyKSA6IGVudGVyLmFwcGVuZChvbmVudGVyICsgIiIpOworICBp
ZiAob251cGRhdGUgIT0gbnVsbCkgdXBkYXRlID0gb251cGRhdGUodXBkYXRlKTsKKyAgaWYgKG9u
ZXhpdCA9PSBudWxsKSBleGl0LnJlbW92ZSgpOyBlbHNlIG9uZXhpdChleGl0KTsKKyAgcmV0dXJu
IGVudGVyICYmIHVwZGF0ZSA/IGVudGVyLm1lcmdlKHVwZGF0ZSkub3JkZXIoKSA6IHVwZGF0ZTsK
K30KKworZnVuY3Rpb24gc2VsZWN0aW9uX21lcmdlKHNlbGVjdGlvbikgeworCisgIGZvciAodmFy
IGdyb3VwczAgPSB0aGlzLl9ncm91cHMsIGdyb3VwczEgPSBzZWxlY3Rpb24uX2dyb3VwcywgbTAg
PSBncm91cHMwLmxlbmd0aCwgbTEgPSBncm91cHMxLmxlbmd0aCwgbSA9IE1hdGgubWluKG0wLCBt
MSksIG1lcmdlcyA9IG5ldyBBcnJheShtMCksIGogPSAwOyBqIDwgbTsgKytqKSB7CisgICAgZm9y
ICh2YXIgZ3JvdXAwID0gZ3JvdXBzMFtqXSwgZ3JvdXAxID0gZ3JvdXBzMVtqXSwgbiA9IGdyb3Vw
MC5sZW5ndGgsIG1lcmdlID0gbWVyZ2VzW2pdID0gbmV3IEFycmF5KG4pLCBub2RlLCBpID0gMDsg
aSA8IG47ICsraSkgeworICAgICAgaWYgKG5vZGUgPSBncm91cDBbaV0gfHwgZ3JvdXAxW2ldKSB7
CisgICAgICAgIG1lcmdlW2ldID0gbm9kZTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBmb3Ig
KDsgaiA8IG0wOyArK2opIHsKKyAgICBtZXJnZXNbal0gPSBncm91cHMwW2pdOworICB9CisKKyAg
cmV0dXJuIG5ldyBTZWxlY3Rpb24obWVyZ2VzLCB0aGlzLl9wYXJlbnRzKTsKK30KKworZnVuY3Rp
b24gc2VsZWN0aW9uX29yZGVyKCkgeworCisgIGZvciAodmFyIGdyb3VwcyA9IHRoaXMuX2dyb3Vw
cywgaiA9IC0xLCBtID0gZ3JvdXBzLmxlbmd0aDsgKytqIDwgbTspIHsKKyAgICBmb3IgKHZhciBn
cm91cCA9IGdyb3Vwc1tqXSwgaSA9IGdyb3VwLmxlbmd0aCAtIDEsIG5leHQgPSBncm91cFtpXSwg
bm9kZTsgLS1pID49IDA7KSB7CisgICAgICBpZiAobm9kZSA9IGdyb3VwW2ldKSB7CisgICAgICAg
IGlmIChuZXh0ICYmIG5vZGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24obmV4dCkgXiA0KSBuZXh0
LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG5vZGUsIG5leHQpOworICAgICAgICBuZXh0ID0gbm9k
ZTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24g
c2VsZWN0aW9uX3NvcnQoY29tcGFyZSkgeworICBpZiAoIWNvbXBhcmUpIGNvbXBhcmUgPSBhc2Nl
bmRpbmckMTsKKworICBmdW5jdGlvbiBjb21wYXJlTm9kZShhLCBiKSB7CisgICAgcmV0dXJuIGEg
JiYgYiA/IGNvbXBhcmUoYS5fX2RhdGFfXywgYi5fX2RhdGFfXykgOiAhYSAtICFiOworICB9CisK
KyAgZm9yICh2YXIgZ3JvdXBzID0gdGhpcy5fZ3JvdXBzLCBtID0gZ3JvdXBzLmxlbmd0aCwgc29y
dGdyb3VwcyA9IG5ldyBBcnJheShtKSwgaiA9IDA7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZh
ciBncm91cCA9IGdyb3Vwc1tqXSwgbiA9IGdyb3VwLmxlbmd0aCwgc29ydGdyb3VwID0gc29ydGdy
b3Vwc1tqXSA9IG5ldyBBcnJheShuKSwgbm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAg
IGlmIChub2RlID0gZ3JvdXBbaV0pIHsKKyAgICAgICAgc29ydGdyb3VwW2ldID0gbm9kZTsKKyAg
ICAgIH0KKyAgICB9CisgICAgc29ydGdyb3VwLnNvcnQoY29tcGFyZU5vZGUpOworICB9CisKKyAg
cmV0dXJuIG5ldyBTZWxlY3Rpb24oc29ydGdyb3VwcywgdGhpcy5fcGFyZW50cykub3JkZXIoKTsK
K30KKworZnVuY3Rpb24gYXNjZW5kaW5nJDEoYSwgYikgeworICByZXR1cm4gYSA8IGIgPyAtMSA6
IGEgPiBiID8gMSA6IGEgPj0gYiA/IDAgOiBOYU47Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9j
YWxsKCkgeworICB2YXIgY2FsbGJhY2sgPSBhcmd1bWVudHNbMF07CisgIGFyZ3VtZW50c1swXSA9
IHRoaXM7CisgIGNhbGxiYWNrLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7CisgIHJldHVybiB0aGlz
OworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fbm9kZXMoKSB7CisgIHZhciBub2RlcyA9IG5ldyBB
cnJheSh0aGlzLnNpemUoKSksIGkgPSAtMTsKKyAgdGhpcy5lYWNoKGZ1bmN0aW9uKCkgeyBub2Rl
c1srK2ldID0gdGhpczsgfSk7CisgIHJldHVybiBub2RlczsKK30KKworZnVuY3Rpb24gc2VsZWN0
aW9uX25vZGUoKSB7CisKKyAgZm9yICh2YXIgZ3JvdXBzID0gdGhpcy5fZ3JvdXBzLCBqID0gMCwg
bSA9IGdyb3Vwcy5sZW5ndGg7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdy
b3Vwc1tqXSwgaSA9IDAsIG4gPSBncm91cC5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICAgIHZh
ciBub2RlID0gZ3JvdXBbaV07CisgICAgICBpZiAobm9kZSkgcmV0dXJuIG5vZGU7CisgICAgfQor
ICB9CisKKyAgcmV0dXJuIG51bGw7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9zaXplKCkgewor
ICB2YXIgc2l6ZSA9IDA7CisgIHRoaXMuZWFjaChmdW5jdGlvbigpIHsgKytzaXplOyB9KTsKKyAg
cmV0dXJuIHNpemU7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9lbXB0eSgpIHsKKyAgcmV0dXJu
ICF0aGlzLm5vZGUoKTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2VhY2goY2FsbGJhY2spIHsK
KworICBmb3IgKHZhciBncm91cHMgPSB0aGlzLl9ncm91cHMsIGogPSAwLCBtID0gZ3JvdXBzLmxl
bmd0aDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwID0gZ3JvdXBzW2pdLCBpID0g
MCwgbiA9IGdyb3VwLmxlbmd0aCwgbm9kZTsgaSA8IG47ICsraSkgeworICAgICAgaWYgKG5vZGUg
PSBncm91cFtpXSkgY2FsbGJhY2suY2FsbChub2RlLCBub2RlLl9fZGF0YV9fLCBpLCBncm91cCk7
CisgICAgfQorICB9CisKKyAgcmV0dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9uIGF0dHJSZW1vdmUo
bmFtZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUo
bmFtZSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGF0dHJSZW1vdmVOUyhmdWxsbmFtZSkgeworICBy
ZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyhmdWxsbmFtZS5z
cGFjZSwgZnVsbG5hbWUubG9jYWwpOworICB9OworfQorCitmdW5jdGlvbiBhdHRyQ29uc3RhbnQo
bmFtZSwgdmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXMuc2V0QXR0cmli
dXRlKG5hbWUsIHZhbHVlKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0ckNvbnN0YW50TlMoZnVs
bG5hbWUsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLnNldEF0dHJp
YnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCwgdmFsdWUpOworICB9OworfQor
CitmdW5jdGlvbiBhdHRyRnVuY3Rpb24obmFtZSwgdmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9u
KCkgeworICAgIHZhciB2ID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICBpZiAo
diA9PSBudWxsKSB0aGlzLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTsKKyAgICBlbHNlIHRoaXMuc2V0
QXR0cmlidXRlKG5hbWUsIHYpOworICB9OworfQorCitmdW5jdGlvbiBhdHRyRnVuY3Rpb25OUyhm
dWxsbmFtZSwgdmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciB2ID0gdmFs
dWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICBpZiAodiA9PSBudWxsKSB0aGlzLnJlbW92
ZUF0dHJpYnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCk7CisgICAgZWxzZSB0
aGlzLnNldEF0dHJpYnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCwgdik7Cisg
IH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9hdHRyKG5hbWUsIHZhbHVlKSB7CisgIHZhciBm
dWxsbmFtZSA9IG5hbWVzcGFjZShuYW1lKTsKKworICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIp
IHsKKyAgICB2YXIgbm9kZSA9IHRoaXMubm9kZSgpOworICAgIHJldHVybiBmdWxsbmFtZS5sb2Nh
bAorICAgICAgICA/IG5vZGUuZ2V0QXR0cmlidXRlTlMoZnVsbG5hbWUuc3BhY2UsIGZ1bGxuYW1l
LmxvY2FsKQorICAgICAgICA6IG5vZGUuZ2V0QXR0cmlidXRlKGZ1bGxuYW1lKTsKKyAgfQorCisg
IHJldHVybiB0aGlzLmVhY2goKHZhbHVlID09IG51bGwKKyAgICAgID8gKGZ1bGxuYW1lLmxvY2Fs
ID8gYXR0clJlbW92ZU5TIDogYXR0clJlbW92ZSkgOiAodHlwZW9mIHZhbHVlID09PSAiZnVuY3Rp
b24iCisgICAgICA/IChmdWxsbmFtZS5sb2NhbCA/IGF0dHJGdW5jdGlvbk5TIDogYXR0ckZ1bmN0
aW9uKQorICAgICAgOiAoZnVsbG5hbWUubG9jYWwgPyBhdHRyQ29uc3RhbnROUyA6IGF0dHJDb25z
dGFudCkpKShmdWxsbmFtZSwgdmFsdWUpKTsKK30KKworZnVuY3Rpb24gZGVmYXVsdFZpZXcobm9k
ZSkgeworICByZXR1cm4gKG5vZGUub3duZXJEb2N1bWVudCAmJiBub2RlLm93bmVyRG9jdW1lbnQu
ZGVmYXVsdFZpZXcpIC8vIG5vZGUgaXMgYSBOb2RlCisgICAgICB8fCAobm9kZS5kb2N1bWVudCAm
JiBub2RlKSAvLyBub2RlIGlzIGEgV2luZG93CisgICAgICB8fCBub2RlLmRlZmF1bHRWaWV3OyAv
LyBub2RlIGlzIGEgRG9jdW1lbnQKK30KKworZnVuY3Rpb24gc3R5bGVSZW1vdmUobmFtZSkgewor
ICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eShuYW1l
KTsKKyAgfTsKK30KKworZnVuY3Rpb24gc3R5bGVDb25zdGFudChuYW1lLCB2YWx1ZSwgcHJpb3Jp
dHkpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHko
bmFtZSwgdmFsdWUsIHByaW9yaXR5KTsKKyAgfTsKK30KKworZnVuY3Rpb24gc3R5bGVGdW5jdGlv
bihuYW1lLCB2YWx1ZSwgcHJpb3JpdHkpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZh
ciB2ID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICBpZiAodiA9PSBudWxsKSB0
aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KG5hbWUpOworICAgIGVsc2UgdGhpcy5zdHlsZS5zZXRQ
cm9wZXJ0eShuYW1lLCB2LCBwcmlvcml0eSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlv
bl9zdHlsZShuYW1lLCB2YWx1ZSwgcHJpb3JpdHkpIHsKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPiAxCisgICAgICA/IHRoaXMuZWFjaCgodmFsdWUgPT0gbnVsbAorICAgICAgICAgICAgPyBz
dHlsZVJlbW92ZSA6IHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAgICAgICAgICAgPyBz
dHlsZUZ1bmN0aW9uCisgICAgICAgICAgICA6IHN0eWxlQ29uc3RhbnQpKG5hbWUsIHZhbHVlLCBw
cmlvcml0eSA9PSBudWxsID8gIiIgOiBwcmlvcml0eSkpCisgICAgICA6IHN0eWxlVmFsdWUodGhp
cy5ub2RlKCksIG5hbWUpOworfQorCitmdW5jdGlvbiBzdHlsZVZhbHVlKG5vZGUsIG5hbWUpIHsK
KyAgcmV0dXJuIG5vZGUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShuYW1lKQorICAgICAgfHwgZGVm
YXVsdFZpZXcobm9kZSkuZ2V0Q29tcHV0ZWRTdHlsZShub2RlLCBudWxsKS5nZXRQcm9wZXJ0eVZh
bHVlKG5hbWUpOworfQorCitmdW5jdGlvbiBwcm9wZXJ0eVJlbW92ZShuYW1lKSB7CisgIHJldHVy
biBmdW5jdGlvbigpIHsKKyAgICBkZWxldGUgdGhpc1tuYW1lXTsKKyAgfTsKK30KKworZnVuY3Rp
b24gcHJvcGVydHlDb25zdGFudChuYW1lLCB2YWx1ZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7
CisgICAgdGhpc1tuYW1lXSA9IHZhbHVlOworICB9OworfQorCitmdW5jdGlvbiBwcm9wZXJ0eUZ1
bmN0aW9uKG5hbWUsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdiA9
IHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKHYgPT0gbnVsbCkgZGVsZXRl
IHRoaXNbbmFtZV07CisgICAgZWxzZSB0aGlzW25hbWVdID0gdjsKKyAgfTsKK30KKworZnVuY3Rp
b24gc2VsZWN0aW9uX3Byb3BlcnR5KG5hbWUsIHZhbHVlKSB7CisgIHJldHVybiBhcmd1bWVudHMu
bGVuZ3RoID4gMQorICAgICAgPyB0aGlzLmVhY2goKHZhbHVlID09IG51bGwKKyAgICAgICAgICA/
IHByb3BlcnR5UmVtb3ZlIDogdHlwZW9mIHZhbHVlID09PSAiZnVuY3Rpb24iCisgICAgICAgICAg
PyBwcm9wZXJ0eUZ1bmN0aW9uCisgICAgICAgICAgOiBwcm9wZXJ0eUNvbnN0YW50KShuYW1lLCB2
YWx1ZSkpCisgICAgICA6IHRoaXMubm9kZSgpW25hbWVdOworfQorCitmdW5jdGlvbiBjbGFzc0Fy
cmF5KHN0cmluZykgeworICByZXR1cm4gc3RyaW5nLnRyaW0oKS5zcGxpdCgvXnxccysvKTsKK30K
KworZnVuY3Rpb24gY2xhc3NMaXN0KG5vZGUpIHsKKyAgcmV0dXJuIG5vZGUuY2xhc3NMaXN0IHx8
IG5ldyBDbGFzc0xpc3Qobm9kZSk7Cit9CisKK2Z1bmN0aW9uIENsYXNzTGlzdChub2RlKSB7Cisg
IHRoaXMuX25vZGUgPSBub2RlOworICB0aGlzLl9uYW1lcyA9IGNsYXNzQXJyYXkobm9kZS5nZXRB
dHRyaWJ1dGUoImNsYXNzIikgfHwgIiIpOworfQorCitDbGFzc0xpc3QucHJvdG90eXBlID0gewor
ICBhZGQ6IGZ1bmN0aW9uKG5hbWUpIHsKKyAgICB2YXIgaSA9IHRoaXMuX25hbWVzLmluZGV4T2Yo
bmFtZSk7CisgICAgaWYgKGkgPCAwKSB7CisgICAgICB0aGlzLl9uYW1lcy5wdXNoKG5hbWUpOwor
ICAgICAgdGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgdGhpcy5fbmFtZXMuam9pbigi
ICIpKTsKKyAgICB9CisgIH0sCisgIHJlbW92ZTogZnVuY3Rpb24obmFtZSkgeworICAgIHZhciBp
ID0gdGhpcy5fbmFtZXMuaW5kZXhPZihuYW1lKTsKKyAgICBpZiAoaSA+PSAwKSB7CisgICAgICB0
aGlzLl9uYW1lcy5zcGxpY2UoaSwgMSk7CisgICAgICB0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgi
Y2xhc3MiLCB0aGlzLl9uYW1lcy5qb2luKCIgIikpOworICAgIH0KKyAgfSwKKyAgY29udGFpbnM6
IGZ1bmN0aW9uKG5hbWUpIHsKKyAgICByZXR1cm4gdGhpcy5fbmFtZXMuaW5kZXhPZihuYW1lKSA+
PSAwOworICB9Cit9OworCitmdW5jdGlvbiBjbGFzc2VkQWRkKG5vZGUsIG5hbWVzKSB7CisgIHZh
ciBsaXN0ID0gY2xhc3NMaXN0KG5vZGUpLCBpID0gLTEsIG4gPSBuYW1lcy5sZW5ndGg7CisgIHdo
aWxlICgrK2kgPCBuKSBsaXN0LmFkZChuYW1lc1tpXSk7Cit9CisKK2Z1bmN0aW9uIGNsYXNzZWRS
ZW1vdmUobm9kZSwgbmFtZXMpIHsKKyAgdmFyIGxpc3QgPSBjbGFzc0xpc3Qobm9kZSksIGkgPSAt
MSwgbiA9IG5hbWVzLmxlbmd0aDsKKyAgd2hpbGUgKCsraSA8IG4pIGxpc3QucmVtb3ZlKG5hbWVz
W2ldKTsKK30KKworZnVuY3Rpb24gY2xhc3NlZFRydWUobmFtZXMpIHsKKyAgcmV0dXJuIGZ1bmN0
aW9uKCkgeworICAgIGNsYXNzZWRBZGQodGhpcywgbmFtZXMpOworICB9OworfQorCitmdW5jdGlv
biBjbGFzc2VkRmFsc2UobmFtZXMpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIGNsYXNz
ZWRSZW1vdmUodGhpcywgbmFtZXMpOworICB9OworfQorCitmdW5jdGlvbiBjbGFzc2VkRnVuY3Rp
b24obmFtZXMsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAodmFsdWUuYXBw
bHkodGhpcywgYXJndW1lbnRzKSA/IGNsYXNzZWRBZGQgOiBjbGFzc2VkUmVtb3ZlKSh0aGlzLCBu
YW1lcyk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9jbGFzc2VkKG5hbWUsIHZhbHVl
KSB7CisgIHZhciBuYW1lcyA9IGNsYXNzQXJyYXkobmFtZSArICIiKTsKKworICBpZiAoYXJndW1l
bnRzLmxlbmd0aCA8IDIpIHsKKyAgICB2YXIgbGlzdCA9IGNsYXNzTGlzdCh0aGlzLm5vZGUoKSks
IGkgPSAtMSwgbiA9IG5hbWVzLmxlbmd0aDsKKyAgICB3aGlsZSAoKytpIDwgbikgaWYgKCFsaXN0
LmNvbnRhaW5zKG5hbWVzW2ldKSkgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0cnVlOworICB9
CisKKyAgcmV0dXJuIHRoaXMuZWFjaCgodHlwZW9mIHZhbHVlID09PSAiZnVuY3Rpb24iCisgICAg
ICA/IGNsYXNzZWRGdW5jdGlvbiA6IHZhbHVlCisgICAgICA/IGNsYXNzZWRUcnVlCisgICAgICA6
IGNsYXNzZWRGYWxzZSkobmFtZXMsIHZhbHVlKSk7Cit9CisKK2Z1bmN0aW9uIHRleHRSZW1vdmUo
KSB7CisgIHRoaXMudGV4dENvbnRlbnQgPSAiIjsKK30KKworZnVuY3Rpb24gdGV4dENvbnN0YW50
KHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLnRleHRDb250ZW50ID0g
dmFsdWU7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRleHRGdW5jdGlvbih2YWx1ZSkgeworICByZXR1
cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHYgPSB2YWx1ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMp
OworICAgIHRoaXMudGV4dENvbnRlbnQgPSB2ID09IG51bGwgPyAiIiA6IHY7CisgIH07Cit9CisK
K2Z1bmN0aW9uIHNlbGVjdGlvbl90ZXh0KHZhbHVlKSB7CisgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoCisgICAgICA/IHRoaXMuZWFjaCh2YWx1ZSA9PSBudWxsCisgICAgICAgICAgPyB0ZXh0UmVt
b3ZlIDogKHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAgICAgICAgID8gdGV4dEZ1bmN0
aW9uCisgICAgICAgICAgOiB0ZXh0Q29uc3RhbnQpKHZhbHVlKSkKKyAgICAgIDogdGhpcy5ub2Rl
KCkudGV4dENvbnRlbnQ7Cit9CisKK2Z1bmN0aW9uIGh0bWxSZW1vdmUoKSB7CisgIHRoaXMuaW5u
ZXJIVE1MID0gIiI7Cit9CisKK2Z1bmN0aW9uIGh0bWxDb25zdGFudCh2YWx1ZSkgeworICByZXR1
cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5pbm5lckhUTUwgPSB2YWx1ZTsKKyAgfTsKK30KKwor
ZnVuY3Rpb24gaHRtbEZ1bmN0aW9uKHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAg
ICB2YXIgdiA9IHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgdGhpcy5pbm5lckhU
TUwgPSB2ID09IG51bGwgPyAiIiA6IHY7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9o
dG1sKHZhbHVlKSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoCisgICAgICA/IHRoaXMuZWFj
aCh2YWx1ZSA9PSBudWxsCisgICAgICAgICAgPyBodG1sUmVtb3ZlIDogKHR5cGVvZiB2YWx1ZSA9
PT0gImZ1bmN0aW9uIgorICAgICAgICAgID8gaHRtbEZ1bmN0aW9uCisgICAgICAgICAgOiBodG1s
Q29uc3RhbnQpKHZhbHVlKSkKKyAgICAgIDogdGhpcy5ub2RlKCkuaW5uZXJIVE1MOworfQorCitm
dW5jdGlvbiByYWlzZSgpIHsKKyAgaWYgKHRoaXMubmV4dFNpYmxpbmcpIHRoaXMucGFyZW50Tm9k
ZS5hcHBlbmRDaGlsZCh0aGlzKTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX3JhaXNlKCkgewor
ICByZXR1cm4gdGhpcy5lYWNoKHJhaXNlKTsKK30KKworZnVuY3Rpb24gbG93ZXIoKSB7CisgIGlm
ICh0aGlzLnByZXZpb3VzU2libGluZykgdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlz
LCB0aGlzLnBhcmVudE5vZGUuZmlyc3RDaGlsZCk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9s
b3dlcigpIHsKKyAgcmV0dXJuIHRoaXMuZWFjaChsb3dlcik7Cit9CisKK2Z1bmN0aW9uIHNlbGVj
dGlvbl9hcHBlbmQobmFtZSkgeworICB2YXIgY3JlYXRlID0gdHlwZW9mIG5hbWUgPT09ICJmdW5j
dGlvbiIgPyBuYW1lIDogY3JlYXRvcihuYW1lKTsKKyAgcmV0dXJuIHRoaXMuc2VsZWN0KGZ1bmN0
aW9uKCkgeworICAgIHJldHVybiB0aGlzLmFwcGVuZENoaWxkKGNyZWF0ZS5hcHBseSh0aGlzLCBh
cmd1bWVudHMpKTsKKyAgfSk7Cit9CisKK2Z1bmN0aW9uIGNvbnN0YW50TnVsbCgpIHsKKyAgcmV0
dXJuIG51bGw7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9pbnNlcnQobmFtZSwgYmVmb3JlKSB7
CisgIHZhciBjcmVhdGUgPSB0eXBlb2YgbmFtZSA9PT0gImZ1bmN0aW9uIiA/IG5hbWUgOiBjcmVh
dG9yKG5hbWUpLAorICAgICAgc2VsZWN0ID0gYmVmb3JlID09IG51bGwgPyBjb25zdGFudE51bGwg
OiB0eXBlb2YgYmVmb3JlID09PSAiZnVuY3Rpb24iID8gYmVmb3JlIDogc2VsZWN0b3IoYmVmb3Jl
KTsKKyAgcmV0dXJuIHRoaXMuc2VsZWN0KGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0aGlzLmlu
c2VydEJlZm9yZShjcmVhdGUuYXBwbHkodGhpcywgYXJndW1lbnRzKSwgc2VsZWN0LmFwcGx5KHRo
aXMsIGFyZ3VtZW50cykgfHwgbnVsbCk7CisgIH0pOworfQorCitmdW5jdGlvbiByZW1vdmUoKSB7
CisgIHZhciBwYXJlbnQgPSB0aGlzLnBhcmVudE5vZGU7CisgIGlmIChwYXJlbnQpIHBhcmVudC5y
ZW1vdmVDaGlsZCh0aGlzKTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX3JlbW92ZSgpIHsKKyAg
cmV0dXJuIHRoaXMuZWFjaChyZW1vdmUpOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fY2xvbmVT
aGFsbG93KCkgeworICB2YXIgY2xvbmUgPSB0aGlzLmNsb25lTm9kZShmYWxzZSksIHBhcmVudCA9
IHRoaXMucGFyZW50Tm9kZTsKKyAgcmV0dXJuIHBhcmVudCA/IHBhcmVudC5pbnNlcnRCZWZvcmUo
Y2xvbmUsIHRoaXMubmV4dFNpYmxpbmcpIDogY2xvbmU7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlv
bl9jbG9uZURlZXAoKSB7CisgIHZhciBjbG9uZSA9IHRoaXMuY2xvbmVOb2RlKHRydWUpLCBwYXJl
bnQgPSB0aGlzLnBhcmVudE5vZGU7CisgIHJldHVybiBwYXJlbnQgPyBwYXJlbnQuaW5zZXJ0QmVm
b3JlKGNsb25lLCB0aGlzLm5leHRTaWJsaW5nKSA6IGNsb25lOworfQorCitmdW5jdGlvbiBzZWxl
Y3Rpb25fY2xvbmUoZGVlcCkgeworICByZXR1cm4gdGhpcy5zZWxlY3QoZGVlcCA/IHNlbGVjdGlv
bl9jbG9uZURlZXAgOiBzZWxlY3Rpb25fY2xvbmVTaGFsbG93KTsKK30KKworZnVuY3Rpb24gc2Vs
ZWN0aW9uX2RhdHVtKHZhbHVlKSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoCisgICAgICA/
IHRoaXMucHJvcGVydHkoIl9fZGF0YV9fIiwgdmFsdWUpCisgICAgICA6IHRoaXMubm9kZSgpLl9f
ZGF0YV9fOworfQorCit2YXIgZmlsdGVyRXZlbnRzID0ge307CisKK2V4cG9ydHMuZXZlbnQgPSBu
dWxsOworCitpZiAodHlwZW9mIGRvY3VtZW50ICE9PSAidW5kZWZpbmVkIikgeworICB2YXIgZWxl
bWVudCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDsKKyAgaWYgKCEoIm9ubW91c2VlbnRlciIg
aW4gZWxlbWVudCkpIHsKKyAgICBmaWx0ZXJFdmVudHMgPSB7bW91c2VlbnRlcjogIm1vdXNlb3Zl
ciIsIG1vdXNlbGVhdmU6ICJtb3VzZW91dCJ9OworICB9Cit9CisKK2Z1bmN0aW9uIGZpbHRlckNv
bnRleHRMaXN0ZW5lcihsaXN0ZW5lciwgaW5kZXgsIGdyb3VwKSB7CisgIGxpc3RlbmVyID0gY29u
dGV4dExpc3RlbmVyKGxpc3RlbmVyLCBpbmRleCwgZ3JvdXApOworICByZXR1cm4gZnVuY3Rpb24o
ZXZlbnQpIHsKKyAgICB2YXIgcmVsYXRlZCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQ7CisgICAgaWYg
KCFyZWxhdGVkIHx8IChyZWxhdGVkICE9PSB0aGlzICYmICEocmVsYXRlZC5jb21wYXJlRG9jdW1l
bnRQb3NpdGlvbih0aGlzKSAmIDgpKSkgeworICAgICAgbGlzdGVuZXIuY2FsbCh0aGlzLCBldmVu
dCk7CisgICAgfQorICB9OworfQorCitmdW5jdGlvbiBjb250ZXh0TGlzdGVuZXIobGlzdGVuZXIs
IGluZGV4LCBncm91cCkgeworICByZXR1cm4gZnVuY3Rpb24oZXZlbnQxKSB7CisgICAgdmFyIGV2
ZW50MCA9IGV4cG9ydHMuZXZlbnQ7IC8vIEV2ZW50cyBjYW4gYmUgcmVlbnRyYW50IChlLmcuLCBm
b2N1cykuCisgICAgZXhwb3J0cy5ldmVudCA9IGV2ZW50MTsKKyAgICB0cnkgeworICAgICAgbGlz
dGVuZXIuY2FsbCh0aGlzLCB0aGlzLl9fZGF0YV9fLCBpbmRleCwgZ3JvdXApOworICAgIH0gZmlu
YWxseSB7CisgICAgICBleHBvcnRzLmV2ZW50ID0gZXZlbnQwOworICAgIH0KKyAgfTsKK30KKwor
ZnVuY3Rpb24gcGFyc2VUeXBlbmFtZXMkMSh0eXBlbmFtZXMpIHsKKyAgcmV0dXJuIHR5cGVuYW1l
cy50cmltKCkuc3BsaXQoL158XHMrLykubWFwKGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgbmFtZSA9
ICIiLCBpID0gdC5pbmRleE9mKCIuIik7CisgICAgaWYgKGkgPj0gMCkgbmFtZSA9IHQuc2xpY2Uo
aSArIDEpLCB0ID0gdC5zbGljZSgwLCBpKTsKKyAgICByZXR1cm4ge3R5cGU6IHQsIG5hbWU6IG5h
bWV9OworICB9KTsKK30KKworZnVuY3Rpb24gb25SZW1vdmUodHlwZW5hbWUpIHsKKyAgcmV0dXJu
IGZ1bmN0aW9uKCkgeworICAgIHZhciBvbiA9IHRoaXMuX19vbjsKKyAgICBpZiAoIW9uKSByZXR1
cm47CisgICAgZm9yICh2YXIgaiA9IDAsIGkgPSAtMSwgbSA9IG9uLmxlbmd0aCwgbzsgaiA8IG07
ICsraikgeworICAgICAgaWYgKG8gPSBvbltqXSwgKCF0eXBlbmFtZS50eXBlIHx8IG8udHlwZSA9
PT0gdHlwZW5hbWUudHlwZSkgJiYgby5uYW1lID09PSB0eXBlbmFtZS5uYW1lKSB7CisgICAgICAg
IHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihvLnR5cGUsIG8ubGlzdGVuZXIsIG8uY2FwdHVyZSk7
CisgICAgICB9IGVsc2UgeworICAgICAgICBvblsrK2ldID0gbzsKKyAgICAgIH0KKyAgICB9Cisg
ICAgaWYgKCsraSkgb24ubGVuZ3RoID0gaTsKKyAgICBlbHNlIGRlbGV0ZSB0aGlzLl9fb247Cisg
IH07Cit9CisKK2Z1bmN0aW9uIG9uQWRkKHR5cGVuYW1lLCB2YWx1ZSwgY2FwdHVyZSkgeworICB2
YXIgd3JhcCA9IGZpbHRlckV2ZW50cy5oYXNPd25Qcm9wZXJ0eSh0eXBlbmFtZS50eXBlKSA/IGZp
bHRlckNvbnRleHRMaXN0ZW5lciA6IGNvbnRleHRMaXN0ZW5lcjsKKyAgcmV0dXJuIGZ1bmN0aW9u
KGQsIGksIGdyb3VwKSB7CisgICAgdmFyIG9uID0gdGhpcy5fX29uLCBvLCBsaXN0ZW5lciA9IHdy
YXAodmFsdWUsIGksIGdyb3VwKTsKKyAgICBpZiAob24pIGZvciAodmFyIGogPSAwLCBtID0gb24u
bGVuZ3RoOyBqIDwgbTsgKytqKSB7CisgICAgICBpZiAoKG8gPSBvbltqXSkudHlwZSA9PT0gdHlw
ZW5hbWUudHlwZSAmJiBvLm5hbWUgPT09IHR5cGVuYW1lLm5hbWUpIHsKKyAgICAgICAgdGhpcy5y
ZW1vdmVFdmVudExpc3RlbmVyKG8udHlwZSwgby5saXN0ZW5lciwgby5jYXB0dXJlKTsKKyAgICAg
ICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKG8udHlwZSwgby5saXN0ZW5lciA9IGxpc3RlbmVyLCBv
LmNhcHR1cmUgPSBjYXB0dXJlKTsKKyAgICAgICAgby52YWx1ZSA9IHZhbHVlOworICAgICAgICBy
ZXR1cm47CisgICAgICB9CisgICAgfQorICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcih0eXBlbmFt
ZS50eXBlLCBsaXN0ZW5lciwgY2FwdHVyZSk7CisgICAgbyA9IHt0eXBlOiB0eXBlbmFtZS50eXBl
LCBuYW1lOiB0eXBlbmFtZS5uYW1lLCB2YWx1ZTogdmFsdWUsIGxpc3RlbmVyOiBsaXN0ZW5lciwg
Y2FwdHVyZTogY2FwdHVyZX07CisgICAgaWYgKCFvbikgdGhpcy5fX29uID0gW29dOworICAgIGVs
c2Ugb24ucHVzaChvKTsKKyAgfTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX29uKHR5cGVuYW1l
LCB2YWx1ZSwgY2FwdHVyZSkgeworICB2YXIgdHlwZW5hbWVzID0gcGFyc2VUeXBlbmFtZXMkMSh0
eXBlbmFtZSArICIiKSwgaSwgbiA9IHR5cGVuYW1lcy5sZW5ndGgsIHQ7CisKKyAgaWYgKGFyZ3Vt
ZW50cy5sZW5ndGggPCAyKSB7CisgICAgdmFyIG9uID0gdGhpcy5ub2RlKCkuX19vbjsKKyAgICBp
ZiAob24pIGZvciAodmFyIGogPSAwLCBtID0gb24ubGVuZ3RoLCBvOyBqIDwgbTsgKytqKSB7Cisg
ICAgICBmb3IgKGkgPSAwLCBvID0gb25bal07IGkgPCBuOyArK2kpIHsKKyAgICAgICAgaWYgKCh0
ID0gdHlwZW5hbWVzW2ldKS50eXBlID09PSBvLnR5cGUgJiYgdC5uYW1lID09PSBvLm5hbWUpIHsK
KyAgICAgICAgICByZXR1cm4gby52YWx1ZTsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKyAg
ICByZXR1cm47CisgIH0KKworICBvbiA9IHZhbHVlID8gb25BZGQgOiBvblJlbW92ZTsKKyAgaWYg
KGNhcHR1cmUgPT0gbnVsbCkgY2FwdHVyZSA9IGZhbHNlOworICBmb3IgKGkgPSAwOyBpIDwgbjsg
KytpKSB0aGlzLmVhY2gob24odHlwZW5hbWVzW2ldLCB2YWx1ZSwgY2FwdHVyZSkpOworICByZXR1
cm4gdGhpczsKK30KKworZnVuY3Rpb24gY3VzdG9tRXZlbnQoZXZlbnQxLCBsaXN0ZW5lciwgdGhh
dCwgYXJncykgeworICB2YXIgZXZlbnQwID0gZXhwb3J0cy5ldmVudDsKKyAgZXZlbnQxLnNvdXJj
ZUV2ZW50ID0gZXhwb3J0cy5ldmVudDsKKyAgZXhwb3J0cy5ldmVudCA9IGV2ZW50MTsKKyAgdHJ5
IHsKKyAgICByZXR1cm4gbGlzdGVuZXIuYXBwbHkodGhhdCwgYXJncyk7CisgIH0gZmluYWxseSB7
CisgICAgZXhwb3J0cy5ldmVudCA9IGV2ZW50MDsKKyAgfQorfQorCitmdW5jdGlvbiBkaXNwYXRj
aEV2ZW50KG5vZGUsIHR5cGUsIHBhcmFtcykgeworICB2YXIgd2luZG93ID0gZGVmYXVsdFZpZXco
bm9kZSksCisgICAgICBldmVudCA9IHdpbmRvdy5DdXN0b21FdmVudDsKKworICBpZiAodHlwZW9m
IGV2ZW50ID09PSAiZnVuY3Rpb24iKSB7CisgICAgZXZlbnQgPSBuZXcgZXZlbnQodHlwZSwgcGFy
YW1zKTsKKyAgfSBlbHNlIHsKKyAgICBldmVudCA9IHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFdmVu
dCgiRXZlbnQiKTsKKyAgICBpZiAocGFyYW1zKSBldmVudC5pbml0RXZlbnQodHlwZSwgcGFyYW1z
LmJ1YmJsZXMsIHBhcmFtcy5jYW5jZWxhYmxlKSwgZXZlbnQuZGV0YWlsID0gcGFyYW1zLmRldGFp
bDsKKyAgICBlbHNlIGV2ZW50LmluaXRFdmVudCh0eXBlLCBmYWxzZSwgZmFsc2UpOworICB9CisK
KyAgbm9kZS5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKK30KKworZnVuY3Rpb24gZGlzcGF0Y2hDb25z
dGFudCh0eXBlLCBwYXJhbXMpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBk
aXNwYXRjaEV2ZW50KHRoaXMsIHR5cGUsIHBhcmFtcyk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGRp
c3BhdGNoRnVuY3Rpb24odHlwZSwgcGFyYW1zKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAg
ICByZXR1cm4gZGlzcGF0Y2hFdmVudCh0aGlzLCB0eXBlLCBwYXJhbXMuYXBwbHkodGhpcywgYXJn
dW1lbnRzKSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9kaXNwYXRjaCh0eXBlLCBw
YXJhbXMpIHsKKyAgcmV0dXJuIHRoaXMuZWFjaCgodHlwZW9mIHBhcmFtcyA9PT0gImZ1bmN0aW9u
IgorICAgICAgPyBkaXNwYXRjaEZ1bmN0aW9uCisgICAgICA6IGRpc3BhdGNoQ29uc3RhbnQpKHR5
cGUsIHBhcmFtcykpOworfQorCit2YXIgcm9vdCA9IFtudWxsXTsKKworZnVuY3Rpb24gU2VsZWN0
aW9uKGdyb3VwcywgcGFyZW50cykgeworICB0aGlzLl9ncm91cHMgPSBncm91cHM7CisgIHRoaXMu
X3BhcmVudHMgPSBwYXJlbnRzOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb24oKSB7CisgIHJldHVy
biBuZXcgU2VsZWN0aW9uKFtbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XV0sIHJvb3QpOworfQor
CitTZWxlY3Rpb24ucHJvdG90eXBlID0gc2VsZWN0aW9uLnByb3RvdHlwZSA9IHsKKyAgY29uc3Ry
dWN0b3I6IFNlbGVjdGlvbiwKKyAgc2VsZWN0OiBzZWxlY3Rpb25fc2VsZWN0LAorICBzZWxlY3RB
bGw6IHNlbGVjdGlvbl9zZWxlY3RBbGwsCisgIGZpbHRlcjogc2VsZWN0aW9uX2ZpbHRlciwKKyAg
ZGF0YTogc2VsZWN0aW9uX2RhdGEsCisgIGVudGVyOiBzZWxlY3Rpb25fZW50ZXIsCisgIGV4aXQ6
IHNlbGVjdGlvbl9leGl0LAorICBqb2luOiBzZWxlY3Rpb25fam9pbiwKKyAgbWVyZ2U6IHNlbGVj
dGlvbl9tZXJnZSwKKyAgb3JkZXI6IHNlbGVjdGlvbl9vcmRlciwKKyAgc29ydDogc2VsZWN0aW9u
X3NvcnQsCisgIGNhbGw6IHNlbGVjdGlvbl9jYWxsLAorICBub2Rlczogc2VsZWN0aW9uX25vZGVz
LAorICBub2RlOiBzZWxlY3Rpb25fbm9kZSwKKyAgc2l6ZTogc2VsZWN0aW9uX3NpemUsCisgIGVt
cHR5OiBzZWxlY3Rpb25fZW1wdHksCisgIGVhY2g6IHNlbGVjdGlvbl9lYWNoLAorICBhdHRyOiBz
ZWxlY3Rpb25fYXR0ciwKKyAgc3R5bGU6IHNlbGVjdGlvbl9zdHlsZSwKKyAgcHJvcGVydHk6IHNl
bGVjdGlvbl9wcm9wZXJ0eSwKKyAgY2xhc3NlZDogc2VsZWN0aW9uX2NsYXNzZWQsCisgIHRleHQ6
IHNlbGVjdGlvbl90ZXh0LAorICBodG1sOiBzZWxlY3Rpb25faHRtbCwKKyAgcmFpc2U6IHNlbGVj
dGlvbl9yYWlzZSwKKyAgbG93ZXI6IHNlbGVjdGlvbl9sb3dlciwKKyAgYXBwZW5kOiBzZWxlY3Rp
b25fYXBwZW5kLAorICBpbnNlcnQ6IHNlbGVjdGlvbl9pbnNlcnQsCisgIHJlbW92ZTogc2VsZWN0
aW9uX3JlbW92ZSwKKyAgY2xvbmU6IHNlbGVjdGlvbl9jbG9uZSwKKyAgZGF0dW06IHNlbGVjdGlv
bl9kYXR1bSwKKyAgb246IHNlbGVjdGlvbl9vbiwKKyAgZGlzcGF0Y2g6IHNlbGVjdGlvbl9kaXNw
YXRjaAorfTsKKworZnVuY3Rpb24gc2VsZWN0KHNlbGVjdG9yKSB7CisgIHJldHVybiB0eXBlb2Yg
c2VsZWN0b3IgPT09ICJzdHJpbmciCisgICAgICA/IG5ldyBTZWxlY3Rpb24oW1tkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKHNlbGVjdG9yKV1dLCBbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSkKKyAg
ICAgIDogbmV3IFNlbGVjdGlvbihbW3NlbGVjdG9yXV0sIHJvb3QpOworfQorCitmdW5jdGlvbiBj
cmVhdGUobmFtZSkgeworICByZXR1cm4gc2VsZWN0KGNyZWF0b3IobmFtZSkuY2FsbChkb2N1bWVu
dC5kb2N1bWVudEVsZW1lbnQpKTsKK30KKwordmFyIG5leHRJZCA9IDA7CisKK2Z1bmN0aW9uIGxv
Y2FsKCkgeworICByZXR1cm4gbmV3IExvY2FsOworfQorCitmdW5jdGlvbiBMb2NhbCgpIHsKKyAg
dGhpcy5fID0gIkAiICsgKCsrbmV4dElkKS50b1N0cmluZygzNik7Cit9CisKK0xvY2FsLnByb3Rv
dHlwZSA9IGxvY2FsLnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IExvY2FsLAorICBnZXQ6
IGZ1bmN0aW9uKG5vZGUpIHsKKyAgICB2YXIgaWQgPSB0aGlzLl87CisgICAgd2hpbGUgKCEoaWQg
aW4gbm9kZSkpIGlmICghKG5vZGUgPSBub2RlLnBhcmVudE5vZGUpKSByZXR1cm47CisgICAgcmV0
dXJuIG5vZGVbaWRdOworICB9LAorICBzZXQ6IGZ1bmN0aW9uKG5vZGUsIHZhbHVlKSB7CisgICAg
cmV0dXJuIG5vZGVbdGhpcy5fXSA9IHZhbHVlOworICB9LAorICByZW1vdmU6IGZ1bmN0aW9uKG5v
ZGUpIHsKKyAgICByZXR1cm4gdGhpcy5fIGluIG5vZGUgJiYgZGVsZXRlIG5vZGVbdGhpcy5fXTsK
KyAgfSwKKyAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0aGlzLl87CisgIH0K
K307CisKK2Z1bmN0aW9uIHNvdXJjZUV2ZW50KCkgeworICB2YXIgY3VycmVudCA9IGV4cG9ydHMu
ZXZlbnQsIHNvdXJjZTsKKyAgd2hpbGUgKHNvdXJjZSA9IGN1cnJlbnQuc291cmNlRXZlbnQpIGN1
cnJlbnQgPSBzb3VyY2U7CisgIHJldHVybiBjdXJyZW50OworfQorCitmdW5jdGlvbiBwb2ludChu
b2RlLCBldmVudCkgeworICB2YXIgc3ZnID0gbm9kZS5vd25lclNWR0VsZW1lbnQgfHwgbm9kZTsK
KworICBpZiAoc3ZnLmNyZWF0ZVNWR1BvaW50KSB7CisgICAgdmFyIHBvaW50ID0gc3ZnLmNyZWF0
ZVNWR1BvaW50KCk7CisgICAgcG9pbnQueCA9IGV2ZW50LmNsaWVudFgsIHBvaW50LnkgPSBldmVu
dC5jbGllbnRZOworICAgIHBvaW50ID0gcG9pbnQubWF0cml4VHJhbnNmb3JtKG5vZGUuZ2V0U2Ny
ZWVuQ1RNKCkuaW52ZXJzZSgpKTsKKyAgICByZXR1cm4gW3BvaW50LngsIHBvaW50LnldOworICB9
CisKKyAgdmFyIHJlY3QgPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICByZXR1cm4g
W2V2ZW50LmNsaWVudFggLSByZWN0LmxlZnQgLSBub2RlLmNsaWVudExlZnQsIGV2ZW50LmNsaWVu
dFkgLSByZWN0LnRvcCAtIG5vZGUuY2xpZW50VG9wXTsKK30KKworZnVuY3Rpb24gbW91c2Uobm9k
ZSkgeworICB2YXIgZXZlbnQgPSBzb3VyY2VFdmVudCgpOworICBpZiAoZXZlbnQuY2hhbmdlZFRv
dWNoZXMpIGV2ZW50ID0gZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF07CisgIHJldHVybiBwb2ludChu
b2RlLCBldmVudCk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdEFsbChzZWxlY3RvcikgeworICByZXR1
cm4gdHlwZW9mIHNlbGVjdG9yID09PSAic3RyaW5nIgorICAgICAgPyBuZXcgU2VsZWN0aW9uKFtk
b2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKV0sIFtkb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnRdKQorICAgICAgOiBuZXcgU2VsZWN0aW9uKFtzZWxlY3RvciA9PSBudWxsID8gW10gOiBz
ZWxlY3Rvcl0sIHJvb3QpOworfQorCitmdW5jdGlvbiB0b3VjaChub2RlLCB0b3VjaGVzLCBpZGVu
dGlmaWVyKSB7CisgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMykgaWRlbnRpZmllciA9IHRvdWNo
ZXMsIHRvdWNoZXMgPSBzb3VyY2VFdmVudCgpLmNoYW5nZWRUb3VjaGVzOworCisgIGZvciAodmFy
IGkgPSAwLCBuID0gdG91Y2hlcyA/IHRvdWNoZXMubGVuZ3RoIDogMCwgdG91Y2g7IGkgPCBuOyAr
K2kpIHsKKyAgICBpZiAoKHRvdWNoID0gdG91Y2hlc1tpXSkuaWRlbnRpZmllciA9PT0gaWRlbnRp
ZmllcikgeworICAgICAgcmV0dXJuIHBvaW50KG5vZGUsIHRvdWNoKTsKKyAgICB9CisgIH0KKwor
ICByZXR1cm4gbnVsbDsKK30KKworZnVuY3Rpb24gdG91Y2hlcyhub2RlLCB0b3VjaGVzKSB7Cisg
IGlmICh0b3VjaGVzID09IG51bGwpIHRvdWNoZXMgPSBzb3VyY2VFdmVudCgpLnRvdWNoZXM7CisK
KyAgZm9yICh2YXIgaSA9IDAsIG4gPSB0b3VjaGVzID8gdG91Y2hlcy5sZW5ndGggOiAwLCBwb2lu
dHMgPSBuZXcgQXJyYXkobik7IGkgPCBuOyArK2kpIHsKKyAgICBwb2ludHNbaV0gPSBwb2ludChu
b2RlLCB0b3VjaGVzW2ldKTsKKyAgfQorCisgIHJldHVybiBwb2ludHM7Cit9CisKK2Z1bmN0aW9u
IG5vcHJvcGFnYXRpb24oKSB7CisgIGV4cG9ydHMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0
aW9uKCk7Cit9CisKK2Z1bmN0aW9uIG5vZXZlbnQoKSB7CisgIGV4cG9ydHMuZXZlbnQucHJldmVu
dERlZmF1bHQoKTsKKyAgZXhwb3J0cy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsK
K30KKworZnVuY3Rpb24gZHJhZ0Rpc2FibGUodmlldykgeworICB2YXIgcm9vdCA9IHZpZXcuZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LAorICAgICAgc2VsZWN0aW9uID0gc2VsZWN0KHZpZXcpLm9u
KCJkcmFnc3RhcnQuZHJhZyIsIG5vZXZlbnQsIHRydWUpOworICBpZiAoIm9uc2VsZWN0c3RhcnQi
IGluIHJvb3QpIHsKKyAgICBzZWxlY3Rpb24ub24oInNlbGVjdHN0YXJ0LmRyYWciLCBub2V2ZW50
LCB0cnVlKTsKKyAgfSBlbHNlIHsKKyAgICByb290Ll9fbm9zZWxlY3QgPSByb290LnN0eWxlLk1v
elVzZXJTZWxlY3Q7CisgICAgcm9vdC5zdHlsZS5Nb3pVc2VyU2VsZWN0ID0gIm5vbmUiOworICB9
Cit9CisKK2Z1bmN0aW9uIHllc2RyYWcodmlldywgbm9jbGljaykgeworICB2YXIgcm9vdCA9IHZp
ZXcuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LAorICAgICAgc2VsZWN0aW9uID0gc2VsZWN0KHZp
ZXcpLm9uKCJkcmFnc3RhcnQuZHJhZyIsIG51bGwpOworICBpZiAobm9jbGljaykgeworICAgIHNl
bGVjdGlvbi5vbigiY2xpY2suZHJhZyIsIG5vZXZlbnQsIHRydWUpOworICAgIHNldFRpbWVvdXQo
ZnVuY3Rpb24oKSB7IHNlbGVjdGlvbi5vbigiY2xpY2suZHJhZyIsIG51bGwpOyB9LCAwKTsKKyAg
fQorICBpZiAoIm9uc2VsZWN0c3RhcnQiIGluIHJvb3QpIHsKKyAgICBzZWxlY3Rpb24ub24oInNl
bGVjdHN0YXJ0LmRyYWciLCBudWxsKTsKKyAgfSBlbHNlIHsKKyAgICByb290LnN0eWxlLk1velVz
ZXJTZWxlY3QgPSByb290Ll9fbm9zZWxlY3Q7CisgICAgZGVsZXRlIHJvb3QuX19ub3NlbGVjdDsK
KyAgfQorfQorCitmdW5jdGlvbiBjb25zdGFudCQyKHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkg
eworICAgIHJldHVybiB4OworICB9OworfQorCitmdW5jdGlvbiBEcmFnRXZlbnQodGFyZ2V0LCB0
eXBlLCBzdWJqZWN0LCBpZCwgYWN0aXZlLCB4LCB5LCBkeCwgZHksIGRpc3BhdGNoKSB7CisgIHRo
aXMudGFyZ2V0ID0gdGFyZ2V0OworICB0aGlzLnR5cGUgPSB0eXBlOworICB0aGlzLnN1YmplY3Qg
PSBzdWJqZWN0OworICB0aGlzLmlkZW50aWZpZXIgPSBpZDsKKyAgdGhpcy5hY3RpdmUgPSBhY3Rp
dmU7CisgIHRoaXMueCA9IHg7CisgIHRoaXMueSA9IHk7CisgIHRoaXMuZHggPSBkeDsKKyAgdGhp
cy5keSA9IGR5OworICB0aGlzLl8gPSBkaXNwYXRjaDsKK30KKworRHJhZ0V2ZW50LnByb3RvdHlw
ZS5vbiA9IGZ1bmN0aW9uKCkgeworICB2YXIgdmFsdWUgPSB0aGlzLl8ub24uYXBwbHkodGhpcy5f
LCBhcmd1bWVudHMpOworICByZXR1cm4gdmFsdWUgPT09IHRoaXMuXyA/IHRoaXMgOiB2YWx1ZTsK
K307CisKKy8vIElnbm9yZSByaWdodC1jbGljaywgc2luY2UgdGhhdCBzaG91bGQgb3BlbiB0aGUg
Y29udGV4dCBtZW51LgorZnVuY3Rpb24gZGVmYXVsdEZpbHRlcigpIHsKKyAgcmV0dXJuICFleHBv
cnRzLmV2ZW50LmN0cmxLZXkgJiYgIWV4cG9ydHMuZXZlbnQuYnV0dG9uOworfQorCitmdW5jdGlv
biBkZWZhdWx0Q29udGFpbmVyKCkgeworICByZXR1cm4gdGhpcy5wYXJlbnROb2RlOworfQorCitm
dW5jdGlvbiBkZWZhdWx0U3ViamVjdChkKSB7CisgIHJldHVybiBkID09IG51bGwgPyB7eDogZXhw
b3J0cy5ldmVudC54LCB5OiBleHBvcnRzLmV2ZW50Lnl9IDogZDsKK30KKworZnVuY3Rpb24gZGVm
YXVsdFRvdWNoYWJsZSgpIHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyB8fCAo
Im9udG91Y2hzdGFydCIgaW4gdGhpcyk7Cit9CisKK2Z1bmN0aW9uIGRyYWcoKSB7CisgIHZhciBm
aWx0ZXIgPSBkZWZhdWx0RmlsdGVyLAorICAgICAgY29udGFpbmVyID0gZGVmYXVsdENvbnRhaW5l
ciwKKyAgICAgIHN1YmplY3QgPSBkZWZhdWx0U3ViamVjdCwKKyAgICAgIHRvdWNoYWJsZSA9IGRl
ZmF1bHRUb3VjaGFibGUsCisgICAgICBnZXN0dXJlcyA9IHt9LAorICAgICAgbGlzdGVuZXJzID0g
ZGlzcGF0Y2goInN0YXJ0IiwgImRyYWciLCAiZW5kIiksCisgICAgICBhY3RpdmUgPSAwLAorICAg
ICAgbW91c2Vkb3dueCwKKyAgICAgIG1vdXNlZG93bnksCisgICAgICBtb3VzZW1vdmluZywKKyAg
ICAgIHRvdWNoZW5kaW5nLAorICAgICAgY2xpY2tEaXN0YW5jZTIgPSAwOworCisgIGZ1bmN0aW9u
IGRyYWcoc2VsZWN0aW9uKSB7CisgICAgc2VsZWN0aW9uCisgICAgICAgIC5vbigibW91c2Vkb3du
LmRyYWciLCBtb3VzZWRvd25lZCkKKyAgICAgIC5maWx0ZXIodG91Y2hhYmxlKQorICAgICAgICAu
b24oInRvdWNoc3RhcnQuZHJhZyIsIHRvdWNoc3RhcnRlZCkKKyAgICAgICAgLm9uKCJ0b3VjaG1v
dmUuZHJhZyIsIHRvdWNobW92ZWQpCisgICAgICAgIC5vbigidG91Y2hlbmQuZHJhZyB0b3VjaGNh
bmNlbC5kcmFnIiwgdG91Y2hlbmRlZCkKKyAgICAgICAgLnN0eWxlKCJ0b3VjaC1hY3Rpb24iLCAi
bm9uZSIpCisgICAgICAgIC5zdHlsZSgiLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIiwgInJn
YmEoMCwwLDAsMCkiKTsKKyAgfQorCisgIGZ1bmN0aW9uIG1vdXNlZG93bmVkKCkgeworICAgIGlm
ICh0b3VjaGVuZGluZyB8fCAhZmlsdGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpIHJldHVybjsK
KyAgICB2YXIgZ2VzdHVyZSA9IGJlZm9yZXN0YXJ0KCJtb3VzZSIsIGNvbnRhaW5lci5hcHBseSh0
aGlzLCBhcmd1bWVudHMpLCBtb3VzZSwgdGhpcywgYXJndW1lbnRzKTsKKyAgICBpZiAoIWdlc3R1
cmUpIHJldHVybjsKKyAgICBzZWxlY3QoZXhwb3J0cy5ldmVudC52aWV3KS5vbigibW91c2Vtb3Zl
LmRyYWciLCBtb3VzZW1vdmVkLCB0cnVlKS5vbigibW91c2V1cC5kcmFnIiwgbW91c2V1cHBlZCwg
dHJ1ZSk7CisgICAgZHJhZ0Rpc2FibGUoZXhwb3J0cy5ldmVudC52aWV3KTsKKyAgICBub3Byb3Bh
Z2F0aW9uKCk7CisgICAgbW91c2Vtb3ZpbmcgPSBmYWxzZTsKKyAgICBtb3VzZWRvd254ID0gZXhw
b3J0cy5ldmVudC5jbGllbnRYOworICAgIG1vdXNlZG93bnkgPSBleHBvcnRzLmV2ZW50LmNsaWVu
dFk7CisgICAgZ2VzdHVyZSgic3RhcnQiKTsKKyAgfQorCisgIGZ1bmN0aW9uIG1vdXNlbW92ZWQo
KSB7CisgICAgbm9ldmVudCgpOworICAgIGlmICghbW91c2Vtb3ZpbmcpIHsKKyAgICAgIHZhciBk
eCA9IGV4cG9ydHMuZXZlbnQuY2xpZW50WCAtIG1vdXNlZG93bngsIGR5ID0gZXhwb3J0cy5ldmVu
dC5jbGllbnRZIC0gbW91c2Vkb3dueTsKKyAgICAgIG1vdXNlbW92aW5nID0gZHggKiBkeCArIGR5
ICogZHkgPiBjbGlja0Rpc3RhbmNlMjsKKyAgICB9CisgICAgZ2VzdHVyZXMubW91c2UoImRyYWci
KTsKKyAgfQorCisgIGZ1bmN0aW9uIG1vdXNldXBwZWQoKSB7CisgICAgc2VsZWN0KGV4cG9ydHMu
ZXZlbnQudmlldykub24oIm1vdXNlbW92ZS5kcmFnIG1vdXNldXAuZHJhZyIsIG51bGwpOworICAg
IHllc2RyYWcoZXhwb3J0cy5ldmVudC52aWV3LCBtb3VzZW1vdmluZyk7CisgICAgbm9ldmVudCgp
OworICAgIGdlc3R1cmVzLm1vdXNlKCJlbmQiKTsKKyAgfQorCisgIGZ1bmN0aW9uIHRvdWNoc3Rh
cnRlZCgpIHsKKyAgICBpZiAoIWZpbHRlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSByZXR1cm47
CisgICAgdmFyIHRvdWNoZXMgPSBleHBvcnRzLmV2ZW50LmNoYW5nZWRUb3VjaGVzLAorICAgICAg
ICBjID0gY29udGFpbmVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksCisgICAgICAgIG4gPSB0b3Vj
aGVzLmxlbmd0aCwgaSwgZ2VzdHVyZTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsK
KyAgICAgIGlmIChnZXN0dXJlID0gYmVmb3Jlc3RhcnQodG91Y2hlc1tpXS5pZGVudGlmaWVyLCBj
LCB0b3VjaCwgdGhpcywgYXJndW1lbnRzKSkgeworICAgICAgICBub3Byb3BhZ2F0aW9uKCk7Cisg
ICAgICAgIGdlc3R1cmUoInN0YXJ0Iik7CisgICAgICB9CisgICAgfQorICB9CisKKyAgZnVuY3Rp
b24gdG91Y2htb3ZlZCgpIHsKKyAgICB2YXIgdG91Y2hlcyA9IGV4cG9ydHMuZXZlbnQuY2hhbmdl
ZFRvdWNoZXMsCisgICAgICAgIG4gPSB0b3VjaGVzLmxlbmd0aCwgaSwgZ2VzdHVyZTsKKworICAg
IGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChnZXN0dXJlID0gZ2VzdHVyZXNb
dG91Y2hlc1tpXS5pZGVudGlmaWVyXSkgeworICAgICAgICBub2V2ZW50KCk7CisgICAgICAgIGdl
c3R1cmUoImRyYWciKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBmdW5jdGlvbiB0b3VjaGVu
ZGVkKCkgeworICAgIHZhciB0b3VjaGVzID0gZXhwb3J0cy5ldmVudC5jaGFuZ2VkVG91Y2hlcywK
KyAgICAgICAgbiA9IHRvdWNoZXMubGVuZ3RoLCBpLCBnZXN0dXJlOworCisgICAgaWYgKHRvdWNo
ZW5kaW5nKSBjbGVhclRpbWVvdXQodG91Y2hlbmRpbmcpOworICAgIHRvdWNoZW5kaW5nID0gc2V0
VGltZW91dChmdW5jdGlvbigpIHsgdG91Y2hlbmRpbmcgPSBudWxsOyB9LCA1MDApOyAvLyBHaG9z
dCBjbGlja3MgYXJlIGRlbGF5ZWQhCisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAg
ICAgaWYgKGdlc3R1cmUgPSBnZXN0dXJlc1t0b3VjaGVzW2ldLmlkZW50aWZpZXJdKSB7CisgICAg
ICAgIG5vcHJvcGFnYXRpb24oKTsKKyAgICAgICAgZ2VzdHVyZSgiZW5kIik7CisgICAgICB9Cisg
ICAgfQorICB9CisKKyAgZnVuY3Rpb24gYmVmb3Jlc3RhcnQoaWQsIGNvbnRhaW5lciwgcG9pbnQs
IHRoYXQsIGFyZ3MpIHsKKyAgICB2YXIgcCA9IHBvaW50KGNvbnRhaW5lciwgaWQpLCBzLCBkeCwg
ZHksCisgICAgICAgIHN1Ymxpc3RlbmVycyA9IGxpc3RlbmVycy5jb3B5KCk7CisKKyAgICBpZiAo
IWN1c3RvbUV2ZW50KG5ldyBEcmFnRXZlbnQoZHJhZywgImJlZm9yZXN0YXJ0IiwgcywgaWQsIGFj
dGl2ZSwgcFswXSwgcFsxXSwgMCwgMCwgc3VibGlzdGVuZXJzKSwgZnVuY3Rpb24oKSB7CisgICAg
ICBpZiAoKGV4cG9ydHMuZXZlbnQuc3ViamVjdCA9IHMgPSBzdWJqZWN0LmFwcGx5KHRoYXQsIGFy
Z3MpKSA9PSBudWxsKSByZXR1cm4gZmFsc2U7CisgICAgICBkeCA9IHMueCAtIHBbMF0gfHwgMDsK
KyAgICAgIGR5ID0gcy55IC0gcFsxXSB8fCAwOworICAgICAgcmV0dXJuIHRydWU7CisgICAgfSkp
IHJldHVybjsKKworICAgIHJldHVybiBmdW5jdGlvbiBnZXN0dXJlKHR5cGUpIHsKKyAgICAgIHZh
ciBwMCA9IHAsIG47CisgICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgICAgY2FzZSAic3RhcnQi
OiBnZXN0dXJlc1tpZF0gPSBnZXN0dXJlLCBuID0gYWN0aXZlKys7IGJyZWFrOworICAgICAgICBj
YXNlICJlbmQiOiBkZWxldGUgZ2VzdHVyZXNbaWRdLCAtLWFjdGl2ZTsgLy8gbm9icmVhaworICAg
ICAgICBjYXNlICJkcmFnIjogcCA9IHBvaW50KGNvbnRhaW5lciwgaWQpLCBuID0gYWN0aXZlOyBi
cmVhazsKKyAgICAgIH0KKyAgICAgIGN1c3RvbUV2ZW50KG5ldyBEcmFnRXZlbnQoZHJhZywgdHlw
ZSwgcywgaWQsIG4sIHBbMF0gKyBkeCwgcFsxXSArIGR5LCBwWzBdIC0gcDBbMF0sIHBbMV0gLSBw
MFsxXSwgc3VibGlzdGVuZXJzKSwgc3VibGlzdGVuZXJzLmFwcGx5LCBzdWJsaXN0ZW5lcnMsIFt0
eXBlLCB0aGF0LCBhcmdzXSk7CisgICAgfTsKKyAgfQorCisgIGRyYWcuZmlsdGVyID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGZpbHRlciA9IHR5cGVvZiBf
ID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDIoISFfKSwgZHJhZykgOiBmaWx0ZXI7Cisg
IH07CisKKyAgZHJhZy5jb250YWluZXIgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAoY29udGFpbmVyID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDog
Y29uc3RhbnQkMihfKSwgZHJhZykgOiBjb250YWluZXI7CisgIH07CisKKyAgZHJhZy5zdWJqZWN0
ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHN1YmplY3Qg
PSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCQyKF8pLCBkcmFnKSA6IHN1
YmplY3Q7CisgIH07CisKKyAgZHJhZy50b3VjaGFibGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodG91Y2hhYmxlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlv
biIgPyBfIDogY29uc3RhbnQkMighIV8pLCBkcmFnKSA6IHRvdWNoYWJsZTsKKyAgfTsKKworICBk
cmFnLm9uID0gZnVuY3Rpb24oKSB7CisgICAgdmFyIHZhbHVlID0gbGlzdGVuZXJzLm9uLmFwcGx5
KGxpc3RlbmVycywgYXJndW1lbnRzKTsKKyAgICByZXR1cm4gdmFsdWUgPT09IGxpc3RlbmVycyA/
IGRyYWcgOiB2YWx1ZTsKKyAgfTsKKworICBkcmFnLmNsaWNrRGlzdGFuY2UgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoY2xpY2tEaXN0YW5jZTIgPSAoXyA9
ICtfKSAqIF8sIGRyYWcpIDogTWF0aC5zcXJ0KGNsaWNrRGlzdGFuY2UyKTsKKyAgfTsKKworICBy
ZXR1cm4gZHJhZzsKK30KKworZnVuY3Rpb24gZGVmaW5lKGNvbnN0cnVjdG9yLCBmYWN0b3J5LCBw
cm90b3R5cGUpIHsKKyAgY29uc3RydWN0b3IucHJvdG90eXBlID0gZmFjdG9yeS5wcm90b3R5cGUg
PSBwcm90b3R5cGU7CisgIHByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGNvbnN0cnVjdG9yOworfQor
CitmdW5jdGlvbiBleHRlbmQocGFyZW50LCBkZWZpbml0aW9uKSB7CisgIHZhciBwcm90b3R5cGUg
PSBPYmplY3QuY3JlYXRlKHBhcmVudC5wcm90b3R5cGUpOworICBmb3IgKHZhciBrZXkgaW4gZGVm
aW5pdGlvbikgcHJvdG90eXBlW2tleV0gPSBkZWZpbml0aW9uW2tleV07CisgIHJldHVybiBwcm90
b3R5cGU7Cit9CisKK2Z1bmN0aW9uIENvbG9yKCkge30KKwordmFyIGRhcmtlciA9IDAuNzsKK3Zh
ciBicmlnaHRlciA9IDEgLyBkYXJrZXI7CisKK3ZhciByZUkgPSAiXFxzKihbKy1dP1xcZCspXFxz
KiIsCisgICAgcmVOID0gIlxccyooWystXT9cXGQqXFwuP1xcZCsoPzpbZUVdWystXT9cXGQrKT8p
XFxzKiIsCisgICAgcmVQID0gIlxccyooWystXT9cXGQqXFwuP1xcZCsoPzpbZUVdWystXT9cXGQr
KT8pJVxccyoiLAorICAgIHJlSGV4ID0gL14jKFswLTlhLWZdezMsOH0pJC8sCisgICAgcmVSZ2JJ
bnRlZ2VyID0gbmV3IFJlZ0V4cCgiXnJnYlxcKCIgKyBbcmVJLCByZUksIHJlSV0gKyAiXFwpJCIp
LAorICAgIHJlUmdiUGVyY2VudCA9IG5ldyBSZWdFeHAoIl5yZ2JcXCgiICsgW3JlUCwgcmVQLCBy
ZVBdICsgIlxcKSQiKSwKKyAgICByZVJnYmFJbnRlZ2VyID0gbmV3IFJlZ0V4cCgiXnJnYmFcXCgi
ICsgW3JlSSwgcmVJLCByZUksIHJlTl0gKyAiXFwpJCIpLAorICAgIHJlUmdiYVBlcmNlbnQgPSBu
ZXcgUmVnRXhwKCJecmdiYVxcKCIgKyBbcmVQLCByZVAsIHJlUCwgcmVOXSArICJcXCkkIiksCisg
ICAgcmVIc2xQZXJjZW50ID0gbmV3IFJlZ0V4cCgiXmhzbFxcKCIgKyBbcmVOLCByZVAsIHJlUF0g
KyAiXFwpJCIpLAorICAgIHJlSHNsYVBlcmNlbnQgPSBuZXcgUmVnRXhwKCJeaHNsYVxcKCIgKyBb
cmVOLCByZVAsIHJlUCwgcmVOXSArICJcXCkkIik7CisKK3ZhciBuYW1lZCA9IHsKKyAgYWxpY2Vi
bHVlOiAweGYwZjhmZiwKKyAgYW50aXF1ZXdoaXRlOiAweGZhZWJkNywKKyAgYXF1YTogMHgwMGZm
ZmYsCisgIGFxdWFtYXJpbmU6IDB4N2ZmZmQ0LAorICBhenVyZTogMHhmMGZmZmYsCisgIGJlaWdl
OiAweGY1ZjVkYywKKyAgYmlzcXVlOiAweGZmZTRjNCwKKyAgYmxhY2s6IDB4MDAwMDAwLAorICBi
bGFuY2hlZGFsbW9uZDogMHhmZmViY2QsCisgIGJsdWU6IDB4MDAwMGZmLAorICBibHVldmlvbGV0
OiAweDhhMmJlMiwKKyAgYnJvd246IDB4YTUyYTJhLAorICBidXJseXdvb2Q6IDB4ZGViODg3LAor
ICBjYWRldGJsdWU6IDB4NWY5ZWEwLAorICBjaGFydHJldXNlOiAweDdmZmYwMCwKKyAgY2hvY29s
YXRlOiAweGQyNjkxZSwKKyAgY29yYWw6IDB4ZmY3ZjUwLAorICBjb3JuZmxvd2VyYmx1ZTogMHg2
NDk1ZWQsCisgIGNvcm5zaWxrOiAweGZmZjhkYywKKyAgY3JpbXNvbjogMHhkYzE0M2MsCisgIGN5
YW46IDB4MDBmZmZmLAorICBkYXJrYmx1ZTogMHgwMDAwOGIsCisgIGRhcmtjeWFuOiAweDAwOGI4
YiwKKyAgZGFya2dvbGRlbnJvZDogMHhiODg2MGIsCisgIGRhcmtncmF5OiAweGE5YTlhOSwKKyAg
ZGFya2dyZWVuOiAweDAwNjQwMCwKKyAgZGFya2dyZXk6IDB4YTlhOWE5LAorICBkYXJra2hha2k6
IDB4YmRiNzZiLAorICBkYXJrbWFnZW50YTogMHg4YjAwOGIsCisgIGRhcmtvbGl2ZWdyZWVuOiAw
eDU1NmIyZiwKKyAgZGFya29yYW5nZTogMHhmZjhjMDAsCisgIGRhcmtvcmNoaWQ6IDB4OTkzMmNj
LAorICBkYXJrcmVkOiAweDhiMDAwMCwKKyAgZGFya3NhbG1vbjogMHhlOTk2N2EsCisgIGRhcmtz
ZWFncmVlbjogMHg4ZmJjOGYsCisgIGRhcmtzbGF0ZWJsdWU6IDB4NDgzZDhiLAorICBkYXJrc2xh
dGVncmF5OiAweDJmNGY0ZiwKKyAgZGFya3NsYXRlZ3JleTogMHgyZjRmNGYsCisgIGRhcmt0dXJx
dW9pc2U6IDB4MDBjZWQxLAorICBkYXJrdmlvbGV0OiAweDk0MDBkMywKKyAgZGVlcHBpbms6IDB4
ZmYxNDkzLAorICBkZWVwc2t5Ymx1ZTogMHgwMGJmZmYsCisgIGRpbWdyYXk6IDB4Njk2OTY5LAor
ICBkaW1ncmV5OiAweDY5Njk2OSwKKyAgZG9kZ2VyYmx1ZTogMHgxZTkwZmYsCisgIGZpcmVicmlj
azogMHhiMjIyMjIsCisgIGZsb3JhbHdoaXRlOiAweGZmZmFmMCwKKyAgZm9yZXN0Z3JlZW46IDB4
MjI4YjIyLAorICBmdWNoc2lhOiAweGZmMDBmZiwKKyAgZ2FpbnNib3JvOiAweGRjZGNkYywKKyAg
Z2hvc3R3aGl0ZTogMHhmOGY4ZmYsCisgIGdvbGQ6IDB4ZmZkNzAwLAorICBnb2xkZW5yb2Q6IDB4
ZGFhNTIwLAorICBncmF5OiAweDgwODA4MCwKKyAgZ3JlZW46IDB4MDA4MDAwLAorICBncmVlbnll
bGxvdzogMHhhZGZmMmYsCisgIGdyZXk6IDB4ODA4MDgwLAorICBob25leWRldzogMHhmMGZmZjAs
CisgIGhvdHBpbms6IDB4ZmY2OWI0LAorICBpbmRpYW5yZWQ6IDB4Y2Q1YzVjLAorICBpbmRpZ286
IDB4NGIwMDgyLAorICBpdm9yeTogMHhmZmZmZjAsCisgIGtoYWtpOiAweGYwZTY4YywKKyAgbGF2
ZW5kZXI6IDB4ZTZlNmZhLAorICBsYXZlbmRlcmJsdXNoOiAweGZmZjBmNSwKKyAgbGF3bmdyZWVu
OiAweDdjZmMwMCwKKyAgbGVtb25jaGlmZm9uOiAweGZmZmFjZCwKKyAgbGlnaHRibHVlOiAweGFk
ZDhlNiwKKyAgbGlnaHRjb3JhbDogMHhmMDgwODAsCisgIGxpZ2h0Y3lhbjogMHhlMGZmZmYsCisg
IGxpZ2h0Z29sZGVucm9keWVsbG93OiAweGZhZmFkMiwKKyAgbGlnaHRncmF5OiAweGQzZDNkMywK
KyAgbGlnaHRncmVlbjogMHg5MGVlOTAsCisgIGxpZ2h0Z3JleTogMHhkM2QzZDMsCisgIGxpZ2h0
cGluazogMHhmZmI2YzEsCisgIGxpZ2h0c2FsbW9uOiAweGZmYTA3YSwKKyAgbGlnaHRzZWFncmVl
bjogMHgyMGIyYWEsCisgIGxpZ2h0c2t5Ymx1ZTogMHg4N2NlZmEsCisgIGxpZ2h0c2xhdGVncmF5
OiAweDc3ODg5OSwKKyAgbGlnaHRzbGF0ZWdyZXk6IDB4Nzc4ODk5LAorICBsaWdodHN0ZWVsYmx1
ZTogMHhiMGM0ZGUsCisgIGxpZ2h0eWVsbG93OiAweGZmZmZlMCwKKyAgbGltZTogMHgwMGZmMDAs
CisgIGxpbWVncmVlbjogMHgzMmNkMzIsCisgIGxpbmVuOiAweGZhZjBlNiwKKyAgbWFnZW50YTog
MHhmZjAwZmYsCisgIG1hcm9vbjogMHg4MDAwMDAsCisgIG1lZGl1bWFxdWFtYXJpbmU6IDB4NjZj
ZGFhLAorICBtZWRpdW1ibHVlOiAweDAwMDBjZCwKKyAgbWVkaXVtb3JjaGlkOiAweGJhNTVkMywK
KyAgbWVkaXVtcHVycGxlOiAweDkzNzBkYiwKKyAgbWVkaXVtc2VhZ3JlZW46IDB4M2NiMzcxLAor
ICBtZWRpdW1zbGF0ZWJsdWU6IDB4N2I2OGVlLAorICBtZWRpdW1zcHJpbmdncmVlbjogMHgwMGZh
OWEsCisgIG1lZGl1bXR1cnF1b2lzZTogMHg0OGQxY2MsCisgIG1lZGl1bXZpb2xldHJlZDogMHhj
NzE1ODUsCisgIG1pZG5pZ2h0Ymx1ZTogMHgxOTE5NzAsCisgIG1pbnRjcmVhbTogMHhmNWZmZmEs
CisgIG1pc3R5cm9zZTogMHhmZmU0ZTEsCisgIG1vY2Nhc2luOiAweGZmZTRiNSwKKyAgbmF2YWpv
d2hpdGU6IDB4ZmZkZWFkLAorICBuYXZ5OiAweDAwMDA4MCwKKyAgb2xkbGFjZTogMHhmZGY1ZTYs
CisgIG9saXZlOiAweDgwODAwMCwKKyAgb2xpdmVkcmFiOiAweDZiOGUyMywKKyAgb3JhbmdlOiAw
eGZmYTUwMCwKKyAgb3JhbmdlcmVkOiAweGZmNDUwMCwKKyAgb3JjaGlkOiAweGRhNzBkNiwKKyAg
cGFsZWdvbGRlbnJvZDogMHhlZWU4YWEsCisgIHBhbGVncmVlbjogMHg5OGZiOTgsCisgIHBhbGV0
dXJxdW9pc2U6IDB4YWZlZWVlLAorICBwYWxldmlvbGV0cmVkOiAweGRiNzA5MywKKyAgcGFwYXlh
d2hpcDogMHhmZmVmZDUsCisgIHBlYWNocHVmZjogMHhmZmRhYjksCisgIHBlcnU6IDB4Y2Q4NTNm
LAorICBwaW5rOiAweGZmYzBjYiwKKyAgcGx1bTogMHhkZGEwZGQsCisgIHBvd2RlcmJsdWU6IDB4
YjBlMGU2LAorICBwdXJwbGU6IDB4ODAwMDgwLAorICByZWJlY2NhcHVycGxlOiAweDY2MzM5OSwK
KyAgcmVkOiAweGZmMDAwMCwKKyAgcm9zeWJyb3duOiAweGJjOGY4ZiwKKyAgcm95YWxibHVlOiAw
eDQxNjllMSwKKyAgc2FkZGxlYnJvd246IDB4OGI0NTEzLAorICBzYWxtb246IDB4ZmE4MDcyLAor
ICBzYW5keWJyb3duOiAweGY0YTQ2MCwKKyAgc2VhZ3JlZW46IDB4MmU4YjU3LAorICBzZWFzaGVs
bDogMHhmZmY1ZWUsCisgIHNpZW5uYTogMHhhMDUyMmQsCisgIHNpbHZlcjogMHhjMGMwYzAsCisg
IHNreWJsdWU6IDB4ODdjZWViLAorICBzbGF0ZWJsdWU6IDB4NmE1YWNkLAorICBzbGF0ZWdyYXk6
IDB4NzA4MDkwLAorICBzbGF0ZWdyZXk6IDB4NzA4MDkwLAorICBzbm93OiAweGZmZmFmYSwKKyAg
c3ByaW5nZ3JlZW46IDB4MDBmZjdmLAorICBzdGVlbGJsdWU6IDB4NDY4MmI0LAorICB0YW46IDB4
ZDJiNDhjLAorICB0ZWFsOiAweDAwODA4MCwKKyAgdGhpc3RsZTogMHhkOGJmZDgsCisgIHRvbWF0
bzogMHhmZjYzNDcsCisgIHR1cnF1b2lzZTogMHg0MGUwZDAsCisgIHZpb2xldDogMHhlZTgyZWUs
CisgIHdoZWF0OiAweGY1ZGViMywKKyAgd2hpdGU6IDB4ZmZmZmZmLAorICB3aGl0ZXNtb2tlOiAw
eGY1ZjVmNSwKKyAgeWVsbG93OiAweGZmZmYwMCwKKyAgeWVsbG93Z3JlZW46IDB4OWFjZDMyCit9
OworCitkZWZpbmUoQ29sb3IsIGNvbG9yLCB7CisgIGNvcHk6IGZ1bmN0aW9uKGNoYW5uZWxzKSB7
CisgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IHRoaXMuY29uc3RydWN0b3IsIHRoaXMsIGNo
YW5uZWxzKTsKKyAgfSwKKyAgZGlzcGxheWFibGU6IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0
aGlzLnJnYigpLmRpc3BsYXlhYmxlKCk7CisgIH0sCisgIGhleDogY29sb3JfZm9ybWF0SGV4LCAv
LyBEZXByZWNhdGVkISBVc2UgY29sb3IuZm9ybWF0SGV4LgorICBmb3JtYXRIZXg6IGNvbG9yX2Zv
cm1hdEhleCwKKyAgZm9ybWF0SHNsOiBjb2xvcl9mb3JtYXRIc2wsCisgIGZvcm1hdFJnYjogY29s
b3JfZm9ybWF0UmdiLAorICB0b1N0cmluZzogY29sb3JfZm9ybWF0UmdiCit9KTsKKworZnVuY3Rp
b24gY29sb3JfZm9ybWF0SGV4KCkgeworICByZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRIZXgoKTsK
K30KKworZnVuY3Rpb24gY29sb3JfZm9ybWF0SHNsKCkgeworICByZXR1cm4gaHNsQ29udmVydCh0
aGlzKS5mb3JtYXRIc2woKTsKK30KKworZnVuY3Rpb24gY29sb3JfZm9ybWF0UmdiKCkgeworICBy
ZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRSZ2IoKTsKK30KKworZnVuY3Rpb24gY29sb3IoZm9ybWF0
KSB7CisgIHZhciBtLCBsOworICBmb3JtYXQgPSAoZm9ybWF0ICsgIiIpLnRyaW0oKS50b0xvd2Vy
Q2FzZSgpOworICByZXR1cm4gKG0gPSByZUhleC5leGVjKGZvcm1hdCkpID8gKGwgPSBtWzFdLmxl
bmd0aCwgbSA9IHBhcnNlSW50KG1bMV0sIDE2KSwgbCA9PT0gNiA/IHJnYm4obSkgLy8gI2ZmMDAw
MAorICAgICAgOiBsID09PSAzID8gbmV3IFJnYigobSA+PiA4ICYgMHhmKSB8IChtID4+IDQgJiAw
eGYwKSwgKG0gPj4gNCAmIDB4ZikgfCAobSAmIDB4ZjApLCAoKG0gJiAweGYpIDw8IDQpIHwgKG0g
JiAweGYpLCAxKSAvLyAjZjAwCisgICAgICA6IGwgPT09IDggPyBuZXcgUmdiKG0gPj4gMjQgJiAw
eGZmLCBtID4+IDE2ICYgMHhmZiwgbSA+PiA4ICYgMHhmZiwgKG0gJiAweGZmKSAvIDB4ZmYpIC8v
ICNmZjAwMDAwMAorICAgICAgOiBsID09PSA0ID8gbmV3IFJnYigobSA+PiAxMiAmIDB4ZikgfCAo
bSA+PiA4ICYgMHhmMCksIChtID4+IDggJiAweGYpIHwgKG0gPj4gNCAmIDB4ZjApLCAobSA+PiA0
ICYgMHhmKSB8IChtICYgMHhmMCksICgoKG0gJiAweGYpIDw8IDQpIHwgKG0gJiAweGYpKSAvIDB4
ZmYpIC8vICNmMDAwCisgICAgICA6IG51bGwpIC8vIGludmFsaWQgaGV4CisgICAgICA6IChtID0g
cmVSZ2JJbnRlZ2VyLmV4ZWMoZm9ybWF0KSkgPyBuZXcgUmdiKG1bMV0sIG1bMl0sIG1bM10sIDEp
IC8vIHJnYigyNTUsIDAsIDApCisgICAgICA6IChtID0gcmVSZ2JQZXJjZW50LmV4ZWMoZm9ybWF0
KSkgPyBuZXcgUmdiKG1bMV0gKiAyNTUgLyAxMDAsIG1bMl0gKiAyNTUgLyAxMDAsIG1bM10gKiAy
NTUgLyAxMDAsIDEpIC8vIHJnYigxMDAlLCAwJSwgMCUpCisgICAgICA6IChtID0gcmVSZ2JhSW50
ZWdlci5leGVjKGZvcm1hdCkpID8gcmdiYShtWzFdLCBtWzJdLCBtWzNdLCBtWzRdKSAvLyByZ2Jh
KDI1NSwgMCwgMCwgMSkKKyAgICAgIDogKG0gPSByZVJnYmFQZXJjZW50LmV4ZWMoZm9ybWF0KSkg
PyByZ2JhKG1bMV0gKiAyNTUgLyAxMDAsIG1bMl0gKiAyNTUgLyAxMDAsIG1bM10gKiAyNTUgLyAx
MDAsIG1bNF0pIC8vIHJnYigxMDAlLCAwJSwgMCUsIDEpCisgICAgICA6IChtID0gcmVIc2xQZXJj
ZW50LmV4ZWMoZm9ybWF0KSkgPyBoc2xhKG1bMV0sIG1bMl0gLyAxMDAsIG1bM10gLyAxMDAsIDEp
IC8vIGhzbCgxMjAsIDUwJSwgNTAlKQorICAgICAgOiAobSA9IHJlSHNsYVBlcmNlbnQuZXhlYyhm
b3JtYXQpKSA/IGhzbGEobVsxXSwgbVsyXSAvIDEwMCwgbVszXSAvIDEwMCwgbVs0XSkgLy8gaHNs
YSgxMjAsIDUwJSwgNTAlLCAxKQorICAgICAgOiBuYW1lZC5oYXNPd25Qcm9wZXJ0eShmb3JtYXQp
ID8gcmdibihuYW1lZFtmb3JtYXRdKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXByb3RvdHlw
ZS1idWlsdGlucworICAgICAgOiBmb3JtYXQgPT09ICJ0cmFuc3BhcmVudCIgPyBuZXcgUmdiKE5h
TiwgTmFOLCBOYU4sIDApCisgICAgICA6IG51bGw7Cit9CisKK2Z1bmN0aW9uIHJnYm4obikgewor
ICByZXR1cm4gbmV3IFJnYihuID4+IDE2ICYgMHhmZiwgbiA+PiA4ICYgMHhmZiwgbiAmIDB4ZmYs
IDEpOworfQorCitmdW5jdGlvbiByZ2JhKHIsIGcsIGIsIGEpIHsKKyAgaWYgKGEgPD0gMCkgciA9
IGcgPSBiID0gTmFOOworICByZXR1cm4gbmV3IFJnYihyLCBnLCBiLCBhKTsKK30KKworZnVuY3Rp
b24gcmdiQ29udmVydChvKSB7CisgIGlmICghKG8gaW5zdGFuY2VvZiBDb2xvcikpIG8gPSBjb2xv
cihvKTsKKyAgaWYgKCFvKSByZXR1cm4gbmV3IFJnYjsKKyAgbyA9IG8ucmdiKCk7CisgIHJldHVy
biBuZXcgUmdiKG8uciwgby5nLCBvLmIsIG8ub3BhY2l0eSk7Cit9CisKK2Z1bmN0aW9uIHJnYihy
LCBnLCBiLCBvcGFjaXR5KSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID09PSAxID8gcmdi
Q29udmVydChyKSA6IG5ldyBSZ2IociwgZywgYiwgb3BhY2l0eSA9PSBudWxsID8gMSA6IG9wYWNp
dHkpOworfQorCitmdW5jdGlvbiBSZ2IociwgZywgYiwgb3BhY2l0eSkgeworICB0aGlzLnIgPSAr
cjsKKyAgdGhpcy5nID0gK2c7CisgIHRoaXMuYiA9ICtiOworICB0aGlzLm9wYWNpdHkgPSArb3Bh
Y2l0eTsKK30KKworZGVmaW5lKFJnYiwgcmdiLCBleHRlbmQoQ29sb3IsIHsKKyAgYnJpZ2h0ZXI6
IGZ1bmN0aW9uKGspIHsKKyAgICBrID0gayA9PSBudWxsID8gYnJpZ2h0ZXIgOiBNYXRoLnBvdyhi
cmlnaHRlciwgayk7CisgICAgcmV0dXJuIG5ldyBSZ2IodGhpcy5yICogaywgdGhpcy5nICogaywg
dGhpcy5iICogaywgdGhpcy5vcGFjaXR5KTsKKyAgfSwKKyAgZGFya2VyOiBmdW5jdGlvbihrKSB7
CisgICAgayA9IGsgPT0gbnVsbCA/IGRhcmtlciA6IE1hdGgucG93KGRhcmtlciwgayk7CisgICAg
cmV0dXJuIG5ldyBSZ2IodGhpcy5yICogaywgdGhpcy5nICogaywgdGhpcy5iICogaywgdGhpcy5v
cGFjaXR5KTsKKyAgfSwKKyAgcmdiOiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gdGhpczsKKyAg
fSwKKyAgZGlzcGxheWFibGU6IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiAoLTAuNSA8PSB0aGlz
LnIgJiYgdGhpcy5yIDwgMjU1LjUpCisgICAgICAgICYmICgtMC41IDw9IHRoaXMuZyAmJiB0aGlz
LmcgPCAyNTUuNSkKKyAgICAgICAgJiYgKC0wLjUgPD0gdGhpcy5iICYmIHRoaXMuYiA8IDI1NS41
KQorICAgICAgICAmJiAoMCA8PSB0aGlzLm9wYWNpdHkgJiYgdGhpcy5vcGFjaXR5IDw9IDEpOwor
ICB9LAorICBoZXg6IHJnYl9mb3JtYXRIZXgsIC8vIERlcHJlY2F0ZWQhIFVzZSBjb2xvci5mb3Jt
YXRIZXguCisgIGZvcm1hdEhleDogcmdiX2Zvcm1hdEhleCwKKyAgZm9ybWF0UmdiOiByZ2JfZm9y
bWF0UmdiLAorICB0b1N0cmluZzogcmdiX2Zvcm1hdFJnYgorfSkpOworCitmdW5jdGlvbiByZ2Jf
Zm9ybWF0SGV4KCkgeworICByZXR1cm4gIiMiICsgaGV4KHRoaXMucikgKyBoZXgodGhpcy5nKSAr
IGhleCh0aGlzLmIpOworfQorCitmdW5jdGlvbiByZ2JfZm9ybWF0UmdiKCkgeworICB2YXIgYSA9
IHRoaXMub3BhY2l0eTsgYSA9IGlzTmFOKGEpID8gMSA6IE1hdGgubWF4KDAsIE1hdGgubWluKDEs
IGEpKTsKKyAgcmV0dXJuIChhID09PSAxID8gInJnYigiIDogInJnYmEoIikKKyAgICAgICsgTWF0
aC5tYXgoMCwgTWF0aC5taW4oMjU1LCBNYXRoLnJvdW5kKHRoaXMucikgfHwgMCkpICsgIiwgIgor
ICAgICAgKyBNYXRoLm1heCgwLCBNYXRoLm1pbigyNTUsIE1hdGgucm91bmQodGhpcy5nKSB8fCAw
KSkgKyAiLCAiCisgICAgICArIE1hdGgubWF4KDAsIE1hdGgubWluKDI1NSwgTWF0aC5yb3VuZCh0
aGlzLmIpIHx8IDApKQorICAgICAgKyAoYSA9PT0gMSA/ICIpIiA6ICIsICIgKyBhICsgIikiKTsK
K30KKworZnVuY3Rpb24gaGV4KHZhbHVlKSB7CisgIHZhbHVlID0gTWF0aC5tYXgoMCwgTWF0aC5t
aW4oMjU1LCBNYXRoLnJvdW5kKHZhbHVlKSB8fCAwKSk7CisgIHJldHVybiAodmFsdWUgPCAxNiA/
ICIwIiA6ICIiKSArIHZhbHVlLnRvU3RyaW5nKDE2KTsKK30KKworZnVuY3Rpb24gaHNsYShoLCBz
LCBsLCBhKSB7CisgIGlmIChhIDw9IDApIGggPSBzID0gbCA9IE5hTjsKKyAgZWxzZSBpZiAobCA8
PSAwIHx8IGwgPj0gMSkgaCA9IHMgPSBOYU47CisgIGVsc2UgaWYgKHMgPD0gMCkgaCA9IE5hTjsK
KyAgcmV0dXJuIG5ldyBIc2woaCwgcywgbCwgYSk7Cit9CisKK2Z1bmN0aW9uIGhzbENvbnZlcnQo
bykgeworICBpZiAobyBpbnN0YW5jZW9mIEhzbCkgcmV0dXJuIG5ldyBIc2woby5oLCBvLnMsIG8u
bCwgby5vcGFjaXR5KTsKKyAgaWYgKCEobyBpbnN0YW5jZW9mIENvbG9yKSkgbyA9IGNvbG9yKG8p
OworICBpZiAoIW8pIHJldHVybiBuZXcgSHNsOworICBpZiAobyBpbnN0YW5jZW9mIEhzbCkgcmV0
dXJuIG87CisgIG8gPSBvLnJnYigpOworICB2YXIgciA9IG8uciAvIDI1NSwKKyAgICAgIGcgPSBv
LmcgLyAyNTUsCisgICAgICBiID0gby5iIC8gMjU1LAorICAgICAgbWluID0gTWF0aC5taW4ociwg
ZywgYiksCisgICAgICBtYXggPSBNYXRoLm1heChyLCBnLCBiKSwKKyAgICAgIGggPSBOYU4sCisg
ICAgICBzID0gbWF4IC0gbWluLAorICAgICAgbCA9IChtYXggKyBtaW4pIC8gMjsKKyAgaWYgKHMp
IHsKKyAgICBpZiAociA9PT0gbWF4KSBoID0gKGcgLSBiKSAvIHMgKyAoZyA8IGIpICogNjsKKyAg
ICBlbHNlIGlmIChnID09PSBtYXgpIGggPSAoYiAtIHIpIC8gcyArIDI7CisgICAgZWxzZSBoID0g
KHIgLSBnKSAvIHMgKyA0OworICAgIHMgLz0gbCA8IDAuNSA/IG1heCArIG1pbiA6IDIgLSBtYXgg
LSBtaW47CisgICAgaCAqPSA2MDsKKyAgfSBlbHNlIHsKKyAgICBzID0gbCA+IDAgJiYgbCA8IDEg
PyAwIDogaDsKKyAgfQorICByZXR1cm4gbmV3IEhzbChoLCBzLCBsLCBvLm9wYWNpdHkpOworfQor
CitmdW5jdGlvbiBoc2woaCwgcywgbCwgb3BhY2l0eSkgeworICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA9PT0gMSA/IGhzbENvbnZlcnQoaCkgOiBuZXcgSHNsKGgsIHMsIGwsIG9wYWNpdHkgPT0g
bnVsbCA/IDEgOiBvcGFjaXR5KTsKK30KKworZnVuY3Rpb24gSHNsKGgsIHMsIGwsIG9wYWNpdHkp
IHsKKyAgdGhpcy5oID0gK2g7CisgIHRoaXMucyA9ICtzOworICB0aGlzLmwgPSArbDsKKyAgdGhp
cy5vcGFjaXR5ID0gK29wYWNpdHk7Cit9CisKK2RlZmluZShIc2wsIGhzbCwgZXh0ZW5kKENvbG9y
LCB7CisgIGJyaWdodGVyOiBmdW5jdGlvbihrKSB7CisgICAgayA9IGsgPT0gbnVsbCA/IGJyaWdo
dGVyIDogTWF0aC5wb3coYnJpZ2h0ZXIsIGspOworICAgIHJldHVybiBuZXcgSHNsKHRoaXMuaCwg
dGhpcy5zLCB0aGlzLmwgKiBrLCB0aGlzLm9wYWNpdHkpOworICB9LAorICBkYXJrZXI6IGZ1bmN0
aW9uKGspIHsKKyAgICBrID0gayA9PSBudWxsID8gZGFya2VyIDogTWF0aC5wb3coZGFya2VyLCBr
KTsKKyAgICByZXR1cm4gbmV3IEhzbCh0aGlzLmgsIHRoaXMucywgdGhpcy5sICogaywgdGhpcy5v
cGFjaXR5KTsKKyAgfSwKKyAgcmdiOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgaCA9IHRoaXMuaCAl
IDM2MCArICh0aGlzLmggPCAwKSAqIDM2MCwKKyAgICAgICAgcyA9IGlzTmFOKGgpIHx8IGlzTmFO
KHRoaXMucykgPyAwIDogdGhpcy5zLAorICAgICAgICBsID0gdGhpcy5sLAorICAgICAgICBtMiA9
IGwgKyAobCA8IDAuNSA/IGwgOiAxIC0gbCkgKiBzLAorICAgICAgICBtMSA9IDIgKiBsIC0gbTI7
CisgICAgcmV0dXJuIG5ldyBSZ2IoCisgICAgICBoc2wycmdiKGggPj0gMjQwID8gaCAtIDI0MCA6
IGggKyAxMjAsIG0xLCBtMiksCisgICAgICBoc2wycmdiKGgsIG0xLCBtMiksCisgICAgICBoc2wy
cmdiKGggPCAxMjAgPyBoICsgMjQwIDogaCAtIDEyMCwgbTEsIG0yKSwKKyAgICAgIHRoaXMub3Bh
Y2l0eQorICAgICk7CisgIH0sCisgIGRpc3BsYXlhYmxlOiBmdW5jdGlvbigpIHsKKyAgICByZXR1
cm4gKDAgPD0gdGhpcy5zICYmIHRoaXMucyA8PSAxIHx8IGlzTmFOKHRoaXMucykpCisgICAgICAg
ICYmICgwIDw9IHRoaXMubCAmJiB0aGlzLmwgPD0gMSkKKyAgICAgICAgJiYgKDAgPD0gdGhpcy5v
cGFjaXR5ICYmIHRoaXMub3BhY2l0eSA8PSAxKTsKKyAgfSwKKyAgZm9ybWF0SHNsOiBmdW5jdGlv
bigpIHsKKyAgICB2YXIgYSA9IHRoaXMub3BhY2l0eTsgYSA9IGlzTmFOKGEpID8gMSA6IE1hdGgu
bWF4KDAsIE1hdGgubWluKDEsIGEpKTsKKyAgICByZXR1cm4gKGEgPT09IDEgPyAiaHNsKCIgOiAi
aHNsYSgiKQorICAgICAgICArICh0aGlzLmggfHwgMCkgKyAiLCAiCisgICAgICAgICsgKHRoaXMu
cyB8fCAwKSAqIDEwMCArICIlLCAiCisgICAgICAgICsgKHRoaXMubCB8fCAwKSAqIDEwMCArICIl
IgorICAgICAgICArIChhID09PSAxID8gIikiIDogIiwgIiArIGEgKyAiKSIpOworICB9Cit9KSk7
CisKKy8qIEZyb20gRnZEIDEzLjM3LCBDU1MgQ29sb3IgTW9kdWxlIExldmVsIDMgKi8KK2Z1bmN0
aW9uIGhzbDJyZ2IoaCwgbTEsIG0yKSB7CisgIHJldHVybiAoaCA8IDYwID8gbTEgKyAobTIgLSBt
MSkgKiBoIC8gNjAKKyAgICAgIDogaCA8IDE4MCA/IG0yCisgICAgICA6IGggPCAyNDAgPyBtMSAr
IChtMiAtIG0xKSAqICgyNDAgLSBoKSAvIDYwCisgICAgICA6IG0xKSAqIDI1NTsKK30KKwordmFy
IGRlZzJyYWQgPSBNYXRoLlBJIC8gMTgwOwordmFyIHJhZDJkZWcgPSAxODAgLyBNYXRoLlBJOwor
CisvLyBodHRwczovL29ic2VydmFibGVocS5jb20vQG1ib3N0b2NrL2xhYi1hbmQtcmdiCit2YXIg
SyA9IDE4LAorICAgIFhuID0gMC45NjQyMiwKKyAgICBZbiA9IDEsCisgICAgWm4gPSAwLjgyNTIx
LAorICAgIHQwID0gNCAvIDI5LAorICAgIHQxID0gNiAvIDI5LAorICAgIHQyID0gMyAqIHQxICog
dDEsCisgICAgdDMgPSB0MSAqIHQxICogdDE7CisKK2Z1bmN0aW9uIGxhYkNvbnZlcnQobykgewor
ICBpZiAobyBpbnN0YW5jZW9mIExhYikgcmV0dXJuIG5ldyBMYWIoby5sLCBvLmEsIG8uYiwgby5v
cGFjaXR5KTsKKyAgaWYgKG8gaW5zdGFuY2VvZiBIY2wpIHJldHVybiBoY2wybGFiKG8pOworICBp
ZiAoIShvIGluc3RhbmNlb2YgUmdiKSkgbyA9IHJnYkNvbnZlcnQobyk7CisgIHZhciByID0gcmdi
MmxyZ2Ioby5yKSwKKyAgICAgIGcgPSByZ2IybHJnYihvLmcpLAorICAgICAgYiA9IHJnYjJscmdi
KG8uYiksCisgICAgICB5ID0geHl6MmxhYigoMC4yMjI1MDQ1ICogciArIDAuNzE2ODc4NiAqIGcg
KyAwLjA2MDYxNjkgKiBiKSAvIFluKSwgeCwgejsKKyAgaWYgKHIgPT09IGcgJiYgZyA9PT0gYikg
eCA9IHogPSB5OyBlbHNlIHsKKyAgICB4ID0geHl6MmxhYigoMC40MzYwNzQ3ICogciArIDAuMzg1
MDY0OSAqIGcgKyAwLjE0MzA4MDQgKiBiKSAvIFhuKTsKKyAgICB6ID0geHl6MmxhYigoMC4wMTM5
MzIyICogciArIDAuMDk3MTA0NSAqIGcgKyAwLjcxNDE3MzMgKiBiKSAvIFpuKTsKKyAgfQorICBy
ZXR1cm4gbmV3IExhYigxMTYgKiB5IC0gMTYsIDUwMCAqICh4IC0geSksIDIwMCAqICh5IC0geiks
IG8ub3BhY2l0eSk7Cit9CisKK2Z1bmN0aW9uIGdyYXkobCwgb3BhY2l0eSkgeworICByZXR1cm4g
bmV3IExhYihsLCAwLCAwLCBvcGFjaXR5ID09IG51bGwgPyAxIDogb3BhY2l0eSk7Cit9CisKK2Z1
bmN0aW9uIGxhYihsLCBhLCBiLCBvcGFjaXR5KSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID09PSAxID8gbGFiQ29udmVydChsKSA6IG5ldyBMYWIobCwgYSwgYiwgb3BhY2l0eSA9PSBudWxs
ID8gMSA6IG9wYWNpdHkpOworfQorCitmdW5jdGlvbiBMYWIobCwgYSwgYiwgb3BhY2l0eSkgewor
ICB0aGlzLmwgPSArbDsKKyAgdGhpcy5hID0gK2E7CisgIHRoaXMuYiA9ICtiOworICB0aGlzLm9w
YWNpdHkgPSArb3BhY2l0eTsKK30KKworZGVmaW5lKExhYiwgbGFiLCBleHRlbmQoQ29sb3IsIHsK
KyAgYnJpZ2h0ZXI6IGZ1bmN0aW9uKGspIHsKKyAgICByZXR1cm4gbmV3IExhYih0aGlzLmwgKyBL
ICogKGsgPT0gbnVsbCA/IDEgOiBrKSwgdGhpcy5hLCB0aGlzLmIsIHRoaXMub3BhY2l0eSk7Cisg
IH0sCisgIGRhcmtlcjogZnVuY3Rpb24oaykgeworICAgIHJldHVybiBuZXcgTGFiKHRoaXMubCAt
IEsgKiAoayA9PSBudWxsID8gMSA6IGspLCB0aGlzLmEsIHRoaXMuYiwgdGhpcy5vcGFjaXR5KTsK
KyAgfSwKKyAgcmdiOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgeSA9ICh0aGlzLmwgKyAxNikgLyAx
MTYsCisgICAgICAgIHggPSBpc05hTih0aGlzLmEpID8geSA6IHkgKyB0aGlzLmEgLyA1MDAsCisg
ICAgICAgIHogPSBpc05hTih0aGlzLmIpID8geSA6IHkgLSB0aGlzLmIgLyAyMDA7CisgICAgeCA9
IFhuICogbGFiMnh5eih4KTsKKyAgICB5ID0gWW4gKiBsYWIyeHl6KHkpOworICAgIHogPSBabiAq
IGxhYjJ4eXooeik7CisgICAgcmV0dXJuIG5ldyBSZ2IoCisgICAgICBscmdiMnJnYiggMy4xMzM4
NTYxICogeCAtIDEuNjE2ODY2NyAqIHkgLSAwLjQ5MDYxNDYgKiB6KSwKKyAgICAgIGxyZ2Iycmdi
KC0wLjk3ODc2ODQgKiB4ICsgMS45MTYxNDE1ICogeSArIDAuMDMzNDU0MCAqIHopLAorICAgICAg
bHJnYjJyZ2IoIDAuMDcxOTQ1MyAqIHggLSAwLjIyODk5MTQgKiB5ICsgMS40MDUyNDI3ICogeiks
CisgICAgICB0aGlzLm9wYWNpdHkKKyAgICApOworICB9Cit9KSk7CisKK2Z1bmN0aW9uIHh5ejJs
YWIodCkgeworICByZXR1cm4gdCA+IHQzID8gTWF0aC5wb3codCwgMSAvIDMpIDogdCAvIHQyICsg
dDA7Cit9CisKK2Z1bmN0aW9uIGxhYjJ4eXoodCkgeworICByZXR1cm4gdCA+IHQxID8gdCAqIHQg
KiB0IDogdDIgKiAodCAtIHQwKTsKK30KKworZnVuY3Rpb24gbHJnYjJyZ2IoeCkgeworICByZXR1
cm4gMjU1ICogKHggPD0gMC4wMDMxMzA4ID8gMTIuOTIgKiB4IDogMS4wNTUgKiBNYXRoLnBvdyh4
LCAxIC8gMi40KSAtIDAuMDU1KTsKK30KKworZnVuY3Rpb24gcmdiMmxyZ2IoeCkgeworICByZXR1
cm4gKHggLz0gMjU1KSA8PSAwLjA0MDQ1ID8geCAvIDEyLjkyIDogTWF0aC5wb3coKHggKyAwLjA1
NSkgLyAxLjA1NSwgMi40KTsKK30KKworZnVuY3Rpb24gaGNsQ29udmVydChvKSB7CisgIGlmIChv
IGluc3RhbmNlb2YgSGNsKSByZXR1cm4gbmV3IEhjbChvLmgsIG8uYywgby5sLCBvLm9wYWNpdHkp
OworICBpZiAoIShvIGluc3RhbmNlb2YgTGFiKSkgbyA9IGxhYkNvbnZlcnQobyk7CisgIGlmIChv
LmEgPT09IDAgJiYgby5iID09PSAwKSByZXR1cm4gbmV3IEhjbChOYU4sIDAgPCBvLmwgJiYgby5s
IDwgMTAwID8gMCA6IE5hTiwgby5sLCBvLm9wYWNpdHkpOworICB2YXIgaCA9IE1hdGguYXRhbjIo
by5iLCBvLmEpICogcmFkMmRlZzsKKyAgcmV0dXJuIG5ldyBIY2woaCA8IDAgPyBoICsgMzYwIDog
aCwgTWF0aC5zcXJ0KG8uYSAqIG8uYSArIG8uYiAqIG8uYiksIG8ubCwgby5vcGFjaXR5KTsKK30K
KworZnVuY3Rpb24gbGNoKGwsIGMsIGgsIG9wYWNpdHkpIHsKKyAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPT09IDEgPyBoY2xDb252ZXJ0KGwpIDogbmV3IEhjbChoLCBjLCBsLCBvcGFjaXR5ID09
IG51bGwgPyAxIDogb3BhY2l0eSk7Cit9CisKK2Z1bmN0aW9uIGhjbChoLCBjLCBsLCBvcGFjaXR5
KSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID09PSAxID8gaGNsQ29udmVydChoKSA6IG5l
dyBIY2woaCwgYywgbCwgb3BhY2l0eSA9PSBudWxsID8gMSA6IG9wYWNpdHkpOworfQorCitmdW5j
dGlvbiBIY2woaCwgYywgbCwgb3BhY2l0eSkgeworICB0aGlzLmggPSAraDsKKyAgdGhpcy5jID0g
K2M7CisgIHRoaXMubCA9ICtsOworICB0aGlzLm9wYWNpdHkgPSArb3BhY2l0eTsKK30KKworZnVu
Y3Rpb24gaGNsMmxhYihvKSB7CisgIGlmIChpc05hTihvLmgpKSByZXR1cm4gbmV3IExhYihvLmws
IDAsIDAsIG8ub3BhY2l0eSk7CisgIHZhciBoID0gby5oICogZGVnMnJhZDsKKyAgcmV0dXJuIG5l
dyBMYWIoby5sLCBNYXRoLmNvcyhoKSAqIG8uYywgTWF0aC5zaW4oaCkgKiBvLmMsIG8ub3BhY2l0
eSk7Cit9CisKK2RlZmluZShIY2wsIGhjbCwgZXh0ZW5kKENvbG9yLCB7CisgIGJyaWdodGVyOiBm
dW5jdGlvbihrKSB7CisgICAgcmV0dXJuIG5ldyBIY2wodGhpcy5oLCB0aGlzLmMsIHRoaXMubCAr
IEsgKiAoayA9PSBudWxsID8gMSA6IGspLCB0aGlzLm9wYWNpdHkpOworICB9LAorICBkYXJrZXI6
IGZ1bmN0aW9uKGspIHsKKyAgICByZXR1cm4gbmV3IEhjbCh0aGlzLmgsIHRoaXMuYywgdGhpcy5s
IC0gSyAqIChrID09IG51bGwgPyAxIDogayksIHRoaXMub3BhY2l0eSk7CisgIH0sCisgIHJnYjog
ZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGhjbDJsYWIodGhpcykucmdiKCk7CisgIH0KK30pKTsK
KwordmFyIEEgPSAtMC4xNDg2MSwKKyAgICBCID0gKzEuNzgyNzcsCisgICAgQyA9IC0wLjI5MjI3
LAorICAgIEQgPSAtMC45MDY0OSwKKyAgICBFID0gKzEuOTcyOTQsCisgICAgRUQgPSBFICogRCwK
KyAgICBFQiA9IEUgKiBCLAorICAgIEJDX0RBID0gQiAqIEMgLSBEICogQTsKKworZnVuY3Rpb24g
Y3ViZWhlbGl4Q29udmVydChvKSB7CisgIGlmIChvIGluc3RhbmNlb2YgQ3ViZWhlbGl4KSByZXR1
cm4gbmV3IEN1YmVoZWxpeChvLmgsIG8ucywgby5sLCBvLm9wYWNpdHkpOworICBpZiAoIShvIGlu
c3RhbmNlb2YgUmdiKSkgbyA9IHJnYkNvbnZlcnQobyk7CisgIHZhciByID0gby5yIC8gMjU1LAor
ICAgICAgZyA9IG8uZyAvIDI1NSwKKyAgICAgIGIgPSBvLmIgLyAyNTUsCisgICAgICBsID0gKEJD
X0RBICogYiArIEVEICogciAtIEVCICogZykgLyAoQkNfREEgKyBFRCAtIEVCKSwKKyAgICAgIGJs
ID0gYiAtIGwsCisgICAgICBrID0gKEUgKiAoZyAtIGwpIC0gQyAqIGJsKSAvIEQsCisgICAgICBz
ID0gTWF0aC5zcXJ0KGsgKiBrICsgYmwgKiBibCkgLyAoRSAqIGwgKiAoMSAtIGwpKSwgLy8gTmFO
IGlmIGw9MCBvciBsPTEKKyAgICAgIGggPSBzID8gTWF0aC5hdGFuMihrLCBibCkgKiByYWQyZGVn
IC0gMTIwIDogTmFOOworICByZXR1cm4gbmV3IEN1YmVoZWxpeChoIDwgMCA/IGggKyAzNjAgOiBo
LCBzLCBsLCBvLm9wYWNpdHkpOworfQorCitmdW5jdGlvbiBjdWJlaGVsaXgoaCwgcywgbCwgb3Bh
Y2l0eSkgeworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA9PT0gMSA/IGN1YmVoZWxpeENvbnZl
cnQoaCkgOiBuZXcgQ3ViZWhlbGl4KGgsIHMsIGwsIG9wYWNpdHkgPT0gbnVsbCA/IDEgOiBvcGFj
aXR5KTsKK30KKworZnVuY3Rpb24gQ3ViZWhlbGl4KGgsIHMsIGwsIG9wYWNpdHkpIHsKKyAgdGhp
cy5oID0gK2g7CisgIHRoaXMucyA9ICtzOworICB0aGlzLmwgPSArbDsKKyAgdGhpcy5vcGFjaXR5
ID0gK29wYWNpdHk7Cit9CisKK2RlZmluZShDdWJlaGVsaXgsIGN1YmVoZWxpeCwgZXh0ZW5kKENv
bG9yLCB7CisgIGJyaWdodGVyOiBmdW5jdGlvbihrKSB7CisgICAgayA9IGsgPT0gbnVsbCA/IGJy
aWdodGVyIDogTWF0aC5wb3coYnJpZ2h0ZXIsIGspOworICAgIHJldHVybiBuZXcgQ3ViZWhlbGl4
KHRoaXMuaCwgdGhpcy5zLCB0aGlzLmwgKiBrLCB0aGlzLm9wYWNpdHkpOworICB9LAorICBkYXJr
ZXI6IGZ1bmN0aW9uKGspIHsKKyAgICBrID0gayA9PSBudWxsID8gZGFya2VyIDogTWF0aC5wb3co
ZGFya2VyLCBrKTsKKyAgICByZXR1cm4gbmV3IEN1YmVoZWxpeCh0aGlzLmgsIHRoaXMucywgdGhp
cy5sICogaywgdGhpcy5vcGFjaXR5KTsKKyAgfSwKKyAgcmdiOiBmdW5jdGlvbigpIHsKKyAgICB2
YXIgaCA9IGlzTmFOKHRoaXMuaCkgPyAwIDogKHRoaXMuaCArIDEyMCkgKiBkZWcycmFkLAorICAg
ICAgICBsID0gK3RoaXMubCwKKyAgICAgICAgYSA9IGlzTmFOKHRoaXMucykgPyAwIDogdGhpcy5z
ICogbCAqICgxIC0gbCksCisgICAgICAgIGNvc2ggPSBNYXRoLmNvcyhoKSwKKyAgICAgICAgc2lu
aCA9IE1hdGguc2luKGgpOworICAgIHJldHVybiBuZXcgUmdiKAorICAgICAgMjU1ICogKGwgKyBh
ICogKEEgKiBjb3NoICsgQiAqIHNpbmgpKSwKKyAgICAgIDI1NSAqIChsICsgYSAqIChDICogY29z
aCArIEQgKiBzaW5oKSksCisgICAgICAyNTUgKiAobCArIGEgKiAoRSAqIGNvc2gpKSwKKyAgICAg
IHRoaXMub3BhY2l0eQorICAgICk7CisgIH0KK30pKTsKKworZnVuY3Rpb24gYmFzaXModDEsIHYw
LCB2MSwgdjIsIHYzKSB7CisgIHZhciB0MiA9IHQxICogdDEsIHQzID0gdDIgKiB0MTsKKyAgcmV0
dXJuICgoMSAtIDMgKiB0MSArIDMgKiB0MiAtIHQzKSAqIHYwCisgICAgICArICg0IC0gNiAqIHQy
ICsgMyAqIHQzKSAqIHYxCisgICAgICArICgxICsgMyAqIHQxICsgMyAqIHQyIC0gMyAqIHQzKSAq
IHYyCisgICAgICArIHQzICogdjMpIC8gNjsKK30KKworZnVuY3Rpb24gYmFzaXMkMSh2YWx1ZXMp
IHsKKyAgdmFyIG4gPSB2YWx1ZXMubGVuZ3RoIC0gMTsKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsK
KyAgICB2YXIgaSA9IHQgPD0gMCA/ICh0ID0gMCkgOiB0ID49IDEgPyAodCA9IDEsIG4gLSAxKSA6
IE1hdGguZmxvb3IodCAqIG4pLAorICAgICAgICB2MSA9IHZhbHVlc1tpXSwKKyAgICAgICAgdjIg
PSB2YWx1ZXNbaSArIDFdLAorICAgICAgICB2MCA9IGkgPiAwID8gdmFsdWVzW2kgLSAxXSA6IDIg
KiB2MSAtIHYyLAorICAgICAgICB2MyA9IGkgPCBuIC0gMSA/IHZhbHVlc1tpICsgMl0gOiAyICog
djIgLSB2MTsKKyAgICByZXR1cm4gYmFzaXMoKHQgLSBpIC8gbikgKiBuLCB2MCwgdjEsIHYyLCB2
Myk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGJhc2lzQ2xvc2VkKHZhbHVlcykgeworICB2YXIgbiA9
IHZhbHVlcy5sZW5ndGg7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgdmFyIGkgPSBNYXRo
LmZsb29yKCgodCAlPSAxKSA8IDAgPyArK3QgOiB0KSAqIG4pLAorICAgICAgICB2MCA9IHZhbHVl
c1soaSArIG4gLSAxKSAlIG5dLAorICAgICAgICB2MSA9IHZhbHVlc1tpICUgbl0sCisgICAgICAg
IHYyID0gdmFsdWVzWyhpICsgMSkgJSBuXSwKKyAgICAgICAgdjMgPSB2YWx1ZXNbKGkgKyAyKSAl
IG5dOworICAgIHJldHVybiBiYXNpcygodCAtIGkgLyBuKSAqIG4sIHYwLCB2MSwgdjIsIHYzKTsK
KyAgfTsKK30KKworZnVuY3Rpb24gY29uc3RhbnQkMyh4KSB7CisgIHJldHVybiBmdW5jdGlvbigp
IHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKworZnVuY3Rpb24gbGluZWFyKGEsIGQpIHsKKyAg
cmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICByZXR1cm4gYSArIHQgKiBkOworICB9OworfQorCitm
dW5jdGlvbiBleHBvbmVudGlhbChhLCBiLCB5KSB7CisgIHJldHVybiBhID0gTWF0aC5wb3coYSwg
eSksIGIgPSBNYXRoLnBvdyhiLCB5KSAtIGEsIHkgPSAxIC8geSwgZnVuY3Rpb24odCkgeworICAg
IHJldHVybiBNYXRoLnBvdyhhICsgdCAqIGIsIHkpOworICB9OworfQorCitmdW5jdGlvbiBodWUo
YSwgYikgeworICB2YXIgZCA9IGIgLSBhOworICByZXR1cm4gZCA/IGxpbmVhcihhLCBkID4gMTgw
IHx8IGQgPCAtMTgwID8gZCAtIDM2MCAqIE1hdGgucm91bmQoZCAvIDM2MCkgOiBkKSA6IGNvbnN0
YW50JDMoaXNOYU4oYSkgPyBiIDogYSk7Cit9CisKK2Z1bmN0aW9uIGdhbW1hKHkpIHsKKyAgcmV0
dXJuICh5ID0gK3kpID09PSAxID8gbm9nYW1tYSA6IGZ1bmN0aW9uKGEsIGIpIHsKKyAgICByZXR1
cm4gYiAtIGEgPyBleHBvbmVudGlhbChhLCBiLCB5KSA6IGNvbnN0YW50JDMoaXNOYU4oYSkgPyBi
IDogYSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIG5vZ2FtbWEoYSwgYikgeworICB2YXIgZCA9IGIg
LSBhOworICByZXR1cm4gZCA/IGxpbmVhcihhLCBkKSA6IGNvbnN0YW50JDMoaXNOYU4oYSkgPyBi
IDogYSk7Cit9CisKK3ZhciBpbnRlcnBvbGF0ZVJnYiA9IChmdW5jdGlvbiByZ2JHYW1tYSh5KSB7
CisgIHZhciBjb2xvciA9IGdhbW1hKHkpOworCisgIGZ1bmN0aW9uIHJnYiQxKHN0YXJ0LCBlbmQp
IHsKKyAgICB2YXIgciA9IGNvbG9yKChzdGFydCA9IHJnYihzdGFydCkpLnIsIChlbmQgPSByZ2Io
ZW5kKSkuciksCisgICAgICAgIGcgPSBjb2xvcihzdGFydC5nLCBlbmQuZyksCisgICAgICAgIGIg
PSBjb2xvcihzdGFydC5iLCBlbmQuYiksCisgICAgICAgIG9wYWNpdHkgPSBub2dhbW1hKHN0YXJ0
Lm9wYWNpdHksIGVuZC5vcGFjaXR5KTsKKyAgICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgICAg
c3RhcnQuciA9IHIodCk7CisgICAgICBzdGFydC5nID0gZyh0KTsKKyAgICAgIHN0YXJ0LmIgPSBi
KHQpOworICAgICAgc3RhcnQub3BhY2l0eSA9IG9wYWNpdHkodCk7CisgICAgICByZXR1cm4gc3Rh
cnQgKyAiIjsKKyAgICB9OworICB9CisKKyAgcmdiJDEuZ2FtbWEgPSByZ2JHYW1tYTsKKworICBy
ZXR1cm4gcmdiJDE7Cit9KSgxKTsKKworZnVuY3Rpb24gcmdiU3BsaW5lKHNwbGluZSkgeworICBy
ZXR1cm4gZnVuY3Rpb24oY29sb3JzKSB7CisgICAgdmFyIG4gPSBjb2xvcnMubGVuZ3RoLAorICAg
ICAgICByID0gbmV3IEFycmF5KG4pLAorICAgICAgICBnID0gbmV3IEFycmF5KG4pLAorICAgICAg
ICBiID0gbmV3IEFycmF5KG4pLAorICAgICAgICBpLCBjb2xvcjsKKyAgICBmb3IgKGkgPSAwOyBp
IDwgbjsgKytpKSB7CisgICAgICBjb2xvciA9IHJnYihjb2xvcnNbaV0pOworICAgICAgcltpXSA9
IGNvbG9yLnIgfHwgMDsKKyAgICAgIGdbaV0gPSBjb2xvci5nIHx8IDA7CisgICAgICBiW2ldID0g
Y29sb3IuYiB8fCAwOworICAgIH0KKyAgICByID0gc3BsaW5lKHIpOworICAgIGcgPSBzcGxpbmUo
Zyk7CisgICAgYiA9IHNwbGluZShiKTsKKyAgICBjb2xvci5vcGFjaXR5ID0gMTsKKyAgICByZXR1
cm4gZnVuY3Rpb24odCkgeworICAgICAgY29sb3IuciA9IHIodCk7CisgICAgICBjb2xvci5nID0g
Zyh0KTsKKyAgICAgIGNvbG9yLmIgPSBiKHQpOworICAgICAgcmV0dXJuIGNvbG9yICsgIiI7Cisg
ICAgfTsKKyAgfTsKK30KKwordmFyIHJnYkJhc2lzID0gcmdiU3BsaW5lKGJhc2lzJDEpOwordmFy
IHJnYkJhc2lzQ2xvc2VkID0gcmdiU3BsaW5lKGJhc2lzQ2xvc2VkKTsKKworZnVuY3Rpb24gYXJy
YXkkMShhLCBiKSB7CisgIHZhciBuYiA9IGIgPyBiLmxlbmd0aCA6IDAsCisgICAgICBuYSA9IGEg
PyBNYXRoLm1pbihuYiwgYS5sZW5ndGgpIDogMCwKKyAgICAgIHggPSBuZXcgQXJyYXkobmEpLAor
ICAgICAgYyA9IG5ldyBBcnJheShuYiksCisgICAgICBpOworCisgIGZvciAoaSA9IDA7IGkgPCBu
YTsgKytpKSB4W2ldID0gaW50ZXJwb2xhdGVWYWx1ZShhW2ldLCBiW2ldKTsKKyAgZm9yICg7IGkg
PCBuYjsgKytpKSBjW2ldID0gYltpXTsKKworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIGZv
ciAoaSA9IDA7IGkgPCBuYTsgKytpKSBjW2ldID0geFtpXSh0KTsKKyAgICByZXR1cm4gYzsKKyAg
fTsKK30KKworZnVuY3Rpb24gZGF0ZShhLCBiKSB7CisgIHZhciBkID0gbmV3IERhdGU7CisgIHJl
dHVybiBhID0gK2EsIGIgLT0gYSwgZnVuY3Rpb24odCkgeworICAgIHJldHVybiBkLnNldFRpbWUo
YSArIGIgKiB0KSwgZDsKKyAgfTsKK30KKworZnVuY3Rpb24gaW50ZXJwb2xhdGVOdW1iZXIoYSwg
YikgeworICByZXR1cm4gYSA9ICthLCBiIC09IGEsIGZ1bmN0aW9uKHQpIHsKKyAgICByZXR1cm4g
YSArIGIgKiB0OworICB9OworfQorCitmdW5jdGlvbiBvYmplY3QoYSwgYikgeworICB2YXIgaSA9
IHt9LAorICAgICAgYyA9IHt9LAorICAgICAgazsKKworICBpZiAoYSA9PT0gbnVsbCB8fCB0eXBl
b2YgYSAhPT0gIm9iamVjdCIpIGEgPSB7fTsKKyAgaWYgKGIgPT09IG51bGwgfHwgdHlwZW9mIGIg
IT09ICJvYmplY3QiKSBiID0ge307CisKKyAgZm9yIChrIGluIGIpIHsKKyAgICBpZiAoayBpbiBh
KSB7CisgICAgICBpW2tdID0gaW50ZXJwb2xhdGVWYWx1ZShhW2tdLCBiW2tdKTsKKyAgICB9IGVs
c2UgeworICAgICAgY1trXSA9IGJba107CisgICAgfQorICB9CisKKyAgcmV0dXJuIGZ1bmN0aW9u
KHQpIHsKKyAgICBmb3IgKGsgaW4gaSkgY1trXSA9IGlba10odCk7CisgICAgcmV0dXJuIGM7Cisg
IH07Cit9CisKK3ZhciByZUEgPSAvWy0rXT8oPzpcZCtcLj9cZCp8XC4/XGQrKSg/OltlRV1bLStd
P1xkKyk/L2csCisgICAgcmVCID0gbmV3IFJlZ0V4cChyZUEuc291cmNlLCAiZyIpOworCitmdW5j
dGlvbiB6ZXJvKGIpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBiOworICB9
OworfQorCitmdW5jdGlvbiBvbmUoYikgeworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHJl
dHVybiBiKHQpICsgIiI7CisgIH07Cit9CisKK2Z1bmN0aW9uIGludGVycG9sYXRlU3RyaW5nKGEs
IGIpIHsKKyAgdmFyIGJpID0gcmVBLmxhc3RJbmRleCA9IHJlQi5sYXN0SW5kZXggPSAwLCAvLyBz
Y2FuIGluZGV4IGZvciBuZXh0IG51bWJlciBpbiBiCisgICAgICBhbSwgLy8gY3VycmVudCBtYXRj
aCBpbiBhCisgICAgICBibSwgLy8gY3VycmVudCBtYXRjaCBpbiBiCisgICAgICBicywgLy8gc3Ry
aW5nIHByZWNlZGluZyBjdXJyZW50IG51bWJlciBpbiBiLCBpZiBhbnkKKyAgICAgIGkgPSAtMSwg
Ly8gaW5kZXggaW4gcworICAgICAgcyA9IFtdLCAvLyBzdHJpbmcgY29uc3RhbnRzIGFuZCBwbGFj
ZWhvbGRlcnMKKyAgICAgIHEgPSBbXTsgLy8gbnVtYmVyIGludGVycG9sYXRvcnMKKworICAvLyBD
b2VyY2UgaW5wdXRzIHRvIHN0cmluZ3MuCisgIGEgPSBhICsgIiIsIGIgPSBiICsgIiI7CisKKyAg
Ly8gSW50ZXJwb2xhdGUgcGFpcnMgb2YgbnVtYmVycyBpbiBhICYgYi4KKyAgd2hpbGUgKChhbSA9
IHJlQS5leGVjKGEpKQorICAgICAgJiYgKGJtID0gcmVCLmV4ZWMoYikpKSB7CisgICAgaWYgKChi
cyA9IGJtLmluZGV4KSA+IGJpKSB7IC8vIGEgc3RyaW5nIHByZWNlZGVzIHRoZSBuZXh0IG51bWJl
ciBpbiBiCisgICAgICBicyA9IGIuc2xpY2UoYmksIGJzKTsKKyAgICAgIGlmIChzW2ldKSBzW2ld
ICs9IGJzOyAvLyBjb2FsZXNjZSB3aXRoIHByZXZpb3VzIHN0cmluZworICAgICAgZWxzZSBzWysr
aV0gPSBiczsKKyAgICB9CisgICAgaWYgKChhbSA9IGFtWzBdKSA9PT0gKGJtID0gYm1bMF0pKSB7
IC8vIG51bWJlcnMgaW4gYSAmIGIgbWF0Y2gKKyAgICAgIGlmIChzW2ldKSBzW2ldICs9IGJtOyAv
LyBjb2FsZXNjZSB3aXRoIHByZXZpb3VzIHN0cmluZworICAgICAgZWxzZSBzWysraV0gPSBibTsK
KyAgICB9IGVsc2UgeyAvLyBpbnRlcnBvbGF0ZSBub24tbWF0Y2hpbmcgbnVtYmVycworICAgICAg
c1srK2ldID0gbnVsbDsKKyAgICAgIHEucHVzaCh7aTogaSwgeDogaW50ZXJwb2xhdGVOdW1iZXIo
YW0sIGJtKX0pOworICAgIH0KKyAgICBiaSA9IHJlQi5sYXN0SW5kZXg7CisgIH0KKworICAvLyBB
ZGQgcmVtYWlucyBvZiBiLgorICBpZiAoYmkgPCBiLmxlbmd0aCkgeworICAgIGJzID0gYi5zbGlj
ZShiaSk7CisgICAgaWYgKHNbaV0pIHNbaV0gKz0gYnM7IC8vIGNvYWxlc2NlIHdpdGggcHJldmlv
dXMgc3RyaW5nCisgICAgZWxzZSBzWysraV0gPSBiczsKKyAgfQorCisgIC8vIFNwZWNpYWwgb3B0
aW1pemF0aW9uIGZvciBvbmx5IGEgc2luZ2xlIG1hdGNoLgorICAvLyBPdGhlcndpc2UsIGludGVy
cG9sYXRlIGVhY2ggb2YgdGhlIG51bWJlcnMgYW5kIHJlam9pbiB0aGUgc3RyaW5nLgorICByZXR1
cm4gcy5sZW5ndGggPCAyID8gKHFbMF0KKyAgICAgID8gb25lKHFbMF0ueCkKKyAgICAgIDogemVy
byhiKSkKKyAgICAgIDogKGIgPSBxLmxlbmd0aCwgZnVuY3Rpb24odCkgeworICAgICAgICAgIGZv
ciAodmFyIGkgPSAwLCBvOyBpIDwgYjsgKytpKSBzWyhvID0gcVtpXSkuaV0gPSBvLngodCk7Cisg
ICAgICAgICAgcmV0dXJuIHMuam9pbigiIik7CisgICAgICAgIH0pOworfQorCitmdW5jdGlvbiBp
bnRlcnBvbGF0ZVZhbHVlKGEsIGIpIHsKKyAgdmFyIHQgPSB0eXBlb2YgYiwgYzsKKyAgcmV0dXJu
IGIgPT0gbnVsbCB8fCB0ID09PSAiYm9vbGVhbiIgPyBjb25zdGFudCQzKGIpCisgICAgICA6ICh0
ID09PSAibnVtYmVyIiA/IGludGVycG9sYXRlTnVtYmVyCisgICAgICA6IHQgPT09ICJzdHJpbmci
ID8gKChjID0gY29sb3IoYikpID8gKGIgPSBjLCBpbnRlcnBvbGF0ZVJnYikgOiBpbnRlcnBvbGF0
ZVN0cmluZykKKyAgICAgIDogYiBpbnN0YW5jZW9mIGNvbG9yID8gaW50ZXJwb2xhdGVSZ2IKKyAg
ICAgIDogYiBpbnN0YW5jZW9mIERhdGUgPyBkYXRlCisgICAgICA6IEFycmF5LmlzQXJyYXkoYikg
PyBhcnJheSQxCisgICAgICA6IHR5cGVvZiBiLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIgJiYgdHlw
ZW9mIGIudG9TdHJpbmcgIT09ICJmdW5jdGlvbiIgfHwgaXNOYU4oYikgPyBvYmplY3QKKyAgICAg
IDogaW50ZXJwb2xhdGVOdW1iZXIpKGEsIGIpOworfQorCitmdW5jdGlvbiBkaXNjcmV0ZShyYW5n
ZSkgeworICB2YXIgbiA9IHJhbmdlLmxlbmd0aDsKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAg
ICByZXR1cm4gcmFuZ2VbTWF0aC5tYXgoMCwgTWF0aC5taW4obiAtIDEsIE1hdGguZmxvb3IodCAq
IG4pKSldOworICB9OworfQorCitmdW5jdGlvbiBodWUkMShhLCBiKSB7CisgIHZhciBpID0gaHVl
KCthLCArYik7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgdmFyIHggPSBpKHQpOworICAg
IHJldHVybiB4IC0gMzYwICogTWF0aC5mbG9vcih4IC8gMzYwKTsKKyAgfTsKK30KKworZnVuY3Rp
b24gaW50ZXJwb2xhdGVSb3VuZChhLCBiKSB7CisgIHJldHVybiBhID0gK2EsIGIgLT0gYSwgZnVu
Y3Rpb24odCkgeworICAgIHJldHVybiBNYXRoLnJvdW5kKGEgKyBiICogdCk7CisgIH07Cit9CisK
K3ZhciBkZWdyZWVzID0gMTgwIC8gTWF0aC5QSTsKKwordmFyIGlkZW50aXR5JDIgPSB7CisgIHRy
YW5zbGF0ZVg6IDAsCisgIHRyYW5zbGF0ZVk6IDAsCisgIHJvdGF0ZTogMCwKKyAgc2tld1g6IDAs
CisgIHNjYWxlWDogMSwKKyAgc2NhbGVZOiAxCit9OworCitmdW5jdGlvbiBkZWNvbXBvc2UoYSwg
YiwgYywgZCwgZSwgZikgeworICB2YXIgc2NhbGVYLCBzY2FsZVksIHNrZXdYOworICBpZiAoc2Nh
bGVYID0gTWF0aC5zcXJ0KGEgKiBhICsgYiAqIGIpKSBhIC89IHNjYWxlWCwgYiAvPSBzY2FsZVg7
CisgIGlmIChza2V3WCA9IGEgKiBjICsgYiAqIGQpIGMgLT0gYSAqIHNrZXdYLCBkIC09IGIgKiBz
a2V3WDsKKyAgaWYgKHNjYWxlWSA9IE1hdGguc3FydChjICogYyArIGQgKiBkKSkgYyAvPSBzY2Fs
ZVksIGQgLz0gc2NhbGVZLCBza2V3WCAvPSBzY2FsZVk7CisgIGlmIChhICogZCA8IGIgKiBjKSBh
ID0gLWEsIGIgPSAtYiwgc2tld1ggPSAtc2tld1gsIHNjYWxlWCA9IC1zY2FsZVg7CisgIHJldHVy
biB7CisgICAgdHJhbnNsYXRlWDogZSwKKyAgICB0cmFuc2xhdGVZOiBmLAorICAgIHJvdGF0ZTog
TWF0aC5hdGFuMihiLCBhKSAqIGRlZ3JlZXMsCisgICAgc2tld1g6IE1hdGguYXRhbihza2V3WCkg
KiBkZWdyZWVzLAorICAgIHNjYWxlWDogc2NhbGVYLAorICAgIHNjYWxlWTogc2NhbGVZCisgIH07
Cit9CisKK3ZhciBjc3NOb2RlLAorICAgIGNzc1Jvb3QsCisgICAgY3NzVmlldywKKyAgICBzdmdO
b2RlOworCitmdW5jdGlvbiBwYXJzZUNzcyh2YWx1ZSkgeworICBpZiAodmFsdWUgPT09ICJub25l
IikgcmV0dXJuIGlkZW50aXR5JDI7CisgIGlmICghY3NzTm9kZSkgY3NzTm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoIkRJViIpLCBjc3NSb290ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50
LCBjc3NWaWV3ID0gZG9jdW1lbnQuZGVmYXVsdFZpZXc7CisgIGNzc05vZGUuc3R5bGUudHJhbnNm
b3JtID0gdmFsdWU7CisgIHZhbHVlID0gY3NzVmlldy5nZXRDb21wdXRlZFN0eWxlKGNzc1Jvb3Qu
YXBwZW5kQ2hpbGQoY3NzTm9kZSksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoInRyYW5zZm9ybSIp
OworICBjc3NSb290LnJlbW92ZUNoaWxkKGNzc05vZGUpOworICB2YWx1ZSA9IHZhbHVlLnNsaWNl
KDcsIC0xKS5zcGxpdCgiLCIpOworICByZXR1cm4gZGVjb21wb3NlKCt2YWx1ZVswXSwgK3ZhbHVl
WzFdLCArdmFsdWVbMl0sICt2YWx1ZVszXSwgK3ZhbHVlWzRdLCArdmFsdWVbNV0pOworfQorCitm
dW5jdGlvbiBwYXJzZVN2Zyh2YWx1ZSkgeworICBpZiAodmFsdWUgPT0gbnVsbCkgcmV0dXJuIGlk
ZW50aXR5JDI7CisgIGlmICghc3ZnTm9kZSkgc3ZnTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAiZyIpOworICBzdmdOb2RlLnNldEF0
dHJpYnV0ZSgidHJhbnNmb3JtIiwgdmFsdWUpOworICBpZiAoISh2YWx1ZSA9IHN2Z05vZGUudHJh
bnNmb3JtLmJhc2VWYWwuY29uc29saWRhdGUoKSkpIHJldHVybiBpZGVudGl0eSQyOworICB2YWx1
ZSA9IHZhbHVlLm1hdHJpeDsKKyAgcmV0dXJuIGRlY29tcG9zZSh2YWx1ZS5hLCB2YWx1ZS5iLCB2
YWx1ZS5jLCB2YWx1ZS5kLCB2YWx1ZS5lLCB2YWx1ZS5mKTsKK30KKworZnVuY3Rpb24gaW50ZXJw
b2xhdGVUcmFuc2Zvcm0ocGFyc2UsIHB4Q29tbWEsIHB4UGFyZW4sIGRlZ1BhcmVuKSB7CisKKyAg
ZnVuY3Rpb24gcG9wKHMpIHsKKyAgICByZXR1cm4gcy5sZW5ndGggPyBzLnBvcCgpICsgIiAiIDog
IiI7CisgIH0KKworICBmdW5jdGlvbiB0cmFuc2xhdGUoeGEsIHlhLCB4YiwgeWIsIHMsIHEpIHsK
KyAgICBpZiAoeGEgIT09IHhiIHx8IHlhICE9PSB5YikgeworICAgICAgdmFyIGkgPSBzLnB1c2go
InRyYW5zbGF0ZSgiLCBudWxsLCBweENvbW1hLCBudWxsLCBweFBhcmVuKTsKKyAgICAgIHEucHVz
aCh7aTogaSAtIDQsIHg6IGludGVycG9sYXRlTnVtYmVyKHhhLCB4Yil9LCB7aTogaSAtIDIsIHg6
IGludGVycG9sYXRlTnVtYmVyKHlhLCB5Yil9KTsKKyAgICB9IGVsc2UgaWYgKHhiIHx8IHliKSB7
CisgICAgICBzLnB1c2goInRyYW5zbGF0ZSgiICsgeGIgKyBweENvbW1hICsgeWIgKyBweFBhcmVu
KTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiByb3RhdGUoYSwgYiwgcywgcSkgeworICAgIGlm
IChhICE9PSBiKSB7CisgICAgICBpZiAoYSAtIGIgPiAxODApIGIgKz0gMzYwOyBlbHNlIGlmIChi
IC0gYSA+IDE4MCkgYSArPSAzNjA7IC8vIHNob3J0ZXN0IHBhdGgKKyAgICAgIHEucHVzaCh7aTog
cy5wdXNoKHBvcChzKSArICJyb3RhdGUoIiwgbnVsbCwgZGVnUGFyZW4pIC0gMiwgeDogaW50ZXJw
b2xhdGVOdW1iZXIoYSwgYil9KTsKKyAgICB9IGVsc2UgaWYgKGIpIHsKKyAgICAgIHMucHVzaChw
b3AocykgKyAicm90YXRlKCIgKyBiICsgZGVnUGFyZW4pOworICAgIH0KKyAgfQorCisgIGZ1bmN0
aW9uIHNrZXdYKGEsIGIsIHMsIHEpIHsKKyAgICBpZiAoYSAhPT0gYikgeworICAgICAgcS5wdXNo
KHtpOiBzLnB1c2gocG9wKHMpICsgInNrZXdYKCIsIG51bGwsIGRlZ1BhcmVuKSAtIDIsIHg6IGlu
dGVycG9sYXRlTnVtYmVyKGEsIGIpfSk7CisgICAgfSBlbHNlIGlmIChiKSB7CisgICAgICBzLnB1
c2gocG9wKHMpICsgInNrZXdYKCIgKyBiICsgZGVnUGFyZW4pOworICAgIH0KKyAgfQorCisgIGZ1
bmN0aW9uIHNjYWxlKHhhLCB5YSwgeGIsIHliLCBzLCBxKSB7CisgICAgaWYgKHhhICE9PSB4YiB8
fCB5YSAhPT0geWIpIHsKKyAgICAgIHZhciBpID0gcy5wdXNoKHBvcChzKSArICJzY2FsZSgiLCBu
dWxsLCAiLCIsIG51bGwsICIpIik7CisgICAgICBxLnB1c2goe2k6IGkgLSA0LCB4OiBpbnRlcnBv
bGF0ZU51bWJlcih4YSwgeGIpfSwge2k6IGkgLSAyLCB4OiBpbnRlcnBvbGF0ZU51bWJlcih5YSwg
eWIpfSk7CisgICAgfSBlbHNlIGlmICh4YiAhPT0gMSB8fCB5YiAhPT0gMSkgeworICAgICAgcy5w
dXNoKHBvcChzKSArICJzY2FsZSgiICsgeGIgKyAiLCIgKyB5YiArICIpIik7CisgICAgfQorICB9
CisKKyAgcmV0dXJuIGZ1bmN0aW9uKGEsIGIpIHsKKyAgICB2YXIgcyA9IFtdLCAvLyBzdHJpbmcg
Y29uc3RhbnRzIGFuZCBwbGFjZWhvbGRlcnMKKyAgICAgICAgcSA9IFtdOyAvLyBudW1iZXIgaW50
ZXJwb2xhdG9ycworICAgIGEgPSBwYXJzZShhKSwgYiA9IHBhcnNlKGIpOworICAgIHRyYW5zbGF0
ZShhLnRyYW5zbGF0ZVgsIGEudHJhbnNsYXRlWSwgYi50cmFuc2xhdGVYLCBiLnRyYW5zbGF0ZVks
IHMsIHEpOworICAgIHJvdGF0ZShhLnJvdGF0ZSwgYi5yb3RhdGUsIHMsIHEpOworICAgIHNrZXdY
KGEuc2tld1gsIGIuc2tld1gsIHMsIHEpOworICAgIHNjYWxlKGEuc2NhbGVYLCBhLnNjYWxlWSwg
Yi5zY2FsZVgsIGIuc2NhbGVZLCBzLCBxKTsKKyAgICBhID0gYiA9IG51bGw7IC8vIGdjCisgICAg
cmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpID0gLTEsIG4gPSBxLmxlbmd0aCwgbzsK
KyAgICAgIHdoaWxlICgrK2kgPCBuKSBzWyhvID0gcVtpXSkuaV0gPSBvLngodCk7CisgICAgICBy
ZXR1cm4gcy5qb2luKCIiKTsKKyAgICB9OworICB9OworfQorCit2YXIgaW50ZXJwb2xhdGVUcmFu
c2Zvcm1Dc3MgPSBpbnRlcnBvbGF0ZVRyYW5zZm9ybShwYXJzZUNzcywgInB4LCAiLCAicHgpIiwg
ImRlZykiKTsKK3ZhciBpbnRlcnBvbGF0ZVRyYW5zZm9ybVN2ZyA9IGludGVycG9sYXRlVHJhbnNm
b3JtKHBhcnNlU3ZnLCAiLCAiLCAiKSIsICIpIik7CisKK3ZhciByaG8gPSBNYXRoLlNRUlQyLAor
ICAgIHJobzIgPSAyLAorICAgIHJobzQgPSA0LAorICAgIGVwc2lsb24yID0gMWUtMTI7CisKK2Z1
bmN0aW9uIGNvc2goeCkgeworICByZXR1cm4gKCh4ID0gTWF0aC5leHAoeCkpICsgMSAvIHgpIC8g
MjsKK30KKworZnVuY3Rpb24gc2luaCh4KSB7CisgIHJldHVybiAoKHggPSBNYXRoLmV4cCh4KSkg
LSAxIC8geCkgLyAyOworfQorCitmdW5jdGlvbiB0YW5oKHgpIHsKKyAgcmV0dXJuICgoeCA9IE1h
dGguZXhwKDIgKiB4KSkgLSAxKSAvICh4ICsgMSk7Cit9CisKKy8vIHAwID0gW3V4MCwgdXkwLCB3
MF0KKy8vIHAxID0gW3V4MSwgdXkxLCB3MV0KK2Z1bmN0aW9uIGludGVycG9sYXRlWm9vbShwMCwg
cDEpIHsKKyAgdmFyIHV4MCA9IHAwWzBdLCB1eTAgPSBwMFsxXSwgdzAgPSBwMFsyXSwKKyAgICAg
IHV4MSA9IHAxWzBdLCB1eTEgPSBwMVsxXSwgdzEgPSBwMVsyXSwKKyAgICAgIGR4ID0gdXgxIC0g
dXgwLAorICAgICAgZHkgPSB1eTEgLSB1eTAsCisgICAgICBkMiA9IGR4ICogZHggKyBkeSAqIGR5
LAorICAgICAgaSwKKyAgICAgIFM7CisKKyAgLy8gU3BlY2lhbCBjYXNlIGZvciB1MCDiiYUgdTEu
CisgIGlmIChkMiA8IGVwc2lsb24yKSB7CisgICAgUyA9IE1hdGgubG9nKHcxIC8gdzApIC8gcmhv
OworICAgIGkgPSBmdW5jdGlvbih0KSB7CisgICAgICByZXR1cm4gWworICAgICAgICB1eDAgKyB0
ICogZHgsCisgICAgICAgIHV5MCArIHQgKiBkeSwKKyAgICAgICAgdzAgKiBNYXRoLmV4cChyaG8g
KiB0ICogUykKKyAgICAgIF07CisgICAgfTsKKyAgfQorCisgIC8vIEdlbmVyYWwgY2FzZS4KKyAg
ZWxzZSB7CisgICAgdmFyIGQxID0gTWF0aC5zcXJ0KGQyKSwKKyAgICAgICAgYjAgPSAodzEgKiB3
MSAtIHcwICogdzAgKyByaG80ICogZDIpIC8gKDIgKiB3MCAqIHJobzIgKiBkMSksCisgICAgICAg
IGIxID0gKHcxICogdzEgLSB3MCAqIHcwIC0gcmhvNCAqIGQyKSAvICgyICogdzEgKiByaG8yICog
ZDEpLAorICAgICAgICByMCA9IE1hdGgubG9nKE1hdGguc3FydChiMCAqIGIwICsgMSkgLSBiMCks
CisgICAgICAgIHIxID0gTWF0aC5sb2coTWF0aC5zcXJ0KGIxICogYjEgKyAxKSAtIGIxKTsKKyAg
ICBTID0gKHIxIC0gcjApIC8gcmhvOworICAgIGkgPSBmdW5jdGlvbih0KSB7CisgICAgICB2YXIg
cyA9IHQgKiBTLAorICAgICAgICAgIGNvc2hyMCA9IGNvc2gocjApLAorICAgICAgICAgIHUgPSB3
MCAvIChyaG8yICogZDEpICogKGNvc2hyMCAqIHRhbmgocmhvICogcyArIHIwKSAtIHNpbmgocjAp
KTsKKyAgICAgIHJldHVybiBbCisgICAgICAgIHV4MCArIHUgKiBkeCwKKyAgICAgICAgdXkwICsg
dSAqIGR5LAorICAgICAgICB3MCAqIGNvc2hyMCAvIGNvc2gocmhvICogcyArIHIwKQorICAgICAg
XTsKKyAgICB9OworICB9CisKKyAgaS5kdXJhdGlvbiA9IFMgKiAxMDAwOworCisgIHJldHVybiBp
OworfQorCitmdW5jdGlvbiBoc2wkMShodWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHN0YXJ0LCBl
bmQpIHsKKyAgICB2YXIgaCA9IGh1ZSgoc3RhcnQgPSBoc2woc3RhcnQpKS5oLCAoZW5kID0gaHNs
KGVuZCkpLmgpLAorICAgICAgICBzID0gbm9nYW1tYShzdGFydC5zLCBlbmQucyksCisgICAgICAg
IGwgPSBub2dhbW1hKHN0YXJ0LmwsIGVuZC5sKSwKKyAgICAgICAgb3BhY2l0eSA9IG5vZ2FtbWEo
c3RhcnQub3BhY2l0eSwgZW5kLm9wYWNpdHkpOworICAgIHJldHVybiBmdW5jdGlvbih0KSB7Cisg
ICAgICBzdGFydC5oID0gaCh0KTsKKyAgICAgIHN0YXJ0LnMgPSBzKHQpOworICAgICAgc3RhcnQu
bCA9IGwodCk7CisgICAgICBzdGFydC5vcGFjaXR5ID0gb3BhY2l0eSh0KTsKKyAgICAgIHJldHVy
biBzdGFydCArICIiOworICAgIH07CisgIH0KK30KKwordmFyIGhzbCQyID0gaHNsJDEoaHVlKTsK
K3ZhciBoc2xMb25nID0gaHNsJDEobm9nYW1tYSk7CisKK2Z1bmN0aW9uIGxhYiQxKHN0YXJ0LCBl
bmQpIHsKKyAgdmFyIGwgPSBub2dhbW1hKChzdGFydCA9IGxhYihzdGFydCkpLmwsIChlbmQgPSBs
YWIoZW5kKSkubCksCisgICAgICBhID0gbm9nYW1tYShzdGFydC5hLCBlbmQuYSksCisgICAgICBi
ID0gbm9nYW1tYShzdGFydC5iLCBlbmQuYiksCisgICAgICBvcGFjaXR5ID0gbm9nYW1tYShzdGFy
dC5vcGFjaXR5LCBlbmQub3BhY2l0eSk7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgc3Rh
cnQubCA9IGwodCk7CisgICAgc3RhcnQuYSA9IGEodCk7CisgICAgc3RhcnQuYiA9IGIodCk7Cisg
ICAgc3RhcnQub3BhY2l0eSA9IG9wYWNpdHkodCk7CisgICAgcmV0dXJuIHN0YXJ0ICsgIiI7Cisg
IH07Cit9CisKK2Z1bmN0aW9uIGhjbCQxKGh1ZSkgeworICByZXR1cm4gZnVuY3Rpb24oc3RhcnQs
IGVuZCkgeworICAgIHZhciBoID0gaHVlKChzdGFydCA9IGhjbChzdGFydCkpLmgsIChlbmQgPSBo
Y2woZW5kKSkuaCksCisgICAgICAgIGMgPSBub2dhbW1hKHN0YXJ0LmMsIGVuZC5jKSwKKyAgICAg
ICAgbCA9IG5vZ2FtbWEoc3RhcnQubCwgZW5kLmwpLAorICAgICAgICBvcGFjaXR5ID0gbm9nYW1t
YShzdGFydC5vcGFjaXR5LCBlbmQub3BhY2l0eSk7CisgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsK
KyAgICAgIHN0YXJ0LmggPSBoKHQpOworICAgICAgc3RhcnQuYyA9IGModCk7CisgICAgICBzdGFy
dC5sID0gbCh0KTsKKyAgICAgIHN0YXJ0Lm9wYWNpdHkgPSBvcGFjaXR5KHQpOworICAgICAgcmV0
dXJuIHN0YXJ0ICsgIiI7CisgICAgfTsKKyAgfQorfQorCit2YXIgaGNsJDIgPSBoY2wkMShodWUp
OwordmFyIGhjbExvbmcgPSBoY2wkMShub2dhbW1hKTsKKworZnVuY3Rpb24gY3ViZWhlbGl4JDEo
aHVlKSB7CisgIHJldHVybiAoZnVuY3Rpb24gY3ViZWhlbGl4R2FtbWEoeSkgeworICAgIHkgPSAr
eTsKKworICAgIGZ1bmN0aW9uIGN1YmVoZWxpeCQxKHN0YXJ0LCBlbmQpIHsKKyAgICAgIHZhciBo
ID0gaHVlKChzdGFydCA9IGN1YmVoZWxpeChzdGFydCkpLmgsIChlbmQgPSBjdWJlaGVsaXgoZW5k
KSkuaCksCisgICAgICAgICAgcyA9IG5vZ2FtbWEoc3RhcnQucywgZW5kLnMpLAorICAgICAgICAg
IGwgPSBub2dhbW1hKHN0YXJ0LmwsIGVuZC5sKSwKKyAgICAgICAgICBvcGFjaXR5ID0gbm9nYW1t
YShzdGFydC5vcGFjaXR5LCBlbmQub3BhY2l0eSk7CisgICAgICByZXR1cm4gZnVuY3Rpb24odCkg
eworICAgICAgICBzdGFydC5oID0gaCh0KTsKKyAgICAgICAgc3RhcnQucyA9IHModCk7CisgICAg
ICAgIHN0YXJ0LmwgPSBsKE1hdGgucG93KHQsIHkpKTsKKyAgICAgICAgc3RhcnQub3BhY2l0eSA9
IG9wYWNpdHkodCk7CisgICAgICAgIHJldHVybiBzdGFydCArICIiOworICAgICAgfTsKKyAgICB9
CisKKyAgICBjdWJlaGVsaXgkMS5nYW1tYSA9IGN1YmVoZWxpeEdhbW1hOworCisgICAgcmV0dXJu
IGN1YmVoZWxpeCQxOworICB9KSgxKTsKK30KKwordmFyIGN1YmVoZWxpeCQyID0gY3ViZWhlbGl4
JDEoaHVlKTsKK3ZhciBjdWJlaGVsaXhMb25nID0gY3ViZWhlbGl4JDEobm9nYW1tYSk7CisKK2Z1
bmN0aW9uIHBpZWNld2lzZShpbnRlcnBvbGF0ZSwgdmFsdWVzKSB7CisgIHZhciBpID0gMCwgbiA9
IHZhbHVlcy5sZW5ndGggLSAxLCB2ID0gdmFsdWVzWzBdLCBJID0gbmV3IEFycmF5KG4gPCAwID8g
MCA6IG4pOworICB3aGlsZSAoaSA8IG4pIElbaV0gPSBpbnRlcnBvbGF0ZSh2LCB2ID0gdmFsdWVz
WysraV0pOworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHZhciBpID0gTWF0aC5tYXgoMCwg
TWF0aC5taW4obiAtIDEsIE1hdGguZmxvb3IodCAqPSBuKSkpOworICAgIHJldHVybiBJW2ldKHQg
LSBpKTsKKyAgfTsKK30KKworZnVuY3Rpb24gcXVhbnRpemUoaW50ZXJwb2xhdG9yLCBuKSB7Cisg
IHZhciBzYW1wbGVzID0gbmV3IEFycmF5KG4pOworICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsr
aSkgc2FtcGxlc1tpXSA9IGludGVycG9sYXRvcihpIC8gKG4gLSAxKSk7CisgIHJldHVybiBzYW1w
bGVzOworfQorCit2YXIgZnJhbWUgPSAwLCAvLyBpcyBhbiBhbmltYXRpb24gZnJhbWUgcGVuZGlu
Zz8KKyAgICB0aW1lb3V0ID0gMCwgLy8gaXMgYSB0aW1lb3V0IHBlbmRpbmc/CisgICAgaW50ZXJ2
YWwgPSAwLCAvLyBhcmUgYW55IHRpbWVycyBhY3RpdmU/CisgICAgcG9rZURlbGF5ID0gMTAwMCwg
Ly8gaG93IGZyZXF1ZW50bHkgd2UgY2hlY2sgZm9yIGNsb2NrIHNrZXcKKyAgICB0YXNrSGVhZCwK
KyAgICB0YXNrVGFpbCwKKyAgICBjbG9ja0xhc3QgPSAwLAorICAgIGNsb2NrTm93ID0gMCwKKyAg
ICBjbG9ja1NrZXcgPSAwLAorICAgIGNsb2NrID0gdHlwZW9mIHBlcmZvcm1hbmNlID09PSAib2Jq
ZWN0IiAmJiBwZXJmb3JtYW5jZS5ub3cgPyBwZXJmb3JtYW5jZSA6IERhdGUsCisgICAgc2V0RnJh
bWUgPSB0eXBlb2Ygd2luZG93ID09PSAib2JqZWN0IiAmJiB3aW5kb3cucmVxdWVzdEFuaW1hdGlv
bkZyYW1lID8gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKHdpbmRvdykgOiBmdW5j
dGlvbihmKSB7IHNldFRpbWVvdXQoZiwgMTcpOyB9OworCitmdW5jdGlvbiBub3coKSB7CisgIHJl
dHVybiBjbG9ja05vdyB8fCAoc2V0RnJhbWUoY2xlYXJOb3cpLCBjbG9ja05vdyA9IGNsb2NrLm5v
dygpICsgY2xvY2tTa2V3KTsKK30KKworZnVuY3Rpb24gY2xlYXJOb3coKSB7CisgIGNsb2NrTm93
ID0gMDsKK30KKworZnVuY3Rpb24gVGltZXIoKSB7CisgIHRoaXMuX2NhbGwgPQorICB0aGlzLl90
aW1lID0KKyAgdGhpcy5fbmV4dCA9IG51bGw7Cit9CisKK1RpbWVyLnByb3RvdHlwZSA9IHRpbWVy
LnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IFRpbWVyLAorICByZXN0YXJ0OiBmdW5jdGlv
bihjYWxsYmFjaywgZGVsYXksIHRpbWUpIHsKKyAgICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAi
ZnVuY3Rpb24iKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBpcyBub3QgYSBmdW5jdGlv
biIpOworICAgIHRpbWUgPSAodGltZSA9PSBudWxsID8gbm93KCkgOiArdGltZSkgKyAoZGVsYXkg
PT0gbnVsbCA/IDAgOiArZGVsYXkpOworICAgIGlmICghdGhpcy5fbmV4dCAmJiB0YXNrVGFpbCAh
PT0gdGhpcykgeworICAgICAgaWYgKHRhc2tUYWlsKSB0YXNrVGFpbC5fbmV4dCA9IHRoaXM7Cisg
ICAgICBlbHNlIHRhc2tIZWFkID0gdGhpczsKKyAgICAgIHRhc2tUYWlsID0gdGhpczsKKyAgICB9
CisgICAgdGhpcy5fY2FsbCA9IGNhbGxiYWNrOworICAgIHRoaXMuX3RpbWUgPSB0aW1lOworICAg
IHNsZWVwKCk7CisgIH0sCisgIHN0b3A6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9jYWxs
KSB7CisgICAgICB0aGlzLl9jYWxsID0gbnVsbDsKKyAgICAgIHRoaXMuX3RpbWUgPSBJbmZpbml0
eTsKKyAgICAgIHNsZWVwKCk7CisgICAgfQorICB9Cit9OworCitmdW5jdGlvbiB0aW1lcihjYWxs
YmFjaywgZGVsYXksIHRpbWUpIHsKKyAgdmFyIHQgPSBuZXcgVGltZXI7CisgIHQucmVzdGFydChj
YWxsYmFjaywgZGVsYXksIHRpbWUpOworICByZXR1cm4gdDsKK30KKworZnVuY3Rpb24gdGltZXJG
bHVzaCgpIHsKKyAgbm93KCk7IC8vIEdldCB0aGUgY3VycmVudCB0aW1lLCBpZiBub3QgYWxyZWFk
eSBzZXQuCisgICsrZnJhbWU7IC8vIFByZXRlbmQgd2XigJl2ZSBzZXQgYW4gYWxhcm0sIGlmIHdl
IGhhdmVu4oCZdCBhbHJlYWR5LgorICB2YXIgdCA9IHRhc2tIZWFkLCBlOworICB3aGlsZSAodCkg
eworICAgIGlmICgoZSA9IGNsb2NrTm93IC0gdC5fdGltZSkgPj0gMCkgdC5fY2FsbC5jYWxsKG51
bGwsIGUpOworICAgIHQgPSB0Ll9uZXh0OworICB9CisgIC0tZnJhbWU7Cit9CisKK2Z1bmN0aW9u
IHdha2UoKSB7CisgIGNsb2NrTm93ID0gKGNsb2NrTGFzdCA9IGNsb2NrLm5vdygpKSArIGNsb2Nr
U2tldzsKKyAgZnJhbWUgPSB0aW1lb3V0ID0gMDsKKyAgdHJ5IHsKKyAgICB0aW1lckZsdXNoKCk7
CisgIH0gZmluYWxseSB7CisgICAgZnJhbWUgPSAwOworICAgIG5hcCgpOworICAgIGNsb2NrTm93
ID0gMDsKKyAgfQorfQorCitmdW5jdGlvbiBwb2tlKCkgeworICB2YXIgbm93ID0gY2xvY2subm93
KCksIGRlbGF5ID0gbm93IC0gY2xvY2tMYXN0OworICBpZiAoZGVsYXkgPiBwb2tlRGVsYXkpIGNs
b2NrU2tldyAtPSBkZWxheSwgY2xvY2tMYXN0ID0gbm93OworfQorCitmdW5jdGlvbiBuYXAoKSB7
CisgIHZhciB0MCwgdDEgPSB0YXNrSGVhZCwgdDIsIHRpbWUgPSBJbmZpbml0eTsKKyAgd2hpbGUg
KHQxKSB7CisgICAgaWYgKHQxLl9jYWxsKSB7CisgICAgICBpZiAodGltZSA+IHQxLl90aW1lKSB0
aW1lID0gdDEuX3RpbWU7CisgICAgICB0MCA9IHQxLCB0MSA9IHQxLl9uZXh0OworICAgIH0gZWxz
ZSB7CisgICAgICB0MiA9IHQxLl9uZXh0LCB0MS5fbmV4dCA9IG51bGw7CisgICAgICB0MSA9IHQw
ID8gdDAuX25leHQgPSB0MiA6IHRhc2tIZWFkID0gdDI7CisgICAgfQorICB9CisgIHRhc2tUYWls
ID0gdDA7CisgIHNsZWVwKHRpbWUpOworfQorCitmdW5jdGlvbiBzbGVlcCh0aW1lKSB7CisgIGlm
IChmcmFtZSkgcmV0dXJuOyAvLyBTb29uZXN0IGFsYXJtIGFscmVhZHkgc2V0LCBvciB3aWxsIGJl
LgorICBpZiAodGltZW91dCkgdGltZW91dCA9IGNsZWFyVGltZW91dCh0aW1lb3V0KTsKKyAgdmFy
IGRlbGF5ID0gdGltZSAtIGNsb2NrTm93OyAvLyBTdHJpY3RseSBsZXNzIHRoYW4gaWYgd2UgcmVj
b21wdXRlZCBjbG9ja05vdy4KKyAgaWYgKGRlbGF5ID4gMjQpIHsKKyAgICBpZiAodGltZSA8IElu
ZmluaXR5KSB0aW1lb3V0ID0gc2V0VGltZW91dCh3YWtlLCB0aW1lIC0gY2xvY2subm93KCkgLSBj
bG9ja1NrZXcpOworICAgIGlmIChpbnRlcnZhbCkgaW50ZXJ2YWwgPSBjbGVhckludGVydmFsKGlu
dGVydmFsKTsKKyAgfSBlbHNlIHsKKyAgICBpZiAoIWludGVydmFsKSBjbG9ja0xhc3QgPSBjbG9j
ay5ub3coKSwgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChwb2tlLCBwb2tlRGVsYXkpOworICAgIGZy
YW1lID0gMSwgc2V0RnJhbWUod2FrZSk7CisgIH0KK30KKworZnVuY3Rpb24gdGltZW91dCQxKGNh
bGxiYWNrLCBkZWxheSwgdGltZSkgeworICB2YXIgdCA9IG5ldyBUaW1lcjsKKyAgZGVsYXkgPSBk
ZWxheSA9PSBudWxsID8gMCA6ICtkZWxheTsKKyAgdC5yZXN0YXJ0KGZ1bmN0aW9uKGVsYXBzZWQp
IHsKKyAgICB0LnN0b3AoKTsKKyAgICBjYWxsYmFjayhlbGFwc2VkICsgZGVsYXkpOworICB9LCBk
ZWxheSwgdGltZSk7CisgIHJldHVybiB0OworfQorCitmdW5jdGlvbiBpbnRlcnZhbCQxKGNhbGxi
YWNrLCBkZWxheSwgdGltZSkgeworICB2YXIgdCA9IG5ldyBUaW1lciwgdG90YWwgPSBkZWxheTsK
KyAgaWYgKGRlbGF5ID09IG51bGwpIHJldHVybiB0LnJlc3RhcnQoY2FsbGJhY2ssIGRlbGF5LCB0
aW1lKSwgdDsKKyAgZGVsYXkgPSArZGVsYXksIHRpbWUgPSB0aW1lID09IG51bGwgPyBub3coKSA6
ICt0aW1lOworICB0LnJlc3RhcnQoZnVuY3Rpb24gdGljayhlbGFwc2VkKSB7CisgICAgZWxhcHNl
ZCArPSB0b3RhbDsKKyAgICB0LnJlc3RhcnQodGljaywgdG90YWwgKz0gZGVsYXksIHRpbWUpOwor
ICAgIGNhbGxiYWNrKGVsYXBzZWQpOworICB9LCBkZWxheSwgdGltZSk7CisgIHJldHVybiB0Owor
fQorCit2YXIgZW1wdHlPbiA9IGRpc3BhdGNoKCJzdGFydCIsICJlbmQiLCAiY2FuY2VsIiwgImlu
dGVycnVwdCIpOwordmFyIGVtcHR5VHdlZW4gPSBbXTsKKwordmFyIENSRUFURUQgPSAwOwordmFy
IFNDSEVEVUxFRCA9IDE7Cit2YXIgU1RBUlRJTkcgPSAyOwordmFyIFNUQVJURUQgPSAzOwordmFy
IFJVTk5JTkcgPSA0OwordmFyIEVORElORyA9IDU7Cit2YXIgRU5ERUQgPSA2OworCitmdW5jdGlv
biBzY2hlZHVsZShub2RlLCBuYW1lLCBpZCwgaW5kZXgsIGdyb3VwLCB0aW1pbmcpIHsKKyAgdmFy
IHNjaGVkdWxlcyA9IG5vZGUuX190cmFuc2l0aW9uOworICBpZiAoIXNjaGVkdWxlcykgbm9kZS5f
X3RyYW5zaXRpb24gPSB7fTsKKyAgZWxzZSBpZiAoaWQgaW4gc2NoZWR1bGVzKSByZXR1cm47Cisg
IGNyZWF0ZSQxKG5vZGUsIGlkLCB7CisgICAgbmFtZTogbmFtZSwKKyAgICBpbmRleDogaW5kZXgs
IC8vIEZvciBjb250ZXh0IGR1cmluZyBjYWxsYmFjay4KKyAgICBncm91cDogZ3JvdXAsIC8vIEZv
ciBjb250ZXh0IGR1cmluZyBjYWxsYmFjay4KKyAgICBvbjogZW1wdHlPbiwKKyAgICB0d2Vlbjog
ZW1wdHlUd2VlbiwKKyAgICB0aW1lOiB0aW1pbmcudGltZSwKKyAgICBkZWxheTogdGltaW5nLmRl
bGF5LAorICAgIGR1cmF0aW9uOiB0aW1pbmcuZHVyYXRpb24sCisgICAgZWFzZTogdGltaW5nLmVh
c2UsCisgICAgdGltZXI6IG51bGwsCisgICAgc3RhdGU6IENSRUFURUQKKyAgfSk7Cit9CisKK2Z1
bmN0aW9uIGluaXQobm9kZSwgaWQpIHsKKyAgdmFyIHNjaGVkdWxlID0gZ2V0JDEobm9kZSwgaWQp
OworICBpZiAoc2NoZWR1bGUuc3RhdGUgPiBDUkVBVEVEKSB0aHJvdyBuZXcgRXJyb3IoInRvbyBs
YXRlOyBhbHJlYWR5IHNjaGVkdWxlZCIpOworICByZXR1cm4gc2NoZWR1bGU7Cit9CisKK2Z1bmN0
aW9uIHNldCQxKG5vZGUsIGlkKSB7CisgIHZhciBzY2hlZHVsZSA9IGdldCQxKG5vZGUsIGlkKTsK
KyAgaWYgKHNjaGVkdWxlLnN0YXRlID4gU1RBUlRFRCkgdGhyb3cgbmV3IEVycm9yKCJ0b28gbGF0
ZTsgYWxyZWFkeSBydW5uaW5nIik7CisgIHJldHVybiBzY2hlZHVsZTsKK30KKworZnVuY3Rpb24g
Z2V0JDEobm9kZSwgaWQpIHsKKyAgdmFyIHNjaGVkdWxlID0gbm9kZS5fX3RyYW5zaXRpb247Cisg
IGlmICghc2NoZWR1bGUgfHwgIShzY2hlZHVsZSA9IHNjaGVkdWxlW2lkXSkpIHRocm93IG5ldyBF
cnJvcigidHJhbnNpdGlvbiBub3QgZm91bmQiKTsKKyAgcmV0dXJuIHNjaGVkdWxlOworfQorCitm
dW5jdGlvbiBjcmVhdGUkMShub2RlLCBpZCwgc2VsZikgeworICB2YXIgc2NoZWR1bGVzID0gbm9k
ZS5fX3RyYW5zaXRpb24sCisgICAgICB0d2VlbjsKKworICAvLyBJbml0aWFsaXplIHRoZSBzZWxm
IHRpbWVyIHdoZW4gdGhlIHRyYW5zaXRpb24gaXMgY3JlYXRlZC4KKyAgLy8gTm90ZSB0aGUgYWN0
dWFsIGRlbGF5IGlzIG5vdCBrbm93biB1bnRpbCB0aGUgZmlyc3QgY2FsbGJhY2shCisgIHNjaGVk
dWxlc1tpZF0gPSBzZWxmOworICBzZWxmLnRpbWVyID0gdGltZXIoc2NoZWR1bGUsIDAsIHNlbGYu
dGltZSk7CisKKyAgZnVuY3Rpb24gc2NoZWR1bGUoZWxhcHNlZCkgeworICAgIHNlbGYuc3RhdGUg
PSBTQ0hFRFVMRUQ7CisgICAgc2VsZi50aW1lci5yZXN0YXJ0KHN0YXJ0LCBzZWxmLmRlbGF5LCBz
ZWxmLnRpbWUpOworCisgICAgLy8gSWYgdGhlIGVsYXBzZWQgZGVsYXkgaXMgbGVzcyB0aGFuIG91
ciBmaXJzdCBzbGVlcCwgc3RhcnQgaW1tZWRpYXRlbHkuCisgICAgaWYgKHNlbGYuZGVsYXkgPD0g
ZWxhcHNlZCkgc3RhcnQoZWxhcHNlZCAtIHNlbGYuZGVsYXkpOworICB9CisKKyAgZnVuY3Rpb24g
c3RhcnQoZWxhcHNlZCkgeworICAgIHZhciBpLCBqLCBuLCBvOworCisgICAgLy8gSWYgdGhlIHN0
YXRlIGlzIG5vdCBTQ0hFRFVMRUQsIHRoZW4gd2UgcHJldmlvdXNseSBlcnJvcmVkIG9uIHN0YXJ0
LgorICAgIGlmIChzZWxmLnN0YXRlICE9PSBTQ0hFRFVMRUQpIHJldHVybiBzdG9wKCk7CisKKyAg
ICBmb3IgKGkgaW4gc2NoZWR1bGVzKSB7CisgICAgICBvID0gc2NoZWR1bGVzW2ldOworICAgICAg
aWYgKG8ubmFtZSAhPT0gc2VsZi5uYW1lKSBjb250aW51ZTsKKworICAgICAgLy8gV2hpbGUgdGhp
cyBlbGVtZW50IGFscmVhZHkgaGFzIGEgc3RhcnRpbmcgdHJhbnNpdGlvbiBkdXJpbmcgdGhpcyBm
cmFtZSwKKyAgICAgIC8vIGRlZmVyIHN0YXJ0aW5nIGFuIGludGVycnVwdGluZyB0cmFuc2l0aW9u
IHVudGlsIHRoYXQgdHJhbnNpdGlvbiBoYXMgYQorICAgICAgLy8gY2hhbmNlIHRvIHRpY2sgKGFu
ZCBwb3NzaWJseSBlbmQpOyBzZWUgZDMvZDMtdHJhbnNpdGlvbiM1NCEKKyAgICAgIGlmIChvLnN0
YXRlID09PSBTVEFSVEVEKSByZXR1cm4gdGltZW91dCQxKHN0YXJ0KTsKKworICAgICAgLy8gSW50
ZXJydXB0IHRoZSBhY3RpdmUgdHJhbnNpdGlvbiwgaWYgYW55LgorICAgICAgaWYgKG8uc3RhdGUg
PT09IFJVTk5JTkcpIHsKKyAgICAgICAgby5zdGF0ZSA9IEVOREVEOworICAgICAgICBvLnRpbWVy
LnN0b3AoKTsKKyAgICAgICAgby5vbi5jYWxsKCJpbnRlcnJ1cHQiLCBub2RlLCBub2RlLl9fZGF0
YV9fLCBvLmluZGV4LCBvLmdyb3VwKTsKKyAgICAgICAgZGVsZXRlIHNjaGVkdWxlc1tpXTsKKyAg
ICAgIH0KKworICAgICAgLy8gQ2FuY2VsIGFueSBwcmUtZW1wdGVkIHRyYW5zaXRpb25zLgorICAg
ICAgZWxzZSBpZiAoK2kgPCBpZCkgeworICAgICAgICBvLnN0YXRlID0gRU5ERUQ7CisgICAgICAg
IG8udGltZXIuc3RvcCgpOworICAgICAgICBvLm9uLmNhbGwoImNhbmNlbCIsIG5vZGUsIG5vZGUu
X19kYXRhX18sIG8uaW5kZXgsIG8uZ3JvdXApOworICAgICAgICBkZWxldGUgc2NoZWR1bGVzW2ld
OworICAgICAgfQorICAgIH0KKworICAgIC8vIERlZmVyIHRoZSBmaXJzdCB0aWNrIHRvIGVuZCBv
ZiB0aGUgY3VycmVudCBmcmFtZTsgc2VlIGQzL2QzIzE1NzYuCisgICAgLy8gTm90ZSB0aGUgdHJh
bnNpdGlvbiBtYXkgYmUgY2FuY2VsZWQgYWZ0ZXIgc3RhcnQgYW5kIGJlZm9yZSB0aGUgZmlyc3Qg
dGljayEKKyAgICAvLyBOb3RlIHRoaXMgbXVzdCBiZSBzY2hlZHVsZWQgYmVmb3JlIHRoZSBzdGFy
dCBldmVudDsgc2VlIGQzL2QzLXRyYW5zaXRpb24jMTYhCisgICAgLy8gQXNzdW1pbmcgdGhpcyBp
cyBzdWNjZXNzZnVsLCBzdWJzZXF1ZW50IGNhbGxiYWNrcyBnbyBzdHJhaWdodCB0byB0aWNrLgor
ICAgIHRpbWVvdXQkMShmdW5jdGlvbigpIHsKKyAgICAgIGlmIChzZWxmLnN0YXRlID09PSBTVEFS
VEVEKSB7CisgICAgICAgIHNlbGYuc3RhdGUgPSBSVU5OSU5HOworICAgICAgICBzZWxmLnRpbWVy
LnJlc3RhcnQodGljaywgc2VsZi5kZWxheSwgc2VsZi50aW1lKTsKKyAgICAgICAgdGljayhlbGFw
c2VkKTsKKyAgICAgIH0KKyAgICB9KTsKKworICAgIC8vIERpc3BhdGNoIHRoZSBzdGFydCBldmVu
dC4KKyAgICAvLyBOb3RlIHRoaXMgbXVzdCBiZSBkb25lIGJlZm9yZSB0aGUgdHdlZW4gYXJlIGlu
aXRpYWxpemVkLgorICAgIHNlbGYuc3RhdGUgPSBTVEFSVElORzsKKyAgICBzZWxmLm9uLmNhbGwo
InN0YXJ0Iiwgbm9kZSwgbm9kZS5fX2RhdGFfXywgc2VsZi5pbmRleCwgc2VsZi5ncm91cCk7Cisg
ICAgaWYgKHNlbGYuc3RhdGUgIT09IFNUQVJUSU5HKSByZXR1cm47IC8vIGludGVycnVwdGVkCisg
ICAgc2VsZi5zdGF0ZSA9IFNUQVJURUQ7CisKKyAgICAvLyBJbml0aWFsaXplIHRoZSB0d2Vlbiwg
ZGVsZXRpbmcgbnVsbCB0d2Vlbi4KKyAgICB0d2VlbiA9IG5ldyBBcnJheShuID0gc2VsZi50d2Vl
bi5sZW5ndGgpOworICAgIGZvciAoaSA9IDAsIGogPSAtMTsgaSA8IG47ICsraSkgeworICAgICAg
aWYgKG8gPSBzZWxmLnR3ZWVuW2ldLnZhbHVlLmNhbGwobm9kZSwgbm9kZS5fX2RhdGFfXywgc2Vs
Zi5pbmRleCwgc2VsZi5ncm91cCkpIHsKKyAgICAgICAgdHdlZW5bKytqXSA9IG87CisgICAgICB9
CisgICAgfQorICAgIHR3ZWVuLmxlbmd0aCA9IGogKyAxOworICB9CisKKyAgZnVuY3Rpb24gdGlj
ayhlbGFwc2VkKSB7CisgICAgdmFyIHQgPSBlbGFwc2VkIDwgc2VsZi5kdXJhdGlvbiA/IHNlbGYu
ZWFzZS5jYWxsKG51bGwsIGVsYXBzZWQgLyBzZWxmLmR1cmF0aW9uKSA6IChzZWxmLnRpbWVyLnJl
c3RhcnQoc3RvcCksIHNlbGYuc3RhdGUgPSBFTkRJTkcsIDEpLAorICAgICAgICBpID0gLTEsCisg
ICAgICAgIG4gPSB0d2Vlbi5sZW5ndGg7CisKKyAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAg
dHdlZW5baV0uY2FsbChub2RlLCB0KTsKKyAgICB9CisKKyAgICAvLyBEaXNwYXRjaCB0aGUgZW5k
IGV2ZW50LgorICAgIGlmIChzZWxmLnN0YXRlID09PSBFTkRJTkcpIHsKKyAgICAgIHNlbGYub24u
Y2FsbCgiZW5kIiwgbm9kZSwgbm9kZS5fX2RhdGFfXywgc2VsZi5pbmRleCwgc2VsZi5ncm91cCk7
CisgICAgICBzdG9wKCk7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gc3RvcCgpIHsKKyAgICBz
ZWxmLnN0YXRlID0gRU5ERUQ7CisgICAgc2VsZi50aW1lci5zdG9wKCk7CisgICAgZGVsZXRlIHNj
aGVkdWxlc1tpZF07CisgICAgZm9yICh2YXIgaSBpbiBzY2hlZHVsZXMpIHJldHVybjsgLy8gZXNs
aW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFycworICAgIGRlbGV0ZSBub2RlLl9fdHJhbnNp
dGlvbjsKKyAgfQorfQorCitmdW5jdGlvbiBpbnRlcnJ1cHQobm9kZSwgbmFtZSkgeworICB2YXIg
c2NoZWR1bGVzID0gbm9kZS5fX3RyYW5zaXRpb24sCisgICAgICBzY2hlZHVsZSwKKyAgICAgIGFj
dGl2ZSwKKyAgICAgIGVtcHR5ID0gdHJ1ZSwKKyAgICAgIGk7CisKKyAgaWYgKCFzY2hlZHVsZXMp
IHJldHVybjsKKworICBuYW1lID0gbmFtZSA9PSBudWxsID8gbnVsbCA6IG5hbWUgKyAiIjsKKwor
ICBmb3IgKGkgaW4gc2NoZWR1bGVzKSB7CisgICAgaWYgKChzY2hlZHVsZSA9IHNjaGVkdWxlc1tp
XSkubmFtZSAhPT0gbmFtZSkgeyBlbXB0eSA9IGZhbHNlOyBjb250aW51ZTsgfQorICAgIGFjdGl2
ZSA9IHNjaGVkdWxlLnN0YXRlID4gU1RBUlRJTkcgJiYgc2NoZWR1bGUuc3RhdGUgPCBFTkRJTkc7
CisgICAgc2NoZWR1bGUuc3RhdGUgPSBFTkRFRDsKKyAgICBzY2hlZHVsZS50aW1lci5zdG9wKCk7
CisgICAgc2NoZWR1bGUub24uY2FsbChhY3RpdmUgPyAiaW50ZXJydXB0IiA6ICJjYW5jZWwiLCBu
b2RlLCBub2RlLl9fZGF0YV9fLCBzY2hlZHVsZS5pbmRleCwgc2NoZWR1bGUuZ3JvdXApOworICAg
IGRlbGV0ZSBzY2hlZHVsZXNbaV07CisgIH0KKworICBpZiAoZW1wdHkpIGRlbGV0ZSBub2RlLl9f
dHJhbnNpdGlvbjsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2ludGVycnVwdChuYW1lKSB7Cisg
IHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CisgICAgaW50ZXJydXB0KHRoaXMsIG5hbWUp
OworICB9KTsKK30KKworZnVuY3Rpb24gdHdlZW5SZW1vdmUoaWQsIG5hbWUpIHsKKyAgdmFyIHR3
ZWVuMCwgdHdlZW4xOworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHNjaGVkdWxlID0g
c2V0JDEodGhpcywgaWQpLAorICAgICAgICB0d2VlbiA9IHNjaGVkdWxlLnR3ZWVuOworCisgICAg
Ly8gSWYgdGhpcyBub2RlIHNoYXJlZCB0d2VlbiB3aXRoIHRoZSBwcmV2aW91cyBub2RlLAorICAg
IC8vIGp1c3QgYXNzaWduIHRoZSB1cGRhdGVkIHNoYXJlZCB0d2VlbiBhbmQgd2XigJlyZSBkb25l
IQorICAgIC8vIE90aGVyd2lzZSwgY29weS1vbi13cml0ZS4KKyAgICBpZiAodHdlZW4gIT09IHR3
ZWVuMCkgeworICAgICAgdHdlZW4xID0gdHdlZW4wID0gdHdlZW47CisgICAgICBmb3IgKHZhciBp
ID0gMCwgbiA9IHR3ZWVuMS5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgaWYgKHR3ZWVu
MVtpXS5uYW1lID09PSBuYW1lKSB7CisgICAgICAgICAgdHdlZW4xID0gdHdlZW4xLnNsaWNlKCk7
CisgICAgICAgICAgdHdlZW4xLnNwbGljZShpLCAxKTsKKyAgICAgICAgICBicmVhazsKKyAgICAg
ICAgfQorICAgICAgfQorICAgIH0KKworICAgIHNjaGVkdWxlLnR3ZWVuID0gdHdlZW4xOworICB9
OworfQorCitmdW5jdGlvbiB0d2VlbkZ1bmN0aW9uKGlkLCBuYW1lLCB2YWx1ZSkgeworICB2YXIg
dHdlZW4wLCB0d2VlbjE7CisgIGlmICh0eXBlb2YgdmFsdWUgIT09ICJmdW5jdGlvbiIpIHRocm93
IG5ldyBFcnJvcjsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBzY2hlZHVsZSA9IHNl
dCQxKHRoaXMsIGlkKSwKKyAgICAgICAgdHdlZW4gPSBzY2hlZHVsZS50d2VlbjsKKworICAgIC8v
IElmIHRoaXMgbm9kZSBzaGFyZWQgdHdlZW4gd2l0aCB0aGUgcHJldmlvdXMgbm9kZSwKKyAgICAv
LyBqdXN0IGFzc2lnbiB0aGUgdXBkYXRlZCBzaGFyZWQgdHdlZW4gYW5kIHdl4oCZcmUgZG9uZSEK
KyAgICAvLyBPdGhlcndpc2UsIGNvcHktb24td3JpdGUuCisgICAgaWYgKHR3ZWVuICE9PSB0d2Vl
bjApIHsKKyAgICAgIHR3ZWVuMSA9ICh0d2VlbjAgPSB0d2Vlbikuc2xpY2UoKTsKKyAgICAgIGZv
ciAodmFyIHQgPSB7bmFtZTogbmFtZSwgdmFsdWU6IHZhbHVlfSwgaSA9IDAsIG4gPSB0d2VlbjEu
bGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgICAgIGlmICh0d2VlbjFbaV0ubmFtZSA9PT0gbmFt
ZSkgeworICAgICAgICAgIHR3ZWVuMVtpXSA9IHQ7CisgICAgICAgICAgYnJlYWs7CisgICAgICAg
IH0KKyAgICAgIH0KKyAgICAgIGlmIChpID09PSBuKSB0d2VlbjEucHVzaCh0KTsKKyAgICB9CisK
KyAgICBzY2hlZHVsZS50d2VlbiA9IHR3ZWVuMTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNp
dGlvbl90d2VlbihuYW1lLCB2YWx1ZSkgeworICB2YXIgaWQgPSB0aGlzLl9pZDsKKworICBuYW1l
ICs9ICIiOworCisgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikgeworICAgIHZhciB0d2VlbiA9
IGdldCQxKHRoaXMubm9kZSgpLCBpZCkudHdlZW47CisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSB0
d2Vlbi5sZW5ndGgsIHQ7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmICgodCA9IHR3ZWVuW2ldKS5u
YW1lID09PSBuYW1lKSB7CisgICAgICAgIHJldHVybiB0LnZhbHVlOworICAgICAgfQorICAgIH0K
KyAgICByZXR1cm4gbnVsbDsKKyAgfQorCisgIHJldHVybiB0aGlzLmVhY2goKHZhbHVlID09IG51
bGwgPyB0d2VlblJlbW92ZSA6IHR3ZWVuRnVuY3Rpb24pKGlkLCBuYW1lLCB2YWx1ZSkpOworfQor
CitmdW5jdGlvbiB0d2VlblZhbHVlKHRyYW5zaXRpb24sIG5hbWUsIHZhbHVlKSB7CisgIHZhciBp
ZCA9IHRyYW5zaXRpb24uX2lkOworCisgIHRyYW5zaXRpb24uZWFjaChmdW5jdGlvbigpIHsKKyAg
ICB2YXIgc2NoZWR1bGUgPSBzZXQkMSh0aGlzLCBpZCk7CisgICAgKHNjaGVkdWxlLnZhbHVlIHx8
IChzY2hlZHVsZS52YWx1ZSA9IHt9KSlbbmFtZV0gPSB2YWx1ZS5hcHBseSh0aGlzLCBhcmd1bWVu
dHMpOworICB9KTsKKworICByZXR1cm4gZnVuY3Rpb24obm9kZSkgeworICAgIHJldHVybiBnZXQk
MShub2RlLCBpZCkudmFsdWVbbmFtZV07CisgIH07Cit9CisKK2Z1bmN0aW9uIGludGVycG9sYXRl
KGEsIGIpIHsKKyAgdmFyIGM7CisgIHJldHVybiAodHlwZW9mIGIgPT09ICJudW1iZXIiID8gaW50
ZXJwb2xhdGVOdW1iZXIKKyAgICAgIDogYiBpbnN0YW5jZW9mIGNvbG9yID8gaW50ZXJwb2xhdGVS
Z2IKKyAgICAgIDogKGMgPSBjb2xvcihiKSkgPyAoYiA9IGMsIGludGVycG9sYXRlUmdiKQorICAg
ICAgOiBpbnRlcnBvbGF0ZVN0cmluZykoYSwgYik7Cit9CisKK2Z1bmN0aW9uIGF0dHJSZW1vdmUk
MShuYW1lKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLnJlbW92ZUF0dHJpYnV0
ZShuYW1lKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0clJlbW92ZU5TJDEoZnVsbG5hbWUpIHsK
KyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlTlMoZnVsbG5h
bWUuc3BhY2UsIGZ1bGxuYW1lLmxvY2FsKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0ckNvbnN0
YW50JDEobmFtZSwgaW50ZXJwb2xhdGUsIHZhbHVlMSkgeworICB2YXIgc3RyaW5nMDAsCisgICAg
ICBzdHJpbmcxID0gdmFsdWUxICsgIiIsCisgICAgICBpbnRlcnBvbGF0ZTA7CisgIHJldHVybiBm
dW5jdGlvbigpIHsKKyAgICB2YXIgc3RyaW5nMCA9IHRoaXMuZ2V0QXR0cmlidXRlKG5hbWUpOwor
ICAgIHJldHVybiBzdHJpbmcwID09PSBzdHJpbmcxID8gbnVsbAorICAgICAgICA6IHN0cmluZzAg
PT09IHN0cmluZzAwID8gaW50ZXJwb2xhdGUwCisgICAgICAgIDogaW50ZXJwb2xhdGUwID0gaW50
ZXJwb2xhdGUoc3RyaW5nMDAgPSBzdHJpbmcwLCB2YWx1ZTEpOworICB9OworfQorCitmdW5jdGlv
biBhdHRyQ29uc3RhbnROUyQxKGZ1bGxuYW1lLCBpbnRlcnBvbGF0ZSwgdmFsdWUxKSB7CisgIHZh
ciBzdHJpbmcwMCwKKyAgICAgIHN0cmluZzEgPSB2YWx1ZTEgKyAiIiwKKyAgICAgIGludGVycG9s
YXRlMDsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBzdHJpbmcwID0gdGhpcy5nZXRB
dHRyaWJ1dGVOUyhmdWxsbmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWwpOworICAgIHJldHVybiBz
dHJpbmcwID09PSBzdHJpbmcxID8gbnVsbAorICAgICAgICA6IHN0cmluZzAgPT09IHN0cmluZzAw
ID8gaW50ZXJwb2xhdGUwCisgICAgICAgIDogaW50ZXJwb2xhdGUwID0gaW50ZXJwb2xhdGUoc3Ry
aW5nMDAgPSBzdHJpbmcwLCB2YWx1ZTEpOworICB9OworfQorCitmdW5jdGlvbiBhdHRyRnVuY3Rp
b24kMShuYW1lLCBpbnRlcnBvbGF0ZSwgdmFsdWUpIHsKKyAgdmFyIHN0cmluZzAwLAorICAgICAg
c3RyaW5nMTAsCisgICAgICBpbnRlcnBvbGF0ZTA7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAg
ICB2YXIgc3RyaW5nMCwgdmFsdWUxID0gdmFsdWUodGhpcyksIHN0cmluZzE7CisgICAgaWYgKHZh
bHVlMSA9PSBudWxsKSByZXR1cm4gdm9pZCB0aGlzLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTsKKyAg
ICBzdHJpbmcwID0gdGhpcy5nZXRBdHRyaWJ1dGUobmFtZSk7CisgICAgc3RyaW5nMSA9IHZhbHVl
MSArICIiOworICAgIHJldHVybiBzdHJpbmcwID09PSBzdHJpbmcxID8gbnVsbAorICAgICAgICA6
IHN0cmluZzAgPT09IHN0cmluZzAwICYmIHN0cmluZzEgPT09IHN0cmluZzEwID8gaW50ZXJwb2xh
dGUwCisgICAgICAgIDogKHN0cmluZzEwID0gc3RyaW5nMSwgaW50ZXJwb2xhdGUwID0gaW50ZXJw
b2xhdGUoc3RyaW5nMDAgPSBzdHJpbmcwLCB2YWx1ZTEpKTsKKyAgfTsKK30KKworZnVuY3Rpb24g
YXR0ckZ1bmN0aW9uTlMkMShmdWxsbmFtZSwgaW50ZXJwb2xhdGUsIHZhbHVlKSB7CisgIHZhciBz
dHJpbmcwMCwKKyAgICAgIHN0cmluZzEwLAorICAgICAgaW50ZXJwb2xhdGUwOworICByZXR1cm4g
ZnVuY3Rpb24oKSB7CisgICAgdmFyIHN0cmluZzAsIHZhbHVlMSA9IHZhbHVlKHRoaXMpLCBzdHJp
bmcxOworICAgIGlmICh2YWx1ZTEgPT0gbnVsbCkgcmV0dXJuIHZvaWQgdGhpcy5yZW1vdmVBdHRy
aWJ1dGVOUyhmdWxsbmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWwpOworICAgIHN0cmluZzAgPSB0
aGlzLmdldEF0dHJpYnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCk7CisgICAg
c3RyaW5nMSA9IHZhbHVlMSArICIiOworICAgIHJldHVybiBzdHJpbmcwID09PSBzdHJpbmcxID8g
bnVsbAorICAgICAgICA6IHN0cmluZzAgPT09IHN0cmluZzAwICYmIHN0cmluZzEgPT09IHN0cmlu
ZzEwID8gaW50ZXJwb2xhdGUwCisgICAgICAgIDogKHN0cmluZzEwID0gc3RyaW5nMSwgaW50ZXJw
b2xhdGUwID0gaW50ZXJwb2xhdGUoc3RyaW5nMDAgPSBzdHJpbmcwLCB2YWx1ZTEpKTsKKyAgfTsK
K30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl9hdHRyKG5hbWUsIHZhbHVlKSB7CisgIHZhciBmdWxs
bmFtZSA9IG5hbWVzcGFjZShuYW1lKSwgaSA9IGZ1bGxuYW1lID09PSAidHJhbnNmb3JtIiA/IGlu
dGVycG9sYXRlVHJhbnNmb3JtU3ZnIDogaW50ZXJwb2xhdGU7CisgIHJldHVybiB0aGlzLmF0dHJU
d2VlbihuYW1lLCB0eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIKKyAgICAgID8gKGZ1bGxuYW1l
LmxvY2FsID8gYXR0ckZ1bmN0aW9uTlMkMSA6IGF0dHJGdW5jdGlvbiQxKShmdWxsbmFtZSwgaSwg
dHdlZW5WYWx1ZSh0aGlzLCAiYXR0ci4iICsgbmFtZSwgdmFsdWUpKQorICAgICAgOiB2YWx1ZSA9
PSBudWxsID8gKGZ1bGxuYW1lLmxvY2FsID8gYXR0clJlbW92ZU5TJDEgOiBhdHRyUmVtb3ZlJDEp
KGZ1bGxuYW1lKQorICAgICAgOiAoZnVsbG5hbWUubG9jYWwgPyBhdHRyQ29uc3RhbnROUyQxIDog
YXR0ckNvbnN0YW50JDEpKGZ1bGxuYW1lLCBpLCB2YWx1ZSkpOworfQorCitmdW5jdGlvbiBhdHRy
SW50ZXJwb2xhdGUobmFtZSwgaSkgeworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHRoaXMu
c2V0QXR0cmlidXRlKG5hbWUsIGkuY2FsbCh0aGlzLCB0KSk7CisgIH07Cit9CisKK2Z1bmN0aW9u
IGF0dHJJbnRlcnBvbGF0ZU5TKGZ1bGxuYW1lLCBpKSB7CisgIHJldHVybiBmdW5jdGlvbih0KSB7
CisgICAgdGhpcy5zZXRBdHRyaWJ1dGVOUyhmdWxsbmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWws
IGkuY2FsbCh0aGlzLCB0KSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGF0dHJUd2Vlbk5TKGZ1bGxu
YW1lLCB2YWx1ZSkgeworICB2YXIgdDAsIGkwOworICBmdW5jdGlvbiB0d2VlbigpIHsKKyAgICB2
YXIgaSA9IHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKGkgIT09IGkwKSB0
MCA9IChpMCA9IGkpICYmIGF0dHJJbnRlcnBvbGF0ZU5TKGZ1bGxuYW1lLCBpKTsKKyAgICByZXR1
cm4gdDA7CisgIH0KKyAgdHdlZW4uX3ZhbHVlID0gdmFsdWU7CisgIHJldHVybiB0d2VlbjsKK30K
KworZnVuY3Rpb24gYXR0clR3ZWVuKG5hbWUsIHZhbHVlKSB7CisgIHZhciB0MCwgaTA7CisgIGZ1
bmN0aW9uIHR3ZWVuKCkgeworICAgIHZhciBpID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRz
KTsKKyAgICBpZiAoaSAhPT0gaTApIHQwID0gKGkwID0gaSkgJiYgYXR0ckludGVycG9sYXRlKG5h
bWUsIGkpOworICAgIHJldHVybiB0MDsKKyAgfQorICB0d2Vlbi5fdmFsdWUgPSB2YWx1ZTsKKyAg
cmV0dXJuIHR3ZWVuOworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX2F0dHJUd2VlbihuYW1lLCB2
YWx1ZSkgeworICB2YXIga2V5ID0gImF0dHIuIiArIG5hbWU7CisgIGlmIChhcmd1bWVudHMubGVu
Z3RoIDwgMikgcmV0dXJuIChrZXkgPSB0aGlzLnR3ZWVuKGtleSkpICYmIGtleS5fdmFsdWU7Cisg
IGlmICh2YWx1ZSA9PSBudWxsKSByZXR1cm4gdGhpcy50d2VlbihrZXksIG51bGwpOworICBpZiAo
dHlwZW9mIHZhbHVlICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHZhciBmdWxs
bmFtZSA9IG5hbWVzcGFjZShuYW1lKTsKKyAgcmV0dXJuIHRoaXMudHdlZW4oa2V5LCAoZnVsbG5h
bWUubG9jYWwgPyBhdHRyVHdlZW5OUyA6IGF0dHJUd2VlbikoZnVsbG5hbWUsIHZhbHVlKSk7Cit9
CisKK2Z1bmN0aW9uIGRlbGF5RnVuY3Rpb24oaWQsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlv
bigpIHsKKyAgICBpbml0KHRoaXMsIGlkKS5kZWxheSA9ICt2YWx1ZS5hcHBseSh0aGlzLCBhcmd1
bWVudHMpOworICB9OworfQorCitmdW5jdGlvbiBkZWxheUNvbnN0YW50KGlkLCB2YWx1ZSkgewor
ICByZXR1cm4gdmFsdWUgPSArdmFsdWUsIGZ1bmN0aW9uKCkgeworICAgIGluaXQodGhpcywgaWQp
LmRlbGF5ID0gdmFsdWU7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fZGVsYXkodmFs
dWUpIHsKKyAgdmFyIGlkID0gdGhpcy5faWQ7CisKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgK
KyAgICAgID8gdGhpcy5lYWNoKCh0eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIKKyAgICAgICAg
ICA/IGRlbGF5RnVuY3Rpb24KKyAgICAgICAgICA6IGRlbGF5Q29uc3RhbnQpKGlkLCB2YWx1ZSkp
CisgICAgICA6IGdldCQxKHRoaXMubm9kZSgpLCBpZCkuZGVsYXk7Cit9CisKK2Z1bmN0aW9uIGR1
cmF0aW9uRnVuY3Rpb24oaWQsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICBz
ZXQkMSh0aGlzLCBpZCkuZHVyYXRpb24gPSArdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsK
KyAgfTsKK30KKworZnVuY3Rpb24gZHVyYXRpb25Db25zdGFudChpZCwgdmFsdWUpIHsKKyAgcmV0
dXJuIHZhbHVlID0gK3ZhbHVlLCBmdW5jdGlvbigpIHsKKyAgICBzZXQkMSh0aGlzLCBpZCkuZHVy
YXRpb24gPSB2YWx1ZTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl9kdXJhdGlvbih2
YWx1ZSkgeworICB2YXIgaWQgPSB0aGlzLl9pZDsKKworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0
aAorICAgICAgPyB0aGlzLmVhY2goKHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAgICAg
ICAgID8gZHVyYXRpb25GdW5jdGlvbgorICAgICAgICAgIDogZHVyYXRpb25Db25zdGFudCkoaWQs
IHZhbHVlKSkKKyAgICAgIDogZ2V0JDEodGhpcy5ub2RlKCksIGlkKS5kdXJhdGlvbjsKK30KKwor
ZnVuY3Rpb24gZWFzZUNvbnN0YW50KGlkLCB2YWx1ZSkgeworICBpZiAodHlwZW9mIHZhbHVlICE9
PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAg
ICBzZXQkMSh0aGlzLCBpZCkuZWFzZSA9IHZhbHVlOworICB9OworfQorCitmdW5jdGlvbiB0cmFu
c2l0aW9uX2Vhc2UodmFsdWUpIHsKKyAgdmFyIGlkID0gdGhpcy5faWQ7CisKKyAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGgKKyAgICAgID8gdGhpcy5lYWNoKGVhc2VDb25zdGFudChpZCwgdmFsdWUp
KQorICAgICAgOiBnZXQkMSh0aGlzLm5vZGUoKSwgaWQpLmVhc2U7Cit9CisKK2Z1bmN0aW9uIHRy
YW5zaXRpb25fZmlsdGVyKG1hdGNoKSB7CisgIGlmICh0eXBlb2YgbWF0Y2ggIT09ICJmdW5jdGlv
biIpIG1hdGNoID0gbWF0Y2hlcihtYXRjaCk7CisKKyAgZm9yICh2YXIgZ3JvdXBzID0gdGhpcy5f
Z3JvdXBzLCBtID0gZ3JvdXBzLmxlbmd0aCwgc3ViZ3JvdXBzID0gbmV3IEFycmF5KG0pLCBqID0g
MDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwID0gZ3JvdXBzW2pdLCBuID0gZ3Jv
dXAubGVuZ3RoLCBzdWJncm91cCA9IHN1Ymdyb3Vwc1tqXSA9IFtdLCBub2RlLCBpID0gMDsgaSA8
IG47ICsraSkgeworICAgICAgaWYgKChub2RlID0gZ3JvdXBbaV0pICYmIG1hdGNoLmNhbGwobm9k
ZSwgbm9kZS5fX2RhdGFfXywgaSwgZ3JvdXApKSB7CisgICAgICAgIHN1Ymdyb3VwLnB1c2gobm9k
ZSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIG5ldyBUcmFuc2l0aW9uKHN1Ymdy
b3VwcywgdGhpcy5fcGFyZW50cywgdGhpcy5fbmFtZSwgdGhpcy5faWQpOworfQorCitmdW5jdGlv
biB0cmFuc2l0aW9uX21lcmdlKHRyYW5zaXRpb24pIHsKKyAgaWYgKHRyYW5zaXRpb24uX2lkICE9
PSB0aGlzLl9pZCkgdGhyb3cgbmV3IEVycm9yOworCisgIGZvciAodmFyIGdyb3VwczAgPSB0aGlz
Ll9ncm91cHMsIGdyb3VwczEgPSB0cmFuc2l0aW9uLl9ncm91cHMsIG0wID0gZ3JvdXBzMC5sZW5n
dGgsIG0xID0gZ3JvdXBzMS5sZW5ndGgsIG0gPSBNYXRoLm1pbihtMCwgbTEpLCBtZXJnZXMgPSBu
ZXcgQXJyYXkobTApLCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwMCA9
IGdyb3VwczBbal0sIGdyb3VwMSA9IGdyb3VwczFbal0sIG4gPSBncm91cDAubGVuZ3RoLCBtZXJn
ZSA9IG1lcmdlc1tqXSA9IG5ldyBBcnJheShuKSwgbm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsK
KyAgICAgIGlmIChub2RlID0gZ3JvdXAwW2ldIHx8IGdyb3VwMVtpXSkgeworICAgICAgICBtZXJn
ZVtpXSA9IG5vZGU7CisgICAgICB9CisgICAgfQorICB9CisKKyAgZm9yICg7IGogPCBtMDsgKytq
KSB7CisgICAgbWVyZ2VzW2pdID0gZ3JvdXBzMFtqXTsKKyAgfQorCisgIHJldHVybiBuZXcgVHJh
bnNpdGlvbihtZXJnZXMsIHRoaXMuX3BhcmVudHMsIHRoaXMuX25hbWUsIHRoaXMuX2lkKTsKK30K
KworZnVuY3Rpb24gc3RhcnQobmFtZSkgeworICByZXR1cm4gKG5hbWUgKyAiIikudHJpbSgpLnNw
bGl0KC9efFxzKy8pLmV2ZXJ5KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgaSA9IHQuaW5kZXhPZigi
LiIpOworICAgIGlmIChpID49IDApIHQgPSB0LnNsaWNlKDAsIGkpOworICAgIHJldHVybiAhdCB8
fCB0ID09PSAic3RhcnQiOworICB9KTsKK30KKworZnVuY3Rpb24gb25GdW5jdGlvbihpZCwgbmFt
ZSwgbGlzdGVuZXIpIHsKKyAgdmFyIG9uMCwgb24xLCBzaXQgPSBzdGFydChuYW1lKSA/IGluaXQg
OiBzZXQkMTsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBzY2hlZHVsZSA9IHNpdCh0
aGlzLCBpZCksCisgICAgICAgIG9uID0gc2NoZWR1bGUub247CisKKyAgICAvLyBJZiB0aGlzIG5v
ZGUgc2hhcmVkIGEgZGlzcGF0Y2ggd2l0aCB0aGUgcHJldmlvdXMgbm9kZSwKKyAgICAvLyBqdXN0
IGFzc2lnbiB0aGUgdXBkYXRlZCBzaGFyZWQgZGlzcGF0Y2ggYW5kIHdl4oCZcmUgZG9uZSEKKyAg
ICAvLyBPdGhlcndpc2UsIGNvcHktb24td3JpdGUuCisgICAgaWYgKG9uICE9PSBvbjApIChvbjEg
PSAob24wID0gb24pLmNvcHkoKSkub24obmFtZSwgbGlzdGVuZXIpOworCisgICAgc2NoZWR1bGUu
b24gPSBvbjE7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fb24obmFtZSwgbGlzdGVu
ZXIpIHsKKyAgdmFyIGlkID0gdGhpcy5faWQ7CisKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PCAyCisgICAgICA/IGdldCQxKHRoaXMubm9kZSgpLCBpZCkub24ub24obmFtZSkKKyAgICAgIDog
dGhpcy5lYWNoKG9uRnVuY3Rpb24oaWQsIG5hbWUsIGxpc3RlbmVyKSk7Cit9CisKK2Z1bmN0aW9u
IHJlbW92ZUZ1bmN0aW9uKGlkKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgcGFy
ZW50ID0gdGhpcy5wYXJlbnROb2RlOworICAgIGZvciAodmFyIGkgaW4gdGhpcy5fX3RyYW5zaXRp
b24pIGlmICgraSAhPT0gaWQpIHJldHVybjsKKyAgICBpZiAocGFyZW50KSBwYXJlbnQucmVtb3Zl
Q2hpbGQodGhpcyk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fcmVtb3ZlKCkgewor
ICByZXR1cm4gdGhpcy5vbigiZW5kLnJlbW92ZSIsIHJlbW92ZUZ1bmN0aW9uKHRoaXMuX2lkKSk7
Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fc2VsZWN0KHNlbGVjdCkgeworICB2YXIgbmFtZSA9
IHRoaXMuX25hbWUsCisgICAgICBpZCA9IHRoaXMuX2lkOworCisgIGlmICh0eXBlb2Ygc2VsZWN0
ICE9PSAiZnVuY3Rpb24iKSBzZWxlY3QgPSBzZWxlY3RvcihzZWxlY3QpOworCisgIGZvciAodmFy
IGdyb3VwcyA9IHRoaXMuX2dyb3VwcywgbSA9IGdyb3Vwcy5sZW5ndGgsIHN1Ymdyb3VwcyA9IG5l
dyBBcnJheShtKSwgaiA9IDA7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdy
b3Vwc1tqXSwgbiA9IGdyb3VwLmxlbmd0aCwgc3ViZ3JvdXAgPSBzdWJncm91cHNbal0gPSBuZXcg
QXJyYXkobiksIG5vZGUsIHN1Ym5vZGUsIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAo
KG5vZGUgPSBncm91cFtpXSkgJiYgKHN1Ym5vZGUgPSBzZWxlY3QuY2FsbChub2RlLCBub2RlLl9f
ZGF0YV9fLCBpLCBncm91cCkpKSB7CisgICAgICAgIGlmICgiX19kYXRhX18iIGluIG5vZGUpIHN1
Ym5vZGUuX19kYXRhX18gPSBub2RlLl9fZGF0YV9fOworICAgICAgICBzdWJncm91cFtpXSA9IHN1
Ym5vZGU7CisgICAgICAgIHNjaGVkdWxlKHN1Ymdyb3VwW2ldLCBuYW1lLCBpZCwgaSwgc3ViZ3Jv
dXAsIGdldCQxKG5vZGUsIGlkKSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIG5l
dyBUcmFuc2l0aW9uKHN1Ymdyb3VwcywgdGhpcy5fcGFyZW50cywgbmFtZSwgaWQpOworfQorCitm
dW5jdGlvbiB0cmFuc2l0aW9uX3NlbGVjdEFsbChzZWxlY3QpIHsKKyAgdmFyIG5hbWUgPSB0aGlz
Ll9uYW1lLAorICAgICAgaWQgPSB0aGlzLl9pZDsKKworICBpZiAodHlwZW9mIHNlbGVjdCAhPT0g
ImZ1bmN0aW9uIikgc2VsZWN0ID0gc2VsZWN0b3JBbGwoc2VsZWN0KTsKKworICBmb3IgKHZhciBn
cm91cHMgPSB0aGlzLl9ncm91cHMsIG0gPSBncm91cHMubGVuZ3RoLCBzdWJncm91cHMgPSBbXSwg
cGFyZW50cyA9IFtdLCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwID0g
Z3JvdXBzW2pdLCBuID0gZ3JvdXAubGVuZ3RoLCBub2RlLCBpID0gMDsgaSA8IG47ICsraSkgewor
ICAgICAgaWYgKG5vZGUgPSBncm91cFtpXSkgeworICAgICAgICBmb3IgKHZhciBjaGlsZHJlbiA9
IHNlbGVjdC5jYWxsKG5vZGUsIG5vZGUuX19kYXRhX18sIGksIGdyb3VwKSwgY2hpbGQsIGluaGVy
aXQgPSBnZXQkMShub2RlLCBpZCksIGsgPSAwLCBsID0gY2hpbGRyZW4ubGVuZ3RoOyBrIDwgbDsg
KytrKSB7CisgICAgICAgICAgaWYgKGNoaWxkID0gY2hpbGRyZW5ba10pIHsKKyAgICAgICAgICAg
IHNjaGVkdWxlKGNoaWxkLCBuYW1lLCBpZCwgaywgY2hpbGRyZW4sIGluaGVyaXQpOworICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgICAgICBzdWJncm91cHMucHVzaChjaGlsZHJlbik7CisgICAg
ICAgIHBhcmVudHMucHVzaChub2RlKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4g
bmV3IFRyYW5zaXRpb24oc3ViZ3JvdXBzLCBwYXJlbnRzLCBuYW1lLCBpZCk7Cit9CisKK3ZhciBT
ZWxlY3Rpb24kMSA9IHNlbGVjdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3I7CisKK2Z1bmN0aW9u
IHRyYW5zaXRpb25fc2VsZWN0aW9uKCkgeworICByZXR1cm4gbmV3IFNlbGVjdGlvbiQxKHRoaXMu
X2dyb3VwcywgdGhpcy5fcGFyZW50cyk7Cit9CisKK2Z1bmN0aW9uIHN0eWxlTnVsbChuYW1lLCBp
bnRlcnBvbGF0ZSkgeworICB2YXIgc3RyaW5nMDAsCisgICAgICBzdHJpbmcxMCwKKyAgICAgIGlu
dGVycG9sYXRlMDsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBzdHJpbmcwID0gc3R5
bGVWYWx1ZSh0aGlzLCBuYW1lKSwKKyAgICAgICAgc3RyaW5nMSA9ICh0aGlzLnN0eWxlLnJlbW92
ZVByb3BlcnR5KG5hbWUpLCBzdHlsZVZhbHVlKHRoaXMsIG5hbWUpKTsKKyAgICByZXR1cm4gc3Ry
aW5nMCA9PT0gc3RyaW5nMSA/IG51bGwKKyAgICAgICAgOiBzdHJpbmcwID09PSBzdHJpbmcwMCAm
JiBzdHJpbmcxID09PSBzdHJpbmcxMCA/IGludGVycG9sYXRlMAorICAgICAgICA6IGludGVycG9s
YXRlMCA9IGludGVycG9sYXRlKHN0cmluZzAwID0gc3RyaW5nMCwgc3RyaW5nMTAgPSBzdHJpbmcx
KTsKKyAgfTsKK30KKworZnVuY3Rpb24gc3R5bGVSZW1vdmUkMShuYW1lKSB7CisgIHJldHVybiBm
dW5jdGlvbigpIHsKKyAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KG5hbWUpOworICB9Owor
fQorCitmdW5jdGlvbiBzdHlsZUNvbnN0YW50JDEobmFtZSwgaW50ZXJwb2xhdGUsIHZhbHVlMSkg
eworICB2YXIgc3RyaW5nMDAsCisgICAgICBzdHJpbmcxID0gdmFsdWUxICsgIiIsCisgICAgICBp
bnRlcnBvbGF0ZTA7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgc3RyaW5nMCA9IHN0
eWxlVmFsdWUodGhpcywgbmFtZSk7CisgICAgcmV0dXJuIHN0cmluZzAgPT09IHN0cmluZzEgPyBu
dWxsCisgICAgICAgIDogc3RyaW5nMCA9PT0gc3RyaW5nMDAgPyBpbnRlcnBvbGF0ZTAKKyAgICAg
ICAgOiBpbnRlcnBvbGF0ZTAgPSBpbnRlcnBvbGF0ZShzdHJpbmcwMCA9IHN0cmluZzAsIHZhbHVl
MSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHN0eWxlRnVuY3Rpb24kMShuYW1lLCBpbnRlcnBvbGF0
ZSwgdmFsdWUpIHsKKyAgdmFyIHN0cmluZzAwLAorICAgICAgc3RyaW5nMTAsCisgICAgICBpbnRl
cnBvbGF0ZTA7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgc3RyaW5nMCA9IHN0eWxl
VmFsdWUodGhpcywgbmFtZSksCisgICAgICAgIHZhbHVlMSA9IHZhbHVlKHRoaXMpLAorICAgICAg
ICBzdHJpbmcxID0gdmFsdWUxICsgIiI7CisgICAgaWYgKHZhbHVlMSA9PSBudWxsKSBzdHJpbmcx
ID0gdmFsdWUxID0gKHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkobmFtZSksIHN0eWxlVmFsdWUo
dGhpcywgbmFtZSkpOworICAgIHJldHVybiBzdHJpbmcwID09PSBzdHJpbmcxID8gbnVsbAorICAg
ICAgICA6IHN0cmluZzAgPT09IHN0cmluZzAwICYmIHN0cmluZzEgPT09IHN0cmluZzEwID8gaW50
ZXJwb2xhdGUwCisgICAgICAgIDogKHN0cmluZzEwID0gc3RyaW5nMSwgaW50ZXJwb2xhdGUwID0g
aW50ZXJwb2xhdGUoc3RyaW5nMDAgPSBzdHJpbmcwLCB2YWx1ZTEpKTsKKyAgfTsKK30KKworZnVu
Y3Rpb24gc3R5bGVNYXliZVJlbW92ZShpZCwgbmFtZSkgeworICB2YXIgb24wLCBvbjEsIGxpc3Rl
bmVyMCwga2V5ID0gInN0eWxlLiIgKyBuYW1lLCBldmVudCA9ICJlbmQuIiArIGtleSwgcmVtb3Zl
OworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHNjaGVkdWxlID0gc2V0JDEodGhpcywg
aWQpLAorICAgICAgICBvbiA9IHNjaGVkdWxlLm9uLAorICAgICAgICBsaXN0ZW5lciA9IHNjaGVk
dWxlLnZhbHVlW2tleV0gPT0gbnVsbCA/IHJlbW92ZSB8fCAocmVtb3ZlID0gc3R5bGVSZW1vdmUk
MShuYW1lKSkgOiB1bmRlZmluZWQ7CisKKyAgICAvLyBJZiB0aGlzIG5vZGUgc2hhcmVkIGEgZGlz
cGF0Y2ggd2l0aCB0aGUgcHJldmlvdXMgbm9kZSwKKyAgICAvLyBqdXN0IGFzc2lnbiB0aGUgdXBk
YXRlZCBzaGFyZWQgZGlzcGF0Y2ggYW5kIHdl4oCZcmUgZG9uZSEKKyAgICAvLyBPdGhlcndpc2Us
IGNvcHktb24td3JpdGUuCisgICAgaWYgKG9uICE9PSBvbjAgfHwgbGlzdGVuZXIwICE9PSBsaXN0
ZW5lcikgKG9uMSA9IChvbjAgPSBvbikuY29weSgpKS5vbihldmVudCwgbGlzdGVuZXIwID0gbGlz
dGVuZXIpOworCisgICAgc2NoZWR1bGUub24gPSBvbjE7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRy
YW5zaXRpb25fc3R5bGUobmFtZSwgdmFsdWUsIHByaW9yaXR5KSB7CisgIHZhciBpID0gKG5hbWUg
Kz0gIiIpID09PSAidHJhbnNmb3JtIiA/IGludGVycG9sYXRlVHJhbnNmb3JtQ3NzIDogaW50ZXJw
b2xhdGU7CisgIHJldHVybiB2YWx1ZSA9PSBudWxsID8gdGhpcworICAgICAgLnN0eWxlVHdlZW4o
bmFtZSwgc3R5bGVOdWxsKG5hbWUsIGkpKQorICAgICAgLm9uKCJlbmQuc3R5bGUuIiArIG5hbWUs
IHN0eWxlUmVtb3ZlJDEobmFtZSkpCisgICAgOiB0eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIg
PyB0aGlzCisgICAgICAuc3R5bGVUd2VlbihuYW1lLCBzdHlsZUZ1bmN0aW9uJDEobmFtZSwgaSwg
dHdlZW5WYWx1ZSh0aGlzLCAic3R5bGUuIiArIG5hbWUsIHZhbHVlKSkpCisgICAgICAuZWFjaChz
dHlsZU1heWJlUmVtb3ZlKHRoaXMuX2lkLCBuYW1lKSkKKyAgICA6IHRoaXMKKyAgICAgIC5zdHls
ZVR3ZWVuKG5hbWUsIHN0eWxlQ29uc3RhbnQkMShuYW1lLCBpLCB2YWx1ZSksIHByaW9yaXR5KQor
ICAgICAgLm9uKCJlbmQuc3R5bGUuIiArIG5hbWUsIG51bGwpOworfQorCitmdW5jdGlvbiBzdHls
ZUludGVycG9sYXRlKG5hbWUsIGksIHByaW9yaXR5KSB7CisgIHJldHVybiBmdW5jdGlvbih0KSB7
CisgICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eShuYW1lLCBpLmNhbGwodGhpcywgdCksIHByaW9y
aXR5KTsKKyAgfTsKK30KKworZnVuY3Rpb24gc3R5bGVUd2VlbihuYW1lLCB2YWx1ZSwgcHJpb3Jp
dHkpIHsKKyAgdmFyIHQsIGkwOworICBmdW5jdGlvbiB0d2VlbigpIHsKKyAgICB2YXIgaSA9IHZh
bHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKGkgIT09IGkwKSB0ID0gKGkwID0g
aSkgJiYgc3R5bGVJbnRlcnBvbGF0ZShuYW1lLCBpLCBwcmlvcml0eSk7CisgICAgcmV0dXJuIHQ7
CisgIH0KKyAgdHdlZW4uX3ZhbHVlID0gdmFsdWU7CisgIHJldHVybiB0d2VlbjsKK30KKworZnVu
Y3Rpb24gdHJhbnNpdGlvbl9zdHlsZVR3ZWVuKG5hbWUsIHZhbHVlLCBwcmlvcml0eSkgeworICB2
YXIga2V5ID0gInN0eWxlLiIgKyAobmFtZSArPSAiIik7CisgIGlmIChhcmd1bWVudHMubGVuZ3Ro
IDwgMikgcmV0dXJuIChrZXkgPSB0aGlzLnR3ZWVuKGtleSkpICYmIGtleS5fdmFsdWU7CisgIGlm
ICh2YWx1ZSA9PSBudWxsKSByZXR1cm4gdGhpcy50d2VlbihrZXksIG51bGwpOworICBpZiAodHlw
ZW9mIHZhbHVlICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHJldHVybiB0aGlz
LnR3ZWVuKGtleSwgc3R5bGVUd2VlbihuYW1lLCB2YWx1ZSwgcHJpb3JpdHkgPT0gbnVsbCA/ICIi
IDogcHJpb3JpdHkpKTsKK30KKworZnVuY3Rpb24gdGV4dENvbnN0YW50JDEodmFsdWUpIHsKKyAg
cmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXMudGV4dENvbnRlbnQgPSB2YWx1ZTsKKyAgfTsK
K30KKworZnVuY3Rpb24gdGV4dEZ1bmN0aW9uJDEodmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9u
KCkgeworICAgIHZhciB2YWx1ZTEgPSB2YWx1ZSh0aGlzKTsKKyAgICB0aGlzLnRleHRDb250ZW50
ID0gdmFsdWUxID09IG51bGwgPyAiIiA6IHZhbHVlMTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJh
bnNpdGlvbl90ZXh0KHZhbHVlKSB7CisgIHJldHVybiB0aGlzLnR3ZWVuKCJ0ZXh0IiwgdHlwZW9m
IHZhbHVlID09PSAiZnVuY3Rpb24iCisgICAgICA/IHRleHRGdW5jdGlvbiQxKHR3ZWVuVmFsdWUo
dGhpcywgInRleHQiLCB2YWx1ZSkpCisgICAgICA6IHRleHRDb25zdGFudCQxKHZhbHVlID09IG51
bGwgPyAiIiA6IHZhbHVlICsgIiIpKTsKK30KKworZnVuY3Rpb24gdGV4dEludGVycG9sYXRlKGkp
IHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICB0aGlzLnRleHRDb250ZW50ID0gaS5jYWxs
KHRoaXMsIHQpOworICB9OworfQorCitmdW5jdGlvbiB0ZXh0VHdlZW4odmFsdWUpIHsKKyAgdmFy
IHQwLCBpMDsKKyAgZnVuY3Rpb24gdHdlZW4oKSB7CisgICAgdmFyIGkgPSB2YWx1ZS5hcHBseSh0
aGlzLCBhcmd1bWVudHMpOworICAgIGlmIChpICE9PSBpMCkgdDAgPSAoaTAgPSBpKSAmJiB0ZXh0
SW50ZXJwb2xhdGUoaSk7CisgICAgcmV0dXJuIHQwOworICB9CisgIHR3ZWVuLl92YWx1ZSA9IHZh
bHVlOworICByZXR1cm4gdHdlZW47Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fdGV4dFR3ZWVu
KHZhbHVlKSB7CisgIHZhciBrZXkgPSAidGV4dCI7CisgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwg
MSkgcmV0dXJuIChrZXkgPSB0aGlzLnR3ZWVuKGtleSkpICYmIGtleS5fdmFsdWU7CisgIGlmICh2
YWx1ZSA9PSBudWxsKSByZXR1cm4gdGhpcy50d2VlbihrZXksIG51bGwpOworICBpZiAodHlwZW9m
IHZhbHVlICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHJldHVybiB0aGlzLnR3
ZWVuKGtleSwgdGV4dFR3ZWVuKHZhbHVlKSk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fdHJh
bnNpdGlvbigpIHsKKyAgdmFyIG5hbWUgPSB0aGlzLl9uYW1lLAorICAgICAgaWQwID0gdGhpcy5f
aWQsCisgICAgICBpZDEgPSBuZXdJZCgpOworCisgIGZvciAodmFyIGdyb3VwcyA9IHRoaXMuX2dy
b3VwcywgbSA9IGdyb3Vwcy5sZW5ndGgsIGogPSAwOyBqIDwgbTsgKytqKSB7CisgICAgZm9yICh2
YXIgZ3JvdXAgPSBncm91cHNbal0sIG4gPSBncm91cC5sZW5ndGgsIG5vZGUsIGkgPSAwOyBpIDwg
bjsgKytpKSB7CisgICAgICBpZiAobm9kZSA9IGdyb3VwW2ldKSB7CisgICAgICAgIHZhciBpbmhl
cml0ID0gZ2V0JDEobm9kZSwgaWQwKTsKKyAgICAgICAgc2NoZWR1bGUobm9kZSwgbmFtZSwgaWQx
LCBpLCBncm91cCwgeworICAgICAgICAgIHRpbWU6IGluaGVyaXQudGltZSArIGluaGVyaXQuZGVs
YXkgKyBpbmhlcml0LmR1cmF0aW9uLAorICAgICAgICAgIGRlbGF5OiAwLAorICAgICAgICAgIGR1
cmF0aW9uOiBpbmhlcml0LmR1cmF0aW9uLAorICAgICAgICAgIGVhc2U6IGluaGVyaXQuZWFzZQor
ICAgICAgICB9KTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gbmV3IFRyYW5zaXRp
b24oZ3JvdXBzLCB0aGlzLl9wYXJlbnRzLCBuYW1lLCBpZDEpOworfQorCitmdW5jdGlvbiB0cmFu
c2l0aW9uX2VuZCgpIHsKKyAgdmFyIG9uMCwgb24xLCB0aGF0ID0gdGhpcywgaWQgPSB0aGF0Ll9p
ZCwgc2l6ZSA9IHRoYXQuc2l6ZSgpOworICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7CisgICAgdmFyIGNhbmNlbCA9IHt2YWx1ZTogcmVqZWN0fSwKKyAgICAg
ICAgZW5kID0ge3ZhbHVlOiBmdW5jdGlvbigpIHsgaWYgKC0tc2l6ZSA9PT0gMCkgcmVzb2x2ZSgp
OyB9fTsKKworICAgIHRoYXQuZWFjaChmdW5jdGlvbigpIHsKKyAgICAgIHZhciBzY2hlZHVsZSA9
IHNldCQxKHRoaXMsIGlkKSwKKyAgICAgICAgICBvbiA9IHNjaGVkdWxlLm9uOworCisgICAgICAv
LyBJZiB0aGlzIG5vZGUgc2hhcmVkIGEgZGlzcGF0Y2ggd2l0aCB0aGUgcHJldmlvdXMgbm9kZSwK
KyAgICAgIC8vIGp1c3QgYXNzaWduIHRoZSB1cGRhdGVkIHNoYXJlZCBkaXNwYXRjaCBhbmQgd2Xi
gJlyZSBkb25lIQorICAgICAgLy8gT3RoZXJ3aXNlLCBjb3B5LW9uLXdyaXRlLgorICAgICAgaWYg
KG9uICE9PSBvbjApIHsKKyAgICAgICAgb24xID0gKG9uMCA9IG9uKS5jb3B5KCk7CisgICAgICAg
IG9uMS5fLmNhbmNlbC5wdXNoKGNhbmNlbCk7CisgICAgICAgIG9uMS5fLmludGVycnVwdC5wdXNo
KGNhbmNlbCk7CisgICAgICAgIG9uMS5fLmVuZC5wdXNoKGVuZCk7CisgICAgICB9CisKKyAgICAg
IHNjaGVkdWxlLm9uID0gb24xOworICAgIH0pOworICB9KTsKK30KKwordmFyIGlkID0gMDsKKwor
ZnVuY3Rpb24gVHJhbnNpdGlvbihncm91cHMsIHBhcmVudHMsIG5hbWUsIGlkKSB7CisgIHRoaXMu
X2dyb3VwcyA9IGdyb3VwczsKKyAgdGhpcy5fcGFyZW50cyA9IHBhcmVudHM7CisgIHRoaXMuX25h
bWUgPSBuYW1lOworICB0aGlzLl9pZCA9IGlkOworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uKG5h
bWUpIHsKKyAgcmV0dXJuIHNlbGVjdGlvbigpLnRyYW5zaXRpb24obmFtZSk7Cit9CisKK2Z1bmN0
aW9uIG5ld0lkKCkgeworICByZXR1cm4gKytpZDsKK30KKwordmFyIHNlbGVjdGlvbl9wcm90b3R5
cGUgPSBzZWxlY3Rpb24ucHJvdG90eXBlOworCitUcmFuc2l0aW9uLnByb3RvdHlwZSA9IHRyYW5z
aXRpb24ucHJvdG90eXBlID0geworICBjb25zdHJ1Y3RvcjogVHJhbnNpdGlvbiwKKyAgc2VsZWN0
OiB0cmFuc2l0aW9uX3NlbGVjdCwKKyAgc2VsZWN0QWxsOiB0cmFuc2l0aW9uX3NlbGVjdEFsbCwK
KyAgZmlsdGVyOiB0cmFuc2l0aW9uX2ZpbHRlciwKKyAgbWVyZ2U6IHRyYW5zaXRpb25fbWVyZ2Us
CisgIHNlbGVjdGlvbjogdHJhbnNpdGlvbl9zZWxlY3Rpb24sCisgIHRyYW5zaXRpb246IHRyYW5z
aXRpb25fdHJhbnNpdGlvbiwKKyAgY2FsbDogc2VsZWN0aW9uX3Byb3RvdHlwZS5jYWxsLAorICBu
b2Rlczogc2VsZWN0aW9uX3Byb3RvdHlwZS5ub2RlcywKKyAgbm9kZTogc2VsZWN0aW9uX3Byb3Rv
dHlwZS5ub2RlLAorICBzaXplOiBzZWxlY3Rpb25fcHJvdG90eXBlLnNpemUsCisgIGVtcHR5OiBz
ZWxlY3Rpb25fcHJvdG90eXBlLmVtcHR5LAorICBlYWNoOiBzZWxlY3Rpb25fcHJvdG90eXBlLmVh
Y2gsCisgIG9uOiB0cmFuc2l0aW9uX29uLAorICBhdHRyOiB0cmFuc2l0aW9uX2F0dHIsCisgIGF0
dHJUd2VlbjogdHJhbnNpdGlvbl9hdHRyVHdlZW4sCisgIHN0eWxlOiB0cmFuc2l0aW9uX3N0eWxl
LAorICBzdHlsZVR3ZWVuOiB0cmFuc2l0aW9uX3N0eWxlVHdlZW4sCisgIHRleHQ6IHRyYW5zaXRp
b25fdGV4dCwKKyAgdGV4dFR3ZWVuOiB0cmFuc2l0aW9uX3RleHRUd2VlbiwKKyAgcmVtb3ZlOiB0
cmFuc2l0aW9uX3JlbW92ZSwKKyAgdHdlZW46IHRyYW5zaXRpb25fdHdlZW4sCisgIGRlbGF5OiB0
cmFuc2l0aW9uX2RlbGF5LAorICBkdXJhdGlvbjogdHJhbnNpdGlvbl9kdXJhdGlvbiwKKyAgZWFz
ZTogdHJhbnNpdGlvbl9lYXNlLAorICBlbmQ6IHRyYW5zaXRpb25fZW5kCit9OworCitmdW5jdGlv
biBsaW5lYXIkMSh0KSB7CisgIHJldHVybiArdDsKK30KKworZnVuY3Rpb24gcXVhZEluKHQpIHsK
KyAgcmV0dXJuIHQgKiB0OworfQorCitmdW5jdGlvbiBxdWFkT3V0KHQpIHsKKyAgcmV0dXJuIHQg
KiAoMiAtIHQpOworfQorCitmdW5jdGlvbiBxdWFkSW5PdXQodCkgeworICByZXR1cm4gKCh0ICo9
IDIpIDw9IDEgPyB0ICogdCA6IC0tdCAqICgyIC0gdCkgKyAxKSAvIDI7Cit9CisKK2Z1bmN0aW9u
IGN1YmljSW4odCkgeworICByZXR1cm4gdCAqIHQgKiB0OworfQorCitmdW5jdGlvbiBjdWJpY091
dCh0KSB7CisgIHJldHVybiAtLXQgKiB0ICogdCArIDE7Cit9CisKK2Z1bmN0aW9uIGN1YmljSW5P
dXQodCkgeworICByZXR1cm4gKCh0ICo9IDIpIDw9IDEgPyB0ICogdCAqIHQgOiAodCAtPSAyKSAq
IHQgKiB0ICsgMikgLyAyOworfQorCit2YXIgZXhwb25lbnQgPSAzOworCit2YXIgcG9seUluID0g
KGZ1bmN0aW9uIGN1c3RvbShlKSB7CisgIGUgPSArZTsKKworICBmdW5jdGlvbiBwb2x5SW4odCkg
eworICAgIHJldHVybiBNYXRoLnBvdyh0LCBlKTsKKyAgfQorCisgIHBvbHlJbi5leHBvbmVudCA9
IGN1c3RvbTsKKworICByZXR1cm4gcG9seUluOworfSkoZXhwb25lbnQpOworCit2YXIgcG9seU91
dCA9IChmdW5jdGlvbiBjdXN0b20oZSkgeworICBlID0gK2U7CisKKyAgZnVuY3Rpb24gcG9seU91
dCh0KSB7CisgICAgcmV0dXJuIDEgLSBNYXRoLnBvdygxIC0gdCwgZSk7CisgIH0KKworICBwb2x5
T3V0LmV4cG9uZW50ID0gY3VzdG9tOworCisgIHJldHVybiBwb2x5T3V0OworfSkoZXhwb25lbnQp
OworCit2YXIgcG9seUluT3V0ID0gKGZ1bmN0aW9uIGN1c3RvbShlKSB7CisgIGUgPSArZTsKKwor
ICBmdW5jdGlvbiBwb2x5SW5PdXQodCkgeworICAgIHJldHVybiAoKHQgKj0gMikgPD0gMSA/IE1h
dGgucG93KHQsIGUpIDogMiAtIE1hdGgucG93KDIgLSB0LCBlKSkgLyAyOworICB9CisKKyAgcG9s
eUluT3V0LmV4cG9uZW50ID0gY3VzdG9tOworCisgIHJldHVybiBwb2x5SW5PdXQ7Cit9KShleHBv
bmVudCk7CisKK3ZhciBwaSA9IE1hdGguUEksCisgICAgaGFsZlBpID0gcGkgLyAyOworCitmdW5j
dGlvbiBzaW5Jbih0KSB7CisgIHJldHVybiAxIC0gTWF0aC5jb3ModCAqIGhhbGZQaSk7Cit9CisK
K2Z1bmN0aW9uIHNpbk91dCh0KSB7CisgIHJldHVybiBNYXRoLnNpbih0ICogaGFsZlBpKTsKK30K
KworZnVuY3Rpb24gc2luSW5PdXQodCkgeworICByZXR1cm4gKDEgLSBNYXRoLmNvcyhwaSAqIHQp
KSAvIDI7Cit9CisKK2Z1bmN0aW9uIGV4cEluKHQpIHsKKyAgcmV0dXJuIE1hdGgucG93KDIsIDEw
ICogdCAtIDEwKTsKK30KKworZnVuY3Rpb24gZXhwT3V0KHQpIHsKKyAgcmV0dXJuIDEgLSBNYXRo
LnBvdygyLCAtMTAgKiB0KTsKK30KKworZnVuY3Rpb24gZXhwSW5PdXQodCkgeworICByZXR1cm4g
KCh0ICo9IDIpIDw9IDEgPyBNYXRoLnBvdygyLCAxMCAqIHQgLSAxMCkgOiAyIC0gTWF0aC5wb3co
MiwgMTAgLSAxMCAqIHQpKSAvIDI7Cit9CisKK2Z1bmN0aW9uIGNpcmNsZUluKHQpIHsKKyAgcmV0
dXJuIDEgLSBNYXRoLnNxcnQoMSAtIHQgKiB0KTsKK30KKworZnVuY3Rpb24gY2lyY2xlT3V0KHQp
IHsKKyAgcmV0dXJuIE1hdGguc3FydCgxIC0gLS10ICogdCk7Cit9CisKK2Z1bmN0aW9uIGNpcmNs
ZUluT3V0KHQpIHsKKyAgcmV0dXJuICgodCAqPSAyKSA8PSAxID8gMSAtIE1hdGguc3FydCgxIC0g
dCAqIHQpIDogTWF0aC5zcXJ0KDEgLSAodCAtPSAyKSAqIHQpICsgMSkgLyAyOworfQorCit2YXIg
YjEgPSA0IC8gMTEsCisgICAgYjIgPSA2IC8gMTEsCisgICAgYjMgPSA4IC8gMTEsCisgICAgYjQg
PSAzIC8gNCwKKyAgICBiNSA9IDkgLyAxMSwKKyAgICBiNiA9IDEwIC8gMTEsCisgICAgYjcgPSAx
NSAvIDE2LAorICAgIGI4ID0gMjEgLyAyMiwKKyAgICBiOSA9IDYzIC8gNjQsCisgICAgYjAgPSAx
IC8gYjEgLyBiMTsKKworZnVuY3Rpb24gYm91bmNlSW4odCkgeworICByZXR1cm4gMSAtIGJvdW5j
ZU91dCgxIC0gdCk7Cit9CisKK2Z1bmN0aW9uIGJvdW5jZU91dCh0KSB7CisgIHJldHVybiAodCA9
ICt0KSA8IGIxID8gYjAgKiB0ICogdCA6IHQgPCBiMyA/IGIwICogKHQgLT0gYjIpICogdCArIGI0
IDogdCA8IGI2ID8gYjAgKiAodCAtPSBiNSkgKiB0ICsgYjcgOiBiMCAqICh0IC09IGI4KSAqIHQg
KyBiOTsKK30KKworZnVuY3Rpb24gYm91bmNlSW5PdXQodCkgeworICByZXR1cm4gKCh0ICo9IDIp
IDw9IDEgPyAxIC0gYm91bmNlT3V0KDEgLSB0KSA6IGJvdW5jZU91dCh0IC0gMSkgKyAxKSAvIDI7
Cit9CisKK3ZhciBvdmVyc2hvb3QgPSAxLjcwMTU4OworCit2YXIgYmFja0luID0gKGZ1bmN0aW9u
IGN1c3RvbShzKSB7CisgIHMgPSArczsKKworICBmdW5jdGlvbiBiYWNrSW4odCkgeworICAgIHJl
dHVybiB0ICogdCAqICgocyArIDEpICogdCAtIHMpOworICB9CisKKyAgYmFja0luLm92ZXJzaG9v
dCA9IGN1c3RvbTsKKworICByZXR1cm4gYmFja0luOworfSkob3ZlcnNob290KTsKKwordmFyIGJh
Y2tPdXQgPSAoZnVuY3Rpb24gY3VzdG9tKHMpIHsKKyAgcyA9ICtzOworCisgIGZ1bmN0aW9uIGJh
Y2tPdXQodCkgeworICAgIHJldHVybiAtLXQgKiB0ICogKChzICsgMSkgKiB0ICsgcykgKyAxOwor
ICB9CisKKyAgYmFja091dC5vdmVyc2hvb3QgPSBjdXN0b207CisKKyAgcmV0dXJuIGJhY2tPdXQ7
Cit9KShvdmVyc2hvb3QpOworCit2YXIgYmFja0luT3V0ID0gKGZ1bmN0aW9uIGN1c3RvbShzKSB7
CisgIHMgPSArczsKKworICBmdW5jdGlvbiBiYWNrSW5PdXQodCkgeworICAgIHJldHVybiAoKHQg
Kj0gMikgPCAxID8gdCAqIHQgKiAoKHMgKyAxKSAqIHQgLSBzKSA6ICh0IC09IDIpICogdCAqICgo
cyArIDEpICogdCArIHMpICsgMikgLyAyOworICB9CisKKyAgYmFja0luT3V0Lm92ZXJzaG9vdCA9
IGN1c3RvbTsKKworICByZXR1cm4gYmFja0luT3V0OworfSkob3ZlcnNob290KTsKKwordmFyIHRh
dSA9IDIgKiBNYXRoLlBJLAorICAgIGFtcGxpdHVkZSA9IDEsCisgICAgcGVyaW9kID0gMC4zOwor
Cit2YXIgZWxhc3RpY0luID0gKGZ1bmN0aW9uIGN1c3RvbShhLCBwKSB7CisgIHZhciBzID0gTWF0
aC5hc2luKDEgLyAoYSA9IE1hdGgubWF4KDEsIGEpKSkgKiAocCAvPSB0YXUpOworCisgIGZ1bmN0
aW9uIGVsYXN0aWNJbih0KSB7CisgICAgcmV0dXJuIGEgKiBNYXRoLnBvdygyLCAxMCAqIC0tdCkg
KiBNYXRoLnNpbigocyAtIHQpIC8gcCk7CisgIH0KKworICBlbGFzdGljSW4uYW1wbGl0dWRlID0g
ZnVuY3Rpb24oYSkgeyByZXR1cm4gY3VzdG9tKGEsIHAgKiB0YXUpOyB9OworICBlbGFzdGljSW4u
cGVyaW9kID0gZnVuY3Rpb24ocCkgeyByZXR1cm4gY3VzdG9tKGEsIHApOyB9OworCisgIHJldHVy
biBlbGFzdGljSW47Cit9KShhbXBsaXR1ZGUsIHBlcmlvZCk7CisKK3ZhciBlbGFzdGljT3V0ID0g
KGZ1bmN0aW9uIGN1c3RvbShhLCBwKSB7CisgIHZhciBzID0gTWF0aC5hc2luKDEgLyAoYSA9IE1h
dGgubWF4KDEsIGEpKSkgKiAocCAvPSB0YXUpOworCisgIGZ1bmN0aW9uIGVsYXN0aWNPdXQodCkg
eworICAgIHJldHVybiAxIC0gYSAqIE1hdGgucG93KDIsIC0xMCAqICh0ID0gK3QpKSAqIE1hdGgu
c2luKCh0ICsgcykgLyBwKTsKKyAgfQorCisgIGVsYXN0aWNPdXQuYW1wbGl0dWRlID0gZnVuY3Rp
b24oYSkgeyByZXR1cm4gY3VzdG9tKGEsIHAgKiB0YXUpOyB9OworICBlbGFzdGljT3V0LnBlcmlv
ZCA9IGZ1bmN0aW9uKHApIHsgcmV0dXJuIGN1c3RvbShhLCBwKTsgfTsKKworICByZXR1cm4gZWxh
c3RpY091dDsKK30pKGFtcGxpdHVkZSwgcGVyaW9kKTsKKwordmFyIGVsYXN0aWNJbk91dCA9IChm
dW5jdGlvbiBjdXN0b20oYSwgcCkgeworICB2YXIgcyA9IE1hdGguYXNpbigxIC8gKGEgPSBNYXRo
Lm1heCgxLCBhKSkpICogKHAgLz0gdGF1KTsKKworICBmdW5jdGlvbiBlbGFzdGljSW5PdXQodCkg
eworICAgIHJldHVybiAoKHQgPSB0ICogMiAtIDEpIDwgMAorICAgICAgICA/IGEgKiBNYXRoLnBv
dygyLCAxMCAqIHQpICogTWF0aC5zaW4oKHMgLSB0KSAvIHApCisgICAgICAgIDogMiAtIGEgKiBN
YXRoLnBvdygyLCAtMTAgKiB0KSAqIE1hdGguc2luKChzICsgdCkgLyBwKSkgLyAyOworICB9CisK
KyAgZWxhc3RpY0luT3V0LmFtcGxpdHVkZSA9IGZ1bmN0aW9uKGEpIHsgcmV0dXJuIGN1c3RvbShh
LCBwICogdGF1KTsgfTsKKyAgZWxhc3RpY0luT3V0LnBlcmlvZCA9IGZ1bmN0aW9uKHApIHsgcmV0
dXJuIGN1c3RvbShhLCBwKTsgfTsKKworICByZXR1cm4gZWxhc3RpY0luT3V0OworfSkoYW1wbGl0
dWRlLCBwZXJpb2QpOworCit2YXIgZGVmYXVsdFRpbWluZyA9IHsKKyAgdGltZTogbnVsbCwgLy8g
U2V0IG9uIHVzZS4KKyAgZGVsYXk6IDAsCisgIGR1cmF0aW9uOiAyNTAsCisgIGVhc2U6IGN1Ymlj
SW5PdXQKK307CisKK2Z1bmN0aW9uIGluaGVyaXQobm9kZSwgaWQpIHsKKyAgdmFyIHRpbWluZzsK
KyAgd2hpbGUgKCEodGltaW5nID0gbm9kZS5fX3RyYW5zaXRpb24pIHx8ICEodGltaW5nID0gdGlt
aW5nW2lkXSkpIHsKKyAgICBpZiAoIShub2RlID0gbm9kZS5wYXJlbnROb2RlKSkgeworICAgICAg
cmV0dXJuIGRlZmF1bHRUaW1pbmcudGltZSA9IG5vdygpLCBkZWZhdWx0VGltaW5nOworICAgIH0K
KyAgfQorICByZXR1cm4gdGltaW5nOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fdHJhbnNpdGlv
bihuYW1lKSB7CisgIHZhciBpZCwKKyAgICAgIHRpbWluZzsKKworICBpZiAobmFtZSBpbnN0YW5j
ZW9mIFRyYW5zaXRpb24pIHsKKyAgICBpZCA9IG5hbWUuX2lkLCBuYW1lID0gbmFtZS5fbmFtZTsK
KyAgfSBlbHNlIHsKKyAgICBpZCA9IG5ld0lkKCksICh0aW1pbmcgPSBkZWZhdWx0VGltaW5nKS50
aW1lID0gbm93KCksIG5hbWUgPSBuYW1lID09IG51bGwgPyBudWxsIDogbmFtZSArICIiOworICB9
CisKKyAgZm9yICh2YXIgZ3JvdXBzID0gdGhpcy5fZ3JvdXBzLCBtID0gZ3JvdXBzLmxlbmd0aCwg
aiA9IDA7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdyb3Vwc1tqXSwgbiA9
IGdyb3VwLmxlbmd0aCwgbm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChub2Rl
ID0gZ3JvdXBbaV0pIHsKKyAgICAgICAgc2NoZWR1bGUobm9kZSwgbmFtZSwgaWQsIGksIGdyb3Vw
LCB0aW1pbmcgfHwgaW5oZXJpdChub2RlLCBpZCkpOworICAgICAgfQorICAgIH0KKyAgfQorCisg
IHJldHVybiBuZXcgVHJhbnNpdGlvbihncm91cHMsIHRoaXMuX3BhcmVudHMsIG5hbWUsIGlkKTsK
K30KKworc2VsZWN0aW9uLnByb3RvdHlwZS5pbnRlcnJ1cHQgPSBzZWxlY3Rpb25faW50ZXJydXB0
Oworc2VsZWN0aW9uLnByb3RvdHlwZS50cmFuc2l0aW9uID0gc2VsZWN0aW9uX3RyYW5zaXRpb247
CisKK3ZhciByb290JDEgPSBbbnVsbF07CisKK2Z1bmN0aW9uIGFjdGl2ZShub2RlLCBuYW1lKSB7
CisgIHZhciBzY2hlZHVsZXMgPSBub2RlLl9fdHJhbnNpdGlvbiwKKyAgICAgIHNjaGVkdWxlLAor
ICAgICAgaTsKKworICBpZiAoc2NoZWR1bGVzKSB7CisgICAgbmFtZSA9IG5hbWUgPT0gbnVsbCA/
IG51bGwgOiBuYW1lICsgIiI7CisgICAgZm9yIChpIGluIHNjaGVkdWxlcykgeworICAgICAgaWYg
KChzY2hlZHVsZSA9IHNjaGVkdWxlc1tpXSkuc3RhdGUgPiBTQ0hFRFVMRUQgJiYgc2NoZWR1bGUu
bmFtZSA9PT0gbmFtZSkgeworICAgICAgICByZXR1cm4gbmV3IFRyYW5zaXRpb24oW1tub2RlXV0s
IHJvb3QkMSwgbmFtZSwgK2kpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBudWxs
OworfQorCitmdW5jdGlvbiBjb25zdGFudCQ0KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgewor
ICAgIHJldHVybiB4OworICB9OworfQorCitmdW5jdGlvbiBCcnVzaEV2ZW50KHRhcmdldCwgdHlw
ZSwgc2VsZWN0aW9uKSB7CisgIHRoaXMudGFyZ2V0ID0gdGFyZ2V0OworICB0aGlzLnR5cGUgPSB0
eXBlOworICB0aGlzLnNlbGVjdGlvbiA9IHNlbGVjdGlvbjsKK30KKworZnVuY3Rpb24gbm9wcm9w
YWdhdGlvbiQxKCkgeworICBleHBvcnRzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigp
OworfQorCitmdW5jdGlvbiBub2V2ZW50JDEoKSB7CisgIGV4cG9ydHMuZXZlbnQucHJldmVudERl
ZmF1bHQoKTsKKyAgZXhwb3J0cy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsKK30K
KwordmFyIE1PREVfRFJBRyA9IHtuYW1lOiAiZHJhZyJ9LAorICAgIE1PREVfU1BBQ0UgPSB7bmFt
ZTogInNwYWNlIn0sCisgICAgTU9ERV9IQU5ETEUgPSB7bmFtZTogImhhbmRsZSJ9LAorICAgIE1P
REVfQ0VOVEVSID0ge25hbWU6ICJjZW50ZXIifTsKKworZnVuY3Rpb24gbnVtYmVyMShlKSB7Cisg
IHJldHVybiBbK2VbMF0sICtlWzFdXTsKK30KKworZnVuY3Rpb24gbnVtYmVyMihlKSB7CisgIHJl
dHVybiBbbnVtYmVyMShlWzBdKSwgbnVtYmVyMShlWzFdKV07Cit9CisKK2Z1bmN0aW9uIHRvdWNo
ZXIoaWRlbnRpZmllcikgeworICByZXR1cm4gZnVuY3Rpb24odGFyZ2V0KSB7CisgICAgcmV0dXJu
IHRvdWNoKHRhcmdldCwgZXhwb3J0cy5ldmVudC50b3VjaGVzLCBpZGVudGlmaWVyKTsKKyAgfTsK
K30KKwordmFyIFggPSB7CisgIG5hbWU6ICJ4IiwKKyAgaGFuZGxlczogWyJ3IiwgImUiXS5tYXAo
dHlwZSksCisgIGlucHV0OiBmdW5jdGlvbih4LCBlKSB7IHJldHVybiB4ID09IG51bGwgPyBudWxs
IDogW1sreFswXSwgZVswXVsxXV0sIFsreFsxXSwgZVsxXVsxXV1dOyB9LAorICBvdXRwdXQ6IGZ1
bmN0aW9uKHh5KSB7IHJldHVybiB4eSAmJiBbeHlbMF1bMF0sIHh5WzFdWzBdXTsgfQorfTsKKwor
dmFyIFkgPSB7CisgIG5hbWU6ICJ5IiwKKyAgaGFuZGxlczogWyJuIiwgInMiXS5tYXAodHlwZSks
CisgIGlucHV0OiBmdW5jdGlvbih5LCBlKSB7IHJldHVybiB5ID09IG51bGwgPyBudWxsIDogW1tl
WzBdWzBdLCAreVswXV0sIFtlWzFdWzBdLCAreVsxXV1dOyB9LAorICBvdXRwdXQ6IGZ1bmN0aW9u
KHh5KSB7IHJldHVybiB4eSAmJiBbeHlbMF1bMV0sIHh5WzFdWzFdXTsgfQorfTsKKwordmFyIFhZ
ID0geworICBuYW1lOiAieHkiLAorICBoYW5kbGVzOiBbIm4iLCAidyIsICJlIiwgInMiLCAibnci
LCAibmUiLCAic3ciLCAic2UiXS5tYXAodHlwZSksCisgIGlucHV0OiBmdW5jdGlvbih4eSkgeyBy
ZXR1cm4geHkgPT0gbnVsbCA/IG51bGwgOiBudW1iZXIyKHh5KTsgfSwKKyAgb3V0cHV0OiBmdW5j
dGlvbih4eSkgeyByZXR1cm4geHk7IH0KK307CisKK3ZhciBjdXJzb3JzID0geworICBvdmVybGF5
OiAiY3Jvc3NoYWlyIiwKKyAgc2VsZWN0aW9uOiAibW92ZSIsCisgIG46ICJucy1yZXNpemUiLAor
ICBlOiAiZXctcmVzaXplIiwKKyAgczogIm5zLXJlc2l6ZSIsCisgIHc6ICJldy1yZXNpemUiLAor
ICBudzogIm53c2UtcmVzaXplIiwKKyAgbmU6ICJuZXN3LXJlc2l6ZSIsCisgIHNlOiAibndzZS1y
ZXNpemUiLAorICBzdzogIm5lc3ctcmVzaXplIgorfTsKKwordmFyIGZsaXBYID0geworICBlOiAi
dyIsCisgIHc6ICJlIiwKKyAgbnc6ICJuZSIsCisgIG5lOiAibnciLAorICBzZTogInN3IiwKKyAg
c3c6ICJzZSIKK307CisKK3ZhciBmbGlwWSA9IHsKKyAgbjogInMiLAorICBzOiAibiIsCisgIG53
OiAic3ciLAorICBuZTogInNlIiwKKyAgc2U6ICJuZSIsCisgIHN3OiAibnciCit9OworCit2YXIg
c2lnbnNYID0geworICBvdmVybGF5OiArMSwKKyAgc2VsZWN0aW9uOiArMSwKKyAgbjogbnVsbCwK
KyAgZTogKzEsCisgIHM6IG51bGwsCisgIHc6IC0xLAorICBudzogLTEsCisgIG5lOiArMSwKKyAg
c2U6ICsxLAorICBzdzogLTEKK307CisKK3ZhciBzaWduc1kgPSB7CisgIG92ZXJsYXk6ICsxLAor
ICBzZWxlY3Rpb246ICsxLAorICBuOiAtMSwKKyAgZTogbnVsbCwKKyAgczogKzEsCisgIHc6IG51
bGwsCisgIG53OiAtMSwKKyAgbmU6IC0xLAorICBzZTogKzEsCisgIHN3OiArMQorfTsKKworZnVu
Y3Rpb24gdHlwZSh0KSB7CisgIHJldHVybiB7dHlwZTogdH07Cit9CisKKy8vIElnbm9yZSByaWdo
dC1jbGljaywgc2luY2UgdGhhdCBzaG91bGQgb3BlbiB0aGUgY29udGV4dCBtZW51LgorZnVuY3Rp
b24gZGVmYXVsdEZpbHRlciQxKCkgeworICByZXR1cm4gIWV4cG9ydHMuZXZlbnQuY3RybEtleSAm
JiAhZXhwb3J0cy5ldmVudC5idXR0b247Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRFeHRlbnQoKSB7
CisgIHZhciBzdmcgPSB0aGlzLm93bmVyU1ZHRWxlbWVudCB8fCB0aGlzOworICBpZiAoc3ZnLmhh
c0F0dHJpYnV0ZSgidmlld0JveCIpKSB7CisgICAgc3ZnID0gc3ZnLnZpZXdCb3guYmFzZVZhbDsK
KyAgICByZXR1cm4gW1tzdmcueCwgc3ZnLnldLCBbc3ZnLnggKyBzdmcud2lkdGgsIHN2Zy55ICsg
c3ZnLmhlaWdodF1dOworICB9CisgIHJldHVybiBbWzAsIDBdLCBbc3ZnLndpZHRoLmJhc2VWYWwu
dmFsdWUsIHN2Zy5oZWlnaHQuYmFzZVZhbC52YWx1ZV1dOworfQorCitmdW5jdGlvbiBkZWZhdWx0
VG91Y2hhYmxlJDEoKSB7CisgIHJldHVybiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgfHwgKCJv
bnRvdWNoc3RhcnQiIGluIHRoaXMpOworfQorCisvLyBMaWtlIGQzLmxvY2FsLCBidXQgd2l0aCB0
aGUgbmFtZSDigJxfX2JydXNo4oCdIHJhdGhlciB0aGFuIGF1dG8tZ2VuZXJhdGVkLgorZnVuY3Rp
b24gbG9jYWwkMShub2RlKSB7CisgIHdoaWxlICghbm9kZS5fX2JydXNoKSBpZiAoIShub2RlID0g
bm9kZS5wYXJlbnROb2RlKSkgcmV0dXJuOworICByZXR1cm4gbm9kZS5fX2JydXNoOworfQorCitm
dW5jdGlvbiBlbXB0eSQxKGV4dGVudCkgeworICByZXR1cm4gZXh0ZW50WzBdWzBdID09PSBleHRl
bnRbMV1bMF0KKyAgICAgIHx8IGV4dGVudFswXVsxXSA9PT0gZXh0ZW50WzFdWzFdOworfQorCitm
dW5jdGlvbiBicnVzaFNlbGVjdGlvbihub2RlKSB7CisgIHZhciBzdGF0ZSA9IG5vZGUuX19icnVz
aDsKKyAgcmV0dXJuIHN0YXRlID8gc3RhdGUuZGltLm91dHB1dChzdGF0ZS5zZWxlY3Rpb24pIDog
bnVsbDsKK30KKworZnVuY3Rpb24gYnJ1c2hYKCkgeworICByZXR1cm4gYnJ1c2gkMShYKTsKK30K
KworZnVuY3Rpb24gYnJ1c2hZKCkgeworICByZXR1cm4gYnJ1c2gkMShZKTsKK30KKworZnVuY3Rp
b24gYnJ1c2goKSB7CisgIHJldHVybiBicnVzaCQxKFhZKTsKK30KKworZnVuY3Rpb24gYnJ1c2gk
MShkaW0pIHsKKyAgdmFyIGV4dGVudCA9IGRlZmF1bHRFeHRlbnQsCisgICAgICBmaWx0ZXIgPSBk
ZWZhdWx0RmlsdGVyJDEsCisgICAgICB0b3VjaGFibGUgPSBkZWZhdWx0VG91Y2hhYmxlJDEsCisg
ICAgICBrZXlzID0gdHJ1ZSwKKyAgICAgIGxpc3RlbmVycyA9IGRpc3BhdGNoKCJzdGFydCIsICJi
cnVzaCIsICJlbmQiKSwKKyAgICAgIGhhbmRsZVNpemUgPSA2LAorICAgICAgdG91Y2hlbmRpbmc7
CisKKyAgZnVuY3Rpb24gYnJ1c2goZ3JvdXApIHsKKyAgICB2YXIgb3ZlcmxheSA9IGdyb3VwCisg
ICAgICAgIC5wcm9wZXJ0eSgiX19icnVzaCIsIGluaXRpYWxpemUpCisgICAgICAuc2VsZWN0QWxs
KCIub3ZlcmxheSIpCisgICAgICAuZGF0YShbdHlwZSgib3ZlcmxheSIpXSk7CisKKyAgICBvdmVy
bGF5LmVudGVyKCkuYXBwZW5kKCJyZWN0IikKKyAgICAgICAgLmF0dHIoImNsYXNzIiwgIm92ZXJs
YXkiKQorICAgICAgICAuYXR0cigicG9pbnRlci1ldmVudHMiLCAiYWxsIikKKyAgICAgICAgLmF0
dHIoImN1cnNvciIsIGN1cnNvcnMub3ZlcmxheSkKKyAgICAgIC5tZXJnZShvdmVybGF5KQorICAg
ICAgICAuZWFjaChmdW5jdGlvbigpIHsKKyAgICAgICAgICB2YXIgZXh0ZW50ID0gbG9jYWwkMSh0
aGlzKS5leHRlbnQ7CisgICAgICAgICAgc2VsZWN0KHRoaXMpCisgICAgICAgICAgICAgIC5hdHRy
KCJ4IiwgZXh0ZW50WzBdWzBdKQorICAgICAgICAgICAgICAuYXR0cigieSIsIGV4dGVudFswXVsx
XSkKKyAgICAgICAgICAgICAgLmF0dHIoIndpZHRoIiwgZXh0ZW50WzFdWzBdIC0gZXh0ZW50WzBd
WzBdKQorICAgICAgICAgICAgICAuYXR0cigiaGVpZ2h0IiwgZXh0ZW50WzFdWzFdIC0gZXh0ZW50
WzBdWzFdKTsKKyAgICAgICAgfSk7CisKKyAgICBncm91cC5zZWxlY3RBbGwoIi5zZWxlY3Rpb24i
KQorICAgICAgLmRhdGEoW3R5cGUoInNlbGVjdGlvbiIpXSkKKyAgICAgIC5lbnRlcigpLmFwcGVu
ZCgicmVjdCIpCisgICAgICAgIC5hdHRyKCJjbGFzcyIsICJzZWxlY3Rpb24iKQorICAgICAgICAu
YXR0cigiY3Vyc29yIiwgY3Vyc29ycy5zZWxlY3Rpb24pCisgICAgICAgIC5hdHRyKCJmaWxsIiwg
IiM3NzciKQorICAgICAgICAuYXR0cigiZmlsbC1vcGFjaXR5IiwgMC4zKQorICAgICAgICAuYXR0
cigic3Ryb2tlIiwgIiNmZmYiKQorICAgICAgICAuYXR0cigic2hhcGUtcmVuZGVyaW5nIiwgImNy
aXNwRWRnZXMiKTsKKworICAgIHZhciBoYW5kbGUgPSBncm91cC5zZWxlY3RBbGwoIi5oYW5kbGUi
KQorICAgICAgLmRhdGEoZGltLmhhbmRsZXMsIGZ1bmN0aW9uKGQpIHsgcmV0dXJuIGQudHlwZTsg
fSk7CisKKyAgICBoYW5kbGUuZXhpdCgpLnJlbW92ZSgpOworCisgICAgaGFuZGxlLmVudGVyKCku
YXBwZW5kKCJyZWN0IikKKyAgICAgICAgLmF0dHIoImNsYXNzIiwgZnVuY3Rpb24oZCkgeyByZXR1
cm4gImhhbmRsZSBoYW5kbGUtLSIgKyBkLnR5cGU7IH0pCisgICAgICAgIC5hdHRyKCJjdXJzb3Ii
LCBmdW5jdGlvbihkKSB7IHJldHVybiBjdXJzb3JzW2QudHlwZV07IH0pOworCisgICAgZ3JvdXAK
KyAgICAgICAgLmVhY2gocmVkcmF3KQorICAgICAgICAuYXR0cigiZmlsbCIsICJub25lIikKKyAg
ICAgICAgLmF0dHIoInBvaW50ZXItZXZlbnRzIiwgImFsbCIpCisgICAgICAgIC5vbigibW91c2Vk
b3duLmJydXNoIiwgc3RhcnRlZCkKKyAgICAgIC5maWx0ZXIodG91Y2hhYmxlKQorICAgICAgICAu
b24oInRvdWNoc3RhcnQuYnJ1c2giLCBzdGFydGVkKQorICAgICAgICAub24oInRvdWNobW92ZS5i
cnVzaCIsIHRvdWNobW92ZWQpCisgICAgICAgIC5vbigidG91Y2hlbmQuYnJ1c2ggdG91Y2hjYW5j
ZWwuYnJ1c2giLCB0b3VjaGVuZGVkKQorICAgICAgICAuc3R5bGUoInRvdWNoLWFjdGlvbiIsICJu
b25lIikKKyAgICAgICAgLnN0eWxlKCItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IiLCAicmdi
YSgwLDAsMCwwKSIpOworICB9CisKKyAgYnJ1c2gubW92ZSA9IGZ1bmN0aW9uKGdyb3VwLCBzZWxl
Y3Rpb24pIHsKKyAgICBpZiAoZ3JvdXAuc2VsZWN0aW9uKSB7CisgICAgICBncm91cAorICAgICAg
ICAgIC5vbigic3RhcnQuYnJ1c2giLCBmdW5jdGlvbigpIHsgZW1pdHRlcih0aGlzLCBhcmd1bWVu
dHMpLmJlZm9yZXN0YXJ0KCkuc3RhcnQoKTsgfSkKKyAgICAgICAgICAub24oImludGVycnVwdC5i
cnVzaCBlbmQuYnJ1c2giLCBmdW5jdGlvbigpIHsgZW1pdHRlcih0aGlzLCBhcmd1bWVudHMpLmVu
ZCgpOyB9KQorICAgICAgICAgIC50d2VlbigiYnJ1c2giLCBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgIHZhciB0aGF0ID0gdGhpcywKKyAgICAgICAgICAgICAgICBzdGF0ZSA9IHRoYXQuX19icnVz
aCwKKyAgICAgICAgICAgICAgICBlbWl0ID0gZW1pdHRlcih0aGF0LCBhcmd1bWVudHMpLAorICAg
ICAgICAgICAgICAgIHNlbGVjdGlvbjAgPSBzdGF0ZS5zZWxlY3Rpb24sCisgICAgICAgICAgICAg
ICAgc2VsZWN0aW9uMSA9IGRpbS5pbnB1dCh0eXBlb2Ygc2VsZWN0aW9uID09PSAiZnVuY3Rpb24i
ID8gc2VsZWN0aW9uLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgOiBzZWxlY3Rpb24sIHN0YXRlLmV4
dGVudCksCisgICAgICAgICAgICAgICAgaSA9IGludGVycG9sYXRlVmFsdWUoc2VsZWN0aW9uMCwg
c2VsZWN0aW9uMSk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHR3ZWVuKHQpIHsKKyAgICAgICAg
ICAgICAgc3RhdGUuc2VsZWN0aW9uID0gdCA9PT0gMSAmJiBzZWxlY3Rpb24xID09PSBudWxsID8g
bnVsbCA6IGkodCk7CisgICAgICAgICAgICAgIHJlZHJhdy5jYWxsKHRoYXQpOworICAgICAgICAg
ICAgICBlbWl0LmJydXNoKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJldHVybiBz
ZWxlY3Rpb24wICE9PSBudWxsICYmIHNlbGVjdGlvbjEgIT09IG51bGwgPyB0d2VlbiA6IHR3ZWVu
KDEpOworICAgICAgICAgIH0pOworICAgIH0gZWxzZSB7CisgICAgICBncm91cAorICAgICAgICAg
IC5lYWNoKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzLAorICAgICAg
ICAgICAgICAgIGFyZ3MgPSBhcmd1bWVudHMsCisgICAgICAgICAgICAgICAgc3RhdGUgPSB0aGF0
Ll9fYnJ1c2gsCisgICAgICAgICAgICAgICAgc2VsZWN0aW9uMSA9IGRpbS5pbnB1dCh0eXBlb2Yg
c2VsZWN0aW9uID09PSAiZnVuY3Rpb24iID8gc2VsZWN0aW9uLmFwcGx5KHRoYXQsIGFyZ3MpIDog
c2VsZWN0aW9uLCBzdGF0ZS5leHRlbnQpLAorICAgICAgICAgICAgICAgIGVtaXQgPSBlbWl0dGVy
KHRoYXQsIGFyZ3MpLmJlZm9yZXN0YXJ0KCk7CisKKyAgICAgICAgICAgIGludGVycnVwdCh0aGF0
KTsKKyAgICAgICAgICAgIHN0YXRlLnNlbGVjdGlvbiA9IHNlbGVjdGlvbjEgPT09IG51bGwgPyBu
dWxsIDogc2VsZWN0aW9uMTsKKyAgICAgICAgICAgIHJlZHJhdy5jYWxsKHRoYXQpOworICAgICAg
ICAgICAgZW1pdC5zdGFydCgpLmJydXNoKCkuZW5kKCk7CisgICAgICAgICAgfSk7CisgICAgfQor
ICB9OworCisgIGJydXNoLmNsZWFyID0gZnVuY3Rpb24oZ3JvdXApIHsKKyAgICBicnVzaC5tb3Zl
KGdyb3VwLCBudWxsKTsKKyAgfTsKKworICBmdW5jdGlvbiByZWRyYXcoKSB7CisgICAgdmFyIGdy
b3VwID0gc2VsZWN0KHRoaXMpLAorICAgICAgICBzZWxlY3Rpb24gPSBsb2NhbCQxKHRoaXMpLnNl
bGVjdGlvbjsKKworICAgIGlmIChzZWxlY3Rpb24pIHsKKyAgICAgIGdyb3VwLnNlbGVjdEFsbCgi
LnNlbGVjdGlvbiIpCisgICAgICAgICAgLnN0eWxlKCJkaXNwbGF5IiwgbnVsbCkKKyAgICAgICAg
ICAuYXR0cigieCIsIHNlbGVjdGlvblswXVswXSkKKyAgICAgICAgICAuYXR0cigieSIsIHNlbGVj
dGlvblswXVsxXSkKKyAgICAgICAgICAuYXR0cigid2lkdGgiLCBzZWxlY3Rpb25bMV1bMF0gLSBz
ZWxlY3Rpb25bMF1bMF0pCisgICAgICAgICAgLmF0dHIoImhlaWdodCIsIHNlbGVjdGlvblsxXVsx
XSAtIHNlbGVjdGlvblswXVsxXSk7CisKKyAgICAgIGdyb3VwLnNlbGVjdEFsbCgiLmhhbmRsZSIp
CisgICAgICAgICAgLnN0eWxlKCJkaXNwbGF5IiwgbnVsbCkKKyAgICAgICAgICAuYXR0cigieCIs
IGZ1bmN0aW9uKGQpIHsgcmV0dXJuIGQudHlwZVtkLnR5cGUubGVuZ3RoIC0gMV0gPT09ICJlIiA/
IHNlbGVjdGlvblsxXVswXSAtIGhhbmRsZVNpemUgLyAyIDogc2VsZWN0aW9uWzBdWzBdIC0gaGFu
ZGxlU2l6ZSAvIDI7IH0pCisgICAgICAgICAgLmF0dHIoInkiLCBmdW5jdGlvbihkKSB7IHJldHVy
biBkLnR5cGVbMF0gPT09ICJzIiA/IHNlbGVjdGlvblsxXVsxXSAtIGhhbmRsZVNpemUgLyAyIDog
c2VsZWN0aW9uWzBdWzFdIC0gaGFuZGxlU2l6ZSAvIDI7IH0pCisgICAgICAgICAgLmF0dHIoIndp
ZHRoIiwgZnVuY3Rpb24oZCkgeyByZXR1cm4gZC50eXBlID09PSAibiIgfHwgZC50eXBlID09PSAi
cyIgPyBzZWxlY3Rpb25bMV1bMF0gLSBzZWxlY3Rpb25bMF1bMF0gKyBoYW5kbGVTaXplIDogaGFu
ZGxlU2l6ZTsgfSkKKyAgICAgICAgICAuYXR0cigiaGVpZ2h0IiwgZnVuY3Rpb24oZCkgeyByZXR1
cm4gZC50eXBlID09PSAiZSIgfHwgZC50eXBlID09PSAidyIgPyBzZWxlY3Rpb25bMV1bMV0gLSBz
ZWxlY3Rpb25bMF1bMV0gKyBoYW5kbGVTaXplIDogaGFuZGxlU2l6ZTsgfSk7CisgICAgfQorCisg
ICAgZWxzZSB7CisgICAgICBncm91cC5zZWxlY3RBbGwoIi5zZWxlY3Rpb24sLmhhbmRsZSIpCisg
ICAgICAgICAgLnN0eWxlKCJkaXNwbGF5IiwgIm5vbmUiKQorICAgICAgICAgIC5hdHRyKCJ4Iiwg
bnVsbCkKKyAgICAgICAgICAuYXR0cigieSIsIG51bGwpCisgICAgICAgICAgLmF0dHIoIndpZHRo
IiwgbnVsbCkKKyAgICAgICAgICAuYXR0cigiaGVpZ2h0IiwgbnVsbCk7CisgICAgfQorICB9CisK
KyAgZnVuY3Rpb24gZW1pdHRlcih0aGF0LCBhcmdzLCBjbGVhbikgeworICAgIHJldHVybiAoIWNs
ZWFuICYmIHRoYXQuX19icnVzaC5lbWl0dGVyKSB8fCBuZXcgRW1pdHRlcih0aGF0LCBhcmdzKTsK
KyAgfQorCisgIGZ1bmN0aW9uIEVtaXR0ZXIodGhhdCwgYXJncykgeworICAgIHRoaXMudGhhdCA9
IHRoYXQ7CisgICAgdGhpcy5hcmdzID0gYXJnczsKKyAgICB0aGlzLnN0YXRlID0gdGhhdC5fX2Jy
dXNoOworICAgIHRoaXMuYWN0aXZlID0gMDsKKyAgfQorCisgIEVtaXR0ZXIucHJvdG90eXBlID0g
eworICAgIGJlZm9yZXN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICAgIGlmICgrK3RoaXMuYWN0aXZl
ID09PSAxKSB0aGlzLnN0YXRlLmVtaXR0ZXIgPSB0aGlzLCB0aGlzLnN0YXJ0aW5nID0gdHJ1ZTsK
KyAgICAgIHJldHVybiB0aGlzOworICAgIH0sCisgICAgc3RhcnQ6IGZ1bmN0aW9uKCkgeworICAg
ICAgaWYgKHRoaXMuc3RhcnRpbmcpIHRoaXMuc3RhcnRpbmcgPSBmYWxzZSwgdGhpcy5lbWl0KCJz
dGFydCIpOworICAgICAgZWxzZSB0aGlzLmVtaXQoImJydXNoIik7CisgICAgICByZXR1cm4gdGhp
czsKKyAgICB9LAorICAgIGJydXNoOiBmdW5jdGlvbigpIHsKKyAgICAgIHRoaXMuZW1pdCgiYnJ1
c2giKTsKKyAgICAgIHJldHVybiB0aGlzOworICAgIH0sCisgICAgZW5kOiBmdW5jdGlvbigpIHsK
KyAgICAgIGlmICgtLXRoaXMuYWN0aXZlID09PSAwKSBkZWxldGUgdGhpcy5zdGF0ZS5lbWl0dGVy
LCB0aGlzLmVtaXQoImVuZCIpOworICAgICAgcmV0dXJuIHRoaXM7CisgICAgfSwKKyAgICBlbWl0
OiBmdW5jdGlvbih0eXBlKSB7CisgICAgICBjdXN0b21FdmVudChuZXcgQnJ1c2hFdmVudChicnVz
aCwgdHlwZSwgZGltLm91dHB1dCh0aGlzLnN0YXRlLnNlbGVjdGlvbikpLCBsaXN0ZW5lcnMuYXBw
bHksIGxpc3RlbmVycywgW3R5cGUsIHRoaXMudGhhdCwgdGhpcy5hcmdzXSk7CisgICAgfQorICB9
OworCisgIGZ1bmN0aW9uIHN0YXJ0ZWQoKSB7CisgICAgaWYgKHRvdWNoZW5kaW5nICYmICFleHBv
cnRzLmV2ZW50LnRvdWNoZXMpIHJldHVybjsKKyAgICBpZiAoIWZpbHRlci5hcHBseSh0aGlzLCBh
cmd1bWVudHMpKSByZXR1cm47CisKKyAgICB2YXIgdGhhdCA9IHRoaXMsCisgICAgICAgIHR5cGUg
PSBleHBvcnRzLmV2ZW50LnRhcmdldC5fX2RhdGFfXy50eXBlLAorICAgICAgICBtb2RlID0gKGtl
eXMgJiYgZXhwb3J0cy5ldmVudC5tZXRhS2V5ID8gdHlwZSA9ICJvdmVybGF5IiA6IHR5cGUpID09
PSAic2VsZWN0aW9uIiA/IE1PREVfRFJBRyA6IChrZXlzICYmIGV4cG9ydHMuZXZlbnQuYWx0S2V5
ID8gTU9ERV9DRU5URVIgOiBNT0RFX0hBTkRMRSksCisgICAgICAgIHNpZ25YID0gZGltID09PSBZ
ID8gbnVsbCA6IHNpZ25zWFt0eXBlXSwKKyAgICAgICAgc2lnblkgPSBkaW0gPT09IFggPyBudWxs
IDogc2lnbnNZW3R5cGVdLAorICAgICAgICBzdGF0ZSA9IGxvY2FsJDEodGhhdCksCisgICAgICAg
IGV4dGVudCA9IHN0YXRlLmV4dGVudCwKKyAgICAgICAgc2VsZWN0aW9uID0gc3RhdGUuc2VsZWN0
aW9uLAorICAgICAgICBXID0gZXh0ZW50WzBdWzBdLCB3MCwgdzEsCisgICAgICAgIE4gPSBleHRl
bnRbMF1bMV0sIG4wLCBuMSwKKyAgICAgICAgRSA9IGV4dGVudFsxXVswXSwgZTAsIGUxLAorICAg
ICAgICBTID0gZXh0ZW50WzFdWzFdLCBzMCwgczEsCisgICAgICAgIGR4ID0gMCwKKyAgICAgICAg
ZHkgPSAwLAorICAgICAgICBtb3ZpbmcsCisgICAgICAgIHNoaWZ0aW5nID0gc2lnblggJiYgc2ln
blkgJiYga2V5cyAmJiBleHBvcnRzLmV2ZW50LnNoaWZ0S2V5LAorICAgICAgICBsb2NrWCwKKyAg
ICAgICAgbG9ja1ksCisgICAgICAgIHBvaW50ZXIgPSBleHBvcnRzLmV2ZW50LnRvdWNoZXMgPyB0
b3VjaGVyKGV4cG9ydHMuZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uaWRlbnRpZmllcikgOiBtb3Vz
ZSwKKyAgICAgICAgcG9pbnQwID0gcG9pbnRlcih0aGF0KSwKKyAgICAgICAgcG9pbnQgPSBwb2lu
dDAsCisgICAgICAgIGVtaXQgPSBlbWl0dGVyKHRoYXQsIGFyZ3VtZW50cywgdHJ1ZSkuYmVmb3Jl
c3RhcnQoKTsKKworICAgIGlmICh0eXBlID09PSAib3ZlcmxheSIpIHsKKyAgICAgIGlmIChzZWxl
Y3Rpb24pIG1vdmluZyA9IHRydWU7CisgICAgICBzdGF0ZS5zZWxlY3Rpb24gPSBzZWxlY3Rpb24g
PSBbCisgICAgICAgIFt3MCA9IGRpbSA9PT0gWSA/IFcgOiBwb2ludDBbMF0sIG4wID0gZGltID09
PSBYID8gTiA6IHBvaW50MFsxXV0sCisgICAgICAgIFtlMCA9IGRpbSA9PT0gWSA/IEUgOiB3MCwg
czAgPSBkaW0gPT09IFggPyBTIDogbjBdCisgICAgICBdOworICAgIH0gZWxzZSB7CisgICAgICB3
MCA9IHNlbGVjdGlvblswXVswXTsKKyAgICAgIG4wID0gc2VsZWN0aW9uWzBdWzFdOworICAgICAg
ZTAgPSBzZWxlY3Rpb25bMV1bMF07CisgICAgICBzMCA9IHNlbGVjdGlvblsxXVsxXTsKKyAgICB9
CisKKyAgICB3MSA9IHcwOworICAgIG4xID0gbjA7CisgICAgZTEgPSBlMDsKKyAgICBzMSA9IHMw
OworCisgICAgdmFyIGdyb3VwID0gc2VsZWN0KHRoYXQpCisgICAgICAgIC5hdHRyKCJwb2ludGVy
LWV2ZW50cyIsICJub25lIik7CisKKyAgICB2YXIgb3ZlcmxheSA9IGdyb3VwLnNlbGVjdEFsbCgi
Lm92ZXJsYXkiKQorICAgICAgICAuYXR0cigiY3Vyc29yIiwgY3Vyc29yc1t0eXBlXSk7CisKKyAg
ICBpZiAoZXhwb3J0cy5ldmVudC50b3VjaGVzKSB7CisgICAgICBlbWl0Lm1vdmVkID0gbW92ZWQ7
CisgICAgICBlbWl0LmVuZGVkID0gZW5kZWQ7CisgICAgfSBlbHNlIHsKKyAgICAgIHZhciB2aWV3
ID0gc2VsZWN0KGV4cG9ydHMuZXZlbnQudmlldykKKyAgICAgICAgICAub24oIm1vdXNlbW92ZS5i
cnVzaCIsIG1vdmVkLCB0cnVlKQorICAgICAgICAgIC5vbigibW91c2V1cC5icnVzaCIsIGVuZGVk
LCB0cnVlKTsKKyAgICAgIGlmIChrZXlzKSB2aWV3CisgICAgICAgICAgLm9uKCJrZXlkb3duLmJy
dXNoIiwga2V5ZG93bmVkLCB0cnVlKQorICAgICAgICAgIC5vbigia2V5dXAuYnJ1c2giLCBrZXl1
cHBlZCwgdHJ1ZSk7CisKKyAgICAgIGRyYWdEaXNhYmxlKGV4cG9ydHMuZXZlbnQudmlldyk7Cisg
ICAgfQorCisgICAgbm9wcm9wYWdhdGlvbiQxKCk7CisgICAgaW50ZXJydXB0KHRoYXQpOworICAg
IHJlZHJhdy5jYWxsKHRoYXQpOworICAgIGVtaXQuc3RhcnQoKTsKKworICAgIGZ1bmN0aW9uIG1v
dmVkKCkgeworICAgICAgdmFyIHBvaW50MSA9IHBvaW50ZXIodGhhdCk7CisgICAgICBpZiAoc2hp
ZnRpbmcgJiYgIWxvY2tYICYmICFsb2NrWSkgeworICAgICAgICBpZiAoTWF0aC5hYnMocG9pbnQx
WzBdIC0gcG9pbnRbMF0pID4gTWF0aC5hYnMocG9pbnQxWzFdIC0gcG9pbnRbMV0pKSBsb2NrWSA9
IHRydWU7CisgICAgICAgIGVsc2UgbG9ja1ggPSB0cnVlOworICAgICAgfQorICAgICAgcG9pbnQg
PSBwb2ludDE7CisgICAgICBtb3ZpbmcgPSB0cnVlOworICAgICAgbm9ldmVudCQxKCk7CisgICAg
ICBtb3ZlKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbW92ZSgpIHsKKyAgICAgIHZhciB0Owor
CisgICAgICBkeCA9IHBvaW50WzBdIC0gcG9pbnQwWzBdOworICAgICAgZHkgPSBwb2ludFsxXSAt
IHBvaW50MFsxXTsKKworICAgICAgc3dpdGNoIChtb2RlKSB7CisgICAgICAgIGNhc2UgTU9ERV9T
UEFDRToKKyAgICAgICAgY2FzZSBNT0RFX0RSQUc6IHsKKyAgICAgICAgICBpZiAoc2lnblgpIGR4
ID0gTWF0aC5tYXgoVyAtIHcwLCBNYXRoLm1pbihFIC0gZTAsIGR4KSksIHcxID0gdzAgKyBkeCwg
ZTEgPSBlMCArIGR4OworICAgICAgICAgIGlmIChzaWduWSkgZHkgPSBNYXRoLm1heChOIC0gbjAs
IE1hdGgubWluKFMgLSBzMCwgZHkpKSwgbjEgPSBuMCArIGR5LCBzMSA9IHMwICsgZHk7CisgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBNT0RFX0hBTkRMRTogeworICAg
ICAgICAgIGlmIChzaWduWCA8IDApIGR4ID0gTWF0aC5tYXgoVyAtIHcwLCBNYXRoLm1pbihFIC0g
dzAsIGR4KSksIHcxID0gdzAgKyBkeCwgZTEgPSBlMDsKKyAgICAgICAgICBlbHNlIGlmIChzaWdu
WCA+IDApIGR4ID0gTWF0aC5tYXgoVyAtIGUwLCBNYXRoLm1pbihFIC0gZTAsIGR4KSksIHcxID0g
dzAsIGUxID0gZTAgKyBkeDsKKyAgICAgICAgICBpZiAoc2lnblkgPCAwKSBkeSA9IE1hdGgubWF4
KE4gLSBuMCwgTWF0aC5taW4oUyAtIG4wLCBkeSkpLCBuMSA9IG4wICsgZHksIHMxID0gczA7Cisg
ICAgICAgICAgZWxzZSBpZiAoc2lnblkgPiAwKSBkeSA9IE1hdGgubWF4KE4gLSBzMCwgTWF0aC5t
aW4oUyAtIHMwLCBkeSkpLCBuMSA9IG4wLCBzMSA9IHMwICsgZHk7CisgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBNT0RFX0NFTlRFUjogeworICAgICAgICAgIGlmIChz
aWduWCkgdzEgPSBNYXRoLm1heChXLCBNYXRoLm1pbihFLCB3MCAtIGR4ICogc2lnblgpKSwgZTEg
PSBNYXRoLm1heChXLCBNYXRoLm1pbihFLCBlMCArIGR4ICogc2lnblgpKTsKKyAgICAgICAgICBp
ZiAoc2lnblkpIG4xID0gTWF0aC5tYXgoTiwgTWF0aC5taW4oUywgbjAgLSBkeSAqIHNpZ25ZKSks
IHMxID0gTWF0aC5tYXgoTiwgTWF0aC5taW4oUywgczAgKyBkeSAqIHNpZ25ZKSk7CisgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgaWYgKGUxIDwgdzEpIHsKKyAg
ICAgICAgc2lnblggKj0gLTE7CisgICAgICAgIHQgPSB3MCwgdzAgPSBlMCwgZTAgPSB0OworICAg
ICAgICB0ID0gdzEsIHcxID0gZTEsIGUxID0gdDsKKyAgICAgICAgaWYgKHR5cGUgaW4gZmxpcFgp
IG92ZXJsYXkuYXR0cigiY3Vyc29yIiwgY3Vyc29yc1t0eXBlID0gZmxpcFhbdHlwZV1dKTsKKyAg
ICAgIH0KKworICAgICAgaWYgKHMxIDwgbjEpIHsKKyAgICAgICAgc2lnblkgKj0gLTE7CisgICAg
ICAgIHQgPSBuMCwgbjAgPSBzMCwgczAgPSB0OworICAgICAgICB0ID0gbjEsIG4xID0gczEsIHMx
ID0gdDsKKyAgICAgICAgaWYgKHR5cGUgaW4gZmxpcFkpIG92ZXJsYXkuYXR0cigiY3Vyc29yIiwg
Y3Vyc29yc1t0eXBlID0gZmxpcFlbdHlwZV1dKTsKKyAgICAgIH0KKworICAgICAgaWYgKHN0YXRl
LnNlbGVjdGlvbikgc2VsZWN0aW9uID0gc3RhdGUuc2VsZWN0aW9uOyAvLyBNYXkgYmUgc2V0IGJ5
IGJydXNoLm1vdmUhCisgICAgICBpZiAobG9ja1gpIHcxID0gc2VsZWN0aW9uWzBdWzBdLCBlMSA9
IHNlbGVjdGlvblsxXVswXTsKKyAgICAgIGlmIChsb2NrWSkgbjEgPSBzZWxlY3Rpb25bMF1bMV0s
IHMxID0gc2VsZWN0aW9uWzFdWzFdOworCisgICAgICBpZiAoc2VsZWN0aW9uWzBdWzBdICE9PSB3
MQorICAgICAgICAgIHx8IHNlbGVjdGlvblswXVsxXSAhPT0gbjEKKyAgICAgICAgICB8fCBzZWxl
Y3Rpb25bMV1bMF0gIT09IGUxCisgICAgICAgICAgfHwgc2VsZWN0aW9uWzFdWzFdICE9PSBzMSkg
eworICAgICAgICBzdGF0ZS5zZWxlY3Rpb24gPSBbW3cxLCBuMV0sIFtlMSwgczFdXTsKKyAgICAg
ICAgcmVkcmF3LmNhbGwodGhhdCk7CisgICAgICAgIGVtaXQuYnJ1c2goKTsKKyAgICAgIH0KKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBlbmRlZCgpIHsKKyAgICAgIG5vcHJvcGFnYXRpb24kMSgpOwor
ICAgICAgaWYgKGV4cG9ydHMuZXZlbnQudG91Y2hlcykgeworICAgICAgICBpZiAoZXhwb3J0cy5l
dmVudC50b3VjaGVzLmxlbmd0aCkgcmV0dXJuOworICAgICAgICBpZiAodG91Y2hlbmRpbmcpIGNs
ZWFyVGltZW91dCh0b3VjaGVuZGluZyk7CisgICAgICAgIHRvdWNoZW5kaW5nID0gc2V0VGltZW91
dChmdW5jdGlvbigpIHsgdG91Y2hlbmRpbmcgPSBudWxsOyB9LCA1MDApOyAvLyBHaG9zdCBjbGlj
a3MgYXJlIGRlbGF5ZWQhCisgICAgICB9IGVsc2UgeworICAgICAgICB5ZXNkcmFnKGV4cG9ydHMu
ZXZlbnQudmlldywgbW92aW5nKTsKKyAgICAgICAgdmlldy5vbigia2V5ZG93bi5icnVzaCBrZXl1
cC5icnVzaCBtb3VzZW1vdmUuYnJ1c2ggbW91c2V1cC5icnVzaCIsIG51bGwpOworICAgICAgfQor
ICAgICAgZ3JvdXAuYXR0cigicG9pbnRlci1ldmVudHMiLCAiYWxsIik7CisgICAgICBvdmVybGF5
LmF0dHIoImN1cnNvciIsIGN1cnNvcnMub3ZlcmxheSk7CisgICAgICBpZiAoc3RhdGUuc2VsZWN0
aW9uKSBzZWxlY3Rpb24gPSBzdGF0ZS5zZWxlY3Rpb247IC8vIE1heSBiZSBzZXQgYnkgYnJ1c2gu
bW92ZSAob24gc3RhcnQpIQorICAgICAgaWYgKGVtcHR5JDEoc2VsZWN0aW9uKSkgc3RhdGUuc2Vs
ZWN0aW9uID0gbnVsbCwgcmVkcmF3LmNhbGwodGhhdCk7CisgICAgICBlbWl0LmVuZCgpOworICAg
IH0KKworICAgIGZ1bmN0aW9uIGtleWRvd25lZCgpIHsKKyAgICAgIHN3aXRjaCAoZXhwb3J0cy5l
dmVudC5rZXlDb2RlKSB7CisgICAgICAgIGNhc2UgMTY6IHsgLy8gU0hJRlQKKyAgICAgICAgICBz
aGlmdGluZyA9IHNpZ25YICYmIHNpZ25ZOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9Cisg
ICAgICAgIGNhc2UgMTg6IHsgLy8gQUxUCisgICAgICAgICAgaWYgKG1vZGUgPT09IE1PREVfSEFO
RExFKSB7CisgICAgICAgICAgICBpZiAoc2lnblgpIGUwID0gZTEgLSBkeCAqIHNpZ25YLCB3MCA9
IHcxICsgZHggKiBzaWduWDsKKyAgICAgICAgICAgIGlmIChzaWduWSkgczAgPSBzMSAtIGR5ICog
c2lnblksIG4wID0gbjEgKyBkeSAqIHNpZ25ZOworICAgICAgICAgICAgbW9kZSA9IE1PREVfQ0VO
VEVSOworICAgICAgICAgICAgbW92ZSgpOworICAgICAgICAgIH0KKyAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorICAgICAgICBjYXNlIDMyOiB7IC8vIFNQQUNFOyB0YWtlcyBwcmlvcml0eSBv
dmVyIEFMVAorICAgICAgICAgIGlmIChtb2RlID09PSBNT0RFX0hBTkRMRSB8fCBtb2RlID09PSBN
T0RFX0NFTlRFUikgeworICAgICAgICAgICAgaWYgKHNpZ25YIDwgMCkgZTAgPSBlMSAtIGR4OyBl
bHNlIGlmIChzaWduWCA+IDApIHcwID0gdzEgLSBkeDsKKyAgICAgICAgICAgIGlmIChzaWduWSA8
IDApIHMwID0gczEgLSBkeTsgZWxzZSBpZiAoc2lnblkgPiAwKSBuMCA9IG4xIC0gZHk7CisgICAg
ICAgICAgICBtb2RlID0gTU9ERV9TUEFDRTsKKyAgICAgICAgICAgIG92ZXJsYXkuYXR0cigiY3Vy
c29yIiwgY3Vyc29ycy5zZWxlY3Rpb24pOworICAgICAgICAgICAgbW92ZSgpOworICAgICAgICAg
IH0KKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBkZWZhdWx0OiByZXR1cm47
CisgICAgICB9CisgICAgICBub2V2ZW50JDEoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBrZXl1
cHBlZCgpIHsKKyAgICAgIHN3aXRjaCAoZXhwb3J0cy5ldmVudC5rZXlDb2RlKSB7CisgICAgICAg
IGNhc2UgMTY6IHsgLy8gU0hJRlQKKyAgICAgICAgICBpZiAoc2hpZnRpbmcpIHsKKyAgICAgICAg
ICAgIGxvY2tYID0gbG9ja1kgPSBzaGlmdGluZyA9IGZhbHNlOworICAgICAgICAgICAgbW92ZSgp
OworICAgICAgICAgIH0KKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNl
IDE4OiB7IC8vIEFMVAorICAgICAgICAgIGlmIChtb2RlID09PSBNT0RFX0NFTlRFUikgeworICAg
ICAgICAgICAgaWYgKHNpZ25YIDwgMCkgZTAgPSBlMTsgZWxzZSBpZiAoc2lnblggPiAwKSB3MCA9
IHcxOworICAgICAgICAgICAgaWYgKHNpZ25ZIDwgMCkgczAgPSBzMTsgZWxzZSBpZiAoc2lnblkg
PiAwKSBuMCA9IG4xOworICAgICAgICAgICAgbW9kZSA9IE1PREVfSEFORExFOworICAgICAgICAg
ICAgbW92ZSgpOworICAgICAgICAgIH0KKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
ICAgICBjYXNlIDMyOiB7IC8vIFNQQUNFCisgICAgICAgICAgaWYgKG1vZGUgPT09IE1PREVfU1BB
Q0UpIHsKKyAgICAgICAgICAgIGlmIChleHBvcnRzLmV2ZW50LmFsdEtleSkgeworICAgICAgICAg
ICAgICBpZiAoc2lnblgpIGUwID0gZTEgLSBkeCAqIHNpZ25YLCB3MCA9IHcxICsgZHggKiBzaWdu
WDsKKyAgICAgICAgICAgICAgaWYgKHNpZ25ZKSBzMCA9IHMxIC0gZHkgKiBzaWduWSwgbjAgPSBu
MSArIGR5ICogc2lnblk7CisgICAgICAgICAgICAgIG1vZGUgPSBNT0RFX0NFTlRFUjsKKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIGlmIChzaWduWCA8IDApIGUwID0gZTE7IGVs
c2UgaWYgKHNpZ25YID4gMCkgdzAgPSB3MTsKKyAgICAgICAgICAgICAgaWYgKHNpZ25ZIDwgMCkg
czAgPSBzMTsgZWxzZSBpZiAoc2lnblkgPiAwKSBuMCA9IG4xOworICAgICAgICAgICAgICBtb2Rl
ID0gTU9ERV9IQU5ETEU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBvdmVybGF5LmF0dHIo
ImN1cnNvciIsIGN1cnNvcnNbdHlwZV0pOworICAgICAgICAgICAgbW92ZSgpOworICAgICAgICAg
IH0KKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBkZWZhdWx0OiByZXR1cm47
CisgICAgICB9CisgICAgICBub2V2ZW50JDEoKTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiB0
b3VjaG1vdmVkKCkgeworICAgIGVtaXR0ZXIodGhpcywgYXJndW1lbnRzKS5tb3ZlZCgpOworICB9
CisKKyAgZnVuY3Rpb24gdG91Y2hlbmRlZCgpIHsKKyAgICBlbWl0dGVyKHRoaXMsIGFyZ3VtZW50
cykuZW5kZWQoKTsKKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemUoKSB7CisgICAgdmFyIHN0
YXRlID0gdGhpcy5fX2JydXNoIHx8IHtzZWxlY3Rpb246IG51bGx9OworICAgIHN0YXRlLmV4dGVu
dCA9IG51bWJlcjIoZXh0ZW50LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpOworICAgIHN0YXRlLmRp
bSA9IGRpbTsKKyAgICByZXR1cm4gc3RhdGU7CisgIH0KKworICBicnVzaC5leHRlbnQgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZXh0ZW50ID0gdHlwZW9m
IF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNChudW1iZXIyKF8pKSwgYnJ1c2gpIDog
ZXh0ZW50OworICB9OworCisgIGJydXNoLmZpbHRlciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aCA/IChmaWx0ZXIgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/
IF8gOiBjb25zdGFudCQ0KCEhXyksIGJydXNoKSA6IGZpbHRlcjsKKyAgfTsKKworICBicnVzaC50
b3VjaGFibGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
dG91Y2hhYmxlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNCghIV8p
LCBicnVzaCkgOiB0b3VjaGFibGU7CisgIH07CisKKyAgYnJ1c2guaGFuZGxlU2l6ZSA9IGZ1bmN0
aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChoYW5kbGVTaXplID0gK18s
IGJydXNoKSA6IGhhbmRsZVNpemU7CisgIH07CisKKyAgYnJ1c2gua2V5TW9kaWZpZXJzID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGtleXMgPSAhIV8sIGJy
dXNoKSA6IGtleXM7CisgIH07CisKKyAgYnJ1c2gub24gPSBmdW5jdGlvbigpIHsKKyAgICB2YXIg
dmFsdWUgPSBsaXN0ZW5lcnMub24uYXBwbHkobGlzdGVuZXJzLCBhcmd1bWVudHMpOworICAgIHJl
dHVybiB2YWx1ZSA9PT0gbGlzdGVuZXJzID8gYnJ1c2ggOiB2YWx1ZTsKKyAgfTsKKworICByZXR1
cm4gYnJ1c2g7Cit9CisKK3ZhciBjb3MgPSBNYXRoLmNvczsKK3ZhciBzaW4gPSBNYXRoLnNpbjsK
K3ZhciBwaSQxID0gTWF0aC5QSTsKK3ZhciBoYWxmUGkkMSA9IHBpJDEgLyAyOwordmFyIHRhdSQx
ID0gcGkkMSAqIDI7Cit2YXIgbWF4JDEgPSBNYXRoLm1heDsKKworZnVuY3Rpb24gY29tcGFyZVZh
bHVlKGNvbXBhcmUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKGEsIGIpIHsKKyAgICByZXR1cm4gY29t
cGFyZSgKKyAgICAgIGEuc291cmNlLnZhbHVlICsgYS50YXJnZXQudmFsdWUsCisgICAgICBiLnNv
dXJjZS52YWx1ZSArIGIudGFyZ2V0LnZhbHVlCisgICAgKTsKKyAgfTsKK30KKworZnVuY3Rpb24g
Y2hvcmQoKSB7CisgIHZhciBwYWRBbmdsZSA9IDAsCisgICAgICBzb3J0R3JvdXBzID0gbnVsbCwK
KyAgICAgIHNvcnRTdWJncm91cHMgPSBudWxsLAorICAgICAgc29ydENob3JkcyA9IG51bGw7CisK
KyAgZnVuY3Rpb24gY2hvcmQobWF0cml4KSB7CisgICAgdmFyIG4gPSBtYXRyaXgubGVuZ3RoLAor
ICAgICAgICBncm91cFN1bXMgPSBbXSwKKyAgICAgICAgZ3JvdXBJbmRleCA9IHNlcXVlbmNlKG4p
LAorICAgICAgICBzdWJncm91cEluZGV4ID0gW10sCisgICAgICAgIGNob3JkcyA9IFtdLAorICAg
ICAgICBncm91cHMgPSBjaG9yZHMuZ3JvdXBzID0gbmV3IEFycmF5KG4pLAorICAgICAgICBzdWJn
cm91cHMgPSBuZXcgQXJyYXkobiAqIG4pLAorICAgICAgICBrLAorICAgICAgICB4LAorICAgICAg
ICB4MCwKKyAgICAgICAgZHgsCisgICAgICAgIGksCisgICAgICAgIGo7CisKKyAgICAvLyBDb21w
dXRlIHRoZSBzdW0uCisgICAgayA9IDAsIGkgPSAtMTsgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAg
IHggPSAwLCBqID0gLTE7IHdoaWxlICgrK2ogPCBuKSB7CisgICAgICAgIHggKz0gbWF0cml4W2ld
W2pdOworICAgICAgfQorICAgICAgZ3JvdXBTdW1zLnB1c2goeCk7CisgICAgICBzdWJncm91cElu
ZGV4LnB1c2goc2VxdWVuY2UobikpOworICAgICAgayArPSB4OworICAgIH0KKworICAgIC8vIFNv
cnQgZ3JvdXBz4oCmCisgICAgaWYgKHNvcnRHcm91cHMpIGdyb3VwSW5kZXguc29ydChmdW5jdGlv
bihhLCBiKSB7CisgICAgICByZXR1cm4gc29ydEdyb3Vwcyhncm91cFN1bXNbYV0sIGdyb3VwU3Vt
c1tiXSk7CisgICAgfSk7CisKKyAgICAvLyBTb3J0IHN1Ymdyb3Vwc+KApgorICAgIGlmIChzb3J0
U3ViZ3JvdXBzKSBzdWJncm91cEluZGV4LmZvckVhY2goZnVuY3Rpb24oZCwgaSkgeworICAgICAg
ZC5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsKKyAgICAgICAgcmV0dXJuIHNvcnRTdWJncm91cHMobWF0
cml4W2ldW2FdLCBtYXRyaXhbaV1bYl0pOworICAgICAgfSk7CisgICAgfSk7CisKKyAgICAvLyBD
b252ZXJ0IHRoZSBzdW0gdG8gc2NhbGluZyBmYWN0b3IgZm9yIFswLCAycGldLgorICAgIC8vIFRP
RE8gQWxsb3cgc3RhcnQgYW5kIGVuZCBhbmdsZSB0byBiZSBzcGVjaWZpZWQ/CisgICAgLy8gVE9E
TyBBbGxvdyBwYWRkaW5nIHRvIGJlIHNwZWNpZmllZCBhcyBwZXJjZW50YWdlPworICAgIGsgPSBt
YXgkMSgwLCB0YXUkMSAtIHBhZEFuZ2xlICogbikgLyBrOworICAgIGR4ID0gayA/IHBhZEFuZ2xl
IDogdGF1JDEgLyBuOworCisgICAgLy8gQ29tcHV0ZSB0aGUgc3RhcnQgYW5kIGVuZCBhbmdsZSBm
b3IgZWFjaCBncm91cCBhbmQgc3ViZ3JvdXAuCisgICAgLy8gTm90ZTogT3BlcmEgaGFzIGEgYnVn
IHJlb3JkZXJpbmcgb2JqZWN0IGxpdGVyYWwgcHJvcGVydGllcyEKKyAgICB4ID0gMCwgaSA9IC0x
OyB3aGlsZSAoKytpIDwgbikgeworICAgICAgeDAgPSB4LCBqID0gLTE7IHdoaWxlICgrK2ogPCBu
KSB7CisgICAgICAgIHZhciBkaSA9IGdyb3VwSW5kZXhbaV0sCisgICAgICAgICAgICBkaiA9IHN1
Ymdyb3VwSW5kZXhbZGldW2pdLAorICAgICAgICAgICAgdiA9IG1hdHJpeFtkaV1bZGpdLAorICAg
ICAgICAgICAgYTAgPSB4LAorICAgICAgICAgICAgYTEgPSB4ICs9IHYgKiBrOworICAgICAgICBz
dWJncm91cHNbZGogKiBuICsgZGldID0geworICAgICAgICAgIGluZGV4OiBkaSwKKyAgICAgICAg
ICBzdWJpbmRleDogZGosCisgICAgICAgICAgc3RhcnRBbmdsZTogYTAsCisgICAgICAgICAgZW5k
QW5nbGU6IGExLAorICAgICAgICAgIHZhbHVlOiB2CisgICAgICAgIH07CisgICAgICB9CisgICAg
ICBncm91cHNbZGldID0geworICAgICAgICBpbmRleDogZGksCisgICAgICAgIHN0YXJ0QW5nbGU6
IHgwLAorICAgICAgICBlbmRBbmdsZTogeCwKKyAgICAgICAgdmFsdWU6IGdyb3VwU3Vtc1tkaV0K
KyAgICAgIH07CisgICAgICB4ICs9IGR4OworICAgIH0KKworICAgIC8vIEdlbmVyYXRlIGNob3Jk
cyBmb3IgZWFjaCAobm9uLWVtcHR5KSBzdWJncm91cC1zdWJncm91cCBsaW5rLgorICAgIGkgPSAt
MTsgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIGogPSBpIC0gMTsgd2hpbGUgKCsraiA8IG4pIHsK
KyAgICAgICAgdmFyIHNvdXJjZSA9IHN1Ymdyb3Vwc1tqICogbiArIGldLAorICAgICAgICAgICAg
dGFyZ2V0ID0gc3ViZ3JvdXBzW2kgKiBuICsgal07CisgICAgICAgIGlmIChzb3VyY2UudmFsdWUg
fHwgdGFyZ2V0LnZhbHVlKSB7CisgICAgICAgICAgY2hvcmRzLnB1c2goc291cmNlLnZhbHVlIDwg
dGFyZ2V0LnZhbHVlCisgICAgICAgICAgICAgID8ge3NvdXJjZTogdGFyZ2V0LCB0YXJnZXQ6IHNv
dXJjZX0KKyAgICAgICAgICAgICAgOiB7c291cmNlOiBzb3VyY2UsIHRhcmdldDogdGFyZ2V0fSk7
CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gc29ydENob3JkcyA/IGNo
b3Jkcy5zb3J0KHNvcnRDaG9yZHMpIDogY2hvcmRzOworICB9CisKKyAgY2hvcmQucGFkQW5nbGUg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocGFkQW5nbGUg
PSBtYXgkMSgwLCBfKSwgY2hvcmQpIDogcGFkQW5nbGU7CisgIH07CisKKyAgY2hvcmQuc29ydEdy
b3VwcyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzb3J0
R3JvdXBzID0gXywgY2hvcmQpIDogc29ydEdyb3VwczsKKyAgfTsKKworICBjaG9yZC5zb3J0U3Vi
Z3JvdXBzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNv
cnRTdWJncm91cHMgPSBfLCBjaG9yZCkgOiBzb3J0U3ViZ3JvdXBzOworICB9OworCisgIGNob3Jk
LnNvcnRDaG9yZHMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PyAoXyA9PSBudWxsID8gc29ydENob3JkcyA9IG51bGwgOiAoc29ydENob3JkcyA9IGNvbXBhcmVW
YWx1ZShfKSkuXyA9IF8sIGNob3JkKSA6IHNvcnRDaG9yZHMgJiYgc29ydENob3Jkcy5fOworICB9
OworCisgIHJldHVybiBjaG9yZDsKK30KKwordmFyIHNsaWNlJDIgPSBBcnJheS5wcm90b3R5cGUu
c2xpY2U7CisKK2Z1bmN0aW9uIGNvbnN0YW50JDUoeCkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7
CisgICAgcmV0dXJuIHg7CisgIH07Cit9CisKK3ZhciBwaSQyID0gTWF0aC5QSSwKKyAgICB0YXUk
MiA9IDIgKiBwaSQyLAorICAgIGVwc2lsb24kMSA9IDFlLTYsCisgICAgdGF1RXBzaWxvbiA9IHRh
dSQyIC0gZXBzaWxvbiQxOworCitmdW5jdGlvbiBQYXRoKCkgeworICB0aGlzLl94MCA9IHRoaXMu
X3kwID0gLy8gc3RhcnQgb2YgY3VycmVudCBzdWJwYXRoCisgIHRoaXMuX3gxID0gdGhpcy5feTEg
PSBudWxsOyAvLyBlbmQgb2YgY3VycmVudCBzdWJwYXRoCisgIHRoaXMuXyA9ICIiOworfQorCitm
dW5jdGlvbiBwYXRoKCkgeworICByZXR1cm4gbmV3IFBhdGg7Cit9CisKK1BhdGgucHJvdG90eXBl
ID0gcGF0aC5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBQYXRoLAorICBtb3ZlVG86IGZ1
bmN0aW9uKHgsIHkpIHsKKyAgICB0aGlzLl8gKz0gIk0iICsgKHRoaXMuX3gwID0gdGhpcy5feDEg
PSAreCkgKyAiLCIgKyAodGhpcy5feTAgPSB0aGlzLl95MSA9ICt5KTsKKyAgfSwKKyAgY2xvc2VQ
YXRoOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5feDEgIT09IG51bGwpIHsKKyAgICAgIHRo
aXMuX3gxID0gdGhpcy5feDAsIHRoaXMuX3kxID0gdGhpcy5feTA7CisgICAgICB0aGlzLl8gKz0g
IloiOworICAgIH0KKyAgfSwKKyAgbGluZVRvOiBmdW5jdGlvbih4LCB5KSB7CisgICAgdGhpcy5f
ICs9ICJMIiArICh0aGlzLl94MSA9ICt4KSArICIsIiArICh0aGlzLl95MSA9ICt5KTsKKyAgfSwK
KyAgcXVhZHJhdGljQ3VydmVUbzogZnVuY3Rpb24oeDEsIHkxLCB4LCB5KSB7CisgICAgdGhpcy5f
ICs9ICJRIiArICgreDEpICsgIiwiICsgKCt5MSkgKyAiLCIgKyAodGhpcy5feDEgPSAreCkgKyAi
LCIgKyAodGhpcy5feTEgPSAreSk7CisgIH0sCisgIGJlemllckN1cnZlVG86IGZ1bmN0aW9uKHgx
LCB5MSwgeDIsIHkyLCB4LCB5KSB7CisgICAgdGhpcy5fICs9ICJDIiArICgreDEpICsgIiwiICsg
KCt5MSkgKyAiLCIgKyAoK3gyKSArICIsIiArICgreTIpICsgIiwiICsgKHRoaXMuX3gxID0gK3gp
ICsgIiwiICsgKHRoaXMuX3kxID0gK3kpOworICB9LAorICBhcmNUbzogZnVuY3Rpb24oeDEsIHkx
LCB4MiwgeTIsIHIpIHsKKyAgICB4MSA9ICt4MSwgeTEgPSAreTEsIHgyID0gK3gyLCB5MiA9ICt5
MiwgciA9ICtyOworICAgIHZhciB4MCA9IHRoaXMuX3gxLAorICAgICAgICB5MCA9IHRoaXMuX3kx
LAorICAgICAgICB4MjEgPSB4MiAtIHgxLAorICAgICAgICB5MjEgPSB5MiAtIHkxLAorICAgICAg
ICB4MDEgPSB4MCAtIHgxLAorICAgICAgICB5MDEgPSB5MCAtIHkxLAorICAgICAgICBsMDFfMiA9
IHgwMSAqIHgwMSArIHkwMSAqIHkwMTsKKworICAgIC8vIElzIHRoZSByYWRpdXMgbmVnYXRpdmU/
IEVycm9yLgorICAgIGlmIChyIDwgMCkgdGhyb3cgbmV3IEVycm9yKCJuZWdhdGl2ZSByYWRpdXM6
ICIgKyByKTsKKworICAgIC8vIElzIHRoaXMgcGF0aCBlbXB0eT8gTW92ZSB0byAoeDEseTEpLgor
ICAgIGlmICh0aGlzLl94MSA9PT0gbnVsbCkgeworICAgICAgdGhpcy5fICs9ICJNIiArICh0aGlz
Ll94MSA9IHgxKSArICIsIiArICh0aGlzLl95MSA9IHkxKTsKKyAgICB9CisKKyAgICAvLyBPciwg
aXMgKHgxLHkxKSBjb2luY2lkZW50IHdpdGggKHgwLHkwKT8gRG8gbm90aGluZy4KKyAgICBlbHNl
IGlmICghKGwwMV8yID4gZXBzaWxvbiQxKSk7CisKKyAgICAvLyBPciwgYXJlICh4MCx5MCksICh4
MSx5MSkgYW5kICh4Mix5MikgY29sbGluZWFyPworICAgIC8vIEVxdWl2YWxlbnRseSwgaXMgKHgx
LHkxKSBjb2luY2lkZW50IHdpdGggKHgyLHkyKT8KKyAgICAvLyBPciwgaXMgdGhlIHJhZGl1cyB6
ZXJvPyBMaW5lIHRvICh4MSx5MSkuCisgICAgZWxzZSBpZiAoIShNYXRoLmFicyh5MDEgKiB4MjEg
LSB5MjEgKiB4MDEpID4gZXBzaWxvbiQxKSB8fCAhcikgeworICAgICAgdGhpcy5fICs9ICJMIiAr
ICh0aGlzLl94MSA9IHgxKSArICIsIiArICh0aGlzLl95MSA9IHkxKTsKKyAgICB9CisKKyAgICAv
LyBPdGhlcndpc2UsIGRyYXcgYW4gYXJjIQorICAgIGVsc2UgeworICAgICAgdmFyIHgyMCA9IHgy
IC0geDAsCisgICAgICAgICAgeTIwID0geTIgLSB5MCwKKyAgICAgICAgICBsMjFfMiA9IHgyMSAq
IHgyMSArIHkyMSAqIHkyMSwKKyAgICAgICAgICBsMjBfMiA9IHgyMCAqIHgyMCArIHkyMCAqIHky
MCwKKyAgICAgICAgICBsMjEgPSBNYXRoLnNxcnQobDIxXzIpLAorICAgICAgICAgIGwwMSA9IE1h
dGguc3FydChsMDFfMiksCisgICAgICAgICAgbCA9IHIgKiBNYXRoLnRhbigocGkkMiAtIE1hdGgu
YWNvcygobDIxXzIgKyBsMDFfMiAtIGwyMF8yKSAvICgyICogbDIxICogbDAxKSkpIC8gMiksCisg
ICAgICAgICAgdDAxID0gbCAvIGwwMSwKKyAgICAgICAgICB0MjEgPSBsIC8gbDIxOworCisgICAg
ICAvLyBJZiB0aGUgc3RhcnQgdGFuZ2VudCBpcyBub3QgY29pbmNpZGVudCB3aXRoICh4MCx5MCks
IGxpbmUgdG8uCisgICAgICBpZiAoTWF0aC5hYnModDAxIC0gMSkgPiBlcHNpbG9uJDEpIHsKKyAg
ICAgICAgdGhpcy5fICs9ICJMIiArICh4MSArIHQwMSAqIHgwMSkgKyAiLCIgKyAoeTEgKyB0MDEg
KiB5MDEpOworICAgICAgfQorCisgICAgICB0aGlzLl8gKz0gIkEiICsgciArICIsIiArIHIgKyAi
LDAsMCwiICsgKCsoeTAxICogeDIwID4geDAxICogeTIwKSkgKyAiLCIgKyAodGhpcy5feDEgPSB4
MSArIHQyMSAqIHgyMSkgKyAiLCIgKyAodGhpcy5feTEgPSB5MSArIHQyMSAqIHkyMSk7CisgICAg
fQorICB9LAorICBhcmM6IGZ1bmN0aW9uKHgsIHksIHIsIGEwLCBhMSwgY2N3KSB7CisgICAgeCA9
ICt4LCB5ID0gK3ksIHIgPSArciwgY2N3ID0gISFjY3c7CisgICAgdmFyIGR4ID0gciAqIE1hdGgu
Y29zKGEwKSwKKyAgICAgICAgZHkgPSByICogTWF0aC5zaW4oYTApLAorICAgICAgICB4MCA9IHgg
KyBkeCwKKyAgICAgICAgeTAgPSB5ICsgZHksCisgICAgICAgIGN3ID0gMSBeIGNjdywKKyAgICAg
ICAgZGEgPSBjY3cgPyBhMCAtIGExIDogYTEgLSBhMDsKKworICAgIC8vIElzIHRoZSByYWRpdXMg
bmVnYXRpdmU/IEVycm9yLgorICAgIGlmIChyIDwgMCkgdGhyb3cgbmV3IEVycm9yKCJuZWdhdGl2
ZSByYWRpdXM6ICIgKyByKTsKKworICAgIC8vIElzIHRoaXMgcGF0aCBlbXB0eT8gTW92ZSB0byAo
eDAseTApLgorICAgIGlmICh0aGlzLl94MSA9PT0gbnVsbCkgeworICAgICAgdGhpcy5fICs9ICJN
IiArIHgwICsgIiwiICsgeTA7CisgICAgfQorCisgICAgLy8gT3IsIGlzICh4MCx5MCkgbm90IGNv
aW5jaWRlbnQgd2l0aCB0aGUgcHJldmlvdXMgcG9pbnQ/IExpbmUgdG8gKHgwLHkwKS4KKyAgICBl
bHNlIGlmIChNYXRoLmFicyh0aGlzLl94MSAtIHgwKSA+IGVwc2lsb24kMSB8fCBNYXRoLmFicyh0
aGlzLl95MSAtIHkwKSA+IGVwc2lsb24kMSkgeworICAgICAgdGhpcy5fICs9ICJMIiArIHgwICsg
IiwiICsgeTA7CisgICAgfQorCisgICAgLy8gSXMgdGhpcyBhcmMgZW1wdHk/IFdl4oCZcmUgZG9u
ZS4KKyAgICBpZiAoIXIpIHJldHVybjsKKworICAgIC8vIERvZXMgdGhlIGFuZ2xlIGdvIHRoZSB3
cm9uZyB3YXk/IEZsaXAgdGhlIGRpcmVjdGlvbi4KKyAgICBpZiAoZGEgPCAwKSBkYSA9IGRhICUg
dGF1JDIgKyB0YXUkMjsKKworICAgIC8vIElzIHRoaXMgYSBjb21wbGV0ZSBjaXJjbGU/IERyYXcg
dHdvIGFyY3MgdG8gY29tcGxldGUgdGhlIGNpcmNsZS4KKyAgICBpZiAoZGEgPiB0YXVFcHNpbG9u
KSB7CisgICAgICB0aGlzLl8gKz0gIkEiICsgciArICIsIiArIHIgKyAiLDAsMSwiICsgY3cgKyAi
LCIgKyAoeCAtIGR4KSArICIsIiArICh5IC0gZHkpICsgIkEiICsgciArICIsIiArIHIgKyAiLDAs
MSwiICsgY3cgKyAiLCIgKyAodGhpcy5feDEgPSB4MCkgKyAiLCIgKyAodGhpcy5feTEgPSB5MCk7
CisgICAgfQorCisgICAgLy8gSXMgdGhpcyBhcmMgbm9uLWVtcHR5PyBEcmF3IGFuIGFyYyEKKyAg
ICBlbHNlIGlmIChkYSA+IGVwc2lsb24kMSkgeworICAgICAgdGhpcy5fICs9ICJBIiArIHIgKyAi
LCIgKyByICsgIiwwLCIgKyAoKyhkYSA+PSBwaSQyKSkgKyAiLCIgKyBjdyArICIsIiArICh0aGlz
Ll94MSA9IHggKyByICogTWF0aC5jb3MoYTEpKSArICIsIiArICh0aGlzLl95MSA9IHkgKyByICog
TWF0aC5zaW4oYTEpKTsKKyAgICB9CisgIH0sCisgIHJlY3Q6IGZ1bmN0aW9uKHgsIHksIHcsIGgp
IHsKKyAgICB0aGlzLl8gKz0gIk0iICsgKHRoaXMuX3gwID0gdGhpcy5feDEgPSAreCkgKyAiLCIg
KyAodGhpcy5feTAgPSB0aGlzLl95MSA9ICt5KSArICJoIiArICgrdykgKyAidiIgKyAoK2gpICsg
ImgiICsgKC13KSArICJaIjsKKyAgfSwKKyAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeworICAgIHJl
dHVybiB0aGlzLl87CisgIH0KK307CisKK2Z1bmN0aW9uIGRlZmF1bHRTb3VyY2UoZCkgeworICBy
ZXR1cm4gZC5zb3VyY2U7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRUYXJnZXQoZCkgeworICByZXR1
cm4gZC50YXJnZXQ7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRSYWRpdXMoZCkgeworICByZXR1cm4g
ZC5yYWRpdXM7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRTdGFydEFuZ2xlKGQpIHsKKyAgcmV0dXJu
IGQuc3RhcnRBbmdsZTsKK30KKworZnVuY3Rpb24gZGVmYXVsdEVuZEFuZ2xlKGQpIHsKKyAgcmV0
dXJuIGQuZW5kQW5nbGU7Cit9CisKK2Z1bmN0aW9uIHJpYmJvbigpIHsKKyAgdmFyIHNvdXJjZSA9
IGRlZmF1bHRTb3VyY2UsCisgICAgICB0YXJnZXQgPSBkZWZhdWx0VGFyZ2V0LAorICAgICAgcmFk
aXVzID0gZGVmYXVsdFJhZGl1cywKKyAgICAgIHN0YXJ0QW5nbGUgPSBkZWZhdWx0U3RhcnRBbmds
ZSwKKyAgICAgIGVuZEFuZ2xlID0gZGVmYXVsdEVuZEFuZ2xlLAorICAgICAgY29udGV4dCA9IG51
bGw7CisKKyAgZnVuY3Rpb24gcmliYm9uKCkgeworICAgIHZhciBidWZmZXIsCisgICAgICAgIGFy
Z3YgPSBzbGljZSQyLmNhbGwoYXJndW1lbnRzKSwKKyAgICAgICAgcyA9IHNvdXJjZS5hcHBseSh0
aGlzLCBhcmd2KSwKKyAgICAgICAgdCA9IHRhcmdldC5hcHBseSh0aGlzLCBhcmd2KSwKKyAgICAg
ICAgc3IgPSArcmFkaXVzLmFwcGx5KHRoaXMsIChhcmd2WzBdID0gcywgYXJndikpLAorICAgICAg
ICBzYTAgPSBzdGFydEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3YpIC0gaGFsZlBpJDEsCisgICAgICAg
IHNhMSA9IGVuZEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3YpIC0gaGFsZlBpJDEsCisgICAgICAgIHN4
MCA9IHNyICogY29zKHNhMCksCisgICAgICAgIHN5MCA9IHNyICogc2luKHNhMCksCisgICAgICAg
IHRyID0gK3JhZGl1cy5hcHBseSh0aGlzLCAoYXJndlswXSA9IHQsIGFyZ3YpKSwKKyAgICAgICAg
dGEwID0gc3RhcnRBbmdsZS5hcHBseSh0aGlzLCBhcmd2KSAtIGhhbGZQaSQxLAorICAgICAgICB0
YTEgPSBlbmRBbmdsZS5hcHBseSh0aGlzLCBhcmd2KSAtIGhhbGZQaSQxOworCisgICAgaWYgKCFj
b250ZXh0KSBjb250ZXh0ID0gYnVmZmVyID0gcGF0aCgpOworCisgICAgY29udGV4dC5tb3ZlVG8o
c3gwLCBzeTApOworICAgIGNvbnRleHQuYXJjKDAsIDAsIHNyLCBzYTAsIHNhMSk7CisgICAgaWYg
KHNhMCAhPT0gdGEwIHx8IHNhMSAhPT0gdGExKSB7IC8vIFRPRE8gc3IgIT09IHRyPworICAgICAg
Y29udGV4dC5xdWFkcmF0aWNDdXJ2ZVRvKDAsIDAsIHRyICogY29zKHRhMCksIHRyICogc2luKHRh
MCkpOworICAgICAgY29udGV4dC5hcmMoMCwgMCwgdHIsIHRhMCwgdGExKTsKKyAgICB9CisgICAg
Y29udGV4dC5xdWFkcmF0aWNDdXJ2ZVRvKDAsIDAsIHN4MCwgc3kwKTsKKyAgICBjb250ZXh0LmNs
b3NlUGF0aCgpOworCisgICAgaWYgKGJ1ZmZlcikgcmV0dXJuIGNvbnRleHQgPSBudWxsLCBidWZm
ZXIgKyAiIiB8fCBudWxsOworICB9CisKKyAgcmliYm9uLnJhZGl1cyA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChyYWRpdXMgPSB0eXBlb2YgXyA9PT0gImZ1
bmN0aW9uIiA/IF8gOiBjb25zdGFudCQ1KCtfKSwgcmliYm9uKSA6IHJhZGl1czsKKyAgfTsKKwor
ICByaWJib24uc3RhcnRBbmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/IChzdGFydEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29u
c3RhbnQkNSgrXyksIHJpYmJvbikgOiBzdGFydEFuZ2xlOworICB9OworCisgIHJpYmJvbi5lbmRB
bmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChlbmRB
bmdsZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDUoK18pLCByaWJi
b24pIDogZW5kQW5nbGU7CisgIH07CisKKyAgcmliYm9uLnNvdXJjZSA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzb3VyY2UgPSBfLCByaWJib24pIDogc291
cmNlOworICB9OworCisgIHJpYmJvbi50YXJnZXQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAodGFyZ2V0ID0gXywgcmliYm9uKSA6IHRhcmdldDsKKyAgfTsK
KworICByaWJib24uY29udGV4dCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/ICgoY29udGV4dCA9IF8gPT0gbnVsbCA/IG51bGwgOiBfKSwgcmliYm9uKSA6IGNv
bnRleHQ7CisgIH07CisKKyAgcmV0dXJuIHJpYmJvbjsKK30KKwordmFyIHByZWZpeCA9ICIkIjsK
KworZnVuY3Rpb24gTWFwKCkge30KKworTWFwLnByb3RvdHlwZSA9IG1hcCQxLnByb3RvdHlwZSA9
IHsKKyAgY29uc3RydWN0b3I6IE1hcCwKKyAgaGFzOiBmdW5jdGlvbihrZXkpIHsKKyAgICByZXR1
cm4gKHByZWZpeCArIGtleSkgaW4gdGhpczsKKyAgfSwKKyAgZ2V0OiBmdW5jdGlvbihrZXkpIHsK
KyAgICByZXR1cm4gdGhpc1twcmVmaXggKyBrZXldOworICB9LAorICBzZXQ6IGZ1bmN0aW9uKGtl
eSwgdmFsdWUpIHsKKyAgICB0aGlzW3ByZWZpeCArIGtleV0gPSB2YWx1ZTsKKyAgICByZXR1cm4g
dGhpczsKKyAgfSwKKyAgcmVtb3ZlOiBmdW5jdGlvbihrZXkpIHsKKyAgICB2YXIgcHJvcGVydHkg
PSBwcmVmaXggKyBrZXk7CisgICAgcmV0dXJuIHByb3BlcnR5IGluIHRoaXMgJiYgZGVsZXRlIHRo
aXNbcHJvcGVydHldOworICB9LAorICBjbGVhcjogZnVuY3Rpb24oKSB7CisgICAgZm9yICh2YXIg
cHJvcGVydHkgaW4gdGhpcykgaWYgKHByb3BlcnR5WzBdID09PSBwcmVmaXgpIGRlbGV0ZSB0aGlz
W3Byb3BlcnR5XTsKKyAgfSwKKyAga2V5czogZnVuY3Rpb24oKSB7CisgICAgdmFyIGtleXMgPSBb
XTsKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB0aGlzKSBpZiAocHJvcGVydHlbMF0gPT09IHBy
ZWZpeCkga2V5cy5wdXNoKHByb3BlcnR5LnNsaWNlKDEpKTsKKyAgICByZXR1cm4ga2V5czsKKyAg
fSwKKyAgdmFsdWVzOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdmFsdWVzID0gW107CisgICAgZm9y
ICh2YXIgcHJvcGVydHkgaW4gdGhpcykgaWYgKHByb3BlcnR5WzBdID09PSBwcmVmaXgpIHZhbHVl
cy5wdXNoKHRoaXNbcHJvcGVydHldKTsKKyAgICByZXR1cm4gdmFsdWVzOworICB9LAorICBlbnRy
aWVzOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgZW50cmllcyA9IFtdOworICAgIGZvciAodmFyIHBy
b3BlcnR5IGluIHRoaXMpIGlmIChwcm9wZXJ0eVswXSA9PT0gcHJlZml4KSBlbnRyaWVzLnB1c2go
e2tleTogcHJvcGVydHkuc2xpY2UoMSksIHZhbHVlOiB0aGlzW3Byb3BlcnR5XX0pOworICAgIHJl
dHVybiBlbnRyaWVzOworICB9LAorICBzaXplOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgc2l6ZSA9
IDA7CisgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gdGhpcykgaWYgKHByb3BlcnR5WzBdID09PSBw
cmVmaXgpICsrc2l6ZTsKKyAgICByZXR1cm4gc2l6ZTsKKyAgfSwKKyAgZW1wdHk6IGZ1bmN0aW9u
KCkgeworICAgIGZvciAodmFyIHByb3BlcnR5IGluIHRoaXMpIGlmIChwcm9wZXJ0eVswXSA9PT0g
cHJlZml4KSByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7CisgIH0sCisgIGVhY2g6IGZ1
bmN0aW9uKGYpIHsKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB0aGlzKSBpZiAocHJvcGVydHlb
MF0gPT09IHByZWZpeCkgZih0aGlzW3Byb3BlcnR5XSwgcHJvcGVydHkuc2xpY2UoMSksIHRoaXMp
OworICB9Cit9OworCitmdW5jdGlvbiBtYXAkMShvYmplY3QsIGYpIHsKKyAgdmFyIG1hcCA9IG5l
dyBNYXA7CisKKyAgLy8gQ29weSBjb25zdHJ1Y3Rvci4KKyAgaWYgKG9iamVjdCBpbnN0YW5jZW9m
IE1hcCkgb2JqZWN0LmVhY2goZnVuY3Rpb24odmFsdWUsIGtleSkgeyBtYXAuc2V0KGtleSwgdmFs
dWUpOyB9KTsKKworICAvLyBJbmRleCBhcnJheSBieSBudW1lcmljIGluZGV4IG9yIHNwZWNpZmll
ZCBrZXkgZnVuY3Rpb24uCisgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkob2JqZWN0KSkgeworICAg
IHZhciBpID0gLTEsCisgICAgICAgIG4gPSBvYmplY3QubGVuZ3RoLAorICAgICAgICBvOworCisg
ICAgaWYgKGYgPT0gbnVsbCkgd2hpbGUgKCsraSA8IG4pIG1hcC5zZXQoaSwgb2JqZWN0W2ldKTsK
KyAgICBlbHNlIHdoaWxlICgrK2kgPCBuKSBtYXAuc2V0KGYobyA9IG9iamVjdFtpXSwgaSwgb2Jq
ZWN0KSwgbyk7CisgIH0KKworICAvLyBDb252ZXJ0IG9iamVjdCB0byBtYXAuCisgIGVsc2UgaWYg
KG9iamVjdCkgZm9yICh2YXIga2V5IGluIG9iamVjdCkgbWFwLnNldChrZXksIG9iamVjdFtrZXld
KTsKKworICByZXR1cm4gbWFwOworfQorCitmdW5jdGlvbiBuZXN0KCkgeworICB2YXIga2V5cyA9
IFtdLAorICAgICAgc29ydEtleXMgPSBbXSwKKyAgICAgIHNvcnRWYWx1ZXMsCisgICAgICByb2xs
dXAsCisgICAgICBuZXN0OworCisgIGZ1bmN0aW9uIGFwcGx5KGFycmF5LCBkZXB0aCwgY3JlYXRl
UmVzdWx0LCBzZXRSZXN1bHQpIHsKKyAgICBpZiAoZGVwdGggPj0ga2V5cy5sZW5ndGgpIHsKKyAg
ICAgIGlmIChzb3J0VmFsdWVzICE9IG51bGwpIGFycmF5LnNvcnQoc29ydFZhbHVlcyk7CisgICAg
ICByZXR1cm4gcm9sbHVwICE9IG51bGwgPyByb2xsdXAoYXJyYXkpIDogYXJyYXk7CisgICAgfQor
CisgICAgdmFyIGkgPSAtMSwKKyAgICAgICAgbiA9IGFycmF5Lmxlbmd0aCwKKyAgICAgICAga2V5
ID0ga2V5c1tkZXB0aCsrXSwKKyAgICAgICAga2V5VmFsdWUsCisgICAgICAgIHZhbHVlLAorICAg
ICAgICB2YWx1ZXNCeUtleSA9IG1hcCQxKCksCisgICAgICAgIHZhbHVlcywKKyAgICAgICAgcmVz
dWx0ID0gY3JlYXRlUmVzdWx0KCk7CisKKyAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgaWYg
KHZhbHVlcyA9IHZhbHVlc0J5S2V5LmdldChrZXlWYWx1ZSA9IGtleSh2YWx1ZSA9IGFycmF5W2ld
KSArICIiKSkgeworICAgICAgICB2YWx1ZXMucHVzaCh2YWx1ZSk7CisgICAgICB9IGVsc2Ugewor
ICAgICAgICB2YWx1ZXNCeUtleS5zZXQoa2V5VmFsdWUsIFt2YWx1ZV0pOworICAgICAgfQorICAg
IH0KKworICAgIHZhbHVlc0J5S2V5LmVhY2goZnVuY3Rpb24odmFsdWVzLCBrZXkpIHsKKyAgICAg
IHNldFJlc3VsdChyZXN1bHQsIGtleSwgYXBwbHkodmFsdWVzLCBkZXB0aCwgY3JlYXRlUmVzdWx0
LCBzZXRSZXN1bHQpKTsKKyAgICB9KTsKKworICAgIHJldHVybiByZXN1bHQ7CisgIH0KKworICBm
dW5jdGlvbiBlbnRyaWVzKG1hcCwgZGVwdGgpIHsKKyAgICBpZiAoKytkZXB0aCA+IGtleXMubGVu
Z3RoKSByZXR1cm4gbWFwOworICAgIHZhciBhcnJheSwgc29ydEtleSA9IHNvcnRLZXlzW2RlcHRo
IC0gMV07CisgICAgaWYgKHJvbGx1cCAhPSBudWxsICYmIGRlcHRoID49IGtleXMubGVuZ3RoKSBh
cnJheSA9IG1hcC5lbnRyaWVzKCk7CisgICAgZWxzZSBhcnJheSA9IFtdLCBtYXAuZWFjaChmdW5j
dGlvbih2LCBrKSB7IGFycmF5LnB1c2goe2tleTogaywgdmFsdWVzOiBlbnRyaWVzKHYsIGRlcHRo
KX0pOyB9KTsKKyAgICByZXR1cm4gc29ydEtleSAhPSBudWxsID8gYXJyYXkuc29ydChmdW5jdGlv
bihhLCBiKSB7IHJldHVybiBzb3J0S2V5KGEua2V5LCBiLmtleSk7IH0pIDogYXJyYXk7CisgIH0K
KworICByZXR1cm4gbmVzdCA9IHsKKyAgICBvYmplY3Q6IGZ1bmN0aW9uKGFycmF5KSB7IHJldHVy
biBhcHBseShhcnJheSwgMCwgY3JlYXRlT2JqZWN0LCBzZXRPYmplY3QpOyB9LAorICAgIG1hcDog
ZnVuY3Rpb24oYXJyYXkpIHsgcmV0dXJuIGFwcGx5KGFycmF5LCAwLCBjcmVhdGVNYXAsIHNldE1h
cCk7IH0sCisgICAgZW50cmllczogZnVuY3Rpb24oYXJyYXkpIHsgcmV0dXJuIGVudHJpZXMoYXBw
bHkoYXJyYXksIDAsIGNyZWF0ZU1hcCwgc2V0TWFwKSwgMCk7IH0sCisgICAga2V5OiBmdW5jdGlv
bihkKSB7IGtleXMucHVzaChkKTsgcmV0dXJuIG5lc3Q7IH0sCisgICAgc29ydEtleXM6IGZ1bmN0
aW9uKG9yZGVyKSB7IHNvcnRLZXlzW2tleXMubGVuZ3RoIC0gMV0gPSBvcmRlcjsgcmV0dXJuIG5l
c3Q7IH0sCisgICAgc29ydFZhbHVlczogZnVuY3Rpb24ob3JkZXIpIHsgc29ydFZhbHVlcyA9IG9y
ZGVyOyByZXR1cm4gbmVzdDsgfSwKKyAgICByb2xsdXA6IGZ1bmN0aW9uKGYpIHsgcm9sbHVwID0g
ZjsgcmV0dXJuIG5lc3Q7IH0KKyAgfTsKK30KKworZnVuY3Rpb24gY3JlYXRlT2JqZWN0KCkgewor
ICByZXR1cm4ge307Cit9CisKK2Z1bmN0aW9uIHNldE9iamVjdChvYmplY3QsIGtleSwgdmFsdWUp
IHsKKyAgb2JqZWN0W2tleV0gPSB2YWx1ZTsKK30KKworZnVuY3Rpb24gY3JlYXRlTWFwKCkgewor
ICByZXR1cm4gbWFwJDEoKTsKK30KKworZnVuY3Rpb24gc2V0TWFwKG1hcCwga2V5LCB2YWx1ZSkg
eworICBtYXAuc2V0KGtleSwgdmFsdWUpOworfQorCitmdW5jdGlvbiBTZXQoKSB7fQorCit2YXIg
cHJvdG8gPSBtYXAkMS5wcm90b3R5cGU7CisKK1NldC5wcm90b3R5cGUgPSBzZXQkMi5wcm90b3R5
cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBTZXQsCisgIGhhczogcHJvdG8uaGFzLAorICBhZGQ6IGZ1
bmN0aW9uKHZhbHVlKSB7CisgICAgdmFsdWUgKz0gIiI7CisgICAgdGhpc1twcmVmaXggKyB2YWx1
ZV0gPSB2YWx1ZTsKKyAgICByZXR1cm4gdGhpczsKKyAgfSwKKyAgcmVtb3ZlOiBwcm90by5yZW1v
dmUsCisgIGNsZWFyOiBwcm90by5jbGVhciwKKyAgdmFsdWVzOiBwcm90by5rZXlzLAorICBzaXpl
OiBwcm90by5zaXplLAorICBlbXB0eTogcHJvdG8uZW1wdHksCisgIGVhY2g6IHByb3RvLmVhY2gK
K307CisKK2Z1bmN0aW9uIHNldCQyKG9iamVjdCwgZikgeworICB2YXIgc2V0ID0gbmV3IFNldDsK
KworICAvLyBDb3B5IGNvbnN0cnVjdG9yLgorICBpZiAob2JqZWN0IGluc3RhbmNlb2YgU2V0KSBv
YmplY3QuZWFjaChmdW5jdGlvbih2YWx1ZSkgeyBzZXQuYWRkKHZhbHVlKTsgfSk7CisKKyAgLy8g
T3RoZXJ3aXNlLCBhc3N1bWUgaXTigJlzIGFuIGFycmF5LgorICBlbHNlIGlmIChvYmplY3QpIHsK
KyAgICB2YXIgaSA9IC0xLCBuID0gb2JqZWN0Lmxlbmd0aDsKKyAgICBpZiAoZiA9PSBudWxsKSB3
aGlsZSAoKytpIDwgbikgc2V0LmFkZChvYmplY3RbaV0pOworICAgIGVsc2Ugd2hpbGUgKCsraSA8
IG4pIHNldC5hZGQoZihvYmplY3RbaV0sIGksIG9iamVjdCkpOworICB9CisKKyAgcmV0dXJuIHNl
dDsKK30KKworZnVuY3Rpb24ga2V5cyhtYXApIHsKKyAgdmFyIGtleXMgPSBbXTsKKyAgZm9yICh2
YXIga2V5IGluIG1hcCkga2V5cy5wdXNoKGtleSk7CisgIHJldHVybiBrZXlzOworfQorCitmdW5j
dGlvbiB2YWx1ZXMobWFwKSB7CisgIHZhciB2YWx1ZXMgPSBbXTsKKyAgZm9yICh2YXIga2V5IGlu
IG1hcCkgdmFsdWVzLnB1c2gobWFwW2tleV0pOworICByZXR1cm4gdmFsdWVzOworfQorCitmdW5j
dGlvbiBlbnRyaWVzKG1hcCkgeworICB2YXIgZW50cmllcyA9IFtdOworICBmb3IgKHZhciBrZXkg
aW4gbWFwKSBlbnRyaWVzLnB1c2goe2tleToga2V5LCB2YWx1ZTogbWFwW2tleV19KTsKKyAgcmV0
dXJuIGVudHJpZXM7Cit9CisKK3ZhciBhcnJheSQyID0gQXJyYXkucHJvdG90eXBlOworCit2YXIg
c2xpY2UkMyA9IGFycmF5JDIuc2xpY2U7CisKK2Z1bmN0aW9uIGFzY2VuZGluZyQyKGEsIGIpIHsK
KyAgcmV0dXJuIGEgLSBiOworfQorCitmdW5jdGlvbiBhcmVhKHJpbmcpIHsKKyAgdmFyIGkgPSAw
LCBuID0gcmluZy5sZW5ndGgsIGFyZWEgPSByaW5nW24gLSAxXVsxXSAqIHJpbmdbMF1bMF0gLSBy
aW5nW24gLSAxXVswXSAqIHJpbmdbMF1bMV07CisgIHdoaWxlICgrK2kgPCBuKSBhcmVhICs9IHJp
bmdbaSAtIDFdWzFdICogcmluZ1tpXVswXSAtIHJpbmdbaSAtIDFdWzBdICogcmluZ1tpXVsxXTsK
KyAgcmV0dXJuIGFyZWE7Cit9CisKK2Z1bmN0aW9uIGNvbnN0YW50JDYoeCkgeworICByZXR1cm4g
ZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHg7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNvbnRhaW5z
KHJpbmcsIGhvbGUpIHsKKyAgdmFyIGkgPSAtMSwgbiA9IGhvbGUubGVuZ3RoLCBjOworICB3aGls
ZSAoKytpIDwgbikgaWYgKGMgPSByaW5nQ29udGFpbnMocmluZywgaG9sZVtpXSkpIHJldHVybiBj
OworICByZXR1cm4gMDsKK30KKworZnVuY3Rpb24gcmluZ0NvbnRhaW5zKHJpbmcsIHBvaW50KSB7
CisgIHZhciB4ID0gcG9pbnRbMF0sIHkgPSBwb2ludFsxXSwgY29udGFpbnMgPSAtMTsKKyAgZm9y
ICh2YXIgaSA9IDAsIG4gPSByaW5nLmxlbmd0aCwgaiA9IG4gLSAxOyBpIDwgbjsgaiA9IGkrKykg
eworICAgIHZhciBwaSA9IHJpbmdbaV0sIHhpID0gcGlbMF0sIHlpID0gcGlbMV0sIHBqID0gcmlu
Z1tqXSwgeGogPSBwalswXSwgeWogPSBwalsxXTsKKyAgICBpZiAoc2VnbWVudENvbnRhaW5zKHBp
LCBwaiwgcG9pbnQpKSByZXR1cm4gMDsKKyAgICBpZiAoKCh5aSA+IHkpICE9PSAoeWogPiB5KSkg
JiYgKCh4IDwgKHhqIC0geGkpICogKHkgLSB5aSkgLyAoeWogLSB5aSkgKyB4aSkpKSBjb250YWlu
cyA9IC1jb250YWluczsKKyAgfQorICByZXR1cm4gY29udGFpbnM7Cit9CisKK2Z1bmN0aW9uIHNl
Z21lbnRDb250YWlucyhhLCBiLCBjKSB7CisgIHZhciBpOyByZXR1cm4gY29sbGluZWFyKGEsIGIs
IGMpICYmIHdpdGhpbihhW2kgPSArKGFbMF0gPT09IGJbMF0pXSwgY1tpXSwgYltpXSk7Cit9CisK
K2Z1bmN0aW9uIGNvbGxpbmVhcihhLCBiLCBjKSB7CisgIHJldHVybiAoYlswXSAtIGFbMF0pICog
KGNbMV0gLSBhWzFdKSA9PT0gKGNbMF0gLSBhWzBdKSAqIChiWzFdIC0gYVsxXSk7Cit9CisKK2Z1
bmN0aW9uIHdpdGhpbihwLCBxLCByKSB7CisgIHJldHVybiBwIDw9IHEgJiYgcSA8PSByIHx8IHIg
PD0gcSAmJiBxIDw9IHA7Cit9CisKK2Z1bmN0aW9uIG5vb3AkMSgpIHt9CisKK3ZhciBjYXNlcyA9
IFsKKyAgW10sCisgIFtbWzEuMCwgMS41XSwgWzAuNSwgMS4wXV1dLAorICBbW1sxLjUsIDEuMF0s
IFsxLjAsIDEuNV1dXSwKKyAgW1tbMS41LCAxLjBdLCBbMC41LCAxLjBdXV0sCisgIFtbWzEuMCwg
MC41XSwgWzEuNSwgMS4wXV1dLAorICBbW1sxLjAsIDEuNV0sIFswLjUsIDEuMF1dLCBbWzEuMCwg
MC41XSwgWzEuNSwgMS4wXV1dLAorICBbW1sxLjAsIDAuNV0sIFsxLjAsIDEuNV1dXSwKKyAgW1tb
MS4wLCAwLjVdLCBbMC41LCAxLjBdXV0sCisgIFtbWzAuNSwgMS4wXSwgWzEuMCwgMC41XV1dLAor
ICBbW1sxLjAsIDEuNV0sIFsxLjAsIDAuNV1dXSwKKyAgW1tbMC41LCAxLjBdLCBbMS4wLCAwLjVd
XSwgW1sxLjUsIDEuMF0sIFsxLjAsIDEuNV1dXSwKKyAgW1tbMS41LCAxLjBdLCBbMS4wLCAwLjVd
XV0sCisgIFtbWzAuNSwgMS4wXSwgWzEuNSwgMS4wXV1dLAorICBbW1sxLjAsIDEuNV0sIFsxLjUs
IDEuMF1dXSwKKyAgW1tbMC41LCAxLjBdLCBbMS4wLCAxLjVdXV0sCisgIFtdCitdOworCitmdW5j
dGlvbiBjb250b3VycygpIHsKKyAgdmFyIGR4ID0gMSwKKyAgICAgIGR5ID0gMSwKKyAgICAgIHRo
cmVzaG9sZCA9IHRocmVzaG9sZFN0dXJnZXMsCisgICAgICBzbW9vdGggPSBzbW9vdGhMaW5lYXI7
CisKKyAgZnVuY3Rpb24gY29udG91cnModmFsdWVzKSB7CisgICAgdmFyIHR6ID0gdGhyZXNob2xk
KHZhbHVlcyk7CisKKyAgICAvLyBDb252ZXJ0IG51bWJlciBvZiB0aHJlc2hvbGRzIGludG8gdW5p
Zm9ybSB0aHJlc2hvbGRzLgorICAgIGlmICghQXJyYXkuaXNBcnJheSh0eikpIHsKKyAgICAgIHZh
ciBkb21haW4gPSBleHRlbnQodmFsdWVzKSwgc3RhcnQgPSBkb21haW5bMF0sIHN0b3AgPSBkb21h
aW5bMV07CisgICAgICB0eiA9IHRpY2tTdGVwKHN0YXJ0LCBzdG9wLCB0eik7CisgICAgICB0eiA9
IHNlcXVlbmNlKE1hdGguZmxvb3Ioc3RhcnQgLyB0eikgKiB0eiwgTWF0aC5mbG9vcihzdG9wIC8g
dHopICogdHosIHR6KTsKKyAgICB9IGVsc2UgeworICAgICAgdHogPSB0ei5zbGljZSgpLnNvcnQo
YXNjZW5kaW5nJDIpOworICAgIH0KKworICAgIHJldHVybiB0ei5tYXAoZnVuY3Rpb24odmFsdWUp
IHsKKyAgICAgIHJldHVybiBjb250b3VyKHZhbHVlcywgdmFsdWUpOworICAgIH0pOworICB9CisK
KyAgLy8gQWNjdW11bGF0ZSwgc21vb3RoIGNvbnRvdXIgcmluZ3MsIGFzc2lnbiBob2xlcyB0byBl
eHRlcmlvciByaW5ncy4KKyAgLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL21ib3N0b2Nr
L3NoYXBlZmlsZS9ibG9iL3YwLjYuMi9zaHAvcG9seWdvbi5qcworICBmdW5jdGlvbiBjb250b3Vy
KHZhbHVlcywgdmFsdWUpIHsKKyAgICB2YXIgcG9seWdvbnMgPSBbXSwKKyAgICAgICAgaG9sZXMg
PSBbXTsKKworICAgIGlzb3JpbmdzKHZhbHVlcywgdmFsdWUsIGZ1bmN0aW9uKHJpbmcpIHsKKyAg
ICAgIHNtb290aChyaW5nLCB2YWx1ZXMsIHZhbHVlKTsKKyAgICAgIGlmIChhcmVhKHJpbmcpID4g
MCkgcG9seWdvbnMucHVzaChbcmluZ10pOworICAgICAgZWxzZSBob2xlcy5wdXNoKHJpbmcpOwor
ICAgIH0pOworCisgICAgaG9sZXMuZm9yRWFjaChmdW5jdGlvbihob2xlKSB7CisgICAgICBmb3Ig
KHZhciBpID0gMCwgbiA9IHBvbHlnb25zLmxlbmd0aCwgcG9seWdvbjsgaSA8IG47ICsraSkgewor
ICAgICAgICBpZiAoY29udGFpbnMoKHBvbHlnb24gPSBwb2x5Z29uc1tpXSlbMF0sIGhvbGUpICE9
PSAtMSkgeworICAgICAgICAgIHBvbHlnb24ucHVzaChob2xlKTsKKyAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9KTsKKworICAgIHJldHVybiB7CisgICAgICB0eXBl
OiAiTXVsdGlQb2x5Z29uIiwKKyAgICAgIHZhbHVlOiB2YWx1ZSwKKyAgICAgIGNvb3JkaW5hdGVz
OiBwb2x5Z29ucworICAgIH07CisgIH0KKworICAvLyBNYXJjaGluZyBzcXVhcmVzIHdpdGggaXNv
bGluZXMgc3RpdGNoZWQgaW50byByaW5ncy4KKyAgLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIu
Y29tL3RvcG9qc29uL3RvcG9qc29uLWNsaWVudC9ibG9iL3YzLjAuMC9zcmMvc3RpdGNoLmpzCisg
IGZ1bmN0aW9uIGlzb3JpbmdzKHZhbHVlcywgdmFsdWUsIGNhbGxiYWNrKSB7CisgICAgdmFyIGZy
YWdtZW50QnlTdGFydCA9IG5ldyBBcnJheSwKKyAgICAgICAgZnJhZ21lbnRCeUVuZCA9IG5ldyBB
cnJheSwKKyAgICAgICAgeCwgeSwgdDAsIHQxLCB0MiwgdDM7CisKKyAgICAvLyBTcGVjaWFsIGNh
c2UgZm9yIHRoZSBmaXJzdCByb3cgKHkgPSAtMSwgdDIgPSB0MyA9IDApLgorICAgIHggPSB5ID0g
LTE7CisgICAgdDEgPSB2YWx1ZXNbMF0gPj0gdmFsdWU7CisgICAgY2FzZXNbdDEgPDwgMV0uZm9y
RWFjaChzdGl0Y2gpOworICAgIHdoaWxlICgrK3ggPCBkeCAtIDEpIHsKKyAgICAgIHQwID0gdDEs
IHQxID0gdmFsdWVzW3ggKyAxXSA+PSB2YWx1ZTsKKyAgICAgIGNhc2VzW3QwIHwgdDEgPDwgMV0u
Zm9yRWFjaChzdGl0Y2gpOworICAgIH0KKyAgICBjYXNlc1t0MSA8PCAwXS5mb3JFYWNoKHN0aXRj
aCk7CisKKyAgICAvLyBHZW5lcmFsIGNhc2UgZm9yIHRoZSBpbnRlcm1lZGlhdGUgcm93cy4KKyAg
ICB3aGlsZSAoKyt5IDwgZHkgLSAxKSB7CisgICAgICB4ID0gLTE7CisgICAgICB0MSA9IHZhbHVl
c1t5ICogZHggKyBkeF0gPj0gdmFsdWU7CisgICAgICB0MiA9IHZhbHVlc1t5ICogZHhdID49IHZh
bHVlOworICAgICAgY2FzZXNbdDEgPDwgMSB8IHQyIDw8IDJdLmZvckVhY2goc3RpdGNoKTsKKyAg
ICAgIHdoaWxlICgrK3ggPCBkeCAtIDEpIHsKKyAgICAgICAgdDAgPSB0MSwgdDEgPSB2YWx1ZXNb
eSAqIGR4ICsgZHggKyB4ICsgMV0gPj0gdmFsdWU7CisgICAgICAgIHQzID0gdDIsIHQyID0gdmFs
dWVzW3kgKiBkeCArIHggKyAxXSA+PSB2YWx1ZTsKKyAgICAgICAgY2FzZXNbdDAgfCB0MSA8PCAx
IHwgdDIgPDwgMiB8IHQzIDw8IDNdLmZvckVhY2goc3RpdGNoKTsKKyAgICAgIH0KKyAgICAgIGNh
c2VzW3QxIHwgdDIgPDwgM10uZm9yRWFjaChzdGl0Y2gpOworICAgIH0KKworICAgIC8vIFNwZWNp
YWwgY2FzZSBmb3IgdGhlIGxhc3Qgcm93ICh5ID0gZHkgLSAxLCB0MCA9IHQxID0gMCkuCisgICAg
eCA9IC0xOworICAgIHQyID0gdmFsdWVzW3kgKiBkeF0gPj0gdmFsdWU7CisgICAgY2FzZXNbdDIg
PDwgMl0uZm9yRWFjaChzdGl0Y2gpOworICAgIHdoaWxlICgrK3ggPCBkeCAtIDEpIHsKKyAgICAg
IHQzID0gdDIsIHQyID0gdmFsdWVzW3kgKiBkeCArIHggKyAxXSA+PSB2YWx1ZTsKKyAgICAgIGNh
c2VzW3QyIDw8IDIgfCB0MyA8PCAzXS5mb3JFYWNoKHN0aXRjaCk7CisgICAgfQorICAgIGNhc2Vz
W3QyIDw8IDNdLmZvckVhY2goc3RpdGNoKTsKKworICAgIGZ1bmN0aW9uIHN0aXRjaChsaW5lKSB7
CisgICAgICB2YXIgc3RhcnQgPSBbbGluZVswXVswXSArIHgsIGxpbmVbMF1bMV0gKyB5XSwKKyAg
ICAgICAgICBlbmQgPSBbbGluZVsxXVswXSArIHgsIGxpbmVbMV1bMV0gKyB5XSwKKyAgICAgICAg
ICBzdGFydEluZGV4ID0gaW5kZXgoc3RhcnQpLAorICAgICAgICAgIGVuZEluZGV4ID0gaW5kZXgo
ZW5kKSwKKyAgICAgICAgICBmLCBnOworICAgICAgaWYgKGYgPSBmcmFnbWVudEJ5RW5kW3N0YXJ0
SW5kZXhdKSB7CisgICAgICAgIGlmIChnID0gZnJhZ21lbnRCeVN0YXJ0W2VuZEluZGV4XSkgewor
ICAgICAgICAgIGRlbGV0ZSBmcmFnbWVudEJ5RW5kW2YuZW5kXTsKKyAgICAgICAgICBkZWxldGUg
ZnJhZ21lbnRCeVN0YXJ0W2cuc3RhcnRdOworICAgICAgICAgIGlmIChmID09PSBnKSB7CisgICAg
ICAgICAgICBmLnJpbmcucHVzaChlbmQpOworICAgICAgICAgICAgY2FsbGJhY2soZi5yaW5nKTsK
KyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZnJhZ21lbnRCeVN0YXJ0W2Yuc3RhcnRd
ID0gZnJhZ21lbnRCeUVuZFtnLmVuZF0gPSB7c3RhcnQ6IGYuc3RhcnQsIGVuZDogZy5lbmQsIHJp
bmc6IGYucmluZy5jb25jYXQoZy5yaW5nKX07CisgICAgICAgICAgfQorICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgIGRlbGV0ZSBmcmFnbWVudEJ5RW5kW2YuZW5kXTsKKyAgICAgICAgICBmLnJp
bmcucHVzaChlbmQpOworICAgICAgICAgIGZyYWdtZW50QnlFbmRbZi5lbmQgPSBlbmRJbmRleF0g
PSBmOworICAgICAgICB9CisgICAgICB9IGVsc2UgaWYgKGYgPSBmcmFnbWVudEJ5U3RhcnRbZW5k
SW5kZXhdKSB7CisgICAgICAgIGlmIChnID0gZnJhZ21lbnRCeUVuZFtzdGFydEluZGV4XSkgewor
ICAgICAgICAgIGRlbGV0ZSBmcmFnbWVudEJ5U3RhcnRbZi5zdGFydF07CisgICAgICAgICAgZGVs
ZXRlIGZyYWdtZW50QnlFbmRbZy5lbmRdOworICAgICAgICAgIGlmIChmID09PSBnKSB7CisgICAg
ICAgICAgICBmLnJpbmcucHVzaChlbmQpOworICAgICAgICAgICAgY2FsbGJhY2soZi5yaW5nKTsK
KyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZnJhZ21lbnRCeVN0YXJ0W2cuc3RhcnRd
ID0gZnJhZ21lbnRCeUVuZFtmLmVuZF0gPSB7c3RhcnQ6IGcuc3RhcnQsIGVuZDogZi5lbmQsIHJp
bmc6IGcucmluZy5jb25jYXQoZi5yaW5nKX07CisgICAgICAgICAgfQorICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgIGRlbGV0ZSBmcmFnbWVudEJ5U3RhcnRbZi5zdGFydF07CisgICAgICAgICAg
Zi5yaW5nLnVuc2hpZnQoc3RhcnQpOworICAgICAgICAgIGZyYWdtZW50QnlTdGFydFtmLnN0YXJ0
ID0gc3RhcnRJbmRleF0gPSBmOworICAgICAgICB9CisgICAgICB9IGVsc2UgeworICAgICAgICBm
cmFnbWVudEJ5U3RhcnRbc3RhcnRJbmRleF0gPSBmcmFnbWVudEJ5RW5kW2VuZEluZGV4XSA9IHtz
dGFydDogc3RhcnRJbmRleCwgZW5kOiBlbmRJbmRleCwgcmluZzogW3N0YXJ0LCBlbmRdfTsKKyAg
ICAgIH0KKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBpbmRleChwb2ludCkgeworICAgIHJldHVy
biBwb2ludFswXSAqIDIgKyBwb2ludFsxXSAqIChkeCArIDEpICogNDsKKyAgfQorCisgIGZ1bmN0
aW9uIHNtb290aExpbmVhcihyaW5nLCB2YWx1ZXMsIHZhbHVlKSB7CisgICAgcmluZy5mb3JFYWNo
KGZ1bmN0aW9uKHBvaW50KSB7CisgICAgICB2YXIgeCA9IHBvaW50WzBdLAorICAgICAgICAgIHkg
PSBwb2ludFsxXSwKKyAgICAgICAgICB4dCA9IHggfCAwLAorICAgICAgICAgIHl0ID0geSB8IDAs
CisgICAgICAgICAgdjAsCisgICAgICAgICAgdjEgPSB2YWx1ZXNbeXQgKiBkeCArIHh0XTsKKyAg
ICAgIGlmICh4ID4gMCAmJiB4IDwgZHggJiYgeHQgPT09IHgpIHsKKyAgICAgICAgdjAgPSB2YWx1
ZXNbeXQgKiBkeCArIHh0IC0gMV07CisgICAgICAgIHBvaW50WzBdID0geCArICh2YWx1ZSAtIHYw
KSAvICh2MSAtIHYwKSAtIDAuNTsKKyAgICAgIH0KKyAgICAgIGlmICh5ID4gMCAmJiB5IDwgZHkg
JiYgeXQgPT09IHkpIHsKKyAgICAgICAgdjAgPSB2YWx1ZXNbKHl0IC0gMSkgKiBkeCArIHh0XTsK
KyAgICAgICAgcG9pbnRbMV0gPSB5ICsgKHZhbHVlIC0gdjApIC8gKHYxIC0gdjApIC0gMC41Owor
ICAgICAgfQorICAgIH0pOworICB9CisKKyAgY29udG91cnMuY29udG91ciA9IGNvbnRvdXI7CisK
KyAgY29udG91cnMuc2l6ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5n
dGgpIHJldHVybiBbZHgsIGR5XTsKKyAgICB2YXIgXzAgPSBNYXRoLmNlaWwoX1swXSksIF8xID0g
TWF0aC5jZWlsKF9bMV0pOworICAgIGlmICghKF8wID4gMCkgfHwgIShfMSA+IDApKSB0aHJvdyBu
ZXcgRXJyb3IoImludmFsaWQgc2l6ZSIpOworICAgIHJldHVybiBkeCA9IF8wLCBkeSA9IF8xLCBj
b250b3VyczsKKyAgfTsKKworICBjb250b3Vycy50aHJlc2hvbGRzID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRocmVzaG9sZCA9IHR5cGVvZiBfID09PSAi
ZnVuY3Rpb24iID8gXyA6IEFycmF5LmlzQXJyYXkoXykgPyBjb25zdGFudCQ2KHNsaWNlJDMuY2Fs
bChfKSkgOiBjb25zdGFudCQ2KF8pLCBjb250b3VycykgOiB0aHJlc2hvbGQ7CisgIH07CisKKyAg
Y29udG91cnMuc21vb3RoID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHNtb290aCA9IF8gPyBzbW9vdGhMaW5lYXIgOiBub29wJDEsIGNvbnRvdXJzKSA6IHNt
b290aCA9PT0gc21vb3RoTGluZWFyOworICB9OworCisgIHJldHVybiBjb250b3VyczsKK30KKwor
Ly8gVE9ETyBPcHRpbWl6ZSBlZGdlIGNhc2VzLgorLy8gVE9ETyBPcHRpbWl6ZSBpbmRleCBjYWxj
dWxhdGlvbi4KKy8vIFRPRE8gT3B0aW1pemUgYXJndW1lbnRzLgorZnVuY3Rpb24gYmx1clgoc291
cmNlLCB0YXJnZXQsIHIpIHsKKyAgdmFyIG4gPSBzb3VyY2Uud2lkdGgsCisgICAgICBtID0gc291
cmNlLmhlaWdodCwKKyAgICAgIHcgPSAociA8PCAxKSArIDE7CisgIGZvciAodmFyIGogPSAwOyBq
IDwgbTsgKytqKSB7CisgICAgZm9yICh2YXIgaSA9IDAsIHNyID0gMDsgaSA8IG4gKyByOyArK2kp
IHsKKyAgICAgIGlmIChpIDwgbikgeworICAgICAgICBzciArPSBzb3VyY2UuZGF0YVtpICsgaiAq
IG5dOworICAgICAgfQorICAgICAgaWYgKGkgPj0gcikgeworICAgICAgICBpZiAoaSA+PSB3KSB7
CisgICAgICAgICAgc3IgLT0gc291cmNlLmRhdGFbaSAtIHcgKyBqICogbl07CisgICAgICAgIH0K
KyAgICAgICAgdGFyZ2V0LmRhdGFbaSAtIHIgKyBqICogbl0gPSBzciAvIE1hdGgubWluKGkgKyAx
LCBuIC0gMSArIHcgLSBpLCB3KTsKKyAgICAgIH0KKyAgICB9CisgIH0KK30KKworLy8gVE9ETyBP
cHRpbWl6ZSBlZGdlIGNhc2VzLgorLy8gVE9ETyBPcHRpbWl6ZSBpbmRleCBjYWxjdWxhdGlvbi4K
Ky8vIFRPRE8gT3B0aW1pemUgYXJndW1lbnRzLgorZnVuY3Rpb24gYmx1clkoc291cmNlLCB0YXJn
ZXQsIHIpIHsKKyAgdmFyIG4gPSBzb3VyY2Uud2lkdGgsCisgICAgICBtID0gc291cmNlLmhlaWdo
dCwKKyAgICAgIHcgPSAociA8PCAxKSArIDE7CisgIGZvciAodmFyIGkgPSAwOyBpIDwgbjsgKytp
KSB7CisgICAgZm9yICh2YXIgaiA9IDAsIHNyID0gMDsgaiA8IG0gKyByOyArK2opIHsKKyAgICAg
IGlmIChqIDwgbSkgeworICAgICAgICBzciArPSBzb3VyY2UuZGF0YVtpICsgaiAqIG5dOworICAg
ICAgfQorICAgICAgaWYgKGogPj0gcikgeworICAgICAgICBpZiAoaiA+PSB3KSB7CisgICAgICAg
ICAgc3IgLT0gc291cmNlLmRhdGFbaSArIChqIC0gdykgKiBuXTsKKyAgICAgICAgfQorICAgICAg
ICB0YXJnZXQuZGF0YVtpICsgKGogLSByKSAqIG5dID0gc3IgLyBNYXRoLm1pbihqICsgMSwgbSAt
IDEgKyB3IC0gaiwgdyk7CisgICAgICB9CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIGRlZmF1
bHRYKGQpIHsKKyAgcmV0dXJuIGRbMF07Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRZKGQpIHsKKyAg
cmV0dXJuIGRbMV07Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRXZWlnaHQoKSB7CisgIHJldHVybiAx
OworfQorCitmdW5jdGlvbiBkZW5zaXR5KCkgeworICB2YXIgeCA9IGRlZmF1bHRYLAorICAgICAg
eSA9IGRlZmF1bHRZLAorICAgICAgd2VpZ2h0ID0gZGVmYXVsdFdlaWdodCwKKyAgICAgIGR4ID0g
OTYwLAorICAgICAgZHkgPSA1MDAsCisgICAgICByID0gMjAsIC8vIGJsdXIgcmFkaXVzCisgICAg
ICBrID0gMiwgLy8gbG9nMihncmlkIGNlbGwgc2l6ZSkKKyAgICAgIG8gPSByICogMywgLy8gZ3Jp
ZCBvZmZzZXQsIHRvIHBhZCBmb3IgYmx1cgorICAgICAgbiA9IChkeCArIG8gKiAyKSA+PiBrLCAv
LyBncmlkIHdpZHRoCisgICAgICBtID0gKGR5ICsgbyAqIDIpID4+IGssIC8vIGdyaWQgaGVpZ2h0
CisgICAgICB0aHJlc2hvbGQgPSBjb25zdGFudCQ2KDIwKTsKKworICBmdW5jdGlvbiBkZW5zaXR5
KGRhdGEpIHsKKyAgICB2YXIgdmFsdWVzMCA9IG5ldyBGbG9hdDMyQXJyYXkobiAqIG0pLAorICAg
ICAgICB2YWx1ZXMxID0gbmV3IEZsb2F0MzJBcnJheShuICogbSk7CisKKyAgICBkYXRhLmZvckVh
Y2goZnVuY3Rpb24oZCwgaSwgZGF0YSkgeworICAgICAgdmFyIHhpID0gKCt4KGQsIGksIGRhdGEp
ICsgbykgPj4gaywKKyAgICAgICAgICB5aSA9ICgreShkLCBpLCBkYXRhKSArIG8pID4+IGssCisg
ICAgICAgICAgd2kgPSArd2VpZ2h0KGQsIGksIGRhdGEpOworICAgICAgaWYgKHhpID49IDAgJiYg
eGkgPCBuICYmIHlpID49IDAgJiYgeWkgPCBtKSB7CisgICAgICAgIHZhbHVlczBbeGkgKyB5aSAq
IG5dICs9IHdpOworICAgICAgfQorICAgIH0pOworCisgICAgLy8gVE9ETyBPcHRpbWl6ZS4KKyAg
ICBibHVyWCh7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTogdmFsdWVzMH0sIHt3aWR0aDogbiwg
aGVpZ2h0OiBtLCBkYXRhOiB2YWx1ZXMxfSwgciA+PiBrKTsKKyAgICBibHVyWSh7d2lkdGg6IG4s
IGhlaWdodDogbSwgZGF0YTogdmFsdWVzMX0sIHt3aWR0aDogbiwgaGVpZ2h0OiBtLCBkYXRhOiB2
YWx1ZXMwfSwgciA+PiBrKTsKKyAgICBibHVyWCh7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTog
dmFsdWVzMH0sIHt3aWR0aDogbiwgaGVpZ2h0OiBtLCBkYXRhOiB2YWx1ZXMxfSwgciA+PiBrKTsK
KyAgICBibHVyWSh7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTogdmFsdWVzMX0sIHt3aWR0aDog
biwgaGVpZ2h0OiBtLCBkYXRhOiB2YWx1ZXMwfSwgciA+PiBrKTsKKyAgICBibHVyWCh7d2lkdGg6
IG4sIGhlaWdodDogbSwgZGF0YTogdmFsdWVzMH0sIHt3aWR0aDogbiwgaGVpZ2h0OiBtLCBkYXRh
OiB2YWx1ZXMxfSwgciA+PiBrKTsKKyAgICBibHVyWSh7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0
YTogdmFsdWVzMX0sIHt3aWR0aDogbiwgaGVpZ2h0OiBtLCBkYXRhOiB2YWx1ZXMwfSwgciA+PiBr
KTsKKworICAgIHZhciB0eiA9IHRocmVzaG9sZCh2YWx1ZXMwKTsKKworICAgIC8vIENvbnZlcnQg
bnVtYmVyIG9mIHRocmVzaG9sZHMgaW50byB1bmlmb3JtIHRocmVzaG9sZHMuCisgICAgaWYgKCFB
cnJheS5pc0FycmF5KHR6KSkgeworICAgICAgdmFyIHN0b3AgPSBtYXgodmFsdWVzMCk7CisgICAg
ICB0eiA9IHRpY2tTdGVwKDAsIHN0b3AsIHR6KTsKKyAgICAgIHR6ID0gc2VxdWVuY2UoMCwgTWF0
aC5mbG9vcihzdG9wIC8gdHopICogdHosIHR6KTsKKyAgICAgIHR6LnNoaWZ0KCk7CisgICAgfQor
CisgICAgcmV0dXJuIGNvbnRvdXJzKCkKKyAgICAgICAgLnRocmVzaG9sZHModHopCisgICAgICAg
IC5zaXplKFtuLCBtXSkKKyAgICAgICh2YWx1ZXMwKQorICAgICAgICAubWFwKHRyYW5zZm9ybSk7
CisgIH0KKworICBmdW5jdGlvbiB0cmFuc2Zvcm0oZ2VvbWV0cnkpIHsKKyAgICBnZW9tZXRyeS52
YWx1ZSAqPSBNYXRoLnBvdygyLCAtMiAqIGspOyAvLyBEZW5zaXR5IGluIHBvaW50cyBwZXIgc3F1
YXJlIHBpeGVsLgorICAgIGdlb21ldHJ5LmNvb3JkaW5hdGVzLmZvckVhY2godHJhbnNmb3JtUG9s
eWdvbik7CisgICAgcmV0dXJuIGdlb21ldHJ5OworICB9CisKKyAgZnVuY3Rpb24gdHJhbnNmb3Jt
UG9seWdvbihjb29yZGluYXRlcykgeworICAgIGNvb3JkaW5hdGVzLmZvckVhY2godHJhbnNmb3Jt
UmluZyk7CisgIH0KKworICBmdW5jdGlvbiB0cmFuc2Zvcm1SaW5nKGNvb3JkaW5hdGVzKSB7Cisg
ICAgY29vcmRpbmF0ZXMuZm9yRWFjaCh0cmFuc2Zvcm1Qb2ludCk7CisgIH0KKworICAvLyBUT0RP
IE9wdGltaXplLgorICBmdW5jdGlvbiB0cmFuc2Zvcm1Qb2ludChjb29yZGluYXRlcykgeworICAg
IGNvb3JkaW5hdGVzWzBdID0gY29vcmRpbmF0ZXNbMF0gKiBNYXRoLnBvdygyLCBrKSAtIG87Cisg
ICAgY29vcmRpbmF0ZXNbMV0gPSBjb29yZGluYXRlc1sxXSAqIE1hdGgucG93KDIsIGspIC0gbzsK
KyAgfQorCisgIGZ1bmN0aW9uIHJlc2l6ZSgpIHsKKyAgICBvID0gciAqIDM7CisgICAgbiA9IChk
eCArIG8gKiAyKSA+PiBrOworICAgIG0gPSAoZHkgKyBvICogMikgPj4gazsKKyAgICByZXR1cm4g
ZGVuc2l0eTsKKyAgfQorCisgIGRlbnNpdHkueCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/ICh4ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29u
c3RhbnQkNigrXyksIGRlbnNpdHkpIDogeDsKKyAgfTsKKworICBkZW5zaXR5LnkgPSBmdW5jdGlv
bihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeSA9IHR5cGVvZiBfID09PSAi
ZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDYoK18pLCBkZW5zaXR5KSA6IHk7CisgIH07CisKKyAg
ZGVuc2l0eS53ZWlnaHQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAod2VpZ2h0ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNigr
XyksIGRlbnNpdHkpIDogd2VpZ2h0OworICB9OworCisgIGRlbnNpdHkuc2l6ZSA9IGZ1bmN0aW9u
KF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBbZHgsIGR5XTsKKyAgICB2
YXIgXzAgPSBNYXRoLmNlaWwoX1swXSksIF8xID0gTWF0aC5jZWlsKF9bMV0pOworICAgIGlmICgh
KF8wID49IDApICYmICEoXzAgPj0gMCkpIHRocm93IG5ldyBFcnJvcigiaW52YWxpZCBzaXplIik7
CisgICAgcmV0dXJuIGR4ID0gXzAsIGR5ID0gXzEsIHJlc2l6ZSgpOworICB9OworCisgIGRlbnNp
dHkuY2VsbFNpemUgPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSBy
ZXR1cm4gMSA8PCBrOworICAgIGlmICghKChfID0gK18pID49IDEpKSB0aHJvdyBuZXcgRXJyb3Io
ImludmFsaWQgY2VsbCBzaXplIik7CisgICAgcmV0dXJuIGsgPSBNYXRoLmZsb29yKE1hdGgubG9n
KF8pIC8gTWF0aC5MTjIpLCByZXNpemUoKTsKKyAgfTsKKworICBkZW5zaXR5LnRocmVzaG9sZHMg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGhyZXNob2xk
ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogQXJyYXkuaXNBcnJheShfKSA/IGNvbnN0
YW50JDYoc2xpY2UkMy5jYWxsKF8pKSA6IGNvbnN0YW50JDYoXyksIGRlbnNpdHkpIDogdGhyZXNo
b2xkOworICB9OworCisgIGRlbnNpdHkuYmFuZHdpZHRoID0gZnVuY3Rpb24oXykgeworICAgIGlm
ICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIE1hdGguc3FydChyICogKHIgKyAxKSk7CisgICAg
aWYgKCEoKF8gPSArXykgPj0gMCkpIHRocm93IG5ldyBFcnJvcigiaW52YWxpZCBiYW5kd2lkdGgi
KTsKKyAgICByZXR1cm4gciA9IE1hdGgucm91bmQoKE1hdGguc3FydCg0ICogXyAqIF8gKyAxKSAt
IDEpIC8gMiksIHJlc2l6ZSgpOworICB9OworCisgIHJldHVybiBkZW5zaXR5OworfQorCit2YXIg
RU9MID0ge30sCisgICAgRU9GID0ge30sCisgICAgUVVPVEUgPSAzNCwKKyAgICBORVdMSU5FID0g
MTAsCisgICAgUkVUVVJOID0gMTM7CisKK2Z1bmN0aW9uIG9iamVjdENvbnZlcnRlcihjb2x1bW5z
KSB7CisgIHJldHVybiBuZXcgRnVuY3Rpb24oImQiLCAicmV0dXJuIHsiICsgY29sdW1ucy5tYXAo
ZnVuY3Rpb24obmFtZSwgaSkgeworICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShuYW1lKSArICI6
IGRbIiArIGkgKyAiXSB8fCBcIlwiIjsKKyAgfSkuam9pbigiLCIpICsgIn0iKTsKK30KKworZnVu
Y3Rpb24gY3VzdG9tQ29udmVydGVyKGNvbHVtbnMsIGYpIHsKKyAgdmFyIG9iamVjdCA9IG9iamVj
dENvbnZlcnRlcihjb2x1bW5zKTsKKyAgcmV0dXJuIGZ1bmN0aW9uKHJvdywgaSkgeworICAgIHJl
dHVybiBmKG9iamVjdChyb3cpLCBpLCBjb2x1bW5zKTsKKyAgfTsKK30KKworLy8gQ29tcHV0ZSB1
bmlxdWUgY29sdW1ucyBpbiBvcmRlciBvZiBkaXNjb3ZlcnkuCitmdW5jdGlvbiBpbmZlckNvbHVt
bnMocm93cykgeworICB2YXIgY29sdW1uU2V0ID0gT2JqZWN0LmNyZWF0ZShudWxsKSwKKyAgICAg
IGNvbHVtbnMgPSBbXTsKKworICByb3dzLmZvckVhY2goZnVuY3Rpb24ocm93KSB7CisgICAgZm9y
ICh2YXIgY29sdW1uIGluIHJvdykgeworICAgICAgaWYgKCEoY29sdW1uIGluIGNvbHVtblNldCkp
IHsKKyAgICAgICAgY29sdW1ucy5wdXNoKGNvbHVtblNldFtjb2x1bW5dID0gY29sdW1uKTsKKyAg
ICAgIH0KKyAgICB9CisgIH0pOworCisgIHJldHVybiBjb2x1bW5zOworfQorCitmdW5jdGlvbiBw
YWQodmFsdWUsIHdpZHRoKSB7CisgIHZhciBzID0gdmFsdWUgKyAiIiwgbGVuZ3RoID0gcy5sZW5n
dGg7CisgIHJldHVybiBsZW5ndGggPCB3aWR0aCA/IG5ldyBBcnJheSh3aWR0aCAtIGxlbmd0aCAr
IDEpLmpvaW4oMCkgKyBzIDogczsKK30KKworZnVuY3Rpb24gZm9ybWF0WWVhcih5ZWFyKSB7Cisg
IHJldHVybiB5ZWFyIDwgMCA/ICItIiArIHBhZCgteWVhciwgNikKKyAgICA6IHllYXIgPiA5OTk5
ID8gIisiICsgcGFkKHllYXIsIDYpCisgICAgOiBwYWQoeWVhciwgNCk7Cit9CisKK2Z1bmN0aW9u
IGZvcm1hdERhdGUoZGF0ZSkgeworICB2YXIgaG91cnMgPSBkYXRlLmdldFVUQ0hvdXJzKCksCisg
ICAgICBtaW51dGVzID0gZGF0ZS5nZXRVVENNaW51dGVzKCksCisgICAgICBzZWNvbmRzID0gZGF0
ZS5nZXRVVENTZWNvbmRzKCksCisgICAgICBtaWxsaXNlY29uZHMgPSBkYXRlLmdldFVUQ01pbGxp
c2Vjb25kcygpOworICByZXR1cm4gaXNOYU4oZGF0ZSkgPyAiSW52YWxpZCBEYXRlIgorICAgICAg
OiBmb3JtYXRZZWFyKGRhdGUuZ2V0VVRDRnVsbFllYXIoKSkgKyAiLSIgKyBwYWQoZGF0ZS5nZXRV
VENNb250aCgpICsgMSwgMikgKyAiLSIgKyBwYWQoZGF0ZS5nZXRVVENEYXRlKCksIDIpCisgICAg
ICArIChtaWxsaXNlY29uZHMgPyAiVCIgKyBwYWQoaG91cnMsIDIpICsgIjoiICsgcGFkKG1pbnV0
ZXMsIDIpICsgIjoiICsgcGFkKHNlY29uZHMsIDIpICsgIi4iICsgcGFkKG1pbGxpc2Vjb25kcywg
MykgKyAiWiIKKyAgICAgIDogc2Vjb25kcyA/ICJUIiArIHBhZChob3VycywgMikgKyAiOiIgKyBw
YWQobWludXRlcywgMikgKyAiOiIgKyBwYWQoc2Vjb25kcywgMikgKyAiWiIKKyAgICAgIDogbWlu
dXRlcyB8fCBob3VycyA/ICJUIiArIHBhZChob3VycywgMikgKyAiOiIgKyBwYWQobWludXRlcywg
MikgKyAiWiIKKyAgICAgIDogIiIpOworfQorCitmdW5jdGlvbiBkc3ZGb3JtYXQoZGVsaW1pdGVy
KSB7CisgIHZhciByZUZvcm1hdCA9IG5ldyBSZWdFeHAoIltcIiIgKyBkZWxpbWl0ZXIgKyAiXG5c
cl0iKSwKKyAgICAgIERFTElNSVRFUiA9IGRlbGltaXRlci5jaGFyQ29kZUF0KDApOworCisgIGZ1
bmN0aW9uIHBhcnNlKHRleHQsIGYpIHsKKyAgICB2YXIgY29udmVydCwgY29sdW1ucywgcm93cyA9
IHBhcnNlUm93cyh0ZXh0LCBmdW5jdGlvbihyb3csIGkpIHsKKyAgICAgIGlmIChjb252ZXJ0KSBy
ZXR1cm4gY29udmVydChyb3csIGkgLSAxKTsKKyAgICAgIGNvbHVtbnMgPSByb3csIGNvbnZlcnQg
PSBmID8gY3VzdG9tQ29udmVydGVyKHJvdywgZikgOiBvYmplY3RDb252ZXJ0ZXIocm93KTsKKyAg
ICB9KTsKKyAgICByb3dzLmNvbHVtbnMgPSBjb2x1bW5zIHx8IFtdOworICAgIHJldHVybiByb3dz
OworICB9CisKKyAgZnVuY3Rpb24gcGFyc2VSb3dzKHRleHQsIGYpIHsKKyAgICB2YXIgcm93cyA9
IFtdLCAvLyBvdXRwdXQgcm93cworICAgICAgICBOID0gdGV4dC5sZW5ndGgsCisgICAgICAgIEkg
PSAwLCAvLyBjdXJyZW50IGNoYXJhY3RlciBpbmRleAorICAgICAgICBuID0gMCwgLy8gY3VycmVu
dCBsaW5lIG51bWJlcgorICAgICAgICB0LCAvLyBjdXJyZW50IHRva2VuCisgICAgICAgIGVvZiA9
IE4gPD0gMCwgLy8gY3VycmVudCB0b2tlbiBmb2xsb3dlZCBieSBFT0Y/CisgICAgICAgIGVvbCA9
IGZhbHNlOyAvLyBjdXJyZW50IHRva2VuIGZvbGxvd2VkIGJ5IEVPTD8KKworICAgIC8vIFN0cmlw
IHRoZSB0cmFpbGluZyBuZXdsaW5lLgorICAgIGlmICh0ZXh0LmNoYXJDb2RlQXQoTiAtIDEpID09
PSBORVdMSU5FKSAtLU47CisgICAgaWYgKHRleHQuY2hhckNvZGVBdChOIC0gMSkgPT09IFJFVFVS
TikgLS1OOworCisgICAgZnVuY3Rpb24gdG9rZW4oKSB7CisgICAgICBpZiAoZW9mKSByZXR1cm4g
RU9GOworICAgICAgaWYgKGVvbCkgcmV0dXJuIGVvbCA9IGZhbHNlLCBFT0w7CisKKyAgICAgIC8v
IFVuZXNjYXBlIHF1b3Rlcy4KKyAgICAgIHZhciBpLCBqID0gSSwgYzsKKyAgICAgIGlmICh0ZXh0
LmNoYXJDb2RlQXQoaikgPT09IFFVT1RFKSB7CisgICAgICAgIHdoaWxlIChJKysgPCBOICYmIHRl
eHQuY2hhckNvZGVBdChJKSAhPT0gUVVPVEUgfHwgdGV4dC5jaGFyQ29kZUF0KCsrSSkgPT09IFFV
T1RFKTsKKyAgICAgICAgaWYgKChpID0gSSkgPj0gTikgZW9mID0gdHJ1ZTsKKyAgICAgICAgZWxz
ZSBpZiAoKGMgPSB0ZXh0LmNoYXJDb2RlQXQoSSsrKSkgPT09IE5FV0xJTkUpIGVvbCA9IHRydWU7
CisgICAgICAgIGVsc2UgaWYgKGMgPT09IFJFVFVSTikgeyBlb2wgPSB0cnVlOyBpZiAodGV4dC5j
aGFyQ29kZUF0KEkpID09PSBORVdMSU5FKSArK0k7IH0KKyAgICAgICAgcmV0dXJuIHRleHQuc2xp
Y2UoaiArIDEsIGkgLSAxKS5yZXBsYWNlKC8iIi9nLCAiXCIiKTsKKyAgICAgIH0KKworICAgICAg
Ly8gRmluZCBuZXh0IGRlbGltaXRlciBvciBuZXdsaW5lLgorICAgICAgd2hpbGUgKEkgPCBOKSB7
CisgICAgICAgIGlmICgoYyA9IHRleHQuY2hhckNvZGVBdChpID0gSSsrKSkgPT09IE5FV0xJTkUp
IGVvbCA9IHRydWU7CisgICAgICAgIGVsc2UgaWYgKGMgPT09IFJFVFVSTikgeyBlb2wgPSB0cnVl
OyBpZiAodGV4dC5jaGFyQ29kZUF0KEkpID09PSBORVdMSU5FKSArK0k7IH0KKyAgICAgICAgZWxz
ZSBpZiAoYyAhPT0gREVMSU1JVEVSKSBjb250aW51ZTsKKyAgICAgICAgcmV0dXJuIHRleHQuc2xp
Y2UoaiwgaSk7CisgICAgICB9CisKKyAgICAgIC8vIFJldHVybiBsYXN0IHRva2VuIGJlZm9yZSBF
T0YuCisgICAgICByZXR1cm4gZW9mID0gdHJ1ZSwgdGV4dC5zbGljZShqLCBOKTsKKyAgICB9CisK
KyAgICB3aGlsZSAoKHQgPSB0b2tlbigpKSAhPT0gRU9GKSB7CisgICAgICB2YXIgcm93ID0gW107
CisgICAgICB3aGlsZSAodCAhPT0gRU9MICYmIHQgIT09IEVPRikgcm93LnB1c2godCksIHQgPSB0
b2tlbigpOworICAgICAgaWYgKGYgJiYgKHJvdyA9IGYocm93LCBuKyspKSA9PSBudWxsKSBjb250
aW51ZTsKKyAgICAgIHJvd3MucHVzaChyb3cpOworICAgIH0KKworICAgIHJldHVybiByb3dzOwor
ICB9CisKKyAgZnVuY3Rpb24gcHJlZm9ybWF0Qm9keShyb3dzLCBjb2x1bW5zKSB7CisgICAgcmV0
dXJuIHJvd3MubWFwKGZ1bmN0aW9uKHJvdykgeworICAgICAgcmV0dXJuIGNvbHVtbnMubWFwKGZ1
bmN0aW9uKGNvbHVtbikgeworICAgICAgICByZXR1cm4gZm9ybWF0VmFsdWUocm93W2NvbHVtbl0p
OworICAgICAgfSkuam9pbihkZWxpbWl0ZXIpOworICAgIH0pOworICB9CisKKyAgZnVuY3Rpb24g
Zm9ybWF0KHJvd3MsIGNvbHVtbnMpIHsKKyAgICBpZiAoY29sdW1ucyA9PSBudWxsKSBjb2x1bW5z
ID0gaW5mZXJDb2x1bW5zKHJvd3MpOworICAgIHJldHVybiBbY29sdW1ucy5tYXAoZm9ybWF0VmFs
dWUpLmpvaW4oZGVsaW1pdGVyKV0uY29uY2F0KHByZWZvcm1hdEJvZHkocm93cywgY29sdW1ucykp
LmpvaW4oIlxuIik7CisgIH0KKworICBmdW5jdGlvbiBmb3JtYXRCb2R5KHJvd3MsIGNvbHVtbnMp
IHsKKyAgICBpZiAoY29sdW1ucyA9PSBudWxsKSBjb2x1bW5zID0gaW5mZXJDb2x1bW5zKHJvd3Mp
OworICAgIHJldHVybiBwcmVmb3JtYXRCb2R5KHJvd3MsIGNvbHVtbnMpLmpvaW4oIlxuIik7Cisg
IH0KKworICBmdW5jdGlvbiBmb3JtYXRSb3dzKHJvd3MpIHsKKyAgICByZXR1cm4gcm93cy5tYXAo
Zm9ybWF0Um93KS5qb2luKCJcbiIpOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0Um93KHJvdykg
eworICAgIHJldHVybiByb3cubWFwKGZvcm1hdFZhbHVlKS5qb2luKGRlbGltaXRlcik7CisgIH0K
KworICBmdW5jdGlvbiBmb3JtYXRWYWx1ZSh2YWx1ZSkgeworICAgIHJldHVybiB2YWx1ZSA9PSBu
dWxsID8gIiIKKyAgICAgICAgOiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgPyBmb3JtYXREYXRlKHZh
bHVlKQorICAgICAgICA6IHJlRm9ybWF0LnRlc3QodmFsdWUgKz0gIiIpID8gIlwiIiArIHZhbHVl
LnJlcGxhY2UoLyIvZywgIlwiXCIiKSArICJcIiIKKyAgICAgICAgOiB2YWx1ZTsKKyAgfQorCisg
IHJldHVybiB7CisgICAgcGFyc2U6IHBhcnNlLAorICAgIHBhcnNlUm93czogcGFyc2VSb3dzLAor
ICAgIGZvcm1hdDogZm9ybWF0LAorICAgIGZvcm1hdEJvZHk6IGZvcm1hdEJvZHksCisgICAgZm9y
bWF0Um93czogZm9ybWF0Um93cywKKyAgICBmb3JtYXRSb3c6IGZvcm1hdFJvdywKKyAgICBmb3Jt
YXRWYWx1ZTogZm9ybWF0VmFsdWUKKyAgfTsKK30KKwordmFyIGNzdiA9IGRzdkZvcm1hdCgiLCIp
OworCit2YXIgY3N2UGFyc2UgPSBjc3YucGFyc2U7Cit2YXIgY3N2UGFyc2VSb3dzID0gY3N2LnBh
cnNlUm93czsKK3ZhciBjc3ZGb3JtYXQgPSBjc3YuZm9ybWF0OwordmFyIGNzdkZvcm1hdEJvZHkg
PSBjc3YuZm9ybWF0Qm9keTsKK3ZhciBjc3ZGb3JtYXRSb3dzID0gY3N2LmZvcm1hdFJvd3M7Cit2
YXIgY3N2Rm9ybWF0Um93ID0gY3N2LmZvcm1hdFJvdzsKK3ZhciBjc3ZGb3JtYXRWYWx1ZSA9IGNz
di5mb3JtYXRWYWx1ZTsKKwordmFyIHRzdiA9IGRzdkZvcm1hdCgiXHQiKTsKKwordmFyIHRzdlBh
cnNlID0gdHN2LnBhcnNlOwordmFyIHRzdlBhcnNlUm93cyA9IHRzdi5wYXJzZVJvd3M7Cit2YXIg
dHN2Rm9ybWF0ID0gdHN2LmZvcm1hdDsKK3ZhciB0c3ZGb3JtYXRCb2R5ID0gdHN2LmZvcm1hdEJv
ZHk7Cit2YXIgdHN2Rm9ybWF0Um93cyA9IHRzdi5mb3JtYXRSb3dzOwordmFyIHRzdkZvcm1hdFJv
dyA9IHRzdi5mb3JtYXRSb3c7Cit2YXIgdHN2Rm9ybWF0VmFsdWUgPSB0c3YuZm9ybWF0VmFsdWU7
CisKK2Z1bmN0aW9uIGF1dG9UeXBlKG9iamVjdCkgeworICBmb3IgKHZhciBrZXkgaW4gb2JqZWN0
KSB7CisgICAgdmFyIHZhbHVlID0gb2JqZWN0W2tleV0udHJpbSgpLCBudW1iZXIsIG07CisgICAg
aWYgKCF2YWx1ZSkgdmFsdWUgPSBudWxsOworICAgIGVsc2UgaWYgKHZhbHVlID09PSAidHJ1ZSIp
IHZhbHVlID0gdHJ1ZTsKKyAgICBlbHNlIGlmICh2YWx1ZSA9PT0gImZhbHNlIikgdmFsdWUgPSBm
YWxzZTsKKyAgICBlbHNlIGlmICh2YWx1ZSA9PT0gIk5hTiIpIHZhbHVlID0gTmFOOworICAgIGVs
c2UgaWYgKCFpc05hTihudW1iZXIgPSArdmFsdWUpKSB2YWx1ZSA9IG51bWJlcjsKKyAgICBlbHNl
IGlmIChtID0gdmFsdWUubWF0Y2goL14oWy0rXVxkezJ9KT9cZHs0fSgtXGR7Mn0oLVxkezJ9KT8p
PyhUXGR7Mn06XGR7Mn0oOlxkezJ9KFwuXGR7M30pPyk/KFp8Wy0rXVxkezJ9OlxkezJ9KT8pPyQv
KSkgeworICAgICAgaWYgKGZpeHR6ICYmICEhbVs0XSAmJiAhbVs3XSkgdmFsdWUgPSB2YWx1ZS5y
ZXBsYWNlKC8tL2csICIvIikucmVwbGFjZSgvVC8sICIgIik7CisgICAgICB2YWx1ZSA9IG5ldyBE
YXRlKHZhbHVlKTsKKyAgICB9CisgICAgZWxzZSBjb250aW51ZTsKKyAgICBvYmplY3Rba2V5XSA9
IHZhbHVlOworICB9CisgIHJldHVybiBvYmplY3Q7Cit9CisKKy8vIGh0dHBzOi8vZ2l0aHViLmNv
bS9kMy9kMy1kc3YvaXNzdWVzLzQ1Cit2YXIgZml4dHogPSBuZXcgRGF0ZSgiMjAxOS0wMS0wMVQw
MDowMCIpLmdldEhvdXJzKCkgfHwgbmV3IERhdGUoIjIwMTktMDctMDFUMDA6MDAiKS5nZXRIb3Vy
cygpOworCitmdW5jdGlvbiByZXNwb25zZUJsb2IocmVzcG9uc2UpIHsKKyAgaWYgKCFyZXNwb25z
ZS5vaykgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLnN0YXR1cyArICIgIiArIHJlc3BvbnNlLnN0
YXR1c1RleHQpOworICByZXR1cm4gcmVzcG9uc2UuYmxvYigpOworfQorCitmdW5jdGlvbiBibG9i
KGlucHV0LCBpbml0KSB7CisgIHJldHVybiBmZXRjaChpbnB1dCwgaW5pdCkudGhlbihyZXNwb25z
ZUJsb2IpOworfQorCitmdW5jdGlvbiByZXNwb25zZUFycmF5QnVmZmVyKHJlc3BvbnNlKSB7Cisg
IGlmICghcmVzcG9uc2Uub2spIHRocm93IG5ldyBFcnJvcihyZXNwb25zZS5zdGF0dXMgKyAiICIg
KyByZXNwb25zZS5zdGF0dXNUZXh0KTsKKyAgcmV0dXJuIHJlc3BvbnNlLmFycmF5QnVmZmVyKCk7
Cit9CisKK2Z1bmN0aW9uIGJ1ZmZlcihpbnB1dCwgaW5pdCkgeworICByZXR1cm4gZmV0Y2goaW5w
dXQsIGluaXQpLnRoZW4ocmVzcG9uc2VBcnJheUJ1ZmZlcik7Cit9CisKK2Z1bmN0aW9uIHJlc3Bv
bnNlVGV4dChyZXNwb25zZSkgeworICBpZiAoIXJlc3BvbnNlLm9rKSB0aHJvdyBuZXcgRXJyb3Io
cmVzcG9uc2Uuc3RhdHVzICsgIiAiICsgcmVzcG9uc2Uuc3RhdHVzVGV4dCk7CisgIHJldHVybiBy
ZXNwb25zZS50ZXh0KCk7Cit9CisKK2Z1bmN0aW9uIHRleHQoaW5wdXQsIGluaXQpIHsKKyAgcmV0
dXJuIGZldGNoKGlucHV0LCBpbml0KS50aGVuKHJlc3BvbnNlVGV4dCk7Cit9CisKK2Z1bmN0aW9u
IGRzdlBhcnNlKHBhcnNlKSB7CisgIHJldHVybiBmdW5jdGlvbihpbnB1dCwgaW5pdCwgcm93KSB7
CisgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgdHlwZW9mIGluaXQgPT09ICJmdW5j
dGlvbiIpIHJvdyA9IGluaXQsIGluaXQgPSB1bmRlZmluZWQ7CisgICAgcmV0dXJuIHRleHQoaW5w
dXQsIGluaXQpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKKyAgICAgIHJldHVybiBwYXJzZShy
ZXNwb25zZSwgcm93KTsKKyAgICB9KTsKKyAgfTsKK30KKworZnVuY3Rpb24gZHN2KGRlbGltaXRl
ciwgaW5wdXQsIGluaXQsIHJvdykgeworICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMyAmJiB0
eXBlb2YgaW5pdCA9PT0gImZ1bmN0aW9uIikgcm93ID0gaW5pdCwgaW5pdCA9IHVuZGVmaW5lZDsK
KyAgdmFyIGZvcm1hdCA9IGRzdkZvcm1hdChkZWxpbWl0ZXIpOworICByZXR1cm4gdGV4dChpbnB1
dCwgaW5pdCkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgeworICAgIHJldHVybiBmb3JtYXQucGFy
c2UocmVzcG9uc2UsIHJvdyk7CisgIH0pOworfQorCit2YXIgY3N2JDEgPSBkc3ZQYXJzZShjc3ZQ
YXJzZSk7Cit2YXIgdHN2JDEgPSBkc3ZQYXJzZSh0c3ZQYXJzZSk7CisKK2Z1bmN0aW9uIGltYWdl
KGlucHV0LCBpbml0KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCBy
ZWplY3QpIHsKKyAgICB2YXIgaW1hZ2UgPSBuZXcgSW1hZ2U7CisgICAgZm9yICh2YXIga2V5IGlu
IGluaXQpIGltYWdlW2tleV0gPSBpbml0W2tleV07CisgICAgaW1hZ2Uub25lcnJvciA9IHJlamVj
dDsKKyAgICBpbWFnZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsgcmVzb2x2ZShpbWFnZSk7IH07Cisg
ICAgaW1hZ2Uuc3JjID0gaW5wdXQ7CisgIH0pOworfQorCitmdW5jdGlvbiByZXNwb25zZUpzb24o
cmVzcG9uc2UpIHsKKyAgaWYgKCFyZXNwb25zZS5vaykgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNl
LnN0YXR1cyArICIgIiArIHJlc3BvbnNlLnN0YXR1c1RleHQpOworICByZXR1cm4gcmVzcG9uc2Uu
anNvbigpOworfQorCitmdW5jdGlvbiBqc29uKGlucHV0LCBpbml0KSB7CisgIHJldHVybiBmZXRj
aChpbnB1dCwgaW5pdCkudGhlbihyZXNwb25zZUpzb24pOworfQorCitmdW5jdGlvbiBwYXJzZXIo
dHlwZSkgeworICByZXR1cm4gZnVuY3Rpb24oaW5wdXQsIGluaXQpICB7CisgICAgcmV0dXJuIHRl
eHQoaW5wdXQsIGluaXQpLnRoZW4oZnVuY3Rpb24odGV4dCkgeworICAgICAgcmV0dXJuIChuZXcg
RE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcodGV4dCwgdHlwZSk7CisgICAgfSk7CisgIH07Cit9
CisKK3ZhciB4bWwgPSBwYXJzZXIoImFwcGxpY2F0aW9uL3htbCIpOworCit2YXIgaHRtbCA9IHBh
cnNlcigidGV4dC9odG1sIik7CisKK3ZhciBzdmcgPSBwYXJzZXIoImltYWdlL3N2Zyt4bWwiKTsK
KworZnVuY3Rpb24gY2VudGVyJDEoeCwgeSkgeworICB2YXIgbm9kZXM7CisKKyAgaWYgKHggPT0g
bnVsbCkgeCA9IDA7CisgIGlmICh5ID09IG51bGwpIHkgPSAwOworCisgIGZ1bmN0aW9uIGZvcmNl
KCkgeworICAgIHZhciBpLAorICAgICAgICBuID0gbm9kZXMubGVuZ3RoLAorICAgICAgICBub2Rl
LAorICAgICAgICBzeCA9IDAsCisgICAgICAgIHN5ID0gMDsKKworICAgIGZvciAoaSA9IDA7IGkg
PCBuOyArK2kpIHsKKyAgICAgIG5vZGUgPSBub2Rlc1tpXSwgc3ggKz0gbm9kZS54LCBzeSArPSBu
b2RlLnk7CisgICAgfQorCisgICAgZm9yIChzeCA9IHN4IC8gbiAtIHgsIHN5ID0gc3kgLyBuIC0g
eSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIG5vZGUgPSBub2Rlc1tpXSwgbm9kZS54IC09
IHN4LCBub2RlLnkgLT0gc3k7CisgICAgfQorICB9CisKKyAgZm9yY2UuaW5pdGlhbGl6ZSA9IGZ1
bmN0aW9uKF8pIHsKKyAgICBub2RlcyA9IF87CisgIH07CisKKyAgZm9yY2UueCA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4ID0gK18sIGZvcmNlKSA6IHg7
CisgIH07CisKKyAgZm9yY2UueSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/ICh5ID0gK18sIGZvcmNlKSA6IHk7CisgIH07CisKKyAgcmV0dXJuIGZvcmNlOwor
fQorCitmdW5jdGlvbiBjb25zdGFudCQ3KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAg
IHJldHVybiB4OworICB9OworfQorCitmdW5jdGlvbiBqaWdnbGUoKSB7CisgIHJldHVybiAoTWF0
aC5yYW5kb20oKSAtIDAuNSkgKiAxZS02OworfQorCitmdW5jdGlvbiB0cmVlX2FkZChkKSB7Cisg
IHZhciB4ID0gK3RoaXMuX3guY2FsbChudWxsLCBkKSwKKyAgICAgIHkgPSArdGhpcy5feS5jYWxs
KG51bGwsIGQpOworICByZXR1cm4gYWRkKHRoaXMuY292ZXIoeCwgeSksIHgsIHksIGQpOworfQor
CitmdW5jdGlvbiBhZGQodHJlZSwgeCwgeSwgZCkgeworICBpZiAoaXNOYU4oeCkgfHwgaXNOYU4o
eSkpIHJldHVybiB0cmVlOyAvLyBpZ25vcmUgaW52YWxpZCBwb2ludHMKKworICB2YXIgcGFyZW50
LAorICAgICAgbm9kZSA9IHRyZWUuX3Jvb3QsCisgICAgICBsZWFmID0ge2RhdGE6IGR9LAorICAg
ICAgeDAgPSB0cmVlLl94MCwKKyAgICAgIHkwID0gdHJlZS5feTAsCisgICAgICB4MSA9IHRyZWUu
X3gxLAorICAgICAgeTEgPSB0cmVlLl95MSwKKyAgICAgIHhtLAorICAgICAgeW0sCisgICAgICB4
cCwKKyAgICAgIHlwLAorICAgICAgcmlnaHQsCisgICAgICBib3R0b20sCisgICAgICBpLAorICAg
ICAgajsKKworICAvLyBJZiB0aGUgdHJlZSBpcyBlbXB0eSwgaW5pdGlhbGl6ZSB0aGUgcm9vdCBh
cyBhIGxlYWYuCisgIGlmICghbm9kZSkgcmV0dXJuIHRyZWUuX3Jvb3QgPSBsZWFmLCB0cmVlOwor
CisgIC8vIEZpbmQgdGhlIGV4aXN0aW5nIGxlYWYgZm9yIHRoZSBuZXcgcG9pbnQsIG9yIGFkZCBp
dC4KKyAgd2hpbGUgKG5vZGUubGVuZ3RoKSB7CisgICAgaWYgKHJpZ2h0ID0geCA+PSAoeG0gPSAo
eDAgKyB4MSkgLyAyKSkgeDAgPSB4bTsgZWxzZSB4MSA9IHhtOworICAgIGlmIChib3R0b20gPSB5
ID49ICh5bSA9ICh5MCArIHkxKSAvIDIpKSB5MCA9IHltOyBlbHNlIHkxID0geW07CisgICAgaWYg
KHBhcmVudCA9IG5vZGUsICEobm9kZSA9IG5vZGVbaSA9IGJvdHRvbSA8PCAxIHwgcmlnaHRdKSkg
cmV0dXJuIHBhcmVudFtpXSA9IGxlYWYsIHRyZWU7CisgIH0KKworICAvLyBJcyB0aGUgbmV3IHBv
aW50IGlzIGV4YWN0bHkgY29pbmNpZGVudCB3aXRoIHRoZSBleGlzdGluZyBwb2ludD8KKyAgeHAg
PSArdHJlZS5feC5jYWxsKG51bGwsIG5vZGUuZGF0YSk7CisgIHlwID0gK3RyZWUuX3kuY2FsbChu
dWxsLCBub2RlLmRhdGEpOworICBpZiAoeCA9PT0geHAgJiYgeSA9PT0geXApIHJldHVybiBsZWFm
Lm5leHQgPSBub2RlLCBwYXJlbnQgPyBwYXJlbnRbaV0gPSBsZWFmIDogdHJlZS5fcm9vdCA9IGxl
YWYsIHRyZWU7CisKKyAgLy8gT3RoZXJ3aXNlLCBzcGxpdCB0aGUgbGVhZiBub2RlIHVudGlsIHRo
ZSBvbGQgYW5kIG5ldyBwb2ludCBhcmUgc2VwYXJhdGVkLgorICBkbyB7CisgICAgcGFyZW50ID0g
cGFyZW50ID8gcGFyZW50W2ldID0gbmV3IEFycmF5KDQpIDogdHJlZS5fcm9vdCA9IG5ldyBBcnJh
eSg0KTsKKyAgICBpZiAocmlnaHQgPSB4ID49ICh4bSA9ICh4MCArIHgxKSAvIDIpKSB4MCA9IHht
OyBlbHNlIHgxID0geG07CisgICAgaWYgKGJvdHRvbSA9IHkgPj0gKHltID0gKHkwICsgeTEpIC8g
MikpIHkwID0geW07IGVsc2UgeTEgPSB5bTsKKyAgfSB3aGlsZSAoKGkgPSBib3R0b20gPDwgMSB8
IHJpZ2h0KSA9PT0gKGogPSAoeXAgPj0geW0pIDw8IDEgfCAoeHAgPj0geG0pKSk7CisgIHJldHVy
biBwYXJlbnRbal0gPSBub2RlLCBwYXJlbnRbaV0gPSBsZWFmLCB0cmVlOworfQorCitmdW5jdGlv
biBhZGRBbGwoZGF0YSkgeworICB2YXIgZCwgaSwgbiA9IGRhdGEubGVuZ3RoLAorICAgICAgeCwK
KyAgICAgIHksCisgICAgICB4eiA9IG5ldyBBcnJheShuKSwKKyAgICAgIHl6ID0gbmV3IEFycmF5
KG4pLAorICAgICAgeDAgPSBJbmZpbml0eSwKKyAgICAgIHkwID0gSW5maW5pdHksCisgICAgICB4
MSA9IC1JbmZpbml0eSwKKyAgICAgIHkxID0gLUluZmluaXR5OworCisgIC8vIENvbXB1dGUgdGhl
IHBvaW50cyBhbmQgdGhlaXIgZXh0ZW50LgorICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7Cisg
ICAgaWYgKGlzTmFOKHggPSArdGhpcy5feC5jYWxsKG51bGwsIGQgPSBkYXRhW2ldKSkgfHwgaXNO
YU4oeSA9ICt0aGlzLl95LmNhbGwobnVsbCwgZCkpKSBjb250aW51ZTsKKyAgICB4eltpXSA9IHg7
CisgICAgeXpbaV0gPSB5OworICAgIGlmICh4IDwgeDApIHgwID0geDsKKyAgICBpZiAoeCA+IHgx
KSB4MSA9IHg7CisgICAgaWYgKHkgPCB5MCkgeTAgPSB5OworICAgIGlmICh5ID4geTEpIHkxID0g
eTsKKyAgfQorCisgIC8vIElmIHRoZXJlIHdlcmUgbm8gKHZhbGlkKSBwb2ludHMsIGFib3J0Lgor
ICBpZiAoeDAgPiB4MSB8fCB5MCA+IHkxKSByZXR1cm4gdGhpczsKKworICAvLyBFeHBhbmQgdGhl
IHRyZWUgdG8gY292ZXIgdGhlIG5ldyBwb2ludHMuCisgIHRoaXMuY292ZXIoeDAsIHkwKS5jb3Zl
cih4MSwgeTEpOworCisgIC8vIEFkZCB0aGUgbmV3IHBvaW50cy4KKyAgZm9yIChpID0gMDsgaSA8
IG47ICsraSkgeworICAgIGFkZCh0aGlzLCB4eltpXSwgeXpbaV0sIGRhdGFbaV0pOworICB9CisK
KyAgcmV0dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9uIHRyZWVfY292ZXIoeCwgeSkgeworICBpZiAo
aXNOYU4oeCA9ICt4KSB8fCBpc05hTih5ID0gK3kpKSByZXR1cm4gdGhpczsgLy8gaWdub3JlIGlu
dmFsaWQgcG9pbnRzCisKKyAgdmFyIHgwID0gdGhpcy5feDAsCisgICAgICB5MCA9IHRoaXMuX3kw
LAorICAgICAgeDEgPSB0aGlzLl94MSwKKyAgICAgIHkxID0gdGhpcy5feTE7CisKKyAgLy8gSWYg
dGhlIHF1YWR0cmVlIGhhcyBubyBleHRlbnQsIGluaXRpYWxpemUgdGhlbS4KKyAgLy8gSW50ZWdl
ciBleHRlbnQgYXJlIG5lY2Vzc2FyeSBzbyB0aGF0IGlmIHdlIGxhdGVyIGRvdWJsZSB0aGUgZXh0
ZW50LAorICAvLyB0aGUgZXhpc3RpbmcgcXVhZHJhbnQgYm91bmRhcmllcyBkb27igJl0IGNoYW5n
ZSBkdWUgdG8gZmxvYXRpbmcgcG9pbnQgZXJyb3IhCisgIGlmIChpc05hTih4MCkpIHsKKyAgICB4
MSA9ICh4MCA9IE1hdGguZmxvb3IoeCkpICsgMTsKKyAgICB5MSA9ICh5MCA9IE1hdGguZmxvb3Io
eSkpICsgMTsKKyAgfQorCisgIC8vIE90aGVyd2lzZSwgZG91YmxlIHJlcGVhdGVkbHkgdG8gY292
ZXIuCisgIGVsc2UgeworICAgIHZhciB6ID0geDEgLSB4MCwKKyAgICAgICAgbm9kZSA9IHRoaXMu
X3Jvb3QsCisgICAgICAgIHBhcmVudCwKKyAgICAgICAgaTsKKworICAgIHdoaWxlICh4MCA+IHgg
fHwgeCA+PSB4MSB8fCB5MCA+IHkgfHwgeSA+PSB5MSkgeworICAgICAgaSA9ICh5IDwgeTApIDw8
IDEgfCAoeCA8IHgwKTsKKyAgICAgIHBhcmVudCA9IG5ldyBBcnJheSg0KSwgcGFyZW50W2ldID0g
bm9kZSwgbm9kZSA9IHBhcmVudCwgeiAqPSAyOworICAgICAgc3dpdGNoIChpKSB7CisgICAgICAg
IGNhc2UgMDogeDEgPSB4MCArIHosIHkxID0geTAgKyB6OyBicmVhazsKKyAgICAgICAgY2FzZSAx
OiB4MCA9IHgxIC0geiwgeTEgPSB5MCArIHo7IGJyZWFrOworICAgICAgICBjYXNlIDI6IHgxID0g
eDAgKyB6LCB5MCA9IHkxIC0gejsgYnJlYWs7CisgICAgICAgIGNhc2UgMzogeDAgPSB4MSAtIHos
IHkwID0geTEgLSB6OyBicmVhazsKKyAgICAgIH0KKyAgICB9CisKKyAgICBpZiAodGhpcy5fcm9v
dCAmJiB0aGlzLl9yb290Lmxlbmd0aCkgdGhpcy5fcm9vdCA9IG5vZGU7CisgIH0KKworICB0aGlz
Ll94MCA9IHgwOworICB0aGlzLl95MCA9IHkwOworICB0aGlzLl94MSA9IHgxOworICB0aGlzLl95
MSA9IHkxOworICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24gdHJlZV9kYXRhKCkgeworICB2
YXIgZGF0YSA9IFtdOworICB0aGlzLnZpc2l0KGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBpZiAoIW5v
ZGUubGVuZ3RoKSBkbyBkYXRhLnB1c2gobm9kZS5kYXRhKTsgd2hpbGUgKG5vZGUgPSBub2RlLm5l
eHQpCisgIH0pOworICByZXR1cm4gZGF0YTsKK30KKworZnVuY3Rpb24gdHJlZV9leHRlbnQoXykg
eworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aAorICAgICAgPyB0aGlzLmNvdmVyKCtfWzBdWzBd
LCArX1swXVsxXSkuY292ZXIoK19bMV1bMF0sICtfWzFdWzFdKQorICAgICAgOiBpc05hTih0aGlz
Ll94MCkgPyB1bmRlZmluZWQgOiBbW3RoaXMuX3gwLCB0aGlzLl95MF0sIFt0aGlzLl94MSwgdGhp
cy5feTFdXTsKK30KKworZnVuY3Rpb24gUXVhZChub2RlLCB4MCwgeTAsIHgxLCB5MSkgeworICB0
aGlzLm5vZGUgPSBub2RlOworICB0aGlzLngwID0geDA7CisgIHRoaXMueTAgPSB5MDsKKyAgdGhp
cy54MSA9IHgxOworICB0aGlzLnkxID0geTE7Cit9CisKK2Z1bmN0aW9uIHRyZWVfZmluZCh4LCB5
LCByYWRpdXMpIHsKKyAgdmFyIGRhdGEsCisgICAgICB4MCA9IHRoaXMuX3gwLAorICAgICAgeTAg
PSB0aGlzLl95MCwKKyAgICAgIHgxLAorICAgICAgeTEsCisgICAgICB4MiwKKyAgICAgIHkyLAor
ICAgICAgeDMgPSB0aGlzLl94MSwKKyAgICAgIHkzID0gdGhpcy5feTEsCisgICAgICBxdWFkcyA9
IFtdLAorICAgICAgbm9kZSA9IHRoaXMuX3Jvb3QsCisgICAgICBxLAorICAgICAgaTsKKworICBp
ZiAobm9kZSkgcXVhZHMucHVzaChuZXcgUXVhZChub2RlLCB4MCwgeTAsIHgzLCB5MykpOworICBp
ZiAocmFkaXVzID09IG51bGwpIHJhZGl1cyA9IEluZmluaXR5OworICBlbHNlIHsKKyAgICB4MCA9
IHggLSByYWRpdXMsIHkwID0geSAtIHJhZGl1czsKKyAgICB4MyA9IHggKyByYWRpdXMsIHkzID0g
eSArIHJhZGl1czsKKyAgICByYWRpdXMgKj0gcmFkaXVzOworICB9CisKKyAgd2hpbGUgKHEgPSBx
dWFkcy5wb3AoKSkgeworCisgICAgLy8gU3RvcCBzZWFyY2hpbmcgaWYgdGhpcyBxdWFkcmFudCBj
YW7igJl0IGNvbnRhaW4gYSBjbG9zZXIgbm9kZS4KKyAgICBpZiAoIShub2RlID0gcS5ub2RlKQor
ICAgICAgICB8fCAoeDEgPSBxLngwKSA+IHgzCisgICAgICAgIHx8ICh5MSA9IHEueTApID4geTMK
KyAgICAgICAgfHwgKHgyID0gcS54MSkgPCB4MAorICAgICAgICB8fCAoeTIgPSBxLnkxKSA8IHkw
KSBjb250aW51ZTsKKworICAgIC8vIEJpc2VjdCB0aGUgY3VycmVudCBxdWFkcmFudC4KKyAgICBp
ZiAobm9kZS5sZW5ndGgpIHsKKyAgICAgIHZhciB4bSA9ICh4MSArIHgyKSAvIDIsCisgICAgICAg
ICAgeW0gPSAoeTEgKyB5MikgLyAyOworCisgICAgICBxdWFkcy5wdXNoKAorICAgICAgICBuZXcg
UXVhZChub2RlWzNdLCB4bSwgeW0sIHgyLCB5MiksCisgICAgICAgIG5ldyBRdWFkKG5vZGVbMl0s
IHgxLCB5bSwgeG0sIHkyKSwKKyAgICAgICAgbmV3IFF1YWQobm9kZVsxXSwgeG0sIHkxLCB4Miwg
eW0pLAorICAgICAgICBuZXcgUXVhZChub2RlWzBdLCB4MSwgeTEsIHhtLCB5bSkKKyAgICAgICk7
CisKKyAgICAgIC8vIFZpc2l0IHRoZSBjbG9zZXN0IHF1YWRyYW50IGZpcnN0LgorICAgICAgaWYg
KGkgPSAoeSA+PSB5bSkgPDwgMSB8ICh4ID49IHhtKSkgeworICAgICAgICBxID0gcXVhZHNbcXVh
ZHMubGVuZ3RoIC0gMV07CisgICAgICAgIHF1YWRzW3F1YWRzLmxlbmd0aCAtIDFdID0gcXVhZHNb
cXVhZHMubGVuZ3RoIC0gMSAtIGldOworICAgICAgICBxdWFkc1txdWFkcy5sZW5ndGggLSAxIC0g
aV0gPSBxOworICAgICAgfQorICAgIH0KKworICAgIC8vIFZpc2l0IHRoaXMgcG9pbnQuIChWaXNp
dGluZyBjb2luY2lkZW50IHBvaW50cyBpc27igJl0IG5lY2Vzc2FyeSEpCisgICAgZWxzZSB7Cisg
ICAgICB2YXIgZHggPSB4IC0gK3RoaXMuX3guY2FsbChudWxsLCBub2RlLmRhdGEpLAorICAgICAg
ICAgIGR5ID0geSAtICt0aGlzLl95LmNhbGwobnVsbCwgbm9kZS5kYXRhKSwKKyAgICAgICAgICBk
MiA9IGR4ICogZHggKyBkeSAqIGR5OworICAgICAgaWYgKGQyIDwgcmFkaXVzKSB7CisgICAgICAg
IHZhciBkID0gTWF0aC5zcXJ0KHJhZGl1cyA9IGQyKTsKKyAgICAgICAgeDAgPSB4IC0gZCwgeTAg
PSB5IC0gZDsKKyAgICAgICAgeDMgPSB4ICsgZCwgeTMgPSB5ICsgZDsKKyAgICAgICAgZGF0YSA9
IG5vZGUuZGF0YTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gZGF0YTsKK30KKwor
ZnVuY3Rpb24gdHJlZV9yZW1vdmUoZCkgeworICBpZiAoaXNOYU4oeCA9ICt0aGlzLl94LmNhbGwo
bnVsbCwgZCkpIHx8IGlzTmFOKHkgPSArdGhpcy5feS5jYWxsKG51bGwsIGQpKSkgcmV0dXJuIHRo
aXM7IC8vIGlnbm9yZSBpbnZhbGlkIHBvaW50cworCisgIHZhciBwYXJlbnQsCisgICAgICBub2Rl
ID0gdGhpcy5fcm9vdCwKKyAgICAgIHJldGFpbmVyLAorICAgICAgcHJldmlvdXMsCisgICAgICBu
ZXh0LAorICAgICAgeDAgPSB0aGlzLl94MCwKKyAgICAgIHkwID0gdGhpcy5feTAsCisgICAgICB4
MSA9IHRoaXMuX3gxLAorICAgICAgeTEgPSB0aGlzLl95MSwKKyAgICAgIHgsCisgICAgICB5LAor
ICAgICAgeG0sCisgICAgICB5bSwKKyAgICAgIHJpZ2h0LAorICAgICAgYm90dG9tLAorICAgICAg
aSwKKyAgICAgIGo7CisKKyAgLy8gSWYgdGhlIHRyZWUgaXMgZW1wdHksIGluaXRpYWxpemUgdGhl
IHJvb3QgYXMgYSBsZWFmLgorICBpZiAoIW5vZGUpIHJldHVybiB0aGlzOworCisgIC8vIEZpbmQg
dGhlIGxlYWYgbm9kZSBmb3IgdGhlIHBvaW50LgorICAvLyBXaGlsZSBkZXNjZW5kaW5nLCBhbHNv
IHJldGFpbiB0aGUgZGVlcGVzdCBwYXJlbnQgd2l0aCBhIG5vbi1yZW1vdmVkIHNpYmxpbmcuCisg
IGlmIChub2RlLmxlbmd0aCkgd2hpbGUgKHRydWUpIHsKKyAgICBpZiAocmlnaHQgPSB4ID49ICh4
bSA9ICh4MCArIHgxKSAvIDIpKSB4MCA9IHhtOyBlbHNlIHgxID0geG07CisgICAgaWYgKGJvdHRv
bSA9IHkgPj0gKHltID0gKHkwICsgeTEpIC8gMikpIHkwID0geW07IGVsc2UgeTEgPSB5bTsKKyAg
ICBpZiAoIShwYXJlbnQgPSBub2RlLCBub2RlID0gbm9kZVtpID0gYm90dG9tIDw8IDEgfCByaWdo
dF0pKSByZXR1cm4gdGhpczsKKyAgICBpZiAoIW5vZGUubGVuZ3RoKSBicmVhazsKKyAgICBpZiAo
cGFyZW50WyhpICsgMSkgJiAzXSB8fCBwYXJlbnRbKGkgKyAyKSAmIDNdIHx8IHBhcmVudFsoaSAr
IDMpICYgM10pIHJldGFpbmVyID0gcGFyZW50LCBqID0gaTsKKyAgfQorCisgIC8vIEZpbmQgdGhl
IHBvaW50IHRvIHJlbW92ZS4KKyAgd2hpbGUgKG5vZGUuZGF0YSAhPT0gZCkgaWYgKCEocHJldmlv
dXMgPSBub2RlLCBub2RlID0gbm9kZS5uZXh0KSkgcmV0dXJuIHRoaXM7CisgIGlmIChuZXh0ID0g
bm9kZS5uZXh0KSBkZWxldGUgbm9kZS5uZXh0OworCisgIC8vIElmIHRoZXJlIGFyZSBtdWx0aXBs
ZSBjb2luY2lkZW50IHBvaW50cywgcmVtb3ZlIGp1c3QgdGhlIHBvaW50LgorICBpZiAocHJldmlv
dXMpIHJldHVybiAobmV4dCA/IHByZXZpb3VzLm5leHQgPSBuZXh0IDogZGVsZXRlIHByZXZpb3Vz
Lm5leHQpLCB0aGlzOworCisgIC8vIElmIHRoaXMgaXMgdGhlIHJvb3QgcG9pbnQsIHJlbW92ZSBp
dC4KKyAgaWYgKCFwYXJlbnQpIHJldHVybiB0aGlzLl9yb290ID0gbmV4dCwgdGhpczsKKworICAv
LyBSZW1vdmUgdGhpcyBsZWFmLgorICBuZXh0ID8gcGFyZW50W2ldID0gbmV4dCA6IGRlbGV0ZSBw
YXJlbnRbaV07CisKKyAgLy8gSWYgdGhlIHBhcmVudCBub3cgY29udGFpbnMgZXhhY3RseSBvbmUg
bGVhZiwgY29sbGFwc2Ugc3VwZXJmbHVvdXMgcGFyZW50cy4KKyAgaWYgKChub2RlID0gcGFyZW50
WzBdIHx8IHBhcmVudFsxXSB8fCBwYXJlbnRbMl0gfHwgcGFyZW50WzNdKQorICAgICAgJiYgbm9k
ZSA9PT0gKHBhcmVudFszXSB8fCBwYXJlbnRbMl0gfHwgcGFyZW50WzFdIHx8IHBhcmVudFswXSkK
KyAgICAgICYmICFub2RlLmxlbmd0aCkgeworICAgIGlmIChyZXRhaW5lcikgcmV0YWluZXJbal0g
PSBub2RlOworICAgIGVsc2UgdGhpcy5fcm9vdCA9IG5vZGU7CisgIH0KKworICByZXR1cm4gdGhp
czsKK30KKworZnVuY3Rpb24gcmVtb3ZlQWxsKGRhdGEpIHsKKyAgZm9yICh2YXIgaSA9IDAsIG4g
PSBkYXRhLmxlbmd0aDsgaSA8IG47ICsraSkgdGhpcy5yZW1vdmUoZGF0YVtpXSk7CisgIHJldHVy
biB0aGlzOworfQorCitmdW5jdGlvbiB0cmVlX3Jvb3QoKSB7CisgIHJldHVybiB0aGlzLl9yb290
OworfQorCitmdW5jdGlvbiB0cmVlX3NpemUoKSB7CisgIHZhciBzaXplID0gMDsKKyAgdGhpcy52
aXNpdChmdW5jdGlvbihub2RlKSB7CisgICAgaWYgKCFub2RlLmxlbmd0aCkgZG8gKytzaXplOyB3
aGlsZSAobm9kZSA9IG5vZGUubmV4dCkKKyAgfSk7CisgIHJldHVybiBzaXplOworfQorCitmdW5j
dGlvbiB0cmVlX3Zpc2l0KGNhbGxiYWNrKSB7CisgIHZhciBxdWFkcyA9IFtdLCBxLCBub2RlID0g
dGhpcy5fcm9vdCwgY2hpbGQsIHgwLCB5MCwgeDEsIHkxOworICBpZiAobm9kZSkgcXVhZHMucHVz
aChuZXcgUXVhZChub2RlLCB0aGlzLl94MCwgdGhpcy5feTAsIHRoaXMuX3gxLCB0aGlzLl95MSkp
OworICB3aGlsZSAocSA9IHF1YWRzLnBvcCgpKSB7CisgICAgaWYgKCFjYWxsYmFjayhub2RlID0g
cS5ub2RlLCB4MCA9IHEueDAsIHkwID0gcS55MCwgeDEgPSBxLngxLCB5MSA9IHEueTEpICYmIG5v
ZGUubGVuZ3RoKSB7CisgICAgICB2YXIgeG0gPSAoeDAgKyB4MSkgLyAyLCB5bSA9ICh5MCArIHkx
KSAvIDI7CisgICAgICBpZiAoY2hpbGQgPSBub2RlWzNdKSBxdWFkcy5wdXNoKG5ldyBRdWFkKGNo
aWxkLCB4bSwgeW0sIHgxLCB5MSkpOworICAgICAgaWYgKGNoaWxkID0gbm9kZVsyXSkgcXVhZHMu
cHVzaChuZXcgUXVhZChjaGlsZCwgeDAsIHltLCB4bSwgeTEpKTsKKyAgICAgIGlmIChjaGlsZCA9
IG5vZGVbMV0pIHF1YWRzLnB1c2gobmV3IFF1YWQoY2hpbGQsIHhtLCB5MCwgeDEsIHltKSk7Cisg
ICAgICBpZiAoY2hpbGQgPSBub2RlWzBdKSBxdWFkcy5wdXNoKG5ldyBRdWFkKGNoaWxkLCB4MCwg
eTAsIHhtLCB5bSkpOworICAgIH0KKyAgfQorICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24g
dHJlZV92aXNpdEFmdGVyKGNhbGxiYWNrKSB7CisgIHZhciBxdWFkcyA9IFtdLCBuZXh0ID0gW10s
IHE7CisgIGlmICh0aGlzLl9yb290KSBxdWFkcy5wdXNoKG5ldyBRdWFkKHRoaXMuX3Jvb3QsIHRo
aXMuX3gwLCB0aGlzLl95MCwgdGhpcy5feDEsIHRoaXMuX3kxKSk7CisgIHdoaWxlIChxID0gcXVh
ZHMucG9wKCkpIHsKKyAgICB2YXIgbm9kZSA9IHEubm9kZTsKKyAgICBpZiAobm9kZS5sZW5ndGgp
IHsKKyAgICAgIHZhciBjaGlsZCwgeDAgPSBxLngwLCB5MCA9IHEueTAsIHgxID0gcS54MSwgeTEg
PSBxLnkxLCB4bSA9ICh4MCArIHgxKSAvIDIsIHltID0gKHkwICsgeTEpIC8gMjsKKyAgICAgIGlm
IChjaGlsZCA9IG5vZGVbMF0pIHF1YWRzLnB1c2gobmV3IFF1YWQoY2hpbGQsIHgwLCB5MCwgeG0s
IHltKSk7CisgICAgICBpZiAoY2hpbGQgPSBub2RlWzFdKSBxdWFkcy5wdXNoKG5ldyBRdWFkKGNo
aWxkLCB4bSwgeTAsIHgxLCB5bSkpOworICAgICAgaWYgKGNoaWxkID0gbm9kZVsyXSkgcXVhZHMu
cHVzaChuZXcgUXVhZChjaGlsZCwgeDAsIHltLCB4bSwgeTEpKTsKKyAgICAgIGlmIChjaGlsZCA9
IG5vZGVbM10pIHF1YWRzLnB1c2gobmV3IFF1YWQoY2hpbGQsIHhtLCB5bSwgeDEsIHkxKSk7Cisg
ICAgfQorICAgIG5leHQucHVzaChxKTsKKyAgfQorICB3aGlsZSAocSA9IG5leHQucG9wKCkpIHsK
KyAgICBjYWxsYmFjayhxLm5vZGUsIHEueDAsIHEueTAsIHEueDEsIHEueTEpOworICB9CisgIHJl
dHVybiB0aGlzOworfQorCitmdW5jdGlvbiBkZWZhdWx0WCQxKGQpIHsKKyAgcmV0dXJuIGRbMF07
Cit9CisKK2Z1bmN0aW9uIHRyZWVfeChfKSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8g
KHRoaXMuX3ggPSBfLCB0aGlzKSA6IHRoaXMuX3g7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRZJDEo
ZCkgeworICByZXR1cm4gZFsxXTsKK30KKworZnVuY3Rpb24gdHJlZV95KF8pIHsKKyAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAodGhpcy5feSA9IF8sIHRoaXMpIDogdGhpcy5feTsKK30KKwor
ZnVuY3Rpb24gcXVhZHRyZWUobm9kZXMsIHgsIHkpIHsKKyAgdmFyIHRyZWUgPSBuZXcgUXVhZHRy
ZWUoeCA9PSBudWxsID8gZGVmYXVsdFgkMSA6IHgsIHkgPT0gbnVsbCA/IGRlZmF1bHRZJDEgOiB5
LCBOYU4sIE5hTiwgTmFOLCBOYU4pOworICByZXR1cm4gbm9kZXMgPT0gbnVsbCA/IHRyZWUgOiB0
cmVlLmFkZEFsbChub2Rlcyk7Cit9CisKK2Z1bmN0aW9uIFF1YWR0cmVlKHgsIHksIHgwLCB5MCwg
eDEsIHkxKSB7CisgIHRoaXMuX3ggPSB4OworICB0aGlzLl95ID0geTsKKyAgdGhpcy5feDAgPSB4
MDsKKyAgdGhpcy5feTAgPSB5MDsKKyAgdGhpcy5feDEgPSB4MTsKKyAgdGhpcy5feTEgPSB5MTsK
KyAgdGhpcy5fcm9vdCA9IHVuZGVmaW5lZDsKK30KKworZnVuY3Rpb24gbGVhZl9jb3B5KGxlYWYp
IHsKKyAgdmFyIGNvcHkgPSB7ZGF0YTogbGVhZi5kYXRhfSwgbmV4dCA9IGNvcHk7CisgIHdoaWxl
IChsZWFmID0gbGVhZi5uZXh0KSBuZXh0ID0gbmV4dC5uZXh0ID0ge2RhdGE6IGxlYWYuZGF0YX07
CisgIHJldHVybiBjb3B5OworfQorCit2YXIgdHJlZVByb3RvID0gcXVhZHRyZWUucHJvdG90eXBl
ID0gUXVhZHRyZWUucHJvdG90eXBlOworCit0cmVlUHJvdG8uY29weSA9IGZ1bmN0aW9uKCkgewor
ICB2YXIgY29weSA9IG5ldyBRdWFkdHJlZSh0aGlzLl94LCB0aGlzLl95LCB0aGlzLl94MCwgdGhp
cy5feTAsIHRoaXMuX3gxLCB0aGlzLl95MSksCisgICAgICBub2RlID0gdGhpcy5fcm9vdCwKKyAg
ICAgIG5vZGVzLAorICAgICAgY2hpbGQ7CisKKyAgaWYgKCFub2RlKSByZXR1cm4gY29weTsKKwor
ICBpZiAoIW5vZGUubGVuZ3RoKSByZXR1cm4gY29weS5fcm9vdCA9IGxlYWZfY29weShub2RlKSwg
Y29weTsKKworICBub2RlcyA9IFt7c291cmNlOiBub2RlLCB0YXJnZXQ6IGNvcHkuX3Jvb3QgPSBu
ZXcgQXJyYXkoNCl9XTsKKyAgd2hpbGUgKG5vZGUgPSBub2Rlcy5wb3AoKSkgeworICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgNDsgKytpKSB7CisgICAgICBpZiAoY2hpbGQgPSBub2RlLnNvdXJjZVtp
XSkgeworICAgICAgICBpZiAoY2hpbGQubGVuZ3RoKSBub2Rlcy5wdXNoKHtzb3VyY2U6IGNoaWxk
LCB0YXJnZXQ6IG5vZGUudGFyZ2V0W2ldID0gbmV3IEFycmF5KDQpfSk7CisgICAgICAgIGVsc2Ug
bm9kZS50YXJnZXRbaV0gPSBsZWFmX2NvcHkoY2hpbGQpOworICAgICAgfQorICAgIH0KKyAgfQor
CisgIHJldHVybiBjb3B5OworfTsKKwordHJlZVByb3RvLmFkZCA9IHRyZWVfYWRkOwordHJlZVBy
b3RvLmFkZEFsbCA9IGFkZEFsbDsKK3RyZWVQcm90by5jb3ZlciA9IHRyZWVfY292ZXI7Cit0cmVl
UHJvdG8uZGF0YSA9IHRyZWVfZGF0YTsKK3RyZWVQcm90by5leHRlbnQgPSB0cmVlX2V4dGVudDsK
K3RyZWVQcm90by5maW5kID0gdHJlZV9maW5kOwordHJlZVByb3RvLnJlbW92ZSA9IHRyZWVfcmVt
b3ZlOwordHJlZVByb3RvLnJlbW92ZUFsbCA9IHJlbW92ZUFsbDsKK3RyZWVQcm90by5yb290ID0g
dHJlZV9yb290OwordHJlZVByb3RvLnNpemUgPSB0cmVlX3NpemU7Cit0cmVlUHJvdG8udmlzaXQg
PSB0cmVlX3Zpc2l0OwordHJlZVByb3RvLnZpc2l0QWZ0ZXIgPSB0cmVlX3Zpc2l0QWZ0ZXI7Cit0
cmVlUHJvdG8ueCA9IHRyZWVfeDsKK3RyZWVQcm90by55ID0gdHJlZV95OworCitmdW5jdGlvbiB4
KGQpIHsKKyAgcmV0dXJuIGQueCArIGQudng7Cit9CisKK2Z1bmN0aW9uIHkoZCkgeworICByZXR1
cm4gZC55ICsgZC52eTsKK30KKworZnVuY3Rpb24gY29sbGlkZShyYWRpdXMpIHsKKyAgdmFyIG5v
ZGVzLAorICAgICAgcmFkaWksCisgICAgICBzdHJlbmd0aCA9IDEsCisgICAgICBpdGVyYXRpb25z
ID0gMTsKKworICBpZiAodHlwZW9mIHJhZGl1cyAhPT0gImZ1bmN0aW9uIikgcmFkaXVzID0gY29u
c3RhbnQkNyhyYWRpdXMgPT0gbnVsbCA/IDEgOiArcmFkaXVzKTsKKworICBmdW5jdGlvbiBmb3Jj
ZSgpIHsKKyAgICB2YXIgaSwgbiA9IG5vZGVzLmxlbmd0aCwKKyAgICAgICAgdHJlZSwKKyAgICAg
ICAgbm9kZSwKKyAgICAgICAgeGksCisgICAgICAgIHlpLAorICAgICAgICByaSwKKyAgICAgICAg
cmkyOworCisgICAgZm9yICh2YXIgayA9IDA7IGsgPCBpdGVyYXRpb25zOyArK2spIHsKKyAgICAg
IHRyZWUgPSBxdWFkdHJlZShub2RlcywgeCwgeSkudmlzaXRBZnRlcihwcmVwYXJlKTsKKyAgICAg
IGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgbm9kZSA9IG5vZGVzW2ldOworICAg
ICAgICByaSA9IHJhZGlpW25vZGUuaW5kZXhdLCByaTIgPSByaSAqIHJpOworICAgICAgICB4aSA9
IG5vZGUueCArIG5vZGUudng7CisgICAgICAgIHlpID0gbm9kZS55ICsgbm9kZS52eTsKKyAgICAg
ICAgdHJlZS52aXNpdChhcHBseSk7CisgICAgICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gYXBw
bHkocXVhZCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgICAgIHZhciBkYXRhID0gcXVhZC5kYXRhLCBy
aiA9IHF1YWQuciwgciA9IHJpICsgcmo7CisgICAgICBpZiAoZGF0YSkgeworICAgICAgICBpZiAo
ZGF0YS5pbmRleCA+IG5vZGUuaW5kZXgpIHsKKyAgICAgICAgICB2YXIgeCA9IHhpIC0gZGF0YS54
IC0gZGF0YS52eCwKKyAgICAgICAgICAgICAgeSA9IHlpIC0gZGF0YS55IC0gZGF0YS52eSwKKyAg
ICAgICAgICAgICAgbCA9IHggKiB4ICsgeSAqIHk7CisgICAgICAgICAgaWYgKGwgPCByICogcikg
eworICAgICAgICAgICAgaWYgKHggPT09IDApIHggPSBqaWdnbGUoKSwgbCArPSB4ICogeDsKKyAg
ICAgICAgICAgIGlmICh5ID09PSAwKSB5ID0gamlnZ2xlKCksIGwgKz0geSAqIHk7CisgICAgICAg
ICAgICBsID0gKHIgLSAobCA9IE1hdGguc3FydChsKSkpIC8gbCAqIHN0cmVuZ3RoOworICAgICAg
ICAgICAgbm9kZS52eCArPSAoeCAqPSBsKSAqIChyID0gKHJqICo9IHJqKSAvIChyaTIgKyByaikp
OworICAgICAgICAgICAgbm9kZS52eSArPSAoeSAqPSBsKSAqIHI7CisgICAgICAgICAgICBkYXRh
LnZ4IC09IHggKiAociA9IDEgLSByKTsKKyAgICAgICAgICAgIGRhdGEudnkgLT0geSAqIHI7Cisg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIHJl
dHVybiB4MCA+IHhpICsgciB8fCB4MSA8IHhpIC0gciB8fCB5MCA+IHlpICsgciB8fCB5MSA8IHlp
IC0gcjsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBwcmVwYXJlKHF1YWQpIHsKKyAgICBpZiAo
cXVhZC5kYXRhKSByZXR1cm4gcXVhZC5yID0gcmFkaWlbcXVhZC5kYXRhLmluZGV4XTsKKyAgICBm
b3IgKHZhciBpID0gcXVhZC5yID0gMDsgaSA8IDQ7ICsraSkgeworICAgICAgaWYgKHF1YWRbaV0g
JiYgcXVhZFtpXS5yID4gcXVhZC5yKSB7CisgICAgICAgIHF1YWQuciA9IHF1YWRbaV0ucjsKKyAg
ICAgIH0KKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBpbml0aWFsaXplKCkgeworICAgIGlmICgh
bm9kZXMpIHJldHVybjsKKyAgICB2YXIgaSwgbiA9IG5vZGVzLmxlbmd0aCwgbm9kZTsKKyAgICBy
YWRpaSA9IG5ldyBBcnJheShuKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSBub2RlID0g
bm9kZXNbaV0sIHJhZGlpW25vZGUuaW5kZXhdID0gK3JhZGl1cyhub2RlLCBpLCBub2Rlcyk7Cisg
IH0KKworICBmb3JjZS5pbml0aWFsaXplID0gZnVuY3Rpb24oXykgeworICAgIG5vZGVzID0gXzsK
KyAgICBpbml0aWFsaXplKCk7CisgIH07CisKKyAgZm9yY2UuaXRlcmF0aW9ucyA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChpdGVyYXRpb25zID0gK18sIGZv
cmNlKSA6IGl0ZXJhdGlvbnM7CisgIH07CisKKyAgZm9yY2Uuc3RyZW5ndGggPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc3RyZW5ndGggPSArXywgZm9yY2Up
IDogc3RyZW5ndGg7CisgIH07CisKKyAgZm9yY2UucmFkaXVzID0gZnVuY3Rpb24oXykgeworICAg
IHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJhZGl1cyA9IHR5cGVvZiBfID09PSAiZnVuY3Rp
b24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplKCksIGZvcmNlKSA6IHJhZGl1czsK
KyAgfTsKKworICByZXR1cm4gZm9yY2U7Cit9CisKK2Z1bmN0aW9uIGluZGV4KGQpIHsKKyAgcmV0
dXJuIGQuaW5kZXg7Cit9CisKK2Z1bmN0aW9uIGZpbmQobm9kZUJ5SWQsIG5vZGVJZCkgeworICB2
YXIgbm9kZSA9IG5vZGVCeUlkLmdldChub2RlSWQpOworICBpZiAoIW5vZGUpIHRocm93IG5ldyBF
cnJvcigibWlzc2luZzogIiArIG5vZGVJZCk7CisgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biBsaW5rKGxpbmtzKSB7CisgIHZhciBpZCA9IGluZGV4LAorICAgICAgc3RyZW5ndGggPSBkZWZh
dWx0U3RyZW5ndGgsCisgICAgICBzdHJlbmd0aHMsCisgICAgICBkaXN0YW5jZSA9IGNvbnN0YW50
JDcoMzApLAorICAgICAgZGlzdGFuY2VzLAorICAgICAgbm9kZXMsCisgICAgICBjb3VudCwKKyAg
ICAgIGJpYXMsCisgICAgICBpdGVyYXRpb25zID0gMTsKKworICBpZiAobGlua3MgPT0gbnVsbCkg
bGlua3MgPSBbXTsKKworICBmdW5jdGlvbiBkZWZhdWx0U3RyZW5ndGgobGluaykgeworICAgIHJl
dHVybiAxIC8gTWF0aC5taW4oY291bnRbbGluay5zb3VyY2UuaW5kZXhdLCBjb3VudFtsaW5rLnRh
cmdldC5pbmRleF0pOworICB9CisKKyAgZnVuY3Rpb24gZm9yY2UoYWxwaGEpIHsKKyAgICBmb3Ig
KHZhciBrID0gMCwgbiA9IGxpbmtzLmxlbmd0aDsgayA8IGl0ZXJhdGlvbnM7ICsraykgeworICAg
ICAgZm9yICh2YXIgaSA9IDAsIGxpbmssIHNvdXJjZSwgdGFyZ2V0LCB4LCB5LCBsLCBiOyBpIDwg
bjsgKytpKSB7CisgICAgICAgIGxpbmsgPSBsaW5rc1tpXSwgc291cmNlID0gbGluay5zb3VyY2Us
IHRhcmdldCA9IGxpbmsudGFyZ2V0OworICAgICAgICB4ID0gdGFyZ2V0LnggKyB0YXJnZXQudngg
LSBzb3VyY2UueCAtIHNvdXJjZS52eCB8fCBqaWdnbGUoKTsKKyAgICAgICAgeSA9IHRhcmdldC55
ICsgdGFyZ2V0LnZ5IC0gc291cmNlLnkgLSBzb3VyY2UudnkgfHwgamlnZ2xlKCk7CisgICAgICAg
IGwgPSBNYXRoLnNxcnQoeCAqIHggKyB5ICogeSk7CisgICAgICAgIGwgPSAobCAtIGRpc3RhbmNl
c1tpXSkgLyBsICogYWxwaGEgKiBzdHJlbmd0aHNbaV07CisgICAgICAgIHggKj0gbCwgeSAqPSBs
OworICAgICAgICB0YXJnZXQudnggLT0geCAqIChiID0gYmlhc1tpXSk7CisgICAgICAgIHRhcmdl
dC52eSAtPSB5ICogYjsKKyAgICAgICAgc291cmNlLnZ4ICs9IHggKiAoYiA9IDEgLSBiKTsKKyAg
ICAgICAgc291cmNlLnZ5ICs9IHkgKiBiOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGZ1bmN0
aW9uIGluaXRpYWxpemUoKSB7CisgICAgaWYgKCFub2RlcykgcmV0dXJuOworCisgICAgdmFyIGks
CisgICAgICAgIG4gPSBub2Rlcy5sZW5ndGgsCisgICAgICAgIG0gPSBsaW5rcy5sZW5ndGgsCisg
ICAgICAgIG5vZGVCeUlkID0gbWFwJDEobm9kZXMsIGlkKSwKKyAgICAgICAgbGluazsKKworICAg
IGZvciAoaSA9IDAsIGNvdW50ID0gbmV3IEFycmF5KG4pOyBpIDwgbTsgKytpKSB7CisgICAgICBs
aW5rID0gbGlua3NbaV0sIGxpbmsuaW5kZXggPSBpOworICAgICAgaWYgKHR5cGVvZiBsaW5rLnNv
dXJjZSAhPT0gIm9iamVjdCIpIGxpbmsuc291cmNlID0gZmluZChub2RlQnlJZCwgbGluay5zb3Vy
Y2UpOworICAgICAgaWYgKHR5cGVvZiBsaW5rLnRhcmdldCAhPT0gIm9iamVjdCIpIGxpbmsudGFy
Z2V0ID0gZmluZChub2RlQnlJZCwgbGluay50YXJnZXQpOworICAgICAgY291bnRbbGluay5zb3Vy
Y2UuaW5kZXhdID0gKGNvdW50W2xpbmsuc291cmNlLmluZGV4XSB8fCAwKSArIDE7CisgICAgICBj
b3VudFtsaW5rLnRhcmdldC5pbmRleF0gPSAoY291bnRbbGluay50YXJnZXQuaW5kZXhdIHx8IDAp
ICsgMTsKKyAgICB9CisKKyAgICBmb3IgKGkgPSAwLCBiaWFzID0gbmV3IEFycmF5KG0pOyBpIDwg
bTsgKytpKSB7CisgICAgICBsaW5rID0gbGlua3NbaV0sIGJpYXNbaV0gPSBjb3VudFtsaW5rLnNv
dXJjZS5pbmRleF0gLyAoY291bnRbbGluay5zb3VyY2UuaW5kZXhdICsgY291bnRbbGluay50YXJn
ZXQuaW5kZXhdKTsKKyAgICB9CisKKyAgICBzdHJlbmd0aHMgPSBuZXcgQXJyYXkobSksIGluaXRp
YWxpemVTdHJlbmd0aCgpOworICAgIGRpc3RhbmNlcyA9IG5ldyBBcnJheShtKSwgaW5pdGlhbGl6
ZURpc3RhbmNlKCk7CisgIH0KKworICBmdW5jdGlvbiBpbml0aWFsaXplU3RyZW5ndGgoKSB7Cisg
ICAgaWYgKCFub2RlcykgcmV0dXJuOworCisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBsaW5rcy5s
ZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICAgIHN0cmVuZ3Roc1tpXSA9ICtzdHJlbmd0aChsaW5r
c1tpXSwgaSwgbGlua3MpOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemVEaXN0
YW5jZSgpIHsKKyAgICBpZiAoIW5vZGVzKSByZXR1cm47CisKKyAgICBmb3IgKHZhciBpID0gMCwg
biA9IGxpbmtzLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAgICAgZGlzdGFuY2VzW2ldID0gK2Rp
c3RhbmNlKGxpbmtzW2ldLCBpLCBsaW5rcyk7CisgICAgfQorICB9CisKKyAgZm9yY2UuaW5pdGlh
bGl6ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBub2RlcyA9IF87CisgICAgaW5pdGlhbGl6ZSgpOwor
ICB9OworCisgIGZvcmNlLmxpbmtzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKGxpbmtzID0gXywgaW5pdGlhbGl6ZSgpLCBmb3JjZSkgOiBsaW5rczsKKyAg
fTsKKworICBmb3JjZS5pZCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IChpZCA9IF8sIGZvcmNlKSA6IGlkOworICB9OworCisgIGZvcmNlLml0ZXJhdGlvbnMg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoaXRlcmF0aW9u
cyA9ICtfLCBmb3JjZSkgOiBpdGVyYXRpb25zOworICB9OworCisgIGZvcmNlLnN0cmVuZ3RoID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHN0cmVuZ3RoID0g
dHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyksIGluaXRpYWxpemVT
dHJlbmd0aCgpLCBmb3JjZSkgOiBzdHJlbmd0aDsKKyAgfTsKKworICBmb3JjZS5kaXN0YW5jZSA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkaXN0YW5jZSA9
IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXpl
RGlzdGFuY2UoKSwgZm9yY2UpIDogZGlzdGFuY2U7CisgIH07CisKKyAgcmV0dXJuIGZvcmNlOwor
fQorCitmdW5jdGlvbiB4JDEoZCkgeworICByZXR1cm4gZC54OworfQorCitmdW5jdGlvbiB5JDEo
ZCkgeworICByZXR1cm4gZC55OworfQorCit2YXIgaW5pdGlhbFJhZGl1cyA9IDEwLAorICAgIGlu
aXRpYWxBbmdsZSA9IE1hdGguUEkgKiAoMyAtIE1hdGguc3FydCg1KSk7CisKK2Z1bmN0aW9uIHNp
bXVsYXRpb24obm9kZXMpIHsKKyAgdmFyIHNpbXVsYXRpb24sCisgICAgICBhbHBoYSA9IDEsCisg
ICAgICBhbHBoYU1pbiA9IDAuMDAxLAorICAgICAgYWxwaGFEZWNheSA9IDEgLSBNYXRoLnBvdyhh
bHBoYU1pbiwgMSAvIDMwMCksCisgICAgICBhbHBoYVRhcmdldCA9IDAsCisgICAgICB2ZWxvY2l0
eURlY2F5ID0gMC42LAorICAgICAgZm9yY2VzID0gbWFwJDEoKSwKKyAgICAgIHN0ZXBwZXIgPSB0
aW1lcihzdGVwKSwKKyAgICAgIGV2ZW50ID0gZGlzcGF0Y2goInRpY2siLCAiZW5kIik7CisKKyAg
aWYgKG5vZGVzID09IG51bGwpIG5vZGVzID0gW107CisKKyAgZnVuY3Rpb24gc3RlcCgpIHsKKyAg
ICB0aWNrKCk7CisgICAgZXZlbnQuY2FsbCgidGljayIsIHNpbXVsYXRpb24pOworICAgIGlmIChh
bHBoYSA8IGFscGhhTWluKSB7CisgICAgICBzdGVwcGVyLnN0b3AoKTsKKyAgICAgIGV2ZW50LmNh
bGwoImVuZCIsIHNpbXVsYXRpb24pOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIHRpY2soaXRl
cmF0aW9ucykgeworICAgIHZhciBpLCBuID0gbm9kZXMubGVuZ3RoLCBub2RlOworCisgICAgaWYg
KGl0ZXJhdGlvbnMgPT09IHVuZGVmaW5lZCkgaXRlcmF0aW9ucyA9IDE7CisKKyAgICBmb3IgKHZh
ciBrID0gMDsgayA8IGl0ZXJhdGlvbnM7ICsraykgeworICAgICAgYWxwaGEgKz0gKGFscGhhVGFy
Z2V0IC0gYWxwaGEpICogYWxwaGFEZWNheTsKKworICAgICAgZm9yY2VzLmVhY2goZnVuY3Rpb24g
KGZvcmNlKSB7CisgICAgICAgIGZvcmNlKGFscGhhKTsKKyAgICAgIH0pOworCisgICAgICBmb3Ig
KGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICAgIG5vZGUgPSBub2Rlc1tpXTsKKyAgICAgICAg
aWYgKG5vZGUuZnggPT0gbnVsbCkgbm9kZS54ICs9IG5vZGUudnggKj0gdmVsb2NpdHlEZWNheTsK
KyAgICAgICAgZWxzZSBub2RlLnggPSBub2RlLmZ4LCBub2RlLnZ4ID0gMDsKKyAgICAgICAgaWYg
KG5vZGUuZnkgPT0gbnVsbCkgbm9kZS55ICs9IG5vZGUudnkgKj0gdmVsb2NpdHlEZWNheTsKKyAg
ICAgICAgZWxzZSBub2RlLnkgPSBub2RlLmZ5LCBub2RlLnZ5ID0gMDsKKyAgICAgIH0KKyAgICB9
CisKKyAgICByZXR1cm4gc2ltdWxhdGlvbjsKKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemVO
b2RlcygpIHsKKyAgICBmb3IgKHZhciBpID0gMCwgbiA9IG5vZGVzLmxlbmd0aCwgbm9kZTsgaSA8
IG47ICsraSkgeworICAgICAgbm9kZSA9IG5vZGVzW2ldLCBub2RlLmluZGV4ID0gaTsKKyAgICAg
IGlmIChub2RlLmZ4ICE9IG51bGwpIG5vZGUueCA9IG5vZGUuZng7CisgICAgICBpZiAobm9kZS5m
eSAhPSBudWxsKSBub2RlLnkgPSBub2RlLmZ5OworICAgICAgaWYgKGlzTmFOKG5vZGUueCkgfHwg
aXNOYU4obm9kZS55KSkgeworICAgICAgICB2YXIgcmFkaXVzID0gaW5pdGlhbFJhZGl1cyAqIE1h
dGguc3FydChpKSwgYW5nbGUgPSBpICogaW5pdGlhbEFuZ2xlOworICAgICAgICBub2RlLnggPSBy
YWRpdXMgKiBNYXRoLmNvcyhhbmdsZSk7CisgICAgICAgIG5vZGUueSA9IHJhZGl1cyAqIE1hdGgu
c2luKGFuZ2xlKTsKKyAgICAgIH0KKyAgICAgIGlmIChpc05hTihub2RlLnZ4KSB8fCBpc05hTihu
b2RlLnZ5KSkgeworICAgICAgICBub2RlLnZ4ID0gbm9kZS52eSA9IDA7CisgICAgICB9CisgICAg
fQorICB9CisKKyAgZnVuY3Rpb24gaW5pdGlhbGl6ZUZvcmNlKGZvcmNlKSB7CisgICAgaWYgKGZv
cmNlLmluaXRpYWxpemUpIGZvcmNlLmluaXRpYWxpemUobm9kZXMpOworICAgIHJldHVybiBmb3Jj
ZTsKKyAgfQorCisgIGluaXRpYWxpemVOb2RlcygpOworCisgIHJldHVybiBzaW11bGF0aW9uID0g
eworICAgIHRpY2s6IHRpY2ssCisKKyAgICByZXN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICAgIHJl
dHVybiBzdGVwcGVyLnJlc3RhcnQoc3RlcCksIHNpbXVsYXRpb247CisgICAgfSwKKworICAgIHN0
b3A6IGZ1bmN0aW9uKCkgeworICAgICAgcmV0dXJuIHN0ZXBwZXIuc3RvcCgpLCBzaW11bGF0aW9u
OworICAgIH0sCisKKyAgICBub2RlczogZnVuY3Rpb24oXykgeworICAgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAobm9kZXMgPSBfLCBpbml0aWFsaXplTm9kZXMoKSwgZm9yY2VzLmVhY2go
aW5pdGlhbGl6ZUZvcmNlKSwgc2ltdWxhdGlvbikgOiBub2RlczsKKyAgICB9LAorCisgICAgYWxw
aGE6IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGFscGhh
ID0gK18sIHNpbXVsYXRpb24pIDogYWxwaGE7CisgICAgfSwKKworICAgIGFscGhhTWluOiBmdW5j
dGlvbihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChhbHBoYU1pbiA9ICtf
LCBzaW11bGF0aW9uKSA6IGFscGhhTWluOworICAgIH0sCisKKyAgICBhbHBoYURlY2F5OiBmdW5j
dGlvbihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChhbHBoYURlY2F5ID0g
K18sIHNpbXVsYXRpb24pIDogK2FscGhhRGVjYXk7CisgICAgfSwKKworICAgIGFscGhhVGFyZ2V0
OiBmdW5jdGlvbihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChhbHBoYVRh
cmdldCA9ICtfLCBzaW11bGF0aW9uKSA6IGFscGhhVGFyZ2V0OworICAgIH0sCisKKyAgICB2ZWxv
Y2l0eURlY2F5OiBmdW5jdGlvbihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
ICh2ZWxvY2l0eURlY2F5ID0gMSAtIF8sIHNpbXVsYXRpb24pIDogMSAtIHZlbG9jaXR5RGVjYXk7
CisgICAgfSwKKworICAgIGZvcmNlOiBmdW5jdGlvbihuYW1lLCBfKSB7CisgICAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA+IDEgPyAoKF8gPT0gbnVsbCA/IGZvcmNlcy5yZW1vdmUobmFtZSkg
OiBmb3JjZXMuc2V0KG5hbWUsIGluaXRpYWxpemVGb3JjZShfKSkpLCBzaW11bGF0aW9uKSA6IGZv
cmNlcy5nZXQobmFtZSk7CisgICAgfSwKKworICAgIGZpbmQ6IGZ1bmN0aW9uKHgsIHksIHJhZGl1
cykgeworICAgICAgdmFyIGkgPSAwLAorICAgICAgICAgIG4gPSBub2Rlcy5sZW5ndGgsCisgICAg
ICAgICAgZHgsCisgICAgICAgICAgZHksCisgICAgICAgICAgZDIsCisgICAgICAgICAgbm9kZSwK
KyAgICAgICAgICBjbG9zZXN0OworCisgICAgICBpZiAocmFkaXVzID09IG51bGwpIHJhZGl1cyA9
IEluZmluaXR5OworICAgICAgZWxzZSByYWRpdXMgKj0gcmFkaXVzOworCisgICAgICBmb3IgKGkg
PSAwOyBpIDwgbjsgKytpKSB7CisgICAgICAgIG5vZGUgPSBub2Rlc1tpXTsKKyAgICAgICAgZHgg
PSB4IC0gbm9kZS54OworICAgICAgICBkeSA9IHkgLSBub2RlLnk7CisgICAgICAgIGQyID0gZHgg
KiBkeCArIGR5ICogZHk7CisgICAgICAgIGlmIChkMiA8IHJhZGl1cykgY2xvc2VzdCA9IG5vZGUs
IHJhZGl1cyA9IGQyOworICAgICAgfQorCisgICAgICByZXR1cm4gY2xvc2VzdDsKKyAgICB9LAor
CisgICAgb246IGZ1bmN0aW9uKG5hbWUsIF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID4gMSA/IChldmVudC5vbihuYW1lLCBfKSwgc2ltdWxhdGlvbikgOiBldmVudC5vbihuYW1l
KTsKKyAgICB9CisgIH07Cit9CisKK2Z1bmN0aW9uIG1hbnlCb2R5KCkgeworICB2YXIgbm9kZXMs
CisgICAgICBub2RlLAorICAgICAgYWxwaGEsCisgICAgICBzdHJlbmd0aCA9IGNvbnN0YW50JDco
LTMwKSwKKyAgICAgIHN0cmVuZ3RocywKKyAgICAgIGRpc3RhbmNlTWluMiA9IDEsCisgICAgICBk
aXN0YW5jZU1heDIgPSBJbmZpbml0eSwKKyAgICAgIHRoZXRhMiA9IDAuODE7CisKKyAgZnVuY3Rp
b24gZm9yY2UoXykgeworICAgIHZhciBpLCBuID0gbm9kZXMubGVuZ3RoLCB0cmVlID0gcXVhZHRy
ZWUobm9kZXMsIHgkMSwgeSQxKS52aXNpdEFmdGVyKGFjY3VtdWxhdGUpOworICAgIGZvciAoYWxw
aGEgPSBfLCBpID0gMDsgaSA8IG47ICsraSkgbm9kZSA9IG5vZGVzW2ldLCB0cmVlLnZpc2l0KGFw
cGx5KTsKKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemUoKSB7CisgICAgaWYgKCFub2Rlcykg
cmV0dXJuOworICAgIHZhciBpLCBuID0gbm9kZXMubGVuZ3RoLCBub2RlOworICAgIHN0cmVuZ3Ro
cyA9IG5ldyBBcnJheShuKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSBub2RlID0gbm9k
ZXNbaV0sIHN0cmVuZ3Roc1tub2RlLmluZGV4XSA9ICtzdHJlbmd0aChub2RlLCBpLCBub2Rlcyk7
CisgIH0KKworICBmdW5jdGlvbiBhY2N1bXVsYXRlKHF1YWQpIHsKKyAgICB2YXIgc3RyZW5ndGgg
PSAwLCBxLCBjLCB3ZWlnaHQgPSAwLCB4LCB5LCBpOworCisgICAgLy8gRm9yIGludGVybmFsIG5v
ZGVzLCBhY2N1bXVsYXRlIGZvcmNlcyBmcm9tIGNoaWxkIHF1YWRyYW50cy4KKyAgICBpZiAocXVh
ZC5sZW5ndGgpIHsKKyAgICAgIGZvciAoeCA9IHkgPSBpID0gMDsgaSA8IDQ7ICsraSkgeworICAg
ICAgICBpZiAoKHEgPSBxdWFkW2ldKSAmJiAoYyA9IE1hdGguYWJzKHEudmFsdWUpKSkgeworICAg
ICAgICAgIHN0cmVuZ3RoICs9IHEudmFsdWUsIHdlaWdodCArPSBjLCB4ICs9IGMgKiBxLngsIHkg
Kz0gYyAqIHEueTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgcXVhZC54ID0geCAvIHdlaWdo
dDsKKyAgICAgIHF1YWQueSA9IHkgLyB3ZWlnaHQ7CisgICAgfQorCisgICAgLy8gRm9yIGxlYWYg
bm9kZXMsIGFjY3VtdWxhdGUgZm9yY2VzIGZyb20gY29pbmNpZGVudCBxdWFkcmFudHMuCisgICAg
ZWxzZSB7CisgICAgICBxID0gcXVhZDsKKyAgICAgIHEueCA9IHEuZGF0YS54OworICAgICAgcS55
ID0gcS5kYXRhLnk7CisgICAgICBkbyBzdHJlbmd0aCArPSBzdHJlbmd0aHNbcS5kYXRhLmluZGV4
XTsKKyAgICAgIHdoaWxlIChxID0gcS5uZXh0KTsKKyAgICB9CisKKyAgICBxdWFkLnZhbHVlID0g
c3RyZW5ndGg7CisgIH0KKworICBmdW5jdGlvbiBhcHBseShxdWFkLCB4MSwgXywgeDIpIHsKKyAg
ICBpZiAoIXF1YWQudmFsdWUpIHJldHVybiB0cnVlOworCisgICAgdmFyIHggPSBxdWFkLnggLSBu
b2RlLngsCisgICAgICAgIHkgPSBxdWFkLnkgLSBub2RlLnksCisgICAgICAgIHcgPSB4MiAtIHgx
LAorICAgICAgICBsID0geCAqIHggKyB5ICogeTsKKworICAgIC8vIEFwcGx5IHRoZSBCYXJuZXMt
SHV0IGFwcHJveGltYXRpb24gaWYgcG9zc2libGUuCisgICAgLy8gTGltaXQgZm9yY2VzIGZvciB2
ZXJ5IGNsb3NlIG5vZGVzOyByYW5kb21pemUgZGlyZWN0aW9uIGlmIGNvaW5jaWRlbnQuCisgICAg
aWYgKHcgKiB3IC8gdGhldGEyIDwgbCkgeworICAgICAgaWYgKGwgPCBkaXN0YW5jZU1heDIpIHsK
KyAgICAgICAgaWYgKHggPT09IDApIHggPSBqaWdnbGUoKSwgbCArPSB4ICogeDsKKyAgICAgICAg
aWYgKHkgPT09IDApIHkgPSBqaWdnbGUoKSwgbCArPSB5ICogeTsKKyAgICAgICAgaWYgKGwgPCBk
aXN0YW5jZU1pbjIpIGwgPSBNYXRoLnNxcnQoZGlzdGFuY2VNaW4yICogbCk7CisgICAgICAgIG5v
ZGUudnggKz0geCAqIHF1YWQudmFsdWUgKiBhbHBoYSAvIGw7CisgICAgICAgIG5vZGUudnkgKz0g
eSAqIHF1YWQudmFsdWUgKiBhbHBoYSAvIGw7CisgICAgICB9CisgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CisKKyAgICAvLyBPdGhlcndpc2UsIHByb2Nlc3MgcG9pbnRzIGRpcmVjdGx5LgorICAg
IGVsc2UgaWYgKHF1YWQubGVuZ3RoIHx8IGwgPj0gZGlzdGFuY2VNYXgyKSByZXR1cm47CisKKyAg
ICAvLyBMaW1pdCBmb3JjZXMgZm9yIHZlcnkgY2xvc2Ugbm9kZXM7IHJhbmRvbWl6ZSBkaXJlY3Rp
b24gaWYgY29pbmNpZGVudC4KKyAgICBpZiAocXVhZC5kYXRhICE9PSBub2RlIHx8IHF1YWQubmV4
dCkgeworICAgICAgaWYgKHggPT09IDApIHggPSBqaWdnbGUoKSwgbCArPSB4ICogeDsKKyAgICAg
IGlmICh5ID09PSAwKSB5ID0gamlnZ2xlKCksIGwgKz0geSAqIHk7CisgICAgICBpZiAobCA8IGRp
c3RhbmNlTWluMikgbCA9IE1hdGguc3FydChkaXN0YW5jZU1pbjIgKiBsKTsKKyAgICB9CisKKyAg
ICBkbyBpZiAocXVhZC5kYXRhICE9PSBub2RlKSB7CisgICAgICB3ID0gc3RyZW5ndGhzW3F1YWQu
ZGF0YS5pbmRleF0gKiBhbHBoYSAvIGw7CisgICAgICBub2RlLnZ4ICs9IHggKiB3OworICAgICAg
bm9kZS52eSArPSB5ICogdzsKKyAgICB9IHdoaWxlIChxdWFkID0gcXVhZC5uZXh0KTsKKyAgfQor
CisgIGZvcmNlLmluaXRpYWxpemUgPSBmdW5jdGlvbihfKSB7CisgICAgbm9kZXMgPSBfOworICAg
IGluaXRpYWxpemUoKTsKKyAgfTsKKworICBmb3JjZS5zdHJlbmd0aCA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzdHJlbmd0aCA9IHR5cGVvZiBfID09PSAi
ZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplKCksIGZvcmNlKSA6IHN0
cmVuZ3RoOworICB9OworCisgIGZvcmNlLmRpc3RhbmNlTWluID0gZnVuY3Rpb24oXykgeworICAg
IHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGRpc3RhbmNlTWluMiA9IF8gKiBfLCBmb3JjZSkg
OiBNYXRoLnNxcnQoZGlzdGFuY2VNaW4yKTsKKyAgfTsKKworICBmb3JjZS5kaXN0YW5jZU1heCA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkaXN0YW5jZU1h
eDIgPSBfICogXywgZm9yY2UpIDogTWF0aC5zcXJ0KGRpc3RhbmNlTWF4Mik7CisgIH07CisKKyAg
Zm9yY2UudGhldGEgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PyAodGhldGEyID0gXyAqIF8sIGZvcmNlKSA6IE1hdGguc3FydCh0aGV0YTIpOworICB9OworCisg
IHJldHVybiBmb3JjZTsKK30KKworZnVuY3Rpb24gcmFkaWFsKHJhZGl1cywgeCwgeSkgeworICB2
YXIgbm9kZXMsCisgICAgICBzdHJlbmd0aCA9IGNvbnN0YW50JDcoMC4xKSwKKyAgICAgIHN0cmVu
Z3RocywKKyAgICAgIHJhZGl1c2VzOworCisgIGlmICh0eXBlb2YgcmFkaXVzICE9PSAiZnVuY3Rp
b24iKSByYWRpdXMgPSBjb25zdGFudCQ3KCtyYWRpdXMpOworICBpZiAoeCA9PSBudWxsKSB4ID0g
MDsKKyAgaWYgKHkgPT0gbnVsbCkgeSA9IDA7CisKKyAgZnVuY3Rpb24gZm9yY2UoYWxwaGEpIHsK
KyAgICBmb3IgKHZhciBpID0gMCwgbiA9IG5vZGVzLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAg
ICAgdmFyIG5vZGUgPSBub2Rlc1tpXSwKKyAgICAgICAgICBkeCA9IG5vZGUueCAtIHggfHwgMWUt
NiwKKyAgICAgICAgICBkeSA9IG5vZGUueSAtIHkgfHwgMWUtNiwKKyAgICAgICAgICByID0gTWF0
aC5zcXJ0KGR4ICogZHggKyBkeSAqIGR5KSwKKyAgICAgICAgICBrID0gKHJhZGl1c2VzW2ldIC0g
cikgKiBzdHJlbmd0aHNbaV0gKiBhbHBoYSAvIHI7CisgICAgICBub2RlLnZ4ICs9IGR4ICogazsK
KyAgICAgIG5vZGUudnkgKz0gZHkgKiBrOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGluaXRp
YWxpemUoKSB7CisgICAgaWYgKCFub2RlcykgcmV0dXJuOworICAgIHZhciBpLCBuID0gbm9kZXMu
bGVuZ3RoOworICAgIHN0cmVuZ3RocyA9IG5ldyBBcnJheShuKTsKKyAgICByYWRpdXNlcyA9IG5l
dyBBcnJheShuKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICByYWRpdXNl
c1tpXSA9ICtyYWRpdXMobm9kZXNbaV0sIGksIG5vZGVzKTsKKyAgICAgIHN0cmVuZ3Roc1tpXSA9
IGlzTmFOKHJhZGl1c2VzW2ldKSA/IDAgOiArc3RyZW5ndGgobm9kZXNbaV0sIGksIG5vZGVzKTsK
KyAgICB9CisgIH0KKworICBmb3JjZS5pbml0aWFsaXplID0gZnVuY3Rpb24oXykgeworICAgIG5v
ZGVzID0gXywgaW5pdGlhbGl6ZSgpOworICB9OworCisgIGZvcmNlLnN0cmVuZ3RoID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHN0cmVuZ3RoID0gdHlwZW9m
IF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyksIGluaXRpYWxpemUoKSwgZm9y
Y2UpIDogc3RyZW5ndGg7CisgIH07CisKKyAgZm9yY2UucmFkaXVzID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJhZGl1cyA9IHR5cGVvZiBfID09PSAiZnVu
Y3Rpb24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplKCksIGZvcmNlKSA6IHJhZGl1
czsKKyAgfTsKKworICBmb3JjZS54ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHggPSArXywgZm9yY2UpIDogeDsKKyAgfTsKKworICBmb3JjZS55ID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHkgPSArXywgZm9yY2Up
IDogeTsKKyAgfTsKKworICByZXR1cm4gZm9yY2U7Cit9CisKK2Z1bmN0aW9uIHgkMih4KSB7Cisg
IHZhciBzdHJlbmd0aCA9IGNvbnN0YW50JDcoMC4xKSwKKyAgICAgIG5vZGVzLAorICAgICAgc3Ry
ZW5ndGhzLAorICAgICAgeHo7CisKKyAgaWYgKHR5cGVvZiB4ICE9PSAiZnVuY3Rpb24iKSB4ID0g
Y29uc3RhbnQkNyh4ID09IG51bGwgPyAwIDogK3gpOworCisgIGZ1bmN0aW9uIGZvcmNlKGFscGhh
KSB7CisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBub2Rlcy5sZW5ndGgsIG5vZGU7IGkgPCBuOyAr
K2kpIHsKKyAgICAgIG5vZGUgPSBub2Rlc1tpXSwgbm9kZS52eCArPSAoeHpbaV0gLSBub2RlLngp
ICogc3RyZW5ndGhzW2ldICogYWxwaGE7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gaW5pdGlh
bGl6ZSgpIHsKKyAgICBpZiAoIW5vZGVzKSByZXR1cm47CisgICAgdmFyIGksIG4gPSBub2Rlcy5s
ZW5ndGg7CisgICAgc3RyZW5ndGhzID0gbmV3IEFycmF5KG4pOworICAgIHh6ID0gbmV3IEFycmF5
KG4pOworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIHN0cmVuZ3Roc1tpXSA9
IGlzTmFOKHh6W2ldID0gK3gobm9kZXNbaV0sIGksIG5vZGVzKSkgPyAwIDogK3N0cmVuZ3RoKG5v
ZGVzW2ldLCBpLCBub2Rlcyk7CisgICAgfQorICB9CisKKyAgZm9yY2UuaW5pdGlhbGl6ZSA9IGZ1
bmN0aW9uKF8pIHsKKyAgICBub2RlcyA9IF87CisgICAgaW5pdGlhbGl6ZSgpOworICB9OworCisg
IGZvcmNlLnN0cmVuZ3RoID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHN0cmVuZ3RoID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQk
NygrXyksIGluaXRpYWxpemUoKSwgZm9yY2UpIDogc3RyZW5ndGg7CisgIH07CisKKyAgZm9yY2Uu
eCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4ID0gdHlw
ZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyksIGluaXRpYWxpemUoKSwg
Zm9yY2UpIDogeDsKKyAgfTsKKworICByZXR1cm4gZm9yY2U7Cit9CisKK2Z1bmN0aW9uIHkkMih5
KSB7CisgIHZhciBzdHJlbmd0aCA9IGNvbnN0YW50JDcoMC4xKSwKKyAgICAgIG5vZGVzLAorICAg
ICAgc3RyZW5ndGhzLAorICAgICAgeXo7CisKKyAgaWYgKHR5cGVvZiB5ICE9PSAiZnVuY3Rpb24i
KSB5ID0gY29uc3RhbnQkNyh5ID09IG51bGwgPyAwIDogK3kpOworCisgIGZ1bmN0aW9uIGZvcmNl
KGFscGhhKSB7CisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBub2Rlcy5sZW5ndGgsIG5vZGU7IGkg
PCBuOyArK2kpIHsKKyAgICAgIG5vZGUgPSBub2Rlc1tpXSwgbm9kZS52eSArPSAoeXpbaV0gLSBu
b2RlLnkpICogc3RyZW5ndGhzW2ldICogYWxwaGE7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24g
aW5pdGlhbGl6ZSgpIHsKKyAgICBpZiAoIW5vZGVzKSByZXR1cm47CisgICAgdmFyIGksIG4gPSBu
b2Rlcy5sZW5ndGg7CisgICAgc3RyZW5ndGhzID0gbmV3IEFycmF5KG4pOworICAgIHl6ID0gbmV3
IEFycmF5KG4pOworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIHN0cmVuZ3Ro
c1tpXSA9IGlzTmFOKHl6W2ldID0gK3kobm9kZXNbaV0sIGksIG5vZGVzKSkgPyAwIDogK3N0cmVu
Z3RoKG5vZGVzW2ldLCBpLCBub2Rlcyk7CisgICAgfQorICB9CisKKyAgZm9yY2UuaW5pdGlhbGl6
ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBub2RlcyA9IF87CisgICAgaW5pdGlhbGl6ZSgpOworICB9
OworCisgIGZvcmNlLnN0cmVuZ3RoID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHN0cmVuZ3RoID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29u
c3RhbnQkNygrXyksIGluaXRpYWxpemUoKSwgZm9yY2UpIDogc3RyZW5ndGg7CisgIH07CisKKyAg
Zm9yY2UueSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5
ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyksIGluaXRpYWxp
emUoKSwgZm9yY2UpIDogeTsKKyAgfTsKKworICByZXR1cm4gZm9yY2U7Cit9CisKKy8vIENvbXB1
dGVzIHRoZSBkZWNpbWFsIGNvZWZmaWNpZW50IGFuZCBleHBvbmVudCBvZiB0aGUgc3BlY2lmaWVk
IG51bWJlciB4IHdpdGgKKy8vIHNpZ25pZmljYW50IGRpZ2l0cyBwLCB3aGVyZSB4IGlzIHBvc2l0
aXZlIGFuZCBwIGlzIGluIFsxLCAyMV0gb3IgdW5kZWZpbmVkLgorLy8gRm9yIGV4YW1wbGUsIGZv
cm1hdERlY2ltYWwoMS4yMykgcmV0dXJucyBbIjEyMyIsIDBdLgorZnVuY3Rpb24gZm9ybWF0RGVj
aW1hbCh4LCBwKSB7CisgIGlmICgoaSA9ICh4ID0gcCA/IHgudG9FeHBvbmVudGlhbChwIC0gMSkg
OiB4LnRvRXhwb25lbnRpYWwoKSkuaW5kZXhPZigiZSIpKSA8IDApIHJldHVybiBudWxsOyAvLyBO
YU4sIMKxSW5maW5pdHkKKyAgdmFyIGksIGNvZWZmaWNpZW50ID0geC5zbGljZSgwLCBpKTsKKwor
ICAvLyBUaGUgc3RyaW5nIHJldHVybmVkIGJ5IHRvRXhwb25lbnRpYWwgZWl0aGVyIGhhcyB0aGUg
Zm9ybSBcZFwuXGQrZVstK11cZCsKKyAgLy8gKGUuZy4sIDEuMmUrMykgb3IgdGhlIGZvcm0gXGRl
Wy0rXVxkKyAoZS5nLiwgMWUrMykuCisgIHJldHVybiBbCisgICAgY29lZmZpY2llbnQubGVuZ3Ro
ID4gMSA/IGNvZWZmaWNpZW50WzBdICsgY29lZmZpY2llbnQuc2xpY2UoMikgOiBjb2VmZmljaWVu
dCwKKyAgICAreC5zbGljZShpICsgMSkKKyAgXTsKK30KKworZnVuY3Rpb24gZXhwb25lbnQkMSh4
KSB7CisgIHJldHVybiB4ID0gZm9ybWF0RGVjaW1hbChNYXRoLmFicyh4KSksIHggPyB4WzFdIDog
TmFOOworfQorCitmdW5jdGlvbiBmb3JtYXRHcm91cChncm91cGluZywgdGhvdXNhbmRzKSB7Cisg
IHJldHVybiBmdW5jdGlvbih2YWx1ZSwgd2lkdGgpIHsKKyAgICB2YXIgaSA9IHZhbHVlLmxlbmd0
aCwKKyAgICAgICAgdCA9IFtdLAorICAgICAgICBqID0gMCwKKyAgICAgICAgZyA9IGdyb3VwaW5n
WzBdLAorICAgICAgICBsZW5ndGggPSAwOworCisgICAgd2hpbGUgKGkgPiAwICYmIGcgPiAwKSB7
CisgICAgICBpZiAobGVuZ3RoICsgZyArIDEgPiB3aWR0aCkgZyA9IE1hdGgubWF4KDEsIHdpZHRo
IC0gbGVuZ3RoKTsKKyAgICAgIHQucHVzaCh2YWx1ZS5zdWJzdHJpbmcoaSAtPSBnLCBpICsgZykp
OworICAgICAgaWYgKChsZW5ndGggKz0gZyArIDEpID4gd2lkdGgpIGJyZWFrOworICAgICAgZyA9
IGdyb3VwaW5nW2ogPSAoaiArIDEpICUgZ3JvdXBpbmcubGVuZ3RoXTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gdC5yZXZlcnNlKCkuam9pbih0aG91c2FuZHMpOworICB9OworfQorCitmdW5jdGlvbiBm
b3JtYXROdW1lcmFscyhudW1lcmFscykgeworICByZXR1cm4gZnVuY3Rpb24odmFsdWUpIHsKKyAg
ICByZXR1cm4gdmFsdWUucmVwbGFjZSgvWzAtOV0vZywgZnVuY3Rpb24oaSkgeworICAgICAgcmV0
dXJuIG51bWVyYWxzWytpXTsKKyAgICB9KTsKKyAgfTsKK30KKworLy8gW1tmaWxsXWFsaWduXVtz
aWduXVtzeW1ib2xdWzBdW3dpZHRoXVssXVsucHJlY2lzaW9uXVt+XVt0eXBlXQordmFyIHJlID0g
L14oPzooLik/KFs8Pj1eXSkpPyhbK1wtKCBdKT8oWyQjXSk/KDApPyhcZCspPygsKT8oXC5cZCsp
Pyh+KT8oW2EteiVdKT8kL2k7CisKK2Z1bmN0aW9uIGZvcm1hdFNwZWNpZmllcihzcGVjaWZpZXIp
IHsKKyAgaWYgKCEobWF0Y2ggPSByZS5leGVjKHNwZWNpZmllcikpKSB0aHJvdyBuZXcgRXJyb3Io
ImludmFsaWQgZm9ybWF0OiAiICsgc3BlY2lmaWVyKTsKKyAgdmFyIG1hdGNoOworICByZXR1cm4g
bmV3IEZvcm1hdFNwZWNpZmllcih7CisgICAgZmlsbDogbWF0Y2hbMV0sCisgICAgYWxpZ246IG1h
dGNoWzJdLAorICAgIHNpZ246IG1hdGNoWzNdLAorICAgIHN5bWJvbDogbWF0Y2hbNF0sCisgICAg
emVybzogbWF0Y2hbNV0sCisgICAgd2lkdGg6IG1hdGNoWzZdLAorICAgIGNvbW1hOiBtYXRjaFs3
XSwKKyAgICBwcmVjaXNpb246IG1hdGNoWzhdICYmIG1hdGNoWzhdLnNsaWNlKDEpLAorICAgIHRy
aW06IG1hdGNoWzldLAorICAgIHR5cGU6IG1hdGNoWzEwXQorICB9KTsKK30KKworZm9ybWF0U3Bl
Y2lmaWVyLnByb3RvdHlwZSA9IEZvcm1hdFNwZWNpZmllci5wcm90b3R5cGU7IC8vIGluc3RhbmNl
b2YKKworZnVuY3Rpb24gRm9ybWF0U3BlY2lmaWVyKHNwZWNpZmllcikgeworICB0aGlzLmZpbGwg
PSBzcGVjaWZpZXIuZmlsbCA9PT0gdW5kZWZpbmVkID8gIiAiIDogc3BlY2lmaWVyLmZpbGwgKyAi
IjsKKyAgdGhpcy5hbGlnbiA9IHNwZWNpZmllci5hbGlnbiA9PT0gdW5kZWZpbmVkID8gIj4iIDog
c3BlY2lmaWVyLmFsaWduICsgIiI7CisgIHRoaXMuc2lnbiA9IHNwZWNpZmllci5zaWduID09PSB1
bmRlZmluZWQgPyAiLSIgOiBzcGVjaWZpZXIuc2lnbiArICIiOworICB0aGlzLnN5bWJvbCA9IHNw
ZWNpZmllci5zeW1ib2wgPT09IHVuZGVmaW5lZCA/ICIiIDogc3BlY2lmaWVyLnN5bWJvbCArICIi
OworICB0aGlzLnplcm8gPSAhIXNwZWNpZmllci56ZXJvOworICB0aGlzLndpZHRoID0gc3BlY2lm
aWVyLndpZHRoID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiArc3BlY2lmaWVyLndpZHRoOwor
ICB0aGlzLmNvbW1hID0gISFzcGVjaWZpZXIuY29tbWE7CisgIHRoaXMucHJlY2lzaW9uID0gc3Bl
Y2lmaWVyLnByZWNpc2lvbiA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogK3NwZWNpZmllci5w
cmVjaXNpb247CisgIHRoaXMudHJpbSA9ICEhc3BlY2lmaWVyLnRyaW07CisgIHRoaXMudHlwZSA9
IHNwZWNpZmllci50eXBlID09PSB1bmRlZmluZWQgPyAiIiA6IHNwZWNpZmllci50eXBlICsgIiI7
Cit9CisKK0Zvcm1hdFNwZWNpZmllci5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsK
KyAgcmV0dXJuIHRoaXMuZmlsbAorICAgICAgKyB0aGlzLmFsaWduCisgICAgICArIHRoaXMuc2ln
bgorICAgICAgKyB0aGlzLnN5bWJvbAorICAgICAgKyAodGhpcy56ZXJvID8gIjAiIDogIiIpCisg
ICAgICArICh0aGlzLndpZHRoID09PSB1bmRlZmluZWQgPyAiIiA6IE1hdGgubWF4KDEsIHRoaXMu
d2lkdGggfCAwKSkKKyAgICAgICsgKHRoaXMuY29tbWEgPyAiLCIgOiAiIikKKyAgICAgICsgKHRo
aXMucHJlY2lzaW9uID09PSB1bmRlZmluZWQgPyAiIiA6ICIuIiArIE1hdGgubWF4KDAsIHRoaXMu
cHJlY2lzaW9uIHwgMCkpCisgICAgICArICh0aGlzLnRyaW0gPyAifiIgOiAiIikKKyAgICAgICsg
dGhpcy50eXBlOworfTsKKworLy8gVHJpbXMgaW5zaWduaWZpY2FudCB6ZXJvcywgZS5nLiwgcmVw
bGFjZXMgMS4yMDAwayB3aXRoIDEuMmsuCitmdW5jdGlvbiBmb3JtYXRUcmltKHMpIHsKKyAgb3V0
OiBmb3IgKHZhciBuID0gcy5sZW5ndGgsIGkgPSAxLCBpMCA9IC0xLCBpMTsgaSA8IG47ICsraSkg
eworICAgIHN3aXRjaCAoc1tpXSkgeworICAgICAgY2FzZSAiLiI6IGkwID0gaTEgPSBpOyBicmVh
azsKKyAgICAgIGNhc2UgIjAiOiBpZiAoaTAgPT09IDApIGkwID0gaTsgaTEgPSBpOyBicmVhazsK
KyAgICAgIGRlZmF1bHQ6IGlmIChpMCA+IDApIHsgaWYgKCErc1tpXSkgYnJlYWsgb3V0OyBpMCA9
IDA7IH0gYnJlYWs7CisgICAgfQorICB9CisgIHJldHVybiBpMCA+IDAgPyBzLnNsaWNlKDAsIGkw
KSArIHMuc2xpY2UoaTEgKyAxKSA6IHM7Cit9CisKK3ZhciBwcmVmaXhFeHBvbmVudDsKKworZnVu
Y3Rpb24gZm9ybWF0UHJlZml4QXV0byh4LCBwKSB7CisgIHZhciBkID0gZm9ybWF0RGVjaW1hbCh4
LCBwKTsKKyAgaWYgKCFkKSByZXR1cm4geCArICIiOworICB2YXIgY29lZmZpY2llbnQgPSBkWzBd
LAorICAgICAgZXhwb25lbnQgPSBkWzFdLAorICAgICAgaSA9IGV4cG9uZW50IC0gKHByZWZpeEV4
cG9uZW50ID0gTWF0aC5tYXgoLTgsIE1hdGgubWluKDgsIE1hdGguZmxvb3IoZXhwb25lbnQgLyAz
KSkpICogMykgKyAxLAorICAgICAgbiA9IGNvZWZmaWNpZW50Lmxlbmd0aDsKKyAgcmV0dXJuIGkg
PT09IG4gPyBjb2VmZmljaWVudAorICAgICAgOiBpID4gbiA/IGNvZWZmaWNpZW50ICsgbmV3IEFy
cmF5KGkgLSBuICsgMSkuam9pbigiMCIpCisgICAgICA6IGkgPiAwID8gY29lZmZpY2llbnQuc2xp
Y2UoMCwgaSkgKyAiLiIgKyBjb2VmZmljaWVudC5zbGljZShpKQorICAgICAgOiAiMC4iICsgbmV3
IEFycmF5KDEgLSBpKS5qb2luKCIwIikgKyBmb3JtYXREZWNpbWFsKHgsIE1hdGgubWF4KDAsIHAg
KyBpIC0gMSkpWzBdOyAvLyBsZXNzIHRoYW4gMXkhCit9CisKK2Z1bmN0aW9uIGZvcm1hdFJvdW5k
ZWQoeCwgcCkgeworICB2YXIgZCA9IGZvcm1hdERlY2ltYWwoeCwgcCk7CisgIGlmICghZCkgcmV0
dXJuIHggKyAiIjsKKyAgdmFyIGNvZWZmaWNpZW50ID0gZFswXSwKKyAgICAgIGV4cG9uZW50ID0g
ZFsxXTsKKyAgcmV0dXJuIGV4cG9uZW50IDwgMCA/ICIwLiIgKyBuZXcgQXJyYXkoLWV4cG9uZW50
KS5qb2luKCIwIikgKyBjb2VmZmljaWVudAorICAgICAgOiBjb2VmZmljaWVudC5sZW5ndGggPiBl
eHBvbmVudCArIDEgPyBjb2VmZmljaWVudC5zbGljZSgwLCBleHBvbmVudCArIDEpICsgIi4iICsg
Y29lZmZpY2llbnQuc2xpY2UoZXhwb25lbnQgKyAxKQorICAgICAgOiBjb2VmZmljaWVudCArIG5l
dyBBcnJheShleHBvbmVudCAtIGNvZWZmaWNpZW50Lmxlbmd0aCArIDIpLmpvaW4oIjAiKTsKK30K
KwordmFyIGZvcm1hdFR5cGVzID0geworICAiJSI6IGZ1bmN0aW9uKHgsIHApIHsgcmV0dXJuICh4
ICogMTAwKS50b0ZpeGVkKHApOyB9LAorICAiYiI6IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIE1hdGgu
cm91bmQoeCkudG9TdHJpbmcoMik7IH0sCisgICJjIjogZnVuY3Rpb24oeCkgeyByZXR1cm4geCAr
ICIiOyB9LAorICAiZCI6IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIE1hdGgucm91bmQoeCkudG9TdHJp
bmcoMTApOyB9LAorICAiZSI6IGZ1bmN0aW9uKHgsIHApIHsgcmV0dXJuIHgudG9FeHBvbmVudGlh
bChwKTsgfSwKKyAgImYiOiBmdW5jdGlvbih4LCBwKSB7IHJldHVybiB4LnRvRml4ZWQocCk7IH0s
CisgICJnIjogZnVuY3Rpb24oeCwgcCkgeyByZXR1cm4geC50b1ByZWNpc2lvbihwKTsgfSwKKyAg
Im8iOiBmdW5jdGlvbih4KSB7IHJldHVybiBNYXRoLnJvdW5kKHgpLnRvU3RyaW5nKDgpOyB9LAor
ICAicCI6IGZ1bmN0aW9uKHgsIHApIHsgcmV0dXJuIGZvcm1hdFJvdW5kZWQoeCAqIDEwMCwgcCk7
IH0sCisgICJyIjogZm9ybWF0Um91bmRlZCwKKyAgInMiOiBmb3JtYXRQcmVmaXhBdXRvLAorICAi
WCI6IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIE1hdGgucm91bmQoeCkudG9TdHJpbmcoMTYpLnRvVXBw
ZXJDYXNlKCk7IH0sCisgICJ4IjogZnVuY3Rpb24oeCkgeyByZXR1cm4gTWF0aC5yb3VuZCh4KS50
b1N0cmluZygxNik7IH0KK307CisKK2Z1bmN0aW9uIGlkZW50aXR5JDMoeCkgeworICByZXR1cm4g
eDsKK30KKwordmFyIG1hcCQyID0gQXJyYXkucHJvdG90eXBlLm1hcCwKKyAgICBwcmVmaXhlcyA9
IFsieSIsInoiLCJhIiwiZiIsInAiLCJuIiwiXHhCNSIsIm0iLCIiLCJrIiwiTSIsIkciLCJUIiwi
UCIsIkUiLCJaIiwiWSJdOworCitmdW5jdGlvbiBmb3JtYXRMb2NhbGUobG9jYWxlKSB7CisgIHZh
ciBncm91cCA9IGxvY2FsZS5ncm91cGluZyA9PT0gdW5kZWZpbmVkIHx8IGxvY2FsZS50aG91c2Fu
ZHMgPT09IHVuZGVmaW5lZCA/IGlkZW50aXR5JDMgOiBmb3JtYXRHcm91cChtYXAkMi5jYWxsKGxv
Y2FsZS5ncm91cGluZywgTnVtYmVyKSwgbG9jYWxlLnRob3VzYW5kcyArICIiKSwKKyAgICAgIGN1
cnJlbmN5UHJlZml4ID0gbG9jYWxlLmN1cnJlbmN5ID09PSB1bmRlZmluZWQgPyAiIiA6IGxvY2Fs
ZS5jdXJyZW5jeVswXSArICIiLAorICAgICAgY3VycmVuY3lTdWZmaXggPSBsb2NhbGUuY3VycmVu
Y3kgPT09IHVuZGVmaW5lZCA/ICIiIDogbG9jYWxlLmN1cnJlbmN5WzFdICsgIiIsCisgICAgICBk
ZWNpbWFsID0gbG9jYWxlLmRlY2ltYWwgPT09IHVuZGVmaW5lZCA/ICIuIiA6IGxvY2FsZS5kZWNp
bWFsICsgIiIsCisgICAgICBudW1lcmFscyA9IGxvY2FsZS5udW1lcmFscyA9PT0gdW5kZWZpbmVk
ID8gaWRlbnRpdHkkMyA6IGZvcm1hdE51bWVyYWxzKG1hcCQyLmNhbGwobG9jYWxlLm51bWVyYWxz
LCBTdHJpbmcpKSwKKyAgICAgIHBlcmNlbnQgPSBsb2NhbGUucGVyY2VudCA9PT0gdW5kZWZpbmVk
ID8gIiUiIDogbG9jYWxlLnBlcmNlbnQgKyAiIiwKKyAgICAgIG1pbnVzID0gbG9jYWxlLm1pbnVz
ID09PSB1bmRlZmluZWQgPyAiLSIgOiBsb2NhbGUubWludXMgKyAiIiwKKyAgICAgIG5hbiA9IGxv
Y2FsZS5uYW4gPT09IHVuZGVmaW5lZCA/ICJOYU4iIDogbG9jYWxlLm5hbiArICIiOworCisgIGZ1
bmN0aW9uIG5ld0Zvcm1hdChzcGVjaWZpZXIpIHsKKyAgICBzcGVjaWZpZXIgPSBmb3JtYXRTcGVj
aWZpZXIoc3BlY2lmaWVyKTsKKworICAgIHZhciBmaWxsID0gc3BlY2lmaWVyLmZpbGwsCisgICAg
ICAgIGFsaWduID0gc3BlY2lmaWVyLmFsaWduLAorICAgICAgICBzaWduID0gc3BlY2lmaWVyLnNp
Z24sCisgICAgICAgIHN5bWJvbCA9IHNwZWNpZmllci5zeW1ib2wsCisgICAgICAgIHplcm8gPSBz
cGVjaWZpZXIuemVybywKKyAgICAgICAgd2lkdGggPSBzcGVjaWZpZXIud2lkdGgsCisgICAgICAg
IGNvbW1hID0gc3BlY2lmaWVyLmNvbW1hLAorICAgICAgICBwcmVjaXNpb24gPSBzcGVjaWZpZXIu
cHJlY2lzaW9uLAorICAgICAgICB0cmltID0gc3BlY2lmaWVyLnRyaW0sCisgICAgICAgIHR5cGUg
PSBzcGVjaWZpZXIudHlwZTsKKworICAgIC8vIFRoZSAibiIgdHlwZSBpcyBhbiBhbGlhcyBmb3Ig
IixnIi4KKyAgICBpZiAodHlwZSA9PT0gIm4iKSBjb21tYSA9IHRydWUsIHR5cGUgPSAiZyI7CisK
KyAgICAvLyBUaGUgIiIgdHlwZSwgYW5kIGFueSBpbnZhbGlkIHR5cGUsIGlzIGFuIGFsaWFzIGZv
ciAiLjEyfmciLgorICAgIGVsc2UgaWYgKCFmb3JtYXRUeXBlc1t0eXBlXSkgcHJlY2lzaW9uID09
PSB1bmRlZmluZWQgJiYgKHByZWNpc2lvbiA9IDEyKSwgdHJpbSA9IHRydWUsIHR5cGUgPSAiZyI7
CisKKyAgICAvLyBJZiB6ZXJvIGZpbGwgaXMgc3BlY2lmaWVkLCBwYWRkaW5nIGdvZXMgYWZ0ZXIg
c2lnbiBhbmQgYmVmb3JlIGRpZ2l0cy4KKyAgICBpZiAoemVybyB8fCAoZmlsbCA9PT0gIjAiICYm
IGFsaWduID09PSAiPSIpKSB6ZXJvID0gdHJ1ZSwgZmlsbCA9ICIwIiwgYWxpZ24gPSAiPSI7CisK
KyAgICAvLyBDb21wdXRlIHRoZSBwcmVmaXggYW5kIHN1ZmZpeC4KKyAgICAvLyBGb3IgU0ktcHJl
Zml4LCB0aGUgc3VmZml4IGlzIGxhemlseSBjb21wdXRlZC4KKyAgICB2YXIgcHJlZml4ID0gc3lt
Ym9sID09PSAiJCIgPyBjdXJyZW5jeVByZWZpeCA6IHN5bWJvbCA9PT0gIiMiICYmIC9bYm94WF0v
LnRlc3QodHlwZSkgPyAiMCIgKyB0eXBlLnRvTG93ZXJDYXNlKCkgOiAiIiwKKyAgICAgICAgc3Vm
Zml4ID0gc3ltYm9sID09PSAiJCIgPyBjdXJyZW5jeVN1ZmZpeCA6IC9bJXBdLy50ZXN0KHR5cGUp
ID8gcGVyY2VudCA6ICIiOworCisgICAgLy8gV2hhdCBmb3JtYXQgZnVuY3Rpb24gc2hvdWxkIHdl
IHVzZT8KKyAgICAvLyBJcyB0aGlzIGFuIGludGVnZXIgdHlwZT8KKyAgICAvLyBDYW4gdGhpcyB0
eXBlIGdlbmVyYXRlIGV4cG9uZW50aWFsIG5vdGF0aW9uPworICAgIHZhciBmb3JtYXRUeXBlID0g
Zm9ybWF0VHlwZXNbdHlwZV0sCisgICAgICAgIG1heWJlU3VmZml4ID0gL1tkZWZncHJzJV0vLnRl
c3QodHlwZSk7CisKKyAgICAvLyBTZXQgdGhlIGRlZmF1bHQgcHJlY2lzaW9uIGlmIG5vdCBzcGVj
aWZpZWQsCisgICAgLy8gb3IgY2xhbXAgdGhlIHNwZWNpZmllZCBwcmVjaXNpb24gdG8gdGhlIHN1
cHBvcnRlZCByYW5nZS4KKyAgICAvLyBGb3Igc2lnbmlmaWNhbnQgcHJlY2lzaW9uLCBpdCBtdXN0
IGJlIGluIFsxLCAyMV0uCisgICAgLy8gRm9yIGZpeGVkIHByZWNpc2lvbiwgaXQgbXVzdCBiZSBp
biBbMCwgMjBdLgorICAgIHByZWNpc2lvbiA9IHByZWNpc2lvbiA9PT0gdW5kZWZpbmVkID8gNgor
ICAgICAgICA6IC9bZ3Byc10vLnRlc3QodHlwZSkgPyBNYXRoLm1heCgxLCBNYXRoLm1pbigyMSwg
cHJlY2lzaW9uKSkKKyAgICAgICAgOiBNYXRoLm1heCgwLCBNYXRoLm1pbigyMCwgcHJlY2lzaW9u
KSk7CisKKyAgICBmdW5jdGlvbiBmb3JtYXQodmFsdWUpIHsKKyAgICAgIHZhciB2YWx1ZVByZWZp
eCA9IHByZWZpeCwKKyAgICAgICAgICB2YWx1ZVN1ZmZpeCA9IHN1ZmZpeCwKKyAgICAgICAgICBp
LCBuLCBjOworCisgICAgICBpZiAodHlwZSA9PT0gImMiKSB7CisgICAgICAgIHZhbHVlU3VmZml4
ID0gZm9ybWF0VHlwZSh2YWx1ZSkgKyB2YWx1ZVN1ZmZpeDsKKyAgICAgICAgdmFsdWUgPSAiIjsK
KyAgICAgIH0gZWxzZSB7CisgICAgICAgIHZhbHVlID0gK3ZhbHVlOworCisgICAgICAgIC8vIFBl
cmZvcm0gdGhlIGluaXRpYWwgZm9ybWF0dGluZy4KKyAgICAgICAgdmFyIHZhbHVlTmVnYXRpdmUg
PSB2YWx1ZSA8IDA7CisgICAgICAgIHZhbHVlID0gaXNOYU4odmFsdWUpID8gbmFuIDogZm9ybWF0
VHlwZShNYXRoLmFicyh2YWx1ZSksIHByZWNpc2lvbik7CisKKyAgICAgICAgLy8gVHJpbSBpbnNp
Z25pZmljYW50IHplcm9zLgorICAgICAgICBpZiAodHJpbSkgdmFsdWUgPSBmb3JtYXRUcmltKHZh
bHVlKTsKKworICAgICAgICAvLyBJZiBhIG5lZ2F0aXZlIHZhbHVlIHJvdW5kcyB0byB6ZXJvIGR1
cmluZyBmb3JtYXR0aW5nLCB0cmVhdCBhcyBwb3NpdGl2ZS4KKyAgICAgICAgaWYgKHZhbHVlTmVn
YXRpdmUgJiYgK3ZhbHVlID09PSAwKSB2YWx1ZU5lZ2F0aXZlID0gZmFsc2U7CisKKyAgICAgICAg
Ly8gQ29tcHV0ZSB0aGUgcHJlZml4IGFuZCBzdWZmaXguCisgICAgICAgIHZhbHVlUHJlZml4ID0g
KHZhbHVlTmVnYXRpdmUgPyAoc2lnbiA9PT0gIigiID8gc2lnbiA6IG1pbnVzKSA6IHNpZ24gPT09
ICItIiB8fCBzaWduID09PSAiKCIgPyAiIiA6IHNpZ24pICsgdmFsdWVQcmVmaXg7CisKKyAgICAg
ICAgdmFsdWVTdWZmaXggPSAodHlwZSA9PT0gInMiID8gcHJlZml4ZXNbOCArIHByZWZpeEV4cG9u
ZW50IC8gM10gOiAiIikgKyB2YWx1ZVN1ZmZpeCArICh2YWx1ZU5lZ2F0aXZlICYmIHNpZ24gPT09
ICIoIiA/ICIpIiA6ICIiKTsKKworICAgICAgICAvLyBCcmVhayB0aGUgZm9ybWF0dGVkIHZhbHVl
IGludG8gdGhlIGludGVnZXIg4oCcdmFsdWXigJ0gcGFydCB0aGF0IGNhbiBiZQorICAgICAgICAv
LyBncm91cGVkLCBhbmQgZnJhY3Rpb25hbCBvciBleHBvbmVudGlhbCDigJxzdWZmaXjigJ0gcGFy
dCB0aGF0IGlzIG5vdC4KKyAgICAgICAgaWYgKG1heWJlU3VmZml4KSB7CisgICAgICAgICAgaSA9
IC0xLCBuID0gdmFsdWUubGVuZ3RoOworICAgICAgICAgIHdoaWxlICgrK2kgPCBuKSB7CisgICAg
ICAgICAgICBpZiAoYyA9IHZhbHVlLmNoYXJDb2RlQXQoaSksIDQ4ID4gYyB8fCBjID4gNTcpIHsK
KyAgICAgICAgICAgICAgdmFsdWVTdWZmaXggPSAoYyA9PT0gNDYgPyBkZWNpbWFsICsgdmFsdWUu
c2xpY2UoaSArIDEpIDogdmFsdWUuc2xpY2UoaSkpICsgdmFsdWVTdWZmaXg7CisgICAgICAgICAg
ICAgIHZhbHVlID0gdmFsdWUuc2xpY2UoMCwgaSk7CisgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorCisgICAgICAvLyBJ
ZiB0aGUgZmlsbCBjaGFyYWN0ZXIgaXMgbm90ICIwIiwgZ3JvdXBpbmcgaXMgYXBwbGllZCBiZWZv
cmUgcGFkZGluZy4KKyAgICAgIGlmIChjb21tYSAmJiAhemVybykgdmFsdWUgPSBncm91cCh2YWx1
ZSwgSW5maW5pdHkpOworCisgICAgICAvLyBDb21wdXRlIHRoZSBwYWRkaW5nLgorICAgICAgdmFy
IGxlbmd0aCA9IHZhbHVlUHJlZml4Lmxlbmd0aCArIHZhbHVlLmxlbmd0aCArIHZhbHVlU3VmZml4
Lmxlbmd0aCwKKyAgICAgICAgICBwYWRkaW5nID0gbGVuZ3RoIDwgd2lkdGggPyBuZXcgQXJyYXko
d2lkdGggLSBsZW5ndGggKyAxKS5qb2luKGZpbGwpIDogIiI7CisKKyAgICAgIC8vIElmIHRoZSBm
aWxsIGNoYXJhY3RlciBpcyAiMCIsIGdyb3VwaW5nIGlzIGFwcGxpZWQgYWZ0ZXIgcGFkZGluZy4K
KyAgICAgIGlmIChjb21tYSAmJiB6ZXJvKSB2YWx1ZSA9IGdyb3VwKHBhZGRpbmcgKyB2YWx1ZSwg
cGFkZGluZy5sZW5ndGggPyB3aWR0aCAtIHZhbHVlU3VmZml4Lmxlbmd0aCA6IEluZmluaXR5KSwg
cGFkZGluZyA9ICIiOworCisgICAgICAvLyBSZWNvbnN0cnVjdCB0aGUgZmluYWwgb3V0cHV0IGJh
c2VkIG9uIHRoZSBkZXNpcmVkIGFsaWdubWVudC4KKyAgICAgIHN3aXRjaCAoYWxpZ24pIHsKKyAg
ICAgICAgY2FzZSAiPCI6IHZhbHVlID0gdmFsdWVQcmVmaXggKyB2YWx1ZSArIHZhbHVlU3VmZml4
ICsgcGFkZGluZzsgYnJlYWs7CisgICAgICAgIGNhc2UgIj0iOiB2YWx1ZSA9IHZhbHVlUHJlZml4
ICsgcGFkZGluZyArIHZhbHVlICsgdmFsdWVTdWZmaXg7IGJyZWFrOworICAgICAgICBjYXNlICJe
IjogdmFsdWUgPSBwYWRkaW5nLnNsaWNlKDAsIGxlbmd0aCA9IHBhZGRpbmcubGVuZ3RoID4+IDEp
ICsgdmFsdWVQcmVmaXggKyB2YWx1ZSArIHZhbHVlU3VmZml4ICsgcGFkZGluZy5zbGljZShsZW5n
dGgpOyBicmVhazsKKyAgICAgICAgZGVmYXVsdDogdmFsdWUgPSBwYWRkaW5nICsgdmFsdWVQcmVm
aXggKyB2YWx1ZSArIHZhbHVlU3VmZml4OyBicmVhazsKKyAgICAgIH0KKworICAgICAgcmV0dXJu
IG51bWVyYWxzKHZhbHVlKTsKKyAgICB9CisKKyAgICBmb3JtYXQudG9TdHJpbmcgPSBmdW5jdGlv
bigpIHsKKyAgICAgIHJldHVybiBzcGVjaWZpZXIgKyAiIjsKKyAgICB9OworCisgICAgcmV0dXJu
IGZvcm1hdDsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFByZWZpeChzcGVjaWZpZXIsIHZhbHVl
KSB7CisgICAgdmFyIGYgPSBuZXdGb3JtYXQoKHNwZWNpZmllciA9IGZvcm1hdFNwZWNpZmllcihz
cGVjaWZpZXIpLCBzcGVjaWZpZXIudHlwZSA9ICJmIiwgc3BlY2lmaWVyKSksCisgICAgICAgIGUg
PSBNYXRoLm1heCgtOCwgTWF0aC5taW4oOCwgTWF0aC5mbG9vcihleHBvbmVudCQxKHZhbHVlKSAv
IDMpKSkgKiAzLAorICAgICAgICBrID0gTWF0aC5wb3coMTAsIC1lKSwKKyAgICAgICAgcHJlZml4
ID0gcHJlZml4ZXNbOCArIGUgLyAzXTsKKyAgICByZXR1cm4gZnVuY3Rpb24odmFsdWUpIHsKKyAg
ICAgIHJldHVybiBmKGsgKiB2YWx1ZSkgKyBwcmVmaXg7CisgICAgfTsKKyAgfQorCisgIHJldHVy
biB7CisgICAgZm9ybWF0OiBuZXdGb3JtYXQsCisgICAgZm9ybWF0UHJlZml4OiBmb3JtYXRQcmVm
aXgKKyAgfTsKK30KKwordmFyIGxvY2FsZTsKKworZGVmYXVsdExvY2FsZSh7CisgIGRlY2ltYWw6
ICIuIiwKKyAgdGhvdXNhbmRzOiAiLCIsCisgIGdyb3VwaW5nOiBbM10sCisgIGN1cnJlbmN5OiBb
IiQiLCAiIl0sCisgIG1pbnVzOiAiLSIKK30pOworCitmdW5jdGlvbiBkZWZhdWx0TG9jYWxlKGRl
ZmluaXRpb24pIHsKKyAgbG9jYWxlID0gZm9ybWF0TG9jYWxlKGRlZmluaXRpb24pOworICBleHBv
cnRzLmZvcm1hdCA9IGxvY2FsZS5mb3JtYXQ7CisgIGV4cG9ydHMuZm9ybWF0UHJlZml4ID0gbG9j
YWxlLmZvcm1hdFByZWZpeDsKKyAgcmV0dXJuIGxvY2FsZTsKK30KKworZnVuY3Rpb24gcHJlY2lz
aW9uRml4ZWQoc3RlcCkgeworICByZXR1cm4gTWF0aC5tYXgoMCwgLWV4cG9uZW50JDEoTWF0aC5h
YnMoc3RlcCkpKTsKK30KKworZnVuY3Rpb24gcHJlY2lzaW9uUHJlZml4KHN0ZXAsIHZhbHVlKSB7
CisgIHJldHVybiBNYXRoLm1heCgwLCBNYXRoLm1heCgtOCwgTWF0aC5taW4oOCwgTWF0aC5mbG9v
cihleHBvbmVudCQxKHZhbHVlKSAvIDMpKSkgKiAzIC0gZXhwb25lbnQkMShNYXRoLmFicyhzdGVw
KSkpOworfQorCitmdW5jdGlvbiBwcmVjaXNpb25Sb3VuZChzdGVwLCBtYXgpIHsKKyAgc3RlcCA9
IE1hdGguYWJzKHN0ZXApLCBtYXggPSBNYXRoLmFicyhtYXgpIC0gc3RlcDsKKyAgcmV0dXJuIE1h
dGgubWF4KDAsIGV4cG9uZW50JDEobWF4KSAtIGV4cG9uZW50JDEoc3RlcCkpICsgMTsKK30KKwor
Ly8gQWRkcyBmbG9hdGluZyBwb2ludCBudW1iZXJzIHdpdGggdHdpY2UgdGhlIG5vcm1hbCBwcmVj
aXNpb24uCisvLyBSZWZlcmVuY2U6IEouIFIuIFNoZXdjaHVrLCBBZGFwdGl2ZSBQcmVjaXNpb24g
RmxvYXRpbmctUG9pbnQgQXJpdGhtZXRpYyBhbmQKKy8vIEZhc3QgUm9idXN0IEdlb21ldHJpYyBQ
cmVkaWNhdGVzLCBEaXNjcmV0ZSAmIENvbXB1dGF0aW9uYWwgR2VvbWV0cnkgMTgoMykKKy8vIDMw
NeKAkzM2MyAoMTk5NykuCisvLyBDb2RlIGFkYXB0ZWQgZnJvbSBHZW9ncmFwaGljTGliIGJ5IENo
YXJsZXMgRi4gRi4gS2FybmV5LAorLy8gaHR0cDovL2dlb2dyYXBoaWNsaWIuc291cmNlZm9yZ2Uu
bmV0LworCitmdW5jdGlvbiBhZGRlcigpIHsKKyAgcmV0dXJuIG5ldyBBZGRlcjsKK30KKworZnVu
Y3Rpb24gQWRkZXIoKSB7CisgIHRoaXMucmVzZXQoKTsKK30KKworQWRkZXIucHJvdG90eXBlID0g
eworICBjb25zdHJ1Y3RvcjogQWRkZXIsCisgIHJlc2V0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlz
LnMgPSAvLyByb3VuZGVkIHZhbHVlCisgICAgdGhpcy50ID0gMDsgLy8gZXhhY3QgZXJyb3IKKyAg
fSwKKyAgYWRkOiBmdW5jdGlvbih5KSB7CisgICAgYWRkJDEodGVtcCwgeSwgdGhpcy50KTsKKyAg
ICBhZGQkMSh0aGlzLCB0ZW1wLnMsIHRoaXMucyk7CisgICAgaWYgKHRoaXMucykgdGhpcy50ICs9
IHRlbXAudDsKKyAgICBlbHNlIHRoaXMucyA9IHRlbXAudDsKKyAgfSwKKyAgdmFsdWVPZjogZnVu
Y3Rpb24oKSB7CisgICAgcmV0dXJuIHRoaXMuczsKKyAgfQorfTsKKwordmFyIHRlbXAgPSBuZXcg
QWRkZXI7CisKK2Z1bmN0aW9uIGFkZCQxKGFkZGVyLCBhLCBiKSB7CisgIHZhciB4ID0gYWRkZXIu
cyA9IGEgKyBiLAorICAgICAgYnYgPSB4IC0gYSwKKyAgICAgIGF2ID0geCAtIGJ2OworICBhZGRl
ci50ID0gKGEgLSBhdikgKyAoYiAtIGJ2KTsKK30KKwordmFyIGVwc2lsb24kMiA9IDFlLTY7Cit2
YXIgZXBzaWxvbjIkMSA9IDFlLTEyOwordmFyIHBpJDMgPSBNYXRoLlBJOwordmFyIGhhbGZQaSQy
ID0gcGkkMyAvIDI7Cit2YXIgcXVhcnRlclBpID0gcGkkMyAvIDQ7Cit2YXIgdGF1JDMgPSBwaSQz
ICogMjsKKwordmFyIGRlZ3JlZXMkMSA9IDE4MCAvIHBpJDM7Cit2YXIgcmFkaWFucyA9IHBpJDMg
LyAxODA7CisKK3ZhciBhYnMgPSBNYXRoLmFiczsKK3ZhciBhdGFuID0gTWF0aC5hdGFuOwordmFy
IGF0YW4yID0gTWF0aC5hdGFuMjsKK3ZhciBjb3MkMSA9IE1hdGguY29zOwordmFyIGNlaWwgPSBN
YXRoLmNlaWw7Cit2YXIgZXhwID0gTWF0aC5leHA7Cit2YXIgbG9nID0gTWF0aC5sb2c7Cit2YXIg
cG93ID0gTWF0aC5wb3c7Cit2YXIgc2luJDEgPSBNYXRoLnNpbjsKK3ZhciBzaWduID0gTWF0aC5z
aWduIHx8IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIHggPiAwID8gMSA6IHggPCAwID8gLTEgOiAwOyB9
OwordmFyIHNxcnQgPSBNYXRoLnNxcnQ7Cit2YXIgdGFuID0gTWF0aC50YW47CisKK2Z1bmN0aW9u
IGFjb3MoeCkgeworICByZXR1cm4geCA+IDEgPyAwIDogeCA8IC0xID8gcGkkMyA6IE1hdGguYWNv
cyh4KTsKK30KKworZnVuY3Rpb24gYXNpbih4KSB7CisgIHJldHVybiB4ID4gMSA/IGhhbGZQaSQy
IDogeCA8IC0xID8gLWhhbGZQaSQyIDogTWF0aC5hc2luKHgpOworfQorCitmdW5jdGlvbiBoYXZl
cnNpbih4KSB7CisgIHJldHVybiAoeCA9IHNpbiQxKHggLyAyKSkgKiB4OworfQorCitmdW5jdGlv
biBub29wJDIoKSB7fQorCitmdW5jdGlvbiBzdHJlYW1HZW9tZXRyeShnZW9tZXRyeSwgc3RyZWFt
KSB7CisgIGlmIChnZW9tZXRyeSAmJiBzdHJlYW1HZW9tZXRyeVR5cGUuaGFzT3duUHJvcGVydHko
Z2VvbWV0cnkudHlwZSkpIHsKKyAgICBzdHJlYW1HZW9tZXRyeVR5cGVbZ2VvbWV0cnkudHlwZV0o
Z2VvbWV0cnksIHN0cmVhbSk7CisgIH0KK30KKwordmFyIHN0cmVhbU9iamVjdFR5cGUgPSB7Cisg
IEZlYXR1cmU6IGZ1bmN0aW9uKG9iamVjdCwgc3RyZWFtKSB7CisgICAgc3RyZWFtR2VvbWV0cnko
b2JqZWN0Lmdlb21ldHJ5LCBzdHJlYW0pOworICB9LAorICBGZWF0dXJlQ29sbGVjdGlvbjogZnVu
Y3Rpb24ob2JqZWN0LCBzdHJlYW0pIHsKKyAgICB2YXIgZmVhdHVyZXMgPSBvYmplY3QuZmVhdHVy
ZXMsIGkgPSAtMSwgbiA9IGZlYXR1cmVzLmxlbmd0aDsKKyAgICB3aGlsZSAoKytpIDwgbikgc3Ry
ZWFtR2VvbWV0cnkoZmVhdHVyZXNbaV0uZ2VvbWV0cnksIHN0cmVhbSk7CisgIH0KK307CisKK3Zh
ciBzdHJlYW1HZW9tZXRyeVR5cGUgPSB7CisgIFNwaGVyZTogZnVuY3Rpb24ob2JqZWN0LCBzdHJl
YW0pIHsKKyAgICBzdHJlYW0uc3BoZXJlKCk7CisgIH0sCisgIFBvaW50OiBmdW5jdGlvbihvYmpl
Y3QsIHN0cmVhbSkgeworICAgIG9iamVjdCA9IG9iamVjdC5jb29yZGluYXRlczsKKyAgICBzdHJl
YW0ucG9pbnQob2JqZWN0WzBdLCBvYmplY3RbMV0sIG9iamVjdFsyXSk7CisgIH0sCisgIE11bHRp
UG9pbnQ6IGZ1bmN0aW9uKG9iamVjdCwgc3RyZWFtKSB7CisgICAgdmFyIGNvb3JkaW5hdGVzID0g
b2JqZWN0LmNvb3JkaW5hdGVzLCBpID0gLTEsIG4gPSBjb29yZGluYXRlcy5sZW5ndGg7CisgICAg
d2hpbGUgKCsraSA8IG4pIG9iamVjdCA9IGNvb3JkaW5hdGVzW2ldLCBzdHJlYW0ucG9pbnQob2Jq
ZWN0WzBdLCBvYmplY3RbMV0sIG9iamVjdFsyXSk7CisgIH0sCisgIExpbmVTdHJpbmc6IGZ1bmN0
aW9uKG9iamVjdCwgc3RyZWFtKSB7CisgICAgc3RyZWFtTGluZShvYmplY3QuY29vcmRpbmF0ZXMs
IHN0cmVhbSwgMCk7CisgIH0sCisgIE11bHRpTGluZVN0cmluZzogZnVuY3Rpb24ob2JqZWN0LCBz
dHJlYW0pIHsKKyAgICB2YXIgY29vcmRpbmF0ZXMgPSBvYmplY3QuY29vcmRpbmF0ZXMsIGkgPSAt
MSwgbiA9IGNvb3JkaW5hdGVzLmxlbmd0aDsKKyAgICB3aGlsZSAoKytpIDwgbikgc3RyZWFtTGlu
ZShjb29yZGluYXRlc1tpXSwgc3RyZWFtLCAwKTsKKyAgfSwKKyAgUG9seWdvbjogZnVuY3Rpb24o
b2JqZWN0LCBzdHJlYW0pIHsKKyAgICBzdHJlYW1Qb2x5Z29uKG9iamVjdC5jb29yZGluYXRlcywg
c3RyZWFtKTsKKyAgfSwKKyAgTXVsdGlQb2x5Z29uOiBmdW5jdGlvbihvYmplY3QsIHN0cmVhbSkg
eworICAgIHZhciBjb29yZGluYXRlcyA9IG9iamVjdC5jb29yZGluYXRlcywgaSA9IC0xLCBuID0g
Y29vcmRpbmF0ZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBzdHJlYW1Qb2x5Z29uKGNv
b3JkaW5hdGVzW2ldLCBzdHJlYW0pOworICB9LAorICBHZW9tZXRyeUNvbGxlY3Rpb246IGZ1bmN0
aW9uKG9iamVjdCwgc3RyZWFtKSB7CisgICAgdmFyIGdlb21ldHJpZXMgPSBvYmplY3QuZ2VvbWV0
cmllcywgaSA9IC0xLCBuID0gZ2VvbWV0cmllcy5sZW5ndGg7CisgICAgd2hpbGUgKCsraSA8IG4p
IHN0cmVhbUdlb21ldHJ5KGdlb21ldHJpZXNbaV0sIHN0cmVhbSk7CisgIH0KK307CisKK2Z1bmN0
aW9uIHN0cmVhbUxpbmUoY29vcmRpbmF0ZXMsIHN0cmVhbSwgY2xvc2VkKSB7CisgIHZhciBpID0g
LTEsIG4gPSBjb29yZGluYXRlcy5sZW5ndGggLSBjbG9zZWQsIGNvb3JkaW5hdGU7CisgIHN0cmVh
bS5saW5lU3RhcnQoKTsKKyAgd2hpbGUgKCsraSA8IG4pIGNvb3JkaW5hdGUgPSBjb29yZGluYXRl
c1tpXSwgc3RyZWFtLnBvaW50KGNvb3JkaW5hdGVbMF0sIGNvb3JkaW5hdGVbMV0sIGNvb3JkaW5h
dGVbMl0pOworICBzdHJlYW0ubGluZUVuZCgpOworfQorCitmdW5jdGlvbiBzdHJlYW1Qb2x5Z29u
KGNvb3JkaW5hdGVzLCBzdHJlYW0pIHsKKyAgdmFyIGkgPSAtMSwgbiA9IGNvb3JkaW5hdGVzLmxl
bmd0aDsKKyAgc3RyZWFtLnBvbHlnb25TdGFydCgpOworICB3aGlsZSAoKytpIDwgbikgc3RyZWFt
TGluZShjb29yZGluYXRlc1tpXSwgc3RyZWFtLCAxKTsKKyAgc3RyZWFtLnBvbHlnb25FbmQoKTsK
K30KKworZnVuY3Rpb24gZ2VvU3RyZWFtKG9iamVjdCwgc3RyZWFtKSB7CisgIGlmIChvYmplY3Qg
JiYgc3RyZWFtT2JqZWN0VHlwZS5oYXNPd25Qcm9wZXJ0eShvYmplY3QudHlwZSkpIHsKKyAgICBz
dHJlYW1PYmplY3RUeXBlW29iamVjdC50eXBlXShvYmplY3QsIHN0cmVhbSk7CisgIH0gZWxzZSB7
CisgICAgc3RyZWFtR2VvbWV0cnkob2JqZWN0LCBzdHJlYW0pOworICB9Cit9CisKK3ZhciBhcmVh
UmluZ1N1bSA9IGFkZGVyKCk7CisKK3ZhciBhcmVhU3VtID0gYWRkZXIoKSwKKyAgICBsYW1iZGEw
MCwKKyAgICBwaGkwMCwKKyAgICBsYW1iZGEwLAorICAgIGNvc1BoaTAsCisgICAgc2luUGhpMDsK
KwordmFyIGFyZWFTdHJlYW0gPSB7CisgIHBvaW50OiBub29wJDIsCisgIGxpbmVTdGFydDogbm9v
cCQyLAorICBsaW5lRW5kOiBub29wJDIsCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7Cisg
ICAgYXJlYVJpbmdTdW0ucmVzZXQoKTsKKyAgICBhcmVhU3RyZWFtLmxpbmVTdGFydCA9IGFyZWFS
aW5nU3RhcnQ7CisgICAgYXJlYVN0cmVhbS5saW5lRW5kID0gYXJlYVJpbmdFbmQ7CisgIH0sCisg
IHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIHZhciBhcmVhUmluZyA9ICthcmVhUmluZ1N1
bTsKKyAgICBhcmVhU3VtLmFkZChhcmVhUmluZyA8IDAgPyB0YXUkMyArIGFyZWFSaW5nIDogYXJl
YVJpbmcpOworICAgIHRoaXMubGluZVN0YXJ0ID0gdGhpcy5saW5lRW5kID0gdGhpcy5wb2ludCA9
IG5vb3AkMjsKKyAgfSwKKyAgc3BoZXJlOiBmdW5jdGlvbigpIHsKKyAgICBhcmVhU3VtLmFkZCh0
YXUkMyk7CisgIH0KK307CisKK2Z1bmN0aW9uIGFyZWFSaW5nU3RhcnQoKSB7CisgIGFyZWFTdHJl
YW0ucG9pbnQgPSBhcmVhUG9pbnRGaXJzdDsKK30KKworZnVuY3Rpb24gYXJlYVJpbmdFbmQoKSB7
CisgIGFyZWFQb2ludChsYW1iZGEwMCwgcGhpMDApOworfQorCitmdW5jdGlvbiBhcmVhUG9pbnRG
aXJzdChsYW1iZGEsIHBoaSkgeworICBhcmVhU3RyZWFtLnBvaW50ID0gYXJlYVBvaW50OworICBs
YW1iZGEwMCA9IGxhbWJkYSwgcGhpMDAgPSBwaGk7CisgIGxhbWJkYSAqPSByYWRpYW5zLCBwaGkg
Kj0gcmFkaWFuczsKKyAgbGFtYmRhMCA9IGxhbWJkYSwgY29zUGhpMCA9IGNvcyQxKHBoaSA9IHBo
aSAvIDIgKyBxdWFydGVyUGkpLCBzaW5QaGkwID0gc2luJDEocGhpKTsKK30KKworZnVuY3Rpb24g
YXJlYVBvaW50KGxhbWJkYSwgcGhpKSB7CisgIGxhbWJkYSAqPSByYWRpYW5zLCBwaGkgKj0gcmFk
aWFuczsKKyAgcGhpID0gcGhpIC8gMiArIHF1YXJ0ZXJQaTsgLy8gaGFsZiB0aGUgYW5ndWxhciBk
aXN0YW5jZSBmcm9tIHNvdXRoIHBvbGUKKworICAvLyBTcGhlcmljYWwgZXhjZXNzIEUgZm9yIGEg
c3BoZXJpY2FsIHRyaWFuZ2xlIHdpdGggdmVydGljZXM6IHNvdXRoIHBvbGUsCisgIC8vIHByZXZp
b3VzIHBvaW50LCBjdXJyZW50IHBvaW50LiAgVXNlcyBhIGZvcm11bGEgZGVyaXZlZCBmcm9tIENh
Z25vbGnigJlzCisgIC8vIHRoZW9yZW0uICBTZWUgVG9kaHVudGVyLCBTcGhlcmljYWwgVHJpZy4g
KDE4NzEpLCBTZWMuIDEwMywgRXEuICgyKS4KKyAgdmFyIGRMYW1iZGEgPSBsYW1iZGEgLSBsYW1i
ZGEwLAorICAgICAgc2RMYW1iZGEgPSBkTGFtYmRhID49IDAgPyAxIDogLTEsCisgICAgICBhZExh
bWJkYSA9IHNkTGFtYmRhICogZExhbWJkYSwKKyAgICAgIGNvc1BoaSA9IGNvcyQxKHBoaSksCisg
ICAgICBzaW5QaGkgPSBzaW4kMShwaGkpLAorICAgICAgayA9IHNpblBoaTAgKiBzaW5QaGksCisg
ICAgICB1ID0gY29zUGhpMCAqIGNvc1BoaSArIGsgKiBjb3MkMShhZExhbWJkYSksCisgICAgICB2
ID0gayAqIHNkTGFtYmRhICogc2luJDEoYWRMYW1iZGEpOworICBhcmVhUmluZ1N1bS5hZGQoYXRh
bjIodiwgdSkpOworCisgIC8vIEFkdmFuY2UgdGhlIHByZXZpb3VzIHBvaW50cy4KKyAgbGFtYmRh
MCA9IGxhbWJkYSwgY29zUGhpMCA9IGNvc1BoaSwgc2luUGhpMCA9IHNpblBoaTsKK30KKworZnVu
Y3Rpb24gYXJlYSQxKG9iamVjdCkgeworICBhcmVhU3VtLnJlc2V0KCk7CisgIGdlb1N0cmVhbShv
YmplY3QsIGFyZWFTdHJlYW0pOworICByZXR1cm4gYXJlYVN1bSAqIDI7Cit9CisKK2Z1bmN0aW9u
IHNwaGVyaWNhbChjYXJ0ZXNpYW4pIHsKKyAgcmV0dXJuIFthdGFuMihjYXJ0ZXNpYW5bMV0sIGNh
cnRlc2lhblswXSksIGFzaW4oY2FydGVzaWFuWzJdKV07Cit9CisKK2Z1bmN0aW9uIGNhcnRlc2lh
bihzcGhlcmljYWwpIHsKKyAgdmFyIGxhbWJkYSA9IHNwaGVyaWNhbFswXSwgcGhpID0gc3BoZXJp
Y2FsWzFdLCBjb3NQaGkgPSBjb3MkMShwaGkpOworICByZXR1cm4gW2Nvc1BoaSAqIGNvcyQxKGxh
bWJkYSksIGNvc1BoaSAqIHNpbiQxKGxhbWJkYSksIHNpbiQxKHBoaSldOworfQorCitmdW5jdGlv
biBjYXJ0ZXNpYW5Eb3QoYSwgYikgeworICByZXR1cm4gYVswXSAqIGJbMF0gKyBhWzFdICogYlsx
XSArIGFbMl0gKiBiWzJdOworfQorCitmdW5jdGlvbiBjYXJ0ZXNpYW5Dcm9zcyhhLCBiKSB7Cisg
IHJldHVybiBbYVsxXSAqIGJbMl0gLSBhWzJdICogYlsxXSwgYVsyXSAqIGJbMF0gLSBhWzBdICog
YlsyXSwgYVswXSAqIGJbMV0gLSBhWzFdICogYlswXV07Cit9CisKKy8vIFRPRE8gcmV0dXJuIGEK
K2Z1bmN0aW9uIGNhcnRlc2lhbkFkZEluUGxhY2UoYSwgYikgeworICBhWzBdICs9IGJbMF0sIGFb
MV0gKz0gYlsxXSwgYVsyXSArPSBiWzJdOworfQorCitmdW5jdGlvbiBjYXJ0ZXNpYW5TY2FsZSh2
ZWN0b3IsIGspIHsKKyAgcmV0dXJuIFt2ZWN0b3JbMF0gKiBrLCB2ZWN0b3JbMV0gKiBrLCB2ZWN0
b3JbMl0gKiBrXTsKK30KKworLy8gVE9ETyByZXR1cm4gZAorZnVuY3Rpb24gY2FydGVzaWFuTm9y
bWFsaXplSW5QbGFjZShkKSB7CisgIHZhciBsID0gc3FydChkWzBdICogZFswXSArIGRbMV0gKiBk
WzFdICsgZFsyXSAqIGRbMl0pOworICBkWzBdIC89IGwsIGRbMV0gLz0gbCwgZFsyXSAvPSBsOwor
fQorCit2YXIgbGFtYmRhMCQxLCBwaGkwLCBsYW1iZGExLCBwaGkxLCAvLyBib3VuZHMKKyAgICBs
YW1iZGEyLCAvLyBwcmV2aW91cyBsYW1iZGEtY29vcmRpbmF0ZQorICAgIGxhbWJkYTAwJDEsIHBo
aTAwJDEsIC8vIGZpcnN0IHBvaW50CisgICAgcDAsIC8vIHByZXZpb3VzIDNEIHBvaW50CisgICAg
ZGVsdGFTdW0gPSBhZGRlcigpLAorICAgIHJhbmdlcywKKyAgICByYW5nZTsKKwordmFyIGJvdW5k
c1N0cmVhbSA9IHsKKyAgcG9pbnQ6IGJvdW5kc1BvaW50LAorICBsaW5lU3RhcnQ6IGJvdW5kc0xp
bmVTdGFydCwKKyAgbGluZUVuZDogYm91bmRzTGluZUVuZCwKKyAgcG9seWdvblN0YXJ0OiBmdW5j
dGlvbigpIHsKKyAgICBib3VuZHNTdHJlYW0ucG9pbnQgPSBib3VuZHNSaW5nUG9pbnQ7CisgICAg
Ym91bmRzU3RyZWFtLmxpbmVTdGFydCA9IGJvdW5kc1JpbmdTdGFydDsKKyAgICBib3VuZHNTdHJl
YW0ubGluZUVuZCA9IGJvdW5kc1JpbmdFbmQ7CisgICAgZGVsdGFTdW0ucmVzZXQoKTsKKyAgICBh
cmVhU3RyZWFtLnBvbHlnb25TdGFydCgpOworICB9LAorICBwb2x5Z29uRW5kOiBmdW5jdGlvbigp
IHsKKyAgICBhcmVhU3RyZWFtLnBvbHlnb25FbmQoKTsKKyAgICBib3VuZHNTdHJlYW0ucG9pbnQg
PSBib3VuZHNQb2ludDsKKyAgICBib3VuZHNTdHJlYW0ubGluZVN0YXJ0ID0gYm91bmRzTGluZVN0
YXJ0OworICAgIGJvdW5kc1N0cmVhbS5saW5lRW5kID0gYm91bmRzTGluZUVuZDsKKyAgICBpZiAo
YXJlYVJpbmdTdW0gPCAwKSBsYW1iZGEwJDEgPSAtKGxhbWJkYTEgPSAxODApLCBwaGkwID0gLShw
aGkxID0gOTApOworICAgIGVsc2UgaWYgKGRlbHRhU3VtID4gZXBzaWxvbiQyKSBwaGkxID0gOTA7
CisgICAgZWxzZSBpZiAoZGVsdGFTdW0gPCAtZXBzaWxvbiQyKSBwaGkwID0gLTkwOworICAgIHJh
bmdlWzBdID0gbGFtYmRhMCQxLCByYW5nZVsxXSA9IGxhbWJkYTE7CisgIH0sCisgIHNwaGVyZTog
ZnVuY3Rpb24oKSB7CisgICAgbGFtYmRhMCQxID0gLShsYW1iZGExID0gMTgwKSwgcGhpMCA9IC0o
cGhpMSA9IDkwKTsKKyAgfQorfTsKKworZnVuY3Rpb24gYm91bmRzUG9pbnQobGFtYmRhLCBwaGkp
IHsKKyAgcmFuZ2VzLnB1c2gocmFuZ2UgPSBbbGFtYmRhMCQxID0gbGFtYmRhLCBsYW1iZGExID0g
bGFtYmRhXSk7CisgIGlmIChwaGkgPCBwaGkwKSBwaGkwID0gcGhpOworICBpZiAocGhpID4gcGhp
MSkgcGhpMSA9IHBoaTsKK30KKworZnVuY3Rpb24gbGluZVBvaW50KGxhbWJkYSwgcGhpKSB7Cisg
IHZhciBwID0gY2FydGVzaWFuKFtsYW1iZGEgKiByYWRpYW5zLCBwaGkgKiByYWRpYW5zXSk7Cisg
IGlmIChwMCkgeworICAgIHZhciBub3JtYWwgPSBjYXJ0ZXNpYW5Dcm9zcyhwMCwgcCksCisgICAg
ICAgIGVxdWF0b3JpYWwgPSBbbm9ybWFsWzFdLCAtbm9ybWFsWzBdLCAwXSwKKyAgICAgICAgaW5m
bGVjdGlvbiA9IGNhcnRlc2lhbkNyb3NzKGVxdWF0b3JpYWwsIG5vcm1hbCk7CisgICAgY2FydGVz
aWFuTm9ybWFsaXplSW5QbGFjZShpbmZsZWN0aW9uKTsKKyAgICBpbmZsZWN0aW9uID0gc3BoZXJp
Y2FsKGluZmxlY3Rpb24pOworICAgIHZhciBkZWx0YSA9IGxhbWJkYSAtIGxhbWJkYTIsCisgICAg
ICAgIHNpZ24gPSBkZWx0YSA+IDAgPyAxIDogLTEsCisgICAgICAgIGxhbWJkYWkgPSBpbmZsZWN0
aW9uWzBdICogZGVncmVlcyQxICogc2lnbiwKKyAgICAgICAgcGhpaSwKKyAgICAgICAgYW50aW1l
cmlkaWFuID0gYWJzKGRlbHRhKSA+IDE4MDsKKyAgICBpZiAoYW50aW1lcmlkaWFuIF4gKHNpZ24g
KiBsYW1iZGEyIDwgbGFtYmRhaSAmJiBsYW1iZGFpIDwgc2lnbiAqIGxhbWJkYSkpIHsKKyAgICAg
IHBoaWkgPSBpbmZsZWN0aW9uWzFdICogZGVncmVlcyQxOworICAgICAgaWYgKHBoaWkgPiBwaGkx
KSBwaGkxID0gcGhpaTsKKyAgICB9IGVsc2UgaWYgKGxhbWJkYWkgPSAobGFtYmRhaSArIDM2MCkg
JSAzNjAgLSAxODAsIGFudGltZXJpZGlhbiBeIChzaWduICogbGFtYmRhMiA8IGxhbWJkYWkgJiYg
bGFtYmRhaSA8IHNpZ24gKiBsYW1iZGEpKSB7CisgICAgICBwaGlpID0gLWluZmxlY3Rpb25bMV0g
KiBkZWdyZWVzJDE7CisgICAgICBpZiAocGhpaSA8IHBoaTApIHBoaTAgPSBwaGlpOworICAgIH0g
ZWxzZSB7CisgICAgICBpZiAocGhpIDwgcGhpMCkgcGhpMCA9IHBoaTsKKyAgICAgIGlmIChwaGkg
PiBwaGkxKSBwaGkxID0gcGhpOworICAgIH0KKyAgICBpZiAoYW50aW1lcmlkaWFuKSB7CisgICAg
ICBpZiAobGFtYmRhIDwgbGFtYmRhMikgeworICAgICAgICBpZiAoYW5nbGUobGFtYmRhMCQxLCBs
YW1iZGEpID4gYW5nbGUobGFtYmRhMCQxLCBsYW1iZGExKSkgbGFtYmRhMSA9IGxhbWJkYTsKKyAg
ICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChhbmdsZShsYW1iZGEsIGxhbWJkYTEpID4gYW5nbGUo
bGFtYmRhMCQxLCBsYW1iZGExKSkgbGFtYmRhMCQxID0gbGFtYmRhOworICAgICAgfQorICAgIH0g
ZWxzZSB7CisgICAgICBpZiAobGFtYmRhMSA+PSBsYW1iZGEwJDEpIHsKKyAgICAgICAgaWYgKGxh
bWJkYSA8IGxhbWJkYTAkMSkgbGFtYmRhMCQxID0gbGFtYmRhOworICAgICAgICBpZiAobGFtYmRh
ID4gbGFtYmRhMSkgbGFtYmRhMSA9IGxhbWJkYTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGlm
IChsYW1iZGEgPiBsYW1iZGEyKSB7CisgICAgICAgICAgaWYgKGFuZ2xlKGxhbWJkYTAkMSwgbGFt
YmRhKSA+IGFuZ2xlKGxhbWJkYTAkMSwgbGFtYmRhMSkpIGxhbWJkYTEgPSBsYW1iZGE7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgaWYgKGFuZ2xlKGxhbWJkYSwgbGFtYmRhMSkgPiBhbmds
ZShsYW1iZGEwJDEsIGxhbWJkYTEpKSBsYW1iZGEwJDEgPSBsYW1iZGE7CisgICAgICAgIH0KKyAg
ICAgIH0KKyAgICB9CisgIH0gZWxzZSB7CisgICAgcmFuZ2VzLnB1c2gocmFuZ2UgPSBbbGFtYmRh
MCQxID0gbGFtYmRhLCBsYW1iZGExID0gbGFtYmRhXSk7CisgIH0KKyAgaWYgKHBoaSA8IHBoaTAp
IHBoaTAgPSBwaGk7CisgIGlmIChwaGkgPiBwaGkxKSBwaGkxID0gcGhpOworICBwMCA9IHAsIGxh
bWJkYTIgPSBsYW1iZGE7Cit9CisKK2Z1bmN0aW9uIGJvdW5kc0xpbmVTdGFydCgpIHsKKyAgYm91
bmRzU3RyZWFtLnBvaW50ID0gbGluZVBvaW50OworfQorCitmdW5jdGlvbiBib3VuZHNMaW5lRW5k
KCkgeworICByYW5nZVswXSA9IGxhbWJkYTAkMSwgcmFuZ2VbMV0gPSBsYW1iZGExOworICBib3Vu
ZHNTdHJlYW0ucG9pbnQgPSBib3VuZHNQb2ludDsKKyAgcDAgPSBudWxsOworfQorCitmdW5jdGlv
biBib3VuZHNSaW5nUG9pbnQobGFtYmRhLCBwaGkpIHsKKyAgaWYgKHAwKSB7CisgICAgdmFyIGRl
bHRhID0gbGFtYmRhIC0gbGFtYmRhMjsKKyAgICBkZWx0YVN1bS5hZGQoYWJzKGRlbHRhKSA+IDE4
MCA/IGRlbHRhICsgKGRlbHRhID4gMCA/IDM2MCA6IC0zNjApIDogZGVsdGEpOworICB9IGVsc2Ug
eworICAgIGxhbWJkYTAwJDEgPSBsYW1iZGEsIHBoaTAwJDEgPSBwaGk7CisgIH0KKyAgYXJlYVN0
cmVhbS5wb2ludChsYW1iZGEsIHBoaSk7CisgIGxpbmVQb2ludChsYW1iZGEsIHBoaSk7Cit9CisK
K2Z1bmN0aW9uIGJvdW5kc1JpbmdTdGFydCgpIHsKKyAgYXJlYVN0cmVhbS5saW5lU3RhcnQoKTsK
K30KKworZnVuY3Rpb24gYm91bmRzUmluZ0VuZCgpIHsKKyAgYm91bmRzUmluZ1BvaW50KGxhbWJk
YTAwJDEsIHBoaTAwJDEpOworICBhcmVhU3RyZWFtLmxpbmVFbmQoKTsKKyAgaWYgKGFicyhkZWx0
YVN1bSkgPiBlcHNpbG9uJDIpIGxhbWJkYTAkMSA9IC0obGFtYmRhMSA9IDE4MCk7CisgIHJhbmdl
WzBdID0gbGFtYmRhMCQxLCByYW5nZVsxXSA9IGxhbWJkYTE7CisgIHAwID0gbnVsbDsKK30KKwor
Ly8gRmluZHMgdGhlIGxlZnQtcmlnaHQgZGlzdGFuY2UgYmV0d2VlbiB0d28gbG9uZ2l0dWRlcy4K
Ky8vIFRoaXMgaXMgYWxtb3N0IHRoZSBzYW1lIGFzIChsYW1iZGExIC0gbGFtYmRhMCArIDM2MMKw
KSAlIDM2MMKwLCBleGNlcHQgdGhhdCB3ZSB3YW50CisvLyB0aGUgZGlzdGFuY2UgYmV0d2VlbiDC
sTE4MMKwIHRvIGJlIDM2MMKwLgorZnVuY3Rpb24gYW5nbGUobGFtYmRhMCwgbGFtYmRhMSkgewor
ICByZXR1cm4gKGxhbWJkYTEgLT0gbGFtYmRhMCkgPCAwID8gbGFtYmRhMSArIDM2MCA6IGxhbWJk
YTE7Cit9CisKK2Z1bmN0aW9uIHJhbmdlQ29tcGFyZShhLCBiKSB7CisgIHJldHVybiBhWzBdIC0g
YlswXTsKK30KKworZnVuY3Rpb24gcmFuZ2VDb250YWlucyhyYW5nZSwgeCkgeworICByZXR1cm4g
cmFuZ2VbMF0gPD0gcmFuZ2VbMV0gPyByYW5nZVswXSA8PSB4ICYmIHggPD0gcmFuZ2VbMV0gOiB4
IDwgcmFuZ2VbMF0gfHwgcmFuZ2VbMV0gPCB4OworfQorCitmdW5jdGlvbiBib3VuZHMoZmVhdHVy
ZSkgeworICB2YXIgaSwgbiwgYSwgYiwgbWVyZ2VkLCBkZWx0YU1heCwgZGVsdGE7CisKKyAgcGhp
MSA9IGxhbWJkYTEgPSAtKGxhbWJkYTAkMSA9IHBoaTAgPSBJbmZpbml0eSk7CisgIHJhbmdlcyA9
IFtdOworICBnZW9TdHJlYW0oZmVhdHVyZSwgYm91bmRzU3RyZWFtKTsKKworICAvLyBGaXJzdCwg
c29ydCByYW5nZXMgYnkgdGhlaXIgbWluaW11bSBsb25naXR1ZGVzLgorICBpZiAobiA9IHJhbmdl
cy5sZW5ndGgpIHsKKyAgICByYW5nZXMuc29ydChyYW5nZUNvbXBhcmUpOworCisgICAgLy8gVGhl
biwgbWVyZ2UgYW55IHJhbmdlcyB0aGF0IG92ZXJsYXAuCisgICAgZm9yIChpID0gMSwgYSA9IHJh
bmdlc1swXSwgbWVyZ2VkID0gW2FdOyBpIDwgbjsgKytpKSB7CisgICAgICBiID0gcmFuZ2VzW2ld
OworICAgICAgaWYgKHJhbmdlQ29udGFpbnMoYSwgYlswXSkgfHwgcmFuZ2VDb250YWlucyhhLCBi
WzFdKSkgeworICAgICAgICBpZiAoYW5nbGUoYVswXSwgYlsxXSkgPiBhbmdsZShhWzBdLCBhWzFd
KSkgYVsxXSA9IGJbMV07CisgICAgICAgIGlmIChhbmdsZShiWzBdLCBhWzFdKSA+IGFuZ2xlKGFb
MF0sIGFbMV0pKSBhWzBdID0gYlswXTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIG1lcmdlZC5w
dXNoKGEgPSBiKTsKKyAgICAgIH0KKyAgICB9CisKKyAgICAvLyBGaW5hbGx5LCBmaW5kIHRoZSBs
YXJnZXN0IGdhcCBiZXR3ZWVuIHRoZSBtZXJnZWQgcmFuZ2VzLgorICAgIC8vIFRoZSBmaW5hbCBi
b3VuZGluZyBib3ggd2lsbCBiZSB0aGUgaW52ZXJzZSBvZiB0aGlzIGdhcC4KKyAgICBmb3IgKGRl
bHRhTWF4ID0gLUluZmluaXR5LCBuID0gbWVyZ2VkLmxlbmd0aCAtIDEsIGkgPSAwLCBhID0gbWVy
Z2VkW25dOyBpIDw9IG47IGEgPSBiLCArK2kpIHsKKyAgICAgIGIgPSBtZXJnZWRbaV07CisgICAg
ICBpZiAoKGRlbHRhID0gYW5nbGUoYVsxXSwgYlswXSkpID4gZGVsdGFNYXgpIGRlbHRhTWF4ID0g
ZGVsdGEsIGxhbWJkYTAkMSA9IGJbMF0sIGxhbWJkYTEgPSBhWzFdOworICAgIH0KKyAgfQorCisg
IHJhbmdlcyA9IHJhbmdlID0gbnVsbDsKKworICByZXR1cm4gbGFtYmRhMCQxID09PSBJbmZpbml0
eSB8fCBwaGkwID09PSBJbmZpbml0eQorICAgICAgPyBbW05hTiwgTmFOXSwgW05hTiwgTmFOXV0K
KyAgICAgIDogW1tsYW1iZGEwJDEsIHBoaTBdLCBbbGFtYmRhMSwgcGhpMV1dOworfQorCit2YXIg
VzAsIFcxLAorICAgIFgwLCBZMCwgWjAsCisgICAgWDEsIFkxLCBaMSwKKyAgICBYMiwgWTIsIFoy
LAorICAgIGxhbWJkYTAwJDIsIHBoaTAwJDIsIC8vIGZpcnN0IHBvaW50CisgICAgeDAsIHkwLCB6
MDsgLy8gcHJldmlvdXMgcG9pbnQKKwordmFyIGNlbnRyb2lkU3RyZWFtID0geworICBzcGhlcmU6
IG5vb3AkMiwKKyAgcG9pbnQ6IGNlbnRyb2lkUG9pbnQsCisgIGxpbmVTdGFydDogY2VudHJvaWRM
aW5lU3RhcnQsCisgIGxpbmVFbmQ6IGNlbnRyb2lkTGluZUVuZCwKKyAgcG9seWdvblN0YXJ0OiBm
dW5jdGlvbigpIHsKKyAgICBjZW50cm9pZFN0cmVhbS5saW5lU3RhcnQgPSBjZW50cm9pZFJpbmdT
dGFydDsKKyAgICBjZW50cm9pZFN0cmVhbS5saW5lRW5kID0gY2VudHJvaWRSaW5nRW5kOworICB9
LAorICBwb2x5Z29uRW5kOiBmdW5jdGlvbigpIHsKKyAgICBjZW50cm9pZFN0cmVhbS5saW5lU3Rh
cnQgPSBjZW50cm9pZExpbmVTdGFydDsKKyAgICBjZW50cm9pZFN0cmVhbS5saW5lRW5kID0gY2Vu
dHJvaWRMaW5lRW5kOworICB9Cit9OworCisvLyBBcml0aG1ldGljIG1lYW4gb2YgQ2FydGVzaWFu
IHZlY3RvcnMuCitmdW5jdGlvbiBjZW50cm9pZFBvaW50KGxhbWJkYSwgcGhpKSB7CisgIGxhbWJk
YSAqPSByYWRpYW5zLCBwaGkgKj0gcmFkaWFuczsKKyAgdmFyIGNvc1BoaSA9IGNvcyQxKHBoaSk7
CisgIGNlbnRyb2lkUG9pbnRDYXJ0ZXNpYW4oY29zUGhpICogY29zJDEobGFtYmRhKSwgY29zUGhp
ICogc2luJDEobGFtYmRhKSwgc2luJDEocGhpKSk7Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkUG9p
bnRDYXJ0ZXNpYW4oeCwgeSwgeikgeworICArK1cwOworICBYMCArPSAoeCAtIFgwKSAvIFcwOwor
ICBZMCArPSAoeSAtIFkwKSAvIFcwOworICBaMCArPSAoeiAtIFowKSAvIFcwOworfQorCitmdW5j
dGlvbiBjZW50cm9pZExpbmVTdGFydCgpIHsKKyAgY2VudHJvaWRTdHJlYW0ucG9pbnQgPSBjZW50
cm9pZExpbmVQb2ludEZpcnN0OworfQorCitmdW5jdGlvbiBjZW50cm9pZExpbmVQb2ludEZpcnN0
KGxhbWJkYSwgcGhpKSB7CisgIGxhbWJkYSAqPSByYWRpYW5zLCBwaGkgKj0gcmFkaWFuczsKKyAg
dmFyIGNvc1BoaSA9IGNvcyQxKHBoaSk7CisgIHgwID0gY29zUGhpICogY29zJDEobGFtYmRhKTsK
KyAgeTAgPSBjb3NQaGkgKiBzaW4kMShsYW1iZGEpOworICB6MCA9IHNpbiQxKHBoaSk7CisgIGNl
bnRyb2lkU3RyZWFtLnBvaW50ID0gY2VudHJvaWRMaW5lUG9pbnQ7CisgIGNlbnRyb2lkUG9pbnRD
YXJ0ZXNpYW4oeDAsIHkwLCB6MCk7Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkTGluZVBvaW50KGxh
bWJkYSwgcGhpKSB7CisgIGxhbWJkYSAqPSByYWRpYW5zLCBwaGkgKj0gcmFkaWFuczsKKyAgdmFy
IGNvc1BoaSA9IGNvcyQxKHBoaSksCisgICAgICB4ID0gY29zUGhpICogY29zJDEobGFtYmRhKSwK
KyAgICAgIHkgPSBjb3NQaGkgKiBzaW4kMShsYW1iZGEpLAorICAgICAgeiA9IHNpbiQxKHBoaSks
CisgICAgICB3ID0gYXRhbjIoc3FydCgodyA9IHkwICogeiAtIHowICogeSkgKiB3ICsgKHcgPSB6
MCAqIHggLSB4MCAqIHopICogdyArICh3ID0geDAgKiB5IC0geTAgKiB4KSAqIHcpLCB4MCAqIHgg
KyB5MCAqIHkgKyB6MCAqIHopOworICBXMSArPSB3OworICBYMSArPSB3ICogKHgwICsgKHgwID0g
eCkpOworICBZMSArPSB3ICogKHkwICsgKHkwID0geSkpOworICBaMSArPSB3ICogKHowICsgKHow
ID0geikpOworICBjZW50cm9pZFBvaW50Q2FydGVzaWFuKHgwLCB5MCwgejApOworfQorCitmdW5j
dGlvbiBjZW50cm9pZExpbmVFbmQoKSB7CisgIGNlbnRyb2lkU3RyZWFtLnBvaW50ID0gY2VudHJv
aWRQb2ludDsKK30KKworLy8gU2VlIEouIEUuIEJyb2NrLCBUaGUgSW5lcnRpYSBUZW5zb3IgZm9y
IGEgU3BoZXJpY2FsIFRyaWFuZ2xlLAorLy8gSi4gQXBwbGllZCBNZWNoYW5pY3MgNDIsIDIzOSAo
MTk3NSkuCitmdW5jdGlvbiBjZW50cm9pZFJpbmdTdGFydCgpIHsKKyAgY2VudHJvaWRTdHJlYW0u
cG9pbnQgPSBjZW50cm9pZFJpbmdQb2ludEZpcnN0OworfQorCitmdW5jdGlvbiBjZW50cm9pZFJp
bmdFbmQoKSB7CisgIGNlbnRyb2lkUmluZ1BvaW50KGxhbWJkYTAwJDIsIHBoaTAwJDIpOworICBj
ZW50cm9pZFN0cmVhbS5wb2ludCA9IGNlbnRyb2lkUG9pbnQ7Cit9CisKK2Z1bmN0aW9uIGNlbnRy
b2lkUmluZ1BvaW50Rmlyc3QobGFtYmRhLCBwaGkpIHsKKyAgbGFtYmRhMDAkMiA9IGxhbWJkYSwg
cGhpMDAkMiA9IHBoaTsKKyAgbGFtYmRhICo9IHJhZGlhbnMsIHBoaSAqPSByYWRpYW5zOworICBj
ZW50cm9pZFN0cmVhbS5wb2ludCA9IGNlbnRyb2lkUmluZ1BvaW50OworICB2YXIgY29zUGhpID0g
Y29zJDEocGhpKTsKKyAgeDAgPSBjb3NQaGkgKiBjb3MkMShsYW1iZGEpOworICB5MCA9IGNvc1Bo
aSAqIHNpbiQxKGxhbWJkYSk7CisgIHowID0gc2luJDEocGhpKTsKKyAgY2VudHJvaWRQb2ludENh
cnRlc2lhbih4MCwgeTAsIHowKTsKK30KKworZnVuY3Rpb24gY2VudHJvaWRSaW5nUG9pbnQobGFt
YmRhLCBwaGkpIHsKKyAgbGFtYmRhICo9IHJhZGlhbnMsIHBoaSAqPSByYWRpYW5zOworICB2YXIg
Y29zUGhpID0gY29zJDEocGhpKSwKKyAgICAgIHggPSBjb3NQaGkgKiBjb3MkMShsYW1iZGEpLAor
ICAgICAgeSA9IGNvc1BoaSAqIHNpbiQxKGxhbWJkYSksCisgICAgICB6ID0gc2luJDEocGhpKSwK
KyAgICAgIGN4ID0geTAgKiB6IC0gejAgKiB5LAorICAgICAgY3kgPSB6MCAqIHggLSB4MCAqIHos
CisgICAgICBjeiA9IHgwICogeSAtIHkwICogeCwKKyAgICAgIG0gPSBzcXJ0KGN4ICogY3ggKyBj
eSAqIGN5ICsgY3ogKiBjeiksCisgICAgICB3ID0gYXNpbihtKSwgLy8gbGluZSB3ZWlnaHQgPSBh
bmdsZQorICAgICAgdiA9IG0gJiYgLXcgLyBtOyAvLyBhcmVhIHdlaWdodCBtdWx0aXBsaWVyCisg
IFgyICs9IHYgKiBjeDsKKyAgWTIgKz0gdiAqIGN5OworICBaMiArPSB2ICogY3o7CisgIFcxICs9
IHc7CisgIFgxICs9IHcgKiAoeDAgKyAoeDAgPSB4KSk7CisgIFkxICs9IHcgKiAoeTAgKyAoeTAg
PSB5KSk7CisgIFoxICs9IHcgKiAoejAgKyAoejAgPSB6KSk7CisgIGNlbnRyb2lkUG9pbnRDYXJ0
ZXNpYW4oeDAsIHkwLCB6MCk7Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkKG9iamVjdCkgeworICBX
MCA9IFcxID0KKyAgWDAgPSBZMCA9IFowID0KKyAgWDEgPSBZMSA9IFoxID0KKyAgWDIgPSBZMiA9
IFoyID0gMDsKKyAgZ2VvU3RyZWFtKG9iamVjdCwgY2VudHJvaWRTdHJlYW0pOworCisgIHZhciB4
ID0gWDIsCisgICAgICB5ID0gWTIsCisgICAgICB6ID0gWjIsCisgICAgICBtID0geCAqIHggKyB5
ICogeSArIHogKiB6OworCisgIC8vIElmIHRoZSBhcmVhLXdlaWdodGVkIGNjZW50cm9pZCBpcyB1
bmRlZmluZWQsIGZhbGwgYmFjayB0byBsZW5ndGgtd2VpZ2h0ZWQgY2NlbnRyb2lkLgorICBpZiAo
bSA8IGVwc2lsb24yJDEpIHsKKyAgICB4ID0gWDEsIHkgPSBZMSwgeiA9IFoxOworICAgIC8vIElm
IHRoZSBmZWF0dXJlIGhhcyB6ZXJvIGxlbmd0aCwgZmFsbCBiYWNrIHRvIGFyaXRobWV0aWMgbWVh
biBvZiBwb2ludCB2ZWN0b3JzLgorICAgIGlmIChXMSA8IGVwc2lsb24kMikgeCA9IFgwLCB5ID0g
WTAsIHogPSBaMDsKKyAgICBtID0geCAqIHggKyB5ICogeSArIHogKiB6OworICAgIC8vIElmIHRo
ZSBmZWF0dXJlIHN0aWxsIGhhcyBhbiB1bmRlZmluZWQgY2NlbnRyb2lkLCB0aGVuIHJldHVybi4K
KyAgICBpZiAobSA8IGVwc2lsb24yJDEpIHJldHVybiBbTmFOLCBOYU5dOworICB9CisKKyAgcmV0
dXJuIFthdGFuMih5LCB4KSAqIGRlZ3JlZXMkMSwgYXNpbih6IC8gc3FydChtKSkgKiBkZWdyZWVz
JDFdOworfQorCitmdW5jdGlvbiBjb25zdGFudCQ4KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkg
eworICAgIHJldHVybiB4OworICB9OworfQorCitmdW5jdGlvbiBjb21wb3NlKGEsIGIpIHsKKwor
ICBmdW5jdGlvbiBjb21wb3NlKHgsIHkpIHsKKyAgICByZXR1cm4geCA9IGEoeCwgeSksIGIoeFsw
XSwgeFsxXSk7CisgIH0KKworICBpZiAoYS5pbnZlcnQgJiYgYi5pbnZlcnQpIGNvbXBvc2UuaW52
ZXJ0ID0gZnVuY3Rpb24oeCwgeSkgeworICAgIHJldHVybiB4ID0gYi5pbnZlcnQoeCwgeSksIHgg
JiYgYS5pbnZlcnQoeFswXSwgeFsxXSk7CisgIH07CisKKyAgcmV0dXJuIGNvbXBvc2U7Cit9CisK
K2Z1bmN0aW9uIHJvdGF0aW9uSWRlbnRpdHkobGFtYmRhLCBwaGkpIHsKKyAgcmV0dXJuIFthYnMo
bGFtYmRhKSA+IHBpJDMgPyBsYW1iZGEgKyBNYXRoLnJvdW5kKC1sYW1iZGEgLyB0YXUkMykgKiB0
YXUkMyA6IGxhbWJkYSwgcGhpXTsKK30KKworcm90YXRpb25JZGVudGl0eS5pbnZlcnQgPSByb3Rh
dGlvbklkZW50aXR5OworCitmdW5jdGlvbiByb3RhdGVSYWRpYW5zKGRlbHRhTGFtYmRhLCBkZWx0
YVBoaSwgZGVsdGFHYW1tYSkgeworICByZXR1cm4gKGRlbHRhTGFtYmRhICU9IHRhdSQzKSA/IChk
ZWx0YVBoaSB8fCBkZWx0YUdhbW1hID8gY29tcG9zZShyb3RhdGlvbkxhbWJkYShkZWx0YUxhbWJk
YSksIHJvdGF0aW9uUGhpR2FtbWEoZGVsdGFQaGksIGRlbHRhR2FtbWEpKQorICAgIDogcm90YXRp
b25MYW1iZGEoZGVsdGFMYW1iZGEpKQorICAgIDogKGRlbHRhUGhpIHx8IGRlbHRhR2FtbWEgPyBy
b3RhdGlvblBoaUdhbW1hKGRlbHRhUGhpLCBkZWx0YUdhbW1hKQorICAgIDogcm90YXRpb25JZGVu
dGl0eSk7Cit9CisKK2Z1bmN0aW9uIGZvcndhcmRSb3RhdGlvbkxhbWJkYShkZWx0YUxhbWJkYSkg
eworICByZXR1cm4gZnVuY3Rpb24obGFtYmRhLCBwaGkpIHsKKyAgICByZXR1cm4gbGFtYmRhICs9
IGRlbHRhTGFtYmRhLCBbbGFtYmRhID4gcGkkMyA/IGxhbWJkYSAtIHRhdSQzIDogbGFtYmRhIDwg
LXBpJDMgPyBsYW1iZGEgKyB0YXUkMyA6IGxhbWJkYSwgcGhpXTsKKyAgfTsKK30KKworZnVuY3Rp
b24gcm90YXRpb25MYW1iZGEoZGVsdGFMYW1iZGEpIHsKKyAgdmFyIHJvdGF0aW9uID0gZm9yd2Fy
ZFJvdGF0aW9uTGFtYmRhKGRlbHRhTGFtYmRhKTsKKyAgcm90YXRpb24uaW52ZXJ0ID0gZm9yd2Fy
ZFJvdGF0aW9uTGFtYmRhKC1kZWx0YUxhbWJkYSk7CisgIHJldHVybiByb3RhdGlvbjsKK30KKwor
ZnVuY3Rpb24gcm90YXRpb25QaGlHYW1tYShkZWx0YVBoaSwgZGVsdGFHYW1tYSkgeworICB2YXIg
Y29zRGVsdGFQaGkgPSBjb3MkMShkZWx0YVBoaSksCisgICAgICBzaW5EZWx0YVBoaSA9IHNpbiQx
KGRlbHRhUGhpKSwKKyAgICAgIGNvc0RlbHRhR2FtbWEgPSBjb3MkMShkZWx0YUdhbW1hKSwKKyAg
ICAgIHNpbkRlbHRhR2FtbWEgPSBzaW4kMShkZWx0YUdhbW1hKTsKKworICBmdW5jdGlvbiByb3Rh
dGlvbihsYW1iZGEsIHBoaSkgeworICAgIHZhciBjb3NQaGkgPSBjb3MkMShwaGkpLAorICAgICAg
ICB4ID0gY29zJDEobGFtYmRhKSAqIGNvc1BoaSwKKyAgICAgICAgeSA9IHNpbiQxKGxhbWJkYSkg
KiBjb3NQaGksCisgICAgICAgIHogPSBzaW4kMShwaGkpLAorICAgICAgICBrID0geiAqIGNvc0Rl
bHRhUGhpICsgeCAqIHNpbkRlbHRhUGhpOworICAgIHJldHVybiBbCisgICAgICBhdGFuMih5ICog
Y29zRGVsdGFHYW1tYSAtIGsgKiBzaW5EZWx0YUdhbW1hLCB4ICogY29zRGVsdGFQaGkgLSB6ICog
c2luRGVsdGFQaGkpLAorICAgICAgYXNpbihrICogY29zRGVsdGFHYW1tYSArIHkgKiBzaW5EZWx0
YUdhbW1hKQorICAgIF07CisgIH0KKworICByb3RhdGlvbi5pbnZlcnQgPSBmdW5jdGlvbihsYW1i
ZGEsIHBoaSkgeworICAgIHZhciBjb3NQaGkgPSBjb3MkMShwaGkpLAorICAgICAgICB4ID0gY29z
JDEobGFtYmRhKSAqIGNvc1BoaSwKKyAgICAgICAgeSA9IHNpbiQxKGxhbWJkYSkgKiBjb3NQaGks
CisgICAgICAgIHogPSBzaW4kMShwaGkpLAorICAgICAgICBrID0geiAqIGNvc0RlbHRhR2FtbWEg
LSB5ICogc2luRGVsdGFHYW1tYTsKKyAgICByZXR1cm4gWworICAgICAgYXRhbjIoeSAqIGNvc0Rl
bHRhR2FtbWEgKyB6ICogc2luRGVsdGFHYW1tYSwgeCAqIGNvc0RlbHRhUGhpICsgayAqIHNpbkRl
bHRhUGhpKSwKKyAgICAgIGFzaW4oayAqIGNvc0RlbHRhUGhpIC0geCAqIHNpbkRlbHRhUGhpKQor
ICAgIF07CisgIH07CisKKyAgcmV0dXJuIHJvdGF0aW9uOworfQorCitmdW5jdGlvbiByb3RhdGlv
bihyb3RhdGUpIHsKKyAgcm90YXRlID0gcm90YXRlUmFkaWFucyhyb3RhdGVbMF0gKiByYWRpYW5z
LCByb3RhdGVbMV0gKiByYWRpYW5zLCByb3RhdGUubGVuZ3RoID4gMiA/IHJvdGF0ZVsyXSAqIHJh
ZGlhbnMgOiAwKTsKKworICBmdW5jdGlvbiBmb3J3YXJkKGNvb3JkaW5hdGVzKSB7CisgICAgY29v
cmRpbmF0ZXMgPSByb3RhdGUoY29vcmRpbmF0ZXNbMF0gKiByYWRpYW5zLCBjb29yZGluYXRlc1sx
XSAqIHJhZGlhbnMpOworICAgIHJldHVybiBjb29yZGluYXRlc1swXSAqPSBkZWdyZWVzJDEsIGNv
b3JkaW5hdGVzWzFdICo9IGRlZ3JlZXMkMSwgY29vcmRpbmF0ZXM7CisgIH0KKworICBmb3J3YXJk
LmludmVydCA9IGZ1bmN0aW9uKGNvb3JkaW5hdGVzKSB7CisgICAgY29vcmRpbmF0ZXMgPSByb3Rh
dGUuaW52ZXJ0KGNvb3JkaW5hdGVzWzBdICogcmFkaWFucywgY29vcmRpbmF0ZXNbMV0gKiByYWRp
YW5zKTsKKyAgICByZXR1cm4gY29vcmRpbmF0ZXNbMF0gKj0gZGVncmVlcyQxLCBjb29yZGluYXRl
c1sxXSAqPSBkZWdyZWVzJDEsIGNvb3JkaW5hdGVzOworICB9OworCisgIHJldHVybiBmb3J3YXJk
OworfQorCisvLyBHZW5lcmF0ZXMgYSBjaXJjbGUgY2VudGVyZWQgYXQgWzDCsCwgMMKwXSwgd2l0
aCBhIGdpdmVuIHJhZGl1cyBhbmQgcHJlY2lzaW9uLgorZnVuY3Rpb24gY2lyY2xlU3RyZWFtKHN0
cmVhbSwgcmFkaXVzLCBkZWx0YSwgZGlyZWN0aW9uLCB0MCwgdDEpIHsKKyAgaWYgKCFkZWx0YSkg
cmV0dXJuOworICB2YXIgY29zUmFkaXVzID0gY29zJDEocmFkaXVzKSwKKyAgICAgIHNpblJhZGl1
cyA9IHNpbiQxKHJhZGl1cyksCisgICAgICBzdGVwID0gZGlyZWN0aW9uICogZGVsdGE7CisgIGlm
ICh0MCA9PSBudWxsKSB7CisgICAgdDAgPSByYWRpdXMgKyBkaXJlY3Rpb24gKiB0YXUkMzsKKyAg
ICB0MSA9IHJhZGl1cyAtIHN0ZXAgLyAyOworICB9IGVsc2UgeworICAgIHQwID0gY2lyY2xlUmFk
aXVzKGNvc1JhZGl1cywgdDApOworICAgIHQxID0gY2lyY2xlUmFkaXVzKGNvc1JhZGl1cywgdDEp
OworICAgIGlmIChkaXJlY3Rpb24gPiAwID8gdDAgPCB0MSA6IHQwID4gdDEpIHQwICs9IGRpcmVj
dGlvbiAqIHRhdSQzOworICB9CisgIGZvciAodmFyIHBvaW50LCB0ID0gdDA7IGRpcmVjdGlvbiA+
IDAgPyB0ID4gdDEgOiB0IDwgdDE7IHQgLT0gc3RlcCkgeworICAgIHBvaW50ID0gc3BoZXJpY2Fs
KFtjb3NSYWRpdXMsIC1zaW5SYWRpdXMgKiBjb3MkMSh0KSwgLXNpblJhZGl1cyAqIHNpbiQxKHQp
XSk7CisgICAgc3RyZWFtLnBvaW50KHBvaW50WzBdLCBwb2ludFsxXSk7CisgIH0KK30KKworLy8g
UmV0dXJucyB0aGUgc2lnbmVkIGFuZ2xlIG9mIGEgY2FydGVzaWFuIHBvaW50IHJlbGF0aXZlIHRv
IFtjb3NSYWRpdXMsIDAsIDBdLgorZnVuY3Rpb24gY2lyY2xlUmFkaXVzKGNvc1JhZGl1cywgcG9p
bnQpIHsKKyAgcG9pbnQgPSBjYXJ0ZXNpYW4ocG9pbnQpLCBwb2ludFswXSAtPSBjb3NSYWRpdXM7
CisgIGNhcnRlc2lhbk5vcm1hbGl6ZUluUGxhY2UocG9pbnQpOworICB2YXIgcmFkaXVzID0gYWNv
cygtcG9pbnRbMV0pOworICByZXR1cm4gKCgtcG9pbnRbMl0gPCAwID8gLXJhZGl1cyA6IHJhZGl1
cykgKyB0YXUkMyAtIGVwc2lsb24kMikgJSB0YXUkMzsKK30KKworZnVuY3Rpb24gY2lyY2xlKCkg
eworICB2YXIgY2VudGVyID0gY29uc3RhbnQkOChbMCwgMF0pLAorICAgICAgcmFkaXVzID0gY29u
c3RhbnQkOCg5MCksCisgICAgICBwcmVjaXNpb24gPSBjb25zdGFudCQ4KDYpLAorICAgICAgcmlu
ZywKKyAgICAgIHJvdGF0ZSwKKyAgICAgIHN0cmVhbSA9IHtwb2ludDogcG9pbnR9OworCisgIGZ1
bmN0aW9uIHBvaW50KHgsIHkpIHsKKyAgICByaW5nLnB1c2goeCA9IHJvdGF0ZSh4LCB5KSk7Cisg
ICAgeFswXSAqPSBkZWdyZWVzJDEsIHhbMV0gKj0gZGVncmVlcyQxOworICB9CisKKyAgZnVuY3Rp
b24gY2lyY2xlKCkgeworICAgIHZhciBjID0gY2VudGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyks
CisgICAgICAgIHIgPSByYWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRzKSAqIHJhZGlhbnMsCisg
ICAgICAgIHAgPSBwcmVjaXNpb24uYXBwbHkodGhpcywgYXJndW1lbnRzKSAqIHJhZGlhbnM7Cisg
ICAgcmluZyA9IFtdOworICAgIHJvdGF0ZSA9IHJvdGF0ZVJhZGlhbnMoLWNbMF0gKiByYWRpYW5z
LCAtY1sxXSAqIHJhZGlhbnMsIDApLmludmVydDsKKyAgICBjaXJjbGVTdHJlYW0oc3RyZWFtLCBy
LCBwLCAxKTsKKyAgICBjID0ge3R5cGU6ICJQb2x5Z29uIiwgY29vcmRpbmF0ZXM6IFtyaW5nXX07
CisgICAgcmluZyA9IHJvdGF0ZSA9IG51bGw7CisgICAgcmV0dXJuIGM7CisgIH0KKworICBjaXJj
bGUuY2VudGVyID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8g
KGNlbnRlciA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDgoWytfWzBd
LCArX1sxXV0pLCBjaXJjbGUpIDogY2VudGVyOworICB9OworCisgIGNpcmNsZS5yYWRpdXMgPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocmFkaXVzID0gdHlw
ZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkOCgrXyksIGNpcmNsZSkgOiByYWRp
dXM7CisgIH07CisKKyAgY2lyY2xlLnByZWNpc2lvbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwcmVjaXNpb24gPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9u
IiA/IF8gOiBjb25zdGFudCQ4KCtfKSwgY2lyY2xlKSA6IHByZWNpc2lvbjsKKyAgfTsKKworICBy
ZXR1cm4gY2lyY2xlOworfQorCitmdW5jdGlvbiBjbGlwQnVmZmVyKCkgeworICB2YXIgbGluZXMg
PSBbXSwKKyAgICAgIGxpbmU7CisgIHJldHVybiB7CisgICAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkp
IHsKKyAgICAgIGxpbmUucHVzaChbeCwgeV0pOworICAgIH0sCisgICAgbGluZVN0YXJ0OiBmdW5j
dGlvbigpIHsKKyAgICAgIGxpbmVzLnB1c2gobGluZSA9IFtdKTsKKyAgICB9LAorICAgIGxpbmVF
bmQ6IG5vb3AkMiwKKyAgICByZWpvaW46IGZ1bmN0aW9uKCkgeworICAgICAgaWYgKGxpbmVzLmxl
bmd0aCA+IDEpIGxpbmVzLnB1c2gobGluZXMucG9wKCkuY29uY2F0KGxpbmVzLnNoaWZ0KCkpKTsK
KyAgICB9LAorICAgIHJlc3VsdDogZnVuY3Rpb24oKSB7CisgICAgICB2YXIgcmVzdWx0ID0gbGlu
ZXM7CisgICAgICBsaW5lcyA9IFtdOworICAgICAgbGluZSA9IG51bGw7CisgICAgICByZXR1cm4g
cmVzdWx0OworICAgIH0KKyAgfTsKK30KKworZnVuY3Rpb24gcG9pbnRFcXVhbChhLCBiKSB7Cisg
IHJldHVybiBhYnMoYVswXSAtIGJbMF0pIDwgZXBzaWxvbiQyICYmIGFicyhhWzFdIC0gYlsxXSkg
PCBlcHNpbG9uJDI7Cit9CisKK2Z1bmN0aW9uIEludGVyc2VjdGlvbihwb2ludCwgcG9pbnRzLCBv
dGhlciwgZW50cnkpIHsKKyAgdGhpcy54ID0gcG9pbnQ7CisgIHRoaXMueiA9IHBvaW50czsKKyAg
dGhpcy5vID0gb3RoZXI7IC8vIGFub3RoZXIgaW50ZXJzZWN0aW9uCisgIHRoaXMuZSA9IGVudHJ5
OyAvLyBpcyBhbiBlbnRyeT8KKyAgdGhpcy52ID0gZmFsc2U7IC8vIHZpc2l0ZWQKKyAgdGhpcy5u
ID0gdGhpcy5wID0gbnVsbDsgLy8gbmV4dCAmIHByZXZpb3VzCit9CisKKy8vIEEgZ2VuZXJhbGl6
ZWQgcG9seWdvbiBjbGlwcGluZyBhbGdvcml0aG06IGdpdmVuIGEgcG9seWdvbiB0aGF0IGhhcyBi
ZWVuIGN1dAorLy8gaW50byBpdHMgdmlzaWJsZSBsaW5lIHNlZ21lbnRzLCBhbmQgcmVqb2lucyB0
aGUgc2VnbWVudHMgYnkgaW50ZXJwb2xhdGluZworLy8gYWxvbmcgdGhlIGNsaXAgZWRnZS4KK2Z1
bmN0aW9uIGNsaXBSZWpvaW4oc2VnbWVudHMsIGNvbXBhcmVJbnRlcnNlY3Rpb24sIHN0YXJ0SW5z
aWRlLCBpbnRlcnBvbGF0ZSwgc3RyZWFtKSB7CisgIHZhciBzdWJqZWN0ID0gW10sCisgICAgICBj
bGlwID0gW10sCisgICAgICBpLAorICAgICAgbjsKKworICBzZWdtZW50cy5mb3JFYWNoKGZ1bmN0
aW9uKHNlZ21lbnQpIHsKKyAgICBpZiAoKG4gPSBzZWdtZW50Lmxlbmd0aCAtIDEpIDw9IDApIHJl
dHVybjsKKyAgICB2YXIgbiwgcDAgPSBzZWdtZW50WzBdLCBwMSA9IHNlZ21lbnRbbl0sIHg7CisK
KyAgICAvLyBJZiB0aGUgZmlyc3QgYW5kIGxhc3QgcG9pbnRzIG9mIGEgc2VnbWVudCBhcmUgY29p
bmNpZGVudCwgdGhlbiB0cmVhdCBhcyBhCisgICAgLy8gY2xvc2VkIHJpbmcuIFRPRE8gaWYgYWxs
IHJpbmdzIGFyZSBjbG9zZWQsIHRoZW4gdGhlIHdpbmRpbmcgb3JkZXIgb2YgdGhlCisgICAgLy8g
ZXh0ZXJpb3IgcmluZyBzaG91bGQgYmUgY2hlY2tlZC4KKyAgICBpZiAocG9pbnRFcXVhbChwMCwg
cDEpKSB7CisgICAgICBzdHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICBmb3IgKGkgPSAwOyBpIDwg
bjsgKytpKSBzdHJlYW0ucG9pbnQoKHAwID0gc2VnbWVudFtpXSlbMF0sIHAwWzFdKTsKKyAgICAg
IHN0cmVhbS5saW5lRW5kKCk7CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgc3ViamVjdC5w
dXNoKHggPSBuZXcgSW50ZXJzZWN0aW9uKHAwLCBzZWdtZW50LCBudWxsLCB0cnVlKSk7CisgICAg
Y2xpcC5wdXNoKHgubyA9IG5ldyBJbnRlcnNlY3Rpb24ocDAsIG51bGwsIHgsIGZhbHNlKSk7Cisg
ICAgc3ViamVjdC5wdXNoKHggPSBuZXcgSW50ZXJzZWN0aW9uKHAxLCBzZWdtZW50LCBudWxsLCBm
YWxzZSkpOworICAgIGNsaXAucHVzaCh4Lm8gPSBuZXcgSW50ZXJzZWN0aW9uKHAxLCBudWxsLCB4
LCB0cnVlKSk7CisgIH0pOworCisgIGlmICghc3ViamVjdC5sZW5ndGgpIHJldHVybjsKKworICBj
bGlwLnNvcnQoY29tcGFyZUludGVyc2VjdGlvbik7CisgIGxpbmskMShzdWJqZWN0KTsKKyAgbGlu
ayQxKGNsaXApOworCisgIGZvciAoaSA9IDAsIG4gPSBjbGlwLmxlbmd0aDsgaSA8IG47ICsraSkg
eworICAgIGNsaXBbaV0uZSA9IHN0YXJ0SW5zaWRlID0gIXN0YXJ0SW5zaWRlOworICB9CisKKyAg
dmFyIHN0YXJ0ID0gc3ViamVjdFswXSwKKyAgICAgIHBvaW50cywKKyAgICAgIHBvaW50OworCisg
IHdoaWxlICgxKSB7CisgICAgLy8gRmluZCBmaXJzdCB1bnZpc2l0ZWQgaW50ZXJzZWN0aW9uLgor
ICAgIHZhciBjdXJyZW50ID0gc3RhcnQsCisgICAgICAgIGlzU3ViamVjdCA9IHRydWU7CisgICAg
d2hpbGUgKGN1cnJlbnQudikgaWYgKChjdXJyZW50ID0gY3VycmVudC5uKSA9PT0gc3RhcnQpIHJl
dHVybjsKKyAgICBwb2ludHMgPSBjdXJyZW50Lno7CisgICAgc3RyZWFtLmxpbmVTdGFydCgpOwor
ICAgIGRvIHsKKyAgICAgIGN1cnJlbnQudiA9IGN1cnJlbnQuby52ID0gdHJ1ZTsKKyAgICAgIGlm
IChjdXJyZW50LmUpIHsKKyAgICAgICAgaWYgKGlzU3ViamVjdCkgeworICAgICAgICAgIGZvciAo
aSA9IDAsIG4gPSBwb2ludHMubGVuZ3RoOyBpIDwgbjsgKytpKSBzdHJlYW0ucG9pbnQoKHBvaW50
ID0gcG9pbnRzW2ldKVswXSwgcG9pbnRbMV0pOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg
IGludGVycG9sYXRlKGN1cnJlbnQueCwgY3VycmVudC5uLngsIDEsIHN0cmVhbSk7CisgICAgICAg
IH0KKyAgICAgICAgY3VycmVudCA9IGN1cnJlbnQubjsKKyAgICAgIH0gZWxzZSB7CisgICAgICAg
IGlmIChpc1N1YmplY3QpIHsKKyAgICAgICAgICBwb2ludHMgPSBjdXJyZW50LnAuejsKKyAgICAg
ICAgICBmb3IgKGkgPSBwb2ludHMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHN0cmVhbS5wb2lu
dCgocG9pbnQgPSBwb2ludHNbaV0pWzBdLCBwb2ludFsxXSk7CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgaW50ZXJwb2xhdGUoY3VycmVudC54LCBjdXJyZW50LnAueCwgLTEsIHN0cmVhbSk7
CisgICAgICAgIH0KKyAgICAgICAgY3VycmVudCA9IGN1cnJlbnQucDsKKyAgICAgIH0KKyAgICAg
IGN1cnJlbnQgPSBjdXJyZW50Lm87CisgICAgICBwb2ludHMgPSBjdXJyZW50Lno7CisgICAgICBp
c1N1YmplY3QgPSAhaXNTdWJqZWN0OworICAgIH0gd2hpbGUgKCFjdXJyZW50LnYpOworICAgIHN0
cmVhbS5saW5lRW5kKCk7CisgIH0KK30KKworZnVuY3Rpb24gbGluayQxKGFycmF5KSB7CisgIGlm
ICghKG4gPSBhcnJheS5sZW5ndGgpKSByZXR1cm47CisgIHZhciBuLAorICAgICAgaSA9IDAsCisg
ICAgICBhID0gYXJyYXlbMF0sCisgICAgICBiOworICB3aGlsZSAoKytpIDwgbikgeworICAgIGEu
biA9IGIgPSBhcnJheVtpXTsKKyAgICBiLnAgPSBhOworICAgIGEgPSBiOworICB9CisgIGEubiA9
IGIgPSBhcnJheVswXTsKKyAgYi5wID0gYTsKK30KKwordmFyIHN1bSQxID0gYWRkZXIoKTsKKwor
ZnVuY3Rpb24gbG9uZ2l0dWRlKHBvaW50KSB7CisgIGlmIChhYnMocG9pbnRbMF0pIDw9IHBpJDMp
CisgICAgcmV0dXJuIHBvaW50WzBdOworICBlbHNlCisgICAgcmV0dXJuIHNpZ24ocG9pbnRbMF0p
ICogKChhYnMocG9pbnRbMF0pICsgcGkkMykgJSB0YXUkMyAtIHBpJDMpOworfQorCitmdW5jdGlv
biBwb2x5Z29uQ29udGFpbnMocG9seWdvbiwgcG9pbnQpIHsKKyAgdmFyIGxhbWJkYSA9IGxvbmdp
dHVkZShwb2ludCksCisgICAgICBwaGkgPSBwb2ludFsxXSwKKyAgICAgIHNpblBoaSA9IHNpbiQx
KHBoaSksCisgICAgICBub3JtYWwgPSBbc2luJDEobGFtYmRhKSwgLWNvcyQxKGxhbWJkYSksIDBd
LAorICAgICAgYW5nbGUgPSAwLAorICAgICAgd2luZGluZyA9IDA7CisKKyAgc3VtJDEucmVzZXQo
KTsKKworICBpZiAoc2luUGhpID09PSAxKSBwaGkgPSBoYWxmUGkkMiArIGVwc2lsb24kMjsKKyAg
ZWxzZSBpZiAoc2luUGhpID09PSAtMSkgcGhpID0gLWhhbGZQaSQyIC0gZXBzaWxvbiQyOworCisg
IGZvciAodmFyIGkgPSAwLCBuID0gcG9seWdvbi5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICBp
ZiAoIShtID0gKHJpbmcgPSBwb2x5Z29uW2ldKS5sZW5ndGgpKSBjb250aW51ZTsKKyAgICB2YXIg
cmluZywKKyAgICAgICAgbSwKKyAgICAgICAgcG9pbnQwID0gcmluZ1ttIC0gMV0sCisgICAgICAg
IGxhbWJkYTAgPSBsb25naXR1ZGUocG9pbnQwKSwKKyAgICAgICAgcGhpMCA9IHBvaW50MFsxXSAv
IDIgKyBxdWFydGVyUGksCisgICAgICAgIHNpblBoaTAgPSBzaW4kMShwaGkwKSwKKyAgICAgICAg
Y29zUGhpMCA9IGNvcyQxKHBoaTApOworCisgICAgZm9yICh2YXIgaiA9IDA7IGogPCBtOyArK2os
IGxhbWJkYTAgPSBsYW1iZGExLCBzaW5QaGkwID0gc2luUGhpMSwgY29zUGhpMCA9IGNvc1BoaTEs
IHBvaW50MCA9IHBvaW50MSkgeworICAgICAgdmFyIHBvaW50MSA9IHJpbmdbal0sCisgICAgICAg
ICAgbGFtYmRhMSA9IGxvbmdpdHVkZShwb2ludDEpLAorICAgICAgICAgIHBoaTEgPSBwb2ludDFb
MV0gLyAyICsgcXVhcnRlclBpLAorICAgICAgICAgIHNpblBoaTEgPSBzaW4kMShwaGkxKSwKKyAg
ICAgICAgICBjb3NQaGkxID0gY29zJDEocGhpMSksCisgICAgICAgICAgZGVsdGEgPSBsYW1iZGEx
IC0gbGFtYmRhMCwKKyAgICAgICAgICBzaWduID0gZGVsdGEgPj0gMCA/IDEgOiAtMSwKKyAgICAg
ICAgICBhYnNEZWx0YSA9IHNpZ24gKiBkZWx0YSwKKyAgICAgICAgICBhbnRpbWVyaWRpYW4gPSBh
YnNEZWx0YSA+IHBpJDMsCisgICAgICAgICAgayA9IHNpblBoaTAgKiBzaW5QaGkxOworCisgICAg
ICBzdW0kMS5hZGQoYXRhbjIoayAqIHNpZ24gKiBzaW4kMShhYnNEZWx0YSksIGNvc1BoaTAgKiBj
b3NQaGkxICsgayAqIGNvcyQxKGFic0RlbHRhKSkpOworICAgICAgYW5nbGUgKz0gYW50aW1lcmlk
aWFuID8gZGVsdGEgKyBzaWduICogdGF1JDMgOiBkZWx0YTsKKworICAgICAgLy8gQXJlIHRoZSBs
b25naXR1ZGVzIGVpdGhlciBzaWRlIG9mIHRoZSBwb2ludOKAmXMgbWVyaWRpYW4gKGxhbWJkYSks
CisgICAgICAvLyBhbmQgYXJlIHRoZSBsYXRpdHVkZXMgc21hbGxlciB0aGFuIHRoZSBwYXJhbGxl
bCAocGhpKT8KKyAgICAgIGlmIChhbnRpbWVyaWRpYW4gXiBsYW1iZGEwID49IGxhbWJkYSBeIGxh
bWJkYTEgPj0gbGFtYmRhKSB7CisgICAgICAgIHZhciBhcmMgPSBjYXJ0ZXNpYW5Dcm9zcyhjYXJ0
ZXNpYW4ocG9pbnQwKSwgY2FydGVzaWFuKHBvaW50MSkpOworICAgICAgICBjYXJ0ZXNpYW5Ob3Jt
YWxpemVJblBsYWNlKGFyYyk7CisgICAgICAgIHZhciBpbnRlcnNlY3Rpb24gPSBjYXJ0ZXNpYW5D
cm9zcyhub3JtYWwsIGFyYyk7CisgICAgICAgIGNhcnRlc2lhbk5vcm1hbGl6ZUluUGxhY2UoaW50
ZXJzZWN0aW9uKTsKKyAgICAgICAgdmFyIHBoaUFyYyA9IChhbnRpbWVyaWRpYW4gXiBkZWx0YSA+
PSAwID8gLTEgOiAxKSAqIGFzaW4oaW50ZXJzZWN0aW9uWzJdKTsKKyAgICAgICAgaWYgKHBoaSA+
IHBoaUFyYyB8fCBwaGkgPT09IHBoaUFyYyAmJiAoYXJjWzBdIHx8IGFyY1sxXSkpIHsKKyAgICAg
ICAgICB3aW5kaW5nICs9IGFudGltZXJpZGlhbiBeIGRlbHRhID49IDAgPyAxIDogLTE7CisgICAg
ICAgIH0KKyAgICAgIH0KKyAgICB9CisgIH0KKworICAvLyBGaXJzdCwgZGV0ZXJtaW5lIHdoZXRo
ZXIgdGhlIFNvdXRoIHBvbGUgaXMgaW5zaWRlIG9yIG91dHNpZGU6CisgIC8vCisgIC8vIEl0IGlz
IGluc2lkZSBpZjoKKyAgLy8gKiB0aGUgcG9seWdvbiB3aW5kcyBhcm91bmQgaXQgaW4gYSBjbG9j
a3dpc2UgZGlyZWN0aW9uLgorICAvLyAqIHRoZSBwb2x5Z29uIGRvZXMgbm90IChjdW11bGF0aXZl
bHkpIHdpbmQgYXJvdW5kIGl0LCBidXQgaGFzIGEgbmVnYXRpdmUKKyAgLy8gICAoY291bnRlci1j
bG9ja3dpc2UpIGFyZWEuCisgIC8vCisgIC8vIFNlY29uZCwgY291bnQgdGhlIChzaWduZWQpIG51
bWJlciBvZiB0aW1lcyBhIHNlZ21lbnQgY3Jvc3NlcyBhIGxhbWJkYQorICAvLyBmcm9tIHRoZSBw
b2ludCB0byB0aGUgU291dGggcG9sZS4gIElmIGl0IGlzIHplcm8sIHRoZW4gdGhlIHBvaW50IGlz
IHRoZQorICAvLyBzYW1lIHNpZGUgYXMgdGhlIFNvdXRoIHBvbGUuCisKKyAgcmV0dXJuIChhbmds
ZSA8IC1lcHNpbG9uJDIgfHwgYW5nbGUgPCBlcHNpbG9uJDIgJiYgc3VtJDEgPCAtZXBzaWxvbiQy
KSBeICh3aW5kaW5nICYgMSk7Cit9CisKK2Z1bmN0aW9uIGNsaXAocG9pbnRWaXNpYmxlLCBjbGlw
TGluZSwgaW50ZXJwb2xhdGUsIHN0YXJ0KSB7CisgIHJldHVybiBmdW5jdGlvbihzaW5rKSB7Cisg
ICAgdmFyIGxpbmUgPSBjbGlwTGluZShzaW5rKSwKKyAgICAgICAgcmluZ0J1ZmZlciA9IGNsaXBC
dWZmZXIoKSwKKyAgICAgICAgcmluZ1NpbmsgPSBjbGlwTGluZShyaW5nQnVmZmVyKSwKKyAgICAg
ICAgcG9seWdvblN0YXJ0ZWQgPSBmYWxzZSwKKyAgICAgICAgcG9seWdvbiwKKyAgICAgICAgc2Vn
bWVudHMsCisgICAgICAgIHJpbmc7CisKKyAgICB2YXIgY2xpcCA9IHsKKyAgICAgIHBvaW50OiBw
b2ludCwKKyAgICAgIGxpbmVTdGFydDogbGluZVN0YXJ0LAorICAgICAgbGluZUVuZDogbGluZUVu
ZCwKKyAgICAgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgICAgIGNsaXAucG9pbnQg
PSBwb2ludFJpbmc7CisgICAgICAgIGNsaXAubGluZVN0YXJ0ID0gcmluZ1N0YXJ0OworICAgICAg
ICBjbGlwLmxpbmVFbmQgPSByaW5nRW5kOworICAgICAgICBzZWdtZW50cyA9IFtdOworICAgICAg
ICBwb2x5Z29uID0gW107CisgICAgICB9LAorICAgICAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7
CisgICAgICAgIGNsaXAucG9pbnQgPSBwb2ludDsKKyAgICAgICAgY2xpcC5saW5lU3RhcnQgPSBs
aW5lU3RhcnQ7CisgICAgICAgIGNsaXAubGluZUVuZCA9IGxpbmVFbmQ7CisgICAgICAgIHNlZ21l
bnRzID0gbWVyZ2Uoc2VnbWVudHMpOworICAgICAgICB2YXIgc3RhcnRJbnNpZGUgPSBwb2x5Z29u
Q29udGFpbnMocG9seWdvbiwgc3RhcnQpOworICAgICAgICBpZiAoc2VnbWVudHMubGVuZ3RoKSB7
CisgICAgICAgICAgaWYgKCFwb2x5Z29uU3RhcnRlZCkgc2luay5wb2x5Z29uU3RhcnQoKSwgcG9s
eWdvblN0YXJ0ZWQgPSB0cnVlOworICAgICAgICAgIGNsaXBSZWpvaW4oc2VnbWVudHMsIGNvbXBh
cmVJbnRlcnNlY3Rpb24sIHN0YXJ0SW5zaWRlLCBpbnRlcnBvbGF0ZSwgc2luayk7CisgICAgICAg
IH0gZWxzZSBpZiAoc3RhcnRJbnNpZGUpIHsKKyAgICAgICAgICBpZiAoIXBvbHlnb25TdGFydGVk
KSBzaW5rLnBvbHlnb25TdGFydCgpLCBwb2x5Z29uU3RhcnRlZCA9IHRydWU7CisgICAgICAgICAg
c2luay5saW5lU3RhcnQoKTsKKyAgICAgICAgICBpbnRlcnBvbGF0ZShudWxsLCBudWxsLCAxLCBz
aW5rKTsKKyAgICAgICAgICBzaW5rLmxpbmVFbmQoKTsKKyAgICAgICAgfQorICAgICAgICBpZiAo
cG9seWdvblN0YXJ0ZWQpIHNpbmsucG9seWdvbkVuZCgpLCBwb2x5Z29uU3RhcnRlZCA9IGZhbHNl
OworICAgICAgICBzZWdtZW50cyA9IHBvbHlnb24gPSBudWxsOworICAgICAgfSwKKyAgICAgIHNw
aGVyZTogZnVuY3Rpb24oKSB7CisgICAgICAgIHNpbmsucG9seWdvblN0YXJ0KCk7CisgICAgICAg
IHNpbmsubGluZVN0YXJ0KCk7CisgICAgICAgIGludGVycG9sYXRlKG51bGwsIG51bGwsIDEsIHNp
bmspOworICAgICAgICBzaW5rLmxpbmVFbmQoKTsKKyAgICAgICAgc2luay5wb2x5Z29uRW5kKCk7
CisgICAgICB9CisgICAgfTsKKworICAgIGZ1bmN0aW9uIHBvaW50KGxhbWJkYSwgcGhpKSB7Cisg
ICAgICBpZiAocG9pbnRWaXNpYmxlKGxhbWJkYSwgcGhpKSkgc2luay5wb2ludChsYW1iZGEsIHBo
aSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcG9pbnRMaW5lKGxhbWJkYSwgcGhpKSB7CisgICAg
ICBsaW5lLnBvaW50KGxhbWJkYSwgcGhpKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsaW5lU3Rh
cnQoKSB7CisgICAgICBjbGlwLnBvaW50ID0gcG9pbnRMaW5lOworICAgICAgbGluZS5saW5lU3Rh
cnQoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsaW5lRW5kKCkgeworICAgICAgY2xpcC5wb2lu
dCA9IHBvaW50OworICAgICAgbGluZS5saW5lRW5kKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24g
cG9pbnRSaW5nKGxhbWJkYSwgcGhpKSB7CisgICAgICByaW5nLnB1c2goW2xhbWJkYSwgcGhpXSk7
CisgICAgICByaW5nU2luay5wb2ludChsYW1iZGEsIHBoaSk7CisgICAgfQorCisgICAgZnVuY3Rp
b24gcmluZ1N0YXJ0KCkgeworICAgICAgcmluZ1NpbmsubGluZVN0YXJ0KCk7CisgICAgICByaW5n
ID0gW107CisgICAgfQorCisgICAgZnVuY3Rpb24gcmluZ0VuZCgpIHsKKyAgICAgIHBvaW50Umlu
ZyhyaW5nWzBdWzBdLCByaW5nWzBdWzFdKTsKKyAgICAgIHJpbmdTaW5rLmxpbmVFbmQoKTsKKwor
ICAgICAgdmFyIGNsZWFuID0gcmluZ1NpbmsuY2xlYW4oKSwKKyAgICAgICAgICByaW5nU2VnbWVu
dHMgPSByaW5nQnVmZmVyLnJlc3VsdCgpLAorICAgICAgICAgIGksIG4gPSByaW5nU2VnbWVudHMu
bGVuZ3RoLCBtLAorICAgICAgICAgIHNlZ21lbnQsCisgICAgICAgICAgcG9pbnQ7CisKKyAgICAg
IHJpbmcucG9wKCk7CisgICAgICBwb2x5Z29uLnB1c2gocmluZyk7CisgICAgICByaW5nID0gbnVs
bDsKKworICAgICAgaWYgKCFuKSByZXR1cm47CisKKyAgICAgIC8vIE5vIGludGVyc2VjdGlvbnMu
CisgICAgICBpZiAoY2xlYW4gJiAxKSB7CisgICAgICAgIHNlZ21lbnQgPSByaW5nU2VnbWVudHNb
MF07CisgICAgICAgIGlmICgobSA9IHNlZ21lbnQubGVuZ3RoIC0gMSkgPiAwKSB7CisgICAgICAg
ICAgaWYgKCFwb2x5Z29uU3RhcnRlZCkgc2luay5wb2x5Z29uU3RhcnQoKSwgcG9seWdvblN0YXJ0
ZWQgPSB0cnVlOworICAgICAgICAgIHNpbmsubGluZVN0YXJ0KCk7CisgICAgICAgICAgZm9yIChp
ID0gMDsgaSA8IG07ICsraSkgc2luay5wb2ludCgocG9pbnQgPSBzZWdtZW50W2ldKVswXSwgcG9p
bnRbMV0pOworICAgICAgICAgIHNpbmsubGluZUVuZCgpOworICAgICAgICB9CisgICAgICAgIHJl
dHVybjsKKyAgICAgIH0KKworICAgICAgLy8gUmVqb2luIGNvbm5lY3RlZCBzZWdtZW50cy4KKyAg
ICAgIC8vIFRPRE8gcmV1c2UgcmluZ0J1ZmZlci5yZWpvaW4oKT8KKyAgICAgIGlmIChuID4gMSAm
JiBjbGVhbiAmIDIpIHJpbmdTZWdtZW50cy5wdXNoKHJpbmdTZWdtZW50cy5wb3AoKS5jb25jYXQo
cmluZ1NlZ21lbnRzLnNoaWZ0KCkpKTsKKworICAgICAgc2VnbWVudHMucHVzaChyaW5nU2VnbWVu
dHMuZmlsdGVyKHZhbGlkU2VnbWVudCkpOworICAgIH0KKworICAgIHJldHVybiBjbGlwOworICB9
OworfQorCitmdW5jdGlvbiB2YWxpZFNlZ21lbnQoc2VnbWVudCkgeworICByZXR1cm4gc2VnbWVu
dC5sZW5ndGggPiAxOworfQorCisvLyBJbnRlcnNlY3Rpb25zIGFyZSBzb3J0ZWQgYWxvbmcgdGhl
IGNsaXAgZWRnZS4gRm9yIGJvdGggYW50aW1lcmlkaWFuIGN1dHRpbmcKKy8vIGFuZCBjaXJjbGUg
Y2xpcHBpbmcsIHRoZSBzYW1lIGNvbXBhcmlzb24gaXMgdXNlZC4KK2Z1bmN0aW9uIGNvbXBhcmVJ
bnRlcnNlY3Rpb24oYSwgYikgeworICByZXR1cm4gKChhID0gYS54KVswXSA8IDAgPyBhWzFdIC0g
aGFsZlBpJDIgLSBlcHNpbG9uJDIgOiBoYWxmUGkkMiAtIGFbMV0pCisgICAgICAgLSAoKGIgPSBi
LngpWzBdIDwgMCA/IGJbMV0gLSBoYWxmUGkkMiAtIGVwc2lsb24kMiA6IGhhbGZQaSQyIC0gYlsx
XSk7Cit9CisKK3ZhciBjbGlwQW50aW1lcmlkaWFuID0gY2xpcCgKKyAgZnVuY3Rpb24oKSB7IHJl
dHVybiB0cnVlOyB9LAorICBjbGlwQW50aW1lcmlkaWFuTGluZSwKKyAgY2xpcEFudGltZXJpZGlh
bkludGVycG9sYXRlLAorICBbLXBpJDMsIC1oYWxmUGkkMl0KKyk7CisKKy8vIFRha2VzIGEgbGlu
ZSBhbmQgY3V0cyBpbnRvIHZpc2libGUgc2VnbWVudHMuIFJldHVybiB2YWx1ZXM6IDAgLSB0aGVy
ZSB3ZXJlCisvLyBpbnRlcnNlY3Rpb25zIG9yIHRoZSBsaW5lIHdhcyBlbXB0eTsgMSAtIG5vIGlu
dGVyc2VjdGlvbnM7IDIgLSB0aGVyZSB3ZXJlCisvLyBpbnRlcnNlY3Rpb25zLCBhbmQgdGhlIGZp
cnN0IGFuZCBsYXN0IHNlZ21lbnRzIHNob3VsZCBiZSByZWpvaW5lZC4KK2Z1bmN0aW9uIGNsaXBB
bnRpbWVyaWRpYW5MaW5lKHN0cmVhbSkgeworICB2YXIgbGFtYmRhMCA9IE5hTiwKKyAgICAgIHBo
aTAgPSBOYU4sCisgICAgICBzaWduMCA9IE5hTiwKKyAgICAgIGNsZWFuOyAvLyBubyBpbnRlcnNl
Y3Rpb25zCisKKyAgcmV0dXJuIHsKKyAgICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgICAg
c3RyZWFtLmxpbmVTdGFydCgpOworICAgICAgY2xlYW4gPSAxOworICAgIH0sCisgICAgcG9pbnQ6
IGZ1bmN0aW9uKGxhbWJkYTEsIHBoaTEpIHsKKyAgICAgIHZhciBzaWduMSA9IGxhbWJkYTEgPiAw
ID8gcGkkMyA6IC1waSQzLAorICAgICAgICAgIGRlbHRhID0gYWJzKGxhbWJkYTEgLSBsYW1iZGEw
KTsKKyAgICAgIGlmIChhYnMoZGVsdGEgLSBwaSQzKSA8IGVwc2lsb24kMikgeyAvLyBsaW5lIGNy
b3NzZXMgYSBwb2xlCisgICAgICAgIHN0cmVhbS5wb2ludChsYW1iZGEwLCBwaGkwID0gKHBoaTAg
KyBwaGkxKSAvIDIgPiAwID8gaGFsZlBpJDIgOiAtaGFsZlBpJDIpOworICAgICAgICBzdHJlYW0u
cG9pbnQoc2lnbjAsIHBoaTApOworICAgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAgICAgICBz
dHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICAgIHN0cmVhbS5wb2ludChzaWduMSwgcGhpMCk7Cisg
ICAgICAgIHN0cmVhbS5wb2ludChsYW1iZGExLCBwaGkwKTsKKyAgICAgICAgY2xlYW4gPSAwOwor
ICAgICAgfSBlbHNlIGlmIChzaWduMCAhPT0gc2lnbjEgJiYgZGVsdGEgPj0gcGkkMykgeyAvLyBs
aW5lIGNyb3NzZXMgYW50aW1lcmlkaWFuCisgICAgICAgIGlmIChhYnMobGFtYmRhMCAtIHNpZ24w
KSA8IGVwc2lsb24kMikgbGFtYmRhMCAtPSBzaWduMCAqIGVwc2lsb24kMjsgLy8gaGFuZGxlIGRl
Z2VuZXJhY2llcworICAgICAgICBpZiAoYWJzKGxhbWJkYTEgLSBzaWduMSkgPCBlcHNpbG9uJDIp
IGxhbWJkYTEgLT0gc2lnbjEgKiBlcHNpbG9uJDI7CisgICAgICAgIHBoaTAgPSBjbGlwQW50aW1l
cmlkaWFuSW50ZXJzZWN0KGxhbWJkYTAsIHBoaTAsIGxhbWJkYTEsIHBoaTEpOworICAgICAgICBz
dHJlYW0ucG9pbnQoc2lnbjAsIHBoaTApOworICAgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAg
ICAgICBzdHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICAgIHN0cmVhbS5wb2ludChzaWduMSwgcGhp
MCk7CisgICAgICAgIGNsZWFuID0gMDsKKyAgICAgIH0KKyAgICAgIHN0cmVhbS5wb2ludChsYW1i
ZGEwID0gbGFtYmRhMSwgcGhpMCA9IHBoaTEpOworICAgICAgc2lnbjAgPSBzaWduMTsKKyAgICB9
LAorICAgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgICAgc3RyZWFtLmxpbmVFbmQoKTsKKyAg
ICAgIGxhbWJkYTAgPSBwaGkwID0gTmFOOworICAgIH0sCisgICAgY2xlYW46IGZ1bmN0aW9uKCkg
eworICAgICAgcmV0dXJuIDIgLSBjbGVhbjsgLy8gaWYgaW50ZXJzZWN0aW9ucywgcmVqb2luIGZp
cnN0IGFuZCBsYXN0IHNlZ21lbnRzCisgICAgfQorICB9OworfQorCitmdW5jdGlvbiBjbGlwQW50
aW1lcmlkaWFuSW50ZXJzZWN0KGxhbWJkYTAsIHBoaTAsIGxhbWJkYTEsIHBoaTEpIHsKKyAgdmFy
IGNvc1BoaTAsCisgICAgICBjb3NQaGkxLAorICAgICAgc2luTGFtYmRhMExhbWJkYTEgPSBzaW4k
MShsYW1iZGEwIC0gbGFtYmRhMSk7CisgIHJldHVybiBhYnMoc2luTGFtYmRhMExhbWJkYTEpID4g
ZXBzaWxvbiQyCisgICAgICA/IGF0YW4oKHNpbiQxKHBoaTApICogKGNvc1BoaTEgPSBjb3MkMShw
aGkxKSkgKiBzaW4kMShsYW1iZGExKQorICAgICAgICAgIC0gc2luJDEocGhpMSkgKiAoY29zUGhp
MCA9IGNvcyQxKHBoaTApKSAqIHNpbiQxKGxhbWJkYTApKQorICAgICAgICAgIC8gKGNvc1BoaTAg
KiBjb3NQaGkxICogc2luTGFtYmRhMExhbWJkYTEpKQorICAgICAgOiAocGhpMCArIHBoaTEpIC8g
MjsKK30KKworZnVuY3Rpb24gY2xpcEFudGltZXJpZGlhbkludGVycG9sYXRlKGZyb20sIHRvLCBk
aXJlY3Rpb24sIHN0cmVhbSkgeworICB2YXIgcGhpOworICBpZiAoZnJvbSA9PSBudWxsKSB7Cisg
ICAgcGhpID0gZGlyZWN0aW9uICogaGFsZlBpJDI7CisgICAgc3RyZWFtLnBvaW50KC1waSQzLCBw
aGkpOworICAgIHN0cmVhbS5wb2ludCgwLCBwaGkpOworICAgIHN0cmVhbS5wb2ludChwaSQzLCBw
aGkpOworICAgIHN0cmVhbS5wb2ludChwaSQzLCAwKTsKKyAgICBzdHJlYW0ucG9pbnQocGkkMywg
LXBoaSk7CisgICAgc3RyZWFtLnBvaW50KDAsIC1waGkpOworICAgIHN0cmVhbS5wb2ludCgtcGkk
MywgLXBoaSk7CisgICAgc3RyZWFtLnBvaW50KC1waSQzLCAwKTsKKyAgICBzdHJlYW0ucG9pbnQo
LXBpJDMsIHBoaSk7CisgIH0gZWxzZSBpZiAoYWJzKGZyb21bMF0gLSB0b1swXSkgPiBlcHNpbG9u
JDIpIHsKKyAgICB2YXIgbGFtYmRhID0gZnJvbVswXSA8IHRvWzBdID8gcGkkMyA6IC1waSQzOwor
ICAgIHBoaSA9IGRpcmVjdGlvbiAqIGxhbWJkYSAvIDI7CisgICAgc3RyZWFtLnBvaW50KC1sYW1i
ZGEsIHBoaSk7CisgICAgc3RyZWFtLnBvaW50KDAsIHBoaSk7CisgICAgc3RyZWFtLnBvaW50KGxh
bWJkYSwgcGhpKTsKKyAgfSBlbHNlIHsKKyAgICBzdHJlYW0ucG9pbnQodG9bMF0sIHRvWzFdKTsK
KyAgfQorfQorCitmdW5jdGlvbiBjbGlwQ2lyY2xlKHJhZGl1cykgeworICB2YXIgY3IgPSBjb3Mk
MShyYWRpdXMpLAorICAgICAgZGVsdGEgPSA2ICogcmFkaWFucywKKyAgICAgIHNtYWxsUmFkaXVz
ID0gY3IgPiAwLAorICAgICAgbm90SGVtaXNwaGVyZSA9IGFicyhjcikgPiBlcHNpbG9uJDI7IC8v
IFRPRE8gb3B0aW1pc2UgZm9yIHRoaXMgY29tbW9uIGNhc2UKKworICBmdW5jdGlvbiBpbnRlcnBv
bGF0ZShmcm9tLCB0bywgZGlyZWN0aW9uLCBzdHJlYW0pIHsKKyAgICBjaXJjbGVTdHJlYW0oc3Ry
ZWFtLCByYWRpdXMsIGRlbHRhLCBkaXJlY3Rpb24sIGZyb20sIHRvKTsKKyAgfQorCisgIGZ1bmN0
aW9uIHZpc2libGUobGFtYmRhLCBwaGkpIHsKKyAgICByZXR1cm4gY29zJDEobGFtYmRhKSAqIGNv
cyQxKHBoaSkgPiBjcjsKKyAgfQorCisgIC8vIFRha2VzIGEgbGluZSBhbmQgY3V0cyBpbnRvIHZp
c2libGUgc2VnbWVudHMuIFJldHVybiB2YWx1ZXMgdXNlZCBmb3IgcG9seWdvbgorICAvLyBjbGlw
cGluZzogMCAtIHRoZXJlIHdlcmUgaW50ZXJzZWN0aW9ucyBvciB0aGUgbGluZSB3YXMgZW1wdHk7
IDEgLSBubworICAvLyBpbnRlcnNlY3Rpb25zIDIgLSB0aGVyZSB3ZXJlIGludGVyc2VjdGlvbnMs
IGFuZCB0aGUgZmlyc3QgYW5kIGxhc3Qgc2VnbWVudHMKKyAgLy8gc2hvdWxkIGJlIHJlam9pbmVk
LgorICBmdW5jdGlvbiBjbGlwTGluZShzdHJlYW0pIHsKKyAgICB2YXIgcG9pbnQwLCAvLyBwcmV2
aW91cyBwb2ludAorICAgICAgICBjMCwgLy8gY29kZSBmb3IgcHJldmlvdXMgcG9pbnQKKyAgICAg
ICAgdjAsIC8vIHZpc2liaWxpdHkgb2YgcHJldmlvdXMgcG9pbnQKKyAgICAgICAgdjAwLCAvLyB2
aXNpYmlsaXR5IG9mIGZpcnN0IHBvaW50CisgICAgICAgIGNsZWFuOyAvLyBubyBpbnRlcnNlY3Rp
b25zCisgICAgcmV0dXJuIHsKKyAgICAgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgICAg
IHYwMCA9IHYwID0gZmFsc2U7CisgICAgICAgIGNsZWFuID0gMTsKKyAgICAgIH0sCisgICAgICBw
b2ludDogZnVuY3Rpb24obGFtYmRhLCBwaGkpIHsKKyAgICAgICAgdmFyIHBvaW50MSA9IFtsYW1i
ZGEsIHBoaV0sCisgICAgICAgICAgICBwb2ludDIsCisgICAgICAgICAgICB2ID0gdmlzaWJsZShs
YW1iZGEsIHBoaSksCisgICAgICAgICAgICBjID0gc21hbGxSYWRpdXMKKyAgICAgICAgICAgICAg
PyB2ID8gMCA6IGNvZGUobGFtYmRhLCBwaGkpCisgICAgICAgICAgICAgIDogdiA/IGNvZGUobGFt
YmRhICsgKGxhbWJkYSA8IDAgPyBwaSQzIDogLXBpJDMpLCBwaGkpIDogMDsKKyAgICAgICAgaWYg
KCFwb2ludDAgJiYgKHYwMCA9IHYwID0gdikpIHN0cmVhbS5saW5lU3RhcnQoKTsKKyAgICAgICAg
Ly8gSGFuZGxlIGRlZ2VuZXJhY2llcy4KKyAgICAgICAgLy8gVE9ETyBpZ25vcmUgaWYgbm90IGNs
aXBwaW5nIHBvbHlnb25zLgorICAgICAgICBpZiAodiAhPT0gdjApIHsKKyAgICAgICAgICBwb2lu
dDIgPSBpbnRlcnNlY3QocG9pbnQwLCBwb2ludDEpOworICAgICAgICAgIGlmICghcG9pbnQyIHx8
IHBvaW50RXF1YWwocG9pbnQwLCBwb2ludDIpIHx8IHBvaW50RXF1YWwocG9pbnQxLCBwb2ludDIp
KSB7CisgICAgICAgICAgICBwb2ludDFbMF0gKz0gZXBzaWxvbiQyOworICAgICAgICAgICAgcG9p
bnQxWzFdICs9IGVwc2lsb24kMjsKKyAgICAgICAgICAgIHYgPSB2aXNpYmxlKHBvaW50MVswXSwg
cG9pbnQxWzFdKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKHYgIT09IHYw
KSB7CisgICAgICAgICAgY2xlYW4gPSAwOworICAgICAgICAgIGlmICh2KSB7CisgICAgICAgICAg
ICAvLyBvdXRzaWRlIGdvaW5nIGluCisgICAgICAgICAgICBzdHJlYW0ubGluZVN0YXJ0KCk7Cisg
ICAgICAgICAgICBwb2ludDIgPSBpbnRlcnNlY3QocG9pbnQxLCBwb2ludDApOworICAgICAgICAg
ICAgc3RyZWFtLnBvaW50KHBvaW50MlswXSwgcG9pbnQyWzFdKTsKKyAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgLy8gaW5zaWRlIGdvaW5nIG91dAorICAgICAgICAgICAgcG9pbnQyID0g
aW50ZXJzZWN0KHBvaW50MCwgcG9pbnQxKTsKKyAgICAgICAgICAgIHN0cmVhbS5wb2ludChwb2lu
dDJbMF0sIHBvaW50MlsxXSk7CisgICAgICAgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAgICAg
ICAgIH0KKyAgICAgICAgICBwb2ludDAgPSBwb2ludDI7CisgICAgICAgIH0gZWxzZSBpZiAobm90
SGVtaXNwaGVyZSAmJiBwb2ludDAgJiYgc21hbGxSYWRpdXMgXiB2KSB7CisgICAgICAgICAgdmFy
IHQ7CisgICAgICAgICAgLy8gSWYgdGhlIGNvZGVzIGZvciB0d28gcG9pbnRzIGFyZSBkaWZmZXJl
bnQsIG9yIGFyZSBib3RoIHplcm8sCisgICAgICAgICAgLy8gYW5kIHRoZXJlIHRoaXMgc2VnbWVu
dCBpbnRlcnNlY3RzIHdpdGggdGhlIHNtYWxsIGNpcmNsZS4KKyAgICAgICAgICBpZiAoIShjICYg
YzApICYmICh0ID0gaW50ZXJzZWN0KHBvaW50MSwgcG9pbnQwLCB0cnVlKSkpIHsKKyAgICAgICAg
ICAgIGNsZWFuID0gMDsKKyAgICAgICAgICAgIGlmIChzbWFsbFJhZGl1cykgeworICAgICAgICAg
ICAgICBzdHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICAgICAgICAgIHN0cmVhbS5wb2ludCh0WzBd
WzBdLCB0WzBdWzFdKTsKKyAgICAgICAgICAgICAgc3RyZWFtLnBvaW50KHRbMV1bMF0sIHRbMV1b
MV0pOworICAgICAgICAgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgICAgc3RyZWFtLnBvaW50KHRbMV1bMF0sIHRbMV1bMV0pOworICAgICAg
ICAgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAgICAgICAgICAgICBzdHJlYW0ubGluZVN0YXJ0
KCk7CisgICAgICAgICAgICAgIHN0cmVhbS5wb2ludCh0WzBdWzBdLCB0WzBdWzFdKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKHYgJiYgKCFwb2lu
dDAgfHwgIXBvaW50RXF1YWwocG9pbnQwLCBwb2ludDEpKSkgeworICAgICAgICAgIHN0cmVhbS5w
b2ludChwb2ludDFbMF0sIHBvaW50MVsxXSk7CisgICAgICAgIH0KKyAgICAgICAgcG9pbnQwID0g
cG9pbnQxLCB2MCA9IHYsIGMwID0gYzsKKyAgICAgIH0sCisgICAgICBsaW5lRW5kOiBmdW5jdGlv
bigpIHsKKyAgICAgICAgaWYgKHYwKSBzdHJlYW0ubGluZUVuZCgpOworICAgICAgICBwb2ludDAg
PSBudWxsOworICAgICAgfSwKKyAgICAgIC8vIFJlam9pbiBmaXJzdCBhbmQgbGFzdCBzZWdtZW50
cyBpZiB0aGVyZSB3ZXJlIGludGVyc2VjdGlvbnMgYW5kIHRoZSBmaXJzdAorICAgICAgLy8gYW5k
IGxhc3QgcG9pbnRzIHdlcmUgdmlzaWJsZS4KKyAgICAgIGNsZWFuOiBmdW5jdGlvbigpIHsKKyAg
ICAgICAgcmV0dXJuIGNsZWFuIHwgKCh2MDAgJiYgdjApIDw8IDEpOworICAgICAgfQorICAgIH07
CisgIH0KKworICAvLyBJbnRlcnNlY3RzIHRoZSBncmVhdCBjaXJjbGUgYmV0d2VlbiBhIGFuZCBi
IHdpdGggdGhlIGNsaXAgY2lyY2xlLgorICBmdW5jdGlvbiBpbnRlcnNlY3QoYSwgYiwgdHdvKSB7
CisgICAgdmFyIHBhID0gY2FydGVzaWFuKGEpLAorICAgICAgICBwYiA9IGNhcnRlc2lhbihiKTsK
KworICAgIC8vIFdlIGhhdmUgdHdvIHBsYW5lcywgbjEucCA9IGQxIGFuZCBuMi5wID0gZDIuCisg
ICAgLy8gRmluZCBpbnRlcnNlY3Rpb24gbGluZSBwKHQpID0gYzEgbjEgKyBjMiBuMiArIHQgKG4x
IOKoryBuMikuCisgICAgdmFyIG4xID0gWzEsIDAsIDBdLCAvLyBub3JtYWwKKyAgICAgICAgbjIg
PSBjYXJ0ZXNpYW5Dcm9zcyhwYSwgcGIpLAorICAgICAgICBuMm4yID0gY2FydGVzaWFuRG90KG4y
LCBuMiksCisgICAgICAgIG4xbjIgPSBuMlswXSwgLy8gY2FydGVzaWFuRG90KG4xLCBuMiksCisg
ICAgICAgIGRldGVybWluYW50ID0gbjJuMiAtIG4xbjIgKiBuMW4yOworCisgICAgLy8gVHdvIHBv
bGFyIHBvaW50cy4KKyAgICBpZiAoIWRldGVybWluYW50KSByZXR1cm4gIXR3byAmJiBhOworCisg
ICAgdmFyIGMxID0gIGNyICogbjJuMiAvIGRldGVybWluYW50LAorICAgICAgICBjMiA9IC1jciAq
IG4xbjIgLyBkZXRlcm1pbmFudCwKKyAgICAgICAgbjF4bjIgPSBjYXJ0ZXNpYW5Dcm9zcyhuMSwg
bjIpLAorICAgICAgICBBID0gY2FydGVzaWFuU2NhbGUobjEsIGMxKSwKKyAgICAgICAgQiA9IGNh
cnRlc2lhblNjYWxlKG4yLCBjMik7CisgICAgY2FydGVzaWFuQWRkSW5QbGFjZShBLCBCKTsKKwor
ICAgIC8vIFNvbHZlIHxwKHQpfF4yID0gMS4KKyAgICB2YXIgdSA9IG4xeG4yLAorICAgICAgICB3
ID0gY2FydGVzaWFuRG90KEEsIHUpLAorICAgICAgICB1dSA9IGNhcnRlc2lhbkRvdCh1LCB1KSwK
KyAgICAgICAgdDIgPSB3ICogdyAtIHV1ICogKGNhcnRlc2lhbkRvdChBLCBBKSAtIDEpOworCisg
ICAgaWYgKHQyIDwgMCkgcmV0dXJuOworCisgICAgdmFyIHQgPSBzcXJ0KHQyKSwKKyAgICAgICAg
cSA9IGNhcnRlc2lhblNjYWxlKHUsICgtdyAtIHQpIC8gdXUpOworICAgIGNhcnRlc2lhbkFkZElu
UGxhY2UocSwgQSk7CisgICAgcSA9IHNwaGVyaWNhbChxKTsKKworICAgIGlmICghdHdvKSByZXR1
cm4gcTsKKworICAgIC8vIFR3byBpbnRlcnNlY3Rpb24gcG9pbnRzLgorICAgIHZhciBsYW1iZGEw
ID0gYVswXSwKKyAgICAgICAgbGFtYmRhMSA9IGJbMF0sCisgICAgICAgIHBoaTAgPSBhWzFdLAor
ICAgICAgICBwaGkxID0gYlsxXSwKKyAgICAgICAgejsKKworICAgIGlmIChsYW1iZGExIDwgbGFt
YmRhMCkgeiA9IGxhbWJkYTAsIGxhbWJkYTAgPSBsYW1iZGExLCBsYW1iZGExID0gejsKKworICAg
IHZhciBkZWx0YSA9IGxhbWJkYTEgLSBsYW1iZGEwLAorICAgICAgICBwb2xhciA9IGFicyhkZWx0
YSAtIHBpJDMpIDwgZXBzaWxvbiQyLAorICAgICAgICBtZXJpZGlhbiA9IHBvbGFyIHx8IGRlbHRh
IDwgZXBzaWxvbiQyOworCisgICAgaWYgKCFwb2xhciAmJiBwaGkxIDwgcGhpMCkgeiA9IHBoaTAs
IHBoaTAgPSBwaGkxLCBwaGkxID0gejsKKworICAgIC8vIENoZWNrIHRoYXQgdGhlIGZpcnN0IHBv
aW50IGlzIGJldHdlZW4gYSBhbmQgYi4KKyAgICBpZiAobWVyaWRpYW4KKyAgICAgICAgPyBwb2xh
cgorICAgICAgICAgID8gcGhpMCArIHBoaTEgPiAwIF4gcVsxXSA8IChhYnMocVswXSAtIGxhbWJk
YTApIDwgZXBzaWxvbiQyID8gcGhpMCA6IHBoaTEpCisgICAgICAgICAgOiBwaGkwIDw9IHFbMV0g
JiYgcVsxXSA8PSBwaGkxCisgICAgICAgIDogZGVsdGEgPiBwaSQzIF4gKGxhbWJkYTAgPD0gcVsw
XSAmJiBxWzBdIDw9IGxhbWJkYTEpKSB7CisgICAgICB2YXIgcTEgPSBjYXJ0ZXNpYW5TY2FsZSh1
LCAoLXcgKyB0KSAvIHV1KTsKKyAgICAgIGNhcnRlc2lhbkFkZEluUGxhY2UocTEsIEEpOworICAg
ICAgcmV0dXJuIFtxLCBzcGhlcmljYWwocTEpXTsKKyAgICB9CisgIH0KKworICAvLyBHZW5lcmF0
ZXMgYSA0LWJpdCB2ZWN0b3IgcmVwcmVzZW50aW5nIHRoZSBsb2NhdGlvbiBvZiBhIHBvaW50IHJl
bGF0aXZlIHRvCisgIC8vIHRoZSBzbWFsbCBjaXJjbGUncyBib3VuZGluZyBib3guCisgIGZ1bmN0
aW9uIGNvZGUobGFtYmRhLCBwaGkpIHsKKyAgICB2YXIgciA9IHNtYWxsUmFkaXVzID8gcmFkaXVz
IDogcGkkMyAtIHJhZGl1cywKKyAgICAgICAgY29kZSA9IDA7CisgICAgaWYgKGxhbWJkYSA8IC1y
KSBjb2RlIHw9IDE7IC8vIGxlZnQKKyAgICBlbHNlIGlmIChsYW1iZGEgPiByKSBjb2RlIHw9IDI7
IC8vIHJpZ2h0CisgICAgaWYgKHBoaSA8IC1yKSBjb2RlIHw9IDQ7IC8vIGJlbG93CisgICAgZWxz
ZSBpZiAocGhpID4gcikgY29kZSB8PSA4OyAvLyBhYm92ZQorICAgIHJldHVybiBjb2RlOworICB9
CisKKyAgcmV0dXJuIGNsaXAodmlzaWJsZSwgY2xpcExpbmUsIGludGVycG9sYXRlLCBzbWFsbFJh
ZGl1cyA/IFswLCAtcmFkaXVzXSA6IFstcGkkMywgcmFkaXVzIC0gcGkkM10pOworfQorCitmdW5j
dGlvbiBjbGlwTGluZShhLCBiLCB4MCwgeTAsIHgxLCB5MSkgeworICB2YXIgYXggPSBhWzBdLAor
ICAgICAgYXkgPSBhWzFdLAorICAgICAgYnggPSBiWzBdLAorICAgICAgYnkgPSBiWzFdLAorICAg
ICAgdDAgPSAwLAorICAgICAgdDEgPSAxLAorICAgICAgZHggPSBieCAtIGF4LAorICAgICAgZHkg
PSBieSAtIGF5LAorICAgICAgcjsKKworICByID0geDAgLSBheDsKKyAgaWYgKCFkeCAmJiByID4g
MCkgcmV0dXJuOworICByIC89IGR4OworICBpZiAoZHggPCAwKSB7CisgICAgaWYgKHIgPCB0MCkg
cmV0dXJuOworICAgIGlmIChyIDwgdDEpIHQxID0gcjsKKyAgfSBlbHNlIGlmIChkeCA+IDApIHsK
KyAgICBpZiAociA+IHQxKSByZXR1cm47CisgICAgaWYgKHIgPiB0MCkgdDAgPSByOworICB9CisK
KyAgciA9IHgxIC0gYXg7CisgIGlmICghZHggJiYgciA8IDApIHJldHVybjsKKyAgciAvPSBkeDsK
KyAgaWYgKGR4IDwgMCkgeworICAgIGlmIChyID4gdDEpIHJldHVybjsKKyAgICBpZiAociA+IHQw
KSB0MCA9IHI7CisgIH0gZWxzZSBpZiAoZHggPiAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJu
OworICAgIGlmIChyIDwgdDEpIHQxID0gcjsKKyAgfQorCisgIHIgPSB5MCAtIGF5OworICBpZiAo
IWR5ICYmIHIgPiAwKSByZXR1cm47CisgIHIgLz0gZHk7CisgIGlmIChkeSA8IDApIHsKKyAgICBp
ZiAociA8IHQwKSByZXR1cm47CisgICAgaWYgKHIgPCB0MSkgdDEgPSByOworICB9IGVsc2UgaWYg
KGR5ID4gMCkgeworICAgIGlmIChyID4gdDEpIHJldHVybjsKKyAgICBpZiAociA+IHQwKSB0MCA9
IHI7CisgIH0KKworICByID0geTEgLSBheTsKKyAgaWYgKCFkeSAmJiByIDwgMCkgcmV0dXJuOwor
ICByIC89IGR5OworICBpZiAoZHkgPCAwKSB7CisgICAgaWYgKHIgPiB0MSkgcmV0dXJuOworICAg
IGlmIChyID4gdDApIHQwID0gcjsKKyAgfSBlbHNlIGlmIChkeSA+IDApIHsKKyAgICBpZiAociA8
IHQwKSByZXR1cm47CisgICAgaWYgKHIgPCB0MSkgdDEgPSByOworICB9CisKKyAgaWYgKHQwID4g
MCkgYVswXSA9IGF4ICsgdDAgKiBkeCwgYVsxXSA9IGF5ICsgdDAgKiBkeTsKKyAgaWYgKHQxIDwg
MSkgYlswXSA9IGF4ICsgdDEgKiBkeCwgYlsxXSA9IGF5ICsgdDEgKiBkeTsKKyAgcmV0dXJuIHRy
dWU7Cit9CisKK3ZhciBjbGlwTWF4ID0gMWU5LCBjbGlwTWluID0gLWNsaXBNYXg7CisKKy8vIFRP
RE8gVXNlIGQzLXBvbHlnb27igJlzIHBvbHlnb25Db250YWlucyBoZXJlIGZvciB0aGUgcmluZyBj
aGVjaz8KKy8vIFRPRE8gRWxpbWluYXRlIGR1cGxpY2F0ZSBidWZmZXJpbmcgaW4gY2xpcEJ1ZmZl
ciBhbmQgcG9seWdvbi5wdXNoPworCitmdW5jdGlvbiBjbGlwUmVjdGFuZ2xlKHgwLCB5MCwgeDEs
IHkxKSB7CisKKyAgZnVuY3Rpb24gdmlzaWJsZSh4LCB5KSB7CisgICAgcmV0dXJuIHgwIDw9IHgg
JiYgeCA8PSB4MSAmJiB5MCA8PSB5ICYmIHkgPD0geTE7CisgIH0KKworICBmdW5jdGlvbiBpbnRl
cnBvbGF0ZShmcm9tLCB0bywgZGlyZWN0aW9uLCBzdHJlYW0pIHsKKyAgICB2YXIgYSA9IDAsIGEx
ID0gMDsKKyAgICBpZiAoZnJvbSA9PSBudWxsCisgICAgICAgIHx8IChhID0gY29ybmVyKGZyb20s
IGRpcmVjdGlvbikpICE9PSAoYTEgPSBjb3JuZXIodG8sIGRpcmVjdGlvbikpCisgICAgICAgIHx8
IGNvbXBhcmVQb2ludChmcm9tLCB0bykgPCAwIF4gZGlyZWN0aW9uID4gMCkgeworICAgICAgZG8g
c3RyZWFtLnBvaW50KGEgPT09IDAgfHwgYSA9PT0gMyA/IHgwIDogeDEsIGEgPiAxID8geTEgOiB5
MCk7CisgICAgICB3aGlsZSAoKGEgPSAoYSArIGRpcmVjdGlvbiArIDQpICUgNCkgIT09IGExKTsK
KyAgICB9IGVsc2UgeworICAgICAgc3RyZWFtLnBvaW50KHRvWzBdLCB0b1sxXSk7CisgICAgfQor
ICB9CisKKyAgZnVuY3Rpb24gY29ybmVyKHAsIGRpcmVjdGlvbikgeworICAgIHJldHVybiBhYnMo
cFswXSAtIHgwKSA8IGVwc2lsb24kMiA/IGRpcmVjdGlvbiA+IDAgPyAwIDogMworICAgICAgICA6
IGFicyhwWzBdIC0geDEpIDwgZXBzaWxvbiQyID8gZGlyZWN0aW9uID4gMCA/IDIgOiAxCisgICAg
ICAgIDogYWJzKHBbMV0gLSB5MCkgPCBlcHNpbG9uJDIgPyBkaXJlY3Rpb24gPiAwID8gMSA6IDAK
KyAgICAgICAgOiBkaXJlY3Rpb24gPiAwID8gMyA6IDI7IC8vIGFicyhwWzFdIC0geTEpIDwgZXBz
aWxvbgorICB9CisKKyAgZnVuY3Rpb24gY29tcGFyZUludGVyc2VjdGlvbihhLCBiKSB7CisgICAg
cmV0dXJuIGNvbXBhcmVQb2ludChhLngsIGIueCk7CisgIH0KKworICBmdW5jdGlvbiBjb21wYXJl
UG9pbnQoYSwgYikgeworICAgIHZhciBjYSA9IGNvcm5lcihhLCAxKSwKKyAgICAgICAgY2IgPSBj
b3JuZXIoYiwgMSk7CisgICAgcmV0dXJuIGNhICE9PSBjYiA/IGNhIC0gY2IKKyAgICAgICAgOiBj
YSA9PT0gMCA/IGJbMV0gLSBhWzFdCisgICAgICAgIDogY2EgPT09IDEgPyBhWzBdIC0gYlswXQor
ICAgICAgICA6IGNhID09PSAyID8gYVsxXSAtIGJbMV0KKyAgICAgICAgOiBiWzBdIC0gYVswXTsK
KyAgfQorCisgIHJldHVybiBmdW5jdGlvbihzdHJlYW0pIHsKKyAgICB2YXIgYWN0aXZlU3RyZWFt
ID0gc3RyZWFtLAorICAgICAgICBidWZmZXJTdHJlYW0gPSBjbGlwQnVmZmVyKCksCisgICAgICAg
IHNlZ21lbnRzLAorICAgICAgICBwb2x5Z29uLAorICAgICAgICByaW5nLAorICAgICAgICB4X18s
IHlfXywgdl9fLCAvLyBmaXJzdCBwb2ludAorICAgICAgICB4XywgeV8sIHZfLCAvLyBwcmV2aW91
cyBwb2ludAorICAgICAgICBmaXJzdCwKKyAgICAgICAgY2xlYW47CisKKyAgICB2YXIgY2xpcFN0
cmVhbSA9IHsKKyAgICAgIHBvaW50OiBwb2ludCwKKyAgICAgIGxpbmVTdGFydDogbGluZVN0YXJ0
LAorICAgICAgbGluZUVuZDogbGluZUVuZCwKKyAgICAgIHBvbHlnb25TdGFydDogcG9seWdvblN0
YXJ0LAorICAgICAgcG9seWdvbkVuZDogcG9seWdvbkVuZAorICAgIH07CisKKyAgICBmdW5jdGlv
biBwb2ludCh4LCB5KSB7CisgICAgICBpZiAodmlzaWJsZSh4LCB5KSkgYWN0aXZlU3RyZWFtLnBv
aW50KHgsIHkpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHBvbHlnb25JbnNpZGUoKSB7CisgICAg
ICB2YXIgd2luZGluZyA9IDA7CisKKyAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gcG9seWdvbi5s
ZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgZm9yICh2YXIgcmluZyA9IHBvbHlnb25baV0s
IGogPSAxLCBtID0gcmluZy5sZW5ndGgsIHBvaW50ID0gcmluZ1swXSwgYTAsIGExLCBiMCA9IHBv
aW50WzBdLCBiMSA9IHBvaW50WzFdOyBqIDwgbTsgKytqKSB7CisgICAgICAgICAgYTAgPSBiMCwg
YTEgPSBiMSwgcG9pbnQgPSByaW5nW2pdLCBiMCA9IHBvaW50WzBdLCBiMSA9IHBvaW50WzFdOwor
ICAgICAgICAgIGlmIChhMSA8PSB5MSkgeyBpZiAoYjEgPiB5MSAmJiAoYjAgLSBhMCkgKiAoeTEg
LSBhMSkgPiAoYjEgLSBhMSkgKiAoeDAgLSBhMCkpICsrd2luZGluZzsgfQorICAgICAgICAgIGVs
c2UgeyBpZiAoYjEgPD0geTEgJiYgKGIwIC0gYTApICogKHkxIC0gYTEpIDwgKGIxIC0gYTEpICog
KHgwIC0gYTApKSAtLXdpbmRpbmc7IH0KKyAgICAgICAgfQorICAgICAgfQorCisgICAgICByZXR1
cm4gd2luZGluZzsKKyAgICB9CisKKyAgICAvLyBCdWZmZXIgZ2VvbWV0cnkgd2l0aGluIGEgcG9s
eWdvbiBhbmQgdGhlbiBjbGlwIGl0IGVuIG1hc3NlLgorICAgIGZ1bmN0aW9uIHBvbHlnb25TdGFy
dCgpIHsKKyAgICAgIGFjdGl2ZVN0cmVhbSA9IGJ1ZmZlclN0cmVhbSwgc2VnbWVudHMgPSBbXSwg
cG9seWdvbiA9IFtdLCBjbGVhbiA9IHRydWU7CisgICAgfQorCisgICAgZnVuY3Rpb24gcG9seWdv
bkVuZCgpIHsKKyAgICAgIHZhciBzdGFydEluc2lkZSA9IHBvbHlnb25JbnNpZGUoKSwKKyAgICAg
ICAgICBjbGVhbkluc2lkZSA9IGNsZWFuICYmIHN0YXJ0SW5zaWRlLAorICAgICAgICAgIHZpc2li
bGUgPSAoc2VnbWVudHMgPSBtZXJnZShzZWdtZW50cykpLmxlbmd0aDsKKyAgICAgIGlmIChjbGVh
bkluc2lkZSB8fCB2aXNpYmxlKSB7CisgICAgICAgIHN0cmVhbS5wb2x5Z29uU3RhcnQoKTsKKyAg
ICAgICAgaWYgKGNsZWFuSW5zaWRlKSB7CisgICAgICAgICAgc3RyZWFtLmxpbmVTdGFydCgpOwor
ICAgICAgICAgIGludGVycG9sYXRlKG51bGwsIG51bGwsIDEsIHN0cmVhbSk7CisgICAgICAgICAg
c3RyZWFtLmxpbmVFbmQoKTsKKyAgICAgICAgfQorICAgICAgICBpZiAodmlzaWJsZSkgeworICAg
ICAgICAgIGNsaXBSZWpvaW4oc2VnbWVudHMsIGNvbXBhcmVJbnRlcnNlY3Rpb24sIHN0YXJ0SW5z
aWRlLCBpbnRlcnBvbGF0ZSwgc3RyZWFtKTsKKyAgICAgICAgfQorICAgICAgICBzdHJlYW0ucG9s
eWdvbkVuZCgpOworICAgICAgfQorICAgICAgYWN0aXZlU3RyZWFtID0gc3RyZWFtLCBzZWdtZW50
cyA9IHBvbHlnb24gPSByaW5nID0gbnVsbDsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsaW5lU3Rh
cnQoKSB7CisgICAgICBjbGlwU3RyZWFtLnBvaW50ID0gbGluZVBvaW50OworICAgICAgaWYgKHBv
bHlnb24pIHBvbHlnb24ucHVzaChyaW5nID0gW10pOworICAgICAgZmlyc3QgPSB0cnVlOworICAg
ICAgdl8gPSBmYWxzZTsKKyAgICAgIHhfID0geV8gPSBOYU47CisgICAgfQorCisgICAgLy8gVE9E
TyByYXRoZXIgdGhhbiBzcGVjaWFsLWNhc2UgcG9seWdvbnMsIHNpbXBseSBoYW5kbGUgdGhlbSBz
ZXBhcmF0ZWx5LgorICAgIC8vIElkZWFsbHksIGNvaW5jaWRlbnQgaW50ZXJzZWN0aW9uIHBvaW50
cyBzaG91bGQgYmUgaml0dGVyZWQgdG8gYXZvaWQKKyAgICAvLyBjbGlwcGluZyBpc3N1ZXMuCisg
ICAgZnVuY3Rpb24gbGluZUVuZCgpIHsKKyAgICAgIGlmIChzZWdtZW50cykgeworICAgICAgICBs
aW5lUG9pbnQoeF9fLCB5X18pOworICAgICAgICBpZiAodl9fICYmIHZfKSBidWZmZXJTdHJlYW0u
cmVqb2luKCk7CisgICAgICAgIHNlZ21lbnRzLnB1c2goYnVmZmVyU3RyZWFtLnJlc3VsdCgpKTsK
KyAgICAgIH0KKyAgICAgIGNsaXBTdHJlYW0ucG9pbnQgPSBwb2ludDsKKyAgICAgIGlmICh2Xykg
YWN0aXZlU3RyZWFtLmxpbmVFbmQoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsaW5lUG9pbnQo
eCwgeSkgeworICAgICAgdmFyIHYgPSB2aXNpYmxlKHgsIHkpOworICAgICAgaWYgKHBvbHlnb24p
IHJpbmcucHVzaChbeCwgeV0pOworICAgICAgaWYgKGZpcnN0KSB7CisgICAgICAgIHhfXyA9IHgs
IHlfXyA9IHksIHZfXyA9IHY7CisgICAgICAgIGZpcnN0ID0gZmFsc2U7CisgICAgICAgIGlmICh2
KSB7CisgICAgICAgICAgYWN0aXZlU3RyZWFtLmxpbmVTdGFydCgpOworICAgICAgICAgIGFjdGl2
ZVN0cmVhbS5wb2ludCh4LCB5KTsKKyAgICAgICAgfQorICAgICAgfSBlbHNlIHsKKyAgICAgICAg
aWYgKHYgJiYgdl8pIGFjdGl2ZVN0cmVhbS5wb2ludCh4LCB5KTsKKyAgICAgICAgZWxzZSB7Cisg
ICAgICAgICAgdmFyIGEgPSBbeF8gPSBNYXRoLm1heChjbGlwTWluLCBNYXRoLm1pbihjbGlwTWF4
LCB4XykpLCB5XyA9IE1hdGgubWF4KGNsaXBNaW4sIE1hdGgubWluKGNsaXBNYXgsIHlfKSldLAor
ICAgICAgICAgICAgICBiID0gW3ggPSBNYXRoLm1heChjbGlwTWluLCBNYXRoLm1pbihjbGlwTWF4
LCB4KSksIHkgPSBNYXRoLm1heChjbGlwTWluLCBNYXRoLm1pbihjbGlwTWF4LCB5KSldOworICAg
ICAgICAgIGlmIChjbGlwTGluZShhLCBiLCB4MCwgeTAsIHgxLCB5MSkpIHsKKyAgICAgICAgICAg
IGlmICghdl8pIHsKKyAgICAgICAgICAgICAgYWN0aXZlU3RyZWFtLmxpbmVTdGFydCgpOworICAg
ICAgICAgICAgICBhY3RpdmVTdHJlYW0ucG9pbnQoYVswXSwgYVsxXSk7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBhY3RpdmVTdHJlYW0ucG9pbnQoYlswXSwgYlsxXSk7CisgICAgICAgICAg
ICBpZiAoIXYpIGFjdGl2ZVN0cmVhbS5saW5lRW5kKCk7CisgICAgICAgICAgICBjbGVhbiA9IGZh
bHNlOworICAgICAgICAgIH0gZWxzZSBpZiAodikgeworICAgICAgICAgICAgYWN0aXZlU3RyZWFt
LmxpbmVTdGFydCgpOworICAgICAgICAgICAgYWN0aXZlU3RyZWFtLnBvaW50KHgsIHkpOworICAg
ICAgICAgICAgY2xlYW4gPSBmYWxzZTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0K
KyAgICAgIHhfID0geCwgeV8gPSB5LCB2XyA9IHY7CisgICAgfQorCisgICAgcmV0dXJuIGNsaXBT
dHJlYW07CisgIH07Cit9CisKK2Z1bmN0aW9uIGV4dGVudCQxKCkgeworICB2YXIgeDAgPSAwLAor
ICAgICAgeTAgPSAwLAorICAgICAgeDEgPSA5NjAsCisgICAgICB5MSA9IDUwMCwKKyAgICAgIGNh
Y2hlLAorICAgICAgY2FjaGVTdHJlYW0sCisgICAgICBjbGlwOworCisgIHJldHVybiBjbGlwID0g
eworICAgIHN0cmVhbTogZnVuY3Rpb24oc3RyZWFtKSB7CisgICAgICByZXR1cm4gY2FjaGUgJiYg
Y2FjaGVTdHJlYW0gPT09IHN0cmVhbSA/IGNhY2hlIDogY2FjaGUgPSBjbGlwUmVjdGFuZ2xlKHgw
LCB5MCwgeDEsIHkxKShjYWNoZVN0cmVhbSA9IHN0cmVhbSk7CisgICAgfSwKKyAgICBleHRlbnQ6
IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHgwID0gK19b
MF1bMF0sIHkwID0gK19bMF1bMV0sIHgxID0gK19bMV1bMF0sIHkxID0gK19bMV1bMV0sIGNhY2hl
ID0gY2FjaGVTdHJlYW0gPSBudWxsLCBjbGlwKSA6IFtbeDAsIHkwXSwgW3gxLCB5MV1dOworICAg
IH0KKyAgfTsKK30KKwordmFyIGxlbmd0aFN1bSA9IGFkZGVyKCksCisgICAgbGFtYmRhMCQyLAor
ICAgIHNpblBoaTAkMSwKKyAgICBjb3NQaGkwJDE7CisKK3ZhciBsZW5ndGhTdHJlYW0gPSB7Cisg
IHNwaGVyZTogbm9vcCQyLAorICBwb2ludDogbm9vcCQyLAorICBsaW5lU3RhcnQ6IGxlbmd0aExp
bmVTdGFydCwKKyAgbGluZUVuZDogbm9vcCQyLAorICBwb2x5Z29uU3RhcnQ6IG5vb3AkMiwKKyAg
cG9seWdvbkVuZDogbm9vcCQyCit9OworCitmdW5jdGlvbiBsZW5ndGhMaW5lU3RhcnQoKSB7Cisg
IGxlbmd0aFN0cmVhbS5wb2ludCA9IGxlbmd0aFBvaW50Rmlyc3Q7CisgIGxlbmd0aFN0cmVhbS5s
aW5lRW5kID0gbGVuZ3RoTGluZUVuZDsKK30KKworZnVuY3Rpb24gbGVuZ3RoTGluZUVuZCgpIHsK
KyAgbGVuZ3RoU3RyZWFtLnBvaW50ID0gbGVuZ3RoU3RyZWFtLmxpbmVFbmQgPSBub29wJDI7Cit9
CisKK2Z1bmN0aW9uIGxlbmd0aFBvaW50Rmlyc3QobGFtYmRhLCBwaGkpIHsKKyAgbGFtYmRhICo9
IHJhZGlhbnMsIHBoaSAqPSByYWRpYW5zOworICBsYW1iZGEwJDIgPSBsYW1iZGEsIHNpblBoaTAk
MSA9IHNpbiQxKHBoaSksIGNvc1BoaTAkMSA9IGNvcyQxKHBoaSk7CisgIGxlbmd0aFN0cmVhbS5w
b2ludCA9IGxlbmd0aFBvaW50OworfQorCitmdW5jdGlvbiBsZW5ndGhQb2ludChsYW1iZGEsIHBo
aSkgeworICBsYW1iZGEgKj0gcmFkaWFucywgcGhpICo9IHJhZGlhbnM7CisgIHZhciBzaW5QaGkg
PSBzaW4kMShwaGkpLAorICAgICAgY29zUGhpID0gY29zJDEocGhpKSwKKyAgICAgIGRlbHRhID0g
YWJzKGxhbWJkYSAtIGxhbWJkYTAkMiksCisgICAgICBjb3NEZWx0YSA9IGNvcyQxKGRlbHRhKSwK
KyAgICAgIHNpbkRlbHRhID0gc2luJDEoZGVsdGEpLAorICAgICAgeCA9IGNvc1BoaSAqIHNpbkRl
bHRhLAorICAgICAgeSA9IGNvc1BoaTAkMSAqIHNpblBoaSAtIHNpblBoaTAkMSAqIGNvc1BoaSAq
IGNvc0RlbHRhLAorICAgICAgeiA9IHNpblBoaTAkMSAqIHNpblBoaSArIGNvc1BoaTAkMSAqIGNv
c1BoaSAqIGNvc0RlbHRhOworICBsZW5ndGhTdW0uYWRkKGF0YW4yKHNxcnQoeCAqIHggKyB5ICog
eSksIHopKTsKKyAgbGFtYmRhMCQyID0gbGFtYmRhLCBzaW5QaGkwJDEgPSBzaW5QaGksIGNvc1Bo
aTAkMSA9IGNvc1BoaTsKK30KKworZnVuY3Rpb24gbGVuZ3RoJDEob2JqZWN0KSB7CisgIGxlbmd0
aFN1bS5yZXNldCgpOworICBnZW9TdHJlYW0ob2JqZWN0LCBsZW5ndGhTdHJlYW0pOworICByZXR1
cm4gK2xlbmd0aFN1bTsKK30KKwordmFyIGNvb3JkaW5hdGVzID0gW251bGwsIG51bGxdLAorICAg
IG9iamVjdCQxID0ge3R5cGU6ICJMaW5lU3RyaW5nIiwgY29vcmRpbmF0ZXM6IGNvb3JkaW5hdGVz
fTsKKworZnVuY3Rpb24gZGlzdGFuY2UoYSwgYikgeworICBjb29yZGluYXRlc1swXSA9IGE7Cisg
IGNvb3JkaW5hdGVzWzFdID0gYjsKKyAgcmV0dXJuIGxlbmd0aCQxKG9iamVjdCQxKTsKK30KKwor
dmFyIGNvbnRhaW5zT2JqZWN0VHlwZSA9IHsKKyAgRmVhdHVyZTogZnVuY3Rpb24ob2JqZWN0LCBw
b2ludCkgeworICAgIHJldHVybiBjb250YWluc0dlb21ldHJ5KG9iamVjdC5nZW9tZXRyeSwgcG9p
bnQpOworICB9LAorICBGZWF0dXJlQ29sbGVjdGlvbjogZnVuY3Rpb24ob2JqZWN0LCBwb2ludCkg
eworICAgIHZhciBmZWF0dXJlcyA9IG9iamVjdC5mZWF0dXJlcywgaSA9IC0xLCBuID0gZmVhdHVy
ZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBpZiAoY29udGFpbnNHZW9tZXRyeShmZWF0
dXJlc1tpXS5nZW9tZXRyeSwgcG9pbnQpKSByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7
CisgIH0KK307CisKK3ZhciBjb250YWluc0dlb21ldHJ5VHlwZSA9IHsKKyAgU3BoZXJlOiBmdW5j
dGlvbigpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfSwKKyAgUG9pbnQ6IGZ1bmN0aW9uKG9iamVj
dCwgcG9pbnQpIHsKKyAgICByZXR1cm4gY29udGFpbnNQb2ludChvYmplY3QuY29vcmRpbmF0ZXMs
IHBvaW50KTsKKyAgfSwKKyAgTXVsdGlQb2ludDogZnVuY3Rpb24ob2JqZWN0LCBwb2ludCkgewor
ICAgIHZhciBjb29yZGluYXRlcyA9IG9iamVjdC5jb29yZGluYXRlcywgaSA9IC0xLCBuID0gY29v
cmRpbmF0ZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBpZiAoY29udGFpbnNQb2ludChj
b29yZGluYXRlc1tpXSwgcG9pbnQpKSByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7Cisg
IH0sCisgIExpbmVTdHJpbmc6IGZ1bmN0aW9uKG9iamVjdCwgcG9pbnQpIHsKKyAgICByZXR1cm4g
Y29udGFpbnNMaW5lKG9iamVjdC5jb29yZGluYXRlcywgcG9pbnQpOworICB9LAorICBNdWx0aUxp
bmVTdHJpbmc6IGZ1bmN0aW9uKG9iamVjdCwgcG9pbnQpIHsKKyAgICB2YXIgY29vcmRpbmF0ZXMg
PSBvYmplY3QuY29vcmRpbmF0ZXMsIGkgPSAtMSwgbiA9IGNvb3JkaW5hdGVzLmxlbmd0aDsKKyAg
ICB3aGlsZSAoKytpIDwgbikgaWYgKGNvbnRhaW5zTGluZShjb29yZGluYXRlc1tpXSwgcG9pbnQp
KSByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0sCisgIFBvbHlnb246IGZ1bmN0
aW9uKG9iamVjdCwgcG9pbnQpIHsKKyAgICByZXR1cm4gY29udGFpbnNQb2x5Z29uKG9iamVjdC5j
b29yZGluYXRlcywgcG9pbnQpOworICB9LAorICBNdWx0aVBvbHlnb246IGZ1bmN0aW9uKG9iamVj
dCwgcG9pbnQpIHsKKyAgICB2YXIgY29vcmRpbmF0ZXMgPSBvYmplY3QuY29vcmRpbmF0ZXMsIGkg
PSAtMSwgbiA9IGNvb3JkaW5hdGVzLmxlbmd0aDsKKyAgICB3aGlsZSAoKytpIDwgbikgaWYgKGNv
bnRhaW5zUG9seWdvbihjb29yZGluYXRlc1tpXSwgcG9pbnQpKSByZXR1cm4gdHJ1ZTsKKyAgICBy
ZXR1cm4gZmFsc2U7CisgIH0sCisgIEdlb21ldHJ5Q29sbGVjdGlvbjogZnVuY3Rpb24ob2JqZWN0
LCBwb2ludCkgeworICAgIHZhciBnZW9tZXRyaWVzID0gb2JqZWN0Lmdlb21ldHJpZXMsIGkgPSAt
MSwgbiA9IGdlb21ldHJpZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBpZiAoY29udGFp
bnNHZW9tZXRyeShnZW9tZXRyaWVzW2ldLCBwb2ludCkpIHJldHVybiB0cnVlOworICAgIHJldHVy
biBmYWxzZTsKKyAgfQorfTsKKworZnVuY3Rpb24gY29udGFpbnNHZW9tZXRyeShnZW9tZXRyeSwg
cG9pbnQpIHsKKyAgcmV0dXJuIGdlb21ldHJ5ICYmIGNvbnRhaW5zR2VvbWV0cnlUeXBlLmhhc093
blByb3BlcnR5KGdlb21ldHJ5LnR5cGUpCisgICAgICA/IGNvbnRhaW5zR2VvbWV0cnlUeXBlW2dl
b21ldHJ5LnR5cGVdKGdlb21ldHJ5LCBwb2ludCkKKyAgICAgIDogZmFsc2U7Cit9CisKK2Z1bmN0
aW9uIGNvbnRhaW5zUG9pbnQoY29vcmRpbmF0ZXMsIHBvaW50KSB7CisgIHJldHVybiBkaXN0YW5j
ZShjb29yZGluYXRlcywgcG9pbnQpID09PSAwOworfQorCitmdW5jdGlvbiBjb250YWluc0xpbmUo
Y29vcmRpbmF0ZXMsIHBvaW50KSB7CisgIHZhciBhbywgYm8sIGFiOworICBmb3IgKHZhciBpID0g
MCwgbiA9IGNvb3JkaW5hdGVzLmxlbmd0aDsgaSA8IG47IGkrKykgeworICAgIGJvID0gZGlzdGFu
Y2UoY29vcmRpbmF0ZXNbaV0sIHBvaW50KTsKKyAgICBpZiAoYm8gPT09IDApIHJldHVybiB0cnVl
OworICAgIGlmIChpID4gMCkgeworICAgICAgYWIgPSBkaXN0YW5jZShjb29yZGluYXRlc1tpXSwg
Y29vcmRpbmF0ZXNbaSAtIDFdKTsKKyAgICAgIGlmICgKKyAgICAgICAgYWIgPiAwICYmCisgICAg
ICAgIGFvIDw9IGFiICYmCisgICAgICAgIGJvIDw9IGFiICYmCisgICAgICAgIChhbyArIGJvIC0g
YWIpICogKDEgLSBNYXRoLnBvdygoYW8gLSBibykgLyBhYiwgMikpIDwgZXBzaWxvbjIkMSAqIGFi
CisgICAgICApCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBhbyA9IGJvOworICB9
CisgIHJldHVybiBmYWxzZTsKK30KKworZnVuY3Rpb24gY29udGFpbnNQb2x5Z29uKGNvb3JkaW5h
dGVzLCBwb2ludCkgeworICByZXR1cm4gISFwb2x5Z29uQ29udGFpbnMoY29vcmRpbmF0ZXMubWFw
KHJpbmdSYWRpYW5zKSwgcG9pbnRSYWRpYW5zKHBvaW50KSk7Cit9CisKK2Z1bmN0aW9uIHJpbmdS
YWRpYW5zKHJpbmcpIHsKKyAgcmV0dXJuIHJpbmcgPSByaW5nLm1hcChwb2ludFJhZGlhbnMpLCBy
aW5nLnBvcCgpLCByaW5nOworfQorCitmdW5jdGlvbiBwb2ludFJhZGlhbnMocG9pbnQpIHsKKyAg
cmV0dXJuIFtwb2ludFswXSAqIHJhZGlhbnMsIHBvaW50WzFdICogcmFkaWFuc107Cit9CisKK2Z1
bmN0aW9uIGNvbnRhaW5zJDEob2JqZWN0LCBwb2ludCkgeworICByZXR1cm4gKG9iamVjdCAmJiBj
b250YWluc09iamVjdFR5cGUuaGFzT3duUHJvcGVydHkob2JqZWN0LnR5cGUpCisgICAgICA/IGNv
bnRhaW5zT2JqZWN0VHlwZVtvYmplY3QudHlwZV0KKyAgICAgIDogY29udGFpbnNHZW9tZXRyeSko
b2JqZWN0LCBwb2ludCk7Cit9CisKK2Z1bmN0aW9uIGdyYXRpY3VsZVgoeTAsIHkxLCBkeSkgewor
ICB2YXIgeSA9IHNlcXVlbmNlKHkwLCB5MSAtIGVwc2lsb24kMiwgZHkpLmNvbmNhdCh5MSk7Cisg
IHJldHVybiBmdW5jdGlvbih4KSB7IHJldHVybiB5Lm1hcChmdW5jdGlvbih5KSB7IHJldHVybiBb
eCwgeV07IH0pOyB9OworfQorCitmdW5jdGlvbiBncmF0aWN1bGVZKHgwLCB4MSwgZHgpIHsKKyAg
dmFyIHggPSBzZXF1ZW5jZSh4MCwgeDEgLSBlcHNpbG9uJDIsIGR4KS5jb25jYXQoeDEpOworICBy
ZXR1cm4gZnVuY3Rpb24oeSkgeyByZXR1cm4geC5tYXAoZnVuY3Rpb24oeCkgeyByZXR1cm4gW3gs
IHldOyB9KTsgfTsKK30KKworZnVuY3Rpb24gZ3JhdGljdWxlKCkgeworICB2YXIgeDEsIHgwLCBY
MSwgWDAsCisgICAgICB5MSwgeTAsIFkxLCBZMCwKKyAgICAgIGR4ID0gMTAsIGR5ID0gZHgsIERY
ID0gOTAsIERZID0gMzYwLAorICAgICAgeCwgeSwgWCwgWSwKKyAgICAgIHByZWNpc2lvbiA9IDIu
NTsKKworICBmdW5jdGlvbiBncmF0aWN1bGUoKSB7CisgICAgcmV0dXJuIHt0eXBlOiAiTXVsdGlM
aW5lU3RyaW5nIiwgY29vcmRpbmF0ZXM6IGxpbmVzKCl9OworICB9CisKKyAgZnVuY3Rpb24gbGlu
ZXMoKSB7CisgICAgcmV0dXJuIHNlcXVlbmNlKGNlaWwoWDAgLyBEWCkgKiBEWCwgWDEsIERYKS5t
YXAoWCkKKyAgICAgICAgLmNvbmNhdChzZXF1ZW5jZShjZWlsKFkwIC8gRFkpICogRFksIFkxLCBE
WSkubWFwKFkpKQorICAgICAgICAuY29uY2F0KHNlcXVlbmNlKGNlaWwoeDAgLyBkeCkgKiBkeCwg
eDEsIGR4KS5maWx0ZXIoZnVuY3Rpb24oeCkgeyByZXR1cm4gYWJzKHggJSBEWCkgPiBlcHNpbG9u
JDI7IH0pLm1hcCh4KSkKKyAgICAgICAgLmNvbmNhdChzZXF1ZW5jZShjZWlsKHkwIC8gZHkpICog
ZHksIHkxLCBkeSkuZmlsdGVyKGZ1bmN0aW9uKHkpIHsgcmV0dXJuIGFicyh5ICUgRFkpID4gZXBz
aWxvbiQyOyB9KS5tYXAoeSkpOworICB9CisKKyAgZ3JhdGljdWxlLmxpbmVzID0gZnVuY3Rpb24o
KSB7CisgICAgcmV0dXJuIGxpbmVzKCkubWFwKGZ1bmN0aW9uKGNvb3JkaW5hdGVzKSB7IHJldHVy
biB7dHlwZTogIkxpbmVTdHJpbmciLCBjb29yZGluYXRlczogY29vcmRpbmF0ZXN9OyB9KTsKKyAg
fTsKKworICBncmF0aWN1bGUub3V0bGluZSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB7Cisg
ICAgICB0eXBlOiAiUG9seWdvbiIsCisgICAgICBjb29yZGluYXRlczogWworICAgICAgICBYKFgw
KS5jb25jYXQoCisgICAgICAgIFkoWTEpLnNsaWNlKDEpLAorICAgICAgICBYKFgxKS5yZXZlcnNl
KCkuc2xpY2UoMSksCisgICAgICAgIFkoWTApLnJldmVyc2UoKS5zbGljZSgxKSkKKyAgICAgIF0K
KyAgICB9OworICB9OworCisgIGdyYXRpY3VsZS5leHRlbnQgPSBmdW5jdGlvbihfKSB7CisgICAg
aWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gZ3JhdGljdWxlLmV4dGVudE1pbm9yKCk7Cisg
ICAgcmV0dXJuIGdyYXRpY3VsZS5leHRlbnRNYWpvcihfKS5leHRlbnRNaW5vcihfKTsKKyAgfTsK
KworICBncmF0aWN1bGUuZXh0ZW50TWFqb3IgPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1
bWVudHMubGVuZ3RoKSByZXR1cm4gW1tYMCwgWTBdLCBbWDEsIFkxXV07CisgICAgWDAgPSArX1sw
XVswXSwgWDEgPSArX1sxXVswXTsKKyAgICBZMCA9ICtfWzBdWzFdLCBZMSA9ICtfWzFdWzFdOwor
ICAgIGlmIChYMCA+IFgxKSBfID0gWDAsIFgwID0gWDEsIFgxID0gXzsKKyAgICBpZiAoWTAgPiBZ
MSkgXyA9IFkwLCBZMCA9IFkxLCBZMSA9IF87CisgICAgcmV0dXJuIGdyYXRpY3VsZS5wcmVjaXNp
b24ocHJlY2lzaW9uKTsKKyAgfTsKKworICBncmF0aWN1bGUuZXh0ZW50TWlub3IgPSBmdW5jdGlv
bihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gW1t4MCwgeTBdLCBbeDEs
IHkxXV07CisgICAgeDAgPSArX1swXVswXSwgeDEgPSArX1sxXVswXTsKKyAgICB5MCA9ICtfWzBd
WzFdLCB5MSA9ICtfWzFdWzFdOworICAgIGlmICh4MCA+IHgxKSBfID0geDAsIHgwID0geDEsIHgx
ID0gXzsKKyAgICBpZiAoeTAgPiB5MSkgXyA9IHkwLCB5MCA9IHkxLCB5MSA9IF87CisgICAgcmV0
dXJuIGdyYXRpY3VsZS5wcmVjaXNpb24ocHJlY2lzaW9uKTsKKyAgfTsKKworICBncmF0aWN1bGUu
c3RlcCA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBn
cmF0aWN1bGUuc3RlcE1pbm9yKCk7CisgICAgcmV0dXJuIGdyYXRpY3VsZS5zdGVwTWFqb3IoXyku
c3RlcE1pbm9yKF8pOworICB9OworCisgIGdyYXRpY3VsZS5zdGVwTWFqb3IgPSBmdW5jdGlvbihf
KSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gW0RYLCBEWV07CisgICAgRFgg
PSArX1swXSwgRFkgPSArX1sxXTsKKyAgICByZXR1cm4gZ3JhdGljdWxlOworICB9OworCisgIGdy
YXRpY3VsZS5zdGVwTWlub3IgPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVu
Z3RoKSByZXR1cm4gW2R4LCBkeV07CisgICAgZHggPSArX1swXSwgZHkgPSArX1sxXTsKKyAgICBy
ZXR1cm4gZ3JhdGljdWxlOworICB9OworCisgIGdyYXRpY3VsZS5wcmVjaXNpb24gPSBmdW5jdGlv
bihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gcHJlY2lzaW9uOworICAg
IHByZWNpc2lvbiA9ICtfOworICAgIHggPSBncmF0aWN1bGVYKHkwLCB5MSwgOTApOworICAgIHkg
PSBncmF0aWN1bGVZKHgwLCB4MSwgcHJlY2lzaW9uKTsKKyAgICBYID0gZ3JhdGljdWxlWChZMCwg
WTEsIDkwKTsKKyAgICBZID0gZ3JhdGljdWxlWShYMCwgWDEsIHByZWNpc2lvbik7CisgICAgcmV0
dXJuIGdyYXRpY3VsZTsKKyAgfTsKKworICByZXR1cm4gZ3JhdGljdWxlCisgICAgICAuZXh0ZW50
TWFqb3IoW1stMTgwLCAtOTAgKyBlcHNpbG9uJDJdLCBbMTgwLCA5MCAtIGVwc2lsb24kMl1dKQor
ICAgICAgLmV4dGVudE1pbm9yKFtbLTE4MCwgLTgwIC0gZXBzaWxvbiQyXSwgWzE4MCwgODAgKyBl
cHNpbG9uJDJdXSk7Cit9CisKK2Z1bmN0aW9uIGdyYXRpY3VsZTEwKCkgeworICByZXR1cm4gZ3Jh
dGljdWxlKCkoKTsKK30KKworZnVuY3Rpb24gaW50ZXJwb2xhdGUkMShhLCBiKSB7CisgIHZhciB4
MCA9IGFbMF0gKiByYWRpYW5zLAorICAgICAgeTAgPSBhWzFdICogcmFkaWFucywKKyAgICAgIHgx
ID0gYlswXSAqIHJhZGlhbnMsCisgICAgICB5MSA9IGJbMV0gKiByYWRpYW5zLAorICAgICAgY3kw
ID0gY29zJDEoeTApLAorICAgICAgc3kwID0gc2luJDEoeTApLAorICAgICAgY3kxID0gY29zJDEo
eTEpLAorICAgICAgc3kxID0gc2luJDEoeTEpLAorICAgICAga3gwID0gY3kwICogY29zJDEoeDAp
LAorICAgICAga3kwID0gY3kwICogc2luJDEoeDApLAorICAgICAga3gxID0gY3kxICogY29zJDEo
eDEpLAorICAgICAga3kxID0gY3kxICogc2luJDEoeDEpLAorICAgICAgZCA9IDIgKiBhc2luKHNx
cnQoaGF2ZXJzaW4oeTEgLSB5MCkgKyBjeTAgKiBjeTEgKiBoYXZlcnNpbih4MSAtIHgwKSkpLAor
ICAgICAgayA9IHNpbiQxKGQpOworCisgIHZhciBpbnRlcnBvbGF0ZSA9IGQgPyBmdW5jdGlvbih0
KSB7CisgICAgdmFyIEIgPSBzaW4kMSh0ICo9IGQpIC8gaywKKyAgICAgICAgQSA9IHNpbiQxKGQg
LSB0KSAvIGssCisgICAgICAgIHggPSBBICoga3gwICsgQiAqIGt4MSwKKyAgICAgICAgeSA9IEEg
KiBreTAgKyBCICoga3kxLAorICAgICAgICB6ID0gQSAqIHN5MCArIEIgKiBzeTE7CisgICAgcmV0
dXJuIFsKKyAgICAgIGF0YW4yKHksIHgpICogZGVncmVlcyQxLAorICAgICAgYXRhbjIoeiwgc3Fy
dCh4ICogeCArIHkgKiB5KSkgKiBkZWdyZWVzJDEKKyAgICBdOworICB9IDogZnVuY3Rpb24oKSB7
CisgICAgcmV0dXJuIFt4MCAqIGRlZ3JlZXMkMSwgeTAgKiBkZWdyZWVzJDFdOworICB9OworCisg
IGludGVycG9sYXRlLmRpc3RhbmNlID0gZDsKKworICByZXR1cm4gaW50ZXJwb2xhdGU7Cit9CisK
K2Z1bmN0aW9uIGlkZW50aXR5JDQoeCkgeworICByZXR1cm4geDsKK30KKwordmFyIGFyZWFTdW0k
MSA9IGFkZGVyKCksCisgICAgYXJlYVJpbmdTdW0kMSA9IGFkZGVyKCksCisgICAgeDAwLAorICAg
IHkwMCwKKyAgICB4MCQxLAorICAgIHkwJDE7CisKK3ZhciBhcmVhU3RyZWFtJDEgPSB7CisgIHBv
aW50OiBub29wJDIsCisgIGxpbmVTdGFydDogbm9vcCQyLAorICBsaW5lRW5kOiBub29wJDIsCisg
IHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgYXJlYVN0cmVhbSQxLmxpbmVTdGFydCA9
IGFyZWFSaW5nU3RhcnQkMTsKKyAgICBhcmVhU3RyZWFtJDEubGluZUVuZCA9IGFyZWFSaW5nRW5k
JDE7CisgIH0sCisgIHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIGFyZWFTdHJlYW0kMS5s
aW5lU3RhcnQgPSBhcmVhU3RyZWFtJDEubGluZUVuZCA9IGFyZWFTdHJlYW0kMS5wb2ludCA9IG5v
b3AkMjsKKyAgICBhcmVhU3VtJDEuYWRkKGFicyhhcmVhUmluZ1N1bSQxKSk7CisgICAgYXJlYVJp
bmdTdW0kMS5yZXNldCgpOworICB9LAorICByZXN1bHQ6IGZ1bmN0aW9uKCkgeworICAgIHZhciBh
cmVhID0gYXJlYVN1bSQxIC8gMjsKKyAgICBhcmVhU3VtJDEucmVzZXQoKTsKKyAgICByZXR1cm4g
YXJlYTsKKyAgfQorfTsKKworZnVuY3Rpb24gYXJlYVJpbmdTdGFydCQxKCkgeworICBhcmVhU3Ry
ZWFtJDEucG9pbnQgPSBhcmVhUG9pbnRGaXJzdCQxOworfQorCitmdW5jdGlvbiBhcmVhUG9pbnRG
aXJzdCQxKHgsIHkpIHsKKyAgYXJlYVN0cmVhbSQxLnBvaW50ID0gYXJlYVBvaW50JDE7CisgIHgw
MCA9IHgwJDEgPSB4LCB5MDAgPSB5MCQxID0geTsKK30KKworZnVuY3Rpb24gYXJlYVBvaW50JDEo
eCwgeSkgeworICBhcmVhUmluZ1N1bSQxLmFkZCh5MCQxICogeCAtIHgwJDEgKiB5KTsKKyAgeDAk
MSA9IHgsIHkwJDEgPSB5OworfQorCitmdW5jdGlvbiBhcmVhUmluZ0VuZCQxKCkgeworICBhcmVh
UG9pbnQkMSh4MDAsIHkwMCk7Cit9CisKK3ZhciB4MCQyID0gSW5maW5pdHksCisgICAgeTAkMiA9
IHgwJDIsCisgICAgeDEgPSAteDAkMiwKKyAgICB5MSA9IHgxOworCit2YXIgYm91bmRzU3RyZWFt
JDEgPSB7CisgIHBvaW50OiBib3VuZHNQb2ludCQxLAorICBsaW5lU3RhcnQ6IG5vb3AkMiwKKyAg
bGluZUVuZDogbm9vcCQyLAorICBwb2x5Z29uU3RhcnQ6IG5vb3AkMiwKKyAgcG9seWdvbkVuZDog
bm9vcCQyLAorICByZXN1bHQ6IGZ1bmN0aW9uKCkgeworICAgIHZhciBib3VuZHMgPSBbW3gwJDIs
IHkwJDJdLCBbeDEsIHkxXV07CisgICAgeDEgPSB5MSA9IC0oeTAkMiA9IHgwJDIgPSBJbmZpbml0
eSk7CisgICAgcmV0dXJuIGJvdW5kczsKKyAgfQorfTsKKworZnVuY3Rpb24gYm91bmRzUG9pbnQk
MSh4LCB5KSB7CisgIGlmICh4IDwgeDAkMikgeDAkMiA9IHg7CisgIGlmICh4ID4geDEpIHgxID0g
eDsKKyAgaWYgKHkgPCB5MCQyKSB5MCQyID0geTsKKyAgaWYgKHkgPiB5MSkgeTEgPSB5OworfQor
CisvLyBUT0RPIEVuZm9yY2UgcG9zaXRpdmUgYXJlYSBmb3IgZXh0ZXJpb3IsIG5lZ2F0aXZlIGFy
ZWEgZm9yIGludGVyaW9yPworCit2YXIgWDAkMSA9IDAsCisgICAgWTAkMSA9IDAsCisgICAgWjAk
MSA9IDAsCisgICAgWDEkMSA9IDAsCisgICAgWTEkMSA9IDAsCisgICAgWjEkMSA9IDAsCisgICAg
WDIkMSA9IDAsCisgICAgWTIkMSA9IDAsCisgICAgWjIkMSA9IDAsCisgICAgeDAwJDEsCisgICAg
eTAwJDEsCisgICAgeDAkMywKKyAgICB5MCQzOworCit2YXIgY2VudHJvaWRTdHJlYW0kMSA9IHsK
KyAgcG9pbnQ6IGNlbnRyb2lkUG9pbnQkMSwKKyAgbGluZVN0YXJ0OiBjZW50cm9pZExpbmVTdGFy
dCQxLAorICBsaW5lRW5kOiBjZW50cm9pZExpbmVFbmQkMSwKKyAgcG9seWdvblN0YXJ0OiBmdW5j
dGlvbigpIHsKKyAgICBjZW50cm9pZFN0cmVhbSQxLmxpbmVTdGFydCA9IGNlbnRyb2lkUmluZ1N0
YXJ0JDE7CisgICAgY2VudHJvaWRTdHJlYW0kMS5saW5lRW5kID0gY2VudHJvaWRSaW5nRW5kJDE7
CisgIH0sCisgIHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIGNlbnRyb2lkU3RyZWFtJDEu
cG9pbnQgPSBjZW50cm9pZFBvaW50JDE7CisgICAgY2VudHJvaWRTdHJlYW0kMS5saW5lU3RhcnQg
PSBjZW50cm9pZExpbmVTdGFydCQxOworICAgIGNlbnRyb2lkU3RyZWFtJDEubGluZUVuZCA9IGNl
bnRyb2lkTGluZUVuZCQxOworICB9LAorICByZXN1bHQ6IGZ1bmN0aW9uKCkgeworICAgIHZhciBj
ZW50cm9pZCA9IFoyJDEgPyBbWDIkMSAvIFoyJDEsIFkyJDEgLyBaMiQxXQorICAgICAgICA6IFox
JDEgPyBbWDEkMSAvIFoxJDEsIFkxJDEgLyBaMSQxXQorICAgICAgICA6IFowJDEgPyBbWDAkMSAv
IFowJDEsIFkwJDEgLyBaMCQxXQorICAgICAgICA6IFtOYU4sIE5hTl07CisgICAgWDAkMSA9IFkw
JDEgPSBaMCQxID0KKyAgICBYMSQxID0gWTEkMSA9IFoxJDEgPQorICAgIFgyJDEgPSBZMiQxID0g
WjIkMSA9IDA7CisgICAgcmV0dXJuIGNlbnRyb2lkOworICB9Cit9OworCitmdW5jdGlvbiBjZW50
cm9pZFBvaW50JDEoeCwgeSkgeworICBYMCQxICs9IHg7CisgIFkwJDEgKz0geTsKKyAgKytaMCQx
OworfQorCitmdW5jdGlvbiBjZW50cm9pZExpbmVTdGFydCQxKCkgeworICBjZW50cm9pZFN0cmVh
bSQxLnBvaW50ID0gY2VudHJvaWRQb2ludEZpcnN0TGluZTsKK30KKworZnVuY3Rpb24gY2VudHJv
aWRQb2ludEZpcnN0TGluZSh4LCB5KSB7CisgIGNlbnRyb2lkU3RyZWFtJDEucG9pbnQgPSBjZW50
cm9pZFBvaW50TGluZTsKKyAgY2VudHJvaWRQb2ludCQxKHgwJDMgPSB4LCB5MCQzID0geSk7Cit9
CisKK2Z1bmN0aW9uIGNlbnRyb2lkUG9pbnRMaW5lKHgsIHkpIHsKKyAgdmFyIGR4ID0geCAtIHgw
JDMsIGR5ID0geSAtIHkwJDMsIHogPSBzcXJ0KGR4ICogZHggKyBkeSAqIGR5KTsKKyAgWDEkMSAr
PSB6ICogKHgwJDMgKyB4KSAvIDI7CisgIFkxJDEgKz0geiAqICh5MCQzICsgeSkgLyAyOworICBa
MSQxICs9IHo7CisgIGNlbnRyb2lkUG9pbnQkMSh4MCQzID0geCwgeTAkMyA9IHkpOworfQorCitm
dW5jdGlvbiBjZW50cm9pZExpbmVFbmQkMSgpIHsKKyAgY2VudHJvaWRTdHJlYW0kMS5wb2ludCA9
IGNlbnRyb2lkUG9pbnQkMTsKK30KKworZnVuY3Rpb24gY2VudHJvaWRSaW5nU3RhcnQkMSgpIHsK
KyAgY2VudHJvaWRTdHJlYW0kMS5wb2ludCA9IGNlbnRyb2lkUG9pbnRGaXJzdFJpbmc7Cit9CisK
K2Z1bmN0aW9uIGNlbnRyb2lkUmluZ0VuZCQxKCkgeworICBjZW50cm9pZFBvaW50UmluZyh4MDAk
MSwgeTAwJDEpOworfQorCitmdW5jdGlvbiBjZW50cm9pZFBvaW50Rmlyc3RSaW5nKHgsIHkpIHsK
KyAgY2VudHJvaWRTdHJlYW0kMS5wb2ludCA9IGNlbnRyb2lkUG9pbnRSaW5nOworICBjZW50cm9p
ZFBvaW50JDEoeDAwJDEgPSB4MCQzID0geCwgeTAwJDEgPSB5MCQzID0geSk7Cit9CisKK2Z1bmN0
aW9uIGNlbnRyb2lkUG9pbnRSaW5nKHgsIHkpIHsKKyAgdmFyIGR4ID0geCAtIHgwJDMsCisgICAg
ICBkeSA9IHkgLSB5MCQzLAorICAgICAgeiA9IHNxcnQoZHggKiBkeCArIGR5ICogZHkpOworCisg
IFgxJDEgKz0geiAqICh4MCQzICsgeCkgLyAyOworICBZMSQxICs9IHogKiAoeTAkMyArIHkpIC8g
MjsKKyAgWjEkMSArPSB6OworCisgIHogPSB5MCQzICogeCAtIHgwJDMgKiB5OworICBYMiQxICs9
IHogKiAoeDAkMyArIHgpOworICBZMiQxICs9IHogKiAoeTAkMyArIHkpOworICBaMiQxICs9IHog
KiAzOworICBjZW50cm9pZFBvaW50JDEoeDAkMyA9IHgsIHkwJDMgPSB5KTsKK30KKworZnVuY3Rp
b24gUGF0aENvbnRleHQoY29udGV4dCkgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKK30K
KworUGF0aENvbnRleHQucHJvdG90eXBlID0geworICBfcmFkaXVzOiA0LjUsCisgIHBvaW50UmFk
aXVzOiBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIHRoaXMuX3JhZGl1cyA9IF8sIHRoaXM7Cisg
IH0sCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IDA7Cisg
IH0sCisgIHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSBOYU47Cisg
IH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9
LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fbGluZSA9PT0gMCkgdGhp
cy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgICB0aGlzLl9wb2ludCA9IE5hTjsKKyAgfSwKKyAg
cG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAg
ICBjYXNlIDA6IHsKKyAgICAgICAgdGhpcy5fY29udGV4dC5tb3ZlVG8oeCwgeSk7CisgICAgICAg
IHRoaXMuX3BvaW50ID0gMTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBjYXNlIDE6
IHsKKyAgICAgICAgdGhpcy5fY29udGV4dC5saW5lVG8oeCwgeSk7CisgICAgICAgIGJyZWFrOwor
ICAgICAgfQorICAgICAgZGVmYXVsdDogeworICAgICAgICB0aGlzLl9jb250ZXh0Lm1vdmVUbyh4
ICsgdGhpcy5fcmFkaXVzLCB5KTsKKyAgICAgICAgdGhpcy5fY29udGV4dC5hcmMoeCwgeSwgdGhp
cy5fcmFkaXVzLCAwLCB0YXUkMyk7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgIH0KKyAg
fSwKKyAgcmVzdWx0OiBub29wJDIKK307CisKK3ZhciBsZW5ndGhTdW0kMSA9IGFkZGVyKCksCisg
ICAgbGVuZ3RoUmluZywKKyAgICB4MDAkMiwKKyAgICB5MDAkMiwKKyAgICB4MCQ0LAorICAgIHkw
JDQ7CisKK3ZhciBsZW5ndGhTdHJlYW0kMSA9IHsKKyAgcG9pbnQ6IG5vb3AkMiwKKyAgbGluZVN0
YXJ0OiBmdW5jdGlvbigpIHsKKyAgICBsZW5ndGhTdHJlYW0kMS5wb2ludCA9IGxlbmd0aFBvaW50
Rmlyc3QkMTsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgaWYgKGxlbmd0aFJp
bmcpIGxlbmd0aFBvaW50JDEoeDAwJDIsIHkwMCQyKTsKKyAgICBsZW5ndGhTdHJlYW0kMS5wb2lu
dCA9IG5vb3AkMjsKKyAgfSwKKyAgcG9seWdvblN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICBsZW5n
dGhSaW5nID0gdHJ1ZTsKKyAgfSwKKyAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7CisgICAgbGVu
Z3RoUmluZyA9IG51bGw7CisgIH0sCisgIHJlc3VsdDogZnVuY3Rpb24oKSB7CisgICAgdmFyIGxl
bmd0aCA9ICtsZW5ndGhTdW0kMTsKKyAgICBsZW5ndGhTdW0kMS5yZXNldCgpOworICAgIHJldHVy
biBsZW5ndGg7CisgIH0KK307CisKK2Z1bmN0aW9uIGxlbmd0aFBvaW50Rmlyc3QkMSh4LCB5KSB7
CisgIGxlbmd0aFN0cmVhbSQxLnBvaW50ID0gbGVuZ3RoUG9pbnQkMTsKKyAgeDAwJDIgPSB4MCQ0
ID0geCwgeTAwJDIgPSB5MCQ0ID0geTsKK30KKworZnVuY3Rpb24gbGVuZ3RoUG9pbnQkMSh4LCB5
KSB7CisgIHgwJDQgLT0geCwgeTAkNCAtPSB5OworICBsZW5ndGhTdW0kMS5hZGQoc3FydCh4MCQ0
ICogeDAkNCArIHkwJDQgKiB5MCQ0KSk7CisgIHgwJDQgPSB4LCB5MCQ0ID0geTsKK30KKworZnVu
Y3Rpb24gUGF0aFN0cmluZygpIHsKKyAgdGhpcy5fc3RyaW5nID0gW107Cit9CisKK1BhdGhTdHJp
bmcucHJvdG90eXBlID0geworICBfcmFkaXVzOiA0LjUsCisgIF9jaXJjbGU6IGNpcmNsZSQxKDQu
NSksCisgIHBvaW50UmFkaXVzOiBmdW5jdGlvbihfKSB7CisgICAgaWYgKChfID0gK18pICE9PSB0
aGlzLl9yYWRpdXMpIHRoaXMuX3JhZGl1cyA9IF8sIHRoaXMuX2NpcmNsZSA9IG51bGw7CisgICAg
cmV0dXJuIHRoaXM7CisgIH0sCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhp
cy5fbGluZSA9IDA7CisgIH0sCisgIHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMu
X2xpbmUgPSBOYU47CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5f
cG9pbnQgPSAwOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5f
bGluZSA9PT0gMCkgdGhpcy5fc3RyaW5nLnB1c2goIloiKTsKKyAgICB0aGlzLl9wb2ludCA9IE5h
TjsKKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICBzd2l0Y2ggKHRoaXMuX3Bv
aW50KSB7CisgICAgICBjYXNlIDA6IHsKKyAgICAgICAgdGhpcy5fc3RyaW5nLnB1c2goIk0iLCB4
LCAiLCIsIHkpOworICAgICAgICB0aGlzLl9wb2ludCA9IDE7CisgICAgICAgIGJyZWFrOworICAg
ICAgfQorICAgICAgY2FzZSAxOiB7CisgICAgICAgIHRoaXMuX3N0cmluZy5wdXNoKCJMIiwgeCwg
IiwiLCB5KTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBkZWZhdWx0OiB7CisgICAg
ICAgIGlmICh0aGlzLl9jaXJjbGUgPT0gbnVsbCkgdGhpcy5fY2lyY2xlID0gY2lyY2xlJDEodGhp
cy5fcmFkaXVzKTsKKyAgICAgICAgdGhpcy5fc3RyaW5nLnB1c2goIk0iLCB4LCAiLCIsIHksIHRo
aXMuX2NpcmNsZSk7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgIH0KKyAgfSwKKyAgcmVz
dWx0OiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fc3RyaW5nLmxlbmd0aCkgeworICAgICAg
dmFyIHJlc3VsdCA9IHRoaXMuX3N0cmluZy5qb2luKCIiKTsKKyAgICAgIHRoaXMuX3N0cmluZyA9
IFtdOworICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9IGVsc2UgeworICAgICAgcmV0dXJuIG51
bGw7CisgICAgfQorICB9Cit9OworCitmdW5jdGlvbiBjaXJjbGUkMShyYWRpdXMpIHsKKyAgcmV0
dXJuICJtMCwiICsgcmFkaXVzCisgICAgICArICJhIiArIHJhZGl1cyArICIsIiArIHJhZGl1cyAr
ICIgMCAxLDEgMCwiICsgLTIgKiByYWRpdXMKKyAgICAgICsgImEiICsgcmFkaXVzICsgIiwiICsg
cmFkaXVzICsgIiAwIDEsMSAwLCIgKyAyICogcmFkaXVzCisgICAgICArICJ6IjsKK30KKworZnVu
Y3Rpb24gaW5kZXgkMShwcm9qZWN0aW9uLCBjb250ZXh0KSB7CisgIHZhciBwb2ludFJhZGl1cyA9
IDQuNSwKKyAgICAgIHByb2plY3Rpb25TdHJlYW0sCisgICAgICBjb250ZXh0U3RyZWFtOworCisg
IGZ1bmN0aW9uIHBhdGgob2JqZWN0KSB7CisgICAgaWYgKG9iamVjdCkgeworICAgICAgaWYgKHR5
cGVvZiBwb2ludFJhZGl1cyA9PT0gImZ1bmN0aW9uIikgY29udGV4dFN0cmVhbS5wb2ludFJhZGl1
cygrcG9pbnRSYWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7CisgICAgICBnZW9TdHJlYW0o
b2JqZWN0LCBwcm9qZWN0aW9uU3RyZWFtKGNvbnRleHRTdHJlYW0pKTsKKyAgICB9CisgICAgcmV0
dXJuIGNvbnRleHRTdHJlYW0ucmVzdWx0KCk7CisgIH0KKworICBwYXRoLmFyZWEgPSBmdW5jdGlv
bihvYmplY3QpIHsKKyAgICBnZW9TdHJlYW0ob2JqZWN0LCBwcm9qZWN0aW9uU3RyZWFtKGFyZWFT
dHJlYW0kMSkpOworICAgIHJldHVybiBhcmVhU3RyZWFtJDEucmVzdWx0KCk7CisgIH07CisKKyAg
cGF0aC5tZWFzdXJlID0gZnVuY3Rpb24ob2JqZWN0KSB7CisgICAgZ2VvU3RyZWFtKG9iamVjdCwg
cHJvamVjdGlvblN0cmVhbShsZW5ndGhTdHJlYW0kMSkpOworICAgIHJldHVybiBsZW5ndGhTdHJl
YW0kMS5yZXN1bHQoKTsKKyAgfTsKKworICBwYXRoLmJvdW5kcyA9IGZ1bmN0aW9uKG9iamVjdCkg
eworICAgIGdlb1N0cmVhbShvYmplY3QsIHByb2plY3Rpb25TdHJlYW0oYm91bmRzU3RyZWFtJDEp
KTsKKyAgICByZXR1cm4gYm91bmRzU3RyZWFtJDEucmVzdWx0KCk7CisgIH07CisKKyAgcGF0aC5j
ZW50cm9pZCA9IGZ1bmN0aW9uKG9iamVjdCkgeworICAgIGdlb1N0cmVhbShvYmplY3QsIHByb2pl
Y3Rpb25TdHJlYW0oY2VudHJvaWRTdHJlYW0kMSkpOworICAgIHJldHVybiBjZW50cm9pZFN0cmVh
bSQxLnJlc3VsdCgpOworICB9OworCisgIHBhdGgucHJvamVjdGlvbiA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwcm9qZWN0aW9uU3RyZWFtID0gXyA9PSBu
dWxsID8gKHByb2plY3Rpb24gPSBudWxsLCBpZGVudGl0eSQ0KSA6IChwcm9qZWN0aW9uID0gXyku
c3RyZWFtLCBwYXRoKSA6IHByb2plY3Rpb247CisgIH07CisKKyAgcGF0aC5jb250ZXh0ID0gZnVu
Y3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIGNvbnRleHQ7Cisg
ICAgY29udGV4dFN0cmVhbSA9IF8gPT0gbnVsbCA/IChjb250ZXh0ID0gbnVsbCwgbmV3IFBhdGhT
dHJpbmcpIDogbmV3IFBhdGhDb250ZXh0KGNvbnRleHQgPSBfKTsKKyAgICBpZiAodHlwZW9mIHBv
aW50UmFkaXVzICE9PSAiZnVuY3Rpb24iKSBjb250ZXh0U3RyZWFtLnBvaW50UmFkaXVzKHBvaW50
UmFkaXVzKTsKKyAgICByZXR1cm4gcGF0aDsKKyAgfTsKKworICBwYXRoLnBvaW50UmFkaXVzID0g
ZnVuY3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIHBvaW50UmFk
aXVzOworICAgIHBvaW50UmFkaXVzID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogKGNv
bnRleHRTdHJlYW0ucG9pbnRSYWRpdXMoK18pLCArXyk7CisgICAgcmV0dXJuIHBhdGg7CisgIH07
CisKKyAgcmV0dXJuIHBhdGgucHJvamVjdGlvbihwcm9qZWN0aW9uKS5jb250ZXh0KGNvbnRleHQp
OworfQorCitmdW5jdGlvbiB0cmFuc2Zvcm0obWV0aG9kcykgeworICByZXR1cm4geworICAgIHN0
cmVhbTogdHJhbnNmb3JtZXIobWV0aG9kcykKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3Jt
ZXIobWV0aG9kcykgeworICByZXR1cm4gZnVuY3Rpb24oc3RyZWFtKSB7CisgICAgdmFyIHMgPSBu
ZXcgVHJhbnNmb3JtU3RyZWFtOworICAgIGZvciAodmFyIGtleSBpbiBtZXRob2RzKSBzW2tleV0g
PSBtZXRob2RzW2tleV07CisgICAgcy5zdHJlYW0gPSBzdHJlYW07CisgICAgcmV0dXJuIHM7Cisg
IH07Cit9CisKK2Z1bmN0aW9uIFRyYW5zZm9ybVN0cmVhbSgpIHt9CisKK1RyYW5zZm9ybVN0cmVh
bS5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBUcmFuc2Zvcm1TdHJlYW0sCisgIHBvaW50
OiBmdW5jdGlvbih4LCB5KSB7IHRoaXMuc3RyZWFtLnBvaW50KHgsIHkpOyB9LAorICBzcGhlcmU6
IGZ1bmN0aW9uKCkgeyB0aGlzLnN0cmVhbS5zcGhlcmUoKTsgfSwKKyAgbGluZVN0YXJ0OiBmdW5j
dGlvbigpIHsgdGhpcy5zdHJlYW0ubGluZVN0YXJ0KCk7IH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9u
KCkgeyB0aGlzLnN0cmVhbS5saW5lRW5kKCk7IH0sCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24o
KSB7IHRoaXMuc3RyZWFtLnBvbHlnb25TdGFydCgpOyB9LAorICBwb2x5Z29uRW5kOiBmdW5jdGlv
bigpIHsgdGhpcy5zdHJlYW0ucG9seWdvbkVuZCgpOyB9Cit9OworCitmdW5jdGlvbiBmaXQocHJv
amVjdGlvbiwgZml0Qm91bmRzLCBvYmplY3QpIHsKKyAgdmFyIGNsaXAgPSBwcm9qZWN0aW9uLmNs
aXBFeHRlbnQgJiYgcHJvamVjdGlvbi5jbGlwRXh0ZW50KCk7CisgIHByb2plY3Rpb24uc2NhbGUo
MTUwKS50cmFuc2xhdGUoWzAsIDBdKTsKKyAgaWYgKGNsaXAgIT0gbnVsbCkgcHJvamVjdGlvbi5j
bGlwRXh0ZW50KG51bGwpOworICBnZW9TdHJlYW0ob2JqZWN0LCBwcm9qZWN0aW9uLnN0cmVhbShi
b3VuZHNTdHJlYW0kMSkpOworICBmaXRCb3VuZHMoYm91bmRzU3RyZWFtJDEucmVzdWx0KCkpOwor
ICBpZiAoY2xpcCAhPSBudWxsKSBwcm9qZWN0aW9uLmNsaXBFeHRlbnQoY2xpcCk7CisgIHJldHVy
biBwcm9qZWN0aW9uOworfQorCitmdW5jdGlvbiBmaXRFeHRlbnQocHJvamVjdGlvbiwgZXh0ZW50
LCBvYmplY3QpIHsKKyAgcmV0dXJuIGZpdChwcm9qZWN0aW9uLCBmdW5jdGlvbihiKSB7CisgICAg
dmFyIHcgPSBleHRlbnRbMV1bMF0gLSBleHRlbnRbMF1bMF0sCisgICAgICAgIGggPSBleHRlbnRb
MV1bMV0gLSBleHRlbnRbMF1bMV0sCisgICAgICAgIGsgPSBNYXRoLm1pbih3IC8gKGJbMV1bMF0g
LSBiWzBdWzBdKSwgaCAvIChiWzFdWzFdIC0gYlswXVsxXSkpLAorICAgICAgICB4ID0gK2V4dGVu
dFswXVswXSArICh3IC0gayAqIChiWzFdWzBdICsgYlswXVswXSkpIC8gMiwKKyAgICAgICAgeSA9
ICtleHRlbnRbMF1bMV0gKyAoaCAtIGsgKiAoYlsxXVsxXSArIGJbMF1bMV0pKSAvIDI7CisgICAg
cHJvamVjdGlvbi5zY2FsZSgxNTAgKiBrKS50cmFuc2xhdGUoW3gsIHldKTsKKyAgfSwgb2JqZWN0
KTsKK30KKworZnVuY3Rpb24gZml0U2l6ZShwcm9qZWN0aW9uLCBzaXplLCBvYmplY3QpIHsKKyAg
cmV0dXJuIGZpdEV4dGVudChwcm9qZWN0aW9uLCBbWzAsIDBdLCBzaXplXSwgb2JqZWN0KTsKK30K
KworZnVuY3Rpb24gZml0V2lkdGgocHJvamVjdGlvbiwgd2lkdGgsIG9iamVjdCkgeworICByZXR1
cm4gZml0KHByb2plY3Rpb24sIGZ1bmN0aW9uKGIpIHsKKyAgICB2YXIgdyA9ICt3aWR0aCwKKyAg
ICAgICAgayA9IHcgLyAoYlsxXVswXSAtIGJbMF1bMF0pLAorICAgICAgICB4ID0gKHcgLSBrICog
KGJbMV1bMF0gKyBiWzBdWzBdKSkgLyAyLAorICAgICAgICB5ID0gLWsgKiBiWzBdWzFdOworICAg
IHByb2plY3Rpb24uc2NhbGUoMTUwICogaykudHJhbnNsYXRlKFt4LCB5XSk7CisgIH0sIG9iamVj
dCk7Cit9CisKK2Z1bmN0aW9uIGZpdEhlaWdodChwcm9qZWN0aW9uLCBoZWlnaHQsIG9iamVjdCkg
eworICByZXR1cm4gZml0KHByb2plY3Rpb24sIGZ1bmN0aW9uKGIpIHsKKyAgICB2YXIgaCA9ICto
ZWlnaHQsCisgICAgICAgIGsgPSBoIC8gKGJbMV1bMV0gLSBiWzBdWzFdKSwKKyAgICAgICAgeCA9
IC1rICogYlswXVswXSwKKyAgICAgICAgeSA9IChoIC0gayAqIChiWzFdWzFdICsgYlswXVsxXSkp
IC8gMjsKKyAgICBwcm9qZWN0aW9uLnNjYWxlKDE1MCAqIGspLnRyYW5zbGF0ZShbeCwgeV0pOwor
ICB9LCBvYmplY3QpOworfQorCit2YXIgbWF4RGVwdGggPSAxNiwgLy8gbWF4aW11bSBkZXB0aCBv
ZiBzdWJkaXZpc2lvbgorICAgIGNvc01pbkRpc3RhbmNlID0gY29zJDEoMzAgKiByYWRpYW5zKTsg
Ly8gY29zKG1pbmltdW0gYW5ndWxhciBkaXN0YW5jZSkKKworZnVuY3Rpb24gcmVzYW1wbGUocHJv
amVjdCwgZGVsdGEyKSB7CisgIHJldHVybiArZGVsdGEyID8gcmVzYW1wbGUkMShwcm9qZWN0LCBk
ZWx0YTIpIDogcmVzYW1wbGVOb25lKHByb2plY3QpOworfQorCitmdW5jdGlvbiByZXNhbXBsZU5v
bmUocHJvamVjdCkgeworICByZXR1cm4gdHJhbnNmb3JtZXIoeworICAgIHBvaW50OiBmdW5jdGlv
bih4LCB5KSB7CisgICAgICB4ID0gcHJvamVjdCh4LCB5KTsKKyAgICAgIHRoaXMuc3RyZWFtLnBv
aW50KHhbMF0sIHhbMV0pOworICAgIH0KKyAgfSk7Cit9CisKK2Z1bmN0aW9uIHJlc2FtcGxlJDEo
cHJvamVjdCwgZGVsdGEyKSB7CisKKyAgZnVuY3Rpb24gcmVzYW1wbGVMaW5lVG8oeDAsIHkwLCBs
YW1iZGEwLCBhMCwgYjAsIGMwLCB4MSwgeTEsIGxhbWJkYTEsIGExLCBiMSwgYzEsIGRlcHRoLCBz
dHJlYW0pIHsKKyAgICB2YXIgZHggPSB4MSAtIHgwLAorICAgICAgICBkeSA9IHkxIC0geTAsCisg
ICAgICAgIGQyID0gZHggKiBkeCArIGR5ICogZHk7CisgICAgaWYgKGQyID4gNCAqIGRlbHRhMiAm
JiBkZXB0aC0tKSB7CisgICAgICB2YXIgYSA9IGEwICsgYTEsCisgICAgICAgICAgYiA9IGIwICsg
YjEsCisgICAgICAgICAgYyA9IGMwICsgYzEsCisgICAgICAgICAgbSA9IHNxcnQoYSAqIGEgKyBi
ICogYiArIGMgKiBjKSwKKyAgICAgICAgICBwaGkyID0gYXNpbihjIC89IG0pLAorICAgICAgICAg
IGxhbWJkYTIgPSBhYnMoYWJzKGMpIC0gMSkgPCBlcHNpbG9uJDIgfHwgYWJzKGxhbWJkYTAgLSBs
YW1iZGExKSA8IGVwc2lsb24kMiA/IChsYW1iZGEwICsgbGFtYmRhMSkgLyAyIDogYXRhbjIoYiwg
YSksCisgICAgICAgICAgcCA9IHByb2plY3QobGFtYmRhMiwgcGhpMiksCisgICAgICAgICAgeDIg
PSBwWzBdLAorICAgICAgICAgIHkyID0gcFsxXSwKKyAgICAgICAgICBkeDIgPSB4MiAtIHgwLAor
ICAgICAgICAgIGR5MiA9IHkyIC0geTAsCisgICAgICAgICAgZHogPSBkeSAqIGR4MiAtIGR4ICog
ZHkyOworICAgICAgaWYgKGR6ICogZHogLyBkMiA+IGRlbHRhMiAvLyBwZXJwZW5kaWN1bGFyIHBy
b2plY3RlZCBkaXN0YW5jZQorICAgICAgICAgIHx8IGFicygoZHggKiBkeDIgKyBkeSAqIGR5Mikg
LyBkMiAtIDAuNSkgPiAwLjMgLy8gbWlkcG9pbnQgY2xvc2UgdG8gYW4gZW5kCisgICAgICAgICAg
fHwgYTAgKiBhMSArIGIwICogYjEgKyBjMCAqIGMxIDwgY29zTWluRGlzdGFuY2UpIHsgLy8gYW5n
dWxhciBkaXN0YW5jZQorICAgICAgICByZXNhbXBsZUxpbmVUbyh4MCwgeTAsIGxhbWJkYTAsIGEw
LCBiMCwgYzAsIHgyLCB5MiwgbGFtYmRhMiwgYSAvPSBtLCBiIC89IG0sIGMsIGRlcHRoLCBzdHJl
YW0pOworICAgICAgICBzdHJlYW0ucG9pbnQoeDIsIHkyKTsKKyAgICAgICAgcmVzYW1wbGVMaW5l
VG8oeDIsIHkyLCBsYW1iZGEyLCBhLCBiLCBjLCB4MSwgeTEsIGxhbWJkYTEsIGExLCBiMSwgYzEs
IGRlcHRoLCBzdHJlYW0pOworICAgICAgfQorICAgIH0KKyAgfQorICByZXR1cm4gZnVuY3Rpb24o
c3RyZWFtKSB7CisgICAgdmFyIGxhbWJkYTAwLCB4MDAsIHkwMCwgYTAwLCBiMDAsIGMwMCwgLy8g
Zmlyc3QgcG9pbnQKKyAgICAgICAgbGFtYmRhMCwgeDAsIHkwLCBhMCwgYjAsIGMwOyAvLyBwcmV2
aW91cyBwb2ludAorCisgICAgdmFyIHJlc2FtcGxlU3RyZWFtID0geworICAgICAgcG9pbnQ6IHBv
aW50LAorICAgICAgbGluZVN0YXJ0OiBsaW5lU3RhcnQsCisgICAgICBsaW5lRW5kOiBsaW5lRW5k
LAorICAgICAgcG9seWdvblN0YXJ0OiBmdW5jdGlvbigpIHsgc3RyZWFtLnBvbHlnb25TdGFydCgp
OyByZXNhbXBsZVN0cmVhbS5saW5lU3RhcnQgPSByaW5nU3RhcnQ7IH0sCisgICAgICBwb2x5Z29u
RW5kOiBmdW5jdGlvbigpIHsgc3RyZWFtLnBvbHlnb25FbmQoKTsgcmVzYW1wbGVTdHJlYW0ubGlu
ZVN0YXJ0ID0gbGluZVN0YXJ0OyB9CisgICAgfTsKKworICAgIGZ1bmN0aW9uIHBvaW50KHgsIHkp
IHsKKyAgICAgIHggPSBwcm9qZWN0KHgsIHkpOworICAgICAgc3RyZWFtLnBvaW50KHhbMF0sIHhb
MV0pOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxpbmVTdGFydCgpIHsKKyAgICAgIHgwID0gTmFO
OworICAgICAgcmVzYW1wbGVTdHJlYW0ucG9pbnQgPSBsaW5lUG9pbnQ7CisgICAgICBzdHJlYW0u
bGluZVN0YXJ0KCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbGluZVBvaW50KGxhbWJkYSwgcGhp
KSB7CisgICAgICB2YXIgYyA9IGNhcnRlc2lhbihbbGFtYmRhLCBwaGldKSwgcCA9IHByb2plY3Qo
bGFtYmRhLCBwaGkpOworICAgICAgcmVzYW1wbGVMaW5lVG8oeDAsIHkwLCBsYW1iZGEwLCBhMCwg
YjAsIGMwLCB4MCA9IHBbMF0sIHkwID0gcFsxXSwgbGFtYmRhMCA9IGxhbWJkYSwgYTAgPSBjWzBd
LCBiMCA9IGNbMV0sIGMwID0gY1syXSwgbWF4RGVwdGgsIHN0cmVhbSk7CisgICAgICBzdHJlYW0u
cG9pbnQoeDAsIHkwKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsaW5lRW5kKCkgeworICAgICAg
cmVzYW1wbGVTdHJlYW0ucG9pbnQgPSBwb2ludDsKKyAgICAgIHN0cmVhbS5saW5lRW5kKCk7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gcmluZ1N0YXJ0KCkgeworICAgICAgbGluZVN0YXJ0KCk7Cisg
ICAgICByZXNhbXBsZVN0cmVhbS5wb2ludCA9IHJpbmdQb2ludDsKKyAgICAgIHJlc2FtcGxlU3Ry
ZWFtLmxpbmVFbmQgPSByaW5nRW5kOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJpbmdQb2ludChs
YW1iZGEsIHBoaSkgeworICAgICAgbGluZVBvaW50KGxhbWJkYTAwID0gbGFtYmRhLCBwaGkpLCB4
MDAgPSB4MCwgeTAwID0geTAsIGEwMCA9IGEwLCBiMDAgPSBiMCwgYzAwID0gYzA7CisgICAgICBy
ZXNhbXBsZVN0cmVhbS5wb2ludCA9IGxpbmVQb2ludDsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBy
aW5nRW5kKCkgeworICAgICAgcmVzYW1wbGVMaW5lVG8oeDAsIHkwLCBsYW1iZGEwLCBhMCwgYjAs
IGMwLCB4MDAsIHkwMCwgbGFtYmRhMDAsIGEwMCwgYjAwLCBjMDAsIG1heERlcHRoLCBzdHJlYW0p
OworICAgICAgcmVzYW1wbGVTdHJlYW0ubGluZUVuZCA9IGxpbmVFbmQ7CisgICAgICBsaW5lRW5k
KCk7CisgICAgfQorCisgICAgcmV0dXJuIHJlc2FtcGxlU3RyZWFtOworICB9OworfQorCit2YXIg
dHJhbnNmb3JtUmFkaWFucyA9IHRyYW5zZm9ybWVyKHsKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkp
IHsKKyAgICB0aGlzLnN0cmVhbS5wb2ludCh4ICogcmFkaWFucywgeSAqIHJhZGlhbnMpOworICB9
Cit9KTsKKworZnVuY3Rpb24gdHJhbnNmb3JtUm90YXRlKHJvdGF0ZSkgeworICByZXR1cm4gdHJh
bnNmb3JtZXIoeworICAgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgICB2YXIgciA9IHJv
dGF0ZSh4LCB5KTsKKyAgICAgIHJldHVybiB0aGlzLnN0cmVhbS5wb2ludChyWzBdLCByWzFdKTsK
KyAgICB9CisgIH0pOworfQorCitmdW5jdGlvbiBzY2FsZVRyYW5zbGF0ZShrLCBkeCwgZHkpIHsK
KyAgZnVuY3Rpb24gdHJhbnNmb3JtKHgsIHkpIHsKKyAgICByZXR1cm4gW2R4ICsgayAqIHgsIGR5
IC0gayAqIHldOworICB9CisgIHRyYW5zZm9ybS5pbnZlcnQgPSBmdW5jdGlvbih4LCB5KSB7Cisg
ICAgcmV0dXJuIFsoeCAtIGR4KSAvIGssIChkeSAtIHkpIC8ga107CisgIH07CisgIHJldHVybiB0
cmFuc2Zvcm07Cit9CisKK2Z1bmN0aW9uIHNjYWxlVHJhbnNsYXRlUm90YXRlKGssIGR4LCBkeSwg
YWxwaGEpIHsKKyAgdmFyIGNvc0FscGhhID0gY29zJDEoYWxwaGEpLAorICAgICAgc2luQWxwaGEg
PSBzaW4kMShhbHBoYSksCisgICAgICBhID0gY29zQWxwaGEgKiBrLAorICAgICAgYiA9IHNpbkFs
cGhhICogaywKKyAgICAgIGFpID0gY29zQWxwaGEgLyBrLAorICAgICAgYmkgPSBzaW5BbHBoYSAv
IGssCisgICAgICBjaSA9IChzaW5BbHBoYSAqIGR5IC0gY29zQWxwaGEgKiBkeCkgLyBrLAorICAg
ICAgZmkgPSAoc2luQWxwaGEgKiBkeCArIGNvc0FscGhhICogZHkpIC8gazsKKyAgZnVuY3Rpb24g
dHJhbnNmb3JtKHgsIHkpIHsKKyAgICByZXR1cm4gW2EgKiB4IC0gYiAqIHkgKyBkeCwgZHkgLSBi
ICogeCAtIGEgKiB5XTsKKyAgfQorICB0cmFuc2Zvcm0uaW52ZXJ0ID0gZnVuY3Rpb24oeCwgeSkg
eworICAgIHJldHVybiBbYWkgKiB4IC0gYmkgKiB5ICsgY2ksIGZpIC0gYmkgKiB4IC0gYWkgKiB5
XTsKKyAgfTsKKyAgcmV0dXJuIHRyYW5zZm9ybTsKK30KKworZnVuY3Rpb24gcHJvamVjdGlvbihw
cm9qZWN0KSB7CisgIHJldHVybiBwcm9qZWN0aW9uTXV0YXRvcihmdW5jdGlvbigpIHsgcmV0dXJu
IHByb2plY3Q7IH0pKCk7Cit9CisKK2Z1bmN0aW9uIHByb2plY3Rpb25NdXRhdG9yKHByb2plY3RB
dCkgeworICB2YXIgcHJvamVjdCwKKyAgICAgIGsgPSAxNTAsIC8vIHNjYWxlCisgICAgICB4ID0g
NDgwLCB5ID0gMjUwLCAvLyB0cmFuc2xhdGUKKyAgICAgIGxhbWJkYSA9IDAsIHBoaSA9IDAsIC8v
IGNlbnRlcgorICAgICAgZGVsdGFMYW1iZGEgPSAwLCBkZWx0YVBoaSA9IDAsIGRlbHRhR2FtbWEg
PSAwLCByb3RhdGUsIC8vIHByZS1yb3RhdGUKKyAgICAgIGFscGhhID0gMCwgLy8gcG9zdC1yb3Rh
dGUKKyAgICAgIHRoZXRhID0gbnVsbCwgcHJlY2xpcCA9IGNsaXBBbnRpbWVyaWRpYW4sIC8vIHBy
ZS1jbGlwIGFuZ2xlCisgICAgICB4MCA9IG51bGwsIHkwLCB4MSwgeTEsIHBvc3RjbGlwID0gaWRl
bnRpdHkkNCwgLy8gcG9zdC1jbGlwIGV4dGVudAorICAgICAgZGVsdGEyID0gMC41LCAvLyBwcmVj
aXNpb24KKyAgICAgIHByb2plY3RSZXNhbXBsZSwKKyAgICAgIHByb2plY3RUcmFuc2Zvcm0sCisg
ICAgICBwcm9qZWN0Um90YXRlVHJhbnNmb3JtLAorICAgICAgY2FjaGUsCisgICAgICBjYWNoZVN0
cmVhbTsKKworICBmdW5jdGlvbiBwcm9qZWN0aW9uKHBvaW50KSB7CisgICAgcmV0dXJuIHByb2pl
Y3RSb3RhdGVUcmFuc2Zvcm0ocG9pbnRbMF0gKiByYWRpYW5zLCBwb2ludFsxXSAqIHJhZGlhbnMp
OworICB9CisKKyAgZnVuY3Rpb24gaW52ZXJ0KHBvaW50KSB7CisgICAgcG9pbnQgPSBwcm9qZWN0
Um90YXRlVHJhbnNmb3JtLmludmVydChwb2ludFswXSwgcG9pbnRbMV0pOworICAgIHJldHVybiBw
b2ludCAmJiBbcG9pbnRbMF0gKiBkZWdyZWVzJDEsIHBvaW50WzFdICogZGVncmVlcyQxXTsKKyAg
fQorCisgIHByb2plY3Rpb24uc3RyZWFtID0gZnVuY3Rpb24oc3RyZWFtKSB7CisgICAgcmV0dXJu
IGNhY2hlICYmIGNhY2hlU3RyZWFtID09PSBzdHJlYW0gPyBjYWNoZSA6IGNhY2hlID0gdHJhbnNm
b3JtUmFkaWFucyh0cmFuc2Zvcm1Sb3RhdGUocm90YXRlKShwcmVjbGlwKHByb2plY3RSZXNhbXBs
ZShwb3N0Y2xpcChjYWNoZVN0cmVhbSA9IHN0cmVhbSkpKSkpOworICB9OworCisgIHByb2plY3Rp
b24ucHJlY2xpcCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
IChwcmVjbGlwID0gXywgdGhldGEgPSB1bmRlZmluZWQsIHJlc2V0KCkpIDogcHJlY2xpcDsKKyAg
fTsKKworICBwcm9qZWN0aW9uLnBvc3RjbGlwID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKHBvc3RjbGlwID0gXywgeDAgPSB5MCA9IHgxID0geTEgPSBudWxs
LCByZXNldCgpKSA6IHBvc3RjbGlwOworICB9OworCisgIHByb2plY3Rpb24uY2xpcEFuZ2xlID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHByZWNsaXAgPSAr
XyA/IGNsaXBDaXJjbGUodGhldGEgPSBfICogcmFkaWFucykgOiAodGhldGEgPSBudWxsLCBjbGlw
QW50aW1lcmlkaWFuKSwgcmVzZXQoKSkgOiB0aGV0YSAqIGRlZ3JlZXMkMTsKKyAgfTsKKworICBw
cm9qZWN0aW9uLmNsaXBFeHRlbnQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAocG9zdGNsaXAgPSBfID09IG51bGwgPyAoeDAgPSB5MCA9IHgxID0geTEgPSBu
dWxsLCBpZGVudGl0eSQ0KSA6IGNsaXBSZWN0YW5nbGUoeDAgPSArX1swXVswXSwgeTAgPSArX1sw
XVsxXSwgeDEgPSArX1sxXVswXSwgeTEgPSArX1sxXVsxXSksIHJlc2V0KCkpIDogeDAgPT0gbnVs
bCA/IG51bGwgOiBbW3gwLCB5MF0sIFt4MSwgeTFdXTsKKyAgfTsKKworICBwcm9qZWN0aW9uLnNj
YWxlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGsgPSAr
XywgcmVjZW50ZXIoKSkgOiBrOworICB9OworCisgIHByb2plY3Rpb24udHJhbnNsYXRlID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHggPSArX1swXSwgeSA9
ICtfWzFdLCByZWNlbnRlcigpKSA6IFt4LCB5XTsKKyAgfTsKKworICBwcm9qZWN0aW9uLmNlbnRl
ciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChsYW1iZGEg
PSBfWzBdICUgMzYwICogcmFkaWFucywgcGhpID0gX1sxXSAlIDM2MCAqIHJhZGlhbnMsIHJlY2Vu
dGVyKCkpIDogW2xhbWJkYSAqIGRlZ3JlZXMkMSwgcGhpICogZGVncmVlcyQxXTsKKyAgfTsKKwor
ICBwcm9qZWN0aW9uLnJvdGF0ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/IChkZWx0YUxhbWJkYSA9IF9bMF0gJSAzNjAgKiByYWRpYW5zLCBkZWx0YVBoaSA9
IF9bMV0gJSAzNjAgKiByYWRpYW5zLCBkZWx0YUdhbW1hID0gXy5sZW5ndGggPiAyID8gX1syXSAl
IDM2MCAqIHJhZGlhbnMgOiAwLCByZWNlbnRlcigpKSA6IFtkZWx0YUxhbWJkYSAqIGRlZ3JlZXMk
MSwgZGVsdGFQaGkgKiBkZWdyZWVzJDEsIGRlbHRhR2FtbWEgKiBkZWdyZWVzJDFdOworICB9Owor
CisgIHByb2plY3Rpb24uYW5nbGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAoYWxwaGEgPSBfICUgMzYwICogcmFkaWFucywgcmVjZW50ZXIoKSkgOiBhbHBo
YSAqIGRlZ3JlZXMkMTsKKyAgfTsKKworICBwcm9qZWN0aW9uLnByZWNpc2lvbiA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwcm9qZWN0UmVzYW1wbGUgPSBy
ZXNhbXBsZShwcm9qZWN0VHJhbnNmb3JtLCBkZWx0YTIgPSBfICogXyksIHJlc2V0KCkpIDogc3Fy
dChkZWx0YTIpOworICB9OworCisgIHByb2plY3Rpb24uZml0RXh0ZW50ID0gZnVuY3Rpb24oZXh0
ZW50LCBvYmplY3QpIHsKKyAgICByZXR1cm4gZml0RXh0ZW50KHByb2plY3Rpb24sIGV4dGVudCwg
b2JqZWN0KTsKKyAgfTsKKworICBwcm9qZWN0aW9uLmZpdFNpemUgPSBmdW5jdGlvbihzaXplLCBv
YmplY3QpIHsKKyAgICByZXR1cm4gZml0U2l6ZShwcm9qZWN0aW9uLCBzaXplLCBvYmplY3QpOwor
ICB9OworCisgIHByb2plY3Rpb24uZml0V2lkdGggPSBmdW5jdGlvbih3aWR0aCwgb2JqZWN0KSB7
CisgICAgcmV0dXJuIGZpdFdpZHRoKHByb2plY3Rpb24sIHdpZHRoLCBvYmplY3QpOworICB9Owor
CisgIHByb2plY3Rpb24uZml0SGVpZ2h0ID0gZnVuY3Rpb24oaGVpZ2h0LCBvYmplY3QpIHsKKyAg
ICByZXR1cm4gZml0SGVpZ2h0KHByb2plY3Rpb24sIGhlaWdodCwgb2JqZWN0KTsKKyAgfTsKKwor
ICBmdW5jdGlvbiByZWNlbnRlcigpIHsKKyAgICB2YXIgY2VudGVyID0gc2NhbGVUcmFuc2xhdGVS
b3RhdGUoaywgMCwgMCwgYWxwaGEpLmFwcGx5KG51bGwsIHByb2plY3QobGFtYmRhLCBwaGkpKSwK
KyAgICAgICAgdHJhbnNmb3JtID0gKGFscGhhID8gc2NhbGVUcmFuc2xhdGVSb3RhdGUgOiBzY2Fs
ZVRyYW5zbGF0ZSkoaywgeCAtIGNlbnRlclswXSwgeSAtIGNlbnRlclsxXSwgYWxwaGEpOworICAg
IHJvdGF0ZSA9IHJvdGF0ZVJhZGlhbnMoZGVsdGFMYW1iZGEsIGRlbHRhUGhpLCBkZWx0YUdhbW1h
KTsKKyAgICBwcm9qZWN0VHJhbnNmb3JtID0gY29tcG9zZShwcm9qZWN0LCB0cmFuc2Zvcm0pOwor
ICAgIHByb2plY3RSb3RhdGVUcmFuc2Zvcm0gPSBjb21wb3NlKHJvdGF0ZSwgcHJvamVjdFRyYW5z
Zm9ybSk7CisgICAgcHJvamVjdFJlc2FtcGxlID0gcmVzYW1wbGUocHJvamVjdFRyYW5zZm9ybSwg
ZGVsdGEyKTsKKyAgICByZXR1cm4gcmVzZXQoKTsKKyAgfQorCisgIGZ1bmN0aW9uIHJlc2V0KCkg
eworICAgIGNhY2hlID0gY2FjaGVTdHJlYW0gPSBudWxsOworICAgIHJldHVybiBwcm9qZWN0aW9u
OworICB9CisKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHByb2plY3QgPSBwcm9qZWN0QXQu
YXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICBwcm9qZWN0aW9uLmludmVydCA9IHByb2plY3Qu
aW52ZXJ0ICYmIGludmVydDsKKyAgICByZXR1cm4gcmVjZW50ZXIoKTsKKyAgfTsKK30KKworZnVu
Y3Rpb24gY29uaWNQcm9qZWN0aW9uKHByb2plY3RBdCkgeworICB2YXIgcGhpMCA9IDAsCisgICAg
ICBwaGkxID0gcGkkMyAvIDMsCisgICAgICBtID0gcHJvamVjdGlvbk11dGF0b3IocHJvamVjdEF0
KSwKKyAgICAgIHAgPSBtKHBoaTAsIHBoaTEpOworCisgIHAucGFyYWxsZWxzID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gbShwaGkwID0gX1swXSAqIHJhZGlh
bnMsIHBoaTEgPSBfWzFdICogcmFkaWFucykgOiBbcGhpMCAqIGRlZ3JlZXMkMSwgcGhpMSAqIGRl
Z3JlZXMkMV07CisgIH07CisKKyAgcmV0dXJuIHA7Cit9CisKK2Z1bmN0aW9uIGN5bGluZHJpY2Fs
RXF1YWxBcmVhUmF3KHBoaTApIHsKKyAgdmFyIGNvc1BoaTAgPSBjb3MkMShwaGkwKTsKKworICBm
dW5jdGlvbiBmb3J3YXJkKGxhbWJkYSwgcGhpKSB7CisgICAgcmV0dXJuIFtsYW1iZGEgKiBjb3NQ
aGkwLCBzaW4kMShwaGkpIC8gY29zUGhpMF07CisgIH0KKworICBmb3J3YXJkLmludmVydCA9IGZ1
bmN0aW9uKHgsIHkpIHsKKyAgICByZXR1cm4gW3ggLyBjb3NQaGkwLCBhc2luKHkgKiBjb3NQaGkw
KV07CisgIH07CisKKyAgcmV0dXJuIGZvcndhcmQ7Cit9CisKK2Z1bmN0aW9uIGNvbmljRXF1YWxB
cmVhUmF3KHkwLCB5MSkgeworICB2YXIgc3kwID0gc2luJDEoeTApLCBuID0gKHN5MCArIHNpbiQx
KHkxKSkgLyAyOworCisgIC8vIEFyZSB0aGUgcGFyYWxsZWxzIHN5bW1ldHJpY2FsIGFyb3VuZCB0
aGUgRXF1YXRvcj8KKyAgaWYgKGFicyhuKSA8IGVwc2lsb24kMikgcmV0dXJuIGN5bGluZHJpY2Fs
RXF1YWxBcmVhUmF3KHkwKTsKKworICB2YXIgYyA9IDEgKyBzeTAgKiAoMiAqIG4gLSBzeTApLCBy
MCA9IHNxcnQoYykgLyBuOworCisgIGZ1bmN0aW9uIHByb2plY3QoeCwgeSkgeworICAgIHZhciBy
ID0gc3FydChjIC0gMiAqIG4gKiBzaW4kMSh5KSkgLyBuOworICAgIHJldHVybiBbciAqIHNpbiQx
KHggKj0gbiksIHIwIC0gciAqIGNvcyQxKHgpXTsKKyAgfQorCisgIHByb2plY3QuaW52ZXJ0ID0g
ZnVuY3Rpb24oeCwgeSkgeworICAgIHZhciByMHkgPSByMCAtIHk7CisgICAgcmV0dXJuIFthdGFu
Mih4LCBhYnMocjB5KSkgLyBuICogc2lnbihyMHkpLCBhc2luKChjIC0gKHggKiB4ICsgcjB5ICog
cjB5KSAqIG4gKiBuKSAvICgyICogbikpXTsKKyAgfTsKKworICByZXR1cm4gcHJvamVjdDsKK30K
KworZnVuY3Rpb24gY29uaWNFcXVhbEFyZWEoKSB7CisgIHJldHVybiBjb25pY1Byb2plY3Rpb24o
Y29uaWNFcXVhbEFyZWFSYXcpCisgICAgICAuc2NhbGUoMTU1LjQyNCkKKyAgICAgIC5jZW50ZXIo
WzAsIDMzLjY0NDJdKTsKK30KKworZnVuY3Rpb24gYWxiZXJzKCkgeworICByZXR1cm4gY29uaWNF
cXVhbEFyZWEoKQorICAgICAgLnBhcmFsbGVscyhbMjkuNSwgNDUuNV0pCisgICAgICAuc2NhbGUo
MTA3MCkKKyAgICAgIC50cmFuc2xhdGUoWzQ4MCwgMjUwXSkKKyAgICAgIC5yb3RhdGUoWzk2LCAw
XSkKKyAgICAgIC5jZW50ZXIoWy0wLjYsIDM4LjddKTsKK30KKworLy8gVGhlIHByb2plY3Rpb25z
IG11c3QgaGF2ZSBtdXR1YWxseSBleGNsdXNpdmUgY2xpcCByZWdpb25zIG9uIHRoZSBzcGhlcmUs
CisvLyBhcyB0aGlzIHdpbGwgYXZvaWQgZW1pdHRpbmcgaW50ZXJsZWF2aW5nIGxpbmVzIGFuZCBw
b2x5Z29ucy4KK2Z1bmN0aW9uIG11bHRpcGxleChzdHJlYW1zKSB7CisgIHZhciBuID0gc3RyZWFt
cy5sZW5ndGg7CisgIHJldHVybiB7CisgICAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsgdmFyIGkg
PSAtMTsgd2hpbGUgKCsraSA8IG4pIHN0cmVhbXNbaV0ucG9pbnQoeCwgeSk7IH0sCisgICAgc3Bo
ZXJlOiBmdW5jdGlvbigpIHsgdmFyIGkgPSAtMTsgd2hpbGUgKCsraSA8IG4pIHN0cmVhbXNbaV0u
c3BoZXJlKCk7IH0sCisgICAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsgdmFyIGkgPSAtMTsgd2hp
bGUgKCsraSA8IG4pIHN0cmVhbXNbaV0ubGluZVN0YXJ0KCk7IH0sCisgICAgbGluZUVuZDogZnVu
Y3Rpb24oKSB7IHZhciBpID0gLTE7IHdoaWxlICgrK2kgPCBuKSBzdHJlYW1zW2ldLmxpbmVFbmQo
KTsgfSwKKyAgICBwb2x5Z29uU3RhcnQ6IGZ1bmN0aW9uKCkgeyB2YXIgaSA9IC0xOyB3aGlsZSAo
KytpIDwgbikgc3RyZWFtc1tpXS5wb2x5Z29uU3RhcnQoKTsgfSwKKyAgICBwb2x5Z29uRW5kOiBm
dW5jdGlvbigpIHsgdmFyIGkgPSAtMTsgd2hpbGUgKCsraSA8IG4pIHN0cmVhbXNbaV0ucG9seWdv
bkVuZCgpOyB9CisgIH07Cit9CisKKy8vIEEgY29tcG9zaXRlIHByb2plY3Rpb24gZm9yIHRoZSBV
bml0ZWQgU3RhdGVzLCBjb25maWd1cmVkIGJ5IGRlZmF1bHQgZm9yCisvLyA5NjDDlzUwMC4gVGhl
IHByb2plY3Rpb24gYWxzbyB3b3JrcyBxdWl0ZSB3ZWxsIGF0IDk2MMOXNjAwIGlmIHlvdSBjaGFu
Z2UgdGhlCisvLyBzY2FsZSB0byAxMjg1IGFuZCBhZGp1c3QgdGhlIHRyYW5zbGF0ZSBhY2NvcmRp
bmdseS4gVGhlIHNldCBvZiBzdGFuZGFyZAorLy8gcGFyYWxsZWxzIGZvciBlYWNoIHJlZ2lvbiBj
b21lcyBmcm9tIFVTR1MsIHdoaWNoIGlzIHB1Ymxpc2hlZCBoZXJlOgorLy8gaHR0cDovL2Vnc2Mu
dXNncy5nb3YvaXNiL3B1YnMvTWFwUHJvamVjdGlvbnMvcHJvamVjdGlvbnMuaHRtbCNhbGJlcnMK
K2Z1bmN0aW9uIGFsYmVyc1VzYSgpIHsKKyAgdmFyIGNhY2hlLAorICAgICAgY2FjaGVTdHJlYW0s
CisgICAgICBsb3dlcjQ4ID0gYWxiZXJzKCksIGxvd2VyNDhQb2ludCwKKyAgICAgIGFsYXNrYSA9
IGNvbmljRXF1YWxBcmVhKCkucm90YXRlKFsxNTQsIDBdKS5jZW50ZXIoWy0yLCA1OC41XSkucGFy
YWxsZWxzKFs1NSwgNjVdKSwgYWxhc2thUG9pbnQsIC8vIEVQU0c6MzMzOAorICAgICAgaGF3YWlp
ID0gY29uaWNFcXVhbEFyZWEoKS5yb3RhdGUoWzE1NywgMF0pLmNlbnRlcihbLTMsIDE5LjldKS5w
YXJhbGxlbHMoWzgsIDE4XSksIGhhd2FpaVBvaW50LCAvLyBFU1JJOjEwMjAwNworICAgICAgcG9p
bnQsIHBvaW50U3RyZWFtID0ge3BvaW50OiBmdW5jdGlvbih4LCB5KSB7IHBvaW50ID0gW3gsIHld
OyB9fTsKKworICBmdW5jdGlvbiBhbGJlcnNVc2EoY29vcmRpbmF0ZXMpIHsKKyAgICB2YXIgeCA9
IGNvb3JkaW5hdGVzWzBdLCB5ID0gY29vcmRpbmF0ZXNbMV07CisgICAgcmV0dXJuIHBvaW50ID0g
bnVsbCwKKyAgICAgICAgKGxvd2VyNDhQb2ludC5wb2ludCh4LCB5KSwgcG9pbnQpCisgICAgICAg
IHx8IChhbGFza2FQb2ludC5wb2ludCh4LCB5KSwgcG9pbnQpCisgICAgICAgIHx8IChoYXdhaWlQ
b2ludC5wb2ludCh4LCB5KSwgcG9pbnQpOworICB9CisKKyAgYWxiZXJzVXNhLmludmVydCA9IGZ1
bmN0aW9uKGNvb3JkaW5hdGVzKSB7CisgICAgdmFyIGsgPSBsb3dlcjQ4LnNjYWxlKCksCisgICAg
ICAgIHQgPSBsb3dlcjQ4LnRyYW5zbGF0ZSgpLAorICAgICAgICB4ID0gKGNvb3JkaW5hdGVzWzBd
IC0gdFswXSkgLyBrLAorICAgICAgICB5ID0gKGNvb3JkaW5hdGVzWzFdIC0gdFsxXSkgLyBrOwor
ICAgIHJldHVybiAoeSA+PSAwLjEyMCAmJiB5IDwgMC4yMzQgJiYgeCA+PSAtMC40MjUgJiYgeCA8
IC0wLjIxNCA/IGFsYXNrYQorICAgICAgICA6IHkgPj0gMC4xNjYgJiYgeSA8IDAuMjM0ICYmIHgg
Pj0gLTAuMjE0ICYmIHggPCAtMC4xMTUgPyBoYXdhaWkKKyAgICAgICAgOiBsb3dlcjQ4KS5pbnZl
cnQoY29vcmRpbmF0ZXMpOworICB9OworCisgIGFsYmVyc1VzYS5zdHJlYW0gPSBmdW5jdGlvbihz
dHJlYW0pIHsKKyAgICByZXR1cm4gY2FjaGUgJiYgY2FjaGVTdHJlYW0gPT09IHN0cmVhbSA/IGNh
Y2hlIDogY2FjaGUgPSBtdWx0aXBsZXgoW2xvd2VyNDguc3RyZWFtKGNhY2hlU3RyZWFtID0gc3Ry
ZWFtKSwgYWxhc2thLnN0cmVhbShzdHJlYW0pLCBoYXdhaWkuc3RyZWFtKHN0cmVhbSldKTsKKyAg
fTsKKworICBhbGJlcnNVc2EucHJlY2lzaW9uID0gZnVuY3Rpb24oXykgeworICAgIGlmICghYXJn
dW1lbnRzLmxlbmd0aCkgcmV0dXJuIGxvd2VyNDgucHJlY2lzaW9uKCk7CisgICAgbG93ZXI0OC5w
cmVjaXNpb24oXyksIGFsYXNrYS5wcmVjaXNpb24oXyksIGhhd2FpaS5wcmVjaXNpb24oXyk7Cisg
ICAgcmV0dXJuIHJlc2V0KCk7CisgIH07CisKKyAgYWxiZXJzVXNhLnNjYWxlID0gZnVuY3Rpb24o
XykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIGxvd2VyNDguc2NhbGUoKTsK
KyAgICBsb3dlcjQ4LnNjYWxlKF8pLCBhbGFza2Euc2NhbGUoXyAqIDAuMzUpLCBoYXdhaWkuc2Nh
bGUoXyk7CisgICAgcmV0dXJuIGFsYmVyc1VzYS50cmFuc2xhdGUobG93ZXI0OC50cmFuc2xhdGUo
KSk7CisgIH07CisKKyAgYWxiZXJzVXNhLnRyYW5zbGF0ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBp
ZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBsb3dlcjQ4LnRyYW5zbGF0ZSgpOworICAgIHZh
ciBrID0gbG93ZXI0OC5zY2FsZSgpLCB4ID0gK19bMF0sIHkgPSArX1sxXTsKKworICAgIGxvd2Vy
NDhQb2ludCA9IGxvd2VyNDgKKyAgICAgICAgLnRyYW5zbGF0ZShfKQorICAgICAgICAuY2xpcEV4
dGVudChbW3ggLSAwLjQ1NSAqIGssIHkgLSAwLjIzOCAqIGtdLCBbeCArIDAuNDU1ICogaywgeSAr
IDAuMjM4ICoga11dKQorICAgICAgICAuc3RyZWFtKHBvaW50U3RyZWFtKTsKKworICAgIGFsYXNr
YVBvaW50ID0gYWxhc2thCisgICAgICAgIC50cmFuc2xhdGUoW3ggLSAwLjMwNyAqIGssIHkgKyAw
LjIwMSAqIGtdKQorICAgICAgICAuY2xpcEV4dGVudChbW3ggLSAwLjQyNSAqIGsgKyBlcHNpbG9u
JDIsIHkgKyAwLjEyMCAqIGsgKyBlcHNpbG9uJDJdLCBbeCAtIDAuMjE0ICogayAtIGVwc2lsb24k
MiwgeSArIDAuMjM0ICogayAtIGVwc2lsb24kMl1dKQorICAgICAgICAuc3RyZWFtKHBvaW50U3Ry
ZWFtKTsKKworICAgIGhhd2FpaVBvaW50ID0gaGF3YWlpCisgICAgICAgIC50cmFuc2xhdGUoW3gg
LSAwLjIwNSAqIGssIHkgKyAwLjIxMiAqIGtdKQorICAgICAgICAuY2xpcEV4dGVudChbW3ggLSAw
LjIxNCAqIGsgKyBlcHNpbG9uJDIsIHkgKyAwLjE2NiAqIGsgKyBlcHNpbG9uJDJdLCBbeCAtIDAu
MTE1ICogayAtIGVwc2lsb24kMiwgeSArIDAuMjM0ICogayAtIGVwc2lsb24kMl1dKQorICAgICAg
ICAuc3RyZWFtKHBvaW50U3RyZWFtKTsKKworICAgIHJldHVybiByZXNldCgpOworICB9OworCisg
IGFsYmVyc1VzYS5maXRFeHRlbnQgPSBmdW5jdGlvbihleHRlbnQsIG9iamVjdCkgeworICAgIHJl
dHVybiBmaXRFeHRlbnQoYWxiZXJzVXNhLCBleHRlbnQsIG9iamVjdCk7CisgIH07CisKKyAgYWxi
ZXJzVXNhLmZpdFNpemUgPSBmdW5jdGlvbihzaXplLCBvYmplY3QpIHsKKyAgICByZXR1cm4gZml0
U2l6ZShhbGJlcnNVc2EsIHNpemUsIG9iamVjdCk7CisgIH07CisKKyAgYWxiZXJzVXNhLmZpdFdp
ZHRoID0gZnVuY3Rpb24od2lkdGgsIG9iamVjdCkgeworICAgIHJldHVybiBmaXRXaWR0aChhbGJl
cnNVc2EsIHdpZHRoLCBvYmplY3QpOworICB9OworCisgIGFsYmVyc1VzYS5maXRIZWlnaHQgPSBm
dW5jdGlvbihoZWlnaHQsIG9iamVjdCkgeworICAgIHJldHVybiBmaXRIZWlnaHQoYWxiZXJzVXNh
LCBoZWlnaHQsIG9iamVjdCk7CisgIH07CisKKyAgZnVuY3Rpb24gcmVzZXQoKSB7CisgICAgY2Fj
aGUgPSBjYWNoZVN0cmVhbSA9IG51bGw7CisgICAgcmV0dXJuIGFsYmVyc1VzYTsKKyAgfQorCisg
IHJldHVybiBhbGJlcnNVc2Euc2NhbGUoMTA3MCk7Cit9CisKK2Z1bmN0aW9uIGF6aW11dGhhbFJh
dyhzY2FsZSkgeworICByZXR1cm4gZnVuY3Rpb24oeCwgeSkgeworICAgIHZhciBjeCA9IGNvcyQx
KHgpLAorICAgICAgICBjeSA9IGNvcyQxKHkpLAorICAgICAgICBrID0gc2NhbGUoY3ggKiBjeSk7
CisgICAgcmV0dXJuIFsKKyAgICAgIGsgKiBjeSAqIHNpbiQxKHgpLAorICAgICAgayAqIHNpbiQx
KHkpCisgICAgXTsKKyAgfQorfQorCitmdW5jdGlvbiBhemltdXRoYWxJbnZlcnQoYW5nbGUpIHsK
KyAgcmV0dXJuIGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB2YXIgeiA9IHNxcnQoeCAqIHggKyB5ICog
eSksCisgICAgICAgIGMgPSBhbmdsZSh6KSwKKyAgICAgICAgc2MgPSBzaW4kMShjKSwKKyAgICAg
ICAgY2MgPSBjb3MkMShjKTsKKyAgICByZXR1cm4gWworICAgICAgYXRhbjIoeCAqIHNjLCB6ICog
Y2MpLAorICAgICAgYXNpbih6ICYmIHkgKiBzYyAvIHopCisgICAgXTsKKyAgfQorfQorCit2YXIg
YXppbXV0aGFsRXF1YWxBcmVhUmF3ID0gYXppbXV0aGFsUmF3KGZ1bmN0aW9uKGN4Y3kpIHsKKyAg
cmV0dXJuIHNxcnQoMiAvICgxICsgY3hjeSkpOworfSk7CisKK2F6aW11dGhhbEVxdWFsQXJlYVJh
dy5pbnZlcnQgPSBhemltdXRoYWxJbnZlcnQoZnVuY3Rpb24oeikgeworICByZXR1cm4gMiAqIGFz
aW4oeiAvIDIpOworfSk7CisKK2Z1bmN0aW9uIGF6aW11dGhhbEVxdWFsQXJlYSgpIHsKKyAgcmV0
dXJuIHByb2plY3Rpb24oYXppbXV0aGFsRXF1YWxBcmVhUmF3KQorICAgICAgLnNjYWxlKDEyNC43
NSkKKyAgICAgIC5jbGlwQW5nbGUoMTgwIC0gMWUtMyk7Cit9CisKK3ZhciBhemltdXRoYWxFcXVp
ZGlzdGFudFJhdyA9IGF6aW11dGhhbFJhdyhmdW5jdGlvbihjKSB7CisgIHJldHVybiAoYyA9IGFj
b3MoYykpICYmIGMgLyBzaW4kMShjKTsKK30pOworCithemltdXRoYWxFcXVpZGlzdGFudFJhdy5p
bnZlcnQgPSBhemltdXRoYWxJbnZlcnQoZnVuY3Rpb24oeikgeworICByZXR1cm4gejsKK30pOwor
CitmdW5jdGlvbiBhemltdXRoYWxFcXVpZGlzdGFudCgpIHsKKyAgcmV0dXJuIHByb2plY3Rpb24o
YXppbXV0aGFsRXF1aWRpc3RhbnRSYXcpCisgICAgICAuc2NhbGUoNzkuNDE4OCkKKyAgICAgIC5j
bGlwQW5nbGUoMTgwIC0gMWUtMyk7Cit9CisKK2Z1bmN0aW9uIG1lcmNhdG9yUmF3KGxhbWJkYSwg
cGhpKSB7CisgIHJldHVybiBbbGFtYmRhLCBsb2codGFuKChoYWxmUGkkMiArIHBoaSkgLyAyKSld
OworfQorCittZXJjYXRvclJhdy5pbnZlcnQgPSBmdW5jdGlvbih4LCB5KSB7CisgIHJldHVybiBb
eCwgMiAqIGF0YW4oZXhwKHkpKSAtIGhhbGZQaSQyXTsKK307CisKK2Z1bmN0aW9uIG1lcmNhdG9y
KCkgeworICByZXR1cm4gbWVyY2F0b3JQcm9qZWN0aW9uKG1lcmNhdG9yUmF3KQorICAgICAgLnNj
YWxlKDk2MSAvIHRhdSQzKTsKK30KKworZnVuY3Rpb24gbWVyY2F0b3JQcm9qZWN0aW9uKHByb2pl
Y3QpIHsKKyAgdmFyIG0gPSBwcm9qZWN0aW9uKHByb2plY3QpLAorICAgICAgY2VudGVyID0gbS5j
ZW50ZXIsCisgICAgICBzY2FsZSA9IG0uc2NhbGUsCisgICAgICB0cmFuc2xhdGUgPSBtLnRyYW5z
bGF0ZSwKKyAgICAgIGNsaXBFeHRlbnQgPSBtLmNsaXBFeHRlbnQsCisgICAgICB4MCA9IG51bGws
IHkwLCB4MSwgeTE7IC8vIGNsaXAgZXh0ZW50CisKKyAgbS5zY2FsZSA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzY2FsZShfKSwgcmVjbGlwKCkpIDogc2Nh
bGUoKTsKKyAgfTsKKworICBtLnRyYW5zbGF0ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/ICh0cmFuc2xhdGUoXyksIHJlY2xpcCgpKSA6IHRyYW5zbGF0ZSgp
OworICB9OworCisgIG0uY2VudGVyID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKGNlbnRlcihfKSwgcmVjbGlwKCkpIDogY2VudGVyKCk7CisgIH07CisKKyAg
bS5jbGlwRXh0ZW50ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKChfID09IG51bGwgPyB4MCA9IHkwID0geDEgPSB5MSA9IG51bGwgOiAoeDAgPSArX1swXVsw
XSwgeTAgPSArX1swXVsxXSwgeDEgPSArX1sxXVswXSwgeTEgPSArX1sxXVsxXSkpLCByZWNsaXAo
KSkgOiB4MCA9PSBudWxsID8gbnVsbCA6IFtbeDAsIHkwXSwgW3gxLCB5MV1dOworICB9OworCisg
IGZ1bmN0aW9uIHJlY2xpcCgpIHsKKyAgICB2YXIgayA9IHBpJDMgKiBzY2FsZSgpLAorICAgICAg
ICB0ID0gbShyb3RhdGlvbihtLnJvdGF0ZSgpKS5pbnZlcnQoWzAsIDBdKSk7CisgICAgcmV0dXJu
IGNsaXBFeHRlbnQoeDAgPT0gbnVsbAorICAgICAgICA/IFtbdFswXSAtIGssIHRbMV0gLSBrXSwg
W3RbMF0gKyBrLCB0WzFdICsga11dIDogcHJvamVjdCA9PT0gbWVyY2F0b3JSYXcKKyAgICAgICAg
PyBbW01hdGgubWF4KHRbMF0gLSBrLCB4MCksIHkwXSwgW01hdGgubWluKHRbMF0gKyBrLCB4MSks
IHkxXV0KKyAgICAgICAgOiBbW3gwLCBNYXRoLm1heCh0WzFdIC0gaywgeTApXSwgW3gxLCBNYXRo
Lm1pbih0WzFdICsgaywgeTEpXV0pOworICB9CisKKyAgcmV0dXJuIHJlY2xpcCgpOworfQorCitm
dW5jdGlvbiB0YW55KHkpIHsKKyAgcmV0dXJuIHRhbigoaGFsZlBpJDIgKyB5KSAvIDIpOworfQor
CitmdW5jdGlvbiBjb25pY0NvbmZvcm1hbFJhdyh5MCwgeTEpIHsKKyAgdmFyIGN5MCA9IGNvcyQx
KHkwKSwKKyAgICAgIG4gPSB5MCA9PT0geTEgPyBzaW4kMSh5MCkgOiBsb2coY3kwIC8gY29zJDEo
eTEpKSAvIGxvZyh0YW55KHkxKSAvIHRhbnkoeTApKSwKKyAgICAgIGYgPSBjeTAgKiBwb3codGFu
eSh5MCksIG4pIC8gbjsKKworICBpZiAoIW4pIHJldHVybiBtZXJjYXRvclJhdzsKKworICBmdW5j
dGlvbiBwcm9qZWN0KHgsIHkpIHsKKyAgICBpZiAoZiA+IDApIHsgaWYgKHkgPCAtaGFsZlBpJDIg
KyBlcHNpbG9uJDIpIHkgPSAtaGFsZlBpJDIgKyBlcHNpbG9uJDI7IH0KKyAgICBlbHNlIHsgaWYg
KHkgPiBoYWxmUGkkMiAtIGVwc2lsb24kMikgeSA9IGhhbGZQaSQyIC0gZXBzaWxvbiQyOyB9Cisg
ICAgdmFyIHIgPSBmIC8gcG93KHRhbnkoeSksIG4pOworICAgIHJldHVybiBbciAqIHNpbiQxKG4g
KiB4KSwgZiAtIHIgKiBjb3MkMShuICogeCldOworICB9CisKKyAgcHJvamVjdC5pbnZlcnQgPSBm
dW5jdGlvbih4LCB5KSB7CisgICAgdmFyIGZ5ID0gZiAtIHksIHIgPSBzaWduKG4pICogc3FydCh4
ICogeCArIGZ5ICogZnkpOworICAgIHJldHVybiBbYXRhbjIoeCwgYWJzKGZ5KSkgLyBuICogc2ln
bihmeSksIDIgKiBhdGFuKHBvdyhmIC8gciwgMSAvIG4pKSAtIGhhbGZQaSQyXTsKKyAgfTsKKwor
ICByZXR1cm4gcHJvamVjdDsKK30KKworZnVuY3Rpb24gY29uaWNDb25mb3JtYWwoKSB7CisgIHJl
dHVybiBjb25pY1Byb2plY3Rpb24oY29uaWNDb25mb3JtYWxSYXcpCisgICAgICAuc2NhbGUoMTA5
LjUpCisgICAgICAucGFyYWxsZWxzKFszMCwgMzBdKTsKK30KKworZnVuY3Rpb24gZXF1aXJlY3Rh
bmd1bGFyUmF3KGxhbWJkYSwgcGhpKSB7CisgIHJldHVybiBbbGFtYmRhLCBwaGldOworfQorCitl
cXVpcmVjdGFuZ3VsYXJSYXcuaW52ZXJ0ID0gZXF1aXJlY3Rhbmd1bGFyUmF3OworCitmdW5jdGlv
biBlcXVpcmVjdGFuZ3VsYXIoKSB7CisgIHJldHVybiBwcm9qZWN0aW9uKGVxdWlyZWN0YW5ndWxh
clJhdykKKyAgICAgIC5zY2FsZSgxNTIuNjMpOworfQorCitmdW5jdGlvbiBjb25pY0VxdWlkaXN0
YW50UmF3KHkwLCB5MSkgeworICB2YXIgY3kwID0gY29zJDEoeTApLAorICAgICAgbiA9IHkwID09
PSB5MSA/IHNpbiQxKHkwKSA6IChjeTAgLSBjb3MkMSh5MSkpIC8gKHkxIC0geTApLAorICAgICAg
ZyA9IGN5MCAvIG4gKyB5MDsKKworICBpZiAoYWJzKG4pIDwgZXBzaWxvbiQyKSByZXR1cm4gZXF1
aXJlY3Rhbmd1bGFyUmF3OworCisgIGZ1bmN0aW9uIHByb2plY3QoeCwgeSkgeworICAgIHZhciBn
eSA9IGcgLSB5LCBueCA9IG4gKiB4OworICAgIHJldHVybiBbZ3kgKiBzaW4kMShueCksIGcgLSBn
eSAqIGNvcyQxKG54KV07CisgIH0KKworICBwcm9qZWN0LmludmVydCA9IGZ1bmN0aW9uKHgsIHkp
IHsKKyAgICB2YXIgZ3kgPSBnIC0geTsKKyAgICByZXR1cm4gW2F0YW4yKHgsIGFicyhneSkpIC8g
biAqIHNpZ24oZ3kpLCBnIC0gc2lnbihuKSAqIHNxcnQoeCAqIHggKyBneSAqIGd5KV07CisgIH07
CisKKyAgcmV0dXJuIHByb2plY3Q7Cit9CisKK2Z1bmN0aW9uIGNvbmljRXF1aWRpc3RhbnQoKSB7
CisgIHJldHVybiBjb25pY1Byb2plY3Rpb24oY29uaWNFcXVpZGlzdGFudFJhdykKKyAgICAgIC5z
Y2FsZSgxMzEuMTU0KQorICAgICAgLmNlbnRlcihbMCwgMTMuOTM4OV0pOworfQorCit2YXIgQTEg
PSAxLjM0MDI2NCwKKyAgICBBMiA9IC0wLjA4MTEwNiwKKyAgICBBMyA9IDAuMDAwODkzLAorICAg
IEE0ID0gMC4wMDM3OTYsCisgICAgTSA9IHNxcnQoMykgLyAyLAorICAgIGl0ZXJhdGlvbnMgPSAx
MjsKKworZnVuY3Rpb24gZXF1YWxFYXJ0aFJhdyhsYW1iZGEsIHBoaSkgeworICB2YXIgbCA9IGFz
aW4oTSAqIHNpbiQxKHBoaSkpLCBsMiA9IGwgKiBsLCBsNiA9IGwyICogbDIgKiBsMjsKKyAgcmV0
dXJuIFsKKyAgICBsYW1iZGEgKiBjb3MkMShsKSAvIChNICogKEExICsgMyAqIEEyICogbDIgKyBs
NiAqICg3ICogQTMgKyA5ICogQTQgKiBsMikpKSwKKyAgICBsICogKEExICsgQTIgKiBsMiArIGw2
ICogKEEzICsgQTQgKiBsMikpCisgIF07Cit9CisKK2VxdWFsRWFydGhSYXcuaW52ZXJ0ID0gZnVu
Y3Rpb24oeCwgeSkgeworICB2YXIgbCA9IHksIGwyID0gbCAqIGwsIGw2ID0gbDIgKiBsMiAqIGwy
OworICBmb3IgKHZhciBpID0gMCwgZGVsdGEsIGZ5LCBmcHk7IGkgPCBpdGVyYXRpb25zOyArK2kp
IHsKKyAgICBmeSA9IGwgKiAoQTEgKyBBMiAqIGwyICsgbDYgKiAoQTMgKyBBNCAqIGwyKSkgLSB5
OworICAgIGZweSA9IEExICsgMyAqIEEyICogbDIgKyBsNiAqICg3ICogQTMgKyA5ICogQTQgKiBs
Mik7CisgICAgbCAtPSBkZWx0YSA9IGZ5IC8gZnB5LCBsMiA9IGwgKiBsLCBsNiA9IGwyICogbDIg
KiBsMjsKKyAgICBpZiAoYWJzKGRlbHRhKSA8IGVwc2lsb24yJDEpIGJyZWFrOworICB9CisgIHJl
dHVybiBbCisgICAgTSAqIHggKiAoQTEgKyAzICogQTIgKiBsMiArIGw2ICogKDcgKiBBMyArIDkg
KiBBNCAqIGwyKSkgLyBjb3MkMShsKSwKKyAgICBhc2luKHNpbiQxKGwpIC8gTSkKKyAgXTsKK307
CisKK2Z1bmN0aW9uIGVxdWFsRWFydGgoKSB7CisgIHJldHVybiBwcm9qZWN0aW9uKGVxdWFsRWFy
dGhSYXcpCisgICAgICAuc2NhbGUoMTc3LjE1OCk7Cit9CisKK2Z1bmN0aW9uIGdub21vbmljUmF3
KHgsIHkpIHsKKyAgdmFyIGN5ID0gY29zJDEoeSksIGsgPSBjb3MkMSh4KSAqIGN5OworICByZXR1
cm4gW2N5ICogc2luJDEoeCkgLyBrLCBzaW4kMSh5KSAvIGtdOworfQorCitnbm9tb25pY1Jhdy5p
bnZlcnQgPSBhemltdXRoYWxJbnZlcnQoYXRhbik7CisKK2Z1bmN0aW9uIGdub21vbmljKCkgewor
ICByZXR1cm4gcHJvamVjdGlvbihnbm9tb25pY1JhdykKKyAgICAgIC5zY2FsZSgxNDQuMDQ5KQor
ICAgICAgLmNsaXBBbmdsZSg2MCk7Cit9CisKK2Z1bmN0aW9uIHNjYWxlVHJhbnNsYXRlJDEoa3gs
IGt5LCB0eCwgdHkpIHsKKyAgcmV0dXJuIGt4ID09PSAxICYmIGt5ID09PSAxICYmIHR4ID09PSAw
ICYmIHR5ID09PSAwID8gaWRlbnRpdHkkNCA6IHRyYW5zZm9ybWVyKHsKKyAgICBwb2ludDogZnVu
Y3Rpb24oeCwgeSkgeworICAgICAgdGhpcy5zdHJlYW0ucG9pbnQoeCAqIGt4ICsgdHgsIHkgKiBr
eSArIHR5KTsKKyAgICB9CisgIH0pOworfQorCitmdW5jdGlvbiBpZGVudGl0eSQ1KCkgeworICB2
YXIgayA9IDEsIHR4ID0gMCwgdHkgPSAwLCBzeCA9IDEsIHN5ID0gMSwgdHJhbnNmb3JtID0gaWRl
bnRpdHkkNCwgLy8gc2NhbGUsIHRyYW5zbGF0ZSBhbmQgcmVmbGVjdAorICAgICAgeDAgPSBudWxs
LCB5MCwgeDEsIHkxLCAvLyBjbGlwIGV4dGVudAorICAgICAgcG9zdGNsaXAgPSBpZGVudGl0eSQ0
LAorICAgICAgY2FjaGUsCisgICAgICBjYWNoZVN0cmVhbSwKKyAgICAgIHByb2plY3Rpb247CisK
KyAgZnVuY3Rpb24gcmVzZXQoKSB7CisgICAgY2FjaGUgPSBjYWNoZVN0cmVhbSA9IG51bGw7Cisg
ICAgcmV0dXJuIHByb2plY3Rpb247CisgIH0KKworICByZXR1cm4gcHJvamVjdGlvbiA9IHsKKyAg
ICBzdHJlYW06IGZ1bmN0aW9uKHN0cmVhbSkgeworICAgICAgcmV0dXJuIGNhY2hlICYmIGNhY2hl
U3RyZWFtID09PSBzdHJlYW0gPyBjYWNoZSA6IGNhY2hlID0gdHJhbnNmb3JtKHBvc3RjbGlwKGNh
Y2hlU3RyZWFtID0gc3RyZWFtKSk7CisgICAgfSwKKyAgICBwb3N0Y2xpcDogZnVuY3Rpb24oXykg
eworICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocG9zdGNsaXAgPSBfLCB4MCA9IHkw
ID0geDEgPSB5MSA9IG51bGwsIHJlc2V0KCkpIDogcG9zdGNsaXA7CisgICAgfSwKKyAgICBjbGlw
RXh0ZW50OiBmdW5jdGlvbihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChw
b3N0Y2xpcCA9IF8gPT0gbnVsbCA/ICh4MCA9IHkwID0geDEgPSB5MSA9IG51bGwsIGlkZW50aXR5
JDQpIDogY2xpcFJlY3RhbmdsZSh4MCA9ICtfWzBdWzBdLCB5MCA9ICtfWzBdWzFdLCB4MSA9ICtf
WzFdWzBdLCB5MSA9ICtfWzFdWzFdKSwgcmVzZXQoKSkgOiB4MCA9PSBudWxsID8gbnVsbCA6IFtb
eDAsIHkwXSwgW3gxLCB5MV1dOworICAgIH0sCisgICAgc2NhbGU6IGZ1bmN0aW9uKF8pIHsKKyAg
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRyYW5zZm9ybSA9IHNjYWxlVHJhbnNsYXRl
JDEoKGsgPSArXykgKiBzeCwgayAqIHN5LCB0eCwgdHkpLCByZXNldCgpKSA6IGs7CisgICAgfSwK
KyAgICB0cmFuc2xhdGU6IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHRyYW5zZm9ybSA9IHNjYWxlVHJhbnNsYXRlJDEoayAqIHN4LCBrICogc3ksIHR4ID0g
K19bMF0sIHR5ID0gK19bMV0pLCByZXNldCgpKSA6IFt0eCwgdHldOworICAgIH0sCisgICAgcmVm
bGVjdFg6IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRy
YW5zZm9ybSA9IHNjYWxlVHJhbnNsYXRlJDEoayAqIChzeCA9IF8gPyAtMSA6IDEpLCBrICogc3ks
IHR4LCB0eSksIHJlc2V0KCkpIDogc3ggPCAwOworICAgIH0sCisgICAgcmVmbGVjdFk6IGZ1bmN0
aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRyYW5zZm9ybSA9IHNj
YWxlVHJhbnNsYXRlJDEoayAqIHN4LCBrICogKHN5ID0gXyA/IC0xIDogMSksIHR4LCB0eSksIHJl
c2V0KCkpIDogc3kgPCAwOworICAgIH0sCisgICAgZml0RXh0ZW50OiBmdW5jdGlvbihleHRlbnQs
IG9iamVjdCkgeworICAgICAgcmV0dXJuIGZpdEV4dGVudChwcm9qZWN0aW9uLCBleHRlbnQsIG9i
amVjdCk7CisgICAgfSwKKyAgICBmaXRTaXplOiBmdW5jdGlvbihzaXplLCBvYmplY3QpIHsKKyAg
ICAgIHJldHVybiBmaXRTaXplKHByb2plY3Rpb24sIHNpemUsIG9iamVjdCk7CisgICAgfSwKKyAg
ICBmaXRXaWR0aDogZnVuY3Rpb24od2lkdGgsIG9iamVjdCkgeworICAgICAgcmV0dXJuIGZpdFdp
ZHRoKHByb2plY3Rpb24sIHdpZHRoLCBvYmplY3QpOworICAgIH0sCisgICAgZml0SGVpZ2h0OiBm
dW5jdGlvbihoZWlnaHQsIG9iamVjdCkgeworICAgICAgcmV0dXJuIGZpdEhlaWdodChwcm9qZWN0
aW9uLCBoZWlnaHQsIG9iamVjdCk7CisgICAgfQorICB9OworfQorCitmdW5jdGlvbiBuYXR1cmFs
RWFydGgxUmF3KGxhbWJkYSwgcGhpKSB7CisgIHZhciBwaGkyID0gcGhpICogcGhpLCBwaGk0ID0g
cGhpMiAqIHBoaTI7CisgIHJldHVybiBbCisgICAgbGFtYmRhICogKDAuODcwNyAtIDAuMTMxOTc5
ICogcGhpMiArIHBoaTQgKiAoLTAuMDEzNzkxICsgcGhpNCAqICgwLjAwMzk3MSAqIHBoaTIgLSAw
LjAwMTUyOSAqIHBoaTQpKSksCisgICAgcGhpICogKDEuMDA3MjI2ICsgcGhpMiAqICgwLjAxNTA4
NSArIHBoaTQgKiAoLTAuMDQ0NDc1ICsgMC4wMjg4NzQgKiBwaGkyIC0gMC4wMDU5MTYgKiBwaGk0
KSkpCisgIF07Cit9CisKK25hdHVyYWxFYXJ0aDFSYXcuaW52ZXJ0ID0gZnVuY3Rpb24oeCwgeSkg
eworICB2YXIgcGhpID0geSwgaSA9IDI1LCBkZWx0YTsKKyAgZG8geworICAgIHZhciBwaGkyID0g
cGhpICogcGhpLCBwaGk0ID0gcGhpMiAqIHBoaTI7CisgICAgcGhpIC09IGRlbHRhID0gKHBoaSAq
ICgxLjAwNzIyNiArIHBoaTIgKiAoMC4wMTUwODUgKyBwaGk0ICogKC0wLjA0NDQ3NSArIDAuMDI4
ODc0ICogcGhpMiAtIDAuMDA1OTE2ICogcGhpNCkpKSAtIHkpIC8KKyAgICAgICAgKDEuMDA3MjI2
ICsgcGhpMiAqICgwLjAxNTA4NSAqIDMgKyBwaGk0ICogKC0wLjA0NDQ3NSAqIDcgKyAwLjAyODg3
NCAqIDkgKiBwaGkyIC0gMC4wMDU5MTYgKiAxMSAqIHBoaTQpKSk7CisgIH0gd2hpbGUgKGFicyhk
ZWx0YSkgPiBlcHNpbG9uJDIgJiYgLS1pID4gMCk7CisgIHJldHVybiBbCisgICAgeCAvICgwLjg3
MDcgKyAocGhpMiA9IHBoaSAqIHBoaSkgKiAoLTAuMTMxOTc5ICsgcGhpMiAqICgtMC4wMTM3OTEg
KyBwaGkyICogcGhpMiAqIHBoaTIgKiAoMC4wMDM5NzEgLSAwLjAwMTUyOSAqIHBoaTIpKSkpLAor
ICAgIHBoaQorICBdOworfTsKKworZnVuY3Rpb24gbmF0dXJhbEVhcnRoMSgpIHsKKyAgcmV0dXJu
IHByb2plY3Rpb24obmF0dXJhbEVhcnRoMVJhdykKKyAgICAgIC5zY2FsZSgxNzUuMjk1KTsKK30K
KworZnVuY3Rpb24gb3J0aG9ncmFwaGljUmF3KHgsIHkpIHsKKyAgcmV0dXJuIFtjb3MkMSh5KSAq
IHNpbiQxKHgpLCBzaW4kMSh5KV07Cit9CisKK29ydGhvZ3JhcGhpY1Jhdy5pbnZlcnQgPSBhemlt
dXRoYWxJbnZlcnQoYXNpbik7CisKK2Z1bmN0aW9uIG9ydGhvZ3JhcGhpYygpIHsKKyAgcmV0dXJu
IHByb2plY3Rpb24ob3J0aG9ncmFwaGljUmF3KQorICAgICAgLnNjYWxlKDI0OS41KQorICAgICAg
LmNsaXBBbmdsZSg5MCArIGVwc2lsb24kMik7Cit9CisKK2Z1bmN0aW9uIHN0ZXJlb2dyYXBoaWNS
YXcoeCwgeSkgeworICB2YXIgY3kgPSBjb3MkMSh5KSwgayA9IDEgKyBjb3MkMSh4KSAqIGN5Owor
ICByZXR1cm4gW2N5ICogc2luJDEoeCkgLyBrLCBzaW4kMSh5KSAvIGtdOworfQorCitzdGVyZW9n
cmFwaGljUmF3LmludmVydCA9IGF6aW11dGhhbEludmVydChmdW5jdGlvbih6KSB7CisgIHJldHVy
biAyICogYXRhbih6KTsKK30pOworCitmdW5jdGlvbiBzdGVyZW9ncmFwaGljKCkgeworICByZXR1
cm4gcHJvamVjdGlvbihzdGVyZW9ncmFwaGljUmF3KQorICAgICAgLnNjYWxlKDI1MCkKKyAgICAg
IC5jbGlwQW5nbGUoMTQyKTsKK30KKworZnVuY3Rpb24gdHJhbnN2ZXJzZU1lcmNhdG9yUmF3KGxh
bWJkYSwgcGhpKSB7CisgIHJldHVybiBbbG9nKHRhbigoaGFsZlBpJDIgKyBwaGkpIC8gMikpLCAt
bGFtYmRhXTsKK30KKwordHJhbnN2ZXJzZU1lcmNhdG9yUmF3LmludmVydCA9IGZ1bmN0aW9uKHgs
IHkpIHsKKyAgcmV0dXJuIFsteSwgMiAqIGF0YW4oZXhwKHgpKSAtIGhhbGZQaSQyXTsKK307CisK
K2Z1bmN0aW9uIHRyYW5zdmVyc2VNZXJjYXRvcigpIHsKKyAgdmFyIG0gPSBtZXJjYXRvclByb2pl
Y3Rpb24odHJhbnN2ZXJzZU1lcmNhdG9yUmF3KSwKKyAgICAgIGNlbnRlciA9IG0uY2VudGVyLAor
ICAgICAgcm90YXRlID0gbS5yb3RhdGU7CisKKyAgbS5jZW50ZXIgPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyBjZW50ZXIoWy1fWzFdLCBfWzBdXSkgOiAoXyA9
IGNlbnRlcigpLCBbX1sxXSwgLV9bMF1dKTsKKyAgfTsKKworICBtLnJvdGF0ZSA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IHJvdGF0ZShbX1swXSwgX1sxXSwg
Xy5sZW5ndGggPiAyID8gX1syXSArIDkwIDogOTBdKSA6IChfID0gcm90YXRlKCksIFtfWzBdLCBf
WzFdLCBfWzJdIC0gOTBdKTsKKyAgfTsKKworICByZXR1cm4gcm90YXRlKFswLCAwLCA5MF0pCisg
ICAgICAuc2NhbGUoMTU5LjE1NSk7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRTZXBhcmF0aW9uKGEs
IGIpIHsKKyAgcmV0dXJuIGEucGFyZW50ID09PSBiLnBhcmVudCA/IDEgOiAyOworfQorCitmdW5j
dGlvbiBtZWFuWChjaGlsZHJlbikgeworICByZXR1cm4gY2hpbGRyZW4ucmVkdWNlKG1lYW5YUmVk
dWNlLCAwKSAvIGNoaWxkcmVuLmxlbmd0aDsKK30KKworZnVuY3Rpb24gbWVhblhSZWR1Y2UoeCwg
YykgeworICByZXR1cm4geCArIGMueDsKK30KKworZnVuY3Rpb24gbWF4WShjaGlsZHJlbikgewor
ICByZXR1cm4gMSArIGNoaWxkcmVuLnJlZHVjZShtYXhZUmVkdWNlLCAwKTsKK30KKworZnVuY3Rp
b24gbWF4WVJlZHVjZSh5LCBjKSB7CisgIHJldHVybiBNYXRoLm1heCh5LCBjLnkpOworfQorCitm
dW5jdGlvbiBsZWFmTGVmdChub2RlKSB7CisgIHZhciBjaGlsZHJlbjsKKyAgd2hpbGUgKGNoaWxk
cmVuID0gbm9kZS5jaGlsZHJlbikgbm9kZSA9IGNoaWxkcmVuWzBdOworICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gbGVhZlJpZ2h0KG5vZGUpIHsKKyAgdmFyIGNoaWxkcmVuOworICB3aGls
ZSAoY2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuKSBub2RlID0gY2hpbGRyZW5bY2hpbGRyZW4ubGVu
Z3RoIC0gMV07CisgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiBjbHVzdGVyKCkgeworICB2
YXIgc2VwYXJhdGlvbiA9IGRlZmF1bHRTZXBhcmF0aW9uLAorICAgICAgZHggPSAxLAorICAgICAg
ZHkgPSAxLAorICAgICAgbm9kZVNpemUgPSBmYWxzZTsKKworICBmdW5jdGlvbiBjbHVzdGVyKHJv
b3QpIHsKKyAgICB2YXIgcHJldmlvdXNOb2RlLAorICAgICAgICB4ID0gMDsKKworICAgIC8vIEZp
cnN0IHdhbGssIGNvbXB1dGluZyB0aGUgaW5pdGlhbCB4ICYgeSB2YWx1ZXMuCisgICAgcm9vdC5l
YWNoQWZ0ZXIoZnVuY3Rpb24obm9kZSkgeworICAgICAgdmFyIGNoaWxkcmVuID0gbm9kZS5jaGls
ZHJlbjsKKyAgICAgIGlmIChjaGlsZHJlbikgeworICAgICAgICBub2RlLnggPSBtZWFuWChjaGls
ZHJlbik7CisgICAgICAgIG5vZGUueSA9IG1heFkoY2hpbGRyZW4pOworICAgICAgfSBlbHNlIHsK
KyAgICAgICAgbm9kZS54ID0gcHJldmlvdXNOb2RlID8geCArPSBzZXBhcmF0aW9uKG5vZGUsIHBy
ZXZpb3VzTm9kZSkgOiAwOworICAgICAgICBub2RlLnkgPSAwOworICAgICAgICBwcmV2aW91c05v
ZGUgPSBub2RlOworICAgICAgfQorICAgIH0pOworCisgICAgdmFyIGxlZnQgPSBsZWFmTGVmdChy
b290KSwKKyAgICAgICAgcmlnaHQgPSBsZWFmUmlnaHQocm9vdCksCisgICAgICAgIHgwID0gbGVm
dC54IC0gc2VwYXJhdGlvbihsZWZ0LCByaWdodCkgLyAyLAorICAgICAgICB4MSA9IHJpZ2h0Lngg
KyBzZXBhcmF0aW9uKHJpZ2h0LCBsZWZ0KSAvIDI7CisKKyAgICAvLyBTZWNvbmQgd2Fsaywgbm9y
bWFsaXppbmcgeCAmIHkgdG8gdGhlIGRlc2lyZWQgc2l6ZS4KKyAgICByZXR1cm4gcm9vdC5lYWNo
QWZ0ZXIobm9kZVNpemUgPyBmdW5jdGlvbihub2RlKSB7CisgICAgICBub2RlLnggPSAobm9kZS54
IC0gcm9vdC54KSAqIGR4OworICAgICAgbm9kZS55ID0gKHJvb3QueSAtIG5vZGUueSkgKiBkeTsK
KyAgICB9IDogZnVuY3Rpb24obm9kZSkgeworICAgICAgbm9kZS54ID0gKG5vZGUueCAtIHgwKSAv
ICh4MSAtIHgwKSAqIGR4OworICAgICAgbm9kZS55ID0gKDEgLSAocm9vdC55ID8gbm9kZS55IC8g
cm9vdC55IDogMSkpICogZHk7CisgICAgfSk7CisgIH0KKworICBjbHVzdGVyLnNlcGFyYXRpb24g
PSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc2VwYXJhdGlv
biA9IHgsIGNsdXN0ZXIpIDogc2VwYXJhdGlvbjsKKyAgfTsKKworICBjbHVzdGVyLnNpemUgPSBm
dW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAobm9kZVNpemUgPSBm
YWxzZSwgZHggPSAreFswXSwgZHkgPSAreFsxXSwgY2x1c3RlcikgOiAobm9kZVNpemUgPyBudWxs
IDogW2R4LCBkeV0pOworICB9OworCisgIGNsdXN0ZXIubm9kZVNpemUgPSBmdW5jdGlvbih4KSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAobm9kZVNpemUgPSB0cnVlLCBkeCA9ICt4
WzBdLCBkeSA9ICt4WzFdLCBjbHVzdGVyKSA6IChub2RlU2l6ZSA/IFtkeCwgZHldIDogbnVsbCk7
CisgIH07CisKKyAgcmV0dXJuIGNsdXN0ZXI7Cit9CisKK2Z1bmN0aW9uIGNvdW50KG5vZGUpIHsK
KyAgdmFyIHN1bSA9IDAsCisgICAgICBjaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW4sCisgICAgICBp
ID0gY2hpbGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoOworICBpZiAoIWkpIHN1bSA9IDE7CisgIGVs
c2Ugd2hpbGUgKC0taSA+PSAwKSBzdW0gKz0gY2hpbGRyZW5baV0udmFsdWU7CisgIG5vZGUudmFs
dWUgPSBzdW07Cit9CisKK2Z1bmN0aW9uIG5vZGVfY291bnQoKSB7CisgIHJldHVybiB0aGlzLmVh
Y2hBZnRlcihjb3VudCk7Cit9CisKK2Z1bmN0aW9uIG5vZGVfZWFjaChjYWxsYmFjaykgeworICB2
YXIgbm9kZSA9IHRoaXMsIGN1cnJlbnQsIG5leHQgPSBbbm9kZV0sIGNoaWxkcmVuLCBpLCBuOwor
ICBkbyB7CisgICAgY3VycmVudCA9IG5leHQucmV2ZXJzZSgpLCBuZXh0ID0gW107CisgICAgd2hp
bGUgKG5vZGUgPSBjdXJyZW50LnBvcCgpKSB7CisgICAgICBjYWxsYmFjayhub2RlKSwgY2hpbGRy
ZW4gPSBub2RlLmNoaWxkcmVuOworICAgICAgaWYgKGNoaWxkcmVuKSBmb3IgKGkgPSAwLCBuID0g
Y2hpbGRyZW4ubGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgICAgIG5leHQucHVzaChjaGlsZHJl
bltpXSk7CisgICAgICB9CisgICAgfQorICB9IHdoaWxlIChuZXh0Lmxlbmd0aCk7CisgIHJldHVy
biB0aGlzOworfQorCitmdW5jdGlvbiBub2RlX2VhY2hCZWZvcmUoY2FsbGJhY2spIHsKKyAgdmFy
IG5vZGUgPSB0aGlzLCBub2RlcyA9IFtub2RlXSwgY2hpbGRyZW4sIGk7CisgIHdoaWxlIChub2Rl
ID0gbm9kZXMucG9wKCkpIHsKKyAgICBjYWxsYmFjayhub2RlKSwgY2hpbGRyZW4gPSBub2RlLmNo
aWxkcmVuOworICAgIGlmIChjaGlsZHJlbikgZm9yIChpID0gY2hpbGRyZW4ubGVuZ3RoIC0gMTsg
aSA+PSAwOyAtLWkpIHsKKyAgICAgIG5vZGVzLnB1c2goY2hpbGRyZW5baV0pOworICAgIH0KKyAg
fQorICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24gbm9kZV9lYWNoQWZ0ZXIoY2FsbGJhY2sp
IHsKKyAgdmFyIG5vZGUgPSB0aGlzLCBub2RlcyA9IFtub2RlXSwgbmV4dCA9IFtdLCBjaGlsZHJl
biwgaSwgbjsKKyAgd2hpbGUgKG5vZGUgPSBub2Rlcy5wb3AoKSkgeworICAgIG5leHQucHVzaChu
b2RlKSwgY2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuOworICAgIGlmIChjaGlsZHJlbikgZm9yIChp
ID0gMCwgbiA9IGNoaWxkcmVuLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAgICAgbm9kZXMucHVz
aChjaGlsZHJlbltpXSk7CisgICAgfQorICB9CisgIHdoaWxlIChub2RlID0gbmV4dC5wb3AoKSkg
eworICAgIGNhbGxiYWNrKG5vZGUpOworICB9CisgIHJldHVybiB0aGlzOworfQorCitmdW5jdGlv
biBub2RlX3N1bSh2YWx1ZSkgeworICByZXR1cm4gdGhpcy5lYWNoQWZ0ZXIoZnVuY3Rpb24obm9k
ZSkgeworICAgIHZhciBzdW0gPSArdmFsdWUobm9kZS5kYXRhKSB8fCAwLAorICAgICAgICBjaGls
ZHJlbiA9IG5vZGUuY2hpbGRyZW4sCisgICAgICAgIGkgPSBjaGlsZHJlbiAmJiBjaGlsZHJlbi5s
ZW5ndGg7CisgICAgd2hpbGUgKC0taSA+PSAwKSBzdW0gKz0gY2hpbGRyZW5baV0udmFsdWU7Cisg
ICAgbm9kZS52YWx1ZSA9IHN1bTsKKyAgfSk7Cit9CisKK2Z1bmN0aW9uIG5vZGVfc29ydChjb21w
YXJlKSB7CisgIHJldHVybiB0aGlzLmVhY2hCZWZvcmUoZnVuY3Rpb24obm9kZSkgeworICAgIGlm
IChub2RlLmNoaWxkcmVuKSB7CisgICAgICBub2RlLmNoaWxkcmVuLnNvcnQoY29tcGFyZSk7Cisg
ICAgfQorICB9KTsKK30KKworZnVuY3Rpb24gbm9kZV9wYXRoKGVuZCkgeworICB2YXIgc3RhcnQg
PSB0aGlzLAorICAgICAgYW5jZXN0b3IgPSBsZWFzdENvbW1vbkFuY2VzdG9yKHN0YXJ0LCBlbmQp
LAorICAgICAgbm9kZXMgPSBbc3RhcnRdOworICB3aGlsZSAoc3RhcnQgIT09IGFuY2VzdG9yKSB7
CisgICAgc3RhcnQgPSBzdGFydC5wYXJlbnQ7CisgICAgbm9kZXMucHVzaChzdGFydCk7CisgIH0K
KyAgdmFyIGsgPSBub2Rlcy5sZW5ndGg7CisgIHdoaWxlIChlbmQgIT09IGFuY2VzdG9yKSB7Cisg
ICAgbm9kZXMuc3BsaWNlKGssIDAsIGVuZCk7CisgICAgZW5kID0gZW5kLnBhcmVudDsKKyAgfQor
ICByZXR1cm4gbm9kZXM7Cit9CisKK2Z1bmN0aW9uIGxlYXN0Q29tbW9uQW5jZXN0b3IoYSwgYikg
eworICBpZiAoYSA9PT0gYikgcmV0dXJuIGE7CisgIHZhciBhTm9kZXMgPSBhLmFuY2VzdG9ycygp
LAorICAgICAgYk5vZGVzID0gYi5hbmNlc3RvcnMoKSwKKyAgICAgIGMgPSBudWxsOworICBhID0g
YU5vZGVzLnBvcCgpOworICBiID0gYk5vZGVzLnBvcCgpOworICB3aGlsZSAoYSA9PT0gYikgewor
ICAgIGMgPSBhOworICAgIGEgPSBhTm9kZXMucG9wKCk7CisgICAgYiA9IGJOb2Rlcy5wb3AoKTsK
KyAgfQorICByZXR1cm4gYzsKK30KKworZnVuY3Rpb24gbm9kZV9hbmNlc3RvcnMoKSB7CisgIHZh
ciBub2RlID0gdGhpcywgbm9kZXMgPSBbbm9kZV07CisgIHdoaWxlIChub2RlID0gbm9kZS5wYXJl
bnQpIHsKKyAgICBub2Rlcy5wdXNoKG5vZGUpOworICB9CisgIHJldHVybiBub2RlczsKK30KKwor
ZnVuY3Rpb24gbm9kZV9kZXNjZW5kYW50cygpIHsKKyAgdmFyIG5vZGVzID0gW107CisgIHRoaXMu
ZWFjaChmdW5jdGlvbihub2RlKSB7CisgICAgbm9kZXMucHVzaChub2RlKTsKKyAgfSk7CisgIHJl
dHVybiBub2RlczsKK30KKworZnVuY3Rpb24gbm9kZV9sZWF2ZXMoKSB7CisgIHZhciBsZWF2ZXMg
PSBbXTsKKyAgdGhpcy5lYWNoQmVmb3JlKGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBpZiAoIW5vZGUu
Y2hpbGRyZW4pIHsKKyAgICAgIGxlYXZlcy5wdXNoKG5vZGUpOworICAgIH0KKyAgfSk7CisgIHJl
dHVybiBsZWF2ZXM7Cit9CisKK2Z1bmN0aW9uIG5vZGVfbGlua3MoKSB7CisgIHZhciByb290ID0g
dGhpcywgbGlua3MgPSBbXTsKKyAgcm9vdC5lYWNoKGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBpZiAo
bm9kZSAhPT0gcm9vdCkgeyAvLyBEb27igJl0IGluY2x1ZGUgdGhlIHJvb3TigJlzIHBhcmVudCwg
aWYgYW55LgorICAgICAgbGlua3MucHVzaCh7c291cmNlOiBub2RlLnBhcmVudCwgdGFyZ2V0OiBu
b2RlfSk7CisgICAgfQorICB9KTsKKyAgcmV0dXJuIGxpbmtzOworfQorCitmdW5jdGlvbiBoaWVy
YXJjaHkoZGF0YSwgY2hpbGRyZW4pIHsKKyAgdmFyIHJvb3QgPSBuZXcgTm9kZShkYXRhKSwKKyAg
ICAgIHZhbHVlZCA9ICtkYXRhLnZhbHVlICYmIChyb290LnZhbHVlID0gZGF0YS52YWx1ZSksCisg
ICAgICBub2RlLAorICAgICAgbm9kZXMgPSBbcm9vdF0sCisgICAgICBjaGlsZCwKKyAgICAgIGNo
aWxkcywKKyAgICAgIGksCisgICAgICBuOworCisgIGlmIChjaGlsZHJlbiA9PSBudWxsKSBjaGls
ZHJlbiA9IGRlZmF1bHRDaGlsZHJlbjsKKworICB3aGlsZSAobm9kZSA9IG5vZGVzLnBvcCgpKSB7
CisgICAgaWYgKHZhbHVlZCkgbm9kZS52YWx1ZSA9ICtub2RlLmRhdGEudmFsdWU7CisgICAgaWYg
KChjaGlsZHMgPSBjaGlsZHJlbihub2RlLmRhdGEpKSAmJiAobiA9IGNoaWxkcy5sZW5ndGgpKSB7
CisgICAgICBub2RlLmNoaWxkcmVuID0gbmV3IEFycmF5KG4pOworICAgICAgZm9yIChpID0gbiAt
IDE7IGkgPj0gMDsgLS1pKSB7CisgICAgICAgIG5vZGVzLnB1c2goY2hpbGQgPSBub2RlLmNoaWxk
cmVuW2ldID0gbmV3IE5vZGUoY2hpbGRzW2ldKSk7CisgICAgICAgIGNoaWxkLnBhcmVudCA9IG5v
ZGU7CisgICAgICAgIGNoaWxkLmRlcHRoID0gbm9kZS5kZXB0aCArIDE7CisgICAgICB9CisgICAg
fQorICB9CisKKyAgcmV0dXJuIHJvb3QuZWFjaEJlZm9yZShjb21wdXRlSGVpZ2h0KTsKK30KKwor
ZnVuY3Rpb24gbm9kZV9jb3B5KCkgeworICByZXR1cm4gaGllcmFyY2h5KHRoaXMpLmVhY2hCZWZv
cmUoY29weURhdGEpOworfQorCitmdW5jdGlvbiBkZWZhdWx0Q2hpbGRyZW4oZCkgeworICByZXR1
cm4gZC5jaGlsZHJlbjsKK30KKworZnVuY3Rpb24gY29weURhdGEobm9kZSkgeworICBub2RlLmRh
dGEgPSBub2RlLmRhdGEuZGF0YTsKK30KKworZnVuY3Rpb24gY29tcHV0ZUhlaWdodChub2RlKSB7
CisgIHZhciBoZWlnaHQgPSAwOworICBkbyBub2RlLmhlaWdodCA9IGhlaWdodDsKKyAgd2hpbGUg
KChub2RlID0gbm9kZS5wYXJlbnQpICYmIChub2RlLmhlaWdodCA8ICsraGVpZ2h0KSk7Cit9CisK
K2Z1bmN0aW9uIE5vZGUoZGF0YSkgeworICB0aGlzLmRhdGEgPSBkYXRhOworICB0aGlzLmRlcHRo
ID0KKyAgdGhpcy5oZWlnaHQgPSAwOworICB0aGlzLnBhcmVudCA9IG51bGw7Cit9CisKK05vZGUu
cHJvdG90eXBlID0gaGllcmFyY2h5LnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IE5vZGUs
CisgIGNvdW50OiBub2RlX2NvdW50LAorICBlYWNoOiBub2RlX2VhY2gsCisgIGVhY2hBZnRlcjog
bm9kZV9lYWNoQWZ0ZXIsCisgIGVhY2hCZWZvcmU6IG5vZGVfZWFjaEJlZm9yZSwKKyAgc3VtOiBu
b2RlX3N1bSwKKyAgc29ydDogbm9kZV9zb3J0LAorICBwYXRoOiBub2RlX3BhdGgsCisgIGFuY2Vz
dG9yczogbm9kZV9hbmNlc3RvcnMsCisgIGRlc2NlbmRhbnRzOiBub2RlX2Rlc2NlbmRhbnRzLAor
ICBsZWF2ZXM6IG5vZGVfbGVhdmVzLAorICBsaW5rczogbm9kZV9saW5rcywKKyAgY29weTogbm9k
ZV9jb3B5Cit9OworCit2YXIgc2xpY2UkNCA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsKKworZnVu
Y3Rpb24gc2h1ZmZsZSQxKGFycmF5KSB7CisgIHZhciBtID0gYXJyYXkubGVuZ3RoLAorICAgICAg
dCwKKyAgICAgIGk7CisKKyAgd2hpbGUgKG0pIHsKKyAgICBpID0gTWF0aC5yYW5kb20oKSAqIG0t
LSB8IDA7CisgICAgdCA9IGFycmF5W21dOworICAgIGFycmF5W21dID0gYXJyYXlbaV07CisgICAg
YXJyYXlbaV0gPSB0OworICB9CisKKyAgcmV0dXJuIGFycmF5OworfQorCitmdW5jdGlvbiBlbmNs
b3NlKGNpcmNsZXMpIHsKKyAgdmFyIGkgPSAwLCBuID0gKGNpcmNsZXMgPSBzaHVmZmxlJDEoc2xp
Y2UkNC5jYWxsKGNpcmNsZXMpKSkubGVuZ3RoLCBCID0gW10sIHAsIGU7CisKKyAgd2hpbGUgKGkg
PCBuKSB7CisgICAgcCA9IGNpcmNsZXNbaV07CisgICAgaWYgKGUgJiYgZW5jbG9zZXNXZWFrKGUs
IHApKSArK2k7CisgICAgZWxzZSBlID0gZW5jbG9zZUJhc2lzKEIgPSBleHRlbmRCYXNpcyhCLCBw
KSksIGkgPSAwOworICB9CisKKyAgcmV0dXJuIGU7Cit9CisKK2Z1bmN0aW9uIGV4dGVuZEJhc2lz
KEIsIHApIHsKKyAgdmFyIGksIGo7CisKKyAgaWYgKGVuY2xvc2VzV2Vha0FsbChwLCBCKSkgcmV0
dXJuIFtwXTsKKworICAvLyBJZiB3ZSBnZXQgaGVyZSB0aGVuIEIgbXVzdCBoYXZlIGF0IGxlYXN0
IG9uZSBlbGVtZW50LgorICBmb3IgKGkgPSAwOyBpIDwgQi5sZW5ndGg7ICsraSkgeworICAgIGlm
IChlbmNsb3Nlc05vdChwLCBCW2ldKQorICAgICAgICAmJiBlbmNsb3Nlc1dlYWtBbGwoZW5jbG9z
ZUJhc2lzMihCW2ldLCBwKSwgQikpIHsKKyAgICAgIHJldHVybiBbQltpXSwgcF07CisgICAgfQor
ICB9CisKKyAgLy8gSWYgd2UgZ2V0IGhlcmUgdGhlbiBCIG11c3QgaGF2ZSBhdCBsZWFzdCB0d28g
ZWxlbWVudHMuCisgIGZvciAoaSA9IDA7IGkgPCBCLmxlbmd0aCAtIDE7ICsraSkgeworICAgIGZv
ciAoaiA9IGkgKyAxOyBqIDwgQi5sZW5ndGg7ICsraikgeworICAgICAgaWYgKGVuY2xvc2VzTm90
KGVuY2xvc2VCYXNpczIoQltpXSwgQltqXSksIHApCisgICAgICAgICAgJiYgZW5jbG9zZXNOb3Qo
ZW5jbG9zZUJhc2lzMihCW2ldLCBwKSwgQltqXSkKKyAgICAgICAgICAmJiBlbmNsb3Nlc05vdChl
bmNsb3NlQmFzaXMyKEJbal0sIHApLCBCW2ldKQorICAgICAgICAgICYmIGVuY2xvc2VzV2Vha0Fs
bChlbmNsb3NlQmFzaXMzKEJbaV0sIEJbal0sIHApLCBCKSkgeworICAgICAgICByZXR1cm4gW0Jb
aV0sIEJbal0sIHBdOworICAgICAgfQorICAgIH0KKyAgfQorCisgIC8vIElmIHdlIGdldCBoZXJl
IHRoZW4gc29tZXRoaW5nIGlzIHZlcnkgd3JvbmcuCisgIHRocm93IG5ldyBFcnJvcjsKK30KKwor
ZnVuY3Rpb24gZW5jbG9zZXNOb3QoYSwgYikgeworICB2YXIgZHIgPSBhLnIgLSBiLnIsIGR4ID0g
Yi54IC0gYS54LCBkeSA9IGIueSAtIGEueTsKKyAgcmV0dXJuIGRyIDwgMCB8fCBkciAqIGRyIDwg
ZHggKiBkeCArIGR5ICogZHk7Cit9CisKK2Z1bmN0aW9uIGVuY2xvc2VzV2VhayhhLCBiKSB7Cisg
IHZhciBkciA9IGEuciAtIGIuciArIDFlLTYsIGR4ID0gYi54IC0gYS54LCBkeSA9IGIueSAtIGEu
eTsKKyAgcmV0dXJuIGRyID4gMCAmJiBkciAqIGRyID4gZHggKiBkeCArIGR5ICogZHk7Cit9CisK
K2Z1bmN0aW9uIGVuY2xvc2VzV2Vha0FsbChhLCBCKSB7CisgIGZvciAodmFyIGkgPSAwOyBpIDwg
Qi5sZW5ndGg7ICsraSkgeworICAgIGlmICghZW5jbG9zZXNXZWFrKGEsIEJbaV0pKSB7CisgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorICB9CisgIHJldHVybiB0cnVlOworfQorCitmdW5jdGlv
biBlbmNsb3NlQmFzaXMoQikgeworICBzd2l0Y2ggKEIubGVuZ3RoKSB7CisgICAgY2FzZSAxOiBy
ZXR1cm4gZW5jbG9zZUJhc2lzMShCWzBdKTsKKyAgICBjYXNlIDI6IHJldHVybiBlbmNsb3NlQmFz
aXMyKEJbMF0sIEJbMV0pOworICAgIGNhc2UgMzogcmV0dXJuIGVuY2xvc2VCYXNpczMoQlswXSwg
QlsxXSwgQlsyXSk7CisgIH0KK30KKworZnVuY3Rpb24gZW5jbG9zZUJhc2lzMShhKSB7CisgIHJl
dHVybiB7CisgICAgeDogYS54LAorICAgIHk6IGEueSwKKyAgICByOiBhLnIKKyAgfTsKK30KKwor
ZnVuY3Rpb24gZW5jbG9zZUJhc2lzMihhLCBiKSB7CisgIHZhciB4MSA9IGEueCwgeTEgPSBhLnks
IHIxID0gYS5yLAorICAgICAgeDIgPSBiLngsIHkyID0gYi55LCByMiA9IGIuciwKKyAgICAgIHgy
MSA9IHgyIC0geDEsIHkyMSA9IHkyIC0geTEsIHIyMSA9IHIyIC0gcjEsCisgICAgICBsID0gTWF0
aC5zcXJ0KHgyMSAqIHgyMSArIHkyMSAqIHkyMSk7CisgIHJldHVybiB7CisgICAgeDogKHgxICsg
eDIgKyB4MjEgLyBsICogcjIxKSAvIDIsCisgICAgeTogKHkxICsgeTIgKyB5MjEgLyBsICogcjIx
KSAvIDIsCisgICAgcjogKGwgKyByMSArIHIyKSAvIDIKKyAgfTsKK30KKworZnVuY3Rpb24gZW5j
bG9zZUJhc2lzMyhhLCBiLCBjKSB7CisgIHZhciB4MSA9IGEueCwgeTEgPSBhLnksIHIxID0gYS5y
LAorICAgICAgeDIgPSBiLngsIHkyID0gYi55LCByMiA9IGIuciwKKyAgICAgIHgzID0gYy54LCB5
MyA9IGMueSwgcjMgPSBjLnIsCisgICAgICBhMiA9IHgxIC0geDIsCisgICAgICBhMyA9IHgxIC0g
eDMsCisgICAgICBiMiA9IHkxIC0geTIsCisgICAgICBiMyA9IHkxIC0geTMsCisgICAgICBjMiA9
IHIyIC0gcjEsCisgICAgICBjMyA9IHIzIC0gcjEsCisgICAgICBkMSA9IHgxICogeDEgKyB5MSAq
IHkxIC0gcjEgKiByMSwKKyAgICAgIGQyID0gZDEgLSB4MiAqIHgyIC0geTIgKiB5MiArIHIyICog
cjIsCisgICAgICBkMyA9IGQxIC0geDMgKiB4MyAtIHkzICogeTMgKyByMyAqIHIzLAorICAgICAg
YWIgPSBhMyAqIGIyIC0gYTIgKiBiMywKKyAgICAgIHhhID0gKGIyICogZDMgLSBiMyAqIGQyKSAv
IChhYiAqIDIpIC0geDEsCisgICAgICB4YiA9IChiMyAqIGMyIC0gYjIgKiBjMykgLyBhYiwKKyAg
ICAgIHlhID0gKGEzICogZDIgLSBhMiAqIGQzKSAvIChhYiAqIDIpIC0geTEsCisgICAgICB5YiA9
IChhMiAqIGMzIC0gYTMgKiBjMikgLyBhYiwKKyAgICAgIEEgPSB4YiAqIHhiICsgeWIgKiB5YiAt
IDEsCisgICAgICBCID0gMiAqIChyMSArIHhhICogeGIgKyB5YSAqIHliKSwKKyAgICAgIEMgPSB4
YSAqIHhhICsgeWEgKiB5YSAtIHIxICogcjEsCisgICAgICByID0gLShBID8gKEIgKyBNYXRoLnNx
cnQoQiAqIEIgLSA0ICogQSAqIEMpKSAvICgyICogQSkgOiBDIC8gQik7CisgIHJldHVybiB7Cisg
ICAgeDogeDEgKyB4YSArIHhiICogciwKKyAgICB5OiB5MSArIHlhICsgeWIgKiByLAorICAgIHI6
IHIKKyAgfTsKK30KKworZnVuY3Rpb24gcGxhY2UoYiwgYSwgYykgeworICB2YXIgZHggPSBiLngg
LSBhLngsIHgsIGEyLAorICAgICAgZHkgPSBiLnkgLSBhLnksIHksIGIyLAorICAgICAgZDIgPSBk
eCAqIGR4ICsgZHkgKiBkeTsKKyAgaWYgKGQyKSB7CisgICAgYTIgPSBhLnIgKyBjLnIsIGEyICo9
IGEyOworICAgIGIyID0gYi5yICsgYy5yLCBiMiAqPSBiMjsKKyAgICBpZiAoYTIgPiBiMikgewor
ICAgICAgeCA9IChkMiArIGIyIC0gYTIpIC8gKDIgKiBkMik7CisgICAgICB5ID0gTWF0aC5zcXJ0
KE1hdGgubWF4KDAsIGIyIC8gZDIgLSB4ICogeCkpOworICAgICAgYy54ID0gYi54IC0geCAqIGR4
IC0geSAqIGR5OworICAgICAgYy55ID0gYi55IC0geCAqIGR5ICsgeSAqIGR4OworICAgIH0gZWxz
ZSB7CisgICAgICB4ID0gKGQyICsgYTIgLSBiMikgLyAoMiAqIGQyKTsKKyAgICAgIHkgPSBNYXRo
LnNxcnQoTWF0aC5tYXgoMCwgYTIgLyBkMiAtIHggKiB4KSk7CisgICAgICBjLnggPSBhLnggKyB4
ICogZHggLSB5ICogZHk7CisgICAgICBjLnkgPSBhLnkgKyB4ICogZHkgKyB5ICogZHg7CisgICAg
fQorICB9IGVsc2UgeworICAgIGMueCA9IGEueCArIGMucjsKKyAgICBjLnkgPSBhLnk7CisgIH0K
K30KKworZnVuY3Rpb24gaW50ZXJzZWN0cyhhLCBiKSB7CisgIHZhciBkciA9IGEuciArIGIuciAt
IDFlLTYsIGR4ID0gYi54IC0gYS54LCBkeSA9IGIueSAtIGEueTsKKyAgcmV0dXJuIGRyID4gMCAm
JiBkciAqIGRyID4gZHggKiBkeCArIGR5ICogZHk7Cit9CisKK2Z1bmN0aW9uIHNjb3JlKG5vZGUp
IHsKKyAgdmFyIGEgPSBub2RlLl8sCisgICAgICBiID0gbm9kZS5uZXh0Ll8sCisgICAgICBhYiA9
IGEuciArIGIuciwKKyAgICAgIGR4ID0gKGEueCAqIGIuciArIGIueCAqIGEucikgLyBhYiwKKyAg
ICAgIGR5ID0gKGEueSAqIGIuciArIGIueSAqIGEucikgLyBhYjsKKyAgcmV0dXJuIGR4ICogZHgg
KyBkeSAqIGR5OworfQorCitmdW5jdGlvbiBOb2RlJDEoY2lyY2xlKSB7CisgIHRoaXMuXyA9IGNp
cmNsZTsKKyAgdGhpcy5uZXh0ID0gbnVsbDsKKyAgdGhpcy5wcmV2aW91cyA9IG51bGw7Cit9CisK
K2Z1bmN0aW9uIHBhY2tFbmNsb3NlKGNpcmNsZXMpIHsKKyAgaWYgKCEobiA9IGNpcmNsZXMubGVu
Z3RoKSkgcmV0dXJuIDA7CisKKyAgdmFyIGEsIGIsIGMsIG4sIGFhLCBjYSwgaSwgaiwgaywgc2os
IHNrOworCisgIC8vIFBsYWNlIHRoZSBmaXJzdCBjaXJjbGUuCisgIGEgPSBjaXJjbGVzWzBdLCBh
LnggPSAwLCBhLnkgPSAwOworICBpZiAoIShuID4gMSkpIHJldHVybiBhLnI7CisKKyAgLy8gUGxh
Y2UgdGhlIHNlY29uZCBjaXJjbGUuCisgIGIgPSBjaXJjbGVzWzFdLCBhLnggPSAtYi5yLCBiLngg
PSBhLnIsIGIueSA9IDA7CisgIGlmICghKG4gPiAyKSkgcmV0dXJuIGEuciArIGIucjsKKworICAv
LyBQbGFjZSB0aGUgdGhpcmQgY2lyY2xlLgorICBwbGFjZShiLCBhLCBjID0gY2lyY2xlc1syXSk7
CisKKyAgLy8gSW5pdGlhbGl6ZSB0aGUgZnJvbnQtY2hhaW4gdXNpbmcgdGhlIGZpcnN0IHRocmVl
IGNpcmNsZXMgYSwgYiBhbmQgYy4KKyAgYSA9IG5ldyBOb2RlJDEoYSksIGIgPSBuZXcgTm9kZSQx
KGIpLCBjID0gbmV3IE5vZGUkMShjKTsKKyAgYS5uZXh0ID0gYy5wcmV2aW91cyA9IGI7CisgIGIu
bmV4dCA9IGEucHJldmlvdXMgPSBjOworICBjLm5leHQgPSBiLnByZXZpb3VzID0gYTsKKworICAv
LyBBdHRlbXB0IHRvIHBsYWNlIGVhY2ggcmVtYWluaW5nIGNpcmNsZeKApgorICBwYWNrOiBmb3Ig
KGkgPSAzOyBpIDwgbjsgKytpKSB7CisgICAgcGxhY2UoYS5fLCBiLl8sIGMgPSBjaXJjbGVzW2ld
KSwgYyA9IG5ldyBOb2RlJDEoYyk7CisKKyAgICAvLyBGaW5kIHRoZSBjbG9zZXN0IGludGVyc2Vj
dGluZyBjaXJjbGUgb24gdGhlIGZyb250LWNoYWluLCBpZiBhbnkuCisgICAgLy8g4oCcQ2xvc2Vu
ZXNz4oCdIGlzIGRldGVybWluZWQgYnkgbGluZWFyIGRpc3RhbmNlIGFsb25nIHRoZSBmcm9udC1j
aGFpbi4KKyAgICAvLyDigJxBaGVhZOKAnSBvciDigJxiZWhpbmTigJ0gaXMgbGlrZXdpc2UgZGV0
ZXJtaW5lZCBieSBsaW5lYXIgZGlzdGFuY2UuCisgICAgaiA9IGIubmV4dCwgayA9IGEucHJldmlv
dXMsIHNqID0gYi5fLnIsIHNrID0gYS5fLnI7CisgICAgZG8geworICAgICAgaWYgKHNqIDw9IHNr
KSB7CisgICAgICAgIGlmIChpbnRlcnNlY3RzKGouXywgYy5fKSkgeworICAgICAgICAgIGIgPSBq
LCBhLm5leHQgPSBiLCBiLnByZXZpb3VzID0gYSwgLS1pOworICAgICAgICAgIGNvbnRpbnVlIHBh
Y2s7CisgICAgICAgIH0KKyAgICAgICAgc2ogKz0gai5fLnIsIGogPSBqLm5leHQ7CisgICAgICB9
IGVsc2UgeworICAgICAgICBpZiAoaW50ZXJzZWN0cyhrLl8sIGMuXykpIHsKKyAgICAgICAgICBh
ID0gaywgYS5uZXh0ID0gYiwgYi5wcmV2aW91cyA9IGEsIC0taTsKKyAgICAgICAgICBjb250aW51
ZSBwYWNrOworICAgICAgICB9CisgICAgICAgIHNrICs9IGsuXy5yLCBrID0gay5wcmV2aW91czsK
KyAgICAgIH0KKyAgICB9IHdoaWxlIChqICE9PSBrLm5leHQpOworCisgICAgLy8gU3VjY2VzcyEg
SW5zZXJ0IHRoZSBuZXcgY2lyY2xlIGMgYmV0d2VlbiBhIGFuZCBiLgorICAgIGMucHJldmlvdXMg
PSBhLCBjLm5leHQgPSBiLCBhLm5leHQgPSBiLnByZXZpb3VzID0gYiA9IGM7CisKKyAgICAvLyBD
b21wdXRlIHRoZSBuZXcgY2xvc2VzdCBjaXJjbGUgcGFpciB0byB0aGUgY2VudHJvaWQuCisgICAg
YWEgPSBzY29yZShhKTsKKyAgICB3aGlsZSAoKGMgPSBjLm5leHQpICE9PSBiKSB7CisgICAgICBp
ZiAoKGNhID0gc2NvcmUoYykpIDwgYWEpIHsKKyAgICAgICAgYSA9IGMsIGFhID0gY2E7CisgICAg
ICB9CisgICAgfQorICAgIGIgPSBhLm5leHQ7CisgIH0KKworICAvLyBDb21wdXRlIHRoZSBlbmNs
b3NpbmcgY2lyY2xlIG9mIHRoZSBmcm9udCBjaGFpbi4KKyAgYSA9IFtiLl9dLCBjID0gYjsgd2hp
bGUgKChjID0gYy5uZXh0KSAhPT0gYikgYS5wdXNoKGMuXyk7IGMgPSBlbmNsb3NlKGEpOworCisg
IC8vIFRyYW5zbGF0ZSB0aGUgY2lyY2xlcyB0byBwdXQgdGhlIGVuY2xvc2luZyBjaXJjbGUgYXJv
dW5kIHRoZSBvcmlnaW4uCisgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIGEgPSBjaXJjbGVzW2ld
LCBhLnggLT0gYy54LCBhLnkgLT0gYy55OworCisgIHJldHVybiBjLnI7Cit9CisKK2Z1bmN0aW9u
IHNpYmxpbmdzKGNpcmNsZXMpIHsKKyAgcGFja0VuY2xvc2UoY2lyY2xlcyk7CisgIHJldHVybiBj
aXJjbGVzOworfQorCitmdW5jdGlvbiBvcHRpb25hbChmKSB7CisgIHJldHVybiBmID09IG51bGwg
PyBudWxsIDogcmVxdWlyZWQoZik7Cit9CisKK2Z1bmN0aW9uIHJlcXVpcmVkKGYpIHsKKyAgaWYg
KHR5cGVvZiBmICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHJldHVybiBmOwor
fQorCitmdW5jdGlvbiBjb25zdGFudFplcm8oKSB7CisgIHJldHVybiAwOworfQorCitmdW5jdGlv
biBjb25zdGFudCQ5KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB4Owor
ICB9OworfQorCitmdW5jdGlvbiBkZWZhdWx0UmFkaXVzJDEoZCkgeworICByZXR1cm4gTWF0aC5z
cXJ0KGQudmFsdWUpOworfQorCitmdW5jdGlvbiBpbmRleCQyKCkgeworICB2YXIgcmFkaXVzID0g
bnVsbCwKKyAgICAgIGR4ID0gMSwKKyAgICAgIGR5ID0gMSwKKyAgICAgIHBhZGRpbmcgPSBjb25z
dGFudFplcm87CisKKyAgZnVuY3Rpb24gcGFjayhyb290KSB7CisgICAgcm9vdC54ID0gZHggLyAy
LCByb290LnkgPSBkeSAvIDI7CisgICAgaWYgKHJhZGl1cykgeworICAgICAgcm9vdC5lYWNoQmVm
b3JlKHJhZGl1c0xlYWYocmFkaXVzKSkKKyAgICAgICAgICAuZWFjaEFmdGVyKHBhY2tDaGlsZHJl
bihwYWRkaW5nLCAwLjUpKQorICAgICAgICAgIC5lYWNoQmVmb3JlKHRyYW5zbGF0ZUNoaWxkKDEp
KTsKKyAgICB9IGVsc2UgeworICAgICAgcm9vdC5lYWNoQmVmb3JlKHJhZGl1c0xlYWYoZGVmYXVs
dFJhZGl1cyQxKSkKKyAgICAgICAgICAuZWFjaEFmdGVyKHBhY2tDaGlsZHJlbihjb25zdGFudFpl
cm8sIDEpKQorICAgICAgICAgIC5lYWNoQWZ0ZXIocGFja0NoaWxkcmVuKHBhZGRpbmcsIHJvb3Qu
ciAvIE1hdGgubWluKGR4LCBkeSkpKQorICAgICAgICAgIC5lYWNoQmVmb3JlKHRyYW5zbGF0ZUNo
aWxkKE1hdGgubWluKGR4LCBkeSkgLyAoMiAqIHJvb3QucikpKTsKKyAgICB9CisgICAgcmV0dXJu
IHJvb3Q7CisgIH0KKworICBwYWNrLnJhZGl1cyA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/IChyYWRpdXMgPSBvcHRpb25hbCh4KSwgcGFjaykgOiByYWRpdXM7
CisgIH07CisKKyAgcGFjay5zaXplID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKGR4ID0gK3hbMF0sIGR5ID0gK3hbMV0sIHBhY2spIDogW2R4LCBkeV07Cisg
IH07CisKKyAgcGFjay5wYWRkaW5nID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHBhZGRpbmcgPSB0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiA/IHggOiBjb25z
dGFudCQ5KCt4KSwgcGFjaykgOiBwYWRkaW5nOworICB9OworCisgIHJldHVybiBwYWNrOworfQor
CitmdW5jdGlvbiByYWRpdXNMZWFmKHJhZGl1cykgeworICByZXR1cm4gZnVuY3Rpb24obm9kZSkg
eworICAgIGlmICghbm9kZS5jaGlsZHJlbikgeworICAgICAgbm9kZS5yID0gTWF0aC5tYXgoMCwg
K3JhZGl1cyhub2RlKSB8fCAwKTsKKyAgICB9CisgIH07Cit9CisKK2Z1bmN0aW9uIHBhY2tDaGls
ZHJlbihwYWRkaW5nLCBrKSB7CisgIHJldHVybiBmdW5jdGlvbihub2RlKSB7CisgICAgaWYgKGNo
aWxkcmVuID0gbm9kZS5jaGlsZHJlbikgeworICAgICAgdmFyIGNoaWxkcmVuLAorICAgICAgICAg
IGksCisgICAgICAgICAgbiA9IGNoaWxkcmVuLmxlbmd0aCwKKyAgICAgICAgICByID0gcGFkZGlu
Zyhub2RlKSAqIGsgfHwgMCwKKyAgICAgICAgICBlOworCisgICAgICBpZiAocikgZm9yIChpID0g
MDsgaSA8IG47ICsraSkgY2hpbGRyZW5baV0uciArPSByOworICAgICAgZSA9IHBhY2tFbmNsb3Nl
KGNoaWxkcmVuKTsKKyAgICAgIGlmIChyKSBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSBjaGlsZHJl
bltpXS5yIC09IHI7CisgICAgICBub2RlLnIgPSBlICsgcjsKKyAgICB9CisgIH07Cit9CisKK2Z1
bmN0aW9uIHRyYW5zbGF0ZUNoaWxkKGspIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKG5vZGUpIHsKKyAg
ICB2YXIgcGFyZW50ID0gbm9kZS5wYXJlbnQ7CisgICAgbm9kZS5yICo9IGs7CisgICAgaWYgKHBh
cmVudCkgeworICAgICAgbm9kZS54ID0gcGFyZW50LnggKyBrICogbm9kZS54OworICAgICAgbm9k
ZS55ID0gcGFyZW50LnkgKyBrICogbm9kZS55OworICAgIH0KKyAgfTsKK30KKworZnVuY3Rpb24g
cm91bmROb2RlKG5vZGUpIHsKKyAgbm9kZS54MCA9IE1hdGgucm91bmQobm9kZS54MCk7CisgIG5v
ZGUueTAgPSBNYXRoLnJvdW5kKG5vZGUueTApOworICBub2RlLngxID0gTWF0aC5yb3VuZChub2Rl
LngxKTsKKyAgbm9kZS55MSA9IE1hdGgucm91bmQobm9kZS55MSk7Cit9CisKK2Z1bmN0aW9uIHRy
ZWVtYXBEaWNlKHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIG5vZGVzID0gcGFyZW50
LmNoaWxkcmVuLAorICAgICAgbm9kZSwKKyAgICAgIGkgPSAtMSwKKyAgICAgIG4gPSBub2Rlcy5s
ZW5ndGgsCisgICAgICBrID0gcGFyZW50LnZhbHVlICYmICh4MSAtIHgwKSAvIHBhcmVudC52YWx1
ZTsKKworICB3aGlsZSAoKytpIDwgbikgeworICAgIG5vZGUgPSBub2Rlc1tpXSwgbm9kZS55MCA9
IHkwLCBub2RlLnkxID0geTE7CisgICAgbm9kZS54MCA9IHgwLCBub2RlLngxID0geDAgKz0gbm9k
ZS52YWx1ZSAqIGs7CisgIH0KK30KKworZnVuY3Rpb24gcGFydGl0aW9uKCkgeworICB2YXIgZHgg
PSAxLAorICAgICAgZHkgPSAxLAorICAgICAgcGFkZGluZyA9IDAsCisgICAgICByb3VuZCA9IGZh
bHNlOworCisgIGZ1bmN0aW9uIHBhcnRpdGlvbihyb290KSB7CisgICAgdmFyIG4gPSByb290Lmhl
aWdodCArIDE7CisgICAgcm9vdC54MCA9CisgICAgcm9vdC55MCA9IHBhZGRpbmc7CisgICAgcm9v
dC54MSA9IGR4OworICAgIHJvb3QueTEgPSBkeSAvIG47CisgICAgcm9vdC5lYWNoQmVmb3JlKHBv
c2l0aW9uTm9kZShkeSwgbikpOworICAgIGlmIChyb3VuZCkgcm9vdC5lYWNoQmVmb3JlKHJvdW5k
Tm9kZSk7CisgICAgcmV0dXJuIHJvb3Q7CisgIH0KKworICBmdW5jdGlvbiBwb3NpdGlvbk5vZGUo
ZHksIG4pIHsKKyAgICByZXR1cm4gZnVuY3Rpb24obm9kZSkgeworICAgICAgaWYgKG5vZGUuY2hp
bGRyZW4pIHsKKyAgICAgICAgdHJlZW1hcERpY2Uobm9kZSwgbm9kZS54MCwgZHkgKiAobm9kZS5k
ZXB0aCArIDEpIC8gbiwgbm9kZS54MSwgZHkgKiAobm9kZS5kZXB0aCArIDIpIC8gbik7CisgICAg
ICB9CisgICAgICB2YXIgeDAgPSBub2RlLngwLAorICAgICAgICAgIHkwID0gbm9kZS55MCwKKyAg
ICAgICAgICB4MSA9IG5vZGUueDEgLSBwYWRkaW5nLAorICAgICAgICAgIHkxID0gbm9kZS55MSAt
IHBhZGRpbmc7CisgICAgICBpZiAoeDEgPCB4MCkgeDAgPSB4MSA9ICh4MCArIHgxKSAvIDI7Cisg
ICAgICBpZiAoeTEgPCB5MCkgeTAgPSB5MSA9ICh5MCArIHkxKSAvIDI7CisgICAgICBub2RlLngw
ID0geDA7CisgICAgICBub2RlLnkwID0geTA7CisgICAgICBub2RlLngxID0geDE7CisgICAgICBu
b2RlLnkxID0geTE7CisgICAgfTsKKyAgfQorCisgIHBhcnRpdGlvbi5yb3VuZCA9IGZ1bmN0aW9u
KHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChyb3VuZCA9ICEheCwgcGFydGl0
aW9uKSA6IHJvdW5kOworICB9OworCisgIHBhcnRpdGlvbi5zaXplID0gZnVuY3Rpb24oeCkgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGR4ID0gK3hbMF0sIGR5ID0gK3hbMV0sIHBh
cnRpdGlvbikgOiBbZHgsIGR5XTsKKyAgfTsKKworICBwYXJ0aXRpb24ucGFkZGluZyA9IGZ1bmN0
aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRkaW5nID0gK3gsIHBh
cnRpdGlvbikgOiBwYWRkaW5nOworICB9OworCisgIHJldHVybiBwYXJ0aXRpb247Cit9CisKK3Zh
ciBrZXlQcmVmaXgkMSA9ICIkIiwgLy8gUHJvdGVjdCBhZ2FpbnN0IGtleXMgbGlrZSDigJxfX3By
b3RvX1/igJ0uCisgICAgcHJlcm9vdCA9IHtkZXB0aDogLTF9LAorICAgIGFtYmlndW91cyA9IHt9
OworCitmdW5jdGlvbiBkZWZhdWx0SWQoZCkgeworICByZXR1cm4gZC5pZDsKK30KKworZnVuY3Rp
b24gZGVmYXVsdFBhcmVudElkKGQpIHsKKyAgcmV0dXJuIGQucGFyZW50SWQ7Cit9CisKK2Z1bmN0
aW9uIHN0cmF0aWZ5KCkgeworICB2YXIgaWQgPSBkZWZhdWx0SWQsCisgICAgICBwYXJlbnRJZCA9
IGRlZmF1bHRQYXJlbnRJZDsKKworICBmdW5jdGlvbiBzdHJhdGlmeShkYXRhKSB7CisgICAgdmFy
IGQsCisgICAgICAgIGksCisgICAgICAgIG4gPSBkYXRhLmxlbmd0aCwKKyAgICAgICAgcm9vdCwK
KyAgICAgICAgcGFyZW50LAorICAgICAgICBub2RlLAorICAgICAgICBub2RlcyA9IG5ldyBBcnJh
eShuKSwKKyAgICAgICAgbm9kZUlkLAorICAgICAgICBub2RlS2V5LAorICAgICAgICBub2RlQnlL
ZXkgPSB7fTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGQgPSBkYXRh
W2ldLCBub2RlID0gbm9kZXNbaV0gPSBuZXcgTm9kZShkKTsKKyAgICAgIGlmICgobm9kZUlkID0g
aWQoZCwgaSwgZGF0YSkpICE9IG51bGwgJiYgKG5vZGVJZCArPSAiIikpIHsKKyAgICAgICAgbm9k
ZUtleSA9IGtleVByZWZpeCQxICsgKG5vZGUuaWQgPSBub2RlSWQpOworICAgICAgICBub2RlQnlL
ZXlbbm9kZUtleV0gPSBub2RlS2V5IGluIG5vZGVCeUtleSA/IGFtYmlndW91cyA6IG5vZGU7Cisg
ICAgICB9CisgICAgfQorCisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgbm9k
ZSA9IG5vZGVzW2ldLCBub2RlSWQgPSBwYXJlbnRJZChkYXRhW2ldLCBpLCBkYXRhKTsKKyAgICAg
IGlmIChub2RlSWQgPT0gbnVsbCB8fCAhKG5vZGVJZCArPSAiIikpIHsKKyAgICAgICAgaWYgKHJv
b3QpIHRocm93IG5ldyBFcnJvcigibXVsdGlwbGUgcm9vdHMiKTsKKyAgICAgICAgcm9vdCA9IG5v
ZGU7CisgICAgICB9IGVsc2UgeworICAgICAgICBwYXJlbnQgPSBub2RlQnlLZXlba2V5UHJlZml4
JDEgKyBub2RlSWRdOworICAgICAgICBpZiAoIXBhcmVudCkgdGhyb3cgbmV3IEVycm9yKCJtaXNz
aW5nOiAiICsgbm9kZUlkKTsKKyAgICAgICAgaWYgKHBhcmVudCA9PT0gYW1iaWd1b3VzKSB0aHJv
dyBuZXcgRXJyb3IoImFtYmlndW91czogIiArIG5vZGVJZCk7CisgICAgICAgIGlmIChwYXJlbnQu
Y2hpbGRyZW4pIHBhcmVudC5jaGlsZHJlbi5wdXNoKG5vZGUpOworICAgICAgICBlbHNlIHBhcmVu
dC5jaGlsZHJlbiA9IFtub2RlXTsKKyAgICAgICAgbm9kZS5wYXJlbnQgPSBwYXJlbnQ7CisgICAg
ICB9CisgICAgfQorCisgICAgaWYgKCFyb290KSB0aHJvdyBuZXcgRXJyb3IoIm5vIHJvb3QiKTsK
KyAgICByb290LnBhcmVudCA9IHByZXJvb3Q7CisgICAgcm9vdC5lYWNoQmVmb3JlKGZ1bmN0aW9u
KG5vZGUpIHsgbm9kZS5kZXB0aCA9IG5vZGUucGFyZW50LmRlcHRoICsgMTsgLS1uOyB9KS5lYWNo
QmVmb3JlKGNvbXB1dGVIZWlnaHQpOworICAgIHJvb3QucGFyZW50ID0gbnVsbDsKKyAgICBpZiAo
biA+IDApIHRocm93IG5ldyBFcnJvcigiY3ljbGUiKTsKKworICAgIHJldHVybiByb290OworICB9
CisKKyAgc3RyYXRpZnkuaWQgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoaWQgPSByZXF1aXJlZCh4KSwgc3RyYXRpZnkpIDogaWQ7CisgIH07CisKKyAgc3Ry
YXRpZnkucGFyZW50SWQgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAocGFyZW50SWQgPSByZXF1aXJlZCh4KSwgc3RyYXRpZnkpIDogcGFyZW50SWQ7CisgIH07
CisKKyAgcmV0dXJuIHN0cmF0aWZ5OworfQorCitmdW5jdGlvbiBkZWZhdWx0U2VwYXJhdGlvbiQx
KGEsIGIpIHsKKyAgcmV0dXJuIGEucGFyZW50ID09PSBiLnBhcmVudCA/IDEgOiAyOworfQorCisv
LyBmdW5jdGlvbiByYWRpYWxTZXBhcmF0aW9uKGEsIGIpIHsKKy8vICAgcmV0dXJuIChhLnBhcmVu
dCA9PT0gYi5wYXJlbnQgPyAxIDogMikgLyBhLmRlcHRoOworLy8gfQorCisvLyBUaGlzIGZ1bmN0
aW9uIGlzIHVzZWQgdG8gdHJhdmVyc2UgdGhlIGxlZnQgY29udG91ciBvZiBhIHN1YnRyZWUgKG9y
CisvLyBzdWJmb3Jlc3QpLiBJdCByZXR1cm5zIHRoZSBzdWNjZXNzb3Igb2YgdiBvbiB0aGlzIGNv
bnRvdXIuIFRoaXMgc3VjY2Vzc29yIGlzCisvLyBlaXRoZXIgZ2l2ZW4gYnkgdGhlIGxlZnRtb3N0
IGNoaWxkIG9mIHYgb3IgYnkgdGhlIHRocmVhZCBvZiB2LiBUaGUgZnVuY3Rpb24KKy8vIHJldHVy
bnMgbnVsbCBpZiBhbmQgb25seSBpZiB2IGlzIG9uIHRoZSBoaWdoZXN0IGxldmVsIG9mIGl0cyBz
dWJ0cmVlLgorZnVuY3Rpb24gbmV4dExlZnQodikgeworICB2YXIgY2hpbGRyZW4gPSB2LmNoaWxk
cmVuOworICByZXR1cm4gY2hpbGRyZW4gPyBjaGlsZHJlblswXSA6IHYudDsKK30KKworLy8gVGhp
cyBmdW5jdGlvbiB3b3JrcyBhbmFsb2dvdXNseSB0byBuZXh0TGVmdC4KK2Z1bmN0aW9uIG5leHRS
aWdodCh2KSB7CisgIHZhciBjaGlsZHJlbiA9IHYuY2hpbGRyZW47CisgIHJldHVybiBjaGlsZHJl
biA/IGNoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDFdIDogdi50OworfQorCisvLyBTaGlmdHMg
dGhlIGN1cnJlbnQgc3VidHJlZSByb290ZWQgYXQgdysuIFRoaXMgaXMgZG9uZSBieSBpbmNyZWFz
aW5nCisvLyBwcmVsaW0odyspIGFuZCBtb2QodyspIGJ5IHNoaWZ0LgorZnVuY3Rpb24gbW92ZVN1
YnRyZWUod20sIHdwLCBzaGlmdCkgeworICB2YXIgY2hhbmdlID0gc2hpZnQgLyAod3AuaSAtIHdt
LmkpOworICB3cC5jIC09IGNoYW5nZTsKKyAgd3AucyArPSBzaGlmdDsKKyAgd20uYyArPSBjaGFu
Z2U7CisgIHdwLnogKz0gc2hpZnQ7CisgIHdwLm0gKz0gc2hpZnQ7Cit9CisKKy8vIEFsbCBvdGhl
ciBzaGlmdHMsIGFwcGxpZWQgdG8gdGhlIHNtYWxsZXIgc3VidHJlZXMgYmV0d2VlbiB3LSBhbmQg
dyssIGFyZQorLy8gcGVyZm9ybWVkIGJ5IHRoaXMgZnVuY3Rpb24uIFRvIHByZXBhcmUgdGhlIHNo
aWZ0cywgd2UgaGF2ZSB0byBhZGp1c3QKKy8vIGNoYW5nZSh3KyksIHNoaWZ0KHcrKSwgYW5kIGNo
YW5nZSh3LSkuCitmdW5jdGlvbiBleGVjdXRlU2hpZnRzKHYpIHsKKyAgdmFyIHNoaWZ0ID0gMCwK
KyAgICAgIGNoYW5nZSA9IDAsCisgICAgICBjaGlsZHJlbiA9IHYuY2hpbGRyZW4sCisgICAgICBp
ID0gY2hpbGRyZW4ubGVuZ3RoLAorICAgICAgdzsKKyAgd2hpbGUgKC0taSA+PSAwKSB7CisgICAg
dyA9IGNoaWxkcmVuW2ldOworICAgIHcueiArPSBzaGlmdDsKKyAgICB3Lm0gKz0gc2hpZnQ7Cisg
ICAgc2hpZnQgKz0gdy5zICsgKGNoYW5nZSArPSB3LmMpOworICB9Cit9CisKKy8vIElmIHZpLeKA
mXMgYW5jZXN0b3IgaXMgYSBzaWJsaW5nIG9mIHYsIHJldHVybnMgdmkt4oCZcyBhbmNlc3Rvci4g
T3RoZXJ3aXNlLAorLy8gcmV0dXJucyB0aGUgc3BlY2lmaWVkIChkZWZhdWx0KSBhbmNlc3Rvci4K
K2Z1bmN0aW9uIG5leHRBbmNlc3Rvcih2aW0sIHYsIGFuY2VzdG9yKSB7CisgIHJldHVybiB2aW0u
YS5wYXJlbnQgPT09IHYucGFyZW50ID8gdmltLmEgOiBhbmNlc3RvcjsKK30KKworZnVuY3Rpb24g
VHJlZU5vZGUobm9kZSwgaSkgeworICB0aGlzLl8gPSBub2RlOworICB0aGlzLnBhcmVudCA9IG51
bGw7CisgIHRoaXMuY2hpbGRyZW4gPSBudWxsOworICB0aGlzLkEgPSBudWxsOyAvLyBkZWZhdWx0
IGFuY2VzdG9yCisgIHRoaXMuYSA9IHRoaXM7IC8vIGFuY2VzdG9yCisgIHRoaXMueiA9IDA7IC8v
IHByZWxpbQorICB0aGlzLm0gPSAwOyAvLyBtb2QKKyAgdGhpcy5jID0gMDsgLy8gY2hhbmdlCisg
IHRoaXMucyA9IDA7IC8vIHNoaWZ0CisgIHRoaXMudCA9IG51bGw7IC8vIHRocmVhZAorICB0aGlz
LmkgPSBpOyAvLyBudW1iZXIKK30KKworVHJlZU5vZGUucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0
ZShOb2RlLnByb3RvdHlwZSk7CisKK2Z1bmN0aW9uIHRyZWVSb290KHJvb3QpIHsKKyAgdmFyIHRy
ZWUgPSBuZXcgVHJlZU5vZGUocm9vdCwgMCksCisgICAgICBub2RlLAorICAgICAgbm9kZXMgPSBb
dHJlZV0sCisgICAgICBjaGlsZCwKKyAgICAgIGNoaWxkcmVuLAorICAgICAgaSwKKyAgICAgIG47
CisKKyAgd2hpbGUgKG5vZGUgPSBub2Rlcy5wb3AoKSkgeworICAgIGlmIChjaGlsZHJlbiA9IG5v
ZGUuXy5jaGlsZHJlbikgeworICAgICAgbm9kZS5jaGlsZHJlbiA9IG5ldyBBcnJheShuID0gY2hp
bGRyZW4ubGVuZ3RoKTsKKyAgICAgIGZvciAoaSA9IG4gLSAxOyBpID49IDA7IC0taSkgeworICAg
ICAgICBub2Rlcy5wdXNoKGNoaWxkID0gbm9kZS5jaGlsZHJlbltpXSA9IG5ldyBUcmVlTm9kZShj
aGlsZHJlbltpXSwgaSkpOworICAgICAgICBjaGlsZC5wYXJlbnQgPSBub2RlOworICAgICAgfQor
ICAgIH0KKyAgfQorCisgICh0cmVlLnBhcmVudCA9IG5ldyBUcmVlTm9kZShudWxsLCAwKSkuY2hp
bGRyZW4gPSBbdHJlZV07CisgIHJldHVybiB0cmVlOworfQorCisvLyBOb2RlLWxpbmsgdHJlZSBk
aWFncmFtIHVzaW5nIHRoZSBSZWluZ29sZC1UaWxmb3JkICJ0aWR5IiBhbGdvcml0aG0KK2Z1bmN0
aW9uIHRyZWUoKSB7CisgIHZhciBzZXBhcmF0aW9uID0gZGVmYXVsdFNlcGFyYXRpb24kMSwKKyAg
ICAgIGR4ID0gMSwKKyAgICAgIGR5ID0gMSwKKyAgICAgIG5vZGVTaXplID0gbnVsbDsKKworICBm
dW5jdGlvbiB0cmVlKHJvb3QpIHsKKyAgICB2YXIgdCA9IHRyZWVSb290KHJvb3QpOworCisgICAg
Ly8gQ29tcHV0ZSB0aGUgbGF5b3V0IHVzaW5nIEJ1Y2hoZWltIGV0IGFsLuKAmXMgYWxnb3JpdGht
LgorICAgIHQuZWFjaEFmdGVyKGZpcnN0V2FsayksIHQucGFyZW50Lm0gPSAtdC56OworICAgIHQu
ZWFjaEJlZm9yZShzZWNvbmRXYWxrKTsKKworICAgIC8vIElmIGEgZml4ZWQgbm9kZSBzaXplIGlz
IHNwZWNpZmllZCwgc2NhbGUgeCBhbmQgeS4KKyAgICBpZiAobm9kZVNpemUpIHJvb3QuZWFjaEJl
Zm9yZShzaXplTm9kZSk7CisKKyAgICAvLyBJZiBhIGZpeGVkIHRyZWUgc2l6ZSBpcyBzcGVjaWZp
ZWQsIHNjYWxlIHggYW5kIHkgYmFzZWQgb24gdGhlIGV4dGVudC4KKyAgICAvLyBDb21wdXRlIHRo
ZSBsZWZ0LW1vc3QsIHJpZ2h0LW1vc3QsIGFuZCBkZXB0aC1tb3N0IG5vZGVzIGZvciBleHRlbnRz
LgorICAgIGVsc2UgeworICAgICAgdmFyIGxlZnQgPSByb290LAorICAgICAgICAgIHJpZ2h0ID0g
cm9vdCwKKyAgICAgICAgICBib3R0b20gPSByb290OworICAgICAgcm9vdC5lYWNoQmVmb3JlKGZ1
bmN0aW9uKG5vZGUpIHsKKyAgICAgICAgaWYgKG5vZGUueCA8IGxlZnQueCkgbGVmdCA9IG5vZGU7
CisgICAgICAgIGlmIChub2RlLnggPiByaWdodC54KSByaWdodCA9IG5vZGU7CisgICAgICAgIGlm
IChub2RlLmRlcHRoID4gYm90dG9tLmRlcHRoKSBib3R0b20gPSBub2RlOworICAgICAgfSk7Cisg
ICAgICB2YXIgcyA9IGxlZnQgPT09IHJpZ2h0ID8gMSA6IHNlcGFyYXRpb24obGVmdCwgcmlnaHQp
IC8gMiwKKyAgICAgICAgICB0eCA9IHMgLSBsZWZ0LngsCisgICAgICAgICAga3ggPSBkeCAvIChy
aWdodC54ICsgcyArIHR4KSwKKyAgICAgICAgICBreSA9IGR5IC8gKGJvdHRvbS5kZXB0aCB8fCAx
KTsKKyAgICAgIHJvb3QuZWFjaEJlZm9yZShmdW5jdGlvbihub2RlKSB7CisgICAgICAgIG5vZGUu
eCA9IChub2RlLnggKyB0eCkgKiBreDsKKyAgICAgICAgbm9kZS55ID0gbm9kZS5kZXB0aCAqIGt5
OworICAgICAgfSk7CisgICAgfQorCisgICAgcmV0dXJuIHJvb3Q7CisgIH0KKworICAvLyBDb21w
dXRlcyBhIHByZWxpbWluYXJ5IHgtY29vcmRpbmF0ZSBmb3Igdi4gQmVmb3JlIHRoYXQsIEZJUlNU
IFdBTEsgaXMKKyAgLy8gYXBwbGllZCByZWN1cnNpdmVseSB0byB0aGUgY2hpbGRyZW4gb2Ygdiwg
YXMgd2VsbCBhcyB0aGUgZnVuY3Rpb24KKyAgLy8gQVBQT1JUSU9OLiBBZnRlciBzcGFjaW5nIG91
dCB0aGUgY2hpbGRyZW4gYnkgY2FsbGluZyBFWEVDVVRFIFNISUZUUywgdGhlCisgIC8vIG5vZGUg
diBpcyBwbGFjZWQgdG8gdGhlIG1pZHBvaW50IG9mIGl0cyBvdXRlcm1vc3QgY2hpbGRyZW4uCisg
IGZ1bmN0aW9uIGZpcnN0V2Fsayh2KSB7CisgICAgdmFyIGNoaWxkcmVuID0gdi5jaGlsZHJlbiwK
KyAgICAgICAgc2libGluZ3MgPSB2LnBhcmVudC5jaGlsZHJlbiwKKyAgICAgICAgdyA9IHYuaSA/
IHNpYmxpbmdzW3YuaSAtIDFdIDogbnVsbDsKKyAgICBpZiAoY2hpbGRyZW4pIHsKKyAgICAgIGV4
ZWN1dGVTaGlmdHModik7CisgICAgICB2YXIgbWlkcG9pbnQgPSAoY2hpbGRyZW5bMF0ueiArIGNo
aWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDFdLnopIC8gMjsKKyAgICAgIGlmICh3KSB7CisgICAg
ICAgIHYueiA9IHcueiArIHNlcGFyYXRpb24odi5fLCB3Ll8pOworICAgICAgICB2Lm0gPSB2Lnog
LSBtaWRwb2ludDsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIHYueiA9IG1pZHBvaW50OworICAg
ICAgfQorICAgIH0gZWxzZSBpZiAodykgeworICAgICAgdi56ID0gdy56ICsgc2VwYXJhdGlvbih2
Ll8sIHcuXyk7CisgICAgfQorICAgIHYucGFyZW50LkEgPSBhcHBvcnRpb24odiwgdywgdi5wYXJl
bnQuQSB8fCBzaWJsaW5nc1swXSk7CisgIH0KKworICAvLyBDb21wdXRlcyBhbGwgcmVhbCB4LWNv
b3JkaW5hdGVzIGJ5IHN1bW1pbmcgdXAgdGhlIG1vZGlmaWVycyByZWN1cnNpdmVseS4KKyAgZnVu
Y3Rpb24gc2Vjb25kV2Fsayh2KSB7CisgICAgdi5fLnggPSB2LnogKyB2LnBhcmVudC5tOworICAg
IHYubSArPSB2LnBhcmVudC5tOworICB9CisKKyAgLy8gVGhlIGNvcmUgb2YgdGhlIGFsZ29yaXRo
bS4gSGVyZSwgYSBuZXcgc3VidHJlZSBpcyBjb21iaW5lZCB3aXRoIHRoZQorICAvLyBwcmV2aW91
cyBzdWJ0cmVlcy4gVGhyZWFkcyBhcmUgdXNlZCB0byB0cmF2ZXJzZSB0aGUgaW5zaWRlIGFuZCBv
dXRzaWRlCisgIC8vIGNvbnRvdXJzIG9mIHRoZSBsZWZ0IGFuZCByaWdodCBzdWJ0cmVlIHVwIHRv
IHRoZSBoaWdoZXN0IGNvbW1vbiBsZXZlbC4gVGhlCisgIC8vIHZlcnRpY2VzIHVzZWQgZm9yIHRo
ZSB0cmF2ZXJzYWxzIGFyZSB2aSssIHZpLSwgdm8tLCBhbmQgdm8rLCB3aGVyZSB0aGUKKyAgLy8g
c3VwZXJzY3JpcHQgbyBtZWFucyBvdXRzaWRlIGFuZCBpIG1lYW5zIGluc2lkZSwgdGhlIHN1YnNj
cmlwdCAtIG1lYW5zIGxlZnQKKyAgLy8gc3VidHJlZSBhbmQgKyBtZWFucyByaWdodCBzdWJ0cmVl
LiBGb3Igc3VtbWluZyB1cCB0aGUgbW9kaWZpZXJzIGFsb25nIHRoZQorICAvLyBjb250b3VyLCB3
ZSB1c2UgcmVzcGVjdGl2ZSB2YXJpYWJsZXMgc2krLCBzaS0sIHNvLSwgYW5kIHNvKy4gV2hlbmV2
ZXIgdHdvCisgIC8vIG5vZGVzIG9mIHRoZSBpbnNpZGUgY29udG91cnMgY29uZmxpY3QsIHdlIGNv
bXB1dGUgdGhlIGxlZnQgb25lIG9mIHRoZQorICAvLyBncmVhdGVzdCB1bmNvbW1vbiBhbmNlc3Rv
cnMgdXNpbmcgdGhlIGZ1bmN0aW9uIEFOQ0VTVE9SIGFuZCBjYWxsIE1PVkUKKyAgLy8gU1VCVFJF
RSB0byBzaGlmdCB0aGUgc3VidHJlZSBhbmQgcHJlcGFyZSB0aGUgc2hpZnRzIG9mIHNtYWxsZXIg
c3VidHJlZXMuCisgIC8vIEZpbmFsbHksIHdlIGFkZCBhIG5ldyB0aHJlYWQgKGlmIG5lY2Vzc2Fy
eSkuCisgIGZ1bmN0aW9uIGFwcG9ydGlvbih2LCB3LCBhbmNlc3RvcikgeworICAgIGlmICh3KSB7
CisgICAgICB2YXIgdmlwID0gdiwKKyAgICAgICAgICB2b3AgPSB2LAorICAgICAgICAgIHZpbSA9
IHcsCisgICAgICAgICAgdm9tID0gdmlwLnBhcmVudC5jaGlsZHJlblswXSwKKyAgICAgICAgICBz
aXAgPSB2aXAubSwKKyAgICAgICAgICBzb3AgPSB2b3AubSwKKyAgICAgICAgICBzaW0gPSB2aW0u
bSwKKyAgICAgICAgICBzb20gPSB2b20ubSwKKyAgICAgICAgICBzaGlmdDsKKyAgICAgIHdoaWxl
ICh2aW0gPSBuZXh0UmlnaHQodmltKSwgdmlwID0gbmV4dExlZnQodmlwKSwgdmltICYmIHZpcCkg
eworICAgICAgICB2b20gPSBuZXh0TGVmdCh2b20pOworICAgICAgICB2b3AgPSBuZXh0UmlnaHQo
dm9wKTsKKyAgICAgICAgdm9wLmEgPSB2OworICAgICAgICBzaGlmdCA9IHZpbS56ICsgc2ltIC0g
dmlwLnogLSBzaXAgKyBzZXBhcmF0aW9uKHZpbS5fLCB2aXAuXyk7CisgICAgICAgIGlmIChzaGlm
dCA+IDApIHsKKyAgICAgICAgICBtb3ZlU3VidHJlZShuZXh0QW5jZXN0b3IodmltLCB2LCBhbmNl
c3RvciksIHYsIHNoaWZ0KTsKKyAgICAgICAgICBzaXAgKz0gc2hpZnQ7CisgICAgICAgICAgc29w
ICs9IHNoaWZ0OworICAgICAgICB9CisgICAgICAgIHNpbSArPSB2aW0ubTsKKyAgICAgICAgc2lw
ICs9IHZpcC5tOworICAgICAgICBzb20gKz0gdm9tLm07CisgICAgICAgIHNvcCArPSB2b3AubTsK
KyAgICAgIH0KKyAgICAgIGlmICh2aW0gJiYgIW5leHRSaWdodCh2b3ApKSB7CisgICAgICAgIHZv
cC50ID0gdmltOworICAgICAgICB2b3AubSArPSBzaW0gLSBzb3A7CisgICAgICB9CisgICAgICBp
ZiAodmlwICYmICFuZXh0TGVmdCh2b20pKSB7CisgICAgICAgIHZvbS50ID0gdmlwOworICAgICAg
ICB2b20ubSArPSBzaXAgLSBzb207CisgICAgICAgIGFuY2VzdG9yID0gdjsKKyAgICAgIH0KKyAg
ICB9CisgICAgcmV0dXJuIGFuY2VzdG9yOworICB9CisKKyAgZnVuY3Rpb24gc2l6ZU5vZGUobm9k
ZSkgeworICAgIG5vZGUueCAqPSBkeDsKKyAgICBub2RlLnkgPSBub2RlLmRlcHRoICogZHk7Cisg
IH0KKworICB0cmVlLnNlcGFyYXRpb24gPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAoc2VwYXJhdGlvbiA9IHgsIHRyZWUpIDogc2VwYXJhdGlvbjsKKyAgfTsK
KworICB0cmVlLnNpemUgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAobm9kZVNpemUgPSBmYWxzZSwgZHggPSAreFswXSwgZHkgPSAreFsxXSwgdHJlZSkgOiAo
bm9kZVNpemUgPyBudWxsIDogW2R4LCBkeV0pOworICB9OworCisgIHRyZWUubm9kZVNpemUgPSBm
dW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAobm9kZVNpemUgPSB0
cnVlLCBkeCA9ICt4WzBdLCBkeSA9ICt4WzFdLCB0cmVlKSA6IChub2RlU2l6ZSA/IFtkeCwgZHld
IDogbnVsbCk7CisgIH07CisKKyAgcmV0dXJuIHRyZWU7Cit9CisKK2Z1bmN0aW9uIHRyZWVtYXBT
bGljZShwYXJlbnQsIHgwLCB5MCwgeDEsIHkxKSB7CisgIHZhciBub2RlcyA9IHBhcmVudC5jaGls
ZHJlbiwKKyAgICAgIG5vZGUsCisgICAgICBpID0gLTEsCisgICAgICBuID0gbm9kZXMubGVuZ3Ro
LAorICAgICAgayA9IHBhcmVudC52YWx1ZSAmJiAoeTEgLSB5MCkgLyBwYXJlbnQudmFsdWU7CisK
KyAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICBub2RlID0gbm9kZXNbaV0sIG5vZGUueDAgPSB4MCwg
bm9kZS54MSA9IHgxOworICAgIG5vZGUueTAgPSB5MCwgbm9kZS55MSA9IHkwICs9IG5vZGUudmFs
dWUgKiBrOworICB9Cit9CisKK3ZhciBwaGkgPSAoMSArIE1hdGguc3FydCg1KSkgLyAyOworCitm
dW5jdGlvbiBzcXVhcmlmeVJhdGlvKHJhdGlvLCBwYXJlbnQsIHgwLCB5MCwgeDEsIHkxKSB7Cisg
IHZhciByb3dzID0gW10sCisgICAgICBub2RlcyA9IHBhcmVudC5jaGlsZHJlbiwKKyAgICAgIHJv
dywKKyAgICAgIG5vZGVWYWx1ZSwKKyAgICAgIGkwID0gMCwKKyAgICAgIGkxID0gMCwKKyAgICAg
IG4gPSBub2Rlcy5sZW5ndGgsCisgICAgICBkeCwgZHksCisgICAgICB2YWx1ZSA9IHBhcmVudC52
YWx1ZSwKKyAgICAgIHN1bVZhbHVlLAorICAgICAgbWluVmFsdWUsCisgICAgICBtYXhWYWx1ZSwK
KyAgICAgIG5ld1JhdGlvLAorICAgICAgbWluUmF0aW8sCisgICAgICBhbHBoYSwKKyAgICAgIGJl
dGE7CisKKyAgd2hpbGUgKGkwIDwgbikgeworICAgIGR4ID0geDEgLSB4MCwgZHkgPSB5MSAtIHkw
OworCisgICAgLy8gRmluZCB0aGUgbmV4dCBub24tZW1wdHkgbm9kZS4KKyAgICBkbyBzdW1WYWx1
ZSA9IG5vZGVzW2kxKytdLnZhbHVlOyB3aGlsZSAoIXN1bVZhbHVlICYmIGkxIDwgbik7CisgICAg
bWluVmFsdWUgPSBtYXhWYWx1ZSA9IHN1bVZhbHVlOworICAgIGFscGhhID0gTWF0aC5tYXgoZHkg
LyBkeCwgZHggLyBkeSkgLyAodmFsdWUgKiByYXRpbyk7CisgICAgYmV0YSA9IHN1bVZhbHVlICog
c3VtVmFsdWUgKiBhbHBoYTsKKyAgICBtaW5SYXRpbyA9IE1hdGgubWF4KG1heFZhbHVlIC8gYmV0
YSwgYmV0YSAvIG1pblZhbHVlKTsKKworICAgIC8vIEtlZXAgYWRkaW5nIG5vZGVzIHdoaWxlIHRo
ZSBhc3BlY3QgcmF0aW8gbWFpbnRhaW5zIG9yIGltcHJvdmVzLgorICAgIGZvciAoOyBpMSA8IG47
ICsraTEpIHsKKyAgICAgIHN1bVZhbHVlICs9IG5vZGVWYWx1ZSA9IG5vZGVzW2kxXS52YWx1ZTsK
KyAgICAgIGlmIChub2RlVmFsdWUgPCBtaW5WYWx1ZSkgbWluVmFsdWUgPSBub2RlVmFsdWU7Cisg
ICAgICBpZiAobm9kZVZhbHVlID4gbWF4VmFsdWUpIG1heFZhbHVlID0gbm9kZVZhbHVlOworICAg
ICAgYmV0YSA9IHN1bVZhbHVlICogc3VtVmFsdWUgKiBhbHBoYTsKKyAgICAgIG5ld1JhdGlvID0g
TWF0aC5tYXgobWF4VmFsdWUgLyBiZXRhLCBiZXRhIC8gbWluVmFsdWUpOworICAgICAgaWYgKG5l
d1JhdGlvID4gbWluUmF0aW8pIHsgc3VtVmFsdWUgLT0gbm9kZVZhbHVlOyBicmVhazsgfQorICAg
ICAgbWluUmF0aW8gPSBuZXdSYXRpbzsKKyAgICB9CisKKyAgICAvLyBQb3NpdGlvbiBhbmQgcmVj
b3JkIHRoZSByb3cgb3JpZW50YXRpb24uCisgICAgcm93cy5wdXNoKHJvdyA9IHt2YWx1ZTogc3Vt
VmFsdWUsIGRpY2U6IGR4IDwgZHksIGNoaWxkcmVuOiBub2Rlcy5zbGljZShpMCwgaTEpfSk7Cisg
ICAgaWYgKHJvdy5kaWNlKSB0cmVlbWFwRGljZShyb3csIHgwLCB5MCwgeDEsIHZhbHVlID8geTAg
Kz0gZHkgKiBzdW1WYWx1ZSAvIHZhbHVlIDogeTEpOworICAgIGVsc2UgdHJlZW1hcFNsaWNlKHJv
dywgeDAsIHkwLCB2YWx1ZSA/IHgwICs9IGR4ICogc3VtVmFsdWUgLyB2YWx1ZSA6IHgxLCB5MSk7
CisgICAgdmFsdWUgLT0gc3VtVmFsdWUsIGkwID0gaTE7CisgIH0KKworICByZXR1cm4gcm93czsK
K30KKwordmFyIHNxdWFyaWZ5ID0gKGZ1bmN0aW9uIGN1c3RvbShyYXRpbykgeworCisgIGZ1bmN0
aW9uIHNxdWFyaWZ5KHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgICBzcXVhcmlmeVJhdGlv
KHJhdGlvLCBwYXJlbnQsIHgwLCB5MCwgeDEsIHkxKTsKKyAgfQorCisgIHNxdWFyaWZ5LnJhdGlv
ID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBjdXN0b20oKHggPSAreCkgPiAxID8geCA6IDEp
OworICB9OworCisgIHJldHVybiBzcXVhcmlmeTsKK30pKHBoaSk7CisKK2Z1bmN0aW9uIGluZGV4
JDMoKSB7CisgIHZhciB0aWxlID0gc3F1YXJpZnksCisgICAgICByb3VuZCA9IGZhbHNlLAorICAg
ICAgZHggPSAxLAorICAgICAgZHkgPSAxLAorICAgICAgcGFkZGluZ1N0YWNrID0gWzBdLAorICAg
ICAgcGFkZGluZ0lubmVyID0gY29uc3RhbnRaZXJvLAorICAgICAgcGFkZGluZ1RvcCA9IGNvbnN0
YW50WmVybywKKyAgICAgIHBhZGRpbmdSaWdodCA9IGNvbnN0YW50WmVybywKKyAgICAgIHBhZGRp
bmdCb3R0b20gPSBjb25zdGFudFplcm8sCisgICAgICBwYWRkaW5nTGVmdCA9IGNvbnN0YW50WmVy
bzsKKworICBmdW5jdGlvbiB0cmVlbWFwKHJvb3QpIHsKKyAgICByb290LngwID0KKyAgICByb290
LnkwID0gMDsKKyAgICByb290LngxID0gZHg7CisgICAgcm9vdC55MSA9IGR5OworICAgIHJvb3Qu
ZWFjaEJlZm9yZShwb3NpdGlvbk5vZGUpOworICAgIHBhZGRpbmdTdGFjayA9IFswXTsKKyAgICBp
ZiAocm91bmQpIHJvb3QuZWFjaEJlZm9yZShyb3VuZE5vZGUpOworICAgIHJldHVybiByb290Owor
ICB9CisKKyAgZnVuY3Rpb24gcG9zaXRpb25Ob2RlKG5vZGUpIHsKKyAgICB2YXIgcCA9IHBhZGRp
bmdTdGFja1tub2RlLmRlcHRoXSwKKyAgICAgICAgeDAgPSBub2RlLngwICsgcCwKKyAgICAgICAg
eTAgPSBub2RlLnkwICsgcCwKKyAgICAgICAgeDEgPSBub2RlLngxIC0gcCwKKyAgICAgICAgeTEg
PSBub2RlLnkxIC0gcDsKKyAgICBpZiAoeDEgPCB4MCkgeDAgPSB4MSA9ICh4MCArIHgxKSAvIDI7
CisgICAgaWYgKHkxIDwgeTApIHkwID0geTEgPSAoeTAgKyB5MSkgLyAyOworICAgIG5vZGUueDAg
PSB4MDsKKyAgICBub2RlLnkwID0geTA7CisgICAgbm9kZS54MSA9IHgxOworICAgIG5vZGUueTEg
PSB5MTsKKyAgICBpZiAobm9kZS5jaGlsZHJlbikgeworICAgICAgcCA9IHBhZGRpbmdTdGFja1tu
b2RlLmRlcHRoICsgMV0gPSBwYWRkaW5nSW5uZXIobm9kZSkgLyAyOworICAgICAgeDAgKz0gcGFk
ZGluZ0xlZnQobm9kZSkgLSBwOworICAgICAgeTAgKz0gcGFkZGluZ1RvcChub2RlKSAtIHA7Cisg
ICAgICB4MSAtPSBwYWRkaW5nUmlnaHQobm9kZSkgLSBwOworICAgICAgeTEgLT0gcGFkZGluZ0Jv
dHRvbShub2RlKSAtIHA7CisgICAgICBpZiAoeDEgPCB4MCkgeDAgPSB4MSA9ICh4MCArIHgxKSAv
IDI7CisgICAgICBpZiAoeTEgPCB5MCkgeTAgPSB5MSA9ICh5MCArIHkxKSAvIDI7CisgICAgICB0
aWxlKG5vZGUsIHgwLCB5MCwgeDEsIHkxKTsKKyAgICB9CisgIH0KKworICB0cmVlbWFwLnJvdW5k
ID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJvdW5kID0g
ISF4LCB0cmVlbWFwKSA6IHJvdW5kOworICB9OworCisgIHRyZWVtYXAuc2l6ZSA9IGZ1bmN0aW9u
KHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkeCA9ICt4WzBdLCBkeSA9ICt4
WzFdLCB0cmVlbWFwKSA6IFtkeCwgZHldOworICB9OworCisgIHRyZWVtYXAudGlsZSA9IGZ1bmN0
aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0aWxlID0gcmVxdWlyZWQo
eCksIHRyZWVtYXApIDogdGlsZTsKKyAgfTsKKworICB0cmVlbWFwLnBhZGRpbmcgPSBmdW5jdGlv
bih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyB0cmVlbWFwLnBhZGRpbmdJbm5l
cih4KS5wYWRkaW5nT3V0ZXIoeCkgOiB0cmVlbWFwLnBhZGRpbmdJbm5lcigpOworICB9OworCisg
IHRyZWVtYXAucGFkZGluZ0lubmVyID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHBhZGRpbmdJbm5lciA9IHR5cGVvZiB4ID09PSAiZnVuY3Rpb24iID8geCA6
IGNvbnN0YW50JDkoK3gpLCB0cmVlbWFwKSA6IHBhZGRpbmdJbm5lcjsKKyAgfTsKKworICB0cmVl
bWFwLnBhZGRpbmdPdXRlciA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IHRyZWVtYXAucGFkZGluZ1RvcCh4KS5wYWRkaW5nUmlnaHQoeCkucGFkZGluZ0JvdHRv
bSh4KS5wYWRkaW5nTGVmdCh4KSA6IHRyZWVtYXAucGFkZGluZ1RvcCgpOworICB9OworCisgIHRy
ZWVtYXAucGFkZGluZ1RvcCA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IChwYWRkaW5nVG9wID0gdHlwZW9mIHggPT09ICJmdW5jdGlvbiIgPyB4IDogY29uc3Rh
bnQkOSgreCksIHRyZWVtYXApIDogcGFkZGluZ1RvcDsKKyAgfTsKKworICB0cmVlbWFwLnBhZGRp
bmdSaWdodCA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChw
YWRkaW5nUmlnaHQgPSB0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiA/IHggOiBjb25zdGFudCQ5KCt4
KSwgdHJlZW1hcCkgOiBwYWRkaW5nUmlnaHQ7CisgIH07CisKKyAgdHJlZW1hcC5wYWRkaW5nQm90
dG9tID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhZGRp
bmdCb3R0b20gPSB0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiA/IHggOiBjb25zdGFudCQ5KCt4KSwg
dHJlZW1hcCkgOiBwYWRkaW5nQm90dG9tOworICB9OworCisgIHRyZWVtYXAucGFkZGluZ0xlZnQg
PSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocGFkZGluZ0xl
ZnQgPSB0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiA/IHggOiBjb25zdGFudCQ5KCt4KSwgdHJlZW1h
cCkgOiBwYWRkaW5nTGVmdDsKKyAgfTsKKworICByZXR1cm4gdHJlZW1hcDsKK30KKworZnVuY3Rp
b24gYmluYXJ5KHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIG5vZGVzID0gcGFyZW50
LmNoaWxkcmVuLAorICAgICAgaSwgbiA9IG5vZGVzLmxlbmd0aCwKKyAgICAgIHN1bSwgc3VtcyA9
IG5ldyBBcnJheShuICsgMSk7CisKKyAgZm9yIChzdW1zWzBdID0gc3VtID0gaSA9IDA7IGkgPCBu
OyArK2kpIHsKKyAgICBzdW1zW2kgKyAxXSA9IHN1bSArPSBub2Rlc1tpXS52YWx1ZTsKKyAgfQor
CisgIHBhcnRpdGlvbigwLCBuLCBwYXJlbnQudmFsdWUsIHgwLCB5MCwgeDEsIHkxKTsKKworICBm
dW5jdGlvbiBwYXJ0aXRpb24oaSwgaiwgdmFsdWUsIHgwLCB5MCwgeDEsIHkxKSB7CisgICAgaWYg
KGkgPj0gaiAtIDEpIHsKKyAgICAgIHZhciBub2RlID0gbm9kZXNbaV07CisgICAgICBub2RlLngw
ID0geDAsIG5vZGUueTAgPSB5MDsKKyAgICAgIG5vZGUueDEgPSB4MSwgbm9kZS55MSA9IHkxOwor
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHZhciB2YWx1ZU9mZnNldCA9IHN1bXNbaV0sCisg
ICAgICAgIHZhbHVlVGFyZ2V0ID0gKHZhbHVlIC8gMikgKyB2YWx1ZU9mZnNldCwKKyAgICAgICAg
ayA9IGkgKyAxLAorICAgICAgICBoaSA9IGogLSAxOworCisgICAgd2hpbGUgKGsgPCBoaSkgewor
ICAgICAgdmFyIG1pZCA9IGsgKyBoaSA+Pj4gMTsKKyAgICAgIGlmIChzdW1zW21pZF0gPCB2YWx1
ZVRhcmdldCkgayA9IG1pZCArIDE7CisgICAgICBlbHNlIGhpID0gbWlkOworICAgIH0KKworICAg
IGlmICgodmFsdWVUYXJnZXQgLSBzdW1zW2sgLSAxXSkgPCAoc3Vtc1trXSAtIHZhbHVlVGFyZ2V0
KSAmJiBpICsgMSA8IGspIC0tazsKKworICAgIHZhciB2YWx1ZUxlZnQgPSBzdW1zW2tdIC0gdmFs
dWVPZmZzZXQsCisgICAgICAgIHZhbHVlUmlnaHQgPSB2YWx1ZSAtIHZhbHVlTGVmdDsKKworICAg
IGlmICgoeDEgLSB4MCkgPiAoeTEgLSB5MCkpIHsKKyAgICAgIHZhciB4ayA9ICh4MCAqIHZhbHVl
UmlnaHQgKyB4MSAqIHZhbHVlTGVmdCkgLyB2YWx1ZTsKKyAgICAgIHBhcnRpdGlvbihpLCBrLCB2
YWx1ZUxlZnQsIHgwLCB5MCwgeGssIHkxKTsKKyAgICAgIHBhcnRpdGlvbihrLCBqLCB2YWx1ZVJp
Z2h0LCB4aywgeTAsIHgxLCB5MSk7CisgICAgfSBlbHNlIHsKKyAgICAgIHZhciB5ayA9ICh5MCAq
IHZhbHVlUmlnaHQgKyB5MSAqIHZhbHVlTGVmdCkgLyB2YWx1ZTsKKyAgICAgIHBhcnRpdGlvbihp
LCBrLCB2YWx1ZUxlZnQsIHgwLCB5MCwgeDEsIHlrKTsKKyAgICAgIHBhcnRpdGlvbihrLCBqLCB2
YWx1ZVJpZ2h0LCB4MCwgeWssIHgxLCB5MSk7CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIHNs
aWNlRGljZShwYXJlbnQsIHgwLCB5MCwgeDEsIHkxKSB7CisgIChwYXJlbnQuZGVwdGggJiAxID8g
dHJlZW1hcFNsaWNlIDogdHJlZW1hcERpY2UpKHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpOworfQor
Cit2YXIgcmVzcXVhcmlmeSA9IChmdW5jdGlvbiBjdXN0b20ocmF0aW8pIHsKKworICBmdW5jdGlv
biByZXNxdWFyaWZ5KHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgICBpZiAoKHJvd3MgPSBw
YXJlbnQuX3NxdWFyaWZ5KSAmJiAocm93cy5yYXRpbyA9PT0gcmF0aW8pKSB7CisgICAgICB2YXIg
cm93cywKKyAgICAgICAgICByb3csCisgICAgICAgICAgbm9kZXMsCisgICAgICAgICAgaSwKKyAg
ICAgICAgICBqID0gLTEsCisgICAgICAgICAgbiwKKyAgICAgICAgICBtID0gcm93cy5sZW5ndGgs
CisgICAgICAgICAgdmFsdWUgPSBwYXJlbnQudmFsdWU7CisKKyAgICAgIHdoaWxlICgrK2ogPCBt
KSB7CisgICAgICAgIHJvdyA9IHJvd3Nbal0sIG5vZGVzID0gcm93LmNoaWxkcmVuOworICAgICAg
ICBmb3IgKGkgPSByb3cudmFsdWUgPSAwLCBuID0gbm9kZXMubGVuZ3RoOyBpIDwgbjsgKytpKSBy
b3cudmFsdWUgKz0gbm9kZXNbaV0udmFsdWU7CisgICAgICAgIGlmIChyb3cuZGljZSkgdHJlZW1h
cERpY2Uocm93LCB4MCwgeTAsIHgxLCB5MCArPSAoeTEgLSB5MCkgKiByb3cudmFsdWUgLyB2YWx1
ZSk7CisgICAgICAgIGVsc2UgdHJlZW1hcFNsaWNlKHJvdywgeDAsIHkwLCB4MCArPSAoeDEgLSB4
MCkgKiByb3cudmFsdWUgLyB2YWx1ZSwgeTEpOworICAgICAgICB2YWx1ZSAtPSByb3cudmFsdWU7
CisgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgIHBhcmVudC5fc3F1YXJpZnkgPSByb3dzID0g
c3F1YXJpZnlSYXRpbyhyYXRpbywgcGFyZW50LCB4MCwgeTAsIHgxLCB5MSk7CisgICAgICByb3dz
LnJhdGlvID0gcmF0aW87CisgICAgfQorICB9CisKKyAgcmVzcXVhcmlmeS5yYXRpbyA9IGZ1bmN0
aW9uKHgpIHsKKyAgICByZXR1cm4gY3VzdG9tKCh4ID0gK3gpID4gMSA/IHggOiAxKTsKKyAgfTsK
KworICByZXR1cm4gcmVzcXVhcmlmeTsKK30pKHBoaSk7CisKK2Z1bmN0aW9uIGFyZWEkMihwb2x5
Z29uKSB7CisgIHZhciBpID0gLTEsCisgICAgICBuID0gcG9seWdvbi5sZW5ndGgsCisgICAgICBh
LAorICAgICAgYiA9IHBvbHlnb25bbiAtIDFdLAorICAgICAgYXJlYSA9IDA7CisKKyAgd2hpbGUg
KCsraSA8IG4pIHsKKyAgICBhID0gYjsKKyAgICBiID0gcG9seWdvbltpXTsKKyAgICBhcmVhICs9
IGFbMV0gKiBiWzBdIC0gYVswXSAqIGJbMV07CisgIH0KKworICByZXR1cm4gYXJlYSAvIDI7Cit9
CisKK2Z1bmN0aW9uIGNlbnRyb2lkJDEocG9seWdvbikgeworICB2YXIgaSA9IC0xLAorICAgICAg
biA9IHBvbHlnb24ubGVuZ3RoLAorICAgICAgeCA9IDAsCisgICAgICB5ID0gMCwKKyAgICAgIGEs
CisgICAgICBiID0gcG9seWdvbltuIC0gMV0sCisgICAgICBjLAorICAgICAgayA9IDA7CisKKyAg
d2hpbGUgKCsraSA8IG4pIHsKKyAgICBhID0gYjsKKyAgICBiID0gcG9seWdvbltpXTsKKyAgICBr
ICs9IGMgPSBhWzBdICogYlsxXSAtIGJbMF0gKiBhWzFdOworICAgIHggKz0gKGFbMF0gKyBiWzBd
KSAqIGM7CisgICAgeSArPSAoYVsxXSArIGJbMV0pICogYzsKKyAgfQorCisgIHJldHVybiBrICo9
IDMsIFt4IC8gaywgeSAvIGtdOworfQorCisvLyBSZXR1cm5zIHRoZSAyRCBjcm9zcyBwcm9kdWN0
IG9mIEFCIGFuZCBBQyB2ZWN0b3JzLCBpLmUuLCB0aGUgei1jb21wb25lbnQgb2YKKy8vIHRoZSAz
RCBjcm9zcyBwcm9kdWN0IGluIGEgcXVhZHJhbnQgSSBDYXJ0ZXNpYW4gY29vcmRpbmF0ZSBzeXN0
ZW0gKCt4IGlzCisvLyByaWdodCwgK3kgaXMgdXApLiBSZXR1cm5zIGEgcG9zaXRpdmUgdmFsdWUg
aWYgQUJDIGlzIGNvdW50ZXItY2xvY2t3aXNlLAorLy8gbmVnYXRpdmUgaWYgY2xvY2t3aXNlLCBh
bmQgemVybyBpZiB0aGUgcG9pbnRzIGFyZSBjb2xsaW5lYXIuCitmdW5jdGlvbiBjcm9zcyQxKGEs
IGIsIGMpIHsKKyAgcmV0dXJuIChiWzBdIC0gYVswXSkgKiAoY1sxXSAtIGFbMV0pIC0gKGJbMV0g
LSBhWzFdKSAqIChjWzBdIC0gYVswXSk7Cit9CisKK2Z1bmN0aW9uIGxleGljb2dyYXBoaWNPcmRl
cihhLCBiKSB7CisgIHJldHVybiBhWzBdIC0gYlswXSB8fCBhWzFdIC0gYlsxXTsKK30KKworLy8g
Q29tcHV0ZXMgdGhlIHVwcGVyIGNvbnZleCBodWxsIHBlciB0aGUgbW9ub3RvbmUgY2hhaW4gYWxn
b3JpdGhtLgorLy8gQXNzdW1lcyBwb2ludHMubGVuZ3RoID49IDMsIGlzIHNvcnRlZCBieSB4LCB1
bmlxdWUgaW4geS4KKy8vIFJldHVybnMgYW4gYXJyYXkgb2YgaW5kaWNlcyBpbnRvIHBvaW50cyBp
biBsZWZ0LXRvLXJpZ2h0IG9yZGVyLgorZnVuY3Rpb24gY29tcHV0ZVVwcGVySHVsbEluZGV4ZXMo
cG9pbnRzKSB7CisgIHZhciBuID0gcG9pbnRzLmxlbmd0aCwKKyAgICAgIGluZGV4ZXMgPSBbMCwg
MV0sCisgICAgICBzaXplID0gMjsKKworICBmb3IgKHZhciBpID0gMjsgaSA8IG47ICsraSkgewor
ICAgIHdoaWxlIChzaXplID4gMSAmJiBjcm9zcyQxKHBvaW50c1tpbmRleGVzW3NpemUgLSAyXV0s
IHBvaW50c1tpbmRleGVzW3NpemUgLSAxXV0sIHBvaW50c1tpXSkgPD0gMCkgLS1zaXplOworICAg
IGluZGV4ZXNbc2l6ZSsrXSA9IGk7CisgIH0KKworICByZXR1cm4gaW5kZXhlcy5zbGljZSgwLCBz
aXplKTsgLy8gcmVtb3ZlIHBvcHBlZCBwb2ludHMKK30KKworZnVuY3Rpb24gaHVsbChwb2ludHMp
IHsKKyAgaWYgKChuID0gcG9pbnRzLmxlbmd0aCkgPCAzKSByZXR1cm4gbnVsbDsKKworICB2YXIg
aSwKKyAgICAgIG4sCisgICAgICBzb3J0ZWRQb2ludHMgPSBuZXcgQXJyYXkobiksCisgICAgICBm
bGlwcGVkUG9pbnRzID0gbmV3IEFycmF5KG4pOworCisgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kp
IHNvcnRlZFBvaW50c1tpXSA9IFsrcG9pbnRzW2ldWzBdLCArcG9pbnRzW2ldWzFdLCBpXTsKKyAg
c29ydGVkUG9pbnRzLnNvcnQobGV4aWNvZ3JhcGhpY09yZGVyKTsKKyAgZm9yIChpID0gMDsgaSA8
IG47ICsraSkgZmxpcHBlZFBvaW50c1tpXSA9IFtzb3J0ZWRQb2ludHNbaV1bMF0sIC1zb3J0ZWRQ
b2ludHNbaV1bMV1dOworCisgIHZhciB1cHBlckluZGV4ZXMgPSBjb21wdXRlVXBwZXJIdWxsSW5k
ZXhlcyhzb3J0ZWRQb2ludHMpLAorICAgICAgbG93ZXJJbmRleGVzID0gY29tcHV0ZVVwcGVySHVs
bEluZGV4ZXMoZmxpcHBlZFBvaW50cyk7CisKKyAgLy8gQ29uc3RydWN0IHRoZSBodWxsIHBvbHln
b24sIHJlbW92aW5nIHBvc3NpYmxlIGR1cGxpY2F0ZSBlbmRwb2ludHMuCisgIHZhciBza2lwTGVm
dCA9IGxvd2VySW5kZXhlc1swXSA9PT0gdXBwZXJJbmRleGVzWzBdLAorICAgICAgc2tpcFJpZ2h0
ID0gbG93ZXJJbmRleGVzW2xvd2VySW5kZXhlcy5sZW5ndGggLSAxXSA9PT0gdXBwZXJJbmRleGVz
W3VwcGVySW5kZXhlcy5sZW5ndGggLSAxXSwKKyAgICAgIGh1bGwgPSBbXTsKKworICAvLyBBZGQg
dXBwZXIgaHVsbCBpbiByaWdodC10by1sIG9yZGVyLgorICAvLyBUaGVuIGFkZCBsb3dlciBodWxs
IGluIGxlZnQtdG8tcmlnaHQgb3JkZXIuCisgIGZvciAoaSA9IHVwcGVySW5kZXhlcy5sZW5ndGgg
LSAxOyBpID49IDA7IC0taSkgaHVsbC5wdXNoKHBvaW50c1tzb3J0ZWRQb2ludHNbdXBwZXJJbmRl
eGVzW2ldXVsyXV0pOworICBmb3IgKGkgPSArc2tpcExlZnQ7IGkgPCBsb3dlckluZGV4ZXMubGVu
Z3RoIC0gc2tpcFJpZ2h0OyArK2kpIGh1bGwucHVzaChwb2ludHNbc29ydGVkUG9pbnRzW2xvd2Vy
SW5kZXhlc1tpXV1bMl1dKTsKKworICByZXR1cm4gaHVsbDsKK30KKworZnVuY3Rpb24gY29udGFp
bnMkMihwb2x5Z29uLCBwb2ludCkgeworICB2YXIgbiA9IHBvbHlnb24ubGVuZ3RoLAorICAgICAg
cCA9IHBvbHlnb25bbiAtIDFdLAorICAgICAgeCA9IHBvaW50WzBdLCB5ID0gcG9pbnRbMV0sCisg
ICAgICB4MCA9IHBbMF0sIHkwID0gcFsxXSwKKyAgICAgIHgxLCB5MSwKKyAgICAgIGluc2lkZSA9
IGZhbHNlOworCisgIGZvciAodmFyIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgcCA9IHBvbHln
b25baV0sIHgxID0gcFswXSwgeTEgPSBwWzFdOworICAgIGlmICgoKHkxID4geSkgIT09ICh5MCA+
IHkpKSAmJiAoeCA8ICh4MCAtIHgxKSAqICh5IC0geTEpIC8gKHkwIC0geTEpICsgeDEpKSBpbnNp
ZGUgPSAhaW5zaWRlOworICAgIHgwID0geDEsIHkwID0geTE7CisgIH0KKworICByZXR1cm4gaW5z
aWRlOworfQorCitmdW5jdGlvbiBsZW5ndGgkMihwb2x5Z29uKSB7CisgIHZhciBpID0gLTEsCisg
ICAgICBuID0gcG9seWdvbi5sZW5ndGgsCisgICAgICBiID0gcG9seWdvbltuIC0gMV0sCisgICAg
ICB4YSwKKyAgICAgIHlhLAorICAgICAgeGIgPSBiWzBdLAorICAgICAgeWIgPSBiWzFdLAorICAg
ICAgcGVyaW1ldGVyID0gMDsKKworICB3aGlsZSAoKytpIDwgbikgeworICAgIHhhID0geGI7Cisg
ICAgeWEgPSB5YjsKKyAgICBiID0gcG9seWdvbltpXTsKKyAgICB4YiA9IGJbMF07CisgICAgeWIg
PSBiWzFdOworICAgIHhhIC09IHhiOworICAgIHlhIC09IHliOworICAgIHBlcmltZXRlciArPSBN
YXRoLnNxcnQoeGEgKiB4YSArIHlhICogeWEpOworICB9CisKKyAgcmV0dXJuIHBlcmltZXRlcjsK
K30KKworZnVuY3Rpb24gZGVmYXVsdFNvdXJjZSQxKCkgeworICByZXR1cm4gTWF0aC5yYW5kb20o
KTsKK30KKwordmFyIHVuaWZvcm0gPSAoZnVuY3Rpb24gc291cmNlUmFuZG9tVW5pZm9ybShzb3Vy
Y2UpIHsKKyAgZnVuY3Rpb24gcmFuZG9tVW5pZm9ybShtaW4sIG1heCkgeworICAgIG1pbiA9IG1p
biA9PSBudWxsID8gMCA6ICttaW47CisgICAgbWF4ID0gbWF4ID09IG51bGwgPyAxIDogK21heDsK
KyAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkgbWF4ID0gbWluLCBtaW4gPSAwOworICAg
IGVsc2UgbWF4IC09IG1pbjsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICByZXR1cm4g
c291cmNlKCkgKiBtYXggKyBtaW47CisgICAgfTsKKyAgfQorCisgIHJhbmRvbVVuaWZvcm0uc291
cmNlID0gc291cmNlUmFuZG9tVW5pZm9ybTsKKworICByZXR1cm4gcmFuZG9tVW5pZm9ybTsKK30p
KGRlZmF1bHRTb3VyY2UkMSk7CisKK3ZhciBub3JtYWwgPSAoZnVuY3Rpb24gc291cmNlUmFuZG9t
Tm9ybWFsKHNvdXJjZSkgeworICBmdW5jdGlvbiByYW5kb21Ob3JtYWwobXUsIHNpZ21hKSB7Cisg
ICAgdmFyIHgsIHI7CisgICAgbXUgPSBtdSA9PSBudWxsID8gMCA6ICttdTsKKyAgICBzaWdtYSA9
IHNpZ21hID09IG51bGwgPyAxIDogK3NpZ21hOworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAg
ICAgIHZhciB5OworCisgICAgICAvLyBJZiBhdmFpbGFibGUsIHVzZSB0aGUgc2Vjb25kIHByZXZp
b3VzbHktZ2VuZXJhdGVkIHVuaWZvcm0gcmFuZG9tLgorICAgICAgaWYgKHggIT0gbnVsbCkgeSA9
IHgsIHggPSBudWxsOworCisgICAgICAvLyBPdGhlcndpc2UsIGdlbmVyYXRlIGEgbmV3IHggYW5k
IHkuCisgICAgICBlbHNlIGRvIHsKKyAgICAgICAgeCA9IHNvdXJjZSgpICogMiAtIDE7CisgICAg
ICAgIHkgPSBzb3VyY2UoKSAqIDIgLSAxOworICAgICAgICByID0geCAqIHggKyB5ICogeTsKKyAg
ICAgIH0gd2hpbGUgKCFyIHx8IHIgPiAxKTsKKworICAgICAgcmV0dXJuIG11ICsgc2lnbWEgKiB5
ICogTWF0aC5zcXJ0KC0yICogTWF0aC5sb2cocikgLyByKTsKKyAgICB9OworICB9CisKKyAgcmFu
ZG9tTm9ybWFsLnNvdXJjZSA9IHNvdXJjZVJhbmRvbU5vcm1hbDsKKworICByZXR1cm4gcmFuZG9t
Tm9ybWFsOworfSkoZGVmYXVsdFNvdXJjZSQxKTsKKwordmFyIGxvZ05vcm1hbCA9IChmdW5jdGlv
biBzb3VyY2VSYW5kb21Mb2dOb3JtYWwoc291cmNlKSB7CisgIGZ1bmN0aW9uIHJhbmRvbUxvZ05v
cm1hbCgpIHsKKyAgICB2YXIgcmFuZG9tTm9ybWFsID0gbm9ybWFsLnNvdXJjZShzb3VyY2UpLmFw
cGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAgcmV0
dXJuIE1hdGguZXhwKHJhbmRvbU5vcm1hbCgpKTsKKyAgICB9OworICB9CisKKyAgcmFuZG9tTG9n
Tm9ybWFsLnNvdXJjZSA9IHNvdXJjZVJhbmRvbUxvZ05vcm1hbDsKKworICByZXR1cm4gcmFuZG9t
TG9nTm9ybWFsOworfSkoZGVmYXVsdFNvdXJjZSQxKTsKKwordmFyIGlyd2luSGFsbCA9IChmdW5j
dGlvbiBzb3VyY2VSYW5kb21JcndpbkhhbGwoc291cmNlKSB7CisgIGZ1bmN0aW9uIHJhbmRvbUly
d2luSGFsbChuKSB7CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAgZm9yICh2YXIgc3Vt
ID0gMCwgaSA9IDA7IGkgPCBuOyArK2kpIHN1bSArPSBzb3VyY2UoKTsKKyAgICAgIHJldHVybiBz
dW07CisgICAgfTsKKyAgfQorCisgIHJhbmRvbUlyd2luSGFsbC5zb3VyY2UgPSBzb3VyY2VSYW5k
b21JcndpbkhhbGw7CisKKyAgcmV0dXJuIHJhbmRvbUlyd2luSGFsbDsKK30pKGRlZmF1bHRTb3Vy
Y2UkMSk7CisKK3ZhciBiYXRlcyA9IChmdW5jdGlvbiBzb3VyY2VSYW5kb21CYXRlcyhzb3VyY2Up
IHsKKyAgZnVuY3Rpb24gcmFuZG9tQmF0ZXMobikgeworICAgIHZhciByYW5kb21JcndpbkhhbGwg
PSBpcndpbkhhbGwuc291cmNlKHNvdXJjZSkobik7CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewor
ICAgICAgcmV0dXJuIHJhbmRvbUlyd2luSGFsbCgpIC8gbjsKKyAgICB9OworICB9CisKKyAgcmFu
ZG9tQmF0ZXMuc291cmNlID0gc291cmNlUmFuZG9tQmF0ZXM7CisKKyAgcmV0dXJuIHJhbmRvbUJh
dGVzOworfSkoZGVmYXVsdFNvdXJjZSQxKTsKKwordmFyIGV4cG9uZW50aWFsJDEgPSAoZnVuY3Rp
b24gc291cmNlUmFuZG9tRXhwb25lbnRpYWwoc291cmNlKSB7CisgIGZ1bmN0aW9uIHJhbmRvbUV4
cG9uZW50aWFsKGxhbWJkYSkgeworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgIHJldHVy
biAtTWF0aC5sb2coMSAtIHNvdXJjZSgpKSAvIGxhbWJkYTsKKyAgICB9OworICB9CisKKyAgcmFu
ZG9tRXhwb25lbnRpYWwuc291cmNlID0gc291cmNlUmFuZG9tRXhwb25lbnRpYWw7CisKKyAgcmV0
dXJuIHJhbmRvbUV4cG9uZW50aWFsOworfSkoZGVmYXVsdFNvdXJjZSQxKTsKKworZnVuY3Rpb24g
aW5pdFJhbmdlKGRvbWFpbiwgcmFuZ2UpIHsKKyAgc3dpdGNoIChhcmd1bWVudHMubGVuZ3RoKSB7
CisgICAgY2FzZSAwOiBicmVhazsKKyAgICBjYXNlIDE6IHRoaXMucmFuZ2UoZG9tYWluKTsgYnJl
YWs7CisgICAgZGVmYXVsdDogdGhpcy5yYW5nZShyYW5nZSkuZG9tYWluKGRvbWFpbik7IGJyZWFr
OworICB9CisgIHJldHVybiB0aGlzOworfQorCitmdW5jdGlvbiBpbml0SW50ZXJwb2xhdG9yKGRv
bWFpbiwgaW50ZXJwb2xhdG9yKSB7CisgIHN3aXRjaCAoYXJndW1lbnRzLmxlbmd0aCkgeworICAg
IGNhc2UgMDogYnJlYWs7CisgICAgY2FzZSAxOiB0aGlzLmludGVycG9sYXRvcihkb21haW4pOyBi
cmVhazsKKyAgICBkZWZhdWx0OiB0aGlzLmludGVycG9sYXRvcihpbnRlcnBvbGF0b3IpLmRvbWFp
bihkb21haW4pOyBicmVhazsKKyAgfQorICByZXR1cm4gdGhpczsKK30KKwordmFyIGFycmF5JDMg
PSBBcnJheS5wcm90b3R5cGU7CisKK3ZhciBtYXAkMyA9IGFycmF5JDMubWFwOwordmFyIHNsaWNl
JDUgPSBhcnJheSQzLnNsaWNlOworCit2YXIgaW1wbGljaXQgPSB7bmFtZTogImltcGxpY2l0In07
CisKK2Z1bmN0aW9uIG9yZGluYWwoKSB7CisgIHZhciBpbmRleCA9IG1hcCQxKCksCisgICAgICBk
b21haW4gPSBbXSwKKyAgICAgIHJhbmdlID0gW10sCisgICAgICB1bmtub3duID0gaW1wbGljaXQ7
CisKKyAgZnVuY3Rpb24gc2NhbGUoZCkgeworICAgIHZhciBrZXkgPSBkICsgIiIsIGkgPSBpbmRl
eC5nZXQoa2V5KTsKKyAgICBpZiAoIWkpIHsKKyAgICAgIGlmICh1bmtub3duICE9PSBpbXBsaWNp
dCkgcmV0dXJuIHVua25vd247CisgICAgICBpbmRleC5zZXQoa2V5LCBpID0gZG9tYWluLnB1c2go
ZCkpOworICAgIH0KKyAgICByZXR1cm4gcmFuZ2VbKGkgLSAxKSAlIHJhbmdlLmxlbmd0aF07Cisg
IH0KKworICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMu
bGVuZ3RoKSByZXR1cm4gZG9tYWluLnNsaWNlKCk7CisgICAgZG9tYWluID0gW10sIGluZGV4ID0g
bWFwJDEoKTsKKyAgICB2YXIgaSA9IC0xLCBuID0gXy5sZW5ndGgsIGQsIGtleTsKKyAgICB3aGls
ZSAoKytpIDwgbikgaWYgKCFpbmRleC5oYXMoa2V5ID0gKGQgPSBfW2ldKSArICIiKSkgaW5kZXgu
c2V0KGtleSwgZG9tYWluLnB1c2goZCkpOworICAgIHJldHVybiBzY2FsZTsKKyAgfTsKKworICBz
Y2FsZS5yYW5nZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
IChyYW5nZSA9IHNsaWNlJDUuY2FsbChfKSwgc2NhbGUpIDogcmFuZ2Uuc2xpY2UoKTsKKyAgfTsK
KworICBzY2FsZS51bmtub3duID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMu
bGVuZ3RoID8gKHVua25vd24gPSBfLCBzY2FsZSkgOiB1bmtub3duOworICB9OworCisgIHNjYWxl
LmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gb3JkaW5hbChkb21haW4sIHJhbmdlKS51
bmtub3duKHVua25vd24pOworICB9OworCisgIGluaXRSYW5nZS5hcHBseShzY2FsZSwgYXJndW1l
bnRzKTsKKworICByZXR1cm4gc2NhbGU7Cit9CisKK2Z1bmN0aW9uIGJhbmQoKSB7CisgIHZhciBz
Y2FsZSA9IG9yZGluYWwoKS51bmtub3duKHVuZGVmaW5lZCksCisgICAgICBkb21haW4gPSBzY2Fs
ZS5kb21haW4sCisgICAgICBvcmRpbmFsUmFuZ2UgPSBzY2FsZS5yYW5nZSwKKyAgICAgIHJhbmdl
ID0gWzAsIDFdLAorICAgICAgc3RlcCwKKyAgICAgIGJhbmR3aWR0aCwKKyAgICAgIHJvdW5kID0g
ZmFsc2UsCisgICAgICBwYWRkaW5nSW5uZXIgPSAwLAorICAgICAgcGFkZGluZ091dGVyID0gMCwK
KyAgICAgIGFsaWduID0gMC41OworCisgIGRlbGV0ZSBzY2FsZS51bmtub3duOworCisgIGZ1bmN0
aW9uIHJlc2NhbGUoKSB7CisgICAgdmFyIG4gPSBkb21haW4oKS5sZW5ndGgsCisgICAgICAgIHJl
dmVyc2UgPSByYW5nZVsxXSA8IHJhbmdlWzBdLAorICAgICAgICBzdGFydCA9IHJhbmdlW3JldmVy
c2UgLSAwXSwKKyAgICAgICAgc3RvcCA9IHJhbmdlWzEgLSByZXZlcnNlXTsKKyAgICBzdGVwID0g
KHN0b3AgLSBzdGFydCkgLyBNYXRoLm1heCgxLCBuIC0gcGFkZGluZ0lubmVyICsgcGFkZGluZ091
dGVyICogMik7CisgICAgaWYgKHJvdW5kKSBzdGVwID0gTWF0aC5mbG9vcihzdGVwKTsKKyAgICBz
dGFydCArPSAoc3RvcCAtIHN0YXJ0IC0gc3RlcCAqIChuIC0gcGFkZGluZ0lubmVyKSkgKiBhbGln
bjsKKyAgICBiYW5kd2lkdGggPSBzdGVwICogKDEgLSBwYWRkaW5nSW5uZXIpOworICAgIGlmIChy
b3VuZCkgc3RhcnQgPSBNYXRoLnJvdW5kKHN0YXJ0KSwgYmFuZHdpZHRoID0gTWF0aC5yb3VuZChi
YW5kd2lkdGgpOworICAgIHZhciB2YWx1ZXMgPSBzZXF1ZW5jZShuKS5tYXAoZnVuY3Rpb24oaSkg
eyByZXR1cm4gc3RhcnQgKyBzdGVwICogaTsgfSk7CisgICAgcmV0dXJuIG9yZGluYWxSYW5nZShy
ZXZlcnNlID8gdmFsdWVzLnJldmVyc2UoKSA6IHZhbHVlcyk7CisgIH0KKworICBzY2FsZS5kb21h
aW4gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZG9tYWlu
KF8pLCByZXNjYWxlKCkpIDogZG9tYWluKCk7CisgIH07CisKKyAgc2NhbGUucmFuZ2UgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocmFuZ2UgPSBbK19bMF0s
ICtfWzFdXSwgcmVzY2FsZSgpKSA6IHJhbmdlLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUucmFu
Z2VSb3VuZCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gcmFuZ2UgPSBbK19bMF0sICtfWzFd
XSwgcm91bmQgPSB0cnVlLCByZXNjYWxlKCk7CisgIH07CisKKyAgc2NhbGUuYmFuZHdpZHRoID0g
ZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGJhbmR3aWR0aDsKKyAgfTsKKworICBzY2FsZS5zdGVw
ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHN0ZXA7CisgIH07CisKKyAgc2NhbGUucm91bmQg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocm91bmQgPSAh
IV8sIHJlc2NhbGUoKSkgOiByb3VuZDsKKyAgfTsKKworICBzY2FsZS5wYWRkaW5nID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhZGRpbmdJbm5lciA9IE1h
dGgubWluKDEsIHBhZGRpbmdPdXRlciA9ICtfKSwgcmVzY2FsZSgpKSA6IHBhZGRpbmdJbm5lcjsK
KyAgfTsKKworICBzY2FsZS5wYWRkaW5nSW5uZXIgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAocGFkZGluZ0lubmVyID0gTWF0aC5taW4oMSwgXyksIHJlc2Nh
bGUoKSkgOiBwYWRkaW5nSW5uZXI7CisgIH07CisKKyAgc2NhbGUucGFkZGluZ091dGVyID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhZGRpbmdPdXRlciA9
ICtfLCByZXNjYWxlKCkpIDogcGFkZGluZ091dGVyOworICB9OworCisgIHNjYWxlLmFsaWduID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGFsaWduID0gTWF0
aC5tYXgoMCwgTWF0aC5taW4oMSwgXykpLCByZXNjYWxlKCkpIDogYWxpZ247CisgIH07CisKKyAg
c2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBiYW5kKGRvbWFpbigpLCByYW5n
ZSkKKyAgICAgICAgLnJvdW5kKHJvdW5kKQorICAgICAgICAucGFkZGluZ0lubmVyKHBhZGRpbmdJ
bm5lcikKKyAgICAgICAgLnBhZGRpbmdPdXRlcihwYWRkaW5nT3V0ZXIpCisgICAgICAgIC5hbGln
bihhbGlnbik7CisgIH07CisKKyAgcmV0dXJuIGluaXRSYW5nZS5hcHBseShyZXNjYWxlKCksIGFy
Z3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIHBvaW50aXNoKHNjYWxlKSB7CisgIHZhciBjb3B5ID0g
c2NhbGUuY29weTsKKworICBzY2FsZS5wYWRkaW5nID0gc2NhbGUucGFkZGluZ091dGVyOworICBk
ZWxldGUgc2NhbGUucGFkZGluZ0lubmVyOworICBkZWxldGUgc2NhbGUucGFkZGluZ091dGVyOwor
CisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gcG9pbnRpc2goY29weSgp
KTsKKyAgfTsKKworICByZXR1cm4gc2NhbGU7Cit9CisKK2Z1bmN0aW9uIHBvaW50JDEoKSB7Cisg
IHJldHVybiBwb2ludGlzaChiYW5kLmFwcGx5KG51bGwsIGFyZ3VtZW50cykucGFkZGluZ0lubmVy
KDEpKTsKK30KKworZnVuY3Rpb24gY29uc3RhbnQkYSh4KSB7CisgIHJldHVybiBmdW5jdGlvbigp
IHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKworZnVuY3Rpb24gbnVtYmVyJDIoeCkgeworICBy
ZXR1cm4gK3g7Cit9CisKK3ZhciB1bml0ID0gWzAsIDFdOworCitmdW5jdGlvbiBpZGVudGl0eSQ2
KHgpIHsKKyAgcmV0dXJuIHg7Cit9CisKK2Z1bmN0aW9uIG5vcm1hbGl6ZShhLCBiKSB7CisgIHJl
dHVybiAoYiAtPSAoYSA9ICthKSkKKyAgICAgID8gZnVuY3Rpb24oeCkgeyByZXR1cm4gKHggLSBh
KSAvIGI7IH0KKyAgICAgIDogY29uc3RhbnQkYShpc05hTihiKSA/IE5hTiA6IDAuNSk7Cit9CisK
K2Z1bmN0aW9uIGNsYW1wZXIoZG9tYWluKSB7CisgIHZhciBhID0gZG9tYWluWzBdLCBiID0gZG9t
YWluW2RvbWFpbi5sZW5ndGggLSAxXSwgdDsKKyAgaWYgKGEgPiBiKSB0ID0gYSwgYSA9IGIsIGIg
PSB0OworICByZXR1cm4gZnVuY3Rpb24oeCkgeyByZXR1cm4gTWF0aC5tYXgoYSwgTWF0aC5taW4o
YiwgeCkpOyB9OworfQorCisvLyBub3JtYWxpemUoYSwgYikoeCkgdGFrZXMgYSBkb21haW4gdmFs
dWUgeCBpbiBbYSxiXSBhbmQgcmV0dXJucyB0aGUgY29ycmVzcG9uZGluZyBwYXJhbWV0ZXIgdCBp
biBbMCwxXS4KKy8vIGludGVycG9sYXRlKGEsIGIpKHQpIHRha2VzIGEgcGFyYW1ldGVyIHQgaW4g
WzAsMV0gYW5kIHJldHVybnMgdGhlIGNvcnJlc3BvbmRpbmcgcmFuZ2UgdmFsdWUgeCBpbiBbYSxi
XS4KK2Z1bmN0aW9uIGJpbWFwKGRvbWFpbiwgcmFuZ2UsIGludGVycG9sYXRlKSB7CisgIHZhciBk
MCA9IGRvbWFpblswXSwgZDEgPSBkb21haW5bMV0sIHIwID0gcmFuZ2VbMF0sIHIxID0gcmFuZ2Vb
MV07CisgIGlmIChkMSA8IGQwKSBkMCA9IG5vcm1hbGl6ZShkMSwgZDApLCByMCA9IGludGVycG9s
YXRlKHIxLCByMCk7CisgIGVsc2UgZDAgPSBub3JtYWxpemUoZDAsIGQxKSwgcjAgPSBpbnRlcnBv
bGF0ZShyMCwgcjEpOworICByZXR1cm4gZnVuY3Rpb24oeCkgeyByZXR1cm4gcjAoZDAoeCkpOyB9
OworfQorCitmdW5jdGlvbiBwb2x5bWFwKGRvbWFpbiwgcmFuZ2UsIGludGVycG9sYXRlKSB7Cisg
IHZhciBqID0gTWF0aC5taW4oZG9tYWluLmxlbmd0aCwgcmFuZ2UubGVuZ3RoKSAtIDEsCisgICAg
ICBkID0gbmV3IEFycmF5KGopLAorICAgICAgciA9IG5ldyBBcnJheShqKSwKKyAgICAgIGkgPSAt
MTsKKworICAvLyBSZXZlcnNlIGRlc2NlbmRpbmcgZG9tYWlucy4KKyAgaWYgKGRvbWFpbltqXSA8
IGRvbWFpblswXSkgeworICAgIGRvbWFpbiA9IGRvbWFpbi5zbGljZSgpLnJldmVyc2UoKTsKKyAg
ICByYW5nZSA9IHJhbmdlLnNsaWNlKCkucmV2ZXJzZSgpOworICB9CisKKyAgd2hpbGUgKCsraSA8
IGopIHsKKyAgICBkW2ldID0gbm9ybWFsaXplKGRvbWFpbltpXSwgZG9tYWluW2kgKyAxXSk7Cisg
ICAgcltpXSA9IGludGVycG9sYXRlKHJhbmdlW2ldLCByYW5nZVtpICsgMV0pOworICB9CisKKyAg
cmV0dXJuIGZ1bmN0aW9uKHgpIHsKKyAgICB2YXIgaSA9IGJpc2VjdFJpZ2h0KGRvbWFpbiwgeCwg
MSwgaikgLSAxOworICAgIHJldHVybiByW2ldKGRbaV0oeCkpOworICB9OworfQorCitmdW5jdGlv
biBjb3B5KHNvdXJjZSwgdGFyZ2V0KSB7CisgIHJldHVybiB0YXJnZXQKKyAgICAgIC5kb21haW4o
c291cmNlLmRvbWFpbigpKQorICAgICAgLnJhbmdlKHNvdXJjZS5yYW5nZSgpKQorICAgICAgLmlu
dGVycG9sYXRlKHNvdXJjZS5pbnRlcnBvbGF0ZSgpKQorICAgICAgLmNsYW1wKHNvdXJjZS5jbGFt
cCgpKQorICAgICAgLnVua25vd24oc291cmNlLnVua25vd24oKSk7Cit9CisKK2Z1bmN0aW9uIHRy
YW5zZm9ybWVyJDEoKSB7CisgIHZhciBkb21haW4gPSB1bml0LAorICAgICAgcmFuZ2UgPSB1bml0
LAorICAgICAgaW50ZXJwb2xhdGUgPSBpbnRlcnBvbGF0ZVZhbHVlLAorICAgICAgdHJhbnNmb3Jt
LAorICAgICAgdW50cmFuc2Zvcm0sCisgICAgICB1bmtub3duLAorICAgICAgY2xhbXAgPSBpZGVu
dGl0eSQ2LAorICAgICAgcGllY2V3aXNlLAorICAgICAgb3V0cHV0LAorICAgICAgaW5wdXQ7CisK
KyAgZnVuY3Rpb24gcmVzY2FsZSgpIHsKKyAgICBwaWVjZXdpc2UgPSBNYXRoLm1pbihkb21haW4u
bGVuZ3RoLCByYW5nZS5sZW5ndGgpID4gMiA/IHBvbHltYXAgOiBiaW1hcDsKKyAgICBvdXRwdXQg
PSBpbnB1dCA9IG51bGw7CisgICAgcmV0dXJuIHNjYWxlOworICB9CisKKyAgZnVuY3Rpb24gc2Nh
bGUoeCkgeworICAgIHJldHVybiBpc05hTih4ID0gK3gpID8gdW5rbm93biA6IChvdXRwdXQgfHwg
KG91dHB1dCA9IHBpZWNld2lzZShkb21haW4ubWFwKHRyYW5zZm9ybSksIHJhbmdlLCBpbnRlcnBv
bGF0ZSkpKSh0cmFuc2Zvcm0oY2xhbXAoeCkpKTsKKyAgfQorCisgIHNjYWxlLmludmVydCA9IGZ1
bmN0aW9uKHkpIHsKKyAgICByZXR1cm4gY2xhbXAodW50cmFuc2Zvcm0oKGlucHV0IHx8IChpbnB1
dCA9IHBpZWNld2lzZShyYW5nZSwgZG9tYWluLm1hcCh0cmFuc2Zvcm0pLCBpbnRlcnBvbGF0ZU51
bWJlcikpKSh5KSkpOworICB9OworCisgIHNjYWxlLmRvbWFpbiA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkb21haW4gPSBtYXAkMy5jYWxsKF8sIG51bWJl
ciQyKSwgY2xhbXAgPT09IGlkZW50aXR5JDYgfHwgKGNsYW1wID0gY2xhbXBlcihkb21haW4pKSwg
cmVzY2FsZSgpKSA6IGRvbWFpbi5zbGljZSgpOworICB9OworCisgIHNjYWxlLnJhbmdlID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJhbmdlID0gc2xpY2Uk
NS5jYWxsKF8pLCByZXNjYWxlKCkpIDogcmFuZ2Uuc2xpY2UoKTsKKyAgfTsKKworICBzY2FsZS5y
YW5nZVJvdW5kID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiByYW5nZSA9IHNsaWNlJDUuY2Fs
bChfKSwgaW50ZXJwb2xhdGUgPSBpbnRlcnBvbGF0ZVJvdW5kLCByZXNjYWxlKCk7CisgIH07CisK
KyAgc2NhbGUuY2xhbXAgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAoY2xhbXAgPSBfID8gY2xhbXBlcihkb21haW4pIDogaWRlbnRpdHkkNiwgc2NhbGUpIDog
Y2xhbXAgIT09IGlkZW50aXR5JDY7CisgIH07CisKKyAgc2NhbGUuaW50ZXJwb2xhdGUgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoaW50ZXJwb2xhdGUgPSBf
LCByZXNjYWxlKCkpIDogaW50ZXJwb2xhdGU7CisgIH07CisKKyAgc2NhbGUudW5rbm93biA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh1bmtub3duID0gXywg
c2NhbGUpIDogdW5rbm93bjsKKyAgfTsKKworICByZXR1cm4gZnVuY3Rpb24odCwgdSkgeworICAg
IHRyYW5zZm9ybSA9IHQsIHVudHJhbnNmb3JtID0gdTsKKyAgICByZXR1cm4gcmVzY2FsZSgpOwor
ICB9OworfQorCitmdW5jdGlvbiBjb250aW51b3VzKHRyYW5zZm9ybSwgdW50cmFuc2Zvcm0pIHsK
KyAgcmV0dXJuIHRyYW5zZm9ybWVyJDEoKSh0cmFuc2Zvcm0sIHVudHJhbnNmb3JtKTsKK30KKwor
ZnVuY3Rpb24gdGlja0Zvcm1hdChzdGFydCwgc3RvcCwgY291bnQsIHNwZWNpZmllcikgeworICB2
YXIgc3RlcCA9IHRpY2tTdGVwKHN0YXJ0LCBzdG9wLCBjb3VudCksCisgICAgICBwcmVjaXNpb247
CisgIHNwZWNpZmllciA9IGZvcm1hdFNwZWNpZmllcihzcGVjaWZpZXIgPT0gbnVsbCA/ICIsZiIg
OiBzcGVjaWZpZXIpOworICBzd2l0Y2ggKHNwZWNpZmllci50eXBlKSB7CisgICAgY2FzZSAicyI6
IHsKKyAgICAgIHZhciB2YWx1ZSA9IE1hdGgubWF4KE1hdGguYWJzKHN0YXJ0KSwgTWF0aC5hYnMo
c3RvcCkpOworICAgICAgaWYgKHNwZWNpZmllci5wcmVjaXNpb24gPT0gbnVsbCAmJiAhaXNOYU4o
cHJlY2lzaW9uID0gcHJlY2lzaW9uUHJlZml4KHN0ZXAsIHZhbHVlKSkpIHNwZWNpZmllci5wcmVj
aXNpb24gPSBwcmVjaXNpb247CisgICAgICByZXR1cm4gZXhwb3J0cy5mb3JtYXRQcmVmaXgoc3Bl
Y2lmaWVyLCB2YWx1ZSk7CisgICAgfQorICAgIGNhc2UgIiI6CisgICAgY2FzZSAiZSI6CisgICAg
Y2FzZSAiZyI6CisgICAgY2FzZSAicCI6CisgICAgY2FzZSAiciI6IHsKKyAgICAgIGlmIChzcGVj
aWZpZXIucHJlY2lzaW9uID09IG51bGwgJiYgIWlzTmFOKHByZWNpc2lvbiA9IHByZWNpc2lvblJv
dW5kKHN0ZXAsIE1hdGgubWF4KE1hdGguYWJzKHN0YXJ0KSwgTWF0aC5hYnMoc3RvcCkpKSkpIHNw
ZWNpZmllci5wcmVjaXNpb24gPSBwcmVjaXNpb24gLSAoc3BlY2lmaWVyLnR5cGUgPT09ICJlIik7
CisgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSAiZiI6CisgICAgY2FzZSAiJSI6IHsKKyAg
ICAgIGlmIChzcGVjaWZpZXIucHJlY2lzaW9uID09IG51bGwgJiYgIWlzTmFOKHByZWNpc2lvbiA9
IHByZWNpc2lvbkZpeGVkKHN0ZXApKSkgc3BlY2lmaWVyLnByZWNpc2lvbiA9IHByZWNpc2lvbiAt
IChzcGVjaWZpZXIudHlwZSA9PT0gIiUiKSAqIDI7CisgICAgICBicmVhazsKKyAgICB9CisgIH0K
KyAgcmV0dXJuIGV4cG9ydHMuZm9ybWF0KHNwZWNpZmllcik7Cit9CisKK2Z1bmN0aW9uIGxpbmVh
cmlzaChzY2FsZSkgeworICB2YXIgZG9tYWluID0gc2NhbGUuZG9tYWluOworCisgIHNjYWxlLnRp
Y2tzID0gZnVuY3Rpb24oY291bnQpIHsKKyAgICB2YXIgZCA9IGRvbWFpbigpOworICAgIHJldHVy
biB0aWNrcyhkWzBdLCBkW2QubGVuZ3RoIC0gMV0sIGNvdW50ID09IG51bGwgPyAxMCA6IGNvdW50
KTsKKyAgfTsKKworICBzY2FsZS50aWNrRm9ybWF0ID0gZnVuY3Rpb24oY291bnQsIHNwZWNpZmll
cikgeworICAgIHZhciBkID0gZG9tYWluKCk7CisgICAgcmV0dXJuIHRpY2tGb3JtYXQoZFswXSwg
ZFtkLmxlbmd0aCAtIDFdLCBjb3VudCA9PSBudWxsID8gMTAgOiBjb3VudCwgc3BlY2lmaWVyKTsK
KyAgfTsKKworICBzY2FsZS5uaWNlID0gZnVuY3Rpb24oY291bnQpIHsKKyAgICBpZiAoY291bnQg
PT0gbnVsbCkgY291bnQgPSAxMDsKKworICAgIHZhciBkID0gZG9tYWluKCksCisgICAgICAgIGkw
ID0gMCwKKyAgICAgICAgaTEgPSBkLmxlbmd0aCAtIDEsCisgICAgICAgIHN0YXJ0ID0gZFtpMF0s
CisgICAgICAgIHN0b3AgPSBkW2kxXSwKKyAgICAgICAgc3RlcDsKKworICAgIGlmIChzdG9wIDwg
c3RhcnQpIHsKKyAgICAgIHN0ZXAgPSBzdGFydCwgc3RhcnQgPSBzdG9wLCBzdG9wID0gc3RlcDsK
KyAgICAgIHN0ZXAgPSBpMCwgaTAgPSBpMSwgaTEgPSBzdGVwOworICAgIH0KKworICAgIHN0ZXAg
PSB0aWNrSW5jcmVtZW50KHN0YXJ0LCBzdG9wLCBjb3VudCk7CisKKyAgICBpZiAoc3RlcCA+IDAp
IHsKKyAgICAgIHN0YXJ0ID0gTWF0aC5mbG9vcihzdGFydCAvIHN0ZXApICogc3RlcDsKKyAgICAg
IHN0b3AgPSBNYXRoLmNlaWwoc3RvcCAvIHN0ZXApICogc3RlcDsKKyAgICAgIHN0ZXAgPSB0aWNr
SW5jcmVtZW50KHN0YXJ0LCBzdG9wLCBjb3VudCk7CisgICAgfSBlbHNlIGlmIChzdGVwIDwgMCkg
eworICAgICAgc3RhcnQgPSBNYXRoLmNlaWwoc3RhcnQgKiBzdGVwKSAvIHN0ZXA7CisgICAgICBz
dG9wID0gTWF0aC5mbG9vcihzdG9wICogc3RlcCkgLyBzdGVwOworICAgICAgc3RlcCA9IHRpY2tJ
bmNyZW1lbnQoc3RhcnQsIHN0b3AsIGNvdW50KTsKKyAgICB9CisKKyAgICBpZiAoc3RlcCA+IDAp
IHsKKyAgICAgIGRbaTBdID0gTWF0aC5mbG9vcihzdGFydCAvIHN0ZXApICogc3RlcDsKKyAgICAg
IGRbaTFdID0gTWF0aC5jZWlsKHN0b3AgLyBzdGVwKSAqIHN0ZXA7CisgICAgICBkb21haW4oZCk7
CisgICAgfSBlbHNlIGlmIChzdGVwIDwgMCkgeworICAgICAgZFtpMF0gPSBNYXRoLmNlaWwoc3Rh
cnQgKiBzdGVwKSAvIHN0ZXA7CisgICAgICBkW2kxXSA9IE1hdGguZmxvb3Ioc3RvcCAqIHN0ZXAp
IC8gc3RlcDsKKyAgICAgIGRvbWFpbihkKTsKKyAgICB9CisKKyAgICByZXR1cm4gc2NhbGU7Cisg
IH07CisKKyAgcmV0dXJuIHNjYWxlOworfQorCitmdW5jdGlvbiBsaW5lYXIkMigpIHsKKyAgdmFy
IHNjYWxlID0gY29udGludW91cyhpZGVudGl0eSQ2LCBpZGVudGl0eSQ2KTsKKworICBzY2FsZS5j
b3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkoc2NhbGUsIGxpbmVhciQyKCkpOwor
ICB9OworCisgIGluaXRSYW5nZS5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKKworICByZXR1cm4g
bGluZWFyaXNoKHNjYWxlKTsKK30KKworZnVuY3Rpb24gaWRlbnRpdHkkNyhkb21haW4pIHsKKyAg
dmFyIHVua25vd247CisKKyAgZnVuY3Rpb24gc2NhbGUoeCkgeworICAgIHJldHVybiBpc05hTih4
ID0gK3gpID8gdW5rbm93biA6IHg7CisgIH0KKworICBzY2FsZS5pbnZlcnQgPSBzY2FsZTsKKwor
ICBzY2FsZS5kb21haW4gPSBzY2FsZS5yYW5nZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/IChkb21haW4gPSBtYXAkMy5jYWxsKF8sIG51bWJlciQyKSwgc2Nh
bGUpIDogZG9tYWluLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUudW5rbm93biA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh1bmtub3duID0gXywgc2NhbGUp
IDogdW5rbm93bjsKKyAgfTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0
dXJuIGlkZW50aXR5JDcoZG9tYWluKS51bmtub3duKHVua25vd24pOworICB9OworCisgIGRvbWFp
biA9IGFyZ3VtZW50cy5sZW5ndGggPyBtYXAkMy5jYWxsKGRvbWFpbiwgbnVtYmVyJDIpIDogWzAs
IDFdOworCisgIHJldHVybiBsaW5lYXJpc2goc2NhbGUpOworfQorCitmdW5jdGlvbiBuaWNlKGRv
bWFpbiwgaW50ZXJ2YWwpIHsKKyAgZG9tYWluID0gZG9tYWluLnNsaWNlKCk7CisKKyAgdmFyIGkw
ID0gMCwKKyAgICAgIGkxID0gZG9tYWluLmxlbmd0aCAtIDEsCisgICAgICB4MCA9IGRvbWFpbltp
MF0sCisgICAgICB4MSA9IGRvbWFpbltpMV0sCisgICAgICB0OworCisgIGlmICh4MSA8IHgwKSB7
CisgICAgdCA9IGkwLCBpMCA9IGkxLCBpMSA9IHQ7CisgICAgdCA9IHgwLCB4MCA9IHgxLCB4MSA9
IHQ7CisgIH0KKworICBkb21haW5baTBdID0gaW50ZXJ2YWwuZmxvb3IoeDApOworICBkb21haW5b
aTFdID0gaW50ZXJ2YWwuY2VpbCh4MSk7CisgIHJldHVybiBkb21haW47Cit9CisKK2Z1bmN0aW9u
IHRyYW5zZm9ybUxvZyh4KSB7CisgIHJldHVybiBNYXRoLmxvZyh4KTsKK30KKworZnVuY3Rpb24g
dHJhbnNmb3JtRXhwKHgpIHsKKyAgcmV0dXJuIE1hdGguZXhwKHgpOworfQorCitmdW5jdGlvbiB0
cmFuc2Zvcm1Mb2duKHgpIHsKKyAgcmV0dXJuIC1NYXRoLmxvZygteCk7Cit9CisKK2Z1bmN0aW9u
IHRyYW5zZm9ybUV4cG4oeCkgeworICByZXR1cm4gLU1hdGguZXhwKC14KTsKK30KKworZnVuY3Rp
b24gcG93MTAoeCkgeworICByZXR1cm4gaXNGaW5pdGUoeCkgPyArKCIxZSIgKyB4KSA6IHggPCAw
ID8gMCA6IHg7Cit9CisKK2Z1bmN0aW9uIHBvd3AoYmFzZSkgeworICByZXR1cm4gYmFzZSA9PT0g
MTAgPyBwb3cxMAorICAgICAgOiBiYXNlID09PSBNYXRoLkUgPyBNYXRoLmV4cAorICAgICAgOiBm
dW5jdGlvbih4KSB7IHJldHVybiBNYXRoLnBvdyhiYXNlLCB4KTsgfTsKK30KKworZnVuY3Rpb24g
bG9ncChiYXNlKSB7CisgIHJldHVybiBiYXNlID09PSBNYXRoLkUgPyBNYXRoLmxvZworICAgICAg
OiBiYXNlID09PSAxMCAmJiBNYXRoLmxvZzEwCisgICAgICB8fCBiYXNlID09PSAyICYmIE1hdGgu
bG9nMgorICAgICAgfHwgKGJhc2UgPSBNYXRoLmxvZyhiYXNlKSwgZnVuY3Rpb24oeCkgeyByZXR1
cm4gTWF0aC5sb2coeCkgLyBiYXNlOyB9KTsKK30KKworZnVuY3Rpb24gcmVmbGVjdChmKSB7Cisg
IHJldHVybiBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIC1mKC14KTsKKyAgfTsKK30KKworZnVu
Y3Rpb24gbG9nZ2lzaCh0cmFuc2Zvcm0pIHsKKyAgdmFyIHNjYWxlID0gdHJhbnNmb3JtKHRyYW5z
Zm9ybUxvZywgdHJhbnNmb3JtRXhwKSwKKyAgICAgIGRvbWFpbiA9IHNjYWxlLmRvbWFpbiwKKyAg
ICAgIGJhc2UgPSAxMCwKKyAgICAgIGxvZ3MsCisgICAgICBwb3dzOworCisgIGZ1bmN0aW9uIHJl
c2NhbGUoKSB7CisgICAgbG9ncyA9IGxvZ3AoYmFzZSksIHBvd3MgPSBwb3dwKGJhc2UpOworICAg
IGlmIChkb21haW4oKVswXSA8IDApIHsKKyAgICAgIGxvZ3MgPSByZWZsZWN0KGxvZ3MpLCBwb3dz
ID0gcmVmbGVjdChwb3dzKTsKKyAgICAgIHRyYW5zZm9ybSh0cmFuc2Zvcm1Mb2duLCB0cmFuc2Zv
cm1FeHBuKTsKKyAgICB9IGVsc2UgeworICAgICAgdHJhbnNmb3JtKHRyYW5zZm9ybUxvZywgdHJh
bnNmb3JtRXhwKTsKKyAgICB9CisgICAgcmV0dXJuIHNjYWxlOworICB9CisKKyAgc2NhbGUuYmFz
ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChiYXNlID0g
K18sIHJlc2NhbGUoKSkgOiBiYXNlOworICB9OworCisgIHNjYWxlLmRvbWFpbiA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkb21haW4oXyksIHJlc2NhbGUo
KSkgOiBkb21haW4oKTsKKyAgfTsKKworICBzY2FsZS50aWNrcyA9IGZ1bmN0aW9uKGNvdW50KSB7
CisgICAgdmFyIGQgPSBkb21haW4oKSwKKyAgICAgICAgdSA9IGRbMF0sCisgICAgICAgIHYgPSBk
W2QubGVuZ3RoIC0gMV0sCisgICAgICAgIHI7CisKKyAgICBpZiAociA9IHYgPCB1KSBpID0gdSwg
dSA9IHYsIHYgPSBpOworCisgICAgdmFyIGkgPSBsb2dzKHUpLAorICAgICAgICBqID0gbG9ncyh2
KSwKKyAgICAgICAgcCwKKyAgICAgICAgaywKKyAgICAgICAgdCwKKyAgICAgICAgbiA9IGNvdW50
ID09IG51bGwgPyAxMCA6ICtjb3VudCwKKyAgICAgICAgeiA9IFtdOworCisgICAgaWYgKCEoYmFz
ZSAlIDEpICYmIGogLSBpIDwgbikgeworICAgICAgaSA9IE1hdGgucm91bmQoaSkgLSAxLCBqID0g
TWF0aC5yb3VuZChqKSArIDE7CisgICAgICBpZiAodSA+IDApIGZvciAoOyBpIDwgajsgKytpKSB7
CisgICAgICAgIGZvciAoayA9IDEsIHAgPSBwb3dzKGkpOyBrIDwgYmFzZTsgKytrKSB7CisgICAg
ICAgICAgdCA9IHAgKiBrOworICAgICAgICAgIGlmICh0IDwgdSkgY29udGludWU7CisgICAgICAg
ICAgaWYgKHQgPiB2KSBicmVhazsKKyAgICAgICAgICB6LnB1c2godCk7CisgICAgICAgIH0KKyAg
ICAgIH0gZWxzZSBmb3IgKDsgaSA8IGo7ICsraSkgeworICAgICAgICBmb3IgKGsgPSBiYXNlIC0g
MSwgcCA9IHBvd3MoaSk7IGsgPj0gMTsgLS1rKSB7CisgICAgICAgICAgdCA9IHAgKiBrOworICAg
ICAgICAgIGlmICh0IDwgdSkgY29udGludWU7CisgICAgICAgICAgaWYgKHQgPiB2KSBicmVhazsK
KyAgICAgICAgICB6LnB1c2godCk7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9IGVsc2Ugewor
ICAgICAgeiA9IHRpY2tzKGksIGosIE1hdGgubWluKGogLSBpLCBuKSkubWFwKHBvd3MpOworICAg
IH0KKworICAgIHJldHVybiByID8gei5yZXZlcnNlKCkgOiB6OworICB9OworCisgIHNjYWxlLnRp
Y2tGb3JtYXQgPSBmdW5jdGlvbihjb3VudCwgc3BlY2lmaWVyKSB7CisgICAgaWYgKHNwZWNpZmll
ciA9PSBudWxsKSBzcGVjaWZpZXIgPSBiYXNlID09PSAxMCA/ICIuMGUiIDogIiwiOworICAgIGlm
ICh0eXBlb2Ygc3BlY2lmaWVyICE9PSAiZnVuY3Rpb24iKSBzcGVjaWZpZXIgPSBleHBvcnRzLmZv
cm1hdChzcGVjaWZpZXIpOworICAgIGlmIChjb3VudCA9PT0gSW5maW5pdHkpIHJldHVybiBzcGVj
aWZpZXI7CisgICAgaWYgKGNvdW50ID09IG51bGwpIGNvdW50ID0gMTA7CisgICAgdmFyIGsgPSBN
YXRoLm1heCgxLCBiYXNlICogY291bnQgLyBzY2FsZS50aWNrcygpLmxlbmd0aCk7IC8vIFRPRE8g
ZmFzdCBlc3RpbWF0ZT8KKyAgICByZXR1cm4gZnVuY3Rpb24oZCkgeworICAgICAgdmFyIGkgPSBk
IC8gcG93cyhNYXRoLnJvdW5kKGxvZ3MoZCkpKTsKKyAgICAgIGlmIChpICogYmFzZSA8IGJhc2Ug
LSAwLjUpIGkgKj0gYmFzZTsKKyAgICAgIHJldHVybiBpIDw9IGsgPyBzcGVjaWZpZXIoZCkgOiAi
IjsKKyAgICB9OworICB9OworCisgIHNjYWxlLm5pY2UgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1
cm4gZG9tYWluKG5pY2UoZG9tYWluKCksIHsKKyAgICAgIGZsb29yOiBmdW5jdGlvbih4KSB7IHJl
dHVybiBwb3dzKE1hdGguZmxvb3IobG9ncyh4KSkpOyB9LAorICAgICAgY2VpbDogZnVuY3Rpb24o
eCkgeyByZXR1cm4gcG93cyhNYXRoLmNlaWwobG9ncyh4KSkpOyB9CisgICAgfSkpOworICB9Owor
CisgIHJldHVybiBzY2FsZTsKK30KKworZnVuY3Rpb24gbG9nJDEoKSB7CisgIHZhciBzY2FsZSA9
IGxvZ2dpc2godHJhbnNmb3JtZXIkMSgpKS5kb21haW4oWzEsIDEwXSk7CisKKyAgc2NhbGUuY29w
eSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBjb3B5KHNjYWxlLCBsb2ckMSgpKS5iYXNlKHNj
YWxlLmJhc2UoKSk7CisgIH07CisKKyAgaW5pdFJhbmdlLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMp
OworCisgIHJldHVybiBzY2FsZTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3JtU3ltbG9nKGMpIHsK
KyAgcmV0dXJuIGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gTWF0aC5zaWduKHgpICogTWF0aC5s
b2cxcChNYXRoLmFicyh4IC8gYykpOworICB9OworfQorCitmdW5jdGlvbiB0cmFuc2Zvcm1TeW1l
eHAoYykgeworICByZXR1cm4gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBNYXRoLnNpZ24oeCkg
KiBNYXRoLmV4cG0xKE1hdGguYWJzKHgpKSAqIGM7CisgIH07Cit9CisKK2Z1bmN0aW9uIHN5bWxv
Z2lzaCh0cmFuc2Zvcm0pIHsKKyAgdmFyIGMgPSAxLCBzY2FsZSA9IHRyYW5zZm9ybSh0cmFuc2Zv
cm1TeW1sb2coYyksIHRyYW5zZm9ybVN5bWV4cChjKSk7CisKKyAgc2NhbGUuY29uc3RhbnQgPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyB0cmFuc2Zvcm0odHJh
bnNmb3JtU3ltbG9nKGMgPSArXyksIHRyYW5zZm9ybVN5bWV4cChjKSkgOiBjOworICB9OworCisg
IHJldHVybiBsaW5lYXJpc2goc2NhbGUpOworfQorCitmdW5jdGlvbiBzeW1sb2coKSB7CisgIHZh
ciBzY2FsZSA9IHN5bWxvZ2lzaCh0cmFuc2Zvcm1lciQxKCkpOworCisgIHNjYWxlLmNvcHkgPSBm
dW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weShzY2FsZSwgc3ltbG9nKCkpLmNvbnN0YW50KHNj
YWxlLmNvbnN0YW50KCkpOworICB9OworCisgIHJldHVybiBpbml0UmFuZ2UuYXBwbHkoc2NhbGUs
IGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zZm9ybVBvdyhleHBvbmVudCkgeworICBy
ZXR1cm4gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiB4IDwgMCA/IC1NYXRoLnBvdygteCwgZXhw
b25lbnQpIDogTWF0aC5wb3coeCwgZXhwb25lbnQpOworICB9OworfQorCitmdW5jdGlvbiB0cmFu
c2Zvcm1TcXJ0KHgpIHsKKyAgcmV0dXJuIHggPCAwID8gLU1hdGguc3FydCgteCkgOiBNYXRoLnNx
cnQoeCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zZm9ybVNxdWFyZSh4KSB7CisgIHJldHVybiB4IDwg
MCA/IC14ICogeCA6IHggKiB4OworfQorCitmdW5jdGlvbiBwb3dpc2godHJhbnNmb3JtKSB7Cisg
IHZhciBzY2FsZSA9IHRyYW5zZm9ybShpZGVudGl0eSQ2LCBpZGVudGl0eSQ2KSwKKyAgICAgIGV4
cG9uZW50ID0gMTsKKworICBmdW5jdGlvbiByZXNjYWxlKCkgeworICAgIHJldHVybiBleHBvbmVu
dCA9PT0gMSA/IHRyYW5zZm9ybShpZGVudGl0eSQ2LCBpZGVudGl0eSQ2KQorICAgICAgICA6IGV4
cG9uZW50ID09PSAwLjUgPyB0cmFuc2Zvcm0odHJhbnNmb3JtU3FydCwgdHJhbnNmb3JtU3F1YXJl
KQorICAgICAgICA6IHRyYW5zZm9ybSh0cmFuc2Zvcm1Qb3coZXhwb25lbnQpLCB0cmFuc2Zvcm1Q
b3coMSAvIGV4cG9uZW50KSk7CisgIH0KKworICBzY2FsZS5leHBvbmVudCA9IGZ1bmN0aW9uKF8p
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChleHBvbmVudCA9ICtfLCByZXNjYWxl
KCkpIDogZXhwb25lbnQ7CisgIH07CisKKyAgcmV0dXJuIGxpbmVhcmlzaChzY2FsZSk7Cit9CisK
K2Z1bmN0aW9uIHBvdyQxKCkgeworICB2YXIgc2NhbGUgPSBwb3dpc2godHJhbnNmb3JtZXIkMSgp
KTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkoc2NhbGUs
IHBvdyQxKCkpLmV4cG9uZW50KHNjYWxlLmV4cG9uZW50KCkpOworICB9OworCisgIGluaXRSYW5n
ZS5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKKworICByZXR1cm4gc2NhbGU7Cit9CisKK2Z1bmN0
aW9uIHNxcnQkMSgpIHsKKyAgcmV0dXJuIHBvdyQxLmFwcGx5KG51bGwsIGFyZ3VtZW50cykuZXhw
b25lbnQoMC41KTsKK30KKworZnVuY3Rpb24gcXVhbnRpbGUoKSB7CisgIHZhciBkb21haW4gPSBb
XSwKKyAgICAgIHJhbmdlID0gW10sCisgICAgICB0aHJlc2hvbGRzID0gW10sCisgICAgICB1bmtu
b3duOworCisgIGZ1bmN0aW9uIHJlc2NhbGUoKSB7CisgICAgdmFyIGkgPSAwLCBuID0gTWF0aC5t
YXgoMSwgcmFuZ2UubGVuZ3RoKTsKKyAgICB0aHJlc2hvbGRzID0gbmV3IEFycmF5KG4gLSAxKTsK
KyAgICB3aGlsZSAoKytpIDwgbikgdGhyZXNob2xkc1tpIC0gMV0gPSB0aHJlc2hvbGQoZG9tYWlu
LCBpIC8gbik7CisgICAgcmV0dXJuIHNjYWxlOworICB9CisKKyAgZnVuY3Rpb24gc2NhbGUoeCkg
eworICAgIHJldHVybiBpc05hTih4ID0gK3gpID8gdW5rbm93biA6IHJhbmdlW2Jpc2VjdFJpZ2h0
KHRocmVzaG9sZHMsIHgpXTsKKyAgfQorCisgIHNjYWxlLmludmVydEV4dGVudCA9IGZ1bmN0aW9u
KHkpIHsKKyAgICB2YXIgaSA9IHJhbmdlLmluZGV4T2YoeSk7CisgICAgcmV0dXJuIGkgPCAwID8g
W05hTiwgTmFOXSA6IFsKKyAgICAgIGkgPiAwID8gdGhyZXNob2xkc1tpIC0gMV0gOiBkb21haW5b
MF0sCisgICAgICBpIDwgdGhyZXNob2xkcy5sZW5ndGggPyB0aHJlc2hvbGRzW2ldIDogZG9tYWlu
W2RvbWFpbi5sZW5ndGggLSAxXQorICAgIF07CisgIH07CisKKyAgc2NhbGUuZG9tYWluID0gZnVu
Y3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIGRvbWFpbi5zbGlj
ZSgpOworICAgIGRvbWFpbiA9IFtdOworICAgIGZvciAodmFyIGkgPSAwLCBuID0gXy5sZW5ndGgs
IGQ7IGkgPCBuOyArK2kpIGlmIChkID0gX1tpXSwgZCAhPSBudWxsICYmICFpc05hTihkID0gK2Qp
KSBkb21haW4ucHVzaChkKTsKKyAgICBkb21haW4uc29ydChhc2NlbmRpbmcpOworICAgIHJldHVy
biByZXNjYWxlKCk7CisgIH07CisKKyAgc2NhbGUucmFuZ2UgPSBmdW5jdGlvbihfKSB7CisgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocmFuZ2UgPSBzbGljZSQ1LmNhbGwoXyksIHJlc2Nh
bGUoKSkgOiByYW5nZS5zbGljZSgpOworICB9OworCisgIHNjYWxlLnVua25vd24gPSBmdW5jdGlv
bihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodW5rbm93biA9IF8sIHNjYWxl
KSA6IHVua25vd247CisgIH07CisKKyAgc2NhbGUucXVhbnRpbGVzID0gZnVuY3Rpb24oKSB7Cisg
ICAgcmV0dXJuIHRocmVzaG9sZHMuc2xpY2UoKTsKKyAgfTsKKworICBzY2FsZS5jb3B5ID0gZnVu
Y3Rpb24oKSB7CisgICAgcmV0dXJuIHF1YW50aWxlKCkKKyAgICAgICAgLmRvbWFpbihkb21haW4p
CisgICAgICAgIC5yYW5nZShyYW5nZSkKKyAgICAgICAgLnVua25vd24odW5rbm93bik7CisgIH07
CisKKyAgcmV0dXJuIGluaXRSYW5nZS5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKK30KKworZnVu
Y3Rpb24gcXVhbnRpemUkMSgpIHsKKyAgdmFyIHgwID0gMCwKKyAgICAgIHgxID0gMSwKKyAgICAg
IG4gPSAxLAorICAgICAgZG9tYWluID0gWzAuNV0sCisgICAgICByYW5nZSA9IFswLCAxXSwKKyAg
ICAgIHVua25vd247CisKKyAgZnVuY3Rpb24gc2NhbGUoeCkgeworICAgIHJldHVybiB4IDw9IHgg
PyByYW5nZVtiaXNlY3RSaWdodChkb21haW4sIHgsIDAsIG4pXSA6IHVua25vd247CisgIH0KKwor
ICBmdW5jdGlvbiByZXNjYWxlKCkgeworICAgIHZhciBpID0gLTE7CisgICAgZG9tYWluID0gbmV3
IEFycmF5KG4pOworICAgIHdoaWxlICgrK2kgPCBuKSBkb21haW5baV0gPSAoKGkgKyAxKSAqIHgx
IC0gKGkgLSBuKSAqIHgwKSAvIChuICsgMSk7CisgICAgcmV0dXJuIHNjYWxlOworICB9CisKKyAg
c2NhbGUuZG9tYWluID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKHgwID0gK19bMF0sIHgxID0gK19bMV0sIHJlc2NhbGUoKSkgOiBbeDAsIHgxXTsKKyAgfTsK
KworICBzY2FsZS5yYW5nZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IChuID0gKHJhbmdlID0gc2xpY2UkNS5jYWxsKF8pKS5sZW5ndGggLSAxLCByZXNjYWxl
KCkpIDogcmFuZ2Uuc2xpY2UoKTsKKyAgfTsKKworICBzY2FsZS5pbnZlcnRFeHRlbnQgPSBmdW5j
dGlvbih5KSB7CisgICAgdmFyIGkgPSByYW5nZS5pbmRleE9mKHkpOworICAgIHJldHVybiBpIDwg
MCA/IFtOYU4sIE5hTl0KKyAgICAgICAgOiBpIDwgMSA/IFt4MCwgZG9tYWluWzBdXQorICAgICAg
ICA6IGkgPj0gbiA/IFtkb21haW5bbiAtIDFdLCB4MV0KKyAgICAgICAgOiBbZG9tYWluW2kgLSAx
XSwgZG9tYWluW2ldXTsKKyAgfTsKKworICBzY2FsZS51bmtub3duID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHVua25vd24gPSBfLCBzY2FsZSkgOiBzY2Fs
ZTsKKyAgfTsKKworICBzY2FsZS50aHJlc2hvbGRzID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJu
IGRvbWFpbi5zbGljZSgpOworICB9OworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAg
ICByZXR1cm4gcXVhbnRpemUkMSgpCisgICAgICAgIC5kb21haW4oW3gwLCB4MV0pCisgICAgICAg
IC5yYW5nZShyYW5nZSkKKyAgICAgICAgLnVua25vd24odW5rbm93bik7CisgIH07CisKKyAgcmV0
dXJuIGluaXRSYW5nZS5hcHBseShsaW5lYXJpc2goc2NhbGUpLCBhcmd1bWVudHMpOworfQorCitm
dW5jdGlvbiB0aHJlc2hvbGQkMSgpIHsKKyAgdmFyIGRvbWFpbiA9IFswLjVdLAorICAgICAgcmFu
Z2UgPSBbMCwgMV0sCisgICAgICB1bmtub3duLAorICAgICAgbiA9IDE7CisKKyAgZnVuY3Rpb24g
c2NhbGUoeCkgeworICAgIHJldHVybiB4IDw9IHggPyByYW5nZVtiaXNlY3RSaWdodChkb21haW4s
IHgsIDAsIG4pXSA6IHVua25vd247CisgIH0KKworICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZG9tYWluID0gc2xpY2UkNS5jYWxs
KF8pLCBuID0gTWF0aC5taW4oZG9tYWluLmxlbmd0aCwgcmFuZ2UubGVuZ3RoIC0gMSksIHNjYWxl
KSA6IGRvbWFpbi5zbGljZSgpOworICB9OworCisgIHNjYWxlLnJhbmdlID0gZnVuY3Rpb24oXykg
eworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJhbmdlID0gc2xpY2UkNS5jYWxsKF8p
LCBuID0gTWF0aC5taW4oZG9tYWluLmxlbmd0aCwgcmFuZ2UubGVuZ3RoIC0gMSksIHNjYWxlKSA6
IHJhbmdlLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUuaW52ZXJ0RXh0ZW50ID0gZnVuY3Rpb24o
eSkgeworICAgIHZhciBpID0gcmFuZ2UuaW5kZXhPZih5KTsKKyAgICByZXR1cm4gW2RvbWFpbltp
IC0gMV0sIGRvbWFpbltpXV07CisgIH07CisKKyAgc2NhbGUudW5rbm93biA9IGZ1bmN0aW9uKF8p
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh1bmtub3duID0gXywgc2NhbGUpIDog
dW5rbm93bjsKKyAgfTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJu
IHRocmVzaG9sZCQxKCkKKyAgICAgICAgLmRvbWFpbihkb21haW4pCisgICAgICAgIC5yYW5nZShy
YW5nZSkKKyAgICAgICAgLnVua25vd24odW5rbm93bik7CisgIH07CisKKyAgcmV0dXJuIGluaXRS
YW5nZS5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKK30KKwordmFyIHQwJDEgPSBuZXcgRGF0ZSwK
KyAgICB0MSQxID0gbmV3IERhdGU7CisKK2Z1bmN0aW9uIG5ld0ludGVydmFsKGZsb29yaSwgb2Zm
c2V0aSwgY291bnQsIGZpZWxkKSB7CisKKyAgZnVuY3Rpb24gaW50ZXJ2YWwoZGF0ZSkgeworICAg
IHJldHVybiBmbG9vcmkoZGF0ZSA9IGFyZ3VtZW50cy5sZW5ndGggPT09IDAgPyBuZXcgRGF0ZSA6
IG5ldyBEYXRlKCtkYXRlKSksIGRhdGU7CisgIH0KKworICBpbnRlcnZhbC5mbG9vciA9IGZ1bmN0
aW9uKGRhdGUpIHsKKyAgICByZXR1cm4gZmxvb3JpKGRhdGUgPSBuZXcgRGF0ZSgrZGF0ZSkpLCBk
YXRlOworICB9OworCisgIGludGVydmFsLmNlaWwgPSBmdW5jdGlvbihkYXRlKSB7CisgICAgcmV0
dXJuIGZsb29yaShkYXRlID0gbmV3IERhdGUoZGF0ZSAtIDEpKSwgb2Zmc2V0aShkYXRlLCAxKSwg
Zmxvb3JpKGRhdGUpLCBkYXRlOworICB9OworCisgIGludGVydmFsLnJvdW5kID0gZnVuY3Rpb24o
ZGF0ZSkgeworICAgIHZhciBkMCA9IGludGVydmFsKGRhdGUpLAorICAgICAgICBkMSA9IGludGVy
dmFsLmNlaWwoZGF0ZSk7CisgICAgcmV0dXJuIGRhdGUgLSBkMCA8IGQxIC0gZGF0ZSA/IGQwIDog
ZDE7CisgIH07CisKKyAgaW50ZXJ2YWwub2Zmc2V0ID0gZnVuY3Rpb24oZGF0ZSwgc3RlcCkgewor
ICAgIHJldHVybiBvZmZzZXRpKGRhdGUgPSBuZXcgRGF0ZSgrZGF0ZSksIHN0ZXAgPT0gbnVsbCA/
IDEgOiBNYXRoLmZsb29yKHN0ZXApKSwgZGF0ZTsKKyAgfTsKKworICBpbnRlcnZhbC5yYW5nZSA9
IGZ1bmN0aW9uKHN0YXJ0LCBzdG9wLCBzdGVwKSB7CisgICAgdmFyIHJhbmdlID0gW10sIHByZXZp
b3VzOworICAgIHN0YXJ0ID0gaW50ZXJ2YWwuY2VpbChzdGFydCk7CisgICAgc3RlcCA9IHN0ZXAg
PT0gbnVsbCA/IDEgOiBNYXRoLmZsb29yKHN0ZXApOworICAgIGlmICghKHN0YXJ0IDwgc3RvcCkg
fHwgIShzdGVwID4gMCkpIHJldHVybiByYW5nZTsgLy8gYWxzbyBoYW5kbGVzIEludmFsaWQgRGF0
ZQorICAgIGRvIHJhbmdlLnB1c2gocHJldmlvdXMgPSBuZXcgRGF0ZSgrc3RhcnQpKSwgb2Zmc2V0
aShzdGFydCwgc3RlcCksIGZsb29yaShzdGFydCk7CisgICAgd2hpbGUgKHByZXZpb3VzIDwgc3Rh
cnQgJiYgc3RhcnQgPCBzdG9wKTsKKyAgICByZXR1cm4gcmFuZ2U7CisgIH07CisKKyAgaW50ZXJ2
YWwuZmlsdGVyID0gZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVybiBuZXdJbnRlcnZhbChmdW5j
dGlvbihkYXRlKSB7CisgICAgICBpZiAoZGF0ZSA+PSBkYXRlKSB3aGlsZSAoZmxvb3JpKGRhdGUp
LCAhdGVzdChkYXRlKSkgZGF0ZS5zZXRUaW1lKGRhdGUgLSAxKTsKKyAgICB9LCBmdW5jdGlvbihk
YXRlLCBzdGVwKSB7CisgICAgICBpZiAoZGF0ZSA+PSBkYXRlKSB7CisgICAgICAgIGlmIChzdGVw
IDwgMCkgd2hpbGUgKCsrc3RlcCA8PSAwKSB7CisgICAgICAgICAgd2hpbGUgKG9mZnNldGkoZGF0
ZSwgLTEpLCAhdGVzdChkYXRlKSkge30gLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1lbXB0eQor
ICAgICAgICB9IGVsc2Ugd2hpbGUgKC0tc3RlcCA+PSAwKSB7CisgICAgICAgICAgd2hpbGUgKG9m
ZnNldGkoZGF0ZSwgKzEpLCAhdGVzdChkYXRlKSkge30gLy8gZXNsaW50LWRpc2FibGUtbGluZSBu
by1lbXB0eQorICAgICAgICB9CisgICAgICB9CisgICAgfSk7CisgIH07CisKKyAgaWYgKGNvdW50
KSB7CisgICAgaW50ZXJ2YWwuY291bnQgPSBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgICAgICB0
MCQxLnNldFRpbWUoK3N0YXJ0KSwgdDEkMS5zZXRUaW1lKCtlbmQpOworICAgICAgZmxvb3JpKHQw
JDEpLCBmbG9vcmkodDEkMSk7CisgICAgICByZXR1cm4gTWF0aC5mbG9vcihjb3VudCh0MCQxLCB0
MSQxKSk7CisgICAgfTsKKworICAgIGludGVydmFsLmV2ZXJ5ID0gZnVuY3Rpb24oc3RlcCkgewor
ICAgICAgc3RlcCA9IE1hdGguZmxvb3Ioc3RlcCk7CisgICAgICByZXR1cm4gIWlzRmluaXRlKHN0
ZXApIHx8ICEoc3RlcCA+IDApID8gbnVsbAorICAgICAgICAgIDogIShzdGVwID4gMSkgPyBpbnRl
cnZhbAorICAgICAgICAgIDogaW50ZXJ2YWwuZmlsdGVyKGZpZWxkCisgICAgICAgICAgICAgID8g
ZnVuY3Rpb24oZCkgeyByZXR1cm4gZmllbGQoZCkgJSBzdGVwID09PSAwOyB9CisgICAgICAgICAg
ICAgIDogZnVuY3Rpb24oZCkgeyByZXR1cm4gaW50ZXJ2YWwuY291bnQoMCwgZCkgJSBzdGVwID09
PSAwOyB9KTsKKyAgICB9OworICB9CisKKyAgcmV0dXJuIGludGVydmFsOworfQorCit2YXIgbWls
bGlzZWNvbmQgPSBuZXdJbnRlcnZhbChmdW5jdGlvbigpIHsKKyAgLy8gbm9vcAorfSwgZnVuY3Rp
b24oZGF0ZSwgc3RlcCkgeworICBkYXRlLnNldFRpbWUoK2RhdGUgKyBzdGVwKTsKK30sIGZ1bmN0
aW9uKHN0YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIGVuZCAtIHN0YXJ0OworfSk7CisKKy8vIEFuIG9w
dGltaXplZCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhpcyBzaW1wbGUgY2FzZS4KK21pbGxpc2Vjb25k
LmV2ZXJ5ID0gZnVuY3Rpb24oaykgeworICBrID0gTWF0aC5mbG9vcihrKTsKKyAgaWYgKCFpc0Zp
bml0ZShrKSB8fCAhKGsgPiAwKSkgcmV0dXJuIG51bGw7CisgIGlmICghKGsgPiAxKSkgcmV0dXJu
IG1pbGxpc2Vjb25kOworICByZXR1cm4gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICAg
IGRhdGUuc2V0VGltZShNYXRoLmZsb29yKGRhdGUgLyBrKSAqIGspOworICB9LCBmdW5jdGlvbihk
YXRlLCBzdGVwKSB7CisgICAgZGF0ZS5zZXRUaW1lKCtkYXRlICsgc3RlcCAqIGspOworICB9LCBm
dW5jdGlvbihzdGFydCwgZW5kKSB7CisgICAgcmV0dXJuIChlbmQgLSBzdGFydCkgLyBrOworICB9
KTsKK307Cit2YXIgbWlsbGlzZWNvbmRzID0gbWlsbGlzZWNvbmQucmFuZ2U7CisKK3ZhciBkdXJh
dGlvblNlY29uZCA9IDFlMzsKK3ZhciBkdXJhdGlvbk1pbnV0ZSA9IDZlNDsKK3ZhciBkdXJhdGlv
bkhvdXIgPSAzNmU1OwordmFyIGR1cmF0aW9uRGF5ID0gODY0ZTU7Cit2YXIgZHVyYXRpb25XZWVr
ID0gNjA0OGU1OworCit2YXIgc2Vjb25kID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgewor
ICBkYXRlLnNldFRpbWUoZGF0ZSAtIGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCkpOworfSwgZnVuY3Rp
b24oZGF0ZSwgc3RlcCkgeworICBkYXRlLnNldFRpbWUoK2RhdGUgKyBzdGVwICogZHVyYXRpb25T
ZWNvbmQpOworfSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICByZXR1cm4gKGVuZCAtIHN0YXJ0
KSAvIGR1cmF0aW9uU2Vjb25kOworfSwgZnVuY3Rpb24oZGF0ZSkgeworICByZXR1cm4gZGF0ZS5n
ZXRVVENTZWNvbmRzKCk7Cit9KTsKK3ZhciBzZWNvbmRzID0gc2Vjb25kLnJhbmdlOworCit2YXIg
bWludXRlID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRlLnNldFRpbWUoZGF0
ZSAtIGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCkgLSBkYXRlLmdldFNlY29uZHMoKSAqIGR1cmF0aW9u
U2Vjb25kKTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRUaW1lKCtkYXRl
ICsgc3RlcCAqIGR1cmF0aW9uTWludXRlKTsKK30sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAg
cmV0dXJuIChlbmQgLSBzdGFydCkgLyBkdXJhdGlvbk1pbnV0ZTsKK30sIGZ1bmN0aW9uKGRhdGUp
IHsKKyAgcmV0dXJuIGRhdGUuZ2V0TWludXRlcygpOworfSk7Cit2YXIgbWludXRlcyA9IG1pbnV0
ZS5yYW5nZTsKKwordmFyIGhvdXIgPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgIGRh
dGUuc2V0VGltZShkYXRlIC0gZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSAtIGRhdGUuZ2V0U2Vjb25k
cygpICogZHVyYXRpb25TZWNvbmQgLSBkYXRlLmdldE1pbnV0ZXMoKSAqIGR1cmF0aW9uTWludXRl
KTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRUaW1lKCtkYXRlICsgc3Rl
cCAqIGR1cmF0aW9uSG91cik7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVybiAo
ZW5kIC0gc3RhcnQpIC8gZHVyYXRpb25Ib3VyOworfSwgZnVuY3Rpb24oZGF0ZSkgeworICByZXR1
cm4gZGF0ZS5nZXRIb3VycygpOworfSk7Cit2YXIgaG91cnMgPSBob3VyLnJhbmdlOworCit2YXIg
ZGF5ID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRlLnNldEhvdXJzKDAsIDAs
IDAsIDApOworfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICBkYXRlLnNldERhdGUoZGF0ZS5n
ZXREYXRlKCkgKyBzdGVwKTsKK30sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIChl
bmQgLSBzdGFydCAtIChlbmQuZ2V0VGltZXpvbmVPZmZzZXQoKSAtIHN0YXJ0LmdldFRpbWV6b25l
T2Zmc2V0KCkpICogZHVyYXRpb25NaW51dGUpIC8gZHVyYXRpb25EYXk7Cit9LCBmdW5jdGlvbihk
YXRlKSB7CisgIHJldHVybiBkYXRlLmdldERhdGUoKSAtIDE7Cit9KTsKK3ZhciBkYXlzID0gZGF5
LnJhbmdlOworCitmdW5jdGlvbiB3ZWVrZGF5KGkpIHsKKyAgcmV0dXJuIG5ld0ludGVydmFsKGZ1
bmN0aW9uKGRhdGUpIHsKKyAgICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgLSAoZGF0ZS5n
ZXREYXkoKSArIDcgLSBpKSAlIDcpOworICAgIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7Cisg
IH0sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRl
KCkgKyBzdGVwICogNyk7CisgIH0sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAgICByZXR1cm4g
KGVuZCAtIHN0YXJ0IC0gKGVuZC5nZXRUaW1lem9uZU9mZnNldCgpIC0gc3RhcnQuZ2V0VGltZXpv
bmVPZmZzZXQoKSkgKiBkdXJhdGlvbk1pbnV0ZSkgLyBkdXJhdGlvbldlZWs7CisgIH0pOworfQor
Cit2YXIgc3VuZGF5ID0gd2Vla2RheSgwKTsKK3ZhciBtb25kYXkgPSB3ZWVrZGF5KDEpOwordmFy
IHR1ZXNkYXkgPSB3ZWVrZGF5KDIpOwordmFyIHdlZG5lc2RheSA9IHdlZWtkYXkoMyk7Cit2YXIg
dGh1cnNkYXkgPSB3ZWVrZGF5KDQpOwordmFyIGZyaWRheSA9IHdlZWtkYXkoNSk7Cit2YXIgc2F0
dXJkYXkgPSB3ZWVrZGF5KDYpOworCit2YXIgc3VuZGF5cyA9IHN1bmRheS5yYW5nZTsKK3ZhciBt
b25kYXlzID0gbW9uZGF5LnJhbmdlOwordmFyIHR1ZXNkYXlzID0gdHVlc2RheS5yYW5nZTsKK3Zh
ciB3ZWRuZXNkYXlzID0gd2VkbmVzZGF5LnJhbmdlOwordmFyIHRodXJzZGF5cyA9IHRodXJzZGF5
LnJhbmdlOwordmFyIGZyaWRheXMgPSBmcmlkYXkucmFuZ2U7Cit2YXIgc2F0dXJkYXlzID0gc2F0
dXJkYXkucmFuZ2U7CisKK3ZhciBtb250aCA9IG5ld0ludGVydmFsKGZ1bmN0aW9uKGRhdGUpIHsK
KyAgZGF0ZS5zZXREYXRlKDEpOworICBkYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApOworfSwgZnVu
Y3Rpb24oZGF0ZSwgc3RlcCkgeworICBkYXRlLnNldE1vbnRoKGRhdGUuZ2V0TW9udGgoKSArIHN0
ZXApOworfSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICByZXR1cm4gZW5kLmdldE1vbnRoKCkg
LSBzdGFydC5nZXRNb250aCgpICsgKGVuZC5nZXRGdWxsWWVhcigpIC0gc3RhcnQuZ2V0RnVsbFll
YXIoKSkgKiAxMjsKK30sIGZ1bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0TW9udGgo
KTsKK30pOwordmFyIG1vbnRocyA9IG1vbnRoLnJhbmdlOworCit2YXIgeWVhciA9IG5ld0ludGVy
dmFsKGZ1bmN0aW9uKGRhdGUpIHsKKyAgZGF0ZS5zZXRNb250aCgwLCAxKTsKKyAgZGF0ZS5zZXRI
b3VycygwLCAwLCAwLCAwKTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRG
dWxsWWVhcihkYXRlLmdldEZ1bGxZZWFyKCkgKyBzdGVwKTsKK30sIGZ1bmN0aW9uKHN0YXJ0LCBl
bmQpIHsKKyAgcmV0dXJuIGVuZC5nZXRGdWxsWWVhcigpIC0gc3RhcnQuZ2V0RnVsbFllYXIoKTsK
K30sIGZ1bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0RnVsbFllYXIoKTsKK30pOwor
CisvLyBBbiBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb24gZm9yIHRoaXMgc2ltcGxlIGNhc2UuCit5
ZWFyLmV2ZXJ5ID0gZnVuY3Rpb24oaykgeworICByZXR1cm4gIWlzRmluaXRlKGsgPSBNYXRoLmZs
b29yKGspKSB8fCAhKGsgPiAwKSA/IG51bGwgOiBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7
CisgICAgZGF0ZS5zZXRGdWxsWWVhcihNYXRoLmZsb29yKGRhdGUuZ2V0RnVsbFllYXIoKSAvIGsp
ICogayk7CisgICAgZGF0ZS5zZXRNb250aCgwLCAxKTsKKyAgICBkYXRlLnNldEhvdXJzKDAsIDAs
IDAsIDApOworICB9LCBmdW5jdGlvbihkYXRlLCBzdGVwKSB7CisgICAgZGF0ZS5zZXRGdWxsWWVh
cihkYXRlLmdldEZ1bGxZZWFyKCkgKyBzdGVwICogayk7CisgIH0pOworfTsKK3ZhciB5ZWFycyA9
IHllYXIucmFuZ2U7CisKK3ZhciB1dGNNaW51dGUgPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRl
KSB7CisgIGRhdGUuc2V0VVRDU2Vjb25kcygwLCAwKTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXAp
IHsKKyAgZGF0ZS5zZXRUaW1lKCtkYXRlICsgc3RlcCAqIGR1cmF0aW9uTWludXRlKTsKK30sIGZ1
bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIChlbmQgLSBzdGFydCkgLyBkdXJhdGlvbk1p
bnV0ZTsKK30sIGZ1bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0VVRDTWludXRlcygp
OworfSk7Cit2YXIgdXRjTWludXRlcyA9IHV0Y01pbnV0ZS5yYW5nZTsKKwordmFyIHV0Y0hvdXIg
PSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgIGRhdGUuc2V0VVRDTWludXRlcygwLCAw
LCAwKTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRUaW1lKCtkYXRlICsg
c3RlcCAqIGR1cmF0aW9uSG91cik7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVy
biAoZW5kIC0gc3RhcnQpIC8gZHVyYXRpb25Ib3VyOworfSwgZnVuY3Rpb24oZGF0ZSkgeworICBy
ZXR1cm4gZGF0ZS5nZXRVVENIb3VycygpOworfSk7Cit2YXIgdXRjSG91cnMgPSB1dGNIb3VyLnJh
bmdlOworCit2YXIgdXRjRGF5ID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRl
LnNldFVUQ0hvdXJzKDAsIDAsIDAsIDApOworfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICBk
YXRlLnNldFVUQ0RhdGUoZGF0ZS5nZXRVVENEYXRlKCkgKyBzdGVwKTsKK30sIGZ1bmN0aW9uKHN0
YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIChlbmQgLSBzdGFydCkgLyBkdXJhdGlvbkRheTsKK30sIGZ1
bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0VVRDRGF0ZSgpIC0gMTsKK30pOwordmFy
IHV0Y0RheXMgPSB1dGNEYXkucmFuZ2U7CisKK2Z1bmN0aW9uIHV0Y1dlZWtkYXkoaSkgeworICBy
ZXR1cm4gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICAgIGRhdGUuc2V0VVRDRGF0ZShk
YXRlLmdldFVUQ0RhdGUoKSAtIChkYXRlLmdldFVUQ0RheSgpICsgNyAtIGkpICUgNyk7CisgICAg
ZGF0ZS5zZXRVVENIb3VycygwLCAwLCAwLCAwKTsKKyAgfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkg
eworICAgIGRhdGUuc2V0VVRDRGF0ZShkYXRlLmdldFVUQ0RhdGUoKSArIHN0ZXAgKiA3KTsKKyAg
fSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICAgIHJldHVybiAoZW5kIC0gc3RhcnQpIC8gZHVy
YXRpb25XZWVrOworICB9KTsKK30KKwordmFyIHV0Y1N1bmRheSA9IHV0Y1dlZWtkYXkoMCk7Cit2
YXIgdXRjTW9uZGF5ID0gdXRjV2Vla2RheSgxKTsKK3ZhciB1dGNUdWVzZGF5ID0gdXRjV2Vla2Rh
eSgyKTsKK3ZhciB1dGNXZWRuZXNkYXkgPSB1dGNXZWVrZGF5KDMpOwordmFyIHV0Y1RodXJzZGF5
ID0gdXRjV2Vla2RheSg0KTsKK3ZhciB1dGNGcmlkYXkgPSB1dGNXZWVrZGF5KDUpOwordmFyIHV0
Y1NhdHVyZGF5ID0gdXRjV2Vla2RheSg2KTsKKwordmFyIHV0Y1N1bmRheXMgPSB1dGNTdW5kYXku
cmFuZ2U7Cit2YXIgdXRjTW9uZGF5cyA9IHV0Y01vbmRheS5yYW5nZTsKK3ZhciB1dGNUdWVzZGF5
cyA9IHV0Y1R1ZXNkYXkucmFuZ2U7Cit2YXIgdXRjV2VkbmVzZGF5cyA9IHV0Y1dlZG5lc2RheS5y
YW5nZTsKK3ZhciB1dGNUaHVyc2RheXMgPSB1dGNUaHVyc2RheS5yYW5nZTsKK3ZhciB1dGNGcmlk
YXlzID0gdXRjRnJpZGF5LnJhbmdlOwordmFyIHV0Y1NhdHVyZGF5cyA9IHV0Y1NhdHVyZGF5LnJh
bmdlOworCit2YXIgdXRjTW9udGggPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgIGRh
dGUuc2V0VVRDRGF0ZSgxKTsKKyAgZGF0ZS5zZXRVVENIb3VycygwLCAwLCAwLCAwKTsKK30sIGZ1
bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRVVENNb250aChkYXRlLmdldFVUQ01vbnRo
KCkgKyBzdGVwKTsKK30sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIGVuZC5nZXRV
VENNb250aCgpIC0gc3RhcnQuZ2V0VVRDTW9udGgoKSArIChlbmQuZ2V0VVRDRnVsbFllYXIoKSAt
IHN0YXJ0LmdldFVUQ0Z1bGxZZWFyKCkpICogMTI7Cit9LCBmdW5jdGlvbihkYXRlKSB7CisgIHJl
dHVybiBkYXRlLmdldFVUQ01vbnRoKCk7Cit9KTsKK3ZhciB1dGNNb250aHMgPSB1dGNNb250aC5y
YW5nZTsKKwordmFyIHV0Y1llYXIgPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgIGRh
dGUuc2V0VVRDTW9udGgoMCwgMSk7CisgIGRhdGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7Cit9
LCBmdW5jdGlvbihkYXRlLCBzdGVwKSB7CisgIGRhdGUuc2V0VVRDRnVsbFllYXIoZGF0ZS5nZXRV
VENGdWxsWWVhcigpICsgc3RlcCk7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVy
biBlbmQuZ2V0VVRDRnVsbFllYXIoKSAtIHN0YXJ0LmdldFVUQ0Z1bGxZZWFyKCk7Cit9LCBmdW5j
dGlvbihkYXRlKSB7CisgIHJldHVybiBkYXRlLmdldFVUQ0Z1bGxZZWFyKCk7Cit9KTsKKworLy8g
QW4gb3B0aW1pemVkIGltcGxlbWVudGF0aW9uIGZvciB0aGlzIHNpbXBsZSBjYXNlLgordXRjWWVh
ci5ldmVyeSA9IGZ1bmN0aW9uKGspIHsKKyAgcmV0dXJuICFpc0Zpbml0ZShrID0gTWF0aC5mbG9v
cihrKSkgfHwgIShrID4gMCkgPyBudWxsIDogbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgewor
ICAgIGRhdGUuc2V0VVRDRnVsbFllYXIoTWF0aC5mbG9vcihkYXRlLmdldFVUQ0Z1bGxZZWFyKCkg
LyBrKSAqIGspOworICAgIGRhdGUuc2V0VVRDTW9udGgoMCwgMSk7CisgICAgZGF0ZS5zZXRVVENI
b3VycygwLCAwLCAwLCAwKTsKKyAgfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICAgIGRhdGUu
c2V0VVRDRnVsbFllYXIoZGF0ZS5nZXRVVENGdWxsWWVhcigpICsgc3RlcCAqIGspOworICB9KTsK
K307Cit2YXIgdXRjWWVhcnMgPSB1dGNZZWFyLnJhbmdlOworCitmdW5jdGlvbiBsb2NhbERhdGUo
ZCkgeworICBpZiAoMCA8PSBkLnkgJiYgZC55IDwgMTAwKSB7CisgICAgdmFyIGRhdGUgPSBuZXcg
RGF0ZSgtMSwgZC5tLCBkLmQsIGQuSCwgZC5NLCBkLlMsIGQuTCk7CisgICAgZGF0ZS5zZXRGdWxs
WWVhcihkLnkpOworICAgIHJldHVybiBkYXRlOworICB9CisgIHJldHVybiBuZXcgRGF0ZShkLnks
IGQubSwgZC5kLCBkLkgsIGQuTSwgZC5TLCBkLkwpOworfQorCitmdW5jdGlvbiB1dGNEYXRlKGQp
IHsKKyAgaWYgKDAgPD0gZC55ICYmIGQueSA8IDEwMCkgeworICAgIHZhciBkYXRlID0gbmV3IERh
dGUoRGF0ZS5VVEMoLTEsIGQubSwgZC5kLCBkLkgsIGQuTSwgZC5TLCBkLkwpKTsKKyAgICBkYXRl
LnNldFVUQ0Z1bGxZZWFyKGQueSk7CisgICAgcmV0dXJuIGRhdGU7CisgIH0KKyAgcmV0dXJuIG5l
dyBEYXRlKERhdGUuVVRDKGQueSwgZC5tLCBkLmQsIGQuSCwgZC5NLCBkLlMsIGQuTCkpOworfQor
CitmdW5jdGlvbiBuZXdEYXRlKHksIG0sIGQpIHsKKyAgcmV0dXJuIHt5OiB5LCBtOiBtLCBkOiBk
LCBIOiAwLCBNOiAwLCBTOiAwLCBMOiAwfTsKK30KKworZnVuY3Rpb24gZm9ybWF0TG9jYWxlJDEo
bG9jYWxlKSB7CisgIHZhciBsb2NhbGVfZGF0ZVRpbWUgPSBsb2NhbGUuZGF0ZVRpbWUsCisgICAg
ICBsb2NhbGVfZGF0ZSA9IGxvY2FsZS5kYXRlLAorICAgICAgbG9jYWxlX3RpbWUgPSBsb2NhbGUu
dGltZSwKKyAgICAgIGxvY2FsZV9wZXJpb2RzID0gbG9jYWxlLnBlcmlvZHMsCisgICAgICBsb2Nh
bGVfd2Vla2RheXMgPSBsb2NhbGUuZGF5cywKKyAgICAgIGxvY2FsZV9zaG9ydFdlZWtkYXlzID0g
bG9jYWxlLnNob3J0RGF5cywKKyAgICAgIGxvY2FsZV9tb250aHMgPSBsb2NhbGUubW9udGhzLAor
ICAgICAgbG9jYWxlX3Nob3J0TW9udGhzID0gbG9jYWxlLnNob3J0TW9udGhzOworCisgIHZhciBw
ZXJpb2RSZSA9IGZvcm1hdFJlKGxvY2FsZV9wZXJpb2RzKSwKKyAgICAgIHBlcmlvZExvb2t1cCA9
IGZvcm1hdExvb2t1cChsb2NhbGVfcGVyaW9kcyksCisgICAgICB3ZWVrZGF5UmUgPSBmb3JtYXRS
ZShsb2NhbGVfd2Vla2RheXMpLAorICAgICAgd2Vla2RheUxvb2t1cCA9IGZvcm1hdExvb2t1cChs
b2NhbGVfd2Vla2RheXMpLAorICAgICAgc2hvcnRXZWVrZGF5UmUgPSBmb3JtYXRSZShsb2NhbGVf
c2hvcnRXZWVrZGF5cyksCisgICAgICBzaG9ydFdlZWtkYXlMb29rdXAgPSBmb3JtYXRMb29rdXAo
bG9jYWxlX3Nob3J0V2Vla2RheXMpLAorICAgICAgbW9udGhSZSA9IGZvcm1hdFJlKGxvY2FsZV9t
b250aHMpLAorICAgICAgbW9udGhMb29rdXAgPSBmb3JtYXRMb29rdXAobG9jYWxlX21vbnRocyks
CisgICAgICBzaG9ydE1vbnRoUmUgPSBmb3JtYXRSZShsb2NhbGVfc2hvcnRNb250aHMpLAorICAg
ICAgc2hvcnRNb250aExvb2t1cCA9IGZvcm1hdExvb2t1cChsb2NhbGVfc2hvcnRNb250aHMpOwor
CisgIHZhciBmb3JtYXRzID0geworICAgICJhIjogZm9ybWF0U2hvcnRXZWVrZGF5LAorICAgICJB
IjogZm9ybWF0V2Vla2RheSwKKyAgICAiYiI6IGZvcm1hdFNob3J0TW9udGgsCisgICAgIkIiOiBm
b3JtYXRNb250aCwKKyAgICAiYyI6IG51bGwsCisgICAgImQiOiBmb3JtYXREYXlPZk1vbnRoLAor
ICAgICJlIjogZm9ybWF0RGF5T2ZNb250aCwKKyAgICAiZiI6IGZvcm1hdE1pY3Jvc2Vjb25kcywK
KyAgICAiSCI6IGZvcm1hdEhvdXIyNCwKKyAgICAiSSI6IGZvcm1hdEhvdXIxMiwKKyAgICAiaiI6
IGZvcm1hdERheU9mWWVhciwKKyAgICAiTCI6IGZvcm1hdE1pbGxpc2Vjb25kcywKKyAgICAibSI6
IGZvcm1hdE1vbnRoTnVtYmVyLAorICAgICJNIjogZm9ybWF0TWludXRlcywKKyAgICAicCI6IGZv
cm1hdFBlcmlvZCwKKyAgICAicSI6IGZvcm1hdFF1YXJ0ZXIsCisgICAgIlEiOiBmb3JtYXRVbml4
VGltZXN0YW1wLAorICAgICJzIjogZm9ybWF0VW5peFRpbWVzdGFtcFNlY29uZHMsCisgICAgIlMi
OiBmb3JtYXRTZWNvbmRzLAorICAgICJ1IjogZm9ybWF0V2Vla2RheU51bWJlck1vbmRheSwKKyAg
ICAiVSI6IGZvcm1hdFdlZWtOdW1iZXJTdW5kYXksCisgICAgIlYiOiBmb3JtYXRXZWVrTnVtYmVy
SVNPLAorICAgICJ3IjogZm9ybWF0V2Vla2RheU51bWJlclN1bmRheSwKKyAgICAiVyI6IGZvcm1h
dFdlZWtOdW1iZXJNb25kYXksCisgICAgIngiOiBudWxsLAorICAgICJYIjogbnVsbCwKKyAgICAi
eSI6IGZvcm1hdFllYXIkMSwKKyAgICAiWSI6IGZvcm1hdEZ1bGxZZWFyLAorICAgICJaIjogZm9y
bWF0Wm9uZSwKKyAgICAiJSI6IGZvcm1hdExpdGVyYWxQZXJjZW50CisgIH07CisKKyAgdmFyIHV0
Y0Zvcm1hdHMgPSB7CisgICAgImEiOiBmb3JtYXRVVENTaG9ydFdlZWtkYXksCisgICAgIkEiOiBm
b3JtYXRVVENXZWVrZGF5LAorICAgICJiIjogZm9ybWF0VVRDU2hvcnRNb250aCwKKyAgICAiQiI6
IGZvcm1hdFVUQ01vbnRoLAorICAgICJjIjogbnVsbCwKKyAgICAiZCI6IGZvcm1hdFVUQ0RheU9m
TW9udGgsCisgICAgImUiOiBmb3JtYXRVVENEYXlPZk1vbnRoLAorICAgICJmIjogZm9ybWF0VVRD
TWljcm9zZWNvbmRzLAorICAgICJIIjogZm9ybWF0VVRDSG91cjI0LAorICAgICJJIjogZm9ybWF0
VVRDSG91cjEyLAorICAgICJqIjogZm9ybWF0VVRDRGF5T2ZZZWFyLAorICAgICJMIjogZm9ybWF0
VVRDTWlsbGlzZWNvbmRzLAorICAgICJtIjogZm9ybWF0VVRDTW9udGhOdW1iZXIsCisgICAgIk0i
OiBmb3JtYXRVVENNaW51dGVzLAorICAgICJwIjogZm9ybWF0VVRDUGVyaW9kLAorICAgICJxIjog
Zm9ybWF0VVRDUXVhcnRlciwKKyAgICAiUSI6IGZvcm1hdFVuaXhUaW1lc3RhbXAsCisgICAgInMi
OiBmb3JtYXRVbml4VGltZXN0YW1wU2Vjb25kcywKKyAgICAiUyI6IGZvcm1hdFVUQ1NlY29uZHMs
CisgICAgInUiOiBmb3JtYXRVVENXZWVrZGF5TnVtYmVyTW9uZGF5LAorICAgICJVIjogZm9ybWF0
VVRDV2Vla051bWJlclN1bmRheSwKKyAgICAiViI6IGZvcm1hdFVUQ1dlZWtOdW1iZXJJU08sCisg
ICAgInciOiBmb3JtYXRVVENXZWVrZGF5TnVtYmVyU3VuZGF5LAorICAgICJXIjogZm9ybWF0VVRD
V2Vla051bWJlck1vbmRheSwKKyAgICAieCI6IG51bGwsCisgICAgIlgiOiBudWxsLAorICAgICJ5
IjogZm9ybWF0VVRDWWVhciwKKyAgICAiWSI6IGZvcm1hdFVUQ0Z1bGxZZWFyLAorICAgICJaIjog
Zm9ybWF0VVRDWm9uZSwKKyAgICAiJSI6IGZvcm1hdExpdGVyYWxQZXJjZW50CisgIH07CisKKyAg
dmFyIHBhcnNlcyA9IHsKKyAgICAiYSI6IHBhcnNlU2hvcnRXZWVrZGF5LAorICAgICJBIjogcGFy
c2VXZWVrZGF5LAorICAgICJiIjogcGFyc2VTaG9ydE1vbnRoLAorICAgICJCIjogcGFyc2VNb250
aCwKKyAgICAiYyI6IHBhcnNlTG9jYWxlRGF0ZVRpbWUsCisgICAgImQiOiBwYXJzZURheU9mTW9u
dGgsCisgICAgImUiOiBwYXJzZURheU9mTW9udGgsCisgICAgImYiOiBwYXJzZU1pY3Jvc2Vjb25k
cywKKyAgICAiSCI6IHBhcnNlSG91cjI0LAorICAgICJJIjogcGFyc2VIb3VyMjQsCisgICAgImoi
OiBwYXJzZURheU9mWWVhciwKKyAgICAiTCI6IHBhcnNlTWlsbGlzZWNvbmRzLAorICAgICJtIjog
cGFyc2VNb250aE51bWJlciwKKyAgICAiTSI6IHBhcnNlTWludXRlcywKKyAgICAicCI6IHBhcnNl
UGVyaW9kLAorICAgICJxIjogcGFyc2VRdWFydGVyLAorICAgICJRIjogcGFyc2VVbml4VGltZXN0
YW1wLAorICAgICJzIjogcGFyc2VVbml4VGltZXN0YW1wU2Vjb25kcywKKyAgICAiUyI6IHBhcnNl
U2Vjb25kcywKKyAgICAidSI6IHBhcnNlV2Vla2RheU51bWJlck1vbmRheSwKKyAgICAiVSI6IHBh
cnNlV2Vla051bWJlclN1bmRheSwKKyAgICAiViI6IHBhcnNlV2Vla051bWJlcklTTywKKyAgICAi
dyI6IHBhcnNlV2Vla2RheU51bWJlclN1bmRheSwKKyAgICAiVyI6IHBhcnNlV2Vla051bWJlck1v
bmRheSwKKyAgICAieCI6IHBhcnNlTG9jYWxlRGF0ZSwKKyAgICAiWCI6IHBhcnNlTG9jYWxlVGlt
ZSwKKyAgICAieSI6IHBhcnNlWWVhciwKKyAgICAiWSI6IHBhcnNlRnVsbFllYXIsCisgICAgIloi
OiBwYXJzZVpvbmUsCisgICAgIiUiOiBwYXJzZUxpdGVyYWxQZXJjZW50CisgIH07CisKKyAgLy8g
VGhlc2UgcmVjdXJzaXZlIGRpcmVjdGl2ZSBkZWZpbml0aW9ucyBtdXN0IGJlIGRlZmVycmVkLgor
ICBmb3JtYXRzLnggPSBuZXdGb3JtYXQobG9jYWxlX2RhdGUsIGZvcm1hdHMpOworICBmb3JtYXRz
LlggPSBuZXdGb3JtYXQobG9jYWxlX3RpbWUsIGZvcm1hdHMpOworICBmb3JtYXRzLmMgPSBuZXdG
b3JtYXQobG9jYWxlX2RhdGVUaW1lLCBmb3JtYXRzKTsKKyAgdXRjRm9ybWF0cy54ID0gbmV3Rm9y
bWF0KGxvY2FsZV9kYXRlLCB1dGNGb3JtYXRzKTsKKyAgdXRjRm9ybWF0cy5YID0gbmV3Rm9ybWF0
KGxvY2FsZV90aW1lLCB1dGNGb3JtYXRzKTsKKyAgdXRjRm9ybWF0cy5jID0gbmV3Rm9ybWF0KGxv
Y2FsZV9kYXRlVGltZSwgdXRjRm9ybWF0cyk7CisKKyAgZnVuY3Rpb24gbmV3Rm9ybWF0KHNwZWNp
ZmllciwgZm9ybWF0cykgeworICAgIHJldHVybiBmdW5jdGlvbihkYXRlKSB7CisgICAgICB2YXIg
c3RyaW5nID0gW10sCisgICAgICAgICAgaSA9IC0xLAorICAgICAgICAgIGogPSAwLAorICAgICAg
ICAgIG4gPSBzcGVjaWZpZXIubGVuZ3RoLAorICAgICAgICAgIGMsCisgICAgICAgICAgcGFkLAor
ICAgICAgICAgIGZvcm1hdDsKKworICAgICAgaWYgKCEoZGF0ZSBpbnN0YW5jZW9mIERhdGUpKSBk
YXRlID0gbmV3IERhdGUoK2RhdGUpOworCisgICAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAg
ICBpZiAoc3BlY2lmaWVyLmNoYXJDb2RlQXQoaSkgPT09IDM3KSB7CisgICAgICAgICAgc3RyaW5n
LnB1c2goc3BlY2lmaWVyLnNsaWNlKGosIGkpKTsKKyAgICAgICAgICBpZiAoKHBhZCA9IHBhZHNb
YyA9IHNwZWNpZmllci5jaGFyQXQoKytpKV0pICE9IG51bGwpIGMgPSBzcGVjaWZpZXIuY2hhckF0
KCsraSk7CisgICAgICAgICAgZWxzZSBwYWQgPSBjID09PSAiZSIgPyAiICIgOiAiMCI7CisgICAg
ICAgICAgaWYgKGZvcm1hdCA9IGZvcm1hdHNbY10pIGMgPSBmb3JtYXQoZGF0ZSwgcGFkKTsKKyAg
ICAgICAgICBzdHJpbmcucHVzaChjKTsKKyAgICAgICAgICBqID0gaSArIDE7CisgICAgICAgIH0K
KyAgICAgIH0KKworICAgICAgc3RyaW5nLnB1c2goc3BlY2lmaWVyLnNsaWNlKGosIGkpKTsKKyAg
ICAgIHJldHVybiBzdHJpbmcuam9pbigiIik7CisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIG5l
d1BhcnNlKHNwZWNpZmllciwgWikgeworICAgIHJldHVybiBmdW5jdGlvbihzdHJpbmcpIHsKKyAg
ICAgIHZhciBkID0gbmV3RGF0ZSgxOTAwLCB1bmRlZmluZWQsIDEpLAorICAgICAgICAgIGkgPSBw
YXJzZVNwZWNpZmllcihkLCBzcGVjaWZpZXIsIHN0cmluZyArPSAiIiwgMCksCisgICAgICAgICAg
d2VlaywgZGF5JDE7CisgICAgICBpZiAoaSAhPSBzdHJpbmcubGVuZ3RoKSByZXR1cm4gbnVsbDsK
KworICAgICAgLy8gSWYgYSBVTklYIHRpbWVzdGFtcCBpcyBzcGVjaWZpZWQsIHJldHVybiBpdC4K
KyAgICAgIGlmICgiUSIgaW4gZCkgcmV0dXJuIG5ldyBEYXRlKGQuUSk7CisgICAgICBpZiAoInMi
IGluIGQpIHJldHVybiBuZXcgRGF0ZShkLnMgKiAxMDAwICsgKCJMIiBpbiBkID8gZC5MIDogMCkp
OworCisgICAgICAvLyBJZiB0aGlzIGlzIHV0Y1BhcnNlLCBuZXZlciB1c2UgdGhlIGxvY2FsIHRp
bWV6b25lLgorICAgICAgaWYgKFogJiYgISgiWiIgaW4gZCkpIGQuWiA9IDA7CisKKyAgICAgIC8v
IFRoZSBhbS1wbSBmbGFnIGlzIDAgZm9yIEFNLCBhbmQgMSBmb3IgUE0uCisgICAgICBpZiAoInAi
IGluIGQpIGQuSCA9IGQuSCAlIDEyICsgZC5wICogMTI7CisKKyAgICAgIC8vIElmIHRoZSBtb250
aCB3YXMgbm90IHNwZWNpZmllZCwgaW5oZXJpdCBmcm9tIHRoZSBxdWFydGVyLgorICAgICAgaWYg
KGQubSA9PT0gdW5kZWZpbmVkKSBkLm0gPSAicSIgaW4gZCA/IGQucSA6IDA7CisKKyAgICAgIC8v
IENvbnZlcnQgZGF5LW9mLXdlZWsgYW5kIHdlZWstb2YteWVhciB0byBkYXktb2YteWVhci4KKyAg
ICAgIGlmICgiViIgaW4gZCkgeworICAgICAgICBpZiAoZC5WIDwgMSB8fCBkLlYgPiA1MykgcmV0
dXJuIG51bGw7CisgICAgICAgIGlmICghKCJ3IiBpbiBkKSkgZC53ID0gMTsKKyAgICAgICAgaWYg
KCJaIiBpbiBkKSB7CisgICAgICAgICAgd2VlayA9IHV0Y0RhdGUobmV3RGF0ZShkLnksIDAsIDEp
KSwgZGF5JDEgPSB3ZWVrLmdldFVUQ0RheSgpOworICAgICAgICAgIHdlZWsgPSBkYXkkMSA+IDQg
fHwgZGF5JDEgPT09IDAgPyB1dGNNb25kYXkuY2VpbCh3ZWVrKSA6IHV0Y01vbmRheSh3ZWVrKTsK
KyAgICAgICAgICB3ZWVrID0gdXRjRGF5Lm9mZnNldCh3ZWVrLCAoZC5WIC0gMSkgKiA3KTsKKyAg
ICAgICAgICBkLnkgPSB3ZWVrLmdldFVUQ0Z1bGxZZWFyKCk7CisgICAgICAgICAgZC5tID0gd2Vl
ay5nZXRVVENNb250aCgpOworICAgICAgICAgIGQuZCA9IHdlZWsuZ2V0VVRDRGF0ZSgpICsgKGQu
dyArIDYpICUgNzsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICB3ZWVrID0gbG9jYWxEYXRl
KG5ld0RhdGUoZC55LCAwLCAxKSksIGRheSQxID0gd2Vlay5nZXREYXkoKTsKKyAgICAgICAgICB3
ZWVrID0gZGF5JDEgPiA0IHx8IGRheSQxID09PSAwID8gbW9uZGF5LmNlaWwod2VlaykgOiBtb25k
YXkod2Vlayk7CisgICAgICAgICAgd2VlayA9IGRheS5vZmZzZXQod2VlaywgKGQuViAtIDEpICog
Nyk7CisgICAgICAgICAgZC55ID0gd2Vlay5nZXRGdWxsWWVhcigpOworICAgICAgICAgIGQubSA9
IHdlZWsuZ2V0TW9udGgoKTsKKyAgICAgICAgICBkLmQgPSB3ZWVrLmdldERhdGUoKSArIChkLncg
KyA2KSAlIDc7CisgICAgICAgIH0KKyAgICAgIH0gZWxzZSBpZiAoIlciIGluIGQgfHwgIlUiIGlu
IGQpIHsKKyAgICAgICAgaWYgKCEoInciIGluIGQpKSBkLncgPSAidSIgaW4gZCA/IGQudSAlIDcg
OiAiVyIgaW4gZCA/IDEgOiAwOworICAgICAgICBkYXkkMSA9ICJaIiBpbiBkID8gdXRjRGF0ZShu
ZXdEYXRlKGQueSwgMCwgMSkpLmdldFVUQ0RheSgpIDogbG9jYWxEYXRlKG5ld0RhdGUoZC55LCAw
LCAxKSkuZ2V0RGF5KCk7CisgICAgICAgIGQubSA9IDA7CisgICAgICAgIGQuZCA9ICJXIiBpbiBk
ID8gKGQudyArIDYpICUgNyArIGQuVyAqIDcgLSAoZGF5JDEgKyA1KSAlIDcgOiBkLncgKyBkLlUg
KiA3IC0gKGRheSQxICsgNikgJSA3OworICAgICAgfQorCisgICAgICAvLyBJZiBhIHRpbWUgem9u
ZSBpcyBzcGVjaWZpZWQsIGFsbCBmaWVsZHMgYXJlIGludGVycHJldGVkIGFzIFVUQyBhbmQgdGhl
bgorICAgICAgLy8gb2Zmc2V0IGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkIHRpbWUgem9uZS4K
KyAgICAgIGlmICgiWiIgaW4gZCkgeworICAgICAgICBkLkggKz0gZC5aIC8gMTAwIHwgMDsKKyAg
ICAgICAgZC5NICs9IGQuWiAlIDEwMDsKKyAgICAgICAgcmV0dXJuIHV0Y0RhdGUoZCk7CisgICAg
ICB9CisKKyAgICAgIC8vIE90aGVyd2lzZSwgYWxsIGZpZWxkcyBhcmUgaW4gbG9jYWwgdGltZS4K
KyAgICAgIHJldHVybiBsb2NhbERhdGUoZCk7CisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIHBh
cnNlU3BlY2lmaWVyKGQsIHNwZWNpZmllciwgc3RyaW5nLCBqKSB7CisgICAgdmFyIGkgPSAwLAor
ICAgICAgICBuID0gc3BlY2lmaWVyLmxlbmd0aCwKKyAgICAgICAgbSA9IHN0cmluZy5sZW5ndGgs
CisgICAgICAgIGMsCisgICAgICAgIHBhcnNlOworCisgICAgd2hpbGUgKGkgPCBuKSB7CisgICAg
ICBpZiAoaiA+PSBtKSByZXR1cm4gLTE7CisgICAgICBjID0gc3BlY2lmaWVyLmNoYXJDb2RlQXQo
aSsrKTsKKyAgICAgIGlmIChjID09PSAzNykgeworICAgICAgICBjID0gc3BlY2lmaWVyLmNoYXJB
dChpKyspOworICAgICAgICBwYXJzZSA9IHBhcnNlc1tjIGluIHBhZHMgPyBzcGVjaWZpZXIuY2hh
ckF0KGkrKykgOiBjXTsKKyAgICAgICAgaWYgKCFwYXJzZSB8fCAoKGogPSBwYXJzZShkLCBzdHJp
bmcsIGopKSA8IDApKSByZXR1cm4gLTE7CisgICAgICB9IGVsc2UgaWYgKGMgIT0gc3RyaW5nLmNo
YXJDb2RlQXQoaisrKSkgeworICAgICAgICByZXR1cm4gLTE7CisgICAgICB9CisgICAgfQorCisg
ICAgcmV0dXJuIGo7CisgIH0KKworICBmdW5jdGlvbiBwYXJzZVBlcmlvZChkLCBzdHJpbmcsIGkp
IHsKKyAgICB2YXIgbiA9IHBlcmlvZFJlLmV4ZWMoc3RyaW5nLnNsaWNlKGkpKTsKKyAgICByZXR1
cm4gbiA/IChkLnAgPSBwZXJpb2RMb29rdXBbblswXS50b0xvd2VyQ2FzZSgpXSwgaSArIG5bMF0u
bGVuZ3RoKSA6IC0xOworICB9CisKKyAgZnVuY3Rpb24gcGFyc2VTaG9ydFdlZWtkYXkoZCwgc3Ry
aW5nLCBpKSB7CisgICAgdmFyIG4gPSBzaG9ydFdlZWtkYXlSZS5leGVjKHN0cmluZy5zbGljZShp
KSk7CisgICAgcmV0dXJuIG4gPyAoZC53ID0gc2hvcnRXZWVrZGF5TG9va3VwW25bMF0udG9Mb3dl
ckNhc2UoKV0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKKyAgfQorCisgIGZ1bmN0aW9uIHBhcnNl
V2Vla2RheShkLCBzdHJpbmcsIGkpIHsKKyAgICB2YXIgbiA9IHdlZWtkYXlSZS5leGVjKHN0cmlu
Zy5zbGljZShpKSk7CisgICAgcmV0dXJuIG4gPyAoZC53ID0gd2Vla2RheUxvb2t1cFtuWzBdLnRv
TG93ZXJDYXNlKCldLCBpICsgblswXS5sZW5ndGgpIDogLTE7CisgIH0KKworICBmdW5jdGlvbiBw
YXJzZVNob3J0TW9udGgoZCwgc3RyaW5nLCBpKSB7CisgICAgdmFyIG4gPSBzaG9ydE1vbnRoUmUu
ZXhlYyhzdHJpbmcuc2xpY2UoaSkpOworICAgIHJldHVybiBuID8gKGQubSA9IHNob3J0TW9udGhM
b29rdXBbblswXS50b0xvd2VyQ2FzZSgpXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworICB9CisK
KyAgZnVuY3Rpb24gcGFyc2VNb250aChkLCBzdHJpbmcsIGkpIHsKKyAgICB2YXIgbiA9IG1vbnRo
UmUuZXhlYyhzdHJpbmcuc2xpY2UoaSkpOworICAgIHJldHVybiBuID8gKGQubSA9IG1vbnRoTG9v
a3VwW25bMF0udG9Mb3dlckNhc2UoKV0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKKyAgfQorCisg
IGZ1bmN0aW9uIHBhcnNlTG9jYWxlRGF0ZVRpbWUoZCwgc3RyaW5nLCBpKSB7CisgICAgcmV0dXJu
IHBhcnNlU3BlY2lmaWVyKGQsIGxvY2FsZV9kYXRlVGltZSwgc3RyaW5nLCBpKTsKKyAgfQorCisg
IGZ1bmN0aW9uIHBhcnNlTG9jYWxlRGF0ZShkLCBzdHJpbmcsIGkpIHsKKyAgICByZXR1cm4gcGFy
c2VTcGVjaWZpZXIoZCwgbG9jYWxlX2RhdGUsIHN0cmluZywgaSk7CisgIH0KKworICBmdW5jdGlv
biBwYXJzZUxvY2FsZVRpbWUoZCwgc3RyaW5nLCBpKSB7CisgICAgcmV0dXJuIHBhcnNlU3BlY2lm
aWVyKGQsIGxvY2FsZV90aW1lLCBzdHJpbmcsIGkpOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0
U2hvcnRXZWVrZGF5KGQpIHsKKyAgICByZXR1cm4gbG9jYWxlX3Nob3J0V2Vla2RheXNbZC5nZXRE
YXkoKV07CisgIH0KKworICBmdW5jdGlvbiBmb3JtYXRXZWVrZGF5KGQpIHsKKyAgICByZXR1cm4g
bG9jYWxlX3dlZWtkYXlzW2QuZ2V0RGF5KCldOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0U2hv
cnRNb250aChkKSB7CisgICAgcmV0dXJuIGxvY2FsZV9zaG9ydE1vbnRoc1tkLmdldE1vbnRoKCld
OworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0TW9udGgoZCkgeworICAgIHJldHVybiBsb2NhbGVf
bW9udGhzW2QuZ2V0TW9udGgoKV07CisgIH0KKworICBmdW5jdGlvbiBmb3JtYXRQZXJpb2QoZCkg
eworICAgIHJldHVybiBsb2NhbGVfcGVyaW9kc1srKGQuZ2V0SG91cnMoKSA+PSAxMildOworICB9
CisKKyAgZnVuY3Rpb24gZm9ybWF0UXVhcnRlcihkKSB7CisgICAgcmV0dXJuIDEgKyB+fihkLmdl
dE1vbnRoKCkgLyAzKTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFVUQ1Nob3J0V2Vla2RheShk
KSB7CisgICAgcmV0dXJuIGxvY2FsZV9zaG9ydFdlZWtkYXlzW2QuZ2V0VVRDRGF5KCldOworICB9
CisKKyAgZnVuY3Rpb24gZm9ybWF0VVRDV2Vla2RheShkKSB7CisgICAgcmV0dXJuIGxvY2FsZV93
ZWVrZGF5c1tkLmdldFVUQ0RheSgpXTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFVUQ1Nob3J0
TW9udGgoZCkgeworICAgIHJldHVybiBsb2NhbGVfc2hvcnRNb250aHNbZC5nZXRVVENNb250aCgp
XTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFVUQ01vbnRoKGQpIHsKKyAgICByZXR1cm4gbG9j
YWxlX21vbnRoc1tkLmdldFVUQ01vbnRoKCldOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0VVRD
UGVyaW9kKGQpIHsKKyAgICByZXR1cm4gbG9jYWxlX3BlcmlvZHNbKyhkLmdldFVUQ0hvdXJzKCkg
Pj0gMTIpXTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFVUQ1F1YXJ0ZXIoZCkgeworICAgIHJl
dHVybiAxICsgfn4oZC5nZXRVVENNb250aCgpIC8gMyk7CisgIH0KKworICByZXR1cm4geworICAg
IGZvcm1hdDogZnVuY3Rpb24oc3BlY2lmaWVyKSB7CisgICAgICB2YXIgZiA9IG5ld0Zvcm1hdChz
cGVjaWZpZXIgKz0gIiIsIGZvcm1hdHMpOworICAgICAgZi50b1N0cmluZyA9IGZ1bmN0aW9uKCkg
eyByZXR1cm4gc3BlY2lmaWVyOyB9OworICAgICAgcmV0dXJuIGY7CisgICAgfSwKKyAgICBwYXJz
ZTogZnVuY3Rpb24oc3BlY2lmaWVyKSB7CisgICAgICB2YXIgcCA9IG5ld1BhcnNlKHNwZWNpZmll
ciArPSAiIiwgZmFsc2UpOworICAgICAgcC50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4g
c3BlY2lmaWVyOyB9OworICAgICAgcmV0dXJuIHA7CisgICAgfSwKKyAgICB1dGNGb3JtYXQ6IGZ1
bmN0aW9uKHNwZWNpZmllcikgeworICAgICAgdmFyIGYgPSBuZXdGb3JtYXQoc3BlY2lmaWVyICs9
ICIiLCB1dGNGb3JtYXRzKTsKKyAgICAgIGYudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJu
IHNwZWNpZmllcjsgfTsKKyAgICAgIHJldHVybiBmOworICAgIH0sCisgICAgdXRjUGFyc2U6IGZ1
bmN0aW9uKHNwZWNpZmllcikgeworICAgICAgdmFyIHAgPSBuZXdQYXJzZShzcGVjaWZpZXIgKz0g
IiIsIHRydWUpOworICAgICAgcC50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gc3BlY2lm
aWVyOyB9OworICAgICAgcmV0dXJuIHA7CisgICAgfQorICB9OworfQorCit2YXIgcGFkcyA9IHsi
LSI6ICIiLCAiXyI6ICIgIiwgIjAiOiAiMCJ9LAorICAgIG51bWJlclJlID0gL15ccypcZCsvLCAv
LyBub3RlOiBpZ25vcmVzIG5leHQgZGlyZWN0aXZlCisgICAgcGVyY2VudFJlID0gL14lLywKKyAg
ICByZXF1b3RlUmUgPSAvW1xcXiQqKz98W1xdKCkue31dL2c7CisKK2Z1bmN0aW9uIHBhZCQxKHZh
bHVlLCBmaWxsLCB3aWR0aCkgeworICB2YXIgc2lnbiA9IHZhbHVlIDwgMCA/ICItIiA6ICIiLAor
ICAgICAgc3RyaW5nID0gKHNpZ24gPyAtdmFsdWUgOiB2YWx1ZSkgKyAiIiwKKyAgICAgIGxlbmd0
aCA9IHN0cmluZy5sZW5ndGg7CisgIHJldHVybiBzaWduICsgKGxlbmd0aCA8IHdpZHRoID8gbmV3
IEFycmF5KHdpZHRoIC0gbGVuZ3RoICsgMSkuam9pbihmaWxsKSArIHN0cmluZyA6IHN0cmluZyk7
Cit9CisKK2Z1bmN0aW9uIHJlcXVvdGUocykgeworICByZXR1cm4gcy5yZXBsYWNlKHJlcXVvdGVS
ZSwgIlxcJCYiKTsKK30KKworZnVuY3Rpb24gZm9ybWF0UmUobmFtZXMpIHsKKyAgcmV0dXJuIG5l
dyBSZWdFeHAoIl4oPzoiICsgbmFtZXMubWFwKHJlcXVvdGUpLmpvaW4oInwiKSArICIpIiwgImki
KTsKK30KKworZnVuY3Rpb24gZm9ybWF0TG9va3VwKG5hbWVzKSB7CisgIHZhciBtYXAgPSB7fSwg
aSA9IC0xLCBuID0gbmFtZXMubGVuZ3RoOworICB3aGlsZSAoKytpIDwgbikgbWFwW25hbWVzW2ld
LnRvTG93ZXJDYXNlKCldID0gaTsKKyAgcmV0dXJuIG1hcDsKK30KKworZnVuY3Rpb24gcGFyc2VX
ZWVrZGF5TnVtYmVyU3VuZGF5KGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJlLmV4
ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAxKSk7CisgIHJldHVybiBuID8gKGQudyA9ICtuWzBdLCBp
ICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlV2Vla2RheU51bWJlck1v
bmRheShkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGlj
ZShpLCBpICsgMSkpOworICByZXR1cm4gbiA/IChkLnUgPSArblswXSwgaSArIG5bMF0ubGVuZ3Ro
KSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZVdlZWtOdW1iZXJTdW5kYXkoZCwgc3RyaW5nLCBp
KSB7CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDIpKTsKKyAg
cmV0dXJuIG4gPyAoZC5VID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVu
Y3Rpb24gcGFyc2VXZWVrTnVtYmVySVNPKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJl
clJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQuViA9ICtu
WzBdLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlV2Vla051bWJl
ck1vbmRheShkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5z
bGljZShpLCBpICsgMikpOworICByZXR1cm4gbiA/IChkLlcgPSArblswXSwgaSArIG5bMF0ubGVu
Z3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZUZ1bGxZZWFyKGQsIHN0cmluZywgaSkgewor
ICB2YXIgbiA9IG51bWJlclJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyA0KSk7CisgIHJldHVy
biBuID8gKGQueSA9ICtuWzBdLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9u
IHBhcnNlWWVhcihkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmlu
Zy5zbGljZShpLCBpICsgMikpOworICByZXR1cm4gbiA/IChkLnkgPSArblswXSArICgrblswXSA+
IDY4ID8gMTkwMCA6IDIwMDApLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9u
IHBhcnNlWm9uZShkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSAvXihaKXwoWystXVxkXGQpKD86
Oj8oXGRcZCkpPy8uZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDYpKTsKKyAgcmV0dXJuIG4gPyAo
ZC5aID0gblsxXSA/IDAgOiAtKG5bMl0gKyAoblszXSB8fCAiMDAiKSksIGkgKyBuWzBdLmxlbmd0
aCkgOiAtMTsKK30KKworZnVuY3Rpb24gcGFyc2VRdWFydGVyKGQsIHN0cmluZywgaSkgeworICB2
YXIgbiA9IG51bWJlclJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAxKSk7CisgIHJldHVybiBu
ID8gKGQucSA9IG5bMF0gKiAzIC0gMywgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5j
dGlvbiBwYXJzZU1vbnRoTnVtYmVyKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJl
LmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQubSA9IG5bMF0g
LSAxLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlRGF5T2ZNb250
aChkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShp
LCBpICsgMikpOworICByZXR1cm4gbiA/IChkLmQgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6
IC0xOworfQorCitmdW5jdGlvbiBwYXJzZURheU9mWWVhcihkLCBzdHJpbmcsIGkpIHsKKyAgdmFy
IG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShpLCBpICsgMykpOworICByZXR1cm4gbiA/
IChkLm0gPSAwLCBkLmQgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5j
dGlvbiBwYXJzZUhvdXIyNChkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVj
KHN0cmluZy5zbGljZShpLCBpICsgMikpOworICByZXR1cm4gbiA/IChkLkggPSArblswXSwgaSAr
IG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZU1pbnV0ZXMoZCwgc3RyaW5n
LCBpKSB7CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDIpKTsK
KyAgcmV0dXJuIG4gPyAoZC5NID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKwor
ZnVuY3Rpb24gcGFyc2VTZWNvbmRzKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJl
LmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQuUyA9ICtuWzBd
LCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlTWlsbGlzZWNvbmRz
KGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJlLmV4ZWMoc3RyaW5nLnNsaWNlKGks
IGkgKyAzKSk7CisgIHJldHVybiBuID8gKGQuTCA9ICtuWzBdLCBpICsgblswXS5sZW5ndGgpIDog
LTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlTWljcm9zZWNvbmRzKGQsIHN0cmluZywgaSkgeworICB2
YXIgbiA9IG51bWJlclJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyA2KSk7CisgIHJldHVybiBu
ID8gKGQuTCA9IE1hdGguZmxvb3IoblswXSAvIDEwMDApLCBpICsgblswXS5sZW5ndGgpIDogLTE7
Cit9CisKK2Z1bmN0aW9uIHBhcnNlTGl0ZXJhbFBlcmNlbnQoZCwgc3RyaW5nLCBpKSB7CisgIHZh
ciBuID0gcGVyY2VudFJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAxKSk7CisgIHJldHVybiBu
ID8gaSArIG5bMF0ubGVuZ3RoIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlVW5peFRpbWVzdGFt
cChkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShp
KSk7CisgIHJldHVybiBuID8gKGQuUSA9ICtuWzBdLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9
CisKK2Z1bmN0aW9uIHBhcnNlVW5peFRpbWVzdGFtcFNlY29uZHMoZCwgc3RyaW5nLCBpKSB7Cisg
IHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSkpOworICByZXR1cm4gbiA/IChk
LnMgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBmb3JtYXRE
YXlPZk1vbnRoKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0RGF0ZSgpLCBwLCAyKTsKK30K
KworZnVuY3Rpb24gZm9ybWF0SG91cjI0KGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0SG91
cnMoKSwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdEhvdXIxMihkLCBwKSB7CisgIHJldHVy
biBwYWQkMShkLmdldEhvdXJzKCkgJSAxMiB8fCAxMiwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZv
cm1hdERheU9mWWVhcihkLCBwKSB7CisgIHJldHVybiBwYWQkMSgxICsgZGF5LmNvdW50KHllYXIo
ZCksIGQpLCBwLCAzKTsKK30KKworZnVuY3Rpb24gZm9ybWF0TWlsbGlzZWNvbmRzKGQsIHApIHsK
KyAgcmV0dXJuIHBhZCQxKGQuZ2V0TWlsbGlzZWNvbmRzKCksIHAsIDMpOworfQorCitmdW5jdGlv
biBmb3JtYXRNaWNyb3NlY29uZHMoZCwgcCkgeworICByZXR1cm4gZm9ybWF0TWlsbGlzZWNvbmRz
KGQsIHApICsgIjAwMCI7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdE1vbnRoTnVtYmVyKGQsIHApIHsK
KyAgcmV0dXJuIHBhZCQxKGQuZ2V0TW9udGgoKSArIDEsIHAsIDIpOworfQorCitmdW5jdGlvbiBm
b3JtYXRNaW51dGVzKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0TWludXRlcygpLCBwLCAy
KTsKK30KKworZnVuY3Rpb24gZm9ybWF0U2Vjb25kcyhkLCBwKSB7CisgIHJldHVybiBwYWQkMShk
LmdldFNlY29uZHMoKSwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFdlZWtkYXlOdW1iZXJN
b25kYXkoZCkgeworICB2YXIgZGF5ID0gZC5nZXREYXkoKTsKKyAgcmV0dXJuIGRheSA9PT0gMCA/
IDcgOiBkYXk7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFdlZWtOdW1iZXJTdW5kYXkoZCwgcCkgewor
ICByZXR1cm4gcGFkJDEoc3VuZGF5LmNvdW50KHllYXIoZCkgLSAxLCBkKSwgcCwgMik7Cit9CisK
K2Z1bmN0aW9uIGZvcm1hdFdlZWtOdW1iZXJJU08oZCwgcCkgeworICB2YXIgZGF5ID0gZC5nZXRE
YXkoKTsKKyAgZCA9IChkYXkgPj0gNCB8fCBkYXkgPT09IDApID8gdGh1cnNkYXkoZCkgOiB0aHVy
c2RheS5jZWlsKGQpOworICByZXR1cm4gcGFkJDEodGh1cnNkYXkuY291bnQoeWVhcihkKSwgZCkg
KyAoeWVhcihkKS5nZXREYXkoKSA9PT0gNCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRX
ZWVrZGF5TnVtYmVyU3VuZGF5KGQpIHsKKyAgcmV0dXJuIGQuZ2V0RGF5KCk7Cit9CisKK2Z1bmN0
aW9uIGZvcm1hdFdlZWtOdW1iZXJNb25kYXkoZCwgcCkgeworICByZXR1cm4gcGFkJDEobW9uZGF5
LmNvdW50KHllYXIoZCkgLSAxLCBkKSwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFllYXIk
MShkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldEZ1bGxZZWFyKCkgJSAxMDAsIHAsIDIpOwor
fQorCitmdW5jdGlvbiBmb3JtYXRGdWxsWWVhcihkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdl
dEZ1bGxZZWFyKCkgJSAxMDAwMCwgcCwgNCk7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFpvbmUoZCkg
eworICB2YXIgeiA9IGQuZ2V0VGltZXpvbmVPZmZzZXQoKTsKKyAgcmV0dXJuICh6ID4gMCA/ICIt
IiA6ICh6ICo9IC0xLCAiKyIpKQorICAgICAgKyBwYWQkMSh6IC8gNjAgfCAwLCAiMCIsIDIpCisg
ICAgICArIHBhZCQxKHogJSA2MCwgIjAiLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDRGF5
T2ZNb250aChkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldFVUQ0RhdGUoKSwgcCwgMik7Cit9
CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ0hvdXIyNChkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdl
dFVUQ0hvdXJzKCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENIb3VyMTIoZCwgcCkg
eworICByZXR1cm4gcGFkJDEoZC5nZXRVVENIb3VycygpICUgMTIgfHwgMTIsIHAsIDIpOworfQor
CitmdW5jdGlvbiBmb3JtYXRVVENEYXlPZlllYXIoZCwgcCkgeworICByZXR1cm4gcGFkJDEoMSAr
IHV0Y0RheS5jb3VudCh1dGNZZWFyKGQpLCBkKSwgcCwgMyk7Cit9CisKK2Z1bmN0aW9uIGZvcm1h
dFVUQ01pbGxpc2Vjb25kcyhkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldFVUQ01pbGxpc2Vj
b25kcygpLCBwLCAzKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDTWljcm9zZWNvbmRzKGQsIHAp
IHsKKyAgcmV0dXJuIGZvcm1hdFVUQ01pbGxpc2Vjb25kcyhkLCBwKSArICIwMDAiOworfQorCitm
dW5jdGlvbiBmb3JtYXRVVENNb250aE51bWJlcihkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdl
dFVUQ01vbnRoKCkgKyAxLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDTWludXRlcyhk
LCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldFVUQ01pbnV0ZXMoKSwgcCwgMik7Cit9CisKK2Z1
bmN0aW9uIGZvcm1hdFVUQ1NlY29uZHMoZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRVVENT
ZWNvbmRzKCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENXZWVrZGF5TnVtYmVyTW9u
ZGF5KGQpIHsKKyAgdmFyIGRvdyA9IGQuZ2V0VVRDRGF5KCk7CisgIHJldHVybiBkb3cgPT09IDAg
PyA3IDogZG93OworfQorCitmdW5jdGlvbiBmb3JtYXRVVENXZWVrTnVtYmVyU3VuZGF5KGQsIHAp
IHsKKyAgcmV0dXJuIHBhZCQxKHV0Y1N1bmRheS5jb3VudCh1dGNZZWFyKGQpIC0gMSwgZCksIHAs
IDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENXZWVrTnVtYmVySVNPKGQsIHApIHsKKyAgdmFy
IGRheSA9IGQuZ2V0VVRDRGF5KCk7CisgIGQgPSAoZGF5ID49IDQgfHwgZGF5ID09PSAwKSA/IHV0
Y1RodXJzZGF5KGQpIDogdXRjVGh1cnNkYXkuY2VpbChkKTsKKyAgcmV0dXJuIHBhZCQxKHV0Y1Ro
dXJzZGF5LmNvdW50KHV0Y1llYXIoZCksIGQpICsgKHV0Y1llYXIoZCkuZ2V0VVRDRGF5KCkgPT09
IDQpLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDV2Vla2RheU51bWJlclN1bmRheShk
KSB7CisgIHJldHVybiBkLmdldFVUQ0RheSgpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENXZWVr
TnVtYmVyTW9uZGF5KGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKHV0Y01vbmRheS5jb3VudCh1dGNZ
ZWFyKGQpIC0gMSwgZCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENZZWFyKGQsIHAp
IHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0VVRDRnVsbFllYXIoKSAlIDEwMCwgcCwgMik7Cit9CisK
K2Z1bmN0aW9uIGZvcm1hdFVUQ0Z1bGxZZWFyKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0
VVRDRnVsbFllYXIoKSAlIDEwMDAwLCBwLCA0KTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDWm9u
ZSgpIHsKKyAgcmV0dXJuICIrMDAwMCI7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdExpdGVyYWxQZXJj
ZW50KCkgeworICByZXR1cm4gIiUiOworfQorCitmdW5jdGlvbiBmb3JtYXRVbml4VGltZXN0YW1w
KGQpIHsKKyAgcmV0dXJuICtkOworfQorCitmdW5jdGlvbiBmb3JtYXRVbml4VGltZXN0YW1wU2Vj
b25kcyhkKSB7CisgIHJldHVybiBNYXRoLmZsb29yKCtkIC8gMTAwMCk7Cit9CisKK3ZhciBsb2Nh
bGUkMTsKKworZGVmYXVsdExvY2FsZSQxKHsKKyAgZGF0ZVRpbWU6ICIleCwgJVgiLAorICBkYXRl
OiAiJS1tLyUtZC8lWSIsCisgIHRpbWU6ICIlLUk6JU06JVMgJXAiLAorICBwZXJpb2RzOiBbIkFN
IiwgIlBNIl0sCisgIGRheXM6IFsiU3VuZGF5IiwgIk1vbmRheSIsICJUdWVzZGF5IiwgIldlZG5l
c2RheSIsICJUaHVyc2RheSIsICJGcmlkYXkiLCAiU2F0dXJkYXkiXSwKKyAgc2hvcnREYXlzOiBb
IlN1biIsICJNb24iLCAiVHVlIiwgIldlZCIsICJUaHUiLCAiRnJpIiwgIlNhdCJdLAorICBtb250
aHM6IFsiSmFudWFyeSIsICJGZWJydWFyeSIsICJNYXJjaCIsICJBcHJpbCIsICJNYXkiLCAiSnVu
ZSIsICJKdWx5IiwgIkF1Z3VzdCIsICJTZXB0ZW1iZXIiLCAiT2N0b2JlciIsICJOb3ZlbWJlciIs
ICJEZWNlbWJlciJdLAorICBzaG9ydE1vbnRoczogWyJKYW4iLCAiRmViIiwgIk1hciIsICJBcHIi
LCAiTWF5IiwgIkp1biIsICJKdWwiLCAiQXVnIiwgIlNlcCIsICJPY3QiLCAiTm92IiwgIkRlYyJd
Cit9KTsKKworZnVuY3Rpb24gZGVmYXVsdExvY2FsZSQxKGRlZmluaXRpb24pIHsKKyAgbG9jYWxl
JDEgPSBmb3JtYXRMb2NhbGUkMShkZWZpbml0aW9uKTsKKyAgZXhwb3J0cy50aW1lRm9ybWF0ID0g
bG9jYWxlJDEuZm9ybWF0OworICBleHBvcnRzLnRpbWVQYXJzZSA9IGxvY2FsZSQxLnBhcnNlOwor
ICBleHBvcnRzLnV0Y0Zvcm1hdCA9IGxvY2FsZSQxLnV0Y0Zvcm1hdDsKKyAgZXhwb3J0cy51dGNQ
YXJzZSA9IGxvY2FsZSQxLnV0Y1BhcnNlOworICByZXR1cm4gbG9jYWxlJDE7Cit9CisKK3ZhciBp
c29TcGVjaWZpZXIgPSAiJVktJW0tJWRUJUg6JU06JVMuJUxaIjsKKworZnVuY3Rpb24gZm9ybWF0
SXNvTmF0aXZlKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKTsKK30KKwordmFy
IGZvcm1hdElzbyA9IERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nCisgICAgPyBmb3JtYXRJc29O
YXRpdmUKKyAgICA6IGV4cG9ydHMudXRjRm9ybWF0KGlzb1NwZWNpZmllcik7CisKK2Z1bmN0aW9u
IHBhcnNlSXNvTmF0aXZlKHN0cmluZykgeworICB2YXIgZGF0ZSA9IG5ldyBEYXRlKHN0cmluZyk7
CisgIHJldHVybiBpc05hTihkYXRlKSA/IG51bGwgOiBkYXRlOworfQorCit2YXIgcGFyc2VJc28g
PSArbmV3IERhdGUoIjIwMDAtMDEtMDFUMDA6MDA6MDAuMDAwWiIpCisgICAgPyBwYXJzZUlzb05h
dGl2ZQorICAgIDogZXhwb3J0cy51dGNQYXJzZShpc29TcGVjaWZpZXIpOworCit2YXIgZHVyYXRp
b25TZWNvbmQkMSA9IDEwMDAsCisgICAgZHVyYXRpb25NaW51dGUkMSA9IGR1cmF0aW9uU2Vjb25k
JDEgKiA2MCwKKyAgICBkdXJhdGlvbkhvdXIkMSA9IGR1cmF0aW9uTWludXRlJDEgKiA2MCwKKyAg
ICBkdXJhdGlvbkRheSQxID0gZHVyYXRpb25Ib3VyJDEgKiAyNCwKKyAgICBkdXJhdGlvbldlZWsk
MSA9IGR1cmF0aW9uRGF5JDEgKiA3LAorICAgIGR1cmF0aW9uTW9udGggPSBkdXJhdGlvbkRheSQx
ICogMzAsCisgICAgZHVyYXRpb25ZZWFyID0gZHVyYXRpb25EYXkkMSAqIDM2NTsKKworZnVuY3Rp
b24gZGF0ZSQxKHQpIHsKKyAgcmV0dXJuIG5ldyBEYXRlKHQpOworfQorCitmdW5jdGlvbiBudW1i
ZXIkMyh0KSB7CisgIHJldHVybiB0IGluc3RhbmNlb2YgRGF0ZSA/ICt0IDogK25ldyBEYXRlKCt0
KTsKK30KKworZnVuY3Rpb24gY2FsZW5kYXIoeWVhciwgbW9udGgsIHdlZWssIGRheSwgaG91ciwg
bWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kLCBmb3JtYXQpIHsKKyAgdmFyIHNjYWxlID0gY29u
dGludW91cyhpZGVudGl0eSQ2LCBpZGVudGl0eSQ2KSwKKyAgICAgIGludmVydCA9IHNjYWxlLmlu
dmVydCwKKyAgICAgIGRvbWFpbiA9IHNjYWxlLmRvbWFpbjsKKworICB2YXIgZm9ybWF0TWlsbGlz
ZWNvbmQgPSBmb3JtYXQoIi4lTCIpLAorICAgICAgZm9ybWF0U2Vjb25kID0gZm9ybWF0KCI6JVMi
KSwKKyAgICAgIGZvcm1hdE1pbnV0ZSA9IGZvcm1hdCgiJUk6JU0iKSwKKyAgICAgIGZvcm1hdEhv
dXIgPSBmb3JtYXQoIiVJICVwIiksCisgICAgICBmb3JtYXREYXkgPSBmb3JtYXQoIiVhICVkIiks
CisgICAgICBmb3JtYXRXZWVrID0gZm9ybWF0KCIlYiAlZCIpLAorICAgICAgZm9ybWF0TW9udGgg
PSBmb3JtYXQoIiVCIiksCisgICAgICBmb3JtYXRZZWFyID0gZm9ybWF0KCIlWSIpOworCisgIHZh
ciB0aWNrSW50ZXJ2YWxzID0gWworICAgIFtzZWNvbmQsICAxLCAgICAgIGR1cmF0aW9uU2Vjb25k
JDFdLAorICAgIFtzZWNvbmQsICA1LCAgNSAqIGR1cmF0aW9uU2Vjb25kJDFdLAorICAgIFtzZWNv
bmQsIDE1LCAxNSAqIGR1cmF0aW9uU2Vjb25kJDFdLAorICAgIFtzZWNvbmQsIDMwLCAzMCAqIGR1
cmF0aW9uU2Vjb25kJDFdLAorICAgIFttaW51dGUsICAxLCAgICAgIGR1cmF0aW9uTWludXRlJDFd
LAorICAgIFttaW51dGUsICA1LCAgNSAqIGR1cmF0aW9uTWludXRlJDFdLAorICAgIFttaW51dGUs
IDE1LCAxNSAqIGR1cmF0aW9uTWludXRlJDFdLAorICAgIFttaW51dGUsIDMwLCAzMCAqIGR1cmF0
aW9uTWludXRlJDFdLAorICAgIFsgIGhvdXIsICAxLCAgICAgIGR1cmF0aW9uSG91ciQxICBdLAor
ICAgIFsgIGhvdXIsICAzLCAgMyAqIGR1cmF0aW9uSG91ciQxICBdLAorICAgIFsgIGhvdXIsICA2
LCAgNiAqIGR1cmF0aW9uSG91ciQxICBdLAorICAgIFsgIGhvdXIsIDEyLCAxMiAqIGR1cmF0aW9u
SG91ciQxICBdLAorICAgIFsgICBkYXksICAxLCAgICAgIGR1cmF0aW9uRGF5JDEgICBdLAorICAg
IFsgICBkYXksICAyLCAgMiAqIGR1cmF0aW9uRGF5JDEgICBdLAorICAgIFsgIHdlZWssICAxLCAg
ICAgIGR1cmF0aW9uV2VlayQxICBdLAorICAgIFsgbW9udGgsICAxLCAgICAgIGR1cmF0aW9uTW9u
dGggXSwKKyAgICBbIG1vbnRoLCAgMywgIDMgKiBkdXJhdGlvbk1vbnRoIF0sCisgICAgWyAgeWVh
ciwgIDEsICAgICAgZHVyYXRpb25ZZWFyICBdCisgIF07CisKKyAgZnVuY3Rpb24gdGlja0Zvcm1h
dChkYXRlKSB7CisgICAgcmV0dXJuIChzZWNvbmQoZGF0ZSkgPCBkYXRlID8gZm9ybWF0TWlsbGlz
ZWNvbmQKKyAgICAgICAgOiBtaW51dGUoZGF0ZSkgPCBkYXRlID8gZm9ybWF0U2Vjb25kCisgICAg
ICAgIDogaG91cihkYXRlKSA8IGRhdGUgPyBmb3JtYXRNaW51dGUKKyAgICAgICAgOiBkYXkoZGF0
ZSkgPCBkYXRlID8gZm9ybWF0SG91cgorICAgICAgICA6IG1vbnRoKGRhdGUpIDwgZGF0ZSA/ICh3
ZWVrKGRhdGUpIDwgZGF0ZSA/IGZvcm1hdERheSA6IGZvcm1hdFdlZWspCisgICAgICAgIDogeWVh
cihkYXRlKSA8IGRhdGUgPyBmb3JtYXRNb250aAorICAgICAgICA6IGZvcm1hdFllYXIpKGRhdGUp
OworICB9CisKKyAgZnVuY3Rpb24gdGlja0ludGVydmFsKGludGVydmFsLCBzdGFydCwgc3RvcCwg
c3RlcCkgeworICAgIGlmIChpbnRlcnZhbCA9PSBudWxsKSBpbnRlcnZhbCA9IDEwOworCisgICAg
Ly8gSWYgYSBkZXNpcmVkIHRpY2sgY291bnQgaXMgc3BlY2lmaWVkLCBwaWNrIGEgcmVhc29uYWJs
ZSB0aWNrIGludGVydmFsCisgICAgLy8gYmFzZWQgb24gdGhlIGV4dGVudCBvZiB0aGUgZG9tYWlu
IGFuZCBhIHJvdWdoIGVzdGltYXRlIG9mIHRpY2sgc2l6ZS4KKyAgICAvLyBPdGhlcndpc2UsIGFz
c3VtZSBpbnRlcnZhbCBpcyBhbHJlYWR5IGEgdGltZSBpbnRlcnZhbCBhbmQgdXNlIGl0LgorICAg
IGlmICh0eXBlb2YgaW50ZXJ2YWwgPT09ICJudW1iZXIiKSB7CisgICAgICB2YXIgdGFyZ2V0ID0g
TWF0aC5hYnMoc3RvcCAtIHN0YXJ0KSAvIGludGVydmFsLAorICAgICAgICAgIGkgPSBiaXNlY3Rv
cihmdW5jdGlvbihpKSB7IHJldHVybiBpWzJdOyB9KS5yaWdodCh0aWNrSW50ZXJ2YWxzLCB0YXJn
ZXQpOworICAgICAgaWYgKGkgPT09IHRpY2tJbnRlcnZhbHMubGVuZ3RoKSB7CisgICAgICAgIHN0
ZXAgPSB0aWNrU3RlcChzdGFydCAvIGR1cmF0aW9uWWVhciwgc3RvcCAvIGR1cmF0aW9uWWVhciwg
aW50ZXJ2YWwpOworICAgICAgICBpbnRlcnZhbCA9IHllYXI7CisgICAgICB9IGVsc2UgaWYgKGkp
IHsKKyAgICAgICAgaSA9IHRpY2tJbnRlcnZhbHNbdGFyZ2V0IC8gdGlja0ludGVydmFsc1tpIC0g
MV1bMl0gPCB0aWNrSW50ZXJ2YWxzW2ldWzJdIC8gdGFyZ2V0ID8gaSAtIDEgOiBpXTsKKyAgICAg
ICAgc3RlcCA9IGlbMV07CisgICAgICAgIGludGVydmFsID0gaVswXTsKKyAgICAgIH0gZWxzZSB7
CisgICAgICAgIHN0ZXAgPSBNYXRoLm1heCh0aWNrU3RlcChzdGFydCwgc3RvcCwgaW50ZXJ2YWwp
LCAxKTsKKyAgICAgICAgaW50ZXJ2YWwgPSBtaWxsaXNlY29uZDsKKyAgICAgIH0KKyAgICB9CisK
KyAgICByZXR1cm4gc3RlcCA9PSBudWxsID8gaW50ZXJ2YWwgOiBpbnRlcnZhbC5ldmVyeShzdGVw
KTsKKyAgfQorCisgIHNjYWxlLmludmVydCA9IGZ1bmN0aW9uKHkpIHsKKyAgICByZXR1cm4gbmV3
IERhdGUoaW52ZXJ0KHkpKTsKKyAgfTsKKworICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyBkb21haW4obWFwJDMuY2FsbChfLCBudW1i
ZXIkMykpIDogZG9tYWluKCkubWFwKGRhdGUkMSk7CisgIH07CisKKyAgc2NhbGUudGlja3MgPSBm
dW5jdGlvbihpbnRlcnZhbCwgc3RlcCkgeworICAgIHZhciBkID0gZG9tYWluKCksCisgICAgICAg
IHQwID0gZFswXSwKKyAgICAgICAgdDEgPSBkW2QubGVuZ3RoIC0gMV0sCisgICAgICAgIHIgPSB0
MSA8IHQwLAorICAgICAgICB0OworICAgIGlmIChyKSB0ID0gdDAsIHQwID0gdDEsIHQxID0gdDsK
KyAgICB0ID0gdGlja0ludGVydmFsKGludGVydmFsLCB0MCwgdDEsIHN0ZXApOworICAgIHQgPSB0
ID8gdC5yYW5nZSh0MCwgdDEgKyAxKSA6IFtdOyAvLyBpbmNsdXNpdmUgc3RvcAorICAgIHJldHVy
biByID8gdC5yZXZlcnNlKCkgOiB0OworICB9OworCisgIHNjYWxlLnRpY2tGb3JtYXQgPSBmdW5j
dGlvbihjb3VudCwgc3BlY2lmaWVyKSB7CisgICAgcmV0dXJuIHNwZWNpZmllciA9PSBudWxsID8g
dGlja0Zvcm1hdCA6IGZvcm1hdChzcGVjaWZpZXIpOworICB9OworCisgIHNjYWxlLm5pY2UgPSBm
dW5jdGlvbihpbnRlcnZhbCwgc3RlcCkgeworICAgIHZhciBkID0gZG9tYWluKCk7CisgICAgcmV0
dXJuIChpbnRlcnZhbCA9IHRpY2tJbnRlcnZhbChpbnRlcnZhbCwgZFswXSwgZFtkLmxlbmd0aCAt
IDFdLCBzdGVwKSkKKyAgICAgICAgPyBkb21haW4obmljZShkLCBpbnRlcnZhbCkpCisgICAgICAg
IDogc2NhbGU7CisgIH07CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVy
biBjb3B5KHNjYWxlLCBjYWxlbmRhcih5ZWFyLCBtb250aCwgd2VlaywgZGF5LCBob3VyLCBtaW51
dGUsIHNlY29uZCwgbWlsbGlzZWNvbmQsIGZvcm1hdCkpOworICB9OworCisgIHJldHVybiBzY2Fs
ZTsKK30KKworZnVuY3Rpb24gdGltZSgpIHsKKyAgcmV0dXJuIGluaXRSYW5nZS5hcHBseShjYWxl
bmRhcih5ZWFyLCBtb250aCwgc3VuZGF5LCBkYXksIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWxs
aXNlY29uZCwgZXhwb3J0cy50aW1lRm9ybWF0KS5kb21haW4oW25ldyBEYXRlKDIwMDAsIDAsIDEp
LCBuZXcgRGF0ZSgyMDAwLCAwLCAyKV0pLCBhcmd1bWVudHMpOworfQorCitmdW5jdGlvbiB1dGNU
aW1lKCkgeworICByZXR1cm4gaW5pdFJhbmdlLmFwcGx5KGNhbGVuZGFyKHV0Y1llYXIsIHV0Y01v
bnRoLCB1dGNTdW5kYXksIHV0Y0RheSwgdXRjSG91ciwgdXRjTWludXRlLCBzZWNvbmQsIG1pbGxp
c2Vjb25kLCBleHBvcnRzLnV0Y0Zvcm1hdCkuZG9tYWluKFtEYXRlLlVUQygyMDAwLCAwLCAxKSwg
RGF0ZS5VVEMoMjAwMCwgMCwgMildKSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gdHJhbnNm
b3JtZXIkMigpIHsKKyAgdmFyIHgwID0gMCwKKyAgICAgIHgxID0gMSwKKyAgICAgIHQwLAorICAg
ICAgdDEsCisgICAgICBrMTAsCisgICAgICB0cmFuc2Zvcm0sCisgICAgICBpbnRlcnBvbGF0b3Ig
PSBpZGVudGl0eSQ2LAorICAgICAgY2xhbXAgPSBmYWxzZSwKKyAgICAgIHVua25vd247CisKKyAg
ZnVuY3Rpb24gc2NhbGUoeCkgeworICAgIHJldHVybiBpc05hTih4ID0gK3gpID8gdW5rbm93biA6
IGludGVycG9sYXRvcihrMTAgPT09IDAgPyAwLjUgOiAoeCA9ICh0cmFuc2Zvcm0oeCkgLSB0MCkg
KiBrMTAsIGNsYW1wID8gTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgeCkpIDogeCkpOworICB9CisK
KyAgc2NhbGUuZG9tYWluID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHQwID0gdHJhbnNmb3JtKHgwID0gK19bMF0pLCB0MSA9IHRyYW5zZm9ybSh4MSA9ICtf
WzFdKSwgazEwID0gdDAgPT09IHQxID8gMCA6IDEgLyAodDEgLSB0MCksIHNjYWxlKSA6IFt4MCwg
eDFdOworICB9OworCisgIHNjYWxlLmNsYW1wID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKGNsYW1wID0gISFfLCBzY2FsZSkgOiBjbGFtcDsKKyAgfTsKKwor
ICBzY2FsZS5pbnRlcnBvbGF0b3IgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAoaW50ZXJwb2xhdG9yID0gXywgc2NhbGUpIDogaW50ZXJwb2xhdG9yOworICB9
OworCisgIHNjYWxlLnVua25vd24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAodW5rbm93biA9IF8sIHNjYWxlKSA6IHVua25vd247CisgIH07CisKKyAgcmV0
dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICB0cmFuc2Zvcm0gPSB0LCB0MCA9IHQoeDApLCB0MSA9IHQo
eDEpLCBrMTAgPSB0MCA9PT0gdDEgPyAwIDogMSAvICh0MSAtIHQwKTsKKyAgICByZXR1cm4gc2Nh
bGU7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNvcHkkMShzb3VyY2UsIHRhcmdldCkgeworICByZXR1
cm4gdGFyZ2V0CisgICAgICAuZG9tYWluKHNvdXJjZS5kb21haW4oKSkKKyAgICAgIC5pbnRlcnBv
bGF0b3Ioc291cmNlLmludGVycG9sYXRvcigpKQorICAgICAgLmNsYW1wKHNvdXJjZS5jbGFtcCgp
KQorICAgICAgLnVua25vd24oc291cmNlLnVua25vd24oKSk7Cit9CisKK2Z1bmN0aW9uIHNlcXVl
bnRpYWwoKSB7CisgIHZhciBzY2FsZSA9IGxpbmVhcmlzaCh0cmFuc2Zvcm1lciQyKCkoaWRlbnRp
dHkkNikpOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weSQx
KHNjYWxlLCBzZXF1ZW50aWFsKCkpOworICB9OworCisgIHJldHVybiBpbml0SW50ZXJwb2xhdG9y
LmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworfQorCitmdW5jdGlvbiBzZXF1ZW50aWFsTG9nKCkg
eworICB2YXIgc2NhbGUgPSBsb2dnaXNoKHRyYW5zZm9ybWVyJDIoKSkuZG9tYWluKFsxLCAxMF0p
OworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weSQxKHNjYWxl
LCBzZXF1ZW50aWFsTG9nKCkpLmJhc2Uoc2NhbGUuYmFzZSgpKTsKKyAgfTsKKworICByZXR1cm4g
aW5pdEludGVycG9sYXRvci5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24g
c2VxdWVudGlhbFN5bWxvZygpIHsKKyAgdmFyIHNjYWxlID0gc3ltbG9naXNoKHRyYW5zZm9ybWVy
JDIoKSk7CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBjb3B5JDEo
c2NhbGUsIHNlcXVlbnRpYWxTeW1sb2coKSkuY29uc3RhbnQoc2NhbGUuY29uc3RhbnQoKSk7Cisg
IH07CisKKyAgcmV0dXJuIGluaXRJbnRlcnBvbGF0b3IuYXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7
Cit9CisKK2Z1bmN0aW9uIHNlcXVlbnRpYWxQb3coKSB7CisgIHZhciBzY2FsZSA9IHBvd2lzaCh0
cmFuc2Zvcm1lciQyKCkpOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1
cm4gY29weSQxKHNjYWxlLCBzZXF1ZW50aWFsUG93KCkpLmV4cG9uZW50KHNjYWxlLmV4cG9uZW50
KCkpOworICB9OworCisgIHJldHVybiBpbml0SW50ZXJwb2xhdG9yLmFwcGx5KHNjYWxlLCBhcmd1
bWVudHMpOworfQorCitmdW5jdGlvbiBzZXF1ZW50aWFsU3FydCgpIHsKKyAgcmV0dXJuIHNlcXVl
bnRpYWxQb3cuYXBwbHkobnVsbCwgYXJndW1lbnRzKS5leHBvbmVudCgwLjUpOworfQorCitmdW5j
dGlvbiBzZXF1ZW50aWFsUXVhbnRpbGUoKSB7CisgIHZhciBkb21haW4gPSBbXSwKKyAgICAgIGlu
dGVycG9sYXRvciA9IGlkZW50aXR5JDY7CisKKyAgZnVuY3Rpb24gc2NhbGUoeCkgeworICAgIGlm
ICghaXNOYU4oeCA9ICt4KSkgcmV0dXJuIGludGVycG9sYXRvcigoYmlzZWN0UmlnaHQoZG9tYWlu
LCB4KSAtIDEpIC8gKGRvbWFpbi5sZW5ndGggLSAxKSk7CisgIH0KKworICBzY2FsZS5kb21haW4g
PSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gZG9tYWlu
LnNsaWNlKCk7CisgICAgZG9tYWluID0gW107CisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBfLmxl
bmd0aCwgZDsgaSA8IG47ICsraSkgaWYgKGQgPSBfW2ldLCBkICE9IG51bGwgJiYgIWlzTmFOKGQg
PSArZCkpIGRvbWFpbi5wdXNoKGQpOworICAgIGRvbWFpbi5zb3J0KGFzY2VuZGluZyk7CisgICAg
cmV0dXJuIHNjYWxlOworICB9OworCisgIHNjYWxlLmludGVycG9sYXRvciA9IGZ1bmN0aW9uKF8p
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChpbnRlcnBvbGF0b3IgPSBfLCBzY2Fs
ZSkgOiBpbnRlcnBvbGF0b3I7CisgIH07CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgewor
ICAgIHJldHVybiBzZXF1ZW50aWFsUXVhbnRpbGUoaW50ZXJwb2xhdG9yKS5kb21haW4oZG9tYWlu
KTsKKyAgfTsKKworICByZXR1cm4gaW5pdEludGVycG9sYXRvci5hcHBseShzY2FsZSwgYXJndW1l
bnRzKTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3JtZXIkMygpIHsKKyAgdmFyIHgwID0gMCwKKyAg
ICAgIHgxID0gMC41LAorICAgICAgeDIgPSAxLAorICAgICAgdDAsCisgICAgICB0MSwKKyAgICAg
IHQyLAorICAgICAgazEwLAorICAgICAgazIxLAorICAgICAgaW50ZXJwb2xhdG9yID0gaWRlbnRp
dHkkNiwKKyAgICAgIHRyYW5zZm9ybSwKKyAgICAgIGNsYW1wID0gZmFsc2UsCisgICAgICB1bmtu
b3duOworCisgIGZ1bmN0aW9uIHNjYWxlKHgpIHsKKyAgICByZXR1cm4gaXNOYU4oeCA9ICt4KSA/
IHVua25vd24gOiAoeCA9IDAuNSArICgoeCA9ICt0cmFuc2Zvcm0oeCkpIC0gdDEpICogKHggPCB0
MSA/IGsxMCA6IGsyMSksIGludGVycG9sYXRvcihjbGFtcCA/IE1hdGgubWF4KDAsIE1hdGgubWlu
KDEsIHgpKSA6IHgpKTsKKyAgfQorCisgIHNjYWxlLmRvbWFpbiA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0MCA9IHRyYW5zZm9ybSh4MCA9ICtfWzBdKSwg
dDEgPSB0cmFuc2Zvcm0oeDEgPSArX1sxXSksIHQyID0gdHJhbnNmb3JtKHgyID0gK19bMl0pLCBr
MTAgPSB0MCA9PT0gdDEgPyAwIDogMC41IC8gKHQxIC0gdDApLCBrMjEgPSB0MSA9PT0gdDIgPyAw
IDogMC41IC8gKHQyIC0gdDEpLCBzY2FsZSkgOiBbeDAsIHgxLCB4Ml07CisgIH07CisKKyAgc2Nh
bGUuY2xhbXAgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
Y2xhbXAgPSAhIV8sIHNjYWxlKSA6IGNsYW1wOworICB9OworCisgIHNjYWxlLmludGVycG9sYXRv
ciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChpbnRlcnBv
bGF0b3IgPSBfLCBzY2FsZSkgOiBpbnRlcnBvbGF0b3I7CisgIH07CisKKyAgc2NhbGUudW5rbm93
biA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh1bmtub3du
ID0gXywgc2NhbGUpIDogdW5rbm93bjsKKyAgfTsKKworICByZXR1cm4gZnVuY3Rpb24odCkgewor
ICAgIHRyYW5zZm9ybSA9IHQsIHQwID0gdCh4MCksIHQxID0gdCh4MSksIHQyID0gdCh4MiksIGsx
MCA9IHQwID09PSB0MSA/IDAgOiAwLjUgLyAodDEgLSB0MCksIGsyMSA9IHQxID09PSB0MiA/IDAg
OiAwLjUgLyAodDIgLSB0MSk7CisgICAgcmV0dXJuIHNjYWxlOworICB9OworfQorCitmdW5jdGlv
biBkaXZlcmdpbmcoKSB7CisgIHZhciBzY2FsZSA9IGxpbmVhcmlzaCh0cmFuc2Zvcm1lciQzKCko
aWRlbnRpdHkkNikpOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4g
Y29weSQxKHNjYWxlLCBkaXZlcmdpbmcoKSk7CisgIH07CisKKyAgcmV0dXJuIGluaXRJbnRlcnBv
bGF0b3IuYXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIGRpdmVyZ2luZ0xv
ZygpIHsKKyAgdmFyIHNjYWxlID0gbG9nZ2lzaCh0cmFuc2Zvcm1lciQzKCkpLmRvbWFpbihbMC4x
LCAxLCAxMF0pOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29w
eSQxKHNjYWxlLCBkaXZlcmdpbmdMb2coKSkuYmFzZShzY2FsZS5iYXNlKCkpOworICB9OworCisg
IHJldHVybiBpbml0SW50ZXJwb2xhdG9yLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworfQorCitm
dW5jdGlvbiBkaXZlcmdpbmdTeW1sb2coKSB7CisgIHZhciBzY2FsZSA9IHN5bWxvZ2lzaCh0cmFu
c2Zvcm1lciQzKCkpOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4g
Y29weSQxKHNjYWxlLCBkaXZlcmdpbmdTeW1sb2coKSkuY29uc3RhbnQoc2NhbGUuY29uc3RhbnQo
KSk7CisgIH07CisKKyAgcmV0dXJuIGluaXRJbnRlcnBvbGF0b3IuYXBwbHkoc2NhbGUsIGFyZ3Vt
ZW50cyk7Cit9CisKK2Z1bmN0aW9uIGRpdmVyZ2luZ1BvdygpIHsKKyAgdmFyIHNjYWxlID0gcG93
aXNoKHRyYW5zZm9ybWVyJDMoKSk7CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAg
IHJldHVybiBjb3B5JDEoc2NhbGUsIGRpdmVyZ2luZ1BvdygpKS5leHBvbmVudChzY2FsZS5leHBv
bmVudCgpKTsKKyAgfTsKKworICByZXR1cm4gaW5pdEludGVycG9sYXRvci5hcHBseShzY2FsZSwg
YXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gZGl2ZXJnaW5nU3FydCgpIHsKKyAgcmV0dXJuIGRp
dmVyZ2luZ1Bvdy5hcHBseShudWxsLCBhcmd1bWVudHMpLmV4cG9uZW50KDAuNSk7Cit9CisKK2Z1
bmN0aW9uIGNvbG9ycyhzcGVjaWZpZXIpIHsKKyAgdmFyIG4gPSBzcGVjaWZpZXIubGVuZ3RoIC8g
NiB8IDAsIGNvbG9ycyA9IG5ldyBBcnJheShuKSwgaSA9IDA7CisgIHdoaWxlIChpIDwgbikgY29s
b3JzW2ldID0gIiMiICsgc3BlY2lmaWVyLnNsaWNlKGkgKiA2LCArK2kgKiA2KTsKKyAgcmV0dXJu
IGNvbG9yczsKK30KKwordmFyIGNhdGVnb3J5MTAgPSBjb2xvcnMoIjFmNzdiNGZmN2YwZTJjYTAy
Y2Q2MjcyODk0NjdiZDhjNTY0YmUzNzdjMjdmN2Y3ZmJjYmQyMjE3YmVjZiIpOworCit2YXIgQWNj
ZW50ID0gY29sb3JzKCI3ZmM5N2ZiZWFlZDRmZGMwODZmZmZmOTkzODZjYjBmMDAyN2ZiZjViMTc2
NjY2NjYiKTsKKwordmFyIERhcmsyID0gY29sb3JzKCIxYjllNzdkOTVmMDI3NTcwYjNlNzI5OGE2
NmE2MWVlNmFiMDJhNjc2MWQ2NjY2NjYiKTsKKwordmFyIFBhaXJlZCA9IGNvbG9ycygiYTZjZWUz
MWY3OGI0YjJkZjhhMzNhMDJjZmI5YTk5ZTMxYTFjZmRiZjZmZmY3ZjAwY2FiMmQ2NmEzZDlhZmZm
Zjk5YjE1OTI4Iik7CisKK3ZhciBQYXN0ZWwxID0gY29sb3JzKCJmYmI0YWViM2NkZTNjY2ViYzVk
ZWNiZTRmZWQ5YTZmZmZmY2NlNWQ4YmRmZGRhZWNmMmYyZjIiKTsKKwordmFyIFBhc3RlbDIgPSBj
b2xvcnMoImIzZTJjZGZkY2RhY2NiZDVlOGY0Y2FlNGU2ZjVjOWZmZjJhZWYxZTJjY2NjY2NjYyIp
OworCit2YXIgU2V0MSA9IGNvbG9ycygiZTQxYTFjMzc3ZWI4NGRhZjRhOTg0ZWEzZmY3ZjAwZmZm
ZjMzYTY1NjI4Zjc4MWJmOTk5OTk5Iik7CisKK3ZhciBTZXQyID0gY29sb3JzKCI2NmMyYTVmYzhk
NjI4ZGEwY2JlNzhhYzNhNmQ4NTRmZmQ5MmZlNWM0OTRiM2IzYjMiKTsKKwordmFyIFNldDMgPSBj
b2xvcnMoIjhkZDNjN2ZmZmZiM2JlYmFkYWZiODA3MjgwYjFkM2ZkYjQ2MmIzZGU2OWZjY2RlNWQ5
ZDlkOWJjODBiZGNjZWJjNWZmZWQ2ZiIpOworCit2YXIgVGFibGVhdTEwID0gY29sb3JzKCI0ZTc5
YTdmMjhlMmNlMTU3NTk3NmI3YjI1OWExNGZlZGM5NDlhZjdhYTFmZjlkYTc5Yzc1NWZiYWIwYWIi
KTsKKworZnVuY3Rpb24gcmFtcChzY2hlbWUpIHsKKyAgcmV0dXJuIHJnYkJhc2lzKHNjaGVtZVtz
Y2hlbWUubGVuZ3RoIC0gMV0pOworfQorCit2YXIgc2NoZW1lID0gbmV3IEFycmF5KDMpLmNvbmNh
dCgKKyAgImQ4YjM2NWY1ZjVmNTVhYjRhYyIsCisgICJhNjYxMWFkZmMyN2Q4MGNkYzEwMTg1NzEi
LAorICAiYTY2MTFhZGZjMjdkZjVmNWY1ODBjZGMxMDE4NTcxIiwKKyAgIjhjNTEwYWQ4YjM2NWY2
ZThjM2M3ZWFlNTVhYjRhYzAxNjY1ZSIsCisgICI4YzUxMGFkOGIzNjVmNmU4YzNmNWY1ZjVjN2Vh
ZTU1YWI0YWMwMTY2NWUiLAorICAiOGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzYzdlYWU1ODBjZGMx
MzU5NzhmMDE2NjVlIiwKKyAgIjhjNTEwYWJmODEyZGRmYzI3ZGY2ZThjM2Y1ZjVmNWM3ZWFlNTgw
Y2RjMTM1OTc4ZjAxNjY1ZSIsCisgICI1NDMwMDU4YzUxMGFiZjgxMmRkZmMyN2RmNmU4YzNjN2Vh
ZTU4MGNkYzEzNTk3OGYwMTY2NWUwMDNjMzAiLAorICAiNTQzMDA1OGM1MTBhYmY4MTJkZGZjMjdk
ZjZlOGMzZjVmNWY1YzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlMDAzYzMwIgorKS5tYXAoY29sb3Jz
KTsKKwordmFyIEJyQkcgPSByYW1wKHNjaGVtZSk7CisKK3ZhciBzY2hlbWUkMSA9IG5ldyBBcnJh
eSgzKS5jb25jYXQoCisgICJhZjhkYzNmN2Y3Zjc3ZmJmN2IiLAorICAiN2IzMjk0YzJhNWNmYTZk
YmEwMDA4ODM3IiwKKyAgIjdiMzI5NGMyYTVjZmY3ZjdmN2E2ZGJhMDAwODgzNyIsCisgICI3NjJh
ODNhZjhkYzNlN2Q0ZThkOWYwZDM3ZmJmN2IxYjc4MzciLAorICAiNzYyYTgzYWY4ZGMzZTdkNGU4
ZjdmN2Y3ZDlmMGQzN2ZiZjdiMWI3ODM3IiwKKyAgIjc2MmE4Mzk5NzBhYmMyYTVjZmU3ZDRlOGQ5
ZjBkM2E2ZGJhMDVhYWU2MTFiNzgzNyIsCisgICI3NjJhODM5OTcwYWJjMmE1Y2ZlN2Q0ZThmN2Y3
ZjdkOWYwZDNhNmRiYTA1YWFlNjExYjc4MzciLAorICAiNDAwMDRiNzYyYTgzOTk3MGFiYzJhNWNm
ZTdkNGU4ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3MDA0NDFiIiwKKyAgIjQwMDA0Yjc2MmE4Mzk5
NzBhYmMyYTVjZmU3ZDRlOGY3ZjdmN2Q5ZjBkM2E2ZGJhMDVhYWU2MTFiNzgzNzAwNDQxYiIKKyku
bWFwKGNvbG9ycyk7CisKK3ZhciBQUkduID0gcmFtcChzY2hlbWUkMSk7CisKK3ZhciBzY2hlbWUk
MiA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJlOWEzYzlmN2Y3ZjdhMWQ3NmEiLAorICAiZDAx
YzhiZjFiNmRhYjhlMTg2NGRhYzI2IiwKKyAgImQwMWM4YmYxYjZkYWY3ZjdmN2I4ZTE4NjRkYWMy
NiIsCisgICJjNTFiN2RlOWEzYzlmZGUwZWZlNmY1ZDBhMWQ3NmE0ZDkyMjEiLAorICAiYzUxYjdk
ZTlhM2M5ZmRlMGVmZjdmN2Y3ZTZmNWQwYTFkNzZhNGQ5MjIxIiwKKyAgImM1MWI3ZGRlNzdhZWYx
YjZkYWZkZTBlZmU2ZjVkMGI4ZTE4NjdmYmM0MTRkOTIyMSIsCisgICJjNTFiN2RkZTc3YWVmMWI2
ZGFmZGUwZWZmN2Y3ZjdlNmY1ZDBiOGUxODY3ZmJjNDE0ZDkyMjEiLAorICAiOGUwMTUyYzUxYjdk
ZGU3N2FlZjFiNmRhZmRlMGVmZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxMjc2NDE5IiwKKyAgIjhl
MDE1MmM1MWI3ZGRlNzdhZWYxYjZkYWZkZTBlZmY3ZjdmN2U2ZjVkMGI4ZTE4NjdmYmM0MTRkOTIy
MTI3NjQxOSIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBQaVlHID0gcmFtcChzY2hlbWUkMik7CisK
K3ZhciBzY2hlbWUkMyA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICI5OThlYzNmN2Y3ZjdmMWEz
NDAiLAorICAiNWUzYzk5YjJhYmQyZmRiODYzZTY2MTAxIiwKKyAgIjVlM2M5OWIyYWJkMmY3Zjdm
N2ZkYjg2M2U2NjEwMSIsCisgICI1NDI3ODg5OThlYzNkOGRhZWJmZWUwYjZmMWEzNDBiMzU4MDYi
LAorICAiNTQyNzg4OTk4ZWMzZDhkYWViZjdmN2Y3ZmVlMGI2ZjFhMzQwYjM1ODA2IiwKKyAgIjU0
Mjc4ODgwNzNhY2IyYWJkMmQ4ZGFlYmZlZTBiNmZkYjg2M2UwODIxNGIzNTgwNiIsCisgICI1NDI3
ODg4MDczYWNiMmFiZDJkOGRhZWJmN2Y3ZjdmZWUwYjZmZGI4NjNlMDgyMTRiMzU4MDYiLAorICAi
MmQwMDRiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2N2Yz
YjA4IiwKKyAgIjJkMDA0YjU0Mjc4ODgwNzNhY2IyYWJkMmQ4ZGFlYmY3ZjdmN2ZlZTBiNmZkYjg2
M2UwODIxNGIzNTgwNjdmM2IwOCIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBQdU9yID0gcmFtcChz
Y2hlbWUkMyk7CisKK3ZhciBzY2hlbWUkNCA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJlZjhh
NjJmN2Y3Zjc2N2E5Y2YiLAorICAiY2EwMDIwZjRhNTgyOTJjNWRlMDU3MWIwIiwKKyAgImNhMDAy
MGY0YTU4MmY3ZjdmNzkyYzVkZTA1NzFiMCIsCisgICJiMjE4MmJlZjhhNjJmZGRiYzdkMWU1ZjA2
N2E5Y2YyMTY2YWMiLAorICAiYjIxODJiZWY4YTYyZmRkYmM3ZjdmN2Y3ZDFlNWYwNjdhOWNmMjE2
NmFjIiwKKyAgImIyMTgyYmQ2NjA0ZGY0YTU4MmZkZGJjN2QxZTVmMDkyYzVkZTQzOTNjMzIxNjZh
YyIsCisgICJiMjE4MmJkNjYwNGRmNGE1ODJmZGRiYzdmN2Y3ZjdkMWU1ZjA5MmM1ZGU0MzkzYzMy
MTY2YWMiLAorICAiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZDFlNWYwOTJjNWRlNDM5
M2MzMjE2NmFjMDUzMDYxIiwKKyAgIjY3MDAxZmIyMTgyYmQ2NjA0ZGY0YTU4MmZkZGJjN2Y3Zjdm
N2QxZTVmMDkyYzVkZTQzOTNjMzIxNjZhYzA1MzA2MSIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBS
ZEJ1ID0gcmFtcChzY2hlbWUkNCk7CisKK3ZhciBzY2hlbWUkNSA9IG5ldyBBcnJheSgzKS5jb25j
YXQoCisgICJlZjhhNjJmZmZmZmY5OTk5OTkiLAorICAiY2EwMDIwZjRhNTgyYmFiYWJhNDA0MDQw
IiwKKyAgImNhMDAyMGY0YTU4MmZmZmZmZmJhYmFiYTQwNDA0MCIsCisgICJiMjE4MmJlZjhhNjJm
ZGRiYzdlMGUwZTA5OTk5OTk0ZDRkNGQiLAorICAiYjIxODJiZWY4YTYyZmRkYmM3ZmZmZmZmZTBl
MGUwOTk5OTk5NGQ0ZDRkIiwKKyAgImIyMTgyYmQ2NjA0ZGY0YTU4MmZkZGJjN2UwZTBlMGJhYmFi
YTg3ODc4NzRkNGQ0ZCIsCisgICJiMjE4MmJkNjYwNGRmNGE1ODJmZGRiYzdmZmZmZmZlMGUwZTBi
YWJhYmE4Nzg3ODc0ZDRkNGQiLAorICAiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZTBl
MGUwYmFiYWJhODc4Nzg3NGQ0ZDRkMWExYTFhIiwKKyAgIjY3MDAxZmIyMTgyYmQ2NjA0ZGY0YTU4
MmZkZGJjN2ZmZmZmZmUwZTBlMGJhYmFiYTg3ODc4NzRkNGQ0ZDFhMWExYSIKKykubWFwKGNvbG9y
cyk7CisKK3ZhciBSZEd5ID0gcmFtcChzY2hlbWUkNSk7CisKK3ZhciBzY2hlbWUkNiA9IG5ldyBB
cnJheSgzKS5jb25jYXQoCisgICJmYzhkNTlmZmZmYmY5MWJmZGIiLAorICAiZDcxOTFjZmRhZTYx
YWJkOWU5MmM3YmI2IiwKKyAgImQ3MTkxY2ZkYWU2MWZmZmZiZmFiZDllOTJjN2JiNiIsCisgICJk
NzMwMjdmYzhkNTlmZWUwOTBlMGYzZjg5MWJmZGI0NTc1YjQiLAorICAiZDczMDI3ZmM4ZDU5ZmVl
MDkwZmZmZmJmZTBmM2Y4OTFiZmRiNDU3NWI0IiwKKyAgImQ3MzAyN2Y0NmQ0M2ZkYWU2MWZlZTA5
MGUwZjNmOGFiZDllOTc0YWRkMTQ1NzViNCIsCisgICJkNzMwMjdmNDZkNDNmZGFlNjFmZWUwOTBm
ZmZmYmZlMGYzZjhhYmQ5ZTk3NGFkZDE0NTc1YjQiLAorICAiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRh
ZTYxZmVlMDkwZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0MzEzNjk1IiwKKyAgImE1MDAyNmQ3MzAy
N2Y0NmQ0M2ZkYWU2MWZlZTA5MGZmZmZiZmUwZjNmOGFiZDllOTc0YWRkMTQ1NzViNDMxMzY5NSIK
KykubWFwKGNvbG9ycyk7CisKK3ZhciBSZFlsQnUgPSByYW1wKHNjaGVtZSQ2KTsKKwordmFyIHNj
aGVtZSQ3ID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImZjOGQ1OWZmZmZiZjkxY2Y2MCIsCisg
ICJkNzE5MWNmZGFlNjFhNmQ5NmExYTk2NDEiLAorICAiZDcxOTFjZmRhZTYxZmZmZmJmYTZkOTZh
MWE5NjQxIiwKKyAgImQ3MzAyN2ZjOGQ1OWZlZTA4YmQ5ZWY4YjkxY2Y2MDFhOTg1MCIsCisgICJk
NzMwMjdmYzhkNTlmZWUwOGJmZmZmYmZkOWVmOGI5MWNmNjAxYTk4NTAiLAorICAiZDczMDI3ZjQ2
ZDQzZmRhZTYxZmVlMDhiZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwIiwKKyAgImQ3MzAyN2Y0NmQ0
M2ZkYWU2MWZlZTA4YmZmZmZiZmQ5ZWY4YmE2ZDk2YTY2YmQ2MzFhOTg1MCIsCisgICJhNTAwMjZk
NzMwMjdmNDZkNDNmZGFlNjFmZWUwOGJkOWVmOGJhNmQ5NmE2NmJkNjMxYTk4NTAwMDY4MzciLAor
ICAiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZDllZjhiYTZkOTZhNjZiZDYz
MWE5ODUwMDA2ODM3IgorKS5tYXAoY29sb3JzKTsKKwordmFyIFJkWWxHbiA9IHJhbXAoc2NoZW1l
JDcpOworCit2YXIgc2NoZW1lJDggPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZmM4ZDU5ZmZm
ZmJmOTlkNTk0IiwKKyAgImQ3MTkxY2ZkYWU2MWFiZGRhNDJiODNiYSIsCisgICJkNzE5MWNmZGFl
NjFmZmZmYmZhYmRkYTQyYjgzYmEiLAorICAiZDUzZTRmZmM4ZDU5ZmVlMDhiZTZmNTk4OTlkNTk0
MzI4OGJkIiwKKyAgImQ1M2U0ZmZjOGQ1OWZlZTA4YmZmZmZiZmU2ZjU5ODk5ZDU5NDMyODhiZCIs
CisgICJkNTNlNGZmNDZkNDNmZGFlNjFmZWUwOGJlNmY1OThhYmRkYTQ2NmMyYTUzMjg4YmQiLAor
ICAiZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJk
IiwKKyAgIjllMDE0MmQ1M2U0ZmY0NmQ0M2ZkYWU2MWZlZTA4YmU2ZjU5OGFiZGRhNDY2YzJhNTMy
ODhiZDVlNGZhMiIsCisgICI5ZTAxNDJkNTNlNGZmNDZkNDNmZGFlNjFmZWUwOGJmZmZmYmZlNmY1
OThhYmRkYTQ2NmMyYTUzMjg4YmQ1ZTRmYTIiCispLm1hcChjb2xvcnMpOworCit2YXIgU3BlY3Ry
YWwgPSByYW1wKHNjaGVtZSQ4KTsKKwordmFyIHNjaGVtZSQ5ID0gbmV3IEFycmF5KDMpLmNvbmNh
dCgKKyAgImU1ZjVmOTk5ZDhjOTJjYTI1ZiIsCisgICJlZGY4ZmJiMmUyZTI2NmMyYTQyMzhiNDUi
LAorICAiZWRmOGZiYjJlMmUyNjZjMmE0MmNhMjVmMDA2ZDJjIiwKKyAgImVkZjhmYmNjZWNlNjk5
ZDhjOTY2YzJhNDJjYTI1ZjAwNmQyYyIsCisgICJlZGY4ZmJjY2VjZTY5OWQ4Yzk2NmMyYTQ0MWFl
NzYyMzhiNDUwMDU4MjQiLAorICAiZjdmY2ZkZTVmNWY5Y2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2
MjM4YjQ1MDA1ODI0IiwKKyAgImY3ZmNmZGU1ZjVmOWNjZWNlNjk5ZDhjOTY2YzJhNDQxYWU3NjIz
OGI0NTAwNmQyYzAwNDQxYiIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBCdUduID0gcmFtcChzY2hl
bWUkOSk7CisKK3ZhciBzY2hlbWUkYSA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJlMGVjZjQ5
ZWJjZGE4ODU2YTciLAorICAiZWRmOGZiYjNjZGUzOGM5NmM2ODg0MTlkIiwKKyAgImVkZjhmYmIz
Y2RlMzhjOTZjNjg4NTZhNzgxMGY3YyIsCisgICJlZGY4ZmJiZmQzZTY5ZWJjZGE4Yzk2YzY4ODU2
YTc4MTBmN2MiLAorICAiZWRmOGZiYmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkNmUwMTZi
IiwKKyAgImY3ZmNmZGUwZWNmNGJmZDNlNjllYmNkYThjOTZjNjhjNmJiMTg4NDE5ZDZlMDE2YiIs
CisgICJmN2ZjZmRlMGVjZjRiZmQzZTY5ZWJjZGE4Yzk2YzY4YzZiYjE4ODQxOWQ4MTBmN2M0ZDAw
NGIiCispLm1hcChjb2xvcnMpOworCit2YXIgQnVQdSA9IHJhbXAoc2NoZW1lJGEpOworCit2YXIg
c2NoZW1lJGIgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZTBmM2RiYThkZGI1NDNhMmNhIiwK
KyAgImYwZjllOGJhZTRiYzdiY2NjNDJiOGNiZSIsCisgICJmMGY5ZThiYWU0YmM3YmNjYzQ0M2Ey
Y2EwODY4YWMiLAorICAiZjBmOWU4Y2NlYmM1YThkZGI1N2JjY2M0NDNhMmNhMDg2OGFjIiwKKyAg
ImYwZjllOGNjZWJjNWE4ZGRiNTdiY2NjNDRlYjNkMzJiOGNiZTA4NTg5ZSIsCisgICJmN2ZjZjBl
MGYzZGJjY2ViYzVhOGRkYjU3YmNjYzQ0ZWIzZDMyYjhjYmUwODU4OWUiLAorICAiZjdmY2YwZTBm
M2RiY2NlYmM1YThkZGI1N2JjY2M0NGViM2QzMmI4Y2JlMDg2OGFjMDg0MDgxIgorKS5tYXAoY29s
b3JzKTsKKwordmFyIEduQnUgPSByYW1wKHNjaGVtZSRiKTsKKwordmFyIHNjaGVtZSRjID0gbmV3
IEFycmF5KDMpLmNvbmNhdCgKKyAgImZlZThjOGZkYmI4NGUzNGEzMyIsCisgICJmZWYwZDlmZGNj
OGFmYzhkNTlkNzMwMWYiLAorICAiZmVmMGQ5ZmRjYzhhZmM4ZDU5ZTM0YTMzYjMwMDAwIiwKKyAg
ImZlZjBkOWZkZDQ5ZWZkYmI4NGZjOGQ1OWUzNGEzM2IzMDAwMCIsCisgICJmZWYwZDlmZGQ0OWVm
ZGJiODRmYzhkNTllZjY1NDhkNzMwMWY5OTAwMDAiLAorICAiZmZmN2VjZmVlOGM4ZmRkNDllZmRi
Yjg0ZmM4ZDU5ZWY2NTQ4ZDczMDFmOTkwMDAwIiwKKyAgImZmZjdlY2ZlZThjOGZkZDQ5ZWZkYmI4
NGZjOGQ1OWVmNjU0OGQ3MzAxZmIzMDAwMDdmMDAwMCIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBP
clJkID0gcmFtcChzY2hlbWUkYyk7CisKK3ZhciBzY2hlbWUkZCA9IG5ldyBBcnJheSgzKS5jb25j
YXQoCisgICJlY2UyZjBhNmJkZGIxYzkwOTkiLAorICAiZjZlZmY3YmRjOWUxNjdhOWNmMDI4MThh
IiwKKyAgImY2ZWZmN2JkYzllMTY3YTljZjFjOTA5OTAxNmM1OSIsCisgICJmNmVmZjdkMGQxZTZh
NmJkZGI2N2E5Y2YxYzkwOTkwMTZjNTkiLAorICAiZjZlZmY3ZDBkMWU2YTZiZGRiNjdhOWNmMzY5
MGMwMDI4MThhMDE2NDUwIiwKKyAgImZmZjdmYmVjZTJmMGQwZDFlNmE2YmRkYjY3YTljZjM2OTBj
MDAyODE4YTAxNjQ1MCIsCisgICJmZmY3ZmJlY2UyZjBkMGQxZTZhNmJkZGI2N2E5Y2YzNjkwYzAw
MjgxOGEwMTZjNTkwMTQ2MzYiCispLm1hcChjb2xvcnMpOworCit2YXIgUHVCdUduID0gcmFtcChz
Y2hlbWUkZCk7CisKK3ZhciBzY2hlbWUkZSA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJlY2U3
ZjJhNmJkZGIyYjhjYmUiLAorICAiZjFlZWY2YmRjOWUxNzRhOWNmMDU3MGIwIiwKKyAgImYxZWVm
NmJkYzllMTc0YTljZjJiOGNiZTA0NWE4ZCIsCisgICJmMWVlZjZkMGQxZTZhNmJkZGI3NGE5Y2Yy
YjhjYmUwNDVhOGQiLAorICAiZjFlZWY2ZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDM0
ZTdiIiwKKyAgImZmZjdmYmVjZTdmMmQwZDFlNmE2YmRkYjc0YTljZjM2OTBjMDA1NzBiMDAzNGU3
YiIsCisgICJmZmY3ZmJlY2U3ZjJkMGQxZTZhNmJkZGI3NGE5Y2YzNjkwYzAwNTcwYjAwNDVhOGQw
MjM4NTgiCispLm1hcChjb2xvcnMpOworCit2YXIgUHVCdSA9IHJhbXAoc2NoZW1lJGUpOworCit2
YXIgc2NoZW1lJGYgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZTdlMWVmYzk5NGM3ZGQxYzc3
IiwKKyAgImYxZWVmNmQ3YjVkOGRmNjViMGNlMTI1NiIsCisgICJmMWVlZjZkN2I1ZDhkZjY1YjBk
ZDFjNzc5ODAwNDMiLAorICAiZjFlZWY2ZDRiOWRhYzk5NGM3ZGY2NWIwZGQxYzc3OTgwMDQzIiwK
KyAgImYxZWVmNmQ0YjlkYWM5OTRjN2RmNjViMGU3Mjk4YWNlMTI1NjkxMDAzZiIsCisgICJmN2Y0
ZjllN2UxZWZkNGI5ZGFjOTk0YzdkZjY1YjBlNzI5OGFjZTEyNTY5MTAwM2YiLAorICAiZjdmNGY5
ZTdlMWVmZDRiOWRhYzk5NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTgwMDQzNjcwMDFmIgorKS5tYXAo
Y29sb3JzKTsKKwordmFyIFB1UmQgPSByYW1wKHNjaGVtZSRmKTsKKwordmFyIHNjaGVtZSRnID0g
bmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImZkZTBkZGZhOWZiNWM1MWI4YSIsCisgICJmZWViZTJm
YmI0YjlmNzY4YTFhZTAxN2UiLAorICAiZmVlYmUyZmJiNGI5Zjc2OGExYzUxYjhhN2EwMTc3IiwK
KyAgImZlZWJlMmZjYzVjMGZhOWZiNWY3NjhhMWM1MWI4YTdhMDE3NyIsCisgICJmZWViZTJmY2M1
YzBmYTlmYjVmNzY4YTFkZDM0OTdhZTAxN2U3YTAxNzciLAorICAiZmZmN2YzZmRlMGRkZmNjNWMw
ZmE5ZmI1Zjc2OGExZGQzNDk3YWUwMTdlN2EwMTc3IiwKKyAgImZmZjdmM2ZkZTBkZGZjYzVjMGZh
OWZiNWY3NjhhMWRkMzQ5N2FlMDE3ZTdhMDE3NzQ5MDA2YSIKKykubWFwKGNvbG9ycyk7CisKK3Zh
ciBSZFB1ID0gcmFtcChzY2hlbWUkZyk7CisKK3ZhciBzY2hlbWUkaCA9IG5ldyBBcnJheSgzKS5j
b25jYXQoCisgICJlZGY4YjE3ZmNkYmIyYzdmYjgiLAorICAiZmZmZmNjYTFkYWI0NDFiNmM0MjI1
ZWE4IiwKKyAgImZmZmZjY2ExZGFiNDQxYjZjNDJjN2ZiODI1MzQ5NCIsCisgICJmZmZmY2NjN2U5
YjQ3ZmNkYmI0MWI2YzQyYzdmYjgyNTM0OTQiLAorICAiZmZmZmNjYzdlOWI0N2ZjZGJiNDFiNmM0
MWQ5MWMwMjI1ZWE4MGMyYzg0IiwKKyAgImZmZmZkOWVkZjhiMWM3ZTliNDdmY2RiYjQxYjZjNDFk
OTFjMDIyNWVhODBjMmM4NCIsCisgICJmZmZmZDllZGY4YjFjN2U5YjQ3ZmNkYmI0MWI2YzQxZDkx
YzAyMjVlYTgyNTM0OTQwODFkNTgiCispLm1hcChjb2xvcnMpOworCit2YXIgWWxHbkJ1ID0gcmFt
cChzY2hlbWUkaCk7CisKK3ZhciBzY2hlbWUkaSA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJm
N2ZjYjlhZGRkOGUzMWEzNTQiLAorICAiZmZmZmNjYzJlNjk5NzhjNjc5MjM4NDQzIiwKKyAgImZm
ZmZjY2MyZTY5OTc4YzY3OTMxYTM1NDAwNjgzNyIsCisgICJmZmZmY2NkOWYwYTNhZGRkOGU3OGM2
NzkzMWEzNTQwMDY4MzciLAorICAiZmZmZmNjZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQz
MDA1YTMyIiwKKyAgImZmZmZlNWY3ZmNiOWQ5ZjBhM2FkZGQ4ZTc4YzY3OTQxYWI1ZDIzODQ0MzAw
NWEzMiIsCisgICJmZmZmZTVmN2ZjYjlkOWYwYTNhZGRkOGU3OGM2Nzk0MWFiNWQyMzg0NDMwMDY4
MzcwMDQ1MjkiCispLm1hcChjb2xvcnMpOworCit2YXIgWWxHbiA9IHJhbXAoc2NoZW1lJGkpOwor
Cit2YXIgc2NoZW1lJGogPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZmZmN2JjZmVjNDRmZDk1
ZjBlIiwKKyAgImZmZmZkNGZlZDk4ZWZlOTkyOWNjNGMwMiIsCisgICJmZmZmZDRmZWQ5OGVmZTk5
MjlkOTVmMGU5OTM0MDQiLAorICAiZmZmZmQ0ZmVlMzkxZmVjNDRmZmU5OTI5ZDk1ZjBlOTkzNDA0
IiwKKyAgImZmZmZkNGZlZTM5MWZlYzQ0ZmZlOTkyOWVjNzAxNGNjNGMwMjhjMmQwNCIsCisgICJm
ZmZmZTVmZmY3YmNmZWUzOTFmZWM0NGZmZTk5MjllYzcwMTRjYzRjMDI4YzJkMDQiLAorICAiZmZm
ZmU1ZmZmN2JjZmVlMzkxZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOTkzNDA0NjYyNTA2IgorKS5t
YXAoY29sb3JzKTsKKwordmFyIFlsT3JCciA9IHJhbXAoc2NoZW1lJGopOworCit2YXIgc2NoZW1l
JGsgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZmZlZGEwZmViMjRjZjAzYjIwIiwKKyAgImZm
ZmZiMmZlY2M1Y2ZkOGQzY2UzMWExYyIsCisgICJmZmZmYjJmZWNjNWNmZDhkM2NmMDNiMjBiZDAw
MjYiLAorICAiZmZmZmIyZmVkOTc2ZmViMjRjZmQ4ZDNjZjAzYjIwYmQwMDI2IiwKKyAgImZmZmZi
MmZlZDk3NmZlYjI0Y2ZkOGQzY2ZjNGUyYWUzMWExY2IxMDAyNiIsCisgICJmZmZmY2NmZmVkYTBm
ZWQ5NzZmZWIyNGNmZDhkM2NmYzRlMmFlMzFhMWNiMTAwMjYiLAorICAiZmZmZmNjZmZlZGEwZmVk
OTc2ZmViMjRjZmQ4ZDNjZmM0ZTJhZTMxYTFjYmQwMDI2ODAwMDI2IgorKS5tYXAoY29sb3JzKTsK
KwordmFyIFlsT3JSZCA9IHJhbXAoc2NoZW1lJGspOworCit2YXIgc2NoZW1lJGwgPSBuZXcgQXJy
YXkoMykuY29uY2F0KAorICAiZGVlYmY3OWVjYWUxMzE4MmJkIiwKKyAgImVmZjNmZmJkZDdlNzZi
YWVkNjIxNzFiNSIsCisgICJlZmYzZmZiZGQ3ZTc2YmFlZDYzMTgyYmQwODUxOWMiLAorICAiZWZm
M2ZmYzZkYmVmOWVjYWUxNmJhZWQ2MzE4MmJkMDg1MTljIiwKKyAgImVmZjNmZmM2ZGJlZjllY2Fl
MTZiYWVkNjQyOTJjNjIxNzFiNTA4NDU5NCIsCisgICJmN2ZiZmZkZWViZjdjNmRiZWY5ZWNhZTE2
YmFlZDY0MjkyYzYyMTcxYjUwODQ1OTQiLAorICAiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJh
ZWQ2NDI5MmM2MjE3MWI1MDg1MTljMDgzMDZiIgorKS5tYXAoY29sb3JzKTsKKwordmFyIEJsdWVz
ID0gcmFtcChzY2hlbWUkbCk7CisKK3ZhciBzY2hlbWUkbSA9IG5ldyBBcnJheSgzKS5jb25jYXQo
CisgICJlNWY1ZTBhMWQ5OWIzMWEzNTQiLAorICAiZWRmOGU5YmFlNGIzNzRjNDc2MjM4YjQ1IiwK
KyAgImVkZjhlOWJhZTRiMzc0YzQ3NjMxYTM1NDAwNmQyYyIsCisgICJlZGY4ZTljN2U5YzBhMWQ5
OWI3NGM0NzYzMWEzNTQwMDZkMmMiLAorICAiZWRmOGU5YzdlOWMwYTFkOTliNzRjNDc2NDFhYjVk
MjM4YjQ1MDA1YTMyIiwKKyAgImY3ZmNmNWU1ZjVlMGM3ZTljMGExZDk5Yjc0YzQ3NjQxYWI1ZDIz
OGI0NTAwNWEzMiIsCisgICJmN2ZjZjVlNWY1ZTBjN2U5YzBhMWQ5OWI3NGM0NzY0MWFiNWQyMzhi
NDUwMDZkMmMwMDQ0MWIiCispLm1hcChjb2xvcnMpOworCit2YXIgR3JlZW5zID0gcmFtcChzY2hl
bWUkbSk7CisKK3ZhciBzY2hlbWUkbiA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJmMGYwZjBi
ZGJkYmQ2MzYzNjMiLAorICAiZjdmN2Y3Y2NjY2NjOTY5Njk2NTI1MjUyIiwKKyAgImY3ZjdmN2Nj
Y2NjYzk2OTY5NjYzNjM2MzI1MjUyNSIsCisgICJmN2Y3ZjdkOWQ5ZDliZGJkYmQ5Njk2OTY2MzYz
NjMyNTI1MjUiLAorICAiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1
IiwKKyAgImZmZmZmZmYwZjBmMGQ5ZDlkOWJkYmRiZDk2OTY5NjczNzM3MzUyNTI1MjI1MjUyNSIs
CisgICJmZmZmZmZmMGYwZjBkOWQ5ZDliZGJkYmQ5Njk2OTY3MzczNzM1MjUyNTIyNTI1MjUwMDAw
MDAiCispLm1hcChjb2xvcnMpOworCit2YXIgR3JleXMgPSByYW1wKHNjaGVtZSRuKTsKKwordmFy
IHNjaGVtZSRvID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImVmZWRmNWJjYmRkYzc1NmJiMSIs
CisgICJmMmYwZjdjYmM5ZTI5ZTlhYzg2YTUxYTMiLAorICAiZjJmMGY3Y2JjOWUyOWU5YWM4NzU2
YmIxNTQyNzhmIiwKKyAgImYyZjBmN2RhZGFlYmJjYmRkYzllOWFjODc1NmJiMTU0Mjc4ZiIsCisg
ICJmMmYwZjdkYWRhZWJiY2JkZGM5ZTlhYzg4MDdkYmE2YTUxYTM0YTE0ODYiLAorICAiZmNmYmZk
ZWZlZGY1ZGFkYWViYmNiZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNGExNDg2IiwKKyAgImZjZmJmZGVm
ZWRmNWRhZGFlYmJjYmRkYzllOWFjODgwN2RiYTZhNTFhMzU0Mjc4ZjNmMDA3ZCIKKykubWFwKGNv
bG9ycyk7CisKK3ZhciBQdXJwbGVzID0gcmFtcChzY2hlbWUkbyk7CisKK3ZhciBzY2hlbWUkcCA9
IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJmZWUwZDJmYzkyNzJkZTJkMjYiLAorICAiZmVlNWQ5
ZmNhZTkxZmI2YTRhY2IxODFkIiwKKyAgImZlZTVkOWZjYWU5MWZiNmE0YWRlMmQyNmE1MGYxNSIs
CisgICJmZWU1ZDlmY2JiYTFmYzkyNzJmYjZhNGFkZTJkMjZhNTBmMTUiLAorICAiZmVlNWQ5ZmNi
YmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkOTkwMDBkIiwKKyAgImZmZjVmMGZlZTBkMmZjYmJh
MWZjOTI3MmZiNmE0YWVmM2IyY2NiMTgxZDk5MDAwZCIsCisgICJmZmY1ZjBmZWUwZDJmY2JiYTFm
YzkyNzJmYjZhNGFlZjNiMmNjYjE4MWRhNTBmMTU2NzAwMGQiCispLm1hcChjb2xvcnMpOworCit2
YXIgUmVkcyA9IHJhbXAoc2NoZW1lJHApOworCit2YXIgc2NoZW1lJHEgPSBuZXcgQXJyYXkoMyku
Y29uY2F0KAorICAiZmVlNmNlZmRhZTZiZTY1NTBkIiwKKyAgImZlZWRkZWZkYmU4NWZkOGQzY2Q5
NDcwMSIsCisgICJmZWVkZGVmZGJlODVmZDhkM2NlNjU1MGRhNjM2MDMiLAorICAiZmVlZGRlZmRk
MGEyZmRhZTZiZmQ4ZDNjZTY1NTBkYTYzNjAzIiwKKyAgImZlZWRkZWZkZDBhMmZkYWU2YmZkOGQz
Y2YxNjkxM2Q5NDgwMThjMmQwNCIsCisgICJmZmY1ZWJmZWU2Y2VmZGQwYTJmZGFlNmJmZDhkM2Nm
MTY5MTNkOTQ4MDE4YzJkMDQiLAorICAiZmZmNWViZmVlNmNlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2
OTEzZDk0ODAxYTYzNjAzN2YyNzA0IgorKS5tYXAoY29sb3JzKTsKKwordmFyIE9yYW5nZXMgPSBy
YW1wKHNjaGVtZSRxKTsKKworZnVuY3Rpb24gY2l2aWRpcyh0KSB7CisgIHQgPSBNYXRoLm1heCgw
LCBNYXRoLm1pbigxLCB0KSk7CisgIHJldHVybiAicmdiKCIKKyAgICAgICsgTWF0aC5tYXgoMCwg
TWF0aC5taW4oMjU1LCBNYXRoLnJvdW5kKC00LjU0IC0gdCAqICgzNS4zNCAtIHQgKiAoMjM4MS43
MyAtIHQgKiAoNjQwMi43IC0gdCAqICg3MDI0LjcyIC0gdCAqIDI3MTAuNTcpKSkpKSkpICsgIiwg
IgorICAgICAgKyBNYXRoLm1heCgwLCBNYXRoLm1pbigyNTUsIE1hdGgucm91bmQoMzIuNDkgKyB0
ICogKDE3MC43MyArIHQgKiAoNTIuODIgLSB0ICogKDEzMS40NiAtIHQgKiAoMTc2LjU4IC0gdCAq
IDY3LjM3KSkpKSkpKSArICIsICIKKyAgICAgICsgTWF0aC5tYXgoMCwgTWF0aC5taW4oMjU1LCBN
YXRoLnJvdW5kKDgxLjI0ICsgdCAqICg0NDIuMzYgLSB0ICogKDI0ODIuNDMgLSB0ICogKDYxNjcu
MjQgLSB0ICogKDY2MTQuOTQgLSB0ICogMjQ3NS42NykpKSkpKSkKKyAgICAgICsgIikiOworfQor
Cit2YXIgY3ViZWhlbGl4JDMgPSBjdWJlaGVsaXhMb25nKGN1YmVoZWxpeCgzMDAsIDAuNSwgMC4w
KSwgY3ViZWhlbGl4KC0yNDAsIDAuNSwgMS4wKSk7CisKK3ZhciB3YXJtID0gY3ViZWhlbGl4TG9u
ZyhjdWJlaGVsaXgoLTEwMCwgMC43NSwgMC4zNSksIGN1YmVoZWxpeCg4MCwgMS41MCwgMC44KSk7
CisKK3ZhciBjb29sID0gY3ViZWhlbGl4TG9uZyhjdWJlaGVsaXgoMjYwLCAwLjc1LCAwLjM1KSwg
Y3ViZWhlbGl4KDgwLCAxLjUwLCAwLjgpKTsKKwordmFyIGMgPSBjdWJlaGVsaXgoKTsKKworZnVu
Y3Rpb24gcmFpbmJvdyh0KSB7CisgIGlmICh0IDwgMCB8fCB0ID4gMSkgdCAtPSBNYXRoLmZsb29y
KHQpOworICB2YXIgdHMgPSBNYXRoLmFicyh0IC0gMC41KTsKKyAgYy5oID0gMzYwICogdCAtIDEw
MDsKKyAgYy5zID0gMS41IC0gMS41ICogdHM7CisgIGMubCA9IDAuOCAtIDAuOSAqIHRzOworICBy
ZXR1cm4gYyArICIiOworfQorCit2YXIgYyQxID0gcmdiKCksCisgICAgcGlfMV8zID0gTWF0aC5Q
SSAvIDMsCisgICAgcGlfMl8zID0gTWF0aC5QSSAqIDIgLyAzOworCitmdW5jdGlvbiBzaW5lYm93
KHQpIHsKKyAgdmFyIHg7CisgIHQgPSAoMC41IC0gdCkgKiBNYXRoLlBJOworICBjJDEuciA9IDI1
NSAqICh4ID0gTWF0aC5zaW4odCkpICogeDsKKyAgYyQxLmcgPSAyNTUgKiAoeCA9IE1hdGguc2lu
KHQgKyBwaV8xXzMpKSAqIHg7CisgIGMkMS5iID0gMjU1ICogKHggPSBNYXRoLnNpbih0ICsgcGlf
Ml8zKSkgKiB4OworICByZXR1cm4gYyQxICsgIiI7Cit9CisKK2Z1bmN0aW9uIHR1cmJvKHQpIHsK
KyAgdCA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEsIHQpKTsKKyAgcmV0dXJuICJyZ2IoIgorICAg
ICAgKyBNYXRoLm1heCgwLCBNYXRoLm1pbigyNTUsIE1hdGgucm91bmQoMzQuNjEgKyB0ICogKDEx
NzIuMzMgLSB0ICogKDEwNzkzLjU2IC0gdCAqICgzMzMwMC4xMiAtIHQgKiAoMzgzOTQuNDkgLSB0
ICogMTQ4MjUuMDUpKSkpKSkpICsgIiwgIgorICAgICAgKyBNYXRoLm1heCgwLCBNYXRoLm1pbigy
NTUsIE1hdGgucm91bmQoMjMuMzEgKyB0ICogKDU1Ny4zMyArIHQgKiAoMTIyNS4zMyAtIHQgKiAo
MzU3NC45NiAtIHQgKiAoMTA3My43NyArIHQgKiA3MDcuNTYpKSkpKSkpICsgIiwgIgorICAgICAg
KyBNYXRoLm1heCgwLCBNYXRoLm1pbigyNTUsIE1hdGgucm91bmQoMjcuMiArIHQgKiAoMzIxMS4x
IC0gdCAqICgxNTMyNy45NyAtIHQgKiAoMjc4MTQgLSB0ICogKDIyNTY5LjE4IC0gdCAqIDY4Mzgu
NjYpKSkpKSkpCisgICAgICArICIpIjsKK30KKworZnVuY3Rpb24gcmFtcCQxKHJhbmdlKSB7Cisg
IHZhciBuID0gcmFuZ2UubGVuZ3RoOworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHJldHVy
biByYW5nZVtNYXRoLm1heCgwLCBNYXRoLm1pbihuIC0gMSwgTWF0aC5mbG9vcih0ICogbikpKV07
CisgIH07Cit9CisKK3ZhciB2aXJpZGlzID0gcmFtcCQxKGNvbG9ycygiNDQwMTU0NDQwMjU2NDUw
NDU3NDUwNTU5NDYwNzVhNDYwODVjNDYwYTVkNDYwYjVlNDcwZDYwNDcwZTYxNDcxMDYzNDcxMTY0
NDcxMzY1NDgxNDY3NDgxNjY4NDgxNzY5NDgxODZhNDgxYTZjNDgxYjZkNDgxYzZlNDgxZDZmNDgx
ZjcwNDgyMDcxNDgyMTczNDgyMzc0NDgyNDc1NDgyNTc2NDgyNjc3NDgyODc4NDgyOTc5NDcyYTdh
NDcyYzdhNDcyZDdiNDcyZTdjNDcyZjdkNDYzMDdlNDYzMjdlNDYzMzdmNDYzNDgwNDUzNTgxNDUz
NzgxNDUzODgyNDQzOTgzNDQzYTgzNDQzYjg0NDMzZDg0NDMzZTg1NDIzZjg1NDI0MDg2NDI0MTg2
NDE0Mjg3NDE0NDg3NDA0NTg4NDA0Njg4M2Y0Nzg4M2Y0ODg5M2U0OTg5M2U0YTg5M2U0YzhhM2Q0
ZDhhM2Q0ZThhM2M0ZjhhM2M1MDhiM2I1MThiM2I1MjhiM2E1MzhiM2E1NDhjMzk1NThjMzk1Njhj
Mzg1ODhjMzg1OThjMzc1YThjMzc1YjhkMzY1YzhkMzY1ZDhkMzU1ZThkMzU1ZjhkMzQ2MDhkMzQ2
MThkMzM2MjhkMzM2MzhkMzI2NDhlMzI2NThlMzE2NjhlMzE2NzhlMzE2ODhlMzA2OThlMzA2YThl
MmY2YjhlMmY2YzhlMmU2ZDhlMmU2ZThlMmU2ZjhlMmQ3MDhlMmQ3MThlMmM3MThlMmM3MjhlMmM3
MzhlMmI3NDhlMmI3NThlMmE3NjhlMmE3NzhlMmE3ODhlMjk3OThlMjk3YThlMjk3YjhlMjg3Yzhl
Mjg3ZDhlMjc3ZThlMjc3ZjhlMjc4MDhlMjY4MThlMjY4MjhlMjY4MjhlMjU4MzhlMjU4NDhlMjU4
NThlMjQ4NjhlMjQ4NzhlMjM4ODhlMjM4OThlMjM4YThkMjI4YjhkMjI4YzhkMjI4ZDhkMjE4ZThk
MjE4ZjhkMjE5MDhkMjE5MThjMjA5MjhjMjA5MjhjMjA5MzhjMWY5NDhjMWY5NThiMWY5NjhiMWY5
NzhiMWY5ODhiMWY5OThhMWY5YThhMWU5YjhhMWU5Yzg5MWU5ZDg5MWY5ZTg5MWY5Zjg4MWZhMDg4
MWZhMTg4MWZhMTg3MWZhMjg3MjBhMzg2MjBhNDg2MjFhNTg1MjFhNjg1MjJhNzg1MjJhODg0MjNh
OTgzMjRhYTgzMjVhYjgyMjVhYzgyMjZhZDgxMjdhZDgxMjhhZTgwMjlhZjdmMmFiMDdmMmNiMTdl
MmRiMjdkMmViMzdjMmZiNDdjMzFiNTdiMzJiNjdhMzRiNjc5MzViNzc5MzdiODc4MzhiOTc3M2Fi
YTc2M2JiYjc1M2RiYzc0M2ZiYzczNDBiZDcyNDJiZTcxNDRiZjcwNDZjMDZmNDhjMTZlNGFjMTZk
NGNjMjZjNGVjMzZiNTBjNDZhNTJjNTY5NTRjNTY4NTZjNjY3NThjNzY1NWFjODY0NWNjODYzNWVj
OTYyNjBjYTYwNjNjYjVmNjVjYjVlNjdjYzVjNjljZDViNmNjZDVhNmVjZTU4NzBjZjU3NzNkMDU2
NzVkMDU0NzdkMTUzN2FkMTUxN2NkMjUwN2ZkMzRlODFkMzRkODRkNDRiODZkNTQ5ODlkNTQ4OGJk
NjQ2OGVkNjQ1OTBkNzQzOTNkNzQxOTVkODQwOThkODNlOWJkOTNjOWRkOTNiYTBkYTM5YTJkYTM3
YTVkYjM2YThkYjM0YWFkYzMyYWRkYzMwYjBkZDJmYjJkZDJkYjVkZTJiYjhkZTI5YmFkZTI4YmRk
ZjI2YzBkZjI1YzJkZjIzYzVlMDIxYzhlMDIwY2FlMTFmY2RlMTFkZDBlMTFjZDJlMjFiZDVlMjFh
ZDhlMjE5ZGFlMzE5ZGRlMzE4ZGZlMzE4ZTJlNDE4ZTVlNDE5ZTdlNDE5ZWFlNTFhZWNlNTFiZWZl
NTFjZjFlNTFkZjRlNjFlZjZlNjIwZjhlNjIxZmJlNzIzZmRlNzI1IikpOworCit2YXIgbWFnbWEg
PSByYW1wJDEoY29sb3JzKCIwMDAwMDQwMTAwMDUwMTAxMDYwMTAxMDgwMjAxMDkwMjAyMGIwMjAy
MGQwMzAzMGYwMzAzMTIwNDA0MTQwNTA0MTYwNjA1MTgwNjA1MWEwNzA2MWMwODA3MWUwOTA3MjAw
YTA4MjIwYjA5MjQwYzA5MjYwZDBhMjkwZTBiMmIxMDBiMmQxMTBjMmYxMjBkMzExMzBkMzQxNDBl
MzYxNTBlMzgxNjBmM2IxODBmM2QxOTEwM2YxYTEwNDIxYzEwNDQxZDExNDcxZTExNDkyMDExNGIy
MTExNGUyMjExNTAyNDEyNTMyNTEyNTUyNzEyNTgyOTExNWEyYTExNWMyYzExNWYyZDExNjEyZjEx
NjMzMTExNjUzMzEwNjczNDEwNjkzNjEwNmIzODEwNmMzOTBmNmUzYjBmNzAzZDBmNzEzZjBmNzI0
MDBmNzQ0MjBmNzU0NDBmNzY0NTEwNzc0NzEwNzg0OTEwNzg0YTEwNzk0YzExN2E0ZTExN2I0ZjEy
N2I1MTEyN2M1MjEzN2M1NDEzN2Q1NjE0N2Q1NzE1N2U1OTE1N2U1YTE2N2U1YzE2N2Y1ZDE3N2Y1
ZjE4N2Y2MDE4ODA2MjE5ODA2NDFhODA2NTFhODA2NzFiODA2ODFjODE2YTFjODE2YjFkODE2ZDFk
ODE2ZTFlODE3MDFmODE3MjFmODE3MzIwODE3NTIxODE3NjIxODE3ODIyODE3OTIyODI3YjIzODI3
YzIzODI3ZTI0ODI4MDI1ODI4MTI1ODE4MzI2ODE4NDI2ODE4NjI3ODE4ODI3ODE4OTI4ODE4YjI5
ODE4YzI5ODE4ZTJhODE5MDJhODE5MTJiODE5MzJiODA5NDJjODA5NjJjODA5ODJkODA5OTJkODA5
YjJlN2Y5YzJlN2Y5ZTJmN2ZhMDJmN2ZhMTMwN2VhMzMwN2VhNTMxN2VhNjMxN2RhODMyN2RhYTMz
N2RhYjMzN2NhZDM0N2NhZTM0N2JiMDM1N2JiMjM1N2JiMzM2N2FiNTM2N2FiNzM3NzliODM3Nzli
YTM4NzhiYzM5NzhiZDM5NzdiZjNhNzdjMDNhNzZjMjNiNzVjNDNjNzVjNTNjNzRjNzNkNzNjODNl
NzNjYTNlNzJjYzNmNzFjZDQwNzFjZjQwNzBkMDQxNmZkMjQyNmZkMzQzNmVkNTQ0NmRkNjQ1NmNk
ODQ1NmNkOTQ2NmJkYjQ3NmFkYzQ4NjlkZTQ5NjhkZjRhNjhlMDRjNjdlMjRkNjZlMzRlNjVlNDRm
NjRlNTUwNjRlNzUyNjNlODUzNjJlOTU0NjJlYTU2NjFlYjU3NjBlYzU4NjBlZDVhNWZlZTViNWVl
ZjVkNWVmMDVmNWVmMTYwNWRmMjYyNWRmMjY0NWNmMzY1NWNmNDY3NWNmNDY5NWNmNTZiNWNmNjZj
NWNmNjZlNWNmNzcwNWNmNzcyNWNmODc0NWNmODc2NWNmOTc4NWRmOTc5NWRmOTdiNWRmYTdkNWVm
YTdmNWVmYTgxNWZmYjgzNWZmYjg1NjBmYjg3NjFmYzg5NjFmYzhhNjJmYzhjNjNmYzhlNjRmYzkw
NjVmZDkyNjZmZDk0NjdmZDk2NjhmZDk4NjlmZDlhNmFmZDliNmJmZTlkNmNmZTlmNmRmZWExNmVm
ZWEzNmZmZWE1NzFmZWE3NzJmZWE5NzNmZWFhNzRmZWFjNzZmZWFlNzdmZWIwNzhmZWIyN2FmZWI0
N2JmZWI2N2NmZWI3N2VmZWI5N2ZmZWJiODFmZWJkODJmZWJmODRmZWMxODVmZWMyODdmZWM0ODhm
ZWM2OGFmZWM4OGNmZWNhOGRmZWNjOGZmZWNkOTBmZWNmOTJmZWQxOTRmZWQzOTVmZWQ1OTdmZWQ3
OTlmZWQ4OWFmZGRhOWNmZGRjOWVmZGRlYTBmZGUwYTFmZGUyYTNmZGUzYTVmZGU1YTdmZGU3YTlm
ZGU5YWFmZGViYWNmY2VjYWVmY2VlYjBmY2YwYjJmY2YyYjRmY2Y0YjZmY2Y2YjhmY2Y3YjlmY2Y5
YmJmY2ZiYmRmY2ZkYmYiKSk7CisKK3ZhciBpbmZlcm5vID0gcmFtcCQxKGNvbG9ycygiMDAwMDA0
MDEwMDA1MDEwMTA2MDEwMTA4MDIwMTBhMDIwMjBjMDIwMjBlMDMwMjEwMDQwMzEyMDQwMzE0MDUw
NDE3MDYwNDE5MDcwNTFiMDgwNTFkMDkwNjFmMGEwNzIyMGIwNzI0MGMwODI2MGQwODI5MGUwOTJi
MTAwOTJkMTEwYTMwMTIwYTMyMTQwYjM0MTUwYjM3MTYwYjM5MTgwYzNjMTkwYzNlMWIwYzQxMWMw
YzQzMWUwYzQ1MWYwYzQ4MjEwYzRhMjMwYzRjMjQwYzRmMjYwYzUxMjgwYjUzMjkwYjU1MmIwYjU3
MmQwYjU5MmYwYTViMzEwYTVjMzIwYTVlMzQwYTVmMzYwOTYxMzgwOTYyMzkwOTYzM2IwOTY0M2Qw
OTY1M2UwOTY2NDAwYTY3NDIwYTY4NDQwYTY4NDUwYTY5NDcwYjZhNDkwYjZhNGEwYzZiNGMwYzZi
NGQwZDZjNGYwZDZjNTEwZTZjNTIwZTZkNTQwZjZkNTUwZjZkNTcxMDZlNTkxMDZlNWExMTZlNWMx
MjZlNWQxMjZlNWYxMzZlNjExMzZlNjIxNDZlNjQxNTZlNjUxNTZlNjcxNjZlNjkxNjZlNmExNzZl
NmMxODZlNmQxODZlNmYxOTZlNzExOTZlNzIxYTZlNzQxYTZlNzUxYjZlNzcxYzZkNzgxYzZkN2Ex
ZDZkN2MxZDZkN2QxZTZkN2YxZTZjODAxZjZjODIyMDZjODQyMDZiODUyMTZiODcyMTZiODgyMjZh
OGEyMjZhOGMyMzY5OGQyMzY5OGYyNDY5OTAyNTY4OTIyNTY4OTMyNjY3OTUyNjY3OTcyNzY2OTgy
NzY2OWEyODY1OWIyOTY0OWQyOTY0OWYyYTYzYTAyYTYzYTIyYjYyYTMyYzYxYTUyYzYwYTYyZDYw
YTgyZTVmYTkyZTVlYWIyZjVlYWQzMDVkYWUzMDVjYjAzMTViYjEzMjVhYjMzMjVhYjQzMzU5YjYz
NDU4YjczNTU3YjkzNTU2YmEzNjU1YmMzNzU0YmQzODUzYmYzOTUyYzAzYTUxYzEzYTUwYzMzYjRm
YzQzYzRlYzYzZDRkYzczZTRjYzgzZjRiY2E0MDRhY2I0MTQ5Y2M0MjQ4Y2U0MzQ3Y2Y0NDQ2ZDA0
NTQ1ZDI0NjQ0ZDM0NzQzZDQ0ODQyZDU0YTQxZDc0YjNmZDg0YzNlZDk0ZDNkZGE0ZTNjZGI1MDNi
ZGQ1MTNhZGU1MjM4ZGY1MzM3ZTA1NTM2ZTE1NjM1ZTI1NzM0ZTM1OTMzZTQ1YTMxZTU1YzMwZTY1
ZDJmZTc1ZTJlZTg2MDJkZTk2MTJiZWE2MzJhZWI2NDI5ZWI2NjI4ZWM2NzI2ZWQ2OTI1ZWU2YTI0
ZWY2YzIzZWY2ZTIxZjA2ZjIwZjE3MTFmZjE3MzFkZjI3NDFjZjM3NjFiZjM3ODE5ZjQ3OTE4ZjU3
YjE3ZjU3ZDE1ZjY3ZTE0ZjY4MDEzZjc4MjEyZjc4NDEwZjg4NTBmZjg4NzBlZjg4OTBjZjk4YjBi
Zjk4YzBhZjk4ZTA5ZmE5MDA4ZmE5MjA3ZmE5NDA3ZmI5NjA2ZmI5NzA2ZmI5OTA2ZmI5YjA2ZmI5
ZDA3ZmM5ZjA3ZmNhMTA4ZmNhMzA5ZmNhNTBhZmNhNjBjZmNhODBkZmNhYTBmZmNhYzExZmNhZTEy
ZmNiMDE0ZmNiMjE2ZmNiNDE4ZmJiNjFhZmJiODFkZmJiYTFmZmJiYzIxZmJiZTIzZmFjMDI2ZmFj
MjI4ZmFjNDJhZmFjNjJkZjljNzJmZjljOTMyZjljYjM1ZjhjZDM3ZjhjZjNhZjdkMTNkZjdkMzQw
ZjZkNTQzZjZkNzQ2ZjVkOTQ5ZjVkYjRjZjRkZDRmZjRkZjUzZjRlMTU2ZjNlMzVhZjNlNTVkZjJl
NjYxZjJlODY1ZjJlYTY5ZjFlYzZkZjFlZDcxZjFlZjc1ZjFmMTc5ZjJmMjdkZjJmNDgyZjNmNTg2
ZjNmNjhhZjRmODhlZjVmOTkyZjZmYTk2ZjhmYjlhZjlmYzlkZmFmZGExZmNmZmE0IikpOworCit2
YXIgcGxhc21hID0gcmFtcCQxKGNvbG9ycygiMGQwODg3MTAwNzg4MTMwNzg5MTYwNzhhMTkwNjhj
MWIwNjhkMWQwNjhlMjAwNjhmMjIwNjkwMjQwNjkxMjYwNTkxMjgwNTkyMmEwNTkzMmMwNTk0MmUw
NTk1MmYwNTk2MzEwNTk3MzMwNTk3MzUwNDk4MzcwNDk5MzgwNDlhM2EwNDlhM2MwNDliM2UwNDlj
M2YwNDljNDEwNDlkNDMwMzllNDQwMzllNDYwMzlmNDgwMzlmNDkwM2EwNGIwM2ExNGMwMmExNGUw
MmEyNTAwMmEyNTEwMmEzNTMwMmEzNTUwMmE0NTYwMWE0NTgwMWE0NTkwMWE1NWIwMWE1NWMwMWE2
NWUwMWE2NjAwMWE2NjEwMGE3NjMwMGE3NjQwMGE3NjYwMGE3NjcwMGE4NjkwMGE4NmEwMGE4NmMw
MGE4NmUwMGE4NmYwMGE4NzEwMGE4NzIwMWE4NzQwMWE4NzUwMWE4NzcwMWE4NzgwMWE4N2EwMmE4
N2IwMmE4N2QwM2E4N2UwM2E4ODAwNGE4ODEwNGE3ODMwNWE3ODQwNWE3ODYwNmE2ODcwN2E2ODgw
OGE2OGEwOWE1OGIwYWE1OGQwYmE1OGUwY2E0OGYwZGE0OTEwZWEzOTIwZmEzOTQxMGEyOTUxMWEx
OTYxM2ExOTgxNGEwOTkxNTlmOWExNjlmOWMxNzllOWQxODlkOWUxOTlkYTAxYTljYTExYjliYTIx
ZDlhYTMxZTlhYTUxZjk5YTYyMDk4YTcyMTk3YTgyMjk2YWEyMzk1YWIyNDk0YWMyNjk0YWQyNzkz
YWUyODkyYjAyOTkxYjEyYTkwYjIyYjhmYjMyYzhlYjQyZThkYjUyZjhjYjYzMDhiYjczMThhYjgz
Mjg5YmEzMzg4YmIzNDg4YmMzNTg3YmQzNzg2YmUzODg1YmYzOTg0YzAzYTgzYzEzYjgyYzIzYzgx
YzMzZDgwYzQzZTdmYzU0MDdlYzY0MTdkYzc0MjdjYzg0MzdiYzk0NDdhY2E0NTdhY2I0Njc5Y2M0
Nzc4Y2M0OTc3Y2Q0YTc2Y2U0Yjc1Y2Y0Yzc0ZDA0ZDczZDE0ZTcyZDI0ZjcxZDM1MTcxZDQ1Mjcw
ZDU1MzZmZDU1NDZlZDY1NTZkZDc1NjZjZDg1NzZiZDk1ODZhZGE1YTZhZGE1YjY5ZGI1YzY4ZGM1
ZDY3ZGQ1ZTY2ZGU1ZjY1ZGU2MTY0ZGY2MjYzZTA2MzYzZTE2NDYyZTI2NTYxZTI2NjYwZTM2ODVm
ZTQ2OTVlZTU2YTVkZTU2YjVkZTY2YzVjZTc2ZTViZTc2ZjVhZTg3MDU5ZTk3MTU4ZTk3MjU3ZWE3
NDU3ZWI3NTU2ZWI3NjU1ZWM3NzU0ZWQ3OTUzZWQ3YTUyZWU3YjUxZWY3YzUxZWY3ZTUwZjA3ZjRm
ZjA4MDRlZjE4MTRkZjE4MzRjZjI4NDRiZjM4NTRiZjM4NzRhZjQ4ODQ5ZjQ4OTQ4ZjU4YjQ3ZjU4
YzQ2ZjY4ZDQ1ZjY4ZjQ0Zjc5MDQ0Zjc5MTQzZjc5MzQyZjg5NDQxZjg5NTQwZjk5NzNmZjk5ODNl
Zjk5YTNlZmE5YjNkZmE5YzNjZmE5ZTNiZmI5ZjNhZmJhMTM5ZmJhMjM4ZmNhMzM4ZmNhNTM3ZmNh
NjM2ZmNhODM1ZmNhOTM0ZmRhYjMzZmRhYzMzZmRhZTMyZmRhZjMxZmRiMTMwZmRiMjJmZmRiNDJm
ZmRiNTJlZmViNzJkZmViODJjZmViYTJjZmViYjJiZmViZDJhZmViZTJhZmVjMDI5ZmRjMjI5ZmRj
MzI4ZmRjNTI3ZmRjNjI3ZmRjODI3ZmRjYTI2ZmRjYjI2ZmNjZDI1ZmNjZTI1ZmNkMDI1ZmNkMjI1
ZmJkMzI0ZmJkNTI0ZmJkNzI0ZmFkODI0ZmFkYTI0ZjlkYzI0ZjlkZDI1ZjhkZjI1ZjhlMTI1Zjdl
MjI1ZjdlNDI1ZjZlNjI2ZjZlODI2ZjVlOTI2ZjVlYjI3ZjRlZDI3ZjNlZTI3ZjNmMDI3ZjJmMjI3
ZjFmNDI2ZjFmNTI1ZjBmNzI0ZjBmOTIxIikpOworCitmdW5jdGlvbiBjb25zdGFudCRiKHgpIHsK
KyAgcmV0dXJuIGZ1bmN0aW9uIGNvbnN0YW50KCkgeworICAgIHJldHVybiB4OworICB9OworfQor
Cit2YXIgYWJzJDEgPSBNYXRoLmFiczsKK3ZhciBhdGFuMiQxID0gTWF0aC5hdGFuMjsKK3ZhciBj
b3MkMiA9IE1hdGguY29zOwordmFyIG1heCQyID0gTWF0aC5tYXg7Cit2YXIgbWluJDEgPSBNYXRo
Lm1pbjsKK3ZhciBzaW4kMiA9IE1hdGguc2luOwordmFyIHNxcnQkMiA9IE1hdGguc3FydDsKKwor
dmFyIGVwc2lsb24kMyA9IDFlLTEyOwordmFyIHBpJDQgPSBNYXRoLlBJOwordmFyIGhhbGZQaSQz
ID0gcGkkNCAvIDI7Cit2YXIgdGF1JDQgPSAyICogcGkkNDsKKworZnVuY3Rpb24gYWNvcyQxKHgp
IHsKKyAgcmV0dXJuIHggPiAxID8gMCA6IHggPCAtMSA/IHBpJDQgOiBNYXRoLmFjb3MoeCk7Cit9
CisKK2Z1bmN0aW9uIGFzaW4kMSh4KSB7CisgIHJldHVybiB4ID49IDEgPyBoYWxmUGkkMyA6IHgg
PD0gLTEgPyAtaGFsZlBpJDMgOiBNYXRoLmFzaW4oeCk7Cit9CisKK2Z1bmN0aW9uIGFyY0lubmVy
UmFkaXVzKGQpIHsKKyAgcmV0dXJuIGQuaW5uZXJSYWRpdXM7Cit9CisKK2Z1bmN0aW9uIGFyY091
dGVyUmFkaXVzKGQpIHsKKyAgcmV0dXJuIGQub3V0ZXJSYWRpdXM7Cit9CisKK2Z1bmN0aW9uIGFy
Y1N0YXJ0QW5nbGUoZCkgeworICByZXR1cm4gZC5zdGFydEFuZ2xlOworfQorCitmdW5jdGlvbiBh
cmNFbmRBbmdsZShkKSB7CisgIHJldHVybiBkLmVuZEFuZ2xlOworfQorCitmdW5jdGlvbiBhcmNQ
YWRBbmdsZShkKSB7CisgIHJldHVybiBkICYmIGQucGFkQW5nbGU7IC8vIE5vdGU6IG9wdGlvbmFs
IQorfQorCitmdW5jdGlvbiBpbnRlcnNlY3QoeDAsIHkwLCB4MSwgeTEsIHgyLCB5MiwgeDMsIHkz
KSB7CisgIHZhciB4MTAgPSB4MSAtIHgwLCB5MTAgPSB5MSAtIHkwLAorICAgICAgeDMyID0geDMg
LSB4MiwgeTMyID0geTMgLSB5MiwKKyAgICAgIHQgPSB5MzIgKiB4MTAgLSB4MzIgKiB5MTA7Cisg
IGlmICh0ICogdCA8IGVwc2lsb24kMykgcmV0dXJuOworICB0ID0gKHgzMiAqICh5MCAtIHkyKSAt
IHkzMiAqICh4MCAtIHgyKSkgLyB0OworICByZXR1cm4gW3gwICsgdCAqIHgxMCwgeTAgKyB0ICog
eTEwXTsKK30KKworLy8gQ29tcHV0ZSBwZXJwZW5kaWN1bGFyIG9mZnNldCBsaW5lIG9mIGxlbmd0
aCByYy4KKy8vIGh0dHA6Ly9tYXRod29ybGQud29sZnJhbS5jb20vQ2lyY2xlLUxpbmVJbnRlcnNl
Y3Rpb24uaHRtbAorZnVuY3Rpb24gY29ybmVyVGFuZ2VudHMoeDAsIHkwLCB4MSwgeTEsIHIxLCBy
YywgY3cpIHsKKyAgdmFyIHgwMSA9IHgwIC0geDEsCisgICAgICB5MDEgPSB5MCAtIHkxLAorICAg
ICAgbG8gPSAoY3cgPyByYyA6IC1yYykgLyBzcXJ0JDIoeDAxICogeDAxICsgeTAxICogeTAxKSwK
KyAgICAgIG94ID0gbG8gKiB5MDEsCisgICAgICBveSA9IC1sbyAqIHgwMSwKKyAgICAgIHgxMSA9
IHgwICsgb3gsCisgICAgICB5MTEgPSB5MCArIG95LAorICAgICAgeDEwID0geDEgKyBveCwKKyAg
ICAgIHkxMCA9IHkxICsgb3ksCisgICAgICB4MDAgPSAoeDExICsgeDEwKSAvIDIsCisgICAgICB5
MDAgPSAoeTExICsgeTEwKSAvIDIsCisgICAgICBkeCA9IHgxMCAtIHgxMSwKKyAgICAgIGR5ID0g
eTEwIC0geTExLAorICAgICAgZDIgPSBkeCAqIGR4ICsgZHkgKiBkeSwKKyAgICAgIHIgPSByMSAt
IHJjLAorICAgICAgRCA9IHgxMSAqIHkxMCAtIHgxMCAqIHkxMSwKKyAgICAgIGQgPSAoZHkgPCAw
ID8gLTEgOiAxKSAqIHNxcnQkMihtYXgkMigwLCByICogciAqIGQyIC0gRCAqIEQpKSwKKyAgICAg
IGN4MCA9IChEICogZHkgLSBkeCAqIGQpIC8gZDIsCisgICAgICBjeTAgPSAoLUQgKiBkeCAtIGR5
ICogZCkgLyBkMiwKKyAgICAgIGN4MSA9IChEICogZHkgKyBkeCAqIGQpIC8gZDIsCisgICAgICBj
eTEgPSAoLUQgKiBkeCArIGR5ICogZCkgLyBkMiwKKyAgICAgIGR4MCA9IGN4MCAtIHgwMCwKKyAg
ICAgIGR5MCA9IGN5MCAtIHkwMCwKKyAgICAgIGR4MSA9IGN4MSAtIHgwMCwKKyAgICAgIGR5MSA9
IGN5MSAtIHkwMDsKKworICAvLyBQaWNrIHRoZSBjbG9zZXIgb2YgdGhlIHR3byBpbnRlcnNlY3Rp
b24gcG9pbnRzLgorICAvLyBUT0RPIElzIHRoZXJlIGEgZmFzdGVyIHdheSB0byBkZXRlcm1pbmUg
d2hpY2ggaW50ZXJzZWN0aW9uIHRvIHVzZT8KKyAgaWYgKGR4MCAqIGR4MCArIGR5MCAqIGR5MCA+
IGR4MSAqIGR4MSArIGR5MSAqIGR5MSkgY3gwID0gY3gxLCBjeTAgPSBjeTE7CisKKyAgcmV0dXJu
IHsKKyAgICBjeDogY3gwLAorICAgIGN5OiBjeTAsCisgICAgeDAxOiAtb3gsCisgICAgeTAxOiAt
b3ksCisgICAgeDExOiBjeDAgKiAocjEgLyByIC0gMSksCisgICAgeTExOiBjeTAgKiAocjEgLyBy
IC0gMSkKKyAgfTsKK30KKworZnVuY3Rpb24gYXJjKCkgeworICB2YXIgaW5uZXJSYWRpdXMgPSBh
cmNJbm5lclJhZGl1cywKKyAgICAgIG91dGVyUmFkaXVzID0gYXJjT3V0ZXJSYWRpdXMsCisgICAg
ICBjb3JuZXJSYWRpdXMgPSBjb25zdGFudCRiKDApLAorICAgICAgcGFkUmFkaXVzID0gbnVsbCwK
KyAgICAgIHN0YXJ0QW5nbGUgPSBhcmNTdGFydEFuZ2xlLAorICAgICAgZW5kQW5nbGUgPSBhcmNF
bmRBbmdsZSwKKyAgICAgIHBhZEFuZ2xlID0gYXJjUGFkQW5nbGUsCisgICAgICBjb250ZXh0ID0g
bnVsbDsKKworICBmdW5jdGlvbiBhcmMoKSB7CisgICAgdmFyIGJ1ZmZlciwKKyAgICAgICAgciwK
KyAgICAgICAgcjAgPSAraW5uZXJSYWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRzKSwKKyAgICAg
ICAgcjEgPSArb3V0ZXJSYWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRzKSwKKyAgICAgICAgYTAg
PSBzdGFydEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgLSBoYWxmUGkkMywKKyAgICAgICAg
YTEgPSBlbmRBbmdsZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpIC0gaGFsZlBpJDMsCisgICAgICAg
IGRhID0gYWJzJDEoYTEgLSBhMCksCisgICAgICAgIGN3ID0gYTEgPiBhMDsKKworICAgIGlmICgh
Y29udGV4dCkgY29udGV4dCA9IGJ1ZmZlciA9IHBhdGgoKTsKKworICAgIC8vIEVuc3VyZSB0aGF0
IHRoZSBvdXRlciByYWRpdXMgaXMgYWx3YXlzIGxhcmdlciB0aGFuIHRoZSBpbm5lciByYWRpdXMu
CisgICAgaWYgKHIxIDwgcjApIHIgPSByMSwgcjEgPSByMCwgcjAgPSByOworCisgICAgLy8gSXMg
aXQgYSBwb2ludD8KKyAgICBpZiAoIShyMSA+IGVwc2lsb24kMykpIGNvbnRleHQubW92ZVRvKDAs
IDApOworCisgICAgLy8gT3IgaXMgaXQgYSBjaXJjbGUgb3IgYW5udWx1cz8KKyAgICBlbHNlIGlm
IChkYSA+IHRhdSQ0IC0gZXBzaWxvbiQzKSB7CisgICAgICBjb250ZXh0Lm1vdmVUbyhyMSAqIGNv
cyQyKGEwKSwgcjEgKiBzaW4kMihhMCkpOworICAgICAgY29udGV4dC5hcmMoMCwgMCwgcjEsIGEw
LCBhMSwgIWN3KTsKKyAgICAgIGlmIChyMCA+IGVwc2lsb24kMykgeworICAgICAgICBjb250ZXh0
Lm1vdmVUbyhyMCAqIGNvcyQyKGExKSwgcjAgKiBzaW4kMihhMSkpOworICAgICAgICBjb250ZXh0
LmFyYygwLCAwLCByMCwgYTEsIGEwLCBjdyk7CisgICAgICB9CisgICAgfQorCisgICAgLy8gT3Ig
aXMgaXQgYSBjaXJjdWxhciBvciBhbm51bGFyIHNlY3Rvcj8KKyAgICBlbHNlIHsKKyAgICAgIHZh
ciBhMDEgPSBhMCwKKyAgICAgICAgICBhMTEgPSBhMSwKKyAgICAgICAgICBhMDAgPSBhMCwKKyAg
ICAgICAgICBhMTAgPSBhMSwKKyAgICAgICAgICBkYTAgPSBkYSwKKyAgICAgICAgICBkYTEgPSBk
YSwKKyAgICAgICAgICBhcCA9IHBhZEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgLyAyLAor
ICAgICAgICAgIHJwID0gKGFwID4gZXBzaWxvbiQzKSAmJiAocGFkUmFkaXVzID8gK3BhZFJhZGl1
cy5hcHBseSh0aGlzLCBhcmd1bWVudHMpIDogc3FydCQyKHIwICogcjAgKyByMSAqIHIxKSksCisg
ICAgICAgICAgcmMgPSBtaW4kMShhYnMkMShyMSAtIHIwKSAvIDIsICtjb3JuZXJSYWRpdXMuYXBw
bHkodGhpcywgYXJndW1lbnRzKSksCisgICAgICAgICAgcmMwID0gcmMsCisgICAgICAgICAgcmMx
ID0gcmMsCisgICAgICAgICAgdDAsCisgICAgICAgICAgdDE7CisKKyAgICAgIC8vIEFwcGx5IHBh
ZGRpbmc/IE5vdGUgdGhhdCBzaW5jZSByMSDiiaUgcjAsIGRhMSDiiaUgZGEwLgorICAgICAgaWYg
KHJwID4gZXBzaWxvbiQzKSB7CisgICAgICAgIHZhciBwMCA9IGFzaW4kMShycCAvIHIwICogc2lu
JDIoYXApKSwKKyAgICAgICAgICAgIHAxID0gYXNpbiQxKHJwIC8gcjEgKiBzaW4kMihhcCkpOwor
ICAgICAgICBpZiAoKGRhMCAtPSBwMCAqIDIpID4gZXBzaWxvbiQzKSBwMCAqPSAoY3cgPyAxIDog
LTEpLCBhMDAgKz0gcDAsIGExMCAtPSBwMDsKKyAgICAgICAgZWxzZSBkYTAgPSAwLCBhMDAgPSBh
MTAgPSAoYTAgKyBhMSkgLyAyOworICAgICAgICBpZiAoKGRhMSAtPSBwMSAqIDIpID4gZXBzaWxv
biQzKSBwMSAqPSAoY3cgPyAxIDogLTEpLCBhMDEgKz0gcDEsIGExMSAtPSBwMTsKKyAgICAgICAg
ZWxzZSBkYTEgPSAwLCBhMDEgPSBhMTEgPSAoYTAgKyBhMSkgLyAyOworICAgICAgfQorCisgICAg
ICB2YXIgeDAxID0gcjEgKiBjb3MkMihhMDEpLAorICAgICAgICAgIHkwMSA9IHIxICogc2luJDIo
YTAxKSwKKyAgICAgICAgICB4MTAgPSByMCAqIGNvcyQyKGExMCksCisgICAgICAgICAgeTEwID0g
cjAgKiBzaW4kMihhMTApOworCisgICAgICAvLyBBcHBseSByb3VuZGVkIGNvcm5lcnM/CisgICAg
ICBpZiAocmMgPiBlcHNpbG9uJDMpIHsKKyAgICAgICAgdmFyIHgxMSA9IHIxICogY29zJDIoYTEx
KSwKKyAgICAgICAgICAgIHkxMSA9IHIxICogc2luJDIoYTExKSwKKyAgICAgICAgICAgIHgwMCA9
IHIwICogY29zJDIoYTAwKSwKKyAgICAgICAgICAgIHkwMCA9IHIwICogc2luJDIoYTAwKSwKKyAg
ICAgICAgICAgIG9jOworCisgICAgICAgIC8vIFJlc3RyaWN0IHRoZSBjb3JuZXIgcmFkaXVzIGFj
Y29yZGluZyB0byB0aGUgc2VjdG9yIGFuZ2xlLgorICAgICAgICBpZiAoZGEgPCBwaSQ0ICYmIChv
YyA9IGludGVyc2VjdCh4MDEsIHkwMSwgeDAwLCB5MDAsIHgxMSwgeTExLCB4MTAsIHkxMCkpKSB7
CisgICAgICAgICAgdmFyIGF4ID0geDAxIC0gb2NbMF0sCisgICAgICAgICAgICAgIGF5ID0geTAx
IC0gb2NbMV0sCisgICAgICAgICAgICAgIGJ4ID0geDExIC0gb2NbMF0sCisgICAgICAgICAgICAg
IGJ5ID0geTExIC0gb2NbMV0sCisgICAgICAgICAgICAgIGtjID0gMSAvIHNpbiQyKGFjb3MkMSgo
YXggKiBieCArIGF5ICogYnkpIC8gKHNxcnQkMihheCAqIGF4ICsgYXkgKiBheSkgKiBzcXJ0JDIo
YnggKiBieCArIGJ5ICogYnkpKSkgLyAyKSwKKyAgICAgICAgICAgICAgbGMgPSBzcXJ0JDIob2Nb
MF0gKiBvY1swXSArIG9jWzFdICogb2NbMV0pOworICAgICAgICAgIHJjMCA9IG1pbiQxKHJjLCAo
cjAgLSBsYykgLyAoa2MgLSAxKSk7CisgICAgICAgICAgcmMxID0gbWluJDEocmMsIChyMSAtIGxj
KSAvIChrYyArIDEpKTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICAvLyBJcyB0aGUgc2Vj
dG9yIGNvbGxhcHNlZCB0byBhIGxpbmU/CisgICAgICBpZiAoIShkYTEgPiBlcHNpbG9uJDMpKSBj
b250ZXh0Lm1vdmVUbyh4MDEsIHkwMSk7CisKKyAgICAgIC8vIERvZXMgdGhlIHNlY3RvcuKAmXMg
b3V0ZXIgcmluZyBoYXZlIHJvdW5kZWQgY29ybmVycz8KKyAgICAgIGVsc2UgaWYgKHJjMSA+IGVw
c2lsb24kMykgeworICAgICAgICB0MCA9IGNvcm5lclRhbmdlbnRzKHgwMCwgeTAwLCB4MDEsIHkw
MSwgcjEsIHJjMSwgY3cpOworICAgICAgICB0MSA9IGNvcm5lclRhbmdlbnRzKHgxMSwgeTExLCB4
MTAsIHkxMCwgcjEsIHJjMSwgY3cpOworCisgICAgICAgIGNvbnRleHQubW92ZVRvKHQwLmN4ICsg
dDAueDAxLCB0MC5jeSArIHQwLnkwMSk7CisKKyAgICAgICAgLy8gSGF2ZSB0aGUgY29ybmVycyBt
ZXJnZWQ/CisgICAgICAgIGlmIChyYzEgPCByYykgY29udGV4dC5hcmModDAuY3gsIHQwLmN5LCBy
YzEsIGF0YW4yJDEodDAueTAxLCB0MC54MDEpLCBhdGFuMiQxKHQxLnkwMSwgdDEueDAxKSwgIWN3
KTsKKworICAgICAgICAvLyBPdGhlcndpc2UsIGRyYXcgdGhlIHR3byBjb3JuZXJzIGFuZCB0aGUg
cmluZy4KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgY29udGV4dC5hcmModDAuY3gsIHQwLmN5
LCByYzEsIGF0YW4yJDEodDAueTAxLCB0MC54MDEpLCBhdGFuMiQxKHQwLnkxMSwgdDAueDExKSwg
IWN3KTsKKyAgICAgICAgICBjb250ZXh0LmFyYygwLCAwLCByMSwgYXRhbjIkMSh0MC5jeSArIHQw
LnkxMSwgdDAuY3ggKyB0MC54MTEpLCBhdGFuMiQxKHQxLmN5ICsgdDEueTExLCB0MS5jeCArIHQx
LngxMSksICFjdyk7CisgICAgICAgICAgY29udGV4dC5hcmModDEuY3gsIHQxLmN5LCByYzEsIGF0
YW4yJDEodDEueTExLCB0MS54MTEpLCBhdGFuMiQxKHQxLnkwMSwgdDEueDAxKSwgIWN3KTsKKyAg
ICAgICAgfQorICAgICAgfQorCisgICAgICAvLyBPciBpcyB0aGUgb3V0ZXIgcmluZyBqdXN0IGEg
Y2lyY3VsYXIgYXJjPworICAgICAgZWxzZSBjb250ZXh0Lm1vdmVUbyh4MDEsIHkwMSksIGNvbnRl
eHQuYXJjKDAsIDAsIHIxLCBhMDEsIGExMSwgIWN3KTsKKworICAgICAgLy8gSXMgdGhlcmUgbm8g
aW5uZXIgcmluZywgYW5kIGl04oCZcyBhIGNpcmN1bGFyIHNlY3Rvcj8KKyAgICAgIC8vIE9yIHBl
cmhhcHMgaXTigJlzIGFuIGFubnVsYXIgc2VjdG9yIGNvbGxhcHNlZCBkdWUgdG8gcGFkZGluZz8K
KyAgICAgIGlmICghKHIwID4gZXBzaWxvbiQzKSB8fCAhKGRhMCA+IGVwc2lsb24kMykpIGNvbnRl
eHQubGluZVRvKHgxMCwgeTEwKTsKKworICAgICAgLy8gRG9lcyB0aGUgc2VjdG9y4oCZcyBpbm5l
ciByaW5nIChvciBwb2ludCkgaGF2ZSByb3VuZGVkIGNvcm5lcnM/CisgICAgICBlbHNlIGlmIChy
YzAgPiBlcHNpbG9uJDMpIHsKKyAgICAgICAgdDAgPSBjb3JuZXJUYW5nZW50cyh4MTAsIHkxMCwg
eDExLCB5MTEsIHIwLCAtcmMwLCBjdyk7CisgICAgICAgIHQxID0gY29ybmVyVGFuZ2VudHMoeDAx
LCB5MDEsIHgwMCwgeTAwLCByMCwgLXJjMCwgY3cpOworCisgICAgICAgIGNvbnRleHQubGluZVRv
KHQwLmN4ICsgdDAueDAxLCB0MC5jeSArIHQwLnkwMSk7CisKKyAgICAgICAgLy8gSGF2ZSB0aGUg
Y29ybmVycyBtZXJnZWQ/CisgICAgICAgIGlmIChyYzAgPCByYykgY29udGV4dC5hcmModDAuY3gs
IHQwLmN5LCByYzAsIGF0YW4yJDEodDAueTAxLCB0MC54MDEpLCBhdGFuMiQxKHQxLnkwMSwgdDEu
eDAxKSwgIWN3KTsKKworICAgICAgICAvLyBPdGhlcndpc2UsIGRyYXcgdGhlIHR3byBjb3JuZXJz
IGFuZCB0aGUgcmluZy4KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgY29udGV4dC5hcmModDAu
Y3gsIHQwLmN5LCByYzAsIGF0YW4yJDEodDAueTAxLCB0MC54MDEpLCBhdGFuMiQxKHQwLnkxMSwg
dDAueDExKSwgIWN3KTsKKyAgICAgICAgICBjb250ZXh0LmFyYygwLCAwLCByMCwgYXRhbjIkMSh0
MC5jeSArIHQwLnkxMSwgdDAuY3ggKyB0MC54MTEpLCBhdGFuMiQxKHQxLmN5ICsgdDEueTExLCB0
MS5jeCArIHQxLngxMSksIGN3KTsKKyAgICAgICAgICBjb250ZXh0LmFyYyh0MS5jeCwgdDEuY3ks
IHJjMCwgYXRhbjIkMSh0MS55MTEsIHQxLngxMSksIGF0YW4yJDEodDEueTAxLCB0MS54MDEpLCAh
Y3cpOworICAgICAgICB9CisgICAgICB9CisKKyAgICAgIC8vIE9yIGlzIHRoZSBpbm5lciByaW5n
IGp1c3QgYSBjaXJjdWxhciBhcmM/CisgICAgICBlbHNlIGNvbnRleHQuYXJjKDAsIDAsIHIwLCBh
MTAsIGEwMCwgY3cpOworICAgIH0KKworICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7CisKKyAgICBp
ZiAoYnVmZmVyKSByZXR1cm4gY29udGV4dCA9IG51bGwsIGJ1ZmZlciArICIiIHx8IG51bGw7Cisg
IH0KKworICBhcmMuY2VudHJvaWQgPSBmdW5jdGlvbigpIHsKKyAgICB2YXIgciA9ICgraW5uZXJS
YWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRzKSArICtvdXRlclJhZGl1cy5hcHBseSh0aGlzLCBh
cmd1bWVudHMpKSAvIDIsCisgICAgICAgIGEgPSAoK3N0YXJ0QW5nbGUuYXBwbHkodGhpcywgYXJn
dW1lbnRzKSArICtlbmRBbmdsZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSAvIDIgLSBwaSQ0IC8g
MjsKKyAgICByZXR1cm4gW2NvcyQyKGEpICogciwgc2luJDIoYSkgKiByXTsKKyAgfTsKKworICBh
cmMuaW5uZXJSYWRpdXMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAoaW5uZXJSYWRpdXMgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFu
dCRiKCtfKSwgYXJjKSA6IGlubmVyUmFkaXVzOworICB9OworCisgIGFyYy5vdXRlclJhZGl1cyA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChvdXRlclJhZGl1
cyA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBhcmMpIDog
b3V0ZXJSYWRpdXM7CisgIH07CisKKyAgYXJjLmNvcm5lclJhZGl1cyA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChjb3JuZXJSYWRpdXMgPSB0eXBlb2YgXyA9
PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgYXJjKSA6IGNvcm5lclJhZGl1czsK
KyAgfTsKKworICBhcmMucGFkUmFkaXVzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gKHBhZFJhZGl1cyA9IF8gPT0gbnVsbCA/IG51bGwgOiB0eXBlb2YgXyA9
PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgYXJjKSA6IHBhZFJhZGl1czsKKyAg
fTsKKworICBhcmMuc3RhcnRBbmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/IChzdGFydEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDog
Y29uc3RhbnQkYigrXyksIGFyYykgOiBzdGFydEFuZ2xlOworICB9OworCisgIGFyYy5lbmRBbmds
ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChlbmRBbmds
ZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBhcmMpIDog
ZW5kQW5nbGU7CisgIH07CisKKyAgYXJjLnBhZEFuZ2xlID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhZEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlv
biIgPyBfIDogY29uc3RhbnQkYigrXyksIGFyYykgOiBwYWRBbmdsZTsKKyAgfTsKKworICBhcmMu
Y29udGV4dCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICgo
Y29udGV4dCA9IF8gPT0gbnVsbCA/IG51bGwgOiBfKSwgYXJjKSA6IGNvbnRleHQ7CisgIH07CisK
KyAgcmV0dXJuIGFyYzsKK30KKworZnVuY3Rpb24gTGluZWFyKGNvbnRleHQpIHsKKyAgdGhpcy5f
Y29udGV4dCA9IGNvbnRleHQ7Cit9CisKK0xpbmVhci5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFy
dDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IDA7CisgIH0sCisgIGFyZWFFbmQ6IGZ1
bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSBOYU47CisgIH0sCisgIGxpbmVTdGFydDogZnVu
Y3Rpb24oKSB7CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlv
bigpIHsKKyAgICBpZiAodGhpcy5fbGluZSB8fCAodGhpcy5fbGluZSAhPT0gMCAmJiB0aGlzLl9w
b2ludCA9PT0gMSkpIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgdGhpcy5fbGluZSA9
IDEgLSB0aGlzLl9saW5lOworICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAgIHgg
PSAreCwgeSA9ICt5OworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMDog
dGhpcy5fcG9pbnQgPSAxOyB0aGlzLl9saW5lID8gdGhpcy5fY29udGV4dC5saW5lVG8oeCwgeSkg
OiB0aGlzLl9jb250ZXh0Lm1vdmVUbyh4LCB5KTsgYnJlYWs7CisgICAgICBjYXNlIDE6IHRoaXMu
X3BvaW50ID0gMjsgLy8gcHJvY2VlZAorICAgICAgZGVmYXVsdDogdGhpcy5fY29udGV4dC5saW5l
VG8oeCwgeSk7IGJyZWFrOworICAgIH0KKyAgfQorfTsKKworZnVuY3Rpb24gY3VydmVMaW5lYXIo
Y29udGV4dCkgeworICByZXR1cm4gbmV3IExpbmVhcihjb250ZXh0KTsKK30KKworZnVuY3Rpb24g
eCQzKHApIHsKKyAgcmV0dXJuIHBbMF07Cit9CisKK2Z1bmN0aW9uIHkkMyhwKSB7CisgIHJldHVy
biBwWzFdOworfQorCitmdW5jdGlvbiBsaW5lKCkgeworICB2YXIgeCA9IHgkMywKKyAgICAgIHkg
PSB5JDMsCisgICAgICBkZWZpbmVkID0gY29uc3RhbnQkYih0cnVlKSwKKyAgICAgIGNvbnRleHQg
PSBudWxsLAorICAgICAgY3VydmUgPSBjdXJ2ZUxpbmVhciwKKyAgICAgIG91dHB1dCA9IG51bGw7
CisKKyAgZnVuY3Rpb24gbGluZShkYXRhKSB7CisgICAgdmFyIGksCisgICAgICAgIG4gPSBkYXRh
Lmxlbmd0aCwKKyAgICAgICAgZCwKKyAgICAgICAgZGVmaW5lZDAgPSBmYWxzZSwKKyAgICAgICAg
YnVmZmVyOworCisgICAgaWYgKGNvbnRleHQgPT0gbnVsbCkgb3V0cHV0ID0gY3VydmUoYnVmZmVy
ID0gcGF0aCgpKTsKKworICAgIGZvciAoaSA9IDA7IGkgPD0gbjsgKytpKSB7CisgICAgICBpZiAo
IShpIDwgbiAmJiBkZWZpbmVkKGQgPSBkYXRhW2ldLCBpLCBkYXRhKSkgPT09IGRlZmluZWQwKSB7
CisgICAgICAgIGlmIChkZWZpbmVkMCA9ICFkZWZpbmVkMCkgb3V0cHV0LmxpbmVTdGFydCgpOwor
ICAgICAgICBlbHNlIG91dHB1dC5saW5lRW5kKCk7CisgICAgICB9CisgICAgICBpZiAoZGVmaW5l
ZDApIG91dHB1dC5wb2ludCgreChkLCBpLCBkYXRhKSwgK3koZCwgaSwgZGF0YSkpOworICAgIH0K
KworICAgIGlmIChidWZmZXIpIHJldHVybiBvdXRwdXQgPSBudWxsLCBidWZmZXIgKyAiIiB8fCBu
dWxsOworICB9CisKKyAgbGluZS54ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHggPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRi
KCtfKSwgbGluZSkgOiB4OworICB9OworCisgIGxpbmUueSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBf
IDogY29uc3RhbnQkYigrXyksIGxpbmUpIDogeTsKKyAgfTsKKworICBsaW5lLmRlZmluZWQgPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZGVmaW5lZCA9IHR5
cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoISFfKSwgbGluZSkgOiBkZWZp
bmVkOworICB9OworCisgIGxpbmUuY3VydmUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAoY3VydmUgPSBfLCBjb250ZXh0ICE9IG51bGwgJiYgKG91dHB1dCA9
IGN1cnZlKGNvbnRleHQpKSwgbGluZSkgOiBjdXJ2ZTsKKyAgfTsKKworICBsaW5lLmNvbnRleHQg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoXyA9PSBudWxs
ID8gY29udGV4dCA9IG91dHB1dCA9IG51bGwgOiBvdXRwdXQgPSBjdXJ2ZShjb250ZXh0ID0gXyks
IGxpbmUpIDogY29udGV4dDsKKyAgfTsKKworICByZXR1cm4gbGluZTsKK30KKworZnVuY3Rpb24g
YXJlYSQzKCkgeworICB2YXIgeDAgPSB4JDMsCisgICAgICB4MSA9IG51bGwsCisgICAgICB5MCA9
IGNvbnN0YW50JGIoMCksCisgICAgICB5MSA9IHkkMywKKyAgICAgIGRlZmluZWQgPSBjb25zdGFu
dCRiKHRydWUpLAorICAgICAgY29udGV4dCA9IG51bGwsCisgICAgICBjdXJ2ZSA9IGN1cnZlTGlu
ZWFyLAorICAgICAgb3V0cHV0ID0gbnVsbDsKKworICBmdW5jdGlvbiBhcmVhKGRhdGEpIHsKKyAg
ICB2YXIgaSwKKyAgICAgICAgaiwKKyAgICAgICAgaywKKyAgICAgICAgbiA9IGRhdGEubGVuZ3Ro
LAorICAgICAgICBkLAorICAgICAgICBkZWZpbmVkMCA9IGZhbHNlLAorICAgICAgICBidWZmZXIs
CisgICAgICAgIHgweiA9IG5ldyBBcnJheShuKSwKKyAgICAgICAgeTB6ID0gbmV3IEFycmF5KG4p
OworCisgICAgaWYgKGNvbnRleHQgPT0gbnVsbCkgb3V0cHV0ID0gY3VydmUoYnVmZmVyID0gcGF0
aCgpKTsKKworICAgIGZvciAoaSA9IDA7IGkgPD0gbjsgKytpKSB7CisgICAgICBpZiAoIShpIDwg
biAmJiBkZWZpbmVkKGQgPSBkYXRhW2ldLCBpLCBkYXRhKSkgPT09IGRlZmluZWQwKSB7CisgICAg
ICAgIGlmIChkZWZpbmVkMCA9ICFkZWZpbmVkMCkgeworICAgICAgICAgIGogPSBpOworICAgICAg
ICAgIG91dHB1dC5hcmVhU3RhcnQoKTsKKyAgICAgICAgICBvdXRwdXQubGluZVN0YXJ0KCk7Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgb3V0cHV0LmxpbmVFbmQoKTsKKyAgICAgICAgICBv
dXRwdXQubGluZVN0YXJ0KCk7CisgICAgICAgICAgZm9yIChrID0gaSAtIDE7IGsgPj0gajsgLS1r
KSB7CisgICAgICAgICAgICBvdXRwdXQucG9pbnQoeDB6W2tdLCB5MHpba10pOworICAgICAgICAg
IH0KKyAgICAgICAgICBvdXRwdXQubGluZUVuZCgpOworICAgICAgICAgIG91dHB1dC5hcmVhRW5k
KCk7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIGlmIChkZWZpbmVkMCkgeworICAgICAgICB4
MHpbaV0gPSAreDAoZCwgaSwgZGF0YSksIHkweltpXSA9ICt5MChkLCBpLCBkYXRhKTsKKyAgICAg
ICAgb3V0cHV0LnBvaW50KHgxID8gK3gxKGQsIGksIGRhdGEpIDogeDB6W2ldLCB5MSA/ICt5MShk
LCBpLCBkYXRhKSA6IHkweltpXSk7CisgICAgICB9CisgICAgfQorCisgICAgaWYgKGJ1ZmZlcikg
cmV0dXJuIG91dHB1dCA9IG51bGwsIGJ1ZmZlciArICIiIHx8IG51bGw7CisgIH0KKworICBmdW5j
dGlvbiBhcmVhbGluZSgpIHsKKyAgICByZXR1cm4gbGluZSgpLmRlZmluZWQoZGVmaW5lZCkuY3Vy
dmUoY3VydmUpLmNvbnRleHQoY29udGV4dCk7CisgIH0KKworICBhcmVhLnggPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeDAgPSB0eXBlb2YgXyA9PT0gImZ1
bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgeDEgPSBudWxsLCBhcmVhKSA6IHgwOworICB9
OworCisgIGFyZWEueDAgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAoeDAgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwg
YXJlYSkgOiB4MDsKKyAgfTsKKworICBhcmVhLngxID0gZnVuY3Rpb24oXykgeworICAgIHJldHVy
biBhcmd1bWVudHMubGVuZ3RoID8gKHgxID0gXyA9PSBudWxsID8gbnVsbCA6IHR5cGVvZiBfID09
PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBhcmVhKSA6IHgxOworICB9OworCisg
IGFyZWEueSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5
MCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCB5MSA9IG51
bGwsIGFyZWEpIDogeTA7CisgIH07CisKKyAgYXJlYS55MCA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5MCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8g
XyA6IGNvbnN0YW50JGIoK18pLCBhcmVhKSA6IHkwOworICB9OworCisgIGFyZWEueTEgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeTEgPSBfID09IG51bGwg
PyBudWxsIDogdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIGFy
ZWEpIDogeTE7CisgIH07CisKKyAgYXJlYS5saW5lWDAgPQorICBhcmVhLmxpbmVZMCA9IGZ1bmN0
aW9uKCkgeworICAgIHJldHVybiBhcmVhbGluZSgpLngoeDApLnkoeTApOworICB9OworCisgIGFy
ZWEubGluZVkxID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGFyZWFsaW5lKCkueCh4MCkueSh5
MSk7CisgIH07CisKKyAgYXJlYS5saW5lWDEgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gYXJl
YWxpbmUoKS54KHgxKS55KHkwKTsKKyAgfTsKKworICBhcmVhLmRlZmluZWQgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZGVmaW5lZCA9IHR5cGVvZiBfID09
PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoISFfKSwgYXJlYSkgOiBkZWZpbmVkOworICB9
OworCisgIGFyZWEuY3VydmUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoY3VydmUgPSBfLCBjb250ZXh0ICE9IG51bGwgJiYgKG91dHB1dCA9IGN1cnZlKGNv
bnRleHQpKSwgYXJlYSkgOiBjdXJ2ZTsKKyAgfTsKKworICBhcmVhLmNvbnRleHQgPSBmdW5jdGlv
bihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoXyA9PSBudWxsID8gY29udGV4
dCA9IG91dHB1dCA9IG51bGwgOiBvdXRwdXQgPSBjdXJ2ZShjb250ZXh0ID0gXyksIGFyZWEpIDog
Y29udGV4dDsKKyAgfTsKKworICByZXR1cm4gYXJlYTsKK30KKworZnVuY3Rpb24gZGVzY2VuZGlu
ZyQxKGEsIGIpIHsKKyAgcmV0dXJuIGIgPCBhID8gLTEgOiBiID4gYSA/IDEgOiBiID49IGEgPyAw
IDogTmFOOworfQorCitmdW5jdGlvbiBpZGVudGl0eSQ4KGQpIHsKKyAgcmV0dXJuIGQ7Cit9CisK
K2Z1bmN0aW9uIHBpZSgpIHsKKyAgdmFyIHZhbHVlID0gaWRlbnRpdHkkOCwKKyAgICAgIHNvcnRW
YWx1ZXMgPSBkZXNjZW5kaW5nJDEsCisgICAgICBzb3J0ID0gbnVsbCwKKyAgICAgIHN0YXJ0QW5n
bGUgPSBjb25zdGFudCRiKDApLAorICAgICAgZW5kQW5nbGUgPSBjb25zdGFudCRiKHRhdSQ0KSwK
KyAgICAgIHBhZEFuZ2xlID0gY29uc3RhbnQkYigwKTsKKworICBmdW5jdGlvbiBwaWUoZGF0YSkg
eworICAgIHZhciBpLAorICAgICAgICBuID0gZGF0YS5sZW5ndGgsCisgICAgICAgIGosCisgICAg
ICAgIGssCisgICAgICAgIHN1bSA9IDAsCisgICAgICAgIGluZGV4ID0gbmV3IEFycmF5KG4pLAor
ICAgICAgICBhcmNzID0gbmV3IEFycmF5KG4pLAorICAgICAgICBhMCA9ICtzdGFydEFuZ2xlLmFw
cGx5KHRoaXMsIGFyZ3VtZW50cyksCisgICAgICAgIGRhID0gTWF0aC5taW4odGF1JDQsIE1hdGgu
bWF4KC10YXUkNCwgZW5kQW5nbGUuYXBwbHkodGhpcywgYXJndW1lbnRzKSAtIGEwKSksCisgICAg
ICAgIGExLAorICAgICAgICBwID0gTWF0aC5taW4oTWF0aC5hYnMoZGEpIC8gbiwgcGFkQW5nbGUu
YXBwbHkodGhpcywgYXJndW1lbnRzKSksCisgICAgICAgIHBhID0gcCAqIChkYSA8IDAgPyAtMSA6
IDEpLAorICAgICAgICB2OworCisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAg
aWYgKCh2ID0gYXJjc1tpbmRleFtpXSA9IGldID0gK3ZhbHVlKGRhdGFbaV0sIGksIGRhdGEpKSA+
IDApIHsKKyAgICAgICAgc3VtICs9IHY7CisgICAgICB9CisgICAgfQorCisgICAgLy8gT3B0aW9u
YWxseSBzb3J0IHRoZSBhcmNzIGJ5IHByZXZpb3VzbHktY29tcHV0ZWQgdmFsdWVzIG9yIGJ5IGRh
dGEuCisgICAgaWYgKHNvcnRWYWx1ZXMgIT0gbnVsbCkgaW5kZXguc29ydChmdW5jdGlvbihpLCBq
KSB7IHJldHVybiBzb3J0VmFsdWVzKGFyY3NbaV0sIGFyY3Nbal0pOyB9KTsKKyAgICBlbHNlIGlm
IChzb3J0ICE9IG51bGwpIGluZGV4LnNvcnQoZnVuY3Rpb24oaSwgaikgeyByZXR1cm4gc29ydChk
YXRhW2ldLCBkYXRhW2pdKTsgfSk7CisKKyAgICAvLyBDb21wdXRlIHRoZSBhcmNzISBUaGV5IGFy
ZSBzdG9yZWQgaW4gdGhlIG9yaWdpbmFsIGRhdGEncyBvcmRlci4KKyAgICBmb3IgKGkgPSAwLCBr
ID0gc3VtID8gKGRhIC0gbiAqIHBhKSAvIHN1bSA6IDA7IGkgPCBuOyArK2ksIGEwID0gYTEpIHsK
KyAgICAgIGogPSBpbmRleFtpXSwgdiA9IGFyY3Nbal0sIGExID0gYTAgKyAodiA+IDAgPyB2ICog
ayA6IDApICsgcGEsIGFyY3Nbal0gPSB7CisgICAgICAgIGRhdGE6IGRhdGFbal0sCisgICAgICAg
IGluZGV4OiBpLAorICAgICAgICB2YWx1ZTogdiwKKyAgICAgICAgc3RhcnRBbmdsZTogYTAsCisg
ICAgICAgIGVuZEFuZ2xlOiBhMSwKKyAgICAgICAgcGFkQW5nbGU6IHAKKyAgICAgIH07CisgICAg
fQorCisgICAgcmV0dXJuIGFyY3M7CisgIH0KKworICBwaWUudmFsdWUgPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodmFsdWUgPSB0eXBlb2YgXyA9PT0gImZ1
bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgcGllKSA6IHZhbHVlOworICB9OworCisgIHBp
ZS5zb3J0VmFsdWVzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKHNvcnRWYWx1ZXMgPSBfLCBzb3J0ID0gbnVsbCwgcGllKSA6IHNvcnRWYWx1ZXM7CisgIH07
CisKKyAgcGllLnNvcnQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAoc29ydCA9IF8sIHNvcnRWYWx1ZXMgPSBudWxsLCBwaWUpIDogc29ydDsKKyAgfTsKKwor
ICBwaWUuc3RhcnRBbmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IChzdGFydEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3Rh
bnQkYigrXyksIHBpZSkgOiBzdGFydEFuZ2xlOworICB9OworCisgIHBpZS5lbmRBbmdsZSA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChlbmRBbmdsZSA9IHR5
cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBwaWUpIDogZW5kQW5n
bGU7CisgIH07CisKKyAgcGllLnBhZEFuZ2xlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKHBhZEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBf
IDogY29uc3RhbnQkYigrXyksIHBpZSkgOiBwYWRBbmdsZTsKKyAgfTsKKworICByZXR1cm4gcGll
OworfQorCit2YXIgY3VydmVSYWRpYWxMaW5lYXIgPSBjdXJ2ZVJhZGlhbChjdXJ2ZUxpbmVhcik7
CisKK2Z1bmN0aW9uIFJhZGlhbChjdXJ2ZSkgeworICB0aGlzLl9jdXJ2ZSA9IGN1cnZlOworfQor
CitSYWRpYWwucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRo
aXMuX2N1cnZlLmFyZWFTdGFydCgpOworICB9LAorICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAg
ICB0aGlzLl9jdXJ2ZS5hcmVhRW5kKCk7CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7
CisgICAgdGhpcy5fY3VydmUubGluZVN0YXJ0KCk7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9u
KCkgeworICAgIHRoaXMuX2N1cnZlLmxpbmVFbmQoKTsKKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9u
KGEsIHIpIHsKKyAgICB0aGlzLl9jdXJ2ZS5wb2ludChyICogTWF0aC5zaW4oYSksIHIgKiAtTWF0
aC5jb3MoYSkpOworICB9Cit9OworCitmdW5jdGlvbiBjdXJ2ZVJhZGlhbChjdXJ2ZSkgeworCisg
IGZ1bmN0aW9uIHJhZGlhbChjb250ZXh0KSB7CisgICAgcmV0dXJuIG5ldyBSYWRpYWwoY3VydmUo
Y29udGV4dCkpOworICB9CisKKyAgcmFkaWFsLl9jdXJ2ZSA9IGN1cnZlOworCisgIHJldHVybiBy
YWRpYWw7Cit9CisKK2Z1bmN0aW9uIGxpbmVSYWRpYWwobCkgeworICB2YXIgYyA9IGwuY3VydmU7
CisKKyAgbC5hbmdsZSA9IGwueCwgZGVsZXRlIGwueDsKKyAgbC5yYWRpdXMgPSBsLnksIGRlbGV0
ZSBsLnk7CisKKyAgbC5jdXJ2ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/IGMoY3VydmVSYWRpYWwoXykpIDogYygpLl9jdXJ2ZTsKKyAgfTsKKworICByZXR1
cm4gbDsKK30KKworZnVuY3Rpb24gbGluZVJhZGlhbCQxKCkgeworICByZXR1cm4gbGluZVJhZGlh
bChsaW5lKCkuY3VydmUoY3VydmVSYWRpYWxMaW5lYXIpKTsKK30KKworZnVuY3Rpb24gYXJlYVJh
ZGlhbCgpIHsKKyAgdmFyIGEgPSBhcmVhJDMoKS5jdXJ2ZShjdXJ2ZVJhZGlhbExpbmVhciksCisg
ICAgICBjID0gYS5jdXJ2ZSwKKyAgICAgIHgwID0gYS5saW5lWDAsCisgICAgICB4MSA9IGEubGlu
ZVgxLAorICAgICAgeTAgPSBhLmxpbmVZMCwKKyAgICAgIHkxID0gYS5saW5lWTE7CisKKyAgYS5h
bmdsZSA9IGEueCwgZGVsZXRlIGEueDsKKyAgYS5zdGFydEFuZ2xlID0gYS54MCwgZGVsZXRlIGEu
eDA7CisgIGEuZW5kQW5nbGUgPSBhLngxLCBkZWxldGUgYS54MTsKKyAgYS5yYWRpdXMgPSBhLnks
IGRlbGV0ZSBhLnk7CisgIGEuaW5uZXJSYWRpdXMgPSBhLnkwLCBkZWxldGUgYS55MDsKKyAgYS5v
dXRlclJhZGl1cyA9IGEueTEsIGRlbGV0ZSBhLnkxOworICBhLmxpbmVTdGFydEFuZ2xlID0gZnVu
Y3Rpb24oKSB7IHJldHVybiBsaW5lUmFkaWFsKHgwKCkpOyB9LCBkZWxldGUgYS5saW5lWDA7Cisg
IGEubGluZUVuZEFuZ2xlID0gZnVuY3Rpb24oKSB7IHJldHVybiBsaW5lUmFkaWFsKHgxKCkpOyB9
LCBkZWxldGUgYS5saW5lWDE7CisgIGEubGluZUlubmVyUmFkaXVzID0gZnVuY3Rpb24oKSB7IHJl
dHVybiBsaW5lUmFkaWFsKHkwKCkpOyB9LCBkZWxldGUgYS5saW5lWTA7CisgIGEubGluZU91dGVy
UmFkaXVzID0gZnVuY3Rpb24oKSB7IHJldHVybiBsaW5lUmFkaWFsKHkxKCkpOyB9LCBkZWxldGUg
YS5saW5lWTE7CisKKyAgYS5jdXJ2ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/IGMoY3VydmVSYWRpYWwoXykpIDogYygpLl9jdXJ2ZTsKKyAgfTsKKworICBy
ZXR1cm4gYTsKK30KKworZnVuY3Rpb24gcG9pbnRSYWRpYWwoeCwgeSkgeworICByZXR1cm4gWyh5
ID0gK3kpICogTWF0aC5jb3MoeCAtPSBNYXRoLlBJIC8gMiksIHkgKiBNYXRoLnNpbih4KV07Cit9
CisKK3ZhciBzbGljZSQ2ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOworCitmdW5jdGlvbiBsaW5r
U291cmNlKGQpIHsKKyAgcmV0dXJuIGQuc291cmNlOworfQorCitmdW5jdGlvbiBsaW5rVGFyZ2V0
KGQpIHsKKyAgcmV0dXJuIGQudGFyZ2V0OworfQorCitmdW5jdGlvbiBsaW5rJDIoY3VydmUpIHsK
KyAgdmFyIHNvdXJjZSA9IGxpbmtTb3VyY2UsCisgICAgICB0YXJnZXQgPSBsaW5rVGFyZ2V0LAor
ICAgICAgeCA9IHgkMywKKyAgICAgIHkgPSB5JDMsCisgICAgICBjb250ZXh0ID0gbnVsbDsKKwor
ICBmdW5jdGlvbiBsaW5rKCkgeworICAgIHZhciBidWZmZXIsIGFyZ3YgPSBzbGljZSQ2LmNhbGwo
YXJndW1lbnRzKSwgcyA9IHNvdXJjZS5hcHBseSh0aGlzLCBhcmd2KSwgdCA9IHRhcmdldC5hcHBs
eSh0aGlzLCBhcmd2KTsKKyAgICBpZiAoIWNvbnRleHQpIGNvbnRleHQgPSBidWZmZXIgPSBwYXRo
KCk7CisgICAgY3VydmUoY29udGV4dCwgK3guYXBwbHkodGhpcywgKGFyZ3ZbMF0gPSBzLCBhcmd2
KSksICt5LmFwcGx5KHRoaXMsIGFyZ3YpLCAreC5hcHBseSh0aGlzLCAoYXJndlswXSA9IHQsIGFy
Z3YpKSwgK3kuYXBwbHkodGhpcywgYXJndikpOworICAgIGlmIChidWZmZXIpIHJldHVybiBjb250
ZXh0ID0gbnVsbCwgYnVmZmVyICsgIiIgfHwgbnVsbDsKKyAgfQorCisgIGxpbmsuc291cmNlID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNvdXJjZSA9IF8s
IGxpbmspIDogc291cmNlOworICB9OworCisgIGxpbmsudGFyZ2V0ID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRhcmdldCA9IF8sIGxpbmspIDogdGFyZ2V0
OworICB9OworCisgIGxpbmsueCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/ICh4ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigr
XyksIGxpbmspIDogeDsKKyAgfTsKKworICBsaW5rLnkgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6
IGNvbnN0YW50JGIoK18pLCBsaW5rKSA6IHk7CisgIH07CisKKyAgbGluay5jb250ZXh0ID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKChjb250ZXh0ID0gXyA9
PSBudWxsID8gbnVsbCA6IF8pLCBsaW5rKSA6IGNvbnRleHQ7CisgIH07CisKKyAgcmV0dXJuIGxp
bms7Cit9CisKK2Z1bmN0aW9uIGN1cnZlSG9yaXpvbnRhbChjb250ZXh0LCB4MCwgeTAsIHgxLCB5
MSkgeworICBjb250ZXh0Lm1vdmVUbyh4MCwgeTApOworICBjb250ZXh0LmJlemllckN1cnZlVG8o
eDAgPSAoeDAgKyB4MSkgLyAyLCB5MCwgeDAsIHkxLCB4MSwgeTEpOworfQorCitmdW5jdGlvbiBj
dXJ2ZVZlcnRpY2FsKGNvbnRleHQsIHgwLCB5MCwgeDEsIHkxKSB7CisgIGNvbnRleHQubW92ZVRv
KHgwLCB5MCk7CisgIGNvbnRleHQuYmV6aWVyQ3VydmVUbyh4MCwgeTAgPSAoeTAgKyB5MSkgLyAy
LCB4MSwgeTAsIHgxLCB5MSk7Cit9CisKK2Z1bmN0aW9uIGN1cnZlUmFkaWFsJDEoY29udGV4dCwg
eDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIHAwID0gcG9pbnRSYWRpYWwoeDAsIHkwKSwKKyAgICAg
IHAxID0gcG9pbnRSYWRpYWwoeDAsIHkwID0gKHkwICsgeTEpIC8gMiksCisgICAgICBwMiA9IHBv
aW50UmFkaWFsKHgxLCB5MCksCisgICAgICBwMyA9IHBvaW50UmFkaWFsKHgxLCB5MSk7CisgIGNv
bnRleHQubW92ZVRvKHAwWzBdLCBwMFsxXSk7CisgIGNvbnRleHQuYmV6aWVyQ3VydmVUbyhwMVsw
XSwgcDFbMV0sIHAyWzBdLCBwMlsxXSwgcDNbMF0sIHAzWzFdKTsKK30KKworZnVuY3Rpb24gbGlu
a0hvcml6b250YWwoKSB7CisgIHJldHVybiBsaW5rJDIoY3VydmVIb3Jpem9udGFsKTsKK30KKwor
ZnVuY3Rpb24gbGlua1ZlcnRpY2FsKCkgeworICByZXR1cm4gbGluayQyKGN1cnZlVmVydGljYWwp
OworfQorCitmdW5jdGlvbiBsaW5rUmFkaWFsKCkgeworICB2YXIgbCA9IGxpbmskMihjdXJ2ZVJh
ZGlhbCQxKTsKKyAgbC5hbmdsZSA9IGwueCwgZGVsZXRlIGwueDsKKyAgbC5yYWRpdXMgPSBsLnks
IGRlbGV0ZSBsLnk7CisgIHJldHVybiBsOworfQorCit2YXIgY2lyY2xlJDIgPSB7CisgIGRyYXc6
IGZ1bmN0aW9uKGNvbnRleHQsIHNpemUpIHsKKyAgICB2YXIgciA9IE1hdGguc3FydChzaXplIC8g
cGkkNCk7CisgICAgY29udGV4dC5tb3ZlVG8ociwgMCk7CisgICAgY29udGV4dC5hcmMoMCwgMCwg
ciwgMCwgdGF1JDQpOworICB9Cit9OworCit2YXIgY3Jvc3MkMiA9IHsKKyAgZHJhdzogZnVuY3Rp
b24oY29udGV4dCwgc2l6ZSkgeworICAgIHZhciByID0gTWF0aC5zcXJ0KHNpemUgLyA1KSAvIDI7
CisgICAgY29udGV4dC5tb3ZlVG8oLTMgKiByLCAtcik7CisgICAgY29udGV4dC5saW5lVG8oLXIs
IC1yKTsKKyAgICBjb250ZXh0LmxpbmVUbygtciwgLTMgKiByKTsKKyAgICBjb250ZXh0LmxpbmVU
byhyLCAtMyAqIHIpOworICAgIGNvbnRleHQubGluZVRvKHIsIC1yKTsKKyAgICBjb250ZXh0Lmxp
bmVUbygzICogciwgLXIpOworICAgIGNvbnRleHQubGluZVRvKDMgKiByLCByKTsKKyAgICBjb250
ZXh0LmxpbmVUbyhyLCByKTsKKyAgICBjb250ZXh0LmxpbmVUbyhyLCAzICogcik7CisgICAgY29u
dGV4dC5saW5lVG8oLXIsIDMgKiByKTsKKyAgICBjb250ZXh0LmxpbmVUbygtciwgcik7CisgICAg
Y29udGV4dC5saW5lVG8oLTMgKiByLCByKTsKKyAgICBjb250ZXh0LmNsb3NlUGF0aCgpOworICB9
Cit9OworCit2YXIgdGFuMzAgPSBNYXRoLnNxcnQoMSAvIDMpLAorICAgIHRhbjMwXzIgPSB0YW4z
MCAqIDI7CisKK3ZhciBkaWFtb25kID0geworICBkcmF3OiBmdW5jdGlvbihjb250ZXh0LCBzaXpl
KSB7CisgICAgdmFyIHkgPSBNYXRoLnNxcnQoc2l6ZSAvIHRhbjMwXzIpLAorICAgICAgICB4ID0g
eSAqIHRhbjMwOworICAgIGNvbnRleHQubW92ZVRvKDAsIC15KTsKKyAgICBjb250ZXh0LmxpbmVU
byh4LCAwKTsKKyAgICBjb250ZXh0LmxpbmVUbygwLCB5KTsKKyAgICBjb250ZXh0LmxpbmVUbygt
eCwgMCk7CisgICAgY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgfQorfTsKKwordmFyIGthID0gMC44
OTA4MTMwOTE1MjkyODUyMjgxMCwKKyAgICBrciA9IE1hdGguc2luKHBpJDQgLyAxMCkgLyBNYXRo
LnNpbig3ICogcGkkNCAvIDEwKSwKKyAgICBreCA9IE1hdGguc2luKHRhdSQ0IC8gMTApICoga3Is
CisgICAga3kgPSAtTWF0aC5jb3ModGF1JDQgLyAxMCkgKiBrcjsKKwordmFyIHN0YXIgPSB7Cisg
IGRyYXc6IGZ1bmN0aW9uKGNvbnRleHQsIHNpemUpIHsKKyAgICB2YXIgciA9IE1hdGguc3FydChz
aXplICoga2EpLAorICAgICAgICB4ID0ga3ggKiByLAorICAgICAgICB5ID0ga3kgKiByOworICAg
IGNvbnRleHQubW92ZVRvKDAsIC1yKTsKKyAgICBjb250ZXh0LmxpbmVUbyh4LCB5KTsKKyAgICBm
b3IgKHZhciBpID0gMTsgaSA8IDU7ICsraSkgeworICAgICAgdmFyIGEgPSB0YXUkNCAqIGkgLyA1
LAorICAgICAgICAgIGMgPSBNYXRoLmNvcyhhKSwKKyAgICAgICAgICBzID0gTWF0aC5zaW4oYSk7
CisgICAgICBjb250ZXh0LmxpbmVUbyhzICogciwgLWMgKiByKTsKKyAgICAgIGNvbnRleHQubGlu
ZVRvKGMgKiB4IC0gcyAqIHksIHMgKiB4ICsgYyAqIHkpOworICAgIH0KKyAgICBjb250ZXh0LmNs
b3NlUGF0aCgpOworICB9Cit9OworCit2YXIgc3F1YXJlID0geworICBkcmF3OiBmdW5jdGlvbihj
b250ZXh0LCBzaXplKSB7CisgICAgdmFyIHcgPSBNYXRoLnNxcnQoc2l6ZSksCisgICAgICAgIHgg
PSAtdyAvIDI7CisgICAgY29udGV4dC5yZWN0KHgsIHgsIHcsIHcpOworICB9Cit9OworCit2YXIg
c3FydDMgPSBNYXRoLnNxcnQoMyk7CisKK3ZhciB0cmlhbmdsZSA9IHsKKyAgZHJhdzogZnVuY3Rp
b24oY29udGV4dCwgc2l6ZSkgeworICAgIHZhciB5ID0gLU1hdGguc3FydChzaXplIC8gKHNxcnQz
ICogMykpOworICAgIGNvbnRleHQubW92ZVRvKDAsIHkgKiAyKTsKKyAgICBjb250ZXh0LmxpbmVU
bygtc3FydDMgKiB5LCAteSk7CisgICAgY29udGV4dC5saW5lVG8oc3FydDMgKiB5LCAteSk7Cisg
ICAgY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgfQorfTsKKwordmFyIGMkMiA9IC0wLjUsCisgICAg
cyA9IE1hdGguc3FydCgzKSAvIDIsCisgICAgayA9IDEgLyBNYXRoLnNxcnQoMTIpLAorICAgIGEg
PSAoayAvIDIgKyAxKSAqIDM7CisKK3ZhciB3eWUgPSB7CisgIGRyYXc6IGZ1bmN0aW9uKGNvbnRl
eHQsIHNpemUpIHsKKyAgICB2YXIgciA9IE1hdGguc3FydChzaXplIC8gYSksCisgICAgICAgIHgw
ID0gciAvIDIsCisgICAgICAgIHkwID0gciAqIGssCisgICAgICAgIHgxID0geDAsCisgICAgICAg
IHkxID0gciAqIGsgKyByLAorICAgICAgICB4MiA9IC14MSwKKyAgICAgICAgeTIgPSB5MTsKKyAg
ICBjb250ZXh0Lm1vdmVUbyh4MCwgeTApOworICAgIGNvbnRleHQubGluZVRvKHgxLCB5MSk7Cisg
ICAgY29udGV4dC5saW5lVG8oeDIsIHkyKTsKKyAgICBjb250ZXh0LmxpbmVUbyhjJDIgKiB4MCAt
IHMgKiB5MCwgcyAqIHgwICsgYyQyICogeTApOworICAgIGNvbnRleHQubGluZVRvKGMkMiAqIHgx
IC0gcyAqIHkxLCBzICogeDEgKyBjJDIgKiB5MSk7CisgICAgY29udGV4dC5saW5lVG8oYyQyICog
eDIgLSBzICogeTIsIHMgKiB4MiArIGMkMiAqIHkyKTsKKyAgICBjb250ZXh0LmxpbmVUbyhjJDIg
KiB4MCArIHMgKiB5MCwgYyQyICogeTAgLSBzICogeDApOworICAgIGNvbnRleHQubGluZVRvKGMk
MiAqIHgxICsgcyAqIHkxLCBjJDIgKiB5MSAtIHMgKiB4MSk7CisgICAgY29udGV4dC5saW5lVG8o
YyQyICogeDIgKyBzICogeTIsIGMkMiAqIHkyIC0gcyAqIHgyKTsKKyAgICBjb250ZXh0LmNsb3Nl
UGF0aCgpOworICB9Cit9OworCit2YXIgc3ltYm9scyA9IFsKKyAgY2lyY2xlJDIsCisgIGNyb3Nz
JDIsCisgIGRpYW1vbmQsCisgIHNxdWFyZSwKKyAgc3RhciwKKyAgdHJpYW5nbGUsCisgIHd5ZQor
XTsKKworZnVuY3Rpb24gc3ltYm9sKCkgeworICB2YXIgdHlwZSA9IGNvbnN0YW50JGIoY2lyY2xl
JDIpLAorICAgICAgc2l6ZSA9IGNvbnN0YW50JGIoNjQpLAorICAgICAgY29udGV4dCA9IG51bGw7
CisKKyAgZnVuY3Rpb24gc3ltYm9sKCkgeworICAgIHZhciBidWZmZXI7CisgICAgaWYgKCFjb250
ZXh0KSBjb250ZXh0ID0gYnVmZmVyID0gcGF0aCgpOworICAgIHR5cGUuYXBwbHkodGhpcywgYXJn
dW1lbnRzKS5kcmF3KGNvbnRleHQsICtzaXplLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpOworICAg
IGlmIChidWZmZXIpIHJldHVybiBjb250ZXh0ID0gbnVsbCwgYnVmZmVyICsgIiIgfHwgbnVsbDsK
KyAgfQorCisgIHN5bWJvbC50eXBlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHR5cGUgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFu
dCRiKF8pLCBzeW1ib2wpIDogdHlwZTsKKyAgfTsKKworICBzeW1ib2wuc2l6ZSA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzaXplID0gdHlwZW9mIF8gPT09
ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIHN5bWJvbCkgOiBzaXplOworICB9Owor
CisgIHN5bWJvbC5jb250ZXh0ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMu
bGVuZ3RoID8gKGNvbnRleHQgPSBfID09IG51bGwgPyBudWxsIDogXywgc3ltYm9sKSA6IGNvbnRl
eHQ7CisgIH07CisKKyAgcmV0dXJuIHN5bWJvbDsKK30KKworZnVuY3Rpb24gbm9vcCQzKCkge30K
KworZnVuY3Rpb24gcG9pbnQkMih0aGF0LCB4LCB5KSB7CisgIHRoYXQuX2NvbnRleHQuYmV6aWVy
Q3VydmVUbygKKyAgICAoMiAqIHRoYXQuX3gwICsgdGhhdC5feDEpIC8gMywKKyAgICAoMiAqIHRo
YXQuX3kwICsgdGhhdC5feTEpIC8gMywKKyAgICAodGhhdC5feDAgKyAyICogdGhhdC5feDEpIC8g
MywKKyAgICAodGhhdC5feTAgKyAyICogdGhhdC5feTEpIC8gMywKKyAgICAodGhhdC5feDAgKyA0
ICogdGhhdC5feDEgKyB4KSAvIDYsCisgICAgKHRoYXQuX3kwICsgNCAqIHRoYXQuX3kxICsgeSkg
LyA2CisgICk7Cit9CisKK2Z1bmN0aW9uIEJhc2lzKGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4
dCA9IGNvbnRleHQ7Cit9CisKK0Jhc2lzLnByb3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBmdW5j
dGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAgfSwKKyAgYXJlYUVuZDogZnVuY3Rpb24o
KSB7CisgICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigp
IHsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxID0KKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxID0g
TmFOOworICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7
CisgICAgc3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAzOiBwb2ludCQyKHRoaXMs
IHRoaXMuX3gxLCB0aGlzLl95MSk7IC8vIHByb2NlZWQKKyAgICAgIGNhc2UgMjogdGhpcy5fY29u
dGV4dC5saW5lVG8odGhpcy5feDEsIHRoaXMuX3kxKTsgYnJlYWs7CisgICAgfQorICAgIGlmICh0
aGlzLl9saW5lIHx8ICh0aGlzLl9saW5lICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAxKSkgdGhp
cy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7
CisgIH0sCisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7Cisg
ICAgc3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7
IHRoaXMuX2xpbmUgPyB0aGlzLl9jb250ZXh0LmxpbmVUbyh4LCB5KSA6IHRoaXMuX2NvbnRleHQu
bW92ZVRvKHgsIHkpOyBicmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAyOyBicmVh
azsKKyAgICAgIGNhc2UgMjogdGhpcy5fcG9pbnQgPSAzOyB0aGlzLl9jb250ZXh0LmxpbmVUbygo
NSAqIHRoaXMuX3gwICsgdGhpcy5feDEpIC8gNiwgKDUgKiB0aGlzLl95MCArIHRoaXMuX3kxKSAv
IDYpOyAvLyBwcm9jZWVkCisgICAgICBkZWZhdWx0OiBwb2ludCQyKHRoaXMsIHgsIHkpOyBicmVh
azsKKyAgICB9CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSwgdGhpcy5feDEgPSB4OworICAgIHRo
aXMuX3kwID0gdGhpcy5feTEsIHRoaXMuX3kxID0geTsKKyAgfQorfTsKKworZnVuY3Rpb24gYmFz
aXMkMihjb250ZXh0KSB7CisgIHJldHVybiBuZXcgQmFzaXMoY29udGV4dCk7Cit9CisKK2Z1bmN0
aW9uIEJhc2lzQ2xvc2VkKGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7Cit9
CisKK0Jhc2lzQ2xvc2VkLnByb3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBub29wJDMsCisgIGFy
ZWFFbmQ6IG5vb3AkMywKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9
IHRoaXMuX3gxID0gdGhpcy5feDIgPSB0aGlzLl94MyA9IHRoaXMuX3g0ID0KKyAgICB0aGlzLl95
MCA9IHRoaXMuX3kxID0gdGhpcy5feTIgPSB0aGlzLl95MyA9IHRoaXMuX3k0ID0gTmFOOworICAg
IHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgc3dp
dGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAxOiB7CisgICAgICAgIHRoaXMuX2NvbnRl
eHQubW92ZVRvKHRoaXMuX3gyLCB0aGlzLl95Mik7CisgICAgICAgIHRoaXMuX2NvbnRleHQuY2xv
c2VQYXRoKCk7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAgY2FzZSAyOiB7CisgICAg
ICAgIHRoaXMuX2NvbnRleHQubW92ZVRvKCh0aGlzLl94MiArIDIgKiB0aGlzLl94MykgLyAzLCAo
dGhpcy5feTIgKyAyICogdGhpcy5feTMpIC8gMyk7CisgICAgICAgIHRoaXMuX2NvbnRleHQubGlu
ZVRvKCh0aGlzLl94MyArIDIgKiB0aGlzLl94MikgLyAzLCAodGhpcy5feTMgKyAyICogdGhpcy5f
eTIpIC8gMyk7CisgICAgICAgIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgICAgIGJy
ZWFrOworICAgICAgfQorICAgICAgY2FzZSAzOiB7CisgICAgICAgIHRoaXMucG9pbnQodGhpcy5f
eDIsIHRoaXMuX3kyKTsKKyAgICAgICAgdGhpcy5wb2ludCh0aGlzLl94MywgdGhpcy5feTMpOwor
ICAgICAgICB0aGlzLnBvaW50KHRoaXMuX3g0LCB0aGlzLl95NCk7CisgICAgICAgIGJyZWFrOwor
ICAgICAgfQorICAgIH0KKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0g
K3gsIHkgPSAreTsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRo
aXMuX3BvaW50ID0gMTsgdGhpcy5feDIgPSB4LCB0aGlzLl95MiA9IHk7IGJyZWFrOworICAgICAg
Y2FzZSAxOiB0aGlzLl9wb2ludCA9IDI7IHRoaXMuX3gzID0geCwgdGhpcy5feTMgPSB5OyBicmVh
azsKKyAgICAgIGNhc2UgMjogdGhpcy5fcG9pbnQgPSAzOyB0aGlzLl94NCA9IHgsIHRoaXMuX3k0
ID0geTsgdGhpcy5fY29udGV4dC5tb3ZlVG8oKHRoaXMuX3gwICsgNCAqIHRoaXMuX3gxICsgeCkg
LyA2LCAodGhpcy5feTAgKyA0ICogdGhpcy5feTEgKyB5KSAvIDYpOyBicmVhazsKKyAgICAgIGRl
ZmF1bHQ6IHBvaW50JDIodGhpcywgeCwgeSk7IGJyZWFrOworICAgIH0KKyAgICB0aGlzLl94MCA9
IHRoaXMuX3gxLCB0aGlzLl94MSA9IHg7CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSwgdGhpcy5f
eTEgPSB5OworICB9Cit9OworCitmdW5jdGlvbiBiYXNpc0Nsb3NlZCQxKGNvbnRleHQpIHsKKyAg
cmV0dXJuIG5ldyBCYXNpc0Nsb3NlZChjb250ZXh0KTsKK30KKworZnVuY3Rpb24gQmFzaXNPcGVu
KGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7Cit9CisKK0Jhc2lzT3Blbi5w
cm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9
IDA7CisgIH0sCisgIGFyZWFFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSBOYU47
CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5feDAgPSB0aGlzLl94
MSA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IE5hTjsKKyAgICB0aGlzLl9wb2ludCA9IDA7
CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9saW5lIHx8ICh0
aGlzLl9saW5lICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAzKSkgdGhpcy5fY29udGV4dC5jbG9z
ZVBhdGgoKTsKKyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0sCisgIHBvaW50
OiBmdW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgc3dpdGNoICh0aGlz
Ll9wb2ludCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IGJyZWFrOworICAgICAg
Y2FzZSAxOiB0aGlzLl9wb2ludCA9IDI7IGJyZWFrOworICAgICAgY2FzZSAyOiB0aGlzLl9wb2lu
dCA9IDM7IHZhciB4MCA9ICh0aGlzLl94MCArIDQgKiB0aGlzLl94MSArIHgpIC8gNiwgeTAgPSAo
dGhpcy5feTAgKyA0ICogdGhpcy5feTEgKyB5KSAvIDY7IHRoaXMuX2xpbmUgPyB0aGlzLl9jb250
ZXh0LmxpbmVUbyh4MCwgeTApIDogdGhpcy5fY29udGV4dC5tb3ZlVG8oeDAsIHkwKTsgYnJlYWs7
CisgICAgICBjYXNlIDM6IHRoaXMuX3BvaW50ID0gNDsgLy8gcHJvY2VlZAorICAgICAgZGVmYXVs
dDogcG9pbnQkMih0aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorICAgIHRoaXMuX3gwID0gdGhp
cy5feDEsIHRoaXMuX3gxID0geDsKKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxLCB0aGlzLl95MSA9
IHk7CisgIH0KK307CisKK2Z1bmN0aW9uIGJhc2lzT3Blbihjb250ZXh0KSB7CisgIHJldHVybiBu
ZXcgQmFzaXNPcGVuKGNvbnRleHQpOworfQorCitmdW5jdGlvbiBCdW5kbGUoY29udGV4dCwgYmV0
YSkgeworICB0aGlzLl9iYXNpcyA9IG5ldyBCYXNpcyhjb250ZXh0KTsKKyAgdGhpcy5fYmV0YSA9
IGJldGE7Cit9CisKK0J1bmRsZS5wcm90b3R5cGUgPSB7CisgIGxpbmVTdGFydDogZnVuY3Rpb24o
KSB7CisgICAgdGhpcy5feCA9IFtdOworICAgIHRoaXMuX3kgPSBbXTsKKyAgICB0aGlzLl9iYXNp
cy5saW5lU3RhcnQoKTsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgdmFyIHgg
PSB0aGlzLl94LAorICAgICAgICB5ID0gdGhpcy5feSwKKyAgICAgICAgaiA9IHgubGVuZ3RoIC0g
MTsKKworICAgIGlmIChqID4gMCkgeworICAgICAgdmFyIHgwID0geFswXSwKKyAgICAgICAgICB5
MCA9IHlbMF0sCisgICAgICAgICAgZHggPSB4W2pdIC0geDAsCisgICAgICAgICAgZHkgPSB5W2pd
IC0geTAsCisgICAgICAgICAgaSA9IC0xLAorICAgICAgICAgIHQ7CisKKyAgICAgIHdoaWxlICgr
K2kgPD0gaikgeworICAgICAgICB0ID0gaSAvIGo7CisgICAgICAgIHRoaXMuX2Jhc2lzLnBvaW50
KAorICAgICAgICAgIHRoaXMuX2JldGEgKiB4W2ldICsgKDEgLSB0aGlzLl9iZXRhKSAqICh4MCAr
IHQgKiBkeCksCisgICAgICAgICAgdGhpcy5fYmV0YSAqIHlbaV0gKyAoMSAtIHRoaXMuX2JldGEp
ICogKHkwICsgdCAqIGR5KQorICAgICAgICApOworICAgICAgfQorICAgIH0KKworICAgIHRoaXMu
X3ggPSB0aGlzLl95ID0gbnVsbDsKKyAgICB0aGlzLl9iYXNpcy5saW5lRW5kKCk7CisgIH0sCisg
IHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgdGhpcy5feC5wdXNoKCt4KTsKKyAgICB0aGlz
Ll95LnB1c2goK3kpOworICB9Cit9OworCit2YXIgYnVuZGxlID0gKGZ1bmN0aW9uIGN1c3RvbShi
ZXRhKSB7CisKKyAgZnVuY3Rpb24gYnVuZGxlKGNvbnRleHQpIHsKKyAgICByZXR1cm4gYmV0YSA9
PT0gMSA/IG5ldyBCYXNpcyhjb250ZXh0KSA6IG5ldyBCdW5kbGUoY29udGV4dCwgYmV0YSk7Cisg
IH0KKworICBidW5kbGUuYmV0YSA9IGZ1bmN0aW9uKGJldGEpIHsKKyAgICByZXR1cm4gY3VzdG9t
KCtiZXRhKTsKKyAgfTsKKworICByZXR1cm4gYnVuZGxlOworfSkoMC44NSk7CisKK2Z1bmN0aW9u
IHBvaW50JDModGhhdCwgeCwgeSkgeworICB0aGF0Ll9jb250ZXh0LmJlemllckN1cnZlVG8oCisg
ICAgdGhhdC5feDEgKyB0aGF0Ll9rICogKHRoYXQuX3gyIC0gdGhhdC5feDApLAorICAgIHRoYXQu
X3kxICsgdGhhdC5fayAqICh0aGF0Ll95MiAtIHRoYXQuX3kwKSwKKyAgICB0aGF0Ll94MiArIHRo
YXQuX2sgKiAodGhhdC5feDEgLSB4KSwKKyAgICB0aGF0Ll95MiArIHRoYXQuX2sgKiAodGhhdC5f
eTEgLSB5KSwKKyAgICB0aGF0Ll94MiwKKyAgICB0aGF0Ll95MgorICApOworfQorCitmdW5jdGlv
biBDYXJkaW5hbChjb250ZXh0LCB0ZW5zaW9uKSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0
OworICB0aGlzLl9rID0gKDEgLSB0ZW5zaW9uKSAvIDY7Cit9CisKK0NhcmRpbmFsLnByb3RvdHlw
ZSA9IHsKKyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAg
fSwKKyAgYXJlYUVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwK
KyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxID0gdGhp
cy5feDIgPQorICAgIHRoaXMuX3kwID0gdGhpcy5feTEgPSB0aGlzLl95MiA9IE5hTjsKKyAgICB0
aGlzLl9wb2ludCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHN3aXRj
aCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMjogdGhpcy5fY29udGV4dC5saW5lVG8odGhp
cy5feDIsIHRoaXMuX3kyKTsgYnJlYWs7CisgICAgICBjYXNlIDM6IHBvaW50JDModGhpcywgdGhp
cy5feDEsIHRoaXMuX3kxKTsgYnJlYWs7CisgICAgfQorICAgIGlmICh0aGlzLl9saW5lIHx8ICh0
aGlzLl9saW5lICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAxKSkgdGhpcy5fY29udGV4dC5jbG9z
ZVBhdGgoKTsKKyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0sCisgIHBvaW50
OiBmdW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgc3dpdGNoICh0aGlz
Ll9wb2ludCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IHRoaXMuX2xpbmUgPyB0
aGlzLl9jb250ZXh0LmxpbmVUbyh4LCB5KSA6IHRoaXMuX2NvbnRleHQubW92ZVRvKHgsIHkpOyBi
cmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAyOyB0aGlzLl94MSA9IHgsIHRoaXMu
X3kxID0geTsgYnJlYWs7CisgICAgICBjYXNlIDI6IHRoaXMuX3BvaW50ID0gMzsgLy8gcHJvY2Vl
ZAorICAgICAgZGVmYXVsdDogcG9pbnQkMyh0aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorICAg
IHRoaXMuX3gwID0gdGhpcy5feDEsIHRoaXMuX3gxID0gdGhpcy5feDIsIHRoaXMuX3gyID0geDsK
KyAgICB0aGlzLl95MCA9IHRoaXMuX3kxLCB0aGlzLl95MSA9IHRoaXMuX3kyLCB0aGlzLl95MiA9
IHk7CisgIH0KK307CisKK3ZhciBjYXJkaW5hbCA9IChmdW5jdGlvbiBjdXN0b20odGVuc2lvbikg
eworCisgIGZ1bmN0aW9uIGNhcmRpbmFsKGNvbnRleHQpIHsKKyAgICByZXR1cm4gbmV3IENhcmRp
bmFsKGNvbnRleHQsIHRlbnNpb24pOworICB9CisKKyAgY2FyZGluYWwudGVuc2lvbiA9IGZ1bmN0
aW9uKHRlbnNpb24pIHsKKyAgICByZXR1cm4gY3VzdG9tKCt0ZW5zaW9uKTsKKyAgfTsKKworICBy
ZXR1cm4gY2FyZGluYWw7Cit9KSgwKTsKKworZnVuY3Rpb24gQ2FyZGluYWxDbG9zZWQoY29udGV4
dCwgdGVuc2lvbikgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKKyAgdGhpcy5fayA9ICgx
IC0gdGVuc2lvbikgLyA2OworfQorCitDYXJkaW5hbENsb3NlZC5wcm90b3R5cGUgPSB7CisgIGFy
ZWFTdGFydDogbm9vcCQzLAorICBhcmVhRW5kOiBub29wJDMsCisgIGxpbmVTdGFydDogZnVuY3Rp
b24oKSB7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSA9IHRoaXMuX3gyID0gdGhpcy5feDMgPSB0
aGlzLl94NCA9IHRoaXMuX3g1ID0KKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxID0gdGhpcy5feTIg
PSB0aGlzLl95MyA9IHRoaXMuX3k0ID0gdGhpcy5feTUgPSBOYU47CisgICAgdGhpcy5fcG9pbnQg
PSAwOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBzd2l0Y2ggKHRoaXMuX3Bv
aW50KSB7CisgICAgICBjYXNlIDE6IHsKKyAgICAgICAgdGhpcy5fY29udGV4dC5tb3ZlVG8odGhp
cy5feDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBjYXNlIDI6IHsKKyAgICAgICAgdGhpcy5fY29u
dGV4dC5saW5lVG8odGhpcy5feDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhpcy5fY29udGV4dC5j
bG9zZVBhdGgoKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBjYXNlIDM6IHsKKyAg
ICAgICAgdGhpcy5wb2ludCh0aGlzLl94MywgdGhpcy5feTMpOworICAgICAgICB0aGlzLnBvaW50
KHRoaXMuX3g0LCB0aGlzLl95NCk7CisgICAgICAgIHRoaXMucG9pbnQodGhpcy5feDUsIHRoaXMu
X3k1KTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorICB9LAorICBwb2ludDogZnVu
Y3Rpb24oeCwgeSkgeworICAgIHggPSAreCwgeSA9ICt5OworICAgIHN3aXRjaCAodGhpcy5fcG9p
bnQpIHsKKyAgICAgIGNhc2UgMDogdGhpcy5fcG9pbnQgPSAxOyB0aGlzLl94MyA9IHgsIHRoaXMu
X3kzID0geTsgYnJlYWs7CisgICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgdGhpcy5fY29u
dGV4dC5tb3ZlVG8odGhpcy5feDQgPSB4LCB0aGlzLl95NCA9IHkpOyBicmVhazsKKyAgICAgIGNh
c2UgMjogdGhpcy5fcG9pbnQgPSAzOyB0aGlzLl94NSA9IHgsIHRoaXMuX3k1ID0geTsgYnJlYWs7
CisgICAgICBkZWZhdWx0OiBwb2ludCQzKHRoaXMsIHgsIHkpOyBicmVhazsKKyAgICB9CisgICAg
dGhpcy5feDAgPSB0aGlzLl94MSwgdGhpcy5feDEgPSB0aGlzLl94MiwgdGhpcy5feDIgPSB4Owor
ICAgIHRoaXMuX3kwID0gdGhpcy5feTEsIHRoaXMuX3kxID0gdGhpcy5feTIsIHRoaXMuX3kyID0g
eTsKKyAgfQorfTsKKwordmFyIGNhcmRpbmFsQ2xvc2VkID0gKGZ1bmN0aW9uIGN1c3RvbSh0ZW5z
aW9uKSB7CisKKyAgZnVuY3Rpb24gY2FyZGluYWwoY29udGV4dCkgeworICAgIHJldHVybiBuZXcg
Q2FyZGluYWxDbG9zZWQoY29udGV4dCwgdGVuc2lvbik7CisgIH0KKworICBjYXJkaW5hbC50ZW5z
aW9uID0gZnVuY3Rpb24odGVuc2lvbikgeworICAgIHJldHVybiBjdXN0b20oK3RlbnNpb24pOwor
ICB9OworCisgIHJldHVybiBjYXJkaW5hbDsKK30pKDApOworCitmdW5jdGlvbiBDYXJkaW5hbE9w
ZW4oY29udGV4dCwgdGVuc2lvbikgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKKyAgdGhp
cy5fayA9ICgxIC0gdGVuc2lvbikgLyA2OworfQorCitDYXJkaW5hbE9wZW4ucHJvdG90eXBlID0g
eworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSAwOworICB9LAor
ICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gTmFOOworICB9LAorICBs
aW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3gwID0gdGhpcy5feDEgPSB0aGlzLl94
MiA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IHRoaXMuX3kyID0gTmFOOworICAgIHRoaXMu
X3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgaWYgKHRoaXMu
X2xpbmUgfHwgKHRoaXMuX2xpbmUgIT09IDAgJiYgdGhpcy5fcG9pbnQgPT09IDMpKSB0aGlzLl9j
b250ZXh0LmNsb3NlUGF0aCgpOworICAgIHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5fbGluZTsKKyAg
fSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0gK3gsIHkgPSAreTsKKyAgICBz
d2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3BvaW50ID0gMTsgYnJl
YWs7CisgICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgYnJlYWs7CisgICAgICBjYXNlIDI6
IHRoaXMuX3BvaW50ID0gMzsgdGhpcy5fbGluZSA/IHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMu
X3gyLCB0aGlzLl95MikgOiB0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94MiwgdGhpcy5feTIp
OyBicmVhazsKKyAgICAgIGNhc2UgMzogdGhpcy5fcG9pbnQgPSA0OyAvLyBwcm9jZWVkCisgICAg
ICBkZWZhdWx0OiBwb2ludCQzKHRoaXMsIHgsIHkpOyBicmVhazsKKyAgICB9CisgICAgdGhpcy5f
eDAgPSB0aGlzLl94MSwgdGhpcy5feDEgPSB0aGlzLl94MiwgdGhpcy5feDIgPSB4OworICAgIHRo
aXMuX3kwID0gdGhpcy5feTEsIHRoaXMuX3kxID0gdGhpcy5feTIsIHRoaXMuX3kyID0geTsKKyAg
fQorfTsKKwordmFyIGNhcmRpbmFsT3BlbiA9IChmdW5jdGlvbiBjdXN0b20odGVuc2lvbikgewor
CisgIGZ1bmN0aW9uIGNhcmRpbmFsKGNvbnRleHQpIHsKKyAgICByZXR1cm4gbmV3IENhcmRpbmFs
T3Blbihjb250ZXh0LCB0ZW5zaW9uKTsKKyAgfQorCisgIGNhcmRpbmFsLnRlbnNpb24gPSBmdW5j
dGlvbih0ZW5zaW9uKSB7CisgICAgcmV0dXJuIGN1c3RvbSgrdGVuc2lvbik7CisgIH07CisKKyAg
cmV0dXJuIGNhcmRpbmFsOworfSkoMCk7CisKK2Z1bmN0aW9uIHBvaW50JDQodGhhdCwgeCwgeSkg
eworICB2YXIgeDEgPSB0aGF0Ll94MSwKKyAgICAgIHkxID0gdGhhdC5feTEsCisgICAgICB4MiA9
IHRoYXQuX3gyLAorICAgICAgeTIgPSB0aGF0Ll95MjsKKworICBpZiAodGhhdC5fbDAxX2EgPiBl
cHNpbG9uJDMpIHsKKyAgICB2YXIgYSA9IDIgKiB0aGF0Ll9sMDFfMmEgKyAzICogdGhhdC5fbDAx
X2EgKiB0aGF0Ll9sMTJfYSArIHRoYXQuX2wxMl8yYSwKKyAgICAgICAgbiA9IDMgKiB0aGF0Ll9s
MDFfYSAqICh0aGF0Ll9sMDFfYSArIHRoYXQuX2wxMl9hKTsKKyAgICB4MSA9ICh4MSAqIGEgLSB0
aGF0Ll94MCAqIHRoYXQuX2wxMl8yYSArIHRoYXQuX3gyICogdGhhdC5fbDAxXzJhKSAvIG47Cisg
ICAgeTEgPSAoeTEgKiBhIC0gdGhhdC5feTAgKiB0aGF0Ll9sMTJfMmEgKyB0aGF0Ll95MiAqIHRo
YXQuX2wwMV8yYSkgLyBuOworICB9CisKKyAgaWYgKHRoYXQuX2wyM19hID4gZXBzaWxvbiQzKSB7
CisgICAgdmFyIGIgPSAyICogdGhhdC5fbDIzXzJhICsgMyAqIHRoYXQuX2wyM19hICogdGhhdC5f
bDEyX2EgKyB0aGF0Ll9sMTJfMmEsCisgICAgICAgIG0gPSAzICogdGhhdC5fbDIzX2EgKiAodGhh
dC5fbDIzX2EgKyB0aGF0Ll9sMTJfYSk7CisgICAgeDIgPSAoeDIgKiBiICsgdGhhdC5feDEgKiB0
aGF0Ll9sMjNfMmEgLSB4ICogdGhhdC5fbDEyXzJhKSAvIG07CisgICAgeTIgPSAoeTIgKiBiICsg
dGhhdC5feTEgKiB0aGF0Ll9sMjNfMmEgLSB5ICogdGhhdC5fbDEyXzJhKSAvIG07CisgIH0KKwor
ICB0aGF0Ll9jb250ZXh0LmJlemllckN1cnZlVG8oeDEsIHkxLCB4MiwgeTIsIHRoYXQuX3gyLCB0
aGF0Ll95Mik7Cit9CisKK2Z1bmN0aW9uIENhdG11bGxSb20oY29udGV4dCwgYWxwaGEpIHsKKyAg
dGhpcy5fY29udGV4dCA9IGNvbnRleHQ7CisgIHRoaXMuX2FscGhhID0gYWxwaGE7Cit9CisKK0Nh
dG11bGxSb20ucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRo
aXMuX2xpbmUgPSAwOworICB9LAorICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9s
aW5lID0gTmFOOworICB9LAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3gw
ID0gdGhpcy5feDEgPSB0aGlzLl94MiA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IHRoaXMu
X3kyID0gTmFOOworICAgIHRoaXMuX2wwMV9hID0gdGhpcy5fbDEyX2EgPSB0aGlzLl9sMjNfYSA9
CisgICAgdGhpcy5fbDAxXzJhID0gdGhpcy5fbDEyXzJhID0gdGhpcy5fbDIzXzJhID0KKyAgICB0
aGlzLl9wb2ludCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHN3aXRj
aCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMjogdGhpcy5fY29udGV4dC5saW5lVG8odGhp
cy5feDIsIHRoaXMuX3kyKTsgYnJlYWs7CisgICAgICBjYXNlIDM6IHRoaXMucG9pbnQodGhpcy5f
eDIsIHRoaXMuX3kyKTsgYnJlYWs7CisgICAgfQorICAgIGlmICh0aGlzLl9saW5lIHx8ICh0aGlz
Ll9saW5lICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAxKSkgdGhpcy5fY29udGV4dC5jbG9zZVBh
dGgoKTsKKyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0sCisgIHBvaW50OiBm
dW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisKKyAgICBpZiAodGhpcy5fcG9p
bnQpIHsKKyAgICAgIHZhciB4MjMgPSB0aGlzLl94MiAtIHgsCisgICAgICAgICAgeTIzID0gdGhp
cy5feTIgLSB5OworICAgICAgdGhpcy5fbDIzX2EgPSBNYXRoLnNxcnQodGhpcy5fbDIzXzJhID0g
TWF0aC5wb3coeDIzICogeDIzICsgeTIzICogeTIzLCB0aGlzLl9hbHBoYSkpOworICAgIH0KKwor
ICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMDogdGhpcy5fcG9pbnQgPSAx
OyB0aGlzLl9saW5lID8gdGhpcy5fY29udGV4dC5saW5lVG8oeCwgeSkgOiB0aGlzLl9jb250ZXh0
Lm1vdmVUbyh4LCB5KTsgYnJlYWs7CisgICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgYnJl
YWs7CisgICAgICBjYXNlIDI6IHRoaXMuX3BvaW50ID0gMzsgLy8gcHJvY2VlZAorICAgICAgZGVm
YXVsdDogcG9pbnQkNCh0aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorCisgICAgdGhpcy5fbDAx
X2EgPSB0aGlzLl9sMTJfYSwgdGhpcy5fbDEyX2EgPSB0aGlzLl9sMjNfYTsKKyAgICB0aGlzLl9s
MDFfMmEgPSB0aGlzLl9sMTJfMmEsIHRoaXMuX2wxMl8yYSA9IHRoaXMuX2wyM18yYTsKKyAgICB0
aGlzLl94MCA9IHRoaXMuX3gxLCB0aGlzLl94MSA9IHRoaXMuX3gyLCB0aGlzLl94MiA9IHg7Cisg
ICAgdGhpcy5feTAgPSB0aGlzLl95MSwgdGhpcy5feTEgPSB0aGlzLl95MiwgdGhpcy5feTIgPSB5
OworICB9Cit9OworCit2YXIgY2F0bXVsbFJvbSA9IChmdW5jdGlvbiBjdXN0b20oYWxwaGEpIHsK
KworICBmdW5jdGlvbiBjYXRtdWxsUm9tKGNvbnRleHQpIHsKKyAgICByZXR1cm4gYWxwaGEgPyBu
ZXcgQ2F0bXVsbFJvbShjb250ZXh0LCBhbHBoYSkgOiBuZXcgQ2FyZGluYWwoY29udGV4dCwgMCk7
CisgIH0KKworICBjYXRtdWxsUm9tLmFscGhhID0gZnVuY3Rpb24oYWxwaGEpIHsKKyAgICByZXR1
cm4gY3VzdG9tKCthbHBoYSk7CisgIH07CisKKyAgcmV0dXJuIGNhdG11bGxSb207Cit9KSgwLjUp
OworCitmdW5jdGlvbiBDYXRtdWxsUm9tQ2xvc2VkKGNvbnRleHQsIGFscGhhKSB7CisgIHRoaXMu
X2NvbnRleHQgPSBjb250ZXh0OworICB0aGlzLl9hbHBoYSA9IGFscGhhOworfQorCitDYXRtdWxs
Um9tQ2xvc2VkLnByb3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBub29wJDMsCisgIGFyZWFFbmQ6
IG5vb3AkMywKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9IHRoaXMu
X3gxID0gdGhpcy5feDIgPSB0aGlzLl94MyA9IHRoaXMuX3g0ID0gdGhpcy5feDUgPQorICAgIHRo
aXMuX3kwID0gdGhpcy5feTEgPSB0aGlzLl95MiA9IHRoaXMuX3kzID0gdGhpcy5feTQgPSB0aGlz
Ll95NSA9IE5hTjsKKyAgICB0aGlzLl9sMDFfYSA9IHRoaXMuX2wxMl9hID0gdGhpcy5fbDIzX2Eg
PQorICAgIHRoaXMuX2wwMV8yYSA9IHRoaXMuX2wxMl8yYSA9IHRoaXMuX2wyM18yYSA9CisgICAg
dGhpcy5fcG9pbnQgPSAwOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBzd2l0
Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDE6IHsKKyAgICAgICAgdGhpcy5fY29udGV4
dC5tb3ZlVG8odGhpcy5feDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhpcy5fY29udGV4dC5jbG9z
ZVBhdGgoKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBjYXNlIDI6IHsKKyAgICAg
ICAgdGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhp
cy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBj
YXNlIDM6IHsKKyAgICAgICAgdGhpcy5wb2ludCh0aGlzLl94MywgdGhpcy5feTMpOworICAgICAg
ICB0aGlzLnBvaW50KHRoaXMuX3g0LCB0aGlzLl95NCk7CisgICAgICAgIHRoaXMucG9pbnQodGhp
cy5feDUsIHRoaXMuX3k1KTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorICB9LAor
ICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAgIHggPSAreCwgeSA9ICt5OworCisgICAgaWYg
KHRoaXMuX3BvaW50KSB7CisgICAgICB2YXIgeDIzID0gdGhpcy5feDIgLSB4LAorICAgICAgICAg
IHkyMyA9IHRoaXMuX3kyIC0geTsKKyAgICAgIHRoaXMuX2wyM19hID0gTWF0aC5zcXJ0KHRoaXMu
X2wyM18yYSA9IE1hdGgucG93KHgyMyAqIHgyMyArIHkyMyAqIHkyMywgdGhpcy5fYWxwaGEpKTsK
KyAgICB9CisKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMu
X3BvaW50ID0gMTsgdGhpcy5feDMgPSB4LCB0aGlzLl95MyA9IHk7IGJyZWFrOworICAgICAgY2Fz
ZSAxOiB0aGlzLl9wb2ludCA9IDI7IHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3g0ID0geCwg
dGhpcy5feTQgPSB5KTsgYnJlYWs7CisgICAgICBjYXNlIDI6IHRoaXMuX3BvaW50ID0gMzsgdGhp
cy5feDUgPSB4LCB0aGlzLl95NSA9IHk7IGJyZWFrOworICAgICAgZGVmYXVsdDogcG9pbnQkNCh0
aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorCisgICAgdGhpcy5fbDAxX2EgPSB0aGlzLl9sMTJf
YSwgdGhpcy5fbDEyX2EgPSB0aGlzLl9sMjNfYTsKKyAgICB0aGlzLl9sMDFfMmEgPSB0aGlzLl9s
MTJfMmEsIHRoaXMuX2wxMl8yYSA9IHRoaXMuX2wyM18yYTsKKyAgICB0aGlzLl94MCA9IHRoaXMu
X3gxLCB0aGlzLl94MSA9IHRoaXMuX3gyLCB0aGlzLl94MiA9IHg7CisgICAgdGhpcy5feTAgPSB0
aGlzLl95MSwgdGhpcy5feTEgPSB0aGlzLl95MiwgdGhpcy5feTIgPSB5OworICB9Cit9OworCit2
YXIgY2F0bXVsbFJvbUNsb3NlZCA9IChmdW5jdGlvbiBjdXN0b20oYWxwaGEpIHsKKworICBmdW5j
dGlvbiBjYXRtdWxsUm9tKGNvbnRleHQpIHsKKyAgICByZXR1cm4gYWxwaGEgPyBuZXcgQ2F0bXVs
bFJvbUNsb3NlZChjb250ZXh0LCBhbHBoYSkgOiBuZXcgQ2FyZGluYWxDbG9zZWQoY29udGV4dCwg
MCk7CisgIH0KKworICBjYXRtdWxsUm9tLmFscGhhID0gZnVuY3Rpb24oYWxwaGEpIHsKKyAgICBy
ZXR1cm4gY3VzdG9tKCthbHBoYSk7CisgIH07CisKKyAgcmV0dXJuIGNhdG11bGxSb207Cit9KSgw
LjUpOworCitmdW5jdGlvbiBDYXRtdWxsUm9tT3Blbihjb250ZXh0LCBhbHBoYSkgeworICB0aGlz
Ll9jb250ZXh0ID0gY29udGV4dDsKKyAgdGhpcy5fYWxwaGEgPSBhbHBoYTsKK30KKworQ2F0bXVs
bFJvbU9wZW4ucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRo
aXMuX2xpbmUgPSAwOworICB9LAorICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9s
aW5lID0gTmFOOworICB9LAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3gw
ID0gdGhpcy5feDEgPSB0aGlzLl94MiA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IHRoaXMu
X3kyID0gTmFOOworICAgIHRoaXMuX2wwMV9hID0gdGhpcy5fbDEyX2EgPSB0aGlzLl9sMjNfYSA9
CisgICAgdGhpcy5fbDAxXzJhID0gdGhpcy5fbDEyXzJhID0gdGhpcy5fbDIzXzJhID0KKyAgICB0
aGlzLl9wb2ludCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0
aGlzLl9saW5lIHx8ICh0aGlzLl9saW5lICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAzKSkgdGhp
cy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7
CisgIH0sCisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisK
KyAgICBpZiAodGhpcy5fcG9pbnQpIHsKKyAgICAgIHZhciB4MjMgPSB0aGlzLl94MiAtIHgsCisg
ICAgICAgICAgeTIzID0gdGhpcy5feTIgLSB5OworICAgICAgdGhpcy5fbDIzX2EgPSBNYXRoLnNx
cnQodGhpcy5fbDIzXzJhID0gTWF0aC5wb3coeDIzICogeDIzICsgeTIzICogeTIzLCB0aGlzLl9h
bHBoYSkpOworICAgIH0KKworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2Ug
MDogdGhpcy5fcG9pbnQgPSAxOyBicmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAy
OyBicmVhazsKKyAgICAgIGNhc2UgMjogdGhpcy5fcG9pbnQgPSAzOyB0aGlzLl9saW5lID8gdGhp
cy5fY29udGV4dC5saW5lVG8odGhpcy5feDIsIHRoaXMuX3kyKSA6IHRoaXMuX2NvbnRleHQubW92
ZVRvKHRoaXMuX3gyLCB0aGlzLl95Mik7IGJyZWFrOworICAgICAgY2FzZSAzOiB0aGlzLl9wb2lu
dCA9IDQ7IC8vIHByb2NlZWQKKyAgICAgIGRlZmF1bHQ6IHBvaW50JDQodGhpcywgeCwgeSk7IGJy
ZWFrOworICAgIH0KKworICAgIHRoaXMuX2wwMV9hID0gdGhpcy5fbDEyX2EsIHRoaXMuX2wxMl9h
ID0gdGhpcy5fbDIzX2E7CisgICAgdGhpcy5fbDAxXzJhID0gdGhpcy5fbDEyXzJhLCB0aGlzLl9s
MTJfMmEgPSB0aGlzLl9sMjNfMmE7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSwgdGhpcy5feDEg
PSB0aGlzLl94MiwgdGhpcy5feDIgPSB4OworICAgIHRoaXMuX3kwID0gdGhpcy5feTEsIHRoaXMu
X3kxID0gdGhpcy5feTIsIHRoaXMuX3kyID0geTsKKyAgfQorfTsKKwordmFyIGNhdG11bGxSb21P
cGVuID0gKGZ1bmN0aW9uIGN1c3RvbShhbHBoYSkgeworCisgIGZ1bmN0aW9uIGNhdG11bGxSb20o
Y29udGV4dCkgeworICAgIHJldHVybiBhbHBoYSA/IG5ldyBDYXRtdWxsUm9tT3Blbihjb250ZXh0
LCBhbHBoYSkgOiBuZXcgQ2FyZGluYWxPcGVuKGNvbnRleHQsIDApOworICB9CisKKyAgY2F0bXVs
bFJvbS5hbHBoYSA9IGZ1bmN0aW9uKGFscGhhKSB7CisgICAgcmV0dXJuIGN1c3RvbSgrYWxwaGEp
OworICB9OworCisgIHJldHVybiBjYXRtdWxsUm9tOworfSkoMC41KTsKKworZnVuY3Rpb24gTGlu
ZWFyQ2xvc2VkKGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7Cit9CisKK0xp
bmVhckNsb3NlZC5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogbm9vcCQzLAorICBhcmVhRW5k
OiBub29wJDMsCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fcG9pbnQgPSAw
OworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fcG9pbnQpIHRo
aXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgIH0sCisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7
CisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgaWYgKHRoaXMuX3BvaW50KSB0aGlzLl9jb250ZXh0
LmxpbmVUbyh4LCB5KTsKKyAgICBlbHNlIHRoaXMuX3BvaW50ID0gMSwgdGhpcy5fY29udGV4dC5t
b3ZlVG8oeCwgeSk7CisgIH0KK307CisKK2Z1bmN0aW9uIGxpbmVhckNsb3NlZChjb250ZXh0KSB7
CisgIHJldHVybiBuZXcgTGluZWFyQ2xvc2VkKGNvbnRleHQpOworfQorCitmdW5jdGlvbiBzaWdu
JDEoeCkgeworICByZXR1cm4geCA8IDAgPyAtMSA6IDE7Cit9CisKKy8vIENhbGN1bGF0ZSB0aGUg
c2xvcGVzIG9mIHRoZSB0YW5nZW50cyAoSGVybWl0ZS10eXBlIGludGVycG9sYXRpb24pIGJhc2Vk
IG9uCisvLyB0aGUgZm9sbG93aW5nIHBhcGVyOiBTdGVmZmVuLCBNLiAxOTkwLiBBIFNpbXBsZSBN
ZXRob2QgZm9yIE1vbm90b25pYworLy8gSW50ZXJwb2xhdGlvbiBpbiBPbmUgRGltZW5zaW9uLiBB
c3Ryb25vbXkgYW5kIEFzdHJvcGh5c2ljcywgVm9sLiAyMzksIE5PLgorLy8gTk9WKElJKSwgUC4g
NDQzLCAxOTkwLgorZnVuY3Rpb24gc2xvcGUzKHRoYXQsIHgyLCB5MikgeworICB2YXIgaDAgPSB0
aGF0Ll94MSAtIHRoYXQuX3gwLAorICAgICAgaDEgPSB4MiAtIHRoYXQuX3gxLAorICAgICAgczAg
PSAodGhhdC5feTEgLSB0aGF0Ll95MCkgLyAoaDAgfHwgaDEgPCAwICYmIC0wKSwKKyAgICAgIHMx
ID0gKHkyIC0gdGhhdC5feTEpIC8gKGgxIHx8IGgwIDwgMCAmJiAtMCksCisgICAgICBwID0gKHMw
ICogaDEgKyBzMSAqIGgwKSAvIChoMCArIGgxKTsKKyAgcmV0dXJuIChzaWduJDEoczApICsgc2ln
biQxKHMxKSkgKiBNYXRoLm1pbihNYXRoLmFicyhzMCksIE1hdGguYWJzKHMxKSwgMC41ICogTWF0
aC5hYnMocCkpIHx8IDA7Cit9CisKKy8vIENhbGN1bGF0ZSBhIG9uZS1zaWRlZCBzbG9wZS4KK2Z1
bmN0aW9uIHNsb3BlMih0aGF0LCB0KSB7CisgIHZhciBoID0gdGhhdC5feDEgLSB0aGF0Ll94MDsK
KyAgcmV0dXJuIGggPyAoMyAqICh0aGF0Ll95MSAtIHRoYXQuX3kwKSAvIGggLSB0KSAvIDIgOiB0
OworfQorCisvLyBBY2NvcmRpbmcgdG8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ3Vi
aWNfSGVybWl0ZV9zcGxpbmUjUmVwcmVzZW50YXRpb25zCisvLyAieW91IGNhbiBleHByZXNzIGN1
YmljIEhlcm1pdGUgaW50ZXJwb2xhdGlvbiBpbiB0ZXJtcyBvZiBjdWJpYyBCw6l6aWVyIGN1cnZl
cworLy8gd2l0aCByZXNwZWN0IHRvIHRoZSBmb3VyIHZhbHVlcyBwMCwgcDAgKyBtMCAvIDMsIHAx
IC0gbTEgLyAzLCBwMSIuCitmdW5jdGlvbiBwb2ludCQ1KHRoYXQsIHQwLCB0MSkgeworICB2YXIg
eDAgPSB0aGF0Ll94MCwKKyAgICAgIHkwID0gdGhhdC5feTAsCisgICAgICB4MSA9IHRoYXQuX3gx
LAorICAgICAgeTEgPSB0aGF0Ll95MSwKKyAgICAgIGR4ID0gKHgxIC0geDApIC8gMzsKKyAgdGhh
dC5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKHgwICsgZHgsIHkwICsgZHggKiB0MCwgeDEgLSBkeCwg
eTEgLSBkeCAqIHQxLCB4MSwgeTEpOworfQorCitmdW5jdGlvbiBNb25vdG9uZVgoY29udGV4dCkg
eworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKK30KKworTW9ub3RvbmVYLnByb3RvdHlwZSA9
IHsKKyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAgfSwK
KyAgYXJlYUVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwKKyAg
bGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxID0KKyAgICB0
aGlzLl95MCA9IHRoaXMuX3kxID0KKyAgICB0aGlzLl90MCA9IE5hTjsKKyAgICB0aGlzLl9wb2lu
dCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHN3aXRjaCAodGhpcy5f
cG9pbnQpIHsKKyAgICAgIGNhc2UgMjogdGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDEsIHRo
aXMuX3kxKTsgYnJlYWs7CisgICAgICBjYXNlIDM6IHBvaW50JDUodGhpcywgdGhpcy5fdDAsIHNs
b3BlMih0aGlzLCB0aGlzLl90MCkpOyBicmVhazsKKyAgICB9CisgICAgaWYgKHRoaXMuX2xpbmUg
fHwgKHRoaXMuX2xpbmUgIT09IDAgJiYgdGhpcy5fcG9pbnQgPT09IDEpKSB0aGlzLl9jb250ZXh0
LmNsb3NlUGF0aCgpOworICAgIHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5fbGluZTsKKyAgfSwKKyAg
cG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB2YXIgdDEgPSBOYU47CisKKyAgICB4ID0gK3gs
IHkgPSAreTsKKyAgICBpZiAoeCA9PT0gdGhpcy5feDEgJiYgeSA9PT0gdGhpcy5feTEpIHJldHVy
bjsgLy8gSWdub3JlIGNvaW5jaWRlbnQgcG9pbnRzLgorICAgIHN3aXRjaCAodGhpcy5fcG9pbnQp
IHsKKyAgICAgIGNhc2UgMDogdGhpcy5fcG9pbnQgPSAxOyB0aGlzLl9saW5lID8gdGhpcy5fY29u
dGV4dC5saW5lVG8oeCwgeSkgOiB0aGlzLl9jb250ZXh0Lm1vdmVUbyh4LCB5KTsgYnJlYWs7Cisg
ICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgYnJlYWs7CisgICAgICBjYXNlIDI6IHRoaXMu
X3BvaW50ID0gMzsgcG9pbnQkNSh0aGlzLCBzbG9wZTIodGhpcywgdDEgPSBzbG9wZTModGhpcywg
eCwgeSkpLCB0MSk7IGJyZWFrOworICAgICAgZGVmYXVsdDogcG9pbnQkNSh0aGlzLCB0aGlzLl90
MCwgdDEgPSBzbG9wZTModGhpcywgeCwgeSkpOyBicmVhazsKKyAgICB9CisKKyAgICB0aGlzLl94
MCA9IHRoaXMuX3gxLCB0aGlzLl94MSA9IHg7CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSwgdGhp
cy5feTEgPSB5OworICAgIHRoaXMuX3QwID0gdDE7CisgIH0KK307CisKK2Z1bmN0aW9uIE1vbm90
b25lWShjb250ZXh0KSB7CisgIHRoaXMuX2NvbnRleHQgPSBuZXcgUmVmbGVjdENvbnRleHQoY29u
dGV4dCk7Cit9CisKKyhNb25vdG9uZVkucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShNb25vdG9u
ZVgucHJvdG90eXBlKSkucG9pbnQgPSBmdW5jdGlvbih4LCB5KSB7CisgIE1vbm90b25lWC5wcm90
b3R5cGUucG9pbnQuY2FsbCh0aGlzLCB5LCB4KTsKK307CisKK2Z1bmN0aW9uIFJlZmxlY3RDb250
ZXh0KGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7Cit9CisKK1JlZmxlY3RD
b250ZXh0LnByb3RvdHlwZSA9IHsKKyAgbW92ZVRvOiBmdW5jdGlvbih4LCB5KSB7IHRoaXMuX2Nv
bnRleHQubW92ZVRvKHksIHgpOyB9LAorICBjbG9zZVBhdGg6IGZ1bmN0aW9uKCkgeyB0aGlzLl9j
b250ZXh0LmNsb3NlUGF0aCgpOyB9LAorICBsaW5lVG86IGZ1bmN0aW9uKHgsIHkpIHsgdGhpcy5f
Y29udGV4dC5saW5lVG8oeSwgeCk7IH0sCisgIGJlemllckN1cnZlVG86IGZ1bmN0aW9uKHgxLCB5
MSwgeDIsIHkyLCB4LCB5KSB7IHRoaXMuX2NvbnRleHQuYmV6aWVyQ3VydmVUbyh5MSwgeDEsIHky
LCB4MiwgeSwgeCk7IH0KK307CisKK2Z1bmN0aW9uIG1vbm90b25lWChjb250ZXh0KSB7CisgIHJl
dHVybiBuZXcgTW9ub3RvbmVYKGNvbnRleHQpOworfQorCitmdW5jdGlvbiBtb25vdG9uZVkoY29u
dGV4dCkgeworICByZXR1cm4gbmV3IE1vbm90b25lWShjb250ZXh0KTsKK30KKworZnVuY3Rpb24g
TmF0dXJhbChjb250ZXh0KSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworfQorCitOYXR1
cmFsLnByb3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9s
aW5lID0gMDsKKyAgfSwKKyAgYXJlYUVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9
IE5hTjsKKyAgfSwKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94ID0gW107
CisgICAgdGhpcy5feSA9IFtdOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICB2
YXIgeCA9IHRoaXMuX3gsCisgICAgICAgIHkgPSB0aGlzLl95LAorICAgICAgICBuID0geC5sZW5n
dGg7CisKKyAgICBpZiAobikgeworICAgICAgdGhpcy5fbGluZSA/IHRoaXMuX2NvbnRleHQubGlu
ZVRvKHhbMF0sIHlbMF0pIDogdGhpcy5fY29udGV4dC5tb3ZlVG8oeFswXSwgeVswXSk7CisgICAg
ICBpZiAobiA9PT0gMikgeworICAgICAgICB0aGlzLl9jb250ZXh0LmxpbmVUbyh4WzFdLCB5WzFd
KTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIHZhciBweCA9IGNvbnRyb2xQb2ludHMoeCksCisg
ICAgICAgICAgICBweSA9IGNvbnRyb2xQb2ludHMoeSk7CisgICAgICAgIGZvciAodmFyIGkwID0g
MCwgaTEgPSAxOyBpMSA8IG47ICsraTAsICsraTEpIHsKKyAgICAgICAgICB0aGlzLl9jb250ZXh0
LmJlemllckN1cnZlVG8ocHhbMF1baTBdLCBweVswXVtpMF0sIHB4WzFdW2kwXSwgcHlbMV1baTBd
LCB4W2kxXSwgeVtpMV0pOworICAgICAgICB9CisgICAgICB9CisgICAgfQorCisgICAgaWYgKHRo
aXMuX2xpbmUgfHwgKHRoaXMuX2xpbmUgIT09IDAgJiYgbiA9PT0gMSkpIHRoaXMuX2NvbnRleHQu
Y2xvc2VQYXRoKCk7CisgICAgdGhpcy5fbGluZSA9IDEgLSB0aGlzLl9saW5lOworICAgIHRoaXMu
X3ggPSB0aGlzLl95ID0gbnVsbDsKKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAg
ICB0aGlzLl94LnB1c2goK3gpOworICAgIHRoaXMuX3kucHVzaCgreSk7CisgIH0KK307CisKKy8v
IFNlZSBodHRwczovL3d3dy5wYXJ0aWNsZWluY2VsbC5jb20vMjAxMi9iZXppZXItc3BsaW5lcy8g
Zm9yIGRlcml2YXRpb24uCitmdW5jdGlvbiBjb250cm9sUG9pbnRzKHgpIHsKKyAgdmFyIGksCisg
ICAgICBuID0geC5sZW5ndGggLSAxLAorICAgICAgbSwKKyAgICAgIGEgPSBuZXcgQXJyYXkobiks
CisgICAgICBiID0gbmV3IEFycmF5KG4pLAorICAgICAgciA9IG5ldyBBcnJheShuKTsKKyAgYVsw
XSA9IDAsIGJbMF0gPSAyLCByWzBdID0geFswXSArIDIgKiB4WzFdOworICBmb3IgKGkgPSAxOyBp
IDwgbiAtIDE7ICsraSkgYVtpXSA9IDEsIGJbaV0gPSA0LCByW2ldID0gNCAqIHhbaV0gKyAyICog
eFtpICsgMV07CisgIGFbbiAtIDFdID0gMiwgYltuIC0gMV0gPSA3LCByW24gLSAxXSA9IDggKiB4
W24gLSAxXSArIHhbbl07CisgIGZvciAoaSA9IDE7IGkgPCBuOyArK2kpIG0gPSBhW2ldIC8gYltp
IC0gMV0sIGJbaV0gLT0gbSwgcltpXSAtPSBtICogcltpIC0gMV07CisgIGFbbiAtIDFdID0gcltu
IC0gMV0gLyBiW24gLSAxXTsKKyAgZm9yIChpID0gbiAtIDI7IGkgPj0gMDsgLS1pKSBhW2ldID0g
KHJbaV0gLSBhW2kgKyAxXSkgLyBiW2ldOworICBiW24gLSAxXSA9ICh4W25dICsgYVtuIC0gMV0p
IC8gMjsKKyAgZm9yIChpID0gMDsgaSA8IG4gLSAxOyArK2kpIGJbaV0gPSAyICogeFtpICsgMV0g
LSBhW2kgKyAxXTsKKyAgcmV0dXJuIFthLCBiXTsKK30KKworZnVuY3Rpb24gbmF0dXJhbChjb250
ZXh0KSB7CisgIHJldHVybiBuZXcgTmF0dXJhbChjb250ZXh0KTsKK30KKworZnVuY3Rpb24gU3Rl
cChjb250ZXh0LCB0KSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworICB0aGlzLl90ID0g
dDsKK30KKworU3RlcC5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogZnVuY3Rpb24oKSB7Cisg
ICAgdGhpcy5fbGluZSA9IDA7CisgIH0sCisgIGFyZWFFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRo
aXMuX2xpbmUgPSBOYU47CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhp
cy5feCA9IHRoaXMuX3kgPSBOYU47CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9LAorICBsaW5l
RW5kOiBmdW5jdGlvbigpIHsKKyAgICBpZiAoMCA8IHRoaXMuX3QgJiYgdGhpcy5fdCA8IDEgJiYg
dGhpcy5fcG9pbnQgPT09IDIpIHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gsIHRoaXMuX3kp
OworICAgIGlmICh0aGlzLl9saW5lIHx8ICh0aGlzLl9saW5lICE9PSAwICYmIHRoaXMuX3BvaW50
ID09PSAxKSkgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgICBpZiAodGhpcy5fbGluZSA+
PSAwKSB0aGlzLl90ID0gMSAtIHRoaXMuX3QsIHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5fbGluZTsK
KyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0gK3gsIHkgPSAreTsKKyAg
ICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3BvaW50ID0gMTsg
dGhpcy5fbGluZSA/IHRoaXMuX2NvbnRleHQubGluZVRvKHgsIHkpIDogdGhpcy5fY29udGV4dC5t
b3ZlVG8oeCwgeSk7IGJyZWFrOworICAgICAgY2FzZSAxOiB0aGlzLl9wb2ludCA9IDI7IC8vIHBy
b2NlZWQKKyAgICAgIGRlZmF1bHQ6IHsKKyAgICAgICAgaWYgKHRoaXMuX3QgPD0gMCkgeworICAg
ICAgICAgIHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gsIHkpOworICAgICAgICAgIHRoaXMu
X2NvbnRleHQubGluZVRvKHgsIHkpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIHZhciB4
MSA9IHRoaXMuX3ggKiAoMSAtIHRoaXMuX3QpICsgeCAqIHRoaXMuX3Q7CisgICAgICAgICAgdGhp
cy5fY29udGV4dC5saW5lVG8oeDEsIHRoaXMuX3kpOworICAgICAgICAgIHRoaXMuX2NvbnRleHQu
bGluZVRvKHgxLCB5KTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICB9
CisgICAgdGhpcy5feCA9IHgsIHRoaXMuX3kgPSB5OworICB9Cit9OworCitmdW5jdGlvbiBzdGVw
KGNvbnRleHQpIHsKKyAgcmV0dXJuIG5ldyBTdGVwKGNvbnRleHQsIDAuNSk7Cit9CisKK2Z1bmN0
aW9uIHN0ZXBCZWZvcmUoY29udGV4dCkgeworICByZXR1cm4gbmV3IFN0ZXAoY29udGV4dCwgMCk7
Cit9CisKK2Z1bmN0aW9uIHN0ZXBBZnRlcihjb250ZXh0KSB7CisgIHJldHVybiBuZXcgU3RlcChj
b250ZXh0LCAxKTsKK30KKworZnVuY3Rpb24gbm9uZSQxKHNlcmllcywgb3JkZXIpIHsKKyAgaWYg
KCEoKG4gPSBzZXJpZXMubGVuZ3RoKSA+IDEpKSByZXR1cm47CisgIGZvciAodmFyIGkgPSAxLCBq
LCBzMCwgczEgPSBzZXJpZXNbb3JkZXJbMF1dLCBuLCBtID0gczEubGVuZ3RoOyBpIDwgbjsgKytp
KSB7CisgICAgczAgPSBzMSwgczEgPSBzZXJpZXNbb3JkZXJbaV1dOworICAgIGZvciAoaiA9IDA7
IGogPCBtOyArK2opIHsKKyAgICAgIHMxW2pdWzFdICs9IHMxW2pdWzBdID0gaXNOYU4oczBbal1b
MV0pID8gczBbal1bMF0gOiBzMFtqXVsxXTsKKyAgICB9CisgIH0KK30KKworZnVuY3Rpb24gbm9u
ZSQyKHNlcmllcykgeworICB2YXIgbiA9IHNlcmllcy5sZW5ndGgsIG8gPSBuZXcgQXJyYXkobik7
CisgIHdoaWxlICgtLW4gPj0gMCkgb1tuXSA9IG47CisgIHJldHVybiBvOworfQorCitmdW5jdGlv
biBzdGFja1ZhbHVlKGQsIGtleSkgeworICByZXR1cm4gZFtrZXldOworfQorCitmdW5jdGlvbiBz
dGFjaygpIHsKKyAgdmFyIGtleXMgPSBjb25zdGFudCRiKFtdKSwKKyAgICAgIG9yZGVyID0gbm9u
ZSQyLAorICAgICAgb2Zmc2V0ID0gbm9uZSQxLAorICAgICAgdmFsdWUgPSBzdGFja1ZhbHVlOwor
CisgIGZ1bmN0aW9uIHN0YWNrKGRhdGEpIHsKKyAgICB2YXIga3ogPSBrZXlzLmFwcGx5KHRoaXMs
IGFyZ3VtZW50cyksCisgICAgICAgIGksCisgICAgICAgIG0gPSBkYXRhLmxlbmd0aCwKKyAgICAg
ICAgbiA9IGt6Lmxlbmd0aCwKKyAgICAgICAgc3ogPSBuZXcgQXJyYXkobiksCisgICAgICAgIG96
OworCisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgZm9yICh2YXIga2kgPSBr
eltpXSwgc2kgPSBzeltpXSA9IG5ldyBBcnJheShtKSwgaiA9IDAsIHNpajsgaiA8IG07ICsraikg
eworICAgICAgICBzaVtqXSA9IHNpaiA9IFswLCArdmFsdWUoZGF0YVtqXSwga2ksIGosIGRhdGEp
XTsKKyAgICAgICAgc2lqLmRhdGEgPSBkYXRhW2pdOworICAgICAgfQorICAgICAgc2kua2V5ID0g
a2k7CisgICAgfQorCisgICAgZm9yIChpID0gMCwgb3ogPSBvcmRlcihzeik7IGkgPCBuOyArK2kp
IHsKKyAgICAgIHN6W296W2ldXS5pbmRleCA9IGk7CisgICAgfQorCisgICAgb2Zmc2V0KHN6LCBv
eik7CisgICAgcmV0dXJuIHN6OworICB9CisKKyAgc3RhY2sua2V5cyA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChrZXlzID0gdHlwZW9mIF8gPT09ICJmdW5j
dGlvbiIgPyBfIDogY29uc3RhbnQkYihzbGljZSQ2LmNhbGwoXykpLCBzdGFjaykgOiBrZXlzOwor
ICB9OworCisgIHN0YWNrLnZhbHVlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHZhbHVlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3Rh
bnQkYigrXyksIHN0YWNrKSA6IHZhbHVlOworICB9OworCisgIHN0YWNrLm9yZGVyID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKG9yZGVyID0gXyA9PSBudWxs
ID8gbm9uZSQyIDogdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYihzbGlj
ZSQ2LmNhbGwoXykpLCBzdGFjaykgOiBvcmRlcjsKKyAgfTsKKworICBzdGFjay5vZmZzZXQgPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAob2Zmc2V0ID0gXyA9
PSBudWxsID8gbm9uZSQxIDogXywgc3RhY2spIDogb2Zmc2V0OworICB9OworCisgIHJldHVybiBz
dGFjazsKK30KKworZnVuY3Rpb24gZXhwYW5kKHNlcmllcywgb3JkZXIpIHsKKyAgaWYgKCEoKG4g
PSBzZXJpZXMubGVuZ3RoKSA+IDApKSByZXR1cm47CisgIGZvciAodmFyIGksIG4sIGogPSAwLCBt
ID0gc2VyaWVzWzBdLmxlbmd0aCwgeTsgaiA8IG07ICsraikgeworICAgIGZvciAoeSA9IGkgPSAw
OyBpIDwgbjsgKytpKSB5ICs9IHNlcmllc1tpXVtqXVsxXSB8fCAwOworICAgIGlmICh5KSBmb3Ig
KGkgPSAwOyBpIDwgbjsgKytpKSBzZXJpZXNbaV1bal1bMV0gLz0geTsKKyAgfQorICBub25lJDEo
c2VyaWVzLCBvcmRlcik7Cit9CisKK2Z1bmN0aW9uIGRpdmVyZ2luZyQxKHNlcmllcywgb3JkZXIp
IHsKKyAgaWYgKCEoKG4gPSBzZXJpZXMubGVuZ3RoKSA+IDApKSByZXR1cm47CisgIGZvciAodmFy
IGksIGogPSAwLCBkLCBkeSwgeXAsIHluLCBuLCBtID0gc2VyaWVzW29yZGVyWzBdXS5sZW5ndGg7
IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHlwID0geW4gPSAwLCBpID0gMDsgaSA8IG47ICsraSkg
eworICAgICAgaWYgKChkeSA9IChkID0gc2VyaWVzW29yZGVyW2ldXVtqXSlbMV0gLSBkWzBdKSA+
IDApIHsKKyAgICAgICAgZFswXSA9IHlwLCBkWzFdID0geXAgKz0gZHk7CisgICAgICB9IGVsc2Ug
aWYgKGR5IDwgMCkgeworICAgICAgICBkWzFdID0geW4sIGRbMF0gPSB5biArPSBkeTsKKyAgICAg
IH0gZWxzZSB7CisgICAgICAgIGRbMF0gPSAwLCBkWzFdID0gZHk7CisgICAgICB9CisgICAgfQor
ICB9Cit9CisKK2Z1bmN0aW9uIHNpbGhvdWV0dGUoc2VyaWVzLCBvcmRlcikgeworICBpZiAoISgo
biA9IHNlcmllcy5sZW5ndGgpID4gMCkpIHJldHVybjsKKyAgZm9yICh2YXIgaiA9IDAsIHMwID0g
c2VyaWVzW29yZGVyWzBdXSwgbiwgbSA9IHMwLmxlbmd0aDsgaiA8IG07ICsraikgeworICAgIGZv
ciAodmFyIGkgPSAwLCB5ID0gMDsgaSA8IG47ICsraSkgeSArPSBzZXJpZXNbaV1bal1bMV0gfHwg
MDsKKyAgICBzMFtqXVsxXSArPSBzMFtqXVswXSA9IC15IC8gMjsKKyAgfQorICBub25lJDEoc2Vy
aWVzLCBvcmRlcik7Cit9CisKK2Z1bmN0aW9uIHdpZ2dsZShzZXJpZXMsIG9yZGVyKSB7CisgIGlm
ICghKChuID0gc2VyaWVzLmxlbmd0aCkgPiAwKSB8fCAhKChtID0gKHMwID0gc2VyaWVzW29yZGVy
WzBdXSkubGVuZ3RoKSA+IDApKSByZXR1cm47CisgIGZvciAodmFyIHkgPSAwLCBqID0gMSwgczAs
IG0sIG47IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBpID0gMCwgczEgPSAwLCBzMiA9IDA7
IGkgPCBuOyArK2kpIHsKKyAgICAgIHZhciBzaSA9IHNlcmllc1tvcmRlcltpXV0sCisgICAgICAg
ICAgc2lqMCA9IHNpW2pdWzFdIHx8IDAsCisgICAgICAgICAgc2lqMSA9IHNpW2ogLSAxXVsxXSB8
fCAwLAorICAgICAgICAgIHMzID0gKHNpajAgLSBzaWoxKSAvIDI7CisgICAgICBmb3IgKHZhciBr
ID0gMDsgayA8IGk7ICsraykgeworICAgICAgICB2YXIgc2sgPSBzZXJpZXNbb3JkZXJba11dLAor
ICAgICAgICAgICAgc2tqMCA9IHNrW2pdWzFdIHx8IDAsCisgICAgICAgICAgICBza2oxID0gc2tb
aiAtIDFdWzFdIHx8IDA7CisgICAgICAgIHMzICs9IHNrajAgLSBza2oxOworICAgICAgfQorICAg
ICAgczEgKz0gc2lqMCwgczIgKz0gczMgKiBzaWowOworICAgIH0KKyAgICBzMFtqIC0gMV1bMV0g
Kz0gczBbaiAtIDFdWzBdID0geTsKKyAgICBpZiAoczEpIHkgLT0gczIgLyBzMTsKKyAgfQorICBz
MFtqIC0gMV1bMV0gKz0gczBbaiAtIDFdWzBdID0geTsKKyAgbm9uZSQxKHNlcmllcywgb3JkZXIp
OworfQorCitmdW5jdGlvbiBhcHBlYXJhbmNlKHNlcmllcykgeworICB2YXIgcGVha3MgPSBzZXJp
ZXMubWFwKHBlYWspOworICByZXR1cm4gbm9uZSQyKHNlcmllcykuc29ydChmdW5jdGlvbihhLCBi
KSB7IHJldHVybiBwZWFrc1thXSAtIHBlYWtzW2JdOyB9KTsKK30KKworZnVuY3Rpb24gcGVhayhz
ZXJpZXMpIHsKKyAgdmFyIGkgPSAtMSwgaiA9IDAsIG4gPSBzZXJpZXMubGVuZ3RoLCB2aSwgdmog
PSAtSW5maW5pdHk7CisgIHdoaWxlICgrK2kgPCBuKSBpZiAoKHZpID0gK3Nlcmllc1tpXVsxXSkg
PiB2aikgdmogPSB2aSwgaiA9IGk7CisgIHJldHVybiBqOworfQorCitmdW5jdGlvbiBhc2NlbmRp
bmckMyhzZXJpZXMpIHsKKyAgdmFyIHN1bXMgPSBzZXJpZXMubWFwKHN1bSQyKTsKKyAgcmV0dXJu
IG5vbmUkMihzZXJpZXMpLnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4gc3Vtc1thXSAtIHN1
bXNbYl07IH0pOworfQorCitmdW5jdGlvbiBzdW0kMihzZXJpZXMpIHsKKyAgdmFyIHMgPSAwLCBp
ID0gLTEsIG4gPSBzZXJpZXMubGVuZ3RoLCB2OworICB3aGlsZSAoKytpIDwgbikgaWYgKHYgPSAr
c2VyaWVzW2ldWzFdKSBzICs9IHY7CisgIHJldHVybiBzOworfQorCitmdW5jdGlvbiBkZXNjZW5k
aW5nJDIoc2VyaWVzKSB7CisgIHJldHVybiBhc2NlbmRpbmckMyhzZXJpZXMpLnJldmVyc2UoKTsK
K30KKworZnVuY3Rpb24gaW5zaWRlT3V0KHNlcmllcykgeworICB2YXIgbiA9IHNlcmllcy5sZW5n
dGgsCisgICAgICBpLAorICAgICAgaiwKKyAgICAgIHN1bXMgPSBzZXJpZXMubWFwKHN1bSQyKSwK
KyAgICAgIG9yZGVyID0gYXBwZWFyYW5jZShzZXJpZXMpLAorICAgICAgdG9wID0gMCwKKyAgICAg
IGJvdHRvbSA9IDAsCisgICAgICB0b3BzID0gW10sCisgICAgICBib3R0b21zID0gW107CisKKyAg
Zm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgIGogPSBvcmRlcltpXTsKKyAgICBpZiAodG9w
IDwgYm90dG9tKSB7CisgICAgICB0b3AgKz0gc3Vtc1tqXTsKKyAgICAgIHRvcHMucHVzaChqKTsK
KyAgICB9IGVsc2UgeworICAgICAgYm90dG9tICs9IHN1bXNbal07CisgICAgICBib3R0b21zLnB1
c2goaik7CisgICAgfQorICB9CisKKyAgcmV0dXJuIGJvdHRvbXMucmV2ZXJzZSgpLmNvbmNhdCh0
b3BzKTsKK30KKworZnVuY3Rpb24gcmV2ZXJzZShzZXJpZXMpIHsKKyAgcmV0dXJuIG5vbmUkMihz
ZXJpZXMpLnJldmVyc2UoKTsKK30KKworZnVuY3Rpb24gY29uc3RhbnQkYyh4KSB7CisgIHJldHVy
biBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKworZnVuY3Rpb24geCQ0KGQp
IHsKKyAgcmV0dXJuIGRbMF07Cit9CisKK2Z1bmN0aW9uIHkkNChkKSB7CisgIHJldHVybiBkWzFd
OworfQorCitmdW5jdGlvbiBSZWRCbGFja1RyZWUoKSB7CisgIHRoaXMuXyA9IG51bGw7IC8vIHJv
b3Qgbm9kZQorfQorCitmdW5jdGlvbiBSZWRCbGFja05vZGUobm9kZSkgeworICBub2RlLlUgPSAv
LyBwYXJlbnQgbm9kZQorICBub2RlLkMgPSAvLyBjb2xvciAtIHRydWUgZm9yIHJlZCwgZmFsc2Ug
Zm9yIGJsYWNrCisgIG5vZGUuTCA9IC8vIGxlZnQgbm9kZQorICBub2RlLlIgPSAvLyByaWdodCBu
b2RlCisgIG5vZGUuUCA9IC8vIHByZXZpb3VzIG5vZGUKKyAgbm9kZS5OID0gbnVsbDsgLy8gbmV4
dCBub2RlCit9CisKK1JlZEJsYWNrVHJlZS5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBS
ZWRCbGFja1RyZWUsCisKKyAgaW5zZXJ0OiBmdW5jdGlvbihhZnRlciwgbm9kZSkgeworICAgIHZh
ciBwYXJlbnQsIGdyYW5kcGEsIHVuY2xlOworCisgICAgaWYgKGFmdGVyKSB7CisgICAgICBub2Rl
LlAgPSBhZnRlcjsKKyAgICAgIG5vZGUuTiA9IGFmdGVyLk47CisgICAgICBpZiAoYWZ0ZXIuTikg
YWZ0ZXIuTi5QID0gbm9kZTsKKyAgICAgIGFmdGVyLk4gPSBub2RlOworICAgICAgaWYgKGFmdGVy
LlIpIHsKKyAgICAgICAgYWZ0ZXIgPSBhZnRlci5SOworICAgICAgICB3aGlsZSAoYWZ0ZXIuTCkg
YWZ0ZXIgPSBhZnRlci5MOworICAgICAgICBhZnRlci5MID0gbm9kZTsKKyAgICAgIH0gZWxzZSB7
CisgICAgICAgIGFmdGVyLlIgPSBub2RlOworICAgICAgfQorICAgICAgcGFyZW50ID0gYWZ0ZXI7
CisgICAgfSBlbHNlIGlmICh0aGlzLl8pIHsKKyAgICAgIGFmdGVyID0gUmVkQmxhY2tGaXJzdCh0
aGlzLl8pOworICAgICAgbm9kZS5QID0gbnVsbDsKKyAgICAgIG5vZGUuTiA9IGFmdGVyOworICAg
ICAgYWZ0ZXIuUCA9IGFmdGVyLkwgPSBub2RlOworICAgICAgcGFyZW50ID0gYWZ0ZXI7CisgICAg
fSBlbHNlIHsKKyAgICAgIG5vZGUuUCA9IG5vZGUuTiA9IG51bGw7CisgICAgICB0aGlzLl8gPSBu
b2RlOworICAgICAgcGFyZW50ID0gbnVsbDsKKyAgICB9CisgICAgbm9kZS5MID0gbm9kZS5SID0g
bnVsbDsKKyAgICBub2RlLlUgPSBwYXJlbnQ7CisgICAgbm9kZS5DID0gdHJ1ZTsKKworICAgIGFm
dGVyID0gbm9kZTsKKyAgICB3aGlsZSAocGFyZW50ICYmIHBhcmVudC5DKSB7CisgICAgICBncmFu
ZHBhID0gcGFyZW50LlU7CisgICAgICBpZiAocGFyZW50ID09PSBncmFuZHBhLkwpIHsKKyAgICAg
ICAgdW5jbGUgPSBncmFuZHBhLlI7CisgICAgICAgIGlmICh1bmNsZSAmJiB1bmNsZS5DKSB7Cisg
ICAgICAgICAgcGFyZW50LkMgPSB1bmNsZS5DID0gZmFsc2U7CisgICAgICAgICAgZ3JhbmRwYS5D
ID0gdHJ1ZTsKKyAgICAgICAgICBhZnRlciA9IGdyYW5kcGE7CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgaWYgKGFmdGVyID09PSBwYXJlbnQuUikgeworICAgICAgICAgICAgUmVkQmxhY2tS
b3RhdGVMZWZ0KHRoaXMsIHBhcmVudCk7CisgICAgICAgICAgICBhZnRlciA9IHBhcmVudDsKKyAg
ICAgICAgICAgIHBhcmVudCA9IGFmdGVyLlU7CisgICAgICAgICAgfQorICAgICAgICAgIHBhcmVu
dC5DID0gZmFsc2U7CisgICAgICAgICAgZ3JhbmRwYS5DID0gdHJ1ZTsKKyAgICAgICAgICBSZWRC
bGFja1JvdGF0ZVJpZ2h0KHRoaXMsIGdyYW5kcGEpOworICAgICAgICB9CisgICAgICB9IGVsc2Ug
eworICAgICAgICB1bmNsZSA9IGdyYW5kcGEuTDsKKyAgICAgICAgaWYgKHVuY2xlICYmIHVuY2xl
LkMpIHsKKyAgICAgICAgICBwYXJlbnQuQyA9IHVuY2xlLkMgPSBmYWxzZTsKKyAgICAgICAgICBn
cmFuZHBhLkMgPSB0cnVlOworICAgICAgICAgIGFmdGVyID0gZ3JhbmRwYTsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICBpZiAoYWZ0ZXIgPT09IHBhcmVudC5MKSB7CisgICAgICAgICAgICBS
ZWRCbGFja1JvdGF0ZVJpZ2h0KHRoaXMsIHBhcmVudCk7CisgICAgICAgICAgICBhZnRlciA9IHBh
cmVudDsKKyAgICAgICAgICAgIHBhcmVudCA9IGFmdGVyLlU7CisgICAgICAgICAgfQorICAgICAg
ICAgIHBhcmVudC5DID0gZmFsc2U7CisgICAgICAgICAgZ3JhbmRwYS5DID0gdHJ1ZTsKKyAgICAg
ICAgICBSZWRCbGFja1JvdGF0ZUxlZnQodGhpcywgZ3JhbmRwYSk7CisgICAgICAgIH0KKyAgICAg
IH0KKyAgICAgIHBhcmVudCA9IGFmdGVyLlU7CisgICAgfQorICAgIHRoaXMuXy5DID0gZmFsc2U7
CisgIH0sCisKKyAgcmVtb3ZlOiBmdW5jdGlvbihub2RlKSB7CisgICAgaWYgKG5vZGUuTikgbm9k
ZS5OLlAgPSBub2RlLlA7CisgICAgaWYgKG5vZGUuUCkgbm9kZS5QLk4gPSBub2RlLk47CisgICAg
bm9kZS5OID0gbm9kZS5QID0gbnVsbDsKKworICAgIHZhciBwYXJlbnQgPSBub2RlLlUsCisgICAg
ICAgIHNpYmxpbmcsCisgICAgICAgIGxlZnQgPSBub2RlLkwsCisgICAgICAgIHJpZ2h0ID0gbm9k
ZS5SLAorICAgICAgICBuZXh0LAorICAgICAgICByZWQ7CisKKyAgICBpZiAoIWxlZnQpIG5leHQg
PSByaWdodDsKKyAgICBlbHNlIGlmICghcmlnaHQpIG5leHQgPSBsZWZ0OworICAgIGVsc2UgbmV4
dCA9IFJlZEJsYWNrRmlyc3QocmlnaHQpOworCisgICAgaWYgKHBhcmVudCkgeworICAgICAgaWYg
KHBhcmVudC5MID09PSBub2RlKSBwYXJlbnQuTCA9IG5leHQ7CisgICAgICBlbHNlIHBhcmVudC5S
ID0gbmV4dDsKKyAgICB9IGVsc2UgeworICAgICAgdGhpcy5fID0gbmV4dDsKKyAgICB9CisKKyAg
ICBpZiAobGVmdCAmJiByaWdodCkgeworICAgICAgcmVkID0gbmV4dC5DOworICAgICAgbmV4dC5D
ID0gbm9kZS5DOworICAgICAgbmV4dC5MID0gbGVmdDsKKyAgICAgIGxlZnQuVSA9IG5leHQ7Cisg
ICAgICBpZiAobmV4dCAhPT0gcmlnaHQpIHsKKyAgICAgICAgcGFyZW50ID0gbmV4dC5VOworICAg
ICAgICBuZXh0LlUgPSBub2RlLlU7CisgICAgICAgIG5vZGUgPSBuZXh0LlI7CisgICAgICAgIHBh
cmVudC5MID0gbm9kZTsKKyAgICAgICAgbmV4dC5SID0gcmlnaHQ7CisgICAgICAgIHJpZ2h0LlUg
PSBuZXh0OworICAgICAgfSBlbHNlIHsKKyAgICAgICAgbmV4dC5VID0gcGFyZW50OworICAgICAg
ICBwYXJlbnQgPSBuZXh0OworICAgICAgICBub2RlID0gbmV4dC5SOworICAgICAgfQorICAgIH0g
ZWxzZSB7CisgICAgICByZWQgPSBub2RlLkM7CisgICAgICBub2RlID0gbmV4dDsKKyAgICB9CisK
KyAgICBpZiAobm9kZSkgbm9kZS5VID0gcGFyZW50OworICAgIGlmIChyZWQpIHJldHVybjsKKyAg
ICBpZiAobm9kZSAmJiBub2RlLkMpIHsgbm9kZS5DID0gZmFsc2U7IHJldHVybjsgfQorCisgICAg
ZG8geworICAgICAgaWYgKG5vZGUgPT09IHRoaXMuXykgYnJlYWs7CisgICAgICBpZiAobm9kZSA9
PT0gcGFyZW50LkwpIHsKKyAgICAgICAgc2libGluZyA9IHBhcmVudC5SOworICAgICAgICBpZiAo
c2libGluZy5DKSB7CisgICAgICAgICAgc2libGluZy5DID0gZmFsc2U7CisgICAgICAgICAgcGFy
ZW50LkMgPSB0cnVlOworICAgICAgICAgIFJlZEJsYWNrUm90YXRlTGVmdCh0aGlzLCBwYXJlbnQp
OworICAgICAgICAgIHNpYmxpbmcgPSBwYXJlbnQuUjsKKyAgICAgICAgfQorICAgICAgICBpZiAo
KHNpYmxpbmcuTCAmJiBzaWJsaW5nLkwuQykKKyAgICAgICAgICAgIHx8IChzaWJsaW5nLlIgJiYg
c2libGluZy5SLkMpKSB7CisgICAgICAgICAgaWYgKCFzaWJsaW5nLlIgfHwgIXNpYmxpbmcuUi5D
KSB7CisgICAgICAgICAgICBzaWJsaW5nLkwuQyA9IGZhbHNlOworICAgICAgICAgICAgc2libGlu
Zy5DID0gdHJ1ZTsKKyAgICAgICAgICAgIFJlZEJsYWNrUm90YXRlUmlnaHQodGhpcywgc2libGlu
Zyk7CisgICAgICAgICAgICBzaWJsaW5nID0gcGFyZW50LlI7CisgICAgICAgICAgfQorICAgICAg
ICAgIHNpYmxpbmcuQyA9IHBhcmVudC5DOworICAgICAgICAgIHBhcmVudC5DID0gc2libGluZy5S
LkMgPSBmYWxzZTsKKyAgICAgICAgICBSZWRCbGFja1JvdGF0ZUxlZnQodGhpcywgcGFyZW50KTsK
KyAgICAgICAgICBub2RlID0gdGhpcy5fOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9Cisg
ICAgICB9IGVsc2UgeworICAgICAgICBzaWJsaW5nID0gcGFyZW50Lkw7CisgICAgICAgIGlmIChz
aWJsaW5nLkMpIHsKKyAgICAgICAgICBzaWJsaW5nLkMgPSBmYWxzZTsKKyAgICAgICAgICBwYXJl
bnQuQyA9IHRydWU7CisgICAgICAgICAgUmVkQmxhY2tSb3RhdGVSaWdodCh0aGlzLCBwYXJlbnQp
OworICAgICAgICAgIHNpYmxpbmcgPSBwYXJlbnQuTDsKKyAgICAgICAgfQorICAgICAgICBpZiAo
KHNpYmxpbmcuTCAmJiBzaWJsaW5nLkwuQykKKyAgICAgICAgICB8fCAoc2libGluZy5SICYmIHNp
YmxpbmcuUi5DKSkgeworICAgICAgICAgIGlmICghc2libGluZy5MIHx8ICFzaWJsaW5nLkwuQykg
eworICAgICAgICAgICAgc2libGluZy5SLkMgPSBmYWxzZTsKKyAgICAgICAgICAgIHNpYmxpbmcu
QyA9IHRydWU7CisgICAgICAgICAgICBSZWRCbGFja1JvdGF0ZUxlZnQodGhpcywgc2libGluZyk7
CisgICAgICAgICAgICBzaWJsaW5nID0gcGFyZW50Lkw7CisgICAgICAgICAgfQorICAgICAgICAg
IHNpYmxpbmcuQyA9IHBhcmVudC5DOworICAgICAgICAgIHBhcmVudC5DID0gc2libGluZy5MLkMg
PSBmYWxzZTsKKyAgICAgICAgICBSZWRCbGFja1JvdGF0ZVJpZ2h0KHRoaXMsIHBhcmVudCk7Cisg
ICAgICAgICAgbm9kZSA9IHRoaXMuXzsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
ICAgfQorICAgICAgc2libGluZy5DID0gdHJ1ZTsKKyAgICAgIG5vZGUgPSBwYXJlbnQ7CisgICAg
ICBwYXJlbnQgPSBwYXJlbnQuVTsKKyAgICB9IHdoaWxlICghbm9kZS5DKTsKKworICAgIGlmIChu
b2RlKSBub2RlLkMgPSBmYWxzZTsKKyAgfQorfTsKKworZnVuY3Rpb24gUmVkQmxhY2tSb3RhdGVM
ZWZ0KHRyZWUsIG5vZGUpIHsKKyAgdmFyIHAgPSBub2RlLAorICAgICAgcSA9IG5vZGUuUiwKKyAg
ICAgIHBhcmVudCA9IHAuVTsKKworICBpZiAocGFyZW50KSB7CisgICAgaWYgKHBhcmVudC5MID09
PSBwKSBwYXJlbnQuTCA9IHE7CisgICAgZWxzZSBwYXJlbnQuUiA9IHE7CisgIH0gZWxzZSB7Cisg
ICAgdHJlZS5fID0gcTsKKyAgfQorCisgIHEuVSA9IHBhcmVudDsKKyAgcC5VID0gcTsKKyAgcC5S
ID0gcS5MOworICBpZiAocC5SKSBwLlIuVSA9IHA7CisgIHEuTCA9IHA7Cit9CisKK2Z1bmN0aW9u
IFJlZEJsYWNrUm90YXRlUmlnaHQodHJlZSwgbm9kZSkgeworICB2YXIgcCA9IG5vZGUsCisgICAg
ICBxID0gbm9kZS5MLAorICAgICAgcGFyZW50ID0gcC5VOworCisgIGlmIChwYXJlbnQpIHsKKyAg
ICBpZiAocGFyZW50LkwgPT09IHApIHBhcmVudC5MID0gcTsKKyAgICBlbHNlIHBhcmVudC5SID0g
cTsKKyAgfSBlbHNlIHsKKyAgICB0cmVlLl8gPSBxOworICB9CisKKyAgcS5VID0gcGFyZW50Owor
ICBwLlUgPSBxOworICBwLkwgPSBxLlI7CisgIGlmIChwLkwpIHAuTC5VID0gcDsKKyAgcS5SID0g
cDsKK30KKworZnVuY3Rpb24gUmVkQmxhY2tGaXJzdChub2RlKSB7CisgIHdoaWxlIChub2RlLkwp
IG5vZGUgPSBub2RlLkw7CisgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiBjcmVhdGVFZGdl
KGxlZnQsIHJpZ2h0LCB2MCwgdjEpIHsKKyAgdmFyIGVkZ2UgPSBbbnVsbCwgbnVsbF0sCisgICAg
ICBpbmRleCA9IGVkZ2VzLnB1c2goZWRnZSkgLSAxOworICBlZGdlLmxlZnQgPSBsZWZ0OworICBl
ZGdlLnJpZ2h0ID0gcmlnaHQ7CisgIGlmICh2MCkgc2V0RWRnZUVuZChlZGdlLCBsZWZ0LCByaWdo
dCwgdjApOworICBpZiAodjEpIHNldEVkZ2VFbmQoZWRnZSwgcmlnaHQsIGxlZnQsIHYxKTsKKyAg
Y2VsbHNbbGVmdC5pbmRleF0uaGFsZmVkZ2VzLnB1c2goaW5kZXgpOworICBjZWxsc1tyaWdodC5p
bmRleF0uaGFsZmVkZ2VzLnB1c2goaW5kZXgpOworICByZXR1cm4gZWRnZTsKK30KKworZnVuY3Rp
b24gY3JlYXRlQm9yZGVyRWRnZShsZWZ0LCB2MCwgdjEpIHsKKyAgdmFyIGVkZ2UgPSBbdjAsIHYx
XTsKKyAgZWRnZS5sZWZ0ID0gbGVmdDsKKyAgcmV0dXJuIGVkZ2U7Cit9CisKK2Z1bmN0aW9uIHNl
dEVkZ2VFbmQoZWRnZSwgbGVmdCwgcmlnaHQsIHZlcnRleCkgeworICBpZiAoIWVkZ2VbMF0gJiYg
IWVkZ2VbMV0pIHsKKyAgICBlZGdlWzBdID0gdmVydGV4OworICAgIGVkZ2UubGVmdCA9IGxlZnQ7
CisgICAgZWRnZS5yaWdodCA9IHJpZ2h0OworICB9IGVsc2UgaWYgKGVkZ2UubGVmdCA9PT0gcmln
aHQpIHsKKyAgICBlZGdlWzFdID0gdmVydGV4OworICB9IGVsc2UgeworICAgIGVkZ2VbMF0gPSB2
ZXJ0ZXg7CisgIH0KK30KKworLy8gTGlhbmfigJNCYXJza3kgbGluZSBjbGlwcGluZy4KK2Z1bmN0
aW9uIGNsaXBFZGdlKGVkZ2UsIHgwLCB5MCwgeDEsIHkxKSB7CisgIHZhciBhID0gZWRnZVswXSwK
KyAgICAgIGIgPSBlZGdlWzFdLAorICAgICAgYXggPSBhWzBdLAorICAgICAgYXkgPSBhWzFdLAor
ICAgICAgYnggPSBiWzBdLAorICAgICAgYnkgPSBiWzFdLAorICAgICAgdDAgPSAwLAorICAgICAg
dDEgPSAxLAorICAgICAgZHggPSBieCAtIGF4LAorICAgICAgZHkgPSBieSAtIGF5LAorICAgICAg
cjsKKworICByID0geDAgLSBheDsKKyAgaWYgKCFkeCAmJiByID4gMCkgcmV0dXJuOworICByIC89
IGR4OworICBpZiAoZHggPCAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJuOworICAgIGlmIChy
IDwgdDEpIHQxID0gcjsKKyAgfSBlbHNlIGlmIChkeCA+IDApIHsKKyAgICBpZiAociA+IHQxKSBy
ZXR1cm47CisgICAgaWYgKHIgPiB0MCkgdDAgPSByOworICB9CisKKyAgciA9IHgxIC0gYXg7Cisg
IGlmICghZHggJiYgciA8IDApIHJldHVybjsKKyAgciAvPSBkeDsKKyAgaWYgKGR4IDwgMCkgewor
ICAgIGlmIChyID4gdDEpIHJldHVybjsKKyAgICBpZiAociA+IHQwKSB0MCA9IHI7CisgIH0gZWxz
ZSBpZiAoZHggPiAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJuOworICAgIGlmIChyIDwgdDEp
IHQxID0gcjsKKyAgfQorCisgIHIgPSB5MCAtIGF5OworICBpZiAoIWR5ICYmIHIgPiAwKSByZXR1
cm47CisgIHIgLz0gZHk7CisgIGlmIChkeSA8IDApIHsKKyAgICBpZiAociA8IHQwKSByZXR1cm47
CisgICAgaWYgKHIgPCB0MSkgdDEgPSByOworICB9IGVsc2UgaWYgKGR5ID4gMCkgeworICAgIGlm
IChyID4gdDEpIHJldHVybjsKKyAgICBpZiAociA+IHQwKSB0MCA9IHI7CisgIH0KKworICByID0g
eTEgLSBheTsKKyAgaWYgKCFkeSAmJiByIDwgMCkgcmV0dXJuOworICByIC89IGR5OworICBpZiAo
ZHkgPCAwKSB7CisgICAgaWYgKHIgPiB0MSkgcmV0dXJuOworICAgIGlmIChyID4gdDApIHQwID0g
cjsKKyAgfSBlbHNlIGlmIChkeSA+IDApIHsKKyAgICBpZiAociA8IHQwKSByZXR1cm47CisgICAg
aWYgKHIgPCB0MSkgdDEgPSByOworICB9CisKKyAgaWYgKCEodDAgPiAwKSAmJiAhKHQxIDwgMSkp
IHJldHVybiB0cnVlOyAvLyBUT0RPIEJldHRlciBjaGVjaz8KKworICBpZiAodDAgPiAwKSBlZGdl
WzBdID0gW2F4ICsgdDAgKiBkeCwgYXkgKyB0MCAqIGR5XTsKKyAgaWYgKHQxIDwgMSkgZWRnZVsx
XSA9IFtheCArIHQxICogZHgsIGF5ICsgdDEgKiBkeV07CisgIHJldHVybiB0cnVlOworfQorCitm
dW5jdGlvbiBjb25uZWN0RWRnZShlZGdlLCB4MCwgeTAsIHgxLCB5MSkgeworICB2YXIgdjEgPSBl
ZGdlWzFdOworICBpZiAodjEpIHJldHVybiB0cnVlOworCisgIHZhciB2MCA9IGVkZ2VbMF0sCisg
ICAgICBsZWZ0ID0gZWRnZS5sZWZ0LAorICAgICAgcmlnaHQgPSBlZGdlLnJpZ2h0LAorICAgICAg
bHggPSBsZWZ0WzBdLAorICAgICAgbHkgPSBsZWZ0WzFdLAorICAgICAgcnggPSByaWdodFswXSwK
KyAgICAgIHJ5ID0gcmlnaHRbMV0sCisgICAgICBmeCA9IChseCArIHJ4KSAvIDIsCisgICAgICBm
eSA9IChseSArIHJ5KSAvIDIsCisgICAgICBmbSwKKyAgICAgIGZiOworCisgIGlmIChyeSA9PT0g
bHkpIHsKKyAgICBpZiAoZnggPCB4MCB8fCBmeCA+PSB4MSkgcmV0dXJuOworICAgIGlmIChseCA+
IHJ4KSB7CisgICAgICBpZiAoIXYwKSB2MCA9IFtmeCwgeTBdOworICAgICAgZWxzZSBpZiAodjBb
MV0gPj0geTEpIHJldHVybjsKKyAgICAgIHYxID0gW2Z4LCB5MV07CisgICAgfSBlbHNlIHsKKyAg
ICAgIGlmICghdjApIHYwID0gW2Z4LCB5MV07CisgICAgICBlbHNlIGlmICh2MFsxXSA8IHkwKSBy
ZXR1cm47CisgICAgICB2MSA9IFtmeCwgeTBdOworICAgIH0KKyAgfSBlbHNlIHsKKyAgICBmbSA9
IChseCAtIHJ4KSAvIChyeSAtIGx5KTsKKyAgICBmYiA9IGZ5IC0gZm0gKiBmeDsKKyAgICBpZiAo
Zm0gPCAtMSB8fCBmbSA+IDEpIHsKKyAgICAgIGlmIChseCA+IHJ4KSB7CisgICAgICAgIGlmICgh
djApIHYwID0gWyh5MCAtIGZiKSAvIGZtLCB5MF07CisgICAgICAgIGVsc2UgaWYgKHYwWzFdID49
IHkxKSByZXR1cm47CisgICAgICAgIHYxID0gWyh5MSAtIGZiKSAvIGZtLCB5MV07CisgICAgICB9
IGVsc2UgeworICAgICAgICBpZiAoIXYwKSB2MCA9IFsoeTEgLSBmYikgLyBmbSwgeTFdOworICAg
ICAgICBlbHNlIGlmICh2MFsxXSA8IHkwKSByZXR1cm47CisgICAgICAgIHYxID0gWyh5MCAtIGZi
KSAvIGZtLCB5MF07CisgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgIGlmIChseSA8IHJ5KSB7
CisgICAgICAgIGlmICghdjApIHYwID0gW3gwLCBmbSAqIHgwICsgZmJdOworICAgICAgICBlbHNl
IGlmICh2MFswXSA+PSB4MSkgcmV0dXJuOworICAgICAgICB2MSA9IFt4MSwgZm0gKiB4MSArIGZi
XTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGlmICghdjApIHYwID0gW3gxLCBmbSAqIHgxICsg
ZmJdOworICAgICAgICBlbHNlIGlmICh2MFswXSA8IHgwKSByZXR1cm47CisgICAgICAgIHYxID0g
W3gwLCBmbSAqIHgwICsgZmJdOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGVkZ2VbMF0gPSB2
MDsKKyAgZWRnZVsxXSA9IHYxOworICByZXR1cm4gdHJ1ZTsKK30KKworZnVuY3Rpb24gY2xpcEVk
Z2VzKHgwLCB5MCwgeDEsIHkxKSB7CisgIHZhciBpID0gZWRnZXMubGVuZ3RoLAorICAgICAgZWRn
ZTsKKworICB3aGlsZSAoaS0tKSB7CisgICAgaWYgKCFjb25uZWN0RWRnZShlZGdlID0gZWRnZXNb
aV0sIHgwLCB5MCwgeDEsIHkxKQorICAgICAgICB8fCAhY2xpcEVkZ2UoZWRnZSwgeDAsIHkwLCB4
MSwgeTEpCisgICAgICAgIHx8ICEoTWF0aC5hYnMoZWRnZVswXVswXSAtIGVkZ2VbMV1bMF0pID4g
ZXBzaWxvbiQ0CisgICAgICAgICAgICB8fCBNYXRoLmFicyhlZGdlWzBdWzFdIC0gZWRnZVsxXVsx
XSkgPiBlcHNpbG9uJDQpKSB7CisgICAgICBkZWxldGUgZWRnZXNbaV07CisgICAgfQorICB9Cit9
CisKK2Z1bmN0aW9uIGNyZWF0ZUNlbGwoc2l0ZSkgeworICByZXR1cm4gY2VsbHNbc2l0ZS5pbmRl
eF0gPSB7CisgICAgc2l0ZTogc2l0ZSwKKyAgICBoYWxmZWRnZXM6IFtdCisgIH07Cit9CisKK2Z1
bmN0aW9uIGNlbGxIYWxmZWRnZUFuZ2xlKGNlbGwsIGVkZ2UpIHsKKyAgdmFyIHNpdGUgPSBjZWxs
LnNpdGUsCisgICAgICB2YSA9IGVkZ2UubGVmdCwKKyAgICAgIHZiID0gZWRnZS5yaWdodDsKKyAg
aWYgKHNpdGUgPT09IHZiKSB2YiA9IHZhLCB2YSA9IHNpdGU7CisgIGlmICh2YikgcmV0dXJuIE1h
dGguYXRhbjIodmJbMV0gLSB2YVsxXSwgdmJbMF0gLSB2YVswXSk7CisgIGlmIChzaXRlID09PSB2
YSkgdmEgPSBlZGdlWzFdLCB2YiA9IGVkZ2VbMF07CisgIGVsc2UgdmEgPSBlZGdlWzBdLCB2YiA9
IGVkZ2VbMV07CisgIHJldHVybiBNYXRoLmF0YW4yKHZhWzBdIC0gdmJbMF0sIHZiWzFdIC0gdmFb
MV0pOworfQorCitmdW5jdGlvbiBjZWxsSGFsZmVkZ2VTdGFydChjZWxsLCBlZGdlKSB7CisgIHJl
dHVybiBlZGdlWysoZWRnZS5sZWZ0ICE9PSBjZWxsLnNpdGUpXTsKK30KKworZnVuY3Rpb24gY2Vs
bEhhbGZlZGdlRW5kKGNlbGwsIGVkZ2UpIHsKKyAgcmV0dXJuIGVkZ2VbKyhlZGdlLmxlZnQgPT09
IGNlbGwuc2l0ZSldOworfQorCitmdW5jdGlvbiBzb3J0Q2VsbEhhbGZlZGdlcygpIHsKKyAgZm9y
ICh2YXIgaSA9IDAsIG4gPSBjZWxscy5sZW5ndGgsIGNlbGwsIGhhbGZlZGdlcywgaiwgbTsgaSA8
IG47ICsraSkgeworICAgIGlmICgoY2VsbCA9IGNlbGxzW2ldKSAmJiAobSA9IChoYWxmZWRnZXMg
PSBjZWxsLmhhbGZlZGdlcykubGVuZ3RoKSkgeworICAgICAgdmFyIGluZGV4ID0gbmV3IEFycmF5
KG0pLAorICAgICAgICAgIGFycmF5ID0gbmV3IEFycmF5KG0pOworICAgICAgZm9yIChqID0gMDsg
aiA8IG07ICsraikgaW5kZXhbal0gPSBqLCBhcnJheVtqXSA9IGNlbGxIYWxmZWRnZUFuZ2xlKGNl
bGwsIGVkZ2VzW2hhbGZlZGdlc1tqXV0pOworICAgICAgaW5kZXguc29ydChmdW5jdGlvbihpLCBq
KSB7IHJldHVybiBhcnJheVtqXSAtIGFycmF5W2ldOyB9KTsKKyAgICAgIGZvciAoaiA9IDA7IGog
PCBtOyArK2opIGFycmF5W2pdID0gaGFsZmVkZ2VzW2luZGV4W2pdXTsKKyAgICAgIGZvciAoaiA9
IDA7IGogPCBtOyArK2opIGhhbGZlZGdlc1tqXSA9IGFycmF5W2pdOworICAgIH0KKyAgfQorfQor
CitmdW5jdGlvbiBjbGlwQ2VsbHMoeDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIG5DZWxscyA9IGNl
bGxzLmxlbmd0aCwKKyAgICAgIGlDZWxsLAorICAgICAgY2VsbCwKKyAgICAgIHNpdGUsCisgICAg
ICBpSGFsZmVkZ2UsCisgICAgICBoYWxmZWRnZXMsCisgICAgICBuSGFsZmVkZ2VzLAorICAgICAg
c3RhcnQsCisgICAgICBzdGFydFgsCisgICAgICBzdGFydFksCisgICAgICBlbmQsCisgICAgICBl
bmRYLAorICAgICAgZW5kWSwKKyAgICAgIGNvdmVyID0gdHJ1ZTsKKworICBmb3IgKGlDZWxsID0g
MDsgaUNlbGwgPCBuQ2VsbHM7ICsraUNlbGwpIHsKKyAgICBpZiAoY2VsbCA9IGNlbGxzW2lDZWxs
XSkgeworICAgICAgc2l0ZSA9IGNlbGwuc2l0ZTsKKyAgICAgIGhhbGZlZGdlcyA9IGNlbGwuaGFs
ZmVkZ2VzOworICAgICAgaUhhbGZlZGdlID0gaGFsZmVkZ2VzLmxlbmd0aDsKKworICAgICAgLy8g
UmVtb3ZlIGFueSBkYW5nbGluZyBjbGlwcGVkIGVkZ2VzLgorICAgICAgd2hpbGUgKGlIYWxmZWRn
ZS0tKSB7CisgICAgICAgIGlmICghZWRnZXNbaGFsZmVkZ2VzW2lIYWxmZWRnZV1dKSB7CisgICAg
ICAgICAgaGFsZmVkZ2VzLnNwbGljZShpSGFsZmVkZ2UsIDEpOworICAgICAgICB9CisgICAgICB9
CisKKyAgICAgIC8vIEluc2VydCBhbnkgYm9yZGVyIGVkZ2VzIGFzIG5lY2Vzc2FyeS4KKyAgICAg
IGlIYWxmZWRnZSA9IDAsIG5IYWxmZWRnZXMgPSBoYWxmZWRnZXMubGVuZ3RoOworICAgICAgd2hp
bGUgKGlIYWxmZWRnZSA8IG5IYWxmZWRnZXMpIHsKKyAgICAgICAgZW5kID0gY2VsbEhhbGZlZGdl
RW5kKGNlbGwsIGVkZ2VzW2hhbGZlZGdlc1tpSGFsZmVkZ2VdXSksIGVuZFggPSBlbmRbMF0sIGVu
ZFkgPSBlbmRbMV07CisgICAgICAgIHN0YXJ0ID0gY2VsbEhhbGZlZGdlU3RhcnQoY2VsbCwgZWRn
ZXNbaGFsZmVkZ2VzWysraUhhbGZlZGdlICUgbkhhbGZlZGdlc11dKSwgc3RhcnRYID0gc3RhcnRb
MF0sIHN0YXJ0WSA9IHN0YXJ0WzFdOworICAgICAgICBpZiAoTWF0aC5hYnMoZW5kWCAtIHN0YXJ0
WCkgPiBlcHNpbG9uJDQgfHwgTWF0aC5hYnMoZW5kWSAtIHN0YXJ0WSkgPiBlcHNpbG9uJDQpIHsK
KyAgICAgICAgICBoYWxmZWRnZXMuc3BsaWNlKGlIYWxmZWRnZSwgMCwgZWRnZXMucHVzaChjcmVh
dGVCb3JkZXJFZGdlKHNpdGUsIGVuZCwKKyAgICAgICAgICAgICAgTWF0aC5hYnMoZW5kWCAtIHgw
KSA8IGVwc2lsb24kNCAmJiB5MSAtIGVuZFkgPiBlcHNpbG9uJDQgPyBbeDAsIE1hdGguYWJzKHN0
YXJ0WCAtIHgwKSA8IGVwc2lsb24kNCA/IHN0YXJ0WSA6IHkxXQorICAgICAgICAgICAgICA6IE1h
dGguYWJzKGVuZFkgLSB5MSkgPCBlcHNpbG9uJDQgJiYgeDEgLSBlbmRYID4gZXBzaWxvbiQ0ID8g
W01hdGguYWJzKHN0YXJ0WSAtIHkxKSA8IGVwc2lsb24kNCA/IHN0YXJ0WCA6IHgxLCB5MV0KKyAg
ICAgICAgICAgICAgOiBNYXRoLmFicyhlbmRYIC0geDEpIDwgZXBzaWxvbiQ0ICYmIGVuZFkgLSB5
MCA+IGVwc2lsb24kNCA/IFt4MSwgTWF0aC5hYnMoc3RhcnRYIC0geDEpIDwgZXBzaWxvbiQ0ID8g
c3RhcnRZIDogeTBdCisgICAgICAgICAgICAgIDogTWF0aC5hYnMoZW5kWSAtIHkwKSA8IGVwc2ls
b24kNCAmJiBlbmRYIC0geDAgPiBlcHNpbG9uJDQgPyBbTWF0aC5hYnMoc3RhcnRZIC0geTApIDwg
ZXBzaWxvbiQ0ID8gc3RhcnRYIDogeDAsIHkwXQorICAgICAgICAgICAgICA6IG51bGwpKSAtIDEp
OworICAgICAgICAgICsrbkhhbGZlZGdlczsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICBp
ZiAobkhhbGZlZGdlcykgY292ZXIgPSBmYWxzZTsKKyAgICB9CisgIH0KKworICAvLyBJZiB0aGVy
ZSB3ZXJlbuKAmXQgYW55IGVkZ2VzLCBoYXZlIHRoZSBjbG9zZXN0IHNpdGUgY292ZXIgdGhlIGV4
dGVudC4KKyAgLy8gSXQgZG9lc27igJl0IG1hdHRlciB3aGljaCBjb3JuZXIgb2YgdGhlIGV4dGVu
dCB3ZSBtZWFzdXJlIQorICBpZiAoY292ZXIpIHsKKyAgICB2YXIgZHgsIGR5LCBkMiwgZGMgPSBJ
bmZpbml0eTsKKworICAgIGZvciAoaUNlbGwgPSAwLCBjb3ZlciA9IG51bGw7IGlDZWxsIDwgbkNl
bGxzOyArK2lDZWxsKSB7CisgICAgICBpZiAoY2VsbCA9IGNlbGxzW2lDZWxsXSkgeworICAgICAg
ICBzaXRlID0gY2VsbC5zaXRlOworICAgICAgICBkeCA9IHNpdGVbMF0gLSB4MDsKKyAgICAgICAg
ZHkgPSBzaXRlWzFdIC0geTA7CisgICAgICAgIGQyID0gZHggKiBkeCArIGR5ICogZHk7CisgICAg
ICAgIGlmIChkMiA8IGRjKSBkYyA9IGQyLCBjb3ZlciA9IGNlbGw7CisgICAgICB9CisgICAgfQor
CisgICAgaWYgKGNvdmVyKSB7CisgICAgICB2YXIgdjAwID0gW3gwLCB5MF0sIHYwMSA9IFt4MCwg
eTFdLCB2MTEgPSBbeDEsIHkxXSwgdjEwID0gW3gxLCB5MF07CisgICAgICBjb3Zlci5oYWxmZWRn
ZXMucHVzaCgKKyAgICAgICAgZWRnZXMucHVzaChjcmVhdGVCb3JkZXJFZGdlKHNpdGUgPSBjb3Zl
ci5zaXRlLCB2MDAsIHYwMSkpIC0gMSwKKyAgICAgICAgZWRnZXMucHVzaChjcmVhdGVCb3JkZXJF
ZGdlKHNpdGUsIHYwMSwgdjExKSkgLSAxLAorICAgICAgICBlZGdlcy5wdXNoKGNyZWF0ZUJvcmRl
ckVkZ2Uoc2l0ZSwgdjExLCB2MTApKSAtIDEsCisgICAgICAgIGVkZ2VzLnB1c2goY3JlYXRlQm9y
ZGVyRWRnZShzaXRlLCB2MTAsIHYwMCkpIC0gMQorICAgICAgKTsKKyAgICB9CisgIH0KKworICAv
LyBMYXN0bHkgZGVsZXRlIGFueSBjZWxscyB3aXRoIG5vIGVkZ2VzOyB0aGVzZSB3ZXJlIGVudGly
ZWx5IGNsaXBwZWQuCisgIGZvciAoaUNlbGwgPSAwOyBpQ2VsbCA8IG5DZWxsczsgKytpQ2VsbCkg
eworICAgIGlmIChjZWxsID0gY2VsbHNbaUNlbGxdKSB7CisgICAgICBpZiAoIWNlbGwuaGFsZmVk
Z2VzLmxlbmd0aCkgeworICAgICAgICBkZWxldGUgY2VsbHNbaUNlbGxdOworICAgICAgfQorICAg
IH0KKyAgfQorfQorCit2YXIgY2lyY2xlUG9vbCA9IFtdOworCit2YXIgZmlyc3RDaXJjbGU7CisK
K2Z1bmN0aW9uIENpcmNsZSgpIHsKKyAgUmVkQmxhY2tOb2RlKHRoaXMpOworICB0aGlzLnggPQor
ICB0aGlzLnkgPQorICB0aGlzLmFyYyA9CisgIHRoaXMuc2l0ZSA9CisgIHRoaXMuY3kgPSBudWxs
OworfQorCitmdW5jdGlvbiBhdHRhY2hDaXJjbGUoYXJjKSB7CisgIHZhciBsQXJjID0gYXJjLlAs
CisgICAgICByQXJjID0gYXJjLk47CisKKyAgaWYgKCFsQXJjIHx8ICFyQXJjKSByZXR1cm47CisK
KyAgdmFyIGxTaXRlID0gbEFyYy5zaXRlLAorICAgICAgY1NpdGUgPSBhcmMuc2l0ZSwKKyAgICAg
IHJTaXRlID0gckFyYy5zaXRlOworCisgIGlmIChsU2l0ZSA9PT0gclNpdGUpIHJldHVybjsKKwor
ICB2YXIgYnggPSBjU2l0ZVswXSwKKyAgICAgIGJ5ID0gY1NpdGVbMV0sCisgICAgICBheCA9IGxT
aXRlWzBdIC0gYngsCisgICAgICBheSA9IGxTaXRlWzFdIC0gYnksCisgICAgICBjeCA9IHJTaXRl
WzBdIC0gYngsCisgICAgICBjeSA9IHJTaXRlWzFdIC0gYnk7CisKKyAgdmFyIGQgPSAyICogKGF4
ICogY3kgLSBheSAqIGN4KTsKKyAgaWYgKGQgPj0gLWVwc2lsb24yJDIpIHJldHVybjsKKworICB2
YXIgaGEgPSBheCAqIGF4ICsgYXkgKiBheSwKKyAgICAgIGhjID0gY3ggKiBjeCArIGN5ICogY3ks
CisgICAgICB4ID0gKGN5ICogaGEgLSBheSAqIGhjKSAvIGQsCisgICAgICB5ID0gKGF4ICogaGMg
LSBjeCAqIGhhKSAvIGQ7CisKKyAgdmFyIGNpcmNsZSA9IGNpcmNsZVBvb2wucG9wKCkgfHwgbmV3
IENpcmNsZTsKKyAgY2lyY2xlLmFyYyA9IGFyYzsKKyAgY2lyY2xlLnNpdGUgPSBjU2l0ZTsKKyAg
Y2lyY2xlLnggPSB4ICsgYng7CisgIGNpcmNsZS55ID0gKGNpcmNsZS5jeSA9IHkgKyBieSkgKyBN
YXRoLnNxcnQoeCAqIHggKyB5ICogeSk7IC8vIHkgYm90dG9tCisKKyAgYXJjLmNpcmNsZSA9IGNp
cmNsZTsKKworICB2YXIgYmVmb3JlID0gbnVsbCwKKyAgICAgIG5vZGUgPSBjaXJjbGVzLl87CisK
KyAgd2hpbGUgKG5vZGUpIHsKKyAgICBpZiAoY2lyY2xlLnkgPCBub2RlLnkgfHwgKGNpcmNsZS55
ID09PSBub2RlLnkgJiYgY2lyY2xlLnggPD0gbm9kZS54KSkgeworICAgICAgaWYgKG5vZGUuTCkg
bm9kZSA9IG5vZGUuTDsKKyAgICAgIGVsc2UgeyBiZWZvcmUgPSBub2RlLlA7IGJyZWFrOyB9Cisg
ICAgfSBlbHNlIHsKKyAgICAgIGlmIChub2RlLlIpIG5vZGUgPSBub2RlLlI7CisgICAgICBlbHNl
IHsgYmVmb3JlID0gbm9kZTsgYnJlYWs7IH0KKyAgICB9CisgIH0KKworICBjaXJjbGVzLmluc2Vy
dChiZWZvcmUsIGNpcmNsZSk7CisgIGlmICghYmVmb3JlKSBmaXJzdENpcmNsZSA9IGNpcmNsZTsK
K30KKworZnVuY3Rpb24gZGV0YWNoQ2lyY2xlKGFyYykgeworICB2YXIgY2lyY2xlID0gYXJjLmNp
cmNsZTsKKyAgaWYgKGNpcmNsZSkgeworICAgIGlmICghY2lyY2xlLlApIGZpcnN0Q2lyY2xlID0g
Y2lyY2xlLk47CisgICAgY2lyY2xlcy5yZW1vdmUoY2lyY2xlKTsKKyAgICBjaXJjbGVQb29sLnB1
c2goY2lyY2xlKTsKKyAgICBSZWRCbGFja05vZGUoY2lyY2xlKTsKKyAgICBhcmMuY2lyY2xlID0g
bnVsbDsKKyAgfQorfQorCit2YXIgYmVhY2hQb29sID0gW107CisKK2Z1bmN0aW9uIEJlYWNoKCkg
eworICBSZWRCbGFja05vZGUodGhpcyk7CisgIHRoaXMuZWRnZSA9CisgIHRoaXMuc2l0ZSA9Cisg
IHRoaXMuY2lyY2xlID0gbnVsbDsKK30KKworZnVuY3Rpb24gY3JlYXRlQmVhY2goc2l0ZSkgewor
ICB2YXIgYmVhY2ggPSBiZWFjaFBvb2wucG9wKCkgfHwgbmV3IEJlYWNoOworICBiZWFjaC5zaXRl
ID0gc2l0ZTsKKyAgcmV0dXJuIGJlYWNoOworfQorCitmdW5jdGlvbiBkZXRhY2hCZWFjaChiZWFj
aCkgeworICBkZXRhY2hDaXJjbGUoYmVhY2gpOworICBiZWFjaGVzLnJlbW92ZShiZWFjaCk7Cisg
IGJlYWNoUG9vbC5wdXNoKGJlYWNoKTsKKyAgUmVkQmxhY2tOb2RlKGJlYWNoKTsKK30KKworZnVu
Y3Rpb24gcmVtb3ZlQmVhY2goYmVhY2gpIHsKKyAgdmFyIGNpcmNsZSA9IGJlYWNoLmNpcmNsZSwK
KyAgICAgIHggPSBjaXJjbGUueCwKKyAgICAgIHkgPSBjaXJjbGUuY3ksCisgICAgICB2ZXJ0ZXgg
PSBbeCwgeV0sCisgICAgICBwcmV2aW91cyA9IGJlYWNoLlAsCisgICAgICBuZXh0ID0gYmVhY2gu
TiwKKyAgICAgIGRpc2FwcGVhcmluZyA9IFtiZWFjaF07CisKKyAgZGV0YWNoQmVhY2goYmVhY2gp
OworCisgIHZhciBsQXJjID0gcHJldmlvdXM7CisgIHdoaWxlIChsQXJjLmNpcmNsZQorICAgICAg
JiYgTWF0aC5hYnMoeCAtIGxBcmMuY2lyY2xlLngpIDwgZXBzaWxvbiQ0CisgICAgICAmJiBNYXRo
LmFicyh5IC0gbEFyYy5jaXJjbGUuY3kpIDwgZXBzaWxvbiQ0KSB7CisgICAgcHJldmlvdXMgPSBs
QXJjLlA7CisgICAgZGlzYXBwZWFyaW5nLnVuc2hpZnQobEFyYyk7CisgICAgZGV0YWNoQmVhY2go
bEFyYyk7CisgICAgbEFyYyA9IHByZXZpb3VzOworICB9CisKKyAgZGlzYXBwZWFyaW5nLnVuc2hp
ZnQobEFyYyk7CisgIGRldGFjaENpcmNsZShsQXJjKTsKKworICB2YXIgckFyYyA9IG5leHQ7Cisg
IHdoaWxlIChyQXJjLmNpcmNsZQorICAgICAgJiYgTWF0aC5hYnMoeCAtIHJBcmMuY2lyY2xlLngp
IDwgZXBzaWxvbiQ0CisgICAgICAmJiBNYXRoLmFicyh5IC0gckFyYy5jaXJjbGUuY3kpIDwgZXBz
aWxvbiQ0KSB7CisgICAgbmV4dCA9IHJBcmMuTjsKKyAgICBkaXNhcHBlYXJpbmcucHVzaChyQXJj
KTsKKyAgICBkZXRhY2hCZWFjaChyQXJjKTsKKyAgICByQXJjID0gbmV4dDsKKyAgfQorCisgIGRp
c2FwcGVhcmluZy5wdXNoKHJBcmMpOworICBkZXRhY2hDaXJjbGUockFyYyk7CisKKyAgdmFyIG5B
cmNzID0gZGlzYXBwZWFyaW5nLmxlbmd0aCwKKyAgICAgIGlBcmM7CisgIGZvciAoaUFyYyA9IDE7
IGlBcmMgPCBuQXJjczsgKytpQXJjKSB7CisgICAgckFyYyA9IGRpc2FwcGVhcmluZ1tpQXJjXTsK
KyAgICBsQXJjID0gZGlzYXBwZWFyaW5nW2lBcmMgLSAxXTsKKyAgICBzZXRFZGdlRW5kKHJBcmMu
ZWRnZSwgbEFyYy5zaXRlLCByQXJjLnNpdGUsIHZlcnRleCk7CisgIH0KKworICBsQXJjID0gZGlz
YXBwZWFyaW5nWzBdOworICByQXJjID0gZGlzYXBwZWFyaW5nW25BcmNzIC0gMV07CisgIHJBcmMu
ZWRnZSA9IGNyZWF0ZUVkZ2UobEFyYy5zaXRlLCByQXJjLnNpdGUsIG51bGwsIHZlcnRleCk7CisK
KyAgYXR0YWNoQ2lyY2xlKGxBcmMpOworICBhdHRhY2hDaXJjbGUockFyYyk7Cit9CisKK2Z1bmN0
aW9uIGFkZEJlYWNoKHNpdGUpIHsKKyAgdmFyIHggPSBzaXRlWzBdLAorICAgICAgZGlyZWN0cml4
ID0gc2l0ZVsxXSwKKyAgICAgIGxBcmMsCisgICAgICByQXJjLAorICAgICAgZHhsLAorICAgICAg
ZHhyLAorICAgICAgbm9kZSA9IGJlYWNoZXMuXzsKKworICB3aGlsZSAobm9kZSkgeworICAgIGR4
bCA9IGxlZnRCcmVha1BvaW50KG5vZGUsIGRpcmVjdHJpeCkgLSB4OworICAgIGlmIChkeGwgPiBl
cHNpbG9uJDQpIG5vZGUgPSBub2RlLkw7IGVsc2UgeworICAgICAgZHhyID0geCAtIHJpZ2h0QnJl
YWtQb2ludChub2RlLCBkaXJlY3RyaXgpOworICAgICAgaWYgKGR4ciA+IGVwc2lsb24kNCkgewor
ICAgICAgICBpZiAoIW5vZGUuUikgeworICAgICAgICAgIGxBcmMgPSBub2RlOworICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgICAgIG5vZGUgPSBub2RlLlI7CisgICAgICB9IGVsc2Ug
eworICAgICAgICBpZiAoZHhsID4gLWVwc2lsb24kNCkgeworICAgICAgICAgIGxBcmMgPSBub2Rl
LlA7CisgICAgICAgICAgckFyYyA9IG5vZGU7CisgICAgICAgIH0gZWxzZSBpZiAoZHhyID4gLWVw
c2lsb24kNCkgeworICAgICAgICAgIGxBcmMgPSBub2RlOworICAgICAgICAgIHJBcmMgPSBub2Rl
Lk47CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgbEFyYyA9IHJBcmMgPSBub2RlOworICAg
ICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGNyZWF0ZUNl
bGwoc2l0ZSk7CisgIHZhciBuZXdBcmMgPSBjcmVhdGVCZWFjaChzaXRlKTsKKyAgYmVhY2hlcy5p
bnNlcnQobEFyYywgbmV3QXJjKTsKKworICBpZiAoIWxBcmMgJiYgIXJBcmMpIHJldHVybjsKKwor
ICBpZiAobEFyYyA9PT0gckFyYykgeworICAgIGRldGFjaENpcmNsZShsQXJjKTsKKyAgICByQXJj
ID0gY3JlYXRlQmVhY2gobEFyYy5zaXRlKTsKKyAgICBiZWFjaGVzLmluc2VydChuZXdBcmMsIHJB
cmMpOworICAgIG5ld0FyYy5lZGdlID0gckFyYy5lZGdlID0gY3JlYXRlRWRnZShsQXJjLnNpdGUs
IG5ld0FyYy5zaXRlKTsKKyAgICBhdHRhY2hDaXJjbGUobEFyYyk7CisgICAgYXR0YWNoQ2lyY2xl
KHJBcmMpOworICAgIHJldHVybjsKKyAgfQorCisgIGlmICghckFyYykgeyAvLyAmJiBsQXJjCisg
ICAgbmV3QXJjLmVkZ2UgPSBjcmVhdGVFZGdlKGxBcmMuc2l0ZSwgbmV3QXJjLnNpdGUpOworICAg
IHJldHVybjsKKyAgfQorCisgIC8vIGVsc2UgbEFyYyAhPT0gckFyYworICBkZXRhY2hDaXJjbGUo
bEFyYyk7CisgIGRldGFjaENpcmNsZShyQXJjKTsKKworICB2YXIgbFNpdGUgPSBsQXJjLnNpdGUs
CisgICAgICBheCA9IGxTaXRlWzBdLAorICAgICAgYXkgPSBsU2l0ZVsxXSwKKyAgICAgIGJ4ID0g
c2l0ZVswXSAtIGF4LAorICAgICAgYnkgPSBzaXRlWzFdIC0gYXksCisgICAgICByU2l0ZSA9IHJB
cmMuc2l0ZSwKKyAgICAgIGN4ID0gclNpdGVbMF0gLSBheCwKKyAgICAgIGN5ID0gclNpdGVbMV0g
LSBheSwKKyAgICAgIGQgPSAyICogKGJ4ICogY3kgLSBieSAqIGN4KSwKKyAgICAgIGhiID0gYngg
KiBieCArIGJ5ICogYnksCisgICAgICBoYyA9IGN4ICogY3ggKyBjeSAqIGN5LAorICAgICAgdmVy
dGV4ID0gWyhjeSAqIGhiIC0gYnkgKiBoYykgLyBkICsgYXgsIChieCAqIGhjIC0gY3ggKiBoYikg
LyBkICsgYXldOworCisgIHNldEVkZ2VFbmQockFyYy5lZGdlLCBsU2l0ZSwgclNpdGUsIHZlcnRl
eCk7CisgIG5ld0FyYy5lZGdlID0gY3JlYXRlRWRnZShsU2l0ZSwgc2l0ZSwgbnVsbCwgdmVydGV4
KTsKKyAgckFyYy5lZGdlID0gY3JlYXRlRWRnZShzaXRlLCByU2l0ZSwgbnVsbCwgdmVydGV4KTsK
KyAgYXR0YWNoQ2lyY2xlKGxBcmMpOworICBhdHRhY2hDaXJjbGUockFyYyk7Cit9CisKK2Z1bmN0
aW9uIGxlZnRCcmVha1BvaW50KGFyYywgZGlyZWN0cml4KSB7CisgIHZhciBzaXRlID0gYXJjLnNp
dGUsCisgICAgICByZm9jeCA9IHNpdGVbMF0sCisgICAgICByZm9jeSA9IHNpdGVbMV0sCisgICAg
ICBwYnkyID0gcmZvY3kgLSBkaXJlY3RyaXg7CisKKyAgaWYgKCFwYnkyKSByZXR1cm4gcmZvY3g7
CisKKyAgdmFyIGxBcmMgPSBhcmMuUDsKKyAgaWYgKCFsQXJjKSByZXR1cm4gLUluZmluaXR5Owor
CisgIHNpdGUgPSBsQXJjLnNpdGU7CisgIHZhciBsZm9jeCA9IHNpdGVbMF0sCisgICAgICBsZm9j
eSA9IHNpdGVbMV0sCisgICAgICBwbGJ5MiA9IGxmb2N5IC0gZGlyZWN0cml4OworCisgIGlmICgh
cGxieTIpIHJldHVybiBsZm9jeDsKKworICB2YXIgaGwgPSBsZm9jeCAtIHJmb2N4LAorICAgICAg
YWJ5MiA9IDEgLyBwYnkyIC0gMSAvIHBsYnkyLAorICAgICAgYiA9IGhsIC8gcGxieTI7CisKKyAg
aWYgKGFieTIpIHJldHVybiAoLWIgKyBNYXRoLnNxcnQoYiAqIGIgLSAyICogYWJ5MiAqIChobCAq
IGhsIC8gKC0yICogcGxieTIpIC0gbGZvY3kgKyBwbGJ5MiAvIDIgKyByZm9jeSAtIHBieTIgLyAy
KSkpIC8gYWJ5MiArIHJmb2N4OworCisgIHJldHVybiAocmZvY3ggKyBsZm9jeCkgLyAyOworfQor
CitmdW5jdGlvbiByaWdodEJyZWFrUG9pbnQoYXJjLCBkaXJlY3RyaXgpIHsKKyAgdmFyIHJBcmMg
PSBhcmMuTjsKKyAgaWYgKHJBcmMpIHJldHVybiBsZWZ0QnJlYWtQb2ludChyQXJjLCBkaXJlY3Ry
aXgpOworICB2YXIgc2l0ZSA9IGFyYy5zaXRlOworICByZXR1cm4gc2l0ZVsxXSA9PT0gZGlyZWN0
cml4ID8gc2l0ZVswXSA6IEluZmluaXR5OworfQorCit2YXIgZXBzaWxvbiQ0ID0gMWUtNjsKK3Zh
ciBlcHNpbG9uMiQyID0gMWUtMTI7Cit2YXIgYmVhY2hlczsKK3ZhciBjZWxsczsKK3ZhciBjaXJj
bGVzOwordmFyIGVkZ2VzOworCitmdW5jdGlvbiB0cmlhbmdsZUFyZWEoYSwgYiwgYykgeworICBy
ZXR1cm4gKGFbMF0gLSBjWzBdKSAqIChiWzFdIC0gYVsxXSkgLSAoYVswXSAtIGJbMF0pICogKGNb
MV0gLSBhWzFdKTsKK30KKworZnVuY3Rpb24gbGV4aWNvZ3JhcGhpYyhhLCBiKSB7CisgIHJldHVy
biBiWzFdIC0gYVsxXQorICAgICAgfHwgYlswXSAtIGFbMF07Cit9CisKK2Z1bmN0aW9uIERpYWdy
YW0oc2l0ZXMsIGV4dGVudCkgeworICB2YXIgc2l0ZSA9IHNpdGVzLnNvcnQobGV4aWNvZ3JhcGhp
YykucG9wKCksCisgICAgICB4LAorICAgICAgeSwKKyAgICAgIGNpcmNsZTsKKworICBlZGdlcyA9
IFtdOworICBjZWxscyA9IG5ldyBBcnJheShzaXRlcy5sZW5ndGgpOworICBiZWFjaGVzID0gbmV3
IFJlZEJsYWNrVHJlZTsKKyAgY2lyY2xlcyA9IG5ldyBSZWRCbGFja1RyZWU7CisKKyAgd2hpbGUg
KHRydWUpIHsKKyAgICBjaXJjbGUgPSBmaXJzdENpcmNsZTsKKyAgICBpZiAoc2l0ZSAmJiAoIWNp
cmNsZSB8fCBzaXRlWzFdIDwgY2lyY2xlLnkgfHwgKHNpdGVbMV0gPT09IGNpcmNsZS55ICYmIHNp
dGVbMF0gPCBjaXJjbGUueCkpKSB7CisgICAgICBpZiAoc2l0ZVswXSAhPT0geCB8fCBzaXRlWzFd
ICE9PSB5KSB7CisgICAgICAgIGFkZEJlYWNoKHNpdGUpOworICAgICAgICB4ID0gc2l0ZVswXSwg
eSA9IHNpdGVbMV07CisgICAgICB9CisgICAgICBzaXRlID0gc2l0ZXMucG9wKCk7CisgICAgfSBl
bHNlIGlmIChjaXJjbGUpIHsKKyAgICAgIHJlbW92ZUJlYWNoKGNpcmNsZS5hcmMpOworICAgIH0g
ZWxzZSB7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKworICBzb3J0Q2VsbEhhbGZlZGdlcygp
OworCisgIGlmIChleHRlbnQpIHsKKyAgICB2YXIgeDAgPSArZXh0ZW50WzBdWzBdLAorICAgICAg
ICB5MCA9ICtleHRlbnRbMF1bMV0sCisgICAgICAgIHgxID0gK2V4dGVudFsxXVswXSwKKyAgICAg
ICAgeTEgPSArZXh0ZW50WzFdWzFdOworICAgIGNsaXBFZGdlcyh4MCwgeTAsIHgxLCB5MSk7Cisg
ICAgY2xpcENlbGxzKHgwLCB5MCwgeDEsIHkxKTsKKyAgfQorCisgIHRoaXMuZWRnZXMgPSBlZGdl
czsKKyAgdGhpcy5jZWxscyA9IGNlbGxzOworCisgIGJlYWNoZXMgPQorICBjaXJjbGVzID0KKyAg
ZWRnZXMgPQorICBjZWxscyA9IG51bGw7Cit9CisKK0RpYWdyYW0ucHJvdG90eXBlID0geworICBj
b25zdHJ1Y3RvcjogRGlhZ3JhbSwKKworICBwb2x5Z29uczogZnVuY3Rpb24oKSB7CisgICAgdmFy
IGVkZ2VzID0gdGhpcy5lZGdlczsKKworICAgIHJldHVybiB0aGlzLmNlbGxzLm1hcChmdW5jdGlv
bihjZWxsKSB7CisgICAgICB2YXIgcG9seWdvbiA9IGNlbGwuaGFsZmVkZ2VzLm1hcChmdW5jdGlv
bihpKSB7IHJldHVybiBjZWxsSGFsZmVkZ2VTdGFydChjZWxsLCBlZGdlc1tpXSk7IH0pOworICAg
ICAgcG9seWdvbi5kYXRhID0gY2VsbC5zaXRlLmRhdGE7CisgICAgICByZXR1cm4gcG9seWdvbjsK
KyAgICB9KTsKKyAgfSwKKworICB0cmlhbmdsZXM6IGZ1bmN0aW9uKCkgeworICAgIHZhciB0cmlh
bmdsZXMgPSBbXSwKKyAgICAgICAgZWRnZXMgPSB0aGlzLmVkZ2VzOworCisgICAgdGhpcy5jZWxs
cy5mb3JFYWNoKGZ1bmN0aW9uKGNlbGwsIGkpIHsKKyAgICAgIGlmICghKG0gPSAoaGFsZmVkZ2Vz
ID0gY2VsbC5oYWxmZWRnZXMpLmxlbmd0aCkpIHJldHVybjsKKyAgICAgIHZhciBzaXRlID0gY2Vs
bC5zaXRlLAorICAgICAgICAgIGhhbGZlZGdlcywKKyAgICAgICAgICBqID0gLTEsCisgICAgICAg
ICAgbSwKKyAgICAgICAgICBzMCwKKyAgICAgICAgICBlMSA9IGVkZ2VzW2hhbGZlZGdlc1ttIC0g
MV1dLAorICAgICAgICAgIHMxID0gZTEubGVmdCA9PT0gc2l0ZSA/IGUxLnJpZ2h0IDogZTEubGVm
dDsKKworICAgICAgd2hpbGUgKCsraiA8IG0pIHsKKyAgICAgICAgczAgPSBzMTsKKyAgICAgICAg
ZTEgPSBlZGdlc1toYWxmZWRnZXNbal1dOworICAgICAgICBzMSA9IGUxLmxlZnQgPT09IHNpdGUg
PyBlMS5yaWdodCA6IGUxLmxlZnQ7CisgICAgICAgIGlmIChzMCAmJiBzMSAmJiBpIDwgczAuaW5k
ZXggJiYgaSA8IHMxLmluZGV4ICYmIHRyaWFuZ2xlQXJlYShzaXRlLCBzMCwgczEpIDwgMCkgewor
ICAgICAgICAgIHRyaWFuZ2xlcy5wdXNoKFtzaXRlLmRhdGEsIHMwLmRhdGEsIHMxLmRhdGFdKTsK
KyAgICAgICAgfQorICAgICAgfQorICAgIH0pOworCisgICAgcmV0dXJuIHRyaWFuZ2xlczsKKyAg
fSwKKworICBsaW5rczogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRoaXMuZWRnZXMuZmlsdGVy
KGZ1bmN0aW9uKGVkZ2UpIHsKKyAgICAgIHJldHVybiBlZGdlLnJpZ2h0OworICAgIH0pLm1hcChm
dW5jdGlvbihlZGdlKSB7CisgICAgICByZXR1cm4geworICAgICAgICBzb3VyY2U6IGVkZ2UubGVm
dC5kYXRhLAorICAgICAgICB0YXJnZXQ6IGVkZ2UucmlnaHQuZGF0YQorICAgICAgfTsKKyAgICB9
KTsKKyAgfSwKKworICBmaW5kOiBmdW5jdGlvbih4LCB5LCByYWRpdXMpIHsKKyAgICB2YXIgdGhh
dCA9IHRoaXMsIGkwLCBpMSA9IHRoYXQuX2ZvdW5kIHx8IDAsIG4gPSB0aGF0LmNlbGxzLmxlbmd0
aCwgY2VsbDsKKworICAgIC8vIFVzZSB0aGUgcHJldmlvdXNseS1mb3VuZCBjZWxsLCBvciBzdGFy
dCB3aXRoIGFuIGFyYml0cmFyeSBvbmUuCisgICAgd2hpbGUgKCEoY2VsbCA9IHRoYXQuY2VsbHNb
aTFdKSkgaWYgKCsraTEgPj0gbikgcmV0dXJuIG51bGw7CisgICAgdmFyIGR4ID0geCAtIGNlbGwu
c2l0ZVswXSwgZHkgPSB5IC0gY2VsbC5zaXRlWzFdLCBkMiA9IGR4ICogZHggKyBkeSAqIGR5Owor
CisgICAgLy8gVHJhdmVyc2UgdGhlIGhhbGYtZWRnZXMgdG8gZmluZCBhIGNsb3NlciBjZWxsLCBp
ZiBhbnkuCisgICAgZG8geworICAgICAgY2VsbCA9IHRoYXQuY2VsbHNbaTAgPSBpMV0sIGkxID0g
bnVsbDsKKyAgICAgIGNlbGwuaGFsZmVkZ2VzLmZvckVhY2goZnVuY3Rpb24oZSkgeworICAgICAg
ICB2YXIgZWRnZSA9IHRoYXQuZWRnZXNbZV0sIHYgPSBlZGdlLmxlZnQ7CisgICAgICAgIGlmICgo
diA9PT0gY2VsbC5zaXRlIHx8ICF2KSAmJiAhKHYgPSBlZGdlLnJpZ2h0KSkgcmV0dXJuOworICAg
ICAgICB2YXIgdnggPSB4IC0gdlswXSwgdnkgPSB5IC0gdlsxXSwgdjIgPSB2eCAqIHZ4ICsgdnkg
KiB2eTsKKyAgICAgICAgaWYgKHYyIDwgZDIpIGQyID0gdjIsIGkxID0gdi5pbmRleDsKKyAgICAg
IH0pOworICAgIH0gd2hpbGUgKGkxICE9PSBudWxsKTsKKworICAgIHRoYXQuX2ZvdW5kID0gaTA7
CisKKyAgICByZXR1cm4gcmFkaXVzID09IG51bGwgfHwgZDIgPD0gcmFkaXVzICogcmFkaXVzID8g
Y2VsbC5zaXRlIDogbnVsbDsKKyAgfQorfTsKKworZnVuY3Rpb24gdm9yb25vaSgpIHsKKyAgdmFy
IHggPSB4JDQsCisgICAgICB5ID0geSQ0LAorICAgICAgZXh0ZW50ID0gbnVsbDsKKworICBmdW5j
dGlvbiB2b3Jvbm9pKGRhdGEpIHsKKyAgICByZXR1cm4gbmV3IERpYWdyYW0oZGF0YS5tYXAoZnVu
Y3Rpb24oZCwgaSkgeworICAgICAgdmFyIHMgPSBbTWF0aC5yb3VuZCh4KGQsIGksIGRhdGEpIC8g
ZXBzaWxvbiQ0KSAqIGVwc2lsb24kNCwgTWF0aC5yb3VuZCh5KGQsIGksIGRhdGEpIC8gZXBzaWxv
biQ0KSAqIGVwc2lsb24kNF07CisgICAgICBzLmluZGV4ID0gaTsKKyAgICAgIHMuZGF0YSA9IGQ7
CisgICAgICByZXR1cm4gczsKKyAgICB9KSwgZXh0ZW50KTsKKyAgfQorCisgIHZvcm9ub2kucG9s
eWdvbnMgPSBmdW5jdGlvbihkYXRhKSB7CisgICAgcmV0dXJuIHZvcm9ub2koZGF0YSkucG9seWdv
bnMoKTsKKyAgfTsKKworICB2b3Jvbm9pLmxpbmtzID0gZnVuY3Rpb24oZGF0YSkgeworICAgIHJl
dHVybiB2b3Jvbm9pKGRhdGEpLmxpbmtzKCk7CisgIH07CisKKyAgdm9yb25vaS50cmlhbmdsZXMg
PSBmdW5jdGlvbihkYXRhKSB7CisgICAgcmV0dXJuIHZvcm9ub2koZGF0YSkudHJpYW5nbGVzKCk7
CisgIH07CisKKyAgdm9yb25vaS54ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHggPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRj
KCtfKSwgdm9yb25vaSkgOiB4OworICB9OworCisgIHZvcm9ub2kueSA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlv
biIgPyBfIDogY29uc3RhbnQkYygrXyksIHZvcm9ub2kpIDogeTsKKyAgfTsKKworICB2b3Jvbm9p
LmV4dGVudCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChl
eHRlbnQgPSBfID09IG51bGwgPyBudWxsIDogW1srX1swXVswXSwgK19bMF1bMV1dLCBbK19bMV1b
MF0sICtfWzFdWzFdXV0sIHZvcm9ub2kpIDogZXh0ZW50ICYmIFtbZXh0ZW50WzBdWzBdLCBleHRl
bnRbMF1bMV1dLCBbZXh0ZW50WzFdWzBdLCBleHRlbnRbMV1bMV1dXTsKKyAgfTsKKworICB2b3Jv
bm9pLnNpemUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
ZXh0ZW50ID0gXyA9PSBudWxsID8gbnVsbCA6IFtbMCwgMF0sIFsrX1swXSwgK19bMV1dXSwgdm9y
b25vaSkgOiBleHRlbnQgJiYgW2V4dGVudFsxXVswXSAtIGV4dGVudFswXVswXSwgZXh0ZW50WzFd
WzFdIC0gZXh0ZW50WzBdWzFdXTsKKyAgfTsKKworICByZXR1cm4gdm9yb25vaTsKK30KKworZnVu
Y3Rpb24gY29uc3RhbnQkZCh4KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4g
eDsKKyAgfTsKK30KKworZnVuY3Rpb24gWm9vbUV2ZW50KHRhcmdldCwgdHlwZSwgdHJhbnNmb3Jt
KSB7CisgIHRoaXMudGFyZ2V0ID0gdGFyZ2V0OworICB0aGlzLnR5cGUgPSB0eXBlOworICB0aGlz
LnRyYW5zZm9ybSA9IHRyYW5zZm9ybTsKK30KKworZnVuY3Rpb24gVHJhbnNmb3JtKGssIHgsIHkp
IHsKKyAgdGhpcy5rID0gazsKKyAgdGhpcy54ID0geDsKKyAgdGhpcy55ID0geTsKK30KKworVHJh
bnNmb3JtLnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IFRyYW5zZm9ybSwKKyAgc2NhbGU6
IGZ1bmN0aW9uKGspIHsKKyAgICByZXR1cm4gayA9PT0gMSA/IHRoaXMgOiBuZXcgVHJhbnNmb3Jt
KHRoaXMuayAqIGssIHRoaXMueCwgdGhpcy55KTsKKyAgfSwKKyAgdHJhbnNsYXRlOiBmdW5jdGlv
bih4LCB5KSB7CisgICAgcmV0dXJuIHggPT09IDAgJiB5ID09PSAwID8gdGhpcyA6IG5ldyBUcmFu
c2Zvcm0odGhpcy5rLCB0aGlzLnggKyB0aGlzLmsgKiB4LCB0aGlzLnkgKyB0aGlzLmsgKiB5KTsK
KyAgfSwKKyAgYXBwbHk6IGZ1bmN0aW9uKHBvaW50KSB7CisgICAgcmV0dXJuIFtwb2ludFswXSAq
IHRoaXMuayArIHRoaXMueCwgcG9pbnRbMV0gKiB0aGlzLmsgKyB0aGlzLnldOworICB9LAorICBh
cHBseVg6IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4geCAqIHRoaXMuayArIHRoaXMueDsKKyAg
fSwKKyAgYXBwbHlZOiBmdW5jdGlvbih5KSB7CisgICAgcmV0dXJuIHkgKiB0aGlzLmsgKyB0aGlz
Lnk7CisgIH0sCisgIGludmVydDogZnVuY3Rpb24obG9jYXRpb24pIHsKKyAgICByZXR1cm4gWyhs
b2NhdGlvblswXSAtIHRoaXMueCkgLyB0aGlzLmssIChsb2NhdGlvblsxXSAtIHRoaXMueSkgLyB0
aGlzLmtdOworICB9LAorICBpbnZlcnRYOiBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuICh4IC0g
dGhpcy54KSAvIHRoaXMuazsKKyAgfSwKKyAgaW52ZXJ0WTogZnVuY3Rpb24oeSkgeworICAgIHJl
dHVybiAoeSAtIHRoaXMueSkgLyB0aGlzLms7CisgIH0sCisgIHJlc2NhbGVYOiBmdW5jdGlvbih4
KSB7CisgICAgcmV0dXJuIHguY29weSgpLmRvbWFpbih4LnJhbmdlKCkubWFwKHRoaXMuaW52ZXJ0
WCwgdGhpcykubWFwKHguaW52ZXJ0LCB4KSk7CisgIH0sCisgIHJlc2NhbGVZOiBmdW5jdGlvbih5
KSB7CisgICAgcmV0dXJuIHkuY29weSgpLmRvbWFpbih5LnJhbmdlKCkubWFwKHRoaXMuaW52ZXJ0
WSwgdGhpcykubWFwKHkuaW52ZXJ0LCB5KSk7CisgIH0sCisgIHRvU3RyaW5nOiBmdW5jdGlvbigp
IHsKKyAgICByZXR1cm4gInRyYW5zbGF0ZSgiICsgdGhpcy54ICsgIiwiICsgdGhpcy55ICsgIikg
c2NhbGUoIiArIHRoaXMuayArICIpIjsKKyAgfQorfTsKKwordmFyIGlkZW50aXR5JDkgPSBuZXcg
VHJhbnNmb3JtKDEsIDAsIDApOworCit0cmFuc2Zvcm0kMS5wcm90b3R5cGUgPSBUcmFuc2Zvcm0u
cHJvdG90eXBlOworCitmdW5jdGlvbiB0cmFuc2Zvcm0kMShub2RlKSB7CisgIHdoaWxlICghbm9k
ZS5fX3pvb20pIGlmICghKG5vZGUgPSBub2RlLnBhcmVudE5vZGUpKSByZXR1cm4gaWRlbnRpdHkk
OTsKKyAgcmV0dXJuIG5vZGUuX196b29tOworfQorCitmdW5jdGlvbiBub3Byb3BhZ2F0aW9uJDIo
KSB7CisgIGV4cG9ydHMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7Cit9CisKK2Z1
bmN0aW9uIG5vZXZlbnQkMigpIHsKKyAgZXhwb3J0cy5ldmVudC5wcmV2ZW50RGVmYXVsdCgpOwor
ICBleHBvcnRzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOworfQorCisvLyBJZ25v
cmUgcmlnaHQtY2xpY2ssIHNpbmNlIHRoYXQgc2hvdWxkIG9wZW4gdGhlIGNvbnRleHQgbWVudS4K
K2Z1bmN0aW9uIGRlZmF1bHRGaWx0ZXIkMigpIHsKKyAgcmV0dXJuICFleHBvcnRzLmV2ZW50LmN0
cmxLZXkgJiYgIWV4cG9ydHMuZXZlbnQuYnV0dG9uOworfQorCitmdW5jdGlvbiBkZWZhdWx0RXh0
ZW50JDEoKSB7CisgIHZhciBlID0gdGhpczsKKyAgaWYgKGUgaW5zdGFuY2VvZiBTVkdFbGVtZW50
KSB7CisgICAgZSA9IGUub3duZXJTVkdFbGVtZW50IHx8IGU7CisgICAgaWYgKGUuaGFzQXR0cmli
dXRlKCJ2aWV3Qm94IikpIHsKKyAgICAgIGUgPSBlLnZpZXdCb3guYmFzZVZhbDsKKyAgICAgIHJl
dHVybiBbW2UueCwgZS55XSwgW2UueCArIGUud2lkdGgsIGUueSArIGUuaGVpZ2h0XV07CisgICAg
fQorICAgIHJldHVybiBbWzAsIDBdLCBbZS53aWR0aC5iYXNlVmFsLnZhbHVlLCBlLmhlaWdodC5i
YXNlVmFsLnZhbHVlXV07CisgIH0KKyAgcmV0dXJuIFtbMCwgMF0sIFtlLmNsaWVudFdpZHRoLCBl
LmNsaWVudEhlaWdodF1dOworfQorCitmdW5jdGlvbiBkZWZhdWx0VHJhbnNmb3JtKCkgeworICBy
ZXR1cm4gdGhpcy5fX3pvb20gfHwgaWRlbnRpdHkkOTsKK30KKworZnVuY3Rpb24gZGVmYXVsdFdo
ZWVsRGVsdGEoKSB7CisgIHJldHVybiAtZXhwb3J0cy5ldmVudC5kZWx0YVkgKiAoZXhwb3J0cy5l
dmVudC5kZWx0YU1vZGUgPT09IDEgPyAwLjA1IDogZXhwb3J0cy5ldmVudC5kZWx0YU1vZGUgPyAx
IDogMC4wMDIpOworfQorCitmdW5jdGlvbiBkZWZhdWx0VG91Y2hhYmxlJDIoKSB7CisgIHJldHVy
biBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgfHwgKCJvbnRvdWNoc3RhcnQiIGluIHRoaXMpOwor
fQorCitmdW5jdGlvbiBkZWZhdWx0Q29uc3RyYWluKHRyYW5zZm9ybSwgZXh0ZW50LCB0cmFuc2xh
dGVFeHRlbnQpIHsKKyAgdmFyIGR4MCA9IHRyYW5zZm9ybS5pbnZlcnRYKGV4dGVudFswXVswXSkg
LSB0cmFuc2xhdGVFeHRlbnRbMF1bMF0sCisgICAgICBkeDEgPSB0cmFuc2Zvcm0uaW52ZXJ0WChl
eHRlbnRbMV1bMF0pIC0gdHJhbnNsYXRlRXh0ZW50WzFdWzBdLAorICAgICAgZHkwID0gdHJhbnNm
b3JtLmludmVydFkoZXh0ZW50WzBdWzFdKSAtIHRyYW5zbGF0ZUV4dGVudFswXVsxXSwKKyAgICAg
IGR5MSA9IHRyYW5zZm9ybS5pbnZlcnRZKGV4dGVudFsxXVsxXSkgLSB0cmFuc2xhdGVFeHRlbnRb
MV1bMV07CisgIHJldHVybiB0cmFuc2Zvcm0udHJhbnNsYXRlKAorICAgIGR4MSA+IGR4MCA/IChk
eDAgKyBkeDEpIC8gMiA6IE1hdGgubWluKDAsIGR4MCkgfHwgTWF0aC5tYXgoMCwgZHgxKSwKKyAg
ICBkeTEgPiBkeTAgPyAoZHkwICsgZHkxKSAvIDIgOiBNYXRoLm1pbigwLCBkeTApIHx8IE1hdGgu
bWF4KDAsIGR5MSkKKyAgKTsKK30KKworZnVuY3Rpb24gem9vbSgpIHsKKyAgdmFyIGZpbHRlciA9
IGRlZmF1bHRGaWx0ZXIkMiwKKyAgICAgIGV4dGVudCA9IGRlZmF1bHRFeHRlbnQkMSwKKyAgICAg
IGNvbnN0cmFpbiA9IGRlZmF1bHRDb25zdHJhaW4sCisgICAgICB3aGVlbERlbHRhID0gZGVmYXVs
dFdoZWVsRGVsdGEsCisgICAgICB0b3VjaGFibGUgPSBkZWZhdWx0VG91Y2hhYmxlJDIsCisgICAg
ICBzY2FsZUV4dGVudCA9IFswLCBJbmZpbml0eV0sCisgICAgICB0cmFuc2xhdGVFeHRlbnQgPSBb
Wy1JbmZpbml0eSwgLUluZmluaXR5XSwgW0luZmluaXR5LCBJbmZpbml0eV1dLAorICAgICAgZHVy
YXRpb24gPSAyNTAsCisgICAgICBpbnRlcnBvbGF0ZSA9IGludGVycG9sYXRlWm9vbSwKKyAgICAg
IGxpc3RlbmVycyA9IGRpc3BhdGNoKCJzdGFydCIsICJ6b29tIiwgImVuZCIpLAorICAgICAgdG91
Y2hzdGFydGluZywKKyAgICAgIHRvdWNoZW5kaW5nLAorICAgICAgdG91Y2hEZWxheSA9IDUwMCwK
KyAgICAgIHdoZWVsRGVsYXkgPSAxNTAsCisgICAgICBjbGlja0Rpc3RhbmNlMiA9IDA7CisKKyAg
ZnVuY3Rpb24gem9vbShzZWxlY3Rpb24pIHsKKyAgICBzZWxlY3Rpb24KKyAgICAgICAgLnByb3Bl
cnR5KCJfX3pvb20iLCBkZWZhdWx0VHJhbnNmb3JtKQorICAgICAgICAub24oIndoZWVsLnpvb20i
LCB3aGVlbGVkKQorICAgICAgICAub24oIm1vdXNlZG93bi56b29tIiwgbW91c2Vkb3duZWQpCisg
ICAgICAgIC5vbigiZGJsY2xpY2suem9vbSIsIGRibGNsaWNrZWQpCisgICAgICAuZmlsdGVyKHRv
dWNoYWJsZSkKKyAgICAgICAgLm9uKCJ0b3VjaHN0YXJ0Lnpvb20iLCB0b3VjaHN0YXJ0ZWQpCisg
ICAgICAgIC5vbigidG91Y2htb3ZlLnpvb20iLCB0b3VjaG1vdmVkKQorICAgICAgICAub24oInRv
dWNoZW5kLnpvb20gdG91Y2hjYW5jZWwuem9vbSIsIHRvdWNoZW5kZWQpCisgICAgICAgIC5zdHls
ZSgidG91Y2gtYWN0aW9uIiwgIm5vbmUiKQorICAgICAgICAuc3R5bGUoIi13ZWJraXQtdGFwLWhp
Z2hsaWdodC1jb2xvciIsICJyZ2JhKDAsMCwwLDApIik7CisgIH0KKworICB6b29tLnRyYW5zZm9y
bSA9IGZ1bmN0aW9uKGNvbGxlY3Rpb24sIHRyYW5zZm9ybSwgcG9pbnQpIHsKKyAgICB2YXIgc2Vs
ZWN0aW9uID0gY29sbGVjdGlvbi5zZWxlY3Rpb24gPyBjb2xsZWN0aW9uLnNlbGVjdGlvbigpIDog
Y29sbGVjdGlvbjsKKyAgICBzZWxlY3Rpb24ucHJvcGVydHkoIl9fem9vbSIsIGRlZmF1bHRUcmFu
c2Zvcm0pOworICAgIGlmIChjb2xsZWN0aW9uICE9PSBzZWxlY3Rpb24pIHsKKyAgICAgIHNjaGVk
dWxlKGNvbGxlY3Rpb24sIHRyYW5zZm9ybSwgcG9pbnQpOworICAgIH0gZWxzZSB7CisgICAgICBz
ZWxlY3Rpb24uaW50ZXJydXB0KCkuZWFjaChmdW5jdGlvbigpIHsKKyAgICAgICAgZ2VzdHVyZSh0
aGlzLCBhcmd1bWVudHMpCisgICAgICAgICAgICAuc3RhcnQoKQorICAgICAgICAgICAgLnpvb20o
bnVsbCwgdHlwZW9mIHRyYW5zZm9ybSA9PT0gImZ1bmN0aW9uIiA/IHRyYW5zZm9ybS5hcHBseSh0
aGlzLCBhcmd1bWVudHMpIDogdHJhbnNmb3JtKQorICAgICAgICAgICAgLmVuZCgpOworICAgICAg
fSk7CisgICAgfQorICB9OworCisgIHpvb20uc2NhbGVCeSA9IGZ1bmN0aW9uKHNlbGVjdGlvbiwg
aywgcCkgeworICAgIHpvb20uc2NhbGVUbyhzZWxlY3Rpb24sIGZ1bmN0aW9uKCkgeworICAgICAg
dmFyIGswID0gdGhpcy5fX3pvb20uaywKKyAgICAgICAgICBrMSA9IHR5cGVvZiBrID09PSAiZnVu
Y3Rpb24iID8gay5hcHBseSh0aGlzLCBhcmd1bWVudHMpIDogazsKKyAgICAgIHJldHVybiBrMCAq
IGsxOworICAgIH0sIHApOworICB9OworCisgIHpvb20uc2NhbGVUbyA9IGZ1bmN0aW9uKHNlbGVj
dGlvbiwgaywgcCkgeworICAgIHpvb20udHJhbnNmb3JtKHNlbGVjdGlvbiwgZnVuY3Rpb24oKSB7
CisgICAgICB2YXIgZSA9IGV4dGVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpLAorICAgICAgICAg
IHQwID0gdGhpcy5fX3pvb20sCisgICAgICAgICAgcDAgPSBwID09IG51bGwgPyBjZW50cm9pZChl
KSA6IHR5cGVvZiBwID09PSAiZnVuY3Rpb24iID8gcC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIDog
cCwKKyAgICAgICAgICBwMSA9IHQwLmludmVydChwMCksCisgICAgICAgICAgazEgPSB0eXBlb2Yg
ayA9PT0gImZ1bmN0aW9uIiA/IGsuYXBwbHkodGhpcywgYXJndW1lbnRzKSA6IGs7CisgICAgICBy
ZXR1cm4gY29uc3RyYWluKHRyYW5zbGF0ZShzY2FsZSh0MCwgazEpLCBwMCwgcDEpLCBlLCB0cmFu
c2xhdGVFeHRlbnQpOworICAgIH0sIHApOworICB9OworCisgIHpvb20udHJhbnNsYXRlQnkgPSBm
dW5jdGlvbihzZWxlY3Rpb24sIHgsIHkpIHsKKyAgICB6b29tLnRyYW5zZm9ybShzZWxlY3Rpb24s
IGZ1bmN0aW9uKCkgeworICAgICAgcmV0dXJuIGNvbnN0cmFpbih0aGlzLl9fem9vbS50cmFuc2xh
dGUoCisgICAgICAgIHR5cGVvZiB4ID09PSAiZnVuY3Rpb24iID8geC5hcHBseSh0aGlzLCBhcmd1
bWVudHMpIDogeCwKKyAgICAgICAgdHlwZW9mIHkgPT09ICJmdW5jdGlvbiIgPyB5LmFwcGx5KHRo
aXMsIGFyZ3VtZW50cykgOiB5CisgICAgICApLCBleHRlbnQuYXBwbHkodGhpcywgYXJndW1lbnRz
KSwgdHJhbnNsYXRlRXh0ZW50KTsKKyAgICB9KTsKKyAgfTsKKworICB6b29tLnRyYW5zbGF0ZVRv
ID0gZnVuY3Rpb24oc2VsZWN0aW9uLCB4LCB5LCBwKSB7CisgICAgem9vbS50cmFuc2Zvcm0oc2Vs
ZWN0aW9uLCBmdW5jdGlvbigpIHsKKyAgICAgIHZhciBlID0gZXh0ZW50LmFwcGx5KHRoaXMsIGFy
Z3VtZW50cyksCisgICAgICAgICAgdCA9IHRoaXMuX196b29tLAorICAgICAgICAgIHAwID0gcCA9
PSBudWxsID8gY2VudHJvaWQoZSkgOiB0eXBlb2YgcCA9PT0gImZ1bmN0aW9uIiA/IHAuYXBwbHko
dGhpcywgYXJndW1lbnRzKSA6IHA7CisgICAgICByZXR1cm4gY29uc3RyYWluKGlkZW50aXR5JDku
dHJhbnNsYXRlKHAwWzBdLCBwMFsxXSkuc2NhbGUodC5rKS50cmFuc2xhdGUoCisgICAgICAgIHR5
cGVvZiB4ID09PSAiZnVuY3Rpb24iID8gLXguYXBwbHkodGhpcywgYXJndW1lbnRzKSA6IC14LAor
ICAgICAgICB0eXBlb2YgeSA9PT0gImZ1bmN0aW9uIiA/IC15LmFwcGx5KHRoaXMsIGFyZ3VtZW50
cykgOiAteQorICAgICAgKSwgZSwgdHJhbnNsYXRlRXh0ZW50KTsKKyAgICB9LCBwKTsKKyAgfTsK
KworICBmdW5jdGlvbiBzY2FsZSh0cmFuc2Zvcm0sIGspIHsKKyAgICBrID0gTWF0aC5tYXgoc2Nh
bGVFeHRlbnRbMF0sIE1hdGgubWluKHNjYWxlRXh0ZW50WzFdLCBrKSk7CisgICAgcmV0dXJuIGsg
PT09IHRyYW5zZm9ybS5rID8gdHJhbnNmb3JtIDogbmV3IFRyYW5zZm9ybShrLCB0cmFuc2Zvcm0u
eCwgdHJhbnNmb3JtLnkpOworICB9CisKKyAgZnVuY3Rpb24gdHJhbnNsYXRlKHRyYW5zZm9ybSwg
cDAsIHAxKSB7CisgICAgdmFyIHggPSBwMFswXSAtIHAxWzBdICogdHJhbnNmb3JtLmssIHkgPSBw
MFsxXSAtIHAxWzFdICogdHJhbnNmb3JtLms7CisgICAgcmV0dXJuIHggPT09IHRyYW5zZm9ybS54
ICYmIHkgPT09IHRyYW5zZm9ybS55ID8gdHJhbnNmb3JtIDogbmV3IFRyYW5zZm9ybSh0cmFuc2Zv
cm0uaywgeCwgeSk7CisgIH0KKworICBmdW5jdGlvbiBjZW50cm9pZChleHRlbnQpIHsKKyAgICBy
ZXR1cm4gWygrZXh0ZW50WzBdWzBdICsgK2V4dGVudFsxXVswXSkgLyAyLCAoK2V4dGVudFswXVsx
XSArICtleHRlbnRbMV1bMV0pIC8gMl07CisgIH0KKworICBmdW5jdGlvbiBzY2hlZHVsZSh0cmFu
c2l0aW9uLCB0cmFuc2Zvcm0sIHBvaW50KSB7CisgICAgdHJhbnNpdGlvbgorICAgICAgICAub24o
InN0YXJ0Lnpvb20iLCBmdW5jdGlvbigpIHsgZ2VzdHVyZSh0aGlzLCBhcmd1bWVudHMpLnN0YXJ0
KCk7IH0pCisgICAgICAgIC5vbigiaW50ZXJydXB0Lnpvb20gZW5kLnpvb20iLCBmdW5jdGlvbigp
IHsgZ2VzdHVyZSh0aGlzLCBhcmd1bWVudHMpLmVuZCgpOyB9KQorICAgICAgICAudHdlZW4oInpv
b20iLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCisgICAgICAgICAg
ICAgIGFyZ3MgPSBhcmd1bWVudHMsCisgICAgICAgICAgICAgIGcgPSBnZXN0dXJlKHRoYXQsIGFy
Z3MpLAorICAgICAgICAgICAgICBlID0gZXh0ZW50LmFwcGx5KHRoYXQsIGFyZ3MpLAorICAgICAg
ICAgICAgICBwID0gcG9pbnQgPT0gbnVsbCA/IGNlbnRyb2lkKGUpIDogdHlwZW9mIHBvaW50ID09
PSAiZnVuY3Rpb24iID8gcG9pbnQuYXBwbHkodGhhdCwgYXJncykgOiBwb2ludCwKKyAgICAgICAg
ICAgICAgdyA9IE1hdGgubWF4KGVbMV1bMF0gLSBlWzBdWzBdLCBlWzFdWzFdIC0gZVswXVsxXSks
CisgICAgICAgICAgICAgIGEgPSB0aGF0Ll9fem9vbSwKKyAgICAgICAgICAgICAgYiA9IHR5cGVv
ZiB0cmFuc2Zvcm0gPT09ICJmdW5jdGlvbiIgPyB0cmFuc2Zvcm0uYXBwbHkodGhhdCwgYXJncykg
OiB0cmFuc2Zvcm0sCisgICAgICAgICAgICAgIGkgPSBpbnRlcnBvbGF0ZShhLmludmVydChwKS5j
b25jYXQodyAvIGEuayksIGIuaW52ZXJ0KHApLmNvbmNhdCh3IC8gYi5rKSk7CisgICAgICAgICAg
cmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgICAgIGlmICh0ID09PSAxKSB0ID0gYjsgLy8g
QXZvaWQgcm91bmRpbmcgZXJyb3Igb24gZW5kLgorICAgICAgICAgICAgZWxzZSB7IHZhciBsID0g
aSh0KSwgayA9IHcgLyBsWzJdOyB0ID0gbmV3IFRyYW5zZm9ybShrLCBwWzBdIC0gbFswXSAqIGss
IHBbMV0gLSBsWzFdICogayk7IH0KKyAgICAgICAgICAgIGcuem9vbShudWxsLCB0KTsKKyAgICAg
ICAgICB9OworICAgICAgICB9KTsKKyAgfQorCisgIGZ1bmN0aW9uIGdlc3R1cmUodGhhdCwgYXJn
cywgY2xlYW4pIHsKKyAgICByZXR1cm4gKCFjbGVhbiAmJiB0aGF0Ll9fem9vbWluZykgfHwgbmV3
IEdlc3R1cmUodGhhdCwgYXJncyk7CisgIH0KKworICBmdW5jdGlvbiBHZXN0dXJlKHRoYXQsIGFy
Z3MpIHsKKyAgICB0aGlzLnRoYXQgPSB0aGF0OworICAgIHRoaXMuYXJncyA9IGFyZ3M7CisgICAg
dGhpcy5hY3RpdmUgPSAwOworICAgIHRoaXMuZXh0ZW50ID0gZXh0ZW50LmFwcGx5KHRoYXQsIGFy
Z3MpOworICAgIHRoaXMudGFwcyA9IDA7CisgIH0KKworICBHZXN0dXJlLnByb3RvdHlwZSA9IHsK
KyAgICBzdGFydDogZnVuY3Rpb24oKSB7CisgICAgICBpZiAoKyt0aGlzLmFjdGl2ZSA9PT0gMSkg
eworICAgICAgICB0aGlzLnRoYXQuX196b29taW5nID0gdGhpczsKKyAgICAgICAgdGhpcy5lbWl0
KCJzdGFydCIpOworICAgICAgfQorICAgICAgcmV0dXJuIHRoaXM7CisgICAgfSwKKyAgICB6b29t
OiBmdW5jdGlvbihrZXksIHRyYW5zZm9ybSkgeworICAgICAgaWYgKHRoaXMubW91c2UgJiYga2V5
ICE9PSAibW91c2UiKSB0aGlzLm1vdXNlWzFdID0gdHJhbnNmb3JtLmludmVydCh0aGlzLm1vdXNl
WzBdKTsKKyAgICAgIGlmICh0aGlzLnRvdWNoMCAmJiBrZXkgIT09ICJ0b3VjaCIpIHRoaXMudG91
Y2gwWzFdID0gdHJhbnNmb3JtLmludmVydCh0aGlzLnRvdWNoMFswXSk7CisgICAgICBpZiAodGhp
cy50b3VjaDEgJiYga2V5ICE9PSAidG91Y2giKSB0aGlzLnRvdWNoMVsxXSA9IHRyYW5zZm9ybS5p
bnZlcnQodGhpcy50b3VjaDFbMF0pOworICAgICAgdGhpcy50aGF0Ll9fem9vbSA9IHRyYW5zZm9y
bTsKKyAgICAgIHRoaXMuZW1pdCgiem9vbSIpOworICAgICAgcmV0dXJuIHRoaXM7CisgICAgfSwK
KyAgICBlbmQ6IGZ1bmN0aW9uKCkgeworICAgICAgaWYgKC0tdGhpcy5hY3RpdmUgPT09IDApIHsK
KyAgICAgICAgZGVsZXRlIHRoaXMudGhhdC5fX3pvb21pbmc7CisgICAgICAgIHRoaXMuZW1pdCgi
ZW5kIik7CisgICAgICB9CisgICAgICByZXR1cm4gdGhpczsKKyAgICB9LAorICAgIGVtaXQ6IGZ1
bmN0aW9uKHR5cGUpIHsKKyAgICAgIGN1c3RvbUV2ZW50KG5ldyBab29tRXZlbnQoem9vbSwgdHlw
ZSwgdGhpcy50aGF0Ll9fem9vbSksIGxpc3RlbmVycy5hcHBseSwgbGlzdGVuZXJzLCBbdHlwZSwg
dGhpcy50aGF0LCB0aGlzLmFyZ3NdKTsKKyAgICB9CisgIH07CisKKyAgZnVuY3Rpb24gd2hlZWxl
ZCgpIHsKKyAgICBpZiAoIWZpbHRlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSByZXR1cm47Cisg
ICAgdmFyIGcgPSBnZXN0dXJlKHRoaXMsIGFyZ3VtZW50cyksCisgICAgICAgIHQgPSB0aGlzLl9f
em9vbSwKKyAgICAgICAgayA9IE1hdGgubWF4KHNjYWxlRXh0ZW50WzBdLCBNYXRoLm1pbihzY2Fs
ZUV4dGVudFsxXSwgdC5rICogTWF0aC5wb3coMiwgd2hlZWxEZWx0YS5hcHBseSh0aGlzLCBhcmd1
bWVudHMpKSkpLAorICAgICAgICBwID0gbW91c2UodGhpcyk7CisKKyAgICAvLyBJZiB0aGUgbW91
c2UgaXMgaW4gdGhlIHNhbWUgbG9jYXRpb24gYXMgYmVmb3JlLCByZXVzZSBpdC4KKyAgICAvLyBJ
ZiB0aGVyZSB3ZXJlIHJlY2VudCB3aGVlbCBldmVudHMsIHJlc2V0IHRoZSB3aGVlbCBpZGxlIHRp
bWVvdXQuCisgICAgaWYgKGcud2hlZWwpIHsKKyAgICAgIGlmIChnLm1vdXNlWzBdWzBdICE9PSBw
WzBdIHx8IGcubW91c2VbMF1bMV0gIT09IHBbMV0pIHsKKyAgICAgICAgZy5tb3VzZVsxXSA9IHQu
aW52ZXJ0KGcubW91c2VbMF0gPSBwKTsKKyAgICAgIH0KKyAgICAgIGNsZWFyVGltZW91dChnLndo
ZWVsKTsKKyAgICB9CisKKyAgICAvLyBJZiB0aGlzIHdoZWVsIGV2ZW50IHdvbuKAmXQgdHJpZ2dl
ciBhIHRyYW5zZm9ybSBjaGFuZ2UsIGlnbm9yZSBpdC4KKyAgICBlbHNlIGlmICh0LmsgPT09IGsp
IHJldHVybjsKKworICAgIC8vIE90aGVyd2lzZSwgY2FwdHVyZSB0aGUgbW91c2UgcG9pbnQgYW5k
IGxvY2F0aW9uIGF0IHRoZSBzdGFydC4KKyAgICBlbHNlIHsKKyAgICAgIGcubW91c2UgPSBbcCwg
dC5pbnZlcnQocCldOworICAgICAgaW50ZXJydXB0KHRoaXMpOworICAgICAgZy5zdGFydCgpOwor
ICAgIH0KKworICAgIG5vZXZlbnQkMigpOworICAgIGcud2hlZWwgPSBzZXRUaW1lb3V0KHdoZWVs
aWRsZWQsIHdoZWVsRGVsYXkpOworICAgIGcuem9vbSgibW91c2UiLCBjb25zdHJhaW4odHJhbnNs
YXRlKHNjYWxlKHQsIGspLCBnLm1vdXNlWzBdLCBnLm1vdXNlWzFdKSwgZy5leHRlbnQsIHRyYW5z
bGF0ZUV4dGVudCkpOworCisgICAgZnVuY3Rpb24gd2hlZWxpZGxlZCgpIHsKKyAgICAgIGcud2hl
ZWwgPSBudWxsOworICAgICAgZy5lbmQoKTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBtb3Vz
ZWRvd25lZCgpIHsKKyAgICBpZiAodG91Y2hlbmRpbmcgfHwgIWZpbHRlci5hcHBseSh0aGlzLCBh
cmd1bWVudHMpKSByZXR1cm47CisgICAgdmFyIGcgPSBnZXN0dXJlKHRoaXMsIGFyZ3VtZW50cywg
dHJ1ZSksCisgICAgICAgIHYgPSBzZWxlY3QoZXhwb3J0cy5ldmVudC52aWV3KS5vbigibW91c2Vt
b3ZlLnpvb20iLCBtb3VzZW1vdmVkLCB0cnVlKS5vbigibW91c2V1cC56b29tIiwgbW91c2V1cHBl
ZCwgdHJ1ZSksCisgICAgICAgIHAgPSBtb3VzZSh0aGlzKSwKKyAgICAgICAgeDAgPSBleHBvcnRz
LmV2ZW50LmNsaWVudFgsCisgICAgICAgIHkwID0gZXhwb3J0cy5ldmVudC5jbGllbnRZOworCisg
ICAgZHJhZ0Rpc2FibGUoZXhwb3J0cy5ldmVudC52aWV3KTsKKyAgICBub3Byb3BhZ2F0aW9uJDIo
KTsKKyAgICBnLm1vdXNlID0gW3AsIHRoaXMuX196b29tLmludmVydChwKV07CisgICAgaW50ZXJy
dXB0KHRoaXMpOworICAgIGcuc3RhcnQoKTsKKworICAgIGZ1bmN0aW9uIG1vdXNlbW92ZWQoKSB7
CisgICAgICBub2V2ZW50JDIoKTsKKyAgICAgIGlmICghZy5tb3ZlZCkgeworICAgICAgICB2YXIg
ZHggPSBleHBvcnRzLmV2ZW50LmNsaWVudFggLSB4MCwgZHkgPSBleHBvcnRzLmV2ZW50LmNsaWVu
dFkgLSB5MDsKKyAgICAgICAgZy5tb3ZlZCA9IGR4ICogZHggKyBkeSAqIGR5ID4gY2xpY2tEaXN0
YW5jZTI7CisgICAgICB9CisgICAgICBnLnpvb20oIm1vdXNlIiwgY29uc3RyYWluKHRyYW5zbGF0
ZShnLnRoYXQuX196b29tLCBnLm1vdXNlWzBdID0gbW91c2UoZy50aGF0KSwgZy5tb3VzZVsxXSks
IGcuZXh0ZW50LCB0cmFuc2xhdGVFeHRlbnQpKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBtb3Vz
ZXVwcGVkKCkgeworICAgICAgdi5vbigibW91c2Vtb3ZlLnpvb20gbW91c2V1cC56b29tIiwgbnVs
bCk7CisgICAgICB5ZXNkcmFnKGV4cG9ydHMuZXZlbnQudmlldywgZy5tb3ZlZCk7CisgICAgICBu
b2V2ZW50JDIoKTsKKyAgICAgIGcuZW5kKCk7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gZGJs
Y2xpY2tlZCgpIHsKKyAgICBpZiAoIWZpbHRlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSByZXR1
cm47CisgICAgdmFyIHQwID0gdGhpcy5fX3pvb20sCisgICAgICAgIHAwID0gbW91c2UodGhpcyks
CisgICAgICAgIHAxID0gdDAuaW52ZXJ0KHAwKSwKKyAgICAgICAgazEgPSB0MC5rICogKGV4cG9y
dHMuZXZlbnQuc2hpZnRLZXkgPyAwLjUgOiAyKSwKKyAgICAgICAgdDEgPSBjb25zdHJhaW4odHJh
bnNsYXRlKHNjYWxlKHQwLCBrMSksIHAwLCBwMSksIGV4dGVudC5hcHBseSh0aGlzLCBhcmd1bWVu
dHMpLCB0cmFuc2xhdGVFeHRlbnQpOworCisgICAgbm9ldmVudCQyKCk7CisgICAgaWYgKGR1cmF0
aW9uID4gMCkgc2VsZWN0KHRoaXMpLnRyYW5zaXRpb24oKS5kdXJhdGlvbihkdXJhdGlvbikuY2Fs
bChzY2hlZHVsZSwgdDEsIHAwKTsKKyAgICBlbHNlIHNlbGVjdCh0aGlzKS5jYWxsKHpvb20udHJh
bnNmb3JtLCB0MSk7CisgIH0KKworICBmdW5jdGlvbiB0b3VjaHN0YXJ0ZWQoKSB7CisgICAgaWYg
KCFmaWx0ZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSkgcmV0dXJuOworICAgIHZhciB0b3VjaGVz
ID0gZXhwb3J0cy5ldmVudC50b3VjaGVzLAorICAgICAgICBuID0gdG91Y2hlcy5sZW5ndGgsCisg
ICAgICAgIGcgPSBnZXN0dXJlKHRoaXMsIGFyZ3VtZW50cywgZXhwb3J0cy5ldmVudC5jaGFuZ2Vk
VG91Y2hlcy5sZW5ndGggPT09IG4pLAorICAgICAgICBzdGFydGVkLCBpLCB0LCBwOworCisgICAg
bm9wcm9wYWdhdGlvbiQyKCk7CisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAg
dCA9IHRvdWNoZXNbaV0sIHAgPSB0b3VjaCh0aGlzLCB0b3VjaGVzLCB0LmlkZW50aWZpZXIpOwor
ICAgICAgcCA9IFtwLCB0aGlzLl9fem9vbS5pbnZlcnQocCksIHQuaWRlbnRpZmllcl07CisgICAg
ICBpZiAoIWcudG91Y2gwKSBnLnRvdWNoMCA9IHAsIHN0YXJ0ZWQgPSB0cnVlLCBnLnRhcHMgPSAx
ICsgISF0b3VjaHN0YXJ0aW5nOworICAgICAgZWxzZSBpZiAoIWcudG91Y2gxICYmIGcudG91Y2gw
WzJdICE9PSBwWzJdKSBnLnRvdWNoMSA9IHAsIGcudGFwcyA9IDA7CisgICAgfQorCisgICAgaWYg
KHRvdWNoc3RhcnRpbmcpIHRvdWNoc3RhcnRpbmcgPSBjbGVhclRpbWVvdXQodG91Y2hzdGFydGlu
Zyk7CisKKyAgICBpZiAoc3RhcnRlZCkgeworICAgICAgaWYgKGcudGFwcyA8IDIpIHRvdWNoc3Rh
cnRpbmcgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB0b3VjaHN0YXJ0aW5nID0gbnVsbDsgfSwg
dG91Y2hEZWxheSk7CisgICAgICBpbnRlcnJ1cHQodGhpcyk7CisgICAgICBnLnN0YXJ0KCk7Cisg
ICAgfQorICB9CisKKyAgZnVuY3Rpb24gdG91Y2htb3ZlZCgpIHsKKyAgICBpZiAoIXRoaXMuX196
b29taW5nKSByZXR1cm47CisgICAgdmFyIGcgPSBnZXN0dXJlKHRoaXMsIGFyZ3VtZW50cyksCisg
ICAgICAgIHRvdWNoZXMgPSBleHBvcnRzLmV2ZW50LmNoYW5nZWRUb3VjaGVzLAorICAgICAgICBu
ID0gdG91Y2hlcy5sZW5ndGgsIGksIHQsIHAsIGw7CisKKyAgICBub2V2ZW50JDIoKTsKKyAgICBp
ZiAodG91Y2hzdGFydGluZykgdG91Y2hzdGFydGluZyA9IGNsZWFyVGltZW91dCh0b3VjaHN0YXJ0
aW5nKTsKKyAgICBnLnRhcHMgPSAwOworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAg
ICAgIHQgPSB0b3VjaGVzW2ldLCBwID0gdG91Y2godGhpcywgdG91Y2hlcywgdC5pZGVudGlmaWVy
KTsKKyAgICAgIGlmIChnLnRvdWNoMCAmJiBnLnRvdWNoMFsyXSA9PT0gdC5pZGVudGlmaWVyKSBn
LnRvdWNoMFswXSA9IHA7CisgICAgICBlbHNlIGlmIChnLnRvdWNoMSAmJiBnLnRvdWNoMVsyXSA9
PT0gdC5pZGVudGlmaWVyKSBnLnRvdWNoMVswXSA9IHA7CisgICAgfQorICAgIHQgPSBnLnRoYXQu
X196b29tOworICAgIGlmIChnLnRvdWNoMSkgeworICAgICAgdmFyIHAwID0gZy50b3VjaDBbMF0s
IGwwID0gZy50b3VjaDBbMV0sCisgICAgICAgICAgcDEgPSBnLnRvdWNoMVswXSwgbDEgPSBnLnRv
dWNoMVsxXSwKKyAgICAgICAgICBkcCA9IChkcCA9IHAxWzBdIC0gcDBbMF0pICogZHAgKyAoZHAg
PSBwMVsxXSAtIHAwWzFdKSAqIGRwLAorICAgICAgICAgIGRsID0gKGRsID0gbDFbMF0gLSBsMFsw
XSkgKiBkbCArIChkbCA9IGwxWzFdIC0gbDBbMV0pICogZGw7CisgICAgICB0ID0gc2NhbGUodCwg
TWF0aC5zcXJ0KGRwIC8gZGwpKTsKKyAgICAgIHAgPSBbKHAwWzBdICsgcDFbMF0pIC8gMiwgKHAw
WzFdICsgcDFbMV0pIC8gMl07CisgICAgICBsID0gWyhsMFswXSArIGwxWzBdKSAvIDIsIChsMFsx
XSArIGwxWzFdKSAvIDJdOworICAgIH0KKyAgICBlbHNlIGlmIChnLnRvdWNoMCkgcCA9IGcudG91
Y2gwWzBdLCBsID0gZy50b3VjaDBbMV07CisgICAgZWxzZSByZXR1cm47CisgICAgZy56b29tKCJ0
b3VjaCIsIGNvbnN0cmFpbih0cmFuc2xhdGUodCwgcCwgbCksIGcuZXh0ZW50LCB0cmFuc2xhdGVF
eHRlbnQpKTsKKyAgfQorCisgIGZ1bmN0aW9uIHRvdWNoZW5kZWQoKSB7CisgICAgaWYgKCF0aGlz
Ll9fem9vbWluZykgcmV0dXJuOworICAgIHZhciBnID0gZ2VzdHVyZSh0aGlzLCBhcmd1bWVudHMp
LAorICAgICAgICB0b3VjaGVzID0gZXhwb3J0cy5ldmVudC5jaGFuZ2VkVG91Y2hlcywKKyAgICAg
ICAgbiA9IHRvdWNoZXMubGVuZ3RoLCBpLCB0OworCisgICAgbm9wcm9wYWdhdGlvbiQyKCk7Cisg
ICAgaWYgKHRvdWNoZW5kaW5nKSBjbGVhclRpbWVvdXQodG91Y2hlbmRpbmcpOworICAgIHRvdWNo
ZW5kaW5nID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsgdG91Y2hlbmRpbmcgPSBudWxsOyB9LCB0
b3VjaERlbGF5KTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICB0ID0gdG91
Y2hlc1tpXTsKKyAgICAgIGlmIChnLnRvdWNoMCAmJiBnLnRvdWNoMFsyXSA9PT0gdC5pZGVudGlm
aWVyKSBkZWxldGUgZy50b3VjaDA7CisgICAgICBlbHNlIGlmIChnLnRvdWNoMSAmJiBnLnRvdWNo
MVsyXSA9PT0gdC5pZGVudGlmaWVyKSBkZWxldGUgZy50b3VjaDE7CisgICAgfQorICAgIGlmIChn
LnRvdWNoMSAmJiAhZy50b3VjaDApIGcudG91Y2gwID0gZy50b3VjaDEsIGRlbGV0ZSBnLnRvdWNo
MTsKKyAgICBpZiAoZy50b3VjaDApIGcudG91Y2gwWzFdID0gdGhpcy5fX3pvb20uaW52ZXJ0KGcu
dG91Y2gwWzBdKTsKKyAgICBlbHNlIHsKKyAgICAgIGcuZW5kKCk7CisgICAgICAvLyBJZiB0aGlz
IHdhcyBhIGRibHRhcCwgcmVyb3V0ZSB0byB0aGUgKG9wdGlvbmFsKSBkYmxjbGljay56b29tIGhh
bmRsZXIuCisgICAgICBpZiAoZy50YXBzID09PSAyKSB7CisgICAgICAgIHZhciBwID0gc2VsZWN0
KHRoaXMpLm9uKCJkYmxjbGljay56b29tIik7CisgICAgICAgIGlmIChwKSBwLmFwcGx5KHRoaXMs
IGFyZ3VtZW50cyk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgem9vbS53aGVlbERlbHRhID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHdoZWVsRGVsdGEg
PSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRkKCtfKSwgem9vbSkgOiB3
aGVlbERlbHRhOworICB9OworCisgIHpvb20uZmlsdGVyID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGZpbHRlciA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24i
ID8gXyA6IGNvbnN0YW50JGQoISFfKSwgem9vbSkgOiBmaWx0ZXI7CisgIH07CisKKyAgem9vbS50
b3VjaGFibGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
dG91Y2hhYmxlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkZCghIV8p
LCB6b29tKSA6IHRvdWNoYWJsZTsKKyAgfTsKKworICB6b29tLmV4dGVudCA9IGZ1bmN0aW9uKF8p
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChleHRlbnQgPSB0eXBlb2YgXyA9PT0g
ImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRkKFtbK19bMF1bMF0sICtfWzBdWzFdXSwgWytfWzFd
WzBdLCArX1sxXVsxXV1dKSwgem9vbSkgOiBleHRlbnQ7CisgIH07CisKKyAgem9vbS5zY2FsZUV4
dGVudCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzY2Fs
ZUV4dGVudFswXSA9ICtfWzBdLCBzY2FsZUV4dGVudFsxXSA9ICtfWzFdLCB6b29tKSA6IFtzY2Fs
ZUV4dGVudFswXSwgc2NhbGVFeHRlbnRbMV1dOworICB9OworCisgIHpvb20udHJhbnNsYXRlRXh0
ZW50ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRyYW5z
bGF0ZUV4dGVudFswXVswXSA9ICtfWzBdWzBdLCB0cmFuc2xhdGVFeHRlbnRbMV1bMF0gPSArX1sx
XVswXSwgdHJhbnNsYXRlRXh0ZW50WzBdWzFdID0gK19bMF1bMV0sIHRyYW5zbGF0ZUV4dGVudFsx
XVsxXSA9ICtfWzFdWzFdLCB6b29tKSA6IFtbdHJhbnNsYXRlRXh0ZW50WzBdWzBdLCB0cmFuc2xh
dGVFeHRlbnRbMF1bMV1dLCBbdHJhbnNsYXRlRXh0ZW50WzFdWzBdLCB0cmFuc2xhdGVFeHRlbnRb
MV1bMV1dXTsKKyAgfTsKKworICB6b29tLmNvbnN0cmFpbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChjb25zdHJhaW4gPSBfLCB6b29tKSA6IGNvbnN0cmFp
bjsKKyAgfTsKKworICB6b29tLmR1cmF0aW9uID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKGR1cmF0aW9uID0gK18sIHpvb20pIDogZHVyYXRpb247CisgIH07
CisKKyAgem9vbS5pbnRlcnBvbGF0ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/IChpbnRlcnBvbGF0ZSA9IF8sIHpvb20pIDogaW50ZXJwb2xhdGU7CisgIH07
CisKKyAgem9vbS5vbiA9IGZ1bmN0aW9uKCkgeworICAgIHZhciB2YWx1ZSA9IGxpc3RlbmVycy5v
bi5hcHBseShsaXN0ZW5lcnMsIGFyZ3VtZW50cyk7CisgICAgcmV0dXJuIHZhbHVlID09PSBsaXN0
ZW5lcnMgPyB6b29tIDogdmFsdWU7CisgIH07CisKKyAgem9vbS5jbGlja0Rpc3RhbmNlID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGNsaWNrRGlzdGFuY2Uy
ID0gKF8gPSArXykgKiBfLCB6b29tKSA6IE1hdGguc3FydChjbGlja0Rpc3RhbmNlMik7CisgIH07
CisKKyAgcmV0dXJuIHpvb207Cit9CisKK2V4cG9ydHMuRm9ybWF0U3BlY2lmaWVyID0gRm9ybWF0
U3BlY2lmaWVyOworZXhwb3J0cy5hY3RpdmUgPSBhY3RpdmU7CitleHBvcnRzLmFyYyA9IGFyYzsK
K2V4cG9ydHMuYXJlYSA9IGFyZWEkMzsKK2V4cG9ydHMuYXJlYVJhZGlhbCA9IGFyZWFSYWRpYWw7
CitleHBvcnRzLmFzY2VuZGluZyA9IGFzY2VuZGluZzsKK2V4cG9ydHMuYXV0b1R5cGUgPSBhdXRv
VHlwZTsKK2V4cG9ydHMuYXhpc0JvdHRvbSA9IGF4aXNCb3R0b207CitleHBvcnRzLmF4aXNMZWZ0
ID0gYXhpc0xlZnQ7CitleHBvcnRzLmF4aXNSaWdodCA9IGF4aXNSaWdodDsKK2V4cG9ydHMuYXhp
c1RvcCA9IGF4aXNUb3A7CitleHBvcnRzLmJpc2VjdCA9IGJpc2VjdFJpZ2h0OworZXhwb3J0cy5i
aXNlY3RMZWZ0ID0gYmlzZWN0TGVmdDsKK2V4cG9ydHMuYmlzZWN0UmlnaHQgPSBiaXNlY3RSaWdo
dDsKK2V4cG9ydHMuYmlzZWN0b3IgPSBiaXNlY3RvcjsKK2V4cG9ydHMuYmxvYiA9IGJsb2I7Citl
eHBvcnRzLmJydXNoID0gYnJ1c2g7CitleHBvcnRzLmJydXNoU2VsZWN0aW9uID0gYnJ1c2hTZWxl
Y3Rpb247CitleHBvcnRzLmJydXNoWCA9IGJydXNoWDsKK2V4cG9ydHMuYnJ1c2hZID0gYnJ1c2hZ
OworZXhwb3J0cy5idWZmZXIgPSBidWZmZXI7CitleHBvcnRzLmNob3JkID0gY2hvcmQ7CitleHBv
cnRzLmNsaWVudFBvaW50ID0gcG9pbnQ7CitleHBvcnRzLmNsdXN0ZXIgPSBjbHVzdGVyOworZXhw
b3J0cy5jb2xvciA9IGNvbG9yOworZXhwb3J0cy5jb250b3VyRGVuc2l0eSA9IGRlbnNpdHk7Citl
eHBvcnRzLmNvbnRvdXJzID0gY29udG91cnM7CitleHBvcnRzLmNyZWF0ZSA9IGNyZWF0ZTsKK2V4
cG9ydHMuY3JlYXRvciA9IGNyZWF0b3I7CitleHBvcnRzLmNyb3NzID0gY3Jvc3M7CitleHBvcnRz
LmNzdiA9IGNzdiQxOworZXhwb3J0cy5jc3ZGb3JtYXQgPSBjc3ZGb3JtYXQ7CitleHBvcnRzLmNz
dkZvcm1hdEJvZHkgPSBjc3ZGb3JtYXRCb2R5OworZXhwb3J0cy5jc3ZGb3JtYXRSb3cgPSBjc3ZG
b3JtYXRSb3c7CitleHBvcnRzLmNzdkZvcm1hdFJvd3MgPSBjc3ZGb3JtYXRSb3dzOworZXhwb3J0
cy5jc3ZGb3JtYXRWYWx1ZSA9IGNzdkZvcm1hdFZhbHVlOworZXhwb3J0cy5jc3ZQYXJzZSA9IGNz
dlBhcnNlOworZXhwb3J0cy5jc3ZQYXJzZVJvd3MgPSBjc3ZQYXJzZVJvd3M7CitleHBvcnRzLmN1
YmVoZWxpeCA9IGN1YmVoZWxpeDsKK2V4cG9ydHMuY3VydmVCYXNpcyA9IGJhc2lzJDI7CitleHBv
cnRzLmN1cnZlQmFzaXNDbG9zZWQgPSBiYXNpc0Nsb3NlZCQxOworZXhwb3J0cy5jdXJ2ZUJhc2lz
T3BlbiA9IGJhc2lzT3BlbjsKK2V4cG9ydHMuY3VydmVCdW5kbGUgPSBidW5kbGU7CitleHBvcnRz
LmN1cnZlQ2FyZGluYWwgPSBjYXJkaW5hbDsKK2V4cG9ydHMuY3VydmVDYXJkaW5hbENsb3NlZCA9
IGNhcmRpbmFsQ2xvc2VkOworZXhwb3J0cy5jdXJ2ZUNhcmRpbmFsT3BlbiA9IGNhcmRpbmFsT3Bl
bjsKK2V4cG9ydHMuY3VydmVDYXRtdWxsUm9tID0gY2F0bXVsbFJvbTsKK2V4cG9ydHMuY3VydmVD
YXRtdWxsUm9tQ2xvc2VkID0gY2F0bXVsbFJvbUNsb3NlZDsKK2V4cG9ydHMuY3VydmVDYXRtdWxs
Um9tT3BlbiA9IGNhdG11bGxSb21PcGVuOworZXhwb3J0cy5jdXJ2ZUxpbmVhciA9IGN1cnZlTGlu
ZWFyOworZXhwb3J0cy5jdXJ2ZUxpbmVhckNsb3NlZCA9IGxpbmVhckNsb3NlZDsKK2V4cG9ydHMu
Y3VydmVNb25vdG9uZVggPSBtb25vdG9uZVg7CitleHBvcnRzLmN1cnZlTW9ub3RvbmVZID0gbW9u
b3RvbmVZOworZXhwb3J0cy5jdXJ2ZU5hdHVyYWwgPSBuYXR1cmFsOworZXhwb3J0cy5jdXJ2ZVN0
ZXAgPSBzdGVwOworZXhwb3J0cy5jdXJ2ZVN0ZXBBZnRlciA9IHN0ZXBBZnRlcjsKK2V4cG9ydHMu
Y3VydmVTdGVwQmVmb3JlID0gc3RlcEJlZm9yZTsKK2V4cG9ydHMuY3VzdG9tRXZlbnQgPSBjdXN0
b21FdmVudDsKK2V4cG9ydHMuZGVzY2VuZGluZyA9IGRlc2NlbmRpbmc7CitleHBvcnRzLmRldmlh
dGlvbiA9IGRldmlhdGlvbjsKK2V4cG9ydHMuZGlzcGF0Y2ggPSBkaXNwYXRjaDsKK2V4cG9ydHMu
ZHJhZyA9IGRyYWc7CitleHBvcnRzLmRyYWdEaXNhYmxlID0gZHJhZ0Rpc2FibGU7CitleHBvcnRz
LmRyYWdFbmFibGUgPSB5ZXNkcmFnOworZXhwb3J0cy5kc3YgPSBkc3Y7CitleHBvcnRzLmRzdkZv
cm1hdCA9IGRzdkZvcm1hdDsKK2V4cG9ydHMuZWFzZUJhY2sgPSBiYWNrSW5PdXQ7CitleHBvcnRz
LmVhc2VCYWNrSW4gPSBiYWNrSW47CitleHBvcnRzLmVhc2VCYWNrSW5PdXQgPSBiYWNrSW5PdXQ7
CitleHBvcnRzLmVhc2VCYWNrT3V0ID0gYmFja091dDsKK2V4cG9ydHMuZWFzZUJvdW5jZSA9IGJv
dW5jZU91dDsKK2V4cG9ydHMuZWFzZUJvdW5jZUluID0gYm91bmNlSW47CitleHBvcnRzLmVhc2VC
b3VuY2VJbk91dCA9IGJvdW5jZUluT3V0OworZXhwb3J0cy5lYXNlQm91bmNlT3V0ID0gYm91bmNl
T3V0OworZXhwb3J0cy5lYXNlQ2lyY2xlID0gY2lyY2xlSW5PdXQ7CitleHBvcnRzLmVhc2VDaXJj
bGVJbiA9IGNpcmNsZUluOworZXhwb3J0cy5lYXNlQ2lyY2xlSW5PdXQgPSBjaXJjbGVJbk91dDsK
K2V4cG9ydHMuZWFzZUNpcmNsZU91dCA9IGNpcmNsZU91dDsKK2V4cG9ydHMuZWFzZUN1YmljID0g
Y3ViaWNJbk91dDsKK2V4cG9ydHMuZWFzZUN1YmljSW4gPSBjdWJpY0luOworZXhwb3J0cy5lYXNl
Q3ViaWNJbk91dCA9IGN1YmljSW5PdXQ7CitleHBvcnRzLmVhc2VDdWJpY091dCA9IGN1YmljT3V0
OworZXhwb3J0cy5lYXNlRWxhc3RpYyA9IGVsYXN0aWNPdXQ7CitleHBvcnRzLmVhc2VFbGFzdGlj
SW4gPSBlbGFzdGljSW47CitleHBvcnRzLmVhc2VFbGFzdGljSW5PdXQgPSBlbGFzdGljSW5PdXQ7
CitleHBvcnRzLmVhc2VFbGFzdGljT3V0ID0gZWxhc3RpY091dDsKK2V4cG9ydHMuZWFzZUV4cCA9
IGV4cEluT3V0OworZXhwb3J0cy5lYXNlRXhwSW4gPSBleHBJbjsKK2V4cG9ydHMuZWFzZUV4cElu
T3V0ID0gZXhwSW5PdXQ7CitleHBvcnRzLmVhc2VFeHBPdXQgPSBleHBPdXQ7CitleHBvcnRzLmVh
c2VMaW5lYXIgPSBsaW5lYXIkMTsKK2V4cG9ydHMuZWFzZVBvbHkgPSBwb2x5SW5PdXQ7CitleHBv
cnRzLmVhc2VQb2x5SW4gPSBwb2x5SW47CitleHBvcnRzLmVhc2VQb2x5SW5PdXQgPSBwb2x5SW5P
dXQ7CitleHBvcnRzLmVhc2VQb2x5T3V0ID0gcG9seU91dDsKK2V4cG9ydHMuZWFzZVF1YWQgPSBx
dWFkSW5PdXQ7CitleHBvcnRzLmVhc2VRdWFkSW4gPSBxdWFkSW47CitleHBvcnRzLmVhc2VRdWFk
SW5PdXQgPSBxdWFkSW5PdXQ7CitleHBvcnRzLmVhc2VRdWFkT3V0ID0gcXVhZE91dDsKK2V4cG9y
dHMuZWFzZVNpbiA9IHNpbkluT3V0OworZXhwb3J0cy5lYXNlU2luSW4gPSBzaW5JbjsKK2V4cG9y
dHMuZWFzZVNpbkluT3V0ID0gc2luSW5PdXQ7CitleHBvcnRzLmVhc2VTaW5PdXQgPSBzaW5PdXQ7
CitleHBvcnRzLmVudHJpZXMgPSBlbnRyaWVzOworZXhwb3J0cy5leHRlbnQgPSBleHRlbnQ7Citl
eHBvcnRzLmZvcmNlQ2VudGVyID0gY2VudGVyJDE7CitleHBvcnRzLmZvcmNlQ29sbGlkZSA9IGNv
bGxpZGU7CitleHBvcnRzLmZvcmNlTGluayA9IGxpbms7CitleHBvcnRzLmZvcmNlTWFueUJvZHkg
PSBtYW55Qm9keTsKK2V4cG9ydHMuZm9yY2VSYWRpYWwgPSByYWRpYWw7CitleHBvcnRzLmZvcmNl
U2ltdWxhdGlvbiA9IHNpbXVsYXRpb247CitleHBvcnRzLmZvcmNlWCA9IHgkMjsKK2V4cG9ydHMu
Zm9yY2VZID0geSQyOworZXhwb3J0cy5mb3JtYXREZWZhdWx0TG9jYWxlID0gZGVmYXVsdExvY2Fs
ZTsKK2V4cG9ydHMuZm9ybWF0TG9jYWxlID0gZm9ybWF0TG9jYWxlOworZXhwb3J0cy5mb3JtYXRT
cGVjaWZpZXIgPSBmb3JtYXRTcGVjaWZpZXI7CitleHBvcnRzLmdlb0FsYmVycyA9IGFsYmVyczsK
K2V4cG9ydHMuZ2VvQWxiZXJzVXNhID0gYWxiZXJzVXNhOworZXhwb3J0cy5nZW9BcmVhID0gYXJl
YSQxOworZXhwb3J0cy5nZW9BemltdXRoYWxFcXVhbEFyZWEgPSBhemltdXRoYWxFcXVhbEFyZWE7
CitleHBvcnRzLmdlb0F6aW11dGhhbEVxdWFsQXJlYVJhdyA9IGF6aW11dGhhbEVxdWFsQXJlYVJh
dzsKK2V4cG9ydHMuZ2VvQXppbXV0aGFsRXF1aWRpc3RhbnQgPSBhemltdXRoYWxFcXVpZGlzdGFu
dDsKK2V4cG9ydHMuZ2VvQXppbXV0aGFsRXF1aWRpc3RhbnRSYXcgPSBhemltdXRoYWxFcXVpZGlz
dGFudFJhdzsKK2V4cG9ydHMuZ2VvQm91bmRzID0gYm91bmRzOworZXhwb3J0cy5nZW9DZW50cm9p
ZCA9IGNlbnRyb2lkOworZXhwb3J0cy5nZW9DaXJjbGUgPSBjaXJjbGU7CitleHBvcnRzLmdlb0Ns
aXBBbnRpbWVyaWRpYW4gPSBjbGlwQW50aW1lcmlkaWFuOworZXhwb3J0cy5nZW9DbGlwQ2lyY2xl
ID0gY2xpcENpcmNsZTsKK2V4cG9ydHMuZ2VvQ2xpcEV4dGVudCA9IGV4dGVudCQxOworZXhwb3J0
cy5nZW9DbGlwUmVjdGFuZ2xlID0gY2xpcFJlY3RhbmdsZTsKK2V4cG9ydHMuZ2VvQ29uaWNDb25m
b3JtYWwgPSBjb25pY0NvbmZvcm1hbDsKK2V4cG9ydHMuZ2VvQ29uaWNDb25mb3JtYWxSYXcgPSBj
b25pY0NvbmZvcm1hbFJhdzsKK2V4cG9ydHMuZ2VvQ29uaWNFcXVhbEFyZWEgPSBjb25pY0VxdWFs
QXJlYTsKK2V4cG9ydHMuZ2VvQ29uaWNFcXVhbEFyZWFSYXcgPSBjb25pY0VxdWFsQXJlYVJhdzsK
K2V4cG9ydHMuZ2VvQ29uaWNFcXVpZGlzdGFudCA9IGNvbmljRXF1aWRpc3RhbnQ7CitleHBvcnRz
Lmdlb0NvbmljRXF1aWRpc3RhbnRSYXcgPSBjb25pY0VxdWlkaXN0YW50UmF3OworZXhwb3J0cy5n
ZW9Db250YWlucyA9IGNvbnRhaW5zJDE7CitleHBvcnRzLmdlb0Rpc3RhbmNlID0gZGlzdGFuY2U7
CitleHBvcnRzLmdlb0VxdWFsRWFydGggPSBlcXVhbEVhcnRoOworZXhwb3J0cy5nZW9FcXVhbEVh
cnRoUmF3ID0gZXF1YWxFYXJ0aFJhdzsKK2V4cG9ydHMuZ2VvRXF1aXJlY3Rhbmd1bGFyID0gZXF1
aXJlY3Rhbmd1bGFyOworZXhwb3J0cy5nZW9FcXVpcmVjdGFuZ3VsYXJSYXcgPSBlcXVpcmVjdGFu
Z3VsYXJSYXc7CitleHBvcnRzLmdlb0dub21vbmljID0gZ25vbW9uaWM7CitleHBvcnRzLmdlb0du
b21vbmljUmF3ID0gZ25vbW9uaWNSYXc7CitleHBvcnRzLmdlb0dyYXRpY3VsZSA9IGdyYXRpY3Vs
ZTsKK2V4cG9ydHMuZ2VvR3JhdGljdWxlMTAgPSBncmF0aWN1bGUxMDsKK2V4cG9ydHMuZ2VvSWRl
bnRpdHkgPSBpZGVudGl0eSQ1OworZXhwb3J0cy5nZW9JbnRlcnBvbGF0ZSA9IGludGVycG9sYXRl
JDE7CitleHBvcnRzLmdlb0xlbmd0aCA9IGxlbmd0aCQxOworZXhwb3J0cy5nZW9NZXJjYXRvciA9
IG1lcmNhdG9yOworZXhwb3J0cy5nZW9NZXJjYXRvclJhdyA9IG1lcmNhdG9yUmF3OworZXhwb3J0
cy5nZW9OYXR1cmFsRWFydGgxID0gbmF0dXJhbEVhcnRoMTsKK2V4cG9ydHMuZ2VvTmF0dXJhbEVh
cnRoMVJhdyA9IG5hdHVyYWxFYXJ0aDFSYXc7CitleHBvcnRzLmdlb09ydGhvZ3JhcGhpYyA9IG9y
dGhvZ3JhcGhpYzsKK2V4cG9ydHMuZ2VvT3J0aG9ncmFwaGljUmF3ID0gb3J0aG9ncmFwaGljUmF3
OworZXhwb3J0cy5nZW9QYXRoID0gaW5kZXgkMTsKK2V4cG9ydHMuZ2VvUHJvamVjdGlvbiA9IHBy
b2plY3Rpb247CitleHBvcnRzLmdlb1Byb2plY3Rpb25NdXRhdG9yID0gcHJvamVjdGlvbk11dGF0
b3I7CitleHBvcnRzLmdlb1JvdGF0aW9uID0gcm90YXRpb247CitleHBvcnRzLmdlb1N0ZXJlb2dy
YXBoaWMgPSBzdGVyZW9ncmFwaGljOworZXhwb3J0cy5nZW9TdGVyZW9ncmFwaGljUmF3ID0gc3Rl
cmVvZ3JhcGhpY1JhdzsKK2V4cG9ydHMuZ2VvU3RyZWFtID0gZ2VvU3RyZWFtOworZXhwb3J0cy5n
ZW9UcmFuc2Zvcm0gPSB0cmFuc2Zvcm07CitleHBvcnRzLmdlb1RyYW5zdmVyc2VNZXJjYXRvciA9
IHRyYW5zdmVyc2VNZXJjYXRvcjsKK2V4cG9ydHMuZ2VvVHJhbnN2ZXJzZU1lcmNhdG9yUmF3ID0g
dHJhbnN2ZXJzZU1lcmNhdG9yUmF3OworZXhwb3J0cy5ncmF5ID0gZ3JheTsKK2V4cG9ydHMuaGNs
ID0gaGNsOworZXhwb3J0cy5oaWVyYXJjaHkgPSBoaWVyYXJjaHk7CitleHBvcnRzLmhpc3RvZ3Jh
bSA9IGhpc3RvZ3JhbTsKK2V4cG9ydHMuaHNsID0gaHNsOworZXhwb3J0cy5odG1sID0gaHRtbDsK
K2V4cG9ydHMuaW1hZ2UgPSBpbWFnZTsKK2V4cG9ydHMuaW50ZXJwb2xhdGUgPSBpbnRlcnBvbGF0
ZVZhbHVlOworZXhwb3J0cy5pbnRlcnBvbGF0ZUFycmF5ID0gYXJyYXkkMTsKK2V4cG9ydHMuaW50
ZXJwb2xhdGVCYXNpcyA9IGJhc2lzJDE7CitleHBvcnRzLmludGVycG9sYXRlQmFzaXNDbG9zZWQg
PSBiYXNpc0Nsb3NlZDsKK2V4cG9ydHMuaW50ZXJwb2xhdGVCbHVlcyA9IEJsdWVzOworZXhwb3J0
cy5pbnRlcnBvbGF0ZUJyQkcgPSBCckJHOworZXhwb3J0cy5pbnRlcnBvbGF0ZUJ1R24gPSBCdUdu
OworZXhwb3J0cy5pbnRlcnBvbGF0ZUJ1UHUgPSBCdVB1OworZXhwb3J0cy5pbnRlcnBvbGF0ZUNp
dmlkaXMgPSBjaXZpZGlzOworZXhwb3J0cy5pbnRlcnBvbGF0ZUNvb2wgPSBjb29sOworZXhwb3J0
cy5pbnRlcnBvbGF0ZUN1YmVoZWxpeCA9IGN1YmVoZWxpeCQyOworZXhwb3J0cy5pbnRlcnBvbGF0
ZUN1YmVoZWxpeERlZmF1bHQgPSBjdWJlaGVsaXgkMzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVDdWJl
aGVsaXhMb25nID0gY3ViZWhlbGl4TG9uZzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVEYXRlID0gZGF0
ZTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVEaXNjcmV0ZSA9IGRpc2NyZXRlOworZXhwb3J0cy5pbnRl
cnBvbGF0ZUduQnUgPSBHbkJ1OworZXhwb3J0cy5pbnRlcnBvbGF0ZUdyZWVucyA9IEdyZWVuczsK
K2V4cG9ydHMuaW50ZXJwb2xhdGVHcmV5cyA9IEdyZXlzOworZXhwb3J0cy5pbnRlcnBvbGF0ZUhj
bCA9IGhjbCQyOworZXhwb3J0cy5pbnRlcnBvbGF0ZUhjbExvbmcgPSBoY2xMb25nOworZXhwb3J0
cy5pbnRlcnBvbGF0ZUhzbCA9IGhzbCQyOworZXhwb3J0cy5pbnRlcnBvbGF0ZUhzbExvbmcgPSBo
c2xMb25nOworZXhwb3J0cy5pbnRlcnBvbGF0ZUh1ZSA9IGh1ZSQxOworZXhwb3J0cy5pbnRlcnBv
bGF0ZUluZmVybm8gPSBpbmZlcm5vOworZXhwb3J0cy5pbnRlcnBvbGF0ZUxhYiA9IGxhYiQxOwor
ZXhwb3J0cy5pbnRlcnBvbGF0ZU1hZ21hID0gbWFnbWE7CitleHBvcnRzLmludGVycG9sYXRlTnVt
YmVyID0gaW50ZXJwb2xhdGVOdW1iZXI7CitleHBvcnRzLmludGVycG9sYXRlT2JqZWN0ID0gb2Jq
ZWN0OworZXhwb3J0cy5pbnRlcnBvbGF0ZU9yUmQgPSBPclJkOworZXhwb3J0cy5pbnRlcnBvbGF0
ZU9yYW5nZXMgPSBPcmFuZ2VzOworZXhwb3J0cy5pbnRlcnBvbGF0ZVBSR24gPSBQUkduOworZXhw
b3J0cy5pbnRlcnBvbGF0ZVBpWUcgPSBQaVlHOworZXhwb3J0cy5pbnRlcnBvbGF0ZVBsYXNtYSA9
IHBsYXNtYTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVQdUJ1ID0gUHVCdTsKK2V4cG9ydHMuaW50ZXJw
b2xhdGVQdUJ1R24gPSBQdUJ1R247CitleHBvcnRzLmludGVycG9sYXRlUHVPciA9IFB1T3I7Citl
eHBvcnRzLmludGVycG9sYXRlUHVSZCA9IFB1UmQ7CitleHBvcnRzLmludGVycG9sYXRlUHVycGxl
cyA9IFB1cnBsZXM7CitleHBvcnRzLmludGVycG9sYXRlUmFpbmJvdyA9IHJhaW5ib3c7CitleHBv
cnRzLmludGVycG9sYXRlUmRCdSA9IFJkQnU7CitleHBvcnRzLmludGVycG9sYXRlUmRHeSA9IFJk
R3k7CitleHBvcnRzLmludGVycG9sYXRlUmRQdSA9IFJkUHU7CitleHBvcnRzLmludGVycG9sYXRl
UmRZbEJ1ID0gUmRZbEJ1OworZXhwb3J0cy5pbnRlcnBvbGF0ZVJkWWxHbiA9IFJkWWxHbjsKK2V4
cG9ydHMuaW50ZXJwb2xhdGVSZWRzID0gUmVkczsKK2V4cG9ydHMuaW50ZXJwb2xhdGVSZ2IgPSBp
bnRlcnBvbGF0ZVJnYjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVSZ2JCYXNpcyA9IHJnYkJhc2lzOwor
ZXhwb3J0cy5pbnRlcnBvbGF0ZVJnYkJhc2lzQ2xvc2VkID0gcmdiQmFzaXNDbG9zZWQ7CitleHBv
cnRzLmludGVycG9sYXRlUm91bmQgPSBpbnRlcnBvbGF0ZVJvdW5kOworZXhwb3J0cy5pbnRlcnBv
bGF0ZVNpbmVib3cgPSBzaW5lYm93OworZXhwb3J0cy5pbnRlcnBvbGF0ZVNwZWN0cmFsID0gU3Bl
Y3RyYWw7CitleHBvcnRzLmludGVycG9sYXRlU3RyaW5nID0gaW50ZXJwb2xhdGVTdHJpbmc7Citl
eHBvcnRzLmludGVycG9sYXRlVHJhbnNmb3JtQ3NzID0gaW50ZXJwb2xhdGVUcmFuc2Zvcm1Dc3M7
CitleHBvcnRzLmludGVycG9sYXRlVHJhbnNmb3JtU3ZnID0gaW50ZXJwb2xhdGVUcmFuc2Zvcm1T
dmc7CitleHBvcnRzLmludGVycG9sYXRlVHVyYm8gPSB0dXJibzsKK2V4cG9ydHMuaW50ZXJwb2xh
dGVWaXJpZGlzID0gdmlyaWRpczsKK2V4cG9ydHMuaW50ZXJwb2xhdGVXYXJtID0gd2FybTsKK2V4
cG9ydHMuaW50ZXJwb2xhdGVZbEduID0gWWxHbjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVZbEduQnUg
PSBZbEduQnU7CitleHBvcnRzLmludGVycG9sYXRlWWxPckJyID0gWWxPckJyOworZXhwb3J0cy5p
bnRlcnBvbGF0ZVlsT3JSZCA9IFlsT3JSZDsKK2V4cG9ydHMuaW50ZXJwb2xhdGVab29tID0gaW50
ZXJwb2xhdGVab29tOworZXhwb3J0cy5pbnRlcnJ1cHQgPSBpbnRlcnJ1cHQ7CitleHBvcnRzLmlu
dGVydmFsID0gaW50ZXJ2YWwkMTsKK2V4cG9ydHMuaXNvRm9ybWF0ID0gZm9ybWF0SXNvOworZXhw
b3J0cy5pc29QYXJzZSA9IHBhcnNlSXNvOworZXhwb3J0cy5qc29uID0ganNvbjsKK2V4cG9ydHMu
a2V5cyA9IGtleXM7CitleHBvcnRzLmxhYiA9IGxhYjsKK2V4cG9ydHMubGNoID0gbGNoOworZXhw
b3J0cy5saW5lID0gbGluZTsKK2V4cG9ydHMubGluZVJhZGlhbCA9IGxpbmVSYWRpYWwkMTsKK2V4
cG9ydHMubGlua0hvcml6b250YWwgPSBsaW5rSG9yaXpvbnRhbDsKK2V4cG9ydHMubGlua1JhZGlh
bCA9IGxpbmtSYWRpYWw7CitleHBvcnRzLmxpbmtWZXJ0aWNhbCA9IGxpbmtWZXJ0aWNhbDsKK2V4
cG9ydHMubG9jYWwgPSBsb2NhbDsKK2V4cG9ydHMubWFwID0gbWFwJDE7CitleHBvcnRzLm1hdGNo
ZXIgPSBtYXRjaGVyOworZXhwb3J0cy5tYXggPSBtYXg7CitleHBvcnRzLm1lYW4gPSBtZWFuOwor
ZXhwb3J0cy5tZWRpYW4gPSBtZWRpYW47CitleHBvcnRzLm1lcmdlID0gbWVyZ2U7CitleHBvcnRz
Lm1pbiA9IG1pbjsKK2V4cG9ydHMubW91c2UgPSBtb3VzZTsKK2V4cG9ydHMubmFtZXNwYWNlID0g
bmFtZXNwYWNlOworZXhwb3J0cy5uYW1lc3BhY2VzID0gbmFtZXNwYWNlczsKK2V4cG9ydHMubmVz
dCA9IG5lc3Q7CitleHBvcnRzLm5vdyA9IG5vdzsKK2V4cG9ydHMucGFjayA9IGluZGV4JDI7Citl
eHBvcnRzLnBhY2tFbmNsb3NlID0gZW5jbG9zZTsKK2V4cG9ydHMucGFja1NpYmxpbmdzID0gc2li
bGluZ3M7CitleHBvcnRzLnBhaXJzID0gcGFpcnM7CitleHBvcnRzLnBhcnRpdGlvbiA9IHBhcnRp
dGlvbjsKK2V4cG9ydHMucGF0aCA9IHBhdGg7CitleHBvcnRzLnBlcm11dGUgPSBwZXJtdXRlOwor
ZXhwb3J0cy5waWUgPSBwaWU7CitleHBvcnRzLnBpZWNld2lzZSA9IHBpZWNld2lzZTsKK2V4cG9y
dHMucG9pbnRSYWRpYWwgPSBwb2ludFJhZGlhbDsKK2V4cG9ydHMucG9seWdvbkFyZWEgPSBhcmVh
JDI7CitleHBvcnRzLnBvbHlnb25DZW50cm9pZCA9IGNlbnRyb2lkJDE7CitleHBvcnRzLnBvbHln
b25Db250YWlucyA9IGNvbnRhaW5zJDI7CitleHBvcnRzLnBvbHlnb25IdWxsID0gaHVsbDsKK2V4
cG9ydHMucG9seWdvbkxlbmd0aCA9IGxlbmd0aCQyOworZXhwb3J0cy5wcmVjaXNpb25GaXhlZCA9
IHByZWNpc2lvbkZpeGVkOworZXhwb3J0cy5wcmVjaXNpb25QcmVmaXggPSBwcmVjaXNpb25QcmVm
aXg7CitleHBvcnRzLnByZWNpc2lvblJvdW5kID0gcHJlY2lzaW9uUm91bmQ7CitleHBvcnRzLnF1
YWR0cmVlID0gcXVhZHRyZWU7CitleHBvcnRzLnF1YW50aWxlID0gdGhyZXNob2xkOworZXhwb3J0
cy5xdWFudGl6ZSA9IHF1YW50aXplOworZXhwb3J0cy5yYWRpYWxBcmVhID0gYXJlYVJhZGlhbDsK
K2V4cG9ydHMucmFkaWFsTGluZSA9IGxpbmVSYWRpYWwkMTsKK2V4cG9ydHMucmFuZG9tQmF0ZXMg
PSBiYXRlczsKK2V4cG9ydHMucmFuZG9tRXhwb25lbnRpYWwgPSBleHBvbmVudGlhbCQxOworZXhw
b3J0cy5yYW5kb21JcndpbkhhbGwgPSBpcndpbkhhbGw7CitleHBvcnRzLnJhbmRvbUxvZ05vcm1h
bCA9IGxvZ05vcm1hbDsKK2V4cG9ydHMucmFuZG9tTm9ybWFsID0gbm9ybWFsOworZXhwb3J0cy5y
YW5kb21Vbmlmb3JtID0gdW5pZm9ybTsKK2V4cG9ydHMucmFuZ2UgPSBzZXF1ZW5jZTsKK2V4cG9y
dHMucmdiID0gcmdiOworZXhwb3J0cy5yaWJib24gPSByaWJib247CitleHBvcnRzLnNjYWxlQmFu
ZCA9IGJhbmQ7CitleHBvcnRzLnNjYWxlRGl2ZXJnaW5nID0gZGl2ZXJnaW5nOworZXhwb3J0cy5z
Y2FsZURpdmVyZ2luZ0xvZyA9IGRpdmVyZ2luZ0xvZzsKK2V4cG9ydHMuc2NhbGVEaXZlcmdpbmdQ
b3cgPSBkaXZlcmdpbmdQb3c7CitleHBvcnRzLnNjYWxlRGl2ZXJnaW5nU3FydCA9IGRpdmVyZ2lu
Z1NxcnQ7CitleHBvcnRzLnNjYWxlRGl2ZXJnaW5nU3ltbG9nID0gZGl2ZXJnaW5nU3ltbG9nOwor
ZXhwb3J0cy5zY2FsZUlkZW50aXR5ID0gaWRlbnRpdHkkNzsKK2V4cG9ydHMuc2NhbGVJbXBsaWNp
dCA9IGltcGxpY2l0OworZXhwb3J0cy5zY2FsZUxpbmVhciA9IGxpbmVhciQyOworZXhwb3J0cy5z
Y2FsZUxvZyA9IGxvZyQxOworZXhwb3J0cy5zY2FsZU9yZGluYWwgPSBvcmRpbmFsOworZXhwb3J0
cy5zY2FsZVBvaW50ID0gcG9pbnQkMTsKK2V4cG9ydHMuc2NhbGVQb3cgPSBwb3ckMTsKK2V4cG9y
dHMuc2NhbGVRdWFudGlsZSA9IHF1YW50aWxlOworZXhwb3J0cy5zY2FsZVF1YW50aXplID0gcXVh
bnRpemUkMTsKK2V4cG9ydHMuc2NhbGVTZXF1ZW50aWFsID0gc2VxdWVudGlhbDsKK2V4cG9ydHMu
c2NhbGVTZXF1ZW50aWFsTG9nID0gc2VxdWVudGlhbExvZzsKK2V4cG9ydHMuc2NhbGVTZXF1ZW50
aWFsUG93ID0gc2VxdWVudGlhbFBvdzsKK2V4cG9ydHMuc2NhbGVTZXF1ZW50aWFsUXVhbnRpbGUg
PSBzZXF1ZW50aWFsUXVhbnRpbGU7CitleHBvcnRzLnNjYWxlU2VxdWVudGlhbFNxcnQgPSBzZXF1
ZW50aWFsU3FydDsKK2V4cG9ydHMuc2NhbGVTZXF1ZW50aWFsU3ltbG9nID0gc2VxdWVudGlhbFN5
bWxvZzsKK2V4cG9ydHMuc2NhbGVTcXJ0ID0gc3FydCQxOworZXhwb3J0cy5zY2FsZVN5bWxvZyA9
IHN5bWxvZzsKK2V4cG9ydHMuc2NhbGVUaHJlc2hvbGQgPSB0aHJlc2hvbGQkMTsKK2V4cG9ydHMu
c2NhbGVUaW1lID0gdGltZTsKK2V4cG9ydHMuc2NhbGVVdGMgPSB1dGNUaW1lOworZXhwb3J0cy5z
Y2FuID0gc2NhbjsKK2V4cG9ydHMuc2NoZW1lQWNjZW50ID0gQWNjZW50OworZXhwb3J0cy5zY2hl
bWVCbHVlcyA9IHNjaGVtZSRsOworZXhwb3J0cy5zY2hlbWVCckJHID0gc2NoZW1lOworZXhwb3J0
cy5zY2hlbWVCdUduID0gc2NoZW1lJDk7CitleHBvcnRzLnNjaGVtZUJ1UHUgPSBzY2hlbWUkYTsK
K2V4cG9ydHMuc2NoZW1lQ2F0ZWdvcnkxMCA9IGNhdGVnb3J5MTA7CitleHBvcnRzLnNjaGVtZURh
cmsyID0gRGFyazI7CitleHBvcnRzLnNjaGVtZUduQnUgPSBzY2hlbWUkYjsKK2V4cG9ydHMuc2No
ZW1lR3JlZW5zID0gc2NoZW1lJG07CitleHBvcnRzLnNjaGVtZUdyZXlzID0gc2NoZW1lJG47Citl
eHBvcnRzLnNjaGVtZU9yUmQgPSBzY2hlbWUkYzsKK2V4cG9ydHMuc2NoZW1lT3JhbmdlcyA9IHNj
aGVtZSRxOworZXhwb3J0cy5zY2hlbWVQUkduID0gc2NoZW1lJDE7CitleHBvcnRzLnNjaGVtZVBh
aXJlZCA9IFBhaXJlZDsKK2V4cG9ydHMuc2NoZW1lUGFzdGVsMSA9IFBhc3RlbDE7CitleHBvcnRz
LnNjaGVtZVBhc3RlbDIgPSBQYXN0ZWwyOworZXhwb3J0cy5zY2hlbWVQaVlHID0gc2NoZW1lJDI7
CitleHBvcnRzLnNjaGVtZVB1QnUgPSBzY2hlbWUkZTsKK2V4cG9ydHMuc2NoZW1lUHVCdUduID0g
c2NoZW1lJGQ7CitleHBvcnRzLnNjaGVtZVB1T3IgPSBzY2hlbWUkMzsKK2V4cG9ydHMuc2NoZW1l
UHVSZCA9IHNjaGVtZSRmOworZXhwb3J0cy5zY2hlbWVQdXJwbGVzID0gc2NoZW1lJG87CitleHBv
cnRzLnNjaGVtZVJkQnUgPSBzY2hlbWUkNDsKK2V4cG9ydHMuc2NoZW1lUmRHeSA9IHNjaGVtZSQ1
OworZXhwb3J0cy5zY2hlbWVSZFB1ID0gc2NoZW1lJGc7CitleHBvcnRzLnNjaGVtZVJkWWxCdSA9
IHNjaGVtZSQ2OworZXhwb3J0cy5zY2hlbWVSZFlsR24gPSBzY2hlbWUkNzsKK2V4cG9ydHMuc2No
ZW1lUmVkcyA9IHNjaGVtZSRwOworZXhwb3J0cy5zY2hlbWVTZXQxID0gU2V0MTsKK2V4cG9ydHMu
c2NoZW1lU2V0MiA9IFNldDI7CitleHBvcnRzLnNjaGVtZVNldDMgPSBTZXQzOworZXhwb3J0cy5z
Y2hlbWVTcGVjdHJhbCA9IHNjaGVtZSQ4OworZXhwb3J0cy5zY2hlbWVUYWJsZWF1MTAgPSBUYWJs
ZWF1MTA7CitleHBvcnRzLnNjaGVtZVlsR24gPSBzY2hlbWUkaTsKK2V4cG9ydHMuc2NoZW1lWWxH
bkJ1ID0gc2NoZW1lJGg7CitleHBvcnRzLnNjaGVtZVlsT3JCciA9IHNjaGVtZSRqOworZXhwb3J0
cy5zY2hlbWVZbE9yUmQgPSBzY2hlbWUkazsKK2V4cG9ydHMuc2VsZWN0ID0gc2VsZWN0OworZXhw
b3J0cy5zZWxlY3RBbGwgPSBzZWxlY3RBbGw7CitleHBvcnRzLnNlbGVjdGlvbiA9IHNlbGVjdGlv
bjsKK2V4cG9ydHMuc2VsZWN0b3IgPSBzZWxlY3RvcjsKK2V4cG9ydHMuc2VsZWN0b3JBbGwgPSBz
ZWxlY3RvckFsbDsKK2V4cG9ydHMuc2V0ID0gc2V0JDI7CitleHBvcnRzLnNodWZmbGUgPSBzaHVm
ZmxlOworZXhwb3J0cy5zdGFjayA9IHN0YWNrOworZXhwb3J0cy5zdGFja09mZnNldERpdmVyZ2lu
ZyA9IGRpdmVyZ2luZyQxOworZXhwb3J0cy5zdGFja09mZnNldEV4cGFuZCA9IGV4cGFuZDsKK2V4
cG9ydHMuc3RhY2tPZmZzZXROb25lID0gbm9uZSQxOworZXhwb3J0cy5zdGFja09mZnNldFNpbGhv
dWV0dGUgPSBzaWxob3VldHRlOworZXhwb3J0cy5zdGFja09mZnNldFdpZ2dsZSA9IHdpZ2dsZTsK
K2V4cG9ydHMuc3RhY2tPcmRlckFwcGVhcmFuY2UgPSBhcHBlYXJhbmNlOworZXhwb3J0cy5zdGFj
a09yZGVyQXNjZW5kaW5nID0gYXNjZW5kaW5nJDM7CitleHBvcnRzLnN0YWNrT3JkZXJEZXNjZW5k
aW5nID0gZGVzY2VuZGluZyQyOworZXhwb3J0cy5zdGFja09yZGVySW5zaWRlT3V0ID0gaW5zaWRl
T3V0OworZXhwb3J0cy5zdGFja09yZGVyTm9uZSA9IG5vbmUkMjsKK2V4cG9ydHMuc3RhY2tPcmRl
clJldmVyc2UgPSByZXZlcnNlOworZXhwb3J0cy5zdHJhdGlmeSA9IHN0cmF0aWZ5OworZXhwb3J0
cy5zdHlsZSA9IHN0eWxlVmFsdWU7CitleHBvcnRzLnN1bSA9IHN1bTsKK2V4cG9ydHMuc3ZnID0g
c3ZnOworZXhwb3J0cy5zeW1ib2wgPSBzeW1ib2w7CitleHBvcnRzLnN5bWJvbENpcmNsZSA9IGNp
cmNsZSQyOworZXhwb3J0cy5zeW1ib2xDcm9zcyA9IGNyb3NzJDI7CitleHBvcnRzLnN5bWJvbERp
YW1vbmQgPSBkaWFtb25kOworZXhwb3J0cy5zeW1ib2xTcXVhcmUgPSBzcXVhcmU7CitleHBvcnRz
LnN5bWJvbFN0YXIgPSBzdGFyOworZXhwb3J0cy5zeW1ib2xUcmlhbmdsZSA9IHRyaWFuZ2xlOwor
ZXhwb3J0cy5zeW1ib2xXeWUgPSB3eWU7CitleHBvcnRzLnN5bWJvbHMgPSBzeW1ib2xzOworZXhw
b3J0cy50ZXh0ID0gdGV4dDsKK2V4cG9ydHMudGhyZXNob2xkRnJlZWRtYW5EaWFjb25pcyA9IGZy
ZWVkbWFuRGlhY29uaXM7CitleHBvcnRzLnRocmVzaG9sZFNjb3R0ID0gc2NvdHQ7CitleHBvcnRz
LnRocmVzaG9sZFN0dXJnZXMgPSB0aHJlc2hvbGRTdHVyZ2VzOworZXhwb3J0cy50aWNrRm9ybWF0
ID0gdGlja0Zvcm1hdDsKK2V4cG9ydHMudGlja0luY3JlbWVudCA9IHRpY2tJbmNyZW1lbnQ7Citl
eHBvcnRzLnRpY2tTdGVwID0gdGlja1N0ZXA7CitleHBvcnRzLnRpY2tzID0gdGlja3M7CitleHBv
cnRzLnRpbWVEYXkgPSBkYXk7CitleHBvcnRzLnRpbWVEYXlzID0gZGF5czsKK2V4cG9ydHMudGlt
ZUZvcm1hdERlZmF1bHRMb2NhbGUgPSBkZWZhdWx0TG9jYWxlJDE7CitleHBvcnRzLnRpbWVGb3Jt
YXRMb2NhbGUgPSBmb3JtYXRMb2NhbGUkMTsKK2V4cG9ydHMudGltZUZyaWRheSA9IGZyaWRheTsK
K2V4cG9ydHMudGltZUZyaWRheXMgPSBmcmlkYXlzOworZXhwb3J0cy50aW1lSG91ciA9IGhvdXI7
CitleHBvcnRzLnRpbWVIb3VycyA9IGhvdXJzOworZXhwb3J0cy50aW1lSW50ZXJ2YWwgPSBuZXdJ
bnRlcnZhbDsKK2V4cG9ydHMudGltZU1pbGxpc2Vjb25kID0gbWlsbGlzZWNvbmQ7CitleHBvcnRz
LnRpbWVNaWxsaXNlY29uZHMgPSBtaWxsaXNlY29uZHM7CitleHBvcnRzLnRpbWVNaW51dGUgPSBt
aW51dGU7CitleHBvcnRzLnRpbWVNaW51dGVzID0gbWludXRlczsKK2V4cG9ydHMudGltZU1vbmRh
eSA9IG1vbmRheTsKK2V4cG9ydHMudGltZU1vbmRheXMgPSBtb25kYXlzOworZXhwb3J0cy50aW1l
TW9udGggPSBtb250aDsKK2V4cG9ydHMudGltZU1vbnRocyA9IG1vbnRoczsKK2V4cG9ydHMudGlt
ZVNhdHVyZGF5ID0gc2F0dXJkYXk7CitleHBvcnRzLnRpbWVTYXR1cmRheXMgPSBzYXR1cmRheXM7
CitleHBvcnRzLnRpbWVTZWNvbmQgPSBzZWNvbmQ7CitleHBvcnRzLnRpbWVTZWNvbmRzID0gc2Vj
b25kczsKK2V4cG9ydHMudGltZVN1bmRheSA9IHN1bmRheTsKK2V4cG9ydHMudGltZVN1bmRheXMg
PSBzdW5kYXlzOworZXhwb3J0cy50aW1lVGh1cnNkYXkgPSB0aHVyc2RheTsKK2V4cG9ydHMudGlt
ZVRodXJzZGF5cyA9IHRodXJzZGF5czsKK2V4cG9ydHMudGltZVR1ZXNkYXkgPSB0dWVzZGF5Owor
ZXhwb3J0cy50aW1lVHVlc2RheXMgPSB0dWVzZGF5czsKK2V4cG9ydHMudGltZVdlZG5lc2RheSA9
IHdlZG5lc2RheTsKK2V4cG9ydHMudGltZVdlZG5lc2RheXMgPSB3ZWRuZXNkYXlzOworZXhwb3J0
cy50aW1lV2VlayA9IHN1bmRheTsKK2V4cG9ydHMudGltZVdlZWtzID0gc3VuZGF5czsKK2V4cG9y
dHMudGltZVllYXIgPSB5ZWFyOworZXhwb3J0cy50aW1lWWVhcnMgPSB5ZWFyczsKK2V4cG9ydHMu
dGltZW91dCA9IHRpbWVvdXQkMTsKK2V4cG9ydHMudGltZXIgPSB0aW1lcjsKK2V4cG9ydHMudGlt
ZXJGbHVzaCA9IHRpbWVyRmx1c2g7CitleHBvcnRzLnRvdWNoID0gdG91Y2g7CitleHBvcnRzLnRv
dWNoZXMgPSB0b3VjaGVzOworZXhwb3J0cy50cmFuc2l0aW9uID0gdHJhbnNpdGlvbjsKK2V4cG9y
dHMudHJhbnNwb3NlID0gdHJhbnNwb3NlOworZXhwb3J0cy50cmVlID0gdHJlZTsKK2V4cG9ydHMu
dHJlZW1hcCA9IGluZGV4JDM7CitleHBvcnRzLnRyZWVtYXBCaW5hcnkgPSBiaW5hcnk7CitleHBv
cnRzLnRyZWVtYXBEaWNlID0gdHJlZW1hcERpY2U7CitleHBvcnRzLnRyZWVtYXBSZXNxdWFyaWZ5
ID0gcmVzcXVhcmlmeTsKK2V4cG9ydHMudHJlZW1hcFNsaWNlID0gdHJlZW1hcFNsaWNlOworZXhw
b3J0cy50cmVlbWFwU2xpY2VEaWNlID0gc2xpY2VEaWNlOworZXhwb3J0cy50cmVlbWFwU3F1YXJp
ZnkgPSBzcXVhcmlmeTsKK2V4cG9ydHMudHN2ID0gdHN2JDE7CitleHBvcnRzLnRzdkZvcm1hdCA9
IHRzdkZvcm1hdDsKK2V4cG9ydHMudHN2Rm9ybWF0Qm9keSA9IHRzdkZvcm1hdEJvZHk7CitleHBv
cnRzLnRzdkZvcm1hdFJvdyA9IHRzdkZvcm1hdFJvdzsKK2V4cG9ydHMudHN2Rm9ybWF0Um93cyA9
IHRzdkZvcm1hdFJvd3M7CitleHBvcnRzLnRzdkZvcm1hdFZhbHVlID0gdHN2Rm9ybWF0VmFsdWU7
CitleHBvcnRzLnRzdlBhcnNlID0gdHN2UGFyc2U7CitleHBvcnRzLnRzdlBhcnNlUm93cyA9IHRz
dlBhcnNlUm93czsKK2V4cG9ydHMudXRjRGF5ID0gdXRjRGF5OworZXhwb3J0cy51dGNEYXlzID0g
dXRjRGF5czsKK2V4cG9ydHMudXRjRnJpZGF5ID0gdXRjRnJpZGF5OworZXhwb3J0cy51dGNGcmlk
YXlzID0gdXRjRnJpZGF5czsKK2V4cG9ydHMudXRjSG91ciA9IHV0Y0hvdXI7CitleHBvcnRzLnV0
Y0hvdXJzID0gdXRjSG91cnM7CitleHBvcnRzLnV0Y01pbGxpc2Vjb25kID0gbWlsbGlzZWNvbmQ7
CitleHBvcnRzLnV0Y01pbGxpc2Vjb25kcyA9IG1pbGxpc2Vjb25kczsKK2V4cG9ydHMudXRjTWlu
dXRlID0gdXRjTWludXRlOworZXhwb3J0cy51dGNNaW51dGVzID0gdXRjTWludXRlczsKK2V4cG9y
dHMudXRjTW9uZGF5ID0gdXRjTW9uZGF5OworZXhwb3J0cy51dGNNb25kYXlzID0gdXRjTW9uZGF5
czsKK2V4cG9ydHMudXRjTW9udGggPSB1dGNNb250aDsKK2V4cG9ydHMudXRjTW9udGhzID0gdXRj
TW9udGhzOworZXhwb3J0cy51dGNTYXR1cmRheSA9IHV0Y1NhdHVyZGF5OworZXhwb3J0cy51dGNT
YXR1cmRheXMgPSB1dGNTYXR1cmRheXM7CitleHBvcnRzLnV0Y1NlY29uZCA9IHNlY29uZDsKK2V4
cG9ydHMudXRjU2Vjb25kcyA9IHNlY29uZHM7CitleHBvcnRzLnV0Y1N1bmRheSA9IHV0Y1N1bmRh
eTsKK2V4cG9ydHMudXRjU3VuZGF5cyA9IHV0Y1N1bmRheXM7CitleHBvcnRzLnV0Y1RodXJzZGF5
ID0gdXRjVGh1cnNkYXk7CitleHBvcnRzLnV0Y1RodXJzZGF5cyA9IHV0Y1RodXJzZGF5czsKK2V4
cG9ydHMudXRjVHVlc2RheSA9IHV0Y1R1ZXNkYXk7CitleHBvcnRzLnV0Y1R1ZXNkYXlzID0gdXRj
VHVlc2RheXM7CitleHBvcnRzLnV0Y1dlZG5lc2RheSA9IHV0Y1dlZG5lc2RheTsKK2V4cG9ydHMu
dXRjV2VkbmVzZGF5cyA9IHV0Y1dlZG5lc2RheXM7CitleHBvcnRzLnV0Y1dlZWsgPSB1dGNTdW5k
YXk7CitleHBvcnRzLnV0Y1dlZWtzID0gdXRjU3VuZGF5czsKK2V4cG9ydHMudXRjWWVhciA9IHV0
Y1llYXI7CitleHBvcnRzLnV0Y1llYXJzID0gdXRjWWVhcnM7CitleHBvcnRzLnZhbHVlcyA9IHZh
bHVlczsKK2V4cG9ydHMudmFyaWFuY2UgPSB2YXJpYW5jZTsKK2V4cG9ydHMudmVyc2lvbiA9IHZl
cnNpb247CitleHBvcnRzLnZvcm9ub2kgPSB2b3Jvbm9pOworZXhwb3J0cy53aW5kb3cgPSBkZWZh
dWx0VmlldzsKK2V4cG9ydHMueG1sID0geG1sOworZXhwb3J0cy56aXAgPSB6aXA7CitleHBvcnRz
Lnpvb20gPSB6b29tOworZXhwb3J0cy56b29tSWRlbnRpdHkgPSBpZGVudGl0eSQ5OworZXhwb3J0
cy56b29tVHJhbnNmb3JtID0gdHJhbnNmb3JtJDE7CisKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShl
eHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7CisKK30pKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdlcy9HU3RyZWFtZXIu
c3ZnIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2VzL0dTdHJlYW1l
ci5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDI4ODljOWEwMDU1ZjYzMjk3NjY1MmIyZjQyMDcyYjgyMjllZWVl
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0ltYWdlcy9HU3RyZWFtZXIuc3ZnCkBAIC0wLDAgKzEsNzMgQEAKKzw/eG1sIHZlcnNpb249IjEu
MCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgorPCEtLSBHZW5lcmF0b3I6IEFk
b2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246
IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KKworPHN2ZworICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJs
Lm9yZy9kYy9lbGVtZW50cy8xLjEvIgorICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1v
bnMub3JnL25zIyIKKyAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1y
ZGYtc3ludGF4LW5zIyIKKyAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
CisgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCisgICB4bWxuczpzb2RpcG9k
aT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCisg
ICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtz
Y2FwZSIKKyAgIHZlcnNpb249IjEuMCIKKyAgIGlkPSJMYXllcl8xIgorICAgd2lkdGg9IjE1Ny4y
Nzk4MiIKKyAgIGhlaWdodD0iNzQuODY5Njc1IgorICAgdmlld0JveD0iMCAwIDgzLjE1NjUwOSAz
My43NzUzMjEiCisgICBvdmVyZmxvdz0idmlzaWJsZSIKKyAgIGVuYWJsZS1iYWNrZ3JvdW5kPSJu
ZXcgMCAwIDI4MC4yMiA2OS4zODciCisgICB4bWw6c3BhY2U9InByZXNlcnZlIgorICAgc29kaXBv
ZGk6dmVyc2lvbj0iMC4zMiIKKyAgIGlua3NjYXBlOnZlcnNpb249IjAuOTIuNCAoNWRhNjg5YzMx
MywgMjAxOS0wMS0xNCkiCisgICBzb2RpcG9kaTpkb2NuYW1lPSJHU3RyZWFtZXIuc3ZnIgorICAg
aW5rc2NhcGU6b3V0cHV0X2V4dGVuc2lvbj0ib3JnLmlua3NjYXBlLm91dHB1dC5zdmcuaW5rc2Nh
cGUiCisgICBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZSI+PG1ldGFkYXRhCisgICBpZD0ibWV0YWRh
dGEzMCI+PHJkZjpSREY+PGNjOldvcmsKKyAgICAgICByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5p
bWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUKKyAgICAgICAgIHJkZjpyZXNvdXJjZT0i
aHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PGRjOnRpdGxlPjwvZGM6
dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzCisgICBpZD0iZGVmczI4
Ij48aW5rc2NhcGU6cGVyc3BlY3RpdmUKKyAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVy
c3AzZCIKKyAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDM0LjY5MzUgOiAxIgorICAgICBpbmtzY2Fw
ZTp2cF95PSIwIDogOTk5Ljk5OTk5IDogMCIKKyAgICAgaW5rc2NhcGU6dnBfej0iMjgwLjIyIDog
MzQuNjkzNSA6IDEiCisgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIxNDAuMTEgOiAyMy4x
MjkgOiAxIgorICAgICBpZD0icGVyc3BlY3RpdmUzMiIgLz48L2RlZnM+PHNvZGlwb2RpOm5hbWVk
dmlldworICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iOTY4IgorICAgaW5rc2NhcGU6d2luZG93
LXdpZHRoPSIxMjgwIgorICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKKyAgIGlua3NjYXBlOnBh
Z2VvcGFjaXR5PSIwLjAiCisgICBndWlkZXRvbGVyYW5jZT0iMTAuMCIKKyAgIGdyaWR0b2xlcmFu
Y2U9IjEwLjAiCisgICBvYmplY3R0b2xlcmFuY2U9IjEwLjAiCisgICBib3JkZXJvcGFjaXR5PSIx
LjAiCisgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKKyAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKKyAg
IGlkPSJiYXNlIgorICAgc2hvd2dyaWQ9ImZhbHNlIgorICAgaW5rc2NhcGU6em9vbT0iMS4wNTAz
MzgiCisgICBpbmtzY2FwZTpjeD0iMTI0LjY2MTczIgorICAgaW5rc2NhcGU6Y3k9IjguODM2Njc4
NiIKKyAgIGlua3NjYXBlOndpbmRvdy14PSI1MjIiCisgICBpbmtzY2FwZTp3aW5kb3cteT0iNjAi
CisgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJMYXllcl8xIgorICAgZml0LW1hcmdpbi10b3A9
IjAiCisgICBmaXQtbWFyZ2luLWxlZnQ9IjAiCisgICBmaXQtbWFyZ2luLXJpZ2h0PSIwIgorICAg
Zml0LW1hcmdpbi1ib3R0b209IjAiCisgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIiAv
PgorPGcKKyAgIGlkPSJnMzczOSIKKyAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03LjkzMDc1Niwt
Ny45MzEwMjkzKSI+PHBhdGgKKyAgICAgaWQ9InBhdGgyMSIKKyAgICAgZD0ibSA1Mi40MDM3ODUs
Ni44NjgxNDM3IGMgLTUuMTAyODQzLDAgLTEyLjU2ODg5OSwtNC4xNTc1NTc2IC0xOS44NDUzMzMs
LTQuMTU3NTU3NiAtNy4yNzY0MzMsMCAtMTEuNjIyNjcxLDQuMTU3NTU3NiAtMTIuMzc5Mjc2LDQu
NzI0NTQwMiAtMC43NTU2NjMsMC41NjY5ODI1IC0xLjIyOTI0OSwyLjczOTYyOTcgMS4wMzk2MjUs
Mi4wNzgzMDcxIDIuMjY4ODc0LC0wLjY2MTMyMjQgNC4xNTc1NTgsLTAuNjYxMzIyNCA3Ljc0OTA3
NiwtMC42NjEzMjI0IDMuNTkxNTE5LDAgMTIuMTkwNTk3LDQuOTE0MTYzIDIwLjg4NDk1OCw0Ljkx
NDE2MyA4LjY5NDM2MiwwIDE1Ljk2OTg1MiwtNi43MDg1MDcyIDE3LjU3NjQ2LC05LjA3MTcyMDcg
MS42MDY2MDcsLTIuMzYzMjEzNCAwLjA5NDM0LC0zLjExODg3NTcgLTEuMTMzOTY2LC0yLjU1MDk0
OTggLTEuMjI5MjQ4LDAuNTY2OTgyNiAtOS4xNjYwNiw0LjcyNDU0MDIgLTEzLjg5MTU0NCw0Ljcy
NDU0MDIgeiIKKyAgICAgc3R5bGU9ImZpbGw6I2ZmMzEzMTtzdHJva2Utd2lkdGg6MC45NDMzOTg1
OSIKKyAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz48cGF0aAorICAgICBp
ZD0icGF0aDIzIgorICAgICBkPSJtIDc0LjU3MTc2NSwxOS44MTM0NTkgYyAtNS4zNjEzMzQsMCAt
MTMuMjA0NzUsLTQuMTU2NjE0IC0yMC44NDkxMDksLTQuMTU2NjE0IC03LjY0NDM1OSwwIC0xMi4y
MTEzNTEsNC4xNTY2MTQgLTEzLjAwNTY5Myw0LjcyNDU0IC0wLjc5NDM0MSwwLjU2NzkyNiAtMS4y
OTE1MTIsMi43Mzk2MyAxLjA5MTUxMiwyLjA3ODMwNyAyLjM4MzAyNSwtMC42NjEzMjIgNC4zNjc5
MzYsLTAuNjYxMzIyIDguMTQwNTg3LC0wLjY2MTMyMiAzLjc3MjY1MSwwIDEyLjgwNzU3OSw0Ljkx
NDE2MyAyMS45NDA2MjEsNC45MTQxNjMgOS4xMzMwNDIsMCAxNi43NzgzNDQsLTYuNzA4NTA3IDE4
LjQ2NjA4NCwtOS4wNzA3NzcgMS42ODc3NCwtMi4zNjMyMTQgMC4wOTkwNiwtMy4xMTk4MTkgLTEu
MTkxNTEyLC0yLjU1MTg5MyAtMS4yOTA1NjksMC41Njc5MjUgLTkuNjI4MzI2LDQuNzIzNTk2IC0x
NC41OTI0OSw0LjcyMzU5NiB6IgorICAgICBzdHlsZT0iZmlsbDojMzE5ODMxO3N0cm9rZS13aWR0
aDowLjk0MzM5ODU5IgorICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPjxw
YXRoCisgICAgIGlkPSJwYXRoMjUiCisgICAgIGQ9Im0gNDMuNzE5ODAxLDM0LjA5ODQwMSBjIC01
LjU1OTQ0OCwwIC0xMy42OTM0MzEsLTQuNDkxNTIxIC0yMS42MjA4MDksLTQuNDkxNTIxIC03Ljky
NzM3OSwwIC0xMi42NjQxODI5LDQuNDkxNTIxIC0xMy40ODc3Njk5LDUuMTAzNzg3IC0wLjgyMzU4
NywwLjYxMjI2NSAtMS4zMzg2ODI2LDIuOTU5NDQxIDEuMTMyMDc4MywyLjI0NDM0NSAyLjQ3MTcw
NDYsLTAuNzE0MTUzIDQuNTMwMTk5NiwtMC43MTQxNTMgOC40NDI0NzM2LC0wLjcxNDE1MyAzLjkx
MjI3NCwwIDEzLjI4MjEwOSw1LjMwNzU2MSAyMi43NTQ3NzUsNS4zMDc1NjEgOS40NzE3MjIsMCAx
Ny4zOTkxLC03LjI0NjI0NSAxOS4xNTAwNDgsLTkuNzk4MTM4IDEuNzUwOTQ4LC0yLjU1MTg5MyAw
LjEwMjgzLC0zLjM2NzkzMyAtMS4yMzU4NTIsLTIuNzU1NjY4IC0xLjMzODY4MywwLjYxMjI2NiAt
OS45ODY4MTgsNS4xMDM3ODcgLTE1LjEzNDk0NCw1LjEwMzc4NyB6IgorICAgICBzdHlsZT0iZmls
bDojMzIzMmNjO3N0cm9rZS13aWR0aDowLjk0MzM5ODU5IgorICAgICBpbmtzY2FwZTpjb25uZWN0
b3ItY3VydmF0dXJlPSIwIiAvPjwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCmluZGV4IGM4MjZkNTFmOTE3N2VkZTRkOWI5NTZiOTdj
NTFkNDk4MDYwZWU3MGMuLjFiNjgyNTMwYWNhZTZkMWJmMDhiODYyYWIxYjQ1YWY2NjY4MmZiZmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRt
bAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKQEAg
LTEwOSw2ICsxMDksNyBAQAogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3Mv
Rm9udFJlc291cmNlQ29udGVudFZpZXcuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9IlZpZXdzL0Zvcm1hdHRlZFZhbHVlLmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSJWaWV3cy9HYXVnZUNoYXJ0LmNzcyI+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSJWaWV3cy9HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5jc3MiPgogICAgIDxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQ
YW5lbC5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvR29Ub0xp
bmVEaWFsb2cuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0dy
YWRpZW50RWRpdG9yLmNzcyI+CkBAIC0yODMsNiArMjg0LDggQEAKICAgICA8c2NyaXB0IHNyYz0i
RXh0ZXJuYWwvdGhyZWUuanMvdGhyZWUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJF
eHRlcm5hbC90aHJlZS5qcy9PcmJpdENvbnRyb2xzLmpzIj48L3NjcmlwdD4KIAorICAgIDxzY3Jp
cHQgc3JjPSJFeHRlcm5hbC9kMy5qcy9kMy5qcyI+PC9zY3JpcHQ+CisKICAgICA8c2NyaXB0IHNy
Yz0iQmFzZS9XZWJJbnNwZWN0b3IuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJCYXNl
L1BsYXRmb3JtLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQmFzZS9EZWJvdW5jZXIu
anMiPjwvc2NyaXB0PgpAQCAtMzM2LDYgKzMzOSw3IEBACiAgICAgPHNjcmlwdCBzcmM9IlByb3Rv
Y29sL0RPTVN0b3JhZ2VPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlBy
b3RvY29sL0RhdGFiYXNlT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQ
cm90b2NvbC9EZWJ1Z2dlck9ic2VydmVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
UHJvdG9jb2wvR1N0cmVhbWVyT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3Jj
PSJQcm90b2NvbC9IZWFwT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQ
cm90b2NvbC9JbnNwZWN0b3JPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9
IlByb3RvY29sL0xheWVyVHJlZU9ic2VydmVyLmpzIj48L3NjcmlwdD4KQEAgLTQ5Miw2ICs0OTYs
OCBAQAogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQXVkaXRUZXN0Q2FzZVJlc3VsdC5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9BdWRpdFRlc3RHcm91cFJlc3VsdC5qcyI+
PC9zY3JpcHQ+CiAKKyAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpz
Ij48L3NjcmlwdD4KKwogICAgIDxzY3JpcHQgc3JjPSJQcm94aWVzL0Zvcm1hdHRlcldvcmtlclBy
b3h5LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJveGllcy9IZWFwU25hcHNob3RE
aWZmUHJveHkuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm94aWVzL0hlYXBTbmFw
c2hvdEVkZ2VQcm94eS5qcyI+PC9zY3JpcHQ+CkBAIC01NjksNiArNTc1LDcgQEAKICAgICA8c2Ny
aXB0IHNyYz0iVmlld3MvQ2FudmFzVGFiQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJWaWV3cy9Db25zb2xlVGFiQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgc3JjPSJWaWV3cy9FbGVtZW50c1RhYkNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4K
KyAgICA8c2NyaXB0IHNyYz0iVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9MYXllcnNUYWJDb250ZW50Vmlldy5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1Jlc291cmNlVHJlZUVsZW1lbnQuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9TY3JpcHRUcmVlRWxlbWVudC5qcyI+PC9z
Y3JpcHQ+CkBAIC01ODQsNiArNTkxLDkgQEAKICAgICA8c2NyaXB0IHNyYz0iVmlld3MvRGV0YWls
c1NlY3Rpb25TaW1wbGVSb3cuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9E
ZXRhaWxzU2VjdGlvblRleHRSb3cuanMiPjwvc2NyaXB0PgogCisgICAgPHNjcmlwdCBzcmM9IlZp
ZXdzL0dTdHJlYW1lclNpZGViYXJQYW5lbC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
IlZpZXdzL0dTdHJlYW1lclZpZXcuanMiPjwvc2NyaXB0PgorCiAgICAgPHNjcmlwdCBzcmM9IlZp
ZXdzL1NldHRpbmdFZGl0b3IuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9T
ZXR0aW5nc0dyb3VwLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvU2V0dGlu
Z3NWaWV3LmpzIj48L3NjcmlwdD4KQEAgLTg4MCw2ICs4OTAsNyBAQAogICAgIDxzY3JpcHQgc3Jj
PSJDb250cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSJDb250cm9sbGVycy9EcmFnVG9BZGp1c3RDb250cm9sbGVyLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRm9ybWF0dGVyU291cmNlTWFwLmpzIj48L3Njcmlw
dD4KKyAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvR1N0cmVhbWVyTWFuYWdlci5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0hBUkJ1aWxkZXIuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9IZWFwTWFuYWdlci5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0luZGV4ZWREQk1hbmFnZXIuanMiPjwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlM2Q5Y2M2
MGE2YmRiMjI1YWJkMGM1YTQxNGJhZWNmY2VmNDZjNWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvR1N0cmVhbWVyUGlwZWxpbmUu
anMKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMu
TAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl
CisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwg
Qm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworV0kuR1N0cmVhbWVyUGlwZWxpbmUg
PSBjbGFzcyBHU3RyZWFtZXJQaXBlbGluZQoreworICAgIGNvbnN0cnVjdG9yKG5hbWUsIHBhcmVu
dEJpbk5hbWUsIGJpbk5hbWUsIGRvdERhdGEsIHN2Z0RvY3VtZW50KQorICAgIHsKKyAgICAgICAg
dGhpcy5fbmFtZSA9IG5hbWU7CisgICAgICAgIHRoaXMuX3BhcmVudEJpbk5hbWUgPSBwYXJlbnRC
aW5OYW1lOworICAgICAgICB0aGlzLl9iaW5OYW1lID0gYmluTmFtZTsKKyAgICAgICAgdGhpcy5f
ZG90RGF0YSA9IGRvdERhdGE7CisgICAgICAgIHRoaXMuX3N2Z0RvY3VtZW50ID0gc3ZnRG9jdW1l
bnQ7CisgICAgfQorCisgICAgLy8gUHVibGljCisKKyAgICBnZXQgbmFtZSgpIHsgcmV0dXJuIHRo
aXMuX25hbWU7IH0KKyAgICBnZXQgcGFyZW50QmluTmFtZSgpIHsgcmV0dXJuIHRoaXMuX3BhcmVu
dEJpbk5hbWU7IH0KKyAgICBnZXQgYmluTmFtZSgpIHsgcmV0dXJuIHRoaXMuX2Jpbk5hbWU7IH0K
KyAgICBnZXQgc3ZnRWxlbWVudCgpIHsgcmV0dXJuIHRoaXMuX3N2Z0RvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCJzdmciKVswXTsgfQorCisgICAgZ2V0IHNhdmVEYXRhKCkKKyAgICB7Cisg
ICAgICAgIGxldCBuYW1lID0gdGhpcy5fbmFtZTsKKyAgICAgICAgbGV0IGZpbGVuYW1lID0gV0ku
dW5sb2NhbGl6ZWRTdHJpbmcoYEdTdHJlYW1lci1waXBlbGluZS1kdW1wLSR7bmFtZX0uZG90YCk7
CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICB1cmw6IFdJLkZpbGVVdGlsaXRpZXMuaW5z
cGVjdG9yVVJMRm9yRmlsZW5hbWUoZmlsZW5hbWUpLAorICAgICAgICAgICAgY29udGVudDogdGhp
cy5fZG90RGF0YSwKKyAgICAgICAgfTsKKyAgICB9Cit9OworCitXSS5HU3RyZWFtZXJQaXBlbGlu
ZS5UeXBlSWRlbnRpZmllciA9ICJnc3RyZWFtZXItcGlwZWxpbmUiOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvR1N0cmVhbWVyT2JzZXJ2
ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9HU3Ry
ZWFtZXJPYnNlcnZlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNThkYmIxOTlmNzgyNWJlOWJhNGQ4MjQ4NDM3
MmJmNDgxMDZmNzM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvUHJvdG9jb2wvR1N0cmVhbWVyT2JzZXJ2ZXIuanMKQEAgLTAsMCArMSwyOCBA
QAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisg
KiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAt
MTMwMSAgVVNBCisgKi8KKworV0kuR1N0cmVhbWVyT2JzZXJ2ZXIgPSBjbGFzcyBHU3RyZWFtZXJP
YnNlcnZlciBleHRlbmRzIEluc3BlY3RvckJhY2tlbmQuRGlzcGF0Y2hlcgoreworICAgIC8vIEV2
ZW50cyBkZWZpbmVkIGJ5IHRoZSAiR1N0cmVhbWVyIiBkb21haW4uCisKKyAgICBhY3RpdmVQaXBl
bGluZXNDaGFuZ2VkKCkKKyAgICB7CisgICAgICAgIFdJLmdzdHJlYW1lck1hbmFnZXIuYWN0aXZl
UGlwZWxpbmVzQ2hhbmdlZCgpOworICAgIH0KKworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1RhcmdldC5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1RhcmdldC5qcwppbmRleCBjYTM4NWZl
MjhiMWJlZmJhODRjNDY5Yzg3NTg5MjFkN2ZmYjBhMzQxLi4wYTg5MWIwNWIwMTkyN2I4ZDM5M2Rj
OTA0ZDZkZmQ1MDNiMTMxNmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Qcm90b2NvbC9UYXJnZXQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvVGFyZ2V0LmpzCkBAIC0xMzYsNiArMTM2LDcgQEAgV0ku
VGFyZ2V0ID0gY2xhc3MgVGFyZ2V0IGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgZ2V0IERPTVN0b3Jh
Z2VBZ2VudCgpIHsgcmV0dXJuIHRoaXMuX2FnZW50cy5ET01TdG9yYWdlOyB9CiAgICAgZ2V0IERh
dGFiYXNlQWdlbnQoKSB7IHJldHVybiB0aGlzLl9hZ2VudHMuRGF0YWJhc2U7IH0KICAgICBnZXQg
RGVidWdnZXJBZ2VudCgpIHsgcmV0dXJuIHRoaXMuX2FnZW50cy5EZWJ1Z2dlcjsgfQorICAgIGdl
dCBHU3RyZWFtZXJBZ2VudCgpIHsgcmV0dXJuIHRoaXMuX2FnZW50cy5HU3RyZWFtZXI7IH0KICAg
ICBnZXQgSGVhcEFnZW50KCkgeyByZXR1cm4gdGhpcy5fYWdlbnRzLkhlYXA7IH0KICAgICBnZXQg
SW5kZXhlZERCQWdlbnQoKSB7IHJldHVybiB0aGlzLl9hZ2VudHMuSW5kZXhlZERCOyB9CiAgICAg
Z2V0IEluc3BlY3RvckFnZW50KCkgeyByZXR1cm4gdGhpcy5fYWdlbnRzLkluc3BlY3RvcjsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0
cmVhbWVyU2lkZWJhclBhbmVsLmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0dTdHJlYW1lclNpZGViYXJQYW5lbC5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U4NTRiZGUz
YzUzM2VkYTBiZjg2ZWViODc1Yjk1MzY2MDA0ODMyZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclNpZGViYXJQYW5l
bC5jc3MKQEAgLTAsMCArMSwxMDggQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxp
YSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5z
ZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0
d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKy5zaWRlYmFyID4gLnBhbmVs
Lm5hdmlnYXRpb24uZ3N0cmVhbWVyID4gLmNvbnRlbnQgeworICAgIHRvcDogdmFyKC0tbmF2aWdh
dGlvbi1iYXItaGVpZ2h0KTsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3Ry
ZWFtZXIgPiAubmF2aWdhdGlvbi1iYXIgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0
b3A6IDA7CisgICAgbGVmdDogMDsKKyAgICByaWdodDogMDsKK30KKworLnNpZGViYXIgPiAucGFu
ZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgPiAubmF2aWdhdGlvbi1iYXIgLmdzdHJlYW1lci1icmVh
a3BvaW50cyB7CisgICAgZmlsbDogbm9uZTsKKyAgICBzdHJva2U6IHZhcigtLWdseXBoLWNvbG9y
KTsKK30KKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyID4gLm5hdmlnYXRp
b24tYmFyIC5nc3RyZWFtZXItYnJlYWtwb2ludHMuYWN0aXZhdGVkIHsKKyAgICBmaWxsOiB2YXIo
LS1nbHlwaC1jb2xvci1hY3RpdmUpOworICAgIHN0cm9rZTogdmFyKC0tZ2x5cGgtY29sb3ItYWN0
aXZlKTsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgPiAubmF2
aWdhdGlvbi1iYXIgLmdzdHJlYW1lci1wYXVzZS1yZXN1bWUgeworICAgIGZpbGw6IG5vbmU7Cisg
ICAgc3Ryb2tlOiB2YXIoLS1nbHlwaC1jb2xvcik7Cit9Cisuc2lkZWJhciA+IC5wYW5lbC5uYXZp
Z2F0aW9uLmdzdHJlYW1lciA+IC5uYXZpZ2F0aW9uLWJhciAuZ3N0cmVhbWVyLXBhdXNlLXJlc3Vt
ZS5hY3RpdmF0ZWQgeworICAgIHN0cm9rZTogdmFyKC0tZ2x5cGgtY29sb3ItYWN0aXZlKTsKK30K
KworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLndhcm5pbmctYmFubmVy
IHsKKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CisgICAgZm9udC1zaXplOiAxMXB4OworCisgICAg
cGFkZGluZzogMTFweCA2cHg7CisgICAgbWFyZ2luLWJvdHRvbTogNnB4OworCisgICAgYm9yZGVy
LWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7CisgICAgYmFja2dyb3VuZC1j
b2xvcjogaHNsKDUwLCAxMDAlLCA5NCUpOworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0
aW9uLmdzdHJlYW1lciAudHJlZS1vdXRsaW5lLnNpbmdsZS10aHJlYWQgPiAuaXRlbS50aHJlYWQg
eworICAgIGRpc3BsYXk6IG5vbmU7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24u
Z3N0cmVhbWVyIC50cmVlLW91dGxpbmUuc2luZ2xlLXRocmVhZCB7CisgICAgLS10cmVlLW91dGxp
bmUtc2luZ2xlLXRocmVhZC1tYXJnaW4tc3RhcnQ6IC0xMHB4OworfQorCitib2R5W2Rpcj1sdHJd
IC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC50cmVlLW91dGxpbmUuc2lu
Z2xlLXRocmVhZCB7CisgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXRyZWUtb3V0bGluZS1zaW5nbGUt
dGhyZWFkLW1hcmdpbi1zdGFydCk7Cit9CisKK2JvZHlbZGlyPXJ0bF0gLnNpZGViYXIgPiAucGFu
ZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkIHsKKyAg
ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXRyZWUtb3V0bGluZS1zaW5nbGUtdGhyZWFkLW1hcmdpbi1z
dGFydCk7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC53YXJu
aW5nLWJhbm5lciA+IGEgeworICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOworICAgIGN1
cnNvcjogcG9pbnRlcjsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFt
ZXIgLmRldGFpbHMtc2VjdGlvbiB7CisgICAgZm9udC1zaXplOiAxMXB4OworfQorCisuc2lkZWJh
ciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAuZGV0YWlscy1zZWN0aW9uLnBhdXNlZC1y
ZWFzb24uY29sbGFwc2VkID4gLmhlYWRlciA+IC5vcHRpb25zIHsKKyAgICBkaXNwbGF5OiBibG9j
azsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLmRldGFpbHMt
c2VjdGlvbiA+IC5jb250ZW50IHsKKyAgICBkaXNwbGF5OiBibG9jazsKK30KKworLnNpZGViYXIg
PiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLmRldGFpbHMtc2VjdGlvbi5jb2xsYXBzZWQg
PiAuY29udGVudCB7CisgICAgZGlzcGxheTogbm9uZTsKK30KKworLnNpZGViYXIgPiAucGFuZWwu
bmF2aWdhdGlvbi5nc3RyZWFtZXIgLmRldGFpbHMtc2VjdGlvbiA+IC5jb250ZW50ID4gLmdyb3Vw
IHsKKyAgICBkaXNwbGF5OiBibG9jazsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlv
bi5nc3RyZWFtZXIgLmRldGFpbHMtc2VjdGlvbi5zY3JpcHRzOm5vdCguY29sbGFwc2VkKSB7Cisg
ICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKK30KKworQG1lZGlhIChwcmVmZXJzLWRhcmstaW50ZXJm
YWNlKSB7CisgICAgLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLndhcm5p
bmctYmFubmVyIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWVsbG93LWhpZ2hs
aWdodC1iYWNrZ3JvdW5kLWNvbG9yKTsKKyAgICAgICAgY29sb3I6IHZhcigtLXllbGxvdy1oaWdo
bGlnaHQtdGV4dC1jb2xvcik7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBhbmVsLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBh
bmVsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjVkMGNmMmY2MGU0NmMyNjFhMzJmYWQzYWEyY2RmNjY3OGY0NDNl
YTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9HU3RyZWFtZXJTaWRlYmFyUGFuZWwuanMKQEAgLTAsMCArMSwxMDUgQEAKKy8qCisg
KiAgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAq
ICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYg
bm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVT
QQorICovCisKK1dJLkdTdHJlYW1lclNpZGViYXJQYW5lbCA9IGNsYXNzIEdTdHJlYW1lclNpZGVi
YXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwKK3sKKyAgICBjb25zdHJ1
Y3RvcigpCisgICAgeworICAgICAgICBzdXBlcigiZ3N0cmVhbWVyIiwgV0kuVUlTdHJpbmcoIkdT
dHJlYW1lciIpLCBmYWxzZSk7CisKKyAgICAgICAgdGhpcy5jb250ZW50VHJlZU91dGxpbmUuYWRk
RXZlbnRMaXN0ZW5lcihXSS5UcmVlT3V0bGluZS5FdmVudC5TZWxlY3Rpb25EaWRDaGFuZ2UsIHRo
aXMuX3RyZWVTZWxlY3Rpb25EaWRDaGFuZ2UsIHRoaXMpOworCisgICAgICAgIFdJLmdzdHJlYW1l
ck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5HU3RyZWFtZXJNYW5hZ2VyLkV2ZW50LkFjdGl2
ZVBpcGVsaW5lc0NoYW5nZWQsIHRoaXMuX3JlZnJlc2hQaXBlbGluZXNMaXN0LCB0aGlzKTsKKyAg
ICB9CisKKyAgICAvLyBQcm90ZWN0ZWQKKworICAgIGluaXRpYWxMYXlvdXQoKQorICAgIHsKKyAg
ICAgICAgc3VwZXIuaW5pdGlhbExheW91dCgpOworCisgICAgICAgIGxldCBwaXBlbGluZXNSb3cg
PSBuZXcgV0kuRGV0YWlsc1NlY3Rpb25Sb3c7CisgICAgICAgIHBpcGVsaW5lc1Jvdy5lbGVtZW50
LmFwcGVuZENoaWxkKHRoaXMuY29udGVudFRyZWVPdXRsaW5lLmVsZW1lbnQpOworCisgICAgICAg
IGxldCBwaXBlbGluZXNHcm91cCA9IG5ldyBXSS5EZXRhaWxzU2VjdGlvbkdyb3VwKFtwaXBlbGlu
ZXNSb3ddKTsKKyAgICAgICAgdGhpcy5fcGlwZWxpbmVzU2VjdGlvbiA9IG5ldyBXSS5EZXRhaWxz
U2VjdGlvbigicGlwZWxpbmVzIiwgV0kuVUlTdHJpbmcoIlBpcGVsaW5lcyIpLCBbcGlwZWxpbmVz
R3JvdXBdKTsKKyAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmFwcGVuZENoaWxkKHRo
aXMuX3BpcGVsaW5lc1NlY3Rpb24uZWxlbWVudCk7CisKKyAgICAgICAgdGhpcy5fcmVmcmVzaFBp
cGVsaW5lc0xpc3QoKTsKKyAgICB9CisKKyAgICBoYXNDdXN0b21GaWx0ZXJzKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIG1hdGNoVHJlZUVsZW1lbnRBZ2FpbnN0
Q3VzdG9tRmlsdGVycyh0cmVlRWxlbWVudCwgZmxhZ3MpCisgICAgeworICAgICAgICBsZXQgdGV4
dEZpbHRlclJlZ2V4ID0gc2ltcGxlR2xvYlN0cmluZ1RvUmVnRXhwKHRoaXMuZmlsdGVyQmFyLmZp
bHRlcnMudGV4dCwgImkiKTsKKyAgICAgICAgaWYgKCF0ZXh0RmlsdGVyUmVnZXgpCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICByZXR1cm4gdGV4dEZpbHRlclJlZ2V4LnRlc3Qo
dHJlZUVsZW1lbnQubmFtZSk7CisgICAgfQorCisgICAgLy8gUHJpdmF0ZQorCisgICAgX3JlZnJl
c2hQaXBlbGluZXNMaXN0KCkKKyAgICB7CisgICAgICAgIGlmICghV0kudGFyZ2V0c0F2YWlsYWJs
ZSgpKSB7CisgICAgICAgICAgICBXSS53aGVuVGFyZ2V0c0F2YWlsYWJsZSgpLnRoZW4oKCkgPT4g
eworICAgICAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hQaXBlbGluZXNMaXN0KCk7CisgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGxldCBh
Z2VudCA9IFdJLmdzdHJlYW1lck1hbmFnZXIuYWdlbnQ7CisgICAgICAgIGlmICghYWdlbnQpCisg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgYWdlbnQuZ2V0QWN0aXZlUGlwZWxpbmVzTmFt
ZXMoKS50aGVuKChwYXlsb2FkKSA9PiB7CisgICAgICAgICAgICB0aGlzLmNvbnRlbnRUcmVlT3V0
bGluZS5yZW1vdmVDaGlsZHJlbih0cnVlKTsKKyAgICAgICAgICAgIGZvciAobGV0IG5hbWUgb2Yg
cGF5bG9hZC5waXBlbGluZXMpIHsKKyAgICAgICAgICAgICAgICBsZXQgZWx0ID0gbmV3IFdJLlRy
ZWVFbGVtZW50KG5hbWUsIG51bGwpOworICAgICAgICAgICAgICAgIHRoaXMuY29udGVudFRyZWVP
dXRsaW5lLmFwcGVuZENoaWxkKGVsdCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0pLmNhdGNo
KChlcnJvcikgPT4geworICAgICAgICAgICAgY29uc29sZS5lcnJvcigiQ291bGQgbm90IGZldGNo
IHBpcGVsaW5lczogIiwgZXJyb3IpOworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBfdHJlZVNl
bGVjdGlvbkRpZENoYW5nZShldmVudCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5zZWxlY3Rl
ZCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBsZXQgdHJlZUVsZW1lbnQgPSB0aGlz
LmNvbnRlbnRUcmVlT3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50OworICAgICAgICBpZiAoIXRy
ZWVFbGVtZW50KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGxldCBwaXBlbGluZU5h
bWUgPSB0cmVlRWxlbWVudC50aXRsZTsKKyAgICAgICAgbGV0IHRhcmdldCA9IFdJLmFzc3VtaW5n
TWFpblRhcmdldCgpOworICAgICAgICB0YXJnZXQuR1N0cmVhbWVyQWdlbnQuZHVtcEFjdGl2ZVBp
cGVsaW5lKHBpcGVsaW5lTmFtZSwgIiIpLnRoZW4oKHBheWxvYWQpID0+IHsKKyAgICAgICAgICAg
IGxldCBkb2N1bWVudEZyYWdtZW50ID0gV0kuZ3N0cmVhbWVyTWFuYWdlci5yZW5kZXJTVkdFbGVt
ZW50KHBheWxvYWQucGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uKTsKKyAgICAgICAgICAgIGxl
dCByZXByZXNlbnRlZE9iamVjdCA9IG5ldyBXSS5HU3RyZWFtZXJQaXBlbGluZShwaXBlbGluZU5h
bWUsICIiLCAiIiwgcGF5bG9hZC5waXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24sIGRvY3VtZW50
RnJhZ21lbnQpOworICAgICAgICAgICAgV0kuc2hvd1JlcHJlc2VudGVkT2JqZWN0KHJlcHJlc2Vu
dGVkT2JqZWN0KTsKKyAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7CisgICAgICAgICAgICBj
b25zb2xlLmVycm9yKCJDb3VsZCBub3QgZHVtcCBwaXBlbGluZTogIiwgZXJyb3IpOworICAgICAg
ICB9KTsKKyAgICB9Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuY3NzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuY3Nz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYxNjM2OTNhMTU5ZTA2MGUwYjBlZTJiMTJhMTIwZGEwZmUxYTFmYWQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5jc3MKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqICBD
b3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3Qs
IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisg
Ki8KKworLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgeworICAgIHBhZGRpbmctYm90dG9tOiA2dmg7
CisgICAgb3ZlcmZsb3cteTogYXV0bzsKK30KKworLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgLm5h
dmlnYXRpb24tYmFyIHsKKyAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7CisgICAgdG9wOiAw
OworICAgIHotaW5kZXg6IDE7CisgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7Cit9CisKKy5j
b250ZW50LXZpZXcuZ3N0cmVhbWVyIC5uYXZpZ2F0aW9uLWJhci5pbnZpc2libGUgeworICAgIHZp
c2liaWxpdHk6IGhpZGRlbjsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzY4ZjVhN2U4MDMzNjJlYTA2ZjE4ODI0MzgxNjE1MmFiODA4MzFiYQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmpzCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiAg
Q29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdl
bmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90
LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQor
ICovCisKK1dJLkdTdHJlYW1lclRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgR1N0cmVhbWVyVGFiQ29u
dGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3Cit7CisgICAg
Y29uc3RydWN0b3IoaWRlbnRpZmllcikKKyAgICB7CisgICAgICAgIGxldCB0YWJCYXJJdGVtID0g
V0kuR2VuZXJhbFRhYkJhckl0ZW0uZnJvbVRhYkluZm8oV0kuR1N0cmVhbWVyVGFiQ29udGVudFZp
ZXcudGFiSW5mbygpKTsKKyAgICAgICAgbGV0IGRldGFpbHNTaWRlYmFyUGFuZWxDb25zdHJ1Y3Rv
cnMgPSBbXTsKKworICAgICAgICBzdXBlcihpZGVudGlmaWVyIHx8ICJnc3RyZWFtZXIiLCAiZ3N0
cmVhbWVyIiwgdGFiQmFySXRlbSwgV0kuR1N0cmVhbWVyU2lkZWJhclBhbmVsLAorICAgICAgICAg
ICAgICBkZXRhaWxzU2lkZWJhclBhbmVsQ29uc3RydWN0b3JzKTsKKworICAgICAgICB0aGlzLl9n
c3RyZWFtZXJWaWV3ID0gbnVsbDsKKyAgICB9CisKKyAgICBzdGF0aWMgdGFiSW5mbygpCisgICAg
eworICAgICAgICByZXR1cm4geworICAgICAgICAgICAgaW1hZ2U6ICJJbWFnZXMvR1N0cmVhbWVy
LnN2ZyIsCisgICAgICAgICAgICB0aXRsZTogV0kuVUlTdHJpbmcoIkdTdHJlYW1lciIpLAorICAg
ICAgICB9OworICAgIH0KKworICAgIHN0YXRpYyBpc1RhYkFsbG93ZWQoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIFdJLlBsYXRmb3JtLnBvcnQgPT09ICJndGsiIHx8IFdJLlBsYXRmb3JtLnBvcnQg
PT09ICJ3cGUiOworICAgIH0KKworICAgIC8vIFB1YmxpYworCisgICAgZ2V0IHR5cGUoKSB7IHJl
dHVybiBXSS5HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5UeXBlOyB9CisKKyAgICBnZXQgc3VwcG9y
dHNTcGxpdENvbnRlbnRCcm93c2VyKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKworICAgIGNhblNob3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNlbnRlZE9iamVjdCkKKyAg
ICB7CisgICAgICAgIHJldHVybiByZXByZXNlbnRlZE9iamVjdCBpbnN0YW5jZW9mIFdJLkdTdHJl
YW1lclBpcGVsaW5lOworICAgIH0KKworICAgIHNob3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNl
bnRlZE9iamVjdCwgY29va2llKQorICAgIHsKKyAgICAgICAgdGhpcy5fZ3N0cmVhbWVyVmlldy5k
aXNwbGF5UGlwZWxpbmUocmVwcmVzZW50ZWRPYmplY3QpOworICAgIH0KKworICAgIC8vIFByb3Rl
Y3RlZAorCisgICAgaW5pdGlhbExheW91dCgpCisgICAgeworICAgICAgICB0aGlzLl9nc3RyZWFt
ZXJWaWV3ID0gbmV3IFdJLkdTdHJlYW1lclZpZXcoImdlbmVyYWwiLCBXSS5VSVN0cmluZygiR2Vu
ZXJhbCIpKTsKKyAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHRoaXMuX2dzdHJlYW1lclZpZXcpOwor
ICAgIH0KK307CisKK1dJLkdTdHJlYW1lclRhYkNvbnRlbnRWaWV3LlR5cGUgPSAiZ3N0cmVhbWVy
IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0dTdHJlYW1lclZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9HU3RyZWFtZXJWaWV3LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyODc0MTEwMGY5YTE3MTAxNzgwMzY5
YzA3MDFhNjZkMDJmYzBlNDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJWaWV3LmpzCkBAIC0wLDAgKzEsMTYwIEBA
CisvKgorICogIENvcHlyaWdodCAoQykgMjAxOSBJZ2FsaWEgUy5MCisgKgorICogIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0x
MzAxICBVU0EKKyAqLworCitXSS5HU3RyZWFtZXJWaWV3ID0gY2xhc3MgR1N0cmVhbWVyVmlldyBl
eHRlbmRzIFdJLkNvbnRlbnRWaWV3Cit7CisgICAgY29uc3RydWN0b3IoaWRlbnRpZmllciwgZGlz
cGxheU5hbWUpCisgICAgeworICAgICAgICBzdXBlcigpOworCisgICAgICAgIHRoaXMuX2lkZW50
aWZpZXIgPSBpZGVudGlmaWVyOworICAgICAgICB0aGlzLl9kaXNwbGF5TmFtZSA9IGRpc3BsYXlO
YW1lOworICAgICAgICB0aGlzLl9zdmdFbGVtZW50ID0gbnVsbDsKKyAgICAgICAgdGhpcy5fc2Nv
cGVCYXIgPSBudWxsOworICAgICAgICB0aGlzLl9jdXJyZW50QmluTmFtZSA9ICIiOworICAgICAg
ICB0aGlzLl9waXBlbGluZSA9IG51bGw7CisgICAgICAgIHRoaXMuX2xhYmVsID0gbnVsbDsKKwor
ICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiZ3N0cmVhbWVyLXZpZXciLCBpZGVu
dGlmaWVyKTsKKworICAgICAgICB0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5l
dyBXSS5CdXR0b25OYXZpZ2F0aW9uSXRlbSgicGlwZWxpbmUtZXhwb3J0IiwgV0kuVUlTdHJpbmco
IkV4cG9ydCIpLCAiSW1hZ2VzL0V4cG9ydC5zdmciLCAxNSwgMTUpOworICAgICAgICB0aGlzLl9l
eHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS50b29sdGlwID0gV0kuVUlTdHJpbmcoIkV4cG9ydCBw
aXBlbGluZSBkb3QgcmVwcmVzZW50YXRpb24gKCVzKSIpLmZvcm1hdChXSS5zYXZlS2V5Ym9hcmRT
aG9ydGN1dC5kaXNwbGF5TmFtZSk7CisgICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRp
b25JdGVtLmJ1dHRvblN0eWxlID0gV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uU3R5bGUuSW1hZ2VB
bmRUZXh0OworICAgICAgICB0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS52aXNpYmls
aXR5UHJpb3JpdHkgPSBXSS5OYXZpZ2F0aW9uSXRlbS5WaXNpYmlsaXR5UHJpb3JpdHkuTG93Owor
ICAgICAgICB0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVy
KFdJLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX2hhbmRsZUV4cG9y
dEJ1dHRvbk5hdmlnYXRpb25JdGVtQ2xpY2tlZC5iaW5kKHRoaXMpKTsKKyAgICAgICAgdGhpcy5f
dXBkYXRlRXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW1TdGF0ZSgpOworCisgICAgICAgIHRoaXMu
X25hdmlnYXRpb25CYXIgPSBuZXcgV0kuTmF2aWdhdGlvbkJhcjsKKyAgICAgICAgdGhpcy5fbmF2
aWdhdGlvbkJhci5hZGROYXZpZ2F0aW9uSXRlbSh0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9u
SXRlbSk7CisgICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9uYXZpZ2F0aW9uQmFyKTsKKwor
ICAgICAgICB0aGlzLl9jb250YWluZXJFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CisgICAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuaWQgPSAicGlwZWxpbmUtY29u
dGFpbmVyIjsKKyAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCh0aGlzLl9jb250YWluZXJFbGVt
ZW50KTsKKyAgICB9CisKKyAgICAvLyBQdWJsaWMKKworICAgIGdldCBpZGVudGlmaWVyKCkgeyBy
ZXR1cm4gdGhpcy5faWRlbnRpZmllcjsgfQorICAgIGdldCBkaXNwbGF5TmFtZSgpIHsgcmV0dXJu
IHRoaXMuX2Rpc3BsYXlOYW1lOyB9CisKKyAgICBnZXQgc3VwcG9ydHNTYXZlKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiAhIXRoaXMuX3BpcGVsaW5lOworICAgIH0KKworICAgIGdldCBzYXZlRGF0
YSgpCisgICAgeworICAgICAgICByZXR1cm4ge2N1c3RvbVNhdmVIYW5kbGVyOiAoKSA9PiB7IHRo
aXMuX2V4cG9ydFJlc3VsdCgpOyB9fTsKKyAgICB9CisKKyAgICBkaXNwbGF5UGlwZWxpbmUoZ3N0
cmVhbWVyUGlwZWxpbmUpCisgICAgeworICAgICAgICBpZiAodGhpcy5fc3ZnRWxlbWVudCkKKyAg
ICAgICAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5fc3ZnRWxl
bWVudCk7CisKKyAgICAgICAgaWYgKHRoaXMuX3Njb3BlQmFyKSB7CisgICAgICAgICAgICB0aGlz
Ll9zY29wZUJhci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLlNjb3BlQmFyLkV2ZW50LlNlbGVjdGlv
bkNoYW5nZWQsIHRoaXMuX3Njb3BlQmFyU2VsZWN0aW9uRGlkQ2hhbmdlKTsKKyAgICAgICAgICAg
IHRoaXMuX25hdmlnYXRpb25CYXIucmVtb3ZlTmF2aWdhdGlvbkl0ZW0odGhpcy5fc2NvcGVCYXIp
OworICAgICAgICB9CisKKyAgICAgICAgaWYgKHRoaXMuX2xhYmVsKSB7CisgICAgICAgICAgICB0
aGlzLl9uYXZpZ2F0aW9uQmFyLnJlbW92ZU5hdmlnYXRpb25JdGVtKHRoaXMuX2xhYmVsKTsKKyAg
ICAgICAgfQorICAgICAgICB2YXIgbmFtZSA9IGdzdHJlYW1lclBpcGVsaW5lLmJpbk5hbWUgfHwg
Z3N0cmVhbWVyUGlwZWxpbmUubmFtZTsKKyAgICAgICAgdGhpcy5fbGFiZWwgPSBuZXcgV0kuVGV4
dE5hdmlnYXRpb25JdGVtKCJnc3QtcGlwZWxpbmUtYmluLW5hbWUiLCAiRGlzcGxheWluZyAiICsg
bmFtZSArICIuIEF2YWlsYWJsZSBzdWItYmluczogIik7CisgICAgICAgIHRoaXMuX25hdmlnYXRp
b25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhpcy5fbGFiZWwpOworCisgICAgICAgIHRoaXMuX3Bp
cGVsaW5lID0gZ3N0cmVhbWVyUGlwZWxpbmU7CisgICAgICAgIHRoaXMuX3VwZGF0ZUV4cG9ydEJ1
dHRvbk5hdmlnYXRpb25JdGVtU3RhdGUoKTsKKworICAgICAgICBsZXQgdGFyZ2V0ID0gV0kuYXNz
dW1pbmdNYWluVGFyZ2V0KCk7CisgICAgICAgIHRhcmdldC5HU3RyZWFtZXJBZ2VudC5nZXRBY3Rp
dmVQaXBlbGluZUJpbk5hbWVzKGdzdHJlYW1lclBpcGVsaW5lLm5hbWUsIGdzdHJlYW1lclBpcGVs
aW5lLmJpbk5hbWUpLnRoZW4oKHBheWxvYWQpID0+IHsKKyAgICAgICAgICAgIHZhciBzY29wZUJh
ckl0ZW1zID0gW107CisgICAgICAgICAgICB2YXIgZGVmYXVsdEl0ZW0gPSBuZXcgV0kuU2NvcGVC
YXJJdGVtKCI8cGxhY2Vob2xkZXI+IiwgIlNlbGVjdC4uLiIpOworICAgICAgICAgICAgZGVmYXVs
dEl0ZW0uX19wYXJlbnQgPSAiIjsKKyAgICAgICAgICAgIGRlZmF1bHRJdGVtLnNlbGVjdGVkID0g
dHJ1ZTsKKyAgICAgICAgICAgIHNjb3BlQmFySXRlbXMucHVzaChkZWZhdWx0SXRlbSk7CisKKyAg
ICAgICAgICAgIHZhciBzY29wZUJhckl0ZW0gPSBuZXcgV0kuU2NvcGVCYXJJdGVtKGdzdHJlYW1l
clBpcGVsaW5lLnBhcmVudEJpbk5hbWUsICJQYXJlbnQ6ICIgKyBnc3RyZWFtZXJQaXBlbGluZS5w
YXJlbnRCaW5OYW1lKTsKKyAgICAgICAgICAgIHNjb3BlQmFySXRlbS5zZWxlY3RlZCA9IGZhbHNl
OworICAgICAgICAgICAgc2NvcGVCYXJJdGVtLl9fcGFyZW50ID0gIiI7CisgICAgICAgICAgICBz
Y29wZUJhckl0ZW1zLnB1c2goc2NvcGVCYXJJdGVtKTsKKworICAgICAgICAgICAgZm9yICh2YXIg
YmluTmFtZSBvZiBwYXlsb2FkLmJpbk5hbWVzKSB7CisgICAgICAgICAgICAgICAgdmFyIHNjb3Bl
QmFySXRlbSA9IG5ldyBXSS5TY29wZUJhckl0ZW0oYmluTmFtZSwgYmluTmFtZSk7CisgICAgICAg
ICAgICAgICAgc2NvcGVCYXJJdGVtLnNlbGVjdGVkID0gZmFsc2U7CisgICAgICAgICAgICAgICAg
c2NvcGVCYXJJdGVtLl9fcGFyZW50ID0gZ3N0cmVhbWVyUGlwZWxpbmUuYmluTmFtZTsKKyAgICAg
ICAgICAgICAgICBzY29wZUJhckl0ZW1zLnB1c2goc2NvcGVCYXJJdGVtKTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgdGhpcy5fc2NvcGVCYXIgPSBuZXcgV0kuU2NvcGVCYXIoImdzdC1w
aXBlbGluZS1zY29wZS1iYXIiLCBzY29wZUJhckl0ZW1zLCBudWxsLCB0cnVlKTsKKyAgICAgICAg
ICAgIHRoaXMuX3Njb3BlQmFyLmFkZEV2ZW50TGlzdGVuZXIoV0kuU2NvcGVCYXIuRXZlbnQuU2Vs
ZWN0aW9uQ2hhbmdlZCwgdGhpcy5fc2NvcGVCYXJTZWxlY3Rpb25EaWRDaGFuZ2UsIHRoaXMpOwor
CisgICAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLmFkZE5hdmlnYXRpb25JdGVtKHRoaXMu
X3Njb3BlQmFyKTsKKyAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7CisgICAgICAgICAgICBj
b25zb2xlLmVycm9yKCJDb3VsZCBub3QgZHVtcCBsaXN0IHBpcGVsaW5lIGJpbnM6ICIsIGVycm9y
KTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgdGhpcy5fc3ZnRWxlbWVudCA9IHRoaXMuX3BpcGVs
aW5lLnN2Z0VsZW1lbnQ7CisgICAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hp
bGQodGhpcy5fc3ZnRWxlbWVudCk7CisKKyAgICAgICAgdmFyIHN2ZyA9IGQzLnNlbGVjdCgiI3Bp
cGVsaW5lLWNvbnRhaW5lciIpLAorICAgICAgICAgICAgZyA9IHN2Zy5zZWxlY3QoImciKTsKKwor
ICAgICAgICBzdmcuY2FsbChkMy56b29tKCkub24oInpvb20iLCBmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgIGcuYXR0cigidHJhbnNmb3JtIiwgZDMuZXZlbnQudHJhbnNmb3JtKQorICAgICAgICB9
KSk7CisgICAgfQorCisgICAgLy8gUHJpdmF0ZQorCisgICAgX3Njb3BlQmFyU2VsZWN0aW9uRGlk
Q2hhbmdlKGV2ZW50KQorICAgIHsKKyAgICAgICAgZm9yICh2YXIgaXQgb2YgZXZlbnQudGFyZ2V0
Lml0ZW1zKSB7CisgICAgICAgICAgICBpZiAoKGl0LmlkICE9PSAiPHBsYWNlaG9sZGVyPiIpICYm
IGl0LnNlbGVjdGVkKSB7CisgICAgICAgICAgICAgICAgdmFyIGJpbk5hbWUgPSBpdC5pZDsKKyAg
ICAgICAgICAgICAgICB2YXIgcGFyZW50QmluTmFtZSA9IGl0Ll9fcGFyZW50OworICAgICAgICAg
ICAgICAgIHZhciBwaXBlbGluZU5hbWUgPSB0aGlzLl9waXBlbGluZS5uYW1lOworICAgICAgICAg
ICAgICAgIGxldCBhZ2VudCA9IFdJLmdzdHJlYW1lck1hbmFnZXIuYWdlbnQ7CisgICAgICAgICAg
ICAgICAgYWdlbnQuZHVtcEFjdGl2ZVBpcGVsaW5lKHBpcGVsaW5lTmFtZSwgYmluTmFtZSkudGhl
bigocGF5bG9hZCkgPT4geworICAgICAgICAgICAgICAgICAgICBsZXQgZG9jdW1lbnRGcmFnbWVu
dCA9IFdJLmdzdHJlYW1lck1hbmFnZXIucmVuZGVyU1ZHRWxlbWVudChwYXlsb2FkLnBpcGVsaW5l
R3JhcGhSZXByZXNlbnRhdGlvbik7CisgICAgICAgICAgICAgICAgICAgIGxldCByZXByZXNlbnRl
ZE9iamVjdCA9IG5ldyBXSS5HU3RyZWFtZXJQaXBlbGluZShwaXBlbGluZU5hbWUsIHBhcmVudEJp
bk5hbWUsIGJpbk5hbWUsIHBheWxvYWQucGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uLCBkb2N1
bWVudEZyYWdtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgV0kuc2hvd1JlcHJlc2VudGVkT2Jq
ZWN0KHJlcHJlc2VudGVkT2JqZWN0KTsKKyAgICAgICAgICAgICAgICB9KS5jYXRjaCgoZXJyb3Ip
ID0+IHsKKyAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcigiQ291bGQgbm90IGR1bXAg
cGlwZWxpbmU6ICIsIGVycm9yKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgIH0KKworICAgIF9leHBvcnRSZXN1bHQoKQorICAgIHsKKyAgICAgICAg
V0kuZ3N0cmVhbWVyTWFuYWdlci5leHBvcnQodGhpcy5fcGlwZWxpbmUpOworICAgIH0KKworICAg
IF91cGRhdGVFeHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbVN0YXRlKCkKKyAgICB7CisgICAgICAg
IHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSAhIXRoaXMuX3BpcGVs
aW5lOworICAgIH0KKworICAgIF9oYW5kbGVFeHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbUNsaWNr
ZWQoZXZlbnQpCisgICAgeworICAgICAgICB0aGlzLl9leHBvcnRSZXN1bHQoKTsKKyAgICB9Cit9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9JbnNwZWN0b3JHUmVzb3VyY2VzLmNtYWtlIGIv
U291cmNlL1dlYktpdC9JbnNwZWN0b3JHUmVzb3VyY2VzLmNtYWtlCmluZGV4IDY3NGI1ZWYwYmU0
YmViMmEyZTgxYjFiY2U5ODQ3ODIyYmQ0YjQ4MjcuLmExMGU5MTAyYTY1ZTAzMDFlODM1NzFjMjVm
NDFjNjJjOGM4NzhlZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvSW5zcGVjdG9yR1Jlc291
cmNlcy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L0luc3BlY3RvckdSZXNvdXJjZXMuY21ha2UK
QEAgLTksNiArOSw3IEBAIG1hY3JvKFdFQktJVF9CVUlMRF9JTlNQRUNUT1JfR1JFU09VUkNFUyBf
ZGVyaXZlZF9zb3VyY2VzX2RpcikKICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9Db2RlTWlycm9yLyouY3NzCiAg
ICAgICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvRXh0ZXJuYWwvQ29kZU1pcnJvci8qLmpzCiAgICAgICAgICR7Q01BS0VfU09VUkNFX0RJ
Un0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvRXNwcmltYS8q
LmpzCisgICAgICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvRXh0ZXJuYWwvRDMuanMvKi5qcwogICAgICAgICAke0NNQUtFX1NPVVJDRV9E
SVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL3RocmVlLmpz
LyouanMKICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Nb2RlbHMvKi5qcwogICAgICAgICAke0NNQUtFX1NPVVJDRV9ESVJ9L1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sLyouanMKQEAgLTYwLDEz
ICs2MSwxOSBAQCBtYWNybyhXRUJLSVRfQlVJTERfSU5TUEVDVE9SX0dSRVNPVVJDRVMgX2Rlcml2
ZWRfc291cmNlc19kaXIpCiAgICAgICAgIGVuZGlmICgpCiAgICAgZW5kaWYgKCkKIAorICAgIGlm
IChVU0VfR1NUUkVBTUVSKQorICAgICAgICBzZXQoQ09NQklORV9HU1RSRUFNRVJfUkVTT1VSQ0VT
IFlFUykKKyAgICBlbHNlICgpCisgICAgICAgIHNldChDT01CSU5FX0dTVFJFQU1FUl9SRVNPVVJD
RVMgTk8pCisgICAgZW5kaWYgKCkKKwogICAgIGFkZF9jdXN0b21fY29tbWFuZCgKICAgICAgICAg
T1VUUFVUICR7Q01BS0VfQklOQVJZX0RJUn0vaW5zcGVjdG9yLXJlc291cmNlcy5zdGFtcAogICAg
ICAgICBERVBFTkRTICR7SW5zcGVjdG9yRmlsZXNEZXBlbmRlbmNpZXN9CiAgICAgICAgICAgICAg
ICAgJHtJbnNwZWN0b3JSZXNvdXJjZVNjcmlwdHN9CiAgICAgICAgICAgICAgICAgJHtERVJJVkVE
X1NPVVJDRVNfV0VCSU5TUEVDVE9SVUlfRElSfS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0luc3Bl
Y3RvckJhY2tlbmRDb21tYW5kcy5qcwogICAgICAgICBDT01NQU5EIGNwICR7REVSSVZFRF9TT1VS
Q0VTX1dFQklOU1BFQ1RPUlVJX0RJUn0vVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNwZWN0b3JC
YWNrZW5kQ29tbWFuZHMuanMgJHtGT1JXQVJESU5HX0hFQURFUlNfRElSfS9KYXZhU2NyaXB0Q29y
ZS9TY3JpcHRzCi0gICAgICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBlbnYgIkRFUklW
RURfU09VUkNFU19ESVI9JHtERVJJVkVEX1NPVVJDRVNfV0VCSU5TUEVDVE9SVUlfRElSfSIgIlNS
Q1JPT1Q9JHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkiICJKQVZBU0NS
SVBUQ09SRV9QUklWQVRFX0hFQURFUlNfRElSPSR7Rk9SV0FSRElOR19IRUFERVJTX0RJUn0vSmF2
YVNjcmlwdENvcmUvU2NyaXB0cyIgIlRBUkdFVF9CVUlMRF9ESVI9JHtfZGVyaXZlZF9zb3VyY2Vz
X2Rpcn0vSW5zcGVjdG9yUmVzb3VyY2VzIiAiVU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9Q
QVRIPVdlYkluc3BlY3RvclVJIiAiQ09NQklORV9JTlNQRUNUT1JfUkVTT1VSQ0VTPSR7Q09NQklO
RV9JTlNQRUNUT1JfUkVTT1VSQ0VTfSIgIkNPTUJJTkVfVEVTVF9SRVNPVVJDRVM9JHtDT01CSU5F
X1RFU1RfUkVTT1VSQ0VTfSIgUFlUSE9OPSR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7Q01BS0VfU09V
UkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFj
ZS1yZXNvdXJjZXMucGwKKyAgICAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIGVudiAi
REVSSVZFRF9TT1VSQ0VTX0RJUj0ke0RFUklWRURfU09VUkNFU19XRUJJTlNQRUNUT1JVSV9ESVJ9
IiAiU1JDUk9PVD0ke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSSIgIkpB
VkFTQ1JJUFRDT1JFX1BSSVZBVEVfSEVBREVSU19ESVI9JHtGT1JXQVJESU5HX0hFQURFUlNfRElS
fS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzIiAiVEFSR0VUX0JVSUxEX0RJUj0ke19kZXJpdmVkX3Nv
dXJjZXNfZGlyfS9JbnNwZWN0b3JSZXNvdXJjZXMiICJVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9M
REVSX1BBVEg9V2ViSW5zcGVjdG9yVUkiICJDT01CSU5FX0dTVFJFQU1FUl9SRVNPVVJDRVM9JHtD
T01CSU5FX0dTVFJFQU1FUl9SRVNPVVJDRVN9IiAiQ09NQklORV9JTlNQRUNUT1JfUkVTT1VSQ0VT
PSR7Q09NQklORV9JTlNQRUNUT1JfUkVTT1VSQ0VTfSIgIkNPTUJJTkVfVEVTVF9SRVNPVVJDRVM9
JHtDT01CSU5FX1RFU1RfUkVTT1VSQ0VTfSIgUFlUSE9OPSR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7
Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2Vy
LWludGVyZmFjZS1yZXNvdXJjZXMucGwKICAgICAgICAgQ09NTUFORCBta2RpciAtcCAke19kZXJp
dmVkX3NvdXJjZXNfZGlyfS9JbnNwZWN0b3JSZXNvdXJjZXMvV2ViSW5zcGVjdG9yVUkvTG9jYWxp
emF0aW9ucy9lbi5scHJvagogICAgICAgICBDT01NQU5EIGNwICR7Q01BS0VfU09VUkNFX0RJUn0v
U291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3Ry
aW5ncy5qcyAke19kZXJpdmVkX3NvdXJjZXNfZGlyfS9JbnNwZWN0b3JSZXNvdXJjZXMvV2ViSW5z
cGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCiAgICAg
ICAgIENPTU1BTkQgdG91Y2ggJHtDTUFLRV9CSU5BUllfRElSfS9pbnNwZWN0b3ItcmVzb3VyY2Vz
LnN0YW1wCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvRmluZEdyYXBoVml6LmNtYWtlIGIvU291
cmNlL2NtYWtlL0ZpbmRHcmFwaFZpei5jbWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MWYwNGVjM2RjM2MwNGQ0
MTZjYTM5M2FjY2VlZDFkOGQ3MjcxNjZkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL2NtYWtl
L0ZpbmRHcmFwaFZpei5jbWFrZQpAQCAtMCwwICsxLDQ4IEBACisjIC0gVHJ5IHRvIGZpbmQgR3Jh
cGhWaXoKKyMgT25jZSBkb25lLCB0aGlzIHdpbGwgZGVmaW5lCisjCisjICBHUkFQSFZJWl9GT1VO
RCAtIHN5c3RlbSBoYXMgR3JhcGhWaXouCisjICBHUkFQSFZJWl9JTkNMVURFX0RJUlMgLSB0aGUg
R3JhcGhWaXouIGluY2x1ZGUgZGlyZWN0b3JpZXMKKyMgIEdSQVBIVklaX0xJQlJBUklFUyAtIGxp
bmsgdGhlc2UgdG8gdXNlIEdyYXBoVml6LgorIworIyBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlh
IFMuTC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMKKyMgSVMnJyBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyMgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBJVFMKKyMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisjIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7CisjIE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLAorIyBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUgorIyBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisjIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorCitmaW5kX3BhY2thZ2UoUGtnQ29uZmlnKQorcGtnX2NoZWNrX21vZHVs
ZXMoR1JBUEhWSVogbGliZ3ZjIGxpYmNncmFwaCkKKworc2V0KFZFUlNJT05fT0sgVFJVRSkKK2lm
IChHUkFQSFZJWl9WRVJTSU9OKQorICAgIGlmIChHUkFQSFZJWl9GSU5EX1ZFUlNJT05fRVhBQ1Qp
CisgICAgICAgIGlmIChOT1QoIiR7R1JBUEhWSVpfRklORF9WRVJTSU9OfSIgVkVSU0lPTl9FUVVB
TCAiJHtHUkFQSFZJWl9WRVJTSU9OfSIpKQorICAgICAgICAgICAgc2V0KFZFUlNJT05fT0sgRkFM
U0UpCisgICAgICAgIGVuZGlmICgpCisgICAgZWxzZSAoKQorICAgICAgICBpZiAoIiR7R1JBUEhW
SVpfVkVSU0lPTn0iIFZFUlNJT05fTEVTUyAiJHtHUkFQSFZJWl9GSU5EX1ZFUlNJT059IikKKyAg
ICAgICAgICAgIHNldChWRVJTSU9OX09LIEZBTFNFKQorICAgICAgICBlbmRpZiAoKQorICAgIGVu
ZGlmICgpCitlbmRpZiAoKQorCitpbmNsdWRlKEZpbmRQYWNrYWdlSGFuZGxlU3RhbmRhcmRBcmdz
KQorRklORF9QQUNLQUdFX0hBTkRMRV9TVEFOREFSRF9BUkdTKEdSQVBIVklaIERFRkFVTFRfTVNH
IEdSQVBIVklaX0lOQ0xVREVfRElSUyBHUkFQSFZJWl9MSUJSQVJJRVMgVkVSU0lPTl9PSykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9HU3RyZWFtZXJDaGVja3MuY21ha2UgYi9Tb3VyY2UvY21h
a2UvR1N0cmVhbWVyQ2hlY2tzLmNtYWtlCmluZGV4IDE4YjEyZjgyYThkMjhjMzQyM2YzZTZmMzE0
NzM4ODk4YzFmNjQ3NmMuLjRhNjdmMzY1MDhkN2FjZTgwMGMzZTBjMTFlMzRlZWMyYjc1YzVkZDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9HU3RyZWFtZXJDaGVja3MuY21ha2UKKysrIGIvU291
cmNlL2NtYWtlL0dTdHJlYW1lckNoZWNrcy5jbWFrZQpAQCAtMTAsNiArMTAsMTQgQEAgaWYgKEVO
QUJMRV9WSURFTyBPUiBFTkFCTEVfV0VCX0FVRElPKQogICAgICAgICBTRVRfQU5EX0VYUE9TRV9U
T19CVUlMRChVU0VfV0VCQVVESU9fR1NUUkVBTUVSIFRSVUUpCiAgICAgZW5kaWYgKCkKIAorICAg
IGZpbmRfcGFja2FnZShHcmFwaFZpeiAyLjQzKQorICAgIGlmIChQQ19HUkFQSFZJWl9GT1VORCkK
KyAgICAgICAgU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX0dSQVBIVklaIFRSVUUpCisgICAg
ZWxzZSAoKQorICAgICAgICBtZXNzYWdlKFdBUk5JTkcgIkdyYXBodml6IGxpYnJhcnkgbm90IGZv
dW5kLiBHU3RyZWFtZXIgcGlwZWxpbmVzIHdvbid0IGJlIGRpc3BsYXllZCBpbiB0aGUgV2ViSW5z
cGVjdG9yIikKKyAgICAgICAgU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX0dSQVBIVklaIEZB
TFNFKQorICAgIGVuZGlmICgpCisKICAgICBmaW5kX3BhY2thZ2UoR1N0cmVhbWVyIDEuMTAuMCBS
RVFVSVJFRCBDT01QT05FTlRTICR7R1NUUkVBTUVSX0NPTVBPTkVOVFN9KQogCiAgICAgaWYgKEVO
QUJMRV9XRUJfQVVESU8pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385961</attachid>
            <date>2019-12-18 04:58:08 -0800</date>
            <delta_ts>2019-12-18 05:13:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204619-20191218125806.patch</filename>
            <type>text/plain</type>
            <size>625816</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNjc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
ZTA5NTY0ZjcwYmZmMDYyODFmODQzZDU0OWEwZGI3YzNhYzNkYmRlLi41YzQ1Y2IzYmZhMzBmNjky
ZDE3YmU0NTUyOTBlYzg5OTU5OWFkYzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBm
b3IgR1N0cmVhbWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb246
IEFkZCBHU3RyZWFtZXIgQVBJIGZvciBwaXBlbGluZSBpbnNwZWN0aW9uIGluIHRoZSBwYWdlIHBy
b3RvY29sLgorCiAyMDE5LTEyLTE3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+
CiAKICAgICAgICAgW0pTQ10gOEJpdCBKU1JvcGVTdHJpbmcgY2FuIGNvbnRhaW4gMTZCaXQgc3Ry
aW5nIGluIGl0cyByb3BlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I0OTk3NTlmN2U5MDI2MjBmYTE4NWM4ZDY1
ZTYwODAwNmI1YTI3ZS4uN2E5MWUzM2IwMTkzYmQwZTNiMTczNjIwYmJmODU1ODBhY2ZjZDZlZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE5LTExLTI2ICBQaGlsaXBwZSBOb3JtYW5k
ICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIFdlYiBJbnNwZWN0
b3I6IEFkZCBuZXcgdGFiIGZvciBHU3RyZWFtZXIgcGlwZWxpbmVzIGluc3BlY3Rpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDYxOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtlZXAgdHJhY2sgb2Yg
dGhlIEdTdHJlYW1lciBwaXBlbGluZXMsIHRoaXMgd2lsbCBhbGxvdyB0aGUKKyAgICAgICAgV2Vi
SW5zcGVjdG9yIHRvIGxpc3QgYW5kIGRpc3BsYXkgdGhlbSBpbiBhIGRlZGljYXRlZCB0YWIuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBkb2Vzbid0IGNvdmVyIHRoZSBwaXBlbGluZXMgY3JlYXRlZCBi
eSB0aGUgR1N0cmVhbWVyCisgICAgICAgIExpYldlYlJUQyBiYWNrZW5kLiBTdXBwb3J0IGZvciB0
aGF0IHdvdWxkIGJlIGFkZGVkIGxhdGVyLCBpZiB0aGUKKyAgICAgICAgY3VycmVudCBhcHByb2Fj
aCBpcyBkZWVtZWQgYWNjZXB0YWJsZS4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Db250ZXh0LmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rl
c3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWZhdWx0QXVkaW9EZXN0aW5h
dGlvbk5vZGU6OnVuaW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZWZhdWx0QXVkaW9E
ZXN0aW5hdGlvbk5vZGU6OmNyZWF0ZURlc3RpbmF0aW9uKToKKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Z3N0
cmVhbWVyUGlwZWxpbmVzQ2FjaGVVcGRhdGVkKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6cG9ydCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1lclBpcGVsaW5lQ2FjaGVVcGRh
dGVkSW1wbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFtZXJQ
aXBlbGluZUNhY2hlVXBkYXRlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50Ojpn
ZXRHU3RyZWFtZXJQaXBlbGluZXNOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQ
YWdlQWdlbnQ6OmdldEdTdHJlYW1lclBpcGVsaW5lQmluTmFtZXMpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpkdW1wR1N0cmVhbWVyUGlwZWxpbmUpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50Ojpnc3RyZWFtZXJQaXBlbGluZUNhY2hlVXBkYXRl
ZCk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvQXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyOjpBdWRp
b0Rlc3RpbmF0aW9uR1N0cmVhbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRGVzdGluYXRp
b25HU3RyZWFtZXI6On5BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJDbGllbnQ6OmdzdHJlYW1lclBpcGVsaW5lc0NhY2hlVXBkYXRlZCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpyZWdpc3RlckdTdHJlYW1lclBpcGVsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OnVu
cmVnaXN0ZXJHU3RyZWFtZXJQaXBlbGluZSk6CisgICAgICAgIChXZWJDb3JlOjpnc3RQaXBlbGlu
ZXNOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpkdW1wR1N0cmVhbWVyUGlwZWxpbmUpOgorICAg
ICAgICAoV2ViQ29yZTo6Z2V0QmluQ2hpbGRyZW4pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0UGlwZWxpbmUpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVHU1RQbGF5
QmluKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBp
cGVsaW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGVuZFBpcGVsaW5lOjpBcHBlbmRQaXBl
bGluZSk6CisgICAgICAgIChXZWJDb3JlOjpBcHBlbmRQaXBlbGluZTo6fkFwcGVuZFBpcGVsaW5l
KToKKwogMjAxOS0xMi0xOCAgQ2hyaXMgTG9yZCAgPGNsb3JkQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgTWlzc2luZyBoZWFkZXJzIGluIHdvcmtlciBmaWxlcyBjYXVzZSByYW5kb20gYnVpbGQgZmFp
bHVyZXMgd2hlbiBhZGRpbmcgbmV3IGZpbGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAw
YWQyMzY1NTY2ZTUzNTgxZGU0MmQ4ZjYzNmI1MzZkNDQwZjdlMzcwLi42OTliY2Q0YzI5ZTA5Yjhm
NTMxMTYwYzIyNWFmZDhiMGUxYzY5N2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4NSBAQAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBm
b3IgR1N0cmVhbWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3IgdGhlIFdQRSBhbmQgR1RLIHBvcnRzIGEgbmV3
IEluc3BlY3RvciB0YWIgaXMgbm93IGF2YWlsYWJsZS4gT24KKyAgICAgICAgdGhlIGxlZnQgaGFu
ZC1zaWRlIHRoZSBjdXJyZW50bHkgYWxpdmUgcGlwZWxpbmVzIGFyZSBsaXN0ZWQuIFdoZW4KKyAg
ICAgICAgYSBwaXBlbGluZSBpcyBzZWxlY3RlZCwgaXRzIGdyYXBoIHJlcHJlc2VudGF0aW9uIGlz
IGV4cG9ydGVkIHRvCisgICAgICAgIFNWRyBhbmQgZGlzcGxheWVkIG9uIHRoZSByaWdodCBoYW5k
LXNpZGUgb2YgdGhlIHRhYiB2aWV3LiBTdWIgYmlucworICAgICAgICBvZiB0aGUgcGlwZWxpbmVz
IGNhbiBiZSBzZWxlY3RlZCBhbmQgdGhlIGdyYXBoIHdpbGwgYmUgdXBkYXRlZAorICAgICAgICBh
Y2NvcmRpbmdseS4gVGhlIGZ1bGwgZ3JhcGggY2FuIGJlIGV4cG9ydGVkIHRvIEdyYXBoVml6IGZv
cm1hdCBhbmQKKyAgICAgICAgc2F2ZWQgdG8gYSBmaWxlLgorCisgICAgICAgIFRoZSB2aXouanMg
YW5kIHN2Zy1wYW4tem9vbSBKUyBsaWJyYXJpZXMgYXJlIG5vdyBidW5kbGVkIGFzCisgICAgICAg
IHRoaXJkLXBhcnR5IG1vZHVsZXMuIExhdGVyIG9uIHRoZSBkMywgZGFncmUtZDMgYW5kIGdyYXBo
bGliLWRvdAorICAgICAgICBsaWJyYXJpZXMgY291bGQgYmUgdXNlZC4gRm9yIHRoZSB0aW1lIGJl
aW5nIHRoZSBncmFwaGxpYi1kb3QKKyAgICAgICAgcGFyc2VyIGRvZXNuJ3QgaGFuZGxlIHRoZSBH
cmFwaHZpeiBtb2RlbHMgZXhwb3J0ZWQgYnkgR1N0cmVhbWVyLgorCisgICAgICAgICogTG9jYWxp
emF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFNjcmlwdHMv
Y29weS11c2VyLWludGVyZmFjZS1yZXNvdXJjZXMucGw6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9CYXNlL01haW4uanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL1BsYXRmb3JtLmpz
OgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR1N0cmVhbWVyTWFuYWdlci5q
czogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9FeHRlcm5hbC9zdmctcGFuLXpvb20u
anMvTElDRU5TRTogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9FeHRlcm5hbC9zdmct
cGFuLXpvb20uanMvc3ZnLXBhbi16b29tLm1pbi5qczogQWRkZWQuCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9FeHRlcm5hbC92aXouanMvTElDRU5TRTogQWRkZWQuCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9FeHRlcm5hbC92aXouanMvZnVsbC5yZW5kZXIuanM6IEFkZGVkLgorICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvdml6LmpzL2xpdGUucmVuZGVyLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL0V4dGVybmFsL3Zpei5qcy92aXouanM6IEFkZGVkLgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvSW1hZ2VzL0dTdHJlYW1lci5zdmc6IEFkZGVkLgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvTWFpbi5odG1sOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9k
ZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1Byb3RvY29sL1BhZ2VPYnNlcnZlci5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L0dTdHJlYW1lclNpZGViYXJQYW5lbC5jc3M6IEFkZGVkLgorICAgICAgICAoLnNpZGViYXIgPiAu
cGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciA+IC5jb250ZW50KToKKyAgICAgICAgKC5zaWRlYmFy
ID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgPiAubmF2aWdhdGlvbi1iYXIpOgorICAgICAg
ICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciA+IC5uYXZpZ2F0aW9uLWJh
ciAuZGVidWdnZXItYnJlYWtwb2ludHMpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2
aWdhdGlvbi5kZWJ1Z2dlciA+IC5uYXZpZ2F0aW9uLWJhciAuZGVidWdnZXItYnJlYWtwb2ludHMu
YWN0aXZhdGVkKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdn
ZXIgPiAubmF2aWdhdGlvbi1iYXIgLmRlYnVnZ2VyLXBhdXNlLXJlc3VtZSk6CisgICAgICAgICgu
c2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyID4gLm5hdmlnYXRpb24tYmFyIC5k
ZWJ1Z2dlci1wYXVzZS1yZXN1bWUuYWN0aXZhdGVkKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBh
bmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLndhcm5pbmctYmFubmVyKToKKyAgICAgICAgKC5zaWRl
YmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhy
ZWFkID4gLml0ZW0udGhyZWFkKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRp
b24uZGVidWdnZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkKToKKyAgICAgICAgKGJvZHlb
ZGlyPWx0cl0gLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAudHJlZS1vdXRs
aW5lLnNpbmdsZS10aHJlYWQpOgorICAgICAgICAoYm9keVtkaXI9cnRsXSAuc2lkZWJhciA+IC5w
YW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC50cmVlLW91dGxpbmUuc2luZ2xlLXRocmVhZCk6Cisg
ICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC53YXJuaW5nLWJh
bm5lciA+IGEpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dl
ciAuZGV0YWlscy1zZWN0aW9uKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRp
b24uZGVidWdnZXIgLmRldGFpbHMtc2VjdGlvbi5wYXVzZWQtcmVhc29uLmNvbGxhcHNlZCA+IC5o
ZWFkZXIgPiAub3B0aW9ucyk6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9u
LmRlYnVnZ2VyIC5kZXRhaWxzLXNlY3Rpb24gPiAuY29udGVudCk6CisgICAgICAgICguc2lkZWJh
ciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC5kZXRhaWxzLXNlY3Rpb24uY29sbGFwc2Vk
ID4gLmNvbnRlbnQpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1
Z2dlciAuZGV0YWlscy1zZWN0aW9uID4gLmNvbnRlbnQgPiAuZ3JvdXApOgorICAgICAgICAoLnNp
ZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0YWlscy1zZWN0aW9uLnNjcmlw
dHM6bm90KC5jb2xsYXBzZWQpKToKKyAgICAgICAgKEBtZWRpYSAocHJlZmVycy1kYXJrLWludGVy
ZmFjZSkpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBh
bmVsLmpzOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRh
YkNvbnRlbnRWaWV3LmNzczogQWRkZWQuCisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1l
cik6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciAubmF2aWdhdGlvbi1iYXIpOgor
ICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgLm5hdmlnYXRpb24tYmFyLmludmlzaWJs
ZSk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciAubmF2aWdhdGlvbi1iYXIgLml0
ZW0ucmFkaW8uYnV0dG9uLnRleHQtb25seSk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJl
YW1lciAubmF2aWdhdGlvbi1iYXIgLml0ZW0ucmFkaW8uYnV0dG9uLnRleHQtb25seS5zZWxlY3Rl
ZCk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+
IC5zZXBhcmF0b3IpOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVh
bWVyLXZpZXcgPiAuY29udGFpbmVyKToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVy
ID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lci5oaWRkZW4pOgorICAgICAgICAoLmNvbnRl
bnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyLWNlbnRlcmVk
KToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4g
LmNvbnRhaW5lciBidXR0b24pOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAu
Z3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLnRpdGxlKToKKyAgICAgICAgKGJvZHlbZGly
PWx0cl0gLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFp
bmVyID4gLnRpdGxlKToKKyAgICAgICAgKGJvZHlbZGlyPXJ0bF0gLmNvbnRlbnQtdmlldy5nc3Ry
ZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLnRpdGxlKToKKyAgICAgICAg
KC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+
IC5lZGl0b3ItZ3JvdXApOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0
cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXQp
OgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAu
Y29udGFpbmVyID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0iY2hlY2tib3gi
XSk6CisgICAgICAgIChib2R5W2Rpcj1sdHJdIC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdz
dHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAgPiAuZWRpdG9yIGlucHV0
W3R5cGU9ImNoZWNrYm94Il0pOgorICAgICAgICAoYm9keVtkaXI9cnRsXSAuY29udGVudC12aWV3
LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3Vw
ID4gLmVkaXRvciBpbnB1dFt0eXBlPSJjaGVja2JveCJdKToKKyAgICAgICAgKC5jb250ZW50LXZp
ZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3Jv
dXAgPiAuZWRpdG9yIHNlbGVjdCk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+
IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRvciBp
bnB1dFt0eXBlPSJudW1iZXIiXSk6CisgICAgICAgIChib2R5W2Rpcj1sdHJdIC5jb250ZW50LXZp
ZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3Jv
dXAgPiAuZWRpdG9yIGlucHV0W3R5cGU9Im51bWJlciJdKToKKyAgICAgICAgKGJvZHlbZGlyPXJ0
bF0gLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVy
ID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0ibnVtYmVyIl0pOgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuanM6IEFkZGVk
LgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVmlldy5qczogQWRkZWQu
CisKIDIwMTktMTItMTEgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogYWRkIFRhYk5hdmlnYXRpb24gZGlhZ25vc3RpYyBldmVudCBhbmQgcmVs
YXRlZCBob29rcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCBkNzk5ZDJhZGIwNzlmMTkxMTA1ZDRlYjgxNDUwY2RlOWZk
MWM4MmIxLi43MjQyOTQ4ZDYwMjIxYTU4ZTRkMTM0MjBkOGMzMmU5YzJlMzkzYmU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDE5LTExLTI2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1h
bmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIFdlYiBJbnNwZWN0b3I6IEFkZCBu
ZXcgdGFiIGZvciBHU3RyZWFtZXIgcGlwZWxpbmVzIGluc3BlY3Rpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDYxOQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW5zcGVjdG9yR1Jlc291cmNlcy5j
bWFrZTogQnVuZGxlIHN2Zy1wYW4tem9vbSBhbmQgdml6IEphdmFTY3JpcHQgbW9kdWxlcy4KKwog
MjAxOS0xMi0xOCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS11bV2ViSW5zcGVjdG9yXSBTdXBwb3J0IGZvciBzYXZpbmcgcmVtb3RlIGRhdGEK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAzZGNjZTBmODFlZDQ0Yzc0ZDYw
ZWE1YTBjNjI4ZDhiZmFkOTMzMDhmLi45YzRkYzVhZGJlYmQxOGIyYzc3YjMxODZhMmY4M2EwMzNk
YmY1MTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMTgzLDYgKzEx
ODMsMTIgQEAgaWYgKEVOQUJMRV9TRVJWSUNFX1dPUktFUikKICAgICApCiBlbmRpZiAoKQogCitp
ZiAoVVNFX0dTVFJFQU1FUikKKyAgICBsaXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9JTlNQRUNU
T1JfRE9NQUlOUworICAgICAgICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yL3Byb3Rv
Y29sL0dTdHJlYW1lci5qc29uCisgICAgKQorZW5kaWYgKCkKKwogYWRkX2N1c3RvbV9jb21tYW5k
KAogICAgIE9VVFBVVCAke0phdmFTY3JpcHRDb3JlX0RFUklWRURfU09VUkNFU19ESVJ9L0NvbWJp
bmVkRG9tYWlucy5qc29uCiAgICAgTUFJTl9ERVBFTkRFTkNZICR7SmF2YVNjcmlwdENvcmVfU0NS
SVBUU19ESVJ9L2dlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0dTdHJlYW1lci5qc29u
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9HU3RyZWFtZXIuanNv
bgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xYWYzZTM3NTg3MDJjNTg1MTE1ZDQxNWZhMTEwMDk3YzFjM2E2ZjBkCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2Nv
bC9HU3RyZWFtZXIuanNvbgpAQCAtMCwwICsxLDQ0IEBACit7CisgICAgImRvbWFpbiI6ICJHU3Ry
ZWFtZXIiLAorICAgICJmZWF0dXJlR3VhcmQiOiAiVVNFKEdTVFJFQU1FUikiLAorICAgICJkZWJ1
Z2dhYmxlVHlwZXMiOiBbInBhZ2UiLCAid2ViLXBhZ2UiXSwKKyAgICAidGFyZ2V0VHlwZXMiOiBb
InBhZ2UiXSwKKyAgICAidHlwZXMiOiBbXSwKKyAgICAiY29tbWFuZHMiOiBbCisgICAgICAgIHsK
KyAgICAgICAgICAgICJuYW1lIjogImdldEFjdGl2ZVBpcGVsaW5lc05hbWVzIiwKKyAgICAgICAg
ICAgICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHRoZSBsaXN0IG9mIGN1cnJlbnRseSBydW5uaW5n
IEdTdHJlYW1lciBwaXBlbGluZXMuIiwKKyAgICAgICAgICAgICJyZXR1cm5zIjogWworICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAicGlwZWxpbmVzIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMi
OiB7ICIkcmVmIjogInN0cmluZyJ9LCAiZGVzY3JpcHRpb24iOiAiQXJyYXkgb2YgcGlwZWxpbmUg
bmFtZXMuIiB9CisgICAgICAgICAgICBdCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAg
ICAgICJuYW1lIjogImdldEFjdGl2ZVBpcGVsaW5lQmluTmFtZXMiLAorICAgICAgICAgICAgImRl
c2NyaXB0aW9uIjogIlJldHVybnMgdGhlIGxpc3Qgb2YgYmlucyBpbiB0aGUgZ2l2ZW4gR1N0cmVh
bWVyIHBpcGVsaW5lLiIsCisgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInBpcGVsaW5lIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9u
IjogIk5hbWUgb2YgdGhlIEdTdHJlYW1lciBwaXBlbGluZSB0byBkdW1wLiIgfSwKKyAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImNoaWxkIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9u
IjogIk5hbWUgb2YgdGhlIGNoaWxkIGJpbiB0byBkdW1wLiIgfQorICAgICAgICAgICAgXSwKKyAg
ICAgICAgICAgICJyZXR1cm5zIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiYmluTmFt
ZXMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAic3RyaW5nIn0sICJkZXNj
cmlwdGlvbiI6ICJBcnJheSBvZiBiaW4gbmFtZXMuIiB9CisgICAgICAgICAgICBdCisgICAgICAg
IH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJuYW1lIjogImR1bXBBY3RpdmVQaXBlbGluZSIs
CisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB0aGUgU1ZHIHJlcHJlc2VudGF0
aW9uIG9mIHRoZSBnaXZlbiBHU3RyZWFtZXIgcGlwZWxpbmUuIiwKKyAgICAgICAgICAgICJwYXJh
bWV0ZXJzIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGlwZWxpbmUiLCAidHlwZSI6
ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgR1N0cmVhbWVyIHBpcGVsaW5l
IHRvIGR1bXAuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY2hpbGQiLCAidHlwZSI6
ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgY2hpbGQgYmluIHRvIGR1bXAu
IiB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgInJldHVybnMiOiBbCisgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJwaXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24iLCAidHlwZSI6ICJz
dHJpbmciLCAiZGVzY3JpcHRpb24iOiAiU1ZHIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwaXBlbGlu
ZSIgfQorICAgICAgICAgICAgXQorICAgICAgICB9CisgICAgXSwKKyAgICAiZXZlbnRzIjogWwor
ICAgICAgICB7CisgICAgICAgICAgICAibmFtZSI6ICJhY3RpdmVQaXBlbGluZXNDaGFuZ2VkIiwK
KyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIHRoZSBpbnRlcm5hbCByZWdp
c3RyeSBvZiBhY3RpdmUgR1N0cmVhbWVyIHBpcGVsaW5lcyB3YXMgdXBkYXRlZCwgZWcgd2hlbiBh
IG5ldyBwaXBlbGluZSB3YXMgcmVnaXN0ZXJlZCBvciB3aGVuIGEgcGlwZWxpbmUgd2FzIHJlbW92
ZWQgZnJvbSB0aGUgcmVnaXN0cnkuIgorICAgICAgICB9CisgICAgXQorfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmluZGV4IGQ2MTVjOTc5
YmI1NzU0MDFlNzc4MzJlNDljNTYzOGQ3OTk4ZTYzNzQuLjI0Y2RlZmJmMjM0NDk0MjRlNzk2Yzdh
NjI3MTJhYWI0ZjNkNzZhM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAgLTg0LDEwICs4NCw2IEBACiAjaW5jbHVkZSA8c3RkaW8u
aD4KICNlbmRpZgogCi0jaWYgVVNFKEdTVFJFQU1FUikKLSNpbmNsdWRlICJHU3RyZWFtZXJDb21t
b24uaCIKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpbmNsdWRlICJTY3Jp
cHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRp
b25Ob2RlLmNwcAppbmRleCAyNjcyZDY1ZTY4ZmViMDE2MjhiZWYwZjBlMGIwYWQ0ZDMxZjQ1Yjdj
Li5iNzBjYWFmZDhiZTcxZjcwZWY3N2QxYjU2NjNlMDA5YTBkZWQ2Mzk1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVkaW9E
ZXN0aW5hdGlvbk5vZGUuY3BwCkBAIC0zMCw2ICszMCw4IEBACiAKICNpbmNsdWRlICJBdWRpb0Nv
bnRleHQuaCIKICNpbmNsdWRlICJBdWRpb0Rlc3RpbmF0aW9uLmgiCisjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJM
b2dnaW5nLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBAIC03Nyw2ICs3OSwxMiBAQCB2b2lkIERlZmF1bHRB
dWRpb0Rlc3RpbmF0aW9uTm9kZTo6dW5pbml0aWFsaXplKCkKICAgICBtX2Rlc3RpbmF0aW9uID0g
bnVsbHB0cjsKICAgICBtX251bWJlck9mSW5wdXRDaGFubmVscyA9IDA7CiAKKyNpZiBVU0UoR1NU
UkVBTUVSKQorICAgIGF1dG8qIGRvY3VtZW50ID0gY29udGV4dCgpLmRvY3VtZW50KCk7CisgICAg
aWYgKGRvY3VtZW50KQorICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1l
ckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoZG9jdW1lbnQtPnBhZ2UoKSk7CisjZW5kaWYKKwogICAg
IEF1ZGlvTm9kZTo6dW5pbml0aWFsaXplKCk7CiB9CiAKQEAgLTg0LDggKzkyLDE0IEBAIHZvaWQg
RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjpjcmVhdGVEZXN0aW5hdGlvbigpCiB7CiAgICAg
ZmxvYXQgaGFyZHdhcmVTYW1wbGVSYXRlID0gQXVkaW9EZXN0aW5hdGlvbjo6aGFyZHdhcmVTYW1w
bGVSYXRlKCk7CiAgICAgTE9HKFdlYkF1ZGlvLCAiPj4+PiBoYXJkd2FyZVNhbXBsZVJhdGUgPSAl
ZlxuIiwgaGFyZHdhcmVTYW1wbGVSYXRlKTsKLSAgICAKKwogICAgIG1fZGVzdGluYXRpb24gPSBB
dWRpb0Rlc3RpbmF0aW9uOjpjcmVhdGUoKnRoaXMsIG1faW5wdXREZXZpY2VJZCwgbV9udW1iZXJP
ZklucHV0Q2hhbm5lbHMsIGNoYW5uZWxDb3VudCgpLCBoYXJkd2FyZVNhbXBsZVJhdGUpOworCisj
aWYgVVNFKEdTVFJFQU1FUikKKyAgICBhdXRvKiBkb2N1bWVudCA9IGNvbnRleHQoKS5kb2N1bWVu
dCgpOworICAgIGlmIChkb2N1bWVudCkKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Ojpnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKGRvY3VtZW50LT5wYWdlKCkpOworI2Vu
ZGlmCiB9CiAKIHZvaWQgRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjplbmFibGVJbnB1dChj
b25zdCBTdHJpbmcmIGlucHV0RGV2aWNlSWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDhlOTJmZGFjMzc0
MDQ0YmFkZWJkNjE0YzQwMzY3MDY5MDYyODFiMmQuLmI3ZjRkMmRlMGMzMWZjYzRhZDI4ZGUxMDE5
ZGIzM2VjYzZlNWFmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xMzkzLDYgKzEzOTMsNyBAQCBpbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwCiBpbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAKIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yRGF0YWJhc2VBZ2VudC5jcHAKIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySW5kZXhlZERC
QWdlbnQuY3BwCitpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckdTdHJlYW1lckFnZW50LmNwcAog
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKIGluc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ck5ldHdvcmtBZ2VudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CmluZGV4IDczMGI0ZTM4OWU3ODNmZTU2Njc1NWI4YWMzNjg4MTE5ZjA5NjkxNjQuLmEyNjY2OTFh
YWM1ZWY4YjZiYTYyYmIzODcxZjIxZDE2NWJkNDg4NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNzIyNSw2ICs3MjI1LDExIEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6cmVxdWVzdEluc3RhbGxNaXNzaW5nUGx1Z2lucyhjb25zdCBTdHJpbmcmIGRldGFp
bHMsIGNvbnN0CiAKICAgICBkb2N1bWVudCgpLnBhZ2UoKS0+Y2hyb21lKCkuY2xpZW50KCkucmVx
dWVzdEluc3RhbGxNaXNzaW5nTWVkaWFQbHVnaW5zKGRldGFpbHMsIGRlc2NyaXB0aW9uLCBjYWxs
YmFjayk7CiB9CisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Z3N0cmVhbWVyQWN0aXZlUGlwZWxp
bmVzQ2hhbmdlZCgpCit7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFtZXJB
Y3RpdmVQaXBlbGluZXNDaGFuZ2VkKGRvY3VtZW50KCkucGFnZSgpKTsKK30KICNlbmRpZgogCiB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92ZUJlaGF2aW9yUmVzdHJpY3Rpb25zQWZ0ZXJGaXJz
dFVzZXJHZXN0dXJlKE1lZGlhRWxlbWVudFNlc3Npb246OkJlaGF2aW9yUmVzdHJpY3Rpb25zIG1h
c2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IGE1ZjE4N2I3OGY5
NDYxNDE0OWVkMmMzZDY0ZjRkYTY4NGEzYmM2MmUuLmJjMDkwMTM4MmE3YWY1OGM5NzEyYzhhODU0
NWI0YWU2NmRjMDEyNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBA
IC03NTgsNiArNzU4LDcgQEAgcHJpdmF0ZToKIAogI2lmIFVTRShHU1RSRUFNRVIpCiAgICAgdm9p
ZCByZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zKGNvbnN0IFN0cmluZyYgZGV0YWlscywgY29u
c3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgTWVkaWFQbGF5ZXJSZXF1ZXN0SW5zdGFsbE1pc3NpbmdQ
bHVnaW5zQ2FsbGJhY2smKSBmaW5hbDsKKyAgICB2b2lkIGdzdHJlYW1lckFjdGl2ZVBpcGVsaW5l
c0NoYW5nZWQoKSBmaW5hbDsKICNlbmRpZgogCiAgICAgdm9pZCBwZW5kaW5nQWN0aW9uVGltZXJG
aXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuY3BwCmluZGV4IDdkNTBkZGM3YTM4YTM3MjNlNGVlN2Q2NmNhOTdjOGFjYjM3YzcyNmEuLmVm
MTMyZjEyYjMxOWUwNDM1YmQ1N2MyNzYyYzA3MGU4NTRlNDM3NmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTg4LDYgKzg4LDEw
IEBACiAjaW5jbHVkZSAiUGFnZURlYnVnZ2FibGUuaCIKICNlbmRpZgogCisjaWYgVVNFKEdTVFJF
QU1FUikKKyNpbmNsdWRlICJJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5oIgorI2VuZGlmCisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKQEAgLTE3NCw2ICsxNzgs
MTAgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjcmVhdGVMYXp5QWdlbnRzKCkKICAgICBt
X2FnZW50cy5hcHBlbmQobWFrZVVuaXF1ZTxJbnNwZWN0b3JJbmRleGVkREJBZ2VudD4ocGFnZUNv
bnRleHQpKTsKICNlbmRpZgogCisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBtX2FnZW50cy5hcHBl
bmQobWFrZVVuaXF1ZTxJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudD4ocGFnZUNvbnRleHQpKTsKKyNl
bmRpZgorCiAgICAgYXV0byBzY3JpcHRQcm9maWxlckFnZW50UHRyID0gbWFrZVVuaXF1ZTxJbnNw
ZWN0b3JTY3JpcHRQcm9maWxlckFnZW50PihwYWdlQ29udGV4dCk7CiAgICAgbV9pbnN0cnVtZW50
aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50KHNjcmlwdFByb2ZpbGVy
QWdlbnRQdHIuZ2V0KCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChXVEZNb3ZlKHNjcmlwdFByb2Zp
bGVyQWdlbnRQdHIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kSG9zdC5jcHAKaW5kZXggZTcyMDRjYjMzNTNlOTI1MTAwMGZhNTIyYTI0Nzc4YWJi
NjYyMTdiNS4uNDY3ODViM2QwNGNiNzQwMzRiNWUwOTA4NjQ2MDQ3MjAxOGIyNjc2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAK
QEAgLTMxNSw2ICszMTUsOCBAQCBTdHJpbmcgSW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojpwb3J0KCkK
IHsKICNpZiBQTEFURk9STShHVEspCiAgICAgcmV0dXJuICJndGsiX3M7CisjZWxpZiBQTEFURk9S
TShXUEUpCisgICAgcmV0dXJuICJ3cGUiX3M7CiAjZWxzZQogICAgIHJldHVybiAidW5rbm93biJf
czsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCA0ZjE4YjU4YzZjZDAxZTBiNjlhODk1M2FkMDlhNzM5
YzM1MjA0OTZhLi43MTQ1ZWUwODZkYzg4YTkwYjdkNmVlMjdmOTg1OWNlYThkZjQ5ZTk5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcApAQCAtODUsNiArODUsMTAgQEAKICNpbmNsdWRlICJXZWJHUFVTd2FwQ2hhaW4uaCIK
ICNlbmRpZgogCisjaWYgVVNFKEdTVFJFQU1FUikKKyNpbmNsdWRlICJJbnNwZWN0b3JHU3RyZWFt
ZXJBZ2VudC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNw
YWNlIEluc3BlY3RvcjsKQEAgLTEyODYsNCArMTI5MCwxMiBAQCBJbnN0cnVtZW50aW5nQWdlbnRz
KiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0
KFNjcgogICAgIHJldHVybiBudWxscHRyOwogfQogCisjaWYgVVNFKEdTVFJFQU1FUikKK3ZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2Vk
SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzKQoreworICAgIGlm
IChhdXRvKiBnc3RyZWFtZXJBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yR1N0
cmVhbWVyQWdlbnQoKSkKKyAgICAgICAgZ3N0cmVhbWVyQWdlbnQtPmFjdGl2ZVBpcGVsaW5lc0No
YW5nZWQoKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXgg
ZGJmODIyMDVkYjViY2NiZTE2OWVkMGU5NDdkMWFkODNkZDg1MGZkNi4uZWJhNTZkODlmYzRiODc2
NDMwMWY5NmUwZTAxODE2ZTAzODMxMWE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMzE0LDYgKzMxNCwxMCBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbGF5ZXJUcmVlRGlkQ2hhbmdlKFBhZ2UqKTsKICAgICBz
dGF0aWMgdm9pZCByZW5kZXJMYXllckRlc3Ryb3llZChQYWdlKiwgY29uc3QgUmVuZGVyTGF5ZXIm
KTsKIAorI2lmIFVTRShHU1RSRUFNRVIpCisgICAgc3RhdGljIHZvaWQgZ3N0cmVhbWVyQWN0aXZl
UGlwZWxpbmVzQ2hhbmdlZChQYWdlKik7CisjZW5kaWYKKwogICAgIHN0YXRpYyB2b2lkIGZyb250
ZW5kQ3JlYXRlZCgpOwogICAgIHN0YXRpYyB2b2lkIGZyb250ZW5kRGVsZXRlZCgpOwogICAgIHN0
YXRpYyBib29sIGhhc0Zyb250ZW5kcygpIHsgcmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
blB1YmxpYzo6aGFzRnJvbnRlbmRzKCk7IH0KQEAgLTQ3OSw2ICs0ODMsOSBAQCBwcml2YXRlOgog
I2lmIEVOQUJMRShSRVNPVVJDRV9VU0FHRSkKICAgICBzdGF0aWMgdm9pZCBkaWRIYW5kbGVNZW1v
cnlQcmVzc3VyZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIENyaXRpY2FsKTsKICNlbmRpZgor
I2lmIFVTRShHU1RSRUFNRVIpCisgICAgc3RhdGljIHZvaWQgZ3N0cmVhbWVyQWN0aXZlUGlwZWxp
bmVzQ2hhbmdlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYpOworI2VuZGlmCiAKICAgICBzdGF0
aWMgdm9pZCBuZXR3b3JrU3RhdGVDaGFuZ2VkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJik7CiAg
ICAgc3RhdGljIHZvaWQgdXBkYXRlQXBwbGljYXRpb25DYWNoZVN0YXR1c0ltcGwoSW5zdHJ1bWVu
dGluZ0FnZW50cyYsIEZyYW1lJik7CkBAIC0xNjE1LDYgKzE2MjIsMTUgQEAgaW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRmlyZUFuaW1hdGlvbkZyYW1lKERvY3VtZW50
JiBkb2N1bWVudCwKICAgICAgICAgd2lsbEZpcmVBbmltYXRpb25GcmFtZUltcGwoKmluc3RydW1l
bnRpbmdBZ2VudHMsIGNhbGxiYWNrSWQsIGRvY3VtZW50KTsKIH0KIAorI2lmIFVTRShHU1RSRUFN
RVIpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1lckFjdGl2
ZVBpcGVsaW5lc0NoYW5nZWQoUGFnZSogcGFnZSkKK3sKKyAgICBGQVNUX1JFVFVSTl9JRl9OT19G
Uk9OVEVORFModm9pZCgpKTsKKyAgICBpZiAoYXV0byogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGlu
c3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQorICAgICAgICBnc3RyZWFtZXJBY3RpdmVQ
aXBlbGluZXNDaGFuZ2VkSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cyk7Cit9CisjZW5kaWYKKwog
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaXJlQW5pbWF0aW9uRnJh
bWUoRG9jdW1lbnQmIGRvY3VtZW50KQogewogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5E
Uyh2b2lkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1l
bnRpbmdBZ2VudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdB
Z2VudHMuY3BwCmluZGV4IDFmOWEwZDdjNTMyYTNmOTA4NTZjMTg0YTFmZmMzYjFjZjM1ZWZjODcu
LmViN2MzMTg3YTJjZTAxMWRlMDU3ZGQyYjkzMTFjOTYyYzZhMGU5MzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAKQEAgLTcxLDYgKzcx
LDkgQEAgdm9pZCBJbnN0cnVtZW50aW5nQWdlbnRzOjpyZXNldCgpCiAgICAgbV9pbnNwZWN0b3JD
YW52YXNBZ2VudCA9IG51bGxwdHI7CiAgICAgbV9wZXJzaXN0ZW50SW5zcGVjdG9yQW5pbWF0aW9u
QWdlbnQgPSBudWxscHRyOwogICAgIG1fdHJhY2tpbmdJbnNwZWN0b3JBbmltYXRpb25BZ2VudCA9
IG51bGxwdHI7CisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBtX2luc3BlY3RvckdTdHJlYW1lckFn
ZW50ID0gbnVsbHB0cjsKKyNlbmRpZgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAppbmRleCBmNmZl
YTdkYTIxMzYwZGQwOGNjM2Q5NjZiMTRlMmFhYzQ2NTQ0OTE1Li40YTZkMzk3Zjg2YWJlMTM4YWM4
NTBiNjk5ZThmNzZkYmRlYWNjOWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTM2LDYgKzM2LDEwIEBACiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAorI2lmIFVTRShHU1RS
RUFNRVIpCisjaW5jbHVkZSAiSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaCIKKyNlbmRpZgorCiBu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKIGNsYXNzIEluc3BlY3RvckFnZW50OwogY2xhc3MgSW5zcGVj
dG9yRGVidWdnZXJBZ2VudDsKQEAgLTE1OSw2ICsxNjMsMTEgQEAgcHVibGljOgogICAgIEluc3Bl
Y3RvckFuaW1hdGlvbkFnZW50KiB0cmFja2luZ0luc3BlY3RvckFuaW1hdGlvbkFnZW50KCkgY29u
c3QgeyByZXR1cm4gbV90cmFja2luZ0luc3BlY3RvckFuaW1hdGlvbkFnZW50OyB9CiAgICAgdm9p
ZCBzZXRUcmFja2luZ0luc3BlY3RvckFuaW1hdGlvbkFnZW50KEluc3BlY3RvckFuaW1hdGlvbkFn
ZW50KiBhZ2VudCkgeyBtX3RyYWNraW5nSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQgPSBhZ2VudDsg
fQogCisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCogaW5z
cGVjdG9yR1N0cmVhbWVyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvckdTdHJlYW1l
ckFnZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudChJbnNwZWN0b3JH
U3RyZWFtZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCA9IGFnZW50
OyB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBJbnN0cnVtZW50aW5nQWdlbnRzKEluc3BlY3Rv
cjo6SW5zcGVjdG9yRW52aXJvbm1lbnQmKTsKIApAQCAtMTkxLDYgKzIwMCw5IEBAIHByaXZhdGU6
CiAgICAgSW5zcGVjdG9yQ2FudmFzQWdlbnQqIG1faW5zcGVjdG9yQ2FudmFzQWdlbnQgeyBudWxs
cHRyIH07CiAgICAgSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQqIG1fcGVyc2lzdGVudEluc3BlY3Rv
ckFuaW1hdGlvbkFnZW50IHsgbnVsbHB0ciB9OwogICAgIEluc3BlY3RvckFuaW1hdGlvbkFnZW50
KiBtX3RyYWNraW5nSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQgeyBudWxscHRyIH07CisjaWYgVVNF
KEdTVFJFQU1FUikKKyAgICBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCogbV9pbnNwZWN0b3JHU3Ry
ZWFtZXJBZ2VudCB7IG51bGxwdHIgfTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JHU3RyZWFtZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckdTdHJlYW1lckFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDBjYzY4ZWVlNTI3ZDkwZjZi
YjhiZmMxNGFhZjYxZTEyOWJhN2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5jcHAKQEAgLTAsMCArMSw4
MCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIx
MTAtMTMwMSAgVVNBCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkluc3Bl
Y3RvckdTdHJlYW1lckFnZW50LmgiCisKKyNpZiBVU0UoR1NUUkVBTUVSKQorCisjaW5jbHVkZSAi
R1N0cmVhbWVyQ29tbW9uLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKKworSW5zcGVj
dG9yR1N0cmVhbWVyQWdlbnQ6Okluc3BlY3RvckdTdHJlYW1lckFnZW50KFBhZ2VBZ2VudENvbnRl
eHQmIGNvbnRleHQpCisgICAgOiBJbnNwZWN0b3JBZ2VudEJhc2UoIkdTdHJlYW1lciJfcywgY29u
dGV4dCkKKyAgICAsIG1fYmFja2VuZERpc3BhdGNoZXIoSW5zcGVjdG9yOjpHU3RyZWFtZXJCYWNr
ZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGNvbnRleHQuYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpKQor
ICAgICwgbV9mcm9udGVuZERpc3BhdGNoZXIobWFrZVVuaXF1ZTxJbnNwZWN0b3I6OkdTdHJlYW1l
ckZyb250ZW5kRGlzcGF0Y2hlcj4oY29udGV4dC5mcm9udGVuZFJvdXRlcikpCit7Cit9CisKK0lu
c3BlY3RvckdTdHJlYW1lckFnZW50Ojp+SW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQoKSA9IGRlZmF1
bHQ7CisKK3ZvaWQgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlz
cGF0Y2hlciopCit7Cit9CisKK3ZvaWQgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6OndpbGxEZXN0
cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikKK3sKK30K
Kwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudDo6Z2V0QWN0aXZlUGlwZWxpbmVzTmFtZXMo
RXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxTdHJpbmc+PiYg
cGlwZWxpbmVzKQoreworICAgIHBpcGVsaW5lcyA9IEpTT046OkFycmF5T2Y8U3RyaW5nPjo6Y3Jl
YXRlKCk7CisgICAgVU5VU0VEX1BBUkFNKGVycm9yU3RyaW5nKTsKKyAgICBmb3IgKGF1dG8gaXRl
bSA6IGFjdGl2ZVBpcGVsaW5lc05hbWVzKCkpCisgICAgICAgIHBpcGVsaW5lcy0+YWRkSXRlbShT
dHJpbmc6OmZyb21VVEY4KGl0ZW0pKTsKK30KKwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJBZ2Vu
dDo6Z2V0QWN0aXZlUGlwZWxpbmVCaW5OYW1lcyhFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNv
bnN0IFN0cmluZyYgcGlwZWxpbmUsIGNvbnN0IFN0cmluZyYgY2hpbGQsIFJlZlB0cjxKU09OOjpB
cnJheU9mPFN0cmluZz4+JiBuYW1lcykKK3sKKyAgICBuYW1lcyA9IEpTT046OkFycmF5T2Y8U3Ry
aW5nPjo6Y3JlYXRlKCk7CisgICAgVU5VU0VEX1BBUkFNKGVycm9yU3RyaW5nKTsKKyAgICBmb3Ig
KGF1dG8gaXRlbSA6IGdldEJpbkNoaWxkcmVuKHBpcGVsaW5lLCBjaGlsZCkpCisgICAgICAgIG5h
bWVzLT5hZGRJdGVtKFN0cmluZzo6ZnJvbVVURjgoaXRlbSkpOworfQorCit2b2lkIEluc3BlY3Rv
ckdTdHJlYW1lckFnZW50OjpkdW1wQWN0aXZlUGlwZWxpbmUoRXJyb3JTdHJpbmcmIGVycm9yU3Ry
aW5nLCBjb25zdCBTdHJpbmcmIHBpcGVsaW5lLCBjb25zdCBTdHJpbmcmIGNoaWxkLCBTdHJpbmcq
IHBpcGVsaW5lR3JhcGhSZXByZXNlbnRhdGlvbikKK3sKKyAgICBhdXRvIHN2Z0RhdGEgPSBXZWJD
b3JlOjpkdW1wQWN0aXZlUGlwZWxpbmUocGlwZWxpbmUsIGNoaWxkKTsKKyAgICBpZiAoc3ZnRGF0
YS5pc051bGwoKSkKKyAgICAgICAgZXJyb3JTdHJpbmcgPSAiSW52YWxpZCBwaXBlbGluZSBvciBi
aW4iX3M7CisgICAgZWxzZQorICAgICAgICAqcGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uID0g
U3RyaW5nOjpmcm9tVVRGOChzdmdEYXRhKTsKK30KKwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJB
Z2VudDo6YWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpCit7CisgICAgbV9mcm9udGVuZERpc3BhdGNo
ZXItPmFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gVVNFKEdTVFJFQU1FUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44NDI0OTlmNzNhYTg5NWNjODcwMTQwMmNjMTNkMzE5NjhlMzExYTZkCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JHU3RyZWFtZXJB
Z2VudC5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxp
YSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5z
ZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0
d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgVVNFKEdTVFJFQU1FUikKKworI2luY2x1ZGUgIkluc3BlY3RvcldlYkFnZW50QmFzZS5oIgor
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oPgor
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaD4K
KyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Cit0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKKworY2xhc3MgSW5zcGVjdG9yR1N0cmVhbWVy
QWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9y
OjpHU3RyZWFtZXJCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEluc3BlY3RvckdTdHJlYW1lckFnZW50KTsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKKyAgICBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudChQYWdlQWdlbnRDb250
ZXh0Jik7CisgICAgfkluc3BlY3RvckdTdHJlYW1lckFnZW50KCkgb3ZlcnJpZGU7CisKKyAgICAv
LyBJbnNwZWN0b3JBZ2VudEJhc2UKKyAgICB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2Vu
ZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hl
ciopIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5z
cGVjdG9yOjpEaXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKKworICAgIC8vIEdTdHJlYW1lckJh
Y2tlbmREaXNwYXRjaGVySGFuZGxlcgorICAgIHZvaWQgZ2V0QWN0aXZlUGlwZWxpbmVzTmFtZXMo
RXJyb3JTdHJpbmcmLCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxTdHJpbmc+PiYgcGlwZWxpbmVzKSBv
dmVycmlkZTsKKyAgICB2b2lkIGdldEFjdGl2ZVBpcGVsaW5lQmluTmFtZXMoRXJyb3JTdHJpbmcm
LCBjb25zdCBTdHJpbmcmIHBpcGVsaW5lLCBjb25zdCBTdHJpbmcmIGNoaWxkLCBSZWZQdHI8SlNP
Tjo6QXJyYXlPZjxTdHJpbmc+PiYgbmFtZXMpIG92ZXJyaWRlOworICAgIHZvaWQgZHVtcEFjdGl2
ZVBpcGVsaW5lKEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBwaXBlbGluZSwgY29uc3QgU3Ry
aW5nJiBjaGlsZCwgU3RyaW5nKiBwaXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24pIG92ZXJyaWRl
OworICAgIHZvaWQgYWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOworCitwcml2YXRlOgorICAgIFJl
ZlB0cjxJbnNwZWN0b3I6OkdTdHJlYW1lckJhY2tlbmREaXNwYXRjaGVyPiBtX2JhY2tlbmREaXNw
YXRjaGVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3I6OkdTdHJlYW1lckZyb250ZW5k
RGlzcGF0Y2hlcj4gbV9mcm9udGVuZERpc3BhdGNoZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4IGNmODlm
OWViNTA1MjMyNmZjZjhjYmQyNmQ4NTk2Y2Y0NzI0YzIzNjEuLjk2NzRhYjM4NmYzM2UyZTcyZTZk
Y2E5YzFkMzFiYWYyNDdlYWU2N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKQEAgLTgwLDYgKzgwLDkgQEAKICNp
bmNsdWRlICJMZWdhY3lXZWJBcmNoaXZlLmgiCiAjZW5kaWYKIAorI2lmIFVTRShHU1RSRUFNRVIp
CisjaW5jbHVkZSAiR1N0cmVhbWVyQ29tbW9uLmgiCisjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvclBhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JQYWdlQWdlbnQuaAppbmRleCA0ZmQ4YzBiMTAxNmU1YWI0NzUyNTU4ZDY1MzBhYmI1MjBlY2Vh
MjZhLi45ZDFhNDQ4MGExY2VkODE5NmY1YWNhYmY3NmQ4MjgwNTE2YmFmZjc5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmgK
QEAgLTEzNCw2ICsxMzQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRMYXlvdXQoKTsKICAgICB2
b2lkIGRpZFNjcm9sbCgpOwogICAgIHZvaWQgZGlkUmVjYWxjdWxhdGVTdHlsZSgpOworICAgIHZv
aWQgZ3N0cmVhbWVyUGlwZWxpbmVDYWNoZVVwZGF0ZWQoKTsKIAogICAgIEZyYW1lKiBmcmFtZUZv
cklkKGNvbnN0IFN0cmluZyYgZnJhbWVJZCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGZy
YW1lSWQoRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dTdHJl
YW1lci5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dTdHJlYW1lci5jbWFrZQppbmRl
eCA4NzRkNDlhZjFlNDE5YWNjODRhNDY2ZDI4Y2EwMjNjNmJjOWFmOWY5Li5kMDQ5ZDM5Y2UwZDI1
NTE0NTU0MWM3ODlkMTZkYjJmMTM3MzE1YTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9HU3RyZWFtZXIuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR1N0
cmVhbWVyLmNtYWtlCkBAIC03NSw2ICs3NSw3IEBAIGlmIChFTkFCTEVfVklERU8gT1IgRU5BQkxF
X1dFQl9BVURJTykKICAgICAgICAgJHtHU1RSRUFNRVJfQkFTRV9JTkNMVURFX0RJUlN9CiAgICAg
ICAgICR7R1NUUkVBTUVSX0FQUF9JTkNMVURFX0RJUlN9CiAgICAgICAgICR7R1NUUkVBTUVSX1BC
VVRJTFNfSU5DTFVERV9ESVJTfQorICAgICAgICAke0dSQVBIVklaX0lOQ0xVREVfRElSU30KICAg
ICApCiAKICAgICBsaXN0KEFQUEVORCBXZWJDb3JlX0xJQlJBUklFUwpAQCAtODMsNiArODQsNyBA
QCBpZiAoRU5BQkxFX1ZJREVPIE9SIEVOQUJMRV9XRUJfQVVESU8pCiAgICAgICAgICR7R1NUUkVB
TUVSX0xJQlJBUklFU30KICAgICAgICAgJHtHU1RSRUFNRVJfUEJVVElMU19MSUJSQVJJRVN9CiAg
ICAgICAgICR7R1NUUkVBTUVSX0FVRElPX0xJQlJBUklFU30KKyAgICAgICAgJHtHUkFQSFZJWl9M
SUJSQVJJRVN9CiAgICAgKQogCiAgICAgIyBBdm9pZGluZyBhIEdMaWIgZGVwcmVjYXRpb24gd2Fy
bmluZyBkdWUgdG8gR1N0cmVhbWVyIEFQSSB1c2luZyBkZXByZWNhdGVkIGNsYXNzZXMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvQXVkaW9EZXN0
aW5hdGlvbkdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3Ry
ZWFtZXIvQXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lci5jcHAKaW5kZXggMWE1NDk1ZmQ3NjRkOWMz
Y2M2ZWRiNTgxZmE0ODBlYWVhZDE0NTliZi4uOWQ0YWYyYzZjMWIwNTE2OTQ4N2Q4MjE0NzEzYjRi
NzQyMjM5N2Q3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0
cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyLmNwcApA
QCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkF1ZGlvQ2hhbm5lbC5oIgogI2luY2x1ZGUgIkF1
ZGlvU291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJHUmVmUHRyR1N0cmVhbWVyLmgiCisjaW5j
bHVkZSAiR1N0cmVhbWVyQ29tbW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUg
IldlYktpdFdlYkF1ZGlvU291cmNlR1N0cmVhbWVyLmgiCiAjaW5jbHVkZSA8Z3N0L2F1ZGlvL2dz
dGF1ZGlvYmFzZXNpbmsuaD4KQEAgLTgzLDcgKzg0LDggQEAgQXVkaW9EZXN0aW5hdGlvbkdTdHJl
YW1lcjo6QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcihBdWRpb0lPQ2FsbGJhY2smIGNhbGxiYWNr
LAogICAgICwgbV9zYW1wbGVSYXRlKHNhbXBsZVJhdGUpCiAgICAgLCBtX2lzUGxheWluZyhmYWxz
ZSkKIHsKLSAgICBtX3BpcGVsaW5lID0gZ3N0X3BpcGVsaW5lX25ldygicGxheSIpOworICAgIG1f
cGlwZWxpbmUgPSBnc3RfcGlwZWxpbmVfbmV3KCJ3ZWJhdWRpby1wbGF5YmFjayIpOworICAgIHJl
Z2lzdGVyQWN0aXZlUGlwZWxpbmUobV9waXBlbGluZSk7CiAgICAgR1JlZlB0cjxHc3RCdXM+IGJ1
cyA9IGFkb3B0R1JlZihnc3RfcGlwZWxpbmVfZ2V0X2J1cyhHU1RfUElQRUxJTkUobV9waXBlbGlu
ZSkpKTsKICAgICBBU1NFUlQoYnVzKTsKICAgICBnc3RfYnVzX2FkZF9zaWduYWxfd2F0Y2hfZnVs
bChidXMuZ2V0KCksIFJ1bkxvb3BTb3VyY2VQcmlvcml0eTo6UnVuTG9vcERpc3BhdGNoZXIpOwpA
QCAtMTMwLDggKzEzMiw4IEBAIEF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXI6On5BdWRpb0Rlc3Rp
bmF0aW9uR1N0cmVhbWVyKCkKICAgICBHUmVmUHRyPEdzdEJ1cz4gYnVzID0gYWRvcHRHUmVmKGdz
dF9waXBlbGluZV9nZXRfYnVzKEdTVF9QSVBFTElORShtX3BpcGVsaW5lKSkpOwogICAgIEFTU0VS
VChidXMpOwogICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyhidXMuZ2V0
KCksIHJlaW50ZXJwcmV0X2Nhc3Q8Z3BvaW50ZXI+KG1lc3NhZ2VDYWxsYmFjayksIHRoaXMpOwor
ICAgIHVucmVnaXN0ZXJQaXBlbGluZShtX3BpcGVsaW5lKTsKICAgICBnc3RfYnVzX3JlbW92ZV9z
aWduYWxfd2F0Y2goYnVzLmdldCgpKTsKLQogICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3Bp
cGVsaW5lLCBHU1RfU1RBVEVfTlVMTCk7CiAgICAgZ3N0X29iamVjdF91bnJlZihtX3BpcGVsaW5l
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5o
CmluZGV4IDc2MWJjNTAzOTI4YjI2ZmJkZDdkODk5YjFjYzRhMjI2NjJjMWE1ZTYuLmNmMjM1YWNi
MTk5MzViMmQ5ZTJhMWQ4N2I5YmNmNzdkY2I3NmMyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMjcyLDYgKzI3Miw3IEBAIHB1Ymxp
YzoKIAogI2lmIFVTRShHU1RSRUFNRVIpCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RJbnN0YWxs
TWlzc2luZ1BsdWdpbnMoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgTWVkaWFQbGF5ZXJS
ZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zQ2FsbGJhY2smKSB7IH07CisgICAgdmlydHVhbCB2
b2lkIGdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKSB7IH07CiAjZW5kaWYKIAogICAg
IHZpcnR1YWwgYm9vbCBtZWRpYVBsYXllclNob3VsZERpc2FibGVTbGVlcCgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CkBAIC02MzYsNiArNjM3LDcgQEAgcHVibGljOgogCiAjaWYgVVNFKEdTVFJF
QU1FUikKICAgICB2b2lkIHJlcXVlc3RJbnN0YWxsTWlzc2luZ1BsdWdpbnMoY29uc3QgU3RyaW5n
JiBkZXRhaWxzLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBNZWRpYVBsYXllclJlcXVlc3RJ
bnN0YWxsTWlzc2luZ1BsdWdpbnNDYWxsYmFjayYgY2FsbGJhY2spIHsgY2xpZW50KCkucmVxdWVz
dEluc3RhbGxNaXNzaW5nUGx1Z2lucyhkZXRhaWxzLCBkZXNjcmlwdGlvbiwgY2FsbGJhY2spOyB9
CisgICAgdm9pZCBnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCkgeyBjbGllbnQoKS5n
c3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7IH0KICNlbmRpZgogCiBwcml2YXRlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dT
dHJlYW1lckNvbW1vbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmNwcAppbmRleCAwODliZjc0Zjc0ZWM2NGE2ZjgwNDQ1YzM1
M2RkYTM1MTJhYjM1NGQ0Li5iNThiM2UwOGM5ZTc5ZWNmMjUwNDZjMjQ5MThiMjAyN2FjYmNiZTVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
R1N0cmVhbWVyQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmNwcApAQCAtMzAsOSArMzAsMTYgQEAKICNpbmNs
dWRlIDxnc3QvYXVkaW8vYXVkaW8taW5mby5oPgogI2luY2x1ZGUgPGdzdC9nc3QuaD4KICNpbmNs
dWRlIDxtdXRleD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9OZXZl
ckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaD4KICNpbmNs
dWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvUnVuTG9vcFNv
dXJjZVByaW9yaXR5Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgorCisjaWYg
VVNFKEdSQVBIVklaKQorI2luY2x1ZGUgPGdyYXBodml6L2d2Yy5oPgorI2VuZGlmCiAKICNpZiBF
TkFCTEUoVklERU9fVFJBQ0spICYmIFVTRShHU1RSRUFNRVJfTVBFR1RTKQogI2RlZmluZSBHU1Rf
VVNFX1VOU1RBQkxFX0FQSQpAQCAtMzkxLDYgKzM5OCwxMTcgQEAgYm9vbCBpc0dTdHJlYW1lclBs
dWdpbkF2YWlsYWJsZShjb25zdCBjaGFyKiBuYW1lKQogICAgIHJldHVybiBwbHVnaW47CiB9CiAK
K3N0YXRpYyBIYXNoTWFwPENTdHJpbmcsIEdzdEJpbio+JiBhY3RpdmVQaXBlbGluZXNNYXAoKQor
eworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPENTdHJpbmcsIEdzdEJpbio+PiBh
Y3RpdmVQaXBlbGluZXM7CisgICAgcmV0dXJuIGFjdGl2ZVBpcGVsaW5lcy5nZXQoKTsKK30KKwor
dm9pZCByZWdpc3RlckFjdGl2ZVBpcGVsaW5lKEdzdEVsZW1lbnQqIHBpcGVsaW5lKQoreworICAg
IEFTU0VSVChHU1RfSVNfRUxFTUVOVChwaXBlbGluZSkpOworICAgIEFTU0VSVChpc01haW5UaHJl
YWQoKSk7CisKKyAgICBHVW5pcXVlUHRyPGdjaGFyPiBuYW1lKGdzdF9vYmplY3RfZ2V0X25hbWUo
R1NUX09CSkVDVF9DQVNUKHBpcGVsaW5lKSkpOworICAgIGF1dG8gYWRkUmVzdWx0ID0gYWN0aXZl
UGlwZWxpbmVzTWFwKCkuYWRkKG5hbWUuZ2V0KCksIG51bGxwdHIpOworICAgIGlmICghYWRkUmVz
dWx0LmlzTmV3RW50cnkpCisgICAgICAgIHJldHVybjsKKyAgICBhZGRSZXN1bHQuaXRlcmF0b3It
PnZhbHVlID0gR1NUX0JJTl9DQVNUKHBpcGVsaW5lKTsKK30KKwordm9pZCB1bnJlZ2lzdGVyUGlw
ZWxpbmUoR3N0RWxlbWVudCogcGlwZWxpbmUpCit7CisgICAgQVNTRVJUKEdTVF9JU19FTEVNRU5U
KHBpcGVsaW5lKSk7CisKKyAgICBHVW5pcXVlUHRyPGdjaGFyPiBuYW1lKGdzdF9vYmplY3RfZ2V0
X25hbWUoR1NUX09CSkVDVF9DQVNUKHBpcGVsaW5lKSkpOworICAgIGFjdGl2ZVBpcGVsaW5lc01h
cCgpLnJlbW92ZShuYW1lLmdldCgpKTsKK30KKworVmVjdG9yPENTdHJpbmc+IGFjdGl2ZVBpcGVs
aW5lc05hbWVzKCkKK3sKKyAgICBWZWN0b3I8Q1N0cmluZz4gbmFtZXM7CisgICAgYXV0byYgbWFw
ID0gYWN0aXZlUGlwZWxpbmVzTWFwKCk7CisgICAgbmFtZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0
eShtYXAuc2l6ZSgpKTsKKyAgICBmb3IgKGF1dG8mIG5hbWUgOiBtYXAua2V5cygpKQorICAgICAg
ICBuYW1lcy51bmNoZWNrZWRBcHBlbmQobmFtZSk7CisKKyAgICBzdGQ6OnNvcnQobmFtZXMuYmVn
aW4oKSwgbmFtZXMuZW5kKCkpOworICAgIHJldHVybiBuYW1lczsKK30KKworQ1N0cmluZyBleHBv
cnRCaW5Ub1NWRyhHc3RCaW4qIGJpbikKK3sKKyNpZiBVU0UoR1JBUEhWSVopCisgICAgR1VuaXF1
ZVB0cjxnY2hhcj4gZG90RGF0YShnc3RfZGVidWdfYmluX3RvX2RvdF9kYXRhKGJpbiwgR1NUX0RF
QlVHX0dSQVBIX1NIT1dfQUxMKSk7CisgICAgQWdyYXBoX3QqIGdyYXBoID0gYWdtZW1yZWFkKGRv
dERhdGEuZ2V0KCkpOworCisgICAgR1ZDX3QqIGNvbnRleHQgPSBndkNvbnRleHQoKTsKKyAgICBn
dkxheW91dChjb250ZXh0LCBncmFwaCwgImRvdCJfcyk7CisKKyAgICB1bnNpZ25lZCBsZW5ndGg7
CisgICAgY2hhciogc3ZnRGF0YTsKKyAgICBpZiAoZ3ZSZW5kZXJEYXRhKGNvbnRleHQsIGdyYXBo
LCAic3ZnIl9zLCAmc3ZnRGF0YSwgJmxlbmd0aCkpIHsKKyAgICAgICAgZ3ZGcmVlTGF5b3V0KGNv
bnRleHQsIGdyYXBoKTsKKyAgICAgICAgYWdjbG9zZShncmFwaCk7CisgICAgICAgIGd2RnJlZUNv
bnRleHQoY29udGV4dCk7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgQ1N0cmlu
ZyBzdmcgeyBzdmdEYXRhLCBsZW5ndGggfTsKKyAgICBndkZyZWVSZW5kZXJEYXRhKHN2Z0RhdGEp
OworICAgIGd2RnJlZUxheW91dChjb250ZXh0LCBncmFwaCk7CisgICAgYWdjbG9zZShncmFwaCk7
CisgICAgZ3ZGcmVlQ29udGV4dChjb250ZXh0KTsKKyAgICByZXR1cm4gc3ZnOworI2Vsc2UKKyAg
ICBVTlVTRURfUEFSQU0oYmluKTsKKyAgICByZXR1cm4geyB9OworI2VuZGlmCit9CisKK0NTdHJp
bmcgZHVtcEFjdGl2ZVBpcGVsaW5lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBz
dWJCaW5OYW1lKQoreworICAgIEdzdEJpbiogcGlwZWxpbmUgPSBhY3RpdmVQaXBlbGluZXNNYXAo
KS5nZXQobmFtZS51dGY4KCkpOworICAgIGlmICghcGlwZWxpbmUpCisgICAgICAgIHJldHVybiB7
IH07CisKKyAgICBpZiAoc3ViQmluTmFtZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBleHBv
cnRCaW5Ub1NWRyhwaXBlbGluZSk7CisKKyAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IGNoaWxkID0g
YWRvcHRHUmVmKGdzdF9iaW5fZ2V0X2J5X25hbWUocGlwZWxpbmUsIHN1YkJpbk5hbWUudXRmOCgp
LmRhdGEoKSkpOworICAgIGlmIChHU1RfSVNfQklOKGNoaWxkLmdldCgpKSkKKyAgICAgICAgcmV0
dXJuIGV4cG9ydEJpblRvU1ZHKEdTVF9CSU5fQ0FTVChjaGlsZC5nZXQoKSkpOworCisgICAgcmV0
dXJuIHsgfTsKK30KKworVmVjdG9yPENTdHJpbmc+IGdldEJpbkNoaWxkcmVuKGNvbnN0IFN0cmlu
ZyYgcGlwZWxpbmVOYW1lLCBjb25zdCBTdHJpbmcmIGJpbk5hbWUpCit7CisgICAgVmVjdG9yPENT
dHJpbmc+IGNoaWxkcmVuOworICAgIEdzdEJpbiogcGlwZWxpbmUgPSBhY3RpdmVQaXBlbGluZXNN
YXAoKS5nZXQocGlwZWxpbmVOYW1lLnV0ZjgoKSk7CisgICAgaWYgKCFwaXBlbGluZSkKKyAgICAg
ICAgcmV0dXJuIGNoaWxkcmVuOworCisgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBwYXJlbnQ7CisK
KyAgICBpZiAoYmluTmFtZS5pc0VtcHR5KCkpCisgICAgICAgIHBhcmVudCA9IEdTVF9FTEVNRU5U
X0NBU1QoZ3N0X29iamVjdF9yZWYocGlwZWxpbmUpKTsKKyAgICBlbHNlCisgICAgICAgIHBhcmVu
dCA9IGFkb3B0R1JlZihnc3RfYmluX2dldF9ieV9uYW1lKHBpcGVsaW5lLCBiaW5OYW1lLnV0Zjgo
KS5kYXRhKCkpKTsKKworICAgIGlmICghcGFyZW50IHx8ICFHU1RfSVNfQklOKHBhcmVudC5nZXQo
KSkpCisgICAgICAgIHJldHVybiBjaGlsZHJlbjsKKworICAgIGZvciAoR0xpc3QqIGl0ZW0gPSBH
U1RfQklOX0NISUxEUkVOKEdTVF9CSU5fQ0FTVChwYXJlbnQuZ2V0KCkpKTsgaXRlbTsgaXRlbSA9
IGl0ZW0tPm5leHQpIHsKKyAgICAgICAgaWYgKEdTVF9JU19CSU4oaXRlbS0+ZGF0YSkpIHsKKyAg
ICAgICAgICAgIEdVbmlxdWVQdHI8Z2NoYXI+IG5hbWUoZ3N0X2VsZW1lbnRfZ2V0X25hbWUoR1NU
X0VMRU1FTlRfQ0FTVChpdGVtLT5kYXRhKSkpOworICAgICAgICAgICAgY2hpbGRyZW4uYXBwZW5k
KENTdHJpbmcobmFtZS5nZXQoKSkpOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGNo
aWxkcmVuOworfQorCiB9CiAKICNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1v
bi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1l
ckNvbW1vbi5oCmluZGV4IDk2OWM3YzMzNGI5NTAzYTIxYTcyZTM3OWYxMzdjMjdhNmI5MTgxMjUu
LjMwY2ZmMTk2ZWU5ODFhN2E2MDNkYzRmZWRlMTNhMWZmYzYzZmVkMmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVh
bWVyQ29tbW9uLmgKQEAgLTIyMyw2ICsyMjMsMTIgQEAgZW51bSBjbGFzcyBHc3RWaWRlb0RlY29k
ZXJQbGF0Zm9ybSB7IElteFZQVSwgVmlkZW80TGludXggfTsKIAogYm9vbCBpc0dTdHJlYW1lclBs
dWdpbkF2YWlsYWJsZShjb25zdCBjaGFyKiBuYW1lKTsKIAordm9pZCByZWdpc3RlckFjdGl2ZVBp
cGVsaW5lKEdzdEVsZW1lbnQqKTsKK3ZvaWQgdW5yZWdpc3RlclBpcGVsaW5lKEdzdEVsZW1lbnQq
KTsKK1ZlY3RvcjxDU3RyaW5nPiBhY3RpdmVQaXBlbGluZXNOYW1lcygpOworQ1N0cmluZyBkdW1w
QWN0aXZlUGlwZWxpbmUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHN1YkJpbk5h
bWUpOworVmVjdG9yPENTdHJpbmc+IGdldEJpbkNoaWxkcmVuKGNvbnN0IFN0cmluZyYgcGlwZWxp
bmVOYW1lLCBjb25zdCBTdHJpbmcmIGJpbk5hbWUpOworCiB9CiAKICNpZm5kZWYgR1NUX0JVRkZF
Ul9EVFNfT1JfUFRTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuY3BwCmluZGV4IDUzZDU2ZjhlOTUwODM0Mjg4MzdjZWMxOGE0MTBhYzU4NDFiMGUwMjYuLjRm
ZWMzN2UzY2FlYWNiZWVlZmJkMjY5NGJmOWY2NmY2ZDlkYzg0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC00NDgsOSArNDQ4LDE0IEBA
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6fk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cigpCiAKICAgICAvLyBUaGUgY2hhbmdlIHRvIEdTVF9TVEFURV9OVUxMIHN0YXRlIGlzIGFsd2F5
cyBzeW5jaHJvbm91cy4gU28gYWZ0ZXIgdGhpcyBnZXRzIGV4ZWN1dGVkIHdlIGRvbid0IG5lZWQg
dG8gd29ycnkKICAgICAvLyBhYm91dCBoYW5kbGVycyBydW5uaW5nIGluIHRoZSBHU3RyZWFtZXIg
dGhyZWFkLgotICAgIGlmIChtX3BpcGVsaW5lKQorICAgIGlmIChtX3BpcGVsaW5lKSB7CisgICAg
ICAgIHVucmVnaXN0ZXJQaXBlbGluZShtX3BpcGVsaW5lLmdldCgpKTsKICAgICAgICAgZ3N0X2Vs
ZW1lbnRfc2V0X3N0YXRlKG1fcGlwZWxpbmUuZ2V0KCksIEdTVF9TVEFURV9OVUxMKTsKIAorICAg
ICAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgICAgICBtX3BsYXllci0+Z3N0cmVhbWVyQWN0aXZl
UGlwZWxpbmVzQ2hhbmdlZCgpOworICAgIH0KKwogICAgIG1fcGxheWVyID0gbnVsbHB0cjsKIH0K
IApAQCAtMTcwNyw2ICsxNzEyLDkgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6
OnZpZGVvQ2hhbmdlZENhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW0KIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXRQaXBlbGluZShHc3RFbGVtZW50KiBwaXBlbGlu
ZSkKIHsKICAgICBtX3BpcGVsaW5lID0gcGlwZWxpbmU7CisgICAgcmVnaXN0ZXJBY3RpdmVQaXBl
bGluZShtX3BpcGVsaW5lLmdldCgpKTsKKyAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgIG1fcGxh
eWVyLT5nc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7CiAKICAgICBHUmVmUHRyPEdz
dEJ1cz4gYnVzID0gYWRvcHRHUmVmKGdzdF9waXBlbGluZV9nZXRfYnVzKEdTVF9QSVBFTElORSht
X3BpcGVsaW5lLmdldCgpKSkpOwogICAgIGdzdF9idXNfc2V0X3N5bmNfaGFuZGxlcihidXMuZ2V0
KCksIFtdKEdzdEJ1cyosIEdzdE1lc3NhZ2UqIG1lc3NhZ2UsIGdwb2ludGVyIHVzZXJEYXRhKSB7
CkBAIC0yODkzLDYgKzI5MDEsOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
Y3JlYXRlR1NUUGxheUJpbihjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJgogICAgICAgICB9
CiAKICAgICAgICAgR1NUX0lORk9fT0JKRUNUKHBpcGVsaW5lKCksICJUZWFyaW5nIGRvd24gYXMg
d2UgbmVlZCB0byB1c2UgJXMgbm93LiIsIHBsYXliaW5OYW1lKTsKKyAgICAgICAgdW5yZWdpc3Rl
clBpcGVsaW5lKG1fcGlwZWxpbmUuZ2V0KCkpOworICAgICAgICBpZiAobV9wbGF5ZXIpCisgICAg
ICAgICAgICBtX3BsYXllci0+Z3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOwogICAg
ICAgICBjaGFuZ2VQaXBlbGluZVN0YXRlKEdTVF9TVEFURV9OVUxMKTsKICAgICAgICAgbV9waXBl
bGluZSA9IG51bGxwdHI7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5oCmluZGV4IDg1MTY1ZDFiZjEyOWNlY2UxYTEyNmQxYzMwNGQzZmM5NjJlNzI1
MzguLjY5Y2M2MDc1MmY3ODlkYmRhNzE2NGQwMzU0NWEyYWEwMTk2MGEzZWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTEyNyw2ICsxMjcsOCBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUgZXh0ZW5kZWRT
dXBwb3J0c1R5cGUoY29uc3QgTWVkaWFFbmdpbmVTdXBwb3J0UGFyYW1ldGVycyYsIE1lZGlhUGxh
eWVyOjpTdXBwb3J0c1R5cGUpOwogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzS2V5U3lzdGVtKGNv
bnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKIAorICAgIE1l
ZGlhUGxheWVyKiBtZWRpYVBsYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWVyOyB9CisKICAg
ICBib29sIGhhc1ZpZGVvKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9oYXNWaWRlbzsgfQogICAg
IGJvb2wgaGFzQXVkaW8oKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2hhc0F1ZGlvOyB9CiAgICAg
dm9pZCBsb2FkKGNvbnN0IFN0cmluZyAmdXJsKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBl
bmRQaXBlbGluZS5jcHAKaW5kZXggNWEyYmRlZGExYjg3YTFkZWE4YzZiYmY1ZjY5ODQxZDdlOWY2
NmMwYi4uYjNlOTAyOGIyZjIyOTMwZmVmMTAyNTI0Yjk2ZTlmMDdmMzc0OTE3ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQ
aXBlbGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHAKQEAgLTExNSw5ICsxMTUsMTEgQEAgQXBwZW5kUGlw
ZWxpbmU6OkFwcGVuZFBpcGVsaW5lKFJlZjxNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1lck1TRT4g
bWVkaWFTb3VyY2VDbGkKICAgICAvLyBGSVhNRTogZ2l2ZSBhIG5hbWUgdG8gdGhlIHBpcGVsaW5l
LCBtYXliZSByZWxhdGVkIHdpdGggdGhlIHRyYWNrIGl0J3MgbWFuYWdpbmcuCiAgICAgLy8gVGhl
IHRyYWNrIG5hbWUgaXMgc3RpbGwgdW5rbm93biBhdCB0aGlzIHRpbWUsIHRob3VnaC4KICAgICBz
dGF0aWMgc2l6ZV90IGFwcGVuZFBpcGVsaW5lQ291bnQgPSAwOwotICAgIFN0cmluZyBwaXBlbGlu
ZU5hbWUgPSBtYWtlU3RyaW5nKCJhcHBlbmQtcGlwZWxpbmUtIiwKKyAgICBTdHJpbmcgcGlwZWxp
bmVOYW1lID0gbWFrZVN0cmluZygibXNlLWFwcGVuZC1waXBlbGluZS0iLAogICAgICAgICBtX3Nv
dXJjZUJ1ZmZlclByaXZhdGUtPnR5cGUoKS5jb250YWluZXJUeXBlKCkucmVwbGFjZSgiLyIsICIt
IiksICctJywgYXBwZW5kUGlwZWxpbmVDb3VudCsrKTsKICAgICBtX3BpcGVsaW5lID0gZ3N0X3Bp
cGVsaW5lX25ldyhwaXBlbGluZU5hbWUudXRmOCgpLmRhdGEoKSk7CisgICAgcmVnaXN0ZXJBY3Rp
dmVQaXBlbGluZShtX3BpcGVsaW5lLmdldCgpKTsKKyAgICBtX3BsYXllclByaXZhdGUtPm1lZGlh
UGxheWVyKCktPmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKTsKIAogICAgIG1fYnVz
ID0gYWRvcHRHUmVmKGdzdF9waXBlbGluZV9nZXRfYnVzKEdTVF9QSVBFTElORShtX3BpcGVsaW5l
LmdldCgpKSkpOwogICAgIGdzdF9idXNfYWRkX3NpZ25hbF93YXRjaF9mdWxsKG1fYnVzLmdldCgp
LCBSdW5Mb29wU291cmNlUHJpb3JpdHk6OlJ1bkxvb3BEaXNwYXRjaGVyKTsKQEAgLTI0Miw2ICsy
NDQsOSBAQCBBcHBlbmRQaXBlbGluZTo6fkFwcGVuZFBpcGVsaW5lKCkKICAgICAvLyB3aGVuIGNo
YW5naW5nIHRoZSBwaXBlbGluZSBzdGF0ZS4KIAogICAgIGlmIChtX3BpcGVsaW5lKSB7CisgICAg
ICAgIHVucmVnaXN0ZXJQaXBlbGluZShtX3BpcGVsaW5lLmdldCgpKTsKKyAgICAgICAgaWYgKG1f
cGxheWVyUHJpdmF0ZSkKKyAgICAgICAgICAgIG1fcGxheWVyUHJpdmF0ZS0+bWVkaWFQbGF5ZXIo
KS0+Z3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOwogICAgICAgICBBU1NFUlQobV9i
dXMpOwogICAgICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2RhdGEobV9idXMu
Z2V0KCksIHRoaXMpOwogICAgICAgICBnc3RfYnVzX2Rpc2FibGVfc3luY19tZXNzYWdlX2VtaXNz
aW9uKG1fYnVzLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2Nh
bGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGU1
MTk1NmE0NDg5NGQ5MTUyMmU3NmE0ZTJlNjQzM2E0ZmVhMWUxYzguLmZmNTA0MmVkYjY2ODY3ODY1
YWNkODlhZTMyOWUzMjRiZGM3ZjQ5YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5q
cwpAQCAtNTIxLDYgKzUyMSw3IEBAIGxvY2FsaXplZFN0cmluZ3NbIkV4cG9ydCAoJXMpIl0gPSAi
RXhwb3J0ICglcykiOwogbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IEhBUiJdID0gIkV4cG9ydCBI
QVIiOwogbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IFJlc3VsdCJdID0gIkV4cG9ydCBSZXN1bHQi
OwogbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IFRlc3QiXSA9ICJFeHBvcnQgVGVzdCI7Citsb2Nh
bGl6ZWRTdHJpbmdzWyJFeHBvcnQgcGlwZWxpbmUgZG90IHJlcHJlc2VudGF0aW9uICglcykiXSA9
ICJFeHBvcnQgcGlwZWxpbmUgZG90IHJlcHJlc2VudGF0aW9uICglcykiOwogbG9jYWxpemVkU3Ry
aW5nc1siRXhwb3J0IHJlY29yZGluZyAoJXMpIl0gPSAiRXhwb3J0IHJlY29yZGluZyAoJXMpIjsK
IGxvY2FsaXplZFN0cmluZ3NbIkV4cG9ydCByZWNvcmRpbmcgKCVzKVxuU2hpZnQtY2xpY2sgdG8g
ZXhwb3J0IGEgSFRNTCByZWR1Y3Rpb24iXSA9ICJFeHBvcnQgcmVjb3JkaW5nICglcylcblNoaWZ0
LWNsaWNrIHRvIGV4cG9ydCBhIEhUTUwgcmVkdWN0aW9uIjsKIGxvY2FsaXplZFN0cmluZ3NbIkV4
cG9ydCByZXN1bHQgKCVzKSJdID0gIkV4cG9ydCByZXN1bHQgKCVzKSI7CkBAIC01NzgsNiArNTc5
LDcgQEAgbG9jYWxpemVkU3RyaW5nc1siRnVsbC1TY3JlZW4gZnJvbSBcdTIwMUMlc1x1MjAxRCJd
ID0gIkZ1bGwtU2NyZWVuIGZyb20gXHUyMDFDJXMKIGxvY2FsaXplZFN0cmluZ3NbIkZ1bmN0aW9u
Il0gPSAiRnVuY3Rpb24iOwogbG9jYWxpemVkU3RyaW5nc1siRnVuY3Rpb24gTmFtZSBWYXJpYWJs
ZSJdID0gIkZ1bmN0aW9uIE5hbWUgVmFyaWFibGUiOwogbG9jYWxpemVkU3RyaW5nc1siR0lGIl0g
PSAiR0lGIjsKK2xvY2FsaXplZFN0cmluZ3NbIkdTdHJlYW1lciJdID0gIkdTdHJlYW1lciI7CiBs
b2NhbGl6ZWRTdHJpbmdzWyJHYXJiYWdlIENvbGxlY3Rpb24iXSA9ICJHYXJiYWdlIENvbGxlY3Rp
b24iOwogbG9jYWxpemVkU3RyaW5nc1siR2VuZXJhbCJdID0gIkdlbmVyYWwiOwogbG9jYWxpemVk
U3RyaW5nc1siR2V0dGVyIl0gPSAiR2V0dGVyIjsKQEAgLTg1NSw2ICs4NTcsNyBAQCBsb2NhbGl6
ZWRTdHJpbmdzWyJQZXJpb2RzIG9mIGhpZ2ggQ1BVIHV0aWxpemF0aW9uIHdpbGwgcmFwaWRseSBk
cmFpbiBiYXR0ZXJ5LiBTdAogbG9jYWxpemVkU3RyaW5nc1siUGluZyJdID0gIlBpbmciOwogbG9j
YWxpemVkU3RyaW5nc1siUGluZyBGcmFtZSJdID0gIlBpbmcgRnJhbWUiOwogbG9jYWxpemVkU3Ry
aW5nc1siUGluZ3MiXSA9ICJQaW5ncyI7Citsb2NhbGl6ZWRTdHJpbmdzWyJQaXBlbGluZXMiXSA9
ICJQaXBlbGluZXMiOwogbG9jYWxpemVkU3RyaW5nc1siUGxheSBTb3VuZCJdID0gIlBsYXkgU291
bmQiOwogLyogVG9vbHRpcCBmb3IgYSB0aW1lIHJhbmdlIGJhciB0aGF0IHJlcHJlc2VudHMgd2hl
biB0aGUgcGxheWJhY2sgb2YgYSBhdWRpby92aWRlbyBlbGVtZW50IGlzIHJ1bm5pbmcgKi8KIGxv
Y2FsaXplZFN0cmluZ3NbIlBsYXlpbmciXSA9ICJQbGF5aW5nIjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9TY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBs
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFjZS1yZXNv
dXJjZXMucGwKaW5kZXggZmRiYWQzODNiMmVmYjZjMmJiOTU0Zjc1ZTVlMzE3M2YzYzQ2MTZlOC4u
M2MwN2NjNWE4MTBlYjA0Y2U0ZTY1OGRlNzA2ZjY5OWYxYjY5NTE4NCAxMDA3NTUKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFjZS1yZXNvdXJjZXMu
cGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFj
ZS1yZXNvdXJjZXMucGwKQEAgLTE2NiwxMyArMTY2LDE2IEBAIG15ICRwcm90b2NvbERpciA9IEZp
bGU6OlNwZWMtPmNhdGRpcigkdGFyZ2V0UmVzb3VyY2VQYXRoLCAnUHJvdG9jb2wnKTsKIG15ICR3
b3JrZXJzRGlyID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCR0YXJnZXRSZXNvdXJjZVBhdGgsICdXb3Jr
ZXJzJyk7CiBteSAkY29kZU1pcnJvclBhdGggPSBGaWxlOjpTcGVjLT5jYXRkaXIoJHVpUm9vdCwg
J0V4dGVybmFsJywgJ0NvZGVNaXJyb3InKTsKIG15ICRlc3ByaW1hUGF0aCA9IEZpbGU6OlNwZWMt
PmNhdGRpcigkdWlSb290LCAnRXh0ZXJuYWwnLCAnRXNwcmltYScpOworbXkgJGQzUGF0aCA9IEZp
bGU6OlNwZWMtPmNhdGRpcigkdWlSb290LCAnRXh0ZXJuYWwnLCAnZDMuanMnKTsKIG15ICR0aHJl
ZWpzUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGRpcigkdWlSb290LCAnRXh0ZXJuYWwnLCAndGhyZWUu
anMnKTsKIAogJHdlYkluc3BlY3RvclVJQWRkaXRpb25zRGlyID0gJndlYkluc3BlY3RvclVJQWRk
aXRpb25zRGlyKCk7CiAKIG15ICRjb2RlTWlycm9yTGljZW5zZSA9IHJlYWRMaWNlbnNlRmlsZShG
aWxlOjpTcGVjLT5jYXRmaWxlKCRjb2RlTWlycm9yUGF0aCwgJ0xJQ0VOU0UnKSk7CiBteSAkZXNw
cmltYUxpY2Vuc2UgPSByZWFkTGljZW5zZUZpbGUoRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkZXNwcmlt
YVBhdGgsICdMSUNFTlNFJykpOworbXkgJGQzTGljZW5zZSA9IHJlYWRMaWNlbnNlRmlsZShGaWxl
OjpTcGVjLT5jYXRmaWxlKCRkM1BhdGgsICdMSUNFTlNFJykpOwogbXkgJHRocmVlanNMaWNlbnNl
ID0gcmVhZExpY2Vuc2VGaWxlKEZpbGU6OlNwZWMtPmNhdGZpbGUoJHRocmVlanNQYXRoLCAnTElD
RU5TRScpKTsKKwogbWFrZV9wYXRoKCRwcm90b2NvbERpciwgJHRhcmdldFJlc291cmNlUGF0aCk7
CiAKICRweXRob24gPSAkRU5WeyJQWVRIT04ifSBpZiBkZWZpbmVkKCRFTlZ7IlBZVEhPTiJ9KTsK
QEAgLTE4Myw2ICsxODYsOCBAQCBjb3B5KEZpbGU6OlNwZWMtPmNhdGZpbGUoJEVOVnsnSkFWQVND
UklQVENPUkVfUFJJVkFURV9IRUFERVJTX0RJUid9LCAnSW5zcGVjdG9yQgogbXkgJGZvcmNlVG9v
bEluc3RhbGwgPSBkZWZpbmVkICRFTlZ7J0ZPUkNFX1RPT0xfSU5TVEFMTCd9ICYmICgkRU5WeydG
T1JDRV9UT09MX0lOU1RBTEwnfSBlcSAnWUVTJyk7CiBteSAkc2hvdWxkQ29tYmluZU1haW4gPSBk
ZWZpbmVkICRFTlZ7J0NPTUJJTkVfSU5TUEVDVE9SX1JFU09VUkNFUyd9ICYmICgkRU5WeydDT01C
SU5FX0lOU1BFQ1RPUl9SRVNPVVJDRVMnfSBlcSAnWUVTJyk7CiBteSAkc2hvdWxkQ29tYmluZVRl
c3QgPSBkZWZpbmVkICRFTlZ7J0NPTUJJTkVfVEVTVF9SRVNPVVJDRVMnfSAmJiAoJEVOVnsnQ09N
QklORV9URVNUX1JFU09VUkNFUyd9IGVxICdZRVMnKTsKK215ICRzaG91bGRDb21iaW5lR1N0cmVh
bWVyUmVzb3VyY2VzID0gZGVmaW5lZCAkRU5WeydDT01CSU5FX0dTVFJFQU1FUl9SRVNPVVJDRVMn
fSAmJiAoJEVOVnsnQ09NQklORV9HU1RSRUFNRVJfUkVTT1VSQ0VTJ30gZXEgJ1lFUycpOworCiBt
eSAkY29tYmluZVJlc291cmNlc0NtZCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJHNjcmlwdHNSb290
LCAnY29tYmluZS1yZXNvdXJjZXMucGwnKTsKIAogaWYgKCRmb3JjZVRvb2xJbnN0YWxsKSB7CkBA
IC0zNDYsNiArMzUxLDE3IEBAIGlmICgkc2hvdWxkQ29tYmluZU1haW4pIHsKICAgICAgICAnLS1v
dXRwdXQtZGlyJywgJGRlcml2ZWRTb3VyY2VzRGlyLAogICAgICAgICctLW91dHB1dC1zY3JpcHQt
bmFtZScsICdUaHJlZS5qcycpOwogCisgICAgaWYgKCRzaG91bGRDb21iaW5lR1N0cmVhbWVyUmVz
b3VyY2VzKSB7CisgICAgICAgICMgQ29tYmluZSB0aGUgZDMuanMgSmF2YVNjcmlwdCBmaWxlcyBp
biBQcm9kdWN0aW9uIGJ1aWxkcyBpbnRvIGEgc2luZ2xlIGZpbGUgKEQzLmpzKS4KKyAgICAgICAg
c3lzdGVtKCRwZXJsLCAkY29tYmluZVJlc291cmNlc0NtZCwKKyAgICAgICAgICAgJy0taW5wdXQt
ZGlyJywgJ0V4dGVybmFsL2QzLmpzJywKKyAgICAgICAgICAgJy0taW5wdXQtaHRtbCcsICRkZXJp
dmVkU291cmNlc01haW5IVE1MLAorICAgICAgICAgICAnLS1pbnB1dC1odG1sLWRpcicsICR1aVJv
b3QsCisgICAgICAgICAgICctLWRlcml2ZWQtc291cmNlcy1kaXInLCAkZGVyaXZlZFNvdXJjZXNE
aXIsCisgICAgICAgICAgICctLW91dHB1dC1kaXInLCAkZGVyaXZlZFNvdXJjZXNEaXIsCisgICAg
ICAgICAgICctLW91dHB1dC1zY3JpcHQtbmFtZScsICdEMy5qcycpOworICAgIH0KKwogICAgICMg
UmVtb3ZlIGNvbnNvbGUuYXNzZXJ0IGNhbGxzIGZyb20gdGhlIE1haW4uanMgZmlsZS4KICAgICBt
eSAkZGVyaXZlZFNvdXJjZXNNYWluSlMgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCRkZXJpdmVkU291
cmNlc0RpciwgJ01haW4uanMnKTsKICAgICBzeXN0ZW0oJHBlcmwsIEZpbGU6OlNwZWMtPmNhdGZp
bGUoJHNjcmlwdHNSb290LCAncmVtb3ZlLWNvbnNvbGUtYXNzZXJ0cy5wbCcpLApAQCAtNDA2LDYg
KzQyMiwxOCBAQCBpZiAoJHNob3VsZENvbWJpbmVNYWluKSB7CiAgICAgbXkgJGRlcml2ZWRTb3Vy
Y2VzVGhyZWVqc0pTID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkZGVyaXZlZFNvdXJjZXNEaXIsICdU
aHJlZS5qcycpOwogICAgIHN5c3RlbShxcSgiJHB5dGhvbiIgIiRqc01pblNjcmlwdCIgPCAiJGRl
cml2ZWRTb3VyY2VzVGhyZWVqc0pTIiA+PiAiJHRhcmdldFRocmVlanNKUyIpKSBhbmQgZGllICJG
YWlsZWQgdG8gbWluaWZ5ICRkZXJpdmVkU291cmNlc1RocmVlanNKUzogJCEiOwogCisgICAgbXkg
JHRhcmdldEQzSlMgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCR0YXJnZXRSZXNvdXJjZVBhdGgsICdE
My5qcycpOworICAgIGlmICgkc2hvdWxkQ29tYmluZUdTdHJlYW1lclJlc291cmNlcykgeworICAg
ICAgICAjIEV4cG9ydCB0aGUgbGljZW5zZSBpbnRvIEQzLmpzLgorICAgICAgICBzZWVkRmlsZSgk
dGFyZ2V0RDNKUywgJGQzTGljZW5zZSk7CisKKyAgICAgICAgIyBNaW5pZnkgdGhlIEQzLmpzIGZp
bGUsIGFwcGVuZGluZyB0byB0aGUgbGljZW5zZSB0aGF0IHdhcyBleHBvcnRlZCBhYm92ZS4KKyAg
ICAgICAgbXkgJGRlcml2ZWRTb3VyY2VzRDNKUyA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJGRlcml2
ZWRTb3VyY2VzRGlyLCAnRDMuanMnKTsKKyAgICAgICAgc3lzdGVtKHFxKCIkcHl0aG9uIiAiJGpz
TWluU2NyaXB0IiA8ICIkZGVyaXZlZFNvdXJjZXNEM0pTIiA+PiAiJHRhcmdldEQzSlMiKSkgYW5k
IGRpZSAiRmFpbGVkIHRvIG1pbmlmeSAkZGVyaXZlZFNvdXJjZXNEM0pTOiAkISI7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgc2VlZEZpbGUoJHRhcmdldEQzSlMsICIiKTsKKyAgICB9CisKICAgICAj
IENvcHkgb3ZlciB0aGUgSW1hZ2VzIGRpcmVjdG9yeS4KICAgICBkaXR0byhGaWxlOjpTcGVjLT5j
YXRkaXIoJHVpUm9vdCwgJ0ltYWdlcycpLCBGaWxlOjpTcGVjLT5jYXRkaXIoJHRhcmdldFJlc291
cmNlUGF0aCwgJ0ltYWdlcycpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQmFzZS9NYWluLmpzCmluZGV4IGU5ZWJkNjhhNWQ3ODRkNWVlMTlmMDBiM2JkYjQz
OWYxNTNjZDZjMTcuLmRmMTE1MGVjZDc1NzJkMDYzODAxMTY2MWVhNjE1MWQwZmZlNjc5Y2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMK
QEAgLTcxLDYgKzcxLDggQEAgV0kubG9hZGVkID0gZnVuY3Rpb24oKQogICAgICAgICBJbnNwZWN0
b3JCYWNrZW5kLnJlZ2lzdGVyRGF0YWJhc2VEaXNwYXRjaGVyKFdJLkRhdGFiYXNlT2JzZXJ2ZXIp
OwogICAgIGlmIChJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyKQog
ICAgICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyKFdJLkRl
YnVnZ2VyT2JzZXJ2ZXIpOworICAgIGlmIChJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyR1N0cmVh
bWVyRGlzcGF0Y2hlcikKKyAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckdTdHJlYW1l
ckRpc3BhdGNoZXIoV0kuR1N0cmVhbWVyT2JzZXJ2ZXIpOwogICAgIGlmIChJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVySGVhcERpc3BhdGNoZXIpCiAgICAgICAgIEluc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJIZWFwRGlzcGF0Y2hlcihXSS5IZWFwT2JzZXJ2ZXIpOwogICAgIGlmIChJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVySW5zcGVjdG9yRGlzcGF0Y2hlcikKQEAgLTEyMyw2ICsxMjUsNyBAQCBX
SS5sb2FkZWQgPSBmdW5jdGlvbigpCiAgICAgICAgIFdJLndvcmtlck1hbmFnZXIgPSBuZXcgV0ku
V29ya2VyTWFuYWdlciwKICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyID0gbmV3IFdJLkRP
TURlYnVnZ2VyTWFuYWdlciwKICAgICAgICAgV0kuY2FudmFzTWFuYWdlciA9IG5ldyBXSS5DYW52
YXNNYW5hZ2VyLAorICAgICAgICBXSS5nc3RyZWFtZXJNYW5hZ2VyID0gbmV3IFdJLkdTdHJlYW1l
ck1hbmFnZXIsCiAgICAgXTsKIAogICAgIC8vIFJlZ2lzdGVyIGZvciBldmVudHMuCkBAIC00NzUs
NiArNDc4LDExIEBAIFdJLmNvbnRlbnRMb2FkZWQgPSBmdW5jdGlvbigpCiAgICAgXTsKIAogICAg
IFdJLl9rbm93blRhYkNsYXNzZXNCeVR5cGUgPSBuZXcgTWFwOworCisgICAgaWYgKFdJLlBsYXRm
b3JtLnBvcnQgPT09ICJndGsiIHx8IFdJLlBsYXRmb3JtLnBvcnQgPT09ICJ3cGUiKSB7CisgICAg
ICAgIHByb2R1Y3Rpb25UYWJDbGFzc2VzLnB1c2goV0kuR1N0cmVhbWVyVGFiQ29udGVudFZpZXcp
OworICAgIH0KKwogICAgIC8vIFNldCB0YWIgY2xhc3NlcyBkaXJlY3RseS4gVGhlIHB1YmxpYyBB
UEkgdHJpZ2dlcnMgb3RoZXIgdXBkYXRlcyBhbmQKICAgICAvLyBub3RpZmljYXRpb25zIHRoYXQg
d29uJ3Qgd29yayBvciBoYXZlIG5vIGxpc3RlbmVycyBhdCBXSSBwb2ludC4KICAgICBmb3IgKGxl
dCB0YWJDbGFzcyBvZiBwcm9kdWN0aW9uVGFiQ2xhc3NlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvUGxhdGZvcm0uanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1BsYXRmb3JtLmpzCmluZGV4IGZmYjVhNzdl
MmMzYWRjNzRjZjJiYmU5ODYwOTZjYTcwYWZhMGI2OTYuLjU3M2RiODlhOWUzYTUxZmUxNjg3NmVm
ZTdjMDU4MjY3ZGUxYzcwN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0Jhc2UvUGxhdGZvcm0uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQmFzZS9QbGF0Zm9ybS5qcwpAQCAtMjUsNiArMjUsNyBAQAogCiBXSS5QbGF0
Zm9ybSA9IHsKICAgICBuYW1lOiBJbnNwZWN0b3JGcm9udGVuZEhvc3QucGxhdGZvcm0oKSwKKyAg
ICBwb3J0OiBJbnNwZWN0b3JGcm9udGVuZEhvc3QucG9ydCgpLAogICAgIGlzTmlnaHRseUJ1aWxk
OiBmYWxzZSwKICAgICB2ZXJzaW9uOiB7CiAgICAgICAgIGJhc2U6IDAsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9HU3RyZWFtZXJN
YW5hZ2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxl
cnMvR1N0cmVhbWVyTWFuYWdlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDdjNjQwNjA2Mjk4M2MzMmQwMjA0
NzNkYzU3M2YyM2Q4MGFmMmJiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR1N0cmVhbWVyTWFuYWdlci5qcwpAQCAtMCww
ICsxLDY5IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAxOSBJZ2FsaWEgUy5MCisgKgorICog
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdl
bmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1B
ICAwMjExMC0xMzAxICBVU0EKKyAqLworCitXSS5HU3RyZWFtZXJNYW5hZ2VyID0gY2xhc3MgR1N0
cmVhbWVyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAoreworICAgIGNvbnN0cnVjdG9yKCkKKyAg
ICB7CisgICAgICAgIHN1cGVyKCk7CisKKyAgICAgICAgdGhpcy5fcGFyc2VyID0gbmV3IERPTVBh
cnNlcigpOworICAgICAgICB0aGlzLl9lbmFibGVkID0gV0kuUGxhdGZvcm0ucG9ydCA9PT0gImd0
ayIgfHwgV0kuUGxhdGZvcm0ucG9ydCA9PT0gIndwZSI7CisgICAgfQorCisgICAgLy8gQWdlbnQK
KworICAgIGdldCBkb21haW5zKCkgeyByZXR1cm4gWyJHU3RyZWFtZXIiXTsgfQorCisgICAgYWN0
aXZhdGVFeHRyYURvbWFpbihkb21haW4pCisgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydChk
b21haW4gPT09ICJHU3RyZWFtZXIiKTsKKyAgICB9CisKKyAgICAvLyBQdWJsaWMKKworICAgIGdl
dCBhZ2VudCgpIHsKKyAgICAgICAgbGV0IHRhcmdldCA9IFdJLmFzc3VtaW5nTWFpblRhcmdldCgp
OworICAgICAgICBpZiAodGFyZ2V0Lmhhc0RvbWFpbigiR1N0cmVhbWVyIikpCisgICAgICAgICAg
ICByZXR1cm4gdGFyZ2V0LkdTdHJlYW1lckFnZW50OworCisgICAgICAgIHJldHVybiBudWxsOwor
ICAgIH0KKworICAgIGV4cG9ydChvYmplY3QpCisgICAgeworICAgICAgICBXSS5GaWxlVXRpbGl0
aWVzLnNhdmUob2JqZWN0LnNhdmVEYXRhKTsKKyAgICB9CisKKyAgICByZW5kZXJTVkdFbGVtZW50
KGdyYXBoUmVwcmVzZW50YXRpb24pCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fcGFyc2Vy
LnBhcnNlRnJvbVN0cmluZyhncmFwaFJlcHJlc2VudGF0aW9uLCAiaW1hZ2Uvc3ZnK3htbCIpOwor
ICAgIH0KKworICAgIC8vIEdTdHJlYW1lck9ic2VydmVyCisKKyAgICBhY3RpdmVQaXBlbGluZXND
aGFuZ2VkKCkKKyAgICB7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJ
LkdTdHJlYW1lck1hbmFnZXIuRXZlbnQuQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCwge30pOworICAg
IH0KKworfTsKKworV0kuR1N0cmVhbWVyTWFuYWdlci5FdmVudCA9IHsKKyAgICBBY3RpdmVQaXBl
bGluZXNDaGFuZ2VkOiAiZ3N0cmVhbWVyLW1hbmFnZXItYWN0aXZlLXBpcGVsaW5lcy13ZXJlLWNo
YW5nZWQiLAorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0V4dGVybmFsL2QzLmpzL0xJQ0VOU0UgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9FeHRlcm5hbC9kMy5qcy9MSUNFTlNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkOWQ4NzVlZGI0Njk3
ODZhOWM2ZGJhZTVhYWVlZjlhM2JjYjJjMzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9kMy5qcy9MSUNFTlNFCkBAIC0wLDAg
KzEsMjcgQEAKK0NvcHlyaWdodCAyMDEwLTIwMTcgTWlrZSBCb3N0b2NrCitBbGwgcmlnaHRzIHJl
c2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLAorYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcworICBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKworKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAgYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyogTmVpdGhl
ciB0aGUgbmFtZSBvZiB0aGUgYXV0aG9yIG5vciB0aGUgbmFtZXMgb2YgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvCisgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORAorQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwor
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCitBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKK1NPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvZDMuanMvZDMuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9kMy5qcy9kMy5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
M2M2NDA2ODllMTA1Mzc5Y2ZmZDhiYzM2NDk1NTMwNzdmNmFlNzQyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvZDMuanMvZDMu
anMKQEAgLTAsMCArMSwxODUwMyBAQAorLy8gaHR0cHM6Ly9kM2pzLm9yZyB2NS4xNC4yIENvcHly
aWdodCAyMDE5IE1pa2UgQm9zdG9jaworKGZ1bmN0aW9uIChnbG9iYWwsIGZhY3RvcnkpIHsKK3R5
cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVk
JyA/IGZhY3RvcnkoZXhwb3J0cykgOgordHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBk
ZWZpbmUuYW1kID8gZGVmaW5lKFsnZXhwb3J0cyddLCBmYWN0b3J5KSA6CisoZ2xvYmFsID0gZ2xv
YmFsIHx8IHNlbGYsIGZhY3RvcnkoZ2xvYmFsLmQzID0gZ2xvYmFsLmQzIHx8IHt9KSk7Cit9KHRo
aXMsIGZ1bmN0aW9uIChleHBvcnRzKSB7ICd1c2Ugc3RyaWN0JzsKKwordmFyIHZlcnNpb24gPSAi
NS4xNC4yIjsKKworZnVuY3Rpb24gYXNjZW5kaW5nKGEsIGIpIHsKKyAgcmV0dXJuIGEgPCBiID8g
LTEgOiBhID4gYiA/IDEgOiBhID49IGIgPyAwIDogTmFOOworfQorCitmdW5jdGlvbiBiaXNlY3Rv
cihjb21wYXJlKSB7CisgIGlmIChjb21wYXJlLmxlbmd0aCA9PT0gMSkgY29tcGFyZSA9IGFzY2Vu
ZGluZ0NvbXBhcmF0b3IoY29tcGFyZSk7CisgIHJldHVybiB7CisgICAgbGVmdDogZnVuY3Rpb24o
YSwgeCwgbG8sIGhpKSB7CisgICAgICBpZiAobG8gPT0gbnVsbCkgbG8gPSAwOworICAgICAgaWYg
KGhpID09IG51bGwpIGhpID0gYS5sZW5ndGg7CisgICAgICB3aGlsZSAobG8gPCBoaSkgeworICAg
ICAgICB2YXIgbWlkID0gbG8gKyBoaSA+Pj4gMTsKKyAgICAgICAgaWYgKGNvbXBhcmUoYVttaWRd
LCB4KSA8IDApIGxvID0gbWlkICsgMTsKKyAgICAgICAgZWxzZSBoaSA9IG1pZDsKKyAgICAgIH0K
KyAgICAgIHJldHVybiBsbzsKKyAgICB9LAorICAgIHJpZ2h0OiBmdW5jdGlvbihhLCB4LCBsbywg
aGkpIHsKKyAgICAgIGlmIChsbyA9PSBudWxsKSBsbyA9IDA7CisgICAgICBpZiAoaGkgPT0gbnVs
bCkgaGkgPSBhLmxlbmd0aDsKKyAgICAgIHdoaWxlIChsbyA8IGhpKSB7CisgICAgICAgIHZhciBt
aWQgPSBsbyArIGhpID4+PiAxOworICAgICAgICBpZiAoY29tcGFyZShhW21pZF0sIHgpID4gMCkg
aGkgPSBtaWQ7CisgICAgICAgIGVsc2UgbG8gPSBtaWQgKyAxOworICAgICAgfQorICAgICAgcmV0
dXJuIGxvOworICAgIH0KKyAgfTsKK30KKworZnVuY3Rpb24gYXNjZW5kaW5nQ29tcGFyYXRvcihm
KSB7CisgIHJldHVybiBmdW5jdGlvbihkLCB4KSB7CisgICAgcmV0dXJuIGFzY2VuZGluZyhmKGQp
LCB4KTsKKyAgfTsKK30KKwordmFyIGFzY2VuZGluZ0Jpc2VjdCA9IGJpc2VjdG9yKGFzY2VuZGlu
Zyk7Cit2YXIgYmlzZWN0UmlnaHQgPSBhc2NlbmRpbmdCaXNlY3QucmlnaHQ7Cit2YXIgYmlzZWN0
TGVmdCA9IGFzY2VuZGluZ0Jpc2VjdC5sZWZ0OworCitmdW5jdGlvbiBwYWlycyhhcnJheSwgZikg
eworICBpZiAoZiA9PSBudWxsKSBmID0gcGFpcjsKKyAgdmFyIGkgPSAwLCBuID0gYXJyYXkubGVu
Z3RoIC0gMSwgcCA9IGFycmF5WzBdLCBwYWlycyA9IG5ldyBBcnJheShuIDwgMCA/IDAgOiBuKTsK
KyAgd2hpbGUgKGkgPCBuKSBwYWlyc1tpXSA9IGYocCwgcCA9IGFycmF5WysraV0pOworICByZXR1
cm4gcGFpcnM7Cit9CisKK2Z1bmN0aW9uIHBhaXIoYSwgYikgeworICByZXR1cm4gW2EsIGJdOwor
fQorCitmdW5jdGlvbiBjcm9zcyh2YWx1ZXMwLCB2YWx1ZXMxLCByZWR1Y2UpIHsKKyAgdmFyIG4w
ID0gdmFsdWVzMC5sZW5ndGgsCisgICAgICBuMSA9IHZhbHVlczEubGVuZ3RoLAorICAgICAgdmFs
dWVzID0gbmV3IEFycmF5KG4wICogbjEpLAorICAgICAgaTAsCisgICAgICBpMSwKKyAgICAgIGks
CisgICAgICB2YWx1ZTA7CisKKyAgaWYgKHJlZHVjZSA9PSBudWxsKSByZWR1Y2UgPSBwYWlyOwor
CisgIGZvciAoaTAgPSBpID0gMDsgaTAgPCBuMDsgKytpMCkgeworICAgIGZvciAodmFsdWUwID0g
dmFsdWVzMFtpMF0sIGkxID0gMDsgaTEgPCBuMTsgKytpMSwgKytpKSB7CisgICAgICB2YWx1ZXNb
aV0gPSByZWR1Y2UodmFsdWUwLCB2YWx1ZXMxW2kxXSk7CisgICAgfQorICB9CisKKyAgcmV0dXJu
IHZhbHVlczsKK30KKworZnVuY3Rpb24gZGVzY2VuZGluZyhhLCBiKSB7CisgIHJldHVybiBiIDwg
YSA/IC0xIDogYiA+IGEgPyAxIDogYiA+PSBhID8gMCA6IE5hTjsKK30KKworZnVuY3Rpb24gbnVt
YmVyKHgpIHsKKyAgcmV0dXJuIHggPT09IG51bGwgPyBOYU4gOiAreDsKK30KKworZnVuY3Rpb24g
dmFyaWFuY2UodmFsdWVzLCB2YWx1ZW9mKSB7CisgIHZhciBuID0gdmFsdWVzLmxlbmd0aCwKKyAg
ICAgIG0gPSAwLAorICAgICAgaSA9IC0xLAorICAgICAgbWVhbiA9IDAsCisgICAgICB2YWx1ZSwK
KyAgICAgIGRlbHRhLAorICAgICAgc3VtID0gMDsKKworICBpZiAodmFsdWVvZiA9PSBudWxsKSB7
CisgICAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIGlmICghaXNOYU4odmFsdWUgPSBudW1iZXIo
dmFsdWVzW2ldKSkpIHsKKyAgICAgICAgZGVsdGEgPSB2YWx1ZSAtIG1lYW47CisgICAgICAgIG1l
YW4gKz0gZGVsdGEgLyArK207CisgICAgICAgIHN1bSArPSBkZWx0YSAqICh2YWx1ZSAtIG1lYW4p
OworICAgICAgfQorICAgIH0KKyAgfQorCisgIGVsc2UgeworICAgIHdoaWxlICgrK2kgPCBuKSB7
CisgICAgICBpZiAoIWlzTmFOKHZhbHVlID0gbnVtYmVyKHZhbHVlb2YodmFsdWVzW2ldLCBpLCB2
YWx1ZXMpKSkpIHsKKyAgICAgICAgZGVsdGEgPSB2YWx1ZSAtIG1lYW47CisgICAgICAgIG1lYW4g
Kz0gZGVsdGEgLyArK207CisgICAgICAgIHN1bSArPSBkZWx0YSAqICh2YWx1ZSAtIG1lYW4pOwor
ICAgICAgfQorICAgIH0KKyAgfQorCisgIGlmIChtID4gMSkgcmV0dXJuIHN1bSAvIChtIC0gMSk7
Cit9CisKK2Z1bmN0aW9uIGRldmlhdGlvbihhcnJheSwgZikgeworICB2YXIgdiA9IHZhcmlhbmNl
KGFycmF5LCBmKTsKKyAgcmV0dXJuIHYgPyBNYXRoLnNxcnQodikgOiB2OworfQorCitmdW5jdGlv
biBleHRlbnQodmFsdWVzLCB2YWx1ZW9mKSB7CisgIHZhciBuID0gdmFsdWVzLmxlbmd0aCwKKyAg
ICAgIGkgPSAtMSwKKyAgICAgIHZhbHVlLAorICAgICAgbWluLAorICAgICAgbWF4OworCisgIGlm
ICh2YWx1ZW9mID09IG51bGwpIHsKKyAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBGaW5kIHRoZSBm
aXJzdCBjb21wYXJhYmxlIHZhbHVlLgorICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlc1tpXSkgIT0g
bnVsbCAmJiB2YWx1ZSA+PSB2YWx1ZSkgeworICAgICAgICBtaW4gPSBtYXggPSB2YWx1ZTsKKyAg
ICAgICAgd2hpbGUgKCsraSA8IG4pIHsgLy8gQ29tcGFyZSB0aGUgcmVtYWluaW5nIHZhbHVlcy4K
KyAgICAgICAgICBpZiAoKHZhbHVlID0gdmFsdWVzW2ldKSAhPSBudWxsKSB7CisgICAgICAgICAg
ICBpZiAobWluID4gdmFsdWUpIG1pbiA9IHZhbHVlOworICAgICAgICAgICAgaWYgKG1heCA8IHZh
bHVlKSBtYXggPSB2YWx1ZTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9
CisgIH0KKworICBlbHNlIHsKKyAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBGaW5kIHRoZSBmaXJz
dCBjb21wYXJhYmxlIHZhbHVlLgorICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlb2YodmFsdWVzW2ld
LCBpLCB2YWx1ZXMpKSAhPSBudWxsICYmIHZhbHVlID49IHZhbHVlKSB7CisgICAgICAgIG1pbiA9
IG1heCA9IHZhbHVlOworICAgICAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBDb21wYXJlIHRoZSBy
ZW1haW5pbmcgdmFsdWVzLgorICAgICAgICAgIGlmICgodmFsdWUgPSB2YWx1ZW9mKHZhbHVlc1tp
XSwgaSwgdmFsdWVzKSkgIT0gbnVsbCkgeworICAgICAgICAgICAgaWYgKG1pbiA+IHZhbHVlKSBt
aW4gPSB2YWx1ZTsKKyAgICAgICAgICAgIGlmIChtYXggPCB2YWx1ZSkgbWF4ID0gdmFsdWU7Cisg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIFtt
aW4sIG1heF07Cit9CisKK3ZhciBhcnJheSA9IEFycmF5LnByb3RvdHlwZTsKKwordmFyIHNsaWNl
ID0gYXJyYXkuc2xpY2U7Cit2YXIgbWFwID0gYXJyYXkubWFwOworCitmdW5jdGlvbiBjb25zdGFu
dCh4KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKwor
ZnVuY3Rpb24gaWRlbnRpdHkoeCkgeworICByZXR1cm4geDsKK30KKworZnVuY3Rpb24gc2VxdWVu
Y2Uoc3RhcnQsIHN0b3AsIHN0ZXApIHsKKyAgc3RhcnQgPSArc3RhcnQsIHN0b3AgPSArc3RvcCwg
c3RlcCA9IChuID0gYXJndW1lbnRzLmxlbmd0aCkgPCAyID8gKHN0b3AgPSBzdGFydCwgc3RhcnQg
PSAwLCAxKSA6IG4gPCAzID8gMSA6ICtzdGVwOworCisgIHZhciBpID0gLTEsCisgICAgICBuID0g
TWF0aC5tYXgoMCwgTWF0aC5jZWlsKChzdG9wIC0gc3RhcnQpIC8gc3RlcCkpIHwgMCwKKyAgICAg
IHJhbmdlID0gbmV3IEFycmF5KG4pOworCisgIHdoaWxlICgrK2kgPCBuKSB7CisgICAgcmFuZ2Vb
aV0gPSBzdGFydCArIGkgKiBzdGVwOworICB9CisKKyAgcmV0dXJuIHJhbmdlOworfQorCit2YXIg
ZTEwID0gTWF0aC5zcXJ0KDUwKSwKKyAgICBlNSA9IE1hdGguc3FydCgxMCksCisgICAgZTIgPSBN
YXRoLnNxcnQoMik7CisKK2Z1bmN0aW9uIHRpY2tzKHN0YXJ0LCBzdG9wLCBjb3VudCkgeworICB2
YXIgcmV2ZXJzZSwKKyAgICAgIGkgPSAtMSwKKyAgICAgIG4sCisgICAgICB0aWNrcywKKyAgICAg
IHN0ZXA7CisKKyAgc3RvcCA9ICtzdG9wLCBzdGFydCA9ICtzdGFydCwgY291bnQgPSArY291bnQ7
CisgIGlmIChzdGFydCA9PT0gc3RvcCAmJiBjb3VudCA+IDApIHJldHVybiBbc3RhcnRdOworICBp
ZiAocmV2ZXJzZSA9IHN0b3AgPCBzdGFydCkgbiA9IHN0YXJ0LCBzdGFydCA9IHN0b3AsIHN0b3Ag
PSBuOworICBpZiAoKHN0ZXAgPSB0aWNrSW5jcmVtZW50KHN0YXJ0LCBzdG9wLCBjb3VudCkpID09
PSAwIHx8ICFpc0Zpbml0ZShzdGVwKSkgcmV0dXJuIFtdOworCisgIGlmIChzdGVwID4gMCkgewor
ICAgIHN0YXJ0ID0gTWF0aC5jZWlsKHN0YXJ0IC8gc3RlcCk7CisgICAgc3RvcCA9IE1hdGguZmxv
b3Ioc3RvcCAvIHN0ZXApOworICAgIHRpY2tzID0gbmV3IEFycmF5KG4gPSBNYXRoLmNlaWwoc3Rv
cCAtIHN0YXJ0ICsgMSkpOworICAgIHdoaWxlICgrK2kgPCBuKSB0aWNrc1tpXSA9IChzdGFydCAr
IGkpICogc3RlcDsKKyAgfSBlbHNlIHsKKyAgICBzdGFydCA9IE1hdGguZmxvb3Ioc3RhcnQgKiBz
dGVwKTsKKyAgICBzdG9wID0gTWF0aC5jZWlsKHN0b3AgKiBzdGVwKTsKKyAgICB0aWNrcyA9IG5l
dyBBcnJheShuID0gTWF0aC5jZWlsKHN0YXJ0IC0gc3RvcCArIDEpKTsKKyAgICB3aGlsZSAoKytp
IDwgbikgdGlja3NbaV0gPSAoc3RhcnQgLSBpKSAvIHN0ZXA7CisgIH0KKworICBpZiAocmV2ZXJz
ZSkgdGlja3MucmV2ZXJzZSgpOworCisgIHJldHVybiB0aWNrczsKK30KKworZnVuY3Rpb24gdGlj
a0luY3JlbWVudChzdGFydCwgc3RvcCwgY291bnQpIHsKKyAgdmFyIHN0ZXAgPSAoc3RvcCAtIHN0
YXJ0KSAvIE1hdGgubWF4KDAsIGNvdW50KSwKKyAgICAgIHBvd2VyID0gTWF0aC5mbG9vcihNYXRo
LmxvZyhzdGVwKSAvIE1hdGguTE4xMCksCisgICAgICBlcnJvciA9IHN0ZXAgLyBNYXRoLnBvdygx
MCwgcG93ZXIpOworICByZXR1cm4gcG93ZXIgPj0gMAorICAgICAgPyAoZXJyb3IgPj0gZTEwID8g
MTAgOiBlcnJvciA+PSBlNSA/IDUgOiBlcnJvciA+PSBlMiA/IDIgOiAxKSAqIE1hdGgucG93KDEw
LCBwb3dlcikKKyAgICAgIDogLU1hdGgucG93KDEwLCAtcG93ZXIpIC8gKGVycm9yID49IGUxMCA/
IDEwIDogZXJyb3IgPj0gZTUgPyA1IDogZXJyb3IgPj0gZTIgPyAyIDogMSk7Cit9CisKK2Z1bmN0
aW9uIHRpY2tTdGVwKHN0YXJ0LCBzdG9wLCBjb3VudCkgeworICB2YXIgc3RlcDAgPSBNYXRoLmFi
cyhzdG9wIC0gc3RhcnQpIC8gTWF0aC5tYXgoMCwgY291bnQpLAorICAgICAgc3RlcDEgPSBNYXRo
LnBvdygxMCwgTWF0aC5mbG9vcihNYXRoLmxvZyhzdGVwMCkgLyBNYXRoLkxOMTApKSwKKyAgICAg
IGVycm9yID0gc3RlcDAgLyBzdGVwMTsKKyAgaWYgKGVycm9yID49IGUxMCkgc3RlcDEgKj0gMTA7
CisgIGVsc2UgaWYgKGVycm9yID49IGU1KSBzdGVwMSAqPSA1OworICBlbHNlIGlmIChlcnJvciA+
PSBlMikgc3RlcDEgKj0gMjsKKyAgcmV0dXJuIHN0b3AgPCBzdGFydCA/IC1zdGVwMSA6IHN0ZXAx
OworfQorCitmdW5jdGlvbiB0aHJlc2hvbGRTdHVyZ2VzKHZhbHVlcykgeworICByZXR1cm4gTWF0
aC5jZWlsKE1hdGgubG9nKHZhbHVlcy5sZW5ndGgpIC8gTWF0aC5MTjIpICsgMTsKK30KKworZnVu
Y3Rpb24gaGlzdG9ncmFtKCkgeworICB2YXIgdmFsdWUgPSBpZGVudGl0eSwKKyAgICAgIGRvbWFp
biA9IGV4dGVudCwKKyAgICAgIHRocmVzaG9sZCA9IHRocmVzaG9sZFN0dXJnZXM7CisKKyAgZnVu
Y3Rpb24gaGlzdG9ncmFtKGRhdGEpIHsKKyAgICB2YXIgaSwKKyAgICAgICAgbiA9IGRhdGEubGVu
Z3RoLAorICAgICAgICB4LAorICAgICAgICB2YWx1ZXMgPSBuZXcgQXJyYXkobik7CisKKyAgICBm
b3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICB2YWx1ZXNbaV0gPSB2YWx1ZShkYXRhW2ld
LCBpLCBkYXRhKTsKKyAgICB9CisKKyAgICB2YXIgeHogPSBkb21haW4odmFsdWVzKSwKKyAgICAg
ICAgeDAgPSB4elswXSwKKyAgICAgICAgeDEgPSB4elsxXSwKKyAgICAgICAgdHogPSB0aHJlc2hv
bGQodmFsdWVzLCB4MCwgeDEpOworCisgICAgLy8gQ29udmVydCBudW1iZXIgb2YgdGhyZXNob2xk
cyBpbnRvIHVuaWZvcm0gdGhyZXNob2xkcy4KKyAgICBpZiAoIUFycmF5LmlzQXJyYXkodHopKSB7
CisgICAgICB0eiA9IHRpY2tTdGVwKHgwLCB4MSwgdHopOworICAgICAgdHogPSBzZXF1ZW5jZShN
YXRoLmNlaWwoeDAgLyB0eikgKiB0eiwgeDEsIHR6KTsgLy8gZXhjbHVzaXZlCisgICAgfQorCisg
ICAgLy8gUmVtb3ZlIGFueSB0aHJlc2hvbGRzIG91dHNpZGUgdGhlIGRvbWFpbi4KKyAgICB2YXIg
bSA9IHR6Lmxlbmd0aDsKKyAgICB3aGlsZSAodHpbMF0gPD0geDApIHR6LnNoaWZ0KCksIC0tbTsK
KyAgICB3aGlsZSAodHpbbSAtIDFdID4geDEpIHR6LnBvcCgpLCAtLW07CisKKyAgICB2YXIgYmlu
cyA9IG5ldyBBcnJheShtICsgMSksCisgICAgICAgIGJpbjsKKworICAgIC8vIEluaXRpYWxpemUg
Ymlucy4KKyAgICBmb3IgKGkgPSAwOyBpIDw9IG07ICsraSkgeworICAgICAgYmluID0gYmluc1tp
XSA9IFtdOworICAgICAgYmluLngwID0gaSA+IDAgPyB0eltpIC0gMV0gOiB4MDsKKyAgICAgIGJp
bi54MSA9IGkgPCBtID8gdHpbaV0gOiB4MTsKKyAgICB9CisKKyAgICAvLyBBc3NpZ24gZGF0YSB0
byBiaW5zIGJ5IHZhbHVlLCBpZ25vcmluZyBhbnkgb3V0c2lkZSB0aGUgZG9tYWluLgorICAgIGZv
ciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIHggPSB2YWx1ZXNbaV07CisgICAgICBpZiAo
eDAgPD0geCAmJiB4IDw9IHgxKSB7CisgICAgICAgIGJpbnNbYmlzZWN0UmlnaHQodHosIHgsIDAs
IG0pXS5wdXNoKGRhdGFbaV0pOworICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBiaW5zOwor
ICB9CisKKyAgaGlzdG9ncmFtLnZhbHVlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gKHZhbHVlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29u
c3RhbnQoXyksIGhpc3RvZ3JhbSkgOiB2YWx1ZTsKKyAgfTsKKworICBoaXN0b2dyYW0uZG9tYWlu
ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGRvbWFpbiA9
IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50KFtfWzBdLCBfWzFdXSksIGhp
c3RvZ3JhbSkgOiBkb21haW47CisgIH07CisKKyAgaGlzdG9ncmFtLnRocmVzaG9sZHMgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGhyZXNob2xkID0gdHlw
ZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogQXJyYXkuaXNBcnJheShfKSA/IGNvbnN0YW50KHNs
aWNlLmNhbGwoXykpIDogY29uc3RhbnQoXyksIGhpc3RvZ3JhbSkgOiB0aHJlc2hvbGQ7CisgIH07
CisKKyAgcmV0dXJuIGhpc3RvZ3JhbTsKK30KKworZnVuY3Rpb24gdGhyZXNob2xkKHZhbHVlcywg
cCwgdmFsdWVvZikgeworICBpZiAodmFsdWVvZiA9PSBudWxsKSB2YWx1ZW9mID0gbnVtYmVyOwor
ICBpZiAoIShuID0gdmFsdWVzLmxlbmd0aCkpIHJldHVybjsKKyAgaWYgKChwID0gK3ApIDw9IDAg
fHwgbiA8IDIpIHJldHVybiArdmFsdWVvZih2YWx1ZXNbMF0sIDAsIHZhbHVlcyk7CisgIGlmIChw
ID49IDEpIHJldHVybiArdmFsdWVvZih2YWx1ZXNbbiAtIDFdLCBuIC0gMSwgdmFsdWVzKTsKKyAg
dmFyIG4sCisgICAgICBpID0gKG4gLSAxKSAqIHAsCisgICAgICBpMCA9IE1hdGguZmxvb3IoaSks
CisgICAgICB2YWx1ZTAgPSArdmFsdWVvZih2YWx1ZXNbaTBdLCBpMCwgdmFsdWVzKSwKKyAgICAg
IHZhbHVlMSA9ICt2YWx1ZW9mKHZhbHVlc1tpMCArIDFdLCBpMCArIDEsIHZhbHVlcyk7CisgIHJl
dHVybiB2YWx1ZTAgKyAodmFsdWUxIC0gdmFsdWUwKSAqIChpIC0gaTApOworfQorCitmdW5jdGlv
biBmcmVlZG1hbkRpYWNvbmlzKHZhbHVlcywgbWluLCBtYXgpIHsKKyAgdmFsdWVzID0gbWFwLmNh
bGwodmFsdWVzLCBudW1iZXIpLnNvcnQoYXNjZW5kaW5nKTsKKyAgcmV0dXJuIE1hdGguY2VpbCgo
bWF4IC0gbWluKSAvICgyICogKHRocmVzaG9sZCh2YWx1ZXMsIDAuNzUpIC0gdGhyZXNob2xkKHZh
bHVlcywgMC4yNSkpICogTWF0aC5wb3codmFsdWVzLmxlbmd0aCwgLTEgLyAzKSkpOworfQorCitm
dW5jdGlvbiBzY290dCh2YWx1ZXMsIG1pbiwgbWF4KSB7CisgIHJldHVybiBNYXRoLmNlaWwoKG1h
eCAtIG1pbikgLyAoMy41ICogZGV2aWF0aW9uKHZhbHVlcykgKiBNYXRoLnBvdyh2YWx1ZXMubGVu
Z3RoLCAtMSAvIDMpKSk7Cit9CisKK2Z1bmN0aW9uIG1heCh2YWx1ZXMsIHZhbHVlb2YpIHsKKyAg
dmFyIG4gPSB2YWx1ZXMubGVuZ3RoLAorICAgICAgaSA9IC0xLAorICAgICAgdmFsdWUsCisgICAg
ICBtYXg7CisKKyAgaWYgKHZhbHVlb2YgPT0gbnVsbCkgeworICAgIHdoaWxlICgrK2kgPCBuKSB7
IC8vIEZpbmQgdGhlIGZpcnN0IGNvbXBhcmFibGUgdmFsdWUuCisgICAgICBpZiAoKHZhbHVlID0g
dmFsdWVzW2ldKSAhPSBudWxsICYmIHZhbHVlID49IHZhbHVlKSB7CisgICAgICAgIG1heCA9IHZh
bHVlOworICAgICAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBDb21wYXJlIHRoZSByZW1haW5pbmcg
dmFsdWVzLgorICAgICAgICAgIGlmICgodmFsdWUgPSB2YWx1ZXNbaV0pICE9IG51bGwgJiYgdmFs
dWUgPiBtYXgpIHsKKyAgICAgICAgICAgIG1heCA9IHZhbHVlOworICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgfQorICAgIH0KKyAgfQorCisgIGVsc2UgeworICAgIHdoaWxlICgrK2kgPCBu
KSB7IC8vIEZpbmQgdGhlIGZpcnN0IGNvbXBhcmFibGUgdmFsdWUuCisgICAgICBpZiAoKHZhbHVl
ID0gdmFsdWVvZih2YWx1ZXNbaV0sIGksIHZhbHVlcykpICE9IG51bGwgJiYgdmFsdWUgPj0gdmFs
dWUpIHsKKyAgICAgICAgbWF4ID0gdmFsdWU7CisgICAgICAgIHdoaWxlICgrK2kgPCBuKSB7IC8v
IENvbXBhcmUgdGhlIHJlbWFpbmluZyB2YWx1ZXMuCisgICAgICAgICAgaWYgKCh2YWx1ZSA9IHZh
bHVlb2YodmFsdWVzW2ldLCBpLCB2YWx1ZXMpKSAhPSBudWxsICYmIHZhbHVlID4gbWF4KSB7Cisg
ICAgICAgICAgICBtYXggPSB2YWx1ZTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0K
KyAgICB9CisgIH0KKworICByZXR1cm4gbWF4OworfQorCitmdW5jdGlvbiBtZWFuKHZhbHVlcywg
dmFsdWVvZikgeworICB2YXIgbiA9IHZhbHVlcy5sZW5ndGgsCisgICAgICBtID0gbiwKKyAgICAg
IGkgPSAtMSwKKyAgICAgIHZhbHVlLAorICAgICAgc3VtID0gMDsKKworICBpZiAodmFsdWVvZiA9
PSBudWxsKSB7CisgICAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIGlmICghaXNOYU4odmFsdWUg
PSBudW1iZXIodmFsdWVzW2ldKSkpIHN1bSArPSB2YWx1ZTsKKyAgICAgIGVsc2UgLS1tOworICAg
IH0KKyAgfQorCisgIGVsc2UgeworICAgIHdoaWxlICgrK2kgPCBuKSB7CisgICAgICBpZiAoIWlz
TmFOKHZhbHVlID0gbnVtYmVyKHZhbHVlb2YodmFsdWVzW2ldLCBpLCB2YWx1ZXMpKSkpIHN1bSAr
PSB2YWx1ZTsKKyAgICAgIGVsc2UgLS1tOworICAgIH0KKyAgfQorCisgIGlmIChtKSByZXR1cm4g
c3VtIC8gbTsKK30KKworZnVuY3Rpb24gbWVkaWFuKHZhbHVlcywgdmFsdWVvZikgeworICB2YXIg
biA9IHZhbHVlcy5sZW5ndGgsCisgICAgICBpID0gLTEsCisgICAgICB2YWx1ZSwKKyAgICAgIG51
bWJlcnMgPSBbXTsKKworICBpZiAodmFsdWVvZiA9PSBudWxsKSB7CisgICAgd2hpbGUgKCsraSA8
IG4pIHsKKyAgICAgIGlmICghaXNOYU4odmFsdWUgPSBudW1iZXIodmFsdWVzW2ldKSkpIHsKKyAg
ICAgICAgbnVtYmVycy5wdXNoKHZhbHVlKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBlbHNl
IHsKKyAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgaWYgKCFpc05hTih2YWx1ZSA9IG51bWJl
cih2YWx1ZW9mKHZhbHVlc1tpXSwgaSwgdmFsdWVzKSkpKSB7CisgICAgICAgIG51bWJlcnMucHVz
aCh2YWx1ZSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIHRocmVzaG9sZChudW1i
ZXJzLnNvcnQoYXNjZW5kaW5nKSwgMC41KTsKK30KKworZnVuY3Rpb24gbWVyZ2UoYXJyYXlzKSB7
CisgIHZhciBuID0gYXJyYXlzLmxlbmd0aCwKKyAgICAgIG0sCisgICAgICBpID0gLTEsCisgICAg
ICBqID0gMCwKKyAgICAgIG1lcmdlZCwKKyAgICAgIGFycmF5OworCisgIHdoaWxlICgrK2kgPCBu
KSBqICs9IGFycmF5c1tpXS5sZW5ndGg7CisgIG1lcmdlZCA9IG5ldyBBcnJheShqKTsKKworICB3
aGlsZSAoLS1uID49IDApIHsKKyAgICBhcnJheSA9IGFycmF5c1tuXTsKKyAgICBtID0gYXJyYXku
bGVuZ3RoOworICAgIHdoaWxlICgtLW0gPj0gMCkgeworICAgICAgbWVyZ2VkWy0tal0gPSBhcnJh
eVttXTsKKyAgICB9CisgIH0KKworICByZXR1cm4gbWVyZ2VkOworfQorCitmdW5jdGlvbiBtaW4o
dmFsdWVzLCB2YWx1ZW9mKSB7CisgIHZhciBuID0gdmFsdWVzLmxlbmd0aCwKKyAgICAgIGkgPSAt
MSwKKyAgICAgIHZhbHVlLAorICAgICAgbWluOworCisgIGlmICh2YWx1ZW9mID09IG51bGwpIHsK
KyAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBGaW5kIHRoZSBmaXJzdCBjb21wYXJhYmxlIHZhbHVl
LgorICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlc1tpXSkgIT0gbnVsbCAmJiB2YWx1ZSA+PSB2YWx1
ZSkgeworICAgICAgICBtaW4gPSB2YWx1ZTsKKyAgICAgICAgd2hpbGUgKCsraSA8IG4pIHsgLy8g
Q29tcGFyZSB0aGUgcmVtYWluaW5nIHZhbHVlcy4KKyAgICAgICAgICBpZiAoKHZhbHVlID0gdmFs
dWVzW2ldKSAhPSBudWxsICYmIG1pbiA+IHZhbHVlKSB7CisgICAgICAgICAgICBtaW4gPSB2YWx1
ZTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisgIH0KKworICBlbHNl
IHsKKyAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBGaW5kIHRoZSBmaXJzdCBjb21wYXJhYmxlIHZh
bHVlLgorICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlb2YodmFsdWVzW2ldLCBpLCB2YWx1ZXMpKSAh
PSBudWxsICYmIHZhbHVlID49IHZhbHVlKSB7CisgICAgICAgIG1pbiA9IHZhbHVlOworICAgICAg
ICB3aGlsZSAoKytpIDwgbikgeyAvLyBDb21wYXJlIHRoZSByZW1haW5pbmcgdmFsdWVzLgorICAg
ICAgICAgIGlmICgodmFsdWUgPSB2YWx1ZW9mKHZhbHVlc1tpXSwgaSwgdmFsdWVzKSkgIT0gbnVs
bCAmJiBtaW4gPiB2YWx1ZSkgeworICAgICAgICAgICAgbWluID0gdmFsdWU7CisgICAgICAgICAg
fQorICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIG1pbjsKK30KKwor
ZnVuY3Rpb24gcGVybXV0ZShhcnJheSwgaW5kZXhlcykgeworICB2YXIgaSA9IGluZGV4ZXMubGVu
Z3RoLCBwZXJtdXRlcyA9IG5ldyBBcnJheShpKTsKKyAgd2hpbGUgKGktLSkgcGVybXV0ZXNbaV0g
PSBhcnJheVtpbmRleGVzW2ldXTsKKyAgcmV0dXJuIHBlcm11dGVzOworfQorCitmdW5jdGlvbiBz
Y2FuKHZhbHVlcywgY29tcGFyZSkgeworICBpZiAoIShuID0gdmFsdWVzLmxlbmd0aCkpIHJldHVy
bjsKKyAgdmFyIG4sCisgICAgICBpID0gMCwKKyAgICAgIGogPSAwLAorICAgICAgeGksCisgICAg
ICB4aiA9IHZhbHVlc1tqXTsKKworICBpZiAoY29tcGFyZSA9PSBudWxsKSBjb21wYXJlID0gYXNj
ZW5kaW5nOworCisgIHdoaWxlICgrK2kgPCBuKSB7CisgICAgaWYgKGNvbXBhcmUoeGkgPSB2YWx1
ZXNbaV0sIHhqKSA8IDAgfHwgY29tcGFyZSh4aiwgeGopICE9PSAwKSB7CisgICAgICB4aiA9IHhp
LCBqID0gaTsKKyAgICB9CisgIH0KKworICBpZiAoY29tcGFyZSh4aiwgeGopID09PSAwKSByZXR1
cm4gajsKK30KKworZnVuY3Rpb24gc2h1ZmZsZShhcnJheSwgaTAsIGkxKSB7CisgIHZhciBtID0g
KGkxID09IG51bGwgPyBhcnJheS5sZW5ndGggOiBpMSkgLSAoaTAgPSBpMCA9PSBudWxsID8gMCA6
ICtpMCksCisgICAgICB0LAorICAgICAgaTsKKworICB3aGlsZSAobSkgeworICAgIGkgPSBNYXRo
LnJhbmRvbSgpICogbS0tIHwgMDsKKyAgICB0ID0gYXJyYXlbbSArIGkwXTsKKyAgICBhcnJheVtt
ICsgaTBdID0gYXJyYXlbaSArIGkwXTsKKyAgICBhcnJheVtpICsgaTBdID0gdDsKKyAgfQorCisg
IHJldHVybiBhcnJheTsKK30KKworZnVuY3Rpb24gc3VtKHZhbHVlcywgdmFsdWVvZikgeworICB2
YXIgbiA9IHZhbHVlcy5sZW5ndGgsCisgICAgICBpID0gLTEsCisgICAgICB2YWx1ZSwKKyAgICAg
IHN1bSA9IDA7CisKKyAgaWYgKHZhbHVlb2YgPT0gbnVsbCkgeworICAgIHdoaWxlICgrK2kgPCBu
KSB7CisgICAgICBpZiAodmFsdWUgPSArdmFsdWVzW2ldKSBzdW0gKz0gdmFsdWU7IC8vIE5vdGU6
IHplcm8gYW5kIG51bGwgYXJlIGVxdWl2YWxlbnQuCisgICAgfQorICB9CisKKyAgZWxzZSB7Cisg
ICAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIGlmICh2YWx1ZSA9ICt2YWx1ZW9mKHZhbHVlc1tp
XSwgaSwgdmFsdWVzKSkgc3VtICs9IHZhbHVlOworICAgIH0KKyAgfQorCisgIHJldHVybiBzdW07
Cit9CisKK2Z1bmN0aW9uIHRyYW5zcG9zZShtYXRyaXgpIHsKKyAgaWYgKCEobiA9IG1hdHJpeC5s
ZW5ndGgpKSByZXR1cm4gW107CisgIGZvciAodmFyIGkgPSAtMSwgbSA9IG1pbihtYXRyaXgsIGxl
bmd0aCksIHRyYW5zcG9zZSA9IG5ldyBBcnJheShtKTsgKytpIDwgbTspIHsKKyAgICBmb3IgKHZh
ciBqID0gLTEsIG4sIHJvdyA9IHRyYW5zcG9zZVtpXSA9IG5ldyBBcnJheShuKTsgKytqIDwgbjsp
IHsKKyAgICAgIHJvd1tqXSA9IG1hdHJpeFtqXVtpXTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHRy
YW5zcG9zZTsKK30KKworZnVuY3Rpb24gbGVuZ3RoKGQpIHsKKyAgcmV0dXJuIGQubGVuZ3RoOwor
fQorCitmdW5jdGlvbiB6aXAoKSB7CisgIHJldHVybiB0cmFuc3Bvc2UoYXJndW1lbnRzKTsKK30K
KwordmFyIHNsaWNlJDEgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7CisKK2Z1bmN0aW9uIGlkZW50
aXR5JDEoeCkgeworICByZXR1cm4geDsKK30KKwordmFyIHRvcCA9IDEsCisgICAgcmlnaHQgPSAy
LAorICAgIGJvdHRvbSA9IDMsCisgICAgbGVmdCA9IDQsCisgICAgZXBzaWxvbiA9IDFlLTY7CisK
K2Z1bmN0aW9uIHRyYW5zbGF0ZVgoeCkgeworICByZXR1cm4gInRyYW5zbGF0ZSgiICsgKHggKyAw
LjUpICsgIiwwKSI7Cit9CisKK2Z1bmN0aW9uIHRyYW5zbGF0ZVkoeSkgeworICByZXR1cm4gInRy
YW5zbGF0ZSgwLCIgKyAoeSArIDAuNSkgKyAiKSI7Cit9CisKK2Z1bmN0aW9uIG51bWJlciQxKHNj
YWxlKSB7CisgIHJldHVybiBmdW5jdGlvbihkKSB7CisgICAgcmV0dXJuICtzY2FsZShkKTsKKyAg
fTsKK30KKworZnVuY3Rpb24gY2VudGVyKHNjYWxlKSB7CisgIHZhciBvZmZzZXQgPSBNYXRoLm1h
eCgwLCBzY2FsZS5iYW5kd2lkdGgoKSAtIDEpIC8gMjsgLy8gQWRqdXN0IGZvciAwLjVweCBvZmZz
ZXQuCisgIGlmIChzY2FsZS5yb3VuZCgpKSBvZmZzZXQgPSBNYXRoLnJvdW5kKG9mZnNldCk7Cisg
IHJldHVybiBmdW5jdGlvbihkKSB7CisgICAgcmV0dXJuICtzY2FsZShkKSArIG9mZnNldDsKKyAg
fTsKK30KKworZnVuY3Rpb24gZW50ZXJpbmcoKSB7CisgIHJldHVybiAhdGhpcy5fX2F4aXM7Cit9
CisKK2Z1bmN0aW9uIGF4aXMob3JpZW50LCBzY2FsZSkgeworICB2YXIgdGlja0FyZ3VtZW50cyA9
IFtdLAorICAgICAgdGlja1ZhbHVlcyA9IG51bGwsCisgICAgICB0aWNrRm9ybWF0ID0gbnVsbCwK
KyAgICAgIHRpY2tTaXplSW5uZXIgPSA2LAorICAgICAgdGlja1NpemVPdXRlciA9IDYsCisgICAg
ICB0aWNrUGFkZGluZyA9IDMsCisgICAgICBrID0gb3JpZW50ID09PSB0b3AgfHwgb3JpZW50ID09
PSBsZWZ0ID8gLTEgOiAxLAorICAgICAgeCA9IG9yaWVudCA9PT0gbGVmdCB8fCBvcmllbnQgPT09
IHJpZ2h0ID8gIngiIDogInkiLAorICAgICAgdHJhbnNmb3JtID0gb3JpZW50ID09PSB0b3AgfHwg
b3JpZW50ID09PSBib3R0b20gPyB0cmFuc2xhdGVYIDogdHJhbnNsYXRlWTsKKworICBmdW5jdGlv
biBheGlzKGNvbnRleHQpIHsKKyAgICB2YXIgdmFsdWVzID0gdGlja1ZhbHVlcyA9PSBudWxsID8g
KHNjYWxlLnRpY2tzID8gc2NhbGUudGlja3MuYXBwbHkoc2NhbGUsIHRpY2tBcmd1bWVudHMpIDog
c2NhbGUuZG9tYWluKCkpIDogdGlja1ZhbHVlcywKKyAgICAgICAgZm9ybWF0ID0gdGlja0Zvcm1h
dCA9PSBudWxsID8gKHNjYWxlLnRpY2tGb3JtYXQgPyBzY2FsZS50aWNrRm9ybWF0LmFwcGx5KHNj
YWxlLCB0aWNrQXJndW1lbnRzKSA6IGlkZW50aXR5JDEpIDogdGlja0Zvcm1hdCwKKyAgICAgICAg
c3BhY2luZyA9IE1hdGgubWF4KHRpY2tTaXplSW5uZXIsIDApICsgdGlja1BhZGRpbmcsCisgICAg
ICAgIHJhbmdlID0gc2NhbGUucmFuZ2UoKSwKKyAgICAgICAgcmFuZ2UwID0gK3JhbmdlWzBdICsg
MC41LAorICAgICAgICByYW5nZTEgPSArcmFuZ2VbcmFuZ2UubGVuZ3RoIC0gMV0gKyAwLjUsCisg
ICAgICAgIHBvc2l0aW9uID0gKHNjYWxlLmJhbmR3aWR0aCA/IGNlbnRlciA6IG51bWJlciQxKShz
Y2FsZS5jb3B5KCkpLAorICAgICAgICBzZWxlY3Rpb24gPSBjb250ZXh0LnNlbGVjdGlvbiA/IGNv
bnRleHQuc2VsZWN0aW9uKCkgOiBjb250ZXh0LAorICAgICAgICBwYXRoID0gc2VsZWN0aW9uLnNl
bGVjdEFsbCgiLmRvbWFpbiIpLmRhdGEoW251bGxdKSwKKyAgICAgICAgdGljayA9IHNlbGVjdGlv
bi5zZWxlY3RBbGwoIi50aWNrIikuZGF0YSh2YWx1ZXMsIHNjYWxlKS5vcmRlcigpLAorICAgICAg
ICB0aWNrRXhpdCA9IHRpY2suZXhpdCgpLAorICAgICAgICB0aWNrRW50ZXIgPSB0aWNrLmVudGVy
KCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCAidGljayIpLAorICAgICAgICBsaW5lID0gdGlj
ay5zZWxlY3QoImxpbmUiKSwKKyAgICAgICAgdGV4dCA9IHRpY2suc2VsZWN0KCJ0ZXh0Iik7CisK
KyAgICBwYXRoID0gcGF0aC5tZXJnZShwYXRoLmVudGVyKCkuaW5zZXJ0KCJwYXRoIiwgIi50aWNr
IikKKyAgICAgICAgLmF0dHIoImNsYXNzIiwgImRvbWFpbiIpCisgICAgICAgIC5hdHRyKCJzdHJv
a2UiLCAiY3VycmVudENvbG9yIikpOworCisgICAgdGljayA9IHRpY2subWVyZ2UodGlja0VudGVy
KTsKKworICAgIGxpbmUgPSBsaW5lLm1lcmdlKHRpY2tFbnRlci5hcHBlbmQoImxpbmUiKQorICAg
ICAgICAuYXR0cigic3Ryb2tlIiwgImN1cnJlbnRDb2xvciIpCisgICAgICAgIC5hdHRyKHggKyAi
MiIsIGsgKiB0aWNrU2l6ZUlubmVyKSk7CisKKyAgICB0ZXh0ID0gdGV4dC5tZXJnZSh0aWNrRW50
ZXIuYXBwZW5kKCJ0ZXh0IikKKyAgICAgICAgLmF0dHIoImZpbGwiLCAiY3VycmVudENvbG9yIikK
KyAgICAgICAgLmF0dHIoeCwgayAqIHNwYWNpbmcpCisgICAgICAgIC5hdHRyKCJkeSIsIG9yaWVu
dCA9PT0gdG9wID8gIjBlbSIgOiBvcmllbnQgPT09IGJvdHRvbSA/ICIwLjcxZW0iIDogIjAuMzJl
bSIpKTsKKworICAgIGlmIChjb250ZXh0ICE9PSBzZWxlY3Rpb24pIHsKKyAgICAgIHBhdGggPSBw
YXRoLnRyYW5zaXRpb24oY29udGV4dCk7CisgICAgICB0aWNrID0gdGljay50cmFuc2l0aW9uKGNv
bnRleHQpOworICAgICAgbGluZSA9IGxpbmUudHJhbnNpdGlvbihjb250ZXh0KTsKKyAgICAgIHRl
eHQgPSB0ZXh0LnRyYW5zaXRpb24oY29udGV4dCk7CisKKyAgICAgIHRpY2tFeGl0ID0gdGlja0V4
aXQudHJhbnNpdGlvbihjb250ZXh0KQorICAgICAgICAgIC5hdHRyKCJvcGFjaXR5IiwgZXBzaWxv
bikKKyAgICAgICAgICAuYXR0cigidHJhbnNmb3JtIiwgZnVuY3Rpb24oZCkgeyByZXR1cm4gaXNG
aW5pdGUoZCA9IHBvc2l0aW9uKGQpKSA/IHRyYW5zZm9ybShkKSA6IHRoaXMuZ2V0QXR0cmlidXRl
KCJ0cmFuc2Zvcm0iKTsgfSk7CisKKyAgICAgIHRpY2tFbnRlcgorICAgICAgICAgIC5hdHRyKCJv
cGFjaXR5IiwgZXBzaWxvbikKKyAgICAgICAgICAuYXR0cigidHJhbnNmb3JtIiwgZnVuY3Rpb24o
ZCkgeyB2YXIgcCA9IHRoaXMucGFyZW50Tm9kZS5fX2F4aXM7IHJldHVybiB0cmFuc2Zvcm0ocCAm
JiBpc0Zpbml0ZShwID0gcChkKSkgPyBwIDogcG9zaXRpb24oZCkpOyB9KTsKKyAgICB9CisKKyAg
ICB0aWNrRXhpdC5yZW1vdmUoKTsKKworICAgIHBhdGgKKyAgICAgICAgLmF0dHIoImQiLCBvcmll
bnQgPT09IGxlZnQgfHwgb3JpZW50ID09IHJpZ2h0CisgICAgICAgICAgICA/ICh0aWNrU2l6ZU91
dGVyID8gIk0iICsgayAqIHRpY2tTaXplT3V0ZXIgKyAiLCIgKyByYW5nZTAgKyAiSDAuNVYiICsg
cmFuZ2UxICsgIkgiICsgayAqIHRpY2tTaXplT3V0ZXIgOiAiTTAuNSwiICsgcmFuZ2UwICsgIlYi
ICsgcmFuZ2UxKQorICAgICAgICAgICAgOiAodGlja1NpemVPdXRlciA/ICJNIiArIHJhbmdlMCAr
ICIsIiArIGsgKiB0aWNrU2l6ZU91dGVyICsgIlYwLjVIIiArIHJhbmdlMSArICJWIiArIGsgKiB0
aWNrU2l6ZU91dGVyIDogIk0iICsgcmFuZ2UwICsgIiwwLjVIIiArIHJhbmdlMSkpOworCisgICAg
dGljaworICAgICAgICAuYXR0cigib3BhY2l0eSIsIDEpCisgICAgICAgIC5hdHRyKCJ0cmFuc2Zv
cm0iLCBmdW5jdGlvbihkKSB7IHJldHVybiB0cmFuc2Zvcm0ocG9zaXRpb24oZCkpOyB9KTsKKwor
ICAgIGxpbmUKKyAgICAgICAgLmF0dHIoeCArICIyIiwgayAqIHRpY2tTaXplSW5uZXIpOworCisg
ICAgdGV4dAorICAgICAgICAuYXR0cih4LCBrICogc3BhY2luZykKKyAgICAgICAgLnRleHQoZm9y
bWF0KTsKKworICAgIHNlbGVjdGlvbi5maWx0ZXIoZW50ZXJpbmcpCisgICAgICAgIC5hdHRyKCJm
aWxsIiwgIm5vbmUiKQorICAgICAgICAuYXR0cigiZm9udC1zaXplIiwgMTApCisgICAgICAgIC5h
dHRyKCJmb250LWZhbWlseSIsICJzYW5zLXNlcmlmIikKKyAgICAgICAgLmF0dHIoInRleHQtYW5j
aG9yIiwgb3JpZW50ID09PSByaWdodCA/ICJzdGFydCIgOiBvcmllbnQgPT09IGxlZnQgPyAiZW5k
IiA6ICJtaWRkbGUiKTsKKworICAgIHNlbGVjdGlvbgorICAgICAgICAuZWFjaChmdW5jdGlvbigp
IHsgdGhpcy5fX2F4aXMgPSBwb3NpdGlvbjsgfSk7CisgIH0KKworICBheGlzLnNjYWxlID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNjYWxlID0gXywgYXhp
cykgOiBzY2FsZTsKKyAgfTsKKworICBheGlzLnRpY2tzID0gZnVuY3Rpb24oKSB7CisgICAgcmV0
dXJuIHRpY2tBcmd1bWVudHMgPSBzbGljZSQxLmNhbGwoYXJndW1lbnRzKSwgYXhpczsKKyAgfTsK
KworICBheGlzLnRpY2tBcmd1bWVudHMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAodGlja0FyZ3VtZW50cyA9IF8gPT0gbnVsbCA/IFtdIDogc2xpY2UkMS5j
YWxsKF8pLCBheGlzKSA6IHRpY2tBcmd1bWVudHMuc2xpY2UoKTsKKyAgfTsKKworICBheGlzLnRp
Y2tWYWx1ZXMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
dGlja1ZhbHVlcyA9IF8gPT0gbnVsbCA/IG51bGwgOiBzbGljZSQxLmNhbGwoXyksIGF4aXMpIDog
dGlja1ZhbHVlcyAmJiB0aWNrVmFsdWVzLnNsaWNlKCk7CisgIH07CisKKyAgYXhpcy50aWNrRm9y
bWF0ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRpY2tG
b3JtYXQgPSBfLCBheGlzKSA6IHRpY2tGb3JtYXQ7CisgIH07CisKKyAgYXhpcy50aWNrU2l6ZSA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0aWNrU2l6ZUlu
bmVyID0gdGlja1NpemVPdXRlciA9ICtfLCBheGlzKSA6IHRpY2tTaXplSW5uZXI7CisgIH07CisK
KyAgYXhpcy50aWNrU2l6ZUlubmVyID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHRpY2tTaXplSW5uZXIgPSArXywgYXhpcykgOiB0aWNrU2l6ZUlubmVyOwor
ICB9OworCisgIGF4aXMudGlja1NpemVPdXRlciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/ICh0aWNrU2l6ZU91dGVyID0gK18sIGF4aXMpIDogdGlja1NpemVP
dXRlcjsKKyAgfTsKKworICBheGlzLnRpY2tQYWRkaW5nID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRpY2tQYWRkaW5nID0gK18sIGF4aXMpIDogdGlja1Bh
ZGRpbmc7CisgIH07CisKKyAgcmV0dXJuIGF4aXM7Cit9CisKK2Z1bmN0aW9uIGF4aXNUb3Aoc2Nh
bGUpIHsKKyAgcmV0dXJuIGF4aXModG9wLCBzY2FsZSk7Cit9CisKK2Z1bmN0aW9uIGF4aXNSaWdo
dChzY2FsZSkgeworICByZXR1cm4gYXhpcyhyaWdodCwgc2NhbGUpOworfQorCitmdW5jdGlvbiBh
eGlzQm90dG9tKHNjYWxlKSB7CisgIHJldHVybiBheGlzKGJvdHRvbSwgc2NhbGUpOworfQorCitm
dW5jdGlvbiBheGlzTGVmdChzY2FsZSkgeworICByZXR1cm4gYXhpcyhsZWZ0LCBzY2FsZSk7Cit9
CisKK3ZhciBub29wID0ge3ZhbHVlOiBmdW5jdGlvbigpIHt9fTsKKworZnVuY3Rpb24gZGlzcGF0
Y2goKSB7CisgIGZvciAodmFyIGkgPSAwLCBuID0gYXJndW1lbnRzLmxlbmd0aCwgXyA9IHt9LCB0
OyBpIDwgbjsgKytpKSB7CisgICAgaWYgKCEodCA9IGFyZ3VtZW50c1tpXSArICIiKSB8fCAodCBp
biBfKSB8fCAvW1xzLl0vLnRlc3QodCkpIHRocm93IG5ldyBFcnJvcigiaWxsZWdhbCB0eXBlOiAi
ICsgdCk7CisgICAgX1t0XSA9IFtdOworICB9CisgIHJldHVybiBuZXcgRGlzcGF0Y2goXyk7Cit9
CisKK2Z1bmN0aW9uIERpc3BhdGNoKF8pIHsKKyAgdGhpcy5fID0gXzsKK30KKworZnVuY3Rpb24g
cGFyc2VUeXBlbmFtZXModHlwZW5hbWVzLCB0eXBlcykgeworICByZXR1cm4gdHlwZW5hbWVzLnRy
aW0oKS5zcGxpdCgvXnxccysvKS5tYXAoZnVuY3Rpb24odCkgeworICAgIHZhciBuYW1lID0gIiIs
IGkgPSB0LmluZGV4T2YoIi4iKTsKKyAgICBpZiAoaSA+PSAwKSBuYW1lID0gdC5zbGljZShpICsg
MSksIHQgPSB0LnNsaWNlKDAsIGkpOworICAgIGlmICh0ICYmICF0eXBlcy5oYXNPd25Qcm9wZXJ0
eSh0KSkgdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIgKyB0KTsKKyAgICByZXR1cm4g
e3R5cGU6IHQsIG5hbWU6IG5hbWV9OworICB9KTsKK30KKworRGlzcGF0Y2gucHJvdG90eXBlID0g
ZGlzcGF0Y2gucHJvdG90eXBlID0geworICBjb25zdHJ1Y3RvcjogRGlzcGF0Y2gsCisgIG9uOiBm
dW5jdGlvbih0eXBlbmFtZSwgY2FsbGJhY2spIHsKKyAgICB2YXIgXyA9IHRoaXMuXywKKyAgICAg
ICAgVCA9IHBhcnNlVHlwZW5hbWVzKHR5cGVuYW1lICsgIiIsIF8pLAorICAgICAgICB0LAorICAg
ICAgICBpID0gLTEsCisgICAgICAgIG4gPSBULmxlbmd0aDsKKworICAgIC8vIElmIG5vIGNhbGxi
YWNrIHdhcyBzcGVjaWZpZWQsIHJldHVybiB0aGUgY2FsbGJhY2sgb2YgdGhlIGdpdmVuIHR5cGUg
YW5kIG5hbWUuCisgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7CisgICAgICB3aGlsZSAo
KytpIDwgbikgaWYgKCh0ID0gKHR5cGVuYW1lID0gVFtpXSkudHlwZSkgJiYgKHQgPSBnZXQoX1t0
XSwgdHlwZW5hbWUubmFtZSkpKSByZXR1cm4gdDsKKyAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICAvLyBJZiBhIHR5cGUgd2FzIHNwZWNpZmllZCwgc2V0IHRoZSBjYWxsYmFjayBmb3IgdGhlIGdp
dmVuIHR5cGUgYW5kIG5hbWUuCisgICAgLy8gT3RoZXJ3aXNlLCBpZiBhIG51bGwgY2FsbGJhY2sg
d2FzIHNwZWNpZmllZCwgcmVtb3ZlIGNhbGxiYWNrcyBvZiB0aGUgZ2l2ZW4gbmFtZS4KKyAgICBp
ZiAoY2FsbGJhY2sgIT0gbnVsbCAmJiB0eXBlb2YgY2FsbGJhY2sgIT09ICJmdW5jdGlvbiIpIHRo
cm93IG5ldyBFcnJvcigiaW52YWxpZCBjYWxsYmFjazogIiArIGNhbGxiYWNrKTsKKyAgICB3aGls
ZSAoKytpIDwgbikgeworICAgICAgaWYgKHQgPSAodHlwZW5hbWUgPSBUW2ldKS50eXBlKSBfW3Rd
ID0gc2V0KF9bdF0sIHR5cGVuYW1lLm5hbWUsIGNhbGxiYWNrKTsKKyAgICAgIGVsc2UgaWYgKGNh
bGxiYWNrID09IG51bGwpIGZvciAodCBpbiBfKSBfW3RdID0gc2V0KF9bdF0sIHR5cGVuYW1lLm5h
bWUsIG51bGwpOworICAgIH0KKworICAgIHJldHVybiB0aGlzOworICB9LAorICBjb3B5OiBmdW5j
dGlvbigpIHsKKyAgICB2YXIgY29weSA9IHt9LCBfID0gdGhpcy5fOworICAgIGZvciAodmFyIHQg
aW4gXykgY29weVt0XSA9IF9bdF0uc2xpY2UoKTsKKyAgICByZXR1cm4gbmV3IERpc3BhdGNoKGNv
cHkpOworICB9LAorICBjYWxsOiBmdW5jdGlvbih0eXBlLCB0aGF0KSB7CisgICAgaWYgKChuID0g
YXJndW1lbnRzLmxlbmd0aCAtIDIpID4gMCkgZm9yICh2YXIgYXJncyA9IG5ldyBBcnJheShuKSwg
aSA9IDAsIG4sIHQ7IGkgPCBuOyArK2kpIGFyZ3NbaV0gPSBhcmd1bWVudHNbaSArIDJdOworICAg
IGlmICghdGhpcy5fLmhhc093blByb3BlcnR5KHR5cGUpKSB0aHJvdyBuZXcgRXJyb3IoInVua25v
d24gdHlwZTogIiArIHR5cGUpOworICAgIGZvciAodCA9IHRoaXMuX1t0eXBlXSwgaSA9IDAsIG4g
PSB0Lmxlbmd0aDsgaSA8IG47ICsraSkgdFtpXS52YWx1ZS5hcHBseSh0aGF0LCBhcmdzKTsKKyAg
fSwKKyAgYXBwbHk6IGZ1bmN0aW9uKHR5cGUsIHRoYXQsIGFyZ3MpIHsKKyAgICBpZiAoIXRoaXMu
Xy5oYXNPd25Qcm9wZXJ0eSh0eXBlKSkgdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIg
KyB0eXBlKTsKKyAgICBmb3IgKHZhciB0ID0gdGhpcy5fW3R5cGVdLCBpID0gMCwgbiA9IHQubGVu
Z3RoOyBpIDwgbjsgKytpKSB0W2ldLnZhbHVlLmFwcGx5KHRoYXQsIGFyZ3MpOworICB9Cit9Owor
CitmdW5jdGlvbiBnZXQodHlwZSwgbmFtZSkgeworICBmb3IgKHZhciBpID0gMCwgbiA9IHR5cGUu
bGVuZ3RoLCBjOyBpIDwgbjsgKytpKSB7CisgICAgaWYgKChjID0gdHlwZVtpXSkubmFtZSA9PT0g
bmFtZSkgeworICAgICAgcmV0dXJuIGMudmFsdWU7CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9u
IHNldCh0eXBlLCBuYW1lLCBjYWxsYmFjaykgeworICBmb3IgKHZhciBpID0gMCwgbiA9IHR5cGUu
bGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgaWYgKHR5cGVbaV0ubmFtZSA9PT0gbmFtZSkgewor
ICAgICAgdHlwZVtpXSA9IG5vb3AsIHR5cGUgPSB0eXBlLnNsaWNlKDAsIGkpLmNvbmNhdCh0eXBl
LnNsaWNlKGkgKyAxKSk7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKyAgaWYgKGNhbGxiYWNr
ICE9IG51bGwpIHR5cGUucHVzaCh7bmFtZTogbmFtZSwgdmFsdWU6IGNhbGxiYWNrfSk7CisgIHJl
dHVybiB0eXBlOworfQorCit2YXIgeGh0bWwgPSAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRt
bCI7CisKK3ZhciBuYW1lc3BhY2VzID0geworICBzdmc6ICJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIsCisgIHhodG1sOiB4aHRtbCwKKyAgeGxpbms6ICJodHRwOi8vd3d3LnczLm9yZy8xOTk5
L3hsaW5rIiwKKyAgeG1sOiAiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIiwK
KyAgeG1sbnM6ICJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zLyIKK307CisKK2Z1bmN0aW9u
IG5hbWVzcGFjZShuYW1lKSB7CisgIHZhciBwcmVmaXggPSBuYW1lICs9ICIiLCBpID0gcHJlZml4
LmluZGV4T2YoIjoiKTsKKyAgaWYgKGkgPj0gMCAmJiAocHJlZml4ID0gbmFtZS5zbGljZSgwLCBp
KSkgIT09ICJ4bWxucyIpIG5hbWUgPSBuYW1lLnNsaWNlKGkgKyAxKTsKKyAgcmV0dXJuIG5hbWVz
cGFjZXMuaGFzT3duUHJvcGVydHkocHJlZml4KSA/IHtzcGFjZTogbmFtZXNwYWNlc1twcmVmaXhd
LCBsb2NhbDogbmFtZX0gOiBuYW1lOworfQorCitmdW5jdGlvbiBjcmVhdG9ySW5oZXJpdChuYW1l
KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgZG9jdW1lbnQgPSB0aGlzLm93bmVy
RG9jdW1lbnQsCisgICAgICAgIHVyaSA9IHRoaXMubmFtZXNwYWNlVVJJOworICAgIHJldHVybiB1
cmkgPT09IHhodG1sICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5uYW1lc3BhY2VVUkkgPT09
IHhodG1sCisgICAgICAgID8gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChuYW1lKQorICAgICAgICA6
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyh1cmksIG5hbWUpOworICB9OworfQorCitmdW5jdGlv
biBjcmVhdG9yRml4ZWQoZnVsbG5hbWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJl
dHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGZ1bGxuYW1lLnNwYWNlLCBm
dWxsbmFtZS5sb2NhbCk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNyZWF0b3IobmFtZSkgeworICB2
YXIgZnVsbG5hbWUgPSBuYW1lc3BhY2UobmFtZSk7CisgIHJldHVybiAoZnVsbG5hbWUubG9jYWwK
KyAgICAgID8gY3JlYXRvckZpeGVkCisgICAgICA6IGNyZWF0b3JJbmhlcml0KShmdWxsbmFtZSk7
Cit9CisKK2Z1bmN0aW9uIG5vbmUoKSB7fQorCitmdW5jdGlvbiBzZWxlY3RvcihzZWxlY3Rvcikg
eworICByZXR1cm4gc2VsZWN0b3IgPT0gbnVsbCA/IG5vbmUgOiBmdW5jdGlvbigpIHsKKyAgICBy
ZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTsKKyAgfTsKK30KKworZnVuY3Rpb24g
c2VsZWN0aW9uX3NlbGVjdChzZWxlY3QpIHsKKyAgaWYgKHR5cGVvZiBzZWxlY3QgIT09ICJmdW5j
dGlvbiIpIHNlbGVjdCA9IHNlbGVjdG9yKHNlbGVjdCk7CisKKyAgZm9yICh2YXIgZ3JvdXBzID0g
dGhpcy5fZ3JvdXBzLCBtID0gZ3JvdXBzLmxlbmd0aCwgc3ViZ3JvdXBzID0gbmV3IEFycmF5KG0p
LCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwID0gZ3JvdXBzW2pdLCBu
ID0gZ3JvdXAubGVuZ3RoLCBzdWJncm91cCA9IHN1Ymdyb3Vwc1tqXSA9IG5ldyBBcnJheShuKSwg
bm9kZSwgc3Vibm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmICgobm9kZSA9IGdy
b3VwW2ldKSAmJiAoc3Vibm9kZSA9IHNlbGVjdC5jYWxsKG5vZGUsIG5vZGUuX19kYXRhX18sIGks
IGdyb3VwKSkpIHsKKyAgICAgICAgaWYgKCJfX2RhdGFfXyIgaW4gbm9kZSkgc3Vibm9kZS5fX2Rh
dGFfXyA9IG5vZGUuX19kYXRhX187CisgICAgICAgIHN1Ymdyb3VwW2ldID0gc3Vibm9kZTsKKyAg
ICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gbmV3IFNlbGVjdGlvbihzdWJncm91cHMsIHRo
aXMuX3BhcmVudHMpOworfQorCitmdW5jdGlvbiBlbXB0eSgpIHsKKyAgcmV0dXJuIFtdOworfQor
CitmdW5jdGlvbiBzZWxlY3RvckFsbChzZWxlY3RvcikgeworICByZXR1cm4gc2VsZWN0b3IgPT0g
bnVsbCA/IGVtcHR5IDogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rv
ckFsbChzZWxlY3Rvcik7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9zZWxlY3RBbGwo
c2VsZWN0KSB7CisgIGlmICh0eXBlb2Ygc2VsZWN0ICE9PSAiZnVuY3Rpb24iKSBzZWxlY3QgPSBz
ZWxlY3RvckFsbChzZWxlY3QpOworCisgIGZvciAodmFyIGdyb3VwcyA9IHRoaXMuX2dyb3Vwcywg
bSA9IGdyb3Vwcy5sZW5ndGgsIHN1Ymdyb3VwcyA9IFtdLCBwYXJlbnRzID0gW10sIGogPSAwOyBq
IDwgbTsgKytqKSB7CisgICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNbal0sIG4gPSBncm91cC5s
ZW5ndGgsIG5vZGUsIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAobm9kZSA9IGdyb3Vw
W2ldKSB7CisgICAgICAgIHN1Ymdyb3Vwcy5wdXNoKHNlbGVjdC5jYWxsKG5vZGUsIG5vZGUuX19k
YXRhX18sIGksIGdyb3VwKSk7CisgICAgICAgIHBhcmVudHMucHVzaChub2RlKTsKKyAgICAgIH0K
KyAgICB9CisgIH0KKworICByZXR1cm4gbmV3IFNlbGVjdGlvbihzdWJncm91cHMsIHBhcmVudHMp
OworfQorCitmdW5jdGlvbiBtYXRjaGVyKHNlbGVjdG9yKSB7CisgIHJldHVybiBmdW5jdGlvbigp
IHsKKyAgICByZXR1cm4gdGhpcy5tYXRjaGVzKHNlbGVjdG9yKTsKKyAgfTsKK30KKworZnVuY3Rp
b24gc2VsZWN0aW9uX2ZpbHRlcihtYXRjaCkgeworICBpZiAodHlwZW9mIG1hdGNoICE9PSAiZnVu
Y3Rpb24iKSBtYXRjaCA9IG1hdGNoZXIobWF0Y2gpOworCisgIGZvciAodmFyIGdyb3VwcyA9IHRo
aXMuX2dyb3VwcywgbSA9IGdyb3Vwcy5sZW5ndGgsIHN1Ymdyb3VwcyA9IG5ldyBBcnJheShtKSwg
aiA9IDA7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdyb3Vwc1tqXSwgbiA9
IGdyb3VwLmxlbmd0aCwgc3ViZ3JvdXAgPSBzdWJncm91cHNbal0gPSBbXSwgbm9kZSwgaSA9IDA7
IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmICgobm9kZSA9IGdyb3VwW2ldKSAmJiBtYXRjaC5jYWxs
KG5vZGUsIG5vZGUuX19kYXRhX18sIGksIGdyb3VwKSkgeworICAgICAgICBzdWJncm91cC5wdXNo
KG5vZGUpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBuZXcgU2VsZWN0aW9uKHN1
Ymdyb3VwcywgdGhpcy5fcGFyZW50cyk7Cit9CisKK2Z1bmN0aW9uIHNwYXJzZSh1cGRhdGUpIHsK
KyAgcmV0dXJuIG5ldyBBcnJheSh1cGRhdGUubGVuZ3RoKTsKK30KKworZnVuY3Rpb24gc2VsZWN0
aW9uX2VudGVyKCkgeworICByZXR1cm4gbmV3IFNlbGVjdGlvbih0aGlzLl9lbnRlciB8fCB0aGlz
Ll9ncm91cHMubWFwKHNwYXJzZSksIHRoaXMuX3BhcmVudHMpOworfQorCitmdW5jdGlvbiBFbnRl
ck5vZGUocGFyZW50LCBkYXR1bSkgeworICB0aGlzLm93bmVyRG9jdW1lbnQgPSBwYXJlbnQub3du
ZXJEb2N1bWVudDsKKyAgdGhpcy5uYW1lc3BhY2VVUkkgPSBwYXJlbnQubmFtZXNwYWNlVVJJOwor
ICB0aGlzLl9uZXh0ID0gbnVsbDsKKyAgdGhpcy5fcGFyZW50ID0gcGFyZW50OworICB0aGlzLl9f
ZGF0YV9fID0gZGF0dW07Cit9CisKK0VudGVyTm9kZS5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVj
dG9yOiBFbnRlck5vZGUsCisgIGFwcGVuZENoaWxkOiBmdW5jdGlvbihjaGlsZCkgeyByZXR1cm4g
dGhpcy5fcGFyZW50Lmluc2VydEJlZm9yZShjaGlsZCwgdGhpcy5fbmV4dCk7IH0sCisgIGluc2Vy
dEJlZm9yZTogZnVuY3Rpb24oY2hpbGQsIG5leHQpIHsgcmV0dXJuIHRoaXMuX3BhcmVudC5pbnNl
cnRCZWZvcmUoY2hpbGQsIG5leHQpOyB9LAorICBxdWVyeVNlbGVjdG9yOiBmdW5jdGlvbihzZWxl
Y3RvcikgeyByZXR1cm4gdGhpcy5fcGFyZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpOyB9LAor
ICBxdWVyeVNlbGVjdG9yQWxsOiBmdW5jdGlvbihzZWxlY3RvcikgeyByZXR1cm4gdGhpcy5fcGFy
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpOyB9Cit9OworCitmdW5jdGlvbiBjb25zdGFu
dCQxKHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB4OworICB9OworfQor
Cit2YXIga2V5UHJlZml4ID0gIiQiOyAvLyBQcm90ZWN0IGFnYWluc3Qga2V5cyBsaWtlIOKAnF9f
cHJvdG9fX+KAnS4KKworZnVuY3Rpb24gYmluZEluZGV4KHBhcmVudCwgZ3JvdXAsIGVudGVyLCB1
cGRhdGUsIGV4aXQsIGRhdGEpIHsKKyAgdmFyIGkgPSAwLAorICAgICAgbm9kZSwKKyAgICAgIGdy
b3VwTGVuZ3RoID0gZ3JvdXAubGVuZ3RoLAorICAgICAgZGF0YUxlbmd0aCA9IGRhdGEubGVuZ3Ro
OworCisgIC8vIFB1dCBhbnkgbm9uLW51bGwgbm9kZXMgdGhhdCBmaXQgaW50byB1cGRhdGUuCisg
IC8vIFB1dCBhbnkgbnVsbCBub2RlcyBpbnRvIGVudGVyLgorICAvLyBQdXQgYW55IHJlbWFpbmlu
ZyBkYXRhIGludG8gZW50ZXIuCisgIGZvciAoOyBpIDwgZGF0YUxlbmd0aDsgKytpKSB7CisgICAg
aWYgKG5vZGUgPSBncm91cFtpXSkgeworICAgICAgbm9kZS5fX2RhdGFfXyA9IGRhdGFbaV07Cisg
ICAgICB1cGRhdGVbaV0gPSBub2RlOworICAgIH0gZWxzZSB7CisgICAgICBlbnRlcltpXSA9IG5l
dyBFbnRlck5vZGUocGFyZW50LCBkYXRhW2ldKTsKKyAgICB9CisgIH0KKworICAvLyBQdXQgYW55
IG5vbi1udWxsIG5vZGVzIHRoYXQgZG9u4oCZdCBmaXQgaW50byBleGl0LgorICBmb3IgKDsgaSA8
IGdyb3VwTGVuZ3RoOyArK2kpIHsKKyAgICBpZiAobm9kZSA9IGdyb3VwW2ldKSB7CisgICAgICBl
eGl0W2ldID0gbm9kZTsKKyAgICB9CisgIH0KK30KKworZnVuY3Rpb24gYmluZEtleShwYXJlbnQs
IGdyb3VwLCBlbnRlciwgdXBkYXRlLCBleGl0LCBkYXRhLCBrZXkpIHsKKyAgdmFyIGksCisgICAg
ICBub2RlLAorICAgICAgbm9kZUJ5S2V5VmFsdWUgPSB7fSwKKyAgICAgIGdyb3VwTGVuZ3RoID0g
Z3JvdXAubGVuZ3RoLAorICAgICAgZGF0YUxlbmd0aCA9IGRhdGEubGVuZ3RoLAorICAgICAga2V5
VmFsdWVzID0gbmV3IEFycmF5KGdyb3VwTGVuZ3RoKSwKKyAgICAgIGtleVZhbHVlOworCisgIC8v
IENvbXB1dGUgdGhlIGtleSBmb3IgZWFjaCBub2RlLgorICAvLyBJZiBtdWx0aXBsZSBub2RlcyBo
YXZlIHRoZSBzYW1lIGtleSwgdGhlIGR1cGxpY2F0ZXMgYXJlIGFkZGVkIHRvIGV4aXQuCisgIGZv
ciAoaSA9IDA7IGkgPCBncm91cExlbmd0aDsgKytpKSB7CisgICAgaWYgKG5vZGUgPSBncm91cFtp
XSkgeworICAgICAga2V5VmFsdWVzW2ldID0ga2V5VmFsdWUgPSBrZXlQcmVmaXggKyBrZXkuY2Fs
bChub2RlLCBub2RlLl9fZGF0YV9fLCBpLCBncm91cCk7CisgICAgICBpZiAoa2V5VmFsdWUgaW4g
bm9kZUJ5S2V5VmFsdWUpIHsKKyAgICAgICAgZXhpdFtpXSA9IG5vZGU7CisgICAgICB9IGVsc2Ug
eworICAgICAgICBub2RlQnlLZXlWYWx1ZVtrZXlWYWx1ZV0gPSBub2RlOworICAgICAgfQorICAg
IH0KKyAgfQorCisgIC8vIENvbXB1dGUgdGhlIGtleSBmb3IgZWFjaCBkYXR1bS4KKyAgLy8gSWYg
dGhlcmUgYSBub2RlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGtleSwgam9pbiBhbmQgYWRkIGl0IHRv
IHVwZGF0ZS4KKyAgLy8gSWYgdGhlcmUgaXMgbm90IChvciB0aGUga2V5IGlzIGEgZHVwbGljYXRl
KSwgYWRkIGl0IHRvIGVudGVyLgorICBmb3IgKGkgPSAwOyBpIDwgZGF0YUxlbmd0aDsgKytpKSB7
CisgICAga2V5VmFsdWUgPSBrZXlQcmVmaXggKyBrZXkuY2FsbChwYXJlbnQsIGRhdGFbaV0sIGks
IGRhdGEpOworICAgIGlmIChub2RlID0gbm9kZUJ5S2V5VmFsdWVba2V5VmFsdWVdKSB7CisgICAg
ICB1cGRhdGVbaV0gPSBub2RlOworICAgICAgbm9kZS5fX2RhdGFfXyA9IGRhdGFbaV07CisgICAg
ICBub2RlQnlLZXlWYWx1ZVtrZXlWYWx1ZV0gPSBudWxsOworICAgIH0gZWxzZSB7CisgICAgICBl
bnRlcltpXSA9IG5ldyBFbnRlck5vZGUocGFyZW50LCBkYXRhW2ldKTsKKyAgICB9CisgIH0KKwor
ICAvLyBBZGQgYW55IHJlbWFpbmluZyBub2RlcyB0aGF0IHdlcmUgbm90IGJvdW5kIHRvIGRhdGEg
dG8gZXhpdC4KKyAgZm9yIChpID0gMDsgaSA8IGdyb3VwTGVuZ3RoOyArK2kpIHsKKyAgICBpZiAo
KG5vZGUgPSBncm91cFtpXSkgJiYgKG5vZGVCeUtleVZhbHVlW2tleVZhbHVlc1tpXV0gPT09IG5v
ZGUpKSB7CisgICAgICBleGl0W2ldID0gbm9kZTsKKyAgICB9CisgIH0KK30KKworZnVuY3Rpb24g
c2VsZWN0aW9uX2RhdGEodmFsdWUsIGtleSkgeworICBpZiAoIXZhbHVlKSB7CisgICAgZGF0YSA9
IG5ldyBBcnJheSh0aGlzLnNpemUoKSksIGogPSAtMTsKKyAgICB0aGlzLmVhY2goZnVuY3Rpb24o
ZCkgeyBkYXRhWysral0gPSBkOyB9KTsKKyAgICByZXR1cm4gZGF0YTsKKyAgfQorCisgIHZhciBi
aW5kID0ga2V5ID8gYmluZEtleSA6IGJpbmRJbmRleCwKKyAgICAgIHBhcmVudHMgPSB0aGlzLl9w
YXJlbnRzLAorICAgICAgZ3JvdXBzID0gdGhpcy5fZ3JvdXBzOworCisgIGlmICh0eXBlb2YgdmFs
dWUgIT09ICJmdW5jdGlvbiIpIHZhbHVlID0gY29uc3RhbnQkMSh2YWx1ZSk7CisKKyAgZm9yICh2
YXIgbSA9IGdyb3Vwcy5sZW5ndGgsIHVwZGF0ZSA9IG5ldyBBcnJheShtKSwgZW50ZXIgPSBuZXcg
QXJyYXkobSksIGV4aXQgPSBuZXcgQXJyYXkobSksIGogPSAwOyBqIDwgbTsgKytqKSB7CisgICAg
dmFyIHBhcmVudCA9IHBhcmVudHNbal0sCisgICAgICAgIGdyb3VwID0gZ3JvdXBzW2pdLAorICAg
ICAgICBncm91cExlbmd0aCA9IGdyb3VwLmxlbmd0aCwKKyAgICAgICAgZGF0YSA9IHZhbHVlLmNh
bGwocGFyZW50LCBwYXJlbnQgJiYgcGFyZW50Ll9fZGF0YV9fLCBqLCBwYXJlbnRzKSwKKyAgICAg
ICAgZGF0YUxlbmd0aCA9IGRhdGEubGVuZ3RoLAorICAgICAgICBlbnRlckdyb3VwID0gZW50ZXJb
al0gPSBuZXcgQXJyYXkoZGF0YUxlbmd0aCksCisgICAgICAgIHVwZGF0ZUdyb3VwID0gdXBkYXRl
W2pdID0gbmV3IEFycmF5KGRhdGFMZW5ndGgpLAorICAgICAgICBleGl0R3JvdXAgPSBleGl0W2pd
ID0gbmV3IEFycmF5KGdyb3VwTGVuZ3RoKTsKKworICAgIGJpbmQocGFyZW50LCBncm91cCwgZW50
ZXJHcm91cCwgdXBkYXRlR3JvdXAsIGV4aXRHcm91cCwgZGF0YSwga2V5KTsKKworICAgIC8vIE5v
dyBjb25uZWN0IHRoZSBlbnRlciBub2RlcyB0byB0aGVpciBmb2xsb3dpbmcgdXBkYXRlIG5vZGUs
IHN1Y2ggdGhhdAorICAgIC8vIGFwcGVuZENoaWxkIGNhbiBpbnNlcnQgdGhlIG1hdGVyaWFsaXpl
ZCBlbnRlciBub2RlIGJlZm9yZSB0aGlzIG5vZGUsCisgICAgLy8gcmF0aGVyIHRoYW4gYXQgdGhl
IGVuZCBvZiB0aGUgcGFyZW50IG5vZGUuCisgICAgZm9yICh2YXIgaTAgPSAwLCBpMSA9IDAsIHBy
ZXZpb3VzLCBuZXh0OyBpMCA8IGRhdGFMZW5ndGg7ICsraTApIHsKKyAgICAgIGlmIChwcmV2aW91
cyA9IGVudGVyR3JvdXBbaTBdKSB7CisgICAgICAgIGlmIChpMCA+PSBpMSkgaTEgPSBpMCArIDE7
CisgICAgICAgIHdoaWxlICghKG5leHQgPSB1cGRhdGVHcm91cFtpMV0pICYmICsraTEgPCBkYXRh
TGVuZ3RoKTsKKyAgICAgICAgcHJldmlvdXMuX25leHQgPSBuZXh0IHx8IG51bGw7CisgICAgICB9
CisgICAgfQorICB9CisKKyAgdXBkYXRlID0gbmV3IFNlbGVjdGlvbih1cGRhdGUsIHBhcmVudHMp
OworICB1cGRhdGUuX2VudGVyID0gZW50ZXI7CisgIHVwZGF0ZS5fZXhpdCA9IGV4aXQ7CisgIHJl
dHVybiB1cGRhdGU7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9leGl0KCkgeworICByZXR1cm4g
bmV3IFNlbGVjdGlvbih0aGlzLl9leGl0IHx8IHRoaXMuX2dyb3Vwcy5tYXAoc3BhcnNlKSwgdGhp
cy5fcGFyZW50cyk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9qb2luKG9uZW50ZXIsIG9udXBk
YXRlLCBvbmV4aXQpIHsKKyAgdmFyIGVudGVyID0gdGhpcy5lbnRlcigpLCB1cGRhdGUgPSB0aGlz
LCBleGl0ID0gdGhpcy5leGl0KCk7CisgIGVudGVyID0gdHlwZW9mIG9uZW50ZXIgPT09ICJmdW5j
dGlvbiIgPyBvbmVudGVyKGVudGVyKSA6IGVudGVyLmFwcGVuZChvbmVudGVyICsgIiIpOworICBp
ZiAob251cGRhdGUgIT0gbnVsbCkgdXBkYXRlID0gb251cGRhdGUodXBkYXRlKTsKKyAgaWYgKG9u
ZXhpdCA9PSBudWxsKSBleGl0LnJlbW92ZSgpOyBlbHNlIG9uZXhpdChleGl0KTsKKyAgcmV0dXJu
IGVudGVyICYmIHVwZGF0ZSA/IGVudGVyLm1lcmdlKHVwZGF0ZSkub3JkZXIoKSA6IHVwZGF0ZTsK
K30KKworZnVuY3Rpb24gc2VsZWN0aW9uX21lcmdlKHNlbGVjdGlvbikgeworCisgIGZvciAodmFy
IGdyb3VwczAgPSB0aGlzLl9ncm91cHMsIGdyb3VwczEgPSBzZWxlY3Rpb24uX2dyb3VwcywgbTAg
PSBncm91cHMwLmxlbmd0aCwgbTEgPSBncm91cHMxLmxlbmd0aCwgbSA9IE1hdGgubWluKG0wLCBt
MSksIG1lcmdlcyA9IG5ldyBBcnJheShtMCksIGogPSAwOyBqIDwgbTsgKytqKSB7CisgICAgZm9y
ICh2YXIgZ3JvdXAwID0gZ3JvdXBzMFtqXSwgZ3JvdXAxID0gZ3JvdXBzMVtqXSwgbiA9IGdyb3Vw
MC5sZW5ndGgsIG1lcmdlID0gbWVyZ2VzW2pdID0gbmV3IEFycmF5KG4pLCBub2RlLCBpID0gMDsg
aSA8IG47ICsraSkgeworICAgICAgaWYgKG5vZGUgPSBncm91cDBbaV0gfHwgZ3JvdXAxW2ldKSB7
CisgICAgICAgIG1lcmdlW2ldID0gbm9kZTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBmb3Ig
KDsgaiA8IG0wOyArK2opIHsKKyAgICBtZXJnZXNbal0gPSBncm91cHMwW2pdOworICB9CisKKyAg
cmV0dXJuIG5ldyBTZWxlY3Rpb24obWVyZ2VzLCB0aGlzLl9wYXJlbnRzKTsKK30KKworZnVuY3Rp
b24gc2VsZWN0aW9uX29yZGVyKCkgeworCisgIGZvciAodmFyIGdyb3VwcyA9IHRoaXMuX2dyb3Vw
cywgaiA9IC0xLCBtID0gZ3JvdXBzLmxlbmd0aDsgKytqIDwgbTspIHsKKyAgICBmb3IgKHZhciBn
cm91cCA9IGdyb3Vwc1tqXSwgaSA9IGdyb3VwLmxlbmd0aCAtIDEsIG5leHQgPSBncm91cFtpXSwg
bm9kZTsgLS1pID49IDA7KSB7CisgICAgICBpZiAobm9kZSA9IGdyb3VwW2ldKSB7CisgICAgICAg
IGlmIChuZXh0ICYmIG5vZGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24obmV4dCkgXiA0KSBuZXh0
LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG5vZGUsIG5leHQpOworICAgICAgICBuZXh0ID0gbm9k
ZTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24g
c2VsZWN0aW9uX3NvcnQoY29tcGFyZSkgeworICBpZiAoIWNvbXBhcmUpIGNvbXBhcmUgPSBhc2Nl
bmRpbmckMTsKKworICBmdW5jdGlvbiBjb21wYXJlTm9kZShhLCBiKSB7CisgICAgcmV0dXJuIGEg
JiYgYiA/IGNvbXBhcmUoYS5fX2RhdGFfXywgYi5fX2RhdGFfXykgOiAhYSAtICFiOworICB9CisK
KyAgZm9yICh2YXIgZ3JvdXBzID0gdGhpcy5fZ3JvdXBzLCBtID0gZ3JvdXBzLmxlbmd0aCwgc29y
dGdyb3VwcyA9IG5ldyBBcnJheShtKSwgaiA9IDA7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZh
ciBncm91cCA9IGdyb3Vwc1tqXSwgbiA9IGdyb3VwLmxlbmd0aCwgc29ydGdyb3VwID0gc29ydGdy
b3Vwc1tqXSA9IG5ldyBBcnJheShuKSwgbm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAg
IGlmIChub2RlID0gZ3JvdXBbaV0pIHsKKyAgICAgICAgc29ydGdyb3VwW2ldID0gbm9kZTsKKyAg
ICAgIH0KKyAgICB9CisgICAgc29ydGdyb3VwLnNvcnQoY29tcGFyZU5vZGUpOworICB9CisKKyAg
cmV0dXJuIG5ldyBTZWxlY3Rpb24oc29ydGdyb3VwcywgdGhpcy5fcGFyZW50cykub3JkZXIoKTsK
K30KKworZnVuY3Rpb24gYXNjZW5kaW5nJDEoYSwgYikgeworICByZXR1cm4gYSA8IGIgPyAtMSA6
IGEgPiBiID8gMSA6IGEgPj0gYiA/IDAgOiBOYU47Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9j
YWxsKCkgeworICB2YXIgY2FsbGJhY2sgPSBhcmd1bWVudHNbMF07CisgIGFyZ3VtZW50c1swXSA9
IHRoaXM7CisgIGNhbGxiYWNrLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7CisgIHJldHVybiB0aGlz
OworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fbm9kZXMoKSB7CisgIHZhciBub2RlcyA9IG5ldyBB
cnJheSh0aGlzLnNpemUoKSksIGkgPSAtMTsKKyAgdGhpcy5lYWNoKGZ1bmN0aW9uKCkgeyBub2Rl
c1srK2ldID0gdGhpczsgfSk7CisgIHJldHVybiBub2RlczsKK30KKworZnVuY3Rpb24gc2VsZWN0
aW9uX25vZGUoKSB7CisKKyAgZm9yICh2YXIgZ3JvdXBzID0gdGhpcy5fZ3JvdXBzLCBqID0gMCwg
bSA9IGdyb3Vwcy5sZW5ndGg7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdy
b3Vwc1tqXSwgaSA9IDAsIG4gPSBncm91cC5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICAgIHZh
ciBub2RlID0gZ3JvdXBbaV07CisgICAgICBpZiAobm9kZSkgcmV0dXJuIG5vZGU7CisgICAgfQor
ICB9CisKKyAgcmV0dXJuIG51bGw7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9zaXplKCkgewor
ICB2YXIgc2l6ZSA9IDA7CisgIHRoaXMuZWFjaChmdW5jdGlvbigpIHsgKytzaXplOyB9KTsKKyAg
cmV0dXJuIHNpemU7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9lbXB0eSgpIHsKKyAgcmV0dXJu
ICF0aGlzLm5vZGUoKTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2VhY2goY2FsbGJhY2spIHsK
KworICBmb3IgKHZhciBncm91cHMgPSB0aGlzLl9ncm91cHMsIGogPSAwLCBtID0gZ3JvdXBzLmxl
bmd0aDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwID0gZ3JvdXBzW2pdLCBpID0g
MCwgbiA9IGdyb3VwLmxlbmd0aCwgbm9kZTsgaSA8IG47ICsraSkgeworICAgICAgaWYgKG5vZGUg
PSBncm91cFtpXSkgY2FsbGJhY2suY2FsbChub2RlLCBub2RlLl9fZGF0YV9fLCBpLCBncm91cCk7
CisgICAgfQorICB9CisKKyAgcmV0dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9uIGF0dHJSZW1vdmUo
bmFtZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUo
bmFtZSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGF0dHJSZW1vdmVOUyhmdWxsbmFtZSkgeworICBy
ZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyhmdWxsbmFtZS5z
cGFjZSwgZnVsbG5hbWUubG9jYWwpOworICB9OworfQorCitmdW5jdGlvbiBhdHRyQ29uc3RhbnQo
bmFtZSwgdmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXMuc2V0QXR0cmli
dXRlKG5hbWUsIHZhbHVlKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0ckNvbnN0YW50TlMoZnVs
bG5hbWUsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLnNldEF0dHJp
YnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCwgdmFsdWUpOworICB9OworfQor
CitmdW5jdGlvbiBhdHRyRnVuY3Rpb24obmFtZSwgdmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9u
KCkgeworICAgIHZhciB2ID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICBpZiAo
diA9PSBudWxsKSB0aGlzLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTsKKyAgICBlbHNlIHRoaXMuc2V0
QXR0cmlidXRlKG5hbWUsIHYpOworICB9OworfQorCitmdW5jdGlvbiBhdHRyRnVuY3Rpb25OUyhm
dWxsbmFtZSwgdmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciB2ID0gdmFs
dWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICBpZiAodiA9PSBudWxsKSB0aGlzLnJlbW92
ZUF0dHJpYnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCk7CisgICAgZWxzZSB0
aGlzLnNldEF0dHJpYnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCwgdik7Cisg
IH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9hdHRyKG5hbWUsIHZhbHVlKSB7CisgIHZhciBm
dWxsbmFtZSA9IG5hbWVzcGFjZShuYW1lKTsKKworICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIp
IHsKKyAgICB2YXIgbm9kZSA9IHRoaXMubm9kZSgpOworICAgIHJldHVybiBmdWxsbmFtZS5sb2Nh
bAorICAgICAgICA/IG5vZGUuZ2V0QXR0cmlidXRlTlMoZnVsbG5hbWUuc3BhY2UsIGZ1bGxuYW1l
LmxvY2FsKQorICAgICAgICA6IG5vZGUuZ2V0QXR0cmlidXRlKGZ1bGxuYW1lKTsKKyAgfQorCisg
IHJldHVybiB0aGlzLmVhY2goKHZhbHVlID09IG51bGwKKyAgICAgID8gKGZ1bGxuYW1lLmxvY2Fs
ID8gYXR0clJlbW92ZU5TIDogYXR0clJlbW92ZSkgOiAodHlwZW9mIHZhbHVlID09PSAiZnVuY3Rp
b24iCisgICAgICA/IChmdWxsbmFtZS5sb2NhbCA/IGF0dHJGdW5jdGlvbk5TIDogYXR0ckZ1bmN0
aW9uKQorICAgICAgOiAoZnVsbG5hbWUubG9jYWwgPyBhdHRyQ29uc3RhbnROUyA6IGF0dHJDb25z
dGFudCkpKShmdWxsbmFtZSwgdmFsdWUpKTsKK30KKworZnVuY3Rpb24gZGVmYXVsdFZpZXcobm9k
ZSkgeworICByZXR1cm4gKG5vZGUub3duZXJEb2N1bWVudCAmJiBub2RlLm93bmVyRG9jdW1lbnQu
ZGVmYXVsdFZpZXcpIC8vIG5vZGUgaXMgYSBOb2RlCisgICAgICB8fCAobm9kZS5kb2N1bWVudCAm
JiBub2RlKSAvLyBub2RlIGlzIGEgV2luZG93CisgICAgICB8fCBub2RlLmRlZmF1bHRWaWV3OyAv
LyBub2RlIGlzIGEgRG9jdW1lbnQKK30KKworZnVuY3Rpb24gc3R5bGVSZW1vdmUobmFtZSkgewor
ICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eShuYW1l
KTsKKyAgfTsKK30KKworZnVuY3Rpb24gc3R5bGVDb25zdGFudChuYW1lLCB2YWx1ZSwgcHJpb3Jp
dHkpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHko
bmFtZSwgdmFsdWUsIHByaW9yaXR5KTsKKyAgfTsKK30KKworZnVuY3Rpb24gc3R5bGVGdW5jdGlv
bihuYW1lLCB2YWx1ZSwgcHJpb3JpdHkpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZh
ciB2ID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICBpZiAodiA9PSBudWxsKSB0
aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KG5hbWUpOworICAgIGVsc2UgdGhpcy5zdHlsZS5zZXRQ
cm9wZXJ0eShuYW1lLCB2LCBwcmlvcml0eSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlv
bl9zdHlsZShuYW1lLCB2YWx1ZSwgcHJpb3JpdHkpIHsKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPiAxCisgICAgICA/IHRoaXMuZWFjaCgodmFsdWUgPT0gbnVsbAorICAgICAgICAgICAgPyBz
dHlsZVJlbW92ZSA6IHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAgICAgICAgICAgPyBz
dHlsZUZ1bmN0aW9uCisgICAgICAgICAgICA6IHN0eWxlQ29uc3RhbnQpKG5hbWUsIHZhbHVlLCBw
cmlvcml0eSA9PSBudWxsID8gIiIgOiBwcmlvcml0eSkpCisgICAgICA6IHN0eWxlVmFsdWUodGhp
cy5ub2RlKCksIG5hbWUpOworfQorCitmdW5jdGlvbiBzdHlsZVZhbHVlKG5vZGUsIG5hbWUpIHsK
KyAgcmV0dXJuIG5vZGUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShuYW1lKQorICAgICAgfHwgZGVm
YXVsdFZpZXcobm9kZSkuZ2V0Q29tcHV0ZWRTdHlsZShub2RlLCBudWxsKS5nZXRQcm9wZXJ0eVZh
bHVlKG5hbWUpOworfQorCitmdW5jdGlvbiBwcm9wZXJ0eVJlbW92ZShuYW1lKSB7CisgIHJldHVy
biBmdW5jdGlvbigpIHsKKyAgICBkZWxldGUgdGhpc1tuYW1lXTsKKyAgfTsKK30KKworZnVuY3Rp
b24gcHJvcGVydHlDb25zdGFudChuYW1lLCB2YWx1ZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7
CisgICAgdGhpc1tuYW1lXSA9IHZhbHVlOworICB9OworfQorCitmdW5jdGlvbiBwcm9wZXJ0eUZ1
bmN0aW9uKG5hbWUsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdiA9
IHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKHYgPT0gbnVsbCkgZGVsZXRl
IHRoaXNbbmFtZV07CisgICAgZWxzZSB0aGlzW25hbWVdID0gdjsKKyAgfTsKK30KKworZnVuY3Rp
b24gc2VsZWN0aW9uX3Byb3BlcnR5KG5hbWUsIHZhbHVlKSB7CisgIHJldHVybiBhcmd1bWVudHMu
bGVuZ3RoID4gMQorICAgICAgPyB0aGlzLmVhY2goKHZhbHVlID09IG51bGwKKyAgICAgICAgICA/
IHByb3BlcnR5UmVtb3ZlIDogdHlwZW9mIHZhbHVlID09PSAiZnVuY3Rpb24iCisgICAgICAgICAg
PyBwcm9wZXJ0eUZ1bmN0aW9uCisgICAgICAgICAgOiBwcm9wZXJ0eUNvbnN0YW50KShuYW1lLCB2
YWx1ZSkpCisgICAgICA6IHRoaXMubm9kZSgpW25hbWVdOworfQorCitmdW5jdGlvbiBjbGFzc0Fy
cmF5KHN0cmluZykgeworICByZXR1cm4gc3RyaW5nLnRyaW0oKS5zcGxpdCgvXnxccysvKTsKK30K
KworZnVuY3Rpb24gY2xhc3NMaXN0KG5vZGUpIHsKKyAgcmV0dXJuIG5vZGUuY2xhc3NMaXN0IHx8
IG5ldyBDbGFzc0xpc3Qobm9kZSk7Cit9CisKK2Z1bmN0aW9uIENsYXNzTGlzdChub2RlKSB7Cisg
IHRoaXMuX25vZGUgPSBub2RlOworICB0aGlzLl9uYW1lcyA9IGNsYXNzQXJyYXkobm9kZS5nZXRB
dHRyaWJ1dGUoImNsYXNzIikgfHwgIiIpOworfQorCitDbGFzc0xpc3QucHJvdG90eXBlID0gewor
ICBhZGQ6IGZ1bmN0aW9uKG5hbWUpIHsKKyAgICB2YXIgaSA9IHRoaXMuX25hbWVzLmluZGV4T2Yo
bmFtZSk7CisgICAgaWYgKGkgPCAwKSB7CisgICAgICB0aGlzLl9uYW1lcy5wdXNoKG5hbWUpOwor
ICAgICAgdGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgdGhpcy5fbmFtZXMuam9pbigi
ICIpKTsKKyAgICB9CisgIH0sCisgIHJlbW92ZTogZnVuY3Rpb24obmFtZSkgeworICAgIHZhciBp
ID0gdGhpcy5fbmFtZXMuaW5kZXhPZihuYW1lKTsKKyAgICBpZiAoaSA+PSAwKSB7CisgICAgICB0
aGlzLl9uYW1lcy5zcGxpY2UoaSwgMSk7CisgICAgICB0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgi
Y2xhc3MiLCB0aGlzLl9uYW1lcy5qb2luKCIgIikpOworICAgIH0KKyAgfSwKKyAgY29udGFpbnM6
IGZ1bmN0aW9uKG5hbWUpIHsKKyAgICByZXR1cm4gdGhpcy5fbmFtZXMuaW5kZXhPZihuYW1lKSA+
PSAwOworICB9Cit9OworCitmdW5jdGlvbiBjbGFzc2VkQWRkKG5vZGUsIG5hbWVzKSB7CisgIHZh
ciBsaXN0ID0gY2xhc3NMaXN0KG5vZGUpLCBpID0gLTEsIG4gPSBuYW1lcy5sZW5ndGg7CisgIHdo
aWxlICgrK2kgPCBuKSBsaXN0LmFkZChuYW1lc1tpXSk7Cit9CisKK2Z1bmN0aW9uIGNsYXNzZWRS
ZW1vdmUobm9kZSwgbmFtZXMpIHsKKyAgdmFyIGxpc3QgPSBjbGFzc0xpc3Qobm9kZSksIGkgPSAt
MSwgbiA9IG5hbWVzLmxlbmd0aDsKKyAgd2hpbGUgKCsraSA8IG4pIGxpc3QucmVtb3ZlKG5hbWVz
W2ldKTsKK30KKworZnVuY3Rpb24gY2xhc3NlZFRydWUobmFtZXMpIHsKKyAgcmV0dXJuIGZ1bmN0
aW9uKCkgeworICAgIGNsYXNzZWRBZGQodGhpcywgbmFtZXMpOworICB9OworfQorCitmdW5jdGlv
biBjbGFzc2VkRmFsc2UobmFtZXMpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIGNsYXNz
ZWRSZW1vdmUodGhpcywgbmFtZXMpOworICB9OworfQorCitmdW5jdGlvbiBjbGFzc2VkRnVuY3Rp
b24obmFtZXMsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAodmFsdWUuYXBw
bHkodGhpcywgYXJndW1lbnRzKSA/IGNsYXNzZWRBZGQgOiBjbGFzc2VkUmVtb3ZlKSh0aGlzLCBu
YW1lcyk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9jbGFzc2VkKG5hbWUsIHZhbHVl
KSB7CisgIHZhciBuYW1lcyA9IGNsYXNzQXJyYXkobmFtZSArICIiKTsKKworICBpZiAoYXJndW1l
bnRzLmxlbmd0aCA8IDIpIHsKKyAgICB2YXIgbGlzdCA9IGNsYXNzTGlzdCh0aGlzLm5vZGUoKSks
IGkgPSAtMSwgbiA9IG5hbWVzLmxlbmd0aDsKKyAgICB3aGlsZSAoKytpIDwgbikgaWYgKCFsaXN0
LmNvbnRhaW5zKG5hbWVzW2ldKSkgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0cnVlOworICB9
CisKKyAgcmV0dXJuIHRoaXMuZWFjaCgodHlwZW9mIHZhbHVlID09PSAiZnVuY3Rpb24iCisgICAg
ICA/IGNsYXNzZWRGdW5jdGlvbiA6IHZhbHVlCisgICAgICA/IGNsYXNzZWRUcnVlCisgICAgICA6
IGNsYXNzZWRGYWxzZSkobmFtZXMsIHZhbHVlKSk7Cit9CisKK2Z1bmN0aW9uIHRleHRSZW1vdmUo
KSB7CisgIHRoaXMudGV4dENvbnRlbnQgPSAiIjsKK30KKworZnVuY3Rpb24gdGV4dENvbnN0YW50
KHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLnRleHRDb250ZW50ID0g
dmFsdWU7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRleHRGdW5jdGlvbih2YWx1ZSkgeworICByZXR1
cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHYgPSB2YWx1ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMp
OworICAgIHRoaXMudGV4dENvbnRlbnQgPSB2ID09IG51bGwgPyAiIiA6IHY7CisgIH07Cit9CisK
K2Z1bmN0aW9uIHNlbGVjdGlvbl90ZXh0KHZhbHVlKSB7CisgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoCisgICAgICA/IHRoaXMuZWFjaCh2YWx1ZSA9PSBudWxsCisgICAgICAgICAgPyB0ZXh0UmVt
b3ZlIDogKHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAgICAgICAgID8gdGV4dEZ1bmN0
aW9uCisgICAgICAgICAgOiB0ZXh0Q29uc3RhbnQpKHZhbHVlKSkKKyAgICAgIDogdGhpcy5ub2Rl
KCkudGV4dENvbnRlbnQ7Cit9CisKK2Z1bmN0aW9uIGh0bWxSZW1vdmUoKSB7CisgIHRoaXMuaW5u
ZXJIVE1MID0gIiI7Cit9CisKK2Z1bmN0aW9uIGh0bWxDb25zdGFudCh2YWx1ZSkgeworICByZXR1
cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5pbm5lckhUTUwgPSB2YWx1ZTsKKyAgfTsKK30KKwor
ZnVuY3Rpb24gaHRtbEZ1bmN0aW9uKHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAg
ICB2YXIgdiA9IHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgdGhpcy5pbm5lckhU
TUwgPSB2ID09IG51bGwgPyAiIiA6IHY7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9o
dG1sKHZhbHVlKSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoCisgICAgICA/IHRoaXMuZWFj
aCh2YWx1ZSA9PSBudWxsCisgICAgICAgICAgPyBodG1sUmVtb3ZlIDogKHR5cGVvZiB2YWx1ZSA9
PT0gImZ1bmN0aW9uIgorICAgICAgICAgID8gaHRtbEZ1bmN0aW9uCisgICAgICAgICAgOiBodG1s
Q29uc3RhbnQpKHZhbHVlKSkKKyAgICAgIDogdGhpcy5ub2RlKCkuaW5uZXJIVE1MOworfQorCitm
dW5jdGlvbiByYWlzZSgpIHsKKyAgaWYgKHRoaXMubmV4dFNpYmxpbmcpIHRoaXMucGFyZW50Tm9k
ZS5hcHBlbmRDaGlsZCh0aGlzKTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX3JhaXNlKCkgewor
ICByZXR1cm4gdGhpcy5lYWNoKHJhaXNlKTsKK30KKworZnVuY3Rpb24gbG93ZXIoKSB7CisgIGlm
ICh0aGlzLnByZXZpb3VzU2libGluZykgdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlz
LCB0aGlzLnBhcmVudE5vZGUuZmlyc3RDaGlsZCk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9s
b3dlcigpIHsKKyAgcmV0dXJuIHRoaXMuZWFjaChsb3dlcik7Cit9CisKK2Z1bmN0aW9uIHNlbGVj
dGlvbl9hcHBlbmQobmFtZSkgeworICB2YXIgY3JlYXRlID0gdHlwZW9mIG5hbWUgPT09ICJmdW5j
dGlvbiIgPyBuYW1lIDogY3JlYXRvcihuYW1lKTsKKyAgcmV0dXJuIHRoaXMuc2VsZWN0KGZ1bmN0
aW9uKCkgeworICAgIHJldHVybiB0aGlzLmFwcGVuZENoaWxkKGNyZWF0ZS5hcHBseSh0aGlzLCBh
cmd1bWVudHMpKTsKKyAgfSk7Cit9CisKK2Z1bmN0aW9uIGNvbnN0YW50TnVsbCgpIHsKKyAgcmV0
dXJuIG51bGw7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9pbnNlcnQobmFtZSwgYmVmb3JlKSB7
CisgIHZhciBjcmVhdGUgPSB0eXBlb2YgbmFtZSA9PT0gImZ1bmN0aW9uIiA/IG5hbWUgOiBjcmVh
dG9yKG5hbWUpLAorICAgICAgc2VsZWN0ID0gYmVmb3JlID09IG51bGwgPyBjb25zdGFudE51bGwg
OiB0eXBlb2YgYmVmb3JlID09PSAiZnVuY3Rpb24iID8gYmVmb3JlIDogc2VsZWN0b3IoYmVmb3Jl
KTsKKyAgcmV0dXJuIHRoaXMuc2VsZWN0KGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0aGlzLmlu
c2VydEJlZm9yZShjcmVhdGUuYXBwbHkodGhpcywgYXJndW1lbnRzKSwgc2VsZWN0LmFwcGx5KHRo
aXMsIGFyZ3VtZW50cykgfHwgbnVsbCk7CisgIH0pOworfQorCitmdW5jdGlvbiByZW1vdmUoKSB7
CisgIHZhciBwYXJlbnQgPSB0aGlzLnBhcmVudE5vZGU7CisgIGlmIChwYXJlbnQpIHBhcmVudC5y
ZW1vdmVDaGlsZCh0aGlzKTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX3JlbW92ZSgpIHsKKyAg
cmV0dXJuIHRoaXMuZWFjaChyZW1vdmUpOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fY2xvbmVT
aGFsbG93KCkgeworICB2YXIgY2xvbmUgPSB0aGlzLmNsb25lTm9kZShmYWxzZSksIHBhcmVudCA9
IHRoaXMucGFyZW50Tm9kZTsKKyAgcmV0dXJuIHBhcmVudCA/IHBhcmVudC5pbnNlcnRCZWZvcmUo
Y2xvbmUsIHRoaXMubmV4dFNpYmxpbmcpIDogY2xvbmU7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlv
bl9jbG9uZURlZXAoKSB7CisgIHZhciBjbG9uZSA9IHRoaXMuY2xvbmVOb2RlKHRydWUpLCBwYXJl
bnQgPSB0aGlzLnBhcmVudE5vZGU7CisgIHJldHVybiBwYXJlbnQgPyBwYXJlbnQuaW5zZXJ0QmVm
b3JlKGNsb25lLCB0aGlzLm5leHRTaWJsaW5nKSA6IGNsb25lOworfQorCitmdW5jdGlvbiBzZWxl
Y3Rpb25fY2xvbmUoZGVlcCkgeworICByZXR1cm4gdGhpcy5zZWxlY3QoZGVlcCA/IHNlbGVjdGlv
bl9jbG9uZURlZXAgOiBzZWxlY3Rpb25fY2xvbmVTaGFsbG93KTsKK30KKworZnVuY3Rpb24gc2Vs
ZWN0aW9uX2RhdHVtKHZhbHVlKSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoCisgICAgICA/
IHRoaXMucHJvcGVydHkoIl9fZGF0YV9fIiwgdmFsdWUpCisgICAgICA6IHRoaXMubm9kZSgpLl9f
ZGF0YV9fOworfQorCit2YXIgZmlsdGVyRXZlbnRzID0ge307CisKK2V4cG9ydHMuZXZlbnQgPSBu
dWxsOworCitpZiAodHlwZW9mIGRvY3VtZW50ICE9PSAidW5kZWZpbmVkIikgeworICB2YXIgZWxl
bWVudCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDsKKyAgaWYgKCEoIm9ubW91c2VlbnRlciIg
aW4gZWxlbWVudCkpIHsKKyAgICBmaWx0ZXJFdmVudHMgPSB7bW91c2VlbnRlcjogIm1vdXNlb3Zl
ciIsIG1vdXNlbGVhdmU6ICJtb3VzZW91dCJ9OworICB9Cit9CisKK2Z1bmN0aW9uIGZpbHRlckNv
bnRleHRMaXN0ZW5lcihsaXN0ZW5lciwgaW5kZXgsIGdyb3VwKSB7CisgIGxpc3RlbmVyID0gY29u
dGV4dExpc3RlbmVyKGxpc3RlbmVyLCBpbmRleCwgZ3JvdXApOworICByZXR1cm4gZnVuY3Rpb24o
ZXZlbnQpIHsKKyAgICB2YXIgcmVsYXRlZCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQ7CisgICAgaWYg
KCFyZWxhdGVkIHx8IChyZWxhdGVkICE9PSB0aGlzICYmICEocmVsYXRlZC5jb21wYXJlRG9jdW1l
bnRQb3NpdGlvbih0aGlzKSAmIDgpKSkgeworICAgICAgbGlzdGVuZXIuY2FsbCh0aGlzLCBldmVu
dCk7CisgICAgfQorICB9OworfQorCitmdW5jdGlvbiBjb250ZXh0TGlzdGVuZXIobGlzdGVuZXIs
IGluZGV4LCBncm91cCkgeworICByZXR1cm4gZnVuY3Rpb24oZXZlbnQxKSB7CisgICAgdmFyIGV2
ZW50MCA9IGV4cG9ydHMuZXZlbnQ7IC8vIEV2ZW50cyBjYW4gYmUgcmVlbnRyYW50IChlLmcuLCBm
b2N1cykuCisgICAgZXhwb3J0cy5ldmVudCA9IGV2ZW50MTsKKyAgICB0cnkgeworICAgICAgbGlz
dGVuZXIuY2FsbCh0aGlzLCB0aGlzLl9fZGF0YV9fLCBpbmRleCwgZ3JvdXApOworICAgIH0gZmlu
YWxseSB7CisgICAgICBleHBvcnRzLmV2ZW50ID0gZXZlbnQwOworICAgIH0KKyAgfTsKK30KKwor
ZnVuY3Rpb24gcGFyc2VUeXBlbmFtZXMkMSh0eXBlbmFtZXMpIHsKKyAgcmV0dXJuIHR5cGVuYW1l
cy50cmltKCkuc3BsaXQoL158XHMrLykubWFwKGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgbmFtZSA9
ICIiLCBpID0gdC5pbmRleE9mKCIuIik7CisgICAgaWYgKGkgPj0gMCkgbmFtZSA9IHQuc2xpY2Uo
aSArIDEpLCB0ID0gdC5zbGljZSgwLCBpKTsKKyAgICByZXR1cm4ge3R5cGU6IHQsIG5hbWU6IG5h
bWV9OworICB9KTsKK30KKworZnVuY3Rpb24gb25SZW1vdmUodHlwZW5hbWUpIHsKKyAgcmV0dXJu
IGZ1bmN0aW9uKCkgeworICAgIHZhciBvbiA9IHRoaXMuX19vbjsKKyAgICBpZiAoIW9uKSByZXR1
cm47CisgICAgZm9yICh2YXIgaiA9IDAsIGkgPSAtMSwgbSA9IG9uLmxlbmd0aCwgbzsgaiA8IG07
ICsraikgeworICAgICAgaWYgKG8gPSBvbltqXSwgKCF0eXBlbmFtZS50eXBlIHx8IG8udHlwZSA9
PT0gdHlwZW5hbWUudHlwZSkgJiYgby5uYW1lID09PSB0eXBlbmFtZS5uYW1lKSB7CisgICAgICAg
IHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihvLnR5cGUsIG8ubGlzdGVuZXIsIG8uY2FwdHVyZSk7
CisgICAgICB9IGVsc2UgeworICAgICAgICBvblsrK2ldID0gbzsKKyAgICAgIH0KKyAgICB9Cisg
ICAgaWYgKCsraSkgb24ubGVuZ3RoID0gaTsKKyAgICBlbHNlIGRlbGV0ZSB0aGlzLl9fb247Cisg
IH07Cit9CisKK2Z1bmN0aW9uIG9uQWRkKHR5cGVuYW1lLCB2YWx1ZSwgY2FwdHVyZSkgeworICB2
YXIgd3JhcCA9IGZpbHRlckV2ZW50cy5oYXNPd25Qcm9wZXJ0eSh0eXBlbmFtZS50eXBlKSA/IGZp
bHRlckNvbnRleHRMaXN0ZW5lciA6IGNvbnRleHRMaXN0ZW5lcjsKKyAgcmV0dXJuIGZ1bmN0aW9u
KGQsIGksIGdyb3VwKSB7CisgICAgdmFyIG9uID0gdGhpcy5fX29uLCBvLCBsaXN0ZW5lciA9IHdy
YXAodmFsdWUsIGksIGdyb3VwKTsKKyAgICBpZiAob24pIGZvciAodmFyIGogPSAwLCBtID0gb24u
bGVuZ3RoOyBqIDwgbTsgKytqKSB7CisgICAgICBpZiAoKG8gPSBvbltqXSkudHlwZSA9PT0gdHlw
ZW5hbWUudHlwZSAmJiBvLm5hbWUgPT09IHR5cGVuYW1lLm5hbWUpIHsKKyAgICAgICAgdGhpcy5y
ZW1vdmVFdmVudExpc3RlbmVyKG8udHlwZSwgby5saXN0ZW5lciwgby5jYXB0dXJlKTsKKyAgICAg
ICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKG8udHlwZSwgby5saXN0ZW5lciA9IGxpc3RlbmVyLCBv
LmNhcHR1cmUgPSBjYXB0dXJlKTsKKyAgICAgICAgby52YWx1ZSA9IHZhbHVlOworICAgICAgICBy
ZXR1cm47CisgICAgICB9CisgICAgfQorICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcih0eXBlbmFt
ZS50eXBlLCBsaXN0ZW5lciwgY2FwdHVyZSk7CisgICAgbyA9IHt0eXBlOiB0eXBlbmFtZS50eXBl
LCBuYW1lOiB0eXBlbmFtZS5uYW1lLCB2YWx1ZTogdmFsdWUsIGxpc3RlbmVyOiBsaXN0ZW5lciwg
Y2FwdHVyZTogY2FwdHVyZX07CisgICAgaWYgKCFvbikgdGhpcy5fX29uID0gW29dOworICAgIGVs
c2Ugb24ucHVzaChvKTsKKyAgfTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX29uKHR5cGVuYW1l
LCB2YWx1ZSwgY2FwdHVyZSkgeworICB2YXIgdHlwZW5hbWVzID0gcGFyc2VUeXBlbmFtZXMkMSh0
eXBlbmFtZSArICIiKSwgaSwgbiA9IHR5cGVuYW1lcy5sZW5ndGgsIHQ7CisKKyAgaWYgKGFyZ3Vt
ZW50cy5sZW5ndGggPCAyKSB7CisgICAgdmFyIG9uID0gdGhpcy5ub2RlKCkuX19vbjsKKyAgICBp
ZiAob24pIGZvciAodmFyIGogPSAwLCBtID0gb24ubGVuZ3RoLCBvOyBqIDwgbTsgKytqKSB7Cisg
ICAgICBmb3IgKGkgPSAwLCBvID0gb25bal07IGkgPCBuOyArK2kpIHsKKyAgICAgICAgaWYgKCh0
ID0gdHlwZW5hbWVzW2ldKS50eXBlID09PSBvLnR5cGUgJiYgdC5uYW1lID09PSBvLm5hbWUpIHsK
KyAgICAgICAgICByZXR1cm4gby52YWx1ZTsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKyAg
ICByZXR1cm47CisgIH0KKworICBvbiA9IHZhbHVlID8gb25BZGQgOiBvblJlbW92ZTsKKyAgaWYg
KGNhcHR1cmUgPT0gbnVsbCkgY2FwdHVyZSA9IGZhbHNlOworICBmb3IgKGkgPSAwOyBpIDwgbjsg
KytpKSB0aGlzLmVhY2gob24odHlwZW5hbWVzW2ldLCB2YWx1ZSwgY2FwdHVyZSkpOworICByZXR1
cm4gdGhpczsKK30KKworZnVuY3Rpb24gY3VzdG9tRXZlbnQoZXZlbnQxLCBsaXN0ZW5lciwgdGhh
dCwgYXJncykgeworICB2YXIgZXZlbnQwID0gZXhwb3J0cy5ldmVudDsKKyAgZXZlbnQxLnNvdXJj
ZUV2ZW50ID0gZXhwb3J0cy5ldmVudDsKKyAgZXhwb3J0cy5ldmVudCA9IGV2ZW50MTsKKyAgdHJ5
IHsKKyAgICByZXR1cm4gbGlzdGVuZXIuYXBwbHkodGhhdCwgYXJncyk7CisgIH0gZmluYWxseSB7
CisgICAgZXhwb3J0cy5ldmVudCA9IGV2ZW50MDsKKyAgfQorfQorCitmdW5jdGlvbiBkaXNwYXRj
aEV2ZW50KG5vZGUsIHR5cGUsIHBhcmFtcykgeworICB2YXIgd2luZG93ID0gZGVmYXVsdFZpZXco
bm9kZSksCisgICAgICBldmVudCA9IHdpbmRvdy5DdXN0b21FdmVudDsKKworICBpZiAodHlwZW9m
IGV2ZW50ID09PSAiZnVuY3Rpb24iKSB7CisgICAgZXZlbnQgPSBuZXcgZXZlbnQodHlwZSwgcGFy
YW1zKTsKKyAgfSBlbHNlIHsKKyAgICBldmVudCA9IHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFdmVu
dCgiRXZlbnQiKTsKKyAgICBpZiAocGFyYW1zKSBldmVudC5pbml0RXZlbnQodHlwZSwgcGFyYW1z
LmJ1YmJsZXMsIHBhcmFtcy5jYW5jZWxhYmxlKSwgZXZlbnQuZGV0YWlsID0gcGFyYW1zLmRldGFp
bDsKKyAgICBlbHNlIGV2ZW50LmluaXRFdmVudCh0eXBlLCBmYWxzZSwgZmFsc2UpOworICB9CisK
KyAgbm9kZS5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKK30KKworZnVuY3Rpb24gZGlzcGF0Y2hDb25z
dGFudCh0eXBlLCBwYXJhbXMpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBk
aXNwYXRjaEV2ZW50KHRoaXMsIHR5cGUsIHBhcmFtcyk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGRp
c3BhdGNoRnVuY3Rpb24odHlwZSwgcGFyYW1zKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAg
ICByZXR1cm4gZGlzcGF0Y2hFdmVudCh0aGlzLCB0eXBlLCBwYXJhbXMuYXBwbHkodGhpcywgYXJn
dW1lbnRzKSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9kaXNwYXRjaCh0eXBlLCBw
YXJhbXMpIHsKKyAgcmV0dXJuIHRoaXMuZWFjaCgodHlwZW9mIHBhcmFtcyA9PT0gImZ1bmN0aW9u
IgorICAgICAgPyBkaXNwYXRjaEZ1bmN0aW9uCisgICAgICA6IGRpc3BhdGNoQ29uc3RhbnQpKHR5
cGUsIHBhcmFtcykpOworfQorCit2YXIgcm9vdCA9IFtudWxsXTsKKworZnVuY3Rpb24gU2VsZWN0
aW9uKGdyb3VwcywgcGFyZW50cykgeworICB0aGlzLl9ncm91cHMgPSBncm91cHM7CisgIHRoaXMu
X3BhcmVudHMgPSBwYXJlbnRzOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb24oKSB7CisgIHJldHVy
biBuZXcgU2VsZWN0aW9uKFtbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XV0sIHJvb3QpOworfQor
CitTZWxlY3Rpb24ucHJvdG90eXBlID0gc2VsZWN0aW9uLnByb3RvdHlwZSA9IHsKKyAgY29uc3Ry
dWN0b3I6IFNlbGVjdGlvbiwKKyAgc2VsZWN0OiBzZWxlY3Rpb25fc2VsZWN0LAorICBzZWxlY3RB
bGw6IHNlbGVjdGlvbl9zZWxlY3RBbGwsCisgIGZpbHRlcjogc2VsZWN0aW9uX2ZpbHRlciwKKyAg
ZGF0YTogc2VsZWN0aW9uX2RhdGEsCisgIGVudGVyOiBzZWxlY3Rpb25fZW50ZXIsCisgIGV4aXQ6
IHNlbGVjdGlvbl9leGl0LAorICBqb2luOiBzZWxlY3Rpb25fam9pbiwKKyAgbWVyZ2U6IHNlbGVj
dGlvbl9tZXJnZSwKKyAgb3JkZXI6IHNlbGVjdGlvbl9vcmRlciwKKyAgc29ydDogc2VsZWN0aW9u
X3NvcnQsCisgIGNhbGw6IHNlbGVjdGlvbl9jYWxsLAorICBub2Rlczogc2VsZWN0aW9uX25vZGVz
LAorICBub2RlOiBzZWxlY3Rpb25fbm9kZSwKKyAgc2l6ZTogc2VsZWN0aW9uX3NpemUsCisgIGVt
cHR5OiBzZWxlY3Rpb25fZW1wdHksCisgIGVhY2g6IHNlbGVjdGlvbl9lYWNoLAorICBhdHRyOiBz
ZWxlY3Rpb25fYXR0ciwKKyAgc3R5bGU6IHNlbGVjdGlvbl9zdHlsZSwKKyAgcHJvcGVydHk6IHNl
bGVjdGlvbl9wcm9wZXJ0eSwKKyAgY2xhc3NlZDogc2VsZWN0aW9uX2NsYXNzZWQsCisgIHRleHQ6
IHNlbGVjdGlvbl90ZXh0LAorICBodG1sOiBzZWxlY3Rpb25faHRtbCwKKyAgcmFpc2U6IHNlbGVj
dGlvbl9yYWlzZSwKKyAgbG93ZXI6IHNlbGVjdGlvbl9sb3dlciwKKyAgYXBwZW5kOiBzZWxlY3Rp
b25fYXBwZW5kLAorICBpbnNlcnQ6IHNlbGVjdGlvbl9pbnNlcnQsCisgIHJlbW92ZTogc2VsZWN0
aW9uX3JlbW92ZSwKKyAgY2xvbmU6IHNlbGVjdGlvbl9jbG9uZSwKKyAgZGF0dW06IHNlbGVjdGlv
bl9kYXR1bSwKKyAgb246IHNlbGVjdGlvbl9vbiwKKyAgZGlzcGF0Y2g6IHNlbGVjdGlvbl9kaXNw
YXRjaAorfTsKKworZnVuY3Rpb24gc2VsZWN0KHNlbGVjdG9yKSB7CisgIHJldHVybiB0eXBlb2Yg
c2VsZWN0b3IgPT09ICJzdHJpbmciCisgICAgICA/IG5ldyBTZWxlY3Rpb24oW1tkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKHNlbGVjdG9yKV1dLCBbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSkKKyAg
ICAgIDogbmV3IFNlbGVjdGlvbihbW3NlbGVjdG9yXV0sIHJvb3QpOworfQorCitmdW5jdGlvbiBj
cmVhdGUobmFtZSkgeworICByZXR1cm4gc2VsZWN0KGNyZWF0b3IobmFtZSkuY2FsbChkb2N1bWVu
dC5kb2N1bWVudEVsZW1lbnQpKTsKK30KKwordmFyIG5leHRJZCA9IDA7CisKK2Z1bmN0aW9uIGxv
Y2FsKCkgeworICByZXR1cm4gbmV3IExvY2FsOworfQorCitmdW5jdGlvbiBMb2NhbCgpIHsKKyAg
dGhpcy5fID0gIkAiICsgKCsrbmV4dElkKS50b1N0cmluZygzNik7Cit9CisKK0xvY2FsLnByb3Rv
dHlwZSA9IGxvY2FsLnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IExvY2FsLAorICBnZXQ6
IGZ1bmN0aW9uKG5vZGUpIHsKKyAgICB2YXIgaWQgPSB0aGlzLl87CisgICAgd2hpbGUgKCEoaWQg
aW4gbm9kZSkpIGlmICghKG5vZGUgPSBub2RlLnBhcmVudE5vZGUpKSByZXR1cm47CisgICAgcmV0
dXJuIG5vZGVbaWRdOworICB9LAorICBzZXQ6IGZ1bmN0aW9uKG5vZGUsIHZhbHVlKSB7CisgICAg
cmV0dXJuIG5vZGVbdGhpcy5fXSA9IHZhbHVlOworICB9LAorICByZW1vdmU6IGZ1bmN0aW9uKG5v
ZGUpIHsKKyAgICByZXR1cm4gdGhpcy5fIGluIG5vZGUgJiYgZGVsZXRlIG5vZGVbdGhpcy5fXTsK
KyAgfSwKKyAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0aGlzLl87CisgIH0K
K307CisKK2Z1bmN0aW9uIHNvdXJjZUV2ZW50KCkgeworICB2YXIgY3VycmVudCA9IGV4cG9ydHMu
ZXZlbnQsIHNvdXJjZTsKKyAgd2hpbGUgKHNvdXJjZSA9IGN1cnJlbnQuc291cmNlRXZlbnQpIGN1
cnJlbnQgPSBzb3VyY2U7CisgIHJldHVybiBjdXJyZW50OworfQorCitmdW5jdGlvbiBwb2ludChu
b2RlLCBldmVudCkgeworICB2YXIgc3ZnID0gbm9kZS5vd25lclNWR0VsZW1lbnQgfHwgbm9kZTsK
KworICBpZiAoc3ZnLmNyZWF0ZVNWR1BvaW50KSB7CisgICAgdmFyIHBvaW50ID0gc3ZnLmNyZWF0
ZVNWR1BvaW50KCk7CisgICAgcG9pbnQueCA9IGV2ZW50LmNsaWVudFgsIHBvaW50LnkgPSBldmVu
dC5jbGllbnRZOworICAgIHBvaW50ID0gcG9pbnQubWF0cml4VHJhbnNmb3JtKG5vZGUuZ2V0U2Ny
ZWVuQ1RNKCkuaW52ZXJzZSgpKTsKKyAgICByZXR1cm4gW3BvaW50LngsIHBvaW50LnldOworICB9
CisKKyAgdmFyIHJlY3QgPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICByZXR1cm4g
W2V2ZW50LmNsaWVudFggLSByZWN0LmxlZnQgLSBub2RlLmNsaWVudExlZnQsIGV2ZW50LmNsaWVu
dFkgLSByZWN0LnRvcCAtIG5vZGUuY2xpZW50VG9wXTsKK30KKworZnVuY3Rpb24gbW91c2Uobm9k
ZSkgeworICB2YXIgZXZlbnQgPSBzb3VyY2VFdmVudCgpOworICBpZiAoZXZlbnQuY2hhbmdlZFRv
dWNoZXMpIGV2ZW50ID0gZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF07CisgIHJldHVybiBwb2ludChu
b2RlLCBldmVudCk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdEFsbChzZWxlY3RvcikgeworICByZXR1
cm4gdHlwZW9mIHNlbGVjdG9yID09PSAic3RyaW5nIgorICAgICAgPyBuZXcgU2VsZWN0aW9uKFtk
b2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKV0sIFtkb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnRdKQorICAgICAgOiBuZXcgU2VsZWN0aW9uKFtzZWxlY3RvciA9PSBudWxsID8gW10gOiBz
ZWxlY3Rvcl0sIHJvb3QpOworfQorCitmdW5jdGlvbiB0b3VjaChub2RlLCB0b3VjaGVzLCBpZGVu
dGlmaWVyKSB7CisgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMykgaWRlbnRpZmllciA9IHRvdWNo
ZXMsIHRvdWNoZXMgPSBzb3VyY2VFdmVudCgpLmNoYW5nZWRUb3VjaGVzOworCisgIGZvciAodmFy
IGkgPSAwLCBuID0gdG91Y2hlcyA/IHRvdWNoZXMubGVuZ3RoIDogMCwgdG91Y2g7IGkgPCBuOyAr
K2kpIHsKKyAgICBpZiAoKHRvdWNoID0gdG91Y2hlc1tpXSkuaWRlbnRpZmllciA9PT0gaWRlbnRp
ZmllcikgeworICAgICAgcmV0dXJuIHBvaW50KG5vZGUsIHRvdWNoKTsKKyAgICB9CisgIH0KKwor
ICByZXR1cm4gbnVsbDsKK30KKworZnVuY3Rpb24gdG91Y2hlcyhub2RlLCB0b3VjaGVzKSB7Cisg
IGlmICh0b3VjaGVzID09IG51bGwpIHRvdWNoZXMgPSBzb3VyY2VFdmVudCgpLnRvdWNoZXM7CisK
KyAgZm9yICh2YXIgaSA9IDAsIG4gPSB0b3VjaGVzID8gdG91Y2hlcy5sZW5ndGggOiAwLCBwb2lu
dHMgPSBuZXcgQXJyYXkobik7IGkgPCBuOyArK2kpIHsKKyAgICBwb2ludHNbaV0gPSBwb2ludChu
b2RlLCB0b3VjaGVzW2ldKTsKKyAgfQorCisgIHJldHVybiBwb2ludHM7Cit9CisKK2Z1bmN0aW9u
IG5vcHJvcGFnYXRpb24oKSB7CisgIGV4cG9ydHMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0
aW9uKCk7Cit9CisKK2Z1bmN0aW9uIG5vZXZlbnQoKSB7CisgIGV4cG9ydHMuZXZlbnQucHJldmVu
dERlZmF1bHQoKTsKKyAgZXhwb3J0cy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsK
K30KKworZnVuY3Rpb24gZHJhZ0Rpc2FibGUodmlldykgeworICB2YXIgcm9vdCA9IHZpZXcuZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LAorICAgICAgc2VsZWN0aW9uID0gc2VsZWN0KHZpZXcpLm9u
KCJkcmFnc3RhcnQuZHJhZyIsIG5vZXZlbnQsIHRydWUpOworICBpZiAoIm9uc2VsZWN0c3RhcnQi
IGluIHJvb3QpIHsKKyAgICBzZWxlY3Rpb24ub24oInNlbGVjdHN0YXJ0LmRyYWciLCBub2V2ZW50
LCB0cnVlKTsKKyAgfSBlbHNlIHsKKyAgICByb290Ll9fbm9zZWxlY3QgPSByb290LnN0eWxlLk1v
elVzZXJTZWxlY3Q7CisgICAgcm9vdC5zdHlsZS5Nb3pVc2VyU2VsZWN0ID0gIm5vbmUiOworICB9
Cit9CisKK2Z1bmN0aW9uIHllc2RyYWcodmlldywgbm9jbGljaykgeworICB2YXIgcm9vdCA9IHZp
ZXcuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LAorICAgICAgc2VsZWN0aW9uID0gc2VsZWN0KHZp
ZXcpLm9uKCJkcmFnc3RhcnQuZHJhZyIsIG51bGwpOworICBpZiAobm9jbGljaykgeworICAgIHNl
bGVjdGlvbi5vbigiY2xpY2suZHJhZyIsIG5vZXZlbnQsIHRydWUpOworICAgIHNldFRpbWVvdXQo
ZnVuY3Rpb24oKSB7IHNlbGVjdGlvbi5vbigiY2xpY2suZHJhZyIsIG51bGwpOyB9LCAwKTsKKyAg
fQorICBpZiAoIm9uc2VsZWN0c3RhcnQiIGluIHJvb3QpIHsKKyAgICBzZWxlY3Rpb24ub24oInNl
bGVjdHN0YXJ0LmRyYWciLCBudWxsKTsKKyAgfSBlbHNlIHsKKyAgICByb290LnN0eWxlLk1velVz
ZXJTZWxlY3QgPSByb290Ll9fbm9zZWxlY3Q7CisgICAgZGVsZXRlIHJvb3QuX19ub3NlbGVjdDsK
KyAgfQorfQorCitmdW5jdGlvbiBjb25zdGFudCQyKHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkg
eworICAgIHJldHVybiB4OworICB9OworfQorCitmdW5jdGlvbiBEcmFnRXZlbnQodGFyZ2V0LCB0
eXBlLCBzdWJqZWN0LCBpZCwgYWN0aXZlLCB4LCB5LCBkeCwgZHksIGRpc3BhdGNoKSB7CisgIHRo
aXMudGFyZ2V0ID0gdGFyZ2V0OworICB0aGlzLnR5cGUgPSB0eXBlOworICB0aGlzLnN1YmplY3Qg
PSBzdWJqZWN0OworICB0aGlzLmlkZW50aWZpZXIgPSBpZDsKKyAgdGhpcy5hY3RpdmUgPSBhY3Rp
dmU7CisgIHRoaXMueCA9IHg7CisgIHRoaXMueSA9IHk7CisgIHRoaXMuZHggPSBkeDsKKyAgdGhp
cy5keSA9IGR5OworICB0aGlzLl8gPSBkaXNwYXRjaDsKK30KKworRHJhZ0V2ZW50LnByb3RvdHlw
ZS5vbiA9IGZ1bmN0aW9uKCkgeworICB2YXIgdmFsdWUgPSB0aGlzLl8ub24uYXBwbHkodGhpcy5f
LCBhcmd1bWVudHMpOworICByZXR1cm4gdmFsdWUgPT09IHRoaXMuXyA/IHRoaXMgOiB2YWx1ZTsK
K307CisKKy8vIElnbm9yZSByaWdodC1jbGljaywgc2luY2UgdGhhdCBzaG91bGQgb3BlbiB0aGUg
Y29udGV4dCBtZW51LgorZnVuY3Rpb24gZGVmYXVsdEZpbHRlcigpIHsKKyAgcmV0dXJuICFleHBv
cnRzLmV2ZW50LmN0cmxLZXkgJiYgIWV4cG9ydHMuZXZlbnQuYnV0dG9uOworfQorCitmdW5jdGlv
biBkZWZhdWx0Q29udGFpbmVyKCkgeworICByZXR1cm4gdGhpcy5wYXJlbnROb2RlOworfQorCitm
dW5jdGlvbiBkZWZhdWx0U3ViamVjdChkKSB7CisgIHJldHVybiBkID09IG51bGwgPyB7eDogZXhw
b3J0cy5ldmVudC54LCB5OiBleHBvcnRzLmV2ZW50Lnl9IDogZDsKK30KKworZnVuY3Rpb24gZGVm
YXVsdFRvdWNoYWJsZSgpIHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyB8fCAo
Im9udG91Y2hzdGFydCIgaW4gdGhpcyk7Cit9CisKK2Z1bmN0aW9uIGRyYWcoKSB7CisgIHZhciBm
aWx0ZXIgPSBkZWZhdWx0RmlsdGVyLAorICAgICAgY29udGFpbmVyID0gZGVmYXVsdENvbnRhaW5l
ciwKKyAgICAgIHN1YmplY3QgPSBkZWZhdWx0U3ViamVjdCwKKyAgICAgIHRvdWNoYWJsZSA9IGRl
ZmF1bHRUb3VjaGFibGUsCisgICAgICBnZXN0dXJlcyA9IHt9LAorICAgICAgbGlzdGVuZXJzID0g
ZGlzcGF0Y2goInN0YXJ0IiwgImRyYWciLCAiZW5kIiksCisgICAgICBhY3RpdmUgPSAwLAorICAg
ICAgbW91c2Vkb3dueCwKKyAgICAgIG1vdXNlZG93bnksCisgICAgICBtb3VzZW1vdmluZywKKyAg
ICAgIHRvdWNoZW5kaW5nLAorICAgICAgY2xpY2tEaXN0YW5jZTIgPSAwOworCisgIGZ1bmN0aW9u
IGRyYWcoc2VsZWN0aW9uKSB7CisgICAgc2VsZWN0aW9uCisgICAgICAgIC5vbigibW91c2Vkb3du
LmRyYWciLCBtb3VzZWRvd25lZCkKKyAgICAgIC5maWx0ZXIodG91Y2hhYmxlKQorICAgICAgICAu
b24oInRvdWNoc3RhcnQuZHJhZyIsIHRvdWNoc3RhcnRlZCkKKyAgICAgICAgLm9uKCJ0b3VjaG1v
dmUuZHJhZyIsIHRvdWNobW92ZWQpCisgICAgICAgIC5vbigidG91Y2hlbmQuZHJhZyB0b3VjaGNh
bmNlbC5kcmFnIiwgdG91Y2hlbmRlZCkKKyAgICAgICAgLnN0eWxlKCJ0b3VjaC1hY3Rpb24iLCAi
bm9uZSIpCisgICAgICAgIC5zdHlsZSgiLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIiwgInJn
YmEoMCwwLDAsMCkiKTsKKyAgfQorCisgIGZ1bmN0aW9uIG1vdXNlZG93bmVkKCkgeworICAgIGlm
ICh0b3VjaGVuZGluZyB8fCAhZmlsdGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpIHJldHVybjsK
KyAgICB2YXIgZ2VzdHVyZSA9IGJlZm9yZXN0YXJ0KCJtb3VzZSIsIGNvbnRhaW5lci5hcHBseSh0
aGlzLCBhcmd1bWVudHMpLCBtb3VzZSwgdGhpcywgYXJndW1lbnRzKTsKKyAgICBpZiAoIWdlc3R1
cmUpIHJldHVybjsKKyAgICBzZWxlY3QoZXhwb3J0cy5ldmVudC52aWV3KS5vbigibW91c2Vtb3Zl
LmRyYWciLCBtb3VzZW1vdmVkLCB0cnVlKS5vbigibW91c2V1cC5kcmFnIiwgbW91c2V1cHBlZCwg
dHJ1ZSk7CisgICAgZHJhZ0Rpc2FibGUoZXhwb3J0cy5ldmVudC52aWV3KTsKKyAgICBub3Byb3Bh
Z2F0aW9uKCk7CisgICAgbW91c2Vtb3ZpbmcgPSBmYWxzZTsKKyAgICBtb3VzZWRvd254ID0gZXhw
b3J0cy5ldmVudC5jbGllbnRYOworICAgIG1vdXNlZG93bnkgPSBleHBvcnRzLmV2ZW50LmNsaWVu
dFk7CisgICAgZ2VzdHVyZSgic3RhcnQiKTsKKyAgfQorCisgIGZ1bmN0aW9uIG1vdXNlbW92ZWQo
KSB7CisgICAgbm9ldmVudCgpOworICAgIGlmICghbW91c2Vtb3ZpbmcpIHsKKyAgICAgIHZhciBk
eCA9IGV4cG9ydHMuZXZlbnQuY2xpZW50WCAtIG1vdXNlZG93bngsIGR5ID0gZXhwb3J0cy5ldmVu
dC5jbGllbnRZIC0gbW91c2Vkb3dueTsKKyAgICAgIG1vdXNlbW92aW5nID0gZHggKiBkeCArIGR5
ICogZHkgPiBjbGlja0Rpc3RhbmNlMjsKKyAgICB9CisgICAgZ2VzdHVyZXMubW91c2UoImRyYWci
KTsKKyAgfQorCisgIGZ1bmN0aW9uIG1vdXNldXBwZWQoKSB7CisgICAgc2VsZWN0KGV4cG9ydHMu
ZXZlbnQudmlldykub24oIm1vdXNlbW92ZS5kcmFnIG1vdXNldXAuZHJhZyIsIG51bGwpOworICAg
IHllc2RyYWcoZXhwb3J0cy5ldmVudC52aWV3LCBtb3VzZW1vdmluZyk7CisgICAgbm9ldmVudCgp
OworICAgIGdlc3R1cmVzLm1vdXNlKCJlbmQiKTsKKyAgfQorCisgIGZ1bmN0aW9uIHRvdWNoc3Rh
cnRlZCgpIHsKKyAgICBpZiAoIWZpbHRlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSByZXR1cm47
CisgICAgdmFyIHRvdWNoZXMgPSBleHBvcnRzLmV2ZW50LmNoYW5nZWRUb3VjaGVzLAorICAgICAg
ICBjID0gY29udGFpbmVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksCisgICAgICAgIG4gPSB0b3Vj
aGVzLmxlbmd0aCwgaSwgZ2VzdHVyZTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsK
KyAgICAgIGlmIChnZXN0dXJlID0gYmVmb3Jlc3RhcnQodG91Y2hlc1tpXS5pZGVudGlmaWVyLCBj
LCB0b3VjaCwgdGhpcywgYXJndW1lbnRzKSkgeworICAgICAgICBub3Byb3BhZ2F0aW9uKCk7Cisg
ICAgICAgIGdlc3R1cmUoInN0YXJ0Iik7CisgICAgICB9CisgICAgfQorICB9CisKKyAgZnVuY3Rp
b24gdG91Y2htb3ZlZCgpIHsKKyAgICB2YXIgdG91Y2hlcyA9IGV4cG9ydHMuZXZlbnQuY2hhbmdl
ZFRvdWNoZXMsCisgICAgICAgIG4gPSB0b3VjaGVzLmxlbmd0aCwgaSwgZ2VzdHVyZTsKKworICAg
IGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChnZXN0dXJlID0gZ2VzdHVyZXNb
dG91Y2hlc1tpXS5pZGVudGlmaWVyXSkgeworICAgICAgICBub2V2ZW50KCk7CisgICAgICAgIGdl
c3R1cmUoImRyYWciKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBmdW5jdGlvbiB0b3VjaGVu
ZGVkKCkgeworICAgIHZhciB0b3VjaGVzID0gZXhwb3J0cy5ldmVudC5jaGFuZ2VkVG91Y2hlcywK
KyAgICAgICAgbiA9IHRvdWNoZXMubGVuZ3RoLCBpLCBnZXN0dXJlOworCisgICAgaWYgKHRvdWNo
ZW5kaW5nKSBjbGVhclRpbWVvdXQodG91Y2hlbmRpbmcpOworICAgIHRvdWNoZW5kaW5nID0gc2V0
VGltZW91dChmdW5jdGlvbigpIHsgdG91Y2hlbmRpbmcgPSBudWxsOyB9LCA1MDApOyAvLyBHaG9z
dCBjbGlja3MgYXJlIGRlbGF5ZWQhCisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAg
ICAgaWYgKGdlc3R1cmUgPSBnZXN0dXJlc1t0b3VjaGVzW2ldLmlkZW50aWZpZXJdKSB7CisgICAg
ICAgIG5vcHJvcGFnYXRpb24oKTsKKyAgICAgICAgZ2VzdHVyZSgiZW5kIik7CisgICAgICB9Cisg
ICAgfQorICB9CisKKyAgZnVuY3Rpb24gYmVmb3Jlc3RhcnQoaWQsIGNvbnRhaW5lciwgcG9pbnQs
IHRoYXQsIGFyZ3MpIHsKKyAgICB2YXIgcCA9IHBvaW50KGNvbnRhaW5lciwgaWQpLCBzLCBkeCwg
ZHksCisgICAgICAgIHN1Ymxpc3RlbmVycyA9IGxpc3RlbmVycy5jb3B5KCk7CisKKyAgICBpZiAo
IWN1c3RvbUV2ZW50KG5ldyBEcmFnRXZlbnQoZHJhZywgImJlZm9yZXN0YXJ0IiwgcywgaWQsIGFj
dGl2ZSwgcFswXSwgcFsxXSwgMCwgMCwgc3VibGlzdGVuZXJzKSwgZnVuY3Rpb24oKSB7CisgICAg
ICBpZiAoKGV4cG9ydHMuZXZlbnQuc3ViamVjdCA9IHMgPSBzdWJqZWN0LmFwcGx5KHRoYXQsIGFy
Z3MpKSA9PSBudWxsKSByZXR1cm4gZmFsc2U7CisgICAgICBkeCA9IHMueCAtIHBbMF0gfHwgMDsK
KyAgICAgIGR5ID0gcy55IC0gcFsxXSB8fCAwOworICAgICAgcmV0dXJuIHRydWU7CisgICAgfSkp
IHJldHVybjsKKworICAgIHJldHVybiBmdW5jdGlvbiBnZXN0dXJlKHR5cGUpIHsKKyAgICAgIHZh
ciBwMCA9IHAsIG47CisgICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgICAgY2FzZSAic3RhcnQi
OiBnZXN0dXJlc1tpZF0gPSBnZXN0dXJlLCBuID0gYWN0aXZlKys7IGJyZWFrOworICAgICAgICBj
YXNlICJlbmQiOiBkZWxldGUgZ2VzdHVyZXNbaWRdLCAtLWFjdGl2ZTsgLy8gbm9icmVhaworICAg
ICAgICBjYXNlICJkcmFnIjogcCA9IHBvaW50KGNvbnRhaW5lciwgaWQpLCBuID0gYWN0aXZlOyBi
cmVhazsKKyAgICAgIH0KKyAgICAgIGN1c3RvbUV2ZW50KG5ldyBEcmFnRXZlbnQoZHJhZywgdHlw
ZSwgcywgaWQsIG4sIHBbMF0gKyBkeCwgcFsxXSArIGR5LCBwWzBdIC0gcDBbMF0sIHBbMV0gLSBw
MFsxXSwgc3VibGlzdGVuZXJzKSwgc3VibGlzdGVuZXJzLmFwcGx5LCBzdWJsaXN0ZW5lcnMsIFt0
eXBlLCB0aGF0LCBhcmdzXSk7CisgICAgfTsKKyAgfQorCisgIGRyYWcuZmlsdGVyID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGZpbHRlciA9IHR5cGVvZiBf
ID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDIoISFfKSwgZHJhZykgOiBmaWx0ZXI7Cisg
IH07CisKKyAgZHJhZy5jb250YWluZXIgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAoY29udGFpbmVyID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDog
Y29uc3RhbnQkMihfKSwgZHJhZykgOiBjb250YWluZXI7CisgIH07CisKKyAgZHJhZy5zdWJqZWN0
ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHN1YmplY3Qg
PSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCQyKF8pLCBkcmFnKSA6IHN1
YmplY3Q7CisgIH07CisKKyAgZHJhZy50b3VjaGFibGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodG91Y2hhYmxlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlv
biIgPyBfIDogY29uc3RhbnQkMighIV8pLCBkcmFnKSA6IHRvdWNoYWJsZTsKKyAgfTsKKworICBk
cmFnLm9uID0gZnVuY3Rpb24oKSB7CisgICAgdmFyIHZhbHVlID0gbGlzdGVuZXJzLm9uLmFwcGx5
KGxpc3RlbmVycywgYXJndW1lbnRzKTsKKyAgICByZXR1cm4gdmFsdWUgPT09IGxpc3RlbmVycyA/
IGRyYWcgOiB2YWx1ZTsKKyAgfTsKKworICBkcmFnLmNsaWNrRGlzdGFuY2UgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoY2xpY2tEaXN0YW5jZTIgPSAoXyA9
ICtfKSAqIF8sIGRyYWcpIDogTWF0aC5zcXJ0KGNsaWNrRGlzdGFuY2UyKTsKKyAgfTsKKworICBy
ZXR1cm4gZHJhZzsKK30KKworZnVuY3Rpb24gZGVmaW5lKGNvbnN0cnVjdG9yLCBmYWN0b3J5LCBw
cm90b3R5cGUpIHsKKyAgY29uc3RydWN0b3IucHJvdG90eXBlID0gZmFjdG9yeS5wcm90b3R5cGUg
PSBwcm90b3R5cGU7CisgIHByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGNvbnN0cnVjdG9yOworfQor
CitmdW5jdGlvbiBleHRlbmQocGFyZW50LCBkZWZpbml0aW9uKSB7CisgIHZhciBwcm90b3R5cGUg
PSBPYmplY3QuY3JlYXRlKHBhcmVudC5wcm90b3R5cGUpOworICBmb3IgKHZhciBrZXkgaW4gZGVm
aW5pdGlvbikgcHJvdG90eXBlW2tleV0gPSBkZWZpbml0aW9uW2tleV07CisgIHJldHVybiBwcm90
b3R5cGU7Cit9CisKK2Z1bmN0aW9uIENvbG9yKCkge30KKwordmFyIGRhcmtlciA9IDAuNzsKK3Zh
ciBicmlnaHRlciA9IDEgLyBkYXJrZXI7CisKK3ZhciByZUkgPSAiXFxzKihbKy1dP1xcZCspXFxz
KiIsCisgICAgcmVOID0gIlxccyooWystXT9cXGQqXFwuP1xcZCsoPzpbZUVdWystXT9cXGQrKT8p
XFxzKiIsCisgICAgcmVQID0gIlxccyooWystXT9cXGQqXFwuP1xcZCsoPzpbZUVdWystXT9cXGQr
KT8pJVxccyoiLAorICAgIHJlSGV4ID0gL14jKFswLTlhLWZdezMsOH0pJC8sCisgICAgcmVSZ2JJ
bnRlZ2VyID0gbmV3IFJlZ0V4cCgiXnJnYlxcKCIgKyBbcmVJLCByZUksIHJlSV0gKyAiXFwpJCIp
LAorICAgIHJlUmdiUGVyY2VudCA9IG5ldyBSZWdFeHAoIl5yZ2JcXCgiICsgW3JlUCwgcmVQLCBy
ZVBdICsgIlxcKSQiKSwKKyAgICByZVJnYmFJbnRlZ2VyID0gbmV3IFJlZ0V4cCgiXnJnYmFcXCgi
ICsgW3JlSSwgcmVJLCByZUksIHJlTl0gKyAiXFwpJCIpLAorICAgIHJlUmdiYVBlcmNlbnQgPSBu
ZXcgUmVnRXhwKCJecmdiYVxcKCIgKyBbcmVQLCByZVAsIHJlUCwgcmVOXSArICJcXCkkIiksCisg
ICAgcmVIc2xQZXJjZW50ID0gbmV3IFJlZ0V4cCgiXmhzbFxcKCIgKyBbcmVOLCByZVAsIHJlUF0g
KyAiXFwpJCIpLAorICAgIHJlSHNsYVBlcmNlbnQgPSBuZXcgUmVnRXhwKCJeaHNsYVxcKCIgKyBb
cmVOLCByZVAsIHJlUCwgcmVOXSArICJcXCkkIik7CisKK3ZhciBuYW1lZCA9IHsKKyAgYWxpY2Vi
bHVlOiAweGYwZjhmZiwKKyAgYW50aXF1ZXdoaXRlOiAweGZhZWJkNywKKyAgYXF1YTogMHgwMGZm
ZmYsCisgIGFxdWFtYXJpbmU6IDB4N2ZmZmQ0LAorICBhenVyZTogMHhmMGZmZmYsCisgIGJlaWdl
OiAweGY1ZjVkYywKKyAgYmlzcXVlOiAweGZmZTRjNCwKKyAgYmxhY2s6IDB4MDAwMDAwLAorICBi
bGFuY2hlZGFsbW9uZDogMHhmZmViY2QsCisgIGJsdWU6IDB4MDAwMGZmLAorICBibHVldmlvbGV0
OiAweDhhMmJlMiwKKyAgYnJvd246IDB4YTUyYTJhLAorICBidXJseXdvb2Q6IDB4ZGViODg3LAor
ICBjYWRldGJsdWU6IDB4NWY5ZWEwLAorICBjaGFydHJldXNlOiAweDdmZmYwMCwKKyAgY2hvY29s
YXRlOiAweGQyNjkxZSwKKyAgY29yYWw6IDB4ZmY3ZjUwLAorICBjb3JuZmxvd2VyYmx1ZTogMHg2
NDk1ZWQsCisgIGNvcm5zaWxrOiAweGZmZjhkYywKKyAgY3JpbXNvbjogMHhkYzE0M2MsCisgIGN5
YW46IDB4MDBmZmZmLAorICBkYXJrYmx1ZTogMHgwMDAwOGIsCisgIGRhcmtjeWFuOiAweDAwOGI4
YiwKKyAgZGFya2dvbGRlbnJvZDogMHhiODg2MGIsCisgIGRhcmtncmF5OiAweGE5YTlhOSwKKyAg
ZGFya2dyZWVuOiAweDAwNjQwMCwKKyAgZGFya2dyZXk6IDB4YTlhOWE5LAorICBkYXJra2hha2k6
IDB4YmRiNzZiLAorICBkYXJrbWFnZW50YTogMHg4YjAwOGIsCisgIGRhcmtvbGl2ZWdyZWVuOiAw
eDU1NmIyZiwKKyAgZGFya29yYW5nZTogMHhmZjhjMDAsCisgIGRhcmtvcmNoaWQ6IDB4OTkzMmNj
LAorICBkYXJrcmVkOiAweDhiMDAwMCwKKyAgZGFya3NhbG1vbjogMHhlOTk2N2EsCisgIGRhcmtz
ZWFncmVlbjogMHg4ZmJjOGYsCisgIGRhcmtzbGF0ZWJsdWU6IDB4NDgzZDhiLAorICBkYXJrc2xh
dGVncmF5OiAweDJmNGY0ZiwKKyAgZGFya3NsYXRlZ3JleTogMHgyZjRmNGYsCisgIGRhcmt0dXJx
dW9pc2U6IDB4MDBjZWQxLAorICBkYXJrdmlvbGV0OiAweDk0MDBkMywKKyAgZGVlcHBpbms6IDB4
ZmYxNDkzLAorICBkZWVwc2t5Ymx1ZTogMHgwMGJmZmYsCisgIGRpbWdyYXk6IDB4Njk2OTY5LAor
ICBkaW1ncmV5OiAweDY5Njk2OSwKKyAgZG9kZ2VyYmx1ZTogMHgxZTkwZmYsCisgIGZpcmVicmlj
azogMHhiMjIyMjIsCisgIGZsb3JhbHdoaXRlOiAweGZmZmFmMCwKKyAgZm9yZXN0Z3JlZW46IDB4
MjI4YjIyLAorICBmdWNoc2lhOiAweGZmMDBmZiwKKyAgZ2FpbnNib3JvOiAweGRjZGNkYywKKyAg
Z2hvc3R3aGl0ZTogMHhmOGY4ZmYsCisgIGdvbGQ6IDB4ZmZkNzAwLAorICBnb2xkZW5yb2Q6IDB4
ZGFhNTIwLAorICBncmF5OiAweDgwODA4MCwKKyAgZ3JlZW46IDB4MDA4MDAwLAorICBncmVlbnll
bGxvdzogMHhhZGZmMmYsCisgIGdyZXk6IDB4ODA4MDgwLAorICBob25leWRldzogMHhmMGZmZjAs
CisgIGhvdHBpbms6IDB4ZmY2OWI0LAorICBpbmRpYW5yZWQ6IDB4Y2Q1YzVjLAorICBpbmRpZ286
IDB4NGIwMDgyLAorICBpdm9yeTogMHhmZmZmZjAsCisgIGtoYWtpOiAweGYwZTY4YywKKyAgbGF2
ZW5kZXI6IDB4ZTZlNmZhLAorICBsYXZlbmRlcmJsdXNoOiAweGZmZjBmNSwKKyAgbGF3bmdyZWVu
OiAweDdjZmMwMCwKKyAgbGVtb25jaGlmZm9uOiAweGZmZmFjZCwKKyAgbGlnaHRibHVlOiAweGFk
ZDhlNiwKKyAgbGlnaHRjb3JhbDogMHhmMDgwODAsCisgIGxpZ2h0Y3lhbjogMHhlMGZmZmYsCisg
IGxpZ2h0Z29sZGVucm9keWVsbG93OiAweGZhZmFkMiwKKyAgbGlnaHRncmF5OiAweGQzZDNkMywK
KyAgbGlnaHRncmVlbjogMHg5MGVlOTAsCisgIGxpZ2h0Z3JleTogMHhkM2QzZDMsCisgIGxpZ2h0
cGluazogMHhmZmI2YzEsCisgIGxpZ2h0c2FsbW9uOiAweGZmYTA3YSwKKyAgbGlnaHRzZWFncmVl
bjogMHgyMGIyYWEsCisgIGxpZ2h0c2t5Ymx1ZTogMHg4N2NlZmEsCisgIGxpZ2h0c2xhdGVncmF5
OiAweDc3ODg5OSwKKyAgbGlnaHRzbGF0ZWdyZXk6IDB4Nzc4ODk5LAorICBsaWdodHN0ZWVsYmx1
ZTogMHhiMGM0ZGUsCisgIGxpZ2h0eWVsbG93OiAweGZmZmZlMCwKKyAgbGltZTogMHgwMGZmMDAs
CisgIGxpbWVncmVlbjogMHgzMmNkMzIsCisgIGxpbmVuOiAweGZhZjBlNiwKKyAgbWFnZW50YTog
MHhmZjAwZmYsCisgIG1hcm9vbjogMHg4MDAwMDAsCisgIG1lZGl1bWFxdWFtYXJpbmU6IDB4NjZj
ZGFhLAorICBtZWRpdW1ibHVlOiAweDAwMDBjZCwKKyAgbWVkaXVtb3JjaGlkOiAweGJhNTVkMywK
KyAgbWVkaXVtcHVycGxlOiAweDkzNzBkYiwKKyAgbWVkaXVtc2VhZ3JlZW46IDB4M2NiMzcxLAor
ICBtZWRpdW1zbGF0ZWJsdWU6IDB4N2I2OGVlLAorICBtZWRpdW1zcHJpbmdncmVlbjogMHgwMGZh
OWEsCisgIG1lZGl1bXR1cnF1b2lzZTogMHg0OGQxY2MsCisgIG1lZGl1bXZpb2xldHJlZDogMHhj
NzE1ODUsCisgIG1pZG5pZ2h0Ymx1ZTogMHgxOTE5NzAsCisgIG1pbnRjcmVhbTogMHhmNWZmZmEs
CisgIG1pc3R5cm9zZTogMHhmZmU0ZTEsCisgIG1vY2Nhc2luOiAweGZmZTRiNSwKKyAgbmF2YWpv
d2hpdGU6IDB4ZmZkZWFkLAorICBuYXZ5OiAweDAwMDA4MCwKKyAgb2xkbGFjZTogMHhmZGY1ZTYs
CisgIG9saXZlOiAweDgwODAwMCwKKyAgb2xpdmVkcmFiOiAweDZiOGUyMywKKyAgb3JhbmdlOiAw
eGZmYTUwMCwKKyAgb3JhbmdlcmVkOiAweGZmNDUwMCwKKyAgb3JjaGlkOiAweGRhNzBkNiwKKyAg
cGFsZWdvbGRlbnJvZDogMHhlZWU4YWEsCisgIHBhbGVncmVlbjogMHg5OGZiOTgsCisgIHBhbGV0
dXJxdW9pc2U6IDB4YWZlZWVlLAorICBwYWxldmlvbGV0cmVkOiAweGRiNzA5MywKKyAgcGFwYXlh
d2hpcDogMHhmZmVmZDUsCisgIHBlYWNocHVmZjogMHhmZmRhYjksCisgIHBlcnU6IDB4Y2Q4NTNm
LAorICBwaW5rOiAweGZmYzBjYiwKKyAgcGx1bTogMHhkZGEwZGQsCisgIHBvd2RlcmJsdWU6IDB4
YjBlMGU2LAorICBwdXJwbGU6IDB4ODAwMDgwLAorICByZWJlY2NhcHVycGxlOiAweDY2MzM5OSwK
KyAgcmVkOiAweGZmMDAwMCwKKyAgcm9zeWJyb3duOiAweGJjOGY4ZiwKKyAgcm95YWxibHVlOiAw
eDQxNjllMSwKKyAgc2FkZGxlYnJvd246IDB4OGI0NTEzLAorICBzYWxtb246IDB4ZmE4MDcyLAor
ICBzYW5keWJyb3duOiAweGY0YTQ2MCwKKyAgc2VhZ3JlZW46IDB4MmU4YjU3LAorICBzZWFzaGVs
bDogMHhmZmY1ZWUsCisgIHNpZW5uYTogMHhhMDUyMmQsCisgIHNpbHZlcjogMHhjMGMwYzAsCisg
IHNreWJsdWU6IDB4ODdjZWViLAorICBzbGF0ZWJsdWU6IDB4NmE1YWNkLAorICBzbGF0ZWdyYXk6
IDB4NzA4MDkwLAorICBzbGF0ZWdyZXk6IDB4NzA4MDkwLAorICBzbm93OiAweGZmZmFmYSwKKyAg
c3ByaW5nZ3JlZW46IDB4MDBmZjdmLAorICBzdGVlbGJsdWU6IDB4NDY4MmI0LAorICB0YW46IDB4
ZDJiNDhjLAorICB0ZWFsOiAweDAwODA4MCwKKyAgdGhpc3RsZTogMHhkOGJmZDgsCisgIHRvbWF0
bzogMHhmZjYzNDcsCisgIHR1cnF1b2lzZTogMHg0MGUwZDAsCisgIHZpb2xldDogMHhlZTgyZWUs
CisgIHdoZWF0OiAweGY1ZGViMywKKyAgd2hpdGU6IDB4ZmZmZmZmLAorICB3aGl0ZXNtb2tlOiAw
eGY1ZjVmNSwKKyAgeWVsbG93OiAweGZmZmYwMCwKKyAgeWVsbG93Z3JlZW46IDB4OWFjZDMyCit9
OworCitkZWZpbmUoQ29sb3IsIGNvbG9yLCB7CisgIGNvcHk6IGZ1bmN0aW9uKGNoYW5uZWxzKSB7
CisgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IHRoaXMuY29uc3RydWN0b3IsIHRoaXMsIGNo
YW5uZWxzKTsKKyAgfSwKKyAgZGlzcGxheWFibGU6IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0
aGlzLnJnYigpLmRpc3BsYXlhYmxlKCk7CisgIH0sCisgIGhleDogY29sb3JfZm9ybWF0SGV4LCAv
LyBEZXByZWNhdGVkISBVc2UgY29sb3IuZm9ybWF0SGV4LgorICBmb3JtYXRIZXg6IGNvbG9yX2Zv
cm1hdEhleCwKKyAgZm9ybWF0SHNsOiBjb2xvcl9mb3JtYXRIc2wsCisgIGZvcm1hdFJnYjogY29s
b3JfZm9ybWF0UmdiLAorICB0b1N0cmluZzogY29sb3JfZm9ybWF0UmdiCit9KTsKKworZnVuY3Rp
b24gY29sb3JfZm9ybWF0SGV4KCkgeworICByZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRIZXgoKTsK
K30KKworZnVuY3Rpb24gY29sb3JfZm9ybWF0SHNsKCkgeworICByZXR1cm4gaHNsQ29udmVydCh0
aGlzKS5mb3JtYXRIc2woKTsKK30KKworZnVuY3Rpb24gY29sb3JfZm9ybWF0UmdiKCkgeworICBy
ZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRSZ2IoKTsKK30KKworZnVuY3Rpb24gY29sb3IoZm9ybWF0
KSB7CisgIHZhciBtLCBsOworICBmb3JtYXQgPSAoZm9ybWF0ICsgIiIpLnRyaW0oKS50b0xvd2Vy
Q2FzZSgpOworICByZXR1cm4gKG0gPSByZUhleC5leGVjKGZvcm1hdCkpID8gKGwgPSBtWzFdLmxl
bmd0aCwgbSA9IHBhcnNlSW50KG1bMV0sIDE2KSwgbCA9PT0gNiA/IHJnYm4obSkgLy8gI2ZmMDAw
MAorICAgICAgOiBsID09PSAzID8gbmV3IFJnYigobSA+PiA4ICYgMHhmKSB8IChtID4+IDQgJiAw
eGYwKSwgKG0gPj4gNCAmIDB4ZikgfCAobSAmIDB4ZjApLCAoKG0gJiAweGYpIDw8IDQpIHwgKG0g
JiAweGYpLCAxKSAvLyAjZjAwCisgICAgICA6IGwgPT09IDggPyBuZXcgUmdiKG0gPj4gMjQgJiAw
eGZmLCBtID4+IDE2ICYgMHhmZiwgbSA+PiA4ICYgMHhmZiwgKG0gJiAweGZmKSAvIDB4ZmYpIC8v
ICNmZjAwMDAwMAorICAgICAgOiBsID09PSA0ID8gbmV3IFJnYigobSA+PiAxMiAmIDB4ZikgfCAo
bSA+PiA4ICYgMHhmMCksIChtID4+IDggJiAweGYpIHwgKG0gPj4gNCAmIDB4ZjApLCAobSA+PiA0
ICYgMHhmKSB8IChtICYgMHhmMCksICgoKG0gJiAweGYpIDw8IDQpIHwgKG0gJiAweGYpKSAvIDB4
ZmYpIC8vICNmMDAwCisgICAgICA6IG51bGwpIC8vIGludmFsaWQgaGV4CisgICAgICA6IChtID0g
cmVSZ2JJbnRlZ2VyLmV4ZWMoZm9ybWF0KSkgPyBuZXcgUmdiKG1bMV0sIG1bMl0sIG1bM10sIDEp
IC8vIHJnYigyNTUsIDAsIDApCisgICAgICA6IChtID0gcmVSZ2JQZXJjZW50LmV4ZWMoZm9ybWF0
KSkgPyBuZXcgUmdiKG1bMV0gKiAyNTUgLyAxMDAsIG1bMl0gKiAyNTUgLyAxMDAsIG1bM10gKiAy
NTUgLyAxMDAsIDEpIC8vIHJnYigxMDAlLCAwJSwgMCUpCisgICAgICA6IChtID0gcmVSZ2JhSW50
ZWdlci5leGVjKGZvcm1hdCkpID8gcmdiYShtWzFdLCBtWzJdLCBtWzNdLCBtWzRdKSAvLyByZ2Jh
KDI1NSwgMCwgMCwgMSkKKyAgICAgIDogKG0gPSByZVJnYmFQZXJjZW50LmV4ZWMoZm9ybWF0KSkg
PyByZ2JhKG1bMV0gKiAyNTUgLyAxMDAsIG1bMl0gKiAyNTUgLyAxMDAsIG1bM10gKiAyNTUgLyAx
MDAsIG1bNF0pIC8vIHJnYigxMDAlLCAwJSwgMCUsIDEpCisgICAgICA6IChtID0gcmVIc2xQZXJj
ZW50LmV4ZWMoZm9ybWF0KSkgPyBoc2xhKG1bMV0sIG1bMl0gLyAxMDAsIG1bM10gLyAxMDAsIDEp
IC8vIGhzbCgxMjAsIDUwJSwgNTAlKQorICAgICAgOiAobSA9IHJlSHNsYVBlcmNlbnQuZXhlYyhm
b3JtYXQpKSA/IGhzbGEobVsxXSwgbVsyXSAvIDEwMCwgbVszXSAvIDEwMCwgbVs0XSkgLy8gaHNs
YSgxMjAsIDUwJSwgNTAlLCAxKQorICAgICAgOiBuYW1lZC5oYXNPd25Qcm9wZXJ0eShmb3JtYXQp
ID8gcmdibihuYW1lZFtmb3JtYXRdKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXByb3RvdHlw
ZS1idWlsdGlucworICAgICAgOiBmb3JtYXQgPT09ICJ0cmFuc3BhcmVudCIgPyBuZXcgUmdiKE5h
TiwgTmFOLCBOYU4sIDApCisgICAgICA6IG51bGw7Cit9CisKK2Z1bmN0aW9uIHJnYm4obikgewor
ICByZXR1cm4gbmV3IFJnYihuID4+IDE2ICYgMHhmZiwgbiA+PiA4ICYgMHhmZiwgbiAmIDB4ZmYs
IDEpOworfQorCitmdW5jdGlvbiByZ2JhKHIsIGcsIGIsIGEpIHsKKyAgaWYgKGEgPD0gMCkgciA9
IGcgPSBiID0gTmFOOworICByZXR1cm4gbmV3IFJnYihyLCBnLCBiLCBhKTsKK30KKworZnVuY3Rp
b24gcmdiQ29udmVydChvKSB7CisgIGlmICghKG8gaW5zdGFuY2VvZiBDb2xvcikpIG8gPSBjb2xv
cihvKTsKKyAgaWYgKCFvKSByZXR1cm4gbmV3IFJnYjsKKyAgbyA9IG8ucmdiKCk7CisgIHJldHVy
biBuZXcgUmdiKG8uciwgby5nLCBvLmIsIG8ub3BhY2l0eSk7Cit9CisKK2Z1bmN0aW9uIHJnYihy
LCBnLCBiLCBvcGFjaXR5KSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID09PSAxID8gcmdi
Q29udmVydChyKSA6IG5ldyBSZ2IociwgZywgYiwgb3BhY2l0eSA9PSBudWxsID8gMSA6IG9wYWNp
dHkpOworfQorCitmdW5jdGlvbiBSZ2IociwgZywgYiwgb3BhY2l0eSkgeworICB0aGlzLnIgPSAr
cjsKKyAgdGhpcy5nID0gK2c7CisgIHRoaXMuYiA9ICtiOworICB0aGlzLm9wYWNpdHkgPSArb3Bh
Y2l0eTsKK30KKworZGVmaW5lKFJnYiwgcmdiLCBleHRlbmQoQ29sb3IsIHsKKyAgYnJpZ2h0ZXI6
IGZ1bmN0aW9uKGspIHsKKyAgICBrID0gayA9PSBudWxsID8gYnJpZ2h0ZXIgOiBNYXRoLnBvdyhi
cmlnaHRlciwgayk7CisgICAgcmV0dXJuIG5ldyBSZ2IodGhpcy5yICogaywgdGhpcy5nICogaywg
dGhpcy5iICogaywgdGhpcy5vcGFjaXR5KTsKKyAgfSwKKyAgZGFya2VyOiBmdW5jdGlvbihrKSB7
CisgICAgayA9IGsgPT0gbnVsbCA/IGRhcmtlciA6IE1hdGgucG93KGRhcmtlciwgayk7CisgICAg
cmV0dXJuIG5ldyBSZ2IodGhpcy5yICogaywgdGhpcy5nICogaywgdGhpcy5iICogaywgdGhpcy5v
cGFjaXR5KTsKKyAgfSwKKyAgcmdiOiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gdGhpczsKKyAg
fSwKKyAgZGlzcGxheWFibGU6IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiAoLTAuNSA8PSB0aGlz
LnIgJiYgdGhpcy5yIDwgMjU1LjUpCisgICAgICAgICYmICgtMC41IDw9IHRoaXMuZyAmJiB0aGlz
LmcgPCAyNTUuNSkKKyAgICAgICAgJiYgKC0wLjUgPD0gdGhpcy5iICYmIHRoaXMuYiA8IDI1NS41
KQorICAgICAgICAmJiAoMCA8PSB0aGlzLm9wYWNpdHkgJiYgdGhpcy5vcGFjaXR5IDw9IDEpOwor
ICB9LAorICBoZXg6IHJnYl9mb3JtYXRIZXgsIC8vIERlcHJlY2F0ZWQhIFVzZSBjb2xvci5mb3Jt
YXRIZXguCisgIGZvcm1hdEhleDogcmdiX2Zvcm1hdEhleCwKKyAgZm9ybWF0UmdiOiByZ2JfZm9y
bWF0UmdiLAorICB0b1N0cmluZzogcmdiX2Zvcm1hdFJnYgorfSkpOworCitmdW5jdGlvbiByZ2Jf
Zm9ybWF0SGV4KCkgeworICByZXR1cm4gIiMiICsgaGV4KHRoaXMucikgKyBoZXgodGhpcy5nKSAr
IGhleCh0aGlzLmIpOworfQorCitmdW5jdGlvbiByZ2JfZm9ybWF0UmdiKCkgeworICB2YXIgYSA9
IHRoaXMub3BhY2l0eTsgYSA9IGlzTmFOKGEpID8gMSA6IE1hdGgubWF4KDAsIE1hdGgubWluKDEs
IGEpKTsKKyAgcmV0dXJuIChhID09PSAxID8gInJnYigiIDogInJnYmEoIikKKyAgICAgICsgTWF0
aC5tYXgoMCwgTWF0aC5taW4oMjU1LCBNYXRoLnJvdW5kKHRoaXMucikgfHwgMCkpICsgIiwgIgor
ICAgICAgKyBNYXRoLm1heCgwLCBNYXRoLm1pbigyNTUsIE1hdGgucm91bmQodGhpcy5nKSB8fCAw
KSkgKyAiLCAiCisgICAgICArIE1hdGgubWF4KDAsIE1hdGgubWluKDI1NSwgTWF0aC5yb3VuZCh0
aGlzLmIpIHx8IDApKQorICAgICAgKyAoYSA9PT0gMSA/ICIpIiA6ICIsICIgKyBhICsgIikiKTsK
K30KKworZnVuY3Rpb24gaGV4KHZhbHVlKSB7CisgIHZhbHVlID0gTWF0aC5tYXgoMCwgTWF0aC5t
aW4oMjU1LCBNYXRoLnJvdW5kKHZhbHVlKSB8fCAwKSk7CisgIHJldHVybiAodmFsdWUgPCAxNiA/
ICIwIiA6ICIiKSArIHZhbHVlLnRvU3RyaW5nKDE2KTsKK30KKworZnVuY3Rpb24gaHNsYShoLCBz
LCBsLCBhKSB7CisgIGlmIChhIDw9IDApIGggPSBzID0gbCA9IE5hTjsKKyAgZWxzZSBpZiAobCA8
PSAwIHx8IGwgPj0gMSkgaCA9IHMgPSBOYU47CisgIGVsc2UgaWYgKHMgPD0gMCkgaCA9IE5hTjsK
KyAgcmV0dXJuIG5ldyBIc2woaCwgcywgbCwgYSk7Cit9CisKK2Z1bmN0aW9uIGhzbENvbnZlcnQo
bykgeworICBpZiAobyBpbnN0YW5jZW9mIEhzbCkgcmV0dXJuIG5ldyBIc2woby5oLCBvLnMsIG8u
bCwgby5vcGFjaXR5KTsKKyAgaWYgKCEobyBpbnN0YW5jZW9mIENvbG9yKSkgbyA9IGNvbG9yKG8p
OworICBpZiAoIW8pIHJldHVybiBuZXcgSHNsOworICBpZiAobyBpbnN0YW5jZW9mIEhzbCkgcmV0
dXJuIG87CisgIG8gPSBvLnJnYigpOworICB2YXIgciA9IG8uciAvIDI1NSwKKyAgICAgIGcgPSBv
LmcgLyAyNTUsCisgICAgICBiID0gby5iIC8gMjU1LAorICAgICAgbWluID0gTWF0aC5taW4ociwg
ZywgYiksCisgICAgICBtYXggPSBNYXRoLm1heChyLCBnLCBiKSwKKyAgICAgIGggPSBOYU4sCisg
ICAgICBzID0gbWF4IC0gbWluLAorICAgICAgbCA9IChtYXggKyBtaW4pIC8gMjsKKyAgaWYgKHMp
IHsKKyAgICBpZiAociA9PT0gbWF4KSBoID0gKGcgLSBiKSAvIHMgKyAoZyA8IGIpICogNjsKKyAg
ICBlbHNlIGlmIChnID09PSBtYXgpIGggPSAoYiAtIHIpIC8gcyArIDI7CisgICAgZWxzZSBoID0g
KHIgLSBnKSAvIHMgKyA0OworICAgIHMgLz0gbCA8IDAuNSA/IG1heCArIG1pbiA6IDIgLSBtYXgg
LSBtaW47CisgICAgaCAqPSA2MDsKKyAgfSBlbHNlIHsKKyAgICBzID0gbCA+IDAgJiYgbCA8IDEg
PyAwIDogaDsKKyAgfQorICByZXR1cm4gbmV3IEhzbChoLCBzLCBsLCBvLm9wYWNpdHkpOworfQor
CitmdW5jdGlvbiBoc2woaCwgcywgbCwgb3BhY2l0eSkgeworICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA9PT0gMSA/IGhzbENvbnZlcnQoaCkgOiBuZXcgSHNsKGgsIHMsIGwsIG9wYWNpdHkgPT0g
bnVsbCA/IDEgOiBvcGFjaXR5KTsKK30KKworZnVuY3Rpb24gSHNsKGgsIHMsIGwsIG9wYWNpdHkp
IHsKKyAgdGhpcy5oID0gK2g7CisgIHRoaXMucyA9ICtzOworICB0aGlzLmwgPSArbDsKKyAgdGhp
cy5vcGFjaXR5ID0gK29wYWNpdHk7Cit9CisKK2RlZmluZShIc2wsIGhzbCwgZXh0ZW5kKENvbG9y
LCB7CisgIGJyaWdodGVyOiBmdW5jdGlvbihrKSB7CisgICAgayA9IGsgPT0gbnVsbCA/IGJyaWdo
dGVyIDogTWF0aC5wb3coYnJpZ2h0ZXIsIGspOworICAgIHJldHVybiBuZXcgSHNsKHRoaXMuaCwg
dGhpcy5zLCB0aGlzLmwgKiBrLCB0aGlzLm9wYWNpdHkpOworICB9LAorICBkYXJrZXI6IGZ1bmN0
aW9uKGspIHsKKyAgICBrID0gayA9PSBudWxsID8gZGFya2VyIDogTWF0aC5wb3coZGFya2VyLCBr
KTsKKyAgICByZXR1cm4gbmV3IEhzbCh0aGlzLmgsIHRoaXMucywgdGhpcy5sICogaywgdGhpcy5v
cGFjaXR5KTsKKyAgfSwKKyAgcmdiOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgaCA9IHRoaXMuaCAl
IDM2MCArICh0aGlzLmggPCAwKSAqIDM2MCwKKyAgICAgICAgcyA9IGlzTmFOKGgpIHx8IGlzTmFO
KHRoaXMucykgPyAwIDogdGhpcy5zLAorICAgICAgICBsID0gdGhpcy5sLAorICAgICAgICBtMiA9
IGwgKyAobCA8IDAuNSA/IGwgOiAxIC0gbCkgKiBzLAorICAgICAgICBtMSA9IDIgKiBsIC0gbTI7
CisgICAgcmV0dXJuIG5ldyBSZ2IoCisgICAgICBoc2wycmdiKGggPj0gMjQwID8gaCAtIDI0MCA6
IGggKyAxMjAsIG0xLCBtMiksCisgICAgICBoc2wycmdiKGgsIG0xLCBtMiksCisgICAgICBoc2wy
cmdiKGggPCAxMjAgPyBoICsgMjQwIDogaCAtIDEyMCwgbTEsIG0yKSwKKyAgICAgIHRoaXMub3Bh
Y2l0eQorICAgICk7CisgIH0sCisgIGRpc3BsYXlhYmxlOiBmdW5jdGlvbigpIHsKKyAgICByZXR1
cm4gKDAgPD0gdGhpcy5zICYmIHRoaXMucyA8PSAxIHx8IGlzTmFOKHRoaXMucykpCisgICAgICAg
ICYmICgwIDw9IHRoaXMubCAmJiB0aGlzLmwgPD0gMSkKKyAgICAgICAgJiYgKDAgPD0gdGhpcy5v
cGFjaXR5ICYmIHRoaXMub3BhY2l0eSA8PSAxKTsKKyAgfSwKKyAgZm9ybWF0SHNsOiBmdW5jdGlv
bigpIHsKKyAgICB2YXIgYSA9IHRoaXMub3BhY2l0eTsgYSA9IGlzTmFOKGEpID8gMSA6IE1hdGgu
bWF4KDAsIE1hdGgubWluKDEsIGEpKTsKKyAgICByZXR1cm4gKGEgPT09IDEgPyAiaHNsKCIgOiAi
aHNsYSgiKQorICAgICAgICArICh0aGlzLmggfHwgMCkgKyAiLCAiCisgICAgICAgICsgKHRoaXMu
cyB8fCAwKSAqIDEwMCArICIlLCAiCisgICAgICAgICsgKHRoaXMubCB8fCAwKSAqIDEwMCArICIl
IgorICAgICAgICArIChhID09PSAxID8gIikiIDogIiwgIiArIGEgKyAiKSIpOworICB9Cit9KSk7
CisKKy8qIEZyb20gRnZEIDEzLjM3LCBDU1MgQ29sb3IgTW9kdWxlIExldmVsIDMgKi8KK2Z1bmN0
aW9uIGhzbDJyZ2IoaCwgbTEsIG0yKSB7CisgIHJldHVybiAoaCA8IDYwID8gbTEgKyAobTIgLSBt
MSkgKiBoIC8gNjAKKyAgICAgIDogaCA8IDE4MCA/IG0yCisgICAgICA6IGggPCAyNDAgPyBtMSAr
IChtMiAtIG0xKSAqICgyNDAgLSBoKSAvIDYwCisgICAgICA6IG0xKSAqIDI1NTsKK30KKwordmFy
IGRlZzJyYWQgPSBNYXRoLlBJIC8gMTgwOwordmFyIHJhZDJkZWcgPSAxODAgLyBNYXRoLlBJOwor
CisvLyBodHRwczovL29ic2VydmFibGVocS5jb20vQG1ib3N0b2NrL2xhYi1hbmQtcmdiCit2YXIg
SyA9IDE4LAorICAgIFhuID0gMC45NjQyMiwKKyAgICBZbiA9IDEsCisgICAgWm4gPSAwLjgyNTIx
LAorICAgIHQwID0gNCAvIDI5LAorICAgIHQxID0gNiAvIDI5LAorICAgIHQyID0gMyAqIHQxICog
dDEsCisgICAgdDMgPSB0MSAqIHQxICogdDE7CisKK2Z1bmN0aW9uIGxhYkNvbnZlcnQobykgewor
ICBpZiAobyBpbnN0YW5jZW9mIExhYikgcmV0dXJuIG5ldyBMYWIoby5sLCBvLmEsIG8uYiwgby5v
cGFjaXR5KTsKKyAgaWYgKG8gaW5zdGFuY2VvZiBIY2wpIHJldHVybiBoY2wybGFiKG8pOworICBp
ZiAoIShvIGluc3RhbmNlb2YgUmdiKSkgbyA9IHJnYkNvbnZlcnQobyk7CisgIHZhciByID0gcmdi
MmxyZ2Ioby5yKSwKKyAgICAgIGcgPSByZ2IybHJnYihvLmcpLAorICAgICAgYiA9IHJnYjJscmdi
KG8uYiksCisgICAgICB5ID0geHl6MmxhYigoMC4yMjI1MDQ1ICogciArIDAuNzE2ODc4NiAqIGcg
KyAwLjA2MDYxNjkgKiBiKSAvIFluKSwgeCwgejsKKyAgaWYgKHIgPT09IGcgJiYgZyA9PT0gYikg
eCA9IHogPSB5OyBlbHNlIHsKKyAgICB4ID0geHl6MmxhYigoMC40MzYwNzQ3ICogciArIDAuMzg1
MDY0OSAqIGcgKyAwLjE0MzA4MDQgKiBiKSAvIFhuKTsKKyAgICB6ID0geHl6MmxhYigoMC4wMTM5
MzIyICogciArIDAuMDk3MTA0NSAqIGcgKyAwLjcxNDE3MzMgKiBiKSAvIFpuKTsKKyAgfQorICBy
ZXR1cm4gbmV3IExhYigxMTYgKiB5IC0gMTYsIDUwMCAqICh4IC0geSksIDIwMCAqICh5IC0geiks
IG8ub3BhY2l0eSk7Cit9CisKK2Z1bmN0aW9uIGdyYXkobCwgb3BhY2l0eSkgeworICByZXR1cm4g
bmV3IExhYihsLCAwLCAwLCBvcGFjaXR5ID09IG51bGwgPyAxIDogb3BhY2l0eSk7Cit9CisKK2Z1
bmN0aW9uIGxhYihsLCBhLCBiLCBvcGFjaXR5KSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID09PSAxID8gbGFiQ29udmVydChsKSA6IG5ldyBMYWIobCwgYSwgYiwgb3BhY2l0eSA9PSBudWxs
ID8gMSA6IG9wYWNpdHkpOworfQorCitmdW5jdGlvbiBMYWIobCwgYSwgYiwgb3BhY2l0eSkgewor
ICB0aGlzLmwgPSArbDsKKyAgdGhpcy5hID0gK2E7CisgIHRoaXMuYiA9ICtiOworICB0aGlzLm9w
YWNpdHkgPSArb3BhY2l0eTsKK30KKworZGVmaW5lKExhYiwgbGFiLCBleHRlbmQoQ29sb3IsIHsK
KyAgYnJpZ2h0ZXI6IGZ1bmN0aW9uKGspIHsKKyAgICByZXR1cm4gbmV3IExhYih0aGlzLmwgKyBL
ICogKGsgPT0gbnVsbCA/IDEgOiBrKSwgdGhpcy5hLCB0aGlzLmIsIHRoaXMub3BhY2l0eSk7Cisg
IH0sCisgIGRhcmtlcjogZnVuY3Rpb24oaykgeworICAgIHJldHVybiBuZXcgTGFiKHRoaXMubCAt
IEsgKiAoayA9PSBudWxsID8gMSA6IGspLCB0aGlzLmEsIHRoaXMuYiwgdGhpcy5vcGFjaXR5KTsK
KyAgfSwKKyAgcmdiOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgeSA9ICh0aGlzLmwgKyAxNikgLyAx
MTYsCisgICAgICAgIHggPSBpc05hTih0aGlzLmEpID8geSA6IHkgKyB0aGlzLmEgLyA1MDAsCisg
ICAgICAgIHogPSBpc05hTih0aGlzLmIpID8geSA6IHkgLSB0aGlzLmIgLyAyMDA7CisgICAgeCA9
IFhuICogbGFiMnh5eih4KTsKKyAgICB5ID0gWW4gKiBsYWIyeHl6KHkpOworICAgIHogPSBabiAq
IGxhYjJ4eXooeik7CisgICAgcmV0dXJuIG5ldyBSZ2IoCisgICAgICBscmdiMnJnYiggMy4xMzM4
NTYxICogeCAtIDEuNjE2ODY2NyAqIHkgLSAwLjQ5MDYxNDYgKiB6KSwKKyAgICAgIGxyZ2Iycmdi
KC0wLjk3ODc2ODQgKiB4ICsgMS45MTYxNDE1ICogeSArIDAuMDMzNDU0MCAqIHopLAorICAgICAg
bHJnYjJyZ2IoIDAuMDcxOTQ1MyAqIHggLSAwLjIyODk5MTQgKiB5ICsgMS40MDUyNDI3ICogeiks
CisgICAgICB0aGlzLm9wYWNpdHkKKyAgICApOworICB9Cit9KSk7CisKK2Z1bmN0aW9uIHh5ejJs
YWIodCkgeworICByZXR1cm4gdCA+IHQzID8gTWF0aC5wb3codCwgMSAvIDMpIDogdCAvIHQyICsg
dDA7Cit9CisKK2Z1bmN0aW9uIGxhYjJ4eXoodCkgeworICByZXR1cm4gdCA+IHQxID8gdCAqIHQg
KiB0IDogdDIgKiAodCAtIHQwKTsKK30KKworZnVuY3Rpb24gbHJnYjJyZ2IoeCkgeworICByZXR1
cm4gMjU1ICogKHggPD0gMC4wMDMxMzA4ID8gMTIuOTIgKiB4IDogMS4wNTUgKiBNYXRoLnBvdyh4
LCAxIC8gMi40KSAtIDAuMDU1KTsKK30KKworZnVuY3Rpb24gcmdiMmxyZ2IoeCkgeworICByZXR1
cm4gKHggLz0gMjU1KSA8PSAwLjA0MDQ1ID8geCAvIDEyLjkyIDogTWF0aC5wb3coKHggKyAwLjA1
NSkgLyAxLjA1NSwgMi40KTsKK30KKworZnVuY3Rpb24gaGNsQ29udmVydChvKSB7CisgIGlmIChv
IGluc3RhbmNlb2YgSGNsKSByZXR1cm4gbmV3IEhjbChvLmgsIG8uYywgby5sLCBvLm9wYWNpdHkp
OworICBpZiAoIShvIGluc3RhbmNlb2YgTGFiKSkgbyA9IGxhYkNvbnZlcnQobyk7CisgIGlmIChv
LmEgPT09IDAgJiYgby5iID09PSAwKSByZXR1cm4gbmV3IEhjbChOYU4sIDAgPCBvLmwgJiYgby5s
IDwgMTAwID8gMCA6IE5hTiwgby5sLCBvLm9wYWNpdHkpOworICB2YXIgaCA9IE1hdGguYXRhbjIo
by5iLCBvLmEpICogcmFkMmRlZzsKKyAgcmV0dXJuIG5ldyBIY2woaCA8IDAgPyBoICsgMzYwIDog
aCwgTWF0aC5zcXJ0KG8uYSAqIG8uYSArIG8uYiAqIG8uYiksIG8ubCwgby5vcGFjaXR5KTsKK30K
KworZnVuY3Rpb24gbGNoKGwsIGMsIGgsIG9wYWNpdHkpIHsKKyAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPT09IDEgPyBoY2xDb252ZXJ0KGwpIDogbmV3IEhjbChoLCBjLCBsLCBvcGFjaXR5ID09
IG51bGwgPyAxIDogb3BhY2l0eSk7Cit9CisKK2Z1bmN0aW9uIGhjbChoLCBjLCBsLCBvcGFjaXR5
KSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID09PSAxID8gaGNsQ29udmVydChoKSA6IG5l
dyBIY2woaCwgYywgbCwgb3BhY2l0eSA9PSBudWxsID8gMSA6IG9wYWNpdHkpOworfQorCitmdW5j
dGlvbiBIY2woaCwgYywgbCwgb3BhY2l0eSkgeworICB0aGlzLmggPSAraDsKKyAgdGhpcy5jID0g
K2M7CisgIHRoaXMubCA9ICtsOworICB0aGlzLm9wYWNpdHkgPSArb3BhY2l0eTsKK30KKworZnVu
Y3Rpb24gaGNsMmxhYihvKSB7CisgIGlmIChpc05hTihvLmgpKSByZXR1cm4gbmV3IExhYihvLmws
IDAsIDAsIG8ub3BhY2l0eSk7CisgIHZhciBoID0gby5oICogZGVnMnJhZDsKKyAgcmV0dXJuIG5l
dyBMYWIoby5sLCBNYXRoLmNvcyhoKSAqIG8uYywgTWF0aC5zaW4oaCkgKiBvLmMsIG8ub3BhY2l0
eSk7Cit9CisKK2RlZmluZShIY2wsIGhjbCwgZXh0ZW5kKENvbG9yLCB7CisgIGJyaWdodGVyOiBm
dW5jdGlvbihrKSB7CisgICAgcmV0dXJuIG5ldyBIY2wodGhpcy5oLCB0aGlzLmMsIHRoaXMubCAr
IEsgKiAoayA9PSBudWxsID8gMSA6IGspLCB0aGlzLm9wYWNpdHkpOworICB9LAorICBkYXJrZXI6
IGZ1bmN0aW9uKGspIHsKKyAgICByZXR1cm4gbmV3IEhjbCh0aGlzLmgsIHRoaXMuYywgdGhpcy5s
IC0gSyAqIChrID09IG51bGwgPyAxIDogayksIHRoaXMub3BhY2l0eSk7CisgIH0sCisgIHJnYjog
ZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGhjbDJsYWIodGhpcykucmdiKCk7CisgIH0KK30pKTsK
KwordmFyIEEgPSAtMC4xNDg2MSwKKyAgICBCID0gKzEuNzgyNzcsCisgICAgQyA9IC0wLjI5MjI3
LAorICAgIEQgPSAtMC45MDY0OSwKKyAgICBFID0gKzEuOTcyOTQsCisgICAgRUQgPSBFICogRCwK
KyAgICBFQiA9IEUgKiBCLAorICAgIEJDX0RBID0gQiAqIEMgLSBEICogQTsKKworZnVuY3Rpb24g
Y3ViZWhlbGl4Q29udmVydChvKSB7CisgIGlmIChvIGluc3RhbmNlb2YgQ3ViZWhlbGl4KSByZXR1
cm4gbmV3IEN1YmVoZWxpeChvLmgsIG8ucywgby5sLCBvLm9wYWNpdHkpOworICBpZiAoIShvIGlu
c3RhbmNlb2YgUmdiKSkgbyA9IHJnYkNvbnZlcnQobyk7CisgIHZhciByID0gby5yIC8gMjU1LAor
ICAgICAgZyA9IG8uZyAvIDI1NSwKKyAgICAgIGIgPSBvLmIgLyAyNTUsCisgICAgICBsID0gKEJD
X0RBICogYiArIEVEICogciAtIEVCICogZykgLyAoQkNfREEgKyBFRCAtIEVCKSwKKyAgICAgIGJs
ID0gYiAtIGwsCisgICAgICBrID0gKEUgKiAoZyAtIGwpIC0gQyAqIGJsKSAvIEQsCisgICAgICBz
ID0gTWF0aC5zcXJ0KGsgKiBrICsgYmwgKiBibCkgLyAoRSAqIGwgKiAoMSAtIGwpKSwgLy8gTmFO
IGlmIGw9MCBvciBsPTEKKyAgICAgIGggPSBzID8gTWF0aC5hdGFuMihrLCBibCkgKiByYWQyZGVn
IC0gMTIwIDogTmFOOworICByZXR1cm4gbmV3IEN1YmVoZWxpeChoIDwgMCA/IGggKyAzNjAgOiBo
LCBzLCBsLCBvLm9wYWNpdHkpOworfQorCitmdW5jdGlvbiBjdWJlaGVsaXgoaCwgcywgbCwgb3Bh
Y2l0eSkgeworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA9PT0gMSA/IGN1YmVoZWxpeENvbnZl
cnQoaCkgOiBuZXcgQ3ViZWhlbGl4KGgsIHMsIGwsIG9wYWNpdHkgPT0gbnVsbCA/IDEgOiBvcGFj
aXR5KTsKK30KKworZnVuY3Rpb24gQ3ViZWhlbGl4KGgsIHMsIGwsIG9wYWNpdHkpIHsKKyAgdGhp
cy5oID0gK2g7CisgIHRoaXMucyA9ICtzOworICB0aGlzLmwgPSArbDsKKyAgdGhpcy5vcGFjaXR5
ID0gK29wYWNpdHk7Cit9CisKK2RlZmluZShDdWJlaGVsaXgsIGN1YmVoZWxpeCwgZXh0ZW5kKENv
bG9yLCB7CisgIGJyaWdodGVyOiBmdW5jdGlvbihrKSB7CisgICAgayA9IGsgPT0gbnVsbCA/IGJy
aWdodGVyIDogTWF0aC5wb3coYnJpZ2h0ZXIsIGspOworICAgIHJldHVybiBuZXcgQ3ViZWhlbGl4
KHRoaXMuaCwgdGhpcy5zLCB0aGlzLmwgKiBrLCB0aGlzLm9wYWNpdHkpOworICB9LAorICBkYXJr
ZXI6IGZ1bmN0aW9uKGspIHsKKyAgICBrID0gayA9PSBudWxsID8gZGFya2VyIDogTWF0aC5wb3co
ZGFya2VyLCBrKTsKKyAgICByZXR1cm4gbmV3IEN1YmVoZWxpeCh0aGlzLmgsIHRoaXMucywgdGhp
cy5sICogaywgdGhpcy5vcGFjaXR5KTsKKyAgfSwKKyAgcmdiOiBmdW5jdGlvbigpIHsKKyAgICB2
YXIgaCA9IGlzTmFOKHRoaXMuaCkgPyAwIDogKHRoaXMuaCArIDEyMCkgKiBkZWcycmFkLAorICAg
ICAgICBsID0gK3RoaXMubCwKKyAgICAgICAgYSA9IGlzTmFOKHRoaXMucykgPyAwIDogdGhpcy5z
ICogbCAqICgxIC0gbCksCisgICAgICAgIGNvc2ggPSBNYXRoLmNvcyhoKSwKKyAgICAgICAgc2lu
aCA9IE1hdGguc2luKGgpOworICAgIHJldHVybiBuZXcgUmdiKAorICAgICAgMjU1ICogKGwgKyBh
ICogKEEgKiBjb3NoICsgQiAqIHNpbmgpKSwKKyAgICAgIDI1NSAqIChsICsgYSAqIChDICogY29z
aCArIEQgKiBzaW5oKSksCisgICAgICAyNTUgKiAobCArIGEgKiAoRSAqIGNvc2gpKSwKKyAgICAg
IHRoaXMub3BhY2l0eQorICAgICk7CisgIH0KK30pKTsKKworZnVuY3Rpb24gYmFzaXModDEsIHYw
LCB2MSwgdjIsIHYzKSB7CisgIHZhciB0MiA9IHQxICogdDEsIHQzID0gdDIgKiB0MTsKKyAgcmV0
dXJuICgoMSAtIDMgKiB0MSArIDMgKiB0MiAtIHQzKSAqIHYwCisgICAgICArICg0IC0gNiAqIHQy
ICsgMyAqIHQzKSAqIHYxCisgICAgICArICgxICsgMyAqIHQxICsgMyAqIHQyIC0gMyAqIHQzKSAq
IHYyCisgICAgICArIHQzICogdjMpIC8gNjsKK30KKworZnVuY3Rpb24gYmFzaXMkMSh2YWx1ZXMp
IHsKKyAgdmFyIG4gPSB2YWx1ZXMubGVuZ3RoIC0gMTsKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsK
KyAgICB2YXIgaSA9IHQgPD0gMCA/ICh0ID0gMCkgOiB0ID49IDEgPyAodCA9IDEsIG4gLSAxKSA6
IE1hdGguZmxvb3IodCAqIG4pLAorICAgICAgICB2MSA9IHZhbHVlc1tpXSwKKyAgICAgICAgdjIg
PSB2YWx1ZXNbaSArIDFdLAorICAgICAgICB2MCA9IGkgPiAwID8gdmFsdWVzW2kgLSAxXSA6IDIg
KiB2MSAtIHYyLAorICAgICAgICB2MyA9IGkgPCBuIC0gMSA/IHZhbHVlc1tpICsgMl0gOiAyICog
djIgLSB2MTsKKyAgICByZXR1cm4gYmFzaXMoKHQgLSBpIC8gbikgKiBuLCB2MCwgdjEsIHYyLCB2
Myk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGJhc2lzQ2xvc2VkKHZhbHVlcykgeworICB2YXIgbiA9
IHZhbHVlcy5sZW5ndGg7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgdmFyIGkgPSBNYXRo
LmZsb29yKCgodCAlPSAxKSA8IDAgPyArK3QgOiB0KSAqIG4pLAorICAgICAgICB2MCA9IHZhbHVl
c1soaSArIG4gLSAxKSAlIG5dLAorICAgICAgICB2MSA9IHZhbHVlc1tpICUgbl0sCisgICAgICAg
IHYyID0gdmFsdWVzWyhpICsgMSkgJSBuXSwKKyAgICAgICAgdjMgPSB2YWx1ZXNbKGkgKyAyKSAl
IG5dOworICAgIHJldHVybiBiYXNpcygodCAtIGkgLyBuKSAqIG4sIHYwLCB2MSwgdjIsIHYzKTsK
KyAgfTsKK30KKworZnVuY3Rpb24gY29uc3RhbnQkMyh4KSB7CisgIHJldHVybiBmdW5jdGlvbigp
IHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKworZnVuY3Rpb24gbGluZWFyKGEsIGQpIHsKKyAg
cmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICByZXR1cm4gYSArIHQgKiBkOworICB9OworfQorCitm
dW5jdGlvbiBleHBvbmVudGlhbChhLCBiLCB5KSB7CisgIHJldHVybiBhID0gTWF0aC5wb3coYSwg
eSksIGIgPSBNYXRoLnBvdyhiLCB5KSAtIGEsIHkgPSAxIC8geSwgZnVuY3Rpb24odCkgeworICAg
IHJldHVybiBNYXRoLnBvdyhhICsgdCAqIGIsIHkpOworICB9OworfQorCitmdW5jdGlvbiBodWUo
YSwgYikgeworICB2YXIgZCA9IGIgLSBhOworICByZXR1cm4gZCA/IGxpbmVhcihhLCBkID4gMTgw
IHx8IGQgPCAtMTgwID8gZCAtIDM2MCAqIE1hdGgucm91bmQoZCAvIDM2MCkgOiBkKSA6IGNvbnN0
YW50JDMoaXNOYU4oYSkgPyBiIDogYSk7Cit9CisKK2Z1bmN0aW9uIGdhbW1hKHkpIHsKKyAgcmV0
dXJuICh5ID0gK3kpID09PSAxID8gbm9nYW1tYSA6IGZ1bmN0aW9uKGEsIGIpIHsKKyAgICByZXR1
cm4gYiAtIGEgPyBleHBvbmVudGlhbChhLCBiLCB5KSA6IGNvbnN0YW50JDMoaXNOYU4oYSkgPyBi
IDogYSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIG5vZ2FtbWEoYSwgYikgeworICB2YXIgZCA9IGIg
LSBhOworICByZXR1cm4gZCA/IGxpbmVhcihhLCBkKSA6IGNvbnN0YW50JDMoaXNOYU4oYSkgPyBi
IDogYSk7Cit9CisKK3ZhciBpbnRlcnBvbGF0ZVJnYiA9IChmdW5jdGlvbiByZ2JHYW1tYSh5KSB7
CisgIHZhciBjb2xvciA9IGdhbW1hKHkpOworCisgIGZ1bmN0aW9uIHJnYiQxKHN0YXJ0LCBlbmQp
IHsKKyAgICB2YXIgciA9IGNvbG9yKChzdGFydCA9IHJnYihzdGFydCkpLnIsIChlbmQgPSByZ2Io
ZW5kKSkuciksCisgICAgICAgIGcgPSBjb2xvcihzdGFydC5nLCBlbmQuZyksCisgICAgICAgIGIg
PSBjb2xvcihzdGFydC5iLCBlbmQuYiksCisgICAgICAgIG9wYWNpdHkgPSBub2dhbW1hKHN0YXJ0
Lm9wYWNpdHksIGVuZC5vcGFjaXR5KTsKKyAgICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgICAg
c3RhcnQuciA9IHIodCk7CisgICAgICBzdGFydC5nID0gZyh0KTsKKyAgICAgIHN0YXJ0LmIgPSBi
KHQpOworICAgICAgc3RhcnQub3BhY2l0eSA9IG9wYWNpdHkodCk7CisgICAgICByZXR1cm4gc3Rh
cnQgKyAiIjsKKyAgICB9OworICB9CisKKyAgcmdiJDEuZ2FtbWEgPSByZ2JHYW1tYTsKKworICBy
ZXR1cm4gcmdiJDE7Cit9KSgxKTsKKworZnVuY3Rpb24gcmdiU3BsaW5lKHNwbGluZSkgeworICBy
ZXR1cm4gZnVuY3Rpb24oY29sb3JzKSB7CisgICAgdmFyIG4gPSBjb2xvcnMubGVuZ3RoLAorICAg
ICAgICByID0gbmV3IEFycmF5KG4pLAorICAgICAgICBnID0gbmV3IEFycmF5KG4pLAorICAgICAg
ICBiID0gbmV3IEFycmF5KG4pLAorICAgICAgICBpLCBjb2xvcjsKKyAgICBmb3IgKGkgPSAwOyBp
IDwgbjsgKytpKSB7CisgICAgICBjb2xvciA9IHJnYihjb2xvcnNbaV0pOworICAgICAgcltpXSA9
IGNvbG9yLnIgfHwgMDsKKyAgICAgIGdbaV0gPSBjb2xvci5nIHx8IDA7CisgICAgICBiW2ldID0g
Y29sb3IuYiB8fCAwOworICAgIH0KKyAgICByID0gc3BsaW5lKHIpOworICAgIGcgPSBzcGxpbmUo
Zyk7CisgICAgYiA9IHNwbGluZShiKTsKKyAgICBjb2xvci5vcGFjaXR5ID0gMTsKKyAgICByZXR1
cm4gZnVuY3Rpb24odCkgeworICAgICAgY29sb3IuciA9IHIodCk7CisgICAgICBjb2xvci5nID0g
Zyh0KTsKKyAgICAgIGNvbG9yLmIgPSBiKHQpOworICAgICAgcmV0dXJuIGNvbG9yICsgIiI7Cisg
ICAgfTsKKyAgfTsKK30KKwordmFyIHJnYkJhc2lzID0gcmdiU3BsaW5lKGJhc2lzJDEpOwordmFy
IHJnYkJhc2lzQ2xvc2VkID0gcmdiU3BsaW5lKGJhc2lzQ2xvc2VkKTsKKworZnVuY3Rpb24gYXJy
YXkkMShhLCBiKSB7CisgIHZhciBuYiA9IGIgPyBiLmxlbmd0aCA6IDAsCisgICAgICBuYSA9IGEg
PyBNYXRoLm1pbihuYiwgYS5sZW5ndGgpIDogMCwKKyAgICAgIHggPSBuZXcgQXJyYXkobmEpLAor
ICAgICAgYyA9IG5ldyBBcnJheShuYiksCisgICAgICBpOworCisgIGZvciAoaSA9IDA7IGkgPCBu
YTsgKytpKSB4W2ldID0gaW50ZXJwb2xhdGVWYWx1ZShhW2ldLCBiW2ldKTsKKyAgZm9yICg7IGkg
PCBuYjsgKytpKSBjW2ldID0gYltpXTsKKworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIGZv
ciAoaSA9IDA7IGkgPCBuYTsgKytpKSBjW2ldID0geFtpXSh0KTsKKyAgICByZXR1cm4gYzsKKyAg
fTsKK30KKworZnVuY3Rpb24gZGF0ZShhLCBiKSB7CisgIHZhciBkID0gbmV3IERhdGU7CisgIHJl
dHVybiBhID0gK2EsIGIgLT0gYSwgZnVuY3Rpb24odCkgeworICAgIHJldHVybiBkLnNldFRpbWUo
YSArIGIgKiB0KSwgZDsKKyAgfTsKK30KKworZnVuY3Rpb24gaW50ZXJwb2xhdGVOdW1iZXIoYSwg
YikgeworICByZXR1cm4gYSA9ICthLCBiIC09IGEsIGZ1bmN0aW9uKHQpIHsKKyAgICByZXR1cm4g
YSArIGIgKiB0OworICB9OworfQorCitmdW5jdGlvbiBvYmplY3QoYSwgYikgeworICB2YXIgaSA9
IHt9LAorICAgICAgYyA9IHt9LAorICAgICAgazsKKworICBpZiAoYSA9PT0gbnVsbCB8fCB0eXBl
b2YgYSAhPT0gIm9iamVjdCIpIGEgPSB7fTsKKyAgaWYgKGIgPT09IG51bGwgfHwgdHlwZW9mIGIg
IT09ICJvYmplY3QiKSBiID0ge307CisKKyAgZm9yIChrIGluIGIpIHsKKyAgICBpZiAoayBpbiBh
KSB7CisgICAgICBpW2tdID0gaW50ZXJwb2xhdGVWYWx1ZShhW2tdLCBiW2tdKTsKKyAgICB9IGVs
c2UgeworICAgICAgY1trXSA9IGJba107CisgICAgfQorICB9CisKKyAgcmV0dXJuIGZ1bmN0aW9u
KHQpIHsKKyAgICBmb3IgKGsgaW4gaSkgY1trXSA9IGlba10odCk7CisgICAgcmV0dXJuIGM7Cisg
IH07Cit9CisKK3ZhciByZUEgPSAvWy0rXT8oPzpcZCtcLj9cZCp8XC4/XGQrKSg/OltlRV1bLStd
P1xkKyk/L2csCisgICAgcmVCID0gbmV3IFJlZ0V4cChyZUEuc291cmNlLCAiZyIpOworCitmdW5j
dGlvbiB6ZXJvKGIpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBiOworICB9
OworfQorCitmdW5jdGlvbiBvbmUoYikgeworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHJl
dHVybiBiKHQpICsgIiI7CisgIH07Cit9CisKK2Z1bmN0aW9uIGludGVycG9sYXRlU3RyaW5nKGEs
IGIpIHsKKyAgdmFyIGJpID0gcmVBLmxhc3RJbmRleCA9IHJlQi5sYXN0SW5kZXggPSAwLCAvLyBz
Y2FuIGluZGV4IGZvciBuZXh0IG51bWJlciBpbiBiCisgICAgICBhbSwgLy8gY3VycmVudCBtYXRj
aCBpbiBhCisgICAgICBibSwgLy8gY3VycmVudCBtYXRjaCBpbiBiCisgICAgICBicywgLy8gc3Ry
aW5nIHByZWNlZGluZyBjdXJyZW50IG51bWJlciBpbiBiLCBpZiBhbnkKKyAgICAgIGkgPSAtMSwg
Ly8gaW5kZXggaW4gcworICAgICAgcyA9IFtdLCAvLyBzdHJpbmcgY29uc3RhbnRzIGFuZCBwbGFj
ZWhvbGRlcnMKKyAgICAgIHEgPSBbXTsgLy8gbnVtYmVyIGludGVycG9sYXRvcnMKKworICAvLyBD
b2VyY2UgaW5wdXRzIHRvIHN0cmluZ3MuCisgIGEgPSBhICsgIiIsIGIgPSBiICsgIiI7CisKKyAg
Ly8gSW50ZXJwb2xhdGUgcGFpcnMgb2YgbnVtYmVycyBpbiBhICYgYi4KKyAgd2hpbGUgKChhbSA9
IHJlQS5leGVjKGEpKQorICAgICAgJiYgKGJtID0gcmVCLmV4ZWMoYikpKSB7CisgICAgaWYgKChi
cyA9IGJtLmluZGV4KSA+IGJpKSB7IC8vIGEgc3RyaW5nIHByZWNlZGVzIHRoZSBuZXh0IG51bWJl
ciBpbiBiCisgICAgICBicyA9IGIuc2xpY2UoYmksIGJzKTsKKyAgICAgIGlmIChzW2ldKSBzW2ld
ICs9IGJzOyAvLyBjb2FsZXNjZSB3aXRoIHByZXZpb3VzIHN0cmluZworICAgICAgZWxzZSBzWysr
aV0gPSBiczsKKyAgICB9CisgICAgaWYgKChhbSA9IGFtWzBdKSA9PT0gKGJtID0gYm1bMF0pKSB7
IC8vIG51bWJlcnMgaW4gYSAmIGIgbWF0Y2gKKyAgICAgIGlmIChzW2ldKSBzW2ldICs9IGJtOyAv
LyBjb2FsZXNjZSB3aXRoIHByZXZpb3VzIHN0cmluZworICAgICAgZWxzZSBzWysraV0gPSBibTsK
KyAgICB9IGVsc2UgeyAvLyBpbnRlcnBvbGF0ZSBub24tbWF0Y2hpbmcgbnVtYmVycworICAgICAg
c1srK2ldID0gbnVsbDsKKyAgICAgIHEucHVzaCh7aTogaSwgeDogaW50ZXJwb2xhdGVOdW1iZXIo
YW0sIGJtKX0pOworICAgIH0KKyAgICBiaSA9IHJlQi5sYXN0SW5kZXg7CisgIH0KKworICAvLyBB
ZGQgcmVtYWlucyBvZiBiLgorICBpZiAoYmkgPCBiLmxlbmd0aCkgeworICAgIGJzID0gYi5zbGlj
ZShiaSk7CisgICAgaWYgKHNbaV0pIHNbaV0gKz0gYnM7IC8vIGNvYWxlc2NlIHdpdGggcHJldmlv
dXMgc3RyaW5nCisgICAgZWxzZSBzWysraV0gPSBiczsKKyAgfQorCisgIC8vIFNwZWNpYWwgb3B0
aW1pemF0aW9uIGZvciBvbmx5IGEgc2luZ2xlIG1hdGNoLgorICAvLyBPdGhlcndpc2UsIGludGVy
cG9sYXRlIGVhY2ggb2YgdGhlIG51bWJlcnMgYW5kIHJlam9pbiB0aGUgc3RyaW5nLgorICByZXR1
cm4gcy5sZW5ndGggPCAyID8gKHFbMF0KKyAgICAgID8gb25lKHFbMF0ueCkKKyAgICAgIDogemVy
byhiKSkKKyAgICAgIDogKGIgPSBxLmxlbmd0aCwgZnVuY3Rpb24odCkgeworICAgICAgICAgIGZv
ciAodmFyIGkgPSAwLCBvOyBpIDwgYjsgKytpKSBzWyhvID0gcVtpXSkuaV0gPSBvLngodCk7Cisg
ICAgICAgICAgcmV0dXJuIHMuam9pbigiIik7CisgICAgICAgIH0pOworfQorCitmdW5jdGlvbiBp
bnRlcnBvbGF0ZVZhbHVlKGEsIGIpIHsKKyAgdmFyIHQgPSB0eXBlb2YgYiwgYzsKKyAgcmV0dXJu
IGIgPT0gbnVsbCB8fCB0ID09PSAiYm9vbGVhbiIgPyBjb25zdGFudCQzKGIpCisgICAgICA6ICh0
ID09PSAibnVtYmVyIiA/IGludGVycG9sYXRlTnVtYmVyCisgICAgICA6IHQgPT09ICJzdHJpbmci
ID8gKChjID0gY29sb3IoYikpID8gKGIgPSBjLCBpbnRlcnBvbGF0ZVJnYikgOiBpbnRlcnBvbGF0
ZVN0cmluZykKKyAgICAgIDogYiBpbnN0YW5jZW9mIGNvbG9yID8gaW50ZXJwb2xhdGVSZ2IKKyAg
ICAgIDogYiBpbnN0YW5jZW9mIERhdGUgPyBkYXRlCisgICAgICA6IEFycmF5LmlzQXJyYXkoYikg
PyBhcnJheSQxCisgICAgICA6IHR5cGVvZiBiLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIgJiYgdHlw
ZW9mIGIudG9TdHJpbmcgIT09ICJmdW5jdGlvbiIgfHwgaXNOYU4oYikgPyBvYmplY3QKKyAgICAg
IDogaW50ZXJwb2xhdGVOdW1iZXIpKGEsIGIpOworfQorCitmdW5jdGlvbiBkaXNjcmV0ZShyYW5n
ZSkgeworICB2YXIgbiA9IHJhbmdlLmxlbmd0aDsKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAg
ICByZXR1cm4gcmFuZ2VbTWF0aC5tYXgoMCwgTWF0aC5taW4obiAtIDEsIE1hdGguZmxvb3IodCAq
IG4pKSldOworICB9OworfQorCitmdW5jdGlvbiBodWUkMShhLCBiKSB7CisgIHZhciBpID0gaHVl
KCthLCArYik7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgdmFyIHggPSBpKHQpOworICAg
IHJldHVybiB4IC0gMzYwICogTWF0aC5mbG9vcih4IC8gMzYwKTsKKyAgfTsKK30KKworZnVuY3Rp
b24gaW50ZXJwb2xhdGVSb3VuZChhLCBiKSB7CisgIHJldHVybiBhID0gK2EsIGIgLT0gYSwgZnVu
Y3Rpb24odCkgeworICAgIHJldHVybiBNYXRoLnJvdW5kKGEgKyBiICogdCk7CisgIH07Cit9CisK
K3ZhciBkZWdyZWVzID0gMTgwIC8gTWF0aC5QSTsKKwordmFyIGlkZW50aXR5JDIgPSB7CisgIHRy
YW5zbGF0ZVg6IDAsCisgIHRyYW5zbGF0ZVk6IDAsCisgIHJvdGF0ZTogMCwKKyAgc2tld1g6IDAs
CisgIHNjYWxlWDogMSwKKyAgc2NhbGVZOiAxCit9OworCitmdW5jdGlvbiBkZWNvbXBvc2UoYSwg
YiwgYywgZCwgZSwgZikgeworICB2YXIgc2NhbGVYLCBzY2FsZVksIHNrZXdYOworICBpZiAoc2Nh
bGVYID0gTWF0aC5zcXJ0KGEgKiBhICsgYiAqIGIpKSBhIC89IHNjYWxlWCwgYiAvPSBzY2FsZVg7
CisgIGlmIChza2V3WCA9IGEgKiBjICsgYiAqIGQpIGMgLT0gYSAqIHNrZXdYLCBkIC09IGIgKiBz
a2V3WDsKKyAgaWYgKHNjYWxlWSA9IE1hdGguc3FydChjICogYyArIGQgKiBkKSkgYyAvPSBzY2Fs
ZVksIGQgLz0gc2NhbGVZLCBza2V3WCAvPSBzY2FsZVk7CisgIGlmIChhICogZCA8IGIgKiBjKSBh
ID0gLWEsIGIgPSAtYiwgc2tld1ggPSAtc2tld1gsIHNjYWxlWCA9IC1zY2FsZVg7CisgIHJldHVy
biB7CisgICAgdHJhbnNsYXRlWDogZSwKKyAgICB0cmFuc2xhdGVZOiBmLAorICAgIHJvdGF0ZTog
TWF0aC5hdGFuMihiLCBhKSAqIGRlZ3JlZXMsCisgICAgc2tld1g6IE1hdGguYXRhbihza2V3WCkg
KiBkZWdyZWVzLAorICAgIHNjYWxlWDogc2NhbGVYLAorICAgIHNjYWxlWTogc2NhbGVZCisgIH07
Cit9CisKK3ZhciBjc3NOb2RlLAorICAgIGNzc1Jvb3QsCisgICAgY3NzVmlldywKKyAgICBzdmdO
b2RlOworCitmdW5jdGlvbiBwYXJzZUNzcyh2YWx1ZSkgeworICBpZiAodmFsdWUgPT09ICJub25l
IikgcmV0dXJuIGlkZW50aXR5JDI7CisgIGlmICghY3NzTm9kZSkgY3NzTm9kZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoIkRJViIpLCBjc3NSb290ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50
LCBjc3NWaWV3ID0gZG9jdW1lbnQuZGVmYXVsdFZpZXc7CisgIGNzc05vZGUuc3R5bGUudHJhbnNm
b3JtID0gdmFsdWU7CisgIHZhbHVlID0gY3NzVmlldy5nZXRDb21wdXRlZFN0eWxlKGNzc1Jvb3Qu
YXBwZW5kQ2hpbGQoY3NzTm9kZSksIG51bGwpLmdldFByb3BlcnR5VmFsdWUoInRyYW5zZm9ybSIp
OworICBjc3NSb290LnJlbW92ZUNoaWxkKGNzc05vZGUpOworICB2YWx1ZSA9IHZhbHVlLnNsaWNl
KDcsIC0xKS5zcGxpdCgiLCIpOworICByZXR1cm4gZGVjb21wb3NlKCt2YWx1ZVswXSwgK3ZhbHVl
WzFdLCArdmFsdWVbMl0sICt2YWx1ZVszXSwgK3ZhbHVlWzRdLCArdmFsdWVbNV0pOworfQorCitm
dW5jdGlvbiBwYXJzZVN2Zyh2YWx1ZSkgeworICBpZiAodmFsdWUgPT0gbnVsbCkgcmV0dXJuIGlk
ZW50aXR5JDI7CisgIGlmICghc3ZnTm9kZSkgc3ZnTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAiZyIpOworICBzdmdOb2RlLnNldEF0
dHJpYnV0ZSgidHJhbnNmb3JtIiwgdmFsdWUpOworICBpZiAoISh2YWx1ZSA9IHN2Z05vZGUudHJh
bnNmb3JtLmJhc2VWYWwuY29uc29saWRhdGUoKSkpIHJldHVybiBpZGVudGl0eSQyOworICB2YWx1
ZSA9IHZhbHVlLm1hdHJpeDsKKyAgcmV0dXJuIGRlY29tcG9zZSh2YWx1ZS5hLCB2YWx1ZS5iLCB2
YWx1ZS5jLCB2YWx1ZS5kLCB2YWx1ZS5lLCB2YWx1ZS5mKTsKK30KKworZnVuY3Rpb24gaW50ZXJw
b2xhdGVUcmFuc2Zvcm0ocGFyc2UsIHB4Q29tbWEsIHB4UGFyZW4sIGRlZ1BhcmVuKSB7CisKKyAg
ZnVuY3Rpb24gcG9wKHMpIHsKKyAgICByZXR1cm4gcy5sZW5ndGggPyBzLnBvcCgpICsgIiAiIDog
IiI7CisgIH0KKworICBmdW5jdGlvbiB0cmFuc2xhdGUoeGEsIHlhLCB4YiwgeWIsIHMsIHEpIHsK
KyAgICBpZiAoeGEgIT09IHhiIHx8IHlhICE9PSB5YikgeworICAgICAgdmFyIGkgPSBzLnB1c2go
InRyYW5zbGF0ZSgiLCBudWxsLCBweENvbW1hLCBudWxsLCBweFBhcmVuKTsKKyAgICAgIHEucHVz
aCh7aTogaSAtIDQsIHg6IGludGVycG9sYXRlTnVtYmVyKHhhLCB4Yil9LCB7aTogaSAtIDIsIHg6
IGludGVycG9sYXRlTnVtYmVyKHlhLCB5Yil9KTsKKyAgICB9IGVsc2UgaWYgKHhiIHx8IHliKSB7
CisgICAgICBzLnB1c2goInRyYW5zbGF0ZSgiICsgeGIgKyBweENvbW1hICsgeWIgKyBweFBhcmVu
KTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiByb3RhdGUoYSwgYiwgcywgcSkgeworICAgIGlm
IChhICE9PSBiKSB7CisgICAgICBpZiAoYSAtIGIgPiAxODApIGIgKz0gMzYwOyBlbHNlIGlmIChi
IC0gYSA+IDE4MCkgYSArPSAzNjA7IC8vIHNob3J0ZXN0IHBhdGgKKyAgICAgIHEucHVzaCh7aTog
cy5wdXNoKHBvcChzKSArICJyb3RhdGUoIiwgbnVsbCwgZGVnUGFyZW4pIC0gMiwgeDogaW50ZXJw
b2xhdGVOdW1iZXIoYSwgYil9KTsKKyAgICB9IGVsc2UgaWYgKGIpIHsKKyAgICAgIHMucHVzaChw
b3AocykgKyAicm90YXRlKCIgKyBiICsgZGVnUGFyZW4pOworICAgIH0KKyAgfQorCisgIGZ1bmN0
aW9uIHNrZXdYKGEsIGIsIHMsIHEpIHsKKyAgICBpZiAoYSAhPT0gYikgeworICAgICAgcS5wdXNo
KHtpOiBzLnB1c2gocG9wKHMpICsgInNrZXdYKCIsIG51bGwsIGRlZ1BhcmVuKSAtIDIsIHg6IGlu
dGVycG9sYXRlTnVtYmVyKGEsIGIpfSk7CisgICAgfSBlbHNlIGlmIChiKSB7CisgICAgICBzLnB1
c2gocG9wKHMpICsgInNrZXdYKCIgKyBiICsgZGVnUGFyZW4pOworICAgIH0KKyAgfQorCisgIGZ1
bmN0aW9uIHNjYWxlKHhhLCB5YSwgeGIsIHliLCBzLCBxKSB7CisgICAgaWYgKHhhICE9PSB4YiB8
fCB5YSAhPT0geWIpIHsKKyAgICAgIHZhciBpID0gcy5wdXNoKHBvcChzKSArICJzY2FsZSgiLCBu
dWxsLCAiLCIsIG51bGwsICIpIik7CisgICAgICBxLnB1c2goe2k6IGkgLSA0LCB4OiBpbnRlcnBv
bGF0ZU51bWJlcih4YSwgeGIpfSwge2k6IGkgLSAyLCB4OiBpbnRlcnBvbGF0ZU51bWJlcih5YSwg
eWIpfSk7CisgICAgfSBlbHNlIGlmICh4YiAhPT0gMSB8fCB5YiAhPT0gMSkgeworICAgICAgcy5w
dXNoKHBvcChzKSArICJzY2FsZSgiICsgeGIgKyAiLCIgKyB5YiArICIpIik7CisgICAgfQorICB9
CisKKyAgcmV0dXJuIGZ1bmN0aW9uKGEsIGIpIHsKKyAgICB2YXIgcyA9IFtdLCAvLyBzdHJpbmcg
Y29uc3RhbnRzIGFuZCBwbGFjZWhvbGRlcnMKKyAgICAgICAgcSA9IFtdOyAvLyBudW1iZXIgaW50
ZXJwb2xhdG9ycworICAgIGEgPSBwYXJzZShhKSwgYiA9IHBhcnNlKGIpOworICAgIHRyYW5zbGF0
ZShhLnRyYW5zbGF0ZVgsIGEudHJhbnNsYXRlWSwgYi50cmFuc2xhdGVYLCBiLnRyYW5zbGF0ZVks
IHMsIHEpOworICAgIHJvdGF0ZShhLnJvdGF0ZSwgYi5yb3RhdGUsIHMsIHEpOworICAgIHNrZXdY
KGEuc2tld1gsIGIuc2tld1gsIHMsIHEpOworICAgIHNjYWxlKGEuc2NhbGVYLCBhLnNjYWxlWSwg
Yi5zY2FsZVgsIGIuc2NhbGVZLCBzLCBxKTsKKyAgICBhID0gYiA9IG51bGw7IC8vIGdjCisgICAg
cmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICAgIHZhciBpID0gLTEsIG4gPSBxLmxlbmd0aCwgbzsK
KyAgICAgIHdoaWxlICgrK2kgPCBuKSBzWyhvID0gcVtpXSkuaV0gPSBvLngodCk7CisgICAgICBy
ZXR1cm4gcy5qb2luKCIiKTsKKyAgICB9OworICB9OworfQorCit2YXIgaW50ZXJwb2xhdGVUcmFu
c2Zvcm1Dc3MgPSBpbnRlcnBvbGF0ZVRyYW5zZm9ybShwYXJzZUNzcywgInB4LCAiLCAicHgpIiwg
ImRlZykiKTsKK3ZhciBpbnRlcnBvbGF0ZVRyYW5zZm9ybVN2ZyA9IGludGVycG9sYXRlVHJhbnNm
b3JtKHBhcnNlU3ZnLCAiLCAiLCAiKSIsICIpIik7CisKK3ZhciByaG8gPSBNYXRoLlNRUlQyLAor
ICAgIHJobzIgPSAyLAorICAgIHJobzQgPSA0LAorICAgIGVwc2lsb24yID0gMWUtMTI7CisKK2Z1
bmN0aW9uIGNvc2goeCkgeworICByZXR1cm4gKCh4ID0gTWF0aC5leHAoeCkpICsgMSAvIHgpIC8g
MjsKK30KKworZnVuY3Rpb24gc2luaCh4KSB7CisgIHJldHVybiAoKHggPSBNYXRoLmV4cCh4KSkg
LSAxIC8geCkgLyAyOworfQorCitmdW5jdGlvbiB0YW5oKHgpIHsKKyAgcmV0dXJuICgoeCA9IE1h
dGguZXhwKDIgKiB4KSkgLSAxKSAvICh4ICsgMSk7Cit9CisKKy8vIHAwID0gW3V4MCwgdXkwLCB3
MF0KKy8vIHAxID0gW3V4MSwgdXkxLCB3MV0KK2Z1bmN0aW9uIGludGVycG9sYXRlWm9vbShwMCwg
cDEpIHsKKyAgdmFyIHV4MCA9IHAwWzBdLCB1eTAgPSBwMFsxXSwgdzAgPSBwMFsyXSwKKyAgICAg
IHV4MSA9IHAxWzBdLCB1eTEgPSBwMVsxXSwgdzEgPSBwMVsyXSwKKyAgICAgIGR4ID0gdXgxIC0g
dXgwLAorICAgICAgZHkgPSB1eTEgLSB1eTAsCisgICAgICBkMiA9IGR4ICogZHggKyBkeSAqIGR5
LAorICAgICAgaSwKKyAgICAgIFM7CisKKyAgLy8gU3BlY2lhbCBjYXNlIGZvciB1MCDiiYUgdTEu
CisgIGlmIChkMiA8IGVwc2lsb24yKSB7CisgICAgUyA9IE1hdGgubG9nKHcxIC8gdzApIC8gcmhv
OworICAgIGkgPSBmdW5jdGlvbih0KSB7CisgICAgICByZXR1cm4gWworICAgICAgICB1eDAgKyB0
ICogZHgsCisgICAgICAgIHV5MCArIHQgKiBkeSwKKyAgICAgICAgdzAgKiBNYXRoLmV4cChyaG8g
KiB0ICogUykKKyAgICAgIF07CisgICAgfTsKKyAgfQorCisgIC8vIEdlbmVyYWwgY2FzZS4KKyAg
ZWxzZSB7CisgICAgdmFyIGQxID0gTWF0aC5zcXJ0KGQyKSwKKyAgICAgICAgYjAgPSAodzEgKiB3
MSAtIHcwICogdzAgKyByaG80ICogZDIpIC8gKDIgKiB3MCAqIHJobzIgKiBkMSksCisgICAgICAg
IGIxID0gKHcxICogdzEgLSB3MCAqIHcwIC0gcmhvNCAqIGQyKSAvICgyICogdzEgKiByaG8yICog
ZDEpLAorICAgICAgICByMCA9IE1hdGgubG9nKE1hdGguc3FydChiMCAqIGIwICsgMSkgLSBiMCks
CisgICAgICAgIHIxID0gTWF0aC5sb2coTWF0aC5zcXJ0KGIxICogYjEgKyAxKSAtIGIxKTsKKyAg
ICBTID0gKHIxIC0gcjApIC8gcmhvOworICAgIGkgPSBmdW5jdGlvbih0KSB7CisgICAgICB2YXIg
cyA9IHQgKiBTLAorICAgICAgICAgIGNvc2hyMCA9IGNvc2gocjApLAorICAgICAgICAgIHUgPSB3
MCAvIChyaG8yICogZDEpICogKGNvc2hyMCAqIHRhbmgocmhvICogcyArIHIwKSAtIHNpbmgocjAp
KTsKKyAgICAgIHJldHVybiBbCisgICAgICAgIHV4MCArIHUgKiBkeCwKKyAgICAgICAgdXkwICsg
dSAqIGR5LAorICAgICAgICB3MCAqIGNvc2hyMCAvIGNvc2gocmhvICogcyArIHIwKQorICAgICAg
XTsKKyAgICB9OworICB9CisKKyAgaS5kdXJhdGlvbiA9IFMgKiAxMDAwOworCisgIHJldHVybiBp
OworfQorCitmdW5jdGlvbiBoc2wkMShodWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHN0YXJ0LCBl
bmQpIHsKKyAgICB2YXIgaCA9IGh1ZSgoc3RhcnQgPSBoc2woc3RhcnQpKS5oLCAoZW5kID0gaHNs
KGVuZCkpLmgpLAorICAgICAgICBzID0gbm9nYW1tYShzdGFydC5zLCBlbmQucyksCisgICAgICAg
IGwgPSBub2dhbW1hKHN0YXJ0LmwsIGVuZC5sKSwKKyAgICAgICAgb3BhY2l0eSA9IG5vZ2FtbWEo
c3RhcnQub3BhY2l0eSwgZW5kLm9wYWNpdHkpOworICAgIHJldHVybiBmdW5jdGlvbih0KSB7Cisg
ICAgICBzdGFydC5oID0gaCh0KTsKKyAgICAgIHN0YXJ0LnMgPSBzKHQpOworICAgICAgc3RhcnQu
bCA9IGwodCk7CisgICAgICBzdGFydC5vcGFjaXR5ID0gb3BhY2l0eSh0KTsKKyAgICAgIHJldHVy
biBzdGFydCArICIiOworICAgIH07CisgIH0KK30KKwordmFyIGhzbCQyID0gaHNsJDEoaHVlKTsK
K3ZhciBoc2xMb25nID0gaHNsJDEobm9nYW1tYSk7CisKK2Z1bmN0aW9uIGxhYiQxKHN0YXJ0LCBl
bmQpIHsKKyAgdmFyIGwgPSBub2dhbW1hKChzdGFydCA9IGxhYihzdGFydCkpLmwsIChlbmQgPSBs
YWIoZW5kKSkubCksCisgICAgICBhID0gbm9nYW1tYShzdGFydC5hLCBlbmQuYSksCisgICAgICBi
ID0gbm9nYW1tYShzdGFydC5iLCBlbmQuYiksCisgICAgICBvcGFjaXR5ID0gbm9nYW1tYShzdGFy
dC5vcGFjaXR5LCBlbmQub3BhY2l0eSk7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgc3Rh
cnQubCA9IGwodCk7CisgICAgc3RhcnQuYSA9IGEodCk7CisgICAgc3RhcnQuYiA9IGIodCk7Cisg
ICAgc3RhcnQub3BhY2l0eSA9IG9wYWNpdHkodCk7CisgICAgcmV0dXJuIHN0YXJ0ICsgIiI7Cisg
IH07Cit9CisKK2Z1bmN0aW9uIGhjbCQxKGh1ZSkgeworICByZXR1cm4gZnVuY3Rpb24oc3RhcnQs
IGVuZCkgeworICAgIHZhciBoID0gaHVlKChzdGFydCA9IGhjbChzdGFydCkpLmgsIChlbmQgPSBo
Y2woZW5kKSkuaCksCisgICAgICAgIGMgPSBub2dhbW1hKHN0YXJ0LmMsIGVuZC5jKSwKKyAgICAg
ICAgbCA9IG5vZ2FtbWEoc3RhcnQubCwgZW5kLmwpLAorICAgICAgICBvcGFjaXR5ID0gbm9nYW1t
YShzdGFydC5vcGFjaXR5LCBlbmQub3BhY2l0eSk7CisgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsK
KyAgICAgIHN0YXJ0LmggPSBoKHQpOworICAgICAgc3RhcnQuYyA9IGModCk7CisgICAgICBzdGFy
dC5sID0gbCh0KTsKKyAgICAgIHN0YXJ0Lm9wYWNpdHkgPSBvcGFjaXR5KHQpOworICAgICAgcmV0
dXJuIHN0YXJ0ICsgIiI7CisgICAgfTsKKyAgfQorfQorCit2YXIgaGNsJDIgPSBoY2wkMShodWUp
OwordmFyIGhjbExvbmcgPSBoY2wkMShub2dhbW1hKTsKKworZnVuY3Rpb24gY3ViZWhlbGl4JDEo
aHVlKSB7CisgIHJldHVybiAoZnVuY3Rpb24gY3ViZWhlbGl4R2FtbWEoeSkgeworICAgIHkgPSAr
eTsKKworICAgIGZ1bmN0aW9uIGN1YmVoZWxpeCQxKHN0YXJ0LCBlbmQpIHsKKyAgICAgIHZhciBo
ID0gaHVlKChzdGFydCA9IGN1YmVoZWxpeChzdGFydCkpLmgsIChlbmQgPSBjdWJlaGVsaXgoZW5k
KSkuaCksCisgICAgICAgICAgcyA9IG5vZ2FtbWEoc3RhcnQucywgZW5kLnMpLAorICAgICAgICAg
IGwgPSBub2dhbW1hKHN0YXJ0LmwsIGVuZC5sKSwKKyAgICAgICAgICBvcGFjaXR5ID0gbm9nYW1t
YShzdGFydC5vcGFjaXR5LCBlbmQub3BhY2l0eSk7CisgICAgICByZXR1cm4gZnVuY3Rpb24odCkg
eworICAgICAgICBzdGFydC5oID0gaCh0KTsKKyAgICAgICAgc3RhcnQucyA9IHModCk7CisgICAg
ICAgIHN0YXJ0LmwgPSBsKE1hdGgucG93KHQsIHkpKTsKKyAgICAgICAgc3RhcnQub3BhY2l0eSA9
IG9wYWNpdHkodCk7CisgICAgICAgIHJldHVybiBzdGFydCArICIiOworICAgICAgfTsKKyAgICB9
CisKKyAgICBjdWJlaGVsaXgkMS5nYW1tYSA9IGN1YmVoZWxpeEdhbW1hOworCisgICAgcmV0dXJu
IGN1YmVoZWxpeCQxOworICB9KSgxKTsKK30KKwordmFyIGN1YmVoZWxpeCQyID0gY3ViZWhlbGl4
JDEoaHVlKTsKK3ZhciBjdWJlaGVsaXhMb25nID0gY3ViZWhlbGl4JDEobm9nYW1tYSk7CisKK2Z1
bmN0aW9uIHBpZWNld2lzZShpbnRlcnBvbGF0ZSwgdmFsdWVzKSB7CisgIHZhciBpID0gMCwgbiA9
IHZhbHVlcy5sZW5ndGggLSAxLCB2ID0gdmFsdWVzWzBdLCBJID0gbmV3IEFycmF5KG4gPCAwID8g
MCA6IG4pOworICB3aGlsZSAoaSA8IG4pIElbaV0gPSBpbnRlcnBvbGF0ZSh2LCB2ID0gdmFsdWVz
WysraV0pOworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHZhciBpID0gTWF0aC5tYXgoMCwg
TWF0aC5taW4obiAtIDEsIE1hdGguZmxvb3IodCAqPSBuKSkpOworICAgIHJldHVybiBJW2ldKHQg
LSBpKTsKKyAgfTsKK30KKworZnVuY3Rpb24gcXVhbnRpemUoaW50ZXJwb2xhdG9yLCBuKSB7Cisg
IHZhciBzYW1wbGVzID0gbmV3IEFycmF5KG4pOworICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsr
aSkgc2FtcGxlc1tpXSA9IGludGVycG9sYXRvcihpIC8gKG4gLSAxKSk7CisgIHJldHVybiBzYW1w
bGVzOworfQorCit2YXIgZnJhbWUgPSAwLCAvLyBpcyBhbiBhbmltYXRpb24gZnJhbWUgcGVuZGlu
Zz8KKyAgICB0aW1lb3V0ID0gMCwgLy8gaXMgYSB0aW1lb3V0IHBlbmRpbmc/CisgICAgaW50ZXJ2
YWwgPSAwLCAvLyBhcmUgYW55IHRpbWVycyBhY3RpdmU/CisgICAgcG9rZURlbGF5ID0gMTAwMCwg
Ly8gaG93IGZyZXF1ZW50bHkgd2UgY2hlY2sgZm9yIGNsb2NrIHNrZXcKKyAgICB0YXNrSGVhZCwK
KyAgICB0YXNrVGFpbCwKKyAgICBjbG9ja0xhc3QgPSAwLAorICAgIGNsb2NrTm93ID0gMCwKKyAg
ICBjbG9ja1NrZXcgPSAwLAorICAgIGNsb2NrID0gdHlwZW9mIHBlcmZvcm1hbmNlID09PSAib2Jq
ZWN0IiAmJiBwZXJmb3JtYW5jZS5ub3cgPyBwZXJmb3JtYW5jZSA6IERhdGUsCisgICAgc2V0RnJh
bWUgPSB0eXBlb2Ygd2luZG93ID09PSAib2JqZWN0IiAmJiB3aW5kb3cucmVxdWVzdEFuaW1hdGlv
bkZyYW1lID8gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKHdpbmRvdykgOiBmdW5j
dGlvbihmKSB7IHNldFRpbWVvdXQoZiwgMTcpOyB9OworCitmdW5jdGlvbiBub3coKSB7CisgIHJl
dHVybiBjbG9ja05vdyB8fCAoc2V0RnJhbWUoY2xlYXJOb3cpLCBjbG9ja05vdyA9IGNsb2NrLm5v
dygpICsgY2xvY2tTa2V3KTsKK30KKworZnVuY3Rpb24gY2xlYXJOb3coKSB7CisgIGNsb2NrTm93
ID0gMDsKK30KKworZnVuY3Rpb24gVGltZXIoKSB7CisgIHRoaXMuX2NhbGwgPQorICB0aGlzLl90
aW1lID0KKyAgdGhpcy5fbmV4dCA9IG51bGw7Cit9CisKK1RpbWVyLnByb3RvdHlwZSA9IHRpbWVy
LnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IFRpbWVyLAorICByZXN0YXJ0OiBmdW5jdGlv
bihjYWxsYmFjaywgZGVsYXksIHRpbWUpIHsKKyAgICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAi
ZnVuY3Rpb24iKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBpcyBub3QgYSBmdW5jdGlv
biIpOworICAgIHRpbWUgPSAodGltZSA9PSBudWxsID8gbm93KCkgOiArdGltZSkgKyAoZGVsYXkg
PT0gbnVsbCA/IDAgOiArZGVsYXkpOworICAgIGlmICghdGhpcy5fbmV4dCAmJiB0YXNrVGFpbCAh
PT0gdGhpcykgeworICAgICAgaWYgKHRhc2tUYWlsKSB0YXNrVGFpbC5fbmV4dCA9IHRoaXM7Cisg
ICAgICBlbHNlIHRhc2tIZWFkID0gdGhpczsKKyAgICAgIHRhc2tUYWlsID0gdGhpczsKKyAgICB9
CisgICAgdGhpcy5fY2FsbCA9IGNhbGxiYWNrOworICAgIHRoaXMuX3RpbWUgPSB0aW1lOworICAg
IHNsZWVwKCk7CisgIH0sCisgIHN0b3A6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9jYWxs
KSB7CisgICAgICB0aGlzLl9jYWxsID0gbnVsbDsKKyAgICAgIHRoaXMuX3RpbWUgPSBJbmZpbml0
eTsKKyAgICAgIHNsZWVwKCk7CisgICAgfQorICB9Cit9OworCitmdW5jdGlvbiB0aW1lcihjYWxs
YmFjaywgZGVsYXksIHRpbWUpIHsKKyAgdmFyIHQgPSBuZXcgVGltZXI7CisgIHQucmVzdGFydChj
YWxsYmFjaywgZGVsYXksIHRpbWUpOworICByZXR1cm4gdDsKK30KKworZnVuY3Rpb24gdGltZXJG
bHVzaCgpIHsKKyAgbm93KCk7IC8vIEdldCB0aGUgY3VycmVudCB0aW1lLCBpZiBub3QgYWxyZWFk
eSBzZXQuCisgICsrZnJhbWU7IC8vIFByZXRlbmQgd2XigJl2ZSBzZXQgYW4gYWxhcm0sIGlmIHdl
IGhhdmVu4oCZdCBhbHJlYWR5LgorICB2YXIgdCA9IHRhc2tIZWFkLCBlOworICB3aGlsZSAodCkg
eworICAgIGlmICgoZSA9IGNsb2NrTm93IC0gdC5fdGltZSkgPj0gMCkgdC5fY2FsbC5jYWxsKG51
bGwsIGUpOworICAgIHQgPSB0Ll9uZXh0OworICB9CisgIC0tZnJhbWU7Cit9CisKK2Z1bmN0aW9u
IHdha2UoKSB7CisgIGNsb2NrTm93ID0gKGNsb2NrTGFzdCA9IGNsb2NrLm5vdygpKSArIGNsb2Nr
U2tldzsKKyAgZnJhbWUgPSB0aW1lb3V0ID0gMDsKKyAgdHJ5IHsKKyAgICB0aW1lckZsdXNoKCk7
CisgIH0gZmluYWxseSB7CisgICAgZnJhbWUgPSAwOworICAgIG5hcCgpOworICAgIGNsb2NrTm93
ID0gMDsKKyAgfQorfQorCitmdW5jdGlvbiBwb2tlKCkgeworICB2YXIgbm93ID0gY2xvY2subm93
KCksIGRlbGF5ID0gbm93IC0gY2xvY2tMYXN0OworICBpZiAoZGVsYXkgPiBwb2tlRGVsYXkpIGNs
b2NrU2tldyAtPSBkZWxheSwgY2xvY2tMYXN0ID0gbm93OworfQorCitmdW5jdGlvbiBuYXAoKSB7
CisgIHZhciB0MCwgdDEgPSB0YXNrSGVhZCwgdDIsIHRpbWUgPSBJbmZpbml0eTsKKyAgd2hpbGUg
KHQxKSB7CisgICAgaWYgKHQxLl9jYWxsKSB7CisgICAgICBpZiAodGltZSA+IHQxLl90aW1lKSB0
aW1lID0gdDEuX3RpbWU7CisgICAgICB0MCA9IHQxLCB0MSA9IHQxLl9uZXh0OworICAgIH0gZWxz
ZSB7CisgICAgICB0MiA9IHQxLl9uZXh0LCB0MS5fbmV4dCA9IG51bGw7CisgICAgICB0MSA9IHQw
ID8gdDAuX25leHQgPSB0MiA6IHRhc2tIZWFkID0gdDI7CisgICAgfQorICB9CisgIHRhc2tUYWls
ID0gdDA7CisgIHNsZWVwKHRpbWUpOworfQorCitmdW5jdGlvbiBzbGVlcCh0aW1lKSB7CisgIGlm
IChmcmFtZSkgcmV0dXJuOyAvLyBTb29uZXN0IGFsYXJtIGFscmVhZHkgc2V0LCBvciB3aWxsIGJl
LgorICBpZiAodGltZW91dCkgdGltZW91dCA9IGNsZWFyVGltZW91dCh0aW1lb3V0KTsKKyAgdmFy
IGRlbGF5ID0gdGltZSAtIGNsb2NrTm93OyAvLyBTdHJpY3RseSBsZXNzIHRoYW4gaWYgd2UgcmVj
b21wdXRlZCBjbG9ja05vdy4KKyAgaWYgKGRlbGF5ID4gMjQpIHsKKyAgICBpZiAodGltZSA8IElu
ZmluaXR5KSB0aW1lb3V0ID0gc2V0VGltZW91dCh3YWtlLCB0aW1lIC0gY2xvY2subm93KCkgLSBj
bG9ja1NrZXcpOworICAgIGlmIChpbnRlcnZhbCkgaW50ZXJ2YWwgPSBjbGVhckludGVydmFsKGlu
dGVydmFsKTsKKyAgfSBlbHNlIHsKKyAgICBpZiAoIWludGVydmFsKSBjbG9ja0xhc3QgPSBjbG9j
ay5ub3coKSwgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChwb2tlLCBwb2tlRGVsYXkpOworICAgIGZy
YW1lID0gMSwgc2V0RnJhbWUod2FrZSk7CisgIH0KK30KKworZnVuY3Rpb24gdGltZW91dCQxKGNh
bGxiYWNrLCBkZWxheSwgdGltZSkgeworICB2YXIgdCA9IG5ldyBUaW1lcjsKKyAgZGVsYXkgPSBk
ZWxheSA9PSBudWxsID8gMCA6ICtkZWxheTsKKyAgdC5yZXN0YXJ0KGZ1bmN0aW9uKGVsYXBzZWQp
IHsKKyAgICB0LnN0b3AoKTsKKyAgICBjYWxsYmFjayhlbGFwc2VkICsgZGVsYXkpOworICB9LCBk
ZWxheSwgdGltZSk7CisgIHJldHVybiB0OworfQorCitmdW5jdGlvbiBpbnRlcnZhbCQxKGNhbGxi
YWNrLCBkZWxheSwgdGltZSkgeworICB2YXIgdCA9IG5ldyBUaW1lciwgdG90YWwgPSBkZWxheTsK
KyAgaWYgKGRlbGF5ID09IG51bGwpIHJldHVybiB0LnJlc3RhcnQoY2FsbGJhY2ssIGRlbGF5LCB0
aW1lKSwgdDsKKyAgZGVsYXkgPSArZGVsYXksIHRpbWUgPSB0aW1lID09IG51bGwgPyBub3coKSA6
ICt0aW1lOworICB0LnJlc3RhcnQoZnVuY3Rpb24gdGljayhlbGFwc2VkKSB7CisgICAgZWxhcHNl
ZCArPSB0b3RhbDsKKyAgICB0LnJlc3RhcnQodGljaywgdG90YWwgKz0gZGVsYXksIHRpbWUpOwor
ICAgIGNhbGxiYWNrKGVsYXBzZWQpOworICB9LCBkZWxheSwgdGltZSk7CisgIHJldHVybiB0Owor
fQorCit2YXIgZW1wdHlPbiA9IGRpc3BhdGNoKCJzdGFydCIsICJlbmQiLCAiY2FuY2VsIiwgImlu
dGVycnVwdCIpOwordmFyIGVtcHR5VHdlZW4gPSBbXTsKKwordmFyIENSRUFURUQgPSAwOwordmFy
IFNDSEVEVUxFRCA9IDE7Cit2YXIgU1RBUlRJTkcgPSAyOwordmFyIFNUQVJURUQgPSAzOwordmFy
IFJVTk5JTkcgPSA0OwordmFyIEVORElORyA9IDU7Cit2YXIgRU5ERUQgPSA2OworCitmdW5jdGlv
biBzY2hlZHVsZShub2RlLCBuYW1lLCBpZCwgaW5kZXgsIGdyb3VwLCB0aW1pbmcpIHsKKyAgdmFy
IHNjaGVkdWxlcyA9IG5vZGUuX190cmFuc2l0aW9uOworICBpZiAoIXNjaGVkdWxlcykgbm9kZS5f
X3RyYW5zaXRpb24gPSB7fTsKKyAgZWxzZSBpZiAoaWQgaW4gc2NoZWR1bGVzKSByZXR1cm47Cisg
IGNyZWF0ZSQxKG5vZGUsIGlkLCB7CisgICAgbmFtZTogbmFtZSwKKyAgICBpbmRleDogaW5kZXgs
IC8vIEZvciBjb250ZXh0IGR1cmluZyBjYWxsYmFjay4KKyAgICBncm91cDogZ3JvdXAsIC8vIEZv
ciBjb250ZXh0IGR1cmluZyBjYWxsYmFjay4KKyAgICBvbjogZW1wdHlPbiwKKyAgICB0d2Vlbjog
ZW1wdHlUd2VlbiwKKyAgICB0aW1lOiB0aW1pbmcudGltZSwKKyAgICBkZWxheTogdGltaW5nLmRl
bGF5LAorICAgIGR1cmF0aW9uOiB0aW1pbmcuZHVyYXRpb24sCisgICAgZWFzZTogdGltaW5nLmVh
c2UsCisgICAgdGltZXI6IG51bGwsCisgICAgc3RhdGU6IENSRUFURUQKKyAgfSk7Cit9CisKK2Z1
bmN0aW9uIGluaXQobm9kZSwgaWQpIHsKKyAgdmFyIHNjaGVkdWxlID0gZ2V0JDEobm9kZSwgaWQp
OworICBpZiAoc2NoZWR1bGUuc3RhdGUgPiBDUkVBVEVEKSB0aHJvdyBuZXcgRXJyb3IoInRvbyBs
YXRlOyBhbHJlYWR5IHNjaGVkdWxlZCIpOworICByZXR1cm4gc2NoZWR1bGU7Cit9CisKK2Z1bmN0
aW9uIHNldCQxKG5vZGUsIGlkKSB7CisgIHZhciBzY2hlZHVsZSA9IGdldCQxKG5vZGUsIGlkKTsK
KyAgaWYgKHNjaGVkdWxlLnN0YXRlID4gU1RBUlRFRCkgdGhyb3cgbmV3IEVycm9yKCJ0b28gbGF0
ZTsgYWxyZWFkeSBydW5uaW5nIik7CisgIHJldHVybiBzY2hlZHVsZTsKK30KKworZnVuY3Rpb24g
Z2V0JDEobm9kZSwgaWQpIHsKKyAgdmFyIHNjaGVkdWxlID0gbm9kZS5fX3RyYW5zaXRpb247Cisg
IGlmICghc2NoZWR1bGUgfHwgIShzY2hlZHVsZSA9IHNjaGVkdWxlW2lkXSkpIHRocm93IG5ldyBF
cnJvcigidHJhbnNpdGlvbiBub3QgZm91bmQiKTsKKyAgcmV0dXJuIHNjaGVkdWxlOworfQorCitm
dW5jdGlvbiBjcmVhdGUkMShub2RlLCBpZCwgc2VsZikgeworICB2YXIgc2NoZWR1bGVzID0gbm9k
ZS5fX3RyYW5zaXRpb24sCisgICAgICB0d2VlbjsKKworICAvLyBJbml0aWFsaXplIHRoZSBzZWxm
IHRpbWVyIHdoZW4gdGhlIHRyYW5zaXRpb24gaXMgY3JlYXRlZC4KKyAgLy8gTm90ZSB0aGUgYWN0
dWFsIGRlbGF5IGlzIG5vdCBrbm93biB1bnRpbCB0aGUgZmlyc3QgY2FsbGJhY2shCisgIHNjaGVk
dWxlc1tpZF0gPSBzZWxmOworICBzZWxmLnRpbWVyID0gdGltZXIoc2NoZWR1bGUsIDAsIHNlbGYu
dGltZSk7CisKKyAgZnVuY3Rpb24gc2NoZWR1bGUoZWxhcHNlZCkgeworICAgIHNlbGYuc3RhdGUg
PSBTQ0hFRFVMRUQ7CisgICAgc2VsZi50aW1lci5yZXN0YXJ0KHN0YXJ0LCBzZWxmLmRlbGF5LCBz
ZWxmLnRpbWUpOworCisgICAgLy8gSWYgdGhlIGVsYXBzZWQgZGVsYXkgaXMgbGVzcyB0aGFuIG91
ciBmaXJzdCBzbGVlcCwgc3RhcnQgaW1tZWRpYXRlbHkuCisgICAgaWYgKHNlbGYuZGVsYXkgPD0g
ZWxhcHNlZCkgc3RhcnQoZWxhcHNlZCAtIHNlbGYuZGVsYXkpOworICB9CisKKyAgZnVuY3Rpb24g
c3RhcnQoZWxhcHNlZCkgeworICAgIHZhciBpLCBqLCBuLCBvOworCisgICAgLy8gSWYgdGhlIHN0
YXRlIGlzIG5vdCBTQ0hFRFVMRUQsIHRoZW4gd2UgcHJldmlvdXNseSBlcnJvcmVkIG9uIHN0YXJ0
LgorICAgIGlmIChzZWxmLnN0YXRlICE9PSBTQ0hFRFVMRUQpIHJldHVybiBzdG9wKCk7CisKKyAg
ICBmb3IgKGkgaW4gc2NoZWR1bGVzKSB7CisgICAgICBvID0gc2NoZWR1bGVzW2ldOworICAgICAg
aWYgKG8ubmFtZSAhPT0gc2VsZi5uYW1lKSBjb250aW51ZTsKKworICAgICAgLy8gV2hpbGUgdGhp
cyBlbGVtZW50IGFscmVhZHkgaGFzIGEgc3RhcnRpbmcgdHJhbnNpdGlvbiBkdXJpbmcgdGhpcyBm
cmFtZSwKKyAgICAgIC8vIGRlZmVyIHN0YXJ0aW5nIGFuIGludGVycnVwdGluZyB0cmFuc2l0aW9u
IHVudGlsIHRoYXQgdHJhbnNpdGlvbiBoYXMgYQorICAgICAgLy8gY2hhbmNlIHRvIHRpY2sgKGFu
ZCBwb3NzaWJseSBlbmQpOyBzZWUgZDMvZDMtdHJhbnNpdGlvbiM1NCEKKyAgICAgIGlmIChvLnN0
YXRlID09PSBTVEFSVEVEKSByZXR1cm4gdGltZW91dCQxKHN0YXJ0KTsKKworICAgICAgLy8gSW50
ZXJydXB0IHRoZSBhY3RpdmUgdHJhbnNpdGlvbiwgaWYgYW55LgorICAgICAgaWYgKG8uc3RhdGUg
PT09IFJVTk5JTkcpIHsKKyAgICAgICAgby5zdGF0ZSA9IEVOREVEOworICAgICAgICBvLnRpbWVy
LnN0b3AoKTsKKyAgICAgICAgby5vbi5jYWxsKCJpbnRlcnJ1cHQiLCBub2RlLCBub2RlLl9fZGF0
YV9fLCBvLmluZGV4LCBvLmdyb3VwKTsKKyAgICAgICAgZGVsZXRlIHNjaGVkdWxlc1tpXTsKKyAg
ICAgIH0KKworICAgICAgLy8gQ2FuY2VsIGFueSBwcmUtZW1wdGVkIHRyYW5zaXRpb25zLgorICAg
ICAgZWxzZSBpZiAoK2kgPCBpZCkgeworICAgICAgICBvLnN0YXRlID0gRU5ERUQ7CisgICAgICAg
IG8udGltZXIuc3RvcCgpOworICAgICAgICBvLm9uLmNhbGwoImNhbmNlbCIsIG5vZGUsIG5vZGUu
X19kYXRhX18sIG8uaW5kZXgsIG8uZ3JvdXApOworICAgICAgICBkZWxldGUgc2NoZWR1bGVzW2ld
OworICAgICAgfQorICAgIH0KKworICAgIC8vIERlZmVyIHRoZSBmaXJzdCB0aWNrIHRvIGVuZCBv
ZiB0aGUgY3VycmVudCBmcmFtZTsgc2VlIGQzL2QzIzE1NzYuCisgICAgLy8gTm90ZSB0aGUgdHJh
bnNpdGlvbiBtYXkgYmUgY2FuY2VsZWQgYWZ0ZXIgc3RhcnQgYW5kIGJlZm9yZSB0aGUgZmlyc3Qg
dGljayEKKyAgICAvLyBOb3RlIHRoaXMgbXVzdCBiZSBzY2hlZHVsZWQgYmVmb3JlIHRoZSBzdGFy
dCBldmVudDsgc2VlIGQzL2QzLXRyYW5zaXRpb24jMTYhCisgICAgLy8gQXNzdW1pbmcgdGhpcyBp
cyBzdWNjZXNzZnVsLCBzdWJzZXF1ZW50IGNhbGxiYWNrcyBnbyBzdHJhaWdodCB0byB0aWNrLgor
ICAgIHRpbWVvdXQkMShmdW5jdGlvbigpIHsKKyAgICAgIGlmIChzZWxmLnN0YXRlID09PSBTVEFS
VEVEKSB7CisgICAgICAgIHNlbGYuc3RhdGUgPSBSVU5OSU5HOworICAgICAgICBzZWxmLnRpbWVy
LnJlc3RhcnQodGljaywgc2VsZi5kZWxheSwgc2VsZi50aW1lKTsKKyAgICAgICAgdGljayhlbGFw
c2VkKTsKKyAgICAgIH0KKyAgICB9KTsKKworICAgIC8vIERpc3BhdGNoIHRoZSBzdGFydCBldmVu
dC4KKyAgICAvLyBOb3RlIHRoaXMgbXVzdCBiZSBkb25lIGJlZm9yZSB0aGUgdHdlZW4gYXJlIGlu
aXRpYWxpemVkLgorICAgIHNlbGYuc3RhdGUgPSBTVEFSVElORzsKKyAgICBzZWxmLm9uLmNhbGwo
InN0YXJ0Iiwgbm9kZSwgbm9kZS5fX2RhdGFfXywgc2VsZi5pbmRleCwgc2VsZi5ncm91cCk7Cisg
ICAgaWYgKHNlbGYuc3RhdGUgIT09IFNUQVJUSU5HKSByZXR1cm47IC8vIGludGVycnVwdGVkCisg
ICAgc2VsZi5zdGF0ZSA9IFNUQVJURUQ7CisKKyAgICAvLyBJbml0aWFsaXplIHRoZSB0d2Vlbiwg
ZGVsZXRpbmcgbnVsbCB0d2Vlbi4KKyAgICB0d2VlbiA9IG5ldyBBcnJheShuID0gc2VsZi50d2Vl
bi5sZW5ndGgpOworICAgIGZvciAoaSA9IDAsIGogPSAtMTsgaSA8IG47ICsraSkgeworICAgICAg
aWYgKG8gPSBzZWxmLnR3ZWVuW2ldLnZhbHVlLmNhbGwobm9kZSwgbm9kZS5fX2RhdGFfXywgc2Vs
Zi5pbmRleCwgc2VsZi5ncm91cCkpIHsKKyAgICAgICAgdHdlZW5bKytqXSA9IG87CisgICAgICB9
CisgICAgfQorICAgIHR3ZWVuLmxlbmd0aCA9IGogKyAxOworICB9CisKKyAgZnVuY3Rpb24gdGlj
ayhlbGFwc2VkKSB7CisgICAgdmFyIHQgPSBlbGFwc2VkIDwgc2VsZi5kdXJhdGlvbiA/IHNlbGYu
ZWFzZS5jYWxsKG51bGwsIGVsYXBzZWQgLyBzZWxmLmR1cmF0aW9uKSA6IChzZWxmLnRpbWVyLnJl
c3RhcnQoc3RvcCksIHNlbGYuc3RhdGUgPSBFTkRJTkcsIDEpLAorICAgICAgICBpID0gLTEsCisg
ICAgICAgIG4gPSB0d2Vlbi5sZW5ndGg7CisKKyAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAg
dHdlZW5baV0uY2FsbChub2RlLCB0KTsKKyAgICB9CisKKyAgICAvLyBEaXNwYXRjaCB0aGUgZW5k
IGV2ZW50LgorICAgIGlmIChzZWxmLnN0YXRlID09PSBFTkRJTkcpIHsKKyAgICAgIHNlbGYub24u
Y2FsbCgiZW5kIiwgbm9kZSwgbm9kZS5fX2RhdGFfXywgc2VsZi5pbmRleCwgc2VsZi5ncm91cCk7
CisgICAgICBzdG9wKCk7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gc3RvcCgpIHsKKyAgICBz
ZWxmLnN0YXRlID0gRU5ERUQ7CisgICAgc2VsZi50aW1lci5zdG9wKCk7CisgICAgZGVsZXRlIHNj
aGVkdWxlc1tpZF07CisgICAgZm9yICh2YXIgaSBpbiBzY2hlZHVsZXMpIHJldHVybjsgLy8gZXNs
aW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFycworICAgIGRlbGV0ZSBub2RlLl9fdHJhbnNp
dGlvbjsKKyAgfQorfQorCitmdW5jdGlvbiBpbnRlcnJ1cHQobm9kZSwgbmFtZSkgeworICB2YXIg
c2NoZWR1bGVzID0gbm9kZS5fX3RyYW5zaXRpb24sCisgICAgICBzY2hlZHVsZSwKKyAgICAgIGFj
dGl2ZSwKKyAgICAgIGVtcHR5ID0gdHJ1ZSwKKyAgICAgIGk7CisKKyAgaWYgKCFzY2hlZHVsZXMp
IHJldHVybjsKKworICBuYW1lID0gbmFtZSA9PSBudWxsID8gbnVsbCA6IG5hbWUgKyAiIjsKKwor
ICBmb3IgKGkgaW4gc2NoZWR1bGVzKSB7CisgICAgaWYgKChzY2hlZHVsZSA9IHNjaGVkdWxlc1tp
XSkubmFtZSAhPT0gbmFtZSkgeyBlbXB0eSA9IGZhbHNlOyBjb250aW51ZTsgfQorICAgIGFjdGl2
ZSA9IHNjaGVkdWxlLnN0YXRlID4gU1RBUlRJTkcgJiYgc2NoZWR1bGUuc3RhdGUgPCBFTkRJTkc7
CisgICAgc2NoZWR1bGUuc3RhdGUgPSBFTkRFRDsKKyAgICBzY2hlZHVsZS50aW1lci5zdG9wKCk7
CisgICAgc2NoZWR1bGUub24uY2FsbChhY3RpdmUgPyAiaW50ZXJydXB0IiA6ICJjYW5jZWwiLCBu
b2RlLCBub2RlLl9fZGF0YV9fLCBzY2hlZHVsZS5pbmRleCwgc2NoZWR1bGUuZ3JvdXApOworICAg
IGRlbGV0ZSBzY2hlZHVsZXNbaV07CisgIH0KKworICBpZiAoZW1wdHkpIGRlbGV0ZSBub2RlLl9f
dHJhbnNpdGlvbjsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2ludGVycnVwdChuYW1lKSB7Cisg
IHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CisgICAgaW50ZXJydXB0KHRoaXMsIG5hbWUp
OworICB9KTsKK30KKworZnVuY3Rpb24gdHdlZW5SZW1vdmUoaWQsIG5hbWUpIHsKKyAgdmFyIHR3
ZWVuMCwgdHdlZW4xOworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHNjaGVkdWxlID0g
c2V0JDEodGhpcywgaWQpLAorICAgICAgICB0d2VlbiA9IHNjaGVkdWxlLnR3ZWVuOworCisgICAg
Ly8gSWYgdGhpcyBub2RlIHNoYXJlZCB0d2VlbiB3aXRoIHRoZSBwcmV2aW91cyBub2RlLAorICAg
IC8vIGp1c3QgYXNzaWduIHRoZSB1cGRhdGVkIHNoYXJlZCB0d2VlbiBhbmQgd2XigJlyZSBkb25l
IQorICAgIC8vIE90aGVyd2lzZSwgY29weS1vbi13cml0ZS4KKyAgICBpZiAodHdlZW4gIT09IHR3
ZWVuMCkgeworICAgICAgdHdlZW4xID0gdHdlZW4wID0gdHdlZW47CisgICAgICBmb3IgKHZhciBp
ID0gMCwgbiA9IHR3ZWVuMS5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgaWYgKHR3ZWVu
MVtpXS5uYW1lID09PSBuYW1lKSB7CisgICAgICAgICAgdHdlZW4xID0gdHdlZW4xLnNsaWNlKCk7
CisgICAgICAgICAgdHdlZW4xLnNwbGljZShpLCAxKTsKKyAgICAgICAgICBicmVhazsKKyAgICAg
ICAgfQorICAgICAgfQorICAgIH0KKworICAgIHNjaGVkdWxlLnR3ZWVuID0gdHdlZW4xOworICB9
OworfQorCitmdW5jdGlvbiB0d2VlbkZ1bmN0aW9uKGlkLCBuYW1lLCB2YWx1ZSkgeworICB2YXIg
dHdlZW4wLCB0d2VlbjE7CisgIGlmICh0eXBlb2YgdmFsdWUgIT09ICJmdW5jdGlvbiIpIHRocm93
IG5ldyBFcnJvcjsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBzY2hlZHVsZSA9IHNl
dCQxKHRoaXMsIGlkKSwKKyAgICAgICAgdHdlZW4gPSBzY2hlZHVsZS50d2VlbjsKKworICAgIC8v
IElmIHRoaXMgbm9kZSBzaGFyZWQgdHdlZW4gd2l0aCB0aGUgcHJldmlvdXMgbm9kZSwKKyAgICAv
LyBqdXN0IGFzc2lnbiB0aGUgdXBkYXRlZCBzaGFyZWQgdHdlZW4gYW5kIHdl4oCZcmUgZG9uZSEK
KyAgICAvLyBPdGhlcndpc2UsIGNvcHktb24td3JpdGUuCisgICAgaWYgKHR3ZWVuICE9PSB0d2Vl
bjApIHsKKyAgICAgIHR3ZWVuMSA9ICh0d2VlbjAgPSB0d2Vlbikuc2xpY2UoKTsKKyAgICAgIGZv
ciAodmFyIHQgPSB7bmFtZTogbmFtZSwgdmFsdWU6IHZhbHVlfSwgaSA9IDAsIG4gPSB0d2VlbjEu
bGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgICAgIGlmICh0d2VlbjFbaV0ubmFtZSA9PT0gbmFt
ZSkgeworICAgICAgICAgIHR3ZWVuMVtpXSA9IHQ7CisgICAgICAgICAgYnJlYWs7CisgICAgICAg
IH0KKyAgICAgIH0KKyAgICAgIGlmIChpID09PSBuKSB0d2VlbjEucHVzaCh0KTsKKyAgICB9CisK
KyAgICBzY2hlZHVsZS50d2VlbiA9IHR3ZWVuMTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNp
dGlvbl90d2VlbihuYW1lLCB2YWx1ZSkgeworICB2YXIgaWQgPSB0aGlzLl9pZDsKKworICBuYW1l
ICs9ICIiOworCisgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikgeworICAgIHZhciB0d2VlbiA9
IGdldCQxKHRoaXMubm9kZSgpLCBpZCkudHdlZW47CisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSB0
d2Vlbi5sZW5ndGgsIHQ7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmICgodCA9IHR3ZWVuW2ldKS5u
YW1lID09PSBuYW1lKSB7CisgICAgICAgIHJldHVybiB0LnZhbHVlOworICAgICAgfQorICAgIH0K
KyAgICByZXR1cm4gbnVsbDsKKyAgfQorCisgIHJldHVybiB0aGlzLmVhY2goKHZhbHVlID09IG51
bGwgPyB0d2VlblJlbW92ZSA6IHR3ZWVuRnVuY3Rpb24pKGlkLCBuYW1lLCB2YWx1ZSkpOworfQor
CitmdW5jdGlvbiB0d2VlblZhbHVlKHRyYW5zaXRpb24sIG5hbWUsIHZhbHVlKSB7CisgIHZhciBp
ZCA9IHRyYW5zaXRpb24uX2lkOworCisgIHRyYW5zaXRpb24uZWFjaChmdW5jdGlvbigpIHsKKyAg
ICB2YXIgc2NoZWR1bGUgPSBzZXQkMSh0aGlzLCBpZCk7CisgICAgKHNjaGVkdWxlLnZhbHVlIHx8
IChzY2hlZHVsZS52YWx1ZSA9IHt9KSlbbmFtZV0gPSB2YWx1ZS5hcHBseSh0aGlzLCBhcmd1bWVu
dHMpOworICB9KTsKKworICByZXR1cm4gZnVuY3Rpb24obm9kZSkgeworICAgIHJldHVybiBnZXQk
MShub2RlLCBpZCkudmFsdWVbbmFtZV07CisgIH07Cit9CisKK2Z1bmN0aW9uIGludGVycG9sYXRl
KGEsIGIpIHsKKyAgdmFyIGM7CisgIHJldHVybiAodHlwZW9mIGIgPT09ICJudW1iZXIiID8gaW50
ZXJwb2xhdGVOdW1iZXIKKyAgICAgIDogYiBpbnN0YW5jZW9mIGNvbG9yID8gaW50ZXJwb2xhdGVS
Z2IKKyAgICAgIDogKGMgPSBjb2xvcihiKSkgPyAoYiA9IGMsIGludGVycG9sYXRlUmdiKQorICAg
ICAgOiBpbnRlcnBvbGF0ZVN0cmluZykoYSwgYik7Cit9CisKK2Z1bmN0aW9uIGF0dHJSZW1vdmUk
MShuYW1lKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLnJlbW92ZUF0dHJpYnV0
ZShuYW1lKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0clJlbW92ZU5TJDEoZnVsbG5hbWUpIHsK
KyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlTlMoZnVsbG5h
bWUuc3BhY2UsIGZ1bGxuYW1lLmxvY2FsKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0ckNvbnN0
YW50JDEobmFtZSwgaW50ZXJwb2xhdGUsIHZhbHVlMSkgeworICB2YXIgc3RyaW5nMDAsCisgICAg
ICBzdHJpbmcxID0gdmFsdWUxICsgIiIsCisgICAgICBpbnRlcnBvbGF0ZTA7CisgIHJldHVybiBm
dW5jdGlvbigpIHsKKyAgICB2YXIgc3RyaW5nMCA9IHRoaXMuZ2V0QXR0cmlidXRlKG5hbWUpOwor
ICAgIHJldHVybiBzdHJpbmcwID09PSBzdHJpbmcxID8gbnVsbAorICAgICAgICA6IHN0cmluZzAg
PT09IHN0cmluZzAwID8gaW50ZXJwb2xhdGUwCisgICAgICAgIDogaW50ZXJwb2xhdGUwID0gaW50
ZXJwb2xhdGUoc3RyaW5nMDAgPSBzdHJpbmcwLCB2YWx1ZTEpOworICB9OworfQorCitmdW5jdGlv
biBhdHRyQ29uc3RhbnROUyQxKGZ1bGxuYW1lLCBpbnRlcnBvbGF0ZSwgdmFsdWUxKSB7CisgIHZh
ciBzdHJpbmcwMCwKKyAgICAgIHN0cmluZzEgPSB2YWx1ZTEgKyAiIiwKKyAgICAgIGludGVycG9s
YXRlMDsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBzdHJpbmcwID0gdGhpcy5nZXRB
dHRyaWJ1dGVOUyhmdWxsbmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWwpOworICAgIHJldHVybiBz
dHJpbmcwID09PSBzdHJpbmcxID8gbnVsbAorICAgICAgICA6IHN0cmluZzAgPT09IHN0cmluZzAw
ID8gaW50ZXJwb2xhdGUwCisgICAgICAgIDogaW50ZXJwb2xhdGUwID0gaW50ZXJwb2xhdGUoc3Ry
aW5nMDAgPSBzdHJpbmcwLCB2YWx1ZTEpOworICB9OworfQorCitmdW5jdGlvbiBhdHRyRnVuY3Rp
b24kMShuYW1lLCBpbnRlcnBvbGF0ZSwgdmFsdWUpIHsKKyAgdmFyIHN0cmluZzAwLAorICAgICAg
c3RyaW5nMTAsCisgICAgICBpbnRlcnBvbGF0ZTA7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAg
ICB2YXIgc3RyaW5nMCwgdmFsdWUxID0gdmFsdWUodGhpcyksIHN0cmluZzE7CisgICAgaWYgKHZh
bHVlMSA9PSBudWxsKSByZXR1cm4gdm9pZCB0aGlzLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTsKKyAg
ICBzdHJpbmcwID0gdGhpcy5nZXRBdHRyaWJ1dGUobmFtZSk7CisgICAgc3RyaW5nMSA9IHZhbHVl
MSArICIiOworICAgIHJldHVybiBzdHJpbmcwID09PSBzdHJpbmcxID8gbnVsbAorICAgICAgICA6
IHN0cmluZzAgPT09IHN0cmluZzAwICYmIHN0cmluZzEgPT09IHN0cmluZzEwID8gaW50ZXJwb2xh
dGUwCisgICAgICAgIDogKHN0cmluZzEwID0gc3RyaW5nMSwgaW50ZXJwb2xhdGUwID0gaW50ZXJw
b2xhdGUoc3RyaW5nMDAgPSBzdHJpbmcwLCB2YWx1ZTEpKTsKKyAgfTsKK30KKworZnVuY3Rpb24g
YXR0ckZ1bmN0aW9uTlMkMShmdWxsbmFtZSwgaW50ZXJwb2xhdGUsIHZhbHVlKSB7CisgIHZhciBz
dHJpbmcwMCwKKyAgICAgIHN0cmluZzEwLAorICAgICAgaW50ZXJwb2xhdGUwOworICByZXR1cm4g
ZnVuY3Rpb24oKSB7CisgICAgdmFyIHN0cmluZzAsIHZhbHVlMSA9IHZhbHVlKHRoaXMpLCBzdHJp
bmcxOworICAgIGlmICh2YWx1ZTEgPT0gbnVsbCkgcmV0dXJuIHZvaWQgdGhpcy5yZW1vdmVBdHRy
aWJ1dGVOUyhmdWxsbmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWwpOworICAgIHN0cmluZzAgPSB0
aGlzLmdldEF0dHJpYnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCk7CisgICAg
c3RyaW5nMSA9IHZhbHVlMSArICIiOworICAgIHJldHVybiBzdHJpbmcwID09PSBzdHJpbmcxID8g
bnVsbAorICAgICAgICA6IHN0cmluZzAgPT09IHN0cmluZzAwICYmIHN0cmluZzEgPT09IHN0cmlu
ZzEwID8gaW50ZXJwb2xhdGUwCisgICAgICAgIDogKHN0cmluZzEwID0gc3RyaW5nMSwgaW50ZXJw
b2xhdGUwID0gaW50ZXJwb2xhdGUoc3RyaW5nMDAgPSBzdHJpbmcwLCB2YWx1ZTEpKTsKKyAgfTsK
K30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl9hdHRyKG5hbWUsIHZhbHVlKSB7CisgIHZhciBmdWxs
bmFtZSA9IG5hbWVzcGFjZShuYW1lKSwgaSA9IGZ1bGxuYW1lID09PSAidHJhbnNmb3JtIiA/IGlu
dGVycG9sYXRlVHJhbnNmb3JtU3ZnIDogaW50ZXJwb2xhdGU7CisgIHJldHVybiB0aGlzLmF0dHJU
d2VlbihuYW1lLCB0eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIKKyAgICAgID8gKGZ1bGxuYW1l
LmxvY2FsID8gYXR0ckZ1bmN0aW9uTlMkMSA6IGF0dHJGdW5jdGlvbiQxKShmdWxsbmFtZSwgaSwg
dHdlZW5WYWx1ZSh0aGlzLCAiYXR0ci4iICsgbmFtZSwgdmFsdWUpKQorICAgICAgOiB2YWx1ZSA9
PSBudWxsID8gKGZ1bGxuYW1lLmxvY2FsID8gYXR0clJlbW92ZU5TJDEgOiBhdHRyUmVtb3ZlJDEp
KGZ1bGxuYW1lKQorICAgICAgOiAoZnVsbG5hbWUubG9jYWwgPyBhdHRyQ29uc3RhbnROUyQxIDog
YXR0ckNvbnN0YW50JDEpKGZ1bGxuYW1lLCBpLCB2YWx1ZSkpOworfQorCitmdW5jdGlvbiBhdHRy
SW50ZXJwb2xhdGUobmFtZSwgaSkgeworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHRoaXMu
c2V0QXR0cmlidXRlKG5hbWUsIGkuY2FsbCh0aGlzLCB0KSk7CisgIH07Cit9CisKK2Z1bmN0aW9u
IGF0dHJJbnRlcnBvbGF0ZU5TKGZ1bGxuYW1lLCBpKSB7CisgIHJldHVybiBmdW5jdGlvbih0KSB7
CisgICAgdGhpcy5zZXRBdHRyaWJ1dGVOUyhmdWxsbmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWws
IGkuY2FsbCh0aGlzLCB0KSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGF0dHJUd2Vlbk5TKGZ1bGxu
YW1lLCB2YWx1ZSkgeworICB2YXIgdDAsIGkwOworICBmdW5jdGlvbiB0d2VlbigpIHsKKyAgICB2
YXIgaSA9IHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKGkgIT09IGkwKSB0
MCA9IChpMCA9IGkpICYmIGF0dHJJbnRlcnBvbGF0ZU5TKGZ1bGxuYW1lLCBpKTsKKyAgICByZXR1
cm4gdDA7CisgIH0KKyAgdHdlZW4uX3ZhbHVlID0gdmFsdWU7CisgIHJldHVybiB0d2VlbjsKK30K
KworZnVuY3Rpb24gYXR0clR3ZWVuKG5hbWUsIHZhbHVlKSB7CisgIHZhciB0MCwgaTA7CisgIGZ1
bmN0aW9uIHR3ZWVuKCkgeworICAgIHZhciBpID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRz
KTsKKyAgICBpZiAoaSAhPT0gaTApIHQwID0gKGkwID0gaSkgJiYgYXR0ckludGVycG9sYXRlKG5h
bWUsIGkpOworICAgIHJldHVybiB0MDsKKyAgfQorICB0d2Vlbi5fdmFsdWUgPSB2YWx1ZTsKKyAg
cmV0dXJuIHR3ZWVuOworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX2F0dHJUd2VlbihuYW1lLCB2
YWx1ZSkgeworICB2YXIga2V5ID0gImF0dHIuIiArIG5hbWU7CisgIGlmIChhcmd1bWVudHMubGVu
Z3RoIDwgMikgcmV0dXJuIChrZXkgPSB0aGlzLnR3ZWVuKGtleSkpICYmIGtleS5fdmFsdWU7Cisg
IGlmICh2YWx1ZSA9PSBudWxsKSByZXR1cm4gdGhpcy50d2VlbihrZXksIG51bGwpOworICBpZiAo
dHlwZW9mIHZhbHVlICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHZhciBmdWxs
bmFtZSA9IG5hbWVzcGFjZShuYW1lKTsKKyAgcmV0dXJuIHRoaXMudHdlZW4oa2V5LCAoZnVsbG5h
bWUubG9jYWwgPyBhdHRyVHdlZW5OUyA6IGF0dHJUd2VlbikoZnVsbG5hbWUsIHZhbHVlKSk7Cit9
CisKK2Z1bmN0aW9uIGRlbGF5RnVuY3Rpb24oaWQsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlv
bigpIHsKKyAgICBpbml0KHRoaXMsIGlkKS5kZWxheSA9ICt2YWx1ZS5hcHBseSh0aGlzLCBhcmd1
bWVudHMpOworICB9OworfQorCitmdW5jdGlvbiBkZWxheUNvbnN0YW50KGlkLCB2YWx1ZSkgewor
ICByZXR1cm4gdmFsdWUgPSArdmFsdWUsIGZ1bmN0aW9uKCkgeworICAgIGluaXQodGhpcywgaWQp
LmRlbGF5ID0gdmFsdWU7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fZGVsYXkodmFs
dWUpIHsKKyAgdmFyIGlkID0gdGhpcy5faWQ7CisKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgK
KyAgICAgID8gdGhpcy5lYWNoKCh0eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIKKyAgICAgICAg
ICA/IGRlbGF5RnVuY3Rpb24KKyAgICAgICAgICA6IGRlbGF5Q29uc3RhbnQpKGlkLCB2YWx1ZSkp
CisgICAgICA6IGdldCQxKHRoaXMubm9kZSgpLCBpZCkuZGVsYXk7Cit9CisKK2Z1bmN0aW9uIGR1
cmF0aW9uRnVuY3Rpb24oaWQsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICBz
ZXQkMSh0aGlzLCBpZCkuZHVyYXRpb24gPSArdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsK
KyAgfTsKK30KKworZnVuY3Rpb24gZHVyYXRpb25Db25zdGFudChpZCwgdmFsdWUpIHsKKyAgcmV0
dXJuIHZhbHVlID0gK3ZhbHVlLCBmdW5jdGlvbigpIHsKKyAgICBzZXQkMSh0aGlzLCBpZCkuZHVy
YXRpb24gPSB2YWx1ZTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl9kdXJhdGlvbih2
YWx1ZSkgeworICB2YXIgaWQgPSB0aGlzLl9pZDsKKworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0
aAorICAgICAgPyB0aGlzLmVhY2goKHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAgICAg
ICAgID8gZHVyYXRpb25GdW5jdGlvbgorICAgICAgICAgIDogZHVyYXRpb25Db25zdGFudCkoaWQs
IHZhbHVlKSkKKyAgICAgIDogZ2V0JDEodGhpcy5ub2RlKCksIGlkKS5kdXJhdGlvbjsKK30KKwor
ZnVuY3Rpb24gZWFzZUNvbnN0YW50KGlkLCB2YWx1ZSkgeworICBpZiAodHlwZW9mIHZhbHVlICE9
PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAg
ICBzZXQkMSh0aGlzLCBpZCkuZWFzZSA9IHZhbHVlOworICB9OworfQorCitmdW5jdGlvbiB0cmFu
c2l0aW9uX2Vhc2UodmFsdWUpIHsKKyAgdmFyIGlkID0gdGhpcy5faWQ7CisKKyAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGgKKyAgICAgID8gdGhpcy5lYWNoKGVhc2VDb25zdGFudChpZCwgdmFsdWUp
KQorICAgICAgOiBnZXQkMSh0aGlzLm5vZGUoKSwgaWQpLmVhc2U7Cit9CisKK2Z1bmN0aW9uIHRy
YW5zaXRpb25fZmlsdGVyKG1hdGNoKSB7CisgIGlmICh0eXBlb2YgbWF0Y2ggIT09ICJmdW5jdGlv
biIpIG1hdGNoID0gbWF0Y2hlcihtYXRjaCk7CisKKyAgZm9yICh2YXIgZ3JvdXBzID0gdGhpcy5f
Z3JvdXBzLCBtID0gZ3JvdXBzLmxlbmd0aCwgc3ViZ3JvdXBzID0gbmV3IEFycmF5KG0pLCBqID0g
MDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwID0gZ3JvdXBzW2pdLCBuID0gZ3Jv
dXAubGVuZ3RoLCBzdWJncm91cCA9IHN1Ymdyb3Vwc1tqXSA9IFtdLCBub2RlLCBpID0gMDsgaSA8
IG47ICsraSkgeworICAgICAgaWYgKChub2RlID0gZ3JvdXBbaV0pICYmIG1hdGNoLmNhbGwobm9k
ZSwgbm9kZS5fX2RhdGFfXywgaSwgZ3JvdXApKSB7CisgICAgICAgIHN1Ymdyb3VwLnB1c2gobm9k
ZSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIG5ldyBUcmFuc2l0aW9uKHN1Ymdy
b3VwcywgdGhpcy5fcGFyZW50cywgdGhpcy5fbmFtZSwgdGhpcy5faWQpOworfQorCitmdW5jdGlv
biB0cmFuc2l0aW9uX21lcmdlKHRyYW5zaXRpb24pIHsKKyAgaWYgKHRyYW5zaXRpb24uX2lkICE9
PSB0aGlzLl9pZCkgdGhyb3cgbmV3IEVycm9yOworCisgIGZvciAodmFyIGdyb3VwczAgPSB0aGlz
Ll9ncm91cHMsIGdyb3VwczEgPSB0cmFuc2l0aW9uLl9ncm91cHMsIG0wID0gZ3JvdXBzMC5sZW5n
dGgsIG0xID0gZ3JvdXBzMS5sZW5ndGgsIG0gPSBNYXRoLm1pbihtMCwgbTEpLCBtZXJnZXMgPSBu
ZXcgQXJyYXkobTApLCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwMCA9
IGdyb3VwczBbal0sIGdyb3VwMSA9IGdyb3VwczFbal0sIG4gPSBncm91cDAubGVuZ3RoLCBtZXJn
ZSA9IG1lcmdlc1tqXSA9IG5ldyBBcnJheShuKSwgbm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsK
KyAgICAgIGlmIChub2RlID0gZ3JvdXAwW2ldIHx8IGdyb3VwMVtpXSkgeworICAgICAgICBtZXJn
ZVtpXSA9IG5vZGU7CisgICAgICB9CisgICAgfQorICB9CisKKyAgZm9yICg7IGogPCBtMDsgKytq
KSB7CisgICAgbWVyZ2VzW2pdID0gZ3JvdXBzMFtqXTsKKyAgfQorCisgIHJldHVybiBuZXcgVHJh
bnNpdGlvbihtZXJnZXMsIHRoaXMuX3BhcmVudHMsIHRoaXMuX25hbWUsIHRoaXMuX2lkKTsKK30K
KworZnVuY3Rpb24gc3RhcnQobmFtZSkgeworICByZXR1cm4gKG5hbWUgKyAiIikudHJpbSgpLnNw
bGl0KC9efFxzKy8pLmV2ZXJ5KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgaSA9IHQuaW5kZXhPZigi
LiIpOworICAgIGlmIChpID49IDApIHQgPSB0LnNsaWNlKDAsIGkpOworICAgIHJldHVybiAhdCB8
fCB0ID09PSAic3RhcnQiOworICB9KTsKK30KKworZnVuY3Rpb24gb25GdW5jdGlvbihpZCwgbmFt
ZSwgbGlzdGVuZXIpIHsKKyAgdmFyIG9uMCwgb24xLCBzaXQgPSBzdGFydChuYW1lKSA/IGluaXQg
OiBzZXQkMTsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBzY2hlZHVsZSA9IHNpdCh0
aGlzLCBpZCksCisgICAgICAgIG9uID0gc2NoZWR1bGUub247CisKKyAgICAvLyBJZiB0aGlzIG5v
ZGUgc2hhcmVkIGEgZGlzcGF0Y2ggd2l0aCB0aGUgcHJldmlvdXMgbm9kZSwKKyAgICAvLyBqdXN0
IGFzc2lnbiB0aGUgdXBkYXRlZCBzaGFyZWQgZGlzcGF0Y2ggYW5kIHdl4oCZcmUgZG9uZSEKKyAg
ICAvLyBPdGhlcndpc2UsIGNvcHktb24td3JpdGUuCisgICAgaWYgKG9uICE9PSBvbjApIChvbjEg
PSAob24wID0gb24pLmNvcHkoKSkub24obmFtZSwgbGlzdGVuZXIpOworCisgICAgc2NoZWR1bGUu
b24gPSBvbjE7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fb24obmFtZSwgbGlzdGVu
ZXIpIHsKKyAgdmFyIGlkID0gdGhpcy5faWQ7CisKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PCAyCisgICAgICA/IGdldCQxKHRoaXMubm9kZSgpLCBpZCkub24ub24obmFtZSkKKyAgICAgIDog
dGhpcy5lYWNoKG9uRnVuY3Rpb24oaWQsIG5hbWUsIGxpc3RlbmVyKSk7Cit9CisKK2Z1bmN0aW9u
IHJlbW92ZUZ1bmN0aW9uKGlkKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgcGFy
ZW50ID0gdGhpcy5wYXJlbnROb2RlOworICAgIGZvciAodmFyIGkgaW4gdGhpcy5fX3RyYW5zaXRp
b24pIGlmICgraSAhPT0gaWQpIHJldHVybjsKKyAgICBpZiAocGFyZW50KSBwYXJlbnQucmVtb3Zl
Q2hpbGQodGhpcyk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fcmVtb3ZlKCkgewor
ICByZXR1cm4gdGhpcy5vbigiZW5kLnJlbW92ZSIsIHJlbW92ZUZ1bmN0aW9uKHRoaXMuX2lkKSk7
Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fc2VsZWN0KHNlbGVjdCkgeworICB2YXIgbmFtZSA9
IHRoaXMuX25hbWUsCisgICAgICBpZCA9IHRoaXMuX2lkOworCisgIGlmICh0eXBlb2Ygc2VsZWN0
ICE9PSAiZnVuY3Rpb24iKSBzZWxlY3QgPSBzZWxlY3RvcihzZWxlY3QpOworCisgIGZvciAodmFy
IGdyb3VwcyA9IHRoaXMuX2dyb3VwcywgbSA9IGdyb3Vwcy5sZW5ndGgsIHN1Ymdyb3VwcyA9IG5l
dyBBcnJheShtKSwgaiA9IDA7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdy
b3Vwc1tqXSwgbiA9IGdyb3VwLmxlbmd0aCwgc3ViZ3JvdXAgPSBzdWJncm91cHNbal0gPSBuZXcg
QXJyYXkobiksIG5vZGUsIHN1Ym5vZGUsIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAo
KG5vZGUgPSBncm91cFtpXSkgJiYgKHN1Ym5vZGUgPSBzZWxlY3QuY2FsbChub2RlLCBub2RlLl9f
ZGF0YV9fLCBpLCBncm91cCkpKSB7CisgICAgICAgIGlmICgiX19kYXRhX18iIGluIG5vZGUpIHN1
Ym5vZGUuX19kYXRhX18gPSBub2RlLl9fZGF0YV9fOworICAgICAgICBzdWJncm91cFtpXSA9IHN1
Ym5vZGU7CisgICAgICAgIHNjaGVkdWxlKHN1Ymdyb3VwW2ldLCBuYW1lLCBpZCwgaSwgc3ViZ3Jv
dXAsIGdldCQxKG5vZGUsIGlkKSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIG5l
dyBUcmFuc2l0aW9uKHN1Ymdyb3VwcywgdGhpcy5fcGFyZW50cywgbmFtZSwgaWQpOworfQorCitm
dW5jdGlvbiB0cmFuc2l0aW9uX3NlbGVjdEFsbChzZWxlY3QpIHsKKyAgdmFyIG5hbWUgPSB0aGlz
Ll9uYW1lLAorICAgICAgaWQgPSB0aGlzLl9pZDsKKworICBpZiAodHlwZW9mIHNlbGVjdCAhPT0g
ImZ1bmN0aW9uIikgc2VsZWN0ID0gc2VsZWN0b3JBbGwoc2VsZWN0KTsKKworICBmb3IgKHZhciBn
cm91cHMgPSB0aGlzLl9ncm91cHMsIG0gPSBncm91cHMubGVuZ3RoLCBzdWJncm91cHMgPSBbXSwg
cGFyZW50cyA9IFtdLCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwID0g
Z3JvdXBzW2pdLCBuID0gZ3JvdXAubGVuZ3RoLCBub2RlLCBpID0gMDsgaSA8IG47ICsraSkgewor
ICAgICAgaWYgKG5vZGUgPSBncm91cFtpXSkgeworICAgICAgICBmb3IgKHZhciBjaGlsZHJlbiA9
IHNlbGVjdC5jYWxsKG5vZGUsIG5vZGUuX19kYXRhX18sIGksIGdyb3VwKSwgY2hpbGQsIGluaGVy
aXQgPSBnZXQkMShub2RlLCBpZCksIGsgPSAwLCBsID0gY2hpbGRyZW4ubGVuZ3RoOyBrIDwgbDsg
KytrKSB7CisgICAgICAgICAgaWYgKGNoaWxkID0gY2hpbGRyZW5ba10pIHsKKyAgICAgICAgICAg
IHNjaGVkdWxlKGNoaWxkLCBuYW1lLCBpZCwgaywgY2hpbGRyZW4sIGluaGVyaXQpOworICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgICAgICBzdWJncm91cHMucHVzaChjaGlsZHJlbik7CisgICAg
ICAgIHBhcmVudHMucHVzaChub2RlKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4g
bmV3IFRyYW5zaXRpb24oc3ViZ3JvdXBzLCBwYXJlbnRzLCBuYW1lLCBpZCk7Cit9CisKK3ZhciBT
ZWxlY3Rpb24kMSA9IHNlbGVjdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3I7CisKK2Z1bmN0aW9u
IHRyYW5zaXRpb25fc2VsZWN0aW9uKCkgeworICByZXR1cm4gbmV3IFNlbGVjdGlvbiQxKHRoaXMu
X2dyb3VwcywgdGhpcy5fcGFyZW50cyk7Cit9CisKK2Z1bmN0aW9uIHN0eWxlTnVsbChuYW1lLCBp
bnRlcnBvbGF0ZSkgeworICB2YXIgc3RyaW5nMDAsCisgICAgICBzdHJpbmcxMCwKKyAgICAgIGlu
dGVycG9sYXRlMDsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBzdHJpbmcwID0gc3R5
bGVWYWx1ZSh0aGlzLCBuYW1lKSwKKyAgICAgICAgc3RyaW5nMSA9ICh0aGlzLnN0eWxlLnJlbW92
ZVByb3BlcnR5KG5hbWUpLCBzdHlsZVZhbHVlKHRoaXMsIG5hbWUpKTsKKyAgICByZXR1cm4gc3Ry
aW5nMCA9PT0gc3RyaW5nMSA/IG51bGwKKyAgICAgICAgOiBzdHJpbmcwID09PSBzdHJpbmcwMCAm
JiBzdHJpbmcxID09PSBzdHJpbmcxMCA/IGludGVycG9sYXRlMAorICAgICAgICA6IGludGVycG9s
YXRlMCA9IGludGVycG9sYXRlKHN0cmluZzAwID0gc3RyaW5nMCwgc3RyaW5nMTAgPSBzdHJpbmcx
KTsKKyAgfTsKK30KKworZnVuY3Rpb24gc3R5bGVSZW1vdmUkMShuYW1lKSB7CisgIHJldHVybiBm
dW5jdGlvbigpIHsKKyAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KG5hbWUpOworICB9Owor
fQorCitmdW5jdGlvbiBzdHlsZUNvbnN0YW50JDEobmFtZSwgaW50ZXJwb2xhdGUsIHZhbHVlMSkg
eworICB2YXIgc3RyaW5nMDAsCisgICAgICBzdHJpbmcxID0gdmFsdWUxICsgIiIsCisgICAgICBp
bnRlcnBvbGF0ZTA7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgc3RyaW5nMCA9IHN0
eWxlVmFsdWUodGhpcywgbmFtZSk7CisgICAgcmV0dXJuIHN0cmluZzAgPT09IHN0cmluZzEgPyBu
dWxsCisgICAgICAgIDogc3RyaW5nMCA9PT0gc3RyaW5nMDAgPyBpbnRlcnBvbGF0ZTAKKyAgICAg
ICAgOiBpbnRlcnBvbGF0ZTAgPSBpbnRlcnBvbGF0ZShzdHJpbmcwMCA9IHN0cmluZzAsIHZhbHVl
MSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHN0eWxlRnVuY3Rpb24kMShuYW1lLCBpbnRlcnBvbGF0
ZSwgdmFsdWUpIHsKKyAgdmFyIHN0cmluZzAwLAorICAgICAgc3RyaW5nMTAsCisgICAgICBpbnRl
cnBvbGF0ZTA7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgc3RyaW5nMCA9IHN0eWxl
VmFsdWUodGhpcywgbmFtZSksCisgICAgICAgIHZhbHVlMSA9IHZhbHVlKHRoaXMpLAorICAgICAg
ICBzdHJpbmcxID0gdmFsdWUxICsgIiI7CisgICAgaWYgKHZhbHVlMSA9PSBudWxsKSBzdHJpbmcx
ID0gdmFsdWUxID0gKHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkobmFtZSksIHN0eWxlVmFsdWUo
dGhpcywgbmFtZSkpOworICAgIHJldHVybiBzdHJpbmcwID09PSBzdHJpbmcxID8gbnVsbAorICAg
ICAgICA6IHN0cmluZzAgPT09IHN0cmluZzAwICYmIHN0cmluZzEgPT09IHN0cmluZzEwID8gaW50
ZXJwb2xhdGUwCisgICAgICAgIDogKHN0cmluZzEwID0gc3RyaW5nMSwgaW50ZXJwb2xhdGUwID0g
aW50ZXJwb2xhdGUoc3RyaW5nMDAgPSBzdHJpbmcwLCB2YWx1ZTEpKTsKKyAgfTsKK30KKworZnVu
Y3Rpb24gc3R5bGVNYXliZVJlbW92ZShpZCwgbmFtZSkgeworICB2YXIgb24wLCBvbjEsIGxpc3Rl
bmVyMCwga2V5ID0gInN0eWxlLiIgKyBuYW1lLCBldmVudCA9ICJlbmQuIiArIGtleSwgcmVtb3Zl
OworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHNjaGVkdWxlID0gc2V0JDEodGhpcywg
aWQpLAorICAgICAgICBvbiA9IHNjaGVkdWxlLm9uLAorICAgICAgICBsaXN0ZW5lciA9IHNjaGVk
dWxlLnZhbHVlW2tleV0gPT0gbnVsbCA/IHJlbW92ZSB8fCAocmVtb3ZlID0gc3R5bGVSZW1vdmUk
MShuYW1lKSkgOiB1bmRlZmluZWQ7CisKKyAgICAvLyBJZiB0aGlzIG5vZGUgc2hhcmVkIGEgZGlz
cGF0Y2ggd2l0aCB0aGUgcHJldmlvdXMgbm9kZSwKKyAgICAvLyBqdXN0IGFzc2lnbiB0aGUgdXBk
YXRlZCBzaGFyZWQgZGlzcGF0Y2ggYW5kIHdl4oCZcmUgZG9uZSEKKyAgICAvLyBPdGhlcndpc2Us
IGNvcHktb24td3JpdGUuCisgICAgaWYgKG9uICE9PSBvbjAgfHwgbGlzdGVuZXIwICE9PSBsaXN0
ZW5lcikgKG9uMSA9IChvbjAgPSBvbikuY29weSgpKS5vbihldmVudCwgbGlzdGVuZXIwID0gbGlz
dGVuZXIpOworCisgICAgc2NoZWR1bGUub24gPSBvbjE7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRy
YW5zaXRpb25fc3R5bGUobmFtZSwgdmFsdWUsIHByaW9yaXR5KSB7CisgIHZhciBpID0gKG5hbWUg
Kz0gIiIpID09PSAidHJhbnNmb3JtIiA/IGludGVycG9sYXRlVHJhbnNmb3JtQ3NzIDogaW50ZXJw
b2xhdGU7CisgIHJldHVybiB2YWx1ZSA9PSBudWxsID8gdGhpcworICAgICAgLnN0eWxlVHdlZW4o
bmFtZSwgc3R5bGVOdWxsKG5hbWUsIGkpKQorICAgICAgLm9uKCJlbmQuc3R5bGUuIiArIG5hbWUs
IHN0eWxlUmVtb3ZlJDEobmFtZSkpCisgICAgOiB0eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIg
PyB0aGlzCisgICAgICAuc3R5bGVUd2VlbihuYW1lLCBzdHlsZUZ1bmN0aW9uJDEobmFtZSwgaSwg
dHdlZW5WYWx1ZSh0aGlzLCAic3R5bGUuIiArIG5hbWUsIHZhbHVlKSkpCisgICAgICAuZWFjaChz
dHlsZU1heWJlUmVtb3ZlKHRoaXMuX2lkLCBuYW1lKSkKKyAgICA6IHRoaXMKKyAgICAgIC5zdHls
ZVR3ZWVuKG5hbWUsIHN0eWxlQ29uc3RhbnQkMShuYW1lLCBpLCB2YWx1ZSksIHByaW9yaXR5KQor
ICAgICAgLm9uKCJlbmQuc3R5bGUuIiArIG5hbWUsIG51bGwpOworfQorCitmdW5jdGlvbiBzdHls
ZUludGVycG9sYXRlKG5hbWUsIGksIHByaW9yaXR5KSB7CisgIHJldHVybiBmdW5jdGlvbih0KSB7
CisgICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eShuYW1lLCBpLmNhbGwodGhpcywgdCksIHByaW9y
aXR5KTsKKyAgfTsKK30KKworZnVuY3Rpb24gc3R5bGVUd2VlbihuYW1lLCB2YWx1ZSwgcHJpb3Jp
dHkpIHsKKyAgdmFyIHQsIGkwOworICBmdW5jdGlvbiB0d2VlbigpIHsKKyAgICB2YXIgaSA9IHZh
bHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKGkgIT09IGkwKSB0ID0gKGkwID0g
aSkgJiYgc3R5bGVJbnRlcnBvbGF0ZShuYW1lLCBpLCBwcmlvcml0eSk7CisgICAgcmV0dXJuIHQ7
CisgIH0KKyAgdHdlZW4uX3ZhbHVlID0gdmFsdWU7CisgIHJldHVybiB0d2VlbjsKK30KKworZnVu
Y3Rpb24gdHJhbnNpdGlvbl9zdHlsZVR3ZWVuKG5hbWUsIHZhbHVlLCBwcmlvcml0eSkgeworICB2
YXIga2V5ID0gInN0eWxlLiIgKyAobmFtZSArPSAiIik7CisgIGlmIChhcmd1bWVudHMubGVuZ3Ro
IDwgMikgcmV0dXJuIChrZXkgPSB0aGlzLnR3ZWVuKGtleSkpICYmIGtleS5fdmFsdWU7CisgIGlm
ICh2YWx1ZSA9PSBudWxsKSByZXR1cm4gdGhpcy50d2VlbihrZXksIG51bGwpOworICBpZiAodHlw
ZW9mIHZhbHVlICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHJldHVybiB0aGlz
LnR3ZWVuKGtleSwgc3R5bGVUd2VlbihuYW1lLCB2YWx1ZSwgcHJpb3JpdHkgPT0gbnVsbCA/ICIi
IDogcHJpb3JpdHkpKTsKK30KKworZnVuY3Rpb24gdGV4dENvbnN0YW50JDEodmFsdWUpIHsKKyAg
cmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXMudGV4dENvbnRlbnQgPSB2YWx1ZTsKKyAgfTsK
K30KKworZnVuY3Rpb24gdGV4dEZ1bmN0aW9uJDEodmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9u
KCkgeworICAgIHZhciB2YWx1ZTEgPSB2YWx1ZSh0aGlzKTsKKyAgICB0aGlzLnRleHRDb250ZW50
ID0gdmFsdWUxID09IG51bGwgPyAiIiA6IHZhbHVlMTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJh
bnNpdGlvbl90ZXh0KHZhbHVlKSB7CisgIHJldHVybiB0aGlzLnR3ZWVuKCJ0ZXh0IiwgdHlwZW9m
IHZhbHVlID09PSAiZnVuY3Rpb24iCisgICAgICA/IHRleHRGdW5jdGlvbiQxKHR3ZWVuVmFsdWUo
dGhpcywgInRleHQiLCB2YWx1ZSkpCisgICAgICA6IHRleHRDb25zdGFudCQxKHZhbHVlID09IG51
bGwgPyAiIiA6IHZhbHVlICsgIiIpKTsKK30KKworZnVuY3Rpb24gdGV4dEludGVycG9sYXRlKGkp
IHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICB0aGlzLnRleHRDb250ZW50ID0gaS5jYWxs
KHRoaXMsIHQpOworICB9OworfQorCitmdW5jdGlvbiB0ZXh0VHdlZW4odmFsdWUpIHsKKyAgdmFy
IHQwLCBpMDsKKyAgZnVuY3Rpb24gdHdlZW4oKSB7CisgICAgdmFyIGkgPSB2YWx1ZS5hcHBseSh0
aGlzLCBhcmd1bWVudHMpOworICAgIGlmIChpICE9PSBpMCkgdDAgPSAoaTAgPSBpKSAmJiB0ZXh0
SW50ZXJwb2xhdGUoaSk7CisgICAgcmV0dXJuIHQwOworICB9CisgIHR3ZWVuLl92YWx1ZSA9IHZh
bHVlOworICByZXR1cm4gdHdlZW47Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fdGV4dFR3ZWVu
KHZhbHVlKSB7CisgIHZhciBrZXkgPSAidGV4dCI7CisgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwg
MSkgcmV0dXJuIChrZXkgPSB0aGlzLnR3ZWVuKGtleSkpICYmIGtleS5fdmFsdWU7CisgIGlmICh2
YWx1ZSA9PSBudWxsKSByZXR1cm4gdGhpcy50d2VlbihrZXksIG51bGwpOworICBpZiAodHlwZW9m
IHZhbHVlICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHJldHVybiB0aGlzLnR3
ZWVuKGtleSwgdGV4dFR3ZWVuKHZhbHVlKSk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fdHJh
bnNpdGlvbigpIHsKKyAgdmFyIG5hbWUgPSB0aGlzLl9uYW1lLAorICAgICAgaWQwID0gdGhpcy5f
aWQsCisgICAgICBpZDEgPSBuZXdJZCgpOworCisgIGZvciAodmFyIGdyb3VwcyA9IHRoaXMuX2dy
b3VwcywgbSA9IGdyb3Vwcy5sZW5ndGgsIGogPSAwOyBqIDwgbTsgKytqKSB7CisgICAgZm9yICh2
YXIgZ3JvdXAgPSBncm91cHNbal0sIG4gPSBncm91cC5sZW5ndGgsIG5vZGUsIGkgPSAwOyBpIDwg
bjsgKytpKSB7CisgICAgICBpZiAobm9kZSA9IGdyb3VwW2ldKSB7CisgICAgICAgIHZhciBpbmhl
cml0ID0gZ2V0JDEobm9kZSwgaWQwKTsKKyAgICAgICAgc2NoZWR1bGUobm9kZSwgbmFtZSwgaWQx
LCBpLCBncm91cCwgeworICAgICAgICAgIHRpbWU6IGluaGVyaXQudGltZSArIGluaGVyaXQuZGVs
YXkgKyBpbmhlcml0LmR1cmF0aW9uLAorICAgICAgICAgIGRlbGF5OiAwLAorICAgICAgICAgIGR1
cmF0aW9uOiBpbmhlcml0LmR1cmF0aW9uLAorICAgICAgICAgIGVhc2U6IGluaGVyaXQuZWFzZQor
ICAgICAgICB9KTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gbmV3IFRyYW5zaXRp
b24oZ3JvdXBzLCB0aGlzLl9wYXJlbnRzLCBuYW1lLCBpZDEpOworfQorCitmdW5jdGlvbiB0cmFu
c2l0aW9uX2VuZCgpIHsKKyAgdmFyIG9uMCwgb24xLCB0aGF0ID0gdGhpcywgaWQgPSB0aGF0Ll9p
ZCwgc2l6ZSA9IHRoYXQuc2l6ZSgpOworICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSwgcmVqZWN0KSB7CisgICAgdmFyIGNhbmNlbCA9IHt2YWx1ZTogcmVqZWN0fSwKKyAgICAg
ICAgZW5kID0ge3ZhbHVlOiBmdW5jdGlvbigpIHsgaWYgKC0tc2l6ZSA9PT0gMCkgcmVzb2x2ZSgp
OyB9fTsKKworICAgIHRoYXQuZWFjaChmdW5jdGlvbigpIHsKKyAgICAgIHZhciBzY2hlZHVsZSA9
IHNldCQxKHRoaXMsIGlkKSwKKyAgICAgICAgICBvbiA9IHNjaGVkdWxlLm9uOworCisgICAgICAv
LyBJZiB0aGlzIG5vZGUgc2hhcmVkIGEgZGlzcGF0Y2ggd2l0aCB0aGUgcHJldmlvdXMgbm9kZSwK
KyAgICAgIC8vIGp1c3QgYXNzaWduIHRoZSB1cGRhdGVkIHNoYXJlZCBkaXNwYXRjaCBhbmQgd2Xi
gJlyZSBkb25lIQorICAgICAgLy8gT3RoZXJ3aXNlLCBjb3B5LW9uLXdyaXRlLgorICAgICAgaWYg
KG9uICE9PSBvbjApIHsKKyAgICAgICAgb24xID0gKG9uMCA9IG9uKS5jb3B5KCk7CisgICAgICAg
IG9uMS5fLmNhbmNlbC5wdXNoKGNhbmNlbCk7CisgICAgICAgIG9uMS5fLmludGVycnVwdC5wdXNo
KGNhbmNlbCk7CisgICAgICAgIG9uMS5fLmVuZC5wdXNoKGVuZCk7CisgICAgICB9CisKKyAgICAg
IHNjaGVkdWxlLm9uID0gb24xOworICAgIH0pOworICB9KTsKK30KKwordmFyIGlkID0gMDsKKwor
ZnVuY3Rpb24gVHJhbnNpdGlvbihncm91cHMsIHBhcmVudHMsIG5hbWUsIGlkKSB7CisgIHRoaXMu
X2dyb3VwcyA9IGdyb3VwczsKKyAgdGhpcy5fcGFyZW50cyA9IHBhcmVudHM7CisgIHRoaXMuX25h
bWUgPSBuYW1lOworICB0aGlzLl9pZCA9IGlkOworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uKG5h
bWUpIHsKKyAgcmV0dXJuIHNlbGVjdGlvbigpLnRyYW5zaXRpb24obmFtZSk7Cit9CisKK2Z1bmN0
aW9uIG5ld0lkKCkgeworICByZXR1cm4gKytpZDsKK30KKwordmFyIHNlbGVjdGlvbl9wcm90b3R5
cGUgPSBzZWxlY3Rpb24ucHJvdG90eXBlOworCitUcmFuc2l0aW9uLnByb3RvdHlwZSA9IHRyYW5z
aXRpb24ucHJvdG90eXBlID0geworICBjb25zdHJ1Y3RvcjogVHJhbnNpdGlvbiwKKyAgc2VsZWN0
OiB0cmFuc2l0aW9uX3NlbGVjdCwKKyAgc2VsZWN0QWxsOiB0cmFuc2l0aW9uX3NlbGVjdEFsbCwK
KyAgZmlsdGVyOiB0cmFuc2l0aW9uX2ZpbHRlciwKKyAgbWVyZ2U6IHRyYW5zaXRpb25fbWVyZ2Us
CisgIHNlbGVjdGlvbjogdHJhbnNpdGlvbl9zZWxlY3Rpb24sCisgIHRyYW5zaXRpb246IHRyYW5z
aXRpb25fdHJhbnNpdGlvbiwKKyAgY2FsbDogc2VsZWN0aW9uX3Byb3RvdHlwZS5jYWxsLAorICBu
b2Rlczogc2VsZWN0aW9uX3Byb3RvdHlwZS5ub2RlcywKKyAgbm9kZTogc2VsZWN0aW9uX3Byb3Rv
dHlwZS5ub2RlLAorICBzaXplOiBzZWxlY3Rpb25fcHJvdG90eXBlLnNpemUsCisgIGVtcHR5OiBz
ZWxlY3Rpb25fcHJvdG90eXBlLmVtcHR5LAorICBlYWNoOiBzZWxlY3Rpb25fcHJvdG90eXBlLmVh
Y2gsCisgIG9uOiB0cmFuc2l0aW9uX29uLAorICBhdHRyOiB0cmFuc2l0aW9uX2F0dHIsCisgIGF0
dHJUd2VlbjogdHJhbnNpdGlvbl9hdHRyVHdlZW4sCisgIHN0eWxlOiB0cmFuc2l0aW9uX3N0eWxl
LAorICBzdHlsZVR3ZWVuOiB0cmFuc2l0aW9uX3N0eWxlVHdlZW4sCisgIHRleHQ6IHRyYW5zaXRp
b25fdGV4dCwKKyAgdGV4dFR3ZWVuOiB0cmFuc2l0aW9uX3RleHRUd2VlbiwKKyAgcmVtb3ZlOiB0
cmFuc2l0aW9uX3JlbW92ZSwKKyAgdHdlZW46IHRyYW5zaXRpb25fdHdlZW4sCisgIGRlbGF5OiB0
cmFuc2l0aW9uX2RlbGF5LAorICBkdXJhdGlvbjogdHJhbnNpdGlvbl9kdXJhdGlvbiwKKyAgZWFz
ZTogdHJhbnNpdGlvbl9lYXNlLAorICBlbmQ6IHRyYW5zaXRpb25fZW5kCit9OworCitmdW5jdGlv
biBsaW5lYXIkMSh0KSB7CisgIHJldHVybiArdDsKK30KKworZnVuY3Rpb24gcXVhZEluKHQpIHsK
KyAgcmV0dXJuIHQgKiB0OworfQorCitmdW5jdGlvbiBxdWFkT3V0KHQpIHsKKyAgcmV0dXJuIHQg
KiAoMiAtIHQpOworfQorCitmdW5jdGlvbiBxdWFkSW5PdXQodCkgeworICByZXR1cm4gKCh0ICo9
IDIpIDw9IDEgPyB0ICogdCA6IC0tdCAqICgyIC0gdCkgKyAxKSAvIDI7Cit9CisKK2Z1bmN0aW9u
IGN1YmljSW4odCkgeworICByZXR1cm4gdCAqIHQgKiB0OworfQorCitmdW5jdGlvbiBjdWJpY091
dCh0KSB7CisgIHJldHVybiAtLXQgKiB0ICogdCArIDE7Cit9CisKK2Z1bmN0aW9uIGN1YmljSW5P
dXQodCkgeworICByZXR1cm4gKCh0ICo9IDIpIDw9IDEgPyB0ICogdCAqIHQgOiAodCAtPSAyKSAq
IHQgKiB0ICsgMikgLyAyOworfQorCit2YXIgZXhwb25lbnQgPSAzOworCit2YXIgcG9seUluID0g
KGZ1bmN0aW9uIGN1c3RvbShlKSB7CisgIGUgPSArZTsKKworICBmdW5jdGlvbiBwb2x5SW4odCkg
eworICAgIHJldHVybiBNYXRoLnBvdyh0LCBlKTsKKyAgfQorCisgIHBvbHlJbi5leHBvbmVudCA9
IGN1c3RvbTsKKworICByZXR1cm4gcG9seUluOworfSkoZXhwb25lbnQpOworCit2YXIgcG9seU91
dCA9IChmdW5jdGlvbiBjdXN0b20oZSkgeworICBlID0gK2U7CisKKyAgZnVuY3Rpb24gcG9seU91
dCh0KSB7CisgICAgcmV0dXJuIDEgLSBNYXRoLnBvdygxIC0gdCwgZSk7CisgIH0KKworICBwb2x5
T3V0LmV4cG9uZW50ID0gY3VzdG9tOworCisgIHJldHVybiBwb2x5T3V0OworfSkoZXhwb25lbnQp
OworCit2YXIgcG9seUluT3V0ID0gKGZ1bmN0aW9uIGN1c3RvbShlKSB7CisgIGUgPSArZTsKKwor
ICBmdW5jdGlvbiBwb2x5SW5PdXQodCkgeworICAgIHJldHVybiAoKHQgKj0gMikgPD0gMSA/IE1h
dGgucG93KHQsIGUpIDogMiAtIE1hdGgucG93KDIgLSB0LCBlKSkgLyAyOworICB9CisKKyAgcG9s
eUluT3V0LmV4cG9uZW50ID0gY3VzdG9tOworCisgIHJldHVybiBwb2x5SW5PdXQ7Cit9KShleHBv
bmVudCk7CisKK3ZhciBwaSA9IE1hdGguUEksCisgICAgaGFsZlBpID0gcGkgLyAyOworCitmdW5j
dGlvbiBzaW5Jbih0KSB7CisgIHJldHVybiAxIC0gTWF0aC5jb3ModCAqIGhhbGZQaSk7Cit9CisK
K2Z1bmN0aW9uIHNpbk91dCh0KSB7CisgIHJldHVybiBNYXRoLnNpbih0ICogaGFsZlBpKTsKK30K
KworZnVuY3Rpb24gc2luSW5PdXQodCkgeworICByZXR1cm4gKDEgLSBNYXRoLmNvcyhwaSAqIHQp
KSAvIDI7Cit9CisKK2Z1bmN0aW9uIGV4cEluKHQpIHsKKyAgcmV0dXJuIE1hdGgucG93KDIsIDEw
ICogdCAtIDEwKTsKK30KKworZnVuY3Rpb24gZXhwT3V0KHQpIHsKKyAgcmV0dXJuIDEgLSBNYXRo
LnBvdygyLCAtMTAgKiB0KTsKK30KKworZnVuY3Rpb24gZXhwSW5PdXQodCkgeworICByZXR1cm4g
KCh0ICo9IDIpIDw9IDEgPyBNYXRoLnBvdygyLCAxMCAqIHQgLSAxMCkgOiAyIC0gTWF0aC5wb3co
MiwgMTAgLSAxMCAqIHQpKSAvIDI7Cit9CisKK2Z1bmN0aW9uIGNpcmNsZUluKHQpIHsKKyAgcmV0
dXJuIDEgLSBNYXRoLnNxcnQoMSAtIHQgKiB0KTsKK30KKworZnVuY3Rpb24gY2lyY2xlT3V0KHQp
IHsKKyAgcmV0dXJuIE1hdGguc3FydCgxIC0gLS10ICogdCk7Cit9CisKK2Z1bmN0aW9uIGNpcmNs
ZUluT3V0KHQpIHsKKyAgcmV0dXJuICgodCAqPSAyKSA8PSAxID8gMSAtIE1hdGguc3FydCgxIC0g
dCAqIHQpIDogTWF0aC5zcXJ0KDEgLSAodCAtPSAyKSAqIHQpICsgMSkgLyAyOworfQorCit2YXIg
YjEgPSA0IC8gMTEsCisgICAgYjIgPSA2IC8gMTEsCisgICAgYjMgPSA4IC8gMTEsCisgICAgYjQg
PSAzIC8gNCwKKyAgICBiNSA9IDkgLyAxMSwKKyAgICBiNiA9IDEwIC8gMTEsCisgICAgYjcgPSAx
NSAvIDE2LAorICAgIGI4ID0gMjEgLyAyMiwKKyAgICBiOSA9IDYzIC8gNjQsCisgICAgYjAgPSAx
IC8gYjEgLyBiMTsKKworZnVuY3Rpb24gYm91bmNlSW4odCkgeworICByZXR1cm4gMSAtIGJvdW5j
ZU91dCgxIC0gdCk7Cit9CisKK2Z1bmN0aW9uIGJvdW5jZU91dCh0KSB7CisgIHJldHVybiAodCA9
ICt0KSA8IGIxID8gYjAgKiB0ICogdCA6IHQgPCBiMyA/IGIwICogKHQgLT0gYjIpICogdCArIGI0
IDogdCA8IGI2ID8gYjAgKiAodCAtPSBiNSkgKiB0ICsgYjcgOiBiMCAqICh0IC09IGI4KSAqIHQg
KyBiOTsKK30KKworZnVuY3Rpb24gYm91bmNlSW5PdXQodCkgeworICByZXR1cm4gKCh0ICo9IDIp
IDw9IDEgPyAxIC0gYm91bmNlT3V0KDEgLSB0KSA6IGJvdW5jZU91dCh0IC0gMSkgKyAxKSAvIDI7
Cit9CisKK3ZhciBvdmVyc2hvb3QgPSAxLjcwMTU4OworCit2YXIgYmFja0luID0gKGZ1bmN0aW9u
IGN1c3RvbShzKSB7CisgIHMgPSArczsKKworICBmdW5jdGlvbiBiYWNrSW4odCkgeworICAgIHJl
dHVybiB0ICogdCAqICgocyArIDEpICogdCAtIHMpOworICB9CisKKyAgYmFja0luLm92ZXJzaG9v
dCA9IGN1c3RvbTsKKworICByZXR1cm4gYmFja0luOworfSkob3ZlcnNob290KTsKKwordmFyIGJh
Y2tPdXQgPSAoZnVuY3Rpb24gY3VzdG9tKHMpIHsKKyAgcyA9ICtzOworCisgIGZ1bmN0aW9uIGJh
Y2tPdXQodCkgeworICAgIHJldHVybiAtLXQgKiB0ICogKChzICsgMSkgKiB0ICsgcykgKyAxOwor
ICB9CisKKyAgYmFja091dC5vdmVyc2hvb3QgPSBjdXN0b207CisKKyAgcmV0dXJuIGJhY2tPdXQ7
Cit9KShvdmVyc2hvb3QpOworCit2YXIgYmFja0luT3V0ID0gKGZ1bmN0aW9uIGN1c3RvbShzKSB7
CisgIHMgPSArczsKKworICBmdW5jdGlvbiBiYWNrSW5PdXQodCkgeworICAgIHJldHVybiAoKHQg
Kj0gMikgPCAxID8gdCAqIHQgKiAoKHMgKyAxKSAqIHQgLSBzKSA6ICh0IC09IDIpICogdCAqICgo
cyArIDEpICogdCArIHMpICsgMikgLyAyOworICB9CisKKyAgYmFja0luT3V0Lm92ZXJzaG9vdCA9
IGN1c3RvbTsKKworICByZXR1cm4gYmFja0luT3V0OworfSkob3ZlcnNob290KTsKKwordmFyIHRh
dSA9IDIgKiBNYXRoLlBJLAorICAgIGFtcGxpdHVkZSA9IDEsCisgICAgcGVyaW9kID0gMC4zOwor
Cit2YXIgZWxhc3RpY0luID0gKGZ1bmN0aW9uIGN1c3RvbShhLCBwKSB7CisgIHZhciBzID0gTWF0
aC5hc2luKDEgLyAoYSA9IE1hdGgubWF4KDEsIGEpKSkgKiAocCAvPSB0YXUpOworCisgIGZ1bmN0
aW9uIGVsYXN0aWNJbih0KSB7CisgICAgcmV0dXJuIGEgKiBNYXRoLnBvdygyLCAxMCAqIC0tdCkg
KiBNYXRoLnNpbigocyAtIHQpIC8gcCk7CisgIH0KKworICBlbGFzdGljSW4uYW1wbGl0dWRlID0g
ZnVuY3Rpb24oYSkgeyByZXR1cm4gY3VzdG9tKGEsIHAgKiB0YXUpOyB9OworICBlbGFzdGljSW4u
cGVyaW9kID0gZnVuY3Rpb24ocCkgeyByZXR1cm4gY3VzdG9tKGEsIHApOyB9OworCisgIHJldHVy
biBlbGFzdGljSW47Cit9KShhbXBsaXR1ZGUsIHBlcmlvZCk7CisKK3ZhciBlbGFzdGljT3V0ID0g
KGZ1bmN0aW9uIGN1c3RvbShhLCBwKSB7CisgIHZhciBzID0gTWF0aC5hc2luKDEgLyAoYSA9IE1h
dGgubWF4KDEsIGEpKSkgKiAocCAvPSB0YXUpOworCisgIGZ1bmN0aW9uIGVsYXN0aWNPdXQodCkg
eworICAgIHJldHVybiAxIC0gYSAqIE1hdGgucG93KDIsIC0xMCAqICh0ID0gK3QpKSAqIE1hdGgu
c2luKCh0ICsgcykgLyBwKTsKKyAgfQorCisgIGVsYXN0aWNPdXQuYW1wbGl0dWRlID0gZnVuY3Rp
b24oYSkgeyByZXR1cm4gY3VzdG9tKGEsIHAgKiB0YXUpOyB9OworICBlbGFzdGljT3V0LnBlcmlv
ZCA9IGZ1bmN0aW9uKHApIHsgcmV0dXJuIGN1c3RvbShhLCBwKTsgfTsKKworICByZXR1cm4gZWxh
c3RpY091dDsKK30pKGFtcGxpdHVkZSwgcGVyaW9kKTsKKwordmFyIGVsYXN0aWNJbk91dCA9IChm
dW5jdGlvbiBjdXN0b20oYSwgcCkgeworICB2YXIgcyA9IE1hdGguYXNpbigxIC8gKGEgPSBNYXRo
Lm1heCgxLCBhKSkpICogKHAgLz0gdGF1KTsKKworICBmdW5jdGlvbiBlbGFzdGljSW5PdXQodCkg
eworICAgIHJldHVybiAoKHQgPSB0ICogMiAtIDEpIDwgMAorICAgICAgICA/IGEgKiBNYXRoLnBv
dygyLCAxMCAqIHQpICogTWF0aC5zaW4oKHMgLSB0KSAvIHApCisgICAgICAgIDogMiAtIGEgKiBN
YXRoLnBvdygyLCAtMTAgKiB0KSAqIE1hdGguc2luKChzICsgdCkgLyBwKSkgLyAyOworICB9CisK
KyAgZWxhc3RpY0luT3V0LmFtcGxpdHVkZSA9IGZ1bmN0aW9uKGEpIHsgcmV0dXJuIGN1c3RvbShh
LCBwICogdGF1KTsgfTsKKyAgZWxhc3RpY0luT3V0LnBlcmlvZCA9IGZ1bmN0aW9uKHApIHsgcmV0
dXJuIGN1c3RvbShhLCBwKTsgfTsKKworICByZXR1cm4gZWxhc3RpY0luT3V0OworfSkoYW1wbGl0
dWRlLCBwZXJpb2QpOworCit2YXIgZGVmYXVsdFRpbWluZyA9IHsKKyAgdGltZTogbnVsbCwgLy8g
U2V0IG9uIHVzZS4KKyAgZGVsYXk6IDAsCisgIGR1cmF0aW9uOiAyNTAsCisgIGVhc2U6IGN1Ymlj
SW5PdXQKK307CisKK2Z1bmN0aW9uIGluaGVyaXQobm9kZSwgaWQpIHsKKyAgdmFyIHRpbWluZzsK
KyAgd2hpbGUgKCEodGltaW5nID0gbm9kZS5fX3RyYW5zaXRpb24pIHx8ICEodGltaW5nID0gdGlt
aW5nW2lkXSkpIHsKKyAgICBpZiAoIShub2RlID0gbm9kZS5wYXJlbnROb2RlKSkgeworICAgICAg
cmV0dXJuIGRlZmF1bHRUaW1pbmcudGltZSA9IG5vdygpLCBkZWZhdWx0VGltaW5nOworICAgIH0K
KyAgfQorICByZXR1cm4gdGltaW5nOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fdHJhbnNpdGlv
bihuYW1lKSB7CisgIHZhciBpZCwKKyAgICAgIHRpbWluZzsKKworICBpZiAobmFtZSBpbnN0YW5j
ZW9mIFRyYW5zaXRpb24pIHsKKyAgICBpZCA9IG5hbWUuX2lkLCBuYW1lID0gbmFtZS5fbmFtZTsK
KyAgfSBlbHNlIHsKKyAgICBpZCA9IG5ld0lkKCksICh0aW1pbmcgPSBkZWZhdWx0VGltaW5nKS50
aW1lID0gbm93KCksIG5hbWUgPSBuYW1lID09IG51bGwgPyBudWxsIDogbmFtZSArICIiOworICB9
CisKKyAgZm9yICh2YXIgZ3JvdXBzID0gdGhpcy5fZ3JvdXBzLCBtID0gZ3JvdXBzLmxlbmd0aCwg
aiA9IDA7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdyb3Vwc1tqXSwgbiA9
IGdyb3VwLmxlbmd0aCwgbm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChub2Rl
ID0gZ3JvdXBbaV0pIHsKKyAgICAgICAgc2NoZWR1bGUobm9kZSwgbmFtZSwgaWQsIGksIGdyb3Vw
LCB0aW1pbmcgfHwgaW5oZXJpdChub2RlLCBpZCkpOworICAgICAgfQorICAgIH0KKyAgfQorCisg
IHJldHVybiBuZXcgVHJhbnNpdGlvbihncm91cHMsIHRoaXMuX3BhcmVudHMsIG5hbWUsIGlkKTsK
K30KKworc2VsZWN0aW9uLnByb3RvdHlwZS5pbnRlcnJ1cHQgPSBzZWxlY3Rpb25faW50ZXJydXB0
Oworc2VsZWN0aW9uLnByb3RvdHlwZS50cmFuc2l0aW9uID0gc2VsZWN0aW9uX3RyYW5zaXRpb247
CisKK3ZhciByb290JDEgPSBbbnVsbF07CisKK2Z1bmN0aW9uIGFjdGl2ZShub2RlLCBuYW1lKSB7
CisgIHZhciBzY2hlZHVsZXMgPSBub2RlLl9fdHJhbnNpdGlvbiwKKyAgICAgIHNjaGVkdWxlLAor
ICAgICAgaTsKKworICBpZiAoc2NoZWR1bGVzKSB7CisgICAgbmFtZSA9IG5hbWUgPT0gbnVsbCA/
IG51bGwgOiBuYW1lICsgIiI7CisgICAgZm9yIChpIGluIHNjaGVkdWxlcykgeworICAgICAgaWYg
KChzY2hlZHVsZSA9IHNjaGVkdWxlc1tpXSkuc3RhdGUgPiBTQ0hFRFVMRUQgJiYgc2NoZWR1bGUu
bmFtZSA9PT0gbmFtZSkgeworICAgICAgICByZXR1cm4gbmV3IFRyYW5zaXRpb24oW1tub2RlXV0s
IHJvb3QkMSwgbmFtZSwgK2kpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBudWxs
OworfQorCitmdW5jdGlvbiBjb25zdGFudCQ0KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgewor
ICAgIHJldHVybiB4OworICB9OworfQorCitmdW5jdGlvbiBCcnVzaEV2ZW50KHRhcmdldCwgdHlw
ZSwgc2VsZWN0aW9uKSB7CisgIHRoaXMudGFyZ2V0ID0gdGFyZ2V0OworICB0aGlzLnR5cGUgPSB0
eXBlOworICB0aGlzLnNlbGVjdGlvbiA9IHNlbGVjdGlvbjsKK30KKworZnVuY3Rpb24gbm9wcm9w
YWdhdGlvbiQxKCkgeworICBleHBvcnRzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigp
OworfQorCitmdW5jdGlvbiBub2V2ZW50JDEoKSB7CisgIGV4cG9ydHMuZXZlbnQucHJldmVudERl
ZmF1bHQoKTsKKyAgZXhwb3J0cy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsKK30K
KwordmFyIE1PREVfRFJBRyA9IHtuYW1lOiAiZHJhZyJ9LAorICAgIE1PREVfU1BBQ0UgPSB7bmFt
ZTogInNwYWNlIn0sCisgICAgTU9ERV9IQU5ETEUgPSB7bmFtZTogImhhbmRsZSJ9LAorICAgIE1P
REVfQ0VOVEVSID0ge25hbWU6ICJjZW50ZXIifTsKKworZnVuY3Rpb24gbnVtYmVyMShlKSB7Cisg
IHJldHVybiBbK2VbMF0sICtlWzFdXTsKK30KKworZnVuY3Rpb24gbnVtYmVyMihlKSB7CisgIHJl
dHVybiBbbnVtYmVyMShlWzBdKSwgbnVtYmVyMShlWzFdKV07Cit9CisKK2Z1bmN0aW9uIHRvdWNo
ZXIoaWRlbnRpZmllcikgeworICByZXR1cm4gZnVuY3Rpb24odGFyZ2V0KSB7CisgICAgcmV0dXJu
IHRvdWNoKHRhcmdldCwgZXhwb3J0cy5ldmVudC50b3VjaGVzLCBpZGVudGlmaWVyKTsKKyAgfTsK
K30KKwordmFyIFggPSB7CisgIG5hbWU6ICJ4IiwKKyAgaGFuZGxlczogWyJ3IiwgImUiXS5tYXAo
dHlwZSksCisgIGlucHV0OiBmdW5jdGlvbih4LCBlKSB7IHJldHVybiB4ID09IG51bGwgPyBudWxs
IDogW1sreFswXSwgZVswXVsxXV0sIFsreFsxXSwgZVsxXVsxXV1dOyB9LAorICBvdXRwdXQ6IGZ1
bmN0aW9uKHh5KSB7IHJldHVybiB4eSAmJiBbeHlbMF1bMF0sIHh5WzFdWzBdXTsgfQorfTsKKwor
dmFyIFkgPSB7CisgIG5hbWU6ICJ5IiwKKyAgaGFuZGxlczogWyJuIiwgInMiXS5tYXAodHlwZSks
CisgIGlucHV0OiBmdW5jdGlvbih5LCBlKSB7IHJldHVybiB5ID09IG51bGwgPyBudWxsIDogW1tl
WzBdWzBdLCAreVswXV0sIFtlWzFdWzBdLCAreVsxXV1dOyB9LAorICBvdXRwdXQ6IGZ1bmN0aW9u
KHh5KSB7IHJldHVybiB4eSAmJiBbeHlbMF1bMV0sIHh5WzFdWzFdXTsgfQorfTsKKwordmFyIFhZ
ID0geworICBuYW1lOiAieHkiLAorICBoYW5kbGVzOiBbIm4iLCAidyIsICJlIiwgInMiLCAibnci
LCAibmUiLCAic3ciLCAic2UiXS5tYXAodHlwZSksCisgIGlucHV0OiBmdW5jdGlvbih4eSkgeyBy
ZXR1cm4geHkgPT0gbnVsbCA/IG51bGwgOiBudW1iZXIyKHh5KTsgfSwKKyAgb3V0cHV0OiBmdW5j
dGlvbih4eSkgeyByZXR1cm4geHk7IH0KK307CisKK3ZhciBjdXJzb3JzID0geworICBvdmVybGF5
OiAiY3Jvc3NoYWlyIiwKKyAgc2VsZWN0aW9uOiAibW92ZSIsCisgIG46ICJucy1yZXNpemUiLAor
ICBlOiAiZXctcmVzaXplIiwKKyAgczogIm5zLXJlc2l6ZSIsCisgIHc6ICJldy1yZXNpemUiLAor
ICBudzogIm53c2UtcmVzaXplIiwKKyAgbmU6ICJuZXN3LXJlc2l6ZSIsCisgIHNlOiAibndzZS1y
ZXNpemUiLAorICBzdzogIm5lc3ctcmVzaXplIgorfTsKKwordmFyIGZsaXBYID0geworICBlOiAi
dyIsCisgIHc6ICJlIiwKKyAgbnc6ICJuZSIsCisgIG5lOiAibnciLAorICBzZTogInN3IiwKKyAg
c3c6ICJzZSIKK307CisKK3ZhciBmbGlwWSA9IHsKKyAgbjogInMiLAorICBzOiAibiIsCisgIG53
OiAic3ciLAorICBuZTogInNlIiwKKyAgc2U6ICJuZSIsCisgIHN3OiAibnciCit9OworCit2YXIg
c2lnbnNYID0geworICBvdmVybGF5OiArMSwKKyAgc2VsZWN0aW9uOiArMSwKKyAgbjogbnVsbCwK
KyAgZTogKzEsCisgIHM6IG51bGwsCisgIHc6IC0xLAorICBudzogLTEsCisgIG5lOiArMSwKKyAg
c2U6ICsxLAorICBzdzogLTEKK307CisKK3ZhciBzaWduc1kgPSB7CisgIG92ZXJsYXk6ICsxLAor
ICBzZWxlY3Rpb246ICsxLAorICBuOiAtMSwKKyAgZTogbnVsbCwKKyAgczogKzEsCisgIHc6IG51
bGwsCisgIG53OiAtMSwKKyAgbmU6IC0xLAorICBzZTogKzEsCisgIHN3OiArMQorfTsKKworZnVu
Y3Rpb24gdHlwZSh0KSB7CisgIHJldHVybiB7dHlwZTogdH07Cit9CisKKy8vIElnbm9yZSByaWdo
dC1jbGljaywgc2luY2UgdGhhdCBzaG91bGQgb3BlbiB0aGUgY29udGV4dCBtZW51LgorZnVuY3Rp
b24gZGVmYXVsdEZpbHRlciQxKCkgeworICByZXR1cm4gIWV4cG9ydHMuZXZlbnQuY3RybEtleSAm
JiAhZXhwb3J0cy5ldmVudC5idXR0b247Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRFeHRlbnQoKSB7
CisgIHZhciBzdmcgPSB0aGlzLm93bmVyU1ZHRWxlbWVudCB8fCB0aGlzOworICBpZiAoc3ZnLmhh
c0F0dHJpYnV0ZSgidmlld0JveCIpKSB7CisgICAgc3ZnID0gc3ZnLnZpZXdCb3guYmFzZVZhbDsK
KyAgICByZXR1cm4gW1tzdmcueCwgc3ZnLnldLCBbc3ZnLnggKyBzdmcud2lkdGgsIHN2Zy55ICsg
c3ZnLmhlaWdodF1dOworICB9CisgIHJldHVybiBbWzAsIDBdLCBbc3ZnLndpZHRoLmJhc2VWYWwu
dmFsdWUsIHN2Zy5oZWlnaHQuYmFzZVZhbC52YWx1ZV1dOworfQorCitmdW5jdGlvbiBkZWZhdWx0
VG91Y2hhYmxlJDEoKSB7CisgIHJldHVybiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgfHwgKCJv
bnRvdWNoc3RhcnQiIGluIHRoaXMpOworfQorCisvLyBMaWtlIGQzLmxvY2FsLCBidXQgd2l0aCB0
aGUgbmFtZSDigJxfX2JydXNo4oCdIHJhdGhlciB0aGFuIGF1dG8tZ2VuZXJhdGVkLgorZnVuY3Rp
b24gbG9jYWwkMShub2RlKSB7CisgIHdoaWxlICghbm9kZS5fX2JydXNoKSBpZiAoIShub2RlID0g
bm9kZS5wYXJlbnROb2RlKSkgcmV0dXJuOworICByZXR1cm4gbm9kZS5fX2JydXNoOworfQorCitm
dW5jdGlvbiBlbXB0eSQxKGV4dGVudCkgeworICByZXR1cm4gZXh0ZW50WzBdWzBdID09PSBleHRl
bnRbMV1bMF0KKyAgICAgIHx8IGV4dGVudFswXVsxXSA9PT0gZXh0ZW50WzFdWzFdOworfQorCitm
dW5jdGlvbiBicnVzaFNlbGVjdGlvbihub2RlKSB7CisgIHZhciBzdGF0ZSA9IG5vZGUuX19icnVz
aDsKKyAgcmV0dXJuIHN0YXRlID8gc3RhdGUuZGltLm91dHB1dChzdGF0ZS5zZWxlY3Rpb24pIDog
bnVsbDsKK30KKworZnVuY3Rpb24gYnJ1c2hYKCkgeworICByZXR1cm4gYnJ1c2gkMShYKTsKK30K
KworZnVuY3Rpb24gYnJ1c2hZKCkgeworICByZXR1cm4gYnJ1c2gkMShZKTsKK30KKworZnVuY3Rp
b24gYnJ1c2goKSB7CisgIHJldHVybiBicnVzaCQxKFhZKTsKK30KKworZnVuY3Rpb24gYnJ1c2gk
MShkaW0pIHsKKyAgdmFyIGV4dGVudCA9IGRlZmF1bHRFeHRlbnQsCisgICAgICBmaWx0ZXIgPSBk
ZWZhdWx0RmlsdGVyJDEsCisgICAgICB0b3VjaGFibGUgPSBkZWZhdWx0VG91Y2hhYmxlJDEsCisg
ICAgICBrZXlzID0gdHJ1ZSwKKyAgICAgIGxpc3RlbmVycyA9IGRpc3BhdGNoKCJzdGFydCIsICJi
cnVzaCIsICJlbmQiKSwKKyAgICAgIGhhbmRsZVNpemUgPSA2LAorICAgICAgdG91Y2hlbmRpbmc7
CisKKyAgZnVuY3Rpb24gYnJ1c2goZ3JvdXApIHsKKyAgICB2YXIgb3ZlcmxheSA9IGdyb3VwCisg
ICAgICAgIC5wcm9wZXJ0eSgiX19icnVzaCIsIGluaXRpYWxpemUpCisgICAgICAuc2VsZWN0QWxs
KCIub3ZlcmxheSIpCisgICAgICAuZGF0YShbdHlwZSgib3ZlcmxheSIpXSk7CisKKyAgICBvdmVy
bGF5LmVudGVyKCkuYXBwZW5kKCJyZWN0IikKKyAgICAgICAgLmF0dHIoImNsYXNzIiwgIm92ZXJs
YXkiKQorICAgICAgICAuYXR0cigicG9pbnRlci1ldmVudHMiLCAiYWxsIikKKyAgICAgICAgLmF0
dHIoImN1cnNvciIsIGN1cnNvcnMub3ZlcmxheSkKKyAgICAgIC5tZXJnZShvdmVybGF5KQorICAg
ICAgICAuZWFjaChmdW5jdGlvbigpIHsKKyAgICAgICAgICB2YXIgZXh0ZW50ID0gbG9jYWwkMSh0
aGlzKS5leHRlbnQ7CisgICAgICAgICAgc2VsZWN0KHRoaXMpCisgICAgICAgICAgICAgIC5hdHRy
KCJ4IiwgZXh0ZW50WzBdWzBdKQorICAgICAgICAgICAgICAuYXR0cigieSIsIGV4dGVudFswXVsx
XSkKKyAgICAgICAgICAgICAgLmF0dHIoIndpZHRoIiwgZXh0ZW50WzFdWzBdIC0gZXh0ZW50WzBd
WzBdKQorICAgICAgICAgICAgICAuYXR0cigiaGVpZ2h0IiwgZXh0ZW50WzFdWzFdIC0gZXh0ZW50
WzBdWzFdKTsKKyAgICAgICAgfSk7CisKKyAgICBncm91cC5zZWxlY3RBbGwoIi5zZWxlY3Rpb24i
KQorICAgICAgLmRhdGEoW3R5cGUoInNlbGVjdGlvbiIpXSkKKyAgICAgIC5lbnRlcigpLmFwcGVu
ZCgicmVjdCIpCisgICAgICAgIC5hdHRyKCJjbGFzcyIsICJzZWxlY3Rpb24iKQorICAgICAgICAu
YXR0cigiY3Vyc29yIiwgY3Vyc29ycy5zZWxlY3Rpb24pCisgICAgICAgIC5hdHRyKCJmaWxsIiwg
IiM3NzciKQorICAgICAgICAuYXR0cigiZmlsbC1vcGFjaXR5IiwgMC4zKQorICAgICAgICAuYXR0
cigic3Ryb2tlIiwgIiNmZmYiKQorICAgICAgICAuYXR0cigic2hhcGUtcmVuZGVyaW5nIiwgImNy
aXNwRWRnZXMiKTsKKworICAgIHZhciBoYW5kbGUgPSBncm91cC5zZWxlY3RBbGwoIi5oYW5kbGUi
KQorICAgICAgLmRhdGEoZGltLmhhbmRsZXMsIGZ1bmN0aW9uKGQpIHsgcmV0dXJuIGQudHlwZTsg
fSk7CisKKyAgICBoYW5kbGUuZXhpdCgpLnJlbW92ZSgpOworCisgICAgaGFuZGxlLmVudGVyKCku
YXBwZW5kKCJyZWN0IikKKyAgICAgICAgLmF0dHIoImNsYXNzIiwgZnVuY3Rpb24oZCkgeyByZXR1
cm4gImhhbmRsZSBoYW5kbGUtLSIgKyBkLnR5cGU7IH0pCisgICAgICAgIC5hdHRyKCJjdXJzb3Ii
LCBmdW5jdGlvbihkKSB7IHJldHVybiBjdXJzb3JzW2QudHlwZV07IH0pOworCisgICAgZ3JvdXAK
KyAgICAgICAgLmVhY2gocmVkcmF3KQorICAgICAgICAuYXR0cigiZmlsbCIsICJub25lIikKKyAg
ICAgICAgLmF0dHIoInBvaW50ZXItZXZlbnRzIiwgImFsbCIpCisgICAgICAgIC5vbigibW91c2Vk
b3duLmJydXNoIiwgc3RhcnRlZCkKKyAgICAgIC5maWx0ZXIodG91Y2hhYmxlKQorICAgICAgICAu
b24oInRvdWNoc3RhcnQuYnJ1c2giLCBzdGFydGVkKQorICAgICAgICAub24oInRvdWNobW92ZS5i
cnVzaCIsIHRvdWNobW92ZWQpCisgICAgICAgIC5vbigidG91Y2hlbmQuYnJ1c2ggdG91Y2hjYW5j
ZWwuYnJ1c2giLCB0b3VjaGVuZGVkKQorICAgICAgICAuc3R5bGUoInRvdWNoLWFjdGlvbiIsICJu
b25lIikKKyAgICAgICAgLnN0eWxlKCItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IiLCAicmdi
YSgwLDAsMCwwKSIpOworICB9CisKKyAgYnJ1c2gubW92ZSA9IGZ1bmN0aW9uKGdyb3VwLCBzZWxl
Y3Rpb24pIHsKKyAgICBpZiAoZ3JvdXAuc2VsZWN0aW9uKSB7CisgICAgICBncm91cAorICAgICAg
ICAgIC5vbigic3RhcnQuYnJ1c2giLCBmdW5jdGlvbigpIHsgZW1pdHRlcih0aGlzLCBhcmd1bWVu
dHMpLmJlZm9yZXN0YXJ0KCkuc3RhcnQoKTsgfSkKKyAgICAgICAgICAub24oImludGVycnVwdC5i
cnVzaCBlbmQuYnJ1c2giLCBmdW5jdGlvbigpIHsgZW1pdHRlcih0aGlzLCBhcmd1bWVudHMpLmVu
ZCgpOyB9KQorICAgICAgICAgIC50d2VlbigiYnJ1c2giLCBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgIHZhciB0aGF0ID0gdGhpcywKKyAgICAgICAgICAgICAgICBzdGF0ZSA9IHRoYXQuX19icnVz
aCwKKyAgICAgICAgICAgICAgICBlbWl0ID0gZW1pdHRlcih0aGF0LCBhcmd1bWVudHMpLAorICAg
ICAgICAgICAgICAgIHNlbGVjdGlvbjAgPSBzdGF0ZS5zZWxlY3Rpb24sCisgICAgICAgICAgICAg
ICAgc2VsZWN0aW9uMSA9IGRpbS5pbnB1dCh0eXBlb2Ygc2VsZWN0aW9uID09PSAiZnVuY3Rpb24i
ID8gc2VsZWN0aW9uLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgOiBzZWxlY3Rpb24sIHN0YXRlLmV4
dGVudCksCisgICAgICAgICAgICAgICAgaSA9IGludGVycG9sYXRlVmFsdWUoc2VsZWN0aW9uMCwg
c2VsZWN0aW9uMSk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHR3ZWVuKHQpIHsKKyAgICAgICAg
ICAgICAgc3RhdGUuc2VsZWN0aW9uID0gdCA9PT0gMSAmJiBzZWxlY3Rpb24xID09PSBudWxsID8g
bnVsbCA6IGkodCk7CisgICAgICAgICAgICAgIHJlZHJhdy5jYWxsKHRoYXQpOworICAgICAgICAg
ICAgICBlbWl0LmJydXNoKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJldHVybiBz
ZWxlY3Rpb24wICE9PSBudWxsICYmIHNlbGVjdGlvbjEgIT09IG51bGwgPyB0d2VlbiA6IHR3ZWVu
KDEpOworICAgICAgICAgIH0pOworICAgIH0gZWxzZSB7CisgICAgICBncm91cAorICAgICAgICAg
IC5lYWNoKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzLAorICAgICAg
ICAgICAgICAgIGFyZ3MgPSBhcmd1bWVudHMsCisgICAgICAgICAgICAgICAgc3RhdGUgPSB0aGF0
Ll9fYnJ1c2gsCisgICAgICAgICAgICAgICAgc2VsZWN0aW9uMSA9IGRpbS5pbnB1dCh0eXBlb2Yg
c2VsZWN0aW9uID09PSAiZnVuY3Rpb24iID8gc2VsZWN0aW9uLmFwcGx5KHRoYXQsIGFyZ3MpIDog
c2VsZWN0aW9uLCBzdGF0ZS5leHRlbnQpLAorICAgICAgICAgICAgICAgIGVtaXQgPSBlbWl0dGVy
KHRoYXQsIGFyZ3MpLmJlZm9yZXN0YXJ0KCk7CisKKyAgICAgICAgICAgIGludGVycnVwdCh0aGF0
KTsKKyAgICAgICAgICAgIHN0YXRlLnNlbGVjdGlvbiA9IHNlbGVjdGlvbjEgPT09IG51bGwgPyBu
dWxsIDogc2VsZWN0aW9uMTsKKyAgICAgICAgICAgIHJlZHJhdy5jYWxsKHRoYXQpOworICAgICAg
ICAgICAgZW1pdC5zdGFydCgpLmJydXNoKCkuZW5kKCk7CisgICAgICAgICAgfSk7CisgICAgfQor
ICB9OworCisgIGJydXNoLmNsZWFyID0gZnVuY3Rpb24oZ3JvdXApIHsKKyAgICBicnVzaC5tb3Zl
KGdyb3VwLCBudWxsKTsKKyAgfTsKKworICBmdW5jdGlvbiByZWRyYXcoKSB7CisgICAgdmFyIGdy
b3VwID0gc2VsZWN0KHRoaXMpLAorICAgICAgICBzZWxlY3Rpb24gPSBsb2NhbCQxKHRoaXMpLnNl
bGVjdGlvbjsKKworICAgIGlmIChzZWxlY3Rpb24pIHsKKyAgICAgIGdyb3VwLnNlbGVjdEFsbCgi
LnNlbGVjdGlvbiIpCisgICAgICAgICAgLnN0eWxlKCJkaXNwbGF5IiwgbnVsbCkKKyAgICAgICAg
ICAuYXR0cigieCIsIHNlbGVjdGlvblswXVswXSkKKyAgICAgICAgICAuYXR0cigieSIsIHNlbGVj
dGlvblswXVsxXSkKKyAgICAgICAgICAuYXR0cigid2lkdGgiLCBzZWxlY3Rpb25bMV1bMF0gLSBz
ZWxlY3Rpb25bMF1bMF0pCisgICAgICAgICAgLmF0dHIoImhlaWdodCIsIHNlbGVjdGlvblsxXVsx
XSAtIHNlbGVjdGlvblswXVsxXSk7CisKKyAgICAgIGdyb3VwLnNlbGVjdEFsbCgiLmhhbmRsZSIp
CisgICAgICAgICAgLnN0eWxlKCJkaXNwbGF5IiwgbnVsbCkKKyAgICAgICAgICAuYXR0cigieCIs
IGZ1bmN0aW9uKGQpIHsgcmV0dXJuIGQudHlwZVtkLnR5cGUubGVuZ3RoIC0gMV0gPT09ICJlIiA/
IHNlbGVjdGlvblsxXVswXSAtIGhhbmRsZVNpemUgLyAyIDogc2VsZWN0aW9uWzBdWzBdIC0gaGFu
ZGxlU2l6ZSAvIDI7IH0pCisgICAgICAgICAgLmF0dHIoInkiLCBmdW5jdGlvbihkKSB7IHJldHVy
biBkLnR5cGVbMF0gPT09ICJzIiA/IHNlbGVjdGlvblsxXVsxXSAtIGhhbmRsZVNpemUgLyAyIDog
c2VsZWN0aW9uWzBdWzFdIC0gaGFuZGxlU2l6ZSAvIDI7IH0pCisgICAgICAgICAgLmF0dHIoIndp
ZHRoIiwgZnVuY3Rpb24oZCkgeyByZXR1cm4gZC50eXBlID09PSAibiIgfHwgZC50eXBlID09PSAi
cyIgPyBzZWxlY3Rpb25bMV1bMF0gLSBzZWxlY3Rpb25bMF1bMF0gKyBoYW5kbGVTaXplIDogaGFu
ZGxlU2l6ZTsgfSkKKyAgICAgICAgICAuYXR0cigiaGVpZ2h0IiwgZnVuY3Rpb24oZCkgeyByZXR1
cm4gZC50eXBlID09PSAiZSIgfHwgZC50eXBlID09PSAidyIgPyBzZWxlY3Rpb25bMV1bMV0gLSBz
ZWxlY3Rpb25bMF1bMV0gKyBoYW5kbGVTaXplIDogaGFuZGxlU2l6ZTsgfSk7CisgICAgfQorCisg
ICAgZWxzZSB7CisgICAgICBncm91cC5zZWxlY3RBbGwoIi5zZWxlY3Rpb24sLmhhbmRsZSIpCisg
ICAgICAgICAgLnN0eWxlKCJkaXNwbGF5IiwgIm5vbmUiKQorICAgICAgICAgIC5hdHRyKCJ4Iiwg
bnVsbCkKKyAgICAgICAgICAuYXR0cigieSIsIG51bGwpCisgICAgICAgICAgLmF0dHIoIndpZHRo
IiwgbnVsbCkKKyAgICAgICAgICAuYXR0cigiaGVpZ2h0IiwgbnVsbCk7CisgICAgfQorICB9CisK
KyAgZnVuY3Rpb24gZW1pdHRlcih0aGF0LCBhcmdzLCBjbGVhbikgeworICAgIHJldHVybiAoIWNs
ZWFuICYmIHRoYXQuX19icnVzaC5lbWl0dGVyKSB8fCBuZXcgRW1pdHRlcih0aGF0LCBhcmdzKTsK
KyAgfQorCisgIGZ1bmN0aW9uIEVtaXR0ZXIodGhhdCwgYXJncykgeworICAgIHRoaXMudGhhdCA9
IHRoYXQ7CisgICAgdGhpcy5hcmdzID0gYXJnczsKKyAgICB0aGlzLnN0YXRlID0gdGhhdC5fX2Jy
dXNoOworICAgIHRoaXMuYWN0aXZlID0gMDsKKyAgfQorCisgIEVtaXR0ZXIucHJvdG90eXBlID0g
eworICAgIGJlZm9yZXN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICAgIGlmICgrK3RoaXMuYWN0aXZl
ID09PSAxKSB0aGlzLnN0YXRlLmVtaXR0ZXIgPSB0aGlzLCB0aGlzLnN0YXJ0aW5nID0gdHJ1ZTsK
KyAgICAgIHJldHVybiB0aGlzOworICAgIH0sCisgICAgc3RhcnQ6IGZ1bmN0aW9uKCkgeworICAg
ICAgaWYgKHRoaXMuc3RhcnRpbmcpIHRoaXMuc3RhcnRpbmcgPSBmYWxzZSwgdGhpcy5lbWl0KCJz
dGFydCIpOworICAgICAgZWxzZSB0aGlzLmVtaXQoImJydXNoIik7CisgICAgICByZXR1cm4gdGhp
czsKKyAgICB9LAorICAgIGJydXNoOiBmdW5jdGlvbigpIHsKKyAgICAgIHRoaXMuZW1pdCgiYnJ1
c2giKTsKKyAgICAgIHJldHVybiB0aGlzOworICAgIH0sCisgICAgZW5kOiBmdW5jdGlvbigpIHsK
KyAgICAgIGlmICgtLXRoaXMuYWN0aXZlID09PSAwKSBkZWxldGUgdGhpcy5zdGF0ZS5lbWl0dGVy
LCB0aGlzLmVtaXQoImVuZCIpOworICAgICAgcmV0dXJuIHRoaXM7CisgICAgfSwKKyAgICBlbWl0
OiBmdW5jdGlvbih0eXBlKSB7CisgICAgICBjdXN0b21FdmVudChuZXcgQnJ1c2hFdmVudChicnVz
aCwgdHlwZSwgZGltLm91dHB1dCh0aGlzLnN0YXRlLnNlbGVjdGlvbikpLCBsaXN0ZW5lcnMuYXBw
bHksIGxpc3RlbmVycywgW3R5cGUsIHRoaXMudGhhdCwgdGhpcy5hcmdzXSk7CisgICAgfQorICB9
OworCisgIGZ1bmN0aW9uIHN0YXJ0ZWQoKSB7CisgICAgaWYgKHRvdWNoZW5kaW5nICYmICFleHBv
cnRzLmV2ZW50LnRvdWNoZXMpIHJldHVybjsKKyAgICBpZiAoIWZpbHRlci5hcHBseSh0aGlzLCBh
cmd1bWVudHMpKSByZXR1cm47CisKKyAgICB2YXIgdGhhdCA9IHRoaXMsCisgICAgICAgIHR5cGUg
PSBleHBvcnRzLmV2ZW50LnRhcmdldC5fX2RhdGFfXy50eXBlLAorICAgICAgICBtb2RlID0gKGtl
eXMgJiYgZXhwb3J0cy5ldmVudC5tZXRhS2V5ID8gdHlwZSA9ICJvdmVybGF5IiA6IHR5cGUpID09
PSAic2VsZWN0aW9uIiA/IE1PREVfRFJBRyA6IChrZXlzICYmIGV4cG9ydHMuZXZlbnQuYWx0S2V5
ID8gTU9ERV9DRU5URVIgOiBNT0RFX0hBTkRMRSksCisgICAgICAgIHNpZ25YID0gZGltID09PSBZ
ID8gbnVsbCA6IHNpZ25zWFt0eXBlXSwKKyAgICAgICAgc2lnblkgPSBkaW0gPT09IFggPyBudWxs
IDogc2lnbnNZW3R5cGVdLAorICAgICAgICBzdGF0ZSA9IGxvY2FsJDEodGhhdCksCisgICAgICAg
IGV4dGVudCA9IHN0YXRlLmV4dGVudCwKKyAgICAgICAgc2VsZWN0aW9uID0gc3RhdGUuc2VsZWN0
aW9uLAorICAgICAgICBXID0gZXh0ZW50WzBdWzBdLCB3MCwgdzEsCisgICAgICAgIE4gPSBleHRl
bnRbMF1bMV0sIG4wLCBuMSwKKyAgICAgICAgRSA9IGV4dGVudFsxXVswXSwgZTAsIGUxLAorICAg
ICAgICBTID0gZXh0ZW50WzFdWzFdLCBzMCwgczEsCisgICAgICAgIGR4ID0gMCwKKyAgICAgICAg
ZHkgPSAwLAorICAgICAgICBtb3ZpbmcsCisgICAgICAgIHNoaWZ0aW5nID0gc2lnblggJiYgc2ln
blkgJiYga2V5cyAmJiBleHBvcnRzLmV2ZW50LnNoaWZ0S2V5LAorICAgICAgICBsb2NrWCwKKyAg
ICAgICAgbG9ja1ksCisgICAgICAgIHBvaW50ZXIgPSBleHBvcnRzLmV2ZW50LnRvdWNoZXMgPyB0
b3VjaGVyKGV4cG9ydHMuZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uaWRlbnRpZmllcikgOiBtb3Vz
ZSwKKyAgICAgICAgcG9pbnQwID0gcG9pbnRlcih0aGF0KSwKKyAgICAgICAgcG9pbnQgPSBwb2lu
dDAsCisgICAgICAgIGVtaXQgPSBlbWl0dGVyKHRoYXQsIGFyZ3VtZW50cywgdHJ1ZSkuYmVmb3Jl
c3RhcnQoKTsKKworICAgIGlmICh0eXBlID09PSAib3ZlcmxheSIpIHsKKyAgICAgIGlmIChzZWxl
Y3Rpb24pIG1vdmluZyA9IHRydWU7CisgICAgICBzdGF0ZS5zZWxlY3Rpb24gPSBzZWxlY3Rpb24g
PSBbCisgICAgICAgIFt3MCA9IGRpbSA9PT0gWSA/IFcgOiBwb2ludDBbMF0sIG4wID0gZGltID09
PSBYID8gTiA6IHBvaW50MFsxXV0sCisgICAgICAgIFtlMCA9IGRpbSA9PT0gWSA/IEUgOiB3MCwg
czAgPSBkaW0gPT09IFggPyBTIDogbjBdCisgICAgICBdOworICAgIH0gZWxzZSB7CisgICAgICB3
MCA9IHNlbGVjdGlvblswXVswXTsKKyAgICAgIG4wID0gc2VsZWN0aW9uWzBdWzFdOworICAgICAg
ZTAgPSBzZWxlY3Rpb25bMV1bMF07CisgICAgICBzMCA9IHNlbGVjdGlvblsxXVsxXTsKKyAgICB9
CisKKyAgICB3MSA9IHcwOworICAgIG4xID0gbjA7CisgICAgZTEgPSBlMDsKKyAgICBzMSA9IHMw
OworCisgICAgdmFyIGdyb3VwID0gc2VsZWN0KHRoYXQpCisgICAgICAgIC5hdHRyKCJwb2ludGVy
LWV2ZW50cyIsICJub25lIik7CisKKyAgICB2YXIgb3ZlcmxheSA9IGdyb3VwLnNlbGVjdEFsbCgi
Lm92ZXJsYXkiKQorICAgICAgICAuYXR0cigiY3Vyc29yIiwgY3Vyc29yc1t0eXBlXSk7CisKKyAg
ICBpZiAoZXhwb3J0cy5ldmVudC50b3VjaGVzKSB7CisgICAgICBlbWl0Lm1vdmVkID0gbW92ZWQ7
CisgICAgICBlbWl0LmVuZGVkID0gZW5kZWQ7CisgICAgfSBlbHNlIHsKKyAgICAgIHZhciB2aWV3
ID0gc2VsZWN0KGV4cG9ydHMuZXZlbnQudmlldykKKyAgICAgICAgICAub24oIm1vdXNlbW92ZS5i
cnVzaCIsIG1vdmVkLCB0cnVlKQorICAgICAgICAgIC5vbigibW91c2V1cC5icnVzaCIsIGVuZGVk
LCB0cnVlKTsKKyAgICAgIGlmIChrZXlzKSB2aWV3CisgICAgICAgICAgLm9uKCJrZXlkb3duLmJy
dXNoIiwga2V5ZG93bmVkLCB0cnVlKQorICAgICAgICAgIC5vbigia2V5dXAuYnJ1c2giLCBrZXl1
cHBlZCwgdHJ1ZSk7CisKKyAgICAgIGRyYWdEaXNhYmxlKGV4cG9ydHMuZXZlbnQudmlldyk7Cisg
ICAgfQorCisgICAgbm9wcm9wYWdhdGlvbiQxKCk7CisgICAgaW50ZXJydXB0KHRoYXQpOworICAg
IHJlZHJhdy5jYWxsKHRoYXQpOworICAgIGVtaXQuc3RhcnQoKTsKKworICAgIGZ1bmN0aW9uIG1v
dmVkKCkgeworICAgICAgdmFyIHBvaW50MSA9IHBvaW50ZXIodGhhdCk7CisgICAgICBpZiAoc2hp
ZnRpbmcgJiYgIWxvY2tYICYmICFsb2NrWSkgeworICAgICAgICBpZiAoTWF0aC5hYnMocG9pbnQx
WzBdIC0gcG9pbnRbMF0pID4gTWF0aC5hYnMocG9pbnQxWzFdIC0gcG9pbnRbMV0pKSBsb2NrWSA9
IHRydWU7CisgICAgICAgIGVsc2UgbG9ja1ggPSB0cnVlOworICAgICAgfQorICAgICAgcG9pbnQg
PSBwb2ludDE7CisgICAgICBtb3ZpbmcgPSB0cnVlOworICAgICAgbm9ldmVudCQxKCk7CisgICAg
ICBtb3ZlKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbW92ZSgpIHsKKyAgICAgIHZhciB0Owor
CisgICAgICBkeCA9IHBvaW50WzBdIC0gcG9pbnQwWzBdOworICAgICAgZHkgPSBwb2ludFsxXSAt
IHBvaW50MFsxXTsKKworICAgICAgc3dpdGNoIChtb2RlKSB7CisgICAgICAgIGNhc2UgTU9ERV9T
UEFDRToKKyAgICAgICAgY2FzZSBNT0RFX0RSQUc6IHsKKyAgICAgICAgICBpZiAoc2lnblgpIGR4
ID0gTWF0aC5tYXgoVyAtIHcwLCBNYXRoLm1pbihFIC0gZTAsIGR4KSksIHcxID0gdzAgKyBkeCwg
ZTEgPSBlMCArIGR4OworICAgICAgICAgIGlmIChzaWduWSkgZHkgPSBNYXRoLm1heChOIC0gbjAs
IE1hdGgubWluKFMgLSBzMCwgZHkpKSwgbjEgPSBuMCArIGR5LCBzMSA9IHMwICsgZHk7CisgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBNT0RFX0hBTkRMRTogeworICAg
ICAgICAgIGlmIChzaWduWCA8IDApIGR4ID0gTWF0aC5tYXgoVyAtIHcwLCBNYXRoLm1pbihFIC0g
dzAsIGR4KSksIHcxID0gdzAgKyBkeCwgZTEgPSBlMDsKKyAgICAgICAgICBlbHNlIGlmIChzaWdu
WCA+IDApIGR4ID0gTWF0aC5tYXgoVyAtIGUwLCBNYXRoLm1pbihFIC0gZTAsIGR4KSksIHcxID0g
dzAsIGUxID0gZTAgKyBkeDsKKyAgICAgICAgICBpZiAoc2lnblkgPCAwKSBkeSA9IE1hdGgubWF4
KE4gLSBuMCwgTWF0aC5taW4oUyAtIG4wLCBkeSkpLCBuMSA9IG4wICsgZHksIHMxID0gczA7Cisg
ICAgICAgICAgZWxzZSBpZiAoc2lnblkgPiAwKSBkeSA9IE1hdGgubWF4KE4gLSBzMCwgTWF0aC5t
aW4oUyAtIHMwLCBkeSkpLCBuMSA9IG4wLCBzMSA9IHMwICsgZHk7CisgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBNT0RFX0NFTlRFUjogeworICAgICAgICAgIGlmIChz
aWduWCkgdzEgPSBNYXRoLm1heChXLCBNYXRoLm1pbihFLCB3MCAtIGR4ICogc2lnblgpKSwgZTEg
PSBNYXRoLm1heChXLCBNYXRoLm1pbihFLCBlMCArIGR4ICogc2lnblgpKTsKKyAgICAgICAgICBp
ZiAoc2lnblkpIG4xID0gTWF0aC5tYXgoTiwgTWF0aC5taW4oUywgbjAgLSBkeSAqIHNpZ25ZKSks
IHMxID0gTWF0aC5tYXgoTiwgTWF0aC5taW4oUywgczAgKyBkeSAqIHNpZ25ZKSk7CisgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgaWYgKGUxIDwgdzEpIHsKKyAg
ICAgICAgc2lnblggKj0gLTE7CisgICAgICAgIHQgPSB3MCwgdzAgPSBlMCwgZTAgPSB0OworICAg
ICAgICB0ID0gdzEsIHcxID0gZTEsIGUxID0gdDsKKyAgICAgICAgaWYgKHR5cGUgaW4gZmxpcFgp
IG92ZXJsYXkuYXR0cigiY3Vyc29yIiwgY3Vyc29yc1t0eXBlID0gZmxpcFhbdHlwZV1dKTsKKyAg
ICAgIH0KKworICAgICAgaWYgKHMxIDwgbjEpIHsKKyAgICAgICAgc2lnblkgKj0gLTE7CisgICAg
ICAgIHQgPSBuMCwgbjAgPSBzMCwgczAgPSB0OworICAgICAgICB0ID0gbjEsIG4xID0gczEsIHMx
ID0gdDsKKyAgICAgICAgaWYgKHR5cGUgaW4gZmxpcFkpIG92ZXJsYXkuYXR0cigiY3Vyc29yIiwg
Y3Vyc29yc1t0eXBlID0gZmxpcFlbdHlwZV1dKTsKKyAgICAgIH0KKworICAgICAgaWYgKHN0YXRl
LnNlbGVjdGlvbikgc2VsZWN0aW9uID0gc3RhdGUuc2VsZWN0aW9uOyAvLyBNYXkgYmUgc2V0IGJ5
IGJydXNoLm1vdmUhCisgICAgICBpZiAobG9ja1gpIHcxID0gc2VsZWN0aW9uWzBdWzBdLCBlMSA9
IHNlbGVjdGlvblsxXVswXTsKKyAgICAgIGlmIChsb2NrWSkgbjEgPSBzZWxlY3Rpb25bMF1bMV0s
IHMxID0gc2VsZWN0aW9uWzFdWzFdOworCisgICAgICBpZiAoc2VsZWN0aW9uWzBdWzBdICE9PSB3
MQorICAgICAgICAgIHx8IHNlbGVjdGlvblswXVsxXSAhPT0gbjEKKyAgICAgICAgICB8fCBzZWxl
Y3Rpb25bMV1bMF0gIT09IGUxCisgICAgICAgICAgfHwgc2VsZWN0aW9uWzFdWzFdICE9PSBzMSkg
eworICAgICAgICBzdGF0ZS5zZWxlY3Rpb24gPSBbW3cxLCBuMV0sIFtlMSwgczFdXTsKKyAgICAg
ICAgcmVkcmF3LmNhbGwodGhhdCk7CisgICAgICAgIGVtaXQuYnJ1c2goKTsKKyAgICAgIH0KKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBlbmRlZCgpIHsKKyAgICAgIG5vcHJvcGFnYXRpb24kMSgpOwor
ICAgICAgaWYgKGV4cG9ydHMuZXZlbnQudG91Y2hlcykgeworICAgICAgICBpZiAoZXhwb3J0cy5l
dmVudC50b3VjaGVzLmxlbmd0aCkgcmV0dXJuOworICAgICAgICBpZiAodG91Y2hlbmRpbmcpIGNs
ZWFyVGltZW91dCh0b3VjaGVuZGluZyk7CisgICAgICAgIHRvdWNoZW5kaW5nID0gc2V0VGltZW91
dChmdW5jdGlvbigpIHsgdG91Y2hlbmRpbmcgPSBudWxsOyB9LCA1MDApOyAvLyBHaG9zdCBjbGlj
a3MgYXJlIGRlbGF5ZWQhCisgICAgICB9IGVsc2UgeworICAgICAgICB5ZXNkcmFnKGV4cG9ydHMu
ZXZlbnQudmlldywgbW92aW5nKTsKKyAgICAgICAgdmlldy5vbigia2V5ZG93bi5icnVzaCBrZXl1
cC5icnVzaCBtb3VzZW1vdmUuYnJ1c2ggbW91c2V1cC5icnVzaCIsIG51bGwpOworICAgICAgfQor
ICAgICAgZ3JvdXAuYXR0cigicG9pbnRlci1ldmVudHMiLCAiYWxsIik7CisgICAgICBvdmVybGF5
LmF0dHIoImN1cnNvciIsIGN1cnNvcnMub3ZlcmxheSk7CisgICAgICBpZiAoc3RhdGUuc2VsZWN0
aW9uKSBzZWxlY3Rpb24gPSBzdGF0ZS5zZWxlY3Rpb247IC8vIE1heSBiZSBzZXQgYnkgYnJ1c2gu
bW92ZSAob24gc3RhcnQpIQorICAgICAgaWYgKGVtcHR5JDEoc2VsZWN0aW9uKSkgc3RhdGUuc2Vs
ZWN0aW9uID0gbnVsbCwgcmVkcmF3LmNhbGwodGhhdCk7CisgICAgICBlbWl0LmVuZCgpOworICAg
IH0KKworICAgIGZ1bmN0aW9uIGtleWRvd25lZCgpIHsKKyAgICAgIHN3aXRjaCAoZXhwb3J0cy5l
dmVudC5rZXlDb2RlKSB7CisgICAgICAgIGNhc2UgMTY6IHsgLy8gU0hJRlQKKyAgICAgICAgICBz
aGlmdGluZyA9IHNpZ25YICYmIHNpZ25ZOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9Cisg
ICAgICAgIGNhc2UgMTg6IHsgLy8gQUxUCisgICAgICAgICAgaWYgKG1vZGUgPT09IE1PREVfSEFO
RExFKSB7CisgICAgICAgICAgICBpZiAoc2lnblgpIGUwID0gZTEgLSBkeCAqIHNpZ25YLCB3MCA9
IHcxICsgZHggKiBzaWduWDsKKyAgICAgICAgICAgIGlmIChzaWduWSkgczAgPSBzMSAtIGR5ICog
c2lnblksIG4wID0gbjEgKyBkeSAqIHNpZ25ZOworICAgICAgICAgICAgbW9kZSA9IE1PREVfQ0VO
VEVSOworICAgICAgICAgICAgbW92ZSgpOworICAgICAgICAgIH0KKyAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorICAgICAgICBjYXNlIDMyOiB7IC8vIFNQQUNFOyB0YWtlcyBwcmlvcml0eSBv
dmVyIEFMVAorICAgICAgICAgIGlmIChtb2RlID09PSBNT0RFX0hBTkRMRSB8fCBtb2RlID09PSBN
T0RFX0NFTlRFUikgeworICAgICAgICAgICAgaWYgKHNpZ25YIDwgMCkgZTAgPSBlMSAtIGR4OyBl
bHNlIGlmIChzaWduWCA+IDApIHcwID0gdzEgLSBkeDsKKyAgICAgICAgICAgIGlmIChzaWduWSA8
IDApIHMwID0gczEgLSBkeTsgZWxzZSBpZiAoc2lnblkgPiAwKSBuMCA9IG4xIC0gZHk7CisgICAg
ICAgICAgICBtb2RlID0gTU9ERV9TUEFDRTsKKyAgICAgICAgICAgIG92ZXJsYXkuYXR0cigiY3Vy
c29yIiwgY3Vyc29ycy5zZWxlY3Rpb24pOworICAgICAgICAgICAgbW92ZSgpOworICAgICAgICAg
IH0KKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBkZWZhdWx0OiByZXR1cm47
CisgICAgICB9CisgICAgICBub2V2ZW50JDEoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBrZXl1
cHBlZCgpIHsKKyAgICAgIHN3aXRjaCAoZXhwb3J0cy5ldmVudC5rZXlDb2RlKSB7CisgICAgICAg
IGNhc2UgMTY6IHsgLy8gU0hJRlQKKyAgICAgICAgICBpZiAoc2hpZnRpbmcpIHsKKyAgICAgICAg
ICAgIGxvY2tYID0gbG9ja1kgPSBzaGlmdGluZyA9IGZhbHNlOworICAgICAgICAgICAgbW92ZSgp
OworICAgICAgICAgIH0KKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNl
IDE4OiB7IC8vIEFMVAorICAgICAgICAgIGlmIChtb2RlID09PSBNT0RFX0NFTlRFUikgeworICAg
ICAgICAgICAgaWYgKHNpZ25YIDwgMCkgZTAgPSBlMTsgZWxzZSBpZiAoc2lnblggPiAwKSB3MCA9
IHcxOworICAgICAgICAgICAgaWYgKHNpZ25ZIDwgMCkgczAgPSBzMTsgZWxzZSBpZiAoc2lnblkg
PiAwKSBuMCA9IG4xOworICAgICAgICAgICAgbW9kZSA9IE1PREVfSEFORExFOworICAgICAgICAg
ICAgbW92ZSgpOworICAgICAgICAgIH0KKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
ICAgICBjYXNlIDMyOiB7IC8vIFNQQUNFCisgICAgICAgICAgaWYgKG1vZGUgPT09IE1PREVfU1BB
Q0UpIHsKKyAgICAgICAgICAgIGlmIChleHBvcnRzLmV2ZW50LmFsdEtleSkgeworICAgICAgICAg
ICAgICBpZiAoc2lnblgpIGUwID0gZTEgLSBkeCAqIHNpZ25YLCB3MCA9IHcxICsgZHggKiBzaWdu
WDsKKyAgICAgICAgICAgICAgaWYgKHNpZ25ZKSBzMCA9IHMxIC0gZHkgKiBzaWduWSwgbjAgPSBu
MSArIGR5ICogc2lnblk7CisgICAgICAgICAgICAgIG1vZGUgPSBNT0RFX0NFTlRFUjsKKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIGlmIChzaWduWCA8IDApIGUwID0gZTE7IGVs
c2UgaWYgKHNpZ25YID4gMCkgdzAgPSB3MTsKKyAgICAgICAgICAgICAgaWYgKHNpZ25ZIDwgMCkg
czAgPSBzMTsgZWxzZSBpZiAoc2lnblkgPiAwKSBuMCA9IG4xOworICAgICAgICAgICAgICBtb2Rl
ID0gTU9ERV9IQU5ETEU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBvdmVybGF5LmF0dHIo
ImN1cnNvciIsIGN1cnNvcnNbdHlwZV0pOworICAgICAgICAgICAgbW92ZSgpOworICAgICAgICAg
IH0KKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBkZWZhdWx0OiByZXR1cm47
CisgICAgICB9CisgICAgICBub2V2ZW50JDEoKTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiB0
b3VjaG1vdmVkKCkgeworICAgIGVtaXR0ZXIodGhpcywgYXJndW1lbnRzKS5tb3ZlZCgpOworICB9
CisKKyAgZnVuY3Rpb24gdG91Y2hlbmRlZCgpIHsKKyAgICBlbWl0dGVyKHRoaXMsIGFyZ3VtZW50
cykuZW5kZWQoKTsKKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemUoKSB7CisgICAgdmFyIHN0
YXRlID0gdGhpcy5fX2JydXNoIHx8IHtzZWxlY3Rpb246IG51bGx9OworICAgIHN0YXRlLmV4dGVu
dCA9IG51bWJlcjIoZXh0ZW50LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpOworICAgIHN0YXRlLmRp
bSA9IGRpbTsKKyAgICByZXR1cm4gc3RhdGU7CisgIH0KKworICBicnVzaC5leHRlbnQgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZXh0ZW50ID0gdHlwZW9m
IF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNChudW1iZXIyKF8pKSwgYnJ1c2gpIDog
ZXh0ZW50OworICB9OworCisgIGJydXNoLmZpbHRlciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aCA/IChmaWx0ZXIgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/
IF8gOiBjb25zdGFudCQ0KCEhXyksIGJydXNoKSA6IGZpbHRlcjsKKyAgfTsKKworICBicnVzaC50
b3VjaGFibGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
dG91Y2hhYmxlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNCghIV8p
LCBicnVzaCkgOiB0b3VjaGFibGU7CisgIH07CisKKyAgYnJ1c2guaGFuZGxlU2l6ZSA9IGZ1bmN0
aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChoYW5kbGVTaXplID0gK18s
IGJydXNoKSA6IGhhbmRsZVNpemU7CisgIH07CisKKyAgYnJ1c2gua2V5TW9kaWZpZXJzID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGtleXMgPSAhIV8sIGJy
dXNoKSA6IGtleXM7CisgIH07CisKKyAgYnJ1c2gub24gPSBmdW5jdGlvbigpIHsKKyAgICB2YXIg
dmFsdWUgPSBsaXN0ZW5lcnMub24uYXBwbHkobGlzdGVuZXJzLCBhcmd1bWVudHMpOworICAgIHJl
dHVybiB2YWx1ZSA9PT0gbGlzdGVuZXJzID8gYnJ1c2ggOiB2YWx1ZTsKKyAgfTsKKworICByZXR1
cm4gYnJ1c2g7Cit9CisKK3ZhciBjb3MgPSBNYXRoLmNvczsKK3ZhciBzaW4gPSBNYXRoLnNpbjsK
K3ZhciBwaSQxID0gTWF0aC5QSTsKK3ZhciBoYWxmUGkkMSA9IHBpJDEgLyAyOwordmFyIHRhdSQx
ID0gcGkkMSAqIDI7Cit2YXIgbWF4JDEgPSBNYXRoLm1heDsKKworZnVuY3Rpb24gY29tcGFyZVZh
bHVlKGNvbXBhcmUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKGEsIGIpIHsKKyAgICByZXR1cm4gY29t
cGFyZSgKKyAgICAgIGEuc291cmNlLnZhbHVlICsgYS50YXJnZXQudmFsdWUsCisgICAgICBiLnNv
dXJjZS52YWx1ZSArIGIudGFyZ2V0LnZhbHVlCisgICAgKTsKKyAgfTsKK30KKworZnVuY3Rpb24g
Y2hvcmQoKSB7CisgIHZhciBwYWRBbmdsZSA9IDAsCisgICAgICBzb3J0R3JvdXBzID0gbnVsbCwK
KyAgICAgIHNvcnRTdWJncm91cHMgPSBudWxsLAorICAgICAgc29ydENob3JkcyA9IG51bGw7CisK
KyAgZnVuY3Rpb24gY2hvcmQobWF0cml4KSB7CisgICAgdmFyIG4gPSBtYXRyaXgubGVuZ3RoLAor
ICAgICAgICBncm91cFN1bXMgPSBbXSwKKyAgICAgICAgZ3JvdXBJbmRleCA9IHNlcXVlbmNlKG4p
LAorICAgICAgICBzdWJncm91cEluZGV4ID0gW10sCisgICAgICAgIGNob3JkcyA9IFtdLAorICAg
ICAgICBncm91cHMgPSBjaG9yZHMuZ3JvdXBzID0gbmV3IEFycmF5KG4pLAorICAgICAgICBzdWJn
cm91cHMgPSBuZXcgQXJyYXkobiAqIG4pLAorICAgICAgICBrLAorICAgICAgICB4LAorICAgICAg
ICB4MCwKKyAgICAgICAgZHgsCisgICAgICAgIGksCisgICAgICAgIGo7CisKKyAgICAvLyBDb21w
dXRlIHRoZSBzdW0uCisgICAgayA9IDAsIGkgPSAtMTsgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAg
IHggPSAwLCBqID0gLTE7IHdoaWxlICgrK2ogPCBuKSB7CisgICAgICAgIHggKz0gbWF0cml4W2ld
W2pdOworICAgICAgfQorICAgICAgZ3JvdXBTdW1zLnB1c2goeCk7CisgICAgICBzdWJncm91cElu
ZGV4LnB1c2goc2VxdWVuY2UobikpOworICAgICAgayArPSB4OworICAgIH0KKworICAgIC8vIFNv
cnQgZ3JvdXBz4oCmCisgICAgaWYgKHNvcnRHcm91cHMpIGdyb3VwSW5kZXguc29ydChmdW5jdGlv
bihhLCBiKSB7CisgICAgICByZXR1cm4gc29ydEdyb3Vwcyhncm91cFN1bXNbYV0sIGdyb3VwU3Vt
c1tiXSk7CisgICAgfSk7CisKKyAgICAvLyBTb3J0IHN1Ymdyb3Vwc+KApgorICAgIGlmIChzb3J0
U3ViZ3JvdXBzKSBzdWJncm91cEluZGV4LmZvckVhY2goZnVuY3Rpb24oZCwgaSkgeworICAgICAg
ZC5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsKKyAgICAgICAgcmV0dXJuIHNvcnRTdWJncm91cHMobWF0
cml4W2ldW2FdLCBtYXRyaXhbaV1bYl0pOworICAgICAgfSk7CisgICAgfSk7CisKKyAgICAvLyBD
b252ZXJ0IHRoZSBzdW0gdG8gc2NhbGluZyBmYWN0b3IgZm9yIFswLCAycGldLgorICAgIC8vIFRP
RE8gQWxsb3cgc3RhcnQgYW5kIGVuZCBhbmdsZSB0byBiZSBzcGVjaWZpZWQ/CisgICAgLy8gVE9E
TyBBbGxvdyBwYWRkaW5nIHRvIGJlIHNwZWNpZmllZCBhcyBwZXJjZW50YWdlPworICAgIGsgPSBt
YXgkMSgwLCB0YXUkMSAtIHBhZEFuZ2xlICogbikgLyBrOworICAgIGR4ID0gayA/IHBhZEFuZ2xl
IDogdGF1JDEgLyBuOworCisgICAgLy8gQ29tcHV0ZSB0aGUgc3RhcnQgYW5kIGVuZCBhbmdsZSBm
b3IgZWFjaCBncm91cCBhbmQgc3ViZ3JvdXAuCisgICAgLy8gTm90ZTogT3BlcmEgaGFzIGEgYnVn
IHJlb3JkZXJpbmcgb2JqZWN0IGxpdGVyYWwgcHJvcGVydGllcyEKKyAgICB4ID0gMCwgaSA9IC0x
OyB3aGlsZSAoKytpIDwgbikgeworICAgICAgeDAgPSB4LCBqID0gLTE7IHdoaWxlICgrK2ogPCBu
KSB7CisgICAgICAgIHZhciBkaSA9IGdyb3VwSW5kZXhbaV0sCisgICAgICAgICAgICBkaiA9IHN1
Ymdyb3VwSW5kZXhbZGldW2pdLAorICAgICAgICAgICAgdiA9IG1hdHJpeFtkaV1bZGpdLAorICAg
ICAgICAgICAgYTAgPSB4LAorICAgICAgICAgICAgYTEgPSB4ICs9IHYgKiBrOworICAgICAgICBz
dWJncm91cHNbZGogKiBuICsgZGldID0geworICAgICAgICAgIGluZGV4OiBkaSwKKyAgICAgICAg
ICBzdWJpbmRleDogZGosCisgICAgICAgICAgc3RhcnRBbmdsZTogYTAsCisgICAgICAgICAgZW5k
QW5nbGU6IGExLAorICAgICAgICAgIHZhbHVlOiB2CisgICAgICAgIH07CisgICAgICB9CisgICAg
ICBncm91cHNbZGldID0geworICAgICAgICBpbmRleDogZGksCisgICAgICAgIHN0YXJ0QW5nbGU6
IHgwLAorICAgICAgICBlbmRBbmdsZTogeCwKKyAgICAgICAgdmFsdWU6IGdyb3VwU3Vtc1tkaV0K
KyAgICAgIH07CisgICAgICB4ICs9IGR4OworICAgIH0KKworICAgIC8vIEdlbmVyYXRlIGNob3Jk
cyBmb3IgZWFjaCAobm9uLWVtcHR5KSBzdWJncm91cC1zdWJncm91cCBsaW5rLgorICAgIGkgPSAt
MTsgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIGogPSBpIC0gMTsgd2hpbGUgKCsraiA8IG4pIHsK
KyAgICAgICAgdmFyIHNvdXJjZSA9IHN1Ymdyb3Vwc1tqICogbiArIGldLAorICAgICAgICAgICAg
dGFyZ2V0ID0gc3ViZ3JvdXBzW2kgKiBuICsgal07CisgICAgICAgIGlmIChzb3VyY2UudmFsdWUg
fHwgdGFyZ2V0LnZhbHVlKSB7CisgICAgICAgICAgY2hvcmRzLnB1c2goc291cmNlLnZhbHVlIDwg
dGFyZ2V0LnZhbHVlCisgICAgICAgICAgICAgID8ge3NvdXJjZTogdGFyZ2V0LCB0YXJnZXQ6IHNv
dXJjZX0KKyAgICAgICAgICAgICAgOiB7c291cmNlOiBzb3VyY2UsIHRhcmdldDogdGFyZ2V0fSk7
CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gc29ydENob3JkcyA/IGNo
b3Jkcy5zb3J0KHNvcnRDaG9yZHMpIDogY2hvcmRzOworICB9CisKKyAgY2hvcmQucGFkQW5nbGUg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocGFkQW5nbGUg
PSBtYXgkMSgwLCBfKSwgY2hvcmQpIDogcGFkQW5nbGU7CisgIH07CisKKyAgY2hvcmQuc29ydEdy
b3VwcyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzb3J0
R3JvdXBzID0gXywgY2hvcmQpIDogc29ydEdyb3VwczsKKyAgfTsKKworICBjaG9yZC5zb3J0U3Vi
Z3JvdXBzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNv
cnRTdWJncm91cHMgPSBfLCBjaG9yZCkgOiBzb3J0U3ViZ3JvdXBzOworICB9OworCisgIGNob3Jk
LnNvcnRDaG9yZHMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PyAoXyA9PSBudWxsID8gc29ydENob3JkcyA9IG51bGwgOiAoc29ydENob3JkcyA9IGNvbXBhcmVW
YWx1ZShfKSkuXyA9IF8sIGNob3JkKSA6IHNvcnRDaG9yZHMgJiYgc29ydENob3Jkcy5fOworICB9
OworCisgIHJldHVybiBjaG9yZDsKK30KKwordmFyIHNsaWNlJDIgPSBBcnJheS5wcm90b3R5cGUu
c2xpY2U7CisKK2Z1bmN0aW9uIGNvbnN0YW50JDUoeCkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7
CisgICAgcmV0dXJuIHg7CisgIH07Cit9CisKK3ZhciBwaSQyID0gTWF0aC5QSSwKKyAgICB0YXUk
MiA9IDIgKiBwaSQyLAorICAgIGVwc2lsb24kMSA9IDFlLTYsCisgICAgdGF1RXBzaWxvbiA9IHRh
dSQyIC0gZXBzaWxvbiQxOworCitmdW5jdGlvbiBQYXRoKCkgeworICB0aGlzLl94MCA9IHRoaXMu
X3kwID0gLy8gc3RhcnQgb2YgY3VycmVudCBzdWJwYXRoCisgIHRoaXMuX3gxID0gdGhpcy5feTEg
PSBudWxsOyAvLyBlbmQgb2YgY3VycmVudCBzdWJwYXRoCisgIHRoaXMuXyA9ICIiOworfQorCitm
dW5jdGlvbiBwYXRoKCkgeworICByZXR1cm4gbmV3IFBhdGg7Cit9CisKK1BhdGgucHJvdG90eXBl
ID0gcGF0aC5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBQYXRoLAorICBtb3ZlVG86IGZ1
bmN0aW9uKHgsIHkpIHsKKyAgICB0aGlzLl8gKz0gIk0iICsgKHRoaXMuX3gwID0gdGhpcy5feDEg
PSAreCkgKyAiLCIgKyAodGhpcy5feTAgPSB0aGlzLl95MSA9ICt5KTsKKyAgfSwKKyAgY2xvc2VQ
YXRoOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5feDEgIT09IG51bGwpIHsKKyAgICAgIHRo
aXMuX3gxID0gdGhpcy5feDAsIHRoaXMuX3kxID0gdGhpcy5feTA7CisgICAgICB0aGlzLl8gKz0g
IloiOworICAgIH0KKyAgfSwKKyAgbGluZVRvOiBmdW5jdGlvbih4LCB5KSB7CisgICAgdGhpcy5f
ICs9ICJMIiArICh0aGlzLl94MSA9ICt4KSArICIsIiArICh0aGlzLl95MSA9ICt5KTsKKyAgfSwK
KyAgcXVhZHJhdGljQ3VydmVUbzogZnVuY3Rpb24oeDEsIHkxLCB4LCB5KSB7CisgICAgdGhpcy5f
ICs9ICJRIiArICgreDEpICsgIiwiICsgKCt5MSkgKyAiLCIgKyAodGhpcy5feDEgPSAreCkgKyAi
LCIgKyAodGhpcy5feTEgPSAreSk7CisgIH0sCisgIGJlemllckN1cnZlVG86IGZ1bmN0aW9uKHgx
LCB5MSwgeDIsIHkyLCB4LCB5KSB7CisgICAgdGhpcy5fICs9ICJDIiArICgreDEpICsgIiwiICsg
KCt5MSkgKyAiLCIgKyAoK3gyKSArICIsIiArICgreTIpICsgIiwiICsgKHRoaXMuX3gxID0gK3gp
ICsgIiwiICsgKHRoaXMuX3kxID0gK3kpOworICB9LAorICBhcmNUbzogZnVuY3Rpb24oeDEsIHkx
LCB4MiwgeTIsIHIpIHsKKyAgICB4MSA9ICt4MSwgeTEgPSAreTEsIHgyID0gK3gyLCB5MiA9ICt5
MiwgciA9ICtyOworICAgIHZhciB4MCA9IHRoaXMuX3gxLAorICAgICAgICB5MCA9IHRoaXMuX3kx
LAorICAgICAgICB4MjEgPSB4MiAtIHgxLAorICAgICAgICB5MjEgPSB5MiAtIHkxLAorICAgICAg
ICB4MDEgPSB4MCAtIHgxLAorICAgICAgICB5MDEgPSB5MCAtIHkxLAorICAgICAgICBsMDFfMiA9
IHgwMSAqIHgwMSArIHkwMSAqIHkwMTsKKworICAgIC8vIElzIHRoZSByYWRpdXMgbmVnYXRpdmU/
IEVycm9yLgorICAgIGlmIChyIDwgMCkgdGhyb3cgbmV3IEVycm9yKCJuZWdhdGl2ZSByYWRpdXM6
ICIgKyByKTsKKworICAgIC8vIElzIHRoaXMgcGF0aCBlbXB0eT8gTW92ZSB0byAoeDEseTEpLgor
ICAgIGlmICh0aGlzLl94MSA9PT0gbnVsbCkgeworICAgICAgdGhpcy5fICs9ICJNIiArICh0aGlz
Ll94MSA9IHgxKSArICIsIiArICh0aGlzLl95MSA9IHkxKTsKKyAgICB9CisKKyAgICAvLyBPciwg
aXMgKHgxLHkxKSBjb2luY2lkZW50IHdpdGggKHgwLHkwKT8gRG8gbm90aGluZy4KKyAgICBlbHNl
IGlmICghKGwwMV8yID4gZXBzaWxvbiQxKSk7CisKKyAgICAvLyBPciwgYXJlICh4MCx5MCksICh4
MSx5MSkgYW5kICh4Mix5MikgY29sbGluZWFyPworICAgIC8vIEVxdWl2YWxlbnRseSwgaXMgKHgx
LHkxKSBjb2luY2lkZW50IHdpdGggKHgyLHkyKT8KKyAgICAvLyBPciwgaXMgdGhlIHJhZGl1cyB6
ZXJvPyBMaW5lIHRvICh4MSx5MSkuCisgICAgZWxzZSBpZiAoIShNYXRoLmFicyh5MDEgKiB4MjEg
LSB5MjEgKiB4MDEpID4gZXBzaWxvbiQxKSB8fCAhcikgeworICAgICAgdGhpcy5fICs9ICJMIiAr
ICh0aGlzLl94MSA9IHgxKSArICIsIiArICh0aGlzLl95MSA9IHkxKTsKKyAgICB9CisKKyAgICAv
LyBPdGhlcndpc2UsIGRyYXcgYW4gYXJjIQorICAgIGVsc2UgeworICAgICAgdmFyIHgyMCA9IHgy
IC0geDAsCisgICAgICAgICAgeTIwID0geTIgLSB5MCwKKyAgICAgICAgICBsMjFfMiA9IHgyMSAq
IHgyMSArIHkyMSAqIHkyMSwKKyAgICAgICAgICBsMjBfMiA9IHgyMCAqIHgyMCArIHkyMCAqIHky
MCwKKyAgICAgICAgICBsMjEgPSBNYXRoLnNxcnQobDIxXzIpLAorICAgICAgICAgIGwwMSA9IE1h
dGguc3FydChsMDFfMiksCisgICAgICAgICAgbCA9IHIgKiBNYXRoLnRhbigocGkkMiAtIE1hdGgu
YWNvcygobDIxXzIgKyBsMDFfMiAtIGwyMF8yKSAvICgyICogbDIxICogbDAxKSkpIC8gMiksCisg
ICAgICAgICAgdDAxID0gbCAvIGwwMSwKKyAgICAgICAgICB0MjEgPSBsIC8gbDIxOworCisgICAg
ICAvLyBJZiB0aGUgc3RhcnQgdGFuZ2VudCBpcyBub3QgY29pbmNpZGVudCB3aXRoICh4MCx5MCks
IGxpbmUgdG8uCisgICAgICBpZiAoTWF0aC5hYnModDAxIC0gMSkgPiBlcHNpbG9uJDEpIHsKKyAg
ICAgICAgdGhpcy5fICs9ICJMIiArICh4MSArIHQwMSAqIHgwMSkgKyAiLCIgKyAoeTEgKyB0MDEg
KiB5MDEpOworICAgICAgfQorCisgICAgICB0aGlzLl8gKz0gIkEiICsgciArICIsIiArIHIgKyAi
LDAsMCwiICsgKCsoeTAxICogeDIwID4geDAxICogeTIwKSkgKyAiLCIgKyAodGhpcy5feDEgPSB4
MSArIHQyMSAqIHgyMSkgKyAiLCIgKyAodGhpcy5feTEgPSB5MSArIHQyMSAqIHkyMSk7CisgICAg
fQorICB9LAorICBhcmM6IGZ1bmN0aW9uKHgsIHksIHIsIGEwLCBhMSwgY2N3KSB7CisgICAgeCA9
ICt4LCB5ID0gK3ksIHIgPSArciwgY2N3ID0gISFjY3c7CisgICAgdmFyIGR4ID0gciAqIE1hdGgu
Y29zKGEwKSwKKyAgICAgICAgZHkgPSByICogTWF0aC5zaW4oYTApLAorICAgICAgICB4MCA9IHgg
KyBkeCwKKyAgICAgICAgeTAgPSB5ICsgZHksCisgICAgICAgIGN3ID0gMSBeIGNjdywKKyAgICAg
ICAgZGEgPSBjY3cgPyBhMCAtIGExIDogYTEgLSBhMDsKKworICAgIC8vIElzIHRoZSByYWRpdXMg
bmVnYXRpdmU/IEVycm9yLgorICAgIGlmIChyIDwgMCkgdGhyb3cgbmV3IEVycm9yKCJuZWdhdGl2
ZSByYWRpdXM6ICIgKyByKTsKKworICAgIC8vIElzIHRoaXMgcGF0aCBlbXB0eT8gTW92ZSB0byAo
eDAseTApLgorICAgIGlmICh0aGlzLl94MSA9PT0gbnVsbCkgeworICAgICAgdGhpcy5fICs9ICJN
IiArIHgwICsgIiwiICsgeTA7CisgICAgfQorCisgICAgLy8gT3IsIGlzICh4MCx5MCkgbm90IGNv
aW5jaWRlbnQgd2l0aCB0aGUgcHJldmlvdXMgcG9pbnQ/IExpbmUgdG8gKHgwLHkwKS4KKyAgICBl
bHNlIGlmIChNYXRoLmFicyh0aGlzLl94MSAtIHgwKSA+IGVwc2lsb24kMSB8fCBNYXRoLmFicyh0
aGlzLl95MSAtIHkwKSA+IGVwc2lsb24kMSkgeworICAgICAgdGhpcy5fICs9ICJMIiArIHgwICsg
IiwiICsgeTA7CisgICAgfQorCisgICAgLy8gSXMgdGhpcyBhcmMgZW1wdHk/IFdl4oCZcmUgZG9u
ZS4KKyAgICBpZiAoIXIpIHJldHVybjsKKworICAgIC8vIERvZXMgdGhlIGFuZ2xlIGdvIHRoZSB3
cm9uZyB3YXk/IEZsaXAgdGhlIGRpcmVjdGlvbi4KKyAgICBpZiAoZGEgPCAwKSBkYSA9IGRhICUg
dGF1JDIgKyB0YXUkMjsKKworICAgIC8vIElzIHRoaXMgYSBjb21wbGV0ZSBjaXJjbGU/IERyYXcg
dHdvIGFyY3MgdG8gY29tcGxldGUgdGhlIGNpcmNsZS4KKyAgICBpZiAoZGEgPiB0YXVFcHNpbG9u
KSB7CisgICAgICB0aGlzLl8gKz0gIkEiICsgciArICIsIiArIHIgKyAiLDAsMSwiICsgY3cgKyAi
LCIgKyAoeCAtIGR4KSArICIsIiArICh5IC0gZHkpICsgIkEiICsgciArICIsIiArIHIgKyAiLDAs
MSwiICsgY3cgKyAiLCIgKyAodGhpcy5feDEgPSB4MCkgKyAiLCIgKyAodGhpcy5feTEgPSB5MCk7
CisgICAgfQorCisgICAgLy8gSXMgdGhpcyBhcmMgbm9uLWVtcHR5PyBEcmF3IGFuIGFyYyEKKyAg
ICBlbHNlIGlmIChkYSA+IGVwc2lsb24kMSkgeworICAgICAgdGhpcy5fICs9ICJBIiArIHIgKyAi
LCIgKyByICsgIiwwLCIgKyAoKyhkYSA+PSBwaSQyKSkgKyAiLCIgKyBjdyArICIsIiArICh0aGlz
Ll94MSA9IHggKyByICogTWF0aC5jb3MoYTEpKSArICIsIiArICh0aGlzLl95MSA9IHkgKyByICog
TWF0aC5zaW4oYTEpKTsKKyAgICB9CisgIH0sCisgIHJlY3Q6IGZ1bmN0aW9uKHgsIHksIHcsIGgp
IHsKKyAgICB0aGlzLl8gKz0gIk0iICsgKHRoaXMuX3gwID0gdGhpcy5feDEgPSAreCkgKyAiLCIg
KyAodGhpcy5feTAgPSB0aGlzLl95MSA9ICt5KSArICJoIiArICgrdykgKyAidiIgKyAoK2gpICsg
ImgiICsgKC13KSArICJaIjsKKyAgfSwKKyAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeworICAgIHJl
dHVybiB0aGlzLl87CisgIH0KK307CisKK2Z1bmN0aW9uIGRlZmF1bHRTb3VyY2UoZCkgeworICBy
ZXR1cm4gZC5zb3VyY2U7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRUYXJnZXQoZCkgeworICByZXR1
cm4gZC50YXJnZXQ7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRSYWRpdXMoZCkgeworICByZXR1cm4g
ZC5yYWRpdXM7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRTdGFydEFuZ2xlKGQpIHsKKyAgcmV0dXJu
IGQuc3RhcnRBbmdsZTsKK30KKworZnVuY3Rpb24gZGVmYXVsdEVuZEFuZ2xlKGQpIHsKKyAgcmV0
dXJuIGQuZW5kQW5nbGU7Cit9CisKK2Z1bmN0aW9uIHJpYmJvbigpIHsKKyAgdmFyIHNvdXJjZSA9
IGRlZmF1bHRTb3VyY2UsCisgICAgICB0YXJnZXQgPSBkZWZhdWx0VGFyZ2V0LAorICAgICAgcmFk
aXVzID0gZGVmYXVsdFJhZGl1cywKKyAgICAgIHN0YXJ0QW5nbGUgPSBkZWZhdWx0U3RhcnRBbmds
ZSwKKyAgICAgIGVuZEFuZ2xlID0gZGVmYXVsdEVuZEFuZ2xlLAorICAgICAgY29udGV4dCA9IG51
bGw7CisKKyAgZnVuY3Rpb24gcmliYm9uKCkgeworICAgIHZhciBidWZmZXIsCisgICAgICAgIGFy
Z3YgPSBzbGljZSQyLmNhbGwoYXJndW1lbnRzKSwKKyAgICAgICAgcyA9IHNvdXJjZS5hcHBseSh0
aGlzLCBhcmd2KSwKKyAgICAgICAgdCA9IHRhcmdldC5hcHBseSh0aGlzLCBhcmd2KSwKKyAgICAg
ICAgc3IgPSArcmFkaXVzLmFwcGx5KHRoaXMsIChhcmd2WzBdID0gcywgYXJndikpLAorICAgICAg
ICBzYTAgPSBzdGFydEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3YpIC0gaGFsZlBpJDEsCisgICAgICAg
IHNhMSA9IGVuZEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3YpIC0gaGFsZlBpJDEsCisgICAgICAgIHN4
MCA9IHNyICogY29zKHNhMCksCisgICAgICAgIHN5MCA9IHNyICogc2luKHNhMCksCisgICAgICAg
IHRyID0gK3JhZGl1cy5hcHBseSh0aGlzLCAoYXJndlswXSA9IHQsIGFyZ3YpKSwKKyAgICAgICAg
dGEwID0gc3RhcnRBbmdsZS5hcHBseSh0aGlzLCBhcmd2KSAtIGhhbGZQaSQxLAorICAgICAgICB0
YTEgPSBlbmRBbmdsZS5hcHBseSh0aGlzLCBhcmd2KSAtIGhhbGZQaSQxOworCisgICAgaWYgKCFj
b250ZXh0KSBjb250ZXh0ID0gYnVmZmVyID0gcGF0aCgpOworCisgICAgY29udGV4dC5tb3ZlVG8o
c3gwLCBzeTApOworICAgIGNvbnRleHQuYXJjKDAsIDAsIHNyLCBzYTAsIHNhMSk7CisgICAgaWYg
KHNhMCAhPT0gdGEwIHx8IHNhMSAhPT0gdGExKSB7IC8vIFRPRE8gc3IgIT09IHRyPworICAgICAg
Y29udGV4dC5xdWFkcmF0aWNDdXJ2ZVRvKDAsIDAsIHRyICogY29zKHRhMCksIHRyICogc2luKHRh
MCkpOworICAgICAgY29udGV4dC5hcmMoMCwgMCwgdHIsIHRhMCwgdGExKTsKKyAgICB9CisgICAg
Y29udGV4dC5xdWFkcmF0aWNDdXJ2ZVRvKDAsIDAsIHN4MCwgc3kwKTsKKyAgICBjb250ZXh0LmNs
b3NlUGF0aCgpOworCisgICAgaWYgKGJ1ZmZlcikgcmV0dXJuIGNvbnRleHQgPSBudWxsLCBidWZm
ZXIgKyAiIiB8fCBudWxsOworICB9CisKKyAgcmliYm9uLnJhZGl1cyA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChyYWRpdXMgPSB0eXBlb2YgXyA9PT0gImZ1
bmN0aW9uIiA/IF8gOiBjb25zdGFudCQ1KCtfKSwgcmliYm9uKSA6IHJhZGl1czsKKyAgfTsKKwor
ICByaWJib24uc3RhcnRBbmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/IChzdGFydEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29u
c3RhbnQkNSgrXyksIHJpYmJvbikgOiBzdGFydEFuZ2xlOworICB9OworCisgIHJpYmJvbi5lbmRB
bmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChlbmRB
bmdsZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDUoK18pLCByaWJi
b24pIDogZW5kQW5nbGU7CisgIH07CisKKyAgcmliYm9uLnNvdXJjZSA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzb3VyY2UgPSBfLCByaWJib24pIDogc291
cmNlOworICB9OworCisgIHJpYmJvbi50YXJnZXQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAodGFyZ2V0ID0gXywgcmliYm9uKSA6IHRhcmdldDsKKyAgfTsK
KworICByaWJib24uY29udGV4dCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/ICgoY29udGV4dCA9IF8gPT0gbnVsbCA/IG51bGwgOiBfKSwgcmliYm9uKSA6IGNv
bnRleHQ7CisgIH07CisKKyAgcmV0dXJuIHJpYmJvbjsKK30KKwordmFyIHByZWZpeCA9ICIkIjsK
KworZnVuY3Rpb24gTWFwKCkge30KKworTWFwLnByb3RvdHlwZSA9IG1hcCQxLnByb3RvdHlwZSA9
IHsKKyAgY29uc3RydWN0b3I6IE1hcCwKKyAgaGFzOiBmdW5jdGlvbihrZXkpIHsKKyAgICByZXR1
cm4gKHByZWZpeCArIGtleSkgaW4gdGhpczsKKyAgfSwKKyAgZ2V0OiBmdW5jdGlvbihrZXkpIHsK
KyAgICByZXR1cm4gdGhpc1twcmVmaXggKyBrZXldOworICB9LAorICBzZXQ6IGZ1bmN0aW9uKGtl
eSwgdmFsdWUpIHsKKyAgICB0aGlzW3ByZWZpeCArIGtleV0gPSB2YWx1ZTsKKyAgICByZXR1cm4g
dGhpczsKKyAgfSwKKyAgcmVtb3ZlOiBmdW5jdGlvbihrZXkpIHsKKyAgICB2YXIgcHJvcGVydHkg
PSBwcmVmaXggKyBrZXk7CisgICAgcmV0dXJuIHByb3BlcnR5IGluIHRoaXMgJiYgZGVsZXRlIHRo
aXNbcHJvcGVydHldOworICB9LAorICBjbGVhcjogZnVuY3Rpb24oKSB7CisgICAgZm9yICh2YXIg
cHJvcGVydHkgaW4gdGhpcykgaWYgKHByb3BlcnR5WzBdID09PSBwcmVmaXgpIGRlbGV0ZSB0aGlz
W3Byb3BlcnR5XTsKKyAgfSwKKyAga2V5czogZnVuY3Rpb24oKSB7CisgICAgdmFyIGtleXMgPSBb
XTsKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB0aGlzKSBpZiAocHJvcGVydHlbMF0gPT09IHBy
ZWZpeCkga2V5cy5wdXNoKHByb3BlcnR5LnNsaWNlKDEpKTsKKyAgICByZXR1cm4ga2V5czsKKyAg
fSwKKyAgdmFsdWVzOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdmFsdWVzID0gW107CisgICAgZm9y
ICh2YXIgcHJvcGVydHkgaW4gdGhpcykgaWYgKHByb3BlcnR5WzBdID09PSBwcmVmaXgpIHZhbHVl
cy5wdXNoKHRoaXNbcHJvcGVydHldKTsKKyAgICByZXR1cm4gdmFsdWVzOworICB9LAorICBlbnRy
aWVzOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgZW50cmllcyA9IFtdOworICAgIGZvciAodmFyIHBy
b3BlcnR5IGluIHRoaXMpIGlmIChwcm9wZXJ0eVswXSA9PT0gcHJlZml4KSBlbnRyaWVzLnB1c2go
e2tleTogcHJvcGVydHkuc2xpY2UoMSksIHZhbHVlOiB0aGlzW3Byb3BlcnR5XX0pOworICAgIHJl
dHVybiBlbnRyaWVzOworICB9LAorICBzaXplOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgc2l6ZSA9
IDA7CisgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gdGhpcykgaWYgKHByb3BlcnR5WzBdID09PSBw
cmVmaXgpICsrc2l6ZTsKKyAgICByZXR1cm4gc2l6ZTsKKyAgfSwKKyAgZW1wdHk6IGZ1bmN0aW9u
KCkgeworICAgIGZvciAodmFyIHByb3BlcnR5IGluIHRoaXMpIGlmIChwcm9wZXJ0eVswXSA9PT0g
cHJlZml4KSByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7CisgIH0sCisgIGVhY2g6IGZ1
bmN0aW9uKGYpIHsKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB0aGlzKSBpZiAocHJvcGVydHlb
MF0gPT09IHByZWZpeCkgZih0aGlzW3Byb3BlcnR5XSwgcHJvcGVydHkuc2xpY2UoMSksIHRoaXMp
OworICB9Cit9OworCitmdW5jdGlvbiBtYXAkMShvYmplY3QsIGYpIHsKKyAgdmFyIG1hcCA9IG5l
dyBNYXA7CisKKyAgLy8gQ29weSBjb25zdHJ1Y3Rvci4KKyAgaWYgKG9iamVjdCBpbnN0YW5jZW9m
IE1hcCkgb2JqZWN0LmVhY2goZnVuY3Rpb24odmFsdWUsIGtleSkgeyBtYXAuc2V0KGtleSwgdmFs
dWUpOyB9KTsKKworICAvLyBJbmRleCBhcnJheSBieSBudW1lcmljIGluZGV4IG9yIHNwZWNpZmll
ZCBrZXkgZnVuY3Rpb24uCisgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkob2JqZWN0KSkgeworICAg
IHZhciBpID0gLTEsCisgICAgICAgIG4gPSBvYmplY3QubGVuZ3RoLAorICAgICAgICBvOworCisg
ICAgaWYgKGYgPT0gbnVsbCkgd2hpbGUgKCsraSA8IG4pIG1hcC5zZXQoaSwgb2JqZWN0W2ldKTsK
KyAgICBlbHNlIHdoaWxlICgrK2kgPCBuKSBtYXAuc2V0KGYobyA9IG9iamVjdFtpXSwgaSwgb2Jq
ZWN0KSwgbyk7CisgIH0KKworICAvLyBDb252ZXJ0IG9iamVjdCB0byBtYXAuCisgIGVsc2UgaWYg
KG9iamVjdCkgZm9yICh2YXIga2V5IGluIG9iamVjdCkgbWFwLnNldChrZXksIG9iamVjdFtrZXld
KTsKKworICByZXR1cm4gbWFwOworfQorCitmdW5jdGlvbiBuZXN0KCkgeworICB2YXIga2V5cyA9
IFtdLAorICAgICAgc29ydEtleXMgPSBbXSwKKyAgICAgIHNvcnRWYWx1ZXMsCisgICAgICByb2xs
dXAsCisgICAgICBuZXN0OworCisgIGZ1bmN0aW9uIGFwcGx5KGFycmF5LCBkZXB0aCwgY3JlYXRl
UmVzdWx0LCBzZXRSZXN1bHQpIHsKKyAgICBpZiAoZGVwdGggPj0ga2V5cy5sZW5ndGgpIHsKKyAg
ICAgIGlmIChzb3J0VmFsdWVzICE9IG51bGwpIGFycmF5LnNvcnQoc29ydFZhbHVlcyk7CisgICAg
ICByZXR1cm4gcm9sbHVwICE9IG51bGwgPyByb2xsdXAoYXJyYXkpIDogYXJyYXk7CisgICAgfQor
CisgICAgdmFyIGkgPSAtMSwKKyAgICAgICAgbiA9IGFycmF5Lmxlbmd0aCwKKyAgICAgICAga2V5
ID0ga2V5c1tkZXB0aCsrXSwKKyAgICAgICAga2V5VmFsdWUsCisgICAgICAgIHZhbHVlLAorICAg
ICAgICB2YWx1ZXNCeUtleSA9IG1hcCQxKCksCisgICAgICAgIHZhbHVlcywKKyAgICAgICAgcmVz
dWx0ID0gY3JlYXRlUmVzdWx0KCk7CisKKyAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgaWYg
KHZhbHVlcyA9IHZhbHVlc0J5S2V5LmdldChrZXlWYWx1ZSA9IGtleSh2YWx1ZSA9IGFycmF5W2ld
KSArICIiKSkgeworICAgICAgICB2YWx1ZXMucHVzaCh2YWx1ZSk7CisgICAgICB9IGVsc2Ugewor
ICAgICAgICB2YWx1ZXNCeUtleS5zZXQoa2V5VmFsdWUsIFt2YWx1ZV0pOworICAgICAgfQorICAg
IH0KKworICAgIHZhbHVlc0J5S2V5LmVhY2goZnVuY3Rpb24odmFsdWVzLCBrZXkpIHsKKyAgICAg
IHNldFJlc3VsdChyZXN1bHQsIGtleSwgYXBwbHkodmFsdWVzLCBkZXB0aCwgY3JlYXRlUmVzdWx0
LCBzZXRSZXN1bHQpKTsKKyAgICB9KTsKKworICAgIHJldHVybiByZXN1bHQ7CisgIH0KKworICBm
dW5jdGlvbiBlbnRyaWVzKG1hcCwgZGVwdGgpIHsKKyAgICBpZiAoKytkZXB0aCA+IGtleXMubGVu
Z3RoKSByZXR1cm4gbWFwOworICAgIHZhciBhcnJheSwgc29ydEtleSA9IHNvcnRLZXlzW2RlcHRo
IC0gMV07CisgICAgaWYgKHJvbGx1cCAhPSBudWxsICYmIGRlcHRoID49IGtleXMubGVuZ3RoKSBh
cnJheSA9IG1hcC5lbnRyaWVzKCk7CisgICAgZWxzZSBhcnJheSA9IFtdLCBtYXAuZWFjaChmdW5j
dGlvbih2LCBrKSB7IGFycmF5LnB1c2goe2tleTogaywgdmFsdWVzOiBlbnRyaWVzKHYsIGRlcHRo
KX0pOyB9KTsKKyAgICByZXR1cm4gc29ydEtleSAhPSBudWxsID8gYXJyYXkuc29ydChmdW5jdGlv
bihhLCBiKSB7IHJldHVybiBzb3J0S2V5KGEua2V5LCBiLmtleSk7IH0pIDogYXJyYXk7CisgIH0K
KworICByZXR1cm4gbmVzdCA9IHsKKyAgICBvYmplY3Q6IGZ1bmN0aW9uKGFycmF5KSB7IHJldHVy
biBhcHBseShhcnJheSwgMCwgY3JlYXRlT2JqZWN0LCBzZXRPYmplY3QpOyB9LAorICAgIG1hcDog
ZnVuY3Rpb24oYXJyYXkpIHsgcmV0dXJuIGFwcGx5KGFycmF5LCAwLCBjcmVhdGVNYXAsIHNldE1h
cCk7IH0sCisgICAgZW50cmllczogZnVuY3Rpb24oYXJyYXkpIHsgcmV0dXJuIGVudHJpZXMoYXBw
bHkoYXJyYXksIDAsIGNyZWF0ZU1hcCwgc2V0TWFwKSwgMCk7IH0sCisgICAga2V5OiBmdW5jdGlv
bihkKSB7IGtleXMucHVzaChkKTsgcmV0dXJuIG5lc3Q7IH0sCisgICAgc29ydEtleXM6IGZ1bmN0
aW9uKG9yZGVyKSB7IHNvcnRLZXlzW2tleXMubGVuZ3RoIC0gMV0gPSBvcmRlcjsgcmV0dXJuIG5l
c3Q7IH0sCisgICAgc29ydFZhbHVlczogZnVuY3Rpb24ob3JkZXIpIHsgc29ydFZhbHVlcyA9IG9y
ZGVyOyByZXR1cm4gbmVzdDsgfSwKKyAgICByb2xsdXA6IGZ1bmN0aW9uKGYpIHsgcm9sbHVwID0g
ZjsgcmV0dXJuIG5lc3Q7IH0KKyAgfTsKK30KKworZnVuY3Rpb24gY3JlYXRlT2JqZWN0KCkgewor
ICByZXR1cm4ge307Cit9CisKK2Z1bmN0aW9uIHNldE9iamVjdChvYmplY3QsIGtleSwgdmFsdWUp
IHsKKyAgb2JqZWN0W2tleV0gPSB2YWx1ZTsKK30KKworZnVuY3Rpb24gY3JlYXRlTWFwKCkgewor
ICByZXR1cm4gbWFwJDEoKTsKK30KKworZnVuY3Rpb24gc2V0TWFwKG1hcCwga2V5LCB2YWx1ZSkg
eworICBtYXAuc2V0KGtleSwgdmFsdWUpOworfQorCitmdW5jdGlvbiBTZXQoKSB7fQorCit2YXIg
cHJvdG8gPSBtYXAkMS5wcm90b3R5cGU7CisKK1NldC5wcm90b3R5cGUgPSBzZXQkMi5wcm90b3R5
cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBTZXQsCisgIGhhczogcHJvdG8uaGFzLAorICBhZGQ6IGZ1
bmN0aW9uKHZhbHVlKSB7CisgICAgdmFsdWUgKz0gIiI7CisgICAgdGhpc1twcmVmaXggKyB2YWx1
ZV0gPSB2YWx1ZTsKKyAgICByZXR1cm4gdGhpczsKKyAgfSwKKyAgcmVtb3ZlOiBwcm90by5yZW1v
dmUsCisgIGNsZWFyOiBwcm90by5jbGVhciwKKyAgdmFsdWVzOiBwcm90by5rZXlzLAorICBzaXpl
OiBwcm90by5zaXplLAorICBlbXB0eTogcHJvdG8uZW1wdHksCisgIGVhY2g6IHByb3RvLmVhY2gK
K307CisKK2Z1bmN0aW9uIHNldCQyKG9iamVjdCwgZikgeworICB2YXIgc2V0ID0gbmV3IFNldDsK
KworICAvLyBDb3B5IGNvbnN0cnVjdG9yLgorICBpZiAob2JqZWN0IGluc3RhbmNlb2YgU2V0KSBv
YmplY3QuZWFjaChmdW5jdGlvbih2YWx1ZSkgeyBzZXQuYWRkKHZhbHVlKTsgfSk7CisKKyAgLy8g
T3RoZXJ3aXNlLCBhc3N1bWUgaXTigJlzIGFuIGFycmF5LgorICBlbHNlIGlmIChvYmplY3QpIHsK
KyAgICB2YXIgaSA9IC0xLCBuID0gb2JqZWN0Lmxlbmd0aDsKKyAgICBpZiAoZiA9PSBudWxsKSB3
aGlsZSAoKytpIDwgbikgc2V0LmFkZChvYmplY3RbaV0pOworICAgIGVsc2Ugd2hpbGUgKCsraSA8
IG4pIHNldC5hZGQoZihvYmplY3RbaV0sIGksIG9iamVjdCkpOworICB9CisKKyAgcmV0dXJuIHNl
dDsKK30KKworZnVuY3Rpb24ga2V5cyhtYXApIHsKKyAgdmFyIGtleXMgPSBbXTsKKyAgZm9yICh2
YXIga2V5IGluIG1hcCkga2V5cy5wdXNoKGtleSk7CisgIHJldHVybiBrZXlzOworfQorCitmdW5j
dGlvbiB2YWx1ZXMobWFwKSB7CisgIHZhciB2YWx1ZXMgPSBbXTsKKyAgZm9yICh2YXIga2V5IGlu
IG1hcCkgdmFsdWVzLnB1c2gobWFwW2tleV0pOworICByZXR1cm4gdmFsdWVzOworfQorCitmdW5j
dGlvbiBlbnRyaWVzKG1hcCkgeworICB2YXIgZW50cmllcyA9IFtdOworICBmb3IgKHZhciBrZXkg
aW4gbWFwKSBlbnRyaWVzLnB1c2goe2tleToga2V5LCB2YWx1ZTogbWFwW2tleV19KTsKKyAgcmV0
dXJuIGVudHJpZXM7Cit9CisKK3ZhciBhcnJheSQyID0gQXJyYXkucHJvdG90eXBlOworCit2YXIg
c2xpY2UkMyA9IGFycmF5JDIuc2xpY2U7CisKK2Z1bmN0aW9uIGFzY2VuZGluZyQyKGEsIGIpIHsK
KyAgcmV0dXJuIGEgLSBiOworfQorCitmdW5jdGlvbiBhcmVhKHJpbmcpIHsKKyAgdmFyIGkgPSAw
LCBuID0gcmluZy5sZW5ndGgsIGFyZWEgPSByaW5nW24gLSAxXVsxXSAqIHJpbmdbMF1bMF0gLSBy
aW5nW24gLSAxXVswXSAqIHJpbmdbMF1bMV07CisgIHdoaWxlICgrK2kgPCBuKSBhcmVhICs9IHJp
bmdbaSAtIDFdWzFdICogcmluZ1tpXVswXSAtIHJpbmdbaSAtIDFdWzBdICogcmluZ1tpXVsxXTsK
KyAgcmV0dXJuIGFyZWE7Cit9CisKK2Z1bmN0aW9uIGNvbnN0YW50JDYoeCkgeworICByZXR1cm4g
ZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHg7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNvbnRhaW5z
KHJpbmcsIGhvbGUpIHsKKyAgdmFyIGkgPSAtMSwgbiA9IGhvbGUubGVuZ3RoLCBjOworICB3aGls
ZSAoKytpIDwgbikgaWYgKGMgPSByaW5nQ29udGFpbnMocmluZywgaG9sZVtpXSkpIHJldHVybiBj
OworICByZXR1cm4gMDsKK30KKworZnVuY3Rpb24gcmluZ0NvbnRhaW5zKHJpbmcsIHBvaW50KSB7
CisgIHZhciB4ID0gcG9pbnRbMF0sIHkgPSBwb2ludFsxXSwgY29udGFpbnMgPSAtMTsKKyAgZm9y
ICh2YXIgaSA9IDAsIG4gPSByaW5nLmxlbmd0aCwgaiA9IG4gLSAxOyBpIDwgbjsgaiA9IGkrKykg
eworICAgIHZhciBwaSA9IHJpbmdbaV0sIHhpID0gcGlbMF0sIHlpID0gcGlbMV0sIHBqID0gcmlu
Z1tqXSwgeGogPSBwalswXSwgeWogPSBwalsxXTsKKyAgICBpZiAoc2VnbWVudENvbnRhaW5zKHBp
LCBwaiwgcG9pbnQpKSByZXR1cm4gMDsKKyAgICBpZiAoKCh5aSA+IHkpICE9PSAoeWogPiB5KSkg
JiYgKCh4IDwgKHhqIC0geGkpICogKHkgLSB5aSkgLyAoeWogLSB5aSkgKyB4aSkpKSBjb250YWlu
cyA9IC1jb250YWluczsKKyAgfQorICByZXR1cm4gY29udGFpbnM7Cit9CisKK2Z1bmN0aW9uIHNl
Z21lbnRDb250YWlucyhhLCBiLCBjKSB7CisgIHZhciBpOyByZXR1cm4gY29sbGluZWFyKGEsIGIs
IGMpICYmIHdpdGhpbihhW2kgPSArKGFbMF0gPT09IGJbMF0pXSwgY1tpXSwgYltpXSk7Cit9CisK
K2Z1bmN0aW9uIGNvbGxpbmVhcihhLCBiLCBjKSB7CisgIHJldHVybiAoYlswXSAtIGFbMF0pICog
KGNbMV0gLSBhWzFdKSA9PT0gKGNbMF0gLSBhWzBdKSAqIChiWzFdIC0gYVsxXSk7Cit9CisKK2Z1
bmN0aW9uIHdpdGhpbihwLCBxLCByKSB7CisgIHJldHVybiBwIDw9IHEgJiYgcSA8PSByIHx8IHIg
PD0gcSAmJiBxIDw9IHA7Cit9CisKK2Z1bmN0aW9uIG5vb3AkMSgpIHt9CisKK3ZhciBjYXNlcyA9
IFsKKyAgW10sCisgIFtbWzEuMCwgMS41XSwgWzAuNSwgMS4wXV1dLAorICBbW1sxLjUsIDEuMF0s
IFsxLjAsIDEuNV1dXSwKKyAgW1tbMS41LCAxLjBdLCBbMC41LCAxLjBdXV0sCisgIFtbWzEuMCwg
MC41XSwgWzEuNSwgMS4wXV1dLAorICBbW1sxLjAsIDEuNV0sIFswLjUsIDEuMF1dLCBbWzEuMCwg
MC41XSwgWzEuNSwgMS4wXV1dLAorICBbW1sxLjAsIDAuNV0sIFsxLjAsIDEuNV1dXSwKKyAgW1tb
MS4wLCAwLjVdLCBbMC41LCAxLjBdXV0sCisgIFtbWzAuNSwgMS4wXSwgWzEuMCwgMC41XV1dLAor
ICBbW1sxLjAsIDEuNV0sIFsxLjAsIDAuNV1dXSwKKyAgW1tbMC41LCAxLjBdLCBbMS4wLCAwLjVd
XSwgW1sxLjUsIDEuMF0sIFsxLjAsIDEuNV1dXSwKKyAgW1tbMS41LCAxLjBdLCBbMS4wLCAwLjVd
XV0sCisgIFtbWzAuNSwgMS4wXSwgWzEuNSwgMS4wXV1dLAorICBbW1sxLjAsIDEuNV0sIFsxLjUs
IDEuMF1dXSwKKyAgW1tbMC41LCAxLjBdLCBbMS4wLCAxLjVdXV0sCisgIFtdCitdOworCitmdW5j
dGlvbiBjb250b3VycygpIHsKKyAgdmFyIGR4ID0gMSwKKyAgICAgIGR5ID0gMSwKKyAgICAgIHRo
cmVzaG9sZCA9IHRocmVzaG9sZFN0dXJnZXMsCisgICAgICBzbW9vdGggPSBzbW9vdGhMaW5lYXI7
CisKKyAgZnVuY3Rpb24gY29udG91cnModmFsdWVzKSB7CisgICAgdmFyIHR6ID0gdGhyZXNob2xk
KHZhbHVlcyk7CisKKyAgICAvLyBDb252ZXJ0IG51bWJlciBvZiB0aHJlc2hvbGRzIGludG8gdW5p
Zm9ybSB0aHJlc2hvbGRzLgorICAgIGlmICghQXJyYXkuaXNBcnJheSh0eikpIHsKKyAgICAgIHZh
ciBkb21haW4gPSBleHRlbnQodmFsdWVzKSwgc3RhcnQgPSBkb21haW5bMF0sIHN0b3AgPSBkb21h
aW5bMV07CisgICAgICB0eiA9IHRpY2tTdGVwKHN0YXJ0LCBzdG9wLCB0eik7CisgICAgICB0eiA9
IHNlcXVlbmNlKE1hdGguZmxvb3Ioc3RhcnQgLyB0eikgKiB0eiwgTWF0aC5mbG9vcihzdG9wIC8g
dHopICogdHosIHR6KTsKKyAgICB9IGVsc2UgeworICAgICAgdHogPSB0ei5zbGljZSgpLnNvcnQo
YXNjZW5kaW5nJDIpOworICAgIH0KKworICAgIHJldHVybiB0ei5tYXAoZnVuY3Rpb24odmFsdWUp
IHsKKyAgICAgIHJldHVybiBjb250b3VyKHZhbHVlcywgdmFsdWUpOworICAgIH0pOworICB9CisK
KyAgLy8gQWNjdW11bGF0ZSwgc21vb3RoIGNvbnRvdXIgcmluZ3MsIGFzc2lnbiBob2xlcyB0byBl
eHRlcmlvciByaW5ncy4KKyAgLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL21ib3N0b2Nr
L3NoYXBlZmlsZS9ibG9iL3YwLjYuMi9zaHAvcG9seWdvbi5qcworICBmdW5jdGlvbiBjb250b3Vy
KHZhbHVlcywgdmFsdWUpIHsKKyAgICB2YXIgcG9seWdvbnMgPSBbXSwKKyAgICAgICAgaG9sZXMg
PSBbXTsKKworICAgIGlzb3JpbmdzKHZhbHVlcywgdmFsdWUsIGZ1bmN0aW9uKHJpbmcpIHsKKyAg
ICAgIHNtb290aChyaW5nLCB2YWx1ZXMsIHZhbHVlKTsKKyAgICAgIGlmIChhcmVhKHJpbmcpID4g
MCkgcG9seWdvbnMucHVzaChbcmluZ10pOworICAgICAgZWxzZSBob2xlcy5wdXNoKHJpbmcpOwor
ICAgIH0pOworCisgICAgaG9sZXMuZm9yRWFjaChmdW5jdGlvbihob2xlKSB7CisgICAgICBmb3Ig
KHZhciBpID0gMCwgbiA9IHBvbHlnb25zLmxlbmd0aCwgcG9seWdvbjsgaSA8IG47ICsraSkgewor
ICAgICAgICBpZiAoY29udGFpbnMoKHBvbHlnb24gPSBwb2x5Z29uc1tpXSlbMF0sIGhvbGUpICE9
PSAtMSkgeworICAgICAgICAgIHBvbHlnb24ucHVzaChob2xlKTsKKyAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9KTsKKworICAgIHJldHVybiB7CisgICAgICB0eXBl
OiAiTXVsdGlQb2x5Z29uIiwKKyAgICAgIHZhbHVlOiB2YWx1ZSwKKyAgICAgIGNvb3JkaW5hdGVz
OiBwb2x5Z29ucworICAgIH07CisgIH0KKworICAvLyBNYXJjaGluZyBzcXVhcmVzIHdpdGggaXNv
bGluZXMgc3RpdGNoZWQgaW50byByaW5ncy4KKyAgLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIu
Y29tL3RvcG9qc29uL3RvcG9qc29uLWNsaWVudC9ibG9iL3YzLjAuMC9zcmMvc3RpdGNoLmpzCisg
IGZ1bmN0aW9uIGlzb3JpbmdzKHZhbHVlcywgdmFsdWUsIGNhbGxiYWNrKSB7CisgICAgdmFyIGZy
YWdtZW50QnlTdGFydCA9IG5ldyBBcnJheSwKKyAgICAgICAgZnJhZ21lbnRCeUVuZCA9IG5ldyBB
cnJheSwKKyAgICAgICAgeCwgeSwgdDAsIHQxLCB0MiwgdDM7CisKKyAgICAvLyBTcGVjaWFsIGNh
c2UgZm9yIHRoZSBmaXJzdCByb3cgKHkgPSAtMSwgdDIgPSB0MyA9IDApLgorICAgIHggPSB5ID0g
LTE7CisgICAgdDEgPSB2YWx1ZXNbMF0gPj0gdmFsdWU7CisgICAgY2FzZXNbdDEgPDwgMV0uZm9y
RWFjaChzdGl0Y2gpOworICAgIHdoaWxlICgrK3ggPCBkeCAtIDEpIHsKKyAgICAgIHQwID0gdDEs
IHQxID0gdmFsdWVzW3ggKyAxXSA+PSB2YWx1ZTsKKyAgICAgIGNhc2VzW3QwIHwgdDEgPDwgMV0u
Zm9yRWFjaChzdGl0Y2gpOworICAgIH0KKyAgICBjYXNlc1t0MSA8PCAwXS5mb3JFYWNoKHN0aXRj
aCk7CisKKyAgICAvLyBHZW5lcmFsIGNhc2UgZm9yIHRoZSBpbnRlcm1lZGlhdGUgcm93cy4KKyAg
ICB3aGlsZSAoKyt5IDwgZHkgLSAxKSB7CisgICAgICB4ID0gLTE7CisgICAgICB0MSA9IHZhbHVl
c1t5ICogZHggKyBkeF0gPj0gdmFsdWU7CisgICAgICB0MiA9IHZhbHVlc1t5ICogZHhdID49IHZh
bHVlOworICAgICAgY2FzZXNbdDEgPDwgMSB8IHQyIDw8IDJdLmZvckVhY2goc3RpdGNoKTsKKyAg
ICAgIHdoaWxlICgrK3ggPCBkeCAtIDEpIHsKKyAgICAgICAgdDAgPSB0MSwgdDEgPSB2YWx1ZXNb
eSAqIGR4ICsgZHggKyB4ICsgMV0gPj0gdmFsdWU7CisgICAgICAgIHQzID0gdDIsIHQyID0gdmFs
dWVzW3kgKiBkeCArIHggKyAxXSA+PSB2YWx1ZTsKKyAgICAgICAgY2FzZXNbdDAgfCB0MSA8PCAx
IHwgdDIgPDwgMiB8IHQzIDw8IDNdLmZvckVhY2goc3RpdGNoKTsKKyAgICAgIH0KKyAgICAgIGNh
c2VzW3QxIHwgdDIgPDwgM10uZm9yRWFjaChzdGl0Y2gpOworICAgIH0KKworICAgIC8vIFNwZWNp
YWwgY2FzZSBmb3IgdGhlIGxhc3Qgcm93ICh5ID0gZHkgLSAxLCB0MCA9IHQxID0gMCkuCisgICAg
eCA9IC0xOworICAgIHQyID0gdmFsdWVzW3kgKiBkeF0gPj0gdmFsdWU7CisgICAgY2FzZXNbdDIg
PDwgMl0uZm9yRWFjaChzdGl0Y2gpOworICAgIHdoaWxlICgrK3ggPCBkeCAtIDEpIHsKKyAgICAg
IHQzID0gdDIsIHQyID0gdmFsdWVzW3kgKiBkeCArIHggKyAxXSA+PSB2YWx1ZTsKKyAgICAgIGNh
c2VzW3QyIDw8IDIgfCB0MyA8PCAzXS5mb3JFYWNoKHN0aXRjaCk7CisgICAgfQorICAgIGNhc2Vz
W3QyIDw8IDNdLmZvckVhY2goc3RpdGNoKTsKKworICAgIGZ1bmN0aW9uIHN0aXRjaChsaW5lKSB7
CisgICAgICB2YXIgc3RhcnQgPSBbbGluZVswXVswXSArIHgsIGxpbmVbMF1bMV0gKyB5XSwKKyAg
ICAgICAgICBlbmQgPSBbbGluZVsxXVswXSArIHgsIGxpbmVbMV1bMV0gKyB5XSwKKyAgICAgICAg
ICBzdGFydEluZGV4ID0gaW5kZXgoc3RhcnQpLAorICAgICAgICAgIGVuZEluZGV4ID0gaW5kZXgo
ZW5kKSwKKyAgICAgICAgICBmLCBnOworICAgICAgaWYgKGYgPSBmcmFnbWVudEJ5RW5kW3N0YXJ0
SW5kZXhdKSB7CisgICAgICAgIGlmIChnID0gZnJhZ21lbnRCeVN0YXJ0W2VuZEluZGV4XSkgewor
ICAgICAgICAgIGRlbGV0ZSBmcmFnbWVudEJ5RW5kW2YuZW5kXTsKKyAgICAgICAgICBkZWxldGUg
ZnJhZ21lbnRCeVN0YXJ0W2cuc3RhcnRdOworICAgICAgICAgIGlmIChmID09PSBnKSB7CisgICAg
ICAgICAgICBmLnJpbmcucHVzaChlbmQpOworICAgICAgICAgICAgY2FsbGJhY2soZi5yaW5nKTsK
KyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZnJhZ21lbnRCeVN0YXJ0W2Yuc3RhcnRd
ID0gZnJhZ21lbnRCeUVuZFtnLmVuZF0gPSB7c3RhcnQ6IGYuc3RhcnQsIGVuZDogZy5lbmQsIHJp
bmc6IGYucmluZy5jb25jYXQoZy5yaW5nKX07CisgICAgICAgICAgfQorICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgIGRlbGV0ZSBmcmFnbWVudEJ5RW5kW2YuZW5kXTsKKyAgICAgICAgICBmLnJp
bmcucHVzaChlbmQpOworICAgICAgICAgIGZyYWdtZW50QnlFbmRbZi5lbmQgPSBlbmRJbmRleF0g
PSBmOworICAgICAgICB9CisgICAgICB9IGVsc2UgaWYgKGYgPSBmcmFnbWVudEJ5U3RhcnRbZW5k
SW5kZXhdKSB7CisgICAgICAgIGlmIChnID0gZnJhZ21lbnRCeUVuZFtzdGFydEluZGV4XSkgewor
ICAgICAgICAgIGRlbGV0ZSBmcmFnbWVudEJ5U3RhcnRbZi5zdGFydF07CisgICAgICAgICAgZGVs
ZXRlIGZyYWdtZW50QnlFbmRbZy5lbmRdOworICAgICAgICAgIGlmIChmID09PSBnKSB7CisgICAg
ICAgICAgICBmLnJpbmcucHVzaChlbmQpOworICAgICAgICAgICAgY2FsbGJhY2soZi5yaW5nKTsK
KyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZnJhZ21lbnRCeVN0YXJ0W2cuc3RhcnRd
ID0gZnJhZ21lbnRCeUVuZFtmLmVuZF0gPSB7c3RhcnQ6IGcuc3RhcnQsIGVuZDogZi5lbmQsIHJp
bmc6IGcucmluZy5jb25jYXQoZi5yaW5nKX07CisgICAgICAgICAgfQorICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgIGRlbGV0ZSBmcmFnbWVudEJ5U3RhcnRbZi5zdGFydF07CisgICAgICAgICAg
Zi5yaW5nLnVuc2hpZnQoc3RhcnQpOworICAgICAgICAgIGZyYWdtZW50QnlTdGFydFtmLnN0YXJ0
ID0gc3RhcnRJbmRleF0gPSBmOworICAgICAgICB9CisgICAgICB9IGVsc2UgeworICAgICAgICBm
cmFnbWVudEJ5U3RhcnRbc3RhcnRJbmRleF0gPSBmcmFnbWVudEJ5RW5kW2VuZEluZGV4XSA9IHtz
dGFydDogc3RhcnRJbmRleCwgZW5kOiBlbmRJbmRleCwgcmluZzogW3N0YXJ0LCBlbmRdfTsKKyAg
ICAgIH0KKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBpbmRleChwb2ludCkgeworICAgIHJldHVy
biBwb2ludFswXSAqIDIgKyBwb2ludFsxXSAqIChkeCArIDEpICogNDsKKyAgfQorCisgIGZ1bmN0
aW9uIHNtb290aExpbmVhcihyaW5nLCB2YWx1ZXMsIHZhbHVlKSB7CisgICAgcmluZy5mb3JFYWNo
KGZ1bmN0aW9uKHBvaW50KSB7CisgICAgICB2YXIgeCA9IHBvaW50WzBdLAorICAgICAgICAgIHkg
PSBwb2ludFsxXSwKKyAgICAgICAgICB4dCA9IHggfCAwLAorICAgICAgICAgIHl0ID0geSB8IDAs
CisgICAgICAgICAgdjAsCisgICAgICAgICAgdjEgPSB2YWx1ZXNbeXQgKiBkeCArIHh0XTsKKyAg
ICAgIGlmICh4ID4gMCAmJiB4IDwgZHggJiYgeHQgPT09IHgpIHsKKyAgICAgICAgdjAgPSB2YWx1
ZXNbeXQgKiBkeCArIHh0IC0gMV07CisgICAgICAgIHBvaW50WzBdID0geCArICh2YWx1ZSAtIHYw
KSAvICh2MSAtIHYwKSAtIDAuNTsKKyAgICAgIH0KKyAgICAgIGlmICh5ID4gMCAmJiB5IDwgZHkg
JiYgeXQgPT09IHkpIHsKKyAgICAgICAgdjAgPSB2YWx1ZXNbKHl0IC0gMSkgKiBkeCArIHh0XTsK
KyAgICAgICAgcG9pbnRbMV0gPSB5ICsgKHZhbHVlIC0gdjApIC8gKHYxIC0gdjApIC0gMC41Owor
ICAgICAgfQorICAgIH0pOworICB9CisKKyAgY29udG91cnMuY29udG91ciA9IGNvbnRvdXI7CisK
KyAgY29udG91cnMuc2l6ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5n
dGgpIHJldHVybiBbZHgsIGR5XTsKKyAgICB2YXIgXzAgPSBNYXRoLmNlaWwoX1swXSksIF8xID0g
TWF0aC5jZWlsKF9bMV0pOworICAgIGlmICghKF8wID4gMCkgfHwgIShfMSA+IDApKSB0aHJvdyBu
ZXcgRXJyb3IoImludmFsaWQgc2l6ZSIpOworICAgIHJldHVybiBkeCA9IF8wLCBkeSA9IF8xLCBj
b250b3VyczsKKyAgfTsKKworICBjb250b3Vycy50aHJlc2hvbGRzID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRocmVzaG9sZCA9IHR5cGVvZiBfID09PSAi
ZnVuY3Rpb24iID8gXyA6IEFycmF5LmlzQXJyYXkoXykgPyBjb25zdGFudCQ2KHNsaWNlJDMuY2Fs
bChfKSkgOiBjb25zdGFudCQ2KF8pLCBjb250b3VycykgOiB0aHJlc2hvbGQ7CisgIH07CisKKyAg
Y29udG91cnMuc21vb3RoID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHNtb290aCA9IF8gPyBzbW9vdGhMaW5lYXIgOiBub29wJDEsIGNvbnRvdXJzKSA6IHNt
b290aCA9PT0gc21vb3RoTGluZWFyOworICB9OworCisgIHJldHVybiBjb250b3VyczsKK30KKwor
Ly8gVE9ETyBPcHRpbWl6ZSBlZGdlIGNhc2VzLgorLy8gVE9ETyBPcHRpbWl6ZSBpbmRleCBjYWxj
dWxhdGlvbi4KKy8vIFRPRE8gT3B0aW1pemUgYXJndW1lbnRzLgorZnVuY3Rpb24gYmx1clgoc291
cmNlLCB0YXJnZXQsIHIpIHsKKyAgdmFyIG4gPSBzb3VyY2Uud2lkdGgsCisgICAgICBtID0gc291
cmNlLmhlaWdodCwKKyAgICAgIHcgPSAociA8PCAxKSArIDE7CisgIGZvciAodmFyIGogPSAwOyBq
IDwgbTsgKytqKSB7CisgICAgZm9yICh2YXIgaSA9IDAsIHNyID0gMDsgaSA8IG4gKyByOyArK2kp
IHsKKyAgICAgIGlmIChpIDwgbikgeworICAgICAgICBzciArPSBzb3VyY2UuZGF0YVtpICsgaiAq
IG5dOworICAgICAgfQorICAgICAgaWYgKGkgPj0gcikgeworICAgICAgICBpZiAoaSA+PSB3KSB7
CisgICAgICAgICAgc3IgLT0gc291cmNlLmRhdGFbaSAtIHcgKyBqICogbl07CisgICAgICAgIH0K
KyAgICAgICAgdGFyZ2V0LmRhdGFbaSAtIHIgKyBqICogbl0gPSBzciAvIE1hdGgubWluKGkgKyAx
LCBuIC0gMSArIHcgLSBpLCB3KTsKKyAgICAgIH0KKyAgICB9CisgIH0KK30KKworLy8gVE9ETyBP
cHRpbWl6ZSBlZGdlIGNhc2VzLgorLy8gVE9ETyBPcHRpbWl6ZSBpbmRleCBjYWxjdWxhdGlvbi4K
Ky8vIFRPRE8gT3B0aW1pemUgYXJndW1lbnRzLgorZnVuY3Rpb24gYmx1clkoc291cmNlLCB0YXJn
ZXQsIHIpIHsKKyAgdmFyIG4gPSBzb3VyY2Uud2lkdGgsCisgICAgICBtID0gc291cmNlLmhlaWdo
dCwKKyAgICAgIHcgPSAociA8PCAxKSArIDE7CisgIGZvciAodmFyIGkgPSAwOyBpIDwgbjsgKytp
KSB7CisgICAgZm9yICh2YXIgaiA9IDAsIHNyID0gMDsgaiA8IG0gKyByOyArK2opIHsKKyAgICAg
IGlmIChqIDwgbSkgeworICAgICAgICBzciArPSBzb3VyY2UuZGF0YVtpICsgaiAqIG5dOworICAg
ICAgfQorICAgICAgaWYgKGogPj0gcikgeworICAgICAgICBpZiAoaiA+PSB3KSB7CisgICAgICAg
ICAgc3IgLT0gc291cmNlLmRhdGFbaSArIChqIC0gdykgKiBuXTsKKyAgICAgICAgfQorICAgICAg
ICB0YXJnZXQuZGF0YVtpICsgKGogLSByKSAqIG5dID0gc3IgLyBNYXRoLm1pbihqICsgMSwgbSAt
IDEgKyB3IC0gaiwgdyk7CisgICAgICB9CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIGRlZmF1
bHRYKGQpIHsKKyAgcmV0dXJuIGRbMF07Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRZKGQpIHsKKyAg
cmV0dXJuIGRbMV07Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRXZWlnaHQoKSB7CisgIHJldHVybiAx
OworfQorCitmdW5jdGlvbiBkZW5zaXR5KCkgeworICB2YXIgeCA9IGRlZmF1bHRYLAorICAgICAg
eSA9IGRlZmF1bHRZLAorICAgICAgd2VpZ2h0ID0gZGVmYXVsdFdlaWdodCwKKyAgICAgIGR4ID0g
OTYwLAorICAgICAgZHkgPSA1MDAsCisgICAgICByID0gMjAsIC8vIGJsdXIgcmFkaXVzCisgICAg
ICBrID0gMiwgLy8gbG9nMihncmlkIGNlbGwgc2l6ZSkKKyAgICAgIG8gPSByICogMywgLy8gZ3Jp
ZCBvZmZzZXQsIHRvIHBhZCBmb3IgYmx1cgorICAgICAgbiA9IChkeCArIG8gKiAyKSA+PiBrLCAv
LyBncmlkIHdpZHRoCisgICAgICBtID0gKGR5ICsgbyAqIDIpID4+IGssIC8vIGdyaWQgaGVpZ2h0
CisgICAgICB0aHJlc2hvbGQgPSBjb25zdGFudCQ2KDIwKTsKKworICBmdW5jdGlvbiBkZW5zaXR5
KGRhdGEpIHsKKyAgICB2YXIgdmFsdWVzMCA9IG5ldyBGbG9hdDMyQXJyYXkobiAqIG0pLAorICAg
ICAgICB2YWx1ZXMxID0gbmV3IEZsb2F0MzJBcnJheShuICogbSk7CisKKyAgICBkYXRhLmZvckVh
Y2goZnVuY3Rpb24oZCwgaSwgZGF0YSkgeworICAgICAgdmFyIHhpID0gKCt4KGQsIGksIGRhdGEp
ICsgbykgPj4gaywKKyAgICAgICAgICB5aSA9ICgreShkLCBpLCBkYXRhKSArIG8pID4+IGssCisg
ICAgICAgICAgd2kgPSArd2VpZ2h0KGQsIGksIGRhdGEpOworICAgICAgaWYgKHhpID49IDAgJiYg
eGkgPCBuICYmIHlpID49IDAgJiYgeWkgPCBtKSB7CisgICAgICAgIHZhbHVlczBbeGkgKyB5aSAq
IG5dICs9IHdpOworICAgICAgfQorICAgIH0pOworCisgICAgLy8gVE9ETyBPcHRpbWl6ZS4KKyAg
ICBibHVyWCh7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTogdmFsdWVzMH0sIHt3aWR0aDogbiwg
aGVpZ2h0OiBtLCBkYXRhOiB2YWx1ZXMxfSwgciA+PiBrKTsKKyAgICBibHVyWSh7d2lkdGg6IG4s
IGhlaWdodDogbSwgZGF0YTogdmFsdWVzMX0sIHt3aWR0aDogbiwgaGVpZ2h0OiBtLCBkYXRhOiB2
YWx1ZXMwfSwgciA+PiBrKTsKKyAgICBibHVyWCh7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTog
dmFsdWVzMH0sIHt3aWR0aDogbiwgaGVpZ2h0OiBtLCBkYXRhOiB2YWx1ZXMxfSwgciA+PiBrKTsK
KyAgICBibHVyWSh7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTogdmFsdWVzMX0sIHt3aWR0aDog
biwgaGVpZ2h0OiBtLCBkYXRhOiB2YWx1ZXMwfSwgciA+PiBrKTsKKyAgICBibHVyWCh7d2lkdGg6
IG4sIGhlaWdodDogbSwgZGF0YTogdmFsdWVzMH0sIHt3aWR0aDogbiwgaGVpZ2h0OiBtLCBkYXRh
OiB2YWx1ZXMxfSwgciA+PiBrKTsKKyAgICBibHVyWSh7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0
YTogdmFsdWVzMX0sIHt3aWR0aDogbiwgaGVpZ2h0OiBtLCBkYXRhOiB2YWx1ZXMwfSwgciA+PiBr
KTsKKworICAgIHZhciB0eiA9IHRocmVzaG9sZCh2YWx1ZXMwKTsKKworICAgIC8vIENvbnZlcnQg
bnVtYmVyIG9mIHRocmVzaG9sZHMgaW50byB1bmlmb3JtIHRocmVzaG9sZHMuCisgICAgaWYgKCFB
cnJheS5pc0FycmF5KHR6KSkgeworICAgICAgdmFyIHN0b3AgPSBtYXgodmFsdWVzMCk7CisgICAg
ICB0eiA9IHRpY2tTdGVwKDAsIHN0b3AsIHR6KTsKKyAgICAgIHR6ID0gc2VxdWVuY2UoMCwgTWF0
aC5mbG9vcihzdG9wIC8gdHopICogdHosIHR6KTsKKyAgICAgIHR6LnNoaWZ0KCk7CisgICAgfQor
CisgICAgcmV0dXJuIGNvbnRvdXJzKCkKKyAgICAgICAgLnRocmVzaG9sZHModHopCisgICAgICAg
IC5zaXplKFtuLCBtXSkKKyAgICAgICh2YWx1ZXMwKQorICAgICAgICAubWFwKHRyYW5zZm9ybSk7
CisgIH0KKworICBmdW5jdGlvbiB0cmFuc2Zvcm0oZ2VvbWV0cnkpIHsKKyAgICBnZW9tZXRyeS52
YWx1ZSAqPSBNYXRoLnBvdygyLCAtMiAqIGspOyAvLyBEZW5zaXR5IGluIHBvaW50cyBwZXIgc3F1
YXJlIHBpeGVsLgorICAgIGdlb21ldHJ5LmNvb3JkaW5hdGVzLmZvckVhY2godHJhbnNmb3JtUG9s
eWdvbik7CisgICAgcmV0dXJuIGdlb21ldHJ5OworICB9CisKKyAgZnVuY3Rpb24gdHJhbnNmb3Jt
UG9seWdvbihjb29yZGluYXRlcykgeworICAgIGNvb3JkaW5hdGVzLmZvckVhY2godHJhbnNmb3Jt
UmluZyk7CisgIH0KKworICBmdW5jdGlvbiB0cmFuc2Zvcm1SaW5nKGNvb3JkaW5hdGVzKSB7Cisg
ICAgY29vcmRpbmF0ZXMuZm9yRWFjaCh0cmFuc2Zvcm1Qb2ludCk7CisgIH0KKworICAvLyBUT0RP
IE9wdGltaXplLgorICBmdW5jdGlvbiB0cmFuc2Zvcm1Qb2ludChjb29yZGluYXRlcykgeworICAg
IGNvb3JkaW5hdGVzWzBdID0gY29vcmRpbmF0ZXNbMF0gKiBNYXRoLnBvdygyLCBrKSAtIG87Cisg
ICAgY29vcmRpbmF0ZXNbMV0gPSBjb29yZGluYXRlc1sxXSAqIE1hdGgucG93KDIsIGspIC0gbzsK
KyAgfQorCisgIGZ1bmN0aW9uIHJlc2l6ZSgpIHsKKyAgICBvID0gciAqIDM7CisgICAgbiA9IChk
eCArIG8gKiAyKSA+PiBrOworICAgIG0gPSAoZHkgKyBvICogMikgPj4gazsKKyAgICByZXR1cm4g
ZGVuc2l0eTsKKyAgfQorCisgIGRlbnNpdHkueCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/ICh4ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29u
c3RhbnQkNigrXyksIGRlbnNpdHkpIDogeDsKKyAgfTsKKworICBkZW5zaXR5LnkgPSBmdW5jdGlv
bihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeSA9IHR5cGVvZiBfID09PSAi
ZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDYoK18pLCBkZW5zaXR5KSA6IHk7CisgIH07CisKKyAg
ZGVuc2l0eS53ZWlnaHQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAod2VpZ2h0ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNigr
XyksIGRlbnNpdHkpIDogd2VpZ2h0OworICB9OworCisgIGRlbnNpdHkuc2l6ZSA9IGZ1bmN0aW9u
KF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBbZHgsIGR5XTsKKyAgICB2
YXIgXzAgPSBNYXRoLmNlaWwoX1swXSksIF8xID0gTWF0aC5jZWlsKF9bMV0pOworICAgIGlmICgh
KF8wID49IDApICYmICEoXzAgPj0gMCkpIHRocm93IG5ldyBFcnJvcigiaW52YWxpZCBzaXplIik7
CisgICAgcmV0dXJuIGR4ID0gXzAsIGR5ID0gXzEsIHJlc2l6ZSgpOworICB9OworCisgIGRlbnNp
dHkuY2VsbFNpemUgPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSBy
ZXR1cm4gMSA8PCBrOworICAgIGlmICghKChfID0gK18pID49IDEpKSB0aHJvdyBuZXcgRXJyb3Io
ImludmFsaWQgY2VsbCBzaXplIik7CisgICAgcmV0dXJuIGsgPSBNYXRoLmZsb29yKE1hdGgubG9n
KF8pIC8gTWF0aC5MTjIpLCByZXNpemUoKTsKKyAgfTsKKworICBkZW5zaXR5LnRocmVzaG9sZHMg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGhyZXNob2xk
ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogQXJyYXkuaXNBcnJheShfKSA/IGNvbnN0
YW50JDYoc2xpY2UkMy5jYWxsKF8pKSA6IGNvbnN0YW50JDYoXyksIGRlbnNpdHkpIDogdGhyZXNo
b2xkOworICB9OworCisgIGRlbnNpdHkuYmFuZHdpZHRoID0gZnVuY3Rpb24oXykgeworICAgIGlm
ICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIE1hdGguc3FydChyICogKHIgKyAxKSk7CisgICAg
aWYgKCEoKF8gPSArXykgPj0gMCkpIHRocm93IG5ldyBFcnJvcigiaW52YWxpZCBiYW5kd2lkdGgi
KTsKKyAgICByZXR1cm4gciA9IE1hdGgucm91bmQoKE1hdGguc3FydCg0ICogXyAqIF8gKyAxKSAt
IDEpIC8gMiksIHJlc2l6ZSgpOworICB9OworCisgIHJldHVybiBkZW5zaXR5OworfQorCit2YXIg
RU9MID0ge30sCisgICAgRU9GID0ge30sCisgICAgUVVPVEUgPSAzNCwKKyAgICBORVdMSU5FID0g
MTAsCisgICAgUkVUVVJOID0gMTM7CisKK2Z1bmN0aW9uIG9iamVjdENvbnZlcnRlcihjb2x1bW5z
KSB7CisgIHJldHVybiBuZXcgRnVuY3Rpb24oImQiLCAicmV0dXJuIHsiICsgY29sdW1ucy5tYXAo
ZnVuY3Rpb24obmFtZSwgaSkgeworICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShuYW1lKSArICI6
IGRbIiArIGkgKyAiXSB8fCBcIlwiIjsKKyAgfSkuam9pbigiLCIpICsgIn0iKTsKK30KKworZnVu
Y3Rpb24gY3VzdG9tQ29udmVydGVyKGNvbHVtbnMsIGYpIHsKKyAgdmFyIG9iamVjdCA9IG9iamVj
dENvbnZlcnRlcihjb2x1bW5zKTsKKyAgcmV0dXJuIGZ1bmN0aW9uKHJvdywgaSkgeworICAgIHJl
dHVybiBmKG9iamVjdChyb3cpLCBpLCBjb2x1bW5zKTsKKyAgfTsKK30KKworLy8gQ29tcHV0ZSB1
bmlxdWUgY29sdW1ucyBpbiBvcmRlciBvZiBkaXNjb3ZlcnkuCitmdW5jdGlvbiBpbmZlckNvbHVt
bnMocm93cykgeworICB2YXIgY29sdW1uU2V0ID0gT2JqZWN0LmNyZWF0ZShudWxsKSwKKyAgICAg
IGNvbHVtbnMgPSBbXTsKKworICByb3dzLmZvckVhY2goZnVuY3Rpb24ocm93KSB7CisgICAgZm9y
ICh2YXIgY29sdW1uIGluIHJvdykgeworICAgICAgaWYgKCEoY29sdW1uIGluIGNvbHVtblNldCkp
IHsKKyAgICAgICAgY29sdW1ucy5wdXNoKGNvbHVtblNldFtjb2x1bW5dID0gY29sdW1uKTsKKyAg
ICAgIH0KKyAgICB9CisgIH0pOworCisgIHJldHVybiBjb2x1bW5zOworfQorCitmdW5jdGlvbiBw
YWQodmFsdWUsIHdpZHRoKSB7CisgIHZhciBzID0gdmFsdWUgKyAiIiwgbGVuZ3RoID0gcy5sZW5n
dGg7CisgIHJldHVybiBsZW5ndGggPCB3aWR0aCA/IG5ldyBBcnJheSh3aWR0aCAtIGxlbmd0aCAr
IDEpLmpvaW4oMCkgKyBzIDogczsKK30KKworZnVuY3Rpb24gZm9ybWF0WWVhcih5ZWFyKSB7Cisg
IHJldHVybiB5ZWFyIDwgMCA/ICItIiArIHBhZCgteWVhciwgNikKKyAgICA6IHllYXIgPiA5OTk5
ID8gIisiICsgcGFkKHllYXIsIDYpCisgICAgOiBwYWQoeWVhciwgNCk7Cit9CisKK2Z1bmN0aW9u
IGZvcm1hdERhdGUoZGF0ZSkgeworICB2YXIgaG91cnMgPSBkYXRlLmdldFVUQ0hvdXJzKCksCisg
ICAgICBtaW51dGVzID0gZGF0ZS5nZXRVVENNaW51dGVzKCksCisgICAgICBzZWNvbmRzID0gZGF0
ZS5nZXRVVENTZWNvbmRzKCksCisgICAgICBtaWxsaXNlY29uZHMgPSBkYXRlLmdldFVUQ01pbGxp
c2Vjb25kcygpOworICByZXR1cm4gaXNOYU4oZGF0ZSkgPyAiSW52YWxpZCBEYXRlIgorICAgICAg
OiBmb3JtYXRZZWFyKGRhdGUuZ2V0VVRDRnVsbFllYXIoKSkgKyAiLSIgKyBwYWQoZGF0ZS5nZXRV
VENNb250aCgpICsgMSwgMikgKyAiLSIgKyBwYWQoZGF0ZS5nZXRVVENEYXRlKCksIDIpCisgICAg
ICArIChtaWxsaXNlY29uZHMgPyAiVCIgKyBwYWQoaG91cnMsIDIpICsgIjoiICsgcGFkKG1pbnV0
ZXMsIDIpICsgIjoiICsgcGFkKHNlY29uZHMsIDIpICsgIi4iICsgcGFkKG1pbGxpc2Vjb25kcywg
MykgKyAiWiIKKyAgICAgIDogc2Vjb25kcyA/ICJUIiArIHBhZChob3VycywgMikgKyAiOiIgKyBw
YWQobWludXRlcywgMikgKyAiOiIgKyBwYWQoc2Vjb25kcywgMikgKyAiWiIKKyAgICAgIDogbWlu
dXRlcyB8fCBob3VycyA/ICJUIiArIHBhZChob3VycywgMikgKyAiOiIgKyBwYWQobWludXRlcywg
MikgKyAiWiIKKyAgICAgIDogIiIpOworfQorCitmdW5jdGlvbiBkc3ZGb3JtYXQoZGVsaW1pdGVy
KSB7CisgIHZhciByZUZvcm1hdCA9IG5ldyBSZWdFeHAoIltcIiIgKyBkZWxpbWl0ZXIgKyAiXG5c
cl0iKSwKKyAgICAgIERFTElNSVRFUiA9IGRlbGltaXRlci5jaGFyQ29kZUF0KDApOworCisgIGZ1
bmN0aW9uIHBhcnNlKHRleHQsIGYpIHsKKyAgICB2YXIgY29udmVydCwgY29sdW1ucywgcm93cyA9
IHBhcnNlUm93cyh0ZXh0LCBmdW5jdGlvbihyb3csIGkpIHsKKyAgICAgIGlmIChjb252ZXJ0KSBy
ZXR1cm4gY29udmVydChyb3csIGkgLSAxKTsKKyAgICAgIGNvbHVtbnMgPSByb3csIGNvbnZlcnQg
PSBmID8gY3VzdG9tQ29udmVydGVyKHJvdywgZikgOiBvYmplY3RDb252ZXJ0ZXIocm93KTsKKyAg
ICB9KTsKKyAgICByb3dzLmNvbHVtbnMgPSBjb2x1bW5zIHx8IFtdOworICAgIHJldHVybiByb3dz
OworICB9CisKKyAgZnVuY3Rpb24gcGFyc2VSb3dzKHRleHQsIGYpIHsKKyAgICB2YXIgcm93cyA9
IFtdLCAvLyBvdXRwdXQgcm93cworICAgICAgICBOID0gdGV4dC5sZW5ndGgsCisgICAgICAgIEkg
PSAwLCAvLyBjdXJyZW50IGNoYXJhY3RlciBpbmRleAorICAgICAgICBuID0gMCwgLy8gY3VycmVu
dCBsaW5lIG51bWJlcgorICAgICAgICB0LCAvLyBjdXJyZW50IHRva2VuCisgICAgICAgIGVvZiA9
IE4gPD0gMCwgLy8gY3VycmVudCB0b2tlbiBmb2xsb3dlZCBieSBFT0Y/CisgICAgICAgIGVvbCA9
IGZhbHNlOyAvLyBjdXJyZW50IHRva2VuIGZvbGxvd2VkIGJ5IEVPTD8KKworICAgIC8vIFN0cmlw
IHRoZSB0cmFpbGluZyBuZXdsaW5lLgorICAgIGlmICh0ZXh0LmNoYXJDb2RlQXQoTiAtIDEpID09
PSBORVdMSU5FKSAtLU47CisgICAgaWYgKHRleHQuY2hhckNvZGVBdChOIC0gMSkgPT09IFJFVFVS
TikgLS1OOworCisgICAgZnVuY3Rpb24gdG9rZW4oKSB7CisgICAgICBpZiAoZW9mKSByZXR1cm4g
RU9GOworICAgICAgaWYgKGVvbCkgcmV0dXJuIGVvbCA9IGZhbHNlLCBFT0w7CisKKyAgICAgIC8v
IFVuZXNjYXBlIHF1b3Rlcy4KKyAgICAgIHZhciBpLCBqID0gSSwgYzsKKyAgICAgIGlmICh0ZXh0
LmNoYXJDb2RlQXQoaikgPT09IFFVT1RFKSB7CisgICAgICAgIHdoaWxlIChJKysgPCBOICYmIHRl
eHQuY2hhckNvZGVBdChJKSAhPT0gUVVPVEUgfHwgdGV4dC5jaGFyQ29kZUF0KCsrSSkgPT09IFFV
T1RFKTsKKyAgICAgICAgaWYgKChpID0gSSkgPj0gTikgZW9mID0gdHJ1ZTsKKyAgICAgICAgZWxz
ZSBpZiAoKGMgPSB0ZXh0LmNoYXJDb2RlQXQoSSsrKSkgPT09IE5FV0xJTkUpIGVvbCA9IHRydWU7
CisgICAgICAgIGVsc2UgaWYgKGMgPT09IFJFVFVSTikgeyBlb2wgPSB0cnVlOyBpZiAodGV4dC5j
aGFyQ29kZUF0KEkpID09PSBORVdMSU5FKSArK0k7IH0KKyAgICAgICAgcmV0dXJuIHRleHQuc2xp
Y2UoaiArIDEsIGkgLSAxKS5yZXBsYWNlKC8iIi9nLCAiXCIiKTsKKyAgICAgIH0KKworICAgICAg
Ly8gRmluZCBuZXh0IGRlbGltaXRlciBvciBuZXdsaW5lLgorICAgICAgd2hpbGUgKEkgPCBOKSB7
CisgICAgICAgIGlmICgoYyA9IHRleHQuY2hhckNvZGVBdChpID0gSSsrKSkgPT09IE5FV0xJTkUp
IGVvbCA9IHRydWU7CisgICAgICAgIGVsc2UgaWYgKGMgPT09IFJFVFVSTikgeyBlb2wgPSB0cnVl
OyBpZiAodGV4dC5jaGFyQ29kZUF0KEkpID09PSBORVdMSU5FKSArK0k7IH0KKyAgICAgICAgZWxz
ZSBpZiAoYyAhPT0gREVMSU1JVEVSKSBjb250aW51ZTsKKyAgICAgICAgcmV0dXJuIHRleHQuc2xp
Y2UoaiwgaSk7CisgICAgICB9CisKKyAgICAgIC8vIFJldHVybiBsYXN0IHRva2VuIGJlZm9yZSBF
T0YuCisgICAgICByZXR1cm4gZW9mID0gdHJ1ZSwgdGV4dC5zbGljZShqLCBOKTsKKyAgICB9CisK
KyAgICB3aGlsZSAoKHQgPSB0b2tlbigpKSAhPT0gRU9GKSB7CisgICAgICB2YXIgcm93ID0gW107
CisgICAgICB3aGlsZSAodCAhPT0gRU9MICYmIHQgIT09IEVPRikgcm93LnB1c2godCksIHQgPSB0
b2tlbigpOworICAgICAgaWYgKGYgJiYgKHJvdyA9IGYocm93LCBuKyspKSA9PSBudWxsKSBjb250
aW51ZTsKKyAgICAgIHJvd3MucHVzaChyb3cpOworICAgIH0KKworICAgIHJldHVybiByb3dzOwor
ICB9CisKKyAgZnVuY3Rpb24gcHJlZm9ybWF0Qm9keShyb3dzLCBjb2x1bW5zKSB7CisgICAgcmV0
dXJuIHJvd3MubWFwKGZ1bmN0aW9uKHJvdykgeworICAgICAgcmV0dXJuIGNvbHVtbnMubWFwKGZ1
bmN0aW9uKGNvbHVtbikgeworICAgICAgICByZXR1cm4gZm9ybWF0VmFsdWUocm93W2NvbHVtbl0p
OworICAgICAgfSkuam9pbihkZWxpbWl0ZXIpOworICAgIH0pOworICB9CisKKyAgZnVuY3Rpb24g
Zm9ybWF0KHJvd3MsIGNvbHVtbnMpIHsKKyAgICBpZiAoY29sdW1ucyA9PSBudWxsKSBjb2x1bW5z
ID0gaW5mZXJDb2x1bW5zKHJvd3MpOworICAgIHJldHVybiBbY29sdW1ucy5tYXAoZm9ybWF0VmFs
dWUpLmpvaW4oZGVsaW1pdGVyKV0uY29uY2F0KHByZWZvcm1hdEJvZHkocm93cywgY29sdW1ucykp
LmpvaW4oIlxuIik7CisgIH0KKworICBmdW5jdGlvbiBmb3JtYXRCb2R5KHJvd3MsIGNvbHVtbnMp
IHsKKyAgICBpZiAoY29sdW1ucyA9PSBudWxsKSBjb2x1bW5zID0gaW5mZXJDb2x1bW5zKHJvd3Mp
OworICAgIHJldHVybiBwcmVmb3JtYXRCb2R5KHJvd3MsIGNvbHVtbnMpLmpvaW4oIlxuIik7Cisg
IH0KKworICBmdW5jdGlvbiBmb3JtYXRSb3dzKHJvd3MpIHsKKyAgICByZXR1cm4gcm93cy5tYXAo
Zm9ybWF0Um93KS5qb2luKCJcbiIpOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0Um93KHJvdykg
eworICAgIHJldHVybiByb3cubWFwKGZvcm1hdFZhbHVlKS5qb2luKGRlbGltaXRlcik7CisgIH0K
KworICBmdW5jdGlvbiBmb3JtYXRWYWx1ZSh2YWx1ZSkgeworICAgIHJldHVybiB2YWx1ZSA9PSBu
dWxsID8gIiIKKyAgICAgICAgOiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgPyBmb3JtYXREYXRlKHZh
bHVlKQorICAgICAgICA6IHJlRm9ybWF0LnRlc3QodmFsdWUgKz0gIiIpID8gIlwiIiArIHZhbHVl
LnJlcGxhY2UoLyIvZywgIlwiXCIiKSArICJcIiIKKyAgICAgICAgOiB2YWx1ZTsKKyAgfQorCisg
IHJldHVybiB7CisgICAgcGFyc2U6IHBhcnNlLAorICAgIHBhcnNlUm93czogcGFyc2VSb3dzLAor
ICAgIGZvcm1hdDogZm9ybWF0LAorICAgIGZvcm1hdEJvZHk6IGZvcm1hdEJvZHksCisgICAgZm9y
bWF0Um93czogZm9ybWF0Um93cywKKyAgICBmb3JtYXRSb3c6IGZvcm1hdFJvdywKKyAgICBmb3Jt
YXRWYWx1ZTogZm9ybWF0VmFsdWUKKyAgfTsKK30KKwordmFyIGNzdiA9IGRzdkZvcm1hdCgiLCIp
OworCit2YXIgY3N2UGFyc2UgPSBjc3YucGFyc2U7Cit2YXIgY3N2UGFyc2VSb3dzID0gY3N2LnBh
cnNlUm93czsKK3ZhciBjc3ZGb3JtYXQgPSBjc3YuZm9ybWF0OwordmFyIGNzdkZvcm1hdEJvZHkg
PSBjc3YuZm9ybWF0Qm9keTsKK3ZhciBjc3ZGb3JtYXRSb3dzID0gY3N2LmZvcm1hdFJvd3M7Cit2
YXIgY3N2Rm9ybWF0Um93ID0gY3N2LmZvcm1hdFJvdzsKK3ZhciBjc3ZGb3JtYXRWYWx1ZSA9IGNz
di5mb3JtYXRWYWx1ZTsKKwordmFyIHRzdiA9IGRzdkZvcm1hdCgiXHQiKTsKKwordmFyIHRzdlBh
cnNlID0gdHN2LnBhcnNlOwordmFyIHRzdlBhcnNlUm93cyA9IHRzdi5wYXJzZVJvd3M7Cit2YXIg
dHN2Rm9ybWF0ID0gdHN2LmZvcm1hdDsKK3ZhciB0c3ZGb3JtYXRCb2R5ID0gdHN2LmZvcm1hdEJv
ZHk7Cit2YXIgdHN2Rm9ybWF0Um93cyA9IHRzdi5mb3JtYXRSb3dzOwordmFyIHRzdkZvcm1hdFJv
dyA9IHRzdi5mb3JtYXRSb3c7Cit2YXIgdHN2Rm9ybWF0VmFsdWUgPSB0c3YuZm9ybWF0VmFsdWU7
CisKK2Z1bmN0aW9uIGF1dG9UeXBlKG9iamVjdCkgeworICBmb3IgKHZhciBrZXkgaW4gb2JqZWN0
KSB7CisgICAgdmFyIHZhbHVlID0gb2JqZWN0W2tleV0udHJpbSgpLCBudW1iZXIsIG07CisgICAg
aWYgKCF2YWx1ZSkgdmFsdWUgPSBudWxsOworICAgIGVsc2UgaWYgKHZhbHVlID09PSAidHJ1ZSIp
IHZhbHVlID0gdHJ1ZTsKKyAgICBlbHNlIGlmICh2YWx1ZSA9PT0gImZhbHNlIikgdmFsdWUgPSBm
YWxzZTsKKyAgICBlbHNlIGlmICh2YWx1ZSA9PT0gIk5hTiIpIHZhbHVlID0gTmFOOworICAgIGVs
c2UgaWYgKCFpc05hTihudW1iZXIgPSArdmFsdWUpKSB2YWx1ZSA9IG51bWJlcjsKKyAgICBlbHNl
IGlmIChtID0gdmFsdWUubWF0Y2goL14oWy0rXVxkezJ9KT9cZHs0fSgtXGR7Mn0oLVxkezJ9KT8p
PyhUXGR7Mn06XGR7Mn0oOlxkezJ9KFwuXGR7M30pPyk/KFp8Wy0rXVxkezJ9OlxkezJ9KT8pPyQv
KSkgeworICAgICAgaWYgKGZpeHR6ICYmICEhbVs0XSAmJiAhbVs3XSkgdmFsdWUgPSB2YWx1ZS5y
ZXBsYWNlKC8tL2csICIvIikucmVwbGFjZSgvVC8sICIgIik7CisgICAgICB2YWx1ZSA9IG5ldyBE
YXRlKHZhbHVlKTsKKyAgICB9CisgICAgZWxzZSBjb250aW51ZTsKKyAgICBvYmplY3Rba2V5XSA9
IHZhbHVlOworICB9CisgIHJldHVybiBvYmplY3Q7Cit9CisKKy8vIGh0dHBzOi8vZ2l0aHViLmNv
bS9kMy9kMy1kc3YvaXNzdWVzLzQ1Cit2YXIgZml4dHogPSBuZXcgRGF0ZSgiMjAxOS0wMS0wMVQw
MDowMCIpLmdldEhvdXJzKCkgfHwgbmV3IERhdGUoIjIwMTktMDctMDFUMDA6MDAiKS5nZXRIb3Vy
cygpOworCitmdW5jdGlvbiByZXNwb25zZUJsb2IocmVzcG9uc2UpIHsKKyAgaWYgKCFyZXNwb25z
ZS5vaykgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLnN0YXR1cyArICIgIiArIHJlc3BvbnNlLnN0
YXR1c1RleHQpOworICByZXR1cm4gcmVzcG9uc2UuYmxvYigpOworfQorCitmdW5jdGlvbiBibG9i
KGlucHV0LCBpbml0KSB7CisgIHJldHVybiBmZXRjaChpbnB1dCwgaW5pdCkudGhlbihyZXNwb25z
ZUJsb2IpOworfQorCitmdW5jdGlvbiByZXNwb25zZUFycmF5QnVmZmVyKHJlc3BvbnNlKSB7Cisg
IGlmICghcmVzcG9uc2Uub2spIHRocm93IG5ldyBFcnJvcihyZXNwb25zZS5zdGF0dXMgKyAiICIg
KyByZXNwb25zZS5zdGF0dXNUZXh0KTsKKyAgcmV0dXJuIHJlc3BvbnNlLmFycmF5QnVmZmVyKCk7
Cit9CisKK2Z1bmN0aW9uIGJ1ZmZlcihpbnB1dCwgaW5pdCkgeworICByZXR1cm4gZmV0Y2goaW5w
dXQsIGluaXQpLnRoZW4ocmVzcG9uc2VBcnJheUJ1ZmZlcik7Cit9CisKK2Z1bmN0aW9uIHJlc3Bv
bnNlVGV4dChyZXNwb25zZSkgeworICBpZiAoIXJlc3BvbnNlLm9rKSB0aHJvdyBuZXcgRXJyb3Io
cmVzcG9uc2Uuc3RhdHVzICsgIiAiICsgcmVzcG9uc2Uuc3RhdHVzVGV4dCk7CisgIHJldHVybiBy
ZXNwb25zZS50ZXh0KCk7Cit9CisKK2Z1bmN0aW9uIHRleHQoaW5wdXQsIGluaXQpIHsKKyAgcmV0
dXJuIGZldGNoKGlucHV0LCBpbml0KS50aGVuKHJlc3BvbnNlVGV4dCk7Cit9CisKK2Z1bmN0aW9u
IGRzdlBhcnNlKHBhcnNlKSB7CisgIHJldHVybiBmdW5jdGlvbihpbnB1dCwgaW5pdCwgcm93KSB7
CisgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgdHlwZW9mIGluaXQgPT09ICJmdW5j
dGlvbiIpIHJvdyA9IGluaXQsIGluaXQgPSB1bmRlZmluZWQ7CisgICAgcmV0dXJuIHRleHQoaW5w
dXQsIGluaXQpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKKyAgICAgIHJldHVybiBwYXJzZShy
ZXNwb25zZSwgcm93KTsKKyAgICB9KTsKKyAgfTsKK30KKworZnVuY3Rpb24gZHN2KGRlbGltaXRl
ciwgaW5wdXQsIGluaXQsIHJvdykgeworICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMyAmJiB0
eXBlb2YgaW5pdCA9PT0gImZ1bmN0aW9uIikgcm93ID0gaW5pdCwgaW5pdCA9IHVuZGVmaW5lZDsK
KyAgdmFyIGZvcm1hdCA9IGRzdkZvcm1hdChkZWxpbWl0ZXIpOworICByZXR1cm4gdGV4dChpbnB1
dCwgaW5pdCkudGhlbihmdW5jdGlvbihyZXNwb25zZSkgeworICAgIHJldHVybiBmb3JtYXQucGFy
c2UocmVzcG9uc2UsIHJvdyk7CisgIH0pOworfQorCit2YXIgY3N2JDEgPSBkc3ZQYXJzZShjc3ZQ
YXJzZSk7Cit2YXIgdHN2JDEgPSBkc3ZQYXJzZSh0c3ZQYXJzZSk7CisKK2Z1bmN0aW9uIGltYWdl
KGlucHV0LCBpbml0KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCBy
ZWplY3QpIHsKKyAgICB2YXIgaW1hZ2UgPSBuZXcgSW1hZ2U7CisgICAgZm9yICh2YXIga2V5IGlu
IGluaXQpIGltYWdlW2tleV0gPSBpbml0W2tleV07CisgICAgaW1hZ2Uub25lcnJvciA9IHJlamVj
dDsKKyAgICBpbWFnZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsgcmVzb2x2ZShpbWFnZSk7IH07Cisg
ICAgaW1hZ2Uuc3JjID0gaW5wdXQ7CisgIH0pOworfQorCitmdW5jdGlvbiByZXNwb25zZUpzb24o
cmVzcG9uc2UpIHsKKyAgaWYgKCFyZXNwb25zZS5vaykgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNl
LnN0YXR1cyArICIgIiArIHJlc3BvbnNlLnN0YXR1c1RleHQpOworICByZXR1cm4gcmVzcG9uc2Uu
anNvbigpOworfQorCitmdW5jdGlvbiBqc29uKGlucHV0LCBpbml0KSB7CisgIHJldHVybiBmZXRj
aChpbnB1dCwgaW5pdCkudGhlbihyZXNwb25zZUpzb24pOworfQorCitmdW5jdGlvbiBwYXJzZXIo
dHlwZSkgeworICByZXR1cm4gZnVuY3Rpb24oaW5wdXQsIGluaXQpICB7CisgICAgcmV0dXJuIHRl
eHQoaW5wdXQsIGluaXQpLnRoZW4oZnVuY3Rpb24odGV4dCkgeworICAgICAgcmV0dXJuIChuZXcg
RE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcodGV4dCwgdHlwZSk7CisgICAgfSk7CisgIH07Cit9
CisKK3ZhciB4bWwgPSBwYXJzZXIoImFwcGxpY2F0aW9uL3htbCIpOworCit2YXIgaHRtbCA9IHBh
cnNlcigidGV4dC9odG1sIik7CisKK3ZhciBzdmcgPSBwYXJzZXIoImltYWdlL3N2Zyt4bWwiKTsK
KworZnVuY3Rpb24gY2VudGVyJDEoeCwgeSkgeworICB2YXIgbm9kZXM7CisKKyAgaWYgKHggPT0g
bnVsbCkgeCA9IDA7CisgIGlmICh5ID09IG51bGwpIHkgPSAwOworCisgIGZ1bmN0aW9uIGZvcmNl
KCkgeworICAgIHZhciBpLAorICAgICAgICBuID0gbm9kZXMubGVuZ3RoLAorICAgICAgICBub2Rl
LAorICAgICAgICBzeCA9IDAsCisgICAgICAgIHN5ID0gMDsKKworICAgIGZvciAoaSA9IDA7IGkg
PCBuOyArK2kpIHsKKyAgICAgIG5vZGUgPSBub2Rlc1tpXSwgc3ggKz0gbm9kZS54LCBzeSArPSBu
b2RlLnk7CisgICAgfQorCisgICAgZm9yIChzeCA9IHN4IC8gbiAtIHgsIHN5ID0gc3kgLyBuIC0g
eSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIG5vZGUgPSBub2Rlc1tpXSwgbm9kZS54IC09
IHN4LCBub2RlLnkgLT0gc3k7CisgICAgfQorICB9CisKKyAgZm9yY2UuaW5pdGlhbGl6ZSA9IGZ1
bmN0aW9uKF8pIHsKKyAgICBub2RlcyA9IF87CisgIH07CisKKyAgZm9yY2UueCA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4ID0gK18sIGZvcmNlKSA6IHg7
CisgIH07CisKKyAgZm9yY2UueSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/ICh5ID0gK18sIGZvcmNlKSA6IHk7CisgIH07CisKKyAgcmV0dXJuIGZvcmNlOwor
fQorCitmdW5jdGlvbiBjb25zdGFudCQ3KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAg
IHJldHVybiB4OworICB9OworfQorCitmdW5jdGlvbiBqaWdnbGUoKSB7CisgIHJldHVybiAoTWF0
aC5yYW5kb20oKSAtIDAuNSkgKiAxZS02OworfQorCitmdW5jdGlvbiB0cmVlX2FkZChkKSB7Cisg
IHZhciB4ID0gK3RoaXMuX3guY2FsbChudWxsLCBkKSwKKyAgICAgIHkgPSArdGhpcy5feS5jYWxs
KG51bGwsIGQpOworICByZXR1cm4gYWRkKHRoaXMuY292ZXIoeCwgeSksIHgsIHksIGQpOworfQor
CitmdW5jdGlvbiBhZGQodHJlZSwgeCwgeSwgZCkgeworICBpZiAoaXNOYU4oeCkgfHwgaXNOYU4o
eSkpIHJldHVybiB0cmVlOyAvLyBpZ25vcmUgaW52YWxpZCBwb2ludHMKKworICB2YXIgcGFyZW50
LAorICAgICAgbm9kZSA9IHRyZWUuX3Jvb3QsCisgICAgICBsZWFmID0ge2RhdGE6IGR9LAorICAg
ICAgeDAgPSB0cmVlLl94MCwKKyAgICAgIHkwID0gdHJlZS5feTAsCisgICAgICB4MSA9IHRyZWUu
X3gxLAorICAgICAgeTEgPSB0cmVlLl95MSwKKyAgICAgIHhtLAorICAgICAgeW0sCisgICAgICB4
cCwKKyAgICAgIHlwLAorICAgICAgcmlnaHQsCisgICAgICBib3R0b20sCisgICAgICBpLAorICAg
ICAgajsKKworICAvLyBJZiB0aGUgdHJlZSBpcyBlbXB0eSwgaW5pdGlhbGl6ZSB0aGUgcm9vdCBh
cyBhIGxlYWYuCisgIGlmICghbm9kZSkgcmV0dXJuIHRyZWUuX3Jvb3QgPSBsZWFmLCB0cmVlOwor
CisgIC8vIEZpbmQgdGhlIGV4aXN0aW5nIGxlYWYgZm9yIHRoZSBuZXcgcG9pbnQsIG9yIGFkZCBp
dC4KKyAgd2hpbGUgKG5vZGUubGVuZ3RoKSB7CisgICAgaWYgKHJpZ2h0ID0geCA+PSAoeG0gPSAo
eDAgKyB4MSkgLyAyKSkgeDAgPSB4bTsgZWxzZSB4MSA9IHhtOworICAgIGlmIChib3R0b20gPSB5
ID49ICh5bSA9ICh5MCArIHkxKSAvIDIpKSB5MCA9IHltOyBlbHNlIHkxID0geW07CisgICAgaWYg
KHBhcmVudCA9IG5vZGUsICEobm9kZSA9IG5vZGVbaSA9IGJvdHRvbSA8PCAxIHwgcmlnaHRdKSkg
cmV0dXJuIHBhcmVudFtpXSA9IGxlYWYsIHRyZWU7CisgIH0KKworICAvLyBJcyB0aGUgbmV3IHBv
aW50IGlzIGV4YWN0bHkgY29pbmNpZGVudCB3aXRoIHRoZSBleGlzdGluZyBwb2ludD8KKyAgeHAg
PSArdHJlZS5feC5jYWxsKG51bGwsIG5vZGUuZGF0YSk7CisgIHlwID0gK3RyZWUuX3kuY2FsbChu
dWxsLCBub2RlLmRhdGEpOworICBpZiAoeCA9PT0geHAgJiYgeSA9PT0geXApIHJldHVybiBsZWFm
Lm5leHQgPSBub2RlLCBwYXJlbnQgPyBwYXJlbnRbaV0gPSBsZWFmIDogdHJlZS5fcm9vdCA9IGxl
YWYsIHRyZWU7CisKKyAgLy8gT3RoZXJ3aXNlLCBzcGxpdCB0aGUgbGVhZiBub2RlIHVudGlsIHRo
ZSBvbGQgYW5kIG5ldyBwb2ludCBhcmUgc2VwYXJhdGVkLgorICBkbyB7CisgICAgcGFyZW50ID0g
cGFyZW50ID8gcGFyZW50W2ldID0gbmV3IEFycmF5KDQpIDogdHJlZS5fcm9vdCA9IG5ldyBBcnJh
eSg0KTsKKyAgICBpZiAocmlnaHQgPSB4ID49ICh4bSA9ICh4MCArIHgxKSAvIDIpKSB4MCA9IHht
OyBlbHNlIHgxID0geG07CisgICAgaWYgKGJvdHRvbSA9IHkgPj0gKHltID0gKHkwICsgeTEpIC8g
MikpIHkwID0geW07IGVsc2UgeTEgPSB5bTsKKyAgfSB3aGlsZSAoKGkgPSBib3R0b20gPDwgMSB8
IHJpZ2h0KSA9PT0gKGogPSAoeXAgPj0geW0pIDw8IDEgfCAoeHAgPj0geG0pKSk7CisgIHJldHVy
biBwYXJlbnRbal0gPSBub2RlLCBwYXJlbnRbaV0gPSBsZWFmLCB0cmVlOworfQorCitmdW5jdGlv
biBhZGRBbGwoZGF0YSkgeworICB2YXIgZCwgaSwgbiA9IGRhdGEubGVuZ3RoLAorICAgICAgeCwK
KyAgICAgIHksCisgICAgICB4eiA9IG5ldyBBcnJheShuKSwKKyAgICAgIHl6ID0gbmV3IEFycmF5
KG4pLAorICAgICAgeDAgPSBJbmZpbml0eSwKKyAgICAgIHkwID0gSW5maW5pdHksCisgICAgICB4
MSA9IC1JbmZpbml0eSwKKyAgICAgIHkxID0gLUluZmluaXR5OworCisgIC8vIENvbXB1dGUgdGhl
IHBvaW50cyBhbmQgdGhlaXIgZXh0ZW50LgorICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7Cisg
ICAgaWYgKGlzTmFOKHggPSArdGhpcy5feC5jYWxsKG51bGwsIGQgPSBkYXRhW2ldKSkgfHwgaXNO
YU4oeSA9ICt0aGlzLl95LmNhbGwobnVsbCwgZCkpKSBjb250aW51ZTsKKyAgICB4eltpXSA9IHg7
CisgICAgeXpbaV0gPSB5OworICAgIGlmICh4IDwgeDApIHgwID0geDsKKyAgICBpZiAoeCA+IHgx
KSB4MSA9IHg7CisgICAgaWYgKHkgPCB5MCkgeTAgPSB5OworICAgIGlmICh5ID4geTEpIHkxID0g
eTsKKyAgfQorCisgIC8vIElmIHRoZXJlIHdlcmUgbm8gKHZhbGlkKSBwb2ludHMsIGFib3J0Lgor
ICBpZiAoeDAgPiB4MSB8fCB5MCA+IHkxKSByZXR1cm4gdGhpczsKKworICAvLyBFeHBhbmQgdGhl
IHRyZWUgdG8gY292ZXIgdGhlIG5ldyBwb2ludHMuCisgIHRoaXMuY292ZXIoeDAsIHkwKS5jb3Zl
cih4MSwgeTEpOworCisgIC8vIEFkZCB0aGUgbmV3IHBvaW50cy4KKyAgZm9yIChpID0gMDsgaSA8
IG47ICsraSkgeworICAgIGFkZCh0aGlzLCB4eltpXSwgeXpbaV0sIGRhdGFbaV0pOworICB9CisK
KyAgcmV0dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9uIHRyZWVfY292ZXIoeCwgeSkgeworICBpZiAo
aXNOYU4oeCA9ICt4KSB8fCBpc05hTih5ID0gK3kpKSByZXR1cm4gdGhpczsgLy8gaWdub3JlIGlu
dmFsaWQgcG9pbnRzCisKKyAgdmFyIHgwID0gdGhpcy5feDAsCisgICAgICB5MCA9IHRoaXMuX3kw
LAorICAgICAgeDEgPSB0aGlzLl94MSwKKyAgICAgIHkxID0gdGhpcy5feTE7CisKKyAgLy8gSWYg
dGhlIHF1YWR0cmVlIGhhcyBubyBleHRlbnQsIGluaXRpYWxpemUgdGhlbS4KKyAgLy8gSW50ZWdl
ciBleHRlbnQgYXJlIG5lY2Vzc2FyeSBzbyB0aGF0IGlmIHdlIGxhdGVyIGRvdWJsZSB0aGUgZXh0
ZW50LAorICAvLyB0aGUgZXhpc3RpbmcgcXVhZHJhbnQgYm91bmRhcmllcyBkb27igJl0IGNoYW5n
ZSBkdWUgdG8gZmxvYXRpbmcgcG9pbnQgZXJyb3IhCisgIGlmIChpc05hTih4MCkpIHsKKyAgICB4
MSA9ICh4MCA9IE1hdGguZmxvb3IoeCkpICsgMTsKKyAgICB5MSA9ICh5MCA9IE1hdGguZmxvb3Io
eSkpICsgMTsKKyAgfQorCisgIC8vIE90aGVyd2lzZSwgZG91YmxlIHJlcGVhdGVkbHkgdG8gY292
ZXIuCisgIGVsc2UgeworICAgIHZhciB6ID0geDEgLSB4MCwKKyAgICAgICAgbm9kZSA9IHRoaXMu
X3Jvb3QsCisgICAgICAgIHBhcmVudCwKKyAgICAgICAgaTsKKworICAgIHdoaWxlICh4MCA+IHgg
fHwgeCA+PSB4MSB8fCB5MCA+IHkgfHwgeSA+PSB5MSkgeworICAgICAgaSA9ICh5IDwgeTApIDw8
IDEgfCAoeCA8IHgwKTsKKyAgICAgIHBhcmVudCA9IG5ldyBBcnJheSg0KSwgcGFyZW50W2ldID0g
bm9kZSwgbm9kZSA9IHBhcmVudCwgeiAqPSAyOworICAgICAgc3dpdGNoIChpKSB7CisgICAgICAg
IGNhc2UgMDogeDEgPSB4MCArIHosIHkxID0geTAgKyB6OyBicmVhazsKKyAgICAgICAgY2FzZSAx
OiB4MCA9IHgxIC0geiwgeTEgPSB5MCArIHo7IGJyZWFrOworICAgICAgICBjYXNlIDI6IHgxID0g
eDAgKyB6LCB5MCA9IHkxIC0gejsgYnJlYWs7CisgICAgICAgIGNhc2UgMzogeDAgPSB4MSAtIHos
IHkwID0geTEgLSB6OyBicmVhazsKKyAgICAgIH0KKyAgICB9CisKKyAgICBpZiAodGhpcy5fcm9v
dCAmJiB0aGlzLl9yb290Lmxlbmd0aCkgdGhpcy5fcm9vdCA9IG5vZGU7CisgIH0KKworICB0aGlz
Ll94MCA9IHgwOworICB0aGlzLl95MCA9IHkwOworICB0aGlzLl94MSA9IHgxOworICB0aGlzLl95
MSA9IHkxOworICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24gdHJlZV9kYXRhKCkgeworICB2
YXIgZGF0YSA9IFtdOworICB0aGlzLnZpc2l0KGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBpZiAoIW5v
ZGUubGVuZ3RoKSBkbyBkYXRhLnB1c2gobm9kZS5kYXRhKTsgd2hpbGUgKG5vZGUgPSBub2RlLm5l
eHQpCisgIH0pOworICByZXR1cm4gZGF0YTsKK30KKworZnVuY3Rpb24gdHJlZV9leHRlbnQoXykg
eworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aAorICAgICAgPyB0aGlzLmNvdmVyKCtfWzBdWzBd
LCArX1swXVsxXSkuY292ZXIoK19bMV1bMF0sICtfWzFdWzFdKQorICAgICAgOiBpc05hTih0aGlz
Ll94MCkgPyB1bmRlZmluZWQgOiBbW3RoaXMuX3gwLCB0aGlzLl95MF0sIFt0aGlzLl94MSwgdGhp
cy5feTFdXTsKK30KKworZnVuY3Rpb24gUXVhZChub2RlLCB4MCwgeTAsIHgxLCB5MSkgeworICB0
aGlzLm5vZGUgPSBub2RlOworICB0aGlzLngwID0geDA7CisgIHRoaXMueTAgPSB5MDsKKyAgdGhp
cy54MSA9IHgxOworICB0aGlzLnkxID0geTE7Cit9CisKK2Z1bmN0aW9uIHRyZWVfZmluZCh4LCB5
LCByYWRpdXMpIHsKKyAgdmFyIGRhdGEsCisgICAgICB4MCA9IHRoaXMuX3gwLAorICAgICAgeTAg
PSB0aGlzLl95MCwKKyAgICAgIHgxLAorICAgICAgeTEsCisgICAgICB4MiwKKyAgICAgIHkyLAor
ICAgICAgeDMgPSB0aGlzLl94MSwKKyAgICAgIHkzID0gdGhpcy5feTEsCisgICAgICBxdWFkcyA9
IFtdLAorICAgICAgbm9kZSA9IHRoaXMuX3Jvb3QsCisgICAgICBxLAorICAgICAgaTsKKworICBp
ZiAobm9kZSkgcXVhZHMucHVzaChuZXcgUXVhZChub2RlLCB4MCwgeTAsIHgzLCB5MykpOworICBp
ZiAocmFkaXVzID09IG51bGwpIHJhZGl1cyA9IEluZmluaXR5OworICBlbHNlIHsKKyAgICB4MCA9
IHggLSByYWRpdXMsIHkwID0geSAtIHJhZGl1czsKKyAgICB4MyA9IHggKyByYWRpdXMsIHkzID0g
eSArIHJhZGl1czsKKyAgICByYWRpdXMgKj0gcmFkaXVzOworICB9CisKKyAgd2hpbGUgKHEgPSBx
dWFkcy5wb3AoKSkgeworCisgICAgLy8gU3RvcCBzZWFyY2hpbmcgaWYgdGhpcyBxdWFkcmFudCBj
YW7igJl0IGNvbnRhaW4gYSBjbG9zZXIgbm9kZS4KKyAgICBpZiAoIShub2RlID0gcS5ub2RlKQor
ICAgICAgICB8fCAoeDEgPSBxLngwKSA+IHgzCisgICAgICAgIHx8ICh5MSA9IHEueTApID4geTMK
KyAgICAgICAgfHwgKHgyID0gcS54MSkgPCB4MAorICAgICAgICB8fCAoeTIgPSBxLnkxKSA8IHkw
KSBjb250aW51ZTsKKworICAgIC8vIEJpc2VjdCB0aGUgY3VycmVudCBxdWFkcmFudC4KKyAgICBp
ZiAobm9kZS5sZW5ndGgpIHsKKyAgICAgIHZhciB4bSA9ICh4MSArIHgyKSAvIDIsCisgICAgICAg
ICAgeW0gPSAoeTEgKyB5MikgLyAyOworCisgICAgICBxdWFkcy5wdXNoKAorICAgICAgICBuZXcg
UXVhZChub2RlWzNdLCB4bSwgeW0sIHgyLCB5MiksCisgICAgICAgIG5ldyBRdWFkKG5vZGVbMl0s
IHgxLCB5bSwgeG0sIHkyKSwKKyAgICAgICAgbmV3IFF1YWQobm9kZVsxXSwgeG0sIHkxLCB4Miwg
eW0pLAorICAgICAgICBuZXcgUXVhZChub2RlWzBdLCB4MSwgeTEsIHhtLCB5bSkKKyAgICAgICk7
CisKKyAgICAgIC8vIFZpc2l0IHRoZSBjbG9zZXN0IHF1YWRyYW50IGZpcnN0LgorICAgICAgaWYg
KGkgPSAoeSA+PSB5bSkgPDwgMSB8ICh4ID49IHhtKSkgeworICAgICAgICBxID0gcXVhZHNbcXVh
ZHMubGVuZ3RoIC0gMV07CisgICAgICAgIHF1YWRzW3F1YWRzLmxlbmd0aCAtIDFdID0gcXVhZHNb
cXVhZHMubGVuZ3RoIC0gMSAtIGldOworICAgICAgICBxdWFkc1txdWFkcy5sZW5ndGggLSAxIC0g
aV0gPSBxOworICAgICAgfQorICAgIH0KKworICAgIC8vIFZpc2l0IHRoaXMgcG9pbnQuIChWaXNp
dGluZyBjb2luY2lkZW50IHBvaW50cyBpc27igJl0IG5lY2Vzc2FyeSEpCisgICAgZWxzZSB7Cisg
ICAgICB2YXIgZHggPSB4IC0gK3RoaXMuX3guY2FsbChudWxsLCBub2RlLmRhdGEpLAorICAgICAg
ICAgIGR5ID0geSAtICt0aGlzLl95LmNhbGwobnVsbCwgbm9kZS5kYXRhKSwKKyAgICAgICAgICBk
MiA9IGR4ICogZHggKyBkeSAqIGR5OworICAgICAgaWYgKGQyIDwgcmFkaXVzKSB7CisgICAgICAg
IHZhciBkID0gTWF0aC5zcXJ0KHJhZGl1cyA9IGQyKTsKKyAgICAgICAgeDAgPSB4IC0gZCwgeTAg
PSB5IC0gZDsKKyAgICAgICAgeDMgPSB4ICsgZCwgeTMgPSB5ICsgZDsKKyAgICAgICAgZGF0YSA9
IG5vZGUuZGF0YTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gZGF0YTsKK30KKwor
ZnVuY3Rpb24gdHJlZV9yZW1vdmUoZCkgeworICBpZiAoaXNOYU4oeCA9ICt0aGlzLl94LmNhbGwo
bnVsbCwgZCkpIHx8IGlzTmFOKHkgPSArdGhpcy5feS5jYWxsKG51bGwsIGQpKSkgcmV0dXJuIHRo
aXM7IC8vIGlnbm9yZSBpbnZhbGlkIHBvaW50cworCisgIHZhciBwYXJlbnQsCisgICAgICBub2Rl
ID0gdGhpcy5fcm9vdCwKKyAgICAgIHJldGFpbmVyLAorICAgICAgcHJldmlvdXMsCisgICAgICBu
ZXh0LAorICAgICAgeDAgPSB0aGlzLl94MCwKKyAgICAgIHkwID0gdGhpcy5feTAsCisgICAgICB4
MSA9IHRoaXMuX3gxLAorICAgICAgeTEgPSB0aGlzLl95MSwKKyAgICAgIHgsCisgICAgICB5LAor
ICAgICAgeG0sCisgICAgICB5bSwKKyAgICAgIHJpZ2h0LAorICAgICAgYm90dG9tLAorICAgICAg
aSwKKyAgICAgIGo7CisKKyAgLy8gSWYgdGhlIHRyZWUgaXMgZW1wdHksIGluaXRpYWxpemUgdGhl
IHJvb3QgYXMgYSBsZWFmLgorICBpZiAoIW5vZGUpIHJldHVybiB0aGlzOworCisgIC8vIEZpbmQg
dGhlIGxlYWYgbm9kZSBmb3IgdGhlIHBvaW50LgorICAvLyBXaGlsZSBkZXNjZW5kaW5nLCBhbHNv
IHJldGFpbiB0aGUgZGVlcGVzdCBwYXJlbnQgd2l0aCBhIG5vbi1yZW1vdmVkIHNpYmxpbmcuCisg
IGlmIChub2RlLmxlbmd0aCkgd2hpbGUgKHRydWUpIHsKKyAgICBpZiAocmlnaHQgPSB4ID49ICh4
bSA9ICh4MCArIHgxKSAvIDIpKSB4MCA9IHhtOyBlbHNlIHgxID0geG07CisgICAgaWYgKGJvdHRv
bSA9IHkgPj0gKHltID0gKHkwICsgeTEpIC8gMikpIHkwID0geW07IGVsc2UgeTEgPSB5bTsKKyAg
ICBpZiAoIShwYXJlbnQgPSBub2RlLCBub2RlID0gbm9kZVtpID0gYm90dG9tIDw8IDEgfCByaWdo
dF0pKSByZXR1cm4gdGhpczsKKyAgICBpZiAoIW5vZGUubGVuZ3RoKSBicmVhazsKKyAgICBpZiAo
cGFyZW50WyhpICsgMSkgJiAzXSB8fCBwYXJlbnRbKGkgKyAyKSAmIDNdIHx8IHBhcmVudFsoaSAr
IDMpICYgM10pIHJldGFpbmVyID0gcGFyZW50LCBqID0gaTsKKyAgfQorCisgIC8vIEZpbmQgdGhl
IHBvaW50IHRvIHJlbW92ZS4KKyAgd2hpbGUgKG5vZGUuZGF0YSAhPT0gZCkgaWYgKCEocHJldmlv
dXMgPSBub2RlLCBub2RlID0gbm9kZS5uZXh0KSkgcmV0dXJuIHRoaXM7CisgIGlmIChuZXh0ID0g
bm9kZS5uZXh0KSBkZWxldGUgbm9kZS5uZXh0OworCisgIC8vIElmIHRoZXJlIGFyZSBtdWx0aXBs
ZSBjb2luY2lkZW50IHBvaW50cywgcmVtb3ZlIGp1c3QgdGhlIHBvaW50LgorICBpZiAocHJldmlv
dXMpIHJldHVybiAobmV4dCA/IHByZXZpb3VzLm5leHQgPSBuZXh0IDogZGVsZXRlIHByZXZpb3Vz
Lm5leHQpLCB0aGlzOworCisgIC8vIElmIHRoaXMgaXMgdGhlIHJvb3QgcG9pbnQsIHJlbW92ZSBp
dC4KKyAgaWYgKCFwYXJlbnQpIHJldHVybiB0aGlzLl9yb290ID0gbmV4dCwgdGhpczsKKworICAv
LyBSZW1vdmUgdGhpcyBsZWFmLgorICBuZXh0ID8gcGFyZW50W2ldID0gbmV4dCA6IGRlbGV0ZSBw
YXJlbnRbaV07CisKKyAgLy8gSWYgdGhlIHBhcmVudCBub3cgY29udGFpbnMgZXhhY3RseSBvbmUg
bGVhZiwgY29sbGFwc2Ugc3VwZXJmbHVvdXMgcGFyZW50cy4KKyAgaWYgKChub2RlID0gcGFyZW50
WzBdIHx8IHBhcmVudFsxXSB8fCBwYXJlbnRbMl0gfHwgcGFyZW50WzNdKQorICAgICAgJiYgbm9k
ZSA9PT0gKHBhcmVudFszXSB8fCBwYXJlbnRbMl0gfHwgcGFyZW50WzFdIHx8IHBhcmVudFswXSkK
KyAgICAgICYmICFub2RlLmxlbmd0aCkgeworICAgIGlmIChyZXRhaW5lcikgcmV0YWluZXJbal0g
PSBub2RlOworICAgIGVsc2UgdGhpcy5fcm9vdCA9IG5vZGU7CisgIH0KKworICByZXR1cm4gdGhp
czsKK30KKworZnVuY3Rpb24gcmVtb3ZlQWxsKGRhdGEpIHsKKyAgZm9yICh2YXIgaSA9IDAsIG4g
PSBkYXRhLmxlbmd0aDsgaSA8IG47ICsraSkgdGhpcy5yZW1vdmUoZGF0YVtpXSk7CisgIHJldHVy
biB0aGlzOworfQorCitmdW5jdGlvbiB0cmVlX3Jvb3QoKSB7CisgIHJldHVybiB0aGlzLl9yb290
OworfQorCitmdW5jdGlvbiB0cmVlX3NpemUoKSB7CisgIHZhciBzaXplID0gMDsKKyAgdGhpcy52
aXNpdChmdW5jdGlvbihub2RlKSB7CisgICAgaWYgKCFub2RlLmxlbmd0aCkgZG8gKytzaXplOyB3
aGlsZSAobm9kZSA9IG5vZGUubmV4dCkKKyAgfSk7CisgIHJldHVybiBzaXplOworfQorCitmdW5j
dGlvbiB0cmVlX3Zpc2l0KGNhbGxiYWNrKSB7CisgIHZhciBxdWFkcyA9IFtdLCBxLCBub2RlID0g
dGhpcy5fcm9vdCwgY2hpbGQsIHgwLCB5MCwgeDEsIHkxOworICBpZiAobm9kZSkgcXVhZHMucHVz
aChuZXcgUXVhZChub2RlLCB0aGlzLl94MCwgdGhpcy5feTAsIHRoaXMuX3gxLCB0aGlzLl95MSkp
OworICB3aGlsZSAocSA9IHF1YWRzLnBvcCgpKSB7CisgICAgaWYgKCFjYWxsYmFjayhub2RlID0g
cS5ub2RlLCB4MCA9IHEueDAsIHkwID0gcS55MCwgeDEgPSBxLngxLCB5MSA9IHEueTEpICYmIG5v
ZGUubGVuZ3RoKSB7CisgICAgICB2YXIgeG0gPSAoeDAgKyB4MSkgLyAyLCB5bSA9ICh5MCArIHkx
KSAvIDI7CisgICAgICBpZiAoY2hpbGQgPSBub2RlWzNdKSBxdWFkcy5wdXNoKG5ldyBRdWFkKGNo
aWxkLCB4bSwgeW0sIHgxLCB5MSkpOworICAgICAgaWYgKGNoaWxkID0gbm9kZVsyXSkgcXVhZHMu
cHVzaChuZXcgUXVhZChjaGlsZCwgeDAsIHltLCB4bSwgeTEpKTsKKyAgICAgIGlmIChjaGlsZCA9
IG5vZGVbMV0pIHF1YWRzLnB1c2gobmV3IFF1YWQoY2hpbGQsIHhtLCB5MCwgeDEsIHltKSk7Cisg
ICAgICBpZiAoY2hpbGQgPSBub2RlWzBdKSBxdWFkcy5wdXNoKG5ldyBRdWFkKGNoaWxkLCB4MCwg
eTAsIHhtLCB5bSkpOworICAgIH0KKyAgfQorICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24g
dHJlZV92aXNpdEFmdGVyKGNhbGxiYWNrKSB7CisgIHZhciBxdWFkcyA9IFtdLCBuZXh0ID0gW10s
IHE7CisgIGlmICh0aGlzLl9yb290KSBxdWFkcy5wdXNoKG5ldyBRdWFkKHRoaXMuX3Jvb3QsIHRo
aXMuX3gwLCB0aGlzLl95MCwgdGhpcy5feDEsIHRoaXMuX3kxKSk7CisgIHdoaWxlIChxID0gcXVh
ZHMucG9wKCkpIHsKKyAgICB2YXIgbm9kZSA9IHEubm9kZTsKKyAgICBpZiAobm9kZS5sZW5ndGgp
IHsKKyAgICAgIHZhciBjaGlsZCwgeDAgPSBxLngwLCB5MCA9IHEueTAsIHgxID0gcS54MSwgeTEg
PSBxLnkxLCB4bSA9ICh4MCArIHgxKSAvIDIsIHltID0gKHkwICsgeTEpIC8gMjsKKyAgICAgIGlm
IChjaGlsZCA9IG5vZGVbMF0pIHF1YWRzLnB1c2gobmV3IFF1YWQoY2hpbGQsIHgwLCB5MCwgeG0s
IHltKSk7CisgICAgICBpZiAoY2hpbGQgPSBub2RlWzFdKSBxdWFkcy5wdXNoKG5ldyBRdWFkKGNo
aWxkLCB4bSwgeTAsIHgxLCB5bSkpOworICAgICAgaWYgKGNoaWxkID0gbm9kZVsyXSkgcXVhZHMu
cHVzaChuZXcgUXVhZChjaGlsZCwgeDAsIHltLCB4bSwgeTEpKTsKKyAgICAgIGlmIChjaGlsZCA9
IG5vZGVbM10pIHF1YWRzLnB1c2gobmV3IFF1YWQoY2hpbGQsIHhtLCB5bSwgeDEsIHkxKSk7Cisg
ICAgfQorICAgIG5leHQucHVzaChxKTsKKyAgfQorICB3aGlsZSAocSA9IG5leHQucG9wKCkpIHsK
KyAgICBjYWxsYmFjayhxLm5vZGUsIHEueDAsIHEueTAsIHEueDEsIHEueTEpOworICB9CisgIHJl
dHVybiB0aGlzOworfQorCitmdW5jdGlvbiBkZWZhdWx0WCQxKGQpIHsKKyAgcmV0dXJuIGRbMF07
Cit9CisKK2Z1bmN0aW9uIHRyZWVfeChfKSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8g
KHRoaXMuX3ggPSBfLCB0aGlzKSA6IHRoaXMuX3g7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRZJDEo
ZCkgeworICByZXR1cm4gZFsxXTsKK30KKworZnVuY3Rpb24gdHJlZV95KF8pIHsKKyAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAodGhpcy5feSA9IF8sIHRoaXMpIDogdGhpcy5feTsKK30KKwor
ZnVuY3Rpb24gcXVhZHRyZWUobm9kZXMsIHgsIHkpIHsKKyAgdmFyIHRyZWUgPSBuZXcgUXVhZHRy
ZWUoeCA9PSBudWxsID8gZGVmYXVsdFgkMSA6IHgsIHkgPT0gbnVsbCA/IGRlZmF1bHRZJDEgOiB5
LCBOYU4sIE5hTiwgTmFOLCBOYU4pOworICByZXR1cm4gbm9kZXMgPT0gbnVsbCA/IHRyZWUgOiB0
cmVlLmFkZEFsbChub2Rlcyk7Cit9CisKK2Z1bmN0aW9uIFF1YWR0cmVlKHgsIHksIHgwLCB5MCwg
eDEsIHkxKSB7CisgIHRoaXMuX3ggPSB4OworICB0aGlzLl95ID0geTsKKyAgdGhpcy5feDAgPSB4
MDsKKyAgdGhpcy5feTAgPSB5MDsKKyAgdGhpcy5feDEgPSB4MTsKKyAgdGhpcy5feTEgPSB5MTsK
KyAgdGhpcy5fcm9vdCA9IHVuZGVmaW5lZDsKK30KKworZnVuY3Rpb24gbGVhZl9jb3B5KGxlYWYp
IHsKKyAgdmFyIGNvcHkgPSB7ZGF0YTogbGVhZi5kYXRhfSwgbmV4dCA9IGNvcHk7CisgIHdoaWxl
IChsZWFmID0gbGVhZi5uZXh0KSBuZXh0ID0gbmV4dC5uZXh0ID0ge2RhdGE6IGxlYWYuZGF0YX07
CisgIHJldHVybiBjb3B5OworfQorCit2YXIgdHJlZVByb3RvID0gcXVhZHRyZWUucHJvdG90eXBl
ID0gUXVhZHRyZWUucHJvdG90eXBlOworCit0cmVlUHJvdG8uY29weSA9IGZ1bmN0aW9uKCkgewor
ICB2YXIgY29weSA9IG5ldyBRdWFkdHJlZSh0aGlzLl94LCB0aGlzLl95LCB0aGlzLl94MCwgdGhp
cy5feTAsIHRoaXMuX3gxLCB0aGlzLl95MSksCisgICAgICBub2RlID0gdGhpcy5fcm9vdCwKKyAg
ICAgIG5vZGVzLAorICAgICAgY2hpbGQ7CisKKyAgaWYgKCFub2RlKSByZXR1cm4gY29weTsKKwor
ICBpZiAoIW5vZGUubGVuZ3RoKSByZXR1cm4gY29weS5fcm9vdCA9IGxlYWZfY29weShub2RlKSwg
Y29weTsKKworICBub2RlcyA9IFt7c291cmNlOiBub2RlLCB0YXJnZXQ6IGNvcHkuX3Jvb3QgPSBu
ZXcgQXJyYXkoNCl9XTsKKyAgd2hpbGUgKG5vZGUgPSBub2Rlcy5wb3AoKSkgeworICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgNDsgKytpKSB7CisgICAgICBpZiAoY2hpbGQgPSBub2RlLnNvdXJjZVtp
XSkgeworICAgICAgICBpZiAoY2hpbGQubGVuZ3RoKSBub2Rlcy5wdXNoKHtzb3VyY2U6IGNoaWxk
LCB0YXJnZXQ6IG5vZGUudGFyZ2V0W2ldID0gbmV3IEFycmF5KDQpfSk7CisgICAgICAgIGVsc2Ug
bm9kZS50YXJnZXRbaV0gPSBsZWFmX2NvcHkoY2hpbGQpOworICAgICAgfQorICAgIH0KKyAgfQor
CisgIHJldHVybiBjb3B5OworfTsKKwordHJlZVByb3RvLmFkZCA9IHRyZWVfYWRkOwordHJlZVBy
b3RvLmFkZEFsbCA9IGFkZEFsbDsKK3RyZWVQcm90by5jb3ZlciA9IHRyZWVfY292ZXI7Cit0cmVl
UHJvdG8uZGF0YSA9IHRyZWVfZGF0YTsKK3RyZWVQcm90by5leHRlbnQgPSB0cmVlX2V4dGVudDsK
K3RyZWVQcm90by5maW5kID0gdHJlZV9maW5kOwordHJlZVByb3RvLnJlbW92ZSA9IHRyZWVfcmVt
b3ZlOwordHJlZVByb3RvLnJlbW92ZUFsbCA9IHJlbW92ZUFsbDsKK3RyZWVQcm90by5yb290ID0g
dHJlZV9yb290OwordHJlZVByb3RvLnNpemUgPSB0cmVlX3NpemU7Cit0cmVlUHJvdG8udmlzaXQg
PSB0cmVlX3Zpc2l0OwordHJlZVByb3RvLnZpc2l0QWZ0ZXIgPSB0cmVlX3Zpc2l0QWZ0ZXI7Cit0
cmVlUHJvdG8ueCA9IHRyZWVfeDsKK3RyZWVQcm90by55ID0gdHJlZV95OworCitmdW5jdGlvbiB4
KGQpIHsKKyAgcmV0dXJuIGQueCArIGQudng7Cit9CisKK2Z1bmN0aW9uIHkoZCkgeworICByZXR1
cm4gZC55ICsgZC52eTsKK30KKworZnVuY3Rpb24gY29sbGlkZShyYWRpdXMpIHsKKyAgdmFyIG5v
ZGVzLAorICAgICAgcmFkaWksCisgICAgICBzdHJlbmd0aCA9IDEsCisgICAgICBpdGVyYXRpb25z
ID0gMTsKKworICBpZiAodHlwZW9mIHJhZGl1cyAhPT0gImZ1bmN0aW9uIikgcmFkaXVzID0gY29u
c3RhbnQkNyhyYWRpdXMgPT0gbnVsbCA/IDEgOiArcmFkaXVzKTsKKworICBmdW5jdGlvbiBmb3Jj
ZSgpIHsKKyAgICB2YXIgaSwgbiA9IG5vZGVzLmxlbmd0aCwKKyAgICAgICAgdHJlZSwKKyAgICAg
ICAgbm9kZSwKKyAgICAgICAgeGksCisgICAgICAgIHlpLAorICAgICAgICByaSwKKyAgICAgICAg
cmkyOworCisgICAgZm9yICh2YXIgayA9IDA7IGsgPCBpdGVyYXRpb25zOyArK2spIHsKKyAgICAg
IHRyZWUgPSBxdWFkdHJlZShub2RlcywgeCwgeSkudmlzaXRBZnRlcihwcmVwYXJlKTsKKyAgICAg
IGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgbm9kZSA9IG5vZGVzW2ldOworICAg
ICAgICByaSA9IHJhZGlpW25vZGUuaW5kZXhdLCByaTIgPSByaSAqIHJpOworICAgICAgICB4aSA9
IG5vZGUueCArIG5vZGUudng7CisgICAgICAgIHlpID0gbm9kZS55ICsgbm9kZS52eTsKKyAgICAg
ICAgdHJlZS52aXNpdChhcHBseSk7CisgICAgICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gYXBw
bHkocXVhZCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgICAgIHZhciBkYXRhID0gcXVhZC5kYXRhLCBy
aiA9IHF1YWQuciwgciA9IHJpICsgcmo7CisgICAgICBpZiAoZGF0YSkgeworICAgICAgICBpZiAo
ZGF0YS5pbmRleCA+IG5vZGUuaW5kZXgpIHsKKyAgICAgICAgICB2YXIgeCA9IHhpIC0gZGF0YS54
IC0gZGF0YS52eCwKKyAgICAgICAgICAgICAgeSA9IHlpIC0gZGF0YS55IC0gZGF0YS52eSwKKyAg
ICAgICAgICAgICAgbCA9IHggKiB4ICsgeSAqIHk7CisgICAgICAgICAgaWYgKGwgPCByICogcikg
eworICAgICAgICAgICAgaWYgKHggPT09IDApIHggPSBqaWdnbGUoKSwgbCArPSB4ICogeDsKKyAg
ICAgICAgICAgIGlmICh5ID09PSAwKSB5ID0gamlnZ2xlKCksIGwgKz0geSAqIHk7CisgICAgICAg
ICAgICBsID0gKHIgLSAobCA9IE1hdGguc3FydChsKSkpIC8gbCAqIHN0cmVuZ3RoOworICAgICAg
ICAgICAgbm9kZS52eCArPSAoeCAqPSBsKSAqIChyID0gKHJqICo9IHJqKSAvIChyaTIgKyByaikp
OworICAgICAgICAgICAgbm9kZS52eSArPSAoeSAqPSBsKSAqIHI7CisgICAgICAgICAgICBkYXRh
LnZ4IC09IHggKiAociA9IDEgLSByKTsKKyAgICAgICAgICAgIGRhdGEudnkgLT0geSAqIHI7Cisg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIHJl
dHVybiB4MCA+IHhpICsgciB8fCB4MSA8IHhpIC0gciB8fCB5MCA+IHlpICsgciB8fCB5MSA8IHlp
IC0gcjsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBwcmVwYXJlKHF1YWQpIHsKKyAgICBpZiAo
cXVhZC5kYXRhKSByZXR1cm4gcXVhZC5yID0gcmFkaWlbcXVhZC5kYXRhLmluZGV4XTsKKyAgICBm
b3IgKHZhciBpID0gcXVhZC5yID0gMDsgaSA8IDQ7ICsraSkgeworICAgICAgaWYgKHF1YWRbaV0g
JiYgcXVhZFtpXS5yID4gcXVhZC5yKSB7CisgICAgICAgIHF1YWQuciA9IHF1YWRbaV0ucjsKKyAg
ICAgIH0KKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBpbml0aWFsaXplKCkgeworICAgIGlmICgh
bm9kZXMpIHJldHVybjsKKyAgICB2YXIgaSwgbiA9IG5vZGVzLmxlbmd0aCwgbm9kZTsKKyAgICBy
YWRpaSA9IG5ldyBBcnJheShuKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSBub2RlID0g
bm9kZXNbaV0sIHJhZGlpW25vZGUuaW5kZXhdID0gK3JhZGl1cyhub2RlLCBpLCBub2Rlcyk7Cisg
IH0KKworICBmb3JjZS5pbml0aWFsaXplID0gZnVuY3Rpb24oXykgeworICAgIG5vZGVzID0gXzsK
KyAgICBpbml0aWFsaXplKCk7CisgIH07CisKKyAgZm9yY2UuaXRlcmF0aW9ucyA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChpdGVyYXRpb25zID0gK18sIGZv
cmNlKSA6IGl0ZXJhdGlvbnM7CisgIH07CisKKyAgZm9yY2Uuc3RyZW5ndGggPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc3RyZW5ndGggPSArXywgZm9yY2Up
IDogc3RyZW5ndGg7CisgIH07CisKKyAgZm9yY2UucmFkaXVzID0gZnVuY3Rpb24oXykgeworICAg
IHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJhZGl1cyA9IHR5cGVvZiBfID09PSAiZnVuY3Rp
b24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplKCksIGZvcmNlKSA6IHJhZGl1czsK
KyAgfTsKKworICByZXR1cm4gZm9yY2U7Cit9CisKK2Z1bmN0aW9uIGluZGV4KGQpIHsKKyAgcmV0
dXJuIGQuaW5kZXg7Cit9CisKK2Z1bmN0aW9uIGZpbmQobm9kZUJ5SWQsIG5vZGVJZCkgeworICB2
YXIgbm9kZSA9IG5vZGVCeUlkLmdldChub2RlSWQpOworICBpZiAoIW5vZGUpIHRocm93IG5ldyBF
cnJvcigibWlzc2luZzogIiArIG5vZGVJZCk7CisgIHJldHVybiBub2RlOworfQorCitmdW5jdGlv
biBsaW5rKGxpbmtzKSB7CisgIHZhciBpZCA9IGluZGV4LAorICAgICAgc3RyZW5ndGggPSBkZWZh
dWx0U3RyZW5ndGgsCisgICAgICBzdHJlbmd0aHMsCisgICAgICBkaXN0YW5jZSA9IGNvbnN0YW50
JDcoMzApLAorICAgICAgZGlzdGFuY2VzLAorICAgICAgbm9kZXMsCisgICAgICBjb3VudCwKKyAg
ICAgIGJpYXMsCisgICAgICBpdGVyYXRpb25zID0gMTsKKworICBpZiAobGlua3MgPT0gbnVsbCkg
bGlua3MgPSBbXTsKKworICBmdW5jdGlvbiBkZWZhdWx0U3RyZW5ndGgobGluaykgeworICAgIHJl
dHVybiAxIC8gTWF0aC5taW4oY291bnRbbGluay5zb3VyY2UuaW5kZXhdLCBjb3VudFtsaW5rLnRh
cmdldC5pbmRleF0pOworICB9CisKKyAgZnVuY3Rpb24gZm9yY2UoYWxwaGEpIHsKKyAgICBmb3Ig
KHZhciBrID0gMCwgbiA9IGxpbmtzLmxlbmd0aDsgayA8IGl0ZXJhdGlvbnM7ICsraykgeworICAg
ICAgZm9yICh2YXIgaSA9IDAsIGxpbmssIHNvdXJjZSwgdGFyZ2V0LCB4LCB5LCBsLCBiOyBpIDwg
bjsgKytpKSB7CisgICAgICAgIGxpbmsgPSBsaW5rc1tpXSwgc291cmNlID0gbGluay5zb3VyY2Us
IHRhcmdldCA9IGxpbmsudGFyZ2V0OworICAgICAgICB4ID0gdGFyZ2V0LnggKyB0YXJnZXQudngg
LSBzb3VyY2UueCAtIHNvdXJjZS52eCB8fCBqaWdnbGUoKTsKKyAgICAgICAgeSA9IHRhcmdldC55
ICsgdGFyZ2V0LnZ5IC0gc291cmNlLnkgLSBzb3VyY2UudnkgfHwgamlnZ2xlKCk7CisgICAgICAg
IGwgPSBNYXRoLnNxcnQoeCAqIHggKyB5ICogeSk7CisgICAgICAgIGwgPSAobCAtIGRpc3RhbmNl
c1tpXSkgLyBsICogYWxwaGEgKiBzdHJlbmd0aHNbaV07CisgICAgICAgIHggKj0gbCwgeSAqPSBs
OworICAgICAgICB0YXJnZXQudnggLT0geCAqIChiID0gYmlhc1tpXSk7CisgICAgICAgIHRhcmdl
dC52eSAtPSB5ICogYjsKKyAgICAgICAgc291cmNlLnZ4ICs9IHggKiAoYiA9IDEgLSBiKTsKKyAg
ICAgICAgc291cmNlLnZ5ICs9IHkgKiBiOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGZ1bmN0
aW9uIGluaXRpYWxpemUoKSB7CisgICAgaWYgKCFub2RlcykgcmV0dXJuOworCisgICAgdmFyIGks
CisgICAgICAgIG4gPSBub2Rlcy5sZW5ndGgsCisgICAgICAgIG0gPSBsaW5rcy5sZW5ndGgsCisg
ICAgICAgIG5vZGVCeUlkID0gbWFwJDEobm9kZXMsIGlkKSwKKyAgICAgICAgbGluazsKKworICAg
IGZvciAoaSA9IDAsIGNvdW50ID0gbmV3IEFycmF5KG4pOyBpIDwgbTsgKytpKSB7CisgICAgICBs
aW5rID0gbGlua3NbaV0sIGxpbmsuaW5kZXggPSBpOworICAgICAgaWYgKHR5cGVvZiBsaW5rLnNv
dXJjZSAhPT0gIm9iamVjdCIpIGxpbmsuc291cmNlID0gZmluZChub2RlQnlJZCwgbGluay5zb3Vy
Y2UpOworICAgICAgaWYgKHR5cGVvZiBsaW5rLnRhcmdldCAhPT0gIm9iamVjdCIpIGxpbmsudGFy
Z2V0ID0gZmluZChub2RlQnlJZCwgbGluay50YXJnZXQpOworICAgICAgY291bnRbbGluay5zb3Vy
Y2UuaW5kZXhdID0gKGNvdW50W2xpbmsuc291cmNlLmluZGV4XSB8fCAwKSArIDE7CisgICAgICBj
b3VudFtsaW5rLnRhcmdldC5pbmRleF0gPSAoY291bnRbbGluay50YXJnZXQuaW5kZXhdIHx8IDAp
ICsgMTsKKyAgICB9CisKKyAgICBmb3IgKGkgPSAwLCBiaWFzID0gbmV3IEFycmF5KG0pOyBpIDwg
bTsgKytpKSB7CisgICAgICBsaW5rID0gbGlua3NbaV0sIGJpYXNbaV0gPSBjb3VudFtsaW5rLnNv
dXJjZS5pbmRleF0gLyAoY291bnRbbGluay5zb3VyY2UuaW5kZXhdICsgY291bnRbbGluay50YXJn
ZXQuaW5kZXhdKTsKKyAgICB9CisKKyAgICBzdHJlbmd0aHMgPSBuZXcgQXJyYXkobSksIGluaXRp
YWxpemVTdHJlbmd0aCgpOworICAgIGRpc3RhbmNlcyA9IG5ldyBBcnJheShtKSwgaW5pdGlhbGl6
ZURpc3RhbmNlKCk7CisgIH0KKworICBmdW5jdGlvbiBpbml0aWFsaXplU3RyZW5ndGgoKSB7Cisg
ICAgaWYgKCFub2RlcykgcmV0dXJuOworCisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBsaW5rcy5s
ZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICAgIHN0cmVuZ3Roc1tpXSA9ICtzdHJlbmd0aChsaW5r
c1tpXSwgaSwgbGlua3MpOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemVEaXN0
YW5jZSgpIHsKKyAgICBpZiAoIW5vZGVzKSByZXR1cm47CisKKyAgICBmb3IgKHZhciBpID0gMCwg
biA9IGxpbmtzLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAgICAgZGlzdGFuY2VzW2ldID0gK2Rp
c3RhbmNlKGxpbmtzW2ldLCBpLCBsaW5rcyk7CisgICAgfQorICB9CisKKyAgZm9yY2UuaW5pdGlh
bGl6ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBub2RlcyA9IF87CisgICAgaW5pdGlhbGl6ZSgpOwor
ICB9OworCisgIGZvcmNlLmxpbmtzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKGxpbmtzID0gXywgaW5pdGlhbGl6ZSgpLCBmb3JjZSkgOiBsaW5rczsKKyAg
fTsKKworICBmb3JjZS5pZCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IChpZCA9IF8sIGZvcmNlKSA6IGlkOworICB9OworCisgIGZvcmNlLml0ZXJhdGlvbnMg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoaXRlcmF0aW9u
cyA9ICtfLCBmb3JjZSkgOiBpdGVyYXRpb25zOworICB9OworCisgIGZvcmNlLnN0cmVuZ3RoID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHN0cmVuZ3RoID0g
dHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyksIGluaXRpYWxpemVT
dHJlbmd0aCgpLCBmb3JjZSkgOiBzdHJlbmd0aDsKKyAgfTsKKworICBmb3JjZS5kaXN0YW5jZSA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkaXN0YW5jZSA9
IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXpl
RGlzdGFuY2UoKSwgZm9yY2UpIDogZGlzdGFuY2U7CisgIH07CisKKyAgcmV0dXJuIGZvcmNlOwor
fQorCitmdW5jdGlvbiB4JDEoZCkgeworICByZXR1cm4gZC54OworfQorCitmdW5jdGlvbiB5JDEo
ZCkgeworICByZXR1cm4gZC55OworfQorCit2YXIgaW5pdGlhbFJhZGl1cyA9IDEwLAorICAgIGlu
aXRpYWxBbmdsZSA9IE1hdGguUEkgKiAoMyAtIE1hdGguc3FydCg1KSk7CisKK2Z1bmN0aW9uIHNp
bXVsYXRpb24obm9kZXMpIHsKKyAgdmFyIHNpbXVsYXRpb24sCisgICAgICBhbHBoYSA9IDEsCisg
ICAgICBhbHBoYU1pbiA9IDAuMDAxLAorICAgICAgYWxwaGFEZWNheSA9IDEgLSBNYXRoLnBvdyhh
bHBoYU1pbiwgMSAvIDMwMCksCisgICAgICBhbHBoYVRhcmdldCA9IDAsCisgICAgICB2ZWxvY2l0
eURlY2F5ID0gMC42LAorICAgICAgZm9yY2VzID0gbWFwJDEoKSwKKyAgICAgIHN0ZXBwZXIgPSB0
aW1lcihzdGVwKSwKKyAgICAgIGV2ZW50ID0gZGlzcGF0Y2goInRpY2siLCAiZW5kIik7CisKKyAg
aWYgKG5vZGVzID09IG51bGwpIG5vZGVzID0gW107CisKKyAgZnVuY3Rpb24gc3RlcCgpIHsKKyAg
ICB0aWNrKCk7CisgICAgZXZlbnQuY2FsbCgidGljayIsIHNpbXVsYXRpb24pOworICAgIGlmIChh
bHBoYSA8IGFscGhhTWluKSB7CisgICAgICBzdGVwcGVyLnN0b3AoKTsKKyAgICAgIGV2ZW50LmNh
bGwoImVuZCIsIHNpbXVsYXRpb24pOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIHRpY2soaXRl
cmF0aW9ucykgeworICAgIHZhciBpLCBuID0gbm9kZXMubGVuZ3RoLCBub2RlOworCisgICAgaWYg
KGl0ZXJhdGlvbnMgPT09IHVuZGVmaW5lZCkgaXRlcmF0aW9ucyA9IDE7CisKKyAgICBmb3IgKHZh
ciBrID0gMDsgayA8IGl0ZXJhdGlvbnM7ICsraykgeworICAgICAgYWxwaGEgKz0gKGFscGhhVGFy
Z2V0IC0gYWxwaGEpICogYWxwaGFEZWNheTsKKworICAgICAgZm9yY2VzLmVhY2goZnVuY3Rpb24g
KGZvcmNlKSB7CisgICAgICAgIGZvcmNlKGFscGhhKTsKKyAgICAgIH0pOworCisgICAgICBmb3Ig
KGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICAgIG5vZGUgPSBub2Rlc1tpXTsKKyAgICAgICAg
aWYgKG5vZGUuZnggPT0gbnVsbCkgbm9kZS54ICs9IG5vZGUudnggKj0gdmVsb2NpdHlEZWNheTsK
KyAgICAgICAgZWxzZSBub2RlLnggPSBub2RlLmZ4LCBub2RlLnZ4ID0gMDsKKyAgICAgICAgaWYg
KG5vZGUuZnkgPT0gbnVsbCkgbm9kZS55ICs9IG5vZGUudnkgKj0gdmVsb2NpdHlEZWNheTsKKyAg
ICAgICAgZWxzZSBub2RlLnkgPSBub2RlLmZ5LCBub2RlLnZ5ID0gMDsKKyAgICAgIH0KKyAgICB9
CisKKyAgICByZXR1cm4gc2ltdWxhdGlvbjsKKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemVO
b2RlcygpIHsKKyAgICBmb3IgKHZhciBpID0gMCwgbiA9IG5vZGVzLmxlbmd0aCwgbm9kZTsgaSA8
IG47ICsraSkgeworICAgICAgbm9kZSA9IG5vZGVzW2ldLCBub2RlLmluZGV4ID0gaTsKKyAgICAg
IGlmIChub2RlLmZ4ICE9IG51bGwpIG5vZGUueCA9IG5vZGUuZng7CisgICAgICBpZiAobm9kZS5m
eSAhPSBudWxsKSBub2RlLnkgPSBub2RlLmZ5OworICAgICAgaWYgKGlzTmFOKG5vZGUueCkgfHwg
aXNOYU4obm9kZS55KSkgeworICAgICAgICB2YXIgcmFkaXVzID0gaW5pdGlhbFJhZGl1cyAqIE1h
dGguc3FydChpKSwgYW5nbGUgPSBpICogaW5pdGlhbEFuZ2xlOworICAgICAgICBub2RlLnggPSBy
YWRpdXMgKiBNYXRoLmNvcyhhbmdsZSk7CisgICAgICAgIG5vZGUueSA9IHJhZGl1cyAqIE1hdGgu
c2luKGFuZ2xlKTsKKyAgICAgIH0KKyAgICAgIGlmIChpc05hTihub2RlLnZ4KSB8fCBpc05hTihu
b2RlLnZ5KSkgeworICAgICAgICBub2RlLnZ4ID0gbm9kZS52eSA9IDA7CisgICAgICB9CisgICAg
fQorICB9CisKKyAgZnVuY3Rpb24gaW5pdGlhbGl6ZUZvcmNlKGZvcmNlKSB7CisgICAgaWYgKGZv
cmNlLmluaXRpYWxpemUpIGZvcmNlLmluaXRpYWxpemUobm9kZXMpOworICAgIHJldHVybiBmb3Jj
ZTsKKyAgfQorCisgIGluaXRpYWxpemVOb2RlcygpOworCisgIHJldHVybiBzaW11bGF0aW9uID0g
eworICAgIHRpY2s6IHRpY2ssCisKKyAgICByZXN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICAgIHJl
dHVybiBzdGVwcGVyLnJlc3RhcnQoc3RlcCksIHNpbXVsYXRpb247CisgICAgfSwKKworICAgIHN0
b3A6IGZ1bmN0aW9uKCkgeworICAgICAgcmV0dXJuIHN0ZXBwZXIuc3RvcCgpLCBzaW11bGF0aW9u
OworICAgIH0sCisKKyAgICBub2RlczogZnVuY3Rpb24oXykgeworICAgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAobm9kZXMgPSBfLCBpbml0aWFsaXplTm9kZXMoKSwgZm9yY2VzLmVhY2go
aW5pdGlhbGl6ZUZvcmNlKSwgc2ltdWxhdGlvbikgOiBub2RlczsKKyAgICB9LAorCisgICAgYWxw
aGE6IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGFscGhh
ID0gK18sIHNpbXVsYXRpb24pIDogYWxwaGE7CisgICAgfSwKKworICAgIGFscGhhTWluOiBmdW5j
dGlvbihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChhbHBoYU1pbiA9ICtf
LCBzaW11bGF0aW9uKSA6IGFscGhhTWluOworICAgIH0sCisKKyAgICBhbHBoYURlY2F5OiBmdW5j
dGlvbihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChhbHBoYURlY2F5ID0g
K18sIHNpbXVsYXRpb24pIDogK2FscGhhRGVjYXk7CisgICAgfSwKKworICAgIGFscGhhVGFyZ2V0
OiBmdW5jdGlvbihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChhbHBoYVRh
cmdldCA9ICtfLCBzaW11bGF0aW9uKSA6IGFscGhhVGFyZ2V0OworICAgIH0sCisKKyAgICB2ZWxv
Y2l0eURlY2F5OiBmdW5jdGlvbihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
ICh2ZWxvY2l0eURlY2F5ID0gMSAtIF8sIHNpbXVsYXRpb24pIDogMSAtIHZlbG9jaXR5RGVjYXk7
CisgICAgfSwKKworICAgIGZvcmNlOiBmdW5jdGlvbihuYW1lLCBfKSB7CisgICAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA+IDEgPyAoKF8gPT0gbnVsbCA/IGZvcmNlcy5yZW1vdmUobmFtZSkg
OiBmb3JjZXMuc2V0KG5hbWUsIGluaXRpYWxpemVGb3JjZShfKSkpLCBzaW11bGF0aW9uKSA6IGZv
cmNlcy5nZXQobmFtZSk7CisgICAgfSwKKworICAgIGZpbmQ6IGZ1bmN0aW9uKHgsIHksIHJhZGl1
cykgeworICAgICAgdmFyIGkgPSAwLAorICAgICAgICAgIG4gPSBub2Rlcy5sZW5ndGgsCisgICAg
ICAgICAgZHgsCisgICAgICAgICAgZHksCisgICAgICAgICAgZDIsCisgICAgICAgICAgbm9kZSwK
KyAgICAgICAgICBjbG9zZXN0OworCisgICAgICBpZiAocmFkaXVzID09IG51bGwpIHJhZGl1cyA9
IEluZmluaXR5OworICAgICAgZWxzZSByYWRpdXMgKj0gcmFkaXVzOworCisgICAgICBmb3IgKGkg
PSAwOyBpIDwgbjsgKytpKSB7CisgICAgICAgIG5vZGUgPSBub2Rlc1tpXTsKKyAgICAgICAgZHgg
PSB4IC0gbm9kZS54OworICAgICAgICBkeSA9IHkgLSBub2RlLnk7CisgICAgICAgIGQyID0gZHgg
KiBkeCArIGR5ICogZHk7CisgICAgICAgIGlmIChkMiA8IHJhZGl1cykgY2xvc2VzdCA9IG5vZGUs
IHJhZGl1cyA9IGQyOworICAgICAgfQorCisgICAgICByZXR1cm4gY2xvc2VzdDsKKyAgICB9LAor
CisgICAgb246IGZ1bmN0aW9uKG5hbWUsIF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID4gMSA/IChldmVudC5vbihuYW1lLCBfKSwgc2ltdWxhdGlvbikgOiBldmVudC5vbihuYW1l
KTsKKyAgICB9CisgIH07Cit9CisKK2Z1bmN0aW9uIG1hbnlCb2R5KCkgeworICB2YXIgbm9kZXMs
CisgICAgICBub2RlLAorICAgICAgYWxwaGEsCisgICAgICBzdHJlbmd0aCA9IGNvbnN0YW50JDco
LTMwKSwKKyAgICAgIHN0cmVuZ3RocywKKyAgICAgIGRpc3RhbmNlTWluMiA9IDEsCisgICAgICBk
aXN0YW5jZU1heDIgPSBJbmZpbml0eSwKKyAgICAgIHRoZXRhMiA9IDAuODE7CisKKyAgZnVuY3Rp
b24gZm9yY2UoXykgeworICAgIHZhciBpLCBuID0gbm9kZXMubGVuZ3RoLCB0cmVlID0gcXVhZHRy
ZWUobm9kZXMsIHgkMSwgeSQxKS52aXNpdEFmdGVyKGFjY3VtdWxhdGUpOworICAgIGZvciAoYWxw
aGEgPSBfLCBpID0gMDsgaSA8IG47ICsraSkgbm9kZSA9IG5vZGVzW2ldLCB0cmVlLnZpc2l0KGFw
cGx5KTsKKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemUoKSB7CisgICAgaWYgKCFub2Rlcykg
cmV0dXJuOworICAgIHZhciBpLCBuID0gbm9kZXMubGVuZ3RoLCBub2RlOworICAgIHN0cmVuZ3Ro
cyA9IG5ldyBBcnJheShuKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSBub2RlID0gbm9k
ZXNbaV0sIHN0cmVuZ3Roc1tub2RlLmluZGV4XSA9ICtzdHJlbmd0aChub2RlLCBpLCBub2Rlcyk7
CisgIH0KKworICBmdW5jdGlvbiBhY2N1bXVsYXRlKHF1YWQpIHsKKyAgICB2YXIgc3RyZW5ndGgg
PSAwLCBxLCBjLCB3ZWlnaHQgPSAwLCB4LCB5LCBpOworCisgICAgLy8gRm9yIGludGVybmFsIG5v
ZGVzLCBhY2N1bXVsYXRlIGZvcmNlcyBmcm9tIGNoaWxkIHF1YWRyYW50cy4KKyAgICBpZiAocXVh
ZC5sZW5ndGgpIHsKKyAgICAgIGZvciAoeCA9IHkgPSBpID0gMDsgaSA8IDQ7ICsraSkgeworICAg
ICAgICBpZiAoKHEgPSBxdWFkW2ldKSAmJiAoYyA9IE1hdGguYWJzKHEudmFsdWUpKSkgeworICAg
ICAgICAgIHN0cmVuZ3RoICs9IHEudmFsdWUsIHdlaWdodCArPSBjLCB4ICs9IGMgKiBxLngsIHkg
Kz0gYyAqIHEueTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgcXVhZC54ID0geCAvIHdlaWdo
dDsKKyAgICAgIHF1YWQueSA9IHkgLyB3ZWlnaHQ7CisgICAgfQorCisgICAgLy8gRm9yIGxlYWYg
bm9kZXMsIGFjY3VtdWxhdGUgZm9yY2VzIGZyb20gY29pbmNpZGVudCBxdWFkcmFudHMuCisgICAg
ZWxzZSB7CisgICAgICBxID0gcXVhZDsKKyAgICAgIHEueCA9IHEuZGF0YS54OworICAgICAgcS55
ID0gcS5kYXRhLnk7CisgICAgICBkbyBzdHJlbmd0aCArPSBzdHJlbmd0aHNbcS5kYXRhLmluZGV4
XTsKKyAgICAgIHdoaWxlIChxID0gcS5uZXh0KTsKKyAgICB9CisKKyAgICBxdWFkLnZhbHVlID0g
c3RyZW5ndGg7CisgIH0KKworICBmdW5jdGlvbiBhcHBseShxdWFkLCB4MSwgXywgeDIpIHsKKyAg
ICBpZiAoIXF1YWQudmFsdWUpIHJldHVybiB0cnVlOworCisgICAgdmFyIHggPSBxdWFkLnggLSBu
b2RlLngsCisgICAgICAgIHkgPSBxdWFkLnkgLSBub2RlLnksCisgICAgICAgIHcgPSB4MiAtIHgx
LAorICAgICAgICBsID0geCAqIHggKyB5ICogeTsKKworICAgIC8vIEFwcGx5IHRoZSBCYXJuZXMt
SHV0IGFwcHJveGltYXRpb24gaWYgcG9zc2libGUuCisgICAgLy8gTGltaXQgZm9yY2VzIGZvciB2
ZXJ5IGNsb3NlIG5vZGVzOyByYW5kb21pemUgZGlyZWN0aW9uIGlmIGNvaW5jaWRlbnQuCisgICAg
aWYgKHcgKiB3IC8gdGhldGEyIDwgbCkgeworICAgICAgaWYgKGwgPCBkaXN0YW5jZU1heDIpIHsK
KyAgICAgICAgaWYgKHggPT09IDApIHggPSBqaWdnbGUoKSwgbCArPSB4ICogeDsKKyAgICAgICAg
aWYgKHkgPT09IDApIHkgPSBqaWdnbGUoKSwgbCArPSB5ICogeTsKKyAgICAgICAgaWYgKGwgPCBk
aXN0YW5jZU1pbjIpIGwgPSBNYXRoLnNxcnQoZGlzdGFuY2VNaW4yICogbCk7CisgICAgICAgIG5v
ZGUudnggKz0geCAqIHF1YWQudmFsdWUgKiBhbHBoYSAvIGw7CisgICAgICAgIG5vZGUudnkgKz0g
eSAqIHF1YWQudmFsdWUgKiBhbHBoYSAvIGw7CisgICAgICB9CisgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CisKKyAgICAvLyBPdGhlcndpc2UsIHByb2Nlc3MgcG9pbnRzIGRpcmVjdGx5LgorICAg
IGVsc2UgaWYgKHF1YWQubGVuZ3RoIHx8IGwgPj0gZGlzdGFuY2VNYXgyKSByZXR1cm47CisKKyAg
ICAvLyBMaW1pdCBmb3JjZXMgZm9yIHZlcnkgY2xvc2Ugbm9kZXM7IHJhbmRvbWl6ZSBkaXJlY3Rp
b24gaWYgY29pbmNpZGVudC4KKyAgICBpZiAocXVhZC5kYXRhICE9PSBub2RlIHx8IHF1YWQubmV4
dCkgeworICAgICAgaWYgKHggPT09IDApIHggPSBqaWdnbGUoKSwgbCArPSB4ICogeDsKKyAgICAg
IGlmICh5ID09PSAwKSB5ID0gamlnZ2xlKCksIGwgKz0geSAqIHk7CisgICAgICBpZiAobCA8IGRp
c3RhbmNlTWluMikgbCA9IE1hdGguc3FydChkaXN0YW5jZU1pbjIgKiBsKTsKKyAgICB9CisKKyAg
ICBkbyBpZiAocXVhZC5kYXRhICE9PSBub2RlKSB7CisgICAgICB3ID0gc3RyZW5ndGhzW3F1YWQu
ZGF0YS5pbmRleF0gKiBhbHBoYSAvIGw7CisgICAgICBub2RlLnZ4ICs9IHggKiB3OworICAgICAg
bm9kZS52eSArPSB5ICogdzsKKyAgICB9IHdoaWxlIChxdWFkID0gcXVhZC5uZXh0KTsKKyAgfQor
CisgIGZvcmNlLmluaXRpYWxpemUgPSBmdW5jdGlvbihfKSB7CisgICAgbm9kZXMgPSBfOworICAg
IGluaXRpYWxpemUoKTsKKyAgfTsKKworICBmb3JjZS5zdHJlbmd0aCA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzdHJlbmd0aCA9IHR5cGVvZiBfID09PSAi
ZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplKCksIGZvcmNlKSA6IHN0
cmVuZ3RoOworICB9OworCisgIGZvcmNlLmRpc3RhbmNlTWluID0gZnVuY3Rpb24oXykgeworICAg
IHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGRpc3RhbmNlTWluMiA9IF8gKiBfLCBmb3JjZSkg
OiBNYXRoLnNxcnQoZGlzdGFuY2VNaW4yKTsKKyAgfTsKKworICBmb3JjZS5kaXN0YW5jZU1heCA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkaXN0YW5jZU1h
eDIgPSBfICogXywgZm9yY2UpIDogTWF0aC5zcXJ0KGRpc3RhbmNlTWF4Mik7CisgIH07CisKKyAg
Zm9yY2UudGhldGEgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PyAodGhldGEyID0gXyAqIF8sIGZvcmNlKSA6IE1hdGguc3FydCh0aGV0YTIpOworICB9OworCisg
IHJldHVybiBmb3JjZTsKK30KKworZnVuY3Rpb24gcmFkaWFsKHJhZGl1cywgeCwgeSkgeworICB2
YXIgbm9kZXMsCisgICAgICBzdHJlbmd0aCA9IGNvbnN0YW50JDcoMC4xKSwKKyAgICAgIHN0cmVu
Z3RocywKKyAgICAgIHJhZGl1c2VzOworCisgIGlmICh0eXBlb2YgcmFkaXVzICE9PSAiZnVuY3Rp
b24iKSByYWRpdXMgPSBjb25zdGFudCQ3KCtyYWRpdXMpOworICBpZiAoeCA9PSBudWxsKSB4ID0g
MDsKKyAgaWYgKHkgPT0gbnVsbCkgeSA9IDA7CisKKyAgZnVuY3Rpb24gZm9yY2UoYWxwaGEpIHsK
KyAgICBmb3IgKHZhciBpID0gMCwgbiA9IG5vZGVzLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAg
ICAgdmFyIG5vZGUgPSBub2Rlc1tpXSwKKyAgICAgICAgICBkeCA9IG5vZGUueCAtIHggfHwgMWUt
NiwKKyAgICAgICAgICBkeSA9IG5vZGUueSAtIHkgfHwgMWUtNiwKKyAgICAgICAgICByID0gTWF0
aC5zcXJ0KGR4ICogZHggKyBkeSAqIGR5KSwKKyAgICAgICAgICBrID0gKHJhZGl1c2VzW2ldIC0g
cikgKiBzdHJlbmd0aHNbaV0gKiBhbHBoYSAvIHI7CisgICAgICBub2RlLnZ4ICs9IGR4ICogazsK
KyAgICAgIG5vZGUudnkgKz0gZHkgKiBrOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGluaXRp
YWxpemUoKSB7CisgICAgaWYgKCFub2RlcykgcmV0dXJuOworICAgIHZhciBpLCBuID0gbm9kZXMu
bGVuZ3RoOworICAgIHN0cmVuZ3RocyA9IG5ldyBBcnJheShuKTsKKyAgICByYWRpdXNlcyA9IG5l
dyBBcnJheShuKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICByYWRpdXNl
c1tpXSA9ICtyYWRpdXMobm9kZXNbaV0sIGksIG5vZGVzKTsKKyAgICAgIHN0cmVuZ3Roc1tpXSA9
IGlzTmFOKHJhZGl1c2VzW2ldKSA/IDAgOiArc3RyZW5ndGgobm9kZXNbaV0sIGksIG5vZGVzKTsK
KyAgICB9CisgIH0KKworICBmb3JjZS5pbml0aWFsaXplID0gZnVuY3Rpb24oXykgeworICAgIG5v
ZGVzID0gXywgaW5pdGlhbGl6ZSgpOworICB9OworCisgIGZvcmNlLnN0cmVuZ3RoID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHN0cmVuZ3RoID0gdHlwZW9m
IF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyksIGluaXRpYWxpemUoKSwgZm9y
Y2UpIDogc3RyZW5ndGg7CisgIH07CisKKyAgZm9yY2UucmFkaXVzID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJhZGl1cyA9IHR5cGVvZiBfID09PSAiZnVu
Y3Rpb24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplKCksIGZvcmNlKSA6IHJhZGl1
czsKKyAgfTsKKworICBmb3JjZS54ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHggPSArXywgZm9yY2UpIDogeDsKKyAgfTsKKworICBmb3JjZS55ID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHkgPSArXywgZm9yY2Up
IDogeTsKKyAgfTsKKworICByZXR1cm4gZm9yY2U7Cit9CisKK2Z1bmN0aW9uIHgkMih4KSB7Cisg
IHZhciBzdHJlbmd0aCA9IGNvbnN0YW50JDcoMC4xKSwKKyAgICAgIG5vZGVzLAorICAgICAgc3Ry
ZW5ndGhzLAorICAgICAgeHo7CisKKyAgaWYgKHR5cGVvZiB4ICE9PSAiZnVuY3Rpb24iKSB4ID0g
Y29uc3RhbnQkNyh4ID09IG51bGwgPyAwIDogK3gpOworCisgIGZ1bmN0aW9uIGZvcmNlKGFscGhh
KSB7CisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBub2Rlcy5sZW5ndGgsIG5vZGU7IGkgPCBuOyAr
K2kpIHsKKyAgICAgIG5vZGUgPSBub2Rlc1tpXSwgbm9kZS52eCArPSAoeHpbaV0gLSBub2RlLngp
ICogc3RyZW5ndGhzW2ldICogYWxwaGE7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gaW5pdGlh
bGl6ZSgpIHsKKyAgICBpZiAoIW5vZGVzKSByZXR1cm47CisgICAgdmFyIGksIG4gPSBub2Rlcy5s
ZW5ndGg7CisgICAgc3RyZW5ndGhzID0gbmV3IEFycmF5KG4pOworICAgIHh6ID0gbmV3IEFycmF5
KG4pOworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIHN0cmVuZ3Roc1tpXSA9
IGlzTmFOKHh6W2ldID0gK3gobm9kZXNbaV0sIGksIG5vZGVzKSkgPyAwIDogK3N0cmVuZ3RoKG5v
ZGVzW2ldLCBpLCBub2Rlcyk7CisgICAgfQorICB9CisKKyAgZm9yY2UuaW5pdGlhbGl6ZSA9IGZ1
bmN0aW9uKF8pIHsKKyAgICBub2RlcyA9IF87CisgICAgaW5pdGlhbGl6ZSgpOworICB9OworCisg
IGZvcmNlLnN0cmVuZ3RoID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHN0cmVuZ3RoID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQk
NygrXyksIGluaXRpYWxpemUoKSwgZm9yY2UpIDogc3RyZW5ndGg7CisgIH07CisKKyAgZm9yY2Uu
eCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4ID0gdHlw
ZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyksIGluaXRpYWxpemUoKSwg
Zm9yY2UpIDogeDsKKyAgfTsKKworICByZXR1cm4gZm9yY2U7Cit9CisKK2Z1bmN0aW9uIHkkMih5
KSB7CisgIHZhciBzdHJlbmd0aCA9IGNvbnN0YW50JDcoMC4xKSwKKyAgICAgIG5vZGVzLAorICAg
ICAgc3RyZW5ndGhzLAorICAgICAgeXo7CisKKyAgaWYgKHR5cGVvZiB5ICE9PSAiZnVuY3Rpb24i
KSB5ID0gY29uc3RhbnQkNyh5ID09IG51bGwgPyAwIDogK3kpOworCisgIGZ1bmN0aW9uIGZvcmNl
KGFscGhhKSB7CisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBub2Rlcy5sZW5ndGgsIG5vZGU7IGkg
PCBuOyArK2kpIHsKKyAgICAgIG5vZGUgPSBub2Rlc1tpXSwgbm9kZS52eSArPSAoeXpbaV0gLSBu
b2RlLnkpICogc3RyZW5ndGhzW2ldICogYWxwaGE7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24g
aW5pdGlhbGl6ZSgpIHsKKyAgICBpZiAoIW5vZGVzKSByZXR1cm47CisgICAgdmFyIGksIG4gPSBu
b2Rlcy5sZW5ndGg7CisgICAgc3RyZW5ndGhzID0gbmV3IEFycmF5KG4pOworICAgIHl6ID0gbmV3
IEFycmF5KG4pOworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIHN0cmVuZ3Ro
c1tpXSA9IGlzTmFOKHl6W2ldID0gK3kobm9kZXNbaV0sIGksIG5vZGVzKSkgPyAwIDogK3N0cmVu
Z3RoKG5vZGVzW2ldLCBpLCBub2Rlcyk7CisgICAgfQorICB9CisKKyAgZm9yY2UuaW5pdGlhbGl6
ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBub2RlcyA9IF87CisgICAgaW5pdGlhbGl6ZSgpOworICB9
OworCisgIGZvcmNlLnN0cmVuZ3RoID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHN0cmVuZ3RoID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29u
c3RhbnQkNygrXyksIGluaXRpYWxpemUoKSwgZm9yY2UpIDogc3RyZW5ndGg7CisgIH07CisKKyAg
Zm9yY2UueSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5
ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNygrXyksIGluaXRpYWxp
emUoKSwgZm9yY2UpIDogeTsKKyAgfTsKKworICByZXR1cm4gZm9yY2U7Cit9CisKKy8vIENvbXB1
dGVzIHRoZSBkZWNpbWFsIGNvZWZmaWNpZW50IGFuZCBleHBvbmVudCBvZiB0aGUgc3BlY2lmaWVk
IG51bWJlciB4IHdpdGgKKy8vIHNpZ25pZmljYW50IGRpZ2l0cyBwLCB3aGVyZSB4IGlzIHBvc2l0
aXZlIGFuZCBwIGlzIGluIFsxLCAyMV0gb3IgdW5kZWZpbmVkLgorLy8gRm9yIGV4YW1wbGUsIGZv
cm1hdERlY2ltYWwoMS4yMykgcmV0dXJucyBbIjEyMyIsIDBdLgorZnVuY3Rpb24gZm9ybWF0RGVj
aW1hbCh4LCBwKSB7CisgIGlmICgoaSA9ICh4ID0gcCA/IHgudG9FeHBvbmVudGlhbChwIC0gMSkg
OiB4LnRvRXhwb25lbnRpYWwoKSkuaW5kZXhPZigiZSIpKSA8IDApIHJldHVybiBudWxsOyAvLyBO
YU4sIMKxSW5maW5pdHkKKyAgdmFyIGksIGNvZWZmaWNpZW50ID0geC5zbGljZSgwLCBpKTsKKwor
ICAvLyBUaGUgc3RyaW5nIHJldHVybmVkIGJ5IHRvRXhwb25lbnRpYWwgZWl0aGVyIGhhcyB0aGUg
Zm9ybSBcZFwuXGQrZVstK11cZCsKKyAgLy8gKGUuZy4sIDEuMmUrMykgb3IgdGhlIGZvcm0gXGRl
Wy0rXVxkKyAoZS5nLiwgMWUrMykuCisgIHJldHVybiBbCisgICAgY29lZmZpY2llbnQubGVuZ3Ro
ID4gMSA/IGNvZWZmaWNpZW50WzBdICsgY29lZmZpY2llbnQuc2xpY2UoMikgOiBjb2VmZmljaWVu
dCwKKyAgICAreC5zbGljZShpICsgMSkKKyAgXTsKK30KKworZnVuY3Rpb24gZXhwb25lbnQkMSh4
KSB7CisgIHJldHVybiB4ID0gZm9ybWF0RGVjaW1hbChNYXRoLmFicyh4KSksIHggPyB4WzFdIDog
TmFOOworfQorCitmdW5jdGlvbiBmb3JtYXRHcm91cChncm91cGluZywgdGhvdXNhbmRzKSB7Cisg
IHJldHVybiBmdW5jdGlvbih2YWx1ZSwgd2lkdGgpIHsKKyAgICB2YXIgaSA9IHZhbHVlLmxlbmd0
aCwKKyAgICAgICAgdCA9IFtdLAorICAgICAgICBqID0gMCwKKyAgICAgICAgZyA9IGdyb3VwaW5n
WzBdLAorICAgICAgICBsZW5ndGggPSAwOworCisgICAgd2hpbGUgKGkgPiAwICYmIGcgPiAwKSB7
CisgICAgICBpZiAobGVuZ3RoICsgZyArIDEgPiB3aWR0aCkgZyA9IE1hdGgubWF4KDEsIHdpZHRo
IC0gbGVuZ3RoKTsKKyAgICAgIHQucHVzaCh2YWx1ZS5zdWJzdHJpbmcoaSAtPSBnLCBpICsgZykp
OworICAgICAgaWYgKChsZW5ndGggKz0gZyArIDEpID4gd2lkdGgpIGJyZWFrOworICAgICAgZyA9
IGdyb3VwaW5nW2ogPSAoaiArIDEpICUgZ3JvdXBpbmcubGVuZ3RoXTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gdC5yZXZlcnNlKCkuam9pbih0aG91c2FuZHMpOworICB9OworfQorCitmdW5jdGlvbiBm
b3JtYXROdW1lcmFscyhudW1lcmFscykgeworICByZXR1cm4gZnVuY3Rpb24odmFsdWUpIHsKKyAg
ICByZXR1cm4gdmFsdWUucmVwbGFjZSgvWzAtOV0vZywgZnVuY3Rpb24oaSkgeworICAgICAgcmV0
dXJuIG51bWVyYWxzWytpXTsKKyAgICB9KTsKKyAgfTsKK30KKworLy8gW1tmaWxsXWFsaWduXVtz
aWduXVtzeW1ib2xdWzBdW3dpZHRoXVssXVsucHJlY2lzaW9uXVt+XVt0eXBlXQordmFyIHJlID0g
L14oPzooLik/KFs8Pj1eXSkpPyhbK1wtKCBdKT8oWyQjXSk/KDApPyhcZCspPygsKT8oXC5cZCsp
Pyh+KT8oW2EteiVdKT8kL2k7CisKK2Z1bmN0aW9uIGZvcm1hdFNwZWNpZmllcihzcGVjaWZpZXIp
IHsKKyAgaWYgKCEobWF0Y2ggPSByZS5leGVjKHNwZWNpZmllcikpKSB0aHJvdyBuZXcgRXJyb3Io
ImludmFsaWQgZm9ybWF0OiAiICsgc3BlY2lmaWVyKTsKKyAgdmFyIG1hdGNoOworICByZXR1cm4g
bmV3IEZvcm1hdFNwZWNpZmllcih7CisgICAgZmlsbDogbWF0Y2hbMV0sCisgICAgYWxpZ246IG1h
dGNoWzJdLAorICAgIHNpZ246IG1hdGNoWzNdLAorICAgIHN5bWJvbDogbWF0Y2hbNF0sCisgICAg
emVybzogbWF0Y2hbNV0sCisgICAgd2lkdGg6IG1hdGNoWzZdLAorICAgIGNvbW1hOiBtYXRjaFs3
XSwKKyAgICBwcmVjaXNpb246IG1hdGNoWzhdICYmIG1hdGNoWzhdLnNsaWNlKDEpLAorICAgIHRy
aW06IG1hdGNoWzldLAorICAgIHR5cGU6IG1hdGNoWzEwXQorICB9KTsKK30KKworZm9ybWF0U3Bl
Y2lmaWVyLnByb3RvdHlwZSA9IEZvcm1hdFNwZWNpZmllci5wcm90b3R5cGU7IC8vIGluc3RhbmNl
b2YKKworZnVuY3Rpb24gRm9ybWF0U3BlY2lmaWVyKHNwZWNpZmllcikgeworICB0aGlzLmZpbGwg
PSBzcGVjaWZpZXIuZmlsbCA9PT0gdW5kZWZpbmVkID8gIiAiIDogc3BlY2lmaWVyLmZpbGwgKyAi
IjsKKyAgdGhpcy5hbGlnbiA9IHNwZWNpZmllci5hbGlnbiA9PT0gdW5kZWZpbmVkID8gIj4iIDog
c3BlY2lmaWVyLmFsaWduICsgIiI7CisgIHRoaXMuc2lnbiA9IHNwZWNpZmllci5zaWduID09PSB1
bmRlZmluZWQgPyAiLSIgOiBzcGVjaWZpZXIuc2lnbiArICIiOworICB0aGlzLnN5bWJvbCA9IHNw
ZWNpZmllci5zeW1ib2wgPT09IHVuZGVmaW5lZCA/ICIiIDogc3BlY2lmaWVyLnN5bWJvbCArICIi
OworICB0aGlzLnplcm8gPSAhIXNwZWNpZmllci56ZXJvOworICB0aGlzLndpZHRoID0gc3BlY2lm
aWVyLndpZHRoID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiArc3BlY2lmaWVyLndpZHRoOwor
ICB0aGlzLmNvbW1hID0gISFzcGVjaWZpZXIuY29tbWE7CisgIHRoaXMucHJlY2lzaW9uID0gc3Bl
Y2lmaWVyLnByZWNpc2lvbiA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogK3NwZWNpZmllci5w
cmVjaXNpb247CisgIHRoaXMudHJpbSA9ICEhc3BlY2lmaWVyLnRyaW07CisgIHRoaXMudHlwZSA9
IHNwZWNpZmllci50eXBlID09PSB1bmRlZmluZWQgPyAiIiA6IHNwZWNpZmllci50eXBlICsgIiI7
Cit9CisKK0Zvcm1hdFNwZWNpZmllci5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsK
KyAgcmV0dXJuIHRoaXMuZmlsbAorICAgICAgKyB0aGlzLmFsaWduCisgICAgICArIHRoaXMuc2ln
bgorICAgICAgKyB0aGlzLnN5bWJvbAorICAgICAgKyAodGhpcy56ZXJvID8gIjAiIDogIiIpCisg
ICAgICArICh0aGlzLndpZHRoID09PSB1bmRlZmluZWQgPyAiIiA6IE1hdGgubWF4KDEsIHRoaXMu
d2lkdGggfCAwKSkKKyAgICAgICsgKHRoaXMuY29tbWEgPyAiLCIgOiAiIikKKyAgICAgICsgKHRo
aXMucHJlY2lzaW9uID09PSB1bmRlZmluZWQgPyAiIiA6ICIuIiArIE1hdGgubWF4KDAsIHRoaXMu
cHJlY2lzaW9uIHwgMCkpCisgICAgICArICh0aGlzLnRyaW0gPyAifiIgOiAiIikKKyAgICAgICsg
dGhpcy50eXBlOworfTsKKworLy8gVHJpbXMgaW5zaWduaWZpY2FudCB6ZXJvcywgZS5nLiwgcmVw
bGFjZXMgMS4yMDAwayB3aXRoIDEuMmsuCitmdW5jdGlvbiBmb3JtYXRUcmltKHMpIHsKKyAgb3V0
OiBmb3IgKHZhciBuID0gcy5sZW5ndGgsIGkgPSAxLCBpMCA9IC0xLCBpMTsgaSA8IG47ICsraSkg
eworICAgIHN3aXRjaCAoc1tpXSkgeworICAgICAgY2FzZSAiLiI6IGkwID0gaTEgPSBpOyBicmVh
azsKKyAgICAgIGNhc2UgIjAiOiBpZiAoaTAgPT09IDApIGkwID0gaTsgaTEgPSBpOyBicmVhazsK
KyAgICAgIGRlZmF1bHQ6IGlmIChpMCA+IDApIHsgaWYgKCErc1tpXSkgYnJlYWsgb3V0OyBpMCA9
IDA7IH0gYnJlYWs7CisgICAgfQorICB9CisgIHJldHVybiBpMCA+IDAgPyBzLnNsaWNlKDAsIGkw
KSArIHMuc2xpY2UoaTEgKyAxKSA6IHM7Cit9CisKK3ZhciBwcmVmaXhFeHBvbmVudDsKKworZnVu
Y3Rpb24gZm9ybWF0UHJlZml4QXV0byh4LCBwKSB7CisgIHZhciBkID0gZm9ybWF0RGVjaW1hbCh4
LCBwKTsKKyAgaWYgKCFkKSByZXR1cm4geCArICIiOworICB2YXIgY29lZmZpY2llbnQgPSBkWzBd
LAorICAgICAgZXhwb25lbnQgPSBkWzFdLAorICAgICAgaSA9IGV4cG9uZW50IC0gKHByZWZpeEV4
cG9uZW50ID0gTWF0aC5tYXgoLTgsIE1hdGgubWluKDgsIE1hdGguZmxvb3IoZXhwb25lbnQgLyAz
KSkpICogMykgKyAxLAorICAgICAgbiA9IGNvZWZmaWNpZW50Lmxlbmd0aDsKKyAgcmV0dXJuIGkg
PT09IG4gPyBjb2VmZmljaWVudAorICAgICAgOiBpID4gbiA/IGNvZWZmaWNpZW50ICsgbmV3IEFy
cmF5KGkgLSBuICsgMSkuam9pbigiMCIpCisgICAgICA6IGkgPiAwID8gY29lZmZpY2llbnQuc2xp
Y2UoMCwgaSkgKyAiLiIgKyBjb2VmZmljaWVudC5zbGljZShpKQorICAgICAgOiAiMC4iICsgbmV3
IEFycmF5KDEgLSBpKS5qb2luKCIwIikgKyBmb3JtYXREZWNpbWFsKHgsIE1hdGgubWF4KDAsIHAg
KyBpIC0gMSkpWzBdOyAvLyBsZXNzIHRoYW4gMXkhCit9CisKK2Z1bmN0aW9uIGZvcm1hdFJvdW5k
ZWQoeCwgcCkgeworICB2YXIgZCA9IGZvcm1hdERlY2ltYWwoeCwgcCk7CisgIGlmICghZCkgcmV0
dXJuIHggKyAiIjsKKyAgdmFyIGNvZWZmaWNpZW50ID0gZFswXSwKKyAgICAgIGV4cG9uZW50ID0g
ZFsxXTsKKyAgcmV0dXJuIGV4cG9uZW50IDwgMCA/ICIwLiIgKyBuZXcgQXJyYXkoLWV4cG9uZW50
KS5qb2luKCIwIikgKyBjb2VmZmljaWVudAorICAgICAgOiBjb2VmZmljaWVudC5sZW5ndGggPiBl
eHBvbmVudCArIDEgPyBjb2VmZmljaWVudC5zbGljZSgwLCBleHBvbmVudCArIDEpICsgIi4iICsg
Y29lZmZpY2llbnQuc2xpY2UoZXhwb25lbnQgKyAxKQorICAgICAgOiBjb2VmZmljaWVudCArIG5l
dyBBcnJheShleHBvbmVudCAtIGNvZWZmaWNpZW50Lmxlbmd0aCArIDIpLmpvaW4oIjAiKTsKK30K
KwordmFyIGZvcm1hdFR5cGVzID0geworICAiJSI6IGZ1bmN0aW9uKHgsIHApIHsgcmV0dXJuICh4
ICogMTAwKS50b0ZpeGVkKHApOyB9LAorICAiYiI6IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIE1hdGgu
cm91bmQoeCkudG9TdHJpbmcoMik7IH0sCisgICJjIjogZnVuY3Rpb24oeCkgeyByZXR1cm4geCAr
ICIiOyB9LAorICAiZCI6IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIE1hdGgucm91bmQoeCkudG9TdHJp
bmcoMTApOyB9LAorICAiZSI6IGZ1bmN0aW9uKHgsIHApIHsgcmV0dXJuIHgudG9FeHBvbmVudGlh
bChwKTsgfSwKKyAgImYiOiBmdW5jdGlvbih4LCBwKSB7IHJldHVybiB4LnRvRml4ZWQocCk7IH0s
CisgICJnIjogZnVuY3Rpb24oeCwgcCkgeyByZXR1cm4geC50b1ByZWNpc2lvbihwKTsgfSwKKyAg
Im8iOiBmdW5jdGlvbih4KSB7IHJldHVybiBNYXRoLnJvdW5kKHgpLnRvU3RyaW5nKDgpOyB9LAor
ICAicCI6IGZ1bmN0aW9uKHgsIHApIHsgcmV0dXJuIGZvcm1hdFJvdW5kZWQoeCAqIDEwMCwgcCk7
IH0sCisgICJyIjogZm9ybWF0Um91bmRlZCwKKyAgInMiOiBmb3JtYXRQcmVmaXhBdXRvLAorICAi
WCI6IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIE1hdGgucm91bmQoeCkudG9TdHJpbmcoMTYpLnRvVXBw
ZXJDYXNlKCk7IH0sCisgICJ4IjogZnVuY3Rpb24oeCkgeyByZXR1cm4gTWF0aC5yb3VuZCh4KS50
b1N0cmluZygxNik7IH0KK307CisKK2Z1bmN0aW9uIGlkZW50aXR5JDMoeCkgeworICByZXR1cm4g
eDsKK30KKwordmFyIG1hcCQyID0gQXJyYXkucHJvdG90eXBlLm1hcCwKKyAgICBwcmVmaXhlcyA9
IFsieSIsInoiLCJhIiwiZiIsInAiLCJuIiwiXHhCNSIsIm0iLCIiLCJrIiwiTSIsIkciLCJUIiwi
UCIsIkUiLCJaIiwiWSJdOworCitmdW5jdGlvbiBmb3JtYXRMb2NhbGUobG9jYWxlKSB7CisgIHZh
ciBncm91cCA9IGxvY2FsZS5ncm91cGluZyA9PT0gdW5kZWZpbmVkIHx8IGxvY2FsZS50aG91c2Fu
ZHMgPT09IHVuZGVmaW5lZCA/IGlkZW50aXR5JDMgOiBmb3JtYXRHcm91cChtYXAkMi5jYWxsKGxv
Y2FsZS5ncm91cGluZywgTnVtYmVyKSwgbG9jYWxlLnRob3VzYW5kcyArICIiKSwKKyAgICAgIGN1
cnJlbmN5UHJlZml4ID0gbG9jYWxlLmN1cnJlbmN5ID09PSB1bmRlZmluZWQgPyAiIiA6IGxvY2Fs
ZS5jdXJyZW5jeVswXSArICIiLAorICAgICAgY3VycmVuY3lTdWZmaXggPSBsb2NhbGUuY3VycmVu
Y3kgPT09IHVuZGVmaW5lZCA/ICIiIDogbG9jYWxlLmN1cnJlbmN5WzFdICsgIiIsCisgICAgICBk
ZWNpbWFsID0gbG9jYWxlLmRlY2ltYWwgPT09IHVuZGVmaW5lZCA/ICIuIiA6IGxvY2FsZS5kZWNp
bWFsICsgIiIsCisgICAgICBudW1lcmFscyA9IGxvY2FsZS5udW1lcmFscyA9PT0gdW5kZWZpbmVk
ID8gaWRlbnRpdHkkMyA6IGZvcm1hdE51bWVyYWxzKG1hcCQyLmNhbGwobG9jYWxlLm51bWVyYWxz
LCBTdHJpbmcpKSwKKyAgICAgIHBlcmNlbnQgPSBsb2NhbGUucGVyY2VudCA9PT0gdW5kZWZpbmVk
ID8gIiUiIDogbG9jYWxlLnBlcmNlbnQgKyAiIiwKKyAgICAgIG1pbnVzID0gbG9jYWxlLm1pbnVz
ID09PSB1bmRlZmluZWQgPyAiLSIgOiBsb2NhbGUubWludXMgKyAiIiwKKyAgICAgIG5hbiA9IGxv
Y2FsZS5uYW4gPT09IHVuZGVmaW5lZCA/ICJOYU4iIDogbG9jYWxlLm5hbiArICIiOworCisgIGZ1
bmN0aW9uIG5ld0Zvcm1hdChzcGVjaWZpZXIpIHsKKyAgICBzcGVjaWZpZXIgPSBmb3JtYXRTcGVj
aWZpZXIoc3BlY2lmaWVyKTsKKworICAgIHZhciBmaWxsID0gc3BlY2lmaWVyLmZpbGwsCisgICAg
ICAgIGFsaWduID0gc3BlY2lmaWVyLmFsaWduLAorICAgICAgICBzaWduID0gc3BlY2lmaWVyLnNp
Z24sCisgICAgICAgIHN5bWJvbCA9IHNwZWNpZmllci5zeW1ib2wsCisgICAgICAgIHplcm8gPSBz
cGVjaWZpZXIuemVybywKKyAgICAgICAgd2lkdGggPSBzcGVjaWZpZXIud2lkdGgsCisgICAgICAg
IGNvbW1hID0gc3BlY2lmaWVyLmNvbW1hLAorICAgICAgICBwcmVjaXNpb24gPSBzcGVjaWZpZXIu
cHJlY2lzaW9uLAorICAgICAgICB0cmltID0gc3BlY2lmaWVyLnRyaW0sCisgICAgICAgIHR5cGUg
PSBzcGVjaWZpZXIudHlwZTsKKworICAgIC8vIFRoZSAibiIgdHlwZSBpcyBhbiBhbGlhcyBmb3Ig
IixnIi4KKyAgICBpZiAodHlwZSA9PT0gIm4iKSBjb21tYSA9IHRydWUsIHR5cGUgPSAiZyI7CisK
KyAgICAvLyBUaGUgIiIgdHlwZSwgYW5kIGFueSBpbnZhbGlkIHR5cGUsIGlzIGFuIGFsaWFzIGZv
ciAiLjEyfmciLgorICAgIGVsc2UgaWYgKCFmb3JtYXRUeXBlc1t0eXBlXSkgcHJlY2lzaW9uID09
PSB1bmRlZmluZWQgJiYgKHByZWNpc2lvbiA9IDEyKSwgdHJpbSA9IHRydWUsIHR5cGUgPSAiZyI7
CisKKyAgICAvLyBJZiB6ZXJvIGZpbGwgaXMgc3BlY2lmaWVkLCBwYWRkaW5nIGdvZXMgYWZ0ZXIg
c2lnbiBhbmQgYmVmb3JlIGRpZ2l0cy4KKyAgICBpZiAoemVybyB8fCAoZmlsbCA9PT0gIjAiICYm
IGFsaWduID09PSAiPSIpKSB6ZXJvID0gdHJ1ZSwgZmlsbCA9ICIwIiwgYWxpZ24gPSAiPSI7CisK
KyAgICAvLyBDb21wdXRlIHRoZSBwcmVmaXggYW5kIHN1ZmZpeC4KKyAgICAvLyBGb3IgU0ktcHJl
Zml4LCB0aGUgc3VmZml4IGlzIGxhemlseSBjb21wdXRlZC4KKyAgICB2YXIgcHJlZml4ID0gc3lt
Ym9sID09PSAiJCIgPyBjdXJyZW5jeVByZWZpeCA6IHN5bWJvbCA9PT0gIiMiICYmIC9bYm94WF0v
LnRlc3QodHlwZSkgPyAiMCIgKyB0eXBlLnRvTG93ZXJDYXNlKCkgOiAiIiwKKyAgICAgICAgc3Vm
Zml4ID0gc3ltYm9sID09PSAiJCIgPyBjdXJyZW5jeVN1ZmZpeCA6IC9bJXBdLy50ZXN0KHR5cGUp
ID8gcGVyY2VudCA6ICIiOworCisgICAgLy8gV2hhdCBmb3JtYXQgZnVuY3Rpb24gc2hvdWxkIHdl
IHVzZT8KKyAgICAvLyBJcyB0aGlzIGFuIGludGVnZXIgdHlwZT8KKyAgICAvLyBDYW4gdGhpcyB0
eXBlIGdlbmVyYXRlIGV4cG9uZW50aWFsIG5vdGF0aW9uPworICAgIHZhciBmb3JtYXRUeXBlID0g
Zm9ybWF0VHlwZXNbdHlwZV0sCisgICAgICAgIG1heWJlU3VmZml4ID0gL1tkZWZncHJzJV0vLnRl
c3QodHlwZSk7CisKKyAgICAvLyBTZXQgdGhlIGRlZmF1bHQgcHJlY2lzaW9uIGlmIG5vdCBzcGVj
aWZpZWQsCisgICAgLy8gb3IgY2xhbXAgdGhlIHNwZWNpZmllZCBwcmVjaXNpb24gdG8gdGhlIHN1
cHBvcnRlZCByYW5nZS4KKyAgICAvLyBGb3Igc2lnbmlmaWNhbnQgcHJlY2lzaW9uLCBpdCBtdXN0
IGJlIGluIFsxLCAyMV0uCisgICAgLy8gRm9yIGZpeGVkIHByZWNpc2lvbiwgaXQgbXVzdCBiZSBp
biBbMCwgMjBdLgorICAgIHByZWNpc2lvbiA9IHByZWNpc2lvbiA9PT0gdW5kZWZpbmVkID8gNgor
ICAgICAgICA6IC9bZ3Byc10vLnRlc3QodHlwZSkgPyBNYXRoLm1heCgxLCBNYXRoLm1pbigyMSwg
cHJlY2lzaW9uKSkKKyAgICAgICAgOiBNYXRoLm1heCgwLCBNYXRoLm1pbigyMCwgcHJlY2lzaW9u
KSk7CisKKyAgICBmdW5jdGlvbiBmb3JtYXQodmFsdWUpIHsKKyAgICAgIHZhciB2YWx1ZVByZWZp
eCA9IHByZWZpeCwKKyAgICAgICAgICB2YWx1ZVN1ZmZpeCA9IHN1ZmZpeCwKKyAgICAgICAgICBp
LCBuLCBjOworCisgICAgICBpZiAodHlwZSA9PT0gImMiKSB7CisgICAgICAgIHZhbHVlU3VmZml4
ID0gZm9ybWF0VHlwZSh2YWx1ZSkgKyB2YWx1ZVN1ZmZpeDsKKyAgICAgICAgdmFsdWUgPSAiIjsK
KyAgICAgIH0gZWxzZSB7CisgICAgICAgIHZhbHVlID0gK3ZhbHVlOworCisgICAgICAgIC8vIFBl
cmZvcm0gdGhlIGluaXRpYWwgZm9ybWF0dGluZy4KKyAgICAgICAgdmFyIHZhbHVlTmVnYXRpdmUg
PSB2YWx1ZSA8IDA7CisgICAgICAgIHZhbHVlID0gaXNOYU4odmFsdWUpID8gbmFuIDogZm9ybWF0
VHlwZShNYXRoLmFicyh2YWx1ZSksIHByZWNpc2lvbik7CisKKyAgICAgICAgLy8gVHJpbSBpbnNp
Z25pZmljYW50IHplcm9zLgorICAgICAgICBpZiAodHJpbSkgdmFsdWUgPSBmb3JtYXRUcmltKHZh
bHVlKTsKKworICAgICAgICAvLyBJZiBhIG5lZ2F0aXZlIHZhbHVlIHJvdW5kcyB0byB6ZXJvIGR1
cmluZyBmb3JtYXR0aW5nLCB0cmVhdCBhcyBwb3NpdGl2ZS4KKyAgICAgICAgaWYgKHZhbHVlTmVn
YXRpdmUgJiYgK3ZhbHVlID09PSAwKSB2YWx1ZU5lZ2F0aXZlID0gZmFsc2U7CisKKyAgICAgICAg
Ly8gQ29tcHV0ZSB0aGUgcHJlZml4IGFuZCBzdWZmaXguCisgICAgICAgIHZhbHVlUHJlZml4ID0g
KHZhbHVlTmVnYXRpdmUgPyAoc2lnbiA9PT0gIigiID8gc2lnbiA6IG1pbnVzKSA6IHNpZ24gPT09
ICItIiB8fCBzaWduID09PSAiKCIgPyAiIiA6IHNpZ24pICsgdmFsdWVQcmVmaXg7CisKKyAgICAg
ICAgdmFsdWVTdWZmaXggPSAodHlwZSA9PT0gInMiID8gcHJlZml4ZXNbOCArIHByZWZpeEV4cG9u
ZW50IC8gM10gOiAiIikgKyB2YWx1ZVN1ZmZpeCArICh2YWx1ZU5lZ2F0aXZlICYmIHNpZ24gPT09
ICIoIiA/ICIpIiA6ICIiKTsKKworICAgICAgICAvLyBCcmVhayB0aGUgZm9ybWF0dGVkIHZhbHVl
IGludG8gdGhlIGludGVnZXIg4oCcdmFsdWXigJ0gcGFydCB0aGF0IGNhbiBiZQorICAgICAgICAv
LyBncm91cGVkLCBhbmQgZnJhY3Rpb25hbCBvciBleHBvbmVudGlhbCDigJxzdWZmaXjigJ0gcGFy
dCB0aGF0IGlzIG5vdC4KKyAgICAgICAgaWYgKG1heWJlU3VmZml4KSB7CisgICAgICAgICAgaSA9
IC0xLCBuID0gdmFsdWUubGVuZ3RoOworICAgICAgICAgIHdoaWxlICgrK2kgPCBuKSB7CisgICAg
ICAgICAgICBpZiAoYyA9IHZhbHVlLmNoYXJDb2RlQXQoaSksIDQ4ID4gYyB8fCBjID4gNTcpIHsK
KyAgICAgICAgICAgICAgdmFsdWVTdWZmaXggPSAoYyA9PT0gNDYgPyBkZWNpbWFsICsgdmFsdWUu
c2xpY2UoaSArIDEpIDogdmFsdWUuc2xpY2UoaSkpICsgdmFsdWVTdWZmaXg7CisgICAgICAgICAg
ICAgIHZhbHVlID0gdmFsdWUuc2xpY2UoMCwgaSk7CisgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorCisgICAgICAvLyBJ
ZiB0aGUgZmlsbCBjaGFyYWN0ZXIgaXMgbm90ICIwIiwgZ3JvdXBpbmcgaXMgYXBwbGllZCBiZWZv
cmUgcGFkZGluZy4KKyAgICAgIGlmIChjb21tYSAmJiAhemVybykgdmFsdWUgPSBncm91cCh2YWx1
ZSwgSW5maW5pdHkpOworCisgICAgICAvLyBDb21wdXRlIHRoZSBwYWRkaW5nLgorICAgICAgdmFy
IGxlbmd0aCA9IHZhbHVlUHJlZml4Lmxlbmd0aCArIHZhbHVlLmxlbmd0aCArIHZhbHVlU3VmZml4
Lmxlbmd0aCwKKyAgICAgICAgICBwYWRkaW5nID0gbGVuZ3RoIDwgd2lkdGggPyBuZXcgQXJyYXko
d2lkdGggLSBsZW5ndGggKyAxKS5qb2luKGZpbGwpIDogIiI7CisKKyAgICAgIC8vIElmIHRoZSBm
aWxsIGNoYXJhY3RlciBpcyAiMCIsIGdyb3VwaW5nIGlzIGFwcGxpZWQgYWZ0ZXIgcGFkZGluZy4K
KyAgICAgIGlmIChjb21tYSAmJiB6ZXJvKSB2YWx1ZSA9IGdyb3VwKHBhZGRpbmcgKyB2YWx1ZSwg
cGFkZGluZy5sZW5ndGggPyB3aWR0aCAtIHZhbHVlU3VmZml4Lmxlbmd0aCA6IEluZmluaXR5KSwg
cGFkZGluZyA9ICIiOworCisgICAgICAvLyBSZWNvbnN0cnVjdCB0aGUgZmluYWwgb3V0cHV0IGJh
c2VkIG9uIHRoZSBkZXNpcmVkIGFsaWdubWVudC4KKyAgICAgIHN3aXRjaCAoYWxpZ24pIHsKKyAg
ICAgICAgY2FzZSAiPCI6IHZhbHVlID0gdmFsdWVQcmVmaXggKyB2YWx1ZSArIHZhbHVlU3VmZml4
ICsgcGFkZGluZzsgYnJlYWs7CisgICAgICAgIGNhc2UgIj0iOiB2YWx1ZSA9IHZhbHVlUHJlZml4
ICsgcGFkZGluZyArIHZhbHVlICsgdmFsdWVTdWZmaXg7IGJyZWFrOworICAgICAgICBjYXNlICJe
IjogdmFsdWUgPSBwYWRkaW5nLnNsaWNlKDAsIGxlbmd0aCA9IHBhZGRpbmcubGVuZ3RoID4+IDEp
ICsgdmFsdWVQcmVmaXggKyB2YWx1ZSArIHZhbHVlU3VmZml4ICsgcGFkZGluZy5zbGljZShsZW5n
dGgpOyBicmVhazsKKyAgICAgICAgZGVmYXVsdDogdmFsdWUgPSBwYWRkaW5nICsgdmFsdWVQcmVm
aXggKyB2YWx1ZSArIHZhbHVlU3VmZml4OyBicmVhazsKKyAgICAgIH0KKworICAgICAgcmV0dXJu
IG51bWVyYWxzKHZhbHVlKTsKKyAgICB9CisKKyAgICBmb3JtYXQudG9TdHJpbmcgPSBmdW5jdGlv
bigpIHsKKyAgICAgIHJldHVybiBzcGVjaWZpZXIgKyAiIjsKKyAgICB9OworCisgICAgcmV0dXJu
IGZvcm1hdDsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFByZWZpeChzcGVjaWZpZXIsIHZhbHVl
KSB7CisgICAgdmFyIGYgPSBuZXdGb3JtYXQoKHNwZWNpZmllciA9IGZvcm1hdFNwZWNpZmllcihz
cGVjaWZpZXIpLCBzcGVjaWZpZXIudHlwZSA9ICJmIiwgc3BlY2lmaWVyKSksCisgICAgICAgIGUg
PSBNYXRoLm1heCgtOCwgTWF0aC5taW4oOCwgTWF0aC5mbG9vcihleHBvbmVudCQxKHZhbHVlKSAv
IDMpKSkgKiAzLAorICAgICAgICBrID0gTWF0aC5wb3coMTAsIC1lKSwKKyAgICAgICAgcHJlZml4
ID0gcHJlZml4ZXNbOCArIGUgLyAzXTsKKyAgICByZXR1cm4gZnVuY3Rpb24odmFsdWUpIHsKKyAg
ICAgIHJldHVybiBmKGsgKiB2YWx1ZSkgKyBwcmVmaXg7CisgICAgfTsKKyAgfQorCisgIHJldHVy
biB7CisgICAgZm9ybWF0OiBuZXdGb3JtYXQsCisgICAgZm9ybWF0UHJlZml4OiBmb3JtYXRQcmVm
aXgKKyAgfTsKK30KKwordmFyIGxvY2FsZTsKKworZGVmYXVsdExvY2FsZSh7CisgIGRlY2ltYWw6
ICIuIiwKKyAgdGhvdXNhbmRzOiAiLCIsCisgIGdyb3VwaW5nOiBbM10sCisgIGN1cnJlbmN5OiBb
IiQiLCAiIl0sCisgIG1pbnVzOiAiLSIKK30pOworCitmdW5jdGlvbiBkZWZhdWx0TG9jYWxlKGRl
ZmluaXRpb24pIHsKKyAgbG9jYWxlID0gZm9ybWF0TG9jYWxlKGRlZmluaXRpb24pOworICBleHBv
cnRzLmZvcm1hdCA9IGxvY2FsZS5mb3JtYXQ7CisgIGV4cG9ydHMuZm9ybWF0UHJlZml4ID0gbG9j
YWxlLmZvcm1hdFByZWZpeDsKKyAgcmV0dXJuIGxvY2FsZTsKK30KKworZnVuY3Rpb24gcHJlY2lz
aW9uRml4ZWQoc3RlcCkgeworICByZXR1cm4gTWF0aC5tYXgoMCwgLWV4cG9uZW50JDEoTWF0aC5h
YnMoc3RlcCkpKTsKK30KKworZnVuY3Rpb24gcHJlY2lzaW9uUHJlZml4KHN0ZXAsIHZhbHVlKSB7
CisgIHJldHVybiBNYXRoLm1heCgwLCBNYXRoLm1heCgtOCwgTWF0aC5taW4oOCwgTWF0aC5mbG9v
cihleHBvbmVudCQxKHZhbHVlKSAvIDMpKSkgKiAzIC0gZXhwb25lbnQkMShNYXRoLmFicyhzdGVw
KSkpOworfQorCitmdW5jdGlvbiBwcmVjaXNpb25Sb3VuZChzdGVwLCBtYXgpIHsKKyAgc3RlcCA9
IE1hdGguYWJzKHN0ZXApLCBtYXggPSBNYXRoLmFicyhtYXgpIC0gc3RlcDsKKyAgcmV0dXJuIE1h
dGgubWF4KDAsIGV4cG9uZW50JDEobWF4KSAtIGV4cG9uZW50JDEoc3RlcCkpICsgMTsKK30KKwor
Ly8gQWRkcyBmbG9hdGluZyBwb2ludCBudW1iZXJzIHdpdGggdHdpY2UgdGhlIG5vcm1hbCBwcmVj
aXNpb24uCisvLyBSZWZlcmVuY2U6IEouIFIuIFNoZXdjaHVrLCBBZGFwdGl2ZSBQcmVjaXNpb24g
RmxvYXRpbmctUG9pbnQgQXJpdGhtZXRpYyBhbmQKKy8vIEZhc3QgUm9idXN0IEdlb21ldHJpYyBQ
cmVkaWNhdGVzLCBEaXNjcmV0ZSAmIENvbXB1dGF0aW9uYWwgR2VvbWV0cnkgMTgoMykKKy8vIDMw
NeKAkzM2MyAoMTk5NykuCisvLyBDb2RlIGFkYXB0ZWQgZnJvbSBHZW9ncmFwaGljTGliIGJ5IENo
YXJsZXMgRi4gRi4gS2FybmV5LAorLy8gaHR0cDovL2dlb2dyYXBoaWNsaWIuc291cmNlZm9yZ2Uu
bmV0LworCitmdW5jdGlvbiBhZGRlcigpIHsKKyAgcmV0dXJuIG5ldyBBZGRlcjsKK30KKworZnVu
Y3Rpb24gQWRkZXIoKSB7CisgIHRoaXMucmVzZXQoKTsKK30KKworQWRkZXIucHJvdG90eXBlID0g
eworICBjb25zdHJ1Y3RvcjogQWRkZXIsCisgIHJlc2V0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlz
LnMgPSAvLyByb3VuZGVkIHZhbHVlCisgICAgdGhpcy50ID0gMDsgLy8gZXhhY3QgZXJyb3IKKyAg
fSwKKyAgYWRkOiBmdW5jdGlvbih5KSB7CisgICAgYWRkJDEodGVtcCwgeSwgdGhpcy50KTsKKyAg
ICBhZGQkMSh0aGlzLCB0ZW1wLnMsIHRoaXMucyk7CisgICAgaWYgKHRoaXMucykgdGhpcy50ICs9
IHRlbXAudDsKKyAgICBlbHNlIHRoaXMucyA9IHRlbXAudDsKKyAgfSwKKyAgdmFsdWVPZjogZnVu
Y3Rpb24oKSB7CisgICAgcmV0dXJuIHRoaXMuczsKKyAgfQorfTsKKwordmFyIHRlbXAgPSBuZXcg
QWRkZXI7CisKK2Z1bmN0aW9uIGFkZCQxKGFkZGVyLCBhLCBiKSB7CisgIHZhciB4ID0gYWRkZXIu
cyA9IGEgKyBiLAorICAgICAgYnYgPSB4IC0gYSwKKyAgICAgIGF2ID0geCAtIGJ2OworICBhZGRl
ci50ID0gKGEgLSBhdikgKyAoYiAtIGJ2KTsKK30KKwordmFyIGVwc2lsb24kMiA9IDFlLTY7Cit2
YXIgZXBzaWxvbjIkMSA9IDFlLTEyOwordmFyIHBpJDMgPSBNYXRoLlBJOwordmFyIGhhbGZQaSQy
ID0gcGkkMyAvIDI7Cit2YXIgcXVhcnRlclBpID0gcGkkMyAvIDQ7Cit2YXIgdGF1JDMgPSBwaSQz
ICogMjsKKwordmFyIGRlZ3JlZXMkMSA9IDE4MCAvIHBpJDM7Cit2YXIgcmFkaWFucyA9IHBpJDMg
LyAxODA7CisKK3ZhciBhYnMgPSBNYXRoLmFiczsKK3ZhciBhdGFuID0gTWF0aC5hdGFuOwordmFy
IGF0YW4yID0gTWF0aC5hdGFuMjsKK3ZhciBjb3MkMSA9IE1hdGguY29zOwordmFyIGNlaWwgPSBN
YXRoLmNlaWw7Cit2YXIgZXhwID0gTWF0aC5leHA7Cit2YXIgbG9nID0gTWF0aC5sb2c7Cit2YXIg
cG93ID0gTWF0aC5wb3c7Cit2YXIgc2luJDEgPSBNYXRoLnNpbjsKK3ZhciBzaWduID0gTWF0aC5z
aWduIHx8IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIHggPiAwID8gMSA6IHggPCAwID8gLTEgOiAwOyB9
OwordmFyIHNxcnQgPSBNYXRoLnNxcnQ7Cit2YXIgdGFuID0gTWF0aC50YW47CisKK2Z1bmN0aW9u
IGFjb3MoeCkgeworICByZXR1cm4geCA+IDEgPyAwIDogeCA8IC0xID8gcGkkMyA6IE1hdGguYWNv
cyh4KTsKK30KKworZnVuY3Rpb24gYXNpbih4KSB7CisgIHJldHVybiB4ID4gMSA/IGhhbGZQaSQy
IDogeCA8IC0xID8gLWhhbGZQaSQyIDogTWF0aC5hc2luKHgpOworfQorCitmdW5jdGlvbiBoYXZl
cnNpbih4KSB7CisgIHJldHVybiAoeCA9IHNpbiQxKHggLyAyKSkgKiB4OworfQorCitmdW5jdGlv
biBub29wJDIoKSB7fQorCitmdW5jdGlvbiBzdHJlYW1HZW9tZXRyeShnZW9tZXRyeSwgc3RyZWFt
KSB7CisgIGlmIChnZW9tZXRyeSAmJiBzdHJlYW1HZW9tZXRyeVR5cGUuaGFzT3duUHJvcGVydHko
Z2VvbWV0cnkudHlwZSkpIHsKKyAgICBzdHJlYW1HZW9tZXRyeVR5cGVbZ2VvbWV0cnkudHlwZV0o
Z2VvbWV0cnksIHN0cmVhbSk7CisgIH0KK30KKwordmFyIHN0cmVhbU9iamVjdFR5cGUgPSB7Cisg
IEZlYXR1cmU6IGZ1bmN0aW9uKG9iamVjdCwgc3RyZWFtKSB7CisgICAgc3RyZWFtR2VvbWV0cnko
b2JqZWN0Lmdlb21ldHJ5LCBzdHJlYW0pOworICB9LAorICBGZWF0dXJlQ29sbGVjdGlvbjogZnVu
Y3Rpb24ob2JqZWN0LCBzdHJlYW0pIHsKKyAgICB2YXIgZmVhdHVyZXMgPSBvYmplY3QuZmVhdHVy
ZXMsIGkgPSAtMSwgbiA9IGZlYXR1cmVzLmxlbmd0aDsKKyAgICB3aGlsZSAoKytpIDwgbikgc3Ry
ZWFtR2VvbWV0cnkoZmVhdHVyZXNbaV0uZ2VvbWV0cnksIHN0cmVhbSk7CisgIH0KK307CisKK3Zh
ciBzdHJlYW1HZW9tZXRyeVR5cGUgPSB7CisgIFNwaGVyZTogZnVuY3Rpb24ob2JqZWN0LCBzdHJl
YW0pIHsKKyAgICBzdHJlYW0uc3BoZXJlKCk7CisgIH0sCisgIFBvaW50OiBmdW5jdGlvbihvYmpl
Y3QsIHN0cmVhbSkgeworICAgIG9iamVjdCA9IG9iamVjdC5jb29yZGluYXRlczsKKyAgICBzdHJl
YW0ucG9pbnQob2JqZWN0WzBdLCBvYmplY3RbMV0sIG9iamVjdFsyXSk7CisgIH0sCisgIE11bHRp
UG9pbnQ6IGZ1bmN0aW9uKG9iamVjdCwgc3RyZWFtKSB7CisgICAgdmFyIGNvb3JkaW5hdGVzID0g
b2JqZWN0LmNvb3JkaW5hdGVzLCBpID0gLTEsIG4gPSBjb29yZGluYXRlcy5sZW5ndGg7CisgICAg
d2hpbGUgKCsraSA8IG4pIG9iamVjdCA9IGNvb3JkaW5hdGVzW2ldLCBzdHJlYW0ucG9pbnQob2Jq
ZWN0WzBdLCBvYmplY3RbMV0sIG9iamVjdFsyXSk7CisgIH0sCisgIExpbmVTdHJpbmc6IGZ1bmN0
aW9uKG9iamVjdCwgc3RyZWFtKSB7CisgICAgc3RyZWFtTGluZShvYmplY3QuY29vcmRpbmF0ZXMs
IHN0cmVhbSwgMCk7CisgIH0sCisgIE11bHRpTGluZVN0cmluZzogZnVuY3Rpb24ob2JqZWN0LCBz
dHJlYW0pIHsKKyAgICB2YXIgY29vcmRpbmF0ZXMgPSBvYmplY3QuY29vcmRpbmF0ZXMsIGkgPSAt
MSwgbiA9IGNvb3JkaW5hdGVzLmxlbmd0aDsKKyAgICB3aGlsZSAoKytpIDwgbikgc3RyZWFtTGlu
ZShjb29yZGluYXRlc1tpXSwgc3RyZWFtLCAwKTsKKyAgfSwKKyAgUG9seWdvbjogZnVuY3Rpb24o
b2JqZWN0LCBzdHJlYW0pIHsKKyAgICBzdHJlYW1Qb2x5Z29uKG9iamVjdC5jb29yZGluYXRlcywg
c3RyZWFtKTsKKyAgfSwKKyAgTXVsdGlQb2x5Z29uOiBmdW5jdGlvbihvYmplY3QsIHN0cmVhbSkg
eworICAgIHZhciBjb29yZGluYXRlcyA9IG9iamVjdC5jb29yZGluYXRlcywgaSA9IC0xLCBuID0g
Y29vcmRpbmF0ZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBzdHJlYW1Qb2x5Z29uKGNv
b3JkaW5hdGVzW2ldLCBzdHJlYW0pOworICB9LAorICBHZW9tZXRyeUNvbGxlY3Rpb246IGZ1bmN0
aW9uKG9iamVjdCwgc3RyZWFtKSB7CisgICAgdmFyIGdlb21ldHJpZXMgPSBvYmplY3QuZ2VvbWV0
cmllcywgaSA9IC0xLCBuID0gZ2VvbWV0cmllcy5sZW5ndGg7CisgICAgd2hpbGUgKCsraSA8IG4p
IHN0cmVhbUdlb21ldHJ5KGdlb21ldHJpZXNbaV0sIHN0cmVhbSk7CisgIH0KK307CisKK2Z1bmN0
aW9uIHN0cmVhbUxpbmUoY29vcmRpbmF0ZXMsIHN0cmVhbSwgY2xvc2VkKSB7CisgIHZhciBpID0g
LTEsIG4gPSBjb29yZGluYXRlcy5sZW5ndGggLSBjbG9zZWQsIGNvb3JkaW5hdGU7CisgIHN0cmVh
bS5saW5lU3RhcnQoKTsKKyAgd2hpbGUgKCsraSA8IG4pIGNvb3JkaW5hdGUgPSBjb29yZGluYXRl
c1tpXSwgc3RyZWFtLnBvaW50KGNvb3JkaW5hdGVbMF0sIGNvb3JkaW5hdGVbMV0sIGNvb3JkaW5h
dGVbMl0pOworICBzdHJlYW0ubGluZUVuZCgpOworfQorCitmdW5jdGlvbiBzdHJlYW1Qb2x5Z29u
KGNvb3JkaW5hdGVzLCBzdHJlYW0pIHsKKyAgdmFyIGkgPSAtMSwgbiA9IGNvb3JkaW5hdGVzLmxl
bmd0aDsKKyAgc3RyZWFtLnBvbHlnb25TdGFydCgpOworICB3aGlsZSAoKytpIDwgbikgc3RyZWFt
TGluZShjb29yZGluYXRlc1tpXSwgc3RyZWFtLCAxKTsKKyAgc3RyZWFtLnBvbHlnb25FbmQoKTsK
K30KKworZnVuY3Rpb24gZ2VvU3RyZWFtKG9iamVjdCwgc3RyZWFtKSB7CisgIGlmIChvYmplY3Qg
JiYgc3RyZWFtT2JqZWN0VHlwZS5oYXNPd25Qcm9wZXJ0eShvYmplY3QudHlwZSkpIHsKKyAgICBz
dHJlYW1PYmplY3RUeXBlW29iamVjdC50eXBlXShvYmplY3QsIHN0cmVhbSk7CisgIH0gZWxzZSB7
CisgICAgc3RyZWFtR2VvbWV0cnkob2JqZWN0LCBzdHJlYW0pOworICB9Cit9CisKK3ZhciBhcmVh
UmluZ1N1bSA9IGFkZGVyKCk7CisKK3ZhciBhcmVhU3VtID0gYWRkZXIoKSwKKyAgICBsYW1iZGEw
MCwKKyAgICBwaGkwMCwKKyAgICBsYW1iZGEwLAorICAgIGNvc1BoaTAsCisgICAgc2luUGhpMDsK
KwordmFyIGFyZWFTdHJlYW0gPSB7CisgIHBvaW50OiBub29wJDIsCisgIGxpbmVTdGFydDogbm9v
cCQyLAorICBsaW5lRW5kOiBub29wJDIsCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7Cisg
ICAgYXJlYVJpbmdTdW0ucmVzZXQoKTsKKyAgICBhcmVhU3RyZWFtLmxpbmVTdGFydCA9IGFyZWFS
aW5nU3RhcnQ7CisgICAgYXJlYVN0cmVhbS5saW5lRW5kID0gYXJlYVJpbmdFbmQ7CisgIH0sCisg
IHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIHZhciBhcmVhUmluZyA9ICthcmVhUmluZ1N1
bTsKKyAgICBhcmVhU3VtLmFkZChhcmVhUmluZyA8IDAgPyB0YXUkMyArIGFyZWFSaW5nIDogYXJl
YVJpbmcpOworICAgIHRoaXMubGluZVN0YXJ0ID0gdGhpcy5saW5lRW5kID0gdGhpcy5wb2ludCA9
IG5vb3AkMjsKKyAgfSwKKyAgc3BoZXJlOiBmdW5jdGlvbigpIHsKKyAgICBhcmVhU3VtLmFkZCh0
YXUkMyk7CisgIH0KK307CisKK2Z1bmN0aW9uIGFyZWFSaW5nU3RhcnQoKSB7CisgIGFyZWFTdHJl
YW0ucG9pbnQgPSBhcmVhUG9pbnRGaXJzdDsKK30KKworZnVuY3Rpb24gYXJlYVJpbmdFbmQoKSB7
CisgIGFyZWFQb2ludChsYW1iZGEwMCwgcGhpMDApOworfQorCitmdW5jdGlvbiBhcmVhUG9pbnRG
aXJzdChsYW1iZGEsIHBoaSkgeworICBhcmVhU3RyZWFtLnBvaW50ID0gYXJlYVBvaW50OworICBs
YW1iZGEwMCA9IGxhbWJkYSwgcGhpMDAgPSBwaGk7CisgIGxhbWJkYSAqPSByYWRpYW5zLCBwaGkg
Kj0gcmFkaWFuczsKKyAgbGFtYmRhMCA9IGxhbWJkYSwgY29zUGhpMCA9IGNvcyQxKHBoaSA9IHBo
aSAvIDIgKyBxdWFydGVyUGkpLCBzaW5QaGkwID0gc2luJDEocGhpKTsKK30KKworZnVuY3Rpb24g
YXJlYVBvaW50KGxhbWJkYSwgcGhpKSB7CisgIGxhbWJkYSAqPSByYWRpYW5zLCBwaGkgKj0gcmFk
aWFuczsKKyAgcGhpID0gcGhpIC8gMiArIHF1YXJ0ZXJQaTsgLy8gaGFsZiB0aGUgYW5ndWxhciBk
aXN0YW5jZSBmcm9tIHNvdXRoIHBvbGUKKworICAvLyBTcGhlcmljYWwgZXhjZXNzIEUgZm9yIGEg
c3BoZXJpY2FsIHRyaWFuZ2xlIHdpdGggdmVydGljZXM6IHNvdXRoIHBvbGUsCisgIC8vIHByZXZp
b3VzIHBvaW50LCBjdXJyZW50IHBvaW50LiAgVXNlcyBhIGZvcm11bGEgZGVyaXZlZCBmcm9tIENh
Z25vbGnigJlzCisgIC8vIHRoZW9yZW0uICBTZWUgVG9kaHVudGVyLCBTcGhlcmljYWwgVHJpZy4g
KDE4NzEpLCBTZWMuIDEwMywgRXEuICgyKS4KKyAgdmFyIGRMYW1iZGEgPSBsYW1iZGEgLSBsYW1i
ZGEwLAorICAgICAgc2RMYW1iZGEgPSBkTGFtYmRhID49IDAgPyAxIDogLTEsCisgICAgICBhZExh
bWJkYSA9IHNkTGFtYmRhICogZExhbWJkYSwKKyAgICAgIGNvc1BoaSA9IGNvcyQxKHBoaSksCisg
ICAgICBzaW5QaGkgPSBzaW4kMShwaGkpLAorICAgICAgayA9IHNpblBoaTAgKiBzaW5QaGksCisg
ICAgICB1ID0gY29zUGhpMCAqIGNvc1BoaSArIGsgKiBjb3MkMShhZExhbWJkYSksCisgICAgICB2
ID0gayAqIHNkTGFtYmRhICogc2luJDEoYWRMYW1iZGEpOworICBhcmVhUmluZ1N1bS5hZGQoYXRh
bjIodiwgdSkpOworCisgIC8vIEFkdmFuY2UgdGhlIHByZXZpb3VzIHBvaW50cy4KKyAgbGFtYmRh
MCA9IGxhbWJkYSwgY29zUGhpMCA9IGNvc1BoaSwgc2luUGhpMCA9IHNpblBoaTsKK30KKworZnVu
Y3Rpb24gYXJlYSQxKG9iamVjdCkgeworICBhcmVhU3VtLnJlc2V0KCk7CisgIGdlb1N0cmVhbShv
YmplY3QsIGFyZWFTdHJlYW0pOworICByZXR1cm4gYXJlYVN1bSAqIDI7Cit9CisKK2Z1bmN0aW9u
IHNwaGVyaWNhbChjYXJ0ZXNpYW4pIHsKKyAgcmV0dXJuIFthdGFuMihjYXJ0ZXNpYW5bMV0sIGNh
cnRlc2lhblswXSksIGFzaW4oY2FydGVzaWFuWzJdKV07Cit9CisKK2Z1bmN0aW9uIGNhcnRlc2lh
bihzcGhlcmljYWwpIHsKKyAgdmFyIGxhbWJkYSA9IHNwaGVyaWNhbFswXSwgcGhpID0gc3BoZXJp
Y2FsWzFdLCBjb3NQaGkgPSBjb3MkMShwaGkpOworICByZXR1cm4gW2Nvc1BoaSAqIGNvcyQxKGxh
bWJkYSksIGNvc1BoaSAqIHNpbiQxKGxhbWJkYSksIHNpbiQxKHBoaSldOworfQorCitmdW5jdGlv
biBjYXJ0ZXNpYW5Eb3QoYSwgYikgeworICByZXR1cm4gYVswXSAqIGJbMF0gKyBhWzFdICogYlsx
XSArIGFbMl0gKiBiWzJdOworfQorCitmdW5jdGlvbiBjYXJ0ZXNpYW5Dcm9zcyhhLCBiKSB7Cisg
IHJldHVybiBbYVsxXSAqIGJbMl0gLSBhWzJdICogYlsxXSwgYVsyXSAqIGJbMF0gLSBhWzBdICog
YlsyXSwgYVswXSAqIGJbMV0gLSBhWzFdICogYlswXV07Cit9CisKKy8vIFRPRE8gcmV0dXJuIGEK
K2Z1bmN0aW9uIGNhcnRlc2lhbkFkZEluUGxhY2UoYSwgYikgeworICBhWzBdICs9IGJbMF0sIGFb
MV0gKz0gYlsxXSwgYVsyXSArPSBiWzJdOworfQorCitmdW5jdGlvbiBjYXJ0ZXNpYW5TY2FsZSh2
ZWN0b3IsIGspIHsKKyAgcmV0dXJuIFt2ZWN0b3JbMF0gKiBrLCB2ZWN0b3JbMV0gKiBrLCB2ZWN0
b3JbMl0gKiBrXTsKK30KKworLy8gVE9ETyByZXR1cm4gZAorZnVuY3Rpb24gY2FydGVzaWFuTm9y
bWFsaXplSW5QbGFjZShkKSB7CisgIHZhciBsID0gc3FydChkWzBdICogZFswXSArIGRbMV0gKiBk
WzFdICsgZFsyXSAqIGRbMl0pOworICBkWzBdIC89IGwsIGRbMV0gLz0gbCwgZFsyXSAvPSBsOwor
fQorCit2YXIgbGFtYmRhMCQxLCBwaGkwLCBsYW1iZGExLCBwaGkxLCAvLyBib3VuZHMKKyAgICBs
YW1iZGEyLCAvLyBwcmV2aW91cyBsYW1iZGEtY29vcmRpbmF0ZQorICAgIGxhbWJkYTAwJDEsIHBo
aTAwJDEsIC8vIGZpcnN0IHBvaW50CisgICAgcDAsIC8vIHByZXZpb3VzIDNEIHBvaW50CisgICAg
ZGVsdGFTdW0gPSBhZGRlcigpLAorICAgIHJhbmdlcywKKyAgICByYW5nZTsKKwordmFyIGJvdW5k
c1N0cmVhbSA9IHsKKyAgcG9pbnQ6IGJvdW5kc1BvaW50LAorICBsaW5lU3RhcnQ6IGJvdW5kc0xp
bmVTdGFydCwKKyAgbGluZUVuZDogYm91bmRzTGluZUVuZCwKKyAgcG9seWdvblN0YXJ0OiBmdW5j
dGlvbigpIHsKKyAgICBib3VuZHNTdHJlYW0ucG9pbnQgPSBib3VuZHNSaW5nUG9pbnQ7CisgICAg
Ym91bmRzU3RyZWFtLmxpbmVTdGFydCA9IGJvdW5kc1JpbmdTdGFydDsKKyAgICBib3VuZHNTdHJl
YW0ubGluZUVuZCA9IGJvdW5kc1JpbmdFbmQ7CisgICAgZGVsdGFTdW0ucmVzZXQoKTsKKyAgICBh
cmVhU3RyZWFtLnBvbHlnb25TdGFydCgpOworICB9LAorICBwb2x5Z29uRW5kOiBmdW5jdGlvbigp
IHsKKyAgICBhcmVhU3RyZWFtLnBvbHlnb25FbmQoKTsKKyAgICBib3VuZHNTdHJlYW0ucG9pbnQg
PSBib3VuZHNQb2ludDsKKyAgICBib3VuZHNTdHJlYW0ubGluZVN0YXJ0ID0gYm91bmRzTGluZVN0
YXJ0OworICAgIGJvdW5kc1N0cmVhbS5saW5lRW5kID0gYm91bmRzTGluZUVuZDsKKyAgICBpZiAo
YXJlYVJpbmdTdW0gPCAwKSBsYW1iZGEwJDEgPSAtKGxhbWJkYTEgPSAxODApLCBwaGkwID0gLShw
aGkxID0gOTApOworICAgIGVsc2UgaWYgKGRlbHRhU3VtID4gZXBzaWxvbiQyKSBwaGkxID0gOTA7
CisgICAgZWxzZSBpZiAoZGVsdGFTdW0gPCAtZXBzaWxvbiQyKSBwaGkwID0gLTkwOworICAgIHJh
bmdlWzBdID0gbGFtYmRhMCQxLCByYW5nZVsxXSA9IGxhbWJkYTE7CisgIH0sCisgIHNwaGVyZTog
ZnVuY3Rpb24oKSB7CisgICAgbGFtYmRhMCQxID0gLShsYW1iZGExID0gMTgwKSwgcGhpMCA9IC0o
cGhpMSA9IDkwKTsKKyAgfQorfTsKKworZnVuY3Rpb24gYm91bmRzUG9pbnQobGFtYmRhLCBwaGkp
IHsKKyAgcmFuZ2VzLnB1c2gocmFuZ2UgPSBbbGFtYmRhMCQxID0gbGFtYmRhLCBsYW1iZGExID0g
bGFtYmRhXSk7CisgIGlmIChwaGkgPCBwaGkwKSBwaGkwID0gcGhpOworICBpZiAocGhpID4gcGhp
MSkgcGhpMSA9IHBoaTsKK30KKworZnVuY3Rpb24gbGluZVBvaW50KGxhbWJkYSwgcGhpKSB7Cisg
IHZhciBwID0gY2FydGVzaWFuKFtsYW1iZGEgKiByYWRpYW5zLCBwaGkgKiByYWRpYW5zXSk7Cisg
IGlmIChwMCkgeworICAgIHZhciBub3JtYWwgPSBjYXJ0ZXNpYW5Dcm9zcyhwMCwgcCksCisgICAg
ICAgIGVxdWF0b3JpYWwgPSBbbm9ybWFsWzFdLCAtbm9ybWFsWzBdLCAwXSwKKyAgICAgICAgaW5m
bGVjdGlvbiA9IGNhcnRlc2lhbkNyb3NzKGVxdWF0b3JpYWwsIG5vcm1hbCk7CisgICAgY2FydGVz
aWFuTm9ybWFsaXplSW5QbGFjZShpbmZsZWN0aW9uKTsKKyAgICBpbmZsZWN0aW9uID0gc3BoZXJp
Y2FsKGluZmxlY3Rpb24pOworICAgIHZhciBkZWx0YSA9IGxhbWJkYSAtIGxhbWJkYTIsCisgICAg
ICAgIHNpZ24gPSBkZWx0YSA+IDAgPyAxIDogLTEsCisgICAgICAgIGxhbWJkYWkgPSBpbmZsZWN0
aW9uWzBdICogZGVncmVlcyQxICogc2lnbiwKKyAgICAgICAgcGhpaSwKKyAgICAgICAgYW50aW1l
cmlkaWFuID0gYWJzKGRlbHRhKSA+IDE4MDsKKyAgICBpZiAoYW50aW1lcmlkaWFuIF4gKHNpZ24g
KiBsYW1iZGEyIDwgbGFtYmRhaSAmJiBsYW1iZGFpIDwgc2lnbiAqIGxhbWJkYSkpIHsKKyAgICAg
IHBoaWkgPSBpbmZsZWN0aW9uWzFdICogZGVncmVlcyQxOworICAgICAgaWYgKHBoaWkgPiBwaGkx
KSBwaGkxID0gcGhpaTsKKyAgICB9IGVsc2UgaWYgKGxhbWJkYWkgPSAobGFtYmRhaSArIDM2MCkg
JSAzNjAgLSAxODAsIGFudGltZXJpZGlhbiBeIChzaWduICogbGFtYmRhMiA8IGxhbWJkYWkgJiYg
bGFtYmRhaSA8IHNpZ24gKiBsYW1iZGEpKSB7CisgICAgICBwaGlpID0gLWluZmxlY3Rpb25bMV0g
KiBkZWdyZWVzJDE7CisgICAgICBpZiAocGhpaSA8IHBoaTApIHBoaTAgPSBwaGlpOworICAgIH0g
ZWxzZSB7CisgICAgICBpZiAocGhpIDwgcGhpMCkgcGhpMCA9IHBoaTsKKyAgICAgIGlmIChwaGkg
PiBwaGkxKSBwaGkxID0gcGhpOworICAgIH0KKyAgICBpZiAoYW50aW1lcmlkaWFuKSB7CisgICAg
ICBpZiAobGFtYmRhIDwgbGFtYmRhMikgeworICAgICAgICBpZiAoYW5nbGUobGFtYmRhMCQxLCBs
YW1iZGEpID4gYW5nbGUobGFtYmRhMCQxLCBsYW1iZGExKSkgbGFtYmRhMSA9IGxhbWJkYTsKKyAg
ICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChhbmdsZShsYW1iZGEsIGxhbWJkYTEpID4gYW5nbGUo
bGFtYmRhMCQxLCBsYW1iZGExKSkgbGFtYmRhMCQxID0gbGFtYmRhOworICAgICAgfQorICAgIH0g
ZWxzZSB7CisgICAgICBpZiAobGFtYmRhMSA+PSBsYW1iZGEwJDEpIHsKKyAgICAgICAgaWYgKGxh
bWJkYSA8IGxhbWJkYTAkMSkgbGFtYmRhMCQxID0gbGFtYmRhOworICAgICAgICBpZiAobGFtYmRh
ID4gbGFtYmRhMSkgbGFtYmRhMSA9IGxhbWJkYTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGlm
IChsYW1iZGEgPiBsYW1iZGEyKSB7CisgICAgICAgICAgaWYgKGFuZ2xlKGxhbWJkYTAkMSwgbGFt
YmRhKSA+IGFuZ2xlKGxhbWJkYTAkMSwgbGFtYmRhMSkpIGxhbWJkYTEgPSBsYW1iZGE7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgaWYgKGFuZ2xlKGxhbWJkYSwgbGFtYmRhMSkgPiBhbmds
ZShsYW1iZGEwJDEsIGxhbWJkYTEpKSBsYW1iZGEwJDEgPSBsYW1iZGE7CisgICAgICAgIH0KKyAg
ICAgIH0KKyAgICB9CisgIH0gZWxzZSB7CisgICAgcmFuZ2VzLnB1c2gocmFuZ2UgPSBbbGFtYmRh
MCQxID0gbGFtYmRhLCBsYW1iZGExID0gbGFtYmRhXSk7CisgIH0KKyAgaWYgKHBoaSA8IHBoaTAp
IHBoaTAgPSBwaGk7CisgIGlmIChwaGkgPiBwaGkxKSBwaGkxID0gcGhpOworICBwMCA9IHAsIGxh
bWJkYTIgPSBsYW1iZGE7Cit9CisKK2Z1bmN0aW9uIGJvdW5kc0xpbmVTdGFydCgpIHsKKyAgYm91
bmRzU3RyZWFtLnBvaW50ID0gbGluZVBvaW50OworfQorCitmdW5jdGlvbiBib3VuZHNMaW5lRW5k
KCkgeworICByYW5nZVswXSA9IGxhbWJkYTAkMSwgcmFuZ2VbMV0gPSBsYW1iZGExOworICBib3Vu
ZHNTdHJlYW0ucG9pbnQgPSBib3VuZHNQb2ludDsKKyAgcDAgPSBudWxsOworfQorCitmdW5jdGlv
biBib3VuZHNSaW5nUG9pbnQobGFtYmRhLCBwaGkpIHsKKyAgaWYgKHAwKSB7CisgICAgdmFyIGRl
bHRhID0gbGFtYmRhIC0gbGFtYmRhMjsKKyAgICBkZWx0YVN1bS5hZGQoYWJzKGRlbHRhKSA+IDE4
MCA/IGRlbHRhICsgKGRlbHRhID4gMCA/IDM2MCA6IC0zNjApIDogZGVsdGEpOworICB9IGVsc2Ug
eworICAgIGxhbWJkYTAwJDEgPSBsYW1iZGEsIHBoaTAwJDEgPSBwaGk7CisgIH0KKyAgYXJlYVN0
cmVhbS5wb2ludChsYW1iZGEsIHBoaSk7CisgIGxpbmVQb2ludChsYW1iZGEsIHBoaSk7Cit9CisK
K2Z1bmN0aW9uIGJvdW5kc1JpbmdTdGFydCgpIHsKKyAgYXJlYVN0cmVhbS5saW5lU3RhcnQoKTsK
K30KKworZnVuY3Rpb24gYm91bmRzUmluZ0VuZCgpIHsKKyAgYm91bmRzUmluZ1BvaW50KGxhbWJk
YTAwJDEsIHBoaTAwJDEpOworICBhcmVhU3RyZWFtLmxpbmVFbmQoKTsKKyAgaWYgKGFicyhkZWx0
YVN1bSkgPiBlcHNpbG9uJDIpIGxhbWJkYTAkMSA9IC0obGFtYmRhMSA9IDE4MCk7CisgIHJhbmdl
WzBdID0gbGFtYmRhMCQxLCByYW5nZVsxXSA9IGxhbWJkYTE7CisgIHAwID0gbnVsbDsKK30KKwor
Ly8gRmluZHMgdGhlIGxlZnQtcmlnaHQgZGlzdGFuY2UgYmV0d2VlbiB0d28gbG9uZ2l0dWRlcy4K
Ky8vIFRoaXMgaXMgYWxtb3N0IHRoZSBzYW1lIGFzIChsYW1iZGExIC0gbGFtYmRhMCArIDM2MMKw
KSAlIDM2MMKwLCBleGNlcHQgdGhhdCB3ZSB3YW50CisvLyB0aGUgZGlzdGFuY2UgYmV0d2VlbiDC
sTE4MMKwIHRvIGJlIDM2MMKwLgorZnVuY3Rpb24gYW5nbGUobGFtYmRhMCwgbGFtYmRhMSkgewor
ICByZXR1cm4gKGxhbWJkYTEgLT0gbGFtYmRhMCkgPCAwID8gbGFtYmRhMSArIDM2MCA6IGxhbWJk
YTE7Cit9CisKK2Z1bmN0aW9uIHJhbmdlQ29tcGFyZShhLCBiKSB7CisgIHJldHVybiBhWzBdIC0g
YlswXTsKK30KKworZnVuY3Rpb24gcmFuZ2VDb250YWlucyhyYW5nZSwgeCkgeworICByZXR1cm4g
cmFuZ2VbMF0gPD0gcmFuZ2VbMV0gPyByYW5nZVswXSA8PSB4ICYmIHggPD0gcmFuZ2VbMV0gOiB4
IDwgcmFuZ2VbMF0gfHwgcmFuZ2VbMV0gPCB4OworfQorCitmdW5jdGlvbiBib3VuZHMoZmVhdHVy
ZSkgeworICB2YXIgaSwgbiwgYSwgYiwgbWVyZ2VkLCBkZWx0YU1heCwgZGVsdGE7CisKKyAgcGhp
MSA9IGxhbWJkYTEgPSAtKGxhbWJkYTAkMSA9IHBoaTAgPSBJbmZpbml0eSk7CisgIHJhbmdlcyA9
IFtdOworICBnZW9TdHJlYW0oZmVhdHVyZSwgYm91bmRzU3RyZWFtKTsKKworICAvLyBGaXJzdCwg
c29ydCByYW5nZXMgYnkgdGhlaXIgbWluaW11bSBsb25naXR1ZGVzLgorICBpZiAobiA9IHJhbmdl
cy5sZW5ndGgpIHsKKyAgICByYW5nZXMuc29ydChyYW5nZUNvbXBhcmUpOworCisgICAgLy8gVGhl
biwgbWVyZ2UgYW55IHJhbmdlcyB0aGF0IG92ZXJsYXAuCisgICAgZm9yIChpID0gMSwgYSA9IHJh
bmdlc1swXSwgbWVyZ2VkID0gW2FdOyBpIDwgbjsgKytpKSB7CisgICAgICBiID0gcmFuZ2VzW2ld
OworICAgICAgaWYgKHJhbmdlQ29udGFpbnMoYSwgYlswXSkgfHwgcmFuZ2VDb250YWlucyhhLCBi
WzFdKSkgeworICAgICAgICBpZiAoYW5nbGUoYVswXSwgYlsxXSkgPiBhbmdsZShhWzBdLCBhWzFd
KSkgYVsxXSA9IGJbMV07CisgICAgICAgIGlmIChhbmdsZShiWzBdLCBhWzFdKSA+IGFuZ2xlKGFb
MF0sIGFbMV0pKSBhWzBdID0gYlswXTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIG1lcmdlZC5w
dXNoKGEgPSBiKTsKKyAgICAgIH0KKyAgICB9CisKKyAgICAvLyBGaW5hbGx5LCBmaW5kIHRoZSBs
YXJnZXN0IGdhcCBiZXR3ZWVuIHRoZSBtZXJnZWQgcmFuZ2VzLgorICAgIC8vIFRoZSBmaW5hbCBi
b3VuZGluZyBib3ggd2lsbCBiZSB0aGUgaW52ZXJzZSBvZiB0aGlzIGdhcC4KKyAgICBmb3IgKGRl
bHRhTWF4ID0gLUluZmluaXR5LCBuID0gbWVyZ2VkLmxlbmd0aCAtIDEsIGkgPSAwLCBhID0gbWVy
Z2VkW25dOyBpIDw9IG47IGEgPSBiLCArK2kpIHsKKyAgICAgIGIgPSBtZXJnZWRbaV07CisgICAg
ICBpZiAoKGRlbHRhID0gYW5nbGUoYVsxXSwgYlswXSkpID4gZGVsdGFNYXgpIGRlbHRhTWF4ID0g
ZGVsdGEsIGxhbWJkYTAkMSA9IGJbMF0sIGxhbWJkYTEgPSBhWzFdOworICAgIH0KKyAgfQorCisg
IHJhbmdlcyA9IHJhbmdlID0gbnVsbDsKKworICByZXR1cm4gbGFtYmRhMCQxID09PSBJbmZpbml0
eSB8fCBwaGkwID09PSBJbmZpbml0eQorICAgICAgPyBbW05hTiwgTmFOXSwgW05hTiwgTmFOXV0K
KyAgICAgIDogW1tsYW1iZGEwJDEsIHBoaTBdLCBbbGFtYmRhMSwgcGhpMV1dOworfQorCit2YXIg
VzAsIFcxLAorICAgIFgwLCBZMCwgWjAsCisgICAgWDEsIFkxLCBaMSwKKyAgICBYMiwgWTIsIFoy
LAorICAgIGxhbWJkYTAwJDIsIHBoaTAwJDIsIC8vIGZpcnN0IHBvaW50CisgICAgeDAsIHkwLCB6
MDsgLy8gcHJldmlvdXMgcG9pbnQKKwordmFyIGNlbnRyb2lkU3RyZWFtID0geworICBzcGhlcmU6
IG5vb3AkMiwKKyAgcG9pbnQ6IGNlbnRyb2lkUG9pbnQsCisgIGxpbmVTdGFydDogY2VudHJvaWRM
aW5lU3RhcnQsCisgIGxpbmVFbmQ6IGNlbnRyb2lkTGluZUVuZCwKKyAgcG9seWdvblN0YXJ0OiBm
dW5jdGlvbigpIHsKKyAgICBjZW50cm9pZFN0cmVhbS5saW5lU3RhcnQgPSBjZW50cm9pZFJpbmdT
dGFydDsKKyAgICBjZW50cm9pZFN0cmVhbS5saW5lRW5kID0gY2VudHJvaWRSaW5nRW5kOworICB9
LAorICBwb2x5Z29uRW5kOiBmdW5jdGlvbigpIHsKKyAgICBjZW50cm9pZFN0cmVhbS5saW5lU3Rh
cnQgPSBjZW50cm9pZExpbmVTdGFydDsKKyAgICBjZW50cm9pZFN0cmVhbS5saW5lRW5kID0gY2Vu
dHJvaWRMaW5lRW5kOworICB9Cit9OworCisvLyBBcml0aG1ldGljIG1lYW4gb2YgQ2FydGVzaWFu
IHZlY3RvcnMuCitmdW5jdGlvbiBjZW50cm9pZFBvaW50KGxhbWJkYSwgcGhpKSB7CisgIGxhbWJk
YSAqPSByYWRpYW5zLCBwaGkgKj0gcmFkaWFuczsKKyAgdmFyIGNvc1BoaSA9IGNvcyQxKHBoaSk7
CisgIGNlbnRyb2lkUG9pbnRDYXJ0ZXNpYW4oY29zUGhpICogY29zJDEobGFtYmRhKSwgY29zUGhp
ICogc2luJDEobGFtYmRhKSwgc2luJDEocGhpKSk7Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkUG9p
bnRDYXJ0ZXNpYW4oeCwgeSwgeikgeworICArK1cwOworICBYMCArPSAoeCAtIFgwKSAvIFcwOwor
ICBZMCArPSAoeSAtIFkwKSAvIFcwOworICBaMCArPSAoeiAtIFowKSAvIFcwOworfQorCitmdW5j
dGlvbiBjZW50cm9pZExpbmVTdGFydCgpIHsKKyAgY2VudHJvaWRTdHJlYW0ucG9pbnQgPSBjZW50
cm9pZExpbmVQb2ludEZpcnN0OworfQorCitmdW5jdGlvbiBjZW50cm9pZExpbmVQb2ludEZpcnN0
KGxhbWJkYSwgcGhpKSB7CisgIGxhbWJkYSAqPSByYWRpYW5zLCBwaGkgKj0gcmFkaWFuczsKKyAg
dmFyIGNvc1BoaSA9IGNvcyQxKHBoaSk7CisgIHgwID0gY29zUGhpICogY29zJDEobGFtYmRhKTsK
KyAgeTAgPSBjb3NQaGkgKiBzaW4kMShsYW1iZGEpOworICB6MCA9IHNpbiQxKHBoaSk7CisgIGNl
bnRyb2lkU3RyZWFtLnBvaW50ID0gY2VudHJvaWRMaW5lUG9pbnQ7CisgIGNlbnRyb2lkUG9pbnRD
YXJ0ZXNpYW4oeDAsIHkwLCB6MCk7Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkTGluZVBvaW50KGxh
bWJkYSwgcGhpKSB7CisgIGxhbWJkYSAqPSByYWRpYW5zLCBwaGkgKj0gcmFkaWFuczsKKyAgdmFy
IGNvc1BoaSA9IGNvcyQxKHBoaSksCisgICAgICB4ID0gY29zUGhpICogY29zJDEobGFtYmRhKSwK
KyAgICAgIHkgPSBjb3NQaGkgKiBzaW4kMShsYW1iZGEpLAorICAgICAgeiA9IHNpbiQxKHBoaSks
CisgICAgICB3ID0gYXRhbjIoc3FydCgodyA9IHkwICogeiAtIHowICogeSkgKiB3ICsgKHcgPSB6
MCAqIHggLSB4MCAqIHopICogdyArICh3ID0geDAgKiB5IC0geTAgKiB4KSAqIHcpLCB4MCAqIHgg
KyB5MCAqIHkgKyB6MCAqIHopOworICBXMSArPSB3OworICBYMSArPSB3ICogKHgwICsgKHgwID0g
eCkpOworICBZMSArPSB3ICogKHkwICsgKHkwID0geSkpOworICBaMSArPSB3ICogKHowICsgKHow
ID0geikpOworICBjZW50cm9pZFBvaW50Q2FydGVzaWFuKHgwLCB5MCwgejApOworfQorCitmdW5j
dGlvbiBjZW50cm9pZExpbmVFbmQoKSB7CisgIGNlbnRyb2lkU3RyZWFtLnBvaW50ID0gY2VudHJv
aWRQb2ludDsKK30KKworLy8gU2VlIEouIEUuIEJyb2NrLCBUaGUgSW5lcnRpYSBUZW5zb3IgZm9y
IGEgU3BoZXJpY2FsIFRyaWFuZ2xlLAorLy8gSi4gQXBwbGllZCBNZWNoYW5pY3MgNDIsIDIzOSAo
MTk3NSkuCitmdW5jdGlvbiBjZW50cm9pZFJpbmdTdGFydCgpIHsKKyAgY2VudHJvaWRTdHJlYW0u
cG9pbnQgPSBjZW50cm9pZFJpbmdQb2ludEZpcnN0OworfQorCitmdW5jdGlvbiBjZW50cm9pZFJp
bmdFbmQoKSB7CisgIGNlbnRyb2lkUmluZ1BvaW50KGxhbWJkYTAwJDIsIHBoaTAwJDIpOworICBj
ZW50cm9pZFN0cmVhbS5wb2ludCA9IGNlbnRyb2lkUG9pbnQ7Cit9CisKK2Z1bmN0aW9uIGNlbnRy
b2lkUmluZ1BvaW50Rmlyc3QobGFtYmRhLCBwaGkpIHsKKyAgbGFtYmRhMDAkMiA9IGxhbWJkYSwg
cGhpMDAkMiA9IHBoaTsKKyAgbGFtYmRhICo9IHJhZGlhbnMsIHBoaSAqPSByYWRpYW5zOworICBj
ZW50cm9pZFN0cmVhbS5wb2ludCA9IGNlbnRyb2lkUmluZ1BvaW50OworICB2YXIgY29zUGhpID0g
Y29zJDEocGhpKTsKKyAgeDAgPSBjb3NQaGkgKiBjb3MkMShsYW1iZGEpOworICB5MCA9IGNvc1Bo
aSAqIHNpbiQxKGxhbWJkYSk7CisgIHowID0gc2luJDEocGhpKTsKKyAgY2VudHJvaWRQb2ludENh
cnRlc2lhbih4MCwgeTAsIHowKTsKK30KKworZnVuY3Rpb24gY2VudHJvaWRSaW5nUG9pbnQobGFt
YmRhLCBwaGkpIHsKKyAgbGFtYmRhICo9IHJhZGlhbnMsIHBoaSAqPSByYWRpYW5zOworICB2YXIg
Y29zUGhpID0gY29zJDEocGhpKSwKKyAgICAgIHggPSBjb3NQaGkgKiBjb3MkMShsYW1iZGEpLAor
ICAgICAgeSA9IGNvc1BoaSAqIHNpbiQxKGxhbWJkYSksCisgICAgICB6ID0gc2luJDEocGhpKSwK
KyAgICAgIGN4ID0geTAgKiB6IC0gejAgKiB5LAorICAgICAgY3kgPSB6MCAqIHggLSB4MCAqIHos
CisgICAgICBjeiA9IHgwICogeSAtIHkwICogeCwKKyAgICAgIG0gPSBzcXJ0KGN4ICogY3ggKyBj
eSAqIGN5ICsgY3ogKiBjeiksCisgICAgICB3ID0gYXNpbihtKSwgLy8gbGluZSB3ZWlnaHQgPSBh
bmdsZQorICAgICAgdiA9IG0gJiYgLXcgLyBtOyAvLyBhcmVhIHdlaWdodCBtdWx0aXBsaWVyCisg
IFgyICs9IHYgKiBjeDsKKyAgWTIgKz0gdiAqIGN5OworICBaMiArPSB2ICogY3o7CisgIFcxICs9
IHc7CisgIFgxICs9IHcgKiAoeDAgKyAoeDAgPSB4KSk7CisgIFkxICs9IHcgKiAoeTAgKyAoeTAg
PSB5KSk7CisgIFoxICs9IHcgKiAoejAgKyAoejAgPSB6KSk7CisgIGNlbnRyb2lkUG9pbnRDYXJ0
ZXNpYW4oeDAsIHkwLCB6MCk7Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkKG9iamVjdCkgeworICBX
MCA9IFcxID0KKyAgWDAgPSBZMCA9IFowID0KKyAgWDEgPSBZMSA9IFoxID0KKyAgWDIgPSBZMiA9
IFoyID0gMDsKKyAgZ2VvU3RyZWFtKG9iamVjdCwgY2VudHJvaWRTdHJlYW0pOworCisgIHZhciB4
ID0gWDIsCisgICAgICB5ID0gWTIsCisgICAgICB6ID0gWjIsCisgICAgICBtID0geCAqIHggKyB5
ICogeSArIHogKiB6OworCisgIC8vIElmIHRoZSBhcmVhLXdlaWdodGVkIGNjZW50cm9pZCBpcyB1
bmRlZmluZWQsIGZhbGwgYmFjayB0byBsZW5ndGgtd2VpZ2h0ZWQgY2NlbnRyb2lkLgorICBpZiAo
bSA8IGVwc2lsb24yJDEpIHsKKyAgICB4ID0gWDEsIHkgPSBZMSwgeiA9IFoxOworICAgIC8vIElm
IHRoZSBmZWF0dXJlIGhhcyB6ZXJvIGxlbmd0aCwgZmFsbCBiYWNrIHRvIGFyaXRobWV0aWMgbWVh
biBvZiBwb2ludCB2ZWN0b3JzLgorICAgIGlmIChXMSA8IGVwc2lsb24kMikgeCA9IFgwLCB5ID0g
WTAsIHogPSBaMDsKKyAgICBtID0geCAqIHggKyB5ICogeSArIHogKiB6OworICAgIC8vIElmIHRo
ZSBmZWF0dXJlIHN0aWxsIGhhcyBhbiB1bmRlZmluZWQgY2NlbnRyb2lkLCB0aGVuIHJldHVybi4K
KyAgICBpZiAobSA8IGVwc2lsb24yJDEpIHJldHVybiBbTmFOLCBOYU5dOworICB9CisKKyAgcmV0
dXJuIFthdGFuMih5LCB4KSAqIGRlZ3JlZXMkMSwgYXNpbih6IC8gc3FydChtKSkgKiBkZWdyZWVz
JDFdOworfQorCitmdW5jdGlvbiBjb25zdGFudCQ4KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkg
eworICAgIHJldHVybiB4OworICB9OworfQorCitmdW5jdGlvbiBjb21wb3NlKGEsIGIpIHsKKwor
ICBmdW5jdGlvbiBjb21wb3NlKHgsIHkpIHsKKyAgICByZXR1cm4geCA9IGEoeCwgeSksIGIoeFsw
XSwgeFsxXSk7CisgIH0KKworICBpZiAoYS5pbnZlcnQgJiYgYi5pbnZlcnQpIGNvbXBvc2UuaW52
ZXJ0ID0gZnVuY3Rpb24oeCwgeSkgeworICAgIHJldHVybiB4ID0gYi5pbnZlcnQoeCwgeSksIHgg
JiYgYS5pbnZlcnQoeFswXSwgeFsxXSk7CisgIH07CisKKyAgcmV0dXJuIGNvbXBvc2U7Cit9CisK
K2Z1bmN0aW9uIHJvdGF0aW9uSWRlbnRpdHkobGFtYmRhLCBwaGkpIHsKKyAgcmV0dXJuIFthYnMo
bGFtYmRhKSA+IHBpJDMgPyBsYW1iZGEgKyBNYXRoLnJvdW5kKC1sYW1iZGEgLyB0YXUkMykgKiB0
YXUkMyA6IGxhbWJkYSwgcGhpXTsKK30KKworcm90YXRpb25JZGVudGl0eS5pbnZlcnQgPSByb3Rh
dGlvbklkZW50aXR5OworCitmdW5jdGlvbiByb3RhdGVSYWRpYW5zKGRlbHRhTGFtYmRhLCBkZWx0
YVBoaSwgZGVsdGFHYW1tYSkgeworICByZXR1cm4gKGRlbHRhTGFtYmRhICU9IHRhdSQzKSA/IChk
ZWx0YVBoaSB8fCBkZWx0YUdhbW1hID8gY29tcG9zZShyb3RhdGlvbkxhbWJkYShkZWx0YUxhbWJk
YSksIHJvdGF0aW9uUGhpR2FtbWEoZGVsdGFQaGksIGRlbHRhR2FtbWEpKQorICAgIDogcm90YXRp
b25MYW1iZGEoZGVsdGFMYW1iZGEpKQorICAgIDogKGRlbHRhUGhpIHx8IGRlbHRhR2FtbWEgPyBy
b3RhdGlvblBoaUdhbW1hKGRlbHRhUGhpLCBkZWx0YUdhbW1hKQorICAgIDogcm90YXRpb25JZGVu
dGl0eSk7Cit9CisKK2Z1bmN0aW9uIGZvcndhcmRSb3RhdGlvbkxhbWJkYShkZWx0YUxhbWJkYSkg
eworICByZXR1cm4gZnVuY3Rpb24obGFtYmRhLCBwaGkpIHsKKyAgICByZXR1cm4gbGFtYmRhICs9
IGRlbHRhTGFtYmRhLCBbbGFtYmRhID4gcGkkMyA/IGxhbWJkYSAtIHRhdSQzIDogbGFtYmRhIDwg
LXBpJDMgPyBsYW1iZGEgKyB0YXUkMyA6IGxhbWJkYSwgcGhpXTsKKyAgfTsKK30KKworZnVuY3Rp
b24gcm90YXRpb25MYW1iZGEoZGVsdGFMYW1iZGEpIHsKKyAgdmFyIHJvdGF0aW9uID0gZm9yd2Fy
ZFJvdGF0aW9uTGFtYmRhKGRlbHRhTGFtYmRhKTsKKyAgcm90YXRpb24uaW52ZXJ0ID0gZm9yd2Fy
ZFJvdGF0aW9uTGFtYmRhKC1kZWx0YUxhbWJkYSk7CisgIHJldHVybiByb3RhdGlvbjsKK30KKwor
ZnVuY3Rpb24gcm90YXRpb25QaGlHYW1tYShkZWx0YVBoaSwgZGVsdGFHYW1tYSkgeworICB2YXIg
Y29zRGVsdGFQaGkgPSBjb3MkMShkZWx0YVBoaSksCisgICAgICBzaW5EZWx0YVBoaSA9IHNpbiQx
KGRlbHRhUGhpKSwKKyAgICAgIGNvc0RlbHRhR2FtbWEgPSBjb3MkMShkZWx0YUdhbW1hKSwKKyAg
ICAgIHNpbkRlbHRhR2FtbWEgPSBzaW4kMShkZWx0YUdhbW1hKTsKKworICBmdW5jdGlvbiByb3Rh
dGlvbihsYW1iZGEsIHBoaSkgeworICAgIHZhciBjb3NQaGkgPSBjb3MkMShwaGkpLAorICAgICAg
ICB4ID0gY29zJDEobGFtYmRhKSAqIGNvc1BoaSwKKyAgICAgICAgeSA9IHNpbiQxKGxhbWJkYSkg
KiBjb3NQaGksCisgICAgICAgIHogPSBzaW4kMShwaGkpLAorICAgICAgICBrID0geiAqIGNvc0Rl
bHRhUGhpICsgeCAqIHNpbkRlbHRhUGhpOworICAgIHJldHVybiBbCisgICAgICBhdGFuMih5ICog
Y29zRGVsdGFHYW1tYSAtIGsgKiBzaW5EZWx0YUdhbW1hLCB4ICogY29zRGVsdGFQaGkgLSB6ICog
c2luRGVsdGFQaGkpLAorICAgICAgYXNpbihrICogY29zRGVsdGFHYW1tYSArIHkgKiBzaW5EZWx0
YUdhbW1hKQorICAgIF07CisgIH0KKworICByb3RhdGlvbi5pbnZlcnQgPSBmdW5jdGlvbihsYW1i
ZGEsIHBoaSkgeworICAgIHZhciBjb3NQaGkgPSBjb3MkMShwaGkpLAorICAgICAgICB4ID0gY29z
JDEobGFtYmRhKSAqIGNvc1BoaSwKKyAgICAgICAgeSA9IHNpbiQxKGxhbWJkYSkgKiBjb3NQaGks
CisgICAgICAgIHogPSBzaW4kMShwaGkpLAorICAgICAgICBrID0geiAqIGNvc0RlbHRhR2FtbWEg
LSB5ICogc2luRGVsdGFHYW1tYTsKKyAgICByZXR1cm4gWworICAgICAgYXRhbjIoeSAqIGNvc0Rl
bHRhR2FtbWEgKyB6ICogc2luRGVsdGFHYW1tYSwgeCAqIGNvc0RlbHRhUGhpICsgayAqIHNpbkRl
bHRhUGhpKSwKKyAgICAgIGFzaW4oayAqIGNvc0RlbHRhUGhpIC0geCAqIHNpbkRlbHRhUGhpKQor
ICAgIF07CisgIH07CisKKyAgcmV0dXJuIHJvdGF0aW9uOworfQorCitmdW5jdGlvbiByb3RhdGlv
bihyb3RhdGUpIHsKKyAgcm90YXRlID0gcm90YXRlUmFkaWFucyhyb3RhdGVbMF0gKiByYWRpYW5z
LCByb3RhdGVbMV0gKiByYWRpYW5zLCByb3RhdGUubGVuZ3RoID4gMiA/IHJvdGF0ZVsyXSAqIHJh
ZGlhbnMgOiAwKTsKKworICBmdW5jdGlvbiBmb3J3YXJkKGNvb3JkaW5hdGVzKSB7CisgICAgY29v
cmRpbmF0ZXMgPSByb3RhdGUoY29vcmRpbmF0ZXNbMF0gKiByYWRpYW5zLCBjb29yZGluYXRlc1sx
XSAqIHJhZGlhbnMpOworICAgIHJldHVybiBjb29yZGluYXRlc1swXSAqPSBkZWdyZWVzJDEsIGNv
b3JkaW5hdGVzWzFdICo9IGRlZ3JlZXMkMSwgY29vcmRpbmF0ZXM7CisgIH0KKworICBmb3J3YXJk
LmludmVydCA9IGZ1bmN0aW9uKGNvb3JkaW5hdGVzKSB7CisgICAgY29vcmRpbmF0ZXMgPSByb3Rh
dGUuaW52ZXJ0KGNvb3JkaW5hdGVzWzBdICogcmFkaWFucywgY29vcmRpbmF0ZXNbMV0gKiByYWRp
YW5zKTsKKyAgICByZXR1cm4gY29vcmRpbmF0ZXNbMF0gKj0gZGVncmVlcyQxLCBjb29yZGluYXRl
c1sxXSAqPSBkZWdyZWVzJDEsIGNvb3JkaW5hdGVzOworICB9OworCisgIHJldHVybiBmb3J3YXJk
OworfQorCisvLyBHZW5lcmF0ZXMgYSBjaXJjbGUgY2VudGVyZWQgYXQgWzDCsCwgMMKwXSwgd2l0
aCBhIGdpdmVuIHJhZGl1cyBhbmQgcHJlY2lzaW9uLgorZnVuY3Rpb24gY2lyY2xlU3RyZWFtKHN0
cmVhbSwgcmFkaXVzLCBkZWx0YSwgZGlyZWN0aW9uLCB0MCwgdDEpIHsKKyAgaWYgKCFkZWx0YSkg
cmV0dXJuOworICB2YXIgY29zUmFkaXVzID0gY29zJDEocmFkaXVzKSwKKyAgICAgIHNpblJhZGl1
cyA9IHNpbiQxKHJhZGl1cyksCisgICAgICBzdGVwID0gZGlyZWN0aW9uICogZGVsdGE7CisgIGlm
ICh0MCA9PSBudWxsKSB7CisgICAgdDAgPSByYWRpdXMgKyBkaXJlY3Rpb24gKiB0YXUkMzsKKyAg
ICB0MSA9IHJhZGl1cyAtIHN0ZXAgLyAyOworICB9IGVsc2UgeworICAgIHQwID0gY2lyY2xlUmFk
aXVzKGNvc1JhZGl1cywgdDApOworICAgIHQxID0gY2lyY2xlUmFkaXVzKGNvc1JhZGl1cywgdDEp
OworICAgIGlmIChkaXJlY3Rpb24gPiAwID8gdDAgPCB0MSA6IHQwID4gdDEpIHQwICs9IGRpcmVj
dGlvbiAqIHRhdSQzOworICB9CisgIGZvciAodmFyIHBvaW50LCB0ID0gdDA7IGRpcmVjdGlvbiA+
IDAgPyB0ID4gdDEgOiB0IDwgdDE7IHQgLT0gc3RlcCkgeworICAgIHBvaW50ID0gc3BoZXJpY2Fs
KFtjb3NSYWRpdXMsIC1zaW5SYWRpdXMgKiBjb3MkMSh0KSwgLXNpblJhZGl1cyAqIHNpbiQxKHQp
XSk7CisgICAgc3RyZWFtLnBvaW50KHBvaW50WzBdLCBwb2ludFsxXSk7CisgIH0KK30KKworLy8g
UmV0dXJucyB0aGUgc2lnbmVkIGFuZ2xlIG9mIGEgY2FydGVzaWFuIHBvaW50IHJlbGF0aXZlIHRv
IFtjb3NSYWRpdXMsIDAsIDBdLgorZnVuY3Rpb24gY2lyY2xlUmFkaXVzKGNvc1JhZGl1cywgcG9p
bnQpIHsKKyAgcG9pbnQgPSBjYXJ0ZXNpYW4ocG9pbnQpLCBwb2ludFswXSAtPSBjb3NSYWRpdXM7
CisgIGNhcnRlc2lhbk5vcm1hbGl6ZUluUGxhY2UocG9pbnQpOworICB2YXIgcmFkaXVzID0gYWNv
cygtcG9pbnRbMV0pOworICByZXR1cm4gKCgtcG9pbnRbMl0gPCAwID8gLXJhZGl1cyA6IHJhZGl1
cykgKyB0YXUkMyAtIGVwc2lsb24kMikgJSB0YXUkMzsKK30KKworZnVuY3Rpb24gY2lyY2xlKCkg
eworICB2YXIgY2VudGVyID0gY29uc3RhbnQkOChbMCwgMF0pLAorICAgICAgcmFkaXVzID0gY29u
c3RhbnQkOCg5MCksCisgICAgICBwcmVjaXNpb24gPSBjb25zdGFudCQ4KDYpLAorICAgICAgcmlu
ZywKKyAgICAgIHJvdGF0ZSwKKyAgICAgIHN0cmVhbSA9IHtwb2ludDogcG9pbnR9OworCisgIGZ1
bmN0aW9uIHBvaW50KHgsIHkpIHsKKyAgICByaW5nLnB1c2goeCA9IHJvdGF0ZSh4LCB5KSk7Cisg
ICAgeFswXSAqPSBkZWdyZWVzJDEsIHhbMV0gKj0gZGVncmVlcyQxOworICB9CisKKyAgZnVuY3Rp
b24gY2lyY2xlKCkgeworICAgIHZhciBjID0gY2VudGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyks
CisgICAgICAgIHIgPSByYWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRzKSAqIHJhZGlhbnMsCisg
ICAgICAgIHAgPSBwcmVjaXNpb24uYXBwbHkodGhpcywgYXJndW1lbnRzKSAqIHJhZGlhbnM7Cisg
ICAgcmluZyA9IFtdOworICAgIHJvdGF0ZSA9IHJvdGF0ZVJhZGlhbnMoLWNbMF0gKiByYWRpYW5z
LCAtY1sxXSAqIHJhZGlhbnMsIDApLmludmVydDsKKyAgICBjaXJjbGVTdHJlYW0oc3RyZWFtLCBy
LCBwLCAxKTsKKyAgICBjID0ge3R5cGU6ICJQb2x5Z29uIiwgY29vcmRpbmF0ZXM6IFtyaW5nXX07
CisgICAgcmluZyA9IHJvdGF0ZSA9IG51bGw7CisgICAgcmV0dXJuIGM7CisgIH0KKworICBjaXJj
bGUuY2VudGVyID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8g
KGNlbnRlciA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDgoWytfWzBd
LCArX1sxXV0pLCBjaXJjbGUpIDogY2VudGVyOworICB9OworCisgIGNpcmNsZS5yYWRpdXMgPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocmFkaXVzID0gdHlw
ZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkOCgrXyksIGNpcmNsZSkgOiByYWRp
dXM7CisgIH07CisKKyAgY2lyY2xlLnByZWNpc2lvbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwcmVjaXNpb24gPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9u
IiA/IF8gOiBjb25zdGFudCQ4KCtfKSwgY2lyY2xlKSA6IHByZWNpc2lvbjsKKyAgfTsKKworICBy
ZXR1cm4gY2lyY2xlOworfQorCitmdW5jdGlvbiBjbGlwQnVmZmVyKCkgeworICB2YXIgbGluZXMg
PSBbXSwKKyAgICAgIGxpbmU7CisgIHJldHVybiB7CisgICAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkp
IHsKKyAgICAgIGxpbmUucHVzaChbeCwgeV0pOworICAgIH0sCisgICAgbGluZVN0YXJ0OiBmdW5j
dGlvbigpIHsKKyAgICAgIGxpbmVzLnB1c2gobGluZSA9IFtdKTsKKyAgICB9LAorICAgIGxpbmVF
bmQ6IG5vb3AkMiwKKyAgICByZWpvaW46IGZ1bmN0aW9uKCkgeworICAgICAgaWYgKGxpbmVzLmxl
bmd0aCA+IDEpIGxpbmVzLnB1c2gobGluZXMucG9wKCkuY29uY2F0KGxpbmVzLnNoaWZ0KCkpKTsK
KyAgICB9LAorICAgIHJlc3VsdDogZnVuY3Rpb24oKSB7CisgICAgICB2YXIgcmVzdWx0ID0gbGlu
ZXM7CisgICAgICBsaW5lcyA9IFtdOworICAgICAgbGluZSA9IG51bGw7CisgICAgICByZXR1cm4g
cmVzdWx0OworICAgIH0KKyAgfTsKK30KKworZnVuY3Rpb24gcG9pbnRFcXVhbChhLCBiKSB7Cisg
IHJldHVybiBhYnMoYVswXSAtIGJbMF0pIDwgZXBzaWxvbiQyICYmIGFicyhhWzFdIC0gYlsxXSkg
PCBlcHNpbG9uJDI7Cit9CisKK2Z1bmN0aW9uIEludGVyc2VjdGlvbihwb2ludCwgcG9pbnRzLCBv
dGhlciwgZW50cnkpIHsKKyAgdGhpcy54ID0gcG9pbnQ7CisgIHRoaXMueiA9IHBvaW50czsKKyAg
dGhpcy5vID0gb3RoZXI7IC8vIGFub3RoZXIgaW50ZXJzZWN0aW9uCisgIHRoaXMuZSA9IGVudHJ5
OyAvLyBpcyBhbiBlbnRyeT8KKyAgdGhpcy52ID0gZmFsc2U7IC8vIHZpc2l0ZWQKKyAgdGhpcy5u
ID0gdGhpcy5wID0gbnVsbDsgLy8gbmV4dCAmIHByZXZpb3VzCit9CisKKy8vIEEgZ2VuZXJhbGl6
ZWQgcG9seWdvbiBjbGlwcGluZyBhbGdvcml0aG06IGdpdmVuIGEgcG9seWdvbiB0aGF0IGhhcyBi
ZWVuIGN1dAorLy8gaW50byBpdHMgdmlzaWJsZSBsaW5lIHNlZ21lbnRzLCBhbmQgcmVqb2lucyB0
aGUgc2VnbWVudHMgYnkgaW50ZXJwb2xhdGluZworLy8gYWxvbmcgdGhlIGNsaXAgZWRnZS4KK2Z1
bmN0aW9uIGNsaXBSZWpvaW4oc2VnbWVudHMsIGNvbXBhcmVJbnRlcnNlY3Rpb24sIHN0YXJ0SW5z
aWRlLCBpbnRlcnBvbGF0ZSwgc3RyZWFtKSB7CisgIHZhciBzdWJqZWN0ID0gW10sCisgICAgICBj
bGlwID0gW10sCisgICAgICBpLAorICAgICAgbjsKKworICBzZWdtZW50cy5mb3JFYWNoKGZ1bmN0
aW9uKHNlZ21lbnQpIHsKKyAgICBpZiAoKG4gPSBzZWdtZW50Lmxlbmd0aCAtIDEpIDw9IDApIHJl
dHVybjsKKyAgICB2YXIgbiwgcDAgPSBzZWdtZW50WzBdLCBwMSA9IHNlZ21lbnRbbl0sIHg7CisK
KyAgICAvLyBJZiB0aGUgZmlyc3QgYW5kIGxhc3QgcG9pbnRzIG9mIGEgc2VnbWVudCBhcmUgY29p
bmNpZGVudCwgdGhlbiB0cmVhdCBhcyBhCisgICAgLy8gY2xvc2VkIHJpbmcuIFRPRE8gaWYgYWxs
IHJpbmdzIGFyZSBjbG9zZWQsIHRoZW4gdGhlIHdpbmRpbmcgb3JkZXIgb2YgdGhlCisgICAgLy8g
ZXh0ZXJpb3IgcmluZyBzaG91bGQgYmUgY2hlY2tlZC4KKyAgICBpZiAocG9pbnRFcXVhbChwMCwg
cDEpKSB7CisgICAgICBzdHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICBmb3IgKGkgPSAwOyBpIDwg
bjsgKytpKSBzdHJlYW0ucG9pbnQoKHAwID0gc2VnbWVudFtpXSlbMF0sIHAwWzFdKTsKKyAgICAg
IHN0cmVhbS5saW5lRW5kKCk7CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgc3ViamVjdC5w
dXNoKHggPSBuZXcgSW50ZXJzZWN0aW9uKHAwLCBzZWdtZW50LCBudWxsLCB0cnVlKSk7CisgICAg
Y2xpcC5wdXNoKHgubyA9IG5ldyBJbnRlcnNlY3Rpb24ocDAsIG51bGwsIHgsIGZhbHNlKSk7Cisg
ICAgc3ViamVjdC5wdXNoKHggPSBuZXcgSW50ZXJzZWN0aW9uKHAxLCBzZWdtZW50LCBudWxsLCBm
YWxzZSkpOworICAgIGNsaXAucHVzaCh4Lm8gPSBuZXcgSW50ZXJzZWN0aW9uKHAxLCBudWxsLCB4
LCB0cnVlKSk7CisgIH0pOworCisgIGlmICghc3ViamVjdC5sZW5ndGgpIHJldHVybjsKKworICBj
bGlwLnNvcnQoY29tcGFyZUludGVyc2VjdGlvbik7CisgIGxpbmskMShzdWJqZWN0KTsKKyAgbGlu
ayQxKGNsaXApOworCisgIGZvciAoaSA9IDAsIG4gPSBjbGlwLmxlbmd0aDsgaSA8IG47ICsraSkg
eworICAgIGNsaXBbaV0uZSA9IHN0YXJ0SW5zaWRlID0gIXN0YXJ0SW5zaWRlOworICB9CisKKyAg
dmFyIHN0YXJ0ID0gc3ViamVjdFswXSwKKyAgICAgIHBvaW50cywKKyAgICAgIHBvaW50OworCisg
IHdoaWxlICgxKSB7CisgICAgLy8gRmluZCBmaXJzdCB1bnZpc2l0ZWQgaW50ZXJzZWN0aW9uLgor
ICAgIHZhciBjdXJyZW50ID0gc3RhcnQsCisgICAgICAgIGlzU3ViamVjdCA9IHRydWU7CisgICAg
d2hpbGUgKGN1cnJlbnQudikgaWYgKChjdXJyZW50ID0gY3VycmVudC5uKSA9PT0gc3RhcnQpIHJl
dHVybjsKKyAgICBwb2ludHMgPSBjdXJyZW50Lno7CisgICAgc3RyZWFtLmxpbmVTdGFydCgpOwor
ICAgIGRvIHsKKyAgICAgIGN1cnJlbnQudiA9IGN1cnJlbnQuby52ID0gdHJ1ZTsKKyAgICAgIGlm
IChjdXJyZW50LmUpIHsKKyAgICAgICAgaWYgKGlzU3ViamVjdCkgeworICAgICAgICAgIGZvciAo
aSA9IDAsIG4gPSBwb2ludHMubGVuZ3RoOyBpIDwgbjsgKytpKSBzdHJlYW0ucG9pbnQoKHBvaW50
ID0gcG9pbnRzW2ldKVswXSwgcG9pbnRbMV0pOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg
IGludGVycG9sYXRlKGN1cnJlbnQueCwgY3VycmVudC5uLngsIDEsIHN0cmVhbSk7CisgICAgICAg
IH0KKyAgICAgICAgY3VycmVudCA9IGN1cnJlbnQubjsKKyAgICAgIH0gZWxzZSB7CisgICAgICAg
IGlmIChpc1N1YmplY3QpIHsKKyAgICAgICAgICBwb2ludHMgPSBjdXJyZW50LnAuejsKKyAgICAg
ICAgICBmb3IgKGkgPSBwb2ludHMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHN0cmVhbS5wb2lu
dCgocG9pbnQgPSBwb2ludHNbaV0pWzBdLCBwb2ludFsxXSk7CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgaW50ZXJwb2xhdGUoY3VycmVudC54LCBjdXJyZW50LnAueCwgLTEsIHN0cmVhbSk7
CisgICAgICAgIH0KKyAgICAgICAgY3VycmVudCA9IGN1cnJlbnQucDsKKyAgICAgIH0KKyAgICAg
IGN1cnJlbnQgPSBjdXJyZW50Lm87CisgICAgICBwb2ludHMgPSBjdXJyZW50Lno7CisgICAgICBp
c1N1YmplY3QgPSAhaXNTdWJqZWN0OworICAgIH0gd2hpbGUgKCFjdXJyZW50LnYpOworICAgIHN0
cmVhbS5saW5lRW5kKCk7CisgIH0KK30KKworZnVuY3Rpb24gbGluayQxKGFycmF5KSB7CisgIGlm
ICghKG4gPSBhcnJheS5sZW5ndGgpKSByZXR1cm47CisgIHZhciBuLAorICAgICAgaSA9IDAsCisg
ICAgICBhID0gYXJyYXlbMF0sCisgICAgICBiOworICB3aGlsZSAoKytpIDwgbikgeworICAgIGEu
biA9IGIgPSBhcnJheVtpXTsKKyAgICBiLnAgPSBhOworICAgIGEgPSBiOworICB9CisgIGEubiA9
IGIgPSBhcnJheVswXTsKKyAgYi5wID0gYTsKK30KKwordmFyIHN1bSQxID0gYWRkZXIoKTsKKwor
ZnVuY3Rpb24gbG9uZ2l0dWRlKHBvaW50KSB7CisgIGlmIChhYnMocG9pbnRbMF0pIDw9IHBpJDMp
CisgICAgcmV0dXJuIHBvaW50WzBdOworICBlbHNlCisgICAgcmV0dXJuIHNpZ24ocG9pbnRbMF0p
ICogKChhYnMocG9pbnRbMF0pICsgcGkkMykgJSB0YXUkMyAtIHBpJDMpOworfQorCitmdW5jdGlv
biBwb2x5Z29uQ29udGFpbnMocG9seWdvbiwgcG9pbnQpIHsKKyAgdmFyIGxhbWJkYSA9IGxvbmdp
dHVkZShwb2ludCksCisgICAgICBwaGkgPSBwb2ludFsxXSwKKyAgICAgIHNpblBoaSA9IHNpbiQx
KHBoaSksCisgICAgICBub3JtYWwgPSBbc2luJDEobGFtYmRhKSwgLWNvcyQxKGxhbWJkYSksIDBd
LAorICAgICAgYW5nbGUgPSAwLAorICAgICAgd2luZGluZyA9IDA7CisKKyAgc3VtJDEucmVzZXQo
KTsKKworICBpZiAoc2luUGhpID09PSAxKSBwaGkgPSBoYWxmUGkkMiArIGVwc2lsb24kMjsKKyAg
ZWxzZSBpZiAoc2luUGhpID09PSAtMSkgcGhpID0gLWhhbGZQaSQyIC0gZXBzaWxvbiQyOworCisg
IGZvciAodmFyIGkgPSAwLCBuID0gcG9seWdvbi5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICBp
ZiAoIShtID0gKHJpbmcgPSBwb2x5Z29uW2ldKS5sZW5ndGgpKSBjb250aW51ZTsKKyAgICB2YXIg
cmluZywKKyAgICAgICAgbSwKKyAgICAgICAgcG9pbnQwID0gcmluZ1ttIC0gMV0sCisgICAgICAg
IGxhbWJkYTAgPSBsb25naXR1ZGUocG9pbnQwKSwKKyAgICAgICAgcGhpMCA9IHBvaW50MFsxXSAv
IDIgKyBxdWFydGVyUGksCisgICAgICAgIHNpblBoaTAgPSBzaW4kMShwaGkwKSwKKyAgICAgICAg
Y29zUGhpMCA9IGNvcyQxKHBoaTApOworCisgICAgZm9yICh2YXIgaiA9IDA7IGogPCBtOyArK2os
IGxhbWJkYTAgPSBsYW1iZGExLCBzaW5QaGkwID0gc2luUGhpMSwgY29zUGhpMCA9IGNvc1BoaTEs
IHBvaW50MCA9IHBvaW50MSkgeworICAgICAgdmFyIHBvaW50MSA9IHJpbmdbal0sCisgICAgICAg
ICAgbGFtYmRhMSA9IGxvbmdpdHVkZShwb2ludDEpLAorICAgICAgICAgIHBoaTEgPSBwb2ludDFb
MV0gLyAyICsgcXVhcnRlclBpLAorICAgICAgICAgIHNpblBoaTEgPSBzaW4kMShwaGkxKSwKKyAg
ICAgICAgICBjb3NQaGkxID0gY29zJDEocGhpMSksCisgICAgICAgICAgZGVsdGEgPSBsYW1iZGEx
IC0gbGFtYmRhMCwKKyAgICAgICAgICBzaWduID0gZGVsdGEgPj0gMCA/IDEgOiAtMSwKKyAgICAg
ICAgICBhYnNEZWx0YSA9IHNpZ24gKiBkZWx0YSwKKyAgICAgICAgICBhbnRpbWVyaWRpYW4gPSBh
YnNEZWx0YSA+IHBpJDMsCisgICAgICAgICAgayA9IHNpblBoaTAgKiBzaW5QaGkxOworCisgICAg
ICBzdW0kMS5hZGQoYXRhbjIoayAqIHNpZ24gKiBzaW4kMShhYnNEZWx0YSksIGNvc1BoaTAgKiBj
b3NQaGkxICsgayAqIGNvcyQxKGFic0RlbHRhKSkpOworICAgICAgYW5nbGUgKz0gYW50aW1lcmlk
aWFuID8gZGVsdGEgKyBzaWduICogdGF1JDMgOiBkZWx0YTsKKworICAgICAgLy8gQXJlIHRoZSBs
b25naXR1ZGVzIGVpdGhlciBzaWRlIG9mIHRoZSBwb2ludOKAmXMgbWVyaWRpYW4gKGxhbWJkYSks
CisgICAgICAvLyBhbmQgYXJlIHRoZSBsYXRpdHVkZXMgc21hbGxlciB0aGFuIHRoZSBwYXJhbGxl
bCAocGhpKT8KKyAgICAgIGlmIChhbnRpbWVyaWRpYW4gXiBsYW1iZGEwID49IGxhbWJkYSBeIGxh
bWJkYTEgPj0gbGFtYmRhKSB7CisgICAgICAgIHZhciBhcmMgPSBjYXJ0ZXNpYW5Dcm9zcyhjYXJ0
ZXNpYW4ocG9pbnQwKSwgY2FydGVzaWFuKHBvaW50MSkpOworICAgICAgICBjYXJ0ZXNpYW5Ob3Jt
YWxpemVJblBsYWNlKGFyYyk7CisgICAgICAgIHZhciBpbnRlcnNlY3Rpb24gPSBjYXJ0ZXNpYW5D
cm9zcyhub3JtYWwsIGFyYyk7CisgICAgICAgIGNhcnRlc2lhbk5vcm1hbGl6ZUluUGxhY2UoaW50
ZXJzZWN0aW9uKTsKKyAgICAgICAgdmFyIHBoaUFyYyA9IChhbnRpbWVyaWRpYW4gXiBkZWx0YSA+
PSAwID8gLTEgOiAxKSAqIGFzaW4oaW50ZXJzZWN0aW9uWzJdKTsKKyAgICAgICAgaWYgKHBoaSA+
IHBoaUFyYyB8fCBwaGkgPT09IHBoaUFyYyAmJiAoYXJjWzBdIHx8IGFyY1sxXSkpIHsKKyAgICAg
ICAgICB3aW5kaW5nICs9IGFudGltZXJpZGlhbiBeIGRlbHRhID49IDAgPyAxIDogLTE7CisgICAg
ICAgIH0KKyAgICAgIH0KKyAgICB9CisgIH0KKworICAvLyBGaXJzdCwgZGV0ZXJtaW5lIHdoZXRo
ZXIgdGhlIFNvdXRoIHBvbGUgaXMgaW5zaWRlIG9yIG91dHNpZGU6CisgIC8vCisgIC8vIEl0IGlz
IGluc2lkZSBpZjoKKyAgLy8gKiB0aGUgcG9seWdvbiB3aW5kcyBhcm91bmQgaXQgaW4gYSBjbG9j
a3dpc2UgZGlyZWN0aW9uLgorICAvLyAqIHRoZSBwb2x5Z29uIGRvZXMgbm90IChjdW11bGF0aXZl
bHkpIHdpbmQgYXJvdW5kIGl0LCBidXQgaGFzIGEgbmVnYXRpdmUKKyAgLy8gICAoY291bnRlci1j
bG9ja3dpc2UpIGFyZWEuCisgIC8vCisgIC8vIFNlY29uZCwgY291bnQgdGhlIChzaWduZWQpIG51
bWJlciBvZiB0aW1lcyBhIHNlZ21lbnQgY3Jvc3NlcyBhIGxhbWJkYQorICAvLyBmcm9tIHRoZSBw
b2ludCB0byB0aGUgU291dGggcG9sZS4gIElmIGl0IGlzIHplcm8sIHRoZW4gdGhlIHBvaW50IGlz
IHRoZQorICAvLyBzYW1lIHNpZGUgYXMgdGhlIFNvdXRoIHBvbGUuCisKKyAgcmV0dXJuIChhbmds
ZSA8IC1lcHNpbG9uJDIgfHwgYW5nbGUgPCBlcHNpbG9uJDIgJiYgc3VtJDEgPCAtZXBzaWxvbiQy
KSBeICh3aW5kaW5nICYgMSk7Cit9CisKK2Z1bmN0aW9uIGNsaXAocG9pbnRWaXNpYmxlLCBjbGlw
TGluZSwgaW50ZXJwb2xhdGUsIHN0YXJ0KSB7CisgIHJldHVybiBmdW5jdGlvbihzaW5rKSB7Cisg
ICAgdmFyIGxpbmUgPSBjbGlwTGluZShzaW5rKSwKKyAgICAgICAgcmluZ0J1ZmZlciA9IGNsaXBC
dWZmZXIoKSwKKyAgICAgICAgcmluZ1NpbmsgPSBjbGlwTGluZShyaW5nQnVmZmVyKSwKKyAgICAg
ICAgcG9seWdvblN0YXJ0ZWQgPSBmYWxzZSwKKyAgICAgICAgcG9seWdvbiwKKyAgICAgICAgc2Vn
bWVudHMsCisgICAgICAgIHJpbmc7CisKKyAgICB2YXIgY2xpcCA9IHsKKyAgICAgIHBvaW50OiBw
b2ludCwKKyAgICAgIGxpbmVTdGFydDogbGluZVN0YXJ0LAorICAgICAgbGluZUVuZDogbGluZUVu
ZCwKKyAgICAgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgICAgIGNsaXAucG9pbnQg
PSBwb2ludFJpbmc7CisgICAgICAgIGNsaXAubGluZVN0YXJ0ID0gcmluZ1N0YXJ0OworICAgICAg
ICBjbGlwLmxpbmVFbmQgPSByaW5nRW5kOworICAgICAgICBzZWdtZW50cyA9IFtdOworICAgICAg
ICBwb2x5Z29uID0gW107CisgICAgICB9LAorICAgICAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7
CisgICAgICAgIGNsaXAucG9pbnQgPSBwb2ludDsKKyAgICAgICAgY2xpcC5saW5lU3RhcnQgPSBs
aW5lU3RhcnQ7CisgICAgICAgIGNsaXAubGluZUVuZCA9IGxpbmVFbmQ7CisgICAgICAgIHNlZ21l
bnRzID0gbWVyZ2Uoc2VnbWVudHMpOworICAgICAgICB2YXIgc3RhcnRJbnNpZGUgPSBwb2x5Z29u
Q29udGFpbnMocG9seWdvbiwgc3RhcnQpOworICAgICAgICBpZiAoc2VnbWVudHMubGVuZ3RoKSB7
CisgICAgICAgICAgaWYgKCFwb2x5Z29uU3RhcnRlZCkgc2luay5wb2x5Z29uU3RhcnQoKSwgcG9s
eWdvblN0YXJ0ZWQgPSB0cnVlOworICAgICAgICAgIGNsaXBSZWpvaW4oc2VnbWVudHMsIGNvbXBh
cmVJbnRlcnNlY3Rpb24sIHN0YXJ0SW5zaWRlLCBpbnRlcnBvbGF0ZSwgc2luayk7CisgICAgICAg
IH0gZWxzZSBpZiAoc3RhcnRJbnNpZGUpIHsKKyAgICAgICAgICBpZiAoIXBvbHlnb25TdGFydGVk
KSBzaW5rLnBvbHlnb25TdGFydCgpLCBwb2x5Z29uU3RhcnRlZCA9IHRydWU7CisgICAgICAgICAg
c2luay5saW5lU3RhcnQoKTsKKyAgICAgICAgICBpbnRlcnBvbGF0ZShudWxsLCBudWxsLCAxLCBz
aW5rKTsKKyAgICAgICAgICBzaW5rLmxpbmVFbmQoKTsKKyAgICAgICAgfQorICAgICAgICBpZiAo
cG9seWdvblN0YXJ0ZWQpIHNpbmsucG9seWdvbkVuZCgpLCBwb2x5Z29uU3RhcnRlZCA9IGZhbHNl
OworICAgICAgICBzZWdtZW50cyA9IHBvbHlnb24gPSBudWxsOworICAgICAgfSwKKyAgICAgIHNw
aGVyZTogZnVuY3Rpb24oKSB7CisgICAgICAgIHNpbmsucG9seWdvblN0YXJ0KCk7CisgICAgICAg
IHNpbmsubGluZVN0YXJ0KCk7CisgICAgICAgIGludGVycG9sYXRlKG51bGwsIG51bGwsIDEsIHNp
bmspOworICAgICAgICBzaW5rLmxpbmVFbmQoKTsKKyAgICAgICAgc2luay5wb2x5Z29uRW5kKCk7
CisgICAgICB9CisgICAgfTsKKworICAgIGZ1bmN0aW9uIHBvaW50KGxhbWJkYSwgcGhpKSB7Cisg
ICAgICBpZiAocG9pbnRWaXNpYmxlKGxhbWJkYSwgcGhpKSkgc2luay5wb2ludChsYW1iZGEsIHBo
aSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcG9pbnRMaW5lKGxhbWJkYSwgcGhpKSB7CisgICAg
ICBsaW5lLnBvaW50KGxhbWJkYSwgcGhpKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsaW5lU3Rh
cnQoKSB7CisgICAgICBjbGlwLnBvaW50ID0gcG9pbnRMaW5lOworICAgICAgbGluZS5saW5lU3Rh
cnQoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsaW5lRW5kKCkgeworICAgICAgY2xpcC5wb2lu
dCA9IHBvaW50OworICAgICAgbGluZS5saW5lRW5kKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24g
cG9pbnRSaW5nKGxhbWJkYSwgcGhpKSB7CisgICAgICByaW5nLnB1c2goW2xhbWJkYSwgcGhpXSk7
CisgICAgICByaW5nU2luay5wb2ludChsYW1iZGEsIHBoaSk7CisgICAgfQorCisgICAgZnVuY3Rp
b24gcmluZ1N0YXJ0KCkgeworICAgICAgcmluZ1NpbmsubGluZVN0YXJ0KCk7CisgICAgICByaW5n
ID0gW107CisgICAgfQorCisgICAgZnVuY3Rpb24gcmluZ0VuZCgpIHsKKyAgICAgIHBvaW50Umlu
ZyhyaW5nWzBdWzBdLCByaW5nWzBdWzFdKTsKKyAgICAgIHJpbmdTaW5rLmxpbmVFbmQoKTsKKwor
ICAgICAgdmFyIGNsZWFuID0gcmluZ1NpbmsuY2xlYW4oKSwKKyAgICAgICAgICByaW5nU2VnbWVu
dHMgPSByaW5nQnVmZmVyLnJlc3VsdCgpLAorICAgICAgICAgIGksIG4gPSByaW5nU2VnbWVudHMu
bGVuZ3RoLCBtLAorICAgICAgICAgIHNlZ21lbnQsCisgICAgICAgICAgcG9pbnQ7CisKKyAgICAg
IHJpbmcucG9wKCk7CisgICAgICBwb2x5Z29uLnB1c2gocmluZyk7CisgICAgICByaW5nID0gbnVs
bDsKKworICAgICAgaWYgKCFuKSByZXR1cm47CisKKyAgICAgIC8vIE5vIGludGVyc2VjdGlvbnMu
CisgICAgICBpZiAoY2xlYW4gJiAxKSB7CisgICAgICAgIHNlZ21lbnQgPSByaW5nU2VnbWVudHNb
MF07CisgICAgICAgIGlmICgobSA9IHNlZ21lbnQubGVuZ3RoIC0gMSkgPiAwKSB7CisgICAgICAg
ICAgaWYgKCFwb2x5Z29uU3RhcnRlZCkgc2luay5wb2x5Z29uU3RhcnQoKSwgcG9seWdvblN0YXJ0
ZWQgPSB0cnVlOworICAgICAgICAgIHNpbmsubGluZVN0YXJ0KCk7CisgICAgICAgICAgZm9yIChp
ID0gMDsgaSA8IG07ICsraSkgc2luay5wb2ludCgocG9pbnQgPSBzZWdtZW50W2ldKVswXSwgcG9p
bnRbMV0pOworICAgICAgICAgIHNpbmsubGluZUVuZCgpOworICAgICAgICB9CisgICAgICAgIHJl
dHVybjsKKyAgICAgIH0KKworICAgICAgLy8gUmVqb2luIGNvbm5lY3RlZCBzZWdtZW50cy4KKyAg
ICAgIC8vIFRPRE8gcmV1c2UgcmluZ0J1ZmZlci5yZWpvaW4oKT8KKyAgICAgIGlmIChuID4gMSAm
JiBjbGVhbiAmIDIpIHJpbmdTZWdtZW50cy5wdXNoKHJpbmdTZWdtZW50cy5wb3AoKS5jb25jYXQo
cmluZ1NlZ21lbnRzLnNoaWZ0KCkpKTsKKworICAgICAgc2VnbWVudHMucHVzaChyaW5nU2VnbWVu
dHMuZmlsdGVyKHZhbGlkU2VnbWVudCkpOworICAgIH0KKworICAgIHJldHVybiBjbGlwOworICB9
OworfQorCitmdW5jdGlvbiB2YWxpZFNlZ21lbnQoc2VnbWVudCkgeworICByZXR1cm4gc2VnbWVu
dC5sZW5ndGggPiAxOworfQorCisvLyBJbnRlcnNlY3Rpb25zIGFyZSBzb3J0ZWQgYWxvbmcgdGhl
IGNsaXAgZWRnZS4gRm9yIGJvdGggYW50aW1lcmlkaWFuIGN1dHRpbmcKKy8vIGFuZCBjaXJjbGUg
Y2xpcHBpbmcsIHRoZSBzYW1lIGNvbXBhcmlzb24gaXMgdXNlZC4KK2Z1bmN0aW9uIGNvbXBhcmVJ
bnRlcnNlY3Rpb24oYSwgYikgeworICByZXR1cm4gKChhID0gYS54KVswXSA8IDAgPyBhWzFdIC0g
aGFsZlBpJDIgLSBlcHNpbG9uJDIgOiBoYWxmUGkkMiAtIGFbMV0pCisgICAgICAgLSAoKGIgPSBi
LngpWzBdIDwgMCA/IGJbMV0gLSBoYWxmUGkkMiAtIGVwc2lsb24kMiA6IGhhbGZQaSQyIC0gYlsx
XSk7Cit9CisKK3ZhciBjbGlwQW50aW1lcmlkaWFuID0gY2xpcCgKKyAgZnVuY3Rpb24oKSB7IHJl
dHVybiB0cnVlOyB9LAorICBjbGlwQW50aW1lcmlkaWFuTGluZSwKKyAgY2xpcEFudGltZXJpZGlh
bkludGVycG9sYXRlLAorICBbLXBpJDMsIC1oYWxmUGkkMl0KKyk7CisKKy8vIFRha2VzIGEgbGlu
ZSBhbmQgY3V0cyBpbnRvIHZpc2libGUgc2VnbWVudHMuIFJldHVybiB2YWx1ZXM6IDAgLSB0aGVy
ZSB3ZXJlCisvLyBpbnRlcnNlY3Rpb25zIG9yIHRoZSBsaW5lIHdhcyBlbXB0eTsgMSAtIG5vIGlu
dGVyc2VjdGlvbnM7IDIgLSB0aGVyZSB3ZXJlCisvLyBpbnRlcnNlY3Rpb25zLCBhbmQgdGhlIGZp
cnN0IGFuZCBsYXN0IHNlZ21lbnRzIHNob3VsZCBiZSByZWpvaW5lZC4KK2Z1bmN0aW9uIGNsaXBB
bnRpbWVyaWRpYW5MaW5lKHN0cmVhbSkgeworICB2YXIgbGFtYmRhMCA9IE5hTiwKKyAgICAgIHBo
aTAgPSBOYU4sCisgICAgICBzaWduMCA9IE5hTiwKKyAgICAgIGNsZWFuOyAvLyBubyBpbnRlcnNl
Y3Rpb25zCisKKyAgcmV0dXJuIHsKKyAgICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgICAg
c3RyZWFtLmxpbmVTdGFydCgpOworICAgICAgY2xlYW4gPSAxOworICAgIH0sCisgICAgcG9pbnQ6
IGZ1bmN0aW9uKGxhbWJkYTEsIHBoaTEpIHsKKyAgICAgIHZhciBzaWduMSA9IGxhbWJkYTEgPiAw
ID8gcGkkMyA6IC1waSQzLAorICAgICAgICAgIGRlbHRhID0gYWJzKGxhbWJkYTEgLSBsYW1iZGEw
KTsKKyAgICAgIGlmIChhYnMoZGVsdGEgLSBwaSQzKSA8IGVwc2lsb24kMikgeyAvLyBsaW5lIGNy
b3NzZXMgYSBwb2xlCisgICAgICAgIHN0cmVhbS5wb2ludChsYW1iZGEwLCBwaGkwID0gKHBoaTAg
KyBwaGkxKSAvIDIgPiAwID8gaGFsZlBpJDIgOiAtaGFsZlBpJDIpOworICAgICAgICBzdHJlYW0u
cG9pbnQoc2lnbjAsIHBoaTApOworICAgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAgICAgICBz
dHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICAgIHN0cmVhbS5wb2ludChzaWduMSwgcGhpMCk7Cisg
ICAgICAgIHN0cmVhbS5wb2ludChsYW1iZGExLCBwaGkwKTsKKyAgICAgICAgY2xlYW4gPSAwOwor
ICAgICAgfSBlbHNlIGlmIChzaWduMCAhPT0gc2lnbjEgJiYgZGVsdGEgPj0gcGkkMykgeyAvLyBs
aW5lIGNyb3NzZXMgYW50aW1lcmlkaWFuCisgICAgICAgIGlmIChhYnMobGFtYmRhMCAtIHNpZ24w
KSA8IGVwc2lsb24kMikgbGFtYmRhMCAtPSBzaWduMCAqIGVwc2lsb24kMjsgLy8gaGFuZGxlIGRl
Z2VuZXJhY2llcworICAgICAgICBpZiAoYWJzKGxhbWJkYTEgLSBzaWduMSkgPCBlcHNpbG9uJDIp
IGxhbWJkYTEgLT0gc2lnbjEgKiBlcHNpbG9uJDI7CisgICAgICAgIHBoaTAgPSBjbGlwQW50aW1l
cmlkaWFuSW50ZXJzZWN0KGxhbWJkYTAsIHBoaTAsIGxhbWJkYTEsIHBoaTEpOworICAgICAgICBz
dHJlYW0ucG9pbnQoc2lnbjAsIHBoaTApOworICAgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAg
ICAgICBzdHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICAgIHN0cmVhbS5wb2ludChzaWduMSwgcGhp
MCk7CisgICAgICAgIGNsZWFuID0gMDsKKyAgICAgIH0KKyAgICAgIHN0cmVhbS5wb2ludChsYW1i
ZGEwID0gbGFtYmRhMSwgcGhpMCA9IHBoaTEpOworICAgICAgc2lnbjAgPSBzaWduMTsKKyAgICB9
LAorICAgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgICAgc3RyZWFtLmxpbmVFbmQoKTsKKyAg
ICAgIGxhbWJkYTAgPSBwaGkwID0gTmFOOworICAgIH0sCisgICAgY2xlYW46IGZ1bmN0aW9uKCkg
eworICAgICAgcmV0dXJuIDIgLSBjbGVhbjsgLy8gaWYgaW50ZXJzZWN0aW9ucywgcmVqb2luIGZp
cnN0IGFuZCBsYXN0IHNlZ21lbnRzCisgICAgfQorICB9OworfQorCitmdW5jdGlvbiBjbGlwQW50
aW1lcmlkaWFuSW50ZXJzZWN0KGxhbWJkYTAsIHBoaTAsIGxhbWJkYTEsIHBoaTEpIHsKKyAgdmFy
IGNvc1BoaTAsCisgICAgICBjb3NQaGkxLAorICAgICAgc2luTGFtYmRhMExhbWJkYTEgPSBzaW4k
MShsYW1iZGEwIC0gbGFtYmRhMSk7CisgIHJldHVybiBhYnMoc2luTGFtYmRhMExhbWJkYTEpID4g
ZXBzaWxvbiQyCisgICAgICA/IGF0YW4oKHNpbiQxKHBoaTApICogKGNvc1BoaTEgPSBjb3MkMShw
aGkxKSkgKiBzaW4kMShsYW1iZGExKQorICAgICAgICAgIC0gc2luJDEocGhpMSkgKiAoY29zUGhp
MCA9IGNvcyQxKHBoaTApKSAqIHNpbiQxKGxhbWJkYTApKQorICAgICAgICAgIC8gKGNvc1BoaTAg
KiBjb3NQaGkxICogc2luTGFtYmRhMExhbWJkYTEpKQorICAgICAgOiAocGhpMCArIHBoaTEpIC8g
MjsKK30KKworZnVuY3Rpb24gY2xpcEFudGltZXJpZGlhbkludGVycG9sYXRlKGZyb20sIHRvLCBk
aXJlY3Rpb24sIHN0cmVhbSkgeworICB2YXIgcGhpOworICBpZiAoZnJvbSA9PSBudWxsKSB7Cisg
ICAgcGhpID0gZGlyZWN0aW9uICogaGFsZlBpJDI7CisgICAgc3RyZWFtLnBvaW50KC1waSQzLCBw
aGkpOworICAgIHN0cmVhbS5wb2ludCgwLCBwaGkpOworICAgIHN0cmVhbS5wb2ludChwaSQzLCBw
aGkpOworICAgIHN0cmVhbS5wb2ludChwaSQzLCAwKTsKKyAgICBzdHJlYW0ucG9pbnQocGkkMywg
LXBoaSk7CisgICAgc3RyZWFtLnBvaW50KDAsIC1waGkpOworICAgIHN0cmVhbS5wb2ludCgtcGkk
MywgLXBoaSk7CisgICAgc3RyZWFtLnBvaW50KC1waSQzLCAwKTsKKyAgICBzdHJlYW0ucG9pbnQo
LXBpJDMsIHBoaSk7CisgIH0gZWxzZSBpZiAoYWJzKGZyb21bMF0gLSB0b1swXSkgPiBlcHNpbG9u
JDIpIHsKKyAgICB2YXIgbGFtYmRhID0gZnJvbVswXSA8IHRvWzBdID8gcGkkMyA6IC1waSQzOwor
ICAgIHBoaSA9IGRpcmVjdGlvbiAqIGxhbWJkYSAvIDI7CisgICAgc3RyZWFtLnBvaW50KC1sYW1i
ZGEsIHBoaSk7CisgICAgc3RyZWFtLnBvaW50KDAsIHBoaSk7CisgICAgc3RyZWFtLnBvaW50KGxh
bWJkYSwgcGhpKTsKKyAgfSBlbHNlIHsKKyAgICBzdHJlYW0ucG9pbnQodG9bMF0sIHRvWzFdKTsK
KyAgfQorfQorCitmdW5jdGlvbiBjbGlwQ2lyY2xlKHJhZGl1cykgeworICB2YXIgY3IgPSBjb3Mk
MShyYWRpdXMpLAorICAgICAgZGVsdGEgPSA2ICogcmFkaWFucywKKyAgICAgIHNtYWxsUmFkaXVz
ID0gY3IgPiAwLAorICAgICAgbm90SGVtaXNwaGVyZSA9IGFicyhjcikgPiBlcHNpbG9uJDI7IC8v
IFRPRE8gb3B0aW1pc2UgZm9yIHRoaXMgY29tbW9uIGNhc2UKKworICBmdW5jdGlvbiBpbnRlcnBv
bGF0ZShmcm9tLCB0bywgZGlyZWN0aW9uLCBzdHJlYW0pIHsKKyAgICBjaXJjbGVTdHJlYW0oc3Ry
ZWFtLCByYWRpdXMsIGRlbHRhLCBkaXJlY3Rpb24sIGZyb20sIHRvKTsKKyAgfQorCisgIGZ1bmN0
aW9uIHZpc2libGUobGFtYmRhLCBwaGkpIHsKKyAgICByZXR1cm4gY29zJDEobGFtYmRhKSAqIGNv
cyQxKHBoaSkgPiBjcjsKKyAgfQorCisgIC8vIFRha2VzIGEgbGluZSBhbmQgY3V0cyBpbnRvIHZp
c2libGUgc2VnbWVudHMuIFJldHVybiB2YWx1ZXMgdXNlZCBmb3IgcG9seWdvbgorICAvLyBjbGlw
cGluZzogMCAtIHRoZXJlIHdlcmUgaW50ZXJzZWN0aW9ucyBvciB0aGUgbGluZSB3YXMgZW1wdHk7
IDEgLSBubworICAvLyBpbnRlcnNlY3Rpb25zIDIgLSB0aGVyZSB3ZXJlIGludGVyc2VjdGlvbnMs
IGFuZCB0aGUgZmlyc3QgYW5kIGxhc3Qgc2VnbWVudHMKKyAgLy8gc2hvdWxkIGJlIHJlam9pbmVk
LgorICBmdW5jdGlvbiBjbGlwTGluZShzdHJlYW0pIHsKKyAgICB2YXIgcG9pbnQwLCAvLyBwcmV2
aW91cyBwb2ludAorICAgICAgICBjMCwgLy8gY29kZSBmb3IgcHJldmlvdXMgcG9pbnQKKyAgICAg
ICAgdjAsIC8vIHZpc2liaWxpdHkgb2YgcHJldmlvdXMgcG9pbnQKKyAgICAgICAgdjAwLCAvLyB2
aXNpYmlsaXR5IG9mIGZpcnN0IHBvaW50CisgICAgICAgIGNsZWFuOyAvLyBubyBpbnRlcnNlY3Rp
b25zCisgICAgcmV0dXJuIHsKKyAgICAgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgICAg
IHYwMCA9IHYwID0gZmFsc2U7CisgICAgICAgIGNsZWFuID0gMTsKKyAgICAgIH0sCisgICAgICBw
b2ludDogZnVuY3Rpb24obGFtYmRhLCBwaGkpIHsKKyAgICAgICAgdmFyIHBvaW50MSA9IFtsYW1i
ZGEsIHBoaV0sCisgICAgICAgICAgICBwb2ludDIsCisgICAgICAgICAgICB2ID0gdmlzaWJsZShs
YW1iZGEsIHBoaSksCisgICAgICAgICAgICBjID0gc21hbGxSYWRpdXMKKyAgICAgICAgICAgICAg
PyB2ID8gMCA6IGNvZGUobGFtYmRhLCBwaGkpCisgICAgICAgICAgICAgIDogdiA/IGNvZGUobGFt
YmRhICsgKGxhbWJkYSA8IDAgPyBwaSQzIDogLXBpJDMpLCBwaGkpIDogMDsKKyAgICAgICAgaWYg
KCFwb2ludDAgJiYgKHYwMCA9IHYwID0gdikpIHN0cmVhbS5saW5lU3RhcnQoKTsKKyAgICAgICAg
Ly8gSGFuZGxlIGRlZ2VuZXJhY2llcy4KKyAgICAgICAgLy8gVE9ETyBpZ25vcmUgaWYgbm90IGNs
aXBwaW5nIHBvbHlnb25zLgorICAgICAgICBpZiAodiAhPT0gdjApIHsKKyAgICAgICAgICBwb2lu
dDIgPSBpbnRlcnNlY3QocG9pbnQwLCBwb2ludDEpOworICAgICAgICAgIGlmICghcG9pbnQyIHx8
IHBvaW50RXF1YWwocG9pbnQwLCBwb2ludDIpIHx8IHBvaW50RXF1YWwocG9pbnQxLCBwb2ludDIp
KSB7CisgICAgICAgICAgICBwb2ludDFbMF0gKz0gZXBzaWxvbiQyOworICAgICAgICAgICAgcG9p
bnQxWzFdICs9IGVwc2lsb24kMjsKKyAgICAgICAgICAgIHYgPSB2aXNpYmxlKHBvaW50MVswXSwg
cG9pbnQxWzFdKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKHYgIT09IHYw
KSB7CisgICAgICAgICAgY2xlYW4gPSAwOworICAgICAgICAgIGlmICh2KSB7CisgICAgICAgICAg
ICAvLyBvdXRzaWRlIGdvaW5nIGluCisgICAgICAgICAgICBzdHJlYW0ubGluZVN0YXJ0KCk7Cisg
ICAgICAgICAgICBwb2ludDIgPSBpbnRlcnNlY3QocG9pbnQxLCBwb2ludDApOworICAgICAgICAg
ICAgc3RyZWFtLnBvaW50KHBvaW50MlswXSwgcG9pbnQyWzFdKTsKKyAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgLy8gaW5zaWRlIGdvaW5nIG91dAorICAgICAgICAgICAgcG9pbnQyID0g
aW50ZXJzZWN0KHBvaW50MCwgcG9pbnQxKTsKKyAgICAgICAgICAgIHN0cmVhbS5wb2ludChwb2lu
dDJbMF0sIHBvaW50MlsxXSk7CisgICAgICAgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAgICAg
ICAgIH0KKyAgICAgICAgICBwb2ludDAgPSBwb2ludDI7CisgICAgICAgIH0gZWxzZSBpZiAobm90
SGVtaXNwaGVyZSAmJiBwb2ludDAgJiYgc21hbGxSYWRpdXMgXiB2KSB7CisgICAgICAgICAgdmFy
IHQ7CisgICAgICAgICAgLy8gSWYgdGhlIGNvZGVzIGZvciB0d28gcG9pbnRzIGFyZSBkaWZmZXJl
bnQsIG9yIGFyZSBib3RoIHplcm8sCisgICAgICAgICAgLy8gYW5kIHRoZXJlIHRoaXMgc2VnbWVu
dCBpbnRlcnNlY3RzIHdpdGggdGhlIHNtYWxsIGNpcmNsZS4KKyAgICAgICAgICBpZiAoIShjICYg
YzApICYmICh0ID0gaW50ZXJzZWN0KHBvaW50MSwgcG9pbnQwLCB0cnVlKSkpIHsKKyAgICAgICAg
ICAgIGNsZWFuID0gMDsKKyAgICAgICAgICAgIGlmIChzbWFsbFJhZGl1cykgeworICAgICAgICAg
ICAgICBzdHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICAgICAgICAgIHN0cmVhbS5wb2ludCh0WzBd
WzBdLCB0WzBdWzFdKTsKKyAgICAgICAgICAgICAgc3RyZWFtLnBvaW50KHRbMV1bMF0sIHRbMV1b
MV0pOworICAgICAgICAgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgICAgc3RyZWFtLnBvaW50KHRbMV1bMF0sIHRbMV1bMV0pOworICAgICAg
ICAgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAgICAgICAgICAgICBzdHJlYW0ubGluZVN0YXJ0
KCk7CisgICAgICAgICAgICAgIHN0cmVhbS5wb2ludCh0WzBdWzBdLCB0WzBdWzFdKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKHYgJiYgKCFwb2lu
dDAgfHwgIXBvaW50RXF1YWwocG9pbnQwLCBwb2ludDEpKSkgeworICAgICAgICAgIHN0cmVhbS5w
b2ludChwb2ludDFbMF0sIHBvaW50MVsxXSk7CisgICAgICAgIH0KKyAgICAgICAgcG9pbnQwID0g
cG9pbnQxLCB2MCA9IHYsIGMwID0gYzsKKyAgICAgIH0sCisgICAgICBsaW5lRW5kOiBmdW5jdGlv
bigpIHsKKyAgICAgICAgaWYgKHYwKSBzdHJlYW0ubGluZUVuZCgpOworICAgICAgICBwb2ludDAg
PSBudWxsOworICAgICAgfSwKKyAgICAgIC8vIFJlam9pbiBmaXJzdCBhbmQgbGFzdCBzZWdtZW50
cyBpZiB0aGVyZSB3ZXJlIGludGVyc2VjdGlvbnMgYW5kIHRoZSBmaXJzdAorICAgICAgLy8gYW5k
IGxhc3QgcG9pbnRzIHdlcmUgdmlzaWJsZS4KKyAgICAgIGNsZWFuOiBmdW5jdGlvbigpIHsKKyAg
ICAgICAgcmV0dXJuIGNsZWFuIHwgKCh2MDAgJiYgdjApIDw8IDEpOworICAgICAgfQorICAgIH07
CisgIH0KKworICAvLyBJbnRlcnNlY3RzIHRoZSBncmVhdCBjaXJjbGUgYmV0d2VlbiBhIGFuZCBi
IHdpdGggdGhlIGNsaXAgY2lyY2xlLgorICBmdW5jdGlvbiBpbnRlcnNlY3QoYSwgYiwgdHdvKSB7
CisgICAgdmFyIHBhID0gY2FydGVzaWFuKGEpLAorICAgICAgICBwYiA9IGNhcnRlc2lhbihiKTsK
KworICAgIC8vIFdlIGhhdmUgdHdvIHBsYW5lcywgbjEucCA9IGQxIGFuZCBuMi5wID0gZDIuCisg
ICAgLy8gRmluZCBpbnRlcnNlY3Rpb24gbGluZSBwKHQpID0gYzEgbjEgKyBjMiBuMiArIHQgKG4x
IOKoryBuMikuCisgICAgdmFyIG4xID0gWzEsIDAsIDBdLCAvLyBub3JtYWwKKyAgICAgICAgbjIg
PSBjYXJ0ZXNpYW5Dcm9zcyhwYSwgcGIpLAorICAgICAgICBuMm4yID0gY2FydGVzaWFuRG90KG4y
LCBuMiksCisgICAgICAgIG4xbjIgPSBuMlswXSwgLy8gY2FydGVzaWFuRG90KG4xLCBuMiksCisg
ICAgICAgIGRldGVybWluYW50ID0gbjJuMiAtIG4xbjIgKiBuMW4yOworCisgICAgLy8gVHdvIHBv
bGFyIHBvaW50cy4KKyAgICBpZiAoIWRldGVybWluYW50KSByZXR1cm4gIXR3byAmJiBhOworCisg
ICAgdmFyIGMxID0gIGNyICogbjJuMiAvIGRldGVybWluYW50LAorICAgICAgICBjMiA9IC1jciAq
IG4xbjIgLyBkZXRlcm1pbmFudCwKKyAgICAgICAgbjF4bjIgPSBjYXJ0ZXNpYW5Dcm9zcyhuMSwg
bjIpLAorICAgICAgICBBID0gY2FydGVzaWFuU2NhbGUobjEsIGMxKSwKKyAgICAgICAgQiA9IGNh
cnRlc2lhblNjYWxlKG4yLCBjMik7CisgICAgY2FydGVzaWFuQWRkSW5QbGFjZShBLCBCKTsKKwor
ICAgIC8vIFNvbHZlIHxwKHQpfF4yID0gMS4KKyAgICB2YXIgdSA9IG4xeG4yLAorICAgICAgICB3
ID0gY2FydGVzaWFuRG90KEEsIHUpLAorICAgICAgICB1dSA9IGNhcnRlc2lhbkRvdCh1LCB1KSwK
KyAgICAgICAgdDIgPSB3ICogdyAtIHV1ICogKGNhcnRlc2lhbkRvdChBLCBBKSAtIDEpOworCisg
ICAgaWYgKHQyIDwgMCkgcmV0dXJuOworCisgICAgdmFyIHQgPSBzcXJ0KHQyKSwKKyAgICAgICAg
cSA9IGNhcnRlc2lhblNjYWxlKHUsICgtdyAtIHQpIC8gdXUpOworICAgIGNhcnRlc2lhbkFkZElu
UGxhY2UocSwgQSk7CisgICAgcSA9IHNwaGVyaWNhbChxKTsKKworICAgIGlmICghdHdvKSByZXR1
cm4gcTsKKworICAgIC8vIFR3byBpbnRlcnNlY3Rpb24gcG9pbnRzLgorICAgIHZhciBsYW1iZGEw
ID0gYVswXSwKKyAgICAgICAgbGFtYmRhMSA9IGJbMF0sCisgICAgICAgIHBoaTAgPSBhWzFdLAor
ICAgICAgICBwaGkxID0gYlsxXSwKKyAgICAgICAgejsKKworICAgIGlmIChsYW1iZGExIDwgbGFt
YmRhMCkgeiA9IGxhbWJkYTAsIGxhbWJkYTAgPSBsYW1iZGExLCBsYW1iZGExID0gejsKKworICAg
IHZhciBkZWx0YSA9IGxhbWJkYTEgLSBsYW1iZGEwLAorICAgICAgICBwb2xhciA9IGFicyhkZWx0
YSAtIHBpJDMpIDwgZXBzaWxvbiQyLAorICAgICAgICBtZXJpZGlhbiA9IHBvbGFyIHx8IGRlbHRh
IDwgZXBzaWxvbiQyOworCisgICAgaWYgKCFwb2xhciAmJiBwaGkxIDwgcGhpMCkgeiA9IHBoaTAs
IHBoaTAgPSBwaGkxLCBwaGkxID0gejsKKworICAgIC8vIENoZWNrIHRoYXQgdGhlIGZpcnN0IHBv
aW50IGlzIGJldHdlZW4gYSBhbmQgYi4KKyAgICBpZiAobWVyaWRpYW4KKyAgICAgICAgPyBwb2xh
cgorICAgICAgICAgID8gcGhpMCArIHBoaTEgPiAwIF4gcVsxXSA8IChhYnMocVswXSAtIGxhbWJk
YTApIDwgZXBzaWxvbiQyID8gcGhpMCA6IHBoaTEpCisgICAgICAgICAgOiBwaGkwIDw9IHFbMV0g
JiYgcVsxXSA8PSBwaGkxCisgICAgICAgIDogZGVsdGEgPiBwaSQzIF4gKGxhbWJkYTAgPD0gcVsw
XSAmJiBxWzBdIDw9IGxhbWJkYTEpKSB7CisgICAgICB2YXIgcTEgPSBjYXJ0ZXNpYW5TY2FsZSh1
LCAoLXcgKyB0KSAvIHV1KTsKKyAgICAgIGNhcnRlc2lhbkFkZEluUGxhY2UocTEsIEEpOworICAg
ICAgcmV0dXJuIFtxLCBzcGhlcmljYWwocTEpXTsKKyAgICB9CisgIH0KKworICAvLyBHZW5lcmF0
ZXMgYSA0LWJpdCB2ZWN0b3IgcmVwcmVzZW50aW5nIHRoZSBsb2NhdGlvbiBvZiBhIHBvaW50IHJl
bGF0aXZlIHRvCisgIC8vIHRoZSBzbWFsbCBjaXJjbGUncyBib3VuZGluZyBib3guCisgIGZ1bmN0
aW9uIGNvZGUobGFtYmRhLCBwaGkpIHsKKyAgICB2YXIgciA9IHNtYWxsUmFkaXVzID8gcmFkaXVz
IDogcGkkMyAtIHJhZGl1cywKKyAgICAgICAgY29kZSA9IDA7CisgICAgaWYgKGxhbWJkYSA8IC1y
KSBjb2RlIHw9IDE7IC8vIGxlZnQKKyAgICBlbHNlIGlmIChsYW1iZGEgPiByKSBjb2RlIHw9IDI7
IC8vIHJpZ2h0CisgICAgaWYgKHBoaSA8IC1yKSBjb2RlIHw9IDQ7IC8vIGJlbG93CisgICAgZWxz
ZSBpZiAocGhpID4gcikgY29kZSB8PSA4OyAvLyBhYm92ZQorICAgIHJldHVybiBjb2RlOworICB9
CisKKyAgcmV0dXJuIGNsaXAodmlzaWJsZSwgY2xpcExpbmUsIGludGVycG9sYXRlLCBzbWFsbFJh
ZGl1cyA/IFswLCAtcmFkaXVzXSA6IFstcGkkMywgcmFkaXVzIC0gcGkkM10pOworfQorCitmdW5j
dGlvbiBjbGlwTGluZShhLCBiLCB4MCwgeTAsIHgxLCB5MSkgeworICB2YXIgYXggPSBhWzBdLAor
ICAgICAgYXkgPSBhWzFdLAorICAgICAgYnggPSBiWzBdLAorICAgICAgYnkgPSBiWzFdLAorICAg
ICAgdDAgPSAwLAorICAgICAgdDEgPSAxLAorICAgICAgZHggPSBieCAtIGF4LAorICAgICAgZHkg
PSBieSAtIGF5LAorICAgICAgcjsKKworICByID0geDAgLSBheDsKKyAgaWYgKCFkeCAmJiByID4g
MCkgcmV0dXJuOworICByIC89IGR4OworICBpZiAoZHggPCAwKSB7CisgICAgaWYgKHIgPCB0MCkg
cmV0dXJuOworICAgIGlmIChyIDwgdDEpIHQxID0gcjsKKyAgfSBlbHNlIGlmIChkeCA+IDApIHsK
KyAgICBpZiAociA+IHQxKSByZXR1cm47CisgICAgaWYgKHIgPiB0MCkgdDAgPSByOworICB9CisK
KyAgciA9IHgxIC0gYXg7CisgIGlmICghZHggJiYgciA8IDApIHJldHVybjsKKyAgciAvPSBkeDsK
KyAgaWYgKGR4IDwgMCkgeworICAgIGlmIChyID4gdDEpIHJldHVybjsKKyAgICBpZiAociA+IHQw
KSB0MCA9IHI7CisgIH0gZWxzZSBpZiAoZHggPiAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJu
OworICAgIGlmIChyIDwgdDEpIHQxID0gcjsKKyAgfQorCisgIHIgPSB5MCAtIGF5OworICBpZiAo
IWR5ICYmIHIgPiAwKSByZXR1cm47CisgIHIgLz0gZHk7CisgIGlmIChkeSA8IDApIHsKKyAgICBp
ZiAociA8IHQwKSByZXR1cm47CisgICAgaWYgKHIgPCB0MSkgdDEgPSByOworICB9IGVsc2UgaWYg
KGR5ID4gMCkgeworICAgIGlmIChyID4gdDEpIHJldHVybjsKKyAgICBpZiAociA+IHQwKSB0MCA9
IHI7CisgIH0KKworICByID0geTEgLSBheTsKKyAgaWYgKCFkeSAmJiByIDwgMCkgcmV0dXJuOwor
ICByIC89IGR5OworICBpZiAoZHkgPCAwKSB7CisgICAgaWYgKHIgPiB0MSkgcmV0dXJuOworICAg
IGlmIChyID4gdDApIHQwID0gcjsKKyAgfSBlbHNlIGlmIChkeSA+IDApIHsKKyAgICBpZiAociA8
IHQwKSByZXR1cm47CisgICAgaWYgKHIgPCB0MSkgdDEgPSByOworICB9CisKKyAgaWYgKHQwID4g
MCkgYVswXSA9IGF4ICsgdDAgKiBkeCwgYVsxXSA9IGF5ICsgdDAgKiBkeTsKKyAgaWYgKHQxIDwg
MSkgYlswXSA9IGF4ICsgdDEgKiBkeCwgYlsxXSA9IGF5ICsgdDEgKiBkeTsKKyAgcmV0dXJuIHRy
dWU7Cit9CisKK3ZhciBjbGlwTWF4ID0gMWU5LCBjbGlwTWluID0gLWNsaXBNYXg7CisKKy8vIFRP
RE8gVXNlIGQzLXBvbHlnb27igJlzIHBvbHlnb25Db250YWlucyBoZXJlIGZvciB0aGUgcmluZyBj
aGVjaz8KKy8vIFRPRE8gRWxpbWluYXRlIGR1cGxpY2F0ZSBidWZmZXJpbmcgaW4gY2xpcEJ1ZmZl
ciBhbmQgcG9seWdvbi5wdXNoPworCitmdW5jdGlvbiBjbGlwUmVjdGFuZ2xlKHgwLCB5MCwgeDEs
IHkxKSB7CisKKyAgZnVuY3Rpb24gdmlzaWJsZSh4LCB5KSB7CisgICAgcmV0dXJuIHgwIDw9IHgg
JiYgeCA8PSB4MSAmJiB5MCA8PSB5ICYmIHkgPD0geTE7CisgIH0KKworICBmdW5jdGlvbiBpbnRl
cnBvbGF0ZShmcm9tLCB0bywgZGlyZWN0aW9uLCBzdHJlYW0pIHsKKyAgICB2YXIgYSA9IDAsIGEx
ID0gMDsKKyAgICBpZiAoZnJvbSA9PSBudWxsCisgICAgICAgIHx8IChhID0gY29ybmVyKGZyb20s
IGRpcmVjdGlvbikpICE9PSAoYTEgPSBjb3JuZXIodG8sIGRpcmVjdGlvbikpCisgICAgICAgIHx8
IGNvbXBhcmVQb2ludChmcm9tLCB0bykgPCAwIF4gZGlyZWN0aW9uID4gMCkgeworICAgICAgZG8g
c3RyZWFtLnBvaW50KGEgPT09IDAgfHwgYSA9PT0gMyA/IHgwIDogeDEsIGEgPiAxID8geTEgOiB5
MCk7CisgICAgICB3aGlsZSAoKGEgPSAoYSArIGRpcmVjdGlvbiArIDQpICUgNCkgIT09IGExKTsK
KyAgICB9IGVsc2UgeworICAgICAgc3RyZWFtLnBvaW50KHRvWzBdLCB0b1sxXSk7CisgICAgfQor
ICB9CisKKyAgZnVuY3Rpb24gY29ybmVyKHAsIGRpcmVjdGlvbikgeworICAgIHJldHVybiBhYnMo
cFswXSAtIHgwKSA8IGVwc2lsb24kMiA/IGRpcmVjdGlvbiA+IDAgPyAwIDogMworICAgICAgICA6
IGFicyhwWzBdIC0geDEpIDwgZXBzaWxvbiQyID8gZGlyZWN0aW9uID4gMCA/IDIgOiAxCisgICAg
ICAgIDogYWJzKHBbMV0gLSB5MCkgPCBlcHNpbG9uJDIgPyBkaXJlY3Rpb24gPiAwID8gMSA6IDAK
KyAgICAgICAgOiBkaXJlY3Rpb24gPiAwID8gMyA6IDI7IC8vIGFicyhwWzFdIC0geTEpIDwgZXBz
aWxvbgorICB9CisKKyAgZnVuY3Rpb24gY29tcGFyZUludGVyc2VjdGlvbihhLCBiKSB7CisgICAg
cmV0dXJuIGNvbXBhcmVQb2ludChhLngsIGIueCk7CisgIH0KKworICBmdW5jdGlvbiBjb21wYXJl
UG9pbnQoYSwgYikgeworICAgIHZhciBjYSA9IGNvcm5lcihhLCAxKSwKKyAgICAgICAgY2IgPSBj
b3JuZXIoYiwgMSk7CisgICAgcmV0dXJuIGNhICE9PSBjYiA/IGNhIC0gY2IKKyAgICAgICAgOiBj
YSA9PT0gMCA/IGJbMV0gLSBhWzFdCisgICAgICAgIDogY2EgPT09IDEgPyBhWzBdIC0gYlswXQor
ICAgICAgICA6IGNhID09PSAyID8gYVsxXSAtIGJbMV0KKyAgICAgICAgOiBiWzBdIC0gYVswXTsK
KyAgfQorCisgIHJldHVybiBmdW5jdGlvbihzdHJlYW0pIHsKKyAgICB2YXIgYWN0aXZlU3RyZWFt
ID0gc3RyZWFtLAorICAgICAgICBidWZmZXJTdHJlYW0gPSBjbGlwQnVmZmVyKCksCisgICAgICAg
IHNlZ21lbnRzLAorICAgICAgICBwb2x5Z29uLAorICAgICAgICByaW5nLAorICAgICAgICB4X18s
IHlfXywgdl9fLCAvLyBmaXJzdCBwb2ludAorICAgICAgICB4XywgeV8sIHZfLCAvLyBwcmV2aW91
cyBwb2ludAorICAgICAgICBmaXJzdCwKKyAgICAgICAgY2xlYW47CisKKyAgICB2YXIgY2xpcFN0
cmVhbSA9IHsKKyAgICAgIHBvaW50OiBwb2ludCwKKyAgICAgIGxpbmVTdGFydDogbGluZVN0YXJ0
LAorICAgICAgbGluZUVuZDogbGluZUVuZCwKKyAgICAgIHBvbHlnb25TdGFydDogcG9seWdvblN0
YXJ0LAorICAgICAgcG9seWdvbkVuZDogcG9seWdvbkVuZAorICAgIH07CisKKyAgICBmdW5jdGlv
biBwb2ludCh4LCB5KSB7CisgICAgICBpZiAodmlzaWJsZSh4LCB5KSkgYWN0aXZlU3RyZWFtLnBv
aW50KHgsIHkpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHBvbHlnb25JbnNpZGUoKSB7CisgICAg
ICB2YXIgd2luZGluZyA9IDA7CisKKyAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gcG9seWdvbi5s
ZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICAgICAgZm9yICh2YXIgcmluZyA9IHBvbHlnb25baV0s
IGogPSAxLCBtID0gcmluZy5sZW5ndGgsIHBvaW50ID0gcmluZ1swXSwgYTAsIGExLCBiMCA9IHBv
aW50WzBdLCBiMSA9IHBvaW50WzFdOyBqIDwgbTsgKytqKSB7CisgICAgICAgICAgYTAgPSBiMCwg
YTEgPSBiMSwgcG9pbnQgPSByaW5nW2pdLCBiMCA9IHBvaW50WzBdLCBiMSA9IHBvaW50WzFdOwor
ICAgICAgICAgIGlmIChhMSA8PSB5MSkgeyBpZiAoYjEgPiB5MSAmJiAoYjAgLSBhMCkgKiAoeTEg
LSBhMSkgPiAoYjEgLSBhMSkgKiAoeDAgLSBhMCkpICsrd2luZGluZzsgfQorICAgICAgICAgIGVs
c2UgeyBpZiAoYjEgPD0geTEgJiYgKGIwIC0gYTApICogKHkxIC0gYTEpIDwgKGIxIC0gYTEpICog
KHgwIC0gYTApKSAtLXdpbmRpbmc7IH0KKyAgICAgICAgfQorICAgICAgfQorCisgICAgICByZXR1
cm4gd2luZGluZzsKKyAgICB9CisKKyAgICAvLyBCdWZmZXIgZ2VvbWV0cnkgd2l0aGluIGEgcG9s
eWdvbiBhbmQgdGhlbiBjbGlwIGl0IGVuIG1hc3NlLgorICAgIGZ1bmN0aW9uIHBvbHlnb25TdGFy
dCgpIHsKKyAgICAgIGFjdGl2ZVN0cmVhbSA9IGJ1ZmZlclN0cmVhbSwgc2VnbWVudHMgPSBbXSwg
cG9seWdvbiA9IFtdLCBjbGVhbiA9IHRydWU7CisgICAgfQorCisgICAgZnVuY3Rpb24gcG9seWdv
bkVuZCgpIHsKKyAgICAgIHZhciBzdGFydEluc2lkZSA9IHBvbHlnb25JbnNpZGUoKSwKKyAgICAg
ICAgICBjbGVhbkluc2lkZSA9IGNsZWFuICYmIHN0YXJ0SW5zaWRlLAorICAgICAgICAgIHZpc2li
bGUgPSAoc2VnbWVudHMgPSBtZXJnZShzZWdtZW50cykpLmxlbmd0aDsKKyAgICAgIGlmIChjbGVh
bkluc2lkZSB8fCB2aXNpYmxlKSB7CisgICAgICAgIHN0cmVhbS5wb2x5Z29uU3RhcnQoKTsKKyAg
ICAgICAgaWYgKGNsZWFuSW5zaWRlKSB7CisgICAgICAgICAgc3RyZWFtLmxpbmVTdGFydCgpOwor
ICAgICAgICAgIGludGVycG9sYXRlKG51bGwsIG51bGwsIDEsIHN0cmVhbSk7CisgICAgICAgICAg
c3RyZWFtLmxpbmVFbmQoKTsKKyAgICAgICAgfQorICAgICAgICBpZiAodmlzaWJsZSkgeworICAg
ICAgICAgIGNsaXBSZWpvaW4oc2VnbWVudHMsIGNvbXBhcmVJbnRlcnNlY3Rpb24sIHN0YXJ0SW5z
aWRlLCBpbnRlcnBvbGF0ZSwgc3RyZWFtKTsKKyAgICAgICAgfQorICAgICAgICBzdHJlYW0ucG9s
eWdvbkVuZCgpOworICAgICAgfQorICAgICAgYWN0aXZlU3RyZWFtID0gc3RyZWFtLCBzZWdtZW50
cyA9IHBvbHlnb24gPSByaW5nID0gbnVsbDsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsaW5lU3Rh
cnQoKSB7CisgICAgICBjbGlwU3RyZWFtLnBvaW50ID0gbGluZVBvaW50OworICAgICAgaWYgKHBv
bHlnb24pIHBvbHlnb24ucHVzaChyaW5nID0gW10pOworICAgICAgZmlyc3QgPSB0cnVlOworICAg
ICAgdl8gPSBmYWxzZTsKKyAgICAgIHhfID0geV8gPSBOYU47CisgICAgfQorCisgICAgLy8gVE9E
TyByYXRoZXIgdGhhbiBzcGVjaWFsLWNhc2UgcG9seWdvbnMsIHNpbXBseSBoYW5kbGUgdGhlbSBz
ZXBhcmF0ZWx5LgorICAgIC8vIElkZWFsbHksIGNvaW5jaWRlbnQgaW50ZXJzZWN0aW9uIHBvaW50
cyBzaG91bGQgYmUgaml0dGVyZWQgdG8gYXZvaWQKKyAgICAvLyBjbGlwcGluZyBpc3N1ZXMuCisg
ICAgZnVuY3Rpb24gbGluZUVuZCgpIHsKKyAgICAgIGlmIChzZWdtZW50cykgeworICAgICAgICBs
aW5lUG9pbnQoeF9fLCB5X18pOworICAgICAgICBpZiAodl9fICYmIHZfKSBidWZmZXJTdHJlYW0u
cmVqb2luKCk7CisgICAgICAgIHNlZ21lbnRzLnB1c2goYnVmZmVyU3RyZWFtLnJlc3VsdCgpKTsK
KyAgICAgIH0KKyAgICAgIGNsaXBTdHJlYW0ucG9pbnQgPSBwb2ludDsKKyAgICAgIGlmICh2Xykg
YWN0aXZlU3RyZWFtLmxpbmVFbmQoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsaW5lUG9pbnQo
eCwgeSkgeworICAgICAgdmFyIHYgPSB2aXNpYmxlKHgsIHkpOworICAgICAgaWYgKHBvbHlnb24p
IHJpbmcucHVzaChbeCwgeV0pOworICAgICAgaWYgKGZpcnN0KSB7CisgICAgICAgIHhfXyA9IHgs
IHlfXyA9IHksIHZfXyA9IHY7CisgICAgICAgIGZpcnN0ID0gZmFsc2U7CisgICAgICAgIGlmICh2
KSB7CisgICAgICAgICAgYWN0aXZlU3RyZWFtLmxpbmVTdGFydCgpOworICAgICAgICAgIGFjdGl2
ZVN0cmVhbS5wb2ludCh4LCB5KTsKKyAgICAgICAgfQorICAgICAgfSBlbHNlIHsKKyAgICAgICAg
aWYgKHYgJiYgdl8pIGFjdGl2ZVN0cmVhbS5wb2ludCh4LCB5KTsKKyAgICAgICAgZWxzZSB7Cisg
ICAgICAgICAgdmFyIGEgPSBbeF8gPSBNYXRoLm1heChjbGlwTWluLCBNYXRoLm1pbihjbGlwTWF4
LCB4XykpLCB5XyA9IE1hdGgubWF4KGNsaXBNaW4sIE1hdGgubWluKGNsaXBNYXgsIHlfKSldLAor
ICAgICAgICAgICAgICBiID0gW3ggPSBNYXRoLm1heChjbGlwTWluLCBNYXRoLm1pbihjbGlwTWF4
LCB4KSksIHkgPSBNYXRoLm1heChjbGlwTWluLCBNYXRoLm1pbihjbGlwTWF4LCB5KSldOworICAg
ICAgICAgIGlmIChjbGlwTGluZShhLCBiLCB4MCwgeTAsIHgxLCB5MSkpIHsKKyAgICAgICAgICAg
IGlmICghdl8pIHsKKyAgICAgICAgICAgICAgYWN0aXZlU3RyZWFtLmxpbmVTdGFydCgpOworICAg
ICAgICAgICAgICBhY3RpdmVTdHJlYW0ucG9pbnQoYVswXSwgYVsxXSk7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBhY3RpdmVTdHJlYW0ucG9pbnQoYlswXSwgYlsxXSk7CisgICAgICAgICAg
ICBpZiAoIXYpIGFjdGl2ZVN0cmVhbS5saW5lRW5kKCk7CisgICAgICAgICAgICBjbGVhbiA9IGZh
bHNlOworICAgICAgICAgIH0gZWxzZSBpZiAodikgeworICAgICAgICAgICAgYWN0aXZlU3RyZWFt
LmxpbmVTdGFydCgpOworICAgICAgICAgICAgYWN0aXZlU3RyZWFtLnBvaW50KHgsIHkpOworICAg
ICAgICAgICAgY2xlYW4gPSBmYWxzZTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0K
KyAgICAgIHhfID0geCwgeV8gPSB5LCB2XyA9IHY7CisgICAgfQorCisgICAgcmV0dXJuIGNsaXBT
dHJlYW07CisgIH07Cit9CisKK2Z1bmN0aW9uIGV4dGVudCQxKCkgeworICB2YXIgeDAgPSAwLAor
ICAgICAgeTAgPSAwLAorICAgICAgeDEgPSA5NjAsCisgICAgICB5MSA9IDUwMCwKKyAgICAgIGNh
Y2hlLAorICAgICAgY2FjaGVTdHJlYW0sCisgICAgICBjbGlwOworCisgIHJldHVybiBjbGlwID0g
eworICAgIHN0cmVhbTogZnVuY3Rpb24oc3RyZWFtKSB7CisgICAgICByZXR1cm4gY2FjaGUgJiYg
Y2FjaGVTdHJlYW0gPT09IHN0cmVhbSA/IGNhY2hlIDogY2FjaGUgPSBjbGlwUmVjdGFuZ2xlKHgw
LCB5MCwgeDEsIHkxKShjYWNoZVN0cmVhbSA9IHN0cmVhbSk7CisgICAgfSwKKyAgICBleHRlbnQ6
IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHgwID0gK19b
MF1bMF0sIHkwID0gK19bMF1bMV0sIHgxID0gK19bMV1bMF0sIHkxID0gK19bMV1bMV0sIGNhY2hl
ID0gY2FjaGVTdHJlYW0gPSBudWxsLCBjbGlwKSA6IFtbeDAsIHkwXSwgW3gxLCB5MV1dOworICAg
IH0KKyAgfTsKK30KKwordmFyIGxlbmd0aFN1bSA9IGFkZGVyKCksCisgICAgbGFtYmRhMCQyLAor
ICAgIHNpblBoaTAkMSwKKyAgICBjb3NQaGkwJDE7CisKK3ZhciBsZW5ndGhTdHJlYW0gPSB7Cisg
IHNwaGVyZTogbm9vcCQyLAorICBwb2ludDogbm9vcCQyLAorICBsaW5lU3RhcnQ6IGxlbmd0aExp
bmVTdGFydCwKKyAgbGluZUVuZDogbm9vcCQyLAorICBwb2x5Z29uU3RhcnQ6IG5vb3AkMiwKKyAg
cG9seWdvbkVuZDogbm9vcCQyCit9OworCitmdW5jdGlvbiBsZW5ndGhMaW5lU3RhcnQoKSB7Cisg
IGxlbmd0aFN0cmVhbS5wb2ludCA9IGxlbmd0aFBvaW50Rmlyc3Q7CisgIGxlbmd0aFN0cmVhbS5s
aW5lRW5kID0gbGVuZ3RoTGluZUVuZDsKK30KKworZnVuY3Rpb24gbGVuZ3RoTGluZUVuZCgpIHsK
KyAgbGVuZ3RoU3RyZWFtLnBvaW50ID0gbGVuZ3RoU3RyZWFtLmxpbmVFbmQgPSBub29wJDI7Cit9
CisKK2Z1bmN0aW9uIGxlbmd0aFBvaW50Rmlyc3QobGFtYmRhLCBwaGkpIHsKKyAgbGFtYmRhICo9
IHJhZGlhbnMsIHBoaSAqPSByYWRpYW5zOworICBsYW1iZGEwJDIgPSBsYW1iZGEsIHNpblBoaTAk
MSA9IHNpbiQxKHBoaSksIGNvc1BoaTAkMSA9IGNvcyQxKHBoaSk7CisgIGxlbmd0aFN0cmVhbS5w
b2ludCA9IGxlbmd0aFBvaW50OworfQorCitmdW5jdGlvbiBsZW5ndGhQb2ludChsYW1iZGEsIHBo
aSkgeworICBsYW1iZGEgKj0gcmFkaWFucywgcGhpICo9IHJhZGlhbnM7CisgIHZhciBzaW5QaGkg
PSBzaW4kMShwaGkpLAorICAgICAgY29zUGhpID0gY29zJDEocGhpKSwKKyAgICAgIGRlbHRhID0g
YWJzKGxhbWJkYSAtIGxhbWJkYTAkMiksCisgICAgICBjb3NEZWx0YSA9IGNvcyQxKGRlbHRhKSwK
KyAgICAgIHNpbkRlbHRhID0gc2luJDEoZGVsdGEpLAorICAgICAgeCA9IGNvc1BoaSAqIHNpbkRl
bHRhLAorICAgICAgeSA9IGNvc1BoaTAkMSAqIHNpblBoaSAtIHNpblBoaTAkMSAqIGNvc1BoaSAq
IGNvc0RlbHRhLAorICAgICAgeiA9IHNpblBoaTAkMSAqIHNpblBoaSArIGNvc1BoaTAkMSAqIGNv
c1BoaSAqIGNvc0RlbHRhOworICBsZW5ndGhTdW0uYWRkKGF0YW4yKHNxcnQoeCAqIHggKyB5ICog
eSksIHopKTsKKyAgbGFtYmRhMCQyID0gbGFtYmRhLCBzaW5QaGkwJDEgPSBzaW5QaGksIGNvc1Bo
aTAkMSA9IGNvc1BoaTsKK30KKworZnVuY3Rpb24gbGVuZ3RoJDEob2JqZWN0KSB7CisgIGxlbmd0
aFN1bS5yZXNldCgpOworICBnZW9TdHJlYW0ob2JqZWN0LCBsZW5ndGhTdHJlYW0pOworICByZXR1
cm4gK2xlbmd0aFN1bTsKK30KKwordmFyIGNvb3JkaW5hdGVzID0gW251bGwsIG51bGxdLAorICAg
IG9iamVjdCQxID0ge3R5cGU6ICJMaW5lU3RyaW5nIiwgY29vcmRpbmF0ZXM6IGNvb3JkaW5hdGVz
fTsKKworZnVuY3Rpb24gZGlzdGFuY2UoYSwgYikgeworICBjb29yZGluYXRlc1swXSA9IGE7Cisg
IGNvb3JkaW5hdGVzWzFdID0gYjsKKyAgcmV0dXJuIGxlbmd0aCQxKG9iamVjdCQxKTsKK30KKwor
dmFyIGNvbnRhaW5zT2JqZWN0VHlwZSA9IHsKKyAgRmVhdHVyZTogZnVuY3Rpb24ob2JqZWN0LCBw
b2ludCkgeworICAgIHJldHVybiBjb250YWluc0dlb21ldHJ5KG9iamVjdC5nZW9tZXRyeSwgcG9p
bnQpOworICB9LAorICBGZWF0dXJlQ29sbGVjdGlvbjogZnVuY3Rpb24ob2JqZWN0LCBwb2ludCkg
eworICAgIHZhciBmZWF0dXJlcyA9IG9iamVjdC5mZWF0dXJlcywgaSA9IC0xLCBuID0gZmVhdHVy
ZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBpZiAoY29udGFpbnNHZW9tZXRyeShmZWF0
dXJlc1tpXS5nZW9tZXRyeSwgcG9pbnQpKSByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7
CisgIH0KK307CisKK3ZhciBjb250YWluc0dlb21ldHJ5VHlwZSA9IHsKKyAgU3BoZXJlOiBmdW5j
dGlvbigpIHsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfSwKKyAgUG9pbnQ6IGZ1bmN0aW9uKG9iamVj
dCwgcG9pbnQpIHsKKyAgICByZXR1cm4gY29udGFpbnNQb2ludChvYmplY3QuY29vcmRpbmF0ZXMs
IHBvaW50KTsKKyAgfSwKKyAgTXVsdGlQb2ludDogZnVuY3Rpb24ob2JqZWN0LCBwb2ludCkgewor
ICAgIHZhciBjb29yZGluYXRlcyA9IG9iamVjdC5jb29yZGluYXRlcywgaSA9IC0xLCBuID0gY29v
cmRpbmF0ZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBpZiAoY29udGFpbnNQb2ludChj
b29yZGluYXRlc1tpXSwgcG9pbnQpKSByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7Cisg
IH0sCisgIExpbmVTdHJpbmc6IGZ1bmN0aW9uKG9iamVjdCwgcG9pbnQpIHsKKyAgICByZXR1cm4g
Y29udGFpbnNMaW5lKG9iamVjdC5jb29yZGluYXRlcywgcG9pbnQpOworICB9LAorICBNdWx0aUxp
bmVTdHJpbmc6IGZ1bmN0aW9uKG9iamVjdCwgcG9pbnQpIHsKKyAgICB2YXIgY29vcmRpbmF0ZXMg
PSBvYmplY3QuY29vcmRpbmF0ZXMsIGkgPSAtMSwgbiA9IGNvb3JkaW5hdGVzLmxlbmd0aDsKKyAg
ICB3aGlsZSAoKytpIDwgbikgaWYgKGNvbnRhaW5zTGluZShjb29yZGluYXRlc1tpXSwgcG9pbnQp
KSByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0sCisgIFBvbHlnb246IGZ1bmN0
aW9uKG9iamVjdCwgcG9pbnQpIHsKKyAgICByZXR1cm4gY29udGFpbnNQb2x5Z29uKG9iamVjdC5j
b29yZGluYXRlcywgcG9pbnQpOworICB9LAorICBNdWx0aVBvbHlnb246IGZ1bmN0aW9uKG9iamVj
dCwgcG9pbnQpIHsKKyAgICB2YXIgY29vcmRpbmF0ZXMgPSBvYmplY3QuY29vcmRpbmF0ZXMsIGkg
PSAtMSwgbiA9IGNvb3JkaW5hdGVzLmxlbmd0aDsKKyAgICB3aGlsZSAoKytpIDwgbikgaWYgKGNv
bnRhaW5zUG9seWdvbihjb29yZGluYXRlc1tpXSwgcG9pbnQpKSByZXR1cm4gdHJ1ZTsKKyAgICBy
ZXR1cm4gZmFsc2U7CisgIH0sCisgIEdlb21ldHJ5Q29sbGVjdGlvbjogZnVuY3Rpb24ob2JqZWN0
LCBwb2ludCkgeworICAgIHZhciBnZW9tZXRyaWVzID0gb2JqZWN0Lmdlb21ldHJpZXMsIGkgPSAt
MSwgbiA9IGdlb21ldHJpZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBpZiAoY29udGFp
bnNHZW9tZXRyeShnZW9tZXRyaWVzW2ldLCBwb2ludCkpIHJldHVybiB0cnVlOworICAgIHJldHVy
biBmYWxzZTsKKyAgfQorfTsKKworZnVuY3Rpb24gY29udGFpbnNHZW9tZXRyeShnZW9tZXRyeSwg
cG9pbnQpIHsKKyAgcmV0dXJuIGdlb21ldHJ5ICYmIGNvbnRhaW5zR2VvbWV0cnlUeXBlLmhhc093
blByb3BlcnR5KGdlb21ldHJ5LnR5cGUpCisgICAgICA/IGNvbnRhaW5zR2VvbWV0cnlUeXBlW2dl
b21ldHJ5LnR5cGVdKGdlb21ldHJ5LCBwb2ludCkKKyAgICAgIDogZmFsc2U7Cit9CisKK2Z1bmN0
aW9uIGNvbnRhaW5zUG9pbnQoY29vcmRpbmF0ZXMsIHBvaW50KSB7CisgIHJldHVybiBkaXN0YW5j
ZShjb29yZGluYXRlcywgcG9pbnQpID09PSAwOworfQorCitmdW5jdGlvbiBjb250YWluc0xpbmUo
Y29vcmRpbmF0ZXMsIHBvaW50KSB7CisgIHZhciBhbywgYm8sIGFiOworICBmb3IgKHZhciBpID0g
MCwgbiA9IGNvb3JkaW5hdGVzLmxlbmd0aDsgaSA8IG47IGkrKykgeworICAgIGJvID0gZGlzdGFu
Y2UoY29vcmRpbmF0ZXNbaV0sIHBvaW50KTsKKyAgICBpZiAoYm8gPT09IDApIHJldHVybiB0cnVl
OworICAgIGlmIChpID4gMCkgeworICAgICAgYWIgPSBkaXN0YW5jZShjb29yZGluYXRlc1tpXSwg
Y29vcmRpbmF0ZXNbaSAtIDFdKTsKKyAgICAgIGlmICgKKyAgICAgICAgYWIgPiAwICYmCisgICAg
ICAgIGFvIDw9IGFiICYmCisgICAgICAgIGJvIDw9IGFiICYmCisgICAgICAgIChhbyArIGJvIC0g
YWIpICogKDEgLSBNYXRoLnBvdygoYW8gLSBibykgLyBhYiwgMikpIDwgZXBzaWxvbjIkMSAqIGFi
CisgICAgICApCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBhbyA9IGJvOworICB9
CisgIHJldHVybiBmYWxzZTsKK30KKworZnVuY3Rpb24gY29udGFpbnNQb2x5Z29uKGNvb3JkaW5h
dGVzLCBwb2ludCkgeworICByZXR1cm4gISFwb2x5Z29uQ29udGFpbnMoY29vcmRpbmF0ZXMubWFw
KHJpbmdSYWRpYW5zKSwgcG9pbnRSYWRpYW5zKHBvaW50KSk7Cit9CisKK2Z1bmN0aW9uIHJpbmdS
YWRpYW5zKHJpbmcpIHsKKyAgcmV0dXJuIHJpbmcgPSByaW5nLm1hcChwb2ludFJhZGlhbnMpLCBy
aW5nLnBvcCgpLCByaW5nOworfQorCitmdW5jdGlvbiBwb2ludFJhZGlhbnMocG9pbnQpIHsKKyAg
cmV0dXJuIFtwb2ludFswXSAqIHJhZGlhbnMsIHBvaW50WzFdICogcmFkaWFuc107Cit9CisKK2Z1
bmN0aW9uIGNvbnRhaW5zJDEob2JqZWN0LCBwb2ludCkgeworICByZXR1cm4gKG9iamVjdCAmJiBj
b250YWluc09iamVjdFR5cGUuaGFzT3duUHJvcGVydHkob2JqZWN0LnR5cGUpCisgICAgICA/IGNv
bnRhaW5zT2JqZWN0VHlwZVtvYmplY3QudHlwZV0KKyAgICAgIDogY29udGFpbnNHZW9tZXRyeSko
b2JqZWN0LCBwb2ludCk7Cit9CisKK2Z1bmN0aW9uIGdyYXRpY3VsZVgoeTAsIHkxLCBkeSkgewor
ICB2YXIgeSA9IHNlcXVlbmNlKHkwLCB5MSAtIGVwc2lsb24kMiwgZHkpLmNvbmNhdCh5MSk7Cisg
IHJldHVybiBmdW5jdGlvbih4KSB7IHJldHVybiB5Lm1hcChmdW5jdGlvbih5KSB7IHJldHVybiBb
eCwgeV07IH0pOyB9OworfQorCitmdW5jdGlvbiBncmF0aWN1bGVZKHgwLCB4MSwgZHgpIHsKKyAg
dmFyIHggPSBzZXF1ZW5jZSh4MCwgeDEgLSBlcHNpbG9uJDIsIGR4KS5jb25jYXQoeDEpOworICBy
ZXR1cm4gZnVuY3Rpb24oeSkgeyByZXR1cm4geC5tYXAoZnVuY3Rpb24oeCkgeyByZXR1cm4gW3gs
IHldOyB9KTsgfTsKK30KKworZnVuY3Rpb24gZ3JhdGljdWxlKCkgeworICB2YXIgeDEsIHgwLCBY
MSwgWDAsCisgICAgICB5MSwgeTAsIFkxLCBZMCwKKyAgICAgIGR4ID0gMTAsIGR5ID0gZHgsIERY
ID0gOTAsIERZID0gMzYwLAorICAgICAgeCwgeSwgWCwgWSwKKyAgICAgIHByZWNpc2lvbiA9IDIu
NTsKKworICBmdW5jdGlvbiBncmF0aWN1bGUoKSB7CisgICAgcmV0dXJuIHt0eXBlOiAiTXVsdGlM
aW5lU3RyaW5nIiwgY29vcmRpbmF0ZXM6IGxpbmVzKCl9OworICB9CisKKyAgZnVuY3Rpb24gbGlu
ZXMoKSB7CisgICAgcmV0dXJuIHNlcXVlbmNlKGNlaWwoWDAgLyBEWCkgKiBEWCwgWDEsIERYKS5t
YXAoWCkKKyAgICAgICAgLmNvbmNhdChzZXF1ZW5jZShjZWlsKFkwIC8gRFkpICogRFksIFkxLCBE
WSkubWFwKFkpKQorICAgICAgICAuY29uY2F0KHNlcXVlbmNlKGNlaWwoeDAgLyBkeCkgKiBkeCwg
eDEsIGR4KS5maWx0ZXIoZnVuY3Rpb24oeCkgeyByZXR1cm4gYWJzKHggJSBEWCkgPiBlcHNpbG9u
JDI7IH0pLm1hcCh4KSkKKyAgICAgICAgLmNvbmNhdChzZXF1ZW5jZShjZWlsKHkwIC8gZHkpICog
ZHksIHkxLCBkeSkuZmlsdGVyKGZ1bmN0aW9uKHkpIHsgcmV0dXJuIGFicyh5ICUgRFkpID4gZXBz
aWxvbiQyOyB9KS5tYXAoeSkpOworICB9CisKKyAgZ3JhdGljdWxlLmxpbmVzID0gZnVuY3Rpb24o
KSB7CisgICAgcmV0dXJuIGxpbmVzKCkubWFwKGZ1bmN0aW9uKGNvb3JkaW5hdGVzKSB7IHJldHVy
biB7dHlwZTogIkxpbmVTdHJpbmciLCBjb29yZGluYXRlczogY29vcmRpbmF0ZXN9OyB9KTsKKyAg
fTsKKworICBncmF0aWN1bGUub3V0bGluZSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB7Cisg
ICAgICB0eXBlOiAiUG9seWdvbiIsCisgICAgICBjb29yZGluYXRlczogWworICAgICAgICBYKFgw
KS5jb25jYXQoCisgICAgICAgIFkoWTEpLnNsaWNlKDEpLAorICAgICAgICBYKFgxKS5yZXZlcnNl
KCkuc2xpY2UoMSksCisgICAgICAgIFkoWTApLnJldmVyc2UoKS5zbGljZSgxKSkKKyAgICAgIF0K
KyAgICB9OworICB9OworCisgIGdyYXRpY3VsZS5leHRlbnQgPSBmdW5jdGlvbihfKSB7CisgICAg
aWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gZ3JhdGljdWxlLmV4dGVudE1pbm9yKCk7Cisg
ICAgcmV0dXJuIGdyYXRpY3VsZS5leHRlbnRNYWpvcihfKS5leHRlbnRNaW5vcihfKTsKKyAgfTsK
KworICBncmF0aWN1bGUuZXh0ZW50TWFqb3IgPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1
bWVudHMubGVuZ3RoKSByZXR1cm4gW1tYMCwgWTBdLCBbWDEsIFkxXV07CisgICAgWDAgPSArX1sw
XVswXSwgWDEgPSArX1sxXVswXTsKKyAgICBZMCA9ICtfWzBdWzFdLCBZMSA9ICtfWzFdWzFdOwor
ICAgIGlmIChYMCA+IFgxKSBfID0gWDAsIFgwID0gWDEsIFgxID0gXzsKKyAgICBpZiAoWTAgPiBZ
MSkgXyA9IFkwLCBZMCA9IFkxLCBZMSA9IF87CisgICAgcmV0dXJuIGdyYXRpY3VsZS5wcmVjaXNp
b24ocHJlY2lzaW9uKTsKKyAgfTsKKworICBncmF0aWN1bGUuZXh0ZW50TWlub3IgPSBmdW5jdGlv
bihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gW1t4MCwgeTBdLCBbeDEs
IHkxXV07CisgICAgeDAgPSArX1swXVswXSwgeDEgPSArX1sxXVswXTsKKyAgICB5MCA9ICtfWzBd
WzFdLCB5MSA9ICtfWzFdWzFdOworICAgIGlmICh4MCA+IHgxKSBfID0geDAsIHgwID0geDEsIHgx
ID0gXzsKKyAgICBpZiAoeTAgPiB5MSkgXyA9IHkwLCB5MCA9IHkxLCB5MSA9IF87CisgICAgcmV0
dXJuIGdyYXRpY3VsZS5wcmVjaXNpb24ocHJlY2lzaW9uKTsKKyAgfTsKKworICBncmF0aWN1bGUu
c3RlcCA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBn
cmF0aWN1bGUuc3RlcE1pbm9yKCk7CisgICAgcmV0dXJuIGdyYXRpY3VsZS5zdGVwTWFqb3IoXyku
c3RlcE1pbm9yKF8pOworICB9OworCisgIGdyYXRpY3VsZS5zdGVwTWFqb3IgPSBmdW5jdGlvbihf
KSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gW0RYLCBEWV07CisgICAgRFgg
PSArX1swXSwgRFkgPSArX1sxXTsKKyAgICByZXR1cm4gZ3JhdGljdWxlOworICB9OworCisgIGdy
YXRpY3VsZS5zdGVwTWlub3IgPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVu
Z3RoKSByZXR1cm4gW2R4LCBkeV07CisgICAgZHggPSArX1swXSwgZHkgPSArX1sxXTsKKyAgICBy
ZXR1cm4gZ3JhdGljdWxlOworICB9OworCisgIGdyYXRpY3VsZS5wcmVjaXNpb24gPSBmdW5jdGlv
bihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gcHJlY2lzaW9uOworICAg
IHByZWNpc2lvbiA9ICtfOworICAgIHggPSBncmF0aWN1bGVYKHkwLCB5MSwgOTApOworICAgIHkg
PSBncmF0aWN1bGVZKHgwLCB4MSwgcHJlY2lzaW9uKTsKKyAgICBYID0gZ3JhdGljdWxlWChZMCwg
WTEsIDkwKTsKKyAgICBZID0gZ3JhdGljdWxlWShYMCwgWDEsIHByZWNpc2lvbik7CisgICAgcmV0
dXJuIGdyYXRpY3VsZTsKKyAgfTsKKworICByZXR1cm4gZ3JhdGljdWxlCisgICAgICAuZXh0ZW50
TWFqb3IoW1stMTgwLCAtOTAgKyBlcHNpbG9uJDJdLCBbMTgwLCA5MCAtIGVwc2lsb24kMl1dKQor
ICAgICAgLmV4dGVudE1pbm9yKFtbLTE4MCwgLTgwIC0gZXBzaWxvbiQyXSwgWzE4MCwgODAgKyBl
cHNpbG9uJDJdXSk7Cit9CisKK2Z1bmN0aW9uIGdyYXRpY3VsZTEwKCkgeworICByZXR1cm4gZ3Jh
dGljdWxlKCkoKTsKK30KKworZnVuY3Rpb24gaW50ZXJwb2xhdGUkMShhLCBiKSB7CisgIHZhciB4
MCA9IGFbMF0gKiByYWRpYW5zLAorICAgICAgeTAgPSBhWzFdICogcmFkaWFucywKKyAgICAgIHgx
ID0gYlswXSAqIHJhZGlhbnMsCisgICAgICB5MSA9IGJbMV0gKiByYWRpYW5zLAorICAgICAgY3kw
ID0gY29zJDEoeTApLAorICAgICAgc3kwID0gc2luJDEoeTApLAorICAgICAgY3kxID0gY29zJDEo
eTEpLAorICAgICAgc3kxID0gc2luJDEoeTEpLAorICAgICAga3gwID0gY3kwICogY29zJDEoeDAp
LAorICAgICAga3kwID0gY3kwICogc2luJDEoeDApLAorICAgICAga3gxID0gY3kxICogY29zJDEo
eDEpLAorICAgICAga3kxID0gY3kxICogc2luJDEoeDEpLAorICAgICAgZCA9IDIgKiBhc2luKHNx
cnQoaGF2ZXJzaW4oeTEgLSB5MCkgKyBjeTAgKiBjeTEgKiBoYXZlcnNpbih4MSAtIHgwKSkpLAor
ICAgICAgayA9IHNpbiQxKGQpOworCisgIHZhciBpbnRlcnBvbGF0ZSA9IGQgPyBmdW5jdGlvbih0
KSB7CisgICAgdmFyIEIgPSBzaW4kMSh0ICo9IGQpIC8gaywKKyAgICAgICAgQSA9IHNpbiQxKGQg
LSB0KSAvIGssCisgICAgICAgIHggPSBBICoga3gwICsgQiAqIGt4MSwKKyAgICAgICAgeSA9IEEg
KiBreTAgKyBCICoga3kxLAorICAgICAgICB6ID0gQSAqIHN5MCArIEIgKiBzeTE7CisgICAgcmV0
dXJuIFsKKyAgICAgIGF0YW4yKHksIHgpICogZGVncmVlcyQxLAorICAgICAgYXRhbjIoeiwgc3Fy
dCh4ICogeCArIHkgKiB5KSkgKiBkZWdyZWVzJDEKKyAgICBdOworICB9IDogZnVuY3Rpb24oKSB7
CisgICAgcmV0dXJuIFt4MCAqIGRlZ3JlZXMkMSwgeTAgKiBkZWdyZWVzJDFdOworICB9OworCisg
IGludGVycG9sYXRlLmRpc3RhbmNlID0gZDsKKworICByZXR1cm4gaW50ZXJwb2xhdGU7Cit9CisK
K2Z1bmN0aW9uIGlkZW50aXR5JDQoeCkgeworICByZXR1cm4geDsKK30KKwordmFyIGFyZWFTdW0k
MSA9IGFkZGVyKCksCisgICAgYXJlYVJpbmdTdW0kMSA9IGFkZGVyKCksCisgICAgeDAwLAorICAg
IHkwMCwKKyAgICB4MCQxLAorICAgIHkwJDE7CisKK3ZhciBhcmVhU3RyZWFtJDEgPSB7CisgIHBv
aW50OiBub29wJDIsCisgIGxpbmVTdGFydDogbm9vcCQyLAorICBsaW5lRW5kOiBub29wJDIsCisg
IHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgYXJlYVN0cmVhbSQxLmxpbmVTdGFydCA9
IGFyZWFSaW5nU3RhcnQkMTsKKyAgICBhcmVhU3RyZWFtJDEubGluZUVuZCA9IGFyZWFSaW5nRW5k
JDE7CisgIH0sCisgIHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIGFyZWFTdHJlYW0kMS5s
aW5lU3RhcnQgPSBhcmVhU3RyZWFtJDEubGluZUVuZCA9IGFyZWFTdHJlYW0kMS5wb2ludCA9IG5v
b3AkMjsKKyAgICBhcmVhU3VtJDEuYWRkKGFicyhhcmVhUmluZ1N1bSQxKSk7CisgICAgYXJlYVJp
bmdTdW0kMS5yZXNldCgpOworICB9LAorICByZXN1bHQ6IGZ1bmN0aW9uKCkgeworICAgIHZhciBh
cmVhID0gYXJlYVN1bSQxIC8gMjsKKyAgICBhcmVhU3VtJDEucmVzZXQoKTsKKyAgICByZXR1cm4g
YXJlYTsKKyAgfQorfTsKKworZnVuY3Rpb24gYXJlYVJpbmdTdGFydCQxKCkgeworICBhcmVhU3Ry
ZWFtJDEucG9pbnQgPSBhcmVhUG9pbnRGaXJzdCQxOworfQorCitmdW5jdGlvbiBhcmVhUG9pbnRG
aXJzdCQxKHgsIHkpIHsKKyAgYXJlYVN0cmVhbSQxLnBvaW50ID0gYXJlYVBvaW50JDE7CisgIHgw
MCA9IHgwJDEgPSB4LCB5MDAgPSB5MCQxID0geTsKK30KKworZnVuY3Rpb24gYXJlYVBvaW50JDEo
eCwgeSkgeworICBhcmVhUmluZ1N1bSQxLmFkZCh5MCQxICogeCAtIHgwJDEgKiB5KTsKKyAgeDAk
MSA9IHgsIHkwJDEgPSB5OworfQorCitmdW5jdGlvbiBhcmVhUmluZ0VuZCQxKCkgeworICBhcmVh
UG9pbnQkMSh4MDAsIHkwMCk7Cit9CisKK3ZhciB4MCQyID0gSW5maW5pdHksCisgICAgeTAkMiA9
IHgwJDIsCisgICAgeDEgPSAteDAkMiwKKyAgICB5MSA9IHgxOworCit2YXIgYm91bmRzU3RyZWFt
JDEgPSB7CisgIHBvaW50OiBib3VuZHNQb2ludCQxLAorICBsaW5lU3RhcnQ6IG5vb3AkMiwKKyAg
bGluZUVuZDogbm9vcCQyLAorICBwb2x5Z29uU3RhcnQ6IG5vb3AkMiwKKyAgcG9seWdvbkVuZDog
bm9vcCQyLAorICByZXN1bHQ6IGZ1bmN0aW9uKCkgeworICAgIHZhciBib3VuZHMgPSBbW3gwJDIs
IHkwJDJdLCBbeDEsIHkxXV07CisgICAgeDEgPSB5MSA9IC0oeTAkMiA9IHgwJDIgPSBJbmZpbml0
eSk7CisgICAgcmV0dXJuIGJvdW5kczsKKyAgfQorfTsKKworZnVuY3Rpb24gYm91bmRzUG9pbnQk
MSh4LCB5KSB7CisgIGlmICh4IDwgeDAkMikgeDAkMiA9IHg7CisgIGlmICh4ID4geDEpIHgxID0g
eDsKKyAgaWYgKHkgPCB5MCQyKSB5MCQyID0geTsKKyAgaWYgKHkgPiB5MSkgeTEgPSB5OworfQor
CisvLyBUT0RPIEVuZm9yY2UgcG9zaXRpdmUgYXJlYSBmb3IgZXh0ZXJpb3IsIG5lZ2F0aXZlIGFy
ZWEgZm9yIGludGVyaW9yPworCit2YXIgWDAkMSA9IDAsCisgICAgWTAkMSA9IDAsCisgICAgWjAk
MSA9IDAsCisgICAgWDEkMSA9IDAsCisgICAgWTEkMSA9IDAsCisgICAgWjEkMSA9IDAsCisgICAg
WDIkMSA9IDAsCisgICAgWTIkMSA9IDAsCisgICAgWjIkMSA9IDAsCisgICAgeDAwJDEsCisgICAg
eTAwJDEsCisgICAgeDAkMywKKyAgICB5MCQzOworCit2YXIgY2VudHJvaWRTdHJlYW0kMSA9IHsK
KyAgcG9pbnQ6IGNlbnRyb2lkUG9pbnQkMSwKKyAgbGluZVN0YXJ0OiBjZW50cm9pZExpbmVTdGFy
dCQxLAorICBsaW5lRW5kOiBjZW50cm9pZExpbmVFbmQkMSwKKyAgcG9seWdvblN0YXJ0OiBmdW5j
dGlvbigpIHsKKyAgICBjZW50cm9pZFN0cmVhbSQxLmxpbmVTdGFydCA9IGNlbnRyb2lkUmluZ1N0
YXJ0JDE7CisgICAgY2VudHJvaWRTdHJlYW0kMS5saW5lRW5kID0gY2VudHJvaWRSaW5nRW5kJDE7
CisgIH0sCisgIHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIGNlbnRyb2lkU3RyZWFtJDEu
cG9pbnQgPSBjZW50cm9pZFBvaW50JDE7CisgICAgY2VudHJvaWRTdHJlYW0kMS5saW5lU3RhcnQg
PSBjZW50cm9pZExpbmVTdGFydCQxOworICAgIGNlbnRyb2lkU3RyZWFtJDEubGluZUVuZCA9IGNl
bnRyb2lkTGluZUVuZCQxOworICB9LAorICByZXN1bHQ6IGZ1bmN0aW9uKCkgeworICAgIHZhciBj
ZW50cm9pZCA9IFoyJDEgPyBbWDIkMSAvIFoyJDEsIFkyJDEgLyBaMiQxXQorICAgICAgICA6IFox
JDEgPyBbWDEkMSAvIFoxJDEsIFkxJDEgLyBaMSQxXQorICAgICAgICA6IFowJDEgPyBbWDAkMSAv
IFowJDEsIFkwJDEgLyBaMCQxXQorICAgICAgICA6IFtOYU4sIE5hTl07CisgICAgWDAkMSA9IFkw
JDEgPSBaMCQxID0KKyAgICBYMSQxID0gWTEkMSA9IFoxJDEgPQorICAgIFgyJDEgPSBZMiQxID0g
WjIkMSA9IDA7CisgICAgcmV0dXJuIGNlbnRyb2lkOworICB9Cit9OworCitmdW5jdGlvbiBjZW50
cm9pZFBvaW50JDEoeCwgeSkgeworICBYMCQxICs9IHg7CisgIFkwJDEgKz0geTsKKyAgKytaMCQx
OworfQorCitmdW5jdGlvbiBjZW50cm9pZExpbmVTdGFydCQxKCkgeworICBjZW50cm9pZFN0cmVh
bSQxLnBvaW50ID0gY2VudHJvaWRQb2ludEZpcnN0TGluZTsKK30KKworZnVuY3Rpb24gY2VudHJv
aWRQb2ludEZpcnN0TGluZSh4LCB5KSB7CisgIGNlbnRyb2lkU3RyZWFtJDEucG9pbnQgPSBjZW50
cm9pZFBvaW50TGluZTsKKyAgY2VudHJvaWRQb2ludCQxKHgwJDMgPSB4LCB5MCQzID0geSk7Cit9
CisKK2Z1bmN0aW9uIGNlbnRyb2lkUG9pbnRMaW5lKHgsIHkpIHsKKyAgdmFyIGR4ID0geCAtIHgw
JDMsIGR5ID0geSAtIHkwJDMsIHogPSBzcXJ0KGR4ICogZHggKyBkeSAqIGR5KTsKKyAgWDEkMSAr
PSB6ICogKHgwJDMgKyB4KSAvIDI7CisgIFkxJDEgKz0geiAqICh5MCQzICsgeSkgLyAyOworICBa
MSQxICs9IHo7CisgIGNlbnRyb2lkUG9pbnQkMSh4MCQzID0geCwgeTAkMyA9IHkpOworfQorCitm
dW5jdGlvbiBjZW50cm9pZExpbmVFbmQkMSgpIHsKKyAgY2VudHJvaWRTdHJlYW0kMS5wb2ludCA9
IGNlbnRyb2lkUG9pbnQkMTsKK30KKworZnVuY3Rpb24gY2VudHJvaWRSaW5nU3RhcnQkMSgpIHsK
KyAgY2VudHJvaWRTdHJlYW0kMS5wb2ludCA9IGNlbnRyb2lkUG9pbnRGaXJzdFJpbmc7Cit9CisK
K2Z1bmN0aW9uIGNlbnRyb2lkUmluZ0VuZCQxKCkgeworICBjZW50cm9pZFBvaW50UmluZyh4MDAk
MSwgeTAwJDEpOworfQorCitmdW5jdGlvbiBjZW50cm9pZFBvaW50Rmlyc3RSaW5nKHgsIHkpIHsK
KyAgY2VudHJvaWRTdHJlYW0kMS5wb2ludCA9IGNlbnRyb2lkUG9pbnRSaW5nOworICBjZW50cm9p
ZFBvaW50JDEoeDAwJDEgPSB4MCQzID0geCwgeTAwJDEgPSB5MCQzID0geSk7Cit9CisKK2Z1bmN0
aW9uIGNlbnRyb2lkUG9pbnRSaW5nKHgsIHkpIHsKKyAgdmFyIGR4ID0geCAtIHgwJDMsCisgICAg
ICBkeSA9IHkgLSB5MCQzLAorICAgICAgeiA9IHNxcnQoZHggKiBkeCArIGR5ICogZHkpOworCisg
IFgxJDEgKz0geiAqICh4MCQzICsgeCkgLyAyOworICBZMSQxICs9IHogKiAoeTAkMyArIHkpIC8g
MjsKKyAgWjEkMSArPSB6OworCisgIHogPSB5MCQzICogeCAtIHgwJDMgKiB5OworICBYMiQxICs9
IHogKiAoeDAkMyArIHgpOworICBZMiQxICs9IHogKiAoeTAkMyArIHkpOworICBaMiQxICs9IHog
KiAzOworICBjZW50cm9pZFBvaW50JDEoeDAkMyA9IHgsIHkwJDMgPSB5KTsKK30KKworZnVuY3Rp
b24gUGF0aENvbnRleHQoY29udGV4dCkgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKK30K
KworUGF0aENvbnRleHQucHJvdG90eXBlID0geworICBfcmFkaXVzOiA0LjUsCisgIHBvaW50UmFk
aXVzOiBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIHRoaXMuX3JhZGl1cyA9IF8sIHRoaXM7Cisg
IH0sCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IDA7Cisg
IH0sCisgIHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSBOYU47Cisg
IH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9
LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fbGluZSA9PT0gMCkgdGhp
cy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgICB0aGlzLl9wb2ludCA9IE5hTjsKKyAgfSwKKyAg
cG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAg
ICBjYXNlIDA6IHsKKyAgICAgICAgdGhpcy5fY29udGV4dC5tb3ZlVG8oeCwgeSk7CisgICAgICAg
IHRoaXMuX3BvaW50ID0gMTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBjYXNlIDE6
IHsKKyAgICAgICAgdGhpcy5fY29udGV4dC5saW5lVG8oeCwgeSk7CisgICAgICAgIGJyZWFrOwor
ICAgICAgfQorICAgICAgZGVmYXVsdDogeworICAgICAgICB0aGlzLl9jb250ZXh0Lm1vdmVUbyh4
ICsgdGhpcy5fcmFkaXVzLCB5KTsKKyAgICAgICAgdGhpcy5fY29udGV4dC5hcmMoeCwgeSwgdGhp
cy5fcmFkaXVzLCAwLCB0YXUkMyk7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgIH0KKyAg
fSwKKyAgcmVzdWx0OiBub29wJDIKK307CisKK3ZhciBsZW5ndGhTdW0kMSA9IGFkZGVyKCksCisg
ICAgbGVuZ3RoUmluZywKKyAgICB4MDAkMiwKKyAgICB5MDAkMiwKKyAgICB4MCQ0LAorICAgIHkw
JDQ7CisKK3ZhciBsZW5ndGhTdHJlYW0kMSA9IHsKKyAgcG9pbnQ6IG5vb3AkMiwKKyAgbGluZVN0
YXJ0OiBmdW5jdGlvbigpIHsKKyAgICBsZW5ndGhTdHJlYW0kMS5wb2ludCA9IGxlbmd0aFBvaW50
Rmlyc3QkMTsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgaWYgKGxlbmd0aFJp
bmcpIGxlbmd0aFBvaW50JDEoeDAwJDIsIHkwMCQyKTsKKyAgICBsZW5ndGhTdHJlYW0kMS5wb2lu
dCA9IG5vb3AkMjsKKyAgfSwKKyAgcG9seWdvblN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICBsZW5n
dGhSaW5nID0gdHJ1ZTsKKyAgfSwKKyAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7CisgICAgbGVu
Z3RoUmluZyA9IG51bGw7CisgIH0sCisgIHJlc3VsdDogZnVuY3Rpb24oKSB7CisgICAgdmFyIGxl
bmd0aCA9ICtsZW5ndGhTdW0kMTsKKyAgICBsZW5ndGhTdW0kMS5yZXNldCgpOworICAgIHJldHVy
biBsZW5ndGg7CisgIH0KK307CisKK2Z1bmN0aW9uIGxlbmd0aFBvaW50Rmlyc3QkMSh4LCB5KSB7
CisgIGxlbmd0aFN0cmVhbSQxLnBvaW50ID0gbGVuZ3RoUG9pbnQkMTsKKyAgeDAwJDIgPSB4MCQ0
ID0geCwgeTAwJDIgPSB5MCQ0ID0geTsKK30KKworZnVuY3Rpb24gbGVuZ3RoUG9pbnQkMSh4LCB5
KSB7CisgIHgwJDQgLT0geCwgeTAkNCAtPSB5OworICBsZW5ndGhTdW0kMS5hZGQoc3FydCh4MCQ0
ICogeDAkNCArIHkwJDQgKiB5MCQ0KSk7CisgIHgwJDQgPSB4LCB5MCQ0ID0geTsKK30KKworZnVu
Y3Rpb24gUGF0aFN0cmluZygpIHsKKyAgdGhpcy5fc3RyaW5nID0gW107Cit9CisKK1BhdGhTdHJp
bmcucHJvdG90eXBlID0geworICBfcmFkaXVzOiA0LjUsCisgIF9jaXJjbGU6IGNpcmNsZSQxKDQu
NSksCisgIHBvaW50UmFkaXVzOiBmdW5jdGlvbihfKSB7CisgICAgaWYgKChfID0gK18pICE9PSB0
aGlzLl9yYWRpdXMpIHRoaXMuX3JhZGl1cyA9IF8sIHRoaXMuX2NpcmNsZSA9IG51bGw7CisgICAg
cmV0dXJuIHRoaXM7CisgIH0sCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhp
cy5fbGluZSA9IDA7CisgIH0sCisgIHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMu
X2xpbmUgPSBOYU47CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5f
cG9pbnQgPSAwOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5f
bGluZSA9PT0gMCkgdGhpcy5fc3RyaW5nLnB1c2goIloiKTsKKyAgICB0aGlzLl9wb2ludCA9IE5h
TjsKKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICBzd2l0Y2ggKHRoaXMuX3Bv
aW50KSB7CisgICAgICBjYXNlIDA6IHsKKyAgICAgICAgdGhpcy5fc3RyaW5nLnB1c2goIk0iLCB4
LCAiLCIsIHkpOworICAgICAgICB0aGlzLl9wb2ludCA9IDE7CisgICAgICAgIGJyZWFrOworICAg
ICAgfQorICAgICAgY2FzZSAxOiB7CisgICAgICAgIHRoaXMuX3N0cmluZy5wdXNoKCJMIiwgeCwg
IiwiLCB5KTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBkZWZhdWx0OiB7CisgICAg
ICAgIGlmICh0aGlzLl9jaXJjbGUgPT0gbnVsbCkgdGhpcy5fY2lyY2xlID0gY2lyY2xlJDEodGhp
cy5fcmFkaXVzKTsKKyAgICAgICAgdGhpcy5fc3RyaW5nLnB1c2goIk0iLCB4LCAiLCIsIHksIHRo
aXMuX2NpcmNsZSk7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgIH0KKyAgfSwKKyAgcmVz
dWx0OiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fc3RyaW5nLmxlbmd0aCkgeworICAgICAg
dmFyIHJlc3VsdCA9IHRoaXMuX3N0cmluZy5qb2luKCIiKTsKKyAgICAgIHRoaXMuX3N0cmluZyA9
IFtdOworICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9IGVsc2UgeworICAgICAgcmV0dXJuIG51
bGw7CisgICAgfQorICB9Cit9OworCitmdW5jdGlvbiBjaXJjbGUkMShyYWRpdXMpIHsKKyAgcmV0
dXJuICJtMCwiICsgcmFkaXVzCisgICAgICArICJhIiArIHJhZGl1cyArICIsIiArIHJhZGl1cyAr
ICIgMCAxLDEgMCwiICsgLTIgKiByYWRpdXMKKyAgICAgICsgImEiICsgcmFkaXVzICsgIiwiICsg
cmFkaXVzICsgIiAwIDEsMSAwLCIgKyAyICogcmFkaXVzCisgICAgICArICJ6IjsKK30KKworZnVu
Y3Rpb24gaW5kZXgkMShwcm9qZWN0aW9uLCBjb250ZXh0KSB7CisgIHZhciBwb2ludFJhZGl1cyA9
IDQuNSwKKyAgICAgIHByb2plY3Rpb25TdHJlYW0sCisgICAgICBjb250ZXh0U3RyZWFtOworCisg
IGZ1bmN0aW9uIHBhdGgob2JqZWN0KSB7CisgICAgaWYgKG9iamVjdCkgeworICAgICAgaWYgKHR5
cGVvZiBwb2ludFJhZGl1cyA9PT0gImZ1bmN0aW9uIikgY29udGV4dFN0cmVhbS5wb2ludFJhZGl1
cygrcG9pbnRSYWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7CisgICAgICBnZW9TdHJlYW0o
b2JqZWN0LCBwcm9qZWN0aW9uU3RyZWFtKGNvbnRleHRTdHJlYW0pKTsKKyAgICB9CisgICAgcmV0
dXJuIGNvbnRleHRTdHJlYW0ucmVzdWx0KCk7CisgIH0KKworICBwYXRoLmFyZWEgPSBmdW5jdGlv
bihvYmplY3QpIHsKKyAgICBnZW9TdHJlYW0ob2JqZWN0LCBwcm9qZWN0aW9uU3RyZWFtKGFyZWFT
dHJlYW0kMSkpOworICAgIHJldHVybiBhcmVhU3RyZWFtJDEucmVzdWx0KCk7CisgIH07CisKKyAg
cGF0aC5tZWFzdXJlID0gZnVuY3Rpb24ob2JqZWN0KSB7CisgICAgZ2VvU3RyZWFtKG9iamVjdCwg
cHJvamVjdGlvblN0cmVhbShsZW5ndGhTdHJlYW0kMSkpOworICAgIHJldHVybiBsZW5ndGhTdHJl
YW0kMS5yZXN1bHQoKTsKKyAgfTsKKworICBwYXRoLmJvdW5kcyA9IGZ1bmN0aW9uKG9iamVjdCkg
eworICAgIGdlb1N0cmVhbShvYmplY3QsIHByb2plY3Rpb25TdHJlYW0oYm91bmRzU3RyZWFtJDEp
KTsKKyAgICByZXR1cm4gYm91bmRzU3RyZWFtJDEucmVzdWx0KCk7CisgIH07CisKKyAgcGF0aC5j
ZW50cm9pZCA9IGZ1bmN0aW9uKG9iamVjdCkgeworICAgIGdlb1N0cmVhbShvYmplY3QsIHByb2pl
Y3Rpb25TdHJlYW0oY2VudHJvaWRTdHJlYW0kMSkpOworICAgIHJldHVybiBjZW50cm9pZFN0cmVh
bSQxLnJlc3VsdCgpOworICB9OworCisgIHBhdGgucHJvamVjdGlvbiA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwcm9qZWN0aW9uU3RyZWFtID0gXyA9PSBu
dWxsID8gKHByb2plY3Rpb24gPSBudWxsLCBpZGVudGl0eSQ0KSA6IChwcm9qZWN0aW9uID0gXyku
c3RyZWFtLCBwYXRoKSA6IHByb2plY3Rpb247CisgIH07CisKKyAgcGF0aC5jb250ZXh0ID0gZnVu
Y3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIGNvbnRleHQ7Cisg
ICAgY29udGV4dFN0cmVhbSA9IF8gPT0gbnVsbCA/IChjb250ZXh0ID0gbnVsbCwgbmV3IFBhdGhT
dHJpbmcpIDogbmV3IFBhdGhDb250ZXh0KGNvbnRleHQgPSBfKTsKKyAgICBpZiAodHlwZW9mIHBv
aW50UmFkaXVzICE9PSAiZnVuY3Rpb24iKSBjb250ZXh0U3RyZWFtLnBvaW50UmFkaXVzKHBvaW50
UmFkaXVzKTsKKyAgICByZXR1cm4gcGF0aDsKKyAgfTsKKworICBwYXRoLnBvaW50UmFkaXVzID0g
ZnVuY3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIHBvaW50UmFk
aXVzOworICAgIHBvaW50UmFkaXVzID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogKGNv
bnRleHRTdHJlYW0ucG9pbnRSYWRpdXMoK18pLCArXyk7CisgICAgcmV0dXJuIHBhdGg7CisgIH07
CisKKyAgcmV0dXJuIHBhdGgucHJvamVjdGlvbihwcm9qZWN0aW9uKS5jb250ZXh0KGNvbnRleHQp
OworfQorCitmdW5jdGlvbiB0cmFuc2Zvcm0obWV0aG9kcykgeworICByZXR1cm4geworICAgIHN0
cmVhbTogdHJhbnNmb3JtZXIobWV0aG9kcykKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3Jt
ZXIobWV0aG9kcykgeworICByZXR1cm4gZnVuY3Rpb24oc3RyZWFtKSB7CisgICAgdmFyIHMgPSBu
ZXcgVHJhbnNmb3JtU3RyZWFtOworICAgIGZvciAodmFyIGtleSBpbiBtZXRob2RzKSBzW2tleV0g
PSBtZXRob2RzW2tleV07CisgICAgcy5zdHJlYW0gPSBzdHJlYW07CisgICAgcmV0dXJuIHM7Cisg
IH07Cit9CisKK2Z1bmN0aW9uIFRyYW5zZm9ybVN0cmVhbSgpIHt9CisKK1RyYW5zZm9ybVN0cmVh
bS5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBUcmFuc2Zvcm1TdHJlYW0sCisgIHBvaW50
OiBmdW5jdGlvbih4LCB5KSB7IHRoaXMuc3RyZWFtLnBvaW50KHgsIHkpOyB9LAorICBzcGhlcmU6
IGZ1bmN0aW9uKCkgeyB0aGlzLnN0cmVhbS5zcGhlcmUoKTsgfSwKKyAgbGluZVN0YXJ0OiBmdW5j
dGlvbigpIHsgdGhpcy5zdHJlYW0ubGluZVN0YXJ0KCk7IH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9u
KCkgeyB0aGlzLnN0cmVhbS5saW5lRW5kKCk7IH0sCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24o
KSB7IHRoaXMuc3RyZWFtLnBvbHlnb25TdGFydCgpOyB9LAorICBwb2x5Z29uRW5kOiBmdW5jdGlv
bigpIHsgdGhpcy5zdHJlYW0ucG9seWdvbkVuZCgpOyB9Cit9OworCitmdW5jdGlvbiBmaXQocHJv
amVjdGlvbiwgZml0Qm91bmRzLCBvYmplY3QpIHsKKyAgdmFyIGNsaXAgPSBwcm9qZWN0aW9uLmNs
aXBFeHRlbnQgJiYgcHJvamVjdGlvbi5jbGlwRXh0ZW50KCk7CisgIHByb2plY3Rpb24uc2NhbGUo
MTUwKS50cmFuc2xhdGUoWzAsIDBdKTsKKyAgaWYgKGNsaXAgIT0gbnVsbCkgcHJvamVjdGlvbi5j
bGlwRXh0ZW50KG51bGwpOworICBnZW9TdHJlYW0ob2JqZWN0LCBwcm9qZWN0aW9uLnN0cmVhbShi
b3VuZHNTdHJlYW0kMSkpOworICBmaXRCb3VuZHMoYm91bmRzU3RyZWFtJDEucmVzdWx0KCkpOwor
ICBpZiAoY2xpcCAhPSBudWxsKSBwcm9qZWN0aW9uLmNsaXBFeHRlbnQoY2xpcCk7CisgIHJldHVy
biBwcm9qZWN0aW9uOworfQorCitmdW5jdGlvbiBmaXRFeHRlbnQocHJvamVjdGlvbiwgZXh0ZW50
LCBvYmplY3QpIHsKKyAgcmV0dXJuIGZpdChwcm9qZWN0aW9uLCBmdW5jdGlvbihiKSB7CisgICAg
dmFyIHcgPSBleHRlbnRbMV1bMF0gLSBleHRlbnRbMF1bMF0sCisgICAgICAgIGggPSBleHRlbnRb
MV1bMV0gLSBleHRlbnRbMF1bMV0sCisgICAgICAgIGsgPSBNYXRoLm1pbih3IC8gKGJbMV1bMF0g
LSBiWzBdWzBdKSwgaCAvIChiWzFdWzFdIC0gYlswXVsxXSkpLAorICAgICAgICB4ID0gK2V4dGVu
dFswXVswXSArICh3IC0gayAqIChiWzFdWzBdICsgYlswXVswXSkpIC8gMiwKKyAgICAgICAgeSA9
ICtleHRlbnRbMF1bMV0gKyAoaCAtIGsgKiAoYlsxXVsxXSArIGJbMF1bMV0pKSAvIDI7CisgICAg
cHJvamVjdGlvbi5zY2FsZSgxNTAgKiBrKS50cmFuc2xhdGUoW3gsIHldKTsKKyAgfSwgb2JqZWN0
KTsKK30KKworZnVuY3Rpb24gZml0U2l6ZShwcm9qZWN0aW9uLCBzaXplLCBvYmplY3QpIHsKKyAg
cmV0dXJuIGZpdEV4dGVudChwcm9qZWN0aW9uLCBbWzAsIDBdLCBzaXplXSwgb2JqZWN0KTsKK30K
KworZnVuY3Rpb24gZml0V2lkdGgocHJvamVjdGlvbiwgd2lkdGgsIG9iamVjdCkgeworICByZXR1
cm4gZml0KHByb2plY3Rpb24sIGZ1bmN0aW9uKGIpIHsKKyAgICB2YXIgdyA9ICt3aWR0aCwKKyAg
ICAgICAgayA9IHcgLyAoYlsxXVswXSAtIGJbMF1bMF0pLAorICAgICAgICB4ID0gKHcgLSBrICog
KGJbMV1bMF0gKyBiWzBdWzBdKSkgLyAyLAorICAgICAgICB5ID0gLWsgKiBiWzBdWzFdOworICAg
IHByb2plY3Rpb24uc2NhbGUoMTUwICogaykudHJhbnNsYXRlKFt4LCB5XSk7CisgIH0sIG9iamVj
dCk7Cit9CisKK2Z1bmN0aW9uIGZpdEhlaWdodChwcm9qZWN0aW9uLCBoZWlnaHQsIG9iamVjdCkg
eworICByZXR1cm4gZml0KHByb2plY3Rpb24sIGZ1bmN0aW9uKGIpIHsKKyAgICB2YXIgaCA9ICto
ZWlnaHQsCisgICAgICAgIGsgPSBoIC8gKGJbMV1bMV0gLSBiWzBdWzFdKSwKKyAgICAgICAgeCA9
IC1rICogYlswXVswXSwKKyAgICAgICAgeSA9IChoIC0gayAqIChiWzFdWzFdICsgYlswXVsxXSkp
IC8gMjsKKyAgICBwcm9qZWN0aW9uLnNjYWxlKDE1MCAqIGspLnRyYW5zbGF0ZShbeCwgeV0pOwor
ICB9LCBvYmplY3QpOworfQorCit2YXIgbWF4RGVwdGggPSAxNiwgLy8gbWF4aW11bSBkZXB0aCBv
ZiBzdWJkaXZpc2lvbgorICAgIGNvc01pbkRpc3RhbmNlID0gY29zJDEoMzAgKiByYWRpYW5zKTsg
Ly8gY29zKG1pbmltdW0gYW5ndWxhciBkaXN0YW5jZSkKKworZnVuY3Rpb24gcmVzYW1wbGUocHJv
amVjdCwgZGVsdGEyKSB7CisgIHJldHVybiArZGVsdGEyID8gcmVzYW1wbGUkMShwcm9qZWN0LCBk
ZWx0YTIpIDogcmVzYW1wbGVOb25lKHByb2plY3QpOworfQorCitmdW5jdGlvbiByZXNhbXBsZU5v
bmUocHJvamVjdCkgeworICByZXR1cm4gdHJhbnNmb3JtZXIoeworICAgIHBvaW50OiBmdW5jdGlv
bih4LCB5KSB7CisgICAgICB4ID0gcHJvamVjdCh4LCB5KTsKKyAgICAgIHRoaXMuc3RyZWFtLnBv
aW50KHhbMF0sIHhbMV0pOworICAgIH0KKyAgfSk7Cit9CisKK2Z1bmN0aW9uIHJlc2FtcGxlJDEo
cHJvamVjdCwgZGVsdGEyKSB7CisKKyAgZnVuY3Rpb24gcmVzYW1wbGVMaW5lVG8oeDAsIHkwLCBs
YW1iZGEwLCBhMCwgYjAsIGMwLCB4MSwgeTEsIGxhbWJkYTEsIGExLCBiMSwgYzEsIGRlcHRoLCBz
dHJlYW0pIHsKKyAgICB2YXIgZHggPSB4MSAtIHgwLAorICAgICAgICBkeSA9IHkxIC0geTAsCisg
ICAgICAgIGQyID0gZHggKiBkeCArIGR5ICogZHk7CisgICAgaWYgKGQyID4gNCAqIGRlbHRhMiAm
JiBkZXB0aC0tKSB7CisgICAgICB2YXIgYSA9IGEwICsgYTEsCisgICAgICAgICAgYiA9IGIwICsg
YjEsCisgICAgICAgICAgYyA9IGMwICsgYzEsCisgICAgICAgICAgbSA9IHNxcnQoYSAqIGEgKyBi
ICogYiArIGMgKiBjKSwKKyAgICAgICAgICBwaGkyID0gYXNpbihjIC89IG0pLAorICAgICAgICAg
IGxhbWJkYTIgPSBhYnMoYWJzKGMpIC0gMSkgPCBlcHNpbG9uJDIgfHwgYWJzKGxhbWJkYTAgLSBs
YW1iZGExKSA8IGVwc2lsb24kMiA/IChsYW1iZGEwICsgbGFtYmRhMSkgLyAyIDogYXRhbjIoYiwg
YSksCisgICAgICAgICAgcCA9IHByb2plY3QobGFtYmRhMiwgcGhpMiksCisgICAgICAgICAgeDIg
PSBwWzBdLAorICAgICAgICAgIHkyID0gcFsxXSwKKyAgICAgICAgICBkeDIgPSB4MiAtIHgwLAor
ICAgICAgICAgIGR5MiA9IHkyIC0geTAsCisgICAgICAgICAgZHogPSBkeSAqIGR4MiAtIGR4ICog
ZHkyOworICAgICAgaWYgKGR6ICogZHogLyBkMiA+IGRlbHRhMiAvLyBwZXJwZW5kaWN1bGFyIHBy
b2plY3RlZCBkaXN0YW5jZQorICAgICAgICAgIHx8IGFicygoZHggKiBkeDIgKyBkeSAqIGR5Mikg
LyBkMiAtIDAuNSkgPiAwLjMgLy8gbWlkcG9pbnQgY2xvc2UgdG8gYW4gZW5kCisgICAgICAgICAg
fHwgYTAgKiBhMSArIGIwICogYjEgKyBjMCAqIGMxIDwgY29zTWluRGlzdGFuY2UpIHsgLy8gYW5n
dWxhciBkaXN0YW5jZQorICAgICAgICByZXNhbXBsZUxpbmVUbyh4MCwgeTAsIGxhbWJkYTAsIGEw
LCBiMCwgYzAsIHgyLCB5MiwgbGFtYmRhMiwgYSAvPSBtLCBiIC89IG0sIGMsIGRlcHRoLCBzdHJl
YW0pOworICAgICAgICBzdHJlYW0ucG9pbnQoeDIsIHkyKTsKKyAgICAgICAgcmVzYW1wbGVMaW5l
VG8oeDIsIHkyLCBsYW1iZGEyLCBhLCBiLCBjLCB4MSwgeTEsIGxhbWJkYTEsIGExLCBiMSwgYzEs
IGRlcHRoLCBzdHJlYW0pOworICAgICAgfQorICAgIH0KKyAgfQorICByZXR1cm4gZnVuY3Rpb24o
c3RyZWFtKSB7CisgICAgdmFyIGxhbWJkYTAwLCB4MDAsIHkwMCwgYTAwLCBiMDAsIGMwMCwgLy8g
Zmlyc3QgcG9pbnQKKyAgICAgICAgbGFtYmRhMCwgeDAsIHkwLCBhMCwgYjAsIGMwOyAvLyBwcmV2
aW91cyBwb2ludAorCisgICAgdmFyIHJlc2FtcGxlU3RyZWFtID0geworICAgICAgcG9pbnQ6IHBv
aW50LAorICAgICAgbGluZVN0YXJ0OiBsaW5lU3RhcnQsCisgICAgICBsaW5lRW5kOiBsaW5lRW5k
LAorICAgICAgcG9seWdvblN0YXJ0OiBmdW5jdGlvbigpIHsgc3RyZWFtLnBvbHlnb25TdGFydCgp
OyByZXNhbXBsZVN0cmVhbS5saW5lU3RhcnQgPSByaW5nU3RhcnQ7IH0sCisgICAgICBwb2x5Z29u
RW5kOiBmdW5jdGlvbigpIHsgc3RyZWFtLnBvbHlnb25FbmQoKTsgcmVzYW1wbGVTdHJlYW0ubGlu
ZVN0YXJ0ID0gbGluZVN0YXJ0OyB9CisgICAgfTsKKworICAgIGZ1bmN0aW9uIHBvaW50KHgsIHkp
IHsKKyAgICAgIHggPSBwcm9qZWN0KHgsIHkpOworICAgICAgc3RyZWFtLnBvaW50KHhbMF0sIHhb
MV0pOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxpbmVTdGFydCgpIHsKKyAgICAgIHgwID0gTmFO
OworICAgICAgcmVzYW1wbGVTdHJlYW0ucG9pbnQgPSBsaW5lUG9pbnQ7CisgICAgICBzdHJlYW0u
bGluZVN0YXJ0KCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbGluZVBvaW50KGxhbWJkYSwgcGhp
KSB7CisgICAgICB2YXIgYyA9IGNhcnRlc2lhbihbbGFtYmRhLCBwaGldKSwgcCA9IHByb2plY3Qo
bGFtYmRhLCBwaGkpOworICAgICAgcmVzYW1wbGVMaW5lVG8oeDAsIHkwLCBsYW1iZGEwLCBhMCwg
YjAsIGMwLCB4MCA9IHBbMF0sIHkwID0gcFsxXSwgbGFtYmRhMCA9IGxhbWJkYSwgYTAgPSBjWzBd
LCBiMCA9IGNbMV0sIGMwID0gY1syXSwgbWF4RGVwdGgsIHN0cmVhbSk7CisgICAgICBzdHJlYW0u
cG9pbnQoeDAsIHkwKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsaW5lRW5kKCkgeworICAgICAg
cmVzYW1wbGVTdHJlYW0ucG9pbnQgPSBwb2ludDsKKyAgICAgIHN0cmVhbS5saW5lRW5kKCk7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gcmluZ1N0YXJ0KCkgeworICAgICAgbGluZVN0YXJ0KCk7Cisg
ICAgICByZXNhbXBsZVN0cmVhbS5wb2ludCA9IHJpbmdQb2ludDsKKyAgICAgIHJlc2FtcGxlU3Ry
ZWFtLmxpbmVFbmQgPSByaW5nRW5kOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJpbmdQb2ludChs
YW1iZGEsIHBoaSkgeworICAgICAgbGluZVBvaW50KGxhbWJkYTAwID0gbGFtYmRhLCBwaGkpLCB4
MDAgPSB4MCwgeTAwID0geTAsIGEwMCA9IGEwLCBiMDAgPSBiMCwgYzAwID0gYzA7CisgICAgICBy
ZXNhbXBsZVN0cmVhbS5wb2ludCA9IGxpbmVQb2ludDsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBy
aW5nRW5kKCkgeworICAgICAgcmVzYW1wbGVMaW5lVG8oeDAsIHkwLCBsYW1iZGEwLCBhMCwgYjAs
IGMwLCB4MDAsIHkwMCwgbGFtYmRhMDAsIGEwMCwgYjAwLCBjMDAsIG1heERlcHRoLCBzdHJlYW0p
OworICAgICAgcmVzYW1wbGVTdHJlYW0ubGluZUVuZCA9IGxpbmVFbmQ7CisgICAgICBsaW5lRW5k
KCk7CisgICAgfQorCisgICAgcmV0dXJuIHJlc2FtcGxlU3RyZWFtOworICB9OworfQorCit2YXIg
dHJhbnNmb3JtUmFkaWFucyA9IHRyYW5zZm9ybWVyKHsKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkp
IHsKKyAgICB0aGlzLnN0cmVhbS5wb2ludCh4ICogcmFkaWFucywgeSAqIHJhZGlhbnMpOworICB9
Cit9KTsKKworZnVuY3Rpb24gdHJhbnNmb3JtUm90YXRlKHJvdGF0ZSkgeworICByZXR1cm4gdHJh
bnNmb3JtZXIoeworICAgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgICB2YXIgciA9IHJv
dGF0ZSh4LCB5KTsKKyAgICAgIHJldHVybiB0aGlzLnN0cmVhbS5wb2ludChyWzBdLCByWzFdKTsK
KyAgICB9CisgIH0pOworfQorCitmdW5jdGlvbiBzY2FsZVRyYW5zbGF0ZShrLCBkeCwgZHkpIHsK
KyAgZnVuY3Rpb24gdHJhbnNmb3JtKHgsIHkpIHsKKyAgICByZXR1cm4gW2R4ICsgayAqIHgsIGR5
IC0gayAqIHldOworICB9CisgIHRyYW5zZm9ybS5pbnZlcnQgPSBmdW5jdGlvbih4LCB5KSB7Cisg
ICAgcmV0dXJuIFsoeCAtIGR4KSAvIGssIChkeSAtIHkpIC8ga107CisgIH07CisgIHJldHVybiB0
cmFuc2Zvcm07Cit9CisKK2Z1bmN0aW9uIHNjYWxlVHJhbnNsYXRlUm90YXRlKGssIGR4LCBkeSwg
YWxwaGEpIHsKKyAgdmFyIGNvc0FscGhhID0gY29zJDEoYWxwaGEpLAorICAgICAgc2luQWxwaGEg
PSBzaW4kMShhbHBoYSksCisgICAgICBhID0gY29zQWxwaGEgKiBrLAorICAgICAgYiA9IHNpbkFs
cGhhICogaywKKyAgICAgIGFpID0gY29zQWxwaGEgLyBrLAorICAgICAgYmkgPSBzaW5BbHBoYSAv
IGssCisgICAgICBjaSA9IChzaW5BbHBoYSAqIGR5IC0gY29zQWxwaGEgKiBkeCkgLyBrLAorICAg
ICAgZmkgPSAoc2luQWxwaGEgKiBkeCArIGNvc0FscGhhICogZHkpIC8gazsKKyAgZnVuY3Rpb24g
dHJhbnNmb3JtKHgsIHkpIHsKKyAgICByZXR1cm4gW2EgKiB4IC0gYiAqIHkgKyBkeCwgZHkgLSBi
ICogeCAtIGEgKiB5XTsKKyAgfQorICB0cmFuc2Zvcm0uaW52ZXJ0ID0gZnVuY3Rpb24oeCwgeSkg
eworICAgIHJldHVybiBbYWkgKiB4IC0gYmkgKiB5ICsgY2ksIGZpIC0gYmkgKiB4IC0gYWkgKiB5
XTsKKyAgfTsKKyAgcmV0dXJuIHRyYW5zZm9ybTsKK30KKworZnVuY3Rpb24gcHJvamVjdGlvbihw
cm9qZWN0KSB7CisgIHJldHVybiBwcm9qZWN0aW9uTXV0YXRvcihmdW5jdGlvbigpIHsgcmV0dXJu
IHByb2plY3Q7IH0pKCk7Cit9CisKK2Z1bmN0aW9uIHByb2plY3Rpb25NdXRhdG9yKHByb2plY3RB
dCkgeworICB2YXIgcHJvamVjdCwKKyAgICAgIGsgPSAxNTAsIC8vIHNjYWxlCisgICAgICB4ID0g
NDgwLCB5ID0gMjUwLCAvLyB0cmFuc2xhdGUKKyAgICAgIGxhbWJkYSA9IDAsIHBoaSA9IDAsIC8v
IGNlbnRlcgorICAgICAgZGVsdGFMYW1iZGEgPSAwLCBkZWx0YVBoaSA9IDAsIGRlbHRhR2FtbWEg
PSAwLCByb3RhdGUsIC8vIHByZS1yb3RhdGUKKyAgICAgIGFscGhhID0gMCwgLy8gcG9zdC1yb3Rh
dGUKKyAgICAgIHRoZXRhID0gbnVsbCwgcHJlY2xpcCA9IGNsaXBBbnRpbWVyaWRpYW4sIC8vIHBy
ZS1jbGlwIGFuZ2xlCisgICAgICB4MCA9IG51bGwsIHkwLCB4MSwgeTEsIHBvc3RjbGlwID0gaWRl
bnRpdHkkNCwgLy8gcG9zdC1jbGlwIGV4dGVudAorICAgICAgZGVsdGEyID0gMC41LCAvLyBwcmVj
aXNpb24KKyAgICAgIHByb2plY3RSZXNhbXBsZSwKKyAgICAgIHByb2plY3RUcmFuc2Zvcm0sCisg
ICAgICBwcm9qZWN0Um90YXRlVHJhbnNmb3JtLAorICAgICAgY2FjaGUsCisgICAgICBjYWNoZVN0
cmVhbTsKKworICBmdW5jdGlvbiBwcm9qZWN0aW9uKHBvaW50KSB7CisgICAgcmV0dXJuIHByb2pl
Y3RSb3RhdGVUcmFuc2Zvcm0ocG9pbnRbMF0gKiByYWRpYW5zLCBwb2ludFsxXSAqIHJhZGlhbnMp
OworICB9CisKKyAgZnVuY3Rpb24gaW52ZXJ0KHBvaW50KSB7CisgICAgcG9pbnQgPSBwcm9qZWN0
Um90YXRlVHJhbnNmb3JtLmludmVydChwb2ludFswXSwgcG9pbnRbMV0pOworICAgIHJldHVybiBw
b2ludCAmJiBbcG9pbnRbMF0gKiBkZWdyZWVzJDEsIHBvaW50WzFdICogZGVncmVlcyQxXTsKKyAg
fQorCisgIHByb2plY3Rpb24uc3RyZWFtID0gZnVuY3Rpb24oc3RyZWFtKSB7CisgICAgcmV0dXJu
IGNhY2hlICYmIGNhY2hlU3RyZWFtID09PSBzdHJlYW0gPyBjYWNoZSA6IGNhY2hlID0gdHJhbnNm
b3JtUmFkaWFucyh0cmFuc2Zvcm1Sb3RhdGUocm90YXRlKShwcmVjbGlwKHByb2plY3RSZXNhbXBs
ZShwb3N0Y2xpcChjYWNoZVN0cmVhbSA9IHN0cmVhbSkpKSkpOworICB9OworCisgIHByb2plY3Rp
b24ucHJlY2xpcCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
IChwcmVjbGlwID0gXywgdGhldGEgPSB1bmRlZmluZWQsIHJlc2V0KCkpIDogcHJlY2xpcDsKKyAg
fTsKKworICBwcm9qZWN0aW9uLnBvc3RjbGlwID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKHBvc3RjbGlwID0gXywgeDAgPSB5MCA9IHgxID0geTEgPSBudWxs
LCByZXNldCgpKSA6IHBvc3RjbGlwOworICB9OworCisgIHByb2plY3Rpb24uY2xpcEFuZ2xlID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHByZWNsaXAgPSAr
XyA/IGNsaXBDaXJjbGUodGhldGEgPSBfICogcmFkaWFucykgOiAodGhldGEgPSBudWxsLCBjbGlw
QW50aW1lcmlkaWFuKSwgcmVzZXQoKSkgOiB0aGV0YSAqIGRlZ3JlZXMkMTsKKyAgfTsKKworICBw
cm9qZWN0aW9uLmNsaXBFeHRlbnQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAocG9zdGNsaXAgPSBfID09IG51bGwgPyAoeDAgPSB5MCA9IHgxID0geTEgPSBu
dWxsLCBpZGVudGl0eSQ0KSA6IGNsaXBSZWN0YW5nbGUoeDAgPSArX1swXVswXSwgeTAgPSArX1sw
XVsxXSwgeDEgPSArX1sxXVswXSwgeTEgPSArX1sxXVsxXSksIHJlc2V0KCkpIDogeDAgPT0gbnVs
bCA/IG51bGwgOiBbW3gwLCB5MF0sIFt4MSwgeTFdXTsKKyAgfTsKKworICBwcm9qZWN0aW9uLnNj
YWxlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGsgPSAr
XywgcmVjZW50ZXIoKSkgOiBrOworICB9OworCisgIHByb2plY3Rpb24udHJhbnNsYXRlID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHggPSArX1swXSwgeSA9
ICtfWzFdLCByZWNlbnRlcigpKSA6IFt4LCB5XTsKKyAgfTsKKworICBwcm9qZWN0aW9uLmNlbnRl
ciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChsYW1iZGEg
PSBfWzBdICUgMzYwICogcmFkaWFucywgcGhpID0gX1sxXSAlIDM2MCAqIHJhZGlhbnMsIHJlY2Vu
dGVyKCkpIDogW2xhbWJkYSAqIGRlZ3JlZXMkMSwgcGhpICogZGVncmVlcyQxXTsKKyAgfTsKKwor
ICBwcm9qZWN0aW9uLnJvdGF0ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/IChkZWx0YUxhbWJkYSA9IF9bMF0gJSAzNjAgKiByYWRpYW5zLCBkZWx0YVBoaSA9
IF9bMV0gJSAzNjAgKiByYWRpYW5zLCBkZWx0YUdhbW1hID0gXy5sZW5ndGggPiAyID8gX1syXSAl
IDM2MCAqIHJhZGlhbnMgOiAwLCByZWNlbnRlcigpKSA6IFtkZWx0YUxhbWJkYSAqIGRlZ3JlZXMk
MSwgZGVsdGFQaGkgKiBkZWdyZWVzJDEsIGRlbHRhR2FtbWEgKiBkZWdyZWVzJDFdOworICB9Owor
CisgIHByb2plY3Rpb24uYW5nbGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAoYWxwaGEgPSBfICUgMzYwICogcmFkaWFucywgcmVjZW50ZXIoKSkgOiBhbHBo
YSAqIGRlZ3JlZXMkMTsKKyAgfTsKKworICBwcm9qZWN0aW9uLnByZWNpc2lvbiA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwcm9qZWN0UmVzYW1wbGUgPSBy
ZXNhbXBsZShwcm9qZWN0VHJhbnNmb3JtLCBkZWx0YTIgPSBfICogXyksIHJlc2V0KCkpIDogc3Fy
dChkZWx0YTIpOworICB9OworCisgIHByb2plY3Rpb24uZml0RXh0ZW50ID0gZnVuY3Rpb24oZXh0
ZW50LCBvYmplY3QpIHsKKyAgICByZXR1cm4gZml0RXh0ZW50KHByb2plY3Rpb24sIGV4dGVudCwg
b2JqZWN0KTsKKyAgfTsKKworICBwcm9qZWN0aW9uLmZpdFNpemUgPSBmdW5jdGlvbihzaXplLCBv
YmplY3QpIHsKKyAgICByZXR1cm4gZml0U2l6ZShwcm9qZWN0aW9uLCBzaXplLCBvYmplY3QpOwor
ICB9OworCisgIHByb2plY3Rpb24uZml0V2lkdGggPSBmdW5jdGlvbih3aWR0aCwgb2JqZWN0KSB7
CisgICAgcmV0dXJuIGZpdFdpZHRoKHByb2plY3Rpb24sIHdpZHRoLCBvYmplY3QpOworICB9Owor
CisgIHByb2plY3Rpb24uZml0SGVpZ2h0ID0gZnVuY3Rpb24oaGVpZ2h0LCBvYmplY3QpIHsKKyAg
ICByZXR1cm4gZml0SGVpZ2h0KHByb2plY3Rpb24sIGhlaWdodCwgb2JqZWN0KTsKKyAgfTsKKwor
ICBmdW5jdGlvbiByZWNlbnRlcigpIHsKKyAgICB2YXIgY2VudGVyID0gc2NhbGVUcmFuc2xhdGVS
b3RhdGUoaywgMCwgMCwgYWxwaGEpLmFwcGx5KG51bGwsIHByb2plY3QobGFtYmRhLCBwaGkpKSwK
KyAgICAgICAgdHJhbnNmb3JtID0gKGFscGhhID8gc2NhbGVUcmFuc2xhdGVSb3RhdGUgOiBzY2Fs
ZVRyYW5zbGF0ZSkoaywgeCAtIGNlbnRlclswXSwgeSAtIGNlbnRlclsxXSwgYWxwaGEpOworICAg
IHJvdGF0ZSA9IHJvdGF0ZVJhZGlhbnMoZGVsdGFMYW1iZGEsIGRlbHRhUGhpLCBkZWx0YUdhbW1h
KTsKKyAgICBwcm9qZWN0VHJhbnNmb3JtID0gY29tcG9zZShwcm9qZWN0LCB0cmFuc2Zvcm0pOwor
ICAgIHByb2plY3RSb3RhdGVUcmFuc2Zvcm0gPSBjb21wb3NlKHJvdGF0ZSwgcHJvamVjdFRyYW5z
Zm9ybSk7CisgICAgcHJvamVjdFJlc2FtcGxlID0gcmVzYW1wbGUocHJvamVjdFRyYW5zZm9ybSwg
ZGVsdGEyKTsKKyAgICByZXR1cm4gcmVzZXQoKTsKKyAgfQorCisgIGZ1bmN0aW9uIHJlc2V0KCkg
eworICAgIGNhY2hlID0gY2FjaGVTdHJlYW0gPSBudWxsOworICAgIHJldHVybiBwcm9qZWN0aW9u
OworICB9CisKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHByb2plY3QgPSBwcm9qZWN0QXQu
YXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICBwcm9qZWN0aW9uLmludmVydCA9IHByb2plY3Qu
aW52ZXJ0ICYmIGludmVydDsKKyAgICByZXR1cm4gcmVjZW50ZXIoKTsKKyAgfTsKK30KKworZnVu
Y3Rpb24gY29uaWNQcm9qZWN0aW9uKHByb2plY3RBdCkgeworICB2YXIgcGhpMCA9IDAsCisgICAg
ICBwaGkxID0gcGkkMyAvIDMsCisgICAgICBtID0gcHJvamVjdGlvbk11dGF0b3IocHJvamVjdEF0
KSwKKyAgICAgIHAgPSBtKHBoaTAsIHBoaTEpOworCisgIHAucGFyYWxsZWxzID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gbShwaGkwID0gX1swXSAqIHJhZGlh
bnMsIHBoaTEgPSBfWzFdICogcmFkaWFucykgOiBbcGhpMCAqIGRlZ3JlZXMkMSwgcGhpMSAqIGRl
Z3JlZXMkMV07CisgIH07CisKKyAgcmV0dXJuIHA7Cit9CisKK2Z1bmN0aW9uIGN5bGluZHJpY2Fs
RXF1YWxBcmVhUmF3KHBoaTApIHsKKyAgdmFyIGNvc1BoaTAgPSBjb3MkMShwaGkwKTsKKworICBm
dW5jdGlvbiBmb3J3YXJkKGxhbWJkYSwgcGhpKSB7CisgICAgcmV0dXJuIFtsYW1iZGEgKiBjb3NQ
aGkwLCBzaW4kMShwaGkpIC8gY29zUGhpMF07CisgIH0KKworICBmb3J3YXJkLmludmVydCA9IGZ1
bmN0aW9uKHgsIHkpIHsKKyAgICByZXR1cm4gW3ggLyBjb3NQaGkwLCBhc2luKHkgKiBjb3NQaGkw
KV07CisgIH07CisKKyAgcmV0dXJuIGZvcndhcmQ7Cit9CisKK2Z1bmN0aW9uIGNvbmljRXF1YWxB
cmVhUmF3KHkwLCB5MSkgeworICB2YXIgc3kwID0gc2luJDEoeTApLCBuID0gKHN5MCArIHNpbiQx
KHkxKSkgLyAyOworCisgIC8vIEFyZSB0aGUgcGFyYWxsZWxzIHN5bW1ldHJpY2FsIGFyb3VuZCB0
aGUgRXF1YXRvcj8KKyAgaWYgKGFicyhuKSA8IGVwc2lsb24kMikgcmV0dXJuIGN5bGluZHJpY2Fs
RXF1YWxBcmVhUmF3KHkwKTsKKworICB2YXIgYyA9IDEgKyBzeTAgKiAoMiAqIG4gLSBzeTApLCBy
MCA9IHNxcnQoYykgLyBuOworCisgIGZ1bmN0aW9uIHByb2plY3QoeCwgeSkgeworICAgIHZhciBy
ID0gc3FydChjIC0gMiAqIG4gKiBzaW4kMSh5KSkgLyBuOworICAgIHJldHVybiBbciAqIHNpbiQx
KHggKj0gbiksIHIwIC0gciAqIGNvcyQxKHgpXTsKKyAgfQorCisgIHByb2plY3QuaW52ZXJ0ID0g
ZnVuY3Rpb24oeCwgeSkgeworICAgIHZhciByMHkgPSByMCAtIHk7CisgICAgcmV0dXJuIFthdGFu
Mih4LCBhYnMocjB5KSkgLyBuICogc2lnbihyMHkpLCBhc2luKChjIC0gKHggKiB4ICsgcjB5ICog
cjB5KSAqIG4gKiBuKSAvICgyICogbikpXTsKKyAgfTsKKworICByZXR1cm4gcHJvamVjdDsKK30K
KworZnVuY3Rpb24gY29uaWNFcXVhbEFyZWEoKSB7CisgIHJldHVybiBjb25pY1Byb2plY3Rpb24o
Y29uaWNFcXVhbEFyZWFSYXcpCisgICAgICAuc2NhbGUoMTU1LjQyNCkKKyAgICAgIC5jZW50ZXIo
WzAsIDMzLjY0NDJdKTsKK30KKworZnVuY3Rpb24gYWxiZXJzKCkgeworICByZXR1cm4gY29uaWNF
cXVhbEFyZWEoKQorICAgICAgLnBhcmFsbGVscyhbMjkuNSwgNDUuNV0pCisgICAgICAuc2NhbGUo
MTA3MCkKKyAgICAgIC50cmFuc2xhdGUoWzQ4MCwgMjUwXSkKKyAgICAgIC5yb3RhdGUoWzk2LCAw
XSkKKyAgICAgIC5jZW50ZXIoWy0wLjYsIDM4LjddKTsKK30KKworLy8gVGhlIHByb2plY3Rpb25z
IG11c3QgaGF2ZSBtdXR1YWxseSBleGNsdXNpdmUgY2xpcCByZWdpb25zIG9uIHRoZSBzcGhlcmUs
CisvLyBhcyB0aGlzIHdpbGwgYXZvaWQgZW1pdHRpbmcgaW50ZXJsZWF2aW5nIGxpbmVzIGFuZCBw
b2x5Z29ucy4KK2Z1bmN0aW9uIG11bHRpcGxleChzdHJlYW1zKSB7CisgIHZhciBuID0gc3RyZWFt
cy5sZW5ndGg7CisgIHJldHVybiB7CisgICAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsgdmFyIGkg
PSAtMTsgd2hpbGUgKCsraSA8IG4pIHN0cmVhbXNbaV0ucG9pbnQoeCwgeSk7IH0sCisgICAgc3Bo
ZXJlOiBmdW5jdGlvbigpIHsgdmFyIGkgPSAtMTsgd2hpbGUgKCsraSA8IG4pIHN0cmVhbXNbaV0u
c3BoZXJlKCk7IH0sCisgICAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsgdmFyIGkgPSAtMTsgd2hp
bGUgKCsraSA8IG4pIHN0cmVhbXNbaV0ubGluZVN0YXJ0KCk7IH0sCisgICAgbGluZUVuZDogZnVu
Y3Rpb24oKSB7IHZhciBpID0gLTE7IHdoaWxlICgrK2kgPCBuKSBzdHJlYW1zW2ldLmxpbmVFbmQo
KTsgfSwKKyAgICBwb2x5Z29uU3RhcnQ6IGZ1bmN0aW9uKCkgeyB2YXIgaSA9IC0xOyB3aGlsZSAo
KytpIDwgbikgc3RyZWFtc1tpXS5wb2x5Z29uU3RhcnQoKTsgfSwKKyAgICBwb2x5Z29uRW5kOiBm
dW5jdGlvbigpIHsgdmFyIGkgPSAtMTsgd2hpbGUgKCsraSA8IG4pIHN0cmVhbXNbaV0ucG9seWdv
bkVuZCgpOyB9CisgIH07Cit9CisKKy8vIEEgY29tcG9zaXRlIHByb2plY3Rpb24gZm9yIHRoZSBV
bml0ZWQgU3RhdGVzLCBjb25maWd1cmVkIGJ5IGRlZmF1bHQgZm9yCisvLyA5NjDDlzUwMC4gVGhl
IHByb2plY3Rpb24gYWxzbyB3b3JrcyBxdWl0ZSB3ZWxsIGF0IDk2MMOXNjAwIGlmIHlvdSBjaGFu
Z2UgdGhlCisvLyBzY2FsZSB0byAxMjg1IGFuZCBhZGp1c3QgdGhlIHRyYW5zbGF0ZSBhY2NvcmRp
bmdseS4gVGhlIHNldCBvZiBzdGFuZGFyZAorLy8gcGFyYWxsZWxzIGZvciBlYWNoIHJlZ2lvbiBj
b21lcyBmcm9tIFVTR1MsIHdoaWNoIGlzIHB1Ymxpc2hlZCBoZXJlOgorLy8gaHR0cDovL2Vnc2Mu
dXNncy5nb3YvaXNiL3B1YnMvTWFwUHJvamVjdGlvbnMvcHJvamVjdGlvbnMuaHRtbCNhbGJlcnMK
K2Z1bmN0aW9uIGFsYmVyc1VzYSgpIHsKKyAgdmFyIGNhY2hlLAorICAgICAgY2FjaGVTdHJlYW0s
CisgICAgICBsb3dlcjQ4ID0gYWxiZXJzKCksIGxvd2VyNDhQb2ludCwKKyAgICAgIGFsYXNrYSA9
IGNvbmljRXF1YWxBcmVhKCkucm90YXRlKFsxNTQsIDBdKS5jZW50ZXIoWy0yLCA1OC41XSkucGFy
YWxsZWxzKFs1NSwgNjVdKSwgYWxhc2thUG9pbnQsIC8vIEVQU0c6MzMzOAorICAgICAgaGF3YWlp
ID0gY29uaWNFcXVhbEFyZWEoKS5yb3RhdGUoWzE1NywgMF0pLmNlbnRlcihbLTMsIDE5LjldKS5w
YXJhbGxlbHMoWzgsIDE4XSksIGhhd2FpaVBvaW50LCAvLyBFU1JJOjEwMjAwNworICAgICAgcG9p
bnQsIHBvaW50U3RyZWFtID0ge3BvaW50OiBmdW5jdGlvbih4LCB5KSB7IHBvaW50ID0gW3gsIHld
OyB9fTsKKworICBmdW5jdGlvbiBhbGJlcnNVc2EoY29vcmRpbmF0ZXMpIHsKKyAgICB2YXIgeCA9
IGNvb3JkaW5hdGVzWzBdLCB5ID0gY29vcmRpbmF0ZXNbMV07CisgICAgcmV0dXJuIHBvaW50ID0g
bnVsbCwKKyAgICAgICAgKGxvd2VyNDhQb2ludC5wb2ludCh4LCB5KSwgcG9pbnQpCisgICAgICAg
IHx8IChhbGFza2FQb2ludC5wb2ludCh4LCB5KSwgcG9pbnQpCisgICAgICAgIHx8IChoYXdhaWlQ
b2ludC5wb2ludCh4LCB5KSwgcG9pbnQpOworICB9CisKKyAgYWxiZXJzVXNhLmludmVydCA9IGZ1
bmN0aW9uKGNvb3JkaW5hdGVzKSB7CisgICAgdmFyIGsgPSBsb3dlcjQ4LnNjYWxlKCksCisgICAg
ICAgIHQgPSBsb3dlcjQ4LnRyYW5zbGF0ZSgpLAorICAgICAgICB4ID0gKGNvb3JkaW5hdGVzWzBd
IC0gdFswXSkgLyBrLAorICAgICAgICB5ID0gKGNvb3JkaW5hdGVzWzFdIC0gdFsxXSkgLyBrOwor
ICAgIHJldHVybiAoeSA+PSAwLjEyMCAmJiB5IDwgMC4yMzQgJiYgeCA+PSAtMC40MjUgJiYgeCA8
IC0wLjIxNCA/IGFsYXNrYQorICAgICAgICA6IHkgPj0gMC4xNjYgJiYgeSA8IDAuMjM0ICYmIHgg
Pj0gLTAuMjE0ICYmIHggPCAtMC4xMTUgPyBoYXdhaWkKKyAgICAgICAgOiBsb3dlcjQ4KS5pbnZl
cnQoY29vcmRpbmF0ZXMpOworICB9OworCisgIGFsYmVyc1VzYS5zdHJlYW0gPSBmdW5jdGlvbihz
dHJlYW0pIHsKKyAgICByZXR1cm4gY2FjaGUgJiYgY2FjaGVTdHJlYW0gPT09IHN0cmVhbSA/IGNh
Y2hlIDogY2FjaGUgPSBtdWx0aXBsZXgoW2xvd2VyNDguc3RyZWFtKGNhY2hlU3RyZWFtID0gc3Ry
ZWFtKSwgYWxhc2thLnN0cmVhbShzdHJlYW0pLCBoYXdhaWkuc3RyZWFtKHN0cmVhbSldKTsKKyAg
fTsKKworICBhbGJlcnNVc2EucHJlY2lzaW9uID0gZnVuY3Rpb24oXykgeworICAgIGlmICghYXJn
dW1lbnRzLmxlbmd0aCkgcmV0dXJuIGxvd2VyNDgucHJlY2lzaW9uKCk7CisgICAgbG93ZXI0OC5w
cmVjaXNpb24oXyksIGFsYXNrYS5wcmVjaXNpb24oXyksIGhhd2FpaS5wcmVjaXNpb24oXyk7Cisg
ICAgcmV0dXJuIHJlc2V0KCk7CisgIH07CisKKyAgYWxiZXJzVXNhLnNjYWxlID0gZnVuY3Rpb24o
XykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIGxvd2VyNDguc2NhbGUoKTsK
KyAgICBsb3dlcjQ4LnNjYWxlKF8pLCBhbGFza2Euc2NhbGUoXyAqIDAuMzUpLCBoYXdhaWkuc2Nh
bGUoXyk7CisgICAgcmV0dXJuIGFsYmVyc1VzYS50cmFuc2xhdGUobG93ZXI0OC50cmFuc2xhdGUo
KSk7CisgIH07CisKKyAgYWxiZXJzVXNhLnRyYW5zbGF0ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBp
ZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBsb3dlcjQ4LnRyYW5zbGF0ZSgpOworICAgIHZh
ciBrID0gbG93ZXI0OC5zY2FsZSgpLCB4ID0gK19bMF0sIHkgPSArX1sxXTsKKworICAgIGxvd2Vy
NDhQb2ludCA9IGxvd2VyNDgKKyAgICAgICAgLnRyYW5zbGF0ZShfKQorICAgICAgICAuY2xpcEV4
dGVudChbW3ggLSAwLjQ1NSAqIGssIHkgLSAwLjIzOCAqIGtdLCBbeCArIDAuNDU1ICogaywgeSAr
IDAuMjM4ICoga11dKQorICAgICAgICAuc3RyZWFtKHBvaW50U3RyZWFtKTsKKworICAgIGFsYXNr
YVBvaW50ID0gYWxhc2thCisgICAgICAgIC50cmFuc2xhdGUoW3ggLSAwLjMwNyAqIGssIHkgKyAw
LjIwMSAqIGtdKQorICAgICAgICAuY2xpcEV4dGVudChbW3ggLSAwLjQyNSAqIGsgKyBlcHNpbG9u
JDIsIHkgKyAwLjEyMCAqIGsgKyBlcHNpbG9uJDJdLCBbeCAtIDAuMjE0ICogayAtIGVwc2lsb24k
MiwgeSArIDAuMjM0ICogayAtIGVwc2lsb24kMl1dKQorICAgICAgICAuc3RyZWFtKHBvaW50U3Ry
ZWFtKTsKKworICAgIGhhd2FpaVBvaW50ID0gaGF3YWlpCisgICAgICAgIC50cmFuc2xhdGUoW3gg
LSAwLjIwNSAqIGssIHkgKyAwLjIxMiAqIGtdKQorICAgICAgICAuY2xpcEV4dGVudChbW3ggLSAw
LjIxNCAqIGsgKyBlcHNpbG9uJDIsIHkgKyAwLjE2NiAqIGsgKyBlcHNpbG9uJDJdLCBbeCAtIDAu
MTE1ICogayAtIGVwc2lsb24kMiwgeSArIDAuMjM0ICogayAtIGVwc2lsb24kMl1dKQorICAgICAg
ICAuc3RyZWFtKHBvaW50U3RyZWFtKTsKKworICAgIHJldHVybiByZXNldCgpOworICB9OworCisg
IGFsYmVyc1VzYS5maXRFeHRlbnQgPSBmdW5jdGlvbihleHRlbnQsIG9iamVjdCkgeworICAgIHJl
dHVybiBmaXRFeHRlbnQoYWxiZXJzVXNhLCBleHRlbnQsIG9iamVjdCk7CisgIH07CisKKyAgYWxi
ZXJzVXNhLmZpdFNpemUgPSBmdW5jdGlvbihzaXplLCBvYmplY3QpIHsKKyAgICByZXR1cm4gZml0
U2l6ZShhbGJlcnNVc2EsIHNpemUsIG9iamVjdCk7CisgIH07CisKKyAgYWxiZXJzVXNhLmZpdFdp
ZHRoID0gZnVuY3Rpb24od2lkdGgsIG9iamVjdCkgeworICAgIHJldHVybiBmaXRXaWR0aChhbGJl
cnNVc2EsIHdpZHRoLCBvYmplY3QpOworICB9OworCisgIGFsYmVyc1VzYS5maXRIZWlnaHQgPSBm
dW5jdGlvbihoZWlnaHQsIG9iamVjdCkgeworICAgIHJldHVybiBmaXRIZWlnaHQoYWxiZXJzVXNh
LCBoZWlnaHQsIG9iamVjdCk7CisgIH07CisKKyAgZnVuY3Rpb24gcmVzZXQoKSB7CisgICAgY2Fj
aGUgPSBjYWNoZVN0cmVhbSA9IG51bGw7CisgICAgcmV0dXJuIGFsYmVyc1VzYTsKKyAgfQorCisg
IHJldHVybiBhbGJlcnNVc2Euc2NhbGUoMTA3MCk7Cit9CisKK2Z1bmN0aW9uIGF6aW11dGhhbFJh
dyhzY2FsZSkgeworICByZXR1cm4gZnVuY3Rpb24oeCwgeSkgeworICAgIHZhciBjeCA9IGNvcyQx
KHgpLAorICAgICAgICBjeSA9IGNvcyQxKHkpLAorICAgICAgICBrID0gc2NhbGUoY3ggKiBjeSk7
CisgICAgcmV0dXJuIFsKKyAgICAgIGsgKiBjeSAqIHNpbiQxKHgpLAorICAgICAgayAqIHNpbiQx
KHkpCisgICAgXTsKKyAgfQorfQorCitmdW5jdGlvbiBhemltdXRoYWxJbnZlcnQoYW5nbGUpIHsK
KyAgcmV0dXJuIGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB2YXIgeiA9IHNxcnQoeCAqIHggKyB5ICog
eSksCisgICAgICAgIGMgPSBhbmdsZSh6KSwKKyAgICAgICAgc2MgPSBzaW4kMShjKSwKKyAgICAg
ICAgY2MgPSBjb3MkMShjKTsKKyAgICByZXR1cm4gWworICAgICAgYXRhbjIoeCAqIHNjLCB6ICog
Y2MpLAorICAgICAgYXNpbih6ICYmIHkgKiBzYyAvIHopCisgICAgXTsKKyAgfQorfQorCit2YXIg
YXppbXV0aGFsRXF1YWxBcmVhUmF3ID0gYXppbXV0aGFsUmF3KGZ1bmN0aW9uKGN4Y3kpIHsKKyAg
cmV0dXJuIHNxcnQoMiAvICgxICsgY3hjeSkpOworfSk7CisKK2F6aW11dGhhbEVxdWFsQXJlYVJh
dy5pbnZlcnQgPSBhemltdXRoYWxJbnZlcnQoZnVuY3Rpb24oeikgeworICByZXR1cm4gMiAqIGFz
aW4oeiAvIDIpOworfSk7CisKK2Z1bmN0aW9uIGF6aW11dGhhbEVxdWFsQXJlYSgpIHsKKyAgcmV0
dXJuIHByb2plY3Rpb24oYXppbXV0aGFsRXF1YWxBcmVhUmF3KQorICAgICAgLnNjYWxlKDEyNC43
NSkKKyAgICAgIC5jbGlwQW5nbGUoMTgwIC0gMWUtMyk7Cit9CisKK3ZhciBhemltdXRoYWxFcXVp
ZGlzdGFudFJhdyA9IGF6aW11dGhhbFJhdyhmdW5jdGlvbihjKSB7CisgIHJldHVybiAoYyA9IGFj
b3MoYykpICYmIGMgLyBzaW4kMShjKTsKK30pOworCithemltdXRoYWxFcXVpZGlzdGFudFJhdy5p
bnZlcnQgPSBhemltdXRoYWxJbnZlcnQoZnVuY3Rpb24oeikgeworICByZXR1cm4gejsKK30pOwor
CitmdW5jdGlvbiBhemltdXRoYWxFcXVpZGlzdGFudCgpIHsKKyAgcmV0dXJuIHByb2plY3Rpb24o
YXppbXV0aGFsRXF1aWRpc3RhbnRSYXcpCisgICAgICAuc2NhbGUoNzkuNDE4OCkKKyAgICAgIC5j
bGlwQW5nbGUoMTgwIC0gMWUtMyk7Cit9CisKK2Z1bmN0aW9uIG1lcmNhdG9yUmF3KGxhbWJkYSwg
cGhpKSB7CisgIHJldHVybiBbbGFtYmRhLCBsb2codGFuKChoYWxmUGkkMiArIHBoaSkgLyAyKSld
OworfQorCittZXJjYXRvclJhdy5pbnZlcnQgPSBmdW5jdGlvbih4LCB5KSB7CisgIHJldHVybiBb
eCwgMiAqIGF0YW4oZXhwKHkpKSAtIGhhbGZQaSQyXTsKK307CisKK2Z1bmN0aW9uIG1lcmNhdG9y
KCkgeworICByZXR1cm4gbWVyY2F0b3JQcm9qZWN0aW9uKG1lcmNhdG9yUmF3KQorICAgICAgLnNj
YWxlKDk2MSAvIHRhdSQzKTsKK30KKworZnVuY3Rpb24gbWVyY2F0b3JQcm9qZWN0aW9uKHByb2pl
Y3QpIHsKKyAgdmFyIG0gPSBwcm9qZWN0aW9uKHByb2plY3QpLAorICAgICAgY2VudGVyID0gbS5j
ZW50ZXIsCisgICAgICBzY2FsZSA9IG0uc2NhbGUsCisgICAgICB0cmFuc2xhdGUgPSBtLnRyYW5z
bGF0ZSwKKyAgICAgIGNsaXBFeHRlbnQgPSBtLmNsaXBFeHRlbnQsCisgICAgICB4MCA9IG51bGws
IHkwLCB4MSwgeTE7IC8vIGNsaXAgZXh0ZW50CisKKyAgbS5zY2FsZSA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzY2FsZShfKSwgcmVjbGlwKCkpIDogc2Nh
bGUoKTsKKyAgfTsKKworICBtLnRyYW5zbGF0ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/ICh0cmFuc2xhdGUoXyksIHJlY2xpcCgpKSA6IHRyYW5zbGF0ZSgp
OworICB9OworCisgIG0uY2VudGVyID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKGNlbnRlcihfKSwgcmVjbGlwKCkpIDogY2VudGVyKCk7CisgIH07CisKKyAg
bS5jbGlwRXh0ZW50ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKChfID09IG51bGwgPyB4MCA9IHkwID0geDEgPSB5MSA9IG51bGwgOiAoeDAgPSArX1swXVsw
XSwgeTAgPSArX1swXVsxXSwgeDEgPSArX1sxXVswXSwgeTEgPSArX1sxXVsxXSkpLCByZWNsaXAo
KSkgOiB4MCA9PSBudWxsID8gbnVsbCA6IFtbeDAsIHkwXSwgW3gxLCB5MV1dOworICB9OworCisg
IGZ1bmN0aW9uIHJlY2xpcCgpIHsKKyAgICB2YXIgayA9IHBpJDMgKiBzY2FsZSgpLAorICAgICAg
ICB0ID0gbShyb3RhdGlvbihtLnJvdGF0ZSgpKS5pbnZlcnQoWzAsIDBdKSk7CisgICAgcmV0dXJu
IGNsaXBFeHRlbnQoeDAgPT0gbnVsbAorICAgICAgICA/IFtbdFswXSAtIGssIHRbMV0gLSBrXSwg
W3RbMF0gKyBrLCB0WzFdICsga11dIDogcHJvamVjdCA9PT0gbWVyY2F0b3JSYXcKKyAgICAgICAg
PyBbW01hdGgubWF4KHRbMF0gLSBrLCB4MCksIHkwXSwgW01hdGgubWluKHRbMF0gKyBrLCB4MSks
IHkxXV0KKyAgICAgICAgOiBbW3gwLCBNYXRoLm1heCh0WzFdIC0gaywgeTApXSwgW3gxLCBNYXRo
Lm1pbih0WzFdICsgaywgeTEpXV0pOworICB9CisKKyAgcmV0dXJuIHJlY2xpcCgpOworfQorCitm
dW5jdGlvbiB0YW55KHkpIHsKKyAgcmV0dXJuIHRhbigoaGFsZlBpJDIgKyB5KSAvIDIpOworfQor
CitmdW5jdGlvbiBjb25pY0NvbmZvcm1hbFJhdyh5MCwgeTEpIHsKKyAgdmFyIGN5MCA9IGNvcyQx
KHkwKSwKKyAgICAgIG4gPSB5MCA9PT0geTEgPyBzaW4kMSh5MCkgOiBsb2coY3kwIC8gY29zJDEo
eTEpKSAvIGxvZyh0YW55KHkxKSAvIHRhbnkoeTApKSwKKyAgICAgIGYgPSBjeTAgKiBwb3codGFu
eSh5MCksIG4pIC8gbjsKKworICBpZiAoIW4pIHJldHVybiBtZXJjYXRvclJhdzsKKworICBmdW5j
dGlvbiBwcm9qZWN0KHgsIHkpIHsKKyAgICBpZiAoZiA+IDApIHsgaWYgKHkgPCAtaGFsZlBpJDIg
KyBlcHNpbG9uJDIpIHkgPSAtaGFsZlBpJDIgKyBlcHNpbG9uJDI7IH0KKyAgICBlbHNlIHsgaWYg
KHkgPiBoYWxmUGkkMiAtIGVwc2lsb24kMikgeSA9IGhhbGZQaSQyIC0gZXBzaWxvbiQyOyB9Cisg
ICAgdmFyIHIgPSBmIC8gcG93KHRhbnkoeSksIG4pOworICAgIHJldHVybiBbciAqIHNpbiQxKG4g
KiB4KSwgZiAtIHIgKiBjb3MkMShuICogeCldOworICB9CisKKyAgcHJvamVjdC5pbnZlcnQgPSBm
dW5jdGlvbih4LCB5KSB7CisgICAgdmFyIGZ5ID0gZiAtIHksIHIgPSBzaWduKG4pICogc3FydCh4
ICogeCArIGZ5ICogZnkpOworICAgIHJldHVybiBbYXRhbjIoeCwgYWJzKGZ5KSkgLyBuICogc2ln
bihmeSksIDIgKiBhdGFuKHBvdyhmIC8gciwgMSAvIG4pKSAtIGhhbGZQaSQyXTsKKyAgfTsKKwor
ICByZXR1cm4gcHJvamVjdDsKK30KKworZnVuY3Rpb24gY29uaWNDb25mb3JtYWwoKSB7CisgIHJl
dHVybiBjb25pY1Byb2plY3Rpb24oY29uaWNDb25mb3JtYWxSYXcpCisgICAgICAuc2NhbGUoMTA5
LjUpCisgICAgICAucGFyYWxsZWxzKFszMCwgMzBdKTsKK30KKworZnVuY3Rpb24gZXF1aXJlY3Rh
bmd1bGFyUmF3KGxhbWJkYSwgcGhpKSB7CisgIHJldHVybiBbbGFtYmRhLCBwaGldOworfQorCitl
cXVpcmVjdGFuZ3VsYXJSYXcuaW52ZXJ0ID0gZXF1aXJlY3Rhbmd1bGFyUmF3OworCitmdW5jdGlv
biBlcXVpcmVjdGFuZ3VsYXIoKSB7CisgIHJldHVybiBwcm9qZWN0aW9uKGVxdWlyZWN0YW5ndWxh
clJhdykKKyAgICAgIC5zY2FsZSgxNTIuNjMpOworfQorCitmdW5jdGlvbiBjb25pY0VxdWlkaXN0
YW50UmF3KHkwLCB5MSkgeworICB2YXIgY3kwID0gY29zJDEoeTApLAorICAgICAgbiA9IHkwID09
PSB5MSA/IHNpbiQxKHkwKSA6IChjeTAgLSBjb3MkMSh5MSkpIC8gKHkxIC0geTApLAorICAgICAg
ZyA9IGN5MCAvIG4gKyB5MDsKKworICBpZiAoYWJzKG4pIDwgZXBzaWxvbiQyKSByZXR1cm4gZXF1
aXJlY3Rhbmd1bGFyUmF3OworCisgIGZ1bmN0aW9uIHByb2plY3QoeCwgeSkgeworICAgIHZhciBn
eSA9IGcgLSB5LCBueCA9IG4gKiB4OworICAgIHJldHVybiBbZ3kgKiBzaW4kMShueCksIGcgLSBn
eSAqIGNvcyQxKG54KV07CisgIH0KKworICBwcm9qZWN0LmludmVydCA9IGZ1bmN0aW9uKHgsIHkp
IHsKKyAgICB2YXIgZ3kgPSBnIC0geTsKKyAgICByZXR1cm4gW2F0YW4yKHgsIGFicyhneSkpIC8g
biAqIHNpZ24oZ3kpLCBnIC0gc2lnbihuKSAqIHNxcnQoeCAqIHggKyBneSAqIGd5KV07CisgIH07
CisKKyAgcmV0dXJuIHByb2plY3Q7Cit9CisKK2Z1bmN0aW9uIGNvbmljRXF1aWRpc3RhbnQoKSB7
CisgIHJldHVybiBjb25pY1Byb2plY3Rpb24oY29uaWNFcXVpZGlzdGFudFJhdykKKyAgICAgIC5z
Y2FsZSgxMzEuMTU0KQorICAgICAgLmNlbnRlcihbMCwgMTMuOTM4OV0pOworfQorCit2YXIgQTEg
PSAxLjM0MDI2NCwKKyAgICBBMiA9IC0wLjA4MTEwNiwKKyAgICBBMyA9IDAuMDAwODkzLAorICAg
IEE0ID0gMC4wMDM3OTYsCisgICAgTSA9IHNxcnQoMykgLyAyLAorICAgIGl0ZXJhdGlvbnMgPSAx
MjsKKworZnVuY3Rpb24gZXF1YWxFYXJ0aFJhdyhsYW1iZGEsIHBoaSkgeworICB2YXIgbCA9IGFz
aW4oTSAqIHNpbiQxKHBoaSkpLCBsMiA9IGwgKiBsLCBsNiA9IGwyICogbDIgKiBsMjsKKyAgcmV0
dXJuIFsKKyAgICBsYW1iZGEgKiBjb3MkMShsKSAvIChNICogKEExICsgMyAqIEEyICogbDIgKyBs
NiAqICg3ICogQTMgKyA5ICogQTQgKiBsMikpKSwKKyAgICBsICogKEExICsgQTIgKiBsMiArIGw2
ICogKEEzICsgQTQgKiBsMikpCisgIF07Cit9CisKK2VxdWFsRWFydGhSYXcuaW52ZXJ0ID0gZnVu
Y3Rpb24oeCwgeSkgeworICB2YXIgbCA9IHksIGwyID0gbCAqIGwsIGw2ID0gbDIgKiBsMiAqIGwy
OworICBmb3IgKHZhciBpID0gMCwgZGVsdGEsIGZ5LCBmcHk7IGkgPCBpdGVyYXRpb25zOyArK2kp
IHsKKyAgICBmeSA9IGwgKiAoQTEgKyBBMiAqIGwyICsgbDYgKiAoQTMgKyBBNCAqIGwyKSkgLSB5
OworICAgIGZweSA9IEExICsgMyAqIEEyICogbDIgKyBsNiAqICg3ICogQTMgKyA5ICogQTQgKiBs
Mik7CisgICAgbCAtPSBkZWx0YSA9IGZ5IC8gZnB5LCBsMiA9IGwgKiBsLCBsNiA9IGwyICogbDIg
KiBsMjsKKyAgICBpZiAoYWJzKGRlbHRhKSA8IGVwc2lsb24yJDEpIGJyZWFrOworICB9CisgIHJl
dHVybiBbCisgICAgTSAqIHggKiAoQTEgKyAzICogQTIgKiBsMiArIGw2ICogKDcgKiBBMyArIDkg
KiBBNCAqIGwyKSkgLyBjb3MkMShsKSwKKyAgICBhc2luKHNpbiQxKGwpIC8gTSkKKyAgXTsKK307
CisKK2Z1bmN0aW9uIGVxdWFsRWFydGgoKSB7CisgIHJldHVybiBwcm9qZWN0aW9uKGVxdWFsRWFy
dGhSYXcpCisgICAgICAuc2NhbGUoMTc3LjE1OCk7Cit9CisKK2Z1bmN0aW9uIGdub21vbmljUmF3
KHgsIHkpIHsKKyAgdmFyIGN5ID0gY29zJDEoeSksIGsgPSBjb3MkMSh4KSAqIGN5OworICByZXR1
cm4gW2N5ICogc2luJDEoeCkgLyBrLCBzaW4kMSh5KSAvIGtdOworfQorCitnbm9tb25pY1Jhdy5p
bnZlcnQgPSBhemltdXRoYWxJbnZlcnQoYXRhbik7CisKK2Z1bmN0aW9uIGdub21vbmljKCkgewor
ICByZXR1cm4gcHJvamVjdGlvbihnbm9tb25pY1JhdykKKyAgICAgIC5zY2FsZSgxNDQuMDQ5KQor
ICAgICAgLmNsaXBBbmdsZSg2MCk7Cit9CisKK2Z1bmN0aW9uIHNjYWxlVHJhbnNsYXRlJDEoa3gs
IGt5LCB0eCwgdHkpIHsKKyAgcmV0dXJuIGt4ID09PSAxICYmIGt5ID09PSAxICYmIHR4ID09PSAw
ICYmIHR5ID09PSAwID8gaWRlbnRpdHkkNCA6IHRyYW5zZm9ybWVyKHsKKyAgICBwb2ludDogZnVu
Y3Rpb24oeCwgeSkgeworICAgICAgdGhpcy5zdHJlYW0ucG9pbnQoeCAqIGt4ICsgdHgsIHkgKiBr
eSArIHR5KTsKKyAgICB9CisgIH0pOworfQorCitmdW5jdGlvbiBpZGVudGl0eSQ1KCkgeworICB2
YXIgayA9IDEsIHR4ID0gMCwgdHkgPSAwLCBzeCA9IDEsIHN5ID0gMSwgdHJhbnNmb3JtID0gaWRl
bnRpdHkkNCwgLy8gc2NhbGUsIHRyYW5zbGF0ZSBhbmQgcmVmbGVjdAorICAgICAgeDAgPSBudWxs
LCB5MCwgeDEsIHkxLCAvLyBjbGlwIGV4dGVudAorICAgICAgcG9zdGNsaXAgPSBpZGVudGl0eSQ0
LAorICAgICAgY2FjaGUsCisgICAgICBjYWNoZVN0cmVhbSwKKyAgICAgIHByb2plY3Rpb247CisK
KyAgZnVuY3Rpb24gcmVzZXQoKSB7CisgICAgY2FjaGUgPSBjYWNoZVN0cmVhbSA9IG51bGw7Cisg
ICAgcmV0dXJuIHByb2plY3Rpb247CisgIH0KKworICByZXR1cm4gcHJvamVjdGlvbiA9IHsKKyAg
ICBzdHJlYW06IGZ1bmN0aW9uKHN0cmVhbSkgeworICAgICAgcmV0dXJuIGNhY2hlICYmIGNhY2hl
U3RyZWFtID09PSBzdHJlYW0gPyBjYWNoZSA6IGNhY2hlID0gdHJhbnNmb3JtKHBvc3RjbGlwKGNh
Y2hlU3RyZWFtID0gc3RyZWFtKSk7CisgICAgfSwKKyAgICBwb3N0Y2xpcDogZnVuY3Rpb24oXykg
eworICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocG9zdGNsaXAgPSBfLCB4MCA9IHkw
ID0geDEgPSB5MSA9IG51bGwsIHJlc2V0KCkpIDogcG9zdGNsaXA7CisgICAgfSwKKyAgICBjbGlw
RXh0ZW50OiBmdW5jdGlvbihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChw
b3N0Y2xpcCA9IF8gPT0gbnVsbCA/ICh4MCA9IHkwID0geDEgPSB5MSA9IG51bGwsIGlkZW50aXR5
JDQpIDogY2xpcFJlY3RhbmdsZSh4MCA9ICtfWzBdWzBdLCB5MCA9ICtfWzBdWzFdLCB4MSA9ICtf
WzFdWzBdLCB5MSA9ICtfWzFdWzFdKSwgcmVzZXQoKSkgOiB4MCA9PSBudWxsID8gbnVsbCA6IFtb
eDAsIHkwXSwgW3gxLCB5MV1dOworICAgIH0sCisgICAgc2NhbGU6IGZ1bmN0aW9uKF8pIHsKKyAg
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRyYW5zZm9ybSA9IHNjYWxlVHJhbnNsYXRl
JDEoKGsgPSArXykgKiBzeCwgayAqIHN5LCB0eCwgdHkpLCByZXNldCgpKSA6IGs7CisgICAgfSwK
KyAgICB0cmFuc2xhdGU6IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHRyYW5zZm9ybSA9IHNjYWxlVHJhbnNsYXRlJDEoayAqIHN4LCBrICogc3ksIHR4ID0g
K19bMF0sIHR5ID0gK19bMV0pLCByZXNldCgpKSA6IFt0eCwgdHldOworICAgIH0sCisgICAgcmVm
bGVjdFg6IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRy
YW5zZm9ybSA9IHNjYWxlVHJhbnNsYXRlJDEoayAqIChzeCA9IF8gPyAtMSA6IDEpLCBrICogc3ks
IHR4LCB0eSksIHJlc2V0KCkpIDogc3ggPCAwOworICAgIH0sCisgICAgcmVmbGVjdFk6IGZ1bmN0
aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRyYW5zZm9ybSA9IHNj
YWxlVHJhbnNsYXRlJDEoayAqIHN4LCBrICogKHN5ID0gXyA/IC0xIDogMSksIHR4LCB0eSksIHJl
c2V0KCkpIDogc3kgPCAwOworICAgIH0sCisgICAgZml0RXh0ZW50OiBmdW5jdGlvbihleHRlbnQs
IG9iamVjdCkgeworICAgICAgcmV0dXJuIGZpdEV4dGVudChwcm9qZWN0aW9uLCBleHRlbnQsIG9i
amVjdCk7CisgICAgfSwKKyAgICBmaXRTaXplOiBmdW5jdGlvbihzaXplLCBvYmplY3QpIHsKKyAg
ICAgIHJldHVybiBmaXRTaXplKHByb2plY3Rpb24sIHNpemUsIG9iamVjdCk7CisgICAgfSwKKyAg
ICBmaXRXaWR0aDogZnVuY3Rpb24od2lkdGgsIG9iamVjdCkgeworICAgICAgcmV0dXJuIGZpdFdp
ZHRoKHByb2plY3Rpb24sIHdpZHRoLCBvYmplY3QpOworICAgIH0sCisgICAgZml0SGVpZ2h0OiBm
dW5jdGlvbihoZWlnaHQsIG9iamVjdCkgeworICAgICAgcmV0dXJuIGZpdEhlaWdodChwcm9qZWN0
aW9uLCBoZWlnaHQsIG9iamVjdCk7CisgICAgfQorICB9OworfQorCitmdW5jdGlvbiBuYXR1cmFs
RWFydGgxUmF3KGxhbWJkYSwgcGhpKSB7CisgIHZhciBwaGkyID0gcGhpICogcGhpLCBwaGk0ID0g
cGhpMiAqIHBoaTI7CisgIHJldHVybiBbCisgICAgbGFtYmRhICogKDAuODcwNyAtIDAuMTMxOTc5
ICogcGhpMiArIHBoaTQgKiAoLTAuMDEzNzkxICsgcGhpNCAqICgwLjAwMzk3MSAqIHBoaTIgLSAw
LjAwMTUyOSAqIHBoaTQpKSksCisgICAgcGhpICogKDEuMDA3MjI2ICsgcGhpMiAqICgwLjAxNTA4
NSArIHBoaTQgKiAoLTAuMDQ0NDc1ICsgMC4wMjg4NzQgKiBwaGkyIC0gMC4wMDU5MTYgKiBwaGk0
KSkpCisgIF07Cit9CisKK25hdHVyYWxFYXJ0aDFSYXcuaW52ZXJ0ID0gZnVuY3Rpb24oeCwgeSkg
eworICB2YXIgcGhpID0geSwgaSA9IDI1LCBkZWx0YTsKKyAgZG8geworICAgIHZhciBwaGkyID0g
cGhpICogcGhpLCBwaGk0ID0gcGhpMiAqIHBoaTI7CisgICAgcGhpIC09IGRlbHRhID0gKHBoaSAq
ICgxLjAwNzIyNiArIHBoaTIgKiAoMC4wMTUwODUgKyBwaGk0ICogKC0wLjA0NDQ3NSArIDAuMDI4
ODc0ICogcGhpMiAtIDAuMDA1OTE2ICogcGhpNCkpKSAtIHkpIC8KKyAgICAgICAgKDEuMDA3MjI2
ICsgcGhpMiAqICgwLjAxNTA4NSAqIDMgKyBwaGk0ICogKC0wLjA0NDQ3NSAqIDcgKyAwLjAyODg3
NCAqIDkgKiBwaGkyIC0gMC4wMDU5MTYgKiAxMSAqIHBoaTQpKSk7CisgIH0gd2hpbGUgKGFicyhk
ZWx0YSkgPiBlcHNpbG9uJDIgJiYgLS1pID4gMCk7CisgIHJldHVybiBbCisgICAgeCAvICgwLjg3
MDcgKyAocGhpMiA9IHBoaSAqIHBoaSkgKiAoLTAuMTMxOTc5ICsgcGhpMiAqICgtMC4wMTM3OTEg
KyBwaGkyICogcGhpMiAqIHBoaTIgKiAoMC4wMDM5NzEgLSAwLjAwMTUyOSAqIHBoaTIpKSkpLAor
ICAgIHBoaQorICBdOworfTsKKworZnVuY3Rpb24gbmF0dXJhbEVhcnRoMSgpIHsKKyAgcmV0dXJu
IHByb2plY3Rpb24obmF0dXJhbEVhcnRoMVJhdykKKyAgICAgIC5zY2FsZSgxNzUuMjk1KTsKK30K
KworZnVuY3Rpb24gb3J0aG9ncmFwaGljUmF3KHgsIHkpIHsKKyAgcmV0dXJuIFtjb3MkMSh5KSAq
IHNpbiQxKHgpLCBzaW4kMSh5KV07Cit9CisKK29ydGhvZ3JhcGhpY1Jhdy5pbnZlcnQgPSBhemlt
dXRoYWxJbnZlcnQoYXNpbik7CisKK2Z1bmN0aW9uIG9ydGhvZ3JhcGhpYygpIHsKKyAgcmV0dXJu
IHByb2plY3Rpb24ob3J0aG9ncmFwaGljUmF3KQorICAgICAgLnNjYWxlKDI0OS41KQorICAgICAg
LmNsaXBBbmdsZSg5MCArIGVwc2lsb24kMik7Cit9CisKK2Z1bmN0aW9uIHN0ZXJlb2dyYXBoaWNS
YXcoeCwgeSkgeworICB2YXIgY3kgPSBjb3MkMSh5KSwgayA9IDEgKyBjb3MkMSh4KSAqIGN5Owor
ICByZXR1cm4gW2N5ICogc2luJDEoeCkgLyBrLCBzaW4kMSh5KSAvIGtdOworfQorCitzdGVyZW9n
cmFwaGljUmF3LmludmVydCA9IGF6aW11dGhhbEludmVydChmdW5jdGlvbih6KSB7CisgIHJldHVy
biAyICogYXRhbih6KTsKK30pOworCitmdW5jdGlvbiBzdGVyZW9ncmFwaGljKCkgeworICByZXR1
cm4gcHJvamVjdGlvbihzdGVyZW9ncmFwaGljUmF3KQorICAgICAgLnNjYWxlKDI1MCkKKyAgICAg
IC5jbGlwQW5nbGUoMTQyKTsKK30KKworZnVuY3Rpb24gdHJhbnN2ZXJzZU1lcmNhdG9yUmF3KGxh
bWJkYSwgcGhpKSB7CisgIHJldHVybiBbbG9nKHRhbigoaGFsZlBpJDIgKyBwaGkpIC8gMikpLCAt
bGFtYmRhXTsKK30KKwordHJhbnN2ZXJzZU1lcmNhdG9yUmF3LmludmVydCA9IGZ1bmN0aW9uKHgs
IHkpIHsKKyAgcmV0dXJuIFsteSwgMiAqIGF0YW4oZXhwKHgpKSAtIGhhbGZQaSQyXTsKK307CisK
K2Z1bmN0aW9uIHRyYW5zdmVyc2VNZXJjYXRvcigpIHsKKyAgdmFyIG0gPSBtZXJjYXRvclByb2pl
Y3Rpb24odHJhbnN2ZXJzZU1lcmNhdG9yUmF3KSwKKyAgICAgIGNlbnRlciA9IG0uY2VudGVyLAor
ICAgICAgcm90YXRlID0gbS5yb3RhdGU7CisKKyAgbS5jZW50ZXIgPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyBjZW50ZXIoWy1fWzFdLCBfWzBdXSkgOiAoXyA9
IGNlbnRlcigpLCBbX1sxXSwgLV9bMF1dKTsKKyAgfTsKKworICBtLnJvdGF0ZSA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IHJvdGF0ZShbX1swXSwgX1sxXSwg
Xy5sZW5ndGggPiAyID8gX1syXSArIDkwIDogOTBdKSA6IChfID0gcm90YXRlKCksIFtfWzBdLCBf
WzFdLCBfWzJdIC0gOTBdKTsKKyAgfTsKKworICByZXR1cm4gcm90YXRlKFswLCAwLCA5MF0pCisg
ICAgICAuc2NhbGUoMTU5LjE1NSk7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRTZXBhcmF0aW9uKGEs
IGIpIHsKKyAgcmV0dXJuIGEucGFyZW50ID09PSBiLnBhcmVudCA/IDEgOiAyOworfQorCitmdW5j
dGlvbiBtZWFuWChjaGlsZHJlbikgeworICByZXR1cm4gY2hpbGRyZW4ucmVkdWNlKG1lYW5YUmVk
dWNlLCAwKSAvIGNoaWxkcmVuLmxlbmd0aDsKK30KKworZnVuY3Rpb24gbWVhblhSZWR1Y2UoeCwg
YykgeworICByZXR1cm4geCArIGMueDsKK30KKworZnVuY3Rpb24gbWF4WShjaGlsZHJlbikgewor
ICByZXR1cm4gMSArIGNoaWxkcmVuLnJlZHVjZShtYXhZUmVkdWNlLCAwKTsKK30KKworZnVuY3Rp
b24gbWF4WVJlZHVjZSh5LCBjKSB7CisgIHJldHVybiBNYXRoLm1heCh5LCBjLnkpOworfQorCitm
dW5jdGlvbiBsZWFmTGVmdChub2RlKSB7CisgIHZhciBjaGlsZHJlbjsKKyAgd2hpbGUgKGNoaWxk
cmVuID0gbm9kZS5jaGlsZHJlbikgbm9kZSA9IGNoaWxkcmVuWzBdOworICByZXR1cm4gbm9kZTsK
K30KKworZnVuY3Rpb24gbGVhZlJpZ2h0KG5vZGUpIHsKKyAgdmFyIGNoaWxkcmVuOworICB3aGls
ZSAoY2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuKSBub2RlID0gY2hpbGRyZW5bY2hpbGRyZW4ubGVu
Z3RoIC0gMV07CisgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiBjbHVzdGVyKCkgeworICB2
YXIgc2VwYXJhdGlvbiA9IGRlZmF1bHRTZXBhcmF0aW9uLAorICAgICAgZHggPSAxLAorICAgICAg
ZHkgPSAxLAorICAgICAgbm9kZVNpemUgPSBmYWxzZTsKKworICBmdW5jdGlvbiBjbHVzdGVyKHJv
b3QpIHsKKyAgICB2YXIgcHJldmlvdXNOb2RlLAorICAgICAgICB4ID0gMDsKKworICAgIC8vIEZp
cnN0IHdhbGssIGNvbXB1dGluZyB0aGUgaW5pdGlhbCB4ICYgeSB2YWx1ZXMuCisgICAgcm9vdC5l
YWNoQWZ0ZXIoZnVuY3Rpb24obm9kZSkgeworICAgICAgdmFyIGNoaWxkcmVuID0gbm9kZS5jaGls
ZHJlbjsKKyAgICAgIGlmIChjaGlsZHJlbikgeworICAgICAgICBub2RlLnggPSBtZWFuWChjaGls
ZHJlbik7CisgICAgICAgIG5vZGUueSA9IG1heFkoY2hpbGRyZW4pOworICAgICAgfSBlbHNlIHsK
KyAgICAgICAgbm9kZS54ID0gcHJldmlvdXNOb2RlID8geCArPSBzZXBhcmF0aW9uKG5vZGUsIHBy
ZXZpb3VzTm9kZSkgOiAwOworICAgICAgICBub2RlLnkgPSAwOworICAgICAgICBwcmV2aW91c05v
ZGUgPSBub2RlOworICAgICAgfQorICAgIH0pOworCisgICAgdmFyIGxlZnQgPSBsZWFmTGVmdChy
b290KSwKKyAgICAgICAgcmlnaHQgPSBsZWFmUmlnaHQocm9vdCksCisgICAgICAgIHgwID0gbGVm
dC54IC0gc2VwYXJhdGlvbihsZWZ0LCByaWdodCkgLyAyLAorICAgICAgICB4MSA9IHJpZ2h0Lngg
KyBzZXBhcmF0aW9uKHJpZ2h0LCBsZWZ0KSAvIDI7CisKKyAgICAvLyBTZWNvbmQgd2Fsaywgbm9y
bWFsaXppbmcgeCAmIHkgdG8gdGhlIGRlc2lyZWQgc2l6ZS4KKyAgICByZXR1cm4gcm9vdC5lYWNo
QWZ0ZXIobm9kZVNpemUgPyBmdW5jdGlvbihub2RlKSB7CisgICAgICBub2RlLnggPSAobm9kZS54
IC0gcm9vdC54KSAqIGR4OworICAgICAgbm9kZS55ID0gKHJvb3QueSAtIG5vZGUueSkgKiBkeTsK
KyAgICB9IDogZnVuY3Rpb24obm9kZSkgeworICAgICAgbm9kZS54ID0gKG5vZGUueCAtIHgwKSAv
ICh4MSAtIHgwKSAqIGR4OworICAgICAgbm9kZS55ID0gKDEgLSAocm9vdC55ID8gbm9kZS55IC8g
cm9vdC55IDogMSkpICogZHk7CisgICAgfSk7CisgIH0KKworICBjbHVzdGVyLnNlcGFyYXRpb24g
PSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc2VwYXJhdGlv
biA9IHgsIGNsdXN0ZXIpIDogc2VwYXJhdGlvbjsKKyAgfTsKKworICBjbHVzdGVyLnNpemUgPSBm
dW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAobm9kZVNpemUgPSBm
YWxzZSwgZHggPSAreFswXSwgZHkgPSAreFsxXSwgY2x1c3RlcikgOiAobm9kZVNpemUgPyBudWxs
IDogW2R4LCBkeV0pOworICB9OworCisgIGNsdXN0ZXIubm9kZVNpemUgPSBmdW5jdGlvbih4KSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAobm9kZVNpemUgPSB0cnVlLCBkeCA9ICt4
WzBdLCBkeSA9ICt4WzFdLCBjbHVzdGVyKSA6IChub2RlU2l6ZSA/IFtkeCwgZHldIDogbnVsbCk7
CisgIH07CisKKyAgcmV0dXJuIGNsdXN0ZXI7Cit9CisKK2Z1bmN0aW9uIGNvdW50KG5vZGUpIHsK
KyAgdmFyIHN1bSA9IDAsCisgICAgICBjaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW4sCisgICAgICBp
ID0gY2hpbGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoOworICBpZiAoIWkpIHN1bSA9IDE7CisgIGVs
c2Ugd2hpbGUgKC0taSA+PSAwKSBzdW0gKz0gY2hpbGRyZW5baV0udmFsdWU7CisgIG5vZGUudmFs
dWUgPSBzdW07Cit9CisKK2Z1bmN0aW9uIG5vZGVfY291bnQoKSB7CisgIHJldHVybiB0aGlzLmVh
Y2hBZnRlcihjb3VudCk7Cit9CisKK2Z1bmN0aW9uIG5vZGVfZWFjaChjYWxsYmFjaykgeworICB2
YXIgbm9kZSA9IHRoaXMsIGN1cnJlbnQsIG5leHQgPSBbbm9kZV0sIGNoaWxkcmVuLCBpLCBuOwor
ICBkbyB7CisgICAgY3VycmVudCA9IG5leHQucmV2ZXJzZSgpLCBuZXh0ID0gW107CisgICAgd2hp
bGUgKG5vZGUgPSBjdXJyZW50LnBvcCgpKSB7CisgICAgICBjYWxsYmFjayhub2RlKSwgY2hpbGRy
ZW4gPSBub2RlLmNoaWxkcmVuOworICAgICAgaWYgKGNoaWxkcmVuKSBmb3IgKGkgPSAwLCBuID0g
Y2hpbGRyZW4ubGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgICAgIG5leHQucHVzaChjaGlsZHJl
bltpXSk7CisgICAgICB9CisgICAgfQorICB9IHdoaWxlIChuZXh0Lmxlbmd0aCk7CisgIHJldHVy
biB0aGlzOworfQorCitmdW5jdGlvbiBub2RlX2VhY2hCZWZvcmUoY2FsbGJhY2spIHsKKyAgdmFy
IG5vZGUgPSB0aGlzLCBub2RlcyA9IFtub2RlXSwgY2hpbGRyZW4sIGk7CisgIHdoaWxlIChub2Rl
ID0gbm9kZXMucG9wKCkpIHsKKyAgICBjYWxsYmFjayhub2RlKSwgY2hpbGRyZW4gPSBub2RlLmNo
aWxkcmVuOworICAgIGlmIChjaGlsZHJlbikgZm9yIChpID0gY2hpbGRyZW4ubGVuZ3RoIC0gMTsg
aSA+PSAwOyAtLWkpIHsKKyAgICAgIG5vZGVzLnB1c2goY2hpbGRyZW5baV0pOworICAgIH0KKyAg
fQorICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24gbm9kZV9lYWNoQWZ0ZXIoY2FsbGJhY2sp
IHsKKyAgdmFyIG5vZGUgPSB0aGlzLCBub2RlcyA9IFtub2RlXSwgbmV4dCA9IFtdLCBjaGlsZHJl
biwgaSwgbjsKKyAgd2hpbGUgKG5vZGUgPSBub2Rlcy5wb3AoKSkgeworICAgIG5leHQucHVzaChu
b2RlKSwgY2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuOworICAgIGlmIChjaGlsZHJlbikgZm9yIChp
ID0gMCwgbiA9IGNoaWxkcmVuLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAgICAgbm9kZXMucHVz
aChjaGlsZHJlbltpXSk7CisgICAgfQorICB9CisgIHdoaWxlIChub2RlID0gbmV4dC5wb3AoKSkg
eworICAgIGNhbGxiYWNrKG5vZGUpOworICB9CisgIHJldHVybiB0aGlzOworfQorCitmdW5jdGlv
biBub2RlX3N1bSh2YWx1ZSkgeworICByZXR1cm4gdGhpcy5lYWNoQWZ0ZXIoZnVuY3Rpb24obm9k
ZSkgeworICAgIHZhciBzdW0gPSArdmFsdWUobm9kZS5kYXRhKSB8fCAwLAorICAgICAgICBjaGls
ZHJlbiA9IG5vZGUuY2hpbGRyZW4sCisgICAgICAgIGkgPSBjaGlsZHJlbiAmJiBjaGlsZHJlbi5s
ZW5ndGg7CisgICAgd2hpbGUgKC0taSA+PSAwKSBzdW0gKz0gY2hpbGRyZW5baV0udmFsdWU7Cisg
ICAgbm9kZS52YWx1ZSA9IHN1bTsKKyAgfSk7Cit9CisKK2Z1bmN0aW9uIG5vZGVfc29ydChjb21w
YXJlKSB7CisgIHJldHVybiB0aGlzLmVhY2hCZWZvcmUoZnVuY3Rpb24obm9kZSkgeworICAgIGlm
IChub2RlLmNoaWxkcmVuKSB7CisgICAgICBub2RlLmNoaWxkcmVuLnNvcnQoY29tcGFyZSk7Cisg
ICAgfQorICB9KTsKK30KKworZnVuY3Rpb24gbm9kZV9wYXRoKGVuZCkgeworICB2YXIgc3RhcnQg
PSB0aGlzLAorICAgICAgYW5jZXN0b3IgPSBsZWFzdENvbW1vbkFuY2VzdG9yKHN0YXJ0LCBlbmQp
LAorICAgICAgbm9kZXMgPSBbc3RhcnRdOworICB3aGlsZSAoc3RhcnQgIT09IGFuY2VzdG9yKSB7
CisgICAgc3RhcnQgPSBzdGFydC5wYXJlbnQ7CisgICAgbm9kZXMucHVzaChzdGFydCk7CisgIH0K
KyAgdmFyIGsgPSBub2Rlcy5sZW5ndGg7CisgIHdoaWxlIChlbmQgIT09IGFuY2VzdG9yKSB7Cisg
ICAgbm9kZXMuc3BsaWNlKGssIDAsIGVuZCk7CisgICAgZW5kID0gZW5kLnBhcmVudDsKKyAgfQor
ICByZXR1cm4gbm9kZXM7Cit9CisKK2Z1bmN0aW9uIGxlYXN0Q29tbW9uQW5jZXN0b3IoYSwgYikg
eworICBpZiAoYSA9PT0gYikgcmV0dXJuIGE7CisgIHZhciBhTm9kZXMgPSBhLmFuY2VzdG9ycygp
LAorICAgICAgYk5vZGVzID0gYi5hbmNlc3RvcnMoKSwKKyAgICAgIGMgPSBudWxsOworICBhID0g
YU5vZGVzLnBvcCgpOworICBiID0gYk5vZGVzLnBvcCgpOworICB3aGlsZSAoYSA9PT0gYikgewor
ICAgIGMgPSBhOworICAgIGEgPSBhTm9kZXMucG9wKCk7CisgICAgYiA9IGJOb2Rlcy5wb3AoKTsK
KyAgfQorICByZXR1cm4gYzsKK30KKworZnVuY3Rpb24gbm9kZV9hbmNlc3RvcnMoKSB7CisgIHZh
ciBub2RlID0gdGhpcywgbm9kZXMgPSBbbm9kZV07CisgIHdoaWxlIChub2RlID0gbm9kZS5wYXJl
bnQpIHsKKyAgICBub2Rlcy5wdXNoKG5vZGUpOworICB9CisgIHJldHVybiBub2RlczsKK30KKwor
ZnVuY3Rpb24gbm9kZV9kZXNjZW5kYW50cygpIHsKKyAgdmFyIG5vZGVzID0gW107CisgIHRoaXMu
ZWFjaChmdW5jdGlvbihub2RlKSB7CisgICAgbm9kZXMucHVzaChub2RlKTsKKyAgfSk7CisgIHJl
dHVybiBub2RlczsKK30KKworZnVuY3Rpb24gbm9kZV9sZWF2ZXMoKSB7CisgIHZhciBsZWF2ZXMg
PSBbXTsKKyAgdGhpcy5lYWNoQmVmb3JlKGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBpZiAoIW5vZGUu
Y2hpbGRyZW4pIHsKKyAgICAgIGxlYXZlcy5wdXNoKG5vZGUpOworICAgIH0KKyAgfSk7CisgIHJl
dHVybiBsZWF2ZXM7Cit9CisKK2Z1bmN0aW9uIG5vZGVfbGlua3MoKSB7CisgIHZhciByb290ID0g
dGhpcywgbGlua3MgPSBbXTsKKyAgcm9vdC5lYWNoKGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBpZiAo
bm9kZSAhPT0gcm9vdCkgeyAvLyBEb27igJl0IGluY2x1ZGUgdGhlIHJvb3TigJlzIHBhcmVudCwg
aWYgYW55LgorICAgICAgbGlua3MucHVzaCh7c291cmNlOiBub2RlLnBhcmVudCwgdGFyZ2V0OiBu
b2RlfSk7CisgICAgfQorICB9KTsKKyAgcmV0dXJuIGxpbmtzOworfQorCitmdW5jdGlvbiBoaWVy
YXJjaHkoZGF0YSwgY2hpbGRyZW4pIHsKKyAgdmFyIHJvb3QgPSBuZXcgTm9kZShkYXRhKSwKKyAg
ICAgIHZhbHVlZCA9ICtkYXRhLnZhbHVlICYmIChyb290LnZhbHVlID0gZGF0YS52YWx1ZSksCisg
ICAgICBub2RlLAorICAgICAgbm9kZXMgPSBbcm9vdF0sCisgICAgICBjaGlsZCwKKyAgICAgIGNo
aWxkcywKKyAgICAgIGksCisgICAgICBuOworCisgIGlmIChjaGlsZHJlbiA9PSBudWxsKSBjaGls
ZHJlbiA9IGRlZmF1bHRDaGlsZHJlbjsKKworICB3aGlsZSAobm9kZSA9IG5vZGVzLnBvcCgpKSB7
CisgICAgaWYgKHZhbHVlZCkgbm9kZS52YWx1ZSA9ICtub2RlLmRhdGEudmFsdWU7CisgICAgaWYg
KChjaGlsZHMgPSBjaGlsZHJlbihub2RlLmRhdGEpKSAmJiAobiA9IGNoaWxkcy5sZW5ndGgpKSB7
CisgICAgICBub2RlLmNoaWxkcmVuID0gbmV3IEFycmF5KG4pOworICAgICAgZm9yIChpID0gbiAt
IDE7IGkgPj0gMDsgLS1pKSB7CisgICAgICAgIG5vZGVzLnB1c2goY2hpbGQgPSBub2RlLmNoaWxk
cmVuW2ldID0gbmV3IE5vZGUoY2hpbGRzW2ldKSk7CisgICAgICAgIGNoaWxkLnBhcmVudCA9IG5v
ZGU7CisgICAgICAgIGNoaWxkLmRlcHRoID0gbm9kZS5kZXB0aCArIDE7CisgICAgICB9CisgICAg
fQorICB9CisKKyAgcmV0dXJuIHJvb3QuZWFjaEJlZm9yZShjb21wdXRlSGVpZ2h0KTsKK30KKwor
ZnVuY3Rpb24gbm9kZV9jb3B5KCkgeworICByZXR1cm4gaGllcmFyY2h5KHRoaXMpLmVhY2hCZWZv
cmUoY29weURhdGEpOworfQorCitmdW5jdGlvbiBkZWZhdWx0Q2hpbGRyZW4oZCkgeworICByZXR1
cm4gZC5jaGlsZHJlbjsKK30KKworZnVuY3Rpb24gY29weURhdGEobm9kZSkgeworICBub2RlLmRh
dGEgPSBub2RlLmRhdGEuZGF0YTsKK30KKworZnVuY3Rpb24gY29tcHV0ZUhlaWdodChub2RlKSB7
CisgIHZhciBoZWlnaHQgPSAwOworICBkbyBub2RlLmhlaWdodCA9IGhlaWdodDsKKyAgd2hpbGUg
KChub2RlID0gbm9kZS5wYXJlbnQpICYmIChub2RlLmhlaWdodCA8ICsraGVpZ2h0KSk7Cit9CisK
K2Z1bmN0aW9uIE5vZGUoZGF0YSkgeworICB0aGlzLmRhdGEgPSBkYXRhOworICB0aGlzLmRlcHRo
ID0KKyAgdGhpcy5oZWlnaHQgPSAwOworICB0aGlzLnBhcmVudCA9IG51bGw7Cit9CisKK05vZGUu
cHJvdG90eXBlID0gaGllcmFyY2h5LnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IE5vZGUs
CisgIGNvdW50OiBub2RlX2NvdW50LAorICBlYWNoOiBub2RlX2VhY2gsCisgIGVhY2hBZnRlcjog
bm9kZV9lYWNoQWZ0ZXIsCisgIGVhY2hCZWZvcmU6IG5vZGVfZWFjaEJlZm9yZSwKKyAgc3VtOiBu
b2RlX3N1bSwKKyAgc29ydDogbm9kZV9zb3J0LAorICBwYXRoOiBub2RlX3BhdGgsCisgIGFuY2Vz
dG9yczogbm9kZV9hbmNlc3RvcnMsCisgIGRlc2NlbmRhbnRzOiBub2RlX2Rlc2NlbmRhbnRzLAor
ICBsZWF2ZXM6IG5vZGVfbGVhdmVzLAorICBsaW5rczogbm9kZV9saW5rcywKKyAgY29weTogbm9k
ZV9jb3B5Cit9OworCit2YXIgc2xpY2UkNCA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsKKworZnVu
Y3Rpb24gc2h1ZmZsZSQxKGFycmF5KSB7CisgIHZhciBtID0gYXJyYXkubGVuZ3RoLAorICAgICAg
dCwKKyAgICAgIGk7CisKKyAgd2hpbGUgKG0pIHsKKyAgICBpID0gTWF0aC5yYW5kb20oKSAqIG0t
LSB8IDA7CisgICAgdCA9IGFycmF5W21dOworICAgIGFycmF5W21dID0gYXJyYXlbaV07CisgICAg
YXJyYXlbaV0gPSB0OworICB9CisKKyAgcmV0dXJuIGFycmF5OworfQorCitmdW5jdGlvbiBlbmNs
b3NlKGNpcmNsZXMpIHsKKyAgdmFyIGkgPSAwLCBuID0gKGNpcmNsZXMgPSBzaHVmZmxlJDEoc2xp
Y2UkNC5jYWxsKGNpcmNsZXMpKSkubGVuZ3RoLCBCID0gW10sIHAsIGU7CisKKyAgd2hpbGUgKGkg
PCBuKSB7CisgICAgcCA9IGNpcmNsZXNbaV07CisgICAgaWYgKGUgJiYgZW5jbG9zZXNXZWFrKGUs
IHApKSArK2k7CisgICAgZWxzZSBlID0gZW5jbG9zZUJhc2lzKEIgPSBleHRlbmRCYXNpcyhCLCBw
KSksIGkgPSAwOworICB9CisKKyAgcmV0dXJuIGU7Cit9CisKK2Z1bmN0aW9uIGV4dGVuZEJhc2lz
KEIsIHApIHsKKyAgdmFyIGksIGo7CisKKyAgaWYgKGVuY2xvc2VzV2Vha0FsbChwLCBCKSkgcmV0
dXJuIFtwXTsKKworICAvLyBJZiB3ZSBnZXQgaGVyZSB0aGVuIEIgbXVzdCBoYXZlIGF0IGxlYXN0
IG9uZSBlbGVtZW50LgorICBmb3IgKGkgPSAwOyBpIDwgQi5sZW5ndGg7ICsraSkgeworICAgIGlm
IChlbmNsb3Nlc05vdChwLCBCW2ldKQorICAgICAgICAmJiBlbmNsb3Nlc1dlYWtBbGwoZW5jbG9z
ZUJhc2lzMihCW2ldLCBwKSwgQikpIHsKKyAgICAgIHJldHVybiBbQltpXSwgcF07CisgICAgfQor
ICB9CisKKyAgLy8gSWYgd2UgZ2V0IGhlcmUgdGhlbiBCIG11c3QgaGF2ZSBhdCBsZWFzdCB0d28g
ZWxlbWVudHMuCisgIGZvciAoaSA9IDA7IGkgPCBCLmxlbmd0aCAtIDE7ICsraSkgeworICAgIGZv
ciAoaiA9IGkgKyAxOyBqIDwgQi5sZW5ndGg7ICsraikgeworICAgICAgaWYgKGVuY2xvc2VzTm90
KGVuY2xvc2VCYXNpczIoQltpXSwgQltqXSksIHApCisgICAgICAgICAgJiYgZW5jbG9zZXNOb3Qo
ZW5jbG9zZUJhc2lzMihCW2ldLCBwKSwgQltqXSkKKyAgICAgICAgICAmJiBlbmNsb3Nlc05vdChl
bmNsb3NlQmFzaXMyKEJbal0sIHApLCBCW2ldKQorICAgICAgICAgICYmIGVuY2xvc2VzV2Vha0Fs
bChlbmNsb3NlQmFzaXMzKEJbaV0sIEJbal0sIHApLCBCKSkgeworICAgICAgICByZXR1cm4gW0Jb
aV0sIEJbal0sIHBdOworICAgICAgfQorICAgIH0KKyAgfQorCisgIC8vIElmIHdlIGdldCBoZXJl
IHRoZW4gc29tZXRoaW5nIGlzIHZlcnkgd3JvbmcuCisgIHRocm93IG5ldyBFcnJvcjsKK30KKwor
ZnVuY3Rpb24gZW5jbG9zZXNOb3QoYSwgYikgeworICB2YXIgZHIgPSBhLnIgLSBiLnIsIGR4ID0g
Yi54IC0gYS54LCBkeSA9IGIueSAtIGEueTsKKyAgcmV0dXJuIGRyIDwgMCB8fCBkciAqIGRyIDwg
ZHggKiBkeCArIGR5ICogZHk7Cit9CisKK2Z1bmN0aW9uIGVuY2xvc2VzV2VhayhhLCBiKSB7Cisg
IHZhciBkciA9IGEuciAtIGIuciArIDFlLTYsIGR4ID0gYi54IC0gYS54LCBkeSA9IGIueSAtIGEu
eTsKKyAgcmV0dXJuIGRyID4gMCAmJiBkciAqIGRyID4gZHggKiBkeCArIGR5ICogZHk7Cit9CisK
K2Z1bmN0aW9uIGVuY2xvc2VzV2Vha0FsbChhLCBCKSB7CisgIGZvciAodmFyIGkgPSAwOyBpIDwg
Qi5sZW5ndGg7ICsraSkgeworICAgIGlmICghZW5jbG9zZXNXZWFrKGEsIEJbaV0pKSB7CisgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorICB9CisgIHJldHVybiB0cnVlOworfQorCitmdW5jdGlv
biBlbmNsb3NlQmFzaXMoQikgeworICBzd2l0Y2ggKEIubGVuZ3RoKSB7CisgICAgY2FzZSAxOiBy
ZXR1cm4gZW5jbG9zZUJhc2lzMShCWzBdKTsKKyAgICBjYXNlIDI6IHJldHVybiBlbmNsb3NlQmFz
aXMyKEJbMF0sIEJbMV0pOworICAgIGNhc2UgMzogcmV0dXJuIGVuY2xvc2VCYXNpczMoQlswXSwg
QlsxXSwgQlsyXSk7CisgIH0KK30KKworZnVuY3Rpb24gZW5jbG9zZUJhc2lzMShhKSB7CisgIHJl
dHVybiB7CisgICAgeDogYS54LAorICAgIHk6IGEueSwKKyAgICByOiBhLnIKKyAgfTsKK30KKwor
ZnVuY3Rpb24gZW5jbG9zZUJhc2lzMihhLCBiKSB7CisgIHZhciB4MSA9IGEueCwgeTEgPSBhLnks
IHIxID0gYS5yLAorICAgICAgeDIgPSBiLngsIHkyID0gYi55LCByMiA9IGIuciwKKyAgICAgIHgy
MSA9IHgyIC0geDEsIHkyMSA9IHkyIC0geTEsIHIyMSA9IHIyIC0gcjEsCisgICAgICBsID0gTWF0
aC5zcXJ0KHgyMSAqIHgyMSArIHkyMSAqIHkyMSk7CisgIHJldHVybiB7CisgICAgeDogKHgxICsg
eDIgKyB4MjEgLyBsICogcjIxKSAvIDIsCisgICAgeTogKHkxICsgeTIgKyB5MjEgLyBsICogcjIx
KSAvIDIsCisgICAgcjogKGwgKyByMSArIHIyKSAvIDIKKyAgfTsKK30KKworZnVuY3Rpb24gZW5j
bG9zZUJhc2lzMyhhLCBiLCBjKSB7CisgIHZhciB4MSA9IGEueCwgeTEgPSBhLnksIHIxID0gYS5y
LAorICAgICAgeDIgPSBiLngsIHkyID0gYi55LCByMiA9IGIuciwKKyAgICAgIHgzID0gYy54LCB5
MyA9IGMueSwgcjMgPSBjLnIsCisgICAgICBhMiA9IHgxIC0geDIsCisgICAgICBhMyA9IHgxIC0g
eDMsCisgICAgICBiMiA9IHkxIC0geTIsCisgICAgICBiMyA9IHkxIC0geTMsCisgICAgICBjMiA9
IHIyIC0gcjEsCisgICAgICBjMyA9IHIzIC0gcjEsCisgICAgICBkMSA9IHgxICogeDEgKyB5MSAq
IHkxIC0gcjEgKiByMSwKKyAgICAgIGQyID0gZDEgLSB4MiAqIHgyIC0geTIgKiB5MiArIHIyICog
cjIsCisgICAgICBkMyA9IGQxIC0geDMgKiB4MyAtIHkzICogeTMgKyByMyAqIHIzLAorICAgICAg
YWIgPSBhMyAqIGIyIC0gYTIgKiBiMywKKyAgICAgIHhhID0gKGIyICogZDMgLSBiMyAqIGQyKSAv
IChhYiAqIDIpIC0geDEsCisgICAgICB4YiA9IChiMyAqIGMyIC0gYjIgKiBjMykgLyBhYiwKKyAg
ICAgIHlhID0gKGEzICogZDIgLSBhMiAqIGQzKSAvIChhYiAqIDIpIC0geTEsCisgICAgICB5YiA9
IChhMiAqIGMzIC0gYTMgKiBjMikgLyBhYiwKKyAgICAgIEEgPSB4YiAqIHhiICsgeWIgKiB5YiAt
IDEsCisgICAgICBCID0gMiAqIChyMSArIHhhICogeGIgKyB5YSAqIHliKSwKKyAgICAgIEMgPSB4
YSAqIHhhICsgeWEgKiB5YSAtIHIxICogcjEsCisgICAgICByID0gLShBID8gKEIgKyBNYXRoLnNx
cnQoQiAqIEIgLSA0ICogQSAqIEMpKSAvICgyICogQSkgOiBDIC8gQik7CisgIHJldHVybiB7Cisg
ICAgeDogeDEgKyB4YSArIHhiICogciwKKyAgICB5OiB5MSArIHlhICsgeWIgKiByLAorICAgIHI6
IHIKKyAgfTsKK30KKworZnVuY3Rpb24gcGxhY2UoYiwgYSwgYykgeworICB2YXIgZHggPSBiLngg
LSBhLngsIHgsIGEyLAorICAgICAgZHkgPSBiLnkgLSBhLnksIHksIGIyLAorICAgICAgZDIgPSBk
eCAqIGR4ICsgZHkgKiBkeTsKKyAgaWYgKGQyKSB7CisgICAgYTIgPSBhLnIgKyBjLnIsIGEyICo9
IGEyOworICAgIGIyID0gYi5yICsgYy5yLCBiMiAqPSBiMjsKKyAgICBpZiAoYTIgPiBiMikgewor
ICAgICAgeCA9IChkMiArIGIyIC0gYTIpIC8gKDIgKiBkMik7CisgICAgICB5ID0gTWF0aC5zcXJ0
KE1hdGgubWF4KDAsIGIyIC8gZDIgLSB4ICogeCkpOworICAgICAgYy54ID0gYi54IC0geCAqIGR4
IC0geSAqIGR5OworICAgICAgYy55ID0gYi55IC0geCAqIGR5ICsgeSAqIGR4OworICAgIH0gZWxz
ZSB7CisgICAgICB4ID0gKGQyICsgYTIgLSBiMikgLyAoMiAqIGQyKTsKKyAgICAgIHkgPSBNYXRo
LnNxcnQoTWF0aC5tYXgoMCwgYTIgLyBkMiAtIHggKiB4KSk7CisgICAgICBjLnggPSBhLnggKyB4
ICogZHggLSB5ICogZHk7CisgICAgICBjLnkgPSBhLnkgKyB4ICogZHkgKyB5ICogZHg7CisgICAg
fQorICB9IGVsc2UgeworICAgIGMueCA9IGEueCArIGMucjsKKyAgICBjLnkgPSBhLnk7CisgIH0K
K30KKworZnVuY3Rpb24gaW50ZXJzZWN0cyhhLCBiKSB7CisgIHZhciBkciA9IGEuciArIGIuciAt
IDFlLTYsIGR4ID0gYi54IC0gYS54LCBkeSA9IGIueSAtIGEueTsKKyAgcmV0dXJuIGRyID4gMCAm
JiBkciAqIGRyID4gZHggKiBkeCArIGR5ICogZHk7Cit9CisKK2Z1bmN0aW9uIHNjb3JlKG5vZGUp
IHsKKyAgdmFyIGEgPSBub2RlLl8sCisgICAgICBiID0gbm9kZS5uZXh0Ll8sCisgICAgICBhYiA9
IGEuciArIGIuciwKKyAgICAgIGR4ID0gKGEueCAqIGIuciArIGIueCAqIGEucikgLyBhYiwKKyAg
ICAgIGR5ID0gKGEueSAqIGIuciArIGIueSAqIGEucikgLyBhYjsKKyAgcmV0dXJuIGR4ICogZHgg
KyBkeSAqIGR5OworfQorCitmdW5jdGlvbiBOb2RlJDEoY2lyY2xlKSB7CisgIHRoaXMuXyA9IGNp
cmNsZTsKKyAgdGhpcy5uZXh0ID0gbnVsbDsKKyAgdGhpcy5wcmV2aW91cyA9IG51bGw7Cit9CisK
K2Z1bmN0aW9uIHBhY2tFbmNsb3NlKGNpcmNsZXMpIHsKKyAgaWYgKCEobiA9IGNpcmNsZXMubGVu
Z3RoKSkgcmV0dXJuIDA7CisKKyAgdmFyIGEsIGIsIGMsIG4sIGFhLCBjYSwgaSwgaiwgaywgc2os
IHNrOworCisgIC8vIFBsYWNlIHRoZSBmaXJzdCBjaXJjbGUuCisgIGEgPSBjaXJjbGVzWzBdLCBh
LnggPSAwLCBhLnkgPSAwOworICBpZiAoIShuID4gMSkpIHJldHVybiBhLnI7CisKKyAgLy8gUGxh
Y2UgdGhlIHNlY29uZCBjaXJjbGUuCisgIGIgPSBjaXJjbGVzWzFdLCBhLnggPSAtYi5yLCBiLngg
PSBhLnIsIGIueSA9IDA7CisgIGlmICghKG4gPiAyKSkgcmV0dXJuIGEuciArIGIucjsKKworICAv
LyBQbGFjZSB0aGUgdGhpcmQgY2lyY2xlLgorICBwbGFjZShiLCBhLCBjID0gY2lyY2xlc1syXSk7
CisKKyAgLy8gSW5pdGlhbGl6ZSB0aGUgZnJvbnQtY2hhaW4gdXNpbmcgdGhlIGZpcnN0IHRocmVl
IGNpcmNsZXMgYSwgYiBhbmQgYy4KKyAgYSA9IG5ldyBOb2RlJDEoYSksIGIgPSBuZXcgTm9kZSQx
KGIpLCBjID0gbmV3IE5vZGUkMShjKTsKKyAgYS5uZXh0ID0gYy5wcmV2aW91cyA9IGI7CisgIGIu
bmV4dCA9IGEucHJldmlvdXMgPSBjOworICBjLm5leHQgPSBiLnByZXZpb3VzID0gYTsKKworICAv
LyBBdHRlbXB0IHRvIHBsYWNlIGVhY2ggcmVtYWluaW5nIGNpcmNsZeKApgorICBwYWNrOiBmb3Ig
KGkgPSAzOyBpIDwgbjsgKytpKSB7CisgICAgcGxhY2UoYS5fLCBiLl8sIGMgPSBjaXJjbGVzW2ld
KSwgYyA9IG5ldyBOb2RlJDEoYyk7CisKKyAgICAvLyBGaW5kIHRoZSBjbG9zZXN0IGludGVyc2Vj
dGluZyBjaXJjbGUgb24gdGhlIGZyb250LWNoYWluLCBpZiBhbnkuCisgICAgLy8g4oCcQ2xvc2Vu
ZXNz4oCdIGlzIGRldGVybWluZWQgYnkgbGluZWFyIGRpc3RhbmNlIGFsb25nIHRoZSBmcm9udC1j
aGFpbi4KKyAgICAvLyDigJxBaGVhZOKAnSBvciDigJxiZWhpbmTigJ0gaXMgbGlrZXdpc2UgZGV0
ZXJtaW5lZCBieSBsaW5lYXIgZGlzdGFuY2UuCisgICAgaiA9IGIubmV4dCwgayA9IGEucHJldmlv
dXMsIHNqID0gYi5fLnIsIHNrID0gYS5fLnI7CisgICAgZG8geworICAgICAgaWYgKHNqIDw9IHNr
KSB7CisgICAgICAgIGlmIChpbnRlcnNlY3RzKGouXywgYy5fKSkgeworICAgICAgICAgIGIgPSBq
LCBhLm5leHQgPSBiLCBiLnByZXZpb3VzID0gYSwgLS1pOworICAgICAgICAgIGNvbnRpbnVlIHBh
Y2s7CisgICAgICAgIH0KKyAgICAgICAgc2ogKz0gai5fLnIsIGogPSBqLm5leHQ7CisgICAgICB9
IGVsc2UgeworICAgICAgICBpZiAoaW50ZXJzZWN0cyhrLl8sIGMuXykpIHsKKyAgICAgICAgICBh
ID0gaywgYS5uZXh0ID0gYiwgYi5wcmV2aW91cyA9IGEsIC0taTsKKyAgICAgICAgICBjb250aW51
ZSBwYWNrOworICAgICAgICB9CisgICAgICAgIHNrICs9IGsuXy5yLCBrID0gay5wcmV2aW91czsK
KyAgICAgIH0KKyAgICB9IHdoaWxlIChqICE9PSBrLm5leHQpOworCisgICAgLy8gU3VjY2VzcyEg
SW5zZXJ0IHRoZSBuZXcgY2lyY2xlIGMgYmV0d2VlbiBhIGFuZCBiLgorICAgIGMucHJldmlvdXMg
PSBhLCBjLm5leHQgPSBiLCBhLm5leHQgPSBiLnByZXZpb3VzID0gYiA9IGM7CisKKyAgICAvLyBD
b21wdXRlIHRoZSBuZXcgY2xvc2VzdCBjaXJjbGUgcGFpciB0byB0aGUgY2VudHJvaWQuCisgICAg
YWEgPSBzY29yZShhKTsKKyAgICB3aGlsZSAoKGMgPSBjLm5leHQpICE9PSBiKSB7CisgICAgICBp
ZiAoKGNhID0gc2NvcmUoYykpIDwgYWEpIHsKKyAgICAgICAgYSA9IGMsIGFhID0gY2E7CisgICAg
ICB9CisgICAgfQorICAgIGIgPSBhLm5leHQ7CisgIH0KKworICAvLyBDb21wdXRlIHRoZSBlbmNs
b3NpbmcgY2lyY2xlIG9mIHRoZSBmcm9udCBjaGFpbi4KKyAgYSA9IFtiLl9dLCBjID0gYjsgd2hp
bGUgKChjID0gYy5uZXh0KSAhPT0gYikgYS5wdXNoKGMuXyk7IGMgPSBlbmNsb3NlKGEpOworCisg
IC8vIFRyYW5zbGF0ZSB0aGUgY2lyY2xlcyB0byBwdXQgdGhlIGVuY2xvc2luZyBjaXJjbGUgYXJv
dW5kIHRoZSBvcmlnaW4uCisgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIGEgPSBjaXJjbGVzW2ld
LCBhLnggLT0gYy54LCBhLnkgLT0gYy55OworCisgIHJldHVybiBjLnI7Cit9CisKK2Z1bmN0aW9u
IHNpYmxpbmdzKGNpcmNsZXMpIHsKKyAgcGFja0VuY2xvc2UoY2lyY2xlcyk7CisgIHJldHVybiBj
aXJjbGVzOworfQorCitmdW5jdGlvbiBvcHRpb25hbChmKSB7CisgIHJldHVybiBmID09IG51bGwg
PyBudWxsIDogcmVxdWlyZWQoZik7Cit9CisKK2Z1bmN0aW9uIHJlcXVpcmVkKGYpIHsKKyAgaWYg
KHR5cGVvZiBmICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHJldHVybiBmOwor
fQorCitmdW5jdGlvbiBjb25zdGFudFplcm8oKSB7CisgIHJldHVybiAwOworfQorCitmdW5jdGlv
biBjb25zdGFudCQ5KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB4Owor
ICB9OworfQorCitmdW5jdGlvbiBkZWZhdWx0UmFkaXVzJDEoZCkgeworICByZXR1cm4gTWF0aC5z
cXJ0KGQudmFsdWUpOworfQorCitmdW5jdGlvbiBpbmRleCQyKCkgeworICB2YXIgcmFkaXVzID0g
bnVsbCwKKyAgICAgIGR4ID0gMSwKKyAgICAgIGR5ID0gMSwKKyAgICAgIHBhZGRpbmcgPSBjb25z
dGFudFplcm87CisKKyAgZnVuY3Rpb24gcGFjayhyb290KSB7CisgICAgcm9vdC54ID0gZHggLyAy
LCByb290LnkgPSBkeSAvIDI7CisgICAgaWYgKHJhZGl1cykgeworICAgICAgcm9vdC5lYWNoQmVm
b3JlKHJhZGl1c0xlYWYocmFkaXVzKSkKKyAgICAgICAgICAuZWFjaEFmdGVyKHBhY2tDaGlsZHJl
bihwYWRkaW5nLCAwLjUpKQorICAgICAgICAgIC5lYWNoQmVmb3JlKHRyYW5zbGF0ZUNoaWxkKDEp
KTsKKyAgICB9IGVsc2UgeworICAgICAgcm9vdC5lYWNoQmVmb3JlKHJhZGl1c0xlYWYoZGVmYXVs
dFJhZGl1cyQxKSkKKyAgICAgICAgICAuZWFjaEFmdGVyKHBhY2tDaGlsZHJlbihjb25zdGFudFpl
cm8sIDEpKQorICAgICAgICAgIC5lYWNoQWZ0ZXIocGFja0NoaWxkcmVuKHBhZGRpbmcsIHJvb3Qu
ciAvIE1hdGgubWluKGR4LCBkeSkpKQorICAgICAgICAgIC5lYWNoQmVmb3JlKHRyYW5zbGF0ZUNo
aWxkKE1hdGgubWluKGR4LCBkeSkgLyAoMiAqIHJvb3QucikpKTsKKyAgICB9CisgICAgcmV0dXJu
IHJvb3Q7CisgIH0KKworICBwYWNrLnJhZGl1cyA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/IChyYWRpdXMgPSBvcHRpb25hbCh4KSwgcGFjaykgOiByYWRpdXM7
CisgIH07CisKKyAgcGFjay5zaXplID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKGR4ID0gK3hbMF0sIGR5ID0gK3hbMV0sIHBhY2spIDogW2R4LCBkeV07Cisg
IH07CisKKyAgcGFjay5wYWRkaW5nID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHBhZGRpbmcgPSB0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiA/IHggOiBjb25z
dGFudCQ5KCt4KSwgcGFjaykgOiBwYWRkaW5nOworICB9OworCisgIHJldHVybiBwYWNrOworfQor
CitmdW5jdGlvbiByYWRpdXNMZWFmKHJhZGl1cykgeworICByZXR1cm4gZnVuY3Rpb24obm9kZSkg
eworICAgIGlmICghbm9kZS5jaGlsZHJlbikgeworICAgICAgbm9kZS5yID0gTWF0aC5tYXgoMCwg
K3JhZGl1cyhub2RlKSB8fCAwKTsKKyAgICB9CisgIH07Cit9CisKK2Z1bmN0aW9uIHBhY2tDaGls
ZHJlbihwYWRkaW5nLCBrKSB7CisgIHJldHVybiBmdW5jdGlvbihub2RlKSB7CisgICAgaWYgKGNo
aWxkcmVuID0gbm9kZS5jaGlsZHJlbikgeworICAgICAgdmFyIGNoaWxkcmVuLAorICAgICAgICAg
IGksCisgICAgICAgICAgbiA9IGNoaWxkcmVuLmxlbmd0aCwKKyAgICAgICAgICByID0gcGFkZGlu
Zyhub2RlKSAqIGsgfHwgMCwKKyAgICAgICAgICBlOworCisgICAgICBpZiAocikgZm9yIChpID0g
MDsgaSA8IG47ICsraSkgY2hpbGRyZW5baV0uciArPSByOworICAgICAgZSA9IHBhY2tFbmNsb3Nl
KGNoaWxkcmVuKTsKKyAgICAgIGlmIChyKSBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSBjaGlsZHJl
bltpXS5yIC09IHI7CisgICAgICBub2RlLnIgPSBlICsgcjsKKyAgICB9CisgIH07Cit9CisKK2Z1
bmN0aW9uIHRyYW5zbGF0ZUNoaWxkKGspIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKG5vZGUpIHsKKyAg
ICB2YXIgcGFyZW50ID0gbm9kZS5wYXJlbnQ7CisgICAgbm9kZS5yICo9IGs7CisgICAgaWYgKHBh
cmVudCkgeworICAgICAgbm9kZS54ID0gcGFyZW50LnggKyBrICogbm9kZS54OworICAgICAgbm9k
ZS55ID0gcGFyZW50LnkgKyBrICogbm9kZS55OworICAgIH0KKyAgfTsKK30KKworZnVuY3Rpb24g
cm91bmROb2RlKG5vZGUpIHsKKyAgbm9kZS54MCA9IE1hdGgucm91bmQobm9kZS54MCk7CisgIG5v
ZGUueTAgPSBNYXRoLnJvdW5kKG5vZGUueTApOworICBub2RlLngxID0gTWF0aC5yb3VuZChub2Rl
LngxKTsKKyAgbm9kZS55MSA9IE1hdGgucm91bmQobm9kZS55MSk7Cit9CisKK2Z1bmN0aW9uIHRy
ZWVtYXBEaWNlKHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIG5vZGVzID0gcGFyZW50
LmNoaWxkcmVuLAorICAgICAgbm9kZSwKKyAgICAgIGkgPSAtMSwKKyAgICAgIG4gPSBub2Rlcy5s
ZW5ndGgsCisgICAgICBrID0gcGFyZW50LnZhbHVlICYmICh4MSAtIHgwKSAvIHBhcmVudC52YWx1
ZTsKKworICB3aGlsZSAoKytpIDwgbikgeworICAgIG5vZGUgPSBub2Rlc1tpXSwgbm9kZS55MCA9
IHkwLCBub2RlLnkxID0geTE7CisgICAgbm9kZS54MCA9IHgwLCBub2RlLngxID0geDAgKz0gbm9k
ZS52YWx1ZSAqIGs7CisgIH0KK30KKworZnVuY3Rpb24gcGFydGl0aW9uKCkgeworICB2YXIgZHgg
PSAxLAorICAgICAgZHkgPSAxLAorICAgICAgcGFkZGluZyA9IDAsCisgICAgICByb3VuZCA9IGZh
bHNlOworCisgIGZ1bmN0aW9uIHBhcnRpdGlvbihyb290KSB7CisgICAgdmFyIG4gPSByb290Lmhl
aWdodCArIDE7CisgICAgcm9vdC54MCA9CisgICAgcm9vdC55MCA9IHBhZGRpbmc7CisgICAgcm9v
dC54MSA9IGR4OworICAgIHJvb3QueTEgPSBkeSAvIG47CisgICAgcm9vdC5lYWNoQmVmb3JlKHBv
c2l0aW9uTm9kZShkeSwgbikpOworICAgIGlmIChyb3VuZCkgcm9vdC5lYWNoQmVmb3JlKHJvdW5k
Tm9kZSk7CisgICAgcmV0dXJuIHJvb3Q7CisgIH0KKworICBmdW5jdGlvbiBwb3NpdGlvbk5vZGUo
ZHksIG4pIHsKKyAgICByZXR1cm4gZnVuY3Rpb24obm9kZSkgeworICAgICAgaWYgKG5vZGUuY2hp
bGRyZW4pIHsKKyAgICAgICAgdHJlZW1hcERpY2Uobm9kZSwgbm9kZS54MCwgZHkgKiAobm9kZS5k
ZXB0aCArIDEpIC8gbiwgbm9kZS54MSwgZHkgKiAobm9kZS5kZXB0aCArIDIpIC8gbik7CisgICAg
ICB9CisgICAgICB2YXIgeDAgPSBub2RlLngwLAorICAgICAgICAgIHkwID0gbm9kZS55MCwKKyAg
ICAgICAgICB4MSA9IG5vZGUueDEgLSBwYWRkaW5nLAorICAgICAgICAgIHkxID0gbm9kZS55MSAt
IHBhZGRpbmc7CisgICAgICBpZiAoeDEgPCB4MCkgeDAgPSB4MSA9ICh4MCArIHgxKSAvIDI7Cisg
ICAgICBpZiAoeTEgPCB5MCkgeTAgPSB5MSA9ICh5MCArIHkxKSAvIDI7CisgICAgICBub2RlLngw
ID0geDA7CisgICAgICBub2RlLnkwID0geTA7CisgICAgICBub2RlLngxID0geDE7CisgICAgICBu
b2RlLnkxID0geTE7CisgICAgfTsKKyAgfQorCisgIHBhcnRpdGlvbi5yb3VuZCA9IGZ1bmN0aW9u
KHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChyb3VuZCA9ICEheCwgcGFydGl0
aW9uKSA6IHJvdW5kOworICB9OworCisgIHBhcnRpdGlvbi5zaXplID0gZnVuY3Rpb24oeCkgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGR4ID0gK3hbMF0sIGR5ID0gK3hbMV0sIHBh
cnRpdGlvbikgOiBbZHgsIGR5XTsKKyAgfTsKKworICBwYXJ0aXRpb24ucGFkZGluZyA9IGZ1bmN0
aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRkaW5nID0gK3gsIHBh
cnRpdGlvbikgOiBwYWRkaW5nOworICB9OworCisgIHJldHVybiBwYXJ0aXRpb247Cit9CisKK3Zh
ciBrZXlQcmVmaXgkMSA9ICIkIiwgLy8gUHJvdGVjdCBhZ2FpbnN0IGtleXMgbGlrZSDigJxfX3By
b3RvX1/igJ0uCisgICAgcHJlcm9vdCA9IHtkZXB0aDogLTF9LAorICAgIGFtYmlndW91cyA9IHt9
OworCitmdW5jdGlvbiBkZWZhdWx0SWQoZCkgeworICByZXR1cm4gZC5pZDsKK30KKworZnVuY3Rp
b24gZGVmYXVsdFBhcmVudElkKGQpIHsKKyAgcmV0dXJuIGQucGFyZW50SWQ7Cit9CisKK2Z1bmN0
aW9uIHN0cmF0aWZ5KCkgeworICB2YXIgaWQgPSBkZWZhdWx0SWQsCisgICAgICBwYXJlbnRJZCA9
IGRlZmF1bHRQYXJlbnRJZDsKKworICBmdW5jdGlvbiBzdHJhdGlmeShkYXRhKSB7CisgICAgdmFy
IGQsCisgICAgICAgIGksCisgICAgICAgIG4gPSBkYXRhLmxlbmd0aCwKKyAgICAgICAgcm9vdCwK
KyAgICAgICAgcGFyZW50LAorICAgICAgICBub2RlLAorICAgICAgICBub2RlcyA9IG5ldyBBcnJh
eShuKSwKKyAgICAgICAgbm9kZUlkLAorICAgICAgICBub2RlS2V5LAorICAgICAgICBub2RlQnlL
ZXkgPSB7fTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGQgPSBkYXRh
W2ldLCBub2RlID0gbm9kZXNbaV0gPSBuZXcgTm9kZShkKTsKKyAgICAgIGlmICgobm9kZUlkID0g
aWQoZCwgaSwgZGF0YSkpICE9IG51bGwgJiYgKG5vZGVJZCArPSAiIikpIHsKKyAgICAgICAgbm9k
ZUtleSA9IGtleVByZWZpeCQxICsgKG5vZGUuaWQgPSBub2RlSWQpOworICAgICAgICBub2RlQnlL
ZXlbbm9kZUtleV0gPSBub2RlS2V5IGluIG5vZGVCeUtleSA/IGFtYmlndW91cyA6IG5vZGU7Cisg
ICAgICB9CisgICAgfQorCisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgbm9k
ZSA9IG5vZGVzW2ldLCBub2RlSWQgPSBwYXJlbnRJZChkYXRhW2ldLCBpLCBkYXRhKTsKKyAgICAg
IGlmIChub2RlSWQgPT0gbnVsbCB8fCAhKG5vZGVJZCArPSAiIikpIHsKKyAgICAgICAgaWYgKHJv
b3QpIHRocm93IG5ldyBFcnJvcigibXVsdGlwbGUgcm9vdHMiKTsKKyAgICAgICAgcm9vdCA9IG5v
ZGU7CisgICAgICB9IGVsc2UgeworICAgICAgICBwYXJlbnQgPSBub2RlQnlLZXlba2V5UHJlZml4
JDEgKyBub2RlSWRdOworICAgICAgICBpZiAoIXBhcmVudCkgdGhyb3cgbmV3IEVycm9yKCJtaXNz
aW5nOiAiICsgbm9kZUlkKTsKKyAgICAgICAgaWYgKHBhcmVudCA9PT0gYW1iaWd1b3VzKSB0aHJv
dyBuZXcgRXJyb3IoImFtYmlndW91czogIiArIG5vZGVJZCk7CisgICAgICAgIGlmIChwYXJlbnQu
Y2hpbGRyZW4pIHBhcmVudC5jaGlsZHJlbi5wdXNoKG5vZGUpOworICAgICAgICBlbHNlIHBhcmVu
dC5jaGlsZHJlbiA9IFtub2RlXTsKKyAgICAgICAgbm9kZS5wYXJlbnQgPSBwYXJlbnQ7CisgICAg
ICB9CisgICAgfQorCisgICAgaWYgKCFyb290KSB0aHJvdyBuZXcgRXJyb3IoIm5vIHJvb3QiKTsK
KyAgICByb290LnBhcmVudCA9IHByZXJvb3Q7CisgICAgcm9vdC5lYWNoQmVmb3JlKGZ1bmN0aW9u
KG5vZGUpIHsgbm9kZS5kZXB0aCA9IG5vZGUucGFyZW50LmRlcHRoICsgMTsgLS1uOyB9KS5lYWNo
QmVmb3JlKGNvbXB1dGVIZWlnaHQpOworICAgIHJvb3QucGFyZW50ID0gbnVsbDsKKyAgICBpZiAo
biA+IDApIHRocm93IG5ldyBFcnJvcigiY3ljbGUiKTsKKworICAgIHJldHVybiByb290OworICB9
CisKKyAgc3RyYXRpZnkuaWQgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoaWQgPSByZXF1aXJlZCh4KSwgc3RyYXRpZnkpIDogaWQ7CisgIH07CisKKyAgc3Ry
YXRpZnkucGFyZW50SWQgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAocGFyZW50SWQgPSByZXF1aXJlZCh4KSwgc3RyYXRpZnkpIDogcGFyZW50SWQ7CisgIH07
CisKKyAgcmV0dXJuIHN0cmF0aWZ5OworfQorCitmdW5jdGlvbiBkZWZhdWx0U2VwYXJhdGlvbiQx
KGEsIGIpIHsKKyAgcmV0dXJuIGEucGFyZW50ID09PSBiLnBhcmVudCA/IDEgOiAyOworfQorCisv
LyBmdW5jdGlvbiByYWRpYWxTZXBhcmF0aW9uKGEsIGIpIHsKKy8vICAgcmV0dXJuIChhLnBhcmVu
dCA9PT0gYi5wYXJlbnQgPyAxIDogMikgLyBhLmRlcHRoOworLy8gfQorCisvLyBUaGlzIGZ1bmN0
aW9uIGlzIHVzZWQgdG8gdHJhdmVyc2UgdGhlIGxlZnQgY29udG91ciBvZiBhIHN1YnRyZWUgKG9y
CisvLyBzdWJmb3Jlc3QpLiBJdCByZXR1cm5zIHRoZSBzdWNjZXNzb3Igb2YgdiBvbiB0aGlzIGNv
bnRvdXIuIFRoaXMgc3VjY2Vzc29yIGlzCisvLyBlaXRoZXIgZ2l2ZW4gYnkgdGhlIGxlZnRtb3N0
IGNoaWxkIG9mIHYgb3IgYnkgdGhlIHRocmVhZCBvZiB2LiBUaGUgZnVuY3Rpb24KKy8vIHJldHVy
bnMgbnVsbCBpZiBhbmQgb25seSBpZiB2IGlzIG9uIHRoZSBoaWdoZXN0IGxldmVsIG9mIGl0cyBz
dWJ0cmVlLgorZnVuY3Rpb24gbmV4dExlZnQodikgeworICB2YXIgY2hpbGRyZW4gPSB2LmNoaWxk
cmVuOworICByZXR1cm4gY2hpbGRyZW4gPyBjaGlsZHJlblswXSA6IHYudDsKK30KKworLy8gVGhp
cyBmdW5jdGlvbiB3b3JrcyBhbmFsb2dvdXNseSB0byBuZXh0TGVmdC4KK2Z1bmN0aW9uIG5leHRS
aWdodCh2KSB7CisgIHZhciBjaGlsZHJlbiA9IHYuY2hpbGRyZW47CisgIHJldHVybiBjaGlsZHJl
biA/IGNoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDFdIDogdi50OworfQorCisvLyBTaGlmdHMg
dGhlIGN1cnJlbnQgc3VidHJlZSByb290ZWQgYXQgdysuIFRoaXMgaXMgZG9uZSBieSBpbmNyZWFz
aW5nCisvLyBwcmVsaW0odyspIGFuZCBtb2QodyspIGJ5IHNoaWZ0LgorZnVuY3Rpb24gbW92ZVN1
YnRyZWUod20sIHdwLCBzaGlmdCkgeworICB2YXIgY2hhbmdlID0gc2hpZnQgLyAod3AuaSAtIHdt
LmkpOworICB3cC5jIC09IGNoYW5nZTsKKyAgd3AucyArPSBzaGlmdDsKKyAgd20uYyArPSBjaGFu
Z2U7CisgIHdwLnogKz0gc2hpZnQ7CisgIHdwLm0gKz0gc2hpZnQ7Cit9CisKKy8vIEFsbCBvdGhl
ciBzaGlmdHMsIGFwcGxpZWQgdG8gdGhlIHNtYWxsZXIgc3VidHJlZXMgYmV0d2VlbiB3LSBhbmQg
dyssIGFyZQorLy8gcGVyZm9ybWVkIGJ5IHRoaXMgZnVuY3Rpb24uIFRvIHByZXBhcmUgdGhlIHNo
aWZ0cywgd2UgaGF2ZSB0byBhZGp1c3QKKy8vIGNoYW5nZSh3KyksIHNoaWZ0KHcrKSwgYW5kIGNo
YW5nZSh3LSkuCitmdW5jdGlvbiBleGVjdXRlU2hpZnRzKHYpIHsKKyAgdmFyIHNoaWZ0ID0gMCwK
KyAgICAgIGNoYW5nZSA9IDAsCisgICAgICBjaGlsZHJlbiA9IHYuY2hpbGRyZW4sCisgICAgICBp
ID0gY2hpbGRyZW4ubGVuZ3RoLAorICAgICAgdzsKKyAgd2hpbGUgKC0taSA+PSAwKSB7CisgICAg
dyA9IGNoaWxkcmVuW2ldOworICAgIHcueiArPSBzaGlmdDsKKyAgICB3Lm0gKz0gc2hpZnQ7Cisg
ICAgc2hpZnQgKz0gdy5zICsgKGNoYW5nZSArPSB3LmMpOworICB9Cit9CisKKy8vIElmIHZpLeKA
mXMgYW5jZXN0b3IgaXMgYSBzaWJsaW5nIG9mIHYsIHJldHVybnMgdmkt4oCZcyBhbmNlc3Rvci4g
T3RoZXJ3aXNlLAorLy8gcmV0dXJucyB0aGUgc3BlY2lmaWVkIChkZWZhdWx0KSBhbmNlc3Rvci4K
K2Z1bmN0aW9uIG5leHRBbmNlc3Rvcih2aW0sIHYsIGFuY2VzdG9yKSB7CisgIHJldHVybiB2aW0u
YS5wYXJlbnQgPT09IHYucGFyZW50ID8gdmltLmEgOiBhbmNlc3RvcjsKK30KKworZnVuY3Rpb24g
VHJlZU5vZGUobm9kZSwgaSkgeworICB0aGlzLl8gPSBub2RlOworICB0aGlzLnBhcmVudCA9IG51
bGw7CisgIHRoaXMuY2hpbGRyZW4gPSBudWxsOworICB0aGlzLkEgPSBudWxsOyAvLyBkZWZhdWx0
IGFuY2VzdG9yCisgIHRoaXMuYSA9IHRoaXM7IC8vIGFuY2VzdG9yCisgIHRoaXMueiA9IDA7IC8v
IHByZWxpbQorICB0aGlzLm0gPSAwOyAvLyBtb2QKKyAgdGhpcy5jID0gMDsgLy8gY2hhbmdlCisg
IHRoaXMucyA9IDA7IC8vIHNoaWZ0CisgIHRoaXMudCA9IG51bGw7IC8vIHRocmVhZAorICB0aGlz
LmkgPSBpOyAvLyBudW1iZXIKK30KKworVHJlZU5vZGUucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0
ZShOb2RlLnByb3RvdHlwZSk7CisKK2Z1bmN0aW9uIHRyZWVSb290KHJvb3QpIHsKKyAgdmFyIHRy
ZWUgPSBuZXcgVHJlZU5vZGUocm9vdCwgMCksCisgICAgICBub2RlLAorICAgICAgbm9kZXMgPSBb
dHJlZV0sCisgICAgICBjaGlsZCwKKyAgICAgIGNoaWxkcmVuLAorICAgICAgaSwKKyAgICAgIG47
CisKKyAgd2hpbGUgKG5vZGUgPSBub2Rlcy5wb3AoKSkgeworICAgIGlmIChjaGlsZHJlbiA9IG5v
ZGUuXy5jaGlsZHJlbikgeworICAgICAgbm9kZS5jaGlsZHJlbiA9IG5ldyBBcnJheShuID0gY2hp
bGRyZW4ubGVuZ3RoKTsKKyAgICAgIGZvciAoaSA9IG4gLSAxOyBpID49IDA7IC0taSkgeworICAg
ICAgICBub2Rlcy5wdXNoKGNoaWxkID0gbm9kZS5jaGlsZHJlbltpXSA9IG5ldyBUcmVlTm9kZShj
aGlsZHJlbltpXSwgaSkpOworICAgICAgICBjaGlsZC5wYXJlbnQgPSBub2RlOworICAgICAgfQor
ICAgIH0KKyAgfQorCisgICh0cmVlLnBhcmVudCA9IG5ldyBUcmVlTm9kZShudWxsLCAwKSkuY2hp
bGRyZW4gPSBbdHJlZV07CisgIHJldHVybiB0cmVlOworfQorCisvLyBOb2RlLWxpbmsgdHJlZSBk
aWFncmFtIHVzaW5nIHRoZSBSZWluZ29sZC1UaWxmb3JkICJ0aWR5IiBhbGdvcml0aG0KK2Z1bmN0
aW9uIHRyZWUoKSB7CisgIHZhciBzZXBhcmF0aW9uID0gZGVmYXVsdFNlcGFyYXRpb24kMSwKKyAg
ICAgIGR4ID0gMSwKKyAgICAgIGR5ID0gMSwKKyAgICAgIG5vZGVTaXplID0gbnVsbDsKKworICBm
dW5jdGlvbiB0cmVlKHJvb3QpIHsKKyAgICB2YXIgdCA9IHRyZWVSb290KHJvb3QpOworCisgICAg
Ly8gQ29tcHV0ZSB0aGUgbGF5b3V0IHVzaW5nIEJ1Y2hoZWltIGV0IGFsLuKAmXMgYWxnb3JpdGht
LgorICAgIHQuZWFjaEFmdGVyKGZpcnN0V2FsayksIHQucGFyZW50Lm0gPSAtdC56OworICAgIHQu
ZWFjaEJlZm9yZShzZWNvbmRXYWxrKTsKKworICAgIC8vIElmIGEgZml4ZWQgbm9kZSBzaXplIGlz
IHNwZWNpZmllZCwgc2NhbGUgeCBhbmQgeS4KKyAgICBpZiAobm9kZVNpemUpIHJvb3QuZWFjaEJl
Zm9yZShzaXplTm9kZSk7CisKKyAgICAvLyBJZiBhIGZpeGVkIHRyZWUgc2l6ZSBpcyBzcGVjaWZp
ZWQsIHNjYWxlIHggYW5kIHkgYmFzZWQgb24gdGhlIGV4dGVudC4KKyAgICAvLyBDb21wdXRlIHRo
ZSBsZWZ0LW1vc3QsIHJpZ2h0LW1vc3QsIGFuZCBkZXB0aC1tb3N0IG5vZGVzIGZvciBleHRlbnRz
LgorICAgIGVsc2UgeworICAgICAgdmFyIGxlZnQgPSByb290LAorICAgICAgICAgIHJpZ2h0ID0g
cm9vdCwKKyAgICAgICAgICBib3R0b20gPSByb290OworICAgICAgcm9vdC5lYWNoQmVmb3JlKGZ1
bmN0aW9uKG5vZGUpIHsKKyAgICAgICAgaWYgKG5vZGUueCA8IGxlZnQueCkgbGVmdCA9IG5vZGU7
CisgICAgICAgIGlmIChub2RlLnggPiByaWdodC54KSByaWdodCA9IG5vZGU7CisgICAgICAgIGlm
IChub2RlLmRlcHRoID4gYm90dG9tLmRlcHRoKSBib3R0b20gPSBub2RlOworICAgICAgfSk7Cisg
ICAgICB2YXIgcyA9IGxlZnQgPT09IHJpZ2h0ID8gMSA6IHNlcGFyYXRpb24obGVmdCwgcmlnaHQp
IC8gMiwKKyAgICAgICAgICB0eCA9IHMgLSBsZWZ0LngsCisgICAgICAgICAga3ggPSBkeCAvIChy
aWdodC54ICsgcyArIHR4KSwKKyAgICAgICAgICBreSA9IGR5IC8gKGJvdHRvbS5kZXB0aCB8fCAx
KTsKKyAgICAgIHJvb3QuZWFjaEJlZm9yZShmdW5jdGlvbihub2RlKSB7CisgICAgICAgIG5vZGUu
eCA9IChub2RlLnggKyB0eCkgKiBreDsKKyAgICAgICAgbm9kZS55ID0gbm9kZS5kZXB0aCAqIGt5
OworICAgICAgfSk7CisgICAgfQorCisgICAgcmV0dXJuIHJvb3Q7CisgIH0KKworICAvLyBDb21w
dXRlcyBhIHByZWxpbWluYXJ5IHgtY29vcmRpbmF0ZSBmb3Igdi4gQmVmb3JlIHRoYXQsIEZJUlNU
IFdBTEsgaXMKKyAgLy8gYXBwbGllZCByZWN1cnNpdmVseSB0byB0aGUgY2hpbGRyZW4gb2Ygdiwg
YXMgd2VsbCBhcyB0aGUgZnVuY3Rpb24KKyAgLy8gQVBQT1JUSU9OLiBBZnRlciBzcGFjaW5nIG91
dCB0aGUgY2hpbGRyZW4gYnkgY2FsbGluZyBFWEVDVVRFIFNISUZUUywgdGhlCisgIC8vIG5vZGUg
diBpcyBwbGFjZWQgdG8gdGhlIG1pZHBvaW50IG9mIGl0cyBvdXRlcm1vc3QgY2hpbGRyZW4uCisg
IGZ1bmN0aW9uIGZpcnN0V2Fsayh2KSB7CisgICAgdmFyIGNoaWxkcmVuID0gdi5jaGlsZHJlbiwK
KyAgICAgICAgc2libGluZ3MgPSB2LnBhcmVudC5jaGlsZHJlbiwKKyAgICAgICAgdyA9IHYuaSA/
IHNpYmxpbmdzW3YuaSAtIDFdIDogbnVsbDsKKyAgICBpZiAoY2hpbGRyZW4pIHsKKyAgICAgIGV4
ZWN1dGVTaGlmdHModik7CisgICAgICB2YXIgbWlkcG9pbnQgPSAoY2hpbGRyZW5bMF0ueiArIGNo
aWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDFdLnopIC8gMjsKKyAgICAgIGlmICh3KSB7CisgICAg
ICAgIHYueiA9IHcueiArIHNlcGFyYXRpb24odi5fLCB3Ll8pOworICAgICAgICB2Lm0gPSB2Lnog
LSBtaWRwb2ludDsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIHYueiA9IG1pZHBvaW50OworICAg
ICAgfQorICAgIH0gZWxzZSBpZiAodykgeworICAgICAgdi56ID0gdy56ICsgc2VwYXJhdGlvbih2
Ll8sIHcuXyk7CisgICAgfQorICAgIHYucGFyZW50LkEgPSBhcHBvcnRpb24odiwgdywgdi5wYXJl
bnQuQSB8fCBzaWJsaW5nc1swXSk7CisgIH0KKworICAvLyBDb21wdXRlcyBhbGwgcmVhbCB4LWNv
b3JkaW5hdGVzIGJ5IHN1bW1pbmcgdXAgdGhlIG1vZGlmaWVycyByZWN1cnNpdmVseS4KKyAgZnVu
Y3Rpb24gc2Vjb25kV2Fsayh2KSB7CisgICAgdi5fLnggPSB2LnogKyB2LnBhcmVudC5tOworICAg
IHYubSArPSB2LnBhcmVudC5tOworICB9CisKKyAgLy8gVGhlIGNvcmUgb2YgdGhlIGFsZ29yaXRo
bS4gSGVyZSwgYSBuZXcgc3VidHJlZSBpcyBjb21iaW5lZCB3aXRoIHRoZQorICAvLyBwcmV2aW91
cyBzdWJ0cmVlcy4gVGhyZWFkcyBhcmUgdXNlZCB0byB0cmF2ZXJzZSB0aGUgaW5zaWRlIGFuZCBv
dXRzaWRlCisgIC8vIGNvbnRvdXJzIG9mIHRoZSBsZWZ0IGFuZCByaWdodCBzdWJ0cmVlIHVwIHRv
IHRoZSBoaWdoZXN0IGNvbW1vbiBsZXZlbC4gVGhlCisgIC8vIHZlcnRpY2VzIHVzZWQgZm9yIHRo
ZSB0cmF2ZXJzYWxzIGFyZSB2aSssIHZpLSwgdm8tLCBhbmQgdm8rLCB3aGVyZSB0aGUKKyAgLy8g
c3VwZXJzY3JpcHQgbyBtZWFucyBvdXRzaWRlIGFuZCBpIG1lYW5zIGluc2lkZSwgdGhlIHN1YnNj
cmlwdCAtIG1lYW5zIGxlZnQKKyAgLy8gc3VidHJlZSBhbmQgKyBtZWFucyByaWdodCBzdWJ0cmVl
LiBGb3Igc3VtbWluZyB1cCB0aGUgbW9kaWZpZXJzIGFsb25nIHRoZQorICAvLyBjb250b3VyLCB3
ZSB1c2UgcmVzcGVjdGl2ZSB2YXJpYWJsZXMgc2krLCBzaS0sIHNvLSwgYW5kIHNvKy4gV2hlbmV2
ZXIgdHdvCisgIC8vIG5vZGVzIG9mIHRoZSBpbnNpZGUgY29udG91cnMgY29uZmxpY3QsIHdlIGNv
bXB1dGUgdGhlIGxlZnQgb25lIG9mIHRoZQorICAvLyBncmVhdGVzdCB1bmNvbW1vbiBhbmNlc3Rv
cnMgdXNpbmcgdGhlIGZ1bmN0aW9uIEFOQ0VTVE9SIGFuZCBjYWxsIE1PVkUKKyAgLy8gU1VCVFJF
RSB0byBzaGlmdCB0aGUgc3VidHJlZSBhbmQgcHJlcGFyZSB0aGUgc2hpZnRzIG9mIHNtYWxsZXIg
c3VidHJlZXMuCisgIC8vIEZpbmFsbHksIHdlIGFkZCBhIG5ldyB0aHJlYWQgKGlmIG5lY2Vzc2Fy
eSkuCisgIGZ1bmN0aW9uIGFwcG9ydGlvbih2LCB3LCBhbmNlc3RvcikgeworICAgIGlmICh3KSB7
CisgICAgICB2YXIgdmlwID0gdiwKKyAgICAgICAgICB2b3AgPSB2LAorICAgICAgICAgIHZpbSA9
IHcsCisgICAgICAgICAgdm9tID0gdmlwLnBhcmVudC5jaGlsZHJlblswXSwKKyAgICAgICAgICBz
aXAgPSB2aXAubSwKKyAgICAgICAgICBzb3AgPSB2b3AubSwKKyAgICAgICAgICBzaW0gPSB2aW0u
bSwKKyAgICAgICAgICBzb20gPSB2b20ubSwKKyAgICAgICAgICBzaGlmdDsKKyAgICAgIHdoaWxl
ICh2aW0gPSBuZXh0UmlnaHQodmltKSwgdmlwID0gbmV4dExlZnQodmlwKSwgdmltICYmIHZpcCkg
eworICAgICAgICB2b20gPSBuZXh0TGVmdCh2b20pOworICAgICAgICB2b3AgPSBuZXh0UmlnaHQo
dm9wKTsKKyAgICAgICAgdm9wLmEgPSB2OworICAgICAgICBzaGlmdCA9IHZpbS56ICsgc2ltIC0g
dmlwLnogLSBzaXAgKyBzZXBhcmF0aW9uKHZpbS5fLCB2aXAuXyk7CisgICAgICAgIGlmIChzaGlm
dCA+IDApIHsKKyAgICAgICAgICBtb3ZlU3VidHJlZShuZXh0QW5jZXN0b3IodmltLCB2LCBhbmNl
c3RvciksIHYsIHNoaWZ0KTsKKyAgICAgICAgICBzaXAgKz0gc2hpZnQ7CisgICAgICAgICAgc29w
ICs9IHNoaWZ0OworICAgICAgICB9CisgICAgICAgIHNpbSArPSB2aW0ubTsKKyAgICAgICAgc2lw
ICs9IHZpcC5tOworICAgICAgICBzb20gKz0gdm9tLm07CisgICAgICAgIHNvcCArPSB2b3AubTsK
KyAgICAgIH0KKyAgICAgIGlmICh2aW0gJiYgIW5leHRSaWdodCh2b3ApKSB7CisgICAgICAgIHZv
cC50ID0gdmltOworICAgICAgICB2b3AubSArPSBzaW0gLSBzb3A7CisgICAgICB9CisgICAgICBp
ZiAodmlwICYmICFuZXh0TGVmdCh2b20pKSB7CisgICAgICAgIHZvbS50ID0gdmlwOworICAgICAg
ICB2b20ubSArPSBzaXAgLSBzb207CisgICAgICAgIGFuY2VzdG9yID0gdjsKKyAgICAgIH0KKyAg
ICB9CisgICAgcmV0dXJuIGFuY2VzdG9yOworICB9CisKKyAgZnVuY3Rpb24gc2l6ZU5vZGUobm9k
ZSkgeworICAgIG5vZGUueCAqPSBkeDsKKyAgICBub2RlLnkgPSBub2RlLmRlcHRoICogZHk7Cisg
IH0KKworICB0cmVlLnNlcGFyYXRpb24gPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAoc2VwYXJhdGlvbiA9IHgsIHRyZWUpIDogc2VwYXJhdGlvbjsKKyAgfTsK
KworICB0cmVlLnNpemUgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAobm9kZVNpemUgPSBmYWxzZSwgZHggPSAreFswXSwgZHkgPSAreFsxXSwgdHJlZSkgOiAo
bm9kZVNpemUgPyBudWxsIDogW2R4LCBkeV0pOworICB9OworCisgIHRyZWUubm9kZVNpemUgPSBm
dW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAobm9kZVNpemUgPSB0
cnVlLCBkeCA9ICt4WzBdLCBkeSA9ICt4WzFdLCB0cmVlKSA6IChub2RlU2l6ZSA/IFtkeCwgZHld
IDogbnVsbCk7CisgIH07CisKKyAgcmV0dXJuIHRyZWU7Cit9CisKK2Z1bmN0aW9uIHRyZWVtYXBT
bGljZShwYXJlbnQsIHgwLCB5MCwgeDEsIHkxKSB7CisgIHZhciBub2RlcyA9IHBhcmVudC5jaGls
ZHJlbiwKKyAgICAgIG5vZGUsCisgICAgICBpID0gLTEsCisgICAgICBuID0gbm9kZXMubGVuZ3Ro
LAorICAgICAgayA9IHBhcmVudC52YWx1ZSAmJiAoeTEgLSB5MCkgLyBwYXJlbnQudmFsdWU7CisK
KyAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICBub2RlID0gbm9kZXNbaV0sIG5vZGUueDAgPSB4MCwg
bm9kZS54MSA9IHgxOworICAgIG5vZGUueTAgPSB5MCwgbm9kZS55MSA9IHkwICs9IG5vZGUudmFs
dWUgKiBrOworICB9Cit9CisKK3ZhciBwaGkgPSAoMSArIE1hdGguc3FydCg1KSkgLyAyOworCitm
dW5jdGlvbiBzcXVhcmlmeVJhdGlvKHJhdGlvLCBwYXJlbnQsIHgwLCB5MCwgeDEsIHkxKSB7Cisg
IHZhciByb3dzID0gW10sCisgICAgICBub2RlcyA9IHBhcmVudC5jaGlsZHJlbiwKKyAgICAgIHJv
dywKKyAgICAgIG5vZGVWYWx1ZSwKKyAgICAgIGkwID0gMCwKKyAgICAgIGkxID0gMCwKKyAgICAg
IG4gPSBub2Rlcy5sZW5ndGgsCisgICAgICBkeCwgZHksCisgICAgICB2YWx1ZSA9IHBhcmVudC52
YWx1ZSwKKyAgICAgIHN1bVZhbHVlLAorICAgICAgbWluVmFsdWUsCisgICAgICBtYXhWYWx1ZSwK
KyAgICAgIG5ld1JhdGlvLAorICAgICAgbWluUmF0aW8sCisgICAgICBhbHBoYSwKKyAgICAgIGJl
dGE7CisKKyAgd2hpbGUgKGkwIDwgbikgeworICAgIGR4ID0geDEgLSB4MCwgZHkgPSB5MSAtIHkw
OworCisgICAgLy8gRmluZCB0aGUgbmV4dCBub24tZW1wdHkgbm9kZS4KKyAgICBkbyBzdW1WYWx1
ZSA9IG5vZGVzW2kxKytdLnZhbHVlOyB3aGlsZSAoIXN1bVZhbHVlICYmIGkxIDwgbik7CisgICAg
bWluVmFsdWUgPSBtYXhWYWx1ZSA9IHN1bVZhbHVlOworICAgIGFscGhhID0gTWF0aC5tYXgoZHkg
LyBkeCwgZHggLyBkeSkgLyAodmFsdWUgKiByYXRpbyk7CisgICAgYmV0YSA9IHN1bVZhbHVlICog
c3VtVmFsdWUgKiBhbHBoYTsKKyAgICBtaW5SYXRpbyA9IE1hdGgubWF4KG1heFZhbHVlIC8gYmV0
YSwgYmV0YSAvIG1pblZhbHVlKTsKKworICAgIC8vIEtlZXAgYWRkaW5nIG5vZGVzIHdoaWxlIHRo
ZSBhc3BlY3QgcmF0aW8gbWFpbnRhaW5zIG9yIGltcHJvdmVzLgorICAgIGZvciAoOyBpMSA8IG47
ICsraTEpIHsKKyAgICAgIHN1bVZhbHVlICs9IG5vZGVWYWx1ZSA9IG5vZGVzW2kxXS52YWx1ZTsK
KyAgICAgIGlmIChub2RlVmFsdWUgPCBtaW5WYWx1ZSkgbWluVmFsdWUgPSBub2RlVmFsdWU7Cisg
ICAgICBpZiAobm9kZVZhbHVlID4gbWF4VmFsdWUpIG1heFZhbHVlID0gbm9kZVZhbHVlOworICAg
ICAgYmV0YSA9IHN1bVZhbHVlICogc3VtVmFsdWUgKiBhbHBoYTsKKyAgICAgIG5ld1JhdGlvID0g
TWF0aC5tYXgobWF4VmFsdWUgLyBiZXRhLCBiZXRhIC8gbWluVmFsdWUpOworICAgICAgaWYgKG5l
d1JhdGlvID4gbWluUmF0aW8pIHsgc3VtVmFsdWUgLT0gbm9kZVZhbHVlOyBicmVhazsgfQorICAg
ICAgbWluUmF0aW8gPSBuZXdSYXRpbzsKKyAgICB9CisKKyAgICAvLyBQb3NpdGlvbiBhbmQgcmVj
b3JkIHRoZSByb3cgb3JpZW50YXRpb24uCisgICAgcm93cy5wdXNoKHJvdyA9IHt2YWx1ZTogc3Vt
VmFsdWUsIGRpY2U6IGR4IDwgZHksIGNoaWxkcmVuOiBub2Rlcy5zbGljZShpMCwgaTEpfSk7Cisg
ICAgaWYgKHJvdy5kaWNlKSB0cmVlbWFwRGljZShyb3csIHgwLCB5MCwgeDEsIHZhbHVlID8geTAg
Kz0gZHkgKiBzdW1WYWx1ZSAvIHZhbHVlIDogeTEpOworICAgIGVsc2UgdHJlZW1hcFNsaWNlKHJv
dywgeDAsIHkwLCB2YWx1ZSA/IHgwICs9IGR4ICogc3VtVmFsdWUgLyB2YWx1ZSA6IHgxLCB5MSk7
CisgICAgdmFsdWUgLT0gc3VtVmFsdWUsIGkwID0gaTE7CisgIH0KKworICByZXR1cm4gcm93czsK
K30KKwordmFyIHNxdWFyaWZ5ID0gKGZ1bmN0aW9uIGN1c3RvbShyYXRpbykgeworCisgIGZ1bmN0
aW9uIHNxdWFyaWZ5KHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgICBzcXVhcmlmeVJhdGlv
KHJhdGlvLCBwYXJlbnQsIHgwLCB5MCwgeDEsIHkxKTsKKyAgfQorCisgIHNxdWFyaWZ5LnJhdGlv
ID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBjdXN0b20oKHggPSAreCkgPiAxID8geCA6IDEp
OworICB9OworCisgIHJldHVybiBzcXVhcmlmeTsKK30pKHBoaSk7CisKK2Z1bmN0aW9uIGluZGV4
JDMoKSB7CisgIHZhciB0aWxlID0gc3F1YXJpZnksCisgICAgICByb3VuZCA9IGZhbHNlLAorICAg
ICAgZHggPSAxLAorICAgICAgZHkgPSAxLAorICAgICAgcGFkZGluZ1N0YWNrID0gWzBdLAorICAg
ICAgcGFkZGluZ0lubmVyID0gY29uc3RhbnRaZXJvLAorICAgICAgcGFkZGluZ1RvcCA9IGNvbnN0
YW50WmVybywKKyAgICAgIHBhZGRpbmdSaWdodCA9IGNvbnN0YW50WmVybywKKyAgICAgIHBhZGRp
bmdCb3R0b20gPSBjb25zdGFudFplcm8sCisgICAgICBwYWRkaW5nTGVmdCA9IGNvbnN0YW50WmVy
bzsKKworICBmdW5jdGlvbiB0cmVlbWFwKHJvb3QpIHsKKyAgICByb290LngwID0KKyAgICByb290
LnkwID0gMDsKKyAgICByb290LngxID0gZHg7CisgICAgcm9vdC55MSA9IGR5OworICAgIHJvb3Qu
ZWFjaEJlZm9yZShwb3NpdGlvbk5vZGUpOworICAgIHBhZGRpbmdTdGFjayA9IFswXTsKKyAgICBp
ZiAocm91bmQpIHJvb3QuZWFjaEJlZm9yZShyb3VuZE5vZGUpOworICAgIHJldHVybiByb290Owor
ICB9CisKKyAgZnVuY3Rpb24gcG9zaXRpb25Ob2RlKG5vZGUpIHsKKyAgICB2YXIgcCA9IHBhZGRp
bmdTdGFja1tub2RlLmRlcHRoXSwKKyAgICAgICAgeDAgPSBub2RlLngwICsgcCwKKyAgICAgICAg
eTAgPSBub2RlLnkwICsgcCwKKyAgICAgICAgeDEgPSBub2RlLngxIC0gcCwKKyAgICAgICAgeTEg
PSBub2RlLnkxIC0gcDsKKyAgICBpZiAoeDEgPCB4MCkgeDAgPSB4MSA9ICh4MCArIHgxKSAvIDI7
CisgICAgaWYgKHkxIDwgeTApIHkwID0geTEgPSAoeTAgKyB5MSkgLyAyOworICAgIG5vZGUueDAg
PSB4MDsKKyAgICBub2RlLnkwID0geTA7CisgICAgbm9kZS54MSA9IHgxOworICAgIG5vZGUueTEg
PSB5MTsKKyAgICBpZiAobm9kZS5jaGlsZHJlbikgeworICAgICAgcCA9IHBhZGRpbmdTdGFja1tu
b2RlLmRlcHRoICsgMV0gPSBwYWRkaW5nSW5uZXIobm9kZSkgLyAyOworICAgICAgeDAgKz0gcGFk
ZGluZ0xlZnQobm9kZSkgLSBwOworICAgICAgeTAgKz0gcGFkZGluZ1RvcChub2RlKSAtIHA7Cisg
ICAgICB4MSAtPSBwYWRkaW5nUmlnaHQobm9kZSkgLSBwOworICAgICAgeTEgLT0gcGFkZGluZ0Jv
dHRvbShub2RlKSAtIHA7CisgICAgICBpZiAoeDEgPCB4MCkgeDAgPSB4MSA9ICh4MCArIHgxKSAv
IDI7CisgICAgICBpZiAoeTEgPCB5MCkgeTAgPSB5MSA9ICh5MCArIHkxKSAvIDI7CisgICAgICB0
aWxlKG5vZGUsIHgwLCB5MCwgeDEsIHkxKTsKKyAgICB9CisgIH0KKworICB0cmVlbWFwLnJvdW5k
ID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJvdW5kID0g
ISF4LCB0cmVlbWFwKSA6IHJvdW5kOworICB9OworCisgIHRyZWVtYXAuc2l6ZSA9IGZ1bmN0aW9u
KHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkeCA9ICt4WzBdLCBkeSA9ICt4
WzFdLCB0cmVlbWFwKSA6IFtkeCwgZHldOworICB9OworCisgIHRyZWVtYXAudGlsZSA9IGZ1bmN0
aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0aWxlID0gcmVxdWlyZWQo
eCksIHRyZWVtYXApIDogdGlsZTsKKyAgfTsKKworICB0cmVlbWFwLnBhZGRpbmcgPSBmdW5jdGlv
bih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyB0cmVlbWFwLnBhZGRpbmdJbm5l
cih4KS5wYWRkaW5nT3V0ZXIoeCkgOiB0cmVlbWFwLnBhZGRpbmdJbm5lcigpOworICB9OworCisg
IHRyZWVtYXAucGFkZGluZ0lubmVyID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHBhZGRpbmdJbm5lciA9IHR5cGVvZiB4ID09PSAiZnVuY3Rpb24iID8geCA6
IGNvbnN0YW50JDkoK3gpLCB0cmVlbWFwKSA6IHBhZGRpbmdJbm5lcjsKKyAgfTsKKworICB0cmVl
bWFwLnBhZGRpbmdPdXRlciA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IHRyZWVtYXAucGFkZGluZ1RvcCh4KS5wYWRkaW5nUmlnaHQoeCkucGFkZGluZ0JvdHRv
bSh4KS5wYWRkaW5nTGVmdCh4KSA6IHRyZWVtYXAucGFkZGluZ1RvcCgpOworICB9OworCisgIHRy
ZWVtYXAucGFkZGluZ1RvcCA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IChwYWRkaW5nVG9wID0gdHlwZW9mIHggPT09ICJmdW5jdGlvbiIgPyB4IDogY29uc3Rh
bnQkOSgreCksIHRyZWVtYXApIDogcGFkZGluZ1RvcDsKKyAgfTsKKworICB0cmVlbWFwLnBhZGRp
bmdSaWdodCA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChw
YWRkaW5nUmlnaHQgPSB0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiA/IHggOiBjb25zdGFudCQ5KCt4
KSwgdHJlZW1hcCkgOiBwYWRkaW5nUmlnaHQ7CisgIH07CisKKyAgdHJlZW1hcC5wYWRkaW5nQm90
dG9tID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhZGRp
bmdCb3R0b20gPSB0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiA/IHggOiBjb25zdGFudCQ5KCt4KSwg
dHJlZW1hcCkgOiBwYWRkaW5nQm90dG9tOworICB9OworCisgIHRyZWVtYXAucGFkZGluZ0xlZnQg
PSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocGFkZGluZ0xl
ZnQgPSB0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiA/IHggOiBjb25zdGFudCQ5KCt4KSwgdHJlZW1h
cCkgOiBwYWRkaW5nTGVmdDsKKyAgfTsKKworICByZXR1cm4gdHJlZW1hcDsKK30KKworZnVuY3Rp
b24gYmluYXJ5KHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIG5vZGVzID0gcGFyZW50
LmNoaWxkcmVuLAorICAgICAgaSwgbiA9IG5vZGVzLmxlbmd0aCwKKyAgICAgIHN1bSwgc3VtcyA9
IG5ldyBBcnJheShuICsgMSk7CisKKyAgZm9yIChzdW1zWzBdID0gc3VtID0gaSA9IDA7IGkgPCBu
OyArK2kpIHsKKyAgICBzdW1zW2kgKyAxXSA9IHN1bSArPSBub2Rlc1tpXS52YWx1ZTsKKyAgfQor
CisgIHBhcnRpdGlvbigwLCBuLCBwYXJlbnQudmFsdWUsIHgwLCB5MCwgeDEsIHkxKTsKKworICBm
dW5jdGlvbiBwYXJ0aXRpb24oaSwgaiwgdmFsdWUsIHgwLCB5MCwgeDEsIHkxKSB7CisgICAgaWYg
KGkgPj0gaiAtIDEpIHsKKyAgICAgIHZhciBub2RlID0gbm9kZXNbaV07CisgICAgICBub2RlLngw
ID0geDAsIG5vZGUueTAgPSB5MDsKKyAgICAgIG5vZGUueDEgPSB4MSwgbm9kZS55MSA9IHkxOwor
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHZhciB2YWx1ZU9mZnNldCA9IHN1bXNbaV0sCisg
ICAgICAgIHZhbHVlVGFyZ2V0ID0gKHZhbHVlIC8gMikgKyB2YWx1ZU9mZnNldCwKKyAgICAgICAg
ayA9IGkgKyAxLAorICAgICAgICBoaSA9IGogLSAxOworCisgICAgd2hpbGUgKGsgPCBoaSkgewor
ICAgICAgdmFyIG1pZCA9IGsgKyBoaSA+Pj4gMTsKKyAgICAgIGlmIChzdW1zW21pZF0gPCB2YWx1
ZVRhcmdldCkgayA9IG1pZCArIDE7CisgICAgICBlbHNlIGhpID0gbWlkOworICAgIH0KKworICAg
IGlmICgodmFsdWVUYXJnZXQgLSBzdW1zW2sgLSAxXSkgPCAoc3Vtc1trXSAtIHZhbHVlVGFyZ2V0
KSAmJiBpICsgMSA8IGspIC0tazsKKworICAgIHZhciB2YWx1ZUxlZnQgPSBzdW1zW2tdIC0gdmFs
dWVPZmZzZXQsCisgICAgICAgIHZhbHVlUmlnaHQgPSB2YWx1ZSAtIHZhbHVlTGVmdDsKKworICAg
IGlmICgoeDEgLSB4MCkgPiAoeTEgLSB5MCkpIHsKKyAgICAgIHZhciB4ayA9ICh4MCAqIHZhbHVl
UmlnaHQgKyB4MSAqIHZhbHVlTGVmdCkgLyB2YWx1ZTsKKyAgICAgIHBhcnRpdGlvbihpLCBrLCB2
YWx1ZUxlZnQsIHgwLCB5MCwgeGssIHkxKTsKKyAgICAgIHBhcnRpdGlvbihrLCBqLCB2YWx1ZVJp
Z2h0LCB4aywgeTAsIHgxLCB5MSk7CisgICAgfSBlbHNlIHsKKyAgICAgIHZhciB5ayA9ICh5MCAq
IHZhbHVlUmlnaHQgKyB5MSAqIHZhbHVlTGVmdCkgLyB2YWx1ZTsKKyAgICAgIHBhcnRpdGlvbihp
LCBrLCB2YWx1ZUxlZnQsIHgwLCB5MCwgeDEsIHlrKTsKKyAgICAgIHBhcnRpdGlvbihrLCBqLCB2
YWx1ZVJpZ2h0LCB4MCwgeWssIHgxLCB5MSk7CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIHNs
aWNlRGljZShwYXJlbnQsIHgwLCB5MCwgeDEsIHkxKSB7CisgIChwYXJlbnQuZGVwdGggJiAxID8g
dHJlZW1hcFNsaWNlIDogdHJlZW1hcERpY2UpKHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpOworfQor
Cit2YXIgcmVzcXVhcmlmeSA9IChmdW5jdGlvbiBjdXN0b20ocmF0aW8pIHsKKworICBmdW5jdGlv
biByZXNxdWFyaWZ5KHBhcmVudCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgICBpZiAoKHJvd3MgPSBw
YXJlbnQuX3NxdWFyaWZ5KSAmJiAocm93cy5yYXRpbyA9PT0gcmF0aW8pKSB7CisgICAgICB2YXIg
cm93cywKKyAgICAgICAgICByb3csCisgICAgICAgICAgbm9kZXMsCisgICAgICAgICAgaSwKKyAg
ICAgICAgICBqID0gLTEsCisgICAgICAgICAgbiwKKyAgICAgICAgICBtID0gcm93cy5sZW5ndGgs
CisgICAgICAgICAgdmFsdWUgPSBwYXJlbnQudmFsdWU7CisKKyAgICAgIHdoaWxlICgrK2ogPCBt
KSB7CisgICAgICAgIHJvdyA9IHJvd3Nbal0sIG5vZGVzID0gcm93LmNoaWxkcmVuOworICAgICAg
ICBmb3IgKGkgPSByb3cudmFsdWUgPSAwLCBuID0gbm9kZXMubGVuZ3RoOyBpIDwgbjsgKytpKSBy
b3cudmFsdWUgKz0gbm9kZXNbaV0udmFsdWU7CisgICAgICAgIGlmIChyb3cuZGljZSkgdHJlZW1h
cERpY2Uocm93LCB4MCwgeTAsIHgxLCB5MCArPSAoeTEgLSB5MCkgKiByb3cudmFsdWUgLyB2YWx1
ZSk7CisgICAgICAgIGVsc2UgdHJlZW1hcFNsaWNlKHJvdywgeDAsIHkwLCB4MCArPSAoeDEgLSB4
MCkgKiByb3cudmFsdWUgLyB2YWx1ZSwgeTEpOworICAgICAgICB2YWx1ZSAtPSByb3cudmFsdWU7
CisgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgIHBhcmVudC5fc3F1YXJpZnkgPSByb3dzID0g
c3F1YXJpZnlSYXRpbyhyYXRpbywgcGFyZW50LCB4MCwgeTAsIHgxLCB5MSk7CisgICAgICByb3dz
LnJhdGlvID0gcmF0aW87CisgICAgfQorICB9CisKKyAgcmVzcXVhcmlmeS5yYXRpbyA9IGZ1bmN0
aW9uKHgpIHsKKyAgICByZXR1cm4gY3VzdG9tKCh4ID0gK3gpID4gMSA/IHggOiAxKTsKKyAgfTsK
KworICByZXR1cm4gcmVzcXVhcmlmeTsKK30pKHBoaSk7CisKK2Z1bmN0aW9uIGFyZWEkMihwb2x5
Z29uKSB7CisgIHZhciBpID0gLTEsCisgICAgICBuID0gcG9seWdvbi5sZW5ndGgsCisgICAgICBh
LAorICAgICAgYiA9IHBvbHlnb25bbiAtIDFdLAorICAgICAgYXJlYSA9IDA7CisKKyAgd2hpbGUg
KCsraSA8IG4pIHsKKyAgICBhID0gYjsKKyAgICBiID0gcG9seWdvbltpXTsKKyAgICBhcmVhICs9
IGFbMV0gKiBiWzBdIC0gYVswXSAqIGJbMV07CisgIH0KKworICByZXR1cm4gYXJlYSAvIDI7Cit9
CisKK2Z1bmN0aW9uIGNlbnRyb2lkJDEocG9seWdvbikgeworICB2YXIgaSA9IC0xLAorICAgICAg
biA9IHBvbHlnb24ubGVuZ3RoLAorICAgICAgeCA9IDAsCisgICAgICB5ID0gMCwKKyAgICAgIGEs
CisgICAgICBiID0gcG9seWdvbltuIC0gMV0sCisgICAgICBjLAorICAgICAgayA9IDA7CisKKyAg
d2hpbGUgKCsraSA8IG4pIHsKKyAgICBhID0gYjsKKyAgICBiID0gcG9seWdvbltpXTsKKyAgICBr
ICs9IGMgPSBhWzBdICogYlsxXSAtIGJbMF0gKiBhWzFdOworICAgIHggKz0gKGFbMF0gKyBiWzBd
KSAqIGM7CisgICAgeSArPSAoYVsxXSArIGJbMV0pICogYzsKKyAgfQorCisgIHJldHVybiBrICo9
IDMsIFt4IC8gaywgeSAvIGtdOworfQorCisvLyBSZXR1cm5zIHRoZSAyRCBjcm9zcyBwcm9kdWN0
IG9mIEFCIGFuZCBBQyB2ZWN0b3JzLCBpLmUuLCB0aGUgei1jb21wb25lbnQgb2YKKy8vIHRoZSAz
RCBjcm9zcyBwcm9kdWN0IGluIGEgcXVhZHJhbnQgSSBDYXJ0ZXNpYW4gY29vcmRpbmF0ZSBzeXN0
ZW0gKCt4IGlzCisvLyByaWdodCwgK3kgaXMgdXApLiBSZXR1cm5zIGEgcG9zaXRpdmUgdmFsdWUg
aWYgQUJDIGlzIGNvdW50ZXItY2xvY2t3aXNlLAorLy8gbmVnYXRpdmUgaWYgY2xvY2t3aXNlLCBh
bmQgemVybyBpZiB0aGUgcG9pbnRzIGFyZSBjb2xsaW5lYXIuCitmdW5jdGlvbiBjcm9zcyQxKGEs
IGIsIGMpIHsKKyAgcmV0dXJuIChiWzBdIC0gYVswXSkgKiAoY1sxXSAtIGFbMV0pIC0gKGJbMV0g
LSBhWzFdKSAqIChjWzBdIC0gYVswXSk7Cit9CisKK2Z1bmN0aW9uIGxleGljb2dyYXBoaWNPcmRl
cihhLCBiKSB7CisgIHJldHVybiBhWzBdIC0gYlswXSB8fCBhWzFdIC0gYlsxXTsKK30KKworLy8g
Q29tcHV0ZXMgdGhlIHVwcGVyIGNvbnZleCBodWxsIHBlciB0aGUgbW9ub3RvbmUgY2hhaW4gYWxn
b3JpdGhtLgorLy8gQXNzdW1lcyBwb2ludHMubGVuZ3RoID49IDMsIGlzIHNvcnRlZCBieSB4LCB1
bmlxdWUgaW4geS4KKy8vIFJldHVybnMgYW4gYXJyYXkgb2YgaW5kaWNlcyBpbnRvIHBvaW50cyBp
biBsZWZ0LXRvLXJpZ2h0IG9yZGVyLgorZnVuY3Rpb24gY29tcHV0ZVVwcGVySHVsbEluZGV4ZXMo
cG9pbnRzKSB7CisgIHZhciBuID0gcG9pbnRzLmxlbmd0aCwKKyAgICAgIGluZGV4ZXMgPSBbMCwg
MV0sCisgICAgICBzaXplID0gMjsKKworICBmb3IgKHZhciBpID0gMjsgaSA8IG47ICsraSkgewor
ICAgIHdoaWxlIChzaXplID4gMSAmJiBjcm9zcyQxKHBvaW50c1tpbmRleGVzW3NpemUgLSAyXV0s
IHBvaW50c1tpbmRleGVzW3NpemUgLSAxXV0sIHBvaW50c1tpXSkgPD0gMCkgLS1zaXplOworICAg
IGluZGV4ZXNbc2l6ZSsrXSA9IGk7CisgIH0KKworICByZXR1cm4gaW5kZXhlcy5zbGljZSgwLCBz
aXplKTsgLy8gcmVtb3ZlIHBvcHBlZCBwb2ludHMKK30KKworZnVuY3Rpb24gaHVsbChwb2ludHMp
IHsKKyAgaWYgKChuID0gcG9pbnRzLmxlbmd0aCkgPCAzKSByZXR1cm4gbnVsbDsKKworICB2YXIg
aSwKKyAgICAgIG4sCisgICAgICBzb3J0ZWRQb2ludHMgPSBuZXcgQXJyYXkobiksCisgICAgICBm
bGlwcGVkUG9pbnRzID0gbmV3IEFycmF5KG4pOworCisgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kp
IHNvcnRlZFBvaW50c1tpXSA9IFsrcG9pbnRzW2ldWzBdLCArcG9pbnRzW2ldWzFdLCBpXTsKKyAg
c29ydGVkUG9pbnRzLnNvcnQobGV4aWNvZ3JhcGhpY09yZGVyKTsKKyAgZm9yIChpID0gMDsgaSA8
IG47ICsraSkgZmxpcHBlZFBvaW50c1tpXSA9IFtzb3J0ZWRQb2ludHNbaV1bMF0sIC1zb3J0ZWRQ
b2ludHNbaV1bMV1dOworCisgIHZhciB1cHBlckluZGV4ZXMgPSBjb21wdXRlVXBwZXJIdWxsSW5k
ZXhlcyhzb3J0ZWRQb2ludHMpLAorICAgICAgbG93ZXJJbmRleGVzID0gY29tcHV0ZVVwcGVySHVs
bEluZGV4ZXMoZmxpcHBlZFBvaW50cyk7CisKKyAgLy8gQ29uc3RydWN0IHRoZSBodWxsIHBvbHln
b24sIHJlbW92aW5nIHBvc3NpYmxlIGR1cGxpY2F0ZSBlbmRwb2ludHMuCisgIHZhciBza2lwTGVm
dCA9IGxvd2VySW5kZXhlc1swXSA9PT0gdXBwZXJJbmRleGVzWzBdLAorICAgICAgc2tpcFJpZ2h0
ID0gbG93ZXJJbmRleGVzW2xvd2VySW5kZXhlcy5sZW5ndGggLSAxXSA9PT0gdXBwZXJJbmRleGVz
W3VwcGVySW5kZXhlcy5sZW5ndGggLSAxXSwKKyAgICAgIGh1bGwgPSBbXTsKKworICAvLyBBZGQg
dXBwZXIgaHVsbCBpbiByaWdodC10by1sIG9yZGVyLgorICAvLyBUaGVuIGFkZCBsb3dlciBodWxs
IGluIGxlZnQtdG8tcmlnaHQgb3JkZXIuCisgIGZvciAoaSA9IHVwcGVySW5kZXhlcy5sZW5ndGgg
LSAxOyBpID49IDA7IC0taSkgaHVsbC5wdXNoKHBvaW50c1tzb3J0ZWRQb2ludHNbdXBwZXJJbmRl
eGVzW2ldXVsyXV0pOworICBmb3IgKGkgPSArc2tpcExlZnQ7IGkgPCBsb3dlckluZGV4ZXMubGVu
Z3RoIC0gc2tpcFJpZ2h0OyArK2kpIGh1bGwucHVzaChwb2ludHNbc29ydGVkUG9pbnRzW2xvd2Vy
SW5kZXhlc1tpXV1bMl1dKTsKKworICByZXR1cm4gaHVsbDsKK30KKworZnVuY3Rpb24gY29udGFp
bnMkMihwb2x5Z29uLCBwb2ludCkgeworICB2YXIgbiA9IHBvbHlnb24ubGVuZ3RoLAorICAgICAg
cCA9IHBvbHlnb25bbiAtIDFdLAorICAgICAgeCA9IHBvaW50WzBdLCB5ID0gcG9pbnRbMV0sCisg
ICAgICB4MCA9IHBbMF0sIHkwID0gcFsxXSwKKyAgICAgIHgxLCB5MSwKKyAgICAgIGluc2lkZSA9
IGZhbHNlOworCisgIGZvciAodmFyIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgcCA9IHBvbHln
b25baV0sIHgxID0gcFswXSwgeTEgPSBwWzFdOworICAgIGlmICgoKHkxID4geSkgIT09ICh5MCA+
IHkpKSAmJiAoeCA8ICh4MCAtIHgxKSAqICh5IC0geTEpIC8gKHkwIC0geTEpICsgeDEpKSBpbnNp
ZGUgPSAhaW5zaWRlOworICAgIHgwID0geDEsIHkwID0geTE7CisgIH0KKworICByZXR1cm4gaW5z
aWRlOworfQorCitmdW5jdGlvbiBsZW5ndGgkMihwb2x5Z29uKSB7CisgIHZhciBpID0gLTEsCisg
ICAgICBuID0gcG9seWdvbi5sZW5ndGgsCisgICAgICBiID0gcG9seWdvbltuIC0gMV0sCisgICAg
ICB4YSwKKyAgICAgIHlhLAorICAgICAgeGIgPSBiWzBdLAorICAgICAgeWIgPSBiWzFdLAorICAg
ICAgcGVyaW1ldGVyID0gMDsKKworICB3aGlsZSAoKytpIDwgbikgeworICAgIHhhID0geGI7Cisg
ICAgeWEgPSB5YjsKKyAgICBiID0gcG9seWdvbltpXTsKKyAgICB4YiA9IGJbMF07CisgICAgeWIg
PSBiWzFdOworICAgIHhhIC09IHhiOworICAgIHlhIC09IHliOworICAgIHBlcmltZXRlciArPSBN
YXRoLnNxcnQoeGEgKiB4YSArIHlhICogeWEpOworICB9CisKKyAgcmV0dXJuIHBlcmltZXRlcjsK
K30KKworZnVuY3Rpb24gZGVmYXVsdFNvdXJjZSQxKCkgeworICByZXR1cm4gTWF0aC5yYW5kb20o
KTsKK30KKwordmFyIHVuaWZvcm0gPSAoZnVuY3Rpb24gc291cmNlUmFuZG9tVW5pZm9ybShzb3Vy
Y2UpIHsKKyAgZnVuY3Rpb24gcmFuZG9tVW5pZm9ybShtaW4sIG1heCkgeworICAgIG1pbiA9IG1p
biA9PSBudWxsID8gMCA6ICttaW47CisgICAgbWF4ID0gbWF4ID09IG51bGwgPyAxIDogK21heDsK
KyAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkgbWF4ID0gbWluLCBtaW4gPSAwOworICAg
IGVsc2UgbWF4IC09IG1pbjsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICByZXR1cm4g
c291cmNlKCkgKiBtYXggKyBtaW47CisgICAgfTsKKyAgfQorCisgIHJhbmRvbVVuaWZvcm0uc291
cmNlID0gc291cmNlUmFuZG9tVW5pZm9ybTsKKworICByZXR1cm4gcmFuZG9tVW5pZm9ybTsKK30p
KGRlZmF1bHRTb3VyY2UkMSk7CisKK3ZhciBub3JtYWwgPSAoZnVuY3Rpb24gc291cmNlUmFuZG9t
Tm9ybWFsKHNvdXJjZSkgeworICBmdW5jdGlvbiByYW5kb21Ob3JtYWwobXUsIHNpZ21hKSB7Cisg
ICAgdmFyIHgsIHI7CisgICAgbXUgPSBtdSA9PSBudWxsID8gMCA6ICttdTsKKyAgICBzaWdtYSA9
IHNpZ21hID09IG51bGwgPyAxIDogK3NpZ21hOworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAg
ICAgIHZhciB5OworCisgICAgICAvLyBJZiBhdmFpbGFibGUsIHVzZSB0aGUgc2Vjb25kIHByZXZp
b3VzbHktZ2VuZXJhdGVkIHVuaWZvcm0gcmFuZG9tLgorICAgICAgaWYgKHggIT0gbnVsbCkgeSA9
IHgsIHggPSBudWxsOworCisgICAgICAvLyBPdGhlcndpc2UsIGdlbmVyYXRlIGEgbmV3IHggYW5k
IHkuCisgICAgICBlbHNlIGRvIHsKKyAgICAgICAgeCA9IHNvdXJjZSgpICogMiAtIDE7CisgICAg
ICAgIHkgPSBzb3VyY2UoKSAqIDIgLSAxOworICAgICAgICByID0geCAqIHggKyB5ICogeTsKKyAg
ICAgIH0gd2hpbGUgKCFyIHx8IHIgPiAxKTsKKworICAgICAgcmV0dXJuIG11ICsgc2lnbWEgKiB5
ICogTWF0aC5zcXJ0KC0yICogTWF0aC5sb2cocikgLyByKTsKKyAgICB9OworICB9CisKKyAgcmFu
ZG9tTm9ybWFsLnNvdXJjZSA9IHNvdXJjZVJhbmRvbU5vcm1hbDsKKworICByZXR1cm4gcmFuZG9t
Tm9ybWFsOworfSkoZGVmYXVsdFNvdXJjZSQxKTsKKwordmFyIGxvZ05vcm1hbCA9IChmdW5jdGlv
biBzb3VyY2VSYW5kb21Mb2dOb3JtYWwoc291cmNlKSB7CisgIGZ1bmN0aW9uIHJhbmRvbUxvZ05v
cm1hbCgpIHsKKyAgICB2YXIgcmFuZG9tTm9ybWFsID0gbm9ybWFsLnNvdXJjZShzb3VyY2UpLmFw
cGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAgcmV0
dXJuIE1hdGguZXhwKHJhbmRvbU5vcm1hbCgpKTsKKyAgICB9OworICB9CisKKyAgcmFuZG9tTG9n
Tm9ybWFsLnNvdXJjZSA9IHNvdXJjZVJhbmRvbUxvZ05vcm1hbDsKKworICByZXR1cm4gcmFuZG9t
TG9nTm9ybWFsOworfSkoZGVmYXVsdFNvdXJjZSQxKTsKKwordmFyIGlyd2luSGFsbCA9IChmdW5j
dGlvbiBzb3VyY2VSYW5kb21JcndpbkhhbGwoc291cmNlKSB7CisgIGZ1bmN0aW9uIHJhbmRvbUly
d2luSGFsbChuKSB7CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAgZm9yICh2YXIgc3Vt
ID0gMCwgaSA9IDA7IGkgPCBuOyArK2kpIHN1bSArPSBzb3VyY2UoKTsKKyAgICAgIHJldHVybiBz
dW07CisgICAgfTsKKyAgfQorCisgIHJhbmRvbUlyd2luSGFsbC5zb3VyY2UgPSBzb3VyY2VSYW5k
b21JcndpbkhhbGw7CisKKyAgcmV0dXJuIHJhbmRvbUlyd2luSGFsbDsKK30pKGRlZmF1bHRTb3Vy
Y2UkMSk7CisKK3ZhciBiYXRlcyA9IChmdW5jdGlvbiBzb3VyY2VSYW5kb21CYXRlcyhzb3VyY2Up
IHsKKyAgZnVuY3Rpb24gcmFuZG9tQmF0ZXMobikgeworICAgIHZhciByYW5kb21JcndpbkhhbGwg
PSBpcndpbkhhbGwuc291cmNlKHNvdXJjZSkobik7CisgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewor
ICAgICAgcmV0dXJuIHJhbmRvbUlyd2luSGFsbCgpIC8gbjsKKyAgICB9OworICB9CisKKyAgcmFu
ZG9tQmF0ZXMuc291cmNlID0gc291cmNlUmFuZG9tQmF0ZXM7CisKKyAgcmV0dXJuIHJhbmRvbUJh
dGVzOworfSkoZGVmYXVsdFNvdXJjZSQxKTsKKwordmFyIGV4cG9uZW50aWFsJDEgPSAoZnVuY3Rp
b24gc291cmNlUmFuZG9tRXhwb25lbnRpYWwoc291cmNlKSB7CisgIGZ1bmN0aW9uIHJhbmRvbUV4
cG9uZW50aWFsKGxhbWJkYSkgeworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgIHJldHVy
biAtTWF0aC5sb2coMSAtIHNvdXJjZSgpKSAvIGxhbWJkYTsKKyAgICB9OworICB9CisKKyAgcmFu
ZG9tRXhwb25lbnRpYWwuc291cmNlID0gc291cmNlUmFuZG9tRXhwb25lbnRpYWw7CisKKyAgcmV0
dXJuIHJhbmRvbUV4cG9uZW50aWFsOworfSkoZGVmYXVsdFNvdXJjZSQxKTsKKworZnVuY3Rpb24g
aW5pdFJhbmdlKGRvbWFpbiwgcmFuZ2UpIHsKKyAgc3dpdGNoIChhcmd1bWVudHMubGVuZ3RoKSB7
CisgICAgY2FzZSAwOiBicmVhazsKKyAgICBjYXNlIDE6IHRoaXMucmFuZ2UoZG9tYWluKTsgYnJl
YWs7CisgICAgZGVmYXVsdDogdGhpcy5yYW5nZShyYW5nZSkuZG9tYWluKGRvbWFpbik7IGJyZWFr
OworICB9CisgIHJldHVybiB0aGlzOworfQorCitmdW5jdGlvbiBpbml0SW50ZXJwb2xhdG9yKGRv
bWFpbiwgaW50ZXJwb2xhdG9yKSB7CisgIHN3aXRjaCAoYXJndW1lbnRzLmxlbmd0aCkgeworICAg
IGNhc2UgMDogYnJlYWs7CisgICAgY2FzZSAxOiB0aGlzLmludGVycG9sYXRvcihkb21haW4pOyBi
cmVhazsKKyAgICBkZWZhdWx0OiB0aGlzLmludGVycG9sYXRvcihpbnRlcnBvbGF0b3IpLmRvbWFp
bihkb21haW4pOyBicmVhazsKKyAgfQorICByZXR1cm4gdGhpczsKK30KKwordmFyIGFycmF5JDMg
PSBBcnJheS5wcm90b3R5cGU7CisKK3ZhciBtYXAkMyA9IGFycmF5JDMubWFwOwordmFyIHNsaWNl
JDUgPSBhcnJheSQzLnNsaWNlOworCit2YXIgaW1wbGljaXQgPSB7bmFtZTogImltcGxpY2l0In07
CisKK2Z1bmN0aW9uIG9yZGluYWwoKSB7CisgIHZhciBpbmRleCA9IG1hcCQxKCksCisgICAgICBk
b21haW4gPSBbXSwKKyAgICAgIHJhbmdlID0gW10sCisgICAgICB1bmtub3duID0gaW1wbGljaXQ7
CisKKyAgZnVuY3Rpb24gc2NhbGUoZCkgeworICAgIHZhciBrZXkgPSBkICsgIiIsIGkgPSBpbmRl
eC5nZXQoa2V5KTsKKyAgICBpZiAoIWkpIHsKKyAgICAgIGlmICh1bmtub3duICE9PSBpbXBsaWNp
dCkgcmV0dXJuIHVua25vd247CisgICAgICBpbmRleC5zZXQoa2V5LCBpID0gZG9tYWluLnB1c2go
ZCkpOworICAgIH0KKyAgICByZXR1cm4gcmFuZ2VbKGkgLSAxKSAlIHJhbmdlLmxlbmd0aF07Cisg
IH0KKworICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMu
bGVuZ3RoKSByZXR1cm4gZG9tYWluLnNsaWNlKCk7CisgICAgZG9tYWluID0gW10sIGluZGV4ID0g
bWFwJDEoKTsKKyAgICB2YXIgaSA9IC0xLCBuID0gXy5sZW5ndGgsIGQsIGtleTsKKyAgICB3aGls
ZSAoKytpIDwgbikgaWYgKCFpbmRleC5oYXMoa2V5ID0gKGQgPSBfW2ldKSArICIiKSkgaW5kZXgu
c2V0KGtleSwgZG9tYWluLnB1c2goZCkpOworICAgIHJldHVybiBzY2FsZTsKKyAgfTsKKworICBz
Y2FsZS5yYW5nZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
IChyYW5nZSA9IHNsaWNlJDUuY2FsbChfKSwgc2NhbGUpIDogcmFuZ2Uuc2xpY2UoKTsKKyAgfTsK
KworICBzY2FsZS51bmtub3duID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMu
bGVuZ3RoID8gKHVua25vd24gPSBfLCBzY2FsZSkgOiB1bmtub3duOworICB9OworCisgIHNjYWxl
LmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gb3JkaW5hbChkb21haW4sIHJhbmdlKS51
bmtub3duKHVua25vd24pOworICB9OworCisgIGluaXRSYW5nZS5hcHBseShzY2FsZSwgYXJndW1l
bnRzKTsKKworICByZXR1cm4gc2NhbGU7Cit9CisKK2Z1bmN0aW9uIGJhbmQoKSB7CisgIHZhciBz
Y2FsZSA9IG9yZGluYWwoKS51bmtub3duKHVuZGVmaW5lZCksCisgICAgICBkb21haW4gPSBzY2Fs
ZS5kb21haW4sCisgICAgICBvcmRpbmFsUmFuZ2UgPSBzY2FsZS5yYW5nZSwKKyAgICAgIHJhbmdl
ID0gWzAsIDFdLAorICAgICAgc3RlcCwKKyAgICAgIGJhbmR3aWR0aCwKKyAgICAgIHJvdW5kID0g
ZmFsc2UsCisgICAgICBwYWRkaW5nSW5uZXIgPSAwLAorICAgICAgcGFkZGluZ091dGVyID0gMCwK
KyAgICAgIGFsaWduID0gMC41OworCisgIGRlbGV0ZSBzY2FsZS51bmtub3duOworCisgIGZ1bmN0
aW9uIHJlc2NhbGUoKSB7CisgICAgdmFyIG4gPSBkb21haW4oKS5sZW5ndGgsCisgICAgICAgIHJl
dmVyc2UgPSByYW5nZVsxXSA8IHJhbmdlWzBdLAorICAgICAgICBzdGFydCA9IHJhbmdlW3JldmVy
c2UgLSAwXSwKKyAgICAgICAgc3RvcCA9IHJhbmdlWzEgLSByZXZlcnNlXTsKKyAgICBzdGVwID0g
KHN0b3AgLSBzdGFydCkgLyBNYXRoLm1heCgxLCBuIC0gcGFkZGluZ0lubmVyICsgcGFkZGluZ091
dGVyICogMik7CisgICAgaWYgKHJvdW5kKSBzdGVwID0gTWF0aC5mbG9vcihzdGVwKTsKKyAgICBz
dGFydCArPSAoc3RvcCAtIHN0YXJ0IC0gc3RlcCAqIChuIC0gcGFkZGluZ0lubmVyKSkgKiBhbGln
bjsKKyAgICBiYW5kd2lkdGggPSBzdGVwICogKDEgLSBwYWRkaW5nSW5uZXIpOworICAgIGlmIChy
b3VuZCkgc3RhcnQgPSBNYXRoLnJvdW5kKHN0YXJ0KSwgYmFuZHdpZHRoID0gTWF0aC5yb3VuZChi
YW5kd2lkdGgpOworICAgIHZhciB2YWx1ZXMgPSBzZXF1ZW5jZShuKS5tYXAoZnVuY3Rpb24oaSkg
eyByZXR1cm4gc3RhcnQgKyBzdGVwICogaTsgfSk7CisgICAgcmV0dXJuIG9yZGluYWxSYW5nZShy
ZXZlcnNlID8gdmFsdWVzLnJldmVyc2UoKSA6IHZhbHVlcyk7CisgIH0KKworICBzY2FsZS5kb21h
aW4gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZG9tYWlu
KF8pLCByZXNjYWxlKCkpIDogZG9tYWluKCk7CisgIH07CisKKyAgc2NhbGUucmFuZ2UgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocmFuZ2UgPSBbK19bMF0s
ICtfWzFdXSwgcmVzY2FsZSgpKSA6IHJhbmdlLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUucmFu
Z2VSb3VuZCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gcmFuZ2UgPSBbK19bMF0sICtfWzFd
XSwgcm91bmQgPSB0cnVlLCByZXNjYWxlKCk7CisgIH07CisKKyAgc2NhbGUuYmFuZHdpZHRoID0g
ZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGJhbmR3aWR0aDsKKyAgfTsKKworICBzY2FsZS5zdGVw
ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHN0ZXA7CisgIH07CisKKyAgc2NhbGUucm91bmQg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocm91bmQgPSAh
IV8sIHJlc2NhbGUoKSkgOiByb3VuZDsKKyAgfTsKKworICBzY2FsZS5wYWRkaW5nID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhZGRpbmdJbm5lciA9IE1h
dGgubWluKDEsIHBhZGRpbmdPdXRlciA9ICtfKSwgcmVzY2FsZSgpKSA6IHBhZGRpbmdJbm5lcjsK
KyAgfTsKKworICBzY2FsZS5wYWRkaW5nSW5uZXIgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAocGFkZGluZ0lubmVyID0gTWF0aC5taW4oMSwgXyksIHJlc2Nh
bGUoKSkgOiBwYWRkaW5nSW5uZXI7CisgIH07CisKKyAgc2NhbGUucGFkZGluZ091dGVyID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhZGRpbmdPdXRlciA9
ICtfLCByZXNjYWxlKCkpIDogcGFkZGluZ091dGVyOworICB9OworCisgIHNjYWxlLmFsaWduID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGFsaWduID0gTWF0
aC5tYXgoMCwgTWF0aC5taW4oMSwgXykpLCByZXNjYWxlKCkpIDogYWxpZ247CisgIH07CisKKyAg
c2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBiYW5kKGRvbWFpbigpLCByYW5n
ZSkKKyAgICAgICAgLnJvdW5kKHJvdW5kKQorICAgICAgICAucGFkZGluZ0lubmVyKHBhZGRpbmdJ
bm5lcikKKyAgICAgICAgLnBhZGRpbmdPdXRlcihwYWRkaW5nT3V0ZXIpCisgICAgICAgIC5hbGln
bihhbGlnbik7CisgIH07CisKKyAgcmV0dXJuIGluaXRSYW5nZS5hcHBseShyZXNjYWxlKCksIGFy
Z3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIHBvaW50aXNoKHNjYWxlKSB7CisgIHZhciBjb3B5ID0g
c2NhbGUuY29weTsKKworICBzY2FsZS5wYWRkaW5nID0gc2NhbGUucGFkZGluZ091dGVyOworICBk
ZWxldGUgc2NhbGUucGFkZGluZ0lubmVyOworICBkZWxldGUgc2NhbGUucGFkZGluZ091dGVyOwor
CisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gcG9pbnRpc2goY29weSgp
KTsKKyAgfTsKKworICByZXR1cm4gc2NhbGU7Cit9CisKK2Z1bmN0aW9uIHBvaW50JDEoKSB7Cisg
IHJldHVybiBwb2ludGlzaChiYW5kLmFwcGx5KG51bGwsIGFyZ3VtZW50cykucGFkZGluZ0lubmVy
KDEpKTsKK30KKworZnVuY3Rpb24gY29uc3RhbnQkYSh4KSB7CisgIHJldHVybiBmdW5jdGlvbigp
IHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKworZnVuY3Rpb24gbnVtYmVyJDIoeCkgeworICBy
ZXR1cm4gK3g7Cit9CisKK3ZhciB1bml0ID0gWzAsIDFdOworCitmdW5jdGlvbiBpZGVudGl0eSQ2
KHgpIHsKKyAgcmV0dXJuIHg7Cit9CisKK2Z1bmN0aW9uIG5vcm1hbGl6ZShhLCBiKSB7CisgIHJl
dHVybiAoYiAtPSAoYSA9ICthKSkKKyAgICAgID8gZnVuY3Rpb24oeCkgeyByZXR1cm4gKHggLSBh
KSAvIGI7IH0KKyAgICAgIDogY29uc3RhbnQkYShpc05hTihiKSA/IE5hTiA6IDAuNSk7Cit9CisK
K2Z1bmN0aW9uIGNsYW1wZXIoZG9tYWluKSB7CisgIHZhciBhID0gZG9tYWluWzBdLCBiID0gZG9t
YWluW2RvbWFpbi5sZW5ndGggLSAxXSwgdDsKKyAgaWYgKGEgPiBiKSB0ID0gYSwgYSA9IGIsIGIg
PSB0OworICByZXR1cm4gZnVuY3Rpb24oeCkgeyByZXR1cm4gTWF0aC5tYXgoYSwgTWF0aC5taW4o
YiwgeCkpOyB9OworfQorCisvLyBub3JtYWxpemUoYSwgYikoeCkgdGFrZXMgYSBkb21haW4gdmFs
dWUgeCBpbiBbYSxiXSBhbmQgcmV0dXJucyB0aGUgY29ycmVzcG9uZGluZyBwYXJhbWV0ZXIgdCBp
biBbMCwxXS4KKy8vIGludGVycG9sYXRlKGEsIGIpKHQpIHRha2VzIGEgcGFyYW1ldGVyIHQgaW4g
WzAsMV0gYW5kIHJldHVybnMgdGhlIGNvcnJlc3BvbmRpbmcgcmFuZ2UgdmFsdWUgeCBpbiBbYSxi
XS4KK2Z1bmN0aW9uIGJpbWFwKGRvbWFpbiwgcmFuZ2UsIGludGVycG9sYXRlKSB7CisgIHZhciBk
MCA9IGRvbWFpblswXSwgZDEgPSBkb21haW5bMV0sIHIwID0gcmFuZ2VbMF0sIHIxID0gcmFuZ2Vb
MV07CisgIGlmIChkMSA8IGQwKSBkMCA9IG5vcm1hbGl6ZShkMSwgZDApLCByMCA9IGludGVycG9s
YXRlKHIxLCByMCk7CisgIGVsc2UgZDAgPSBub3JtYWxpemUoZDAsIGQxKSwgcjAgPSBpbnRlcnBv
bGF0ZShyMCwgcjEpOworICByZXR1cm4gZnVuY3Rpb24oeCkgeyByZXR1cm4gcjAoZDAoeCkpOyB9
OworfQorCitmdW5jdGlvbiBwb2x5bWFwKGRvbWFpbiwgcmFuZ2UsIGludGVycG9sYXRlKSB7Cisg
IHZhciBqID0gTWF0aC5taW4oZG9tYWluLmxlbmd0aCwgcmFuZ2UubGVuZ3RoKSAtIDEsCisgICAg
ICBkID0gbmV3IEFycmF5KGopLAorICAgICAgciA9IG5ldyBBcnJheShqKSwKKyAgICAgIGkgPSAt
MTsKKworICAvLyBSZXZlcnNlIGRlc2NlbmRpbmcgZG9tYWlucy4KKyAgaWYgKGRvbWFpbltqXSA8
IGRvbWFpblswXSkgeworICAgIGRvbWFpbiA9IGRvbWFpbi5zbGljZSgpLnJldmVyc2UoKTsKKyAg
ICByYW5nZSA9IHJhbmdlLnNsaWNlKCkucmV2ZXJzZSgpOworICB9CisKKyAgd2hpbGUgKCsraSA8
IGopIHsKKyAgICBkW2ldID0gbm9ybWFsaXplKGRvbWFpbltpXSwgZG9tYWluW2kgKyAxXSk7Cisg
ICAgcltpXSA9IGludGVycG9sYXRlKHJhbmdlW2ldLCByYW5nZVtpICsgMV0pOworICB9CisKKyAg
cmV0dXJuIGZ1bmN0aW9uKHgpIHsKKyAgICB2YXIgaSA9IGJpc2VjdFJpZ2h0KGRvbWFpbiwgeCwg
MSwgaikgLSAxOworICAgIHJldHVybiByW2ldKGRbaV0oeCkpOworICB9OworfQorCitmdW5jdGlv
biBjb3B5KHNvdXJjZSwgdGFyZ2V0KSB7CisgIHJldHVybiB0YXJnZXQKKyAgICAgIC5kb21haW4o
c291cmNlLmRvbWFpbigpKQorICAgICAgLnJhbmdlKHNvdXJjZS5yYW5nZSgpKQorICAgICAgLmlu
dGVycG9sYXRlKHNvdXJjZS5pbnRlcnBvbGF0ZSgpKQorICAgICAgLmNsYW1wKHNvdXJjZS5jbGFt
cCgpKQorICAgICAgLnVua25vd24oc291cmNlLnVua25vd24oKSk7Cit9CisKK2Z1bmN0aW9uIHRy
YW5zZm9ybWVyJDEoKSB7CisgIHZhciBkb21haW4gPSB1bml0LAorICAgICAgcmFuZ2UgPSB1bml0
LAorICAgICAgaW50ZXJwb2xhdGUgPSBpbnRlcnBvbGF0ZVZhbHVlLAorICAgICAgdHJhbnNmb3Jt
LAorICAgICAgdW50cmFuc2Zvcm0sCisgICAgICB1bmtub3duLAorICAgICAgY2xhbXAgPSBpZGVu
dGl0eSQ2LAorICAgICAgcGllY2V3aXNlLAorICAgICAgb3V0cHV0LAorICAgICAgaW5wdXQ7CisK
KyAgZnVuY3Rpb24gcmVzY2FsZSgpIHsKKyAgICBwaWVjZXdpc2UgPSBNYXRoLm1pbihkb21haW4u
bGVuZ3RoLCByYW5nZS5sZW5ndGgpID4gMiA/IHBvbHltYXAgOiBiaW1hcDsKKyAgICBvdXRwdXQg
PSBpbnB1dCA9IG51bGw7CisgICAgcmV0dXJuIHNjYWxlOworICB9CisKKyAgZnVuY3Rpb24gc2Nh
bGUoeCkgeworICAgIHJldHVybiBpc05hTih4ID0gK3gpID8gdW5rbm93biA6IChvdXRwdXQgfHwg
KG91dHB1dCA9IHBpZWNld2lzZShkb21haW4ubWFwKHRyYW5zZm9ybSksIHJhbmdlLCBpbnRlcnBv
bGF0ZSkpKSh0cmFuc2Zvcm0oY2xhbXAoeCkpKTsKKyAgfQorCisgIHNjYWxlLmludmVydCA9IGZ1
bmN0aW9uKHkpIHsKKyAgICByZXR1cm4gY2xhbXAodW50cmFuc2Zvcm0oKGlucHV0IHx8IChpbnB1
dCA9IHBpZWNld2lzZShyYW5nZSwgZG9tYWluLm1hcCh0cmFuc2Zvcm0pLCBpbnRlcnBvbGF0ZU51
bWJlcikpKSh5KSkpOworICB9OworCisgIHNjYWxlLmRvbWFpbiA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkb21haW4gPSBtYXAkMy5jYWxsKF8sIG51bWJl
ciQyKSwgY2xhbXAgPT09IGlkZW50aXR5JDYgfHwgKGNsYW1wID0gY2xhbXBlcihkb21haW4pKSwg
cmVzY2FsZSgpKSA6IGRvbWFpbi5zbGljZSgpOworICB9OworCisgIHNjYWxlLnJhbmdlID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJhbmdlID0gc2xpY2Uk
NS5jYWxsKF8pLCByZXNjYWxlKCkpIDogcmFuZ2Uuc2xpY2UoKTsKKyAgfTsKKworICBzY2FsZS5y
YW5nZVJvdW5kID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiByYW5nZSA9IHNsaWNlJDUuY2Fs
bChfKSwgaW50ZXJwb2xhdGUgPSBpbnRlcnBvbGF0ZVJvdW5kLCByZXNjYWxlKCk7CisgIH07CisK
KyAgc2NhbGUuY2xhbXAgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAoY2xhbXAgPSBfID8gY2xhbXBlcihkb21haW4pIDogaWRlbnRpdHkkNiwgc2NhbGUpIDog
Y2xhbXAgIT09IGlkZW50aXR5JDY7CisgIH07CisKKyAgc2NhbGUuaW50ZXJwb2xhdGUgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoaW50ZXJwb2xhdGUgPSBf
LCByZXNjYWxlKCkpIDogaW50ZXJwb2xhdGU7CisgIH07CisKKyAgc2NhbGUudW5rbm93biA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh1bmtub3duID0gXywg
c2NhbGUpIDogdW5rbm93bjsKKyAgfTsKKworICByZXR1cm4gZnVuY3Rpb24odCwgdSkgeworICAg
IHRyYW5zZm9ybSA9IHQsIHVudHJhbnNmb3JtID0gdTsKKyAgICByZXR1cm4gcmVzY2FsZSgpOwor
ICB9OworfQorCitmdW5jdGlvbiBjb250aW51b3VzKHRyYW5zZm9ybSwgdW50cmFuc2Zvcm0pIHsK
KyAgcmV0dXJuIHRyYW5zZm9ybWVyJDEoKSh0cmFuc2Zvcm0sIHVudHJhbnNmb3JtKTsKK30KKwor
ZnVuY3Rpb24gdGlja0Zvcm1hdChzdGFydCwgc3RvcCwgY291bnQsIHNwZWNpZmllcikgeworICB2
YXIgc3RlcCA9IHRpY2tTdGVwKHN0YXJ0LCBzdG9wLCBjb3VudCksCisgICAgICBwcmVjaXNpb247
CisgIHNwZWNpZmllciA9IGZvcm1hdFNwZWNpZmllcihzcGVjaWZpZXIgPT0gbnVsbCA/ICIsZiIg
OiBzcGVjaWZpZXIpOworICBzd2l0Y2ggKHNwZWNpZmllci50eXBlKSB7CisgICAgY2FzZSAicyI6
IHsKKyAgICAgIHZhciB2YWx1ZSA9IE1hdGgubWF4KE1hdGguYWJzKHN0YXJ0KSwgTWF0aC5hYnMo
c3RvcCkpOworICAgICAgaWYgKHNwZWNpZmllci5wcmVjaXNpb24gPT0gbnVsbCAmJiAhaXNOYU4o
cHJlY2lzaW9uID0gcHJlY2lzaW9uUHJlZml4KHN0ZXAsIHZhbHVlKSkpIHNwZWNpZmllci5wcmVj
aXNpb24gPSBwcmVjaXNpb247CisgICAgICByZXR1cm4gZXhwb3J0cy5mb3JtYXRQcmVmaXgoc3Bl
Y2lmaWVyLCB2YWx1ZSk7CisgICAgfQorICAgIGNhc2UgIiI6CisgICAgY2FzZSAiZSI6CisgICAg
Y2FzZSAiZyI6CisgICAgY2FzZSAicCI6CisgICAgY2FzZSAiciI6IHsKKyAgICAgIGlmIChzcGVj
aWZpZXIucHJlY2lzaW9uID09IG51bGwgJiYgIWlzTmFOKHByZWNpc2lvbiA9IHByZWNpc2lvblJv
dW5kKHN0ZXAsIE1hdGgubWF4KE1hdGguYWJzKHN0YXJ0KSwgTWF0aC5hYnMoc3RvcCkpKSkpIHNw
ZWNpZmllci5wcmVjaXNpb24gPSBwcmVjaXNpb24gLSAoc3BlY2lmaWVyLnR5cGUgPT09ICJlIik7
CisgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSAiZiI6CisgICAgY2FzZSAiJSI6IHsKKyAg
ICAgIGlmIChzcGVjaWZpZXIucHJlY2lzaW9uID09IG51bGwgJiYgIWlzTmFOKHByZWNpc2lvbiA9
IHByZWNpc2lvbkZpeGVkKHN0ZXApKSkgc3BlY2lmaWVyLnByZWNpc2lvbiA9IHByZWNpc2lvbiAt
IChzcGVjaWZpZXIudHlwZSA9PT0gIiUiKSAqIDI7CisgICAgICBicmVhazsKKyAgICB9CisgIH0K
KyAgcmV0dXJuIGV4cG9ydHMuZm9ybWF0KHNwZWNpZmllcik7Cit9CisKK2Z1bmN0aW9uIGxpbmVh
cmlzaChzY2FsZSkgeworICB2YXIgZG9tYWluID0gc2NhbGUuZG9tYWluOworCisgIHNjYWxlLnRp
Y2tzID0gZnVuY3Rpb24oY291bnQpIHsKKyAgICB2YXIgZCA9IGRvbWFpbigpOworICAgIHJldHVy
biB0aWNrcyhkWzBdLCBkW2QubGVuZ3RoIC0gMV0sIGNvdW50ID09IG51bGwgPyAxMCA6IGNvdW50
KTsKKyAgfTsKKworICBzY2FsZS50aWNrRm9ybWF0ID0gZnVuY3Rpb24oY291bnQsIHNwZWNpZmll
cikgeworICAgIHZhciBkID0gZG9tYWluKCk7CisgICAgcmV0dXJuIHRpY2tGb3JtYXQoZFswXSwg
ZFtkLmxlbmd0aCAtIDFdLCBjb3VudCA9PSBudWxsID8gMTAgOiBjb3VudCwgc3BlY2lmaWVyKTsK
KyAgfTsKKworICBzY2FsZS5uaWNlID0gZnVuY3Rpb24oY291bnQpIHsKKyAgICBpZiAoY291bnQg
PT0gbnVsbCkgY291bnQgPSAxMDsKKworICAgIHZhciBkID0gZG9tYWluKCksCisgICAgICAgIGkw
ID0gMCwKKyAgICAgICAgaTEgPSBkLmxlbmd0aCAtIDEsCisgICAgICAgIHN0YXJ0ID0gZFtpMF0s
CisgICAgICAgIHN0b3AgPSBkW2kxXSwKKyAgICAgICAgc3RlcDsKKworICAgIGlmIChzdG9wIDwg
c3RhcnQpIHsKKyAgICAgIHN0ZXAgPSBzdGFydCwgc3RhcnQgPSBzdG9wLCBzdG9wID0gc3RlcDsK
KyAgICAgIHN0ZXAgPSBpMCwgaTAgPSBpMSwgaTEgPSBzdGVwOworICAgIH0KKworICAgIHN0ZXAg
PSB0aWNrSW5jcmVtZW50KHN0YXJ0LCBzdG9wLCBjb3VudCk7CisKKyAgICBpZiAoc3RlcCA+IDAp
IHsKKyAgICAgIHN0YXJ0ID0gTWF0aC5mbG9vcihzdGFydCAvIHN0ZXApICogc3RlcDsKKyAgICAg
IHN0b3AgPSBNYXRoLmNlaWwoc3RvcCAvIHN0ZXApICogc3RlcDsKKyAgICAgIHN0ZXAgPSB0aWNr
SW5jcmVtZW50KHN0YXJ0LCBzdG9wLCBjb3VudCk7CisgICAgfSBlbHNlIGlmIChzdGVwIDwgMCkg
eworICAgICAgc3RhcnQgPSBNYXRoLmNlaWwoc3RhcnQgKiBzdGVwKSAvIHN0ZXA7CisgICAgICBz
dG9wID0gTWF0aC5mbG9vcihzdG9wICogc3RlcCkgLyBzdGVwOworICAgICAgc3RlcCA9IHRpY2tJ
bmNyZW1lbnQoc3RhcnQsIHN0b3AsIGNvdW50KTsKKyAgICB9CisKKyAgICBpZiAoc3RlcCA+IDAp
IHsKKyAgICAgIGRbaTBdID0gTWF0aC5mbG9vcihzdGFydCAvIHN0ZXApICogc3RlcDsKKyAgICAg
IGRbaTFdID0gTWF0aC5jZWlsKHN0b3AgLyBzdGVwKSAqIHN0ZXA7CisgICAgICBkb21haW4oZCk7
CisgICAgfSBlbHNlIGlmIChzdGVwIDwgMCkgeworICAgICAgZFtpMF0gPSBNYXRoLmNlaWwoc3Rh
cnQgKiBzdGVwKSAvIHN0ZXA7CisgICAgICBkW2kxXSA9IE1hdGguZmxvb3Ioc3RvcCAqIHN0ZXAp
IC8gc3RlcDsKKyAgICAgIGRvbWFpbihkKTsKKyAgICB9CisKKyAgICByZXR1cm4gc2NhbGU7Cisg
IH07CisKKyAgcmV0dXJuIHNjYWxlOworfQorCitmdW5jdGlvbiBsaW5lYXIkMigpIHsKKyAgdmFy
IHNjYWxlID0gY29udGludW91cyhpZGVudGl0eSQ2LCBpZGVudGl0eSQ2KTsKKworICBzY2FsZS5j
b3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkoc2NhbGUsIGxpbmVhciQyKCkpOwor
ICB9OworCisgIGluaXRSYW5nZS5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKKworICByZXR1cm4g
bGluZWFyaXNoKHNjYWxlKTsKK30KKworZnVuY3Rpb24gaWRlbnRpdHkkNyhkb21haW4pIHsKKyAg
dmFyIHVua25vd247CisKKyAgZnVuY3Rpb24gc2NhbGUoeCkgeworICAgIHJldHVybiBpc05hTih4
ID0gK3gpID8gdW5rbm93biA6IHg7CisgIH0KKworICBzY2FsZS5pbnZlcnQgPSBzY2FsZTsKKwor
ICBzY2FsZS5kb21haW4gPSBzY2FsZS5yYW5nZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/IChkb21haW4gPSBtYXAkMy5jYWxsKF8sIG51bWJlciQyKSwgc2Nh
bGUpIDogZG9tYWluLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUudW5rbm93biA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh1bmtub3duID0gXywgc2NhbGUp
IDogdW5rbm93bjsKKyAgfTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0
dXJuIGlkZW50aXR5JDcoZG9tYWluKS51bmtub3duKHVua25vd24pOworICB9OworCisgIGRvbWFp
biA9IGFyZ3VtZW50cy5sZW5ndGggPyBtYXAkMy5jYWxsKGRvbWFpbiwgbnVtYmVyJDIpIDogWzAs
IDFdOworCisgIHJldHVybiBsaW5lYXJpc2goc2NhbGUpOworfQorCitmdW5jdGlvbiBuaWNlKGRv
bWFpbiwgaW50ZXJ2YWwpIHsKKyAgZG9tYWluID0gZG9tYWluLnNsaWNlKCk7CisKKyAgdmFyIGkw
ID0gMCwKKyAgICAgIGkxID0gZG9tYWluLmxlbmd0aCAtIDEsCisgICAgICB4MCA9IGRvbWFpbltp
MF0sCisgICAgICB4MSA9IGRvbWFpbltpMV0sCisgICAgICB0OworCisgIGlmICh4MSA8IHgwKSB7
CisgICAgdCA9IGkwLCBpMCA9IGkxLCBpMSA9IHQ7CisgICAgdCA9IHgwLCB4MCA9IHgxLCB4MSA9
IHQ7CisgIH0KKworICBkb21haW5baTBdID0gaW50ZXJ2YWwuZmxvb3IoeDApOworICBkb21haW5b
aTFdID0gaW50ZXJ2YWwuY2VpbCh4MSk7CisgIHJldHVybiBkb21haW47Cit9CisKK2Z1bmN0aW9u
IHRyYW5zZm9ybUxvZyh4KSB7CisgIHJldHVybiBNYXRoLmxvZyh4KTsKK30KKworZnVuY3Rpb24g
dHJhbnNmb3JtRXhwKHgpIHsKKyAgcmV0dXJuIE1hdGguZXhwKHgpOworfQorCitmdW5jdGlvbiB0
cmFuc2Zvcm1Mb2duKHgpIHsKKyAgcmV0dXJuIC1NYXRoLmxvZygteCk7Cit9CisKK2Z1bmN0aW9u
IHRyYW5zZm9ybUV4cG4oeCkgeworICByZXR1cm4gLU1hdGguZXhwKC14KTsKK30KKworZnVuY3Rp
b24gcG93MTAoeCkgeworICByZXR1cm4gaXNGaW5pdGUoeCkgPyArKCIxZSIgKyB4KSA6IHggPCAw
ID8gMCA6IHg7Cit9CisKK2Z1bmN0aW9uIHBvd3AoYmFzZSkgeworICByZXR1cm4gYmFzZSA9PT0g
MTAgPyBwb3cxMAorICAgICAgOiBiYXNlID09PSBNYXRoLkUgPyBNYXRoLmV4cAorICAgICAgOiBm
dW5jdGlvbih4KSB7IHJldHVybiBNYXRoLnBvdyhiYXNlLCB4KTsgfTsKK30KKworZnVuY3Rpb24g
bG9ncChiYXNlKSB7CisgIHJldHVybiBiYXNlID09PSBNYXRoLkUgPyBNYXRoLmxvZworICAgICAg
OiBiYXNlID09PSAxMCAmJiBNYXRoLmxvZzEwCisgICAgICB8fCBiYXNlID09PSAyICYmIE1hdGgu
bG9nMgorICAgICAgfHwgKGJhc2UgPSBNYXRoLmxvZyhiYXNlKSwgZnVuY3Rpb24oeCkgeyByZXR1
cm4gTWF0aC5sb2coeCkgLyBiYXNlOyB9KTsKK30KKworZnVuY3Rpb24gcmVmbGVjdChmKSB7Cisg
IHJldHVybiBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIC1mKC14KTsKKyAgfTsKK30KKworZnVu
Y3Rpb24gbG9nZ2lzaCh0cmFuc2Zvcm0pIHsKKyAgdmFyIHNjYWxlID0gdHJhbnNmb3JtKHRyYW5z
Zm9ybUxvZywgdHJhbnNmb3JtRXhwKSwKKyAgICAgIGRvbWFpbiA9IHNjYWxlLmRvbWFpbiwKKyAg
ICAgIGJhc2UgPSAxMCwKKyAgICAgIGxvZ3MsCisgICAgICBwb3dzOworCisgIGZ1bmN0aW9uIHJl
c2NhbGUoKSB7CisgICAgbG9ncyA9IGxvZ3AoYmFzZSksIHBvd3MgPSBwb3dwKGJhc2UpOworICAg
IGlmIChkb21haW4oKVswXSA8IDApIHsKKyAgICAgIGxvZ3MgPSByZWZsZWN0KGxvZ3MpLCBwb3dz
ID0gcmVmbGVjdChwb3dzKTsKKyAgICAgIHRyYW5zZm9ybSh0cmFuc2Zvcm1Mb2duLCB0cmFuc2Zv
cm1FeHBuKTsKKyAgICB9IGVsc2UgeworICAgICAgdHJhbnNmb3JtKHRyYW5zZm9ybUxvZywgdHJh
bnNmb3JtRXhwKTsKKyAgICB9CisgICAgcmV0dXJuIHNjYWxlOworICB9CisKKyAgc2NhbGUuYmFz
ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChiYXNlID0g
K18sIHJlc2NhbGUoKSkgOiBiYXNlOworICB9OworCisgIHNjYWxlLmRvbWFpbiA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkb21haW4oXyksIHJlc2NhbGUo
KSkgOiBkb21haW4oKTsKKyAgfTsKKworICBzY2FsZS50aWNrcyA9IGZ1bmN0aW9uKGNvdW50KSB7
CisgICAgdmFyIGQgPSBkb21haW4oKSwKKyAgICAgICAgdSA9IGRbMF0sCisgICAgICAgIHYgPSBk
W2QubGVuZ3RoIC0gMV0sCisgICAgICAgIHI7CisKKyAgICBpZiAociA9IHYgPCB1KSBpID0gdSwg
dSA9IHYsIHYgPSBpOworCisgICAgdmFyIGkgPSBsb2dzKHUpLAorICAgICAgICBqID0gbG9ncyh2
KSwKKyAgICAgICAgcCwKKyAgICAgICAgaywKKyAgICAgICAgdCwKKyAgICAgICAgbiA9IGNvdW50
ID09IG51bGwgPyAxMCA6ICtjb3VudCwKKyAgICAgICAgeiA9IFtdOworCisgICAgaWYgKCEoYmFz
ZSAlIDEpICYmIGogLSBpIDwgbikgeworICAgICAgaSA9IE1hdGgucm91bmQoaSkgLSAxLCBqID0g
TWF0aC5yb3VuZChqKSArIDE7CisgICAgICBpZiAodSA+IDApIGZvciAoOyBpIDwgajsgKytpKSB7
CisgICAgICAgIGZvciAoayA9IDEsIHAgPSBwb3dzKGkpOyBrIDwgYmFzZTsgKytrKSB7CisgICAg
ICAgICAgdCA9IHAgKiBrOworICAgICAgICAgIGlmICh0IDwgdSkgY29udGludWU7CisgICAgICAg
ICAgaWYgKHQgPiB2KSBicmVhazsKKyAgICAgICAgICB6LnB1c2godCk7CisgICAgICAgIH0KKyAg
ICAgIH0gZWxzZSBmb3IgKDsgaSA8IGo7ICsraSkgeworICAgICAgICBmb3IgKGsgPSBiYXNlIC0g
MSwgcCA9IHBvd3MoaSk7IGsgPj0gMTsgLS1rKSB7CisgICAgICAgICAgdCA9IHAgKiBrOworICAg
ICAgICAgIGlmICh0IDwgdSkgY29udGludWU7CisgICAgICAgICAgaWYgKHQgPiB2KSBicmVhazsK
KyAgICAgICAgICB6LnB1c2godCk7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9IGVsc2Ugewor
ICAgICAgeiA9IHRpY2tzKGksIGosIE1hdGgubWluKGogLSBpLCBuKSkubWFwKHBvd3MpOworICAg
IH0KKworICAgIHJldHVybiByID8gei5yZXZlcnNlKCkgOiB6OworICB9OworCisgIHNjYWxlLnRp
Y2tGb3JtYXQgPSBmdW5jdGlvbihjb3VudCwgc3BlY2lmaWVyKSB7CisgICAgaWYgKHNwZWNpZmll
ciA9PSBudWxsKSBzcGVjaWZpZXIgPSBiYXNlID09PSAxMCA/ICIuMGUiIDogIiwiOworICAgIGlm
ICh0eXBlb2Ygc3BlY2lmaWVyICE9PSAiZnVuY3Rpb24iKSBzcGVjaWZpZXIgPSBleHBvcnRzLmZv
cm1hdChzcGVjaWZpZXIpOworICAgIGlmIChjb3VudCA9PT0gSW5maW5pdHkpIHJldHVybiBzcGVj
aWZpZXI7CisgICAgaWYgKGNvdW50ID09IG51bGwpIGNvdW50ID0gMTA7CisgICAgdmFyIGsgPSBN
YXRoLm1heCgxLCBiYXNlICogY291bnQgLyBzY2FsZS50aWNrcygpLmxlbmd0aCk7IC8vIFRPRE8g
ZmFzdCBlc3RpbWF0ZT8KKyAgICByZXR1cm4gZnVuY3Rpb24oZCkgeworICAgICAgdmFyIGkgPSBk
IC8gcG93cyhNYXRoLnJvdW5kKGxvZ3MoZCkpKTsKKyAgICAgIGlmIChpICogYmFzZSA8IGJhc2Ug
LSAwLjUpIGkgKj0gYmFzZTsKKyAgICAgIHJldHVybiBpIDw9IGsgPyBzcGVjaWZpZXIoZCkgOiAi
IjsKKyAgICB9OworICB9OworCisgIHNjYWxlLm5pY2UgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1
cm4gZG9tYWluKG5pY2UoZG9tYWluKCksIHsKKyAgICAgIGZsb29yOiBmdW5jdGlvbih4KSB7IHJl
dHVybiBwb3dzKE1hdGguZmxvb3IobG9ncyh4KSkpOyB9LAorICAgICAgY2VpbDogZnVuY3Rpb24o
eCkgeyByZXR1cm4gcG93cyhNYXRoLmNlaWwobG9ncyh4KSkpOyB9CisgICAgfSkpOworICB9Owor
CisgIHJldHVybiBzY2FsZTsKK30KKworZnVuY3Rpb24gbG9nJDEoKSB7CisgIHZhciBzY2FsZSA9
IGxvZ2dpc2godHJhbnNmb3JtZXIkMSgpKS5kb21haW4oWzEsIDEwXSk7CisKKyAgc2NhbGUuY29w
eSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBjb3B5KHNjYWxlLCBsb2ckMSgpKS5iYXNlKHNj
YWxlLmJhc2UoKSk7CisgIH07CisKKyAgaW5pdFJhbmdlLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMp
OworCisgIHJldHVybiBzY2FsZTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3JtU3ltbG9nKGMpIHsK
KyAgcmV0dXJuIGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gTWF0aC5zaWduKHgpICogTWF0aC5s
b2cxcChNYXRoLmFicyh4IC8gYykpOworICB9OworfQorCitmdW5jdGlvbiB0cmFuc2Zvcm1TeW1l
eHAoYykgeworICByZXR1cm4gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBNYXRoLnNpZ24oeCkg
KiBNYXRoLmV4cG0xKE1hdGguYWJzKHgpKSAqIGM7CisgIH07Cit9CisKK2Z1bmN0aW9uIHN5bWxv
Z2lzaCh0cmFuc2Zvcm0pIHsKKyAgdmFyIGMgPSAxLCBzY2FsZSA9IHRyYW5zZm9ybSh0cmFuc2Zv
cm1TeW1sb2coYyksIHRyYW5zZm9ybVN5bWV4cChjKSk7CisKKyAgc2NhbGUuY29uc3RhbnQgPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyB0cmFuc2Zvcm0odHJh
bnNmb3JtU3ltbG9nKGMgPSArXyksIHRyYW5zZm9ybVN5bWV4cChjKSkgOiBjOworICB9OworCisg
IHJldHVybiBsaW5lYXJpc2goc2NhbGUpOworfQorCitmdW5jdGlvbiBzeW1sb2coKSB7CisgIHZh
ciBzY2FsZSA9IHN5bWxvZ2lzaCh0cmFuc2Zvcm1lciQxKCkpOworCisgIHNjYWxlLmNvcHkgPSBm
dW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weShzY2FsZSwgc3ltbG9nKCkpLmNvbnN0YW50KHNj
YWxlLmNvbnN0YW50KCkpOworICB9OworCisgIHJldHVybiBpbml0UmFuZ2UuYXBwbHkoc2NhbGUs
IGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zZm9ybVBvdyhleHBvbmVudCkgeworICBy
ZXR1cm4gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiB4IDwgMCA/IC1NYXRoLnBvdygteCwgZXhw
b25lbnQpIDogTWF0aC5wb3coeCwgZXhwb25lbnQpOworICB9OworfQorCitmdW5jdGlvbiB0cmFu
c2Zvcm1TcXJ0KHgpIHsKKyAgcmV0dXJuIHggPCAwID8gLU1hdGguc3FydCgteCkgOiBNYXRoLnNx
cnQoeCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zZm9ybVNxdWFyZSh4KSB7CisgIHJldHVybiB4IDwg
MCA/IC14ICogeCA6IHggKiB4OworfQorCitmdW5jdGlvbiBwb3dpc2godHJhbnNmb3JtKSB7Cisg
IHZhciBzY2FsZSA9IHRyYW5zZm9ybShpZGVudGl0eSQ2LCBpZGVudGl0eSQ2KSwKKyAgICAgIGV4
cG9uZW50ID0gMTsKKworICBmdW5jdGlvbiByZXNjYWxlKCkgeworICAgIHJldHVybiBleHBvbmVu
dCA9PT0gMSA/IHRyYW5zZm9ybShpZGVudGl0eSQ2LCBpZGVudGl0eSQ2KQorICAgICAgICA6IGV4
cG9uZW50ID09PSAwLjUgPyB0cmFuc2Zvcm0odHJhbnNmb3JtU3FydCwgdHJhbnNmb3JtU3F1YXJl
KQorICAgICAgICA6IHRyYW5zZm9ybSh0cmFuc2Zvcm1Qb3coZXhwb25lbnQpLCB0cmFuc2Zvcm1Q
b3coMSAvIGV4cG9uZW50KSk7CisgIH0KKworICBzY2FsZS5leHBvbmVudCA9IGZ1bmN0aW9uKF8p
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChleHBvbmVudCA9ICtfLCByZXNjYWxl
KCkpIDogZXhwb25lbnQ7CisgIH07CisKKyAgcmV0dXJuIGxpbmVhcmlzaChzY2FsZSk7Cit9CisK
K2Z1bmN0aW9uIHBvdyQxKCkgeworICB2YXIgc2NhbGUgPSBwb3dpc2godHJhbnNmb3JtZXIkMSgp
KTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkoc2NhbGUs
IHBvdyQxKCkpLmV4cG9uZW50KHNjYWxlLmV4cG9uZW50KCkpOworICB9OworCisgIGluaXRSYW5n
ZS5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKKworICByZXR1cm4gc2NhbGU7Cit9CisKK2Z1bmN0
aW9uIHNxcnQkMSgpIHsKKyAgcmV0dXJuIHBvdyQxLmFwcGx5KG51bGwsIGFyZ3VtZW50cykuZXhw
b25lbnQoMC41KTsKK30KKworZnVuY3Rpb24gcXVhbnRpbGUoKSB7CisgIHZhciBkb21haW4gPSBb
XSwKKyAgICAgIHJhbmdlID0gW10sCisgICAgICB0aHJlc2hvbGRzID0gW10sCisgICAgICB1bmtu
b3duOworCisgIGZ1bmN0aW9uIHJlc2NhbGUoKSB7CisgICAgdmFyIGkgPSAwLCBuID0gTWF0aC5t
YXgoMSwgcmFuZ2UubGVuZ3RoKTsKKyAgICB0aHJlc2hvbGRzID0gbmV3IEFycmF5KG4gLSAxKTsK
KyAgICB3aGlsZSAoKytpIDwgbikgdGhyZXNob2xkc1tpIC0gMV0gPSB0aHJlc2hvbGQoZG9tYWlu
LCBpIC8gbik7CisgICAgcmV0dXJuIHNjYWxlOworICB9CisKKyAgZnVuY3Rpb24gc2NhbGUoeCkg
eworICAgIHJldHVybiBpc05hTih4ID0gK3gpID8gdW5rbm93biA6IHJhbmdlW2Jpc2VjdFJpZ2h0
KHRocmVzaG9sZHMsIHgpXTsKKyAgfQorCisgIHNjYWxlLmludmVydEV4dGVudCA9IGZ1bmN0aW9u
KHkpIHsKKyAgICB2YXIgaSA9IHJhbmdlLmluZGV4T2YoeSk7CisgICAgcmV0dXJuIGkgPCAwID8g
W05hTiwgTmFOXSA6IFsKKyAgICAgIGkgPiAwID8gdGhyZXNob2xkc1tpIC0gMV0gOiBkb21haW5b
MF0sCisgICAgICBpIDwgdGhyZXNob2xkcy5sZW5ndGggPyB0aHJlc2hvbGRzW2ldIDogZG9tYWlu
W2RvbWFpbi5sZW5ndGggLSAxXQorICAgIF07CisgIH07CisKKyAgc2NhbGUuZG9tYWluID0gZnVu
Y3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIGRvbWFpbi5zbGlj
ZSgpOworICAgIGRvbWFpbiA9IFtdOworICAgIGZvciAodmFyIGkgPSAwLCBuID0gXy5sZW5ndGgs
IGQ7IGkgPCBuOyArK2kpIGlmIChkID0gX1tpXSwgZCAhPSBudWxsICYmICFpc05hTihkID0gK2Qp
KSBkb21haW4ucHVzaChkKTsKKyAgICBkb21haW4uc29ydChhc2NlbmRpbmcpOworICAgIHJldHVy
biByZXNjYWxlKCk7CisgIH07CisKKyAgc2NhbGUucmFuZ2UgPSBmdW5jdGlvbihfKSB7CisgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocmFuZ2UgPSBzbGljZSQ1LmNhbGwoXyksIHJlc2Nh
bGUoKSkgOiByYW5nZS5zbGljZSgpOworICB9OworCisgIHNjYWxlLnVua25vd24gPSBmdW5jdGlv
bihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodW5rbm93biA9IF8sIHNjYWxl
KSA6IHVua25vd247CisgIH07CisKKyAgc2NhbGUucXVhbnRpbGVzID0gZnVuY3Rpb24oKSB7Cisg
ICAgcmV0dXJuIHRocmVzaG9sZHMuc2xpY2UoKTsKKyAgfTsKKworICBzY2FsZS5jb3B5ID0gZnVu
Y3Rpb24oKSB7CisgICAgcmV0dXJuIHF1YW50aWxlKCkKKyAgICAgICAgLmRvbWFpbihkb21haW4p
CisgICAgICAgIC5yYW5nZShyYW5nZSkKKyAgICAgICAgLnVua25vd24odW5rbm93bik7CisgIH07
CisKKyAgcmV0dXJuIGluaXRSYW5nZS5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKK30KKworZnVu
Y3Rpb24gcXVhbnRpemUkMSgpIHsKKyAgdmFyIHgwID0gMCwKKyAgICAgIHgxID0gMSwKKyAgICAg
IG4gPSAxLAorICAgICAgZG9tYWluID0gWzAuNV0sCisgICAgICByYW5nZSA9IFswLCAxXSwKKyAg
ICAgIHVua25vd247CisKKyAgZnVuY3Rpb24gc2NhbGUoeCkgeworICAgIHJldHVybiB4IDw9IHgg
PyByYW5nZVtiaXNlY3RSaWdodChkb21haW4sIHgsIDAsIG4pXSA6IHVua25vd247CisgIH0KKwor
ICBmdW5jdGlvbiByZXNjYWxlKCkgeworICAgIHZhciBpID0gLTE7CisgICAgZG9tYWluID0gbmV3
IEFycmF5KG4pOworICAgIHdoaWxlICgrK2kgPCBuKSBkb21haW5baV0gPSAoKGkgKyAxKSAqIHgx
IC0gKGkgLSBuKSAqIHgwKSAvIChuICsgMSk7CisgICAgcmV0dXJuIHNjYWxlOworICB9CisKKyAg
c2NhbGUuZG9tYWluID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKHgwID0gK19bMF0sIHgxID0gK19bMV0sIHJlc2NhbGUoKSkgOiBbeDAsIHgxXTsKKyAgfTsK
KworICBzY2FsZS5yYW5nZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IChuID0gKHJhbmdlID0gc2xpY2UkNS5jYWxsKF8pKS5sZW5ndGggLSAxLCByZXNjYWxl
KCkpIDogcmFuZ2Uuc2xpY2UoKTsKKyAgfTsKKworICBzY2FsZS5pbnZlcnRFeHRlbnQgPSBmdW5j
dGlvbih5KSB7CisgICAgdmFyIGkgPSByYW5nZS5pbmRleE9mKHkpOworICAgIHJldHVybiBpIDwg
MCA/IFtOYU4sIE5hTl0KKyAgICAgICAgOiBpIDwgMSA/IFt4MCwgZG9tYWluWzBdXQorICAgICAg
ICA6IGkgPj0gbiA/IFtkb21haW5bbiAtIDFdLCB4MV0KKyAgICAgICAgOiBbZG9tYWluW2kgLSAx
XSwgZG9tYWluW2ldXTsKKyAgfTsKKworICBzY2FsZS51bmtub3duID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHVua25vd24gPSBfLCBzY2FsZSkgOiBzY2Fs
ZTsKKyAgfTsKKworICBzY2FsZS50aHJlc2hvbGRzID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJu
IGRvbWFpbi5zbGljZSgpOworICB9OworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAg
ICByZXR1cm4gcXVhbnRpemUkMSgpCisgICAgICAgIC5kb21haW4oW3gwLCB4MV0pCisgICAgICAg
IC5yYW5nZShyYW5nZSkKKyAgICAgICAgLnVua25vd24odW5rbm93bik7CisgIH07CisKKyAgcmV0
dXJuIGluaXRSYW5nZS5hcHBseShsaW5lYXJpc2goc2NhbGUpLCBhcmd1bWVudHMpOworfQorCitm
dW5jdGlvbiB0aHJlc2hvbGQkMSgpIHsKKyAgdmFyIGRvbWFpbiA9IFswLjVdLAorICAgICAgcmFu
Z2UgPSBbMCwgMV0sCisgICAgICB1bmtub3duLAorICAgICAgbiA9IDE7CisKKyAgZnVuY3Rpb24g
c2NhbGUoeCkgeworICAgIHJldHVybiB4IDw9IHggPyByYW5nZVtiaXNlY3RSaWdodChkb21haW4s
IHgsIDAsIG4pXSA6IHVua25vd247CisgIH0KKworICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZG9tYWluID0gc2xpY2UkNS5jYWxs
KF8pLCBuID0gTWF0aC5taW4oZG9tYWluLmxlbmd0aCwgcmFuZ2UubGVuZ3RoIC0gMSksIHNjYWxl
KSA6IGRvbWFpbi5zbGljZSgpOworICB9OworCisgIHNjYWxlLnJhbmdlID0gZnVuY3Rpb24oXykg
eworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJhbmdlID0gc2xpY2UkNS5jYWxsKF8p
LCBuID0gTWF0aC5taW4oZG9tYWluLmxlbmd0aCwgcmFuZ2UubGVuZ3RoIC0gMSksIHNjYWxlKSA6
IHJhbmdlLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUuaW52ZXJ0RXh0ZW50ID0gZnVuY3Rpb24o
eSkgeworICAgIHZhciBpID0gcmFuZ2UuaW5kZXhPZih5KTsKKyAgICByZXR1cm4gW2RvbWFpbltp
IC0gMV0sIGRvbWFpbltpXV07CisgIH07CisKKyAgc2NhbGUudW5rbm93biA9IGZ1bmN0aW9uKF8p
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh1bmtub3duID0gXywgc2NhbGUpIDog
dW5rbm93bjsKKyAgfTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJu
IHRocmVzaG9sZCQxKCkKKyAgICAgICAgLmRvbWFpbihkb21haW4pCisgICAgICAgIC5yYW5nZShy
YW5nZSkKKyAgICAgICAgLnVua25vd24odW5rbm93bik7CisgIH07CisKKyAgcmV0dXJuIGluaXRS
YW5nZS5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKK30KKwordmFyIHQwJDEgPSBuZXcgRGF0ZSwK
KyAgICB0MSQxID0gbmV3IERhdGU7CisKK2Z1bmN0aW9uIG5ld0ludGVydmFsKGZsb29yaSwgb2Zm
c2V0aSwgY291bnQsIGZpZWxkKSB7CisKKyAgZnVuY3Rpb24gaW50ZXJ2YWwoZGF0ZSkgeworICAg
IHJldHVybiBmbG9vcmkoZGF0ZSA9IGFyZ3VtZW50cy5sZW5ndGggPT09IDAgPyBuZXcgRGF0ZSA6
IG5ldyBEYXRlKCtkYXRlKSksIGRhdGU7CisgIH0KKworICBpbnRlcnZhbC5mbG9vciA9IGZ1bmN0
aW9uKGRhdGUpIHsKKyAgICByZXR1cm4gZmxvb3JpKGRhdGUgPSBuZXcgRGF0ZSgrZGF0ZSkpLCBk
YXRlOworICB9OworCisgIGludGVydmFsLmNlaWwgPSBmdW5jdGlvbihkYXRlKSB7CisgICAgcmV0
dXJuIGZsb29yaShkYXRlID0gbmV3IERhdGUoZGF0ZSAtIDEpKSwgb2Zmc2V0aShkYXRlLCAxKSwg
Zmxvb3JpKGRhdGUpLCBkYXRlOworICB9OworCisgIGludGVydmFsLnJvdW5kID0gZnVuY3Rpb24o
ZGF0ZSkgeworICAgIHZhciBkMCA9IGludGVydmFsKGRhdGUpLAorICAgICAgICBkMSA9IGludGVy
dmFsLmNlaWwoZGF0ZSk7CisgICAgcmV0dXJuIGRhdGUgLSBkMCA8IGQxIC0gZGF0ZSA/IGQwIDog
ZDE7CisgIH07CisKKyAgaW50ZXJ2YWwub2Zmc2V0ID0gZnVuY3Rpb24oZGF0ZSwgc3RlcCkgewor
ICAgIHJldHVybiBvZmZzZXRpKGRhdGUgPSBuZXcgRGF0ZSgrZGF0ZSksIHN0ZXAgPT0gbnVsbCA/
IDEgOiBNYXRoLmZsb29yKHN0ZXApKSwgZGF0ZTsKKyAgfTsKKworICBpbnRlcnZhbC5yYW5nZSA9
IGZ1bmN0aW9uKHN0YXJ0LCBzdG9wLCBzdGVwKSB7CisgICAgdmFyIHJhbmdlID0gW10sIHByZXZp
b3VzOworICAgIHN0YXJ0ID0gaW50ZXJ2YWwuY2VpbChzdGFydCk7CisgICAgc3RlcCA9IHN0ZXAg
PT0gbnVsbCA/IDEgOiBNYXRoLmZsb29yKHN0ZXApOworICAgIGlmICghKHN0YXJ0IDwgc3RvcCkg
fHwgIShzdGVwID4gMCkpIHJldHVybiByYW5nZTsgLy8gYWxzbyBoYW5kbGVzIEludmFsaWQgRGF0
ZQorICAgIGRvIHJhbmdlLnB1c2gocHJldmlvdXMgPSBuZXcgRGF0ZSgrc3RhcnQpKSwgb2Zmc2V0
aShzdGFydCwgc3RlcCksIGZsb29yaShzdGFydCk7CisgICAgd2hpbGUgKHByZXZpb3VzIDwgc3Rh
cnQgJiYgc3RhcnQgPCBzdG9wKTsKKyAgICByZXR1cm4gcmFuZ2U7CisgIH07CisKKyAgaW50ZXJ2
YWwuZmlsdGVyID0gZnVuY3Rpb24odGVzdCkgeworICAgIHJldHVybiBuZXdJbnRlcnZhbChmdW5j
dGlvbihkYXRlKSB7CisgICAgICBpZiAoZGF0ZSA+PSBkYXRlKSB3aGlsZSAoZmxvb3JpKGRhdGUp
LCAhdGVzdChkYXRlKSkgZGF0ZS5zZXRUaW1lKGRhdGUgLSAxKTsKKyAgICB9LCBmdW5jdGlvbihk
YXRlLCBzdGVwKSB7CisgICAgICBpZiAoZGF0ZSA+PSBkYXRlKSB7CisgICAgICAgIGlmIChzdGVw
IDwgMCkgd2hpbGUgKCsrc3RlcCA8PSAwKSB7CisgICAgICAgICAgd2hpbGUgKG9mZnNldGkoZGF0
ZSwgLTEpLCAhdGVzdChkYXRlKSkge30gLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1lbXB0eQor
ICAgICAgICB9IGVsc2Ugd2hpbGUgKC0tc3RlcCA+PSAwKSB7CisgICAgICAgICAgd2hpbGUgKG9m
ZnNldGkoZGF0ZSwgKzEpLCAhdGVzdChkYXRlKSkge30gLy8gZXNsaW50LWRpc2FibGUtbGluZSBu
by1lbXB0eQorICAgICAgICB9CisgICAgICB9CisgICAgfSk7CisgIH07CisKKyAgaWYgKGNvdW50
KSB7CisgICAgaW50ZXJ2YWwuY291bnQgPSBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgICAgICB0
MCQxLnNldFRpbWUoK3N0YXJ0KSwgdDEkMS5zZXRUaW1lKCtlbmQpOworICAgICAgZmxvb3JpKHQw
JDEpLCBmbG9vcmkodDEkMSk7CisgICAgICByZXR1cm4gTWF0aC5mbG9vcihjb3VudCh0MCQxLCB0
MSQxKSk7CisgICAgfTsKKworICAgIGludGVydmFsLmV2ZXJ5ID0gZnVuY3Rpb24oc3RlcCkgewor
ICAgICAgc3RlcCA9IE1hdGguZmxvb3Ioc3RlcCk7CisgICAgICByZXR1cm4gIWlzRmluaXRlKHN0
ZXApIHx8ICEoc3RlcCA+IDApID8gbnVsbAorICAgICAgICAgIDogIShzdGVwID4gMSkgPyBpbnRl
cnZhbAorICAgICAgICAgIDogaW50ZXJ2YWwuZmlsdGVyKGZpZWxkCisgICAgICAgICAgICAgID8g
ZnVuY3Rpb24oZCkgeyByZXR1cm4gZmllbGQoZCkgJSBzdGVwID09PSAwOyB9CisgICAgICAgICAg
ICAgIDogZnVuY3Rpb24oZCkgeyByZXR1cm4gaW50ZXJ2YWwuY291bnQoMCwgZCkgJSBzdGVwID09
PSAwOyB9KTsKKyAgICB9OworICB9CisKKyAgcmV0dXJuIGludGVydmFsOworfQorCit2YXIgbWls
bGlzZWNvbmQgPSBuZXdJbnRlcnZhbChmdW5jdGlvbigpIHsKKyAgLy8gbm9vcAorfSwgZnVuY3Rp
b24oZGF0ZSwgc3RlcCkgeworICBkYXRlLnNldFRpbWUoK2RhdGUgKyBzdGVwKTsKK30sIGZ1bmN0
aW9uKHN0YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIGVuZCAtIHN0YXJ0OworfSk7CisKKy8vIEFuIG9w
dGltaXplZCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhpcyBzaW1wbGUgY2FzZS4KK21pbGxpc2Vjb25k
LmV2ZXJ5ID0gZnVuY3Rpb24oaykgeworICBrID0gTWF0aC5mbG9vcihrKTsKKyAgaWYgKCFpc0Zp
bml0ZShrKSB8fCAhKGsgPiAwKSkgcmV0dXJuIG51bGw7CisgIGlmICghKGsgPiAxKSkgcmV0dXJu
IG1pbGxpc2Vjb25kOworICByZXR1cm4gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICAg
IGRhdGUuc2V0VGltZShNYXRoLmZsb29yKGRhdGUgLyBrKSAqIGspOworICB9LCBmdW5jdGlvbihk
YXRlLCBzdGVwKSB7CisgICAgZGF0ZS5zZXRUaW1lKCtkYXRlICsgc3RlcCAqIGspOworICB9LCBm
dW5jdGlvbihzdGFydCwgZW5kKSB7CisgICAgcmV0dXJuIChlbmQgLSBzdGFydCkgLyBrOworICB9
KTsKK307Cit2YXIgbWlsbGlzZWNvbmRzID0gbWlsbGlzZWNvbmQucmFuZ2U7CisKK3ZhciBkdXJh
dGlvblNlY29uZCA9IDFlMzsKK3ZhciBkdXJhdGlvbk1pbnV0ZSA9IDZlNDsKK3ZhciBkdXJhdGlv
bkhvdXIgPSAzNmU1OwordmFyIGR1cmF0aW9uRGF5ID0gODY0ZTU7Cit2YXIgZHVyYXRpb25XZWVr
ID0gNjA0OGU1OworCit2YXIgc2Vjb25kID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgewor
ICBkYXRlLnNldFRpbWUoZGF0ZSAtIGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCkpOworfSwgZnVuY3Rp
b24oZGF0ZSwgc3RlcCkgeworICBkYXRlLnNldFRpbWUoK2RhdGUgKyBzdGVwICogZHVyYXRpb25T
ZWNvbmQpOworfSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICByZXR1cm4gKGVuZCAtIHN0YXJ0
KSAvIGR1cmF0aW9uU2Vjb25kOworfSwgZnVuY3Rpb24oZGF0ZSkgeworICByZXR1cm4gZGF0ZS5n
ZXRVVENTZWNvbmRzKCk7Cit9KTsKK3ZhciBzZWNvbmRzID0gc2Vjb25kLnJhbmdlOworCit2YXIg
bWludXRlID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRlLnNldFRpbWUoZGF0
ZSAtIGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCkgLSBkYXRlLmdldFNlY29uZHMoKSAqIGR1cmF0aW9u
U2Vjb25kKTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRUaW1lKCtkYXRl
ICsgc3RlcCAqIGR1cmF0aW9uTWludXRlKTsKK30sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAg
cmV0dXJuIChlbmQgLSBzdGFydCkgLyBkdXJhdGlvbk1pbnV0ZTsKK30sIGZ1bmN0aW9uKGRhdGUp
IHsKKyAgcmV0dXJuIGRhdGUuZ2V0TWludXRlcygpOworfSk7Cit2YXIgbWludXRlcyA9IG1pbnV0
ZS5yYW5nZTsKKwordmFyIGhvdXIgPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgIGRh
dGUuc2V0VGltZShkYXRlIC0gZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSAtIGRhdGUuZ2V0U2Vjb25k
cygpICogZHVyYXRpb25TZWNvbmQgLSBkYXRlLmdldE1pbnV0ZXMoKSAqIGR1cmF0aW9uTWludXRl
KTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRUaW1lKCtkYXRlICsgc3Rl
cCAqIGR1cmF0aW9uSG91cik7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVybiAo
ZW5kIC0gc3RhcnQpIC8gZHVyYXRpb25Ib3VyOworfSwgZnVuY3Rpb24oZGF0ZSkgeworICByZXR1
cm4gZGF0ZS5nZXRIb3VycygpOworfSk7Cit2YXIgaG91cnMgPSBob3VyLnJhbmdlOworCit2YXIg
ZGF5ID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRlLnNldEhvdXJzKDAsIDAs
IDAsIDApOworfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICBkYXRlLnNldERhdGUoZGF0ZS5n
ZXREYXRlKCkgKyBzdGVwKTsKK30sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIChl
bmQgLSBzdGFydCAtIChlbmQuZ2V0VGltZXpvbmVPZmZzZXQoKSAtIHN0YXJ0LmdldFRpbWV6b25l
T2Zmc2V0KCkpICogZHVyYXRpb25NaW51dGUpIC8gZHVyYXRpb25EYXk7Cit9LCBmdW5jdGlvbihk
YXRlKSB7CisgIHJldHVybiBkYXRlLmdldERhdGUoKSAtIDE7Cit9KTsKK3ZhciBkYXlzID0gZGF5
LnJhbmdlOworCitmdW5jdGlvbiB3ZWVrZGF5KGkpIHsKKyAgcmV0dXJuIG5ld0ludGVydmFsKGZ1
bmN0aW9uKGRhdGUpIHsKKyAgICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgLSAoZGF0ZS5n
ZXREYXkoKSArIDcgLSBpKSAlIDcpOworICAgIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7Cisg
IH0sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRl
KCkgKyBzdGVwICogNyk7CisgIH0sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAgICByZXR1cm4g
KGVuZCAtIHN0YXJ0IC0gKGVuZC5nZXRUaW1lem9uZU9mZnNldCgpIC0gc3RhcnQuZ2V0VGltZXpv
bmVPZmZzZXQoKSkgKiBkdXJhdGlvbk1pbnV0ZSkgLyBkdXJhdGlvbldlZWs7CisgIH0pOworfQor
Cit2YXIgc3VuZGF5ID0gd2Vla2RheSgwKTsKK3ZhciBtb25kYXkgPSB3ZWVrZGF5KDEpOwordmFy
IHR1ZXNkYXkgPSB3ZWVrZGF5KDIpOwordmFyIHdlZG5lc2RheSA9IHdlZWtkYXkoMyk7Cit2YXIg
dGh1cnNkYXkgPSB3ZWVrZGF5KDQpOwordmFyIGZyaWRheSA9IHdlZWtkYXkoNSk7Cit2YXIgc2F0
dXJkYXkgPSB3ZWVrZGF5KDYpOworCit2YXIgc3VuZGF5cyA9IHN1bmRheS5yYW5nZTsKK3ZhciBt
b25kYXlzID0gbW9uZGF5LnJhbmdlOwordmFyIHR1ZXNkYXlzID0gdHVlc2RheS5yYW5nZTsKK3Zh
ciB3ZWRuZXNkYXlzID0gd2VkbmVzZGF5LnJhbmdlOwordmFyIHRodXJzZGF5cyA9IHRodXJzZGF5
LnJhbmdlOwordmFyIGZyaWRheXMgPSBmcmlkYXkucmFuZ2U7Cit2YXIgc2F0dXJkYXlzID0gc2F0
dXJkYXkucmFuZ2U7CisKK3ZhciBtb250aCA9IG5ld0ludGVydmFsKGZ1bmN0aW9uKGRhdGUpIHsK
KyAgZGF0ZS5zZXREYXRlKDEpOworICBkYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApOworfSwgZnVu
Y3Rpb24oZGF0ZSwgc3RlcCkgeworICBkYXRlLnNldE1vbnRoKGRhdGUuZ2V0TW9udGgoKSArIHN0
ZXApOworfSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICByZXR1cm4gZW5kLmdldE1vbnRoKCkg
LSBzdGFydC5nZXRNb250aCgpICsgKGVuZC5nZXRGdWxsWWVhcigpIC0gc3RhcnQuZ2V0RnVsbFll
YXIoKSkgKiAxMjsKK30sIGZ1bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0TW9udGgo
KTsKK30pOwordmFyIG1vbnRocyA9IG1vbnRoLnJhbmdlOworCit2YXIgeWVhciA9IG5ld0ludGVy
dmFsKGZ1bmN0aW9uKGRhdGUpIHsKKyAgZGF0ZS5zZXRNb250aCgwLCAxKTsKKyAgZGF0ZS5zZXRI
b3VycygwLCAwLCAwLCAwKTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRG
dWxsWWVhcihkYXRlLmdldEZ1bGxZZWFyKCkgKyBzdGVwKTsKK30sIGZ1bmN0aW9uKHN0YXJ0LCBl
bmQpIHsKKyAgcmV0dXJuIGVuZC5nZXRGdWxsWWVhcigpIC0gc3RhcnQuZ2V0RnVsbFllYXIoKTsK
K30sIGZ1bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0RnVsbFllYXIoKTsKK30pOwor
CisvLyBBbiBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb24gZm9yIHRoaXMgc2ltcGxlIGNhc2UuCit5
ZWFyLmV2ZXJ5ID0gZnVuY3Rpb24oaykgeworICByZXR1cm4gIWlzRmluaXRlKGsgPSBNYXRoLmZs
b29yKGspKSB8fCAhKGsgPiAwKSA/IG51bGwgOiBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7
CisgICAgZGF0ZS5zZXRGdWxsWWVhcihNYXRoLmZsb29yKGRhdGUuZ2V0RnVsbFllYXIoKSAvIGsp
ICogayk7CisgICAgZGF0ZS5zZXRNb250aCgwLCAxKTsKKyAgICBkYXRlLnNldEhvdXJzKDAsIDAs
IDAsIDApOworICB9LCBmdW5jdGlvbihkYXRlLCBzdGVwKSB7CisgICAgZGF0ZS5zZXRGdWxsWWVh
cihkYXRlLmdldEZ1bGxZZWFyKCkgKyBzdGVwICogayk7CisgIH0pOworfTsKK3ZhciB5ZWFycyA9
IHllYXIucmFuZ2U7CisKK3ZhciB1dGNNaW51dGUgPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRl
KSB7CisgIGRhdGUuc2V0VVRDU2Vjb25kcygwLCAwKTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXAp
IHsKKyAgZGF0ZS5zZXRUaW1lKCtkYXRlICsgc3RlcCAqIGR1cmF0aW9uTWludXRlKTsKK30sIGZ1
bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIChlbmQgLSBzdGFydCkgLyBkdXJhdGlvbk1p
bnV0ZTsKK30sIGZ1bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0VVRDTWludXRlcygp
OworfSk7Cit2YXIgdXRjTWludXRlcyA9IHV0Y01pbnV0ZS5yYW5nZTsKKwordmFyIHV0Y0hvdXIg
PSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgIGRhdGUuc2V0VVRDTWludXRlcygwLCAw
LCAwKTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRUaW1lKCtkYXRlICsg
c3RlcCAqIGR1cmF0aW9uSG91cik7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVy
biAoZW5kIC0gc3RhcnQpIC8gZHVyYXRpb25Ib3VyOworfSwgZnVuY3Rpb24oZGF0ZSkgeworICBy
ZXR1cm4gZGF0ZS5nZXRVVENIb3VycygpOworfSk7Cit2YXIgdXRjSG91cnMgPSB1dGNIb3VyLnJh
bmdlOworCit2YXIgdXRjRGF5ID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRl
LnNldFVUQ0hvdXJzKDAsIDAsIDAsIDApOworfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICBk
YXRlLnNldFVUQ0RhdGUoZGF0ZS5nZXRVVENEYXRlKCkgKyBzdGVwKTsKK30sIGZ1bmN0aW9uKHN0
YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIChlbmQgLSBzdGFydCkgLyBkdXJhdGlvbkRheTsKK30sIGZ1
bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0VVRDRGF0ZSgpIC0gMTsKK30pOwordmFy
IHV0Y0RheXMgPSB1dGNEYXkucmFuZ2U7CisKK2Z1bmN0aW9uIHV0Y1dlZWtkYXkoaSkgeworICBy
ZXR1cm4gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICAgIGRhdGUuc2V0VVRDRGF0ZShk
YXRlLmdldFVUQ0RhdGUoKSAtIChkYXRlLmdldFVUQ0RheSgpICsgNyAtIGkpICUgNyk7CisgICAg
ZGF0ZS5zZXRVVENIb3VycygwLCAwLCAwLCAwKTsKKyAgfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkg
eworICAgIGRhdGUuc2V0VVRDRGF0ZShkYXRlLmdldFVUQ0RhdGUoKSArIHN0ZXAgKiA3KTsKKyAg
fSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICAgIHJldHVybiAoZW5kIC0gc3RhcnQpIC8gZHVy
YXRpb25XZWVrOworICB9KTsKK30KKwordmFyIHV0Y1N1bmRheSA9IHV0Y1dlZWtkYXkoMCk7Cit2
YXIgdXRjTW9uZGF5ID0gdXRjV2Vla2RheSgxKTsKK3ZhciB1dGNUdWVzZGF5ID0gdXRjV2Vla2Rh
eSgyKTsKK3ZhciB1dGNXZWRuZXNkYXkgPSB1dGNXZWVrZGF5KDMpOwordmFyIHV0Y1RodXJzZGF5
ID0gdXRjV2Vla2RheSg0KTsKK3ZhciB1dGNGcmlkYXkgPSB1dGNXZWVrZGF5KDUpOwordmFyIHV0
Y1NhdHVyZGF5ID0gdXRjV2Vla2RheSg2KTsKKwordmFyIHV0Y1N1bmRheXMgPSB1dGNTdW5kYXku
cmFuZ2U7Cit2YXIgdXRjTW9uZGF5cyA9IHV0Y01vbmRheS5yYW5nZTsKK3ZhciB1dGNUdWVzZGF5
cyA9IHV0Y1R1ZXNkYXkucmFuZ2U7Cit2YXIgdXRjV2VkbmVzZGF5cyA9IHV0Y1dlZG5lc2RheS5y
YW5nZTsKK3ZhciB1dGNUaHVyc2RheXMgPSB1dGNUaHVyc2RheS5yYW5nZTsKK3ZhciB1dGNGcmlk
YXlzID0gdXRjRnJpZGF5LnJhbmdlOwordmFyIHV0Y1NhdHVyZGF5cyA9IHV0Y1NhdHVyZGF5LnJh
bmdlOworCit2YXIgdXRjTW9udGggPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgIGRh
dGUuc2V0VVRDRGF0ZSgxKTsKKyAgZGF0ZS5zZXRVVENIb3VycygwLCAwLCAwLCAwKTsKK30sIGZ1
bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRVVENNb250aChkYXRlLmdldFVUQ01vbnRo
KCkgKyBzdGVwKTsKK30sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIGVuZC5nZXRV
VENNb250aCgpIC0gc3RhcnQuZ2V0VVRDTW9udGgoKSArIChlbmQuZ2V0VVRDRnVsbFllYXIoKSAt
IHN0YXJ0LmdldFVUQ0Z1bGxZZWFyKCkpICogMTI7Cit9LCBmdW5jdGlvbihkYXRlKSB7CisgIHJl
dHVybiBkYXRlLmdldFVUQ01vbnRoKCk7Cit9KTsKK3ZhciB1dGNNb250aHMgPSB1dGNNb250aC5y
YW5nZTsKKwordmFyIHV0Y1llYXIgPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgIGRh
dGUuc2V0VVRDTW9udGgoMCwgMSk7CisgIGRhdGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7Cit9
LCBmdW5jdGlvbihkYXRlLCBzdGVwKSB7CisgIGRhdGUuc2V0VVRDRnVsbFllYXIoZGF0ZS5nZXRV
VENGdWxsWWVhcigpICsgc3RlcCk7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVy
biBlbmQuZ2V0VVRDRnVsbFllYXIoKSAtIHN0YXJ0LmdldFVUQ0Z1bGxZZWFyKCk7Cit9LCBmdW5j
dGlvbihkYXRlKSB7CisgIHJldHVybiBkYXRlLmdldFVUQ0Z1bGxZZWFyKCk7Cit9KTsKKworLy8g
QW4gb3B0aW1pemVkIGltcGxlbWVudGF0aW9uIGZvciB0aGlzIHNpbXBsZSBjYXNlLgordXRjWWVh
ci5ldmVyeSA9IGZ1bmN0aW9uKGspIHsKKyAgcmV0dXJuICFpc0Zpbml0ZShrID0gTWF0aC5mbG9v
cihrKSkgfHwgIShrID4gMCkgPyBudWxsIDogbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgewor
ICAgIGRhdGUuc2V0VVRDRnVsbFllYXIoTWF0aC5mbG9vcihkYXRlLmdldFVUQ0Z1bGxZZWFyKCkg
LyBrKSAqIGspOworICAgIGRhdGUuc2V0VVRDTW9udGgoMCwgMSk7CisgICAgZGF0ZS5zZXRVVENI
b3VycygwLCAwLCAwLCAwKTsKKyAgfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICAgIGRhdGUu
c2V0VVRDRnVsbFllYXIoZGF0ZS5nZXRVVENGdWxsWWVhcigpICsgc3RlcCAqIGspOworICB9KTsK
K307Cit2YXIgdXRjWWVhcnMgPSB1dGNZZWFyLnJhbmdlOworCitmdW5jdGlvbiBsb2NhbERhdGUo
ZCkgeworICBpZiAoMCA8PSBkLnkgJiYgZC55IDwgMTAwKSB7CisgICAgdmFyIGRhdGUgPSBuZXcg
RGF0ZSgtMSwgZC5tLCBkLmQsIGQuSCwgZC5NLCBkLlMsIGQuTCk7CisgICAgZGF0ZS5zZXRGdWxs
WWVhcihkLnkpOworICAgIHJldHVybiBkYXRlOworICB9CisgIHJldHVybiBuZXcgRGF0ZShkLnks
IGQubSwgZC5kLCBkLkgsIGQuTSwgZC5TLCBkLkwpOworfQorCitmdW5jdGlvbiB1dGNEYXRlKGQp
IHsKKyAgaWYgKDAgPD0gZC55ICYmIGQueSA8IDEwMCkgeworICAgIHZhciBkYXRlID0gbmV3IERh
dGUoRGF0ZS5VVEMoLTEsIGQubSwgZC5kLCBkLkgsIGQuTSwgZC5TLCBkLkwpKTsKKyAgICBkYXRl
LnNldFVUQ0Z1bGxZZWFyKGQueSk7CisgICAgcmV0dXJuIGRhdGU7CisgIH0KKyAgcmV0dXJuIG5l
dyBEYXRlKERhdGUuVVRDKGQueSwgZC5tLCBkLmQsIGQuSCwgZC5NLCBkLlMsIGQuTCkpOworfQor
CitmdW5jdGlvbiBuZXdEYXRlKHksIG0sIGQpIHsKKyAgcmV0dXJuIHt5OiB5LCBtOiBtLCBkOiBk
LCBIOiAwLCBNOiAwLCBTOiAwLCBMOiAwfTsKK30KKworZnVuY3Rpb24gZm9ybWF0TG9jYWxlJDEo
bG9jYWxlKSB7CisgIHZhciBsb2NhbGVfZGF0ZVRpbWUgPSBsb2NhbGUuZGF0ZVRpbWUsCisgICAg
ICBsb2NhbGVfZGF0ZSA9IGxvY2FsZS5kYXRlLAorICAgICAgbG9jYWxlX3RpbWUgPSBsb2NhbGUu
dGltZSwKKyAgICAgIGxvY2FsZV9wZXJpb2RzID0gbG9jYWxlLnBlcmlvZHMsCisgICAgICBsb2Nh
bGVfd2Vla2RheXMgPSBsb2NhbGUuZGF5cywKKyAgICAgIGxvY2FsZV9zaG9ydFdlZWtkYXlzID0g
bG9jYWxlLnNob3J0RGF5cywKKyAgICAgIGxvY2FsZV9tb250aHMgPSBsb2NhbGUubW9udGhzLAor
ICAgICAgbG9jYWxlX3Nob3J0TW9udGhzID0gbG9jYWxlLnNob3J0TW9udGhzOworCisgIHZhciBw
ZXJpb2RSZSA9IGZvcm1hdFJlKGxvY2FsZV9wZXJpb2RzKSwKKyAgICAgIHBlcmlvZExvb2t1cCA9
IGZvcm1hdExvb2t1cChsb2NhbGVfcGVyaW9kcyksCisgICAgICB3ZWVrZGF5UmUgPSBmb3JtYXRS
ZShsb2NhbGVfd2Vla2RheXMpLAorICAgICAgd2Vla2RheUxvb2t1cCA9IGZvcm1hdExvb2t1cChs
b2NhbGVfd2Vla2RheXMpLAorICAgICAgc2hvcnRXZWVrZGF5UmUgPSBmb3JtYXRSZShsb2NhbGVf
c2hvcnRXZWVrZGF5cyksCisgICAgICBzaG9ydFdlZWtkYXlMb29rdXAgPSBmb3JtYXRMb29rdXAo
bG9jYWxlX3Nob3J0V2Vla2RheXMpLAorICAgICAgbW9udGhSZSA9IGZvcm1hdFJlKGxvY2FsZV9t
b250aHMpLAorICAgICAgbW9udGhMb29rdXAgPSBmb3JtYXRMb29rdXAobG9jYWxlX21vbnRocyks
CisgICAgICBzaG9ydE1vbnRoUmUgPSBmb3JtYXRSZShsb2NhbGVfc2hvcnRNb250aHMpLAorICAg
ICAgc2hvcnRNb250aExvb2t1cCA9IGZvcm1hdExvb2t1cChsb2NhbGVfc2hvcnRNb250aHMpOwor
CisgIHZhciBmb3JtYXRzID0geworICAgICJhIjogZm9ybWF0U2hvcnRXZWVrZGF5LAorICAgICJB
IjogZm9ybWF0V2Vla2RheSwKKyAgICAiYiI6IGZvcm1hdFNob3J0TW9udGgsCisgICAgIkIiOiBm
b3JtYXRNb250aCwKKyAgICAiYyI6IG51bGwsCisgICAgImQiOiBmb3JtYXREYXlPZk1vbnRoLAor
ICAgICJlIjogZm9ybWF0RGF5T2ZNb250aCwKKyAgICAiZiI6IGZvcm1hdE1pY3Jvc2Vjb25kcywK
KyAgICAiSCI6IGZvcm1hdEhvdXIyNCwKKyAgICAiSSI6IGZvcm1hdEhvdXIxMiwKKyAgICAiaiI6
IGZvcm1hdERheU9mWWVhciwKKyAgICAiTCI6IGZvcm1hdE1pbGxpc2Vjb25kcywKKyAgICAibSI6
IGZvcm1hdE1vbnRoTnVtYmVyLAorICAgICJNIjogZm9ybWF0TWludXRlcywKKyAgICAicCI6IGZv
cm1hdFBlcmlvZCwKKyAgICAicSI6IGZvcm1hdFF1YXJ0ZXIsCisgICAgIlEiOiBmb3JtYXRVbml4
VGltZXN0YW1wLAorICAgICJzIjogZm9ybWF0VW5peFRpbWVzdGFtcFNlY29uZHMsCisgICAgIlMi
OiBmb3JtYXRTZWNvbmRzLAorICAgICJ1IjogZm9ybWF0V2Vla2RheU51bWJlck1vbmRheSwKKyAg
ICAiVSI6IGZvcm1hdFdlZWtOdW1iZXJTdW5kYXksCisgICAgIlYiOiBmb3JtYXRXZWVrTnVtYmVy
SVNPLAorICAgICJ3IjogZm9ybWF0V2Vla2RheU51bWJlclN1bmRheSwKKyAgICAiVyI6IGZvcm1h
dFdlZWtOdW1iZXJNb25kYXksCisgICAgIngiOiBudWxsLAorICAgICJYIjogbnVsbCwKKyAgICAi
eSI6IGZvcm1hdFllYXIkMSwKKyAgICAiWSI6IGZvcm1hdEZ1bGxZZWFyLAorICAgICJaIjogZm9y
bWF0Wm9uZSwKKyAgICAiJSI6IGZvcm1hdExpdGVyYWxQZXJjZW50CisgIH07CisKKyAgdmFyIHV0
Y0Zvcm1hdHMgPSB7CisgICAgImEiOiBmb3JtYXRVVENTaG9ydFdlZWtkYXksCisgICAgIkEiOiBm
b3JtYXRVVENXZWVrZGF5LAorICAgICJiIjogZm9ybWF0VVRDU2hvcnRNb250aCwKKyAgICAiQiI6
IGZvcm1hdFVUQ01vbnRoLAorICAgICJjIjogbnVsbCwKKyAgICAiZCI6IGZvcm1hdFVUQ0RheU9m
TW9udGgsCisgICAgImUiOiBmb3JtYXRVVENEYXlPZk1vbnRoLAorICAgICJmIjogZm9ybWF0VVRD
TWljcm9zZWNvbmRzLAorICAgICJIIjogZm9ybWF0VVRDSG91cjI0LAorICAgICJJIjogZm9ybWF0
VVRDSG91cjEyLAorICAgICJqIjogZm9ybWF0VVRDRGF5T2ZZZWFyLAorICAgICJMIjogZm9ybWF0
VVRDTWlsbGlzZWNvbmRzLAorICAgICJtIjogZm9ybWF0VVRDTW9udGhOdW1iZXIsCisgICAgIk0i
OiBmb3JtYXRVVENNaW51dGVzLAorICAgICJwIjogZm9ybWF0VVRDUGVyaW9kLAorICAgICJxIjog
Zm9ybWF0VVRDUXVhcnRlciwKKyAgICAiUSI6IGZvcm1hdFVuaXhUaW1lc3RhbXAsCisgICAgInMi
OiBmb3JtYXRVbml4VGltZXN0YW1wU2Vjb25kcywKKyAgICAiUyI6IGZvcm1hdFVUQ1NlY29uZHMs
CisgICAgInUiOiBmb3JtYXRVVENXZWVrZGF5TnVtYmVyTW9uZGF5LAorICAgICJVIjogZm9ybWF0
VVRDV2Vla051bWJlclN1bmRheSwKKyAgICAiViI6IGZvcm1hdFVUQ1dlZWtOdW1iZXJJU08sCisg
ICAgInciOiBmb3JtYXRVVENXZWVrZGF5TnVtYmVyU3VuZGF5LAorICAgICJXIjogZm9ybWF0VVRD
V2Vla051bWJlck1vbmRheSwKKyAgICAieCI6IG51bGwsCisgICAgIlgiOiBudWxsLAorICAgICJ5
IjogZm9ybWF0VVRDWWVhciwKKyAgICAiWSI6IGZvcm1hdFVUQ0Z1bGxZZWFyLAorICAgICJaIjog
Zm9ybWF0VVRDWm9uZSwKKyAgICAiJSI6IGZvcm1hdExpdGVyYWxQZXJjZW50CisgIH07CisKKyAg
dmFyIHBhcnNlcyA9IHsKKyAgICAiYSI6IHBhcnNlU2hvcnRXZWVrZGF5LAorICAgICJBIjogcGFy
c2VXZWVrZGF5LAorICAgICJiIjogcGFyc2VTaG9ydE1vbnRoLAorICAgICJCIjogcGFyc2VNb250
aCwKKyAgICAiYyI6IHBhcnNlTG9jYWxlRGF0ZVRpbWUsCisgICAgImQiOiBwYXJzZURheU9mTW9u
dGgsCisgICAgImUiOiBwYXJzZURheU9mTW9udGgsCisgICAgImYiOiBwYXJzZU1pY3Jvc2Vjb25k
cywKKyAgICAiSCI6IHBhcnNlSG91cjI0LAorICAgICJJIjogcGFyc2VIb3VyMjQsCisgICAgImoi
OiBwYXJzZURheU9mWWVhciwKKyAgICAiTCI6IHBhcnNlTWlsbGlzZWNvbmRzLAorICAgICJtIjog
cGFyc2VNb250aE51bWJlciwKKyAgICAiTSI6IHBhcnNlTWludXRlcywKKyAgICAicCI6IHBhcnNl
UGVyaW9kLAorICAgICJxIjogcGFyc2VRdWFydGVyLAorICAgICJRIjogcGFyc2VVbml4VGltZXN0
YW1wLAorICAgICJzIjogcGFyc2VVbml4VGltZXN0YW1wU2Vjb25kcywKKyAgICAiUyI6IHBhcnNl
U2Vjb25kcywKKyAgICAidSI6IHBhcnNlV2Vla2RheU51bWJlck1vbmRheSwKKyAgICAiVSI6IHBh
cnNlV2Vla051bWJlclN1bmRheSwKKyAgICAiViI6IHBhcnNlV2Vla051bWJlcklTTywKKyAgICAi
dyI6IHBhcnNlV2Vla2RheU51bWJlclN1bmRheSwKKyAgICAiVyI6IHBhcnNlV2Vla051bWJlck1v
bmRheSwKKyAgICAieCI6IHBhcnNlTG9jYWxlRGF0ZSwKKyAgICAiWCI6IHBhcnNlTG9jYWxlVGlt
ZSwKKyAgICAieSI6IHBhcnNlWWVhciwKKyAgICAiWSI6IHBhcnNlRnVsbFllYXIsCisgICAgIloi
OiBwYXJzZVpvbmUsCisgICAgIiUiOiBwYXJzZUxpdGVyYWxQZXJjZW50CisgIH07CisKKyAgLy8g
VGhlc2UgcmVjdXJzaXZlIGRpcmVjdGl2ZSBkZWZpbml0aW9ucyBtdXN0IGJlIGRlZmVycmVkLgor
ICBmb3JtYXRzLnggPSBuZXdGb3JtYXQobG9jYWxlX2RhdGUsIGZvcm1hdHMpOworICBmb3JtYXRz
LlggPSBuZXdGb3JtYXQobG9jYWxlX3RpbWUsIGZvcm1hdHMpOworICBmb3JtYXRzLmMgPSBuZXdG
b3JtYXQobG9jYWxlX2RhdGVUaW1lLCBmb3JtYXRzKTsKKyAgdXRjRm9ybWF0cy54ID0gbmV3Rm9y
bWF0KGxvY2FsZV9kYXRlLCB1dGNGb3JtYXRzKTsKKyAgdXRjRm9ybWF0cy5YID0gbmV3Rm9ybWF0
KGxvY2FsZV90aW1lLCB1dGNGb3JtYXRzKTsKKyAgdXRjRm9ybWF0cy5jID0gbmV3Rm9ybWF0KGxv
Y2FsZV9kYXRlVGltZSwgdXRjRm9ybWF0cyk7CisKKyAgZnVuY3Rpb24gbmV3Rm9ybWF0KHNwZWNp
ZmllciwgZm9ybWF0cykgeworICAgIHJldHVybiBmdW5jdGlvbihkYXRlKSB7CisgICAgICB2YXIg
c3RyaW5nID0gW10sCisgICAgICAgICAgaSA9IC0xLAorICAgICAgICAgIGogPSAwLAorICAgICAg
ICAgIG4gPSBzcGVjaWZpZXIubGVuZ3RoLAorICAgICAgICAgIGMsCisgICAgICAgICAgcGFkLAor
ICAgICAgICAgIGZvcm1hdDsKKworICAgICAgaWYgKCEoZGF0ZSBpbnN0YW5jZW9mIERhdGUpKSBk
YXRlID0gbmV3IERhdGUoK2RhdGUpOworCisgICAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAg
ICBpZiAoc3BlY2lmaWVyLmNoYXJDb2RlQXQoaSkgPT09IDM3KSB7CisgICAgICAgICAgc3RyaW5n
LnB1c2goc3BlY2lmaWVyLnNsaWNlKGosIGkpKTsKKyAgICAgICAgICBpZiAoKHBhZCA9IHBhZHNb
YyA9IHNwZWNpZmllci5jaGFyQXQoKytpKV0pICE9IG51bGwpIGMgPSBzcGVjaWZpZXIuY2hhckF0
KCsraSk7CisgICAgICAgICAgZWxzZSBwYWQgPSBjID09PSAiZSIgPyAiICIgOiAiMCI7CisgICAg
ICAgICAgaWYgKGZvcm1hdCA9IGZvcm1hdHNbY10pIGMgPSBmb3JtYXQoZGF0ZSwgcGFkKTsKKyAg
ICAgICAgICBzdHJpbmcucHVzaChjKTsKKyAgICAgICAgICBqID0gaSArIDE7CisgICAgICAgIH0K
KyAgICAgIH0KKworICAgICAgc3RyaW5nLnB1c2goc3BlY2lmaWVyLnNsaWNlKGosIGkpKTsKKyAg
ICAgIHJldHVybiBzdHJpbmcuam9pbigiIik7CisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIG5l
d1BhcnNlKHNwZWNpZmllciwgWikgeworICAgIHJldHVybiBmdW5jdGlvbihzdHJpbmcpIHsKKyAg
ICAgIHZhciBkID0gbmV3RGF0ZSgxOTAwLCB1bmRlZmluZWQsIDEpLAorICAgICAgICAgIGkgPSBw
YXJzZVNwZWNpZmllcihkLCBzcGVjaWZpZXIsIHN0cmluZyArPSAiIiwgMCksCisgICAgICAgICAg
d2VlaywgZGF5JDE7CisgICAgICBpZiAoaSAhPSBzdHJpbmcubGVuZ3RoKSByZXR1cm4gbnVsbDsK
KworICAgICAgLy8gSWYgYSBVTklYIHRpbWVzdGFtcCBpcyBzcGVjaWZpZWQsIHJldHVybiBpdC4K
KyAgICAgIGlmICgiUSIgaW4gZCkgcmV0dXJuIG5ldyBEYXRlKGQuUSk7CisgICAgICBpZiAoInMi
IGluIGQpIHJldHVybiBuZXcgRGF0ZShkLnMgKiAxMDAwICsgKCJMIiBpbiBkID8gZC5MIDogMCkp
OworCisgICAgICAvLyBJZiB0aGlzIGlzIHV0Y1BhcnNlLCBuZXZlciB1c2UgdGhlIGxvY2FsIHRp
bWV6b25lLgorICAgICAgaWYgKFogJiYgISgiWiIgaW4gZCkpIGQuWiA9IDA7CisKKyAgICAgIC8v
IFRoZSBhbS1wbSBmbGFnIGlzIDAgZm9yIEFNLCBhbmQgMSBmb3IgUE0uCisgICAgICBpZiAoInAi
IGluIGQpIGQuSCA9IGQuSCAlIDEyICsgZC5wICogMTI7CisKKyAgICAgIC8vIElmIHRoZSBtb250
aCB3YXMgbm90IHNwZWNpZmllZCwgaW5oZXJpdCBmcm9tIHRoZSBxdWFydGVyLgorICAgICAgaWYg
KGQubSA9PT0gdW5kZWZpbmVkKSBkLm0gPSAicSIgaW4gZCA/IGQucSA6IDA7CisKKyAgICAgIC8v
IENvbnZlcnQgZGF5LW9mLXdlZWsgYW5kIHdlZWstb2YteWVhciB0byBkYXktb2YteWVhci4KKyAg
ICAgIGlmICgiViIgaW4gZCkgeworICAgICAgICBpZiAoZC5WIDwgMSB8fCBkLlYgPiA1MykgcmV0
dXJuIG51bGw7CisgICAgICAgIGlmICghKCJ3IiBpbiBkKSkgZC53ID0gMTsKKyAgICAgICAgaWYg
KCJaIiBpbiBkKSB7CisgICAgICAgICAgd2VlayA9IHV0Y0RhdGUobmV3RGF0ZShkLnksIDAsIDEp
KSwgZGF5JDEgPSB3ZWVrLmdldFVUQ0RheSgpOworICAgICAgICAgIHdlZWsgPSBkYXkkMSA+IDQg
fHwgZGF5JDEgPT09IDAgPyB1dGNNb25kYXkuY2VpbCh3ZWVrKSA6IHV0Y01vbmRheSh3ZWVrKTsK
KyAgICAgICAgICB3ZWVrID0gdXRjRGF5Lm9mZnNldCh3ZWVrLCAoZC5WIC0gMSkgKiA3KTsKKyAg
ICAgICAgICBkLnkgPSB3ZWVrLmdldFVUQ0Z1bGxZZWFyKCk7CisgICAgICAgICAgZC5tID0gd2Vl
ay5nZXRVVENNb250aCgpOworICAgICAgICAgIGQuZCA9IHdlZWsuZ2V0VVRDRGF0ZSgpICsgKGQu
dyArIDYpICUgNzsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICB3ZWVrID0gbG9jYWxEYXRl
KG5ld0RhdGUoZC55LCAwLCAxKSksIGRheSQxID0gd2Vlay5nZXREYXkoKTsKKyAgICAgICAgICB3
ZWVrID0gZGF5JDEgPiA0IHx8IGRheSQxID09PSAwID8gbW9uZGF5LmNlaWwod2VlaykgOiBtb25k
YXkod2Vlayk7CisgICAgICAgICAgd2VlayA9IGRheS5vZmZzZXQod2VlaywgKGQuViAtIDEpICog
Nyk7CisgICAgICAgICAgZC55ID0gd2Vlay5nZXRGdWxsWWVhcigpOworICAgICAgICAgIGQubSA9
IHdlZWsuZ2V0TW9udGgoKTsKKyAgICAgICAgICBkLmQgPSB3ZWVrLmdldERhdGUoKSArIChkLncg
KyA2KSAlIDc7CisgICAgICAgIH0KKyAgICAgIH0gZWxzZSBpZiAoIlciIGluIGQgfHwgIlUiIGlu
IGQpIHsKKyAgICAgICAgaWYgKCEoInciIGluIGQpKSBkLncgPSAidSIgaW4gZCA/IGQudSAlIDcg
OiAiVyIgaW4gZCA/IDEgOiAwOworICAgICAgICBkYXkkMSA9ICJaIiBpbiBkID8gdXRjRGF0ZShu
ZXdEYXRlKGQueSwgMCwgMSkpLmdldFVUQ0RheSgpIDogbG9jYWxEYXRlKG5ld0RhdGUoZC55LCAw
LCAxKSkuZ2V0RGF5KCk7CisgICAgICAgIGQubSA9IDA7CisgICAgICAgIGQuZCA9ICJXIiBpbiBk
ID8gKGQudyArIDYpICUgNyArIGQuVyAqIDcgLSAoZGF5JDEgKyA1KSAlIDcgOiBkLncgKyBkLlUg
KiA3IC0gKGRheSQxICsgNikgJSA3OworICAgICAgfQorCisgICAgICAvLyBJZiBhIHRpbWUgem9u
ZSBpcyBzcGVjaWZpZWQsIGFsbCBmaWVsZHMgYXJlIGludGVycHJldGVkIGFzIFVUQyBhbmQgdGhl
bgorICAgICAgLy8gb2Zmc2V0IGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkIHRpbWUgem9uZS4K
KyAgICAgIGlmICgiWiIgaW4gZCkgeworICAgICAgICBkLkggKz0gZC5aIC8gMTAwIHwgMDsKKyAg
ICAgICAgZC5NICs9IGQuWiAlIDEwMDsKKyAgICAgICAgcmV0dXJuIHV0Y0RhdGUoZCk7CisgICAg
ICB9CisKKyAgICAgIC8vIE90aGVyd2lzZSwgYWxsIGZpZWxkcyBhcmUgaW4gbG9jYWwgdGltZS4K
KyAgICAgIHJldHVybiBsb2NhbERhdGUoZCk7CisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIHBh
cnNlU3BlY2lmaWVyKGQsIHNwZWNpZmllciwgc3RyaW5nLCBqKSB7CisgICAgdmFyIGkgPSAwLAor
ICAgICAgICBuID0gc3BlY2lmaWVyLmxlbmd0aCwKKyAgICAgICAgbSA9IHN0cmluZy5sZW5ndGgs
CisgICAgICAgIGMsCisgICAgICAgIHBhcnNlOworCisgICAgd2hpbGUgKGkgPCBuKSB7CisgICAg
ICBpZiAoaiA+PSBtKSByZXR1cm4gLTE7CisgICAgICBjID0gc3BlY2lmaWVyLmNoYXJDb2RlQXQo
aSsrKTsKKyAgICAgIGlmIChjID09PSAzNykgeworICAgICAgICBjID0gc3BlY2lmaWVyLmNoYXJB
dChpKyspOworICAgICAgICBwYXJzZSA9IHBhcnNlc1tjIGluIHBhZHMgPyBzcGVjaWZpZXIuY2hh
ckF0KGkrKykgOiBjXTsKKyAgICAgICAgaWYgKCFwYXJzZSB8fCAoKGogPSBwYXJzZShkLCBzdHJp
bmcsIGopKSA8IDApKSByZXR1cm4gLTE7CisgICAgICB9IGVsc2UgaWYgKGMgIT0gc3RyaW5nLmNo
YXJDb2RlQXQoaisrKSkgeworICAgICAgICByZXR1cm4gLTE7CisgICAgICB9CisgICAgfQorCisg
ICAgcmV0dXJuIGo7CisgIH0KKworICBmdW5jdGlvbiBwYXJzZVBlcmlvZChkLCBzdHJpbmcsIGkp
IHsKKyAgICB2YXIgbiA9IHBlcmlvZFJlLmV4ZWMoc3RyaW5nLnNsaWNlKGkpKTsKKyAgICByZXR1
cm4gbiA/IChkLnAgPSBwZXJpb2RMb29rdXBbblswXS50b0xvd2VyQ2FzZSgpXSwgaSArIG5bMF0u
bGVuZ3RoKSA6IC0xOworICB9CisKKyAgZnVuY3Rpb24gcGFyc2VTaG9ydFdlZWtkYXkoZCwgc3Ry
aW5nLCBpKSB7CisgICAgdmFyIG4gPSBzaG9ydFdlZWtkYXlSZS5leGVjKHN0cmluZy5zbGljZShp
KSk7CisgICAgcmV0dXJuIG4gPyAoZC53ID0gc2hvcnRXZWVrZGF5TG9va3VwW25bMF0udG9Mb3dl
ckNhc2UoKV0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKKyAgfQorCisgIGZ1bmN0aW9uIHBhcnNl
V2Vla2RheShkLCBzdHJpbmcsIGkpIHsKKyAgICB2YXIgbiA9IHdlZWtkYXlSZS5leGVjKHN0cmlu
Zy5zbGljZShpKSk7CisgICAgcmV0dXJuIG4gPyAoZC53ID0gd2Vla2RheUxvb2t1cFtuWzBdLnRv
TG93ZXJDYXNlKCldLCBpICsgblswXS5sZW5ndGgpIDogLTE7CisgIH0KKworICBmdW5jdGlvbiBw
YXJzZVNob3J0TW9udGgoZCwgc3RyaW5nLCBpKSB7CisgICAgdmFyIG4gPSBzaG9ydE1vbnRoUmUu
ZXhlYyhzdHJpbmcuc2xpY2UoaSkpOworICAgIHJldHVybiBuID8gKGQubSA9IHNob3J0TW9udGhM
b29rdXBbblswXS50b0xvd2VyQ2FzZSgpXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworICB9CisK
KyAgZnVuY3Rpb24gcGFyc2VNb250aChkLCBzdHJpbmcsIGkpIHsKKyAgICB2YXIgbiA9IG1vbnRo
UmUuZXhlYyhzdHJpbmcuc2xpY2UoaSkpOworICAgIHJldHVybiBuID8gKGQubSA9IG1vbnRoTG9v
a3VwW25bMF0udG9Mb3dlckNhc2UoKV0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKKyAgfQorCisg
IGZ1bmN0aW9uIHBhcnNlTG9jYWxlRGF0ZVRpbWUoZCwgc3RyaW5nLCBpKSB7CisgICAgcmV0dXJu
IHBhcnNlU3BlY2lmaWVyKGQsIGxvY2FsZV9kYXRlVGltZSwgc3RyaW5nLCBpKTsKKyAgfQorCisg
IGZ1bmN0aW9uIHBhcnNlTG9jYWxlRGF0ZShkLCBzdHJpbmcsIGkpIHsKKyAgICByZXR1cm4gcGFy
c2VTcGVjaWZpZXIoZCwgbG9jYWxlX2RhdGUsIHN0cmluZywgaSk7CisgIH0KKworICBmdW5jdGlv
biBwYXJzZUxvY2FsZVRpbWUoZCwgc3RyaW5nLCBpKSB7CisgICAgcmV0dXJuIHBhcnNlU3BlY2lm
aWVyKGQsIGxvY2FsZV90aW1lLCBzdHJpbmcsIGkpOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0
U2hvcnRXZWVrZGF5KGQpIHsKKyAgICByZXR1cm4gbG9jYWxlX3Nob3J0V2Vla2RheXNbZC5nZXRE
YXkoKV07CisgIH0KKworICBmdW5jdGlvbiBmb3JtYXRXZWVrZGF5KGQpIHsKKyAgICByZXR1cm4g
bG9jYWxlX3dlZWtkYXlzW2QuZ2V0RGF5KCldOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0U2hv
cnRNb250aChkKSB7CisgICAgcmV0dXJuIGxvY2FsZV9zaG9ydE1vbnRoc1tkLmdldE1vbnRoKCld
OworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0TW9udGgoZCkgeworICAgIHJldHVybiBsb2NhbGVf
bW9udGhzW2QuZ2V0TW9udGgoKV07CisgIH0KKworICBmdW5jdGlvbiBmb3JtYXRQZXJpb2QoZCkg
eworICAgIHJldHVybiBsb2NhbGVfcGVyaW9kc1srKGQuZ2V0SG91cnMoKSA+PSAxMildOworICB9
CisKKyAgZnVuY3Rpb24gZm9ybWF0UXVhcnRlcihkKSB7CisgICAgcmV0dXJuIDEgKyB+fihkLmdl
dE1vbnRoKCkgLyAzKTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFVUQ1Nob3J0V2Vla2RheShk
KSB7CisgICAgcmV0dXJuIGxvY2FsZV9zaG9ydFdlZWtkYXlzW2QuZ2V0VVRDRGF5KCldOworICB9
CisKKyAgZnVuY3Rpb24gZm9ybWF0VVRDV2Vla2RheShkKSB7CisgICAgcmV0dXJuIGxvY2FsZV93
ZWVrZGF5c1tkLmdldFVUQ0RheSgpXTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFVUQ1Nob3J0
TW9udGgoZCkgeworICAgIHJldHVybiBsb2NhbGVfc2hvcnRNb250aHNbZC5nZXRVVENNb250aCgp
XTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFVUQ01vbnRoKGQpIHsKKyAgICByZXR1cm4gbG9j
YWxlX21vbnRoc1tkLmdldFVUQ01vbnRoKCldOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0VVRD
UGVyaW9kKGQpIHsKKyAgICByZXR1cm4gbG9jYWxlX3BlcmlvZHNbKyhkLmdldFVUQ0hvdXJzKCkg
Pj0gMTIpXTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFVUQ1F1YXJ0ZXIoZCkgeworICAgIHJl
dHVybiAxICsgfn4oZC5nZXRVVENNb250aCgpIC8gMyk7CisgIH0KKworICByZXR1cm4geworICAg
IGZvcm1hdDogZnVuY3Rpb24oc3BlY2lmaWVyKSB7CisgICAgICB2YXIgZiA9IG5ld0Zvcm1hdChz
cGVjaWZpZXIgKz0gIiIsIGZvcm1hdHMpOworICAgICAgZi50b1N0cmluZyA9IGZ1bmN0aW9uKCkg
eyByZXR1cm4gc3BlY2lmaWVyOyB9OworICAgICAgcmV0dXJuIGY7CisgICAgfSwKKyAgICBwYXJz
ZTogZnVuY3Rpb24oc3BlY2lmaWVyKSB7CisgICAgICB2YXIgcCA9IG5ld1BhcnNlKHNwZWNpZmll
ciArPSAiIiwgZmFsc2UpOworICAgICAgcC50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4g
c3BlY2lmaWVyOyB9OworICAgICAgcmV0dXJuIHA7CisgICAgfSwKKyAgICB1dGNGb3JtYXQ6IGZ1
bmN0aW9uKHNwZWNpZmllcikgeworICAgICAgdmFyIGYgPSBuZXdGb3JtYXQoc3BlY2lmaWVyICs9
ICIiLCB1dGNGb3JtYXRzKTsKKyAgICAgIGYudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJu
IHNwZWNpZmllcjsgfTsKKyAgICAgIHJldHVybiBmOworICAgIH0sCisgICAgdXRjUGFyc2U6IGZ1
bmN0aW9uKHNwZWNpZmllcikgeworICAgICAgdmFyIHAgPSBuZXdQYXJzZShzcGVjaWZpZXIgKz0g
IiIsIHRydWUpOworICAgICAgcC50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gc3BlY2lm
aWVyOyB9OworICAgICAgcmV0dXJuIHA7CisgICAgfQorICB9OworfQorCit2YXIgcGFkcyA9IHsi
LSI6ICIiLCAiXyI6ICIgIiwgIjAiOiAiMCJ9LAorICAgIG51bWJlclJlID0gL15ccypcZCsvLCAv
LyBub3RlOiBpZ25vcmVzIG5leHQgZGlyZWN0aXZlCisgICAgcGVyY2VudFJlID0gL14lLywKKyAg
ICByZXF1b3RlUmUgPSAvW1xcXiQqKz98W1xdKCkue31dL2c7CisKK2Z1bmN0aW9uIHBhZCQxKHZh
bHVlLCBmaWxsLCB3aWR0aCkgeworICB2YXIgc2lnbiA9IHZhbHVlIDwgMCA/ICItIiA6ICIiLAor
ICAgICAgc3RyaW5nID0gKHNpZ24gPyAtdmFsdWUgOiB2YWx1ZSkgKyAiIiwKKyAgICAgIGxlbmd0
aCA9IHN0cmluZy5sZW5ndGg7CisgIHJldHVybiBzaWduICsgKGxlbmd0aCA8IHdpZHRoID8gbmV3
IEFycmF5KHdpZHRoIC0gbGVuZ3RoICsgMSkuam9pbihmaWxsKSArIHN0cmluZyA6IHN0cmluZyk7
Cit9CisKK2Z1bmN0aW9uIHJlcXVvdGUocykgeworICByZXR1cm4gcy5yZXBsYWNlKHJlcXVvdGVS
ZSwgIlxcJCYiKTsKK30KKworZnVuY3Rpb24gZm9ybWF0UmUobmFtZXMpIHsKKyAgcmV0dXJuIG5l
dyBSZWdFeHAoIl4oPzoiICsgbmFtZXMubWFwKHJlcXVvdGUpLmpvaW4oInwiKSArICIpIiwgImki
KTsKK30KKworZnVuY3Rpb24gZm9ybWF0TG9va3VwKG5hbWVzKSB7CisgIHZhciBtYXAgPSB7fSwg
aSA9IC0xLCBuID0gbmFtZXMubGVuZ3RoOworICB3aGlsZSAoKytpIDwgbikgbWFwW25hbWVzW2ld
LnRvTG93ZXJDYXNlKCldID0gaTsKKyAgcmV0dXJuIG1hcDsKK30KKworZnVuY3Rpb24gcGFyc2VX
ZWVrZGF5TnVtYmVyU3VuZGF5KGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJlLmV4
ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAxKSk7CisgIHJldHVybiBuID8gKGQudyA9ICtuWzBdLCBp
ICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlV2Vla2RheU51bWJlck1v
bmRheShkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGlj
ZShpLCBpICsgMSkpOworICByZXR1cm4gbiA/IChkLnUgPSArblswXSwgaSArIG5bMF0ubGVuZ3Ro
KSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZVdlZWtOdW1iZXJTdW5kYXkoZCwgc3RyaW5nLCBp
KSB7CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDIpKTsKKyAg
cmV0dXJuIG4gPyAoZC5VID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVu
Y3Rpb24gcGFyc2VXZWVrTnVtYmVySVNPKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJl
clJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQuViA9ICtu
WzBdLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlV2Vla051bWJl
ck1vbmRheShkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5z
bGljZShpLCBpICsgMikpOworICByZXR1cm4gbiA/IChkLlcgPSArblswXSwgaSArIG5bMF0ubGVu
Z3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZUZ1bGxZZWFyKGQsIHN0cmluZywgaSkgewor
ICB2YXIgbiA9IG51bWJlclJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyA0KSk7CisgIHJldHVy
biBuID8gKGQueSA9ICtuWzBdLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9u
IHBhcnNlWWVhcihkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmlu
Zy5zbGljZShpLCBpICsgMikpOworICByZXR1cm4gbiA/IChkLnkgPSArblswXSArICgrblswXSA+
IDY4ID8gMTkwMCA6IDIwMDApLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9u
IHBhcnNlWm9uZShkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSAvXihaKXwoWystXVxkXGQpKD86
Oj8oXGRcZCkpPy8uZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDYpKTsKKyAgcmV0dXJuIG4gPyAo
ZC5aID0gblsxXSA/IDAgOiAtKG5bMl0gKyAoblszXSB8fCAiMDAiKSksIGkgKyBuWzBdLmxlbmd0
aCkgOiAtMTsKK30KKworZnVuY3Rpb24gcGFyc2VRdWFydGVyKGQsIHN0cmluZywgaSkgeworICB2
YXIgbiA9IG51bWJlclJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAxKSk7CisgIHJldHVybiBu
ID8gKGQucSA9IG5bMF0gKiAzIC0gMywgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5j
dGlvbiBwYXJzZU1vbnRoTnVtYmVyKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJl
LmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQubSA9IG5bMF0g
LSAxLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlRGF5T2ZNb250
aChkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShp
LCBpICsgMikpOworICByZXR1cm4gbiA/IChkLmQgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6
IC0xOworfQorCitmdW5jdGlvbiBwYXJzZURheU9mWWVhcihkLCBzdHJpbmcsIGkpIHsKKyAgdmFy
IG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShpLCBpICsgMykpOworICByZXR1cm4gbiA/
IChkLm0gPSAwLCBkLmQgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5j
dGlvbiBwYXJzZUhvdXIyNChkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVj
KHN0cmluZy5zbGljZShpLCBpICsgMikpOworICByZXR1cm4gbiA/IChkLkggPSArblswXSwgaSAr
IG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZU1pbnV0ZXMoZCwgc3RyaW5n
LCBpKSB7CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDIpKTsK
KyAgcmV0dXJuIG4gPyAoZC5NID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKwor
ZnVuY3Rpb24gcGFyc2VTZWNvbmRzKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJl
LmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQuUyA9ICtuWzBd
LCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlTWlsbGlzZWNvbmRz
KGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJlLmV4ZWMoc3RyaW5nLnNsaWNlKGks
IGkgKyAzKSk7CisgIHJldHVybiBuID8gKGQuTCA9ICtuWzBdLCBpICsgblswXS5sZW5ndGgpIDog
LTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlTWljcm9zZWNvbmRzKGQsIHN0cmluZywgaSkgeworICB2
YXIgbiA9IG51bWJlclJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyA2KSk7CisgIHJldHVybiBu
ID8gKGQuTCA9IE1hdGguZmxvb3IoblswXSAvIDEwMDApLCBpICsgblswXS5sZW5ndGgpIDogLTE7
Cit9CisKK2Z1bmN0aW9uIHBhcnNlTGl0ZXJhbFBlcmNlbnQoZCwgc3RyaW5nLCBpKSB7CisgIHZh
ciBuID0gcGVyY2VudFJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAxKSk7CisgIHJldHVybiBu
ID8gaSArIG5bMF0ubGVuZ3RoIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlVW5peFRpbWVzdGFt
cChkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShp
KSk7CisgIHJldHVybiBuID8gKGQuUSA9ICtuWzBdLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9
CisKK2Z1bmN0aW9uIHBhcnNlVW5peFRpbWVzdGFtcFNlY29uZHMoZCwgc3RyaW5nLCBpKSB7Cisg
IHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSkpOworICByZXR1cm4gbiA/IChk
LnMgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBmb3JtYXRE
YXlPZk1vbnRoKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0RGF0ZSgpLCBwLCAyKTsKK30K
KworZnVuY3Rpb24gZm9ybWF0SG91cjI0KGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0SG91
cnMoKSwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdEhvdXIxMihkLCBwKSB7CisgIHJldHVy
biBwYWQkMShkLmdldEhvdXJzKCkgJSAxMiB8fCAxMiwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZv
cm1hdERheU9mWWVhcihkLCBwKSB7CisgIHJldHVybiBwYWQkMSgxICsgZGF5LmNvdW50KHllYXIo
ZCksIGQpLCBwLCAzKTsKK30KKworZnVuY3Rpb24gZm9ybWF0TWlsbGlzZWNvbmRzKGQsIHApIHsK
KyAgcmV0dXJuIHBhZCQxKGQuZ2V0TWlsbGlzZWNvbmRzKCksIHAsIDMpOworfQorCitmdW5jdGlv
biBmb3JtYXRNaWNyb3NlY29uZHMoZCwgcCkgeworICByZXR1cm4gZm9ybWF0TWlsbGlzZWNvbmRz
KGQsIHApICsgIjAwMCI7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdE1vbnRoTnVtYmVyKGQsIHApIHsK
KyAgcmV0dXJuIHBhZCQxKGQuZ2V0TW9udGgoKSArIDEsIHAsIDIpOworfQorCitmdW5jdGlvbiBm
b3JtYXRNaW51dGVzKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0TWludXRlcygpLCBwLCAy
KTsKK30KKworZnVuY3Rpb24gZm9ybWF0U2Vjb25kcyhkLCBwKSB7CisgIHJldHVybiBwYWQkMShk
LmdldFNlY29uZHMoKSwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFdlZWtkYXlOdW1iZXJN
b25kYXkoZCkgeworICB2YXIgZGF5ID0gZC5nZXREYXkoKTsKKyAgcmV0dXJuIGRheSA9PT0gMCA/
IDcgOiBkYXk7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFdlZWtOdW1iZXJTdW5kYXkoZCwgcCkgewor
ICByZXR1cm4gcGFkJDEoc3VuZGF5LmNvdW50KHllYXIoZCkgLSAxLCBkKSwgcCwgMik7Cit9CisK
K2Z1bmN0aW9uIGZvcm1hdFdlZWtOdW1iZXJJU08oZCwgcCkgeworICB2YXIgZGF5ID0gZC5nZXRE
YXkoKTsKKyAgZCA9IChkYXkgPj0gNCB8fCBkYXkgPT09IDApID8gdGh1cnNkYXkoZCkgOiB0aHVy
c2RheS5jZWlsKGQpOworICByZXR1cm4gcGFkJDEodGh1cnNkYXkuY291bnQoeWVhcihkKSwgZCkg
KyAoeWVhcihkKS5nZXREYXkoKSA9PT0gNCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRX
ZWVrZGF5TnVtYmVyU3VuZGF5KGQpIHsKKyAgcmV0dXJuIGQuZ2V0RGF5KCk7Cit9CisKK2Z1bmN0
aW9uIGZvcm1hdFdlZWtOdW1iZXJNb25kYXkoZCwgcCkgeworICByZXR1cm4gcGFkJDEobW9uZGF5
LmNvdW50KHllYXIoZCkgLSAxLCBkKSwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFllYXIk
MShkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldEZ1bGxZZWFyKCkgJSAxMDAsIHAsIDIpOwor
fQorCitmdW5jdGlvbiBmb3JtYXRGdWxsWWVhcihkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdl
dEZ1bGxZZWFyKCkgJSAxMDAwMCwgcCwgNCk7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFpvbmUoZCkg
eworICB2YXIgeiA9IGQuZ2V0VGltZXpvbmVPZmZzZXQoKTsKKyAgcmV0dXJuICh6ID4gMCA/ICIt
IiA6ICh6ICo9IC0xLCAiKyIpKQorICAgICAgKyBwYWQkMSh6IC8gNjAgfCAwLCAiMCIsIDIpCisg
ICAgICArIHBhZCQxKHogJSA2MCwgIjAiLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDRGF5
T2ZNb250aChkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldFVUQ0RhdGUoKSwgcCwgMik7Cit9
CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ0hvdXIyNChkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdl
dFVUQ0hvdXJzKCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENIb3VyMTIoZCwgcCkg
eworICByZXR1cm4gcGFkJDEoZC5nZXRVVENIb3VycygpICUgMTIgfHwgMTIsIHAsIDIpOworfQor
CitmdW5jdGlvbiBmb3JtYXRVVENEYXlPZlllYXIoZCwgcCkgeworICByZXR1cm4gcGFkJDEoMSAr
IHV0Y0RheS5jb3VudCh1dGNZZWFyKGQpLCBkKSwgcCwgMyk7Cit9CisKK2Z1bmN0aW9uIGZvcm1h
dFVUQ01pbGxpc2Vjb25kcyhkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldFVUQ01pbGxpc2Vj
b25kcygpLCBwLCAzKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDTWljcm9zZWNvbmRzKGQsIHAp
IHsKKyAgcmV0dXJuIGZvcm1hdFVUQ01pbGxpc2Vjb25kcyhkLCBwKSArICIwMDAiOworfQorCitm
dW5jdGlvbiBmb3JtYXRVVENNb250aE51bWJlcihkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdl
dFVUQ01vbnRoKCkgKyAxLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDTWludXRlcyhk
LCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldFVUQ01pbnV0ZXMoKSwgcCwgMik7Cit9CisKK2Z1
bmN0aW9uIGZvcm1hdFVUQ1NlY29uZHMoZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRVVENT
ZWNvbmRzKCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENXZWVrZGF5TnVtYmVyTW9u
ZGF5KGQpIHsKKyAgdmFyIGRvdyA9IGQuZ2V0VVRDRGF5KCk7CisgIHJldHVybiBkb3cgPT09IDAg
PyA3IDogZG93OworfQorCitmdW5jdGlvbiBmb3JtYXRVVENXZWVrTnVtYmVyU3VuZGF5KGQsIHAp
IHsKKyAgcmV0dXJuIHBhZCQxKHV0Y1N1bmRheS5jb3VudCh1dGNZZWFyKGQpIC0gMSwgZCksIHAs
IDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENXZWVrTnVtYmVySVNPKGQsIHApIHsKKyAgdmFy
IGRheSA9IGQuZ2V0VVRDRGF5KCk7CisgIGQgPSAoZGF5ID49IDQgfHwgZGF5ID09PSAwKSA/IHV0
Y1RodXJzZGF5KGQpIDogdXRjVGh1cnNkYXkuY2VpbChkKTsKKyAgcmV0dXJuIHBhZCQxKHV0Y1Ro
dXJzZGF5LmNvdW50KHV0Y1llYXIoZCksIGQpICsgKHV0Y1llYXIoZCkuZ2V0VVRDRGF5KCkgPT09
IDQpLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDV2Vla2RheU51bWJlclN1bmRheShk
KSB7CisgIHJldHVybiBkLmdldFVUQ0RheSgpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENXZWVr
TnVtYmVyTW9uZGF5KGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKHV0Y01vbmRheS5jb3VudCh1dGNZ
ZWFyKGQpIC0gMSwgZCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENZZWFyKGQsIHAp
IHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0VVRDRnVsbFllYXIoKSAlIDEwMCwgcCwgMik7Cit9CisK
K2Z1bmN0aW9uIGZvcm1hdFVUQ0Z1bGxZZWFyKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0
VVRDRnVsbFllYXIoKSAlIDEwMDAwLCBwLCA0KTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDWm9u
ZSgpIHsKKyAgcmV0dXJuICIrMDAwMCI7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdExpdGVyYWxQZXJj
ZW50KCkgeworICByZXR1cm4gIiUiOworfQorCitmdW5jdGlvbiBmb3JtYXRVbml4VGltZXN0YW1w
KGQpIHsKKyAgcmV0dXJuICtkOworfQorCitmdW5jdGlvbiBmb3JtYXRVbml4VGltZXN0YW1wU2Vj
b25kcyhkKSB7CisgIHJldHVybiBNYXRoLmZsb29yKCtkIC8gMTAwMCk7Cit9CisKK3ZhciBsb2Nh
bGUkMTsKKworZGVmYXVsdExvY2FsZSQxKHsKKyAgZGF0ZVRpbWU6ICIleCwgJVgiLAorICBkYXRl
OiAiJS1tLyUtZC8lWSIsCisgIHRpbWU6ICIlLUk6JU06JVMgJXAiLAorICBwZXJpb2RzOiBbIkFN
IiwgIlBNIl0sCisgIGRheXM6IFsiU3VuZGF5IiwgIk1vbmRheSIsICJUdWVzZGF5IiwgIldlZG5l
c2RheSIsICJUaHVyc2RheSIsICJGcmlkYXkiLCAiU2F0dXJkYXkiXSwKKyAgc2hvcnREYXlzOiBb
IlN1biIsICJNb24iLCAiVHVlIiwgIldlZCIsICJUaHUiLCAiRnJpIiwgIlNhdCJdLAorICBtb250
aHM6IFsiSmFudWFyeSIsICJGZWJydWFyeSIsICJNYXJjaCIsICJBcHJpbCIsICJNYXkiLCAiSnVu
ZSIsICJKdWx5IiwgIkF1Z3VzdCIsICJTZXB0ZW1iZXIiLCAiT2N0b2JlciIsICJOb3ZlbWJlciIs
ICJEZWNlbWJlciJdLAorICBzaG9ydE1vbnRoczogWyJKYW4iLCAiRmViIiwgIk1hciIsICJBcHIi
LCAiTWF5IiwgIkp1biIsICJKdWwiLCAiQXVnIiwgIlNlcCIsICJPY3QiLCAiTm92IiwgIkRlYyJd
Cit9KTsKKworZnVuY3Rpb24gZGVmYXVsdExvY2FsZSQxKGRlZmluaXRpb24pIHsKKyAgbG9jYWxl
JDEgPSBmb3JtYXRMb2NhbGUkMShkZWZpbml0aW9uKTsKKyAgZXhwb3J0cy50aW1lRm9ybWF0ID0g
bG9jYWxlJDEuZm9ybWF0OworICBleHBvcnRzLnRpbWVQYXJzZSA9IGxvY2FsZSQxLnBhcnNlOwor
ICBleHBvcnRzLnV0Y0Zvcm1hdCA9IGxvY2FsZSQxLnV0Y0Zvcm1hdDsKKyAgZXhwb3J0cy51dGNQ
YXJzZSA9IGxvY2FsZSQxLnV0Y1BhcnNlOworICByZXR1cm4gbG9jYWxlJDE7Cit9CisKK3ZhciBp
c29TcGVjaWZpZXIgPSAiJVktJW0tJWRUJUg6JU06JVMuJUxaIjsKKworZnVuY3Rpb24gZm9ybWF0
SXNvTmF0aXZlKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKTsKK30KKwordmFy
IGZvcm1hdElzbyA9IERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nCisgICAgPyBmb3JtYXRJc29O
YXRpdmUKKyAgICA6IGV4cG9ydHMudXRjRm9ybWF0KGlzb1NwZWNpZmllcik7CisKK2Z1bmN0aW9u
IHBhcnNlSXNvTmF0aXZlKHN0cmluZykgeworICB2YXIgZGF0ZSA9IG5ldyBEYXRlKHN0cmluZyk7
CisgIHJldHVybiBpc05hTihkYXRlKSA/IG51bGwgOiBkYXRlOworfQorCit2YXIgcGFyc2VJc28g
PSArbmV3IERhdGUoIjIwMDAtMDEtMDFUMDA6MDA6MDAuMDAwWiIpCisgICAgPyBwYXJzZUlzb05h
dGl2ZQorICAgIDogZXhwb3J0cy51dGNQYXJzZShpc29TcGVjaWZpZXIpOworCit2YXIgZHVyYXRp
b25TZWNvbmQkMSA9IDEwMDAsCisgICAgZHVyYXRpb25NaW51dGUkMSA9IGR1cmF0aW9uU2Vjb25k
JDEgKiA2MCwKKyAgICBkdXJhdGlvbkhvdXIkMSA9IGR1cmF0aW9uTWludXRlJDEgKiA2MCwKKyAg
ICBkdXJhdGlvbkRheSQxID0gZHVyYXRpb25Ib3VyJDEgKiAyNCwKKyAgICBkdXJhdGlvbldlZWsk
MSA9IGR1cmF0aW9uRGF5JDEgKiA3LAorICAgIGR1cmF0aW9uTW9udGggPSBkdXJhdGlvbkRheSQx
ICogMzAsCisgICAgZHVyYXRpb25ZZWFyID0gZHVyYXRpb25EYXkkMSAqIDM2NTsKKworZnVuY3Rp
b24gZGF0ZSQxKHQpIHsKKyAgcmV0dXJuIG5ldyBEYXRlKHQpOworfQorCitmdW5jdGlvbiBudW1i
ZXIkMyh0KSB7CisgIHJldHVybiB0IGluc3RhbmNlb2YgRGF0ZSA/ICt0IDogK25ldyBEYXRlKCt0
KTsKK30KKworZnVuY3Rpb24gY2FsZW5kYXIoeWVhciwgbW9udGgsIHdlZWssIGRheSwgaG91ciwg
bWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kLCBmb3JtYXQpIHsKKyAgdmFyIHNjYWxlID0gY29u
dGludW91cyhpZGVudGl0eSQ2LCBpZGVudGl0eSQ2KSwKKyAgICAgIGludmVydCA9IHNjYWxlLmlu
dmVydCwKKyAgICAgIGRvbWFpbiA9IHNjYWxlLmRvbWFpbjsKKworICB2YXIgZm9ybWF0TWlsbGlz
ZWNvbmQgPSBmb3JtYXQoIi4lTCIpLAorICAgICAgZm9ybWF0U2Vjb25kID0gZm9ybWF0KCI6JVMi
KSwKKyAgICAgIGZvcm1hdE1pbnV0ZSA9IGZvcm1hdCgiJUk6JU0iKSwKKyAgICAgIGZvcm1hdEhv
dXIgPSBmb3JtYXQoIiVJICVwIiksCisgICAgICBmb3JtYXREYXkgPSBmb3JtYXQoIiVhICVkIiks
CisgICAgICBmb3JtYXRXZWVrID0gZm9ybWF0KCIlYiAlZCIpLAorICAgICAgZm9ybWF0TW9udGgg
PSBmb3JtYXQoIiVCIiksCisgICAgICBmb3JtYXRZZWFyID0gZm9ybWF0KCIlWSIpOworCisgIHZh
ciB0aWNrSW50ZXJ2YWxzID0gWworICAgIFtzZWNvbmQsICAxLCAgICAgIGR1cmF0aW9uU2Vjb25k
JDFdLAorICAgIFtzZWNvbmQsICA1LCAgNSAqIGR1cmF0aW9uU2Vjb25kJDFdLAorICAgIFtzZWNv
bmQsIDE1LCAxNSAqIGR1cmF0aW9uU2Vjb25kJDFdLAorICAgIFtzZWNvbmQsIDMwLCAzMCAqIGR1
cmF0aW9uU2Vjb25kJDFdLAorICAgIFttaW51dGUsICAxLCAgICAgIGR1cmF0aW9uTWludXRlJDFd
LAorICAgIFttaW51dGUsICA1LCAgNSAqIGR1cmF0aW9uTWludXRlJDFdLAorICAgIFttaW51dGUs
IDE1LCAxNSAqIGR1cmF0aW9uTWludXRlJDFdLAorICAgIFttaW51dGUsIDMwLCAzMCAqIGR1cmF0
aW9uTWludXRlJDFdLAorICAgIFsgIGhvdXIsICAxLCAgICAgIGR1cmF0aW9uSG91ciQxICBdLAor
ICAgIFsgIGhvdXIsICAzLCAgMyAqIGR1cmF0aW9uSG91ciQxICBdLAorICAgIFsgIGhvdXIsICA2
LCAgNiAqIGR1cmF0aW9uSG91ciQxICBdLAorICAgIFsgIGhvdXIsIDEyLCAxMiAqIGR1cmF0aW9u
SG91ciQxICBdLAorICAgIFsgICBkYXksICAxLCAgICAgIGR1cmF0aW9uRGF5JDEgICBdLAorICAg
IFsgICBkYXksICAyLCAgMiAqIGR1cmF0aW9uRGF5JDEgICBdLAorICAgIFsgIHdlZWssICAxLCAg
ICAgIGR1cmF0aW9uV2VlayQxICBdLAorICAgIFsgbW9udGgsICAxLCAgICAgIGR1cmF0aW9uTW9u
dGggXSwKKyAgICBbIG1vbnRoLCAgMywgIDMgKiBkdXJhdGlvbk1vbnRoIF0sCisgICAgWyAgeWVh
ciwgIDEsICAgICAgZHVyYXRpb25ZZWFyICBdCisgIF07CisKKyAgZnVuY3Rpb24gdGlja0Zvcm1h
dChkYXRlKSB7CisgICAgcmV0dXJuIChzZWNvbmQoZGF0ZSkgPCBkYXRlID8gZm9ybWF0TWlsbGlz
ZWNvbmQKKyAgICAgICAgOiBtaW51dGUoZGF0ZSkgPCBkYXRlID8gZm9ybWF0U2Vjb25kCisgICAg
ICAgIDogaG91cihkYXRlKSA8IGRhdGUgPyBmb3JtYXRNaW51dGUKKyAgICAgICAgOiBkYXkoZGF0
ZSkgPCBkYXRlID8gZm9ybWF0SG91cgorICAgICAgICA6IG1vbnRoKGRhdGUpIDwgZGF0ZSA/ICh3
ZWVrKGRhdGUpIDwgZGF0ZSA/IGZvcm1hdERheSA6IGZvcm1hdFdlZWspCisgICAgICAgIDogeWVh
cihkYXRlKSA8IGRhdGUgPyBmb3JtYXRNb250aAorICAgICAgICA6IGZvcm1hdFllYXIpKGRhdGUp
OworICB9CisKKyAgZnVuY3Rpb24gdGlja0ludGVydmFsKGludGVydmFsLCBzdGFydCwgc3RvcCwg
c3RlcCkgeworICAgIGlmIChpbnRlcnZhbCA9PSBudWxsKSBpbnRlcnZhbCA9IDEwOworCisgICAg
Ly8gSWYgYSBkZXNpcmVkIHRpY2sgY291bnQgaXMgc3BlY2lmaWVkLCBwaWNrIGEgcmVhc29uYWJs
ZSB0aWNrIGludGVydmFsCisgICAgLy8gYmFzZWQgb24gdGhlIGV4dGVudCBvZiB0aGUgZG9tYWlu
IGFuZCBhIHJvdWdoIGVzdGltYXRlIG9mIHRpY2sgc2l6ZS4KKyAgICAvLyBPdGhlcndpc2UsIGFz
c3VtZSBpbnRlcnZhbCBpcyBhbHJlYWR5IGEgdGltZSBpbnRlcnZhbCBhbmQgdXNlIGl0LgorICAg
IGlmICh0eXBlb2YgaW50ZXJ2YWwgPT09ICJudW1iZXIiKSB7CisgICAgICB2YXIgdGFyZ2V0ID0g
TWF0aC5hYnMoc3RvcCAtIHN0YXJ0KSAvIGludGVydmFsLAorICAgICAgICAgIGkgPSBiaXNlY3Rv
cihmdW5jdGlvbihpKSB7IHJldHVybiBpWzJdOyB9KS5yaWdodCh0aWNrSW50ZXJ2YWxzLCB0YXJn
ZXQpOworICAgICAgaWYgKGkgPT09IHRpY2tJbnRlcnZhbHMubGVuZ3RoKSB7CisgICAgICAgIHN0
ZXAgPSB0aWNrU3RlcChzdGFydCAvIGR1cmF0aW9uWWVhciwgc3RvcCAvIGR1cmF0aW9uWWVhciwg
aW50ZXJ2YWwpOworICAgICAgICBpbnRlcnZhbCA9IHllYXI7CisgICAgICB9IGVsc2UgaWYgKGkp
IHsKKyAgICAgICAgaSA9IHRpY2tJbnRlcnZhbHNbdGFyZ2V0IC8gdGlja0ludGVydmFsc1tpIC0g
MV1bMl0gPCB0aWNrSW50ZXJ2YWxzW2ldWzJdIC8gdGFyZ2V0ID8gaSAtIDEgOiBpXTsKKyAgICAg
ICAgc3RlcCA9IGlbMV07CisgICAgICAgIGludGVydmFsID0gaVswXTsKKyAgICAgIH0gZWxzZSB7
CisgICAgICAgIHN0ZXAgPSBNYXRoLm1heCh0aWNrU3RlcChzdGFydCwgc3RvcCwgaW50ZXJ2YWwp
LCAxKTsKKyAgICAgICAgaW50ZXJ2YWwgPSBtaWxsaXNlY29uZDsKKyAgICAgIH0KKyAgICB9CisK
KyAgICByZXR1cm4gc3RlcCA9PSBudWxsID8gaW50ZXJ2YWwgOiBpbnRlcnZhbC5ldmVyeShzdGVw
KTsKKyAgfQorCisgIHNjYWxlLmludmVydCA9IGZ1bmN0aW9uKHkpIHsKKyAgICByZXR1cm4gbmV3
IERhdGUoaW52ZXJ0KHkpKTsKKyAgfTsKKworICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyBkb21haW4obWFwJDMuY2FsbChfLCBudW1i
ZXIkMykpIDogZG9tYWluKCkubWFwKGRhdGUkMSk7CisgIH07CisKKyAgc2NhbGUudGlja3MgPSBm
dW5jdGlvbihpbnRlcnZhbCwgc3RlcCkgeworICAgIHZhciBkID0gZG9tYWluKCksCisgICAgICAg
IHQwID0gZFswXSwKKyAgICAgICAgdDEgPSBkW2QubGVuZ3RoIC0gMV0sCisgICAgICAgIHIgPSB0
MSA8IHQwLAorICAgICAgICB0OworICAgIGlmIChyKSB0ID0gdDAsIHQwID0gdDEsIHQxID0gdDsK
KyAgICB0ID0gdGlja0ludGVydmFsKGludGVydmFsLCB0MCwgdDEsIHN0ZXApOworICAgIHQgPSB0
ID8gdC5yYW5nZSh0MCwgdDEgKyAxKSA6IFtdOyAvLyBpbmNsdXNpdmUgc3RvcAorICAgIHJldHVy
biByID8gdC5yZXZlcnNlKCkgOiB0OworICB9OworCisgIHNjYWxlLnRpY2tGb3JtYXQgPSBmdW5j
dGlvbihjb3VudCwgc3BlY2lmaWVyKSB7CisgICAgcmV0dXJuIHNwZWNpZmllciA9PSBudWxsID8g
dGlja0Zvcm1hdCA6IGZvcm1hdChzcGVjaWZpZXIpOworICB9OworCisgIHNjYWxlLm5pY2UgPSBm
dW5jdGlvbihpbnRlcnZhbCwgc3RlcCkgeworICAgIHZhciBkID0gZG9tYWluKCk7CisgICAgcmV0
dXJuIChpbnRlcnZhbCA9IHRpY2tJbnRlcnZhbChpbnRlcnZhbCwgZFswXSwgZFtkLmxlbmd0aCAt
IDFdLCBzdGVwKSkKKyAgICAgICAgPyBkb21haW4obmljZShkLCBpbnRlcnZhbCkpCisgICAgICAg
IDogc2NhbGU7CisgIH07CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVy
biBjb3B5KHNjYWxlLCBjYWxlbmRhcih5ZWFyLCBtb250aCwgd2VlaywgZGF5LCBob3VyLCBtaW51
dGUsIHNlY29uZCwgbWlsbGlzZWNvbmQsIGZvcm1hdCkpOworICB9OworCisgIHJldHVybiBzY2Fs
ZTsKK30KKworZnVuY3Rpb24gdGltZSgpIHsKKyAgcmV0dXJuIGluaXRSYW5nZS5hcHBseShjYWxl
bmRhcih5ZWFyLCBtb250aCwgc3VuZGF5LCBkYXksIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWxs
aXNlY29uZCwgZXhwb3J0cy50aW1lRm9ybWF0KS5kb21haW4oW25ldyBEYXRlKDIwMDAsIDAsIDEp
LCBuZXcgRGF0ZSgyMDAwLCAwLCAyKV0pLCBhcmd1bWVudHMpOworfQorCitmdW5jdGlvbiB1dGNU
aW1lKCkgeworICByZXR1cm4gaW5pdFJhbmdlLmFwcGx5KGNhbGVuZGFyKHV0Y1llYXIsIHV0Y01v
bnRoLCB1dGNTdW5kYXksIHV0Y0RheSwgdXRjSG91ciwgdXRjTWludXRlLCBzZWNvbmQsIG1pbGxp
c2Vjb25kLCBleHBvcnRzLnV0Y0Zvcm1hdCkuZG9tYWluKFtEYXRlLlVUQygyMDAwLCAwLCAxKSwg
RGF0ZS5VVEMoMjAwMCwgMCwgMildKSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gdHJhbnNm
b3JtZXIkMigpIHsKKyAgdmFyIHgwID0gMCwKKyAgICAgIHgxID0gMSwKKyAgICAgIHQwLAorICAg
ICAgdDEsCisgICAgICBrMTAsCisgICAgICB0cmFuc2Zvcm0sCisgICAgICBpbnRlcnBvbGF0b3Ig
PSBpZGVudGl0eSQ2LAorICAgICAgY2xhbXAgPSBmYWxzZSwKKyAgICAgIHVua25vd247CisKKyAg
ZnVuY3Rpb24gc2NhbGUoeCkgeworICAgIHJldHVybiBpc05hTih4ID0gK3gpID8gdW5rbm93biA6
IGludGVycG9sYXRvcihrMTAgPT09IDAgPyAwLjUgOiAoeCA9ICh0cmFuc2Zvcm0oeCkgLSB0MCkg
KiBrMTAsIGNsYW1wID8gTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgeCkpIDogeCkpOworICB9CisK
KyAgc2NhbGUuZG9tYWluID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gKHQwID0gdHJhbnNmb3JtKHgwID0gK19bMF0pLCB0MSA9IHRyYW5zZm9ybSh4MSA9ICtf
WzFdKSwgazEwID0gdDAgPT09IHQxID8gMCA6IDEgLyAodDEgLSB0MCksIHNjYWxlKSA6IFt4MCwg
eDFdOworICB9OworCisgIHNjYWxlLmNsYW1wID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKGNsYW1wID0gISFfLCBzY2FsZSkgOiBjbGFtcDsKKyAgfTsKKwor
ICBzY2FsZS5pbnRlcnBvbGF0b3IgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAoaW50ZXJwb2xhdG9yID0gXywgc2NhbGUpIDogaW50ZXJwb2xhdG9yOworICB9
OworCisgIHNjYWxlLnVua25vd24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAodW5rbm93biA9IF8sIHNjYWxlKSA6IHVua25vd247CisgIH07CisKKyAgcmV0
dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICB0cmFuc2Zvcm0gPSB0LCB0MCA9IHQoeDApLCB0MSA9IHQo
eDEpLCBrMTAgPSB0MCA9PT0gdDEgPyAwIDogMSAvICh0MSAtIHQwKTsKKyAgICByZXR1cm4gc2Nh
bGU7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNvcHkkMShzb3VyY2UsIHRhcmdldCkgeworICByZXR1
cm4gdGFyZ2V0CisgICAgICAuZG9tYWluKHNvdXJjZS5kb21haW4oKSkKKyAgICAgIC5pbnRlcnBv
bGF0b3Ioc291cmNlLmludGVycG9sYXRvcigpKQorICAgICAgLmNsYW1wKHNvdXJjZS5jbGFtcCgp
KQorICAgICAgLnVua25vd24oc291cmNlLnVua25vd24oKSk7Cit9CisKK2Z1bmN0aW9uIHNlcXVl
bnRpYWwoKSB7CisgIHZhciBzY2FsZSA9IGxpbmVhcmlzaCh0cmFuc2Zvcm1lciQyKCkoaWRlbnRp
dHkkNikpOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weSQx
KHNjYWxlLCBzZXF1ZW50aWFsKCkpOworICB9OworCisgIHJldHVybiBpbml0SW50ZXJwb2xhdG9y
LmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworfQorCitmdW5jdGlvbiBzZXF1ZW50aWFsTG9nKCkg
eworICB2YXIgc2NhbGUgPSBsb2dnaXNoKHRyYW5zZm9ybWVyJDIoKSkuZG9tYWluKFsxLCAxMF0p
OworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weSQxKHNjYWxl
LCBzZXF1ZW50aWFsTG9nKCkpLmJhc2Uoc2NhbGUuYmFzZSgpKTsKKyAgfTsKKworICByZXR1cm4g
aW5pdEludGVycG9sYXRvci5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24g
c2VxdWVudGlhbFN5bWxvZygpIHsKKyAgdmFyIHNjYWxlID0gc3ltbG9naXNoKHRyYW5zZm9ybWVy
JDIoKSk7CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBjb3B5JDEo
c2NhbGUsIHNlcXVlbnRpYWxTeW1sb2coKSkuY29uc3RhbnQoc2NhbGUuY29uc3RhbnQoKSk7Cisg
IH07CisKKyAgcmV0dXJuIGluaXRJbnRlcnBvbGF0b3IuYXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7
Cit9CisKK2Z1bmN0aW9uIHNlcXVlbnRpYWxQb3coKSB7CisgIHZhciBzY2FsZSA9IHBvd2lzaCh0
cmFuc2Zvcm1lciQyKCkpOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1
cm4gY29weSQxKHNjYWxlLCBzZXF1ZW50aWFsUG93KCkpLmV4cG9uZW50KHNjYWxlLmV4cG9uZW50
KCkpOworICB9OworCisgIHJldHVybiBpbml0SW50ZXJwb2xhdG9yLmFwcGx5KHNjYWxlLCBhcmd1
bWVudHMpOworfQorCitmdW5jdGlvbiBzZXF1ZW50aWFsU3FydCgpIHsKKyAgcmV0dXJuIHNlcXVl
bnRpYWxQb3cuYXBwbHkobnVsbCwgYXJndW1lbnRzKS5leHBvbmVudCgwLjUpOworfQorCitmdW5j
dGlvbiBzZXF1ZW50aWFsUXVhbnRpbGUoKSB7CisgIHZhciBkb21haW4gPSBbXSwKKyAgICAgIGlu
dGVycG9sYXRvciA9IGlkZW50aXR5JDY7CisKKyAgZnVuY3Rpb24gc2NhbGUoeCkgeworICAgIGlm
ICghaXNOYU4oeCA9ICt4KSkgcmV0dXJuIGludGVycG9sYXRvcigoYmlzZWN0UmlnaHQoZG9tYWlu
LCB4KSAtIDEpIC8gKGRvbWFpbi5sZW5ndGggLSAxKSk7CisgIH0KKworICBzY2FsZS5kb21haW4g
PSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gZG9tYWlu
LnNsaWNlKCk7CisgICAgZG9tYWluID0gW107CisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBfLmxl
bmd0aCwgZDsgaSA8IG47ICsraSkgaWYgKGQgPSBfW2ldLCBkICE9IG51bGwgJiYgIWlzTmFOKGQg
PSArZCkpIGRvbWFpbi5wdXNoKGQpOworICAgIGRvbWFpbi5zb3J0KGFzY2VuZGluZyk7CisgICAg
cmV0dXJuIHNjYWxlOworICB9OworCisgIHNjYWxlLmludGVycG9sYXRvciA9IGZ1bmN0aW9uKF8p
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChpbnRlcnBvbGF0b3IgPSBfLCBzY2Fs
ZSkgOiBpbnRlcnBvbGF0b3I7CisgIH07CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgewor
ICAgIHJldHVybiBzZXF1ZW50aWFsUXVhbnRpbGUoaW50ZXJwb2xhdG9yKS5kb21haW4oZG9tYWlu
KTsKKyAgfTsKKworICByZXR1cm4gaW5pdEludGVycG9sYXRvci5hcHBseShzY2FsZSwgYXJndW1l
bnRzKTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3JtZXIkMygpIHsKKyAgdmFyIHgwID0gMCwKKyAg
ICAgIHgxID0gMC41LAorICAgICAgeDIgPSAxLAorICAgICAgdDAsCisgICAgICB0MSwKKyAgICAg
IHQyLAorICAgICAgazEwLAorICAgICAgazIxLAorICAgICAgaW50ZXJwb2xhdG9yID0gaWRlbnRp
dHkkNiwKKyAgICAgIHRyYW5zZm9ybSwKKyAgICAgIGNsYW1wID0gZmFsc2UsCisgICAgICB1bmtu
b3duOworCisgIGZ1bmN0aW9uIHNjYWxlKHgpIHsKKyAgICByZXR1cm4gaXNOYU4oeCA9ICt4KSA/
IHVua25vd24gOiAoeCA9IDAuNSArICgoeCA9ICt0cmFuc2Zvcm0oeCkpIC0gdDEpICogKHggPCB0
MSA/IGsxMCA6IGsyMSksIGludGVycG9sYXRvcihjbGFtcCA/IE1hdGgubWF4KDAsIE1hdGgubWlu
KDEsIHgpKSA6IHgpKTsKKyAgfQorCisgIHNjYWxlLmRvbWFpbiA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0MCA9IHRyYW5zZm9ybSh4MCA9ICtfWzBdKSwg
dDEgPSB0cmFuc2Zvcm0oeDEgPSArX1sxXSksIHQyID0gdHJhbnNmb3JtKHgyID0gK19bMl0pLCBr
MTAgPSB0MCA9PT0gdDEgPyAwIDogMC41IC8gKHQxIC0gdDApLCBrMjEgPSB0MSA9PT0gdDIgPyAw
IDogMC41IC8gKHQyIC0gdDEpLCBzY2FsZSkgOiBbeDAsIHgxLCB4Ml07CisgIH07CisKKyAgc2Nh
bGUuY2xhbXAgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
Y2xhbXAgPSAhIV8sIHNjYWxlKSA6IGNsYW1wOworICB9OworCisgIHNjYWxlLmludGVycG9sYXRv
ciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChpbnRlcnBv
bGF0b3IgPSBfLCBzY2FsZSkgOiBpbnRlcnBvbGF0b3I7CisgIH07CisKKyAgc2NhbGUudW5rbm93
biA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh1bmtub3du
ID0gXywgc2NhbGUpIDogdW5rbm93bjsKKyAgfTsKKworICByZXR1cm4gZnVuY3Rpb24odCkgewor
ICAgIHRyYW5zZm9ybSA9IHQsIHQwID0gdCh4MCksIHQxID0gdCh4MSksIHQyID0gdCh4MiksIGsx
MCA9IHQwID09PSB0MSA/IDAgOiAwLjUgLyAodDEgLSB0MCksIGsyMSA9IHQxID09PSB0MiA/IDAg
OiAwLjUgLyAodDIgLSB0MSk7CisgICAgcmV0dXJuIHNjYWxlOworICB9OworfQorCitmdW5jdGlv
biBkaXZlcmdpbmcoKSB7CisgIHZhciBzY2FsZSA9IGxpbmVhcmlzaCh0cmFuc2Zvcm1lciQzKCko
aWRlbnRpdHkkNikpOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4g
Y29weSQxKHNjYWxlLCBkaXZlcmdpbmcoKSk7CisgIH07CisKKyAgcmV0dXJuIGluaXRJbnRlcnBv
bGF0b3IuYXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIGRpdmVyZ2luZ0xv
ZygpIHsKKyAgdmFyIHNjYWxlID0gbG9nZ2lzaCh0cmFuc2Zvcm1lciQzKCkpLmRvbWFpbihbMC4x
LCAxLCAxMF0pOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29w
eSQxKHNjYWxlLCBkaXZlcmdpbmdMb2coKSkuYmFzZShzY2FsZS5iYXNlKCkpOworICB9OworCisg
IHJldHVybiBpbml0SW50ZXJwb2xhdG9yLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworfQorCitm
dW5jdGlvbiBkaXZlcmdpbmdTeW1sb2coKSB7CisgIHZhciBzY2FsZSA9IHN5bWxvZ2lzaCh0cmFu
c2Zvcm1lciQzKCkpOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4g
Y29weSQxKHNjYWxlLCBkaXZlcmdpbmdTeW1sb2coKSkuY29uc3RhbnQoc2NhbGUuY29uc3RhbnQo
KSk7CisgIH07CisKKyAgcmV0dXJuIGluaXRJbnRlcnBvbGF0b3IuYXBwbHkoc2NhbGUsIGFyZ3Vt
ZW50cyk7Cit9CisKK2Z1bmN0aW9uIGRpdmVyZ2luZ1BvdygpIHsKKyAgdmFyIHNjYWxlID0gcG93
aXNoKHRyYW5zZm9ybWVyJDMoKSk7CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAg
IHJldHVybiBjb3B5JDEoc2NhbGUsIGRpdmVyZ2luZ1BvdygpKS5leHBvbmVudChzY2FsZS5leHBv
bmVudCgpKTsKKyAgfTsKKworICByZXR1cm4gaW5pdEludGVycG9sYXRvci5hcHBseShzY2FsZSwg
YXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gZGl2ZXJnaW5nU3FydCgpIHsKKyAgcmV0dXJuIGRp
dmVyZ2luZ1Bvdy5hcHBseShudWxsLCBhcmd1bWVudHMpLmV4cG9uZW50KDAuNSk7Cit9CisKK2Z1
bmN0aW9uIGNvbG9ycyhzcGVjaWZpZXIpIHsKKyAgdmFyIG4gPSBzcGVjaWZpZXIubGVuZ3RoIC8g
NiB8IDAsIGNvbG9ycyA9IG5ldyBBcnJheShuKSwgaSA9IDA7CisgIHdoaWxlIChpIDwgbikgY29s
b3JzW2ldID0gIiMiICsgc3BlY2lmaWVyLnNsaWNlKGkgKiA2LCArK2kgKiA2KTsKKyAgcmV0dXJu
IGNvbG9yczsKK30KKwordmFyIGNhdGVnb3J5MTAgPSBjb2xvcnMoIjFmNzdiNGZmN2YwZTJjYTAy
Y2Q2MjcyODk0NjdiZDhjNTY0YmUzNzdjMjdmN2Y3ZmJjYmQyMjE3YmVjZiIpOworCit2YXIgQWNj
ZW50ID0gY29sb3JzKCI3ZmM5N2ZiZWFlZDRmZGMwODZmZmZmOTkzODZjYjBmMDAyN2ZiZjViMTc2
NjY2NjYiKTsKKwordmFyIERhcmsyID0gY29sb3JzKCIxYjllNzdkOTVmMDI3NTcwYjNlNzI5OGE2
NmE2MWVlNmFiMDJhNjc2MWQ2NjY2NjYiKTsKKwordmFyIFBhaXJlZCA9IGNvbG9ycygiYTZjZWUz
MWY3OGI0YjJkZjhhMzNhMDJjZmI5YTk5ZTMxYTFjZmRiZjZmZmY3ZjAwY2FiMmQ2NmEzZDlhZmZm
Zjk5YjE1OTI4Iik7CisKK3ZhciBQYXN0ZWwxID0gY29sb3JzKCJmYmI0YWViM2NkZTNjY2ViYzVk
ZWNiZTRmZWQ5YTZmZmZmY2NlNWQ4YmRmZGRhZWNmMmYyZjIiKTsKKwordmFyIFBhc3RlbDIgPSBj
b2xvcnMoImIzZTJjZGZkY2RhY2NiZDVlOGY0Y2FlNGU2ZjVjOWZmZjJhZWYxZTJjY2NjY2NjYyIp
OworCit2YXIgU2V0MSA9IGNvbG9ycygiZTQxYTFjMzc3ZWI4NGRhZjRhOTg0ZWEzZmY3ZjAwZmZm
ZjMzYTY1NjI4Zjc4MWJmOTk5OTk5Iik7CisKK3ZhciBTZXQyID0gY29sb3JzKCI2NmMyYTVmYzhk
NjI4ZGEwY2JlNzhhYzNhNmQ4NTRmZmQ5MmZlNWM0OTRiM2IzYjMiKTsKKwordmFyIFNldDMgPSBj
b2xvcnMoIjhkZDNjN2ZmZmZiM2JlYmFkYWZiODA3MjgwYjFkM2ZkYjQ2MmIzZGU2OWZjY2RlNWQ5
ZDlkOWJjODBiZGNjZWJjNWZmZWQ2ZiIpOworCit2YXIgVGFibGVhdTEwID0gY29sb3JzKCI0ZTc5
YTdmMjhlMmNlMTU3NTk3NmI3YjI1OWExNGZlZGM5NDlhZjdhYTFmZjlkYTc5Yzc1NWZiYWIwYWIi
KTsKKworZnVuY3Rpb24gcmFtcChzY2hlbWUpIHsKKyAgcmV0dXJuIHJnYkJhc2lzKHNjaGVtZVtz
Y2hlbWUubGVuZ3RoIC0gMV0pOworfQorCit2YXIgc2NoZW1lID0gbmV3IEFycmF5KDMpLmNvbmNh
dCgKKyAgImQ4YjM2NWY1ZjVmNTVhYjRhYyIsCisgICJhNjYxMWFkZmMyN2Q4MGNkYzEwMTg1NzEi
LAorICAiYTY2MTFhZGZjMjdkZjVmNWY1ODBjZGMxMDE4NTcxIiwKKyAgIjhjNTEwYWQ4YjM2NWY2
ZThjM2M3ZWFlNTVhYjRhYzAxNjY1ZSIsCisgICI4YzUxMGFkOGIzNjVmNmU4YzNmNWY1ZjVjN2Vh
ZTU1YWI0YWMwMTY2NWUiLAorICAiOGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzYzdlYWU1ODBjZGMx
MzU5NzhmMDE2NjVlIiwKKyAgIjhjNTEwYWJmODEyZGRmYzI3ZGY2ZThjM2Y1ZjVmNWM3ZWFlNTgw
Y2RjMTM1OTc4ZjAxNjY1ZSIsCisgICI1NDMwMDU4YzUxMGFiZjgxMmRkZmMyN2RmNmU4YzNjN2Vh
ZTU4MGNkYzEzNTk3OGYwMTY2NWUwMDNjMzAiLAorICAiNTQzMDA1OGM1MTBhYmY4MTJkZGZjMjdk
ZjZlOGMzZjVmNWY1YzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlMDAzYzMwIgorKS5tYXAoY29sb3Jz
KTsKKwordmFyIEJyQkcgPSByYW1wKHNjaGVtZSk7CisKK3ZhciBzY2hlbWUkMSA9IG5ldyBBcnJh
eSgzKS5jb25jYXQoCisgICJhZjhkYzNmN2Y3Zjc3ZmJmN2IiLAorICAiN2IzMjk0YzJhNWNmYTZk
YmEwMDA4ODM3IiwKKyAgIjdiMzI5NGMyYTVjZmY3ZjdmN2E2ZGJhMDAwODgzNyIsCisgICI3NjJh
ODNhZjhkYzNlN2Q0ZThkOWYwZDM3ZmJmN2IxYjc4MzciLAorICAiNzYyYTgzYWY4ZGMzZTdkNGU4
ZjdmN2Y3ZDlmMGQzN2ZiZjdiMWI3ODM3IiwKKyAgIjc2MmE4Mzk5NzBhYmMyYTVjZmU3ZDRlOGQ5
ZjBkM2E2ZGJhMDVhYWU2MTFiNzgzNyIsCisgICI3NjJhODM5OTcwYWJjMmE1Y2ZlN2Q0ZThmN2Y3
ZjdkOWYwZDNhNmRiYTA1YWFlNjExYjc4MzciLAorICAiNDAwMDRiNzYyYTgzOTk3MGFiYzJhNWNm
ZTdkNGU4ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3MDA0NDFiIiwKKyAgIjQwMDA0Yjc2MmE4Mzk5
NzBhYmMyYTVjZmU3ZDRlOGY3ZjdmN2Q5ZjBkM2E2ZGJhMDVhYWU2MTFiNzgzNzAwNDQxYiIKKyku
bWFwKGNvbG9ycyk7CisKK3ZhciBQUkduID0gcmFtcChzY2hlbWUkMSk7CisKK3ZhciBzY2hlbWUk
MiA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJlOWEzYzlmN2Y3ZjdhMWQ3NmEiLAorICAiZDAx
YzhiZjFiNmRhYjhlMTg2NGRhYzI2IiwKKyAgImQwMWM4YmYxYjZkYWY3ZjdmN2I4ZTE4NjRkYWMy
NiIsCisgICJjNTFiN2RlOWEzYzlmZGUwZWZlNmY1ZDBhMWQ3NmE0ZDkyMjEiLAorICAiYzUxYjdk
ZTlhM2M5ZmRlMGVmZjdmN2Y3ZTZmNWQwYTFkNzZhNGQ5MjIxIiwKKyAgImM1MWI3ZGRlNzdhZWYx
YjZkYWZkZTBlZmU2ZjVkMGI4ZTE4NjdmYmM0MTRkOTIyMSIsCisgICJjNTFiN2RkZTc3YWVmMWI2
ZGFmZGUwZWZmN2Y3ZjdlNmY1ZDBiOGUxODY3ZmJjNDE0ZDkyMjEiLAorICAiOGUwMTUyYzUxYjdk
ZGU3N2FlZjFiNmRhZmRlMGVmZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxMjc2NDE5IiwKKyAgIjhl
MDE1MmM1MWI3ZGRlNzdhZWYxYjZkYWZkZTBlZmY3ZjdmN2U2ZjVkMGI4ZTE4NjdmYmM0MTRkOTIy
MTI3NjQxOSIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBQaVlHID0gcmFtcChzY2hlbWUkMik7CisK
K3ZhciBzY2hlbWUkMyA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICI5OThlYzNmN2Y3ZjdmMWEz
NDAiLAorICAiNWUzYzk5YjJhYmQyZmRiODYzZTY2MTAxIiwKKyAgIjVlM2M5OWIyYWJkMmY3Zjdm
N2ZkYjg2M2U2NjEwMSIsCisgICI1NDI3ODg5OThlYzNkOGRhZWJmZWUwYjZmMWEzNDBiMzU4MDYi
LAorICAiNTQyNzg4OTk4ZWMzZDhkYWViZjdmN2Y3ZmVlMGI2ZjFhMzQwYjM1ODA2IiwKKyAgIjU0
Mjc4ODgwNzNhY2IyYWJkMmQ4ZGFlYmZlZTBiNmZkYjg2M2UwODIxNGIzNTgwNiIsCisgICI1NDI3
ODg4MDczYWNiMmFiZDJkOGRhZWJmN2Y3ZjdmZWUwYjZmZGI4NjNlMDgyMTRiMzU4MDYiLAorICAi
MmQwMDRiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2N2Yz
YjA4IiwKKyAgIjJkMDA0YjU0Mjc4ODgwNzNhY2IyYWJkMmQ4ZGFlYmY3ZjdmN2ZlZTBiNmZkYjg2
M2UwODIxNGIzNTgwNjdmM2IwOCIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBQdU9yID0gcmFtcChz
Y2hlbWUkMyk7CisKK3ZhciBzY2hlbWUkNCA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJlZjhh
NjJmN2Y3Zjc2N2E5Y2YiLAorICAiY2EwMDIwZjRhNTgyOTJjNWRlMDU3MWIwIiwKKyAgImNhMDAy
MGY0YTU4MmY3ZjdmNzkyYzVkZTA1NzFiMCIsCisgICJiMjE4MmJlZjhhNjJmZGRiYzdkMWU1ZjA2
N2E5Y2YyMTY2YWMiLAorICAiYjIxODJiZWY4YTYyZmRkYmM3ZjdmN2Y3ZDFlNWYwNjdhOWNmMjE2
NmFjIiwKKyAgImIyMTgyYmQ2NjA0ZGY0YTU4MmZkZGJjN2QxZTVmMDkyYzVkZTQzOTNjMzIxNjZh
YyIsCisgICJiMjE4MmJkNjYwNGRmNGE1ODJmZGRiYzdmN2Y3ZjdkMWU1ZjA5MmM1ZGU0MzkzYzMy
MTY2YWMiLAorICAiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZDFlNWYwOTJjNWRlNDM5
M2MzMjE2NmFjMDUzMDYxIiwKKyAgIjY3MDAxZmIyMTgyYmQ2NjA0ZGY0YTU4MmZkZGJjN2Y3Zjdm
N2QxZTVmMDkyYzVkZTQzOTNjMzIxNjZhYzA1MzA2MSIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBS
ZEJ1ID0gcmFtcChzY2hlbWUkNCk7CisKK3ZhciBzY2hlbWUkNSA9IG5ldyBBcnJheSgzKS5jb25j
YXQoCisgICJlZjhhNjJmZmZmZmY5OTk5OTkiLAorICAiY2EwMDIwZjRhNTgyYmFiYWJhNDA0MDQw
IiwKKyAgImNhMDAyMGY0YTU4MmZmZmZmZmJhYmFiYTQwNDA0MCIsCisgICJiMjE4MmJlZjhhNjJm
ZGRiYzdlMGUwZTA5OTk5OTk0ZDRkNGQiLAorICAiYjIxODJiZWY4YTYyZmRkYmM3ZmZmZmZmZTBl
MGUwOTk5OTk5NGQ0ZDRkIiwKKyAgImIyMTgyYmQ2NjA0ZGY0YTU4MmZkZGJjN2UwZTBlMGJhYmFi
YTg3ODc4NzRkNGQ0ZCIsCisgICJiMjE4MmJkNjYwNGRmNGE1ODJmZGRiYzdmZmZmZmZlMGUwZTBi
YWJhYmE4Nzg3ODc0ZDRkNGQiLAorICAiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZTBl
MGUwYmFiYWJhODc4Nzg3NGQ0ZDRkMWExYTFhIiwKKyAgIjY3MDAxZmIyMTgyYmQ2NjA0ZGY0YTU4
MmZkZGJjN2ZmZmZmZmUwZTBlMGJhYmFiYTg3ODc4NzRkNGQ0ZDFhMWExYSIKKykubWFwKGNvbG9y
cyk7CisKK3ZhciBSZEd5ID0gcmFtcChzY2hlbWUkNSk7CisKK3ZhciBzY2hlbWUkNiA9IG5ldyBB
cnJheSgzKS5jb25jYXQoCisgICJmYzhkNTlmZmZmYmY5MWJmZGIiLAorICAiZDcxOTFjZmRhZTYx
YWJkOWU5MmM3YmI2IiwKKyAgImQ3MTkxY2ZkYWU2MWZmZmZiZmFiZDllOTJjN2JiNiIsCisgICJk
NzMwMjdmYzhkNTlmZWUwOTBlMGYzZjg5MWJmZGI0NTc1YjQiLAorICAiZDczMDI3ZmM4ZDU5ZmVl
MDkwZmZmZmJmZTBmM2Y4OTFiZmRiNDU3NWI0IiwKKyAgImQ3MzAyN2Y0NmQ0M2ZkYWU2MWZlZTA5
MGUwZjNmOGFiZDllOTc0YWRkMTQ1NzViNCIsCisgICJkNzMwMjdmNDZkNDNmZGFlNjFmZWUwOTBm
ZmZmYmZlMGYzZjhhYmQ5ZTk3NGFkZDE0NTc1YjQiLAorICAiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRh
ZTYxZmVlMDkwZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0MzEzNjk1IiwKKyAgImE1MDAyNmQ3MzAy
N2Y0NmQ0M2ZkYWU2MWZlZTA5MGZmZmZiZmUwZjNmOGFiZDllOTc0YWRkMTQ1NzViNDMxMzY5NSIK
KykubWFwKGNvbG9ycyk7CisKK3ZhciBSZFlsQnUgPSByYW1wKHNjaGVtZSQ2KTsKKwordmFyIHNj
aGVtZSQ3ID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImZjOGQ1OWZmZmZiZjkxY2Y2MCIsCisg
ICJkNzE5MWNmZGFlNjFhNmQ5NmExYTk2NDEiLAorICAiZDcxOTFjZmRhZTYxZmZmZmJmYTZkOTZh
MWE5NjQxIiwKKyAgImQ3MzAyN2ZjOGQ1OWZlZTA4YmQ5ZWY4YjkxY2Y2MDFhOTg1MCIsCisgICJk
NzMwMjdmYzhkNTlmZWUwOGJmZmZmYmZkOWVmOGI5MWNmNjAxYTk4NTAiLAorICAiZDczMDI3ZjQ2
ZDQzZmRhZTYxZmVlMDhiZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwIiwKKyAgImQ3MzAyN2Y0NmQ0
M2ZkYWU2MWZlZTA4YmZmZmZiZmQ5ZWY4YmE2ZDk2YTY2YmQ2MzFhOTg1MCIsCisgICJhNTAwMjZk
NzMwMjdmNDZkNDNmZGFlNjFmZWUwOGJkOWVmOGJhNmQ5NmE2NmJkNjMxYTk4NTAwMDY4MzciLAor
ICAiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZDllZjhiYTZkOTZhNjZiZDYz
MWE5ODUwMDA2ODM3IgorKS5tYXAoY29sb3JzKTsKKwordmFyIFJkWWxHbiA9IHJhbXAoc2NoZW1l
JDcpOworCit2YXIgc2NoZW1lJDggPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZmM4ZDU5ZmZm
ZmJmOTlkNTk0IiwKKyAgImQ3MTkxY2ZkYWU2MWFiZGRhNDJiODNiYSIsCisgICJkNzE5MWNmZGFl
NjFmZmZmYmZhYmRkYTQyYjgzYmEiLAorICAiZDUzZTRmZmM4ZDU5ZmVlMDhiZTZmNTk4OTlkNTk0
MzI4OGJkIiwKKyAgImQ1M2U0ZmZjOGQ1OWZlZTA4YmZmZmZiZmU2ZjU5ODk5ZDU5NDMyODhiZCIs
CisgICJkNTNlNGZmNDZkNDNmZGFlNjFmZWUwOGJlNmY1OThhYmRkYTQ2NmMyYTUzMjg4YmQiLAor
ICAiZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJk
IiwKKyAgIjllMDE0MmQ1M2U0ZmY0NmQ0M2ZkYWU2MWZlZTA4YmU2ZjU5OGFiZGRhNDY2YzJhNTMy
ODhiZDVlNGZhMiIsCisgICI5ZTAxNDJkNTNlNGZmNDZkNDNmZGFlNjFmZWUwOGJmZmZmYmZlNmY1
OThhYmRkYTQ2NmMyYTUzMjg4YmQ1ZTRmYTIiCispLm1hcChjb2xvcnMpOworCit2YXIgU3BlY3Ry
YWwgPSByYW1wKHNjaGVtZSQ4KTsKKwordmFyIHNjaGVtZSQ5ID0gbmV3IEFycmF5KDMpLmNvbmNh
dCgKKyAgImU1ZjVmOTk5ZDhjOTJjYTI1ZiIsCisgICJlZGY4ZmJiMmUyZTI2NmMyYTQyMzhiNDUi
LAorICAiZWRmOGZiYjJlMmUyNjZjMmE0MmNhMjVmMDA2ZDJjIiwKKyAgImVkZjhmYmNjZWNlNjk5
ZDhjOTY2YzJhNDJjYTI1ZjAwNmQyYyIsCisgICJlZGY4ZmJjY2VjZTY5OWQ4Yzk2NmMyYTQ0MWFl
NzYyMzhiNDUwMDU4MjQiLAorICAiZjdmY2ZkZTVmNWY5Y2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2
MjM4YjQ1MDA1ODI0IiwKKyAgImY3ZmNmZGU1ZjVmOWNjZWNlNjk5ZDhjOTY2YzJhNDQxYWU3NjIz
OGI0NTAwNmQyYzAwNDQxYiIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBCdUduID0gcmFtcChzY2hl
bWUkOSk7CisKK3ZhciBzY2hlbWUkYSA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJlMGVjZjQ5
ZWJjZGE4ODU2YTciLAorICAiZWRmOGZiYjNjZGUzOGM5NmM2ODg0MTlkIiwKKyAgImVkZjhmYmIz
Y2RlMzhjOTZjNjg4NTZhNzgxMGY3YyIsCisgICJlZGY4ZmJiZmQzZTY5ZWJjZGE4Yzk2YzY4ODU2
YTc4MTBmN2MiLAorICAiZWRmOGZiYmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkNmUwMTZi
IiwKKyAgImY3ZmNmZGUwZWNmNGJmZDNlNjllYmNkYThjOTZjNjhjNmJiMTg4NDE5ZDZlMDE2YiIs
CisgICJmN2ZjZmRlMGVjZjRiZmQzZTY5ZWJjZGE4Yzk2YzY4YzZiYjE4ODQxOWQ4MTBmN2M0ZDAw
NGIiCispLm1hcChjb2xvcnMpOworCit2YXIgQnVQdSA9IHJhbXAoc2NoZW1lJGEpOworCit2YXIg
c2NoZW1lJGIgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZTBmM2RiYThkZGI1NDNhMmNhIiwK
KyAgImYwZjllOGJhZTRiYzdiY2NjNDJiOGNiZSIsCisgICJmMGY5ZThiYWU0YmM3YmNjYzQ0M2Ey
Y2EwODY4YWMiLAorICAiZjBmOWU4Y2NlYmM1YThkZGI1N2JjY2M0NDNhMmNhMDg2OGFjIiwKKyAg
ImYwZjllOGNjZWJjNWE4ZGRiNTdiY2NjNDRlYjNkMzJiOGNiZTA4NTg5ZSIsCisgICJmN2ZjZjBl
MGYzZGJjY2ViYzVhOGRkYjU3YmNjYzQ0ZWIzZDMyYjhjYmUwODU4OWUiLAorICAiZjdmY2YwZTBm
M2RiY2NlYmM1YThkZGI1N2JjY2M0NGViM2QzMmI4Y2JlMDg2OGFjMDg0MDgxIgorKS5tYXAoY29s
b3JzKTsKKwordmFyIEduQnUgPSByYW1wKHNjaGVtZSRiKTsKKwordmFyIHNjaGVtZSRjID0gbmV3
IEFycmF5KDMpLmNvbmNhdCgKKyAgImZlZThjOGZkYmI4NGUzNGEzMyIsCisgICJmZWYwZDlmZGNj
OGFmYzhkNTlkNzMwMWYiLAorICAiZmVmMGQ5ZmRjYzhhZmM4ZDU5ZTM0YTMzYjMwMDAwIiwKKyAg
ImZlZjBkOWZkZDQ5ZWZkYmI4NGZjOGQ1OWUzNGEzM2IzMDAwMCIsCisgICJmZWYwZDlmZGQ0OWVm
ZGJiODRmYzhkNTllZjY1NDhkNzMwMWY5OTAwMDAiLAorICAiZmZmN2VjZmVlOGM4ZmRkNDllZmRi
Yjg0ZmM4ZDU5ZWY2NTQ4ZDczMDFmOTkwMDAwIiwKKyAgImZmZjdlY2ZlZThjOGZkZDQ5ZWZkYmI4
NGZjOGQ1OWVmNjU0OGQ3MzAxZmIzMDAwMDdmMDAwMCIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBP
clJkID0gcmFtcChzY2hlbWUkYyk7CisKK3ZhciBzY2hlbWUkZCA9IG5ldyBBcnJheSgzKS5jb25j
YXQoCisgICJlY2UyZjBhNmJkZGIxYzkwOTkiLAorICAiZjZlZmY3YmRjOWUxNjdhOWNmMDI4MThh
IiwKKyAgImY2ZWZmN2JkYzllMTY3YTljZjFjOTA5OTAxNmM1OSIsCisgICJmNmVmZjdkMGQxZTZh
NmJkZGI2N2E5Y2YxYzkwOTkwMTZjNTkiLAorICAiZjZlZmY3ZDBkMWU2YTZiZGRiNjdhOWNmMzY5
MGMwMDI4MThhMDE2NDUwIiwKKyAgImZmZjdmYmVjZTJmMGQwZDFlNmE2YmRkYjY3YTljZjM2OTBj
MDAyODE4YTAxNjQ1MCIsCisgICJmZmY3ZmJlY2UyZjBkMGQxZTZhNmJkZGI2N2E5Y2YzNjkwYzAw
MjgxOGEwMTZjNTkwMTQ2MzYiCispLm1hcChjb2xvcnMpOworCit2YXIgUHVCdUduID0gcmFtcChz
Y2hlbWUkZCk7CisKK3ZhciBzY2hlbWUkZSA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJlY2U3
ZjJhNmJkZGIyYjhjYmUiLAorICAiZjFlZWY2YmRjOWUxNzRhOWNmMDU3MGIwIiwKKyAgImYxZWVm
NmJkYzllMTc0YTljZjJiOGNiZTA0NWE4ZCIsCisgICJmMWVlZjZkMGQxZTZhNmJkZGI3NGE5Y2Yy
YjhjYmUwNDVhOGQiLAorICAiZjFlZWY2ZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDM0
ZTdiIiwKKyAgImZmZjdmYmVjZTdmMmQwZDFlNmE2YmRkYjc0YTljZjM2OTBjMDA1NzBiMDAzNGU3
YiIsCisgICJmZmY3ZmJlY2U3ZjJkMGQxZTZhNmJkZGI3NGE5Y2YzNjkwYzAwNTcwYjAwNDVhOGQw
MjM4NTgiCispLm1hcChjb2xvcnMpOworCit2YXIgUHVCdSA9IHJhbXAoc2NoZW1lJGUpOworCit2
YXIgc2NoZW1lJGYgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZTdlMWVmYzk5NGM3ZGQxYzc3
IiwKKyAgImYxZWVmNmQ3YjVkOGRmNjViMGNlMTI1NiIsCisgICJmMWVlZjZkN2I1ZDhkZjY1YjBk
ZDFjNzc5ODAwNDMiLAorICAiZjFlZWY2ZDRiOWRhYzk5NGM3ZGY2NWIwZGQxYzc3OTgwMDQzIiwK
KyAgImYxZWVmNmQ0YjlkYWM5OTRjN2RmNjViMGU3Mjk4YWNlMTI1NjkxMDAzZiIsCisgICJmN2Y0
ZjllN2UxZWZkNGI5ZGFjOTk0YzdkZjY1YjBlNzI5OGFjZTEyNTY5MTAwM2YiLAorICAiZjdmNGY5
ZTdlMWVmZDRiOWRhYzk5NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTgwMDQzNjcwMDFmIgorKS5tYXAo
Y29sb3JzKTsKKwordmFyIFB1UmQgPSByYW1wKHNjaGVtZSRmKTsKKwordmFyIHNjaGVtZSRnID0g
bmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImZkZTBkZGZhOWZiNWM1MWI4YSIsCisgICJmZWViZTJm
YmI0YjlmNzY4YTFhZTAxN2UiLAorICAiZmVlYmUyZmJiNGI5Zjc2OGExYzUxYjhhN2EwMTc3IiwK
KyAgImZlZWJlMmZjYzVjMGZhOWZiNWY3NjhhMWM1MWI4YTdhMDE3NyIsCisgICJmZWViZTJmY2M1
YzBmYTlmYjVmNzY4YTFkZDM0OTdhZTAxN2U3YTAxNzciLAorICAiZmZmN2YzZmRlMGRkZmNjNWMw
ZmE5ZmI1Zjc2OGExZGQzNDk3YWUwMTdlN2EwMTc3IiwKKyAgImZmZjdmM2ZkZTBkZGZjYzVjMGZh
OWZiNWY3NjhhMWRkMzQ5N2FlMDE3ZTdhMDE3NzQ5MDA2YSIKKykubWFwKGNvbG9ycyk7CisKK3Zh
ciBSZFB1ID0gcmFtcChzY2hlbWUkZyk7CisKK3ZhciBzY2hlbWUkaCA9IG5ldyBBcnJheSgzKS5j
b25jYXQoCisgICJlZGY4YjE3ZmNkYmIyYzdmYjgiLAorICAiZmZmZmNjYTFkYWI0NDFiNmM0MjI1
ZWE4IiwKKyAgImZmZmZjY2ExZGFiNDQxYjZjNDJjN2ZiODI1MzQ5NCIsCisgICJmZmZmY2NjN2U5
YjQ3ZmNkYmI0MWI2YzQyYzdmYjgyNTM0OTQiLAorICAiZmZmZmNjYzdlOWI0N2ZjZGJiNDFiNmM0
MWQ5MWMwMjI1ZWE4MGMyYzg0IiwKKyAgImZmZmZkOWVkZjhiMWM3ZTliNDdmY2RiYjQxYjZjNDFk
OTFjMDIyNWVhODBjMmM4NCIsCisgICJmZmZmZDllZGY4YjFjN2U5YjQ3ZmNkYmI0MWI2YzQxZDkx
YzAyMjVlYTgyNTM0OTQwODFkNTgiCispLm1hcChjb2xvcnMpOworCit2YXIgWWxHbkJ1ID0gcmFt
cChzY2hlbWUkaCk7CisKK3ZhciBzY2hlbWUkaSA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJm
N2ZjYjlhZGRkOGUzMWEzNTQiLAorICAiZmZmZmNjYzJlNjk5NzhjNjc5MjM4NDQzIiwKKyAgImZm
ZmZjY2MyZTY5OTc4YzY3OTMxYTM1NDAwNjgzNyIsCisgICJmZmZmY2NkOWYwYTNhZGRkOGU3OGM2
NzkzMWEzNTQwMDY4MzciLAorICAiZmZmZmNjZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQz
MDA1YTMyIiwKKyAgImZmZmZlNWY3ZmNiOWQ5ZjBhM2FkZGQ4ZTc4YzY3OTQxYWI1ZDIzODQ0MzAw
NWEzMiIsCisgICJmZmZmZTVmN2ZjYjlkOWYwYTNhZGRkOGU3OGM2Nzk0MWFiNWQyMzg0NDMwMDY4
MzcwMDQ1MjkiCispLm1hcChjb2xvcnMpOworCit2YXIgWWxHbiA9IHJhbXAoc2NoZW1lJGkpOwor
Cit2YXIgc2NoZW1lJGogPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZmZmN2JjZmVjNDRmZDk1
ZjBlIiwKKyAgImZmZmZkNGZlZDk4ZWZlOTkyOWNjNGMwMiIsCisgICJmZmZmZDRmZWQ5OGVmZTk5
MjlkOTVmMGU5OTM0MDQiLAorICAiZmZmZmQ0ZmVlMzkxZmVjNDRmZmU5OTI5ZDk1ZjBlOTkzNDA0
IiwKKyAgImZmZmZkNGZlZTM5MWZlYzQ0ZmZlOTkyOWVjNzAxNGNjNGMwMjhjMmQwNCIsCisgICJm
ZmZmZTVmZmY3YmNmZWUzOTFmZWM0NGZmZTk5MjllYzcwMTRjYzRjMDI4YzJkMDQiLAorICAiZmZm
ZmU1ZmZmN2JjZmVlMzkxZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOTkzNDA0NjYyNTA2IgorKS5t
YXAoY29sb3JzKTsKKwordmFyIFlsT3JCciA9IHJhbXAoc2NoZW1lJGopOworCit2YXIgc2NoZW1l
JGsgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZmZlZGEwZmViMjRjZjAzYjIwIiwKKyAgImZm
ZmZiMmZlY2M1Y2ZkOGQzY2UzMWExYyIsCisgICJmZmZmYjJmZWNjNWNmZDhkM2NmMDNiMjBiZDAw
MjYiLAorICAiZmZmZmIyZmVkOTc2ZmViMjRjZmQ4ZDNjZjAzYjIwYmQwMDI2IiwKKyAgImZmZmZi
MmZlZDk3NmZlYjI0Y2ZkOGQzY2ZjNGUyYWUzMWExY2IxMDAyNiIsCisgICJmZmZmY2NmZmVkYTBm
ZWQ5NzZmZWIyNGNmZDhkM2NmYzRlMmFlMzFhMWNiMTAwMjYiLAorICAiZmZmZmNjZmZlZGEwZmVk
OTc2ZmViMjRjZmQ4ZDNjZmM0ZTJhZTMxYTFjYmQwMDI2ODAwMDI2IgorKS5tYXAoY29sb3JzKTsK
KwordmFyIFlsT3JSZCA9IHJhbXAoc2NoZW1lJGspOworCit2YXIgc2NoZW1lJGwgPSBuZXcgQXJy
YXkoMykuY29uY2F0KAorICAiZGVlYmY3OWVjYWUxMzE4MmJkIiwKKyAgImVmZjNmZmJkZDdlNzZi
YWVkNjIxNzFiNSIsCisgICJlZmYzZmZiZGQ3ZTc2YmFlZDYzMTgyYmQwODUxOWMiLAorICAiZWZm
M2ZmYzZkYmVmOWVjYWUxNmJhZWQ2MzE4MmJkMDg1MTljIiwKKyAgImVmZjNmZmM2ZGJlZjllY2Fl
MTZiYWVkNjQyOTJjNjIxNzFiNTA4NDU5NCIsCisgICJmN2ZiZmZkZWViZjdjNmRiZWY5ZWNhZTE2
YmFlZDY0MjkyYzYyMTcxYjUwODQ1OTQiLAorICAiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJh
ZWQ2NDI5MmM2MjE3MWI1MDg1MTljMDgzMDZiIgorKS5tYXAoY29sb3JzKTsKKwordmFyIEJsdWVz
ID0gcmFtcChzY2hlbWUkbCk7CisKK3ZhciBzY2hlbWUkbSA9IG5ldyBBcnJheSgzKS5jb25jYXQo
CisgICJlNWY1ZTBhMWQ5OWIzMWEzNTQiLAorICAiZWRmOGU5YmFlNGIzNzRjNDc2MjM4YjQ1IiwK
KyAgImVkZjhlOWJhZTRiMzc0YzQ3NjMxYTM1NDAwNmQyYyIsCisgICJlZGY4ZTljN2U5YzBhMWQ5
OWI3NGM0NzYzMWEzNTQwMDZkMmMiLAorICAiZWRmOGU5YzdlOWMwYTFkOTliNzRjNDc2NDFhYjVk
MjM4YjQ1MDA1YTMyIiwKKyAgImY3ZmNmNWU1ZjVlMGM3ZTljMGExZDk5Yjc0YzQ3NjQxYWI1ZDIz
OGI0NTAwNWEzMiIsCisgICJmN2ZjZjVlNWY1ZTBjN2U5YzBhMWQ5OWI3NGM0NzY0MWFiNWQyMzhi
NDUwMDZkMmMwMDQ0MWIiCispLm1hcChjb2xvcnMpOworCit2YXIgR3JlZW5zID0gcmFtcChzY2hl
bWUkbSk7CisKK3ZhciBzY2hlbWUkbiA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJmMGYwZjBi
ZGJkYmQ2MzYzNjMiLAorICAiZjdmN2Y3Y2NjY2NjOTY5Njk2NTI1MjUyIiwKKyAgImY3ZjdmN2Nj
Y2NjYzk2OTY5NjYzNjM2MzI1MjUyNSIsCisgICJmN2Y3ZjdkOWQ5ZDliZGJkYmQ5Njk2OTY2MzYz
NjMyNTI1MjUiLAorICAiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1
IiwKKyAgImZmZmZmZmYwZjBmMGQ5ZDlkOWJkYmRiZDk2OTY5NjczNzM3MzUyNTI1MjI1MjUyNSIs
CisgICJmZmZmZmZmMGYwZjBkOWQ5ZDliZGJkYmQ5Njk2OTY3MzczNzM1MjUyNTIyNTI1MjUwMDAw
MDAiCispLm1hcChjb2xvcnMpOworCit2YXIgR3JleXMgPSByYW1wKHNjaGVtZSRuKTsKKwordmFy
IHNjaGVtZSRvID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImVmZWRmNWJjYmRkYzc1NmJiMSIs
CisgICJmMmYwZjdjYmM5ZTI5ZTlhYzg2YTUxYTMiLAorICAiZjJmMGY3Y2JjOWUyOWU5YWM4NzU2
YmIxNTQyNzhmIiwKKyAgImYyZjBmN2RhZGFlYmJjYmRkYzllOWFjODc1NmJiMTU0Mjc4ZiIsCisg
ICJmMmYwZjdkYWRhZWJiY2JkZGM5ZTlhYzg4MDdkYmE2YTUxYTM0YTE0ODYiLAorICAiZmNmYmZk
ZWZlZGY1ZGFkYWViYmNiZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNGExNDg2IiwKKyAgImZjZmJmZGVm
ZWRmNWRhZGFlYmJjYmRkYzllOWFjODgwN2RiYTZhNTFhMzU0Mjc4ZjNmMDA3ZCIKKykubWFwKGNv
bG9ycyk7CisKK3ZhciBQdXJwbGVzID0gcmFtcChzY2hlbWUkbyk7CisKK3ZhciBzY2hlbWUkcCA9
IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJmZWUwZDJmYzkyNzJkZTJkMjYiLAorICAiZmVlNWQ5
ZmNhZTkxZmI2YTRhY2IxODFkIiwKKyAgImZlZTVkOWZjYWU5MWZiNmE0YWRlMmQyNmE1MGYxNSIs
CisgICJmZWU1ZDlmY2JiYTFmYzkyNzJmYjZhNGFkZTJkMjZhNTBmMTUiLAorICAiZmVlNWQ5ZmNi
YmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkOTkwMDBkIiwKKyAgImZmZjVmMGZlZTBkMmZjYmJh
MWZjOTI3MmZiNmE0YWVmM2IyY2NiMTgxZDk5MDAwZCIsCisgICJmZmY1ZjBmZWUwZDJmY2JiYTFm
YzkyNzJmYjZhNGFlZjNiMmNjYjE4MWRhNTBmMTU2NzAwMGQiCispLm1hcChjb2xvcnMpOworCit2
YXIgUmVkcyA9IHJhbXAoc2NoZW1lJHApOworCit2YXIgc2NoZW1lJHEgPSBuZXcgQXJyYXkoMyku
Y29uY2F0KAorICAiZmVlNmNlZmRhZTZiZTY1NTBkIiwKKyAgImZlZWRkZWZkYmU4NWZkOGQzY2Q5
NDcwMSIsCisgICJmZWVkZGVmZGJlODVmZDhkM2NlNjU1MGRhNjM2MDMiLAorICAiZmVlZGRlZmRk
MGEyZmRhZTZiZmQ4ZDNjZTY1NTBkYTYzNjAzIiwKKyAgImZlZWRkZWZkZDBhMmZkYWU2YmZkOGQz
Y2YxNjkxM2Q5NDgwMThjMmQwNCIsCisgICJmZmY1ZWJmZWU2Y2VmZGQwYTJmZGFlNmJmZDhkM2Nm
MTY5MTNkOTQ4MDE4YzJkMDQiLAorICAiZmZmNWViZmVlNmNlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2
OTEzZDk0ODAxYTYzNjAzN2YyNzA0IgorKS5tYXAoY29sb3JzKTsKKwordmFyIE9yYW5nZXMgPSBy
YW1wKHNjaGVtZSRxKTsKKworZnVuY3Rpb24gY2l2aWRpcyh0KSB7CisgIHQgPSBNYXRoLm1heCgw
LCBNYXRoLm1pbigxLCB0KSk7CisgIHJldHVybiAicmdiKCIKKyAgICAgICsgTWF0aC5tYXgoMCwg
TWF0aC5taW4oMjU1LCBNYXRoLnJvdW5kKC00LjU0IC0gdCAqICgzNS4zNCAtIHQgKiAoMjM4MS43
MyAtIHQgKiAoNjQwMi43IC0gdCAqICg3MDI0LjcyIC0gdCAqIDI3MTAuNTcpKSkpKSkpICsgIiwg
IgorICAgICAgKyBNYXRoLm1heCgwLCBNYXRoLm1pbigyNTUsIE1hdGgucm91bmQoMzIuNDkgKyB0
ICogKDE3MC43MyArIHQgKiAoNTIuODIgLSB0ICogKDEzMS40NiAtIHQgKiAoMTc2LjU4IC0gdCAq
IDY3LjM3KSkpKSkpKSArICIsICIKKyAgICAgICsgTWF0aC5tYXgoMCwgTWF0aC5taW4oMjU1LCBN
YXRoLnJvdW5kKDgxLjI0ICsgdCAqICg0NDIuMzYgLSB0ICogKDI0ODIuNDMgLSB0ICogKDYxNjcu
MjQgLSB0ICogKDY2MTQuOTQgLSB0ICogMjQ3NS42NykpKSkpKSkKKyAgICAgICsgIikiOworfQor
Cit2YXIgY3ViZWhlbGl4JDMgPSBjdWJlaGVsaXhMb25nKGN1YmVoZWxpeCgzMDAsIDAuNSwgMC4w
KSwgY3ViZWhlbGl4KC0yNDAsIDAuNSwgMS4wKSk7CisKK3ZhciB3YXJtID0gY3ViZWhlbGl4TG9u
ZyhjdWJlaGVsaXgoLTEwMCwgMC43NSwgMC4zNSksIGN1YmVoZWxpeCg4MCwgMS41MCwgMC44KSk7
CisKK3ZhciBjb29sID0gY3ViZWhlbGl4TG9uZyhjdWJlaGVsaXgoMjYwLCAwLjc1LCAwLjM1KSwg
Y3ViZWhlbGl4KDgwLCAxLjUwLCAwLjgpKTsKKwordmFyIGMgPSBjdWJlaGVsaXgoKTsKKworZnVu
Y3Rpb24gcmFpbmJvdyh0KSB7CisgIGlmICh0IDwgMCB8fCB0ID4gMSkgdCAtPSBNYXRoLmZsb29y
KHQpOworICB2YXIgdHMgPSBNYXRoLmFicyh0IC0gMC41KTsKKyAgYy5oID0gMzYwICogdCAtIDEw
MDsKKyAgYy5zID0gMS41IC0gMS41ICogdHM7CisgIGMubCA9IDAuOCAtIDAuOSAqIHRzOworICBy
ZXR1cm4gYyArICIiOworfQorCit2YXIgYyQxID0gcmdiKCksCisgICAgcGlfMV8zID0gTWF0aC5Q
SSAvIDMsCisgICAgcGlfMl8zID0gTWF0aC5QSSAqIDIgLyAzOworCitmdW5jdGlvbiBzaW5lYm93
KHQpIHsKKyAgdmFyIHg7CisgIHQgPSAoMC41IC0gdCkgKiBNYXRoLlBJOworICBjJDEuciA9IDI1
NSAqICh4ID0gTWF0aC5zaW4odCkpICogeDsKKyAgYyQxLmcgPSAyNTUgKiAoeCA9IE1hdGguc2lu
KHQgKyBwaV8xXzMpKSAqIHg7CisgIGMkMS5iID0gMjU1ICogKHggPSBNYXRoLnNpbih0ICsgcGlf
Ml8zKSkgKiB4OworICByZXR1cm4gYyQxICsgIiI7Cit9CisKK2Z1bmN0aW9uIHR1cmJvKHQpIHsK
KyAgdCA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEsIHQpKTsKKyAgcmV0dXJuICJyZ2IoIgorICAg
ICAgKyBNYXRoLm1heCgwLCBNYXRoLm1pbigyNTUsIE1hdGgucm91bmQoMzQuNjEgKyB0ICogKDEx
NzIuMzMgLSB0ICogKDEwNzkzLjU2IC0gdCAqICgzMzMwMC4xMiAtIHQgKiAoMzgzOTQuNDkgLSB0
ICogMTQ4MjUuMDUpKSkpKSkpICsgIiwgIgorICAgICAgKyBNYXRoLm1heCgwLCBNYXRoLm1pbigy
NTUsIE1hdGgucm91bmQoMjMuMzEgKyB0ICogKDU1Ny4zMyArIHQgKiAoMTIyNS4zMyAtIHQgKiAo
MzU3NC45NiAtIHQgKiAoMTA3My43NyArIHQgKiA3MDcuNTYpKSkpKSkpICsgIiwgIgorICAgICAg
KyBNYXRoLm1heCgwLCBNYXRoLm1pbigyNTUsIE1hdGgucm91bmQoMjcuMiArIHQgKiAoMzIxMS4x
IC0gdCAqICgxNTMyNy45NyAtIHQgKiAoMjc4MTQgLSB0ICogKDIyNTY5LjE4IC0gdCAqIDY4Mzgu
NjYpKSkpKSkpCisgICAgICArICIpIjsKK30KKworZnVuY3Rpb24gcmFtcCQxKHJhbmdlKSB7Cisg
IHZhciBuID0gcmFuZ2UubGVuZ3RoOworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHJldHVy
biByYW5nZVtNYXRoLm1heCgwLCBNYXRoLm1pbihuIC0gMSwgTWF0aC5mbG9vcih0ICogbikpKV07
CisgIH07Cit9CisKK3ZhciB2aXJpZGlzID0gcmFtcCQxKGNvbG9ycygiNDQwMTU0NDQwMjU2NDUw
NDU3NDUwNTU5NDYwNzVhNDYwODVjNDYwYTVkNDYwYjVlNDcwZDYwNDcwZTYxNDcxMDYzNDcxMTY0
NDcxMzY1NDgxNDY3NDgxNjY4NDgxNzY5NDgxODZhNDgxYTZjNDgxYjZkNDgxYzZlNDgxZDZmNDgx
ZjcwNDgyMDcxNDgyMTczNDgyMzc0NDgyNDc1NDgyNTc2NDgyNjc3NDgyODc4NDgyOTc5NDcyYTdh
NDcyYzdhNDcyZDdiNDcyZTdjNDcyZjdkNDYzMDdlNDYzMjdlNDYzMzdmNDYzNDgwNDUzNTgxNDUz
NzgxNDUzODgyNDQzOTgzNDQzYTgzNDQzYjg0NDMzZDg0NDMzZTg1NDIzZjg1NDI0MDg2NDI0MTg2
NDE0Mjg3NDE0NDg3NDA0NTg4NDA0Njg4M2Y0Nzg4M2Y0ODg5M2U0OTg5M2U0YTg5M2U0YzhhM2Q0
ZDhhM2Q0ZThhM2M0ZjhhM2M1MDhiM2I1MThiM2I1MjhiM2E1MzhiM2E1NDhjMzk1NThjMzk1Njhj
Mzg1ODhjMzg1OThjMzc1YThjMzc1YjhkMzY1YzhkMzY1ZDhkMzU1ZThkMzU1ZjhkMzQ2MDhkMzQ2
MThkMzM2MjhkMzM2MzhkMzI2NDhlMzI2NThlMzE2NjhlMzE2NzhlMzE2ODhlMzA2OThlMzA2YThl
MmY2YjhlMmY2YzhlMmU2ZDhlMmU2ZThlMmU2ZjhlMmQ3MDhlMmQ3MThlMmM3MThlMmM3MjhlMmM3
MzhlMmI3NDhlMmI3NThlMmE3NjhlMmE3NzhlMmE3ODhlMjk3OThlMjk3YThlMjk3YjhlMjg3Yzhl
Mjg3ZDhlMjc3ZThlMjc3ZjhlMjc4MDhlMjY4MThlMjY4MjhlMjY4MjhlMjU4MzhlMjU4NDhlMjU4
NThlMjQ4NjhlMjQ4NzhlMjM4ODhlMjM4OThlMjM4YThkMjI4YjhkMjI4YzhkMjI4ZDhkMjE4ZThk
MjE4ZjhkMjE5MDhkMjE5MThjMjA5MjhjMjA5MjhjMjA5MzhjMWY5NDhjMWY5NThiMWY5NjhiMWY5
NzhiMWY5ODhiMWY5OThhMWY5YThhMWU5YjhhMWU5Yzg5MWU5ZDg5MWY5ZTg5MWY5Zjg4MWZhMDg4
MWZhMTg4MWZhMTg3MWZhMjg3MjBhMzg2MjBhNDg2MjFhNTg1MjFhNjg1MjJhNzg1MjJhODg0MjNh
OTgzMjRhYTgzMjVhYjgyMjVhYzgyMjZhZDgxMjdhZDgxMjhhZTgwMjlhZjdmMmFiMDdmMmNiMTdl
MmRiMjdkMmViMzdjMmZiNDdjMzFiNTdiMzJiNjdhMzRiNjc5MzViNzc5MzdiODc4MzhiOTc3M2Fi
YTc2M2JiYjc1M2RiYzc0M2ZiYzczNDBiZDcyNDJiZTcxNDRiZjcwNDZjMDZmNDhjMTZlNGFjMTZk
NGNjMjZjNGVjMzZiNTBjNDZhNTJjNTY5NTRjNTY4NTZjNjY3NThjNzY1NWFjODY0NWNjODYzNWVj
OTYyNjBjYTYwNjNjYjVmNjVjYjVlNjdjYzVjNjljZDViNmNjZDVhNmVjZTU4NzBjZjU3NzNkMDU2
NzVkMDU0NzdkMTUzN2FkMTUxN2NkMjUwN2ZkMzRlODFkMzRkODRkNDRiODZkNTQ5ODlkNTQ4OGJk
NjQ2OGVkNjQ1OTBkNzQzOTNkNzQxOTVkODQwOThkODNlOWJkOTNjOWRkOTNiYTBkYTM5YTJkYTM3
YTVkYjM2YThkYjM0YWFkYzMyYWRkYzMwYjBkZDJmYjJkZDJkYjVkZTJiYjhkZTI5YmFkZTI4YmRk
ZjI2YzBkZjI1YzJkZjIzYzVlMDIxYzhlMDIwY2FlMTFmY2RlMTFkZDBlMTFjZDJlMjFiZDVlMjFh
ZDhlMjE5ZGFlMzE5ZGRlMzE4ZGZlMzE4ZTJlNDE4ZTVlNDE5ZTdlNDE5ZWFlNTFhZWNlNTFiZWZl
NTFjZjFlNTFkZjRlNjFlZjZlNjIwZjhlNjIxZmJlNzIzZmRlNzI1IikpOworCit2YXIgbWFnbWEg
PSByYW1wJDEoY29sb3JzKCIwMDAwMDQwMTAwMDUwMTAxMDYwMTAxMDgwMjAxMDkwMjAyMGIwMjAy
MGQwMzAzMGYwMzAzMTIwNDA0MTQwNTA0MTYwNjA1MTgwNjA1MWEwNzA2MWMwODA3MWUwOTA3MjAw
YTA4MjIwYjA5MjQwYzA5MjYwZDBhMjkwZTBiMmIxMDBiMmQxMTBjMmYxMjBkMzExMzBkMzQxNDBl
MzYxNTBlMzgxNjBmM2IxODBmM2QxOTEwM2YxYTEwNDIxYzEwNDQxZDExNDcxZTExNDkyMDExNGIy
MTExNGUyMjExNTAyNDEyNTMyNTEyNTUyNzEyNTgyOTExNWEyYTExNWMyYzExNWYyZDExNjEyZjEx
NjMzMTExNjUzMzEwNjczNDEwNjkzNjEwNmIzODEwNmMzOTBmNmUzYjBmNzAzZDBmNzEzZjBmNzI0
MDBmNzQ0MjBmNzU0NDBmNzY0NTEwNzc0NzEwNzg0OTEwNzg0YTEwNzk0YzExN2E0ZTExN2I0ZjEy
N2I1MTEyN2M1MjEzN2M1NDEzN2Q1NjE0N2Q1NzE1N2U1OTE1N2U1YTE2N2U1YzE2N2Y1ZDE3N2Y1
ZjE4N2Y2MDE4ODA2MjE5ODA2NDFhODA2NTFhODA2NzFiODA2ODFjODE2YTFjODE2YjFkODE2ZDFk
ODE2ZTFlODE3MDFmODE3MjFmODE3MzIwODE3NTIxODE3NjIxODE3ODIyODE3OTIyODI3YjIzODI3
YzIzODI3ZTI0ODI4MDI1ODI4MTI1ODE4MzI2ODE4NDI2ODE4NjI3ODE4ODI3ODE4OTI4ODE4YjI5
ODE4YzI5ODE4ZTJhODE5MDJhODE5MTJiODE5MzJiODA5NDJjODA5NjJjODA5ODJkODA5OTJkODA5
YjJlN2Y5YzJlN2Y5ZTJmN2ZhMDJmN2ZhMTMwN2VhMzMwN2VhNTMxN2VhNjMxN2RhODMyN2RhYTMz
N2RhYjMzN2NhZDM0N2NhZTM0N2JiMDM1N2JiMjM1N2JiMzM2N2FiNTM2N2FiNzM3NzliODM3Nzli
YTM4NzhiYzM5NzhiZDM5NzdiZjNhNzdjMDNhNzZjMjNiNzVjNDNjNzVjNTNjNzRjNzNkNzNjODNl
NzNjYTNlNzJjYzNmNzFjZDQwNzFjZjQwNzBkMDQxNmZkMjQyNmZkMzQzNmVkNTQ0NmRkNjQ1NmNk
ODQ1NmNkOTQ2NmJkYjQ3NmFkYzQ4NjlkZTQ5NjhkZjRhNjhlMDRjNjdlMjRkNjZlMzRlNjVlNDRm
NjRlNTUwNjRlNzUyNjNlODUzNjJlOTU0NjJlYTU2NjFlYjU3NjBlYzU4NjBlZDVhNWZlZTViNWVl
ZjVkNWVmMDVmNWVmMTYwNWRmMjYyNWRmMjY0NWNmMzY1NWNmNDY3NWNmNDY5NWNmNTZiNWNmNjZj
NWNmNjZlNWNmNzcwNWNmNzcyNWNmODc0NWNmODc2NWNmOTc4NWRmOTc5NWRmOTdiNWRmYTdkNWVm
YTdmNWVmYTgxNWZmYjgzNWZmYjg1NjBmYjg3NjFmYzg5NjFmYzhhNjJmYzhjNjNmYzhlNjRmYzkw
NjVmZDkyNjZmZDk0NjdmZDk2NjhmZDk4NjlmZDlhNmFmZDliNmJmZTlkNmNmZTlmNmRmZWExNmVm
ZWEzNmZmZWE1NzFmZWE3NzJmZWE5NzNmZWFhNzRmZWFjNzZmZWFlNzdmZWIwNzhmZWIyN2FmZWI0
N2JmZWI2N2NmZWI3N2VmZWI5N2ZmZWJiODFmZWJkODJmZWJmODRmZWMxODVmZWMyODdmZWM0ODhm
ZWM2OGFmZWM4OGNmZWNhOGRmZWNjOGZmZWNkOTBmZWNmOTJmZWQxOTRmZWQzOTVmZWQ1OTdmZWQ3
OTlmZWQ4OWFmZGRhOWNmZGRjOWVmZGRlYTBmZGUwYTFmZGUyYTNmZGUzYTVmZGU1YTdmZGU3YTlm
ZGU5YWFmZGViYWNmY2VjYWVmY2VlYjBmY2YwYjJmY2YyYjRmY2Y0YjZmY2Y2YjhmY2Y3YjlmY2Y5
YmJmY2ZiYmRmY2ZkYmYiKSk7CisKK3ZhciBpbmZlcm5vID0gcmFtcCQxKGNvbG9ycygiMDAwMDA0
MDEwMDA1MDEwMTA2MDEwMTA4MDIwMTBhMDIwMjBjMDIwMjBlMDMwMjEwMDQwMzEyMDQwMzE0MDUw
NDE3MDYwNDE5MDcwNTFiMDgwNTFkMDkwNjFmMGEwNzIyMGIwNzI0MGMwODI2MGQwODI5MGUwOTJi
MTAwOTJkMTEwYTMwMTIwYTMyMTQwYjM0MTUwYjM3MTYwYjM5MTgwYzNjMTkwYzNlMWIwYzQxMWMw
YzQzMWUwYzQ1MWYwYzQ4MjEwYzRhMjMwYzRjMjQwYzRmMjYwYzUxMjgwYjUzMjkwYjU1MmIwYjU3
MmQwYjU5MmYwYTViMzEwYTVjMzIwYTVlMzQwYTVmMzYwOTYxMzgwOTYyMzkwOTYzM2IwOTY0M2Qw
OTY1M2UwOTY2NDAwYTY3NDIwYTY4NDQwYTY4NDUwYTY5NDcwYjZhNDkwYjZhNGEwYzZiNGMwYzZi
NGQwZDZjNGYwZDZjNTEwZTZjNTIwZTZkNTQwZjZkNTUwZjZkNTcxMDZlNTkxMDZlNWExMTZlNWMx
MjZlNWQxMjZlNWYxMzZlNjExMzZlNjIxNDZlNjQxNTZlNjUxNTZlNjcxNjZlNjkxNjZlNmExNzZl
NmMxODZlNmQxODZlNmYxOTZlNzExOTZlNzIxYTZlNzQxYTZlNzUxYjZlNzcxYzZkNzgxYzZkN2Ex
ZDZkN2MxZDZkN2QxZTZkN2YxZTZjODAxZjZjODIyMDZjODQyMDZiODUyMTZiODcyMTZiODgyMjZh
OGEyMjZhOGMyMzY5OGQyMzY5OGYyNDY5OTAyNTY4OTIyNTY4OTMyNjY3OTUyNjY3OTcyNzY2OTgy
NzY2OWEyODY1OWIyOTY0OWQyOTY0OWYyYTYzYTAyYTYzYTIyYjYyYTMyYzYxYTUyYzYwYTYyZDYw
YTgyZTVmYTkyZTVlYWIyZjVlYWQzMDVkYWUzMDVjYjAzMTViYjEzMjVhYjMzMjVhYjQzMzU5YjYz
NDU4YjczNTU3YjkzNTU2YmEzNjU1YmMzNzU0YmQzODUzYmYzOTUyYzAzYTUxYzEzYTUwYzMzYjRm
YzQzYzRlYzYzZDRkYzczZTRjYzgzZjRiY2E0MDRhY2I0MTQ5Y2M0MjQ4Y2U0MzQ3Y2Y0NDQ2ZDA0
NTQ1ZDI0NjQ0ZDM0NzQzZDQ0ODQyZDU0YTQxZDc0YjNmZDg0YzNlZDk0ZDNkZGE0ZTNjZGI1MDNi
ZGQ1MTNhZGU1MjM4ZGY1MzM3ZTA1NTM2ZTE1NjM1ZTI1NzM0ZTM1OTMzZTQ1YTMxZTU1YzMwZTY1
ZDJmZTc1ZTJlZTg2MDJkZTk2MTJiZWE2MzJhZWI2NDI5ZWI2NjI4ZWM2NzI2ZWQ2OTI1ZWU2YTI0
ZWY2YzIzZWY2ZTIxZjA2ZjIwZjE3MTFmZjE3MzFkZjI3NDFjZjM3NjFiZjM3ODE5ZjQ3OTE4ZjU3
YjE3ZjU3ZDE1ZjY3ZTE0ZjY4MDEzZjc4MjEyZjc4NDEwZjg4NTBmZjg4NzBlZjg4OTBjZjk4YjBi
Zjk4YzBhZjk4ZTA5ZmE5MDA4ZmE5MjA3ZmE5NDA3ZmI5NjA2ZmI5NzA2ZmI5OTA2ZmI5YjA2ZmI5
ZDA3ZmM5ZjA3ZmNhMTA4ZmNhMzA5ZmNhNTBhZmNhNjBjZmNhODBkZmNhYTBmZmNhYzExZmNhZTEy
ZmNiMDE0ZmNiMjE2ZmNiNDE4ZmJiNjFhZmJiODFkZmJiYTFmZmJiYzIxZmJiZTIzZmFjMDI2ZmFj
MjI4ZmFjNDJhZmFjNjJkZjljNzJmZjljOTMyZjljYjM1ZjhjZDM3ZjhjZjNhZjdkMTNkZjdkMzQw
ZjZkNTQzZjZkNzQ2ZjVkOTQ5ZjVkYjRjZjRkZDRmZjRkZjUzZjRlMTU2ZjNlMzVhZjNlNTVkZjJl
NjYxZjJlODY1ZjJlYTY5ZjFlYzZkZjFlZDcxZjFlZjc1ZjFmMTc5ZjJmMjdkZjJmNDgyZjNmNTg2
ZjNmNjhhZjRmODhlZjVmOTkyZjZmYTk2ZjhmYjlhZjlmYzlkZmFmZGExZmNmZmE0IikpOworCit2
YXIgcGxhc21hID0gcmFtcCQxKGNvbG9ycygiMGQwODg3MTAwNzg4MTMwNzg5MTYwNzhhMTkwNjhj
MWIwNjhkMWQwNjhlMjAwNjhmMjIwNjkwMjQwNjkxMjYwNTkxMjgwNTkyMmEwNTkzMmMwNTk0MmUw
NTk1MmYwNTk2MzEwNTk3MzMwNTk3MzUwNDk4MzcwNDk5MzgwNDlhM2EwNDlhM2MwNDliM2UwNDlj
M2YwNDljNDEwNDlkNDMwMzllNDQwMzllNDYwMzlmNDgwMzlmNDkwM2EwNGIwM2ExNGMwMmExNGUw
MmEyNTAwMmEyNTEwMmEzNTMwMmEzNTUwMmE0NTYwMWE0NTgwMWE0NTkwMWE1NWIwMWE1NWMwMWE2
NWUwMWE2NjAwMWE2NjEwMGE3NjMwMGE3NjQwMGE3NjYwMGE3NjcwMGE4NjkwMGE4NmEwMGE4NmMw
MGE4NmUwMGE4NmYwMGE4NzEwMGE4NzIwMWE4NzQwMWE4NzUwMWE4NzcwMWE4NzgwMWE4N2EwMmE4
N2IwMmE4N2QwM2E4N2UwM2E4ODAwNGE4ODEwNGE3ODMwNWE3ODQwNWE3ODYwNmE2ODcwN2E2ODgw
OGE2OGEwOWE1OGIwYWE1OGQwYmE1OGUwY2E0OGYwZGE0OTEwZWEzOTIwZmEzOTQxMGEyOTUxMWEx
OTYxM2ExOTgxNGEwOTkxNTlmOWExNjlmOWMxNzllOWQxODlkOWUxOTlkYTAxYTljYTExYjliYTIx
ZDlhYTMxZTlhYTUxZjk5YTYyMDk4YTcyMTk3YTgyMjk2YWEyMzk1YWIyNDk0YWMyNjk0YWQyNzkz
YWUyODkyYjAyOTkxYjEyYTkwYjIyYjhmYjMyYzhlYjQyZThkYjUyZjhjYjYzMDhiYjczMThhYjgz
Mjg5YmEzMzg4YmIzNDg4YmMzNTg3YmQzNzg2YmUzODg1YmYzOTg0YzAzYTgzYzEzYjgyYzIzYzgx
YzMzZDgwYzQzZTdmYzU0MDdlYzY0MTdkYzc0MjdjYzg0MzdiYzk0NDdhY2E0NTdhY2I0Njc5Y2M0
Nzc4Y2M0OTc3Y2Q0YTc2Y2U0Yjc1Y2Y0Yzc0ZDA0ZDczZDE0ZTcyZDI0ZjcxZDM1MTcxZDQ1Mjcw
ZDU1MzZmZDU1NDZlZDY1NTZkZDc1NjZjZDg1NzZiZDk1ODZhZGE1YTZhZGE1YjY5ZGI1YzY4ZGM1
ZDY3ZGQ1ZTY2ZGU1ZjY1ZGU2MTY0ZGY2MjYzZTA2MzYzZTE2NDYyZTI2NTYxZTI2NjYwZTM2ODVm
ZTQ2OTVlZTU2YTVkZTU2YjVkZTY2YzVjZTc2ZTViZTc2ZjVhZTg3MDU5ZTk3MTU4ZTk3MjU3ZWE3
NDU3ZWI3NTU2ZWI3NjU1ZWM3NzU0ZWQ3OTUzZWQ3YTUyZWU3YjUxZWY3YzUxZWY3ZTUwZjA3ZjRm
ZjA4MDRlZjE4MTRkZjE4MzRjZjI4NDRiZjM4NTRiZjM4NzRhZjQ4ODQ5ZjQ4OTQ4ZjU4YjQ3ZjU4
YzQ2ZjY4ZDQ1ZjY4ZjQ0Zjc5MDQ0Zjc5MTQzZjc5MzQyZjg5NDQxZjg5NTQwZjk5NzNmZjk5ODNl
Zjk5YTNlZmE5YjNkZmE5YzNjZmE5ZTNiZmI5ZjNhZmJhMTM5ZmJhMjM4ZmNhMzM4ZmNhNTM3ZmNh
NjM2ZmNhODM1ZmNhOTM0ZmRhYjMzZmRhYzMzZmRhZTMyZmRhZjMxZmRiMTMwZmRiMjJmZmRiNDJm
ZmRiNTJlZmViNzJkZmViODJjZmViYTJjZmViYjJiZmViZDJhZmViZTJhZmVjMDI5ZmRjMjI5ZmRj
MzI4ZmRjNTI3ZmRjNjI3ZmRjODI3ZmRjYTI2ZmRjYjI2ZmNjZDI1ZmNjZTI1ZmNkMDI1ZmNkMjI1
ZmJkMzI0ZmJkNTI0ZmJkNzI0ZmFkODI0ZmFkYTI0ZjlkYzI0ZjlkZDI1ZjhkZjI1ZjhlMTI1Zjdl
MjI1ZjdlNDI1ZjZlNjI2ZjZlODI2ZjVlOTI2ZjVlYjI3ZjRlZDI3ZjNlZTI3ZjNmMDI3ZjJmMjI3
ZjFmNDI2ZjFmNTI1ZjBmNzI0ZjBmOTIxIikpOworCitmdW5jdGlvbiBjb25zdGFudCRiKHgpIHsK
KyAgcmV0dXJuIGZ1bmN0aW9uIGNvbnN0YW50KCkgeworICAgIHJldHVybiB4OworICB9OworfQor
Cit2YXIgYWJzJDEgPSBNYXRoLmFiczsKK3ZhciBhdGFuMiQxID0gTWF0aC5hdGFuMjsKK3ZhciBj
b3MkMiA9IE1hdGguY29zOwordmFyIG1heCQyID0gTWF0aC5tYXg7Cit2YXIgbWluJDEgPSBNYXRo
Lm1pbjsKK3ZhciBzaW4kMiA9IE1hdGguc2luOwordmFyIHNxcnQkMiA9IE1hdGguc3FydDsKKwor
dmFyIGVwc2lsb24kMyA9IDFlLTEyOwordmFyIHBpJDQgPSBNYXRoLlBJOwordmFyIGhhbGZQaSQz
ID0gcGkkNCAvIDI7Cit2YXIgdGF1JDQgPSAyICogcGkkNDsKKworZnVuY3Rpb24gYWNvcyQxKHgp
IHsKKyAgcmV0dXJuIHggPiAxID8gMCA6IHggPCAtMSA/IHBpJDQgOiBNYXRoLmFjb3MoeCk7Cit9
CisKK2Z1bmN0aW9uIGFzaW4kMSh4KSB7CisgIHJldHVybiB4ID49IDEgPyBoYWxmUGkkMyA6IHgg
PD0gLTEgPyAtaGFsZlBpJDMgOiBNYXRoLmFzaW4oeCk7Cit9CisKK2Z1bmN0aW9uIGFyY0lubmVy
UmFkaXVzKGQpIHsKKyAgcmV0dXJuIGQuaW5uZXJSYWRpdXM7Cit9CisKK2Z1bmN0aW9uIGFyY091
dGVyUmFkaXVzKGQpIHsKKyAgcmV0dXJuIGQub3V0ZXJSYWRpdXM7Cit9CisKK2Z1bmN0aW9uIGFy
Y1N0YXJ0QW5nbGUoZCkgeworICByZXR1cm4gZC5zdGFydEFuZ2xlOworfQorCitmdW5jdGlvbiBh
cmNFbmRBbmdsZShkKSB7CisgIHJldHVybiBkLmVuZEFuZ2xlOworfQorCitmdW5jdGlvbiBhcmNQ
YWRBbmdsZShkKSB7CisgIHJldHVybiBkICYmIGQucGFkQW5nbGU7IC8vIE5vdGU6IG9wdGlvbmFs
IQorfQorCitmdW5jdGlvbiBpbnRlcnNlY3QoeDAsIHkwLCB4MSwgeTEsIHgyLCB5MiwgeDMsIHkz
KSB7CisgIHZhciB4MTAgPSB4MSAtIHgwLCB5MTAgPSB5MSAtIHkwLAorICAgICAgeDMyID0geDMg
LSB4MiwgeTMyID0geTMgLSB5MiwKKyAgICAgIHQgPSB5MzIgKiB4MTAgLSB4MzIgKiB5MTA7Cisg
IGlmICh0ICogdCA8IGVwc2lsb24kMykgcmV0dXJuOworICB0ID0gKHgzMiAqICh5MCAtIHkyKSAt
IHkzMiAqICh4MCAtIHgyKSkgLyB0OworICByZXR1cm4gW3gwICsgdCAqIHgxMCwgeTAgKyB0ICog
eTEwXTsKK30KKworLy8gQ29tcHV0ZSBwZXJwZW5kaWN1bGFyIG9mZnNldCBsaW5lIG9mIGxlbmd0
aCByYy4KKy8vIGh0dHA6Ly9tYXRod29ybGQud29sZnJhbS5jb20vQ2lyY2xlLUxpbmVJbnRlcnNl
Y3Rpb24uaHRtbAorZnVuY3Rpb24gY29ybmVyVGFuZ2VudHMoeDAsIHkwLCB4MSwgeTEsIHIxLCBy
YywgY3cpIHsKKyAgdmFyIHgwMSA9IHgwIC0geDEsCisgICAgICB5MDEgPSB5MCAtIHkxLAorICAg
ICAgbG8gPSAoY3cgPyByYyA6IC1yYykgLyBzcXJ0JDIoeDAxICogeDAxICsgeTAxICogeTAxKSwK
KyAgICAgIG94ID0gbG8gKiB5MDEsCisgICAgICBveSA9IC1sbyAqIHgwMSwKKyAgICAgIHgxMSA9
IHgwICsgb3gsCisgICAgICB5MTEgPSB5MCArIG95LAorICAgICAgeDEwID0geDEgKyBveCwKKyAg
ICAgIHkxMCA9IHkxICsgb3ksCisgICAgICB4MDAgPSAoeDExICsgeDEwKSAvIDIsCisgICAgICB5
MDAgPSAoeTExICsgeTEwKSAvIDIsCisgICAgICBkeCA9IHgxMCAtIHgxMSwKKyAgICAgIGR5ID0g
eTEwIC0geTExLAorICAgICAgZDIgPSBkeCAqIGR4ICsgZHkgKiBkeSwKKyAgICAgIHIgPSByMSAt
IHJjLAorICAgICAgRCA9IHgxMSAqIHkxMCAtIHgxMCAqIHkxMSwKKyAgICAgIGQgPSAoZHkgPCAw
ID8gLTEgOiAxKSAqIHNxcnQkMihtYXgkMigwLCByICogciAqIGQyIC0gRCAqIEQpKSwKKyAgICAg
IGN4MCA9IChEICogZHkgLSBkeCAqIGQpIC8gZDIsCisgICAgICBjeTAgPSAoLUQgKiBkeCAtIGR5
ICogZCkgLyBkMiwKKyAgICAgIGN4MSA9IChEICogZHkgKyBkeCAqIGQpIC8gZDIsCisgICAgICBj
eTEgPSAoLUQgKiBkeCArIGR5ICogZCkgLyBkMiwKKyAgICAgIGR4MCA9IGN4MCAtIHgwMCwKKyAg
ICAgIGR5MCA9IGN5MCAtIHkwMCwKKyAgICAgIGR4MSA9IGN4MSAtIHgwMCwKKyAgICAgIGR5MSA9
IGN5MSAtIHkwMDsKKworICAvLyBQaWNrIHRoZSBjbG9zZXIgb2YgdGhlIHR3byBpbnRlcnNlY3Rp
b24gcG9pbnRzLgorICAvLyBUT0RPIElzIHRoZXJlIGEgZmFzdGVyIHdheSB0byBkZXRlcm1pbmUg
d2hpY2ggaW50ZXJzZWN0aW9uIHRvIHVzZT8KKyAgaWYgKGR4MCAqIGR4MCArIGR5MCAqIGR5MCA+
IGR4MSAqIGR4MSArIGR5MSAqIGR5MSkgY3gwID0gY3gxLCBjeTAgPSBjeTE7CisKKyAgcmV0dXJu
IHsKKyAgICBjeDogY3gwLAorICAgIGN5OiBjeTAsCisgICAgeDAxOiAtb3gsCisgICAgeTAxOiAt
b3ksCisgICAgeDExOiBjeDAgKiAocjEgLyByIC0gMSksCisgICAgeTExOiBjeTAgKiAocjEgLyBy
IC0gMSkKKyAgfTsKK30KKworZnVuY3Rpb24gYXJjKCkgeworICB2YXIgaW5uZXJSYWRpdXMgPSBh
cmNJbm5lclJhZGl1cywKKyAgICAgIG91dGVyUmFkaXVzID0gYXJjT3V0ZXJSYWRpdXMsCisgICAg
ICBjb3JuZXJSYWRpdXMgPSBjb25zdGFudCRiKDApLAorICAgICAgcGFkUmFkaXVzID0gbnVsbCwK
KyAgICAgIHN0YXJ0QW5nbGUgPSBhcmNTdGFydEFuZ2xlLAorICAgICAgZW5kQW5nbGUgPSBhcmNF
bmRBbmdsZSwKKyAgICAgIHBhZEFuZ2xlID0gYXJjUGFkQW5nbGUsCisgICAgICBjb250ZXh0ID0g
bnVsbDsKKworICBmdW5jdGlvbiBhcmMoKSB7CisgICAgdmFyIGJ1ZmZlciwKKyAgICAgICAgciwK
KyAgICAgICAgcjAgPSAraW5uZXJSYWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRzKSwKKyAgICAg
ICAgcjEgPSArb3V0ZXJSYWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRzKSwKKyAgICAgICAgYTAg
PSBzdGFydEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgLSBoYWxmUGkkMywKKyAgICAgICAg
YTEgPSBlbmRBbmdsZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpIC0gaGFsZlBpJDMsCisgICAgICAg
IGRhID0gYWJzJDEoYTEgLSBhMCksCisgICAgICAgIGN3ID0gYTEgPiBhMDsKKworICAgIGlmICgh
Y29udGV4dCkgY29udGV4dCA9IGJ1ZmZlciA9IHBhdGgoKTsKKworICAgIC8vIEVuc3VyZSB0aGF0
IHRoZSBvdXRlciByYWRpdXMgaXMgYWx3YXlzIGxhcmdlciB0aGFuIHRoZSBpbm5lciByYWRpdXMu
CisgICAgaWYgKHIxIDwgcjApIHIgPSByMSwgcjEgPSByMCwgcjAgPSByOworCisgICAgLy8gSXMg
aXQgYSBwb2ludD8KKyAgICBpZiAoIShyMSA+IGVwc2lsb24kMykpIGNvbnRleHQubW92ZVRvKDAs
IDApOworCisgICAgLy8gT3IgaXMgaXQgYSBjaXJjbGUgb3IgYW5udWx1cz8KKyAgICBlbHNlIGlm
IChkYSA+IHRhdSQ0IC0gZXBzaWxvbiQzKSB7CisgICAgICBjb250ZXh0Lm1vdmVUbyhyMSAqIGNv
cyQyKGEwKSwgcjEgKiBzaW4kMihhMCkpOworICAgICAgY29udGV4dC5hcmMoMCwgMCwgcjEsIGEw
LCBhMSwgIWN3KTsKKyAgICAgIGlmIChyMCA+IGVwc2lsb24kMykgeworICAgICAgICBjb250ZXh0
Lm1vdmVUbyhyMCAqIGNvcyQyKGExKSwgcjAgKiBzaW4kMihhMSkpOworICAgICAgICBjb250ZXh0
LmFyYygwLCAwLCByMCwgYTEsIGEwLCBjdyk7CisgICAgICB9CisgICAgfQorCisgICAgLy8gT3Ig
aXMgaXQgYSBjaXJjdWxhciBvciBhbm51bGFyIHNlY3Rvcj8KKyAgICBlbHNlIHsKKyAgICAgIHZh
ciBhMDEgPSBhMCwKKyAgICAgICAgICBhMTEgPSBhMSwKKyAgICAgICAgICBhMDAgPSBhMCwKKyAg
ICAgICAgICBhMTAgPSBhMSwKKyAgICAgICAgICBkYTAgPSBkYSwKKyAgICAgICAgICBkYTEgPSBk
YSwKKyAgICAgICAgICBhcCA9IHBhZEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgLyAyLAor
ICAgICAgICAgIHJwID0gKGFwID4gZXBzaWxvbiQzKSAmJiAocGFkUmFkaXVzID8gK3BhZFJhZGl1
cy5hcHBseSh0aGlzLCBhcmd1bWVudHMpIDogc3FydCQyKHIwICogcjAgKyByMSAqIHIxKSksCisg
ICAgICAgICAgcmMgPSBtaW4kMShhYnMkMShyMSAtIHIwKSAvIDIsICtjb3JuZXJSYWRpdXMuYXBw
bHkodGhpcywgYXJndW1lbnRzKSksCisgICAgICAgICAgcmMwID0gcmMsCisgICAgICAgICAgcmMx
ID0gcmMsCisgICAgICAgICAgdDAsCisgICAgICAgICAgdDE7CisKKyAgICAgIC8vIEFwcGx5IHBh
ZGRpbmc/IE5vdGUgdGhhdCBzaW5jZSByMSDiiaUgcjAsIGRhMSDiiaUgZGEwLgorICAgICAgaWYg
KHJwID4gZXBzaWxvbiQzKSB7CisgICAgICAgIHZhciBwMCA9IGFzaW4kMShycCAvIHIwICogc2lu
JDIoYXApKSwKKyAgICAgICAgICAgIHAxID0gYXNpbiQxKHJwIC8gcjEgKiBzaW4kMihhcCkpOwor
ICAgICAgICBpZiAoKGRhMCAtPSBwMCAqIDIpID4gZXBzaWxvbiQzKSBwMCAqPSAoY3cgPyAxIDog
LTEpLCBhMDAgKz0gcDAsIGExMCAtPSBwMDsKKyAgICAgICAgZWxzZSBkYTAgPSAwLCBhMDAgPSBh
MTAgPSAoYTAgKyBhMSkgLyAyOworICAgICAgICBpZiAoKGRhMSAtPSBwMSAqIDIpID4gZXBzaWxv
biQzKSBwMSAqPSAoY3cgPyAxIDogLTEpLCBhMDEgKz0gcDEsIGExMSAtPSBwMTsKKyAgICAgICAg
ZWxzZSBkYTEgPSAwLCBhMDEgPSBhMTEgPSAoYTAgKyBhMSkgLyAyOworICAgICAgfQorCisgICAg
ICB2YXIgeDAxID0gcjEgKiBjb3MkMihhMDEpLAorICAgICAgICAgIHkwMSA9IHIxICogc2luJDIo
YTAxKSwKKyAgICAgICAgICB4MTAgPSByMCAqIGNvcyQyKGExMCksCisgICAgICAgICAgeTEwID0g
cjAgKiBzaW4kMihhMTApOworCisgICAgICAvLyBBcHBseSByb3VuZGVkIGNvcm5lcnM/CisgICAg
ICBpZiAocmMgPiBlcHNpbG9uJDMpIHsKKyAgICAgICAgdmFyIHgxMSA9IHIxICogY29zJDIoYTEx
KSwKKyAgICAgICAgICAgIHkxMSA9IHIxICogc2luJDIoYTExKSwKKyAgICAgICAgICAgIHgwMCA9
IHIwICogY29zJDIoYTAwKSwKKyAgICAgICAgICAgIHkwMCA9IHIwICogc2luJDIoYTAwKSwKKyAg
ICAgICAgICAgIG9jOworCisgICAgICAgIC8vIFJlc3RyaWN0IHRoZSBjb3JuZXIgcmFkaXVzIGFj
Y29yZGluZyB0byB0aGUgc2VjdG9yIGFuZ2xlLgorICAgICAgICBpZiAoZGEgPCBwaSQ0ICYmIChv
YyA9IGludGVyc2VjdCh4MDEsIHkwMSwgeDAwLCB5MDAsIHgxMSwgeTExLCB4MTAsIHkxMCkpKSB7
CisgICAgICAgICAgdmFyIGF4ID0geDAxIC0gb2NbMF0sCisgICAgICAgICAgICAgIGF5ID0geTAx
IC0gb2NbMV0sCisgICAgICAgICAgICAgIGJ4ID0geDExIC0gb2NbMF0sCisgICAgICAgICAgICAg
IGJ5ID0geTExIC0gb2NbMV0sCisgICAgICAgICAgICAgIGtjID0gMSAvIHNpbiQyKGFjb3MkMSgo
YXggKiBieCArIGF5ICogYnkpIC8gKHNxcnQkMihheCAqIGF4ICsgYXkgKiBheSkgKiBzcXJ0JDIo
YnggKiBieCArIGJ5ICogYnkpKSkgLyAyKSwKKyAgICAgICAgICAgICAgbGMgPSBzcXJ0JDIob2Nb
MF0gKiBvY1swXSArIG9jWzFdICogb2NbMV0pOworICAgICAgICAgIHJjMCA9IG1pbiQxKHJjLCAo
cjAgLSBsYykgLyAoa2MgLSAxKSk7CisgICAgICAgICAgcmMxID0gbWluJDEocmMsIChyMSAtIGxj
KSAvIChrYyArIDEpKTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICAvLyBJcyB0aGUgc2Vj
dG9yIGNvbGxhcHNlZCB0byBhIGxpbmU/CisgICAgICBpZiAoIShkYTEgPiBlcHNpbG9uJDMpKSBj
b250ZXh0Lm1vdmVUbyh4MDEsIHkwMSk7CisKKyAgICAgIC8vIERvZXMgdGhlIHNlY3RvcuKAmXMg
b3V0ZXIgcmluZyBoYXZlIHJvdW5kZWQgY29ybmVycz8KKyAgICAgIGVsc2UgaWYgKHJjMSA+IGVw
c2lsb24kMykgeworICAgICAgICB0MCA9IGNvcm5lclRhbmdlbnRzKHgwMCwgeTAwLCB4MDEsIHkw
MSwgcjEsIHJjMSwgY3cpOworICAgICAgICB0MSA9IGNvcm5lclRhbmdlbnRzKHgxMSwgeTExLCB4
MTAsIHkxMCwgcjEsIHJjMSwgY3cpOworCisgICAgICAgIGNvbnRleHQubW92ZVRvKHQwLmN4ICsg
dDAueDAxLCB0MC5jeSArIHQwLnkwMSk7CisKKyAgICAgICAgLy8gSGF2ZSB0aGUgY29ybmVycyBt
ZXJnZWQ/CisgICAgICAgIGlmIChyYzEgPCByYykgY29udGV4dC5hcmModDAuY3gsIHQwLmN5LCBy
YzEsIGF0YW4yJDEodDAueTAxLCB0MC54MDEpLCBhdGFuMiQxKHQxLnkwMSwgdDEueDAxKSwgIWN3
KTsKKworICAgICAgICAvLyBPdGhlcndpc2UsIGRyYXcgdGhlIHR3byBjb3JuZXJzIGFuZCB0aGUg
cmluZy4KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgY29udGV4dC5hcmModDAuY3gsIHQwLmN5
LCByYzEsIGF0YW4yJDEodDAueTAxLCB0MC54MDEpLCBhdGFuMiQxKHQwLnkxMSwgdDAueDExKSwg
IWN3KTsKKyAgICAgICAgICBjb250ZXh0LmFyYygwLCAwLCByMSwgYXRhbjIkMSh0MC5jeSArIHQw
LnkxMSwgdDAuY3ggKyB0MC54MTEpLCBhdGFuMiQxKHQxLmN5ICsgdDEueTExLCB0MS5jeCArIHQx
LngxMSksICFjdyk7CisgICAgICAgICAgY29udGV4dC5hcmModDEuY3gsIHQxLmN5LCByYzEsIGF0
YW4yJDEodDEueTExLCB0MS54MTEpLCBhdGFuMiQxKHQxLnkwMSwgdDEueDAxKSwgIWN3KTsKKyAg
ICAgICAgfQorICAgICAgfQorCisgICAgICAvLyBPciBpcyB0aGUgb3V0ZXIgcmluZyBqdXN0IGEg
Y2lyY3VsYXIgYXJjPworICAgICAgZWxzZSBjb250ZXh0Lm1vdmVUbyh4MDEsIHkwMSksIGNvbnRl
eHQuYXJjKDAsIDAsIHIxLCBhMDEsIGExMSwgIWN3KTsKKworICAgICAgLy8gSXMgdGhlcmUgbm8g
aW5uZXIgcmluZywgYW5kIGl04oCZcyBhIGNpcmN1bGFyIHNlY3Rvcj8KKyAgICAgIC8vIE9yIHBl
cmhhcHMgaXTigJlzIGFuIGFubnVsYXIgc2VjdG9yIGNvbGxhcHNlZCBkdWUgdG8gcGFkZGluZz8K
KyAgICAgIGlmICghKHIwID4gZXBzaWxvbiQzKSB8fCAhKGRhMCA+IGVwc2lsb24kMykpIGNvbnRl
eHQubGluZVRvKHgxMCwgeTEwKTsKKworICAgICAgLy8gRG9lcyB0aGUgc2VjdG9y4oCZcyBpbm5l
ciByaW5nIChvciBwb2ludCkgaGF2ZSByb3VuZGVkIGNvcm5lcnM/CisgICAgICBlbHNlIGlmIChy
YzAgPiBlcHNpbG9uJDMpIHsKKyAgICAgICAgdDAgPSBjb3JuZXJUYW5nZW50cyh4MTAsIHkxMCwg
eDExLCB5MTEsIHIwLCAtcmMwLCBjdyk7CisgICAgICAgIHQxID0gY29ybmVyVGFuZ2VudHMoeDAx
LCB5MDEsIHgwMCwgeTAwLCByMCwgLXJjMCwgY3cpOworCisgICAgICAgIGNvbnRleHQubGluZVRv
KHQwLmN4ICsgdDAueDAxLCB0MC5jeSArIHQwLnkwMSk7CisKKyAgICAgICAgLy8gSGF2ZSB0aGUg
Y29ybmVycyBtZXJnZWQ/CisgICAgICAgIGlmIChyYzAgPCByYykgY29udGV4dC5hcmModDAuY3gs
IHQwLmN5LCByYzAsIGF0YW4yJDEodDAueTAxLCB0MC54MDEpLCBhdGFuMiQxKHQxLnkwMSwgdDEu
eDAxKSwgIWN3KTsKKworICAgICAgICAvLyBPdGhlcndpc2UsIGRyYXcgdGhlIHR3byBjb3JuZXJz
IGFuZCB0aGUgcmluZy4KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgY29udGV4dC5hcmModDAu
Y3gsIHQwLmN5LCByYzAsIGF0YW4yJDEodDAueTAxLCB0MC54MDEpLCBhdGFuMiQxKHQwLnkxMSwg
dDAueDExKSwgIWN3KTsKKyAgICAgICAgICBjb250ZXh0LmFyYygwLCAwLCByMCwgYXRhbjIkMSh0
MC5jeSArIHQwLnkxMSwgdDAuY3ggKyB0MC54MTEpLCBhdGFuMiQxKHQxLmN5ICsgdDEueTExLCB0
MS5jeCArIHQxLngxMSksIGN3KTsKKyAgICAgICAgICBjb250ZXh0LmFyYyh0MS5jeCwgdDEuY3ks
IHJjMCwgYXRhbjIkMSh0MS55MTEsIHQxLngxMSksIGF0YW4yJDEodDEueTAxLCB0MS54MDEpLCAh
Y3cpOworICAgICAgICB9CisgICAgICB9CisKKyAgICAgIC8vIE9yIGlzIHRoZSBpbm5lciByaW5n
IGp1c3QgYSBjaXJjdWxhciBhcmM/CisgICAgICBlbHNlIGNvbnRleHQuYXJjKDAsIDAsIHIwLCBh
MTAsIGEwMCwgY3cpOworICAgIH0KKworICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7CisKKyAgICBp
ZiAoYnVmZmVyKSByZXR1cm4gY29udGV4dCA9IG51bGwsIGJ1ZmZlciArICIiIHx8IG51bGw7Cisg
IH0KKworICBhcmMuY2VudHJvaWQgPSBmdW5jdGlvbigpIHsKKyAgICB2YXIgciA9ICgraW5uZXJS
YWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRzKSArICtvdXRlclJhZGl1cy5hcHBseSh0aGlzLCBh
cmd1bWVudHMpKSAvIDIsCisgICAgICAgIGEgPSAoK3N0YXJ0QW5nbGUuYXBwbHkodGhpcywgYXJn
dW1lbnRzKSArICtlbmRBbmdsZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSAvIDIgLSBwaSQ0IC8g
MjsKKyAgICByZXR1cm4gW2NvcyQyKGEpICogciwgc2luJDIoYSkgKiByXTsKKyAgfTsKKworICBh
cmMuaW5uZXJSYWRpdXMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAoaW5uZXJSYWRpdXMgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFu
dCRiKCtfKSwgYXJjKSA6IGlubmVyUmFkaXVzOworICB9OworCisgIGFyYy5vdXRlclJhZGl1cyA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChvdXRlclJhZGl1
cyA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBhcmMpIDog
b3V0ZXJSYWRpdXM7CisgIH07CisKKyAgYXJjLmNvcm5lclJhZGl1cyA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChjb3JuZXJSYWRpdXMgPSB0eXBlb2YgXyA9
PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgYXJjKSA6IGNvcm5lclJhZGl1czsK
KyAgfTsKKworICBhcmMucGFkUmFkaXVzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gKHBhZFJhZGl1cyA9IF8gPT0gbnVsbCA/IG51bGwgOiB0eXBlb2YgXyA9
PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgYXJjKSA6IHBhZFJhZGl1czsKKyAg
fTsKKworICBhcmMuc3RhcnRBbmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/IChzdGFydEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDog
Y29uc3RhbnQkYigrXyksIGFyYykgOiBzdGFydEFuZ2xlOworICB9OworCisgIGFyYy5lbmRBbmds
ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChlbmRBbmds
ZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBhcmMpIDog
ZW5kQW5nbGU7CisgIH07CisKKyAgYXJjLnBhZEFuZ2xlID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhZEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlv
biIgPyBfIDogY29uc3RhbnQkYigrXyksIGFyYykgOiBwYWRBbmdsZTsKKyAgfTsKKworICBhcmMu
Y29udGV4dCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICgo
Y29udGV4dCA9IF8gPT0gbnVsbCA/IG51bGwgOiBfKSwgYXJjKSA6IGNvbnRleHQ7CisgIH07CisK
KyAgcmV0dXJuIGFyYzsKK30KKworZnVuY3Rpb24gTGluZWFyKGNvbnRleHQpIHsKKyAgdGhpcy5f
Y29udGV4dCA9IGNvbnRleHQ7Cit9CisKK0xpbmVhci5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFy
dDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IDA7CisgIH0sCisgIGFyZWFFbmQ6IGZ1
bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSBOYU47CisgIH0sCisgIGxpbmVTdGFydDogZnVu
Y3Rpb24oKSB7CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlv
bigpIHsKKyAgICBpZiAodGhpcy5fbGluZSB8fCAodGhpcy5fbGluZSAhPT0gMCAmJiB0aGlzLl9w
b2ludCA9PT0gMSkpIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgdGhpcy5fbGluZSA9
IDEgLSB0aGlzLl9saW5lOworICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAgIHgg
PSAreCwgeSA9ICt5OworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMDog
dGhpcy5fcG9pbnQgPSAxOyB0aGlzLl9saW5lID8gdGhpcy5fY29udGV4dC5saW5lVG8oeCwgeSkg
OiB0aGlzLl9jb250ZXh0Lm1vdmVUbyh4LCB5KTsgYnJlYWs7CisgICAgICBjYXNlIDE6IHRoaXMu
X3BvaW50ID0gMjsgLy8gcHJvY2VlZAorICAgICAgZGVmYXVsdDogdGhpcy5fY29udGV4dC5saW5l
VG8oeCwgeSk7IGJyZWFrOworICAgIH0KKyAgfQorfTsKKworZnVuY3Rpb24gY3VydmVMaW5lYXIo
Y29udGV4dCkgeworICByZXR1cm4gbmV3IExpbmVhcihjb250ZXh0KTsKK30KKworZnVuY3Rpb24g
eCQzKHApIHsKKyAgcmV0dXJuIHBbMF07Cit9CisKK2Z1bmN0aW9uIHkkMyhwKSB7CisgIHJldHVy
biBwWzFdOworfQorCitmdW5jdGlvbiBsaW5lKCkgeworICB2YXIgeCA9IHgkMywKKyAgICAgIHkg
PSB5JDMsCisgICAgICBkZWZpbmVkID0gY29uc3RhbnQkYih0cnVlKSwKKyAgICAgIGNvbnRleHQg
PSBudWxsLAorICAgICAgY3VydmUgPSBjdXJ2ZUxpbmVhciwKKyAgICAgIG91dHB1dCA9IG51bGw7
CisKKyAgZnVuY3Rpb24gbGluZShkYXRhKSB7CisgICAgdmFyIGksCisgICAgICAgIG4gPSBkYXRh
Lmxlbmd0aCwKKyAgICAgICAgZCwKKyAgICAgICAgZGVmaW5lZDAgPSBmYWxzZSwKKyAgICAgICAg
YnVmZmVyOworCisgICAgaWYgKGNvbnRleHQgPT0gbnVsbCkgb3V0cHV0ID0gY3VydmUoYnVmZmVy
ID0gcGF0aCgpKTsKKworICAgIGZvciAoaSA9IDA7IGkgPD0gbjsgKytpKSB7CisgICAgICBpZiAo
IShpIDwgbiAmJiBkZWZpbmVkKGQgPSBkYXRhW2ldLCBpLCBkYXRhKSkgPT09IGRlZmluZWQwKSB7
CisgICAgICAgIGlmIChkZWZpbmVkMCA9ICFkZWZpbmVkMCkgb3V0cHV0LmxpbmVTdGFydCgpOwor
ICAgICAgICBlbHNlIG91dHB1dC5saW5lRW5kKCk7CisgICAgICB9CisgICAgICBpZiAoZGVmaW5l
ZDApIG91dHB1dC5wb2ludCgreChkLCBpLCBkYXRhKSwgK3koZCwgaSwgZGF0YSkpOworICAgIH0K
KworICAgIGlmIChidWZmZXIpIHJldHVybiBvdXRwdXQgPSBudWxsLCBidWZmZXIgKyAiIiB8fCBu
dWxsOworICB9CisKKyAgbGluZS54ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHggPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRi
KCtfKSwgbGluZSkgOiB4OworICB9OworCisgIGxpbmUueSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBf
IDogY29uc3RhbnQkYigrXyksIGxpbmUpIDogeTsKKyAgfTsKKworICBsaW5lLmRlZmluZWQgPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZGVmaW5lZCA9IHR5
cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoISFfKSwgbGluZSkgOiBkZWZp
bmVkOworICB9OworCisgIGxpbmUuY3VydmUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAoY3VydmUgPSBfLCBjb250ZXh0ICE9IG51bGwgJiYgKG91dHB1dCA9
IGN1cnZlKGNvbnRleHQpKSwgbGluZSkgOiBjdXJ2ZTsKKyAgfTsKKworICBsaW5lLmNvbnRleHQg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoXyA9PSBudWxs
ID8gY29udGV4dCA9IG91dHB1dCA9IG51bGwgOiBvdXRwdXQgPSBjdXJ2ZShjb250ZXh0ID0gXyks
IGxpbmUpIDogY29udGV4dDsKKyAgfTsKKworICByZXR1cm4gbGluZTsKK30KKworZnVuY3Rpb24g
YXJlYSQzKCkgeworICB2YXIgeDAgPSB4JDMsCisgICAgICB4MSA9IG51bGwsCisgICAgICB5MCA9
IGNvbnN0YW50JGIoMCksCisgICAgICB5MSA9IHkkMywKKyAgICAgIGRlZmluZWQgPSBjb25zdGFu
dCRiKHRydWUpLAorICAgICAgY29udGV4dCA9IG51bGwsCisgICAgICBjdXJ2ZSA9IGN1cnZlTGlu
ZWFyLAorICAgICAgb3V0cHV0ID0gbnVsbDsKKworICBmdW5jdGlvbiBhcmVhKGRhdGEpIHsKKyAg
ICB2YXIgaSwKKyAgICAgICAgaiwKKyAgICAgICAgaywKKyAgICAgICAgbiA9IGRhdGEubGVuZ3Ro
LAorICAgICAgICBkLAorICAgICAgICBkZWZpbmVkMCA9IGZhbHNlLAorICAgICAgICBidWZmZXIs
CisgICAgICAgIHgweiA9IG5ldyBBcnJheShuKSwKKyAgICAgICAgeTB6ID0gbmV3IEFycmF5KG4p
OworCisgICAgaWYgKGNvbnRleHQgPT0gbnVsbCkgb3V0cHV0ID0gY3VydmUoYnVmZmVyID0gcGF0
aCgpKTsKKworICAgIGZvciAoaSA9IDA7IGkgPD0gbjsgKytpKSB7CisgICAgICBpZiAoIShpIDwg
biAmJiBkZWZpbmVkKGQgPSBkYXRhW2ldLCBpLCBkYXRhKSkgPT09IGRlZmluZWQwKSB7CisgICAg
ICAgIGlmIChkZWZpbmVkMCA9ICFkZWZpbmVkMCkgeworICAgICAgICAgIGogPSBpOworICAgICAg
ICAgIG91dHB1dC5hcmVhU3RhcnQoKTsKKyAgICAgICAgICBvdXRwdXQubGluZVN0YXJ0KCk7Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgb3V0cHV0LmxpbmVFbmQoKTsKKyAgICAgICAgICBv
dXRwdXQubGluZVN0YXJ0KCk7CisgICAgICAgICAgZm9yIChrID0gaSAtIDE7IGsgPj0gajsgLS1r
KSB7CisgICAgICAgICAgICBvdXRwdXQucG9pbnQoeDB6W2tdLCB5MHpba10pOworICAgICAgICAg
IH0KKyAgICAgICAgICBvdXRwdXQubGluZUVuZCgpOworICAgICAgICAgIG91dHB1dC5hcmVhRW5k
KCk7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIGlmIChkZWZpbmVkMCkgeworICAgICAgICB4
MHpbaV0gPSAreDAoZCwgaSwgZGF0YSksIHkweltpXSA9ICt5MChkLCBpLCBkYXRhKTsKKyAgICAg
ICAgb3V0cHV0LnBvaW50KHgxID8gK3gxKGQsIGksIGRhdGEpIDogeDB6W2ldLCB5MSA/ICt5MShk
LCBpLCBkYXRhKSA6IHkweltpXSk7CisgICAgICB9CisgICAgfQorCisgICAgaWYgKGJ1ZmZlcikg
cmV0dXJuIG91dHB1dCA9IG51bGwsIGJ1ZmZlciArICIiIHx8IG51bGw7CisgIH0KKworICBmdW5j
dGlvbiBhcmVhbGluZSgpIHsKKyAgICByZXR1cm4gbGluZSgpLmRlZmluZWQoZGVmaW5lZCkuY3Vy
dmUoY3VydmUpLmNvbnRleHQoY29udGV4dCk7CisgIH0KKworICBhcmVhLnggPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeDAgPSB0eXBlb2YgXyA9PT0gImZ1
bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgeDEgPSBudWxsLCBhcmVhKSA6IHgwOworICB9
OworCisgIGFyZWEueDAgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAoeDAgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwg
YXJlYSkgOiB4MDsKKyAgfTsKKworICBhcmVhLngxID0gZnVuY3Rpb24oXykgeworICAgIHJldHVy
biBhcmd1bWVudHMubGVuZ3RoID8gKHgxID0gXyA9PSBudWxsID8gbnVsbCA6IHR5cGVvZiBfID09
PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBhcmVhKSA6IHgxOworICB9OworCisg
IGFyZWEueSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5
MCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCB5MSA9IG51
bGwsIGFyZWEpIDogeTA7CisgIH07CisKKyAgYXJlYS55MCA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5MCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8g
XyA6IGNvbnN0YW50JGIoK18pLCBhcmVhKSA6IHkwOworICB9OworCisgIGFyZWEueTEgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeTEgPSBfID09IG51bGwg
PyBudWxsIDogdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIGFy
ZWEpIDogeTE7CisgIH07CisKKyAgYXJlYS5saW5lWDAgPQorICBhcmVhLmxpbmVZMCA9IGZ1bmN0
aW9uKCkgeworICAgIHJldHVybiBhcmVhbGluZSgpLngoeDApLnkoeTApOworICB9OworCisgIGFy
ZWEubGluZVkxID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGFyZWFsaW5lKCkueCh4MCkueSh5
MSk7CisgIH07CisKKyAgYXJlYS5saW5lWDEgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gYXJl
YWxpbmUoKS54KHgxKS55KHkwKTsKKyAgfTsKKworICBhcmVhLmRlZmluZWQgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZGVmaW5lZCA9IHR5cGVvZiBfID09
PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoISFfKSwgYXJlYSkgOiBkZWZpbmVkOworICB9
OworCisgIGFyZWEuY3VydmUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoY3VydmUgPSBfLCBjb250ZXh0ICE9IG51bGwgJiYgKG91dHB1dCA9IGN1cnZlKGNv
bnRleHQpKSwgYXJlYSkgOiBjdXJ2ZTsKKyAgfTsKKworICBhcmVhLmNvbnRleHQgPSBmdW5jdGlv
bihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoXyA9PSBudWxsID8gY29udGV4
dCA9IG91dHB1dCA9IG51bGwgOiBvdXRwdXQgPSBjdXJ2ZShjb250ZXh0ID0gXyksIGFyZWEpIDog
Y29udGV4dDsKKyAgfTsKKworICByZXR1cm4gYXJlYTsKK30KKworZnVuY3Rpb24gZGVzY2VuZGlu
ZyQxKGEsIGIpIHsKKyAgcmV0dXJuIGIgPCBhID8gLTEgOiBiID4gYSA/IDEgOiBiID49IGEgPyAw
IDogTmFOOworfQorCitmdW5jdGlvbiBpZGVudGl0eSQ4KGQpIHsKKyAgcmV0dXJuIGQ7Cit9CisK
K2Z1bmN0aW9uIHBpZSgpIHsKKyAgdmFyIHZhbHVlID0gaWRlbnRpdHkkOCwKKyAgICAgIHNvcnRW
YWx1ZXMgPSBkZXNjZW5kaW5nJDEsCisgICAgICBzb3J0ID0gbnVsbCwKKyAgICAgIHN0YXJ0QW5n
bGUgPSBjb25zdGFudCRiKDApLAorICAgICAgZW5kQW5nbGUgPSBjb25zdGFudCRiKHRhdSQ0KSwK
KyAgICAgIHBhZEFuZ2xlID0gY29uc3RhbnQkYigwKTsKKworICBmdW5jdGlvbiBwaWUoZGF0YSkg
eworICAgIHZhciBpLAorICAgICAgICBuID0gZGF0YS5sZW5ndGgsCisgICAgICAgIGosCisgICAg
ICAgIGssCisgICAgICAgIHN1bSA9IDAsCisgICAgICAgIGluZGV4ID0gbmV3IEFycmF5KG4pLAor
ICAgICAgICBhcmNzID0gbmV3IEFycmF5KG4pLAorICAgICAgICBhMCA9ICtzdGFydEFuZ2xlLmFw
cGx5KHRoaXMsIGFyZ3VtZW50cyksCisgICAgICAgIGRhID0gTWF0aC5taW4odGF1JDQsIE1hdGgu
bWF4KC10YXUkNCwgZW5kQW5nbGUuYXBwbHkodGhpcywgYXJndW1lbnRzKSAtIGEwKSksCisgICAg
ICAgIGExLAorICAgICAgICBwID0gTWF0aC5taW4oTWF0aC5hYnMoZGEpIC8gbiwgcGFkQW5nbGUu
YXBwbHkodGhpcywgYXJndW1lbnRzKSksCisgICAgICAgIHBhID0gcCAqIChkYSA8IDAgPyAtMSA6
IDEpLAorICAgICAgICB2OworCisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAg
aWYgKCh2ID0gYXJjc1tpbmRleFtpXSA9IGldID0gK3ZhbHVlKGRhdGFbaV0sIGksIGRhdGEpKSA+
IDApIHsKKyAgICAgICAgc3VtICs9IHY7CisgICAgICB9CisgICAgfQorCisgICAgLy8gT3B0aW9u
YWxseSBzb3J0IHRoZSBhcmNzIGJ5IHByZXZpb3VzbHktY29tcHV0ZWQgdmFsdWVzIG9yIGJ5IGRh
dGEuCisgICAgaWYgKHNvcnRWYWx1ZXMgIT0gbnVsbCkgaW5kZXguc29ydChmdW5jdGlvbihpLCBq
KSB7IHJldHVybiBzb3J0VmFsdWVzKGFyY3NbaV0sIGFyY3Nbal0pOyB9KTsKKyAgICBlbHNlIGlm
IChzb3J0ICE9IG51bGwpIGluZGV4LnNvcnQoZnVuY3Rpb24oaSwgaikgeyByZXR1cm4gc29ydChk
YXRhW2ldLCBkYXRhW2pdKTsgfSk7CisKKyAgICAvLyBDb21wdXRlIHRoZSBhcmNzISBUaGV5IGFy
ZSBzdG9yZWQgaW4gdGhlIG9yaWdpbmFsIGRhdGEncyBvcmRlci4KKyAgICBmb3IgKGkgPSAwLCBr
ID0gc3VtID8gKGRhIC0gbiAqIHBhKSAvIHN1bSA6IDA7IGkgPCBuOyArK2ksIGEwID0gYTEpIHsK
KyAgICAgIGogPSBpbmRleFtpXSwgdiA9IGFyY3Nbal0sIGExID0gYTAgKyAodiA+IDAgPyB2ICog
ayA6IDApICsgcGEsIGFyY3Nbal0gPSB7CisgICAgICAgIGRhdGE6IGRhdGFbal0sCisgICAgICAg
IGluZGV4OiBpLAorICAgICAgICB2YWx1ZTogdiwKKyAgICAgICAgc3RhcnRBbmdsZTogYTAsCisg
ICAgICAgIGVuZEFuZ2xlOiBhMSwKKyAgICAgICAgcGFkQW5nbGU6IHAKKyAgICAgIH07CisgICAg
fQorCisgICAgcmV0dXJuIGFyY3M7CisgIH0KKworICBwaWUudmFsdWUgPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodmFsdWUgPSB0eXBlb2YgXyA9PT0gImZ1
bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgcGllKSA6IHZhbHVlOworICB9OworCisgIHBp
ZS5zb3J0VmFsdWVzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKHNvcnRWYWx1ZXMgPSBfLCBzb3J0ID0gbnVsbCwgcGllKSA6IHNvcnRWYWx1ZXM7CisgIH07
CisKKyAgcGllLnNvcnQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAoc29ydCA9IF8sIHNvcnRWYWx1ZXMgPSBudWxsLCBwaWUpIDogc29ydDsKKyAgfTsKKwor
ICBwaWUuc3RhcnRBbmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IChzdGFydEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3Rh
bnQkYigrXyksIHBpZSkgOiBzdGFydEFuZ2xlOworICB9OworCisgIHBpZS5lbmRBbmdsZSA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChlbmRBbmdsZSA9IHR5
cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBwaWUpIDogZW5kQW5n
bGU7CisgIH07CisKKyAgcGllLnBhZEFuZ2xlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKHBhZEFuZ2xlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBf
IDogY29uc3RhbnQkYigrXyksIHBpZSkgOiBwYWRBbmdsZTsKKyAgfTsKKworICByZXR1cm4gcGll
OworfQorCit2YXIgY3VydmVSYWRpYWxMaW5lYXIgPSBjdXJ2ZVJhZGlhbChjdXJ2ZUxpbmVhcik7
CisKK2Z1bmN0aW9uIFJhZGlhbChjdXJ2ZSkgeworICB0aGlzLl9jdXJ2ZSA9IGN1cnZlOworfQor
CitSYWRpYWwucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRo
aXMuX2N1cnZlLmFyZWFTdGFydCgpOworICB9LAorICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAg
ICB0aGlzLl9jdXJ2ZS5hcmVhRW5kKCk7CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7
CisgICAgdGhpcy5fY3VydmUubGluZVN0YXJ0KCk7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9u
KCkgeworICAgIHRoaXMuX2N1cnZlLmxpbmVFbmQoKTsKKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9u
KGEsIHIpIHsKKyAgICB0aGlzLl9jdXJ2ZS5wb2ludChyICogTWF0aC5zaW4oYSksIHIgKiAtTWF0
aC5jb3MoYSkpOworICB9Cit9OworCitmdW5jdGlvbiBjdXJ2ZVJhZGlhbChjdXJ2ZSkgeworCisg
IGZ1bmN0aW9uIHJhZGlhbChjb250ZXh0KSB7CisgICAgcmV0dXJuIG5ldyBSYWRpYWwoY3VydmUo
Y29udGV4dCkpOworICB9CisKKyAgcmFkaWFsLl9jdXJ2ZSA9IGN1cnZlOworCisgIHJldHVybiBy
YWRpYWw7Cit9CisKK2Z1bmN0aW9uIGxpbmVSYWRpYWwobCkgeworICB2YXIgYyA9IGwuY3VydmU7
CisKKyAgbC5hbmdsZSA9IGwueCwgZGVsZXRlIGwueDsKKyAgbC5yYWRpdXMgPSBsLnksIGRlbGV0
ZSBsLnk7CisKKyAgbC5jdXJ2ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/IGMoY3VydmVSYWRpYWwoXykpIDogYygpLl9jdXJ2ZTsKKyAgfTsKKworICByZXR1
cm4gbDsKK30KKworZnVuY3Rpb24gbGluZVJhZGlhbCQxKCkgeworICByZXR1cm4gbGluZVJhZGlh
bChsaW5lKCkuY3VydmUoY3VydmVSYWRpYWxMaW5lYXIpKTsKK30KKworZnVuY3Rpb24gYXJlYVJh
ZGlhbCgpIHsKKyAgdmFyIGEgPSBhcmVhJDMoKS5jdXJ2ZShjdXJ2ZVJhZGlhbExpbmVhciksCisg
ICAgICBjID0gYS5jdXJ2ZSwKKyAgICAgIHgwID0gYS5saW5lWDAsCisgICAgICB4MSA9IGEubGlu
ZVgxLAorICAgICAgeTAgPSBhLmxpbmVZMCwKKyAgICAgIHkxID0gYS5saW5lWTE7CisKKyAgYS5h
bmdsZSA9IGEueCwgZGVsZXRlIGEueDsKKyAgYS5zdGFydEFuZ2xlID0gYS54MCwgZGVsZXRlIGEu
eDA7CisgIGEuZW5kQW5nbGUgPSBhLngxLCBkZWxldGUgYS54MTsKKyAgYS5yYWRpdXMgPSBhLnks
IGRlbGV0ZSBhLnk7CisgIGEuaW5uZXJSYWRpdXMgPSBhLnkwLCBkZWxldGUgYS55MDsKKyAgYS5v
dXRlclJhZGl1cyA9IGEueTEsIGRlbGV0ZSBhLnkxOworICBhLmxpbmVTdGFydEFuZ2xlID0gZnVu
Y3Rpb24oKSB7IHJldHVybiBsaW5lUmFkaWFsKHgwKCkpOyB9LCBkZWxldGUgYS5saW5lWDA7Cisg
IGEubGluZUVuZEFuZ2xlID0gZnVuY3Rpb24oKSB7IHJldHVybiBsaW5lUmFkaWFsKHgxKCkpOyB9
LCBkZWxldGUgYS5saW5lWDE7CisgIGEubGluZUlubmVyUmFkaXVzID0gZnVuY3Rpb24oKSB7IHJl
dHVybiBsaW5lUmFkaWFsKHkwKCkpOyB9LCBkZWxldGUgYS5saW5lWTA7CisgIGEubGluZU91dGVy
UmFkaXVzID0gZnVuY3Rpb24oKSB7IHJldHVybiBsaW5lUmFkaWFsKHkxKCkpOyB9LCBkZWxldGUg
YS5saW5lWTE7CisKKyAgYS5jdXJ2ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/IGMoY3VydmVSYWRpYWwoXykpIDogYygpLl9jdXJ2ZTsKKyAgfTsKKworICBy
ZXR1cm4gYTsKK30KKworZnVuY3Rpb24gcG9pbnRSYWRpYWwoeCwgeSkgeworICByZXR1cm4gWyh5
ID0gK3kpICogTWF0aC5jb3MoeCAtPSBNYXRoLlBJIC8gMiksIHkgKiBNYXRoLnNpbih4KV07Cit9
CisKK3ZhciBzbGljZSQ2ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOworCitmdW5jdGlvbiBsaW5r
U291cmNlKGQpIHsKKyAgcmV0dXJuIGQuc291cmNlOworfQorCitmdW5jdGlvbiBsaW5rVGFyZ2V0
KGQpIHsKKyAgcmV0dXJuIGQudGFyZ2V0OworfQorCitmdW5jdGlvbiBsaW5rJDIoY3VydmUpIHsK
KyAgdmFyIHNvdXJjZSA9IGxpbmtTb3VyY2UsCisgICAgICB0YXJnZXQgPSBsaW5rVGFyZ2V0LAor
ICAgICAgeCA9IHgkMywKKyAgICAgIHkgPSB5JDMsCisgICAgICBjb250ZXh0ID0gbnVsbDsKKwor
ICBmdW5jdGlvbiBsaW5rKCkgeworICAgIHZhciBidWZmZXIsIGFyZ3YgPSBzbGljZSQ2LmNhbGwo
YXJndW1lbnRzKSwgcyA9IHNvdXJjZS5hcHBseSh0aGlzLCBhcmd2KSwgdCA9IHRhcmdldC5hcHBs
eSh0aGlzLCBhcmd2KTsKKyAgICBpZiAoIWNvbnRleHQpIGNvbnRleHQgPSBidWZmZXIgPSBwYXRo
KCk7CisgICAgY3VydmUoY29udGV4dCwgK3guYXBwbHkodGhpcywgKGFyZ3ZbMF0gPSBzLCBhcmd2
KSksICt5LmFwcGx5KHRoaXMsIGFyZ3YpLCAreC5hcHBseSh0aGlzLCAoYXJndlswXSA9IHQsIGFy
Z3YpKSwgK3kuYXBwbHkodGhpcywgYXJndikpOworICAgIGlmIChidWZmZXIpIHJldHVybiBjb250
ZXh0ID0gbnVsbCwgYnVmZmVyICsgIiIgfHwgbnVsbDsKKyAgfQorCisgIGxpbmsuc291cmNlID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNvdXJjZSA9IF8s
IGxpbmspIDogc291cmNlOworICB9OworCisgIGxpbmsudGFyZ2V0ID0gZnVuY3Rpb24oXykgewor
ICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRhcmdldCA9IF8sIGxpbmspIDogdGFyZ2V0
OworICB9OworCisgIGxpbmsueCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/ICh4ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigr
XyksIGxpbmspIDogeDsKKyAgfTsKKworICBsaW5rLnkgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6
IGNvbnN0YW50JGIoK18pLCBsaW5rKSA6IHk7CisgIH07CisKKyAgbGluay5jb250ZXh0ID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKChjb250ZXh0ID0gXyA9
PSBudWxsID8gbnVsbCA6IF8pLCBsaW5rKSA6IGNvbnRleHQ7CisgIH07CisKKyAgcmV0dXJuIGxp
bms7Cit9CisKK2Z1bmN0aW9uIGN1cnZlSG9yaXpvbnRhbChjb250ZXh0LCB4MCwgeTAsIHgxLCB5
MSkgeworICBjb250ZXh0Lm1vdmVUbyh4MCwgeTApOworICBjb250ZXh0LmJlemllckN1cnZlVG8o
eDAgPSAoeDAgKyB4MSkgLyAyLCB5MCwgeDAsIHkxLCB4MSwgeTEpOworfQorCitmdW5jdGlvbiBj
dXJ2ZVZlcnRpY2FsKGNvbnRleHQsIHgwLCB5MCwgeDEsIHkxKSB7CisgIGNvbnRleHQubW92ZVRv
KHgwLCB5MCk7CisgIGNvbnRleHQuYmV6aWVyQ3VydmVUbyh4MCwgeTAgPSAoeTAgKyB5MSkgLyAy
LCB4MSwgeTAsIHgxLCB5MSk7Cit9CisKK2Z1bmN0aW9uIGN1cnZlUmFkaWFsJDEoY29udGV4dCwg
eDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIHAwID0gcG9pbnRSYWRpYWwoeDAsIHkwKSwKKyAgICAg
IHAxID0gcG9pbnRSYWRpYWwoeDAsIHkwID0gKHkwICsgeTEpIC8gMiksCisgICAgICBwMiA9IHBv
aW50UmFkaWFsKHgxLCB5MCksCisgICAgICBwMyA9IHBvaW50UmFkaWFsKHgxLCB5MSk7CisgIGNv
bnRleHQubW92ZVRvKHAwWzBdLCBwMFsxXSk7CisgIGNvbnRleHQuYmV6aWVyQ3VydmVUbyhwMVsw
XSwgcDFbMV0sIHAyWzBdLCBwMlsxXSwgcDNbMF0sIHAzWzFdKTsKK30KKworZnVuY3Rpb24gbGlu
a0hvcml6b250YWwoKSB7CisgIHJldHVybiBsaW5rJDIoY3VydmVIb3Jpem9udGFsKTsKK30KKwor
ZnVuY3Rpb24gbGlua1ZlcnRpY2FsKCkgeworICByZXR1cm4gbGluayQyKGN1cnZlVmVydGljYWwp
OworfQorCitmdW5jdGlvbiBsaW5rUmFkaWFsKCkgeworICB2YXIgbCA9IGxpbmskMihjdXJ2ZVJh
ZGlhbCQxKTsKKyAgbC5hbmdsZSA9IGwueCwgZGVsZXRlIGwueDsKKyAgbC5yYWRpdXMgPSBsLnks
IGRlbGV0ZSBsLnk7CisgIHJldHVybiBsOworfQorCit2YXIgY2lyY2xlJDIgPSB7CisgIGRyYXc6
IGZ1bmN0aW9uKGNvbnRleHQsIHNpemUpIHsKKyAgICB2YXIgciA9IE1hdGguc3FydChzaXplIC8g
cGkkNCk7CisgICAgY29udGV4dC5tb3ZlVG8ociwgMCk7CisgICAgY29udGV4dC5hcmMoMCwgMCwg
ciwgMCwgdGF1JDQpOworICB9Cit9OworCit2YXIgY3Jvc3MkMiA9IHsKKyAgZHJhdzogZnVuY3Rp
b24oY29udGV4dCwgc2l6ZSkgeworICAgIHZhciByID0gTWF0aC5zcXJ0KHNpemUgLyA1KSAvIDI7
CisgICAgY29udGV4dC5tb3ZlVG8oLTMgKiByLCAtcik7CisgICAgY29udGV4dC5saW5lVG8oLXIs
IC1yKTsKKyAgICBjb250ZXh0LmxpbmVUbygtciwgLTMgKiByKTsKKyAgICBjb250ZXh0LmxpbmVU
byhyLCAtMyAqIHIpOworICAgIGNvbnRleHQubGluZVRvKHIsIC1yKTsKKyAgICBjb250ZXh0Lmxp
bmVUbygzICogciwgLXIpOworICAgIGNvbnRleHQubGluZVRvKDMgKiByLCByKTsKKyAgICBjb250
ZXh0LmxpbmVUbyhyLCByKTsKKyAgICBjb250ZXh0LmxpbmVUbyhyLCAzICogcik7CisgICAgY29u
dGV4dC5saW5lVG8oLXIsIDMgKiByKTsKKyAgICBjb250ZXh0LmxpbmVUbygtciwgcik7CisgICAg
Y29udGV4dC5saW5lVG8oLTMgKiByLCByKTsKKyAgICBjb250ZXh0LmNsb3NlUGF0aCgpOworICB9
Cit9OworCit2YXIgdGFuMzAgPSBNYXRoLnNxcnQoMSAvIDMpLAorICAgIHRhbjMwXzIgPSB0YW4z
MCAqIDI7CisKK3ZhciBkaWFtb25kID0geworICBkcmF3OiBmdW5jdGlvbihjb250ZXh0LCBzaXpl
KSB7CisgICAgdmFyIHkgPSBNYXRoLnNxcnQoc2l6ZSAvIHRhbjMwXzIpLAorICAgICAgICB4ID0g
eSAqIHRhbjMwOworICAgIGNvbnRleHQubW92ZVRvKDAsIC15KTsKKyAgICBjb250ZXh0LmxpbmVU
byh4LCAwKTsKKyAgICBjb250ZXh0LmxpbmVUbygwLCB5KTsKKyAgICBjb250ZXh0LmxpbmVUbygt
eCwgMCk7CisgICAgY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgfQorfTsKKwordmFyIGthID0gMC44
OTA4MTMwOTE1MjkyODUyMjgxMCwKKyAgICBrciA9IE1hdGguc2luKHBpJDQgLyAxMCkgLyBNYXRo
LnNpbig3ICogcGkkNCAvIDEwKSwKKyAgICBreCA9IE1hdGguc2luKHRhdSQ0IC8gMTApICoga3Is
CisgICAga3kgPSAtTWF0aC5jb3ModGF1JDQgLyAxMCkgKiBrcjsKKwordmFyIHN0YXIgPSB7Cisg
IGRyYXc6IGZ1bmN0aW9uKGNvbnRleHQsIHNpemUpIHsKKyAgICB2YXIgciA9IE1hdGguc3FydChz
aXplICoga2EpLAorICAgICAgICB4ID0ga3ggKiByLAorICAgICAgICB5ID0ga3kgKiByOworICAg
IGNvbnRleHQubW92ZVRvKDAsIC1yKTsKKyAgICBjb250ZXh0LmxpbmVUbyh4LCB5KTsKKyAgICBm
b3IgKHZhciBpID0gMTsgaSA8IDU7ICsraSkgeworICAgICAgdmFyIGEgPSB0YXUkNCAqIGkgLyA1
LAorICAgICAgICAgIGMgPSBNYXRoLmNvcyhhKSwKKyAgICAgICAgICBzID0gTWF0aC5zaW4oYSk7
CisgICAgICBjb250ZXh0LmxpbmVUbyhzICogciwgLWMgKiByKTsKKyAgICAgIGNvbnRleHQubGlu
ZVRvKGMgKiB4IC0gcyAqIHksIHMgKiB4ICsgYyAqIHkpOworICAgIH0KKyAgICBjb250ZXh0LmNs
b3NlUGF0aCgpOworICB9Cit9OworCit2YXIgc3F1YXJlID0geworICBkcmF3OiBmdW5jdGlvbihj
b250ZXh0LCBzaXplKSB7CisgICAgdmFyIHcgPSBNYXRoLnNxcnQoc2l6ZSksCisgICAgICAgIHgg
PSAtdyAvIDI7CisgICAgY29udGV4dC5yZWN0KHgsIHgsIHcsIHcpOworICB9Cit9OworCit2YXIg
c3FydDMgPSBNYXRoLnNxcnQoMyk7CisKK3ZhciB0cmlhbmdsZSA9IHsKKyAgZHJhdzogZnVuY3Rp
b24oY29udGV4dCwgc2l6ZSkgeworICAgIHZhciB5ID0gLU1hdGguc3FydChzaXplIC8gKHNxcnQz
ICogMykpOworICAgIGNvbnRleHQubW92ZVRvKDAsIHkgKiAyKTsKKyAgICBjb250ZXh0LmxpbmVU
bygtc3FydDMgKiB5LCAteSk7CisgICAgY29udGV4dC5saW5lVG8oc3FydDMgKiB5LCAteSk7Cisg
ICAgY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgfQorfTsKKwordmFyIGMkMiA9IC0wLjUsCisgICAg
cyA9IE1hdGguc3FydCgzKSAvIDIsCisgICAgayA9IDEgLyBNYXRoLnNxcnQoMTIpLAorICAgIGEg
PSAoayAvIDIgKyAxKSAqIDM7CisKK3ZhciB3eWUgPSB7CisgIGRyYXc6IGZ1bmN0aW9uKGNvbnRl
eHQsIHNpemUpIHsKKyAgICB2YXIgciA9IE1hdGguc3FydChzaXplIC8gYSksCisgICAgICAgIHgw
ID0gciAvIDIsCisgICAgICAgIHkwID0gciAqIGssCisgICAgICAgIHgxID0geDAsCisgICAgICAg
IHkxID0gciAqIGsgKyByLAorICAgICAgICB4MiA9IC14MSwKKyAgICAgICAgeTIgPSB5MTsKKyAg
ICBjb250ZXh0Lm1vdmVUbyh4MCwgeTApOworICAgIGNvbnRleHQubGluZVRvKHgxLCB5MSk7Cisg
ICAgY29udGV4dC5saW5lVG8oeDIsIHkyKTsKKyAgICBjb250ZXh0LmxpbmVUbyhjJDIgKiB4MCAt
IHMgKiB5MCwgcyAqIHgwICsgYyQyICogeTApOworICAgIGNvbnRleHQubGluZVRvKGMkMiAqIHgx
IC0gcyAqIHkxLCBzICogeDEgKyBjJDIgKiB5MSk7CisgICAgY29udGV4dC5saW5lVG8oYyQyICog
eDIgLSBzICogeTIsIHMgKiB4MiArIGMkMiAqIHkyKTsKKyAgICBjb250ZXh0LmxpbmVUbyhjJDIg
KiB4MCArIHMgKiB5MCwgYyQyICogeTAgLSBzICogeDApOworICAgIGNvbnRleHQubGluZVRvKGMk
MiAqIHgxICsgcyAqIHkxLCBjJDIgKiB5MSAtIHMgKiB4MSk7CisgICAgY29udGV4dC5saW5lVG8o
YyQyICogeDIgKyBzICogeTIsIGMkMiAqIHkyIC0gcyAqIHgyKTsKKyAgICBjb250ZXh0LmNsb3Nl
UGF0aCgpOworICB9Cit9OworCit2YXIgc3ltYm9scyA9IFsKKyAgY2lyY2xlJDIsCisgIGNyb3Nz
JDIsCisgIGRpYW1vbmQsCisgIHNxdWFyZSwKKyAgc3RhciwKKyAgdHJpYW5nbGUsCisgIHd5ZQor
XTsKKworZnVuY3Rpb24gc3ltYm9sKCkgeworICB2YXIgdHlwZSA9IGNvbnN0YW50JGIoY2lyY2xl
JDIpLAorICAgICAgc2l6ZSA9IGNvbnN0YW50JGIoNjQpLAorICAgICAgY29udGV4dCA9IG51bGw7
CisKKyAgZnVuY3Rpb24gc3ltYm9sKCkgeworICAgIHZhciBidWZmZXI7CisgICAgaWYgKCFjb250
ZXh0KSBjb250ZXh0ID0gYnVmZmVyID0gcGF0aCgpOworICAgIHR5cGUuYXBwbHkodGhpcywgYXJn
dW1lbnRzKS5kcmF3KGNvbnRleHQsICtzaXplLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpOworICAg
IGlmIChidWZmZXIpIHJldHVybiBjb250ZXh0ID0gbnVsbCwgYnVmZmVyICsgIiIgfHwgbnVsbDsK
KyAgfQorCisgIHN5bWJvbC50eXBlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHR5cGUgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFu
dCRiKF8pLCBzeW1ib2wpIDogdHlwZTsKKyAgfTsKKworICBzeW1ib2wuc2l6ZSA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzaXplID0gdHlwZW9mIF8gPT09
ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIHN5bWJvbCkgOiBzaXplOworICB9Owor
CisgIHN5bWJvbC5jb250ZXh0ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMu
bGVuZ3RoID8gKGNvbnRleHQgPSBfID09IG51bGwgPyBudWxsIDogXywgc3ltYm9sKSA6IGNvbnRl
eHQ7CisgIH07CisKKyAgcmV0dXJuIHN5bWJvbDsKK30KKworZnVuY3Rpb24gbm9vcCQzKCkge30K
KworZnVuY3Rpb24gcG9pbnQkMih0aGF0LCB4LCB5KSB7CisgIHRoYXQuX2NvbnRleHQuYmV6aWVy
Q3VydmVUbygKKyAgICAoMiAqIHRoYXQuX3gwICsgdGhhdC5feDEpIC8gMywKKyAgICAoMiAqIHRo
YXQuX3kwICsgdGhhdC5feTEpIC8gMywKKyAgICAodGhhdC5feDAgKyAyICogdGhhdC5feDEpIC8g
MywKKyAgICAodGhhdC5feTAgKyAyICogdGhhdC5feTEpIC8gMywKKyAgICAodGhhdC5feDAgKyA0
ICogdGhhdC5feDEgKyB4KSAvIDYsCisgICAgKHRoYXQuX3kwICsgNCAqIHRoYXQuX3kxICsgeSkg
LyA2CisgICk7Cit9CisKK2Z1bmN0aW9uIEJhc2lzKGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4
dCA9IGNvbnRleHQ7Cit9CisKK0Jhc2lzLnByb3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBmdW5j
dGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAgfSwKKyAgYXJlYUVuZDogZnVuY3Rpb24o
KSB7CisgICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigp
IHsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxID0KKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxID0g
TmFOOworICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7
CisgICAgc3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAzOiBwb2ludCQyKHRoaXMs
IHRoaXMuX3gxLCB0aGlzLl95MSk7IC8vIHByb2NlZWQKKyAgICAgIGNhc2UgMjogdGhpcy5fY29u
dGV4dC5saW5lVG8odGhpcy5feDEsIHRoaXMuX3kxKTsgYnJlYWs7CisgICAgfQorICAgIGlmICh0
aGlzLl9saW5lIHx8ICh0aGlzLl9saW5lICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAxKSkgdGhp
cy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7
CisgIH0sCisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7Cisg
ICAgc3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7
IHRoaXMuX2xpbmUgPyB0aGlzLl9jb250ZXh0LmxpbmVUbyh4LCB5KSA6IHRoaXMuX2NvbnRleHQu
bW92ZVRvKHgsIHkpOyBicmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAyOyBicmVh
azsKKyAgICAgIGNhc2UgMjogdGhpcy5fcG9pbnQgPSAzOyB0aGlzLl9jb250ZXh0LmxpbmVUbygo
NSAqIHRoaXMuX3gwICsgdGhpcy5feDEpIC8gNiwgKDUgKiB0aGlzLl95MCArIHRoaXMuX3kxKSAv
IDYpOyAvLyBwcm9jZWVkCisgICAgICBkZWZhdWx0OiBwb2ludCQyKHRoaXMsIHgsIHkpOyBicmVh
azsKKyAgICB9CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSwgdGhpcy5feDEgPSB4OworICAgIHRo
aXMuX3kwID0gdGhpcy5feTEsIHRoaXMuX3kxID0geTsKKyAgfQorfTsKKworZnVuY3Rpb24gYmFz
aXMkMihjb250ZXh0KSB7CisgIHJldHVybiBuZXcgQmFzaXMoY29udGV4dCk7Cit9CisKK2Z1bmN0
aW9uIEJhc2lzQ2xvc2VkKGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7Cit9
CisKK0Jhc2lzQ2xvc2VkLnByb3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBub29wJDMsCisgIGFy
ZWFFbmQ6IG5vb3AkMywKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9
IHRoaXMuX3gxID0gdGhpcy5feDIgPSB0aGlzLl94MyA9IHRoaXMuX3g0ID0KKyAgICB0aGlzLl95
MCA9IHRoaXMuX3kxID0gdGhpcy5feTIgPSB0aGlzLl95MyA9IHRoaXMuX3k0ID0gTmFOOworICAg
IHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgc3dp
dGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAxOiB7CisgICAgICAgIHRoaXMuX2NvbnRl
eHQubW92ZVRvKHRoaXMuX3gyLCB0aGlzLl95Mik7CisgICAgICAgIHRoaXMuX2NvbnRleHQuY2xv
c2VQYXRoKCk7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAgY2FzZSAyOiB7CisgICAg
ICAgIHRoaXMuX2NvbnRleHQubW92ZVRvKCh0aGlzLl94MiArIDIgKiB0aGlzLl94MykgLyAzLCAo
dGhpcy5feTIgKyAyICogdGhpcy5feTMpIC8gMyk7CisgICAgICAgIHRoaXMuX2NvbnRleHQubGlu
ZVRvKCh0aGlzLl94MyArIDIgKiB0aGlzLl94MikgLyAzLCAodGhpcy5feTMgKyAyICogdGhpcy5f
eTIpIC8gMyk7CisgICAgICAgIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgICAgIGJy
ZWFrOworICAgICAgfQorICAgICAgY2FzZSAzOiB7CisgICAgICAgIHRoaXMucG9pbnQodGhpcy5f
eDIsIHRoaXMuX3kyKTsKKyAgICAgICAgdGhpcy5wb2ludCh0aGlzLl94MywgdGhpcy5feTMpOwor
ICAgICAgICB0aGlzLnBvaW50KHRoaXMuX3g0LCB0aGlzLl95NCk7CisgICAgICAgIGJyZWFrOwor
ICAgICAgfQorICAgIH0KKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0g
K3gsIHkgPSAreTsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRo
aXMuX3BvaW50ID0gMTsgdGhpcy5feDIgPSB4LCB0aGlzLl95MiA9IHk7IGJyZWFrOworICAgICAg
Y2FzZSAxOiB0aGlzLl9wb2ludCA9IDI7IHRoaXMuX3gzID0geCwgdGhpcy5feTMgPSB5OyBicmVh
azsKKyAgICAgIGNhc2UgMjogdGhpcy5fcG9pbnQgPSAzOyB0aGlzLl94NCA9IHgsIHRoaXMuX3k0
ID0geTsgdGhpcy5fY29udGV4dC5tb3ZlVG8oKHRoaXMuX3gwICsgNCAqIHRoaXMuX3gxICsgeCkg
LyA2LCAodGhpcy5feTAgKyA0ICogdGhpcy5feTEgKyB5KSAvIDYpOyBicmVhazsKKyAgICAgIGRl
ZmF1bHQ6IHBvaW50JDIodGhpcywgeCwgeSk7IGJyZWFrOworICAgIH0KKyAgICB0aGlzLl94MCA9
IHRoaXMuX3gxLCB0aGlzLl94MSA9IHg7CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSwgdGhpcy5f
eTEgPSB5OworICB9Cit9OworCitmdW5jdGlvbiBiYXNpc0Nsb3NlZCQxKGNvbnRleHQpIHsKKyAg
cmV0dXJuIG5ldyBCYXNpc0Nsb3NlZChjb250ZXh0KTsKK30KKworZnVuY3Rpb24gQmFzaXNPcGVu
KGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7Cit9CisKK0Jhc2lzT3Blbi5w
cm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9
IDA7CisgIH0sCisgIGFyZWFFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSBOYU47
CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5feDAgPSB0aGlzLl94
MSA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IE5hTjsKKyAgICB0aGlzLl9wb2ludCA9IDA7
CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9saW5lIHx8ICh0
aGlzLl9saW5lICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAzKSkgdGhpcy5fY29udGV4dC5jbG9z
ZVBhdGgoKTsKKyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0sCisgIHBvaW50
OiBmdW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgc3dpdGNoICh0aGlz
Ll9wb2ludCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IGJyZWFrOworICAgICAg
Y2FzZSAxOiB0aGlzLl9wb2ludCA9IDI7IGJyZWFrOworICAgICAgY2FzZSAyOiB0aGlzLl9wb2lu
dCA9IDM7IHZhciB4MCA9ICh0aGlzLl94MCArIDQgKiB0aGlzLl94MSArIHgpIC8gNiwgeTAgPSAo
dGhpcy5feTAgKyA0ICogdGhpcy5feTEgKyB5KSAvIDY7IHRoaXMuX2xpbmUgPyB0aGlzLl9jb250
ZXh0LmxpbmVUbyh4MCwgeTApIDogdGhpcy5fY29udGV4dC5tb3ZlVG8oeDAsIHkwKTsgYnJlYWs7
CisgICAgICBjYXNlIDM6IHRoaXMuX3BvaW50ID0gNDsgLy8gcHJvY2VlZAorICAgICAgZGVmYXVs
dDogcG9pbnQkMih0aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorICAgIHRoaXMuX3gwID0gdGhp
cy5feDEsIHRoaXMuX3gxID0geDsKKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxLCB0aGlzLl95MSA9
IHk7CisgIH0KK307CisKK2Z1bmN0aW9uIGJhc2lzT3Blbihjb250ZXh0KSB7CisgIHJldHVybiBu
ZXcgQmFzaXNPcGVuKGNvbnRleHQpOworfQorCitmdW5jdGlvbiBCdW5kbGUoY29udGV4dCwgYmV0
YSkgeworICB0aGlzLl9iYXNpcyA9IG5ldyBCYXNpcyhjb250ZXh0KTsKKyAgdGhpcy5fYmV0YSA9
IGJldGE7Cit9CisKK0J1bmRsZS5wcm90b3R5cGUgPSB7CisgIGxpbmVTdGFydDogZnVuY3Rpb24o
KSB7CisgICAgdGhpcy5feCA9IFtdOworICAgIHRoaXMuX3kgPSBbXTsKKyAgICB0aGlzLl9iYXNp
cy5saW5lU3RhcnQoKTsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgdmFyIHgg
PSB0aGlzLl94LAorICAgICAgICB5ID0gdGhpcy5feSwKKyAgICAgICAgaiA9IHgubGVuZ3RoIC0g
MTsKKworICAgIGlmIChqID4gMCkgeworICAgICAgdmFyIHgwID0geFswXSwKKyAgICAgICAgICB5
MCA9IHlbMF0sCisgICAgICAgICAgZHggPSB4W2pdIC0geDAsCisgICAgICAgICAgZHkgPSB5W2pd
IC0geTAsCisgICAgICAgICAgaSA9IC0xLAorICAgICAgICAgIHQ7CisKKyAgICAgIHdoaWxlICgr
K2kgPD0gaikgeworICAgICAgICB0ID0gaSAvIGo7CisgICAgICAgIHRoaXMuX2Jhc2lzLnBvaW50
KAorICAgICAgICAgIHRoaXMuX2JldGEgKiB4W2ldICsgKDEgLSB0aGlzLl9iZXRhKSAqICh4MCAr
IHQgKiBkeCksCisgICAgICAgICAgdGhpcy5fYmV0YSAqIHlbaV0gKyAoMSAtIHRoaXMuX2JldGEp
ICogKHkwICsgdCAqIGR5KQorICAgICAgICApOworICAgICAgfQorICAgIH0KKworICAgIHRoaXMu
X3ggPSB0aGlzLl95ID0gbnVsbDsKKyAgICB0aGlzLl9iYXNpcy5saW5lRW5kKCk7CisgIH0sCisg
IHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgdGhpcy5feC5wdXNoKCt4KTsKKyAgICB0aGlz
Ll95LnB1c2goK3kpOworICB9Cit9OworCit2YXIgYnVuZGxlID0gKGZ1bmN0aW9uIGN1c3RvbShi
ZXRhKSB7CisKKyAgZnVuY3Rpb24gYnVuZGxlKGNvbnRleHQpIHsKKyAgICByZXR1cm4gYmV0YSA9
PT0gMSA/IG5ldyBCYXNpcyhjb250ZXh0KSA6IG5ldyBCdW5kbGUoY29udGV4dCwgYmV0YSk7Cisg
IH0KKworICBidW5kbGUuYmV0YSA9IGZ1bmN0aW9uKGJldGEpIHsKKyAgICByZXR1cm4gY3VzdG9t
KCtiZXRhKTsKKyAgfTsKKworICByZXR1cm4gYnVuZGxlOworfSkoMC44NSk7CisKK2Z1bmN0aW9u
IHBvaW50JDModGhhdCwgeCwgeSkgeworICB0aGF0Ll9jb250ZXh0LmJlemllckN1cnZlVG8oCisg
ICAgdGhhdC5feDEgKyB0aGF0Ll9rICogKHRoYXQuX3gyIC0gdGhhdC5feDApLAorICAgIHRoYXQu
X3kxICsgdGhhdC5fayAqICh0aGF0Ll95MiAtIHRoYXQuX3kwKSwKKyAgICB0aGF0Ll94MiArIHRo
YXQuX2sgKiAodGhhdC5feDEgLSB4KSwKKyAgICB0aGF0Ll95MiArIHRoYXQuX2sgKiAodGhhdC5f
eTEgLSB5KSwKKyAgICB0aGF0Ll94MiwKKyAgICB0aGF0Ll95MgorICApOworfQorCitmdW5jdGlv
biBDYXJkaW5hbChjb250ZXh0LCB0ZW5zaW9uKSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0
OworICB0aGlzLl9rID0gKDEgLSB0ZW5zaW9uKSAvIDY7Cit9CisKK0NhcmRpbmFsLnByb3RvdHlw
ZSA9IHsKKyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAg
fSwKKyAgYXJlYUVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwK
KyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxID0gdGhp
cy5feDIgPQorICAgIHRoaXMuX3kwID0gdGhpcy5feTEgPSB0aGlzLl95MiA9IE5hTjsKKyAgICB0
aGlzLl9wb2ludCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHN3aXRj
aCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMjogdGhpcy5fY29udGV4dC5saW5lVG8odGhp
cy5feDIsIHRoaXMuX3kyKTsgYnJlYWs7CisgICAgICBjYXNlIDM6IHBvaW50JDModGhpcywgdGhp
cy5feDEsIHRoaXMuX3kxKTsgYnJlYWs7CisgICAgfQorICAgIGlmICh0aGlzLl9saW5lIHx8ICh0
aGlzLl9saW5lICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAxKSkgdGhpcy5fY29udGV4dC5jbG9z
ZVBhdGgoKTsKKyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0sCisgIHBvaW50
OiBmdW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgc3dpdGNoICh0aGlz
Ll9wb2ludCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IHRoaXMuX2xpbmUgPyB0
aGlzLl9jb250ZXh0LmxpbmVUbyh4LCB5KSA6IHRoaXMuX2NvbnRleHQubW92ZVRvKHgsIHkpOyBi
cmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAyOyB0aGlzLl94MSA9IHgsIHRoaXMu
X3kxID0geTsgYnJlYWs7CisgICAgICBjYXNlIDI6IHRoaXMuX3BvaW50ID0gMzsgLy8gcHJvY2Vl
ZAorICAgICAgZGVmYXVsdDogcG9pbnQkMyh0aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorICAg
IHRoaXMuX3gwID0gdGhpcy5feDEsIHRoaXMuX3gxID0gdGhpcy5feDIsIHRoaXMuX3gyID0geDsK
KyAgICB0aGlzLl95MCA9IHRoaXMuX3kxLCB0aGlzLl95MSA9IHRoaXMuX3kyLCB0aGlzLl95MiA9
IHk7CisgIH0KK307CisKK3ZhciBjYXJkaW5hbCA9IChmdW5jdGlvbiBjdXN0b20odGVuc2lvbikg
eworCisgIGZ1bmN0aW9uIGNhcmRpbmFsKGNvbnRleHQpIHsKKyAgICByZXR1cm4gbmV3IENhcmRp
bmFsKGNvbnRleHQsIHRlbnNpb24pOworICB9CisKKyAgY2FyZGluYWwudGVuc2lvbiA9IGZ1bmN0
aW9uKHRlbnNpb24pIHsKKyAgICByZXR1cm4gY3VzdG9tKCt0ZW5zaW9uKTsKKyAgfTsKKworICBy
ZXR1cm4gY2FyZGluYWw7Cit9KSgwKTsKKworZnVuY3Rpb24gQ2FyZGluYWxDbG9zZWQoY29udGV4
dCwgdGVuc2lvbikgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKKyAgdGhpcy5fayA9ICgx
IC0gdGVuc2lvbikgLyA2OworfQorCitDYXJkaW5hbENsb3NlZC5wcm90b3R5cGUgPSB7CisgIGFy
ZWFTdGFydDogbm9vcCQzLAorICBhcmVhRW5kOiBub29wJDMsCisgIGxpbmVTdGFydDogZnVuY3Rp
b24oKSB7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSA9IHRoaXMuX3gyID0gdGhpcy5feDMgPSB0
aGlzLl94NCA9IHRoaXMuX3g1ID0KKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxID0gdGhpcy5feTIg
PSB0aGlzLl95MyA9IHRoaXMuX3k0ID0gdGhpcy5feTUgPSBOYU47CisgICAgdGhpcy5fcG9pbnQg
PSAwOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBzd2l0Y2ggKHRoaXMuX3Bv
aW50KSB7CisgICAgICBjYXNlIDE6IHsKKyAgICAgICAgdGhpcy5fY29udGV4dC5tb3ZlVG8odGhp
cy5feDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBjYXNlIDI6IHsKKyAgICAgICAgdGhpcy5fY29u
dGV4dC5saW5lVG8odGhpcy5feDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhpcy5fY29udGV4dC5j
bG9zZVBhdGgoKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBjYXNlIDM6IHsKKyAg
ICAgICAgdGhpcy5wb2ludCh0aGlzLl94MywgdGhpcy5feTMpOworICAgICAgICB0aGlzLnBvaW50
KHRoaXMuX3g0LCB0aGlzLl95NCk7CisgICAgICAgIHRoaXMucG9pbnQodGhpcy5feDUsIHRoaXMu
X3k1KTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorICB9LAorICBwb2ludDogZnVu
Y3Rpb24oeCwgeSkgeworICAgIHggPSAreCwgeSA9ICt5OworICAgIHN3aXRjaCAodGhpcy5fcG9p
bnQpIHsKKyAgICAgIGNhc2UgMDogdGhpcy5fcG9pbnQgPSAxOyB0aGlzLl94MyA9IHgsIHRoaXMu
X3kzID0geTsgYnJlYWs7CisgICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgdGhpcy5fY29u
dGV4dC5tb3ZlVG8odGhpcy5feDQgPSB4LCB0aGlzLl95NCA9IHkpOyBicmVhazsKKyAgICAgIGNh
c2UgMjogdGhpcy5fcG9pbnQgPSAzOyB0aGlzLl94NSA9IHgsIHRoaXMuX3k1ID0geTsgYnJlYWs7
CisgICAgICBkZWZhdWx0OiBwb2ludCQzKHRoaXMsIHgsIHkpOyBicmVhazsKKyAgICB9CisgICAg
dGhpcy5feDAgPSB0aGlzLl94MSwgdGhpcy5feDEgPSB0aGlzLl94MiwgdGhpcy5feDIgPSB4Owor
ICAgIHRoaXMuX3kwID0gdGhpcy5feTEsIHRoaXMuX3kxID0gdGhpcy5feTIsIHRoaXMuX3kyID0g
eTsKKyAgfQorfTsKKwordmFyIGNhcmRpbmFsQ2xvc2VkID0gKGZ1bmN0aW9uIGN1c3RvbSh0ZW5z
aW9uKSB7CisKKyAgZnVuY3Rpb24gY2FyZGluYWwoY29udGV4dCkgeworICAgIHJldHVybiBuZXcg
Q2FyZGluYWxDbG9zZWQoY29udGV4dCwgdGVuc2lvbik7CisgIH0KKworICBjYXJkaW5hbC50ZW5z
aW9uID0gZnVuY3Rpb24odGVuc2lvbikgeworICAgIHJldHVybiBjdXN0b20oK3RlbnNpb24pOwor
ICB9OworCisgIHJldHVybiBjYXJkaW5hbDsKK30pKDApOworCitmdW5jdGlvbiBDYXJkaW5hbE9w
ZW4oY29udGV4dCwgdGVuc2lvbikgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKKyAgdGhp
cy5fayA9ICgxIC0gdGVuc2lvbikgLyA2OworfQorCitDYXJkaW5hbE9wZW4ucHJvdG90eXBlID0g
eworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSAwOworICB9LAor
ICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gTmFOOworICB9LAorICBs
aW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3gwID0gdGhpcy5feDEgPSB0aGlzLl94
MiA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IHRoaXMuX3kyID0gTmFOOworICAgIHRoaXMu
X3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgaWYgKHRoaXMu
X2xpbmUgfHwgKHRoaXMuX2xpbmUgIT09IDAgJiYgdGhpcy5fcG9pbnQgPT09IDMpKSB0aGlzLl9j
b250ZXh0LmNsb3NlUGF0aCgpOworICAgIHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5fbGluZTsKKyAg
fSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0gK3gsIHkgPSAreTsKKyAgICBz
d2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3BvaW50ID0gMTsgYnJl
YWs7CisgICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgYnJlYWs7CisgICAgICBjYXNlIDI6
IHRoaXMuX3BvaW50ID0gMzsgdGhpcy5fbGluZSA/IHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMu
X3gyLCB0aGlzLl95MikgOiB0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94MiwgdGhpcy5feTIp
OyBicmVhazsKKyAgICAgIGNhc2UgMzogdGhpcy5fcG9pbnQgPSA0OyAvLyBwcm9jZWVkCisgICAg
ICBkZWZhdWx0OiBwb2ludCQzKHRoaXMsIHgsIHkpOyBicmVhazsKKyAgICB9CisgICAgdGhpcy5f
eDAgPSB0aGlzLl94MSwgdGhpcy5feDEgPSB0aGlzLl94MiwgdGhpcy5feDIgPSB4OworICAgIHRo
aXMuX3kwID0gdGhpcy5feTEsIHRoaXMuX3kxID0gdGhpcy5feTIsIHRoaXMuX3kyID0geTsKKyAg
fQorfTsKKwordmFyIGNhcmRpbmFsT3BlbiA9IChmdW5jdGlvbiBjdXN0b20odGVuc2lvbikgewor
CisgIGZ1bmN0aW9uIGNhcmRpbmFsKGNvbnRleHQpIHsKKyAgICByZXR1cm4gbmV3IENhcmRpbmFs
T3Blbihjb250ZXh0LCB0ZW5zaW9uKTsKKyAgfQorCisgIGNhcmRpbmFsLnRlbnNpb24gPSBmdW5j
dGlvbih0ZW5zaW9uKSB7CisgICAgcmV0dXJuIGN1c3RvbSgrdGVuc2lvbik7CisgIH07CisKKyAg
cmV0dXJuIGNhcmRpbmFsOworfSkoMCk7CisKK2Z1bmN0aW9uIHBvaW50JDQodGhhdCwgeCwgeSkg
eworICB2YXIgeDEgPSB0aGF0Ll94MSwKKyAgICAgIHkxID0gdGhhdC5feTEsCisgICAgICB4MiA9
IHRoYXQuX3gyLAorICAgICAgeTIgPSB0aGF0Ll95MjsKKworICBpZiAodGhhdC5fbDAxX2EgPiBl
cHNpbG9uJDMpIHsKKyAgICB2YXIgYSA9IDIgKiB0aGF0Ll9sMDFfMmEgKyAzICogdGhhdC5fbDAx
X2EgKiB0aGF0Ll9sMTJfYSArIHRoYXQuX2wxMl8yYSwKKyAgICAgICAgbiA9IDMgKiB0aGF0Ll9s
MDFfYSAqICh0aGF0Ll9sMDFfYSArIHRoYXQuX2wxMl9hKTsKKyAgICB4MSA9ICh4MSAqIGEgLSB0
aGF0Ll94MCAqIHRoYXQuX2wxMl8yYSArIHRoYXQuX3gyICogdGhhdC5fbDAxXzJhKSAvIG47Cisg
ICAgeTEgPSAoeTEgKiBhIC0gdGhhdC5feTAgKiB0aGF0Ll9sMTJfMmEgKyB0aGF0Ll95MiAqIHRo
YXQuX2wwMV8yYSkgLyBuOworICB9CisKKyAgaWYgKHRoYXQuX2wyM19hID4gZXBzaWxvbiQzKSB7
CisgICAgdmFyIGIgPSAyICogdGhhdC5fbDIzXzJhICsgMyAqIHRoYXQuX2wyM19hICogdGhhdC5f
bDEyX2EgKyB0aGF0Ll9sMTJfMmEsCisgICAgICAgIG0gPSAzICogdGhhdC5fbDIzX2EgKiAodGhh
dC5fbDIzX2EgKyB0aGF0Ll9sMTJfYSk7CisgICAgeDIgPSAoeDIgKiBiICsgdGhhdC5feDEgKiB0
aGF0Ll9sMjNfMmEgLSB4ICogdGhhdC5fbDEyXzJhKSAvIG07CisgICAgeTIgPSAoeTIgKiBiICsg
dGhhdC5feTEgKiB0aGF0Ll9sMjNfMmEgLSB5ICogdGhhdC5fbDEyXzJhKSAvIG07CisgIH0KKwor
ICB0aGF0Ll9jb250ZXh0LmJlemllckN1cnZlVG8oeDEsIHkxLCB4MiwgeTIsIHRoYXQuX3gyLCB0
aGF0Ll95Mik7Cit9CisKK2Z1bmN0aW9uIENhdG11bGxSb20oY29udGV4dCwgYWxwaGEpIHsKKyAg
dGhpcy5fY29udGV4dCA9IGNvbnRleHQ7CisgIHRoaXMuX2FscGhhID0gYWxwaGE7Cit9CisKK0Nh
dG11bGxSb20ucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRo
aXMuX2xpbmUgPSAwOworICB9LAorICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9s
aW5lID0gTmFOOworICB9LAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3gw
ID0gdGhpcy5feDEgPSB0aGlzLl94MiA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IHRoaXMu
X3kyID0gTmFOOworICAgIHRoaXMuX2wwMV9hID0gdGhpcy5fbDEyX2EgPSB0aGlzLl9sMjNfYSA9
CisgICAgdGhpcy5fbDAxXzJhID0gdGhpcy5fbDEyXzJhID0gdGhpcy5fbDIzXzJhID0KKyAgICB0
aGlzLl9wb2ludCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHN3aXRj
aCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMjogdGhpcy5fY29udGV4dC5saW5lVG8odGhp
cy5feDIsIHRoaXMuX3kyKTsgYnJlYWs7CisgICAgICBjYXNlIDM6IHRoaXMucG9pbnQodGhpcy5f
eDIsIHRoaXMuX3kyKTsgYnJlYWs7CisgICAgfQorICAgIGlmICh0aGlzLl9saW5lIHx8ICh0aGlz
Ll9saW5lICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAxKSkgdGhpcy5fY29udGV4dC5jbG9zZVBh
dGgoKTsKKyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0sCisgIHBvaW50OiBm
dW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisKKyAgICBpZiAodGhpcy5fcG9p
bnQpIHsKKyAgICAgIHZhciB4MjMgPSB0aGlzLl94MiAtIHgsCisgICAgICAgICAgeTIzID0gdGhp
cy5feTIgLSB5OworICAgICAgdGhpcy5fbDIzX2EgPSBNYXRoLnNxcnQodGhpcy5fbDIzXzJhID0g
TWF0aC5wb3coeDIzICogeDIzICsgeTIzICogeTIzLCB0aGlzLl9hbHBoYSkpOworICAgIH0KKwor
ICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2UgMDogdGhpcy5fcG9pbnQgPSAx
OyB0aGlzLl9saW5lID8gdGhpcy5fY29udGV4dC5saW5lVG8oeCwgeSkgOiB0aGlzLl9jb250ZXh0
Lm1vdmVUbyh4LCB5KTsgYnJlYWs7CisgICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgYnJl
YWs7CisgICAgICBjYXNlIDI6IHRoaXMuX3BvaW50ID0gMzsgLy8gcHJvY2VlZAorICAgICAgZGVm
YXVsdDogcG9pbnQkNCh0aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorCisgICAgdGhpcy5fbDAx
X2EgPSB0aGlzLl9sMTJfYSwgdGhpcy5fbDEyX2EgPSB0aGlzLl9sMjNfYTsKKyAgICB0aGlzLl9s
MDFfMmEgPSB0aGlzLl9sMTJfMmEsIHRoaXMuX2wxMl8yYSA9IHRoaXMuX2wyM18yYTsKKyAgICB0
aGlzLl94MCA9IHRoaXMuX3gxLCB0aGlzLl94MSA9IHRoaXMuX3gyLCB0aGlzLl94MiA9IHg7Cisg
ICAgdGhpcy5feTAgPSB0aGlzLl95MSwgdGhpcy5feTEgPSB0aGlzLl95MiwgdGhpcy5feTIgPSB5
OworICB9Cit9OworCit2YXIgY2F0bXVsbFJvbSA9IChmdW5jdGlvbiBjdXN0b20oYWxwaGEpIHsK
KworICBmdW5jdGlvbiBjYXRtdWxsUm9tKGNvbnRleHQpIHsKKyAgICByZXR1cm4gYWxwaGEgPyBu
ZXcgQ2F0bXVsbFJvbShjb250ZXh0LCBhbHBoYSkgOiBuZXcgQ2FyZGluYWwoY29udGV4dCwgMCk7
CisgIH0KKworICBjYXRtdWxsUm9tLmFscGhhID0gZnVuY3Rpb24oYWxwaGEpIHsKKyAgICByZXR1
cm4gY3VzdG9tKCthbHBoYSk7CisgIH07CisKKyAgcmV0dXJuIGNhdG11bGxSb207Cit9KSgwLjUp
OworCitmdW5jdGlvbiBDYXRtdWxsUm9tQ2xvc2VkKGNvbnRleHQsIGFscGhhKSB7CisgIHRoaXMu
X2NvbnRleHQgPSBjb250ZXh0OworICB0aGlzLl9hbHBoYSA9IGFscGhhOworfQorCitDYXRtdWxs
Um9tQ2xvc2VkLnByb3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBub29wJDMsCisgIGFyZWFFbmQ6
IG5vb3AkMywKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9IHRoaXMu
X3gxID0gdGhpcy5feDIgPSB0aGlzLl94MyA9IHRoaXMuX3g0ID0gdGhpcy5feDUgPQorICAgIHRo
aXMuX3kwID0gdGhpcy5feTEgPSB0aGlzLl95MiA9IHRoaXMuX3kzID0gdGhpcy5feTQgPSB0aGlz
Ll95NSA9IE5hTjsKKyAgICB0aGlzLl9sMDFfYSA9IHRoaXMuX2wxMl9hID0gdGhpcy5fbDIzX2Eg
PQorICAgIHRoaXMuX2wwMV8yYSA9IHRoaXMuX2wxMl8yYSA9IHRoaXMuX2wyM18yYSA9CisgICAg
dGhpcy5fcG9pbnQgPSAwOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBzd2l0
Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDE6IHsKKyAgICAgICAgdGhpcy5fY29udGV4
dC5tb3ZlVG8odGhpcy5feDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhpcy5fY29udGV4dC5jbG9z
ZVBhdGgoKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBjYXNlIDI6IHsKKyAgICAg
ICAgdGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhp
cy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICBj
YXNlIDM6IHsKKyAgICAgICAgdGhpcy5wb2ludCh0aGlzLl94MywgdGhpcy5feTMpOworICAgICAg
ICB0aGlzLnBvaW50KHRoaXMuX3g0LCB0aGlzLl95NCk7CisgICAgICAgIHRoaXMucG9pbnQodGhp
cy5feDUsIHRoaXMuX3k1KTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorICB9LAor
ICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAgIHggPSAreCwgeSA9ICt5OworCisgICAgaWYg
KHRoaXMuX3BvaW50KSB7CisgICAgICB2YXIgeDIzID0gdGhpcy5feDIgLSB4LAorICAgICAgICAg
IHkyMyA9IHRoaXMuX3kyIC0geTsKKyAgICAgIHRoaXMuX2wyM19hID0gTWF0aC5zcXJ0KHRoaXMu
X2wyM18yYSA9IE1hdGgucG93KHgyMyAqIHgyMyArIHkyMyAqIHkyMywgdGhpcy5fYWxwaGEpKTsK
KyAgICB9CisKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMu
X3BvaW50ID0gMTsgdGhpcy5feDMgPSB4LCB0aGlzLl95MyA9IHk7IGJyZWFrOworICAgICAgY2Fz
ZSAxOiB0aGlzLl9wb2ludCA9IDI7IHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3g0ID0geCwg
dGhpcy5feTQgPSB5KTsgYnJlYWs7CisgICAgICBjYXNlIDI6IHRoaXMuX3BvaW50ID0gMzsgdGhp
cy5feDUgPSB4LCB0aGlzLl95NSA9IHk7IGJyZWFrOworICAgICAgZGVmYXVsdDogcG9pbnQkNCh0
aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorCisgICAgdGhpcy5fbDAxX2EgPSB0aGlzLl9sMTJf
YSwgdGhpcy5fbDEyX2EgPSB0aGlzLl9sMjNfYTsKKyAgICB0aGlzLl9sMDFfMmEgPSB0aGlzLl9s
MTJfMmEsIHRoaXMuX2wxMl8yYSA9IHRoaXMuX2wyM18yYTsKKyAgICB0aGlzLl94MCA9IHRoaXMu
X3gxLCB0aGlzLl94MSA9IHRoaXMuX3gyLCB0aGlzLl94MiA9IHg7CisgICAgdGhpcy5feTAgPSB0
aGlzLl95MSwgdGhpcy5feTEgPSB0aGlzLl95MiwgdGhpcy5feTIgPSB5OworICB9Cit9OworCit2
YXIgY2F0bXVsbFJvbUNsb3NlZCA9IChmdW5jdGlvbiBjdXN0b20oYWxwaGEpIHsKKworICBmdW5j
dGlvbiBjYXRtdWxsUm9tKGNvbnRleHQpIHsKKyAgICByZXR1cm4gYWxwaGEgPyBuZXcgQ2F0bXVs
bFJvbUNsb3NlZChjb250ZXh0LCBhbHBoYSkgOiBuZXcgQ2FyZGluYWxDbG9zZWQoY29udGV4dCwg
MCk7CisgIH0KKworICBjYXRtdWxsUm9tLmFscGhhID0gZnVuY3Rpb24oYWxwaGEpIHsKKyAgICBy
ZXR1cm4gY3VzdG9tKCthbHBoYSk7CisgIH07CisKKyAgcmV0dXJuIGNhdG11bGxSb207Cit9KSgw
LjUpOworCitmdW5jdGlvbiBDYXRtdWxsUm9tT3Blbihjb250ZXh0LCBhbHBoYSkgeworICB0aGlz
Ll9jb250ZXh0ID0gY29udGV4dDsKKyAgdGhpcy5fYWxwaGEgPSBhbHBoYTsKK30KKworQ2F0bXVs
bFJvbU9wZW4ucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRo
aXMuX2xpbmUgPSAwOworICB9LAorICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9s
aW5lID0gTmFOOworICB9LAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3gw
ID0gdGhpcy5feDEgPSB0aGlzLl94MiA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IHRoaXMu
X3kyID0gTmFOOworICAgIHRoaXMuX2wwMV9hID0gdGhpcy5fbDEyX2EgPSB0aGlzLl9sMjNfYSA9
CisgICAgdGhpcy5fbDAxXzJhID0gdGhpcy5fbDEyXzJhID0gdGhpcy5fbDIzXzJhID0KKyAgICB0
aGlzLl9wb2ludCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0
aGlzLl9saW5lIHx8ICh0aGlzLl9saW5lICE9PSAwICYmIHRoaXMuX3BvaW50ID09PSAzKSkgdGhp
cy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7
CisgIH0sCisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisK
KyAgICBpZiAodGhpcy5fcG9pbnQpIHsKKyAgICAgIHZhciB4MjMgPSB0aGlzLl94MiAtIHgsCisg
ICAgICAgICAgeTIzID0gdGhpcy5feTIgLSB5OworICAgICAgdGhpcy5fbDIzX2EgPSBNYXRoLnNx
cnQodGhpcy5fbDIzXzJhID0gTWF0aC5wb3coeDIzICogeDIzICsgeTIzICogeTIzLCB0aGlzLl9h
bHBoYSkpOworICAgIH0KKworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2Ug
MDogdGhpcy5fcG9pbnQgPSAxOyBicmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAy
OyBicmVhazsKKyAgICAgIGNhc2UgMjogdGhpcy5fcG9pbnQgPSAzOyB0aGlzLl9saW5lID8gdGhp
cy5fY29udGV4dC5saW5lVG8odGhpcy5feDIsIHRoaXMuX3kyKSA6IHRoaXMuX2NvbnRleHQubW92
ZVRvKHRoaXMuX3gyLCB0aGlzLl95Mik7IGJyZWFrOworICAgICAgY2FzZSAzOiB0aGlzLl9wb2lu
dCA9IDQ7IC8vIHByb2NlZWQKKyAgICAgIGRlZmF1bHQ6IHBvaW50JDQodGhpcywgeCwgeSk7IGJy
ZWFrOworICAgIH0KKworICAgIHRoaXMuX2wwMV9hID0gdGhpcy5fbDEyX2EsIHRoaXMuX2wxMl9h
ID0gdGhpcy5fbDIzX2E7CisgICAgdGhpcy5fbDAxXzJhID0gdGhpcy5fbDEyXzJhLCB0aGlzLl9s
MTJfMmEgPSB0aGlzLl9sMjNfMmE7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSwgdGhpcy5feDEg
PSB0aGlzLl94MiwgdGhpcy5feDIgPSB4OworICAgIHRoaXMuX3kwID0gdGhpcy5feTEsIHRoaXMu
X3kxID0gdGhpcy5feTIsIHRoaXMuX3kyID0geTsKKyAgfQorfTsKKwordmFyIGNhdG11bGxSb21P
cGVuID0gKGZ1bmN0aW9uIGN1c3RvbShhbHBoYSkgeworCisgIGZ1bmN0aW9uIGNhdG11bGxSb20o
Y29udGV4dCkgeworICAgIHJldHVybiBhbHBoYSA/IG5ldyBDYXRtdWxsUm9tT3Blbihjb250ZXh0
LCBhbHBoYSkgOiBuZXcgQ2FyZGluYWxPcGVuKGNvbnRleHQsIDApOworICB9CisKKyAgY2F0bXVs
bFJvbS5hbHBoYSA9IGZ1bmN0aW9uKGFscGhhKSB7CisgICAgcmV0dXJuIGN1c3RvbSgrYWxwaGEp
OworICB9OworCisgIHJldHVybiBjYXRtdWxsUm9tOworfSkoMC41KTsKKworZnVuY3Rpb24gTGlu
ZWFyQ2xvc2VkKGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7Cit9CisKK0xp
bmVhckNsb3NlZC5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogbm9vcCQzLAorICBhcmVhRW5k
OiBub29wJDMsCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fcG9pbnQgPSAw
OworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fcG9pbnQpIHRo
aXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgIH0sCisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7
CisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgaWYgKHRoaXMuX3BvaW50KSB0aGlzLl9jb250ZXh0
LmxpbmVUbyh4LCB5KTsKKyAgICBlbHNlIHRoaXMuX3BvaW50ID0gMSwgdGhpcy5fY29udGV4dC5t
b3ZlVG8oeCwgeSk7CisgIH0KK307CisKK2Z1bmN0aW9uIGxpbmVhckNsb3NlZChjb250ZXh0KSB7
CisgIHJldHVybiBuZXcgTGluZWFyQ2xvc2VkKGNvbnRleHQpOworfQorCitmdW5jdGlvbiBzaWdu
JDEoeCkgeworICByZXR1cm4geCA8IDAgPyAtMSA6IDE7Cit9CisKKy8vIENhbGN1bGF0ZSB0aGUg
c2xvcGVzIG9mIHRoZSB0YW5nZW50cyAoSGVybWl0ZS10eXBlIGludGVycG9sYXRpb24pIGJhc2Vk
IG9uCisvLyB0aGUgZm9sbG93aW5nIHBhcGVyOiBTdGVmZmVuLCBNLiAxOTkwLiBBIFNpbXBsZSBN
ZXRob2QgZm9yIE1vbm90b25pYworLy8gSW50ZXJwb2xhdGlvbiBpbiBPbmUgRGltZW5zaW9uLiBB
c3Ryb25vbXkgYW5kIEFzdHJvcGh5c2ljcywgVm9sLiAyMzksIE5PLgorLy8gTk9WKElJKSwgUC4g
NDQzLCAxOTkwLgorZnVuY3Rpb24gc2xvcGUzKHRoYXQsIHgyLCB5MikgeworICB2YXIgaDAgPSB0
aGF0Ll94MSAtIHRoYXQuX3gwLAorICAgICAgaDEgPSB4MiAtIHRoYXQuX3gxLAorICAgICAgczAg
PSAodGhhdC5feTEgLSB0aGF0Ll95MCkgLyAoaDAgfHwgaDEgPCAwICYmIC0wKSwKKyAgICAgIHMx
ID0gKHkyIC0gdGhhdC5feTEpIC8gKGgxIHx8IGgwIDwgMCAmJiAtMCksCisgICAgICBwID0gKHMw
ICogaDEgKyBzMSAqIGgwKSAvIChoMCArIGgxKTsKKyAgcmV0dXJuIChzaWduJDEoczApICsgc2ln
biQxKHMxKSkgKiBNYXRoLm1pbihNYXRoLmFicyhzMCksIE1hdGguYWJzKHMxKSwgMC41ICogTWF0
aC5hYnMocCkpIHx8IDA7Cit9CisKKy8vIENhbGN1bGF0ZSBhIG9uZS1zaWRlZCBzbG9wZS4KK2Z1
bmN0aW9uIHNsb3BlMih0aGF0LCB0KSB7CisgIHZhciBoID0gdGhhdC5feDEgLSB0aGF0Ll94MDsK
KyAgcmV0dXJuIGggPyAoMyAqICh0aGF0Ll95MSAtIHRoYXQuX3kwKSAvIGggLSB0KSAvIDIgOiB0
OworfQorCisvLyBBY2NvcmRpbmcgdG8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ3Vi
aWNfSGVybWl0ZV9zcGxpbmUjUmVwcmVzZW50YXRpb25zCisvLyAieW91IGNhbiBleHByZXNzIGN1
YmljIEhlcm1pdGUgaW50ZXJwb2xhdGlvbiBpbiB0ZXJtcyBvZiBjdWJpYyBCw6l6aWVyIGN1cnZl
cworLy8gd2l0aCByZXNwZWN0IHRvIHRoZSBmb3VyIHZhbHVlcyBwMCwgcDAgKyBtMCAvIDMsIHAx
IC0gbTEgLyAzLCBwMSIuCitmdW5jdGlvbiBwb2ludCQ1KHRoYXQsIHQwLCB0MSkgeworICB2YXIg
eDAgPSB0aGF0Ll94MCwKKyAgICAgIHkwID0gdGhhdC5feTAsCisgICAgICB4MSA9IHRoYXQuX3gx
LAorICAgICAgeTEgPSB0aGF0Ll95MSwKKyAgICAgIGR4ID0gKHgxIC0geDApIC8gMzsKKyAgdGhh
dC5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKHgwICsgZHgsIHkwICsgZHggKiB0MCwgeDEgLSBkeCwg
eTEgLSBkeCAqIHQxLCB4MSwgeTEpOworfQorCitmdW5jdGlvbiBNb25vdG9uZVgoY29udGV4dCkg
eworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKK30KKworTW9ub3RvbmVYLnByb3RvdHlwZSA9
IHsKKyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAgfSwK
KyAgYXJlYUVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwKKyAg
bGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxID0KKyAgICB0
aGlzLl95MCA9IHRoaXMuX3kxID0KKyAgICB0aGlzLl90MCA9IE5hTjsKKyAgICB0aGlzLl9wb2lu
dCA9IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHN3aXRjaCAodGhpcy5f
cG9pbnQpIHsKKyAgICAgIGNhc2UgMjogdGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDEsIHRo
aXMuX3kxKTsgYnJlYWs7CisgICAgICBjYXNlIDM6IHBvaW50JDUodGhpcywgdGhpcy5fdDAsIHNs
b3BlMih0aGlzLCB0aGlzLl90MCkpOyBicmVhazsKKyAgICB9CisgICAgaWYgKHRoaXMuX2xpbmUg
fHwgKHRoaXMuX2xpbmUgIT09IDAgJiYgdGhpcy5fcG9pbnQgPT09IDEpKSB0aGlzLl9jb250ZXh0
LmNsb3NlUGF0aCgpOworICAgIHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5fbGluZTsKKyAgfSwKKyAg
cG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB2YXIgdDEgPSBOYU47CisKKyAgICB4ID0gK3gs
IHkgPSAreTsKKyAgICBpZiAoeCA9PT0gdGhpcy5feDEgJiYgeSA9PT0gdGhpcy5feTEpIHJldHVy
bjsgLy8gSWdub3JlIGNvaW5jaWRlbnQgcG9pbnRzLgorICAgIHN3aXRjaCAodGhpcy5fcG9pbnQp
IHsKKyAgICAgIGNhc2UgMDogdGhpcy5fcG9pbnQgPSAxOyB0aGlzLl9saW5lID8gdGhpcy5fY29u
dGV4dC5saW5lVG8oeCwgeSkgOiB0aGlzLl9jb250ZXh0Lm1vdmVUbyh4LCB5KTsgYnJlYWs7Cisg
ICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgYnJlYWs7CisgICAgICBjYXNlIDI6IHRoaXMu
X3BvaW50ID0gMzsgcG9pbnQkNSh0aGlzLCBzbG9wZTIodGhpcywgdDEgPSBzbG9wZTModGhpcywg
eCwgeSkpLCB0MSk7IGJyZWFrOworICAgICAgZGVmYXVsdDogcG9pbnQkNSh0aGlzLCB0aGlzLl90
MCwgdDEgPSBzbG9wZTModGhpcywgeCwgeSkpOyBicmVhazsKKyAgICB9CisKKyAgICB0aGlzLl94
MCA9IHRoaXMuX3gxLCB0aGlzLl94MSA9IHg7CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSwgdGhp
cy5feTEgPSB5OworICAgIHRoaXMuX3QwID0gdDE7CisgIH0KK307CisKK2Z1bmN0aW9uIE1vbm90
b25lWShjb250ZXh0KSB7CisgIHRoaXMuX2NvbnRleHQgPSBuZXcgUmVmbGVjdENvbnRleHQoY29u
dGV4dCk7Cit9CisKKyhNb25vdG9uZVkucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShNb25vdG9u
ZVgucHJvdG90eXBlKSkucG9pbnQgPSBmdW5jdGlvbih4LCB5KSB7CisgIE1vbm90b25lWC5wcm90
b3R5cGUucG9pbnQuY2FsbCh0aGlzLCB5LCB4KTsKK307CisKK2Z1bmN0aW9uIFJlZmxlY3RDb250
ZXh0KGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7Cit9CisKK1JlZmxlY3RD
b250ZXh0LnByb3RvdHlwZSA9IHsKKyAgbW92ZVRvOiBmdW5jdGlvbih4LCB5KSB7IHRoaXMuX2Nv
bnRleHQubW92ZVRvKHksIHgpOyB9LAorICBjbG9zZVBhdGg6IGZ1bmN0aW9uKCkgeyB0aGlzLl9j
b250ZXh0LmNsb3NlUGF0aCgpOyB9LAorICBsaW5lVG86IGZ1bmN0aW9uKHgsIHkpIHsgdGhpcy5f
Y29udGV4dC5saW5lVG8oeSwgeCk7IH0sCisgIGJlemllckN1cnZlVG86IGZ1bmN0aW9uKHgxLCB5
MSwgeDIsIHkyLCB4LCB5KSB7IHRoaXMuX2NvbnRleHQuYmV6aWVyQ3VydmVUbyh5MSwgeDEsIHky
LCB4MiwgeSwgeCk7IH0KK307CisKK2Z1bmN0aW9uIG1vbm90b25lWChjb250ZXh0KSB7CisgIHJl
dHVybiBuZXcgTW9ub3RvbmVYKGNvbnRleHQpOworfQorCitmdW5jdGlvbiBtb25vdG9uZVkoY29u
dGV4dCkgeworICByZXR1cm4gbmV3IE1vbm90b25lWShjb250ZXh0KTsKK30KKworZnVuY3Rpb24g
TmF0dXJhbChjb250ZXh0KSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworfQorCitOYXR1
cmFsLnByb3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9s
aW5lID0gMDsKKyAgfSwKKyAgYXJlYUVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9
IE5hTjsKKyAgfSwKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94ID0gW107
CisgICAgdGhpcy5feSA9IFtdOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICB2
YXIgeCA9IHRoaXMuX3gsCisgICAgICAgIHkgPSB0aGlzLl95LAorICAgICAgICBuID0geC5sZW5n
dGg7CisKKyAgICBpZiAobikgeworICAgICAgdGhpcy5fbGluZSA/IHRoaXMuX2NvbnRleHQubGlu
ZVRvKHhbMF0sIHlbMF0pIDogdGhpcy5fY29udGV4dC5tb3ZlVG8oeFswXSwgeVswXSk7CisgICAg
ICBpZiAobiA9PT0gMikgeworICAgICAgICB0aGlzLl9jb250ZXh0LmxpbmVUbyh4WzFdLCB5WzFd
KTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIHZhciBweCA9IGNvbnRyb2xQb2ludHMoeCksCisg
ICAgICAgICAgICBweSA9IGNvbnRyb2xQb2ludHMoeSk7CisgICAgICAgIGZvciAodmFyIGkwID0g
MCwgaTEgPSAxOyBpMSA8IG47ICsraTAsICsraTEpIHsKKyAgICAgICAgICB0aGlzLl9jb250ZXh0
LmJlemllckN1cnZlVG8ocHhbMF1baTBdLCBweVswXVtpMF0sIHB4WzFdW2kwXSwgcHlbMV1baTBd
LCB4W2kxXSwgeVtpMV0pOworICAgICAgICB9CisgICAgICB9CisgICAgfQorCisgICAgaWYgKHRo
aXMuX2xpbmUgfHwgKHRoaXMuX2xpbmUgIT09IDAgJiYgbiA9PT0gMSkpIHRoaXMuX2NvbnRleHQu
Y2xvc2VQYXRoKCk7CisgICAgdGhpcy5fbGluZSA9IDEgLSB0aGlzLl9saW5lOworICAgIHRoaXMu
X3ggPSB0aGlzLl95ID0gbnVsbDsKKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAg
ICB0aGlzLl94LnB1c2goK3gpOworICAgIHRoaXMuX3kucHVzaCgreSk7CisgIH0KK307CisKKy8v
IFNlZSBodHRwczovL3d3dy5wYXJ0aWNsZWluY2VsbC5jb20vMjAxMi9iZXppZXItc3BsaW5lcy8g
Zm9yIGRlcml2YXRpb24uCitmdW5jdGlvbiBjb250cm9sUG9pbnRzKHgpIHsKKyAgdmFyIGksCisg
ICAgICBuID0geC5sZW5ndGggLSAxLAorICAgICAgbSwKKyAgICAgIGEgPSBuZXcgQXJyYXkobiks
CisgICAgICBiID0gbmV3IEFycmF5KG4pLAorICAgICAgciA9IG5ldyBBcnJheShuKTsKKyAgYVsw
XSA9IDAsIGJbMF0gPSAyLCByWzBdID0geFswXSArIDIgKiB4WzFdOworICBmb3IgKGkgPSAxOyBp
IDwgbiAtIDE7ICsraSkgYVtpXSA9IDEsIGJbaV0gPSA0LCByW2ldID0gNCAqIHhbaV0gKyAyICog
eFtpICsgMV07CisgIGFbbiAtIDFdID0gMiwgYltuIC0gMV0gPSA3LCByW24gLSAxXSA9IDggKiB4
W24gLSAxXSArIHhbbl07CisgIGZvciAoaSA9IDE7IGkgPCBuOyArK2kpIG0gPSBhW2ldIC8gYltp
IC0gMV0sIGJbaV0gLT0gbSwgcltpXSAtPSBtICogcltpIC0gMV07CisgIGFbbiAtIDFdID0gcltu
IC0gMV0gLyBiW24gLSAxXTsKKyAgZm9yIChpID0gbiAtIDI7IGkgPj0gMDsgLS1pKSBhW2ldID0g
KHJbaV0gLSBhW2kgKyAxXSkgLyBiW2ldOworICBiW24gLSAxXSA9ICh4W25dICsgYVtuIC0gMV0p
IC8gMjsKKyAgZm9yIChpID0gMDsgaSA8IG4gLSAxOyArK2kpIGJbaV0gPSAyICogeFtpICsgMV0g
LSBhW2kgKyAxXTsKKyAgcmV0dXJuIFthLCBiXTsKK30KKworZnVuY3Rpb24gbmF0dXJhbChjb250
ZXh0KSB7CisgIHJldHVybiBuZXcgTmF0dXJhbChjb250ZXh0KTsKK30KKworZnVuY3Rpb24gU3Rl
cChjb250ZXh0LCB0KSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworICB0aGlzLl90ID0g
dDsKK30KKworU3RlcC5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogZnVuY3Rpb24oKSB7Cisg
ICAgdGhpcy5fbGluZSA9IDA7CisgIH0sCisgIGFyZWFFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRo
aXMuX2xpbmUgPSBOYU47CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhp
cy5feCA9IHRoaXMuX3kgPSBOYU47CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9LAorICBsaW5l
RW5kOiBmdW5jdGlvbigpIHsKKyAgICBpZiAoMCA8IHRoaXMuX3QgJiYgdGhpcy5fdCA8IDEgJiYg
dGhpcy5fcG9pbnQgPT09IDIpIHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gsIHRoaXMuX3kp
OworICAgIGlmICh0aGlzLl9saW5lIHx8ICh0aGlzLl9saW5lICE9PSAwICYmIHRoaXMuX3BvaW50
ID09PSAxKSkgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgICBpZiAodGhpcy5fbGluZSA+
PSAwKSB0aGlzLl90ID0gMSAtIHRoaXMuX3QsIHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5fbGluZTsK
KyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0gK3gsIHkgPSAreTsKKyAg
ICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3BvaW50ID0gMTsg
dGhpcy5fbGluZSA/IHRoaXMuX2NvbnRleHQubGluZVRvKHgsIHkpIDogdGhpcy5fY29udGV4dC5t
b3ZlVG8oeCwgeSk7IGJyZWFrOworICAgICAgY2FzZSAxOiB0aGlzLl9wb2ludCA9IDI7IC8vIHBy
b2NlZWQKKyAgICAgIGRlZmF1bHQ6IHsKKyAgICAgICAgaWYgKHRoaXMuX3QgPD0gMCkgeworICAg
ICAgICAgIHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gsIHkpOworICAgICAgICAgIHRoaXMu
X2NvbnRleHQubGluZVRvKHgsIHkpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIHZhciB4
MSA9IHRoaXMuX3ggKiAoMSAtIHRoaXMuX3QpICsgeCAqIHRoaXMuX3Q7CisgICAgICAgICAgdGhp
cy5fY29udGV4dC5saW5lVG8oeDEsIHRoaXMuX3kpOworICAgICAgICAgIHRoaXMuX2NvbnRleHQu
bGluZVRvKHgxLCB5KTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICB9
CisgICAgdGhpcy5feCA9IHgsIHRoaXMuX3kgPSB5OworICB9Cit9OworCitmdW5jdGlvbiBzdGVw
KGNvbnRleHQpIHsKKyAgcmV0dXJuIG5ldyBTdGVwKGNvbnRleHQsIDAuNSk7Cit9CisKK2Z1bmN0
aW9uIHN0ZXBCZWZvcmUoY29udGV4dCkgeworICByZXR1cm4gbmV3IFN0ZXAoY29udGV4dCwgMCk7
Cit9CisKK2Z1bmN0aW9uIHN0ZXBBZnRlcihjb250ZXh0KSB7CisgIHJldHVybiBuZXcgU3RlcChj
b250ZXh0LCAxKTsKK30KKworZnVuY3Rpb24gbm9uZSQxKHNlcmllcywgb3JkZXIpIHsKKyAgaWYg
KCEoKG4gPSBzZXJpZXMubGVuZ3RoKSA+IDEpKSByZXR1cm47CisgIGZvciAodmFyIGkgPSAxLCBq
LCBzMCwgczEgPSBzZXJpZXNbb3JkZXJbMF1dLCBuLCBtID0gczEubGVuZ3RoOyBpIDwgbjsgKytp
KSB7CisgICAgczAgPSBzMSwgczEgPSBzZXJpZXNbb3JkZXJbaV1dOworICAgIGZvciAoaiA9IDA7
IGogPCBtOyArK2opIHsKKyAgICAgIHMxW2pdWzFdICs9IHMxW2pdWzBdID0gaXNOYU4oczBbal1b
MV0pID8gczBbal1bMF0gOiBzMFtqXVsxXTsKKyAgICB9CisgIH0KK30KKworZnVuY3Rpb24gbm9u
ZSQyKHNlcmllcykgeworICB2YXIgbiA9IHNlcmllcy5sZW5ndGgsIG8gPSBuZXcgQXJyYXkobik7
CisgIHdoaWxlICgtLW4gPj0gMCkgb1tuXSA9IG47CisgIHJldHVybiBvOworfQorCitmdW5jdGlv
biBzdGFja1ZhbHVlKGQsIGtleSkgeworICByZXR1cm4gZFtrZXldOworfQorCitmdW5jdGlvbiBz
dGFjaygpIHsKKyAgdmFyIGtleXMgPSBjb25zdGFudCRiKFtdKSwKKyAgICAgIG9yZGVyID0gbm9u
ZSQyLAorICAgICAgb2Zmc2V0ID0gbm9uZSQxLAorICAgICAgdmFsdWUgPSBzdGFja1ZhbHVlOwor
CisgIGZ1bmN0aW9uIHN0YWNrKGRhdGEpIHsKKyAgICB2YXIga3ogPSBrZXlzLmFwcGx5KHRoaXMs
IGFyZ3VtZW50cyksCisgICAgICAgIGksCisgICAgICAgIG0gPSBkYXRhLmxlbmd0aCwKKyAgICAg
ICAgbiA9IGt6Lmxlbmd0aCwKKyAgICAgICAgc3ogPSBuZXcgQXJyYXkobiksCisgICAgICAgIG96
OworCisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgZm9yICh2YXIga2kgPSBr
eltpXSwgc2kgPSBzeltpXSA9IG5ldyBBcnJheShtKSwgaiA9IDAsIHNpajsgaiA8IG07ICsraikg
eworICAgICAgICBzaVtqXSA9IHNpaiA9IFswLCArdmFsdWUoZGF0YVtqXSwga2ksIGosIGRhdGEp
XTsKKyAgICAgICAgc2lqLmRhdGEgPSBkYXRhW2pdOworICAgICAgfQorICAgICAgc2kua2V5ID0g
a2k7CisgICAgfQorCisgICAgZm9yIChpID0gMCwgb3ogPSBvcmRlcihzeik7IGkgPCBuOyArK2kp
IHsKKyAgICAgIHN6W296W2ldXS5pbmRleCA9IGk7CisgICAgfQorCisgICAgb2Zmc2V0KHN6LCBv
eik7CisgICAgcmV0dXJuIHN6OworICB9CisKKyAgc3RhY2sua2V5cyA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChrZXlzID0gdHlwZW9mIF8gPT09ICJmdW5j
dGlvbiIgPyBfIDogY29uc3RhbnQkYihzbGljZSQ2LmNhbGwoXykpLCBzdGFjaykgOiBrZXlzOwor
ICB9OworCisgIHN0YWNrLnZhbHVlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHZhbHVlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3Rh
bnQkYigrXyksIHN0YWNrKSA6IHZhbHVlOworICB9OworCisgIHN0YWNrLm9yZGVyID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKG9yZGVyID0gXyA9PSBudWxs
ID8gbm9uZSQyIDogdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYihzbGlj
ZSQ2LmNhbGwoXykpLCBzdGFjaykgOiBvcmRlcjsKKyAgfTsKKworICBzdGFjay5vZmZzZXQgPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAob2Zmc2V0ID0gXyA9
PSBudWxsID8gbm9uZSQxIDogXywgc3RhY2spIDogb2Zmc2V0OworICB9OworCisgIHJldHVybiBz
dGFjazsKK30KKworZnVuY3Rpb24gZXhwYW5kKHNlcmllcywgb3JkZXIpIHsKKyAgaWYgKCEoKG4g
PSBzZXJpZXMubGVuZ3RoKSA+IDApKSByZXR1cm47CisgIGZvciAodmFyIGksIG4sIGogPSAwLCBt
ID0gc2VyaWVzWzBdLmxlbmd0aCwgeTsgaiA8IG07ICsraikgeworICAgIGZvciAoeSA9IGkgPSAw
OyBpIDwgbjsgKytpKSB5ICs9IHNlcmllc1tpXVtqXVsxXSB8fCAwOworICAgIGlmICh5KSBmb3Ig
KGkgPSAwOyBpIDwgbjsgKytpKSBzZXJpZXNbaV1bal1bMV0gLz0geTsKKyAgfQorICBub25lJDEo
c2VyaWVzLCBvcmRlcik7Cit9CisKK2Z1bmN0aW9uIGRpdmVyZ2luZyQxKHNlcmllcywgb3JkZXIp
IHsKKyAgaWYgKCEoKG4gPSBzZXJpZXMubGVuZ3RoKSA+IDApKSByZXR1cm47CisgIGZvciAodmFy
IGksIGogPSAwLCBkLCBkeSwgeXAsIHluLCBuLCBtID0gc2VyaWVzW29yZGVyWzBdXS5sZW5ndGg7
IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHlwID0geW4gPSAwLCBpID0gMDsgaSA8IG47ICsraSkg
eworICAgICAgaWYgKChkeSA9IChkID0gc2VyaWVzW29yZGVyW2ldXVtqXSlbMV0gLSBkWzBdKSA+
IDApIHsKKyAgICAgICAgZFswXSA9IHlwLCBkWzFdID0geXAgKz0gZHk7CisgICAgICB9IGVsc2Ug
aWYgKGR5IDwgMCkgeworICAgICAgICBkWzFdID0geW4sIGRbMF0gPSB5biArPSBkeTsKKyAgICAg
IH0gZWxzZSB7CisgICAgICAgIGRbMF0gPSAwLCBkWzFdID0gZHk7CisgICAgICB9CisgICAgfQor
ICB9Cit9CisKK2Z1bmN0aW9uIHNpbGhvdWV0dGUoc2VyaWVzLCBvcmRlcikgeworICBpZiAoISgo
biA9IHNlcmllcy5sZW5ndGgpID4gMCkpIHJldHVybjsKKyAgZm9yICh2YXIgaiA9IDAsIHMwID0g
c2VyaWVzW29yZGVyWzBdXSwgbiwgbSA9IHMwLmxlbmd0aDsgaiA8IG07ICsraikgeworICAgIGZv
ciAodmFyIGkgPSAwLCB5ID0gMDsgaSA8IG47ICsraSkgeSArPSBzZXJpZXNbaV1bal1bMV0gfHwg
MDsKKyAgICBzMFtqXVsxXSArPSBzMFtqXVswXSA9IC15IC8gMjsKKyAgfQorICBub25lJDEoc2Vy
aWVzLCBvcmRlcik7Cit9CisKK2Z1bmN0aW9uIHdpZ2dsZShzZXJpZXMsIG9yZGVyKSB7CisgIGlm
ICghKChuID0gc2VyaWVzLmxlbmd0aCkgPiAwKSB8fCAhKChtID0gKHMwID0gc2VyaWVzW29yZGVy
WzBdXSkubGVuZ3RoKSA+IDApKSByZXR1cm47CisgIGZvciAodmFyIHkgPSAwLCBqID0gMSwgczAs
IG0sIG47IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBpID0gMCwgczEgPSAwLCBzMiA9IDA7
IGkgPCBuOyArK2kpIHsKKyAgICAgIHZhciBzaSA9IHNlcmllc1tvcmRlcltpXV0sCisgICAgICAg
ICAgc2lqMCA9IHNpW2pdWzFdIHx8IDAsCisgICAgICAgICAgc2lqMSA9IHNpW2ogLSAxXVsxXSB8
fCAwLAorICAgICAgICAgIHMzID0gKHNpajAgLSBzaWoxKSAvIDI7CisgICAgICBmb3IgKHZhciBr
ID0gMDsgayA8IGk7ICsraykgeworICAgICAgICB2YXIgc2sgPSBzZXJpZXNbb3JkZXJba11dLAor
ICAgICAgICAgICAgc2tqMCA9IHNrW2pdWzFdIHx8IDAsCisgICAgICAgICAgICBza2oxID0gc2tb
aiAtIDFdWzFdIHx8IDA7CisgICAgICAgIHMzICs9IHNrajAgLSBza2oxOworICAgICAgfQorICAg
ICAgczEgKz0gc2lqMCwgczIgKz0gczMgKiBzaWowOworICAgIH0KKyAgICBzMFtqIC0gMV1bMV0g
Kz0gczBbaiAtIDFdWzBdID0geTsKKyAgICBpZiAoczEpIHkgLT0gczIgLyBzMTsKKyAgfQorICBz
MFtqIC0gMV1bMV0gKz0gczBbaiAtIDFdWzBdID0geTsKKyAgbm9uZSQxKHNlcmllcywgb3JkZXIp
OworfQorCitmdW5jdGlvbiBhcHBlYXJhbmNlKHNlcmllcykgeworICB2YXIgcGVha3MgPSBzZXJp
ZXMubWFwKHBlYWspOworICByZXR1cm4gbm9uZSQyKHNlcmllcykuc29ydChmdW5jdGlvbihhLCBi
KSB7IHJldHVybiBwZWFrc1thXSAtIHBlYWtzW2JdOyB9KTsKK30KKworZnVuY3Rpb24gcGVhayhz
ZXJpZXMpIHsKKyAgdmFyIGkgPSAtMSwgaiA9IDAsIG4gPSBzZXJpZXMubGVuZ3RoLCB2aSwgdmog
PSAtSW5maW5pdHk7CisgIHdoaWxlICgrK2kgPCBuKSBpZiAoKHZpID0gK3Nlcmllc1tpXVsxXSkg
PiB2aikgdmogPSB2aSwgaiA9IGk7CisgIHJldHVybiBqOworfQorCitmdW5jdGlvbiBhc2NlbmRp
bmckMyhzZXJpZXMpIHsKKyAgdmFyIHN1bXMgPSBzZXJpZXMubWFwKHN1bSQyKTsKKyAgcmV0dXJu
IG5vbmUkMihzZXJpZXMpLnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4gc3Vtc1thXSAtIHN1
bXNbYl07IH0pOworfQorCitmdW5jdGlvbiBzdW0kMihzZXJpZXMpIHsKKyAgdmFyIHMgPSAwLCBp
ID0gLTEsIG4gPSBzZXJpZXMubGVuZ3RoLCB2OworICB3aGlsZSAoKytpIDwgbikgaWYgKHYgPSAr
c2VyaWVzW2ldWzFdKSBzICs9IHY7CisgIHJldHVybiBzOworfQorCitmdW5jdGlvbiBkZXNjZW5k
aW5nJDIoc2VyaWVzKSB7CisgIHJldHVybiBhc2NlbmRpbmckMyhzZXJpZXMpLnJldmVyc2UoKTsK
K30KKworZnVuY3Rpb24gaW5zaWRlT3V0KHNlcmllcykgeworICB2YXIgbiA9IHNlcmllcy5sZW5n
dGgsCisgICAgICBpLAorICAgICAgaiwKKyAgICAgIHN1bXMgPSBzZXJpZXMubWFwKHN1bSQyKSwK
KyAgICAgIG9yZGVyID0gYXBwZWFyYW5jZShzZXJpZXMpLAorICAgICAgdG9wID0gMCwKKyAgICAg
IGJvdHRvbSA9IDAsCisgICAgICB0b3BzID0gW10sCisgICAgICBib3R0b21zID0gW107CisKKyAg
Zm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgIGogPSBvcmRlcltpXTsKKyAgICBpZiAodG9w
IDwgYm90dG9tKSB7CisgICAgICB0b3AgKz0gc3Vtc1tqXTsKKyAgICAgIHRvcHMucHVzaChqKTsK
KyAgICB9IGVsc2UgeworICAgICAgYm90dG9tICs9IHN1bXNbal07CisgICAgICBib3R0b21zLnB1
c2goaik7CisgICAgfQorICB9CisKKyAgcmV0dXJuIGJvdHRvbXMucmV2ZXJzZSgpLmNvbmNhdCh0
b3BzKTsKK30KKworZnVuY3Rpb24gcmV2ZXJzZShzZXJpZXMpIHsKKyAgcmV0dXJuIG5vbmUkMihz
ZXJpZXMpLnJldmVyc2UoKTsKK30KKworZnVuY3Rpb24gY29uc3RhbnQkYyh4KSB7CisgIHJldHVy
biBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKworZnVuY3Rpb24geCQ0KGQp
IHsKKyAgcmV0dXJuIGRbMF07Cit9CisKK2Z1bmN0aW9uIHkkNChkKSB7CisgIHJldHVybiBkWzFd
OworfQorCitmdW5jdGlvbiBSZWRCbGFja1RyZWUoKSB7CisgIHRoaXMuXyA9IG51bGw7IC8vIHJv
b3Qgbm9kZQorfQorCitmdW5jdGlvbiBSZWRCbGFja05vZGUobm9kZSkgeworICBub2RlLlUgPSAv
LyBwYXJlbnQgbm9kZQorICBub2RlLkMgPSAvLyBjb2xvciAtIHRydWUgZm9yIHJlZCwgZmFsc2Ug
Zm9yIGJsYWNrCisgIG5vZGUuTCA9IC8vIGxlZnQgbm9kZQorICBub2RlLlIgPSAvLyByaWdodCBu
b2RlCisgIG5vZGUuUCA9IC8vIHByZXZpb3VzIG5vZGUKKyAgbm9kZS5OID0gbnVsbDsgLy8gbmV4
dCBub2RlCit9CisKK1JlZEJsYWNrVHJlZS5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBS
ZWRCbGFja1RyZWUsCisKKyAgaW5zZXJ0OiBmdW5jdGlvbihhZnRlciwgbm9kZSkgeworICAgIHZh
ciBwYXJlbnQsIGdyYW5kcGEsIHVuY2xlOworCisgICAgaWYgKGFmdGVyKSB7CisgICAgICBub2Rl
LlAgPSBhZnRlcjsKKyAgICAgIG5vZGUuTiA9IGFmdGVyLk47CisgICAgICBpZiAoYWZ0ZXIuTikg
YWZ0ZXIuTi5QID0gbm9kZTsKKyAgICAgIGFmdGVyLk4gPSBub2RlOworICAgICAgaWYgKGFmdGVy
LlIpIHsKKyAgICAgICAgYWZ0ZXIgPSBhZnRlci5SOworICAgICAgICB3aGlsZSAoYWZ0ZXIuTCkg
YWZ0ZXIgPSBhZnRlci5MOworICAgICAgICBhZnRlci5MID0gbm9kZTsKKyAgICAgIH0gZWxzZSB7
CisgICAgICAgIGFmdGVyLlIgPSBub2RlOworICAgICAgfQorICAgICAgcGFyZW50ID0gYWZ0ZXI7
CisgICAgfSBlbHNlIGlmICh0aGlzLl8pIHsKKyAgICAgIGFmdGVyID0gUmVkQmxhY2tGaXJzdCh0
aGlzLl8pOworICAgICAgbm9kZS5QID0gbnVsbDsKKyAgICAgIG5vZGUuTiA9IGFmdGVyOworICAg
ICAgYWZ0ZXIuUCA9IGFmdGVyLkwgPSBub2RlOworICAgICAgcGFyZW50ID0gYWZ0ZXI7CisgICAg
fSBlbHNlIHsKKyAgICAgIG5vZGUuUCA9IG5vZGUuTiA9IG51bGw7CisgICAgICB0aGlzLl8gPSBu
b2RlOworICAgICAgcGFyZW50ID0gbnVsbDsKKyAgICB9CisgICAgbm9kZS5MID0gbm9kZS5SID0g
bnVsbDsKKyAgICBub2RlLlUgPSBwYXJlbnQ7CisgICAgbm9kZS5DID0gdHJ1ZTsKKworICAgIGFm
dGVyID0gbm9kZTsKKyAgICB3aGlsZSAocGFyZW50ICYmIHBhcmVudC5DKSB7CisgICAgICBncmFu
ZHBhID0gcGFyZW50LlU7CisgICAgICBpZiAocGFyZW50ID09PSBncmFuZHBhLkwpIHsKKyAgICAg
ICAgdW5jbGUgPSBncmFuZHBhLlI7CisgICAgICAgIGlmICh1bmNsZSAmJiB1bmNsZS5DKSB7Cisg
ICAgICAgICAgcGFyZW50LkMgPSB1bmNsZS5DID0gZmFsc2U7CisgICAgICAgICAgZ3JhbmRwYS5D
ID0gdHJ1ZTsKKyAgICAgICAgICBhZnRlciA9IGdyYW5kcGE7CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgaWYgKGFmdGVyID09PSBwYXJlbnQuUikgeworICAgICAgICAgICAgUmVkQmxhY2tS
b3RhdGVMZWZ0KHRoaXMsIHBhcmVudCk7CisgICAgICAgICAgICBhZnRlciA9IHBhcmVudDsKKyAg
ICAgICAgICAgIHBhcmVudCA9IGFmdGVyLlU7CisgICAgICAgICAgfQorICAgICAgICAgIHBhcmVu
dC5DID0gZmFsc2U7CisgICAgICAgICAgZ3JhbmRwYS5DID0gdHJ1ZTsKKyAgICAgICAgICBSZWRC
bGFja1JvdGF0ZVJpZ2h0KHRoaXMsIGdyYW5kcGEpOworICAgICAgICB9CisgICAgICB9IGVsc2Ug
eworICAgICAgICB1bmNsZSA9IGdyYW5kcGEuTDsKKyAgICAgICAgaWYgKHVuY2xlICYmIHVuY2xl
LkMpIHsKKyAgICAgICAgICBwYXJlbnQuQyA9IHVuY2xlLkMgPSBmYWxzZTsKKyAgICAgICAgICBn
cmFuZHBhLkMgPSB0cnVlOworICAgICAgICAgIGFmdGVyID0gZ3JhbmRwYTsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICBpZiAoYWZ0ZXIgPT09IHBhcmVudC5MKSB7CisgICAgICAgICAgICBS
ZWRCbGFja1JvdGF0ZVJpZ2h0KHRoaXMsIHBhcmVudCk7CisgICAgICAgICAgICBhZnRlciA9IHBh
cmVudDsKKyAgICAgICAgICAgIHBhcmVudCA9IGFmdGVyLlU7CisgICAgICAgICAgfQorICAgICAg
ICAgIHBhcmVudC5DID0gZmFsc2U7CisgICAgICAgICAgZ3JhbmRwYS5DID0gdHJ1ZTsKKyAgICAg
ICAgICBSZWRCbGFja1JvdGF0ZUxlZnQodGhpcywgZ3JhbmRwYSk7CisgICAgICAgIH0KKyAgICAg
IH0KKyAgICAgIHBhcmVudCA9IGFmdGVyLlU7CisgICAgfQorICAgIHRoaXMuXy5DID0gZmFsc2U7
CisgIH0sCisKKyAgcmVtb3ZlOiBmdW5jdGlvbihub2RlKSB7CisgICAgaWYgKG5vZGUuTikgbm9k
ZS5OLlAgPSBub2RlLlA7CisgICAgaWYgKG5vZGUuUCkgbm9kZS5QLk4gPSBub2RlLk47CisgICAg
bm9kZS5OID0gbm9kZS5QID0gbnVsbDsKKworICAgIHZhciBwYXJlbnQgPSBub2RlLlUsCisgICAg
ICAgIHNpYmxpbmcsCisgICAgICAgIGxlZnQgPSBub2RlLkwsCisgICAgICAgIHJpZ2h0ID0gbm9k
ZS5SLAorICAgICAgICBuZXh0LAorICAgICAgICByZWQ7CisKKyAgICBpZiAoIWxlZnQpIG5leHQg
PSByaWdodDsKKyAgICBlbHNlIGlmICghcmlnaHQpIG5leHQgPSBsZWZ0OworICAgIGVsc2UgbmV4
dCA9IFJlZEJsYWNrRmlyc3QocmlnaHQpOworCisgICAgaWYgKHBhcmVudCkgeworICAgICAgaWYg
KHBhcmVudC5MID09PSBub2RlKSBwYXJlbnQuTCA9IG5leHQ7CisgICAgICBlbHNlIHBhcmVudC5S
ID0gbmV4dDsKKyAgICB9IGVsc2UgeworICAgICAgdGhpcy5fID0gbmV4dDsKKyAgICB9CisKKyAg
ICBpZiAobGVmdCAmJiByaWdodCkgeworICAgICAgcmVkID0gbmV4dC5DOworICAgICAgbmV4dC5D
ID0gbm9kZS5DOworICAgICAgbmV4dC5MID0gbGVmdDsKKyAgICAgIGxlZnQuVSA9IG5leHQ7Cisg
ICAgICBpZiAobmV4dCAhPT0gcmlnaHQpIHsKKyAgICAgICAgcGFyZW50ID0gbmV4dC5VOworICAg
ICAgICBuZXh0LlUgPSBub2RlLlU7CisgICAgICAgIG5vZGUgPSBuZXh0LlI7CisgICAgICAgIHBh
cmVudC5MID0gbm9kZTsKKyAgICAgICAgbmV4dC5SID0gcmlnaHQ7CisgICAgICAgIHJpZ2h0LlUg
PSBuZXh0OworICAgICAgfSBlbHNlIHsKKyAgICAgICAgbmV4dC5VID0gcGFyZW50OworICAgICAg
ICBwYXJlbnQgPSBuZXh0OworICAgICAgICBub2RlID0gbmV4dC5SOworICAgICAgfQorICAgIH0g
ZWxzZSB7CisgICAgICByZWQgPSBub2RlLkM7CisgICAgICBub2RlID0gbmV4dDsKKyAgICB9CisK
KyAgICBpZiAobm9kZSkgbm9kZS5VID0gcGFyZW50OworICAgIGlmIChyZWQpIHJldHVybjsKKyAg
ICBpZiAobm9kZSAmJiBub2RlLkMpIHsgbm9kZS5DID0gZmFsc2U7IHJldHVybjsgfQorCisgICAg
ZG8geworICAgICAgaWYgKG5vZGUgPT09IHRoaXMuXykgYnJlYWs7CisgICAgICBpZiAobm9kZSA9
PT0gcGFyZW50LkwpIHsKKyAgICAgICAgc2libGluZyA9IHBhcmVudC5SOworICAgICAgICBpZiAo
c2libGluZy5DKSB7CisgICAgICAgICAgc2libGluZy5DID0gZmFsc2U7CisgICAgICAgICAgcGFy
ZW50LkMgPSB0cnVlOworICAgICAgICAgIFJlZEJsYWNrUm90YXRlTGVmdCh0aGlzLCBwYXJlbnQp
OworICAgICAgICAgIHNpYmxpbmcgPSBwYXJlbnQuUjsKKyAgICAgICAgfQorICAgICAgICBpZiAo
KHNpYmxpbmcuTCAmJiBzaWJsaW5nLkwuQykKKyAgICAgICAgICAgIHx8IChzaWJsaW5nLlIgJiYg
c2libGluZy5SLkMpKSB7CisgICAgICAgICAgaWYgKCFzaWJsaW5nLlIgfHwgIXNpYmxpbmcuUi5D
KSB7CisgICAgICAgICAgICBzaWJsaW5nLkwuQyA9IGZhbHNlOworICAgICAgICAgICAgc2libGlu
Zy5DID0gdHJ1ZTsKKyAgICAgICAgICAgIFJlZEJsYWNrUm90YXRlUmlnaHQodGhpcywgc2libGlu
Zyk7CisgICAgICAgICAgICBzaWJsaW5nID0gcGFyZW50LlI7CisgICAgICAgICAgfQorICAgICAg
ICAgIHNpYmxpbmcuQyA9IHBhcmVudC5DOworICAgICAgICAgIHBhcmVudC5DID0gc2libGluZy5S
LkMgPSBmYWxzZTsKKyAgICAgICAgICBSZWRCbGFja1JvdGF0ZUxlZnQodGhpcywgcGFyZW50KTsK
KyAgICAgICAgICBub2RlID0gdGhpcy5fOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9Cisg
ICAgICB9IGVsc2UgeworICAgICAgICBzaWJsaW5nID0gcGFyZW50Lkw7CisgICAgICAgIGlmIChz
aWJsaW5nLkMpIHsKKyAgICAgICAgICBzaWJsaW5nLkMgPSBmYWxzZTsKKyAgICAgICAgICBwYXJl
bnQuQyA9IHRydWU7CisgICAgICAgICAgUmVkQmxhY2tSb3RhdGVSaWdodCh0aGlzLCBwYXJlbnQp
OworICAgICAgICAgIHNpYmxpbmcgPSBwYXJlbnQuTDsKKyAgICAgICAgfQorICAgICAgICBpZiAo
KHNpYmxpbmcuTCAmJiBzaWJsaW5nLkwuQykKKyAgICAgICAgICB8fCAoc2libGluZy5SICYmIHNp
YmxpbmcuUi5DKSkgeworICAgICAgICAgIGlmICghc2libGluZy5MIHx8ICFzaWJsaW5nLkwuQykg
eworICAgICAgICAgICAgc2libGluZy5SLkMgPSBmYWxzZTsKKyAgICAgICAgICAgIHNpYmxpbmcu
QyA9IHRydWU7CisgICAgICAgICAgICBSZWRCbGFja1JvdGF0ZUxlZnQodGhpcywgc2libGluZyk7
CisgICAgICAgICAgICBzaWJsaW5nID0gcGFyZW50Lkw7CisgICAgICAgICAgfQorICAgICAgICAg
IHNpYmxpbmcuQyA9IHBhcmVudC5DOworICAgICAgICAgIHBhcmVudC5DID0gc2libGluZy5MLkMg
PSBmYWxzZTsKKyAgICAgICAgICBSZWRCbGFja1JvdGF0ZVJpZ2h0KHRoaXMsIHBhcmVudCk7Cisg
ICAgICAgICAgbm9kZSA9IHRoaXMuXzsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
ICAgfQorICAgICAgc2libGluZy5DID0gdHJ1ZTsKKyAgICAgIG5vZGUgPSBwYXJlbnQ7CisgICAg
ICBwYXJlbnQgPSBwYXJlbnQuVTsKKyAgICB9IHdoaWxlICghbm9kZS5DKTsKKworICAgIGlmIChu
b2RlKSBub2RlLkMgPSBmYWxzZTsKKyAgfQorfTsKKworZnVuY3Rpb24gUmVkQmxhY2tSb3RhdGVM
ZWZ0KHRyZWUsIG5vZGUpIHsKKyAgdmFyIHAgPSBub2RlLAorICAgICAgcSA9IG5vZGUuUiwKKyAg
ICAgIHBhcmVudCA9IHAuVTsKKworICBpZiAocGFyZW50KSB7CisgICAgaWYgKHBhcmVudC5MID09
PSBwKSBwYXJlbnQuTCA9IHE7CisgICAgZWxzZSBwYXJlbnQuUiA9IHE7CisgIH0gZWxzZSB7Cisg
ICAgdHJlZS5fID0gcTsKKyAgfQorCisgIHEuVSA9IHBhcmVudDsKKyAgcC5VID0gcTsKKyAgcC5S
ID0gcS5MOworICBpZiAocC5SKSBwLlIuVSA9IHA7CisgIHEuTCA9IHA7Cit9CisKK2Z1bmN0aW9u
IFJlZEJsYWNrUm90YXRlUmlnaHQodHJlZSwgbm9kZSkgeworICB2YXIgcCA9IG5vZGUsCisgICAg
ICBxID0gbm9kZS5MLAorICAgICAgcGFyZW50ID0gcC5VOworCisgIGlmIChwYXJlbnQpIHsKKyAg
ICBpZiAocGFyZW50LkwgPT09IHApIHBhcmVudC5MID0gcTsKKyAgICBlbHNlIHBhcmVudC5SID0g
cTsKKyAgfSBlbHNlIHsKKyAgICB0cmVlLl8gPSBxOworICB9CisKKyAgcS5VID0gcGFyZW50Owor
ICBwLlUgPSBxOworICBwLkwgPSBxLlI7CisgIGlmIChwLkwpIHAuTC5VID0gcDsKKyAgcS5SID0g
cDsKK30KKworZnVuY3Rpb24gUmVkQmxhY2tGaXJzdChub2RlKSB7CisgIHdoaWxlIChub2RlLkwp
IG5vZGUgPSBub2RlLkw7CisgIHJldHVybiBub2RlOworfQorCitmdW5jdGlvbiBjcmVhdGVFZGdl
KGxlZnQsIHJpZ2h0LCB2MCwgdjEpIHsKKyAgdmFyIGVkZ2UgPSBbbnVsbCwgbnVsbF0sCisgICAg
ICBpbmRleCA9IGVkZ2VzLnB1c2goZWRnZSkgLSAxOworICBlZGdlLmxlZnQgPSBsZWZ0OworICBl
ZGdlLnJpZ2h0ID0gcmlnaHQ7CisgIGlmICh2MCkgc2V0RWRnZUVuZChlZGdlLCBsZWZ0LCByaWdo
dCwgdjApOworICBpZiAodjEpIHNldEVkZ2VFbmQoZWRnZSwgcmlnaHQsIGxlZnQsIHYxKTsKKyAg
Y2VsbHNbbGVmdC5pbmRleF0uaGFsZmVkZ2VzLnB1c2goaW5kZXgpOworICBjZWxsc1tyaWdodC5p
bmRleF0uaGFsZmVkZ2VzLnB1c2goaW5kZXgpOworICByZXR1cm4gZWRnZTsKK30KKworZnVuY3Rp
b24gY3JlYXRlQm9yZGVyRWRnZShsZWZ0LCB2MCwgdjEpIHsKKyAgdmFyIGVkZ2UgPSBbdjAsIHYx
XTsKKyAgZWRnZS5sZWZ0ID0gbGVmdDsKKyAgcmV0dXJuIGVkZ2U7Cit9CisKK2Z1bmN0aW9uIHNl
dEVkZ2VFbmQoZWRnZSwgbGVmdCwgcmlnaHQsIHZlcnRleCkgeworICBpZiAoIWVkZ2VbMF0gJiYg
IWVkZ2VbMV0pIHsKKyAgICBlZGdlWzBdID0gdmVydGV4OworICAgIGVkZ2UubGVmdCA9IGxlZnQ7
CisgICAgZWRnZS5yaWdodCA9IHJpZ2h0OworICB9IGVsc2UgaWYgKGVkZ2UubGVmdCA9PT0gcmln
aHQpIHsKKyAgICBlZGdlWzFdID0gdmVydGV4OworICB9IGVsc2UgeworICAgIGVkZ2VbMF0gPSB2
ZXJ0ZXg7CisgIH0KK30KKworLy8gTGlhbmfigJNCYXJza3kgbGluZSBjbGlwcGluZy4KK2Z1bmN0
aW9uIGNsaXBFZGdlKGVkZ2UsIHgwLCB5MCwgeDEsIHkxKSB7CisgIHZhciBhID0gZWRnZVswXSwK
KyAgICAgIGIgPSBlZGdlWzFdLAorICAgICAgYXggPSBhWzBdLAorICAgICAgYXkgPSBhWzFdLAor
ICAgICAgYnggPSBiWzBdLAorICAgICAgYnkgPSBiWzFdLAorICAgICAgdDAgPSAwLAorICAgICAg
dDEgPSAxLAorICAgICAgZHggPSBieCAtIGF4LAorICAgICAgZHkgPSBieSAtIGF5LAorICAgICAg
cjsKKworICByID0geDAgLSBheDsKKyAgaWYgKCFkeCAmJiByID4gMCkgcmV0dXJuOworICByIC89
IGR4OworICBpZiAoZHggPCAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJuOworICAgIGlmIChy
IDwgdDEpIHQxID0gcjsKKyAgfSBlbHNlIGlmIChkeCA+IDApIHsKKyAgICBpZiAociA+IHQxKSBy
ZXR1cm47CisgICAgaWYgKHIgPiB0MCkgdDAgPSByOworICB9CisKKyAgciA9IHgxIC0gYXg7Cisg
IGlmICghZHggJiYgciA8IDApIHJldHVybjsKKyAgciAvPSBkeDsKKyAgaWYgKGR4IDwgMCkgewor
ICAgIGlmIChyID4gdDEpIHJldHVybjsKKyAgICBpZiAociA+IHQwKSB0MCA9IHI7CisgIH0gZWxz
ZSBpZiAoZHggPiAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJuOworICAgIGlmIChyIDwgdDEp
IHQxID0gcjsKKyAgfQorCisgIHIgPSB5MCAtIGF5OworICBpZiAoIWR5ICYmIHIgPiAwKSByZXR1
cm47CisgIHIgLz0gZHk7CisgIGlmIChkeSA8IDApIHsKKyAgICBpZiAociA8IHQwKSByZXR1cm47
CisgICAgaWYgKHIgPCB0MSkgdDEgPSByOworICB9IGVsc2UgaWYgKGR5ID4gMCkgeworICAgIGlm
IChyID4gdDEpIHJldHVybjsKKyAgICBpZiAociA+IHQwKSB0MCA9IHI7CisgIH0KKworICByID0g
eTEgLSBheTsKKyAgaWYgKCFkeSAmJiByIDwgMCkgcmV0dXJuOworICByIC89IGR5OworICBpZiAo
ZHkgPCAwKSB7CisgICAgaWYgKHIgPiB0MSkgcmV0dXJuOworICAgIGlmIChyID4gdDApIHQwID0g
cjsKKyAgfSBlbHNlIGlmIChkeSA+IDApIHsKKyAgICBpZiAociA8IHQwKSByZXR1cm47CisgICAg
aWYgKHIgPCB0MSkgdDEgPSByOworICB9CisKKyAgaWYgKCEodDAgPiAwKSAmJiAhKHQxIDwgMSkp
IHJldHVybiB0cnVlOyAvLyBUT0RPIEJldHRlciBjaGVjaz8KKworICBpZiAodDAgPiAwKSBlZGdl
WzBdID0gW2F4ICsgdDAgKiBkeCwgYXkgKyB0MCAqIGR5XTsKKyAgaWYgKHQxIDwgMSkgZWRnZVsx
XSA9IFtheCArIHQxICogZHgsIGF5ICsgdDEgKiBkeV07CisgIHJldHVybiB0cnVlOworfQorCitm
dW5jdGlvbiBjb25uZWN0RWRnZShlZGdlLCB4MCwgeTAsIHgxLCB5MSkgeworICB2YXIgdjEgPSBl
ZGdlWzFdOworICBpZiAodjEpIHJldHVybiB0cnVlOworCisgIHZhciB2MCA9IGVkZ2VbMF0sCisg
ICAgICBsZWZ0ID0gZWRnZS5sZWZ0LAorICAgICAgcmlnaHQgPSBlZGdlLnJpZ2h0LAorICAgICAg
bHggPSBsZWZ0WzBdLAorICAgICAgbHkgPSBsZWZ0WzFdLAorICAgICAgcnggPSByaWdodFswXSwK
KyAgICAgIHJ5ID0gcmlnaHRbMV0sCisgICAgICBmeCA9IChseCArIHJ4KSAvIDIsCisgICAgICBm
eSA9IChseSArIHJ5KSAvIDIsCisgICAgICBmbSwKKyAgICAgIGZiOworCisgIGlmIChyeSA9PT0g
bHkpIHsKKyAgICBpZiAoZnggPCB4MCB8fCBmeCA+PSB4MSkgcmV0dXJuOworICAgIGlmIChseCA+
IHJ4KSB7CisgICAgICBpZiAoIXYwKSB2MCA9IFtmeCwgeTBdOworICAgICAgZWxzZSBpZiAodjBb
MV0gPj0geTEpIHJldHVybjsKKyAgICAgIHYxID0gW2Z4LCB5MV07CisgICAgfSBlbHNlIHsKKyAg
ICAgIGlmICghdjApIHYwID0gW2Z4LCB5MV07CisgICAgICBlbHNlIGlmICh2MFsxXSA8IHkwKSBy
ZXR1cm47CisgICAgICB2MSA9IFtmeCwgeTBdOworICAgIH0KKyAgfSBlbHNlIHsKKyAgICBmbSA9
IChseCAtIHJ4KSAvIChyeSAtIGx5KTsKKyAgICBmYiA9IGZ5IC0gZm0gKiBmeDsKKyAgICBpZiAo
Zm0gPCAtMSB8fCBmbSA+IDEpIHsKKyAgICAgIGlmIChseCA+IHJ4KSB7CisgICAgICAgIGlmICgh
djApIHYwID0gWyh5MCAtIGZiKSAvIGZtLCB5MF07CisgICAgICAgIGVsc2UgaWYgKHYwWzFdID49
IHkxKSByZXR1cm47CisgICAgICAgIHYxID0gWyh5MSAtIGZiKSAvIGZtLCB5MV07CisgICAgICB9
IGVsc2UgeworICAgICAgICBpZiAoIXYwKSB2MCA9IFsoeTEgLSBmYikgLyBmbSwgeTFdOworICAg
ICAgICBlbHNlIGlmICh2MFsxXSA8IHkwKSByZXR1cm47CisgICAgICAgIHYxID0gWyh5MCAtIGZi
KSAvIGZtLCB5MF07CisgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgIGlmIChseSA8IHJ5KSB7
CisgICAgICAgIGlmICghdjApIHYwID0gW3gwLCBmbSAqIHgwICsgZmJdOworICAgICAgICBlbHNl
IGlmICh2MFswXSA+PSB4MSkgcmV0dXJuOworICAgICAgICB2MSA9IFt4MSwgZm0gKiB4MSArIGZi
XTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGlmICghdjApIHYwID0gW3gxLCBmbSAqIHgxICsg
ZmJdOworICAgICAgICBlbHNlIGlmICh2MFswXSA8IHgwKSByZXR1cm47CisgICAgICAgIHYxID0g
W3gwLCBmbSAqIHgwICsgZmJdOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGVkZ2VbMF0gPSB2
MDsKKyAgZWRnZVsxXSA9IHYxOworICByZXR1cm4gdHJ1ZTsKK30KKworZnVuY3Rpb24gY2xpcEVk
Z2VzKHgwLCB5MCwgeDEsIHkxKSB7CisgIHZhciBpID0gZWRnZXMubGVuZ3RoLAorICAgICAgZWRn
ZTsKKworICB3aGlsZSAoaS0tKSB7CisgICAgaWYgKCFjb25uZWN0RWRnZShlZGdlID0gZWRnZXNb
aV0sIHgwLCB5MCwgeDEsIHkxKQorICAgICAgICB8fCAhY2xpcEVkZ2UoZWRnZSwgeDAsIHkwLCB4
MSwgeTEpCisgICAgICAgIHx8ICEoTWF0aC5hYnMoZWRnZVswXVswXSAtIGVkZ2VbMV1bMF0pID4g
ZXBzaWxvbiQ0CisgICAgICAgICAgICB8fCBNYXRoLmFicyhlZGdlWzBdWzFdIC0gZWRnZVsxXVsx
XSkgPiBlcHNpbG9uJDQpKSB7CisgICAgICBkZWxldGUgZWRnZXNbaV07CisgICAgfQorICB9Cit9
CisKK2Z1bmN0aW9uIGNyZWF0ZUNlbGwoc2l0ZSkgeworICByZXR1cm4gY2VsbHNbc2l0ZS5pbmRl
eF0gPSB7CisgICAgc2l0ZTogc2l0ZSwKKyAgICBoYWxmZWRnZXM6IFtdCisgIH07Cit9CisKK2Z1
bmN0aW9uIGNlbGxIYWxmZWRnZUFuZ2xlKGNlbGwsIGVkZ2UpIHsKKyAgdmFyIHNpdGUgPSBjZWxs
LnNpdGUsCisgICAgICB2YSA9IGVkZ2UubGVmdCwKKyAgICAgIHZiID0gZWRnZS5yaWdodDsKKyAg
aWYgKHNpdGUgPT09IHZiKSB2YiA9IHZhLCB2YSA9IHNpdGU7CisgIGlmICh2YikgcmV0dXJuIE1h
dGguYXRhbjIodmJbMV0gLSB2YVsxXSwgdmJbMF0gLSB2YVswXSk7CisgIGlmIChzaXRlID09PSB2
YSkgdmEgPSBlZGdlWzFdLCB2YiA9IGVkZ2VbMF07CisgIGVsc2UgdmEgPSBlZGdlWzBdLCB2YiA9
IGVkZ2VbMV07CisgIHJldHVybiBNYXRoLmF0YW4yKHZhWzBdIC0gdmJbMF0sIHZiWzFdIC0gdmFb
MV0pOworfQorCitmdW5jdGlvbiBjZWxsSGFsZmVkZ2VTdGFydChjZWxsLCBlZGdlKSB7CisgIHJl
dHVybiBlZGdlWysoZWRnZS5sZWZ0ICE9PSBjZWxsLnNpdGUpXTsKK30KKworZnVuY3Rpb24gY2Vs
bEhhbGZlZGdlRW5kKGNlbGwsIGVkZ2UpIHsKKyAgcmV0dXJuIGVkZ2VbKyhlZGdlLmxlZnQgPT09
IGNlbGwuc2l0ZSldOworfQorCitmdW5jdGlvbiBzb3J0Q2VsbEhhbGZlZGdlcygpIHsKKyAgZm9y
ICh2YXIgaSA9IDAsIG4gPSBjZWxscy5sZW5ndGgsIGNlbGwsIGhhbGZlZGdlcywgaiwgbTsgaSA8
IG47ICsraSkgeworICAgIGlmICgoY2VsbCA9IGNlbGxzW2ldKSAmJiAobSA9IChoYWxmZWRnZXMg
PSBjZWxsLmhhbGZlZGdlcykubGVuZ3RoKSkgeworICAgICAgdmFyIGluZGV4ID0gbmV3IEFycmF5
KG0pLAorICAgICAgICAgIGFycmF5ID0gbmV3IEFycmF5KG0pOworICAgICAgZm9yIChqID0gMDsg
aiA8IG07ICsraikgaW5kZXhbal0gPSBqLCBhcnJheVtqXSA9IGNlbGxIYWxmZWRnZUFuZ2xlKGNl
bGwsIGVkZ2VzW2hhbGZlZGdlc1tqXV0pOworICAgICAgaW5kZXguc29ydChmdW5jdGlvbihpLCBq
KSB7IHJldHVybiBhcnJheVtqXSAtIGFycmF5W2ldOyB9KTsKKyAgICAgIGZvciAoaiA9IDA7IGog
PCBtOyArK2opIGFycmF5W2pdID0gaGFsZmVkZ2VzW2luZGV4W2pdXTsKKyAgICAgIGZvciAoaiA9
IDA7IGogPCBtOyArK2opIGhhbGZlZGdlc1tqXSA9IGFycmF5W2pdOworICAgIH0KKyAgfQorfQor
CitmdW5jdGlvbiBjbGlwQ2VsbHMoeDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIG5DZWxscyA9IGNl
bGxzLmxlbmd0aCwKKyAgICAgIGlDZWxsLAorICAgICAgY2VsbCwKKyAgICAgIHNpdGUsCisgICAg
ICBpSGFsZmVkZ2UsCisgICAgICBoYWxmZWRnZXMsCisgICAgICBuSGFsZmVkZ2VzLAorICAgICAg
c3RhcnQsCisgICAgICBzdGFydFgsCisgICAgICBzdGFydFksCisgICAgICBlbmQsCisgICAgICBl
bmRYLAorICAgICAgZW5kWSwKKyAgICAgIGNvdmVyID0gdHJ1ZTsKKworICBmb3IgKGlDZWxsID0g
MDsgaUNlbGwgPCBuQ2VsbHM7ICsraUNlbGwpIHsKKyAgICBpZiAoY2VsbCA9IGNlbGxzW2lDZWxs
XSkgeworICAgICAgc2l0ZSA9IGNlbGwuc2l0ZTsKKyAgICAgIGhhbGZlZGdlcyA9IGNlbGwuaGFs
ZmVkZ2VzOworICAgICAgaUhhbGZlZGdlID0gaGFsZmVkZ2VzLmxlbmd0aDsKKworICAgICAgLy8g
UmVtb3ZlIGFueSBkYW5nbGluZyBjbGlwcGVkIGVkZ2VzLgorICAgICAgd2hpbGUgKGlIYWxmZWRn
ZS0tKSB7CisgICAgICAgIGlmICghZWRnZXNbaGFsZmVkZ2VzW2lIYWxmZWRnZV1dKSB7CisgICAg
ICAgICAgaGFsZmVkZ2VzLnNwbGljZShpSGFsZmVkZ2UsIDEpOworICAgICAgICB9CisgICAgICB9
CisKKyAgICAgIC8vIEluc2VydCBhbnkgYm9yZGVyIGVkZ2VzIGFzIG5lY2Vzc2FyeS4KKyAgICAg
IGlIYWxmZWRnZSA9IDAsIG5IYWxmZWRnZXMgPSBoYWxmZWRnZXMubGVuZ3RoOworICAgICAgd2hp
bGUgKGlIYWxmZWRnZSA8IG5IYWxmZWRnZXMpIHsKKyAgICAgICAgZW5kID0gY2VsbEhhbGZlZGdl
RW5kKGNlbGwsIGVkZ2VzW2hhbGZlZGdlc1tpSGFsZmVkZ2VdXSksIGVuZFggPSBlbmRbMF0sIGVu
ZFkgPSBlbmRbMV07CisgICAgICAgIHN0YXJ0ID0gY2VsbEhhbGZlZGdlU3RhcnQoY2VsbCwgZWRn
ZXNbaGFsZmVkZ2VzWysraUhhbGZlZGdlICUgbkhhbGZlZGdlc11dKSwgc3RhcnRYID0gc3RhcnRb
MF0sIHN0YXJ0WSA9IHN0YXJ0WzFdOworICAgICAgICBpZiAoTWF0aC5hYnMoZW5kWCAtIHN0YXJ0
WCkgPiBlcHNpbG9uJDQgfHwgTWF0aC5hYnMoZW5kWSAtIHN0YXJ0WSkgPiBlcHNpbG9uJDQpIHsK
KyAgICAgICAgICBoYWxmZWRnZXMuc3BsaWNlKGlIYWxmZWRnZSwgMCwgZWRnZXMucHVzaChjcmVh
dGVCb3JkZXJFZGdlKHNpdGUsIGVuZCwKKyAgICAgICAgICAgICAgTWF0aC5hYnMoZW5kWCAtIHgw
KSA8IGVwc2lsb24kNCAmJiB5MSAtIGVuZFkgPiBlcHNpbG9uJDQgPyBbeDAsIE1hdGguYWJzKHN0
YXJ0WCAtIHgwKSA8IGVwc2lsb24kNCA/IHN0YXJ0WSA6IHkxXQorICAgICAgICAgICAgICA6IE1h
dGguYWJzKGVuZFkgLSB5MSkgPCBlcHNpbG9uJDQgJiYgeDEgLSBlbmRYID4gZXBzaWxvbiQ0ID8g
W01hdGguYWJzKHN0YXJ0WSAtIHkxKSA8IGVwc2lsb24kNCA/IHN0YXJ0WCA6IHgxLCB5MV0KKyAg
ICAgICAgICAgICAgOiBNYXRoLmFicyhlbmRYIC0geDEpIDwgZXBzaWxvbiQ0ICYmIGVuZFkgLSB5
MCA+IGVwc2lsb24kNCA/IFt4MSwgTWF0aC5hYnMoc3RhcnRYIC0geDEpIDwgZXBzaWxvbiQ0ID8g
c3RhcnRZIDogeTBdCisgICAgICAgICAgICAgIDogTWF0aC5hYnMoZW5kWSAtIHkwKSA8IGVwc2ls
b24kNCAmJiBlbmRYIC0geDAgPiBlcHNpbG9uJDQgPyBbTWF0aC5hYnMoc3RhcnRZIC0geTApIDwg
ZXBzaWxvbiQ0ID8gc3RhcnRYIDogeDAsIHkwXQorICAgICAgICAgICAgICA6IG51bGwpKSAtIDEp
OworICAgICAgICAgICsrbkhhbGZlZGdlczsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICBp
ZiAobkhhbGZlZGdlcykgY292ZXIgPSBmYWxzZTsKKyAgICB9CisgIH0KKworICAvLyBJZiB0aGVy
ZSB3ZXJlbuKAmXQgYW55IGVkZ2VzLCBoYXZlIHRoZSBjbG9zZXN0IHNpdGUgY292ZXIgdGhlIGV4
dGVudC4KKyAgLy8gSXQgZG9lc27igJl0IG1hdHRlciB3aGljaCBjb3JuZXIgb2YgdGhlIGV4dGVu
dCB3ZSBtZWFzdXJlIQorICBpZiAoY292ZXIpIHsKKyAgICB2YXIgZHgsIGR5LCBkMiwgZGMgPSBJ
bmZpbml0eTsKKworICAgIGZvciAoaUNlbGwgPSAwLCBjb3ZlciA9IG51bGw7IGlDZWxsIDwgbkNl
bGxzOyArK2lDZWxsKSB7CisgICAgICBpZiAoY2VsbCA9IGNlbGxzW2lDZWxsXSkgeworICAgICAg
ICBzaXRlID0gY2VsbC5zaXRlOworICAgICAgICBkeCA9IHNpdGVbMF0gLSB4MDsKKyAgICAgICAg
ZHkgPSBzaXRlWzFdIC0geTA7CisgICAgICAgIGQyID0gZHggKiBkeCArIGR5ICogZHk7CisgICAg
ICAgIGlmIChkMiA8IGRjKSBkYyA9IGQyLCBjb3ZlciA9IGNlbGw7CisgICAgICB9CisgICAgfQor
CisgICAgaWYgKGNvdmVyKSB7CisgICAgICB2YXIgdjAwID0gW3gwLCB5MF0sIHYwMSA9IFt4MCwg
eTFdLCB2MTEgPSBbeDEsIHkxXSwgdjEwID0gW3gxLCB5MF07CisgICAgICBjb3Zlci5oYWxmZWRn
ZXMucHVzaCgKKyAgICAgICAgZWRnZXMucHVzaChjcmVhdGVCb3JkZXJFZGdlKHNpdGUgPSBjb3Zl
ci5zaXRlLCB2MDAsIHYwMSkpIC0gMSwKKyAgICAgICAgZWRnZXMucHVzaChjcmVhdGVCb3JkZXJF
ZGdlKHNpdGUsIHYwMSwgdjExKSkgLSAxLAorICAgICAgICBlZGdlcy5wdXNoKGNyZWF0ZUJvcmRl
ckVkZ2Uoc2l0ZSwgdjExLCB2MTApKSAtIDEsCisgICAgICAgIGVkZ2VzLnB1c2goY3JlYXRlQm9y
ZGVyRWRnZShzaXRlLCB2MTAsIHYwMCkpIC0gMQorICAgICAgKTsKKyAgICB9CisgIH0KKworICAv
LyBMYXN0bHkgZGVsZXRlIGFueSBjZWxscyB3aXRoIG5vIGVkZ2VzOyB0aGVzZSB3ZXJlIGVudGly
ZWx5IGNsaXBwZWQuCisgIGZvciAoaUNlbGwgPSAwOyBpQ2VsbCA8IG5DZWxsczsgKytpQ2VsbCkg
eworICAgIGlmIChjZWxsID0gY2VsbHNbaUNlbGxdKSB7CisgICAgICBpZiAoIWNlbGwuaGFsZmVk
Z2VzLmxlbmd0aCkgeworICAgICAgICBkZWxldGUgY2VsbHNbaUNlbGxdOworICAgICAgfQorICAg
IH0KKyAgfQorfQorCit2YXIgY2lyY2xlUG9vbCA9IFtdOworCit2YXIgZmlyc3RDaXJjbGU7CisK
K2Z1bmN0aW9uIENpcmNsZSgpIHsKKyAgUmVkQmxhY2tOb2RlKHRoaXMpOworICB0aGlzLnggPQor
ICB0aGlzLnkgPQorICB0aGlzLmFyYyA9CisgIHRoaXMuc2l0ZSA9CisgIHRoaXMuY3kgPSBudWxs
OworfQorCitmdW5jdGlvbiBhdHRhY2hDaXJjbGUoYXJjKSB7CisgIHZhciBsQXJjID0gYXJjLlAs
CisgICAgICByQXJjID0gYXJjLk47CisKKyAgaWYgKCFsQXJjIHx8ICFyQXJjKSByZXR1cm47CisK
KyAgdmFyIGxTaXRlID0gbEFyYy5zaXRlLAorICAgICAgY1NpdGUgPSBhcmMuc2l0ZSwKKyAgICAg
IHJTaXRlID0gckFyYy5zaXRlOworCisgIGlmIChsU2l0ZSA9PT0gclNpdGUpIHJldHVybjsKKwor
ICB2YXIgYnggPSBjU2l0ZVswXSwKKyAgICAgIGJ5ID0gY1NpdGVbMV0sCisgICAgICBheCA9IGxT
aXRlWzBdIC0gYngsCisgICAgICBheSA9IGxTaXRlWzFdIC0gYnksCisgICAgICBjeCA9IHJTaXRl
WzBdIC0gYngsCisgICAgICBjeSA9IHJTaXRlWzFdIC0gYnk7CisKKyAgdmFyIGQgPSAyICogKGF4
ICogY3kgLSBheSAqIGN4KTsKKyAgaWYgKGQgPj0gLWVwc2lsb24yJDIpIHJldHVybjsKKworICB2
YXIgaGEgPSBheCAqIGF4ICsgYXkgKiBheSwKKyAgICAgIGhjID0gY3ggKiBjeCArIGN5ICogY3ks
CisgICAgICB4ID0gKGN5ICogaGEgLSBheSAqIGhjKSAvIGQsCisgICAgICB5ID0gKGF4ICogaGMg
LSBjeCAqIGhhKSAvIGQ7CisKKyAgdmFyIGNpcmNsZSA9IGNpcmNsZVBvb2wucG9wKCkgfHwgbmV3
IENpcmNsZTsKKyAgY2lyY2xlLmFyYyA9IGFyYzsKKyAgY2lyY2xlLnNpdGUgPSBjU2l0ZTsKKyAg
Y2lyY2xlLnggPSB4ICsgYng7CisgIGNpcmNsZS55ID0gKGNpcmNsZS5jeSA9IHkgKyBieSkgKyBN
YXRoLnNxcnQoeCAqIHggKyB5ICogeSk7IC8vIHkgYm90dG9tCisKKyAgYXJjLmNpcmNsZSA9IGNp
cmNsZTsKKworICB2YXIgYmVmb3JlID0gbnVsbCwKKyAgICAgIG5vZGUgPSBjaXJjbGVzLl87CisK
KyAgd2hpbGUgKG5vZGUpIHsKKyAgICBpZiAoY2lyY2xlLnkgPCBub2RlLnkgfHwgKGNpcmNsZS55
ID09PSBub2RlLnkgJiYgY2lyY2xlLnggPD0gbm9kZS54KSkgeworICAgICAgaWYgKG5vZGUuTCkg
bm9kZSA9IG5vZGUuTDsKKyAgICAgIGVsc2UgeyBiZWZvcmUgPSBub2RlLlA7IGJyZWFrOyB9Cisg
ICAgfSBlbHNlIHsKKyAgICAgIGlmIChub2RlLlIpIG5vZGUgPSBub2RlLlI7CisgICAgICBlbHNl
IHsgYmVmb3JlID0gbm9kZTsgYnJlYWs7IH0KKyAgICB9CisgIH0KKworICBjaXJjbGVzLmluc2Vy
dChiZWZvcmUsIGNpcmNsZSk7CisgIGlmICghYmVmb3JlKSBmaXJzdENpcmNsZSA9IGNpcmNsZTsK
K30KKworZnVuY3Rpb24gZGV0YWNoQ2lyY2xlKGFyYykgeworICB2YXIgY2lyY2xlID0gYXJjLmNp
cmNsZTsKKyAgaWYgKGNpcmNsZSkgeworICAgIGlmICghY2lyY2xlLlApIGZpcnN0Q2lyY2xlID0g
Y2lyY2xlLk47CisgICAgY2lyY2xlcy5yZW1vdmUoY2lyY2xlKTsKKyAgICBjaXJjbGVQb29sLnB1
c2goY2lyY2xlKTsKKyAgICBSZWRCbGFja05vZGUoY2lyY2xlKTsKKyAgICBhcmMuY2lyY2xlID0g
bnVsbDsKKyAgfQorfQorCit2YXIgYmVhY2hQb29sID0gW107CisKK2Z1bmN0aW9uIEJlYWNoKCkg
eworICBSZWRCbGFja05vZGUodGhpcyk7CisgIHRoaXMuZWRnZSA9CisgIHRoaXMuc2l0ZSA9Cisg
IHRoaXMuY2lyY2xlID0gbnVsbDsKK30KKworZnVuY3Rpb24gY3JlYXRlQmVhY2goc2l0ZSkgewor
ICB2YXIgYmVhY2ggPSBiZWFjaFBvb2wucG9wKCkgfHwgbmV3IEJlYWNoOworICBiZWFjaC5zaXRl
ID0gc2l0ZTsKKyAgcmV0dXJuIGJlYWNoOworfQorCitmdW5jdGlvbiBkZXRhY2hCZWFjaChiZWFj
aCkgeworICBkZXRhY2hDaXJjbGUoYmVhY2gpOworICBiZWFjaGVzLnJlbW92ZShiZWFjaCk7Cisg
IGJlYWNoUG9vbC5wdXNoKGJlYWNoKTsKKyAgUmVkQmxhY2tOb2RlKGJlYWNoKTsKK30KKworZnVu
Y3Rpb24gcmVtb3ZlQmVhY2goYmVhY2gpIHsKKyAgdmFyIGNpcmNsZSA9IGJlYWNoLmNpcmNsZSwK
KyAgICAgIHggPSBjaXJjbGUueCwKKyAgICAgIHkgPSBjaXJjbGUuY3ksCisgICAgICB2ZXJ0ZXgg
PSBbeCwgeV0sCisgICAgICBwcmV2aW91cyA9IGJlYWNoLlAsCisgICAgICBuZXh0ID0gYmVhY2gu
TiwKKyAgICAgIGRpc2FwcGVhcmluZyA9IFtiZWFjaF07CisKKyAgZGV0YWNoQmVhY2goYmVhY2gp
OworCisgIHZhciBsQXJjID0gcHJldmlvdXM7CisgIHdoaWxlIChsQXJjLmNpcmNsZQorICAgICAg
JiYgTWF0aC5hYnMoeCAtIGxBcmMuY2lyY2xlLngpIDwgZXBzaWxvbiQ0CisgICAgICAmJiBNYXRo
LmFicyh5IC0gbEFyYy5jaXJjbGUuY3kpIDwgZXBzaWxvbiQ0KSB7CisgICAgcHJldmlvdXMgPSBs
QXJjLlA7CisgICAgZGlzYXBwZWFyaW5nLnVuc2hpZnQobEFyYyk7CisgICAgZGV0YWNoQmVhY2go
bEFyYyk7CisgICAgbEFyYyA9IHByZXZpb3VzOworICB9CisKKyAgZGlzYXBwZWFyaW5nLnVuc2hp
ZnQobEFyYyk7CisgIGRldGFjaENpcmNsZShsQXJjKTsKKworICB2YXIgckFyYyA9IG5leHQ7Cisg
IHdoaWxlIChyQXJjLmNpcmNsZQorICAgICAgJiYgTWF0aC5hYnMoeCAtIHJBcmMuY2lyY2xlLngp
IDwgZXBzaWxvbiQ0CisgICAgICAmJiBNYXRoLmFicyh5IC0gckFyYy5jaXJjbGUuY3kpIDwgZXBz
aWxvbiQ0KSB7CisgICAgbmV4dCA9IHJBcmMuTjsKKyAgICBkaXNhcHBlYXJpbmcucHVzaChyQXJj
KTsKKyAgICBkZXRhY2hCZWFjaChyQXJjKTsKKyAgICByQXJjID0gbmV4dDsKKyAgfQorCisgIGRp
c2FwcGVhcmluZy5wdXNoKHJBcmMpOworICBkZXRhY2hDaXJjbGUockFyYyk7CisKKyAgdmFyIG5B
cmNzID0gZGlzYXBwZWFyaW5nLmxlbmd0aCwKKyAgICAgIGlBcmM7CisgIGZvciAoaUFyYyA9IDE7
IGlBcmMgPCBuQXJjczsgKytpQXJjKSB7CisgICAgckFyYyA9IGRpc2FwcGVhcmluZ1tpQXJjXTsK
KyAgICBsQXJjID0gZGlzYXBwZWFyaW5nW2lBcmMgLSAxXTsKKyAgICBzZXRFZGdlRW5kKHJBcmMu
ZWRnZSwgbEFyYy5zaXRlLCByQXJjLnNpdGUsIHZlcnRleCk7CisgIH0KKworICBsQXJjID0gZGlz
YXBwZWFyaW5nWzBdOworICByQXJjID0gZGlzYXBwZWFyaW5nW25BcmNzIC0gMV07CisgIHJBcmMu
ZWRnZSA9IGNyZWF0ZUVkZ2UobEFyYy5zaXRlLCByQXJjLnNpdGUsIG51bGwsIHZlcnRleCk7CisK
KyAgYXR0YWNoQ2lyY2xlKGxBcmMpOworICBhdHRhY2hDaXJjbGUockFyYyk7Cit9CisKK2Z1bmN0
aW9uIGFkZEJlYWNoKHNpdGUpIHsKKyAgdmFyIHggPSBzaXRlWzBdLAorICAgICAgZGlyZWN0cml4
ID0gc2l0ZVsxXSwKKyAgICAgIGxBcmMsCisgICAgICByQXJjLAorICAgICAgZHhsLAorICAgICAg
ZHhyLAorICAgICAgbm9kZSA9IGJlYWNoZXMuXzsKKworICB3aGlsZSAobm9kZSkgeworICAgIGR4
bCA9IGxlZnRCcmVha1BvaW50KG5vZGUsIGRpcmVjdHJpeCkgLSB4OworICAgIGlmIChkeGwgPiBl
cHNpbG9uJDQpIG5vZGUgPSBub2RlLkw7IGVsc2UgeworICAgICAgZHhyID0geCAtIHJpZ2h0QnJl
YWtQb2ludChub2RlLCBkaXJlY3RyaXgpOworICAgICAgaWYgKGR4ciA+IGVwc2lsb24kNCkgewor
ICAgICAgICBpZiAoIW5vZGUuUikgeworICAgICAgICAgIGxBcmMgPSBub2RlOworICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgICAgIG5vZGUgPSBub2RlLlI7CisgICAgICB9IGVsc2Ug
eworICAgICAgICBpZiAoZHhsID4gLWVwc2lsb24kNCkgeworICAgICAgICAgIGxBcmMgPSBub2Rl
LlA7CisgICAgICAgICAgckFyYyA9IG5vZGU7CisgICAgICAgIH0gZWxzZSBpZiAoZHhyID4gLWVw
c2lsb24kNCkgeworICAgICAgICAgIGxBcmMgPSBub2RlOworICAgICAgICAgIHJBcmMgPSBub2Rl
Lk47CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgbEFyYyA9IHJBcmMgPSBub2RlOworICAg
ICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGNyZWF0ZUNl
bGwoc2l0ZSk7CisgIHZhciBuZXdBcmMgPSBjcmVhdGVCZWFjaChzaXRlKTsKKyAgYmVhY2hlcy5p
bnNlcnQobEFyYywgbmV3QXJjKTsKKworICBpZiAoIWxBcmMgJiYgIXJBcmMpIHJldHVybjsKKwor
ICBpZiAobEFyYyA9PT0gckFyYykgeworICAgIGRldGFjaENpcmNsZShsQXJjKTsKKyAgICByQXJj
ID0gY3JlYXRlQmVhY2gobEFyYy5zaXRlKTsKKyAgICBiZWFjaGVzLmluc2VydChuZXdBcmMsIHJB
cmMpOworICAgIG5ld0FyYy5lZGdlID0gckFyYy5lZGdlID0gY3JlYXRlRWRnZShsQXJjLnNpdGUs
IG5ld0FyYy5zaXRlKTsKKyAgICBhdHRhY2hDaXJjbGUobEFyYyk7CisgICAgYXR0YWNoQ2lyY2xl
KHJBcmMpOworICAgIHJldHVybjsKKyAgfQorCisgIGlmICghckFyYykgeyAvLyAmJiBsQXJjCisg
ICAgbmV3QXJjLmVkZ2UgPSBjcmVhdGVFZGdlKGxBcmMuc2l0ZSwgbmV3QXJjLnNpdGUpOworICAg
IHJldHVybjsKKyAgfQorCisgIC8vIGVsc2UgbEFyYyAhPT0gckFyYworICBkZXRhY2hDaXJjbGUo
bEFyYyk7CisgIGRldGFjaENpcmNsZShyQXJjKTsKKworICB2YXIgbFNpdGUgPSBsQXJjLnNpdGUs
CisgICAgICBheCA9IGxTaXRlWzBdLAorICAgICAgYXkgPSBsU2l0ZVsxXSwKKyAgICAgIGJ4ID0g
c2l0ZVswXSAtIGF4LAorICAgICAgYnkgPSBzaXRlWzFdIC0gYXksCisgICAgICByU2l0ZSA9IHJB
cmMuc2l0ZSwKKyAgICAgIGN4ID0gclNpdGVbMF0gLSBheCwKKyAgICAgIGN5ID0gclNpdGVbMV0g
LSBheSwKKyAgICAgIGQgPSAyICogKGJ4ICogY3kgLSBieSAqIGN4KSwKKyAgICAgIGhiID0gYngg
KiBieCArIGJ5ICogYnksCisgICAgICBoYyA9IGN4ICogY3ggKyBjeSAqIGN5LAorICAgICAgdmVy
dGV4ID0gWyhjeSAqIGhiIC0gYnkgKiBoYykgLyBkICsgYXgsIChieCAqIGhjIC0gY3ggKiBoYikg
LyBkICsgYXldOworCisgIHNldEVkZ2VFbmQockFyYy5lZGdlLCBsU2l0ZSwgclNpdGUsIHZlcnRl
eCk7CisgIG5ld0FyYy5lZGdlID0gY3JlYXRlRWRnZShsU2l0ZSwgc2l0ZSwgbnVsbCwgdmVydGV4
KTsKKyAgckFyYy5lZGdlID0gY3JlYXRlRWRnZShzaXRlLCByU2l0ZSwgbnVsbCwgdmVydGV4KTsK
KyAgYXR0YWNoQ2lyY2xlKGxBcmMpOworICBhdHRhY2hDaXJjbGUockFyYyk7Cit9CisKK2Z1bmN0
aW9uIGxlZnRCcmVha1BvaW50KGFyYywgZGlyZWN0cml4KSB7CisgIHZhciBzaXRlID0gYXJjLnNp
dGUsCisgICAgICByZm9jeCA9IHNpdGVbMF0sCisgICAgICByZm9jeSA9IHNpdGVbMV0sCisgICAg
ICBwYnkyID0gcmZvY3kgLSBkaXJlY3RyaXg7CisKKyAgaWYgKCFwYnkyKSByZXR1cm4gcmZvY3g7
CisKKyAgdmFyIGxBcmMgPSBhcmMuUDsKKyAgaWYgKCFsQXJjKSByZXR1cm4gLUluZmluaXR5Owor
CisgIHNpdGUgPSBsQXJjLnNpdGU7CisgIHZhciBsZm9jeCA9IHNpdGVbMF0sCisgICAgICBsZm9j
eSA9IHNpdGVbMV0sCisgICAgICBwbGJ5MiA9IGxmb2N5IC0gZGlyZWN0cml4OworCisgIGlmICgh
cGxieTIpIHJldHVybiBsZm9jeDsKKworICB2YXIgaGwgPSBsZm9jeCAtIHJmb2N4LAorICAgICAg
YWJ5MiA9IDEgLyBwYnkyIC0gMSAvIHBsYnkyLAorICAgICAgYiA9IGhsIC8gcGxieTI7CisKKyAg
aWYgKGFieTIpIHJldHVybiAoLWIgKyBNYXRoLnNxcnQoYiAqIGIgLSAyICogYWJ5MiAqIChobCAq
IGhsIC8gKC0yICogcGxieTIpIC0gbGZvY3kgKyBwbGJ5MiAvIDIgKyByZm9jeSAtIHBieTIgLyAy
KSkpIC8gYWJ5MiArIHJmb2N4OworCisgIHJldHVybiAocmZvY3ggKyBsZm9jeCkgLyAyOworfQor
CitmdW5jdGlvbiByaWdodEJyZWFrUG9pbnQoYXJjLCBkaXJlY3RyaXgpIHsKKyAgdmFyIHJBcmMg
PSBhcmMuTjsKKyAgaWYgKHJBcmMpIHJldHVybiBsZWZ0QnJlYWtQb2ludChyQXJjLCBkaXJlY3Ry
aXgpOworICB2YXIgc2l0ZSA9IGFyYy5zaXRlOworICByZXR1cm4gc2l0ZVsxXSA9PT0gZGlyZWN0
cml4ID8gc2l0ZVswXSA6IEluZmluaXR5OworfQorCit2YXIgZXBzaWxvbiQ0ID0gMWUtNjsKK3Zh
ciBlcHNpbG9uMiQyID0gMWUtMTI7Cit2YXIgYmVhY2hlczsKK3ZhciBjZWxsczsKK3ZhciBjaXJj
bGVzOwordmFyIGVkZ2VzOworCitmdW5jdGlvbiB0cmlhbmdsZUFyZWEoYSwgYiwgYykgeworICBy
ZXR1cm4gKGFbMF0gLSBjWzBdKSAqIChiWzFdIC0gYVsxXSkgLSAoYVswXSAtIGJbMF0pICogKGNb
MV0gLSBhWzFdKTsKK30KKworZnVuY3Rpb24gbGV4aWNvZ3JhcGhpYyhhLCBiKSB7CisgIHJldHVy
biBiWzFdIC0gYVsxXQorICAgICAgfHwgYlswXSAtIGFbMF07Cit9CisKK2Z1bmN0aW9uIERpYWdy
YW0oc2l0ZXMsIGV4dGVudCkgeworICB2YXIgc2l0ZSA9IHNpdGVzLnNvcnQobGV4aWNvZ3JhcGhp
YykucG9wKCksCisgICAgICB4LAorICAgICAgeSwKKyAgICAgIGNpcmNsZTsKKworICBlZGdlcyA9
IFtdOworICBjZWxscyA9IG5ldyBBcnJheShzaXRlcy5sZW5ndGgpOworICBiZWFjaGVzID0gbmV3
IFJlZEJsYWNrVHJlZTsKKyAgY2lyY2xlcyA9IG5ldyBSZWRCbGFja1RyZWU7CisKKyAgd2hpbGUg
KHRydWUpIHsKKyAgICBjaXJjbGUgPSBmaXJzdENpcmNsZTsKKyAgICBpZiAoc2l0ZSAmJiAoIWNp
cmNsZSB8fCBzaXRlWzFdIDwgY2lyY2xlLnkgfHwgKHNpdGVbMV0gPT09IGNpcmNsZS55ICYmIHNp
dGVbMF0gPCBjaXJjbGUueCkpKSB7CisgICAgICBpZiAoc2l0ZVswXSAhPT0geCB8fCBzaXRlWzFd
ICE9PSB5KSB7CisgICAgICAgIGFkZEJlYWNoKHNpdGUpOworICAgICAgICB4ID0gc2l0ZVswXSwg
eSA9IHNpdGVbMV07CisgICAgICB9CisgICAgICBzaXRlID0gc2l0ZXMucG9wKCk7CisgICAgfSBl
bHNlIGlmIChjaXJjbGUpIHsKKyAgICAgIHJlbW92ZUJlYWNoKGNpcmNsZS5hcmMpOworICAgIH0g
ZWxzZSB7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKworICBzb3J0Q2VsbEhhbGZlZGdlcygp
OworCisgIGlmIChleHRlbnQpIHsKKyAgICB2YXIgeDAgPSArZXh0ZW50WzBdWzBdLAorICAgICAg
ICB5MCA9ICtleHRlbnRbMF1bMV0sCisgICAgICAgIHgxID0gK2V4dGVudFsxXVswXSwKKyAgICAg
ICAgeTEgPSArZXh0ZW50WzFdWzFdOworICAgIGNsaXBFZGdlcyh4MCwgeTAsIHgxLCB5MSk7Cisg
ICAgY2xpcENlbGxzKHgwLCB5MCwgeDEsIHkxKTsKKyAgfQorCisgIHRoaXMuZWRnZXMgPSBlZGdl
czsKKyAgdGhpcy5jZWxscyA9IGNlbGxzOworCisgIGJlYWNoZXMgPQorICBjaXJjbGVzID0KKyAg
ZWRnZXMgPQorICBjZWxscyA9IG51bGw7Cit9CisKK0RpYWdyYW0ucHJvdG90eXBlID0geworICBj
b25zdHJ1Y3RvcjogRGlhZ3JhbSwKKworICBwb2x5Z29uczogZnVuY3Rpb24oKSB7CisgICAgdmFy
IGVkZ2VzID0gdGhpcy5lZGdlczsKKworICAgIHJldHVybiB0aGlzLmNlbGxzLm1hcChmdW5jdGlv
bihjZWxsKSB7CisgICAgICB2YXIgcG9seWdvbiA9IGNlbGwuaGFsZmVkZ2VzLm1hcChmdW5jdGlv
bihpKSB7IHJldHVybiBjZWxsSGFsZmVkZ2VTdGFydChjZWxsLCBlZGdlc1tpXSk7IH0pOworICAg
ICAgcG9seWdvbi5kYXRhID0gY2VsbC5zaXRlLmRhdGE7CisgICAgICByZXR1cm4gcG9seWdvbjsK
KyAgICB9KTsKKyAgfSwKKworICB0cmlhbmdsZXM6IGZ1bmN0aW9uKCkgeworICAgIHZhciB0cmlh
bmdsZXMgPSBbXSwKKyAgICAgICAgZWRnZXMgPSB0aGlzLmVkZ2VzOworCisgICAgdGhpcy5jZWxs
cy5mb3JFYWNoKGZ1bmN0aW9uKGNlbGwsIGkpIHsKKyAgICAgIGlmICghKG0gPSAoaGFsZmVkZ2Vz
ID0gY2VsbC5oYWxmZWRnZXMpLmxlbmd0aCkpIHJldHVybjsKKyAgICAgIHZhciBzaXRlID0gY2Vs
bC5zaXRlLAorICAgICAgICAgIGhhbGZlZGdlcywKKyAgICAgICAgICBqID0gLTEsCisgICAgICAg
ICAgbSwKKyAgICAgICAgICBzMCwKKyAgICAgICAgICBlMSA9IGVkZ2VzW2hhbGZlZGdlc1ttIC0g
MV1dLAorICAgICAgICAgIHMxID0gZTEubGVmdCA9PT0gc2l0ZSA/IGUxLnJpZ2h0IDogZTEubGVm
dDsKKworICAgICAgd2hpbGUgKCsraiA8IG0pIHsKKyAgICAgICAgczAgPSBzMTsKKyAgICAgICAg
ZTEgPSBlZGdlc1toYWxmZWRnZXNbal1dOworICAgICAgICBzMSA9IGUxLmxlZnQgPT09IHNpdGUg
PyBlMS5yaWdodCA6IGUxLmxlZnQ7CisgICAgICAgIGlmIChzMCAmJiBzMSAmJiBpIDwgczAuaW5k
ZXggJiYgaSA8IHMxLmluZGV4ICYmIHRyaWFuZ2xlQXJlYShzaXRlLCBzMCwgczEpIDwgMCkgewor
ICAgICAgICAgIHRyaWFuZ2xlcy5wdXNoKFtzaXRlLmRhdGEsIHMwLmRhdGEsIHMxLmRhdGFdKTsK
KyAgICAgICAgfQorICAgICAgfQorICAgIH0pOworCisgICAgcmV0dXJuIHRyaWFuZ2xlczsKKyAg
fSwKKworICBsaW5rczogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRoaXMuZWRnZXMuZmlsdGVy
KGZ1bmN0aW9uKGVkZ2UpIHsKKyAgICAgIHJldHVybiBlZGdlLnJpZ2h0OworICAgIH0pLm1hcChm
dW5jdGlvbihlZGdlKSB7CisgICAgICByZXR1cm4geworICAgICAgICBzb3VyY2U6IGVkZ2UubGVm
dC5kYXRhLAorICAgICAgICB0YXJnZXQ6IGVkZ2UucmlnaHQuZGF0YQorICAgICAgfTsKKyAgICB9
KTsKKyAgfSwKKworICBmaW5kOiBmdW5jdGlvbih4LCB5LCByYWRpdXMpIHsKKyAgICB2YXIgdGhh
dCA9IHRoaXMsIGkwLCBpMSA9IHRoYXQuX2ZvdW5kIHx8IDAsIG4gPSB0aGF0LmNlbGxzLmxlbmd0
aCwgY2VsbDsKKworICAgIC8vIFVzZSB0aGUgcHJldmlvdXNseS1mb3VuZCBjZWxsLCBvciBzdGFy
dCB3aXRoIGFuIGFyYml0cmFyeSBvbmUuCisgICAgd2hpbGUgKCEoY2VsbCA9IHRoYXQuY2VsbHNb
aTFdKSkgaWYgKCsraTEgPj0gbikgcmV0dXJuIG51bGw7CisgICAgdmFyIGR4ID0geCAtIGNlbGwu
c2l0ZVswXSwgZHkgPSB5IC0gY2VsbC5zaXRlWzFdLCBkMiA9IGR4ICogZHggKyBkeSAqIGR5Owor
CisgICAgLy8gVHJhdmVyc2UgdGhlIGhhbGYtZWRnZXMgdG8gZmluZCBhIGNsb3NlciBjZWxsLCBp
ZiBhbnkuCisgICAgZG8geworICAgICAgY2VsbCA9IHRoYXQuY2VsbHNbaTAgPSBpMV0sIGkxID0g
bnVsbDsKKyAgICAgIGNlbGwuaGFsZmVkZ2VzLmZvckVhY2goZnVuY3Rpb24oZSkgeworICAgICAg
ICB2YXIgZWRnZSA9IHRoYXQuZWRnZXNbZV0sIHYgPSBlZGdlLmxlZnQ7CisgICAgICAgIGlmICgo
diA9PT0gY2VsbC5zaXRlIHx8ICF2KSAmJiAhKHYgPSBlZGdlLnJpZ2h0KSkgcmV0dXJuOworICAg
ICAgICB2YXIgdnggPSB4IC0gdlswXSwgdnkgPSB5IC0gdlsxXSwgdjIgPSB2eCAqIHZ4ICsgdnkg
KiB2eTsKKyAgICAgICAgaWYgKHYyIDwgZDIpIGQyID0gdjIsIGkxID0gdi5pbmRleDsKKyAgICAg
IH0pOworICAgIH0gd2hpbGUgKGkxICE9PSBudWxsKTsKKworICAgIHRoYXQuX2ZvdW5kID0gaTA7
CisKKyAgICByZXR1cm4gcmFkaXVzID09IG51bGwgfHwgZDIgPD0gcmFkaXVzICogcmFkaXVzID8g
Y2VsbC5zaXRlIDogbnVsbDsKKyAgfQorfTsKKworZnVuY3Rpb24gdm9yb25vaSgpIHsKKyAgdmFy
IHggPSB4JDQsCisgICAgICB5ID0geSQ0LAorICAgICAgZXh0ZW50ID0gbnVsbDsKKworICBmdW5j
dGlvbiB2b3Jvbm9pKGRhdGEpIHsKKyAgICByZXR1cm4gbmV3IERpYWdyYW0oZGF0YS5tYXAoZnVu
Y3Rpb24oZCwgaSkgeworICAgICAgdmFyIHMgPSBbTWF0aC5yb3VuZCh4KGQsIGksIGRhdGEpIC8g
ZXBzaWxvbiQ0KSAqIGVwc2lsb24kNCwgTWF0aC5yb3VuZCh5KGQsIGksIGRhdGEpIC8gZXBzaWxv
biQ0KSAqIGVwc2lsb24kNF07CisgICAgICBzLmluZGV4ID0gaTsKKyAgICAgIHMuZGF0YSA9IGQ7
CisgICAgICByZXR1cm4gczsKKyAgICB9KSwgZXh0ZW50KTsKKyAgfQorCisgIHZvcm9ub2kucG9s
eWdvbnMgPSBmdW5jdGlvbihkYXRhKSB7CisgICAgcmV0dXJuIHZvcm9ub2koZGF0YSkucG9seWdv
bnMoKTsKKyAgfTsKKworICB2b3Jvbm9pLmxpbmtzID0gZnVuY3Rpb24oZGF0YSkgeworICAgIHJl
dHVybiB2b3Jvbm9pKGRhdGEpLmxpbmtzKCk7CisgIH07CisKKyAgdm9yb25vaS50cmlhbmdsZXMg
PSBmdW5jdGlvbihkYXRhKSB7CisgICAgcmV0dXJuIHZvcm9ub2koZGF0YSkudHJpYW5nbGVzKCk7
CisgIH07CisKKyAgdm9yb25vaS54ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHggPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRj
KCtfKSwgdm9yb25vaSkgOiB4OworICB9OworCisgIHZvcm9ub2kueSA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlv
biIgPyBfIDogY29uc3RhbnQkYygrXyksIHZvcm9ub2kpIDogeTsKKyAgfTsKKworICB2b3Jvbm9p
LmV4dGVudCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChl
eHRlbnQgPSBfID09IG51bGwgPyBudWxsIDogW1srX1swXVswXSwgK19bMF1bMV1dLCBbK19bMV1b
MF0sICtfWzFdWzFdXV0sIHZvcm9ub2kpIDogZXh0ZW50ICYmIFtbZXh0ZW50WzBdWzBdLCBleHRl
bnRbMF1bMV1dLCBbZXh0ZW50WzFdWzBdLCBleHRlbnRbMV1bMV1dXTsKKyAgfTsKKworICB2b3Jv
bm9pLnNpemUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
ZXh0ZW50ID0gXyA9PSBudWxsID8gbnVsbCA6IFtbMCwgMF0sIFsrX1swXSwgK19bMV1dXSwgdm9y
b25vaSkgOiBleHRlbnQgJiYgW2V4dGVudFsxXVswXSAtIGV4dGVudFswXVswXSwgZXh0ZW50WzFd
WzFdIC0gZXh0ZW50WzBdWzFdXTsKKyAgfTsKKworICByZXR1cm4gdm9yb25vaTsKK30KKworZnVu
Y3Rpb24gY29uc3RhbnQkZCh4KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4g
eDsKKyAgfTsKK30KKworZnVuY3Rpb24gWm9vbUV2ZW50KHRhcmdldCwgdHlwZSwgdHJhbnNmb3Jt
KSB7CisgIHRoaXMudGFyZ2V0ID0gdGFyZ2V0OworICB0aGlzLnR5cGUgPSB0eXBlOworICB0aGlz
LnRyYW5zZm9ybSA9IHRyYW5zZm9ybTsKK30KKworZnVuY3Rpb24gVHJhbnNmb3JtKGssIHgsIHkp
IHsKKyAgdGhpcy5rID0gazsKKyAgdGhpcy54ID0geDsKKyAgdGhpcy55ID0geTsKK30KKworVHJh
bnNmb3JtLnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IFRyYW5zZm9ybSwKKyAgc2NhbGU6
IGZ1bmN0aW9uKGspIHsKKyAgICByZXR1cm4gayA9PT0gMSA/IHRoaXMgOiBuZXcgVHJhbnNmb3Jt
KHRoaXMuayAqIGssIHRoaXMueCwgdGhpcy55KTsKKyAgfSwKKyAgdHJhbnNsYXRlOiBmdW5jdGlv
bih4LCB5KSB7CisgICAgcmV0dXJuIHggPT09IDAgJiB5ID09PSAwID8gdGhpcyA6IG5ldyBUcmFu
c2Zvcm0odGhpcy5rLCB0aGlzLnggKyB0aGlzLmsgKiB4LCB0aGlzLnkgKyB0aGlzLmsgKiB5KTsK
KyAgfSwKKyAgYXBwbHk6IGZ1bmN0aW9uKHBvaW50KSB7CisgICAgcmV0dXJuIFtwb2ludFswXSAq
IHRoaXMuayArIHRoaXMueCwgcG9pbnRbMV0gKiB0aGlzLmsgKyB0aGlzLnldOworICB9LAorICBh
cHBseVg6IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4geCAqIHRoaXMuayArIHRoaXMueDsKKyAg
fSwKKyAgYXBwbHlZOiBmdW5jdGlvbih5KSB7CisgICAgcmV0dXJuIHkgKiB0aGlzLmsgKyB0aGlz
Lnk7CisgIH0sCisgIGludmVydDogZnVuY3Rpb24obG9jYXRpb24pIHsKKyAgICByZXR1cm4gWyhs
b2NhdGlvblswXSAtIHRoaXMueCkgLyB0aGlzLmssIChsb2NhdGlvblsxXSAtIHRoaXMueSkgLyB0
aGlzLmtdOworICB9LAorICBpbnZlcnRYOiBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuICh4IC0g
dGhpcy54KSAvIHRoaXMuazsKKyAgfSwKKyAgaW52ZXJ0WTogZnVuY3Rpb24oeSkgeworICAgIHJl
dHVybiAoeSAtIHRoaXMueSkgLyB0aGlzLms7CisgIH0sCisgIHJlc2NhbGVYOiBmdW5jdGlvbih4
KSB7CisgICAgcmV0dXJuIHguY29weSgpLmRvbWFpbih4LnJhbmdlKCkubWFwKHRoaXMuaW52ZXJ0
WCwgdGhpcykubWFwKHguaW52ZXJ0LCB4KSk7CisgIH0sCisgIHJlc2NhbGVZOiBmdW5jdGlvbih5
KSB7CisgICAgcmV0dXJuIHkuY29weSgpLmRvbWFpbih5LnJhbmdlKCkubWFwKHRoaXMuaW52ZXJ0
WSwgdGhpcykubWFwKHkuaW52ZXJ0LCB5KSk7CisgIH0sCisgIHRvU3RyaW5nOiBmdW5jdGlvbigp
IHsKKyAgICByZXR1cm4gInRyYW5zbGF0ZSgiICsgdGhpcy54ICsgIiwiICsgdGhpcy55ICsgIikg
c2NhbGUoIiArIHRoaXMuayArICIpIjsKKyAgfQorfTsKKwordmFyIGlkZW50aXR5JDkgPSBuZXcg
VHJhbnNmb3JtKDEsIDAsIDApOworCit0cmFuc2Zvcm0kMS5wcm90b3R5cGUgPSBUcmFuc2Zvcm0u
cHJvdG90eXBlOworCitmdW5jdGlvbiB0cmFuc2Zvcm0kMShub2RlKSB7CisgIHdoaWxlICghbm9k
ZS5fX3pvb20pIGlmICghKG5vZGUgPSBub2RlLnBhcmVudE5vZGUpKSByZXR1cm4gaWRlbnRpdHkk
OTsKKyAgcmV0dXJuIG5vZGUuX196b29tOworfQorCitmdW5jdGlvbiBub3Byb3BhZ2F0aW9uJDIo
KSB7CisgIGV4cG9ydHMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7Cit9CisKK2Z1
bmN0aW9uIG5vZXZlbnQkMigpIHsKKyAgZXhwb3J0cy5ldmVudC5wcmV2ZW50RGVmYXVsdCgpOwor
ICBleHBvcnRzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOworfQorCisvLyBJZ25v
cmUgcmlnaHQtY2xpY2ssIHNpbmNlIHRoYXQgc2hvdWxkIG9wZW4gdGhlIGNvbnRleHQgbWVudS4K
K2Z1bmN0aW9uIGRlZmF1bHRGaWx0ZXIkMigpIHsKKyAgcmV0dXJuICFleHBvcnRzLmV2ZW50LmN0
cmxLZXkgJiYgIWV4cG9ydHMuZXZlbnQuYnV0dG9uOworfQorCitmdW5jdGlvbiBkZWZhdWx0RXh0
ZW50JDEoKSB7CisgIHZhciBlID0gdGhpczsKKyAgaWYgKGUgaW5zdGFuY2VvZiBTVkdFbGVtZW50
KSB7CisgICAgZSA9IGUub3duZXJTVkdFbGVtZW50IHx8IGU7CisgICAgaWYgKGUuaGFzQXR0cmli
dXRlKCJ2aWV3Qm94IikpIHsKKyAgICAgIGUgPSBlLnZpZXdCb3guYmFzZVZhbDsKKyAgICAgIHJl
dHVybiBbW2UueCwgZS55XSwgW2UueCArIGUud2lkdGgsIGUueSArIGUuaGVpZ2h0XV07CisgICAg
fQorICAgIHJldHVybiBbWzAsIDBdLCBbZS53aWR0aC5iYXNlVmFsLnZhbHVlLCBlLmhlaWdodC5i
YXNlVmFsLnZhbHVlXV07CisgIH0KKyAgcmV0dXJuIFtbMCwgMF0sIFtlLmNsaWVudFdpZHRoLCBl
LmNsaWVudEhlaWdodF1dOworfQorCitmdW5jdGlvbiBkZWZhdWx0VHJhbnNmb3JtKCkgeworICBy
ZXR1cm4gdGhpcy5fX3pvb20gfHwgaWRlbnRpdHkkOTsKK30KKworZnVuY3Rpb24gZGVmYXVsdFdo
ZWVsRGVsdGEoKSB7CisgIHJldHVybiAtZXhwb3J0cy5ldmVudC5kZWx0YVkgKiAoZXhwb3J0cy5l
dmVudC5kZWx0YU1vZGUgPT09IDEgPyAwLjA1IDogZXhwb3J0cy5ldmVudC5kZWx0YU1vZGUgPyAx
IDogMC4wMDIpOworfQorCitmdW5jdGlvbiBkZWZhdWx0VG91Y2hhYmxlJDIoKSB7CisgIHJldHVy
biBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgfHwgKCJvbnRvdWNoc3RhcnQiIGluIHRoaXMpOwor
fQorCitmdW5jdGlvbiBkZWZhdWx0Q29uc3RyYWluKHRyYW5zZm9ybSwgZXh0ZW50LCB0cmFuc2xh
dGVFeHRlbnQpIHsKKyAgdmFyIGR4MCA9IHRyYW5zZm9ybS5pbnZlcnRYKGV4dGVudFswXVswXSkg
LSB0cmFuc2xhdGVFeHRlbnRbMF1bMF0sCisgICAgICBkeDEgPSB0cmFuc2Zvcm0uaW52ZXJ0WChl
eHRlbnRbMV1bMF0pIC0gdHJhbnNsYXRlRXh0ZW50WzFdWzBdLAorICAgICAgZHkwID0gdHJhbnNm
b3JtLmludmVydFkoZXh0ZW50WzBdWzFdKSAtIHRyYW5zbGF0ZUV4dGVudFswXVsxXSwKKyAgICAg
IGR5MSA9IHRyYW5zZm9ybS5pbnZlcnRZKGV4dGVudFsxXVsxXSkgLSB0cmFuc2xhdGVFeHRlbnRb
MV1bMV07CisgIHJldHVybiB0cmFuc2Zvcm0udHJhbnNsYXRlKAorICAgIGR4MSA+IGR4MCA/IChk
eDAgKyBkeDEpIC8gMiA6IE1hdGgubWluKDAsIGR4MCkgfHwgTWF0aC5tYXgoMCwgZHgxKSwKKyAg
ICBkeTEgPiBkeTAgPyAoZHkwICsgZHkxKSAvIDIgOiBNYXRoLm1pbigwLCBkeTApIHx8IE1hdGgu
bWF4KDAsIGR5MSkKKyAgKTsKK30KKworZnVuY3Rpb24gem9vbSgpIHsKKyAgdmFyIGZpbHRlciA9
IGRlZmF1bHRGaWx0ZXIkMiwKKyAgICAgIGV4dGVudCA9IGRlZmF1bHRFeHRlbnQkMSwKKyAgICAg
IGNvbnN0cmFpbiA9IGRlZmF1bHRDb25zdHJhaW4sCisgICAgICB3aGVlbERlbHRhID0gZGVmYXVs
dFdoZWVsRGVsdGEsCisgICAgICB0b3VjaGFibGUgPSBkZWZhdWx0VG91Y2hhYmxlJDIsCisgICAg
ICBzY2FsZUV4dGVudCA9IFswLCBJbmZpbml0eV0sCisgICAgICB0cmFuc2xhdGVFeHRlbnQgPSBb
Wy1JbmZpbml0eSwgLUluZmluaXR5XSwgW0luZmluaXR5LCBJbmZpbml0eV1dLAorICAgICAgZHVy
YXRpb24gPSAyNTAsCisgICAgICBpbnRlcnBvbGF0ZSA9IGludGVycG9sYXRlWm9vbSwKKyAgICAg
IGxpc3RlbmVycyA9IGRpc3BhdGNoKCJzdGFydCIsICJ6b29tIiwgImVuZCIpLAorICAgICAgdG91
Y2hzdGFydGluZywKKyAgICAgIHRvdWNoZW5kaW5nLAorICAgICAgdG91Y2hEZWxheSA9IDUwMCwK
KyAgICAgIHdoZWVsRGVsYXkgPSAxNTAsCisgICAgICBjbGlja0Rpc3RhbmNlMiA9IDA7CisKKyAg
ZnVuY3Rpb24gem9vbShzZWxlY3Rpb24pIHsKKyAgICBzZWxlY3Rpb24KKyAgICAgICAgLnByb3Bl
cnR5KCJfX3pvb20iLCBkZWZhdWx0VHJhbnNmb3JtKQorICAgICAgICAub24oIndoZWVsLnpvb20i
LCB3aGVlbGVkKQorICAgICAgICAub24oIm1vdXNlZG93bi56b29tIiwgbW91c2Vkb3duZWQpCisg
ICAgICAgIC5vbigiZGJsY2xpY2suem9vbSIsIGRibGNsaWNrZWQpCisgICAgICAuZmlsdGVyKHRv
dWNoYWJsZSkKKyAgICAgICAgLm9uKCJ0b3VjaHN0YXJ0Lnpvb20iLCB0b3VjaHN0YXJ0ZWQpCisg
ICAgICAgIC5vbigidG91Y2htb3ZlLnpvb20iLCB0b3VjaG1vdmVkKQorICAgICAgICAub24oInRv
dWNoZW5kLnpvb20gdG91Y2hjYW5jZWwuem9vbSIsIHRvdWNoZW5kZWQpCisgICAgICAgIC5zdHls
ZSgidG91Y2gtYWN0aW9uIiwgIm5vbmUiKQorICAgICAgICAuc3R5bGUoIi13ZWJraXQtdGFwLWhp
Z2hsaWdodC1jb2xvciIsICJyZ2JhKDAsMCwwLDApIik7CisgIH0KKworICB6b29tLnRyYW5zZm9y
bSA9IGZ1bmN0aW9uKGNvbGxlY3Rpb24sIHRyYW5zZm9ybSwgcG9pbnQpIHsKKyAgICB2YXIgc2Vs
ZWN0aW9uID0gY29sbGVjdGlvbi5zZWxlY3Rpb24gPyBjb2xsZWN0aW9uLnNlbGVjdGlvbigpIDog
Y29sbGVjdGlvbjsKKyAgICBzZWxlY3Rpb24ucHJvcGVydHkoIl9fem9vbSIsIGRlZmF1bHRUcmFu
c2Zvcm0pOworICAgIGlmIChjb2xsZWN0aW9uICE9PSBzZWxlY3Rpb24pIHsKKyAgICAgIHNjaGVk
dWxlKGNvbGxlY3Rpb24sIHRyYW5zZm9ybSwgcG9pbnQpOworICAgIH0gZWxzZSB7CisgICAgICBz
ZWxlY3Rpb24uaW50ZXJydXB0KCkuZWFjaChmdW5jdGlvbigpIHsKKyAgICAgICAgZ2VzdHVyZSh0
aGlzLCBhcmd1bWVudHMpCisgICAgICAgICAgICAuc3RhcnQoKQorICAgICAgICAgICAgLnpvb20o
bnVsbCwgdHlwZW9mIHRyYW5zZm9ybSA9PT0gImZ1bmN0aW9uIiA/IHRyYW5zZm9ybS5hcHBseSh0
aGlzLCBhcmd1bWVudHMpIDogdHJhbnNmb3JtKQorICAgICAgICAgICAgLmVuZCgpOworICAgICAg
fSk7CisgICAgfQorICB9OworCisgIHpvb20uc2NhbGVCeSA9IGZ1bmN0aW9uKHNlbGVjdGlvbiwg
aywgcCkgeworICAgIHpvb20uc2NhbGVUbyhzZWxlY3Rpb24sIGZ1bmN0aW9uKCkgeworICAgICAg
dmFyIGswID0gdGhpcy5fX3pvb20uaywKKyAgICAgICAgICBrMSA9IHR5cGVvZiBrID09PSAiZnVu
Y3Rpb24iID8gay5hcHBseSh0aGlzLCBhcmd1bWVudHMpIDogazsKKyAgICAgIHJldHVybiBrMCAq
IGsxOworICAgIH0sIHApOworICB9OworCisgIHpvb20uc2NhbGVUbyA9IGZ1bmN0aW9uKHNlbGVj
dGlvbiwgaywgcCkgeworICAgIHpvb20udHJhbnNmb3JtKHNlbGVjdGlvbiwgZnVuY3Rpb24oKSB7
CisgICAgICB2YXIgZSA9IGV4dGVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpLAorICAgICAgICAg
IHQwID0gdGhpcy5fX3pvb20sCisgICAgICAgICAgcDAgPSBwID09IG51bGwgPyBjZW50cm9pZChl
KSA6IHR5cGVvZiBwID09PSAiZnVuY3Rpb24iID8gcC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIDog
cCwKKyAgICAgICAgICBwMSA9IHQwLmludmVydChwMCksCisgICAgICAgICAgazEgPSB0eXBlb2Yg
ayA9PT0gImZ1bmN0aW9uIiA/IGsuYXBwbHkodGhpcywgYXJndW1lbnRzKSA6IGs7CisgICAgICBy
ZXR1cm4gY29uc3RyYWluKHRyYW5zbGF0ZShzY2FsZSh0MCwgazEpLCBwMCwgcDEpLCBlLCB0cmFu
c2xhdGVFeHRlbnQpOworICAgIH0sIHApOworICB9OworCisgIHpvb20udHJhbnNsYXRlQnkgPSBm
dW5jdGlvbihzZWxlY3Rpb24sIHgsIHkpIHsKKyAgICB6b29tLnRyYW5zZm9ybShzZWxlY3Rpb24s
IGZ1bmN0aW9uKCkgeworICAgICAgcmV0dXJuIGNvbnN0cmFpbih0aGlzLl9fem9vbS50cmFuc2xh
dGUoCisgICAgICAgIHR5cGVvZiB4ID09PSAiZnVuY3Rpb24iID8geC5hcHBseSh0aGlzLCBhcmd1
bWVudHMpIDogeCwKKyAgICAgICAgdHlwZW9mIHkgPT09ICJmdW5jdGlvbiIgPyB5LmFwcGx5KHRo
aXMsIGFyZ3VtZW50cykgOiB5CisgICAgICApLCBleHRlbnQuYXBwbHkodGhpcywgYXJndW1lbnRz
KSwgdHJhbnNsYXRlRXh0ZW50KTsKKyAgICB9KTsKKyAgfTsKKworICB6b29tLnRyYW5zbGF0ZVRv
ID0gZnVuY3Rpb24oc2VsZWN0aW9uLCB4LCB5LCBwKSB7CisgICAgem9vbS50cmFuc2Zvcm0oc2Vs
ZWN0aW9uLCBmdW5jdGlvbigpIHsKKyAgICAgIHZhciBlID0gZXh0ZW50LmFwcGx5KHRoaXMsIGFy
Z3VtZW50cyksCisgICAgICAgICAgdCA9IHRoaXMuX196b29tLAorICAgICAgICAgIHAwID0gcCA9
PSBudWxsID8gY2VudHJvaWQoZSkgOiB0eXBlb2YgcCA9PT0gImZ1bmN0aW9uIiA/IHAuYXBwbHko
dGhpcywgYXJndW1lbnRzKSA6IHA7CisgICAgICByZXR1cm4gY29uc3RyYWluKGlkZW50aXR5JDku
dHJhbnNsYXRlKHAwWzBdLCBwMFsxXSkuc2NhbGUodC5rKS50cmFuc2xhdGUoCisgICAgICAgIHR5
cGVvZiB4ID09PSAiZnVuY3Rpb24iID8gLXguYXBwbHkodGhpcywgYXJndW1lbnRzKSA6IC14LAor
ICAgICAgICB0eXBlb2YgeSA9PT0gImZ1bmN0aW9uIiA/IC15LmFwcGx5KHRoaXMsIGFyZ3VtZW50
cykgOiAteQorICAgICAgKSwgZSwgdHJhbnNsYXRlRXh0ZW50KTsKKyAgICB9LCBwKTsKKyAgfTsK
KworICBmdW5jdGlvbiBzY2FsZSh0cmFuc2Zvcm0sIGspIHsKKyAgICBrID0gTWF0aC5tYXgoc2Nh
bGVFeHRlbnRbMF0sIE1hdGgubWluKHNjYWxlRXh0ZW50WzFdLCBrKSk7CisgICAgcmV0dXJuIGsg
PT09IHRyYW5zZm9ybS5rID8gdHJhbnNmb3JtIDogbmV3IFRyYW5zZm9ybShrLCB0cmFuc2Zvcm0u
eCwgdHJhbnNmb3JtLnkpOworICB9CisKKyAgZnVuY3Rpb24gdHJhbnNsYXRlKHRyYW5zZm9ybSwg
cDAsIHAxKSB7CisgICAgdmFyIHggPSBwMFswXSAtIHAxWzBdICogdHJhbnNmb3JtLmssIHkgPSBw
MFsxXSAtIHAxWzFdICogdHJhbnNmb3JtLms7CisgICAgcmV0dXJuIHggPT09IHRyYW5zZm9ybS54
ICYmIHkgPT09IHRyYW5zZm9ybS55ID8gdHJhbnNmb3JtIDogbmV3IFRyYW5zZm9ybSh0cmFuc2Zv
cm0uaywgeCwgeSk7CisgIH0KKworICBmdW5jdGlvbiBjZW50cm9pZChleHRlbnQpIHsKKyAgICBy
ZXR1cm4gWygrZXh0ZW50WzBdWzBdICsgK2V4dGVudFsxXVswXSkgLyAyLCAoK2V4dGVudFswXVsx
XSArICtleHRlbnRbMV1bMV0pIC8gMl07CisgIH0KKworICBmdW5jdGlvbiBzY2hlZHVsZSh0cmFu
c2l0aW9uLCB0cmFuc2Zvcm0sIHBvaW50KSB7CisgICAgdHJhbnNpdGlvbgorICAgICAgICAub24o
InN0YXJ0Lnpvb20iLCBmdW5jdGlvbigpIHsgZ2VzdHVyZSh0aGlzLCBhcmd1bWVudHMpLnN0YXJ0
KCk7IH0pCisgICAgICAgIC5vbigiaW50ZXJydXB0Lnpvb20gZW5kLnpvb20iLCBmdW5jdGlvbigp
IHsgZ2VzdHVyZSh0aGlzLCBhcmd1bWVudHMpLmVuZCgpOyB9KQorICAgICAgICAudHdlZW4oInpv
b20iLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCisgICAgICAgICAg
ICAgIGFyZ3MgPSBhcmd1bWVudHMsCisgICAgICAgICAgICAgIGcgPSBnZXN0dXJlKHRoYXQsIGFy
Z3MpLAorICAgICAgICAgICAgICBlID0gZXh0ZW50LmFwcGx5KHRoYXQsIGFyZ3MpLAorICAgICAg
ICAgICAgICBwID0gcG9pbnQgPT0gbnVsbCA/IGNlbnRyb2lkKGUpIDogdHlwZW9mIHBvaW50ID09
PSAiZnVuY3Rpb24iID8gcG9pbnQuYXBwbHkodGhhdCwgYXJncykgOiBwb2ludCwKKyAgICAgICAg
ICAgICAgdyA9IE1hdGgubWF4KGVbMV1bMF0gLSBlWzBdWzBdLCBlWzFdWzFdIC0gZVswXVsxXSks
CisgICAgICAgICAgICAgIGEgPSB0aGF0Ll9fem9vbSwKKyAgICAgICAgICAgICAgYiA9IHR5cGVv
ZiB0cmFuc2Zvcm0gPT09ICJmdW5jdGlvbiIgPyB0cmFuc2Zvcm0uYXBwbHkodGhhdCwgYXJncykg
OiB0cmFuc2Zvcm0sCisgICAgICAgICAgICAgIGkgPSBpbnRlcnBvbGF0ZShhLmludmVydChwKS5j
b25jYXQodyAvIGEuayksIGIuaW52ZXJ0KHApLmNvbmNhdCh3IC8gYi5rKSk7CisgICAgICAgICAg
cmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgICAgIGlmICh0ID09PSAxKSB0ID0gYjsgLy8g
QXZvaWQgcm91bmRpbmcgZXJyb3Igb24gZW5kLgorICAgICAgICAgICAgZWxzZSB7IHZhciBsID0g
aSh0KSwgayA9IHcgLyBsWzJdOyB0ID0gbmV3IFRyYW5zZm9ybShrLCBwWzBdIC0gbFswXSAqIGss
IHBbMV0gLSBsWzFdICogayk7IH0KKyAgICAgICAgICAgIGcuem9vbShudWxsLCB0KTsKKyAgICAg
ICAgICB9OworICAgICAgICB9KTsKKyAgfQorCisgIGZ1bmN0aW9uIGdlc3R1cmUodGhhdCwgYXJn
cywgY2xlYW4pIHsKKyAgICByZXR1cm4gKCFjbGVhbiAmJiB0aGF0Ll9fem9vbWluZykgfHwgbmV3
IEdlc3R1cmUodGhhdCwgYXJncyk7CisgIH0KKworICBmdW5jdGlvbiBHZXN0dXJlKHRoYXQsIGFy
Z3MpIHsKKyAgICB0aGlzLnRoYXQgPSB0aGF0OworICAgIHRoaXMuYXJncyA9IGFyZ3M7CisgICAg
dGhpcy5hY3RpdmUgPSAwOworICAgIHRoaXMuZXh0ZW50ID0gZXh0ZW50LmFwcGx5KHRoYXQsIGFy
Z3MpOworICAgIHRoaXMudGFwcyA9IDA7CisgIH0KKworICBHZXN0dXJlLnByb3RvdHlwZSA9IHsK
KyAgICBzdGFydDogZnVuY3Rpb24oKSB7CisgICAgICBpZiAoKyt0aGlzLmFjdGl2ZSA9PT0gMSkg
eworICAgICAgICB0aGlzLnRoYXQuX196b29taW5nID0gdGhpczsKKyAgICAgICAgdGhpcy5lbWl0
KCJzdGFydCIpOworICAgICAgfQorICAgICAgcmV0dXJuIHRoaXM7CisgICAgfSwKKyAgICB6b29t
OiBmdW5jdGlvbihrZXksIHRyYW5zZm9ybSkgeworICAgICAgaWYgKHRoaXMubW91c2UgJiYga2V5
ICE9PSAibW91c2UiKSB0aGlzLm1vdXNlWzFdID0gdHJhbnNmb3JtLmludmVydCh0aGlzLm1vdXNl
WzBdKTsKKyAgICAgIGlmICh0aGlzLnRvdWNoMCAmJiBrZXkgIT09ICJ0b3VjaCIpIHRoaXMudG91
Y2gwWzFdID0gdHJhbnNmb3JtLmludmVydCh0aGlzLnRvdWNoMFswXSk7CisgICAgICBpZiAodGhp
cy50b3VjaDEgJiYga2V5ICE9PSAidG91Y2giKSB0aGlzLnRvdWNoMVsxXSA9IHRyYW5zZm9ybS5p
bnZlcnQodGhpcy50b3VjaDFbMF0pOworICAgICAgdGhpcy50aGF0Ll9fem9vbSA9IHRyYW5zZm9y
bTsKKyAgICAgIHRoaXMuZW1pdCgiem9vbSIpOworICAgICAgcmV0dXJuIHRoaXM7CisgICAgfSwK
KyAgICBlbmQ6IGZ1bmN0aW9uKCkgeworICAgICAgaWYgKC0tdGhpcy5hY3RpdmUgPT09IDApIHsK
KyAgICAgICAgZGVsZXRlIHRoaXMudGhhdC5fX3pvb21pbmc7CisgICAgICAgIHRoaXMuZW1pdCgi
ZW5kIik7CisgICAgICB9CisgICAgICByZXR1cm4gdGhpczsKKyAgICB9LAorICAgIGVtaXQ6IGZ1
bmN0aW9uKHR5cGUpIHsKKyAgICAgIGN1c3RvbUV2ZW50KG5ldyBab29tRXZlbnQoem9vbSwgdHlw
ZSwgdGhpcy50aGF0Ll9fem9vbSksIGxpc3RlbmVycy5hcHBseSwgbGlzdGVuZXJzLCBbdHlwZSwg
dGhpcy50aGF0LCB0aGlzLmFyZ3NdKTsKKyAgICB9CisgIH07CisKKyAgZnVuY3Rpb24gd2hlZWxl
ZCgpIHsKKyAgICBpZiAoIWZpbHRlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSByZXR1cm47Cisg
ICAgdmFyIGcgPSBnZXN0dXJlKHRoaXMsIGFyZ3VtZW50cyksCisgICAgICAgIHQgPSB0aGlzLl9f
em9vbSwKKyAgICAgICAgayA9IE1hdGgubWF4KHNjYWxlRXh0ZW50WzBdLCBNYXRoLm1pbihzY2Fs
ZUV4dGVudFsxXSwgdC5rICogTWF0aC5wb3coMiwgd2hlZWxEZWx0YS5hcHBseSh0aGlzLCBhcmd1
bWVudHMpKSkpLAorICAgICAgICBwID0gbW91c2UodGhpcyk7CisKKyAgICAvLyBJZiB0aGUgbW91
c2UgaXMgaW4gdGhlIHNhbWUgbG9jYXRpb24gYXMgYmVmb3JlLCByZXVzZSBpdC4KKyAgICAvLyBJ
ZiB0aGVyZSB3ZXJlIHJlY2VudCB3aGVlbCBldmVudHMsIHJlc2V0IHRoZSB3aGVlbCBpZGxlIHRp
bWVvdXQuCisgICAgaWYgKGcud2hlZWwpIHsKKyAgICAgIGlmIChnLm1vdXNlWzBdWzBdICE9PSBw
WzBdIHx8IGcubW91c2VbMF1bMV0gIT09IHBbMV0pIHsKKyAgICAgICAgZy5tb3VzZVsxXSA9IHQu
aW52ZXJ0KGcubW91c2VbMF0gPSBwKTsKKyAgICAgIH0KKyAgICAgIGNsZWFyVGltZW91dChnLndo
ZWVsKTsKKyAgICB9CisKKyAgICAvLyBJZiB0aGlzIHdoZWVsIGV2ZW50IHdvbuKAmXQgdHJpZ2dl
ciBhIHRyYW5zZm9ybSBjaGFuZ2UsIGlnbm9yZSBpdC4KKyAgICBlbHNlIGlmICh0LmsgPT09IGsp
IHJldHVybjsKKworICAgIC8vIE90aGVyd2lzZSwgY2FwdHVyZSB0aGUgbW91c2UgcG9pbnQgYW5k
IGxvY2F0aW9uIGF0IHRoZSBzdGFydC4KKyAgICBlbHNlIHsKKyAgICAgIGcubW91c2UgPSBbcCwg
dC5pbnZlcnQocCldOworICAgICAgaW50ZXJydXB0KHRoaXMpOworICAgICAgZy5zdGFydCgpOwor
ICAgIH0KKworICAgIG5vZXZlbnQkMigpOworICAgIGcud2hlZWwgPSBzZXRUaW1lb3V0KHdoZWVs
aWRsZWQsIHdoZWVsRGVsYXkpOworICAgIGcuem9vbSgibW91c2UiLCBjb25zdHJhaW4odHJhbnNs
YXRlKHNjYWxlKHQsIGspLCBnLm1vdXNlWzBdLCBnLm1vdXNlWzFdKSwgZy5leHRlbnQsIHRyYW5z
bGF0ZUV4dGVudCkpOworCisgICAgZnVuY3Rpb24gd2hlZWxpZGxlZCgpIHsKKyAgICAgIGcud2hl
ZWwgPSBudWxsOworICAgICAgZy5lbmQoKTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBtb3Vz
ZWRvd25lZCgpIHsKKyAgICBpZiAodG91Y2hlbmRpbmcgfHwgIWZpbHRlci5hcHBseSh0aGlzLCBh
cmd1bWVudHMpKSByZXR1cm47CisgICAgdmFyIGcgPSBnZXN0dXJlKHRoaXMsIGFyZ3VtZW50cywg
dHJ1ZSksCisgICAgICAgIHYgPSBzZWxlY3QoZXhwb3J0cy5ldmVudC52aWV3KS5vbigibW91c2Vt
b3ZlLnpvb20iLCBtb3VzZW1vdmVkLCB0cnVlKS5vbigibW91c2V1cC56b29tIiwgbW91c2V1cHBl
ZCwgdHJ1ZSksCisgICAgICAgIHAgPSBtb3VzZSh0aGlzKSwKKyAgICAgICAgeDAgPSBleHBvcnRz
LmV2ZW50LmNsaWVudFgsCisgICAgICAgIHkwID0gZXhwb3J0cy5ldmVudC5jbGllbnRZOworCisg
ICAgZHJhZ0Rpc2FibGUoZXhwb3J0cy5ldmVudC52aWV3KTsKKyAgICBub3Byb3BhZ2F0aW9uJDIo
KTsKKyAgICBnLm1vdXNlID0gW3AsIHRoaXMuX196b29tLmludmVydChwKV07CisgICAgaW50ZXJy
dXB0KHRoaXMpOworICAgIGcuc3RhcnQoKTsKKworICAgIGZ1bmN0aW9uIG1vdXNlbW92ZWQoKSB7
CisgICAgICBub2V2ZW50JDIoKTsKKyAgICAgIGlmICghZy5tb3ZlZCkgeworICAgICAgICB2YXIg
ZHggPSBleHBvcnRzLmV2ZW50LmNsaWVudFggLSB4MCwgZHkgPSBleHBvcnRzLmV2ZW50LmNsaWVu
dFkgLSB5MDsKKyAgICAgICAgZy5tb3ZlZCA9IGR4ICogZHggKyBkeSAqIGR5ID4gY2xpY2tEaXN0
YW5jZTI7CisgICAgICB9CisgICAgICBnLnpvb20oIm1vdXNlIiwgY29uc3RyYWluKHRyYW5zbGF0
ZShnLnRoYXQuX196b29tLCBnLm1vdXNlWzBdID0gbW91c2UoZy50aGF0KSwgZy5tb3VzZVsxXSks
IGcuZXh0ZW50LCB0cmFuc2xhdGVFeHRlbnQpKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBtb3Vz
ZXVwcGVkKCkgeworICAgICAgdi5vbigibW91c2Vtb3ZlLnpvb20gbW91c2V1cC56b29tIiwgbnVs
bCk7CisgICAgICB5ZXNkcmFnKGV4cG9ydHMuZXZlbnQudmlldywgZy5tb3ZlZCk7CisgICAgICBu
b2V2ZW50JDIoKTsKKyAgICAgIGcuZW5kKCk7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gZGJs
Y2xpY2tlZCgpIHsKKyAgICBpZiAoIWZpbHRlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSByZXR1
cm47CisgICAgdmFyIHQwID0gdGhpcy5fX3pvb20sCisgICAgICAgIHAwID0gbW91c2UodGhpcyks
CisgICAgICAgIHAxID0gdDAuaW52ZXJ0KHAwKSwKKyAgICAgICAgazEgPSB0MC5rICogKGV4cG9y
dHMuZXZlbnQuc2hpZnRLZXkgPyAwLjUgOiAyKSwKKyAgICAgICAgdDEgPSBjb25zdHJhaW4odHJh
bnNsYXRlKHNjYWxlKHQwLCBrMSksIHAwLCBwMSksIGV4dGVudC5hcHBseSh0aGlzLCBhcmd1bWVu
dHMpLCB0cmFuc2xhdGVFeHRlbnQpOworCisgICAgbm9ldmVudCQyKCk7CisgICAgaWYgKGR1cmF0
aW9uID4gMCkgc2VsZWN0KHRoaXMpLnRyYW5zaXRpb24oKS5kdXJhdGlvbihkdXJhdGlvbikuY2Fs
bChzY2hlZHVsZSwgdDEsIHAwKTsKKyAgICBlbHNlIHNlbGVjdCh0aGlzKS5jYWxsKHpvb20udHJh
bnNmb3JtLCB0MSk7CisgIH0KKworICBmdW5jdGlvbiB0b3VjaHN0YXJ0ZWQoKSB7CisgICAgaWYg
KCFmaWx0ZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSkgcmV0dXJuOworICAgIHZhciB0b3VjaGVz
ID0gZXhwb3J0cy5ldmVudC50b3VjaGVzLAorICAgICAgICBuID0gdG91Y2hlcy5sZW5ndGgsCisg
ICAgICAgIGcgPSBnZXN0dXJlKHRoaXMsIGFyZ3VtZW50cywgZXhwb3J0cy5ldmVudC5jaGFuZ2Vk
VG91Y2hlcy5sZW5ndGggPT09IG4pLAorICAgICAgICBzdGFydGVkLCBpLCB0LCBwOworCisgICAg
bm9wcm9wYWdhdGlvbiQyKCk7CisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAg
dCA9IHRvdWNoZXNbaV0sIHAgPSB0b3VjaCh0aGlzLCB0b3VjaGVzLCB0LmlkZW50aWZpZXIpOwor
ICAgICAgcCA9IFtwLCB0aGlzLl9fem9vbS5pbnZlcnQocCksIHQuaWRlbnRpZmllcl07CisgICAg
ICBpZiAoIWcudG91Y2gwKSBnLnRvdWNoMCA9IHAsIHN0YXJ0ZWQgPSB0cnVlLCBnLnRhcHMgPSAx
ICsgISF0b3VjaHN0YXJ0aW5nOworICAgICAgZWxzZSBpZiAoIWcudG91Y2gxICYmIGcudG91Y2gw
WzJdICE9PSBwWzJdKSBnLnRvdWNoMSA9IHAsIGcudGFwcyA9IDA7CisgICAgfQorCisgICAgaWYg
KHRvdWNoc3RhcnRpbmcpIHRvdWNoc3RhcnRpbmcgPSBjbGVhclRpbWVvdXQodG91Y2hzdGFydGlu
Zyk7CisKKyAgICBpZiAoc3RhcnRlZCkgeworICAgICAgaWYgKGcudGFwcyA8IDIpIHRvdWNoc3Rh
cnRpbmcgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB0b3VjaHN0YXJ0aW5nID0gbnVsbDsgfSwg
dG91Y2hEZWxheSk7CisgICAgICBpbnRlcnJ1cHQodGhpcyk7CisgICAgICBnLnN0YXJ0KCk7Cisg
ICAgfQorICB9CisKKyAgZnVuY3Rpb24gdG91Y2htb3ZlZCgpIHsKKyAgICBpZiAoIXRoaXMuX196
b29taW5nKSByZXR1cm47CisgICAgdmFyIGcgPSBnZXN0dXJlKHRoaXMsIGFyZ3VtZW50cyksCisg
ICAgICAgIHRvdWNoZXMgPSBleHBvcnRzLmV2ZW50LmNoYW5nZWRUb3VjaGVzLAorICAgICAgICBu
ID0gdG91Y2hlcy5sZW5ndGgsIGksIHQsIHAsIGw7CisKKyAgICBub2V2ZW50JDIoKTsKKyAgICBp
ZiAodG91Y2hzdGFydGluZykgdG91Y2hzdGFydGluZyA9IGNsZWFyVGltZW91dCh0b3VjaHN0YXJ0
aW5nKTsKKyAgICBnLnRhcHMgPSAwOworICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAg
ICAgIHQgPSB0b3VjaGVzW2ldLCBwID0gdG91Y2godGhpcywgdG91Y2hlcywgdC5pZGVudGlmaWVy
KTsKKyAgICAgIGlmIChnLnRvdWNoMCAmJiBnLnRvdWNoMFsyXSA9PT0gdC5pZGVudGlmaWVyKSBn
LnRvdWNoMFswXSA9IHA7CisgICAgICBlbHNlIGlmIChnLnRvdWNoMSAmJiBnLnRvdWNoMVsyXSA9
PT0gdC5pZGVudGlmaWVyKSBnLnRvdWNoMVswXSA9IHA7CisgICAgfQorICAgIHQgPSBnLnRoYXQu
X196b29tOworICAgIGlmIChnLnRvdWNoMSkgeworICAgICAgdmFyIHAwID0gZy50b3VjaDBbMF0s
IGwwID0gZy50b3VjaDBbMV0sCisgICAgICAgICAgcDEgPSBnLnRvdWNoMVswXSwgbDEgPSBnLnRv
dWNoMVsxXSwKKyAgICAgICAgICBkcCA9IChkcCA9IHAxWzBdIC0gcDBbMF0pICogZHAgKyAoZHAg
PSBwMVsxXSAtIHAwWzFdKSAqIGRwLAorICAgICAgICAgIGRsID0gKGRsID0gbDFbMF0gLSBsMFsw
XSkgKiBkbCArIChkbCA9IGwxWzFdIC0gbDBbMV0pICogZGw7CisgICAgICB0ID0gc2NhbGUodCwg
TWF0aC5zcXJ0KGRwIC8gZGwpKTsKKyAgICAgIHAgPSBbKHAwWzBdICsgcDFbMF0pIC8gMiwgKHAw
WzFdICsgcDFbMV0pIC8gMl07CisgICAgICBsID0gWyhsMFswXSArIGwxWzBdKSAvIDIsIChsMFsx
XSArIGwxWzFdKSAvIDJdOworICAgIH0KKyAgICBlbHNlIGlmIChnLnRvdWNoMCkgcCA9IGcudG91
Y2gwWzBdLCBsID0gZy50b3VjaDBbMV07CisgICAgZWxzZSByZXR1cm47CisgICAgZy56b29tKCJ0
b3VjaCIsIGNvbnN0cmFpbih0cmFuc2xhdGUodCwgcCwgbCksIGcuZXh0ZW50LCB0cmFuc2xhdGVF
eHRlbnQpKTsKKyAgfQorCisgIGZ1bmN0aW9uIHRvdWNoZW5kZWQoKSB7CisgICAgaWYgKCF0aGlz
Ll9fem9vbWluZykgcmV0dXJuOworICAgIHZhciBnID0gZ2VzdHVyZSh0aGlzLCBhcmd1bWVudHMp
LAorICAgICAgICB0b3VjaGVzID0gZXhwb3J0cy5ldmVudC5jaGFuZ2VkVG91Y2hlcywKKyAgICAg
ICAgbiA9IHRvdWNoZXMubGVuZ3RoLCBpLCB0OworCisgICAgbm9wcm9wYWdhdGlvbiQyKCk7Cisg
ICAgaWYgKHRvdWNoZW5kaW5nKSBjbGVhclRpbWVvdXQodG91Y2hlbmRpbmcpOworICAgIHRvdWNo
ZW5kaW5nID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsgdG91Y2hlbmRpbmcgPSBudWxsOyB9LCB0
b3VjaERlbGF5KTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICB0ID0gdG91
Y2hlc1tpXTsKKyAgICAgIGlmIChnLnRvdWNoMCAmJiBnLnRvdWNoMFsyXSA9PT0gdC5pZGVudGlm
aWVyKSBkZWxldGUgZy50b3VjaDA7CisgICAgICBlbHNlIGlmIChnLnRvdWNoMSAmJiBnLnRvdWNo
MVsyXSA9PT0gdC5pZGVudGlmaWVyKSBkZWxldGUgZy50b3VjaDE7CisgICAgfQorICAgIGlmIChn
LnRvdWNoMSAmJiAhZy50b3VjaDApIGcudG91Y2gwID0gZy50b3VjaDEsIGRlbGV0ZSBnLnRvdWNo
MTsKKyAgICBpZiAoZy50b3VjaDApIGcudG91Y2gwWzFdID0gdGhpcy5fX3pvb20uaW52ZXJ0KGcu
dG91Y2gwWzBdKTsKKyAgICBlbHNlIHsKKyAgICAgIGcuZW5kKCk7CisgICAgICAvLyBJZiB0aGlz
IHdhcyBhIGRibHRhcCwgcmVyb3V0ZSB0byB0aGUgKG9wdGlvbmFsKSBkYmxjbGljay56b29tIGhh
bmRsZXIuCisgICAgICBpZiAoZy50YXBzID09PSAyKSB7CisgICAgICAgIHZhciBwID0gc2VsZWN0
KHRoaXMpLm9uKCJkYmxjbGljay56b29tIik7CisgICAgICAgIGlmIChwKSBwLmFwcGx5KHRoaXMs
IGFyZ3VtZW50cyk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgem9vbS53aGVlbERlbHRhID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHdoZWVsRGVsdGEg
PSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRkKCtfKSwgem9vbSkgOiB3
aGVlbERlbHRhOworICB9OworCisgIHpvb20uZmlsdGVyID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGZpbHRlciA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24i
ID8gXyA6IGNvbnN0YW50JGQoISFfKSwgem9vbSkgOiBmaWx0ZXI7CisgIH07CisKKyAgem9vbS50
b3VjaGFibGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
dG91Y2hhYmxlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkZCghIV8p
LCB6b29tKSA6IHRvdWNoYWJsZTsKKyAgfTsKKworICB6b29tLmV4dGVudCA9IGZ1bmN0aW9uKF8p
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChleHRlbnQgPSB0eXBlb2YgXyA9PT0g
ImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRkKFtbK19bMF1bMF0sICtfWzBdWzFdXSwgWytfWzFd
WzBdLCArX1sxXVsxXV1dKSwgem9vbSkgOiBleHRlbnQ7CisgIH07CisKKyAgem9vbS5zY2FsZUV4
dGVudCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzY2Fs
ZUV4dGVudFswXSA9ICtfWzBdLCBzY2FsZUV4dGVudFsxXSA9ICtfWzFdLCB6b29tKSA6IFtzY2Fs
ZUV4dGVudFswXSwgc2NhbGVFeHRlbnRbMV1dOworICB9OworCisgIHpvb20udHJhbnNsYXRlRXh0
ZW50ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRyYW5z
bGF0ZUV4dGVudFswXVswXSA9ICtfWzBdWzBdLCB0cmFuc2xhdGVFeHRlbnRbMV1bMF0gPSArX1sx
XVswXSwgdHJhbnNsYXRlRXh0ZW50WzBdWzFdID0gK19bMF1bMV0sIHRyYW5zbGF0ZUV4dGVudFsx
XVsxXSA9ICtfWzFdWzFdLCB6b29tKSA6IFtbdHJhbnNsYXRlRXh0ZW50WzBdWzBdLCB0cmFuc2xh
dGVFeHRlbnRbMF1bMV1dLCBbdHJhbnNsYXRlRXh0ZW50WzFdWzBdLCB0cmFuc2xhdGVFeHRlbnRb
MV1bMV1dXTsKKyAgfTsKKworICB6b29tLmNvbnN0cmFpbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChjb25zdHJhaW4gPSBfLCB6b29tKSA6IGNvbnN0cmFp
bjsKKyAgfTsKKworICB6b29tLmR1cmF0aW9uID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKGR1cmF0aW9uID0gK18sIHpvb20pIDogZHVyYXRpb247CisgIH07
CisKKyAgem9vbS5pbnRlcnBvbGF0ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/IChpbnRlcnBvbGF0ZSA9IF8sIHpvb20pIDogaW50ZXJwb2xhdGU7CisgIH07
CisKKyAgem9vbS5vbiA9IGZ1bmN0aW9uKCkgeworICAgIHZhciB2YWx1ZSA9IGxpc3RlbmVycy5v
bi5hcHBseShsaXN0ZW5lcnMsIGFyZ3VtZW50cyk7CisgICAgcmV0dXJuIHZhbHVlID09PSBsaXN0
ZW5lcnMgPyB6b29tIDogdmFsdWU7CisgIH07CisKKyAgem9vbS5jbGlja0Rpc3RhbmNlID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGNsaWNrRGlzdGFuY2Uy
ID0gKF8gPSArXykgKiBfLCB6b29tKSA6IE1hdGguc3FydChjbGlja0Rpc3RhbmNlMik7CisgIH07
CisKKyAgcmV0dXJuIHpvb207Cit9CisKK2V4cG9ydHMuRm9ybWF0U3BlY2lmaWVyID0gRm9ybWF0
U3BlY2lmaWVyOworZXhwb3J0cy5hY3RpdmUgPSBhY3RpdmU7CitleHBvcnRzLmFyYyA9IGFyYzsK
K2V4cG9ydHMuYXJlYSA9IGFyZWEkMzsKK2V4cG9ydHMuYXJlYVJhZGlhbCA9IGFyZWFSYWRpYWw7
CitleHBvcnRzLmFzY2VuZGluZyA9IGFzY2VuZGluZzsKK2V4cG9ydHMuYXV0b1R5cGUgPSBhdXRv
VHlwZTsKK2V4cG9ydHMuYXhpc0JvdHRvbSA9IGF4aXNCb3R0b207CitleHBvcnRzLmF4aXNMZWZ0
ID0gYXhpc0xlZnQ7CitleHBvcnRzLmF4aXNSaWdodCA9IGF4aXNSaWdodDsKK2V4cG9ydHMuYXhp
c1RvcCA9IGF4aXNUb3A7CitleHBvcnRzLmJpc2VjdCA9IGJpc2VjdFJpZ2h0OworZXhwb3J0cy5i
aXNlY3RMZWZ0ID0gYmlzZWN0TGVmdDsKK2V4cG9ydHMuYmlzZWN0UmlnaHQgPSBiaXNlY3RSaWdo
dDsKK2V4cG9ydHMuYmlzZWN0b3IgPSBiaXNlY3RvcjsKK2V4cG9ydHMuYmxvYiA9IGJsb2I7Citl
eHBvcnRzLmJydXNoID0gYnJ1c2g7CitleHBvcnRzLmJydXNoU2VsZWN0aW9uID0gYnJ1c2hTZWxl
Y3Rpb247CitleHBvcnRzLmJydXNoWCA9IGJydXNoWDsKK2V4cG9ydHMuYnJ1c2hZID0gYnJ1c2hZ
OworZXhwb3J0cy5idWZmZXIgPSBidWZmZXI7CitleHBvcnRzLmNob3JkID0gY2hvcmQ7CitleHBv
cnRzLmNsaWVudFBvaW50ID0gcG9pbnQ7CitleHBvcnRzLmNsdXN0ZXIgPSBjbHVzdGVyOworZXhw
b3J0cy5jb2xvciA9IGNvbG9yOworZXhwb3J0cy5jb250b3VyRGVuc2l0eSA9IGRlbnNpdHk7Citl
eHBvcnRzLmNvbnRvdXJzID0gY29udG91cnM7CitleHBvcnRzLmNyZWF0ZSA9IGNyZWF0ZTsKK2V4
cG9ydHMuY3JlYXRvciA9IGNyZWF0b3I7CitleHBvcnRzLmNyb3NzID0gY3Jvc3M7CitleHBvcnRz
LmNzdiA9IGNzdiQxOworZXhwb3J0cy5jc3ZGb3JtYXQgPSBjc3ZGb3JtYXQ7CitleHBvcnRzLmNz
dkZvcm1hdEJvZHkgPSBjc3ZGb3JtYXRCb2R5OworZXhwb3J0cy5jc3ZGb3JtYXRSb3cgPSBjc3ZG
b3JtYXRSb3c7CitleHBvcnRzLmNzdkZvcm1hdFJvd3MgPSBjc3ZGb3JtYXRSb3dzOworZXhwb3J0
cy5jc3ZGb3JtYXRWYWx1ZSA9IGNzdkZvcm1hdFZhbHVlOworZXhwb3J0cy5jc3ZQYXJzZSA9IGNz
dlBhcnNlOworZXhwb3J0cy5jc3ZQYXJzZVJvd3MgPSBjc3ZQYXJzZVJvd3M7CitleHBvcnRzLmN1
YmVoZWxpeCA9IGN1YmVoZWxpeDsKK2V4cG9ydHMuY3VydmVCYXNpcyA9IGJhc2lzJDI7CitleHBv
cnRzLmN1cnZlQmFzaXNDbG9zZWQgPSBiYXNpc0Nsb3NlZCQxOworZXhwb3J0cy5jdXJ2ZUJhc2lz
T3BlbiA9IGJhc2lzT3BlbjsKK2V4cG9ydHMuY3VydmVCdW5kbGUgPSBidW5kbGU7CitleHBvcnRz
LmN1cnZlQ2FyZGluYWwgPSBjYXJkaW5hbDsKK2V4cG9ydHMuY3VydmVDYXJkaW5hbENsb3NlZCA9
IGNhcmRpbmFsQ2xvc2VkOworZXhwb3J0cy5jdXJ2ZUNhcmRpbmFsT3BlbiA9IGNhcmRpbmFsT3Bl
bjsKK2V4cG9ydHMuY3VydmVDYXRtdWxsUm9tID0gY2F0bXVsbFJvbTsKK2V4cG9ydHMuY3VydmVD
YXRtdWxsUm9tQ2xvc2VkID0gY2F0bXVsbFJvbUNsb3NlZDsKK2V4cG9ydHMuY3VydmVDYXRtdWxs
Um9tT3BlbiA9IGNhdG11bGxSb21PcGVuOworZXhwb3J0cy5jdXJ2ZUxpbmVhciA9IGN1cnZlTGlu
ZWFyOworZXhwb3J0cy5jdXJ2ZUxpbmVhckNsb3NlZCA9IGxpbmVhckNsb3NlZDsKK2V4cG9ydHMu
Y3VydmVNb25vdG9uZVggPSBtb25vdG9uZVg7CitleHBvcnRzLmN1cnZlTW9ub3RvbmVZID0gbW9u
b3RvbmVZOworZXhwb3J0cy5jdXJ2ZU5hdHVyYWwgPSBuYXR1cmFsOworZXhwb3J0cy5jdXJ2ZVN0
ZXAgPSBzdGVwOworZXhwb3J0cy5jdXJ2ZVN0ZXBBZnRlciA9IHN0ZXBBZnRlcjsKK2V4cG9ydHMu
Y3VydmVTdGVwQmVmb3JlID0gc3RlcEJlZm9yZTsKK2V4cG9ydHMuY3VzdG9tRXZlbnQgPSBjdXN0
b21FdmVudDsKK2V4cG9ydHMuZGVzY2VuZGluZyA9IGRlc2NlbmRpbmc7CitleHBvcnRzLmRldmlh
dGlvbiA9IGRldmlhdGlvbjsKK2V4cG9ydHMuZGlzcGF0Y2ggPSBkaXNwYXRjaDsKK2V4cG9ydHMu
ZHJhZyA9IGRyYWc7CitleHBvcnRzLmRyYWdEaXNhYmxlID0gZHJhZ0Rpc2FibGU7CitleHBvcnRz
LmRyYWdFbmFibGUgPSB5ZXNkcmFnOworZXhwb3J0cy5kc3YgPSBkc3Y7CitleHBvcnRzLmRzdkZv
cm1hdCA9IGRzdkZvcm1hdDsKK2V4cG9ydHMuZWFzZUJhY2sgPSBiYWNrSW5PdXQ7CitleHBvcnRz
LmVhc2VCYWNrSW4gPSBiYWNrSW47CitleHBvcnRzLmVhc2VCYWNrSW5PdXQgPSBiYWNrSW5PdXQ7
CitleHBvcnRzLmVhc2VCYWNrT3V0ID0gYmFja091dDsKK2V4cG9ydHMuZWFzZUJvdW5jZSA9IGJv
dW5jZU91dDsKK2V4cG9ydHMuZWFzZUJvdW5jZUluID0gYm91bmNlSW47CitleHBvcnRzLmVhc2VC
b3VuY2VJbk91dCA9IGJvdW5jZUluT3V0OworZXhwb3J0cy5lYXNlQm91bmNlT3V0ID0gYm91bmNl
T3V0OworZXhwb3J0cy5lYXNlQ2lyY2xlID0gY2lyY2xlSW5PdXQ7CitleHBvcnRzLmVhc2VDaXJj
bGVJbiA9IGNpcmNsZUluOworZXhwb3J0cy5lYXNlQ2lyY2xlSW5PdXQgPSBjaXJjbGVJbk91dDsK
K2V4cG9ydHMuZWFzZUNpcmNsZU91dCA9IGNpcmNsZU91dDsKK2V4cG9ydHMuZWFzZUN1YmljID0g
Y3ViaWNJbk91dDsKK2V4cG9ydHMuZWFzZUN1YmljSW4gPSBjdWJpY0luOworZXhwb3J0cy5lYXNl
Q3ViaWNJbk91dCA9IGN1YmljSW5PdXQ7CitleHBvcnRzLmVhc2VDdWJpY091dCA9IGN1YmljT3V0
OworZXhwb3J0cy5lYXNlRWxhc3RpYyA9IGVsYXN0aWNPdXQ7CitleHBvcnRzLmVhc2VFbGFzdGlj
SW4gPSBlbGFzdGljSW47CitleHBvcnRzLmVhc2VFbGFzdGljSW5PdXQgPSBlbGFzdGljSW5PdXQ7
CitleHBvcnRzLmVhc2VFbGFzdGljT3V0ID0gZWxhc3RpY091dDsKK2V4cG9ydHMuZWFzZUV4cCA9
IGV4cEluT3V0OworZXhwb3J0cy5lYXNlRXhwSW4gPSBleHBJbjsKK2V4cG9ydHMuZWFzZUV4cElu
T3V0ID0gZXhwSW5PdXQ7CitleHBvcnRzLmVhc2VFeHBPdXQgPSBleHBPdXQ7CitleHBvcnRzLmVh
c2VMaW5lYXIgPSBsaW5lYXIkMTsKK2V4cG9ydHMuZWFzZVBvbHkgPSBwb2x5SW5PdXQ7CitleHBv
cnRzLmVhc2VQb2x5SW4gPSBwb2x5SW47CitleHBvcnRzLmVhc2VQb2x5SW5PdXQgPSBwb2x5SW5P
dXQ7CitleHBvcnRzLmVhc2VQb2x5T3V0ID0gcG9seU91dDsKK2V4cG9ydHMuZWFzZVF1YWQgPSBx
dWFkSW5PdXQ7CitleHBvcnRzLmVhc2VRdWFkSW4gPSBxdWFkSW47CitleHBvcnRzLmVhc2VRdWFk
SW5PdXQgPSBxdWFkSW5PdXQ7CitleHBvcnRzLmVhc2VRdWFkT3V0ID0gcXVhZE91dDsKK2V4cG9y
dHMuZWFzZVNpbiA9IHNpbkluT3V0OworZXhwb3J0cy5lYXNlU2luSW4gPSBzaW5JbjsKK2V4cG9y
dHMuZWFzZVNpbkluT3V0ID0gc2luSW5PdXQ7CitleHBvcnRzLmVhc2VTaW5PdXQgPSBzaW5PdXQ7
CitleHBvcnRzLmVudHJpZXMgPSBlbnRyaWVzOworZXhwb3J0cy5leHRlbnQgPSBleHRlbnQ7Citl
eHBvcnRzLmZvcmNlQ2VudGVyID0gY2VudGVyJDE7CitleHBvcnRzLmZvcmNlQ29sbGlkZSA9IGNv
bGxpZGU7CitleHBvcnRzLmZvcmNlTGluayA9IGxpbms7CitleHBvcnRzLmZvcmNlTWFueUJvZHkg
PSBtYW55Qm9keTsKK2V4cG9ydHMuZm9yY2VSYWRpYWwgPSByYWRpYWw7CitleHBvcnRzLmZvcmNl
U2ltdWxhdGlvbiA9IHNpbXVsYXRpb247CitleHBvcnRzLmZvcmNlWCA9IHgkMjsKK2V4cG9ydHMu
Zm9yY2VZID0geSQyOworZXhwb3J0cy5mb3JtYXREZWZhdWx0TG9jYWxlID0gZGVmYXVsdExvY2Fs
ZTsKK2V4cG9ydHMuZm9ybWF0TG9jYWxlID0gZm9ybWF0TG9jYWxlOworZXhwb3J0cy5mb3JtYXRT
cGVjaWZpZXIgPSBmb3JtYXRTcGVjaWZpZXI7CitleHBvcnRzLmdlb0FsYmVycyA9IGFsYmVyczsK
K2V4cG9ydHMuZ2VvQWxiZXJzVXNhID0gYWxiZXJzVXNhOworZXhwb3J0cy5nZW9BcmVhID0gYXJl
YSQxOworZXhwb3J0cy5nZW9BemltdXRoYWxFcXVhbEFyZWEgPSBhemltdXRoYWxFcXVhbEFyZWE7
CitleHBvcnRzLmdlb0F6aW11dGhhbEVxdWFsQXJlYVJhdyA9IGF6aW11dGhhbEVxdWFsQXJlYVJh
dzsKK2V4cG9ydHMuZ2VvQXppbXV0aGFsRXF1aWRpc3RhbnQgPSBhemltdXRoYWxFcXVpZGlzdGFu
dDsKK2V4cG9ydHMuZ2VvQXppbXV0aGFsRXF1aWRpc3RhbnRSYXcgPSBhemltdXRoYWxFcXVpZGlz
dGFudFJhdzsKK2V4cG9ydHMuZ2VvQm91bmRzID0gYm91bmRzOworZXhwb3J0cy5nZW9DZW50cm9p
ZCA9IGNlbnRyb2lkOworZXhwb3J0cy5nZW9DaXJjbGUgPSBjaXJjbGU7CitleHBvcnRzLmdlb0Ns
aXBBbnRpbWVyaWRpYW4gPSBjbGlwQW50aW1lcmlkaWFuOworZXhwb3J0cy5nZW9DbGlwQ2lyY2xl
ID0gY2xpcENpcmNsZTsKK2V4cG9ydHMuZ2VvQ2xpcEV4dGVudCA9IGV4dGVudCQxOworZXhwb3J0
cy5nZW9DbGlwUmVjdGFuZ2xlID0gY2xpcFJlY3RhbmdsZTsKK2V4cG9ydHMuZ2VvQ29uaWNDb25m
b3JtYWwgPSBjb25pY0NvbmZvcm1hbDsKK2V4cG9ydHMuZ2VvQ29uaWNDb25mb3JtYWxSYXcgPSBj
b25pY0NvbmZvcm1hbFJhdzsKK2V4cG9ydHMuZ2VvQ29uaWNFcXVhbEFyZWEgPSBjb25pY0VxdWFs
QXJlYTsKK2V4cG9ydHMuZ2VvQ29uaWNFcXVhbEFyZWFSYXcgPSBjb25pY0VxdWFsQXJlYVJhdzsK
K2V4cG9ydHMuZ2VvQ29uaWNFcXVpZGlzdGFudCA9IGNvbmljRXF1aWRpc3RhbnQ7CitleHBvcnRz
Lmdlb0NvbmljRXF1aWRpc3RhbnRSYXcgPSBjb25pY0VxdWlkaXN0YW50UmF3OworZXhwb3J0cy5n
ZW9Db250YWlucyA9IGNvbnRhaW5zJDE7CitleHBvcnRzLmdlb0Rpc3RhbmNlID0gZGlzdGFuY2U7
CitleHBvcnRzLmdlb0VxdWFsRWFydGggPSBlcXVhbEVhcnRoOworZXhwb3J0cy5nZW9FcXVhbEVh
cnRoUmF3ID0gZXF1YWxFYXJ0aFJhdzsKK2V4cG9ydHMuZ2VvRXF1aXJlY3Rhbmd1bGFyID0gZXF1
aXJlY3Rhbmd1bGFyOworZXhwb3J0cy5nZW9FcXVpcmVjdGFuZ3VsYXJSYXcgPSBlcXVpcmVjdGFu
Z3VsYXJSYXc7CitleHBvcnRzLmdlb0dub21vbmljID0gZ25vbW9uaWM7CitleHBvcnRzLmdlb0du
b21vbmljUmF3ID0gZ25vbW9uaWNSYXc7CitleHBvcnRzLmdlb0dyYXRpY3VsZSA9IGdyYXRpY3Vs
ZTsKK2V4cG9ydHMuZ2VvR3JhdGljdWxlMTAgPSBncmF0aWN1bGUxMDsKK2V4cG9ydHMuZ2VvSWRl
bnRpdHkgPSBpZGVudGl0eSQ1OworZXhwb3J0cy5nZW9JbnRlcnBvbGF0ZSA9IGludGVycG9sYXRl
JDE7CitleHBvcnRzLmdlb0xlbmd0aCA9IGxlbmd0aCQxOworZXhwb3J0cy5nZW9NZXJjYXRvciA9
IG1lcmNhdG9yOworZXhwb3J0cy5nZW9NZXJjYXRvclJhdyA9IG1lcmNhdG9yUmF3OworZXhwb3J0
cy5nZW9OYXR1cmFsRWFydGgxID0gbmF0dXJhbEVhcnRoMTsKK2V4cG9ydHMuZ2VvTmF0dXJhbEVh
cnRoMVJhdyA9IG5hdHVyYWxFYXJ0aDFSYXc7CitleHBvcnRzLmdlb09ydGhvZ3JhcGhpYyA9IG9y
dGhvZ3JhcGhpYzsKK2V4cG9ydHMuZ2VvT3J0aG9ncmFwaGljUmF3ID0gb3J0aG9ncmFwaGljUmF3
OworZXhwb3J0cy5nZW9QYXRoID0gaW5kZXgkMTsKK2V4cG9ydHMuZ2VvUHJvamVjdGlvbiA9IHBy
b2plY3Rpb247CitleHBvcnRzLmdlb1Byb2plY3Rpb25NdXRhdG9yID0gcHJvamVjdGlvbk11dGF0
b3I7CitleHBvcnRzLmdlb1JvdGF0aW9uID0gcm90YXRpb247CitleHBvcnRzLmdlb1N0ZXJlb2dy
YXBoaWMgPSBzdGVyZW9ncmFwaGljOworZXhwb3J0cy5nZW9TdGVyZW9ncmFwaGljUmF3ID0gc3Rl
cmVvZ3JhcGhpY1JhdzsKK2V4cG9ydHMuZ2VvU3RyZWFtID0gZ2VvU3RyZWFtOworZXhwb3J0cy5n
ZW9UcmFuc2Zvcm0gPSB0cmFuc2Zvcm07CitleHBvcnRzLmdlb1RyYW5zdmVyc2VNZXJjYXRvciA9
IHRyYW5zdmVyc2VNZXJjYXRvcjsKK2V4cG9ydHMuZ2VvVHJhbnN2ZXJzZU1lcmNhdG9yUmF3ID0g
dHJhbnN2ZXJzZU1lcmNhdG9yUmF3OworZXhwb3J0cy5ncmF5ID0gZ3JheTsKK2V4cG9ydHMuaGNs
ID0gaGNsOworZXhwb3J0cy5oaWVyYXJjaHkgPSBoaWVyYXJjaHk7CitleHBvcnRzLmhpc3RvZ3Jh
bSA9IGhpc3RvZ3JhbTsKK2V4cG9ydHMuaHNsID0gaHNsOworZXhwb3J0cy5odG1sID0gaHRtbDsK
K2V4cG9ydHMuaW1hZ2UgPSBpbWFnZTsKK2V4cG9ydHMuaW50ZXJwb2xhdGUgPSBpbnRlcnBvbGF0
ZVZhbHVlOworZXhwb3J0cy5pbnRlcnBvbGF0ZUFycmF5ID0gYXJyYXkkMTsKK2V4cG9ydHMuaW50
ZXJwb2xhdGVCYXNpcyA9IGJhc2lzJDE7CitleHBvcnRzLmludGVycG9sYXRlQmFzaXNDbG9zZWQg
PSBiYXNpc0Nsb3NlZDsKK2V4cG9ydHMuaW50ZXJwb2xhdGVCbHVlcyA9IEJsdWVzOworZXhwb3J0
cy5pbnRlcnBvbGF0ZUJyQkcgPSBCckJHOworZXhwb3J0cy5pbnRlcnBvbGF0ZUJ1R24gPSBCdUdu
OworZXhwb3J0cy5pbnRlcnBvbGF0ZUJ1UHUgPSBCdVB1OworZXhwb3J0cy5pbnRlcnBvbGF0ZUNp
dmlkaXMgPSBjaXZpZGlzOworZXhwb3J0cy5pbnRlcnBvbGF0ZUNvb2wgPSBjb29sOworZXhwb3J0
cy5pbnRlcnBvbGF0ZUN1YmVoZWxpeCA9IGN1YmVoZWxpeCQyOworZXhwb3J0cy5pbnRlcnBvbGF0
ZUN1YmVoZWxpeERlZmF1bHQgPSBjdWJlaGVsaXgkMzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVDdWJl
aGVsaXhMb25nID0gY3ViZWhlbGl4TG9uZzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVEYXRlID0gZGF0
ZTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVEaXNjcmV0ZSA9IGRpc2NyZXRlOworZXhwb3J0cy5pbnRl
cnBvbGF0ZUduQnUgPSBHbkJ1OworZXhwb3J0cy5pbnRlcnBvbGF0ZUdyZWVucyA9IEdyZWVuczsK
K2V4cG9ydHMuaW50ZXJwb2xhdGVHcmV5cyA9IEdyZXlzOworZXhwb3J0cy5pbnRlcnBvbGF0ZUhj
bCA9IGhjbCQyOworZXhwb3J0cy5pbnRlcnBvbGF0ZUhjbExvbmcgPSBoY2xMb25nOworZXhwb3J0
cy5pbnRlcnBvbGF0ZUhzbCA9IGhzbCQyOworZXhwb3J0cy5pbnRlcnBvbGF0ZUhzbExvbmcgPSBo
c2xMb25nOworZXhwb3J0cy5pbnRlcnBvbGF0ZUh1ZSA9IGh1ZSQxOworZXhwb3J0cy5pbnRlcnBv
bGF0ZUluZmVybm8gPSBpbmZlcm5vOworZXhwb3J0cy5pbnRlcnBvbGF0ZUxhYiA9IGxhYiQxOwor
ZXhwb3J0cy5pbnRlcnBvbGF0ZU1hZ21hID0gbWFnbWE7CitleHBvcnRzLmludGVycG9sYXRlTnVt
YmVyID0gaW50ZXJwb2xhdGVOdW1iZXI7CitleHBvcnRzLmludGVycG9sYXRlT2JqZWN0ID0gb2Jq
ZWN0OworZXhwb3J0cy5pbnRlcnBvbGF0ZU9yUmQgPSBPclJkOworZXhwb3J0cy5pbnRlcnBvbGF0
ZU9yYW5nZXMgPSBPcmFuZ2VzOworZXhwb3J0cy5pbnRlcnBvbGF0ZVBSR24gPSBQUkduOworZXhw
b3J0cy5pbnRlcnBvbGF0ZVBpWUcgPSBQaVlHOworZXhwb3J0cy5pbnRlcnBvbGF0ZVBsYXNtYSA9
IHBsYXNtYTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVQdUJ1ID0gUHVCdTsKK2V4cG9ydHMuaW50ZXJw
b2xhdGVQdUJ1R24gPSBQdUJ1R247CitleHBvcnRzLmludGVycG9sYXRlUHVPciA9IFB1T3I7Citl
eHBvcnRzLmludGVycG9sYXRlUHVSZCA9IFB1UmQ7CitleHBvcnRzLmludGVycG9sYXRlUHVycGxl
cyA9IFB1cnBsZXM7CitleHBvcnRzLmludGVycG9sYXRlUmFpbmJvdyA9IHJhaW5ib3c7CitleHBv
cnRzLmludGVycG9sYXRlUmRCdSA9IFJkQnU7CitleHBvcnRzLmludGVycG9sYXRlUmRHeSA9IFJk
R3k7CitleHBvcnRzLmludGVycG9sYXRlUmRQdSA9IFJkUHU7CitleHBvcnRzLmludGVycG9sYXRl
UmRZbEJ1ID0gUmRZbEJ1OworZXhwb3J0cy5pbnRlcnBvbGF0ZVJkWWxHbiA9IFJkWWxHbjsKK2V4
cG9ydHMuaW50ZXJwb2xhdGVSZWRzID0gUmVkczsKK2V4cG9ydHMuaW50ZXJwb2xhdGVSZ2IgPSBp
bnRlcnBvbGF0ZVJnYjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVSZ2JCYXNpcyA9IHJnYkJhc2lzOwor
ZXhwb3J0cy5pbnRlcnBvbGF0ZVJnYkJhc2lzQ2xvc2VkID0gcmdiQmFzaXNDbG9zZWQ7CitleHBv
cnRzLmludGVycG9sYXRlUm91bmQgPSBpbnRlcnBvbGF0ZVJvdW5kOworZXhwb3J0cy5pbnRlcnBv
bGF0ZVNpbmVib3cgPSBzaW5lYm93OworZXhwb3J0cy5pbnRlcnBvbGF0ZVNwZWN0cmFsID0gU3Bl
Y3RyYWw7CitleHBvcnRzLmludGVycG9sYXRlU3RyaW5nID0gaW50ZXJwb2xhdGVTdHJpbmc7Citl
eHBvcnRzLmludGVycG9sYXRlVHJhbnNmb3JtQ3NzID0gaW50ZXJwb2xhdGVUcmFuc2Zvcm1Dc3M7
CitleHBvcnRzLmludGVycG9sYXRlVHJhbnNmb3JtU3ZnID0gaW50ZXJwb2xhdGVUcmFuc2Zvcm1T
dmc7CitleHBvcnRzLmludGVycG9sYXRlVHVyYm8gPSB0dXJibzsKK2V4cG9ydHMuaW50ZXJwb2xh
dGVWaXJpZGlzID0gdmlyaWRpczsKK2V4cG9ydHMuaW50ZXJwb2xhdGVXYXJtID0gd2FybTsKK2V4
cG9ydHMuaW50ZXJwb2xhdGVZbEduID0gWWxHbjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVZbEduQnUg
PSBZbEduQnU7CitleHBvcnRzLmludGVycG9sYXRlWWxPckJyID0gWWxPckJyOworZXhwb3J0cy5p
bnRlcnBvbGF0ZVlsT3JSZCA9IFlsT3JSZDsKK2V4cG9ydHMuaW50ZXJwb2xhdGVab29tID0gaW50
ZXJwb2xhdGVab29tOworZXhwb3J0cy5pbnRlcnJ1cHQgPSBpbnRlcnJ1cHQ7CitleHBvcnRzLmlu
dGVydmFsID0gaW50ZXJ2YWwkMTsKK2V4cG9ydHMuaXNvRm9ybWF0ID0gZm9ybWF0SXNvOworZXhw
b3J0cy5pc29QYXJzZSA9IHBhcnNlSXNvOworZXhwb3J0cy5qc29uID0ganNvbjsKK2V4cG9ydHMu
a2V5cyA9IGtleXM7CitleHBvcnRzLmxhYiA9IGxhYjsKK2V4cG9ydHMubGNoID0gbGNoOworZXhw
b3J0cy5saW5lID0gbGluZTsKK2V4cG9ydHMubGluZVJhZGlhbCA9IGxpbmVSYWRpYWwkMTsKK2V4
cG9ydHMubGlua0hvcml6b250YWwgPSBsaW5rSG9yaXpvbnRhbDsKK2V4cG9ydHMubGlua1JhZGlh
bCA9IGxpbmtSYWRpYWw7CitleHBvcnRzLmxpbmtWZXJ0aWNhbCA9IGxpbmtWZXJ0aWNhbDsKK2V4
cG9ydHMubG9jYWwgPSBsb2NhbDsKK2V4cG9ydHMubWFwID0gbWFwJDE7CitleHBvcnRzLm1hdGNo
ZXIgPSBtYXRjaGVyOworZXhwb3J0cy5tYXggPSBtYXg7CitleHBvcnRzLm1lYW4gPSBtZWFuOwor
ZXhwb3J0cy5tZWRpYW4gPSBtZWRpYW47CitleHBvcnRzLm1lcmdlID0gbWVyZ2U7CitleHBvcnRz
Lm1pbiA9IG1pbjsKK2V4cG9ydHMubW91c2UgPSBtb3VzZTsKK2V4cG9ydHMubmFtZXNwYWNlID0g
bmFtZXNwYWNlOworZXhwb3J0cy5uYW1lc3BhY2VzID0gbmFtZXNwYWNlczsKK2V4cG9ydHMubmVz
dCA9IG5lc3Q7CitleHBvcnRzLm5vdyA9IG5vdzsKK2V4cG9ydHMucGFjayA9IGluZGV4JDI7Citl
eHBvcnRzLnBhY2tFbmNsb3NlID0gZW5jbG9zZTsKK2V4cG9ydHMucGFja1NpYmxpbmdzID0gc2li
bGluZ3M7CitleHBvcnRzLnBhaXJzID0gcGFpcnM7CitleHBvcnRzLnBhcnRpdGlvbiA9IHBhcnRp
dGlvbjsKK2V4cG9ydHMucGF0aCA9IHBhdGg7CitleHBvcnRzLnBlcm11dGUgPSBwZXJtdXRlOwor
ZXhwb3J0cy5waWUgPSBwaWU7CitleHBvcnRzLnBpZWNld2lzZSA9IHBpZWNld2lzZTsKK2V4cG9y
dHMucG9pbnRSYWRpYWwgPSBwb2ludFJhZGlhbDsKK2V4cG9ydHMucG9seWdvbkFyZWEgPSBhcmVh
JDI7CitleHBvcnRzLnBvbHlnb25DZW50cm9pZCA9IGNlbnRyb2lkJDE7CitleHBvcnRzLnBvbHln
b25Db250YWlucyA9IGNvbnRhaW5zJDI7CitleHBvcnRzLnBvbHlnb25IdWxsID0gaHVsbDsKK2V4
cG9ydHMucG9seWdvbkxlbmd0aCA9IGxlbmd0aCQyOworZXhwb3J0cy5wcmVjaXNpb25GaXhlZCA9
IHByZWNpc2lvbkZpeGVkOworZXhwb3J0cy5wcmVjaXNpb25QcmVmaXggPSBwcmVjaXNpb25QcmVm
aXg7CitleHBvcnRzLnByZWNpc2lvblJvdW5kID0gcHJlY2lzaW9uUm91bmQ7CitleHBvcnRzLnF1
YWR0cmVlID0gcXVhZHRyZWU7CitleHBvcnRzLnF1YW50aWxlID0gdGhyZXNob2xkOworZXhwb3J0
cy5xdWFudGl6ZSA9IHF1YW50aXplOworZXhwb3J0cy5yYWRpYWxBcmVhID0gYXJlYVJhZGlhbDsK
K2V4cG9ydHMucmFkaWFsTGluZSA9IGxpbmVSYWRpYWwkMTsKK2V4cG9ydHMucmFuZG9tQmF0ZXMg
PSBiYXRlczsKK2V4cG9ydHMucmFuZG9tRXhwb25lbnRpYWwgPSBleHBvbmVudGlhbCQxOworZXhw
b3J0cy5yYW5kb21JcndpbkhhbGwgPSBpcndpbkhhbGw7CitleHBvcnRzLnJhbmRvbUxvZ05vcm1h
bCA9IGxvZ05vcm1hbDsKK2V4cG9ydHMucmFuZG9tTm9ybWFsID0gbm9ybWFsOworZXhwb3J0cy5y
YW5kb21Vbmlmb3JtID0gdW5pZm9ybTsKK2V4cG9ydHMucmFuZ2UgPSBzZXF1ZW5jZTsKK2V4cG9y
dHMucmdiID0gcmdiOworZXhwb3J0cy5yaWJib24gPSByaWJib247CitleHBvcnRzLnNjYWxlQmFu
ZCA9IGJhbmQ7CitleHBvcnRzLnNjYWxlRGl2ZXJnaW5nID0gZGl2ZXJnaW5nOworZXhwb3J0cy5z
Y2FsZURpdmVyZ2luZ0xvZyA9IGRpdmVyZ2luZ0xvZzsKK2V4cG9ydHMuc2NhbGVEaXZlcmdpbmdQ
b3cgPSBkaXZlcmdpbmdQb3c7CitleHBvcnRzLnNjYWxlRGl2ZXJnaW5nU3FydCA9IGRpdmVyZ2lu
Z1NxcnQ7CitleHBvcnRzLnNjYWxlRGl2ZXJnaW5nU3ltbG9nID0gZGl2ZXJnaW5nU3ltbG9nOwor
ZXhwb3J0cy5zY2FsZUlkZW50aXR5ID0gaWRlbnRpdHkkNzsKK2V4cG9ydHMuc2NhbGVJbXBsaWNp
dCA9IGltcGxpY2l0OworZXhwb3J0cy5zY2FsZUxpbmVhciA9IGxpbmVhciQyOworZXhwb3J0cy5z
Y2FsZUxvZyA9IGxvZyQxOworZXhwb3J0cy5zY2FsZU9yZGluYWwgPSBvcmRpbmFsOworZXhwb3J0
cy5zY2FsZVBvaW50ID0gcG9pbnQkMTsKK2V4cG9ydHMuc2NhbGVQb3cgPSBwb3ckMTsKK2V4cG9y
dHMuc2NhbGVRdWFudGlsZSA9IHF1YW50aWxlOworZXhwb3J0cy5zY2FsZVF1YW50aXplID0gcXVh
bnRpemUkMTsKK2V4cG9ydHMuc2NhbGVTZXF1ZW50aWFsID0gc2VxdWVudGlhbDsKK2V4cG9ydHMu
c2NhbGVTZXF1ZW50aWFsTG9nID0gc2VxdWVudGlhbExvZzsKK2V4cG9ydHMuc2NhbGVTZXF1ZW50
aWFsUG93ID0gc2VxdWVudGlhbFBvdzsKK2V4cG9ydHMuc2NhbGVTZXF1ZW50aWFsUXVhbnRpbGUg
PSBzZXF1ZW50aWFsUXVhbnRpbGU7CitleHBvcnRzLnNjYWxlU2VxdWVudGlhbFNxcnQgPSBzZXF1
ZW50aWFsU3FydDsKK2V4cG9ydHMuc2NhbGVTZXF1ZW50aWFsU3ltbG9nID0gc2VxdWVudGlhbFN5
bWxvZzsKK2V4cG9ydHMuc2NhbGVTcXJ0ID0gc3FydCQxOworZXhwb3J0cy5zY2FsZVN5bWxvZyA9
IHN5bWxvZzsKK2V4cG9ydHMuc2NhbGVUaHJlc2hvbGQgPSB0aHJlc2hvbGQkMTsKK2V4cG9ydHMu
c2NhbGVUaW1lID0gdGltZTsKK2V4cG9ydHMuc2NhbGVVdGMgPSB1dGNUaW1lOworZXhwb3J0cy5z
Y2FuID0gc2NhbjsKK2V4cG9ydHMuc2NoZW1lQWNjZW50ID0gQWNjZW50OworZXhwb3J0cy5zY2hl
bWVCbHVlcyA9IHNjaGVtZSRsOworZXhwb3J0cy5zY2hlbWVCckJHID0gc2NoZW1lOworZXhwb3J0
cy5zY2hlbWVCdUduID0gc2NoZW1lJDk7CitleHBvcnRzLnNjaGVtZUJ1UHUgPSBzY2hlbWUkYTsK
K2V4cG9ydHMuc2NoZW1lQ2F0ZWdvcnkxMCA9IGNhdGVnb3J5MTA7CitleHBvcnRzLnNjaGVtZURh
cmsyID0gRGFyazI7CitleHBvcnRzLnNjaGVtZUduQnUgPSBzY2hlbWUkYjsKK2V4cG9ydHMuc2No
ZW1lR3JlZW5zID0gc2NoZW1lJG07CitleHBvcnRzLnNjaGVtZUdyZXlzID0gc2NoZW1lJG47Citl
eHBvcnRzLnNjaGVtZU9yUmQgPSBzY2hlbWUkYzsKK2V4cG9ydHMuc2NoZW1lT3JhbmdlcyA9IHNj
aGVtZSRxOworZXhwb3J0cy5zY2hlbWVQUkduID0gc2NoZW1lJDE7CitleHBvcnRzLnNjaGVtZVBh
aXJlZCA9IFBhaXJlZDsKK2V4cG9ydHMuc2NoZW1lUGFzdGVsMSA9IFBhc3RlbDE7CitleHBvcnRz
LnNjaGVtZVBhc3RlbDIgPSBQYXN0ZWwyOworZXhwb3J0cy5zY2hlbWVQaVlHID0gc2NoZW1lJDI7
CitleHBvcnRzLnNjaGVtZVB1QnUgPSBzY2hlbWUkZTsKK2V4cG9ydHMuc2NoZW1lUHVCdUduID0g
c2NoZW1lJGQ7CitleHBvcnRzLnNjaGVtZVB1T3IgPSBzY2hlbWUkMzsKK2V4cG9ydHMuc2NoZW1l
UHVSZCA9IHNjaGVtZSRmOworZXhwb3J0cy5zY2hlbWVQdXJwbGVzID0gc2NoZW1lJG87CitleHBv
cnRzLnNjaGVtZVJkQnUgPSBzY2hlbWUkNDsKK2V4cG9ydHMuc2NoZW1lUmRHeSA9IHNjaGVtZSQ1
OworZXhwb3J0cy5zY2hlbWVSZFB1ID0gc2NoZW1lJGc7CitleHBvcnRzLnNjaGVtZVJkWWxCdSA9
IHNjaGVtZSQ2OworZXhwb3J0cy5zY2hlbWVSZFlsR24gPSBzY2hlbWUkNzsKK2V4cG9ydHMuc2No
ZW1lUmVkcyA9IHNjaGVtZSRwOworZXhwb3J0cy5zY2hlbWVTZXQxID0gU2V0MTsKK2V4cG9ydHMu
c2NoZW1lU2V0MiA9IFNldDI7CitleHBvcnRzLnNjaGVtZVNldDMgPSBTZXQzOworZXhwb3J0cy5z
Y2hlbWVTcGVjdHJhbCA9IHNjaGVtZSQ4OworZXhwb3J0cy5zY2hlbWVUYWJsZWF1MTAgPSBUYWJs
ZWF1MTA7CitleHBvcnRzLnNjaGVtZVlsR24gPSBzY2hlbWUkaTsKK2V4cG9ydHMuc2NoZW1lWWxH
bkJ1ID0gc2NoZW1lJGg7CitleHBvcnRzLnNjaGVtZVlsT3JCciA9IHNjaGVtZSRqOworZXhwb3J0
cy5zY2hlbWVZbE9yUmQgPSBzY2hlbWUkazsKK2V4cG9ydHMuc2VsZWN0ID0gc2VsZWN0OworZXhw
b3J0cy5zZWxlY3RBbGwgPSBzZWxlY3RBbGw7CitleHBvcnRzLnNlbGVjdGlvbiA9IHNlbGVjdGlv
bjsKK2V4cG9ydHMuc2VsZWN0b3IgPSBzZWxlY3RvcjsKK2V4cG9ydHMuc2VsZWN0b3JBbGwgPSBz
ZWxlY3RvckFsbDsKK2V4cG9ydHMuc2V0ID0gc2V0JDI7CitleHBvcnRzLnNodWZmbGUgPSBzaHVm
ZmxlOworZXhwb3J0cy5zdGFjayA9IHN0YWNrOworZXhwb3J0cy5zdGFja09mZnNldERpdmVyZ2lu
ZyA9IGRpdmVyZ2luZyQxOworZXhwb3J0cy5zdGFja09mZnNldEV4cGFuZCA9IGV4cGFuZDsKK2V4
cG9ydHMuc3RhY2tPZmZzZXROb25lID0gbm9uZSQxOworZXhwb3J0cy5zdGFja09mZnNldFNpbGhv
dWV0dGUgPSBzaWxob3VldHRlOworZXhwb3J0cy5zdGFja09mZnNldFdpZ2dsZSA9IHdpZ2dsZTsK
K2V4cG9ydHMuc3RhY2tPcmRlckFwcGVhcmFuY2UgPSBhcHBlYXJhbmNlOworZXhwb3J0cy5zdGFj
a09yZGVyQXNjZW5kaW5nID0gYXNjZW5kaW5nJDM7CitleHBvcnRzLnN0YWNrT3JkZXJEZXNjZW5k
aW5nID0gZGVzY2VuZGluZyQyOworZXhwb3J0cy5zdGFja09yZGVySW5zaWRlT3V0ID0gaW5zaWRl
T3V0OworZXhwb3J0cy5zdGFja09yZGVyTm9uZSA9IG5vbmUkMjsKK2V4cG9ydHMuc3RhY2tPcmRl
clJldmVyc2UgPSByZXZlcnNlOworZXhwb3J0cy5zdHJhdGlmeSA9IHN0cmF0aWZ5OworZXhwb3J0
cy5zdHlsZSA9IHN0eWxlVmFsdWU7CitleHBvcnRzLnN1bSA9IHN1bTsKK2V4cG9ydHMuc3ZnID0g
c3ZnOworZXhwb3J0cy5zeW1ib2wgPSBzeW1ib2w7CitleHBvcnRzLnN5bWJvbENpcmNsZSA9IGNp
cmNsZSQyOworZXhwb3J0cy5zeW1ib2xDcm9zcyA9IGNyb3NzJDI7CitleHBvcnRzLnN5bWJvbERp
YW1vbmQgPSBkaWFtb25kOworZXhwb3J0cy5zeW1ib2xTcXVhcmUgPSBzcXVhcmU7CitleHBvcnRz
LnN5bWJvbFN0YXIgPSBzdGFyOworZXhwb3J0cy5zeW1ib2xUcmlhbmdsZSA9IHRyaWFuZ2xlOwor
ZXhwb3J0cy5zeW1ib2xXeWUgPSB3eWU7CitleHBvcnRzLnN5bWJvbHMgPSBzeW1ib2xzOworZXhw
b3J0cy50ZXh0ID0gdGV4dDsKK2V4cG9ydHMudGhyZXNob2xkRnJlZWRtYW5EaWFjb25pcyA9IGZy
ZWVkbWFuRGlhY29uaXM7CitleHBvcnRzLnRocmVzaG9sZFNjb3R0ID0gc2NvdHQ7CitleHBvcnRz
LnRocmVzaG9sZFN0dXJnZXMgPSB0aHJlc2hvbGRTdHVyZ2VzOworZXhwb3J0cy50aWNrRm9ybWF0
ID0gdGlja0Zvcm1hdDsKK2V4cG9ydHMudGlja0luY3JlbWVudCA9IHRpY2tJbmNyZW1lbnQ7Citl
eHBvcnRzLnRpY2tTdGVwID0gdGlja1N0ZXA7CitleHBvcnRzLnRpY2tzID0gdGlja3M7CitleHBv
cnRzLnRpbWVEYXkgPSBkYXk7CitleHBvcnRzLnRpbWVEYXlzID0gZGF5czsKK2V4cG9ydHMudGlt
ZUZvcm1hdERlZmF1bHRMb2NhbGUgPSBkZWZhdWx0TG9jYWxlJDE7CitleHBvcnRzLnRpbWVGb3Jt
YXRMb2NhbGUgPSBmb3JtYXRMb2NhbGUkMTsKK2V4cG9ydHMudGltZUZyaWRheSA9IGZyaWRheTsK
K2V4cG9ydHMudGltZUZyaWRheXMgPSBmcmlkYXlzOworZXhwb3J0cy50aW1lSG91ciA9IGhvdXI7
CitleHBvcnRzLnRpbWVIb3VycyA9IGhvdXJzOworZXhwb3J0cy50aW1lSW50ZXJ2YWwgPSBuZXdJ
bnRlcnZhbDsKK2V4cG9ydHMudGltZU1pbGxpc2Vjb25kID0gbWlsbGlzZWNvbmQ7CitleHBvcnRz
LnRpbWVNaWxsaXNlY29uZHMgPSBtaWxsaXNlY29uZHM7CitleHBvcnRzLnRpbWVNaW51dGUgPSBt
aW51dGU7CitleHBvcnRzLnRpbWVNaW51dGVzID0gbWludXRlczsKK2V4cG9ydHMudGltZU1vbmRh
eSA9IG1vbmRheTsKK2V4cG9ydHMudGltZU1vbmRheXMgPSBtb25kYXlzOworZXhwb3J0cy50aW1l
TW9udGggPSBtb250aDsKK2V4cG9ydHMudGltZU1vbnRocyA9IG1vbnRoczsKK2V4cG9ydHMudGlt
ZVNhdHVyZGF5ID0gc2F0dXJkYXk7CitleHBvcnRzLnRpbWVTYXR1cmRheXMgPSBzYXR1cmRheXM7
CitleHBvcnRzLnRpbWVTZWNvbmQgPSBzZWNvbmQ7CitleHBvcnRzLnRpbWVTZWNvbmRzID0gc2Vj
b25kczsKK2V4cG9ydHMudGltZVN1bmRheSA9IHN1bmRheTsKK2V4cG9ydHMudGltZVN1bmRheXMg
PSBzdW5kYXlzOworZXhwb3J0cy50aW1lVGh1cnNkYXkgPSB0aHVyc2RheTsKK2V4cG9ydHMudGlt
ZVRodXJzZGF5cyA9IHRodXJzZGF5czsKK2V4cG9ydHMudGltZVR1ZXNkYXkgPSB0dWVzZGF5Owor
ZXhwb3J0cy50aW1lVHVlc2RheXMgPSB0dWVzZGF5czsKK2V4cG9ydHMudGltZVdlZG5lc2RheSA9
IHdlZG5lc2RheTsKK2V4cG9ydHMudGltZVdlZG5lc2RheXMgPSB3ZWRuZXNkYXlzOworZXhwb3J0
cy50aW1lV2VlayA9IHN1bmRheTsKK2V4cG9ydHMudGltZVdlZWtzID0gc3VuZGF5czsKK2V4cG9y
dHMudGltZVllYXIgPSB5ZWFyOworZXhwb3J0cy50aW1lWWVhcnMgPSB5ZWFyczsKK2V4cG9ydHMu
dGltZW91dCA9IHRpbWVvdXQkMTsKK2V4cG9ydHMudGltZXIgPSB0aW1lcjsKK2V4cG9ydHMudGlt
ZXJGbHVzaCA9IHRpbWVyRmx1c2g7CitleHBvcnRzLnRvdWNoID0gdG91Y2g7CitleHBvcnRzLnRv
dWNoZXMgPSB0b3VjaGVzOworZXhwb3J0cy50cmFuc2l0aW9uID0gdHJhbnNpdGlvbjsKK2V4cG9y
dHMudHJhbnNwb3NlID0gdHJhbnNwb3NlOworZXhwb3J0cy50cmVlID0gdHJlZTsKK2V4cG9ydHMu
dHJlZW1hcCA9IGluZGV4JDM7CitleHBvcnRzLnRyZWVtYXBCaW5hcnkgPSBiaW5hcnk7CitleHBv
cnRzLnRyZWVtYXBEaWNlID0gdHJlZW1hcERpY2U7CitleHBvcnRzLnRyZWVtYXBSZXNxdWFyaWZ5
ID0gcmVzcXVhcmlmeTsKK2V4cG9ydHMudHJlZW1hcFNsaWNlID0gdHJlZW1hcFNsaWNlOworZXhw
b3J0cy50cmVlbWFwU2xpY2VEaWNlID0gc2xpY2VEaWNlOworZXhwb3J0cy50cmVlbWFwU3F1YXJp
ZnkgPSBzcXVhcmlmeTsKK2V4cG9ydHMudHN2ID0gdHN2JDE7CitleHBvcnRzLnRzdkZvcm1hdCA9
IHRzdkZvcm1hdDsKK2V4cG9ydHMudHN2Rm9ybWF0Qm9keSA9IHRzdkZvcm1hdEJvZHk7CitleHBv
cnRzLnRzdkZvcm1hdFJvdyA9IHRzdkZvcm1hdFJvdzsKK2V4cG9ydHMudHN2Rm9ybWF0Um93cyA9
IHRzdkZvcm1hdFJvd3M7CitleHBvcnRzLnRzdkZvcm1hdFZhbHVlID0gdHN2Rm9ybWF0VmFsdWU7
CitleHBvcnRzLnRzdlBhcnNlID0gdHN2UGFyc2U7CitleHBvcnRzLnRzdlBhcnNlUm93cyA9IHRz
dlBhcnNlUm93czsKK2V4cG9ydHMudXRjRGF5ID0gdXRjRGF5OworZXhwb3J0cy51dGNEYXlzID0g
dXRjRGF5czsKK2V4cG9ydHMudXRjRnJpZGF5ID0gdXRjRnJpZGF5OworZXhwb3J0cy51dGNGcmlk
YXlzID0gdXRjRnJpZGF5czsKK2V4cG9ydHMudXRjSG91ciA9IHV0Y0hvdXI7CitleHBvcnRzLnV0
Y0hvdXJzID0gdXRjSG91cnM7CitleHBvcnRzLnV0Y01pbGxpc2Vjb25kID0gbWlsbGlzZWNvbmQ7
CitleHBvcnRzLnV0Y01pbGxpc2Vjb25kcyA9IG1pbGxpc2Vjb25kczsKK2V4cG9ydHMudXRjTWlu
dXRlID0gdXRjTWludXRlOworZXhwb3J0cy51dGNNaW51dGVzID0gdXRjTWludXRlczsKK2V4cG9y
dHMudXRjTW9uZGF5ID0gdXRjTW9uZGF5OworZXhwb3J0cy51dGNNb25kYXlzID0gdXRjTW9uZGF5
czsKK2V4cG9ydHMudXRjTW9udGggPSB1dGNNb250aDsKK2V4cG9ydHMudXRjTW9udGhzID0gdXRj
TW9udGhzOworZXhwb3J0cy51dGNTYXR1cmRheSA9IHV0Y1NhdHVyZGF5OworZXhwb3J0cy51dGNT
YXR1cmRheXMgPSB1dGNTYXR1cmRheXM7CitleHBvcnRzLnV0Y1NlY29uZCA9IHNlY29uZDsKK2V4
cG9ydHMudXRjU2Vjb25kcyA9IHNlY29uZHM7CitleHBvcnRzLnV0Y1N1bmRheSA9IHV0Y1N1bmRh
eTsKK2V4cG9ydHMudXRjU3VuZGF5cyA9IHV0Y1N1bmRheXM7CitleHBvcnRzLnV0Y1RodXJzZGF5
ID0gdXRjVGh1cnNkYXk7CitleHBvcnRzLnV0Y1RodXJzZGF5cyA9IHV0Y1RodXJzZGF5czsKK2V4
cG9ydHMudXRjVHVlc2RheSA9IHV0Y1R1ZXNkYXk7CitleHBvcnRzLnV0Y1R1ZXNkYXlzID0gdXRj
VHVlc2RheXM7CitleHBvcnRzLnV0Y1dlZG5lc2RheSA9IHV0Y1dlZG5lc2RheTsKK2V4cG9ydHMu
dXRjV2VkbmVzZGF5cyA9IHV0Y1dlZG5lc2RheXM7CitleHBvcnRzLnV0Y1dlZWsgPSB1dGNTdW5k
YXk7CitleHBvcnRzLnV0Y1dlZWtzID0gdXRjU3VuZGF5czsKK2V4cG9ydHMudXRjWWVhciA9IHV0
Y1llYXI7CitleHBvcnRzLnV0Y1llYXJzID0gdXRjWWVhcnM7CitleHBvcnRzLnZhbHVlcyA9IHZh
bHVlczsKK2V4cG9ydHMudmFyaWFuY2UgPSB2YXJpYW5jZTsKK2V4cG9ydHMudmVyc2lvbiA9IHZl
cnNpb247CitleHBvcnRzLnZvcm9ub2kgPSB2b3Jvbm9pOworZXhwb3J0cy53aW5kb3cgPSBkZWZh
dWx0VmlldzsKK2V4cG9ydHMueG1sID0geG1sOworZXhwb3J0cy56aXAgPSB6aXA7CitleHBvcnRz
Lnpvb20gPSB6b29tOworZXhwb3J0cy56b29tSWRlbnRpdHkgPSBpZGVudGl0eSQ5OworZXhwb3J0
cy56b29tVHJhbnNmb3JtID0gdHJhbnNmb3JtJDE7CisKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShl
eHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7CisKK30pKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdlcy9HU3RyZWFtZXIu
c3ZnIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2VzL0dTdHJlYW1l
ci5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDI4ODljOWEwMDU1ZjYzMjk3NjY1MmIyZjQyMDcyYjgyMjllZWVl
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0ltYWdlcy9HU3RyZWFtZXIuc3ZnCkBAIC0wLDAgKzEsNzMgQEAKKzw/eG1sIHZlcnNpb249IjEu
MCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgorPCEtLSBHZW5lcmF0b3I6IEFk
b2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246
IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KKworPHN2ZworICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJs
Lm9yZy9kYy9lbGVtZW50cy8xLjEvIgorICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1v
bnMub3JnL25zIyIKKyAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1y
ZGYtc3ludGF4LW5zIyIKKyAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
CisgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCisgICB4bWxuczpzb2RpcG9k
aT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCisg
ICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtz
Y2FwZSIKKyAgIHZlcnNpb249IjEuMCIKKyAgIGlkPSJMYXllcl8xIgorICAgd2lkdGg9IjE1Ny4y
Nzk4MiIKKyAgIGhlaWdodD0iNzQuODY5Njc1IgorICAgdmlld0JveD0iMCAwIDgzLjE1NjUwOSAz
My43NzUzMjEiCisgICBvdmVyZmxvdz0idmlzaWJsZSIKKyAgIGVuYWJsZS1iYWNrZ3JvdW5kPSJu
ZXcgMCAwIDI4MC4yMiA2OS4zODciCisgICB4bWw6c3BhY2U9InByZXNlcnZlIgorICAgc29kaXBv
ZGk6dmVyc2lvbj0iMC4zMiIKKyAgIGlua3NjYXBlOnZlcnNpb249IjAuOTIuNCAoNWRhNjg5YzMx
MywgMjAxOS0wMS0xNCkiCisgICBzb2RpcG9kaTpkb2NuYW1lPSJHU3RyZWFtZXIuc3ZnIgorICAg
aW5rc2NhcGU6b3V0cHV0X2V4dGVuc2lvbj0ib3JnLmlua3NjYXBlLm91dHB1dC5zdmcuaW5rc2Nh
cGUiCisgICBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZSI+PG1ldGFkYXRhCisgICBpZD0ibWV0YWRh
dGEzMCI+PHJkZjpSREY+PGNjOldvcmsKKyAgICAgICByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5p
bWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUKKyAgICAgICAgIHJkZjpyZXNvdXJjZT0i
aHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PGRjOnRpdGxlPjwvZGM6
dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzCisgICBpZD0iZGVmczI4
Ij48aW5rc2NhcGU6cGVyc3BlY3RpdmUKKyAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVy
c3AzZCIKKyAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDM0LjY5MzUgOiAxIgorICAgICBpbmtzY2Fw
ZTp2cF95PSIwIDogOTk5Ljk5OTk5IDogMCIKKyAgICAgaW5rc2NhcGU6dnBfej0iMjgwLjIyIDog
MzQuNjkzNSA6IDEiCisgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIxNDAuMTEgOiAyMy4x
MjkgOiAxIgorICAgICBpZD0icGVyc3BlY3RpdmUzMiIgLz48L2RlZnM+PHNvZGlwb2RpOm5hbWVk
dmlldworICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iOTY4IgorICAgaW5rc2NhcGU6d2luZG93
LXdpZHRoPSIxMjgwIgorICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKKyAgIGlua3NjYXBlOnBh
Z2VvcGFjaXR5PSIwLjAiCisgICBndWlkZXRvbGVyYW5jZT0iMTAuMCIKKyAgIGdyaWR0b2xlcmFu
Y2U9IjEwLjAiCisgICBvYmplY3R0b2xlcmFuY2U9IjEwLjAiCisgICBib3JkZXJvcGFjaXR5PSIx
LjAiCisgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKKyAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKKyAg
IGlkPSJiYXNlIgorICAgc2hvd2dyaWQ9ImZhbHNlIgorICAgaW5rc2NhcGU6em9vbT0iMS4wNTAz
MzgiCisgICBpbmtzY2FwZTpjeD0iMTI0LjY2MTczIgorICAgaW5rc2NhcGU6Y3k9IjguODM2Njc4
NiIKKyAgIGlua3NjYXBlOndpbmRvdy14PSI1MjIiCisgICBpbmtzY2FwZTp3aW5kb3cteT0iNjAi
CisgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJMYXllcl8xIgorICAgZml0LW1hcmdpbi10b3A9
IjAiCisgICBmaXQtbWFyZ2luLWxlZnQ9IjAiCisgICBmaXQtbWFyZ2luLXJpZ2h0PSIwIgorICAg
Zml0LW1hcmdpbi1ib3R0b209IjAiCisgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIiAv
PgorPGcKKyAgIGlkPSJnMzczOSIKKyAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03LjkzMDc1Niwt
Ny45MzEwMjkzKSI+PHBhdGgKKyAgICAgaWQ9InBhdGgyMSIKKyAgICAgZD0ibSA1Mi40MDM3ODUs
Ni44NjgxNDM3IGMgLTUuMTAyODQzLDAgLTEyLjU2ODg5OSwtNC4xNTc1NTc2IC0xOS44NDUzMzMs
LTQuMTU3NTU3NiAtNy4yNzY0MzMsMCAtMTEuNjIyNjcxLDQuMTU3NTU3NiAtMTIuMzc5Mjc2LDQu
NzI0NTQwMiAtMC43NTU2NjMsMC41NjY5ODI1IC0xLjIyOTI0OSwyLjczOTYyOTcgMS4wMzk2MjUs
Mi4wNzgzMDcxIDIuMjY4ODc0LC0wLjY2MTMyMjQgNC4xNTc1NTgsLTAuNjYxMzIyNCA3Ljc0OTA3
NiwtMC42NjEzMjI0IDMuNTkxNTE5LDAgMTIuMTkwNTk3LDQuOTE0MTYzIDIwLjg4NDk1OCw0Ljkx
NDE2MyA4LjY5NDM2MiwwIDE1Ljk2OTg1MiwtNi43MDg1MDcyIDE3LjU3NjQ2LC05LjA3MTcyMDcg
MS42MDY2MDcsLTIuMzYzMjEzNCAwLjA5NDM0LC0zLjExODg3NTcgLTEuMTMzOTY2LC0yLjU1MDk0
OTggLTEuMjI5MjQ4LDAuNTY2OTgyNiAtOS4xNjYwNiw0LjcyNDU0MDIgLTEzLjg5MTU0NCw0Ljcy
NDU0MDIgeiIKKyAgICAgc3R5bGU9ImZpbGw6I2ZmMzEzMTtzdHJva2Utd2lkdGg6MC45NDMzOTg1
OSIKKyAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz48cGF0aAorICAgICBp
ZD0icGF0aDIzIgorICAgICBkPSJtIDc0LjU3MTc2NSwxOS44MTM0NTkgYyAtNS4zNjEzMzQsMCAt
MTMuMjA0NzUsLTQuMTU2NjE0IC0yMC44NDkxMDksLTQuMTU2NjE0IC03LjY0NDM1OSwwIC0xMi4y
MTEzNTEsNC4xNTY2MTQgLTEzLjAwNTY5Myw0LjcyNDU0IC0wLjc5NDM0MSwwLjU2NzkyNiAtMS4y
OTE1MTIsMi43Mzk2MyAxLjA5MTUxMiwyLjA3ODMwNyAyLjM4MzAyNSwtMC42NjEzMjIgNC4zNjc5
MzYsLTAuNjYxMzIyIDguMTQwNTg3LC0wLjY2MTMyMiAzLjc3MjY1MSwwIDEyLjgwNzU3OSw0Ljkx
NDE2MyAyMS45NDA2MjEsNC45MTQxNjMgOS4xMzMwNDIsMCAxNi43NzgzNDQsLTYuNzA4NTA3IDE4
LjQ2NjA4NCwtOS4wNzA3NzcgMS42ODc3NCwtMi4zNjMyMTQgMC4wOTkwNiwtMy4xMTk4MTkgLTEu
MTkxNTEyLC0yLjU1MTg5MyAtMS4yOTA1NjksMC41Njc5MjUgLTkuNjI4MzI2LDQuNzIzNTk2IC0x
NC41OTI0OSw0LjcyMzU5NiB6IgorICAgICBzdHlsZT0iZmlsbDojMzE5ODMxO3N0cm9rZS13aWR0
aDowLjk0MzM5ODU5IgorICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPjxw
YXRoCisgICAgIGlkPSJwYXRoMjUiCisgICAgIGQ9Im0gNDMuNzE5ODAxLDM0LjA5ODQwMSBjIC01
LjU1OTQ0OCwwIC0xMy42OTM0MzEsLTQuNDkxNTIxIC0yMS42MjA4MDksLTQuNDkxNTIxIC03Ljky
NzM3OSwwIC0xMi42NjQxODI5LDQuNDkxNTIxIC0xMy40ODc3Njk5LDUuMTAzNzg3IC0wLjgyMzU4
NywwLjYxMjI2NSAtMS4zMzg2ODI2LDIuOTU5NDQxIDEuMTMyMDc4MywyLjI0NDM0NSAyLjQ3MTcw
NDYsLTAuNzE0MTUzIDQuNTMwMTk5NiwtMC43MTQxNTMgOC40NDI0NzM2LC0wLjcxNDE1MyAzLjkx
MjI3NCwwIDEzLjI4MjEwOSw1LjMwNzU2MSAyMi43NTQ3NzUsNS4zMDc1NjEgOS40NzE3MjIsMCAx
Ny4zOTkxLC03LjI0NjI0NSAxOS4xNTAwNDgsLTkuNzk4MTM4IDEuNzUwOTQ4LC0yLjU1MTg5MyAw
LjEwMjgzLC0zLjM2NzkzMyAtMS4yMzU4NTIsLTIuNzU1NjY4IC0xLjMzODY4MywwLjYxMjI2NiAt
OS45ODY4MTgsNS4xMDM3ODcgLTE1LjEzNDk0NCw1LjEwMzc4NyB6IgorICAgICBzdHlsZT0iZmls
bDojMzIzMmNjO3N0cm9rZS13aWR0aDowLjk0MzM5ODU5IgorICAgICBpbmtzY2FwZTpjb25uZWN0
b3ItY3VydmF0dXJlPSIwIiAvPjwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCmluZGV4IGM4MjZkNTFmOTE3N2VkZTRkOWI5NTZiOTdj
NTFkNDk4MDYwZWU3MGMuLjFiNjgyNTMwYWNhZTZkMWJmMDhiODYyYWIxYjQ1YWY2NjY4MmZiZmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRt
bAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKQEAg
LTEwOSw2ICsxMDksNyBAQAogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3Mv
Rm9udFJlc291cmNlQ29udGVudFZpZXcuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9IlZpZXdzL0Zvcm1hdHRlZFZhbHVlLmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSJWaWV3cy9HYXVnZUNoYXJ0LmNzcyI+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSJWaWV3cy9HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5jc3MiPgogICAgIDxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvR2VuZXJhbFN0eWxlRGV0YWlsc1NpZGViYXJQ
YW5lbC5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvR29Ub0xp
bmVEaWFsb2cuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0dy
YWRpZW50RWRpdG9yLmNzcyI+CkBAIC0yODMsNiArMjg0LDggQEAKICAgICA8c2NyaXB0IHNyYz0i
RXh0ZXJuYWwvdGhyZWUuanMvdGhyZWUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJF
eHRlcm5hbC90aHJlZS5qcy9PcmJpdENvbnRyb2xzLmpzIj48L3NjcmlwdD4KIAorICAgIDxzY3Jp
cHQgc3JjPSJFeHRlcm5hbC9kMy5qcy9kMy5qcyI+PC9zY3JpcHQ+CisKICAgICA8c2NyaXB0IHNy
Yz0iQmFzZS9XZWJJbnNwZWN0b3IuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJCYXNl
L1BsYXRmb3JtLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQmFzZS9EZWJvdW5jZXIu
anMiPjwvc2NyaXB0PgpAQCAtMzM2LDYgKzMzOSw3IEBACiAgICAgPHNjcmlwdCBzcmM9IlByb3Rv
Y29sL0RPTVN0b3JhZ2VPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlBy
b3RvY29sL0RhdGFiYXNlT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQ
cm90b2NvbC9EZWJ1Z2dlck9ic2VydmVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
UHJvdG9jb2wvR1N0cmVhbWVyT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3Jj
PSJQcm90b2NvbC9IZWFwT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQ
cm90b2NvbC9JbnNwZWN0b3JPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9
IlByb3RvY29sL0xheWVyVHJlZU9ic2VydmVyLmpzIj48L3NjcmlwdD4KQEAgLTQ5Miw2ICs0OTYs
OCBAQAogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQXVkaXRUZXN0Q2FzZVJlc3VsdC5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9BdWRpdFRlc3RHcm91cFJlc3VsdC5qcyI+
PC9zY3JpcHQ+CiAKKyAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpz
Ij48L3NjcmlwdD4KKwogICAgIDxzY3JpcHQgc3JjPSJQcm94aWVzL0Zvcm1hdHRlcldvcmtlclBy
b3h5LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJveGllcy9IZWFwU25hcHNob3RE
aWZmUHJveHkuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm94aWVzL0hlYXBTbmFw
c2hvdEVkZ2VQcm94eS5qcyI+PC9zY3JpcHQ+CkBAIC01NjksNiArNTc1LDcgQEAKICAgICA8c2Ny
aXB0IHNyYz0iVmlld3MvQ2FudmFzVGFiQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJWaWV3cy9Db25zb2xlVGFiQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgc3JjPSJWaWV3cy9FbGVtZW50c1RhYkNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4K
KyAgICA8c2NyaXB0IHNyYz0iVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9MYXllcnNUYWJDb250ZW50Vmlldy5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1Jlc291cmNlVHJlZUVsZW1lbnQuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9TY3JpcHRUcmVlRWxlbWVudC5qcyI+PC9z
Y3JpcHQ+CkBAIC01ODQsNiArNTkxLDkgQEAKICAgICA8c2NyaXB0IHNyYz0iVmlld3MvRGV0YWls
c1NlY3Rpb25TaW1wbGVSb3cuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9E
ZXRhaWxzU2VjdGlvblRleHRSb3cuanMiPjwvc2NyaXB0PgogCisgICAgPHNjcmlwdCBzcmM9IlZp
ZXdzL0dTdHJlYW1lclNpZGViYXJQYW5lbC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
IlZpZXdzL0dTdHJlYW1lclZpZXcuanMiPjwvc2NyaXB0PgorCiAgICAgPHNjcmlwdCBzcmM9IlZp
ZXdzL1NldHRpbmdFZGl0b3IuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9T
ZXR0aW5nc0dyb3VwLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvU2V0dGlu
Z3NWaWV3LmpzIj48L3NjcmlwdD4KQEAgLTg4MCw2ICs4OTAsNyBAQAogICAgIDxzY3JpcHQgc3Jj
PSJDb250cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSJDb250cm9sbGVycy9EcmFnVG9BZGp1c3RDb250cm9sbGVyLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRm9ybWF0dGVyU291cmNlTWFwLmpzIj48L3Njcmlw
dD4KKyAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvR1N0cmVhbWVyTWFuYWdlci5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0hBUkJ1aWxkZXIuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9IZWFwTWFuYWdlci5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0luZGV4ZWREQk1hbmFnZXIuanMiPjwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlM2Q5Y2M2
MGE2YmRiMjI1YWJkMGM1YTQxNGJhZWNmY2VmNDZjNWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvR1N0cmVhbWVyUGlwZWxpbmUu
anMKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMu
TAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl
CisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwg
Qm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworV0kuR1N0cmVhbWVyUGlwZWxpbmUg
PSBjbGFzcyBHU3RyZWFtZXJQaXBlbGluZQoreworICAgIGNvbnN0cnVjdG9yKG5hbWUsIHBhcmVu
dEJpbk5hbWUsIGJpbk5hbWUsIGRvdERhdGEsIHN2Z0RvY3VtZW50KQorICAgIHsKKyAgICAgICAg
dGhpcy5fbmFtZSA9IG5hbWU7CisgICAgICAgIHRoaXMuX3BhcmVudEJpbk5hbWUgPSBwYXJlbnRC
aW5OYW1lOworICAgICAgICB0aGlzLl9iaW5OYW1lID0gYmluTmFtZTsKKyAgICAgICAgdGhpcy5f
ZG90RGF0YSA9IGRvdERhdGE7CisgICAgICAgIHRoaXMuX3N2Z0RvY3VtZW50ID0gc3ZnRG9jdW1l
bnQ7CisgICAgfQorCisgICAgLy8gUHVibGljCisKKyAgICBnZXQgbmFtZSgpIHsgcmV0dXJuIHRo
aXMuX25hbWU7IH0KKyAgICBnZXQgcGFyZW50QmluTmFtZSgpIHsgcmV0dXJuIHRoaXMuX3BhcmVu
dEJpbk5hbWU7IH0KKyAgICBnZXQgYmluTmFtZSgpIHsgcmV0dXJuIHRoaXMuX2Jpbk5hbWU7IH0K
KyAgICBnZXQgc3ZnRWxlbWVudCgpIHsgcmV0dXJuIHRoaXMuX3N2Z0RvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCJzdmciKVswXTsgfQorCisgICAgZ2V0IHNhdmVEYXRhKCkKKyAgICB7Cisg
ICAgICAgIGxldCBuYW1lID0gdGhpcy5fbmFtZTsKKyAgICAgICAgbGV0IGZpbGVuYW1lID0gV0ku
dW5sb2NhbGl6ZWRTdHJpbmcoYEdTdHJlYW1lci1waXBlbGluZS1kdW1wLSR7bmFtZX0uZG90YCk7
CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICB1cmw6IFdJLkZpbGVVdGlsaXRpZXMuaW5z
cGVjdG9yVVJMRm9yRmlsZW5hbWUoZmlsZW5hbWUpLAorICAgICAgICAgICAgY29udGVudDogdGhp
cy5fZG90RGF0YSwKKyAgICAgICAgfTsKKyAgICB9Cit9OworCitXSS5HU3RyZWFtZXJQaXBlbGlu
ZS5UeXBlSWRlbnRpZmllciA9ICJnc3RyZWFtZXItcGlwZWxpbmUiOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvR1N0cmVhbWVyT2JzZXJ2
ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9HU3Ry
ZWFtZXJPYnNlcnZlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNThkYmIxOTlmNzgyNWJlOWJhNGQ4MjQ4NDM3
MmJmNDgxMDZmNzM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvUHJvdG9jb2wvR1N0cmVhbWVyT2JzZXJ2ZXIuanMKQEAgLTAsMCArMSwyOCBA
QAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisg
KiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAt
MTMwMSAgVVNBCisgKi8KKworV0kuR1N0cmVhbWVyT2JzZXJ2ZXIgPSBjbGFzcyBHU3RyZWFtZXJP
YnNlcnZlciBleHRlbmRzIEluc3BlY3RvckJhY2tlbmQuRGlzcGF0Y2hlcgoreworICAgIC8vIEV2
ZW50cyBkZWZpbmVkIGJ5IHRoZSAiR1N0cmVhbWVyIiBkb21haW4uCisKKyAgICBhY3RpdmVQaXBl
bGluZXNDaGFuZ2VkKCkKKyAgICB7CisgICAgICAgIFdJLmdzdHJlYW1lck1hbmFnZXIuYWN0aXZl
UGlwZWxpbmVzQ2hhbmdlZCgpOworICAgIH0KKworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1RhcmdldC5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1RhcmdldC5qcwppbmRleCBjYTM4NWZl
MjhiMWJlZmJhODRjNDY5Yzg3NTg5MjFkN2ZmYjBhMzQxLi4wYTg5MWIwNWIwMTkyN2I4ZDM5M2Rj
OTA0ZDZkZmQ1MDNiMTMxNmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Qcm90b2NvbC9UYXJnZXQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvVGFyZ2V0LmpzCkBAIC0xMzYsNiArMTM2LDcgQEAgV0ku
VGFyZ2V0ID0gY2xhc3MgVGFyZ2V0IGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgZ2V0IERPTVN0b3Jh
Z2VBZ2VudCgpIHsgcmV0dXJuIHRoaXMuX2FnZW50cy5ET01TdG9yYWdlOyB9CiAgICAgZ2V0IERh
dGFiYXNlQWdlbnQoKSB7IHJldHVybiB0aGlzLl9hZ2VudHMuRGF0YWJhc2U7IH0KICAgICBnZXQg
RGVidWdnZXJBZ2VudCgpIHsgcmV0dXJuIHRoaXMuX2FnZW50cy5EZWJ1Z2dlcjsgfQorICAgIGdl
dCBHU3RyZWFtZXJBZ2VudCgpIHsgcmV0dXJuIHRoaXMuX2FnZW50cy5HU3RyZWFtZXI7IH0KICAg
ICBnZXQgSGVhcEFnZW50KCkgeyByZXR1cm4gdGhpcy5fYWdlbnRzLkhlYXA7IH0KICAgICBnZXQg
SW5kZXhlZERCQWdlbnQoKSB7IHJldHVybiB0aGlzLl9hZ2VudHMuSW5kZXhlZERCOyB9CiAgICAg
Z2V0IEluc3BlY3RvckFnZW50KCkgeyByZXR1cm4gdGhpcy5fYWdlbnRzLkluc3BlY3RvcjsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0
cmVhbWVyU2lkZWJhclBhbmVsLmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0dTdHJlYW1lclNpZGViYXJQYW5lbC5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U4NTRiZGUz
YzUzM2VkYTBiZjg2ZWViODc1Yjk1MzY2MDA0ODMyZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclNpZGViYXJQYW5l
bC5jc3MKQEAgLTAsMCArMSwxMDggQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxp
YSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5z
ZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0
d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKy5zaWRlYmFyID4gLnBhbmVs
Lm5hdmlnYXRpb24uZ3N0cmVhbWVyID4gLmNvbnRlbnQgeworICAgIHRvcDogdmFyKC0tbmF2aWdh
dGlvbi1iYXItaGVpZ2h0KTsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3Ry
ZWFtZXIgPiAubmF2aWdhdGlvbi1iYXIgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0
b3A6IDA7CisgICAgbGVmdDogMDsKKyAgICByaWdodDogMDsKK30KKworLnNpZGViYXIgPiAucGFu
ZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgPiAubmF2aWdhdGlvbi1iYXIgLmdzdHJlYW1lci1icmVh
a3BvaW50cyB7CisgICAgZmlsbDogbm9uZTsKKyAgICBzdHJva2U6IHZhcigtLWdseXBoLWNvbG9y
KTsKK30KKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyID4gLm5hdmlnYXRp
b24tYmFyIC5nc3RyZWFtZXItYnJlYWtwb2ludHMuYWN0aXZhdGVkIHsKKyAgICBmaWxsOiB2YXIo
LS1nbHlwaC1jb2xvci1hY3RpdmUpOworICAgIHN0cm9rZTogdmFyKC0tZ2x5cGgtY29sb3ItYWN0
aXZlKTsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgPiAubmF2
aWdhdGlvbi1iYXIgLmdzdHJlYW1lci1wYXVzZS1yZXN1bWUgeworICAgIGZpbGw6IG5vbmU7Cisg
ICAgc3Ryb2tlOiB2YXIoLS1nbHlwaC1jb2xvcik7Cit9Cisuc2lkZWJhciA+IC5wYW5lbC5uYXZp
Z2F0aW9uLmdzdHJlYW1lciA+IC5uYXZpZ2F0aW9uLWJhciAuZ3N0cmVhbWVyLXBhdXNlLXJlc3Vt
ZS5hY3RpdmF0ZWQgeworICAgIHN0cm9rZTogdmFyKC0tZ2x5cGgtY29sb3ItYWN0aXZlKTsKK30K
KworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLndhcm5pbmctYmFubmVy
IHsKKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CisgICAgZm9udC1zaXplOiAxMXB4OworCisgICAg
cGFkZGluZzogMTFweCA2cHg7CisgICAgbWFyZ2luLWJvdHRvbTogNnB4OworCisgICAgYm9yZGVy
LWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7CisgICAgYmFja2dyb3VuZC1j
b2xvcjogaHNsKDUwLCAxMDAlLCA5NCUpOworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0
aW9uLmdzdHJlYW1lciAudHJlZS1vdXRsaW5lLnNpbmdsZS10aHJlYWQgPiAuaXRlbS50aHJlYWQg
eworICAgIGRpc3BsYXk6IG5vbmU7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24u
Z3N0cmVhbWVyIC50cmVlLW91dGxpbmUuc2luZ2xlLXRocmVhZCB7CisgICAgLS10cmVlLW91dGxp
bmUtc2luZ2xlLXRocmVhZC1tYXJnaW4tc3RhcnQ6IC0xMHB4OworfQorCitib2R5W2Rpcj1sdHJd
IC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC50cmVlLW91dGxpbmUuc2lu
Z2xlLXRocmVhZCB7CisgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXRyZWUtb3V0bGluZS1zaW5nbGUt
dGhyZWFkLW1hcmdpbi1zdGFydCk7Cit9CisKK2JvZHlbZGlyPXJ0bF0gLnNpZGViYXIgPiAucGFu
ZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkIHsKKyAg
ICBtYXJnaW4tcmlnaHQ6IHZhcigtLXRyZWUtb3V0bGluZS1zaW5nbGUtdGhyZWFkLW1hcmdpbi1z
dGFydCk7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC53YXJu
aW5nLWJhbm5lciA+IGEgeworICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOworICAgIGN1
cnNvcjogcG9pbnRlcjsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFt
ZXIgLmRldGFpbHMtc2VjdGlvbiB7CisgICAgZm9udC1zaXplOiAxMXB4OworfQorCisuc2lkZWJh
ciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAuZGV0YWlscy1zZWN0aW9uLnBhdXNlZC1y
ZWFzb24uY29sbGFwc2VkID4gLmhlYWRlciA+IC5vcHRpb25zIHsKKyAgICBkaXNwbGF5OiBibG9j
azsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLmRldGFpbHMt
c2VjdGlvbiA+IC5jb250ZW50IHsKKyAgICBkaXNwbGF5OiBibG9jazsKK30KKworLnNpZGViYXIg
PiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLmRldGFpbHMtc2VjdGlvbi5jb2xsYXBzZWQg
PiAuY29udGVudCB7CisgICAgZGlzcGxheTogbm9uZTsKK30KKworLnNpZGViYXIgPiAucGFuZWwu
bmF2aWdhdGlvbi5nc3RyZWFtZXIgLmRldGFpbHMtc2VjdGlvbiA+IC5jb250ZW50ID4gLmdyb3Vw
IHsKKyAgICBkaXNwbGF5OiBibG9jazsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlv
bi5nc3RyZWFtZXIgLmRldGFpbHMtc2VjdGlvbi5zY3JpcHRzOm5vdCguY29sbGFwc2VkKSB7Cisg
ICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKK30KKworQG1lZGlhIChwcmVmZXJzLWRhcmstaW50ZXJm
YWNlKSB7CisgICAgLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLndhcm5p
bmctYmFubmVyIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWVsbG93LWhpZ2hs
aWdodC1iYWNrZ3JvdW5kLWNvbG9yKTsKKyAgICAgICAgY29sb3I6IHZhcigtLXllbGxvdy1oaWdo
bGlnaHQtdGV4dC1jb2xvcik7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBhbmVsLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBh
bmVsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjVkMGNmMmY2MGU0NmMyNjFhMzJmYWQzYWEyY2RmNjY3OGY0NDNl
YTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9HU3RyZWFtZXJTaWRlYmFyUGFuZWwuanMKQEAgLTAsMCArMSwxMDUgQEAKKy8qCisg
KiAgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAq
ICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYg
bm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVT
QQorICovCisKK1dJLkdTdHJlYW1lclNpZGViYXJQYW5lbCA9IGNsYXNzIEdTdHJlYW1lclNpZGVi
YXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwKK3sKKyAgICBjb25zdHJ1
Y3RvcigpCisgICAgeworICAgICAgICBzdXBlcigiZ3N0cmVhbWVyIiwgV0kuVUlTdHJpbmcoIkdT
dHJlYW1lciIpLCBmYWxzZSk7CisKKyAgICAgICAgdGhpcy5jb250ZW50VHJlZU91dGxpbmUuYWRk
RXZlbnRMaXN0ZW5lcihXSS5UcmVlT3V0bGluZS5FdmVudC5TZWxlY3Rpb25EaWRDaGFuZ2UsIHRo
aXMuX3RyZWVTZWxlY3Rpb25EaWRDaGFuZ2UsIHRoaXMpOworCisgICAgICAgIFdJLmdzdHJlYW1l
ck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5HU3RyZWFtZXJNYW5hZ2VyLkV2ZW50LkFjdGl2
ZVBpcGVsaW5lc0NoYW5nZWQsIHRoaXMuX3JlZnJlc2hQaXBlbGluZXNMaXN0LCB0aGlzKTsKKyAg
ICB9CisKKyAgICAvLyBQcm90ZWN0ZWQKKworICAgIGluaXRpYWxMYXlvdXQoKQorICAgIHsKKyAg
ICAgICAgc3VwZXIuaW5pdGlhbExheW91dCgpOworCisgICAgICAgIGxldCBwaXBlbGluZXNSb3cg
PSBuZXcgV0kuRGV0YWlsc1NlY3Rpb25Sb3c7CisgICAgICAgIHBpcGVsaW5lc1Jvdy5lbGVtZW50
LmFwcGVuZENoaWxkKHRoaXMuY29udGVudFRyZWVPdXRsaW5lLmVsZW1lbnQpOworCisgICAgICAg
IGxldCBwaXBlbGluZXNHcm91cCA9IG5ldyBXSS5EZXRhaWxzU2VjdGlvbkdyb3VwKFtwaXBlbGlu
ZXNSb3ddKTsKKyAgICAgICAgdGhpcy5fcGlwZWxpbmVzU2VjdGlvbiA9IG5ldyBXSS5EZXRhaWxz
U2VjdGlvbigicGlwZWxpbmVzIiwgV0kuVUlTdHJpbmcoIlBpcGVsaW5lcyIpLCBbcGlwZWxpbmVz
R3JvdXBdKTsKKyAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmFwcGVuZENoaWxkKHRo
aXMuX3BpcGVsaW5lc1NlY3Rpb24uZWxlbWVudCk7CisKKyAgICAgICAgdGhpcy5fcmVmcmVzaFBp
cGVsaW5lc0xpc3QoKTsKKyAgICB9CisKKyAgICBoYXNDdXN0b21GaWx0ZXJzKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIG1hdGNoVHJlZUVsZW1lbnRBZ2FpbnN0
Q3VzdG9tRmlsdGVycyh0cmVlRWxlbWVudCwgZmxhZ3MpCisgICAgeworICAgICAgICBsZXQgdGV4
dEZpbHRlclJlZ2V4ID0gc2ltcGxlR2xvYlN0cmluZ1RvUmVnRXhwKHRoaXMuZmlsdGVyQmFyLmZp
bHRlcnMudGV4dCwgImkiKTsKKyAgICAgICAgaWYgKCF0ZXh0RmlsdGVyUmVnZXgpCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICByZXR1cm4gdGV4dEZpbHRlclJlZ2V4LnRlc3Qo
dHJlZUVsZW1lbnQubmFtZSk7CisgICAgfQorCisgICAgLy8gUHJpdmF0ZQorCisgICAgX3JlZnJl
c2hQaXBlbGluZXNMaXN0KCkKKyAgICB7CisgICAgICAgIGlmICghV0kudGFyZ2V0c0F2YWlsYWJs
ZSgpKSB7CisgICAgICAgICAgICBXSS53aGVuVGFyZ2V0c0F2YWlsYWJsZSgpLnRoZW4oKCkgPT4g
eworICAgICAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hQaXBlbGluZXNMaXN0KCk7CisgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGxldCBh
Z2VudCA9IFdJLmdzdHJlYW1lck1hbmFnZXIuYWdlbnQ7CisgICAgICAgIGlmICghYWdlbnQpCisg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgYWdlbnQuZ2V0QWN0aXZlUGlwZWxpbmVzTmFt
ZXMoKS50aGVuKChwYXlsb2FkKSA9PiB7CisgICAgICAgICAgICB0aGlzLmNvbnRlbnRUcmVlT3V0
bGluZS5yZW1vdmVDaGlsZHJlbih0cnVlKTsKKyAgICAgICAgICAgIGZvciAobGV0IG5hbWUgb2Yg
cGF5bG9hZC5waXBlbGluZXMpIHsKKyAgICAgICAgICAgICAgICBsZXQgZWx0ID0gbmV3IFdJLlRy
ZWVFbGVtZW50KG5hbWUsIG51bGwpOworICAgICAgICAgICAgICAgIHRoaXMuY29udGVudFRyZWVP
dXRsaW5lLmFwcGVuZENoaWxkKGVsdCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0pLmNhdGNo
KChlcnJvcikgPT4geworICAgICAgICAgICAgY29uc29sZS5lcnJvcigiQ291bGQgbm90IGZldGNo
IHBpcGVsaW5lczogIiwgZXJyb3IpOworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBfdHJlZVNl
bGVjdGlvbkRpZENoYW5nZShldmVudCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5zZWxlY3Rl
ZCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBsZXQgdHJlZUVsZW1lbnQgPSB0aGlz
LmNvbnRlbnRUcmVlT3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50OworICAgICAgICBpZiAoIXRy
ZWVFbGVtZW50KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGxldCBwaXBlbGluZU5h
bWUgPSB0cmVlRWxlbWVudC50aXRsZTsKKyAgICAgICAgbGV0IHRhcmdldCA9IFdJLmFzc3VtaW5n
TWFpblRhcmdldCgpOworICAgICAgICB0YXJnZXQuR1N0cmVhbWVyQWdlbnQuZHVtcEFjdGl2ZVBp
cGVsaW5lKHBpcGVsaW5lTmFtZSwgIiIpLnRoZW4oKHBheWxvYWQpID0+IHsKKyAgICAgICAgICAg
IGxldCBkb2N1bWVudEZyYWdtZW50ID0gV0kuZ3N0cmVhbWVyTWFuYWdlci5yZW5kZXJTVkdFbGVt
ZW50KHBheWxvYWQucGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uKTsKKyAgICAgICAgICAgIGxl
dCByZXByZXNlbnRlZE9iamVjdCA9IG5ldyBXSS5HU3RyZWFtZXJQaXBlbGluZShwaXBlbGluZU5h
bWUsICIiLCAiIiwgcGF5bG9hZC5waXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24sIGRvY3VtZW50
RnJhZ21lbnQpOworICAgICAgICAgICAgV0kuc2hvd1JlcHJlc2VudGVkT2JqZWN0KHJlcHJlc2Vu
dGVkT2JqZWN0KTsKKyAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7CisgICAgICAgICAgICBj
b25zb2xlLmVycm9yKCJDb3VsZCBub3QgZHVtcCBwaXBlbGluZTogIiwgZXJyb3IpOworICAgICAg
ICB9KTsKKyAgICB9Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuY3NzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuY3Nz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYxNjM2OTNhMTU5ZTA2MGUwYjBlZTJiMTJhMTIwZGEwZmUxYTFmYWQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5jc3MKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqICBD
b3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3Qs
IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisg
Ki8KKworLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgeworICAgIHBhZGRpbmctYm90dG9tOiA2dmg7
CisgICAgb3ZlcmZsb3cteTogYXV0bzsKK30KKworLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgLm5h
dmlnYXRpb24tYmFyIHsKKyAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7CisgICAgdG9wOiAw
OworICAgIHotaW5kZXg6IDE7CisgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7Cit9CisKKy5j
b250ZW50LXZpZXcuZ3N0cmVhbWVyIC5uYXZpZ2F0aW9uLWJhci5pbnZpc2libGUgeworICAgIHZp
c2liaWxpdHk6IGhpZGRlbjsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzY4ZjVhN2U4MDMzNjJlYTA2ZjE4ODI0MzgxNjE1MmFiODA4MzFiYQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmpzCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiAg
Q29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdl
bmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90
LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQor
ICovCisKK1dJLkdTdHJlYW1lclRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgR1N0cmVhbWVyVGFiQ29u
dGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3Cit7CisgICAg
Y29uc3RydWN0b3IoaWRlbnRpZmllcikKKyAgICB7CisgICAgICAgIGxldCB0YWJCYXJJdGVtID0g
V0kuR2VuZXJhbFRhYkJhckl0ZW0uZnJvbVRhYkluZm8oV0kuR1N0cmVhbWVyVGFiQ29udGVudFZp
ZXcudGFiSW5mbygpKTsKKyAgICAgICAgbGV0IGRldGFpbHNTaWRlYmFyUGFuZWxDb25zdHJ1Y3Rv
cnMgPSBbXTsKKworICAgICAgICBzdXBlcihpZGVudGlmaWVyIHx8ICJnc3RyZWFtZXIiLCAiZ3N0
cmVhbWVyIiwgdGFiQmFySXRlbSwgV0kuR1N0cmVhbWVyU2lkZWJhclBhbmVsLAorICAgICAgICAg
ICAgICBkZXRhaWxzU2lkZWJhclBhbmVsQ29uc3RydWN0b3JzKTsKKworICAgICAgICB0aGlzLl9n
c3RyZWFtZXJWaWV3ID0gbnVsbDsKKyAgICB9CisKKyAgICBzdGF0aWMgdGFiSW5mbygpCisgICAg
eworICAgICAgICByZXR1cm4geworICAgICAgICAgICAgaW1hZ2U6ICJJbWFnZXMvR1N0cmVhbWVy
LnN2ZyIsCisgICAgICAgICAgICB0aXRsZTogV0kuVUlTdHJpbmcoIkdTdHJlYW1lciIpLAorICAg
ICAgICB9OworICAgIH0KKworICAgIHN0YXRpYyBpc1RhYkFsbG93ZWQoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIFdJLlBsYXRmb3JtLnBvcnQgPT09ICJndGsiIHx8IFdJLlBsYXRmb3JtLnBvcnQg
PT09ICJ3cGUiOworICAgIH0KKworICAgIC8vIFB1YmxpYworCisgICAgZ2V0IHR5cGUoKSB7IHJl
dHVybiBXSS5HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5UeXBlOyB9CisKKyAgICBnZXQgc3VwcG9y
dHNTcGxpdENvbnRlbnRCcm93c2VyKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKworICAgIGNhblNob3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNlbnRlZE9iamVjdCkKKyAg
ICB7CisgICAgICAgIHJldHVybiByZXByZXNlbnRlZE9iamVjdCBpbnN0YW5jZW9mIFdJLkdTdHJl
YW1lclBpcGVsaW5lOworICAgIH0KKworICAgIHNob3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNl
bnRlZE9iamVjdCwgY29va2llKQorICAgIHsKKyAgICAgICAgdGhpcy5fZ3N0cmVhbWVyVmlldy5k
aXNwbGF5UGlwZWxpbmUocmVwcmVzZW50ZWRPYmplY3QpOworICAgIH0KKworICAgIC8vIFByb3Rl
Y3RlZAorCisgICAgaW5pdGlhbExheW91dCgpCisgICAgeworICAgICAgICB0aGlzLl9nc3RyZWFt
ZXJWaWV3ID0gbmV3IFdJLkdTdHJlYW1lclZpZXcoImdlbmVyYWwiLCBXSS5VSVN0cmluZygiR2Vu
ZXJhbCIpKTsKKyAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHRoaXMuX2dzdHJlYW1lclZpZXcpOwor
ICAgIH0KK307CisKK1dJLkdTdHJlYW1lclRhYkNvbnRlbnRWaWV3LlR5cGUgPSAiZ3N0cmVhbWVy
IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0dTdHJlYW1lclZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9HU3RyZWFtZXJWaWV3LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyODc0MTEwMGY5YTE3MTAxNzgwMzY5
YzA3MDFhNjZkMDJmYzBlNDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJWaWV3LmpzCkBAIC0wLDAgKzEsMTYwIEBA
CisvKgorICogIENvcHlyaWdodCAoQykgMjAxOSBJZ2FsaWEgUy5MCisgKgorICogIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0x
MzAxICBVU0EKKyAqLworCitXSS5HU3RyZWFtZXJWaWV3ID0gY2xhc3MgR1N0cmVhbWVyVmlldyBl
eHRlbmRzIFdJLkNvbnRlbnRWaWV3Cit7CisgICAgY29uc3RydWN0b3IoaWRlbnRpZmllciwgZGlz
cGxheU5hbWUpCisgICAgeworICAgICAgICBzdXBlcigpOworCisgICAgICAgIHRoaXMuX2lkZW50
aWZpZXIgPSBpZGVudGlmaWVyOworICAgICAgICB0aGlzLl9kaXNwbGF5TmFtZSA9IGRpc3BsYXlO
YW1lOworICAgICAgICB0aGlzLl9zdmdFbGVtZW50ID0gbnVsbDsKKyAgICAgICAgdGhpcy5fc2Nv
cGVCYXIgPSBudWxsOworICAgICAgICB0aGlzLl9jdXJyZW50QmluTmFtZSA9ICIiOworICAgICAg
ICB0aGlzLl9waXBlbGluZSA9IG51bGw7CisgICAgICAgIHRoaXMuX2xhYmVsID0gbnVsbDsKKwor
ICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiZ3N0cmVhbWVyLXZpZXciLCBpZGVu
dGlmaWVyKTsKKworICAgICAgICB0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5l
dyBXSS5CdXR0b25OYXZpZ2F0aW9uSXRlbSgicGlwZWxpbmUtZXhwb3J0IiwgV0kuVUlTdHJpbmco
IkV4cG9ydCIpLCAiSW1hZ2VzL0V4cG9ydC5zdmciLCAxNSwgMTUpOworICAgICAgICB0aGlzLl9l
eHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS50b29sdGlwID0gV0kuVUlTdHJpbmcoIkV4cG9ydCBw
aXBlbGluZSBkb3QgcmVwcmVzZW50YXRpb24gKCVzKSIpLmZvcm1hdChXSS5zYXZlS2V5Ym9hcmRT
aG9ydGN1dC5kaXNwbGF5TmFtZSk7CisgICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRp
b25JdGVtLmJ1dHRvblN0eWxlID0gV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uU3R5bGUuSW1hZ2VB
bmRUZXh0OworICAgICAgICB0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS52aXNpYmls
aXR5UHJpb3JpdHkgPSBXSS5OYXZpZ2F0aW9uSXRlbS5WaXNpYmlsaXR5UHJpb3JpdHkuTG93Owor
ICAgICAgICB0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVy
KFdJLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX2hhbmRsZUV4cG9y
dEJ1dHRvbk5hdmlnYXRpb25JdGVtQ2xpY2tlZC5iaW5kKHRoaXMpKTsKKyAgICAgICAgdGhpcy5f
dXBkYXRlRXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW1TdGF0ZSgpOworCisgICAgICAgIHRoaXMu
X25hdmlnYXRpb25CYXIgPSBuZXcgV0kuTmF2aWdhdGlvbkJhcjsKKyAgICAgICAgdGhpcy5fbmF2
aWdhdGlvbkJhci5hZGROYXZpZ2F0aW9uSXRlbSh0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9u
SXRlbSk7CisgICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9uYXZpZ2F0aW9uQmFyKTsKKwor
ICAgICAgICB0aGlzLl9jb250YWluZXJFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CisgICAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuaWQgPSAicGlwZWxpbmUtY29u
dGFpbmVyIjsKKyAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCh0aGlzLl9jb250YWluZXJFbGVt
ZW50KTsKKyAgICB9CisKKyAgICAvLyBQdWJsaWMKKworICAgIGdldCBpZGVudGlmaWVyKCkgeyBy
ZXR1cm4gdGhpcy5faWRlbnRpZmllcjsgfQorICAgIGdldCBkaXNwbGF5TmFtZSgpIHsgcmV0dXJu
IHRoaXMuX2Rpc3BsYXlOYW1lOyB9CisKKyAgICBnZXQgc3VwcG9ydHNTYXZlKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiAhIXRoaXMuX3BpcGVsaW5lOworICAgIH0KKworICAgIGdldCBzYXZlRGF0
YSgpCisgICAgeworICAgICAgICByZXR1cm4ge2N1c3RvbVNhdmVIYW5kbGVyOiAoKSA9PiB7IHRo
aXMuX2V4cG9ydFJlc3VsdCgpOyB9fTsKKyAgICB9CisKKyAgICBkaXNwbGF5UGlwZWxpbmUoZ3N0
cmVhbWVyUGlwZWxpbmUpCisgICAgeworICAgICAgICBpZiAodGhpcy5fc3ZnRWxlbWVudCkKKyAg
ICAgICAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5fc3ZnRWxl
bWVudCk7CisKKyAgICAgICAgaWYgKHRoaXMuX3Njb3BlQmFyKSB7CisgICAgICAgICAgICB0aGlz
Ll9zY29wZUJhci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLlNjb3BlQmFyLkV2ZW50LlNlbGVjdGlv
bkNoYW5nZWQsIHRoaXMuX3Njb3BlQmFyU2VsZWN0aW9uRGlkQ2hhbmdlKTsKKyAgICAgICAgICAg
IHRoaXMuX25hdmlnYXRpb25CYXIucmVtb3ZlTmF2aWdhdGlvbkl0ZW0odGhpcy5fc2NvcGVCYXIp
OworICAgICAgICB9CisKKyAgICAgICAgaWYgKHRoaXMuX2xhYmVsKSB7CisgICAgICAgICAgICB0
aGlzLl9uYXZpZ2F0aW9uQmFyLnJlbW92ZU5hdmlnYXRpb25JdGVtKHRoaXMuX2xhYmVsKTsKKyAg
ICAgICAgfQorICAgICAgICB2YXIgbmFtZSA9IGdzdHJlYW1lclBpcGVsaW5lLmJpbk5hbWUgfHwg
Z3N0cmVhbWVyUGlwZWxpbmUubmFtZTsKKyAgICAgICAgdGhpcy5fbGFiZWwgPSBuZXcgV0kuVGV4
dE5hdmlnYXRpb25JdGVtKCJnc3QtcGlwZWxpbmUtYmluLW5hbWUiLCAiRGlzcGxheWluZyAiICsg
bmFtZSArICIuIEF2YWlsYWJsZSBzdWItYmluczogIik7CisgICAgICAgIHRoaXMuX25hdmlnYXRp
b25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhpcy5fbGFiZWwpOworCisgICAgICAgIHRoaXMuX3Bp
cGVsaW5lID0gZ3N0cmVhbWVyUGlwZWxpbmU7CisgICAgICAgIHRoaXMuX3VwZGF0ZUV4cG9ydEJ1
dHRvbk5hdmlnYXRpb25JdGVtU3RhdGUoKTsKKworICAgICAgICBsZXQgdGFyZ2V0ID0gV0kuYXNz
dW1pbmdNYWluVGFyZ2V0KCk7CisgICAgICAgIHRhcmdldC5HU3RyZWFtZXJBZ2VudC5nZXRBY3Rp
dmVQaXBlbGluZUJpbk5hbWVzKGdzdHJlYW1lclBpcGVsaW5lLm5hbWUsIGdzdHJlYW1lclBpcGVs
aW5lLmJpbk5hbWUpLnRoZW4oKHBheWxvYWQpID0+IHsKKyAgICAgICAgICAgIHZhciBzY29wZUJh
ckl0ZW1zID0gW107CisgICAgICAgICAgICB2YXIgZGVmYXVsdEl0ZW0gPSBuZXcgV0kuU2NvcGVC
YXJJdGVtKCI8cGxhY2Vob2xkZXI+IiwgIlNlbGVjdC4uLiIpOworICAgICAgICAgICAgZGVmYXVs
dEl0ZW0uX19wYXJlbnQgPSAiIjsKKyAgICAgICAgICAgIGRlZmF1bHRJdGVtLnNlbGVjdGVkID0g
dHJ1ZTsKKyAgICAgICAgICAgIHNjb3BlQmFySXRlbXMucHVzaChkZWZhdWx0SXRlbSk7CisKKyAg
ICAgICAgICAgIHZhciBzY29wZUJhckl0ZW0gPSBuZXcgV0kuU2NvcGVCYXJJdGVtKGdzdHJlYW1l
clBpcGVsaW5lLnBhcmVudEJpbk5hbWUsICJQYXJlbnQ6ICIgKyBnc3RyZWFtZXJQaXBlbGluZS5w
YXJlbnRCaW5OYW1lKTsKKyAgICAgICAgICAgIHNjb3BlQmFySXRlbS5zZWxlY3RlZCA9IGZhbHNl
OworICAgICAgICAgICAgc2NvcGVCYXJJdGVtLl9fcGFyZW50ID0gIiI7CisgICAgICAgICAgICBz
Y29wZUJhckl0ZW1zLnB1c2goc2NvcGVCYXJJdGVtKTsKKworICAgICAgICAgICAgZm9yICh2YXIg
YmluTmFtZSBvZiBwYXlsb2FkLmJpbk5hbWVzKSB7CisgICAgICAgICAgICAgICAgdmFyIHNjb3Bl
QmFySXRlbSA9IG5ldyBXSS5TY29wZUJhckl0ZW0oYmluTmFtZSwgYmluTmFtZSk7CisgICAgICAg
ICAgICAgICAgc2NvcGVCYXJJdGVtLnNlbGVjdGVkID0gZmFsc2U7CisgICAgICAgICAgICAgICAg
c2NvcGVCYXJJdGVtLl9fcGFyZW50ID0gZ3N0cmVhbWVyUGlwZWxpbmUuYmluTmFtZTsKKyAgICAg
ICAgICAgICAgICBzY29wZUJhckl0ZW1zLnB1c2goc2NvcGVCYXJJdGVtKTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgdGhpcy5fc2NvcGVCYXIgPSBuZXcgV0kuU2NvcGVCYXIoImdzdC1w
aXBlbGluZS1zY29wZS1iYXIiLCBzY29wZUJhckl0ZW1zLCBudWxsLCB0cnVlKTsKKyAgICAgICAg
ICAgIHRoaXMuX3Njb3BlQmFyLmFkZEV2ZW50TGlzdGVuZXIoV0kuU2NvcGVCYXIuRXZlbnQuU2Vs
ZWN0aW9uQ2hhbmdlZCwgdGhpcy5fc2NvcGVCYXJTZWxlY3Rpb25EaWRDaGFuZ2UsIHRoaXMpOwor
CisgICAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLmFkZE5hdmlnYXRpb25JdGVtKHRoaXMu
X3Njb3BlQmFyKTsKKyAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7CisgICAgICAgICAgICBj
b25zb2xlLmVycm9yKCJDb3VsZCBub3QgZHVtcCBsaXN0IHBpcGVsaW5lIGJpbnM6ICIsIGVycm9y
KTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgdGhpcy5fc3ZnRWxlbWVudCA9IHRoaXMuX3BpcGVs
aW5lLnN2Z0VsZW1lbnQ7CisgICAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hp
bGQodGhpcy5fc3ZnRWxlbWVudCk7CisKKyAgICAgICAgdmFyIHN2ZyA9IGQzLnNlbGVjdCgiI3Bp
cGVsaW5lLWNvbnRhaW5lciIpLAorICAgICAgICAgICAgZyA9IHN2Zy5zZWxlY3QoImciKTsKKwor
ICAgICAgICBzdmcuY2FsbChkMy56b29tKCkub24oInpvb20iLCBmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgIGcuYXR0cigidHJhbnNmb3JtIiwgZDMuZXZlbnQudHJhbnNmb3JtKQorICAgICAgICB9
KSk7CisgICAgfQorCisgICAgLy8gUHJpdmF0ZQorCisgICAgX3Njb3BlQmFyU2VsZWN0aW9uRGlk
Q2hhbmdlKGV2ZW50KQorICAgIHsKKyAgICAgICAgZm9yICh2YXIgaXQgb2YgZXZlbnQudGFyZ2V0
Lml0ZW1zKSB7CisgICAgICAgICAgICBpZiAoKGl0LmlkICE9PSAiPHBsYWNlaG9sZGVyPiIpICYm
IGl0LnNlbGVjdGVkKSB7CisgICAgICAgICAgICAgICAgdmFyIGJpbk5hbWUgPSBpdC5pZDsKKyAg
ICAgICAgICAgICAgICB2YXIgcGFyZW50QmluTmFtZSA9IGl0Ll9fcGFyZW50OworICAgICAgICAg
ICAgICAgIHZhciBwaXBlbGluZU5hbWUgPSB0aGlzLl9waXBlbGluZS5uYW1lOworICAgICAgICAg
ICAgICAgIGxldCBhZ2VudCA9IFdJLmdzdHJlYW1lck1hbmFnZXIuYWdlbnQ7CisgICAgICAgICAg
ICAgICAgYWdlbnQuZHVtcEFjdGl2ZVBpcGVsaW5lKHBpcGVsaW5lTmFtZSwgYmluTmFtZSkudGhl
bigocGF5bG9hZCkgPT4geworICAgICAgICAgICAgICAgICAgICBsZXQgZG9jdW1lbnRGcmFnbWVu
dCA9IFdJLmdzdHJlYW1lck1hbmFnZXIucmVuZGVyU1ZHRWxlbWVudChwYXlsb2FkLnBpcGVsaW5l
R3JhcGhSZXByZXNlbnRhdGlvbik7CisgICAgICAgICAgICAgICAgICAgIGxldCByZXByZXNlbnRl
ZE9iamVjdCA9IG5ldyBXSS5HU3RyZWFtZXJQaXBlbGluZShwaXBlbGluZU5hbWUsIHBhcmVudEJp
bk5hbWUsIGJpbk5hbWUsIHBheWxvYWQucGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uLCBkb2N1
bWVudEZyYWdtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgV0kuc2hvd1JlcHJlc2VudGVkT2Jq
ZWN0KHJlcHJlc2VudGVkT2JqZWN0KTsKKyAgICAgICAgICAgICAgICB9KS5jYXRjaCgoZXJyb3Ip
ID0+IHsKKyAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcigiQ291bGQgbm90IGR1bXAg
cGlwZWxpbmU6ICIsIGVycm9yKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgIH0KKworICAgIF9leHBvcnRSZXN1bHQoKQorICAgIHsKKyAgICAgICAg
V0kuZ3N0cmVhbWVyTWFuYWdlci5leHBvcnQodGhpcy5fcGlwZWxpbmUpOworICAgIH0KKworICAg
IF91cGRhdGVFeHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbVN0YXRlKCkKKyAgICB7CisgICAgICAg
IHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSAhIXRoaXMuX3BpcGVs
aW5lOworICAgIH0KKworICAgIF9oYW5kbGVFeHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbUNsaWNr
ZWQoZXZlbnQpCisgICAgeworICAgICAgICB0aGlzLl9leHBvcnRSZXN1bHQoKTsKKyAgICB9Cit9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9JbnNwZWN0b3JHUmVzb3VyY2VzLmNtYWtlIGIv
U291cmNlL1dlYktpdC9JbnNwZWN0b3JHUmVzb3VyY2VzLmNtYWtlCmluZGV4IDY3NGI1ZWYwYmU0
YmViMmEyZTgxYjFiY2U5ODQ3ODIyYmQ0YjQ4MjcuLmExMGU5MTAyYTY1ZTAzMDFlODM1NzFjMjVm
NDFjNjJjOGM4NzhlZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvSW5zcGVjdG9yR1Jlc291
cmNlcy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L0luc3BlY3RvckdSZXNvdXJjZXMuY21ha2UK
QEAgLTksNiArOSw3IEBAIG1hY3JvKFdFQktJVF9CVUlMRF9JTlNQRUNUT1JfR1JFU09VUkNFUyBf
ZGVyaXZlZF9zb3VyY2VzX2RpcikKICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9Db2RlTWlycm9yLyouY3NzCiAg
ICAgICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvRXh0ZXJuYWwvQ29kZU1pcnJvci8qLmpzCiAgICAgICAgICR7Q01BS0VfU09VUkNFX0RJ
Un0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvRXNwcmltYS8q
LmpzCisgICAgICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvRXh0ZXJuYWwvRDMuanMvKi5qcwogICAgICAgICAke0NNQUtFX1NPVVJDRV9E
SVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL3RocmVlLmpz
LyouanMKICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Nb2RlbHMvKi5qcwogICAgICAgICAke0NNQUtFX1NPVVJDRV9ESVJ9L1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sLyouanMKQEAgLTYwLDEz
ICs2MSwxOSBAQCBtYWNybyhXRUJLSVRfQlVJTERfSU5TUEVDVE9SX0dSRVNPVVJDRVMgX2Rlcml2
ZWRfc291cmNlc19kaXIpCiAgICAgICAgIGVuZGlmICgpCiAgICAgZW5kaWYgKCkKIAorICAgIGlm
IChVU0VfR1NUUkVBTUVSKQorICAgICAgICBzZXQoQ09NQklORV9HU1RSRUFNRVJfUkVTT1VSQ0VT
IFlFUykKKyAgICBlbHNlICgpCisgICAgICAgIHNldChDT01CSU5FX0dTVFJFQU1FUl9SRVNPVVJD
RVMgTk8pCisgICAgZW5kaWYgKCkKKwogICAgIGFkZF9jdXN0b21fY29tbWFuZCgKICAgICAgICAg
T1VUUFVUICR7Q01BS0VfQklOQVJZX0RJUn0vaW5zcGVjdG9yLXJlc291cmNlcy5zdGFtcAogICAg
ICAgICBERVBFTkRTICR7SW5zcGVjdG9yRmlsZXNEZXBlbmRlbmNpZXN9CiAgICAgICAgICAgICAg
ICAgJHtJbnNwZWN0b3JSZXNvdXJjZVNjcmlwdHN9CiAgICAgICAgICAgICAgICAgJHtERVJJVkVE
X1NPVVJDRVNfV0VCSU5TUEVDVE9SVUlfRElSfS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0luc3Bl
Y3RvckJhY2tlbmRDb21tYW5kcy5qcwogICAgICAgICBDT01NQU5EIGNwICR7REVSSVZFRF9TT1VS
Q0VTX1dFQklOU1BFQ1RPUlVJX0RJUn0vVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNwZWN0b3JC
YWNrZW5kQ29tbWFuZHMuanMgJHtGT1JXQVJESU5HX0hFQURFUlNfRElSfS9KYXZhU2NyaXB0Q29y
ZS9TY3JpcHRzCi0gICAgICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBlbnYgIkRFUklW
RURfU09VUkNFU19ESVI9JHtERVJJVkVEX1NPVVJDRVNfV0VCSU5TUEVDVE9SVUlfRElSfSIgIlNS
Q1JPT1Q9JHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkiICJKQVZBU0NS
SVBUQ09SRV9QUklWQVRFX0hFQURFUlNfRElSPSR7Rk9SV0FSRElOR19IRUFERVJTX0RJUn0vSmF2
YVNjcmlwdENvcmUvU2NyaXB0cyIgIlRBUkdFVF9CVUlMRF9ESVI9JHtfZGVyaXZlZF9zb3VyY2Vz
X2Rpcn0vSW5zcGVjdG9yUmVzb3VyY2VzIiAiVU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9Q
QVRIPVdlYkluc3BlY3RvclVJIiAiQ09NQklORV9JTlNQRUNUT1JfUkVTT1VSQ0VTPSR7Q09NQklO
RV9JTlNQRUNUT1JfUkVTT1VSQ0VTfSIgIkNPTUJJTkVfVEVTVF9SRVNPVVJDRVM9JHtDT01CSU5F
X1RFU1RfUkVTT1VSQ0VTfSIgUFlUSE9OPSR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7Q01BS0VfU09V
UkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFj
ZS1yZXNvdXJjZXMucGwKKyAgICAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIGVudiAi
REVSSVZFRF9TT1VSQ0VTX0RJUj0ke0RFUklWRURfU09VUkNFU19XRUJJTlNQRUNUT1JVSV9ESVJ9
IiAiU1JDUk9PVD0ke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSSIgIkpB
VkFTQ1JJUFRDT1JFX1BSSVZBVEVfSEVBREVSU19ESVI9JHtGT1JXQVJESU5HX0hFQURFUlNfRElS
fS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzIiAiVEFSR0VUX0JVSUxEX0RJUj0ke19kZXJpdmVkX3Nv
dXJjZXNfZGlyfS9JbnNwZWN0b3JSZXNvdXJjZXMiICJVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9M
REVSX1BBVEg9V2ViSW5zcGVjdG9yVUkiICJDT01CSU5FX0dTVFJFQU1FUl9SRVNPVVJDRVM9JHtD
T01CSU5FX0dTVFJFQU1FUl9SRVNPVVJDRVN9IiAiQ09NQklORV9JTlNQRUNUT1JfUkVTT1VSQ0VT
PSR7Q09NQklORV9JTlNQRUNUT1JfUkVTT1VSQ0VTfSIgIkNPTUJJTkVfVEVTVF9SRVNPVVJDRVM9
JHtDT01CSU5FX1RFU1RfUkVTT1VSQ0VTfSIgUFlUSE9OPSR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7
Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2Vy
LWludGVyZmFjZS1yZXNvdXJjZXMucGwKICAgICAgICAgQ09NTUFORCBta2RpciAtcCAke19kZXJp
dmVkX3NvdXJjZXNfZGlyfS9JbnNwZWN0b3JSZXNvdXJjZXMvV2ViSW5zcGVjdG9yVUkvTG9jYWxp
emF0aW9ucy9lbi5scHJvagogICAgICAgICBDT01NQU5EIGNwICR7Q01BS0VfU09VUkNFX0RJUn0v
U291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3Ry
aW5ncy5qcyAke19kZXJpdmVkX3NvdXJjZXNfZGlyfS9JbnNwZWN0b3JSZXNvdXJjZXMvV2ViSW5z
cGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCiAgICAg
ICAgIENPTU1BTkQgdG91Y2ggJHtDTUFLRV9CSU5BUllfRElSfS9pbnNwZWN0b3ItcmVzb3VyY2Vz
LnN0YW1wCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvRmluZEdyYXBoVml6LmNtYWtlIGIvU291
cmNlL2NtYWtlL0ZpbmRHcmFwaFZpei5jbWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MWYwNGVjM2RjM2MwNGQ0
MTZjYTM5M2FjY2VlZDFkOGQ3MjcxNjZkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL2NtYWtl
L0ZpbmRHcmFwaFZpei5jbWFrZQpAQCAtMCwwICsxLDQ4IEBACisjIC0gVHJ5IHRvIGZpbmQgR3Jh
cGhWaXoKKyMgT25jZSBkb25lLCB0aGlzIHdpbGwgZGVmaW5lCisjCisjICBHUkFQSFZJWl9GT1VO
RCAtIHN5c3RlbSBoYXMgR3JhcGhWaXouCisjICBHUkFQSFZJWl9JTkNMVURFX0RJUlMgLSB0aGUg
R3JhcGhWaXouIGluY2x1ZGUgZGlyZWN0b3JpZXMKKyMgIEdSQVBIVklaX0xJQlJBUklFUyAtIGxp
bmsgdGhlc2UgdG8gdXNlIEdyYXBoVml6LgorIworIyBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlh
IFMuTC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMKKyMgSVMnJyBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyMgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBJVFMKKyMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisjIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7CisjIE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLAorIyBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUgorIyBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGCisjIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorCitmaW5kX3BhY2thZ2UoUGtnQ29uZmlnKQorcGtnX2NoZWNrX21vZHVs
ZXMoR1JBUEhWSVogbGliZ3ZjIGxpYmNncmFwaCkKKworc2V0KFZFUlNJT05fT0sgVFJVRSkKK2lm
IChHUkFQSFZJWl9WRVJTSU9OKQorICAgIGlmIChHUkFQSFZJWl9GSU5EX1ZFUlNJT05fRVhBQ1Qp
CisgICAgICAgIGlmIChOT1QoIiR7R1JBUEhWSVpfRklORF9WRVJTSU9OfSIgVkVSU0lPTl9FUVVB
TCAiJHtHUkFQSFZJWl9WRVJTSU9OfSIpKQorICAgICAgICAgICAgc2V0KFZFUlNJT05fT0sgRkFM
U0UpCisgICAgICAgIGVuZGlmICgpCisgICAgZWxzZSAoKQorICAgICAgICBpZiAoIiR7R1JBUEhW
SVpfVkVSU0lPTn0iIFZFUlNJT05fTEVTUyAiJHtHUkFQSFZJWl9GSU5EX1ZFUlNJT059IikKKyAg
ICAgICAgICAgIHNldChWRVJTSU9OX09LIEZBTFNFKQorICAgICAgICBlbmRpZiAoKQorICAgIGVu
ZGlmICgpCitlbmRpZiAoKQorCitpbmNsdWRlKEZpbmRQYWNrYWdlSGFuZGxlU3RhbmRhcmRBcmdz
KQorRklORF9QQUNLQUdFX0hBTkRMRV9TVEFOREFSRF9BUkdTKEdSQVBIVklaIERFRkFVTFRfTVNH
IEdSQVBIVklaX0lOQ0xVREVfRElSUyBHUkFQSFZJWl9MSUJSQVJJRVMgVkVSU0lPTl9PSykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9HU3RyZWFtZXJDaGVja3MuY21ha2UgYi9Tb3VyY2UvY21h
a2UvR1N0cmVhbWVyQ2hlY2tzLmNtYWtlCmluZGV4IDE4YjEyZjgyYThkMjhjMzQyM2YzZTZmMzE0
NzM4ODk4YzFmNjQ3NmMuLjAyYmMwMmFiYzdkZGJjMTgwM2JmZjg3OWZhMjAwMjVkNzYyNTFmNDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9HU3RyZWFtZXJDaGVja3MuY21ha2UKKysrIGIvU291
cmNlL2NtYWtlL0dTdHJlYW1lckNoZWNrcy5jbWFrZQpAQCAtMTAsNiArMTAsMTQgQEAgaWYgKEVO
QUJMRV9WSURFTyBPUiBFTkFCTEVfV0VCX0FVRElPKQogICAgICAgICBTRVRfQU5EX0VYUE9TRV9U
T19CVUlMRChVU0VfV0VCQVVESU9fR1NUUkVBTUVSIFRSVUUpCiAgICAgZW5kaWYgKCkKIAorICAg
IGZpbmRfcGFja2FnZShHcmFwaFZpeiAyLjQzKQorICAgIGlmIChHUkFQSFZJWl9GT1VORCkKKyAg
ICAgICAgU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX0dSQVBIVklaIFRSVUUpCisgICAgZWxz
ZSAoKQorICAgICAgICBtZXNzYWdlKFdBUk5JTkcgIkdyYXBodml6IGxpYnJhcnkgbm90IGZvdW5k
LiBHU3RyZWFtZXIgcGlwZWxpbmVzIHdvbid0IGJlIGRpc3BsYXllZCBpbiB0aGUgV2ViSW5zcGVj
dG9yIikKKyAgICAgICAgU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX0dSQVBIVklaIEZBTFNF
KQorICAgIGVuZGlmICgpCisKICAgICBmaW5kX3BhY2thZ2UoR1N0cmVhbWVyIDEuMTAuMCBSRVFV
SVJFRCBDT01QT05FTlRTICR7R1NUUkVBTUVSX0NPTVBPTkVOVFN9KQogCiAgICAgaWYgKEVOQUJM
RV9XRUJfQVVESU8pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385963</attachid>
            <date>2019-12-18 05:13:32 -0800</date>
            <delta_ts>2020-03-13 03:18:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204619-20191218131330.patch</filename>
            <type>text/plain</type>
            <size>626021</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNjc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
ZTA5NTY0ZjcwYmZmMDYyODFmODQzZDU0OWEwZGI3YzNhYzNkYmRlLi41YzQ1Y2IzYmZhMzBmNjky
ZDE3YmU0NTUyOTBlYzg5OTU5OWFkYzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBm
b3IgR1N0cmVhbWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb246
IEFkZCBHU3RyZWFtZXIgQVBJIGZvciBwaXBlbGluZSBpbnNwZWN0aW9uIGluIHRoZSBwYWdlIHBy
b3RvY29sLgorCiAyMDE5LTEyLTE3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+
CiAKICAgICAgICAgW0pTQ10gOEJpdCBKU1JvcGVTdHJpbmcgY2FuIGNvbnRhaW4gMTZCaXQgc3Ry
aW5nIGluIGl0cyByb3BlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I0OTk3NTlmN2U5MDI2MjBmYTE4NWM4ZDY1
ZTYwODAwNmI1YTI3ZS4uN2E5MWUzM2IwMTkzYmQwZTNiMTczNjIwYmJmODU1ODBhY2ZjZDZlZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE5LTExLTI2ICBQaGlsaXBwZSBOb3JtYW5k
ICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIFdlYiBJbnNwZWN0
b3I6IEFkZCBuZXcgdGFiIGZvciBHU3RyZWFtZXIgcGlwZWxpbmVzIGluc3BlY3Rpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDYxOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtlZXAgdHJhY2sgb2Yg
dGhlIEdTdHJlYW1lciBwaXBlbGluZXMsIHRoaXMgd2lsbCBhbGxvdyB0aGUKKyAgICAgICAgV2Vi
SW5zcGVjdG9yIHRvIGxpc3QgYW5kIGRpc3BsYXkgdGhlbSBpbiBhIGRlZGljYXRlZCB0YWIuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBkb2Vzbid0IGNvdmVyIHRoZSBwaXBlbGluZXMgY3JlYXRlZCBi
eSB0aGUgR1N0cmVhbWVyCisgICAgICAgIExpYldlYlJUQyBiYWNrZW5kLiBTdXBwb3J0IGZvciB0
aGF0IHdvdWxkIGJlIGFkZGVkIGxhdGVyLCBpZiB0aGUKKyAgICAgICAgY3VycmVudCBhcHByb2Fj
aCBpcyBkZWVtZWQgYWNjZXB0YWJsZS4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Db250ZXh0LmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rl
c3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWZhdWx0QXVkaW9EZXN0aW5h
dGlvbk5vZGU6OnVuaW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZWZhdWx0QXVkaW9E
ZXN0aW5hdGlvbk5vZGU6OmNyZWF0ZURlc3RpbmF0aW9uKToKKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Z3N0
cmVhbWVyUGlwZWxpbmVzQ2FjaGVVcGRhdGVkKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6cG9ydCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1lclBpcGVsaW5lQ2FjaGVVcGRh
dGVkSW1wbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFtZXJQ
aXBlbGluZUNhY2hlVXBkYXRlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50Ojpn
ZXRHU3RyZWFtZXJQaXBlbGluZXNOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQ
YWdlQWdlbnQ6OmdldEdTdHJlYW1lclBpcGVsaW5lQmluTmFtZXMpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpkdW1wR1N0cmVhbWVyUGlwZWxpbmUpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50Ojpnc3RyZWFtZXJQaXBlbGluZUNhY2hlVXBkYXRl
ZCk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvQXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyOjpBdWRp
b0Rlc3RpbmF0aW9uR1N0cmVhbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRGVzdGluYXRp
b25HU3RyZWFtZXI6On5BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJDbGllbnQ6OmdzdHJlYW1lclBpcGVsaW5lc0NhY2hlVXBkYXRlZCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpyZWdpc3RlckdTdHJlYW1lclBpcGVsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OnVu
cmVnaXN0ZXJHU3RyZWFtZXJQaXBlbGluZSk6CisgICAgICAgIChXZWJDb3JlOjpnc3RQaXBlbGlu
ZXNOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpkdW1wR1N0cmVhbWVyUGlwZWxpbmUpOgorICAg
ICAgICAoV2ViQ29yZTo6Z2V0QmluQ2hpbGRyZW4pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0UGlwZWxpbmUpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVHU1RQbGF5
QmluKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBp
cGVsaW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGVuZFBpcGVsaW5lOjpBcHBlbmRQaXBl
bGluZSk6CisgICAgICAgIChXZWJDb3JlOjpBcHBlbmRQaXBlbGluZTo6fkFwcGVuZFBpcGVsaW5l
KToKKwogMjAxOS0xMi0xOCAgQ2hyaXMgTG9yZCAgPGNsb3JkQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgTWlzc2luZyBoZWFkZXJzIGluIHdvcmtlciBmaWxlcyBjYXVzZSByYW5kb20gYnVpbGQgZmFp
bHVyZXMgd2hlbiBhZGRpbmcgbmV3IGZpbGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAw
YWQyMzY1NTY2ZTUzNTgxZGU0MmQ4ZjYzNmI1MzZkNDQwZjdlMzcwLi42OTliY2Q0YzI5ZTA5Yjhm
NTMxMTYwYzIyNWFmZDhiMGUxYzY5N2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4NSBAQAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBm
b3IgR1N0cmVhbWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3IgdGhlIFdQRSBhbmQgR1RLIHBvcnRzIGEgbmV3
IEluc3BlY3RvciB0YWIgaXMgbm93IGF2YWlsYWJsZS4gT24KKyAgICAgICAgdGhlIGxlZnQgaGFu
ZC1zaWRlIHRoZSBjdXJyZW50bHkgYWxpdmUgcGlwZWxpbmVzIGFyZSBsaXN0ZWQuIFdoZW4KKyAg
ICAgICAgYSBwaXBlbGluZSBpcyBzZWxlY3RlZCwgaXRzIGdyYXBoIHJlcHJlc2VudGF0aW9uIGlz
IGV4cG9ydGVkIHRvCisgICAgICAgIFNWRyBhbmQgZGlzcGxheWVkIG9uIHRoZSByaWdodCBoYW5k
LXNpZGUgb2YgdGhlIHRhYiB2aWV3LiBTdWIgYmlucworICAgICAgICBvZiB0aGUgcGlwZWxpbmVz
IGNhbiBiZSBzZWxlY3RlZCBhbmQgdGhlIGdyYXBoIHdpbGwgYmUgdXBkYXRlZAorICAgICAgICBh
Y2NvcmRpbmdseS4gVGhlIGZ1bGwgZ3JhcGggY2FuIGJlIGV4cG9ydGVkIHRvIEdyYXBoVml6IGZv
cm1hdCBhbmQKKyAgICAgICAgc2F2ZWQgdG8gYSBmaWxlLgorCisgICAgICAgIFRoZSB2aXouanMg
YW5kIHN2Zy1wYW4tem9vbSBKUyBsaWJyYXJpZXMgYXJlIG5vdyBidW5kbGVkIGFzCisgICAgICAg
IHRoaXJkLXBhcnR5IG1vZHVsZXMuIExhdGVyIG9uIHRoZSBkMywgZGFncmUtZDMgYW5kIGdyYXBo
bGliLWRvdAorICAgICAgICBsaWJyYXJpZXMgY291bGQgYmUgdXNlZC4gRm9yIHRoZSB0aW1lIGJl
aW5nIHRoZSBncmFwaGxpYi1kb3QKKyAgICAgICAgcGFyc2VyIGRvZXNuJ3QgaGFuZGxlIHRoZSBH
cmFwaHZpeiBtb2RlbHMgZXhwb3J0ZWQgYnkgR1N0cmVhbWVyLgorCisgICAgICAgICogTG9jYWxp
emF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFNjcmlwdHMv
Y29weS11c2VyLWludGVyZmFjZS1yZXNvdXJjZXMucGw6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9CYXNlL01haW4uanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL1BsYXRmb3JtLmpz
OgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR1N0cmVhbWVyTWFuYWdlci5q
czogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9FeHRlcm5hbC9zdmctcGFuLXpvb20u
anMvTElDRU5TRTogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9FeHRlcm5hbC9zdmct
cGFuLXpvb20uanMvc3ZnLXBhbi16b29tLm1pbi5qczogQWRkZWQuCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9FeHRlcm5hbC92aXouanMvTElDRU5TRTogQWRkZWQuCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9FeHRlcm5hbC92aXouanMvZnVsbC5yZW5kZXIuanM6IEFkZGVkLgorICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvdml6LmpzL2xpdGUucmVuZGVyLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL0V4dGVybmFsL3Zpei5qcy92aXouanM6IEFkZGVkLgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvSW1hZ2VzL0dTdHJlYW1lci5zdmc6IEFkZGVkLgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvTWFpbi5odG1sOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9k
ZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1Byb3RvY29sL1BhZ2VPYnNlcnZlci5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L0dTdHJlYW1lclNpZGViYXJQYW5lbC5jc3M6IEFkZGVkLgorICAgICAgICAoLnNpZGViYXIgPiAu
cGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciA+IC5jb250ZW50KToKKyAgICAgICAgKC5zaWRlYmFy
ID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgPiAubmF2aWdhdGlvbi1iYXIpOgorICAgICAg
ICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciA+IC5uYXZpZ2F0aW9uLWJh
ciAuZGVidWdnZXItYnJlYWtwb2ludHMpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2
aWdhdGlvbi5kZWJ1Z2dlciA+IC5uYXZpZ2F0aW9uLWJhciAuZGVidWdnZXItYnJlYWtwb2ludHMu
YWN0aXZhdGVkKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdn
ZXIgPiAubmF2aWdhdGlvbi1iYXIgLmRlYnVnZ2VyLXBhdXNlLXJlc3VtZSk6CisgICAgICAgICgu
c2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyID4gLm5hdmlnYXRpb24tYmFyIC5k
ZWJ1Z2dlci1wYXVzZS1yZXN1bWUuYWN0aXZhdGVkKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBh
bmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLndhcm5pbmctYmFubmVyKToKKyAgICAgICAgKC5zaWRl
YmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhy
ZWFkID4gLml0ZW0udGhyZWFkKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRp
b24uZGVidWdnZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkKToKKyAgICAgICAgKGJvZHlb
ZGlyPWx0cl0gLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAudHJlZS1vdXRs
aW5lLnNpbmdsZS10aHJlYWQpOgorICAgICAgICAoYm9keVtkaXI9cnRsXSAuc2lkZWJhciA+IC5w
YW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC50cmVlLW91dGxpbmUuc2luZ2xlLXRocmVhZCk6Cisg
ICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC53YXJuaW5nLWJh
bm5lciA+IGEpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dl
ciAuZGV0YWlscy1zZWN0aW9uKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRp
b24uZGVidWdnZXIgLmRldGFpbHMtc2VjdGlvbi5wYXVzZWQtcmVhc29uLmNvbGxhcHNlZCA+IC5o
ZWFkZXIgPiAub3B0aW9ucyk6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9u
LmRlYnVnZ2VyIC5kZXRhaWxzLXNlY3Rpb24gPiAuY29udGVudCk6CisgICAgICAgICguc2lkZWJh
ciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC5kZXRhaWxzLXNlY3Rpb24uY29sbGFwc2Vk
ID4gLmNvbnRlbnQpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1
Z2dlciAuZGV0YWlscy1zZWN0aW9uID4gLmNvbnRlbnQgPiAuZ3JvdXApOgorICAgICAgICAoLnNp
ZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0YWlscy1zZWN0aW9uLnNjcmlw
dHM6bm90KC5jb2xsYXBzZWQpKToKKyAgICAgICAgKEBtZWRpYSAocHJlZmVycy1kYXJrLWludGVy
ZmFjZSkpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBh
bmVsLmpzOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRh
YkNvbnRlbnRWaWV3LmNzczogQWRkZWQuCisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1l
cik6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciAubmF2aWdhdGlvbi1iYXIpOgor
ICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgLm5hdmlnYXRpb24tYmFyLmludmlzaWJs
ZSk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciAubmF2aWdhdGlvbi1iYXIgLml0
ZW0ucmFkaW8uYnV0dG9uLnRleHQtb25seSk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJl
YW1lciAubmF2aWdhdGlvbi1iYXIgLml0ZW0ucmFkaW8uYnV0dG9uLnRleHQtb25seS5zZWxlY3Rl
ZCk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+
IC5zZXBhcmF0b3IpOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVh
bWVyLXZpZXcgPiAuY29udGFpbmVyKToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVy
ID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lci5oaWRkZW4pOgorICAgICAgICAoLmNvbnRl
bnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyLWNlbnRlcmVk
KToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4g
LmNvbnRhaW5lciBidXR0b24pOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAu
Z3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLnRpdGxlKToKKyAgICAgICAgKGJvZHlbZGly
PWx0cl0gLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFp
bmVyID4gLnRpdGxlKToKKyAgICAgICAgKGJvZHlbZGlyPXJ0bF0gLmNvbnRlbnQtdmlldy5nc3Ry
ZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLnRpdGxlKToKKyAgICAgICAg
KC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+
IC5lZGl0b3ItZ3JvdXApOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0
cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXQp
OgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAu
Y29udGFpbmVyID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0iY2hlY2tib3gi
XSk6CisgICAgICAgIChib2R5W2Rpcj1sdHJdIC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdz
dHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAgPiAuZWRpdG9yIGlucHV0
W3R5cGU9ImNoZWNrYm94Il0pOgorICAgICAgICAoYm9keVtkaXI9cnRsXSAuY29udGVudC12aWV3
LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3Vw
ID4gLmVkaXRvciBpbnB1dFt0eXBlPSJjaGVja2JveCJdKToKKyAgICAgICAgKC5jb250ZW50LXZp
ZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3Jv
dXAgPiAuZWRpdG9yIHNlbGVjdCk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+
IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRvciBp
bnB1dFt0eXBlPSJudW1iZXIiXSk6CisgICAgICAgIChib2R5W2Rpcj1sdHJdIC5jb250ZW50LXZp
ZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3Jv
dXAgPiAuZWRpdG9yIGlucHV0W3R5cGU9Im51bWJlciJdKToKKyAgICAgICAgKGJvZHlbZGlyPXJ0
bF0gLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVy
ID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0ibnVtYmVyIl0pOgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuanM6IEFkZGVk
LgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVmlldy5qczogQWRkZWQu
CisKIDIwMTktMTItMTEgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogYWRkIFRhYk5hdmlnYXRpb24gZGlhZ25vc3RpYyBldmVudCBhbmQgcmVs
YXRlZCBob29rcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCBkNzk5ZDJhZGIwNzlmMTkxMTA1ZDRlYjgxNDUwY2RlOWZk
MWM4MmIxLi43MjQyOTQ4ZDYwMjIxYTU4ZTRkMTM0MjBkOGMzMmU5YzJlMzkzYmU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDE5LTExLTI2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1h
bmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIFdlYiBJbnNwZWN0b3I6IEFkZCBu
ZXcgdGFiIGZvciBHU3RyZWFtZXIgcGlwZWxpbmVzIGluc3BlY3Rpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDYxOQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW5zcGVjdG9yR1Jlc291cmNlcy5j
bWFrZTogQnVuZGxlIHN2Zy1wYW4tem9vbSBhbmQgdml6IEphdmFTY3JpcHQgbW9kdWxlcy4KKwog
MjAxOS0xMi0xOCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS11bV2ViSW5zcGVjdG9yXSBTdXBwb3J0IGZvciBzYXZpbmcgcmVtb3RlIGRhdGEK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAzZGNjZTBmODFlZDQ0Yzc0ZDYw
ZWE1YTBjNjI4ZDhiZmFkOTMzMDhmLi45YzRkYzVhZGJlYmQxOGIyYzc3YjMxODZhMmY4M2EwMzNk
YmY1MTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMTgzLDYgKzEx
ODMsMTIgQEAgaWYgKEVOQUJMRV9TRVJWSUNFX1dPUktFUikKICAgICApCiBlbmRpZiAoKQogCitp
ZiAoVVNFX0dTVFJFQU1FUikKKyAgICBsaXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9JTlNQRUNU
T1JfRE9NQUlOUworICAgICAgICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yL3Byb3Rv
Y29sL0dTdHJlYW1lci5qc29uCisgICAgKQorZW5kaWYgKCkKKwogYWRkX2N1c3RvbV9jb21tYW5k
KAogICAgIE9VVFBVVCAke0phdmFTY3JpcHRDb3JlX0RFUklWRURfU09VUkNFU19ESVJ9L0NvbWJp
bmVkRG9tYWlucy5qc29uCiAgICAgTUFJTl9ERVBFTkRFTkNZICR7SmF2YVNjcmlwdENvcmVfU0NS
SVBUU19ESVJ9L2dlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0dTdHJlYW1lci5qc29u
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9HU3RyZWFtZXIuanNv
bgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xYWYzZTM3NTg3MDJjNTg1MTE1ZDQxNWZhMTEwMDk3YzFjM2E2ZjBkCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2Nv
bC9HU3RyZWFtZXIuanNvbgpAQCAtMCwwICsxLDQ0IEBACit7CisgICAgImRvbWFpbiI6ICJHU3Ry
ZWFtZXIiLAorICAgICJmZWF0dXJlR3VhcmQiOiAiVVNFKEdTVFJFQU1FUikiLAorICAgICJkZWJ1
Z2dhYmxlVHlwZXMiOiBbInBhZ2UiLCAid2ViLXBhZ2UiXSwKKyAgICAidGFyZ2V0VHlwZXMiOiBb
InBhZ2UiXSwKKyAgICAidHlwZXMiOiBbXSwKKyAgICAiY29tbWFuZHMiOiBbCisgICAgICAgIHsK
KyAgICAgICAgICAgICJuYW1lIjogImdldEFjdGl2ZVBpcGVsaW5lc05hbWVzIiwKKyAgICAgICAg
ICAgICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHRoZSBsaXN0IG9mIGN1cnJlbnRseSBydW5uaW5n
IEdTdHJlYW1lciBwaXBlbGluZXMuIiwKKyAgICAgICAgICAgICJyZXR1cm5zIjogWworICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAicGlwZWxpbmVzIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMi
OiB7ICIkcmVmIjogInN0cmluZyJ9LCAiZGVzY3JpcHRpb24iOiAiQXJyYXkgb2YgcGlwZWxpbmUg
bmFtZXMuIiB9CisgICAgICAgICAgICBdCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAg
ICAgICJuYW1lIjogImdldEFjdGl2ZVBpcGVsaW5lQmluTmFtZXMiLAorICAgICAgICAgICAgImRl
c2NyaXB0aW9uIjogIlJldHVybnMgdGhlIGxpc3Qgb2YgYmlucyBpbiB0aGUgZ2l2ZW4gR1N0cmVh
bWVyIHBpcGVsaW5lLiIsCisgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInBpcGVsaW5lIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9u
IjogIk5hbWUgb2YgdGhlIEdTdHJlYW1lciBwaXBlbGluZSB0byBkdW1wLiIgfSwKKyAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImNoaWxkIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9u
IjogIk5hbWUgb2YgdGhlIGNoaWxkIGJpbiB0byBkdW1wLiIgfQorICAgICAgICAgICAgXSwKKyAg
ICAgICAgICAgICJyZXR1cm5zIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiYmluTmFt
ZXMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAic3RyaW5nIn0sICJkZXNj
cmlwdGlvbiI6ICJBcnJheSBvZiBiaW4gbmFtZXMuIiB9CisgICAgICAgICAgICBdCisgICAgICAg
IH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJuYW1lIjogImR1bXBBY3RpdmVQaXBlbGluZSIs
CisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB0aGUgU1ZHIHJlcHJlc2VudGF0
aW9uIG9mIHRoZSBnaXZlbiBHU3RyZWFtZXIgcGlwZWxpbmUuIiwKKyAgICAgICAgICAgICJwYXJh
bWV0ZXJzIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGlwZWxpbmUiLCAidHlwZSI6
ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgR1N0cmVhbWVyIHBpcGVsaW5l
IHRvIGR1bXAuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY2hpbGQiLCAidHlwZSI6
ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgY2hpbGQgYmluIHRvIGR1bXAu
IiB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgInJldHVybnMiOiBbCisgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJwaXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24iLCAidHlwZSI6ICJz
dHJpbmciLCAiZGVzY3JpcHRpb24iOiAiU1ZHIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwaXBlbGlu
ZSIgfQorICAgICAgICAgICAgXQorICAgICAgICB9CisgICAgXSwKKyAgICAiZXZlbnRzIjogWwor
ICAgICAgICB7CisgICAgICAgICAgICAibmFtZSI6ICJhY3RpdmVQaXBlbGluZXNDaGFuZ2VkIiwK
KyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIHRoZSBpbnRlcm5hbCByZWdp
c3RyeSBvZiBhY3RpdmUgR1N0cmVhbWVyIHBpcGVsaW5lcyB3YXMgdXBkYXRlZCwgZWcgd2hlbiBh
IG5ldyBwaXBlbGluZSB3YXMgcmVnaXN0ZXJlZCBvciB3aGVuIGEgcGlwZWxpbmUgd2FzIHJlbW92
ZWQgZnJvbSB0aGUgcmVnaXN0cnkuIgorICAgICAgICB9CisgICAgXQorfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmluZGV4IGQ2MTVjOTc5
YmI1NzU0MDFlNzc4MzJlNDljNTYzOGQ3OTk4ZTYzNzQuLjI0Y2RlZmJmMjM0NDk0MjRlNzk2Yzdh
NjI3MTJhYWI0ZjNkNzZhM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAgLTg0LDEwICs4NCw2IEBACiAjaW5jbHVkZSA8c3RkaW8u
aD4KICNlbmRpZgogCi0jaWYgVVNFKEdTVFJFQU1FUikKLSNpbmNsdWRlICJHU3RyZWFtZXJDb21t
b24uaCIKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpbmNsdWRlICJTY3Jp
cHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRp
b25Ob2RlLmNwcAppbmRleCAyNjcyZDY1ZTY4ZmViMDE2MjhiZWYwZjBlMGIwYWQ0ZDMxZjQ1Yjdj
Li5iNzBjYWFmZDhiZTcxZjcwZWY3N2QxYjU2NjNlMDA5YTBkZWQ2Mzk1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVkaW9E
ZXN0aW5hdGlvbk5vZGUuY3BwCkBAIC0zMCw2ICszMCw4IEBACiAKICNpbmNsdWRlICJBdWRpb0Nv
bnRleHQuaCIKICNpbmNsdWRlICJBdWRpb0Rlc3RpbmF0aW9uLmgiCisjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJM
b2dnaW5nLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBAIC03Nyw2ICs3OSwxMiBAQCB2b2lkIERlZmF1bHRB
dWRpb0Rlc3RpbmF0aW9uTm9kZTo6dW5pbml0aWFsaXplKCkKICAgICBtX2Rlc3RpbmF0aW9uID0g
bnVsbHB0cjsKICAgICBtX251bWJlck9mSW5wdXRDaGFubmVscyA9IDA7CiAKKyNpZiBVU0UoR1NU
UkVBTUVSKQorICAgIGF1dG8qIGRvY3VtZW50ID0gY29udGV4dCgpLmRvY3VtZW50KCk7CisgICAg
aWYgKGRvY3VtZW50KQorICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1l
ckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoZG9jdW1lbnQtPnBhZ2UoKSk7CisjZW5kaWYKKwogICAg
IEF1ZGlvTm9kZTo6dW5pbml0aWFsaXplKCk7CiB9CiAKQEAgLTg0LDggKzkyLDE0IEBAIHZvaWQg
RGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjpjcmVhdGVEZXN0aW5hdGlvbigpCiB7CiAgICAg
ZmxvYXQgaGFyZHdhcmVTYW1wbGVSYXRlID0gQXVkaW9EZXN0aW5hdGlvbjo6aGFyZHdhcmVTYW1w
bGVSYXRlKCk7CiAgICAgTE9HKFdlYkF1ZGlvLCAiPj4+PiBoYXJkd2FyZVNhbXBsZVJhdGUgPSAl
ZlxuIiwgaGFyZHdhcmVTYW1wbGVSYXRlKTsKLSAgICAKKwogICAgIG1fZGVzdGluYXRpb24gPSBB
dWRpb0Rlc3RpbmF0aW9uOjpjcmVhdGUoKnRoaXMsIG1faW5wdXREZXZpY2VJZCwgbV9udW1iZXJP
ZklucHV0Q2hhbm5lbHMsIGNoYW5uZWxDb3VudCgpLCBoYXJkd2FyZVNhbXBsZVJhdGUpOworCisj
aWYgVVNFKEdTVFJFQU1FUikKKyAgICBhdXRvKiBkb2N1bWVudCA9IGNvbnRleHQoKS5kb2N1bWVu
dCgpOworICAgIGlmIChkb2N1bWVudCkKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Ojpnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKGRvY3VtZW50LT5wYWdlKCkpOworI2Vu
ZGlmCiB9CiAKIHZvaWQgRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjplbmFibGVJbnB1dChj
b25zdCBTdHJpbmcmIGlucHV0RGV2aWNlSWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDhlOTJmZGFjMzc0
MDQ0YmFkZWJkNjE0YzQwMzY3MDY5MDYyODFiMmQuLmI3ZjRkMmRlMGMzMWZjYzRhZDI4ZGUxMDE5
ZGIzM2VjYzZlNWFmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xMzkzLDYgKzEzOTMsNyBAQCBpbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwCiBpbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAKIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yRGF0YWJhc2VBZ2VudC5jcHAKIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySW5kZXhlZERC
QWdlbnQuY3BwCitpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckdTdHJlYW1lckFnZW50LmNwcAog
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKIGluc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ck5ldHdvcmtBZ2VudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CmluZGV4IDczMGI0ZTM4OWU3ODNmZTU2Njc1NWI4YWMzNjg4MTE5ZjA5NjkxNjQuLmEyNjY2OTFh
YWM1ZWY4YjZiYTYyYmIzODcxZjIxZDE2NWJkNDg4NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNzIyNSw2ICs3MjI1LDExIEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6cmVxdWVzdEluc3RhbGxNaXNzaW5nUGx1Z2lucyhjb25zdCBTdHJpbmcmIGRldGFp
bHMsIGNvbnN0CiAKICAgICBkb2N1bWVudCgpLnBhZ2UoKS0+Y2hyb21lKCkuY2xpZW50KCkucmVx
dWVzdEluc3RhbGxNaXNzaW5nTWVkaWFQbHVnaW5zKGRldGFpbHMsIGRlc2NyaXB0aW9uLCBjYWxs
YmFjayk7CiB9CisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Z3N0cmVhbWVyQWN0aXZlUGlwZWxp
bmVzQ2hhbmdlZCgpCit7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFtZXJB
Y3RpdmVQaXBlbGluZXNDaGFuZ2VkKGRvY3VtZW50KCkucGFnZSgpKTsKK30KICNlbmRpZgogCiB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92ZUJlaGF2aW9yUmVzdHJpY3Rpb25zQWZ0ZXJGaXJz
dFVzZXJHZXN0dXJlKE1lZGlhRWxlbWVudFNlc3Npb246OkJlaGF2aW9yUmVzdHJpY3Rpb25zIG1h
c2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IGE1ZjE4N2I3OGY5
NDYxNDE0OWVkMmMzZDY0ZjRkYTY4NGEzYmM2MmUuLmJjMDkwMTM4MmE3YWY1OGM5NzEyYzhhODU0
NWI0YWU2NmRjMDEyNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBA
IC03NTgsNiArNzU4LDcgQEAgcHJpdmF0ZToKIAogI2lmIFVTRShHU1RSRUFNRVIpCiAgICAgdm9p
ZCByZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zKGNvbnN0IFN0cmluZyYgZGV0YWlscywgY29u
c3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgTWVkaWFQbGF5ZXJSZXF1ZXN0SW5zdGFsbE1pc3NpbmdQ
bHVnaW5zQ2FsbGJhY2smKSBmaW5hbDsKKyAgICB2b2lkIGdzdHJlYW1lckFjdGl2ZVBpcGVsaW5l
c0NoYW5nZWQoKSBmaW5hbDsKICNlbmRpZgogCiAgICAgdm9pZCBwZW5kaW5nQWN0aW9uVGltZXJG
aXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuY3BwCmluZGV4IDdkNTBkZGM3YTM4YTM3MjNlNGVlN2Q2NmNhOTdjOGFjYjM3YzcyNmEuLmVm
MTMyZjEyYjMxOWUwNDM1YmQ1N2MyNzYyYzA3MGU4NTRlNDM3NmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTg4LDYgKzg4LDEw
IEBACiAjaW5jbHVkZSAiUGFnZURlYnVnZ2FibGUuaCIKICNlbmRpZgogCisjaWYgVVNFKEdTVFJF
QU1FUikKKyNpbmNsdWRlICJJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5oIgorI2VuZGlmCisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKQEAgLTE3NCw2ICsxNzgs
MTAgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjcmVhdGVMYXp5QWdlbnRzKCkKICAgICBt
X2FnZW50cy5hcHBlbmQobWFrZVVuaXF1ZTxJbnNwZWN0b3JJbmRleGVkREJBZ2VudD4ocGFnZUNv
bnRleHQpKTsKICNlbmRpZgogCisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBtX2FnZW50cy5hcHBl
bmQobWFrZVVuaXF1ZTxJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudD4ocGFnZUNvbnRleHQpKTsKKyNl
bmRpZgorCiAgICAgYXV0byBzY3JpcHRQcm9maWxlckFnZW50UHRyID0gbWFrZVVuaXF1ZTxJbnNw
ZWN0b3JTY3JpcHRQcm9maWxlckFnZW50PihwYWdlQ29udGV4dCk7CiAgICAgbV9pbnN0cnVtZW50
aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JTY3JpcHRQcm9maWxlckFnZW50KHNjcmlwdFByb2ZpbGVy
QWdlbnRQdHIuZ2V0KCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChXVEZNb3ZlKHNjcmlwdFByb2Zp
bGVyQWdlbnRQdHIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kSG9zdC5jcHAKaW5kZXggZTcyMDRjYjMzNTNlOTI1MTAwMGZhNTIyYTI0Nzc4YWJi
NjYyMTdiNS4uNDY3ODViM2QwNGNiNzQwMzRiNWUwOTA4NjQ2MDQ3MjAxOGIyNjc2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAK
QEAgLTMxNSw2ICszMTUsOCBAQCBTdHJpbmcgSW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojpwb3J0KCkK
IHsKICNpZiBQTEFURk9STShHVEspCiAgICAgcmV0dXJuICJndGsiX3M7CisjZWxpZiBQTEFURk9S
TShXUEUpCisgICAgcmV0dXJuICJ3cGUiX3M7CiAjZWxzZQogICAgIHJldHVybiAidW5rbm93biJf
czsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCA0ZjE4YjU4YzZjZDAxZTBiNjlhODk1M2FkMDlhNzM5
YzM1MjA0OTZhLi43MTQ1ZWUwODZkYzg4YTkwYjdkNmVlMjdmOTg1OWNlYThkZjQ5ZTk5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcApAQCAtODUsNiArODUsMTAgQEAKICNpbmNsdWRlICJXZWJHUFVTd2FwQ2hhaW4uaCIK
ICNlbmRpZgogCisjaWYgVVNFKEdTVFJFQU1FUikKKyNpbmNsdWRlICJJbnNwZWN0b3JHU3RyZWFt
ZXJBZ2VudC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNw
YWNlIEluc3BlY3RvcjsKQEAgLTEyODYsNCArMTI5MCwxMiBAQCBJbnN0cnVtZW50aW5nQWdlbnRz
KiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0
KFNjcgogICAgIHJldHVybiBudWxscHRyOwogfQogCisjaWYgVVNFKEdTVFJFQU1FUikKK3ZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2Vk
SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzKQoreworICAgIGlm
IChhdXRvKiBnc3RyZWFtZXJBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yR1N0
cmVhbWVyQWdlbnQoKSkKKyAgICAgICAgZ3N0cmVhbWVyQWdlbnQtPmFjdGl2ZVBpcGVsaW5lc0No
YW5nZWQoKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXgg
ZGJmODIyMDVkYjViY2NiZTE2OWVkMGU5NDdkMWFkODNkZDg1MGZkNi4uZWJhNTZkODlmYzRiODc2
NDMwMWY5NmUwZTAxODE2ZTAzODMxMWE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMzE0LDYgKzMxNCwxMCBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbGF5ZXJUcmVlRGlkQ2hhbmdlKFBhZ2UqKTsKICAgICBz
dGF0aWMgdm9pZCByZW5kZXJMYXllckRlc3Ryb3llZChQYWdlKiwgY29uc3QgUmVuZGVyTGF5ZXIm
KTsKIAorI2lmIFVTRShHU1RSRUFNRVIpCisgICAgc3RhdGljIHZvaWQgZ3N0cmVhbWVyQWN0aXZl
UGlwZWxpbmVzQ2hhbmdlZChQYWdlKik7CisjZW5kaWYKKwogICAgIHN0YXRpYyB2b2lkIGZyb250
ZW5kQ3JlYXRlZCgpOwogICAgIHN0YXRpYyB2b2lkIGZyb250ZW5kRGVsZXRlZCgpOwogICAgIHN0
YXRpYyBib29sIGhhc0Zyb250ZW5kcygpIHsgcmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
blB1YmxpYzo6aGFzRnJvbnRlbmRzKCk7IH0KQEAgLTQ3OSw2ICs0ODMsOSBAQCBwcml2YXRlOgog
I2lmIEVOQUJMRShSRVNPVVJDRV9VU0FHRSkKICAgICBzdGF0aWMgdm9pZCBkaWRIYW5kbGVNZW1v
cnlQcmVzc3VyZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIENyaXRpY2FsKTsKICNlbmRpZgor
I2lmIFVTRShHU1RSRUFNRVIpCisgICAgc3RhdGljIHZvaWQgZ3N0cmVhbWVyQWN0aXZlUGlwZWxp
bmVzQ2hhbmdlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYpOworI2VuZGlmCiAKICAgICBzdGF0
aWMgdm9pZCBuZXR3b3JrU3RhdGVDaGFuZ2VkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJik7CiAg
ICAgc3RhdGljIHZvaWQgdXBkYXRlQXBwbGljYXRpb25DYWNoZVN0YXR1c0ltcGwoSW5zdHJ1bWVu
dGluZ0FnZW50cyYsIEZyYW1lJik7CkBAIC0xNjE1LDYgKzE2MjIsMTUgQEAgaW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRmlyZUFuaW1hdGlvbkZyYW1lKERvY3VtZW50
JiBkb2N1bWVudCwKICAgICAgICAgd2lsbEZpcmVBbmltYXRpb25GcmFtZUltcGwoKmluc3RydW1l
bnRpbmdBZ2VudHMsIGNhbGxiYWNrSWQsIGRvY3VtZW50KTsKIH0KIAorI2lmIFVTRShHU1RSRUFN
RVIpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1lckFjdGl2
ZVBpcGVsaW5lc0NoYW5nZWQoUGFnZSogcGFnZSkKK3sKKyAgICBGQVNUX1JFVFVSTl9JRl9OT19G
Uk9OVEVORFModm9pZCgpKTsKKyAgICBpZiAoYXV0byogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGlu
c3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQorICAgICAgICBnc3RyZWFtZXJBY3RpdmVQ
aXBlbGluZXNDaGFuZ2VkSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cyk7Cit9CisjZW5kaWYKKwog
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaXJlQW5pbWF0aW9uRnJh
bWUoRG9jdW1lbnQmIGRvY3VtZW50KQogewogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5E
Uyh2b2lkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1l
bnRpbmdBZ2VudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdB
Z2VudHMuY3BwCmluZGV4IDFmOWEwZDdjNTMyYTNmOTA4NTZjMTg0YTFmZmMzYjFjZjM1ZWZjODcu
LmViN2MzMTg3YTJjZTAxMWRlMDU3ZGQyYjkzMTFjOTYyYzZhMGU5MzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAKQEAgLTcxLDYgKzcx
LDkgQEAgdm9pZCBJbnN0cnVtZW50aW5nQWdlbnRzOjpyZXNldCgpCiAgICAgbV9pbnNwZWN0b3JD
YW52YXNBZ2VudCA9IG51bGxwdHI7CiAgICAgbV9wZXJzaXN0ZW50SW5zcGVjdG9yQW5pbWF0aW9u
QWdlbnQgPSBudWxscHRyOwogICAgIG1fdHJhY2tpbmdJbnNwZWN0b3JBbmltYXRpb25BZ2VudCA9
IG51bGxwdHI7CisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBtX2luc3BlY3RvckdTdHJlYW1lckFn
ZW50ID0gbnVsbHB0cjsKKyNlbmRpZgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAppbmRleCBmNmZl
YTdkYTIxMzYwZGQwOGNjM2Q5NjZiMTRlMmFhYzQ2NTQ0OTE1Li40YTZkMzk3Zjg2YWJlMTM4YWM4
NTBiNjk5ZThmNzZkYmRlYWNjOWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTM2LDYgKzM2LDEwIEBACiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAorI2lmIFVTRShHU1RS
RUFNRVIpCisjaW5jbHVkZSAiSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaCIKKyNlbmRpZgorCiBu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKIGNsYXNzIEluc3BlY3RvckFnZW50OwogY2xhc3MgSW5zcGVj
dG9yRGVidWdnZXJBZ2VudDsKQEAgLTE1OSw2ICsxNjMsMTEgQEAgcHVibGljOgogICAgIEluc3Bl
Y3RvckFuaW1hdGlvbkFnZW50KiB0cmFja2luZ0luc3BlY3RvckFuaW1hdGlvbkFnZW50KCkgY29u
c3QgeyByZXR1cm4gbV90cmFja2luZ0luc3BlY3RvckFuaW1hdGlvbkFnZW50OyB9CiAgICAgdm9p
ZCBzZXRUcmFja2luZ0luc3BlY3RvckFuaW1hdGlvbkFnZW50KEluc3BlY3RvckFuaW1hdGlvbkFn
ZW50KiBhZ2VudCkgeyBtX3RyYWNraW5nSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQgPSBhZ2VudDsg
fQogCisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCogaW5z
cGVjdG9yR1N0cmVhbWVyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvckdTdHJlYW1l
ckFnZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudChJbnNwZWN0b3JH
U3RyZWFtZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCA9IGFnZW50
OyB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBJbnN0cnVtZW50aW5nQWdlbnRzKEluc3BlY3Rv
cjo6SW5zcGVjdG9yRW52aXJvbm1lbnQmKTsKIApAQCAtMTkxLDYgKzIwMCw5IEBAIHByaXZhdGU6
CiAgICAgSW5zcGVjdG9yQ2FudmFzQWdlbnQqIG1faW5zcGVjdG9yQ2FudmFzQWdlbnQgeyBudWxs
cHRyIH07CiAgICAgSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQqIG1fcGVyc2lzdGVudEluc3BlY3Rv
ckFuaW1hdGlvbkFnZW50IHsgbnVsbHB0ciB9OwogICAgIEluc3BlY3RvckFuaW1hdGlvbkFnZW50
KiBtX3RyYWNraW5nSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQgeyBudWxscHRyIH07CisjaWYgVVNF
KEdTVFJFQU1FUikKKyAgICBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCogbV9pbnNwZWN0b3JHU3Ry
ZWFtZXJBZ2VudCB7IG51bGxwdHIgfTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JHU3RyZWFtZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckdTdHJlYW1lckFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDBjYzY4ZWVlNTI3ZDkwZjZi
YjhiZmMxNGFhZjYxZTEyOWJhN2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5jcHAKQEAgLTAsMCArMSw4
MCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIx
MTAtMTMwMSAgVVNBCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkluc3Bl
Y3RvckdTdHJlYW1lckFnZW50LmgiCisKKyNpZiBVU0UoR1NUUkVBTUVSKQorCisjaW5jbHVkZSAi
R1N0cmVhbWVyQ29tbW9uLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKKworSW5zcGVj
dG9yR1N0cmVhbWVyQWdlbnQ6Okluc3BlY3RvckdTdHJlYW1lckFnZW50KFBhZ2VBZ2VudENvbnRl
eHQmIGNvbnRleHQpCisgICAgOiBJbnNwZWN0b3JBZ2VudEJhc2UoIkdTdHJlYW1lciJfcywgY29u
dGV4dCkKKyAgICAsIG1fYmFja2VuZERpc3BhdGNoZXIoSW5zcGVjdG9yOjpHU3RyZWFtZXJCYWNr
ZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGNvbnRleHQuYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpKQor
ICAgICwgbV9mcm9udGVuZERpc3BhdGNoZXIobWFrZVVuaXF1ZTxJbnNwZWN0b3I6OkdTdHJlYW1l
ckZyb250ZW5kRGlzcGF0Y2hlcj4oY29udGV4dC5mcm9udGVuZFJvdXRlcikpCit7Cit9CisKK0lu
c3BlY3RvckdTdHJlYW1lckFnZW50Ojp+SW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQoKSA9IGRlZmF1
bHQ7CisKK3ZvaWQgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlz
cGF0Y2hlciopCit7Cit9CisKK3ZvaWQgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6OndpbGxEZXN0
cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikKK3sKK30K
Kwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudDo6Z2V0QWN0aXZlUGlwZWxpbmVzTmFtZXMo
RXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxTdHJpbmc+PiYg
cGlwZWxpbmVzKQoreworICAgIHBpcGVsaW5lcyA9IEpTT046OkFycmF5T2Y8U3RyaW5nPjo6Y3Jl
YXRlKCk7CisgICAgVU5VU0VEX1BBUkFNKGVycm9yU3RyaW5nKTsKKyAgICBmb3IgKGF1dG8gaXRl
bSA6IGFjdGl2ZVBpcGVsaW5lc05hbWVzKCkpCisgICAgICAgIHBpcGVsaW5lcy0+YWRkSXRlbShT
dHJpbmc6OmZyb21VVEY4KGl0ZW0pKTsKK30KKwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJBZ2Vu
dDo6Z2V0QWN0aXZlUGlwZWxpbmVCaW5OYW1lcyhFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNv
bnN0IFN0cmluZyYgcGlwZWxpbmUsIGNvbnN0IFN0cmluZyYgY2hpbGQsIFJlZlB0cjxKU09OOjpB
cnJheU9mPFN0cmluZz4+JiBuYW1lcykKK3sKKyAgICBuYW1lcyA9IEpTT046OkFycmF5T2Y8U3Ry
aW5nPjo6Y3JlYXRlKCk7CisgICAgVU5VU0VEX1BBUkFNKGVycm9yU3RyaW5nKTsKKyAgICBmb3Ig
KGF1dG8gaXRlbSA6IGdldEJpbkNoaWxkcmVuKHBpcGVsaW5lLCBjaGlsZCkpCisgICAgICAgIG5h
bWVzLT5hZGRJdGVtKFN0cmluZzo6ZnJvbVVURjgoaXRlbSkpOworfQorCit2b2lkIEluc3BlY3Rv
ckdTdHJlYW1lckFnZW50OjpkdW1wQWN0aXZlUGlwZWxpbmUoRXJyb3JTdHJpbmcmIGVycm9yU3Ry
aW5nLCBjb25zdCBTdHJpbmcmIHBpcGVsaW5lLCBjb25zdCBTdHJpbmcmIGNoaWxkLCBTdHJpbmcq
IHBpcGVsaW5lR3JhcGhSZXByZXNlbnRhdGlvbikKK3sKKyAgICBhdXRvIHN2Z0RhdGEgPSBXZWJD
b3JlOjpkdW1wQWN0aXZlUGlwZWxpbmUocGlwZWxpbmUsIGNoaWxkKTsKKyAgICBpZiAoc3ZnRGF0
YS5pc051bGwoKSkKKyAgICAgICAgZXJyb3JTdHJpbmcgPSAiSW52YWxpZCBwaXBlbGluZSBvciBi
aW4iX3M7CisgICAgZWxzZQorICAgICAgICAqcGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uID0g
U3RyaW5nOjpmcm9tVVRGOChzdmdEYXRhKTsKK30KKwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJB
Z2VudDo6YWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpCit7CisgICAgbV9mcm9udGVuZERpc3BhdGNo
ZXItPmFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gVVNFKEdTVFJFQU1FUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44NDI0OTlmNzNhYTg5NWNjODcwMTQwMmNjMTNkMzE5NjhlMzExYTZkCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JHU3RyZWFtZXJB
Z2VudC5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxp
YSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5z
ZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0
d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgVVNFKEdTVFJFQU1FUikKKworI2luY2x1ZGUgIkluc3BlY3RvcldlYkFnZW50QmFzZS5oIgor
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oPgor
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaD4K
KyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Cit0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKKworY2xhc3MgSW5zcGVjdG9yR1N0cmVhbWVy
QWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9y
OjpHU3RyZWFtZXJCYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEluc3BlY3RvckdTdHJlYW1lckFnZW50KTsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKKyAgICBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudChQYWdlQWdlbnRDb250
ZXh0Jik7CisgICAgfkluc3BlY3RvckdTdHJlYW1lckFnZW50KCkgb3ZlcnJpZGU7CisKKyAgICAv
LyBJbnNwZWN0b3JBZ2VudEJhc2UKKyAgICB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2Vu
ZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hl
ciopIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5z
cGVjdG9yOjpEaXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKKworICAgIC8vIEdTdHJlYW1lckJh
Y2tlbmREaXNwYXRjaGVySGFuZGxlcgorICAgIHZvaWQgZ2V0QWN0aXZlUGlwZWxpbmVzTmFtZXMo
RXJyb3JTdHJpbmcmLCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxTdHJpbmc+PiYgcGlwZWxpbmVzKSBv
dmVycmlkZTsKKyAgICB2b2lkIGdldEFjdGl2ZVBpcGVsaW5lQmluTmFtZXMoRXJyb3JTdHJpbmcm
LCBjb25zdCBTdHJpbmcmIHBpcGVsaW5lLCBjb25zdCBTdHJpbmcmIGNoaWxkLCBSZWZQdHI8SlNP
Tjo6QXJyYXlPZjxTdHJpbmc+PiYgbmFtZXMpIG92ZXJyaWRlOworICAgIHZvaWQgZHVtcEFjdGl2
ZVBpcGVsaW5lKEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBwaXBlbGluZSwgY29uc3QgU3Ry
aW5nJiBjaGlsZCwgU3RyaW5nKiBwaXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24pIG92ZXJyaWRl
OworICAgIHZvaWQgYWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOworCitwcml2YXRlOgorICAgIFJl
ZlB0cjxJbnNwZWN0b3I6OkdTdHJlYW1lckJhY2tlbmREaXNwYXRjaGVyPiBtX2JhY2tlbmREaXNw
YXRjaGVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3I6OkdTdHJlYW1lckZyb250ZW5k
RGlzcGF0Y2hlcj4gbV9mcm9udGVuZERpc3BhdGNoZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4IGNmODlm
OWViNTA1MjMyNmZjZjhjYmQyNmQ4NTk2Y2Y0NzI0YzIzNjEuLjk2NzRhYjM4NmYzM2UyZTcyZTZk
Y2E5YzFkMzFiYWYyNDdlYWU2N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKQEAgLTgwLDYgKzgwLDkgQEAKICNp
bmNsdWRlICJMZWdhY3lXZWJBcmNoaXZlLmgiCiAjZW5kaWYKIAorI2lmIFVTRShHU1RSRUFNRVIp
CisjaW5jbHVkZSAiR1N0cmVhbWVyQ29tbW9uLmgiCisjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvclBhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JQYWdlQWdlbnQuaAppbmRleCA0ZmQ4YzBiMTAxNmU1YWI0NzUyNTU4ZDY1MzBhYmI1MjBlY2Vh
MjZhLi45ZDFhNDQ4MGExY2VkODE5NmY1YWNhYmY3NmQ4MjgwNTE2YmFmZjc5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmgK
QEAgLTEzNCw2ICsxMzQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRMYXlvdXQoKTsKICAgICB2
b2lkIGRpZFNjcm9sbCgpOwogICAgIHZvaWQgZGlkUmVjYWxjdWxhdGVTdHlsZSgpOworICAgIHZv
aWQgZ3N0cmVhbWVyUGlwZWxpbmVDYWNoZVVwZGF0ZWQoKTsKIAogICAgIEZyYW1lKiBmcmFtZUZv
cklkKGNvbnN0IFN0cmluZyYgZnJhbWVJZCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGZy
YW1lSWQoRnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dTdHJl
YW1lci5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dTdHJlYW1lci5jbWFrZQppbmRl
eCA4NzRkNDlhZjFlNDE5YWNjODRhNDY2ZDI4Y2EwMjNjNmJjOWFmOWY5Li5kMDQ5ZDM5Y2UwZDI1
NTE0NTU0MWM3ODlkMTZkYjJmMTM3MzE1YTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9HU3RyZWFtZXIuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR1N0
cmVhbWVyLmNtYWtlCkBAIC03NSw2ICs3NSw3IEBAIGlmIChFTkFCTEVfVklERU8gT1IgRU5BQkxF
X1dFQl9BVURJTykKICAgICAgICAgJHtHU1RSRUFNRVJfQkFTRV9JTkNMVURFX0RJUlN9CiAgICAg
ICAgICR7R1NUUkVBTUVSX0FQUF9JTkNMVURFX0RJUlN9CiAgICAgICAgICR7R1NUUkVBTUVSX1BC
VVRJTFNfSU5DTFVERV9ESVJTfQorICAgICAgICAke0dSQVBIVklaX0lOQ0xVREVfRElSU30KICAg
ICApCiAKICAgICBsaXN0KEFQUEVORCBXZWJDb3JlX0xJQlJBUklFUwpAQCAtODMsNiArODQsNyBA
QCBpZiAoRU5BQkxFX1ZJREVPIE9SIEVOQUJMRV9XRUJfQVVESU8pCiAgICAgICAgICR7R1NUUkVB
TUVSX0xJQlJBUklFU30KICAgICAgICAgJHtHU1RSRUFNRVJfUEJVVElMU19MSUJSQVJJRVN9CiAg
ICAgICAgICR7R1NUUkVBTUVSX0FVRElPX0xJQlJBUklFU30KKyAgICAgICAgJHtHUkFQSFZJWl9M
SUJSQVJJRVN9CiAgICAgKQogCiAgICAgIyBBdm9pZGluZyBhIEdMaWIgZGVwcmVjYXRpb24gd2Fy
bmluZyBkdWUgdG8gR1N0cmVhbWVyIEFQSSB1c2luZyBkZXByZWNhdGVkIGNsYXNzZXMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvQXVkaW9EZXN0
aW5hdGlvbkdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3Ry
ZWFtZXIvQXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lci5jcHAKaW5kZXggMWE1NDk1ZmQ3NjRkOWMz
Y2M2ZWRiNTgxZmE0ODBlYWVhZDE0NTliZi4uOWQ0YWYyYzZjMWIwNTE2OTQ4N2Q4MjE0NzEzYjRi
NzQyMjM5N2Q3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0
cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyLmNwcApA
QCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkF1ZGlvQ2hhbm5lbC5oIgogI2luY2x1ZGUgIkF1
ZGlvU291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJHUmVmUHRyR1N0cmVhbWVyLmgiCisjaW5j
bHVkZSAiR1N0cmVhbWVyQ29tbW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUg
IldlYktpdFdlYkF1ZGlvU291cmNlR1N0cmVhbWVyLmgiCiAjaW5jbHVkZSA8Z3N0L2F1ZGlvL2dz
dGF1ZGlvYmFzZXNpbmsuaD4KQEAgLTgzLDcgKzg0LDggQEAgQXVkaW9EZXN0aW5hdGlvbkdTdHJl
YW1lcjo6QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcihBdWRpb0lPQ2FsbGJhY2smIGNhbGxiYWNr
LAogICAgICwgbV9zYW1wbGVSYXRlKHNhbXBsZVJhdGUpCiAgICAgLCBtX2lzUGxheWluZyhmYWxz
ZSkKIHsKLSAgICBtX3BpcGVsaW5lID0gZ3N0X3BpcGVsaW5lX25ldygicGxheSIpOworICAgIG1f
cGlwZWxpbmUgPSBnc3RfcGlwZWxpbmVfbmV3KCJ3ZWJhdWRpby1wbGF5YmFjayIpOworICAgIHJl
Z2lzdGVyQWN0aXZlUGlwZWxpbmUobV9waXBlbGluZSk7CiAgICAgR1JlZlB0cjxHc3RCdXM+IGJ1
cyA9IGFkb3B0R1JlZihnc3RfcGlwZWxpbmVfZ2V0X2J1cyhHU1RfUElQRUxJTkUobV9waXBlbGlu
ZSkpKTsKICAgICBBU1NFUlQoYnVzKTsKICAgICBnc3RfYnVzX2FkZF9zaWduYWxfd2F0Y2hfZnVs
bChidXMuZ2V0KCksIFJ1bkxvb3BTb3VyY2VQcmlvcml0eTo6UnVuTG9vcERpc3BhdGNoZXIpOwpA
QCAtMTMwLDggKzEzMiw4IEBAIEF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXI6On5BdWRpb0Rlc3Rp
bmF0aW9uR1N0cmVhbWVyKCkKICAgICBHUmVmUHRyPEdzdEJ1cz4gYnVzID0gYWRvcHRHUmVmKGdz
dF9waXBlbGluZV9nZXRfYnVzKEdTVF9QSVBFTElORShtX3BpcGVsaW5lKSkpOwogICAgIEFTU0VS
VChidXMpOwogICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyhidXMuZ2V0
KCksIHJlaW50ZXJwcmV0X2Nhc3Q8Z3BvaW50ZXI+KG1lc3NhZ2VDYWxsYmFjayksIHRoaXMpOwor
ICAgIHVucmVnaXN0ZXJQaXBlbGluZShtX3BpcGVsaW5lKTsKICAgICBnc3RfYnVzX3JlbW92ZV9z
aWduYWxfd2F0Y2goYnVzLmdldCgpKTsKLQogICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3Bp
cGVsaW5lLCBHU1RfU1RBVEVfTlVMTCk7CiAgICAgZ3N0X29iamVjdF91bnJlZihtX3BpcGVsaW5l
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5o
CmluZGV4IDc2MWJjNTAzOTI4YjI2ZmJkZDdkODk5YjFjYzRhMjI2NjJjMWE1ZTYuLmNmMjM1YWNi
MTk5MzViMmQ5ZTJhMWQ4N2I5YmNmNzdkY2I3NmMyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMjcyLDYgKzI3Miw3IEBAIHB1Ymxp
YzoKIAogI2lmIFVTRShHU1RSRUFNRVIpCiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RJbnN0YWxs
TWlzc2luZ1BsdWdpbnMoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgTWVkaWFQbGF5ZXJS
ZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zQ2FsbGJhY2smKSB7IH07CisgICAgdmlydHVhbCB2
b2lkIGdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKSB7IH07CiAjZW5kaWYKIAogICAg
IHZpcnR1YWwgYm9vbCBtZWRpYVBsYXllclNob3VsZERpc2FibGVTbGVlcCgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CkBAIC02MzYsNiArNjM3LDcgQEAgcHVibGljOgogCiAjaWYgVVNFKEdTVFJF
QU1FUikKICAgICB2b2lkIHJlcXVlc3RJbnN0YWxsTWlzc2luZ1BsdWdpbnMoY29uc3QgU3RyaW5n
JiBkZXRhaWxzLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBNZWRpYVBsYXllclJlcXVlc3RJ
bnN0YWxsTWlzc2luZ1BsdWdpbnNDYWxsYmFjayYgY2FsbGJhY2spIHsgY2xpZW50KCkucmVxdWVz
dEluc3RhbGxNaXNzaW5nUGx1Z2lucyhkZXRhaWxzLCBkZXNjcmlwdGlvbiwgY2FsbGJhY2spOyB9
CisgICAgdm9pZCBnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCkgeyBjbGllbnQoKS5n
c3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7IH0KICNlbmRpZgogCiBwcml2YXRlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dT
dHJlYW1lckNvbW1vbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmNwcAppbmRleCAwODliZjc0Zjc0ZWM2NGE2ZjgwNDQ1YzM1
M2RkYTM1MTJhYjM1NGQ0Li5iOTg4OWExNjc0YWQyMjhmMDM0OWMxNmYyMTg4MTk2NTY5NTM1NWFh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
R1N0cmVhbWVyQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmNwcApAQCAtMzAsOSArMzAsMTYgQEAKICNpbmNs
dWRlIDxnc3QvYXVkaW8vYXVkaW8taW5mby5oPgogI2luY2x1ZGUgPGdzdC9nc3QuaD4KICNpbmNs
dWRlIDxtdXRleD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9OZXZl
ckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaD4KICNpbmNs
dWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvUnVuTG9vcFNv
dXJjZVByaW9yaXR5Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgorCisjaWYg
VVNFKEdSQVBIVklaKQorI2luY2x1ZGUgPGdyYXBodml6L2d2Yy5oPgorI2VuZGlmCiAKICNpZiBF
TkFCTEUoVklERU9fVFJBQ0spICYmIFVTRShHU1RSRUFNRVJfTVBFR1RTKQogI2RlZmluZSBHU1Rf
VVNFX1VOU1RBQkxFX0FQSQpAQCAtMzkxLDYgKzM5OCwxMTcgQEAgYm9vbCBpc0dTdHJlYW1lclBs
dWdpbkF2YWlsYWJsZShjb25zdCBjaGFyKiBuYW1lKQogICAgIHJldHVybiBwbHVnaW47CiB9CiAK
K3N0YXRpYyBIYXNoTWFwPENTdHJpbmcsIEdzdEJpbio+JiBhY3RpdmVQaXBlbGluZXNNYXAoKQor
eworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPENTdHJpbmcsIEdzdEJpbio+PiBh
Y3RpdmVQaXBlbGluZXM7CisgICAgcmV0dXJuIGFjdGl2ZVBpcGVsaW5lcy5nZXQoKTsKK30KKwor
dm9pZCByZWdpc3RlckFjdGl2ZVBpcGVsaW5lKEdzdEVsZW1lbnQqIHBpcGVsaW5lKQoreworICAg
IEFTU0VSVChHU1RfSVNfRUxFTUVOVChwaXBlbGluZSkpOworICAgIEFTU0VSVChpc01haW5UaHJl
YWQoKSk7CisKKyAgICBHVW5pcXVlUHRyPGdjaGFyPiBuYW1lKGdzdF9vYmplY3RfZ2V0X25hbWUo
R1NUX09CSkVDVF9DQVNUKHBpcGVsaW5lKSkpOworICAgIGF1dG8gYWRkUmVzdWx0ID0gYWN0aXZl
UGlwZWxpbmVzTWFwKCkuYWRkKG5hbWUuZ2V0KCksIG51bGxwdHIpOworICAgIGlmICghYWRkUmVz
dWx0LmlzTmV3RW50cnkpCisgICAgICAgIHJldHVybjsKKyAgICBhZGRSZXN1bHQuaXRlcmF0b3It
PnZhbHVlID0gR1NUX0JJTl9DQVNUKHBpcGVsaW5lKTsKK30KKwordm9pZCB1bnJlZ2lzdGVyUGlw
ZWxpbmUoR3N0RWxlbWVudCogcGlwZWxpbmUpCit7CisgICAgQVNTRVJUKEdTVF9JU19FTEVNRU5U
KHBpcGVsaW5lKSk7CisKKyAgICBHVW5pcXVlUHRyPGdjaGFyPiBuYW1lKGdzdF9vYmplY3RfZ2V0
X25hbWUoR1NUX09CSkVDVF9DQVNUKHBpcGVsaW5lKSkpOworICAgIGFjdGl2ZVBpcGVsaW5lc01h
cCgpLnJlbW92ZShuYW1lLmdldCgpKTsKK30KKworVmVjdG9yPENTdHJpbmc+IGFjdGl2ZVBpcGVs
aW5lc05hbWVzKCkKK3sKKyAgICBWZWN0b3I8Q1N0cmluZz4gbmFtZXM7CisgICAgYXV0byYgbWFw
ID0gYWN0aXZlUGlwZWxpbmVzTWFwKCk7CisgICAgbmFtZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0
eShtYXAuc2l6ZSgpKTsKKyAgICBmb3IgKGF1dG8mIG5hbWUgOiBtYXAua2V5cygpKQorICAgICAg
ICBuYW1lcy51bmNoZWNrZWRBcHBlbmQobmFtZSk7CisKKyAgICBzdGQ6OnNvcnQobmFtZXMuYmVn
aW4oKSwgbmFtZXMuZW5kKCkpOworICAgIHJldHVybiBuYW1lczsKK30KKworQ1N0cmluZyBleHBv
cnRCaW5Ub1NWRyhHc3RCaW4qIGJpbikKK3sKKyNpZiBVU0UoR1JBUEhWSVopCisgICAgR1VuaXF1
ZVB0cjxnY2hhcj4gZG90RGF0YShnc3RfZGVidWdfYmluX3RvX2RvdF9kYXRhKGJpbiwgR1NUX0RF
QlVHX0dSQVBIX1NIT1dfQUxMKSk7CisgICAgQWdyYXBoX3QqIGdyYXBoID0gYWdtZW1yZWFkKGRv
dERhdGEuZ2V0KCkpOworCisgICAgR1ZDX3QqIGNvbnRleHQgPSBndkNvbnRleHQoKTsKKyAgICBn
dkxheW91dChjb250ZXh0LCBncmFwaCwgImRvdCJfcyk7CisKKyAgICB1bnNpZ25lZCBsZW5ndGg7
CisgICAgY2hhciogc3ZnRGF0YTsKKyAgICBpZiAoZ3ZSZW5kZXJEYXRhKGNvbnRleHQsIGdyYXBo
LCAic3ZnIl9zLCAmc3ZnRGF0YSwgJmxlbmd0aCkpIHsKKyAgICAgICAgZ3ZGcmVlTGF5b3V0KGNv
bnRleHQsIGdyYXBoKTsKKyAgICAgICAgYWdjbG9zZShncmFwaCk7CisgICAgICAgIGd2RnJlZUNv
bnRleHQoY29udGV4dCk7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgQ1N0cmlu
ZyBzdmcgeyBzdmdEYXRhLCBsZW5ndGggfTsKKyAgICBndkZyZWVSZW5kZXJEYXRhKHN2Z0RhdGEp
OworICAgIGd2RnJlZUxheW91dChjb250ZXh0LCBncmFwaCk7CisgICAgYWdjbG9zZShncmFwaCk7
CisgICAgZ3ZGcmVlQ29udGV4dChjb250ZXh0KTsKKyAgICByZXR1cm4gc3ZnOworI2Vsc2UKKyAg
ICBVTlVTRURfUEFSQU0oYmluKTsKKyAgICByZXR1cm4gIjxzdmcgaGVpZ2h0PVwiMzBcIiB3aWR0
aD1cIjIwMFwiPjx0ZXh0IHg9XCIwXCIgeT1cIjE1XCIgZmlsbD1cInJlZFwiPlBpcGVsaW5lIGNh
bm5vdCBiZSBkaXBsYXllZC4gUGxlYXNlIGluc3RhbGwgR3JhcGh2aXogYWxvbmcgd2l0aCBpdHMg
ZGV2ZWxvcG1lbnQgaGVhZGVycyBhbmQgcmVjb21waWxlIFdlYktpdC4gwq9cXF8o44OEKV8vwq88
L3RleHQ+PC9zdmc+IjsKKyNlbmRpZgorfQorCitDU3RyaW5nIGR1bXBBY3RpdmVQaXBlbGluZShj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgc3ViQmluTmFtZSkKK3sKKyAgICBHc3RC
aW4qIHBpcGVsaW5lID0gYWN0aXZlUGlwZWxpbmVzTWFwKCkuZ2V0KG5hbWUudXRmOCgpKTsKKyAg
ICBpZiAoIXBpcGVsaW5lKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgaWYgKHN1YkJpbk5h
bWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZXhwb3J0QmluVG9TVkcocGlwZWxpbmUpOwor
CisgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBjaGlsZCA9IGFkb3B0R1JlZihnc3RfYmluX2dldF9i
eV9uYW1lKHBpcGVsaW5lLCBzdWJCaW5OYW1lLnV0ZjgoKS5kYXRhKCkpKTsKKyAgICBpZiAoR1NU
X0lTX0JJTihjaGlsZC5nZXQoKSkpCisgICAgICAgIHJldHVybiBleHBvcnRCaW5Ub1NWRyhHU1Rf
QklOX0NBU1QoY2hpbGQuZ2V0KCkpKTsKKworICAgIHJldHVybiB7IH07Cit9CisKK1ZlY3RvcjxD
U3RyaW5nPiBnZXRCaW5DaGlsZHJlbihjb25zdCBTdHJpbmcmIHBpcGVsaW5lTmFtZSwgY29uc3Qg
U3RyaW5nJiBiaW5OYW1lKQoreworICAgIFZlY3RvcjxDU3RyaW5nPiBjaGlsZHJlbjsKKyAgICBH
c3RCaW4qIHBpcGVsaW5lID0gYWN0aXZlUGlwZWxpbmVzTWFwKCkuZ2V0KHBpcGVsaW5lTmFtZS51
dGY4KCkpOworICAgIGlmICghcGlwZWxpbmUpCisgICAgICAgIHJldHVybiBjaGlsZHJlbjsKKwor
ICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gcGFyZW50OworCisgICAgaWYgKGJpbk5hbWUuaXNFbXB0
eSgpKQorICAgICAgICBwYXJlbnQgPSBHU1RfRUxFTUVOVF9DQVNUKGdzdF9vYmplY3RfcmVmKHBp
cGVsaW5lKSk7CisgICAgZWxzZQorICAgICAgICBwYXJlbnQgPSBhZG9wdEdSZWYoZ3N0X2Jpbl9n
ZXRfYnlfbmFtZShwaXBlbGluZSwgYmluTmFtZS51dGY4KCkuZGF0YSgpKSk7CisKKyAgICBpZiAo
IXBhcmVudCB8fCAhR1NUX0lTX0JJTihwYXJlbnQuZ2V0KCkpKQorICAgICAgICByZXR1cm4gY2hp
bGRyZW47CisKKyAgICBmb3IgKEdMaXN0KiBpdGVtID0gR1NUX0JJTl9DSElMRFJFTihHU1RfQklO
X0NBU1QocGFyZW50LmdldCgpKSk7IGl0ZW07IGl0ZW0gPSBpdGVtLT5uZXh0KSB7CisgICAgICAg
IGlmIChHU1RfSVNfQklOKGl0ZW0tPmRhdGEpKSB7CisgICAgICAgICAgICBHVW5pcXVlUHRyPGdj
aGFyPiBuYW1lKGdzdF9lbGVtZW50X2dldF9uYW1lKEdTVF9FTEVNRU5UX0NBU1QoaXRlbS0+ZGF0
YSkpKTsKKyAgICAgICAgICAgIGNoaWxkcmVuLmFwcGVuZChDU3RyaW5nKG5hbWUuZ2V0KCkpKTsK
KyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBjaGlsZHJlbjsKK30KKwogfQogCiAjZW5k
aWYgLy8gVVNFKEdTVFJFQU1FUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uaAppbmRleCA5NjljN2Mz
MzRiOTUwM2EyMWE3MmUzNzlmMTM3YzI3YTZiOTE4MTI1Li4zMGNmZjE5NmVlOTgxYTdhNjAzZGM0
ZmVkZTEzYTFmZmM2M2ZlZDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5oCkBAIC0yMjMsNiAr
MjIzLDEyIEBAIGVudW0gY2xhc3MgR3N0VmlkZW9EZWNvZGVyUGxhdGZvcm0geyBJbXhWUFUsIFZp
ZGVvNExpbnV4IH07CiAKIGJvb2wgaXNHU3RyZWFtZXJQbHVnaW5BdmFpbGFibGUoY29uc3QgY2hh
ciogbmFtZSk7CiAKK3ZvaWQgcmVnaXN0ZXJBY3RpdmVQaXBlbGluZShHc3RFbGVtZW50Kik7Cit2
b2lkIHVucmVnaXN0ZXJQaXBlbGluZShHc3RFbGVtZW50Kik7CitWZWN0b3I8Q1N0cmluZz4gYWN0
aXZlUGlwZWxpbmVzTmFtZXMoKTsKK0NTdHJpbmcgZHVtcEFjdGl2ZVBpcGVsaW5lKGNvbnN0IFN0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBzdWJCaW5OYW1lKTsKK1ZlY3RvcjxDU3RyaW5nPiBn
ZXRCaW5DaGlsZHJlbihjb25zdCBTdHJpbmcmIHBpcGVsaW5lTmFtZSwgY29uc3QgU3RyaW5nJiBi
aW5OYW1lKTsKKwogfQogCiAjaWZuZGVmIEdTVF9CVUZGRVJfRFRTX09SX1BUUwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA1M2Q1NmY4ZTk1
MDgzNDI4ODM3Y2VjMThhNDEwYWM1ODQxYjBlMDI2Li40ZmVjMzdlM2NhZWFjYmVlZWZiZDI2OTRi
ZjlmNjZmNmQ5ZGM4NDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmNwcApAQCAtNDQ4LDkgKzQ0OCwxNCBAQCBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXI6On5NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIoKQogCiAgICAgLy8gVGhlIGNoYW5n
ZSB0byBHU1RfU1RBVEVfTlVMTCBzdGF0ZSBpcyBhbHdheXMgc3luY2hyb25vdXMuIFNvIGFmdGVy
IHRoaXMgZ2V0cyBleGVjdXRlZCB3ZSBkb24ndCBuZWVkIHRvIHdvcnJ5CiAgICAgLy8gYWJvdXQg
aGFuZGxlcnMgcnVubmluZyBpbiB0aGUgR1N0cmVhbWVyIHRocmVhZC4KLSAgICBpZiAobV9waXBl
bGluZSkKKyAgICBpZiAobV9waXBlbGluZSkgeworICAgICAgICB1bnJlZ2lzdGVyUGlwZWxpbmUo
bV9waXBlbGluZS5nZXQoKSk7CiAgICAgICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3BpcGVs
aW5lLmdldCgpLCBHU1RfU1RBVEVfTlVMTCk7CiAKKyAgICAgICAgaWYgKG1fcGxheWVyKQorICAg
ICAgICAgICAgbV9wbGF5ZXItPmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKTsKKyAg
ICB9CisKICAgICBtX3BsYXllciA9IG51bGxwdHI7CiB9CiAKQEAgLTE3MDcsNiArMTcxMiw5IEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp2aWRlb0NoYW5nZWRDYWxsYmFjayhN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cjo6c2V0UGlwZWxpbmUoR3N0RWxlbWVudCogcGlwZWxpbmUpCiB7CiAgICAgbV9waXBlbGluZSA9
IHBpcGVsaW5lOworICAgIHJlZ2lzdGVyQWN0aXZlUGlwZWxpbmUobV9waXBlbGluZS5nZXQoKSk7
CisgICAgaWYgKG1fcGxheWVyKQorICAgICAgICBtX3BsYXllci0+Z3N0cmVhbWVyQWN0aXZlUGlw
ZWxpbmVzQ2hhbmdlZCgpOwogCiAgICAgR1JlZlB0cjxHc3RCdXM+IGJ1cyA9IGFkb3B0R1JlZihn
c3RfcGlwZWxpbmVfZ2V0X2J1cyhHU1RfUElQRUxJTkUobV9waXBlbGluZS5nZXQoKSkpKTsKICAg
ICBnc3RfYnVzX3NldF9zeW5jX2hhbmRsZXIoYnVzLmdldCgpLCBbXShHc3RCdXMqLCBHc3RNZXNz
YWdlKiBtZXNzYWdlLCBncG9pbnRlciB1c2VyRGF0YSkgewpAQCAtMjg5Myw2ICsyOTAxLDkgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlCaW4oY29uc3Qg
VVJMJiB1cmwsIGNvbnN0IFN0cmluZyYKICAgICAgICAgfQogCiAgICAgICAgIEdTVF9JTkZPX09C
SkVDVChwaXBlbGluZSgpLCAiVGVhcmluZyBkb3duIGFzIHdlIG5lZWQgdG8gdXNlICVzIG5vdy4i
LCBwbGF5YmluTmFtZSk7CisgICAgICAgIHVucmVnaXN0ZXJQaXBlbGluZShtX3BpcGVsaW5lLmdl
dCgpKTsKKyAgICAgICAgaWYgKG1fcGxheWVyKQorICAgICAgICAgICAgbV9wbGF5ZXItPmdzdHJl
YW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKTsKICAgICAgICAgY2hhbmdlUGlwZWxpbmVTdGF0
ZShHU1RfU1RBVEVfTlVMTCk7CiAgICAgICAgIG1fcGlwZWxpbmUgPSBudWxscHRyOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCA4NTE2
NWQxYmYxMjljZWNlMWExMjZkMWMzMDRkM2ZjOTYyZTcyNTM4Li42OWNjNjA3NTJmNzg5ZGJkYTcx
NjRkMDM1NDVhMmFhMDE5NjBhM2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5oCkBAIC0xMjcsNiArMTI3LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBN
ZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlIGV4dGVuZGVkU3VwcG9ydHNUeXBlKGNvbnN0IE1lZGlh
RW5naW5lU3VwcG9ydFBhcmFtZXRlcnMmLCBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlKTsKICAg
ICBzdGF0aWMgYm9vbCBzdXBwb3J0c0tleVN5c3RlbShjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CiAKKyAgICBNZWRpYVBsYXllciogbWVkaWFQbGF5ZXIo
KSBjb25zdCB7IHJldHVybiBtX3BsYXllcjsgfQorCiAgICAgYm9vbCBoYXNWaWRlbygpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1faGFzVmlkZW87IH0KICAgICBib29sIGhhc0F1ZGlvKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9oYXNBdWRpbzsgfQogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcg
JnVybCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCmluZGV4IDVh
MmJkZWRhMWI4N2ExZGVhOGM2YmJmNWY2OTg0MWQ3ZTlmNjZjMGIuLmIzZTkwMjhiMmYyMjkzMGZl
ZjEwMjUyNGI5NmU5ZjA3ZjM3NDkxN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUu
Y3BwCkBAIC0xMTUsOSArMTE1LDExIEBAIEFwcGVuZFBpcGVsaW5lOjpBcHBlbmRQaXBlbGluZShS
ZWY8TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+IG1lZGlhU291cmNlQ2xpCiAgICAgLy8g
RklYTUU6IGdpdmUgYSBuYW1lIHRvIHRoZSBwaXBlbGluZSwgbWF5YmUgcmVsYXRlZCB3aXRoIHRo
ZSB0cmFjayBpdCdzIG1hbmFnaW5nLgogICAgIC8vIFRoZSB0cmFjayBuYW1lIGlzIHN0aWxsIHVu
a25vd24gYXQgdGhpcyB0aW1lLCB0aG91Z2guCiAgICAgc3RhdGljIHNpemVfdCBhcHBlbmRQaXBl
bGluZUNvdW50ID0gMDsKLSAgICBTdHJpbmcgcGlwZWxpbmVOYW1lID0gbWFrZVN0cmluZygiYXBw
ZW5kLXBpcGVsaW5lLSIsCisgICAgU3RyaW5nIHBpcGVsaW5lTmFtZSA9IG1ha2VTdHJpbmcoIm1z
ZS1hcHBlbmQtcGlwZWxpbmUtIiwKICAgICAgICAgbV9zb3VyY2VCdWZmZXJQcml2YXRlLT50eXBl
KCkuY29udGFpbmVyVHlwZSgpLnJlcGxhY2UoIi8iLCAiLSIpLCAnLScsIGFwcGVuZFBpcGVsaW5l
Q291bnQrKyk7CiAgICAgbV9waXBlbGluZSA9IGdzdF9waXBlbGluZV9uZXcocGlwZWxpbmVOYW1l
LnV0ZjgoKS5kYXRhKCkpOworICAgIHJlZ2lzdGVyQWN0aXZlUGlwZWxpbmUobV9waXBlbGluZS5n
ZXQoKSk7CisgICAgbV9wbGF5ZXJQcml2YXRlLT5tZWRpYVBsYXllcigpLT5nc3RyZWFtZXJBY3Rp
dmVQaXBlbGluZXNDaGFuZ2VkKCk7CiAKICAgICBtX2J1cyA9IGFkb3B0R1JlZihnc3RfcGlwZWxp
bmVfZ2V0X2J1cyhHU1RfUElQRUxJTkUobV9waXBlbGluZS5nZXQoKSkpKTsKICAgICBnc3RfYnVz
X2FkZF9zaWduYWxfd2F0Y2hfZnVsbChtX2J1cy5nZXQoKSwgUnVuTG9vcFNvdXJjZVByaW9yaXR5
OjpSdW5Mb29wRGlzcGF0Y2hlcik7CkBAIC0yNDIsNiArMjQ0LDkgQEAgQXBwZW5kUGlwZWxpbmU6
On5BcHBlbmRQaXBlbGluZSgpCiAgICAgLy8gd2hlbiBjaGFuZ2luZyB0aGUgcGlwZWxpbmUgc3Rh
dGUuCiAKICAgICBpZiAobV9waXBlbGluZSkgeworICAgICAgICB1bnJlZ2lzdGVyUGlwZWxpbmUo
bV9waXBlbGluZS5nZXQoKSk7CisgICAgICAgIGlmIChtX3BsYXllclByaXZhdGUpCisgICAgICAg
ICAgICBtX3BsYXllclByaXZhdGUtPm1lZGlhUGxheWVyKCktPmdzdHJlYW1lckFjdGl2ZVBpcGVs
aW5lc0NoYW5nZWQoKTsKICAgICAgICAgQVNTRVJUKG1fYnVzKTsKICAgICAgICAgZ19zaWduYWxf
aGFuZGxlcnNfZGlzY29ubmVjdF9ieV9kYXRhKG1fYnVzLmdldCgpLCB0aGlzKTsKICAgICAgICAg
Z3N0X2J1c19kaXNhYmxlX3N5bmNfbWVzc2FnZV9lbWlzc2lvbihtX2J1cy5nZXQoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2Nh
bGl6ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4u
bHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCBlNTE5NTZhNDQ4OTRkOTE1MjJlNzZhNGUy
ZTY0MzNhNGZlYTFlMWM4Li5mZjUwNDJlZGI2Njg2Nzg2NWFjZDg5YWUzMjllMzI0YmRjN2Y0OWEw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJv
ai9sb2NhbGl6ZWRTdHJpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6
YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKQEAgLTUyMSw2ICs1MjEsNyBAQCBs
b2NhbGl6ZWRTdHJpbmdzWyJFeHBvcnQgKCVzKSJdID0gIkV4cG9ydCAoJXMpIjsKIGxvY2FsaXpl
ZFN0cmluZ3NbIkV4cG9ydCBIQVIiXSA9ICJFeHBvcnQgSEFSIjsKIGxvY2FsaXplZFN0cmluZ3Nb
IkV4cG9ydCBSZXN1bHQiXSA9ICJFeHBvcnQgUmVzdWx0IjsKIGxvY2FsaXplZFN0cmluZ3NbIkV4
cG9ydCBUZXN0Il0gPSAiRXhwb3J0IFRlc3QiOworbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IHBp
cGVsaW5lIGRvdCByZXByZXNlbnRhdGlvbiAoJXMpIl0gPSAiRXhwb3J0IHBpcGVsaW5lIGRvdCBy
ZXByZXNlbnRhdGlvbiAoJXMpIjsKIGxvY2FsaXplZFN0cmluZ3NbIkV4cG9ydCByZWNvcmRpbmcg
KCVzKSJdID0gIkV4cG9ydCByZWNvcmRpbmcgKCVzKSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJFeHBv
cnQgcmVjb3JkaW5nICglcylcblNoaWZ0LWNsaWNrIHRvIGV4cG9ydCBhIEhUTUwgcmVkdWN0aW9u
Il0gPSAiRXhwb3J0IHJlY29yZGluZyAoJXMpXG5TaGlmdC1jbGljayB0byBleHBvcnQgYSBIVE1M
IHJlZHVjdGlvbiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJFeHBvcnQgcmVzdWx0ICglcykiXSA9ICJF
eHBvcnQgcmVzdWx0ICglcykiOwpAQCAtNTc4LDYgKzU3OSw3IEBAIGxvY2FsaXplZFN0cmluZ3Nb
IkZ1bGwtU2NyZWVuIGZyb20gXHUyMDFDJXNcdTIwMUQiXSA9ICJGdWxsLVNjcmVlbiBmcm9tIFx1
MjAxQyVzCiBsb2NhbGl6ZWRTdHJpbmdzWyJGdW5jdGlvbiJdID0gIkZ1bmN0aW9uIjsKIGxvY2Fs
aXplZFN0cmluZ3NbIkZ1bmN0aW9uIE5hbWUgVmFyaWFibGUiXSA9ICJGdW5jdGlvbiBOYW1lIFZh
cmlhYmxlIjsKIGxvY2FsaXplZFN0cmluZ3NbIkdJRiJdID0gIkdJRiI7Citsb2NhbGl6ZWRTdHJp
bmdzWyJHU3RyZWFtZXIiXSA9ICJHU3RyZWFtZXIiOwogbG9jYWxpemVkU3RyaW5nc1siR2FyYmFn
ZSBDb2xsZWN0aW9uIl0gPSAiR2FyYmFnZSBDb2xsZWN0aW9uIjsKIGxvY2FsaXplZFN0cmluZ3Nb
IkdlbmVyYWwiXSA9ICJHZW5lcmFsIjsKIGxvY2FsaXplZFN0cmluZ3NbIkdldHRlciJdID0gIkdl
dHRlciI7CkBAIC04NTUsNiArODU3LDcgQEAgbG9jYWxpemVkU3RyaW5nc1siUGVyaW9kcyBvZiBo
aWdoIENQVSB1dGlsaXphdGlvbiB3aWxsIHJhcGlkbHkgZHJhaW4gYmF0dGVyeS4gU3QKIGxvY2Fs
aXplZFN0cmluZ3NbIlBpbmciXSA9ICJQaW5nIjsKIGxvY2FsaXplZFN0cmluZ3NbIlBpbmcgRnJh
bWUiXSA9ICJQaW5nIEZyYW1lIjsKIGxvY2FsaXplZFN0cmluZ3NbIlBpbmdzIl0gPSAiUGluZ3Mi
OworbG9jYWxpemVkU3RyaW5nc1siUGlwZWxpbmVzIl0gPSAiUGlwZWxpbmVzIjsKIGxvY2FsaXpl
ZFN0cmluZ3NbIlBsYXkgU291bmQiXSA9ICJQbGF5IFNvdW5kIjsKIC8qIFRvb2x0aXAgZm9yIGEg
dGltZSByYW5nZSBiYXIgdGhhdCByZXByZXNlbnRzIHdoZW4gdGhlIHBsYXliYWNrIG9mIGEgYXVk
aW8vdmlkZW8gZWxlbWVudCBpcyBydW5uaW5nICovCiBsb2NhbGl6ZWRTdHJpbmdzWyJQbGF5aW5n
Il0gPSAiUGxheWluZyI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvU2NyaXB0
cy9jb3B5LXVzZXItaW50ZXJmYWNlLXJlc291cmNlcy5wbCBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9TY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBsCmluZGV4IGZkYmFkMzgz
YjJlZmI2YzJiYjk1NGY3NWU1ZTMxNzNmM2M0NjE2ZTguLjNjMDdjYzVhODEwZWIwNGNlNGU2NThk
ZTcwNmY2OTlmMWI2OTUxODQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9TY3Jp
cHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBsCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9TY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBsCkBAIC0xNjYs
MTMgKzE2NiwxNiBAQCBteSAkcHJvdG9jb2xEaXIgPSBGaWxlOjpTcGVjLT5jYXRkaXIoJHRhcmdl
dFJlc291cmNlUGF0aCwgJ1Byb3RvY29sJyk7CiBteSAkd29ya2Vyc0RpciA9IEZpbGU6OlNwZWMt
PmNhdGRpcigkdGFyZ2V0UmVzb3VyY2VQYXRoLCAnV29ya2VycycpOwogbXkgJGNvZGVNaXJyb3JQ
YXRoID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCR1aVJvb3QsICdFeHRlcm5hbCcsICdDb2RlTWlycm9y
Jyk7CiBteSAkZXNwcmltYVBhdGggPSBGaWxlOjpTcGVjLT5jYXRkaXIoJHVpUm9vdCwgJ0V4dGVy
bmFsJywgJ0VzcHJpbWEnKTsKK215ICRkM1BhdGggPSBGaWxlOjpTcGVjLT5jYXRkaXIoJHVpUm9v
dCwgJ0V4dGVybmFsJywgJ2QzLmpzJyk7CiBteSAkdGhyZWVqc1BhdGggPSBGaWxlOjpTcGVjLT5j
YXRkaXIoJHVpUm9vdCwgJ0V4dGVybmFsJywgJ3RocmVlLmpzJyk7CiAKICR3ZWJJbnNwZWN0b3JV
SUFkZGl0aW9uc0RpciA9ICZ3ZWJJbnNwZWN0b3JVSUFkZGl0aW9uc0RpcigpOwogCiBteSAkY29k
ZU1pcnJvckxpY2Vuc2UgPSByZWFkTGljZW5zZUZpbGUoRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkY29k
ZU1pcnJvclBhdGgsICdMSUNFTlNFJykpOwogbXkgJGVzcHJpbWFMaWNlbnNlID0gcmVhZExpY2Vu
c2VGaWxlKEZpbGU6OlNwZWMtPmNhdGZpbGUoJGVzcHJpbWFQYXRoLCAnTElDRU5TRScpKTsKK215
ICRkM0xpY2Vuc2UgPSByZWFkTGljZW5zZUZpbGUoRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkZDNQYXRo
LCAnTElDRU5TRScpKTsKIG15ICR0aHJlZWpzTGljZW5zZSA9IHJlYWRMaWNlbnNlRmlsZShGaWxl
OjpTcGVjLT5jYXRmaWxlKCR0aHJlZWpzUGF0aCwgJ0xJQ0VOU0UnKSk7CisKIG1ha2VfcGF0aCgk
cHJvdG9jb2xEaXIsICR0YXJnZXRSZXNvdXJjZVBhdGgpOwogCiAkcHl0aG9uID0gJEVOVnsiUFlU
SE9OIn0gaWYgZGVmaW5lZCgkRU5WeyJQWVRIT04ifSk7CkBAIC0xODMsNiArMTg2LDggQEAgY29w
eShGaWxlOjpTcGVjLT5jYXRmaWxlKCRFTlZ7J0pBVkFTQ1JJUFRDT1JFX1BSSVZBVEVfSEVBREVS
U19ESVInfSwgJ0luc3BlY3RvckIKIG15ICRmb3JjZVRvb2xJbnN0YWxsID0gZGVmaW5lZCAkRU5W
eydGT1JDRV9UT09MX0lOU1RBTEwnfSAmJiAoJEVOVnsnRk9SQ0VfVE9PTF9JTlNUQUxMJ30gZXEg
J1lFUycpOwogbXkgJHNob3VsZENvbWJpbmVNYWluID0gZGVmaW5lZCAkRU5WeydDT01CSU5FX0lO
U1BFQ1RPUl9SRVNPVVJDRVMnfSAmJiAoJEVOVnsnQ09NQklORV9JTlNQRUNUT1JfUkVTT1VSQ0VT
J30gZXEgJ1lFUycpOwogbXkgJHNob3VsZENvbWJpbmVUZXN0ID0gZGVmaW5lZCAkRU5WeydDT01C
SU5FX1RFU1RfUkVTT1VSQ0VTJ30gJiYgKCRFTlZ7J0NPTUJJTkVfVEVTVF9SRVNPVVJDRVMnfSBl
cSAnWUVTJyk7CitteSAkc2hvdWxkQ29tYmluZUdTdHJlYW1lclJlc291cmNlcyA9IGRlZmluZWQg
JEVOVnsnQ09NQklORV9HU1RSRUFNRVJfUkVTT1VSQ0VTJ30gJiYgKCRFTlZ7J0NPTUJJTkVfR1NU
UkVBTUVSX1JFU09VUkNFUyd9IGVxICdZRVMnKTsKKwogbXkgJGNvbWJpbmVSZXNvdXJjZXNDbWQg
PSBGaWxlOjpTcGVjLT5jYXRmaWxlKCRzY3JpcHRzUm9vdCwgJ2NvbWJpbmUtcmVzb3VyY2VzLnBs
Jyk7CiAKIGlmICgkZm9yY2VUb29sSW5zdGFsbCkgewpAQCAtMzQ2LDYgKzM1MSwxNyBAQCBpZiAo
JHNob3VsZENvbWJpbmVNYWluKSB7CiAgICAgICAgJy0tb3V0cHV0LWRpcicsICRkZXJpdmVkU291
cmNlc0RpciwKICAgICAgICAnLS1vdXRwdXQtc2NyaXB0LW5hbWUnLCAnVGhyZWUuanMnKTsKIAor
ICAgIGlmICgkc2hvdWxkQ29tYmluZUdTdHJlYW1lclJlc291cmNlcykgeworICAgICAgICAjIENv
bWJpbmUgdGhlIGQzLmpzIEphdmFTY3JpcHQgZmlsZXMgaW4gUHJvZHVjdGlvbiBidWlsZHMgaW50
byBhIHNpbmdsZSBmaWxlIChEMy5qcykuCisgICAgICAgIHN5c3RlbSgkcGVybCwgJGNvbWJpbmVS
ZXNvdXJjZXNDbWQsCisgICAgICAgICAgICctLWlucHV0LWRpcicsICdFeHRlcm5hbC9kMy5qcycs
CisgICAgICAgICAgICctLWlucHV0LWh0bWwnLCAkZGVyaXZlZFNvdXJjZXNNYWluSFRNTCwKKyAg
ICAgICAgICAgJy0taW5wdXQtaHRtbC1kaXInLCAkdWlSb290LAorICAgICAgICAgICAnLS1kZXJp
dmVkLXNvdXJjZXMtZGlyJywgJGRlcml2ZWRTb3VyY2VzRGlyLAorICAgICAgICAgICAnLS1vdXRw
dXQtZGlyJywgJGRlcml2ZWRTb3VyY2VzRGlyLAorICAgICAgICAgICAnLS1vdXRwdXQtc2NyaXB0
LW5hbWUnLCAnRDMuanMnKTsKKyAgICB9CisKICAgICAjIFJlbW92ZSBjb25zb2xlLmFzc2VydCBj
YWxscyBmcm9tIHRoZSBNYWluLmpzIGZpbGUuCiAgICAgbXkgJGRlcml2ZWRTb3VyY2VzTWFpbkpT
ID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkZGVyaXZlZFNvdXJjZXNEaXIsICdNYWluLmpzJyk7CiAg
ICAgc3lzdGVtKCRwZXJsLCBGaWxlOjpTcGVjLT5jYXRmaWxlKCRzY3JpcHRzUm9vdCwgJ3JlbW92
ZS1jb25zb2xlLWFzc2VydHMucGwnKSwKQEAgLTQwNiw2ICs0MjIsMTggQEAgaWYgKCRzaG91bGRD
b21iaW5lTWFpbikgewogICAgIG15ICRkZXJpdmVkU291cmNlc1RocmVlanNKUyA9IEZpbGU6OlNw
ZWMtPmNhdGZpbGUoJGRlcml2ZWRTb3VyY2VzRGlyLCAnVGhyZWUuanMnKTsKICAgICBzeXN0ZW0o
cXEoIiRweXRob24iICIkanNNaW5TY3JpcHQiIDwgIiRkZXJpdmVkU291cmNlc1RocmVlanNKUyIg
Pj4gIiR0YXJnZXRUaHJlZWpzSlMiKSkgYW5kIGRpZSAiRmFpbGVkIHRvIG1pbmlmeSAkZGVyaXZl
ZFNvdXJjZXNUaHJlZWpzSlM6ICQhIjsKIAorICAgIG15ICR0YXJnZXREM0pTID0gRmlsZTo6U3Bl
Yy0+Y2F0ZmlsZSgkdGFyZ2V0UmVzb3VyY2VQYXRoLCAnRDMuanMnKTsKKyAgICBpZiAoJHNob3Vs
ZENvbWJpbmVHU3RyZWFtZXJSZXNvdXJjZXMpIHsKKyAgICAgICAgIyBFeHBvcnQgdGhlIGxpY2Vu
c2UgaW50byBEMy5qcy4KKyAgICAgICAgc2VlZEZpbGUoJHRhcmdldEQzSlMsICRkM0xpY2Vuc2Up
OworCisgICAgICAgICMgTWluaWZ5IHRoZSBEMy5qcyBmaWxlLCBhcHBlbmRpbmcgdG8gdGhlIGxp
Y2Vuc2UgdGhhdCB3YXMgZXhwb3J0ZWQgYWJvdmUuCisgICAgICAgIG15ICRkZXJpdmVkU291cmNl
c0QzSlMgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCRkZXJpdmVkU291cmNlc0RpciwgJ0QzLmpzJyk7
CisgICAgICAgIHN5c3RlbShxcSgiJHB5dGhvbiIgIiRqc01pblNjcmlwdCIgPCAiJGRlcml2ZWRT
b3VyY2VzRDNKUyIgPj4gIiR0YXJnZXREM0pTIikpIGFuZCBkaWUgIkZhaWxlZCB0byBtaW5pZnkg
JGRlcml2ZWRTb3VyY2VzRDNKUzogJCEiOworICAgIH0gZWxzZSB7CisgICAgICAgIHNlZWRGaWxl
KCR0YXJnZXREM0pTLCAiIik7CisgICAgfQorCiAgICAgIyBDb3B5IG92ZXIgdGhlIEltYWdlcyBk
aXJlY3RvcnkuCiAgICAgZGl0dG8oRmlsZTo6U3BlYy0+Y2F0ZGlyKCR1aVJvb3QsICdJbWFnZXMn
KSwgRmlsZTo6U3BlYy0+Y2F0ZGlyKCR0YXJnZXRSZXNvdXJjZVBhdGgsICdJbWFnZXMnKSk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFp
bi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwpp
bmRleCBlOWViZDY4YTVkNzg0ZDVlZTE5ZjAwYjNiZGI0MzlmMTUzY2Q2YzE3Li5kZjExNTBlY2Q3
NTcyZDA2MzgwMTE2NjFlYTYxNTFkMGZmZTY3OWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCkBAIC03MSw2ICs3MSw4IEBAIFdJLmxv
YWRlZCA9IGZ1bmN0aW9uKCkKICAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRhdGFi
YXNlRGlzcGF0Y2hlcihXSS5EYXRhYmFzZU9ic2VydmVyKTsKICAgICBpZiAoSW5zcGVjdG9yQmFj
a2VuZC5yZWdpc3RlckRlYnVnZ2VyRGlzcGF0Y2hlcikKICAgICAgICAgSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckRlYnVnZ2VyRGlzcGF0Y2hlcihXSS5EZWJ1Z2dlck9ic2VydmVyKTsKKyAgICBp
ZiAoSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckdTdHJlYW1lckRpc3BhdGNoZXIpCisgICAgICAg
IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJHU3RyZWFtZXJEaXNwYXRjaGVyKFdJLkdTdHJlYW1l
ck9ic2VydmVyKTsKICAgICBpZiAoSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckhlYXBEaXNwYXRj
aGVyKQogICAgICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVySGVhcERpc3BhdGNoZXIoV0ku
SGVhcE9ic2VydmVyKTsKICAgICBpZiAoSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rlckluc3BlY3Rv
ckRpc3BhdGNoZXIpCkBAIC0xMjMsNiArMTI1LDcgQEAgV0kubG9hZGVkID0gZnVuY3Rpb24oKQog
ICAgICAgICBXSS53b3JrZXJNYW5hZ2VyID0gbmV3IFdJLldvcmtlck1hbmFnZXIsCiAgICAgICAg
IFdJLmRvbURlYnVnZ2VyTWFuYWdlciA9IG5ldyBXSS5ET01EZWJ1Z2dlck1hbmFnZXIsCiAgICAg
ICAgIFdJLmNhbnZhc01hbmFnZXIgPSBuZXcgV0kuQ2FudmFzTWFuYWdlciwKKyAgICAgICAgV0ku
Z3N0cmVhbWVyTWFuYWdlciA9IG5ldyBXSS5HU3RyZWFtZXJNYW5hZ2VyLAogICAgIF07CiAKICAg
ICAvLyBSZWdpc3RlciBmb3IgZXZlbnRzLgpAQCAtNDc1LDYgKzQ3OCwxMSBAQCBXSS5jb250ZW50
TG9hZGVkID0gZnVuY3Rpb24oKQogICAgIF07CiAKICAgICBXSS5fa25vd25UYWJDbGFzc2VzQnlU
eXBlID0gbmV3IE1hcDsKKworICAgIGlmIChXSS5QbGF0Zm9ybS5wb3J0ID09PSAiZ3RrIiB8fCBX
SS5QbGF0Zm9ybS5wb3J0ID09PSAid3BlIikgeworICAgICAgICBwcm9kdWN0aW9uVGFiQ2xhc3Nl
cy5wdXNoKFdJLkdTdHJlYW1lclRhYkNvbnRlbnRWaWV3KTsKKyAgICB9CisKICAgICAvLyBTZXQg
dGFiIGNsYXNzZXMgZGlyZWN0bHkuIFRoZSBwdWJsaWMgQVBJIHRyaWdnZXJzIG90aGVyIHVwZGF0
ZXMgYW5kCiAgICAgLy8gbm90aWZpY2F0aW9ucyB0aGF0IHdvbid0IHdvcmsgb3IgaGF2ZSBubyBs
aXN0ZW5lcnMgYXQgV0kgcG9pbnQuCiAgICAgZm9yIChsZXQgdGFiQ2xhc3Mgb2YgcHJvZHVjdGlv
blRhYkNsYXNzZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9CYXNlL1BsYXRmb3JtLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQmFzZS9QbGF0Zm9ybS5qcwppbmRleCBmZmI1YTc3ZTJjM2FkYzc0Y2YyYmJlOTg2MDk2Y2E3
MGFmYTBiNjk2Li41NzNkYjg5YTllM2E1MWZlMTY4NzZlZmU3YzA1ODI2N2RlMWM3MDdjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1BsYXRmb3Jt
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvUGxhdGZv
cm0uanMKQEAgLTI1LDYgKzI1LDcgQEAKIAogV0kuUGxhdGZvcm0gPSB7CiAgICAgbmFtZTogSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LnBsYXRmb3JtKCksCisgICAgcG9ydDogSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LnBvcnQoKSwKICAgICBpc05pZ2h0bHlCdWlsZDogZmFsc2UsCiAgICAgdmVyc2lvbjog
ewogICAgICAgICBiYXNlOiAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR1N0cmVhbWVyTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0dTdHJlYW1lck1hbmFnZXIuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYjA3YzY0MDYwNjI5ODNjMzJkMDIwNDczZGM1NzNmMjNkODBhZjJiYgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRy
b2xsZXJzL0dTdHJlYW1lck1hbmFnZXIuanMKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqICBDb3B5
cmlnaHQgKEMpIDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICog
IExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICog
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdy
aXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8K
KworV0kuR1N0cmVhbWVyTWFuYWdlciA9IGNsYXNzIEdTdHJlYW1lck1hbmFnZXIgZXh0ZW5kcyBX
SS5PYmplY3QKK3sKKyAgICBjb25zdHJ1Y3RvcigpCisgICAgeworICAgICAgICBzdXBlcigpOwor
CisgICAgICAgIHRoaXMuX3BhcnNlciA9IG5ldyBET01QYXJzZXIoKTsKKyAgICAgICAgdGhpcy5f
ZW5hYmxlZCA9IFdJLlBsYXRmb3JtLnBvcnQgPT09ICJndGsiIHx8IFdJLlBsYXRmb3JtLnBvcnQg
PT09ICJ3cGUiOworICAgIH0KKworICAgIC8vIEFnZW50CisKKyAgICBnZXQgZG9tYWlucygpIHsg
cmV0dXJuIFsiR1N0cmVhbWVyIl07IH0KKworICAgIGFjdGl2YXRlRXh0cmFEb21haW4oZG9tYWlu
KQorICAgIHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoZG9tYWluID09PSAiR1N0cmVhbWVyIik7
CisgICAgfQorCisgICAgLy8gUHVibGljCisKKyAgICBnZXQgYWdlbnQoKSB7CisgICAgICAgIGxl
dCB0YXJnZXQgPSBXSS5hc3N1bWluZ01haW5UYXJnZXQoKTsKKyAgICAgICAgaWYgKHRhcmdldC5o
YXNEb21haW4oIkdTdHJlYW1lciIpKQorICAgICAgICAgICAgcmV0dXJuIHRhcmdldC5HU3RyZWFt
ZXJBZ2VudDsKKworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9CisKKyAgICBleHBvcnQob2Jq
ZWN0KQorICAgIHsKKyAgICAgICAgV0kuRmlsZVV0aWxpdGllcy5zYXZlKG9iamVjdC5zYXZlRGF0
YSk7CisgICAgfQorCisgICAgcmVuZGVyU1ZHRWxlbWVudChncmFwaFJlcHJlc2VudGF0aW9uKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3BhcnNlci5wYXJzZUZyb21TdHJpbmcoZ3JhcGhS
ZXByZXNlbnRhdGlvbiwgImltYWdlL3N2Zyt4bWwiKTsKKyAgICB9CisKKyAgICAvLyBHU3RyZWFt
ZXJPYnNlcnZlcgorCisgICAgYWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpCisgICAgeworICAgICAg
ICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5HU3RyZWFtZXJNYW5hZ2VyLkV2ZW50
LkFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQsIHt9KTsKKyAgICB9CisKK307CisKK1dJLkdTdHJlYW1l
ck1hbmFnZXIuRXZlbnQgPSB7CisgICAgQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZDogImdzdHJlYW1l
ci1tYW5hZ2VyLWFjdGl2ZS1waXBlbGluZXMtd2VyZS1jaGFuZ2VkIiwKK307CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9kMy5qcy9MSUNF
TlNFIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvZDMuanMv
TElDRU5TRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xZDlkODc1ZWRiNDY5Nzg2YTljNmRiYWU1YWFlZWY5YTNiY2Iy
YzMzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvRXh0ZXJuYWwvZDMuanMvTElDRU5TRQpAQCAtMCwwICsxLDI3IEBACitDb3B5cmlnaHQgMjAx
MC0yMDE3IE1pa2UgQm9zdG9jaworQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwKK2FyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDoKKworKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMKKyAgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
LAorICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uCisgIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisqIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGF1dGhv
ciBub3IgdGhlIG5hbWVzIG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworICBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvcgorICB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SCitBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
CitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4
dGVybmFsL2QzLmpzL2QzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
RXh0ZXJuYWwvZDMuanMvZDMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNjNjQwNjg5ZTEwNTM3OWNmZmQ4YmMz
NjQ5NTUzMDc3ZjZhZTc0MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL2QzLmpzL2QzLmpzCkBAIC0wLDAgKzEsMTg1MDMgQEAK
Ky8vIGh0dHBzOi8vZDNqcy5vcmcgdjUuMTQuMiBDb3B5cmlnaHQgMjAxOSBNaWtlIEJvc3RvY2sK
KyhmdW5jdGlvbiAoZ2xvYmFsLCBmYWN0b3J5KSB7Cit0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVj
dCcgJiYgdHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgPyBmYWN0b3J5KGV4cG9ydHMpIDoK
K3R5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCA/IGRlZmluZShbJ2V4
cG9ydHMnXSwgZmFjdG9yeSkgOgorKGdsb2JhbCA9IGdsb2JhbCB8fCBzZWxmLCBmYWN0b3J5KGds
b2JhbC5kMyA9IGdsb2JhbC5kMyB8fCB7fSkpOworfSh0aGlzLCBmdW5jdGlvbiAoZXhwb3J0cykg
eyAndXNlIHN0cmljdCc7CisKK3ZhciB2ZXJzaW9uID0gIjUuMTQuMiI7CisKK2Z1bmN0aW9uIGFz
Y2VuZGluZyhhLCBiKSB7CisgIHJldHVybiBhIDwgYiA/IC0xIDogYSA+IGIgPyAxIDogYSA+PSBi
ID8gMCA6IE5hTjsKK30KKworZnVuY3Rpb24gYmlzZWN0b3IoY29tcGFyZSkgeworICBpZiAoY29t
cGFyZS5sZW5ndGggPT09IDEpIGNvbXBhcmUgPSBhc2NlbmRpbmdDb21wYXJhdG9yKGNvbXBhcmUp
OworICByZXR1cm4geworICAgIGxlZnQ6IGZ1bmN0aW9uKGEsIHgsIGxvLCBoaSkgeworICAgICAg
aWYgKGxvID09IG51bGwpIGxvID0gMDsKKyAgICAgIGlmIChoaSA9PSBudWxsKSBoaSA9IGEubGVu
Z3RoOworICAgICAgd2hpbGUgKGxvIDwgaGkpIHsKKyAgICAgICAgdmFyIG1pZCA9IGxvICsgaGkg
Pj4+IDE7CisgICAgICAgIGlmIChjb21wYXJlKGFbbWlkXSwgeCkgPCAwKSBsbyA9IG1pZCArIDE7
CisgICAgICAgIGVsc2UgaGkgPSBtaWQ7CisgICAgICB9CisgICAgICByZXR1cm4gbG87CisgICAg
fSwKKyAgICByaWdodDogZnVuY3Rpb24oYSwgeCwgbG8sIGhpKSB7CisgICAgICBpZiAobG8gPT0g
bnVsbCkgbG8gPSAwOworICAgICAgaWYgKGhpID09IG51bGwpIGhpID0gYS5sZW5ndGg7CisgICAg
ICB3aGlsZSAobG8gPCBoaSkgeworICAgICAgICB2YXIgbWlkID0gbG8gKyBoaSA+Pj4gMTsKKyAg
ICAgICAgaWYgKGNvbXBhcmUoYVttaWRdLCB4KSA+IDApIGhpID0gbWlkOworICAgICAgICBlbHNl
IGxvID0gbWlkICsgMTsKKyAgICAgIH0KKyAgICAgIHJldHVybiBsbzsKKyAgICB9CisgIH07Cit9
CisKK2Z1bmN0aW9uIGFzY2VuZGluZ0NvbXBhcmF0b3IoZikgeworICByZXR1cm4gZnVuY3Rpb24o
ZCwgeCkgeworICAgIHJldHVybiBhc2NlbmRpbmcoZihkKSwgeCk7CisgIH07Cit9CisKK3ZhciBh
c2NlbmRpbmdCaXNlY3QgPSBiaXNlY3Rvcihhc2NlbmRpbmcpOwordmFyIGJpc2VjdFJpZ2h0ID0g
YXNjZW5kaW5nQmlzZWN0LnJpZ2h0OwordmFyIGJpc2VjdExlZnQgPSBhc2NlbmRpbmdCaXNlY3Qu
bGVmdDsKKworZnVuY3Rpb24gcGFpcnMoYXJyYXksIGYpIHsKKyAgaWYgKGYgPT0gbnVsbCkgZiA9
IHBhaXI7CisgIHZhciBpID0gMCwgbiA9IGFycmF5Lmxlbmd0aCAtIDEsIHAgPSBhcnJheVswXSwg
cGFpcnMgPSBuZXcgQXJyYXkobiA8IDAgPyAwIDogbik7CisgIHdoaWxlIChpIDwgbikgcGFpcnNb
aV0gPSBmKHAsIHAgPSBhcnJheVsrK2ldKTsKKyAgcmV0dXJuIHBhaXJzOworfQorCitmdW5jdGlv
biBwYWlyKGEsIGIpIHsKKyAgcmV0dXJuIFthLCBiXTsKK30KKworZnVuY3Rpb24gY3Jvc3ModmFs
dWVzMCwgdmFsdWVzMSwgcmVkdWNlKSB7CisgIHZhciBuMCA9IHZhbHVlczAubGVuZ3RoLAorICAg
ICAgbjEgPSB2YWx1ZXMxLmxlbmd0aCwKKyAgICAgIHZhbHVlcyA9IG5ldyBBcnJheShuMCAqIG4x
KSwKKyAgICAgIGkwLAorICAgICAgaTEsCisgICAgICBpLAorICAgICAgdmFsdWUwOworCisgIGlm
IChyZWR1Y2UgPT0gbnVsbCkgcmVkdWNlID0gcGFpcjsKKworICBmb3IgKGkwID0gaSA9IDA7IGkw
IDwgbjA7ICsraTApIHsKKyAgICBmb3IgKHZhbHVlMCA9IHZhbHVlczBbaTBdLCBpMSA9IDA7IGkx
IDwgbjE7ICsraTEsICsraSkgeworICAgICAgdmFsdWVzW2ldID0gcmVkdWNlKHZhbHVlMCwgdmFs
dWVzMVtpMV0pOworICAgIH0KKyAgfQorCisgIHJldHVybiB2YWx1ZXM7Cit9CisKK2Z1bmN0aW9u
IGRlc2NlbmRpbmcoYSwgYikgeworICByZXR1cm4gYiA8IGEgPyAtMSA6IGIgPiBhID8gMSA6IGIg
Pj0gYSA/IDAgOiBOYU47Cit9CisKK2Z1bmN0aW9uIG51bWJlcih4KSB7CisgIHJldHVybiB4ID09
PSBudWxsID8gTmFOIDogK3g7Cit9CisKK2Z1bmN0aW9uIHZhcmlhbmNlKHZhbHVlcywgdmFsdWVv
ZikgeworICB2YXIgbiA9IHZhbHVlcy5sZW5ndGgsCisgICAgICBtID0gMCwKKyAgICAgIGkgPSAt
MSwKKyAgICAgIG1lYW4gPSAwLAorICAgICAgdmFsdWUsCisgICAgICBkZWx0YSwKKyAgICAgIHN1
bSA9IDA7CisKKyAgaWYgKHZhbHVlb2YgPT0gbnVsbCkgeworICAgIHdoaWxlICgrK2kgPCBuKSB7
CisgICAgICBpZiAoIWlzTmFOKHZhbHVlID0gbnVtYmVyKHZhbHVlc1tpXSkpKSB7CisgICAgICAg
IGRlbHRhID0gdmFsdWUgLSBtZWFuOworICAgICAgICBtZWFuICs9IGRlbHRhIC8gKyttOworICAg
ICAgICBzdW0gKz0gZGVsdGEgKiAodmFsdWUgLSBtZWFuKTsKKyAgICAgIH0KKyAgICB9CisgIH0K
KworICBlbHNlIHsKKyAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgaWYgKCFpc05hTih2YWx1
ZSA9IG51bWJlcih2YWx1ZW9mKHZhbHVlc1tpXSwgaSwgdmFsdWVzKSkpKSB7CisgICAgICAgIGRl
bHRhID0gdmFsdWUgLSBtZWFuOworICAgICAgICBtZWFuICs9IGRlbHRhIC8gKyttOworICAgICAg
ICBzdW0gKz0gZGVsdGEgKiAodmFsdWUgLSBtZWFuKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKwor
ICBpZiAobSA+IDEpIHJldHVybiBzdW0gLyAobSAtIDEpOworfQorCitmdW5jdGlvbiBkZXZpYXRp
b24oYXJyYXksIGYpIHsKKyAgdmFyIHYgPSB2YXJpYW5jZShhcnJheSwgZik7CisgIHJldHVybiB2
ID8gTWF0aC5zcXJ0KHYpIDogdjsKK30KKworZnVuY3Rpb24gZXh0ZW50KHZhbHVlcywgdmFsdWVv
ZikgeworICB2YXIgbiA9IHZhbHVlcy5sZW5ndGgsCisgICAgICBpID0gLTEsCisgICAgICB2YWx1
ZSwKKyAgICAgIG1pbiwKKyAgICAgIG1heDsKKworICBpZiAodmFsdWVvZiA9PSBudWxsKSB7Cisg
ICAgd2hpbGUgKCsraSA8IG4pIHsgLy8gRmluZCB0aGUgZmlyc3QgY29tcGFyYWJsZSB2YWx1ZS4K
KyAgICAgIGlmICgodmFsdWUgPSB2YWx1ZXNbaV0pICE9IG51bGwgJiYgdmFsdWUgPj0gdmFsdWUp
IHsKKyAgICAgICAgbWluID0gbWF4ID0gdmFsdWU7CisgICAgICAgIHdoaWxlICgrK2kgPCBuKSB7
IC8vIENvbXBhcmUgdGhlIHJlbWFpbmluZyB2YWx1ZXMuCisgICAgICAgICAgaWYgKCh2YWx1ZSA9
IHZhbHVlc1tpXSkgIT0gbnVsbCkgeworICAgICAgICAgICAgaWYgKG1pbiA+IHZhbHVlKSBtaW4g
PSB2YWx1ZTsKKyAgICAgICAgICAgIGlmIChtYXggPCB2YWx1ZSkgbWF4ID0gdmFsdWU7CisgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9CisKKyAgZWxzZSB7CisgICAg
d2hpbGUgKCsraSA8IG4pIHsgLy8gRmluZCB0aGUgZmlyc3QgY29tcGFyYWJsZSB2YWx1ZS4KKyAg
ICAgIGlmICgodmFsdWUgPSB2YWx1ZW9mKHZhbHVlc1tpXSwgaSwgdmFsdWVzKSkgIT0gbnVsbCAm
JiB2YWx1ZSA+PSB2YWx1ZSkgeworICAgICAgICBtaW4gPSBtYXggPSB2YWx1ZTsKKyAgICAgICAg
d2hpbGUgKCsraSA8IG4pIHsgLy8gQ29tcGFyZSB0aGUgcmVtYWluaW5nIHZhbHVlcy4KKyAgICAg
ICAgICBpZiAoKHZhbHVlID0gdmFsdWVvZih2YWx1ZXNbaV0sIGksIHZhbHVlcykpICE9IG51bGwp
IHsKKyAgICAgICAgICAgIGlmIChtaW4gPiB2YWx1ZSkgbWluID0gdmFsdWU7CisgICAgICAgICAg
ICBpZiAobWF4IDwgdmFsdWUpIG1heCA9IHZhbHVlOworICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBbbWluLCBtYXhdOworfQorCit2YXIgYXJy
YXkgPSBBcnJheS5wcm90b3R5cGU7CisKK3ZhciBzbGljZSA9IGFycmF5LnNsaWNlOwordmFyIG1h
cCA9IGFycmF5Lm1hcDsKKworZnVuY3Rpb24gY29uc3RhbnQoeCkgeworICByZXR1cm4gZnVuY3Rp
b24oKSB7CisgICAgcmV0dXJuIHg7CisgIH07Cit9CisKK2Z1bmN0aW9uIGlkZW50aXR5KHgpIHsK
KyAgcmV0dXJuIHg7Cit9CisKK2Z1bmN0aW9uIHNlcXVlbmNlKHN0YXJ0LCBzdG9wLCBzdGVwKSB7
CisgIHN0YXJ0ID0gK3N0YXJ0LCBzdG9wID0gK3N0b3AsIHN0ZXAgPSAobiA9IGFyZ3VtZW50cy5s
ZW5ndGgpIDwgMiA/IChzdG9wID0gc3RhcnQsIHN0YXJ0ID0gMCwgMSkgOiBuIDwgMyA/IDEgOiAr
c3RlcDsKKworICB2YXIgaSA9IC0xLAorICAgICAgbiA9IE1hdGgubWF4KDAsIE1hdGguY2VpbCgo
c3RvcCAtIHN0YXJ0KSAvIHN0ZXApKSB8IDAsCisgICAgICByYW5nZSA9IG5ldyBBcnJheShuKTsK
KworICB3aGlsZSAoKytpIDwgbikgeworICAgIHJhbmdlW2ldID0gc3RhcnQgKyBpICogc3RlcDsK
KyAgfQorCisgIHJldHVybiByYW5nZTsKK30KKwordmFyIGUxMCA9IE1hdGguc3FydCg1MCksCisg
ICAgZTUgPSBNYXRoLnNxcnQoMTApLAorICAgIGUyID0gTWF0aC5zcXJ0KDIpOworCitmdW5jdGlv
biB0aWNrcyhzdGFydCwgc3RvcCwgY291bnQpIHsKKyAgdmFyIHJldmVyc2UsCisgICAgICBpID0g
LTEsCisgICAgICBuLAorICAgICAgdGlja3MsCisgICAgICBzdGVwOworCisgIHN0b3AgPSArc3Rv
cCwgc3RhcnQgPSArc3RhcnQsIGNvdW50ID0gK2NvdW50OworICBpZiAoc3RhcnQgPT09IHN0b3Ag
JiYgY291bnQgPiAwKSByZXR1cm4gW3N0YXJ0XTsKKyAgaWYgKHJldmVyc2UgPSBzdG9wIDwgc3Rh
cnQpIG4gPSBzdGFydCwgc3RhcnQgPSBzdG9wLCBzdG9wID0gbjsKKyAgaWYgKChzdGVwID0gdGlj
a0luY3JlbWVudChzdGFydCwgc3RvcCwgY291bnQpKSA9PT0gMCB8fCAhaXNGaW5pdGUoc3RlcCkp
IHJldHVybiBbXTsKKworICBpZiAoc3RlcCA+IDApIHsKKyAgICBzdGFydCA9IE1hdGguY2VpbChz
dGFydCAvIHN0ZXApOworICAgIHN0b3AgPSBNYXRoLmZsb29yKHN0b3AgLyBzdGVwKTsKKyAgICB0
aWNrcyA9IG5ldyBBcnJheShuID0gTWF0aC5jZWlsKHN0b3AgLSBzdGFydCArIDEpKTsKKyAgICB3
aGlsZSAoKytpIDwgbikgdGlja3NbaV0gPSAoc3RhcnQgKyBpKSAqIHN0ZXA7CisgIH0gZWxzZSB7
CisgICAgc3RhcnQgPSBNYXRoLmZsb29yKHN0YXJ0ICogc3RlcCk7CisgICAgc3RvcCA9IE1hdGgu
Y2VpbChzdG9wICogc3RlcCk7CisgICAgdGlja3MgPSBuZXcgQXJyYXkobiA9IE1hdGguY2VpbChz
dGFydCAtIHN0b3AgKyAxKSk7CisgICAgd2hpbGUgKCsraSA8IG4pIHRpY2tzW2ldID0gKHN0YXJ0
IC0gaSkgLyBzdGVwOworICB9CisKKyAgaWYgKHJldmVyc2UpIHRpY2tzLnJldmVyc2UoKTsKKwor
ICByZXR1cm4gdGlja3M7Cit9CisKK2Z1bmN0aW9uIHRpY2tJbmNyZW1lbnQoc3RhcnQsIHN0b3As
IGNvdW50KSB7CisgIHZhciBzdGVwID0gKHN0b3AgLSBzdGFydCkgLyBNYXRoLm1heCgwLCBjb3Vu
dCksCisgICAgICBwb3dlciA9IE1hdGguZmxvb3IoTWF0aC5sb2coc3RlcCkgLyBNYXRoLkxOMTAp
LAorICAgICAgZXJyb3IgPSBzdGVwIC8gTWF0aC5wb3coMTAsIHBvd2VyKTsKKyAgcmV0dXJuIHBv
d2VyID49IDAKKyAgICAgID8gKGVycm9yID49IGUxMCA/IDEwIDogZXJyb3IgPj0gZTUgPyA1IDog
ZXJyb3IgPj0gZTIgPyAyIDogMSkgKiBNYXRoLnBvdygxMCwgcG93ZXIpCisgICAgICA6IC1NYXRo
LnBvdygxMCwgLXBvd2VyKSAvIChlcnJvciA+PSBlMTAgPyAxMCA6IGVycm9yID49IGU1ID8gNSA6
IGVycm9yID49IGUyID8gMiA6IDEpOworfQorCitmdW5jdGlvbiB0aWNrU3RlcChzdGFydCwgc3Rv
cCwgY291bnQpIHsKKyAgdmFyIHN0ZXAwID0gTWF0aC5hYnMoc3RvcCAtIHN0YXJ0KSAvIE1hdGgu
bWF4KDAsIGNvdW50KSwKKyAgICAgIHN0ZXAxID0gTWF0aC5wb3coMTAsIE1hdGguZmxvb3IoTWF0
aC5sb2coc3RlcDApIC8gTWF0aC5MTjEwKSksCisgICAgICBlcnJvciA9IHN0ZXAwIC8gc3RlcDE7
CisgIGlmIChlcnJvciA+PSBlMTApIHN0ZXAxICo9IDEwOworICBlbHNlIGlmIChlcnJvciA+PSBl
NSkgc3RlcDEgKj0gNTsKKyAgZWxzZSBpZiAoZXJyb3IgPj0gZTIpIHN0ZXAxICo9IDI7CisgIHJl
dHVybiBzdG9wIDwgc3RhcnQgPyAtc3RlcDEgOiBzdGVwMTsKK30KKworZnVuY3Rpb24gdGhyZXNo
b2xkU3R1cmdlcyh2YWx1ZXMpIHsKKyAgcmV0dXJuIE1hdGguY2VpbChNYXRoLmxvZyh2YWx1ZXMu
bGVuZ3RoKSAvIE1hdGguTE4yKSArIDE7Cit9CisKK2Z1bmN0aW9uIGhpc3RvZ3JhbSgpIHsKKyAg
dmFyIHZhbHVlID0gaWRlbnRpdHksCisgICAgICBkb21haW4gPSBleHRlbnQsCisgICAgICB0aHJl
c2hvbGQgPSB0aHJlc2hvbGRTdHVyZ2VzOworCisgIGZ1bmN0aW9uIGhpc3RvZ3JhbShkYXRhKSB7
CisgICAgdmFyIGksCisgICAgICAgIG4gPSBkYXRhLmxlbmd0aCwKKyAgICAgICAgeCwKKyAgICAg
ICAgdmFsdWVzID0gbmV3IEFycmF5KG4pOworCisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkg
eworICAgICAgdmFsdWVzW2ldID0gdmFsdWUoZGF0YVtpXSwgaSwgZGF0YSk7CisgICAgfQorCisg
ICAgdmFyIHh6ID0gZG9tYWluKHZhbHVlcyksCisgICAgICAgIHgwID0geHpbMF0sCisgICAgICAg
IHgxID0geHpbMV0sCisgICAgICAgIHR6ID0gdGhyZXNob2xkKHZhbHVlcywgeDAsIHgxKTsKKwor
ICAgIC8vIENvbnZlcnQgbnVtYmVyIG9mIHRocmVzaG9sZHMgaW50byB1bmlmb3JtIHRocmVzaG9s
ZHMuCisgICAgaWYgKCFBcnJheS5pc0FycmF5KHR6KSkgeworICAgICAgdHogPSB0aWNrU3RlcCh4
MCwgeDEsIHR6KTsKKyAgICAgIHR6ID0gc2VxdWVuY2UoTWF0aC5jZWlsKHgwIC8gdHopICogdHos
IHgxLCB0eik7IC8vIGV4Y2x1c2l2ZQorICAgIH0KKworICAgIC8vIFJlbW92ZSBhbnkgdGhyZXNo
b2xkcyBvdXRzaWRlIHRoZSBkb21haW4uCisgICAgdmFyIG0gPSB0ei5sZW5ndGg7CisgICAgd2hp
bGUgKHR6WzBdIDw9IHgwKSB0ei5zaGlmdCgpLCAtLW07CisgICAgd2hpbGUgKHR6W20gLSAxXSA+
IHgxKSB0ei5wb3AoKSwgLS1tOworCisgICAgdmFyIGJpbnMgPSBuZXcgQXJyYXkobSArIDEpLAor
ICAgICAgICBiaW47CisKKyAgICAvLyBJbml0aWFsaXplIGJpbnMuCisgICAgZm9yIChpID0gMDsg
aSA8PSBtOyArK2kpIHsKKyAgICAgIGJpbiA9IGJpbnNbaV0gPSBbXTsKKyAgICAgIGJpbi54MCA9
IGkgPiAwID8gdHpbaSAtIDFdIDogeDA7CisgICAgICBiaW4ueDEgPSBpIDwgbSA/IHR6W2ldIDog
eDE7CisgICAgfQorCisgICAgLy8gQXNzaWduIGRhdGEgdG8gYmlucyBieSB2YWx1ZSwgaWdub3Jp
bmcgYW55IG91dHNpZGUgdGhlIGRvbWFpbi4KKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7
CisgICAgICB4ID0gdmFsdWVzW2ldOworICAgICAgaWYgKHgwIDw9IHggJiYgeCA8PSB4MSkgewor
ICAgICAgICBiaW5zW2Jpc2VjdFJpZ2h0KHR6LCB4LCAwLCBtKV0ucHVzaChkYXRhW2ldKTsKKyAg
ICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gYmluczsKKyAgfQorCisgIGhpc3RvZ3JhbS52YWx1
ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh2YWx1ZSA9
IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50KF8pLCBoaXN0b2dyYW0pIDog
dmFsdWU7CisgIH07CisKKyAgaGlzdG9ncmFtLmRvbWFpbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkb21haW4gPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9u
IiA/IF8gOiBjb25zdGFudChbX1swXSwgX1sxXV0pLCBoaXN0b2dyYW0pIDogZG9tYWluOworICB9
OworCisgIGhpc3RvZ3JhbS50aHJlc2hvbGRzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKHRocmVzaG9sZCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8g
XyA6IEFycmF5LmlzQXJyYXkoXykgPyBjb25zdGFudChzbGljZS5jYWxsKF8pKSA6IGNvbnN0YW50
KF8pLCBoaXN0b2dyYW0pIDogdGhyZXNob2xkOworICB9OworCisgIHJldHVybiBoaXN0b2dyYW07
Cit9CisKK2Z1bmN0aW9uIHRocmVzaG9sZCh2YWx1ZXMsIHAsIHZhbHVlb2YpIHsKKyAgaWYgKHZh
bHVlb2YgPT0gbnVsbCkgdmFsdWVvZiA9IG51bWJlcjsKKyAgaWYgKCEobiA9IHZhbHVlcy5sZW5n
dGgpKSByZXR1cm47CisgIGlmICgocCA9ICtwKSA8PSAwIHx8IG4gPCAyKSByZXR1cm4gK3ZhbHVl
b2YodmFsdWVzWzBdLCAwLCB2YWx1ZXMpOworICBpZiAocCA+PSAxKSByZXR1cm4gK3ZhbHVlb2Yo
dmFsdWVzW24gLSAxXSwgbiAtIDEsIHZhbHVlcyk7CisgIHZhciBuLAorICAgICAgaSA9IChuIC0g
MSkgKiBwLAorICAgICAgaTAgPSBNYXRoLmZsb29yKGkpLAorICAgICAgdmFsdWUwID0gK3ZhbHVl
b2YodmFsdWVzW2kwXSwgaTAsIHZhbHVlcyksCisgICAgICB2YWx1ZTEgPSArdmFsdWVvZih2YWx1
ZXNbaTAgKyAxXSwgaTAgKyAxLCB2YWx1ZXMpOworICByZXR1cm4gdmFsdWUwICsgKHZhbHVlMSAt
IHZhbHVlMCkgKiAoaSAtIGkwKTsKK30KKworZnVuY3Rpb24gZnJlZWRtYW5EaWFjb25pcyh2YWx1
ZXMsIG1pbiwgbWF4KSB7CisgIHZhbHVlcyA9IG1hcC5jYWxsKHZhbHVlcywgbnVtYmVyKS5zb3J0
KGFzY2VuZGluZyk7CisgIHJldHVybiBNYXRoLmNlaWwoKG1heCAtIG1pbikgLyAoMiAqICh0aHJl
c2hvbGQodmFsdWVzLCAwLjc1KSAtIHRocmVzaG9sZCh2YWx1ZXMsIDAuMjUpKSAqIE1hdGgucG93
KHZhbHVlcy5sZW5ndGgsIC0xIC8gMykpKTsKK30KKworZnVuY3Rpb24gc2NvdHQodmFsdWVzLCBt
aW4sIG1heCkgeworICByZXR1cm4gTWF0aC5jZWlsKChtYXggLSBtaW4pIC8gKDMuNSAqIGRldmlh
dGlvbih2YWx1ZXMpICogTWF0aC5wb3codmFsdWVzLmxlbmd0aCwgLTEgLyAzKSkpOworfQorCitm
dW5jdGlvbiBtYXgodmFsdWVzLCB2YWx1ZW9mKSB7CisgIHZhciBuID0gdmFsdWVzLmxlbmd0aCwK
KyAgICAgIGkgPSAtMSwKKyAgICAgIHZhbHVlLAorICAgICAgbWF4OworCisgIGlmICh2YWx1ZW9m
ID09IG51bGwpIHsKKyAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBGaW5kIHRoZSBmaXJzdCBjb21w
YXJhYmxlIHZhbHVlLgorICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlc1tpXSkgIT0gbnVsbCAmJiB2
YWx1ZSA+PSB2YWx1ZSkgeworICAgICAgICBtYXggPSB2YWx1ZTsKKyAgICAgICAgd2hpbGUgKCsr
aSA8IG4pIHsgLy8gQ29tcGFyZSB0aGUgcmVtYWluaW5nIHZhbHVlcy4KKyAgICAgICAgICBpZiAo
KHZhbHVlID0gdmFsdWVzW2ldKSAhPSBudWxsICYmIHZhbHVlID4gbWF4KSB7CisgICAgICAgICAg
ICBtYXggPSB2YWx1ZTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9Cisg
IH0KKworICBlbHNlIHsKKyAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBGaW5kIHRoZSBmaXJzdCBj
b21wYXJhYmxlIHZhbHVlLgorICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlb2YodmFsdWVzW2ldLCBp
LCB2YWx1ZXMpKSAhPSBudWxsICYmIHZhbHVlID49IHZhbHVlKSB7CisgICAgICAgIG1heCA9IHZh
bHVlOworICAgICAgICB3aGlsZSAoKytpIDwgbikgeyAvLyBDb21wYXJlIHRoZSByZW1haW5pbmcg
dmFsdWVzLgorICAgICAgICAgIGlmICgodmFsdWUgPSB2YWx1ZW9mKHZhbHVlc1tpXSwgaSwgdmFs
dWVzKSkgIT0gbnVsbCAmJiB2YWx1ZSA+IG1heCkgeworICAgICAgICAgICAgbWF4ID0gdmFsdWU7
CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJu
IG1heDsKK30KKworZnVuY3Rpb24gbWVhbih2YWx1ZXMsIHZhbHVlb2YpIHsKKyAgdmFyIG4gPSB2
YWx1ZXMubGVuZ3RoLAorICAgICAgbSA9IG4sCisgICAgICBpID0gLTEsCisgICAgICB2YWx1ZSwK
KyAgICAgIHN1bSA9IDA7CisKKyAgaWYgKHZhbHVlb2YgPT0gbnVsbCkgeworICAgIHdoaWxlICgr
K2kgPCBuKSB7CisgICAgICBpZiAoIWlzTmFOKHZhbHVlID0gbnVtYmVyKHZhbHVlc1tpXSkpKSBz
dW0gKz0gdmFsdWU7CisgICAgICBlbHNlIC0tbTsKKyAgICB9CisgIH0KKworICBlbHNlIHsKKyAg
ICB3aGlsZSAoKytpIDwgbikgeworICAgICAgaWYgKCFpc05hTih2YWx1ZSA9IG51bWJlcih2YWx1
ZW9mKHZhbHVlc1tpXSwgaSwgdmFsdWVzKSkpKSBzdW0gKz0gdmFsdWU7CisgICAgICBlbHNlIC0t
bTsKKyAgICB9CisgIH0KKworICBpZiAobSkgcmV0dXJuIHN1bSAvIG07Cit9CisKK2Z1bmN0aW9u
IG1lZGlhbih2YWx1ZXMsIHZhbHVlb2YpIHsKKyAgdmFyIG4gPSB2YWx1ZXMubGVuZ3RoLAorICAg
ICAgaSA9IC0xLAorICAgICAgdmFsdWUsCisgICAgICBudW1iZXJzID0gW107CisKKyAgaWYgKHZh
bHVlb2YgPT0gbnVsbCkgeworICAgIHdoaWxlICgrK2kgPCBuKSB7CisgICAgICBpZiAoIWlzTmFO
KHZhbHVlID0gbnVtYmVyKHZhbHVlc1tpXSkpKSB7CisgICAgICAgIG51bWJlcnMucHVzaCh2YWx1
ZSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgZWxzZSB7CisgICAgd2hpbGUgKCsraSA8IG4p
IHsKKyAgICAgIGlmICghaXNOYU4odmFsdWUgPSBudW1iZXIodmFsdWVvZih2YWx1ZXNbaV0sIGks
IHZhbHVlcykpKSkgeworICAgICAgICBudW1iZXJzLnB1c2godmFsdWUpOworICAgICAgfQorICAg
IH0KKyAgfQorCisgIHJldHVybiB0aHJlc2hvbGQobnVtYmVycy5zb3J0KGFzY2VuZGluZyksIDAu
NSk7Cit9CisKK2Z1bmN0aW9uIG1lcmdlKGFycmF5cykgeworICB2YXIgbiA9IGFycmF5cy5sZW5n
dGgsCisgICAgICBtLAorICAgICAgaSA9IC0xLAorICAgICAgaiA9IDAsCisgICAgICBtZXJnZWQs
CisgICAgICBhcnJheTsKKworICB3aGlsZSAoKytpIDwgbikgaiArPSBhcnJheXNbaV0ubGVuZ3Ro
OworICBtZXJnZWQgPSBuZXcgQXJyYXkoaik7CisKKyAgd2hpbGUgKC0tbiA+PSAwKSB7CisgICAg
YXJyYXkgPSBhcnJheXNbbl07CisgICAgbSA9IGFycmF5Lmxlbmd0aDsKKyAgICB3aGlsZSAoLS1t
ID49IDApIHsKKyAgICAgIG1lcmdlZFstLWpdID0gYXJyYXlbbV07CisgICAgfQorICB9CisKKyAg
cmV0dXJuIG1lcmdlZDsKK30KKworZnVuY3Rpb24gbWluKHZhbHVlcywgdmFsdWVvZikgeworICB2
YXIgbiA9IHZhbHVlcy5sZW5ndGgsCisgICAgICBpID0gLTEsCisgICAgICB2YWx1ZSwKKyAgICAg
IG1pbjsKKworICBpZiAodmFsdWVvZiA9PSBudWxsKSB7CisgICAgd2hpbGUgKCsraSA8IG4pIHsg
Ly8gRmluZCB0aGUgZmlyc3QgY29tcGFyYWJsZSB2YWx1ZS4KKyAgICAgIGlmICgodmFsdWUgPSB2
YWx1ZXNbaV0pICE9IG51bGwgJiYgdmFsdWUgPj0gdmFsdWUpIHsKKyAgICAgICAgbWluID0gdmFs
dWU7CisgICAgICAgIHdoaWxlICgrK2kgPCBuKSB7IC8vIENvbXBhcmUgdGhlIHJlbWFpbmluZyB2
YWx1ZXMuCisgICAgICAgICAgaWYgKCh2YWx1ZSA9IHZhbHVlc1tpXSkgIT0gbnVsbCAmJiBtaW4g
PiB2YWx1ZSkgeworICAgICAgICAgICAgbWluID0gdmFsdWU7CisgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgICB9CisgICAgfQorICB9CisKKyAgZWxzZSB7CisgICAgd2hpbGUgKCsraSA8IG4p
IHsgLy8gRmluZCB0aGUgZmlyc3QgY29tcGFyYWJsZSB2YWx1ZS4KKyAgICAgIGlmICgodmFsdWUg
PSB2YWx1ZW9mKHZhbHVlc1tpXSwgaSwgdmFsdWVzKSkgIT0gbnVsbCAmJiB2YWx1ZSA+PSB2YWx1
ZSkgeworICAgICAgICBtaW4gPSB2YWx1ZTsKKyAgICAgICAgd2hpbGUgKCsraSA8IG4pIHsgLy8g
Q29tcGFyZSB0aGUgcmVtYWluaW5nIHZhbHVlcy4KKyAgICAgICAgICBpZiAoKHZhbHVlID0gdmFs
dWVvZih2YWx1ZXNbaV0sIGksIHZhbHVlcykpICE9IG51bGwgJiYgbWluID4gdmFsdWUpIHsKKyAg
ICAgICAgICAgIG1pbiA9IHZhbHVlOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQor
ICAgIH0KKyAgfQorCisgIHJldHVybiBtaW47Cit9CisKK2Z1bmN0aW9uIHBlcm11dGUoYXJyYXks
IGluZGV4ZXMpIHsKKyAgdmFyIGkgPSBpbmRleGVzLmxlbmd0aCwgcGVybXV0ZXMgPSBuZXcgQXJy
YXkoaSk7CisgIHdoaWxlIChpLS0pIHBlcm11dGVzW2ldID0gYXJyYXlbaW5kZXhlc1tpXV07Cisg
IHJldHVybiBwZXJtdXRlczsKK30KKworZnVuY3Rpb24gc2Nhbih2YWx1ZXMsIGNvbXBhcmUpIHsK
KyAgaWYgKCEobiA9IHZhbHVlcy5sZW5ndGgpKSByZXR1cm47CisgIHZhciBuLAorICAgICAgaSA9
IDAsCisgICAgICBqID0gMCwKKyAgICAgIHhpLAorICAgICAgeGogPSB2YWx1ZXNbal07CisKKyAg
aWYgKGNvbXBhcmUgPT0gbnVsbCkgY29tcGFyZSA9IGFzY2VuZGluZzsKKworICB3aGlsZSAoKytp
IDwgbikgeworICAgIGlmIChjb21wYXJlKHhpID0gdmFsdWVzW2ldLCB4aikgPCAwIHx8IGNvbXBh
cmUoeGosIHhqKSAhPT0gMCkgeworICAgICAgeGogPSB4aSwgaiA9IGk7CisgICAgfQorICB9CisK
KyAgaWYgKGNvbXBhcmUoeGosIHhqKSA9PT0gMCkgcmV0dXJuIGo7Cit9CisKK2Z1bmN0aW9uIHNo
dWZmbGUoYXJyYXksIGkwLCBpMSkgeworICB2YXIgbSA9IChpMSA9PSBudWxsID8gYXJyYXkubGVu
Z3RoIDogaTEpIC0gKGkwID0gaTAgPT0gbnVsbCA/IDAgOiAraTApLAorICAgICAgdCwKKyAgICAg
IGk7CisKKyAgd2hpbGUgKG0pIHsKKyAgICBpID0gTWF0aC5yYW5kb20oKSAqIG0tLSB8IDA7Cisg
ICAgdCA9IGFycmF5W20gKyBpMF07CisgICAgYXJyYXlbbSArIGkwXSA9IGFycmF5W2kgKyBpMF07
CisgICAgYXJyYXlbaSArIGkwXSA9IHQ7CisgIH0KKworICByZXR1cm4gYXJyYXk7Cit9CisKK2Z1
bmN0aW9uIHN1bSh2YWx1ZXMsIHZhbHVlb2YpIHsKKyAgdmFyIG4gPSB2YWx1ZXMubGVuZ3RoLAor
ICAgICAgaSA9IC0xLAorICAgICAgdmFsdWUsCisgICAgICBzdW0gPSAwOworCisgIGlmICh2YWx1
ZW9mID09IG51bGwpIHsKKyAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgaWYgKHZhbHVlID0g
K3ZhbHVlc1tpXSkgc3VtICs9IHZhbHVlOyAvLyBOb3RlOiB6ZXJvIGFuZCBudWxsIGFyZSBlcXVp
dmFsZW50LgorICAgIH0KKyAgfQorCisgIGVsc2UgeworICAgIHdoaWxlICgrK2kgPCBuKSB7Cisg
ICAgICBpZiAodmFsdWUgPSArdmFsdWVvZih2YWx1ZXNbaV0sIGksIHZhbHVlcykpIHN1bSArPSB2
YWx1ZTsKKyAgICB9CisgIH0KKworICByZXR1cm4gc3VtOworfQorCitmdW5jdGlvbiB0cmFuc3Bv
c2UobWF0cml4KSB7CisgIGlmICghKG4gPSBtYXRyaXgubGVuZ3RoKSkgcmV0dXJuIFtdOworICBm
b3IgKHZhciBpID0gLTEsIG0gPSBtaW4obWF0cml4LCBsZW5ndGgpLCB0cmFuc3Bvc2UgPSBuZXcg
QXJyYXkobSk7ICsraSA8IG07KSB7CisgICAgZm9yICh2YXIgaiA9IC0xLCBuLCByb3cgPSB0cmFu
c3Bvc2VbaV0gPSBuZXcgQXJyYXkobik7ICsraiA8IG47KSB7CisgICAgICByb3dbal0gPSBtYXRy
aXhbal1baV07CisgICAgfQorICB9CisgIHJldHVybiB0cmFuc3Bvc2U7Cit9CisKK2Z1bmN0aW9u
IGxlbmd0aChkKSB7CisgIHJldHVybiBkLmxlbmd0aDsKK30KKworZnVuY3Rpb24gemlwKCkgewor
ICByZXR1cm4gdHJhbnNwb3NlKGFyZ3VtZW50cyk7Cit9CisKK3ZhciBzbGljZSQxID0gQXJyYXku
cHJvdG90eXBlLnNsaWNlOworCitmdW5jdGlvbiBpZGVudGl0eSQxKHgpIHsKKyAgcmV0dXJuIHg7
Cit9CisKK3ZhciB0b3AgPSAxLAorICAgIHJpZ2h0ID0gMiwKKyAgICBib3R0b20gPSAzLAorICAg
IGxlZnQgPSA0LAorICAgIGVwc2lsb24gPSAxZS02OworCitmdW5jdGlvbiB0cmFuc2xhdGVYKHgp
IHsKKyAgcmV0dXJuICJ0cmFuc2xhdGUoIiArICh4ICsgMC41KSArICIsMCkiOworfQorCitmdW5j
dGlvbiB0cmFuc2xhdGVZKHkpIHsKKyAgcmV0dXJuICJ0cmFuc2xhdGUoMCwiICsgKHkgKyAwLjUp
ICsgIikiOworfQorCitmdW5jdGlvbiBudW1iZXIkMShzY2FsZSkgeworICByZXR1cm4gZnVuY3Rp
b24oZCkgeworICAgIHJldHVybiArc2NhbGUoZCk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNlbnRl
cihzY2FsZSkgeworICB2YXIgb2Zmc2V0ID0gTWF0aC5tYXgoMCwgc2NhbGUuYmFuZHdpZHRoKCkg
LSAxKSAvIDI7IC8vIEFkanVzdCBmb3IgMC41cHggb2Zmc2V0LgorICBpZiAoc2NhbGUucm91bmQo
KSkgb2Zmc2V0ID0gTWF0aC5yb3VuZChvZmZzZXQpOworICByZXR1cm4gZnVuY3Rpb24oZCkgewor
ICAgIHJldHVybiArc2NhbGUoZCkgKyBvZmZzZXQ7CisgIH07Cit9CisKK2Z1bmN0aW9uIGVudGVy
aW5nKCkgeworICByZXR1cm4gIXRoaXMuX19heGlzOworfQorCitmdW5jdGlvbiBheGlzKG9yaWVu
dCwgc2NhbGUpIHsKKyAgdmFyIHRpY2tBcmd1bWVudHMgPSBbXSwKKyAgICAgIHRpY2tWYWx1ZXMg
PSBudWxsLAorICAgICAgdGlja0Zvcm1hdCA9IG51bGwsCisgICAgICB0aWNrU2l6ZUlubmVyID0g
NiwKKyAgICAgIHRpY2tTaXplT3V0ZXIgPSA2LAorICAgICAgdGlja1BhZGRpbmcgPSAzLAorICAg
ICAgayA9IG9yaWVudCA9PT0gdG9wIHx8IG9yaWVudCA9PT0gbGVmdCA/IC0xIDogMSwKKyAgICAg
IHggPSBvcmllbnQgPT09IGxlZnQgfHwgb3JpZW50ID09PSByaWdodCA/ICJ4IiA6ICJ5IiwKKyAg
ICAgIHRyYW5zZm9ybSA9IG9yaWVudCA9PT0gdG9wIHx8IG9yaWVudCA9PT0gYm90dG9tID8gdHJh
bnNsYXRlWCA6IHRyYW5zbGF0ZVk7CisKKyAgZnVuY3Rpb24gYXhpcyhjb250ZXh0KSB7CisgICAg
dmFyIHZhbHVlcyA9IHRpY2tWYWx1ZXMgPT0gbnVsbCA/IChzY2FsZS50aWNrcyA/IHNjYWxlLnRp
Y2tzLmFwcGx5KHNjYWxlLCB0aWNrQXJndW1lbnRzKSA6IHNjYWxlLmRvbWFpbigpKSA6IHRpY2tW
YWx1ZXMsCisgICAgICAgIGZvcm1hdCA9IHRpY2tGb3JtYXQgPT0gbnVsbCA/IChzY2FsZS50aWNr
Rm9ybWF0ID8gc2NhbGUudGlja0Zvcm1hdC5hcHBseShzY2FsZSwgdGlja0FyZ3VtZW50cykgOiBp
ZGVudGl0eSQxKSA6IHRpY2tGb3JtYXQsCisgICAgICAgIHNwYWNpbmcgPSBNYXRoLm1heCh0aWNr
U2l6ZUlubmVyLCAwKSArIHRpY2tQYWRkaW5nLAorICAgICAgICByYW5nZSA9IHNjYWxlLnJhbmdl
KCksCisgICAgICAgIHJhbmdlMCA9ICtyYW5nZVswXSArIDAuNSwKKyAgICAgICAgcmFuZ2UxID0g
K3JhbmdlW3JhbmdlLmxlbmd0aCAtIDFdICsgMC41LAorICAgICAgICBwb3NpdGlvbiA9IChzY2Fs
ZS5iYW5kd2lkdGggPyBjZW50ZXIgOiBudW1iZXIkMSkoc2NhbGUuY29weSgpKSwKKyAgICAgICAg
c2VsZWN0aW9uID0gY29udGV4dC5zZWxlY3Rpb24gPyBjb250ZXh0LnNlbGVjdGlvbigpIDogY29u
dGV4dCwKKyAgICAgICAgcGF0aCA9IHNlbGVjdGlvbi5zZWxlY3RBbGwoIi5kb21haW4iKS5kYXRh
KFtudWxsXSksCisgICAgICAgIHRpY2sgPSBzZWxlY3Rpb24uc2VsZWN0QWxsKCIudGljayIpLmRh
dGEodmFsdWVzLCBzY2FsZSkub3JkZXIoKSwKKyAgICAgICAgdGlja0V4aXQgPSB0aWNrLmV4aXQo
KSwKKyAgICAgICAgdGlja0VudGVyID0gdGljay5lbnRlcigpLmFwcGVuZCgiZyIpLmF0dHIoImNs
YXNzIiwgInRpY2siKSwKKyAgICAgICAgbGluZSA9IHRpY2suc2VsZWN0KCJsaW5lIiksCisgICAg
ICAgIHRleHQgPSB0aWNrLnNlbGVjdCgidGV4dCIpOworCisgICAgcGF0aCA9IHBhdGgubWVyZ2Uo
cGF0aC5lbnRlcigpLmluc2VydCgicGF0aCIsICIudGljayIpCisgICAgICAgIC5hdHRyKCJjbGFz
cyIsICJkb21haW4iKQorICAgICAgICAuYXR0cigic3Ryb2tlIiwgImN1cnJlbnRDb2xvciIpKTsK
KworICAgIHRpY2sgPSB0aWNrLm1lcmdlKHRpY2tFbnRlcik7CisKKyAgICBsaW5lID0gbGluZS5t
ZXJnZSh0aWNrRW50ZXIuYXBwZW5kKCJsaW5lIikKKyAgICAgICAgLmF0dHIoInN0cm9rZSIsICJj
dXJyZW50Q29sb3IiKQorICAgICAgICAuYXR0cih4ICsgIjIiLCBrICogdGlja1NpemVJbm5lcikp
OworCisgICAgdGV4dCA9IHRleHQubWVyZ2UodGlja0VudGVyLmFwcGVuZCgidGV4dCIpCisgICAg
ICAgIC5hdHRyKCJmaWxsIiwgImN1cnJlbnRDb2xvciIpCisgICAgICAgIC5hdHRyKHgsIGsgKiBz
cGFjaW5nKQorICAgICAgICAuYXR0cigiZHkiLCBvcmllbnQgPT09IHRvcCA/ICIwZW0iIDogb3Jp
ZW50ID09PSBib3R0b20gPyAiMC43MWVtIiA6ICIwLjMyZW0iKSk7CisKKyAgICBpZiAoY29udGV4
dCAhPT0gc2VsZWN0aW9uKSB7CisgICAgICBwYXRoID0gcGF0aC50cmFuc2l0aW9uKGNvbnRleHQp
OworICAgICAgdGljayA9IHRpY2sudHJhbnNpdGlvbihjb250ZXh0KTsKKyAgICAgIGxpbmUgPSBs
aW5lLnRyYW5zaXRpb24oY29udGV4dCk7CisgICAgICB0ZXh0ID0gdGV4dC50cmFuc2l0aW9uKGNv
bnRleHQpOworCisgICAgICB0aWNrRXhpdCA9IHRpY2tFeGl0LnRyYW5zaXRpb24oY29udGV4dCkK
KyAgICAgICAgICAuYXR0cigib3BhY2l0eSIsIGVwc2lsb24pCisgICAgICAgICAgLmF0dHIoInRy
YW5zZm9ybSIsIGZ1bmN0aW9uKGQpIHsgcmV0dXJuIGlzRmluaXRlKGQgPSBwb3NpdGlvbihkKSkg
PyB0cmFuc2Zvcm0oZCkgOiB0aGlzLmdldEF0dHJpYnV0ZSgidHJhbnNmb3JtIik7IH0pOworCisg
ICAgICB0aWNrRW50ZXIKKyAgICAgICAgICAuYXR0cigib3BhY2l0eSIsIGVwc2lsb24pCisgICAg
ICAgICAgLmF0dHIoInRyYW5zZm9ybSIsIGZ1bmN0aW9uKGQpIHsgdmFyIHAgPSB0aGlzLnBhcmVu
dE5vZGUuX19heGlzOyByZXR1cm4gdHJhbnNmb3JtKHAgJiYgaXNGaW5pdGUocCA9IHAoZCkpID8g
cCA6IHBvc2l0aW9uKGQpKTsgfSk7CisgICAgfQorCisgICAgdGlja0V4aXQucmVtb3ZlKCk7CisK
KyAgICBwYXRoCisgICAgICAgIC5hdHRyKCJkIiwgb3JpZW50ID09PSBsZWZ0IHx8IG9yaWVudCA9
PSByaWdodAorICAgICAgICAgICAgPyAodGlja1NpemVPdXRlciA/ICJNIiArIGsgKiB0aWNrU2l6
ZU91dGVyICsgIiwiICsgcmFuZ2UwICsgIkgwLjVWIiArIHJhbmdlMSArICJIIiArIGsgKiB0aWNr
U2l6ZU91dGVyIDogIk0wLjUsIiArIHJhbmdlMCArICJWIiArIHJhbmdlMSkKKyAgICAgICAgICAg
IDogKHRpY2tTaXplT3V0ZXIgPyAiTSIgKyByYW5nZTAgKyAiLCIgKyBrICogdGlja1NpemVPdXRl
ciArICJWMC41SCIgKyByYW5nZTEgKyAiViIgKyBrICogdGlja1NpemVPdXRlciA6ICJNIiArIHJh
bmdlMCArICIsMC41SCIgKyByYW5nZTEpKTsKKworICAgIHRpY2sKKyAgICAgICAgLmF0dHIoIm9w
YWNpdHkiLCAxKQorICAgICAgICAuYXR0cigidHJhbnNmb3JtIiwgZnVuY3Rpb24oZCkgeyByZXR1
cm4gdHJhbnNmb3JtKHBvc2l0aW9uKGQpKTsgfSk7CisKKyAgICBsaW5lCisgICAgICAgIC5hdHRy
KHggKyAiMiIsIGsgKiB0aWNrU2l6ZUlubmVyKTsKKworICAgIHRleHQKKyAgICAgICAgLmF0dHIo
eCwgayAqIHNwYWNpbmcpCisgICAgICAgIC50ZXh0KGZvcm1hdCk7CisKKyAgICBzZWxlY3Rpb24u
ZmlsdGVyKGVudGVyaW5nKQorICAgICAgICAuYXR0cigiZmlsbCIsICJub25lIikKKyAgICAgICAg
LmF0dHIoImZvbnQtc2l6ZSIsIDEwKQorICAgICAgICAuYXR0cigiZm9udC1mYW1pbHkiLCAic2Fu
cy1zZXJpZiIpCisgICAgICAgIC5hdHRyKCJ0ZXh0LWFuY2hvciIsIG9yaWVudCA9PT0gcmlnaHQg
PyAic3RhcnQiIDogb3JpZW50ID09PSBsZWZ0ID8gImVuZCIgOiAibWlkZGxlIik7CisKKyAgICBz
ZWxlY3Rpb24KKyAgICAgICAgLmVhY2goZnVuY3Rpb24oKSB7IHRoaXMuX19heGlzID0gcG9zaXRp
b247IH0pOworICB9CisKKyAgYXhpcy5zY2FsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/IChzY2FsZSA9IF8sIGF4aXMpIDogc2NhbGU7CisgIH07CisKKyAg
YXhpcy50aWNrcyA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0aWNrQXJndW1lbnRzID0gc2xp
Y2UkMS5jYWxsKGFyZ3VtZW50cyksIGF4aXM7CisgIH07CisKKyAgYXhpcy50aWNrQXJndW1lbnRz
ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRpY2tBcmd1
bWVudHMgPSBfID09IG51bGwgPyBbXSA6IHNsaWNlJDEuY2FsbChfKSwgYXhpcykgOiB0aWNrQXJn
dW1lbnRzLnNsaWNlKCk7CisgIH07CisKKyAgYXhpcy50aWNrVmFsdWVzID0gZnVuY3Rpb24oXykg
eworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRpY2tWYWx1ZXMgPSBfID09IG51bGwg
PyBudWxsIDogc2xpY2UkMS5jYWxsKF8pLCBheGlzKSA6IHRpY2tWYWx1ZXMgJiYgdGlja1ZhbHVl
cy5zbGljZSgpOworICB9OworCisgIGF4aXMudGlja0Zvcm1hdCA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0aWNrRm9ybWF0ID0gXywgYXhpcykgOiB0aWNr
Rm9ybWF0OworICB9OworCisgIGF4aXMudGlja1NpemUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGlja1NpemVJbm5lciA9IHRpY2tTaXplT3V0ZXIgPSAr
XywgYXhpcykgOiB0aWNrU2l6ZUlubmVyOworICB9OworCisgIGF4aXMudGlja1NpemVJbm5lciA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0aWNrU2l6ZUlu
bmVyID0gK18sIGF4aXMpIDogdGlja1NpemVJbm5lcjsKKyAgfTsKKworICBheGlzLnRpY2tTaXpl
T3V0ZXIgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGlj
a1NpemVPdXRlciA9ICtfLCBheGlzKSA6IHRpY2tTaXplT3V0ZXI7CisgIH07CisKKyAgYXhpcy50
aWNrUGFkZGluZyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
ICh0aWNrUGFkZGluZyA9ICtfLCBheGlzKSA6IHRpY2tQYWRkaW5nOworICB9OworCisgIHJldHVy
biBheGlzOworfQorCitmdW5jdGlvbiBheGlzVG9wKHNjYWxlKSB7CisgIHJldHVybiBheGlzKHRv
cCwgc2NhbGUpOworfQorCitmdW5jdGlvbiBheGlzUmlnaHQoc2NhbGUpIHsKKyAgcmV0dXJuIGF4
aXMocmlnaHQsIHNjYWxlKTsKK30KKworZnVuY3Rpb24gYXhpc0JvdHRvbShzY2FsZSkgeworICBy
ZXR1cm4gYXhpcyhib3R0b20sIHNjYWxlKTsKK30KKworZnVuY3Rpb24gYXhpc0xlZnQoc2NhbGUp
IHsKKyAgcmV0dXJuIGF4aXMobGVmdCwgc2NhbGUpOworfQorCit2YXIgbm9vcCA9IHt2YWx1ZTog
ZnVuY3Rpb24oKSB7fX07CisKK2Z1bmN0aW9uIGRpc3BhdGNoKCkgeworICBmb3IgKHZhciBpID0g
MCwgbiA9IGFyZ3VtZW50cy5sZW5ndGgsIF8gPSB7fSwgdDsgaSA8IG47ICsraSkgeworICAgIGlm
ICghKHQgPSBhcmd1bWVudHNbaV0gKyAiIikgfHwgKHQgaW4gXykgfHwgL1tccy5dLy50ZXN0KHQp
KSB0aHJvdyBuZXcgRXJyb3IoImlsbGVnYWwgdHlwZTogIiArIHQpOworICAgIF9bdF0gPSBbXTsK
KyAgfQorICByZXR1cm4gbmV3IERpc3BhdGNoKF8pOworfQorCitmdW5jdGlvbiBEaXNwYXRjaChf
KSB7CisgIHRoaXMuXyA9IF87Cit9CisKK2Z1bmN0aW9uIHBhcnNlVHlwZW5hbWVzKHR5cGVuYW1l
cywgdHlwZXMpIHsKKyAgcmV0dXJuIHR5cGVuYW1lcy50cmltKCkuc3BsaXQoL158XHMrLykubWFw
KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgbmFtZSA9ICIiLCBpID0gdC5pbmRleE9mKCIuIik7Cisg
ICAgaWYgKGkgPj0gMCkgbmFtZSA9IHQuc2xpY2UoaSArIDEpLCB0ID0gdC5zbGljZSgwLCBpKTsK
KyAgICBpZiAodCAmJiAhdHlwZXMuaGFzT3duUHJvcGVydHkodCkpIHRocm93IG5ldyBFcnJvcigi
dW5rbm93biB0eXBlOiAiICsgdCk7CisgICAgcmV0dXJuIHt0eXBlOiB0LCBuYW1lOiBuYW1lfTsK
KyAgfSk7Cit9CisKK0Rpc3BhdGNoLnByb3RvdHlwZSA9IGRpc3BhdGNoLnByb3RvdHlwZSA9IHsK
KyAgY29uc3RydWN0b3I6IERpc3BhdGNoLAorICBvbjogZnVuY3Rpb24odHlwZW5hbWUsIGNhbGxi
YWNrKSB7CisgICAgdmFyIF8gPSB0aGlzLl8sCisgICAgICAgIFQgPSBwYXJzZVR5cGVuYW1lcyh0
eXBlbmFtZSArICIiLCBfKSwKKyAgICAgICAgdCwKKyAgICAgICAgaSA9IC0xLAorICAgICAgICBu
ID0gVC5sZW5ndGg7CisKKyAgICAvLyBJZiBubyBjYWxsYmFjayB3YXMgc3BlY2lmaWVkLCByZXR1
cm4gdGhlIGNhbGxiYWNrIG9mIHRoZSBnaXZlbiB0eXBlIGFuZCBuYW1lLgorICAgIGlmIChhcmd1
bWVudHMubGVuZ3RoIDwgMikgeworICAgICAgd2hpbGUgKCsraSA8IG4pIGlmICgodCA9ICh0eXBl
bmFtZSA9IFRbaV0pLnR5cGUpICYmICh0ID0gZ2V0KF9bdF0sIHR5cGVuYW1lLm5hbWUpKSkgcmV0
dXJuIHQ7CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gSWYgYSB0eXBlIHdhcyBzcGVj
aWZpZWQsIHNldCB0aGUgY2FsbGJhY2sgZm9yIHRoZSBnaXZlbiB0eXBlIGFuZCBuYW1lLgorICAg
IC8vIE90aGVyd2lzZSwgaWYgYSBudWxsIGNhbGxiYWNrIHdhcyBzcGVjaWZpZWQsIHJlbW92ZSBj
YWxsYmFja3Mgb2YgdGhlIGdpdmVuIG5hbWUuCisgICAgaWYgKGNhbGxiYWNrICE9IG51bGwgJiYg
dHlwZW9mIGNhbGxiYWNrICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3IoImludmFsaWQg
Y2FsbGJhY2s6ICIgKyBjYWxsYmFjayk7CisgICAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIGlm
ICh0ID0gKHR5cGVuYW1lID0gVFtpXSkudHlwZSkgX1t0XSA9IHNldChfW3RdLCB0eXBlbmFtZS5u
YW1lLCBjYWxsYmFjayk7CisgICAgICBlbHNlIGlmIChjYWxsYmFjayA9PSBudWxsKSBmb3IgKHQg
aW4gXykgX1t0XSA9IHNldChfW3RdLCB0eXBlbmFtZS5uYW1lLCBudWxsKTsKKyAgICB9CisKKyAg
ICByZXR1cm4gdGhpczsKKyAgfSwKKyAgY29weTogZnVuY3Rpb24oKSB7CisgICAgdmFyIGNvcHkg
PSB7fSwgXyA9IHRoaXMuXzsKKyAgICBmb3IgKHZhciB0IGluIF8pIGNvcHlbdF0gPSBfW3RdLnNs
aWNlKCk7CisgICAgcmV0dXJuIG5ldyBEaXNwYXRjaChjb3B5KTsKKyAgfSwKKyAgY2FsbDogZnVu
Y3Rpb24odHlwZSwgdGhhdCkgeworICAgIGlmICgobiA9IGFyZ3VtZW50cy5sZW5ndGggLSAyKSA+
IDApIGZvciAodmFyIGFyZ3MgPSBuZXcgQXJyYXkobiksIGkgPSAwLCBuLCB0OyBpIDwgbjsgKytp
KSBhcmdzW2ldID0gYXJndW1lbnRzW2kgKyAyXTsKKyAgICBpZiAoIXRoaXMuXy5oYXNPd25Qcm9w
ZXJ0eSh0eXBlKSkgdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIgKyB0eXBlKTsKKyAg
ICBmb3IgKHQgPSB0aGlzLl9bdHlwZV0sIGkgPSAwLCBuID0gdC5sZW5ndGg7IGkgPCBuOyArK2kp
IHRbaV0udmFsdWUuYXBwbHkodGhhdCwgYXJncyk7CisgIH0sCisgIGFwcGx5OiBmdW5jdGlvbih0
eXBlLCB0aGF0LCBhcmdzKSB7CisgICAgaWYgKCF0aGlzLl8uaGFzT3duUHJvcGVydHkodHlwZSkp
IHRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiICsgdHlwZSk7CisgICAgZm9yICh2YXIg
dCA9IHRoaXMuX1t0eXBlXSwgaSA9IDAsIG4gPSB0Lmxlbmd0aDsgaSA8IG47ICsraSkgdFtpXS52
YWx1ZS5hcHBseSh0aGF0LCBhcmdzKTsKKyAgfQorfTsKKworZnVuY3Rpb24gZ2V0KHR5cGUsIG5h
bWUpIHsKKyAgZm9yICh2YXIgaSA9IDAsIG4gPSB0eXBlLmxlbmd0aCwgYzsgaSA8IG47ICsraSkg
eworICAgIGlmICgoYyA9IHR5cGVbaV0pLm5hbWUgPT09IG5hbWUpIHsKKyAgICAgIHJldHVybiBj
LnZhbHVlOworICAgIH0KKyAgfQorfQorCitmdW5jdGlvbiBzZXQodHlwZSwgbmFtZSwgY2FsbGJh
Y2spIHsKKyAgZm9yICh2YXIgaSA9IDAsIG4gPSB0eXBlLmxlbmd0aDsgaSA8IG47ICsraSkgewor
ICAgIGlmICh0eXBlW2ldLm5hbWUgPT09IG5hbWUpIHsKKyAgICAgIHR5cGVbaV0gPSBub29wLCB0
eXBlID0gdHlwZS5zbGljZSgwLCBpKS5jb25jYXQodHlwZS5zbGljZShpICsgMSkpOworICAgICAg
YnJlYWs7CisgICAgfQorICB9CisgIGlmIChjYWxsYmFjayAhPSBudWxsKSB0eXBlLnB1c2goe25h
bWU6IG5hbWUsIHZhbHVlOiBjYWxsYmFja30pOworICByZXR1cm4gdHlwZTsKK30KKwordmFyIHho
dG1sID0gImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOworCit2YXIgbmFtZXNwYWNlcyA9
IHsKKyAgc3ZnOiAiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLAorICB4aHRtbDogeGh0bWws
CisgIHhsaW5rOiAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsCisgIHhtbDogImh0dHA6
Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsCisgIHhtbG5zOiAiaHR0cDovL3d3dy53
My5vcmcvMjAwMC94bWxucy8iCit9OworCitmdW5jdGlvbiBuYW1lc3BhY2UobmFtZSkgeworICB2
YXIgcHJlZml4ID0gbmFtZSArPSAiIiwgaSA9IHByZWZpeC5pbmRleE9mKCI6Iik7CisgIGlmIChp
ID49IDAgJiYgKHByZWZpeCA9IG5hbWUuc2xpY2UoMCwgaSkpICE9PSAieG1sbnMiKSBuYW1lID0g
bmFtZS5zbGljZShpICsgMSk7CisgIHJldHVybiBuYW1lc3BhY2VzLmhhc093blByb3BlcnR5KHBy
ZWZpeCkgPyB7c3BhY2U6IG5hbWVzcGFjZXNbcHJlZml4XSwgbG9jYWw6IG5hbWV9IDogbmFtZTsK
K30KKworZnVuY3Rpb24gY3JlYXRvckluaGVyaXQobmFtZSkgeworICByZXR1cm4gZnVuY3Rpb24o
KSB7CisgICAgdmFyIGRvY3VtZW50ID0gdGhpcy5vd25lckRvY3VtZW50LAorICAgICAgICB1cmkg
PSB0aGlzLm5hbWVzcGFjZVVSSTsKKyAgICByZXR1cm4gdXJpID09PSB4aHRtbCAmJiBkb2N1bWVu
dC5kb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJID09PSB4aHRtbAorICAgICAgICA/IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQobmFtZSkKKyAgICAgICAgOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50
TlModXJpLCBuYW1lKTsKKyAgfTsKK30KKworZnVuY3Rpb24gY3JlYXRvckZpeGVkKGZ1bGxuYW1l
KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gdGhpcy5vd25lckRvY3VtZW50
LmNyZWF0ZUVsZW1lbnROUyhmdWxsbmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWwpOworICB9Owor
fQorCitmdW5jdGlvbiBjcmVhdG9yKG5hbWUpIHsKKyAgdmFyIGZ1bGxuYW1lID0gbmFtZXNwYWNl
KG5hbWUpOworICByZXR1cm4gKGZ1bGxuYW1lLmxvY2FsCisgICAgICA/IGNyZWF0b3JGaXhlZAor
ICAgICAgOiBjcmVhdG9ySW5oZXJpdCkoZnVsbG5hbWUpOworfQorCitmdW5jdGlvbiBub25lKCkg
e30KKworZnVuY3Rpb24gc2VsZWN0b3Ioc2VsZWN0b3IpIHsKKyAgcmV0dXJuIHNlbGVjdG9yID09
IG51bGwgPyBub25lIDogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rv
cihzZWxlY3Rvcik7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9zZWxlY3Qoc2VsZWN0
KSB7CisgIGlmICh0eXBlb2Ygc2VsZWN0ICE9PSAiZnVuY3Rpb24iKSBzZWxlY3QgPSBzZWxlY3Rv
cihzZWxlY3QpOworCisgIGZvciAodmFyIGdyb3VwcyA9IHRoaXMuX2dyb3VwcywgbSA9IGdyb3Vw
cy5sZW5ndGgsIHN1Ymdyb3VwcyA9IG5ldyBBcnJheShtKSwgaiA9IDA7IGogPCBtOyArK2opIHsK
KyAgICBmb3IgKHZhciBncm91cCA9IGdyb3Vwc1tqXSwgbiA9IGdyb3VwLmxlbmd0aCwgc3ViZ3Jv
dXAgPSBzdWJncm91cHNbal0gPSBuZXcgQXJyYXkobiksIG5vZGUsIHN1Ym5vZGUsIGkgPSAwOyBp
IDwgbjsgKytpKSB7CisgICAgICBpZiAoKG5vZGUgPSBncm91cFtpXSkgJiYgKHN1Ym5vZGUgPSBz
ZWxlY3QuY2FsbChub2RlLCBub2RlLl9fZGF0YV9fLCBpLCBncm91cCkpKSB7CisgICAgICAgIGlm
ICgiX19kYXRhX18iIGluIG5vZGUpIHN1Ym5vZGUuX19kYXRhX18gPSBub2RlLl9fZGF0YV9fOwor
ICAgICAgICBzdWJncm91cFtpXSA9IHN1Ym5vZGU7CisgICAgICB9CisgICAgfQorICB9CisKKyAg
cmV0dXJuIG5ldyBTZWxlY3Rpb24oc3ViZ3JvdXBzLCB0aGlzLl9wYXJlbnRzKTsKK30KKworZnVu
Y3Rpb24gZW1wdHkoKSB7CisgIHJldHVybiBbXTsKK30KKworZnVuY3Rpb24gc2VsZWN0b3JBbGwo
c2VsZWN0b3IpIHsKKyAgcmV0dXJuIHNlbGVjdG9yID09IG51bGwgPyBlbXB0eSA6IGZ1bmN0aW9u
KCkgeworICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpOworICB9Owor
fQorCitmdW5jdGlvbiBzZWxlY3Rpb25fc2VsZWN0QWxsKHNlbGVjdCkgeworICBpZiAodHlwZW9m
IHNlbGVjdCAhPT0gImZ1bmN0aW9uIikgc2VsZWN0ID0gc2VsZWN0b3JBbGwoc2VsZWN0KTsKKwor
ICBmb3IgKHZhciBncm91cHMgPSB0aGlzLl9ncm91cHMsIG0gPSBncm91cHMubGVuZ3RoLCBzdWJn
cm91cHMgPSBbXSwgcGFyZW50cyA9IFtdLCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAo
dmFyIGdyb3VwID0gZ3JvdXBzW2pdLCBuID0gZ3JvdXAubGVuZ3RoLCBub2RlLCBpID0gMDsgaSA8
IG47ICsraSkgeworICAgICAgaWYgKG5vZGUgPSBncm91cFtpXSkgeworICAgICAgICBzdWJncm91
cHMucHVzaChzZWxlY3QuY2FsbChub2RlLCBub2RlLl9fZGF0YV9fLCBpLCBncm91cCkpOworICAg
ICAgICBwYXJlbnRzLnB1c2gobm9kZSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJu
IG5ldyBTZWxlY3Rpb24oc3ViZ3JvdXBzLCBwYXJlbnRzKTsKK30KKworZnVuY3Rpb24gbWF0Y2hl
cihzZWxlY3RvcikgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRoaXMubWF0
Y2hlcyhzZWxlY3Rvcik7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9maWx0ZXIobWF0
Y2gpIHsKKyAgaWYgKHR5cGVvZiBtYXRjaCAhPT0gImZ1bmN0aW9uIikgbWF0Y2ggPSBtYXRjaGVy
KG1hdGNoKTsKKworICBmb3IgKHZhciBncm91cHMgPSB0aGlzLl9ncm91cHMsIG0gPSBncm91cHMu
bGVuZ3RoLCBzdWJncm91cHMgPSBuZXcgQXJyYXkobSksIGogPSAwOyBqIDwgbTsgKytqKSB7Cisg
ICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNbal0sIG4gPSBncm91cC5sZW5ndGgsIHN1Ymdyb3Vw
ID0gc3ViZ3JvdXBzW2pdID0gW10sIG5vZGUsIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBp
ZiAoKG5vZGUgPSBncm91cFtpXSkgJiYgbWF0Y2guY2FsbChub2RlLCBub2RlLl9fZGF0YV9fLCBp
LCBncm91cCkpIHsKKyAgICAgICAgc3ViZ3JvdXAucHVzaChub2RlKTsKKyAgICAgIH0KKyAgICB9
CisgIH0KKworICByZXR1cm4gbmV3IFNlbGVjdGlvbihzdWJncm91cHMsIHRoaXMuX3BhcmVudHMp
OworfQorCitmdW5jdGlvbiBzcGFyc2UodXBkYXRlKSB7CisgIHJldHVybiBuZXcgQXJyYXkodXBk
YXRlLmxlbmd0aCk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9lbnRlcigpIHsKKyAgcmV0dXJu
IG5ldyBTZWxlY3Rpb24odGhpcy5fZW50ZXIgfHwgdGhpcy5fZ3JvdXBzLm1hcChzcGFyc2UpLCB0
aGlzLl9wYXJlbnRzKTsKK30KKworZnVuY3Rpb24gRW50ZXJOb2RlKHBhcmVudCwgZGF0dW0pIHsK
KyAgdGhpcy5vd25lckRvY3VtZW50ID0gcGFyZW50Lm93bmVyRG9jdW1lbnQ7CisgIHRoaXMubmFt
ZXNwYWNlVVJJID0gcGFyZW50Lm5hbWVzcGFjZVVSSTsKKyAgdGhpcy5fbmV4dCA9IG51bGw7Cisg
IHRoaXMuX3BhcmVudCA9IHBhcmVudDsKKyAgdGhpcy5fX2RhdGFfXyA9IGRhdHVtOworfQorCitF
bnRlck5vZGUucHJvdG90eXBlID0geworICBjb25zdHJ1Y3RvcjogRW50ZXJOb2RlLAorICBhcHBl
bmRDaGlsZDogZnVuY3Rpb24oY2hpbGQpIHsgcmV0dXJuIHRoaXMuX3BhcmVudC5pbnNlcnRCZWZv
cmUoY2hpbGQsIHRoaXMuX25leHQpOyB9LAorICBpbnNlcnRCZWZvcmU6IGZ1bmN0aW9uKGNoaWxk
LCBuZXh0KSB7IHJldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKGNoaWxkLCBuZXh0KTsg
fSwKKyAgcXVlcnlTZWxlY3RvcjogZnVuY3Rpb24oc2VsZWN0b3IpIHsgcmV0dXJuIHRoaXMuX3Bh
cmVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTsgfSwKKyAgcXVlcnlTZWxlY3RvckFsbDogZnVu
Y3Rpb24oc2VsZWN0b3IpIHsgcmV0dXJuIHRoaXMuX3BhcmVudC5xdWVyeVNlbGVjdG9yQWxsKHNl
bGVjdG9yKTsgfQorfTsKKworZnVuY3Rpb24gY29uc3RhbnQkMSh4KSB7CisgIHJldHVybiBmdW5j
dGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKwordmFyIGtleVByZWZpeCA9ICIkIjsg
Ly8gUHJvdGVjdCBhZ2FpbnN0IGtleXMgbGlrZSDigJxfX3Byb3RvX1/igJ0uCisKK2Z1bmN0aW9u
IGJpbmRJbmRleChwYXJlbnQsIGdyb3VwLCBlbnRlciwgdXBkYXRlLCBleGl0LCBkYXRhKSB7Cisg
IHZhciBpID0gMCwKKyAgICAgIG5vZGUsCisgICAgICBncm91cExlbmd0aCA9IGdyb3VwLmxlbmd0
aCwKKyAgICAgIGRhdGFMZW5ndGggPSBkYXRhLmxlbmd0aDsKKworICAvLyBQdXQgYW55IG5vbi1u
dWxsIG5vZGVzIHRoYXQgZml0IGludG8gdXBkYXRlLgorICAvLyBQdXQgYW55IG51bGwgbm9kZXMg
aW50byBlbnRlci4KKyAgLy8gUHV0IGFueSByZW1haW5pbmcgZGF0YSBpbnRvIGVudGVyLgorICBm
b3IgKDsgaSA8IGRhdGFMZW5ndGg7ICsraSkgeworICAgIGlmIChub2RlID0gZ3JvdXBbaV0pIHsK
KyAgICAgIG5vZGUuX19kYXRhX18gPSBkYXRhW2ldOworICAgICAgdXBkYXRlW2ldID0gbm9kZTsK
KyAgICB9IGVsc2UgeworICAgICAgZW50ZXJbaV0gPSBuZXcgRW50ZXJOb2RlKHBhcmVudCwgZGF0
YVtpXSk7CisgICAgfQorICB9CisKKyAgLy8gUHV0IGFueSBub24tbnVsbCBub2RlcyB0aGF0IGRv
buKAmXQgZml0IGludG8gZXhpdC4KKyAgZm9yICg7IGkgPCBncm91cExlbmd0aDsgKytpKSB7Cisg
ICAgaWYgKG5vZGUgPSBncm91cFtpXSkgeworICAgICAgZXhpdFtpXSA9IG5vZGU7CisgICAgfQor
ICB9Cit9CisKK2Z1bmN0aW9uIGJpbmRLZXkocGFyZW50LCBncm91cCwgZW50ZXIsIHVwZGF0ZSwg
ZXhpdCwgZGF0YSwga2V5KSB7CisgIHZhciBpLAorICAgICAgbm9kZSwKKyAgICAgIG5vZGVCeUtl
eVZhbHVlID0ge30sCisgICAgICBncm91cExlbmd0aCA9IGdyb3VwLmxlbmd0aCwKKyAgICAgIGRh
dGFMZW5ndGggPSBkYXRhLmxlbmd0aCwKKyAgICAgIGtleVZhbHVlcyA9IG5ldyBBcnJheShncm91
cExlbmd0aCksCisgICAgICBrZXlWYWx1ZTsKKworICAvLyBDb21wdXRlIHRoZSBrZXkgZm9yIGVh
Y2ggbm9kZS4KKyAgLy8gSWYgbXVsdGlwbGUgbm9kZXMgaGF2ZSB0aGUgc2FtZSBrZXksIHRoZSBk
dXBsaWNhdGVzIGFyZSBhZGRlZCB0byBleGl0LgorICBmb3IgKGkgPSAwOyBpIDwgZ3JvdXBMZW5n
dGg7ICsraSkgeworICAgIGlmIChub2RlID0gZ3JvdXBbaV0pIHsKKyAgICAgIGtleVZhbHVlc1tp
XSA9IGtleVZhbHVlID0ga2V5UHJlZml4ICsga2V5LmNhbGwobm9kZSwgbm9kZS5fX2RhdGFfXywg
aSwgZ3JvdXApOworICAgICAgaWYgKGtleVZhbHVlIGluIG5vZGVCeUtleVZhbHVlKSB7CisgICAg
ICAgIGV4aXRbaV0gPSBub2RlOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgbm9kZUJ5S2V5VmFs
dWVba2V5VmFsdWVdID0gbm9kZTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICAvLyBDb21wdXRl
IHRoZSBrZXkgZm9yIGVhY2ggZGF0dW0uCisgIC8vIElmIHRoZXJlIGEgbm9kZSBhc3NvY2lhdGVk
IHdpdGggdGhpcyBrZXksIGpvaW4gYW5kIGFkZCBpdCB0byB1cGRhdGUuCisgIC8vIElmIHRoZXJl
IGlzIG5vdCAob3IgdGhlIGtleSBpcyBhIGR1cGxpY2F0ZSksIGFkZCBpdCB0byBlbnRlci4KKyAg
Zm9yIChpID0gMDsgaSA8IGRhdGFMZW5ndGg7ICsraSkgeworICAgIGtleVZhbHVlID0ga2V5UHJl
Zml4ICsga2V5LmNhbGwocGFyZW50LCBkYXRhW2ldLCBpLCBkYXRhKTsKKyAgICBpZiAobm9kZSA9
IG5vZGVCeUtleVZhbHVlW2tleVZhbHVlXSkgeworICAgICAgdXBkYXRlW2ldID0gbm9kZTsKKyAg
ICAgIG5vZGUuX19kYXRhX18gPSBkYXRhW2ldOworICAgICAgbm9kZUJ5S2V5VmFsdWVba2V5VmFs
dWVdID0gbnVsbDsKKyAgICB9IGVsc2UgeworICAgICAgZW50ZXJbaV0gPSBuZXcgRW50ZXJOb2Rl
KHBhcmVudCwgZGF0YVtpXSk7CisgICAgfQorICB9CisKKyAgLy8gQWRkIGFueSByZW1haW5pbmcg
bm9kZXMgdGhhdCB3ZXJlIG5vdCBib3VuZCB0byBkYXRhIHRvIGV4aXQuCisgIGZvciAoaSA9IDA7
IGkgPCBncm91cExlbmd0aDsgKytpKSB7CisgICAgaWYgKChub2RlID0gZ3JvdXBbaV0pICYmIChu
b2RlQnlLZXlWYWx1ZVtrZXlWYWx1ZXNbaV1dID09PSBub2RlKSkgeworICAgICAgZXhpdFtpXSA9
IG5vZGU7CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9kYXRhKHZhbHVlLCBr
ZXkpIHsKKyAgaWYgKCF2YWx1ZSkgeworICAgIGRhdGEgPSBuZXcgQXJyYXkodGhpcy5zaXplKCkp
LCBqID0gLTE7CisgICAgdGhpcy5lYWNoKGZ1bmN0aW9uKGQpIHsgZGF0YVsrK2pdID0gZDsgfSk7
CisgICAgcmV0dXJuIGRhdGE7CisgIH0KKworICB2YXIgYmluZCA9IGtleSA/IGJpbmRLZXkgOiBi
aW5kSW5kZXgsCisgICAgICBwYXJlbnRzID0gdGhpcy5fcGFyZW50cywKKyAgICAgIGdyb3VwcyA9
IHRoaXMuX2dyb3VwczsKKworICBpZiAodHlwZW9mIHZhbHVlICE9PSAiZnVuY3Rpb24iKSB2YWx1
ZSA9IGNvbnN0YW50JDEodmFsdWUpOworCisgIGZvciAodmFyIG0gPSBncm91cHMubGVuZ3RoLCB1
cGRhdGUgPSBuZXcgQXJyYXkobSksIGVudGVyID0gbmV3IEFycmF5KG0pLCBleGl0ID0gbmV3IEFy
cmF5KG0pLCBqID0gMDsgaiA8IG07ICsraikgeworICAgIHZhciBwYXJlbnQgPSBwYXJlbnRzW2pd
LAorICAgICAgICBncm91cCA9IGdyb3Vwc1tqXSwKKyAgICAgICAgZ3JvdXBMZW5ndGggPSBncm91
cC5sZW5ndGgsCisgICAgICAgIGRhdGEgPSB2YWx1ZS5jYWxsKHBhcmVudCwgcGFyZW50ICYmIHBh
cmVudC5fX2RhdGFfXywgaiwgcGFyZW50cyksCisgICAgICAgIGRhdGFMZW5ndGggPSBkYXRhLmxl
bmd0aCwKKyAgICAgICAgZW50ZXJHcm91cCA9IGVudGVyW2pdID0gbmV3IEFycmF5KGRhdGFMZW5n
dGgpLAorICAgICAgICB1cGRhdGVHcm91cCA9IHVwZGF0ZVtqXSA9IG5ldyBBcnJheShkYXRhTGVu
Z3RoKSwKKyAgICAgICAgZXhpdEdyb3VwID0gZXhpdFtqXSA9IG5ldyBBcnJheShncm91cExlbmd0
aCk7CisKKyAgICBiaW5kKHBhcmVudCwgZ3JvdXAsIGVudGVyR3JvdXAsIHVwZGF0ZUdyb3VwLCBl
eGl0R3JvdXAsIGRhdGEsIGtleSk7CisKKyAgICAvLyBOb3cgY29ubmVjdCB0aGUgZW50ZXIgbm9k
ZXMgdG8gdGhlaXIgZm9sbG93aW5nIHVwZGF0ZSBub2RlLCBzdWNoIHRoYXQKKyAgICAvLyBhcHBl
bmRDaGlsZCBjYW4gaW5zZXJ0IHRoZSBtYXRlcmlhbGl6ZWQgZW50ZXIgbm9kZSBiZWZvcmUgdGhp
cyBub2RlLAorICAgIC8vIHJhdGhlciB0aGFuIGF0IHRoZSBlbmQgb2YgdGhlIHBhcmVudCBub2Rl
LgorICAgIGZvciAodmFyIGkwID0gMCwgaTEgPSAwLCBwcmV2aW91cywgbmV4dDsgaTAgPCBkYXRh
TGVuZ3RoOyArK2kwKSB7CisgICAgICBpZiAocHJldmlvdXMgPSBlbnRlckdyb3VwW2kwXSkgewor
ICAgICAgICBpZiAoaTAgPj0gaTEpIGkxID0gaTAgKyAxOworICAgICAgICB3aGlsZSAoIShuZXh0
ID0gdXBkYXRlR3JvdXBbaTFdKSAmJiArK2kxIDwgZGF0YUxlbmd0aCk7CisgICAgICAgIHByZXZp
b3VzLl9uZXh0ID0gbmV4dCB8fCBudWxsOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHVwZGF0
ZSA9IG5ldyBTZWxlY3Rpb24odXBkYXRlLCBwYXJlbnRzKTsKKyAgdXBkYXRlLl9lbnRlciA9IGVu
dGVyOworICB1cGRhdGUuX2V4aXQgPSBleGl0OworICByZXR1cm4gdXBkYXRlOworfQorCitmdW5j
dGlvbiBzZWxlY3Rpb25fZXhpdCgpIHsKKyAgcmV0dXJuIG5ldyBTZWxlY3Rpb24odGhpcy5fZXhp
dCB8fCB0aGlzLl9ncm91cHMubWFwKHNwYXJzZSksIHRoaXMuX3BhcmVudHMpOworfQorCitmdW5j
dGlvbiBzZWxlY3Rpb25fam9pbihvbmVudGVyLCBvbnVwZGF0ZSwgb25leGl0KSB7CisgIHZhciBl
bnRlciA9IHRoaXMuZW50ZXIoKSwgdXBkYXRlID0gdGhpcywgZXhpdCA9IHRoaXMuZXhpdCgpOwor
ICBlbnRlciA9IHR5cGVvZiBvbmVudGVyID09PSAiZnVuY3Rpb24iID8gb25lbnRlcihlbnRlcikg
OiBlbnRlci5hcHBlbmQob25lbnRlciArICIiKTsKKyAgaWYgKG9udXBkYXRlICE9IG51bGwpIHVw
ZGF0ZSA9IG9udXBkYXRlKHVwZGF0ZSk7CisgIGlmIChvbmV4aXQgPT0gbnVsbCkgZXhpdC5yZW1v
dmUoKTsgZWxzZSBvbmV4aXQoZXhpdCk7CisgIHJldHVybiBlbnRlciAmJiB1cGRhdGUgPyBlbnRl
ci5tZXJnZSh1cGRhdGUpLm9yZGVyKCkgOiB1cGRhdGU7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlv
bl9tZXJnZShzZWxlY3Rpb24pIHsKKworICBmb3IgKHZhciBncm91cHMwID0gdGhpcy5fZ3JvdXBz
LCBncm91cHMxID0gc2VsZWN0aW9uLl9ncm91cHMsIG0wID0gZ3JvdXBzMC5sZW5ndGgsIG0xID0g
Z3JvdXBzMS5sZW5ndGgsIG0gPSBNYXRoLm1pbihtMCwgbTEpLCBtZXJnZXMgPSBuZXcgQXJyYXko
bTApLCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwMCA9IGdyb3VwczBb
al0sIGdyb3VwMSA9IGdyb3VwczFbal0sIG4gPSBncm91cDAubGVuZ3RoLCBtZXJnZSA9IG1lcmdl
c1tqXSA9IG5ldyBBcnJheShuKSwgbm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlm
IChub2RlID0gZ3JvdXAwW2ldIHx8IGdyb3VwMVtpXSkgeworICAgICAgICBtZXJnZVtpXSA9IG5v
ZGU7CisgICAgICB9CisgICAgfQorICB9CisKKyAgZm9yICg7IGogPCBtMDsgKytqKSB7CisgICAg
bWVyZ2VzW2pdID0gZ3JvdXBzMFtqXTsKKyAgfQorCisgIHJldHVybiBuZXcgU2VsZWN0aW9uKG1l
cmdlcywgdGhpcy5fcGFyZW50cyk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9vcmRlcigpIHsK
KworICBmb3IgKHZhciBncm91cHMgPSB0aGlzLl9ncm91cHMsIGogPSAtMSwgbSA9IGdyb3Vwcy5s
ZW5ndGg7ICsraiA8IG07KSB7CisgICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNbal0sIGkgPSBn
cm91cC5sZW5ndGggLSAxLCBuZXh0ID0gZ3JvdXBbaV0sIG5vZGU7IC0taSA+PSAwOykgeworICAg
ICAgaWYgKG5vZGUgPSBncm91cFtpXSkgeworICAgICAgICBpZiAobmV4dCAmJiBub2RlLmNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKG5leHQpIF4gNCkgbmV4dC5wYXJlbnROb2RlLmluc2VydEJlZm9y
ZShub2RlLCBuZXh0KTsKKyAgICAgICAgbmV4dCA9IG5vZGU7CisgICAgICB9CisgICAgfQorICB9
CisKKyAgcmV0dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9zb3J0KGNvbXBhcmUp
IHsKKyAgaWYgKCFjb21wYXJlKSBjb21wYXJlID0gYXNjZW5kaW5nJDE7CisKKyAgZnVuY3Rpb24g
Y29tcGFyZU5vZGUoYSwgYikgeworICAgIHJldHVybiBhICYmIGIgPyBjb21wYXJlKGEuX19kYXRh
X18sIGIuX19kYXRhX18pIDogIWEgLSAhYjsKKyAgfQorCisgIGZvciAodmFyIGdyb3VwcyA9IHRo
aXMuX2dyb3VwcywgbSA9IGdyb3Vwcy5sZW5ndGgsIHNvcnRncm91cHMgPSBuZXcgQXJyYXkobSks
IGogPSAwOyBqIDwgbTsgKytqKSB7CisgICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNbal0sIG4g
PSBncm91cC5sZW5ndGgsIHNvcnRncm91cCA9IHNvcnRncm91cHNbal0gPSBuZXcgQXJyYXkobiks
IG5vZGUsIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAobm9kZSA9IGdyb3VwW2ldKSB7
CisgICAgICAgIHNvcnRncm91cFtpXSA9IG5vZGU7CisgICAgICB9CisgICAgfQorICAgIHNvcnRn
cm91cC5zb3J0KGNvbXBhcmVOb2RlKTsKKyAgfQorCisgIHJldHVybiBuZXcgU2VsZWN0aW9uKHNv
cnRncm91cHMsIHRoaXMuX3BhcmVudHMpLm9yZGVyKCk7Cit9CisKK2Z1bmN0aW9uIGFzY2VuZGlu
ZyQxKGEsIGIpIHsKKyAgcmV0dXJuIGEgPCBiID8gLTEgOiBhID4gYiA/IDEgOiBhID49IGIgPyAw
IDogTmFOOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fY2FsbCgpIHsKKyAgdmFyIGNhbGxiYWNr
ID0gYXJndW1lbnRzWzBdOworICBhcmd1bWVudHNbMF0gPSB0aGlzOworICBjYWxsYmFjay5hcHBs
eShudWxsLCBhcmd1bWVudHMpOworICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24gc2VsZWN0
aW9uX25vZGVzKCkgeworICB2YXIgbm9kZXMgPSBuZXcgQXJyYXkodGhpcy5zaXplKCkpLCBpID0g
LTE7CisgIHRoaXMuZWFjaChmdW5jdGlvbigpIHsgbm9kZXNbKytpXSA9IHRoaXM7IH0pOworICBy
ZXR1cm4gbm9kZXM7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9ub2RlKCkgeworCisgIGZvciAo
dmFyIGdyb3VwcyA9IHRoaXMuX2dyb3VwcywgaiA9IDAsIG0gPSBncm91cHMubGVuZ3RoOyBqIDwg
bTsgKytqKSB7CisgICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNbal0sIGkgPSAwLCBuID0gZ3Jv
dXAubGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgICB2YXIgbm9kZSA9IGdyb3VwW2ldOworICAg
ICAgaWYgKG5vZGUpIHJldHVybiBub2RlOworICAgIH0KKyAgfQorCisgIHJldHVybiBudWxsOwor
fQorCitmdW5jdGlvbiBzZWxlY3Rpb25fc2l6ZSgpIHsKKyAgdmFyIHNpemUgPSAwOworICB0aGlz
LmVhY2goZnVuY3Rpb24oKSB7ICsrc2l6ZTsgfSk7CisgIHJldHVybiBzaXplOworfQorCitmdW5j
dGlvbiBzZWxlY3Rpb25fZW1wdHkoKSB7CisgIHJldHVybiAhdGhpcy5ub2RlKCk7Cit9CisKK2Z1
bmN0aW9uIHNlbGVjdGlvbl9lYWNoKGNhbGxiYWNrKSB7CisKKyAgZm9yICh2YXIgZ3JvdXBzID0g
dGhpcy5fZ3JvdXBzLCBqID0gMCwgbSA9IGdyb3Vwcy5sZW5ndGg7IGogPCBtOyArK2opIHsKKyAg
ICBmb3IgKHZhciBncm91cCA9IGdyb3Vwc1tqXSwgaSA9IDAsIG4gPSBncm91cC5sZW5ndGgsIG5v
ZGU7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChub2RlID0gZ3JvdXBbaV0pIGNhbGxiYWNrLmNh
bGwobm9kZSwgbm9kZS5fX2RhdGFfXywgaSwgZ3JvdXApOworICAgIH0KKyAgfQorCisgIHJldHVy
biB0aGlzOworfQorCitmdW5jdGlvbiBhdHRyUmVtb3ZlKG5hbWUpIHsKKyAgcmV0dXJuIGZ1bmN0
aW9uKCkgeworICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpOworICB9OworfQorCitmdW5j
dGlvbiBhdHRyUmVtb3ZlTlMoZnVsbG5hbWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAg
IHRoaXMucmVtb3ZlQXR0cmlidXRlTlMoZnVsbG5hbWUuc3BhY2UsIGZ1bGxuYW1lLmxvY2FsKTsK
KyAgfTsKK30KKworZnVuY3Rpb24gYXR0ckNvbnN0YW50KG5hbWUsIHZhbHVlKSB7CisgIHJldHVy
biBmdW5jdGlvbigpIHsKKyAgICB0aGlzLnNldEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CisgIH07
Cit9CisKK2Z1bmN0aW9uIGF0dHJDb25zdGFudE5TKGZ1bGxuYW1lLCB2YWx1ZSkgeworICByZXR1
cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5zZXRBdHRyaWJ1dGVOUyhmdWxsbmFtZS5zcGFjZSwg
ZnVsbG5hbWUubG9jYWwsIHZhbHVlKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0ckZ1bmN0aW9u
KG5hbWUsIHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdiA9IHZhbHVl
LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKHYgPT0gbnVsbCkgdGhpcy5yZW1vdmVB
dHRyaWJ1dGUobmFtZSk7CisgICAgZWxzZSB0aGlzLnNldEF0dHJpYnV0ZShuYW1lLCB2KTsKKyAg
fTsKK30KKworZnVuY3Rpb24gYXR0ckZ1bmN0aW9uTlMoZnVsbG5hbWUsIHZhbHVlKSB7CisgIHJl
dHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdiA9IHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50
cyk7CisgICAgaWYgKHYgPT0gbnVsbCkgdGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyhmdWxsbmFtZS5z
cGFjZSwgZnVsbG5hbWUubG9jYWwpOworICAgIGVsc2UgdGhpcy5zZXRBdHRyaWJ1dGVOUyhmdWxs
bmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWwsIHYpOworICB9OworfQorCitmdW5jdGlvbiBzZWxl
Y3Rpb25fYXR0cihuYW1lLCB2YWx1ZSkgeworICB2YXIgZnVsbG5hbWUgPSBuYW1lc3BhY2UobmFt
ZSk7CisKKyAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7CisgICAgdmFyIG5vZGUgPSB0aGlz
Lm5vZGUoKTsKKyAgICByZXR1cm4gZnVsbG5hbWUubG9jYWwKKyAgICAgICAgPyBub2RlLmdldEF0
dHJpYnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2NhbCkKKyAgICAgICAgOiBub2Rl
LmdldEF0dHJpYnV0ZShmdWxsbmFtZSk7CisgIH0KKworICByZXR1cm4gdGhpcy5lYWNoKCh2YWx1
ZSA9PSBudWxsCisgICAgICA/IChmdWxsbmFtZS5sb2NhbCA/IGF0dHJSZW1vdmVOUyA6IGF0dHJS
ZW1vdmUpIDogKHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAgICAgPyAoZnVsbG5hbWUu
bG9jYWwgPyBhdHRyRnVuY3Rpb25OUyA6IGF0dHJGdW5jdGlvbikKKyAgICAgIDogKGZ1bGxuYW1l
LmxvY2FsID8gYXR0ckNvbnN0YW50TlMgOiBhdHRyQ29uc3RhbnQpKSkoZnVsbG5hbWUsIHZhbHVl
KSk7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRWaWV3KG5vZGUpIHsKKyAgcmV0dXJuIChub2RlLm93
bmVyRG9jdW1lbnQgJiYgbm9kZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSAvLyBub2RlIGlz
IGEgTm9kZQorICAgICAgfHwgKG5vZGUuZG9jdW1lbnQgJiYgbm9kZSkgLy8gbm9kZSBpcyBhIFdp
bmRvdworICAgICAgfHwgbm9kZS5kZWZhdWx0VmlldzsgLy8gbm9kZSBpcyBhIERvY3VtZW50Cit9
CisKK2Z1bmN0aW9uIHN0eWxlUmVtb3ZlKG5hbWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgewor
ICAgIHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkobmFtZSk7CisgIH07Cit9CisKK2Z1bmN0aW9u
IHN0eWxlQ29uc3RhbnQobmFtZSwgdmFsdWUsIHByaW9yaXR5KSB7CisgIHJldHVybiBmdW5jdGlv
bigpIHsKKyAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KG5hbWUsIHZhbHVlLCBwcmlvcml0eSk7
CisgIH07Cit9CisKK2Z1bmN0aW9uIHN0eWxlRnVuY3Rpb24obmFtZSwgdmFsdWUsIHByaW9yaXR5
KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdiA9IHZhbHVlLmFwcGx5KHRoaXMs
IGFyZ3VtZW50cyk7CisgICAgaWYgKHYgPT0gbnVsbCkgdGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0
eShuYW1lKTsKKyAgICBlbHNlIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkobmFtZSwgdiwgcHJpb3Jp
dHkpOworICB9OworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fc3R5bGUobmFtZSwgdmFsdWUsIHBy
aW9yaXR5KSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID4gMQorICAgICAgPyB0aGlzLmVh
Y2goKHZhbHVlID09IG51bGwKKyAgICAgICAgICAgID8gc3R5bGVSZW1vdmUgOiB0eXBlb2YgdmFs
dWUgPT09ICJmdW5jdGlvbiIKKyAgICAgICAgICAgID8gc3R5bGVGdW5jdGlvbgorICAgICAgICAg
ICAgOiBzdHlsZUNvbnN0YW50KShuYW1lLCB2YWx1ZSwgcHJpb3JpdHkgPT0gbnVsbCA/ICIiIDog
cHJpb3JpdHkpKQorICAgICAgOiBzdHlsZVZhbHVlKHRoaXMubm9kZSgpLCBuYW1lKTsKK30KKwor
ZnVuY3Rpb24gc3R5bGVWYWx1ZShub2RlLCBuYW1lKSB7CisgIHJldHVybiBub2RlLnN0eWxlLmdl
dFByb3BlcnR5VmFsdWUobmFtZSkKKyAgICAgIHx8IGRlZmF1bHRWaWV3KG5vZGUpLmdldENvbXB1
dGVkU3R5bGUobm9kZSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShuYW1lKTsKK30KKworZnVuY3Rp
b24gcHJvcGVydHlSZW1vdmUobmFtZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgZGVs
ZXRlIHRoaXNbbmFtZV07CisgIH07Cit9CisKK2Z1bmN0aW9uIHByb3BlcnR5Q29uc3RhbnQobmFt
ZSwgdmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHRoaXNbbmFtZV0gPSB2YWx1
ZTsKKyAgfTsKK30KKworZnVuY3Rpb24gcHJvcGVydHlGdW5jdGlvbihuYW1lLCB2YWx1ZSkgewor
ICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHYgPSB2YWx1ZS5hcHBseSh0aGlzLCBhcmd1
bWVudHMpOworICAgIGlmICh2ID09IG51bGwpIGRlbGV0ZSB0aGlzW25hbWVdOworICAgIGVsc2Ug
dGhpc1tuYW1lXSA9IHY7CisgIH07Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9wcm9wZXJ0eShu
YW1lLCB2YWx1ZSkgeworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA+IDEKKyAgICAgID8gdGhp
cy5lYWNoKCh2YWx1ZSA9PSBudWxsCisgICAgICAgICAgPyBwcm9wZXJ0eVJlbW92ZSA6IHR5cGVv
ZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAgICAgICAgID8gcHJvcGVydHlGdW5jdGlvbgorICAg
ICAgICAgIDogcHJvcGVydHlDb25zdGFudCkobmFtZSwgdmFsdWUpKQorICAgICAgOiB0aGlzLm5v
ZGUoKVtuYW1lXTsKK30KKworZnVuY3Rpb24gY2xhc3NBcnJheShzdHJpbmcpIHsKKyAgcmV0dXJu
IHN0cmluZy50cmltKCkuc3BsaXQoL158XHMrLyk7Cit9CisKK2Z1bmN0aW9uIGNsYXNzTGlzdChu
b2RlKSB7CisgIHJldHVybiBub2RlLmNsYXNzTGlzdCB8fCBuZXcgQ2xhc3NMaXN0KG5vZGUpOwor
fQorCitmdW5jdGlvbiBDbGFzc0xpc3Qobm9kZSkgeworICB0aGlzLl9ub2RlID0gbm9kZTsKKyAg
dGhpcy5fbmFtZXMgPSBjbGFzc0FycmF5KG5vZGUuZ2V0QXR0cmlidXRlKCJjbGFzcyIpIHx8ICIi
KTsKK30KKworQ2xhc3NMaXN0LnByb3RvdHlwZSA9IHsKKyAgYWRkOiBmdW5jdGlvbihuYW1lKSB7
CisgICAgdmFyIGkgPSB0aGlzLl9uYW1lcy5pbmRleE9mKG5hbWUpOworICAgIGlmIChpIDwgMCkg
eworICAgICAgdGhpcy5fbmFtZXMucHVzaChuYW1lKTsKKyAgICAgIHRoaXMuX25vZGUuc2V0QXR0
cmlidXRlKCJjbGFzcyIsIHRoaXMuX25hbWVzLmpvaW4oIiAiKSk7CisgICAgfQorICB9LAorICBy
ZW1vdmU6IGZ1bmN0aW9uKG5hbWUpIHsKKyAgICB2YXIgaSA9IHRoaXMuX25hbWVzLmluZGV4T2Yo
bmFtZSk7CisgICAgaWYgKGkgPj0gMCkgeworICAgICAgdGhpcy5fbmFtZXMuc3BsaWNlKGksIDEp
OworICAgICAgdGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgdGhpcy5fbmFtZXMuam9p
bigiICIpKTsKKyAgICB9CisgIH0sCisgIGNvbnRhaW5zOiBmdW5jdGlvbihuYW1lKSB7CisgICAg
cmV0dXJuIHRoaXMuX25hbWVzLmluZGV4T2YobmFtZSkgPj0gMDsKKyAgfQorfTsKKworZnVuY3Rp
b24gY2xhc3NlZEFkZChub2RlLCBuYW1lcykgeworICB2YXIgbGlzdCA9IGNsYXNzTGlzdChub2Rl
KSwgaSA9IC0xLCBuID0gbmFtZXMubGVuZ3RoOworICB3aGlsZSAoKytpIDwgbikgbGlzdC5hZGQo
bmFtZXNbaV0pOworfQorCitmdW5jdGlvbiBjbGFzc2VkUmVtb3ZlKG5vZGUsIG5hbWVzKSB7Cisg
IHZhciBsaXN0ID0gY2xhc3NMaXN0KG5vZGUpLCBpID0gLTEsIG4gPSBuYW1lcy5sZW5ndGg7Cisg
IHdoaWxlICgrK2kgPCBuKSBsaXN0LnJlbW92ZShuYW1lc1tpXSk7Cit9CisKK2Z1bmN0aW9uIGNs
YXNzZWRUcnVlKG5hbWVzKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICBjbGFzc2VkQWRk
KHRoaXMsIG5hbWVzKTsKKyAgfTsKK30KKworZnVuY3Rpb24gY2xhc3NlZEZhbHNlKG5hbWVzKSB7
CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICBjbGFzc2VkUmVtb3ZlKHRoaXMsIG5hbWVzKTsK
KyAgfTsKK30KKworZnVuY3Rpb24gY2xhc3NlZEZ1bmN0aW9uKG5hbWVzLCB2YWx1ZSkgeworICBy
ZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgKHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgPyBj
bGFzc2VkQWRkIDogY2xhc3NlZFJlbW92ZSkodGhpcywgbmFtZXMpOworICB9OworfQorCitmdW5j
dGlvbiBzZWxlY3Rpb25fY2xhc3NlZChuYW1lLCB2YWx1ZSkgeworICB2YXIgbmFtZXMgPSBjbGFz
c0FycmF5KG5hbWUgKyAiIik7CisKKyAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7CisgICAg
dmFyIGxpc3QgPSBjbGFzc0xpc3QodGhpcy5ub2RlKCkpLCBpID0gLTEsIG4gPSBuYW1lcy5sZW5n
dGg7CisgICAgd2hpbGUgKCsraSA8IG4pIGlmICghbGlzdC5jb250YWlucyhuYW1lc1tpXSkpIHJl
dHVybiBmYWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgIHJldHVybiB0aGlzLmVhY2go
KHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgorICAgICAgPyBjbGFzc2VkRnVuY3Rpb24gOiB2
YWx1ZQorICAgICAgPyBjbGFzc2VkVHJ1ZQorICAgICAgOiBjbGFzc2VkRmFsc2UpKG5hbWVzLCB2
YWx1ZSkpOworfQorCitmdW5jdGlvbiB0ZXh0UmVtb3ZlKCkgeworICB0aGlzLnRleHRDb250ZW50
ID0gIiI7Cit9CisKK2Z1bmN0aW9uIHRleHRDb25zdGFudCh2YWx1ZSkgeworICByZXR1cm4gZnVu
Y3Rpb24oKSB7CisgICAgdGhpcy50ZXh0Q29udGVudCA9IHZhbHVlOworICB9OworfQorCitmdW5j
dGlvbiB0ZXh0RnVuY3Rpb24odmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZh
ciB2ID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICB0aGlzLnRleHRDb250ZW50
ID0gdiA9PSBudWxsID8gIiIgOiB2OworICB9OworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fdGV4
dCh2YWx1ZSkgeworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aAorICAgICAgPyB0aGlzLmVhY2go
dmFsdWUgPT0gbnVsbAorICAgICAgICAgID8gdGV4dFJlbW92ZSA6ICh0eXBlb2YgdmFsdWUgPT09
ICJmdW5jdGlvbiIKKyAgICAgICAgICA/IHRleHRGdW5jdGlvbgorICAgICAgICAgIDogdGV4dENv
bnN0YW50KSh2YWx1ZSkpCisgICAgICA6IHRoaXMubm9kZSgpLnRleHRDb250ZW50OworfQorCitm
dW5jdGlvbiBodG1sUmVtb3ZlKCkgeworICB0aGlzLmlubmVySFRNTCA9ICIiOworfQorCitmdW5j
dGlvbiBodG1sQ29uc3RhbnQodmFsdWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHRo
aXMuaW5uZXJIVE1MID0gdmFsdWU7CisgIH07Cit9CisKK2Z1bmN0aW9uIGh0bWxGdW5jdGlvbih2
YWx1ZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHYgPSB2YWx1ZS5hcHBseSh0
aGlzLCBhcmd1bWVudHMpOworICAgIHRoaXMuaW5uZXJIVE1MID0gdiA9PSBudWxsID8gIiIgOiB2
OworICB9OworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25faHRtbCh2YWx1ZSkgeworICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aAorICAgICAgPyB0aGlzLmVhY2godmFsdWUgPT0gbnVsbAorICAgICAg
ICAgID8gaHRtbFJlbW92ZSA6ICh0eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIKKyAgICAgICAg
ICA/IGh0bWxGdW5jdGlvbgorICAgICAgICAgIDogaHRtbENvbnN0YW50KSh2YWx1ZSkpCisgICAg
ICA6IHRoaXMubm9kZSgpLmlubmVySFRNTDsKK30KKworZnVuY3Rpb24gcmFpc2UoKSB7CisgIGlm
ICh0aGlzLm5leHRTaWJsaW5nKSB0aGlzLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodGhpcyk7Cit9
CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9yYWlzZSgpIHsKKyAgcmV0dXJuIHRoaXMuZWFjaChyYWlz
ZSk7Cit9CisKK2Z1bmN0aW9uIGxvd2VyKCkgeworICBpZiAodGhpcy5wcmV2aW91c1NpYmxpbmcp
IHRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcywgdGhpcy5wYXJlbnROb2RlLmZpcnN0
Q2hpbGQpOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fbG93ZXIoKSB7CisgIHJldHVybiB0aGlz
LmVhY2gobG93ZXIpOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fYXBwZW5kKG5hbWUpIHsKKyAg
dmFyIGNyZWF0ZSA9IHR5cGVvZiBuYW1lID09PSAiZnVuY3Rpb24iID8gbmFtZSA6IGNyZWF0b3Io
bmFtZSk7CisgIHJldHVybiB0aGlzLnNlbGVjdChmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gdGhp
cy5hcHBlbmRDaGlsZChjcmVhdGUuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7CisgIH0pOworfQor
CitmdW5jdGlvbiBjb25zdGFudE51bGwoKSB7CisgIHJldHVybiBudWxsOworfQorCitmdW5jdGlv
biBzZWxlY3Rpb25faW5zZXJ0KG5hbWUsIGJlZm9yZSkgeworICB2YXIgY3JlYXRlID0gdHlwZW9m
IG5hbWUgPT09ICJmdW5jdGlvbiIgPyBuYW1lIDogY3JlYXRvcihuYW1lKSwKKyAgICAgIHNlbGVj
dCA9IGJlZm9yZSA9PSBudWxsID8gY29uc3RhbnROdWxsIDogdHlwZW9mIGJlZm9yZSA9PT0gImZ1
bmN0aW9uIiA/IGJlZm9yZSA6IHNlbGVjdG9yKGJlZm9yZSk7CisgIHJldHVybiB0aGlzLnNlbGVj
dChmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gdGhpcy5pbnNlcnRCZWZvcmUoY3JlYXRlLmFwcGx5
KHRoaXMsIGFyZ3VtZW50cyksIHNlbGVjdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IG51bGwp
OworICB9KTsKK30KKworZnVuY3Rpb24gcmVtb3ZlKCkgeworICB2YXIgcGFyZW50ID0gdGhpcy5w
YXJlbnROb2RlOworICBpZiAocGFyZW50KSBwYXJlbnQucmVtb3ZlQ2hpbGQodGhpcyk7Cit9CisK
K2Z1bmN0aW9uIHNlbGVjdGlvbl9yZW1vdmUoKSB7CisgIHJldHVybiB0aGlzLmVhY2gocmVtb3Zl
KTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2Nsb25lU2hhbGxvdygpIHsKKyAgdmFyIGNsb25l
ID0gdGhpcy5jbG9uZU5vZGUoZmFsc2UpLCBwYXJlbnQgPSB0aGlzLnBhcmVudE5vZGU7CisgIHJl
dHVybiBwYXJlbnQgPyBwYXJlbnQuaW5zZXJ0QmVmb3JlKGNsb25lLCB0aGlzLm5leHRTaWJsaW5n
KSA6IGNsb25lOworfQorCitmdW5jdGlvbiBzZWxlY3Rpb25fY2xvbmVEZWVwKCkgeworICB2YXIg
Y2xvbmUgPSB0aGlzLmNsb25lTm9kZSh0cnVlKSwgcGFyZW50ID0gdGhpcy5wYXJlbnROb2RlOwor
ICByZXR1cm4gcGFyZW50ID8gcGFyZW50Lmluc2VydEJlZm9yZShjbG9uZSwgdGhpcy5uZXh0U2li
bGluZykgOiBjbG9uZTsKK30KKworZnVuY3Rpb24gc2VsZWN0aW9uX2Nsb25lKGRlZXApIHsKKyAg
cmV0dXJuIHRoaXMuc2VsZWN0KGRlZXAgPyBzZWxlY3Rpb25fY2xvbmVEZWVwIDogc2VsZWN0aW9u
X2Nsb25lU2hhbGxvdyk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9kYXR1bSh2YWx1ZSkgewor
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aAorICAgICAgPyB0aGlzLnByb3BlcnR5KCJfX2RhdGFf
XyIsIHZhbHVlKQorICAgICAgOiB0aGlzLm5vZGUoKS5fX2RhdGFfXzsKK30KKwordmFyIGZpbHRl
ckV2ZW50cyA9IHt9OworCitleHBvcnRzLmV2ZW50ID0gbnVsbDsKKworaWYgKHR5cGVvZiBkb2N1
bWVudCAhPT0gInVuZGVmaW5lZCIpIHsKKyAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQ7CisgIGlmICghKCJvbm1vdXNlZW50ZXIiIGluIGVsZW1lbnQpKSB7CisgICAgZmls
dGVyRXZlbnRzID0ge21vdXNlZW50ZXI6ICJtb3VzZW92ZXIiLCBtb3VzZWxlYXZlOiAibW91c2Vv
dXQifTsKKyAgfQorfQorCitmdW5jdGlvbiBmaWx0ZXJDb250ZXh0TGlzdGVuZXIobGlzdGVuZXIs
IGluZGV4LCBncm91cCkgeworICBsaXN0ZW5lciA9IGNvbnRleHRMaXN0ZW5lcihsaXN0ZW5lciwg
aW5kZXgsIGdyb3VwKTsKKyAgcmV0dXJuIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgdmFyIHJlbGF0
ZWQgPSBldmVudC5yZWxhdGVkVGFyZ2V0OworICAgIGlmICghcmVsYXRlZCB8fCAocmVsYXRlZCAh
PT0gdGhpcyAmJiAhKHJlbGF0ZWQuY29tcGFyZURvY3VtZW50UG9zaXRpb24odGhpcykgJiA4KSkp
IHsKKyAgICAgIGxpc3RlbmVyLmNhbGwodGhpcywgZXZlbnQpOworICAgIH0KKyAgfTsKK30KKwor
ZnVuY3Rpb24gY29udGV4dExpc3RlbmVyKGxpc3RlbmVyLCBpbmRleCwgZ3JvdXApIHsKKyAgcmV0
dXJuIGZ1bmN0aW9uKGV2ZW50MSkgeworICAgIHZhciBldmVudDAgPSBleHBvcnRzLmV2ZW50OyAv
LyBFdmVudHMgY2FuIGJlIHJlZW50cmFudCAoZS5nLiwgZm9jdXMpLgorICAgIGV4cG9ydHMuZXZl
bnQgPSBldmVudDE7CisgICAgdHJ5IHsKKyAgICAgIGxpc3RlbmVyLmNhbGwodGhpcywgdGhpcy5f
X2RhdGFfXywgaW5kZXgsIGdyb3VwKTsKKyAgICB9IGZpbmFsbHkgeworICAgICAgZXhwb3J0cy5l
dmVudCA9IGV2ZW50MDsKKyAgICB9CisgIH07Cit9CisKK2Z1bmN0aW9uIHBhcnNlVHlwZW5hbWVz
JDEodHlwZW5hbWVzKSB7CisgIHJldHVybiB0eXBlbmFtZXMudHJpbSgpLnNwbGl0KC9efFxzKy8p
Lm1hcChmdW5jdGlvbih0KSB7CisgICAgdmFyIG5hbWUgPSAiIiwgaSA9IHQuaW5kZXhPZigiLiIp
OworICAgIGlmIChpID49IDApIG5hbWUgPSB0LnNsaWNlKGkgKyAxKSwgdCA9IHQuc2xpY2UoMCwg
aSk7CisgICAgcmV0dXJuIHt0eXBlOiB0LCBuYW1lOiBuYW1lfTsKKyAgfSk7Cit9CisKK2Z1bmN0
aW9uIG9uUmVtb3ZlKHR5cGVuYW1lKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIg
b24gPSB0aGlzLl9fb247CisgICAgaWYgKCFvbikgcmV0dXJuOworICAgIGZvciAodmFyIGogPSAw
LCBpID0gLTEsIG0gPSBvbi5sZW5ndGgsIG87IGogPCBtOyArK2opIHsKKyAgICAgIGlmIChvID0g
b25bal0sICghdHlwZW5hbWUudHlwZSB8fCBvLnR5cGUgPT09IHR5cGVuYW1lLnR5cGUpICYmIG8u
bmFtZSA9PT0gdHlwZW5hbWUubmFtZSkgeworICAgICAgICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVu
ZXIoby50eXBlLCBvLmxpc3RlbmVyLCBvLmNhcHR1cmUpOworICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgb25bKytpXSA9IG87CisgICAgICB9CisgICAgfQorICAgIGlmICgrK2kpIG9uLmxlbmd0aCA9
IGk7CisgICAgZWxzZSBkZWxldGUgdGhpcy5fX29uOworICB9OworfQorCitmdW5jdGlvbiBvbkFk
ZCh0eXBlbmFtZSwgdmFsdWUsIGNhcHR1cmUpIHsKKyAgdmFyIHdyYXAgPSBmaWx0ZXJFdmVudHMu
aGFzT3duUHJvcGVydHkodHlwZW5hbWUudHlwZSkgPyBmaWx0ZXJDb250ZXh0TGlzdGVuZXIgOiBj
b250ZXh0TGlzdGVuZXI7CisgIHJldHVybiBmdW5jdGlvbihkLCBpLCBncm91cCkgeworICAgIHZh
ciBvbiA9IHRoaXMuX19vbiwgbywgbGlzdGVuZXIgPSB3cmFwKHZhbHVlLCBpLCBncm91cCk7Cisg
ICAgaWYgKG9uKSBmb3IgKHZhciBqID0gMCwgbSA9IG9uLmxlbmd0aDsgaiA8IG07ICsraikgewor
ICAgICAgaWYgKChvID0gb25bal0pLnR5cGUgPT09IHR5cGVuYW1lLnR5cGUgJiYgby5uYW1lID09
PSB0eXBlbmFtZS5uYW1lKSB7CisgICAgICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihvLnR5
cGUsIG8ubGlzdGVuZXIsIG8uY2FwdHVyZSk7CisgICAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5l
cihvLnR5cGUsIG8ubGlzdGVuZXIgPSBsaXN0ZW5lciwgby5jYXB0dXJlID0gY2FwdHVyZSk7Cisg
ICAgICAgIG8udmFsdWUgPSB2YWx1ZTsKKyAgICAgICAgcmV0dXJuOworICAgICAgfQorICAgIH0K
KyAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIodHlwZW5hbWUudHlwZSwgbGlzdGVuZXIsIGNhcHR1
cmUpOworICAgIG8gPSB7dHlwZTogdHlwZW5hbWUudHlwZSwgbmFtZTogdHlwZW5hbWUubmFtZSwg
dmFsdWU6IHZhbHVlLCBsaXN0ZW5lcjogbGlzdGVuZXIsIGNhcHR1cmU6IGNhcHR1cmV9OworICAg
IGlmICghb24pIHRoaXMuX19vbiA9IFtvXTsKKyAgICBlbHNlIG9uLnB1c2gobyk7CisgIH07Cit9
CisKK2Z1bmN0aW9uIHNlbGVjdGlvbl9vbih0eXBlbmFtZSwgdmFsdWUsIGNhcHR1cmUpIHsKKyAg
dmFyIHR5cGVuYW1lcyA9IHBhcnNlVHlwZW5hbWVzJDEodHlwZW5hbWUgKyAiIiksIGksIG4gPSB0
eXBlbmFtZXMubGVuZ3RoLCB0OworCisgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikgeworICAg
IHZhciBvbiA9IHRoaXMubm9kZSgpLl9fb247CisgICAgaWYgKG9uKSBmb3IgKHZhciBqID0gMCwg
bSA9IG9uLmxlbmd0aCwgbzsgaiA8IG07ICsraikgeworICAgICAgZm9yIChpID0gMCwgbyA9IG9u
W2pdOyBpIDwgbjsgKytpKSB7CisgICAgICAgIGlmICgodCA9IHR5cGVuYW1lc1tpXSkudHlwZSA9
PT0gby50eXBlICYmIHQubmFtZSA9PT0gby5uYW1lKSB7CisgICAgICAgICAgcmV0dXJuIG8udmFs
dWU7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuOworICB9CisKKyAgb24g
PSB2YWx1ZSA/IG9uQWRkIDogb25SZW1vdmU7CisgIGlmIChjYXB0dXJlID09IG51bGwpIGNhcHR1
cmUgPSBmYWxzZTsKKyAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgdGhpcy5lYWNoKG9uKHR5cGVu
YW1lc1tpXSwgdmFsdWUsIGNhcHR1cmUpKTsKKyAgcmV0dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9u
IGN1c3RvbUV2ZW50KGV2ZW50MSwgbGlzdGVuZXIsIHRoYXQsIGFyZ3MpIHsKKyAgdmFyIGV2ZW50
MCA9IGV4cG9ydHMuZXZlbnQ7CisgIGV2ZW50MS5zb3VyY2VFdmVudCA9IGV4cG9ydHMuZXZlbnQ7
CisgIGV4cG9ydHMuZXZlbnQgPSBldmVudDE7CisgIHRyeSB7CisgICAgcmV0dXJuIGxpc3RlbmVy
LmFwcGx5KHRoYXQsIGFyZ3MpOworICB9IGZpbmFsbHkgeworICAgIGV4cG9ydHMuZXZlbnQgPSBl
dmVudDA7CisgIH0KK30KKworZnVuY3Rpb24gZGlzcGF0Y2hFdmVudChub2RlLCB0eXBlLCBwYXJh
bXMpIHsKKyAgdmFyIHdpbmRvdyA9IGRlZmF1bHRWaWV3KG5vZGUpLAorICAgICAgZXZlbnQgPSB3
aW5kb3cuQ3VzdG9tRXZlbnQ7CisKKyAgaWYgKHR5cGVvZiBldmVudCA9PT0gImZ1bmN0aW9uIikg
eworICAgIGV2ZW50ID0gbmV3IGV2ZW50KHR5cGUsIHBhcmFtcyk7CisgIH0gZWxzZSB7CisgICAg
ZXZlbnQgPSB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50Iik7CisgICAgaWYgKHBh
cmFtcykgZXZlbnQuaW5pdEV2ZW50KHR5cGUsIHBhcmFtcy5idWJibGVzLCBwYXJhbXMuY2FuY2Vs
YWJsZSksIGV2ZW50LmRldGFpbCA9IHBhcmFtcy5kZXRhaWw7CisgICAgZWxzZSBldmVudC5pbml0
RXZlbnQodHlwZSwgZmFsc2UsIGZhbHNlKTsKKyAgfQorCisgIG5vZGUuZGlzcGF0Y2hFdmVudChl
dmVudCk7Cit9CisKK2Z1bmN0aW9uIGRpc3BhdGNoQ29uc3RhbnQodHlwZSwgcGFyYW1zKSB7Cisg
IHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gZGlzcGF0Y2hFdmVudCh0aGlzLCB0eXBl
LCBwYXJhbXMpOworICB9OworfQorCitmdW5jdGlvbiBkaXNwYXRjaEZ1bmN0aW9uKHR5cGUsIHBh
cmFtcykgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGRpc3BhdGNoRXZlbnQo
dGhpcywgdHlwZSwgcGFyYW1zLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpOworICB9OworfQorCitm
dW5jdGlvbiBzZWxlY3Rpb25fZGlzcGF0Y2godHlwZSwgcGFyYW1zKSB7CisgIHJldHVybiB0aGlz
LmVhY2goKHR5cGVvZiBwYXJhbXMgPT09ICJmdW5jdGlvbiIKKyAgICAgID8gZGlzcGF0Y2hGdW5j
dGlvbgorICAgICAgOiBkaXNwYXRjaENvbnN0YW50KSh0eXBlLCBwYXJhbXMpKTsKK30KKwordmFy
IHJvb3QgPSBbbnVsbF07CisKK2Z1bmN0aW9uIFNlbGVjdGlvbihncm91cHMsIHBhcmVudHMpIHsK
KyAgdGhpcy5fZ3JvdXBzID0gZ3JvdXBzOworICB0aGlzLl9wYXJlbnRzID0gcGFyZW50czsKK30K
KworZnVuY3Rpb24gc2VsZWN0aW9uKCkgeworICByZXR1cm4gbmV3IFNlbGVjdGlvbihbW2RvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudF1dLCByb290KTsKK30KKworU2VsZWN0aW9uLnByb3RvdHlwZSA9
IHNlbGVjdGlvbi5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBTZWxlY3Rpb24sCisgIHNl
bGVjdDogc2VsZWN0aW9uX3NlbGVjdCwKKyAgc2VsZWN0QWxsOiBzZWxlY3Rpb25fc2VsZWN0QWxs
LAorICBmaWx0ZXI6IHNlbGVjdGlvbl9maWx0ZXIsCisgIGRhdGE6IHNlbGVjdGlvbl9kYXRhLAor
ICBlbnRlcjogc2VsZWN0aW9uX2VudGVyLAorICBleGl0OiBzZWxlY3Rpb25fZXhpdCwKKyAgam9p
bjogc2VsZWN0aW9uX2pvaW4sCisgIG1lcmdlOiBzZWxlY3Rpb25fbWVyZ2UsCisgIG9yZGVyOiBz
ZWxlY3Rpb25fb3JkZXIsCisgIHNvcnQ6IHNlbGVjdGlvbl9zb3J0LAorICBjYWxsOiBzZWxlY3Rp
b25fY2FsbCwKKyAgbm9kZXM6IHNlbGVjdGlvbl9ub2RlcywKKyAgbm9kZTogc2VsZWN0aW9uX25v
ZGUsCisgIHNpemU6IHNlbGVjdGlvbl9zaXplLAorICBlbXB0eTogc2VsZWN0aW9uX2VtcHR5LAor
ICBlYWNoOiBzZWxlY3Rpb25fZWFjaCwKKyAgYXR0cjogc2VsZWN0aW9uX2F0dHIsCisgIHN0eWxl
OiBzZWxlY3Rpb25fc3R5bGUsCisgIHByb3BlcnR5OiBzZWxlY3Rpb25fcHJvcGVydHksCisgIGNs
YXNzZWQ6IHNlbGVjdGlvbl9jbGFzc2VkLAorICB0ZXh0OiBzZWxlY3Rpb25fdGV4dCwKKyAgaHRt
bDogc2VsZWN0aW9uX2h0bWwsCisgIHJhaXNlOiBzZWxlY3Rpb25fcmFpc2UsCisgIGxvd2VyOiBz
ZWxlY3Rpb25fbG93ZXIsCisgIGFwcGVuZDogc2VsZWN0aW9uX2FwcGVuZCwKKyAgaW5zZXJ0OiBz
ZWxlY3Rpb25faW5zZXJ0LAorICByZW1vdmU6IHNlbGVjdGlvbl9yZW1vdmUsCisgIGNsb25lOiBz
ZWxlY3Rpb25fY2xvbmUsCisgIGRhdHVtOiBzZWxlY3Rpb25fZGF0dW0sCisgIG9uOiBzZWxlY3Rp
b25fb24sCisgIGRpc3BhdGNoOiBzZWxlY3Rpb25fZGlzcGF0Y2gKK307CisKK2Z1bmN0aW9uIHNl
bGVjdChzZWxlY3RvcikgeworICByZXR1cm4gdHlwZW9mIHNlbGVjdG9yID09PSAic3RyaW5nIgor
ICAgICAgPyBuZXcgU2VsZWN0aW9uKFtbZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcild
XSwgW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudF0pCisgICAgICA6IG5ldyBTZWxlY3Rpb24oW1tz
ZWxlY3Rvcl1dLCByb290KTsKK30KKworZnVuY3Rpb24gY3JlYXRlKG5hbWUpIHsKKyAgcmV0dXJu
IHNlbGVjdChjcmVhdG9yKG5hbWUpLmNhbGwoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSk7Cit9
CisKK3ZhciBuZXh0SWQgPSAwOworCitmdW5jdGlvbiBsb2NhbCgpIHsKKyAgcmV0dXJuIG5ldyBM
b2NhbDsKK30KKworZnVuY3Rpb24gTG9jYWwoKSB7CisgIHRoaXMuXyA9ICJAIiArICgrK25leHRJ
ZCkudG9TdHJpbmcoMzYpOworfQorCitMb2NhbC5wcm90b3R5cGUgPSBsb2NhbC5wcm90b3R5cGUg
PSB7CisgIGNvbnN0cnVjdG9yOiBMb2NhbCwKKyAgZ2V0OiBmdW5jdGlvbihub2RlKSB7CisgICAg
dmFyIGlkID0gdGhpcy5fOworICAgIHdoaWxlICghKGlkIGluIG5vZGUpKSBpZiAoIShub2RlID0g
bm9kZS5wYXJlbnROb2RlKSkgcmV0dXJuOworICAgIHJldHVybiBub2RlW2lkXTsKKyAgfSwKKyAg
c2V0OiBmdW5jdGlvbihub2RlLCB2YWx1ZSkgeworICAgIHJldHVybiBub2RlW3RoaXMuX10gPSB2
YWx1ZTsKKyAgfSwKKyAgcmVtb3ZlOiBmdW5jdGlvbihub2RlKSB7CisgICAgcmV0dXJuIHRoaXMu
XyBpbiBub2RlICYmIGRlbGV0ZSBub2RlW3RoaXMuX107CisgIH0sCisgIHRvU3RyaW5nOiBmdW5j
dGlvbigpIHsKKyAgICByZXR1cm4gdGhpcy5fOworICB9Cit9OworCitmdW5jdGlvbiBzb3VyY2VF
dmVudCgpIHsKKyAgdmFyIGN1cnJlbnQgPSBleHBvcnRzLmV2ZW50LCBzb3VyY2U7CisgIHdoaWxl
IChzb3VyY2UgPSBjdXJyZW50LnNvdXJjZUV2ZW50KSBjdXJyZW50ID0gc291cmNlOworICByZXR1
cm4gY3VycmVudDsKK30KKworZnVuY3Rpb24gcG9pbnQobm9kZSwgZXZlbnQpIHsKKyAgdmFyIHN2
ZyA9IG5vZGUub3duZXJTVkdFbGVtZW50IHx8IG5vZGU7CisKKyAgaWYgKHN2Zy5jcmVhdGVTVkdQ
b2ludCkgeworICAgIHZhciBwb2ludCA9IHN2Zy5jcmVhdGVTVkdQb2ludCgpOworICAgIHBvaW50
LnggPSBldmVudC5jbGllbnRYLCBwb2ludC55ID0gZXZlbnQuY2xpZW50WTsKKyAgICBwb2ludCA9
IHBvaW50Lm1hdHJpeFRyYW5zZm9ybShub2RlLmdldFNjcmVlbkNUTSgpLmludmVyc2UoKSk7Cisg
ICAgcmV0dXJuIFtwb2ludC54LCBwb2ludC55XTsKKyAgfQorCisgIHZhciByZWN0ID0gbm9kZS5n
ZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgcmV0dXJuIFtldmVudC5jbGllbnRYIC0gcmVjdC5s
ZWZ0IC0gbm9kZS5jbGllbnRMZWZ0LCBldmVudC5jbGllbnRZIC0gcmVjdC50b3AgLSBub2RlLmNs
aWVudFRvcF07Cit9CisKK2Z1bmN0aW9uIG1vdXNlKG5vZGUpIHsKKyAgdmFyIGV2ZW50ID0gc291
cmNlRXZlbnQoKTsKKyAgaWYgKGV2ZW50LmNoYW5nZWRUb3VjaGVzKSBldmVudCA9IGV2ZW50LmNo
YW5nZWRUb3VjaGVzWzBdOworICByZXR1cm4gcG9pbnQobm9kZSwgZXZlbnQpOworfQorCitmdW5j
dGlvbiBzZWxlY3RBbGwoc2VsZWN0b3IpIHsKKyAgcmV0dXJuIHR5cGVvZiBzZWxlY3RvciA9PT0g
InN0cmluZyIKKyAgICAgID8gbmV3IFNlbGVjdGlvbihbZG9jdW1lbnQucXVlcnlTZWxlY3RvckFs
bChzZWxlY3RvcildLCBbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSkKKyAgICAgIDogbmV3IFNl
bGVjdGlvbihbc2VsZWN0b3IgPT0gbnVsbCA/IFtdIDogc2VsZWN0b3JdLCByb290KTsKK30KKwor
ZnVuY3Rpb24gdG91Y2gobm9kZSwgdG91Y2hlcywgaWRlbnRpZmllcikgeworICBpZiAoYXJndW1l
bnRzLmxlbmd0aCA8IDMpIGlkZW50aWZpZXIgPSB0b3VjaGVzLCB0b3VjaGVzID0gc291cmNlRXZl
bnQoKS5jaGFuZ2VkVG91Y2hlczsKKworICBmb3IgKHZhciBpID0gMCwgbiA9IHRvdWNoZXMgPyB0
b3VjaGVzLmxlbmd0aCA6IDAsIHRvdWNoOyBpIDwgbjsgKytpKSB7CisgICAgaWYgKCh0b3VjaCA9
IHRvdWNoZXNbaV0pLmlkZW50aWZpZXIgPT09IGlkZW50aWZpZXIpIHsKKyAgICAgIHJldHVybiBw
b2ludChub2RlLCB0b3VjaCk7CisgICAgfQorICB9CisKKyAgcmV0dXJuIG51bGw7Cit9CisKK2Z1
bmN0aW9uIHRvdWNoZXMobm9kZSwgdG91Y2hlcykgeworICBpZiAodG91Y2hlcyA9PSBudWxsKSB0
b3VjaGVzID0gc291cmNlRXZlbnQoKS50b3VjaGVzOworCisgIGZvciAodmFyIGkgPSAwLCBuID0g
dG91Y2hlcyA/IHRvdWNoZXMubGVuZ3RoIDogMCwgcG9pbnRzID0gbmV3IEFycmF5KG4pOyBpIDwg
bjsgKytpKSB7CisgICAgcG9pbnRzW2ldID0gcG9pbnQobm9kZSwgdG91Y2hlc1tpXSk7CisgIH0K
KworICByZXR1cm4gcG9pbnRzOworfQorCitmdW5jdGlvbiBub3Byb3BhZ2F0aW9uKCkgeworICBl
eHBvcnRzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOworfQorCitmdW5jdGlvbiBu
b2V2ZW50KCkgeworICBleHBvcnRzLmV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisgIGV4cG9ydHMu
ZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7Cit9CisKK2Z1bmN0aW9uIGRyYWdEaXNh
YmxlKHZpZXcpIHsKKyAgdmFyIHJvb3QgPSB2aWV3LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwK
KyAgICAgIHNlbGVjdGlvbiA9IHNlbGVjdCh2aWV3KS5vbigiZHJhZ3N0YXJ0LmRyYWciLCBub2V2
ZW50LCB0cnVlKTsKKyAgaWYgKCJvbnNlbGVjdHN0YXJ0IiBpbiByb290KSB7CisgICAgc2VsZWN0
aW9uLm9uKCJzZWxlY3RzdGFydC5kcmFnIiwgbm9ldmVudCwgdHJ1ZSk7CisgIH0gZWxzZSB7Cisg
ICAgcm9vdC5fX25vc2VsZWN0ID0gcm9vdC5zdHlsZS5Nb3pVc2VyU2VsZWN0OworICAgIHJvb3Qu
c3R5bGUuTW96VXNlclNlbGVjdCA9ICJub25lIjsKKyAgfQorfQorCitmdW5jdGlvbiB5ZXNkcmFn
KHZpZXcsIG5vY2xpY2spIHsKKyAgdmFyIHJvb3QgPSB2aWV3LmRvY3VtZW50LmRvY3VtZW50RWxl
bWVudCwKKyAgICAgIHNlbGVjdGlvbiA9IHNlbGVjdCh2aWV3KS5vbigiZHJhZ3N0YXJ0LmRyYWci
LCBudWxsKTsKKyAgaWYgKG5vY2xpY2spIHsKKyAgICBzZWxlY3Rpb24ub24oImNsaWNrLmRyYWci
LCBub2V2ZW50LCB0cnVlKTsKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBzZWxlY3Rpb24u
b24oImNsaWNrLmRyYWciLCBudWxsKTsgfSwgMCk7CisgIH0KKyAgaWYgKCJvbnNlbGVjdHN0YXJ0
IiBpbiByb290KSB7CisgICAgc2VsZWN0aW9uLm9uKCJzZWxlY3RzdGFydC5kcmFnIiwgbnVsbCk7
CisgIH0gZWxzZSB7CisgICAgcm9vdC5zdHlsZS5Nb3pVc2VyU2VsZWN0ID0gcm9vdC5fX25vc2Vs
ZWN0OworICAgIGRlbGV0ZSByb290Ll9fbm9zZWxlY3Q7CisgIH0KK30KKworZnVuY3Rpb24gY29u
c3RhbnQkMih4KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsK
K30KKworZnVuY3Rpb24gRHJhZ0V2ZW50KHRhcmdldCwgdHlwZSwgc3ViamVjdCwgaWQsIGFjdGl2
ZSwgeCwgeSwgZHgsIGR5LCBkaXNwYXRjaCkgeworICB0aGlzLnRhcmdldCA9IHRhcmdldDsKKyAg
dGhpcy50eXBlID0gdHlwZTsKKyAgdGhpcy5zdWJqZWN0ID0gc3ViamVjdDsKKyAgdGhpcy5pZGVu
dGlmaWVyID0gaWQ7CisgIHRoaXMuYWN0aXZlID0gYWN0aXZlOworICB0aGlzLnggPSB4OworICB0
aGlzLnkgPSB5OworICB0aGlzLmR4ID0gZHg7CisgIHRoaXMuZHkgPSBkeTsKKyAgdGhpcy5fID0g
ZGlzcGF0Y2g7Cit9CisKK0RyYWdFdmVudC5wcm90b3R5cGUub24gPSBmdW5jdGlvbigpIHsKKyAg
dmFyIHZhbHVlID0gdGhpcy5fLm9uLmFwcGx5KHRoaXMuXywgYXJndW1lbnRzKTsKKyAgcmV0dXJu
IHZhbHVlID09PSB0aGlzLl8gPyB0aGlzIDogdmFsdWU7Cit9OworCisvLyBJZ25vcmUgcmlnaHQt
Y2xpY2ssIHNpbmNlIHRoYXQgc2hvdWxkIG9wZW4gdGhlIGNvbnRleHQgbWVudS4KK2Z1bmN0aW9u
IGRlZmF1bHRGaWx0ZXIoKSB7CisgIHJldHVybiAhZXhwb3J0cy5ldmVudC5jdHJsS2V5ICYmICFl
eHBvcnRzLmV2ZW50LmJ1dHRvbjsKK30KKworZnVuY3Rpb24gZGVmYXVsdENvbnRhaW5lcigpIHsK
KyAgcmV0dXJuIHRoaXMucGFyZW50Tm9kZTsKK30KKworZnVuY3Rpb24gZGVmYXVsdFN1YmplY3Qo
ZCkgeworICByZXR1cm4gZCA9PSBudWxsID8ge3g6IGV4cG9ydHMuZXZlbnQueCwgeTogZXhwb3J0
cy5ldmVudC55fSA6IGQ7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRUb3VjaGFibGUoKSB7CisgIHJl
dHVybiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgfHwgKCJvbnRvdWNoc3RhcnQiIGluIHRoaXMp
OworfQorCitmdW5jdGlvbiBkcmFnKCkgeworICB2YXIgZmlsdGVyID0gZGVmYXVsdEZpbHRlciwK
KyAgICAgIGNvbnRhaW5lciA9IGRlZmF1bHRDb250YWluZXIsCisgICAgICBzdWJqZWN0ID0gZGVm
YXVsdFN1YmplY3QsCisgICAgICB0b3VjaGFibGUgPSBkZWZhdWx0VG91Y2hhYmxlLAorICAgICAg
Z2VzdHVyZXMgPSB7fSwKKyAgICAgIGxpc3RlbmVycyA9IGRpc3BhdGNoKCJzdGFydCIsICJkcmFn
IiwgImVuZCIpLAorICAgICAgYWN0aXZlID0gMCwKKyAgICAgIG1vdXNlZG93bngsCisgICAgICBt
b3VzZWRvd255LAorICAgICAgbW91c2Vtb3ZpbmcsCisgICAgICB0b3VjaGVuZGluZywKKyAgICAg
IGNsaWNrRGlzdGFuY2UyID0gMDsKKworICBmdW5jdGlvbiBkcmFnKHNlbGVjdGlvbikgeworICAg
IHNlbGVjdGlvbgorICAgICAgICAub24oIm1vdXNlZG93bi5kcmFnIiwgbW91c2Vkb3duZWQpCisg
ICAgICAuZmlsdGVyKHRvdWNoYWJsZSkKKyAgICAgICAgLm9uKCJ0b3VjaHN0YXJ0LmRyYWciLCB0
b3VjaHN0YXJ0ZWQpCisgICAgICAgIC5vbigidG91Y2htb3ZlLmRyYWciLCB0b3VjaG1vdmVkKQor
ICAgICAgICAub24oInRvdWNoZW5kLmRyYWcgdG91Y2hjYW5jZWwuZHJhZyIsIHRvdWNoZW5kZWQp
CisgICAgICAgIC5zdHlsZSgidG91Y2gtYWN0aW9uIiwgIm5vbmUiKQorICAgICAgICAuc3R5bGUo
Ii13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvciIsICJyZ2JhKDAsMCwwLDApIik7CisgIH0KKwor
ICBmdW5jdGlvbiBtb3VzZWRvd25lZCgpIHsKKyAgICBpZiAodG91Y2hlbmRpbmcgfHwgIWZpbHRl
ci5hcHBseSh0aGlzLCBhcmd1bWVudHMpKSByZXR1cm47CisgICAgdmFyIGdlc3R1cmUgPSBiZWZv
cmVzdGFydCgibW91c2UiLCBjb250YWluZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSwgbW91c2Us
IHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKCFnZXN0dXJlKSByZXR1cm47CisgICAgc2VsZWN0
KGV4cG9ydHMuZXZlbnQudmlldykub24oIm1vdXNlbW92ZS5kcmFnIiwgbW91c2Vtb3ZlZCwgdHJ1
ZSkub24oIm1vdXNldXAuZHJhZyIsIG1vdXNldXBwZWQsIHRydWUpOworICAgIGRyYWdEaXNhYmxl
KGV4cG9ydHMuZXZlbnQudmlldyk7CisgICAgbm9wcm9wYWdhdGlvbigpOworICAgIG1vdXNlbW92
aW5nID0gZmFsc2U7CisgICAgbW91c2Vkb3dueCA9IGV4cG9ydHMuZXZlbnQuY2xpZW50WDsKKyAg
ICBtb3VzZWRvd255ID0gZXhwb3J0cy5ldmVudC5jbGllbnRZOworICAgIGdlc3R1cmUoInN0YXJ0
Iik7CisgIH0KKworICBmdW5jdGlvbiBtb3VzZW1vdmVkKCkgeworICAgIG5vZXZlbnQoKTsKKyAg
ICBpZiAoIW1vdXNlbW92aW5nKSB7CisgICAgICB2YXIgZHggPSBleHBvcnRzLmV2ZW50LmNsaWVu
dFggLSBtb3VzZWRvd254LCBkeSA9IGV4cG9ydHMuZXZlbnQuY2xpZW50WSAtIG1vdXNlZG93bnk7
CisgICAgICBtb3VzZW1vdmluZyA9IGR4ICogZHggKyBkeSAqIGR5ID4gY2xpY2tEaXN0YW5jZTI7
CisgICAgfQorICAgIGdlc3R1cmVzLm1vdXNlKCJkcmFnIik7CisgIH0KKworICBmdW5jdGlvbiBt
b3VzZXVwcGVkKCkgeworICAgIHNlbGVjdChleHBvcnRzLmV2ZW50LnZpZXcpLm9uKCJtb3VzZW1v
dmUuZHJhZyBtb3VzZXVwLmRyYWciLCBudWxsKTsKKyAgICB5ZXNkcmFnKGV4cG9ydHMuZXZlbnQu
dmlldywgbW91c2Vtb3ZpbmcpOworICAgIG5vZXZlbnQoKTsKKyAgICBnZXN0dXJlcy5tb3VzZSgi
ZW5kIik7CisgIH0KKworICBmdW5jdGlvbiB0b3VjaHN0YXJ0ZWQoKSB7CisgICAgaWYgKCFmaWx0
ZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSkgcmV0dXJuOworICAgIHZhciB0b3VjaGVzID0gZXhw
b3J0cy5ldmVudC5jaGFuZ2VkVG91Y2hlcywKKyAgICAgICAgYyA9IGNvbnRhaW5lci5hcHBseSh0
aGlzLCBhcmd1bWVudHMpLAorICAgICAgICBuID0gdG91Y2hlcy5sZW5ndGgsIGksIGdlc3R1cmU7
CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAoZ2VzdHVyZSA9IGJl
Zm9yZXN0YXJ0KHRvdWNoZXNbaV0uaWRlbnRpZmllciwgYywgdG91Y2gsIHRoaXMsIGFyZ3VtZW50
cykpIHsKKyAgICAgICAgbm9wcm9wYWdhdGlvbigpOworICAgICAgICBnZXN0dXJlKCJzdGFydCIp
OworICAgICAgfQorICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIHRvdWNobW92ZWQoKSB7CisgICAg
dmFyIHRvdWNoZXMgPSBleHBvcnRzLmV2ZW50LmNoYW5nZWRUb3VjaGVzLAorICAgICAgICBuID0g
dG91Y2hlcy5sZW5ndGgsIGksIGdlc3R1cmU7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytp
KSB7CisgICAgICBpZiAoZ2VzdHVyZSA9IGdlc3R1cmVzW3RvdWNoZXNbaV0uaWRlbnRpZmllcl0p
IHsKKyAgICAgICAgbm9ldmVudCgpOworICAgICAgICBnZXN0dXJlKCJkcmFnIik7CisgICAgICB9
CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gdG91Y2hlbmRlZCgpIHsKKyAgICB2YXIgdG91Y2hl
cyA9IGV4cG9ydHMuZXZlbnQuY2hhbmdlZFRvdWNoZXMsCisgICAgICAgIG4gPSB0b3VjaGVzLmxl
bmd0aCwgaSwgZ2VzdHVyZTsKKworICAgIGlmICh0b3VjaGVuZGluZykgY2xlYXJUaW1lb3V0KHRv
dWNoZW5kaW5nKTsKKyAgICB0b3VjaGVuZGluZyA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHRv
dWNoZW5kaW5nID0gbnVsbDsgfSwgNTAwKTsgLy8gR2hvc3QgY2xpY2tzIGFyZSBkZWxheWVkIQor
ICAgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChnZXN0dXJlID0gZ2VzdHVy
ZXNbdG91Y2hlc1tpXS5pZGVudGlmaWVyXSkgeworICAgICAgICBub3Byb3BhZ2F0aW9uKCk7Cisg
ICAgICAgIGdlc3R1cmUoImVuZCIpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGZ1bmN0aW9u
IGJlZm9yZXN0YXJ0KGlkLCBjb250YWluZXIsIHBvaW50LCB0aGF0LCBhcmdzKSB7CisgICAgdmFy
IHAgPSBwb2ludChjb250YWluZXIsIGlkKSwgcywgZHgsIGR5LAorICAgICAgICBzdWJsaXN0ZW5l
cnMgPSBsaXN0ZW5lcnMuY29weSgpOworCisgICAgaWYgKCFjdXN0b21FdmVudChuZXcgRHJhZ0V2
ZW50KGRyYWcsICJiZWZvcmVzdGFydCIsIHMsIGlkLCBhY3RpdmUsIHBbMF0sIHBbMV0sIDAsIDAs
IHN1Ymxpc3RlbmVycyksIGZ1bmN0aW9uKCkgeworICAgICAgaWYgKChleHBvcnRzLmV2ZW50LnN1
YmplY3QgPSBzID0gc3ViamVjdC5hcHBseSh0aGF0LCBhcmdzKSkgPT0gbnVsbCkgcmV0dXJuIGZh
bHNlOworICAgICAgZHggPSBzLnggLSBwWzBdIHx8IDA7CisgICAgICBkeSA9IHMueSAtIHBbMV0g
fHwgMDsKKyAgICAgIHJldHVybiB0cnVlOworICAgIH0pKSByZXR1cm47CisKKyAgICByZXR1cm4g
ZnVuY3Rpb24gZ2VzdHVyZSh0eXBlKSB7CisgICAgICB2YXIgcDAgPSBwLCBuOworICAgICAgc3dp
dGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgInN0YXJ0IjogZ2VzdHVyZXNbaWRdID0gZ2VzdHVy
ZSwgbiA9IGFjdGl2ZSsrOyBicmVhazsKKyAgICAgICAgY2FzZSAiZW5kIjogZGVsZXRlIGdlc3R1
cmVzW2lkXSwgLS1hY3RpdmU7IC8vIG5vYnJlYWsKKyAgICAgICAgY2FzZSAiZHJhZyI6IHAgPSBw
b2ludChjb250YWluZXIsIGlkKSwgbiA9IGFjdGl2ZTsgYnJlYWs7CisgICAgICB9CisgICAgICBj
dXN0b21FdmVudChuZXcgRHJhZ0V2ZW50KGRyYWcsIHR5cGUsIHMsIGlkLCBuLCBwWzBdICsgZHgs
IHBbMV0gKyBkeSwgcFswXSAtIHAwWzBdLCBwWzFdIC0gcDBbMV0sIHN1Ymxpc3RlbmVycyksIHN1
Ymxpc3RlbmVycy5hcHBseSwgc3VibGlzdGVuZXJzLCBbdHlwZSwgdGhhdCwgYXJnc10pOworICAg
IH07CisgIH0KKworICBkcmFnLmZpbHRlciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJn
dW1lbnRzLmxlbmd0aCA/IChmaWx0ZXIgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBj
b25zdGFudCQyKCEhXyksIGRyYWcpIDogZmlsdGVyOworICB9OworCisgIGRyYWcuY29udGFpbmVy
ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGNvbnRhaW5l
ciA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDIoXyksIGRyYWcpIDog
Y29udGFpbmVyOworICB9OworCisgIGRyYWcuc3ViamVjdCA9IGZ1bmN0aW9uKF8pIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzdWJqZWN0ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlv
biIgPyBfIDogY29uc3RhbnQkMihfKSwgZHJhZykgOiBzdWJqZWN0OworICB9OworCisgIGRyYWcu
dG91Y2hhYmxlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8g
KHRvdWNoYWJsZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDIoISFf
KSwgZHJhZykgOiB0b3VjaGFibGU7CisgIH07CisKKyAgZHJhZy5vbiA9IGZ1bmN0aW9uKCkgewor
ICAgIHZhciB2YWx1ZSA9IGxpc3RlbmVycy5vbi5hcHBseShsaXN0ZW5lcnMsIGFyZ3VtZW50cyk7
CisgICAgcmV0dXJuIHZhbHVlID09PSBsaXN0ZW5lcnMgPyBkcmFnIDogdmFsdWU7CisgIH07CisK
KyAgZHJhZy5jbGlja0Rpc3RhbmNlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKGNsaWNrRGlzdGFuY2UyID0gKF8gPSArXykgKiBfLCBkcmFnKSA6IE1hdGgu
c3FydChjbGlja0Rpc3RhbmNlMik7CisgIH07CisKKyAgcmV0dXJuIGRyYWc7Cit9CisKK2Z1bmN0
aW9uIGRlZmluZShjb25zdHJ1Y3RvciwgZmFjdG9yeSwgcHJvdG90eXBlKSB7CisgIGNvbnN0cnVj
dG9yLnByb3RvdHlwZSA9IGZhY3RvcnkucHJvdG90eXBlID0gcHJvdG90eXBlOworICBwcm90b3R5
cGUuY29uc3RydWN0b3IgPSBjb25zdHJ1Y3RvcjsKK30KKworZnVuY3Rpb24gZXh0ZW5kKHBhcmVu
dCwgZGVmaW5pdGlvbikgeworICB2YXIgcHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShwYXJlbnQu
cHJvdG90eXBlKTsKKyAgZm9yICh2YXIga2V5IGluIGRlZmluaXRpb24pIHByb3RvdHlwZVtrZXld
ID0gZGVmaW5pdGlvbltrZXldOworICByZXR1cm4gcHJvdG90eXBlOworfQorCitmdW5jdGlvbiBD
b2xvcigpIHt9CisKK3ZhciBkYXJrZXIgPSAwLjc7Cit2YXIgYnJpZ2h0ZXIgPSAxIC8gZGFya2Vy
OworCit2YXIgcmVJID0gIlxccyooWystXT9cXGQrKVxccyoiLAorICAgIHJlTiA9ICJcXHMqKFsr
LV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KVxccyoiLAorICAgIHJlUCA9ICJcXHMq
KFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KSVcXHMqIiwKKyAgICByZUhleCA9
IC9eIyhbMC05YS1mXXszLDh9KSQvLAorICAgIHJlUmdiSW50ZWdlciA9IG5ldyBSZWdFeHAoIl5y
Z2JcXCgiICsgW3JlSSwgcmVJLCByZUldICsgIlxcKSQiKSwKKyAgICByZVJnYlBlcmNlbnQgPSBu
ZXcgUmVnRXhwKCJecmdiXFwoIiArIFtyZVAsIHJlUCwgcmVQXSArICJcXCkkIiksCisgICAgcmVS
Z2JhSW50ZWdlciA9IG5ldyBSZWdFeHAoIl5yZ2JhXFwoIiArIFtyZUksIHJlSSwgcmVJLCByZU5d
ICsgIlxcKSQiKSwKKyAgICByZVJnYmFQZXJjZW50ID0gbmV3IFJlZ0V4cCgiXnJnYmFcXCgiICsg
W3JlUCwgcmVQLCByZVAsIHJlTl0gKyAiXFwpJCIpLAorICAgIHJlSHNsUGVyY2VudCA9IG5ldyBS
ZWdFeHAoIl5oc2xcXCgiICsgW3JlTiwgcmVQLCByZVBdICsgIlxcKSQiKSwKKyAgICByZUhzbGFQ
ZXJjZW50ID0gbmV3IFJlZ0V4cCgiXmhzbGFcXCgiICsgW3JlTiwgcmVQLCByZVAsIHJlTl0gKyAi
XFwpJCIpOworCit2YXIgbmFtZWQgPSB7CisgIGFsaWNlYmx1ZTogMHhmMGY4ZmYsCisgIGFudGlx
dWV3aGl0ZTogMHhmYWViZDcsCisgIGFxdWE6IDB4MDBmZmZmLAorICBhcXVhbWFyaW5lOiAweDdm
ZmZkNCwKKyAgYXp1cmU6IDB4ZjBmZmZmLAorICBiZWlnZTogMHhmNWY1ZGMsCisgIGJpc3F1ZTog
MHhmZmU0YzQsCisgIGJsYWNrOiAweDAwMDAwMCwKKyAgYmxhbmNoZWRhbG1vbmQ6IDB4ZmZlYmNk
LAorICBibHVlOiAweDAwMDBmZiwKKyAgYmx1ZXZpb2xldDogMHg4YTJiZTIsCisgIGJyb3duOiAw
eGE1MmEyYSwKKyAgYnVybHl3b29kOiAweGRlYjg4NywKKyAgY2FkZXRibHVlOiAweDVmOWVhMCwK
KyAgY2hhcnRyZXVzZTogMHg3ZmZmMDAsCisgIGNob2NvbGF0ZTogMHhkMjY5MWUsCisgIGNvcmFs
OiAweGZmN2Y1MCwKKyAgY29ybmZsb3dlcmJsdWU6IDB4NjQ5NWVkLAorICBjb3Juc2lsazogMHhm
ZmY4ZGMsCisgIGNyaW1zb246IDB4ZGMxNDNjLAorICBjeWFuOiAweDAwZmZmZiwKKyAgZGFya2Js
dWU6IDB4MDAwMDhiLAorICBkYXJrY3lhbjogMHgwMDhiOGIsCisgIGRhcmtnb2xkZW5yb2Q6IDB4
Yjg4NjBiLAorICBkYXJrZ3JheTogMHhhOWE5YTksCisgIGRhcmtncmVlbjogMHgwMDY0MDAsCisg
IGRhcmtncmV5OiAweGE5YTlhOSwKKyAgZGFya2toYWtpOiAweGJkYjc2YiwKKyAgZGFya21hZ2Vu
dGE6IDB4OGIwMDhiLAorICBkYXJrb2xpdmVncmVlbjogMHg1NTZiMmYsCisgIGRhcmtvcmFuZ2U6
IDB4ZmY4YzAwLAorICBkYXJrb3JjaGlkOiAweDk5MzJjYywKKyAgZGFya3JlZDogMHg4YjAwMDAs
CisgIGRhcmtzYWxtb246IDB4ZTk5NjdhLAorICBkYXJrc2VhZ3JlZW46IDB4OGZiYzhmLAorICBk
YXJrc2xhdGVibHVlOiAweDQ4M2Q4YiwKKyAgZGFya3NsYXRlZ3JheTogMHgyZjRmNGYsCisgIGRh
cmtzbGF0ZWdyZXk6IDB4MmY0ZjRmLAorICBkYXJrdHVycXVvaXNlOiAweDAwY2VkMSwKKyAgZGFy
a3Zpb2xldDogMHg5NDAwZDMsCisgIGRlZXBwaW5rOiAweGZmMTQ5MywKKyAgZGVlcHNreWJsdWU6
IDB4MDBiZmZmLAorICBkaW1ncmF5OiAweDY5Njk2OSwKKyAgZGltZ3JleTogMHg2OTY5NjksCisg
IGRvZGdlcmJsdWU6IDB4MWU5MGZmLAorICBmaXJlYnJpY2s6IDB4YjIyMjIyLAorICBmbG9yYWx3
aGl0ZTogMHhmZmZhZjAsCisgIGZvcmVzdGdyZWVuOiAweDIyOGIyMiwKKyAgZnVjaHNpYTogMHhm
ZjAwZmYsCisgIGdhaW5zYm9ybzogMHhkY2RjZGMsCisgIGdob3N0d2hpdGU6IDB4ZjhmOGZmLAor
ICBnb2xkOiAweGZmZDcwMCwKKyAgZ29sZGVucm9kOiAweGRhYTUyMCwKKyAgZ3JheTogMHg4MDgw
ODAsCisgIGdyZWVuOiAweDAwODAwMCwKKyAgZ3JlZW55ZWxsb3c6IDB4YWRmZjJmLAorICBncmV5
OiAweDgwODA4MCwKKyAgaG9uZXlkZXc6IDB4ZjBmZmYwLAorICBob3RwaW5rOiAweGZmNjliNCwK
KyAgaW5kaWFucmVkOiAweGNkNWM1YywKKyAgaW5kaWdvOiAweDRiMDA4MiwKKyAgaXZvcnk6IDB4
ZmZmZmYwLAorICBraGFraTogMHhmMGU2OGMsCisgIGxhdmVuZGVyOiAweGU2ZTZmYSwKKyAgbGF2
ZW5kZXJibHVzaDogMHhmZmYwZjUsCisgIGxhd25ncmVlbjogMHg3Y2ZjMDAsCisgIGxlbW9uY2hp
ZmZvbjogMHhmZmZhY2QsCisgIGxpZ2h0Ymx1ZTogMHhhZGQ4ZTYsCisgIGxpZ2h0Y29yYWw6IDB4
ZjA4MDgwLAorICBsaWdodGN5YW46IDB4ZTBmZmZmLAorICBsaWdodGdvbGRlbnJvZHllbGxvdzog
MHhmYWZhZDIsCisgIGxpZ2h0Z3JheTogMHhkM2QzZDMsCisgIGxpZ2h0Z3JlZW46IDB4OTBlZTkw
LAorICBsaWdodGdyZXk6IDB4ZDNkM2QzLAorICBsaWdodHBpbms6IDB4ZmZiNmMxLAorICBsaWdo
dHNhbG1vbjogMHhmZmEwN2EsCisgIGxpZ2h0c2VhZ3JlZW46IDB4MjBiMmFhLAorICBsaWdodHNr
eWJsdWU6IDB4ODdjZWZhLAorICBsaWdodHNsYXRlZ3JheTogMHg3Nzg4OTksCisgIGxpZ2h0c2xh
dGVncmV5OiAweDc3ODg5OSwKKyAgbGlnaHRzdGVlbGJsdWU6IDB4YjBjNGRlLAorICBsaWdodHll
bGxvdzogMHhmZmZmZTAsCisgIGxpbWU6IDB4MDBmZjAwLAorICBsaW1lZ3JlZW46IDB4MzJjZDMy
LAorICBsaW5lbjogMHhmYWYwZTYsCisgIG1hZ2VudGE6IDB4ZmYwMGZmLAorICBtYXJvb246IDB4
ODAwMDAwLAorICBtZWRpdW1hcXVhbWFyaW5lOiAweDY2Y2RhYSwKKyAgbWVkaXVtYmx1ZTogMHgw
MDAwY2QsCisgIG1lZGl1bW9yY2hpZDogMHhiYTU1ZDMsCisgIG1lZGl1bXB1cnBsZTogMHg5Mzcw
ZGIsCisgIG1lZGl1bXNlYWdyZWVuOiAweDNjYjM3MSwKKyAgbWVkaXVtc2xhdGVibHVlOiAweDdi
NjhlZSwKKyAgbWVkaXVtc3ByaW5nZ3JlZW46IDB4MDBmYTlhLAorICBtZWRpdW10dXJxdW9pc2U6
IDB4NDhkMWNjLAorICBtZWRpdW12aW9sZXRyZWQ6IDB4YzcxNTg1LAorICBtaWRuaWdodGJsdWU6
IDB4MTkxOTcwLAorICBtaW50Y3JlYW06IDB4ZjVmZmZhLAorICBtaXN0eXJvc2U6IDB4ZmZlNGUx
LAorICBtb2NjYXNpbjogMHhmZmU0YjUsCisgIG5hdmFqb3doaXRlOiAweGZmZGVhZCwKKyAgbmF2
eTogMHgwMDAwODAsCisgIG9sZGxhY2U6IDB4ZmRmNWU2LAorICBvbGl2ZTogMHg4MDgwMDAsCisg
IG9saXZlZHJhYjogMHg2YjhlMjMsCisgIG9yYW5nZTogMHhmZmE1MDAsCisgIG9yYW5nZXJlZDog
MHhmZjQ1MDAsCisgIG9yY2hpZDogMHhkYTcwZDYsCisgIHBhbGVnb2xkZW5yb2Q6IDB4ZWVlOGFh
LAorICBwYWxlZ3JlZW46IDB4OThmYjk4LAorICBwYWxldHVycXVvaXNlOiAweGFmZWVlZSwKKyAg
cGFsZXZpb2xldHJlZDogMHhkYjcwOTMsCisgIHBhcGF5YXdoaXA6IDB4ZmZlZmQ1LAorICBwZWFj
aHB1ZmY6IDB4ZmZkYWI5LAorICBwZXJ1OiAweGNkODUzZiwKKyAgcGluazogMHhmZmMwY2IsCisg
IHBsdW06IDB4ZGRhMGRkLAorICBwb3dkZXJibHVlOiAweGIwZTBlNiwKKyAgcHVycGxlOiAweDgw
MDA4MCwKKyAgcmViZWNjYXB1cnBsZTogMHg2NjMzOTksCisgIHJlZDogMHhmZjAwMDAsCisgIHJv
c3licm93bjogMHhiYzhmOGYsCisgIHJveWFsYmx1ZTogMHg0MTY5ZTEsCisgIHNhZGRsZWJyb3du
OiAweDhiNDUxMywKKyAgc2FsbW9uOiAweGZhODA3MiwKKyAgc2FuZHlicm93bjogMHhmNGE0NjAs
CisgIHNlYWdyZWVuOiAweDJlOGI1NywKKyAgc2Vhc2hlbGw6IDB4ZmZmNWVlLAorICBzaWVubmE6
IDB4YTA1MjJkLAorICBzaWx2ZXI6IDB4YzBjMGMwLAorICBza3libHVlOiAweDg3Y2VlYiwKKyAg
c2xhdGVibHVlOiAweDZhNWFjZCwKKyAgc2xhdGVncmF5OiAweDcwODA5MCwKKyAgc2xhdGVncmV5
OiAweDcwODA5MCwKKyAgc25vdzogMHhmZmZhZmEsCisgIHNwcmluZ2dyZWVuOiAweDAwZmY3ZiwK
KyAgc3RlZWxibHVlOiAweDQ2ODJiNCwKKyAgdGFuOiAweGQyYjQ4YywKKyAgdGVhbDogMHgwMDgw
ODAsCisgIHRoaXN0bGU6IDB4ZDhiZmQ4LAorICB0b21hdG86IDB4ZmY2MzQ3LAorICB0dXJxdW9p
c2U6IDB4NDBlMGQwLAorICB2aW9sZXQ6IDB4ZWU4MmVlLAorICB3aGVhdDogMHhmNWRlYjMsCisg
IHdoaXRlOiAweGZmZmZmZiwKKyAgd2hpdGVzbW9rZTogMHhmNWY1ZjUsCisgIHllbGxvdzogMHhm
ZmZmMDAsCisgIHllbGxvd2dyZWVuOiAweDlhY2QzMgorfTsKKworZGVmaW5lKENvbG9yLCBjb2xv
ciwgeworICBjb3B5OiBmdW5jdGlvbihjaGFubmVscykgeworICAgIHJldHVybiBPYmplY3QuYXNz
aWduKG5ldyB0aGlzLmNvbnN0cnVjdG9yLCB0aGlzLCBjaGFubmVscyk7CisgIH0sCisgIGRpc3Bs
YXlhYmxlOiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gdGhpcy5yZ2IoKS5kaXNwbGF5YWJsZSgp
OworICB9LAorICBoZXg6IGNvbG9yX2Zvcm1hdEhleCwgLy8gRGVwcmVjYXRlZCEgVXNlIGNvbG9y
LmZvcm1hdEhleC4KKyAgZm9ybWF0SGV4OiBjb2xvcl9mb3JtYXRIZXgsCisgIGZvcm1hdEhzbDog
Y29sb3JfZm9ybWF0SHNsLAorICBmb3JtYXRSZ2I6IGNvbG9yX2Zvcm1hdFJnYiwKKyAgdG9TdHJp
bmc6IGNvbG9yX2Zvcm1hdFJnYgorfSk7CisKK2Z1bmN0aW9uIGNvbG9yX2Zvcm1hdEhleCgpIHsK
KyAgcmV0dXJuIHRoaXMucmdiKCkuZm9ybWF0SGV4KCk7Cit9CisKK2Z1bmN0aW9uIGNvbG9yX2Zv
cm1hdEhzbCgpIHsKKyAgcmV0dXJuIGhzbENvbnZlcnQodGhpcykuZm9ybWF0SHNsKCk7Cit9CisK
K2Z1bmN0aW9uIGNvbG9yX2Zvcm1hdFJnYigpIHsKKyAgcmV0dXJuIHRoaXMucmdiKCkuZm9ybWF0
UmdiKCk7Cit9CisKK2Z1bmN0aW9uIGNvbG9yKGZvcm1hdCkgeworICB2YXIgbSwgbDsKKyAgZm9y
bWF0ID0gKGZvcm1hdCArICIiKS50cmltKCkudG9Mb3dlckNhc2UoKTsKKyAgcmV0dXJuIChtID0g
cmVIZXguZXhlYyhmb3JtYXQpKSA/IChsID0gbVsxXS5sZW5ndGgsIG0gPSBwYXJzZUludChtWzFd
LCAxNiksIGwgPT09IDYgPyByZ2JuKG0pIC8vICNmZjAwMDAKKyAgICAgIDogbCA9PT0gMyA/IG5l
dyBSZ2IoKG0gPj4gOCAmIDB4ZikgfCAobSA+PiA0ICYgMHhmMCksIChtID4+IDQgJiAweGYpIHwg
KG0gJiAweGYwKSwgKChtICYgMHhmKSA8PCA0KSB8IChtICYgMHhmKSwgMSkgLy8gI2YwMAorICAg
ICAgOiBsID09PSA4ID8gbmV3IFJnYihtID4+IDI0ICYgMHhmZiwgbSA+PiAxNiAmIDB4ZmYsIG0g
Pj4gOCAmIDB4ZmYsIChtICYgMHhmZikgLyAweGZmKSAvLyAjZmYwMDAwMDAKKyAgICAgIDogbCA9
PT0gNCA/IG5ldyBSZ2IoKG0gPj4gMTIgJiAweGYpIHwgKG0gPj4gOCAmIDB4ZjApLCAobSA+PiA4
ICYgMHhmKSB8IChtID4+IDQgJiAweGYwKSwgKG0gPj4gNCAmIDB4ZikgfCAobSAmIDB4ZjApLCAo
KChtICYgMHhmKSA8PCA0KSB8IChtICYgMHhmKSkgLyAweGZmKSAvLyAjZjAwMAorICAgICAgOiBu
dWxsKSAvLyBpbnZhbGlkIGhleAorICAgICAgOiAobSA9IHJlUmdiSW50ZWdlci5leGVjKGZvcm1h
dCkpID8gbmV3IFJnYihtWzFdLCBtWzJdLCBtWzNdLCAxKSAvLyByZ2IoMjU1LCAwLCAwKQorICAg
ICAgOiAobSA9IHJlUmdiUGVyY2VudC5leGVjKGZvcm1hdCkpID8gbmV3IFJnYihtWzFdICogMjU1
IC8gMTAwLCBtWzJdICogMjU1IC8gMTAwLCBtWzNdICogMjU1IC8gMTAwLCAxKSAvLyByZ2IoMTAw
JSwgMCUsIDAlKQorICAgICAgOiAobSA9IHJlUmdiYUludGVnZXIuZXhlYyhmb3JtYXQpKSA/IHJn
YmEobVsxXSwgbVsyXSwgbVszXSwgbVs0XSkgLy8gcmdiYSgyNTUsIDAsIDAsIDEpCisgICAgICA6
IChtID0gcmVSZ2JhUGVyY2VudC5leGVjKGZvcm1hdCkpID8gcmdiYShtWzFdICogMjU1IC8gMTAw
LCBtWzJdICogMjU1IC8gMTAwLCBtWzNdICogMjU1IC8gMTAwLCBtWzRdKSAvLyByZ2IoMTAwJSwg
MCUsIDAlLCAxKQorICAgICAgOiAobSA9IHJlSHNsUGVyY2VudC5leGVjKGZvcm1hdCkpID8gaHNs
YShtWzFdLCBtWzJdIC8gMTAwLCBtWzNdIC8gMTAwLCAxKSAvLyBoc2woMTIwLCA1MCUsIDUwJSkK
KyAgICAgIDogKG0gPSByZUhzbGFQZXJjZW50LmV4ZWMoZm9ybWF0KSkgPyBoc2xhKG1bMV0sIG1b
Ml0gLyAxMDAsIG1bM10gLyAxMDAsIG1bNF0pIC8vIGhzbGEoMTIwLCA1MCUsIDUwJSwgMSkKKyAg
ICAgIDogbmFtZWQuaGFzT3duUHJvcGVydHkoZm9ybWF0KSA/IHJnYm4obmFtZWRbZm9ybWF0XSkg
Ly8gZXNsaW50LWRpc2FibGUtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnMKKyAgICAgIDogZm9y
bWF0ID09PSAidHJhbnNwYXJlbnQiID8gbmV3IFJnYihOYU4sIE5hTiwgTmFOLCAwKQorICAgICAg
OiBudWxsOworfQorCitmdW5jdGlvbiByZ2JuKG4pIHsKKyAgcmV0dXJuIG5ldyBSZ2IobiA+PiAx
NiAmIDB4ZmYsIG4gPj4gOCAmIDB4ZmYsIG4gJiAweGZmLCAxKTsKK30KKworZnVuY3Rpb24gcmdi
YShyLCBnLCBiLCBhKSB7CisgIGlmIChhIDw9IDApIHIgPSBnID0gYiA9IE5hTjsKKyAgcmV0dXJu
IG5ldyBSZ2IociwgZywgYiwgYSk7Cit9CisKK2Z1bmN0aW9uIHJnYkNvbnZlcnQobykgeworICBp
ZiAoIShvIGluc3RhbmNlb2YgQ29sb3IpKSBvID0gY29sb3Iobyk7CisgIGlmICghbykgcmV0dXJu
IG5ldyBSZ2I7CisgIG8gPSBvLnJnYigpOworICByZXR1cm4gbmV3IFJnYihvLnIsIG8uZywgby5i
LCBvLm9wYWNpdHkpOworfQorCitmdW5jdGlvbiByZ2IociwgZywgYiwgb3BhY2l0eSkgeworICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA9PT0gMSA/IHJnYkNvbnZlcnQocikgOiBuZXcgUmdiKHIs
IGcsIGIsIG9wYWNpdHkgPT0gbnVsbCA/IDEgOiBvcGFjaXR5KTsKK30KKworZnVuY3Rpb24gUmdi
KHIsIGcsIGIsIG9wYWNpdHkpIHsKKyAgdGhpcy5yID0gK3I7CisgIHRoaXMuZyA9ICtnOworICB0
aGlzLmIgPSArYjsKKyAgdGhpcy5vcGFjaXR5ID0gK29wYWNpdHk7Cit9CisKK2RlZmluZShSZ2Is
IHJnYiwgZXh0ZW5kKENvbG9yLCB7CisgIGJyaWdodGVyOiBmdW5jdGlvbihrKSB7CisgICAgayA9
IGsgPT0gbnVsbCA/IGJyaWdodGVyIDogTWF0aC5wb3coYnJpZ2h0ZXIsIGspOworICAgIHJldHVy
biBuZXcgUmdiKHRoaXMuciAqIGssIHRoaXMuZyAqIGssIHRoaXMuYiAqIGssIHRoaXMub3BhY2l0
eSk7CisgIH0sCisgIGRhcmtlcjogZnVuY3Rpb24oaykgeworICAgIGsgPSBrID09IG51bGwgPyBk
YXJrZXIgOiBNYXRoLnBvdyhkYXJrZXIsIGspOworICAgIHJldHVybiBuZXcgUmdiKHRoaXMuciAq
IGssIHRoaXMuZyAqIGssIHRoaXMuYiAqIGssIHRoaXMub3BhY2l0eSk7CisgIH0sCisgIHJnYjog
ZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRoaXM7CisgIH0sCisgIGRpc3BsYXlhYmxlOiBmdW5j
dGlvbigpIHsKKyAgICByZXR1cm4gKC0wLjUgPD0gdGhpcy5yICYmIHRoaXMuciA8IDI1NS41KQor
ICAgICAgICAmJiAoLTAuNSA8PSB0aGlzLmcgJiYgdGhpcy5nIDwgMjU1LjUpCisgICAgICAgICYm
ICgtMC41IDw9IHRoaXMuYiAmJiB0aGlzLmIgPCAyNTUuNSkKKyAgICAgICAgJiYgKDAgPD0gdGhp
cy5vcGFjaXR5ICYmIHRoaXMub3BhY2l0eSA8PSAxKTsKKyAgfSwKKyAgaGV4OiByZ2JfZm9ybWF0
SGV4LCAvLyBEZXByZWNhdGVkISBVc2UgY29sb3IuZm9ybWF0SGV4LgorICBmb3JtYXRIZXg6IHJn
Yl9mb3JtYXRIZXgsCisgIGZvcm1hdFJnYjogcmdiX2Zvcm1hdFJnYiwKKyAgdG9TdHJpbmc6IHJn
Yl9mb3JtYXRSZ2IKK30pKTsKKworZnVuY3Rpb24gcmdiX2Zvcm1hdEhleCgpIHsKKyAgcmV0dXJu
ICIjIiArIGhleCh0aGlzLnIpICsgaGV4KHRoaXMuZykgKyBoZXgodGhpcy5iKTsKK30KKworZnVu
Y3Rpb24gcmdiX2Zvcm1hdFJnYigpIHsKKyAgdmFyIGEgPSB0aGlzLm9wYWNpdHk7IGEgPSBpc05h
TihhKSA/IDEgOiBNYXRoLm1heCgwLCBNYXRoLm1pbigxLCBhKSk7CisgIHJldHVybiAoYSA9PT0g
MSA/ICJyZ2IoIiA6ICJyZ2JhKCIpCisgICAgICArIE1hdGgubWF4KDAsIE1hdGgubWluKDI1NSwg
TWF0aC5yb3VuZCh0aGlzLnIpIHx8IDApKSArICIsICIKKyAgICAgICsgTWF0aC5tYXgoMCwgTWF0
aC5taW4oMjU1LCBNYXRoLnJvdW5kKHRoaXMuZykgfHwgMCkpICsgIiwgIgorICAgICAgKyBNYXRo
Lm1heCgwLCBNYXRoLm1pbigyNTUsIE1hdGgucm91bmQodGhpcy5iKSB8fCAwKSkKKyAgICAgICsg
KGEgPT09IDEgPyAiKSIgOiAiLCAiICsgYSArICIpIik7Cit9CisKK2Z1bmN0aW9uIGhleCh2YWx1
ZSkgeworICB2YWx1ZSA9IE1hdGgubWF4KDAsIE1hdGgubWluKDI1NSwgTWF0aC5yb3VuZCh2YWx1
ZSkgfHwgMCkpOworICByZXR1cm4gKHZhbHVlIDwgMTYgPyAiMCIgOiAiIikgKyB2YWx1ZS50b1N0
cmluZygxNik7Cit9CisKK2Z1bmN0aW9uIGhzbGEoaCwgcywgbCwgYSkgeworICBpZiAoYSA8PSAw
KSBoID0gcyA9IGwgPSBOYU47CisgIGVsc2UgaWYgKGwgPD0gMCB8fCBsID49IDEpIGggPSBzID0g
TmFOOworICBlbHNlIGlmIChzIDw9IDApIGggPSBOYU47CisgIHJldHVybiBuZXcgSHNsKGgsIHMs
IGwsIGEpOworfQorCitmdW5jdGlvbiBoc2xDb252ZXJ0KG8pIHsKKyAgaWYgKG8gaW5zdGFuY2Vv
ZiBIc2wpIHJldHVybiBuZXcgSHNsKG8uaCwgby5zLCBvLmwsIG8ub3BhY2l0eSk7CisgIGlmICgh
KG8gaW5zdGFuY2VvZiBDb2xvcikpIG8gPSBjb2xvcihvKTsKKyAgaWYgKCFvKSByZXR1cm4gbmV3
IEhzbDsKKyAgaWYgKG8gaW5zdGFuY2VvZiBIc2wpIHJldHVybiBvOworICBvID0gby5yZ2IoKTsK
KyAgdmFyIHIgPSBvLnIgLyAyNTUsCisgICAgICBnID0gby5nIC8gMjU1LAorICAgICAgYiA9IG8u
YiAvIDI1NSwKKyAgICAgIG1pbiA9IE1hdGgubWluKHIsIGcsIGIpLAorICAgICAgbWF4ID0gTWF0
aC5tYXgociwgZywgYiksCisgICAgICBoID0gTmFOLAorICAgICAgcyA9IG1heCAtIG1pbiwKKyAg
ICAgIGwgPSAobWF4ICsgbWluKSAvIDI7CisgIGlmIChzKSB7CisgICAgaWYgKHIgPT09IG1heCkg
aCA9IChnIC0gYikgLyBzICsgKGcgPCBiKSAqIDY7CisgICAgZWxzZSBpZiAoZyA9PT0gbWF4KSBo
ID0gKGIgLSByKSAvIHMgKyAyOworICAgIGVsc2UgaCA9IChyIC0gZykgLyBzICsgNDsKKyAgICBz
IC89IGwgPCAwLjUgPyBtYXggKyBtaW4gOiAyIC0gbWF4IC0gbWluOworICAgIGggKj0gNjA7Cisg
IH0gZWxzZSB7CisgICAgcyA9IGwgPiAwICYmIGwgPCAxID8gMCA6IGg7CisgIH0KKyAgcmV0dXJu
IG5ldyBIc2woaCwgcywgbCwgby5vcGFjaXR5KTsKK30KKworZnVuY3Rpb24gaHNsKGgsIHMsIGws
IG9wYWNpdHkpIHsKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPT09IDEgPyBoc2xDb252ZXJ0
KGgpIDogbmV3IEhzbChoLCBzLCBsLCBvcGFjaXR5ID09IG51bGwgPyAxIDogb3BhY2l0eSk7Cit9
CisKK2Z1bmN0aW9uIEhzbChoLCBzLCBsLCBvcGFjaXR5KSB7CisgIHRoaXMuaCA9ICtoOworICB0
aGlzLnMgPSArczsKKyAgdGhpcy5sID0gK2w7CisgIHRoaXMub3BhY2l0eSA9ICtvcGFjaXR5Owor
fQorCitkZWZpbmUoSHNsLCBoc2wsIGV4dGVuZChDb2xvciwgeworICBicmlnaHRlcjogZnVuY3Rp
b24oaykgeworICAgIGsgPSBrID09IG51bGwgPyBicmlnaHRlciA6IE1hdGgucG93KGJyaWdodGVy
LCBrKTsKKyAgICByZXR1cm4gbmV3IEhzbCh0aGlzLmgsIHRoaXMucywgdGhpcy5sICogaywgdGhp
cy5vcGFjaXR5KTsKKyAgfSwKKyAgZGFya2VyOiBmdW5jdGlvbihrKSB7CisgICAgayA9IGsgPT0g
bnVsbCA/IGRhcmtlciA6IE1hdGgucG93KGRhcmtlciwgayk7CisgICAgcmV0dXJuIG5ldyBIc2wo
dGhpcy5oLCB0aGlzLnMsIHRoaXMubCAqIGssIHRoaXMub3BhY2l0eSk7CisgIH0sCisgIHJnYjog
ZnVuY3Rpb24oKSB7CisgICAgdmFyIGggPSB0aGlzLmggJSAzNjAgKyAodGhpcy5oIDwgMCkgKiAz
NjAsCisgICAgICAgIHMgPSBpc05hTihoKSB8fCBpc05hTih0aGlzLnMpID8gMCA6IHRoaXMucywK
KyAgICAgICAgbCA9IHRoaXMubCwKKyAgICAgICAgbTIgPSBsICsgKGwgPCAwLjUgPyBsIDogMSAt
IGwpICogcywKKyAgICAgICAgbTEgPSAyICogbCAtIG0yOworICAgIHJldHVybiBuZXcgUmdiKAor
ICAgICAgaHNsMnJnYihoID49IDI0MCA/IGggLSAyNDAgOiBoICsgMTIwLCBtMSwgbTIpLAorICAg
ICAgaHNsMnJnYihoLCBtMSwgbTIpLAorICAgICAgaHNsMnJnYihoIDwgMTIwID8gaCArIDI0MCA6
IGggLSAxMjAsIG0xLCBtMiksCisgICAgICB0aGlzLm9wYWNpdHkKKyAgICApOworICB9LAorICBk
aXNwbGF5YWJsZTogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuICgwIDw9IHRoaXMucyAmJiB0aGlz
LnMgPD0gMSB8fCBpc05hTih0aGlzLnMpKQorICAgICAgICAmJiAoMCA8PSB0aGlzLmwgJiYgdGhp
cy5sIDw9IDEpCisgICAgICAgICYmICgwIDw9IHRoaXMub3BhY2l0eSAmJiB0aGlzLm9wYWNpdHkg
PD0gMSk7CisgIH0sCisgIGZvcm1hdEhzbDogZnVuY3Rpb24oKSB7CisgICAgdmFyIGEgPSB0aGlz
Lm9wYWNpdHk7IGEgPSBpc05hTihhKSA/IDEgOiBNYXRoLm1heCgwLCBNYXRoLm1pbigxLCBhKSk7
CisgICAgcmV0dXJuIChhID09PSAxID8gImhzbCgiIDogImhzbGEoIikKKyAgICAgICAgKyAodGhp
cy5oIHx8IDApICsgIiwgIgorICAgICAgICArICh0aGlzLnMgfHwgMCkgKiAxMDAgKyAiJSwgIgor
ICAgICAgICArICh0aGlzLmwgfHwgMCkgKiAxMDAgKyAiJSIKKyAgICAgICAgKyAoYSA9PT0gMSA/
ICIpIiA6ICIsICIgKyBhICsgIikiKTsKKyAgfQorfSkpOworCisvKiBGcm9tIEZ2RCAxMy4zNywg
Q1NTIENvbG9yIE1vZHVsZSBMZXZlbCAzICovCitmdW5jdGlvbiBoc2wycmdiKGgsIG0xLCBtMikg
eworICByZXR1cm4gKGggPCA2MCA/IG0xICsgKG0yIC0gbTEpICogaCAvIDYwCisgICAgICA6IGgg
PCAxODAgPyBtMgorICAgICAgOiBoIDwgMjQwID8gbTEgKyAobTIgLSBtMSkgKiAoMjQwIC0gaCkg
LyA2MAorICAgICAgOiBtMSkgKiAyNTU7Cit9CisKK3ZhciBkZWcycmFkID0gTWF0aC5QSSAvIDE4
MDsKK3ZhciByYWQyZGVnID0gMTgwIC8gTWF0aC5QSTsKKworLy8gaHR0cHM6Ly9vYnNlcnZhYmxl
aHEuY29tL0BtYm9zdG9jay9sYWItYW5kLXJnYgordmFyIEsgPSAxOCwKKyAgICBYbiA9IDAuOTY0
MjIsCisgICAgWW4gPSAxLAorICAgIFpuID0gMC44MjUyMSwKKyAgICB0MCA9IDQgLyAyOSwKKyAg
ICB0MSA9IDYgLyAyOSwKKyAgICB0MiA9IDMgKiB0MSAqIHQxLAorICAgIHQzID0gdDEgKiB0MSAq
IHQxOworCitmdW5jdGlvbiBsYWJDb252ZXJ0KG8pIHsKKyAgaWYgKG8gaW5zdGFuY2VvZiBMYWIp
IHJldHVybiBuZXcgTGFiKG8ubCwgby5hLCBvLmIsIG8ub3BhY2l0eSk7CisgIGlmIChvIGluc3Rh
bmNlb2YgSGNsKSByZXR1cm4gaGNsMmxhYihvKTsKKyAgaWYgKCEobyBpbnN0YW5jZW9mIFJnYikp
IG8gPSByZ2JDb252ZXJ0KG8pOworICB2YXIgciA9IHJnYjJscmdiKG8uciksCisgICAgICBnID0g
cmdiMmxyZ2Ioby5nKSwKKyAgICAgIGIgPSByZ2IybHJnYihvLmIpLAorICAgICAgeSA9IHh5ejJs
YWIoKDAuMjIyNTA0NSAqIHIgKyAwLjcxNjg3ODYgKiBnICsgMC4wNjA2MTY5ICogYikgLyBZbiks
IHgsIHo7CisgIGlmIChyID09PSBnICYmIGcgPT09IGIpIHggPSB6ID0geTsgZWxzZSB7CisgICAg
eCA9IHh5ejJsYWIoKDAuNDM2MDc0NyAqIHIgKyAwLjM4NTA2NDkgKiBnICsgMC4xNDMwODA0ICog
YikgLyBYbik7CisgICAgeiA9IHh5ejJsYWIoKDAuMDEzOTMyMiAqIHIgKyAwLjA5NzEwNDUgKiBn
ICsgMC43MTQxNzMzICogYikgLyBabik7CisgIH0KKyAgcmV0dXJuIG5ldyBMYWIoMTE2ICogeSAt
IDE2LCA1MDAgKiAoeCAtIHkpLCAyMDAgKiAoeSAtIHopLCBvLm9wYWNpdHkpOworfQorCitmdW5j
dGlvbiBncmF5KGwsIG9wYWNpdHkpIHsKKyAgcmV0dXJuIG5ldyBMYWIobCwgMCwgMCwgb3BhY2l0
eSA9PSBudWxsID8gMSA6IG9wYWNpdHkpOworfQorCitmdW5jdGlvbiBsYWIobCwgYSwgYiwgb3Bh
Y2l0eSkgeworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA9PT0gMSA/IGxhYkNvbnZlcnQobCkg
OiBuZXcgTGFiKGwsIGEsIGIsIG9wYWNpdHkgPT0gbnVsbCA/IDEgOiBvcGFjaXR5KTsKK30KKwor
ZnVuY3Rpb24gTGFiKGwsIGEsIGIsIG9wYWNpdHkpIHsKKyAgdGhpcy5sID0gK2w7CisgIHRoaXMu
YSA9ICthOworICB0aGlzLmIgPSArYjsKKyAgdGhpcy5vcGFjaXR5ID0gK29wYWNpdHk7Cit9CisK
K2RlZmluZShMYWIsIGxhYiwgZXh0ZW5kKENvbG9yLCB7CisgIGJyaWdodGVyOiBmdW5jdGlvbihr
KSB7CisgICAgcmV0dXJuIG5ldyBMYWIodGhpcy5sICsgSyAqIChrID09IG51bGwgPyAxIDogayks
IHRoaXMuYSwgdGhpcy5iLCB0aGlzLm9wYWNpdHkpOworICB9LAorICBkYXJrZXI6IGZ1bmN0aW9u
KGspIHsKKyAgICByZXR1cm4gbmV3IExhYih0aGlzLmwgLSBLICogKGsgPT0gbnVsbCA/IDEgOiBr
KSwgdGhpcy5hLCB0aGlzLmIsIHRoaXMub3BhY2l0eSk7CisgIH0sCisgIHJnYjogZnVuY3Rpb24o
KSB7CisgICAgdmFyIHkgPSAodGhpcy5sICsgMTYpIC8gMTE2LAorICAgICAgICB4ID0gaXNOYU4o
dGhpcy5hKSA/IHkgOiB5ICsgdGhpcy5hIC8gNTAwLAorICAgICAgICB6ID0gaXNOYU4odGhpcy5i
KSA/IHkgOiB5IC0gdGhpcy5iIC8gMjAwOworICAgIHggPSBYbiAqIGxhYjJ4eXooeCk7CisgICAg
eSA9IFluICogbGFiMnh5eih5KTsKKyAgICB6ID0gWm4gKiBsYWIyeHl6KHopOworICAgIHJldHVy
biBuZXcgUmdiKAorICAgICAgbHJnYjJyZ2IoIDMuMTMzODU2MSAqIHggLSAxLjYxNjg2NjcgKiB5
IC0gMC40OTA2MTQ2ICogeiksCisgICAgICBscmdiMnJnYigtMC45Nzg3Njg0ICogeCArIDEuOTE2
MTQxNSAqIHkgKyAwLjAzMzQ1NDAgKiB6KSwKKyAgICAgIGxyZ2IycmdiKCAwLjA3MTk0NTMgKiB4
IC0gMC4yMjg5OTE0ICogeSArIDEuNDA1MjQyNyAqIHopLAorICAgICAgdGhpcy5vcGFjaXR5Cisg
ICAgKTsKKyAgfQorfSkpOworCitmdW5jdGlvbiB4eXoybGFiKHQpIHsKKyAgcmV0dXJuIHQgPiB0
MyA/IE1hdGgucG93KHQsIDEgLyAzKSA6IHQgLyB0MiArIHQwOworfQorCitmdW5jdGlvbiBsYWIy
eHl6KHQpIHsKKyAgcmV0dXJuIHQgPiB0MSA/IHQgKiB0ICogdCA6IHQyICogKHQgLSB0MCk7Cit9
CisKK2Z1bmN0aW9uIGxyZ2IycmdiKHgpIHsKKyAgcmV0dXJuIDI1NSAqICh4IDw9IDAuMDAzMTMw
OCA/IDEyLjkyICogeCA6IDEuMDU1ICogTWF0aC5wb3coeCwgMSAvIDIuNCkgLSAwLjA1NSk7Cit9
CisKK2Z1bmN0aW9uIHJnYjJscmdiKHgpIHsKKyAgcmV0dXJuICh4IC89IDI1NSkgPD0gMC4wNDA0
NSA/IHggLyAxMi45MiA6IE1hdGgucG93KCh4ICsgMC4wNTUpIC8gMS4wNTUsIDIuNCk7Cit9CisK
K2Z1bmN0aW9uIGhjbENvbnZlcnQobykgeworICBpZiAobyBpbnN0YW5jZW9mIEhjbCkgcmV0dXJu
IG5ldyBIY2woby5oLCBvLmMsIG8ubCwgby5vcGFjaXR5KTsKKyAgaWYgKCEobyBpbnN0YW5jZW9m
IExhYikpIG8gPSBsYWJDb252ZXJ0KG8pOworICBpZiAoby5hID09PSAwICYmIG8uYiA9PT0gMCkg
cmV0dXJuIG5ldyBIY2woTmFOLCAwIDwgby5sICYmIG8ubCA8IDEwMCA/IDAgOiBOYU4sIG8ubCwg
by5vcGFjaXR5KTsKKyAgdmFyIGggPSBNYXRoLmF0YW4yKG8uYiwgby5hKSAqIHJhZDJkZWc7Cisg
IHJldHVybiBuZXcgSGNsKGggPCAwID8gaCArIDM2MCA6IGgsIE1hdGguc3FydChvLmEgKiBvLmEg
KyBvLmIgKiBvLmIpLCBvLmwsIG8ub3BhY2l0eSk7Cit9CisKK2Z1bmN0aW9uIGxjaChsLCBjLCBo
LCBvcGFjaXR5KSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID09PSAxID8gaGNsQ29udmVy
dChsKSA6IG5ldyBIY2woaCwgYywgbCwgb3BhY2l0eSA9PSBudWxsID8gMSA6IG9wYWNpdHkpOwor
fQorCitmdW5jdGlvbiBoY2woaCwgYywgbCwgb3BhY2l0eSkgeworICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA9PT0gMSA/IGhjbENvbnZlcnQoaCkgOiBuZXcgSGNsKGgsIGMsIGwsIG9wYWNpdHkg
PT0gbnVsbCA/IDEgOiBvcGFjaXR5KTsKK30KKworZnVuY3Rpb24gSGNsKGgsIGMsIGwsIG9wYWNp
dHkpIHsKKyAgdGhpcy5oID0gK2g7CisgIHRoaXMuYyA9ICtjOworICB0aGlzLmwgPSArbDsKKyAg
dGhpcy5vcGFjaXR5ID0gK29wYWNpdHk7Cit9CisKK2Z1bmN0aW9uIGhjbDJsYWIobykgeworICBp
ZiAoaXNOYU4oby5oKSkgcmV0dXJuIG5ldyBMYWIoby5sLCAwLCAwLCBvLm9wYWNpdHkpOworICB2
YXIgaCA9IG8uaCAqIGRlZzJyYWQ7CisgIHJldHVybiBuZXcgTGFiKG8ubCwgTWF0aC5jb3MoaCkg
KiBvLmMsIE1hdGguc2luKGgpICogby5jLCBvLm9wYWNpdHkpOworfQorCitkZWZpbmUoSGNsLCBo
Y2wsIGV4dGVuZChDb2xvciwgeworICBicmlnaHRlcjogZnVuY3Rpb24oaykgeworICAgIHJldHVy
biBuZXcgSGNsKHRoaXMuaCwgdGhpcy5jLCB0aGlzLmwgKyBLICogKGsgPT0gbnVsbCA/IDEgOiBr
KSwgdGhpcy5vcGFjaXR5KTsKKyAgfSwKKyAgZGFya2VyOiBmdW5jdGlvbihrKSB7CisgICAgcmV0
dXJuIG5ldyBIY2wodGhpcy5oLCB0aGlzLmMsIHRoaXMubCAtIEsgKiAoayA9PSBudWxsID8gMSA6
IGspLCB0aGlzLm9wYWNpdHkpOworICB9LAorICByZ2I6IGZ1bmN0aW9uKCkgeworICAgIHJldHVy
biBoY2wybGFiKHRoaXMpLnJnYigpOworICB9Cit9KSk7CisKK3ZhciBBID0gLTAuMTQ4NjEsCisg
ICAgQiA9ICsxLjc4Mjc3LAorICAgIEMgPSAtMC4yOTIyNywKKyAgICBEID0gLTAuOTA2NDksCisg
ICAgRSA9ICsxLjk3Mjk0LAorICAgIEVEID0gRSAqIEQsCisgICAgRUIgPSBFICogQiwKKyAgICBC
Q19EQSA9IEIgKiBDIC0gRCAqIEE7CisKK2Z1bmN0aW9uIGN1YmVoZWxpeENvbnZlcnQobykgewor
ICBpZiAobyBpbnN0YW5jZW9mIEN1YmVoZWxpeCkgcmV0dXJuIG5ldyBDdWJlaGVsaXgoby5oLCBv
LnMsIG8ubCwgby5vcGFjaXR5KTsKKyAgaWYgKCEobyBpbnN0YW5jZW9mIFJnYikpIG8gPSByZ2JD
b252ZXJ0KG8pOworICB2YXIgciA9IG8uciAvIDI1NSwKKyAgICAgIGcgPSBvLmcgLyAyNTUsCisg
ICAgICBiID0gby5iIC8gMjU1LAorICAgICAgbCA9IChCQ19EQSAqIGIgKyBFRCAqIHIgLSBFQiAq
IGcpIC8gKEJDX0RBICsgRUQgLSBFQiksCisgICAgICBibCA9IGIgLSBsLAorICAgICAgayA9IChF
ICogKGcgLSBsKSAtIEMgKiBibCkgLyBELAorICAgICAgcyA9IE1hdGguc3FydChrICogayArIGJs
ICogYmwpIC8gKEUgKiBsICogKDEgLSBsKSksIC8vIE5hTiBpZiBsPTAgb3IgbD0xCisgICAgICBo
ID0gcyA/IE1hdGguYXRhbjIoaywgYmwpICogcmFkMmRlZyAtIDEyMCA6IE5hTjsKKyAgcmV0dXJu
IG5ldyBDdWJlaGVsaXgoaCA8IDAgPyBoICsgMzYwIDogaCwgcywgbCwgby5vcGFjaXR5KTsKK30K
KworZnVuY3Rpb24gY3ViZWhlbGl4KGgsIHMsIGwsIG9wYWNpdHkpIHsKKyAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPT09IDEgPyBjdWJlaGVsaXhDb252ZXJ0KGgpIDogbmV3IEN1YmVoZWxpeCho
LCBzLCBsLCBvcGFjaXR5ID09IG51bGwgPyAxIDogb3BhY2l0eSk7Cit9CisKK2Z1bmN0aW9uIEN1
YmVoZWxpeChoLCBzLCBsLCBvcGFjaXR5KSB7CisgIHRoaXMuaCA9ICtoOworICB0aGlzLnMgPSAr
czsKKyAgdGhpcy5sID0gK2w7CisgIHRoaXMub3BhY2l0eSA9ICtvcGFjaXR5OworfQorCitkZWZp
bmUoQ3ViZWhlbGl4LCBjdWJlaGVsaXgsIGV4dGVuZChDb2xvciwgeworICBicmlnaHRlcjogZnVu
Y3Rpb24oaykgeworICAgIGsgPSBrID09IG51bGwgPyBicmlnaHRlciA6IE1hdGgucG93KGJyaWdo
dGVyLCBrKTsKKyAgICByZXR1cm4gbmV3IEN1YmVoZWxpeCh0aGlzLmgsIHRoaXMucywgdGhpcy5s
ICogaywgdGhpcy5vcGFjaXR5KTsKKyAgfSwKKyAgZGFya2VyOiBmdW5jdGlvbihrKSB7CisgICAg
ayA9IGsgPT0gbnVsbCA/IGRhcmtlciA6IE1hdGgucG93KGRhcmtlciwgayk7CisgICAgcmV0dXJu
IG5ldyBDdWJlaGVsaXgodGhpcy5oLCB0aGlzLnMsIHRoaXMubCAqIGssIHRoaXMub3BhY2l0eSk7
CisgIH0sCisgIHJnYjogZnVuY3Rpb24oKSB7CisgICAgdmFyIGggPSBpc05hTih0aGlzLmgpID8g
MCA6ICh0aGlzLmggKyAxMjApICogZGVnMnJhZCwKKyAgICAgICAgbCA9ICt0aGlzLmwsCisgICAg
ICAgIGEgPSBpc05hTih0aGlzLnMpID8gMCA6IHRoaXMucyAqIGwgKiAoMSAtIGwpLAorICAgICAg
ICBjb3NoID0gTWF0aC5jb3MoaCksCisgICAgICAgIHNpbmggPSBNYXRoLnNpbihoKTsKKyAgICBy
ZXR1cm4gbmV3IFJnYigKKyAgICAgIDI1NSAqIChsICsgYSAqIChBICogY29zaCArIEIgKiBzaW5o
KSksCisgICAgICAyNTUgKiAobCArIGEgKiAoQyAqIGNvc2ggKyBEICogc2luaCkpLAorICAgICAg
MjU1ICogKGwgKyBhICogKEUgKiBjb3NoKSksCisgICAgICB0aGlzLm9wYWNpdHkKKyAgICApOwor
ICB9Cit9KSk7CisKK2Z1bmN0aW9uIGJhc2lzKHQxLCB2MCwgdjEsIHYyLCB2MykgeworICB2YXIg
dDIgPSB0MSAqIHQxLCB0MyA9IHQyICogdDE7CisgIHJldHVybiAoKDEgLSAzICogdDEgKyAzICog
dDIgLSB0MykgKiB2MAorICAgICAgKyAoNCAtIDYgKiB0MiArIDMgKiB0MykgKiB2MQorICAgICAg
KyAoMSArIDMgKiB0MSArIDMgKiB0MiAtIDMgKiB0MykgKiB2MgorICAgICAgKyB0MyAqIHYzKSAv
IDY7Cit9CisKK2Z1bmN0aW9uIGJhc2lzJDEodmFsdWVzKSB7CisgIHZhciBuID0gdmFsdWVzLmxl
bmd0aCAtIDE7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgdmFyIGkgPSB0IDw9IDAgPyAo
dCA9IDApIDogdCA+PSAxID8gKHQgPSAxLCBuIC0gMSkgOiBNYXRoLmZsb29yKHQgKiBuKSwKKyAg
ICAgICAgdjEgPSB2YWx1ZXNbaV0sCisgICAgICAgIHYyID0gdmFsdWVzW2kgKyAxXSwKKyAgICAg
ICAgdjAgPSBpID4gMCA/IHZhbHVlc1tpIC0gMV0gOiAyICogdjEgLSB2MiwKKyAgICAgICAgdjMg
PSBpIDwgbiAtIDEgPyB2YWx1ZXNbaSArIDJdIDogMiAqIHYyIC0gdjE7CisgICAgcmV0dXJuIGJh
c2lzKCh0IC0gaSAvIG4pICogbiwgdjAsIHYxLCB2MiwgdjMpOworICB9OworfQorCitmdW5jdGlv
biBiYXNpc0Nsb3NlZCh2YWx1ZXMpIHsKKyAgdmFyIG4gPSB2YWx1ZXMubGVuZ3RoOworICByZXR1
cm4gZnVuY3Rpb24odCkgeworICAgIHZhciBpID0gTWF0aC5mbG9vcigoKHQgJT0gMSkgPCAwID8g
Kyt0IDogdCkgKiBuKSwKKyAgICAgICAgdjAgPSB2YWx1ZXNbKGkgKyBuIC0gMSkgJSBuXSwKKyAg
ICAgICAgdjEgPSB2YWx1ZXNbaSAlIG5dLAorICAgICAgICB2MiA9IHZhbHVlc1soaSArIDEpICUg
bl0sCisgICAgICAgIHYzID0gdmFsdWVzWyhpICsgMikgJSBuXTsKKyAgICByZXR1cm4gYmFzaXMo
KHQgLSBpIC8gbikgKiBuLCB2MCwgdjEsIHYyLCB2Myk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNv
bnN0YW50JDMoeCkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHg7CisgIH07
Cit9CisKK2Z1bmN0aW9uIGxpbmVhcihhLCBkKSB7CisgIHJldHVybiBmdW5jdGlvbih0KSB7Cisg
ICAgcmV0dXJuIGEgKyB0ICogZDsKKyAgfTsKK30KKworZnVuY3Rpb24gZXhwb25lbnRpYWwoYSwg
YiwgeSkgeworICByZXR1cm4gYSA9IE1hdGgucG93KGEsIHkpLCBiID0gTWF0aC5wb3coYiwgeSkg
LSBhLCB5ID0gMSAvIHksIGZ1bmN0aW9uKHQpIHsKKyAgICByZXR1cm4gTWF0aC5wb3coYSArIHQg
KiBiLCB5KTsKKyAgfTsKK30KKworZnVuY3Rpb24gaHVlKGEsIGIpIHsKKyAgdmFyIGQgPSBiIC0g
YTsKKyAgcmV0dXJuIGQgPyBsaW5lYXIoYSwgZCA+IDE4MCB8fCBkIDwgLTE4MCA/IGQgLSAzNjAg
KiBNYXRoLnJvdW5kKGQgLyAzNjApIDogZCkgOiBjb25zdGFudCQzKGlzTmFOKGEpID8gYiA6IGEp
OworfQorCitmdW5jdGlvbiBnYW1tYSh5KSB7CisgIHJldHVybiAoeSA9ICt5KSA9PT0gMSA/IG5v
Z2FtbWEgOiBmdW5jdGlvbihhLCBiKSB7CisgICAgcmV0dXJuIGIgLSBhID8gZXhwb25lbnRpYWwo
YSwgYiwgeSkgOiBjb25zdGFudCQzKGlzTmFOKGEpID8gYiA6IGEpOworICB9OworfQorCitmdW5j
dGlvbiBub2dhbW1hKGEsIGIpIHsKKyAgdmFyIGQgPSBiIC0gYTsKKyAgcmV0dXJuIGQgPyBsaW5l
YXIoYSwgZCkgOiBjb25zdGFudCQzKGlzTmFOKGEpID8gYiA6IGEpOworfQorCit2YXIgaW50ZXJw
b2xhdGVSZ2IgPSAoZnVuY3Rpb24gcmdiR2FtbWEoeSkgeworICB2YXIgY29sb3IgPSBnYW1tYSh5
KTsKKworICBmdW5jdGlvbiByZ2IkMShzdGFydCwgZW5kKSB7CisgICAgdmFyIHIgPSBjb2xvcigo
c3RhcnQgPSByZ2Ioc3RhcnQpKS5yLCAoZW5kID0gcmdiKGVuZCkpLnIpLAorICAgICAgICBnID0g
Y29sb3Ioc3RhcnQuZywgZW5kLmcpLAorICAgICAgICBiID0gY29sb3Ioc3RhcnQuYiwgZW5kLmIp
LAorICAgICAgICBvcGFjaXR5ID0gbm9nYW1tYShzdGFydC5vcGFjaXR5LCBlbmQub3BhY2l0eSk7
CisgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICAgIHN0YXJ0LnIgPSByKHQpOworICAgICAg
c3RhcnQuZyA9IGcodCk7CisgICAgICBzdGFydC5iID0gYih0KTsKKyAgICAgIHN0YXJ0Lm9wYWNp
dHkgPSBvcGFjaXR5KHQpOworICAgICAgcmV0dXJuIHN0YXJ0ICsgIiI7CisgICAgfTsKKyAgfQor
CisgIHJnYiQxLmdhbW1hID0gcmdiR2FtbWE7CisKKyAgcmV0dXJuIHJnYiQxOworfSkoMSk7CisK
K2Z1bmN0aW9uIHJnYlNwbGluZShzcGxpbmUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKGNvbG9ycykg
eworICAgIHZhciBuID0gY29sb3JzLmxlbmd0aCwKKyAgICAgICAgciA9IG5ldyBBcnJheShuKSwK
KyAgICAgICAgZyA9IG5ldyBBcnJheShuKSwKKyAgICAgICAgYiA9IG5ldyBBcnJheShuKSwKKyAg
ICAgICAgaSwgY29sb3I7CisgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgY29s
b3IgPSByZ2IoY29sb3JzW2ldKTsKKyAgICAgIHJbaV0gPSBjb2xvci5yIHx8IDA7CisgICAgICBn
W2ldID0gY29sb3IuZyB8fCAwOworICAgICAgYltpXSA9IGNvbG9yLmIgfHwgMDsKKyAgICB9Cisg
ICAgciA9IHNwbGluZShyKTsKKyAgICBnID0gc3BsaW5lKGcpOworICAgIGIgPSBzcGxpbmUoYik7
CisgICAgY29sb3Iub3BhY2l0eSA9IDE7CisgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICAg
IGNvbG9yLnIgPSByKHQpOworICAgICAgY29sb3IuZyA9IGcodCk7CisgICAgICBjb2xvci5iID0g
Yih0KTsKKyAgICAgIHJldHVybiBjb2xvciArICIiOworICAgIH07CisgIH07Cit9CisKK3ZhciBy
Z2JCYXNpcyA9IHJnYlNwbGluZShiYXNpcyQxKTsKK3ZhciByZ2JCYXNpc0Nsb3NlZCA9IHJnYlNw
bGluZShiYXNpc0Nsb3NlZCk7CisKK2Z1bmN0aW9uIGFycmF5JDEoYSwgYikgeworICB2YXIgbmIg
PSBiID8gYi5sZW5ndGggOiAwLAorICAgICAgbmEgPSBhID8gTWF0aC5taW4obmIsIGEubGVuZ3Ro
KSA6IDAsCisgICAgICB4ID0gbmV3IEFycmF5KG5hKSwKKyAgICAgIGMgPSBuZXcgQXJyYXkobmIp
LAorICAgICAgaTsKKworICBmb3IgKGkgPSAwOyBpIDwgbmE7ICsraSkgeFtpXSA9IGludGVycG9s
YXRlVmFsdWUoYVtpXSwgYltpXSk7CisgIGZvciAoOyBpIDwgbmI7ICsraSkgY1tpXSA9IGJbaV07
CisKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbmE7ICsraSkg
Y1tpXSA9IHhbaV0odCk7CisgICAgcmV0dXJuIGM7CisgIH07Cit9CisKK2Z1bmN0aW9uIGRhdGUo
YSwgYikgeworICB2YXIgZCA9IG5ldyBEYXRlOworICByZXR1cm4gYSA9ICthLCBiIC09IGEsIGZ1
bmN0aW9uKHQpIHsKKyAgICByZXR1cm4gZC5zZXRUaW1lKGEgKyBiICogdCksIGQ7CisgIH07Cit9
CisKK2Z1bmN0aW9uIGludGVycG9sYXRlTnVtYmVyKGEsIGIpIHsKKyAgcmV0dXJuIGEgPSArYSwg
YiAtPSBhLCBmdW5jdGlvbih0KSB7CisgICAgcmV0dXJuIGEgKyBiICogdDsKKyAgfTsKK30KKwor
ZnVuY3Rpb24gb2JqZWN0KGEsIGIpIHsKKyAgdmFyIGkgPSB7fSwKKyAgICAgIGMgPSB7fSwKKyAg
ICAgIGs7CisKKyAgaWYgKGEgPT09IG51bGwgfHwgdHlwZW9mIGEgIT09ICJvYmplY3QiKSBhID0g
e307CisgIGlmIChiID09PSBudWxsIHx8IHR5cGVvZiBiICE9PSAib2JqZWN0IikgYiA9IHt9Owor
CisgIGZvciAoayBpbiBiKSB7CisgICAgaWYgKGsgaW4gYSkgeworICAgICAgaVtrXSA9IGludGVy
cG9sYXRlVmFsdWUoYVtrXSwgYltrXSk7CisgICAgfSBlbHNlIHsKKyAgICAgIGNba10gPSBiW2td
OworICAgIH0KKyAgfQorCisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgZm9yIChrIGluIGkp
IGNba10gPSBpW2tdKHQpOworICAgIHJldHVybiBjOworICB9OworfQorCit2YXIgcmVBID0gL1st
K10/KD86XGQrXC4/XGQqfFwuP1xkKykoPzpbZUVdWy0rXT9cZCspPy9nLAorICAgIHJlQiA9IG5l
dyBSZWdFeHAocmVBLnNvdXJjZSwgImciKTsKKworZnVuY3Rpb24gemVybyhiKSB7CisgIHJldHVy
biBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gYjsKKyAgfTsKK30KKworZnVuY3Rpb24gb25lKGIp
IHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICByZXR1cm4gYih0KSArICIiOworICB9Owor
fQorCitmdW5jdGlvbiBpbnRlcnBvbGF0ZVN0cmluZyhhLCBiKSB7CisgIHZhciBiaSA9IHJlQS5s
YXN0SW5kZXggPSByZUIubGFzdEluZGV4ID0gMCwgLy8gc2NhbiBpbmRleCBmb3IgbmV4dCBudW1i
ZXIgaW4gYgorICAgICAgYW0sIC8vIGN1cnJlbnQgbWF0Y2ggaW4gYQorICAgICAgYm0sIC8vIGN1
cnJlbnQgbWF0Y2ggaW4gYgorICAgICAgYnMsIC8vIHN0cmluZyBwcmVjZWRpbmcgY3VycmVudCBu
dW1iZXIgaW4gYiwgaWYgYW55CisgICAgICBpID0gLTEsIC8vIGluZGV4IGluIHMKKyAgICAgIHMg
PSBbXSwgLy8gc3RyaW5nIGNvbnN0YW50cyBhbmQgcGxhY2Vob2xkZXJzCisgICAgICBxID0gW107
IC8vIG51bWJlciBpbnRlcnBvbGF0b3JzCisKKyAgLy8gQ29lcmNlIGlucHV0cyB0byBzdHJpbmdz
LgorICBhID0gYSArICIiLCBiID0gYiArICIiOworCisgIC8vIEludGVycG9sYXRlIHBhaXJzIG9m
IG51bWJlcnMgaW4gYSAmIGIuCisgIHdoaWxlICgoYW0gPSByZUEuZXhlYyhhKSkKKyAgICAgICYm
IChibSA9IHJlQi5leGVjKGIpKSkgeworICAgIGlmICgoYnMgPSBibS5pbmRleCkgPiBiaSkgeyAv
LyBhIHN0cmluZyBwcmVjZWRlcyB0aGUgbmV4dCBudW1iZXIgaW4gYgorICAgICAgYnMgPSBiLnNs
aWNlKGJpLCBicyk7CisgICAgICBpZiAoc1tpXSkgc1tpXSArPSBiczsgLy8gY29hbGVzY2Ugd2l0
aCBwcmV2aW91cyBzdHJpbmcKKyAgICAgIGVsc2Ugc1srK2ldID0gYnM7CisgICAgfQorICAgIGlm
ICgoYW0gPSBhbVswXSkgPT09IChibSA9IGJtWzBdKSkgeyAvLyBudW1iZXJzIGluIGEgJiBiIG1h
dGNoCisgICAgICBpZiAoc1tpXSkgc1tpXSArPSBibTsgLy8gY29hbGVzY2Ugd2l0aCBwcmV2aW91
cyBzdHJpbmcKKyAgICAgIGVsc2Ugc1srK2ldID0gYm07CisgICAgfSBlbHNlIHsgLy8gaW50ZXJw
b2xhdGUgbm9uLW1hdGNoaW5nIG51bWJlcnMKKyAgICAgIHNbKytpXSA9IG51bGw7CisgICAgICBx
LnB1c2goe2k6IGksIHg6IGludGVycG9sYXRlTnVtYmVyKGFtLCBibSl9KTsKKyAgICB9CisgICAg
YmkgPSByZUIubGFzdEluZGV4OworICB9CisKKyAgLy8gQWRkIHJlbWFpbnMgb2YgYi4KKyAgaWYg
KGJpIDwgYi5sZW5ndGgpIHsKKyAgICBicyA9IGIuc2xpY2UoYmkpOworICAgIGlmIChzW2ldKSBz
W2ldICs9IGJzOyAvLyBjb2FsZXNjZSB3aXRoIHByZXZpb3VzIHN0cmluZworICAgIGVsc2Ugc1sr
K2ldID0gYnM7CisgIH0KKworICAvLyBTcGVjaWFsIG9wdGltaXphdGlvbiBmb3Igb25seSBhIHNp
bmdsZSBtYXRjaC4KKyAgLy8gT3RoZXJ3aXNlLCBpbnRlcnBvbGF0ZSBlYWNoIG9mIHRoZSBudW1i
ZXJzIGFuZCByZWpvaW4gdGhlIHN0cmluZy4KKyAgcmV0dXJuIHMubGVuZ3RoIDwgMiA/IChxWzBd
CisgICAgICA/IG9uZShxWzBdLngpCisgICAgICA6IHplcm8oYikpCisgICAgICA6IChiID0gcS5s
ZW5ndGgsIGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbzsgaSA8IGI7
ICsraSkgc1sobyA9IHFbaV0pLmldID0gby54KHQpOworICAgICAgICAgIHJldHVybiBzLmpvaW4o
IiIpOworICAgICAgICB9KTsKK30KKworZnVuY3Rpb24gaW50ZXJwb2xhdGVWYWx1ZShhLCBiKSB7
CisgIHZhciB0ID0gdHlwZW9mIGIsIGM7CisgIHJldHVybiBiID09IG51bGwgfHwgdCA9PT0gImJv
b2xlYW4iID8gY29uc3RhbnQkMyhiKQorICAgICAgOiAodCA9PT0gIm51bWJlciIgPyBpbnRlcnBv
bGF0ZU51bWJlcgorICAgICAgOiB0ID09PSAic3RyaW5nIiA/ICgoYyA9IGNvbG9yKGIpKSA/IChi
ID0gYywgaW50ZXJwb2xhdGVSZ2IpIDogaW50ZXJwb2xhdGVTdHJpbmcpCisgICAgICA6IGIgaW5z
dGFuY2VvZiBjb2xvciA/IGludGVycG9sYXRlUmdiCisgICAgICA6IGIgaW5zdGFuY2VvZiBEYXRl
ID8gZGF0ZQorICAgICAgOiBBcnJheS5pc0FycmF5KGIpID8gYXJyYXkkMQorICAgICAgOiB0eXBl
b2YgYi52YWx1ZU9mICE9PSAiZnVuY3Rpb24iICYmIHR5cGVvZiBiLnRvU3RyaW5nICE9PSAiZnVu
Y3Rpb24iIHx8IGlzTmFOKGIpID8gb2JqZWN0CisgICAgICA6IGludGVycG9sYXRlTnVtYmVyKShh
LCBiKTsKK30KKworZnVuY3Rpb24gZGlzY3JldGUocmFuZ2UpIHsKKyAgdmFyIG4gPSByYW5nZS5s
ZW5ndGg7CisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgcmV0dXJuIHJhbmdlW01hdGgubWF4
KDAsIE1hdGgubWluKG4gLSAxLCBNYXRoLmZsb29yKHQgKiBuKSkpXTsKKyAgfTsKK30KKworZnVu
Y3Rpb24gaHVlJDEoYSwgYikgeworICB2YXIgaSA9IGh1ZSgrYSwgK2IpOworICByZXR1cm4gZnVu
Y3Rpb24odCkgeworICAgIHZhciB4ID0gaSh0KTsKKyAgICByZXR1cm4geCAtIDM2MCAqIE1hdGgu
Zmxvb3IoeCAvIDM2MCk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGludGVycG9sYXRlUm91bmQoYSwg
YikgeworICByZXR1cm4gYSA9ICthLCBiIC09IGEsIGZ1bmN0aW9uKHQpIHsKKyAgICByZXR1cm4g
TWF0aC5yb3VuZChhICsgYiAqIHQpOworICB9OworfQorCit2YXIgZGVncmVlcyA9IDE4MCAvIE1h
dGguUEk7CisKK3ZhciBpZGVudGl0eSQyID0geworICB0cmFuc2xhdGVYOiAwLAorICB0cmFuc2xh
dGVZOiAwLAorICByb3RhdGU6IDAsCisgIHNrZXdYOiAwLAorICBzY2FsZVg6IDEsCisgIHNjYWxl
WTogMQorfTsKKworZnVuY3Rpb24gZGVjb21wb3NlKGEsIGIsIGMsIGQsIGUsIGYpIHsKKyAgdmFy
IHNjYWxlWCwgc2NhbGVZLCBza2V3WDsKKyAgaWYgKHNjYWxlWCA9IE1hdGguc3FydChhICogYSAr
IGIgKiBiKSkgYSAvPSBzY2FsZVgsIGIgLz0gc2NhbGVYOworICBpZiAoc2tld1ggPSBhICogYyAr
IGIgKiBkKSBjIC09IGEgKiBza2V3WCwgZCAtPSBiICogc2tld1g7CisgIGlmIChzY2FsZVkgPSBN
YXRoLnNxcnQoYyAqIGMgKyBkICogZCkpIGMgLz0gc2NhbGVZLCBkIC89IHNjYWxlWSwgc2tld1gg
Lz0gc2NhbGVZOworICBpZiAoYSAqIGQgPCBiICogYykgYSA9IC1hLCBiID0gLWIsIHNrZXdYID0g
LXNrZXdYLCBzY2FsZVggPSAtc2NhbGVYOworICByZXR1cm4geworICAgIHRyYW5zbGF0ZVg6IGUs
CisgICAgdHJhbnNsYXRlWTogZiwKKyAgICByb3RhdGU6IE1hdGguYXRhbjIoYiwgYSkgKiBkZWdy
ZWVzLAorICAgIHNrZXdYOiBNYXRoLmF0YW4oc2tld1gpICogZGVncmVlcywKKyAgICBzY2FsZVg6
IHNjYWxlWCwKKyAgICBzY2FsZVk6IHNjYWxlWQorICB9OworfQorCit2YXIgY3NzTm9kZSwKKyAg
ICBjc3NSb290LAorICAgIGNzc1ZpZXcsCisgICAgc3ZnTm9kZTsKKworZnVuY3Rpb24gcGFyc2VD
c3ModmFsdWUpIHsKKyAgaWYgKHZhbHVlID09PSAibm9uZSIpIHJldHVybiBpZGVudGl0eSQyOwor
ICBpZiAoIWNzc05vZGUpIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJESVYiKSwg
Y3NzUm9vdCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgY3NzVmlldyA9IGRvY3VtZW50LmRl
ZmF1bHRWaWV3OworICBjc3NOb2RlLnN0eWxlLnRyYW5zZm9ybSA9IHZhbHVlOworICB2YWx1ZSA9
IGNzc1ZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShjc3NSb290LmFwcGVuZENoaWxkKGNzc05vZGUpLCBu
dWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJ0cmFuc2Zvcm0iKTsKKyAgY3NzUm9vdC5yZW1vdmVDaGls
ZChjc3NOb2RlKTsKKyAgdmFsdWUgPSB2YWx1ZS5zbGljZSg3LCAtMSkuc3BsaXQoIiwiKTsKKyAg
cmV0dXJuIGRlY29tcG9zZSgrdmFsdWVbMF0sICt2YWx1ZVsxXSwgK3ZhbHVlWzJdLCArdmFsdWVb
M10sICt2YWx1ZVs0XSwgK3ZhbHVlWzVdKTsKK30KKworZnVuY3Rpb24gcGFyc2VTdmcodmFsdWUp
IHsKKyAgaWYgKHZhbHVlID09IG51bGwpIHJldHVybiBpZGVudGl0eSQyOworICBpZiAoIXN2Z05v
ZGUpIHN2Z05vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnIiwgImciKTsKKyAgc3ZnTm9kZS5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsIHZh
bHVlKTsKKyAgaWYgKCEodmFsdWUgPSBzdmdOb2RlLnRyYW5zZm9ybS5iYXNlVmFsLmNvbnNvbGlk
YXRlKCkpKSByZXR1cm4gaWRlbnRpdHkkMjsKKyAgdmFsdWUgPSB2YWx1ZS5tYXRyaXg7CisgIHJl
dHVybiBkZWNvbXBvc2UodmFsdWUuYSwgdmFsdWUuYiwgdmFsdWUuYywgdmFsdWUuZCwgdmFsdWUu
ZSwgdmFsdWUuZik7Cit9CisKK2Z1bmN0aW9uIGludGVycG9sYXRlVHJhbnNmb3JtKHBhcnNlLCBw
eENvbW1hLCBweFBhcmVuLCBkZWdQYXJlbikgeworCisgIGZ1bmN0aW9uIHBvcChzKSB7CisgICAg
cmV0dXJuIHMubGVuZ3RoID8gcy5wb3AoKSArICIgIiA6ICIiOworICB9CisKKyAgZnVuY3Rpb24g
dHJhbnNsYXRlKHhhLCB5YSwgeGIsIHliLCBzLCBxKSB7CisgICAgaWYgKHhhICE9PSB4YiB8fCB5
YSAhPT0geWIpIHsKKyAgICAgIHZhciBpID0gcy5wdXNoKCJ0cmFuc2xhdGUoIiwgbnVsbCwgcHhD
b21tYSwgbnVsbCwgcHhQYXJlbik7CisgICAgICBxLnB1c2goe2k6IGkgLSA0LCB4OiBpbnRlcnBv
bGF0ZU51bWJlcih4YSwgeGIpfSwge2k6IGkgLSAyLCB4OiBpbnRlcnBvbGF0ZU51bWJlcih5YSwg
eWIpfSk7CisgICAgfSBlbHNlIGlmICh4YiB8fCB5YikgeworICAgICAgcy5wdXNoKCJ0cmFuc2xh
dGUoIiArIHhiICsgcHhDb21tYSArIHliICsgcHhQYXJlbik7CisgICAgfQorICB9CisKKyAgZnVu
Y3Rpb24gcm90YXRlKGEsIGIsIHMsIHEpIHsKKyAgICBpZiAoYSAhPT0gYikgeworICAgICAgaWYg
KGEgLSBiID4gMTgwKSBiICs9IDM2MDsgZWxzZSBpZiAoYiAtIGEgPiAxODApIGEgKz0gMzYwOyAv
LyBzaG9ydGVzdCBwYXRoCisgICAgICBxLnB1c2goe2k6IHMucHVzaChwb3AocykgKyAicm90YXRl
KCIsIG51bGwsIGRlZ1BhcmVuKSAtIDIsIHg6IGludGVycG9sYXRlTnVtYmVyKGEsIGIpfSk7Cisg
ICAgfSBlbHNlIGlmIChiKSB7CisgICAgICBzLnB1c2gocG9wKHMpICsgInJvdGF0ZSgiICsgYiAr
IGRlZ1BhcmVuKTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBza2V3WChhLCBiLCBzLCBxKSB7
CisgICAgaWYgKGEgIT09IGIpIHsKKyAgICAgIHEucHVzaCh7aTogcy5wdXNoKHBvcChzKSArICJz
a2V3WCgiLCBudWxsLCBkZWdQYXJlbikgLSAyLCB4OiBpbnRlcnBvbGF0ZU51bWJlcihhLCBiKX0p
OworICAgIH0gZWxzZSBpZiAoYikgeworICAgICAgcy5wdXNoKHBvcChzKSArICJza2V3WCgiICsg
YiArIGRlZ1BhcmVuKTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBzY2FsZSh4YSwgeWEsIHhi
LCB5YiwgcywgcSkgeworICAgIGlmICh4YSAhPT0geGIgfHwgeWEgIT09IHliKSB7CisgICAgICB2
YXIgaSA9IHMucHVzaChwb3AocykgKyAic2NhbGUoIiwgbnVsbCwgIiwiLCBudWxsLCAiKSIpOwor
ICAgICAgcS5wdXNoKHtpOiBpIC0gNCwgeDogaW50ZXJwb2xhdGVOdW1iZXIoeGEsIHhiKX0sIHtp
OiBpIC0gMiwgeDogaW50ZXJwb2xhdGVOdW1iZXIoeWEsIHliKX0pOworICAgIH0gZWxzZSBpZiAo
eGIgIT09IDEgfHwgeWIgIT09IDEpIHsKKyAgICAgIHMucHVzaChwb3AocykgKyAic2NhbGUoIiAr
IHhiICsgIiwiICsgeWIgKyAiKSIpOworICAgIH0KKyAgfQorCisgIHJldHVybiBmdW5jdGlvbihh
LCBiKSB7CisgICAgdmFyIHMgPSBbXSwgLy8gc3RyaW5nIGNvbnN0YW50cyBhbmQgcGxhY2Vob2xk
ZXJzCisgICAgICAgIHEgPSBbXTsgLy8gbnVtYmVyIGludGVycG9sYXRvcnMKKyAgICBhID0gcGFy
c2UoYSksIGIgPSBwYXJzZShiKTsKKyAgICB0cmFuc2xhdGUoYS50cmFuc2xhdGVYLCBhLnRyYW5z
bGF0ZVksIGIudHJhbnNsYXRlWCwgYi50cmFuc2xhdGVZLCBzLCBxKTsKKyAgICByb3RhdGUoYS5y
b3RhdGUsIGIucm90YXRlLCBzLCBxKTsKKyAgICBza2V3WChhLnNrZXdYLCBiLnNrZXdYLCBzLCBx
KTsKKyAgICBzY2FsZShhLnNjYWxlWCwgYS5zY2FsZVksIGIuc2NhbGVYLCBiLnNjYWxlWSwgcywg
cSk7CisgICAgYSA9IGIgPSBudWxsOyAvLyBnYworICAgIHJldHVybiBmdW5jdGlvbih0KSB7Cisg
ICAgICB2YXIgaSA9IC0xLCBuID0gcS5sZW5ndGgsIG87CisgICAgICB3aGlsZSAoKytpIDwgbikg
c1sobyA9IHFbaV0pLmldID0gby54KHQpOworICAgICAgcmV0dXJuIHMuam9pbigiIik7CisgICAg
fTsKKyAgfTsKK30KKwordmFyIGludGVycG9sYXRlVHJhbnNmb3JtQ3NzID0gaW50ZXJwb2xhdGVU
cmFuc2Zvcm0ocGFyc2VDc3MsICJweCwgIiwgInB4KSIsICJkZWcpIik7Cit2YXIgaW50ZXJwb2xh
dGVUcmFuc2Zvcm1TdmcgPSBpbnRlcnBvbGF0ZVRyYW5zZm9ybShwYXJzZVN2ZywgIiwgIiwgIiki
LCAiKSIpOworCit2YXIgcmhvID0gTWF0aC5TUVJUMiwKKyAgICByaG8yID0gMiwKKyAgICByaG80
ID0gNCwKKyAgICBlcHNpbG9uMiA9IDFlLTEyOworCitmdW5jdGlvbiBjb3NoKHgpIHsKKyAgcmV0
dXJuICgoeCA9IE1hdGguZXhwKHgpKSArIDEgLyB4KSAvIDI7Cit9CisKK2Z1bmN0aW9uIHNpbmgo
eCkgeworICByZXR1cm4gKCh4ID0gTWF0aC5leHAoeCkpIC0gMSAvIHgpIC8gMjsKK30KKworZnVu
Y3Rpb24gdGFuaCh4KSB7CisgIHJldHVybiAoKHggPSBNYXRoLmV4cCgyICogeCkpIC0gMSkgLyAo
eCArIDEpOworfQorCisvLyBwMCA9IFt1eDAsIHV5MCwgdzBdCisvLyBwMSA9IFt1eDEsIHV5MSwg
dzFdCitmdW5jdGlvbiBpbnRlcnBvbGF0ZVpvb20ocDAsIHAxKSB7CisgIHZhciB1eDAgPSBwMFsw
XSwgdXkwID0gcDBbMV0sIHcwID0gcDBbMl0sCisgICAgICB1eDEgPSBwMVswXSwgdXkxID0gcDFb
MV0sIHcxID0gcDFbMl0sCisgICAgICBkeCA9IHV4MSAtIHV4MCwKKyAgICAgIGR5ID0gdXkxIC0g
dXkwLAorICAgICAgZDIgPSBkeCAqIGR4ICsgZHkgKiBkeSwKKyAgICAgIGksCisgICAgICBTOwor
CisgIC8vIFNwZWNpYWwgY2FzZSBmb3IgdTAg4omFIHUxLgorICBpZiAoZDIgPCBlcHNpbG9uMikg
eworICAgIFMgPSBNYXRoLmxvZyh3MSAvIHcwKSAvIHJobzsKKyAgICBpID0gZnVuY3Rpb24odCkg
eworICAgICAgcmV0dXJuIFsKKyAgICAgICAgdXgwICsgdCAqIGR4LAorICAgICAgICB1eTAgKyB0
ICogZHksCisgICAgICAgIHcwICogTWF0aC5leHAocmhvICogdCAqIFMpCisgICAgICBdOworICAg
IH07CisgIH0KKworICAvLyBHZW5lcmFsIGNhc2UuCisgIGVsc2UgeworICAgIHZhciBkMSA9IE1h
dGguc3FydChkMiksCisgICAgICAgIGIwID0gKHcxICogdzEgLSB3MCAqIHcwICsgcmhvNCAqIGQy
KSAvICgyICogdzAgKiByaG8yICogZDEpLAorICAgICAgICBiMSA9ICh3MSAqIHcxIC0gdzAgKiB3
MCAtIHJobzQgKiBkMikgLyAoMiAqIHcxICogcmhvMiAqIGQxKSwKKyAgICAgICAgcjAgPSBNYXRo
LmxvZyhNYXRoLnNxcnQoYjAgKiBiMCArIDEpIC0gYjApLAorICAgICAgICByMSA9IE1hdGgubG9n
KE1hdGguc3FydChiMSAqIGIxICsgMSkgLSBiMSk7CisgICAgUyA9IChyMSAtIHIwKSAvIHJobzsK
KyAgICBpID0gZnVuY3Rpb24odCkgeworICAgICAgdmFyIHMgPSB0ICogUywKKyAgICAgICAgICBj
b3NocjAgPSBjb3NoKHIwKSwKKyAgICAgICAgICB1ID0gdzAgLyAocmhvMiAqIGQxKSAqIChjb3No
cjAgKiB0YW5oKHJobyAqIHMgKyByMCkgLSBzaW5oKHIwKSk7CisgICAgICByZXR1cm4gWworICAg
ICAgICB1eDAgKyB1ICogZHgsCisgICAgICAgIHV5MCArIHUgKiBkeSwKKyAgICAgICAgdzAgKiBj
b3NocjAgLyBjb3NoKHJobyAqIHMgKyByMCkKKyAgICAgIF07CisgICAgfTsKKyAgfQorCisgIGku
ZHVyYXRpb24gPSBTICogMTAwMDsKKworICByZXR1cm4gaTsKK30KKworZnVuY3Rpb24gaHNsJDEo
aHVlKSB7CisgIHJldHVybiBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgICAgdmFyIGggPSBodWUo
KHN0YXJ0ID0gaHNsKHN0YXJ0KSkuaCwgKGVuZCA9IGhzbChlbmQpKS5oKSwKKyAgICAgICAgcyA9
IG5vZ2FtbWEoc3RhcnQucywgZW5kLnMpLAorICAgICAgICBsID0gbm9nYW1tYShzdGFydC5sLCBl
bmQubCksCisgICAgICAgIG9wYWNpdHkgPSBub2dhbW1hKHN0YXJ0Lm9wYWNpdHksIGVuZC5vcGFj
aXR5KTsKKyAgICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgICAgc3RhcnQuaCA9IGgodCk7Cisg
ICAgICBzdGFydC5zID0gcyh0KTsKKyAgICAgIHN0YXJ0LmwgPSBsKHQpOworICAgICAgc3RhcnQu
b3BhY2l0eSA9IG9wYWNpdHkodCk7CisgICAgICByZXR1cm4gc3RhcnQgKyAiIjsKKyAgICB9Owor
ICB9Cit9CisKK3ZhciBoc2wkMiA9IGhzbCQxKGh1ZSk7Cit2YXIgaHNsTG9uZyA9IGhzbCQxKG5v
Z2FtbWEpOworCitmdW5jdGlvbiBsYWIkMShzdGFydCwgZW5kKSB7CisgIHZhciBsID0gbm9nYW1t
YSgoc3RhcnQgPSBsYWIoc3RhcnQpKS5sLCAoZW5kID0gbGFiKGVuZCkpLmwpLAorICAgICAgYSA9
IG5vZ2FtbWEoc3RhcnQuYSwgZW5kLmEpLAorICAgICAgYiA9IG5vZ2FtbWEoc3RhcnQuYiwgZW5k
LmIpLAorICAgICAgb3BhY2l0eSA9IG5vZ2FtbWEoc3RhcnQub3BhY2l0eSwgZW5kLm9wYWNpdHkp
OworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHN0YXJ0LmwgPSBsKHQpOworICAgIHN0YXJ0
LmEgPSBhKHQpOworICAgIHN0YXJ0LmIgPSBiKHQpOworICAgIHN0YXJ0Lm9wYWNpdHkgPSBvcGFj
aXR5KHQpOworICAgIHJldHVybiBzdGFydCArICIiOworICB9OworfQorCitmdW5jdGlvbiBoY2wk
MShodWUpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKKyAgICB2YXIgaCA9IGh1
ZSgoc3RhcnQgPSBoY2woc3RhcnQpKS5oLCAoZW5kID0gaGNsKGVuZCkpLmgpLAorICAgICAgICBj
ID0gbm9nYW1tYShzdGFydC5jLCBlbmQuYyksCisgICAgICAgIGwgPSBub2dhbW1hKHN0YXJ0Lmws
IGVuZC5sKSwKKyAgICAgICAgb3BhY2l0eSA9IG5vZ2FtbWEoc3RhcnQub3BhY2l0eSwgZW5kLm9w
YWNpdHkpOworICAgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAgICBzdGFydC5oID0gaCh0KTsK
KyAgICAgIHN0YXJ0LmMgPSBjKHQpOworICAgICAgc3RhcnQubCA9IGwodCk7CisgICAgICBzdGFy
dC5vcGFjaXR5ID0gb3BhY2l0eSh0KTsKKyAgICAgIHJldHVybiBzdGFydCArICIiOworICAgIH07
CisgIH0KK30KKwordmFyIGhjbCQyID0gaGNsJDEoaHVlKTsKK3ZhciBoY2xMb25nID0gaGNsJDEo
bm9nYW1tYSk7CisKK2Z1bmN0aW9uIGN1YmVoZWxpeCQxKGh1ZSkgeworICByZXR1cm4gKGZ1bmN0
aW9uIGN1YmVoZWxpeEdhbW1hKHkpIHsKKyAgICB5ID0gK3k7CisKKyAgICBmdW5jdGlvbiBjdWJl
aGVsaXgkMShzdGFydCwgZW5kKSB7CisgICAgICB2YXIgaCA9IGh1ZSgoc3RhcnQgPSBjdWJlaGVs
aXgoc3RhcnQpKS5oLCAoZW5kID0gY3ViZWhlbGl4KGVuZCkpLmgpLAorICAgICAgICAgIHMgPSBu
b2dhbW1hKHN0YXJ0LnMsIGVuZC5zKSwKKyAgICAgICAgICBsID0gbm9nYW1tYShzdGFydC5sLCBl
bmQubCksCisgICAgICAgICAgb3BhY2l0eSA9IG5vZ2FtbWEoc3RhcnQub3BhY2l0eSwgZW5kLm9w
YWNpdHkpOworICAgICAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgc3RhcnQuaCA9IGgo
dCk7CisgICAgICAgIHN0YXJ0LnMgPSBzKHQpOworICAgICAgICBzdGFydC5sID0gbChNYXRoLnBv
dyh0LCB5KSk7CisgICAgICAgIHN0YXJ0Lm9wYWNpdHkgPSBvcGFjaXR5KHQpOworICAgICAgICBy
ZXR1cm4gc3RhcnQgKyAiIjsKKyAgICAgIH07CisgICAgfQorCisgICAgY3ViZWhlbGl4JDEuZ2Ft
bWEgPSBjdWJlaGVsaXhHYW1tYTsKKworICAgIHJldHVybiBjdWJlaGVsaXgkMTsKKyAgfSkoMSk7
Cit9CisKK3ZhciBjdWJlaGVsaXgkMiA9IGN1YmVoZWxpeCQxKGh1ZSk7Cit2YXIgY3ViZWhlbGl4
TG9uZyA9IGN1YmVoZWxpeCQxKG5vZ2FtbWEpOworCitmdW5jdGlvbiBwaWVjZXdpc2UoaW50ZXJw
b2xhdGUsIHZhbHVlcykgeworICB2YXIgaSA9IDAsIG4gPSB2YWx1ZXMubGVuZ3RoIC0gMSwgdiA9
IHZhbHVlc1swXSwgSSA9IG5ldyBBcnJheShuIDwgMCA/IDAgOiBuKTsKKyAgd2hpbGUgKGkgPCBu
KSBJW2ldID0gaW50ZXJwb2xhdGUodiwgdiA9IHZhbHVlc1srK2ldKTsKKyAgcmV0dXJuIGZ1bmN0
aW9uKHQpIHsKKyAgICB2YXIgaSA9IE1hdGgubWF4KDAsIE1hdGgubWluKG4gLSAxLCBNYXRoLmZs
b29yKHQgKj0gbikpKTsKKyAgICByZXR1cm4gSVtpXSh0IC0gaSk7CisgIH07Cit9CisKK2Z1bmN0
aW9uIHF1YW50aXplKGludGVycG9sYXRvciwgbikgeworICB2YXIgc2FtcGxlcyA9IG5ldyBBcnJh
eShuKTsKKyAgZm9yICh2YXIgaSA9IDA7IGkgPCBuOyArK2kpIHNhbXBsZXNbaV0gPSBpbnRlcnBv
bGF0b3IoaSAvIChuIC0gMSkpOworICByZXR1cm4gc2FtcGxlczsKK30KKwordmFyIGZyYW1lID0g
MCwgLy8gaXMgYW4gYW5pbWF0aW9uIGZyYW1lIHBlbmRpbmc/CisgICAgdGltZW91dCA9IDAsIC8v
IGlzIGEgdGltZW91dCBwZW5kaW5nPworICAgIGludGVydmFsID0gMCwgLy8gYXJlIGFueSB0aW1l
cnMgYWN0aXZlPworICAgIHBva2VEZWxheSA9IDEwMDAsIC8vIGhvdyBmcmVxdWVudGx5IHdlIGNo
ZWNrIGZvciBjbG9jayBza2V3CisgICAgdGFza0hlYWQsCisgICAgdGFza1RhaWwsCisgICAgY2xv
Y2tMYXN0ID0gMCwKKyAgICBjbG9ja05vdyA9IDAsCisgICAgY2xvY2tTa2V3ID0gMCwKKyAgICBj
bG9jayA9IHR5cGVvZiBwZXJmb3JtYW5jZSA9PT0gIm9iamVjdCIgJiYgcGVyZm9ybWFuY2Uubm93
ID8gcGVyZm9ybWFuY2UgOiBEYXRlLAorICAgIHNldEZyYW1lID0gdHlwZW9mIHdpbmRvdyA9PT0g
Im9iamVjdCIgJiYgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA/IHdpbmRvdy5yZXF1ZXN0
QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpIDogZnVuY3Rpb24oZikgeyBzZXRUaW1lb3V0KGYs
IDE3KTsgfTsKKworZnVuY3Rpb24gbm93KCkgeworICByZXR1cm4gY2xvY2tOb3cgfHwgKHNldEZy
YW1lKGNsZWFyTm93KSwgY2xvY2tOb3cgPSBjbG9jay5ub3coKSArIGNsb2NrU2tldyk7Cit9CisK
K2Z1bmN0aW9uIGNsZWFyTm93KCkgeworICBjbG9ja05vdyA9IDA7Cit9CisKK2Z1bmN0aW9uIFRp
bWVyKCkgeworICB0aGlzLl9jYWxsID0KKyAgdGhpcy5fdGltZSA9CisgIHRoaXMuX25leHQgPSBu
dWxsOworfQorCitUaW1lci5wcm90b3R5cGUgPSB0aW1lci5wcm90b3R5cGUgPSB7CisgIGNvbnN0
cnVjdG9yOiBUaW1lciwKKyAgcmVzdGFydDogZnVuY3Rpb24oY2FsbGJhY2ssIGRlbGF5LCB0aW1l
KSB7CisgICAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gImZ1bmN0aW9uIikgdGhyb3cgbmV3IFR5
cGVFcnJvcigiY2FsbGJhY2sgaXMgbm90IGEgZnVuY3Rpb24iKTsKKyAgICB0aW1lID0gKHRpbWUg
PT0gbnVsbCA/IG5vdygpIDogK3RpbWUpICsgKGRlbGF5ID09IG51bGwgPyAwIDogK2RlbGF5KTsK
KyAgICBpZiAoIXRoaXMuX25leHQgJiYgdGFza1RhaWwgIT09IHRoaXMpIHsKKyAgICAgIGlmICh0
YXNrVGFpbCkgdGFza1RhaWwuX25leHQgPSB0aGlzOworICAgICAgZWxzZSB0YXNrSGVhZCA9IHRo
aXM7CisgICAgICB0YXNrVGFpbCA9IHRoaXM7CisgICAgfQorICAgIHRoaXMuX2NhbGwgPSBjYWxs
YmFjazsKKyAgICB0aGlzLl90aW1lID0gdGltZTsKKyAgICBzbGVlcCgpOworICB9LAorICBzdG9w
OiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fY2FsbCkgeworICAgICAgdGhpcy5fY2FsbCA9
IG51bGw7CisgICAgICB0aGlzLl90aW1lID0gSW5maW5pdHk7CisgICAgICBzbGVlcCgpOworICAg
IH0KKyAgfQorfTsKKworZnVuY3Rpb24gdGltZXIoY2FsbGJhY2ssIGRlbGF5LCB0aW1lKSB7Cisg
IHZhciB0ID0gbmV3IFRpbWVyOworICB0LnJlc3RhcnQoY2FsbGJhY2ssIGRlbGF5LCB0aW1lKTsK
KyAgcmV0dXJuIHQ7Cit9CisKK2Z1bmN0aW9uIHRpbWVyRmx1c2goKSB7CisgIG5vdygpOyAvLyBH
ZXQgdGhlIGN1cnJlbnQgdGltZSwgaWYgbm90IGFscmVhZHkgc2V0LgorICArK2ZyYW1lOyAvLyBQ
cmV0ZW5kIHdl4oCZdmUgc2V0IGFuIGFsYXJtLCBpZiB3ZSBoYXZlbuKAmXQgYWxyZWFkeS4KKyAg
dmFyIHQgPSB0YXNrSGVhZCwgZTsKKyAgd2hpbGUgKHQpIHsKKyAgICBpZiAoKGUgPSBjbG9ja05v
dyAtIHQuX3RpbWUpID49IDApIHQuX2NhbGwuY2FsbChudWxsLCBlKTsKKyAgICB0ID0gdC5fbmV4
dDsKKyAgfQorICAtLWZyYW1lOworfQorCitmdW5jdGlvbiB3YWtlKCkgeworICBjbG9ja05vdyA9
IChjbG9ja0xhc3QgPSBjbG9jay5ub3coKSkgKyBjbG9ja1NrZXc7CisgIGZyYW1lID0gdGltZW91
dCA9IDA7CisgIHRyeSB7CisgICAgdGltZXJGbHVzaCgpOworICB9IGZpbmFsbHkgeworICAgIGZy
YW1lID0gMDsKKyAgICBuYXAoKTsKKyAgICBjbG9ja05vdyA9IDA7CisgIH0KK30KKworZnVuY3Rp
b24gcG9rZSgpIHsKKyAgdmFyIG5vdyA9IGNsb2NrLm5vdygpLCBkZWxheSA9IG5vdyAtIGNsb2Nr
TGFzdDsKKyAgaWYgKGRlbGF5ID4gcG9rZURlbGF5KSBjbG9ja1NrZXcgLT0gZGVsYXksIGNsb2Nr
TGFzdCA9IG5vdzsKK30KKworZnVuY3Rpb24gbmFwKCkgeworICB2YXIgdDAsIHQxID0gdGFza0hl
YWQsIHQyLCB0aW1lID0gSW5maW5pdHk7CisgIHdoaWxlICh0MSkgeworICAgIGlmICh0MS5fY2Fs
bCkgeworICAgICAgaWYgKHRpbWUgPiB0MS5fdGltZSkgdGltZSA9IHQxLl90aW1lOworICAgICAg
dDAgPSB0MSwgdDEgPSB0MS5fbmV4dDsKKyAgICB9IGVsc2UgeworICAgICAgdDIgPSB0MS5fbmV4
dCwgdDEuX25leHQgPSBudWxsOworICAgICAgdDEgPSB0MCA/IHQwLl9uZXh0ID0gdDIgOiB0YXNr
SGVhZCA9IHQyOworICAgIH0KKyAgfQorICB0YXNrVGFpbCA9IHQwOworICBzbGVlcCh0aW1lKTsK
K30KKworZnVuY3Rpb24gc2xlZXAodGltZSkgeworICBpZiAoZnJhbWUpIHJldHVybjsgLy8gU29v
bmVzdCBhbGFybSBhbHJlYWR5IHNldCwgb3Igd2lsbCBiZS4KKyAgaWYgKHRpbWVvdXQpIHRpbWVv
dXQgPSBjbGVhclRpbWVvdXQodGltZW91dCk7CisgIHZhciBkZWxheSA9IHRpbWUgLSBjbG9ja05v
dzsgLy8gU3RyaWN0bHkgbGVzcyB0aGFuIGlmIHdlIHJlY29tcHV0ZWQgY2xvY2tOb3cuCisgIGlm
IChkZWxheSA+IDI0KSB7CisgICAgaWYgKHRpbWUgPCBJbmZpbml0eSkgdGltZW91dCA9IHNldFRp
bWVvdXQod2FrZSwgdGltZSAtIGNsb2NrLm5vdygpIC0gY2xvY2tTa2V3KTsKKyAgICBpZiAoaW50
ZXJ2YWwpIGludGVydmFsID0gY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7CisgIH0gZWxzZSB7Cisg
ICAgaWYgKCFpbnRlcnZhbCkgY2xvY2tMYXN0ID0gY2xvY2subm93KCksIGludGVydmFsID0gc2V0
SW50ZXJ2YWwocG9rZSwgcG9rZURlbGF5KTsKKyAgICBmcmFtZSA9IDEsIHNldEZyYW1lKHdha2Up
OworICB9Cit9CisKK2Z1bmN0aW9uIHRpbWVvdXQkMShjYWxsYmFjaywgZGVsYXksIHRpbWUpIHsK
KyAgdmFyIHQgPSBuZXcgVGltZXI7CisgIGRlbGF5ID0gZGVsYXkgPT0gbnVsbCA/IDAgOiArZGVs
YXk7CisgIHQucmVzdGFydChmdW5jdGlvbihlbGFwc2VkKSB7CisgICAgdC5zdG9wKCk7CisgICAg
Y2FsbGJhY2soZWxhcHNlZCArIGRlbGF5KTsKKyAgfSwgZGVsYXksIHRpbWUpOworICByZXR1cm4g
dDsKK30KKworZnVuY3Rpb24gaW50ZXJ2YWwkMShjYWxsYmFjaywgZGVsYXksIHRpbWUpIHsKKyAg
dmFyIHQgPSBuZXcgVGltZXIsIHRvdGFsID0gZGVsYXk7CisgIGlmIChkZWxheSA9PSBudWxsKSBy
ZXR1cm4gdC5yZXN0YXJ0KGNhbGxiYWNrLCBkZWxheSwgdGltZSksIHQ7CisgIGRlbGF5ID0gK2Rl
bGF5LCB0aW1lID0gdGltZSA9PSBudWxsID8gbm93KCkgOiArdGltZTsKKyAgdC5yZXN0YXJ0KGZ1
bmN0aW9uIHRpY2soZWxhcHNlZCkgeworICAgIGVsYXBzZWQgKz0gdG90YWw7CisgICAgdC5yZXN0
YXJ0KHRpY2ssIHRvdGFsICs9IGRlbGF5LCB0aW1lKTsKKyAgICBjYWxsYmFjayhlbGFwc2VkKTsK
KyAgfSwgZGVsYXksIHRpbWUpOworICByZXR1cm4gdDsKK30KKwordmFyIGVtcHR5T24gPSBkaXNw
YXRjaCgic3RhcnQiLCAiZW5kIiwgImNhbmNlbCIsICJpbnRlcnJ1cHQiKTsKK3ZhciBlbXB0eVR3
ZWVuID0gW107CisKK3ZhciBDUkVBVEVEID0gMDsKK3ZhciBTQ0hFRFVMRUQgPSAxOwordmFyIFNU
QVJUSU5HID0gMjsKK3ZhciBTVEFSVEVEID0gMzsKK3ZhciBSVU5OSU5HID0gNDsKK3ZhciBFTkRJ
TkcgPSA1OwordmFyIEVOREVEID0gNjsKKworZnVuY3Rpb24gc2NoZWR1bGUobm9kZSwgbmFtZSwg
aWQsIGluZGV4LCBncm91cCwgdGltaW5nKSB7CisgIHZhciBzY2hlZHVsZXMgPSBub2RlLl9fdHJh
bnNpdGlvbjsKKyAgaWYgKCFzY2hlZHVsZXMpIG5vZGUuX190cmFuc2l0aW9uID0ge307CisgIGVs
c2UgaWYgKGlkIGluIHNjaGVkdWxlcykgcmV0dXJuOworICBjcmVhdGUkMShub2RlLCBpZCwgewor
ICAgIG5hbWU6IG5hbWUsCisgICAgaW5kZXg6IGluZGV4LCAvLyBGb3IgY29udGV4dCBkdXJpbmcg
Y2FsbGJhY2suCisgICAgZ3JvdXA6IGdyb3VwLCAvLyBGb3IgY29udGV4dCBkdXJpbmcgY2FsbGJh
Y2suCisgICAgb246IGVtcHR5T24sCisgICAgdHdlZW46IGVtcHR5VHdlZW4sCisgICAgdGltZTog
dGltaW5nLnRpbWUsCisgICAgZGVsYXk6IHRpbWluZy5kZWxheSwKKyAgICBkdXJhdGlvbjogdGlt
aW5nLmR1cmF0aW9uLAorICAgIGVhc2U6IHRpbWluZy5lYXNlLAorICAgIHRpbWVyOiBudWxsLAor
ICAgIHN0YXRlOiBDUkVBVEVECisgIH0pOworfQorCitmdW5jdGlvbiBpbml0KG5vZGUsIGlkKSB7
CisgIHZhciBzY2hlZHVsZSA9IGdldCQxKG5vZGUsIGlkKTsKKyAgaWYgKHNjaGVkdWxlLnN0YXRl
ID4gQ1JFQVRFRCkgdGhyb3cgbmV3IEVycm9yKCJ0b28gbGF0ZTsgYWxyZWFkeSBzY2hlZHVsZWQi
KTsKKyAgcmV0dXJuIHNjaGVkdWxlOworfQorCitmdW5jdGlvbiBzZXQkMShub2RlLCBpZCkgewor
ICB2YXIgc2NoZWR1bGUgPSBnZXQkMShub2RlLCBpZCk7CisgIGlmIChzY2hlZHVsZS5zdGF0ZSA+
IFNUQVJURUQpIHRocm93IG5ldyBFcnJvcigidG9vIGxhdGU7IGFscmVhZHkgcnVubmluZyIpOwor
ICByZXR1cm4gc2NoZWR1bGU7Cit9CisKK2Z1bmN0aW9uIGdldCQxKG5vZGUsIGlkKSB7CisgIHZh
ciBzY2hlZHVsZSA9IG5vZGUuX190cmFuc2l0aW9uOworICBpZiAoIXNjaGVkdWxlIHx8ICEoc2No
ZWR1bGUgPSBzY2hlZHVsZVtpZF0pKSB0aHJvdyBuZXcgRXJyb3IoInRyYW5zaXRpb24gbm90IGZv
dW5kIik7CisgIHJldHVybiBzY2hlZHVsZTsKK30KKworZnVuY3Rpb24gY3JlYXRlJDEobm9kZSwg
aWQsIHNlbGYpIHsKKyAgdmFyIHNjaGVkdWxlcyA9IG5vZGUuX190cmFuc2l0aW9uLAorICAgICAg
dHdlZW47CisKKyAgLy8gSW5pdGlhbGl6ZSB0aGUgc2VsZiB0aW1lciB3aGVuIHRoZSB0cmFuc2l0
aW9uIGlzIGNyZWF0ZWQuCisgIC8vIE5vdGUgdGhlIGFjdHVhbCBkZWxheSBpcyBub3Qga25vd24g
dW50aWwgdGhlIGZpcnN0IGNhbGxiYWNrIQorICBzY2hlZHVsZXNbaWRdID0gc2VsZjsKKyAgc2Vs
Zi50aW1lciA9IHRpbWVyKHNjaGVkdWxlLCAwLCBzZWxmLnRpbWUpOworCisgIGZ1bmN0aW9uIHNj
aGVkdWxlKGVsYXBzZWQpIHsKKyAgICBzZWxmLnN0YXRlID0gU0NIRURVTEVEOworICAgIHNlbGYu
dGltZXIucmVzdGFydChzdGFydCwgc2VsZi5kZWxheSwgc2VsZi50aW1lKTsKKworICAgIC8vIElm
IHRoZSBlbGFwc2VkIGRlbGF5IGlzIGxlc3MgdGhhbiBvdXIgZmlyc3Qgc2xlZXAsIHN0YXJ0IGlt
bWVkaWF0ZWx5LgorICAgIGlmIChzZWxmLmRlbGF5IDw9IGVsYXBzZWQpIHN0YXJ0KGVsYXBzZWQg
LSBzZWxmLmRlbGF5KTsKKyAgfQorCisgIGZ1bmN0aW9uIHN0YXJ0KGVsYXBzZWQpIHsKKyAgICB2
YXIgaSwgaiwgbiwgbzsKKworICAgIC8vIElmIHRoZSBzdGF0ZSBpcyBub3QgU0NIRURVTEVELCB0
aGVuIHdlIHByZXZpb3VzbHkgZXJyb3JlZCBvbiBzdGFydC4KKyAgICBpZiAoc2VsZi5zdGF0ZSAh
PT0gU0NIRURVTEVEKSByZXR1cm4gc3RvcCgpOworCisgICAgZm9yIChpIGluIHNjaGVkdWxlcykg
eworICAgICAgbyA9IHNjaGVkdWxlc1tpXTsKKyAgICAgIGlmIChvLm5hbWUgIT09IHNlbGYubmFt
ZSkgY29udGludWU7CisKKyAgICAgIC8vIFdoaWxlIHRoaXMgZWxlbWVudCBhbHJlYWR5IGhhcyBh
IHN0YXJ0aW5nIHRyYW5zaXRpb24gZHVyaW5nIHRoaXMgZnJhbWUsCisgICAgICAvLyBkZWZlciBz
dGFydGluZyBhbiBpbnRlcnJ1cHRpbmcgdHJhbnNpdGlvbiB1bnRpbCB0aGF0IHRyYW5zaXRpb24g
aGFzIGEKKyAgICAgIC8vIGNoYW5jZSB0byB0aWNrIChhbmQgcG9zc2libHkgZW5kKTsgc2VlIGQz
L2QzLXRyYW5zaXRpb24jNTQhCisgICAgICBpZiAoby5zdGF0ZSA9PT0gU1RBUlRFRCkgcmV0dXJu
IHRpbWVvdXQkMShzdGFydCk7CisKKyAgICAgIC8vIEludGVycnVwdCB0aGUgYWN0aXZlIHRyYW5z
aXRpb24sIGlmIGFueS4KKyAgICAgIGlmIChvLnN0YXRlID09PSBSVU5OSU5HKSB7CisgICAgICAg
IG8uc3RhdGUgPSBFTkRFRDsKKyAgICAgICAgby50aW1lci5zdG9wKCk7CisgICAgICAgIG8ub24u
Y2FsbCgiaW50ZXJydXB0Iiwgbm9kZSwgbm9kZS5fX2RhdGFfXywgby5pbmRleCwgby5ncm91cCk7
CisgICAgICAgIGRlbGV0ZSBzY2hlZHVsZXNbaV07CisgICAgICB9CisKKyAgICAgIC8vIENhbmNl
bCBhbnkgcHJlLWVtcHRlZCB0cmFuc2l0aW9ucy4KKyAgICAgIGVsc2UgaWYgKCtpIDwgaWQpIHsK
KyAgICAgICAgby5zdGF0ZSA9IEVOREVEOworICAgICAgICBvLnRpbWVyLnN0b3AoKTsKKyAgICAg
ICAgby5vbi5jYWxsKCJjYW5jZWwiLCBub2RlLCBub2RlLl9fZGF0YV9fLCBvLmluZGV4LCBvLmdy
b3VwKTsKKyAgICAgICAgZGVsZXRlIHNjaGVkdWxlc1tpXTsKKyAgICAgIH0KKyAgICB9CisKKyAg
ICAvLyBEZWZlciB0aGUgZmlyc3QgdGljayB0byBlbmQgb2YgdGhlIGN1cnJlbnQgZnJhbWU7IHNl
ZSBkMy9kMyMxNTc2LgorICAgIC8vIE5vdGUgdGhlIHRyYW5zaXRpb24gbWF5IGJlIGNhbmNlbGVk
IGFmdGVyIHN0YXJ0IGFuZCBiZWZvcmUgdGhlIGZpcnN0IHRpY2shCisgICAgLy8gTm90ZSB0aGlz
IG11c3QgYmUgc2NoZWR1bGVkIGJlZm9yZSB0aGUgc3RhcnQgZXZlbnQ7IHNlZSBkMy9kMy10cmFu
c2l0aW9uIzE2IQorICAgIC8vIEFzc3VtaW5nIHRoaXMgaXMgc3VjY2Vzc2Z1bCwgc3Vic2VxdWVu
dCBjYWxsYmFja3MgZ28gc3RyYWlnaHQgdG8gdGljay4KKyAgICB0aW1lb3V0JDEoZnVuY3Rpb24o
KSB7CisgICAgICBpZiAoc2VsZi5zdGF0ZSA9PT0gU1RBUlRFRCkgeworICAgICAgICBzZWxmLnN0
YXRlID0gUlVOTklORzsKKyAgICAgICAgc2VsZi50aW1lci5yZXN0YXJ0KHRpY2ssIHNlbGYuZGVs
YXksIHNlbGYudGltZSk7CisgICAgICAgIHRpY2soZWxhcHNlZCk7CisgICAgICB9CisgICAgfSk7
CisKKyAgICAvLyBEaXNwYXRjaCB0aGUgc3RhcnQgZXZlbnQuCisgICAgLy8gTm90ZSB0aGlzIG11
c3QgYmUgZG9uZSBiZWZvcmUgdGhlIHR3ZWVuIGFyZSBpbml0aWFsaXplZC4KKyAgICBzZWxmLnN0
YXRlID0gU1RBUlRJTkc7CisgICAgc2VsZi5vbi5jYWxsKCJzdGFydCIsIG5vZGUsIG5vZGUuX19k
YXRhX18sIHNlbGYuaW5kZXgsIHNlbGYuZ3JvdXApOworICAgIGlmIChzZWxmLnN0YXRlICE9PSBT
VEFSVElORykgcmV0dXJuOyAvLyBpbnRlcnJ1cHRlZAorICAgIHNlbGYuc3RhdGUgPSBTVEFSVEVE
OworCisgICAgLy8gSW5pdGlhbGl6ZSB0aGUgdHdlZW4sIGRlbGV0aW5nIG51bGwgdHdlZW4uCisg
ICAgdHdlZW4gPSBuZXcgQXJyYXkobiA9IHNlbGYudHdlZW4ubGVuZ3RoKTsKKyAgICBmb3IgKGkg
PSAwLCBqID0gLTE7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChvID0gc2VsZi50d2VlbltpXS52
YWx1ZS5jYWxsKG5vZGUsIG5vZGUuX19kYXRhX18sIHNlbGYuaW5kZXgsIHNlbGYuZ3JvdXApKSB7
CisgICAgICAgIHR3ZWVuWysral0gPSBvOworICAgICAgfQorICAgIH0KKyAgICB0d2Vlbi5sZW5n
dGggPSBqICsgMTsKKyAgfQorCisgIGZ1bmN0aW9uIHRpY2soZWxhcHNlZCkgeworICAgIHZhciB0
ID0gZWxhcHNlZCA8IHNlbGYuZHVyYXRpb24gPyBzZWxmLmVhc2UuY2FsbChudWxsLCBlbGFwc2Vk
IC8gc2VsZi5kdXJhdGlvbikgOiAoc2VsZi50aW1lci5yZXN0YXJ0KHN0b3ApLCBzZWxmLnN0YXRl
ID0gRU5ESU5HLCAxKSwKKyAgICAgICAgaSA9IC0xLAorICAgICAgICBuID0gdHdlZW4ubGVuZ3Ro
OworCisgICAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIHR3ZWVuW2ldLmNhbGwobm9kZSwgdCk7
CisgICAgfQorCisgICAgLy8gRGlzcGF0Y2ggdGhlIGVuZCBldmVudC4KKyAgICBpZiAoc2VsZi5z
dGF0ZSA9PT0gRU5ESU5HKSB7CisgICAgICBzZWxmLm9uLmNhbGwoImVuZCIsIG5vZGUsIG5vZGUu
X19kYXRhX18sIHNlbGYuaW5kZXgsIHNlbGYuZ3JvdXApOworICAgICAgc3RvcCgpOworICAgIH0K
KyAgfQorCisgIGZ1bmN0aW9uIHN0b3AoKSB7CisgICAgc2VsZi5zdGF0ZSA9IEVOREVEOworICAg
IHNlbGYudGltZXIuc3RvcCgpOworICAgIGRlbGV0ZSBzY2hlZHVsZXNbaWRdOworICAgIGZvciAo
dmFyIGkgaW4gc2NoZWR1bGVzKSByZXR1cm47IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51
c2VkLXZhcnMKKyAgICBkZWxldGUgbm9kZS5fX3RyYW5zaXRpb247CisgIH0KK30KKworZnVuY3Rp
b24gaW50ZXJydXB0KG5vZGUsIG5hbWUpIHsKKyAgdmFyIHNjaGVkdWxlcyA9IG5vZGUuX190cmFu
c2l0aW9uLAorICAgICAgc2NoZWR1bGUsCisgICAgICBhY3RpdmUsCisgICAgICBlbXB0eSA9IHRy
dWUsCisgICAgICBpOworCisgIGlmICghc2NoZWR1bGVzKSByZXR1cm47CisKKyAgbmFtZSA9IG5h
bWUgPT0gbnVsbCA/IG51bGwgOiBuYW1lICsgIiI7CisKKyAgZm9yIChpIGluIHNjaGVkdWxlcykg
eworICAgIGlmICgoc2NoZWR1bGUgPSBzY2hlZHVsZXNbaV0pLm5hbWUgIT09IG5hbWUpIHsgZW1w
dHkgPSBmYWxzZTsgY29udGludWU7IH0KKyAgICBhY3RpdmUgPSBzY2hlZHVsZS5zdGF0ZSA+IFNU
QVJUSU5HICYmIHNjaGVkdWxlLnN0YXRlIDwgRU5ESU5HOworICAgIHNjaGVkdWxlLnN0YXRlID0g
RU5ERUQ7CisgICAgc2NoZWR1bGUudGltZXIuc3RvcCgpOworICAgIHNjaGVkdWxlLm9uLmNhbGwo
YWN0aXZlID8gImludGVycnVwdCIgOiAiY2FuY2VsIiwgbm9kZSwgbm9kZS5fX2RhdGFfXywgc2No
ZWR1bGUuaW5kZXgsIHNjaGVkdWxlLmdyb3VwKTsKKyAgICBkZWxldGUgc2NoZWR1bGVzW2ldOwor
ICB9CisKKyAgaWYgKGVtcHR5KSBkZWxldGUgbm9kZS5fX3RyYW5zaXRpb247Cit9CisKK2Z1bmN0
aW9uIHNlbGVjdGlvbl9pbnRlcnJ1cHQobmFtZSkgeworICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0
aW9uKCkgeworICAgIGludGVycnVwdCh0aGlzLCBuYW1lKTsKKyAgfSk7Cit9CisKK2Z1bmN0aW9u
IHR3ZWVuUmVtb3ZlKGlkLCBuYW1lKSB7CisgIHZhciB0d2VlbjAsIHR3ZWVuMTsKKyAgcmV0dXJu
IGZ1bmN0aW9uKCkgeworICAgIHZhciBzY2hlZHVsZSA9IHNldCQxKHRoaXMsIGlkKSwKKyAgICAg
ICAgdHdlZW4gPSBzY2hlZHVsZS50d2VlbjsKKworICAgIC8vIElmIHRoaXMgbm9kZSBzaGFyZWQg
dHdlZW4gd2l0aCB0aGUgcHJldmlvdXMgbm9kZSwKKyAgICAvLyBqdXN0IGFzc2lnbiB0aGUgdXBk
YXRlZCBzaGFyZWQgdHdlZW4gYW5kIHdl4oCZcmUgZG9uZSEKKyAgICAvLyBPdGhlcndpc2UsIGNv
cHktb24td3JpdGUuCisgICAgaWYgKHR3ZWVuICE9PSB0d2VlbjApIHsKKyAgICAgIHR3ZWVuMSA9
IHR3ZWVuMCA9IHR3ZWVuOworICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSB0d2VlbjEubGVuZ3Ro
OyBpIDwgbjsgKytpKSB7CisgICAgICAgIGlmICh0d2VlbjFbaV0ubmFtZSA9PT0gbmFtZSkgewor
ICAgICAgICAgIHR3ZWVuMSA9IHR3ZWVuMS5zbGljZSgpOworICAgICAgICAgIHR3ZWVuMS5zcGxp
Y2UoaSwgMSk7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisK
KyAgICBzY2hlZHVsZS50d2VlbiA9IHR3ZWVuMTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHdlZW5G
dW5jdGlvbihpZCwgbmFtZSwgdmFsdWUpIHsKKyAgdmFyIHR3ZWVuMCwgdHdlZW4xOworICBpZiAo
dHlwZW9mIHZhbHVlICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgRXJyb3I7CisgIHJldHVybiBm
dW5jdGlvbigpIHsKKyAgICB2YXIgc2NoZWR1bGUgPSBzZXQkMSh0aGlzLCBpZCksCisgICAgICAg
IHR3ZWVuID0gc2NoZWR1bGUudHdlZW47CisKKyAgICAvLyBJZiB0aGlzIG5vZGUgc2hhcmVkIHR3
ZWVuIHdpdGggdGhlIHByZXZpb3VzIG5vZGUsCisgICAgLy8ganVzdCBhc3NpZ24gdGhlIHVwZGF0
ZWQgc2hhcmVkIHR3ZWVuIGFuZCB3ZeKAmXJlIGRvbmUhCisgICAgLy8gT3RoZXJ3aXNlLCBjb3B5
LW9uLXdyaXRlLgorICAgIGlmICh0d2VlbiAhPT0gdHdlZW4wKSB7CisgICAgICB0d2VlbjEgPSAo
dHdlZW4wID0gdHdlZW4pLnNsaWNlKCk7CisgICAgICBmb3IgKHZhciB0ID0ge25hbWU6IG5hbWUs
IHZhbHVlOiB2YWx1ZX0sIGkgPSAwLCBuID0gdHdlZW4xLmxlbmd0aDsgaSA8IG47ICsraSkgewor
ICAgICAgICBpZiAodHdlZW4xW2ldLm5hbWUgPT09IG5hbWUpIHsKKyAgICAgICAgICB0d2VlbjFb
aV0gPSB0OworICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICB9CisgICAgICBpZiAo
aSA9PT0gbikgdHdlZW4xLnB1c2godCk7CisgICAgfQorCisgICAgc2NoZWR1bGUudHdlZW4gPSB0
d2VlbjE7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fdHdlZW4obmFtZSwgdmFsdWUp
IHsKKyAgdmFyIGlkID0gdGhpcy5faWQ7CisKKyAgbmFtZSArPSAiIjsKKworICBpZiAoYXJndW1l
bnRzLmxlbmd0aCA8IDIpIHsKKyAgICB2YXIgdHdlZW4gPSBnZXQkMSh0aGlzLm5vZGUoKSwgaWQp
LnR3ZWVuOworICAgIGZvciAodmFyIGkgPSAwLCBuID0gdHdlZW4ubGVuZ3RoLCB0OyBpIDwgbjsg
KytpKSB7CisgICAgICBpZiAoKHQgPSB0d2VlbltpXSkubmFtZSA9PT0gbmFtZSkgeworICAgICAg
ICByZXR1cm4gdC52YWx1ZTsKKyAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIG51bGw7CisgIH0K
KworICByZXR1cm4gdGhpcy5lYWNoKCh2YWx1ZSA9PSBudWxsID8gdHdlZW5SZW1vdmUgOiB0d2Vl
bkZ1bmN0aW9uKShpZCwgbmFtZSwgdmFsdWUpKTsKK30KKworZnVuY3Rpb24gdHdlZW5WYWx1ZSh0
cmFuc2l0aW9uLCBuYW1lLCB2YWx1ZSkgeworICB2YXIgaWQgPSB0cmFuc2l0aW9uLl9pZDsKKwor
ICB0cmFuc2l0aW9uLmVhY2goZnVuY3Rpb24oKSB7CisgICAgdmFyIHNjaGVkdWxlID0gc2V0JDEo
dGhpcywgaWQpOworICAgIChzY2hlZHVsZS52YWx1ZSB8fCAoc2NoZWR1bGUudmFsdWUgPSB7fSkp
W25hbWVdID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgfSk7CisKKyAgcmV0dXJu
IGZ1bmN0aW9uKG5vZGUpIHsKKyAgICByZXR1cm4gZ2V0JDEobm9kZSwgaWQpLnZhbHVlW25hbWVd
OworICB9OworfQorCitmdW5jdGlvbiBpbnRlcnBvbGF0ZShhLCBiKSB7CisgIHZhciBjOworICBy
ZXR1cm4gKHR5cGVvZiBiID09PSAibnVtYmVyIiA/IGludGVycG9sYXRlTnVtYmVyCisgICAgICA6
IGIgaW5zdGFuY2VvZiBjb2xvciA/IGludGVycG9sYXRlUmdiCisgICAgICA6IChjID0gY29sb3Io
YikpID8gKGIgPSBjLCBpbnRlcnBvbGF0ZVJnYikKKyAgICAgIDogaW50ZXJwb2xhdGVTdHJpbmcp
KGEsIGIpOworfQorCitmdW5jdGlvbiBhdHRyUmVtb3ZlJDEobmFtZSkgeworICByZXR1cm4gZnVu
Y3Rpb24oKSB7CisgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7CisgIH07Cit9CisKK2Z1
bmN0aW9uIGF0dHJSZW1vdmVOUyQxKGZ1bGxuYW1lKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsK
KyAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKGZ1bGxuYW1lLnNwYWNlLCBmdWxsbmFtZS5sb2Nh
bCk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGF0dHJDb25zdGFudCQxKG5hbWUsIGludGVycG9sYXRl
LCB2YWx1ZTEpIHsKKyAgdmFyIHN0cmluZzAwLAorICAgICAgc3RyaW5nMSA9IHZhbHVlMSArICIi
LAorICAgICAgaW50ZXJwb2xhdGUwOworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHN0
cmluZzAgPSB0aGlzLmdldEF0dHJpYnV0ZShuYW1lKTsKKyAgICByZXR1cm4gc3RyaW5nMCA9PT0g
c3RyaW5nMSA/IG51bGwKKyAgICAgICAgOiBzdHJpbmcwID09PSBzdHJpbmcwMCA/IGludGVycG9s
YXRlMAorICAgICAgICA6IGludGVycG9sYXRlMCA9IGludGVycG9sYXRlKHN0cmluZzAwID0gc3Ry
aW5nMCwgdmFsdWUxKTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0ckNvbnN0YW50TlMkMShmdWxs
bmFtZSwgaW50ZXJwb2xhdGUsIHZhbHVlMSkgeworICB2YXIgc3RyaW5nMDAsCisgICAgICBzdHJp
bmcxID0gdmFsdWUxICsgIiIsCisgICAgICBpbnRlcnBvbGF0ZTA7CisgIHJldHVybiBmdW5jdGlv
bigpIHsKKyAgICB2YXIgc3RyaW5nMCA9IHRoaXMuZ2V0QXR0cmlidXRlTlMoZnVsbG5hbWUuc3Bh
Y2UsIGZ1bGxuYW1lLmxvY2FsKTsKKyAgICByZXR1cm4gc3RyaW5nMCA9PT0gc3RyaW5nMSA/IG51
bGwKKyAgICAgICAgOiBzdHJpbmcwID09PSBzdHJpbmcwMCA/IGludGVycG9sYXRlMAorICAgICAg
ICA6IGludGVycG9sYXRlMCA9IGludGVycG9sYXRlKHN0cmluZzAwID0gc3RyaW5nMCwgdmFsdWUx
KTsKKyAgfTsKK30KKworZnVuY3Rpb24gYXR0ckZ1bmN0aW9uJDEobmFtZSwgaW50ZXJwb2xhdGUs
IHZhbHVlKSB7CisgIHZhciBzdHJpbmcwMCwKKyAgICAgIHN0cmluZzEwLAorICAgICAgaW50ZXJw
b2xhdGUwOworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHN0cmluZzAsIHZhbHVlMSA9
IHZhbHVlKHRoaXMpLCBzdHJpbmcxOworICAgIGlmICh2YWx1ZTEgPT0gbnVsbCkgcmV0dXJuIHZv
aWQgdGhpcy5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7CisgICAgc3RyaW5nMCA9IHRoaXMuZ2V0QXR0
cmlidXRlKG5hbWUpOworICAgIHN0cmluZzEgPSB2YWx1ZTEgKyAiIjsKKyAgICByZXR1cm4gc3Ry
aW5nMCA9PT0gc3RyaW5nMSA/IG51bGwKKyAgICAgICAgOiBzdHJpbmcwID09PSBzdHJpbmcwMCAm
JiBzdHJpbmcxID09PSBzdHJpbmcxMCA/IGludGVycG9sYXRlMAorICAgICAgICA6IChzdHJpbmcx
MCA9IHN0cmluZzEsIGludGVycG9sYXRlMCA9IGludGVycG9sYXRlKHN0cmluZzAwID0gc3RyaW5n
MCwgdmFsdWUxKSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGF0dHJGdW5jdGlvbk5TJDEoZnVsbG5h
bWUsIGludGVycG9sYXRlLCB2YWx1ZSkgeworICB2YXIgc3RyaW5nMDAsCisgICAgICBzdHJpbmcx
MCwKKyAgICAgIGludGVycG9sYXRlMDsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHZhciBz
dHJpbmcwLCB2YWx1ZTEgPSB2YWx1ZSh0aGlzKSwgc3RyaW5nMTsKKyAgICBpZiAodmFsdWUxID09
IG51bGwpIHJldHVybiB2b2lkIHRoaXMucmVtb3ZlQXR0cmlidXRlTlMoZnVsbG5hbWUuc3BhY2Us
IGZ1bGxuYW1lLmxvY2FsKTsKKyAgICBzdHJpbmcwID0gdGhpcy5nZXRBdHRyaWJ1dGVOUyhmdWxs
bmFtZS5zcGFjZSwgZnVsbG5hbWUubG9jYWwpOworICAgIHN0cmluZzEgPSB2YWx1ZTEgKyAiIjsK
KyAgICByZXR1cm4gc3RyaW5nMCA9PT0gc3RyaW5nMSA/IG51bGwKKyAgICAgICAgOiBzdHJpbmcw
ID09PSBzdHJpbmcwMCAmJiBzdHJpbmcxID09PSBzdHJpbmcxMCA/IGludGVycG9sYXRlMAorICAg
ICAgICA6IChzdHJpbmcxMCA9IHN0cmluZzEsIGludGVycG9sYXRlMCA9IGludGVycG9sYXRlKHN0
cmluZzAwID0gc3RyaW5nMCwgdmFsdWUxKSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRp
b25fYXR0cihuYW1lLCB2YWx1ZSkgeworICB2YXIgZnVsbG5hbWUgPSBuYW1lc3BhY2UobmFtZSks
IGkgPSBmdWxsbmFtZSA9PT0gInRyYW5zZm9ybSIgPyBpbnRlcnBvbGF0ZVRyYW5zZm9ybVN2ZyA6
IGludGVycG9sYXRlOworICByZXR1cm4gdGhpcy5hdHRyVHdlZW4obmFtZSwgdHlwZW9mIHZhbHVl
ID09PSAiZnVuY3Rpb24iCisgICAgICA/IChmdWxsbmFtZS5sb2NhbCA/IGF0dHJGdW5jdGlvbk5T
JDEgOiBhdHRyRnVuY3Rpb24kMSkoZnVsbG5hbWUsIGksIHR3ZWVuVmFsdWUodGhpcywgImF0dHIu
IiArIG5hbWUsIHZhbHVlKSkKKyAgICAgIDogdmFsdWUgPT0gbnVsbCA/IChmdWxsbmFtZS5sb2Nh
bCA/IGF0dHJSZW1vdmVOUyQxIDogYXR0clJlbW92ZSQxKShmdWxsbmFtZSkKKyAgICAgIDogKGZ1
bGxuYW1lLmxvY2FsID8gYXR0ckNvbnN0YW50TlMkMSA6IGF0dHJDb25zdGFudCQxKShmdWxsbmFt
ZSwgaSwgdmFsdWUpKTsKK30KKworZnVuY3Rpb24gYXR0ckludGVycG9sYXRlKG5hbWUsIGkpIHsK
KyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICB0aGlzLnNldEF0dHJpYnV0ZShuYW1lLCBpLmNh
bGwodGhpcywgdCkpOworICB9OworfQorCitmdW5jdGlvbiBhdHRySW50ZXJwb2xhdGVOUyhmdWxs
bmFtZSwgaSkgeworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHRoaXMuc2V0QXR0cmlidXRl
TlMoZnVsbG5hbWUuc3BhY2UsIGZ1bGxuYW1lLmxvY2FsLCBpLmNhbGwodGhpcywgdCkpOworICB9
OworfQorCitmdW5jdGlvbiBhdHRyVHdlZW5OUyhmdWxsbmFtZSwgdmFsdWUpIHsKKyAgdmFyIHQw
LCBpMDsKKyAgZnVuY3Rpb24gdHdlZW4oKSB7CisgICAgdmFyIGkgPSB2YWx1ZS5hcHBseSh0aGlz
LCBhcmd1bWVudHMpOworICAgIGlmIChpICE9PSBpMCkgdDAgPSAoaTAgPSBpKSAmJiBhdHRySW50
ZXJwb2xhdGVOUyhmdWxsbmFtZSwgaSk7CisgICAgcmV0dXJuIHQwOworICB9CisgIHR3ZWVuLl92
YWx1ZSA9IHZhbHVlOworICByZXR1cm4gdHdlZW47Cit9CisKK2Z1bmN0aW9uIGF0dHJUd2Vlbihu
YW1lLCB2YWx1ZSkgeworICB2YXIgdDAsIGkwOworICBmdW5jdGlvbiB0d2VlbigpIHsKKyAgICB2
YXIgaSA9IHZhbHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgaWYgKGkgIT09IGkwKSB0
MCA9IChpMCA9IGkpICYmIGF0dHJJbnRlcnBvbGF0ZShuYW1lLCBpKTsKKyAgICByZXR1cm4gdDA7
CisgIH0KKyAgdHdlZW4uX3ZhbHVlID0gdmFsdWU7CisgIHJldHVybiB0d2VlbjsKK30KKworZnVu
Y3Rpb24gdHJhbnNpdGlvbl9hdHRyVHdlZW4obmFtZSwgdmFsdWUpIHsKKyAgdmFyIGtleSA9ICJh
dHRyLiIgKyBuYW1lOworICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHJldHVybiAoa2V5ID0g
dGhpcy50d2VlbihrZXkpKSAmJiBrZXkuX3ZhbHVlOworICBpZiAodmFsdWUgPT0gbnVsbCkgcmV0
dXJuIHRoaXMudHdlZW4oa2V5LCBudWxsKTsKKyAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gImZ1bmN0
aW9uIikgdGhyb3cgbmV3IEVycm9yOworICB2YXIgZnVsbG5hbWUgPSBuYW1lc3BhY2UobmFtZSk7
CisgIHJldHVybiB0aGlzLnR3ZWVuKGtleSwgKGZ1bGxuYW1lLmxvY2FsID8gYXR0clR3ZWVuTlMg
OiBhdHRyVHdlZW4pKGZ1bGxuYW1lLCB2YWx1ZSkpOworfQorCitmdW5jdGlvbiBkZWxheUZ1bmN0
aW9uKGlkLCB2YWx1ZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgaW5pdCh0aGlzLCBp
ZCkuZGVsYXkgPSArdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgfTsKK30KKworZnVu
Y3Rpb24gZGVsYXlDb25zdGFudChpZCwgdmFsdWUpIHsKKyAgcmV0dXJuIHZhbHVlID0gK3ZhbHVl
LCBmdW5jdGlvbigpIHsKKyAgICBpbml0KHRoaXMsIGlkKS5kZWxheSA9IHZhbHVlOworICB9Owor
fQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX2RlbGF5KHZhbHVlKSB7CisgIHZhciBpZCA9IHRoaXMu
X2lkOworCisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoCisgICAgICA/IHRoaXMuZWFjaCgodHlw
ZW9mIHZhbHVlID09PSAiZnVuY3Rpb24iCisgICAgICAgICAgPyBkZWxheUZ1bmN0aW9uCisgICAg
ICAgICAgOiBkZWxheUNvbnN0YW50KShpZCwgdmFsdWUpKQorICAgICAgOiBnZXQkMSh0aGlzLm5v
ZGUoKSwgaWQpLmRlbGF5OworfQorCitmdW5jdGlvbiBkdXJhdGlvbkZ1bmN0aW9uKGlkLCB2YWx1
ZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgc2V0JDEodGhpcywgaWQpLmR1cmF0aW9u
ID0gK3ZhbHVlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGR1
cmF0aW9uQ29uc3RhbnQoaWQsIHZhbHVlKSB7CisgIHJldHVybiB2YWx1ZSA9ICt2YWx1ZSwgZnVu
Y3Rpb24oKSB7CisgICAgc2V0JDEodGhpcywgaWQpLmR1cmF0aW9uID0gdmFsdWU7CisgIH07Cit9
CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fZHVyYXRpb24odmFsdWUpIHsKKyAgdmFyIGlkID0gdGhp
cy5faWQ7CisKKyAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgKKyAgICAgID8gdGhpcy5lYWNoKCh0
eXBlb2YgdmFsdWUgPT09ICJmdW5jdGlvbiIKKyAgICAgICAgICA/IGR1cmF0aW9uRnVuY3Rpb24K
KyAgICAgICAgICA6IGR1cmF0aW9uQ29uc3RhbnQpKGlkLCB2YWx1ZSkpCisgICAgICA6IGdldCQx
KHRoaXMubm9kZSgpLCBpZCkuZHVyYXRpb247Cit9CisKK2Z1bmN0aW9uIGVhc2VDb25zdGFudChp
ZCwgdmFsdWUpIHsKKyAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gImZ1bmN0aW9uIikgdGhyb3cgbmV3
IEVycm9yOworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgc2V0JDEodGhpcywgaWQpLmVhc2Ug
PSB2YWx1ZTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl9lYXNlKHZhbHVlKSB7Cisg
IHZhciBpZCA9IHRoaXMuX2lkOworCisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoCisgICAgICA/
IHRoaXMuZWFjaChlYXNlQ29uc3RhbnQoaWQsIHZhbHVlKSkKKyAgICAgIDogZ2V0JDEodGhpcy5u
b2RlKCksIGlkKS5lYXNlOworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX2ZpbHRlcihtYXRjaCkg
eworICBpZiAodHlwZW9mIG1hdGNoICE9PSAiZnVuY3Rpb24iKSBtYXRjaCA9IG1hdGNoZXIobWF0
Y2gpOworCisgIGZvciAodmFyIGdyb3VwcyA9IHRoaXMuX2dyb3VwcywgbSA9IGdyb3Vwcy5sZW5n
dGgsIHN1Ymdyb3VwcyA9IG5ldyBBcnJheShtKSwgaiA9IDA7IGogPCBtOyArK2opIHsKKyAgICBm
b3IgKHZhciBncm91cCA9IGdyb3Vwc1tqXSwgbiA9IGdyb3VwLmxlbmd0aCwgc3ViZ3JvdXAgPSBz
dWJncm91cHNbal0gPSBbXSwgbm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmICgo
bm9kZSA9IGdyb3VwW2ldKSAmJiBtYXRjaC5jYWxsKG5vZGUsIG5vZGUuX19kYXRhX18sIGksIGdy
b3VwKSkgeworICAgICAgICBzdWJncm91cC5wdXNoKG5vZGUpOworICAgICAgfQorICAgIH0KKyAg
fQorCisgIHJldHVybiBuZXcgVHJhbnNpdGlvbihzdWJncm91cHMsIHRoaXMuX3BhcmVudHMsIHRo
aXMuX25hbWUsIHRoaXMuX2lkKTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl9tZXJnZSh0cmFu
c2l0aW9uKSB7CisgIGlmICh0cmFuc2l0aW9uLl9pZCAhPT0gdGhpcy5faWQpIHRocm93IG5ldyBF
cnJvcjsKKworICBmb3IgKHZhciBncm91cHMwID0gdGhpcy5fZ3JvdXBzLCBncm91cHMxID0gdHJh
bnNpdGlvbi5fZ3JvdXBzLCBtMCA9IGdyb3VwczAubGVuZ3RoLCBtMSA9IGdyb3VwczEubGVuZ3Ro
LCBtID0gTWF0aC5taW4obTAsIG0xKSwgbWVyZ2VzID0gbmV3IEFycmF5KG0wKSwgaiA9IDA7IGog
PCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cDAgPSBncm91cHMwW2pdLCBncm91cDEgPSBn
cm91cHMxW2pdLCBuID0gZ3JvdXAwLmxlbmd0aCwgbWVyZ2UgPSBtZXJnZXNbal0gPSBuZXcgQXJy
YXkobiksIG5vZGUsIGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAobm9kZSA9IGdyb3Vw
MFtpXSB8fCBncm91cDFbaV0pIHsKKyAgICAgICAgbWVyZ2VbaV0gPSBub2RlOworICAgICAgfQor
ICAgIH0KKyAgfQorCisgIGZvciAoOyBqIDwgbTA7ICsraikgeworICAgIG1lcmdlc1tqXSA9IGdy
b3VwczBbal07CisgIH0KKworICByZXR1cm4gbmV3IFRyYW5zaXRpb24obWVyZ2VzLCB0aGlzLl9w
YXJlbnRzLCB0aGlzLl9uYW1lLCB0aGlzLl9pZCk7Cit9CisKK2Z1bmN0aW9uIHN0YXJ0KG5hbWUp
IHsKKyAgcmV0dXJuIChuYW1lICsgIiIpLnRyaW0oKS5zcGxpdCgvXnxccysvKS5ldmVyeShmdW5j
dGlvbih0KSB7CisgICAgdmFyIGkgPSB0LmluZGV4T2YoIi4iKTsKKyAgICBpZiAoaSA+PSAwKSB0
ID0gdC5zbGljZSgwLCBpKTsKKyAgICByZXR1cm4gIXQgfHwgdCA9PT0gInN0YXJ0IjsKKyAgfSk7
Cit9CisKK2Z1bmN0aW9uIG9uRnVuY3Rpb24oaWQsIG5hbWUsIGxpc3RlbmVyKSB7CisgIHZhciBv
bjAsIG9uMSwgc2l0ID0gc3RhcnQobmFtZSkgPyBpbml0IDogc2V0JDE7CisgIHJldHVybiBmdW5j
dGlvbigpIHsKKyAgICB2YXIgc2NoZWR1bGUgPSBzaXQodGhpcywgaWQpLAorICAgICAgICBvbiA9
IHNjaGVkdWxlLm9uOworCisgICAgLy8gSWYgdGhpcyBub2RlIHNoYXJlZCBhIGRpc3BhdGNoIHdp
dGggdGhlIHByZXZpb3VzIG5vZGUsCisgICAgLy8ganVzdCBhc3NpZ24gdGhlIHVwZGF0ZWQgc2hh
cmVkIGRpc3BhdGNoIGFuZCB3ZeKAmXJlIGRvbmUhCisgICAgLy8gT3RoZXJ3aXNlLCBjb3B5LW9u
LXdyaXRlLgorICAgIGlmIChvbiAhPT0gb24wKSAob24xID0gKG9uMCA9IG9uKS5jb3B5KCkpLm9u
KG5hbWUsIGxpc3RlbmVyKTsKKworICAgIHNjaGVkdWxlLm9uID0gb24xOworICB9OworfQorCitm
dW5jdGlvbiB0cmFuc2l0aW9uX29uKG5hbWUsIGxpc3RlbmVyKSB7CisgIHZhciBpZCA9IHRoaXMu
X2lkOworCisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoIDwgMgorICAgICAgPyBnZXQkMSh0aGlz
Lm5vZGUoKSwgaWQpLm9uLm9uKG5hbWUpCisgICAgICA6IHRoaXMuZWFjaChvbkZ1bmN0aW9uKGlk
LCBuYW1lLCBsaXN0ZW5lcikpOworfQorCitmdW5jdGlvbiByZW1vdmVGdW5jdGlvbihpZCkgewor
ICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdmFyIHBhcmVudCA9IHRoaXMucGFyZW50Tm9kZTsK
KyAgICBmb3IgKHZhciBpIGluIHRoaXMuX190cmFuc2l0aW9uKSBpZiAoK2kgIT09IGlkKSByZXR1
cm47CisgICAgaWYgKHBhcmVudCkgcGFyZW50LnJlbW92ZUNoaWxkKHRoaXMpOworICB9OworfQor
CitmdW5jdGlvbiB0cmFuc2l0aW9uX3JlbW92ZSgpIHsKKyAgcmV0dXJuIHRoaXMub24oImVuZC5y
ZW1vdmUiLCByZW1vdmVGdW5jdGlvbih0aGlzLl9pZCkpOworfQorCitmdW5jdGlvbiB0cmFuc2l0
aW9uX3NlbGVjdChzZWxlY3QpIHsKKyAgdmFyIG5hbWUgPSB0aGlzLl9uYW1lLAorICAgICAgaWQg
PSB0aGlzLl9pZDsKKworICBpZiAodHlwZW9mIHNlbGVjdCAhPT0gImZ1bmN0aW9uIikgc2VsZWN0
ID0gc2VsZWN0b3Ioc2VsZWN0KTsKKworICBmb3IgKHZhciBncm91cHMgPSB0aGlzLl9ncm91cHMs
IG0gPSBncm91cHMubGVuZ3RoLCBzdWJncm91cHMgPSBuZXcgQXJyYXkobSksIGogPSAwOyBqIDwg
bTsgKytqKSB7CisgICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNbal0sIG4gPSBncm91cC5sZW5n
dGgsIHN1Ymdyb3VwID0gc3ViZ3JvdXBzW2pdID0gbmV3IEFycmF5KG4pLCBub2RlLCBzdWJub2Rl
LCBpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgaWYgKChub2RlID0gZ3JvdXBbaV0pICYmIChz
dWJub2RlID0gc2VsZWN0LmNhbGwobm9kZSwgbm9kZS5fX2RhdGFfXywgaSwgZ3JvdXApKSkgewor
ICAgICAgICBpZiAoIl9fZGF0YV9fIiBpbiBub2RlKSBzdWJub2RlLl9fZGF0YV9fID0gbm9kZS5f
X2RhdGFfXzsKKyAgICAgICAgc3ViZ3JvdXBbaV0gPSBzdWJub2RlOworICAgICAgICBzY2hlZHVs
ZShzdWJncm91cFtpXSwgbmFtZSwgaWQsIGksIHN1Ymdyb3VwLCBnZXQkMShub2RlLCBpZCkpOwor
ICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiBuZXcgVHJhbnNpdGlvbihzdWJncm91cHMs
IHRoaXMuX3BhcmVudHMsIG5hbWUsIGlkKTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl9zZWxl
Y3RBbGwoc2VsZWN0KSB7CisgIHZhciBuYW1lID0gdGhpcy5fbmFtZSwKKyAgICAgIGlkID0gdGhp
cy5faWQ7CisKKyAgaWYgKHR5cGVvZiBzZWxlY3QgIT09ICJmdW5jdGlvbiIpIHNlbGVjdCA9IHNl
bGVjdG9yQWxsKHNlbGVjdCk7CisKKyAgZm9yICh2YXIgZ3JvdXBzID0gdGhpcy5fZ3JvdXBzLCBt
ID0gZ3JvdXBzLmxlbmd0aCwgc3ViZ3JvdXBzID0gW10sIHBhcmVudHMgPSBbXSwgaiA9IDA7IGog
PCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBncm91cCA9IGdyb3Vwc1tqXSwgbiA9IGdyb3VwLmxl
bmd0aCwgbm9kZSwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmIChub2RlID0gZ3JvdXBb
aV0pIHsKKyAgICAgICAgZm9yICh2YXIgY2hpbGRyZW4gPSBzZWxlY3QuY2FsbChub2RlLCBub2Rl
Ll9fZGF0YV9fLCBpLCBncm91cCksIGNoaWxkLCBpbmhlcml0ID0gZ2V0JDEobm9kZSwgaWQpLCBr
ID0gMCwgbCA9IGNoaWxkcmVuLmxlbmd0aDsgayA8IGw7ICsraykgeworICAgICAgICAgIGlmIChj
aGlsZCA9IGNoaWxkcmVuW2tdKSB7CisgICAgICAgICAgICBzY2hlZHVsZShjaGlsZCwgbmFtZSwg
aWQsIGssIGNoaWxkcmVuLCBpbmhlcml0KTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgc3ViZ3JvdXBzLnB1c2goY2hpbGRyZW4pOworICAgICAgICBwYXJlbnRzLnB1c2gobm9kZSk7
CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIG5ldyBUcmFuc2l0aW9uKHN1Ymdyb3Vw
cywgcGFyZW50cywgbmFtZSwgaWQpOworfQorCit2YXIgU2VsZWN0aW9uJDEgPSBzZWxlY3Rpb24u
cHJvdG90eXBlLmNvbnN0cnVjdG9yOworCitmdW5jdGlvbiB0cmFuc2l0aW9uX3NlbGVjdGlvbigp
IHsKKyAgcmV0dXJuIG5ldyBTZWxlY3Rpb24kMSh0aGlzLl9ncm91cHMsIHRoaXMuX3BhcmVudHMp
OworfQorCitmdW5jdGlvbiBzdHlsZU51bGwobmFtZSwgaW50ZXJwb2xhdGUpIHsKKyAgdmFyIHN0
cmluZzAwLAorICAgICAgc3RyaW5nMTAsCisgICAgICBpbnRlcnBvbGF0ZTA7CisgIHJldHVybiBm
dW5jdGlvbigpIHsKKyAgICB2YXIgc3RyaW5nMCA9IHN0eWxlVmFsdWUodGhpcywgbmFtZSksCisg
ICAgICAgIHN0cmluZzEgPSAodGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eShuYW1lKSwgc3R5bGVW
YWx1ZSh0aGlzLCBuYW1lKSk7CisgICAgcmV0dXJuIHN0cmluZzAgPT09IHN0cmluZzEgPyBudWxs
CisgICAgICAgIDogc3RyaW5nMCA9PT0gc3RyaW5nMDAgJiYgc3RyaW5nMSA9PT0gc3RyaW5nMTAg
PyBpbnRlcnBvbGF0ZTAKKyAgICAgICAgOiBpbnRlcnBvbGF0ZTAgPSBpbnRlcnBvbGF0ZShzdHJp
bmcwMCA9IHN0cmluZzAsIHN0cmluZzEwID0gc3RyaW5nMSk7CisgIH07Cit9CisKK2Z1bmN0aW9u
IHN0eWxlUmVtb3ZlJDEobmFtZSkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5z
dHlsZS5yZW1vdmVQcm9wZXJ0eShuYW1lKTsKKyAgfTsKK30KKworZnVuY3Rpb24gc3R5bGVDb25z
dGFudCQxKG5hbWUsIGludGVycG9sYXRlLCB2YWx1ZTEpIHsKKyAgdmFyIHN0cmluZzAwLAorICAg
ICAgc3RyaW5nMSA9IHZhbHVlMSArICIiLAorICAgICAgaW50ZXJwb2xhdGUwOworICByZXR1cm4g
ZnVuY3Rpb24oKSB7CisgICAgdmFyIHN0cmluZzAgPSBzdHlsZVZhbHVlKHRoaXMsIG5hbWUpOwor
ICAgIHJldHVybiBzdHJpbmcwID09PSBzdHJpbmcxID8gbnVsbAorICAgICAgICA6IHN0cmluZzAg
PT09IHN0cmluZzAwID8gaW50ZXJwb2xhdGUwCisgICAgICAgIDogaW50ZXJwb2xhdGUwID0gaW50
ZXJwb2xhdGUoc3RyaW5nMDAgPSBzdHJpbmcwLCB2YWx1ZTEpOworICB9OworfQorCitmdW5jdGlv
biBzdHlsZUZ1bmN0aW9uJDEobmFtZSwgaW50ZXJwb2xhdGUsIHZhbHVlKSB7CisgIHZhciBzdHJp
bmcwMCwKKyAgICAgIHN0cmluZzEwLAorICAgICAgaW50ZXJwb2xhdGUwOworICByZXR1cm4gZnVu
Y3Rpb24oKSB7CisgICAgdmFyIHN0cmluZzAgPSBzdHlsZVZhbHVlKHRoaXMsIG5hbWUpLAorICAg
ICAgICB2YWx1ZTEgPSB2YWx1ZSh0aGlzKSwKKyAgICAgICAgc3RyaW5nMSA9IHZhbHVlMSArICIi
OworICAgIGlmICh2YWx1ZTEgPT0gbnVsbCkgc3RyaW5nMSA9IHZhbHVlMSA9ICh0aGlzLnN0eWxl
LnJlbW92ZVByb3BlcnR5KG5hbWUpLCBzdHlsZVZhbHVlKHRoaXMsIG5hbWUpKTsKKyAgICByZXR1
cm4gc3RyaW5nMCA9PT0gc3RyaW5nMSA/IG51bGwKKyAgICAgICAgOiBzdHJpbmcwID09PSBzdHJp
bmcwMCAmJiBzdHJpbmcxID09PSBzdHJpbmcxMCA/IGludGVycG9sYXRlMAorICAgICAgICA6IChz
dHJpbmcxMCA9IHN0cmluZzEsIGludGVycG9sYXRlMCA9IGludGVycG9sYXRlKHN0cmluZzAwID0g
c3RyaW5nMCwgdmFsdWUxKSk7CisgIH07Cit9CisKK2Z1bmN0aW9uIHN0eWxlTWF5YmVSZW1vdmUo
aWQsIG5hbWUpIHsKKyAgdmFyIG9uMCwgb24xLCBsaXN0ZW5lcjAsIGtleSA9ICJzdHlsZS4iICsg
bmFtZSwgZXZlbnQgPSAiZW5kLiIgKyBrZXksIHJlbW92ZTsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkg
eworICAgIHZhciBzY2hlZHVsZSA9IHNldCQxKHRoaXMsIGlkKSwKKyAgICAgICAgb24gPSBzY2hl
ZHVsZS5vbiwKKyAgICAgICAgbGlzdGVuZXIgPSBzY2hlZHVsZS52YWx1ZVtrZXldID09IG51bGwg
PyByZW1vdmUgfHwgKHJlbW92ZSA9IHN0eWxlUmVtb3ZlJDEobmFtZSkpIDogdW5kZWZpbmVkOwor
CisgICAgLy8gSWYgdGhpcyBub2RlIHNoYXJlZCBhIGRpc3BhdGNoIHdpdGggdGhlIHByZXZpb3Vz
IG5vZGUsCisgICAgLy8ganVzdCBhc3NpZ24gdGhlIHVwZGF0ZWQgc2hhcmVkIGRpc3BhdGNoIGFu
ZCB3ZeKAmXJlIGRvbmUhCisgICAgLy8gT3RoZXJ3aXNlLCBjb3B5LW9uLXdyaXRlLgorICAgIGlm
IChvbiAhPT0gb24wIHx8IGxpc3RlbmVyMCAhPT0gbGlzdGVuZXIpIChvbjEgPSAob24wID0gb24p
LmNvcHkoKSkub24oZXZlbnQsIGxpc3RlbmVyMCA9IGxpc3RlbmVyKTsKKworICAgIHNjaGVkdWxl
Lm9uID0gb24xOworICB9OworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX3N0eWxlKG5hbWUsIHZh
bHVlLCBwcmlvcml0eSkgeworICB2YXIgaSA9IChuYW1lICs9ICIiKSA9PT0gInRyYW5zZm9ybSIg
PyBpbnRlcnBvbGF0ZVRyYW5zZm9ybUNzcyA6IGludGVycG9sYXRlOworICByZXR1cm4gdmFsdWUg
PT0gbnVsbCA/IHRoaXMKKyAgICAgIC5zdHlsZVR3ZWVuKG5hbWUsIHN0eWxlTnVsbChuYW1lLCBp
KSkKKyAgICAgIC5vbigiZW5kLnN0eWxlLiIgKyBuYW1lLCBzdHlsZVJlbW92ZSQxKG5hbWUpKQor
ICAgIDogdHlwZW9mIHZhbHVlID09PSAiZnVuY3Rpb24iID8gdGhpcworICAgICAgLnN0eWxlVHdl
ZW4obmFtZSwgc3R5bGVGdW5jdGlvbiQxKG5hbWUsIGksIHR3ZWVuVmFsdWUodGhpcywgInN0eWxl
LiIgKyBuYW1lLCB2YWx1ZSkpKQorICAgICAgLmVhY2goc3R5bGVNYXliZVJlbW92ZSh0aGlzLl9p
ZCwgbmFtZSkpCisgICAgOiB0aGlzCisgICAgICAuc3R5bGVUd2VlbihuYW1lLCBzdHlsZUNvbnN0
YW50JDEobmFtZSwgaSwgdmFsdWUpLCBwcmlvcml0eSkKKyAgICAgIC5vbigiZW5kLnN0eWxlLiIg
KyBuYW1lLCBudWxsKTsKK30KKworZnVuY3Rpb24gc3R5bGVJbnRlcnBvbGF0ZShuYW1lLCBpLCBw
cmlvcml0eSkgeworICByZXR1cm4gZnVuY3Rpb24odCkgeworICAgIHRoaXMuc3R5bGUuc2V0UHJv
cGVydHkobmFtZSwgaS5jYWxsKHRoaXMsIHQpLCBwcmlvcml0eSk7CisgIH07Cit9CisKK2Z1bmN0
aW9uIHN0eWxlVHdlZW4obmFtZSwgdmFsdWUsIHByaW9yaXR5KSB7CisgIHZhciB0LCBpMDsKKyAg
ZnVuY3Rpb24gdHdlZW4oKSB7CisgICAgdmFyIGkgPSB2YWx1ZS5hcHBseSh0aGlzLCBhcmd1bWVu
dHMpOworICAgIGlmIChpICE9PSBpMCkgdCA9IChpMCA9IGkpICYmIHN0eWxlSW50ZXJwb2xhdGUo
bmFtZSwgaSwgcHJpb3JpdHkpOworICAgIHJldHVybiB0OworICB9CisgIHR3ZWVuLl92YWx1ZSA9
IHZhbHVlOworICByZXR1cm4gdHdlZW47Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fc3R5bGVU
d2VlbihuYW1lLCB2YWx1ZSwgcHJpb3JpdHkpIHsKKyAgdmFyIGtleSA9ICJzdHlsZS4iICsgKG5h
bWUgKz0gIiIpOworICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDIpIHJldHVybiAoa2V5ID0gdGhp
cy50d2VlbihrZXkpKSAmJiBrZXkuX3ZhbHVlOworICBpZiAodmFsdWUgPT0gbnVsbCkgcmV0dXJu
IHRoaXMudHdlZW4oa2V5LCBudWxsKTsKKyAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gImZ1bmN0aW9u
IikgdGhyb3cgbmV3IEVycm9yOworICByZXR1cm4gdGhpcy50d2VlbihrZXksIHN0eWxlVHdlZW4o
bmFtZSwgdmFsdWUsIHByaW9yaXR5ID09IG51bGwgPyAiIiA6IHByaW9yaXR5KSk7Cit9CisKK2Z1
bmN0aW9uIHRleHRDb25zdGFudCQxKHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAg
ICB0aGlzLnRleHRDb250ZW50ID0gdmFsdWU7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRleHRGdW5j
dGlvbiQxKHZhbHVlKSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdmFsdWUxID0g
dmFsdWUodGhpcyk7CisgICAgdGhpcy50ZXh0Q29udGVudCA9IHZhbHVlMSA9PSBudWxsID8gIiIg
OiB2YWx1ZTE7CisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25fdGV4dCh2YWx1ZSkgewor
ICByZXR1cm4gdGhpcy50d2VlbigidGV4dCIsIHR5cGVvZiB2YWx1ZSA9PT0gImZ1bmN0aW9uIgor
ICAgICAgPyB0ZXh0RnVuY3Rpb24kMSh0d2VlblZhbHVlKHRoaXMsICJ0ZXh0IiwgdmFsdWUpKQor
ICAgICAgOiB0ZXh0Q29uc3RhbnQkMSh2YWx1ZSA9PSBudWxsID8gIiIgOiB2YWx1ZSArICIiKSk7
Cit9CisKK2Z1bmN0aW9uIHRleHRJbnRlcnBvbGF0ZShpKSB7CisgIHJldHVybiBmdW5jdGlvbih0
KSB7CisgICAgdGhpcy50ZXh0Q29udGVudCA9IGkuY2FsbCh0aGlzLCB0KTsKKyAgfTsKK30KKwor
ZnVuY3Rpb24gdGV4dFR3ZWVuKHZhbHVlKSB7CisgIHZhciB0MCwgaTA7CisgIGZ1bmN0aW9uIHR3
ZWVuKCkgeworICAgIHZhciBpID0gdmFsdWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICBp
ZiAoaSAhPT0gaTApIHQwID0gKGkwID0gaSkgJiYgdGV4dEludGVycG9sYXRlKGkpOworICAgIHJl
dHVybiB0MDsKKyAgfQorICB0d2Vlbi5fdmFsdWUgPSB2YWx1ZTsKKyAgcmV0dXJuIHR3ZWVuOwor
fQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX3RleHRUd2Vlbih2YWx1ZSkgeworICB2YXIga2V5ID0g
InRleHQiOworICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDEpIHJldHVybiAoa2V5ID0gdGhpcy50
d2VlbihrZXkpKSAmJiBrZXkuX3ZhbHVlOworICBpZiAodmFsdWUgPT0gbnVsbCkgcmV0dXJuIHRo
aXMudHdlZW4oa2V5LCBudWxsKTsKKyAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gImZ1bmN0aW9uIikg
dGhyb3cgbmV3IEVycm9yOworICByZXR1cm4gdGhpcy50d2VlbihrZXksIHRleHRUd2Vlbih2YWx1
ZSkpOworfQorCitmdW5jdGlvbiB0cmFuc2l0aW9uX3RyYW5zaXRpb24oKSB7CisgIHZhciBuYW1l
ID0gdGhpcy5fbmFtZSwKKyAgICAgIGlkMCA9IHRoaXMuX2lkLAorICAgICAgaWQxID0gbmV3SWQo
KTsKKworICBmb3IgKHZhciBncm91cHMgPSB0aGlzLl9ncm91cHMsIG0gPSBncm91cHMubGVuZ3Ro
LCBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAodmFyIGdyb3VwID0gZ3JvdXBzW2pdLCBu
ID0gZ3JvdXAubGVuZ3RoLCBub2RlLCBpID0gMDsgaSA8IG47ICsraSkgeworICAgICAgaWYgKG5v
ZGUgPSBncm91cFtpXSkgeworICAgICAgICB2YXIgaW5oZXJpdCA9IGdldCQxKG5vZGUsIGlkMCk7
CisgICAgICAgIHNjaGVkdWxlKG5vZGUsIG5hbWUsIGlkMSwgaSwgZ3JvdXAsIHsKKyAgICAgICAg
ICB0aW1lOiBpbmhlcml0LnRpbWUgKyBpbmhlcml0LmRlbGF5ICsgaW5oZXJpdC5kdXJhdGlvbiwK
KyAgICAgICAgICBkZWxheTogMCwKKyAgICAgICAgICBkdXJhdGlvbjogaW5oZXJpdC5kdXJhdGlv
biwKKyAgICAgICAgICBlYXNlOiBpbmhlcml0LmVhc2UKKyAgICAgICAgfSk7CisgICAgICB9Cisg
ICAgfQorICB9CisKKyAgcmV0dXJuIG5ldyBUcmFuc2l0aW9uKGdyb3VwcywgdGhpcy5fcGFyZW50
cywgbmFtZSwgaWQxKTsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbl9lbmQoKSB7CisgIHZhciBv
bjAsIG9uMSwgdGhhdCA9IHRoaXMsIGlkID0gdGhhdC5faWQsIHNpemUgPSB0aGF0LnNpemUoKTsK
KyAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgeworICAgIHZh
ciBjYW5jZWwgPSB7dmFsdWU6IHJlamVjdH0sCisgICAgICAgIGVuZCA9IHt2YWx1ZTogZnVuY3Rp
b24oKSB7IGlmICgtLXNpemUgPT09IDApIHJlc29sdmUoKTsgfX07CisKKyAgICB0aGF0LmVhY2go
ZnVuY3Rpb24oKSB7CisgICAgICB2YXIgc2NoZWR1bGUgPSBzZXQkMSh0aGlzLCBpZCksCisgICAg
ICAgICAgb24gPSBzY2hlZHVsZS5vbjsKKworICAgICAgLy8gSWYgdGhpcyBub2RlIHNoYXJlZCBh
IGRpc3BhdGNoIHdpdGggdGhlIHByZXZpb3VzIG5vZGUsCisgICAgICAvLyBqdXN0IGFzc2lnbiB0
aGUgdXBkYXRlZCBzaGFyZWQgZGlzcGF0Y2ggYW5kIHdl4oCZcmUgZG9uZSEKKyAgICAgIC8vIE90
aGVyd2lzZSwgY29weS1vbi13cml0ZS4KKyAgICAgIGlmIChvbiAhPT0gb24wKSB7CisgICAgICAg
IG9uMSA9IChvbjAgPSBvbikuY29weSgpOworICAgICAgICBvbjEuXy5jYW5jZWwucHVzaChjYW5j
ZWwpOworICAgICAgICBvbjEuXy5pbnRlcnJ1cHQucHVzaChjYW5jZWwpOworICAgICAgICBvbjEu
Xy5lbmQucHVzaChlbmQpOworICAgICAgfQorCisgICAgICBzY2hlZHVsZS5vbiA9IG9uMTsKKyAg
ICB9KTsKKyAgfSk7Cit9CisKK3ZhciBpZCA9IDA7CisKK2Z1bmN0aW9uIFRyYW5zaXRpb24oZ3Jv
dXBzLCBwYXJlbnRzLCBuYW1lLCBpZCkgeworICB0aGlzLl9ncm91cHMgPSBncm91cHM7CisgIHRo
aXMuX3BhcmVudHMgPSBwYXJlbnRzOworICB0aGlzLl9uYW1lID0gbmFtZTsKKyAgdGhpcy5faWQg
PSBpZDsKK30KKworZnVuY3Rpb24gdHJhbnNpdGlvbihuYW1lKSB7CisgIHJldHVybiBzZWxlY3Rp
b24oKS50cmFuc2l0aW9uKG5hbWUpOworfQorCitmdW5jdGlvbiBuZXdJZCgpIHsKKyAgcmV0dXJu
ICsraWQ7Cit9CisKK3ZhciBzZWxlY3Rpb25fcHJvdG90eXBlID0gc2VsZWN0aW9uLnByb3RvdHlw
ZTsKKworVHJhbnNpdGlvbi5wcm90b3R5cGUgPSB0cmFuc2l0aW9uLnByb3RvdHlwZSA9IHsKKyAg
Y29uc3RydWN0b3I6IFRyYW5zaXRpb24sCisgIHNlbGVjdDogdHJhbnNpdGlvbl9zZWxlY3QsCisg
IHNlbGVjdEFsbDogdHJhbnNpdGlvbl9zZWxlY3RBbGwsCisgIGZpbHRlcjogdHJhbnNpdGlvbl9m
aWx0ZXIsCisgIG1lcmdlOiB0cmFuc2l0aW9uX21lcmdlLAorICBzZWxlY3Rpb246IHRyYW5zaXRp
b25fc2VsZWN0aW9uLAorICB0cmFuc2l0aW9uOiB0cmFuc2l0aW9uX3RyYW5zaXRpb24sCisgIGNh
bGw6IHNlbGVjdGlvbl9wcm90b3R5cGUuY2FsbCwKKyAgbm9kZXM6IHNlbGVjdGlvbl9wcm90b3R5
cGUubm9kZXMsCisgIG5vZGU6IHNlbGVjdGlvbl9wcm90b3R5cGUubm9kZSwKKyAgc2l6ZTogc2Vs
ZWN0aW9uX3Byb3RvdHlwZS5zaXplLAorICBlbXB0eTogc2VsZWN0aW9uX3Byb3RvdHlwZS5lbXB0
eSwKKyAgZWFjaDogc2VsZWN0aW9uX3Byb3RvdHlwZS5lYWNoLAorICBvbjogdHJhbnNpdGlvbl9v
biwKKyAgYXR0cjogdHJhbnNpdGlvbl9hdHRyLAorICBhdHRyVHdlZW46IHRyYW5zaXRpb25fYXR0
clR3ZWVuLAorICBzdHlsZTogdHJhbnNpdGlvbl9zdHlsZSwKKyAgc3R5bGVUd2VlbjogdHJhbnNp
dGlvbl9zdHlsZVR3ZWVuLAorICB0ZXh0OiB0cmFuc2l0aW9uX3RleHQsCisgIHRleHRUd2Vlbjog
dHJhbnNpdGlvbl90ZXh0VHdlZW4sCisgIHJlbW92ZTogdHJhbnNpdGlvbl9yZW1vdmUsCisgIHR3
ZWVuOiB0cmFuc2l0aW9uX3R3ZWVuLAorICBkZWxheTogdHJhbnNpdGlvbl9kZWxheSwKKyAgZHVy
YXRpb246IHRyYW5zaXRpb25fZHVyYXRpb24sCisgIGVhc2U6IHRyYW5zaXRpb25fZWFzZSwKKyAg
ZW5kOiB0cmFuc2l0aW9uX2VuZAorfTsKKworZnVuY3Rpb24gbGluZWFyJDEodCkgeworICByZXR1
cm4gK3Q7Cit9CisKK2Z1bmN0aW9uIHF1YWRJbih0KSB7CisgIHJldHVybiB0ICogdDsKK30KKwor
ZnVuY3Rpb24gcXVhZE91dCh0KSB7CisgIHJldHVybiB0ICogKDIgLSB0KTsKK30KKworZnVuY3Rp
b24gcXVhZEluT3V0KHQpIHsKKyAgcmV0dXJuICgodCAqPSAyKSA8PSAxID8gdCAqIHQgOiAtLXQg
KiAoMiAtIHQpICsgMSkgLyAyOworfQorCitmdW5jdGlvbiBjdWJpY0luKHQpIHsKKyAgcmV0dXJu
IHQgKiB0ICogdDsKK30KKworZnVuY3Rpb24gY3ViaWNPdXQodCkgeworICByZXR1cm4gLS10ICog
dCAqIHQgKyAxOworfQorCitmdW5jdGlvbiBjdWJpY0luT3V0KHQpIHsKKyAgcmV0dXJuICgodCAq
PSAyKSA8PSAxID8gdCAqIHQgKiB0IDogKHQgLT0gMikgKiB0ICogdCArIDIpIC8gMjsKK30KKwor
dmFyIGV4cG9uZW50ID0gMzsKKwordmFyIHBvbHlJbiA9IChmdW5jdGlvbiBjdXN0b20oZSkgewor
ICBlID0gK2U7CisKKyAgZnVuY3Rpb24gcG9seUluKHQpIHsKKyAgICByZXR1cm4gTWF0aC5wb3co
dCwgZSk7CisgIH0KKworICBwb2x5SW4uZXhwb25lbnQgPSBjdXN0b207CisKKyAgcmV0dXJuIHBv
bHlJbjsKK30pKGV4cG9uZW50KTsKKwordmFyIHBvbHlPdXQgPSAoZnVuY3Rpb24gY3VzdG9tKGUp
IHsKKyAgZSA9ICtlOworCisgIGZ1bmN0aW9uIHBvbHlPdXQodCkgeworICAgIHJldHVybiAxIC0g
TWF0aC5wb3coMSAtIHQsIGUpOworICB9CisKKyAgcG9seU91dC5leHBvbmVudCA9IGN1c3RvbTsK
KworICByZXR1cm4gcG9seU91dDsKK30pKGV4cG9uZW50KTsKKwordmFyIHBvbHlJbk91dCA9IChm
dW5jdGlvbiBjdXN0b20oZSkgeworICBlID0gK2U7CisKKyAgZnVuY3Rpb24gcG9seUluT3V0KHQp
IHsKKyAgICByZXR1cm4gKCh0ICo9IDIpIDw9IDEgPyBNYXRoLnBvdyh0LCBlKSA6IDIgLSBNYXRo
LnBvdygyIC0gdCwgZSkpIC8gMjsKKyAgfQorCisgIHBvbHlJbk91dC5leHBvbmVudCA9IGN1c3Rv
bTsKKworICByZXR1cm4gcG9seUluT3V0OworfSkoZXhwb25lbnQpOworCit2YXIgcGkgPSBNYXRo
LlBJLAorICAgIGhhbGZQaSA9IHBpIC8gMjsKKworZnVuY3Rpb24gc2luSW4odCkgeworICByZXR1
cm4gMSAtIE1hdGguY29zKHQgKiBoYWxmUGkpOworfQorCitmdW5jdGlvbiBzaW5PdXQodCkgewor
ICByZXR1cm4gTWF0aC5zaW4odCAqIGhhbGZQaSk7Cit9CisKK2Z1bmN0aW9uIHNpbkluT3V0KHQp
IHsKKyAgcmV0dXJuICgxIC0gTWF0aC5jb3MocGkgKiB0KSkgLyAyOworfQorCitmdW5jdGlvbiBl
eHBJbih0KSB7CisgIHJldHVybiBNYXRoLnBvdygyLCAxMCAqIHQgLSAxMCk7Cit9CisKK2Z1bmN0
aW9uIGV4cE91dCh0KSB7CisgIHJldHVybiAxIC0gTWF0aC5wb3coMiwgLTEwICogdCk7Cit9CisK
K2Z1bmN0aW9uIGV4cEluT3V0KHQpIHsKKyAgcmV0dXJuICgodCAqPSAyKSA8PSAxID8gTWF0aC5w
b3coMiwgMTAgKiB0IC0gMTApIDogMiAtIE1hdGgucG93KDIsIDEwIC0gMTAgKiB0KSkgLyAyOwor
fQorCitmdW5jdGlvbiBjaXJjbGVJbih0KSB7CisgIHJldHVybiAxIC0gTWF0aC5zcXJ0KDEgLSB0
ICogdCk7Cit9CisKK2Z1bmN0aW9uIGNpcmNsZU91dCh0KSB7CisgIHJldHVybiBNYXRoLnNxcnQo
MSAtIC0tdCAqIHQpOworfQorCitmdW5jdGlvbiBjaXJjbGVJbk91dCh0KSB7CisgIHJldHVybiAo
KHQgKj0gMikgPD0gMSA/IDEgLSBNYXRoLnNxcnQoMSAtIHQgKiB0KSA6IE1hdGguc3FydCgxIC0g
KHQgLT0gMikgKiB0KSArIDEpIC8gMjsKK30KKwordmFyIGIxID0gNCAvIDExLAorICAgIGIyID0g
NiAvIDExLAorICAgIGIzID0gOCAvIDExLAorICAgIGI0ID0gMyAvIDQsCisgICAgYjUgPSA5IC8g
MTEsCisgICAgYjYgPSAxMCAvIDExLAorICAgIGI3ID0gMTUgLyAxNiwKKyAgICBiOCA9IDIxIC8g
MjIsCisgICAgYjkgPSA2MyAvIDY0LAorICAgIGIwID0gMSAvIGIxIC8gYjE7CisKK2Z1bmN0aW9u
IGJvdW5jZUluKHQpIHsKKyAgcmV0dXJuIDEgLSBib3VuY2VPdXQoMSAtIHQpOworfQorCitmdW5j
dGlvbiBib3VuY2VPdXQodCkgeworICByZXR1cm4gKHQgPSArdCkgPCBiMSA/IGIwICogdCAqIHQg
OiB0IDwgYjMgPyBiMCAqICh0IC09IGIyKSAqIHQgKyBiNCA6IHQgPCBiNiA/IGIwICogKHQgLT0g
YjUpICogdCArIGI3IDogYjAgKiAodCAtPSBiOCkgKiB0ICsgYjk7Cit9CisKK2Z1bmN0aW9uIGJv
dW5jZUluT3V0KHQpIHsKKyAgcmV0dXJuICgodCAqPSAyKSA8PSAxID8gMSAtIGJvdW5jZU91dCgx
IC0gdCkgOiBib3VuY2VPdXQodCAtIDEpICsgMSkgLyAyOworfQorCit2YXIgb3ZlcnNob290ID0g
MS43MDE1ODsKKwordmFyIGJhY2tJbiA9IChmdW5jdGlvbiBjdXN0b20ocykgeworICBzID0gK3M7
CisKKyAgZnVuY3Rpb24gYmFja0luKHQpIHsKKyAgICByZXR1cm4gdCAqIHQgKiAoKHMgKyAxKSAq
IHQgLSBzKTsKKyAgfQorCisgIGJhY2tJbi5vdmVyc2hvb3QgPSBjdXN0b207CisKKyAgcmV0dXJu
IGJhY2tJbjsKK30pKG92ZXJzaG9vdCk7CisKK3ZhciBiYWNrT3V0ID0gKGZ1bmN0aW9uIGN1c3Rv
bShzKSB7CisgIHMgPSArczsKKworICBmdW5jdGlvbiBiYWNrT3V0KHQpIHsKKyAgICByZXR1cm4g
LS10ICogdCAqICgocyArIDEpICogdCArIHMpICsgMTsKKyAgfQorCisgIGJhY2tPdXQub3ZlcnNo
b290ID0gY3VzdG9tOworCisgIHJldHVybiBiYWNrT3V0OworfSkob3ZlcnNob290KTsKKwordmFy
IGJhY2tJbk91dCA9IChmdW5jdGlvbiBjdXN0b20ocykgeworICBzID0gK3M7CisKKyAgZnVuY3Rp
b24gYmFja0luT3V0KHQpIHsKKyAgICByZXR1cm4gKCh0ICo9IDIpIDwgMSA/IHQgKiB0ICogKChz
ICsgMSkgKiB0IC0gcykgOiAodCAtPSAyKSAqIHQgKiAoKHMgKyAxKSAqIHQgKyBzKSArIDIpIC8g
MjsKKyAgfQorCisgIGJhY2tJbk91dC5vdmVyc2hvb3QgPSBjdXN0b207CisKKyAgcmV0dXJuIGJh
Y2tJbk91dDsKK30pKG92ZXJzaG9vdCk7CisKK3ZhciB0YXUgPSAyICogTWF0aC5QSSwKKyAgICBh
bXBsaXR1ZGUgPSAxLAorICAgIHBlcmlvZCA9IDAuMzsKKwordmFyIGVsYXN0aWNJbiA9IChmdW5j
dGlvbiBjdXN0b20oYSwgcCkgeworICB2YXIgcyA9IE1hdGguYXNpbigxIC8gKGEgPSBNYXRoLm1h
eCgxLCBhKSkpICogKHAgLz0gdGF1KTsKKworICBmdW5jdGlvbiBlbGFzdGljSW4odCkgeworICAg
IHJldHVybiBhICogTWF0aC5wb3coMiwgMTAgKiAtLXQpICogTWF0aC5zaW4oKHMgLSB0KSAvIHAp
OworICB9CisKKyAgZWxhc3RpY0luLmFtcGxpdHVkZSA9IGZ1bmN0aW9uKGEpIHsgcmV0dXJuIGN1
c3RvbShhLCBwICogdGF1KTsgfTsKKyAgZWxhc3RpY0luLnBlcmlvZCA9IGZ1bmN0aW9uKHApIHsg
cmV0dXJuIGN1c3RvbShhLCBwKTsgfTsKKworICByZXR1cm4gZWxhc3RpY0luOworfSkoYW1wbGl0
dWRlLCBwZXJpb2QpOworCit2YXIgZWxhc3RpY091dCA9IChmdW5jdGlvbiBjdXN0b20oYSwgcCkg
eworICB2YXIgcyA9IE1hdGguYXNpbigxIC8gKGEgPSBNYXRoLm1heCgxLCBhKSkpICogKHAgLz0g
dGF1KTsKKworICBmdW5jdGlvbiBlbGFzdGljT3V0KHQpIHsKKyAgICByZXR1cm4gMSAtIGEgKiBN
YXRoLnBvdygyLCAtMTAgKiAodCA9ICt0KSkgKiBNYXRoLnNpbigodCArIHMpIC8gcCk7CisgIH0K
KworICBlbGFzdGljT3V0LmFtcGxpdHVkZSA9IGZ1bmN0aW9uKGEpIHsgcmV0dXJuIGN1c3RvbShh
LCBwICogdGF1KTsgfTsKKyAgZWxhc3RpY091dC5wZXJpb2QgPSBmdW5jdGlvbihwKSB7IHJldHVy
biBjdXN0b20oYSwgcCk7IH07CisKKyAgcmV0dXJuIGVsYXN0aWNPdXQ7Cit9KShhbXBsaXR1ZGUs
IHBlcmlvZCk7CisKK3ZhciBlbGFzdGljSW5PdXQgPSAoZnVuY3Rpb24gY3VzdG9tKGEsIHApIHsK
KyAgdmFyIHMgPSBNYXRoLmFzaW4oMSAvIChhID0gTWF0aC5tYXgoMSwgYSkpKSAqIChwIC89IHRh
dSk7CisKKyAgZnVuY3Rpb24gZWxhc3RpY0luT3V0KHQpIHsKKyAgICByZXR1cm4gKCh0ID0gdCAq
IDIgLSAxKSA8IDAKKyAgICAgICAgPyBhICogTWF0aC5wb3coMiwgMTAgKiB0KSAqIE1hdGguc2lu
KChzIC0gdCkgLyBwKQorICAgICAgICA6IDIgLSBhICogTWF0aC5wb3coMiwgLTEwICogdCkgKiBN
YXRoLnNpbigocyArIHQpIC8gcCkpIC8gMjsKKyAgfQorCisgIGVsYXN0aWNJbk91dC5hbXBsaXR1
ZGUgPSBmdW5jdGlvbihhKSB7IHJldHVybiBjdXN0b20oYSwgcCAqIHRhdSk7IH07CisgIGVsYXN0
aWNJbk91dC5wZXJpb2QgPSBmdW5jdGlvbihwKSB7IHJldHVybiBjdXN0b20oYSwgcCk7IH07CisK
KyAgcmV0dXJuIGVsYXN0aWNJbk91dDsKK30pKGFtcGxpdHVkZSwgcGVyaW9kKTsKKwordmFyIGRl
ZmF1bHRUaW1pbmcgPSB7CisgIHRpbWU6IG51bGwsIC8vIFNldCBvbiB1c2UuCisgIGRlbGF5OiAw
LAorICBkdXJhdGlvbjogMjUwLAorICBlYXNlOiBjdWJpY0luT3V0Cit9OworCitmdW5jdGlvbiBp
bmhlcml0KG5vZGUsIGlkKSB7CisgIHZhciB0aW1pbmc7CisgIHdoaWxlICghKHRpbWluZyA9IG5v
ZGUuX190cmFuc2l0aW9uKSB8fCAhKHRpbWluZyA9IHRpbWluZ1tpZF0pKSB7CisgICAgaWYgKCEo
bm9kZSA9IG5vZGUucGFyZW50Tm9kZSkpIHsKKyAgICAgIHJldHVybiBkZWZhdWx0VGltaW5nLnRp
bWUgPSBub3coKSwgZGVmYXVsdFRpbWluZzsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHRpbWluZzsK
K30KKworZnVuY3Rpb24gc2VsZWN0aW9uX3RyYW5zaXRpb24obmFtZSkgeworICB2YXIgaWQsCisg
ICAgICB0aW1pbmc7CisKKyAgaWYgKG5hbWUgaW5zdGFuY2VvZiBUcmFuc2l0aW9uKSB7CisgICAg
aWQgPSBuYW1lLl9pZCwgbmFtZSA9IG5hbWUuX25hbWU7CisgIH0gZWxzZSB7CisgICAgaWQgPSBu
ZXdJZCgpLCAodGltaW5nID0gZGVmYXVsdFRpbWluZykudGltZSA9IG5vdygpLCBuYW1lID0gbmFt
ZSA9PSBudWxsID8gbnVsbCA6IG5hbWUgKyAiIjsKKyAgfQorCisgIGZvciAodmFyIGdyb3VwcyA9
IHRoaXMuX2dyb3VwcywgbSA9IGdyb3Vwcy5sZW5ndGgsIGogPSAwOyBqIDwgbTsgKytqKSB7Cisg
ICAgZm9yICh2YXIgZ3JvdXAgPSBncm91cHNbal0sIG4gPSBncm91cC5sZW5ndGgsIG5vZGUsIGkg
PSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBpZiAobm9kZSA9IGdyb3VwW2ldKSB7CisgICAgICAg
IHNjaGVkdWxlKG5vZGUsIG5hbWUsIGlkLCBpLCBncm91cCwgdGltaW5nIHx8IGluaGVyaXQobm9k
ZSwgaWQpKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gbmV3IFRyYW5zaXRpb24o
Z3JvdXBzLCB0aGlzLl9wYXJlbnRzLCBuYW1lLCBpZCk7Cit9CisKK3NlbGVjdGlvbi5wcm90b3R5
cGUuaW50ZXJydXB0ID0gc2VsZWN0aW9uX2ludGVycnVwdDsKK3NlbGVjdGlvbi5wcm90b3R5cGUu
dHJhbnNpdGlvbiA9IHNlbGVjdGlvbl90cmFuc2l0aW9uOworCit2YXIgcm9vdCQxID0gW251bGxd
OworCitmdW5jdGlvbiBhY3RpdmUobm9kZSwgbmFtZSkgeworICB2YXIgc2NoZWR1bGVzID0gbm9k
ZS5fX3RyYW5zaXRpb24sCisgICAgICBzY2hlZHVsZSwKKyAgICAgIGk7CisKKyAgaWYgKHNjaGVk
dWxlcykgeworICAgIG5hbWUgPSBuYW1lID09IG51bGwgPyBudWxsIDogbmFtZSArICIiOworICAg
IGZvciAoaSBpbiBzY2hlZHVsZXMpIHsKKyAgICAgIGlmICgoc2NoZWR1bGUgPSBzY2hlZHVsZXNb
aV0pLnN0YXRlID4gU0NIRURVTEVEICYmIHNjaGVkdWxlLm5hbWUgPT09IG5hbWUpIHsKKyAgICAg
ICAgcmV0dXJuIG5ldyBUcmFuc2l0aW9uKFtbbm9kZV1dLCByb290JDEsIG5hbWUsICtpKTsKKyAg
ICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gbnVsbDsKK30KKworZnVuY3Rpb24gY29uc3Rh
bnQkNCh4KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30K
KworZnVuY3Rpb24gQnJ1c2hFdmVudCh0YXJnZXQsIHR5cGUsIHNlbGVjdGlvbikgeworICB0aGlz
LnRhcmdldCA9IHRhcmdldDsKKyAgdGhpcy50eXBlID0gdHlwZTsKKyAgdGhpcy5zZWxlY3Rpb24g
PSBzZWxlY3Rpb247Cit9CisKK2Z1bmN0aW9uIG5vcHJvcGFnYXRpb24kMSgpIHsKKyAgZXhwb3J0
cy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsKK30KKworZnVuY3Rpb24gbm9ldmVu
dCQxKCkgeworICBleHBvcnRzLmV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisgIGV4cG9ydHMuZXZl
bnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7Cit9CisKK3ZhciBNT0RFX0RSQUcgPSB7bmFt
ZTogImRyYWcifSwKKyAgICBNT0RFX1NQQUNFID0ge25hbWU6ICJzcGFjZSJ9LAorICAgIE1PREVf
SEFORExFID0ge25hbWU6ICJoYW5kbGUifSwKKyAgICBNT0RFX0NFTlRFUiA9IHtuYW1lOiAiY2Vu
dGVyIn07CisKK2Z1bmN0aW9uIG51bWJlcjEoZSkgeworICByZXR1cm4gWytlWzBdLCArZVsxXV07
Cit9CisKK2Z1bmN0aW9uIG51bWJlcjIoZSkgeworICByZXR1cm4gW251bWJlcjEoZVswXSksIG51
bWJlcjEoZVsxXSldOworfQorCitmdW5jdGlvbiB0b3VjaGVyKGlkZW50aWZpZXIpIHsKKyAgcmV0
dXJuIGZ1bmN0aW9uKHRhcmdldCkgeworICAgIHJldHVybiB0b3VjaCh0YXJnZXQsIGV4cG9ydHMu
ZXZlbnQudG91Y2hlcywgaWRlbnRpZmllcik7CisgIH07Cit9CisKK3ZhciBYID0geworICBuYW1l
OiAieCIsCisgIGhhbmRsZXM6IFsidyIsICJlIl0ubWFwKHR5cGUpLAorICBpbnB1dDogZnVuY3Rp
b24oeCwgZSkgeyByZXR1cm4geCA9PSBudWxsID8gbnVsbCA6IFtbK3hbMF0sIGVbMF1bMV1dLCBb
K3hbMV0sIGVbMV1bMV1dXTsgfSwKKyAgb3V0cHV0OiBmdW5jdGlvbih4eSkgeyByZXR1cm4geHkg
JiYgW3h5WzBdWzBdLCB4eVsxXVswXV07IH0KK307CisKK3ZhciBZID0geworICBuYW1lOiAieSIs
CisgIGhhbmRsZXM6IFsibiIsICJzIl0ubWFwKHR5cGUpLAorICBpbnB1dDogZnVuY3Rpb24oeSwg
ZSkgeyByZXR1cm4geSA9PSBudWxsID8gbnVsbCA6IFtbZVswXVswXSwgK3lbMF1dLCBbZVsxXVsw
XSwgK3lbMV1dXTsgfSwKKyAgb3V0cHV0OiBmdW5jdGlvbih4eSkgeyByZXR1cm4geHkgJiYgW3h5
WzBdWzFdLCB4eVsxXVsxXV07IH0KK307CisKK3ZhciBYWSA9IHsKKyAgbmFtZTogInh5IiwKKyAg
aGFuZGxlczogWyJuIiwgInciLCAiZSIsICJzIiwgIm53IiwgIm5lIiwgInN3IiwgInNlIl0ubWFw
KHR5cGUpLAorICBpbnB1dDogZnVuY3Rpb24oeHkpIHsgcmV0dXJuIHh5ID09IG51bGwgPyBudWxs
IDogbnVtYmVyMih4eSk7IH0sCisgIG91dHB1dDogZnVuY3Rpb24oeHkpIHsgcmV0dXJuIHh5OyB9
Cit9OworCit2YXIgY3Vyc29ycyA9IHsKKyAgb3ZlcmxheTogImNyb3NzaGFpciIsCisgIHNlbGVj
dGlvbjogIm1vdmUiLAorICBuOiAibnMtcmVzaXplIiwKKyAgZTogImV3LXJlc2l6ZSIsCisgIHM6
ICJucy1yZXNpemUiLAorICB3OiAiZXctcmVzaXplIiwKKyAgbnc6ICJud3NlLXJlc2l6ZSIsCisg
IG5lOiAibmVzdy1yZXNpemUiLAorICBzZTogIm53c2UtcmVzaXplIiwKKyAgc3c6ICJuZXN3LXJl
c2l6ZSIKK307CisKK3ZhciBmbGlwWCA9IHsKKyAgZTogInciLAorICB3OiAiZSIsCisgIG53OiAi
bmUiLAorICBuZTogIm53IiwKKyAgc2U6ICJzdyIsCisgIHN3OiAic2UiCit9OworCit2YXIgZmxp
cFkgPSB7CisgIG46ICJzIiwKKyAgczogIm4iLAorICBudzogInN3IiwKKyAgbmU6ICJzZSIsCisg
IHNlOiAibmUiLAorICBzdzogIm53IgorfTsKKwordmFyIHNpZ25zWCA9IHsKKyAgb3ZlcmxheTog
KzEsCisgIHNlbGVjdGlvbjogKzEsCisgIG46IG51bGwsCisgIGU6ICsxLAorICBzOiBudWxsLAor
ICB3OiAtMSwKKyAgbnc6IC0xLAorICBuZTogKzEsCisgIHNlOiArMSwKKyAgc3c6IC0xCit9Owor
Cit2YXIgc2lnbnNZID0geworICBvdmVybGF5OiArMSwKKyAgc2VsZWN0aW9uOiArMSwKKyAgbjog
LTEsCisgIGU6IG51bGwsCisgIHM6ICsxLAorICB3OiBudWxsLAorICBudzogLTEsCisgIG5lOiAt
MSwKKyAgc2U6ICsxLAorICBzdzogKzEKK307CisKK2Z1bmN0aW9uIHR5cGUodCkgeworICByZXR1
cm4ge3R5cGU6IHR9OworfQorCisvLyBJZ25vcmUgcmlnaHQtY2xpY2ssIHNpbmNlIHRoYXQgc2hv
dWxkIG9wZW4gdGhlIGNvbnRleHQgbWVudS4KK2Z1bmN0aW9uIGRlZmF1bHRGaWx0ZXIkMSgpIHsK
KyAgcmV0dXJuICFleHBvcnRzLmV2ZW50LmN0cmxLZXkgJiYgIWV4cG9ydHMuZXZlbnQuYnV0dG9u
OworfQorCitmdW5jdGlvbiBkZWZhdWx0RXh0ZW50KCkgeworICB2YXIgc3ZnID0gdGhpcy5vd25l
clNWR0VsZW1lbnQgfHwgdGhpczsKKyAgaWYgKHN2Zy5oYXNBdHRyaWJ1dGUoInZpZXdCb3giKSkg
eworICAgIHN2ZyA9IHN2Zy52aWV3Qm94LmJhc2VWYWw7CisgICAgcmV0dXJuIFtbc3ZnLngsIHN2
Zy55XSwgW3N2Zy54ICsgc3ZnLndpZHRoLCBzdmcueSArIHN2Zy5oZWlnaHRdXTsKKyAgfQorICBy
ZXR1cm4gW1swLCAwXSwgW3N2Zy53aWR0aC5iYXNlVmFsLnZhbHVlLCBzdmcuaGVpZ2h0LmJhc2VW
YWwudmFsdWVdXTsKK30KKworZnVuY3Rpb24gZGVmYXVsdFRvdWNoYWJsZSQxKCkgeworICByZXR1
cm4gbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzIHx8ICgib250b3VjaHN0YXJ0IiBpbiB0aGlzKTsK
K30KKworLy8gTGlrZSBkMy5sb2NhbCwgYnV0IHdpdGggdGhlIG5hbWUg4oCcX19icnVzaOKAnSBy
YXRoZXIgdGhhbiBhdXRvLWdlbmVyYXRlZC4KK2Z1bmN0aW9uIGxvY2FsJDEobm9kZSkgeworICB3
aGlsZSAoIW5vZGUuX19icnVzaCkgaWYgKCEobm9kZSA9IG5vZGUucGFyZW50Tm9kZSkpIHJldHVy
bjsKKyAgcmV0dXJuIG5vZGUuX19icnVzaDsKK30KKworZnVuY3Rpb24gZW1wdHkkMShleHRlbnQp
IHsKKyAgcmV0dXJuIGV4dGVudFswXVswXSA9PT0gZXh0ZW50WzFdWzBdCisgICAgICB8fCBleHRl
bnRbMF1bMV0gPT09IGV4dGVudFsxXVsxXTsKK30KKworZnVuY3Rpb24gYnJ1c2hTZWxlY3Rpb24o
bm9kZSkgeworICB2YXIgc3RhdGUgPSBub2RlLl9fYnJ1c2g7CisgIHJldHVybiBzdGF0ZSA/IHN0
YXRlLmRpbS5vdXRwdXQoc3RhdGUuc2VsZWN0aW9uKSA6IG51bGw7Cit9CisKK2Z1bmN0aW9uIGJy
dXNoWCgpIHsKKyAgcmV0dXJuIGJydXNoJDEoWCk7Cit9CisKK2Z1bmN0aW9uIGJydXNoWSgpIHsK
KyAgcmV0dXJuIGJydXNoJDEoWSk7Cit9CisKK2Z1bmN0aW9uIGJydXNoKCkgeworICByZXR1cm4g
YnJ1c2gkMShYWSk7Cit9CisKK2Z1bmN0aW9uIGJydXNoJDEoZGltKSB7CisgIHZhciBleHRlbnQg
PSBkZWZhdWx0RXh0ZW50LAorICAgICAgZmlsdGVyID0gZGVmYXVsdEZpbHRlciQxLAorICAgICAg
dG91Y2hhYmxlID0gZGVmYXVsdFRvdWNoYWJsZSQxLAorICAgICAga2V5cyA9IHRydWUsCisgICAg
ICBsaXN0ZW5lcnMgPSBkaXNwYXRjaCgic3RhcnQiLCAiYnJ1c2giLCAiZW5kIiksCisgICAgICBo
YW5kbGVTaXplID0gNiwKKyAgICAgIHRvdWNoZW5kaW5nOworCisgIGZ1bmN0aW9uIGJydXNoKGdy
b3VwKSB7CisgICAgdmFyIG92ZXJsYXkgPSBncm91cAorICAgICAgICAucHJvcGVydHkoIl9fYnJ1
c2giLCBpbml0aWFsaXplKQorICAgICAgLnNlbGVjdEFsbCgiLm92ZXJsYXkiKQorICAgICAgLmRh
dGEoW3R5cGUoIm92ZXJsYXkiKV0pOworCisgICAgb3ZlcmxheS5lbnRlcigpLmFwcGVuZCgicmVj
dCIpCisgICAgICAgIC5hdHRyKCJjbGFzcyIsICJvdmVybGF5IikKKyAgICAgICAgLmF0dHIoInBv
aW50ZXItZXZlbnRzIiwgImFsbCIpCisgICAgICAgIC5hdHRyKCJjdXJzb3IiLCBjdXJzb3JzLm92
ZXJsYXkpCisgICAgICAubWVyZ2Uob3ZlcmxheSkKKyAgICAgICAgLmVhY2goZnVuY3Rpb24oKSB7
CisgICAgICAgICAgdmFyIGV4dGVudCA9IGxvY2FsJDEodGhpcykuZXh0ZW50OworICAgICAgICAg
IHNlbGVjdCh0aGlzKQorICAgICAgICAgICAgICAuYXR0cigieCIsIGV4dGVudFswXVswXSkKKyAg
ICAgICAgICAgICAgLmF0dHIoInkiLCBleHRlbnRbMF1bMV0pCisgICAgICAgICAgICAgIC5hdHRy
KCJ3aWR0aCIsIGV4dGVudFsxXVswXSAtIGV4dGVudFswXVswXSkKKyAgICAgICAgICAgICAgLmF0
dHIoImhlaWdodCIsIGV4dGVudFsxXVsxXSAtIGV4dGVudFswXVsxXSk7CisgICAgICAgIH0pOwor
CisgICAgZ3JvdXAuc2VsZWN0QWxsKCIuc2VsZWN0aW9uIikKKyAgICAgIC5kYXRhKFt0eXBlKCJz
ZWxlY3Rpb24iKV0pCisgICAgICAuZW50ZXIoKS5hcHBlbmQoInJlY3QiKQorICAgICAgICAuYXR0
cigiY2xhc3MiLCAic2VsZWN0aW9uIikKKyAgICAgICAgLmF0dHIoImN1cnNvciIsIGN1cnNvcnMu
c2VsZWN0aW9uKQorICAgICAgICAuYXR0cigiZmlsbCIsICIjNzc3IikKKyAgICAgICAgLmF0dHIo
ImZpbGwtb3BhY2l0eSIsIDAuMykKKyAgICAgICAgLmF0dHIoInN0cm9rZSIsICIjZmZmIikKKyAg
ICAgICAgLmF0dHIoInNoYXBlLXJlbmRlcmluZyIsICJjcmlzcEVkZ2VzIik7CisKKyAgICB2YXIg
aGFuZGxlID0gZ3JvdXAuc2VsZWN0QWxsKCIuaGFuZGxlIikKKyAgICAgIC5kYXRhKGRpbS5oYW5k
bGVzLCBmdW5jdGlvbihkKSB7IHJldHVybiBkLnR5cGU7IH0pOworCisgICAgaGFuZGxlLmV4aXQo
KS5yZW1vdmUoKTsKKworICAgIGhhbmRsZS5lbnRlcigpLmFwcGVuZCgicmVjdCIpCisgICAgICAg
IC5hdHRyKCJjbGFzcyIsIGZ1bmN0aW9uKGQpIHsgcmV0dXJuICJoYW5kbGUgaGFuZGxlLS0iICsg
ZC50eXBlOyB9KQorICAgICAgICAuYXR0cigiY3Vyc29yIiwgZnVuY3Rpb24oZCkgeyByZXR1cm4g
Y3Vyc29yc1tkLnR5cGVdOyB9KTsKKworICAgIGdyb3VwCisgICAgICAgIC5lYWNoKHJlZHJhdykK
KyAgICAgICAgLmF0dHIoImZpbGwiLCAibm9uZSIpCisgICAgICAgIC5hdHRyKCJwb2ludGVyLWV2
ZW50cyIsICJhbGwiKQorICAgICAgICAub24oIm1vdXNlZG93bi5icnVzaCIsIHN0YXJ0ZWQpCisg
ICAgICAuZmlsdGVyKHRvdWNoYWJsZSkKKyAgICAgICAgLm9uKCJ0b3VjaHN0YXJ0LmJydXNoIiwg
c3RhcnRlZCkKKyAgICAgICAgLm9uKCJ0b3VjaG1vdmUuYnJ1c2giLCB0b3VjaG1vdmVkKQorICAg
ICAgICAub24oInRvdWNoZW5kLmJydXNoIHRvdWNoY2FuY2VsLmJydXNoIiwgdG91Y2hlbmRlZCkK
KyAgICAgICAgLnN0eWxlKCJ0b3VjaC1hY3Rpb24iLCAibm9uZSIpCisgICAgICAgIC5zdHlsZSgi
LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIiwgInJnYmEoMCwwLDAsMCkiKTsKKyAgfQorCisg
IGJydXNoLm1vdmUgPSBmdW5jdGlvbihncm91cCwgc2VsZWN0aW9uKSB7CisgICAgaWYgKGdyb3Vw
LnNlbGVjdGlvbikgeworICAgICAgZ3JvdXAKKyAgICAgICAgICAub24oInN0YXJ0LmJydXNoIiwg
ZnVuY3Rpb24oKSB7IGVtaXR0ZXIodGhpcywgYXJndW1lbnRzKS5iZWZvcmVzdGFydCgpLnN0YXJ0
KCk7IH0pCisgICAgICAgICAgLm9uKCJpbnRlcnJ1cHQuYnJ1c2ggZW5kLmJydXNoIiwgZnVuY3Rp
b24oKSB7IGVtaXR0ZXIodGhpcywgYXJndW1lbnRzKS5lbmQoKTsgfSkKKyAgICAgICAgICAudHdl
ZW4oImJydXNoIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCisg
ICAgICAgICAgICAgICAgc3RhdGUgPSB0aGF0Ll9fYnJ1c2gsCisgICAgICAgICAgICAgICAgZW1p
dCA9IGVtaXR0ZXIodGhhdCwgYXJndW1lbnRzKSwKKyAgICAgICAgICAgICAgICBzZWxlY3Rpb24w
ID0gc3RhdGUuc2VsZWN0aW9uLAorICAgICAgICAgICAgICAgIHNlbGVjdGlvbjEgPSBkaW0uaW5w
dXQodHlwZW9mIHNlbGVjdGlvbiA9PT0gImZ1bmN0aW9uIiA/IHNlbGVjdGlvbi5hcHBseSh0aGlz
LCBhcmd1bWVudHMpIDogc2VsZWN0aW9uLCBzdGF0ZS5leHRlbnQpLAorICAgICAgICAgICAgICAg
IGkgPSBpbnRlcnBvbGF0ZVZhbHVlKHNlbGVjdGlvbjAsIHNlbGVjdGlvbjEpOworCisgICAgICAg
ICAgICBmdW5jdGlvbiB0d2Vlbih0KSB7CisgICAgICAgICAgICAgIHN0YXRlLnNlbGVjdGlvbiA9
IHQgPT09IDEgJiYgc2VsZWN0aW9uMSA9PT0gbnVsbCA/IG51bGwgOiBpKHQpOworICAgICAgICAg
ICAgICByZWRyYXcuY2FsbCh0aGF0KTsKKyAgICAgICAgICAgICAgZW1pdC5icnVzaCgpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICByZXR1cm4gc2VsZWN0aW9uMCAhPT0gbnVsbCAmJiBz
ZWxlY3Rpb24xICE9PSBudWxsID8gdHdlZW4gOiB0d2VlbigxKTsKKyAgICAgICAgICB9KTsKKyAg
ICB9IGVsc2UgeworICAgICAgZ3JvdXAKKyAgICAgICAgICAuZWFjaChmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgIHZhciB0aGF0ID0gdGhpcywKKyAgICAgICAgICAgICAgICBhcmdzID0gYXJndW1l
bnRzLAorICAgICAgICAgICAgICAgIHN0YXRlID0gdGhhdC5fX2JydXNoLAorICAgICAgICAgICAg
ICAgIHNlbGVjdGlvbjEgPSBkaW0uaW5wdXQodHlwZW9mIHNlbGVjdGlvbiA9PT0gImZ1bmN0aW9u
IiA/IHNlbGVjdGlvbi5hcHBseSh0aGF0LCBhcmdzKSA6IHNlbGVjdGlvbiwgc3RhdGUuZXh0ZW50
KSwKKyAgICAgICAgICAgICAgICBlbWl0ID0gZW1pdHRlcih0aGF0LCBhcmdzKS5iZWZvcmVzdGFy
dCgpOworCisgICAgICAgICAgICBpbnRlcnJ1cHQodGhhdCk7CisgICAgICAgICAgICBzdGF0ZS5z
ZWxlY3Rpb24gPSBzZWxlY3Rpb24xID09PSBudWxsID8gbnVsbCA6IHNlbGVjdGlvbjE7CisgICAg
ICAgICAgICByZWRyYXcuY2FsbCh0aGF0KTsKKyAgICAgICAgICAgIGVtaXQuc3RhcnQoKS5icnVz
aCgpLmVuZCgpOworICAgICAgICAgIH0pOworICAgIH0KKyAgfTsKKworICBicnVzaC5jbGVhciA9
IGZ1bmN0aW9uKGdyb3VwKSB7CisgICAgYnJ1c2gubW92ZShncm91cCwgbnVsbCk7CisgIH07CisK
KyAgZnVuY3Rpb24gcmVkcmF3KCkgeworICAgIHZhciBncm91cCA9IHNlbGVjdCh0aGlzKSwKKyAg
ICAgICAgc2VsZWN0aW9uID0gbG9jYWwkMSh0aGlzKS5zZWxlY3Rpb247CisKKyAgICBpZiAoc2Vs
ZWN0aW9uKSB7CisgICAgICBncm91cC5zZWxlY3RBbGwoIi5zZWxlY3Rpb24iKQorICAgICAgICAg
IC5zdHlsZSgiZGlzcGxheSIsIG51bGwpCisgICAgICAgICAgLmF0dHIoIngiLCBzZWxlY3Rpb25b
MF1bMF0pCisgICAgICAgICAgLmF0dHIoInkiLCBzZWxlY3Rpb25bMF1bMV0pCisgICAgICAgICAg
LmF0dHIoIndpZHRoIiwgc2VsZWN0aW9uWzFdWzBdIC0gc2VsZWN0aW9uWzBdWzBdKQorICAgICAg
ICAgIC5hdHRyKCJoZWlnaHQiLCBzZWxlY3Rpb25bMV1bMV0gLSBzZWxlY3Rpb25bMF1bMV0pOwor
CisgICAgICBncm91cC5zZWxlY3RBbGwoIi5oYW5kbGUiKQorICAgICAgICAgIC5zdHlsZSgiZGlz
cGxheSIsIG51bGwpCisgICAgICAgICAgLmF0dHIoIngiLCBmdW5jdGlvbihkKSB7IHJldHVybiBk
LnR5cGVbZC50eXBlLmxlbmd0aCAtIDFdID09PSAiZSIgPyBzZWxlY3Rpb25bMV1bMF0gLSBoYW5k
bGVTaXplIC8gMiA6IHNlbGVjdGlvblswXVswXSAtIGhhbmRsZVNpemUgLyAyOyB9KQorICAgICAg
ICAgIC5hdHRyKCJ5IiwgZnVuY3Rpb24oZCkgeyByZXR1cm4gZC50eXBlWzBdID09PSAicyIgPyBz
ZWxlY3Rpb25bMV1bMV0gLSBoYW5kbGVTaXplIC8gMiA6IHNlbGVjdGlvblswXVsxXSAtIGhhbmRs
ZVNpemUgLyAyOyB9KQorICAgICAgICAgIC5hdHRyKCJ3aWR0aCIsIGZ1bmN0aW9uKGQpIHsgcmV0
dXJuIGQudHlwZSA9PT0gIm4iIHx8IGQudHlwZSA9PT0gInMiID8gc2VsZWN0aW9uWzFdWzBdIC0g
c2VsZWN0aW9uWzBdWzBdICsgaGFuZGxlU2l6ZSA6IGhhbmRsZVNpemU7IH0pCisgICAgICAgICAg
LmF0dHIoImhlaWdodCIsIGZ1bmN0aW9uKGQpIHsgcmV0dXJuIGQudHlwZSA9PT0gImUiIHx8IGQu
dHlwZSA9PT0gInciID8gc2VsZWN0aW9uWzFdWzFdIC0gc2VsZWN0aW9uWzBdWzFdICsgaGFuZGxl
U2l6ZSA6IGhhbmRsZVNpemU7IH0pOworICAgIH0KKworICAgIGVsc2UgeworICAgICAgZ3JvdXAu
c2VsZWN0QWxsKCIuc2VsZWN0aW9uLC5oYW5kbGUiKQorICAgICAgICAgIC5zdHlsZSgiZGlzcGxh
eSIsICJub25lIikKKyAgICAgICAgICAuYXR0cigieCIsIG51bGwpCisgICAgICAgICAgLmF0dHIo
InkiLCBudWxsKQorICAgICAgICAgIC5hdHRyKCJ3aWR0aCIsIG51bGwpCisgICAgICAgICAgLmF0
dHIoImhlaWdodCIsIG51bGwpOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGVtaXR0ZXIodGhh
dCwgYXJncywgY2xlYW4pIHsKKyAgICByZXR1cm4gKCFjbGVhbiAmJiB0aGF0Ll9fYnJ1c2guZW1p
dHRlcikgfHwgbmV3IEVtaXR0ZXIodGhhdCwgYXJncyk7CisgIH0KKworICBmdW5jdGlvbiBFbWl0
dGVyKHRoYXQsIGFyZ3MpIHsKKyAgICB0aGlzLnRoYXQgPSB0aGF0OworICAgIHRoaXMuYXJncyA9
IGFyZ3M7CisgICAgdGhpcy5zdGF0ZSA9IHRoYXQuX19icnVzaDsKKyAgICB0aGlzLmFjdGl2ZSA9
IDA7CisgIH0KKworICBFbWl0dGVyLnByb3RvdHlwZSA9IHsKKyAgICBiZWZvcmVzdGFydDogZnVu
Y3Rpb24oKSB7CisgICAgICBpZiAoKyt0aGlzLmFjdGl2ZSA9PT0gMSkgdGhpcy5zdGF0ZS5lbWl0
dGVyID0gdGhpcywgdGhpcy5zdGFydGluZyA9IHRydWU7CisgICAgICByZXR1cm4gdGhpczsKKyAg
ICB9LAorICAgIHN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICAgIGlmICh0aGlzLnN0YXJ0aW5nKSB0
aGlzLnN0YXJ0aW5nID0gZmFsc2UsIHRoaXMuZW1pdCgic3RhcnQiKTsKKyAgICAgIGVsc2UgdGhp
cy5lbWl0KCJicnVzaCIpOworICAgICAgcmV0dXJuIHRoaXM7CisgICAgfSwKKyAgICBicnVzaDog
ZnVuY3Rpb24oKSB7CisgICAgICB0aGlzLmVtaXQoImJydXNoIik7CisgICAgICByZXR1cm4gdGhp
czsKKyAgICB9LAorICAgIGVuZDogZnVuY3Rpb24oKSB7CisgICAgICBpZiAoLS10aGlzLmFjdGl2
ZSA9PT0gMCkgZGVsZXRlIHRoaXMuc3RhdGUuZW1pdHRlciwgdGhpcy5lbWl0KCJlbmQiKTsKKyAg
ICAgIHJldHVybiB0aGlzOworICAgIH0sCisgICAgZW1pdDogZnVuY3Rpb24odHlwZSkgeworICAg
ICAgY3VzdG9tRXZlbnQobmV3IEJydXNoRXZlbnQoYnJ1c2gsIHR5cGUsIGRpbS5vdXRwdXQodGhp
cy5zdGF0ZS5zZWxlY3Rpb24pKSwgbGlzdGVuZXJzLmFwcGx5LCBsaXN0ZW5lcnMsIFt0eXBlLCB0
aGlzLnRoYXQsIHRoaXMuYXJnc10pOworICAgIH0KKyAgfTsKKworICBmdW5jdGlvbiBzdGFydGVk
KCkgeworICAgIGlmICh0b3VjaGVuZGluZyAmJiAhZXhwb3J0cy5ldmVudC50b3VjaGVzKSByZXR1
cm47CisgICAgaWYgKCFmaWx0ZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSkgcmV0dXJuOworCisg
ICAgdmFyIHRoYXQgPSB0aGlzLAorICAgICAgICB0eXBlID0gZXhwb3J0cy5ldmVudC50YXJnZXQu
X19kYXRhX18udHlwZSwKKyAgICAgICAgbW9kZSA9IChrZXlzICYmIGV4cG9ydHMuZXZlbnQubWV0
YUtleSA/IHR5cGUgPSAib3ZlcmxheSIgOiB0eXBlKSA9PT0gInNlbGVjdGlvbiIgPyBNT0RFX0RS
QUcgOiAoa2V5cyAmJiBleHBvcnRzLmV2ZW50LmFsdEtleSA/IE1PREVfQ0VOVEVSIDogTU9ERV9I
QU5ETEUpLAorICAgICAgICBzaWduWCA9IGRpbSA9PT0gWSA/IG51bGwgOiBzaWduc1hbdHlwZV0s
CisgICAgICAgIHNpZ25ZID0gZGltID09PSBYID8gbnVsbCA6IHNpZ25zWVt0eXBlXSwKKyAgICAg
ICAgc3RhdGUgPSBsb2NhbCQxKHRoYXQpLAorICAgICAgICBleHRlbnQgPSBzdGF0ZS5leHRlbnQs
CisgICAgICAgIHNlbGVjdGlvbiA9IHN0YXRlLnNlbGVjdGlvbiwKKyAgICAgICAgVyA9IGV4dGVu
dFswXVswXSwgdzAsIHcxLAorICAgICAgICBOID0gZXh0ZW50WzBdWzFdLCBuMCwgbjEsCisgICAg
ICAgIEUgPSBleHRlbnRbMV1bMF0sIGUwLCBlMSwKKyAgICAgICAgUyA9IGV4dGVudFsxXVsxXSwg
czAsIHMxLAorICAgICAgICBkeCA9IDAsCisgICAgICAgIGR5ID0gMCwKKyAgICAgICAgbW92aW5n
LAorICAgICAgICBzaGlmdGluZyA9IHNpZ25YICYmIHNpZ25ZICYmIGtleXMgJiYgZXhwb3J0cy5l
dmVudC5zaGlmdEtleSwKKyAgICAgICAgbG9ja1gsCisgICAgICAgIGxvY2tZLAorICAgICAgICBw
b2ludGVyID0gZXhwb3J0cy5ldmVudC50b3VjaGVzID8gdG91Y2hlcihleHBvcnRzLmV2ZW50LmNo
YW5nZWRUb3VjaGVzWzBdLmlkZW50aWZpZXIpIDogbW91c2UsCisgICAgICAgIHBvaW50MCA9IHBv
aW50ZXIodGhhdCksCisgICAgICAgIHBvaW50ID0gcG9pbnQwLAorICAgICAgICBlbWl0ID0gZW1p
dHRlcih0aGF0LCBhcmd1bWVudHMsIHRydWUpLmJlZm9yZXN0YXJ0KCk7CisKKyAgICBpZiAodHlw
ZSA9PT0gIm92ZXJsYXkiKSB7CisgICAgICBpZiAoc2VsZWN0aW9uKSBtb3ZpbmcgPSB0cnVlOwor
ICAgICAgc3RhdGUuc2VsZWN0aW9uID0gc2VsZWN0aW9uID0gWworICAgICAgICBbdzAgPSBkaW0g
PT09IFkgPyBXIDogcG9pbnQwWzBdLCBuMCA9IGRpbSA9PT0gWCA/IE4gOiBwb2ludDBbMV1dLAor
ICAgICAgICBbZTAgPSBkaW0gPT09IFkgPyBFIDogdzAsIHMwID0gZGltID09PSBYID8gUyA6IG4w
XQorICAgICAgXTsKKyAgICB9IGVsc2UgeworICAgICAgdzAgPSBzZWxlY3Rpb25bMF1bMF07Cisg
ICAgICBuMCA9IHNlbGVjdGlvblswXVsxXTsKKyAgICAgIGUwID0gc2VsZWN0aW9uWzFdWzBdOwor
ICAgICAgczAgPSBzZWxlY3Rpb25bMV1bMV07CisgICAgfQorCisgICAgdzEgPSB3MDsKKyAgICBu
MSA9IG4wOworICAgIGUxID0gZTA7CisgICAgczEgPSBzMDsKKworICAgIHZhciBncm91cCA9IHNl
bGVjdCh0aGF0KQorICAgICAgICAuYXR0cigicG9pbnRlci1ldmVudHMiLCAibm9uZSIpOworCisg
ICAgdmFyIG92ZXJsYXkgPSBncm91cC5zZWxlY3RBbGwoIi5vdmVybGF5IikKKyAgICAgICAgLmF0
dHIoImN1cnNvciIsIGN1cnNvcnNbdHlwZV0pOworCisgICAgaWYgKGV4cG9ydHMuZXZlbnQudG91
Y2hlcykgeworICAgICAgZW1pdC5tb3ZlZCA9IG1vdmVkOworICAgICAgZW1pdC5lbmRlZCA9IGVu
ZGVkOworICAgIH0gZWxzZSB7CisgICAgICB2YXIgdmlldyA9IHNlbGVjdChleHBvcnRzLmV2ZW50
LnZpZXcpCisgICAgICAgICAgLm9uKCJtb3VzZW1vdmUuYnJ1c2giLCBtb3ZlZCwgdHJ1ZSkKKyAg
ICAgICAgICAub24oIm1vdXNldXAuYnJ1c2giLCBlbmRlZCwgdHJ1ZSk7CisgICAgICBpZiAoa2V5
cykgdmlldworICAgICAgICAgIC5vbigia2V5ZG93bi5icnVzaCIsIGtleWRvd25lZCwgdHJ1ZSkK
KyAgICAgICAgICAub24oImtleXVwLmJydXNoIiwga2V5dXBwZWQsIHRydWUpOworCisgICAgICBk
cmFnRGlzYWJsZShleHBvcnRzLmV2ZW50LnZpZXcpOworICAgIH0KKworICAgIG5vcHJvcGFnYXRp
b24kMSgpOworICAgIGludGVycnVwdCh0aGF0KTsKKyAgICByZWRyYXcuY2FsbCh0aGF0KTsKKyAg
ICBlbWl0LnN0YXJ0KCk7CisKKyAgICBmdW5jdGlvbiBtb3ZlZCgpIHsKKyAgICAgIHZhciBwb2lu
dDEgPSBwb2ludGVyKHRoYXQpOworICAgICAgaWYgKHNoaWZ0aW5nICYmICFsb2NrWCAmJiAhbG9j
a1kpIHsKKyAgICAgICAgaWYgKE1hdGguYWJzKHBvaW50MVswXSAtIHBvaW50WzBdKSA+IE1hdGgu
YWJzKHBvaW50MVsxXSAtIHBvaW50WzFdKSkgbG9ja1kgPSB0cnVlOworICAgICAgICBlbHNlIGxv
Y2tYID0gdHJ1ZTsKKyAgICAgIH0KKyAgICAgIHBvaW50ID0gcG9pbnQxOworICAgICAgbW92aW5n
ID0gdHJ1ZTsKKyAgICAgIG5vZXZlbnQkMSgpOworICAgICAgbW92ZSgpOworICAgIH0KKworICAg
IGZ1bmN0aW9uIG1vdmUoKSB7CisgICAgICB2YXIgdDsKKworICAgICAgZHggPSBwb2ludFswXSAt
IHBvaW50MFswXTsKKyAgICAgIGR5ID0gcG9pbnRbMV0gLSBwb2ludDBbMV07CisKKyAgICAgIHN3
aXRjaCAobW9kZSkgeworICAgICAgICBjYXNlIE1PREVfU1BBQ0U6CisgICAgICAgIGNhc2UgTU9E
RV9EUkFHOiB7CisgICAgICAgICAgaWYgKHNpZ25YKSBkeCA9IE1hdGgubWF4KFcgLSB3MCwgTWF0
aC5taW4oRSAtIGUwLCBkeCkpLCB3MSA9IHcwICsgZHgsIGUxID0gZTAgKyBkeDsKKyAgICAgICAg
ICBpZiAoc2lnblkpIGR5ID0gTWF0aC5tYXgoTiAtIG4wLCBNYXRoLm1pbihTIC0gczAsIGR5KSks
IG4xID0gbjAgKyBkeSwgczEgPSBzMCArIGR5OworICAgICAgICAgIGJyZWFrOworICAgICAgICB9
CisgICAgICAgIGNhc2UgTU9ERV9IQU5ETEU6IHsKKyAgICAgICAgICBpZiAoc2lnblggPCAwKSBk
eCA9IE1hdGgubWF4KFcgLSB3MCwgTWF0aC5taW4oRSAtIHcwLCBkeCkpLCB3MSA9IHcwICsgZHgs
IGUxID0gZTA7CisgICAgICAgICAgZWxzZSBpZiAoc2lnblggPiAwKSBkeCA9IE1hdGgubWF4KFcg
LSBlMCwgTWF0aC5taW4oRSAtIGUwLCBkeCkpLCB3MSA9IHcwLCBlMSA9IGUwICsgZHg7CisgICAg
ICAgICAgaWYgKHNpZ25ZIDwgMCkgZHkgPSBNYXRoLm1heChOIC0gbjAsIE1hdGgubWluKFMgLSBu
MCwgZHkpKSwgbjEgPSBuMCArIGR5LCBzMSA9IHMwOworICAgICAgICAgIGVsc2UgaWYgKHNpZ25Z
ID4gMCkgZHkgPSBNYXRoLm1heChOIC0gczAsIE1hdGgubWluKFMgLSBzMCwgZHkpKSwgbjEgPSBu
MCwgczEgPSBzMCArIGR5OworICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGNh
c2UgTU9ERV9DRU5URVI6IHsKKyAgICAgICAgICBpZiAoc2lnblgpIHcxID0gTWF0aC5tYXgoVywg
TWF0aC5taW4oRSwgdzAgLSBkeCAqIHNpZ25YKSksIGUxID0gTWF0aC5tYXgoVywgTWF0aC5taW4o
RSwgZTAgKyBkeCAqIHNpZ25YKSk7CisgICAgICAgICAgaWYgKHNpZ25ZKSBuMSA9IE1hdGgubWF4
KE4sIE1hdGgubWluKFMsIG4wIC0gZHkgKiBzaWduWSkpLCBzMSA9IE1hdGgubWF4KE4sIE1hdGgu
bWluKFMsIHMwICsgZHkgKiBzaWduWSkpOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9Cisg
ICAgICB9CisKKyAgICAgIGlmIChlMSA8IHcxKSB7CisgICAgICAgIHNpZ25YICo9IC0xOworICAg
ICAgICB0ID0gdzAsIHcwID0gZTAsIGUwID0gdDsKKyAgICAgICAgdCA9IHcxLCB3MSA9IGUxLCBl
MSA9IHQ7CisgICAgICAgIGlmICh0eXBlIGluIGZsaXBYKSBvdmVybGF5LmF0dHIoImN1cnNvciIs
IGN1cnNvcnNbdHlwZSA9IGZsaXBYW3R5cGVdXSk7CisgICAgICB9CisKKyAgICAgIGlmIChzMSA8
IG4xKSB7CisgICAgICAgIHNpZ25ZICo9IC0xOworICAgICAgICB0ID0gbjAsIG4wID0gczAsIHMw
ID0gdDsKKyAgICAgICAgdCA9IG4xLCBuMSA9IHMxLCBzMSA9IHQ7CisgICAgICAgIGlmICh0eXBl
IGluIGZsaXBZKSBvdmVybGF5LmF0dHIoImN1cnNvciIsIGN1cnNvcnNbdHlwZSA9IGZsaXBZW3R5
cGVdXSk7CisgICAgICB9CisKKyAgICAgIGlmIChzdGF0ZS5zZWxlY3Rpb24pIHNlbGVjdGlvbiA9
IHN0YXRlLnNlbGVjdGlvbjsgLy8gTWF5IGJlIHNldCBieSBicnVzaC5tb3ZlIQorICAgICAgaWYg
KGxvY2tYKSB3MSA9IHNlbGVjdGlvblswXVswXSwgZTEgPSBzZWxlY3Rpb25bMV1bMF07CisgICAg
ICBpZiAobG9ja1kpIG4xID0gc2VsZWN0aW9uWzBdWzFdLCBzMSA9IHNlbGVjdGlvblsxXVsxXTsK
KworICAgICAgaWYgKHNlbGVjdGlvblswXVswXSAhPT0gdzEKKyAgICAgICAgICB8fCBzZWxlY3Rp
b25bMF1bMV0gIT09IG4xCisgICAgICAgICAgfHwgc2VsZWN0aW9uWzFdWzBdICE9PSBlMQorICAg
ICAgICAgIHx8IHNlbGVjdGlvblsxXVsxXSAhPT0gczEpIHsKKyAgICAgICAgc3RhdGUuc2VsZWN0
aW9uID0gW1t3MSwgbjFdLCBbZTEsIHMxXV07CisgICAgICAgIHJlZHJhdy5jYWxsKHRoYXQpOwor
ICAgICAgICBlbWl0LmJydXNoKCk7CisgICAgICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gZW5k
ZWQoKSB7CisgICAgICBub3Byb3BhZ2F0aW9uJDEoKTsKKyAgICAgIGlmIChleHBvcnRzLmV2ZW50
LnRvdWNoZXMpIHsKKyAgICAgICAgaWYgKGV4cG9ydHMuZXZlbnQudG91Y2hlcy5sZW5ndGgpIHJl
dHVybjsKKyAgICAgICAgaWYgKHRvdWNoZW5kaW5nKSBjbGVhclRpbWVvdXQodG91Y2hlbmRpbmcp
OworICAgICAgICB0b3VjaGVuZGluZyA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHRvdWNoZW5k
aW5nID0gbnVsbDsgfSwgNTAwKTsgLy8gR2hvc3QgY2xpY2tzIGFyZSBkZWxheWVkIQorICAgICAg
fSBlbHNlIHsKKyAgICAgICAgeWVzZHJhZyhleHBvcnRzLmV2ZW50LnZpZXcsIG1vdmluZyk7Cisg
ICAgICAgIHZpZXcub24oImtleWRvd24uYnJ1c2gga2V5dXAuYnJ1c2ggbW91c2Vtb3ZlLmJydXNo
IG1vdXNldXAuYnJ1c2giLCBudWxsKTsKKyAgICAgIH0KKyAgICAgIGdyb3VwLmF0dHIoInBvaW50
ZXItZXZlbnRzIiwgImFsbCIpOworICAgICAgb3ZlcmxheS5hdHRyKCJjdXJzb3IiLCBjdXJzb3Jz
Lm92ZXJsYXkpOworICAgICAgaWYgKHN0YXRlLnNlbGVjdGlvbikgc2VsZWN0aW9uID0gc3RhdGUu
c2VsZWN0aW9uOyAvLyBNYXkgYmUgc2V0IGJ5IGJydXNoLm1vdmUgKG9uIHN0YXJ0KSEKKyAgICAg
IGlmIChlbXB0eSQxKHNlbGVjdGlvbikpIHN0YXRlLnNlbGVjdGlvbiA9IG51bGwsIHJlZHJhdy5j
YWxsKHRoYXQpOworICAgICAgZW1pdC5lbmQoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBrZXlk
b3duZWQoKSB7CisgICAgICBzd2l0Y2ggKGV4cG9ydHMuZXZlbnQua2V5Q29kZSkgeworICAgICAg
ICBjYXNlIDE2OiB7IC8vIFNISUZUCisgICAgICAgICAgc2hpZnRpbmcgPSBzaWduWCAmJiBzaWdu
WTsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIDE4OiB7IC8vIEFM
VAorICAgICAgICAgIGlmIChtb2RlID09PSBNT0RFX0hBTkRMRSkgeworICAgICAgICAgICAgaWYg
KHNpZ25YKSBlMCA9IGUxIC0gZHggKiBzaWduWCwgdzAgPSB3MSArIGR4ICogc2lnblg7CisgICAg
ICAgICAgICBpZiAoc2lnblkpIHMwID0gczEgLSBkeSAqIHNpZ25ZLCBuMCA9IG4xICsgZHkgKiBz
aWduWTsKKyAgICAgICAgICAgIG1vZGUgPSBNT0RFX0NFTlRFUjsKKyAgICAgICAgICAgIG1vdmUo
KTsKKyAgICAgICAgICB9CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2Fz
ZSAzMjogeyAvLyBTUEFDRTsgdGFrZXMgcHJpb3JpdHkgb3ZlciBBTFQKKyAgICAgICAgICBpZiAo
bW9kZSA9PT0gTU9ERV9IQU5ETEUgfHwgbW9kZSA9PT0gTU9ERV9DRU5URVIpIHsKKyAgICAgICAg
ICAgIGlmIChzaWduWCA8IDApIGUwID0gZTEgLSBkeDsgZWxzZSBpZiAoc2lnblggPiAwKSB3MCA9
IHcxIC0gZHg7CisgICAgICAgICAgICBpZiAoc2lnblkgPCAwKSBzMCA9IHMxIC0gZHk7IGVsc2Ug
aWYgKHNpZ25ZID4gMCkgbjAgPSBuMSAtIGR5OworICAgICAgICAgICAgbW9kZSA9IE1PREVfU1BB
Q0U7CisgICAgICAgICAgICBvdmVybGF5LmF0dHIoImN1cnNvciIsIGN1cnNvcnMuc2VsZWN0aW9u
KTsKKyAgICAgICAgICAgIG1vdmUoKTsKKyAgICAgICAgICB9CisgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDogcmV0dXJuOworICAgICAgfQorICAgICAgbm9ldmVu
dCQxKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24ga2V5dXBwZWQoKSB7CisgICAgICBzd2l0Y2gg
KGV4cG9ydHMuZXZlbnQua2V5Q29kZSkgeworICAgICAgICBjYXNlIDE2OiB7IC8vIFNISUZUCisg
ICAgICAgICAgaWYgKHNoaWZ0aW5nKSB7CisgICAgICAgICAgICBsb2NrWCA9IGxvY2tZID0gc2hp
ZnRpbmcgPSBmYWxzZTsKKyAgICAgICAgICAgIG1vdmUoKTsKKyAgICAgICAgICB9CisgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSAxODogeyAvLyBBTFQKKyAgICAgICAg
ICBpZiAobW9kZSA9PT0gTU9ERV9DRU5URVIpIHsKKyAgICAgICAgICAgIGlmIChzaWduWCA8IDAp
IGUwID0gZTE7IGVsc2UgaWYgKHNpZ25YID4gMCkgdzAgPSB3MTsKKyAgICAgICAgICAgIGlmIChz
aWduWSA8IDApIHMwID0gczE7IGVsc2UgaWYgKHNpZ25ZID4gMCkgbjAgPSBuMTsKKyAgICAgICAg
ICAgIG1vZGUgPSBNT0RFX0hBTkRMRTsKKyAgICAgICAgICAgIG1vdmUoKTsKKyAgICAgICAgICB9
CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSAzMjogeyAvLyBTUEFD
RQorICAgICAgICAgIGlmIChtb2RlID09PSBNT0RFX1NQQUNFKSB7CisgICAgICAgICAgICBpZiAo
ZXhwb3J0cy5ldmVudC5hbHRLZXkpIHsKKyAgICAgICAgICAgICAgaWYgKHNpZ25YKSBlMCA9IGUx
IC0gZHggKiBzaWduWCwgdzAgPSB3MSArIGR4ICogc2lnblg7CisgICAgICAgICAgICAgIGlmIChz
aWduWSkgczAgPSBzMSAtIGR5ICogc2lnblksIG4wID0gbjEgKyBkeSAqIHNpZ25ZOworICAgICAg
ICAgICAgICBtb2RlID0gTU9ERV9DRU5URVI7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICBpZiAoc2lnblggPCAwKSBlMCA9IGUxOyBlbHNlIGlmIChzaWduWCA+IDApIHcwID0g
dzE7CisgICAgICAgICAgICAgIGlmIChzaWduWSA8IDApIHMwID0gczE7IGVsc2UgaWYgKHNpZ25Z
ID4gMCkgbjAgPSBuMTsKKyAgICAgICAgICAgICAgbW9kZSA9IE1PREVfSEFORExFOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgb3ZlcmxheS5hdHRyKCJjdXJzb3IiLCBjdXJzb3JzW3R5cGVd
KTsKKyAgICAgICAgICAgIG1vdmUoKTsKKyAgICAgICAgICB9CisgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDogcmV0dXJuOworICAgICAgfQorICAgICAgbm9ldmVu
dCQxKCk7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gdG91Y2htb3ZlZCgpIHsKKyAgICBlbWl0
dGVyKHRoaXMsIGFyZ3VtZW50cykubW92ZWQoKTsKKyAgfQorCisgIGZ1bmN0aW9uIHRvdWNoZW5k
ZWQoKSB7CisgICAgZW1pdHRlcih0aGlzLCBhcmd1bWVudHMpLmVuZGVkKCk7CisgIH0KKworICBm
dW5jdGlvbiBpbml0aWFsaXplKCkgeworICAgIHZhciBzdGF0ZSA9IHRoaXMuX19icnVzaCB8fCB7
c2VsZWN0aW9uOiBudWxsfTsKKyAgICBzdGF0ZS5leHRlbnQgPSBudW1iZXIyKGV4dGVudC5hcHBs
eSh0aGlzLCBhcmd1bWVudHMpKTsKKyAgICBzdGF0ZS5kaW0gPSBkaW07CisgICAgcmV0dXJuIHN0
YXRlOworICB9CisKKyAgYnJ1c2guZXh0ZW50ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKGV4dGVudCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6
IGNvbnN0YW50JDQobnVtYmVyMihfKSksIGJydXNoKSA6IGV4dGVudDsKKyAgfTsKKworICBicnVz
aC5maWx0ZXIgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
ZmlsdGVyID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkNCghIV8pLCBi
cnVzaCkgOiBmaWx0ZXI7CisgIH07CisKKyAgYnJ1c2gudG91Y2hhYmxlID0gZnVuY3Rpb24oXykg
eworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRvdWNoYWJsZSA9IHR5cGVvZiBfID09
PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDQoISFfKSwgYnJ1c2gpIDogdG91Y2hhYmxlOwor
ICB9OworCisgIGJydXNoLmhhbmRsZVNpemUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAoaGFuZGxlU2l6ZSA9ICtfLCBicnVzaCkgOiBoYW5kbGVTaXplOwor
ICB9OworCisgIGJydXNoLmtleU1vZGlmaWVycyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/IChrZXlzID0gISFfLCBicnVzaCkgOiBrZXlzOworICB9OworCisg
IGJydXNoLm9uID0gZnVuY3Rpb24oKSB7CisgICAgdmFyIHZhbHVlID0gbGlzdGVuZXJzLm9uLmFw
cGx5KGxpc3RlbmVycywgYXJndW1lbnRzKTsKKyAgICByZXR1cm4gdmFsdWUgPT09IGxpc3RlbmVy
cyA/IGJydXNoIDogdmFsdWU7CisgIH07CisKKyAgcmV0dXJuIGJydXNoOworfQorCit2YXIgY29z
ID0gTWF0aC5jb3M7Cit2YXIgc2luID0gTWF0aC5zaW47Cit2YXIgcGkkMSA9IE1hdGguUEk7Cit2
YXIgaGFsZlBpJDEgPSBwaSQxIC8gMjsKK3ZhciB0YXUkMSA9IHBpJDEgKiAyOwordmFyIG1heCQx
ID0gTWF0aC5tYXg7CisKK2Z1bmN0aW9uIGNvbXBhcmVWYWx1ZShjb21wYXJlKSB7CisgIHJldHVy
biBmdW5jdGlvbihhLCBiKSB7CisgICAgcmV0dXJuIGNvbXBhcmUoCisgICAgICBhLnNvdXJjZS52
YWx1ZSArIGEudGFyZ2V0LnZhbHVlLAorICAgICAgYi5zb3VyY2UudmFsdWUgKyBiLnRhcmdldC52
YWx1ZQorICAgICk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNob3JkKCkgeworICB2YXIgcGFkQW5n
bGUgPSAwLAorICAgICAgc29ydEdyb3VwcyA9IG51bGwsCisgICAgICBzb3J0U3ViZ3JvdXBzID0g
bnVsbCwKKyAgICAgIHNvcnRDaG9yZHMgPSBudWxsOworCisgIGZ1bmN0aW9uIGNob3JkKG1hdHJp
eCkgeworICAgIHZhciBuID0gbWF0cml4Lmxlbmd0aCwKKyAgICAgICAgZ3JvdXBTdW1zID0gW10s
CisgICAgICAgIGdyb3VwSW5kZXggPSBzZXF1ZW5jZShuKSwKKyAgICAgICAgc3ViZ3JvdXBJbmRl
eCA9IFtdLAorICAgICAgICBjaG9yZHMgPSBbXSwKKyAgICAgICAgZ3JvdXBzID0gY2hvcmRzLmdy
b3VwcyA9IG5ldyBBcnJheShuKSwKKyAgICAgICAgc3ViZ3JvdXBzID0gbmV3IEFycmF5KG4gKiBu
KSwKKyAgICAgICAgaywKKyAgICAgICAgeCwKKyAgICAgICAgeDAsCisgICAgICAgIGR4LAorICAg
ICAgICBpLAorICAgICAgICBqOworCisgICAgLy8gQ29tcHV0ZSB0aGUgc3VtLgorICAgIGsgPSAw
LCBpID0gLTE7IHdoaWxlICgrK2kgPCBuKSB7CisgICAgICB4ID0gMCwgaiA9IC0xOyB3aGlsZSAo
KytqIDwgbikgeworICAgICAgICB4ICs9IG1hdHJpeFtpXVtqXTsKKyAgICAgIH0KKyAgICAgIGdy
b3VwU3Vtcy5wdXNoKHgpOworICAgICAgc3ViZ3JvdXBJbmRleC5wdXNoKHNlcXVlbmNlKG4pKTsK
KyAgICAgIGsgKz0geDsKKyAgICB9CisKKyAgICAvLyBTb3J0IGdyb3Vwc+KApgorICAgIGlmIChz
b3J0R3JvdXBzKSBncm91cEluZGV4LnNvcnQoZnVuY3Rpb24oYSwgYikgeworICAgICAgcmV0dXJu
IHNvcnRHcm91cHMoZ3JvdXBTdW1zW2FdLCBncm91cFN1bXNbYl0pOworICAgIH0pOworCisgICAg
Ly8gU29ydCBzdWJncm91cHPigKYKKyAgICBpZiAoc29ydFN1Ymdyb3Vwcykgc3ViZ3JvdXBJbmRl
eC5mb3JFYWNoKGZ1bmN0aW9uKGQsIGkpIHsKKyAgICAgIGQuc29ydChmdW5jdGlvbihhLCBiKSB7
CisgICAgICAgIHJldHVybiBzb3J0U3ViZ3JvdXBzKG1hdHJpeFtpXVthXSwgbWF0cml4W2ldW2Jd
KTsKKyAgICAgIH0pOworICAgIH0pOworCisgICAgLy8gQ29udmVydCB0aGUgc3VtIHRvIHNjYWxp
bmcgZmFjdG9yIGZvciBbMCwgMnBpXS4KKyAgICAvLyBUT0RPIEFsbG93IHN0YXJ0IGFuZCBlbmQg
YW5nbGUgdG8gYmUgc3BlY2lmaWVkPworICAgIC8vIFRPRE8gQWxsb3cgcGFkZGluZyB0byBiZSBz
cGVjaWZpZWQgYXMgcGVyY2VudGFnZT8KKyAgICBrID0gbWF4JDEoMCwgdGF1JDEgLSBwYWRBbmds
ZSAqIG4pIC8gazsKKyAgICBkeCA9IGsgPyBwYWRBbmdsZSA6IHRhdSQxIC8gbjsKKworICAgIC8v
IENvbXB1dGUgdGhlIHN0YXJ0IGFuZCBlbmQgYW5nbGUgZm9yIGVhY2ggZ3JvdXAgYW5kIHN1Ymdy
b3VwLgorICAgIC8vIE5vdGU6IE9wZXJhIGhhcyBhIGJ1ZyByZW9yZGVyaW5nIG9iamVjdCBsaXRl
cmFsIHByb3BlcnRpZXMhCisgICAgeCA9IDAsIGkgPSAtMTsgd2hpbGUgKCsraSA8IG4pIHsKKyAg
ICAgIHgwID0geCwgaiA9IC0xOyB3aGlsZSAoKytqIDwgbikgeworICAgICAgICB2YXIgZGkgPSBn
cm91cEluZGV4W2ldLAorICAgICAgICAgICAgZGogPSBzdWJncm91cEluZGV4W2RpXVtqXSwKKyAg
ICAgICAgICAgIHYgPSBtYXRyaXhbZGldW2RqXSwKKyAgICAgICAgICAgIGEwID0geCwKKyAgICAg
ICAgICAgIGExID0geCArPSB2ICogazsKKyAgICAgICAgc3ViZ3JvdXBzW2RqICogbiArIGRpXSA9
IHsKKyAgICAgICAgICBpbmRleDogZGksCisgICAgICAgICAgc3ViaW5kZXg6IGRqLAorICAgICAg
ICAgIHN0YXJ0QW5nbGU6IGEwLAorICAgICAgICAgIGVuZEFuZ2xlOiBhMSwKKyAgICAgICAgICB2
YWx1ZTogdgorICAgICAgICB9OworICAgICAgfQorICAgICAgZ3JvdXBzW2RpXSA9IHsKKyAgICAg
ICAgaW5kZXg6IGRpLAorICAgICAgICBzdGFydEFuZ2xlOiB4MCwKKyAgICAgICAgZW5kQW5nbGU6
IHgsCisgICAgICAgIHZhbHVlOiBncm91cFN1bXNbZGldCisgICAgICB9OworICAgICAgeCArPSBk
eDsKKyAgICB9CisKKyAgICAvLyBHZW5lcmF0ZSBjaG9yZHMgZm9yIGVhY2ggKG5vbi1lbXB0eSkg
c3ViZ3JvdXAtc3ViZ3JvdXAgbGluay4KKyAgICBpID0gLTE7IHdoaWxlICgrK2kgPCBuKSB7Cisg
ICAgICBqID0gaSAtIDE7IHdoaWxlICgrK2ogPCBuKSB7CisgICAgICAgIHZhciBzb3VyY2UgPSBz
dWJncm91cHNbaiAqIG4gKyBpXSwKKyAgICAgICAgICAgIHRhcmdldCA9IHN1Ymdyb3Vwc1tpICog
biArIGpdOworICAgICAgICBpZiAoc291cmNlLnZhbHVlIHx8IHRhcmdldC52YWx1ZSkgeworICAg
ICAgICAgIGNob3Jkcy5wdXNoKHNvdXJjZS52YWx1ZSA8IHRhcmdldC52YWx1ZQorICAgICAgICAg
ICAgICA/IHtzb3VyY2U6IHRhcmdldCwgdGFyZ2V0OiBzb3VyY2V9CisgICAgICAgICAgICAgIDog
e3NvdXJjZTogc291cmNlLCB0YXJnZXQ6IHRhcmdldH0pOworICAgICAgICB9CisgICAgICB9Cisg
ICAgfQorCisgICAgcmV0dXJuIHNvcnRDaG9yZHMgPyBjaG9yZHMuc29ydChzb3J0Q2hvcmRzKSA6
IGNob3JkczsKKyAgfQorCisgIGNob3JkLnBhZEFuZ2xlID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhZEFuZ2xlID0gbWF4JDEoMCwgXyksIGNob3JkKSA6
IHBhZEFuZ2xlOworICB9OworCisgIGNob3JkLnNvcnRHcm91cHMgPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc29ydEdyb3VwcyA9IF8sIGNob3JkKSA6IHNv
cnRHcm91cHM7CisgIH07CisKKyAgY2hvcmQuc29ydFN1Ymdyb3VwcyA9IGZ1bmN0aW9uKF8pIHsK
KyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzb3J0U3ViZ3JvdXBzID0gXywgY2hvcmQp
IDogc29ydFN1Ymdyb3VwczsKKyAgfTsKKworICBjaG9yZC5zb3J0Q2hvcmRzID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKF8gPT0gbnVsbCA/IHNvcnRDaG9y
ZHMgPSBudWxsIDogKHNvcnRDaG9yZHMgPSBjb21wYXJlVmFsdWUoXykpLl8gPSBfLCBjaG9yZCkg
OiBzb3J0Q2hvcmRzICYmIHNvcnRDaG9yZHMuXzsKKyAgfTsKKworICByZXR1cm4gY2hvcmQ7Cit9
CisKK3ZhciBzbGljZSQyID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOworCitmdW5jdGlvbiBjb25z
dGFudCQ1KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB4OworICB9Owor
fQorCit2YXIgcGkkMiA9IE1hdGguUEksCisgICAgdGF1JDIgPSAyICogcGkkMiwKKyAgICBlcHNp
bG9uJDEgPSAxZS02LAorICAgIHRhdUVwc2lsb24gPSB0YXUkMiAtIGVwc2lsb24kMTsKKworZnVu
Y3Rpb24gUGF0aCgpIHsKKyAgdGhpcy5feDAgPSB0aGlzLl95MCA9IC8vIHN0YXJ0IG9mIGN1cnJl
bnQgc3VicGF0aAorICB0aGlzLl94MSA9IHRoaXMuX3kxID0gbnVsbDsgLy8gZW5kIG9mIGN1cnJl
bnQgc3VicGF0aAorICB0aGlzLl8gPSAiIjsKK30KKworZnVuY3Rpb24gcGF0aCgpIHsKKyAgcmV0
dXJuIG5ldyBQYXRoOworfQorCitQYXRoLnByb3RvdHlwZSA9IHBhdGgucHJvdG90eXBlID0gewor
ICBjb25zdHJ1Y3RvcjogUGF0aCwKKyAgbW92ZVRvOiBmdW5jdGlvbih4LCB5KSB7CisgICAgdGhp
cy5fICs9ICJNIiArICh0aGlzLl94MCA9IHRoaXMuX3gxID0gK3gpICsgIiwiICsgKHRoaXMuX3kw
ID0gdGhpcy5feTEgPSAreSk7CisgIH0sCisgIGNsb3NlUGF0aDogZnVuY3Rpb24oKSB7CisgICAg
aWYgKHRoaXMuX3gxICE9PSBudWxsKSB7CisgICAgICB0aGlzLl94MSA9IHRoaXMuX3gwLCB0aGlz
Ll95MSA9IHRoaXMuX3kwOworICAgICAgdGhpcy5fICs9ICJaIjsKKyAgICB9CisgIH0sCisgIGxp
bmVUbzogZnVuY3Rpb24oeCwgeSkgeworICAgIHRoaXMuXyArPSAiTCIgKyAodGhpcy5feDEgPSAr
eCkgKyAiLCIgKyAodGhpcy5feTEgPSAreSk7CisgIH0sCisgIHF1YWRyYXRpY0N1cnZlVG86IGZ1
bmN0aW9uKHgxLCB5MSwgeCwgeSkgeworICAgIHRoaXMuXyArPSAiUSIgKyAoK3gxKSArICIsIiAr
ICgreTEpICsgIiwiICsgKHRoaXMuX3gxID0gK3gpICsgIiwiICsgKHRoaXMuX3kxID0gK3kpOwor
ICB9LAorICBiZXppZXJDdXJ2ZVRvOiBmdW5jdGlvbih4MSwgeTEsIHgyLCB5MiwgeCwgeSkgewor
ICAgIHRoaXMuXyArPSAiQyIgKyAoK3gxKSArICIsIiArICgreTEpICsgIiwiICsgKCt4MikgKyAi
LCIgKyAoK3kyKSArICIsIiArICh0aGlzLl94MSA9ICt4KSArICIsIiArICh0aGlzLl95MSA9ICt5
KTsKKyAgfSwKKyAgYXJjVG86IGZ1bmN0aW9uKHgxLCB5MSwgeDIsIHkyLCByKSB7CisgICAgeDEg
PSAreDEsIHkxID0gK3kxLCB4MiA9ICt4MiwgeTIgPSAreTIsIHIgPSArcjsKKyAgICB2YXIgeDAg
PSB0aGlzLl94MSwKKyAgICAgICAgeTAgPSB0aGlzLl95MSwKKyAgICAgICAgeDIxID0geDIgLSB4
MSwKKyAgICAgICAgeTIxID0geTIgLSB5MSwKKyAgICAgICAgeDAxID0geDAgLSB4MSwKKyAgICAg
ICAgeTAxID0geTAgLSB5MSwKKyAgICAgICAgbDAxXzIgPSB4MDEgKiB4MDEgKyB5MDEgKiB5MDE7
CisKKyAgICAvLyBJcyB0aGUgcmFkaXVzIG5lZ2F0aXZlPyBFcnJvci4KKyAgICBpZiAociA8IDAp
IHRocm93IG5ldyBFcnJvcigibmVnYXRpdmUgcmFkaXVzOiAiICsgcik7CisKKyAgICAvLyBJcyB0
aGlzIHBhdGggZW1wdHk/IE1vdmUgdG8gKHgxLHkxKS4KKyAgICBpZiAodGhpcy5feDEgPT09IG51
bGwpIHsKKyAgICAgIHRoaXMuXyArPSAiTSIgKyAodGhpcy5feDEgPSB4MSkgKyAiLCIgKyAodGhp
cy5feTEgPSB5MSk7CisgICAgfQorCisgICAgLy8gT3IsIGlzICh4MSx5MSkgY29pbmNpZGVudCB3
aXRoICh4MCx5MCk/IERvIG5vdGhpbmcuCisgICAgZWxzZSBpZiAoIShsMDFfMiA+IGVwc2lsb24k
MSkpOworCisgICAgLy8gT3IsIGFyZSAoeDAseTApLCAoeDEseTEpIGFuZCAoeDIseTIpIGNvbGxp
bmVhcj8KKyAgICAvLyBFcXVpdmFsZW50bHksIGlzICh4MSx5MSkgY29pbmNpZGVudCB3aXRoICh4
Mix5Mik/CisgICAgLy8gT3IsIGlzIHRoZSByYWRpdXMgemVybz8gTGluZSB0byAoeDEseTEpLgor
ICAgIGVsc2UgaWYgKCEoTWF0aC5hYnMoeTAxICogeDIxIC0geTIxICogeDAxKSA+IGVwc2lsb24k
MSkgfHwgIXIpIHsKKyAgICAgIHRoaXMuXyArPSAiTCIgKyAodGhpcy5feDEgPSB4MSkgKyAiLCIg
KyAodGhpcy5feTEgPSB5MSk7CisgICAgfQorCisgICAgLy8gT3RoZXJ3aXNlLCBkcmF3IGFuIGFy
YyEKKyAgICBlbHNlIHsKKyAgICAgIHZhciB4MjAgPSB4MiAtIHgwLAorICAgICAgICAgIHkyMCA9
IHkyIC0geTAsCisgICAgICAgICAgbDIxXzIgPSB4MjEgKiB4MjEgKyB5MjEgKiB5MjEsCisgICAg
ICAgICAgbDIwXzIgPSB4MjAgKiB4MjAgKyB5MjAgKiB5MjAsCisgICAgICAgICAgbDIxID0gTWF0
aC5zcXJ0KGwyMV8yKSwKKyAgICAgICAgICBsMDEgPSBNYXRoLnNxcnQobDAxXzIpLAorICAgICAg
ICAgIGwgPSByICogTWF0aC50YW4oKHBpJDIgLSBNYXRoLmFjb3MoKGwyMV8yICsgbDAxXzIgLSBs
MjBfMikgLyAoMiAqIGwyMSAqIGwwMSkpKSAvIDIpLAorICAgICAgICAgIHQwMSA9IGwgLyBsMDEs
CisgICAgICAgICAgdDIxID0gbCAvIGwyMTsKKworICAgICAgLy8gSWYgdGhlIHN0YXJ0IHRhbmdl
bnQgaXMgbm90IGNvaW5jaWRlbnQgd2l0aCAoeDAseTApLCBsaW5lIHRvLgorICAgICAgaWYgKE1h
dGguYWJzKHQwMSAtIDEpID4gZXBzaWxvbiQxKSB7CisgICAgICAgIHRoaXMuXyArPSAiTCIgKyAo
eDEgKyB0MDEgKiB4MDEpICsgIiwiICsgKHkxICsgdDAxICogeTAxKTsKKyAgICAgIH0KKworICAg
ICAgdGhpcy5fICs9ICJBIiArIHIgKyAiLCIgKyByICsgIiwwLDAsIiArICgrKHkwMSAqIHgyMCA+
IHgwMSAqIHkyMCkpICsgIiwiICsgKHRoaXMuX3gxID0geDEgKyB0MjEgKiB4MjEpICsgIiwiICsg
KHRoaXMuX3kxID0geTEgKyB0MjEgKiB5MjEpOworICAgIH0KKyAgfSwKKyAgYXJjOiBmdW5jdGlv
bih4LCB5LCByLCBhMCwgYTEsIGNjdykgeworICAgIHggPSAreCwgeSA9ICt5LCByID0gK3IsIGNj
dyA9ICEhY2N3OworICAgIHZhciBkeCA9IHIgKiBNYXRoLmNvcyhhMCksCisgICAgICAgIGR5ID0g
ciAqIE1hdGguc2luKGEwKSwKKyAgICAgICAgeDAgPSB4ICsgZHgsCisgICAgICAgIHkwID0geSAr
IGR5LAorICAgICAgICBjdyA9IDEgXiBjY3csCisgICAgICAgIGRhID0gY2N3ID8gYTAgLSBhMSA6
IGExIC0gYTA7CisKKyAgICAvLyBJcyB0aGUgcmFkaXVzIG5lZ2F0aXZlPyBFcnJvci4KKyAgICBp
ZiAociA8IDApIHRocm93IG5ldyBFcnJvcigibmVnYXRpdmUgcmFkaXVzOiAiICsgcik7CisKKyAg
ICAvLyBJcyB0aGlzIHBhdGggZW1wdHk/IE1vdmUgdG8gKHgwLHkwKS4KKyAgICBpZiAodGhpcy5f
eDEgPT09IG51bGwpIHsKKyAgICAgIHRoaXMuXyArPSAiTSIgKyB4MCArICIsIiArIHkwOworICAg
IH0KKworICAgIC8vIE9yLCBpcyAoeDAseTApIG5vdCBjb2luY2lkZW50IHdpdGggdGhlIHByZXZp
b3VzIHBvaW50PyBMaW5lIHRvICh4MCx5MCkuCisgICAgZWxzZSBpZiAoTWF0aC5hYnModGhpcy5f
eDEgLSB4MCkgPiBlcHNpbG9uJDEgfHwgTWF0aC5hYnModGhpcy5feTEgLSB5MCkgPiBlcHNpbG9u
JDEpIHsKKyAgICAgIHRoaXMuXyArPSAiTCIgKyB4MCArICIsIiArIHkwOworICAgIH0KKworICAg
IC8vIElzIHRoaXMgYXJjIGVtcHR5PyBXZeKAmXJlIGRvbmUuCisgICAgaWYgKCFyKSByZXR1cm47
CisKKyAgICAvLyBEb2VzIHRoZSBhbmdsZSBnbyB0aGUgd3Jvbmcgd2F5PyBGbGlwIHRoZSBkaXJl
Y3Rpb24uCisgICAgaWYgKGRhIDwgMCkgZGEgPSBkYSAlIHRhdSQyICsgdGF1JDI7CisKKyAgICAv
LyBJcyB0aGlzIGEgY29tcGxldGUgY2lyY2xlPyBEcmF3IHR3byBhcmNzIHRvIGNvbXBsZXRlIHRo
ZSBjaXJjbGUuCisgICAgaWYgKGRhID4gdGF1RXBzaWxvbikgeworICAgICAgdGhpcy5fICs9ICJB
IiArIHIgKyAiLCIgKyByICsgIiwwLDEsIiArIGN3ICsgIiwiICsgKHggLSBkeCkgKyAiLCIgKyAo
eSAtIGR5KSArICJBIiArIHIgKyAiLCIgKyByICsgIiwwLDEsIiArIGN3ICsgIiwiICsgKHRoaXMu
X3gxID0geDApICsgIiwiICsgKHRoaXMuX3kxID0geTApOworICAgIH0KKworICAgIC8vIElzIHRo
aXMgYXJjIG5vbi1lbXB0eT8gRHJhdyBhbiBhcmMhCisgICAgZWxzZSBpZiAoZGEgPiBlcHNpbG9u
JDEpIHsKKyAgICAgIHRoaXMuXyArPSAiQSIgKyByICsgIiwiICsgciArICIsMCwiICsgKCsoZGEg
Pj0gcGkkMikpICsgIiwiICsgY3cgKyAiLCIgKyAodGhpcy5feDEgPSB4ICsgciAqIE1hdGguY29z
KGExKSkgKyAiLCIgKyAodGhpcy5feTEgPSB5ICsgciAqIE1hdGguc2luKGExKSk7CisgICAgfQor
ICB9LAorICByZWN0OiBmdW5jdGlvbih4LCB5LCB3LCBoKSB7CisgICAgdGhpcy5fICs9ICJNIiAr
ICh0aGlzLl94MCA9IHRoaXMuX3gxID0gK3gpICsgIiwiICsgKHRoaXMuX3kwID0gdGhpcy5feTEg
PSAreSkgKyAiaCIgKyAoK3cpICsgInYiICsgKCtoKSArICJoIiArICgtdykgKyAiWiI7CisgIH0s
CisgIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gdGhpcy5fOworICB9Cit9Owor
CitmdW5jdGlvbiBkZWZhdWx0U291cmNlKGQpIHsKKyAgcmV0dXJuIGQuc291cmNlOworfQorCitm
dW5jdGlvbiBkZWZhdWx0VGFyZ2V0KGQpIHsKKyAgcmV0dXJuIGQudGFyZ2V0OworfQorCitmdW5j
dGlvbiBkZWZhdWx0UmFkaXVzKGQpIHsKKyAgcmV0dXJuIGQucmFkaXVzOworfQorCitmdW5jdGlv
biBkZWZhdWx0U3RhcnRBbmdsZShkKSB7CisgIHJldHVybiBkLnN0YXJ0QW5nbGU7Cit9CisKK2Z1
bmN0aW9uIGRlZmF1bHRFbmRBbmdsZShkKSB7CisgIHJldHVybiBkLmVuZEFuZ2xlOworfQorCitm
dW5jdGlvbiByaWJib24oKSB7CisgIHZhciBzb3VyY2UgPSBkZWZhdWx0U291cmNlLAorICAgICAg
dGFyZ2V0ID0gZGVmYXVsdFRhcmdldCwKKyAgICAgIHJhZGl1cyA9IGRlZmF1bHRSYWRpdXMsCisg
ICAgICBzdGFydEFuZ2xlID0gZGVmYXVsdFN0YXJ0QW5nbGUsCisgICAgICBlbmRBbmdsZSA9IGRl
ZmF1bHRFbmRBbmdsZSwKKyAgICAgIGNvbnRleHQgPSBudWxsOworCisgIGZ1bmN0aW9uIHJpYmJv
bigpIHsKKyAgICB2YXIgYnVmZmVyLAorICAgICAgICBhcmd2ID0gc2xpY2UkMi5jYWxsKGFyZ3Vt
ZW50cyksCisgICAgICAgIHMgPSBzb3VyY2UuYXBwbHkodGhpcywgYXJndiksCisgICAgICAgIHQg
PSB0YXJnZXQuYXBwbHkodGhpcywgYXJndiksCisgICAgICAgIHNyID0gK3JhZGl1cy5hcHBseSh0
aGlzLCAoYXJndlswXSA9IHMsIGFyZ3YpKSwKKyAgICAgICAgc2EwID0gc3RhcnRBbmdsZS5hcHBs
eSh0aGlzLCBhcmd2KSAtIGhhbGZQaSQxLAorICAgICAgICBzYTEgPSBlbmRBbmdsZS5hcHBseSh0
aGlzLCBhcmd2KSAtIGhhbGZQaSQxLAorICAgICAgICBzeDAgPSBzciAqIGNvcyhzYTApLAorICAg
ICAgICBzeTAgPSBzciAqIHNpbihzYTApLAorICAgICAgICB0ciA9ICtyYWRpdXMuYXBwbHkodGhp
cywgKGFyZ3ZbMF0gPSB0LCBhcmd2KSksCisgICAgICAgIHRhMCA9IHN0YXJ0QW5nbGUuYXBwbHko
dGhpcywgYXJndikgLSBoYWxmUGkkMSwKKyAgICAgICAgdGExID0gZW5kQW5nbGUuYXBwbHkodGhp
cywgYXJndikgLSBoYWxmUGkkMTsKKworICAgIGlmICghY29udGV4dCkgY29udGV4dCA9IGJ1ZmZl
ciA9IHBhdGgoKTsKKworICAgIGNvbnRleHQubW92ZVRvKHN4MCwgc3kwKTsKKyAgICBjb250ZXh0
LmFyYygwLCAwLCBzciwgc2EwLCBzYTEpOworICAgIGlmIChzYTAgIT09IHRhMCB8fCBzYTEgIT09
IHRhMSkgeyAvLyBUT0RPIHNyICE9PSB0cj8KKyAgICAgIGNvbnRleHQucXVhZHJhdGljQ3VydmVU
bygwLCAwLCB0ciAqIGNvcyh0YTApLCB0ciAqIHNpbih0YTApKTsKKyAgICAgIGNvbnRleHQuYXJj
KDAsIDAsIHRyLCB0YTAsIHRhMSk7CisgICAgfQorICAgIGNvbnRleHQucXVhZHJhdGljQ3VydmVU
bygwLCAwLCBzeDAsIHN5MCk7CisgICAgY29udGV4dC5jbG9zZVBhdGgoKTsKKworICAgIGlmIChi
dWZmZXIpIHJldHVybiBjb250ZXh0ID0gbnVsbCwgYnVmZmVyICsgIiIgfHwgbnVsbDsKKyAgfQor
CisgIHJpYmJvbi5yYWRpdXMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAocmFkaXVzID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQk
NSgrXyksIHJpYmJvbikgOiByYWRpdXM7CisgIH07CisKKyAgcmliYm9uLnN0YXJ0QW5nbGUgPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc3RhcnRBbmdsZSA9
IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDUoK18pLCByaWJib24pIDog
c3RhcnRBbmdsZTsKKyAgfTsKKworICByaWJib24uZW5kQW5nbGUgPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZW5kQW5nbGUgPSB0eXBlb2YgXyA9PT0gImZ1
bmN0aW9uIiA/IF8gOiBjb25zdGFudCQ1KCtfKSwgcmliYm9uKSA6IGVuZEFuZ2xlOworICB9Owor
CisgIHJpYmJvbi5zb3VyY2UgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoc291cmNlID0gXywgcmliYm9uKSA6IHNvdXJjZTsKKyAgfTsKKworICByaWJib24u
dGFyZ2V0ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRh
cmdldCA9IF8sIHJpYmJvbikgOiB0YXJnZXQ7CisgIH07CisKKyAgcmliYm9uLmNvbnRleHQgPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoKGNvbnRleHQgPSBf
ID09IG51bGwgPyBudWxsIDogXyksIHJpYmJvbikgOiBjb250ZXh0OworICB9OworCisgIHJldHVy
biByaWJib247Cit9CisKK3ZhciBwcmVmaXggPSAiJCI7CisKK2Z1bmN0aW9uIE1hcCgpIHt9CisK
K01hcC5wcm90b3R5cGUgPSBtYXAkMS5wcm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBNYXAs
CisgIGhhczogZnVuY3Rpb24oa2V5KSB7CisgICAgcmV0dXJuIChwcmVmaXggKyBrZXkpIGluIHRo
aXM7CisgIH0sCisgIGdldDogZnVuY3Rpb24oa2V5KSB7CisgICAgcmV0dXJuIHRoaXNbcHJlZml4
ICsga2V5XTsKKyAgfSwKKyAgc2V0OiBmdW5jdGlvbihrZXksIHZhbHVlKSB7CisgICAgdGhpc1tw
cmVmaXggKyBrZXldID0gdmFsdWU7CisgICAgcmV0dXJuIHRoaXM7CisgIH0sCisgIHJlbW92ZTog
ZnVuY3Rpb24oa2V5KSB7CisgICAgdmFyIHByb3BlcnR5ID0gcHJlZml4ICsga2V5OworICAgIHJl
dHVybiBwcm9wZXJ0eSBpbiB0aGlzICYmIGRlbGV0ZSB0aGlzW3Byb3BlcnR5XTsKKyAgfSwKKyAg
Y2xlYXI6IGZ1bmN0aW9uKCkgeworICAgIGZvciAodmFyIHByb3BlcnR5IGluIHRoaXMpIGlmIChw
cm9wZXJ0eVswXSA9PT0gcHJlZml4KSBkZWxldGUgdGhpc1twcm9wZXJ0eV07CisgIH0sCisgIGtl
eXM6IGZ1bmN0aW9uKCkgeworICAgIHZhciBrZXlzID0gW107CisgICAgZm9yICh2YXIgcHJvcGVy
dHkgaW4gdGhpcykgaWYgKHByb3BlcnR5WzBdID09PSBwcmVmaXgpIGtleXMucHVzaChwcm9wZXJ0
eS5zbGljZSgxKSk7CisgICAgcmV0dXJuIGtleXM7CisgIH0sCisgIHZhbHVlczogZnVuY3Rpb24o
KSB7CisgICAgdmFyIHZhbHVlcyA9IFtdOworICAgIGZvciAodmFyIHByb3BlcnR5IGluIHRoaXMp
IGlmIChwcm9wZXJ0eVswXSA9PT0gcHJlZml4KSB2YWx1ZXMucHVzaCh0aGlzW3Byb3BlcnR5XSk7
CisgICAgcmV0dXJuIHZhbHVlczsKKyAgfSwKKyAgZW50cmllczogZnVuY3Rpb24oKSB7CisgICAg
dmFyIGVudHJpZXMgPSBbXTsKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB0aGlzKSBpZiAocHJv
cGVydHlbMF0gPT09IHByZWZpeCkgZW50cmllcy5wdXNoKHtrZXk6IHByb3BlcnR5LnNsaWNlKDEp
LCB2YWx1ZTogdGhpc1twcm9wZXJ0eV19KTsKKyAgICByZXR1cm4gZW50cmllczsKKyAgfSwKKyAg
c2l6ZTogZnVuY3Rpb24oKSB7CisgICAgdmFyIHNpemUgPSAwOworICAgIGZvciAodmFyIHByb3Bl
cnR5IGluIHRoaXMpIGlmIChwcm9wZXJ0eVswXSA9PT0gcHJlZml4KSArK3NpemU7CisgICAgcmV0
dXJuIHNpemU7CisgIH0sCisgIGVtcHR5OiBmdW5jdGlvbigpIHsKKyAgICBmb3IgKHZhciBwcm9w
ZXJ0eSBpbiB0aGlzKSBpZiAocHJvcGVydHlbMF0gPT09IHByZWZpeCkgcmV0dXJuIGZhbHNlOwor
ICAgIHJldHVybiB0cnVlOworICB9LAorICBlYWNoOiBmdW5jdGlvbihmKSB7CisgICAgZm9yICh2
YXIgcHJvcGVydHkgaW4gdGhpcykgaWYgKHByb3BlcnR5WzBdID09PSBwcmVmaXgpIGYodGhpc1tw
cm9wZXJ0eV0sIHByb3BlcnR5LnNsaWNlKDEpLCB0aGlzKTsKKyAgfQorfTsKKworZnVuY3Rpb24g
bWFwJDEob2JqZWN0LCBmKSB7CisgIHZhciBtYXAgPSBuZXcgTWFwOworCisgIC8vIENvcHkgY29u
c3RydWN0b3IuCisgIGlmIChvYmplY3QgaW5zdGFuY2VvZiBNYXApIG9iamVjdC5lYWNoKGZ1bmN0
aW9uKHZhbHVlLCBrZXkpIHsgbWFwLnNldChrZXksIHZhbHVlKTsgfSk7CisKKyAgLy8gSW5kZXgg
YXJyYXkgYnkgbnVtZXJpYyBpbmRleCBvciBzcGVjaWZpZWQga2V5IGZ1bmN0aW9uLgorICBlbHNl
IGlmIChBcnJheS5pc0FycmF5KG9iamVjdCkpIHsKKyAgICB2YXIgaSA9IC0xLAorICAgICAgICBu
ID0gb2JqZWN0Lmxlbmd0aCwKKyAgICAgICAgbzsKKworICAgIGlmIChmID09IG51bGwpIHdoaWxl
ICgrK2kgPCBuKSBtYXAuc2V0KGksIG9iamVjdFtpXSk7CisgICAgZWxzZSB3aGlsZSAoKytpIDwg
bikgbWFwLnNldChmKG8gPSBvYmplY3RbaV0sIGksIG9iamVjdCksIG8pOworICB9CisKKyAgLy8g
Q29udmVydCBvYmplY3QgdG8gbWFwLgorICBlbHNlIGlmIChvYmplY3QpIGZvciAodmFyIGtleSBp
biBvYmplY3QpIG1hcC5zZXQoa2V5LCBvYmplY3Rba2V5XSk7CisKKyAgcmV0dXJuIG1hcDsKK30K
KworZnVuY3Rpb24gbmVzdCgpIHsKKyAgdmFyIGtleXMgPSBbXSwKKyAgICAgIHNvcnRLZXlzID0g
W10sCisgICAgICBzb3J0VmFsdWVzLAorICAgICAgcm9sbHVwLAorICAgICAgbmVzdDsKKworICBm
dW5jdGlvbiBhcHBseShhcnJheSwgZGVwdGgsIGNyZWF0ZVJlc3VsdCwgc2V0UmVzdWx0KSB7Cisg
ICAgaWYgKGRlcHRoID49IGtleXMubGVuZ3RoKSB7CisgICAgICBpZiAoc29ydFZhbHVlcyAhPSBu
dWxsKSBhcnJheS5zb3J0KHNvcnRWYWx1ZXMpOworICAgICAgcmV0dXJuIHJvbGx1cCAhPSBudWxs
ID8gcm9sbHVwKGFycmF5KSA6IGFycmF5OworICAgIH0KKworICAgIHZhciBpID0gLTEsCisgICAg
ICAgIG4gPSBhcnJheS5sZW5ndGgsCisgICAgICAgIGtleSA9IGtleXNbZGVwdGgrK10sCisgICAg
ICAgIGtleVZhbHVlLAorICAgICAgICB2YWx1ZSwKKyAgICAgICAgdmFsdWVzQnlLZXkgPSBtYXAk
MSgpLAorICAgICAgICB2YWx1ZXMsCisgICAgICAgIHJlc3VsdCA9IGNyZWF0ZVJlc3VsdCgpOwor
CisgICAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgIGlmICh2YWx1ZXMgPSB2YWx1ZXNCeUtleS5n
ZXQoa2V5VmFsdWUgPSBrZXkodmFsdWUgPSBhcnJheVtpXSkgKyAiIikpIHsKKyAgICAgICAgdmFs
dWVzLnB1c2godmFsdWUpOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgdmFsdWVzQnlLZXkuc2V0
KGtleVZhbHVlLCBbdmFsdWVdKTsKKyAgICAgIH0KKyAgICB9CisKKyAgICB2YWx1ZXNCeUtleS5l
YWNoKGZ1bmN0aW9uKHZhbHVlcywga2V5KSB7CisgICAgICBzZXRSZXN1bHQocmVzdWx0LCBrZXks
IGFwcGx5KHZhbHVlcywgZGVwdGgsIGNyZWF0ZVJlc3VsdCwgc2V0UmVzdWx0KSk7CisgICAgfSk7
CisKKyAgICByZXR1cm4gcmVzdWx0OworICB9CisKKyAgZnVuY3Rpb24gZW50cmllcyhtYXAsIGRl
cHRoKSB7CisgICAgaWYgKCsrZGVwdGggPiBrZXlzLmxlbmd0aCkgcmV0dXJuIG1hcDsKKyAgICB2
YXIgYXJyYXksIHNvcnRLZXkgPSBzb3J0S2V5c1tkZXB0aCAtIDFdOworICAgIGlmIChyb2xsdXAg
IT0gbnVsbCAmJiBkZXB0aCA+PSBrZXlzLmxlbmd0aCkgYXJyYXkgPSBtYXAuZW50cmllcygpOwor
ICAgIGVsc2UgYXJyYXkgPSBbXSwgbWFwLmVhY2goZnVuY3Rpb24odiwgaykgeyBhcnJheS5wdXNo
KHtrZXk6IGssIHZhbHVlczogZW50cmllcyh2LCBkZXB0aCl9KTsgfSk7CisgICAgcmV0dXJuIHNv
cnRLZXkgIT0gbnVsbCA/IGFycmF5LnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4gc29ydEtl
eShhLmtleSwgYi5rZXkpOyB9KSA6IGFycmF5OworICB9CisKKyAgcmV0dXJuIG5lc3QgPSB7Cisg
ICAgb2JqZWN0OiBmdW5jdGlvbihhcnJheSkgeyByZXR1cm4gYXBwbHkoYXJyYXksIDAsIGNyZWF0
ZU9iamVjdCwgc2V0T2JqZWN0KTsgfSwKKyAgICBtYXA6IGZ1bmN0aW9uKGFycmF5KSB7IHJldHVy
biBhcHBseShhcnJheSwgMCwgY3JlYXRlTWFwLCBzZXRNYXApOyB9LAorICAgIGVudHJpZXM6IGZ1
bmN0aW9uKGFycmF5KSB7IHJldHVybiBlbnRyaWVzKGFwcGx5KGFycmF5LCAwLCBjcmVhdGVNYXAs
IHNldE1hcCksIDApOyB9LAorICAgIGtleTogZnVuY3Rpb24oZCkgeyBrZXlzLnB1c2goZCk7IHJl
dHVybiBuZXN0OyB9LAorICAgIHNvcnRLZXlzOiBmdW5jdGlvbihvcmRlcikgeyBzb3J0S2V5c1tr
ZXlzLmxlbmd0aCAtIDFdID0gb3JkZXI7IHJldHVybiBuZXN0OyB9LAorICAgIHNvcnRWYWx1ZXM6
IGZ1bmN0aW9uKG9yZGVyKSB7IHNvcnRWYWx1ZXMgPSBvcmRlcjsgcmV0dXJuIG5lc3Q7IH0sCisg
ICAgcm9sbHVwOiBmdW5jdGlvbihmKSB7IHJvbGx1cCA9IGY7IHJldHVybiBuZXN0OyB9CisgIH07
Cit9CisKK2Z1bmN0aW9uIGNyZWF0ZU9iamVjdCgpIHsKKyAgcmV0dXJuIHt9OworfQorCitmdW5j
dGlvbiBzZXRPYmplY3Qob2JqZWN0LCBrZXksIHZhbHVlKSB7CisgIG9iamVjdFtrZXldID0gdmFs
dWU7Cit9CisKK2Z1bmN0aW9uIGNyZWF0ZU1hcCgpIHsKKyAgcmV0dXJuIG1hcCQxKCk7Cit9CisK
K2Z1bmN0aW9uIHNldE1hcChtYXAsIGtleSwgdmFsdWUpIHsKKyAgbWFwLnNldChrZXksIHZhbHVl
KTsKK30KKworZnVuY3Rpb24gU2V0KCkge30KKwordmFyIHByb3RvID0gbWFwJDEucHJvdG90eXBl
OworCitTZXQucHJvdG90eXBlID0gc2V0JDIucHJvdG90eXBlID0geworICBjb25zdHJ1Y3Rvcjog
U2V0LAorICBoYXM6IHByb3RvLmhhcywKKyAgYWRkOiBmdW5jdGlvbih2YWx1ZSkgeworICAgIHZh
bHVlICs9ICIiOworICAgIHRoaXNbcHJlZml4ICsgdmFsdWVdID0gdmFsdWU7CisgICAgcmV0dXJu
IHRoaXM7CisgIH0sCisgIHJlbW92ZTogcHJvdG8ucmVtb3ZlLAorICBjbGVhcjogcHJvdG8uY2xl
YXIsCisgIHZhbHVlczogcHJvdG8ua2V5cywKKyAgc2l6ZTogcHJvdG8uc2l6ZSwKKyAgZW1wdHk6
IHByb3RvLmVtcHR5LAorICBlYWNoOiBwcm90by5lYWNoCit9OworCitmdW5jdGlvbiBzZXQkMihv
YmplY3QsIGYpIHsKKyAgdmFyIHNldCA9IG5ldyBTZXQ7CisKKyAgLy8gQ29weSBjb25zdHJ1Y3Rv
ci4KKyAgaWYgKG9iamVjdCBpbnN0YW5jZW9mIFNldCkgb2JqZWN0LmVhY2goZnVuY3Rpb24odmFs
dWUpIHsgc2V0LmFkZCh2YWx1ZSk7IH0pOworCisgIC8vIE90aGVyd2lzZSwgYXNzdW1lIGl04oCZ
cyBhbiBhcnJheS4KKyAgZWxzZSBpZiAob2JqZWN0KSB7CisgICAgdmFyIGkgPSAtMSwgbiA9IG9i
amVjdC5sZW5ndGg7CisgICAgaWYgKGYgPT0gbnVsbCkgd2hpbGUgKCsraSA8IG4pIHNldC5hZGQo
b2JqZWN0W2ldKTsKKyAgICBlbHNlIHdoaWxlICgrK2kgPCBuKSBzZXQuYWRkKGYob2JqZWN0W2ld
LCBpLCBvYmplY3QpKTsKKyAgfQorCisgIHJldHVybiBzZXQ7Cit9CisKK2Z1bmN0aW9uIGtleXMo
bWFwKSB7CisgIHZhciBrZXlzID0gW107CisgIGZvciAodmFyIGtleSBpbiBtYXApIGtleXMucHVz
aChrZXkpOworICByZXR1cm4ga2V5czsKK30KKworZnVuY3Rpb24gdmFsdWVzKG1hcCkgeworICB2
YXIgdmFsdWVzID0gW107CisgIGZvciAodmFyIGtleSBpbiBtYXApIHZhbHVlcy5wdXNoKG1hcFtr
ZXldKTsKKyAgcmV0dXJuIHZhbHVlczsKK30KKworZnVuY3Rpb24gZW50cmllcyhtYXApIHsKKyAg
dmFyIGVudHJpZXMgPSBbXTsKKyAgZm9yICh2YXIga2V5IGluIG1hcCkgZW50cmllcy5wdXNoKHtr
ZXk6IGtleSwgdmFsdWU6IG1hcFtrZXldfSk7CisgIHJldHVybiBlbnRyaWVzOworfQorCit2YXIg
YXJyYXkkMiA9IEFycmF5LnByb3RvdHlwZTsKKwordmFyIHNsaWNlJDMgPSBhcnJheSQyLnNsaWNl
OworCitmdW5jdGlvbiBhc2NlbmRpbmckMihhLCBiKSB7CisgIHJldHVybiBhIC0gYjsKK30KKwor
ZnVuY3Rpb24gYXJlYShyaW5nKSB7CisgIHZhciBpID0gMCwgbiA9IHJpbmcubGVuZ3RoLCBhcmVh
ID0gcmluZ1tuIC0gMV1bMV0gKiByaW5nWzBdWzBdIC0gcmluZ1tuIC0gMV1bMF0gKiByaW5nWzBd
WzFdOworICB3aGlsZSAoKytpIDwgbikgYXJlYSArPSByaW5nW2kgLSAxXVsxXSAqIHJpbmdbaV1b
MF0gLSByaW5nW2kgLSAxXVswXSAqIHJpbmdbaV1bMV07CisgIHJldHVybiBhcmVhOworfQorCitm
dW5jdGlvbiBjb25zdGFudCQ2KHgpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgIHJldHVy
biB4OworICB9OworfQorCitmdW5jdGlvbiBjb250YWlucyhyaW5nLCBob2xlKSB7CisgIHZhciBp
ID0gLTEsIG4gPSBob2xlLmxlbmd0aCwgYzsKKyAgd2hpbGUgKCsraSA8IG4pIGlmIChjID0gcmlu
Z0NvbnRhaW5zKHJpbmcsIGhvbGVbaV0pKSByZXR1cm4gYzsKKyAgcmV0dXJuIDA7Cit9CisKK2Z1
bmN0aW9uIHJpbmdDb250YWlucyhyaW5nLCBwb2ludCkgeworICB2YXIgeCA9IHBvaW50WzBdLCB5
ID0gcG9pbnRbMV0sIGNvbnRhaW5zID0gLTE7CisgIGZvciAodmFyIGkgPSAwLCBuID0gcmluZy5s
ZW5ndGgsIGogPSBuIC0gMTsgaSA8IG47IGogPSBpKyspIHsKKyAgICB2YXIgcGkgPSByaW5nW2ld
LCB4aSA9IHBpWzBdLCB5aSA9IHBpWzFdLCBwaiA9IHJpbmdbal0sIHhqID0gcGpbMF0sIHlqID0g
cGpbMV07CisgICAgaWYgKHNlZ21lbnRDb250YWlucyhwaSwgcGosIHBvaW50KSkgcmV0dXJuIDA7
CisgICAgaWYgKCgoeWkgPiB5KSAhPT0gKHlqID4geSkpICYmICgoeCA8ICh4aiAtIHhpKSAqICh5
IC0geWkpIC8gKHlqIC0geWkpICsgeGkpKSkgY29udGFpbnMgPSAtY29udGFpbnM7CisgIH0KKyAg
cmV0dXJuIGNvbnRhaW5zOworfQorCitmdW5jdGlvbiBzZWdtZW50Q29udGFpbnMoYSwgYiwgYykg
eworICB2YXIgaTsgcmV0dXJuIGNvbGxpbmVhcihhLCBiLCBjKSAmJiB3aXRoaW4oYVtpID0gKyhh
WzBdID09PSBiWzBdKV0sIGNbaV0sIGJbaV0pOworfQorCitmdW5jdGlvbiBjb2xsaW5lYXIoYSwg
YiwgYykgeworICByZXR1cm4gKGJbMF0gLSBhWzBdKSAqIChjWzFdIC0gYVsxXSkgPT09IChjWzBd
IC0gYVswXSkgKiAoYlsxXSAtIGFbMV0pOworfQorCitmdW5jdGlvbiB3aXRoaW4ocCwgcSwgcikg
eworICByZXR1cm4gcCA8PSBxICYmIHEgPD0gciB8fCByIDw9IHEgJiYgcSA8PSBwOworfQorCitm
dW5jdGlvbiBub29wJDEoKSB7fQorCit2YXIgY2FzZXMgPSBbCisgIFtdLAorICBbW1sxLjAsIDEu
NV0sIFswLjUsIDEuMF1dXSwKKyAgW1tbMS41LCAxLjBdLCBbMS4wLCAxLjVdXV0sCisgIFtbWzEu
NSwgMS4wXSwgWzAuNSwgMS4wXV1dLAorICBbW1sxLjAsIDAuNV0sIFsxLjUsIDEuMF1dXSwKKyAg
W1tbMS4wLCAxLjVdLCBbMC41LCAxLjBdXSwgW1sxLjAsIDAuNV0sIFsxLjUsIDEuMF1dXSwKKyAg
W1tbMS4wLCAwLjVdLCBbMS4wLCAxLjVdXV0sCisgIFtbWzEuMCwgMC41XSwgWzAuNSwgMS4wXV1d
LAorICBbW1swLjUsIDEuMF0sIFsxLjAsIDAuNV1dXSwKKyAgW1tbMS4wLCAxLjVdLCBbMS4wLCAw
LjVdXV0sCisgIFtbWzAuNSwgMS4wXSwgWzEuMCwgMC41XV0sIFtbMS41LCAxLjBdLCBbMS4wLCAx
LjVdXV0sCisgIFtbWzEuNSwgMS4wXSwgWzEuMCwgMC41XV1dLAorICBbW1swLjUsIDEuMF0sIFsx
LjUsIDEuMF1dXSwKKyAgW1tbMS4wLCAxLjVdLCBbMS41LCAxLjBdXV0sCisgIFtbWzAuNSwgMS4w
XSwgWzEuMCwgMS41XV1dLAorICBbXQorXTsKKworZnVuY3Rpb24gY29udG91cnMoKSB7CisgIHZh
ciBkeCA9IDEsCisgICAgICBkeSA9IDEsCisgICAgICB0aHJlc2hvbGQgPSB0aHJlc2hvbGRTdHVy
Z2VzLAorICAgICAgc21vb3RoID0gc21vb3RoTGluZWFyOworCisgIGZ1bmN0aW9uIGNvbnRvdXJz
KHZhbHVlcykgeworICAgIHZhciB0eiA9IHRocmVzaG9sZCh2YWx1ZXMpOworCisgICAgLy8gQ29u
dmVydCBudW1iZXIgb2YgdGhyZXNob2xkcyBpbnRvIHVuaWZvcm0gdGhyZXNob2xkcy4KKyAgICBp
ZiAoIUFycmF5LmlzQXJyYXkodHopKSB7CisgICAgICB2YXIgZG9tYWluID0gZXh0ZW50KHZhbHVl
cyksIHN0YXJ0ID0gZG9tYWluWzBdLCBzdG9wID0gZG9tYWluWzFdOworICAgICAgdHogPSB0aWNr
U3RlcChzdGFydCwgc3RvcCwgdHopOworICAgICAgdHogPSBzZXF1ZW5jZShNYXRoLmZsb29yKHN0
YXJ0IC8gdHopICogdHosIE1hdGguZmxvb3Ioc3RvcCAvIHR6KSAqIHR6LCB0eik7CisgICAgfSBl
bHNlIHsKKyAgICAgIHR6ID0gdHouc2xpY2UoKS5zb3J0KGFzY2VuZGluZyQyKTsKKyAgICB9CisK
KyAgICByZXR1cm4gdHoubWFwKGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICByZXR1cm4gY29udG91
cih2YWx1ZXMsIHZhbHVlKTsKKyAgICB9KTsKKyAgfQorCisgIC8vIEFjY3VtdWxhdGUsIHNtb290
aCBjb250b3VyIHJpbmdzLCBhc3NpZ24gaG9sZXMgdG8gZXh0ZXJpb3IgcmluZ3MuCisgIC8vIEJh
c2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9tYm9zdG9jay9zaGFwZWZpbGUvYmxvYi92MC42LjIv
c2hwL3BvbHlnb24uanMKKyAgZnVuY3Rpb24gY29udG91cih2YWx1ZXMsIHZhbHVlKSB7CisgICAg
dmFyIHBvbHlnb25zID0gW10sCisgICAgICAgIGhvbGVzID0gW107CisKKyAgICBpc29yaW5ncyh2
YWx1ZXMsIHZhbHVlLCBmdW5jdGlvbihyaW5nKSB7CisgICAgICBzbW9vdGgocmluZywgdmFsdWVz
LCB2YWx1ZSk7CisgICAgICBpZiAoYXJlYShyaW5nKSA+IDApIHBvbHlnb25zLnB1c2goW3Jpbmdd
KTsKKyAgICAgIGVsc2UgaG9sZXMucHVzaChyaW5nKTsKKyAgICB9KTsKKworICAgIGhvbGVzLmZv
ckVhY2goZnVuY3Rpb24oaG9sZSkgeworICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBwb2x5Z29u
cy5sZW5ndGgsIHBvbHlnb247IGkgPCBuOyArK2kpIHsKKyAgICAgICAgaWYgKGNvbnRhaW5zKChw
b2x5Z29uID0gcG9seWdvbnNbaV0pWzBdLCBob2xlKSAhPT0gLTEpIHsKKyAgICAgICAgICBwb2x5
Z29uLnB1c2goaG9sZSk7CisgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICB9Cisg
ICAgfSk7CisKKyAgICByZXR1cm4geworICAgICAgdHlwZTogIk11bHRpUG9seWdvbiIsCisgICAg
ICB2YWx1ZTogdmFsdWUsCisgICAgICBjb29yZGluYXRlczogcG9seWdvbnMKKyAgICB9OworICB9
CisKKyAgLy8gTWFyY2hpbmcgc3F1YXJlcyB3aXRoIGlzb2xpbmVzIHN0aXRjaGVkIGludG8gcmlu
Z3MuCisgIC8vIEJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS90b3BvanNvbi90b3BvanNvbi1j
bGllbnQvYmxvYi92My4wLjAvc3JjL3N0aXRjaC5qcworICBmdW5jdGlvbiBpc29yaW5ncyh2YWx1
ZXMsIHZhbHVlLCBjYWxsYmFjaykgeworICAgIHZhciBmcmFnbWVudEJ5U3RhcnQgPSBuZXcgQXJy
YXksCisgICAgICAgIGZyYWdtZW50QnlFbmQgPSBuZXcgQXJyYXksCisgICAgICAgIHgsIHksIHQw
LCB0MSwgdDIsIHQzOworCisgICAgLy8gU3BlY2lhbCBjYXNlIGZvciB0aGUgZmlyc3Qgcm93ICh5
ID0gLTEsIHQyID0gdDMgPSAwKS4KKyAgICB4ID0geSA9IC0xOworICAgIHQxID0gdmFsdWVzWzBd
ID49IHZhbHVlOworICAgIGNhc2VzW3QxIDw8IDFdLmZvckVhY2goc3RpdGNoKTsKKyAgICB3aGls
ZSAoKyt4IDwgZHggLSAxKSB7CisgICAgICB0MCA9IHQxLCB0MSA9IHZhbHVlc1t4ICsgMV0gPj0g
dmFsdWU7CisgICAgICBjYXNlc1t0MCB8IHQxIDw8IDFdLmZvckVhY2goc3RpdGNoKTsKKyAgICB9
CisgICAgY2FzZXNbdDEgPDwgMF0uZm9yRWFjaChzdGl0Y2gpOworCisgICAgLy8gR2VuZXJhbCBj
YXNlIGZvciB0aGUgaW50ZXJtZWRpYXRlIHJvd3MuCisgICAgd2hpbGUgKCsreSA8IGR5IC0gMSkg
eworICAgICAgeCA9IC0xOworICAgICAgdDEgPSB2YWx1ZXNbeSAqIGR4ICsgZHhdID49IHZhbHVl
OworICAgICAgdDIgPSB2YWx1ZXNbeSAqIGR4XSA+PSB2YWx1ZTsKKyAgICAgIGNhc2VzW3QxIDw8
IDEgfCB0MiA8PCAyXS5mb3JFYWNoKHN0aXRjaCk7CisgICAgICB3aGlsZSAoKyt4IDwgZHggLSAx
KSB7CisgICAgICAgIHQwID0gdDEsIHQxID0gdmFsdWVzW3kgKiBkeCArIGR4ICsgeCArIDFdID49
IHZhbHVlOworICAgICAgICB0MyA9IHQyLCB0MiA9IHZhbHVlc1t5ICogZHggKyB4ICsgMV0gPj0g
dmFsdWU7CisgICAgICAgIGNhc2VzW3QwIHwgdDEgPDwgMSB8IHQyIDw8IDIgfCB0MyA8PCAzXS5m
b3JFYWNoKHN0aXRjaCk7CisgICAgICB9CisgICAgICBjYXNlc1t0MSB8IHQyIDw8IDNdLmZvckVh
Y2goc3RpdGNoKTsKKyAgICB9CisKKyAgICAvLyBTcGVjaWFsIGNhc2UgZm9yIHRoZSBsYXN0IHJv
dyAoeSA9IGR5IC0gMSwgdDAgPSB0MSA9IDApLgorICAgIHggPSAtMTsKKyAgICB0MiA9IHZhbHVl
c1t5ICogZHhdID49IHZhbHVlOworICAgIGNhc2VzW3QyIDw8IDJdLmZvckVhY2goc3RpdGNoKTsK
KyAgICB3aGlsZSAoKyt4IDwgZHggLSAxKSB7CisgICAgICB0MyA9IHQyLCB0MiA9IHZhbHVlc1t5
ICogZHggKyB4ICsgMV0gPj0gdmFsdWU7CisgICAgICBjYXNlc1t0MiA8PCAyIHwgdDMgPDwgM10u
Zm9yRWFjaChzdGl0Y2gpOworICAgIH0KKyAgICBjYXNlc1t0MiA8PCAzXS5mb3JFYWNoKHN0aXRj
aCk7CisKKyAgICBmdW5jdGlvbiBzdGl0Y2gobGluZSkgeworICAgICAgdmFyIHN0YXJ0ID0gW2xp
bmVbMF1bMF0gKyB4LCBsaW5lWzBdWzFdICsgeV0sCisgICAgICAgICAgZW5kID0gW2xpbmVbMV1b
MF0gKyB4LCBsaW5lWzFdWzFdICsgeV0sCisgICAgICAgICAgc3RhcnRJbmRleCA9IGluZGV4KHN0
YXJ0KSwKKyAgICAgICAgICBlbmRJbmRleCA9IGluZGV4KGVuZCksCisgICAgICAgICAgZiwgZzsK
KyAgICAgIGlmIChmID0gZnJhZ21lbnRCeUVuZFtzdGFydEluZGV4XSkgeworICAgICAgICBpZiAo
ZyA9IGZyYWdtZW50QnlTdGFydFtlbmRJbmRleF0pIHsKKyAgICAgICAgICBkZWxldGUgZnJhZ21l
bnRCeUVuZFtmLmVuZF07CisgICAgICAgICAgZGVsZXRlIGZyYWdtZW50QnlTdGFydFtnLnN0YXJ0
XTsKKyAgICAgICAgICBpZiAoZiA9PT0gZykgeworICAgICAgICAgICAgZi5yaW5nLnB1c2goZW5k
KTsKKyAgICAgICAgICAgIGNhbGxiYWNrKGYucmluZyk7CisgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIGZyYWdtZW50QnlTdGFydFtmLnN0YXJ0XSA9IGZyYWdtZW50QnlFbmRbZy5lbmRd
ID0ge3N0YXJ0OiBmLnN0YXJ0LCBlbmQ6IGcuZW5kLCByaW5nOiBmLnJpbmcuY29uY2F0KGcucmlu
Zyl9OworICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBkZWxldGUgZnJh
Z21lbnRCeUVuZFtmLmVuZF07CisgICAgICAgICAgZi5yaW5nLnB1c2goZW5kKTsKKyAgICAgICAg
ICBmcmFnbWVudEJ5RW5kW2YuZW5kID0gZW5kSW5kZXhdID0gZjsKKyAgICAgICAgfQorICAgICAg
fSBlbHNlIGlmIChmID0gZnJhZ21lbnRCeVN0YXJ0W2VuZEluZGV4XSkgeworICAgICAgICBpZiAo
ZyA9IGZyYWdtZW50QnlFbmRbc3RhcnRJbmRleF0pIHsKKyAgICAgICAgICBkZWxldGUgZnJhZ21l
bnRCeVN0YXJ0W2Yuc3RhcnRdOworICAgICAgICAgIGRlbGV0ZSBmcmFnbWVudEJ5RW5kW2cuZW5k
XTsKKyAgICAgICAgICBpZiAoZiA9PT0gZykgeworICAgICAgICAgICAgZi5yaW5nLnB1c2goZW5k
KTsKKyAgICAgICAgICAgIGNhbGxiYWNrKGYucmluZyk7CisgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIGZyYWdtZW50QnlTdGFydFtnLnN0YXJ0XSA9IGZyYWdtZW50QnlFbmRbZi5lbmRd
ID0ge3N0YXJ0OiBnLnN0YXJ0LCBlbmQ6IGYuZW5kLCByaW5nOiBnLnJpbmcuY29uY2F0KGYucmlu
Zyl9OworICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBkZWxldGUgZnJh
Z21lbnRCeVN0YXJ0W2Yuc3RhcnRdOworICAgICAgICAgIGYucmluZy51bnNoaWZ0KHN0YXJ0KTsK
KyAgICAgICAgICBmcmFnbWVudEJ5U3RhcnRbZi5zdGFydCA9IHN0YXJ0SW5kZXhdID0gZjsKKyAg
ICAgICAgfQorICAgICAgfSBlbHNlIHsKKyAgICAgICAgZnJhZ21lbnRCeVN0YXJ0W3N0YXJ0SW5k
ZXhdID0gZnJhZ21lbnRCeUVuZFtlbmRJbmRleF0gPSB7c3RhcnQ6IHN0YXJ0SW5kZXgsIGVuZDog
ZW5kSW5kZXgsIHJpbmc6IFtzdGFydCwgZW5kXX07CisgICAgICB9CisgICAgfQorICB9CisKKyAg
ZnVuY3Rpb24gaW5kZXgocG9pbnQpIHsKKyAgICByZXR1cm4gcG9pbnRbMF0gKiAyICsgcG9pbnRb
MV0gKiAoZHggKyAxKSAqIDQ7CisgIH0KKworICBmdW5jdGlvbiBzbW9vdGhMaW5lYXIocmluZywg
dmFsdWVzLCB2YWx1ZSkgeworICAgIHJpbmcuZm9yRWFjaChmdW5jdGlvbihwb2ludCkgeworICAg
ICAgdmFyIHggPSBwb2ludFswXSwKKyAgICAgICAgICB5ID0gcG9pbnRbMV0sCisgICAgICAgICAg
eHQgPSB4IHwgMCwKKyAgICAgICAgICB5dCA9IHkgfCAwLAorICAgICAgICAgIHYwLAorICAgICAg
ICAgIHYxID0gdmFsdWVzW3l0ICogZHggKyB4dF07CisgICAgICBpZiAoeCA+IDAgJiYgeCA8IGR4
ICYmIHh0ID09PSB4KSB7CisgICAgICAgIHYwID0gdmFsdWVzW3l0ICogZHggKyB4dCAtIDFdOwor
ICAgICAgICBwb2ludFswXSA9IHggKyAodmFsdWUgLSB2MCkgLyAodjEgLSB2MCkgLSAwLjU7Cisg
ICAgICB9CisgICAgICBpZiAoeSA+IDAgJiYgeSA8IGR5ICYmIHl0ID09PSB5KSB7CisgICAgICAg
IHYwID0gdmFsdWVzWyh5dCAtIDEpICogZHggKyB4dF07CisgICAgICAgIHBvaW50WzFdID0geSAr
ICh2YWx1ZSAtIHYwKSAvICh2MSAtIHYwKSAtIDAuNTsKKyAgICAgIH0KKyAgICB9KTsKKyAgfQor
CisgIGNvbnRvdXJzLmNvbnRvdXIgPSBjb250b3VyOworCisgIGNvbnRvdXJzLnNpemUgPSBmdW5j
dGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gW2R4LCBkeV07Cisg
ICAgdmFyIF8wID0gTWF0aC5jZWlsKF9bMF0pLCBfMSA9IE1hdGguY2VpbChfWzFdKTsKKyAgICBp
ZiAoIShfMCA+IDApIHx8ICEoXzEgPiAwKSkgdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHNpemUi
KTsKKyAgICByZXR1cm4gZHggPSBfMCwgZHkgPSBfMSwgY29udG91cnM7CisgIH07CisKKyAgY29u
dG91cnMudGhyZXNob2xkcyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/ICh0aHJlc2hvbGQgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBBcnJheS5p
c0FycmF5KF8pID8gY29uc3RhbnQkNihzbGljZSQzLmNhbGwoXykpIDogY29uc3RhbnQkNihfKSwg
Y29udG91cnMpIDogdGhyZXNob2xkOworICB9OworCisgIGNvbnRvdXJzLnNtb290aCA9IGZ1bmN0
aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzbW9vdGggPSBfID8gc21v
b3RoTGluZWFyIDogbm9vcCQxLCBjb250b3VycykgOiBzbW9vdGggPT09IHNtb290aExpbmVhcjsK
KyAgfTsKKworICByZXR1cm4gY29udG91cnM7Cit9CisKKy8vIFRPRE8gT3B0aW1pemUgZWRnZSBj
YXNlcy4KKy8vIFRPRE8gT3B0aW1pemUgaW5kZXggY2FsY3VsYXRpb24uCisvLyBUT0RPIE9wdGlt
aXplIGFyZ3VtZW50cy4KK2Z1bmN0aW9uIGJsdXJYKHNvdXJjZSwgdGFyZ2V0LCByKSB7CisgIHZh
ciBuID0gc291cmNlLndpZHRoLAorICAgICAgbSA9IHNvdXJjZS5oZWlnaHQsCisgICAgICB3ID0g
KHIgPDwgMSkgKyAxOworICBmb3IgKHZhciBqID0gMDsgaiA8IG07ICsraikgeworICAgIGZvciAo
dmFyIGkgPSAwLCBzciA9IDA7IGkgPCBuICsgcjsgKytpKSB7CisgICAgICBpZiAoaSA8IG4pIHsK
KyAgICAgICAgc3IgKz0gc291cmNlLmRhdGFbaSArIGogKiBuXTsKKyAgICAgIH0KKyAgICAgIGlm
IChpID49IHIpIHsKKyAgICAgICAgaWYgKGkgPj0gdykgeworICAgICAgICAgIHNyIC09IHNvdXJj
ZS5kYXRhW2kgLSB3ICsgaiAqIG5dOworICAgICAgICB9CisgICAgICAgIHRhcmdldC5kYXRhW2kg
LSByICsgaiAqIG5dID0gc3IgLyBNYXRoLm1pbihpICsgMSwgbiAtIDEgKyB3IC0gaSwgdyk7Cisg
ICAgICB9CisgICAgfQorICB9Cit9CisKKy8vIFRPRE8gT3B0aW1pemUgZWRnZSBjYXNlcy4KKy8v
IFRPRE8gT3B0aW1pemUgaW5kZXggY2FsY3VsYXRpb24uCisvLyBUT0RPIE9wdGltaXplIGFyZ3Vt
ZW50cy4KK2Z1bmN0aW9uIGJsdXJZKHNvdXJjZSwgdGFyZ2V0LCByKSB7CisgIHZhciBuID0gc291
cmNlLndpZHRoLAorICAgICAgbSA9IHNvdXJjZS5oZWlnaHQsCisgICAgICB3ID0gKHIgPDwgMSkg
KyAxOworICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsraSkgeworICAgIGZvciAodmFyIGogPSAw
LCBzciA9IDA7IGogPCBtICsgcjsgKytqKSB7CisgICAgICBpZiAoaiA8IG0pIHsKKyAgICAgICAg
c3IgKz0gc291cmNlLmRhdGFbaSArIGogKiBuXTsKKyAgICAgIH0KKyAgICAgIGlmIChqID49IHIp
IHsKKyAgICAgICAgaWYgKGogPj0gdykgeworICAgICAgICAgIHNyIC09IHNvdXJjZS5kYXRhW2kg
KyAoaiAtIHcpICogbl07CisgICAgICAgIH0KKyAgICAgICAgdGFyZ2V0LmRhdGFbaSArIChqIC0g
cikgKiBuXSA9IHNyIC8gTWF0aC5taW4oaiArIDEsIG0gLSAxICsgdyAtIGosIHcpOworICAgICAg
fQorICAgIH0KKyAgfQorfQorCitmdW5jdGlvbiBkZWZhdWx0WChkKSB7CisgIHJldHVybiBkWzBd
OworfQorCitmdW5jdGlvbiBkZWZhdWx0WShkKSB7CisgIHJldHVybiBkWzFdOworfQorCitmdW5j
dGlvbiBkZWZhdWx0V2VpZ2h0KCkgeworICByZXR1cm4gMTsKK30KKworZnVuY3Rpb24gZGVuc2l0
eSgpIHsKKyAgdmFyIHggPSBkZWZhdWx0WCwKKyAgICAgIHkgPSBkZWZhdWx0WSwKKyAgICAgIHdl
aWdodCA9IGRlZmF1bHRXZWlnaHQsCisgICAgICBkeCA9IDk2MCwKKyAgICAgIGR5ID0gNTAwLAor
ICAgICAgciA9IDIwLCAvLyBibHVyIHJhZGl1cworICAgICAgayA9IDIsIC8vIGxvZzIoZ3JpZCBj
ZWxsIHNpemUpCisgICAgICBvID0gciAqIDMsIC8vIGdyaWQgb2Zmc2V0LCB0byBwYWQgZm9yIGJs
dXIKKyAgICAgIG4gPSAoZHggKyBvICogMikgPj4gaywgLy8gZ3JpZCB3aWR0aAorICAgICAgbSA9
IChkeSArIG8gKiAyKSA+PiBrLCAvLyBncmlkIGhlaWdodAorICAgICAgdGhyZXNob2xkID0gY29u
c3RhbnQkNigyMCk7CisKKyAgZnVuY3Rpb24gZGVuc2l0eShkYXRhKSB7CisgICAgdmFyIHZhbHVl
czAgPSBuZXcgRmxvYXQzMkFycmF5KG4gKiBtKSwKKyAgICAgICAgdmFsdWVzMSA9IG5ldyBGbG9h
dDMyQXJyYXkobiAqIG0pOworCisgICAgZGF0YS5mb3JFYWNoKGZ1bmN0aW9uKGQsIGksIGRhdGEp
IHsKKyAgICAgIHZhciB4aSA9ICgreChkLCBpLCBkYXRhKSArIG8pID4+IGssCisgICAgICAgICAg
eWkgPSAoK3koZCwgaSwgZGF0YSkgKyBvKSA+PiBrLAorICAgICAgICAgIHdpID0gK3dlaWdodChk
LCBpLCBkYXRhKTsKKyAgICAgIGlmICh4aSA+PSAwICYmIHhpIDwgbiAmJiB5aSA+PSAwICYmIHlp
IDwgbSkgeworICAgICAgICB2YWx1ZXMwW3hpICsgeWkgKiBuXSArPSB3aTsKKyAgICAgIH0KKyAg
ICB9KTsKKworICAgIC8vIFRPRE8gT3B0aW1pemUuCisgICAgYmx1clgoe3dpZHRoOiBuLCBoZWln
aHQ6IG0sIGRhdGE6IHZhbHVlczB9LCB7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTogdmFsdWVz
MX0sIHIgPj4gayk7CisgICAgYmx1clkoe3dpZHRoOiBuLCBoZWlnaHQ6IG0sIGRhdGE6IHZhbHVl
czF9LCB7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTogdmFsdWVzMH0sIHIgPj4gayk7CisgICAg
Ymx1clgoe3dpZHRoOiBuLCBoZWlnaHQ6IG0sIGRhdGE6IHZhbHVlczB9LCB7d2lkdGg6IG4sIGhl
aWdodDogbSwgZGF0YTogdmFsdWVzMX0sIHIgPj4gayk7CisgICAgYmx1clkoe3dpZHRoOiBuLCBo
ZWlnaHQ6IG0sIGRhdGE6IHZhbHVlczF9LCB7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTogdmFs
dWVzMH0sIHIgPj4gayk7CisgICAgYmx1clgoe3dpZHRoOiBuLCBoZWlnaHQ6IG0sIGRhdGE6IHZh
bHVlczB9LCB7d2lkdGg6IG4sIGhlaWdodDogbSwgZGF0YTogdmFsdWVzMX0sIHIgPj4gayk7Cisg
ICAgYmx1clkoe3dpZHRoOiBuLCBoZWlnaHQ6IG0sIGRhdGE6IHZhbHVlczF9LCB7d2lkdGg6IG4s
IGhlaWdodDogbSwgZGF0YTogdmFsdWVzMH0sIHIgPj4gayk7CisKKyAgICB2YXIgdHogPSB0aHJl
c2hvbGQodmFsdWVzMCk7CisKKyAgICAvLyBDb252ZXJ0IG51bWJlciBvZiB0aHJlc2hvbGRzIGlu
dG8gdW5pZm9ybSB0aHJlc2hvbGRzLgorICAgIGlmICghQXJyYXkuaXNBcnJheSh0eikpIHsKKyAg
ICAgIHZhciBzdG9wID0gbWF4KHZhbHVlczApOworICAgICAgdHogPSB0aWNrU3RlcCgwLCBzdG9w
LCB0eik7CisgICAgICB0eiA9IHNlcXVlbmNlKDAsIE1hdGguZmxvb3Ioc3RvcCAvIHR6KSAqIHR6
LCB0eik7CisgICAgICB0ei5zaGlmdCgpOworICAgIH0KKworICAgIHJldHVybiBjb250b3Vycygp
CisgICAgICAgIC50aHJlc2hvbGRzKHR6KQorICAgICAgICAuc2l6ZShbbiwgbV0pCisgICAgICAo
dmFsdWVzMCkKKyAgICAgICAgLm1hcCh0cmFuc2Zvcm0pOworICB9CisKKyAgZnVuY3Rpb24gdHJh
bnNmb3JtKGdlb21ldHJ5KSB7CisgICAgZ2VvbWV0cnkudmFsdWUgKj0gTWF0aC5wb3coMiwgLTIg
KiBrKTsgLy8gRGVuc2l0eSBpbiBwb2ludHMgcGVyIHNxdWFyZSBwaXhlbC4KKyAgICBnZW9tZXRy
eS5jb29yZGluYXRlcy5mb3JFYWNoKHRyYW5zZm9ybVBvbHlnb24pOworICAgIHJldHVybiBnZW9t
ZXRyeTsKKyAgfQorCisgIGZ1bmN0aW9uIHRyYW5zZm9ybVBvbHlnb24oY29vcmRpbmF0ZXMpIHsK
KyAgICBjb29yZGluYXRlcy5mb3JFYWNoKHRyYW5zZm9ybVJpbmcpOworICB9CisKKyAgZnVuY3Rp
b24gdHJhbnNmb3JtUmluZyhjb29yZGluYXRlcykgeworICAgIGNvb3JkaW5hdGVzLmZvckVhY2go
dHJhbnNmb3JtUG9pbnQpOworICB9CisKKyAgLy8gVE9ETyBPcHRpbWl6ZS4KKyAgZnVuY3Rpb24g
dHJhbnNmb3JtUG9pbnQoY29vcmRpbmF0ZXMpIHsKKyAgICBjb29yZGluYXRlc1swXSA9IGNvb3Jk
aW5hdGVzWzBdICogTWF0aC5wb3coMiwgaykgLSBvOworICAgIGNvb3JkaW5hdGVzWzFdID0gY29v
cmRpbmF0ZXNbMV0gKiBNYXRoLnBvdygyLCBrKSAtIG87CisgIH0KKworICBmdW5jdGlvbiByZXNp
emUoKSB7CisgICAgbyA9IHIgKiAzOworICAgIG4gPSAoZHggKyBvICogMikgPj4gazsKKyAgICBt
ID0gKGR5ICsgbyAqIDIpID4+IGs7CisgICAgcmV0dXJuIGRlbnNpdHk7CisgIH0KKworICBkZW5z
aXR5LnggPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeCA9
IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDYoK18pLCBkZW5zaXR5KSA6
IHg7CisgIH07CisKKyAgZGVuc2l0eS55ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gKHkgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFu
dCQ2KCtfKSwgZGVuc2l0eSkgOiB5OworICB9OworCisgIGRlbnNpdHkud2VpZ2h0ID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHdlaWdodCA9IHR5cGVvZiBf
ID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDYoK18pLCBkZW5zaXR5KSA6IHdlaWdodDsK
KyAgfTsKKworICBkZW5zaXR5LnNpemUgPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVu
dHMubGVuZ3RoKSByZXR1cm4gW2R4LCBkeV07CisgICAgdmFyIF8wID0gTWF0aC5jZWlsKF9bMF0p
LCBfMSA9IE1hdGguY2VpbChfWzFdKTsKKyAgICBpZiAoIShfMCA+PSAwKSAmJiAhKF8wID49IDAp
KSB0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgc2l6ZSIpOworICAgIHJldHVybiBkeCA9IF8wLCBk
eSA9IF8xLCByZXNpemUoKTsKKyAgfTsKKworICBkZW5zaXR5LmNlbGxTaXplID0gZnVuY3Rpb24o
XykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIDEgPDwgazsKKyAgICBpZiAo
ISgoXyA9ICtfKSA+PSAxKSkgdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNlbGwgc2l6ZSIpOwor
ICAgIHJldHVybiBrID0gTWF0aC5mbG9vcihNYXRoLmxvZyhfKSAvIE1hdGguTE4yKSwgcmVzaXpl
KCk7CisgIH07CisKKyAgZGVuc2l0eS50aHJlc2hvbGRzID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRocmVzaG9sZCA9IHR5cGVvZiBfID09PSAiZnVuY3Rp
b24iID8gXyA6IEFycmF5LmlzQXJyYXkoXykgPyBjb25zdGFudCQ2KHNsaWNlJDMuY2FsbChfKSkg
OiBjb25zdGFudCQ2KF8pLCBkZW5zaXR5KSA6IHRocmVzaG9sZDsKKyAgfTsKKworICBkZW5zaXR5
LmJhbmR3aWR0aCA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJl
dHVybiBNYXRoLnNxcnQociAqIChyICsgMSkpOworICAgIGlmICghKChfID0gK18pID49IDApKSB0
aHJvdyBuZXcgRXJyb3IoImludmFsaWQgYmFuZHdpZHRoIik7CisgICAgcmV0dXJuIHIgPSBNYXRo
LnJvdW5kKChNYXRoLnNxcnQoNCAqIF8gKiBfICsgMSkgLSAxKSAvIDIpLCByZXNpemUoKTsKKyAg
fTsKKworICByZXR1cm4gZGVuc2l0eTsKK30KKwordmFyIEVPTCA9IHt9LAorICAgIEVPRiA9IHt9
LAorICAgIFFVT1RFID0gMzQsCisgICAgTkVXTElORSA9IDEwLAorICAgIFJFVFVSTiA9IDEzOwor
CitmdW5jdGlvbiBvYmplY3RDb252ZXJ0ZXIoY29sdW1ucykgeworICByZXR1cm4gbmV3IEZ1bmN0
aW9uKCJkIiwgInJldHVybiB7IiArIGNvbHVtbnMubWFwKGZ1bmN0aW9uKG5hbWUsIGkpIHsKKyAg
ICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobmFtZSkgKyAiOiBkWyIgKyBpICsgIl0gfHwgXCJcIiI7
CisgIH0pLmpvaW4oIiwiKSArICJ9Iik7Cit9CisKK2Z1bmN0aW9uIGN1c3RvbUNvbnZlcnRlcihj
b2x1bW5zLCBmKSB7CisgIHZhciBvYmplY3QgPSBvYmplY3RDb252ZXJ0ZXIoY29sdW1ucyk7Cisg
IHJldHVybiBmdW5jdGlvbihyb3csIGkpIHsKKyAgICByZXR1cm4gZihvYmplY3Qocm93KSwgaSwg
Y29sdW1ucyk7CisgIH07Cit9CisKKy8vIENvbXB1dGUgdW5pcXVlIGNvbHVtbnMgaW4gb3JkZXIg
b2YgZGlzY292ZXJ5LgorZnVuY3Rpb24gaW5mZXJDb2x1bW5zKHJvd3MpIHsKKyAgdmFyIGNvbHVt
blNldCA9IE9iamVjdC5jcmVhdGUobnVsbCksCisgICAgICBjb2x1bW5zID0gW107CisKKyAgcm93
cy5mb3JFYWNoKGZ1bmN0aW9uKHJvdykgeworICAgIGZvciAodmFyIGNvbHVtbiBpbiByb3cpIHsK
KyAgICAgIGlmICghKGNvbHVtbiBpbiBjb2x1bW5TZXQpKSB7CisgICAgICAgIGNvbHVtbnMucHVz
aChjb2x1bW5TZXRbY29sdW1uXSA9IGNvbHVtbik7CisgICAgICB9CisgICAgfQorICB9KTsKKwor
ICByZXR1cm4gY29sdW1uczsKK30KKworZnVuY3Rpb24gcGFkKHZhbHVlLCB3aWR0aCkgeworICB2
YXIgcyA9IHZhbHVlICsgIiIsIGxlbmd0aCA9IHMubGVuZ3RoOworICByZXR1cm4gbGVuZ3RoIDwg
d2lkdGggPyBuZXcgQXJyYXkod2lkdGggLSBsZW5ndGggKyAxKS5qb2luKDApICsgcyA6IHM7Cit9
CisKK2Z1bmN0aW9uIGZvcm1hdFllYXIoeWVhcikgeworICByZXR1cm4geWVhciA8IDAgPyAiLSIg
KyBwYWQoLXllYXIsIDYpCisgICAgOiB5ZWFyID4gOTk5OSA/ICIrIiArIHBhZCh5ZWFyLCA2KQor
ICAgIDogcGFkKHllYXIsIDQpOworfQorCitmdW5jdGlvbiBmb3JtYXREYXRlKGRhdGUpIHsKKyAg
dmFyIGhvdXJzID0gZGF0ZS5nZXRVVENIb3VycygpLAorICAgICAgbWludXRlcyA9IGRhdGUuZ2V0
VVRDTWludXRlcygpLAorICAgICAgc2Vjb25kcyA9IGRhdGUuZ2V0VVRDU2Vjb25kcygpLAorICAg
ICAgbWlsbGlzZWNvbmRzID0gZGF0ZS5nZXRVVENNaWxsaXNlY29uZHMoKTsKKyAgcmV0dXJuIGlz
TmFOKGRhdGUpID8gIkludmFsaWQgRGF0ZSIKKyAgICAgIDogZm9ybWF0WWVhcihkYXRlLmdldFVU
Q0Z1bGxZZWFyKCkpICsgIi0iICsgcGFkKGRhdGUuZ2V0VVRDTW9udGgoKSArIDEsIDIpICsgIi0i
ICsgcGFkKGRhdGUuZ2V0VVRDRGF0ZSgpLCAyKQorICAgICAgKyAobWlsbGlzZWNvbmRzID8gIlQi
ICsgcGFkKGhvdXJzLCAyKSArICI6IiArIHBhZChtaW51dGVzLCAyKSArICI6IiArIHBhZChzZWNv
bmRzLCAyKSArICIuIiArIHBhZChtaWxsaXNlY29uZHMsIDMpICsgIloiCisgICAgICA6IHNlY29u
ZHMgPyAiVCIgKyBwYWQoaG91cnMsIDIpICsgIjoiICsgcGFkKG1pbnV0ZXMsIDIpICsgIjoiICsg
cGFkKHNlY29uZHMsIDIpICsgIloiCisgICAgICA6IG1pbnV0ZXMgfHwgaG91cnMgPyAiVCIgKyBw
YWQoaG91cnMsIDIpICsgIjoiICsgcGFkKG1pbnV0ZXMsIDIpICsgIloiCisgICAgICA6ICIiKTsK
K30KKworZnVuY3Rpb24gZHN2Rm9ybWF0KGRlbGltaXRlcikgeworICB2YXIgcmVGb3JtYXQgPSBu
ZXcgUmVnRXhwKCJbXCIiICsgZGVsaW1pdGVyICsgIlxuXHJdIiksCisgICAgICBERUxJTUlURVIg
PSBkZWxpbWl0ZXIuY2hhckNvZGVBdCgwKTsKKworICBmdW5jdGlvbiBwYXJzZSh0ZXh0LCBmKSB7
CisgICAgdmFyIGNvbnZlcnQsIGNvbHVtbnMsIHJvd3MgPSBwYXJzZVJvd3ModGV4dCwgZnVuY3Rp
b24ocm93LCBpKSB7CisgICAgICBpZiAoY29udmVydCkgcmV0dXJuIGNvbnZlcnQocm93LCBpIC0g
MSk7CisgICAgICBjb2x1bW5zID0gcm93LCBjb252ZXJ0ID0gZiA/IGN1c3RvbUNvbnZlcnRlcihy
b3csIGYpIDogb2JqZWN0Q29udmVydGVyKHJvdyk7CisgICAgfSk7CisgICAgcm93cy5jb2x1bW5z
ID0gY29sdW1ucyB8fCBbXTsKKyAgICByZXR1cm4gcm93czsKKyAgfQorCisgIGZ1bmN0aW9uIHBh
cnNlUm93cyh0ZXh0LCBmKSB7CisgICAgdmFyIHJvd3MgPSBbXSwgLy8gb3V0cHV0IHJvd3MKKyAg
ICAgICAgTiA9IHRleHQubGVuZ3RoLAorICAgICAgICBJID0gMCwgLy8gY3VycmVudCBjaGFyYWN0
ZXIgaW5kZXgKKyAgICAgICAgbiA9IDAsIC8vIGN1cnJlbnQgbGluZSBudW1iZXIKKyAgICAgICAg
dCwgLy8gY3VycmVudCB0b2tlbgorICAgICAgICBlb2YgPSBOIDw9IDAsIC8vIGN1cnJlbnQgdG9r
ZW4gZm9sbG93ZWQgYnkgRU9GPworICAgICAgICBlb2wgPSBmYWxzZTsgLy8gY3VycmVudCB0b2tl
biBmb2xsb3dlZCBieSBFT0w/CisKKyAgICAvLyBTdHJpcCB0aGUgdHJhaWxpbmcgbmV3bGluZS4K
KyAgICBpZiAodGV4dC5jaGFyQ29kZUF0KE4gLSAxKSA9PT0gTkVXTElORSkgLS1OOworICAgIGlm
ICh0ZXh0LmNoYXJDb2RlQXQoTiAtIDEpID09PSBSRVRVUk4pIC0tTjsKKworICAgIGZ1bmN0aW9u
IHRva2VuKCkgeworICAgICAgaWYgKGVvZikgcmV0dXJuIEVPRjsKKyAgICAgIGlmIChlb2wpIHJl
dHVybiBlb2wgPSBmYWxzZSwgRU9MOworCisgICAgICAvLyBVbmVzY2FwZSBxdW90ZXMuCisgICAg
ICB2YXIgaSwgaiA9IEksIGM7CisgICAgICBpZiAodGV4dC5jaGFyQ29kZUF0KGopID09PSBRVU9U
RSkgeworICAgICAgICB3aGlsZSAoSSsrIDwgTiAmJiB0ZXh0LmNoYXJDb2RlQXQoSSkgIT09IFFV
T1RFIHx8IHRleHQuY2hhckNvZGVBdCgrK0kpID09PSBRVU9URSk7CisgICAgICAgIGlmICgoaSA9
IEkpID49IE4pIGVvZiA9IHRydWU7CisgICAgICAgIGVsc2UgaWYgKChjID0gdGV4dC5jaGFyQ29k
ZUF0KEkrKykpID09PSBORVdMSU5FKSBlb2wgPSB0cnVlOworICAgICAgICBlbHNlIGlmIChjID09
PSBSRVRVUk4pIHsgZW9sID0gdHJ1ZTsgaWYgKHRleHQuY2hhckNvZGVBdChJKSA9PT0gTkVXTElO
RSkgKytJOyB9CisgICAgICAgIHJldHVybiB0ZXh0LnNsaWNlKGogKyAxLCBpIC0gMSkucmVwbGFj
ZSgvIiIvZywgIlwiIik7CisgICAgICB9CisKKyAgICAgIC8vIEZpbmQgbmV4dCBkZWxpbWl0ZXIg
b3IgbmV3bGluZS4KKyAgICAgIHdoaWxlIChJIDwgTikgeworICAgICAgICBpZiAoKGMgPSB0ZXh0
LmNoYXJDb2RlQXQoaSA9IEkrKykpID09PSBORVdMSU5FKSBlb2wgPSB0cnVlOworICAgICAgICBl
bHNlIGlmIChjID09PSBSRVRVUk4pIHsgZW9sID0gdHJ1ZTsgaWYgKHRleHQuY2hhckNvZGVBdChJ
KSA9PT0gTkVXTElORSkgKytJOyB9CisgICAgICAgIGVsc2UgaWYgKGMgIT09IERFTElNSVRFUikg
Y29udGludWU7CisgICAgICAgIHJldHVybiB0ZXh0LnNsaWNlKGosIGkpOworICAgICAgfQorCisg
ICAgICAvLyBSZXR1cm4gbGFzdCB0b2tlbiBiZWZvcmUgRU9GLgorICAgICAgcmV0dXJuIGVvZiA9
IHRydWUsIHRleHQuc2xpY2UoaiwgTik7CisgICAgfQorCisgICAgd2hpbGUgKCh0ID0gdG9rZW4o
KSkgIT09IEVPRikgeworICAgICAgdmFyIHJvdyA9IFtdOworICAgICAgd2hpbGUgKHQgIT09IEVP
TCAmJiB0ICE9PSBFT0YpIHJvdy5wdXNoKHQpLCB0ID0gdG9rZW4oKTsKKyAgICAgIGlmIChmICYm
IChyb3cgPSBmKHJvdywgbisrKSkgPT0gbnVsbCkgY29udGludWU7CisgICAgICByb3dzLnB1c2go
cm93KTsKKyAgICB9CisKKyAgICByZXR1cm4gcm93czsKKyAgfQorCisgIGZ1bmN0aW9uIHByZWZv
cm1hdEJvZHkocm93cywgY29sdW1ucykgeworICAgIHJldHVybiByb3dzLm1hcChmdW5jdGlvbihy
b3cpIHsKKyAgICAgIHJldHVybiBjb2x1bW5zLm1hcChmdW5jdGlvbihjb2x1bW4pIHsKKyAgICAg
ICAgcmV0dXJuIGZvcm1hdFZhbHVlKHJvd1tjb2x1bW5dKTsKKyAgICAgIH0pLmpvaW4oZGVsaW1p
dGVyKTsKKyAgICB9KTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdChyb3dzLCBjb2x1bW5zKSB7
CisgICAgaWYgKGNvbHVtbnMgPT0gbnVsbCkgY29sdW1ucyA9IGluZmVyQ29sdW1ucyhyb3dzKTsK
KyAgICByZXR1cm4gW2NvbHVtbnMubWFwKGZvcm1hdFZhbHVlKS5qb2luKGRlbGltaXRlcildLmNv
bmNhdChwcmVmb3JtYXRCb2R5KHJvd3MsIGNvbHVtbnMpKS5qb2luKCJcbiIpOworICB9CisKKyAg
ZnVuY3Rpb24gZm9ybWF0Qm9keShyb3dzLCBjb2x1bW5zKSB7CisgICAgaWYgKGNvbHVtbnMgPT0g
bnVsbCkgY29sdW1ucyA9IGluZmVyQ29sdW1ucyhyb3dzKTsKKyAgICByZXR1cm4gcHJlZm9ybWF0
Qm9keShyb3dzLCBjb2x1bW5zKS5qb2luKCJcbiIpOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0
Um93cyhyb3dzKSB7CisgICAgcmV0dXJuIHJvd3MubWFwKGZvcm1hdFJvdykuam9pbigiXG4iKTsK
KyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFJvdyhyb3cpIHsKKyAgICByZXR1cm4gcm93Lm1hcChm
b3JtYXRWYWx1ZSkuam9pbihkZWxpbWl0ZXIpOworICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0VmFs
dWUodmFsdWUpIHsKKyAgICByZXR1cm4gdmFsdWUgPT0gbnVsbCA/ICIiCisgICAgICAgIDogdmFs
dWUgaW5zdGFuY2VvZiBEYXRlID8gZm9ybWF0RGF0ZSh2YWx1ZSkKKyAgICAgICAgOiByZUZvcm1h
dC50ZXN0KHZhbHVlICs9ICIiKSA/ICJcIiIgKyB2YWx1ZS5yZXBsYWNlKC8iL2csICJcIlwiIikg
KyAiXCIiCisgICAgICAgIDogdmFsdWU7CisgIH0KKworICByZXR1cm4geworICAgIHBhcnNlOiBw
YXJzZSwKKyAgICBwYXJzZVJvd3M6IHBhcnNlUm93cywKKyAgICBmb3JtYXQ6IGZvcm1hdCwKKyAg
ICBmb3JtYXRCb2R5OiBmb3JtYXRCb2R5LAorICAgIGZvcm1hdFJvd3M6IGZvcm1hdFJvd3MsCisg
ICAgZm9ybWF0Um93OiBmb3JtYXRSb3csCisgICAgZm9ybWF0VmFsdWU6IGZvcm1hdFZhbHVlCisg
IH07Cit9CisKK3ZhciBjc3YgPSBkc3ZGb3JtYXQoIiwiKTsKKwordmFyIGNzdlBhcnNlID0gY3N2
LnBhcnNlOwordmFyIGNzdlBhcnNlUm93cyA9IGNzdi5wYXJzZVJvd3M7Cit2YXIgY3N2Rm9ybWF0
ID0gY3N2LmZvcm1hdDsKK3ZhciBjc3ZGb3JtYXRCb2R5ID0gY3N2LmZvcm1hdEJvZHk7Cit2YXIg
Y3N2Rm9ybWF0Um93cyA9IGNzdi5mb3JtYXRSb3dzOwordmFyIGNzdkZvcm1hdFJvdyA9IGNzdi5m
b3JtYXRSb3c7Cit2YXIgY3N2Rm9ybWF0VmFsdWUgPSBjc3YuZm9ybWF0VmFsdWU7CisKK3ZhciB0
c3YgPSBkc3ZGb3JtYXQoIlx0Iik7CisKK3ZhciB0c3ZQYXJzZSA9IHRzdi5wYXJzZTsKK3ZhciB0
c3ZQYXJzZVJvd3MgPSB0c3YucGFyc2VSb3dzOwordmFyIHRzdkZvcm1hdCA9IHRzdi5mb3JtYXQ7
Cit2YXIgdHN2Rm9ybWF0Qm9keSA9IHRzdi5mb3JtYXRCb2R5OwordmFyIHRzdkZvcm1hdFJvd3Mg
PSB0c3YuZm9ybWF0Um93czsKK3ZhciB0c3ZGb3JtYXRSb3cgPSB0c3YuZm9ybWF0Um93OwordmFy
IHRzdkZvcm1hdFZhbHVlID0gdHN2LmZvcm1hdFZhbHVlOworCitmdW5jdGlvbiBhdXRvVHlwZShv
YmplY3QpIHsKKyAgZm9yICh2YXIga2V5IGluIG9iamVjdCkgeworICAgIHZhciB2YWx1ZSA9IG9i
amVjdFtrZXldLnRyaW0oKSwgbnVtYmVyLCBtOworICAgIGlmICghdmFsdWUpIHZhbHVlID0gbnVs
bDsKKyAgICBlbHNlIGlmICh2YWx1ZSA9PT0gInRydWUiKSB2YWx1ZSA9IHRydWU7CisgICAgZWxz
ZSBpZiAodmFsdWUgPT09ICJmYWxzZSIpIHZhbHVlID0gZmFsc2U7CisgICAgZWxzZSBpZiAodmFs
dWUgPT09ICJOYU4iKSB2YWx1ZSA9IE5hTjsKKyAgICBlbHNlIGlmICghaXNOYU4obnVtYmVyID0g
K3ZhbHVlKSkgdmFsdWUgPSBudW1iZXI7CisgICAgZWxzZSBpZiAobSA9IHZhbHVlLm1hdGNoKC9e
KFstK11cZHsyfSk/XGR7NH0oLVxkezJ9KC1cZHsyfSk/KT8oVFxkezJ9OlxkezJ9KDpcZHsyfShc
LlxkezN9KT8pPyhafFstK11cZHsyfTpcZHsyfSk/KT8kLykpIHsKKyAgICAgIGlmIChmaXh0eiAm
JiAhIW1bNF0gJiYgIW1bN10pIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvLS9nLCAiLyIpLnJlcGxh
Y2UoL1QvLCAiICIpOworICAgICAgdmFsdWUgPSBuZXcgRGF0ZSh2YWx1ZSk7CisgICAgfQorICAg
IGVsc2UgY29udGludWU7CisgICAgb2JqZWN0W2tleV0gPSB2YWx1ZTsKKyAgfQorICByZXR1cm4g
b2JqZWN0OworfQorCisvLyBodHRwczovL2dpdGh1Yi5jb20vZDMvZDMtZHN2L2lzc3Vlcy80NQor
dmFyIGZpeHR6ID0gbmV3IERhdGUoIjIwMTktMDEtMDFUMDA6MDAiKS5nZXRIb3VycygpIHx8IG5l
dyBEYXRlKCIyMDE5LTA3LTAxVDAwOjAwIikuZ2V0SG91cnMoKTsKKworZnVuY3Rpb24gcmVzcG9u
c2VCbG9iKHJlc3BvbnNlKSB7CisgIGlmICghcmVzcG9uc2Uub2spIHRocm93IG5ldyBFcnJvcihy
ZXNwb25zZS5zdGF0dXMgKyAiICIgKyByZXNwb25zZS5zdGF0dXNUZXh0KTsKKyAgcmV0dXJuIHJl
c3BvbnNlLmJsb2IoKTsKK30KKworZnVuY3Rpb24gYmxvYihpbnB1dCwgaW5pdCkgeworICByZXR1
cm4gZmV0Y2goaW5wdXQsIGluaXQpLnRoZW4ocmVzcG9uc2VCbG9iKTsKK30KKworZnVuY3Rpb24g
cmVzcG9uc2VBcnJheUJ1ZmZlcihyZXNwb25zZSkgeworICBpZiAoIXJlc3BvbnNlLm9rKSB0aHJv
dyBuZXcgRXJyb3IocmVzcG9uc2Uuc3RhdHVzICsgIiAiICsgcmVzcG9uc2Uuc3RhdHVzVGV4dCk7
CisgIHJldHVybiByZXNwb25zZS5hcnJheUJ1ZmZlcigpOworfQorCitmdW5jdGlvbiBidWZmZXIo
aW5wdXQsIGluaXQpIHsKKyAgcmV0dXJuIGZldGNoKGlucHV0LCBpbml0KS50aGVuKHJlc3BvbnNl
QXJyYXlCdWZmZXIpOworfQorCitmdW5jdGlvbiByZXNwb25zZVRleHQocmVzcG9uc2UpIHsKKyAg
aWYgKCFyZXNwb25zZS5vaykgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLnN0YXR1cyArICIgIiAr
IHJlc3BvbnNlLnN0YXR1c1RleHQpOworICByZXR1cm4gcmVzcG9uc2UudGV4dCgpOworfQorCitm
dW5jdGlvbiB0ZXh0KGlucHV0LCBpbml0KSB7CisgIHJldHVybiBmZXRjaChpbnB1dCwgaW5pdCku
dGhlbihyZXNwb25zZVRleHQpOworfQorCitmdW5jdGlvbiBkc3ZQYXJzZShwYXJzZSkgeworICBy
ZXR1cm4gZnVuY3Rpb24oaW5wdXQsIGluaXQsIHJvdykgeworICAgIGlmIChhcmd1bWVudHMubGVu
Z3RoID09PSAyICYmIHR5cGVvZiBpbml0ID09PSAiZnVuY3Rpb24iKSByb3cgPSBpbml0LCBpbml0
ID0gdW5kZWZpbmVkOworICAgIHJldHVybiB0ZXh0KGlucHV0LCBpbml0KS50aGVuKGZ1bmN0aW9u
KHJlc3BvbnNlKSB7CisgICAgICByZXR1cm4gcGFyc2UocmVzcG9uc2UsIHJvdyk7CisgICAgfSk7
CisgIH07Cit9CisKK2Z1bmN0aW9uIGRzdihkZWxpbWl0ZXIsIGlucHV0LCBpbml0LCByb3cpIHsK
KyAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDMgJiYgdHlwZW9mIGluaXQgPT09ICJmdW5jdGlv
biIpIHJvdyA9IGluaXQsIGluaXQgPSB1bmRlZmluZWQ7CisgIHZhciBmb3JtYXQgPSBkc3ZGb3Jt
YXQoZGVsaW1pdGVyKTsKKyAgcmV0dXJuIHRleHQoaW5wdXQsIGluaXQpLnRoZW4oZnVuY3Rpb24o
cmVzcG9uc2UpIHsKKyAgICByZXR1cm4gZm9ybWF0LnBhcnNlKHJlc3BvbnNlLCByb3cpOworICB9
KTsKK30KKwordmFyIGNzdiQxID0gZHN2UGFyc2UoY3N2UGFyc2UpOwordmFyIHRzdiQxID0gZHN2
UGFyc2UodHN2UGFyc2UpOworCitmdW5jdGlvbiBpbWFnZShpbnB1dCwgaW5pdCkgeworICByZXR1
cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgdmFyIGltYWdl
ID0gbmV3IEltYWdlOworICAgIGZvciAodmFyIGtleSBpbiBpbml0KSBpbWFnZVtrZXldID0gaW5p
dFtrZXldOworICAgIGltYWdlLm9uZXJyb3IgPSByZWplY3Q7CisgICAgaW1hZ2Uub25sb2FkID0g
ZnVuY3Rpb24oKSB7IHJlc29sdmUoaW1hZ2UpOyB9OworICAgIGltYWdlLnNyYyA9IGlucHV0Owor
ICB9KTsKK30KKworZnVuY3Rpb24gcmVzcG9uc2VKc29uKHJlc3BvbnNlKSB7CisgIGlmICghcmVz
cG9uc2Uub2spIHRocm93IG5ldyBFcnJvcihyZXNwb25zZS5zdGF0dXMgKyAiICIgKyByZXNwb25z
ZS5zdGF0dXNUZXh0KTsKKyAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTsKK30KKworZnVuY3Rpb24g
anNvbihpbnB1dCwgaW5pdCkgeworICByZXR1cm4gZmV0Y2goaW5wdXQsIGluaXQpLnRoZW4ocmVz
cG9uc2VKc29uKTsKK30KKworZnVuY3Rpb24gcGFyc2VyKHR5cGUpIHsKKyAgcmV0dXJuIGZ1bmN0
aW9uKGlucHV0LCBpbml0KSAgeworICAgIHJldHVybiB0ZXh0KGlucHV0LCBpbml0KS50aGVuKGZ1
bmN0aW9uKHRleHQpIHsKKyAgICAgIHJldHVybiAobmV3IERPTVBhcnNlcikucGFyc2VGcm9tU3Ry
aW5nKHRleHQsIHR5cGUpOworICAgIH0pOworICB9OworfQorCit2YXIgeG1sID0gcGFyc2VyKCJh
cHBsaWNhdGlvbi94bWwiKTsKKwordmFyIGh0bWwgPSBwYXJzZXIoInRleHQvaHRtbCIpOworCit2
YXIgc3ZnID0gcGFyc2VyKCJpbWFnZS9zdmcreG1sIik7CisKK2Z1bmN0aW9uIGNlbnRlciQxKHgs
IHkpIHsKKyAgdmFyIG5vZGVzOworCisgIGlmICh4ID09IG51bGwpIHggPSAwOworICBpZiAoeSA9
PSBudWxsKSB5ID0gMDsKKworICBmdW5jdGlvbiBmb3JjZSgpIHsKKyAgICB2YXIgaSwKKyAgICAg
ICAgbiA9IG5vZGVzLmxlbmd0aCwKKyAgICAgICAgbm9kZSwKKyAgICAgICAgc3ggPSAwLAorICAg
ICAgICBzeSA9IDA7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBub2Rl
ID0gbm9kZXNbaV0sIHN4ICs9IG5vZGUueCwgc3kgKz0gbm9kZS55OworICAgIH0KKworICAgIGZv
ciAoc3ggPSBzeCAvIG4gLSB4LCBzeSA9IHN5IC8gbiAtIHksIGkgPSAwOyBpIDwgbjsgKytpKSB7
CisgICAgICBub2RlID0gbm9kZXNbaV0sIG5vZGUueCAtPSBzeCwgbm9kZS55IC09IHN5OworICAg
IH0KKyAgfQorCisgIGZvcmNlLmluaXRpYWxpemUgPSBmdW5jdGlvbihfKSB7CisgICAgbm9kZXMg
PSBfOworICB9OworCisgIGZvcmNlLnggPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAoeCA9ICtfLCBmb3JjZSkgOiB4OworICB9OworCisgIGZvcmNlLnkgPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeSA9ICtfLCBmb3Jj
ZSkgOiB5OworICB9OworCisgIHJldHVybiBmb3JjZTsKK30KKworZnVuY3Rpb24gY29uc3RhbnQk
Nyh4KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKwor
ZnVuY3Rpb24gamlnZ2xlKCkgeworICByZXR1cm4gKE1hdGgucmFuZG9tKCkgLSAwLjUpICogMWUt
NjsKK30KKworZnVuY3Rpb24gdHJlZV9hZGQoZCkgeworICB2YXIgeCA9ICt0aGlzLl94LmNhbGwo
bnVsbCwgZCksCisgICAgICB5ID0gK3RoaXMuX3kuY2FsbChudWxsLCBkKTsKKyAgcmV0dXJuIGFk
ZCh0aGlzLmNvdmVyKHgsIHkpLCB4LCB5LCBkKTsKK30KKworZnVuY3Rpb24gYWRkKHRyZWUsIHgs
IHksIGQpIHsKKyAgaWYgKGlzTmFOKHgpIHx8IGlzTmFOKHkpKSByZXR1cm4gdHJlZTsgLy8gaWdu
b3JlIGludmFsaWQgcG9pbnRzCisKKyAgdmFyIHBhcmVudCwKKyAgICAgIG5vZGUgPSB0cmVlLl9y
b290LAorICAgICAgbGVhZiA9IHtkYXRhOiBkfSwKKyAgICAgIHgwID0gdHJlZS5feDAsCisgICAg
ICB5MCA9IHRyZWUuX3kwLAorICAgICAgeDEgPSB0cmVlLl94MSwKKyAgICAgIHkxID0gdHJlZS5f
eTEsCisgICAgICB4bSwKKyAgICAgIHltLAorICAgICAgeHAsCisgICAgICB5cCwKKyAgICAgIHJp
Z2h0LAorICAgICAgYm90dG9tLAorICAgICAgaSwKKyAgICAgIGo7CisKKyAgLy8gSWYgdGhlIHRy
ZWUgaXMgZW1wdHksIGluaXRpYWxpemUgdGhlIHJvb3QgYXMgYSBsZWFmLgorICBpZiAoIW5vZGUp
IHJldHVybiB0cmVlLl9yb290ID0gbGVhZiwgdHJlZTsKKworICAvLyBGaW5kIHRoZSBleGlzdGlu
ZyBsZWFmIGZvciB0aGUgbmV3IHBvaW50LCBvciBhZGQgaXQuCisgIHdoaWxlIChub2RlLmxlbmd0
aCkgeworICAgIGlmIChyaWdodCA9IHggPj0gKHhtID0gKHgwICsgeDEpIC8gMikpIHgwID0geG07
IGVsc2UgeDEgPSB4bTsKKyAgICBpZiAoYm90dG9tID0geSA+PSAoeW0gPSAoeTAgKyB5MSkgLyAy
KSkgeTAgPSB5bTsgZWxzZSB5MSA9IHltOworICAgIGlmIChwYXJlbnQgPSBub2RlLCAhKG5vZGUg
PSBub2RlW2kgPSBib3R0b20gPDwgMSB8IHJpZ2h0XSkpIHJldHVybiBwYXJlbnRbaV0gPSBsZWFm
LCB0cmVlOworICB9CisKKyAgLy8gSXMgdGhlIG5ldyBwb2ludCBpcyBleGFjdGx5IGNvaW5jaWRl
bnQgd2l0aCB0aGUgZXhpc3RpbmcgcG9pbnQ/CisgIHhwID0gK3RyZWUuX3guY2FsbChudWxsLCBu
b2RlLmRhdGEpOworICB5cCA9ICt0cmVlLl95LmNhbGwobnVsbCwgbm9kZS5kYXRhKTsKKyAgaWYg
KHggPT09IHhwICYmIHkgPT09IHlwKSByZXR1cm4gbGVhZi5uZXh0ID0gbm9kZSwgcGFyZW50ID8g
cGFyZW50W2ldID0gbGVhZiA6IHRyZWUuX3Jvb3QgPSBsZWFmLCB0cmVlOworCisgIC8vIE90aGVy
d2lzZSwgc3BsaXQgdGhlIGxlYWYgbm9kZSB1bnRpbCB0aGUgb2xkIGFuZCBuZXcgcG9pbnQgYXJl
IHNlcGFyYXRlZC4KKyAgZG8geworICAgIHBhcmVudCA9IHBhcmVudCA/IHBhcmVudFtpXSA9IG5l
dyBBcnJheSg0KSA6IHRyZWUuX3Jvb3QgPSBuZXcgQXJyYXkoNCk7CisgICAgaWYgKHJpZ2h0ID0g
eCA+PSAoeG0gPSAoeDAgKyB4MSkgLyAyKSkgeDAgPSB4bTsgZWxzZSB4MSA9IHhtOworICAgIGlm
IChib3R0b20gPSB5ID49ICh5bSA9ICh5MCArIHkxKSAvIDIpKSB5MCA9IHltOyBlbHNlIHkxID0g
eW07CisgIH0gd2hpbGUgKChpID0gYm90dG9tIDw8IDEgfCByaWdodCkgPT09IChqID0gKHlwID49
IHltKSA8PCAxIHwgKHhwID49IHhtKSkpOworICByZXR1cm4gcGFyZW50W2pdID0gbm9kZSwgcGFy
ZW50W2ldID0gbGVhZiwgdHJlZTsKK30KKworZnVuY3Rpb24gYWRkQWxsKGRhdGEpIHsKKyAgdmFy
IGQsIGksIG4gPSBkYXRhLmxlbmd0aCwKKyAgICAgIHgsCisgICAgICB5LAorICAgICAgeHogPSBu
ZXcgQXJyYXkobiksCisgICAgICB5eiA9IG5ldyBBcnJheShuKSwKKyAgICAgIHgwID0gSW5maW5p
dHksCisgICAgICB5MCA9IEluZmluaXR5LAorICAgICAgeDEgPSAtSW5maW5pdHksCisgICAgICB5
MSA9IC1JbmZpbml0eTsKKworICAvLyBDb21wdXRlIHRoZSBwb2ludHMgYW5kIHRoZWlyIGV4dGVu
dC4KKyAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAgIGlmIChpc05hTih4ID0gK3RoaXMu
X3guY2FsbChudWxsLCBkID0gZGF0YVtpXSkpIHx8IGlzTmFOKHkgPSArdGhpcy5feS5jYWxsKG51
bGwsIGQpKSkgY29udGludWU7CisgICAgeHpbaV0gPSB4OworICAgIHl6W2ldID0geTsKKyAgICBp
ZiAoeCA8IHgwKSB4MCA9IHg7CisgICAgaWYgKHggPiB4MSkgeDEgPSB4OworICAgIGlmICh5IDwg
eTApIHkwID0geTsKKyAgICBpZiAoeSA+IHkxKSB5MSA9IHk7CisgIH0KKworICAvLyBJZiB0aGVy
ZSB3ZXJlIG5vICh2YWxpZCkgcG9pbnRzLCBhYm9ydC4KKyAgaWYgKHgwID4geDEgfHwgeTAgPiB5
MSkgcmV0dXJuIHRoaXM7CisKKyAgLy8gRXhwYW5kIHRoZSB0cmVlIHRvIGNvdmVyIHRoZSBuZXcg
cG9pbnRzLgorICB0aGlzLmNvdmVyKHgwLCB5MCkuY292ZXIoeDEsIHkxKTsKKworICAvLyBBZGQg
dGhlIG5ldyBwb2ludHMuCisgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICBhZGQodGhp
cywgeHpbaV0sIHl6W2ldLCBkYXRhW2ldKTsKKyAgfQorCisgIHJldHVybiB0aGlzOworfQorCitm
dW5jdGlvbiB0cmVlX2NvdmVyKHgsIHkpIHsKKyAgaWYgKGlzTmFOKHggPSAreCkgfHwgaXNOYU4o
eSA9ICt5KSkgcmV0dXJuIHRoaXM7IC8vIGlnbm9yZSBpbnZhbGlkIHBvaW50cworCisgIHZhciB4
MCA9IHRoaXMuX3gwLAorICAgICAgeTAgPSB0aGlzLl95MCwKKyAgICAgIHgxID0gdGhpcy5feDEs
CisgICAgICB5MSA9IHRoaXMuX3kxOworCisgIC8vIElmIHRoZSBxdWFkdHJlZSBoYXMgbm8gZXh0
ZW50LCBpbml0aWFsaXplIHRoZW0uCisgIC8vIEludGVnZXIgZXh0ZW50IGFyZSBuZWNlc3Nhcnkg
c28gdGhhdCBpZiB3ZSBsYXRlciBkb3VibGUgdGhlIGV4dGVudCwKKyAgLy8gdGhlIGV4aXN0aW5n
IHF1YWRyYW50IGJvdW5kYXJpZXMgZG9u4oCZdCBjaGFuZ2UgZHVlIHRvIGZsb2F0aW5nIHBvaW50
IGVycm9yIQorICBpZiAoaXNOYU4oeDApKSB7CisgICAgeDEgPSAoeDAgPSBNYXRoLmZsb29yKHgp
KSArIDE7CisgICAgeTEgPSAoeTAgPSBNYXRoLmZsb29yKHkpKSArIDE7CisgIH0KKworICAvLyBP
dGhlcndpc2UsIGRvdWJsZSByZXBlYXRlZGx5IHRvIGNvdmVyLgorICBlbHNlIHsKKyAgICB2YXIg
eiA9IHgxIC0geDAsCisgICAgICAgIG5vZGUgPSB0aGlzLl9yb290LAorICAgICAgICBwYXJlbnQs
CisgICAgICAgIGk7CisKKyAgICB3aGlsZSAoeDAgPiB4IHx8IHggPj0geDEgfHwgeTAgPiB5IHx8
IHkgPj0geTEpIHsKKyAgICAgIGkgPSAoeSA8IHkwKSA8PCAxIHwgKHggPCB4MCk7CisgICAgICBw
YXJlbnQgPSBuZXcgQXJyYXkoNCksIHBhcmVudFtpXSA9IG5vZGUsIG5vZGUgPSBwYXJlbnQsIHog
Kj0gMjsKKyAgICAgIHN3aXRjaCAoaSkgeworICAgICAgICBjYXNlIDA6IHgxID0geDAgKyB6LCB5
MSA9IHkwICsgejsgYnJlYWs7CisgICAgICAgIGNhc2UgMTogeDAgPSB4MSAtIHosIHkxID0geTAg
KyB6OyBicmVhazsKKyAgICAgICAgY2FzZSAyOiB4MSA9IHgwICsgeiwgeTAgPSB5MSAtIHo7IGJy
ZWFrOworICAgICAgICBjYXNlIDM6IHgwID0geDEgLSB6LCB5MCA9IHkxIC0gejsgYnJlYWs7Cisg
ICAgICB9CisgICAgfQorCisgICAgaWYgKHRoaXMuX3Jvb3QgJiYgdGhpcy5fcm9vdC5sZW5ndGgp
IHRoaXMuX3Jvb3QgPSBub2RlOworICB9CisKKyAgdGhpcy5feDAgPSB4MDsKKyAgdGhpcy5feTAg
PSB5MDsKKyAgdGhpcy5feDEgPSB4MTsKKyAgdGhpcy5feTEgPSB5MTsKKyAgcmV0dXJuIHRoaXM7
Cit9CisKK2Z1bmN0aW9uIHRyZWVfZGF0YSgpIHsKKyAgdmFyIGRhdGEgPSBbXTsKKyAgdGhpcy52
aXNpdChmdW5jdGlvbihub2RlKSB7CisgICAgaWYgKCFub2RlLmxlbmd0aCkgZG8gZGF0YS5wdXNo
KG5vZGUuZGF0YSk7IHdoaWxlIChub2RlID0gbm9kZS5uZXh0KQorICB9KTsKKyAgcmV0dXJuIGRh
dGE7Cit9CisKK2Z1bmN0aW9uIHRyZWVfZXh0ZW50KF8pIHsKKyAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGgKKyAgICAgID8gdGhpcy5jb3ZlcigrX1swXVswXSwgK19bMF1bMV0pLmNvdmVyKCtfWzFd
WzBdLCArX1sxXVsxXSkKKyAgICAgIDogaXNOYU4odGhpcy5feDApID8gdW5kZWZpbmVkIDogW1t0
aGlzLl94MCwgdGhpcy5feTBdLCBbdGhpcy5feDEsIHRoaXMuX3kxXV07Cit9CisKK2Z1bmN0aW9u
IFF1YWQobm9kZSwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgdGhpcy5ub2RlID0gbm9kZTsKKyAgdGhp
cy54MCA9IHgwOworICB0aGlzLnkwID0geTA7CisgIHRoaXMueDEgPSB4MTsKKyAgdGhpcy55MSA9
IHkxOworfQorCitmdW5jdGlvbiB0cmVlX2ZpbmQoeCwgeSwgcmFkaXVzKSB7CisgIHZhciBkYXRh
LAorICAgICAgeDAgPSB0aGlzLl94MCwKKyAgICAgIHkwID0gdGhpcy5feTAsCisgICAgICB4MSwK
KyAgICAgIHkxLAorICAgICAgeDIsCisgICAgICB5MiwKKyAgICAgIHgzID0gdGhpcy5feDEsCisg
ICAgICB5MyA9IHRoaXMuX3kxLAorICAgICAgcXVhZHMgPSBbXSwKKyAgICAgIG5vZGUgPSB0aGlz
Ll9yb290LAorICAgICAgcSwKKyAgICAgIGk7CisKKyAgaWYgKG5vZGUpIHF1YWRzLnB1c2gobmV3
IFF1YWQobm9kZSwgeDAsIHkwLCB4MywgeTMpKTsKKyAgaWYgKHJhZGl1cyA9PSBudWxsKSByYWRp
dXMgPSBJbmZpbml0eTsKKyAgZWxzZSB7CisgICAgeDAgPSB4IC0gcmFkaXVzLCB5MCA9IHkgLSBy
YWRpdXM7CisgICAgeDMgPSB4ICsgcmFkaXVzLCB5MyA9IHkgKyByYWRpdXM7CisgICAgcmFkaXVz
ICo9IHJhZGl1czsKKyAgfQorCisgIHdoaWxlIChxID0gcXVhZHMucG9wKCkpIHsKKworICAgIC8v
IFN0b3Agc2VhcmNoaW5nIGlmIHRoaXMgcXVhZHJhbnQgY2Fu4oCZdCBjb250YWluIGEgY2xvc2Vy
IG5vZGUuCisgICAgaWYgKCEobm9kZSA9IHEubm9kZSkKKyAgICAgICAgfHwgKHgxID0gcS54MCkg
PiB4MworICAgICAgICB8fCAoeTEgPSBxLnkwKSA+IHkzCisgICAgICAgIHx8ICh4MiA9IHEueDEp
IDwgeDAKKyAgICAgICAgfHwgKHkyID0gcS55MSkgPCB5MCkgY29udGludWU7CisKKyAgICAvLyBC
aXNlY3QgdGhlIGN1cnJlbnQgcXVhZHJhbnQuCisgICAgaWYgKG5vZGUubGVuZ3RoKSB7CisgICAg
ICB2YXIgeG0gPSAoeDEgKyB4MikgLyAyLAorICAgICAgICAgIHltID0gKHkxICsgeTIpIC8gMjsK
KworICAgICAgcXVhZHMucHVzaCgKKyAgICAgICAgbmV3IFF1YWQobm9kZVszXSwgeG0sIHltLCB4
MiwgeTIpLAorICAgICAgICBuZXcgUXVhZChub2RlWzJdLCB4MSwgeW0sIHhtLCB5MiksCisgICAg
ICAgIG5ldyBRdWFkKG5vZGVbMV0sIHhtLCB5MSwgeDIsIHltKSwKKyAgICAgICAgbmV3IFF1YWQo
bm9kZVswXSwgeDEsIHkxLCB4bSwgeW0pCisgICAgICApOworCisgICAgICAvLyBWaXNpdCB0aGUg
Y2xvc2VzdCBxdWFkcmFudCBmaXJzdC4KKyAgICAgIGlmIChpID0gKHkgPj0geW0pIDw8IDEgfCAo
eCA+PSB4bSkpIHsKKyAgICAgICAgcSA9IHF1YWRzW3F1YWRzLmxlbmd0aCAtIDFdOworICAgICAg
ICBxdWFkc1txdWFkcy5sZW5ndGggLSAxXSA9IHF1YWRzW3F1YWRzLmxlbmd0aCAtIDEgLSBpXTsK
KyAgICAgICAgcXVhZHNbcXVhZHMubGVuZ3RoIC0gMSAtIGldID0gcTsKKyAgICAgIH0KKyAgICB9
CisKKyAgICAvLyBWaXNpdCB0aGlzIHBvaW50LiAoVmlzaXRpbmcgY29pbmNpZGVudCBwb2ludHMg
aXNu4oCZdCBuZWNlc3NhcnkhKQorICAgIGVsc2UgeworICAgICAgdmFyIGR4ID0geCAtICt0aGlz
Ll94LmNhbGwobnVsbCwgbm9kZS5kYXRhKSwKKyAgICAgICAgICBkeSA9IHkgLSArdGhpcy5feS5j
YWxsKG51bGwsIG5vZGUuZGF0YSksCisgICAgICAgICAgZDIgPSBkeCAqIGR4ICsgZHkgKiBkeTsK
KyAgICAgIGlmIChkMiA8IHJhZGl1cykgeworICAgICAgICB2YXIgZCA9IE1hdGguc3FydChyYWRp
dXMgPSBkMik7CisgICAgICAgIHgwID0geCAtIGQsIHkwID0geSAtIGQ7CisgICAgICAgIHgzID0g
eCArIGQsIHkzID0geSArIGQ7CisgICAgICAgIGRhdGEgPSBub2RlLmRhdGE7CisgICAgICB9Cisg
ICAgfQorICB9CisKKyAgcmV0dXJuIGRhdGE7Cit9CisKK2Z1bmN0aW9uIHRyZWVfcmVtb3ZlKGQp
IHsKKyAgaWYgKGlzTmFOKHggPSArdGhpcy5feC5jYWxsKG51bGwsIGQpKSB8fCBpc05hTih5ID0g
K3RoaXMuX3kuY2FsbChudWxsLCBkKSkpIHJldHVybiB0aGlzOyAvLyBpZ25vcmUgaW52YWxpZCBw
b2ludHMKKworICB2YXIgcGFyZW50LAorICAgICAgbm9kZSA9IHRoaXMuX3Jvb3QsCisgICAgICBy
ZXRhaW5lciwKKyAgICAgIHByZXZpb3VzLAorICAgICAgbmV4dCwKKyAgICAgIHgwID0gdGhpcy5f
eDAsCisgICAgICB5MCA9IHRoaXMuX3kwLAorICAgICAgeDEgPSB0aGlzLl94MSwKKyAgICAgIHkx
ID0gdGhpcy5feTEsCisgICAgICB4LAorICAgICAgeSwKKyAgICAgIHhtLAorICAgICAgeW0sCisg
ICAgICByaWdodCwKKyAgICAgIGJvdHRvbSwKKyAgICAgIGksCisgICAgICBqOworCisgIC8vIElm
IHRoZSB0cmVlIGlzIGVtcHR5LCBpbml0aWFsaXplIHRoZSByb290IGFzIGEgbGVhZi4KKyAgaWYg
KCFub2RlKSByZXR1cm4gdGhpczsKKworICAvLyBGaW5kIHRoZSBsZWFmIG5vZGUgZm9yIHRoZSBw
b2ludC4KKyAgLy8gV2hpbGUgZGVzY2VuZGluZywgYWxzbyByZXRhaW4gdGhlIGRlZXBlc3QgcGFy
ZW50IHdpdGggYSBub24tcmVtb3ZlZCBzaWJsaW5nLgorICBpZiAobm9kZS5sZW5ndGgpIHdoaWxl
ICh0cnVlKSB7CisgICAgaWYgKHJpZ2h0ID0geCA+PSAoeG0gPSAoeDAgKyB4MSkgLyAyKSkgeDAg
PSB4bTsgZWxzZSB4MSA9IHhtOworICAgIGlmIChib3R0b20gPSB5ID49ICh5bSA9ICh5MCArIHkx
KSAvIDIpKSB5MCA9IHltOyBlbHNlIHkxID0geW07CisgICAgaWYgKCEocGFyZW50ID0gbm9kZSwg
bm9kZSA9IG5vZGVbaSA9IGJvdHRvbSA8PCAxIHwgcmlnaHRdKSkgcmV0dXJuIHRoaXM7CisgICAg
aWYgKCFub2RlLmxlbmd0aCkgYnJlYWs7CisgICAgaWYgKHBhcmVudFsoaSArIDEpICYgM10gfHwg
cGFyZW50WyhpICsgMikgJiAzXSB8fCBwYXJlbnRbKGkgKyAzKSAmIDNdKSByZXRhaW5lciA9IHBh
cmVudCwgaiA9IGk7CisgIH0KKworICAvLyBGaW5kIHRoZSBwb2ludCB0byByZW1vdmUuCisgIHdo
aWxlIChub2RlLmRhdGEgIT09IGQpIGlmICghKHByZXZpb3VzID0gbm9kZSwgbm9kZSA9IG5vZGUu
bmV4dCkpIHJldHVybiB0aGlzOworICBpZiAobmV4dCA9IG5vZGUubmV4dCkgZGVsZXRlIG5vZGUu
bmV4dDsKKworICAvLyBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgY29pbmNpZGVudCBwb2ludHMsIHJl
bW92ZSBqdXN0IHRoZSBwb2ludC4KKyAgaWYgKHByZXZpb3VzKSByZXR1cm4gKG5leHQgPyBwcmV2
aW91cy5uZXh0ID0gbmV4dCA6IGRlbGV0ZSBwcmV2aW91cy5uZXh0KSwgdGhpczsKKworICAvLyBJ
ZiB0aGlzIGlzIHRoZSByb290IHBvaW50LCByZW1vdmUgaXQuCisgIGlmICghcGFyZW50KSByZXR1
cm4gdGhpcy5fcm9vdCA9IG5leHQsIHRoaXM7CisKKyAgLy8gUmVtb3ZlIHRoaXMgbGVhZi4KKyAg
bmV4dCA/IHBhcmVudFtpXSA9IG5leHQgOiBkZWxldGUgcGFyZW50W2ldOworCisgIC8vIElmIHRo
ZSBwYXJlbnQgbm93IGNvbnRhaW5zIGV4YWN0bHkgb25lIGxlYWYsIGNvbGxhcHNlIHN1cGVyZmx1
b3VzIHBhcmVudHMuCisgIGlmICgobm9kZSA9IHBhcmVudFswXSB8fCBwYXJlbnRbMV0gfHwgcGFy
ZW50WzJdIHx8IHBhcmVudFszXSkKKyAgICAgICYmIG5vZGUgPT09IChwYXJlbnRbM10gfHwgcGFy
ZW50WzJdIHx8IHBhcmVudFsxXSB8fCBwYXJlbnRbMF0pCisgICAgICAmJiAhbm9kZS5sZW5ndGgp
IHsKKyAgICBpZiAocmV0YWluZXIpIHJldGFpbmVyW2pdID0gbm9kZTsKKyAgICBlbHNlIHRoaXMu
X3Jvb3QgPSBub2RlOworICB9CisKKyAgcmV0dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9uIHJlbW92
ZUFsbChkYXRhKSB7CisgIGZvciAodmFyIGkgPSAwLCBuID0gZGF0YS5sZW5ndGg7IGkgPCBuOyAr
K2kpIHRoaXMucmVtb3ZlKGRhdGFbaV0pOworICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24g
dHJlZV9yb290KCkgeworICByZXR1cm4gdGhpcy5fcm9vdDsKK30KKworZnVuY3Rpb24gdHJlZV9z
aXplKCkgeworICB2YXIgc2l6ZSA9IDA7CisgIHRoaXMudmlzaXQoZnVuY3Rpb24obm9kZSkgewor
ICAgIGlmICghbm9kZS5sZW5ndGgpIGRvICsrc2l6ZTsgd2hpbGUgKG5vZGUgPSBub2RlLm5leHQp
CisgIH0pOworICByZXR1cm4gc2l6ZTsKK30KKworZnVuY3Rpb24gdHJlZV92aXNpdChjYWxsYmFj
aykgeworICB2YXIgcXVhZHMgPSBbXSwgcSwgbm9kZSA9IHRoaXMuX3Jvb3QsIGNoaWxkLCB4MCwg
eTAsIHgxLCB5MTsKKyAgaWYgKG5vZGUpIHF1YWRzLnB1c2gobmV3IFF1YWQobm9kZSwgdGhpcy5f
eDAsIHRoaXMuX3kwLCB0aGlzLl94MSwgdGhpcy5feTEpKTsKKyAgd2hpbGUgKHEgPSBxdWFkcy5w
b3AoKSkgeworICAgIGlmICghY2FsbGJhY2sobm9kZSA9IHEubm9kZSwgeDAgPSBxLngwLCB5MCA9
IHEueTAsIHgxID0gcS54MSwgeTEgPSBxLnkxKSAmJiBub2RlLmxlbmd0aCkgeworICAgICAgdmFy
IHhtID0gKHgwICsgeDEpIC8gMiwgeW0gPSAoeTAgKyB5MSkgLyAyOworICAgICAgaWYgKGNoaWxk
ID0gbm9kZVszXSkgcXVhZHMucHVzaChuZXcgUXVhZChjaGlsZCwgeG0sIHltLCB4MSwgeTEpKTsK
KyAgICAgIGlmIChjaGlsZCA9IG5vZGVbMl0pIHF1YWRzLnB1c2gobmV3IFF1YWQoY2hpbGQsIHgw
LCB5bSwgeG0sIHkxKSk7CisgICAgICBpZiAoY2hpbGQgPSBub2RlWzFdKSBxdWFkcy5wdXNoKG5l
dyBRdWFkKGNoaWxkLCB4bSwgeTAsIHgxLCB5bSkpOworICAgICAgaWYgKGNoaWxkID0gbm9kZVsw
XSkgcXVhZHMucHVzaChuZXcgUXVhZChjaGlsZCwgeDAsIHkwLCB4bSwgeW0pKTsKKyAgICB9Cisg
IH0KKyAgcmV0dXJuIHRoaXM7Cit9CisKK2Z1bmN0aW9uIHRyZWVfdmlzaXRBZnRlcihjYWxsYmFj
aykgeworICB2YXIgcXVhZHMgPSBbXSwgbmV4dCA9IFtdLCBxOworICBpZiAodGhpcy5fcm9vdCkg
cXVhZHMucHVzaChuZXcgUXVhZCh0aGlzLl9yb290LCB0aGlzLl94MCwgdGhpcy5feTAsIHRoaXMu
X3gxLCB0aGlzLl95MSkpOworICB3aGlsZSAocSA9IHF1YWRzLnBvcCgpKSB7CisgICAgdmFyIG5v
ZGUgPSBxLm5vZGU7CisgICAgaWYgKG5vZGUubGVuZ3RoKSB7CisgICAgICB2YXIgY2hpbGQsIHgw
ID0gcS54MCwgeTAgPSBxLnkwLCB4MSA9IHEueDEsIHkxID0gcS55MSwgeG0gPSAoeDAgKyB4MSkg
LyAyLCB5bSA9ICh5MCArIHkxKSAvIDI7CisgICAgICBpZiAoY2hpbGQgPSBub2RlWzBdKSBxdWFk
cy5wdXNoKG5ldyBRdWFkKGNoaWxkLCB4MCwgeTAsIHhtLCB5bSkpOworICAgICAgaWYgKGNoaWxk
ID0gbm9kZVsxXSkgcXVhZHMucHVzaChuZXcgUXVhZChjaGlsZCwgeG0sIHkwLCB4MSwgeW0pKTsK
KyAgICAgIGlmIChjaGlsZCA9IG5vZGVbMl0pIHF1YWRzLnB1c2gobmV3IFF1YWQoY2hpbGQsIHgw
LCB5bSwgeG0sIHkxKSk7CisgICAgICBpZiAoY2hpbGQgPSBub2RlWzNdKSBxdWFkcy5wdXNoKG5l
dyBRdWFkKGNoaWxkLCB4bSwgeW0sIHgxLCB5MSkpOworICAgIH0KKyAgICBuZXh0LnB1c2gocSk7
CisgIH0KKyAgd2hpbGUgKHEgPSBuZXh0LnBvcCgpKSB7CisgICAgY2FsbGJhY2socS5ub2RlLCBx
LngwLCBxLnkwLCBxLngxLCBxLnkxKTsKKyAgfQorICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rp
b24gZGVmYXVsdFgkMShkKSB7CisgIHJldHVybiBkWzBdOworfQorCitmdW5jdGlvbiB0cmVlX3go
XykgeworICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0aGlzLl94ID0gXywgdGhpcykgOiB0
aGlzLl94OworfQorCitmdW5jdGlvbiBkZWZhdWx0WSQxKGQpIHsKKyAgcmV0dXJuIGRbMV07Cit9
CisKK2Z1bmN0aW9uIHRyZWVfeShfKSB7CisgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRo
aXMuX3kgPSBfLCB0aGlzKSA6IHRoaXMuX3k7Cit9CisKK2Z1bmN0aW9uIHF1YWR0cmVlKG5vZGVz
LCB4LCB5KSB7CisgIHZhciB0cmVlID0gbmV3IFF1YWR0cmVlKHggPT0gbnVsbCA/IGRlZmF1bHRY
JDEgOiB4LCB5ID09IG51bGwgPyBkZWZhdWx0WSQxIDogeSwgTmFOLCBOYU4sIE5hTiwgTmFOKTsK
KyAgcmV0dXJuIG5vZGVzID09IG51bGwgPyB0cmVlIDogdHJlZS5hZGRBbGwobm9kZXMpOworfQor
CitmdW5jdGlvbiBRdWFkdHJlZSh4LCB5LCB4MCwgeTAsIHgxLCB5MSkgeworICB0aGlzLl94ID0g
eDsKKyAgdGhpcy5feSA9IHk7CisgIHRoaXMuX3gwID0geDA7CisgIHRoaXMuX3kwID0geTA7Cisg
IHRoaXMuX3gxID0geDE7CisgIHRoaXMuX3kxID0geTE7CisgIHRoaXMuX3Jvb3QgPSB1bmRlZmlu
ZWQ7Cit9CisKK2Z1bmN0aW9uIGxlYWZfY29weShsZWFmKSB7CisgIHZhciBjb3B5ID0ge2RhdGE6
IGxlYWYuZGF0YX0sIG5leHQgPSBjb3B5OworICB3aGlsZSAobGVhZiA9IGxlYWYubmV4dCkgbmV4
dCA9IG5leHQubmV4dCA9IHtkYXRhOiBsZWFmLmRhdGF9OworICByZXR1cm4gY29weTsKK30KKwor
dmFyIHRyZWVQcm90byA9IHF1YWR0cmVlLnByb3RvdHlwZSA9IFF1YWR0cmVlLnByb3RvdHlwZTsK
KwordHJlZVByb3RvLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgdmFyIGNvcHkgPSBuZXcgUXVhZHRy
ZWUodGhpcy5feCwgdGhpcy5feSwgdGhpcy5feDAsIHRoaXMuX3kwLCB0aGlzLl94MSwgdGhpcy5f
eTEpLAorICAgICAgbm9kZSA9IHRoaXMuX3Jvb3QsCisgICAgICBub2RlcywKKyAgICAgIGNoaWxk
OworCisgIGlmICghbm9kZSkgcmV0dXJuIGNvcHk7CisKKyAgaWYgKCFub2RlLmxlbmd0aCkgcmV0
dXJuIGNvcHkuX3Jvb3QgPSBsZWFmX2NvcHkobm9kZSksIGNvcHk7CisKKyAgbm9kZXMgPSBbe3Nv
dXJjZTogbm9kZSwgdGFyZ2V0OiBjb3B5Ll9yb290ID0gbmV3IEFycmF5KDQpfV07CisgIHdoaWxl
IChub2RlID0gbm9kZXMucG9wKCkpIHsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7ICsraSkg
eworICAgICAgaWYgKGNoaWxkID0gbm9kZS5zb3VyY2VbaV0pIHsKKyAgICAgICAgaWYgKGNoaWxk
Lmxlbmd0aCkgbm9kZXMucHVzaCh7c291cmNlOiBjaGlsZCwgdGFyZ2V0OiBub2RlLnRhcmdldFtp
XSA9IG5ldyBBcnJheSg0KX0pOworICAgICAgICBlbHNlIG5vZGUudGFyZ2V0W2ldID0gbGVhZl9j
b3B5KGNoaWxkKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gY29weTsKK307CisK
K3RyZWVQcm90by5hZGQgPSB0cmVlX2FkZDsKK3RyZWVQcm90by5hZGRBbGwgPSBhZGRBbGw7Cit0
cmVlUHJvdG8uY292ZXIgPSB0cmVlX2NvdmVyOwordHJlZVByb3RvLmRhdGEgPSB0cmVlX2RhdGE7
Cit0cmVlUHJvdG8uZXh0ZW50ID0gdHJlZV9leHRlbnQ7Cit0cmVlUHJvdG8uZmluZCA9IHRyZWVf
ZmluZDsKK3RyZWVQcm90by5yZW1vdmUgPSB0cmVlX3JlbW92ZTsKK3RyZWVQcm90by5yZW1vdmVB
bGwgPSByZW1vdmVBbGw7Cit0cmVlUHJvdG8ucm9vdCA9IHRyZWVfcm9vdDsKK3RyZWVQcm90by5z
aXplID0gdHJlZV9zaXplOwordHJlZVByb3RvLnZpc2l0ID0gdHJlZV92aXNpdDsKK3RyZWVQcm90
by52aXNpdEFmdGVyID0gdHJlZV92aXNpdEFmdGVyOwordHJlZVByb3RvLnggPSB0cmVlX3g7Cit0
cmVlUHJvdG8ueSA9IHRyZWVfeTsKKworZnVuY3Rpb24geChkKSB7CisgIHJldHVybiBkLnggKyBk
LnZ4OworfQorCitmdW5jdGlvbiB5KGQpIHsKKyAgcmV0dXJuIGQueSArIGQudnk7Cit9CisKK2Z1
bmN0aW9uIGNvbGxpZGUocmFkaXVzKSB7CisgIHZhciBub2RlcywKKyAgICAgIHJhZGlpLAorICAg
ICAgc3RyZW5ndGggPSAxLAorICAgICAgaXRlcmF0aW9ucyA9IDE7CisKKyAgaWYgKHR5cGVvZiBy
YWRpdXMgIT09ICJmdW5jdGlvbiIpIHJhZGl1cyA9IGNvbnN0YW50JDcocmFkaXVzID09IG51bGwg
PyAxIDogK3JhZGl1cyk7CisKKyAgZnVuY3Rpb24gZm9yY2UoKSB7CisgICAgdmFyIGksIG4gPSBu
b2Rlcy5sZW5ndGgsCisgICAgICAgIHRyZWUsCisgICAgICAgIG5vZGUsCisgICAgICAgIHhpLAor
ICAgICAgICB5aSwKKyAgICAgICAgcmksCisgICAgICAgIHJpMjsKKworICAgIGZvciAodmFyIGsg
PSAwOyBrIDwgaXRlcmF0aW9uczsgKytrKSB7CisgICAgICB0cmVlID0gcXVhZHRyZWUobm9kZXMs
IHgsIHkpLnZpc2l0QWZ0ZXIocHJlcGFyZSk7CisgICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytp
KSB7CisgICAgICAgIG5vZGUgPSBub2Rlc1tpXTsKKyAgICAgICAgcmkgPSByYWRpaVtub2RlLmlu
ZGV4XSwgcmkyID0gcmkgKiByaTsKKyAgICAgICAgeGkgPSBub2RlLnggKyBub2RlLnZ4OworICAg
ICAgICB5aSA9IG5vZGUueSArIG5vZGUudnk7CisgICAgICAgIHRyZWUudmlzaXQoYXBwbHkpOwor
ICAgICAgfQorICAgIH0KKworICAgIGZ1bmN0aW9uIGFwcGx5KHF1YWQsIHgwLCB5MCwgeDEsIHkx
KSB7CisgICAgICB2YXIgZGF0YSA9IHF1YWQuZGF0YSwgcmogPSBxdWFkLnIsIHIgPSByaSArIHJq
OworICAgICAgaWYgKGRhdGEpIHsKKyAgICAgICAgaWYgKGRhdGEuaW5kZXggPiBub2RlLmluZGV4
KSB7CisgICAgICAgICAgdmFyIHggPSB4aSAtIGRhdGEueCAtIGRhdGEudngsCisgICAgICAgICAg
ICAgIHkgPSB5aSAtIGRhdGEueSAtIGRhdGEudnksCisgICAgICAgICAgICAgIGwgPSB4ICogeCAr
IHkgKiB5OworICAgICAgICAgIGlmIChsIDwgciAqIHIpIHsKKyAgICAgICAgICAgIGlmICh4ID09
PSAwKSB4ID0gamlnZ2xlKCksIGwgKz0geCAqIHg7CisgICAgICAgICAgICBpZiAoeSA9PT0gMCkg
eSA9IGppZ2dsZSgpLCBsICs9IHkgKiB5OworICAgICAgICAgICAgbCA9IChyIC0gKGwgPSBNYXRo
LnNxcnQobCkpKSAvIGwgKiBzdHJlbmd0aDsKKyAgICAgICAgICAgIG5vZGUudnggKz0gKHggKj0g
bCkgKiAociA9IChyaiAqPSByaikgLyAocmkyICsgcmopKTsKKyAgICAgICAgICAgIG5vZGUudnkg
Kz0gKHkgKj0gbCkgKiByOworICAgICAgICAgICAgZGF0YS52eCAtPSB4ICogKHIgPSAxIC0gcik7
CisgICAgICAgICAgICBkYXRhLnZ5IC09IHkgKiByOworICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgICByZXR1cm4geDAgPiB4aSArIHIgfHwgeDEg
PCB4aSAtIHIgfHwgeTAgPiB5aSArIHIgfHwgeTEgPCB5aSAtIHI7CisgICAgfQorICB9CisKKyAg
ZnVuY3Rpb24gcHJlcGFyZShxdWFkKSB7CisgICAgaWYgKHF1YWQuZGF0YSkgcmV0dXJuIHF1YWQu
ciA9IHJhZGlpW3F1YWQuZGF0YS5pbmRleF07CisgICAgZm9yICh2YXIgaSA9IHF1YWQuciA9IDA7
IGkgPCA0OyArK2kpIHsKKyAgICAgIGlmIChxdWFkW2ldICYmIHF1YWRbaV0uciA+IHF1YWQucikg
eworICAgICAgICBxdWFkLnIgPSBxdWFkW2ldLnI7CisgICAgICB9CisgICAgfQorICB9CisKKyAg
ZnVuY3Rpb24gaW5pdGlhbGl6ZSgpIHsKKyAgICBpZiAoIW5vZGVzKSByZXR1cm47CisgICAgdmFy
IGksIG4gPSBub2Rlcy5sZW5ndGgsIG5vZGU7CisgICAgcmFkaWkgPSBuZXcgQXJyYXkobik7Cisg
ICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgbm9kZSA9IG5vZGVzW2ldLCByYWRpaVtub2RlLmlu
ZGV4XSA9ICtyYWRpdXMobm9kZSwgaSwgbm9kZXMpOworICB9CisKKyAgZm9yY2UuaW5pdGlhbGl6
ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBub2RlcyA9IF87CisgICAgaW5pdGlhbGl6ZSgpOworICB9
OworCisgIGZvcmNlLml0ZXJhdGlvbnMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAoaXRlcmF0aW9ucyA9ICtfLCBmb3JjZSkgOiBpdGVyYXRpb25zOworICB9
OworCisgIGZvcmNlLnN0cmVuZ3RoID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHN0cmVuZ3RoID0gK18sIGZvcmNlKSA6IHN0cmVuZ3RoOworICB9OworCisg
IGZvcmNlLnJhZGl1cyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0
aCA/IChyYWRpdXMgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCQ3KCtf
KSwgaW5pdGlhbGl6ZSgpLCBmb3JjZSkgOiByYWRpdXM7CisgIH07CisKKyAgcmV0dXJuIGZvcmNl
OworfQorCitmdW5jdGlvbiBpbmRleChkKSB7CisgIHJldHVybiBkLmluZGV4OworfQorCitmdW5j
dGlvbiBmaW5kKG5vZGVCeUlkLCBub2RlSWQpIHsKKyAgdmFyIG5vZGUgPSBub2RlQnlJZC5nZXQo
bm9kZUlkKTsKKyAgaWYgKCFub2RlKSB0aHJvdyBuZXcgRXJyb3IoIm1pc3Npbmc6ICIgKyBub2Rl
SWQpOworICByZXR1cm4gbm9kZTsKK30KKworZnVuY3Rpb24gbGluayhsaW5rcykgeworICB2YXIg
aWQgPSBpbmRleCwKKyAgICAgIHN0cmVuZ3RoID0gZGVmYXVsdFN0cmVuZ3RoLAorICAgICAgc3Ry
ZW5ndGhzLAorICAgICAgZGlzdGFuY2UgPSBjb25zdGFudCQ3KDMwKSwKKyAgICAgIGRpc3RhbmNl
cywKKyAgICAgIG5vZGVzLAorICAgICAgY291bnQsCisgICAgICBiaWFzLAorICAgICAgaXRlcmF0
aW9ucyA9IDE7CisKKyAgaWYgKGxpbmtzID09IG51bGwpIGxpbmtzID0gW107CisKKyAgZnVuY3Rp
b24gZGVmYXVsdFN0cmVuZ3RoKGxpbmspIHsKKyAgICByZXR1cm4gMSAvIE1hdGgubWluKGNvdW50
W2xpbmsuc291cmNlLmluZGV4XSwgY291bnRbbGluay50YXJnZXQuaW5kZXhdKTsKKyAgfQorCisg
IGZ1bmN0aW9uIGZvcmNlKGFscGhhKSB7CisgICAgZm9yICh2YXIgayA9IDAsIG4gPSBsaW5rcy5s
ZW5ndGg7IGsgPCBpdGVyYXRpb25zOyArK2spIHsKKyAgICAgIGZvciAodmFyIGkgPSAwLCBsaW5r
LCBzb3VyY2UsIHRhcmdldCwgeCwgeSwgbCwgYjsgaSA8IG47ICsraSkgeworICAgICAgICBsaW5r
ID0gbGlua3NbaV0sIHNvdXJjZSA9IGxpbmsuc291cmNlLCB0YXJnZXQgPSBsaW5rLnRhcmdldDsK
KyAgICAgICAgeCA9IHRhcmdldC54ICsgdGFyZ2V0LnZ4IC0gc291cmNlLnggLSBzb3VyY2Uudngg
fHwgamlnZ2xlKCk7CisgICAgICAgIHkgPSB0YXJnZXQueSArIHRhcmdldC52eSAtIHNvdXJjZS55
IC0gc291cmNlLnZ5IHx8IGppZ2dsZSgpOworICAgICAgICBsID0gTWF0aC5zcXJ0KHggKiB4ICsg
eSAqIHkpOworICAgICAgICBsID0gKGwgLSBkaXN0YW5jZXNbaV0pIC8gbCAqIGFscGhhICogc3Ry
ZW5ndGhzW2ldOworICAgICAgICB4ICo9IGwsIHkgKj0gbDsKKyAgICAgICAgdGFyZ2V0LnZ4IC09
IHggKiAoYiA9IGJpYXNbaV0pOworICAgICAgICB0YXJnZXQudnkgLT0geSAqIGI7CisgICAgICAg
IHNvdXJjZS52eCArPSB4ICogKGIgPSAxIC0gYik7CisgICAgICAgIHNvdXJjZS52eSArPSB5ICog
YjsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBpbml0aWFsaXplKCkgeworICAg
IGlmICghbm9kZXMpIHJldHVybjsKKworICAgIHZhciBpLAorICAgICAgICBuID0gbm9kZXMubGVu
Z3RoLAorICAgICAgICBtID0gbGlua3MubGVuZ3RoLAorICAgICAgICBub2RlQnlJZCA9IG1hcCQx
KG5vZGVzLCBpZCksCisgICAgICAgIGxpbms7CisKKyAgICBmb3IgKGkgPSAwLCBjb3VudCA9IG5l
dyBBcnJheShuKTsgaSA8IG07ICsraSkgeworICAgICAgbGluayA9IGxpbmtzW2ldLCBsaW5rLmlu
ZGV4ID0gaTsKKyAgICAgIGlmICh0eXBlb2YgbGluay5zb3VyY2UgIT09ICJvYmplY3QiKSBsaW5r
LnNvdXJjZSA9IGZpbmQobm9kZUJ5SWQsIGxpbmsuc291cmNlKTsKKyAgICAgIGlmICh0eXBlb2Yg
bGluay50YXJnZXQgIT09ICJvYmplY3QiKSBsaW5rLnRhcmdldCA9IGZpbmQobm9kZUJ5SWQsIGxp
bmsudGFyZ2V0KTsKKyAgICAgIGNvdW50W2xpbmsuc291cmNlLmluZGV4XSA9IChjb3VudFtsaW5r
LnNvdXJjZS5pbmRleF0gfHwgMCkgKyAxOworICAgICAgY291bnRbbGluay50YXJnZXQuaW5kZXhd
ID0gKGNvdW50W2xpbmsudGFyZ2V0LmluZGV4XSB8fCAwKSArIDE7CisgICAgfQorCisgICAgZm9y
IChpID0gMCwgYmlhcyA9IG5ldyBBcnJheShtKTsgaSA8IG07ICsraSkgeworICAgICAgbGluayA9
IGxpbmtzW2ldLCBiaWFzW2ldID0gY291bnRbbGluay5zb3VyY2UuaW5kZXhdIC8gKGNvdW50W2xp
bmsuc291cmNlLmluZGV4XSArIGNvdW50W2xpbmsudGFyZ2V0LmluZGV4XSk7CisgICAgfQorCisg
ICAgc3RyZW5ndGhzID0gbmV3IEFycmF5KG0pLCBpbml0aWFsaXplU3RyZW5ndGgoKTsKKyAgICBk
aXN0YW5jZXMgPSBuZXcgQXJyYXkobSksIGluaXRpYWxpemVEaXN0YW5jZSgpOworICB9CisKKyAg
ZnVuY3Rpb24gaW5pdGlhbGl6ZVN0cmVuZ3RoKCkgeworICAgIGlmICghbm9kZXMpIHJldHVybjsK
KworICAgIGZvciAodmFyIGkgPSAwLCBuID0gbGlua3MubGVuZ3RoOyBpIDwgbjsgKytpKSB7Cisg
ICAgICBzdHJlbmd0aHNbaV0gPSArc3RyZW5ndGgobGlua3NbaV0sIGksIGxpbmtzKTsKKyAgICB9
CisgIH0KKworICBmdW5jdGlvbiBpbml0aWFsaXplRGlzdGFuY2UoKSB7CisgICAgaWYgKCFub2Rl
cykgcmV0dXJuOworCisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBsaW5rcy5sZW5ndGg7IGkgPCBu
OyArK2kpIHsKKyAgICAgIGRpc3RhbmNlc1tpXSA9ICtkaXN0YW5jZShsaW5rc1tpXSwgaSwgbGlu
a3MpOworICAgIH0KKyAgfQorCisgIGZvcmNlLmluaXRpYWxpemUgPSBmdW5jdGlvbihfKSB7Cisg
ICAgbm9kZXMgPSBfOworICAgIGluaXRpYWxpemUoKTsKKyAgfTsKKworICBmb3JjZS5saW5rcyA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChsaW5rcyA9IF8s
IGluaXRpYWxpemUoKSwgZm9yY2UpIDogbGlua3M7CisgIH07CisKKyAgZm9yY2UuaWQgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoaWQgPSBfLCBmb3JjZSkg
OiBpZDsKKyAgfTsKKworICBmb3JjZS5pdGVyYXRpb25zID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGl0ZXJhdGlvbnMgPSArXywgZm9yY2UpIDogaXRlcmF0
aW9uczsKKyAgfTsKKworICBmb3JjZS5zdHJlbmd0aCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzdHJlbmd0aCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24i
ID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplU3RyZW5ndGgoKSwgZm9yY2UpIDogc3Ry
ZW5ndGg7CisgIH07CisKKyAgZm9yY2UuZGlzdGFuY2UgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZGlzdGFuY2UgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9u
IiA/IF8gOiBjb25zdGFudCQ3KCtfKSwgaW5pdGlhbGl6ZURpc3RhbmNlKCksIGZvcmNlKSA6IGRp
c3RhbmNlOworICB9OworCisgIHJldHVybiBmb3JjZTsKK30KKworZnVuY3Rpb24geCQxKGQpIHsK
KyAgcmV0dXJuIGQueDsKK30KKworZnVuY3Rpb24geSQxKGQpIHsKKyAgcmV0dXJuIGQueTsKK30K
KwordmFyIGluaXRpYWxSYWRpdXMgPSAxMCwKKyAgICBpbml0aWFsQW5nbGUgPSBNYXRoLlBJICog
KDMgLSBNYXRoLnNxcnQoNSkpOworCitmdW5jdGlvbiBzaW11bGF0aW9uKG5vZGVzKSB7CisgIHZh
ciBzaW11bGF0aW9uLAorICAgICAgYWxwaGEgPSAxLAorICAgICAgYWxwaGFNaW4gPSAwLjAwMSwK
KyAgICAgIGFscGhhRGVjYXkgPSAxIC0gTWF0aC5wb3coYWxwaGFNaW4sIDEgLyAzMDApLAorICAg
ICAgYWxwaGFUYXJnZXQgPSAwLAorICAgICAgdmVsb2NpdHlEZWNheSA9IDAuNiwKKyAgICAgIGZv
cmNlcyA9IG1hcCQxKCksCisgICAgICBzdGVwcGVyID0gdGltZXIoc3RlcCksCisgICAgICBldmVu
dCA9IGRpc3BhdGNoKCJ0aWNrIiwgImVuZCIpOworCisgIGlmIChub2RlcyA9PSBudWxsKSBub2Rl
cyA9IFtdOworCisgIGZ1bmN0aW9uIHN0ZXAoKSB7CisgICAgdGljaygpOworICAgIGV2ZW50LmNh
bGwoInRpY2siLCBzaW11bGF0aW9uKTsKKyAgICBpZiAoYWxwaGEgPCBhbHBoYU1pbikgeworICAg
ICAgc3RlcHBlci5zdG9wKCk7CisgICAgICBldmVudC5jYWxsKCJlbmQiLCBzaW11bGF0aW9uKTsK
KyAgICB9CisgIH0KKworICBmdW5jdGlvbiB0aWNrKGl0ZXJhdGlvbnMpIHsKKyAgICB2YXIgaSwg
biA9IG5vZGVzLmxlbmd0aCwgbm9kZTsKKworICAgIGlmIChpdGVyYXRpb25zID09PSB1bmRlZmlu
ZWQpIGl0ZXJhdGlvbnMgPSAxOworCisgICAgZm9yICh2YXIgayA9IDA7IGsgPCBpdGVyYXRpb25z
OyArK2spIHsKKyAgICAgIGFscGhhICs9IChhbHBoYVRhcmdldCAtIGFscGhhKSAqIGFscGhhRGVj
YXk7CisKKyAgICAgIGZvcmNlcy5lYWNoKGZ1bmN0aW9uIChmb3JjZSkgeworICAgICAgICBmb3Jj
ZShhbHBoYSk7CisgICAgICB9KTsKKworICAgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgewor
ICAgICAgICBub2RlID0gbm9kZXNbaV07CisgICAgICAgIGlmIChub2RlLmZ4ID09IG51bGwpIG5v
ZGUueCArPSBub2RlLnZ4ICo9IHZlbG9jaXR5RGVjYXk7CisgICAgICAgIGVsc2Ugbm9kZS54ID0g
bm9kZS5meCwgbm9kZS52eCA9IDA7CisgICAgICAgIGlmIChub2RlLmZ5ID09IG51bGwpIG5vZGUu
eSArPSBub2RlLnZ5ICo9IHZlbG9jaXR5RGVjYXk7CisgICAgICAgIGVsc2Ugbm9kZS55ID0gbm9k
ZS5meSwgbm9kZS52eSA9IDA7CisgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHNpbXVsYXRp
b247CisgIH0KKworICBmdW5jdGlvbiBpbml0aWFsaXplTm9kZXMoKSB7CisgICAgZm9yICh2YXIg
aSA9IDAsIG4gPSBub2Rlcy5sZW5ndGgsIG5vZGU7IGkgPCBuOyArK2kpIHsKKyAgICAgIG5vZGUg
PSBub2Rlc1tpXSwgbm9kZS5pbmRleCA9IGk7CisgICAgICBpZiAobm9kZS5meCAhPSBudWxsKSBu
b2RlLnggPSBub2RlLmZ4OworICAgICAgaWYgKG5vZGUuZnkgIT0gbnVsbCkgbm9kZS55ID0gbm9k
ZS5meTsKKyAgICAgIGlmIChpc05hTihub2RlLngpIHx8IGlzTmFOKG5vZGUueSkpIHsKKyAgICAg
ICAgdmFyIHJhZGl1cyA9IGluaXRpYWxSYWRpdXMgKiBNYXRoLnNxcnQoaSksIGFuZ2xlID0gaSAq
IGluaXRpYWxBbmdsZTsKKyAgICAgICAgbm9kZS54ID0gcmFkaXVzICogTWF0aC5jb3MoYW5nbGUp
OworICAgICAgICBub2RlLnkgPSByYWRpdXMgKiBNYXRoLnNpbihhbmdsZSk7CisgICAgICB9Cisg
ICAgICBpZiAoaXNOYU4obm9kZS52eCkgfHwgaXNOYU4obm9kZS52eSkpIHsKKyAgICAgICAgbm9k
ZS52eCA9IG5vZGUudnkgPSAwOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGlu
aXRpYWxpemVGb3JjZShmb3JjZSkgeworICAgIGlmIChmb3JjZS5pbml0aWFsaXplKSBmb3JjZS5p
bml0aWFsaXplKG5vZGVzKTsKKyAgICByZXR1cm4gZm9yY2U7CisgIH0KKworICBpbml0aWFsaXpl
Tm9kZXMoKTsKKworICByZXR1cm4gc2ltdWxhdGlvbiA9IHsKKyAgICB0aWNrOiB0aWNrLAorCisg
ICAgcmVzdGFydDogZnVuY3Rpb24oKSB7CisgICAgICByZXR1cm4gc3RlcHBlci5yZXN0YXJ0KHN0
ZXApLCBzaW11bGF0aW9uOworICAgIH0sCisKKyAgICBzdG9wOiBmdW5jdGlvbigpIHsKKyAgICAg
IHJldHVybiBzdGVwcGVyLnN0b3AoKSwgc2ltdWxhdGlvbjsKKyAgICB9LAorCisgICAgbm9kZXM6
IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKG5vZGVzID0g
XywgaW5pdGlhbGl6ZU5vZGVzKCksIGZvcmNlcy5lYWNoKGluaXRpYWxpemVGb3JjZSksIHNpbXVs
YXRpb24pIDogbm9kZXM7CisgICAgfSwKKworICAgIGFscGhhOiBmdW5jdGlvbihfKSB7CisgICAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChhbHBoYSA9ICtfLCBzaW11bGF0aW9uKSA6IGFs
cGhhOworICAgIH0sCisKKyAgICBhbHBoYU1pbjogZnVuY3Rpb24oXykgeworICAgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAoYWxwaGFNaW4gPSArXywgc2ltdWxhdGlvbikgOiBhbHBoYU1p
bjsKKyAgICB9LAorCisgICAgYWxwaGFEZWNheTogZnVuY3Rpb24oXykgeworICAgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAoYWxwaGFEZWNheSA9ICtfLCBzaW11bGF0aW9uKSA6ICthbHBo
YURlY2F5OworICAgIH0sCisKKyAgICBhbHBoYVRhcmdldDogZnVuY3Rpb24oXykgeworICAgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoYWxwaGFUYXJnZXQgPSArXywgc2ltdWxhdGlvbikg
OiBhbHBoYVRhcmdldDsKKyAgICB9LAorCisgICAgdmVsb2NpdHlEZWNheTogZnVuY3Rpb24oXykg
eworICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodmVsb2NpdHlEZWNheSA9IDEgLSBf
LCBzaW11bGF0aW9uKSA6IDEgLSB2ZWxvY2l0eURlY2F5OworICAgIH0sCisKKyAgICBmb3JjZTog
ZnVuY3Rpb24obmFtZSwgXykgeworICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPiAxID8g
KChfID09IG51bGwgPyBmb3JjZXMucmVtb3ZlKG5hbWUpIDogZm9yY2VzLnNldChuYW1lLCBpbml0
aWFsaXplRm9yY2UoXykpKSwgc2ltdWxhdGlvbikgOiBmb3JjZXMuZ2V0KG5hbWUpOworICAgIH0s
CisKKyAgICBmaW5kOiBmdW5jdGlvbih4LCB5LCByYWRpdXMpIHsKKyAgICAgIHZhciBpID0gMCwK
KyAgICAgICAgICBuID0gbm9kZXMubGVuZ3RoLAorICAgICAgICAgIGR4LAorICAgICAgICAgIGR5
LAorICAgICAgICAgIGQyLAorICAgICAgICAgIG5vZGUsCisgICAgICAgICAgY2xvc2VzdDsKKwor
ICAgICAgaWYgKHJhZGl1cyA9PSBudWxsKSByYWRpdXMgPSBJbmZpbml0eTsKKyAgICAgIGVsc2Ug
cmFkaXVzICo9IHJhZGl1czsKKworICAgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgeworICAg
ICAgICBub2RlID0gbm9kZXNbaV07CisgICAgICAgIGR4ID0geCAtIG5vZGUueDsKKyAgICAgICAg
ZHkgPSB5IC0gbm9kZS55OworICAgICAgICBkMiA9IGR4ICogZHggKyBkeSAqIGR5OworICAgICAg
ICBpZiAoZDIgPCByYWRpdXMpIGNsb3Nlc3QgPSBub2RlLCByYWRpdXMgPSBkMjsKKyAgICAgIH0K
KworICAgICAgcmV0dXJuIGNsb3Nlc3Q7CisgICAgfSwKKworICAgIG9uOiBmdW5jdGlvbihuYW1l
LCBfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA+IDEgPyAoZXZlbnQub24obmFt
ZSwgXyksIHNpbXVsYXRpb24pIDogZXZlbnQub24obmFtZSk7CisgICAgfQorICB9OworfQorCitm
dW5jdGlvbiBtYW55Qm9keSgpIHsKKyAgdmFyIG5vZGVzLAorICAgICAgbm9kZSwKKyAgICAgIGFs
cGhhLAorICAgICAgc3RyZW5ndGggPSBjb25zdGFudCQ3KC0zMCksCisgICAgICBzdHJlbmd0aHMs
CisgICAgICBkaXN0YW5jZU1pbjIgPSAxLAorICAgICAgZGlzdGFuY2VNYXgyID0gSW5maW5pdHks
CisgICAgICB0aGV0YTIgPSAwLjgxOworCisgIGZ1bmN0aW9uIGZvcmNlKF8pIHsKKyAgICB2YXIg
aSwgbiA9IG5vZGVzLmxlbmd0aCwgdHJlZSA9IHF1YWR0cmVlKG5vZGVzLCB4JDEsIHkkMSkudmlz
aXRBZnRlcihhY2N1bXVsYXRlKTsKKyAgICBmb3IgKGFscGhhID0gXywgaSA9IDA7IGkgPCBuOyAr
K2kpIG5vZGUgPSBub2Rlc1tpXSwgdHJlZS52aXNpdChhcHBseSk7CisgIH0KKworICBmdW5jdGlv
biBpbml0aWFsaXplKCkgeworICAgIGlmICghbm9kZXMpIHJldHVybjsKKyAgICB2YXIgaSwgbiA9
IG5vZGVzLmxlbmd0aCwgbm9kZTsKKyAgICBzdHJlbmd0aHMgPSBuZXcgQXJyYXkobik7CisgICAg
Zm9yIChpID0gMDsgaSA8IG47ICsraSkgbm9kZSA9IG5vZGVzW2ldLCBzdHJlbmd0aHNbbm9kZS5p
bmRleF0gPSArc3RyZW5ndGgobm9kZSwgaSwgbm9kZXMpOworICB9CisKKyAgZnVuY3Rpb24gYWNj
dW11bGF0ZShxdWFkKSB7CisgICAgdmFyIHN0cmVuZ3RoID0gMCwgcSwgYywgd2VpZ2h0ID0gMCwg
eCwgeSwgaTsKKworICAgIC8vIEZvciBpbnRlcm5hbCBub2RlcywgYWNjdW11bGF0ZSBmb3JjZXMg
ZnJvbSBjaGlsZCBxdWFkcmFudHMuCisgICAgaWYgKHF1YWQubGVuZ3RoKSB7CisgICAgICBmb3Ig
KHggPSB5ID0gaSA9IDA7IGkgPCA0OyArK2kpIHsKKyAgICAgICAgaWYgKChxID0gcXVhZFtpXSkg
JiYgKGMgPSBNYXRoLmFicyhxLnZhbHVlKSkpIHsKKyAgICAgICAgICBzdHJlbmd0aCArPSBxLnZh
bHVlLCB3ZWlnaHQgKz0gYywgeCArPSBjICogcS54LCB5ICs9IGMgKiBxLnk7CisgICAgICAgIH0K
KyAgICAgIH0KKyAgICAgIHF1YWQueCA9IHggLyB3ZWlnaHQ7CisgICAgICBxdWFkLnkgPSB5IC8g
d2VpZ2h0OworICAgIH0KKworICAgIC8vIEZvciBsZWFmIG5vZGVzLCBhY2N1bXVsYXRlIGZvcmNl
cyBmcm9tIGNvaW5jaWRlbnQgcXVhZHJhbnRzLgorICAgIGVsc2UgeworICAgICAgcSA9IHF1YWQ7
CisgICAgICBxLnggPSBxLmRhdGEueDsKKyAgICAgIHEueSA9IHEuZGF0YS55OworICAgICAgZG8g
c3RyZW5ndGggKz0gc3RyZW5ndGhzW3EuZGF0YS5pbmRleF07CisgICAgICB3aGlsZSAocSA9IHEu
bmV4dCk7CisgICAgfQorCisgICAgcXVhZC52YWx1ZSA9IHN0cmVuZ3RoOworICB9CisKKyAgZnVu
Y3Rpb24gYXBwbHkocXVhZCwgeDEsIF8sIHgyKSB7CisgICAgaWYgKCFxdWFkLnZhbHVlKSByZXR1
cm4gdHJ1ZTsKKworICAgIHZhciB4ID0gcXVhZC54IC0gbm9kZS54LAorICAgICAgICB5ID0gcXVh
ZC55IC0gbm9kZS55LAorICAgICAgICB3ID0geDIgLSB4MSwKKyAgICAgICAgbCA9IHggKiB4ICsg
eSAqIHk7CisKKyAgICAvLyBBcHBseSB0aGUgQmFybmVzLUh1dCBhcHByb3hpbWF0aW9uIGlmIHBv
c3NpYmxlLgorICAgIC8vIExpbWl0IGZvcmNlcyBmb3IgdmVyeSBjbG9zZSBub2RlczsgcmFuZG9t
aXplIGRpcmVjdGlvbiBpZiBjb2luY2lkZW50LgorICAgIGlmICh3ICogdyAvIHRoZXRhMiA8IGwp
IHsKKyAgICAgIGlmIChsIDwgZGlzdGFuY2VNYXgyKSB7CisgICAgICAgIGlmICh4ID09PSAwKSB4
ID0gamlnZ2xlKCksIGwgKz0geCAqIHg7CisgICAgICAgIGlmICh5ID09PSAwKSB5ID0gamlnZ2xl
KCksIGwgKz0geSAqIHk7CisgICAgICAgIGlmIChsIDwgZGlzdGFuY2VNaW4yKSBsID0gTWF0aC5z
cXJ0KGRpc3RhbmNlTWluMiAqIGwpOworICAgICAgICBub2RlLnZ4ICs9IHggKiBxdWFkLnZhbHVl
ICogYWxwaGEgLyBsOworICAgICAgICBub2RlLnZ5ICs9IHkgKiBxdWFkLnZhbHVlICogYWxwaGEg
LyBsOworICAgICAgfQorICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgLy8gT3RoZXJ3
aXNlLCBwcm9jZXNzIHBvaW50cyBkaXJlY3RseS4KKyAgICBlbHNlIGlmIChxdWFkLmxlbmd0aCB8
fCBsID49IGRpc3RhbmNlTWF4MikgcmV0dXJuOworCisgICAgLy8gTGltaXQgZm9yY2VzIGZvciB2
ZXJ5IGNsb3NlIG5vZGVzOyByYW5kb21pemUgZGlyZWN0aW9uIGlmIGNvaW5jaWRlbnQuCisgICAg
aWYgKHF1YWQuZGF0YSAhPT0gbm9kZSB8fCBxdWFkLm5leHQpIHsKKyAgICAgIGlmICh4ID09PSAw
KSB4ID0gamlnZ2xlKCksIGwgKz0geCAqIHg7CisgICAgICBpZiAoeSA9PT0gMCkgeSA9IGppZ2ds
ZSgpLCBsICs9IHkgKiB5OworICAgICAgaWYgKGwgPCBkaXN0YW5jZU1pbjIpIGwgPSBNYXRoLnNx
cnQoZGlzdGFuY2VNaW4yICogbCk7CisgICAgfQorCisgICAgZG8gaWYgKHF1YWQuZGF0YSAhPT0g
bm9kZSkgeworICAgICAgdyA9IHN0cmVuZ3Roc1txdWFkLmRhdGEuaW5kZXhdICogYWxwaGEgLyBs
OworICAgICAgbm9kZS52eCArPSB4ICogdzsKKyAgICAgIG5vZGUudnkgKz0geSAqIHc7CisgICAg
fSB3aGlsZSAocXVhZCA9IHF1YWQubmV4dCk7CisgIH0KKworICBmb3JjZS5pbml0aWFsaXplID0g
ZnVuY3Rpb24oXykgeworICAgIG5vZGVzID0gXzsKKyAgICBpbml0aWFsaXplKCk7CisgIH07CisK
KyAgZm9yY2Uuc3RyZW5ndGggPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoc3RyZW5ndGggPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFu
dCQ3KCtfKSwgaW5pdGlhbGl6ZSgpLCBmb3JjZSkgOiBzdHJlbmd0aDsKKyAgfTsKKworICBmb3Jj
ZS5kaXN0YW5jZU1pbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0
aCA/IChkaXN0YW5jZU1pbjIgPSBfICogXywgZm9yY2UpIDogTWF0aC5zcXJ0KGRpc3RhbmNlTWlu
Mik7CisgIH07CisKKyAgZm9yY2UuZGlzdGFuY2VNYXggPSBmdW5jdGlvbihfKSB7CisgICAgcmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZGlzdGFuY2VNYXgyID0gXyAqIF8sIGZvcmNlKSA6IE1h
dGguc3FydChkaXN0YW5jZU1heDIpOworICB9OworCisgIGZvcmNlLnRoZXRhID0gZnVuY3Rpb24o
XykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRoZXRhMiA9IF8gKiBfLCBmb3Jj
ZSkgOiBNYXRoLnNxcnQodGhldGEyKTsKKyAgfTsKKworICByZXR1cm4gZm9yY2U7Cit9CisKK2Z1
bmN0aW9uIHJhZGlhbChyYWRpdXMsIHgsIHkpIHsKKyAgdmFyIG5vZGVzLAorICAgICAgc3RyZW5n
dGggPSBjb25zdGFudCQ3KDAuMSksCisgICAgICBzdHJlbmd0aHMsCisgICAgICByYWRpdXNlczsK
KworICBpZiAodHlwZW9mIHJhZGl1cyAhPT0gImZ1bmN0aW9uIikgcmFkaXVzID0gY29uc3RhbnQk
NygrcmFkaXVzKTsKKyAgaWYgKHggPT0gbnVsbCkgeCA9IDA7CisgIGlmICh5ID09IG51bGwpIHkg
PSAwOworCisgIGZ1bmN0aW9uIGZvcmNlKGFscGhhKSB7CisgICAgZm9yICh2YXIgaSA9IDAsIG4g
PSBub2Rlcy5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICAgIHZhciBub2RlID0gbm9kZXNbaV0s
CisgICAgICAgICAgZHggPSBub2RlLnggLSB4IHx8IDFlLTYsCisgICAgICAgICAgZHkgPSBub2Rl
LnkgLSB5IHx8IDFlLTYsCisgICAgICAgICAgciA9IE1hdGguc3FydChkeCAqIGR4ICsgZHkgKiBk
eSksCisgICAgICAgICAgayA9IChyYWRpdXNlc1tpXSAtIHIpICogc3RyZW5ndGhzW2ldICogYWxw
aGEgLyByOworICAgICAgbm9kZS52eCArPSBkeCAqIGs7CisgICAgICBub2RlLnZ5ICs9IGR5ICog
azsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBpbml0aWFsaXplKCkgeworICAgIGlmICghbm9k
ZXMpIHJldHVybjsKKyAgICB2YXIgaSwgbiA9IG5vZGVzLmxlbmd0aDsKKyAgICBzdHJlbmd0aHMg
PSBuZXcgQXJyYXkobik7CisgICAgcmFkaXVzZXMgPSBuZXcgQXJyYXkobik7CisgICAgZm9yIChp
ID0gMDsgaSA8IG47ICsraSkgeworICAgICAgcmFkaXVzZXNbaV0gPSArcmFkaXVzKG5vZGVzW2ld
LCBpLCBub2Rlcyk7CisgICAgICBzdHJlbmd0aHNbaV0gPSBpc05hTihyYWRpdXNlc1tpXSkgPyAw
IDogK3N0cmVuZ3RoKG5vZGVzW2ldLCBpLCBub2Rlcyk7CisgICAgfQorICB9CisKKyAgZm9yY2Uu
aW5pdGlhbGl6ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBub2RlcyA9IF8sIGluaXRpYWxpemUoKTsK
KyAgfTsKKworICBmb3JjZS5zdHJlbmd0aCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJn
dW1lbnRzLmxlbmd0aCA/IChzdHJlbmd0aCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6
IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplKCksIGZvcmNlKSA6IHN0cmVuZ3RoOworICB9Owor
CisgIGZvcmNlLnJhZGl1cyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IChyYWRpdXMgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCQ3
KCtfKSwgaW5pdGlhbGl6ZSgpLCBmb3JjZSkgOiByYWRpdXM7CisgIH07CisKKyAgZm9yY2UueCA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4ID0gK18sIGZv
cmNlKSA6IHg7CisgIH07CisKKyAgZm9yY2UueSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/ICh5ID0gK18sIGZvcmNlKSA6IHk7CisgIH07CisKKyAgcmV0dXJu
IGZvcmNlOworfQorCitmdW5jdGlvbiB4JDIoeCkgeworICB2YXIgc3RyZW5ndGggPSBjb25zdGFu
dCQ3KDAuMSksCisgICAgICBub2RlcywKKyAgICAgIHN0cmVuZ3RocywKKyAgICAgIHh6OworCisg
IGlmICh0eXBlb2YgeCAhPT0gImZ1bmN0aW9uIikgeCA9IGNvbnN0YW50JDcoeCA9PSBudWxsID8g
MCA6ICt4KTsKKworICBmdW5jdGlvbiBmb3JjZShhbHBoYSkgeworICAgIGZvciAodmFyIGkgPSAw
LCBuID0gbm9kZXMubGVuZ3RoLCBub2RlOyBpIDwgbjsgKytpKSB7CisgICAgICBub2RlID0gbm9k
ZXNbaV0sIG5vZGUudnggKz0gKHh6W2ldIC0gbm9kZS54KSAqIHN0cmVuZ3Roc1tpXSAqIGFscGhh
OworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemUoKSB7CisgICAgaWYgKCFub2Rl
cykgcmV0dXJuOworICAgIHZhciBpLCBuID0gbm9kZXMubGVuZ3RoOworICAgIHN0cmVuZ3RocyA9
IG5ldyBBcnJheShuKTsKKyAgICB4eiA9IG5ldyBBcnJheShuKTsKKyAgICBmb3IgKGkgPSAwOyBp
IDwgbjsgKytpKSB7CisgICAgICBzdHJlbmd0aHNbaV0gPSBpc05hTih4eltpXSA9ICt4KG5vZGVz
W2ldLCBpLCBub2RlcykpID8gMCA6ICtzdHJlbmd0aChub2Rlc1tpXSwgaSwgbm9kZXMpOworICAg
IH0KKyAgfQorCisgIGZvcmNlLmluaXRpYWxpemUgPSBmdW5jdGlvbihfKSB7CisgICAgbm9kZXMg
PSBfOworICAgIGluaXRpYWxpemUoKTsKKyAgfTsKKworICBmb3JjZS5zdHJlbmd0aCA9IGZ1bmN0
aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzdHJlbmd0aCA9IHR5cGVv
ZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplKCksIGZv
cmNlKSA6IHN0cmVuZ3RoOworICB9OworCisgIGZvcmNlLnggPSBmdW5jdGlvbihfKSB7CisgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeCA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8g
XyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplKCksIGZvcmNlKSA6IHg7CisgIH07CisKKyAg
cmV0dXJuIGZvcmNlOworfQorCitmdW5jdGlvbiB5JDIoeSkgeworICB2YXIgc3RyZW5ndGggPSBj
b25zdGFudCQ3KDAuMSksCisgICAgICBub2RlcywKKyAgICAgIHN0cmVuZ3RocywKKyAgICAgIHl6
OworCisgIGlmICh0eXBlb2YgeSAhPT0gImZ1bmN0aW9uIikgeSA9IGNvbnN0YW50JDcoeSA9PSBu
dWxsID8gMCA6ICt5KTsKKworICBmdW5jdGlvbiBmb3JjZShhbHBoYSkgeworICAgIGZvciAodmFy
IGkgPSAwLCBuID0gbm9kZXMubGVuZ3RoLCBub2RlOyBpIDwgbjsgKytpKSB7CisgICAgICBub2Rl
ID0gbm9kZXNbaV0sIG5vZGUudnkgKz0gKHl6W2ldIC0gbm9kZS55KSAqIHN0cmVuZ3Roc1tpXSAq
IGFscGhhOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGluaXRpYWxpemUoKSB7CisgICAgaWYg
KCFub2RlcykgcmV0dXJuOworICAgIHZhciBpLCBuID0gbm9kZXMubGVuZ3RoOworICAgIHN0cmVu
Z3RocyA9IG5ldyBBcnJheShuKTsKKyAgICB5eiA9IG5ldyBBcnJheShuKTsKKyAgICBmb3IgKGkg
PSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBzdHJlbmd0aHNbaV0gPSBpc05hTih5eltpXSA9ICt5
KG5vZGVzW2ldLCBpLCBub2RlcykpID8gMCA6ICtzdHJlbmd0aChub2Rlc1tpXSwgaSwgbm9kZXMp
OworICAgIH0KKyAgfQorCisgIGZvcmNlLmluaXRpYWxpemUgPSBmdW5jdGlvbihfKSB7CisgICAg
bm9kZXMgPSBfOworICAgIGluaXRpYWxpemUoKTsKKyAgfTsKKworICBmb3JjZS5zdHJlbmd0aCA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzdHJlbmd0aCA9
IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXpl
KCksIGZvcmNlKSA6IHN0cmVuZ3RoOworICB9OworCisgIGZvcmNlLnkgPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeSA9IHR5cGVvZiBfID09PSAiZnVuY3Rp
b24iID8gXyA6IGNvbnN0YW50JDcoK18pLCBpbml0aWFsaXplKCksIGZvcmNlKSA6IHk7CisgIH07
CisKKyAgcmV0dXJuIGZvcmNlOworfQorCisvLyBDb21wdXRlcyB0aGUgZGVjaW1hbCBjb2VmZmlj
aWVudCBhbmQgZXhwb25lbnQgb2YgdGhlIHNwZWNpZmllZCBudW1iZXIgeCB3aXRoCisvLyBzaWdu
aWZpY2FudCBkaWdpdHMgcCwgd2hlcmUgeCBpcyBwb3NpdGl2ZSBhbmQgcCBpcyBpbiBbMSwgMjFd
IG9yIHVuZGVmaW5lZC4KKy8vIEZvciBleGFtcGxlLCBmb3JtYXREZWNpbWFsKDEuMjMpIHJldHVy
bnMgWyIxMjMiLCAwXS4KK2Z1bmN0aW9uIGZvcm1hdERlY2ltYWwoeCwgcCkgeworICBpZiAoKGkg
PSAoeCA9IHAgPyB4LnRvRXhwb25lbnRpYWwocCAtIDEpIDogeC50b0V4cG9uZW50aWFsKCkpLmlu
ZGV4T2YoImUiKSkgPCAwKSByZXR1cm4gbnVsbDsgLy8gTmFOLCDCsUluZmluaXR5CisgIHZhciBp
LCBjb2VmZmljaWVudCA9IHguc2xpY2UoMCwgaSk7CisKKyAgLy8gVGhlIHN0cmluZyByZXR1cm5l
ZCBieSB0b0V4cG9uZW50aWFsIGVpdGhlciBoYXMgdGhlIGZvcm0gXGRcLlxkK2VbLStdXGQrCisg
IC8vIChlLmcuLCAxLjJlKzMpIG9yIHRoZSBmb3JtIFxkZVstK11cZCsgKGUuZy4sIDFlKzMpLgor
ICByZXR1cm4gWworICAgIGNvZWZmaWNpZW50Lmxlbmd0aCA+IDEgPyBjb2VmZmljaWVudFswXSAr
IGNvZWZmaWNpZW50LnNsaWNlKDIpIDogY29lZmZpY2llbnQsCisgICAgK3guc2xpY2UoaSArIDEp
CisgIF07Cit9CisKK2Z1bmN0aW9uIGV4cG9uZW50JDEoeCkgeworICByZXR1cm4geCA9IGZvcm1h
dERlY2ltYWwoTWF0aC5hYnMoeCkpLCB4ID8geFsxXSA6IE5hTjsKK30KKworZnVuY3Rpb24gZm9y
bWF0R3JvdXAoZ3JvdXBpbmcsIHRob3VzYW5kcykgeworICByZXR1cm4gZnVuY3Rpb24odmFsdWUs
IHdpZHRoKSB7CisgICAgdmFyIGkgPSB2YWx1ZS5sZW5ndGgsCisgICAgICAgIHQgPSBbXSwKKyAg
ICAgICAgaiA9IDAsCisgICAgICAgIGcgPSBncm91cGluZ1swXSwKKyAgICAgICAgbGVuZ3RoID0g
MDsKKworICAgIHdoaWxlIChpID4gMCAmJiBnID4gMCkgeworICAgICAgaWYgKGxlbmd0aCArIGcg
KyAxID4gd2lkdGgpIGcgPSBNYXRoLm1heCgxLCB3aWR0aCAtIGxlbmd0aCk7CisgICAgICB0LnB1
c2godmFsdWUuc3Vic3RyaW5nKGkgLT0gZywgaSArIGcpKTsKKyAgICAgIGlmICgobGVuZ3RoICs9
IGcgKyAxKSA+IHdpZHRoKSBicmVhazsKKyAgICAgIGcgPSBncm91cGluZ1tqID0gKGogKyAxKSAl
IGdyb3VwaW5nLmxlbmd0aF07CisgICAgfQorCisgICAgcmV0dXJuIHQucmV2ZXJzZSgpLmpvaW4o
dGhvdXNhbmRzKTsKKyAgfTsKK30KKworZnVuY3Rpb24gZm9ybWF0TnVtZXJhbHMobnVtZXJhbHMp
IHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2Uo
L1swLTldL2csIGZ1bmN0aW9uKGkpIHsKKyAgICAgIHJldHVybiBudW1lcmFsc1sraV07CisgICAg
fSk7CisgIH07Cit9CisKKy8vIFtbZmlsbF1hbGlnbl1bc2lnbl1bc3ltYm9sXVswXVt3aWR0aF1b
LF1bLnByZWNpc2lvbl1bfl1bdHlwZV0KK3ZhciByZSA9IC9eKD86KC4pPyhbPD49Xl0pKT8oWytc
LSggXSk/KFskI10pPygwKT8oXGQrKT8oLCk/KFwuXGQrKT8ofik/KFthLXolXSk/JC9pOworCitm
dW5jdGlvbiBmb3JtYXRTcGVjaWZpZXIoc3BlY2lmaWVyKSB7CisgIGlmICghKG1hdGNoID0gcmUu
ZXhlYyhzcGVjaWZpZXIpKSkgdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGZvcm1hdDogIiArIHNw
ZWNpZmllcik7CisgIHZhciBtYXRjaDsKKyAgcmV0dXJuIG5ldyBGb3JtYXRTcGVjaWZpZXIoewor
ICAgIGZpbGw6IG1hdGNoWzFdLAorICAgIGFsaWduOiBtYXRjaFsyXSwKKyAgICBzaWduOiBtYXRj
aFszXSwKKyAgICBzeW1ib2w6IG1hdGNoWzRdLAorICAgIHplcm86IG1hdGNoWzVdLAorICAgIHdp
ZHRoOiBtYXRjaFs2XSwKKyAgICBjb21tYTogbWF0Y2hbN10sCisgICAgcHJlY2lzaW9uOiBtYXRj
aFs4XSAmJiBtYXRjaFs4XS5zbGljZSgxKSwKKyAgICB0cmltOiBtYXRjaFs5XSwKKyAgICB0eXBl
OiBtYXRjaFsxMF0KKyAgfSk7Cit9CisKK2Zvcm1hdFNwZWNpZmllci5wcm90b3R5cGUgPSBGb3Jt
YXRTcGVjaWZpZXIucHJvdG90eXBlOyAvLyBpbnN0YW5jZW9mCisKK2Z1bmN0aW9uIEZvcm1hdFNw
ZWNpZmllcihzcGVjaWZpZXIpIHsKKyAgdGhpcy5maWxsID0gc3BlY2lmaWVyLmZpbGwgPT09IHVu
ZGVmaW5lZCA/ICIgIiA6IHNwZWNpZmllci5maWxsICsgIiI7CisgIHRoaXMuYWxpZ24gPSBzcGVj
aWZpZXIuYWxpZ24gPT09IHVuZGVmaW5lZCA/ICI+IiA6IHNwZWNpZmllci5hbGlnbiArICIiOwor
ICB0aGlzLnNpZ24gPSBzcGVjaWZpZXIuc2lnbiA9PT0gdW5kZWZpbmVkID8gIi0iIDogc3BlY2lm
aWVyLnNpZ24gKyAiIjsKKyAgdGhpcy5zeW1ib2wgPSBzcGVjaWZpZXIuc3ltYm9sID09PSB1bmRl
ZmluZWQgPyAiIiA6IHNwZWNpZmllci5zeW1ib2wgKyAiIjsKKyAgdGhpcy56ZXJvID0gISFzcGVj
aWZpZXIuemVybzsKKyAgdGhpcy53aWR0aCA9IHNwZWNpZmllci53aWR0aCA9PT0gdW5kZWZpbmVk
ID8gdW5kZWZpbmVkIDogK3NwZWNpZmllci53aWR0aDsKKyAgdGhpcy5jb21tYSA9ICEhc3BlY2lm
aWVyLmNvbW1hOworICB0aGlzLnByZWNpc2lvbiA9IHNwZWNpZmllci5wcmVjaXNpb24gPT09IHVu
ZGVmaW5lZCA/IHVuZGVmaW5lZCA6ICtzcGVjaWZpZXIucHJlY2lzaW9uOworICB0aGlzLnRyaW0g
PSAhIXNwZWNpZmllci50cmltOworICB0aGlzLnR5cGUgPSBzcGVjaWZpZXIudHlwZSA9PT0gdW5k
ZWZpbmVkID8gIiIgOiBzcGVjaWZpZXIudHlwZSArICIiOworfQorCitGb3JtYXRTcGVjaWZpZXIu
cHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7CisgIHJldHVybiB0aGlzLmZpbGwKKyAg
ICAgICsgdGhpcy5hbGlnbgorICAgICAgKyB0aGlzLnNpZ24KKyAgICAgICsgdGhpcy5zeW1ib2wK
KyAgICAgICsgKHRoaXMuemVybyA/ICIwIiA6ICIiKQorICAgICAgKyAodGhpcy53aWR0aCA9PT0g
dW5kZWZpbmVkID8gIiIgOiBNYXRoLm1heCgxLCB0aGlzLndpZHRoIHwgMCkpCisgICAgICArICh0
aGlzLmNvbW1hID8gIiwiIDogIiIpCisgICAgICArICh0aGlzLnByZWNpc2lvbiA9PT0gdW5kZWZp
bmVkID8gIiIgOiAiLiIgKyBNYXRoLm1heCgwLCB0aGlzLnByZWNpc2lvbiB8IDApKQorICAgICAg
KyAodGhpcy50cmltID8gIn4iIDogIiIpCisgICAgICArIHRoaXMudHlwZTsKK307CisKKy8vIFRy
aW1zIGluc2lnbmlmaWNhbnQgemVyb3MsIGUuZy4sIHJlcGxhY2VzIDEuMjAwMGsgd2l0aCAxLjJr
LgorZnVuY3Rpb24gZm9ybWF0VHJpbShzKSB7CisgIG91dDogZm9yICh2YXIgbiA9IHMubGVuZ3Ro
LCBpID0gMSwgaTAgPSAtMSwgaTE7IGkgPCBuOyArK2kpIHsKKyAgICBzd2l0Y2ggKHNbaV0pIHsK
KyAgICAgIGNhc2UgIi4iOiBpMCA9IGkxID0gaTsgYnJlYWs7CisgICAgICBjYXNlICIwIjogaWYg
KGkwID09PSAwKSBpMCA9IGk7IGkxID0gaTsgYnJlYWs7CisgICAgICBkZWZhdWx0OiBpZiAoaTAg
PiAwKSB7IGlmICghK3NbaV0pIGJyZWFrIG91dDsgaTAgPSAwOyB9IGJyZWFrOworICAgIH0KKyAg
fQorICByZXR1cm4gaTAgPiAwID8gcy5zbGljZSgwLCBpMCkgKyBzLnNsaWNlKGkxICsgMSkgOiBz
OworfQorCit2YXIgcHJlZml4RXhwb25lbnQ7CisKK2Z1bmN0aW9uIGZvcm1hdFByZWZpeEF1dG8o
eCwgcCkgeworICB2YXIgZCA9IGZvcm1hdERlY2ltYWwoeCwgcCk7CisgIGlmICghZCkgcmV0dXJu
IHggKyAiIjsKKyAgdmFyIGNvZWZmaWNpZW50ID0gZFswXSwKKyAgICAgIGV4cG9uZW50ID0gZFsx
XSwKKyAgICAgIGkgPSBleHBvbmVudCAtIChwcmVmaXhFeHBvbmVudCA9IE1hdGgubWF4KC04LCBN
YXRoLm1pbig4LCBNYXRoLmZsb29yKGV4cG9uZW50IC8gMykpKSAqIDMpICsgMSwKKyAgICAgIG4g
PSBjb2VmZmljaWVudC5sZW5ndGg7CisgIHJldHVybiBpID09PSBuID8gY29lZmZpY2llbnQKKyAg
ICAgIDogaSA+IG4gPyBjb2VmZmljaWVudCArIG5ldyBBcnJheShpIC0gbiArIDEpLmpvaW4oIjAi
KQorICAgICAgOiBpID4gMCA/IGNvZWZmaWNpZW50LnNsaWNlKDAsIGkpICsgIi4iICsgY29lZmZp
Y2llbnQuc2xpY2UoaSkKKyAgICAgIDogIjAuIiArIG5ldyBBcnJheSgxIC0gaSkuam9pbigiMCIp
ICsgZm9ybWF0RGVjaW1hbCh4LCBNYXRoLm1heCgwLCBwICsgaSAtIDEpKVswXTsgLy8gbGVzcyB0
aGFuIDF5IQorfQorCitmdW5jdGlvbiBmb3JtYXRSb3VuZGVkKHgsIHApIHsKKyAgdmFyIGQgPSBm
b3JtYXREZWNpbWFsKHgsIHApOworICBpZiAoIWQpIHJldHVybiB4ICsgIiI7CisgIHZhciBjb2Vm
ZmljaWVudCA9IGRbMF0sCisgICAgICBleHBvbmVudCA9IGRbMV07CisgIHJldHVybiBleHBvbmVu
dCA8IDAgPyAiMC4iICsgbmV3IEFycmF5KC1leHBvbmVudCkuam9pbigiMCIpICsgY29lZmZpY2ll
bnQKKyAgICAgIDogY29lZmZpY2llbnQubGVuZ3RoID4gZXhwb25lbnQgKyAxID8gY29lZmZpY2ll
bnQuc2xpY2UoMCwgZXhwb25lbnQgKyAxKSArICIuIiArIGNvZWZmaWNpZW50LnNsaWNlKGV4cG9u
ZW50ICsgMSkKKyAgICAgIDogY29lZmZpY2llbnQgKyBuZXcgQXJyYXkoZXhwb25lbnQgLSBjb2Vm
ZmljaWVudC5sZW5ndGggKyAyKS5qb2luKCIwIik7Cit9CisKK3ZhciBmb3JtYXRUeXBlcyA9IHsK
KyAgIiUiOiBmdW5jdGlvbih4LCBwKSB7IHJldHVybiAoeCAqIDEwMCkudG9GaXhlZChwKTsgfSwK
KyAgImIiOiBmdW5jdGlvbih4KSB7IHJldHVybiBNYXRoLnJvdW5kKHgpLnRvU3RyaW5nKDIpOyB9
LAorICAiYyI6IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIHggKyAiIjsgfSwKKyAgImQiOiBmdW5jdGlv
bih4KSB7IHJldHVybiBNYXRoLnJvdW5kKHgpLnRvU3RyaW5nKDEwKTsgfSwKKyAgImUiOiBmdW5j
dGlvbih4LCBwKSB7IHJldHVybiB4LnRvRXhwb25lbnRpYWwocCk7IH0sCisgICJmIjogZnVuY3Rp
b24oeCwgcCkgeyByZXR1cm4geC50b0ZpeGVkKHApOyB9LAorICAiZyI6IGZ1bmN0aW9uKHgsIHAp
IHsgcmV0dXJuIHgudG9QcmVjaXNpb24ocCk7IH0sCisgICJvIjogZnVuY3Rpb24oeCkgeyByZXR1
cm4gTWF0aC5yb3VuZCh4KS50b1N0cmluZyg4KTsgfSwKKyAgInAiOiBmdW5jdGlvbih4LCBwKSB7
IHJldHVybiBmb3JtYXRSb3VuZGVkKHggKiAxMDAsIHApOyB9LAorICAiciI6IGZvcm1hdFJvdW5k
ZWQsCisgICJzIjogZm9ybWF0UHJlZml4QXV0bywKKyAgIlgiOiBmdW5jdGlvbih4KSB7IHJldHVy
biBNYXRoLnJvdW5kKHgpLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpOyB9LAorICAieCI6IGZ1
bmN0aW9uKHgpIHsgcmV0dXJuIE1hdGgucm91bmQoeCkudG9TdHJpbmcoMTYpOyB9Cit9OworCitm
dW5jdGlvbiBpZGVudGl0eSQzKHgpIHsKKyAgcmV0dXJuIHg7Cit9CisKK3ZhciBtYXAkMiA9IEFy
cmF5LnByb3RvdHlwZS5tYXAsCisgICAgcHJlZml4ZXMgPSBbInkiLCJ6IiwiYSIsImYiLCJwIiwi
biIsIlx4QjUiLCJtIiwiIiwiayIsIk0iLCJHIiwiVCIsIlAiLCJFIiwiWiIsIlkiXTsKKworZnVu
Y3Rpb24gZm9ybWF0TG9jYWxlKGxvY2FsZSkgeworICB2YXIgZ3JvdXAgPSBsb2NhbGUuZ3JvdXBp
bmcgPT09IHVuZGVmaW5lZCB8fCBsb2NhbGUudGhvdXNhbmRzID09PSB1bmRlZmluZWQgPyBpZGVu
dGl0eSQzIDogZm9ybWF0R3JvdXAobWFwJDIuY2FsbChsb2NhbGUuZ3JvdXBpbmcsIE51bWJlciks
IGxvY2FsZS50aG91c2FuZHMgKyAiIiksCisgICAgICBjdXJyZW5jeVByZWZpeCA9IGxvY2FsZS5j
dXJyZW5jeSA9PT0gdW5kZWZpbmVkID8gIiIgOiBsb2NhbGUuY3VycmVuY3lbMF0gKyAiIiwKKyAg
ICAgIGN1cnJlbmN5U3VmZml4ID0gbG9jYWxlLmN1cnJlbmN5ID09PSB1bmRlZmluZWQgPyAiIiA6
IGxvY2FsZS5jdXJyZW5jeVsxXSArICIiLAorICAgICAgZGVjaW1hbCA9IGxvY2FsZS5kZWNpbWFs
ID09PSB1bmRlZmluZWQgPyAiLiIgOiBsb2NhbGUuZGVjaW1hbCArICIiLAorICAgICAgbnVtZXJh
bHMgPSBsb2NhbGUubnVtZXJhbHMgPT09IHVuZGVmaW5lZCA/IGlkZW50aXR5JDMgOiBmb3JtYXRO
dW1lcmFscyhtYXAkMi5jYWxsKGxvY2FsZS5udW1lcmFscywgU3RyaW5nKSksCisgICAgICBwZXJj
ZW50ID0gbG9jYWxlLnBlcmNlbnQgPT09IHVuZGVmaW5lZCA/ICIlIiA6IGxvY2FsZS5wZXJjZW50
ICsgIiIsCisgICAgICBtaW51cyA9IGxvY2FsZS5taW51cyA9PT0gdW5kZWZpbmVkID8gIi0iIDog
bG9jYWxlLm1pbnVzICsgIiIsCisgICAgICBuYW4gPSBsb2NhbGUubmFuID09PSB1bmRlZmluZWQg
PyAiTmFOIiA6IGxvY2FsZS5uYW4gKyAiIjsKKworICBmdW5jdGlvbiBuZXdGb3JtYXQoc3BlY2lm
aWVyKSB7CisgICAgc3BlY2lmaWVyID0gZm9ybWF0U3BlY2lmaWVyKHNwZWNpZmllcik7CisKKyAg
ICB2YXIgZmlsbCA9IHNwZWNpZmllci5maWxsLAorICAgICAgICBhbGlnbiA9IHNwZWNpZmllci5h
bGlnbiwKKyAgICAgICAgc2lnbiA9IHNwZWNpZmllci5zaWduLAorICAgICAgICBzeW1ib2wgPSBz
cGVjaWZpZXIuc3ltYm9sLAorICAgICAgICB6ZXJvID0gc3BlY2lmaWVyLnplcm8sCisgICAgICAg
IHdpZHRoID0gc3BlY2lmaWVyLndpZHRoLAorICAgICAgICBjb21tYSA9IHNwZWNpZmllci5jb21t
YSwKKyAgICAgICAgcHJlY2lzaW9uID0gc3BlY2lmaWVyLnByZWNpc2lvbiwKKyAgICAgICAgdHJp
bSA9IHNwZWNpZmllci50cmltLAorICAgICAgICB0eXBlID0gc3BlY2lmaWVyLnR5cGU7CisKKyAg
ICAvLyBUaGUgIm4iIHR5cGUgaXMgYW4gYWxpYXMgZm9yICIsZyIuCisgICAgaWYgKHR5cGUgPT09
ICJuIikgY29tbWEgPSB0cnVlLCB0eXBlID0gImciOworCisgICAgLy8gVGhlICIiIHR5cGUsIGFu
ZCBhbnkgaW52YWxpZCB0eXBlLCBpcyBhbiBhbGlhcyBmb3IgIi4xMn5nIi4KKyAgICBlbHNlIGlm
ICghZm9ybWF0VHlwZXNbdHlwZV0pIHByZWNpc2lvbiA9PT0gdW5kZWZpbmVkICYmIChwcmVjaXNp
b24gPSAxMiksIHRyaW0gPSB0cnVlLCB0eXBlID0gImciOworCisgICAgLy8gSWYgemVybyBmaWxs
IGlzIHNwZWNpZmllZCwgcGFkZGluZyBnb2VzIGFmdGVyIHNpZ24gYW5kIGJlZm9yZSBkaWdpdHMu
CisgICAgaWYgKHplcm8gfHwgKGZpbGwgPT09ICIwIiAmJiBhbGlnbiA9PT0gIj0iKSkgemVybyA9
IHRydWUsIGZpbGwgPSAiMCIsIGFsaWduID0gIj0iOworCisgICAgLy8gQ29tcHV0ZSB0aGUgcHJl
Zml4IGFuZCBzdWZmaXguCisgICAgLy8gRm9yIFNJLXByZWZpeCwgdGhlIHN1ZmZpeCBpcyBsYXpp
bHkgY29tcHV0ZWQuCisgICAgdmFyIHByZWZpeCA9IHN5bWJvbCA9PT0gIiQiID8gY3VycmVuY3lQ
cmVmaXggOiBzeW1ib2wgPT09ICIjIiAmJiAvW2JveFhdLy50ZXN0KHR5cGUpID8gIjAiICsgdHlw
ZS50b0xvd2VyQ2FzZSgpIDogIiIsCisgICAgICAgIHN1ZmZpeCA9IHN5bWJvbCA9PT0gIiQiID8g
Y3VycmVuY3lTdWZmaXggOiAvWyVwXS8udGVzdCh0eXBlKSA/IHBlcmNlbnQgOiAiIjsKKworICAg
IC8vIFdoYXQgZm9ybWF0IGZ1bmN0aW9uIHNob3VsZCB3ZSB1c2U/CisgICAgLy8gSXMgdGhpcyBh
biBpbnRlZ2VyIHR5cGU/CisgICAgLy8gQ2FuIHRoaXMgdHlwZSBnZW5lcmF0ZSBleHBvbmVudGlh
bCBub3RhdGlvbj8KKyAgICB2YXIgZm9ybWF0VHlwZSA9IGZvcm1hdFR5cGVzW3R5cGVdLAorICAg
ICAgICBtYXliZVN1ZmZpeCA9IC9bZGVmZ3BycyVdLy50ZXN0KHR5cGUpOworCisgICAgLy8gU2V0
IHRoZSBkZWZhdWx0IHByZWNpc2lvbiBpZiBub3Qgc3BlY2lmaWVkLAorICAgIC8vIG9yIGNsYW1w
IHRoZSBzcGVjaWZpZWQgcHJlY2lzaW9uIHRvIHRoZSBzdXBwb3J0ZWQgcmFuZ2UuCisgICAgLy8g
Rm9yIHNpZ25pZmljYW50IHByZWNpc2lvbiwgaXQgbXVzdCBiZSBpbiBbMSwgMjFdLgorICAgIC8v
IEZvciBmaXhlZCBwcmVjaXNpb24sIGl0IG11c3QgYmUgaW4gWzAsIDIwXS4KKyAgICBwcmVjaXNp
b24gPSBwcmVjaXNpb24gPT09IHVuZGVmaW5lZCA/IDYKKyAgICAgICAgOiAvW2dwcnNdLy50ZXN0
KHR5cGUpID8gTWF0aC5tYXgoMSwgTWF0aC5taW4oMjEsIHByZWNpc2lvbikpCisgICAgICAgIDog
TWF0aC5tYXgoMCwgTWF0aC5taW4oMjAsIHByZWNpc2lvbikpOworCisgICAgZnVuY3Rpb24gZm9y
bWF0KHZhbHVlKSB7CisgICAgICB2YXIgdmFsdWVQcmVmaXggPSBwcmVmaXgsCisgICAgICAgICAg
dmFsdWVTdWZmaXggPSBzdWZmaXgsCisgICAgICAgICAgaSwgbiwgYzsKKworICAgICAgaWYgKHR5
cGUgPT09ICJjIikgeworICAgICAgICB2YWx1ZVN1ZmZpeCA9IGZvcm1hdFR5cGUodmFsdWUpICsg
dmFsdWVTdWZmaXg7CisgICAgICAgIHZhbHVlID0gIiI7CisgICAgICB9IGVsc2UgeworICAgICAg
ICB2YWx1ZSA9ICt2YWx1ZTsKKworICAgICAgICAvLyBQZXJmb3JtIHRoZSBpbml0aWFsIGZvcm1h
dHRpbmcuCisgICAgICAgIHZhciB2YWx1ZU5lZ2F0aXZlID0gdmFsdWUgPCAwOworICAgICAgICB2
YWx1ZSA9IGlzTmFOKHZhbHVlKSA/IG5hbiA6IGZvcm1hdFR5cGUoTWF0aC5hYnModmFsdWUpLCBw
cmVjaXNpb24pOworCisgICAgICAgIC8vIFRyaW0gaW5zaWduaWZpY2FudCB6ZXJvcy4KKyAgICAg
ICAgaWYgKHRyaW0pIHZhbHVlID0gZm9ybWF0VHJpbSh2YWx1ZSk7CisKKyAgICAgICAgLy8gSWYg
YSBuZWdhdGl2ZSB2YWx1ZSByb3VuZHMgdG8gemVybyBkdXJpbmcgZm9ybWF0dGluZywgdHJlYXQg
YXMgcG9zaXRpdmUuCisgICAgICAgIGlmICh2YWx1ZU5lZ2F0aXZlICYmICt2YWx1ZSA9PT0gMCkg
dmFsdWVOZWdhdGl2ZSA9IGZhbHNlOworCisgICAgICAgIC8vIENvbXB1dGUgdGhlIHByZWZpeCBh
bmQgc3VmZml4LgorICAgICAgICB2YWx1ZVByZWZpeCA9ICh2YWx1ZU5lZ2F0aXZlID8gKHNpZ24g
PT09ICIoIiA/IHNpZ24gOiBtaW51cykgOiBzaWduID09PSAiLSIgfHwgc2lnbiA9PT0gIigiID8g
IiIgOiBzaWduKSArIHZhbHVlUHJlZml4OworCisgICAgICAgIHZhbHVlU3VmZml4ID0gKHR5cGUg
PT09ICJzIiA/IHByZWZpeGVzWzggKyBwcmVmaXhFeHBvbmVudCAvIDNdIDogIiIpICsgdmFsdWVT
dWZmaXggKyAodmFsdWVOZWdhdGl2ZSAmJiBzaWduID09PSAiKCIgPyAiKSIgOiAiIik7CisKKyAg
ICAgICAgLy8gQnJlYWsgdGhlIGZvcm1hdHRlZCB2YWx1ZSBpbnRvIHRoZSBpbnRlZ2VyIOKAnHZh
bHVl4oCdIHBhcnQgdGhhdCBjYW4gYmUKKyAgICAgICAgLy8gZ3JvdXBlZCwgYW5kIGZyYWN0aW9u
YWwgb3IgZXhwb25lbnRpYWwg4oCcc3VmZml44oCdIHBhcnQgdGhhdCBpcyBub3QuCisgICAgICAg
IGlmIChtYXliZVN1ZmZpeCkgeworICAgICAgICAgIGkgPSAtMSwgbiA9IHZhbHVlLmxlbmd0aDsK
KyAgICAgICAgICB3aGlsZSAoKytpIDwgbikgeworICAgICAgICAgICAgaWYgKGMgPSB2YWx1ZS5j
aGFyQ29kZUF0KGkpLCA0OCA+IGMgfHwgYyA+IDU3KSB7CisgICAgICAgICAgICAgIHZhbHVlU3Vm
Zml4ID0gKGMgPT09IDQ2ID8gZGVjaW1hbCArIHZhbHVlLnNsaWNlKGkgKyAxKSA6IHZhbHVlLnNs
aWNlKGkpKSArIHZhbHVlU3VmZml4OworICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnNsaWNl
KDAsIGkpOworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgLy8gSWYgdGhlIGZpbGwgY2hhcmFjdGVyIGlz
IG5vdCAiMCIsIGdyb3VwaW5nIGlzIGFwcGxpZWQgYmVmb3JlIHBhZGRpbmcuCisgICAgICBpZiAo
Y29tbWEgJiYgIXplcm8pIHZhbHVlID0gZ3JvdXAodmFsdWUsIEluZmluaXR5KTsKKworICAgICAg
Ly8gQ29tcHV0ZSB0aGUgcGFkZGluZy4KKyAgICAgIHZhciBsZW5ndGggPSB2YWx1ZVByZWZpeC5s
ZW5ndGggKyB2YWx1ZS5sZW5ndGggKyB2YWx1ZVN1ZmZpeC5sZW5ndGgsCisgICAgICAgICAgcGFk
ZGluZyA9IGxlbmd0aCA8IHdpZHRoID8gbmV3IEFycmF5KHdpZHRoIC0gbGVuZ3RoICsgMSkuam9p
bihmaWxsKSA6ICIiOworCisgICAgICAvLyBJZiB0aGUgZmlsbCBjaGFyYWN0ZXIgaXMgIjAiLCBn
cm91cGluZyBpcyBhcHBsaWVkIGFmdGVyIHBhZGRpbmcuCisgICAgICBpZiAoY29tbWEgJiYgemVy
bykgdmFsdWUgPSBncm91cChwYWRkaW5nICsgdmFsdWUsIHBhZGRpbmcubGVuZ3RoID8gd2lkdGgg
LSB2YWx1ZVN1ZmZpeC5sZW5ndGggOiBJbmZpbml0eSksIHBhZGRpbmcgPSAiIjsKKworICAgICAg
Ly8gUmVjb25zdHJ1Y3QgdGhlIGZpbmFsIG91dHB1dCBiYXNlZCBvbiB0aGUgZGVzaXJlZCBhbGln
bm1lbnQuCisgICAgICBzd2l0Y2ggKGFsaWduKSB7CisgICAgICAgIGNhc2UgIjwiOiB2YWx1ZSA9
IHZhbHVlUHJlZml4ICsgdmFsdWUgKyB2YWx1ZVN1ZmZpeCArIHBhZGRpbmc7IGJyZWFrOworICAg
ICAgICBjYXNlICI9IjogdmFsdWUgPSB2YWx1ZVByZWZpeCArIHBhZGRpbmcgKyB2YWx1ZSArIHZh
bHVlU3VmZml4OyBicmVhazsKKyAgICAgICAgY2FzZSAiXiI6IHZhbHVlID0gcGFkZGluZy5zbGlj
ZSgwLCBsZW5ndGggPSBwYWRkaW5nLmxlbmd0aCA+PiAxKSArIHZhbHVlUHJlZml4ICsgdmFsdWUg
KyB2YWx1ZVN1ZmZpeCArIHBhZGRpbmcuc2xpY2UobGVuZ3RoKTsgYnJlYWs7CisgICAgICAgIGRl
ZmF1bHQ6IHZhbHVlID0gcGFkZGluZyArIHZhbHVlUHJlZml4ICsgdmFsdWUgKyB2YWx1ZVN1ZmZp
eDsgYnJlYWs7CisgICAgICB9CisKKyAgICAgIHJldHVybiBudW1lcmFscyh2YWx1ZSk7CisgICAg
fQorCisgICAgZm9ybWF0LnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7CisgICAgICByZXR1cm4gc3Bl
Y2lmaWVyICsgIiI7CisgICAgfTsKKworICAgIHJldHVybiBmb3JtYXQ7CisgIH0KKworICBmdW5j
dGlvbiBmb3JtYXRQcmVmaXgoc3BlY2lmaWVyLCB2YWx1ZSkgeworICAgIHZhciBmID0gbmV3Rm9y
bWF0KChzcGVjaWZpZXIgPSBmb3JtYXRTcGVjaWZpZXIoc3BlY2lmaWVyKSwgc3BlY2lmaWVyLnR5
cGUgPSAiZiIsIHNwZWNpZmllcikpLAorICAgICAgICBlID0gTWF0aC5tYXgoLTgsIE1hdGgubWlu
KDgsIE1hdGguZmxvb3IoZXhwb25lbnQkMSh2YWx1ZSkgLyAzKSkpICogMywKKyAgICAgICAgayA9
IE1hdGgucG93KDEwLCAtZSksCisgICAgICAgIHByZWZpeCA9IHByZWZpeGVzWzggKyBlIC8gM107
CisgICAgcmV0dXJuIGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICByZXR1cm4gZihrICogdmFsdWUp
ICsgcHJlZml4OworICAgIH07CisgIH0KKworICByZXR1cm4geworICAgIGZvcm1hdDogbmV3Rm9y
bWF0LAorICAgIGZvcm1hdFByZWZpeDogZm9ybWF0UHJlZml4CisgIH07Cit9CisKK3ZhciBsb2Nh
bGU7CisKK2RlZmF1bHRMb2NhbGUoeworICBkZWNpbWFsOiAiLiIsCisgIHRob3VzYW5kczogIiwi
LAorICBncm91cGluZzogWzNdLAorICBjdXJyZW5jeTogWyIkIiwgIiJdLAorICBtaW51czogIi0i
Cit9KTsKKworZnVuY3Rpb24gZGVmYXVsdExvY2FsZShkZWZpbml0aW9uKSB7CisgIGxvY2FsZSA9
IGZvcm1hdExvY2FsZShkZWZpbml0aW9uKTsKKyAgZXhwb3J0cy5mb3JtYXQgPSBsb2NhbGUuZm9y
bWF0OworICBleHBvcnRzLmZvcm1hdFByZWZpeCA9IGxvY2FsZS5mb3JtYXRQcmVmaXg7CisgIHJl
dHVybiBsb2NhbGU7Cit9CisKK2Z1bmN0aW9uIHByZWNpc2lvbkZpeGVkKHN0ZXApIHsKKyAgcmV0
dXJuIE1hdGgubWF4KDAsIC1leHBvbmVudCQxKE1hdGguYWJzKHN0ZXApKSk7Cit9CisKK2Z1bmN0
aW9uIHByZWNpc2lvblByZWZpeChzdGVwLCB2YWx1ZSkgeworICByZXR1cm4gTWF0aC5tYXgoMCwg
TWF0aC5tYXgoLTgsIE1hdGgubWluKDgsIE1hdGguZmxvb3IoZXhwb25lbnQkMSh2YWx1ZSkgLyAz
KSkpICogMyAtIGV4cG9uZW50JDEoTWF0aC5hYnMoc3RlcCkpKTsKK30KKworZnVuY3Rpb24gcHJl
Y2lzaW9uUm91bmQoc3RlcCwgbWF4KSB7CisgIHN0ZXAgPSBNYXRoLmFicyhzdGVwKSwgbWF4ID0g
TWF0aC5hYnMobWF4KSAtIHN0ZXA7CisgIHJldHVybiBNYXRoLm1heCgwLCBleHBvbmVudCQxKG1h
eCkgLSBleHBvbmVudCQxKHN0ZXApKSArIDE7Cit9CisKKy8vIEFkZHMgZmxvYXRpbmcgcG9pbnQg
bnVtYmVycyB3aXRoIHR3aWNlIHRoZSBub3JtYWwgcHJlY2lzaW9uLgorLy8gUmVmZXJlbmNlOiBK
LiBSLiBTaGV3Y2h1aywgQWRhcHRpdmUgUHJlY2lzaW9uIEZsb2F0aW5nLVBvaW50IEFyaXRobWV0
aWMgYW5kCisvLyBGYXN0IFJvYnVzdCBHZW9tZXRyaWMgUHJlZGljYXRlcywgRGlzY3JldGUgJiBD
b21wdXRhdGlvbmFsIEdlb21ldHJ5IDE4KDMpCisvLyAzMDXigJMzNjMgKDE5OTcpLgorLy8gQ29k
ZSBhZGFwdGVkIGZyb20gR2VvZ3JhcGhpY0xpYiBieSBDaGFybGVzIEYuIEYuIEthcm5leSwKKy8v
IGh0dHA6Ly9nZW9ncmFwaGljbGliLnNvdXJjZWZvcmdlLm5ldC8KKworZnVuY3Rpb24gYWRkZXIo
KSB7CisgIHJldHVybiBuZXcgQWRkZXI7Cit9CisKK2Z1bmN0aW9uIEFkZGVyKCkgeworICB0aGlz
LnJlc2V0KCk7Cit9CisKK0FkZGVyLnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IEFkZGVy
LAorICByZXNldDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5zID0gLy8gcm91bmRlZCB2YWx1ZQor
ICAgIHRoaXMudCA9IDA7IC8vIGV4YWN0IGVycm9yCisgIH0sCisgIGFkZDogZnVuY3Rpb24oeSkg
eworICAgIGFkZCQxKHRlbXAsIHksIHRoaXMudCk7CisgICAgYWRkJDEodGhpcywgdGVtcC5zLCB0
aGlzLnMpOworICAgIGlmICh0aGlzLnMpIHRoaXMudCArPSB0ZW1wLnQ7CisgICAgZWxzZSB0aGlz
LnMgPSB0ZW1wLnQ7CisgIH0sCisgIHZhbHVlT2Y6IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0
aGlzLnM7CisgIH0KK307CisKK3ZhciB0ZW1wID0gbmV3IEFkZGVyOworCitmdW5jdGlvbiBhZGQk
MShhZGRlciwgYSwgYikgeworICB2YXIgeCA9IGFkZGVyLnMgPSBhICsgYiwKKyAgICAgIGJ2ID0g
eCAtIGEsCisgICAgICBhdiA9IHggLSBidjsKKyAgYWRkZXIudCA9IChhIC0gYXYpICsgKGIgLSBi
dik7Cit9CisKK3ZhciBlcHNpbG9uJDIgPSAxZS02OwordmFyIGVwc2lsb24yJDEgPSAxZS0xMjsK
K3ZhciBwaSQzID0gTWF0aC5QSTsKK3ZhciBoYWxmUGkkMiA9IHBpJDMgLyAyOwordmFyIHF1YXJ0
ZXJQaSA9IHBpJDMgLyA0OwordmFyIHRhdSQzID0gcGkkMyAqIDI7CisKK3ZhciBkZWdyZWVzJDEg
PSAxODAgLyBwaSQzOwordmFyIHJhZGlhbnMgPSBwaSQzIC8gMTgwOworCit2YXIgYWJzID0gTWF0
aC5hYnM7Cit2YXIgYXRhbiA9IE1hdGguYXRhbjsKK3ZhciBhdGFuMiA9IE1hdGguYXRhbjI7Cit2
YXIgY29zJDEgPSBNYXRoLmNvczsKK3ZhciBjZWlsID0gTWF0aC5jZWlsOwordmFyIGV4cCA9IE1h
dGguZXhwOwordmFyIGxvZyA9IE1hdGgubG9nOwordmFyIHBvdyA9IE1hdGgucG93OwordmFyIHNp
biQxID0gTWF0aC5zaW47Cit2YXIgc2lnbiA9IE1hdGguc2lnbiB8fCBmdW5jdGlvbih4KSB7IHJl
dHVybiB4ID4gMCA/IDEgOiB4IDwgMCA/IC0xIDogMDsgfTsKK3ZhciBzcXJ0ID0gTWF0aC5zcXJ0
OwordmFyIHRhbiA9IE1hdGgudGFuOworCitmdW5jdGlvbiBhY29zKHgpIHsKKyAgcmV0dXJuIHgg
PiAxID8gMCA6IHggPCAtMSA/IHBpJDMgOiBNYXRoLmFjb3MoeCk7Cit9CisKK2Z1bmN0aW9uIGFz
aW4oeCkgeworICByZXR1cm4geCA+IDEgPyBoYWxmUGkkMiA6IHggPCAtMSA/IC1oYWxmUGkkMiA6
IE1hdGguYXNpbih4KTsKK30KKworZnVuY3Rpb24gaGF2ZXJzaW4oeCkgeworICByZXR1cm4gKHgg
PSBzaW4kMSh4IC8gMikpICogeDsKK30KKworZnVuY3Rpb24gbm9vcCQyKCkge30KKworZnVuY3Rp
b24gc3RyZWFtR2VvbWV0cnkoZ2VvbWV0cnksIHN0cmVhbSkgeworICBpZiAoZ2VvbWV0cnkgJiYg
c3RyZWFtR2VvbWV0cnlUeXBlLmhhc093blByb3BlcnR5KGdlb21ldHJ5LnR5cGUpKSB7CisgICAg
c3RyZWFtR2VvbWV0cnlUeXBlW2dlb21ldHJ5LnR5cGVdKGdlb21ldHJ5LCBzdHJlYW0pOworICB9
Cit9CisKK3ZhciBzdHJlYW1PYmplY3RUeXBlID0geworICBGZWF0dXJlOiBmdW5jdGlvbihvYmpl
Y3QsIHN0cmVhbSkgeworICAgIHN0cmVhbUdlb21ldHJ5KG9iamVjdC5nZW9tZXRyeSwgc3RyZWFt
KTsKKyAgfSwKKyAgRmVhdHVyZUNvbGxlY3Rpb246IGZ1bmN0aW9uKG9iamVjdCwgc3RyZWFtKSB7
CisgICAgdmFyIGZlYXR1cmVzID0gb2JqZWN0LmZlYXR1cmVzLCBpID0gLTEsIG4gPSBmZWF0dXJl
cy5sZW5ndGg7CisgICAgd2hpbGUgKCsraSA8IG4pIHN0cmVhbUdlb21ldHJ5KGZlYXR1cmVzW2ld
Lmdlb21ldHJ5LCBzdHJlYW0pOworICB9Cit9OworCit2YXIgc3RyZWFtR2VvbWV0cnlUeXBlID0g
eworICBTcGhlcmU6IGZ1bmN0aW9uKG9iamVjdCwgc3RyZWFtKSB7CisgICAgc3RyZWFtLnNwaGVy
ZSgpOworICB9LAorICBQb2ludDogZnVuY3Rpb24ob2JqZWN0LCBzdHJlYW0pIHsKKyAgICBvYmpl
Y3QgPSBvYmplY3QuY29vcmRpbmF0ZXM7CisgICAgc3RyZWFtLnBvaW50KG9iamVjdFswXSwgb2Jq
ZWN0WzFdLCBvYmplY3RbMl0pOworICB9LAorICBNdWx0aVBvaW50OiBmdW5jdGlvbihvYmplY3Qs
IHN0cmVhbSkgeworICAgIHZhciBjb29yZGluYXRlcyA9IG9iamVjdC5jb29yZGluYXRlcywgaSA9
IC0xLCBuID0gY29vcmRpbmF0ZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBvYmplY3Qg
PSBjb29yZGluYXRlc1tpXSwgc3RyZWFtLnBvaW50KG9iamVjdFswXSwgb2JqZWN0WzFdLCBvYmpl
Y3RbMl0pOworICB9LAorICBMaW5lU3RyaW5nOiBmdW5jdGlvbihvYmplY3QsIHN0cmVhbSkgewor
ICAgIHN0cmVhbUxpbmUob2JqZWN0LmNvb3JkaW5hdGVzLCBzdHJlYW0sIDApOworICB9LAorICBN
dWx0aUxpbmVTdHJpbmc6IGZ1bmN0aW9uKG9iamVjdCwgc3RyZWFtKSB7CisgICAgdmFyIGNvb3Jk
aW5hdGVzID0gb2JqZWN0LmNvb3JkaW5hdGVzLCBpID0gLTEsIG4gPSBjb29yZGluYXRlcy5sZW5n
dGg7CisgICAgd2hpbGUgKCsraSA8IG4pIHN0cmVhbUxpbmUoY29vcmRpbmF0ZXNbaV0sIHN0cmVh
bSwgMCk7CisgIH0sCisgIFBvbHlnb246IGZ1bmN0aW9uKG9iamVjdCwgc3RyZWFtKSB7CisgICAg
c3RyZWFtUG9seWdvbihvYmplY3QuY29vcmRpbmF0ZXMsIHN0cmVhbSk7CisgIH0sCisgIE11bHRp
UG9seWdvbjogZnVuY3Rpb24ob2JqZWN0LCBzdHJlYW0pIHsKKyAgICB2YXIgY29vcmRpbmF0ZXMg
PSBvYmplY3QuY29vcmRpbmF0ZXMsIGkgPSAtMSwgbiA9IGNvb3JkaW5hdGVzLmxlbmd0aDsKKyAg
ICB3aGlsZSAoKytpIDwgbikgc3RyZWFtUG9seWdvbihjb29yZGluYXRlc1tpXSwgc3RyZWFtKTsK
KyAgfSwKKyAgR2VvbWV0cnlDb2xsZWN0aW9uOiBmdW5jdGlvbihvYmplY3QsIHN0cmVhbSkgewor
ICAgIHZhciBnZW9tZXRyaWVzID0gb2JqZWN0Lmdlb21ldHJpZXMsIGkgPSAtMSwgbiA9IGdlb21l
dHJpZXMubGVuZ3RoOworICAgIHdoaWxlICgrK2kgPCBuKSBzdHJlYW1HZW9tZXRyeShnZW9tZXRy
aWVzW2ldLCBzdHJlYW0pOworICB9Cit9OworCitmdW5jdGlvbiBzdHJlYW1MaW5lKGNvb3JkaW5h
dGVzLCBzdHJlYW0sIGNsb3NlZCkgeworICB2YXIgaSA9IC0xLCBuID0gY29vcmRpbmF0ZXMubGVu
Z3RoIC0gY2xvc2VkLCBjb29yZGluYXRlOworICBzdHJlYW0ubGluZVN0YXJ0KCk7CisgIHdoaWxl
ICgrK2kgPCBuKSBjb29yZGluYXRlID0gY29vcmRpbmF0ZXNbaV0sIHN0cmVhbS5wb2ludChjb29y
ZGluYXRlWzBdLCBjb29yZGluYXRlWzFdLCBjb29yZGluYXRlWzJdKTsKKyAgc3RyZWFtLmxpbmVF
bmQoKTsKK30KKworZnVuY3Rpb24gc3RyZWFtUG9seWdvbihjb29yZGluYXRlcywgc3RyZWFtKSB7
CisgIHZhciBpID0gLTEsIG4gPSBjb29yZGluYXRlcy5sZW5ndGg7CisgIHN0cmVhbS5wb2x5Z29u
U3RhcnQoKTsKKyAgd2hpbGUgKCsraSA8IG4pIHN0cmVhbUxpbmUoY29vcmRpbmF0ZXNbaV0sIHN0
cmVhbSwgMSk7CisgIHN0cmVhbS5wb2x5Z29uRW5kKCk7Cit9CisKK2Z1bmN0aW9uIGdlb1N0cmVh
bShvYmplY3QsIHN0cmVhbSkgeworICBpZiAob2JqZWN0ICYmIHN0cmVhbU9iamVjdFR5cGUuaGFz
T3duUHJvcGVydHkob2JqZWN0LnR5cGUpKSB7CisgICAgc3RyZWFtT2JqZWN0VHlwZVtvYmplY3Qu
dHlwZV0ob2JqZWN0LCBzdHJlYW0pOworICB9IGVsc2UgeworICAgIHN0cmVhbUdlb21ldHJ5KG9i
amVjdCwgc3RyZWFtKTsKKyAgfQorfQorCit2YXIgYXJlYVJpbmdTdW0gPSBhZGRlcigpOworCit2
YXIgYXJlYVN1bSA9IGFkZGVyKCksCisgICAgbGFtYmRhMDAsCisgICAgcGhpMDAsCisgICAgbGFt
YmRhMCwKKyAgICBjb3NQaGkwLAorICAgIHNpblBoaTA7CisKK3ZhciBhcmVhU3RyZWFtID0gewor
ICBwb2ludDogbm9vcCQyLAorICBsaW5lU3RhcnQ6IG5vb3AkMiwKKyAgbGluZUVuZDogbm9vcCQy
LAorICBwb2x5Z29uU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIGFyZWFSaW5nU3VtLnJlc2V0KCk7
CisgICAgYXJlYVN0cmVhbS5saW5lU3RhcnQgPSBhcmVhUmluZ1N0YXJ0OworICAgIGFyZWFTdHJl
YW0ubGluZUVuZCA9IGFyZWFSaW5nRW5kOworICB9LAorICBwb2x5Z29uRW5kOiBmdW5jdGlvbigp
IHsKKyAgICB2YXIgYXJlYVJpbmcgPSArYXJlYVJpbmdTdW07CisgICAgYXJlYVN1bS5hZGQoYXJl
YVJpbmcgPCAwID8gdGF1JDMgKyBhcmVhUmluZyA6IGFyZWFSaW5nKTsKKyAgICB0aGlzLmxpbmVT
dGFydCA9IHRoaXMubGluZUVuZCA9IHRoaXMucG9pbnQgPSBub29wJDI7CisgIH0sCisgIHNwaGVy
ZTogZnVuY3Rpb24oKSB7CisgICAgYXJlYVN1bS5hZGQodGF1JDMpOworICB9Cit9OworCitmdW5j
dGlvbiBhcmVhUmluZ1N0YXJ0KCkgeworICBhcmVhU3RyZWFtLnBvaW50ID0gYXJlYVBvaW50Rmly
c3Q7Cit9CisKK2Z1bmN0aW9uIGFyZWFSaW5nRW5kKCkgeworICBhcmVhUG9pbnQobGFtYmRhMDAs
IHBoaTAwKTsKK30KKworZnVuY3Rpb24gYXJlYVBvaW50Rmlyc3QobGFtYmRhLCBwaGkpIHsKKyAg
YXJlYVN0cmVhbS5wb2ludCA9IGFyZWFQb2ludDsKKyAgbGFtYmRhMDAgPSBsYW1iZGEsIHBoaTAw
ID0gcGhpOworICBsYW1iZGEgKj0gcmFkaWFucywgcGhpICo9IHJhZGlhbnM7CisgIGxhbWJkYTAg
PSBsYW1iZGEsIGNvc1BoaTAgPSBjb3MkMShwaGkgPSBwaGkgLyAyICsgcXVhcnRlclBpKSwgc2lu
UGhpMCA9IHNpbiQxKHBoaSk7Cit9CisKK2Z1bmN0aW9uIGFyZWFQb2ludChsYW1iZGEsIHBoaSkg
eworICBsYW1iZGEgKj0gcmFkaWFucywgcGhpICo9IHJhZGlhbnM7CisgIHBoaSA9IHBoaSAvIDIg
KyBxdWFydGVyUGk7IC8vIGhhbGYgdGhlIGFuZ3VsYXIgZGlzdGFuY2UgZnJvbSBzb3V0aCBwb2xl
CisKKyAgLy8gU3BoZXJpY2FsIGV4Y2VzcyBFIGZvciBhIHNwaGVyaWNhbCB0cmlhbmdsZSB3aXRo
IHZlcnRpY2VzOiBzb3V0aCBwb2xlLAorICAvLyBwcmV2aW91cyBwb2ludCwgY3VycmVudCBwb2lu
dC4gIFVzZXMgYSBmb3JtdWxhIGRlcml2ZWQgZnJvbSBDYWdub2xp4oCZcworICAvLyB0aGVvcmVt
LiAgU2VlIFRvZGh1bnRlciwgU3BoZXJpY2FsIFRyaWcuICgxODcxKSwgU2VjLiAxMDMsIEVxLiAo
MikuCisgIHZhciBkTGFtYmRhID0gbGFtYmRhIC0gbGFtYmRhMCwKKyAgICAgIHNkTGFtYmRhID0g
ZExhbWJkYSA+PSAwID8gMSA6IC0xLAorICAgICAgYWRMYW1iZGEgPSBzZExhbWJkYSAqIGRMYW1i
ZGEsCisgICAgICBjb3NQaGkgPSBjb3MkMShwaGkpLAorICAgICAgc2luUGhpID0gc2luJDEocGhp
KSwKKyAgICAgIGsgPSBzaW5QaGkwICogc2luUGhpLAorICAgICAgdSA9IGNvc1BoaTAgKiBjb3NQ
aGkgKyBrICogY29zJDEoYWRMYW1iZGEpLAorICAgICAgdiA9IGsgKiBzZExhbWJkYSAqIHNpbiQx
KGFkTGFtYmRhKTsKKyAgYXJlYVJpbmdTdW0uYWRkKGF0YW4yKHYsIHUpKTsKKworICAvLyBBZHZh
bmNlIHRoZSBwcmV2aW91cyBwb2ludHMuCisgIGxhbWJkYTAgPSBsYW1iZGEsIGNvc1BoaTAgPSBj
b3NQaGksIHNpblBoaTAgPSBzaW5QaGk7Cit9CisKK2Z1bmN0aW9uIGFyZWEkMShvYmplY3QpIHsK
KyAgYXJlYVN1bS5yZXNldCgpOworICBnZW9TdHJlYW0ob2JqZWN0LCBhcmVhU3RyZWFtKTsKKyAg
cmV0dXJuIGFyZWFTdW0gKiAyOworfQorCitmdW5jdGlvbiBzcGhlcmljYWwoY2FydGVzaWFuKSB7
CisgIHJldHVybiBbYXRhbjIoY2FydGVzaWFuWzFdLCBjYXJ0ZXNpYW5bMF0pLCBhc2luKGNhcnRl
c2lhblsyXSldOworfQorCitmdW5jdGlvbiBjYXJ0ZXNpYW4oc3BoZXJpY2FsKSB7CisgIHZhciBs
YW1iZGEgPSBzcGhlcmljYWxbMF0sIHBoaSA9IHNwaGVyaWNhbFsxXSwgY29zUGhpID0gY29zJDEo
cGhpKTsKKyAgcmV0dXJuIFtjb3NQaGkgKiBjb3MkMShsYW1iZGEpLCBjb3NQaGkgKiBzaW4kMShs
YW1iZGEpLCBzaW4kMShwaGkpXTsKK30KKworZnVuY3Rpb24gY2FydGVzaWFuRG90KGEsIGIpIHsK
KyAgcmV0dXJuIGFbMF0gKiBiWzBdICsgYVsxXSAqIGJbMV0gKyBhWzJdICogYlsyXTsKK30KKwor
ZnVuY3Rpb24gY2FydGVzaWFuQ3Jvc3MoYSwgYikgeworICByZXR1cm4gW2FbMV0gKiBiWzJdIC0g
YVsyXSAqIGJbMV0sIGFbMl0gKiBiWzBdIC0gYVswXSAqIGJbMl0sIGFbMF0gKiBiWzFdIC0gYVsx
XSAqIGJbMF1dOworfQorCisvLyBUT0RPIHJldHVybiBhCitmdW5jdGlvbiBjYXJ0ZXNpYW5BZGRJ
blBsYWNlKGEsIGIpIHsKKyAgYVswXSArPSBiWzBdLCBhWzFdICs9IGJbMV0sIGFbMl0gKz0gYlsy
XTsKK30KKworZnVuY3Rpb24gY2FydGVzaWFuU2NhbGUodmVjdG9yLCBrKSB7CisgIHJldHVybiBb
dmVjdG9yWzBdICogaywgdmVjdG9yWzFdICogaywgdmVjdG9yWzJdICoga107Cit9CisKKy8vIFRP
RE8gcmV0dXJuIGQKK2Z1bmN0aW9uIGNhcnRlc2lhbk5vcm1hbGl6ZUluUGxhY2UoZCkgeworICB2
YXIgbCA9IHNxcnQoZFswXSAqIGRbMF0gKyBkWzFdICogZFsxXSArIGRbMl0gKiBkWzJdKTsKKyAg
ZFswXSAvPSBsLCBkWzFdIC89IGwsIGRbMl0gLz0gbDsKK30KKwordmFyIGxhbWJkYTAkMSwgcGhp
MCwgbGFtYmRhMSwgcGhpMSwgLy8gYm91bmRzCisgICAgbGFtYmRhMiwgLy8gcHJldmlvdXMgbGFt
YmRhLWNvb3JkaW5hdGUKKyAgICBsYW1iZGEwMCQxLCBwaGkwMCQxLCAvLyBmaXJzdCBwb2ludAor
ICAgIHAwLCAvLyBwcmV2aW91cyAzRCBwb2ludAorICAgIGRlbHRhU3VtID0gYWRkZXIoKSwKKyAg
ICByYW5nZXMsCisgICAgcmFuZ2U7CisKK3ZhciBib3VuZHNTdHJlYW0gPSB7CisgIHBvaW50OiBi
b3VuZHNQb2ludCwKKyAgbGluZVN0YXJ0OiBib3VuZHNMaW5lU3RhcnQsCisgIGxpbmVFbmQ6IGJv
dW5kc0xpbmVFbmQsCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgYm91bmRzU3Ry
ZWFtLnBvaW50ID0gYm91bmRzUmluZ1BvaW50OworICAgIGJvdW5kc1N0cmVhbS5saW5lU3RhcnQg
PSBib3VuZHNSaW5nU3RhcnQ7CisgICAgYm91bmRzU3RyZWFtLmxpbmVFbmQgPSBib3VuZHNSaW5n
RW5kOworICAgIGRlbHRhU3VtLnJlc2V0KCk7CisgICAgYXJlYVN0cmVhbS5wb2x5Z29uU3RhcnQo
KTsKKyAgfSwKKyAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7CisgICAgYXJlYVN0cmVhbS5wb2x5
Z29uRW5kKCk7CisgICAgYm91bmRzU3RyZWFtLnBvaW50ID0gYm91bmRzUG9pbnQ7CisgICAgYm91
bmRzU3RyZWFtLmxpbmVTdGFydCA9IGJvdW5kc0xpbmVTdGFydDsKKyAgICBib3VuZHNTdHJlYW0u
bGluZUVuZCA9IGJvdW5kc0xpbmVFbmQ7CisgICAgaWYgKGFyZWFSaW5nU3VtIDwgMCkgbGFtYmRh
MCQxID0gLShsYW1iZGExID0gMTgwKSwgcGhpMCA9IC0ocGhpMSA9IDkwKTsKKyAgICBlbHNlIGlm
IChkZWx0YVN1bSA+IGVwc2lsb24kMikgcGhpMSA9IDkwOworICAgIGVsc2UgaWYgKGRlbHRhU3Vt
IDwgLWVwc2lsb24kMikgcGhpMCA9IC05MDsKKyAgICByYW5nZVswXSA9IGxhbWJkYTAkMSwgcmFu
Z2VbMV0gPSBsYW1iZGExOworICB9LAorICBzcGhlcmU6IGZ1bmN0aW9uKCkgeworICAgIGxhbWJk
YTAkMSA9IC0obGFtYmRhMSA9IDE4MCksIHBoaTAgPSAtKHBoaTEgPSA5MCk7CisgIH0KK307CisK
K2Z1bmN0aW9uIGJvdW5kc1BvaW50KGxhbWJkYSwgcGhpKSB7CisgIHJhbmdlcy5wdXNoKHJhbmdl
ID0gW2xhbWJkYTAkMSA9IGxhbWJkYSwgbGFtYmRhMSA9IGxhbWJkYV0pOworICBpZiAocGhpIDwg
cGhpMCkgcGhpMCA9IHBoaTsKKyAgaWYgKHBoaSA+IHBoaTEpIHBoaTEgPSBwaGk7Cit9CisKK2Z1
bmN0aW9uIGxpbmVQb2ludChsYW1iZGEsIHBoaSkgeworICB2YXIgcCA9IGNhcnRlc2lhbihbbGFt
YmRhICogcmFkaWFucywgcGhpICogcmFkaWFuc10pOworICBpZiAocDApIHsKKyAgICB2YXIgbm9y
bWFsID0gY2FydGVzaWFuQ3Jvc3MocDAsIHApLAorICAgICAgICBlcXVhdG9yaWFsID0gW25vcm1h
bFsxXSwgLW5vcm1hbFswXSwgMF0sCisgICAgICAgIGluZmxlY3Rpb24gPSBjYXJ0ZXNpYW5Dcm9z
cyhlcXVhdG9yaWFsLCBub3JtYWwpOworICAgIGNhcnRlc2lhbk5vcm1hbGl6ZUluUGxhY2UoaW5m
bGVjdGlvbik7CisgICAgaW5mbGVjdGlvbiA9IHNwaGVyaWNhbChpbmZsZWN0aW9uKTsKKyAgICB2
YXIgZGVsdGEgPSBsYW1iZGEgLSBsYW1iZGEyLAorICAgICAgICBzaWduID0gZGVsdGEgPiAwID8g
MSA6IC0xLAorICAgICAgICBsYW1iZGFpID0gaW5mbGVjdGlvblswXSAqIGRlZ3JlZXMkMSAqIHNp
Z24sCisgICAgICAgIHBoaWksCisgICAgICAgIGFudGltZXJpZGlhbiA9IGFicyhkZWx0YSkgPiAx
ODA7CisgICAgaWYgKGFudGltZXJpZGlhbiBeIChzaWduICogbGFtYmRhMiA8IGxhbWJkYWkgJiYg
bGFtYmRhaSA8IHNpZ24gKiBsYW1iZGEpKSB7CisgICAgICBwaGlpID0gaW5mbGVjdGlvblsxXSAq
IGRlZ3JlZXMkMTsKKyAgICAgIGlmIChwaGlpID4gcGhpMSkgcGhpMSA9IHBoaWk7CisgICAgfSBl
bHNlIGlmIChsYW1iZGFpID0gKGxhbWJkYWkgKyAzNjApICUgMzYwIC0gMTgwLCBhbnRpbWVyaWRp
YW4gXiAoc2lnbiAqIGxhbWJkYTIgPCBsYW1iZGFpICYmIGxhbWJkYWkgPCBzaWduICogbGFtYmRh
KSkgeworICAgICAgcGhpaSA9IC1pbmZsZWN0aW9uWzFdICogZGVncmVlcyQxOworICAgICAgaWYg
KHBoaWkgPCBwaGkwKSBwaGkwID0gcGhpaTsKKyAgICB9IGVsc2UgeworICAgICAgaWYgKHBoaSA8
IHBoaTApIHBoaTAgPSBwaGk7CisgICAgICBpZiAocGhpID4gcGhpMSkgcGhpMSA9IHBoaTsKKyAg
ICB9CisgICAgaWYgKGFudGltZXJpZGlhbikgeworICAgICAgaWYgKGxhbWJkYSA8IGxhbWJkYTIp
IHsKKyAgICAgICAgaWYgKGFuZ2xlKGxhbWJkYTAkMSwgbGFtYmRhKSA+IGFuZ2xlKGxhbWJkYTAk
MSwgbGFtYmRhMSkpIGxhbWJkYTEgPSBsYW1iZGE7CisgICAgICB9IGVsc2UgeworICAgICAgICBp
ZiAoYW5nbGUobGFtYmRhLCBsYW1iZGExKSA+IGFuZ2xlKGxhbWJkYTAkMSwgbGFtYmRhMSkpIGxh
bWJkYTAkMSA9IGxhbWJkYTsKKyAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgaWYgKGxhbWJk
YTEgPj0gbGFtYmRhMCQxKSB7CisgICAgICAgIGlmIChsYW1iZGEgPCBsYW1iZGEwJDEpIGxhbWJk
YTAkMSA9IGxhbWJkYTsKKyAgICAgICAgaWYgKGxhbWJkYSA+IGxhbWJkYTEpIGxhbWJkYTEgPSBs
YW1iZGE7CisgICAgICB9IGVsc2UgeworICAgICAgICBpZiAobGFtYmRhID4gbGFtYmRhMikgewor
ICAgICAgICAgIGlmIChhbmdsZShsYW1iZGEwJDEsIGxhbWJkYSkgPiBhbmdsZShsYW1iZGEwJDEs
IGxhbWJkYTEpKSBsYW1iZGExID0gbGFtYmRhOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg
IGlmIChhbmdsZShsYW1iZGEsIGxhbWJkYTEpID4gYW5nbGUobGFtYmRhMCQxLCBsYW1iZGExKSkg
bGFtYmRhMCQxID0gbGFtYmRhOworICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9IGVsc2Ug
eworICAgIHJhbmdlcy5wdXNoKHJhbmdlID0gW2xhbWJkYTAkMSA9IGxhbWJkYSwgbGFtYmRhMSA9
IGxhbWJkYV0pOworICB9CisgIGlmIChwaGkgPCBwaGkwKSBwaGkwID0gcGhpOworICBpZiAocGhp
ID4gcGhpMSkgcGhpMSA9IHBoaTsKKyAgcDAgPSBwLCBsYW1iZGEyID0gbGFtYmRhOworfQorCitm
dW5jdGlvbiBib3VuZHNMaW5lU3RhcnQoKSB7CisgIGJvdW5kc1N0cmVhbS5wb2ludCA9IGxpbmVQ
b2ludDsKK30KKworZnVuY3Rpb24gYm91bmRzTGluZUVuZCgpIHsKKyAgcmFuZ2VbMF0gPSBsYW1i
ZGEwJDEsIHJhbmdlWzFdID0gbGFtYmRhMTsKKyAgYm91bmRzU3RyZWFtLnBvaW50ID0gYm91bmRz
UG9pbnQ7CisgIHAwID0gbnVsbDsKK30KKworZnVuY3Rpb24gYm91bmRzUmluZ1BvaW50KGxhbWJk
YSwgcGhpKSB7CisgIGlmIChwMCkgeworICAgIHZhciBkZWx0YSA9IGxhbWJkYSAtIGxhbWJkYTI7
CisgICAgZGVsdGFTdW0uYWRkKGFicyhkZWx0YSkgPiAxODAgPyBkZWx0YSArIChkZWx0YSA+IDAg
PyAzNjAgOiAtMzYwKSA6IGRlbHRhKTsKKyAgfSBlbHNlIHsKKyAgICBsYW1iZGEwMCQxID0gbGFt
YmRhLCBwaGkwMCQxID0gcGhpOworICB9CisgIGFyZWFTdHJlYW0ucG9pbnQobGFtYmRhLCBwaGkp
OworICBsaW5lUG9pbnQobGFtYmRhLCBwaGkpOworfQorCitmdW5jdGlvbiBib3VuZHNSaW5nU3Rh
cnQoKSB7CisgIGFyZWFTdHJlYW0ubGluZVN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIGJvdW5kc1Jp
bmdFbmQoKSB7CisgIGJvdW5kc1JpbmdQb2ludChsYW1iZGEwMCQxLCBwaGkwMCQxKTsKKyAgYXJl
YVN0cmVhbS5saW5lRW5kKCk7CisgIGlmIChhYnMoZGVsdGFTdW0pID4gZXBzaWxvbiQyKSBsYW1i
ZGEwJDEgPSAtKGxhbWJkYTEgPSAxODApOworICByYW5nZVswXSA9IGxhbWJkYTAkMSwgcmFuZ2Vb
MV0gPSBsYW1iZGExOworICBwMCA9IG51bGw7Cit9CisKKy8vIEZpbmRzIHRoZSBsZWZ0LXJpZ2h0
IGRpc3RhbmNlIGJldHdlZW4gdHdvIGxvbmdpdHVkZXMuCisvLyBUaGlzIGlzIGFsbW9zdCB0aGUg
c2FtZSBhcyAobGFtYmRhMSAtIGxhbWJkYTAgKyAzNjDCsCkgJSAzNjDCsCwgZXhjZXB0IHRoYXQg
d2Ugd2FudAorLy8gdGhlIGRpc3RhbmNlIGJldHdlZW4gwrExODDCsCB0byBiZSAzNjDCsC4KK2Z1
bmN0aW9uIGFuZ2xlKGxhbWJkYTAsIGxhbWJkYTEpIHsKKyAgcmV0dXJuIChsYW1iZGExIC09IGxh
bWJkYTApIDwgMCA/IGxhbWJkYTEgKyAzNjAgOiBsYW1iZGExOworfQorCitmdW5jdGlvbiByYW5n
ZUNvbXBhcmUoYSwgYikgeworICByZXR1cm4gYVswXSAtIGJbMF07Cit9CisKK2Z1bmN0aW9uIHJh
bmdlQ29udGFpbnMocmFuZ2UsIHgpIHsKKyAgcmV0dXJuIHJhbmdlWzBdIDw9IHJhbmdlWzFdID8g
cmFuZ2VbMF0gPD0geCAmJiB4IDw9IHJhbmdlWzFdIDogeCA8IHJhbmdlWzBdIHx8IHJhbmdlWzFd
IDwgeDsKK30KKworZnVuY3Rpb24gYm91bmRzKGZlYXR1cmUpIHsKKyAgdmFyIGksIG4sIGEsIGIs
IG1lcmdlZCwgZGVsdGFNYXgsIGRlbHRhOworCisgIHBoaTEgPSBsYW1iZGExID0gLShsYW1iZGEw
JDEgPSBwaGkwID0gSW5maW5pdHkpOworICByYW5nZXMgPSBbXTsKKyAgZ2VvU3RyZWFtKGZlYXR1
cmUsIGJvdW5kc1N0cmVhbSk7CisKKyAgLy8gRmlyc3QsIHNvcnQgcmFuZ2VzIGJ5IHRoZWlyIG1p
bmltdW0gbG9uZ2l0dWRlcy4KKyAgaWYgKG4gPSByYW5nZXMubGVuZ3RoKSB7CisgICAgcmFuZ2Vz
LnNvcnQocmFuZ2VDb21wYXJlKTsKKworICAgIC8vIFRoZW4sIG1lcmdlIGFueSByYW5nZXMgdGhh
dCBvdmVybGFwLgorICAgIGZvciAoaSA9IDEsIGEgPSByYW5nZXNbMF0sIG1lcmdlZCA9IFthXTsg
aSA8IG47ICsraSkgeworICAgICAgYiA9IHJhbmdlc1tpXTsKKyAgICAgIGlmIChyYW5nZUNvbnRh
aW5zKGEsIGJbMF0pIHx8IHJhbmdlQ29udGFpbnMoYSwgYlsxXSkpIHsKKyAgICAgICAgaWYgKGFu
Z2xlKGFbMF0sIGJbMV0pID4gYW5nbGUoYVswXSwgYVsxXSkpIGFbMV0gPSBiWzFdOworICAgICAg
ICBpZiAoYW5nbGUoYlswXSwgYVsxXSkgPiBhbmdsZShhWzBdLCBhWzFdKSkgYVswXSA9IGJbMF07
CisgICAgICB9IGVsc2UgeworICAgICAgICBtZXJnZWQucHVzaChhID0gYik7CisgICAgICB9Cisg
ICAgfQorCisgICAgLy8gRmluYWxseSwgZmluZCB0aGUgbGFyZ2VzdCBnYXAgYmV0d2VlbiB0aGUg
bWVyZ2VkIHJhbmdlcy4KKyAgICAvLyBUaGUgZmluYWwgYm91bmRpbmcgYm94IHdpbGwgYmUgdGhl
IGludmVyc2Ugb2YgdGhpcyBnYXAuCisgICAgZm9yIChkZWx0YU1heCA9IC1JbmZpbml0eSwgbiA9
IG1lcmdlZC5sZW5ndGggLSAxLCBpID0gMCwgYSA9IG1lcmdlZFtuXTsgaSA8PSBuOyBhID0gYiwg
KytpKSB7CisgICAgICBiID0gbWVyZ2VkW2ldOworICAgICAgaWYgKChkZWx0YSA9IGFuZ2xlKGFb
MV0sIGJbMF0pKSA+IGRlbHRhTWF4KSBkZWx0YU1heCA9IGRlbHRhLCBsYW1iZGEwJDEgPSBiWzBd
LCBsYW1iZGExID0gYVsxXTsKKyAgICB9CisgIH0KKworICByYW5nZXMgPSByYW5nZSA9IG51bGw7
CisKKyAgcmV0dXJuIGxhbWJkYTAkMSA9PT0gSW5maW5pdHkgfHwgcGhpMCA9PT0gSW5maW5pdHkK
KyAgICAgID8gW1tOYU4sIE5hTl0sIFtOYU4sIE5hTl1dCisgICAgICA6IFtbbGFtYmRhMCQxLCBw
aGkwXSwgW2xhbWJkYTEsIHBoaTFdXTsKK30KKwordmFyIFcwLCBXMSwKKyAgICBYMCwgWTAsIFow
LAorICAgIFgxLCBZMSwgWjEsCisgICAgWDIsIFkyLCBaMiwKKyAgICBsYW1iZGEwMCQyLCBwaGkw
MCQyLCAvLyBmaXJzdCBwb2ludAorICAgIHgwLCB5MCwgejA7IC8vIHByZXZpb3VzIHBvaW50CisK
K3ZhciBjZW50cm9pZFN0cmVhbSA9IHsKKyAgc3BoZXJlOiBub29wJDIsCisgIHBvaW50OiBjZW50
cm9pZFBvaW50LAorICBsaW5lU3RhcnQ6IGNlbnRyb2lkTGluZVN0YXJ0LAorICBsaW5lRW5kOiBj
ZW50cm9pZExpbmVFbmQsCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgY2VudHJv
aWRTdHJlYW0ubGluZVN0YXJ0ID0gY2VudHJvaWRSaW5nU3RhcnQ7CisgICAgY2VudHJvaWRTdHJl
YW0ubGluZUVuZCA9IGNlbnRyb2lkUmluZ0VuZDsKKyAgfSwKKyAgcG9seWdvbkVuZDogZnVuY3Rp
b24oKSB7CisgICAgY2VudHJvaWRTdHJlYW0ubGluZVN0YXJ0ID0gY2VudHJvaWRMaW5lU3RhcnQ7
CisgICAgY2VudHJvaWRTdHJlYW0ubGluZUVuZCA9IGNlbnRyb2lkTGluZUVuZDsKKyAgfQorfTsK
KworLy8gQXJpdGhtZXRpYyBtZWFuIG9mIENhcnRlc2lhbiB2ZWN0b3JzLgorZnVuY3Rpb24gY2Vu
dHJvaWRQb2ludChsYW1iZGEsIHBoaSkgeworICBsYW1iZGEgKj0gcmFkaWFucywgcGhpICo9IHJh
ZGlhbnM7CisgIHZhciBjb3NQaGkgPSBjb3MkMShwaGkpOworICBjZW50cm9pZFBvaW50Q2FydGVz
aWFuKGNvc1BoaSAqIGNvcyQxKGxhbWJkYSksIGNvc1BoaSAqIHNpbiQxKGxhbWJkYSksIHNpbiQx
KHBoaSkpOworfQorCitmdW5jdGlvbiBjZW50cm9pZFBvaW50Q2FydGVzaWFuKHgsIHksIHopIHsK
KyAgKytXMDsKKyAgWDAgKz0gKHggLSBYMCkgLyBXMDsKKyAgWTAgKz0gKHkgLSBZMCkgLyBXMDsK
KyAgWjAgKz0gKHogLSBaMCkgLyBXMDsKK30KKworZnVuY3Rpb24gY2VudHJvaWRMaW5lU3RhcnQo
KSB7CisgIGNlbnRyb2lkU3RyZWFtLnBvaW50ID0gY2VudHJvaWRMaW5lUG9pbnRGaXJzdDsKK30K
KworZnVuY3Rpb24gY2VudHJvaWRMaW5lUG9pbnRGaXJzdChsYW1iZGEsIHBoaSkgeworICBsYW1i
ZGEgKj0gcmFkaWFucywgcGhpICo9IHJhZGlhbnM7CisgIHZhciBjb3NQaGkgPSBjb3MkMShwaGkp
OworICB4MCA9IGNvc1BoaSAqIGNvcyQxKGxhbWJkYSk7CisgIHkwID0gY29zUGhpICogc2luJDEo
bGFtYmRhKTsKKyAgejAgPSBzaW4kMShwaGkpOworICBjZW50cm9pZFN0cmVhbS5wb2ludCA9IGNl
bnRyb2lkTGluZVBvaW50OworICBjZW50cm9pZFBvaW50Q2FydGVzaWFuKHgwLCB5MCwgejApOwor
fQorCitmdW5jdGlvbiBjZW50cm9pZExpbmVQb2ludChsYW1iZGEsIHBoaSkgeworICBsYW1iZGEg
Kj0gcmFkaWFucywgcGhpICo9IHJhZGlhbnM7CisgIHZhciBjb3NQaGkgPSBjb3MkMShwaGkpLAor
ICAgICAgeCA9IGNvc1BoaSAqIGNvcyQxKGxhbWJkYSksCisgICAgICB5ID0gY29zUGhpICogc2lu
JDEobGFtYmRhKSwKKyAgICAgIHogPSBzaW4kMShwaGkpLAorICAgICAgdyA9IGF0YW4yKHNxcnQo
KHcgPSB5MCAqIHogLSB6MCAqIHkpICogdyArICh3ID0gejAgKiB4IC0geDAgKiB6KSAqIHcgKyAo
dyA9IHgwICogeSAtIHkwICogeCkgKiB3KSwgeDAgKiB4ICsgeTAgKiB5ICsgejAgKiB6KTsKKyAg
VzEgKz0gdzsKKyAgWDEgKz0gdyAqICh4MCArICh4MCA9IHgpKTsKKyAgWTEgKz0gdyAqICh5MCAr
ICh5MCA9IHkpKTsKKyAgWjEgKz0gdyAqICh6MCArICh6MCA9IHopKTsKKyAgY2VudHJvaWRQb2lu
dENhcnRlc2lhbih4MCwgeTAsIHowKTsKK30KKworZnVuY3Rpb24gY2VudHJvaWRMaW5lRW5kKCkg
eworICBjZW50cm9pZFN0cmVhbS5wb2ludCA9IGNlbnRyb2lkUG9pbnQ7Cit9CisKKy8vIFNlZSBK
LiBFLiBCcm9jaywgVGhlIEluZXJ0aWEgVGVuc29yIGZvciBhIFNwaGVyaWNhbCBUcmlhbmdsZSwK
Ky8vIEouIEFwcGxpZWQgTWVjaGFuaWNzIDQyLCAyMzkgKDE5NzUpLgorZnVuY3Rpb24gY2VudHJv
aWRSaW5nU3RhcnQoKSB7CisgIGNlbnRyb2lkU3RyZWFtLnBvaW50ID0gY2VudHJvaWRSaW5nUG9p
bnRGaXJzdDsKK30KKworZnVuY3Rpb24gY2VudHJvaWRSaW5nRW5kKCkgeworICBjZW50cm9pZFJp
bmdQb2ludChsYW1iZGEwMCQyLCBwaGkwMCQyKTsKKyAgY2VudHJvaWRTdHJlYW0ucG9pbnQgPSBj
ZW50cm9pZFBvaW50OworfQorCitmdW5jdGlvbiBjZW50cm9pZFJpbmdQb2ludEZpcnN0KGxhbWJk
YSwgcGhpKSB7CisgIGxhbWJkYTAwJDIgPSBsYW1iZGEsIHBoaTAwJDIgPSBwaGk7CisgIGxhbWJk
YSAqPSByYWRpYW5zLCBwaGkgKj0gcmFkaWFuczsKKyAgY2VudHJvaWRTdHJlYW0ucG9pbnQgPSBj
ZW50cm9pZFJpbmdQb2ludDsKKyAgdmFyIGNvc1BoaSA9IGNvcyQxKHBoaSk7CisgIHgwID0gY29z
UGhpICogY29zJDEobGFtYmRhKTsKKyAgeTAgPSBjb3NQaGkgKiBzaW4kMShsYW1iZGEpOworICB6
MCA9IHNpbiQxKHBoaSk7CisgIGNlbnRyb2lkUG9pbnRDYXJ0ZXNpYW4oeDAsIHkwLCB6MCk7Cit9
CisKK2Z1bmN0aW9uIGNlbnRyb2lkUmluZ1BvaW50KGxhbWJkYSwgcGhpKSB7CisgIGxhbWJkYSAq
PSByYWRpYW5zLCBwaGkgKj0gcmFkaWFuczsKKyAgdmFyIGNvc1BoaSA9IGNvcyQxKHBoaSksCisg
ICAgICB4ID0gY29zUGhpICogY29zJDEobGFtYmRhKSwKKyAgICAgIHkgPSBjb3NQaGkgKiBzaW4k
MShsYW1iZGEpLAorICAgICAgeiA9IHNpbiQxKHBoaSksCisgICAgICBjeCA9IHkwICogeiAtIHow
ICogeSwKKyAgICAgIGN5ID0gejAgKiB4IC0geDAgKiB6LAorICAgICAgY3ogPSB4MCAqIHkgLSB5
MCAqIHgsCisgICAgICBtID0gc3FydChjeCAqIGN4ICsgY3kgKiBjeSArIGN6ICogY3opLAorICAg
ICAgdyA9IGFzaW4obSksIC8vIGxpbmUgd2VpZ2h0ID0gYW5nbGUKKyAgICAgIHYgPSBtICYmIC13
IC8gbTsgLy8gYXJlYSB3ZWlnaHQgbXVsdGlwbGllcgorICBYMiArPSB2ICogY3g7CisgIFkyICs9
IHYgKiBjeTsKKyAgWjIgKz0gdiAqIGN6OworICBXMSArPSB3OworICBYMSArPSB3ICogKHgwICsg
KHgwID0geCkpOworICBZMSArPSB3ICogKHkwICsgKHkwID0geSkpOworICBaMSArPSB3ICogKHow
ICsgKHowID0geikpOworICBjZW50cm9pZFBvaW50Q2FydGVzaWFuKHgwLCB5MCwgejApOworfQor
CitmdW5jdGlvbiBjZW50cm9pZChvYmplY3QpIHsKKyAgVzAgPSBXMSA9CisgIFgwID0gWTAgPSBa
MCA9CisgIFgxID0gWTEgPSBaMSA9CisgIFgyID0gWTIgPSBaMiA9IDA7CisgIGdlb1N0cmVhbShv
YmplY3QsIGNlbnRyb2lkU3RyZWFtKTsKKworICB2YXIgeCA9IFgyLAorICAgICAgeSA9IFkyLAor
ICAgICAgeiA9IFoyLAorICAgICAgbSA9IHggKiB4ICsgeSAqIHkgKyB6ICogejsKKworICAvLyBJ
ZiB0aGUgYXJlYS13ZWlnaHRlZCBjY2VudHJvaWQgaXMgdW5kZWZpbmVkLCBmYWxsIGJhY2sgdG8g
bGVuZ3RoLXdlaWdodGVkIGNjZW50cm9pZC4KKyAgaWYgKG0gPCBlcHNpbG9uMiQxKSB7CisgICAg
eCA9IFgxLCB5ID0gWTEsIHogPSBaMTsKKyAgICAvLyBJZiB0aGUgZmVhdHVyZSBoYXMgemVybyBs
ZW5ndGgsIGZhbGwgYmFjayB0byBhcml0aG1ldGljIG1lYW4gb2YgcG9pbnQgdmVjdG9ycy4KKyAg
ICBpZiAoVzEgPCBlcHNpbG9uJDIpIHggPSBYMCwgeSA9IFkwLCB6ID0gWjA7CisgICAgbSA9IHgg
KiB4ICsgeSAqIHkgKyB6ICogejsKKyAgICAvLyBJZiB0aGUgZmVhdHVyZSBzdGlsbCBoYXMgYW4g
dW5kZWZpbmVkIGNjZW50cm9pZCwgdGhlbiByZXR1cm4uCisgICAgaWYgKG0gPCBlcHNpbG9uMiQx
KSByZXR1cm4gW05hTiwgTmFOXTsKKyAgfQorCisgIHJldHVybiBbYXRhbjIoeSwgeCkgKiBkZWdy
ZWVzJDEsIGFzaW4oeiAvIHNxcnQobSkpICogZGVncmVlcyQxXTsKK30KKworZnVuY3Rpb24gY29u
c3RhbnQkOCh4KSB7CisgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsK
K30KKworZnVuY3Rpb24gY29tcG9zZShhLCBiKSB7CisKKyAgZnVuY3Rpb24gY29tcG9zZSh4LCB5
KSB7CisgICAgcmV0dXJuIHggPSBhKHgsIHkpLCBiKHhbMF0sIHhbMV0pOworICB9CisKKyAgaWYg
KGEuaW52ZXJ0ICYmIGIuaW52ZXJ0KSBjb21wb3NlLmludmVydCA9IGZ1bmN0aW9uKHgsIHkpIHsK
KyAgICByZXR1cm4geCA9IGIuaW52ZXJ0KHgsIHkpLCB4ICYmIGEuaW52ZXJ0KHhbMF0sIHhbMV0p
OworICB9OworCisgIHJldHVybiBjb21wb3NlOworfQorCitmdW5jdGlvbiByb3RhdGlvbklkZW50
aXR5KGxhbWJkYSwgcGhpKSB7CisgIHJldHVybiBbYWJzKGxhbWJkYSkgPiBwaSQzID8gbGFtYmRh
ICsgTWF0aC5yb3VuZCgtbGFtYmRhIC8gdGF1JDMpICogdGF1JDMgOiBsYW1iZGEsIHBoaV07Cit9
CisKK3JvdGF0aW9uSWRlbnRpdHkuaW52ZXJ0ID0gcm90YXRpb25JZGVudGl0eTsKKworZnVuY3Rp
b24gcm90YXRlUmFkaWFucyhkZWx0YUxhbWJkYSwgZGVsdGFQaGksIGRlbHRhR2FtbWEpIHsKKyAg
cmV0dXJuIChkZWx0YUxhbWJkYSAlPSB0YXUkMykgPyAoZGVsdGFQaGkgfHwgZGVsdGFHYW1tYSA/
IGNvbXBvc2Uocm90YXRpb25MYW1iZGEoZGVsdGFMYW1iZGEpLCByb3RhdGlvblBoaUdhbW1hKGRl
bHRhUGhpLCBkZWx0YUdhbW1hKSkKKyAgICA6IHJvdGF0aW9uTGFtYmRhKGRlbHRhTGFtYmRhKSkK
KyAgICA6IChkZWx0YVBoaSB8fCBkZWx0YUdhbW1hID8gcm90YXRpb25QaGlHYW1tYShkZWx0YVBo
aSwgZGVsdGFHYW1tYSkKKyAgICA6IHJvdGF0aW9uSWRlbnRpdHkpOworfQorCitmdW5jdGlvbiBm
b3J3YXJkUm90YXRpb25MYW1iZGEoZGVsdGFMYW1iZGEpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKGxh
bWJkYSwgcGhpKSB7CisgICAgcmV0dXJuIGxhbWJkYSArPSBkZWx0YUxhbWJkYSwgW2xhbWJkYSA+
IHBpJDMgPyBsYW1iZGEgLSB0YXUkMyA6IGxhbWJkYSA8IC1waSQzID8gbGFtYmRhICsgdGF1JDMg
OiBsYW1iZGEsIHBoaV07CisgIH07Cit9CisKK2Z1bmN0aW9uIHJvdGF0aW9uTGFtYmRhKGRlbHRh
TGFtYmRhKSB7CisgIHZhciByb3RhdGlvbiA9IGZvcndhcmRSb3RhdGlvbkxhbWJkYShkZWx0YUxh
bWJkYSk7CisgIHJvdGF0aW9uLmludmVydCA9IGZvcndhcmRSb3RhdGlvbkxhbWJkYSgtZGVsdGFM
YW1iZGEpOworICByZXR1cm4gcm90YXRpb247Cit9CisKK2Z1bmN0aW9uIHJvdGF0aW9uUGhpR2Ft
bWEoZGVsdGFQaGksIGRlbHRhR2FtbWEpIHsKKyAgdmFyIGNvc0RlbHRhUGhpID0gY29zJDEoZGVs
dGFQaGkpLAorICAgICAgc2luRGVsdGFQaGkgPSBzaW4kMShkZWx0YVBoaSksCisgICAgICBjb3NE
ZWx0YUdhbW1hID0gY29zJDEoZGVsdGFHYW1tYSksCisgICAgICBzaW5EZWx0YUdhbW1hID0gc2lu
JDEoZGVsdGFHYW1tYSk7CisKKyAgZnVuY3Rpb24gcm90YXRpb24obGFtYmRhLCBwaGkpIHsKKyAg
ICB2YXIgY29zUGhpID0gY29zJDEocGhpKSwKKyAgICAgICAgeCA9IGNvcyQxKGxhbWJkYSkgKiBj
b3NQaGksCisgICAgICAgIHkgPSBzaW4kMShsYW1iZGEpICogY29zUGhpLAorICAgICAgICB6ID0g
c2luJDEocGhpKSwKKyAgICAgICAgayA9IHogKiBjb3NEZWx0YVBoaSArIHggKiBzaW5EZWx0YVBo
aTsKKyAgICByZXR1cm4gWworICAgICAgYXRhbjIoeSAqIGNvc0RlbHRhR2FtbWEgLSBrICogc2lu
RGVsdGFHYW1tYSwgeCAqIGNvc0RlbHRhUGhpIC0geiAqIHNpbkRlbHRhUGhpKSwKKyAgICAgIGFz
aW4oayAqIGNvc0RlbHRhR2FtbWEgKyB5ICogc2luRGVsdGFHYW1tYSkKKyAgICBdOworICB9CisK
KyAgcm90YXRpb24uaW52ZXJ0ID0gZnVuY3Rpb24obGFtYmRhLCBwaGkpIHsKKyAgICB2YXIgY29z
UGhpID0gY29zJDEocGhpKSwKKyAgICAgICAgeCA9IGNvcyQxKGxhbWJkYSkgKiBjb3NQaGksCisg
ICAgICAgIHkgPSBzaW4kMShsYW1iZGEpICogY29zUGhpLAorICAgICAgICB6ID0gc2luJDEocGhp
KSwKKyAgICAgICAgayA9IHogKiBjb3NEZWx0YUdhbW1hIC0geSAqIHNpbkRlbHRhR2FtbWE7Cisg
ICAgcmV0dXJuIFsKKyAgICAgIGF0YW4yKHkgKiBjb3NEZWx0YUdhbW1hICsgeiAqIHNpbkRlbHRh
R2FtbWEsIHggKiBjb3NEZWx0YVBoaSArIGsgKiBzaW5EZWx0YVBoaSksCisgICAgICBhc2luKGsg
KiBjb3NEZWx0YVBoaSAtIHggKiBzaW5EZWx0YVBoaSkKKyAgICBdOworICB9OworCisgIHJldHVy
biByb3RhdGlvbjsKK30KKworZnVuY3Rpb24gcm90YXRpb24ocm90YXRlKSB7CisgIHJvdGF0ZSA9
IHJvdGF0ZVJhZGlhbnMocm90YXRlWzBdICogcmFkaWFucywgcm90YXRlWzFdICogcmFkaWFucywg
cm90YXRlLmxlbmd0aCA+IDIgPyByb3RhdGVbMl0gKiByYWRpYW5zIDogMCk7CisKKyAgZnVuY3Rp
b24gZm9yd2FyZChjb29yZGluYXRlcykgeworICAgIGNvb3JkaW5hdGVzID0gcm90YXRlKGNvb3Jk
aW5hdGVzWzBdICogcmFkaWFucywgY29vcmRpbmF0ZXNbMV0gKiByYWRpYW5zKTsKKyAgICByZXR1
cm4gY29vcmRpbmF0ZXNbMF0gKj0gZGVncmVlcyQxLCBjb29yZGluYXRlc1sxXSAqPSBkZWdyZWVz
JDEsIGNvb3JkaW5hdGVzOworICB9CisKKyAgZm9yd2FyZC5pbnZlcnQgPSBmdW5jdGlvbihjb29y
ZGluYXRlcykgeworICAgIGNvb3JkaW5hdGVzID0gcm90YXRlLmludmVydChjb29yZGluYXRlc1sw
XSAqIHJhZGlhbnMsIGNvb3JkaW5hdGVzWzFdICogcmFkaWFucyk7CisgICAgcmV0dXJuIGNvb3Jk
aW5hdGVzWzBdICo9IGRlZ3JlZXMkMSwgY29vcmRpbmF0ZXNbMV0gKj0gZGVncmVlcyQxLCBjb29y
ZGluYXRlczsKKyAgfTsKKworICByZXR1cm4gZm9yd2FyZDsKK30KKworLy8gR2VuZXJhdGVzIGEg
Y2lyY2xlIGNlbnRlcmVkIGF0IFswwrAsIDDCsF0sIHdpdGggYSBnaXZlbiByYWRpdXMgYW5kIHBy
ZWNpc2lvbi4KK2Z1bmN0aW9uIGNpcmNsZVN0cmVhbShzdHJlYW0sIHJhZGl1cywgZGVsdGEsIGRp
cmVjdGlvbiwgdDAsIHQxKSB7CisgIGlmICghZGVsdGEpIHJldHVybjsKKyAgdmFyIGNvc1JhZGl1
cyA9IGNvcyQxKHJhZGl1cyksCisgICAgICBzaW5SYWRpdXMgPSBzaW4kMShyYWRpdXMpLAorICAg
ICAgc3RlcCA9IGRpcmVjdGlvbiAqIGRlbHRhOworICBpZiAodDAgPT0gbnVsbCkgeworICAgIHQw
ID0gcmFkaXVzICsgZGlyZWN0aW9uICogdGF1JDM7CisgICAgdDEgPSByYWRpdXMgLSBzdGVwIC8g
MjsKKyAgfSBlbHNlIHsKKyAgICB0MCA9IGNpcmNsZVJhZGl1cyhjb3NSYWRpdXMsIHQwKTsKKyAg
ICB0MSA9IGNpcmNsZVJhZGl1cyhjb3NSYWRpdXMsIHQxKTsKKyAgICBpZiAoZGlyZWN0aW9uID4g
MCA/IHQwIDwgdDEgOiB0MCA+IHQxKSB0MCArPSBkaXJlY3Rpb24gKiB0YXUkMzsKKyAgfQorICBm
b3IgKHZhciBwb2ludCwgdCA9IHQwOyBkaXJlY3Rpb24gPiAwID8gdCA+IHQxIDogdCA8IHQxOyB0
IC09IHN0ZXApIHsKKyAgICBwb2ludCA9IHNwaGVyaWNhbChbY29zUmFkaXVzLCAtc2luUmFkaXVz
ICogY29zJDEodCksIC1zaW5SYWRpdXMgKiBzaW4kMSh0KV0pOworICAgIHN0cmVhbS5wb2ludChw
b2ludFswXSwgcG9pbnRbMV0pOworICB9Cit9CisKKy8vIFJldHVybnMgdGhlIHNpZ25lZCBhbmds
ZSBvZiBhIGNhcnRlc2lhbiBwb2ludCByZWxhdGl2ZSB0byBbY29zUmFkaXVzLCAwLCAwXS4KK2Z1
bmN0aW9uIGNpcmNsZVJhZGl1cyhjb3NSYWRpdXMsIHBvaW50KSB7CisgIHBvaW50ID0gY2FydGVz
aWFuKHBvaW50KSwgcG9pbnRbMF0gLT0gY29zUmFkaXVzOworICBjYXJ0ZXNpYW5Ob3JtYWxpemVJ
blBsYWNlKHBvaW50KTsKKyAgdmFyIHJhZGl1cyA9IGFjb3MoLXBvaW50WzFdKTsKKyAgcmV0dXJu
ICgoLXBvaW50WzJdIDwgMCA/IC1yYWRpdXMgOiByYWRpdXMpICsgdGF1JDMgLSBlcHNpbG9uJDIp
ICUgdGF1JDM7Cit9CisKK2Z1bmN0aW9uIGNpcmNsZSgpIHsKKyAgdmFyIGNlbnRlciA9IGNvbnN0
YW50JDgoWzAsIDBdKSwKKyAgICAgIHJhZGl1cyA9IGNvbnN0YW50JDgoOTApLAorICAgICAgcHJl
Y2lzaW9uID0gY29uc3RhbnQkOCg2KSwKKyAgICAgIHJpbmcsCisgICAgICByb3RhdGUsCisgICAg
ICBzdHJlYW0gPSB7cG9pbnQ6IHBvaW50fTsKKworICBmdW5jdGlvbiBwb2ludCh4LCB5KSB7Cisg
ICAgcmluZy5wdXNoKHggPSByb3RhdGUoeCwgeSkpOworICAgIHhbMF0gKj0gZGVncmVlcyQxLCB4
WzFdICo9IGRlZ3JlZXMkMTsKKyAgfQorCisgIGZ1bmN0aW9uIGNpcmNsZSgpIHsKKyAgICB2YXIg
YyA9IGNlbnRlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpLAorICAgICAgICByID0gcmFkaXVzLmFw
cGx5KHRoaXMsIGFyZ3VtZW50cykgKiByYWRpYW5zLAorICAgICAgICBwID0gcHJlY2lzaW9uLmFw
cGx5KHRoaXMsIGFyZ3VtZW50cykgKiByYWRpYW5zOworICAgIHJpbmcgPSBbXTsKKyAgICByb3Rh
dGUgPSByb3RhdGVSYWRpYW5zKC1jWzBdICogcmFkaWFucywgLWNbMV0gKiByYWRpYW5zLCAwKS5p
bnZlcnQ7CisgICAgY2lyY2xlU3RyZWFtKHN0cmVhbSwgciwgcCwgMSk7CisgICAgYyA9IHt0eXBl
OiAiUG9seWdvbiIsIGNvb3JkaW5hdGVzOiBbcmluZ119OworICAgIHJpbmcgPSByb3RhdGUgPSBu
dWxsOworICAgIHJldHVybiBjOworICB9CisKKyAgY2lyY2xlLmNlbnRlciA9IGZ1bmN0aW9uKF8p
IHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChjZW50ZXIgPSB0eXBlb2YgXyA9PT0g
ImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCQ4KFsrX1swXSwgK19bMV1dKSwgY2lyY2xlKSA6IGNl
bnRlcjsKKyAgfTsKKworICBjaXJjbGUucmFkaXVzID0gZnVuY3Rpb24oXykgeworICAgIHJldHVy
biBhcmd1bWVudHMubGVuZ3RoID8gKHJhZGl1cyA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8g
XyA6IGNvbnN0YW50JDgoK18pLCBjaXJjbGUpIDogcmFkaXVzOworICB9OworCisgIGNpcmNsZS5w
cmVjaXNpb24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAo
cHJlY2lzaW9uID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkOCgrXyks
IGNpcmNsZSkgOiBwcmVjaXNpb247CisgIH07CisKKyAgcmV0dXJuIGNpcmNsZTsKK30KKworZnVu
Y3Rpb24gY2xpcEJ1ZmZlcigpIHsKKyAgdmFyIGxpbmVzID0gW10sCisgICAgICBsaW5lOworICBy
ZXR1cm4geworICAgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgICBsaW5lLnB1c2goW3gs
IHldKTsKKyAgICB9LAorICAgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgICBsaW5lcy5w
dXNoKGxpbmUgPSBbXSk7CisgICAgfSwKKyAgICBsaW5lRW5kOiBub29wJDIsCisgICAgcmVqb2lu
OiBmdW5jdGlvbigpIHsKKyAgICAgIGlmIChsaW5lcy5sZW5ndGggPiAxKSBsaW5lcy5wdXNoKGxp
bmVzLnBvcCgpLmNvbmNhdChsaW5lcy5zaGlmdCgpKSk7CisgICAgfSwKKyAgICByZXN1bHQ6IGZ1
bmN0aW9uKCkgeworICAgICAgdmFyIHJlc3VsdCA9IGxpbmVzOworICAgICAgbGluZXMgPSBbXTsK
KyAgICAgIGxpbmUgPSBudWxsOworICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisgIH07Cit9
CisKK2Z1bmN0aW9uIHBvaW50RXF1YWwoYSwgYikgeworICByZXR1cm4gYWJzKGFbMF0gLSBiWzBd
KSA8IGVwc2lsb24kMiAmJiBhYnMoYVsxXSAtIGJbMV0pIDwgZXBzaWxvbiQyOworfQorCitmdW5j
dGlvbiBJbnRlcnNlY3Rpb24ocG9pbnQsIHBvaW50cywgb3RoZXIsIGVudHJ5KSB7CisgIHRoaXMu
eCA9IHBvaW50OworICB0aGlzLnogPSBwb2ludHM7CisgIHRoaXMubyA9IG90aGVyOyAvLyBhbm90
aGVyIGludGVyc2VjdGlvbgorICB0aGlzLmUgPSBlbnRyeTsgLy8gaXMgYW4gZW50cnk/CisgIHRo
aXMudiA9IGZhbHNlOyAvLyB2aXNpdGVkCisgIHRoaXMubiA9IHRoaXMucCA9IG51bGw7IC8vIG5l
eHQgJiBwcmV2aW91cworfQorCisvLyBBIGdlbmVyYWxpemVkIHBvbHlnb24gY2xpcHBpbmcgYWxn
b3JpdGhtOiBnaXZlbiBhIHBvbHlnb24gdGhhdCBoYXMgYmVlbiBjdXQKKy8vIGludG8gaXRzIHZp
c2libGUgbGluZSBzZWdtZW50cywgYW5kIHJlam9pbnMgdGhlIHNlZ21lbnRzIGJ5IGludGVycG9s
YXRpbmcKKy8vIGFsb25nIHRoZSBjbGlwIGVkZ2UuCitmdW5jdGlvbiBjbGlwUmVqb2luKHNlZ21l
bnRzLCBjb21wYXJlSW50ZXJzZWN0aW9uLCBzdGFydEluc2lkZSwgaW50ZXJwb2xhdGUsIHN0cmVh
bSkgeworICB2YXIgc3ViamVjdCA9IFtdLAorICAgICAgY2xpcCA9IFtdLAorICAgICAgaSwKKyAg
ICAgIG47CisKKyAgc2VnbWVudHMuZm9yRWFjaChmdW5jdGlvbihzZWdtZW50KSB7CisgICAgaWYg
KChuID0gc2VnbWVudC5sZW5ndGggLSAxKSA8PSAwKSByZXR1cm47CisgICAgdmFyIG4sIHAwID0g
c2VnbWVudFswXSwgcDEgPSBzZWdtZW50W25dLCB4OworCisgICAgLy8gSWYgdGhlIGZpcnN0IGFu
ZCBsYXN0IHBvaW50cyBvZiBhIHNlZ21lbnQgYXJlIGNvaW5jaWRlbnQsIHRoZW4gdHJlYXQgYXMg
YQorICAgIC8vIGNsb3NlZCByaW5nLiBUT0RPIGlmIGFsbCByaW5ncyBhcmUgY2xvc2VkLCB0aGVu
IHRoZSB3aW5kaW5nIG9yZGVyIG9mIHRoZQorICAgIC8vIGV4dGVyaW9yIHJpbmcgc2hvdWxkIGJl
IGNoZWNrZWQuCisgICAgaWYgKHBvaW50RXF1YWwocDAsIHAxKSkgeworICAgICAgc3RyZWFtLmxp
bmVTdGFydCgpOworICAgICAgZm9yIChpID0gMDsgaSA8IG47ICsraSkgc3RyZWFtLnBvaW50KChw
MCA9IHNlZ21lbnRbaV0pWzBdLCBwMFsxXSk7CisgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIHN1YmplY3QucHVzaCh4ID0gbmV3IEludGVyc2VjdGlv
bihwMCwgc2VnbWVudCwgbnVsbCwgdHJ1ZSkpOworICAgIGNsaXAucHVzaCh4Lm8gPSBuZXcgSW50
ZXJzZWN0aW9uKHAwLCBudWxsLCB4LCBmYWxzZSkpOworICAgIHN1YmplY3QucHVzaCh4ID0gbmV3
IEludGVyc2VjdGlvbihwMSwgc2VnbWVudCwgbnVsbCwgZmFsc2UpKTsKKyAgICBjbGlwLnB1c2go
eC5vID0gbmV3IEludGVyc2VjdGlvbihwMSwgbnVsbCwgeCwgdHJ1ZSkpOworICB9KTsKKworICBp
ZiAoIXN1YmplY3QubGVuZ3RoKSByZXR1cm47CisKKyAgY2xpcC5zb3J0KGNvbXBhcmVJbnRlcnNl
Y3Rpb24pOworICBsaW5rJDEoc3ViamVjdCk7CisgIGxpbmskMShjbGlwKTsKKworICBmb3IgKGkg
PSAwLCBuID0gY2xpcC5sZW5ndGg7IGkgPCBuOyArK2kpIHsKKyAgICBjbGlwW2ldLmUgPSBzdGFy
dEluc2lkZSA9ICFzdGFydEluc2lkZTsKKyAgfQorCisgIHZhciBzdGFydCA9IHN1YmplY3RbMF0s
CisgICAgICBwb2ludHMsCisgICAgICBwb2ludDsKKworICB3aGlsZSAoMSkgeworICAgIC8vIEZp
bmQgZmlyc3QgdW52aXNpdGVkIGludGVyc2VjdGlvbi4KKyAgICB2YXIgY3VycmVudCA9IHN0YXJ0
LAorICAgICAgICBpc1N1YmplY3QgPSB0cnVlOworICAgIHdoaWxlIChjdXJyZW50LnYpIGlmICgo
Y3VycmVudCA9IGN1cnJlbnQubikgPT09IHN0YXJ0KSByZXR1cm47CisgICAgcG9pbnRzID0gY3Vy
cmVudC56OworICAgIHN0cmVhbS5saW5lU3RhcnQoKTsKKyAgICBkbyB7CisgICAgICBjdXJyZW50
LnYgPSBjdXJyZW50Lm8udiA9IHRydWU7CisgICAgICBpZiAoY3VycmVudC5lKSB7CisgICAgICAg
IGlmIChpc1N1YmplY3QpIHsKKyAgICAgICAgICBmb3IgKGkgPSAwLCBuID0gcG9pbnRzLmxlbmd0
aDsgaSA8IG47ICsraSkgc3RyZWFtLnBvaW50KChwb2ludCA9IHBvaW50c1tpXSlbMF0sIHBvaW50
WzFdKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBpbnRlcnBvbGF0ZShjdXJyZW50Lngs
IGN1cnJlbnQubi54LCAxLCBzdHJlYW0pOworICAgICAgICB9CisgICAgICAgIGN1cnJlbnQgPSBj
dXJyZW50Lm47CisgICAgICB9IGVsc2UgeworICAgICAgICBpZiAoaXNTdWJqZWN0KSB7CisgICAg
ICAgICAgcG9pbnRzID0gY3VycmVudC5wLno7CisgICAgICAgICAgZm9yIChpID0gcG9pbnRzLmxl
bmd0aCAtIDE7IGkgPj0gMDsgLS1pKSBzdHJlYW0ucG9pbnQoKHBvaW50ID0gcG9pbnRzW2ldKVsw
XSwgcG9pbnRbMV0pOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIGludGVycG9sYXRlKGN1
cnJlbnQueCwgY3VycmVudC5wLngsIC0xLCBzdHJlYW0pOworICAgICAgICB9CisgICAgICAgIGN1
cnJlbnQgPSBjdXJyZW50LnA7CisgICAgICB9CisgICAgICBjdXJyZW50ID0gY3VycmVudC5vOwor
ICAgICAgcG9pbnRzID0gY3VycmVudC56OworICAgICAgaXNTdWJqZWN0ID0gIWlzU3ViamVjdDsK
KyAgICB9IHdoaWxlICghY3VycmVudC52KTsKKyAgICBzdHJlYW0ubGluZUVuZCgpOworICB9Cit9
CisKK2Z1bmN0aW9uIGxpbmskMShhcnJheSkgeworICBpZiAoIShuID0gYXJyYXkubGVuZ3RoKSkg
cmV0dXJuOworICB2YXIgbiwKKyAgICAgIGkgPSAwLAorICAgICAgYSA9IGFycmF5WzBdLAorICAg
ICAgYjsKKyAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICBhLm4gPSBiID0gYXJyYXlbaV07CisgICAg
Yi5wID0gYTsKKyAgICBhID0gYjsKKyAgfQorICBhLm4gPSBiID0gYXJyYXlbMF07CisgIGIucCA9
IGE7Cit9CisKK3ZhciBzdW0kMSA9IGFkZGVyKCk7CisKK2Z1bmN0aW9uIGxvbmdpdHVkZShwb2lu
dCkgeworICBpZiAoYWJzKHBvaW50WzBdKSA8PSBwaSQzKQorICAgIHJldHVybiBwb2ludFswXTsK
KyAgZWxzZQorICAgIHJldHVybiBzaWduKHBvaW50WzBdKSAqICgoYWJzKHBvaW50WzBdKSArIHBp
JDMpICUgdGF1JDMgLSBwaSQzKTsKK30KKworZnVuY3Rpb24gcG9seWdvbkNvbnRhaW5zKHBvbHln
b24sIHBvaW50KSB7CisgIHZhciBsYW1iZGEgPSBsb25naXR1ZGUocG9pbnQpLAorICAgICAgcGhp
ID0gcG9pbnRbMV0sCisgICAgICBzaW5QaGkgPSBzaW4kMShwaGkpLAorICAgICAgbm9ybWFsID0g
W3NpbiQxKGxhbWJkYSksIC1jb3MkMShsYW1iZGEpLCAwXSwKKyAgICAgIGFuZ2xlID0gMCwKKyAg
ICAgIHdpbmRpbmcgPSAwOworCisgIHN1bSQxLnJlc2V0KCk7CisKKyAgaWYgKHNpblBoaSA9PT0g
MSkgcGhpID0gaGFsZlBpJDIgKyBlcHNpbG9uJDI7CisgIGVsc2UgaWYgKHNpblBoaSA9PT0gLTEp
IHBoaSA9IC1oYWxmUGkkMiAtIGVwc2lsb24kMjsKKworICBmb3IgKHZhciBpID0gMCwgbiA9IHBv
bHlnb24ubGVuZ3RoOyBpIDwgbjsgKytpKSB7CisgICAgaWYgKCEobSA9IChyaW5nID0gcG9seWdv
bltpXSkubGVuZ3RoKSkgY29udGludWU7CisgICAgdmFyIHJpbmcsCisgICAgICAgIG0sCisgICAg
ICAgIHBvaW50MCA9IHJpbmdbbSAtIDFdLAorICAgICAgICBsYW1iZGEwID0gbG9uZ2l0dWRlKHBv
aW50MCksCisgICAgICAgIHBoaTAgPSBwb2ludDBbMV0gLyAyICsgcXVhcnRlclBpLAorICAgICAg
ICBzaW5QaGkwID0gc2luJDEocGhpMCksCisgICAgICAgIGNvc1BoaTAgPSBjb3MkMShwaGkwKTsK
KworICAgIGZvciAodmFyIGogPSAwOyBqIDwgbTsgKytqLCBsYW1iZGEwID0gbGFtYmRhMSwgc2lu
UGhpMCA9IHNpblBoaTEsIGNvc1BoaTAgPSBjb3NQaGkxLCBwb2ludDAgPSBwb2ludDEpIHsKKyAg
ICAgIHZhciBwb2ludDEgPSByaW5nW2pdLAorICAgICAgICAgIGxhbWJkYTEgPSBsb25naXR1ZGUo
cG9pbnQxKSwKKyAgICAgICAgICBwaGkxID0gcG9pbnQxWzFdIC8gMiArIHF1YXJ0ZXJQaSwKKyAg
ICAgICAgICBzaW5QaGkxID0gc2luJDEocGhpMSksCisgICAgICAgICAgY29zUGhpMSA9IGNvcyQx
KHBoaTEpLAorICAgICAgICAgIGRlbHRhID0gbGFtYmRhMSAtIGxhbWJkYTAsCisgICAgICAgICAg
c2lnbiA9IGRlbHRhID49IDAgPyAxIDogLTEsCisgICAgICAgICAgYWJzRGVsdGEgPSBzaWduICog
ZGVsdGEsCisgICAgICAgICAgYW50aW1lcmlkaWFuID0gYWJzRGVsdGEgPiBwaSQzLAorICAgICAg
ICAgIGsgPSBzaW5QaGkwICogc2luUGhpMTsKKworICAgICAgc3VtJDEuYWRkKGF0YW4yKGsgKiBz
aWduICogc2luJDEoYWJzRGVsdGEpLCBjb3NQaGkwICogY29zUGhpMSArIGsgKiBjb3MkMShhYnNE
ZWx0YSkpKTsKKyAgICAgIGFuZ2xlICs9IGFudGltZXJpZGlhbiA/IGRlbHRhICsgc2lnbiAqIHRh
dSQzIDogZGVsdGE7CisKKyAgICAgIC8vIEFyZSB0aGUgbG9uZ2l0dWRlcyBlaXRoZXIgc2lkZSBv
ZiB0aGUgcG9pbnTigJlzIG1lcmlkaWFuIChsYW1iZGEpLAorICAgICAgLy8gYW5kIGFyZSB0aGUg
bGF0aXR1ZGVzIHNtYWxsZXIgdGhhbiB0aGUgcGFyYWxsZWwgKHBoaSk/CisgICAgICBpZiAoYW50
aW1lcmlkaWFuIF4gbGFtYmRhMCA+PSBsYW1iZGEgXiBsYW1iZGExID49IGxhbWJkYSkgeworICAg
ICAgICB2YXIgYXJjID0gY2FydGVzaWFuQ3Jvc3MoY2FydGVzaWFuKHBvaW50MCksIGNhcnRlc2lh
bihwb2ludDEpKTsKKyAgICAgICAgY2FydGVzaWFuTm9ybWFsaXplSW5QbGFjZShhcmMpOworICAg
ICAgICB2YXIgaW50ZXJzZWN0aW9uID0gY2FydGVzaWFuQ3Jvc3Mobm9ybWFsLCBhcmMpOworICAg
ICAgICBjYXJ0ZXNpYW5Ob3JtYWxpemVJblBsYWNlKGludGVyc2VjdGlvbik7CisgICAgICAgIHZh
ciBwaGlBcmMgPSAoYW50aW1lcmlkaWFuIF4gZGVsdGEgPj0gMCA/IC0xIDogMSkgKiBhc2luKGlu
dGVyc2VjdGlvblsyXSk7CisgICAgICAgIGlmIChwaGkgPiBwaGlBcmMgfHwgcGhpID09PSBwaGlB
cmMgJiYgKGFyY1swXSB8fCBhcmNbMV0pKSB7CisgICAgICAgICAgd2luZGluZyArPSBhbnRpbWVy
aWRpYW4gXiBkZWx0YSA+PSAwID8gMSA6IC0xOworICAgICAgICB9CisgICAgICB9CisgICAgfQor
ICB9CisKKyAgLy8gRmlyc3QsIGRldGVybWluZSB3aGV0aGVyIHRoZSBTb3V0aCBwb2xlIGlzIGlu
c2lkZSBvciBvdXRzaWRlOgorICAvLworICAvLyBJdCBpcyBpbnNpZGUgaWY6CisgIC8vICogdGhl
IHBvbHlnb24gd2luZHMgYXJvdW5kIGl0IGluIGEgY2xvY2t3aXNlIGRpcmVjdGlvbi4KKyAgLy8g
KiB0aGUgcG9seWdvbiBkb2VzIG5vdCAoY3VtdWxhdGl2ZWx5KSB3aW5kIGFyb3VuZCBpdCwgYnV0
IGhhcyBhIG5lZ2F0aXZlCisgIC8vICAgKGNvdW50ZXItY2xvY2t3aXNlKSBhcmVhLgorICAvLwor
ICAvLyBTZWNvbmQsIGNvdW50IHRoZSAoc2lnbmVkKSBudW1iZXIgb2YgdGltZXMgYSBzZWdtZW50
IGNyb3NzZXMgYSBsYW1iZGEKKyAgLy8gZnJvbSB0aGUgcG9pbnQgdG8gdGhlIFNvdXRoIHBvbGUu
ICBJZiBpdCBpcyB6ZXJvLCB0aGVuIHRoZSBwb2ludCBpcyB0aGUKKyAgLy8gc2FtZSBzaWRlIGFz
IHRoZSBTb3V0aCBwb2xlLgorCisgIHJldHVybiAoYW5nbGUgPCAtZXBzaWxvbiQyIHx8IGFuZ2xl
IDwgZXBzaWxvbiQyICYmIHN1bSQxIDwgLWVwc2lsb24kMikgXiAod2luZGluZyAmIDEpOworfQor
CitmdW5jdGlvbiBjbGlwKHBvaW50VmlzaWJsZSwgY2xpcExpbmUsIGludGVycG9sYXRlLCBzdGFy
dCkgeworICByZXR1cm4gZnVuY3Rpb24oc2luaykgeworICAgIHZhciBsaW5lID0gY2xpcExpbmUo
c2luayksCisgICAgICAgIHJpbmdCdWZmZXIgPSBjbGlwQnVmZmVyKCksCisgICAgICAgIHJpbmdT
aW5rID0gY2xpcExpbmUocmluZ0J1ZmZlciksCisgICAgICAgIHBvbHlnb25TdGFydGVkID0gZmFs
c2UsCisgICAgICAgIHBvbHlnb24sCisgICAgICAgIHNlZ21lbnRzLAorICAgICAgICByaW5nOwor
CisgICAgdmFyIGNsaXAgPSB7CisgICAgICBwb2ludDogcG9pbnQsCisgICAgICBsaW5lU3RhcnQ6
IGxpbmVTdGFydCwKKyAgICAgIGxpbmVFbmQ6IGxpbmVFbmQsCisgICAgICBwb2x5Z29uU3RhcnQ6
IGZ1bmN0aW9uKCkgeworICAgICAgICBjbGlwLnBvaW50ID0gcG9pbnRSaW5nOworICAgICAgICBj
bGlwLmxpbmVTdGFydCA9IHJpbmdTdGFydDsKKyAgICAgICAgY2xpcC5saW5lRW5kID0gcmluZ0Vu
ZDsKKyAgICAgICAgc2VnbWVudHMgPSBbXTsKKyAgICAgICAgcG9seWdvbiA9IFtdOworICAgICAg
fSwKKyAgICAgIHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgICAgICBjbGlwLnBvaW50ID0g
cG9pbnQ7CisgICAgICAgIGNsaXAubGluZVN0YXJ0ID0gbGluZVN0YXJ0OworICAgICAgICBjbGlw
LmxpbmVFbmQgPSBsaW5lRW5kOworICAgICAgICBzZWdtZW50cyA9IG1lcmdlKHNlZ21lbnRzKTsK
KyAgICAgICAgdmFyIHN0YXJ0SW5zaWRlID0gcG9seWdvbkNvbnRhaW5zKHBvbHlnb24sIHN0YXJ0
KTsKKyAgICAgICAgaWYgKHNlZ21lbnRzLmxlbmd0aCkgeworICAgICAgICAgIGlmICghcG9seWdv
blN0YXJ0ZWQpIHNpbmsucG9seWdvblN0YXJ0KCksIHBvbHlnb25TdGFydGVkID0gdHJ1ZTsKKyAg
ICAgICAgICBjbGlwUmVqb2luKHNlZ21lbnRzLCBjb21wYXJlSW50ZXJzZWN0aW9uLCBzdGFydElu
c2lkZSwgaW50ZXJwb2xhdGUsIHNpbmspOworICAgICAgICB9IGVsc2UgaWYgKHN0YXJ0SW5zaWRl
KSB7CisgICAgICAgICAgaWYgKCFwb2x5Z29uU3RhcnRlZCkgc2luay5wb2x5Z29uU3RhcnQoKSwg
cG9seWdvblN0YXJ0ZWQgPSB0cnVlOworICAgICAgICAgIHNpbmsubGluZVN0YXJ0KCk7CisgICAg
ICAgICAgaW50ZXJwb2xhdGUobnVsbCwgbnVsbCwgMSwgc2luayk7CisgICAgICAgICAgc2luay5s
aW5lRW5kKCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHBvbHlnb25TdGFydGVkKSBzaW5rLnBv
bHlnb25FbmQoKSwgcG9seWdvblN0YXJ0ZWQgPSBmYWxzZTsKKyAgICAgICAgc2VnbWVudHMgPSBw
b2x5Z29uID0gbnVsbDsKKyAgICAgIH0sCisgICAgICBzcGhlcmU6IGZ1bmN0aW9uKCkgeworICAg
ICAgICBzaW5rLnBvbHlnb25TdGFydCgpOworICAgICAgICBzaW5rLmxpbmVTdGFydCgpOworICAg
ICAgICBpbnRlcnBvbGF0ZShudWxsLCBudWxsLCAxLCBzaW5rKTsKKyAgICAgICAgc2luay5saW5l
RW5kKCk7CisgICAgICAgIHNpbmsucG9seWdvbkVuZCgpOworICAgICAgfQorICAgIH07CisKKyAg
ICBmdW5jdGlvbiBwb2ludChsYW1iZGEsIHBoaSkgeworICAgICAgaWYgKHBvaW50VmlzaWJsZShs
YW1iZGEsIHBoaSkpIHNpbmsucG9pbnQobGFtYmRhLCBwaGkpOworICAgIH0KKworICAgIGZ1bmN0
aW9uIHBvaW50TGluZShsYW1iZGEsIHBoaSkgeworICAgICAgbGluZS5wb2ludChsYW1iZGEsIHBo
aSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbGluZVN0YXJ0KCkgeworICAgICAgY2xpcC5wb2lu
dCA9IHBvaW50TGluZTsKKyAgICAgIGxpbmUubGluZVN0YXJ0KCk7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gbGluZUVuZCgpIHsKKyAgICAgIGNsaXAucG9pbnQgPSBwb2ludDsKKyAgICAgIGxpbmUu
bGluZUVuZCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHBvaW50UmluZyhsYW1iZGEsIHBoaSkg
eworICAgICAgcmluZy5wdXNoKFtsYW1iZGEsIHBoaV0pOworICAgICAgcmluZ1NpbmsucG9pbnQo
bGFtYmRhLCBwaGkpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJpbmdTdGFydCgpIHsKKyAgICAg
IHJpbmdTaW5rLmxpbmVTdGFydCgpOworICAgICAgcmluZyA9IFtdOworICAgIH0KKworICAgIGZ1
bmN0aW9uIHJpbmdFbmQoKSB7CisgICAgICBwb2ludFJpbmcocmluZ1swXVswXSwgcmluZ1swXVsx
XSk7CisgICAgICByaW5nU2luay5saW5lRW5kKCk7CisKKyAgICAgIHZhciBjbGVhbiA9IHJpbmdT
aW5rLmNsZWFuKCksCisgICAgICAgICAgcmluZ1NlZ21lbnRzID0gcmluZ0J1ZmZlci5yZXN1bHQo
KSwKKyAgICAgICAgICBpLCBuID0gcmluZ1NlZ21lbnRzLmxlbmd0aCwgbSwKKyAgICAgICAgICBz
ZWdtZW50LAorICAgICAgICAgIHBvaW50OworCisgICAgICByaW5nLnBvcCgpOworICAgICAgcG9s
eWdvbi5wdXNoKHJpbmcpOworICAgICAgcmluZyA9IG51bGw7CisKKyAgICAgIGlmICghbikgcmV0
dXJuOworCisgICAgICAvLyBObyBpbnRlcnNlY3Rpb25zLgorICAgICAgaWYgKGNsZWFuICYgMSkg
eworICAgICAgICBzZWdtZW50ID0gcmluZ1NlZ21lbnRzWzBdOworICAgICAgICBpZiAoKG0gPSBz
ZWdtZW50Lmxlbmd0aCAtIDEpID4gMCkgeworICAgICAgICAgIGlmICghcG9seWdvblN0YXJ0ZWQp
IHNpbmsucG9seWdvblN0YXJ0KCksIHBvbHlnb25TdGFydGVkID0gdHJ1ZTsKKyAgICAgICAgICBz
aW5rLmxpbmVTdGFydCgpOworICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBtOyArK2kpIHNpbmsu
cG9pbnQoKHBvaW50ID0gc2VnbWVudFtpXSlbMF0sIHBvaW50WzFdKTsKKyAgICAgICAgICBzaW5r
LmxpbmVFbmQoKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm47CisgICAgICB9CisKKyAgICAg
IC8vIFJlam9pbiBjb25uZWN0ZWQgc2VnbWVudHMuCisgICAgICAvLyBUT0RPIHJldXNlIHJpbmdC
dWZmZXIucmVqb2luKCk/CisgICAgICBpZiAobiA+IDEgJiYgY2xlYW4gJiAyKSByaW5nU2VnbWVu
dHMucHVzaChyaW5nU2VnbWVudHMucG9wKCkuY29uY2F0KHJpbmdTZWdtZW50cy5zaGlmdCgpKSk7
CisKKyAgICAgIHNlZ21lbnRzLnB1c2gocmluZ1NlZ21lbnRzLmZpbHRlcih2YWxpZFNlZ21lbnQp
KTsKKyAgICB9CisKKyAgICByZXR1cm4gY2xpcDsKKyAgfTsKK30KKworZnVuY3Rpb24gdmFsaWRT
ZWdtZW50KHNlZ21lbnQpIHsKKyAgcmV0dXJuIHNlZ21lbnQubGVuZ3RoID4gMTsKK30KKworLy8g
SW50ZXJzZWN0aW9ucyBhcmUgc29ydGVkIGFsb25nIHRoZSBjbGlwIGVkZ2UuIEZvciBib3RoIGFu
dGltZXJpZGlhbiBjdXR0aW5nCisvLyBhbmQgY2lyY2xlIGNsaXBwaW5nLCB0aGUgc2FtZSBjb21w
YXJpc29uIGlzIHVzZWQuCitmdW5jdGlvbiBjb21wYXJlSW50ZXJzZWN0aW9uKGEsIGIpIHsKKyAg
cmV0dXJuICgoYSA9IGEueClbMF0gPCAwID8gYVsxXSAtIGhhbGZQaSQyIC0gZXBzaWxvbiQyIDog
aGFsZlBpJDIgLSBhWzFdKQorICAgICAgIC0gKChiID0gYi54KVswXSA8IDAgPyBiWzFdIC0gaGFs
ZlBpJDIgLSBlcHNpbG9uJDIgOiBoYWxmUGkkMiAtIGJbMV0pOworfQorCit2YXIgY2xpcEFudGlt
ZXJpZGlhbiA9IGNsaXAoCisgIGZ1bmN0aW9uKCkgeyByZXR1cm4gdHJ1ZTsgfSwKKyAgY2xpcEFu
dGltZXJpZGlhbkxpbmUsCisgIGNsaXBBbnRpbWVyaWRpYW5JbnRlcnBvbGF0ZSwKKyAgWy1waSQz
LCAtaGFsZlBpJDJdCispOworCisvLyBUYWtlcyBhIGxpbmUgYW5kIGN1dHMgaW50byB2aXNpYmxl
IHNlZ21lbnRzLiBSZXR1cm4gdmFsdWVzOiAwIC0gdGhlcmUgd2VyZQorLy8gaW50ZXJzZWN0aW9u
cyBvciB0aGUgbGluZSB3YXMgZW1wdHk7IDEgLSBubyBpbnRlcnNlY3Rpb25zOyAyIC0gdGhlcmUg
d2VyZQorLy8gaW50ZXJzZWN0aW9ucywgYW5kIHRoZSBmaXJzdCBhbmQgbGFzdCBzZWdtZW50cyBz
aG91bGQgYmUgcmVqb2luZWQuCitmdW5jdGlvbiBjbGlwQW50aW1lcmlkaWFuTGluZShzdHJlYW0p
IHsKKyAgdmFyIGxhbWJkYTAgPSBOYU4sCisgICAgICBwaGkwID0gTmFOLAorICAgICAgc2lnbjAg
PSBOYU4sCisgICAgICBjbGVhbjsgLy8gbm8gaW50ZXJzZWN0aW9ucworCisgIHJldHVybiB7Cisg
ICAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICAgIHN0cmVhbS5saW5lU3RhcnQoKTsKKyAg
ICAgIGNsZWFuID0gMTsKKyAgICB9LAorICAgIHBvaW50OiBmdW5jdGlvbihsYW1iZGExLCBwaGkx
KSB7CisgICAgICB2YXIgc2lnbjEgPSBsYW1iZGExID4gMCA/IHBpJDMgOiAtcGkkMywKKyAgICAg
ICAgICBkZWx0YSA9IGFicyhsYW1iZGExIC0gbGFtYmRhMCk7CisgICAgICBpZiAoYWJzKGRlbHRh
IC0gcGkkMykgPCBlcHNpbG9uJDIpIHsgLy8gbGluZSBjcm9zc2VzIGEgcG9sZQorICAgICAgICBz
dHJlYW0ucG9pbnQobGFtYmRhMCwgcGhpMCA9IChwaGkwICsgcGhpMSkgLyAyID4gMCA/IGhhbGZQ
aSQyIDogLWhhbGZQaSQyKTsKKyAgICAgICAgc3RyZWFtLnBvaW50KHNpZ24wLCBwaGkwKTsKKyAg
ICAgICAgc3RyZWFtLmxpbmVFbmQoKTsKKyAgICAgICAgc3RyZWFtLmxpbmVTdGFydCgpOworICAg
ICAgICBzdHJlYW0ucG9pbnQoc2lnbjEsIHBoaTApOworICAgICAgICBzdHJlYW0ucG9pbnQobGFt
YmRhMSwgcGhpMCk7CisgICAgICAgIGNsZWFuID0gMDsKKyAgICAgIH0gZWxzZSBpZiAoc2lnbjAg
IT09IHNpZ24xICYmIGRlbHRhID49IHBpJDMpIHsgLy8gbGluZSBjcm9zc2VzIGFudGltZXJpZGlh
bgorICAgICAgICBpZiAoYWJzKGxhbWJkYTAgLSBzaWduMCkgPCBlcHNpbG9uJDIpIGxhbWJkYTAg
LT0gc2lnbjAgKiBlcHNpbG9uJDI7IC8vIGhhbmRsZSBkZWdlbmVyYWNpZXMKKyAgICAgICAgaWYg
KGFicyhsYW1iZGExIC0gc2lnbjEpIDwgZXBzaWxvbiQyKSBsYW1iZGExIC09IHNpZ24xICogZXBz
aWxvbiQyOworICAgICAgICBwaGkwID0gY2xpcEFudGltZXJpZGlhbkludGVyc2VjdChsYW1iZGEw
LCBwaGkwLCBsYW1iZGExLCBwaGkxKTsKKyAgICAgICAgc3RyZWFtLnBvaW50KHNpZ24wLCBwaGkw
KTsKKyAgICAgICAgc3RyZWFtLmxpbmVFbmQoKTsKKyAgICAgICAgc3RyZWFtLmxpbmVTdGFydCgp
OworICAgICAgICBzdHJlYW0ucG9pbnQoc2lnbjEsIHBoaTApOworICAgICAgICBjbGVhbiA9IDA7
CisgICAgICB9CisgICAgICBzdHJlYW0ucG9pbnQobGFtYmRhMCA9IGxhbWJkYTEsIHBoaTAgPSBw
aGkxKTsKKyAgICAgIHNpZ24wID0gc2lnbjE7CisgICAgfSwKKyAgICBsaW5lRW5kOiBmdW5jdGlv
bigpIHsKKyAgICAgIHN0cmVhbS5saW5lRW5kKCk7CisgICAgICBsYW1iZGEwID0gcGhpMCA9IE5h
TjsKKyAgICB9LAorICAgIGNsZWFuOiBmdW5jdGlvbigpIHsKKyAgICAgIHJldHVybiAyIC0gY2xl
YW47IC8vIGlmIGludGVyc2VjdGlvbnMsIHJlam9pbiBmaXJzdCBhbmQgbGFzdCBzZWdtZW50cwor
ICAgIH0KKyAgfTsKK30KKworZnVuY3Rpb24gY2xpcEFudGltZXJpZGlhbkludGVyc2VjdChsYW1i
ZGEwLCBwaGkwLCBsYW1iZGExLCBwaGkxKSB7CisgIHZhciBjb3NQaGkwLAorICAgICAgY29zUGhp
MSwKKyAgICAgIHNpbkxhbWJkYTBMYW1iZGExID0gc2luJDEobGFtYmRhMCAtIGxhbWJkYTEpOwor
ICByZXR1cm4gYWJzKHNpbkxhbWJkYTBMYW1iZGExKSA+IGVwc2lsb24kMgorICAgICAgPyBhdGFu
KChzaW4kMShwaGkwKSAqIChjb3NQaGkxID0gY29zJDEocGhpMSkpICogc2luJDEobGFtYmRhMSkK
KyAgICAgICAgICAtIHNpbiQxKHBoaTEpICogKGNvc1BoaTAgPSBjb3MkMShwaGkwKSkgKiBzaW4k
MShsYW1iZGEwKSkKKyAgICAgICAgICAvIChjb3NQaGkwICogY29zUGhpMSAqIHNpbkxhbWJkYTBM
YW1iZGExKSkKKyAgICAgIDogKHBoaTAgKyBwaGkxKSAvIDI7Cit9CisKK2Z1bmN0aW9uIGNsaXBB
bnRpbWVyaWRpYW5JbnRlcnBvbGF0ZShmcm9tLCB0bywgZGlyZWN0aW9uLCBzdHJlYW0pIHsKKyAg
dmFyIHBoaTsKKyAgaWYgKGZyb20gPT0gbnVsbCkgeworICAgIHBoaSA9IGRpcmVjdGlvbiAqIGhh
bGZQaSQyOworICAgIHN0cmVhbS5wb2ludCgtcGkkMywgcGhpKTsKKyAgICBzdHJlYW0ucG9pbnQo
MCwgcGhpKTsKKyAgICBzdHJlYW0ucG9pbnQocGkkMywgcGhpKTsKKyAgICBzdHJlYW0ucG9pbnQo
cGkkMywgMCk7CisgICAgc3RyZWFtLnBvaW50KHBpJDMsIC1waGkpOworICAgIHN0cmVhbS5wb2lu
dCgwLCAtcGhpKTsKKyAgICBzdHJlYW0ucG9pbnQoLXBpJDMsIC1waGkpOworICAgIHN0cmVhbS5w
b2ludCgtcGkkMywgMCk7CisgICAgc3RyZWFtLnBvaW50KC1waSQzLCBwaGkpOworICB9IGVsc2Ug
aWYgKGFicyhmcm9tWzBdIC0gdG9bMF0pID4gZXBzaWxvbiQyKSB7CisgICAgdmFyIGxhbWJkYSA9
IGZyb21bMF0gPCB0b1swXSA/IHBpJDMgOiAtcGkkMzsKKyAgICBwaGkgPSBkaXJlY3Rpb24gKiBs
YW1iZGEgLyAyOworICAgIHN0cmVhbS5wb2ludCgtbGFtYmRhLCBwaGkpOworICAgIHN0cmVhbS5w
b2ludCgwLCBwaGkpOworICAgIHN0cmVhbS5wb2ludChsYW1iZGEsIHBoaSk7CisgIH0gZWxzZSB7
CisgICAgc3RyZWFtLnBvaW50KHRvWzBdLCB0b1sxXSk7CisgIH0KK30KKworZnVuY3Rpb24gY2xp
cENpcmNsZShyYWRpdXMpIHsKKyAgdmFyIGNyID0gY29zJDEocmFkaXVzKSwKKyAgICAgIGRlbHRh
ID0gNiAqIHJhZGlhbnMsCisgICAgICBzbWFsbFJhZGl1cyA9IGNyID4gMCwKKyAgICAgIG5vdEhl
bWlzcGhlcmUgPSBhYnMoY3IpID4gZXBzaWxvbiQyOyAvLyBUT0RPIG9wdGltaXNlIGZvciB0aGlz
IGNvbW1vbiBjYXNlCisKKyAgZnVuY3Rpb24gaW50ZXJwb2xhdGUoZnJvbSwgdG8sIGRpcmVjdGlv
biwgc3RyZWFtKSB7CisgICAgY2lyY2xlU3RyZWFtKHN0cmVhbSwgcmFkaXVzLCBkZWx0YSwgZGly
ZWN0aW9uLCBmcm9tLCB0byk7CisgIH0KKworICBmdW5jdGlvbiB2aXNpYmxlKGxhbWJkYSwgcGhp
KSB7CisgICAgcmV0dXJuIGNvcyQxKGxhbWJkYSkgKiBjb3MkMShwaGkpID4gY3I7CisgIH0KKwor
ICAvLyBUYWtlcyBhIGxpbmUgYW5kIGN1dHMgaW50byB2aXNpYmxlIHNlZ21lbnRzLiBSZXR1cm4g
dmFsdWVzIHVzZWQgZm9yIHBvbHlnb24KKyAgLy8gY2xpcHBpbmc6IDAgLSB0aGVyZSB3ZXJlIGlu
dGVyc2VjdGlvbnMgb3IgdGhlIGxpbmUgd2FzIGVtcHR5OyAxIC0gbm8KKyAgLy8gaW50ZXJzZWN0
aW9ucyAyIC0gdGhlcmUgd2VyZSBpbnRlcnNlY3Rpb25zLCBhbmQgdGhlIGZpcnN0IGFuZCBsYXN0
IHNlZ21lbnRzCisgIC8vIHNob3VsZCBiZSByZWpvaW5lZC4KKyAgZnVuY3Rpb24gY2xpcExpbmUo
c3RyZWFtKSB7CisgICAgdmFyIHBvaW50MCwgLy8gcHJldmlvdXMgcG9pbnQKKyAgICAgICAgYzAs
IC8vIGNvZGUgZm9yIHByZXZpb3VzIHBvaW50CisgICAgICAgIHYwLCAvLyB2aXNpYmlsaXR5IG9m
IHByZXZpb3VzIHBvaW50CisgICAgICAgIHYwMCwgLy8gdmlzaWJpbGl0eSBvZiBmaXJzdCBwb2lu
dAorICAgICAgICBjbGVhbjsgLy8gbm8gaW50ZXJzZWN0aW9ucworICAgIHJldHVybiB7CisgICAg
ICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgICAgICB2MDAgPSB2MCA9IGZhbHNlOworICAg
ICAgICBjbGVhbiA9IDE7CisgICAgICB9LAorICAgICAgcG9pbnQ6IGZ1bmN0aW9uKGxhbWJkYSwg
cGhpKSB7CisgICAgICAgIHZhciBwb2ludDEgPSBbbGFtYmRhLCBwaGldLAorICAgICAgICAgICAg
cG9pbnQyLAorICAgICAgICAgICAgdiA9IHZpc2libGUobGFtYmRhLCBwaGkpLAorICAgICAgICAg
ICAgYyA9IHNtYWxsUmFkaXVzCisgICAgICAgICAgICAgID8gdiA/IDAgOiBjb2RlKGxhbWJkYSwg
cGhpKQorICAgICAgICAgICAgICA6IHYgPyBjb2RlKGxhbWJkYSArIChsYW1iZGEgPCAwID8gcGkk
MyA6IC1waSQzKSwgcGhpKSA6IDA7CisgICAgICAgIGlmICghcG9pbnQwICYmICh2MDAgPSB2MCA9
IHYpKSBzdHJlYW0ubGluZVN0YXJ0KCk7CisgICAgICAgIC8vIEhhbmRsZSBkZWdlbmVyYWNpZXMu
CisgICAgICAgIC8vIFRPRE8gaWdub3JlIGlmIG5vdCBjbGlwcGluZyBwb2x5Z29ucy4KKyAgICAg
ICAgaWYgKHYgIT09IHYwKSB7CisgICAgICAgICAgcG9pbnQyID0gaW50ZXJzZWN0KHBvaW50MCwg
cG9pbnQxKTsKKyAgICAgICAgICBpZiAoIXBvaW50MiB8fCBwb2ludEVxdWFsKHBvaW50MCwgcG9p
bnQyKSB8fCBwb2ludEVxdWFsKHBvaW50MSwgcG9pbnQyKSkgeworICAgICAgICAgICAgcG9pbnQx
WzBdICs9IGVwc2lsb24kMjsKKyAgICAgICAgICAgIHBvaW50MVsxXSArPSBlcHNpbG9uJDI7Cisg
ICAgICAgICAgICB2ID0gdmlzaWJsZShwb2ludDFbMF0sIHBvaW50MVsxXSk7CisgICAgICAgICAg
fQorICAgICAgICB9CisgICAgICAgIGlmICh2ICE9PSB2MCkgeworICAgICAgICAgIGNsZWFuID0g
MDsKKyAgICAgICAgICBpZiAodikgeworICAgICAgICAgICAgLy8gb3V0c2lkZSBnb2luZyBpbgor
ICAgICAgICAgICAgc3RyZWFtLmxpbmVTdGFydCgpOworICAgICAgICAgICAgcG9pbnQyID0gaW50
ZXJzZWN0KHBvaW50MSwgcG9pbnQwKTsKKyAgICAgICAgICAgIHN0cmVhbS5wb2ludChwb2ludDJb
MF0sIHBvaW50MlsxXSk7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIGluc2lk
ZSBnb2luZyBvdXQKKyAgICAgICAgICAgIHBvaW50MiA9IGludGVyc2VjdChwb2ludDAsIHBvaW50
MSk7CisgICAgICAgICAgICBzdHJlYW0ucG9pbnQocG9pbnQyWzBdLCBwb2ludDJbMV0pOworICAg
ICAgICAgICAgc3RyZWFtLmxpbmVFbmQoKTsKKyAgICAgICAgICB9CisgICAgICAgICAgcG9pbnQw
ID0gcG9pbnQyOworICAgICAgICB9IGVsc2UgaWYgKG5vdEhlbWlzcGhlcmUgJiYgcG9pbnQwICYm
IHNtYWxsUmFkaXVzIF4gdikgeworICAgICAgICAgIHZhciB0OworICAgICAgICAgIC8vIElmIHRo
ZSBjb2RlcyBmb3IgdHdvIHBvaW50cyBhcmUgZGlmZmVyZW50LCBvciBhcmUgYm90aCB6ZXJvLAor
ICAgICAgICAgIC8vIGFuZCB0aGVyZSB0aGlzIHNlZ21lbnQgaW50ZXJzZWN0cyB3aXRoIHRoZSBz
bWFsbCBjaXJjbGUuCisgICAgICAgICAgaWYgKCEoYyAmIGMwKSAmJiAodCA9IGludGVyc2VjdChw
b2ludDEsIHBvaW50MCwgdHJ1ZSkpKSB7CisgICAgICAgICAgICBjbGVhbiA9IDA7CisgICAgICAg
ICAgICBpZiAoc21hbGxSYWRpdXMpIHsKKyAgICAgICAgICAgICAgc3RyZWFtLmxpbmVTdGFydCgp
OworICAgICAgICAgICAgICBzdHJlYW0ucG9pbnQodFswXVswXSwgdFswXVsxXSk7CisgICAgICAg
ICAgICAgIHN0cmVhbS5wb2ludCh0WzFdWzBdLCB0WzFdWzFdKTsKKyAgICAgICAgICAgICAgc3Ry
ZWFtLmxpbmVFbmQoKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIHN0cmVh
bS5wb2ludCh0WzFdWzBdLCB0WzFdWzFdKTsKKyAgICAgICAgICAgICAgc3RyZWFtLmxpbmVFbmQo
KTsKKyAgICAgICAgICAgICAgc3RyZWFtLmxpbmVTdGFydCgpOworICAgICAgICAgICAgICBzdHJl
YW0ucG9pbnQodFswXVswXSwgdFswXVsxXSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICAgIGlmICh2ICYmICghcG9pbnQwIHx8ICFwb2ludEVxdWFsKHBvaW50
MCwgcG9pbnQxKSkpIHsKKyAgICAgICAgICBzdHJlYW0ucG9pbnQocG9pbnQxWzBdLCBwb2ludDFb
MV0pOworICAgICAgICB9CisgICAgICAgIHBvaW50MCA9IHBvaW50MSwgdjAgPSB2LCBjMCA9IGM7
CisgICAgICB9LAorICAgICAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh2MCkg
c3RyZWFtLmxpbmVFbmQoKTsKKyAgICAgICAgcG9pbnQwID0gbnVsbDsKKyAgICAgIH0sCisgICAg
ICAvLyBSZWpvaW4gZmlyc3QgYW5kIGxhc3Qgc2VnbWVudHMgaWYgdGhlcmUgd2VyZSBpbnRlcnNl
Y3Rpb25zIGFuZCB0aGUgZmlyc3QKKyAgICAgIC8vIGFuZCBsYXN0IHBvaW50cyB3ZXJlIHZpc2li
bGUuCisgICAgICBjbGVhbjogZnVuY3Rpb24oKSB7CisgICAgICAgIHJldHVybiBjbGVhbiB8ICgo
djAwICYmIHYwKSA8PCAxKTsKKyAgICAgIH0KKyAgICB9OworICB9CisKKyAgLy8gSW50ZXJzZWN0
cyB0aGUgZ3JlYXQgY2lyY2xlIGJldHdlZW4gYSBhbmQgYiB3aXRoIHRoZSBjbGlwIGNpcmNsZS4K
KyAgZnVuY3Rpb24gaW50ZXJzZWN0KGEsIGIsIHR3bykgeworICAgIHZhciBwYSA9IGNhcnRlc2lh
bihhKSwKKyAgICAgICAgcGIgPSBjYXJ0ZXNpYW4oYik7CisKKyAgICAvLyBXZSBoYXZlIHR3byBw
bGFuZXMsIG4xLnAgPSBkMSBhbmQgbjIucCA9IGQyLgorICAgIC8vIEZpbmQgaW50ZXJzZWN0aW9u
IGxpbmUgcCh0KSA9IGMxIG4xICsgYzIgbjIgKyB0IChuMSDiqK8gbjIpLgorICAgIHZhciBuMSA9
IFsxLCAwLCAwXSwgLy8gbm9ybWFsCisgICAgICAgIG4yID0gY2FydGVzaWFuQ3Jvc3MocGEsIHBi
KSwKKyAgICAgICAgbjJuMiA9IGNhcnRlc2lhbkRvdChuMiwgbjIpLAorICAgICAgICBuMW4yID0g
bjJbMF0sIC8vIGNhcnRlc2lhbkRvdChuMSwgbjIpLAorICAgICAgICBkZXRlcm1pbmFudCA9IG4y
bjIgLSBuMW4yICogbjFuMjsKKworICAgIC8vIFR3byBwb2xhciBwb2ludHMuCisgICAgaWYgKCFk
ZXRlcm1pbmFudCkgcmV0dXJuICF0d28gJiYgYTsKKworICAgIHZhciBjMSA9ICBjciAqIG4ybjIg
LyBkZXRlcm1pbmFudCwKKyAgICAgICAgYzIgPSAtY3IgKiBuMW4yIC8gZGV0ZXJtaW5hbnQsCisg
ICAgICAgIG4xeG4yID0gY2FydGVzaWFuQ3Jvc3MobjEsIG4yKSwKKyAgICAgICAgQSA9IGNhcnRl
c2lhblNjYWxlKG4xLCBjMSksCisgICAgICAgIEIgPSBjYXJ0ZXNpYW5TY2FsZShuMiwgYzIpOwor
ICAgIGNhcnRlc2lhbkFkZEluUGxhY2UoQSwgQik7CisKKyAgICAvLyBTb2x2ZSB8cCh0KXxeMiA9
IDEuCisgICAgdmFyIHUgPSBuMXhuMiwKKyAgICAgICAgdyA9IGNhcnRlc2lhbkRvdChBLCB1KSwK
KyAgICAgICAgdXUgPSBjYXJ0ZXNpYW5Eb3QodSwgdSksCisgICAgICAgIHQyID0gdyAqIHcgLSB1
dSAqIChjYXJ0ZXNpYW5Eb3QoQSwgQSkgLSAxKTsKKworICAgIGlmICh0MiA8IDApIHJldHVybjsK
KworICAgIHZhciB0ID0gc3FydCh0MiksCisgICAgICAgIHEgPSBjYXJ0ZXNpYW5TY2FsZSh1LCAo
LXcgLSB0KSAvIHV1KTsKKyAgICBjYXJ0ZXNpYW5BZGRJblBsYWNlKHEsIEEpOworICAgIHEgPSBz
cGhlcmljYWwocSk7CisKKyAgICBpZiAoIXR3bykgcmV0dXJuIHE7CisKKyAgICAvLyBUd28gaW50
ZXJzZWN0aW9uIHBvaW50cy4KKyAgICB2YXIgbGFtYmRhMCA9IGFbMF0sCisgICAgICAgIGxhbWJk
YTEgPSBiWzBdLAorICAgICAgICBwaGkwID0gYVsxXSwKKyAgICAgICAgcGhpMSA9IGJbMV0sCisg
ICAgICAgIHo7CisKKyAgICBpZiAobGFtYmRhMSA8IGxhbWJkYTApIHogPSBsYW1iZGEwLCBsYW1i
ZGEwID0gbGFtYmRhMSwgbGFtYmRhMSA9IHo7CisKKyAgICB2YXIgZGVsdGEgPSBsYW1iZGExIC0g
bGFtYmRhMCwKKyAgICAgICAgcG9sYXIgPSBhYnMoZGVsdGEgLSBwaSQzKSA8IGVwc2lsb24kMiwK
KyAgICAgICAgbWVyaWRpYW4gPSBwb2xhciB8fCBkZWx0YSA8IGVwc2lsb24kMjsKKworICAgIGlm
ICghcG9sYXIgJiYgcGhpMSA8IHBoaTApIHogPSBwaGkwLCBwaGkwID0gcGhpMSwgcGhpMSA9IHo7
CisKKyAgICAvLyBDaGVjayB0aGF0IHRoZSBmaXJzdCBwb2ludCBpcyBiZXR3ZWVuIGEgYW5kIGIu
CisgICAgaWYgKG1lcmlkaWFuCisgICAgICAgID8gcG9sYXIKKyAgICAgICAgICA/IHBoaTAgKyBw
aGkxID4gMCBeIHFbMV0gPCAoYWJzKHFbMF0gLSBsYW1iZGEwKSA8IGVwc2lsb24kMiA/IHBoaTAg
OiBwaGkxKQorICAgICAgICAgIDogcGhpMCA8PSBxWzFdICYmIHFbMV0gPD0gcGhpMQorICAgICAg
ICA6IGRlbHRhID4gcGkkMyBeIChsYW1iZGEwIDw9IHFbMF0gJiYgcVswXSA8PSBsYW1iZGExKSkg
eworICAgICAgdmFyIHExID0gY2FydGVzaWFuU2NhbGUodSwgKC13ICsgdCkgLyB1dSk7CisgICAg
ICBjYXJ0ZXNpYW5BZGRJblBsYWNlKHExLCBBKTsKKyAgICAgIHJldHVybiBbcSwgc3BoZXJpY2Fs
KHExKV07CisgICAgfQorICB9CisKKyAgLy8gR2VuZXJhdGVzIGEgNC1iaXQgdmVjdG9yIHJlcHJl
c2VudGluZyB0aGUgbG9jYXRpb24gb2YgYSBwb2ludCByZWxhdGl2ZSB0bworICAvLyB0aGUgc21h
bGwgY2lyY2xlJ3MgYm91bmRpbmcgYm94LgorICBmdW5jdGlvbiBjb2RlKGxhbWJkYSwgcGhpKSB7
CisgICAgdmFyIHIgPSBzbWFsbFJhZGl1cyA/IHJhZGl1cyA6IHBpJDMgLSByYWRpdXMsCisgICAg
ICAgIGNvZGUgPSAwOworICAgIGlmIChsYW1iZGEgPCAtcikgY29kZSB8PSAxOyAvLyBsZWZ0Cisg
ICAgZWxzZSBpZiAobGFtYmRhID4gcikgY29kZSB8PSAyOyAvLyByaWdodAorICAgIGlmIChwaGkg
PCAtcikgY29kZSB8PSA0OyAvLyBiZWxvdworICAgIGVsc2UgaWYgKHBoaSA+IHIpIGNvZGUgfD0g
ODsgLy8gYWJvdmUKKyAgICByZXR1cm4gY29kZTsKKyAgfQorCisgIHJldHVybiBjbGlwKHZpc2li
bGUsIGNsaXBMaW5lLCBpbnRlcnBvbGF0ZSwgc21hbGxSYWRpdXMgPyBbMCwgLXJhZGl1c10gOiBb
LXBpJDMsIHJhZGl1cyAtIHBpJDNdKTsKK30KKworZnVuY3Rpb24gY2xpcExpbmUoYSwgYiwgeDAs
IHkwLCB4MSwgeTEpIHsKKyAgdmFyIGF4ID0gYVswXSwKKyAgICAgIGF5ID0gYVsxXSwKKyAgICAg
IGJ4ID0gYlswXSwKKyAgICAgIGJ5ID0gYlsxXSwKKyAgICAgIHQwID0gMCwKKyAgICAgIHQxID0g
MSwKKyAgICAgIGR4ID0gYnggLSBheCwKKyAgICAgIGR5ID0gYnkgLSBheSwKKyAgICAgIHI7CisK
KyAgciA9IHgwIC0gYXg7CisgIGlmICghZHggJiYgciA+IDApIHJldHVybjsKKyAgciAvPSBkeDsK
KyAgaWYgKGR4IDwgMCkgeworICAgIGlmIChyIDwgdDApIHJldHVybjsKKyAgICBpZiAociA8IHQx
KSB0MSA9IHI7CisgIH0gZWxzZSBpZiAoZHggPiAwKSB7CisgICAgaWYgKHIgPiB0MSkgcmV0dXJu
OworICAgIGlmIChyID4gdDApIHQwID0gcjsKKyAgfQorCisgIHIgPSB4MSAtIGF4OworICBpZiAo
IWR4ICYmIHIgPCAwKSByZXR1cm47CisgIHIgLz0gZHg7CisgIGlmIChkeCA8IDApIHsKKyAgICBp
ZiAociA+IHQxKSByZXR1cm47CisgICAgaWYgKHIgPiB0MCkgdDAgPSByOworICB9IGVsc2UgaWYg
KGR4ID4gMCkgeworICAgIGlmIChyIDwgdDApIHJldHVybjsKKyAgICBpZiAociA8IHQxKSB0MSA9
IHI7CisgIH0KKworICByID0geTAgLSBheTsKKyAgaWYgKCFkeSAmJiByID4gMCkgcmV0dXJuOwor
ICByIC89IGR5OworICBpZiAoZHkgPCAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJuOworICAg
IGlmIChyIDwgdDEpIHQxID0gcjsKKyAgfSBlbHNlIGlmIChkeSA+IDApIHsKKyAgICBpZiAociA+
IHQxKSByZXR1cm47CisgICAgaWYgKHIgPiB0MCkgdDAgPSByOworICB9CisKKyAgciA9IHkxIC0g
YXk7CisgIGlmICghZHkgJiYgciA8IDApIHJldHVybjsKKyAgciAvPSBkeTsKKyAgaWYgKGR5IDwg
MCkgeworICAgIGlmIChyID4gdDEpIHJldHVybjsKKyAgICBpZiAociA+IHQwKSB0MCA9IHI7Cisg
IH0gZWxzZSBpZiAoZHkgPiAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJuOworICAgIGlmIChy
IDwgdDEpIHQxID0gcjsKKyAgfQorCisgIGlmICh0MCA+IDApIGFbMF0gPSBheCArIHQwICogZHgs
IGFbMV0gPSBheSArIHQwICogZHk7CisgIGlmICh0MSA8IDEpIGJbMF0gPSBheCArIHQxICogZHgs
IGJbMV0gPSBheSArIHQxICogZHk7CisgIHJldHVybiB0cnVlOworfQorCit2YXIgY2xpcE1heCA9
IDFlOSwgY2xpcE1pbiA9IC1jbGlwTWF4OworCisvLyBUT0RPIFVzZSBkMy1wb2x5Z29u4oCZcyBw
b2x5Z29uQ29udGFpbnMgaGVyZSBmb3IgdGhlIHJpbmcgY2hlY2s/CisvLyBUT0RPIEVsaW1pbmF0
ZSBkdXBsaWNhdGUgYnVmZmVyaW5nIGluIGNsaXBCdWZmZXIgYW5kIHBvbHlnb24ucHVzaD8KKwor
ZnVuY3Rpb24gY2xpcFJlY3RhbmdsZSh4MCwgeTAsIHgxLCB5MSkgeworCisgIGZ1bmN0aW9uIHZp
c2libGUoeCwgeSkgeworICAgIHJldHVybiB4MCA8PSB4ICYmIHggPD0geDEgJiYgeTAgPD0geSAm
JiB5IDw9IHkxOworICB9CisKKyAgZnVuY3Rpb24gaW50ZXJwb2xhdGUoZnJvbSwgdG8sIGRpcmVj
dGlvbiwgc3RyZWFtKSB7CisgICAgdmFyIGEgPSAwLCBhMSA9IDA7CisgICAgaWYgKGZyb20gPT0g
bnVsbAorICAgICAgICB8fCAoYSA9IGNvcm5lcihmcm9tLCBkaXJlY3Rpb24pKSAhPT0gKGExID0g
Y29ybmVyKHRvLCBkaXJlY3Rpb24pKQorICAgICAgICB8fCBjb21wYXJlUG9pbnQoZnJvbSwgdG8p
IDwgMCBeIGRpcmVjdGlvbiA+IDApIHsKKyAgICAgIGRvIHN0cmVhbS5wb2ludChhID09PSAwIHx8
IGEgPT09IDMgPyB4MCA6IHgxLCBhID4gMSA/IHkxIDogeTApOworICAgICAgd2hpbGUgKChhID0g
KGEgKyBkaXJlY3Rpb24gKyA0KSAlIDQpICE9PSBhMSk7CisgICAgfSBlbHNlIHsKKyAgICAgIHN0
cmVhbS5wb2ludCh0b1swXSwgdG9bMV0pOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGNvcm5l
cihwLCBkaXJlY3Rpb24pIHsKKyAgICByZXR1cm4gYWJzKHBbMF0gLSB4MCkgPCBlcHNpbG9uJDIg
PyBkaXJlY3Rpb24gPiAwID8gMCA6IDMKKyAgICAgICAgOiBhYnMocFswXSAtIHgxKSA8IGVwc2ls
b24kMiA/IGRpcmVjdGlvbiA+IDAgPyAyIDogMQorICAgICAgICA6IGFicyhwWzFdIC0geTApIDwg
ZXBzaWxvbiQyID8gZGlyZWN0aW9uID4gMCA/IDEgOiAwCisgICAgICAgIDogZGlyZWN0aW9uID4g
MCA/IDMgOiAyOyAvLyBhYnMocFsxXSAtIHkxKSA8IGVwc2lsb24KKyAgfQorCisgIGZ1bmN0aW9u
IGNvbXBhcmVJbnRlcnNlY3Rpb24oYSwgYikgeworICAgIHJldHVybiBjb21wYXJlUG9pbnQoYS54
LCBiLngpOworICB9CisKKyAgZnVuY3Rpb24gY29tcGFyZVBvaW50KGEsIGIpIHsKKyAgICB2YXIg
Y2EgPSBjb3JuZXIoYSwgMSksCisgICAgICAgIGNiID0gY29ybmVyKGIsIDEpOworICAgIHJldHVy
biBjYSAhPT0gY2IgPyBjYSAtIGNiCisgICAgICAgIDogY2EgPT09IDAgPyBiWzFdIC0gYVsxXQor
ICAgICAgICA6IGNhID09PSAxID8gYVswXSAtIGJbMF0KKyAgICAgICAgOiBjYSA9PT0gMiA/IGFb
MV0gLSBiWzFdCisgICAgICAgIDogYlswXSAtIGFbMF07CisgIH0KKworICByZXR1cm4gZnVuY3Rp
b24oc3RyZWFtKSB7CisgICAgdmFyIGFjdGl2ZVN0cmVhbSA9IHN0cmVhbSwKKyAgICAgICAgYnVm
ZmVyU3RyZWFtID0gY2xpcEJ1ZmZlcigpLAorICAgICAgICBzZWdtZW50cywKKyAgICAgICAgcG9s
eWdvbiwKKyAgICAgICAgcmluZywKKyAgICAgICAgeF9fLCB5X18sIHZfXywgLy8gZmlyc3QgcG9p
bnQKKyAgICAgICAgeF8sIHlfLCB2XywgLy8gcHJldmlvdXMgcG9pbnQKKyAgICAgICAgZmlyc3Qs
CisgICAgICAgIGNsZWFuOworCisgICAgdmFyIGNsaXBTdHJlYW0gPSB7CisgICAgICBwb2ludDog
cG9pbnQsCisgICAgICBsaW5lU3RhcnQ6IGxpbmVTdGFydCwKKyAgICAgIGxpbmVFbmQ6IGxpbmVF
bmQsCisgICAgICBwb2x5Z29uU3RhcnQ6IHBvbHlnb25TdGFydCwKKyAgICAgIHBvbHlnb25FbmQ6
IHBvbHlnb25FbmQKKyAgICB9OworCisgICAgZnVuY3Rpb24gcG9pbnQoeCwgeSkgeworICAgICAg
aWYgKHZpc2libGUoeCwgeSkpIGFjdGl2ZVN0cmVhbS5wb2ludCh4LCB5KTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBwb2x5Z29uSW5zaWRlKCkgeworICAgICAgdmFyIHdpbmRpbmcgPSAwOworCisg
ICAgICBmb3IgKHZhciBpID0gMCwgbiA9IHBvbHlnb24ubGVuZ3RoOyBpIDwgbjsgKytpKSB7Cisg
ICAgICAgIGZvciAodmFyIHJpbmcgPSBwb2x5Z29uW2ldLCBqID0gMSwgbSA9IHJpbmcubGVuZ3Ro
LCBwb2ludCA9IHJpbmdbMF0sIGEwLCBhMSwgYjAgPSBwb2ludFswXSwgYjEgPSBwb2ludFsxXTsg
aiA8IG07ICsraikgeworICAgICAgICAgIGEwID0gYjAsIGExID0gYjEsIHBvaW50ID0gcmluZ1tq
XSwgYjAgPSBwb2ludFswXSwgYjEgPSBwb2ludFsxXTsKKyAgICAgICAgICBpZiAoYTEgPD0geTEp
IHsgaWYgKGIxID4geTEgJiYgKGIwIC0gYTApICogKHkxIC0gYTEpID4gKGIxIC0gYTEpICogKHgw
IC0gYTApKSArK3dpbmRpbmc7IH0KKyAgICAgICAgICBlbHNlIHsgaWYgKGIxIDw9IHkxICYmIChi
MCAtIGEwKSAqICh5MSAtIGExKSA8IChiMSAtIGExKSAqICh4MCAtIGEwKSkgLS13aW5kaW5nOyB9
CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgcmV0dXJuIHdpbmRpbmc7CisgICAgfQorCisg
ICAgLy8gQnVmZmVyIGdlb21ldHJ5IHdpdGhpbiBhIHBvbHlnb24gYW5kIHRoZW4gY2xpcCBpdCBl
biBtYXNzZS4KKyAgICBmdW5jdGlvbiBwb2x5Z29uU3RhcnQoKSB7CisgICAgICBhY3RpdmVTdHJl
YW0gPSBidWZmZXJTdHJlYW0sIHNlZ21lbnRzID0gW10sIHBvbHlnb24gPSBbXSwgY2xlYW4gPSB0
cnVlOworICAgIH0KKworICAgIGZ1bmN0aW9uIHBvbHlnb25FbmQoKSB7CisgICAgICB2YXIgc3Rh
cnRJbnNpZGUgPSBwb2x5Z29uSW5zaWRlKCksCisgICAgICAgICAgY2xlYW5JbnNpZGUgPSBjbGVh
biAmJiBzdGFydEluc2lkZSwKKyAgICAgICAgICB2aXNpYmxlID0gKHNlZ21lbnRzID0gbWVyZ2Uo
c2VnbWVudHMpKS5sZW5ndGg7CisgICAgICBpZiAoY2xlYW5JbnNpZGUgfHwgdmlzaWJsZSkgewor
ICAgICAgICBzdHJlYW0ucG9seWdvblN0YXJ0KCk7CisgICAgICAgIGlmIChjbGVhbkluc2lkZSkg
eworICAgICAgICAgIHN0cmVhbS5saW5lU3RhcnQoKTsKKyAgICAgICAgICBpbnRlcnBvbGF0ZShu
dWxsLCBudWxsLCAxLCBzdHJlYW0pOworICAgICAgICAgIHN0cmVhbS5saW5lRW5kKCk7CisgICAg
ICAgIH0KKyAgICAgICAgaWYgKHZpc2libGUpIHsKKyAgICAgICAgICBjbGlwUmVqb2luKHNlZ21l
bnRzLCBjb21wYXJlSW50ZXJzZWN0aW9uLCBzdGFydEluc2lkZSwgaW50ZXJwb2xhdGUsIHN0cmVh
bSk7CisgICAgICAgIH0KKyAgICAgICAgc3RyZWFtLnBvbHlnb25FbmQoKTsKKyAgICAgIH0KKyAg
ICAgIGFjdGl2ZVN0cmVhbSA9IHN0cmVhbSwgc2VnbWVudHMgPSBwb2x5Z29uID0gcmluZyA9IG51
bGw7CisgICAgfQorCisgICAgZnVuY3Rpb24gbGluZVN0YXJ0KCkgeworICAgICAgY2xpcFN0cmVh
bS5wb2ludCA9IGxpbmVQb2ludDsKKyAgICAgIGlmIChwb2x5Z29uKSBwb2x5Z29uLnB1c2gocmlu
ZyA9IFtdKTsKKyAgICAgIGZpcnN0ID0gdHJ1ZTsKKyAgICAgIHZfID0gZmFsc2U7CisgICAgICB4
XyA9IHlfID0gTmFOOworICAgIH0KKworICAgIC8vIFRPRE8gcmF0aGVyIHRoYW4gc3BlY2lhbC1j
YXNlIHBvbHlnb25zLCBzaW1wbHkgaGFuZGxlIHRoZW0gc2VwYXJhdGVseS4KKyAgICAvLyBJZGVh
bGx5LCBjb2luY2lkZW50IGludGVyc2VjdGlvbiBwb2ludHMgc2hvdWxkIGJlIGppdHRlcmVkIHRv
IGF2b2lkCisgICAgLy8gY2xpcHBpbmcgaXNzdWVzLgorICAgIGZ1bmN0aW9uIGxpbmVFbmQoKSB7
CisgICAgICBpZiAoc2VnbWVudHMpIHsKKyAgICAgICAgbGluZVBvaW50KHhfXywgeV9fKTsKKyAg
ICAgICAgaWYgKHZfXyAmJiB2XykgYnVmZmVyU3RyZWFtLnJlam9pbigpOworICAgICAgICBzZWdt
ZW50cy5wdXNoKGJ1ZmZlclN0cmVhbS5yZXN1bHQoKSk7CisgICAgICB9CisgICAgICBjbGlwU3Ry
ZWFtLnBvaW50ID0gcG9pbnQ7CisgICAgICBpZiAodl8pIGFjdGl2ZVN0cmVhbS5saW5lRW5kKCk7
CisgICAgfQorCisgICAgZnVuY3Rpb24gbGluZVBvaW50KHgsIHkpIHsKKyAgICAgIHZhciB2ID0g
dmlzaWJsZSh4LCB5KTsKKyAgICAgIGlmIChwb2x5Z29uKSByaW5nLnB1c2goW3gsIHldKTsKKyAg
ICAgIGlmIChmaXJzdCkgeworICAgICAgICB4X18gPSB4LCB5X18gPSB5LCB2X18gPSB2OworICAg
ICAgICBmaXJzdCA9IGZhbHNlOworICAgICAgICBpZiAodikgeworICAgICAgICAgIGFjdGl2ZVN0
cmVhbS5saW5lU3RhcnQoKTsKKyAgICAgICAgICBhY3RpdmVTdHJlYW0ucG9pbnQoeCwgeSk7Cisg
ICAgICAgIH0KKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGlmICh2ICYmIHZfKSBhY3RpdmVTdHJl
YW0ucG9pbnQoeCwgeSk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgIHZhciBhID0gW3hfID0g
TWF0aC5tYXgoY2xpcE1pbiwgTWF0aC5taW4oY2xpcE1heCwgeF8pKSwgeV8gPSBNYXRoLm1heChj
bGlwTWluLCBNYXRoLm1pbihjbGlwTWF4LCB5XykpXSwKKyAgICAgICAgICAgICAgYiA9IFt4ID0g
TWF0aC5tYXgoY2xpcE1pbiwgTWF0aC5taW4oY2xpcE1heCwgeCkpLCB5ID0gTWF0aC5tYXgoY2xp
cE1pbiwgTWF0aC5taW4oY2xpcE1heCwgeSkpXTsKKyAgICAgICAgICBpZiAoY2xpcExpbmUoYSwg
YiwgeDAsIHkwLCB4MSwgeTEpKSB7CisgICAgICAgICAgICBpZiAoIXZfKSB7CisgICAgICAgICAg
ICAgIGFjdGl2ZVN0cmVhbS5saW5lU3RhcnQoKTsKKyAgICAgICAgICAgICAgYWN0aXZlU3RyZWFt
LnBvaW50KGFbMF0sIGFbMV0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYWN0aXZlU3Ry
ZWFtLnBvaW50KGJbMF0sIGJbMV0pOworICAgICAgICAgICAgaWYgKCF2KSBhY3RpdmVTdHJlYW0u
bGluZUVuZCgpOworICAgICAgICAgICAgY2xlYW4gPSBmYWxzZTsKKyAgICAgICAgICB9IGVsc2Ug
aWYgKHYpIHsKKyAgICAgICAgICAgIGFjdGl2ZVN0cmVhbS5saW5lU3RhcnQoKTsKKyAgICAgICAg
ICAgIGFjdGl2ZVN0cmVhbS5wb2ludCh4LCB5KTsKKyAgICAgICAgICAgIGNsZWFuID0gZmFsc2U7
CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgICB4XyA9IHgsIHlfID0geSwg
dl8gPSB2OworICAgIH0KKworICAgIHJldHVybiBjbGlwU3RyZWFtOworICB9OworfQorCitmdW5j
dGlvbiBleHRlbnQkMSgpIHsKKyAgdmFyIHgwID0gMCwKKyAgICAgIHkwID0gMCwKKyAgICAgIHgx
ID0gOTYwLAorICAgICAgeTEgPSA1MDAsCisgICAgICBjYWNoZSwKKyAgICAgIGNhY2hlU3RyZWFt
LAorICAgICAgY2xpcDsKKworICByZXR1cm4gY2xpcCA9IHsKKyAgICBzdHJlYW06IGZ1bmN0aW9u
KHN0cmVhbSkgeworICAgICAgcmV0dXJuIGNhY2hlICYmIGNhY2hlU3RyZWFtID09PSBzdHJlYW0g
PyBjYWNoZSA6IGNhY2hlID0gY2xpcFJlY3RhbmdsZSh4MCwgeTAsIHgxLCB5MSkoY2FjaGVTdHJl
YW0gPSBzdHJlYW0pOworICAgIH0sCisgICAgZXh0ZW50OiBmdW5jdGlvbihfKSB7CisgICAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4MCA9ICtfWzBdWzBdLCB5MCA9ICtfWzBdWzFdLCB4
MSA9ICtfWzFdWzBdLCB5MSA9ICtfWzFdWzFdLCBjYWNoZSA9IGNhY2hlU3RyZWFtID0gbnVsbCwg
Y2xpcCkgOiBbW3gwLCB5MF0sIFt4MSwgeTFdXTsKKyAgICB9CisgIH07Cit9CisKK3ZhciBsZW5n
dGhTdW0gPSBhZGRlcigpLAorICAgIGxhbWJkYTAkMiwKKyAgICBzaW5QaGkwJDEsCisgICAgY29z
UGhpMCQxOworCit2YXIgbGVuZ3RoU3RyZWFtID0geworICBzcGhlcmU6IG5vb3AkMiwKKyAgcG9p
bnQ6IG5vb3AkMiwKKyAgbGluZVN0YXJ0OiBsZW5ndGhMaW5lU3RhcnQsCisgIGxpbmVFbmQ6IG5v
b3AkMiwKKyAgcG9seWdvblN0YXJ0OiBub29wJDIsCisgIHBvbHlnb25FbmQ6IG5vb3AkMgorfTsK
KworZnVuY3Rpb24gbGVuZ3RoTGluZVN0YXJ0KCkgeworICBsZW5ndGhTdHJlYW0ucG9pbnQgPSBs
ZW5ndGhQb2ludEZpcnN0OworICBsZW5ndGhTdHJlYW0ubGluZUVuZCA9IGxlbmd0aExpbmVFbmQ7
Cit9CisKK2Z1bmN0aW9uIGxlbmd0aExpbmVFbmQoKSB7CisgIGxlbmd0aFN0cmVhbS5wb2ludCA9
IGxlbmd0aFN0cmVhbS5saW5lRW5kID0gbm9vcCQyOworfQorCitmdW5jdGlvbiBsZW5ndGhQb2lu
dEZpcnN0KGxhbWJkYSwgcGhpKSB7CisgIGxhbWJkYSAqPSByYWRpYW5zLCBwaGkgKj0gcmFkaWFu
czsKKyAgbGFtYmRhMCQyID0gbGFtYmRhLCBzaW5QaGkwJDEgPSBzaW4kMShwaGkpLCBjb3NQaGkw
JDEgPSBjb3MkMShwaGkpOworICBsZW5ndGhTdHJlYW0ucG9pbnQgPSBsZW5ndGhQb2ludDsKK30K
KworZnVuY3Rpb24gbGVuZ3RoUG9pbnQobGFtYmRhLCBwaGkpIHsKKyAgbGFtYmRhICo9IHJhZGlh
bnMsIHBoaSAqPSByYWRpYW5zOworICB2YXIgc2luUGhpID0gc2luJDEocGhpKSwKKyAgICAgIGNv
c1BoaSA9IGNvcyQxKHBoaSksCisgICAgICBkZWx0YSA9IGFicyhsYW1iZGEgLSBsYW1iZGEwJDIp
LAorICAgICAgY29zRGVsdGEgPSBjb3MkMShkZWx0YSksCisgICAgICBzaW5EZWx0YSA9IHNpbiQx
KGRlbHRhKSwKKyAgICAgIHggPSBjb3NQaGkgKiBzaW5EZWx0YSwKKyAgICAgIHkgPSBjb3NQaGkw
JDEgKiBzaW5QaGkgLSBzaW5QaGkwJDEgKiBjb3NQaGkgKiBjb3NEZWx0YSwKKyAgICAgIHogPSBz
aW5QaGkwJDEgKiBzaW5QaGkgKyBjb3NQaGkwJDEgKiBjb3NQaGkgKiBjb3NEZWx0YTsKKyAgbGVu
Z3RoU3VtLmFkZChhdGFuMihzcXJ0KHggKiB4ICsgeSAqIHkpLCB6KSk7CisgIGxhbWJkYTAkMiA9
IGxhbWJkYSwgc2luUGhpMCQxID0gc2luUGhpLCBjb3NQaGkwJDEgPSBjb3NQaGk7Cit9CisKK2Z1
bmN0aW9uIGxlbmd0aCQxKG9iamVjdCkgeworICBsZW5ndGhTdW0ucmVzZXQoKTsKKyAgZ2VvU3Ry
ZWFtKG9iamVjdCwgbGVuZ3RoU3RyZWFtKTsKKyAgcmV0dXJuICtsZW5ndGhTdW07Cit9CisKK3Zh
ciBjb29yZGluYXRlcyA9IFtudWxsLCBudWxsXSwKKyAgICBvYmplY3QkMSA9IHt0eXBlOiAiTGlu
ZVN0cmluZyIsIGNvb3JkaW5hdGVzOiBjb29yZGluYXRlc307CisKK2Z1bmN0aW9uIGRpc3RhbmNl
KGEsIGIpIHsKKyAgY29vcmRpbmF0ZXNbMF0gPSBhOworICBjb29yZGluYXRlc1sxXSA9IGI7Cisg
IHJldHVybiBsZW5ndGgkMShvYmplY3QkMSk7Cit9CisKK3ZhciBjb250YWluc09iamVjdFR5cGUg
PSB7CisgIEZlYXR1cmU6IGZ1bmN0aW9uKG9iamVjdCwgcG9pbnQpIHsKKyAgICByZXR1cm4gY29u
dGFpbnNHZW9tZXRyeShvYmplY3QuZ2VvbWV0cnksIHBvaW50KTsKKyAgfSwKKyAgRmVhdHVyZUNv
bGxlY3Rpb246IGZ1bmN0aW9uKG9iamVjdCwgcG9pbnQpIHsKKyAgICB2YXIgZmVhdHVyZXMgPSBv
YmplY3QuZmVhdHVyZXMsIGkgPSAtMSwgbiA9IGZlYXR1cmVzLmxlbmd0aDsKKyAgICB3aGlsZSAo
KytpIDwgbikgaWYgKGNvbnRhaW5zR2VvbWV0cnkoZmVhdHVyZXNbaV0uZ2VvbWV0cnksIHBvaW50
KSkgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGZhbHNlOworICB9Cit9OworCit2YXIgY29udGFp
bnNHZW9tZXRyeVR5cGUgPSB7CisgIFNwaGVyZTogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHRy
dWU7CisgIH0sCisgIFBvaW50OiBmdW5jdGlvbihvYmplY3QsIHBvaW50KSB7CisgICAgcmV0dXJu
IGNvbnRhaW5zUG9pbnQob2JqZWN0LmNvb3JkaW5hdGVzLCBwb2ludCk7CisgIH0sCisgIE11bHRp
UG9pbnQ6IGZ1bmN0aW9uKG9iamVjdCwgcG9pbnQpIHsKKyAgICB2YXIgY29vcmRpbmF0ZXMgPSBv
YmplY3QuY29vcmRpbmF0ZXMsIGkgPSAtMSwgbiA9IGNvb3JkaW5hdGVzLmxlbmd0aDsKKyAgICB3
aGlsZSAoKytpIDwgbikgaWYgKGNvbnRhaW5zUG9pbnQoY29vcmRpbmF0ZXNbaV0sIHBvaW50KSkg
cmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGZhbHNlOworICB9LAorICBMaW5lU3RyaW5nOiBmdW5j
dGlvbihvYmplY3QsIHBvaW50KSB7CisgICAgcmV0dXJuIGNvbnRhaW5zTGluZShvYmplY3QuY29v
cmRpbmF0ZXMsIHBvaW50KTsKKyAgfSwKKyAgTXVsdGlMaW5lU3RyaW5nOiBmdW5jdGlvbihvYmpl
Y3QsIHBvaW50KSB7CisgICAgdmFyIGNvb3JkaW5hdGVzID0gb2JqZWN0LmNvb3JkaW5hdGVzLCBp
ID0gLTEsIG4gPSBjb29yZGluYXRlcy5sZW5ndGg7CisgICAgd2hpbGUgKCsraSA8IG4pIGlmIChj
b250YWluc0xpbmUoY29vcmRpbmF0ZXNbaV0sIHBvaW50KSkgcmV0dXJuIHRydWU7CisgICAgcmV0
dXJuIGZhbHNlOworICB9LAorICBQb2x5Z29uOiBmdW5jdGlvbihvYmplY3QsIHBvaW50KSB7Cisg
ICAgcmV0dXJuIGNvbnRhaW5zUG9seWdvbihvYmplY3QuY29vcmRpbmF0ZXMsIHBvaW50KTsKKyAg
fSwKKyAgTXVsdGlQb2x5Z29uOiBmdW5jdGlvbihvYmplY3QsIHBvaW50KSB7CisgICAgdmFyIGNv
b3JkaW5hdGVzID0gb2JqZWN0LmNvb3JkaW5hdGVzLCBpID0gLTEsIG4gPSBjb29yZGluYXRlcy5s
ZW5ndGg7CisgICAgd2hpbGUgKCsraSA8IG4pIGlmIChjb250YWluc1BvbHlnb24oY29vcmRpbmF0
ZXNbaV0sIHBvaW50KSkgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGZhbHNlOworICB9LAorICBH
ZW9tZXRyeUNvbGxlY3Rpb246IGZ1bmN0aW9uKG9iamVjdCwgcG9pbnQpIHsKKyAgICB2YXIgZ2Vv
bWV0cmllcyA9IG9iamVjdC5nZW9tZXRyaWVzLCBpID0gLTEsIG4gPSBnZW9tZXRyaWVzLmxlbmd0
aDsKKyAgICB3aGlsZSAoKytpIDwgbikgaWYgKGNvbnRhaW5zR2VvbWV0cnkoZ2VvbWV0cmllc1tp
XSwgcG9pbnQpKSByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KK307CisKK2Z1
bmN0aW9uIGNvbnRhaW5zR2VvbWV0cnkoZ2VvbWV0cnksIHBvaW50KSB7CisgIHJldHVybiBnZW9t
ZXRyeSAmJiBjb250YWluc0dlb21ldHJ5VHlwZS5oYXNPd25Qcm9wZXJ0eShnZW9tZXRyeS50eXBl
KQorICAgICAgPyBjb250YWluc0dlb21ldHJ5VHlwZVtnZW9tZXRyeS50eXBlXShnZW9tZXRyeSwg
cG9pbnQpCisgICAgICA6IGZhbHNlOworfQorCitmdW5jdGlvbiBjb250YWluc1BvaW50KGNvb3Jk
aW5hdGVzLCBwb2ludCkgeworICByZXR1cm4gZGlzdGFuY2UoY29vcmRpbmF0ZXMsIHBvaW50KSA9
PT0gMDsKK30KKworZnVuY3Rpb24gY29udGFpbnNMaW5lKGNvb3JkaW5hdGVzLCBwb2ludCkgewor
ICB2YXIgYW8sIGJvLCBhYjsKKyAgZm9yICh2YXIgaSA9IDAsIG4gPSBjb29yZGluYXRlcy5sZW5n
dGg7IGkgPCBuOyBpKyspIHsKKyAgICBibyA9IGRpc3RhbmNlKGNvb3JkaW5hdGVzW2ldLCBwb2lu
dCk7CisgICAgaWYgKGJvID09PSAwKSByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoaSA+IDApIHsKKyAg
ICAgIGFiID0gZGlzdGFuY2UoY29vcmRpbmF0ZXNbaV0sIGNvb3JkaW5hdGVzW2kgLSAxXSk7Cisg
ICAgICBpZiAoCisgICAgICAgIGFiID4gMCAmJgorICAgICAgICBhbyA8PSBhYiAmJgorICAgICAg
ICBibyA8PSBhYiAmJgorICAgICAgICAoYW8gKyBibyAtIGFiKSAqICgxIC0gTWF0aC5wb3coKGFv
IC0gYm8pIC8gYWIsIDIpKSA8IGVwc2lsb24yJDEgKiBhYgorICAgICAgKQorICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICB9CisgICAgYW8gPSBibzsKKyAgfQorICByZXR1cm4gZmFsc2U7Cit9CisK
K2Z1bmN0aW9uIGNvbnRhaW5zUG9seWdvbihjb29yZGluYXRlcywgcG9pbnQpIHsKKyAgcmV0dXJu
ICEhcG9seWdvbkNvbnRhaW5zKGNvb3JkaW5hdGVzLm1hcChyaW5nUmFkaWFucyksIHBvaW50UmFk
aWFucyhwb2ludCkpOworfQorCitmdW5jdGlvbiByaW5nUmFkaWFucyhyaW5nKSB7CisgIHJldHVy
biByaW5nID0gcmluZy5tYXAocG9pbnRSYWRpYW5zKSwgcmluZy5wb3AoKSwgcmluZzsKK30KKwor
ZnVuY3Rpb24gcG9pbnRSYWRpYW5zKHBvaW50KSB7CisgIHJldHVybiBbcG9pbnRbMF0gKiByYWRp
YW5zLCBwb2ludFsxXSAqIHJhZGlhbnNdOworfQorCitmdW5jdGlvbiBjb250YWlucyQxKG9iamVj
dCwgcG9pbnQpIHsKKyAgcmV0dXJuIChvYmplY3QgJiYgY29udGFpbnNPYmplY3RUeXBlLmhhc093
blByb3BlcnR5KG9iamVjdC50eXBlKQorICAgICAgPyBjb250YWluc09iamVjdFR5cGVbb2JqZWN0
LnR5cGVdCisgICAgICA6IGNvbnRhaW5zR2VvbWV0cnkpKG9iamVjdCwgcG9pbnQpOworfQorCitm
dW5jdGlvbiBncmF0aWN1bGVYKHkwLCB5MSwgZHkpIHsKKyAgdmFyIHkgPSBzZXF1ZW5jZSh5MCwg
eTEgLSBlcHNpbG9uJDIsIGR5KS5jb25jYXQoeTEpOworICByZXR1cm4gZnVuY3Rpb24oeCkgeyBy
ZXR1cm4geS5tYXAoZnVuY3Rpb24oeSkgeyByZXR1cm4gW3gsIHldOyB9KTsgfTsKK30KKworZnVu
Y3Rpb24gZ3JhdGljdWxlWSh4MCwgeDEsIGR4KSB7CisgIHZhciB4ID0gc2VxdWVuY2UoeDAsIHgx
IC0gZXBzaWxvbiQyLCBkeCkuY29uY2F0KHgxKTsKKyAgcmV0dXJuIGZ1bmN0aW9uKHkpIHsgcmV0
dXJuIHgubWFwKGZ1bmN0aW9uKHgpIHsgcmV0dXJuIFt4LCB5XTsgfSk7IH07Cit9CisKK2Z1bmN0
aW9uIGdyYXRpY3VsZSgpIHsKKyAgdmFyIHgxLCB4MCwgWDEsIFgwLAorICAgICAgeTEsIHkwLCBZ
MSwgWTAsCisgICAgICBkeCA9IDEwLCBkeSA9IGR4LCBEWCA9IDkwLCBEWSA9IDM2MCwKKyAgICAg
IHgsIHksIFgsIFksCisgICAgICBwcmVjaXNpb24gPSAyLjU7CisKKyAgZnVuY3Rpb24gZ3JhdGlj
dWxlKCkgeworICAgIHJldHVybiB7dHlwZTogIk11bHRpTGluZVN0cmluZyIsIGNvb3JkaW5hdGVz
OiBsaW5lcygpfTsKKyAgfQorCisgIGZ1bmN0aW9uIGxpbmVzKCkgeworICAgIHJldHVybiBzZXF1
ZW5jZShjZWlsKFgwIC8gRFgpICogRFgsIFgxLCBEWCkubWFwKFgpCisgICAgICAgIC5jb25jYXQo
c2VxdWVuY2UoY2VpbChZMCAvIERZKSAqIERZLCBZMSwgRFkpLm1hcChZKSkKKyAgICAgICAgLmNv
bmNhdChzZXF1ZW5jZShjZWlsKHgwIC8gZHgpICogZHgsIHgxLCBkeCkuZmlsdGVyKGZ1bmN0aW9u
KHgpIHsgcmV0dXJuIGFicyh4ICUgRFgpID4gZXBzaWxvbiQyOyB9KS5tYXAoeCkpCisgICAgICAg
IC5jb25jYXQoc2VxdWVuY2UoY2VpbCh5MCAvIGR5KSAqIGR5LCB5MSwgZHkpLmZpbHRlcihmdW5j
dGlvbih5KSB7IHJldHVybiBhYnMoeSAlIERZKSA+IGVwc2lsb24kMjsgfSkubWFwKHkpKTsKKyAg
fQorCisgIGdyYXRpY3VsZS5saW5lcyA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBsaW5lcygp
Lm1hcChmdW5jdGlvbihjb29yZGluYXRlcykgeyByZXR1cm4ge3R5cGU6ICJMaW5lU3RyaW5nIiwg
Y29vcmRpbmF0ZXM6IGNvb3JkaW5hdGVzfTsgfSk7CisgIH07CisKKyAgZ3JhdGljdWxlLm91dGxp
bmUgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geworICAgICAgdHlwZTogIlBvbHlnb24iLAor
ICAgICAgY29vcmRpbmF0ZXM6IFsKKyAgICAgICAgWChYMCkuY29uY2F0KAorICAgICAgICBZKFkx
KS5zbGljZSgxKSwKKyAgICAgICAgWChYMSkucmV2ZXJzZSgpLnNsaWNlKDEpLAorICAgICAgICBZ
KFkwKS5yZXZlcnNlKCkuc2xpY2UoMSkpCisgICAgICBdCisgICAgfTsKKyAgfTsKKworICBncmF0
aWN1bGUuZXh0ZW50ID0gZnVuY3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkg
cmV0dXJuIGdyYXRpY3VsZS5leHRlbnRNaW5vcigpOworICAgIHJldHVybiBncmF0aWN1bGUuZXh0
ZW50TWFqb3IoXykuZXh0ZW50TWlub3IoXyk7CisgIH07CisKKyAgZ3JhdGljdWxlLmV4dGVudE1h
am9yID0gZnVuY3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIFtb
WDAsIFkwXSwgW1gxLCBZMV1dOworICAgIFgwID0gK19bMF1bMF0sIFgxID0gK19bMV1bMF07Cisg
ICAgWTAgPSArX1swXVsxXSwgWTEgPSArX1sxXVsxXTsKKyAgICBpZiAoWDAgPiBYMSkgXyA9IFgw
LCBYMCA9IFgxLCBYMSA9IF87CisgICAgaWYgKFkwID4gWTEpIF8gPSBZMCwgWTAgPSBZMSwgWTEg
PSBfOworICAgIHJldHVybiBncmF0aWN1bGUucHJlY2lzaW9uKHByZWNpc2lvbik7CisgIH07CisK
KyAgZ3JhdGljdWxlLmV4dGVudE1pbm9yID0gZnVuY3Rpb24oXykgeworICAgIGlmICghYXJndW1l
bnRzLmxlbmd0aCkgcmV0dXJuIFtbeDAsIHkwXSwgW3gxLCB5MV1dOworICAgIHgwID0gK19bMF1b
MF0sIHgxID0gK19bMV1bMF07CisgICAgeTAgPSArX1swXVsxXSwgeTEgPSArX1sxXVsxXTsKKyAg
ICBpZiAoeDAgPiB4MSkgXyA9IHgwLCB4MCA9IHgxLCB4MSA9IF87CisgICAgaWYgKHkwID4geTEp
IF8gPSB5MCwgeTAgPSB5MSwgeTEgPSBfOworICAgIHJldHVybiBncmF0aWN1bGUucHJlY2lzaW9u
KHByZWNpc2lvbik7CisgIH07CisKKyAgZ3JhdGljdWxlLnN0ZXAgPSBmdW5jdGlvbihfKSB7Cisg
ICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSByZXR1cm4gZ3JhdGljdWxlLnN0ZXBNaW5vcigpOwor
ICAgIHJldHVybiBncmF0aWN1bGUuc3RlcE1ham9yKF8pLnN0ZXBNaW5vcihfKTsKKyAgfTsKKwor
ICBncmF0aWN1bGUuc3RlcE1ham9yID0gZnVuY3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRz
Lmxlbmd0aCkgcmV0dXJuIFtEWCwgRFldOworICAgIERYID0gK19bMF0sIERZID0gK19bMV07Cisg
ICAgcmV0dXJuIGdyYXRpY3VsZTsKKyAgfTsKKworICBncmF0aWN1bGUuc3RlcE1pbm9yID0gZnVu
Y3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIFtkeCwgZHldOwor
ICAgIGR4ID0gK19bMF0sIGR5ID0gK19bMV07CisgICAgcmV0dXJuIGdyYXRpY3VsZTsKKyAgfTsK
KworICBncmF0aWN1bGUucHJlY2lzaW9uID0gZnVuY3Rpb24oXykgeworICAgIGlmICghYXJndW1l
bnRzLmxlbmd0aCkgcmV0dXJuIHByZWNpc2lvbjsKKyAgICBwcmVjaXNpb24gPSArXzsKKyAgICB4
ID0gZ3JhdGljdWxlWCh5MCwgeTEsIDkwKTsKKyAgICB5ID0gZ3JhdGljdWxlWSh4MCwgeDEsIHBy
ZWNpc2lvbik7CisgICAgWCA9IGdyYXRpY3VsZVgoWTAsIFkxLCA5MCk7CisgICAgWSA9IGdyYXRp
Y3VsZVkoWDAsIFgxLCBwcmVjaXNpb24pOworICAgIHJldHVybiBncmF0aWN1bGU7CisgIH07CisK
KyAgcmV0dXJuIGdyYXRpY3VsZQorICAgICAgLmV4dGVudE1ham9yKFtbLTE4MCwgLTkwICsgZXBz
aWxvbiQyXSwgWzE4MCwgOTAgLSBlcHNpbG9uJDJdXSkKKyAgICAgIC5leHRlbnRNaW5vcihbWy0x
ODAsIC04MCAtIGVwc2lsb24kMl0sIFsxODAsIDgwICsgZXBzaWxvbiQyXV0pOworfQorCitmdW5j
dGlvbiBncmF0aWN1bGUxMCgpIHsKKyAgcmV0dXJuIGdyYXRpY3VsZSgpKCk7Cit9CisKK2Z1bmN0
aW9uIGludGVycG9sYXRlJDEoYSwgYikgeworICB2YXIgeDAgPSBhWzBdICogcmFkaWFucywKKyAg
ICAgIHkwID0gYVsxXSAqIHJhZGlhbnMsCisgICAgICB4MSA9IGJbMF0gKiByYWRpYW5zLAorICAg
ICAgeTEgPSBiWzFdICogcmFkaWFucywKKyAgICAgIGN5MCA9IGNvcyQxKHkwKSwKKyAgICAgIHN5
MCA9IHNpbiQxKHkwKSwKKyAgICAgIGN5MSA9IGNvcyQxKHkxKSwKKyAgICAgIHN5MSA9IHNpbiQx
KHkxKSwKKyAgICAgIGt4MCA9IGN5MCAqIGNvcyQxKHgwKSwKKyAgICAgIGt5MCA9IGN5MCAqIHNp
biQxKHgwKSwKKyAgICAgIGt4MSA9IGN5MSAqIGNvcyQxKHgxKSwKKyAgICAgIGt5MSA9IGN5MSAq
IHNpbiQxKHgxKSwKKyAgICAgIGQgPSAyICogYXNpbihzcXJ0KGhhdmVyc2luKHkxIC0geTApICsg
Y3kwICogY3kxICogaGF2ZXJzaW4oeDEgLSB4MCkpKSwKKyAgICAgIGsgPSBzaW4kMShkKTsKKwor
ICB2YXIgaW50ZXJwb2xhdGUgPSBkID8gZnVuY3Rpb24odCkgeworICAgIHZhciBCID0gc2luJDEo
dCAqPSBkKSAvIGssCisgICAgICAgIEEgPSBzaW4kMShkIC0gdCkgLyBrLAorICAgICAgICB4ID0g
QSAqIGt4MCArIEIgKiBreDEsCisgICAgICAgIHkgPSBBICoga3kwICsgQiAqIGt5MSwKKyAgICAg
ICAgeiA9IEEgKiBzeTAgKyBCICogc3kxOworICAgIHJldHVybiBbCisgICAgICBhdGFuMih5LCB4
KSAqIGRlZ3JlZXMkMSwKKyAgICAgIGF0YW4yKHosIHNxcnQoeCAqIHggKyB5ICogeSkpICogZGVn
cmVlcyQxCisgICAgXTsKKyAgfSA6IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBbeDAgKiBkZWdy
ZWVzJDEsIHkwICogZGVncmVlcyQxXTsKKyAgfTsKKworICBpbnRlcnBvbGF0ZS5kaXN0YW5jZSA9
IGQ7CisKKyAgcmV0dXJuIGludGVycG9sYXRlOworfQorCitmdW5jdGlvbiBpZGVudGl0eSQ0KHgp
IHsKKyAgcmV0dXJuIHg7Cit9CisKK3ZhciBhcmVhU3VtJDEgPSBhZGRlcigpLAorICAgIGFyZWFS
aW5nU3VtJDEgPSBhZGRlcigpLAorICAgIHgwMCwKKyAgICB5MDAsCisgICAgeDAkMSwKKyAgICB5
MCQxOworCit2YXIgYXJlYVN0cmVhbSQxID0geworICBwb2ludDogbm9vcCQyLAorICBsaW5lU3Rh
cnQ6IG5vb3AkMiwKKyAgbGluZUVuZDogbm9vcCQyLAorICBwb2x5Z29uU3RhcnQ6IGZ1bmN0aW9u
KCkgeworICAgIGFyZWFTdHJlYW0kMS5saW5lU3RhcnQgPSBhcmVhUmluZ1N0YXJ0JDE7CisgICAg
YXJlYVN0cmVhbSQxLmxpbmVFbmQgPSBhcmVhUmluZ0VuZCQxOworICB9LAorICBwb2x5Z29uRW5k
OiBmdW5jdGlvbigpIHsKKyAgICBhcmVhU3RyZWFtJDEubGluZVN0YXJ0ID0gYXJlYVN0cmVhbSQx
LmxpbmVFbmQgPSBhcmVhU3RyZWFtJDEucG9pbnQgPSBub29wJDI7CisgICAgYXJlYVN1bSQxLmFk
ZChhYnMoYXJlYVJpbmdTdW0kMSkpOworICAgIGFyZWFSaW5nU3VtJDEucmVzZXQoKTsKKyAgfSwK
KyAgcmVzdWx0OiBmdW5jdGlvbigpIHsKKyAgICB2YXIgYXJlYSA9IGFyZWFTdW0kMSAvIDI7Cisg
ICAgYXJlYVN1bSQxLnJlc2V0KCk7CisgICAgcmV0dXJuIGFyZWE7CisgIH0KK307CisKK2Z1bmN0
aW9uIGFyZWFSaW5nU3RhcnQkMSgpIHsKKyAgYXJlYVN0cmVhbSQxLnBvaW50ID0gYXJlYVBvaW50
Rmlyc3QkMTsKK30KKworZnVuY3Rpb24gYXJlYVBvaW50Rmlyc3QkMSh4LCB5KSB7CisgIGFyZWFT
dHJlYW0kMS5wb2ludCA9IGFyZWFQb2ludCQxOworICB4MDAgPSB4MCQxID0geCwgeTAwID0geTAk
MSA9IHk7Cit9CisKK2Z1bmN0aW9uIGFyZWFQb2ludCQxKHgsIHkpIHsKKyAgYXJlYVJpbmdTdW0k
MS5hZGQoeTAkMSAqIHggLSB4MCQxICogeSk7CisgIHgwJDEgPSB4LCB5MCQxID0geTsKK30KKwor
ZnVuY3Rpb24gYXJlYVJpbmdFbmQkMSgpIHsKKyAgYXJlYVBvaW50JDEoeDAwLCB5MDApOworfQor
Cit2YXIgeDAkMiA9IEluZmluaXR5LAorICAgIHkwJDIgPSB4MCQyLAorICAgIHgxID0gLXgwJDIs
CisgICAgeTEgPSB4MTsKKwordmFyIGJvdW5kc1N0cmVhbSQxID0geworICBwb2ludDogYm91bmRz
UG9pbnQkMSwKKyAgbGluZVN0YXJ0OiBub29wJDIsCisgIGxpbmVFbmQ6IG5vb3AkMiwKKyAgcG9s
eWdvblN0YXJ0OiBub29wJDIsCisgIHBvbHlnb25FbmQ6IG5vb3AkMiwKKyAgcmVzdWx0OiBmdW5j
dGlvbigpIHsKKyAgICB2YXIgYm91bmRzID0gW1t4MCQyLCB5MCQyXSwgW3gxLCB5MV1dOworICAg
IHgxID0geTEgPSAtKHkwJDIgPSB4MCQyID0gSW5maW5pdHkpOworICAgIHJldHVybiBib3VuZHM7
CisgIH0KK307CisKK2Z1bmN0aW9uIGJvdW5kc1BvaW50JDEoeCwgeSkgeworICBpZiAoeCA8IHgw
JDIpIHgwJDIgPSB4OworICBpZiAoeCA+IHgxKSB4MSA9IHg7CisgIGlmICh5IDwgeTAkMikgeTAk
MiA9IHk7CisgIGlmICh5ID4geTEpIHkxID0geTsKK30KKworLy8gVE9ETyBFbmZvcmNlIHBvc2l0
aXZlIGFyZWEgZm9yIGV4dGVyaW9yLCBuZWdhdGl2ZSBhcmVhIGZvciBpbnRlcmlvcj8KKwordmFy
IFgwJDEgPSAwLAorICAgIFkwJDEgPSAwLAorICAgIFowJDEgPSAwLAorICAgIFgxJDEgPSAwLAor
ICAgIFkxJDEgPSAwLAorICAgIFoxJDEgPSAwLAorICAgIFgyJDEgPSAwLAorICAgIFkyJDEgPSAw
LAorICAgIFoyJDEgPSAwLAorICAgIHgwMCQxLAorICAgIHkwMCQxLAorICAgIHgwJDMsCisgICAg
eTAkMzsKKwordmFyIGNlbnRyb2lkU3RyZWFtJDEgPSB7CisgIHBvaW50OiBjZW50cm9pZFBvaW50
JDEsCisgIGxpbmVTdGFydDogY2VudHJvaWRMaW5lU3RhcnQkMSwKKyAgbGluZUVuZDogY2VudHJv
aWRMaW5lRW5kJDEsCisgIHBvbHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgY2VudHJvaWRT
dHJlYW0kMS5saW5lU3RhcnQgPSBjZW50cm9pZFJpbmdTdGFydCQxOworICAgIGNlbnRyb2lkU3Ry
ZWFtJDEubGluZUVuZCA9IGNlbnRyb2lkUmluZ0VuZCQxOworICB9LAorICBwb2x5Z29uRW5kOiBm
dW5jdGlvbigpIHsKKyAgICBjZW50cm9pZFN0cmVhbSQxLnBvaW50ID0gY2VudHJvaWRQb2ludCQx
OworICAgIGNlbnRyb2lkU3RyZWFtJDEubGluZVN0YXJ0ID0gY2VudHJvaWRMaW5lU3RhcnQkMTsK
KyAgICBjZW50cm9pZFN0cmVhbSQxLmxpbmVFbmQgPSBjZW50cm9pZExpbmVFbmQkMTsKKyAgfSwK
KyAgcmVzdWx0OiBmdW5jdGlvbigpIHsKKyAgICB2YXIgY2VudHJvaWQgPSBaMiQxID8gW1gyJDEg
LyBaMiQxLCBZMiQxIC8gWjIkMV0KKyAgICAgICAgOiBaMSQxID8gW1gxJDEgLyBaMSQxLCBZMSQx
IC8gWjEkMV0KKyAgICAgICAgOiBaMCQxID8gW1gwJDEgLyBaMCQxLCBZMCQxIC8gWjAkMV0KKyAg
ICAgICAgOiBbTmFOLCBOYU5dOworICAgIFgwJDEgPSBZMCQxID0gWjAkMSA9CisgICAgWDEkMSA9
IFkxJDEgPSBaMSQxID0KKyAgICBYMiQxID0gWTIkMSA9IFoyJDEgPSAwOworICAgIHJldHVybiBj
ZW50cm9pZDsKKyAgfQorfTsKKworZnVuY3Rpb24gY2VudHJvaWRQb2ludCQxKHgsIHkpIHsKKyAg
WDAkMSArPSB4OworICBZMCQxICs9IHk7CisgICsrWjAkMTsKK30KKworZnVuY3Rpb24gY2VudHJv
aWRMaW5lU3RhcnQkMSgpIHsKKyAgY2VudHJvaWRTdHJlYW0kMS5wb2ludCA9IGNlbnRyb2lkUG9p
bnRGaXJzdExpbmU7Cit9CisKK2Z1bmN0aW9uIGNlbnRyb2lkUG9pbnRGaXJzdExpbmUoeCwgeSkg
eworICBjZW50cm9pZFN0cmVhbSQxLnBvaW50ID0gY2VudHJvaWRQb2ludExpbmU7CisgIGNlbnRy
b2lkUG9pbnQkMSh4MCQzID0geCwgeTAkMyA9IHkpOworfQorCitmdW5jdGlvbiBjZW50cm9pZFBv
aW50TGluZSh4LCB5KSB7CisgIHZhciBkeCA9IHggLSB4MCQzLCBkeSA9IHkgLSB5MCQzLCB6ID0g
c3FydChkeCAqIGR4ICsgZHkgKiBkeSk7CisgIFgxJDEgKz0geiAqICh4MCQzICsgeCkgLyAyOwor
ICBZMSQxICs9IHogKiAoeTAkMyArIHkpIC8gMjsKKyAgWjEkMSArPSB6OworICBjZW50cm9pZFBv
aW50JDEoeDAkMyA9IHgsIHkwJDMgPSB5KTsKK30KKworZnVuY3Rpb24gY2VudHJvaWRMaW5lRW5k
JDEoKSB7CisgIGNlbnRyb2lkU3RyZWFtJDEucG9pbnQgPSBjZW50cm9pZFBvaW50JDE7Cit9CisK
K2Z1bmN0aW9uIGNlbnRyb2lkUmluZ1N0YXJ0JDEoKSB7CisgIGNlbnRyb2lkU3RyZWFtJDEucG9p
bnQgPSBjZW50cm9pZFBvaW50Rmlyc3RSaW5nOworfQorCitmdW5jdGlvbiBjZW50cm9pZFJpbmdF
bmQkMSgpIHsKKyAgY2VudHJvaWRQb2ludFJpbmcoeDAwJDEsIHkwMCQxKTsKK30KKworZnVuY3Rp
b24gY2VudHJvaWRQb2ludEZpcnN0UmluZyh4LCB5KSB7CisgIGNlbnRyb2lkU3RyZWFtJDEucG9p
bnQgPSBjZW50cm9pZFBvaW50UmluZzsKKyAgY2VudHJvaWRQb2ludCQxKHgwMCQxID0geDAkMyA9
IHgsIHkwMCQxID0geTAkMyA9IHkpOworfQorCitmdW5jdGlvbiBjZW50cm9pZFBvaW50UmluZyh4
LCB5KSB7CisgIHZhciBkeCA9IHggLSB4MCQzLAorICAgICAgZHkgPSB5IC0geTAkMywKKyAgICAg
IHogPSBzcXJ0KGR4ICogZHggKyBkeSAqIGR5KTsKKworICBYMSQxICs9IHogKiAoeDAkMyArIHgp
IC8gMjsKKyAgWTEkMSArPSB6ICogKHkwJDMgKyB5KSAvIDI7CisgIFoxJDEgKz0gejsKKworICB6
ID0geTAkMyAqIHggLSB4MCQzICogeTsKKyAgWDIkMSArPSB6ICogKHgwJDMgKyB4KTsKKyAgWTIk
MSArPSB6ICogKHkwJDMgKyB5KTsKKyAgWjIkMSArPSB6ICogMzsKKyAgY2VudHJvaWRQb2ludCQx
KHgwJDMgPSB4LCB5MCQzID0geSk7Cit9CisKK2Z1bmN0aW9uIFBhdGhDb250ZXh0KGNvbnRleHQp
IHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7Cit9CisKK1BhdGhDb250ZXh0LnByb3RvdHlw
ZSA9IHsKKyAgX3JhZGl1czogNC41LAorICBwb2ludFJhZGl1czogZnVuY3Rpb24oXykgeworICAg
IHJldHVybiB0aGlzLl9yYWRpdXMgPSBfLCB0aGlzOworICB9LAorICBwb2x5Z29uU3RhcnQ6IGZ1
bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSAwOworICB9LAorICBwb2x5Z29uRW5kOiBmdW5j
dGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gTmFOOworICB9LAorICBsaW5lU3RhcnQ6IGZ1bmN0
aW9uKCkgeworICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24o
KSB7CisgICAgaWYgKHRoaXMuX2xpbmUgPT09IDApIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7
CisgICAgdGhpcy5fcG9pbnQgPSBOYU47CisgIH0sCisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7
CisgICAgc3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAwOiB7CisgICAgICAgIHRo
aXMuX2NvbnRleHQubW92ZVRvKHgsIHkpOworICAgICAgICB0aGlzLl9wb2ludCA9IDE7CisgICAg
ICAgIGJyZWFrOworICAgICAgfQorICAgICAgY2FzZSAxOiB7CisgICAgICAgIHRoaXMuX2NvbnRl
eHQubGluZVRvKHgsIHkpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICAgIGRlZmF1bHQ6
IHsKKyAgICAgICAgdGhpcy5fY29udGV4dC5tb3ZlVG8oeCArIHRoaXMuX3JhZGl1cywgeSk7Cisg
ICAgICAgIHRoaXMuX2NvbnRleHQuYXJjKHgsIHksIHRoaXMuX3JhZGl1cywgMCwgdGF1JDMpOwor
ICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICB9CisgIH0sCisgIHJlc3VsdDogbm9vcCQyCit9
OworCit2YXIgbGVuZ3RoU3VtJDEgPSBhZGRlcigpLAorICAgIGxlbmd0aFJpbmcsCisgICAgeDAw
JDIsCisgICAgeTAwJDIsCisgICAgeDAkNCwKKyAgICB5MCQ0OworCit2YXIgbGVuZ3RoU3RyZWFt
JDEgPSB7CisgIHBvaW50OiBub29wJDIsCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAg
bGVuZ3RoU3RyZWFtJDEucG9pbnQgPSBsZW5ndGhQb2ludEZpcnN0JDE7CisgIH0sCisgIGxpbmVF
bmQ6IGZ1bmN0aW9uKCkgeworICAgIGlmIChsZW5ndGhSaW5nKSBsZW5ndGhQb2ludCQxKHgwMCQy
LCB5MDAkMik7CisgICAgbGVuZ3RoU3RyZWFtJDEucG9pbnQgPSBub29wJDI7CisgIH0sCisgIHBv
bHlnb25TdGFydDogZnVuY3Rpb24oKSB7CisgICAgbGVuZ3RoUmluZyA9IHRydWU7CisgIH0sCisg
IHBvbHlnb25FbmQ6IGZ1bmN0aW9uKCkgeworICAgIGxlbmd0aFJpbmcgPSBudWxsOworICB9LAor
ICByZXN1bHQ6IGZ1bmN0aW9uKCkgeworICAgIHZhciBsZW5ndGggPSArbGVuZ3RoU3VtJDE7Cisg
ICAgbGVuZ3RoU3VtJDEucmVzZXQoKTsKKyAgICByZXR1cm4gbGVuZ3RoOworICB9Cit9OworCitm
dW5jdGlvbiBsZW5ndGhQb2ludEZpcnN0JDEoeCwgeSkgeworICBsZW5ndGhTdHJlYW0kMS5wb2lu
dCA9IGxlbmd0aFBvaW50JDE7CisgIHgwMCQyID0geDAkNCA9IHgsIHkwMCQyID0geTAkNCA9IHk7
Cit9CisKK2Z1bmN0aW9uIGxlbmd0aFBvaW50JDEoeCwgeSkgeworICB4MCQ0IC09IHgsIHkwJDQg
LT0geTsKKyAgbGVuZ3RoU3VtJDEuYWRkKHNxcnQoeDAkNCAqIHgwJDQgKyB5MCQ0ICogeTAkNCkp
OworICB4MCQ0ID0geCwgeTAkNCA9IHk7Cit9CisKK2Z1bmN0aW9uIFBhdGhTdHJpbmcoKSB7Cisg
IHRoaXMuX3N0cmluZyA9IFtdOworfQorCitQYXRoU3RyaW5nLnByb3RvdHlwZSA9IHsKKyAgX3Jh
ZGl1czogNC41LAorICBfY2lyY2xlOiBjaXJjbGUkMSg0LjUpLAorICBwb2ludFJhZGl1czogZnVu
Y3Rpb24oXykgeworICAgIGlmICgoXyA9ICtfKSAhPT0gdGhpcy5fcmFkaXVzKSB0aGlzLl9yYWRp
dXMgPSBfLCB0aGlzLl9jaXJjbGUgPSBudWxsOworICAgIHJldHVybiB0aGlzOworICB9LAorICBw
b2x5Z29uU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSAwOworICB9LAorICBw
b2x5Z29uRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gTmFOOworICB9LAorICBs
aW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGlu
ZUVuZDogZnVuY3Rpb24oKSB7CisgICAgaWYgKHRoaXMuX2xpbmUgPT09IDApIHRoaXMuX3N0cmlu
Zy5wdXNoKCJaIik7CisgICAgdGhpcy5fcG9pbnQgPSBOYU47CisgIH0sCisgIHBvaW50OiBmdW5j
dGlvbih4LCB5KSB7CisgICAgc3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAwOiB7
CisgICAgICAgIHRoaXMuX3N0cmluZy5wdXNoKCJNIiwgeCwgIiwiLCB5KTsKKyAgICAgICAgdGhp
cy5fcG9pbnQgPSAxOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICAgIGNhc2UgMTogewor
ICAgICAgICB0aGlzLl9zdHJpbmcucHVzaCgiTCIsIHgsICIsIiwgeSk7CisgICAgICAgIGJyZWFr
OworICAgICAgfQorICAgICAgZGVmYXVsdDogeworICAgICAgICBpZiAodGhpcy5fY2lyY2xlID09
IG51bGwpIHRoaXMuX2NpcmNsZSA9IGNpcmNsZSQxKHRoaXMuX3JhZGl1cyk7CisgICAgICAgIHRo
aXMuX3N0cmluZy5wdXNoKCJNIiwgeCwgIiwiLCB5LCB0aGlzLl9jaXJjbGUpOworICAgICAgICBi
cmVhazsKKyAgICAgIH0KKyAgICB9CisgIH0sCisgIHJlc3VsdDogZnVuY3Rpb24oKSB7CisgICAg
aWYgKHRoaXMuX3N0cmluZy5sZW5ndGgpIHsKKyAgICAgIHZhciByZXN1bHQgPSB0aGlzLl9zdHJp
bmcuam9pbigiIik7CisgICAgICB0aGlzLl9zdHJpbmcgPSBbXTsKKyAgICAgIHJldHVybiByZXN1
bHQ7CisgICAgfSBlbHNlIHsKKyAgICAgIHJldHVybiBudWxsOworICAgIH0KKyAgfQorfTsKKwor
ZnVuY3Rpb24gY2lyY2xlJDEocmFkaXVzKSB7CisgIHJldHVybiAibTAsIiArIHJhZGl1cworICAg
ICAgKyAiYSIgKyByYWRpdXMgKyAiLCIgKyByYWRpdXMgKyAiIDAgMSwxIDAsIiArIC0yICogcmFk
aXVzCisgICAgICArICJhIiArIHJhZGl1cyArICIsIiArIHJhZGl1cyArICIgMCAxLDEgMCwiICsg
MiAqIHJhZGl1cworICAgICAgKyAieiI7Cit9CisKK2Z1bmN0aW9uIGluZGV4JDEocHJvamVjdGlv
biwgY29udGV4dCkgeworICB2YXIgcG9pbnRSYWRpdXMgPSA0LjUsCisgICAgICBwcm9qZWN0aW9u
U3RyZWFtLAorICAgICAgY29udGV4dFN0cmVhbTsKKworICBmdW5jdGlvbiBwYXRoKG9iamVjdCkg
eworICAgIGlmIChvYmplY3QpIHsKKyAgICAgIGlmICh0eXBlb2YgcG9pbnRSYWRpdXMgPT09ICJm
dW5jdGlvbiIpIGNvbnRleHRTdHJlYW0ucG9pbnRSYWRpdXMoK3BvaW50UmFkaXVzLmFwcGx5KHRo
aXMsIGFyZ3VtZW50cykpOworICAgICAgZ2VvU3RyZWFtKG9iamVjdCwgcHJvamVjdGlvblN0cmVh
bShjb250ZXh0U3RyZWFtKSk7CisgICAgfQorICAgIHJldHVybiBjb250ZXh0U3RyZWFtLnJlc3Vs
dCgpOworICB9CisKKyAgcGF0aC5hcmVhID0gZnVuY3Rpb24ob2JqZWN0KSB7CisgICAgZ2VvU3Ry
ZWFtKG9iamVjdCwgcHJvamVjdGlvblN0cmVhbShhcmVhU3RyZWFtJDEpKTsKKyAgICByZXR1cm4g
YXJlYVN0cmVhbSQxLnJlc3VsdCgpOworICB9OworCisgIHBhdGgubWVhc3VyZSA9IGZ1bmN0aW9u
KG9iamVjdCkgeworICAgIGdlb1N0cmVhbShvYmplY3QsIHByb2plY3Rpb25TdHJlYW0obGVuZ3Ro
U3RyZWFtJDEpKTsKKyAgICByZXR1cm4gbGVuZ3RoU3RyZWFtJDEucmVzdWx0KCk7CisgIH07CisK
KyAgcGF0aC5ib3VuZHMgPSBmdW5jdGlvbihvYmplY3QpIHsKKyAgICBnZW9TdHJlYW0ob2JqZWN0
LCBwcm9qZWN0aW9uU3RyZWFtKGJvdW5kc1N0cmVhbSQxKSk7CisgICAgcmV0dXJuIGJvdW5kc1N0
cmVhbSQxLnJlc3VsdCgpOworICB9OworCisgIHBhdGguY2VudHJvaWQgPSBmdW5jdGlvbihvYmpl
Y3QpIHsKKyAgICBnZW9TdHJlYW0ob2JqZWN0LCBwcm9qZWN0aW9uU3RyZWFtKGNlbnRyb2lkU3Ry
ZWFtJDEpKTsKKyAgICByZXR1cm4gY2VudHJvaWRTdHJlYW0kMS5yZXN1bHQoKTsKKyAgfTsKKwor
ICBwYXRoLnByb2plY3Rpb24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAocHJvamVjdGlvblN0cmVhbSA9IF8gPT0gbnVsbCA/IChwcm9qZWN0aW9uID0gbnVs
bCwgaWRlbnRpdHkkNCkgOiAocHJvamVjdGlvbiA9IF8pLnN0cmVhbSwgcGF0aCkgOiBwcm9qZWN0
aW9uOworICB9OworCisgIHBhdGguY29udGV4dCA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFy
Z3VtZW50cy5sZW5ndGgpIHJldHVybiBjb250ZXh0OworICAgIGNvbnRleHRTdHJlYW0gPSBfID09
IG51bGwgPyAoY29udGV4dCA9IG51bGwsIG5ldyBQYXRoU3RyaW5nKSA6IG5ldyBQYXRoQ29udGV4
dChjb250ZXh0ID0gXyk7CisgICAgaWYgKHR5cGVvZiBwb2ludFJhZGl1cyAhPT0gImZ1bmN0aW9u
IikgY29udGV4dFN0cmVhbS5wb2ludFJhZGl1cyhwb2ludFJhZGl1cyk7CisgICAgcmV0dXJuIHBh
dGg7CisgIH07CisKKyAgcGF0aC5wb2ludFJhZGl1cyA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAo
IWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBwb2ludFJhZGl1czsKKyAgICBwb2ludFJhZGl1cyA9
IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IChjb250ZXh0U3RyZWFtLnBvaW50UmFkaXVz
KCtfKSwgK18pOworICAgIHJldHVybiBwYXRoOworICB9OworCisgIHJldHVybiBwYXRoLnByb2pl
Y3Rpb24ocHJvamVjdGlvbikuY29udGV4dChjb250ZXh0KTsKK30KKworZnVuY3Rpb24gdHJhbnNm
b3JtKG1ldGhvZHMpIHsKKyAgcmV0dXJuIHsKKyAgICBzdHJlYW06IHRyYW5zZm9ybWVyKG1ldGhv
ZHMpCisgIH07Cit9CisKK2Z1bmN0aW9uIHRyYW5zZm9ybWVyKG1ldGhvZHMpIHsKKyAgcmV0dXJu
IGZ1bmN0aW9uKHN0cmVhbSkgeworICAgIHZhciBzID0gbmV3IFRyYW5zZm9ybVN0cmVhbTsKKyAg
ICBmb3IgKHZhciBrZXkgaW4gbWV0aG9kcykgc1trZXldID0gbWV0aG9kc1trZXldOworICAgIHMu
c3RyZWFtID0gc3RyZWFtOworICAgIHJldHVybiBzOworICB9OworfQorCitmdW5jdGlvbiBUcmFu
c2Zvcm1TdHJlYW0oKSB7fQorCitUcmFuc2Zvcm1TdHJlYW0ucHJvdG90eXBlID0geworICBjb25z
dHJ1Y3RvcjogVHJhbnNmb3JtU3RyZWFtLAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeyB0aGlz
LnN0cmVhbS5wb2ludCh4LCB5KTsgfSwKKyAgc3BoZXJlOiBmdW5jdGlvbigpIHsgdGhpcy5zdHJl
YW0uc3BoZXJlKCk7IH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7IHRoaXMuc3RyZWFtLmxp
bmVTdGFydCgpOyB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsgdGhpcy5zdHJlYW0ubGluZUVu
ZCgpOyB9LAorICBwb2x5Z29uU3RhcnQ6IGZ1bmN0aW9uKCkgeyB0aGlzLnN0cmVhbS5wb2x5Z29u
U3RhcnQoKTsgfSwKKyAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7IHRoaXMuc3RyZWFtLnBvbHln
b25FbmQoKTsgfQorfTsKKworZnVuY3Rpb24gZml0KHByb2plY3Rpb24sIGZpdEJvdW5kcywgb2Jq
ZWN0KSB7CisgIHZhciBjbGlwID0gcHJvamVjdGlvbi5jbGlwRXh0ZW50ICYmIHByb2plY3Rpb24u
Y2xpcEV4dGVudCgpOworICBwcm9qZWN0aW9uLnNjYWxlKDE1MCkudHJhbnNsYXRlKFswLCAwXSk7
CisgIGlmIChjbGlwICE9IG51bGwpIHByb2plY3Rpb24uY2xpcEV4dGVudChudWxsKTsKKyAgZ2Vv
U3RyZWFtKG9iamVjdCwgcHJvamVjdGlvbi5zdHJlYW0oYm91bmRzU3RyZWFtJDEpKTsKKyAgZml0
Qm91bmRzKGJvdW5kc1N0cmVhbSQxLnJlc3VsdCgpKTsKKyAgaWYgKGNsaXAgIT0gbnVsbCkgcHJv
amVjdGlvbi5jbGlwRXh0ZW50KGNsaXApOworICByZXR1cm4gcHJvamVjdGlvbjsKK30KKworZnVu
Y3Rpb24gZml0RXh0ZW50KHByb2plY3Rpb24sIGV4dGVudCwgb2JqZWN0KSB7CisgIHJldHVybiBm
aXQocHJvamVjdGlvbiwgZnVuY3Rpb24oYikgeworICAgIHZhciB3ID0gZXh0ZW50WzFdWzBdIC0g
ZXh0ZW50WzBdWzBdLAorICAgICAgICBoID0gZXh0ZW50WzFdWzFdIC0gZXh0ZW50WzBdWzFdLAor
ICAgICAgICBrID0gTWF0aC5taW4odyAvIChiWzFdWzBdIC0gYlswXVswXSksIGggLyAoYlsxXVsx
XSAtIGJbMF1bMV0pKSwKKyAgICAgICAgeCA9ICtleHRlbnRbMF1bMF0gKyAodyAtIGsgKiAoYlsx
XVswXSArIGJbMF1bMF0pKSAvIDIsCisgICAgICAgIHkgPSArZXh0ZW50WzBdWzFdICsgKGggLSBr
ICogKGJbMV1bMV0gKyBiWzBdWzFdKSkgLyAyOworICAgIHByb2plY3Rpb24uc2NhbGUoMTUwICog
aykudHJhbnNsYXRlKFt4LCB5XSk7CisgIH0sIG9iamVjdCk7Cit9CisKK2Z1bmN0aW9uIGZpdFNp
emUocHJvamVjdGlvbiwgc2l6ZSwgb2JqZWN0KSB7CisgIHJldHVybiBmaXRFeHRlbnQocHJvamVj
dGlvbiwgW1swLCAwXSwgc2l6ZV0sIG9iamVjdCk7Cit9CisKK2Z1bmN0aW9uIGZpdFdpZHRoKHBy
b2plY3Rpb24sIHdpZHRoLCBvYmplY3QpIHsKKyAgcmV0dXJuIGZpdChwcm9qZWN0aW9uLCBmdW5j
dGlvbihiKSB7CisgICAgdmFyIHcgPSArd2lkdGgsCisgICAgICAgIGsgPSB3IC8gKGJbMV1bMF0g
LSBiWzBdWzBdKSwKKyAgICAgICAgeCA9ICh3IC0gayAqIChiWzFdWzBdICsgYlswXVswXSkpIC8g
MiwKKyAgICAgICAgeSA9IC1rICogYlswXVsxXTsKKyAgICBwcm9qZWN0aW9uLnNjYWxlKDE1MCAq
IGspLnRyYW5zbGF0ZShbeCwgeV0pOworICB9LCBvYmplY3QpOworfQorCitmdW5jdGlvbiBmaXRI
ZWlnaHQocHJvamVjdGlvbiwgaGVpZ2h0LCBvYmplY3QpIHsKKyAgcmV0dXJuIGZpdChwcm9qZWN0
aW9uLCBmdW5jdGlvbihiKSB7CisgICAgdmFyIGggPSAraGVpZ2h0LAorICAgICAgICBrID0gaCAv
IChiWzFdWzFdIC0gYlswXVsxXSksCisgICAgICAgIHggPSAtayAqIGJbMF1bMF0sCisgICAgICAg
IHkgPSAoaCAtIGsgKiAoYlsxXVsxXSArIGJbMF1bMV0pKSAvIDI7CisgICAgcHJvamVjdGlvbi5z
Y2FsZSgxNTAgKiBrKS50cmFuc2xhdGUoW3gsIHldKTsKKyAgfSwgb2JqZWN0KTsKK30KKwordmFy
IG1heERlcHRoID0gMTYsIC8vIG1heGltdW0gZGVwdGggb2Ygc3ViZGl2aXNpb24KKyAgICBjb3NN
aW5EaXN0YW5jZSA9IGNvcyQxKDMwICogcmFkaWFucyk7IC8vIGNvcyhtaW5pbXVtIGFuZ3VsYXIg
ZGlzdGFuY2UpCisKK2Z1bmN0aW9uIHJlc2FtcGxlKHByb2plY3QsIGRlbHRhMikgeworICByZXR1
cm4gK2RlbHRhMiA/IHJlc2FtcGxlJDEocHJvamVjdCwgZGVsdGEyKSA6IHJlc2FtcGxlTm9uZShw
cm9qZWN0KTsKK30KKworZnVuY3Rpb24gcmVzYW1wbGVOb25lKHByb2plY3QpIHsKKyAgcmV0dXJu
IHRyYW5zZm9ybWVyKHsKKyAgICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAgICAgeCA9IHBy
b2plY3QoeCwgeSk7CisgICAgICB0aGlzLnN0cmVhbS5wb2ludCh4WzBdLCB4WzFdKTsKKyAgICB9
CisgIH0pOworfQorCitmdW5jdGlvbiByZXNhbXBsZSQxKHByb2plY3QsIGRlbHRhMikgeworCisg
IGZ1bmN0aW9uIHJlc2FtcGxlTGluZVRvKHgwLCB5MCwgbGFtYmRhMCwgYTAsIGIwLCBjMCwgeDEs
IHkxLCBsYW1iZGExLCBhMSwgYjEsIGMxLCBkZXB0aCwgc3RyZWFtKSB7CisgICAgdmFyIGR4ID0g
eDEgLSB4MCwKKyAgICAgICAgZHkgPSB5MSAtIHkwLAorICAgICAgICBkMiA9IGR4ICogZHggKyBk
eSAqIGR5OworICAgIGlmIChkMiA+IDQgKiBkZWx0YTIgJiYgZGVwdGgtLSkgeworICAgICAgdmFy
IGEgPSBhMCArIGExLAorICAgICAgICAgIGIgPSBiMCArIGIxLAorICAgICAgICAgIGMgPSBjMCAr
IGMxLAorICAgICAgICAgIG0gPSBzcXJ0KGEgKiBhICsgYiAqIGIgKyBjICogYyksCisgICAgICAg
ICAgcGhpMiA9IGFzaW4oYyAvPSBtKSwKKyAgICAgICAgICBsYW1iZGEyID0gYWJzKGFicyhjKSAt
IDEpIDwgZXBzaWxvbiQyIHx8IGFicyhsYW1iZGEwIC0gbGFtYmRhMSkgPCBlcHNpbG9uJDIgPyAo
bGFtYmRhMCArIGxhbWJkYTEpIC8gMiA6IGF0YW4yKGIsIGEpLAorICAgICAgICAgIHAgPSBwcm9q
ZWN0KGxhbWJkYTIsIHBoaTIpLAorICAgICAgICAgIHgyID0gcFswXSwKKyAgICAgICAgICB5MiA9
IHBbMV0sCisgICAgICAgICAgZHgyID0geDIgLSB4MCwKKyAgICAgICAgICBkeTIgPSB5MiAtIHkw
LAorICAgICAgICAgIGR6ID0gZHkgKiBkeDIgLSBkeCAqIGR5MjsKKyAgICAgIGlmIChkeiAqIGR6
IC8gZDIgPiBkZWx0YTIgLy8gcGVycGVuZGljdWxhciBwcm9qZWN0ZWQgZGlzdGFuY2UKKyAgICAg
ICAgICB8fCBhYnMoKGR4ICogZHgyICsgZHkgKiBkeTIpIC8gZDIgLSAwLjUpID4gMC4zIC8vIG1p
ZHBvaW50IGNsb3NlIHRvIGFuIGVuZAorICAgICAgICAgIHx8IGEwICogYTEgKyBiMCAqIGIxICsg
YzAgKiBjMSA8IGNvc01pbkRpc3RhbmNlKSB7IC8vIGFuZ3VsYXIgZGlzdGFuY2UKKyAgICAgICAg
cmVzYW1wbGVMaW5lVG8oeDAsIHkwLCBsYW1iZGEwLCBhMCwgYjAsIGMwLCB4MiwgeTIsIGxhbWJk
YTIsIGEgLz0gbSwgYiAvPSBtLCBjLCBkZXB0aCwgc3RyZWFtKTsKKyAgICAgICAgc3RyZWFtLnBv
aW50KHgyLCB5Mik7CisgICAgICAgIHJlc2FtcGxlTGluZVRvKHgyLCB5MiwgbGFtYmRhMiwgYSwg
YiwgYywgeDEsIHkxLCBsYW1iZGExLCBhMSwgYjEsIGMxLCBkZXB0aCwgc3RyZWFtKTsKKyAgICAg
IH0KKyAgICB9CisgIH0KKyAgcmV0dXJuIGZ1bmN0aW9uKHN0cmVhbSkgeworICAgIHZhciBsYW1i
ZGEwMCwgeDAwLCB5MDAsIGEwMCwgYjAwLCBjMDAsIC8vIGZpcnN0IHBvaW50CisgICAgICAgIGxh
bWJkYTAsIHgwLCB5MCwgYTAsIGIwLCBjMDsgLy8gcHJldmlvdXMgcG9pbnQKKworICAgIHZhciBy
ZXNhbXBsZVN0cmVhbSA9IHsKKyAgICAgIHBvaW50OiBwb2ludCwKKyAgICAgIGxpbmVTdGFydDog
bGluZVN0YXJ0LAorICAgICAgbGluZUVuZDogbGluZUVuZCwKKyAgICAgIHBvbHlnb25TdGFydDog
ZnVuY3Rpb24oKSB7IHN0cmVhbS5wb2x5Z29uU3RhcnQoKTsgcmVzYW1wbGVTdHJlYW0ubGluZVN0
YXJ0ID0gcmluZ1N0YXJ0OyB9LAorICAgICAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7IHN0cmVh
bS5wb2x5Z29uRW5kKCk7IHJlc2FtcGxlU3RyZWFtLmxpbmVTdGFydCA9IGxpbmVTdGFydDsgfQor
ICAgIH07CisKKyAgICBmdW5jdGlvbiBwb2ludCh4LCB5KSB7CisgICAgICB4ID0gcHJvamVjdCh4
LCB5KTsKKyAgICAgIHN0cmVhbS5wb2ludCh4WzBdLCB4WzFdKTsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiBsaW5lU3RhcnQoKSB7CisgICAgICB4MCA9IE5hTjsKKyAgICAgIHJlc2FtcGxlU3RyZWFt
LnBvaW50ID0gbGluZVBvaW50OworICAgICAgc3RyZWFtLmxpbmVTdGFydCgpOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIGxpbmVQb2ludChsYW1iZGEsIHBoaSkgeworICAgICAgdmFyIGMgPSBjYXJ0
ZXNpYW4oW2xhbWJkYSwgcGhpXSksIHAgPSBwcm9qZWN0KGxhbWJkYSwgcGhpKTsKKyAgICAgIHJl
c2FtcGxlTGluZVRvKHgwLCB5MCwgbGFtYmRhMCwgYTAsIGIwLCBjMCwgeDAgPSBwWzBdLCB5MCA9
IHBbMV0sIGxhbWJkYTAgPSBsYW1iZGEsIGEwID0gY1swXSwgYjAgPSBjWzFdLCBjMCA9IGNbMl0s
IG1heERlcHRoLCBzdHJlYW0pOworICAgICAgc3RyZWFtLnBvaW50KHgwLCB5MCk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gbGluZUVuZCgpIHsKKyAgICAgIHJlc2FtcGxlU3RyZWFtLnBvaW50ID0g
cG9pbnQ7CisgICAgICBzdHJlYW0ubGluZUVuZCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJp
bmdTdGFydCgpIHsKKyAgICAgIGxpbmVTdGFydCgpOworICAgICAgcmVzYW1wbGVTdHJlYW0ucG9p
bnQgPSByaW5nUG9pbnQ7CisgICAgICByZXNhbXBsZVN0cmVhbS5saW5lRW5kID0gcmluZ0VuZDsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiByaW5nUG9pbnQobGFtYmRhLCBwaGkpIHsKKyAgICAgIGxp
bmVQb2ludChsYW1iZGEwMCA9IGxhbWJkYSwgcGhpKSwgeDAwID0geDAsIHkwMCA9IHkwLCBhMDAg
PSBhMCwgYjAwID0gYjAsIGMwMCA9IGMwOworICAgICAgcmVzYW1wbGVTdHJlYW0ucG9pbnQgPSBs
aW5lUG9pbnQ7CisgICAgfQorCisgICAgZnVuY3Rpb24gcmluZ0VuZCgpIHsKKyAgICAgIHJlc2Ft
cGxlTGluZVRvKHgwLCB5MCwgbGFtYmRhMCwgYTAsIGIwLCBjMCwgeDAwLCB5MDAsIGxhbWJkYTAw
LCBhMDAsIGIwMCwgYzAwLCBtYXhEZXB0aCwgc3RyZWFtKTsKKyAgICAgIHJlc2FtcGxlU3RyZWFt
LmxpbmVFbmQgPSBsaW5lRW5kOworICAgICAgbGluZUVuZCgpOworICAgIH0KKworICAgIHJldHVy
biByZXNhbXBsZVN0cmVhbTsKKyAgfTsKK30KKwordmFyIHRyYW5zZm9ybVJhZGlhbnMgPSB0cmFu
c2Zvcm1lcih7CisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgdGhpcy5zdHJlYW0ucG9p
bnQoeCAqIHJhZGlhbnMsIHkgKiByYWRpYW5zKTsKKyAgfQorfSk7CisKK2Z1bmN0aW9uIHRyYW5z
Zm9ybVJvdGF0ZShyb3RhdGUpIHsKKyAgcmV0dXJuIHRyYW5zZm9ybWVyKHsKKyAgICBwb2ludDog
ZnVuY3Rpb24oeCwgeSkgeworICAgICAgdmFyIHIgPSByb3RhdGUoeCwgeSk7CisgICAgICByZXR1
cm4gdGhpcy5zdHJlYW0ucG9pbnQoclswXSwgclsxXSk7CisgICAgfQorICB9KTsKK30KKworZnVu
Y3Rpb24gc2NhbGVUcmFuc2xhdGUoaywgZHgsIGR5KSB7CisgIGZ1bmN0aW9uIHRyYW5zZm9ybSh4
LCB5KSB7CisgICAgcmV0dXJuIFtkeCArIGsgKiB4LCBkeSAtIGsgKiB5XTsKKyAgfQorICB0cmFu
c2Zvcm0uaW52ZXJ0ID0gZnVuY3Rpb24oeCwgeSkgeworICAgIHJldHVybiBbKHggLSBkeCkgLyBr
LCAoZHkgLSB5KSAvIGtdOworICB9OworICByZXR1cm4gdHJhbnNmb3JtOworfQorCitmdW5jdGlv
biBzY2FsZVRyYW5zbGF0ZVJvdGF0ZShrLCBkeCwgZHksIGFscGhhKSB7CisgIHZhciBjb3NBbHBo
YSA9IGNvcyQxKGFscGhhKSwKKyAgICAgIHNpbkFscGhhID0gc2luJDEoYWxwaGEpLAorICAgICAg
YSA9IGNvc0FscGhhICogaywKKyAgICAgIGIgPSBzaW5BbHBoYSAqIGssCisgICAgICBhaSA9IGNv
c0FscGhhIC8gaywKKyAgICAgIGJpID0gc2luQWxwaGEgLyBrLAorICAgICAgY2kgPSAoc2luQWxw
aGEgKiBkeSAtIGNvc0FscGhhICogZHgpIC8gaywKKyAgICAgIGZpID0gKHNpbkFscGhhICogZHgg
KyBjb3NBbHBoYSAqIGR5KSAvIGs7CisgIGZ1bmN0aW9uIHRyYW5zZm9ybSh4LCB5KSB7CisgICAg
cmV0dXJuIFthICogeCAtIGIgKiB5ICsgZHgsIGR5IC0gYiAqIHggLSBhICogeV07CisgIH0KKyAg
dHJhbnNmb3JtLmludmVydCA9IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICByZXR1cm4gW2FpICogeCAt
IGJpICogeSArIGNpLCBmaSAtIGJpICogeCAtIGFpICogeV07CisgIH07CisgIHJldHVybiB0cmFu
c2Zvcm07Cit9CisKK2Z1bmN0aW9uIHByb2plY3Rpb24ocHJvamVjdCkgeworICByZXR1cm4gcHJv
amVjdGlvbk11dGF0b3IoZnVuY3Rpb24oKSB7IHJldHVybiBwcm9qZWN0OyB9KSgpOworfQorCitm
dW5jdGlvbiBwcm9qZWN0aW9uTXV0YXRvcihwcm9qZWN0QXQpIHsKKyAgdmFyIHByb2plY3QsCisg
ICAgICBrID0gMTUwLCAvLyBzY2FsZQorICAgICAgeCA9IDQ4MCwgeSA9IDI1MCwgLy8gdHJhbnNs
YXRlCisgICAgICBsYW1iZGEgPSAwLCBwaGkgPSAwLCAvLyBjZW50ZXIKKyAgICAgIGRlbHRhTGFt
YmRhID0gMCwgZGVsdGFQaGkgPSAwLCBkZWx0YUdhbW1hID0gMCwgcm90YXRlLCAvLyBwcmUtcm90
YXRlCisgICAgICBhbHBoYSA9IDAsIC8vIHBvc3Qtcm90YXRlCisgICAgICB0aGV0YSA9IG51bGws
IHByZWNsaXAgPSBjbGlwQW50aW1lcmlkaWFuLCAvLyBwcmUtY2xpcCBhbmdsZQorICAgICAgeDAg
PSBudWxsLCB5MCwgeDEsIHkxLCBwb3N0Y2xpcCA9IGlkZW50aXR5JDQsIC8vIHBvc3QtY2xpcCBl
eHRlbnQKKyAgICAgIGRlbHRhMiA9IDAuNSwgLy8gcHJlY2lzaW9uCisgICAgICBwcm9qZWN0UmVz
YW1wbGUsCisgICAgICBwcm9qZWN0VHJhbnNmb3JtLAorICAgICAgcHJvamVjdFJvdGF0ZVRyYW5z
Zm9ybSwKKyAgICAgIGNhY2hlLAorICAgICAgY2FjaGVTdHJlYW07CisKKyAgZnVuY3Rpb24gcHJv
amVjdGlvbihwb2ludCkgeworICAgIHJldHVybiBwcm9qZWN0Um90YXRlVHJhbnNmb3JtKHBvaW50
WzBdICogcmFkaWFucywgcG9pbnRbMV0gKiByYWRpYW5zKTsKKyAgfQorCisgIGZ1bmN0aW9uIGlu
dmVydChwb2ludCkgeworICAgIHBvaW50ID0gcHJvamVjdFJvdGF0ZVRyYW5zZm9ybS5pbnZlcnQo
cG9pbnRbMF0sIHBvaW50WzFdKTsKKyAgICByZXR1cm4gcG9pbnQgJiYgW3BvaW50WzBdICogZGVn
cmVlcyQxLCBwb2ludFsxXSAqIGRlZ3JlZXMkMV07CisgIH0KKworICBwcm9qZWN0aW9uLnN0cmVh
bSA9IGZ1bmN0aW9uKHN0cmVhbSkgeworICAgIHJldHVybiBjYWNoZSAmJiBjYWNoZVN0cmVhbSA9
PT0gc3RyZWFtID8gY2FjaGUgOiBjYWNoZSA9IHRyYW5zZm9ybVJhZGlhbnModHJhbnNmb3JtUm90
YXRlKHJvdGF0ZSkocHJlY2xpcChwcm9qZWN0UmVzYW1wbGUocG9zdGNsaXAoY2FjaGVTdHJlYW0g
PSBzdHJlYW0pKSkpKTsKKyAgfTsKKworICBwcm9qZWN0aW9uLnByZWNsaXAgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocHJlY2xpcCA9IF8sIHRoZXRhID0g
dW5kZWZpbmVkLCByZXNldCgpKSA6IHByZWNsaXA7CisgIH07CisKKyAgcHJvamVjdGlvbi5wb3N0
Y2xpcCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwb3N0
Y2xpcCA9IF8sIHgwID0geTAgPSB4MSA9IHkxID0gbnVsbCwgcmVzZXQoKSkgOiBwb3N0Y2xpcDsK
KyAgfTsKKworICBwcm9qZWN0aW9uLmNsaXBBbmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwcmVjbGlwID0gK18gPyBjbGlwQ2lyY2xlKHRoZXRhID0g
XyAqIHJhZGlhbnMpIDogKHRoZXRhID0gbnVsbCwgY2xpcEFudGltZXJpZGlhbiksIHJlc2V0KCkp
IDogdGhldGEgKiBkZWdyZWVzJDE7CisgIH07CisKKyAgcHJvamVjdGlvbi5jbGlwRXh0ZW50ID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBvc3RjbGlwID0g
XyA9PSBudWxsID8gKHgwID0geTAgPSB4MSA9IHkxID0gbnVsbCwgaWRlbnRpdHkkNCkgOiBjbGlw
UmVjdGFuZ2xlKHgwID0gK19bMF1bMF0sIHkwID0gK19bMF1bMV0sIHgxID0gK19bMV1bMF0sIHkx
ID0gK19bMV1bMV0pLCByZXNldCgpKSA6IHgwID09IG51bGwgPyBudWxsIDogW1t4MCwgeTBdLCBb
eDEsIHkxXV07CisgIH07CisKKyAgcHJvamVjdGlvbi5zY2FsZSA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChrID0gK18sIHJlY2VudGVyKCkpIDogazsKKyAg
fTsKKworICBwcm9qZWN0aW9uLnRyYW5zbGF0ZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/ICh4ID0gK19bMF0sIHkgPSArX1sxXSwgcmVjZW50ZXIoKSkgOiBb
eCwgeV07CisgIH07CisKKyAgcHJvamVjdGlvbi5jZW50ZXIgPSBmdW5jdGlvbihfKSB7CisgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAobGFtYmRhID0gX1swXSAlIDM2MCAqIHJhZGlhbnMs
IHBoaSA9IF9bMV0gJSAzNjAgKiByYWRpYW5zLCByZWNlbnRlcigpKSA6IFtsYW1iZGEgKiBkZWdy
ZWVzJDEsIHBoaSAqIGRlZ3JlZXMkMV07CisgIH07CisKKyAgcHJvamVjdGlvbi5yb3RhdGUgPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZGVsdGFMYW1iZGEg
PSBfWzBdICUgMzYwICogcmFkaWFucywgZGVsdGFQaGkgPSBfWzFdICUgMzYwICogcmFkaWFucywg
ZGVsdGFHYW1tYSA9IF8ubGVuZ3RoID4gMiA/IF9bMl0gJSAzNjAgKiByYWRpYW5zIDogMCwgcmVj
ZW50ZXIoKSkgOiBbZGVsdGFMYW1iZGEgKiBkZWdyZWVzJDEsIGRlbHRhUGhpICogZGVncmVlcyQx
LCBkZWx0YUdhbW1hICogZGVncmVlcyQxXTsKKyAgfTsKKworICBwcm9qZWN0aW9uLmFuZ2xlID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGFscGhhID0gXyAl
IDM2MCAqIHJhZGlhbnMsIHJlY2VudGVyKCkpIDogYWxwaGEgKiBkZWdyZWVzJDE7CisgIH07CisK
KyAgcHJvamVjdGlvbi5wcmVjaXNpb24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAocHJvamVjdFJlc2FtcGxlID0gcmVzYW1wbGUocHJvamVjdFRyYW5zZm9y
bSwgZGVsdGEyID0gXyAqIF8pLCByZXNldCgpKSA6IHNxcnQoZGVsdGEyKTsKKyAgfTsKKworICBw
cm9qZWN0aW9uLmZpdEV4dGVudCA9IGZ1bmN0aW9uKGV4dGVudCwgb2JqZWN0KSB7CisgICAgcmV0
dXJuIGZpdEV4dGVudChwcm9qZWN0aW9uLCBleHRlbnQsIG9iamVjdCk7CisgIH07CisKKyAgcHJv
amVjdGlvbi5maXRTaXplID0gZnVuY3Rpb24oc2l6ZSwgb2JqZWN0KSB7CisgICAgcmV0dXJuIGZp
dFNpemUocHJvamVjdGlvbiwgc2l6ZSwgb2JqZWN0KTsKKyAgfTsKKworICBwcm9qZWN0aW9uLmZp
dFdpZHRoID0gZnVuY3Rpb24od2lkdGgsIG9iamVjdCkgeworICAgIHJldHVybiBmaXRXaWR0aChw
cm9qZWN0aW9uLCB3aWR0aCwgb2JqZWN0KTsKKyAgfTsKKworICBwcm9qZWN0aW9uLmZpdEhlaWdo
dCA9IGZ1bmN0aW9uKGhlaWdodCwgb2JqZWN0KSB7CisgICAgcmV0dXJuIGZpdEhlaWdodChwcm9q
ZWN0aW9uLCBoZWlnaHQsIG9iamVjdCk7CisgIH07CisKKyAgZnVuY3Rpb24gcmVjZW50ZXIoKSB7
CisgICAgdmFyIGNlbnRlciA9IHNjYWxlVHJhbnNsYXRlUm90YXRlKGssIDAsIDAsIGFscGhhKS5h
cHBseShudWxsLCBwcm9qZWN0KGxhbWJkYSwgcGhpKSksCisgICAgICAgIHRyYW5zZm9ybSA9IChh
bHBoYSA/IHNjYWxlVHJhbnNsYXRlUm90YXRlIDogc2NhbGVUcmFuc2xhdGUpKGssIHggLSBjZW50
ZXJbMF0sIHkgLSBjZW50ZXJbMV0sIGFscGhhKTsKKyAgICByb3RhdGUgPSByb3RhdGVSYWRpYW5z
KGRlbHRhTGFtYmRhLCBkZWx0YVBoaSwgZGVsdGFHYW1tYSk7CisgICAgcHJvamVjdFRyYW5zZm9y
bSA9IGNvbXBvc2UocHJvamVjdCwgdHJhbnNmb3JtKTsKKyAgICBwcm9qZWN0Um90YXRlVHJhbnNm
b3JtID0gY29tcG9zZShyb3RhdGUsIHByb2plY3RUcmFuc2Zvcm0pOworICAgIHByb2plY3RSZXNh
bXBsZSA9IHJlc2FtcGxlKHByb2plY3RUcmFuc2Zvcm0sIGRlbHRhMik7CisgICAgcmV0dXJuIHJl
c2V0KCk7CisgIH0KKworICBmdW5jdGlvbiByZXNldCgpIHsKKyAgICBjYWNoZSA9IGNhY2hlU3Ry
ZWFtID0gbnVsbDsKKyAgICByZXR1cm4gcHJvamVjdGlvbjsKKyAgfQorCisgIHJldHVybiBmdW5j
dGlvbigpIHsKKyAgICBwcm9qZWN0ID0gcHJvamVjdEF0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7
CisgICAgcHJvamVjdGlvbi5pbnZlcnQgPSBwcm9qZWN0LmludmVydCAmJiBpbnZlcnQ7CisgICAg
cmV0dXJuIHJlY2VudGVyKCk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGNvbmljUHJvamVjdGlvbihw
cm9qZWN0QXQpIHsKKyAgdmFyIHBoaTAgPSAwLAorICAgICAgcGhpMSA9IHBpJDMgLyAzLAorICAg
ICAgbSA9IHByb2plY3Rpb25NdXRhdG9yKHByb2plY3RBdCksCisgICAgICBwID0gbShwaGkwLCBw
aGkxKTsKKworICBwLnBhcmFsbGVscyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1l
bnRzLmxlbmd0aCA/IG0ocGhpMCA9IF9bMF0gKiByYWRpYW5zLCBwaGkxID0gX1sxXSAqIHJhZGlh
bnMpIDogW3BoaTAgKiBkZWdyZWVzJDEsIHBoaTEgKiBkZWdyZWVzJDFdOworICB9OworCisgIHJl
dHVybiBwOworfQorCitmdW5jdGlvbiBjeWxpbmRyaWNhbEVxdWFsQXJlYVJhdyhwaGkwKSB7Cisg
IHZhciBjb3NQaGkwID0gY29zJDEocGhpMCk7CisKKyAgZnVuY3Rpb24gZm9yd2FyZChsYW1iZGEs
IHBoaSkgeworICAgIHJldHVybiBbbGFtYmRhICogY29zUGhpMCwgc2luJDEocGhpKSAvIGNvc1Bo
aTBdOworICB9CisKKyAgZm9yd2FyZC5pbnZlcnQgPSBmdW5jdGlvbih4LCB5KSB7CisgICAgcmV0
dXJuIFt4IC8gY29zUGhpMCwgYXNpbih5ICogY29zUGhpMCldOworICB9OworCisgIHJldHVybiBm
b3J3YXJkOworfQorCitmdW5jdGlvbiBjb25pY0VxdWFsQXJlYVJhdyh5MCwgeTEpIHsKKyAgdmFy
IHN5MCA9IHNpbiQxKHkwKSwgbiA9IChzeTAgKyBzaW4kMSh5MSkpIC8gMjsKKworICAvLyBBcmUg
dGhlIHBhcmFsbGVscyBzeW1tZXRyaWNhbCBhcm91bmQgdGhlIEVxdWF0b3I/CisgIGlmIChhYnMo
bikgPCBlcHNpbG9uJDIpIHJldHVybiBjeWxpbmRyaWNhbEVxdWFsQXJlYVJhdyh5MCk7CisKKyAg
dmFyIGMgPSAxICsgc3kwICogKDIgKiBuIC0gc3kwKSwgcjAgPSBzcXJ0KGMpIC8gbjsKKworICBm
dW5jdGlvbiBwcm9qZWN0KHgsIHkpIHsKKyAgICB2YXIgciA9IHNxcnQoYyAtIDIgKiBuICogc2lu
JDEoeSkpIC8gbjsKKyAgICByZXR1cm4gW3IgKiBzaW4kMSh4ICo9IG4pLCByMCAtIHIgKiBjb3Mk
MSh4KV07CisgIH0KKworICBwcm9qZWN0LmludmVydCA9IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB2
YXIgcjB5ID0gcjAgLSB5OworICAgIHJldHVybiBbYXRhbjIoeCwgYWJzKHIweSkpIC8gbiAqIHNp
Z24ocjB5KSwgYXNpbigoYyAtICh4ICogeCArIHIweSAqIHIweSkgKiBuICogbikgLyAoMiAqIG4p
KV07CisgIH07CisKKyAgcmV0dXJuIHByb2plY3Q7Cit9CisKK2Z1bmN0aW9uIGNvbmljRXF1YWxB
cmVhKCkgeworICByZXR1cm4gY29uaWNQcm9qZWN0aW9uKGNvbmljRXF1YWxBcmVhUmF3KQorICAg
ICAgLnNjYWxlKDE1NS40MjQpCisgICAgICAuY2VudGVyKFswLCAzMy42NDQyXSk7Cit9CisKK2Z1
bmN0aW9uIGFsYmVycygpIHsKKyAgcmV0dXJuIGNvbmljRXF1YWxBcmVhKCkKKyAgICAgIC5wYXJh
bGxlbHMoWzI5LjUsIDQ1LjVdKQorICAgICAgLnNjYWxlKDEwNzApCisgICAgICAudHJhbnNsYXRl
KFs0ODAsIDI1MF0pCisgICAgICAucm90YXRlKFs5NiwgMF0pCisgICAgICAuY2VudGVyKFstMC42
LCAzOC43XSk7Cit9CisKKy8vIFRoZSBwcm9qZWN0aW9ucyBtdXN0IGhhdmUgbXV0dWFsbHkgZXhj
bHVzaXZlIGNsaXAgcmVnaW9ucyBvbiB0aGUgc3BoZXJlLAorLy8gYXMgdGhpcyB3aWxsIGF2b2lk
IGVtaXR0aW5nIGludGVybGVhdmluZyBsaW5lcyBhbmQgcG9seWdvbnMuCitmdW5jdGlvbiBtdWx0
aXBsZXgoc3RyZWFtcykgeworICB2YXIgbiA9IHN0cmVhbXMubGVuZ3RoOworICByZXR1cm4gewor
ICAgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7IHZhciBpID0gLTE7IHdoaWxlICgrK2kgPCBuKSBz
dHJlYW1zW2ldLnBvaW50KHgsIHkpOyB9LAorICAgIHNwaGVyZTogZnVuY3Rpb24oKSB7IHZhciBp
ID0gLTE7IHdoaWxlICgrK2kgPCBuKSBzdHJlYW1zW2ldLnNwaGVyZSgpOyB9LAorICAgIGxpbmVT
dGFydDogZnVuY3Rpb24oKSB7IHZhciBpID0gLTE7IHdoaWxlICgrK2kgPCBuKSBzdHJlYW1zW2ld
LmxpbmVTdGFydCgpOyB9LAorICAgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeyB2YXIgaSA9IC0xOyB3
aGlsZSAoKytpIDwgbikgc3RyZWFtc1tpXS5saW5lRW5kKCk7IH0sCisgICAgcG9seWdvblN0YXJ0
OiBmdW5jdGlvbigpIHsgdmFyIGkgPSAtMTsgd2hpbGUgKCsraSA8IG4pIHN0cmVhbXNbaV0ucG9s
eWdvblN0YXJ0KCk7IH0sCisgICAgcG9seWdvbkVuZDogZnVuY3Rpb24oKSB7IHZhciBpID0gLTE7
IHdoaWxlICgrK2kgPCBuKSBzdHJlYW1zW2ldLnBvbHlnb25FbmQoKTsgfQorICB9OworfQorCisv
LyBBIGNvbXBvc2l0ZSBwcm9qZWN0aW9uIGZvciB0aGUgVW5pdGVkIFN0YXRlcywgY29uZmlndXJl
ZCBieSBkZWZhdWx0IGZvcgorLy8gOTYww5c1MDAuIFRoZSBwcm9qZWN0aW9uIGFsc28gd29ya3Mg
cXVpdGUgd2VsbCBhdCA5NjDDlzYwMCBpZiB5b3UgY2hhbmdlIHRoZQorLy8gc2NhbGUgdG8gMTI4
NSBhbmQgYWRqdXN0IHRoZSB0cmFuc2xhdGUgYWNjb3JkaW5nbHkuIFRoZSBzZXQgb2Ygc3RhbmRh
cmQKKy8vIHBhcmFsbGVscyBmb3IgZWFjaCByZWdpb24gY29tZXMgZnJvbSBVU0dTLCB3aGljaCBp
cyBwdWJsaXNoZWQgaGVyZToKKy8vIGh0dHA6Ly9lZ3NjLnVzZ3MuZ292L2lzYi9wdWJzL01hcFBy
b2plY3Rpb25zL3Byb2plY3Rpb25zLmh0bWwjYWxiZXJzCitmdW5jdGlvbiBhbGJlcnNVc2EoKSB7
CisgIHZhciBjYWNoZSwKKyAgICAgIGNhY2hlU3RyZWFtLAorICAgICAgbG93ZXI0OCA9IGFsYmVy
cygpLCBsb3dlcjQ4UG9pbnQsCisgICAgICBhbGFza2EgPSBjb25pY0VxdWFsQXJlYSgpLnJvdGF0
ZShbMTU0LCAwXSkuY2VudGVyKFstMiwgNTguNV0pLnBhcmFsbGVscyhbNTUsIDY1XSksIGFsYXNr
YVBvaW50LCAvLyBFUFNHOjMzMzgKKyAgICAgIGhhd2FpaSA9IGNvbmljRXF1YWxBcmVhKCkucm90
YXRlKFsxNTcsIDBdKS5jZW50ZXIoWy0zLCAxOS45XSkucGFyYWxsZWxzKFs4LCAxOF0pLCBoYXdh
aWlQb2ludCwgLy8gRVNSSToxMDIwMDcKKyAgICAgIHBvaW50LCBwb2ludFN0cmVhbSA9IHtwb2lu
dDogZnVuY3Rpb24oeCwgeSkgeyBwb2ludCA9IFt4LCB5XTsgfX07CisKKyAgZnVuY3Rpb24gYWxi
ZXJzVXNhKGNvb3JkaW5hdGVzKSB7CisgICAgdmFyIHggPSBjb29yZGluYXRlc1swXSwgeSA9IGNv
b3JkaW5hdGVzWzFdOworICAgIHJldHVybiBwb2ludCA9IG51bGwsCisgICAgICAgIChsb3dlcjQ4
UG9pbnQucG9pbnQoeCwgeSksIHBvaW50KQorICAgICAgICB8fCAoYWxhc2thUG9pbnQucG9pbnQo
eCwgeSksIHBvaW50KQorICAgICAgICB8fCAoaGF3YWlpUG9pbnQucG9pbnQoeCwgeSksIHBvaW50
KTsKKyAgfQorCisgIGFsYmVyc1VzYS5pbnZlcnQgPSBmdW5jdGlvbihjb29yZGluYXRlcykgewor
ICAgIHZhciBrID0gbG93ZXI0OC5zY2FsZSgpLAorICAgICAgICB0ID0gbG93ZXI0OC50cmFuc2xh
dGUoKSwKKyAgICAgICAgeCA9IChjb29yZGluYXRlc1swXSAtIHRbMF0pIC8gaywKKyAgICAgICAg
eSA9IChjb29yZGluYXRlc1sxXSAtIHRbMV0pIC8gazsKKyAgICByZXR1cm4gKHkgPj0gMC4xMjAg
JiYgeSA8IDAuMjM0ICYmIHggPj0gLTAuNDI1ICYmIHggPCAtMC4yMTQgPyBhbGFza2EKKyAgICAg
ICAgOiB5ID49IDAuMTY2ICYmIHkgPCAwLjIzNCAmJiB4ID49IC0wLjIxNCAmJiB4IDwgLTAuMTE1
ID8gaGF3YWlpCisgICAgICAgIDogbG93ZXI0OCkuaW52ZXJ0KGNvb3JkaW5hdGVzKTsKKyAgfTsK
KworICBhbGJlcnNVc2Euc3RyZWFtID0gZnVuY3Rpb24oc3RyZWFtKSB7CisgICAgcmV0dXJuIGNh
Y2hlICYmIGNhY2hlU3RyZWFtID09PSBzdHJlYW0gPyBjYWNoZSA6IGNhY2hlID0gbXVsdGlwbGV4
KFtsb3dlcjQ4LnN0cmVhbShjYWNoZVN0cmVhbSA9IHN0cmVhbSksIGFsYXNrYS5zdHJlYW0oc3Ry
ZWFtKSwgaGF3YWlpLnN0cmVhbShzdHJlYW0pXSk7CisgIH07CisKKyAgYWxiZXJzVXNhLnByZWNp
c2lvbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiBs
b3dlcjQ4LnByZWNpc2lvbigpOworICAgIGxvd2VyNDgucHJlY2lzaW9uKF8pLCBhbGFza2EucHJl
Y2lzaW9uKF8pLCBoYXdhaWkucHJlY2lzaW9uKF8pOworICAgIHJldHVybiByZXNldCgpOworICB9
OworCisgIGFsYmVyc1VzYS5zY2FsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFyZ3VtZW50
cy5sZW5ndGgpIHJldHVybiBsb3dlcjQ4LnNjYWxlKCk7CisgICAgbG93ZXI0OC5zY2FsZShfKSwg
YWxhc2thLnNjYWxlKF8gKiAwLjM1KSwgaGF3YWlpLnNjYWxlKF8pOworICAgIHJldHVybiBhbGJl
cnNVc2EudHJhbnNsYXRlKGxvd2VyNDgudHJhbnNsYXRlKCkpOworICB9OworCisgIGFsYmVyc1Vz
YS50cmFuc2xhdGUgPSBmdW5jdGlvbihfKSB7CisgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSBy
ZXR1cm4gbG93ZXI0OC50cmFuc2xhdGUoKTsKKyAgICB2YXIgayA9IGxvd2VyNDguc2NhbGUoKSwg
eCA9ICtfWzBdLCB5ID0gK19bMV07CisKKyAgICBsb3dlcjQ4UG9pbnQgPSBsb3dlcjQ4CisgICAg
ICAgIC50cmFuc2xhdGUoXykKKyAgICAgICAgLmNsaXBFeHRlbnQoW1t4IC0gMC40NTUgKiBrLCB5
IC0gMC4yMzggKiBrXSwgW3ggKyAwLjQ1NSAqIGssIHkgKyAwLjIzOCAqIGtdXSkKKyAgICAgICAg
LnN0cmVhbShwb2ludFN0cmVhbSk7CisKKyAgICBhbGFza2FQb2ludCA9IGFsYXNrYQorICAgICAg
ICAudHJhbnNsYXRlKFt4IC0gMC4zMDcgKiBrLCB5ICsgMC4yMDEgKiBrXSkKKyAgICAgICAgLmNs
aXBFeHRlbnQoW1t4IC0gMC40MjUgKiBrICsgZXBzaWxvbiQyLCB5ICsgMC4xMjAgKiBrICsgZXBz
aWxvbiQyXSwgW3ggLSAwLjIxNCAqIGsgLSBlcHNpbG9uJDIsIHkgKyAwLjIzNCAqIGsgLSBlcHNp
bG9uJDJdXSkKKyAgICAgICAgLnN0cmVhbShwb2ludFN0cmVhbSk7CisKKyAgICBoYXdhaWlQb2lu
dCA9IGhhd2FpaQorICAgICAgICAudHJhbnNsYXRlKFt4IC0gMC4yMDUgKiBrLCB5ICsgMC4yMTIg
KiBrXSkKKyAgICAgICAgLmNsaXBFeHRlbnQoW1t4IC0gMC4yMTQgKiBrICsgZXBzaWxvbiQyLCB5
ICsgMC4xNjYgKiBrICsgZXBzaWxvbiQyXSwgW3ggLSAwLjExNSAqIGsgLSBlcHNpbG9uJDIsIHkg
KyAwLjIzNCAqIGsgLSBlcHNpbG9uJDJdXSkKKyAgICAgICAgLnN0cmVhbShwb2ludFN0cmVhbSk7
CisKKyAgICByZXR1cm4gcmVzZXQoKTsKKyAgfTsKKworICBhbGJlcnNVc2EuZml0RXh0ZW50ID0g
ZnVuY3Rpb24oZXh0ZW50LCBvYmplY3QpIHsKKyAgICByZXR1cm4gZml0RXh0ZW50KGFsYmVyc1Vz
YSwgZXh0ZW50LCBvYmplY3QpOworICB9OworCisgIGFsYmVyc1VzYS5maXRTaXplID0gZnVuY3Rp
b24oc2l6ZSwgb2JqZWN0KSB7CisgICAgcmV0dXJuIGZpdFNpemUoYWxiZXJzVXNhLCBzaXplLCBv
YmplY3QpOworICB9OworCisgIGFsYmVyc1VzYS5maXRXaWR0aCA9IGZ1bmN0aW9uKHdpZHRoLCBv
YmplY3QpIHsKKyAgICByZXR1cm4gZml0V2lkdGgoYWxiZXJzVXNhLCB3aWR0aCwgb2JqZWN0KTsK
KyAgfTsKKworICBhbGJlcnNVc2EuZml0SGVpZ2h0ID0gZnVuY3Rpb24oaGVpZ2h0LCBvYmplY3Qp
IHsKKyAgICByZXR1cm4gZml0SGVpZ2h0KGFsYmVyc1VzYSwgaGVpZ2h0LCBvYmplY3QpOworICB9
OworCisgIGZ1bmN0aW9uIHJlc2V0KCkgeworICAgIGNhY2hlID0gY2FjaGVTdHJlYW0gPSBudWxs
OworICAgIHJldHVybiBhbGJlcnNVc2E7CisgIH0KKworICByZXR1cm4gYWxiZXJzVXNhLnNjYWxl
KDEwNzApOworfQorCitmdW5jdGlvbiBhemltdXRoYWxSYXcoc2NhbGUpIHsKKyAgcmV0dXJuIGZ1
bmN0aW9uKHgsIHkpIHsKKyAgICB2YXIgY3ggPSBjb3MkMSh4KSwKKyAgICAgICAgY3kgPSBjb3Mk
MSh5KSwKKyAgICAgICAgayA9IHNjYWxlKGN4ICogY3kpOworICAgIHJldHVybiBbCisgICAgICBr
ICogY3kgKiBzaW4kMSh4KSwKKyAgICAgIGsgKiBzaW4kMSh5KQorICAgIF07CisgIH0KK30KKwor
ZnVuY3Rpb24gYXppbXV0aGFsSW52ZXJ0KGFuZ2xlKSB7CisgIHJldHVybiBmdW5jdGlvbih4LCB5
KSB7CisgICAgdmFyIHogPSBzcXJ0KHggKiB4ICsgeSAqIHkpLAorICAgICAgICBjID0gYW5nbGUo
eiksCisgICAgICAgIHNjID0gc2luJDEoYyksCisgICAgICAgIGNjID0gY29zJDEoYyk7CisgICAg
cmV0dXJuIFsKKyAgICAgIGF0YW4yKHggKiBzYywgeiAqIGNjKSwKKyAgICAgIGFzaW4oeiAmJiB5
ICogc2MgLyB6KQorICAgIF07CisgIH0KK30KKwordmFyIGF6aW11dGhhbEVxdWFsQXJlYVJhdyA9
IGF6aW11dGhhbFJhdyhmdW5jdGlvbihjeGN5KSB7CisgIHJldHVybiBzcXJ0KDIgLyAoMSArIGN4
Y3kpKTsKK30pOworCithemltdXRoYWxFcXVhbEFyZWFSYXcuaW52ZXJ0ID0gYXppbXV0aGFsSW52
ZXJ0KGZ1bmN0aW9uKHopIHsKKyAgcmV0dXJuIDIgKiBhc2luKHogLyAyKTsKK30pOworCitmdW5j
dGlvbiBhemltdXRoYWxFcXVhbEFyZWEoKSB7CisgIHJldHVybiBwcm9qZWN0aW9uKGF6aW11dGhh
bEVxdWFsQXJlYVJhdykKKyAgICAgIC5zY2FsZSgxMjQuNzUpCisgICAgICAuY2xpcEFuZ2xlKDE4
MCAtIDFlLTMpOworfQorCit2YXIgYXppbXV0aGFsRXF1aWRpc3RhbnRSYXcgPSBhemltdXRoYWxS
YXcoZnVuY3Rpb24oYykgeworICByZXR1cm4gKGMgPSBhY29zKGMpKSAmJiBjIC8gc2luJDEoYyk7
Cit9KTsKKworYXppbXV0aGFsRXF1aWRpc3RhbnRSYXcuaW52ZXJ0ID0gYXppbXV0aGFsSW52ZXJ0
KGZ1bmN0aW9uKHopIHsKKyAgcmV0dXJuIHo7Cit9KTsKKworZnVuY3Rpb24gYXppbXV0aGFsRXF1
aWRpc3RhbnQoKSB7CisgIHJldHVybiBwcm9qZWN0aW9uKGF6aW11dGhhbEVxdWlkaXN0YW50UmF3
KQorICAgICAgLnNjYWxlKDc5LjQxODgpCisgICAgICAuY2xpcEFuZ2xlKDE4MCAtIDFlLTMpOwor
fQorCitmdW5jdGlvbiBtZXJjYXRvclJhdyhsYW1iZGEsIHBoaSkgeworICByZXR1cm4gW2xhbWJk
YSwgbG9nKHRhbigoaGFsZlBpJDIgKyBwaGkpIC8gMikpXTsKK30KKworbWVyY2F0b3JSYXcuaW52
ZXJ0ID0gZnVuY3Rpb24oeCwgeSkgeworICByZXR1cm4gW3gsIDIgKiBhdGFuKGV4cCh5KSkgLSBo
YWxmUGkkMl07Cit9OworCitmdW5jdGlvbiBtZXJjYXRvcigpIHsKKyAgcmV0dXJuIG1lcmNhdG9y
UHJvamVjdGlvbihtZXJjYXRvclJhdykKKyAgICAgIC5zY2FsZSg5NjEgLyB0YXUkMyk7Cit9CisK
K2Z1bmN0aW9uIG1lcmNhdG9yUHJvamVjdGlvbihwcm9qZWN0KSB7CisgIHZhciBtID0gcHJvamVj
dGlvbihwcm9qZWN0KSwKKyAgICAgIGNlbnRlciA9IG0uY2VudGVyLAorICAgICAgc2NhbGUgPSBt
LnNjYWxlLAorICAgICAgdHJhbnNsYXRlID0gbS50cmFuc2xhdGUsCisgICAgICBjbGlwRXh0ZW50
ID0gbS5jbGlwRXh0ZW50LAorICAgICAgeDAgPSBudWxsLCB5MCwgeDEsIHkxOyAvLyBjbGlwIGV4
dGVudAorCisgIG0uc2NhbGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoc2NhbGUoXyksIHJlY2xpcCgpKSA6IHNjYWxlKCk7CisgIH07CisKKyAgbS50cmFu
c2xhdGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodHJh
bnNsYXRlKF8pLCByZWNsaXAoKSkgOiB0cmFuc2xhdGUoKTsKKyAgfTsKKworICBtLmNlbnRlciA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChjZW50ZXIoXyks
IHJlY2xpcCgpKSA6IGNlbnRlcigpOworICB9OworCisgIG0uY2xpcEV4dGVudCA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICgoXyA9PSBudWxsID8geDAgPSB5
MCA9IHgxID0geTEgPSBudWxsIDogKHgwID0gK19bMF1bMF0sIHkwID0gK19bMF1bMV0sIHgxID0g
K19bMV1bMF0sIHkxID0gK19bMV1bMV0pKSwgcmVjbGlwKCkpIDogeDAgPT0gbnVsbCA/IG51bGwg
OiBbW3gwLCB5MF0sIFt4MSwgeTFdXTsKKyAgfTsKKworICBmdW5jdGlvbiByZWNsaXAoKSB7Cisg
ICAgdmFyIGsgPSBwaSQzICogc2NhbGUoKSwKKyAgICAgICAgdCA9IG0ocm90YXRpb24obS5yb3Rh
dGUoKSkuaW52ZXJ0KFswLCAwXSkpOworICAgIHJldHVybiBjbGlwRXh0ZW50KHgwID09IG51bGwK
KyAgICAgICAgPyBbW3RbMF0gLSBrLCB0WzFdIC0ga10sIFt0WzBdICsgaywgdFsxXSArIGtdXSA6
IHByb2plY3QgPT09IG1lcmNhdG9yUmF3CisgICAgICAgID8gW1tNYXRoLm1heCh0WzBdIC0gaywg
eDApLCB5MF0sIFtNYXRoLm1pbih0WzBdICsgaywgeDEpLCB5MV1dCisgICAgICAgIDogW1t4MCwg
TWF0aC5tYXgodFsxXSAtIGssIHkwKV0sIFt4MSwgTWF0aC5taW4odFsxXSArIGssIHkxKV1dKTsK
KyAgfQorCisgIHJldHVybiByZWNsaXAoKTsKK30KKworZnVuY3Rpb24gdGFueSh5KSB7CisgIHJl
dHVybiB0YW4oKGhhbGZQaSQyICsgeSkgLyAyKTsKK30KKworZnVuY3Rpb24gY29uaWNDb25mb3Jt
YWxSYXcoeTAsIHkxKSB7CisgIHZhciBjeTAgPSBjb3MkMSh5MCksCisgICAgICBuID0geTAgPT09
IHkxID8gc2luJDEoeTApIDogbG9nKGN5MCAvIGNvcyQxKHkxKSkgLyBsb2codGFueSh5MSkgLyB0
YW55KHkwKSksCisgICAgICBmID0gY3kwICogcG93KHRhbnkoeTApLCBuKSAvIG47CisKKyAgaWYg
KCFuKSByZXR1cm4gbWVyY2F0b3JSYXc7CisKKyAgZnVuY3Rpb24gcHJvamVjdCh4LCB5KSB7Cisg
ICAgaWYgKGYgPiAwKSB7IGlmICh5IDwgLWhhbGZQaSQyICsgZXBzaWxvbiQyKSB5ID0gLWhhbGZQ
aSQyICsgZXBzaWxvbiQyOyB9CisgICAgZWxzZSB7IGlmICh5ID4gaGFsZlBpJDIgLSBlcHNpbG9u
JDIpIHkgPSBoYWxmUGkkMiAtIGVwc2lsb24kMjsgfQorICAgIHZhciByID0gZiAvIHBvdyh0YW55
KHkpLCBuKTsKKyAgICByZXR1cm4gW3IgKiBzaW4kMShuICogeCksIGYgLSByICogY29zJDEobiAq
IHgpXTsKKyAgfQorCisgIHByb2plY3QuaW52ZXJ0ID0gZnVuY3Rpb24oeCwgeSkgeworICAgIHZh
ciBmeSA9IGYgLSB5LCByID0gc2lnbihuKSAqIHNxcnQoeCAqIHggKyBmeSAqIGZ5KTsKKyAgICBy
ZXR1cm4gW2F0YW4yKHgsIGFicyhmeSkpIC8gbiAqIHNpZ24oZnkpLCAyICogYXRhbihwb3coZiAv
IHIsIDEgLyBuKSkgLSBoYWxmUGkkMl07CisgIH07CisKKyAgcmV0dXJuIHByb2plY3Q7Cit9CisK
K2Z1bmN0aW9uIGNvbmljQ29uZm9ybWFsKCkgeworICByZXR1cm4gY29uaWNQcm9qZWN0aW9uKGNv
bmljQ29uZm9ybWFsUmF3KQorICAgICAgLnNjYWxlKDEwOS41KQorICAgICAgLnBhcmFsbGVscyhb
MzAsIDMwXSk7Cit9CisKK2Z1bmN0aW9uIGVxdWlyZWN0YW5ndWxhclJhdyhsYW1iZGEsIHBoaSkg
eworICByZXR1cm4gW2xhbWJkYSwgcGhpXTsKK30KKworZXF1aXJlY3Rhbmd1bGFyUmF3LmludmVy
dCA9IGVxdWlyZWN0YW5ndWxhclJhdzsKKworZnVuY3Rpb24gZXF1aXJlY3Rhbmd1bGFyKCkgewor
ICByZXR1cm4gcHJvamVjdGlvbihlcXVpcmVjdGFuZ3VsYXJSYXcpCisgICAgICAuc2NhbGUoMTUy
LjYzKTsKK30KKworZnVuY3Rpb24gY29uaWNFcXVpZGlzdGFudFJhdyh5MCwgeTEpIHsKKyAgdmFy
IGN5MCA9IGNvcyQxKHkwKSwKKyAgICAgIG4gPSB5MCA9PT0geTEgPyBzaW4kMSh5MCkgOiAoY3kw
IC0gY29zJDEoeTEpKSAvICh5MSAtIHkwKSwKKyAgICAgIGcgPSBjeTAgLyBuICsgeTA7CisKKyAg
aWYgKGFicyhuKSA8IGVwc2lsb24kMikgcmV0dXJuIGVxdWlyZWN0YW5ndWxhclJhdzsKKworICBm
dW5jdGlvbiBwcm9qZWN0KHgsIHkpIHsKKyAgICB2YXIgZ3kgPSBnIC0geSwgbnggPSBuICogeDsK
KyAgICByZXR1cm4gW2d5ICogc2luJDEobngpLCBnIC0gZ3kgKiBjb3MkMShueCldOworICB9CisK
KyAgcHJvamVjdC5pbnZlcnQgPSBmdW5jdGlvbih4LCB5KSB7CisgICAgdmFyIGd5ID0gZyAtIHk7
CisgICAgcmV0dXJuIFthdGFuMih4LCBhYnMoZ3kpKSAvIG4gKiBzaWduKGd5KSwgZyAtIHNpZ24o
bikgKiBzcXJ0KHggKiB4ICsgZ3kgKiBneSldOworICB9OworCisgIHJldHVybiBwcm9qZWN0Owor
fQorCitmdW5jdGlvbiBjb25pY0VxdWlkaXN0YW50KCkgeworICByZXR1cm4gY29uaWNQcm9qZWN0
aW9uKGNvbmljRXF1aWRpc3RhbnRSYXcpCisgICAgICAuc2NhbGUoMTMxLjE1NCkKKyAgICAgIC5j
ZW50ZXIoWzAsIDEzLjkzODldKTsKK30KKwordmFyIEExID0gMS4zNDAyNjQsCisgICAgQTIgPSAt
MC4wODExMDYsCisgICAgQTMgPSAwLjAwMDg5MywKKyAgICBBNCA9IDAuMDAzNzk2LAorICAgIE0g
PSBzcXJ0KDMpIC8gMiwKKyAgICBpdGVyYXRpb25zID0gMTI7CisKK2Z1bmN0aW9uIGVxdWFsRWFy
dGhSYXcobGFtYmRhLCBwaGkpIHsKKyAgdmFyIGwgPSBhc2luKE0gKiBzaW4kMShwaGkpKSwgbDIg
PSBsICogbCwgbDYgPSBsMiAqIGwyICogbDI7CisgIHJldHVybiBbCisgICAgbGFtYmRhICogY29z
JDEobCkgLyAoTSAqIChBMSArIDMgKiBBMiAqIGwyICsgbDYgKiAoNyAqIEEzICsgOSAqIEE0ICog
bDIpKSksCisgICAgbCAqIChBMSArIEEyICogbDIgKyBsNiAqIChBMyArIEE0ICogbDIpKQorICBd
OworfQorCitlcXVhbEVhcnRoUmF3LmludmVydCA9IGZ1bmN0aW9uKHgsIHkpIHsKKyAgdmFyIGwg
PSB5LCBsMiA9IGwgKiBsLCBsNiA9IGwyICogbDIgKiBsMjsKKyAgZm9yICh2YXIgaSA9IDAsIGRl
bHRhLCBmeSwgZnB5OyBpIDwgaXRlcmF0aW9uczsgKytpKSB7CisgICAgZnkgPSBsICogKEExICsg
QTIgKiBsMiArIGw2ICogKEEzICsgQTQgKiBsMikpIC0geTsKKyAgICBmcHkgPSBBMSArIDMgKiBB
MiAqIGwyICsgbDYgKiAoNyAqIEEzICsgOSAqIEE0ICogbDIpOworICAgIGwgLT0gZGVsdGEgPSBm
eSAvIGZweSwgbDIgPSBsICogbCwgbDYgPSBsMiAqIGwyICogbDI7CisgICAgaWYgKGFicyhkZWx0
YSkgPCBlcHNpbG9uMiQxKSBicmVhazsKKyAgfQorICByZXR1cm4gWworICAgIE0gKiB4ICogKEEx
ICsgMyAqIEEyICogbDIgKyBsNiAqICg3ICogQTMgKyA5ICogQTQgKiBsMikpIC8gY29zJDEobCks
CisgICAgYXNpbihzaW4kMShsKSAvIE0pCisgIF07Cit9OworCitmdW5jdGlvbiBlcXVhbEVhcnRo
KCkgeworICByZXR1cm4gcHJvamVjdGlvbihlcXVhbEVhcnRoUmF3KQorICAgICAgLnNjYWxlKDE3
Ny4xNTgpOworfQorCitmdW5jdGlvbiBnbm9tb25pY1Jhdyh4LCB5KSB7CisgIHZhciBjeSA9IGNv
cyQxKHkpLCBrID0gY29zJDEoeCkgKiBjeTsKKyAgcmV0dXJuIFtjeSAqIHNpbiQxKHgpIC8gaywg
c2luJDEoeSkgLyBrXTsKK30KKworZ25vbW9uaWNSYXcuaW52ZXJ0ID0gYXppbXV0aGFsSW52ZXJ0
KGF0YW4pOworCitmdW5jdGlvbiBnbm9tb25pYygpIHsKKyAgcmV0dXJuIHByb2plY3Rpb24oZ25v
bW9uaWNSYXcpCisgICAgICAuc2NhbGUoMTQ0LjA0OSkKKyAgICAgIC5jbGlwQW5nbGUoNjApOwor
fQorCitmdW5jdGlvbiBzY2FsZVRyYW5zbGF0ZSQxKGt4LCBreSwgdHgsIHR5KSB7CisgIHJldHVy
biBreCA9PT0gMSAmJiBreSA9PT0gMSAmJiB0eCA9PT0gMCAmJiB0eSA9PT0gMCA/IGlkZW50aXR5
JDQgOiB0cmFuc2Zvcm1lcih7CisgICAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICAgIHRo
aXMuc3RyZWFtLnBvaW50KHggKiBreCArIHR4LCB5ICoga3kgKyB0eSk7CisgICAgfQorICB9KTsK
K30KKworZnVuY3Rpb24gaWRlbnRpdHkkNSgpIHsKKyAgdmFyIGsgPSAxLCB0eCA9IDAsIHR5ID0g
MCwgc3ggPSAxLCBzeSA9IDEsIHRyYW5zZm9ybSA9IGlkZW50aXR5JDQsIC8vIHNjYWxlLCB0cmFu
c2xhdGUgYW5kIHJlZmxlY3QKKyAgICAgIHgwID0gbnVsbCwgeTAsIHgxLCB5MSwgLy8gY2xpcCBl
eHRlbnQKKyAgICAgIHBvc3RjbGlwID0gaWRlbnRpdHkkNCwKKyAgICAgIGNhY2hlLAorICAgICAg
Y2FjaGVTdHJlYW0sCisgICAgICBwcm9qZWN0aW9uOworCisgIGZ1bmN0aW9uIHJlc2V0KCkgewor
ICAgIGNhY2hlID0gY2FjaGVTdHJlYW0gPSBudWxsOworICAgIHJldHVybiBwcm9qZWN0aW9uOwor
ICB9CisKKyAgcmV0dXJuIHByb2plY3Rpb24gPSB7CisgICAgc3RyZWFtOiBmdW5jdGlvbihzdHJl
YW0pIHsKKyAgICAgIHJldHVybiBjYWNoZSAmJiBjYWNoZVN0cmVhbSA9PT0gc3RyZWFtID8gY2Fj
aGUgOiBjYWNoZSA9IHRyYW5zZm9ybShwb3N0Y2xpcChjYWNoZVN0cmVhbSA9IHN0cmVhbSkpOwor
ICAgIH0sCisgICAgcG9zdGNsaXA6IGZ1bmN0aW9uKF8pIHsKKyAgICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHBvc3RjbGlwID0gXywgeDAgPSB5MCA9IHgxID0geTEgPSBudWxsLCByZXNl
dCgpKSA6IHBvc3RjbGlwOworICAgIH0sCisgICAgY2xpcEV4dGVudDogZnVuY3Rpb24oXykgewor
ICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocG9zdGNsaXAgPSBfID09IG51bGwgPyAo
eDAgPSB5MCA9IHgxID0geTEgPSBudWxsLCBpZGVudGl0eSQ0KSA6IGNsaXBSZWN0YW5nbGUoeDAg
PSArX1swXVswXSwgeTAgPSArX1swXVsxXSwgeDEgPSArX1sxXVswXSwgeTEgPSArX1sxXVsxXSks
IHJlc2V0KCkpIDogeDAgPT0gbnVsbCA/IG51bGwgOiBbW3gwLCB5MF0sIFt4MSwgeTFdXTsKKyAg
ICB9LAorICAgIHNjYWxlOiBmdW5jdGlvbihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/ICh0cmFuc2Zvcm0gPSBzY2FsZVRyYW5zbGF0ZSQxKChrID0gK18pICogc3gsIGsgKiBz
eSwgdHgsIHR5KSwgcmVzZXQoKSkgOiBrOworICAgIH0sCisgICAgdHJhbnNsYXRlOiBmdW5jdGlv
bihfKSB7CisgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0cmFuc2Zvcm0gPSBzY2Fs
ZVRyYW5zbGF0ZSQxKGsgKiBzeCwgayAqIHN5LCB0eCA9ICtfWzBdLCB0eSA9ICtfWzFdKSwgcmVz
ZXQoKSkgOiBbdHgsIHR5XTsKKyAgICB9LAorICAgIHJlZmxlY3RYOiBmdW5jdGlvbihfKSB7Cisg
ICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0cmFuc2Zvcm0gPSBzY2FsZVRyYW5zbGF0
ZSQxKGsgKiAoc3ggPSBfID8gLTEgOiAxKSwgayAqIHN5LCB0eCwgdHkpLCByZXNldCgpKSA6IHN4
IDwgMDsKKyAgICB9LAorICAgIHJlZmxlY3RZOiBmdW5jdGlvbihfKSB7CisgICAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/ICh0cmFuc2Zvcm0gPSBzY2FsZVRyYW5zbGF0ZSQxKGsgKiBzeCwg
ayAqIChzeSA9IF8gPyAtMSA6IDEpLCB0eCwgdHkpLCByZXNldCgpKSA6IHN5IDwgMDsKKyAgICB9
LAorICAgIGZpdEV4dGVudDogZnVuY3Rpb24oZXh0ZW50LCBvYmplY3QpIHsKKyAgICAgIHJldHVy
biBmaXRFeHRlbnQocHJvamVjdGlvbiwgZXh0ZW50LCBvYmplY3QpOworICAgIH0sCisgICAgZml0
U2l6ZTogZnVuY3Rpb24oc2l6ZSwgb2JqZWN0KSB7CisgICAgICByZXR1cm4gZml0U2l6ZShwcm9q
ZWN0aW9uLCBzaXplLCBvYmplY3QpOworICAgIH0sCisgICAgZml0V2lkdGg6IGZ1bmN0aW9uKHdp
ZHRoLCBvYmplY3QpIHsKKyAgICAgIHJldHVybiBmaXRXaWR0aChwcm9qZWN0aW9uLCB3aWR0aCwg
b2JqZWN0KTsKKyAgICB9LAorICAgIGZpdEhlaWdodDogZnVuY3Rpb24oaGVpZ2h0LCBvYmplY3Qp
IHsKKyAgICAgIHJldHVybiBmaXRIZWlnaHQocHJvamVjdGlvbiwgaGVpZ2h0LCBvYmplY3QpOwor
ICAgIH0KKyAgfTsKK30KKworZnVuY3Rpb24gbmF0dXJhbEVhcnRoMVJhdyhsYW1iZGEsIHBoaSkg
eworICB2YXIgcGhpMiA9IHBoaSAqIHBoaSwgcGhpNCA9IHBoaTIgKiBwaGkyOworICByZXR1cm4g
WworICAgIGxhbWJkYSAqICgwLjg3MDcgLSAwLjEzMTk3OSAqIHBoaTIgKyBwaGk0ICogKC0wLjAx
Mzc5MSArIHBoaTQgKiAoMC4wMDM5NzEgKiBwaGkyIC0gMC4wMDE1MjkgKiBwaGk0KSkpLAorICAg
IHBoaSAqICgxLjAwNzIyNiArIHBoaTIgKiAoMC4wMTUwODUgKyBwaGk0ICogKC0wLjA0NDQ3NSAr
IDAuMDI4ODc0ICogcGhpMiAtIDAuMDA1OTE2ICogcGhpNCkpKQorICBdOworfQorCituYXR1cmFs
RWFydGgxUmF3LmludmVydCA9IGZ1bmN0aW9uKHgsIHkpIHsKKyAgdmFyIHBoaSA9IHksIGkgPSAy
NSwgZGVsdGE7CisgIGRvIHsKKyAgICB2YXIgcGhpMiA9IHBoaSAqIHBoaSwgcGhpNCA9IHBoaTIg
KiBwaGkyOworICAgIHBoaSAtPSBkZWx0YSA9IChwaGkgKiAoMS4wMDcyMjYgKyBwaGkyICogKDAu
MDE1MDg1ICsgcGhpNCAqICgtMC4wNDQ0NzUgKyAwLjAyODg3NCAqIHBoaTIgLSAwLjAwNTkxNiAq
IHBoaTQpKSkgLSB5KSAvCisgICAgICAgICgxLjAwNzIyNiArIHBoaTIgKiAoMC4wMTUwODUgKiAz
ICsgcGhpNCAqICgtMC4wNDQ0NzUgKiA3ICsgMC4wMjg4NzQgKiA5ICogcGhpMiAtIDAuMDA1OTE2
ICogMTEgKiBwaGk0KSkpOworICB9IHdoaWxlIChhYnMoZGVsdGEpID4gZXBzaWxvbiQyICYmIC0t
aSA+IDApOworICByZXR1cm4gWworICAgIHggLyAoMC44NzA3ICsgKHBoaTIgPSBwaGkgKiBwaGkp
ICogKC0wLjEzMTk3OSArIHBoaTIgKiAoLTAuMDEzNzkxICsgcGhpMiAqIHBoaTIgKiBwaGkyICog
KDAuMDAzOTcxIC0gMC4wMDE1MjkgKiBwaGkyKSkpKSwKKyAgICBwaGkKKyAgXTsKK307CisKK2Z1
bmN0aW9uIG5hdHVyYWxFYXJ0aDEoKSB7CisgIHJldHVybiBwcm9qZWN0aW9uKG5hdHVyYWxFYXJ0
aDFSYXcpCisgICAgICAuc2NhbGUoMTc1LjI5NSk7Cit9CisKK2Z1bmN0aW9uIG9ydGhvZ3JhcGhp
Y1Jhdyh4LCB5KSB7CisgIHJldHVybiBbY29zJDEoeSkgKiBzaW4kMSh4KSwgc2luJDEoeSldOwor
fQorCitvcnRob2dyYXBoaWNSYXcuaW52ZXJ0ID0gYXppbXV0aGFsSW52ZXJ0KGFzaW4pOworCitm
dW5jdGlvbiBvcnRob2dyYXBoaWMoKSB7CisgIHJldHVybiBwcm9qZWN0aW9uKG9ydGhvZ3JhcGhp
Y1JhdykKKyAgICAgIC5zY2FsZSgyNDkuNSkKKyAgICAgIC5jbGlwQW5nbGUoOTAgKyBlcHNpbG9u
JDIpOworfQorCitmdW5jdGlvbiBzdGVyZW9ncmFwaGljUmF3KHgsIHkpIHsKKyAgdmFyIGN5ID0g
Y29zJDEoeSksIGsgPSAxICsgY29zJDEoeCkgKiBjeTsKKyAgcmV0dXJuIFtjeSAqIHNpbiQxKHgp
IC8gaywgc2luJDEoeSkgLyBrXTsKK30KKworc3RlcmVvZ3JhcGhpY1Jhdy5pbnZlcnQgPSBhemlt
dXRoYWxJbnZlcnQoZnVuY3Rpb24oeikgeworICByZXR1cm4gMiAqIGF0YW4oeik7Cit9KTsKKwor
ZnVuY3Rpb24gc3RlcmVvZ3JhcGhpYygpIHsKKyAgcmV0dXJuIHByb2plY3Rpb24oc3RlcmVvZ3Jh
cGhpY1JhdykKKyAgICAgIC5zY2FsZSgyNTApCisgICAgICAuY2xpcEFuZ2xlKDE0Mik7Cit9CisK
K2Z1bmN0aW9uIHRyYW5zdmVyc2VNZXJjYXRvclJhdyhsYW1iZGEsIHBoaSkgeworICByZXR1cm4g
W2xvZyh0YW4oKGhhbGZQaSQyICsgcGhpKSAvIDIpKSwgLWxhbWJkYV07Cit9CisKK3RyYW5zdmVy
c2VNZXJjYXRvclJhdy5pbnZlcnQgPSBmdW5jdGlvbih4LCB5KSB7CisgIHJldHVybiBbLXksIDIg
KiBhdGFuKGV4cCh4KSkgLSBoYWxmUGkkMl07Cit9OworCitmdW5jdGlvbiB0cmFuc3ZlcnNlTWVy
Y2F0b3IoKSB7CisgIHZhciBtID0gbWVyY2F0b3JQcm9qZWN0aW9uKHRyYW5zdmVyc2VNZXJjYXRv
clJhdyksCisgICAgICBjZW50ZXIgPSBtLmNlbnRlciwKKyAgICAgIHJvdGF0ZSA9IG0ucm90YXRl
OworCisgIG0uY2VudGVyID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVu
Z3RoID8gY2VudGVyKFstX1sxXSwgX1swXV0pIDogKF8gPSBjZW50ZXIoKSwgW19bMV0sIC1fWzBd
XSk7CisgIH07CisKKyAgbS5yb3RhdGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyByb3RhdGUoW19bMF0sIF9bMV0sIF8ubGVuZ3RoID4gMiA/IF9bMl0gKyA5
MCA6IDkwXSkgOiAoXyA9IHJvdGF0ZSgpLCBbX1swXSwgX1sxXSwgX1syXSAtIDkwXSk7CisgIH07
CisKKyAgcmV0dXJuIHJvdGF0ZShbMCwgMCwgOTBdKQorICAgICAgLnNjYWxlKDE1OS4xNTUpOwor
fQorCitmdW5jdGlvbiBkZWZhdWx0U2VwYXJhdGlvbihhLCBiKSB7CisgIHJldHVybiBhLnBhcmVu
dCA9PT0gYi5wYXJlbnQgPyAxIDogMjsKK30KKworZnVuY3Rpb24gbWVhblgoY2hpbGRyZW4pIHsK
KyAgcmV0dXJuIGNoaWxkcmVuLnJlZHVjZShtZWFuWFJlZHVjZSwgMCkgLyBjaGlsZHJlbi5sZW5n
dGg7Cit9CisKK2Z1bmN0aW9uIG1lYW5YUmVkdWNlKHgsIGMpIHsKKyAgcmV0dXJuIHggKyBjLng7
Cit9CisKK2Z1bmN0aW9uIG1heFkoY2hpbGRyZW4pIHsKKyAgcmV0dXJuIDEgKyBjaGlsZHJlbi5y
ZWR1Y2UobWF4WVJlZHVjZSwgMCk7Cit9CisKK2Z1bmN0aW9uIG1heFlSZWR1Y2UoeSwgYykgewor
ICByZXR1cm4gTWF0aC5tYXgoeSwgYy55KTsKK30KKworZnVuY3Rpb24gbGVhZkxlZnQobm9kZSkg
eworICB2YXIgY2hpbGRyZW47CisgIHdoaWxlIChjaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW4pIG5v
ZGUgPSBjaGlsZHJlblswXTsKKyAgcmV0dXJuIG5vZGU7Cit9CisKK2Z1bmN0aW9uIGxlYWZSaWdo
dChub2RlKSB7CisgIHZhciBjaGlsZHJlbjsKKyAgd2hpbGUgKGNoaWxkcmVuID0gbm9kZS5jaGls
ZHJlbikgbm9kZSA9IGNoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDFdOworICByZXR1cm4gbm9k
ZTsKK30KKworZnVuY3Rpb24gY2x1c3RlcigpIHsKKyAgdmFyIHNlcGFyYXRpb24gPSBkZWZhdWx0
U2VwYXJhdGlvbiwKKyAgICAgIGR4ID0gMSwKKyAgICAgIGR5ID0gMSwKKyAgICAgIG5vZGVTaXpl
ID0gZmFsc2U7CisKKyAgZnVuY3Rpb24gY2x1c3Rlcihyb290KSB7CisgICAgdmFyIHByZXZpb3Vz
Tm9kZSwKKyAgICAgICAgeCA9IDA7CisKKyAgICAvLyBGaXJzdCB3YWxrLCBjb21wdXRpbmcgdGhl
IGluaXRpYWwgeCAmIHkgdmFsdWVzLgorICAgIHJvb3QuZWFjaEFmdGVyKGZ1bmN0aW9uKG5vZGUp
IHsKKyAgICAgIHZhciBjaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW47CisgICAgICBpZiAoY2hpbGRy
ZW4pIHsKKyAgICAgICAgbm9kZS54ID0gbWVhblgoY2hpbGRyZW4pOworICAgICAgICBub2RlLnkg
PSBtYXhZKGNoaWxkcmVuKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIG5vZGUueCA9IHByZXZp
b3VzTm9kZSA/IHggKz0gc2VwYXJhdGlvbihub2RlLCBwcmV2aW91c05vZGUpIDogMDsKKyAgICAg
ICAgbm9kZS55ID0gMDsKKyAgICAgICAgcHJldmlvdXNOb2RlID0gbm9kZTsKKyAgICAgIH0KKyAg
ICB9KTsKKworICAgIHZhciBsZWZ0ID0gbGVhZkxlZnQocm9vdCksCisgICAgICAgIHJpZ2h0ID0g
bGVhZlJpZ2h0KHJvb3QpLAorICAgICAgICB4MCA9IGxlZnQueCAtIHNlcGFyYXRpb24obGVmdCwg
cmlnaHQpIC8gMiwKKyAgICAgICAgeDEgPSByaWdodC54ICsgc2VwYXJhdGlvbihyaWdodCwgbGVm
dCkgLyAyOworCisgICAgLy8gU2Vjb25kIHdhbGssIG5vcm1hbGl6aW5nIHggJiB5IHRvIHRoZSBk
ZXNpcmVkIHNpemUuCisgICAgcmV0dXJuIHJvb3QuZWFjaEFmdGVyKG5vZGVTaXplID8gZnVuY3Rp
b24obm9kZSkgeworICAgICAgbm9kZS54ID0gKG5vZGUueCAtIHJvb3QueCkgKiBkeDsKKyAgICAg
IG5vZGUueSA9IChyb290LnkgLSBub2RlLnkpICogZHk7CisgICAgfSA6IGZ1bmN0aW9uKG5vZGUp
IHsKKyAgICAgIG5vZGUueCA9IChub2RlLnggLSB4MCkgLyAoeDEgLSB4MCkgKiBkeDsKKyAgICAg
IG5vZGUueSA9ICgxIC0gKHJvb3QueSA/IG5vZGUueSAvIHJvb3QueSA6IDEpKSAqIGR5OworICAg
IH0pOworICB9CisKKyAgY2x1c3Rlci5zZXBhcmF0aW9uID0gZnVuY3Rpb24oeCkgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNlcGFyYXRpb24gPSB4LCBjbHVzdGVyKSA6IHNlcGFy
YXRpb247CisgIH07CisKKyAgY2x1c3Rlci5zaXplID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVy
biBhcmd1bWVudHMubGVuZ3RoID8gKG5vZGVTaXplID0gZmFsc2UsIGR4ID0gK3hbMF0sIGR5ID0g
K3hbMV0sIGNsdXN0ZXIpIDogKG5vZGVTaXplID8gbnVsbCA6IFtkeCwgZHldKTsKKyAgfTsKKwor
ICBjbHVzdGVyLm5vZGVTaXplID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMu
bGVuZ3RoID8gKG5vZGVTaXplID0gdHJ1ZSwgZHggPSAreFswXSwgZHkgPSAreFsxXSwgY2x1c3Rl
cikgOiAobm9kZVNpemUgPyBbZHgsIGR5XSA6IG51bGwpOworICB9OworCisgIHJldHVybiBjbHVz
dGVyOworfQorCitmdW5jdGlvbiBjb3VudChub2RlKSB7CisgIHZhciBzdW0gPSAwLAorICAgICAg
Y2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuLAorICAgICAgaSA9IGNoaWxkcmVuICYmIGNoaWxkcmVu
Lmxlbmd0aDsKKyAgaWYgKCFpKSBzdW0gPSAxOworICBlbHNlIHdoaWxlICgtLWkgPj0gMCkgc3Vt
ICs9IGNoaWxkcmVuW2ldLnZhbHVlOworICBub2RlLnZhbHVlID0gc3VtOworfQorCitmdW5jdGlv
biBub2RlX2NvdW50KCkgeworICByZXR1cm4gdGhpcy5lYWNoQWZ0ZXIoY291bnQpOworfQorCitm
dW5jdGlvbiBub2RlX2VhY2goY2FsbGJhY2spIHsKKyAgdmFyIG5vZGUgPSB0aGlzLCBjdXJyZW50
LCBuZXh0ID0gW25vZGVdLCBjaGlsZHJlbiwgaSwgbjsKKyAgZG8geworICAgIGN1cnJlbnQgPSBu
ZXh0LnJldmVyc2UoKSwgbmV4dCA9IFtdOworICAgIHdoaWxlIChub2RlID0gY3VycmVudC5wb3Ao
KSkgeworICAgICAgY2FsbGJhY2sobm9kZSksIGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbjsKKyAg
ICAgIGlmIChjaGlsZHJlbikgZm9yIChpID0gMCwgbiA9IGNoaWxkcmVuLmxlbmd0aDsgaSA8IG47
ICsraSkgeworICAgICAgICBuZXh0LnB1c2goY2hpbGRyZW5baV0pOworICAgICAgfQorICAgIH0K
KyAgfSB3aGlsZSAobmV4dC5sZW5ndGgpOworICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24g
bm9kZV9lYWNoQmVmb3JlKGNhbGxiYWNrKSB7CisgIHZhciBub2RlID0gdGhpcywgbm9kZXMgPSBb
bm9kZV0sIGNoaWxkcmVuLCBpOworICB3aGlsZSAobm9kZSA9IG5vZGVzLnBvcCgpKSB7CisgICAg
Y2FsbGJhY2sobm9kZSksIGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbjsKKyAgICBpZiAoY2hpbGRy
ZW4pIGZvciAoaSA9IGNoaWxkcmVuLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7CisgICAgICBu
b2Rlcy5wdXNoKGNoaWxkcmVuW2ldKTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHRoaXM7Cit9CisK
K2Z1bmN0aW9uIG5vZGVfZWFjaEFmdGVyKGNhbGxiYWNrKSB7CisgIHZhciBub2RlID0gdGhpcywg
bm9kZXMgPSBbbm9kZV0sIG5leHQgPSBbXSwgY2hpbGRyZW4sIGksIG47CisgIHdoaWxlIChub2Rl
ID0gbm9kZXMucG9wKCkpIHsKKyAgICBuZXh0LnB1c2gobm9kZSksIGNoaWxkcmVuID0gbm9kZS5j
aGlsZHJlbjsKKyAgICBpZiAoY2hpbGRyZW4pIGZvciAoaSA9IDAsIG4gPSBjaGlsZHJlbi5sZW5n
dGg7IGkgPCBuOyArK2kpIHsKKyAgICAgIG5vZGVzLnB1c2goY2hpbGRyZW5baV0pOworICAgIH0K
KyAgfQorICB3aGlsZSAobm9kZSA9IG5leHQucG9wKCkpIHsKKyAgICBjYWxsYmFjayhub2RlKTsK
KyAgfQorICByZXR1cm4gdGhpczsKK30KKworZnVuY3Rpb24gbm9kZV9zdW0odmFsdWUpIHsKKyAg
cmV0dXJuIHRoaXMuZWFjaEFmdGVyKGZ1bmN0aW9uKG5vZGUpIHsKKyAgICB2YXIgc3VtID0gK3Zh
bHVlKG5vZGUuZGF0YSkgfHwgMCwKKyAgICAgICAgY2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuLAor
ICAgICAgICBpID0gY2hpbGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoOworICAgIHdoaWxlICgtLWkg
Pj0gMCkgc3VtICs9IGNoaWxkcmVuW2ldLnZhbHVlOworICAgIG5vZGUudmFsdWUgPSBzdW07Cisg
IH0pOworfQorCitmdW5jdGlvbiBub2RlX3NvcnQoY29tcGFyZSkgeworICByZXR1cm4gdGhpcy5l
YWNoQmVmb3JlKGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBpZiAobm9kZS5jaGlsZHJlbikgeworICAg
ICAgbm9kZS5jaGlsZHJlbi5zb3J0KGNvbXBhcmUpOworICAgIH0KKyAgfSk7Cit9CisKK2Z1bmN0
aW9uIG5vZGVfcGF0aChlbmQpIHsKKyAgdmFyIHN0YXJ0ID0gdGhpcywKKyAgICAgIGFuY2VzdG9y
ID0gbGVhc3RDb21tb25BbmNlc3RvcihzdGFydCwgZW5kKSwKKyAgICAgIG5vZGVzID0gW3N0YXJ0
XTsKKyAgd2hpbGUgKHN0YXJ0ICE9PSBhbmNlc3RvcikgeworICAgIHN0YXJ0ID0gc3RhcnQucGFy
ZW50OworICAgIG5vZGVzLnB1c2goc3RhcnQpOworICB9CisgIHZhciBrID0gbm9kZXMubGVuZ3Ro
OworICB3aGlsZSAoZW5kICE9PSBhbmNlc3RvcikgeworICAgIG5vZGVzLnNwbGljZShrLCAwLCBl
bmQpOworICAgIGVuZCA9IGVuZC5wYXJlbnQ7CisgIH0KKyAgcmV0dXJuIG5vZGVzOworfQorCitm
dW5jdGlvbiBsZWFzdENvbW1vbkFuY2VzdG9yKGEsIGIpIHsKKyAgaWYgKGEgPT09IGIpIHJldHVy
biBhOworICB2YXIgYU5vZGVzID0gYS5hbmNlc3RvcnMoKSwKKyAgICAgIGJOb2RlcyA9IGIuYW5j
ZXN0b3JzKCksCisgICAgICBjID0gbnVsbDsKKyAgYSA9IGFOb2Rlcy5wb3AoKTsKKyAgYiA9IGJO
b2Rlcy5wb3AoKTsKKyAgd2hpbGUgKGEgPT09IGIpIHsKKyAgICBjID0gYTsKKyAgICBhID0gYU5v
ZGVzLnBvcCgpOworICAgIGIgPSBiTm9kZXMucG9wKCk7CisgIH0KKyAgcmV0dXJuIGM7Cit9CisK
K2Z1bmN0aW9uIG5vZGVfYW5jZXN0b3JzKCkgeworICB2YXIgbm9kZSA9IHRoaXMsIG5vZGVzID0g
W25vZGVdOworICB3aGlsZSAobm9kZSA9IG5vZGUucGFyZW50KSB7CisgICAgbm9kZXMucHVzaChu
b2RlKTsKKyAgfQorICByZXR1cm4gbm9kZXM7Cit9CisKK2Z1bmN0aW9uIG5vZGVfZGVzY2VuZGFu
dHMoKSB7CisgIHZhciBub2RlcyA9IFtdOworICB0aGlzLmVhY2goZnVuY3Rpb24obm9kZSkgewor
ICAgIG5vZGVzLnB1c2gobm9kZSk7CisgIH0pOworICByZXR1cm4gbm9kZXM7Cit9CisKK2Z1bmN0
aW9uIG5vZGVfbGVhdmVzKCkgeworICB2YXIgbGVhdmVzID0gW107CisgIHRoaXMuZWFjaEJlZm9y
ZShmdW5jdGlvbihub2RlKSB7CisgICAgaWYgKCFub2RlLmNoaWxkcmVuKSB7CisgICAgICBsZWF2
ZXMucHVzaChub2RlKTsKKyAgICB9CisgIH0pOworICByZXR1cm4gbGVhdmVzOworfQorCitmdW5j
dGlvbiBub2RlX2xpbmtzKCkgeworICB2YXIgcm9vdCA9IHRoaXMsIGxpbmtzID0gW107CisgIHJv
b3QuZWFjaChmdW5jdGlvbihub2RlKSB7CisgICAgaWYgKG5vZGUgIT09IHJvb3QpIHsgLy8gRG9u
4oCZdCBpbmNsdWRlIHRoZSByb2904oCZcyBwYXJlbnQsIGlmIGFueS4KKyAgICAgIGxpbmtzLnB1
c2goe3NvdXJjZTogbm9kZS5wYXJlbnQsIHRhcmdldDogbm9kZX0pOworICAgIH0KKyAgfSk7Cisg
IHJldHVybiBsaW5rczsKK30KKworZnVuY3Rpb24gaGllcmFyY2h5KGRhdGEsIGNoaWxkcmVuKSB7
CisgIHZhciByb290ID0gbmV3IE5vZGUoZGF0YSksCisgICAgICB2YWx1ZWQgPSArZGF0YS52YWx1
ZSAmJiAocm9vdC52YWx1ZSA9IGRhdGEudmFsdWUpLAorICAgICAgbm9kZSwKKyAgICAgIG5vZGVz
ID0gW3Jvb3RdLAorICAgICAgY2hpbGQsCisgICAgICBjaGlsZHMsCisgICAgICBpLAorICAgICAg
bjsKKworICBpZiAoY2hpbGRyZW4gPT0gbnVsbCkgY2hpbGRyZW4gPSBkZWZhdWx0Q2hpbGRyZW47
CisKKyAgd2hpbGUgKG5vZGUgPSBub2Rlcy5wb3AoKSkgeworICAgIGlmICh2YWx1ZWQpIG5vZGUu
dmFsdWUgPSArbm9kZS5kYXRhLnZhbHVlOworICAgIGlmICgoY2hpbGRzID0gY2hpbGRyZW4obm9k
ZS5kYXRhKSkgJiYgKG4gPSBjaGlsZHMubGVuZ3RoKSkgeworICAgICAgbm9kZS5jaGlsZHJlbiA9
IG5ldyBBcnJheShuKTsKKyAgICAgIGZvciAoaSA9IG4gLSAxOyBpID49IDA7IC0taSkgeworICAg
ICAgICBub2Rlcy5wdXNoKGNoaWxkID0gbm9kZS5jaGlsZHJlbltpXSA9IG5ldyBOb2RlKGNoaWxk
c1tpXSkpOworICAgICAgICBjaGlsZC5wYXJlbnQgPSBub2RlOworICAgICAgICBjaGlsZC5kZXB0
aCA9IG5vZGUuZGVwdGggKyAxOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiByb290
LmVhY2hCZWZvcmUoY29tcHV0ZUhlaWdodCk7Cit9CisKK2Z1bmN0aW9uIG5vZGVfY29weSgpIHsK
KyAgcmV0dXJuIGhpZXJhcmNoeSh0aGlzKS5lYWNoQmVmb3JlKGNvcHlEYXRhKTsKK30KKworZnVu
Y3Rpb24gZGVmYXVsdENoaWxkcmVuKGQpIHsKKyAgcmV0dXJuIGQuY2hpbGRyZW47Cit9CisKK2Z1
bmN0aW9uIGNvcHlEYXRhKG5vZGUpIHsKKyAgbm9kZS5kYXRhID0gbm9kZS5kYXRhLmRhdGE7Cit9
CisKK2Z1bmN0aW9uIGNvbXB1dGVIZWlnaHQobm9kZSkgeworICB2YXIgaGVpZ2h0ID0gMDsKKyAg
ZG8gbm9kZS5oZWlnaHQgPSBoZWlnaHQ7CisgIHdoaWxlICgobm9kZSA9IG5vZGUucGFyZW50KSAm
JiAobm9kZS5oZWlnaHQgPCArK2hlaWdodCkpOworfQorCitmdW5jdGlvbiBOb2RlKGRhdGEpIHsK
KyAgdGhpcy5kYXRhID0gZGF0YTsKKyAgdGhpcy5kZXB0aCA9CisgIHRoaXMuaGVpZ2h0ID0gMDsK
KyAgdGhpcy5wYXJlbnQgPSBudWxsOworfQorCitOb2RlLnByb3RvdHlwZSA9IGhpZXJhcmNoeS5w
cm90b3R5cGUgPSB7CisgIGNvbnN0cnVjdG9yOiBOb2RlLAorICBjb3VudDogbm9kZV9jb3VudCwK
KyAgZWFjaDogbm9kZV9lYWNoLAorICBlYWNoQWZ0ZXI6IG5vZGVfZWFjaEFmdGVyLAorICBlYWNo
QmVmb3JlOiBub2RlX2VhY2hCZWZvcmUsCisgIHN1bTogbm9kZV9zdW0sCisgIHNvcnQ6IG5vZGVf
c29ydCwKKyAgcGF0aDogbm9kZV9wYXRoLAorICBhbmNlc3RvcnM6IG5vZGVfYW5jZXN0b3JzLAor
ICBkZXNjZW5kYW50czogbm9kZV9kZXNjZW5kYW50cywKKyAgbGVhdmVzOiBub2RlX2xlYXZlcywK
KyAgbGlua3M6IG5vZGVfbGlua3MsCisgIGNvcHk6IG5vZGVfY29weQorfTsKKwordmFyIHNsaWNl
JDQgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7CisKK2Z1bmN0aW9uIHNodWZmbGUkMShhcnJheSkg
eworICB2YXIgbSA9IGFycmF5Lmxlbmd0aCwKKyAgICAgIHQsCisgICAgICBpOworCisgIHdoaWxl
IChtKSB7CisgICAgaSA9IE1hdGgucmFuZG9tKCkgKiBtLS0gfCAwOworICAgIHQgPSBhcnJheVtt
XTsKKyAgICBhcnJheVttXSA9IGFycmF5W2ldOworICAgIGFycmF5W2ldID0gdDsKKyAgfQorCisg
IHJldHVybiBhcnJheTsKK30KKworZnVuY3Rpb24gZW5jbG9zZShjaXJjbGVzKSB7CisgIHZhciBp
ID0gMCwgbiA9IChjaXJjbGVzID0gc2h1ZmZsZSQxKHNsaWNlJDQuY2FsbChjaXJjbGVzKSkpLmxl
bmd0aCwgQiA9IFtdLCBwLCBlOworCisgIHdoaWxlIChpIDwgbikgeworICAgIHAgPSBjaXJjbGVz
W2ldOworICAgIGlmIChlICYmIGVuY2xvc2VzV2VhayhlLCBwKSkgKytpOworICAgIGVsc2UgZSA9
IGVuY2xvc2VCYXNpcyhCID0gZXh0ZW5kQmFzaXMoQiwgcCkpLCBpID0gMDsKKyAgfQorCisgIHJl
dHVybiBlOworfQorCitmdW5jdGlvbiBleHRlbmRCYXNpcyhCLCBwKSB7CisgIHZhciBpLCBqOwor
CisgIGlmIChlbmNsb3Nlc1dlYWtBbGwocCwgQikpIHJldHVybiBbcF07CisKKyAgLy8gSWYgd2Ug
Z2V0IGhlcmUgdGhlbiBCIG11c3QgaGF2ZSBhdCBsZWFzdCBvbmUgZWxlbWVudC4KKyAgZm9yIChp
ID0gMDsgaSA8IEIubGVuZ3RoOyArK2kpIHsKKyAgICBpZiAoZW5jbG9zZXNOb3QocCwgQltpXSkK
KyAgICAgICAgJiYgZW5jbG9zZXNXZWFrQWxsKGVuY2xvc2VCYXNpczIoQltpXSwgcCksIEIpKSB7
CisgICAgICByZXR1cm4gW0JbaV0sIHBdOworICAgIH0KKyAgfQorCisgIC8vIElmIHdlIGdldCBo
ZXJlIHRoZW4gQiBtdXN0IGhhdmUgYXQgbGVhc3QgdHdvIGVsZW1lbnRzLgorICBmb3IgKGkgPSAw
OyBpIDwgQi5sZW5ndGggLSAxOyArK2kpIHsKKyAgICBmb3IgKGogPSBpICsgMTsgaiA8IEIubGVu
Z3RoOyArK2opIHsKKyAgICAgIGlmIChlbmNsb3Nlc05vdChlbmNsb3NlQmFzaXMyKEJbaV0sIEJb
al0pLCBwKQorICAgICAgICAgICYmIGVuY2xvc2VzTm90KGVuY2xvc2VCYXNpczIoQltpXSwgcCks
IEJbal0pCisgICAgICAgICAgJiYgZW5jbG9zZXNOb3QoZW5jbG9zZUJhc2lzMihCW2pdLCBwKSwg
QltpXSkKKyAgICAgICAgICAmJiBlbmNsb3Nlc1dlYWtBbGwoZW5jbG9zZUJhc2lzMyhCW2ldLCBC
W2pdLCBwKSwgQikpIHsKKyAgICAgICAgcmV0dXJuIFtCW2ldLCBCW2pdLCBwXTsKKyAgICAgIH0K
KyAgICB9CisgIH0KKworICAvLyBJZiB3ZSBnZXQgaGVyZSB0aGVuIHNvbWV0aGluZyBpcyB2ZXJ5
IHdyb25nLgorICB0aHJvdyBuZXcgRXJyb3I7Cit9CisKK2Z1bmN0aW9uIGVuY2xvc2VzTm90KGEs
IGIpIHsKKyAgdmFyIGRyID0gYS5yIC0gYi5yLCBkeCA9IGIueCAtIGEueCwgZHkgPSBiLnkgLSBh
Lnk7CisgIHJldHVybiBkciA8IDAgfHwgZHIgKiBkciA8IGR4ICogZHggKyBkeSAqIGR5OworfQor
CitmdW5jdGlvbiBlbmNsb3Nlc1dlYWsoYSwgYikgeworICB2YXIgZHIgPSBhLnIgLSBiLnIgKyAx
ZS02LCBkeCA9IGIueCAtIGEueCwgZHkgPSBiLnkgLSBhLnk7CisgIHJldHVybiBkciA+IDAgJiYg
ZHIgKiBkciA+IGR4ICogZHggKyBkeSAqIGR5OworfQorCitmdW5jdGlvbiBlbmNsb3Nlc1dlYWtB
bGwoYSwgQikgeworICBmb3IgKHZhciBpID0gMDsgaSA8IEIubGVuZ3RoOyArK2kpIHsKKyAgICBp
ZiAoIWVuY2xvc2VzV2VhayhhLCBCW2ldKSkgeworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KyAgfQorICByZXR1cm4gdHJ1ZTsKK30KKworZnVuY3Rpb24gZW5jbG9zZUJhc2lzKEIpIHsKKyAg
c3dpdGNoIChCLmxlbmd0aCkgeworICAgIGNhc2UgMTogcmV0dXJuIGVuY2xvc2VCYXNpczEoQlsw
XSk7CisgICAgY2FzZSAyOiByZXR1cm4gZW5jbG9zZUJhc2lzMihCWzBdLCBCWzFdKTsKKyAgICBj
YXNlIDM6IHJldHVybiBlbmNsb3NlQmFzaXMzKEJbMF0sIEJbMV0sIEJbMl0pOworICB9Cit9CisK
K2Z1bmN0aW9uIGVuY2xvc2VCYXNpczEoYSkgeworICByZXR1cm4geworICAgIHg6IGEueCwKKyAg
ICB5OiBhLnksCisgICAgcjogYS5yCisgIH07Cit9CisKK2Z1bmN0aW9uIGVuY2xvc2VCYXNpczIo
YSwgYikgeworICB2YXIgeDEgPSBhLngsIHkxID0gYS55LCByMSA9IGEuciwKKyAgICAgIHgyID0g
Yi54LCB5MiA9IGIueSwgcjIgPSBiLnIsCisgICAgICB4MjEgPSB4MiAtIHgxLCB5MjEgPSB5MiAt
IHkxLCByMjEgPSByMiAtIHIxLAorICAgICAgbCA9IE1hdGguc3FydCh4MjEgKiB4MjEgKyB5MjEg
KiB5MjEpOworICByZXR1cm4geworICAgIHg6ICh4MSArIHgyICsgeDIxIC8gbCAqIHIyMSkgLyAy
LAorICAgIHk6ICh5MSArIHkyICsgeTIxIC8gbCAqIHIyMSkgLyAyLAorICAgIHI6IChsICsgcjEg
KyByMikgLyAyCisgIH07Cit9CisKK2Z1bmN0aW9uIGVuY2xvc2VCYXNpczMoYSwgYiwgYykgewor
ICB2YXIgeDEgPSBhLngsIHkxID0gYS55LCByMSA9IGEuciwKKyAgICAgIHgyID0gYi54LCB5MiA9
IGIueSwgcjIgPSBiLnIsCisgICAgICB4MyA9IGMueCwgeTMgPSBjLnksIHIzID0gYy5yLAorICAg
ICAgYTIgPSB4MSAtIHgyLAorICAgICAgYTMgPSB4MSAtIHgzLAorICAgICAgYjIgPSB5MSAtIHky
LAorICAgICAgYjMgPSB5MSAtIHkzLAorICAgICAgYzIgPSByMiAtIHIxLAorICAgICAgYzMgPSBy
MyAtIHIxLAorICAgICAgZDEgPSB4MSAqIHgxICsgeTEgKiB5MSAtIHIxICogcjEsCisgICAgICBk
MiA9IGQxIC0geDIgKiB4MiAtIHkyICogeTIgKyByMiAqIHIyLAorICAgICAgZDMgPSBkMSAtIHgz
ICogeDMgLSB5MyAqIHkzICsgcjMgKiByMywKKyAgICAgIGFiID0gYTMgKiBiMiAtIGEyICogYjMs
CisgICAgICB4YSA9IChiMiAqIGQzIC0gYjMgKiBkMikgLyAoYWIgKiAyKSAtIHgxLAorICAgICAg
eGIgPSAoYjMgKiBjMiAtIGIyICogYzMpIC8gYWIsCisgICAgICB5YSA9IChhMyAqIGQyIC0gYTIg
KiBkMykgLyAoYWIgKiAyKSAtIHkxLAorICAgICAgeWIgPSAoYTIgKiBjMyAtIGEzICogYzIpIC8g
YWIsCisgICAgICBBID0geGIgKiB4YiArIHliICogeWIgLSAxLAorICAgICAgQiA9IDIgKiAocjEg
KyB4YSAqIHhiICsgeWEgKiB5YiksCisgICAgICBDID0geGEgKiB4YSArIHlhICogeWEgLSByMSAq
IHIxLAorICAgICAgciA9IC0oQSA/IChCICsgTWF0aC5zcXJ0KEIgKiBCIC0gNCAqIEEgKiBDKSkg
LyAoMiAqIEEpIDogQyAvIEIpOworICByZXR1cm4geworICAgIHg6IHgxICsgeGEgKyB4YiAqIHIs
CisgICAgeTogeTEgKyB5YSArIHliICogciwKKyAgICByOiByCisgIH07Cit9CisKK2Z1bmN0aW9u
IHBsYWNlKGIsIGEsIGMpIHsKKyAgdmFyIGR4ID0gYi54IC0gYS54LCB4LCBhMiwKKyAgICAgIGR5
ID0gYi55IC0gYS55LCB5LCBiMiwKKyAgICAgIGQyID0gZHggKiBkeCArIGR5ICogZHk7CisgIGlm
IChkMikgeworICAgIGEyID0gYS5yICsgYy5yLCBhMiAqPSBhMjsKKyAgICBiMiA9IGIuciArIGMu
ciwgYjIgKj0gYjI7CisgICAgaWYgKGEyID4gYjIpIHsKKyAgICAgIHggPSAoZDIgKyBiMiAtIGEy
KSAvICgyICogZDIpOworICAgICAgeSA9IE1hdGguc3FydChNYXRoLm1heCgwLCBiMiAvIGQyIC0g
eCAqIHgpKTsKKyAgICAgIGMueCA9IGIueCAtIHggKiBkeCAtIHkgKiBkeTsKKyAgICAgIGMueSA9
IGIueSAtIHggKiBkeSArIHkgKiBkeDsKKyAgICB9IGVsc2UgeworICAgICAgeCA9IChkMiArIGEy
IC0gYjIpIC8gKDIgKiBkMik7CisgICAgICB5ID0gTWF0aC5zcXJ0KE1hdGgubWF4KDAsIGEyIC8g
ZDIgLSB4ICogeCkpOworICAgICAgYy54ID0gYS54ICsgeCAqIGR4IC0geSAqIGR5OworICAgICAg
Yy55ID0gYS55ICsgeCAqIGR5ICsgeSAqIGR4OworICAgIH0KKyAgfSBlbHNlIHsKKyAgICBjLngg
PSBhLnggKyBjLnI7CisgICAgYy55ID0gYS55OworICB9Cit9CisKK2Z1bmN0aW9uIGludGVyc2Vj
dHMoYSwgYikgeworICB2YXIgZHIgPSBhLnIgKyBiLnIgLSAxZS02LCBkeCA9IGIueCAtIGEueCwg
ZHkgPSBiLnkgLSBhLnk7CisgIHJldHVybiBkciA+IDAgJiYgZHIgKiBkciA+IGR4ICogZHggKyBk
eSAqIGR5OworfQorCitmdW5jdGlvbiBzY29yZShub2RlKSB7CisgIHZhciBhID0gbm9kZS5fLAor
ICAgICAgYiA9IG5vZGUubmV4dC5fLAorICAgICAgYWIgPSBhLnIgKyBiLnIsCisgICAgICBkeCA9
IChhLnggKiBiLnIgKyBiLnggKiBhLnIpIC8gYWIsCisgICAgICBkeSA9IChhLnkgKiBiLnIgKyBi
LnkgKiBhLnIpIC8gYWI7CisgIHJldHVybiBkeCAqIGR4ICsgZHkgKiBkeTsKK30KKworZnVuY3Rp
b24gTm9kZSQxKGNpcmNsZSkgeworICB0aGlzLl8gPSBjaXJjbGU7CisgIHRoaXMubmV4dCA9IG51
bGw7CisgIHRoaXMucHJldmlvdXMgPSBudWxsOworfQorCitmdW5jdGlvbiBwYWNrRW5jbG9zZShj
aXJjbGVzKSB7CisgIGlmICghKG4gPSBjaXJjbGVzLmxlbmd0aCkpIHJldHVybiAwOworCisgIHZh
ciBhLCBiLCBjLCBuLCBhYSwgY2EsIGksIGosIGssIHNqLCBzazsKKworICAvLyBQbGFjZSB0aGUg
Zmlyc3QgY2lyY2xlLgorICBhID0gY2lyY2xlc1swXSwgYS54ID0gMCwgYS55ID0gMDsKKyAgaWYg
KCEobiA+IDEpKSByZXR1cm4gYS5yOworCisgIC8vIFBsYWNlIHRoZSBzZWNvbmQgY2lyY2xlLgor
ICBiID0gY2lyY2xlc1sxXSwgYS54ID0gLWIuciwgYi54ID0gYS5yLCBiLnkgPSAwOworICBpZiAo
IShuID4gMikpIHJldHVybiBhLnIgKyBiLnI7CisKKyAgLy8gUGxhY2UgdGhlIHRoaXJkIGNpcmNs
ZS4KKyAgcGxhY2UoYiwgYSwgYyA9IGNpcmNsZXNbMl0pOworCisgIC8vIEluaXRpYWxpemUgdGhl
IGZyb250LWNoYWluIHVzaW5nIHRoZSBmaXJzdCB0aHJlZSBjaXJjbGVzIGEsIGIgYW5kIGMuCisg
IGEgPSBuZXcgTm9kZSQxKGEpLCBiID0gbmV3IE5vZGUkMShiKSwgYyA9IG5ldyBOb2RlJDEoYyk7
CisgIGEubmV4dCA9IGMucHJldmlvdXMgPSBiOworICBiLm5leHQgPSBhLnByZXZpb3VzID0gYzsK
KyAgYy5uZXh0ID0gYi5wcmV2aW91cyA9IGE7CisKKyAgLy8gQXR0ZW1wdCB0byBwbGFjZSBlYWNo
IHJlbWFpbmluZyBjaXJjbGXigKYKKyAgcGFjazogZm9yIChpID0gMzsgaSA8IG47ICsraSkgewor
ICAgIHBsYWNlKGEuXywgYi5fLCBjID0gY2lyY2xlc1tpXSksIGMgPSBuZXcgTm9kZSQxKGMpOwor
CisgICAgLy8gRmluZCB0aGUgY2xvc2VzdCBpbnRlcnNlY3RpbmcgY2lyY2xlIG9uIHRoZSBmcm9u
dC1jaGFpbiwgaWYgYW55LgorICAgIC8vIOKAnENsb3NlbmVzc+KAnSBpcyBkZXRlcm1pbmVkIGJ5
IGxpbmVhciBkaXN0YW5jZSBhbG9uZyB0aGUgZnJvbnQtY2hhaW4uCisgICAgLy8g4oCcQWhlYWTi
gJ0gb3Ig4oCcYmVoaW5k4oCdIGlzIGxpa2V3aXNlIGRldGVybWluZWQgYnkgbGluZWFyIGRpc3Rh
bmNlLgorICAgIGogPSBiLm5leHQsIGsgPSBhLnByZXZpb3VzLCBzaiA9IGIuXy5yLCBzayA9IGEu
Xy5yOworICAgIGRvIHsKKyAgICAgIGlmIChzaiA8PSBzaykgeworICAgICAgICBpZiAoaW50ZXJz
ZWN0cyhqLl8sIGMuXykpIHsKKyAgICAgICAgICBiID0gaiwgYS5uZXh0ID0gYiwgYi5wcmV2aW91
cyA9IGEsIC0taTsKKyAgICAgICAgICBjb250aW51ZSBwYWNrOworICAgICAgICB9CisgICAgICAg
IHNqICs9IGouXy5yLCBqID0gai5uZXh0OworICAgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKGlu
dGVyc2VjdHMoay5fLCBjLl8pKSB7CisgICAgICAgICAgYSA9IGssIGEubmV4dCA9IGIsIGIucHJl
dmlvdXMgPSBhLCAtLWk7CisgICAgICAgICAgY29udGludWUgcGFjazsKKyAgICAgICAgfQorICAg
ICAgICBzayArPSBrLl8uciwgayA9IGsucHJldmlvdXM7CisgICAgICB9CisgICAgfSB3aGlsZSAo
aiAhPT0gay5uZXh0KTsKKworICAgIC8vIFN1Y2Nlc3MhIEluc2VydCB0aGUgbmV3IGNpcmNsZSBj
IGJldHdlZW4gYSBhbmQgYi4KKyAgICBjLnByZXZpb3VzID0gYSwgYy5uZXh0ID0gYiwgYS5uZXh0
ID0gYi5wcmV2aW91cyA9IGIgPSBjOworCisgICAgLy8gQ29tcHV0ZSB0aGUgbmV3IGNsb3Nlc3Qg
Y2lyY2xlIHBhaXIgdG8gdGhlIGNlbnRyb2lkLgorICAgIGFhID0gc2NvcmUoYSk7CisgICAgd2hp
bGUgKChjID0gYy5uZXh0KSAhPT0gYikgeworICAgICAgaWYgKChjYSA9IHNjb3JlKGMpKSA8IGFh
KSB7CisgICAgICAgIGEgPSBjLCBhYSA9IGNhOworICAgICAgfQorICAgIH0KKyAgICBiID0gYS5u
ZXh0OworICB9CisKKyAgLy8gQ29tcHV0ZSB0aGUgZW5jbG9zaW5nIGNpcmNsZSBvZiB0aGUgZnJv
bnQgY2hhaW4uCisgIGEgPSBbYi5fXSwgYyA9IGI7IHdoaWxlICgoYyA9IGMubmV4dCkgIT09IGIp
IGEucHVzaChjLl8pOyBjID0gZW5jbG9zZShhKTsKKworICAvLyBUcmFuc2xhdGUgdGhlIGNpcmNs
ZXMgdG8gcHV0IHRoZSBlbmNsb3NpbmcgY2lyY2xlIGFyb3VuZCB0aGUgb3JpZ2luLgorICBmb3Ig
KGkgPSAwOyBpIDwgbjsgKytpKSBhID0gY2lyY2xlc1tpXSwgYS54IC09IGMueCwgYS55IC09IGMu
eTsKKworICByZXR1cm4gYy5yOworfQorCitmdW5jdGlvbiBzaWJsaW5ncyhjaXJjbGVzKSB7Cisg
IHBhY2tFbmNsb3NlKGNpcmNsZXMpOworICByZXR1cm4gY2lyY2xlczsKK30KKworZnVuY3Rpb24g
b3B0aW9uYWwoZikgeworICByZXR1cm4gZiA9PSBudWxsID8gbnVsbCA6IHJlcXVpcmVkKGYpOwor
fQorCitmdW5jdGlvbiByZXF1aXJlZChmKSB7CisgIGlmICh0eXBlb2YgZiAhPT0gImZ1bmN0aW9u
IikgdGhyb3cgbmV3IEVycm9yOworICByZXR1cm4gZjsKK30KKworZnVuY3Rpb24gY29uc3RhbnRa
ZXJvKCkgeworICByZXR1cm4gMDsKK30KKworZnVuY3Rpb24gY29uc3RhbnQkOSh4KSB7CisgIHJl
dHVybiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKworZnVuY3Rpb24gZGVm
YXVsdFJhZGl1cyQxKGQpIHsKKyAgcmV0dXJuIE1hdGguc3FydChkLnZhbHVlKTsKK30KKworZnVu
Y3Rpb24gaW5kZXgkMigpIHsKKyAgdmFyIHJhZGl1cyA9IG51bGwsCisgICAgICBkeCA9IDEsCisg
ICAgICBkeSA9IDEsCisgICAgICBwYWRkaW5nID0gY29uc3RhbnRaZXJvOworCisgIGZ1bmN0aW9u
IHBhY2socm9vdCkgeworICAgIHJvb3QueCA9IGR4IC8gMiwgcm9vdC55ID0gZHkgLyAyOworICAg
IGlmIChyYWRpdXMpIHsKKyAgICAgIHJvb3QuZWFjaEJlZm9yZShyYWRpdXNMZWFmKHJhZGl1cykp
CisgICAgICAgICAgLmVhY2hBZnRlcihwYWNrQ2hpbGRyZW4ocGFkZGluZywgMC41KSkKKyAgICAg
ICAgICAuZWFjaEJlZm9yZSh0cmFuc2xhdGVDaGlsZCgxKSk7CisgICAgfSBlbHNlIHsKKyAgICAg
IHJvb3QuZWFjaEJlZm9yZShyYWRpdXNMZWFmKGRlZmF1bHRSYWRpdXMkMSkpCisgICAgICAgICAg
LmVhY2hBZnRlcihwYWNrQ2hpbGRyZW4oY29uc3RhbnRaZXJvLCAxKSkKKyAgICAgICAgICAuZWFj
aEFmdGVyKHBhY2tDaGlsZHJlbihwYWRkaW5nLCByb290LnIgLyBNYXRoLm1pbihkeCwgZHkpKSkK
KyAgICAgICAgICAuZWFjaEJlZm9yZSh0cmFuc2xhdGVDaGlsZChNYXRoLm1pbihkeCwgZHkpIC8g
KDIgKiByb290LnIpKSk7CisgICAgfQorICAgIHJldHVybiByb290OworICB9CisKKyAgcGFjay5y
YWRpdXMgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocmFk
aXVzID0gb3B0aW9uYWwoeCksIHBhY2spIDogcmFkaXVzOworICB9OworCisgIHBhY2suc2l6ZSA9
IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkeCA9ICt4WzBd
LCBkeSA9ICt4WzFdLCBwYWNrKSA6IFtkeCwgZHldOworICB9OworCisgIHBhY2sucGFkZGluZyA9
IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRkaW5nID0g
dHlwZW9mIHggPT09ICJmdW5jdGlvbiIgPyB4IDogY29uc3RhbnQkOSgreCksIHBhY2spIDogcGFk
ZGluZzsKKyAgfTsKKworICByZXR1cm4gcGFjazsKK30KKworZnVuY3Rpb24gcmFkaXVzTGVhZihy
YWRpdXMpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKG5vZGUpIHsKKyAgICBpZiAoIW5vZGUuY2hpbGRy
ZW4pIHsKKyAgICAgIG5vZGUuciA9IE1hdGgubWF4KDAsICtyYWRpdXMobm9kZSkgfHwgMCk7Cisg
ICAgfQorICB9OworfQorCitmdW5jdGlvbiBwYWNrQ2hpbGRyZW4ocGFkZGluZywgaykgeworICBy
ZXR1cm4gZnVuY3Rpb24obm9kZSkgeworICAgIGlmIChjaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW4p
IHsKKyAgICAgIHZhciBjaGlsZHJlbiwKKyAgICAgICAgICBpLAorICAgICAgICAgIG4gPSBjaGls
ZHJlbi5sZW5ndGgsCisgICAgICAgICAgciA9IHBhZGRpbmcobm9kZSkgKiBrIHx8IDAsCisgICAg
ICAgICAgZTsKKworICAgICAgaWYgKHIpIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIGNoaWxkcmVu
W2ldLnIgKz0gcjsKKyAgICAgIGUgPSBwYWNrRW5jbG9zZShjaGlsZHJlbik7CisgICAgICBpZiAo
cikgZm9yIChpID0gMDsgaSA8IG47ICsraSkgY2hpbGRyZW5baV0uciAtPSByOworICAgICAgbm9k
ZS5yID0gZSArIHI7CisgICAgfQorICB9OworfQorCitmdW5jdGlvbiB0cmFuc2xhdGVDaGlsZChr
KSB7CisgIHJldHVybiBmdW5jdGlvbihub2RlKSB7CisgICAgdmFyIHBhcmVudCA9IG5vZGUucGFy
ZW50OworICAgIG5vZGUuciAqPSBrOworICAgIGlmIChwYXJlbnQpIHsKKyAgICAgIG5vZGUueCA9
IHBhcmVudC54ICsgayAqIG5vZGUueDsKKyAgICAgIG5vZGUueSA9IHBhcmVudC55ICsgayAqIG5v
ZGUueTsKKyAgICB9CisgIH07Cit9CisKK2Z1bmN0aW9uIHJvdW5kTm9kZShub2RlKSB7CisgIG5v
ZGUueDAgPSBNYXRoLnJvdW5kKG5vZGUueDApOworICBub2RlLnkwID0gTWF0aC5yb3VuZChub2Rl
LnkwKTsKKyAgbm9kZS54MSA9IE1hdGgucm91bmQobm9kZS54MSk7CisgIG5vZGUueTEgPSBNYXRo
LnJvdW5kKG5vZGUueTEpOworfQorCitmdW5jdGlvbiB0cmVlbWFwRGljZShwYXJlbnQsIHgwLCB5
MCwgeDEsIHkxKSB7CisgIHZhciBub2RlcyA9IHBhcmVudC5jaGlsZHJlbiwKKyAgICAgIG5vZGUs
CisgICAgICBpID0gLTEsCisgICAgICBuID0gbm9kZXMubGVuZ3RoLAorICAgICAgayA9IHBhcmVu
dC52YWx1ZSAmJiAoeDEgLSB4MCkgLyBwYXJlbnQudmFsdWU7CisKKyAgd2hpbGUgKCsraSA8IG4p
IHsKKyAgICBub2RlID0gbm9kZXNbaV0sIG5vZGUueTAgPSB5MCwgbm9kZS55MSA9IHkxOworICAg
IG5vZGUueDAgPSB4MCwgbm9kZS54MSA9IHgwICs9IG5vZGUudmFsdWUgKiBrOworICB9Cit9CisK
K2Z1bmN0aW9uIHBhcnRpdGlvbigpIHsKKyAgdmFyIGR4ID0gMSwKKyAgICAgIGR5ID0gMSwKKyAg
ICAgIHBhZGRpbmcgPSAwLAorICAgICAgcm91bmQgPSBmYWxzZTsKKworICBmdW5jdGlvbiBwYXJ0
aXRpb24ocm9vdCkgeworICAgIHZhciBuID0gcm9vdC5oZWlnaHQgKyAxOworICAgIHJvb3QueDAg
PQorICAgIHJvb3QueTAgPSBwYWRkaW5nOworICAgIHJvb3QueDEgPSBkeDsKKyAgICByb290Lnkx
ID0gZHkgLyBuOworICAgIHJvb3QuZWFjaEJlZm9yZShwb3NpdGlvbk5vZGUoZHksIG4pKTsKKyAg
ICBpZiAocm91bmQpIHJvb3QuZWFjaEJlZm9yZShyb3VuZE5vZGUpOworICAgIHJldHVybiByb290
OworICB9CisKKyAgZnVuY3Rpb24gcG9zaXRpb25Ob2RlKGR5LCBuKSB7CisgICAgcmV0dXJuIGZ1
bmN0aW9uKG5vZGUpIHsKKyAgICAgIGlmIChub2RlLmNoaWxkcmVuKSB7CisgICAgICAgIHRyZWVt
YXBEaWNlKG5vZGUsIG5vZGUueDAsIGR5ICogKG5vZGUuZGVwdGggKyAxKSAvIG4sIG5vZGUueDEs
IGR5ICogKG5vZGUuZGVwdGggKyAyKSAvIG4pOworICAgICAgfQorICAgICAgdmFyIHgwID0gbm9k
ZS54MCwKKyAgICAgICAgICB5MCA9IG5vZGUueTAsCisgICAgICAgICAgeDEgPSBub2RlLngxIC0g
cGFkZGluZywKKyAgICAgICAgICB5MSA9IG5vZGUueTEgLSBwYWRkaW5nOworICAgICAgaWYgKHgx
IDwgeDApIHgwID0geDEgPSAoeDAgKyB4MSkgLyAyOworICAgICAgaWYgKHkxIDwgeTApIHkwID0g
eTEgPSAoeTAgKyB5MSkgLyAyOworICAgICAgbm9kZS54MCA9IHgwOworICAgICAgbm9kZS55MCA9
IHkwOworICAgICAgbm9kZS54MSA9IHgxOworICAgICAgbm9kZS55MSA9IHkxOworICAgIH07Cisg
IH0KKworICBwYXJ0aXRpb24ucm91bmQgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAocm91bmQgPSAhIXgsIHBhcnRpdGlvbikgOiByb3VuZDsKKyAgfTsKKwor
ICBwYXJ0aXRpb24uc2l6ZSA9IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/IChkeCA9ICt4WzBdLCBkeSA9ICt4WzFdLCBwYXJ0aXRpb24pIDogW2R4LCBkeV07Cisg
IH07CisKKyAgcGFydGl0aW9uLnBhZGRpbmcgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAocGFkZGluZyA9ICt4LCBwYXJ0aXRpb24pIDogcGFkZGluZzsKKyAg
fTsKKworICByZXR1cm4gcGFydGl0aW9uOworfQorCit2YXIga2V5UHJlZml4JDEgPSAiJCIsIC8v
IFByb3RlY3QgYWdhaW5zdCBrZXlzIGxpa2Ug4oCcX19wcm90b19f4oCdLgorICAgIHByZXJvb3Qg
PSB7ZGVwdGg6IC0xfSwKKyAgICBhbWJpZ3VvdXMgPSB7fTsKKworZnVuY3Rpb24gZGVmYXVsdElk
KGQpIHsKKyAgcmV0dXJuIGQuaWQ7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRQYXJlbnRJZChkKSB7
CisgIHJldHVybiBkLnBhcmVudElkOworfQorCitmdW5jdGlvbiBzdHJhdGlmeSgpIHsKKyAgdmFy
IGlkID0gZGVmYXVsdElkLAorICAgICAgcGFyZW50SWQgPSBkZWZhdWx0UGFyZW50SWQ7CisKKyAg
ZnVuY3Rpb24gc3RyYXRpZnkoZGF0YSkgeworICAgIHZhciBkLAorICAgICAgICBpLAorICAgICAg
ICBuID0gZGF0YS5sZW5ndGgsCisgICAgICAgIHJvb3QsCisgICAgICAgIHBhcmVudCwKKyAgICAg
ICAgbm9kZSwKKyAgICAgICAgbm9kZXMgPSBuZXcgQXJyYXkobiksCisgICAgICAgIG5vZGVJZCwK
KyAgICAgICAgbm9kZUtleSwKKyAgICAgICAgbm9kZUJ5S2V5ID0ge307CisKKyAgICBmb3IgKGkg
PSAwOyBpIDwgbjsgKytpKSB7CisgICAgICBkID0gZGF0YVtpXSwgbm9kZSA9IG5vZGVzW2ldID0g
bmV3IE5vZGUoZCk7CisgICAgICBpZiAoKG5vZGVJZCA9IGlkKGQsIGksIGRhdGEpKSAhPSBudWxs
ICYmIChub2RlSWQgKz0gIiIpKSB7CisgICAgICAgIG5vZGVLZXkgPSBrZXlQcmVmaXgkMSArIChu
b2RlLmlkID0gbm9kZUlkKTsKKyAgICAgICAgbm9kZUJ5S2V5W25vZGVLZXldID0gbm9kZUtleSBp
biBub2RlQnlLZXkgPyBhbWJpZ3VvdXMgOiBub2RlOworICAgICAgfQorICAgIH0KKworICAgIGZv
ciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIG5vZGUgPSBub2Rlc1tpXSwgbm9kZUlkID0g
cGFyZW50SWQoZGF0YVtpXSwgaSwgZGF0YSk7CisgICAgICBpZiAobm9kZUlkID09IG51bGwgfHwg
IShub2RlSWQgKz0gIiIpKSB7CisgICAgICAgIGlmIChyb290KSB0aHJvdyBuZXcgRXJyb3IoIm11
bHRpcGxlIHJvb3RzIik7CisgICAgICAgIHJvb3QgPSBub2RlOworICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgcGFyZW50ID0gbm9kZUJ5S2V5W2tleVByZWZpeCQxICsgbm9kZUlkXTsKKyAgICAgICAg
aWYgKCFwYXJlbnQpIHRocm93IG5ldyBFcnJvcigibWlzc2luZzogIiArIG5vZGVJZCk7CisgICAg
ICAgIGlmIChwYXJlbnQgPT09IGFtYmlndW91cykgdGhyb3cgbmV3IEVycm9yKCJhbWJpZ3VvdXM6
ICIgKyBub2RlSWQpOworICAgICAgICBpZiAocGFyZW50LmNoaWxkcmVuKSBwYXJlbnQuY2hpbGRy
ZW4ucHVzaChub2RlKTsKKyAgICAgICAgZWxzZSBwYXJlbnQuY2hpbGRyZW4gPSBbbm9kZV07Cisg
ICAgICAgIG5vZGUucGFyZW50ID0gcGFyZW50OworICAgICAgfQorICAgIH0KKworICAgIGlmICgh
cm9vdCkgdGhyb3cgbmV3IEVycm9yKCJubyByb290Iik7CisgICAgcm9vdC5wYXJlbnQgPSBwcmVy
b290OworICAgIHJvb3QuZWFjaEJlZm9yZShmdW5jdGlvbihub2RlKSB7IG5vZGUuZGVwdGggPSBu
b2RlLnBhcmVudC5kZXB0aCArIDE7IC0tbjsgfSkuZWFjaEJlZm9yZShjb21wdXRlSGVpZ2h0KTsK
KyAgICByb290LnBhcmVudCA9IG51bGw7CisgICAgaWYgKG4gPiAwKSB0aHJvdyBuZXcgRXJyb3Io
ImN5Y2xlIik7CisKKyAgICByZXR1cm4gcm9vdDsKKyAgfQorCisgIHN0cmF0aWZ5LmlkID0gZnVu
Y3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGlkID0gcmVxdWlyZWQo
eCksIHN0cmF0aWZ5KSA6IGlkOworICB9OworCisgIHN0cmF0aWZ5LnBhcmVudElkID0gZnVuY3Rp
b24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhcmVudElkID0gcmVxdWly
ZWQoeCksIHN0cmF0aWZ5KSA6IHBhcmVudElkOworICB9OworCisgIHJldHVybiBzdHJhdGlmeTsK
K30KKworZnVuY3Rpb24gZGVmYXVsdFNlcGFyYXRpb24kMShhLCBiKSB7CisgIHJldHVybiBhLnBh
cmVudCA9PT0gYi5wYXJlbnQgPyAxIDogMjsKK30KKworLy8gZnVuY3Rpb24gcmFkaWFsU2VwYXJh
dGlvbihhLCBiKSB7CisvLyAgIHJldHVybiAoYS5wYXJlbnQgPT09IGIucGFyZW50ID8gMSA6IDIp
IC8gYS5kZXB0aDsKKy8vIH0KKworLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHRyYXZlcnNl
IHRoZSBsZWZ0IGNvbnRvdXIgb2YgYSBzdWJ0cmVlIChvcgorLy8gc3ViZm9yZXN0KS4gSXQgcmV0
dXJucyB0aGUgc3VjY2Vzc29yIG9mIHYgb24gdGhpcyBjb250b3VyLiBUaGlzIHN1Y2Nlc3NvciBp
cworLy8gZWl0aGVyIGdpdmVuIGJ5IHRoZSBsZWZ0bW9zdCBjaGlsZCBvZiB2IG9yIGJ5IHRoZSB0
aHJlYWQgb2Ygdi4gVGhlIGZ1bmN0aW9uCisvLyByZXR1cm5zIG51bGwgaWYgYW5kIG9ubHkgaWYg
diBpcyBvbiB0aGUgaGlnaGVzdCBsZXZlbCBvZiBpdHMgc3VidHJlZS4KK2Z1bmN0aW9uIG5leHRM
ZWZ0KHYpIHsKKyAgdmFyIGNoaWxkcmVuID0gdi5jaGlsZHJlbjsKKyAgcmV0dXJuIGNoaWxkcmVu
ID8gY2hpbGRyZW5bMF0gOiB2LnQ7Cit9CisKKy8vIFRoaXMgZnVuY3Rpb24gd29ya3MgYW5hbG9n
b3VzbHkgdG8gbmV4dExlZnQuCitmdW5jdGlvbiBuZXh0UmlnaHQodikgeworICB2YXIgY2hpbGRy
ZW4gPSB2LmNoaWxkcmVuOworICByZXR1cm4gY2hpbGRyZW4gPyBjaGlsZHJlbltjaGlsZHJlbi5s
ZW5ndGggLSAxXSA6IHYudDsKK30KKworLy8gU2hpZnRzIHRoZSBjdXJyZW50IHN1YnRyZWUgcm9v
dGVkIGF0IHcrLiBUaGlzIGlzIGRvbmUgYnkgaW5jcmVhc2luZworLy8gcHJlbGltKHcrKSBhbmQg
bW9kKHcrKSBieSBzaGlmdC4KK2Z1bmN0aW9uIG1vdmVTdWJ0cmVlKHdtLCB3cCwgc2hpZnQpIHsK
KyAgdmFyIGNoYW5nZSA9IHNoaWZ0IC8gKHdwLmkgLSB3bS5pKTsKKyAgd3AuYyAtPSBjaGFuZ2U7
CisgIHdwLnMgKz0gc2hpZnQ7CisgIHdtLmMgKz0gY2hhbmdlOworICB3cC56ICs9IHNoaWZ0Owor
ICB3cC5tICs9IHNoaWZ0OworfQorCisvLyBBbGwgb3RoZXIgc2hpZnRzLCBhcHBsaWVkIHRvIHRo
ZSBzbWFsbGVyIHN1YnRyZWVzIGJldHdlZW4gdy0gYW5kIHcrLCBhcmUKKy8vIHBlcmZvcm1lZCBi
eSB0aGlzIGZ1bmN0aW9uLiBUbyBwcmVwYXJlIHRoZSBzaGlmdHMsIHdlIGhhdmUgdG8gYWRqdXN0
CisvLyBjaGFuZ2UodyspLCBzaGlmdCh3KyksIGFuZCBjaGFuZ2Uody0pLgorZnVuY3Rpb24gZXhl
Y3V0ZVNoaWZ0cyh2KSB7CisgIHZhciBzaGlmdCA9IDAsCisgICAgICBjaGFuZ2UgPSAwLAorICAg
ICAgY2hpbGRyZW4gPSB2LmNoaWxkcmVuLAorICAgICAgaSA9IGNoaWxkcmVuLmxlbmd0aCwKKyAg
ICAgIHc7CisgIHdoaWxlICgtLWkgPj0gMCkgeworICAgIHcgPSBjaGlsZHJlbltpXTsKKyAgICB3
LnogKz0gc2hpZnQ7CisgICAgdy5tICs9IHNoaWZ0OworICAgIHNoaWZ0ICs9IHcucyArIChjaGFu
Z2UgKz0gdy5jKTsKKyAgfQorfQorCisvLyBJZiB2aS3igJlzIGFuY2VzdG9yIGlzIGEgc2libGlu
ZyBvZiB2LCByZXR1cm5zIHZpLeKAmXMgYW5jZXN0b3IuIE90aGVyd2lzZSwKKy8vIHJldHVybnMg
dGhlIHNwZWNpZmllZCAoZGVmYXVsdCkgYW5jZXN0b3IuCitmdW5jdGlvbiBuZXh0QW5jZXN0b3Io
dmltLCB2LCBhbmNlc3RvcikgeworICByZXR1cm4gdmltLmEucGFyZW50ID09PSB2LnBhcmVudCA/
IHZpbS5hIDogYW5jZXN0b3I7Cit9CisKK2Z1bmN0aW9uIFRyZWVOb2RlKG5vZGUsIGkpIHsKKyAg
dGhpcy5fID0gbm9kZTsKKyAgdGhpcy5wYXJlbnQgPSBudWxsOworICB0aGlzLmNoaWxkcmVuID0g
bnVsbDsKKyAgdGhpcy5BID0gbnVsbDsgLy8gZGVmYXVsdCBhbmNlc3RvcgorICB0aGlzLmEgPSB0
aGlzOyAvLyBhbmNlc3RvcgorICB0aGlzLnogPSAwOyAvLyBwcmVsaW0KKyAgdGhpcy5tID0gMDsg
Ly8gbW9kCisgIHRoaXMuYyA9IDA7IC8vIGNoYW5nZQorICB0aGlzLnMgPSAwOyAvLyBzaGlmdAor
ICB0aGlzLnQgPSBudWxsOyAvLyB0aHJlYWQKKyAgdGhpcy5pID0gaTsgLy8gbnVtYmVyCit9CisK
K1RyZWVOb2RlLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoTm9kZS5wcm90b3R5cGUpOworCitm
dW5jdGlvbiB0cmVlUm9vdChyb290KSB7CisgIHZhciB0cmVlID0gbmV3IFRyZWVOb2RlKHJvb3Qs
IDApLAorICAgICAgbm9kZSwKKyAgICAgIG5vZGVzID0gW3RyZWVdLAorICAgICAgY2hpbGQsCisg
ICAgICBjaGlsZHJlbiwKKyAgICAgIGksCisgICAgICBuOworCisgIHdoaWxlIChub2RlID0gbm9k
ZXMucG9wKCkpIHsKKyAgICBpZiAoY2hpbGRyZW4gPSBub2RlLl8uY2hpbGRyZW4pIHsKKyAgICAg
IG5vZGUuY2hpbGRyZW4gPSBuZXcgQXJyYXkobiA9IGNoaWxkcmVuLmxlbmd0aCk7CisgICAgICBm
b3IgKGkgPSBuIC0gMTsgaSA+PSAwOyAtLWkpIHsKKyAgICAgICAgbm9kZXMucHVzaChjaGlsZCA9
IG5vZGUuY2hpbGRyZW5baV0gPSBuZXcgVHJlZU5vZGUoY2hpbGRyZW5baV0sIGkpKTsKKyAgICAg
ICAgY2hpbGQucGFyZW50ID0gbm9kZTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICAodHJlZS5w
YXJlbnQgPSBuZXcgVHJlZU5vZGUobnVsbCwgMCkpLmNoaWxkcmVuID0gW3RyZWVdOworICByZXR1
cm4gdHJlZTsKK30KKworLy8gTm9kZS1saW5rIHRyZWUgZGlhZ3JhbSB1c2luZyB0aGUgUmVpbmdv
bGQtVGlsZm9yZCAidGlkeSIgYWxnb3JpdGhtCitmdW5jdGlvbiB0cmVlKCkgeworICB2YXIgc2Vw
YXJhdGlvbiA9IGRlZmF1bHRTZXBhcmF0aW9uJDEsCisgICAgICBkeCA9IDEsCisgICAgICBkeSA9
IDEsCisgICAgICBub2RlU2l6ZSA9IG51bGw7CisKKyAgZnVuY3Rpb24gdHJlZShyb290KSB7Cisg
ICAgdmFyIHQgPSB0cmVlUm9vdChyb290KTsKKworICAgIC8vIENvbXB1dGUgdGhlIGxheW91dCB1
c2luZyBCdWNoaGVpbSBldCBhbC7igJlzIGFsZ29yaXRobS4KKyAgICB0LmVhY2hBZnRlcihmaXJz
dFdhbGspLCB0LnBhcmVudC5tID0gLXQuejsKKyAgICB0LmVhY2hCZWZvcmUoc2Vjb25kV2Fsayk7
CisKKyAgICAvLyBJZiBhIGZpeGVkIG5vZGUgc2l6ZSBpcyBzcGVjaWZpZWQsIHNjYWxlIHggYW5k
IHkuCisgICAgaWYgKG5vZGVTaXplKSByb290LmVhY2hCZWZvcmUoc2l6ZU5vZGUpOworCisgICAg
Ly8gSWYgYSBmaXhlZCB0cmVlIHNpemUgaXMgc3BlY2lmaWVkLCBzY2FsZSB4IGFuZCB5IGJhc2Vk
IG9uIHRoZSBleHRlbnQuCisgICAgLy8gQ29tcHV0ZSB0aGUgbGVmdC1tb3N0LCByaWdodC1tb3N0
LCBhbmQgZGVwdGgtbW9zdCBub2RlcyBmb3IgZXh0ZW50cy4KKyAgICBlbHNlIHsKKyAgICAgIHZh
ciBsZWZ0ID0gcm9vdCwKKyAgICAgICAgICByaWdodCA9IHJvb3QsCisgICAgICAgICAgYm90dG9t
ID0gcm9vdDsKKyAgICAgIHJvb3QuZWFjaEJlZm9yZShmdW5jdGlvbihub2RlKSB7CisgICAgICAg
IGlmIChub2RlLnggPCBsZWZ0LngpIGxlZnQgPSBub2RlOworICAgICAgICBpZiAobm9kZS54ID4g
cmlnaHQueCkgcmlnaHQgPSBub2RlOworICAgICAgICBpZiAobm9kZS5kZXB0aCA+IGJvdHRvbS5k
ZXB0aCkgYm90dG9tID0gbm9kZTsKKyAgICAgIH0pOworICAgICAgdmFyIHMgPSBsZWZ0ID09PSBy
aWdodCA/IDEgOiBzZXBhcmF0aW9uKGxlZnQsIHJpZ2h0KSAvIDIsCisgICAgICAgICAgdHggPSBz
IC0gbGVmdC54LAorICAgICAgICAgIGt4ID0gZHggLyAocmlnaHQueCArIHMgKyB0eCksCisgICAg
ICAgICAga3kgPSBkeSAvIChib3R0b20uZGVwdGggfHwgMSk7CisgICAgICByb290LmVhY2hCZWZv
cmUoZnVuY3Rpb24obm9kZSkgeworICAgICAgICBub2RlLnggPSAobm9kZS54ICsgdHgpICoga3g7
CisgICAgICAgIG5vZGUueSA9IG5vZGUuZGVwdGggKiBreTsKKyAgICAgIH0pOworICAgIH0KKwor
ICAgIHJldHVybiByb290OworICB9CisKKyAgLy8gQ29tcHV0ZXMgYSBwcmVsaW1pbmFyeSB4LWNv
b3JkaW5hdGUgZm9yIHYuIEJlZm9yZSB0aGF0LCBGSVJTVCBXQUxLIGlzCisgIC8vIGFwcGxpZWQg
cmVjdXJzaXZlbHkgdG8gdGhlIGNoaWxkcmVuIG9mIHYsIGFzIHdlbGwgYXMgdGhlIGZ1bmN0aW9u
CisgIC8vIEFQUE9SVElPTi4gQWZ0ZXIgc3BhY2luZyBvdXQgdGhlIGNoaWxkcmVuIGJ5IGNhbGxp
bmcgRVhFQ1VURSBTSElGVFMsIHRoZQorICAvLyBub2RlIHYgaXMgcGxhY2VkIHRvIHRoZSBtaWRw
b2ludCBvZiBpdHMgb3V0ZXJtb3N0IGNoaWxkcmVuLgorICBmdW5jdGlvbiBmaXJzdFdhbGsodikg
eworICAgIHZhciBjaGlsZHJlbiA9IHYuY2hpbGRyZW4sCisgICAgICAgIHNpYmxpbmdzID0gdi5w
YXJlbnQuY2hpbGRyZW4sCisgICAgICAgIHcgPSB2LmkgPyBzaWJsaW5nc1t2LmkgLSAxXSA6IG51
bGw7CisgICAgaWYgKGNoaWxkcmVuKSB7CisgICAgICBleGVjdXRlU2hpZnRzKHYpOworICAgICAg
dmFyIG1pZHBvaW50ID0gKGNoaWxkcmVuWzBdLnogKyBjaGlsZHJlbltjaGlsZHJlbi5sZW5ndGgg
LSAxXS56KSAvIDI7CisgICAgICBpZiAodykgeworICAgICAgICB2LnogPSB3LnogKyBzZXBhcmF0
aW9uKHYuXywgdy5fKTsKKyAgICAgICAgdi5tID0gdi56IC0gbWlkcG9pbnQ7CisgICAgICB9IGVs
c2UgeworICAgICAgICB2LnogPSBtaWRwb2ludDsKKyAgICAgIH0KKyAgICB9IGVsc2UgaWYgKHcp
IHsKKyAgICAgIHYueiA9IHcueiArIHNlcGFyYXRpb24odi5fLCB3Ll8pOworICAgIH0KKyAgICB2
LnBhcmVudC5BID0gYXBwb3J0aW9uKHYsIHcsIHYucGFyZW50LkEgfHwgc2libGluZ3NbMF0pOwor
ICB9CisKKyAgLy8gQ29tcHV0ZXMgYWxsIHJlYWwgeC1jb29yZGluYXRlcyBieSBzdW1taW5nIHVw
IHRoZSBtb2RpZmllcnMgcmVjdXJzaXZlbHkuCisgIGZ1bmN0aW9uIHNlY29uZFdhbGsodikgewor
ICAgIHYuXy54ID0gdi56ICsgdi5wYXJlbnQubTsKKyAgICB2Lm0gKz0gdi5wYXJlbnQubTsKKyAg
fQorCisgIC8vIFRoZSBjb3JlIG9mIHRoZSBhbGdvcml0aG0uIEhlcmUsIGEgbmV3IHN1YnRyZWUg
aXMgY29tYmluZWQgd2l0aCB0aGUKKyAgLy8gcHJldmlvdXMgc3VidHJlZXMuIFRocmVhZHMgYXJl
IHVzZWQgdG8gdHJhdmVyc2UgdGhlIGluc2lkZSBhbmQgb3V0c2lkZQorICAvLyBjb250b3VycyBv
ZiB0aGUgbGVmdCBhbmQgcmlnaHQgc3VidHJlZSB1cCB0byB0aGUgaGlnaGVzdCBjb21tb24gbGV2
ZWwuIFRoZQorICAvLyB2ZXJ0aWNlcyB1c2VkIGZvciB0aGUgdHJhdmVyc2FscyBhcmUgdmkrLCB2
aS0sIHZvLSwgYW5kIHZvKywgd2hlcmUgdGhlCisgIC8vIHN1cGVyc2NyaXB0IG8gbWVhbnMgb3V0
c2lkZSBhbmQgaSBtZWFucyBpbnNpZGUsIHRoZSBzdWJzY3JpcHQgLSBtZWFucyBsZWZ0CisgIC8v
IHN1YnRyZWUgYW5kICsgbWVhbnMgcmlnaHQgc3VidHJlZS4gRm9yIHN1bW1pbmcgdXAgdGhlIG1v
ZGlmaWVycyBhbG9uZyB0aGUKKyAgLy8gY29udG91ciwgd2UgdXNlIHJlc3BlY3RpdmUgdmFyaWFi
bGVzIHNpKywgc2ktLCBzby0sIGFuZCBzbysuIFdoZW5ldmVyIHR3bworICAvLyBub2RlcyBvZiB0
aGUgaW5zaWRlIGNvbnRvdXJzIGNvbmZsaWN0LCB3ZSBjb21wdXRlIHRoZSBsZWZ0IG9uZSBvZiB0
aGUKKyAgLy8gZ3JlYXRlc3QgdW5jb21tb24gYW5jZXN0b3JzIHVzaW5nIHRoZSBmdW5jdGlvbiBB
TkNFU1RPUiBhbmQgY2FsbCBNT1ZFCisgIC8vIFNVQlRSRUUgdG8gc2hpZnQgdGhlIHN1YnRyZWUg
YW5kIHByZXBhcmUgdGhlIHNoaWZ0cyBvZiBzbWFsbGVyIHN1YnRyZWVzLgorICAvLyBGaW5hbGx5
LCB3ZSBhZGQgYSBuZXcgdGhyZWFkIChpZiBuZWNlc3NhcnkpLgorICBmdW5jdGlvbiBhcHBvcnRp
b24odiwgdywgYW5jZXN0b3IpIHsKKyAgICBpZiAodykgeworICAgICAgdmFyIHZpcCA9IHYsCisg
ICAgICAgICAgdm9wID0gdiwKKyAgICAgICAgICB2aW0gPSB3LAorICAgICAgICAgIHZvbSA9IHZp
cC5wYXJlbnQuY2hpbGRyZW5bMF0sCisgICAgICAgICAgc2lwID0gdmlwLm0sCisgICAgICAgICAg
c29wID0gdm9wLm0sCisgICAgICAgICAgc2ltID0gdmltLm0sCisgICAgICAgICAgc29tID0gdm9t
Lm0sCisgICAgICAgICAgc2hpZnQ7CisgICAgICB3aGlsZSAodmltID0gbmV4dFJpZ2h0KHZpbSks
IHZpcCA9IG5leHRMZWZ0KHZpcCksIHZpbSAmJiB2aXApIHsKKyAgICAgICAgdm9tID0gbmV4dExl
ZnQodm9tKTsKKyAgICAgICAgdm9wID0gbmV4dFJpZ2h0KHZvcCk7CisgICAgICAgIHZvcC5hID0g
djsKKyAgICAgICAgc2hpZnQgPSB2aW0ueiArIHNpbSAtIHZpcC56IC0gc2lwICsgc2VwYXJhdGlv
bih2aW0uXywgdmlwLl8pOworICAgICAgICBpZiAoc2hpZnQgPiAwKSB7CisgICAgICAgICAgbW92
ZVN1YnRyZWUobmV4dEFuY2VzdG9yKHZpbSwgdiwgYW5jZXN0b3IpLCB2LCBzaGlmdCk7CisgICAg
ICAgICAgc2lwICs9IHNoaWZ0OworICAgICAgICAgIHNvcCArPSBzaGlmdDsKKyAgICAgICAgfQor
ICAgICAgICBzaW0gKz0gdmltLm07CisgICAgICAgIHNpcCArPSB2aXAubTsKKyAgICAgICAgc29t
ICs9IHZvbS5tOworICAgICAgICBzb3AgKz0gdm9wLm07CisgICAgICB9CisgICAgICBpZiAodmlt
ICYmICFuZXh0UmlnaHQodm9wKSkgeworICAgICAgICB2b3AudCA9IHZpbTsKKyAgICAgICAgdm9w
Lm0gKz0gc2ltIC0gc29wOworICAgICAgfQorICAgICAgaWYgKHZpcCAmJiAhbmV4dExlZnQodm9t
KSkgeworICAgICAgICB2b20udCA9IHZpcDsKKyAgICAgICAgdm9tLm0gKz0gc2lwIC0gc29tOwor
ICAgICAgICBhbmNlc3RvciA9IHY7CisgICAgICB9CisgICAgfQorICAgIHJldHVybiBhbmNlc3Rv
cjsKKyAgfQorCisgIGZ1bmN0aW9uIHNpemVOb2RlKG5vZGUpIHsKKyAgICBub2RlLnggKj0gZHg7
CisgICAgbm9kZS55ID0gbm9kZS5kZXB0aCAqIGR5OworICB9CisKKyAgdHJlZS5zZXBhcmF0aW9u
ID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNlcGFyYXRp
b24gPSB4LCB0cmVlKSA6IHNlcGFyYXRpb247CisgIH07CisKKyAgdHJlZS5zaXplID0gZnVuY3Rp
b24oeCkgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKG5vZGVTaXplID0gZmFsc2Us
IGR4ID0gK3hbMF0sIGR5ID0gK3hbMV0sIHRyZWUpIDogKG5vZGVTaXplID8gbnVsbCA6IFtkeCwg
ZHldKTsKKyAgfTsKKworICB0cmVlLm5vZGVTaXplID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVy
biBhcmd1bWVudHMubGVuZ3RoID8gKG5vZGVTaXplID0gdHJ1ZSwgZHggPSAreFswXSwgZHkgPSAr
eFsxXSwgdHJlZSkgOiAobm9kZVNpemUgPyBbZHgsIGR5XSA6IG51bGwpOworICB9OworCisgIHJl
dHVybiB0cmVlOworfQorCitmdW5jdGlvbiB0cmVlbWFwU2xpY2UocGFyZW50LCB4MCwgeTAsIHgx
LCB5MSkgeworICB2YXIgbm9kZXMgPSBwYXJlbnQuY2hpbGRyZW4sCisgICAgICBub2RlLAorICAg
ICAgaSA9IC0xLAorICAgICAgbiA9IG5vZGVzLmxlbmd0aCwKKyAgICAgIGsgPSBwYXJlbnQudmFs
dWUgJiYgKHkxIC0geTApIC8gcGFyZW50LnZhbHVlOworCisgIHdoaWxlICgrK2kgPCBuKSB7Cisg
ICAgbm9kZSA9IG5vZGVzW2ldLCBub2RlLngwID0geDAsIG5vZGUueDEgPSB4MTsKKyAgICBub2Rl
LnkwID0geTAsIG5vZGUueTEgPSB5MCArPSBub2RlLnZhbHVlICogazsKKyAgfQorfQorCit2YXIg
cGhpID0gKDEgKyBNYXRoLnNxcnQoNSkpIC8gMjsKKworZnVuY3Rpb24gc3F1YXJpZnlSYXRpbyhy
YXRpbywgcGFyZW50LCB4MCwgeTAsIHgxLCB5MSkgeworICB2YXIgcm93cyA9IFtdLAorICAgICAg
bm9kZXMgPSBwYXJlbnQuY2hpbGRyZW4sCisgICAgICByb3csCisgICAgICBub2RlVmFsdWUsCisg
ICAgICBpMCA9IDAsCisgICAgICBpMSA9IDAsCisgICAgICBuID0gbm9kZXMubGVuZ3RoLAorICAg
ICAgZHgsIGR5LAorICAgICAgdmFsdWUgPSBwYXJlbnQudmFsdWUsCisgICAgICBzdW1WYWx1ZSwK
KyAgICAgIG1pblZhbHVlLAorICAgICAgbWF4VmFsdWUsCisgICAgICBuZXdSYXRpbywKKyAgICAg
IG1pblJhdGlvLAorICAgICAgYWxwaGEsCisgICAgICBiZXRhOworCisgIHdoaWxlIChpMCA8IG4p
IHsKKyAgICBkeCA9IHgxIC0geDAsIGR5ID0geTEgLSB5MDsKKworICAgIC8vIEZpbmQgdGhlIG5l
eHQgbm9uLWVtcHR5IG5vZGUuCisgICAgZG8gc3VtVmFsdWUgPSBub2Rlc1tpMSsrXS52YWx1ZTsg
d2hpbGUgKCFzdW1WYWx1ZSAmJiBpMSA8IG4pOworICAgIG1pblZhbHVlID0gbWF4VmFsdWUgPSBz
dW1WYWx1ZTsKKyAgICBhbHBoYSA9IE1hdGgubWF4KGR5IC8gZHgsIGR4IC8gZHkpIC8gKHZhbHVl
ICogcmF0aW8pOworICAgIGJldGEgPSBzdW1WYWx1ZSAqIHN1bVZhbHVlICogYWxwaGE7CisgICAg
bWluUmF0aW8gPSBNYXRoLm1heChtYXhWYWx1ZSAvIGJldGEsIGJldGEgLyBtaW5WYWx1ZSk7CisK
KyAgICAvLyBLZWVwIGFkZGluZyBub2RlcyB3aGlsZSB0aGUgYXNwZWN0IHJhdGlvIG1haW50YWlu
cyBvciBpbXByb3Zlcy4KKyAgICBmb3IgKDsgaTEgPCBuOyArK2kxKSB7CisgICAgICBzdW1WYWx1
ZSArPSBub2RlVmFsdWUgPSBub2Rlc1tpMV0udmFsdWU7CisgICAgICBpZiAobm9kZVZhbHVlIDwg
bWluVmFsdWUpIG1pblZhbHVlID0gbm9kZVZhbHVlOworICAgICAgaWYgKG5vZGVWYWx1ZSA+IG1h
eFZhbHVlKSBtYXhWYWx1ZSA9IG5vZGVWYWx1ZTsKKyAgICAgIGJldGEgPSBzdW1WYWx1ZSAqIHN1
bVZhbHVlICogYWxwaGE7CisgICAgICBuZXdSYXRpbyA9IE1hdGgubWF4KG1heFZhbHVlIC8gYmV0
YSwgYmV0YSAvIG1pblZhbHVlKTsKKyAgICAgIGlmIChuZXdSYXRpbyA+IG1pblJhdGlvKSB7IHN1
bVZhbHVlIC09IG5vZGVWYWx1ZTsgYnJlYWs7IH0KKyAgICAgIG1pblJhdGlvID0gbmV3UmF0aW87
CisgICAgfQorCisgICAgLy8gUG9zaXRpb24gYW5kIHJlY29yZCB0aGUgcm93IG9yaWVudGF0aW9u
LgorICAgIHJvd3MucHVzaChyb3cgPSB7dmFsdWU6IHN1bVZhbHVlLCBkaWNlOiBkeCA8IGR5LCBj
aGlsZHJlbjogbm9kZXMuc2xpY2UoaTAsIGkxKX0pOworICAgIGlmIChyb3cuZGljZSkgdHJlZW1h
cERpY2Uocm93LCB4MCwgeTAsIHgxLCB2YWx1ZSA/IHkwICs9IGR5ICogc3VtVmFsdWUgLyB2YWx1
ZSA6IHkxKTsKKyAgICBlbHNlIHRyZWVtYXBTbGljZShyb3csIHgwLCB5MCwgdmFsdWUgPyB4MCAr
PSBkeCAqIHN1bVZhbHVlIC8gdmFsdWUgOiB4MSwgeTEpOworICAgIHZhbHVlIC09IHN1bVZhbHVl
LCBpMCA9IGkxOworICB9CisKKyAgcmV0dXJuIHJvd3M7Cit9CisKK3ZhciBzcXVhcmlmeSA9IChm
dW5jdGlvbiBjdXN0b20ocmF0aW8pIHsKKworICBmdW5jdGlvbiBzcXVhcmlmeShwYXJlbnQsIHgw
LCB5MCwgeDEsIHkxKSB7CisgICAgc3F1YXJpZnlSYXRpbyhyYXRpbywgcGFyZW50LCB4MCwgeTAs
IHgxLCB5MSk7CisgIH0KKworICBzcXVhcmlmeS5yYXRpbyA9IGZ1bmN0aW9uKHgpIHsKKyAgICBy
ZXR1cm4gY3VzdG9tKCh4ID0gK3gpID4gMSA/IHggOiAxKTsKKyAgfTsKKworICByZXR1cm4gc3F1
YXJpZnk7Cit9KShwaGkpOworCitmdW5jdGlvbiBpbmRleCQzKCkgeworICB2YXIgdGlsZSA9IHNx
dWFyaWZ5LAorICAgICAgcm91bmQgPSBmYWxzZSwKKyAgICAgIGR4ID0gMSwKKyAgICAgIGR5ID0g
MSwKKyAgICAgIHBhZGRpbmdTdGFjayA9IFswXSwKKyAgICAgIHBhZGRpbmdJbm5lciA9IGNvbnN0
YW50WmVybywKKyAgICAgIHBhZGRpbmdUb3AgPSBjb25zdGFudFplcm8sCisgICAgICBwYWRkaW5n
UmlnaHQgPSBjb25zdGFudFplcm8sCisgICAgICBwYWRkaW5nQm90dG9tID0gY29uc3RhbnRaZXJv
LAorICAgICAgcGFkZGluZ0xlZnQgPSBjb25zdGFudFplcm87CisKKyAgZnVuY3Rpb24gdHJlZW1h
cChyb290KSB7CisgICAgcm9vdC54MCA9CisgICAgcm9vdC55MCA9IDA7CisgICAgcm9vdC54MSA9
IGR4OworICAgIHJvb3QueTEgPSBkeTsKKyAgICByb290LmVhY2hCZWZvcmUocG9zaXRpb25Ob2Rl
KTsKKyAgICBwYWRkaW5nU3RhY2sgPSBbMF07CisgICAgaWYgKHJvdW5kKSByb290LmVhY2hCZWZv
cmUocm91bmROb2RlKTsKKyAgICByZXR1cm4gcm9vdDsKKyAgfQorCisgIGZ1bmN0aW9uIHBvc2l0
aW9uTm9kZShub2RlKSB7CisgICAgdmFyIHAgPSBwYWRkaW5nU3RhY2tbbm9kZS5kZXB0aF0sCisg
ICAgICAgIHgwID0gbm9kZS54MCArIHAsCisgICAgICAgIHkwID0gbm9kZS55MCArIHAsCisgICAg
ICAgIHgxID0gbm9kZS54MSAtIHAsCisgICAgICAgIHkxID0gbm9kZS55MSAtIHA7CisgICAgaWYg
KHgxIDwgeDApIHgwID0geDEgPSAoeDAgKyB4MSkgLyAyOworICAgIGlmICh5MSA8IHkwKSB5MCA9
IHkxID0gKHkwICsgeTEpIC8gMjsKKyAgICBub2RlLngwID0geDA7CisgICAgbm9kZS55MCA9IHkw
OworICAgIG5vZGUueDEgPSB4MTsKKyAgICBub2RlLnkxID0geTE7CisgICAgaWYgKG5vZGUuY2hp
bGRyZW4pIHsKKyAgICAgIHAgPSBwYWRkaW5nU3RhY2tbbm9kZS5kZXB0aCArIDFdID0gcGFkZGlu
Z0lubmVyKG5vZGUpIC8gMjsKKyAgICAgIHgwICs9IHBhZGRpbmdMZWZ0KG5vZGUpIC0gcDsKKyAg
ICAgIHkwICs9IHBhZGRpbmdUb3Aobm9kZSkgLSBwOworICAgICAgeDEgLT0gcGFkZGluZ1JpZ2h0
KG5vZGUpIC0gcDsKKyAgICAgIHkxIC09IHBhZGRpbmdCb3R0b20obm9kZSkgLSBwOworICAgICAg
aWYgKHgxIDwgeDApIHgwID0geDEgPSAoeDAgKyB4MSkgLyAyOworICAgICAgaWYgKHkxIDwgeTAp
IHkwID0geTEgPSAoeTAgKyB5MSkgLyAyOworICAgICAgdGlsZShub2RlLCB4MCwgeTAsIHgxLCB5
MSk7CisgICAgfQorICB9CisKKyAgdHJlZW1hcC5yb3VuZCA9IGZ1bmN0aW9uKHgpIHsKKyAgICBy
ZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChyb3VuZCA9ICEheCwgdHJlZW1hcCkgOiByb3VuZDsK
KyAgfTsKKworICB0cmVlbWFwLnNpemUgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAoZHggPSAreFswXSwgZHkgPSAreFsxXSwgdHJlZW1hcCkgOiBbZHgsIGR5
XTsKKyAgfTsKKworICB0cmVlbWFwLnRpbGUgPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGFy
Z3VtZW50cy5sZW5ndGggPyAodGlsZSA9IHJlcXVpcmVkKHgpLCB0cmVlbWFwKSA6IHRpbGU7Cisg
IH07CisKKyAgdHJlZW1hcC5wYWRkaW5nID0gZnVuY3Rpb24oeCkgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gdHJlZW1hcC5wYWRkaW5nSW5uZXIoeCkucGFkZGluZ091dGVyKHgpIDog
dHJlZW1hcC5wYWRkaW5nSW5uZXIoKTsKKyAgfTsKKworICB0cmVlbWFwLnBhZGRpbmdJbm5lciA9
IGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRkaW5nSW5u
ZXIgPSB0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiA/IHggOiBjb25zdGFudCQ5KCt4KSwgdHJlZW1h
cCkgOiBwYWRkaW5nSW5uZXI7CisgIH07CisKKyAgdHJlZW1hcC5wYWRkaW5nT3V0ZXIgPSBmdW5j
dGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyB0cmVlbWFwLnBhZGRpbmdU
b3AoeCkucGFkZGluZ1JpZ2h0KHgpLnBhZGRpbmdCb3R0b20oeCkucGFkZGluZ0xlZnQoeCkgOiB0
cmVlbWFwLnBhZGRpbmdUb3AoKTsKKyAgfTsKKworICB0cmVlbWFwLnBhZGRpbmdUb3AgPSBmdW5j
dGlvbih4KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocGFkZGluZ1RvcCA9IHR5
cGVvZiB4ID09PSAiZnVuY3Rpb24iID8geCA6IGNvbnN0YW50JDkoK3gpLCB0cmVlbWFwKSA6IHBh
ZGRpbmdUb3A7CisgIH07CisKKyAgdHJlZW1hcC5wYWRkaW5nUmlnaHQgPSBmdW5jdGlvbih4KSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocGFkZGluZ1JpZ2h0ID0gdHlwZW9mIHgg
PT09ICJmdW5jdGlvbiIgPyB4IDogY29uc3RhbnQkOSgreCksIHRyZWVtYXApIDogcGFkZGluZ1Jp
Z2h0OworICB9OworCisgIHRyZWVtYXAucGFkZGluZ0JvdHRvbSA9IGZ1bmN0aW9uKHgpIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRkaW5nQm90dG9tID0gdHlwZW9mIHggPT09
ICJmdW5jdGlvbiIgPyB4IDogY29uc3RhbnQkOSgreCksIHRyZWVtYXApIDogcGFkZGluZ0JvdHRv
bTsKKyAgfTsKKworICB0cmVlbWFwLnBhZGRpbmdMZWZ0ID0gZnVuY3Rpb24oeCkgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBhZGRpbmdMZWZ0ID0gdHlwZW9mIHggPT09ICJmdW5j
dGlvbiIgPyB4IDogY29uc3RhbnQkOSgreCksIHRyZWVtYXApIDogcGFkZGluZ0xlZnQ7CisgIH07
CisKKyAgcmV0dXJuIHRyZWVtYXA7Cit9CisKK2Z1bmN0aW9uIGJpbmFyeShwYXJlbnQsIHgwLCB5
MCwgeDEsIHkxKSB7CisgIHZhciBub2RlcyA9IHBhcmVudC5jaGlsZHJlbiwKKyAgICAgIGksIG4g
PSBub2Rlcy5sZW5ndGgsCisgICAgICBzdW0sIHN1bXMgPSBuZXcgQXJyYXkobiArIDEpOworCisg
IGZvciAoc3Vtc1swXSA9IHN1bSA9IGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgc3Vtc1tpICsg
MV0gPSBzdW0gKz0gbm9kZXNbaV0udmFsdWU7CisgIH0KKworICBwYXJ0aXRpb24oMCwgbiwgcGFy
ZW50LnZhbHVlLCB4MCwgeTAsIHgxLCB5MSk7CisKKyAgZnVuY3Rpb24gcGFydGl0aW9uKGksIGos
IHZhbHVlLCB4MCwgeTAsIHgxLCB5MSkgeworICAgIGlmIChpID49IGogLSAxKSB7CisgICAgICB2
YXIgbm9kZSA9IG5vZGVzW2ldOworICAgICAgbm9kZS54MCA9IHgwLCBub2RlLnkwID0geTA7Cisg
ICAgICBub2RlLngxID0geDEsIG5vZGUueTEgPSB5MTsKKyAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICB2YXIgdmFsdWVPZmZzZXQgPSBzdW1zW2ldLAorICAgICAgICB2YWx1ZVRhcmdldCA9ICh2
YWx1ZSAvIDIpICsgdmFsdWVPZmZzZXQsCisgICAgICAgIGsgPSBpICsgMSwKKyAgICAgICAgaGkg
PSBqIC0gMTsKKworICAgIHdoaWxlIChrIDwgaGkpIHsKKyAgICAgIHZhciBtaWQgPSBrICsgaGkg
Pj4+IDE7CisgICAgICBpZiAoc3Vtc1ttaWRdIDwgdmFsdWVUYXJnZXQpIGsgPSBtaWQgKyAxOwor
ICAgICAgZWxzZSBoaSA9IG1pZDsKKyAgICB9CisKKyAgICBpZiAoKHZhbHVlVGFyZ2V0IC0gc3Vt
c1trIC0gMV0pIDwgKHN1bXNba10gLSB2YWx1ZVRhcmdldCkgJiYgaSArIDEgPCBrKSAtLWs7CisK
KyAgICB2YXIgdmFsdWVMZWZ0ID0gc3Vtc1trXSAtIHZhbHVlT2Zmc2V0LAorICAgICAgICB2YWx1
ZVJpZ2h0ID0gdmFsdWUgLSB2YWx1ZUxlZnQ7CisKKyAgICBpZiAoKHgxIC0geDApID4gKHkxIC0g
eTApKSB7CisgICAgICB2YXIgeGsgPSAoeDAgKiB2YWx1ZVJpZ2h0ICsgeDEgKiB2YWx1ZUxlZnQp
IC8gdmFsdWU7CisgICAgICBwYXJ0aXRpb24oaSwgaywgdmFsdWVMZWZ0LCB4MCwgeTAsIHhrLCB5
MSk7CisgICAgICBwYXJ0aXRpb24oaywgaiwgdmFsdWVSaWdodCwgeGssIHkwLCB4MSwgeTEpOwor
ICAgIH0gZWxzZSB7CisgICAgICB2YXIgeWsgPSAoeTAgKiB2YWx1ZVJpZ2h0ICsgeTEgKiB2YWx1
ZUxlZnQpIC8gdmFsdWU7CisgICAgICBwYXJ0aXRpb24oaSwgaywgdmFsdWVMZWZ0LCB4MCwgeTAs
IHgxLCB5ayk7CisgICAgICBwYXJ0aXRpb24oaywgaiwgdmFsdWVSaWdodCwgeDAsIHlrLCB4MSwg
eTEpOworICAgIH0KKyAgfQorfQorCitmdW5jdGlvbiBzbGljZURpY2UocGFyZW50LCB4MCwgeTAs
IHgxLCB5MSkgeworICAocGFyZW50LmRlcHRoICYgMSA/IHRyZWVtYXBTbGljZSA6IHRyZWVtYXBE
aWNlKShwYXJlbnQsIHgwLCB5MCwgeDEsIHkxKTsKK30KKwordmFyIHJlc3F1YXJpZnkgPSAoZnVu
Y3Rpb24gY3VzdG9tKHJhdGlvKSB7CisKKyAgZnVuY3Rpb24gcmVzcXVhcmlmeShwYXJlbnQsIHgw
LCB5MCwgeDEsIHkxKSB7CisgICAgaWYgKChyb3dzID0gcGFyZW50Ll9zcXVhcmlmeSkgJiYgKHJv
d3MucmF0aW8gPT09IHJhdGlvKSkgeworICAgICAgdmFyIHJvd3MsCisgICAgICAgICAgcm93LAor
ICAgICAgICAgIG5vZGVzLAorICAgICAgICAgIGksCisgICAgICAgICAgaiA9IC0xLAorICAgICAg
ICAgIG4sCisgICAgICAgICAgbSA9IHJvd3MubGVuZ3RoLAorICAgICAgICAgIHZhbHVlID0gcGFy
ZW50LnZhbHVlOworCisgICAgICB3aGlsZSAoKytqIDwgbSkgeworICAgICAgICByb3cgPSByb3dz
W2pdLCBub2RlcyA9IHJvdy5jaGlsZHJlbjsKKyAgICAgICAgZm9yIChpID0gcm93LnZhbHVlID0g
MCwgbiA9IG5vZGVzLmxlbmd0aDsgaSA8IG47ICsraSkgcm93LnZhbHVlICs9IG5vZGVzW2ldLnZh
bHVlOworICAgICAgICBpZiAocm93LmRpY2UpIHRyZWVtYXBEaWNlKHJvdywgeDAsIHkwLCB4MSwg
eTAgKz0gKHkxIC0geTApICogcm93LnZhbHVlIC8gdmFsdWUpOworICAgICAgICBlbHNlIHRyZWVt
YXBTbGljZShyb3csIHgwLCB5MCwgeDAgKz0gKHgxIC0geDApICogcm93LnZhbHVlIC8gdmFsdWUs
IHkxKTsKKyAgICAgICAgdmFsdWUgLT0gcm93LnZhbHVlOworICAgICAgfQorICAgIH0gZWxzZSB7
CisgICAgICBwYXJlbnQuX3NxdWFyaWZ5ID0gcm93cyA9IHNxdWFyaWZ5UmF0aW8ocmF0aW8sIHBh
cmVudCwgeDAsIHkwLCB4MSwgeTEpOworICAgICAgcm93cy5yYXRpbyA9IHJhdGlvOworICAgIH0K
KyAgfQorCisgIHJlc3F1YXJpZnkucmF0aW8gPSBmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIGN1
c3RvbSgoeCA9ICt4KSA+IDEgPyB4IDogMSk7CisgIH07CisKKyAgcmV0dXJuIHJlc3F1YXJpZnk7
Cit9KShwaGkpOworCitmdW5jdGlvbiBhcmVhJDIocG9seWdvbikgeworICB2YXIgaSA9IC0xLAor
ICAgICAgbiA9IHBvbHlnb24ubGVuZ3RoLAorICAgICAgYSwKKyAgICAgIGIgPSBwb2x5Z29uW24g
LSAxXSwKKyAgICAgIGFyZWEgPSAwOworCisgIHdoaWxlICgrK2kgPCBuKSB7CisgICAgYSA9IGI7
CisgICAgYiA9IHBvbHlnb25baV07CisgICAgYXJlYSArPSBhWzFdICogYlswXSAtIGFbMF0gKiBi
WzFdOworICB9CisKKyAgcmV0dXJuIGFyZWEgLyAyOworfQorCitmdW5jdGlvbiBjZW50cm9pZCQx
KHBvbHlnb24pIHsKKyAgdmFyIGkgPSAtMSwKKyAgICAgIG4gPSBwb2x5Z29uLmxlbmd0aCwKKyAg
ICAgIHggPSAwLAorICAgICAgeSA9IDAsCisgICAgICBhLAorICAgICAgYiA9IHBvbHlnb25bbiAt
IDFdLAorICAgICAgYywKKyAgICAgIGsgPSAwOworCisgIHdoaWxlICgrK2kgPCBuKSB7CisgICAg
YSA9IGI7CisgICAgYiA9IHBvbHlnb25baV07CisgICAgayArPSBjID0gYVswXSAqIGJbMV0gLSBi
WzBdICogYVsxXTsKKyAgICB4ICs9IChhWzBdICsgYlswXSkgKiBjOworICAgIHkgKz0gKGFbMV0g
KyBiWzFdKSAqIGM7CisgIH0KKworICByZXR1cm4gayAqPSAzLCBbeCAvIGssIHkgLyBrXTsKK30K
KworLy8gUmV0dXJucyB0aGUgMkQgY3Jvc3MgcHJvZHVjdCBvZiBBQiBhbmQgQUMgdmVjdG9ycywg
aS5lLiwgdGhlIHotY29tcG9uZW50IG9mCisvLyB0aGUgM0QgY3Jvc3MgcHJvZHVjdCBpbiBhIHF1
YWRyYW50IEkgQ2FydGVzaWFuIGNvb3JkaW5hdGUgc3lzdGVtICgreCBpcworLy8gcmlnaHQsICt5
IGlzIHVwKS4gUmV0dXJucyBhIHBvc2l0aXZlIHZhbHVlIGlmIEFCQyBpcyBjb3VudGVyLWNsb2Nr
d2lzZSwKKy8vIG5lZ2F0aXZlIGlmIGNsb2Nrd2lzZSwgYW5kIHplcm8gaWYgdGhlIHBvaW50cyBh
cmUgY29sbGluZWFyLgorZnVuY3Rpb24gY3Jvc3MkMShhLCBiLCBjKSB7CisgIHJldHVybiAoYlsw
XSAtIGFbMF0pICogKGNbMV0gLSBhWzFdKSAtIChiWzFdIC0gYVsxXSkgKiAoY1swXSAtIGFbMF0p
OworfQorCitmdW5jdGlvbiBsZXhpY29ncmFwaGljT3JkZXIoYSwgYikgeworICByZXR1cm4gYVsw
XSAtIGJbMF0gfHwgYVsxXSAtIGJbMV07Cit9CisKKy8vIENvbXB1dGVzIHRoZSB1cHBlciBjb252
ZXggaHVsbCBwZXIgdGhlIG1vbm90b25lIGNoYWluIGFsZ29yaXRobS4KKy8vIEFzc3VtZXMgcG9p
bnRzLmxlbmd0aCA+PSAzLCBpcyBzb3J0ZWQgYnkgeCwgdW5pcXVlIGluIHkuCisvLyBSZXR1cm5z
IGFuIGFycmF5IG9mIGluZGljZXMgaW50byBwb2ludHMgaW4gbGVmdC10by1yaWdodCBvcmRlci4K
K2Z1bmN0aW9uIGNvbXB1dGVVcHBlckh1bGxJbmRleGVzKHBvaW50cykgeworICB2YXIgbiA9IHBv
aW50cy5sZW5ndGgsCisgICAgICBpbmRleGVzID0gWzAsIDFdLAorICAgICAgc2l6ZSA9IDI7CisK
KyAgZm9yICh2YXIgaSA9IDI7IGkgPCBuOyArK2kpIHsKKyAgICB3aGlsZSAoc2l6ZSA+IDEgJiYg
Y3Jvc3MkMShwb2ludHNbaW5kZXhlc1tzaXplIC0gMl1dLCBwb2ludHNbaW5kZXhlc1tzaXplIC0g
MV1dLCBwb2ludHNbaV0pIDw9IDApIC0tc2l6ZTsKKyAgICBpbmRleGVzW3NpemUrK10gPSBpOwor
ICB9CisKKyAgcmV0dXJuIGluZGV4ZXMuc2xpY2UoMCwgc2l6ZSk7IC8vIHJlbW92ZSBwb3BwZWQg
cG9pbnRzCit9CisKK2Z1bmN0aW9uIGh1bGwocG9pbnRzKSB7CisgIGlmICgobiA9IHBvaW50cy5s
ZW5ndGgpIDwgMykgcmV0dXJuIG51bGw7CisKKyAgdmFyIGksCisgICAgICBuLAorICAgICAgc29y
dGVkUG9pbnRzID0gbmV3IEFycmF5KG4pLAorICAgICAgZmxpcHBlZFBvaW50cyA9IG5ldyBBcnJh
eShuKTsKKworICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSBzb3J0ZWRQb2ludHNbaV0gPSBbK3Bv
aW50c1tpXVswXSwgK3BvaW50c1tpXVsxXSwgaV07CisgIHNvcnRlZFBvaW50cy5zb3J0KGxleGlj
b2dyYXBoaWNPcmRlcik7CisgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIGZsaXBwZWRQb2ludHNb
aV0gPSBbc29ydGVkUG9pbnRzW2ldWzBdLCAtc29ydGVkUG9pbnRzW2ldWzFdXTsKKworICB2YXIg
dXBwZXJJbmRleGVzID0gY29tcHV0ZVVwcGVySHVsbEluZGV4ZXMoc29ydGVkUG9pbnRzKSwKKyAg
ICAgIGxvd2VySW5kZXhlcyA9IGNvbXB1dGVVcHBlckh1bGxJbmRleGVzKGZsaXBwZWRQb2ludHMp
OworCisgIC8vIENvbnN0cnVjdCB0aGUgaHVsbCBwb2x5Z29uLCByZW1vdmluZyBwb3NzaWJsZSBk
dXBsaWNhdGUgZW5kcG9pbnRzLgorICB2YXIgc2tpcExlZnQgPSBsb3dlckluZGV4ZXNbMF0gPT09
IHVwcGVySW5kZXhlc1swXSwKKyAgICAgIHNraXBSaWdodCA9IGxvd2VySW5kZXhlc1tsb3dlcklu
ZGV4ZXMubGVuZ3RoIC0gMV0gPT09IHVwcGVySW5kZXhlc1t1cHBlckluZGV4ZXMubGVuZ3RoIC0g
MV0sCisgICAgICBodWxsID0gW107CisKKyAgLy8gQWRkIHVwcGVyIGh1bGwgaW4gcmlnaHQtdG8t
bCBvcmRlci4KKyAgLy8gVGhlbiBhZGQgbG93ZXIgaHVsbCBpbiBsZWZ0LXRvLXJpZ2h0IG9yZGVy
LgorICBmb3IgKGkgPSB1cHBlckluZGV4ZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIGh1bGwu
cHVzaChwb2ludHNbc29ydGVkUG9pbnRzW3VwcGVySW5kZXhlc1tpXV1bMl1dKTsKKyAgZm9yIChp
ID0gK3NraXBMZWZ0OyBpIDwgbG93ZXJJbmRleGVzLmxlbmd0aCAtIHNraXBSaWdodDsgKytpKSBo
dWxsLnB1c2gocG9pbnRzW3NvcnRlZFBvaW50c1tsb3dlckluZGV4ZXNbaV1dWzJdXSk7CisKKyAg
cmV0dXJuIGh1bGw7Cit9CisKK2Z1bmN0aW9uIGNvbnRhaW5zJDIocG9seWdvbiwgcG9pbnQpIHsK
KyAgdmFyIG4gPSBwb2x5Z29uLmxlbmd0aCwKKyAgICAgIHAgPSBwb2x5Z29uW24gLSAxXSwKKyAg
ICAgIHggPSBwb2ludFswXSwgeSA9IHBvaW50WzFdLAorICAgICAgeDAgPSBwWzBdLCB5MCA9IHBb
MV0sCisgICAgICB4MSwgeTEsCisgICAgICBpbnNpZGUgPSBmYWxzZTsKKworICBmb3IgKHZhciBp
ID0gMDsgaSA8IG47ICsraSkgeworICAgIHAgPSBwb2x5Z29uW2ldLCB4MSA9IHBbMF0sIHkxID0g
cFsxXTsKKyAgICBpZiAoKCh5MSA+IHkpICE9PSAoeTAgPiB5KSkgJiYgKHggPCAoeDAgLSB4MSkg
KiAoeSAtIHkxKSAvICh5MCAtIHkxKSArIHgxKSkgaW5zaWRlID0gIWluc2lkZTsKKyAgICB4MCA9
IHgxLCB5MCA9IHkxOworICB9CisKKyAgcmV0dXJuIGluc2lkZTsKK30KKworZnVuY3Rpb24gbGVu
Z3RoJDIocG9seWdvbikgeworICB2YXIgaSA9IC0xLAorICAgICAgbiA9IHBvbHlnb24ubGVuZ3Ro
LAorICAgICAgYiA9IHBvbHlnb25bbiAtIDFdLAorICAgICAgeGEsCisgICAgICB5YSwKKyAgICAg
IHhiID0gYlswXSwKKyAgICAgIHliID0gYlsxXSwKKyAgICAgIHBlcmltZXRlciA9IDA7CisKKyAg
d2hpbGUgKCsraSA8IG4pIHsKKyAgICB4YSA9IHhiOworICAgIHlhID0geWI7CisgICAgYiA9IHBv
bHlnb25baV07CisgICAgeGIgPSBiWzBdOworICAgIHliID0gYlsxXTsKKyAgICB4YSAtPSB4YjsK
KyAgICB5YSAtPSB5YjsKKyAgICBwZXJpbWV0ZXIgKz0gTWF0aC5zcXJ0KHhhICogeGEgKyB5YSAq
IHlhKTsKKyAgfQorCisgIHJldHVybiBwZXJpbWV0ZXI7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRT
b3VyY2UkMSgpIHsKKyAgcmV0dXJuIE1hdGgucmFuZG9tKCk7Cit9CisKK3ZhciB1bmlmb3JtID0g
KGZ1bmN0aW9uIHNvdXJjZVJhbmRvbVVuaWZvcm0oc291cmNlKSB7CisgIGZ1bmN0aW9uIHJhbmRv
bVVuaWZvcm0obWluLCBtYXgpIHsKKyAgICBtaW4gPSBtaW4gPT0gbnVsbCA/IDAgOiArbWluOwor
ICAgIG1heCA9IG1heCA9PSBudWxsID8gMSA6ICttYXg7CisgICAgaWYgKGFyZ3VtZW50cy5sZW5n
dGggPT09IDEpIG1heCA9IG1pbiwgbWluID0gMDsKKyAgICBlbHNlIG1heCAtPSBtaW47CisgICAg
cmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAgcmV0dXJuIHNvdXJjZSgpICogbWF4ICsgbWluOwor
ICAgIH07CisgIH0KKworICByYW5kb21Vbmlmb3JtLnNvdXJjZSA9IHNvdXJjZVJhbmRvbVVuaWZv
cm07CisKKyAgcmV0dXJuIHJhbmRvbVVuaWZvcm07Cit9KShkZWZhdWx0U291cmNlJDEpOworCit2
YXIgbm9ybWFsID0gKGZ1bmN0aW9uIHNvdXJjZVJhbmRvbU5vcm1hbChzb3VyY2UpIHsKKyAgZnVu
Y3Rpb24gcmFuZG9tTm9ybWFsKG11LCBzaWdtYSkgeworICAgIHZhciB4LCByOworICAgIG11ID0g
bXUgPT0gbnVsbCA/IDAgOiArbXU7CisgICAgc2lnbWEgPSBzaWdtYSA9PSBudWxsID8gMSA6ICtz
aWdtYTsKKyAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICB2YXIgeTsKKworICAgICAgLy8g
SWYgYXZhaWxhYmxlLCB1c2UgdGhlIHNlY29uZCBwcmV2aW91c2x5LWdlbmVyYXRlZCB1bmlmb3Jt
IHJhbmRvbS4KKyAgICAgIGlmICh4ICE9IG51bGwpIHkgPSB4LCB4ID0gbnVsbDsKKworICAgICAg
Ly8gT3RoZXJ3aXNlLCBnZW5lcmF0ZSBhIG5ldyB4IGFuZCB5LgorICAgICAgZWxzZSBkbyB7Cisg
ICAgICAgIHggPSBzb3VyY2UoKSAqIDIgLSAxOworICAgICAgICB5ID0gc291cmNlKCkgKiAyIC0g
MTsKKyAgICAgICAgciA9IHggKiB4ICsgeSAqIHk7CisgICAgICB9IHdoaWxlICghciB8fCByID4g
MSk7CisKKyAgICAgIHJldHVybiBtdSArIHNpZ21hICogeSAqIE1hdGguc3FydCgtMiAqIE1hdGgu
bG9nKHIpIC8gcik7CisgICAgfTsKKyAgfQorCisgIHJhbmRvbU5vcm1hbC5zb3VyY2UgPSBzb3Vy
Y2VSYW5kb21Ob3JtYWw7CisKKyAgcmV0dXJuIHJhbmRvbU5vcm1hbDsKK30pKGRlZmF1bHRTb3Vy
Y2UkMSk7CisKK3ZhciBsb2dOb3JtYWwgPSAoZnVuY3Rpb24gc291cmNlUmFuZG9tTG9nTm9ybWFs
KHNvdXJjZSkgeworICBmdW5jdGlvbiByYW5kb21Mb2dOb3JtYWwoKSB7CisgICAgdmFyIHJhbmRv
bU5vcm1hbCA9IG5vcm1hbC5zb3VyY2Uoc291cmNlKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwor
ICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgIHJldHVybiBNYXRoLmV4cChyYW5kb21Ob3Jt
YWwoKSk7CisgICAgfTsKKyAgfQorCisgIHJhbmRvbUxvZ05vcm1hbC5zb3VyY2UgPSBzb3VyY2VS
YW5kb21Mb2dOb3JtYWw7CisKKyAgcmV0dXJuIHJhbmRvbUxvZ05vcm1hbDsKK30pKGRlZmF1bHRT
b3VyY2UkMSk7CisKK3ZhciBpcndpbkhhbGwgPSAoZnVuY3Rpb24gc291cmNlUmFuZG9tSXJ3aW5I
YWxsKHNvdXJjZSkgeworICBmdW5jdGlvbiByYW5kb21JcndpbkhhbGwobikgeworICAgIHJldHVy
biBmdW5jdGlvbigpIHsKKyAgICAgIGZvciAodmFyIHN1bSA9IDAsIGkgPSAwOyBpIDwgbjsgKytp
KSBzdW0gKz0gc291cmNlKCk7CisgICAgICByZXR1cm4gc3VtOworICAgIH07CisgIH0KKworICBy
YW5kb21JcndpbkhhbGwuc291cmNlID0gc291cmNlUmFuZG9tSXJ3aW5IYWxsOworCisgIHJldHVy
biByYW5kb21JcndpbkhhbGw7Cit9KShkZWZhdWx0U291cmNlJDEpOworCit2YXIgYmF0ZXMgPSAo
ZnVuY3Rpb24gc291cmNlUmFuZG9tQmF0ZXMoc291cmNlKSB7CisgIGZ1bmN0aW9uIHJhbmRvbUJh
dGVzKG4pIHsKKyAgICB2YXIgcmFuZG9tSXJ3aW5IYWxsID0gaXJ3aW5IYWxsLnNvdXJjZShzb3Vy
Y2UpKG4pOworICAgIHJldHVybiBmdW5jdGlvbigpIHsKKyAgICAgIHJldHVybiByYW5kb21Jcndp
bkhhbGwoKSAvIG47CisgICAgfTsKKyAgfQorCisgIHJhbmRvbUJhdGVzLnNvdXJjZSA9IHNvdXJj
ZVJhbmRvbUJhdGVzOworCisgIHJldHVybiByYW5kb21CYXRlczsKK30pKGRlZmF1bHRTb3VyY2Uk
MSk7CisKK3ZhciBleHBvbmVudGlhbCQxID0gKGZ1bmN0aW9uIHNvdXJjZVJhbmRvbUV4cG9uZW50
aWFsKHNvdXJjZSkgeworICBmdW5jdGlvbiByYW5kb21FeHBvbmVudGlhbChsYW1iZGEpIHsKKyAg
ICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICByZXR1cm4gLU1hdGgubG9nKDEgLSBzb3VyY2Uo
KSkgLyBsYW1iZGE7CisgICAgfTsKKyAgfQorCisgIHJhbmRvbUV4cG9uZW50aWFsLnNvdXJjZSA9
IHNvdXJjZVJhbmRvbUV4cG9uZW50aWFsOworCisgIHJldHVybiByYW5kb21FeHBvbmVudGlhbDsK
K30pKGRlZmF1bHRTb3VyY2UkMSk7CisKK2Z1bmN0aW9uIGluaXRSYW5nZShkb21haW4sIHJhbmdl
KSB7CisgIHN3aXRjaCAoYXJndW1lbnRzLmxlbmd0aCkgeworICAgIGNhc2UgMDogYnJlYWs7Cisg
ICAgY2FzZSAxOiB0aGlzLnJhbmdlKGRvbWFpbik7IGJyZWFrOworICAgIGRlZmF1bHQ6IHRoaXMu
cmFuZ2UocmFuZ2UpLmRvbWFpbihkb21haW4pOyBicmVhazsKKyAgfQorICByZXR1cm4gdGhpczsK
K30KKworZnVuY3Rpb24gaW5pdEludGVycG9sYXRvcihkb21haW4sIGludGVycG9sYXRvcikgewor
ICBzd2l0Y2ggKGFyZ3VtZW50cy5sZW5ndGgpIHsKKyAgICBjYXNlIDA6IGJyZWFrOworICAgIGNh
c2UgMTogdGhpcy5pbnRlcnBvbGF0b3IoZG9tYWluKTsgYnJlYWs7CisgICAgZGVmYXVsdDogdGhp
cy5pbnRlcnBvbGF0b3IoaW50ZXJwb2xhdG9yKS5kb21haW4oZG9tYWluKTsgYnJlYWs7CisgIH0K
KyAgcmV0dXJuIHRoaXM7Cit9CisKK3ZhciBhcnJheSQzID0gQXJyYXkucHJvdG90eXBlOworCit2
YXIgbWFwJDMgPSBhcnJheSQzLm1hcDsKK3ZhciBzbGljZSQ1ID0gYXJyYXkkMy5zbGljZTsKKwor
dmFyIGltcGxpY2l0ID0ge25hbWU6ICJpbXBsaWNpdCJ9OworCitmdW5jdGlvbiBvcmRpbmFsKCkg
eworICB2YXIgaW5kZXggPSBtYXAkMSgpLAorICAgICAgZG9tYWluID0gW10sCisgICAgICByYW5n
ZSA9IFtdLAorICAgICAgdW5rbm93biA9IGltcGxpY2l0OworCisgIGZ1bmN0aW9uIHNjYWxlKGQp
IHsKKyAgICB2YXIga2V5ID0gZCArICIiLCBpID0gaW5kZXguZ2V0KGtleSk7CisgICAgaWYgKCFp
KSB7CisgICAgICBpZiAodW5rbm93biAhPT0gaW1wbGljaXQpIHJldHVybiB1bmtub3duOworICAg
ICAgaW5kZXguc2V0KGtleSwgaSA9IGRvbWFpbi5wdXNoKGQpKTsKKyAgICB9CisgICAgcmV0dXJu
IHJhbmdlWyhpIC0gMSkgJSByYW5nZS5sZW5ndGhdOworICB9CisKKyAgc2NhbGUuZG9tYWluID0g
ZnVuY3Rpb24oXykgeworICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIGRvbWFpbi5z
bGljZSgpOworICAgIGRvbWFpbiA9IFtdLCBpbmRleCA9IG1hcCQxKCk7CisgICAgdmFyIGkgPSAt
MSwgbiA9IF8ubGVuZ3RoLCBkLCBrZXk7CisgICAgd2hpbGUgKCsraSA8IG4pIGlmICghaW5kZXgu
aGFzKGtleSA9IChkID0gX1tpXSkgKyAiIikpIGluZGV4LnNldChrZXksIGRvbWFpbi5wdXNoKGQp
KTsKKyAgICByZXR1cm4gc2NhbGU7CisgIH07CisKKyAgc2NhbGUucmFuZ2UgPSBmdW5jdGlvbihf
KSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAocmFuZ2UgPSBzbGljZSQ1LmNhbGwo
XyksIHNjYWxlKSA6IHJhbmdlLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUudW5rbm93biA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh1bmtub3duID0gXywg
c2NhbGUpIDogdW5rbm93bjsKKyAgfTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7Cisg
ICAgcmV0dXJuIG9yZGluYWwoZG9tYWluLCByYW5nZSkudW5rbm93bih1bmtub3duKTsKKyAgfTsK
KworICBpbml0UmFuZ2UuYXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7CisKKyAgcmV0dXJuIHNjYWxl
OworfQorCitmdW5jdGlvbiBiYW5kKCkgeworICB2YXIgc2NhbGUgPSBvcmRpbmFsKCkudW5rbm93
bih1bmRlZmluZWQpLAorICAgICAgZG9tYWluID0gc2NhbGUuZG9tYWluLAorICAgICAgb3JkaW5h
bFJhbmdlID0gc2NhbGUucmFuZ2UsCisgICAgICByYW5nZSA9IFswLCAxXSwKKyAgICAgIHN0ZXAs
CisgICAgICBiYW5kd2lkdGgsCisgICAgICByb3VuZCA9IGZhbHNlLAorICAgICAgcGFkZGluZ0lu
bmVyID0gMCwKKyAgICAgIHBhZGRpbmdPdXRlciA9IDAsCisgICAgICBhbGlnbiA9IDAuNTsKKwor
ICBkZWxldGUgc2NhbGUudW5rbm93bjsKKworICBmdW5jdGlvbiByZXNjYWxlKCkgeworICAgIHZh
ciBuID0gZG9tYWluKCkubGVuZ3RoLAorICAgICAgICByZXZlcnNlID0gcmFuZ2VbMV0gPCByYW5n
ZVswXSwKKyAgICAgICAgc3RhcnQgPSByYW5nZVtyZXZlcnNlIC0gMF0sCisgICAgICAgIHN0b3Ag
PSByYW5nZVsxIC0gcmV2ZXJzZV07CisgICAgc3RlcCA9IChzdG9wIC0gc3RhcnQpIC8gTWF0aC5t
YXgoMSwgbiAtIHBhZGRpbmdJbm5lciArIHBhZGRpbmdPdXRlciAqIDIpOworICAgIGlmIChyb3Vu
ZCkgc3RlcCA9IE1hdGguZmxvb3Ioc3RlcCk7CisgICAgc3RhcnQgKz0gKHN0b3AgLSBzdGFydCAt
IHN0ZXAgKiAobiAtIHBhZGRpbmdJbm5lcikpICogYWxpZ247CisgICAgYmFuZHdpZHRoID0gc3Rl
cCAqICgxIC0gcGFkZGluZ0lubmVyKTsKKyAgICBpZiAocm91bmQpIHN0YXJ0ID0gTWF0aC5yb3Vu
ZChzdGFydCksIGJhbmR3aWR0aCA9IE1hdGgucm91bmQoYmFuZHdpZHRoKTsKKyAgICB2YXIgdmFs
dWVzID0gc2VxdWVuY2UobikubWFwKGZ1bmN0aW9uKGkpIHsgcmV0dXJuIHN0YXJ0ICsgc3RlcCAq
IGk7IH0pOworICAgIHJldHVybiBvcmRpbmFsUmFuZ2UocmV2ZXJzZSA/IHZhbHVlcy5yZXZlcnNl
KCkgOiB2YWx1ZXMpOworICB9CisKKyAgc2NhbGUuZG9tYWluID0gZnVuY3Rpb24oXykgeworICAg
IHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGRvbWFpbihfKSwgcmVzY2FsZSgpKSA6IGRvbWFp
bigpOworICB9OworCisgIHNjYWxlLnJhbmdlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKHJhbmdlID0gWytfWzBdLCArX1sxXV0sIHJlc2NhbGUoKSkgOiBy
YW5nZS5zbGljZSgpOworICB9OworCisgIHNjYWxlLnJhbmdlUm91bmQgPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIHJhbmdlID0gWytfWzBdLCArX1sxXV0sIHJvdW5kID0gdHJ1ZSwgcmVzY2Fs
ZSgpOworICB9OworCisgIHNjYWxlLmJhbmR3aWR0aCA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVy
biBiYW5kd2lkdGg7CisgIH07CisKKyAgc2NhbGUuc3RlcCA9IGZ1bmN0aW9uKCkgeworICAgIHJl
dHVybiBzdGVwOworICB9OworCisgIHNjYWxlLnJvdW5kID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHJvdW5kID0gISFfLCByZXNjYWxlKCkpIDogcm91bmQ7
CisgIH07CisKKyAgc2NhbGUucGFkZGluZyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJn
dW1lbnRzLmxlbmd0aCA/IChwYWRkaW5nSW5uZXIgPSBNYXRoLm1pbigxLCBwYWRkaW5nT3V0ZXIg
PSArXyksIHJlc2NhbGUoKSkgOiBwYWRkaW5nSW5uZXI7CisgIH07CisKKyAgc2NhbGUucGFkZGlu
Z0lubmVyID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHBh
ZGRpbmdJbm5lciA9IE1hdGgubWluKDEsIF8pLCByZXNjYWxlKCkpIDogcGFkZGluZ0lubmVyOwor
ICB9OworCisgIHNjYWxlLnBhZGRpbmdPdXRlciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/IChwYWRkaW5nT3V0ZXIgPSArXywgcmVzY2FsZSgpKSA6IHBhZGRp
bmdPdXRlcjsKKyAgfTsKKworICBzY2FsZS5hbGlnbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aCA/IChhbGlnbiA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEsIF8p
KSwgcmVzY2FsZSgpKSA6IGFsaWduOworICB9OworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigp
IHsKKyAgICByZXR1cm4gYmFuZChkb21haW4oKSwgcmFuZ2UpCisgICAgICAgIC5yb3VuZChyb3Vu
ZCkKKyAgICAgICAgLnBhZGRpbmdJbm5lcihwYWRkaW5nSW5uZXIpCisgICAgICAgIC5wYWRkaW5n
T3V0ZXIocGFkZGluZ091dGVyKQorICAgICAgICAuYWxpZ24oYWxpZ24pOworICB9OworCisgIHJl
dHVybiBpbml0UmFuZ2UuYXBwbHkocmVzY2FsZSgpLCBhcmd1bWVudHMpOworfQorCitmdW5jdGlv
biBwb2ludGlzaChzY2FsZSkgeworICB2YXIgY29weSA9IHNjYWxlLmNvcHk7CisKKyAgc2NhbGUu
cGFkZGluZyA9IHNjYWxlLnBhZGRpbmdPdXRlcjsKKyAgZGVsZXRlIHNjYWxlLnBhZGRpbmdJbm5l
cjsKKyAgZGVsZXRlIHNjYWxlLnBhZGRpbmdPdXRlcjsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rp
b24oKSB7CisgICAgcmV0dXJuIHBvaW50aXNoKGNvcHkoKSk7CisgIH07CisKKyAgcmV0dXJuIHNj
YWxlOworfQorCitmdW5jdGlvbiBwb2ludCQxKCkgeworICByZXR1cm4gcG9pbnRpc2goYmFuZC5h
cHBseShudWxsLCBhcmd1bWVudHMpLnBhZGRpbmdJbm5lcigxKSk7Cit9CisKK2Z1bmN0aW9uIGNv
bnN0YW50JGEoeCkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHg7CisgIH07
Cit9CisKK2Z1bmN0aW9uIG51bWJlciQyKHgpIHsKKyAgcmV0dXJuICt4OworfQorCit2YXIgdW5p
dCA9IFswLCAxXTsKKworZnVuY3Rpb24gaWRlbnRpdHkkNih4KSB7CisgIHJldHVybiB4OworfQor
CitmdW5jdGlvbiBub3JtYWxpemUoYSwgYikgeworICByZXR1cm4gKGIgLT0gKGEgPSArYSkpCisg
ICAgICA/IGZ1bmN0aW9uKHgpIHsgcmV0dXJuICh4IC0gYSkgLyBiOyB9CisgICAgICA6IGNvbnN0
YW50JGEoaXNOYU4oYikgPyBOYU4gOiAwLjUpOworfQorCitmdW5jdGlvbiBjbGFtcGVyKGRvbWFp
bikgeworICB2YXIgYSA9IGRvbWFpblswXSwgYiA9IGRvbWFpbltkb21haW4ubGVuZ3RoIC0gMV0s
IHQ7CisgIGlmIChhID4gYikgdCA9IGEsIGEgPSBiLCBiID0gdDsKKyAgcmV0dXJuIGZ1bmN0aW9u
KHgpIHsgcmV0dXJuIE1hdGgubWF4KGEsIE1hdGgubWluKGIsIHgpKTsgfTsKK30KKworLy8gbm9y
bWFsaXplKGEsIGIpKHgpIHRha2VzIGEgZG9tYWluIHZhbHVlIHggaW4gW2EsYl0gYW5kIHJldHVy
bnMgdGhlIGNvcnJlc3BvbmRpbmcgcGFyYW1ldGVyIHQgaW4gWzAsMV0uCisvLyBpbnRlcnBvbGF0
ZShhLCBiKSh0KSB0YWtlcyBhIHBhcmFtZXRlciB0IGluIFswLDFdIGFuZCByZXR1cm5zIHRoZSBj
b3JyZXNwb25kaW5nIHJhbmdlIHZhbHVlIHggaW4gW2EsYl0uCitmdW5jdGlvbiBiaW1hcChkb21h
aW4sIHJhbmdlLCBpbnRlcnBvbGF0ZSkgeworICB2YXIgZDAgPSBkb21haW5bMF0sIGQxID0gZG9t
YWluWzFdLCByMCA9IHJhbmdlWzBdLCByMSA9IHJhbmdlWzFdOworICBpZiAoZDEgPCBkMCkgZDAg
PSBub3JtYWxpemUoZDEsIGQwKSwgcjAgPSBpbnRlcnBvbGF0ZShyMSwgcjApOworICBlbHNlIGQw
ID0gbm9ybWFsaXplKGQwLCBkMSksIHIwID0gaW50ZXJwb2xhdGUocjAsIHIxKTsKKyAgcmV0dXJu
IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIHIwKGQwKHgpKTsgfTsKK30KKworZnVuY3Rpb24gcG9seW1h
cChkb21haW4sIHJhbmdlLCBpbnRlcnBvbGF0ZSkgeworICB2YXIgaiA9IE1hdGgubWluKGRvbWFp
bi5sZW5ndGgsIHJhbmdlLmxlbmd0aCkgLSAxLAorICAgICAgZCA9IG5ldyBBcnJheShqKSwKKyAg
ICAgIHIgPSBuZXcgQXJyYXkoaiksCisgICAgICBpID0gLTE7CisKKyAgLy8gUmV2ZXJzZSBkZXNj
ZW5kaW5nIGRvbWFpbnMuCisgIGlmIChkb21haW5bal0gPCBkb21haW5bMF0pIHsKKyAgICBkb21h
aW4gPSBkb21haW4uc2xpY2UoKS5yZXZlcnNlKCk7CisgICAgcmFuZ2UgPSByYW5nZS5zbGljZSgp
LnJldmVyc2UoKTsKKyAgfQorCisgIHdoaWxlICgrK2kgPCBqKSB7CisgICAgZFtpXSA9IG5vcm1h
bGl6ZShkb21haW5baV0sIGRvbWFpbltpICsgMV0pOworICAgIHJbaV0gPSBpbnRlcnBvbGF0ZShy
YW5nZVtpXSwgcmFuZ2VbaSArIDFdKTsKKyAgfQorCisgIHJldHVybiBmdW5jdGlvbih4KSB7Cisg
ICAgdmFyIGkgPSBiaXNlY3RSaWdodChkb21haW4sIHgsIDEsIGopIC0gMTsKKyAgICByZXR1cm4g
cltpXShkW2ldKHgpKTsKKyAgfTsKK30KKworZnVuY3Rpb24gY29weShzb3VyY2UsIHRhcmdldCkg
eworICByZXR1cm4gdGFyZ2V0CisgICAgICAuZG9tYWluKHNvdXJjZS5kb21haW4oKSkKKyAgICAg
IC5yYW5nZShzb3VyY2UucmFuZ2UoKSkKKyAgICAgIC5pbnRlcnBvbGF0ZShzb3VyY2UuaW50ZXJw
b2xhdGUoKSkKKyAgICAgIC5jbGFtcChzb3VyY2UuY2xhbXAoKSkKKyAgICAgIC51bmtub3duKHNv
dXJjZS51bmtub3duKCkpOworfQorCitmdW5jdGlvbiB0cmFuc2Zvcm1lciQxKCkgeworICB2YXIg
ZG9tYWluID0gdW5pdCwKKyAgICAgIHJhbmdlID0gdW5pdCwKKyAgICAgIGludGVycG9sYXRlID0g
aW50ZXJwb2xhdGVWYWx1ZSwKKyAgICAgIHRyYW5zZm9ybSwKKyAgICAgIHVudHJhbnNmb3JtLAor
ICAgICAgdW5rbm93biwKKyAgICAgIGNsYW1wID0gaWRlbnRpdHkkNiwKKyAgICAgIHBpZWNld2lz
ZSwKKyAgICAgIG91dHB1dCwKKyAgICAgIGlucHV0OworCisgIGZ1bmN0aW9uIHJlc2NhbGUoKSB7
CisgICAgcGllY2V3aXNlID0gTWF0aC5taW4oZG9tYWluLmxlbmd0aCwgcmFuZ2UubGVuZ3RoKSA+
IDIgPyBwb2x5bWFwIDogYmltYXA7CisgICAgb3V0cHV0ID0gaW5wdXQgPSBudWxsOworICAgIHJl
dHVybiBzY2FsZTsKKyAgfQorCisgIGZ1bmN0aW9uIHNjYWxlKHgpIHsKKyAgICByZXR1cm4gaXNO
YU4oeCA9ICt4KSA/IHVua25vd24gOiAob3V0cHV0IHx8IChvdXRwdXQgPSBwaWVjZXdpc2UoZG9t
YWluLm1hcCh0cmFuc2Zvcm0pLCByYW5nZSwgaW50ZXJwb2xhdGUpKSkodHJhbnNmb3JtKGNsYW1w
KHgpKSk7CisgIH0KKworICBzY2FsZS5pbnZlcnQgPSBmdW5jdGlvbih5KSB7CisgICAgcmV0dXJu
IGNsYW1wKHVudHJhbnNmb3JtKChpbnB1dCB8fCAoaW5wdXQgPSBwaWVjZXdpc2UocmFuZ2UsIGRv
bWFpbi5tYXAodHJhbnNmb3JtKSwgaW50ZXJwb2xhdGVOdW1iZXIpKSkoeSkpKTsKKyAgfTsKKwor
ICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAoZG9tYWluID0gbWFwJDMuY2FsbChfLCBudW1iZXIkMiksIGNsYW1wID09PSBpZGVudGl0
eSQ2IHx8IChjbGFtcCA9IGNsYW1wZXIoZG9tYWluKSksIHJlc2NhbGUoKSkgOiBkb21haW4uc2xp
Y2UoKTsKKyAgfTsKKworICBzY2FsZS5yYW5nZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/IChyYW5nZSA9IHNsaWNlJDUuY2FsbChfKSwgcmVzY2FsZSgpKSA6
IHJhbmdlLnNsaWNlKCk7CisgIH07CisKKyAgc2NhbGUucmFuZ2VSb3VuZCA9IGZ1bmN0aW9uKF8p
IHsKKyAgICByZXR1cm4gcmFuZ2UgPSBzbGljZSQ1LmNhbGwoXyksIGludGVycG9sYXRlID0gaW50
ZXJwb2xhdGVSb3VuZCwgcmVzY2FsZSgpOworICB9OworCisgIHNjYWxlLmNsYW1wID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGNsYW1wID0gXyA/IGNsYW1w
ZXIoZG9tYWluKSA6IGlkZW50aXR5JDYsIHNjYWxlKSA6IGNsYW1wICE9PSBpZGVudGl0eSQ2Owor
ICB9OworCisgIHNjYWxlLmludGVycG9sYXRlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKGludGVycG9sYXRlID0gXywgcmVzY2FsZSgpKSA6IGludGVycG9s
YXRlOworICB9OworCisgIHNjYWxlLnVua25vd24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAodW5rbm93biA9IF8sIHNjYWxlKSA6IHVua25vd247CisgIH07
CisKKyAgcmV0dXJuIGZ1bmN0aW9uKHQsIHUpIHsKKyAgICB0cmFuc2Zvcm0gPSB0LCB1bnRyYW5z
Zm9ybSA9IHU7CisgICAgcmV0dXJuIHJlc2NhbGUoKTsKKyAgfTsKK30KKworZnVuY3Rpb24gY29u
dGludW91cyh0cmFuc2Zvcm0sIHVudHJhbnNmb3JtKSB7CisgIHJldHVybiB0cmFuc2Zvcm1lciQx
KCkodHJhbnNmb3JtLCB1bnRyYW5zZm9ybSk7Cit9CisKK2Z1bmN0aW9uIHRpY2tGb3JtYXQoc3Rh
cnQsIHN0b3AsIGNvdW50LCBzcGVjaWZpZXIpIHsKKyAgdmFyIHN0ZXAgPSB0aWNrU3RlcChzdGFy
dCwgc3RvcCwgY291bnQpLAorICAgICAgcHJlY2lzaW9uOworICBzcGVjaWZpZXIgPSBmb3JtYXRT
cGVjaWZpZXIoc3BlY2lmaWVyID09IG51bGwgPyAiLGYiIDogc3BlY2lmaWVyKTsKKyAgc3dpdGNo
IChzcGVjaWZpZXIudHlwZSkgeworICAgIGNhc2UgInMiOiB7CisgICAgICB2YXIgdmFsdWUgPSBN
YXRoLm1heChNYXRoLmFicyhzdGFydCksIE1hdGguYWJzKHN0b3ApKTsKKyAgICAgIGlmIChzcGVj
aWZpZXIucHJlY2lzaW9uID09IG51bGwgJiYgIWlzTmFOKHByZWNpc2lvbiA9IHByZWNpc2lvblBy
ZWZpeChzdGVwLCB2YWx1ZSkpKSBzcGVjaWZpZXIucHJlY2lzaW9uID0gcHJlY2lzaW9uOworICAg
ICAgcmV0dXJuIGV4cG9ydHMuZm9ybWF0UHJlZml4KHNwZWNpZmllciwgdmFsdWUpOworICAgIH0K
KyAgICBjYXNlICIiOgorICAgIGNhc2UgImUiOgorICAgIGNhc2UgImciOgorICAgIGNhc2UgInAi
OgorICAgIGNhc2UgInIiOiB7CisgICAgICBpZiAoc3BlY2lmaWVyLnByZWNpc2lvbiA9PSBudWxs
ICYmICFpc05hTihwcmVjaXNpb24gPSBwcmVjaXNpb25Sb3VuZChzdGVwLCBNYXRoLm1heChNYXRo
LmFicyhzdGFydCksIE1hdGguYWJzKHN0b3ApKSkpKSBzcGVjaWZpZXIucHJlY2lzaW9uID0gcHJl
Y2lzaW9uIC0gKHNwZWNpZmllci50eXBlID09PSAiZSIpOworICAgICAgYnJlYWs7CisgICAgfQor
ICAgIGNhc2UgImYiOgorICAgIGNhc2UgIiUiOiB7CisgICAgICBpZiAoc3BlY2lmaWVyLnByZWNp
c2lvbiA9PSBudWxsICYmICFpc05hTihwcmVjaXNpb24gPSBwcmVjaXNpb25GaXhlZChzdGVwKSkp
IHNwZWNpZmllci5wcmVjaXNpb24gPSBwcmVjaXNpb24gLSAoc3BlY2lmaWVyLnR5cGUgPT09ICIl
IikgKiAyOworICAgICAgYnJlYWs7CisgICAgfQorICB9CisgIHJldHVybiBleHBvcnRzLmZvcm1h
dChzcGVjaWZpZXIpOworfQorCitmdW5jdGlvbiBsaW5lYXJpc2goc2NhbGUpIHsKKyAgdmFyIGRv
bWFpbiA9IHNjYWxlLmRvbWFpbjsKKworICBzY2FsZS50aWNrcyA9IGZ1bmN0aW9uKGNvdW50KSB7
CisgICAgdmFyIGQgPSBkb21haW4oKTsKKyAgICByZXR1cm4gdGlja3MoZFswXSwgZFtkLmxlbmd0
aCAtIDFdLCBjb3VudCA9PSBudWxsID8gMTAgOiBjb3VudCk7CisgIH07CisKKyAgc2NhbGUudGlj
a0Zvcm1hdCA9IGZ1bmN0aW9uKGNvdW50LCBzcGVjaWZpZXIpIHsKKyAgICB2YXIgZCA9IGRvbWFp
bigpOworICAgIHJldHVybiB0aWNrRm9ybWF0KGRbMF0sIGRbZC5sZW5ndGggLSAxXSwgY291bnQg
PT0gbnVsbCA/IDEwIDogY291bnQsIHNwZWNpZmllcik7CisgIH07CisKKyAgc2NhbGUubmljZSA9
IGZ1bmN0aW9uKGNvdW50KSB7CisgICAgaWYgKGNvdW50ID09IG51bGwpIGNvdW50ID0gMTA7CisK
KyAgICB2YXIgZCA9IGRvbWFpbigpLAorICAgICAgICBpMCA9IDAsCisgICAgICAgIGkxID0gZC5s
ZW5ndGggLSAxLAorICAgICAgICBzdGFydCA9IGRbaTBdLAorICAgICAgICBzdG9wID0gZFtpMV0s
CisgICAgICAgIHN0ZXA7CisKKyAgICBpZiAoc3RvcCA8IHN0YXJ0KSB7CisgICAgICBzdGVwID0g
c3RhcnQsIHN0YXJ0ID0gc3RvcCwgc3RvcCA9IHN0ZXA7CisgICAgICBzdGVwID0gaTAsIGkwID0g
aTEsIGkxID0gc3RlcDsKKyAgICB9CisKKyAgICBzdGVwID0gdGlja0luY3JlbWVudChzdGFydCwg
c3RvcCwgY291bnQpOworCisgICAgaWYgKHN0ZXAgPiAwKSB7CisgICAgICBzdGFydCA9IE1hdGgu
Zmxvb3Ioc3RhcnQgLyBzdGVwKSAqIHN0ZXA7CisgICAgICBzdG9wID0gTWF0aC5jZWlsKHN0b3Ag
LyBzdGVwKSAqIHN0ZXA7CisgICAgICBzdGVwID0gdGlja0luY3JlbWVudChzdGFydCwgc3RvcCwg
Y291bnQpOworICAgIH0gZWxzZSBpZiAoc3RlcCA8IDApIHsKKyAgICAgIHN0YXJ0ID0gTWF0aC5j
ZWlsKHN0YXJ0ICogc3RlcCkgLyBzdGVwOworICAgICAgc3RvcCA9IE1hdGguZmxvb3Ioc3RvcCAq
IHN0ZXApIC8gc3RlcDsKKyAgICAgIHN0ZXAgPSB0aWNrSW5jcmVtZW50KHN0YXJ0LCBzdG9wLCBj
b3VudCk7CisgICAgfQorCisgICAgaWYgKHN0ZXAgPiAwKSB7CisgICAgICBkW2kwXSA9IE1hdGgu
Zmxvb3Ioc3RhcnQgLyBzdGVwKSAqIHN0ZXA7CisgICAgICBkW2kxXSA9IE1hdGguY2VpbChzdG9w
IC8gc3RlcCkgKiBzdGVwOworICAgICAgZG9tYWluKGQpOworICAgIH0gZWxzZSBpZiAoc3RlcCA8
IDApIHsKKyAgICAgIGRbaTBdID0gTWF0aC5jZWlsKHN0YXJ0ICogc3RlcCkgLyBzdGVwOworICAg
ICAgZFtpMV0gPSBNYXRoLmZsb29yKHN0b3AgKiBzdGVwKSAvIHN0ZXA7CisgICAgICBkb21haW4o
ZCk7CisgICAgfQorCisgICAgcmV0dXJuIHNjYWxlOworICB9OworCisgIHJldHVybiBzY2FsZTsK
K30KKworZnVuY3Rpb24gbGluZWFyJDIoKSB7CisgIHZhciBzY2FsZSA9IGNvbnRpbnVvdXMoaWRl
bnRpdHkkNiwgaWRlbnRpdHkkNik7CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAg
IHJldHVybiBjb3B5KHNjYWxlLCBsaW5lYXIkMigpKTsKKyAgfTsKKworICBpbml0UmFuZ2UuYXBw
bHkoc2NhbGUsIGFyZ3VtZW50cyk7CisKKyAgcmV0dXJuIGxpbmVhcmlzaChzY2FsZSk7Cit9CisK
K2Z1bmN0aW9uIGlkZW50aXR5JDcoZG9tYWluKSB7CisgIHZhciB1bmtub3duOworCisgIGZ1bmN0
aW9uIHNjYWxlKHgpIHsKKyAgICByZXR1cm4gaXNOYU4oeCA9ICt4KSA/IHVua25vd24gOiB4Owor
ICB9CisKKyAgc2NhbGUuaW52ZXJ0ID0gc2NhbGU7CisKKyAgc2NhbGUuZG9tYWluID0gc2NhbGUu
cmFuZ2UgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZG9t
YWluID0gbWFwJDMuY2FsbChfLCBudW1iZXIkMiksIHNjYWxlKSA6IGRvbWFpbi5zbGljZSgpOwor
ICB9OworCisgIHNjYWxlLnVua25vd24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAodW5rbm93biA9IF8sIHNjYWxlKSA6IHVua25vd247CisgIH07CisKKyAg
c2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBpZGVudGl0eSQ3KGRvbWFpbiku
dW5rbm93bih1bmtub3duKTsKKyAgfTsKKworICBkb21haW4gPSBhcmd1bWVudHMubGVuZ3RoID8g
bWFwJDMuY2FsbChkb21haW4sIG51bWJlciQyKSA6IFswLCAxXTsKKworICByZXR1cm4gbGluZWFy
aXNoKHNjYWxlKTsKK30KKworZnVuY3Rpb24gbmljZShkb21haW4sIGludGVydmFsKSB7CisgIGRv
bWFpbiA9IGRvbWFpbi5zbGljZSgpOworCisgIHZhciBpMCA9IDAsCisgICAgICBpMSA9IGRvbWFp
bi5sZW5ndGggLSAxLAorICAgICAgeDAgPSBkb21haW5baTBdLAorICAgICAgeDEgPSBkb21haW5b
aTFdLAorICAgICAgdDsKKworICBpZiAoeDEgPCB4MCkgeworICAgIHQgPSBpMCwgaTAgPSBpMSwg
aTEgPSB0OworICAgIHQgPSB4MCwgeDAgPSB4MSwgeDEgPSB0OworICB9CisKKyAgZG9tYWluW2kw
XSA9IGludGVydmFsLmZsb29yKHgwKTsKKyAgZG9tYWluW2kxXSA9IGludGVydmFsLmNlaWwoeDEp
OworICByZXR1cm4gZG9tYWluOworfQorCitmdW5jdGlvbiB0cmFuc2Zvcm1Mb2coeCkgeworICBy
ZXR1cm4gTWF0aC5sb2coeCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zZm9ybUV4cCh4KSB7CisgIHJl
dHVybiBNYXRoLmV4cCh4KTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3JtTG9nbih4KSB7CisgIHJl
dHVybiAtTWF0aC5sb2coLXgpOworfQorCitmdW5jdGlvbiB0cmFuc2Zvcm1FeHBuKHgpIHsKKyAg
cmV0dXJuIC1NYXRoLmV4cCgteCk7Cit9CisKK2Z1bmN0aW9uIHBvdzEwKHgpIHsKKyAgcmV0dXJu
IGlzRmluaXRlKHgpID8gKygiMWUiICsgeCkgOiB4IDwgMCA/IDAgOiB4OworfQorCitmdW5jdGlv
biBwb3dwKGJhc2UpIHsKKyAgcmV0dXJuIGJhc2UgPT09IDEwID8gcG93MTAKKyAgICAgIDogYmFz
ZSA9PT0gTWF0aC5FID8gTWF0aC5leHAKKyAgICAgIDogZnVuY3Rpb24oeCkgeyByZXR1cm4gTWF0
aC5wb3coYmFzZSwgeCk7IH07Cit9CisKK2Z1bmN0aW9uIGxvZ3AoYmFzZSkgeworICByZXR1cm4g
YmFzZSA9PT0gTWF0aC5FID8gTWF0aC5sb2cKKyAgICAgIDogYmFzZSA9PT0gMTAgJiYgTWF0aC5s
b2cxMAorICAgICAgfHwgYmFzZSA9PT0gMiAmJiBNYXRoLmxvZzIKKyAgICAgIHx8IChiYXNlID0g
TWF0aC5sb2coYmFzZSksIGZ1bmN0aW9uKHgpIHsgcmV0dXJuIE1hdGgubG9nKHgpIC8gYmFzZTsg
fSk7Cit9CisKK2Z1bmN0aW9uIHJlZmxlY3QoZikgeworICByZXR1cm4gZnVuY3Rpb24oeCkgewor
ICAgIHJldHVybiAtZigteCk7CisgIH07Cit9CisKK2Z1bmN0aW9uIGxvZ2dpc2godHJhbnNmb3Jt
KSB7CisgIHZhciBzY2FsZSA9IHRyYW5zZm9ybSh0cmFuc2Zvcm1Mb2csIHRyYW5zZm9ybUV4cCks
CisgICAgICBkb21haW4gPSBzY2FsZS5kb21haW4sCisgICAgICBiYXNlID0gMTAsCisgICAgICBs
b2dzLAorICAgICAgcG93czsKKworICBmdW5jdGlvbiByZXNjYWxlKCkgeworICAgIGxvZ3MgPSBs
b2dwKGJhc2UpLCBwb3dzID0gcG93cChiYXNlKTsKKyAgICBpZiAoZG9tYWluKClbMF0gPCAwKSB7
CisgICAgICBsb2dzID0gcmVmbGVjdChsb2dzKSwgcG93cyA9IHJlZmxlY3QocG93cyk7CisgICAg
ICB0cmFuc2Zvcm0odHJhbnNmb3JtTG9nbiwgdHJhbnNmb3JtRXhwbik7CisgICAgfSBlbHNlIHsK
KyAgICAgIHRyYW5zZm9ybSh0cmFuc2Zvcm1Mb2csIHRyYW5zZm9ybUV4cCk7CisgICAgfQorICAg
IHJldHVybiBzY2FsZTsKKyAgfQorCisgIHNjYWxlLmJhc2UgPSBmdW5jdGlvbihfKSB7CisgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoYmFzZSA9ICtfLCByZXNjYWxlKCkpIDogYmFzZTsK
KyAgfTsKKworICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAoZG9tYWluKF8pLCByZXNjYWxlKCkpIDogZG9tYWluKCk7CisgIH07CisK
KyAgc2NhbGUudGlja3MgPSBmdW5jdGlvbihjb3VudCkgeworICAgIHZhciBkID0gZG9tYWluKCks
CisgICAgICAgIHUgPSBkWzBdLAorICAgICAgICB2ID0gZFtkLmxlbmd0aCAtIDFdLAorICAgICAg
ICByOworCisgICAgaWYgKHIgPSB2IDwgdSkgaSA9IHUsIHUgPSB2LCB2ID0gaTsKKworICAgIHZh
ciBpID0gbG9ncyh1KSwKKyAgICAgICAgaiA9IGxvZ3ModiksCisgICAgICAgIHAsCisgICAgICAg
IGssCisgICAgICAgIHQsCisgICAgICAgIG4gPSBjb3VudCA9PSBudWxsID8gMTAgOiArY291bnQs
CisgICAgICAgIHogPSBbXTsKKworICAgIGlmICghKGJhc2UgJSAxKSAmJiBqIC0gaSA8IG4pIHsK
KyAgICAgIGkgPSBNYXRoLnJvdW5kKGkpIC0gMSwgaiA9IE1hdGgucm91bmQoaikgKyAxOworICAg
ICAgaWYgKHUgPiAwKSBmb3IgKDsgaSA8IGo7ICsraSkgeworICAgICAgICBmb3IgKGsgPSAxLCBw
ID0gcG93cyhpKTsgayA8IGJhc2U7ICsraykgeworICAgICAgICAgIHQgPSBwICogazsKKyAgICAg
ICAgICBpZiAodCA8IHUpIGNvbnRpbnVlOworICAgICAgICAgIGlmICh0ID4gdikgYnJlYWs7Cisg
ICAgICAgICAgei5wdXNoKHQpOworICAgICAgICB9CisgICAgICB9IGVsc2UgZm9yICg7IGkgPCBq
OyArK2kpIHsKKyAgICAgICAgZm9yIChrID0gYmFzZSAtIDEsIHAgPSBwb3dzKGkpOyBrID49IDE7
IC0taykgeworICAgICAgICAgIHQgPSBwICogazsKKyAgICAgICAgICBpZiAodCA8IHUpIGNvbnRp
bnVlOworICAgICAgICAgIGlmICh0ID4gdikgYnJlYWs7CisgICAgICAgICAgei5wdXNoKHQpOwor
ICAgICAgICB9CisgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgIHogPSB0aWNrcyhpLCBqLCBN
YXRoLm1pbihqIC0gaSwgbikpLm1hcChwb3dzKTsKKyAgICB9CisKKyAgICByZXR1cm4gciA/IHou
cmV2ZXJzZSgpIDogejsKKyAgfTsKKworICBzY2FsZS50aWNrRm9ybWF0ID0gZnVuY3Rpb24oY291
bnQsIHNwZWNpZmllcikgeworICAgIGlmIChzcGVjaWZpZXIgPT0gbnVsbCkgc3BlY2lmaWVyID0g
YmFzZSA9PT0gMTAgPyAiLjBlIiA6ICIsIjsKKyAgICBpZiAodHlwZW9mIHNwZWNpZmllciAhPT0g
ImZ1bmN0aW9uIikgc3BlY2lmaWVyID0gZXhwb3J0cy5mb3JtYXQoc3BlY2lmaWVyKTsKKyAgICBp
ZiAoY291bnQgPT09IEluZmluaXR5KSByZXR1cm4gc3BlY2lmaWVyOworICAgIGlmIChjb3VudCA9
PSBudWxsKSBjb3VudCA9IDEwOworICAgIHZhciBrID0gTWF0aC5tYXgoMSwgYmFzZSAqIGNvdW50
IC8gc2NhbGUudGlja3MoKS5sZW5ndGgpOyAvLyBUT0RPIGZhc3QgZXN0aW1hdGU/CisgICAgcmV0
dXJuIGZ1bmN0aW9uKGQpIHsKKyAgICAgIHZhciBpID0gZCAvIHBvd3MoTWF0aC5yb3VuZChsb2dz
KGQpKSk7CisgICAgICBpZiAoaSAqIGJhc2UgPCBiYXNlIC0gMC41KSBpICo9IGJhc2U7CisgICAg
ICByZXR1cm4gaSA8PSBrID8gc3BlY2lmaWVyKGQpIDogIiI7CisgICAgfTsKKyAgfTsKKworICBz
Y2FsZS5uaWNlID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGRvbWFpbihuaWNlKGRvbWFpbigp
LCB7CisgICAgICBmbG9vcjogZnVuY3Rpb24oeCkgeyByZXR1cm4gcG93cyhNYXRoLmZsb29yKGxv
Z3MoeCkpKTsgfSwKKyAgICAgIGNlaWw6IGZ1bmN0aW9uKHgpIHsgcmV0dXJuIHBvd3MoTWF0aC5j
ZWlsKGxvZ3MoeCkpKTsgfQorICAgIH0pKTsKKyAgfTsKKworICByZXR1cm4gc2NhbGU7Cit9CisK
K2Z1bmN0aW9uIGxvZyQxKCkgeworICB2YXIgc2NhbGUgPSBsb2dnaXNoKHRyYW5zZm9ybWVyJDEo
KSkuZG9tYWluKFsxLCAxMF0pOworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICBy
ZXR1cm4gY29weShzY2FsZSwgbG9nJDEoKSkuYmFzZShzY2FsZS5iYXNlKCkpOworICB9OworCisg
IGluaXRSYW5nZS5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKKworICByZXR1cm4gc2NhbGU7Cit9
CisKK2Z1bmN0aW9uIHRyYW5zZm9ybVN5bWxvZyhjKSB7CisgIHJldHVybiBmdW5jdGlvbih4KSB7
CisgICAgcmV0dXJuIE1hdGguc2lnbih4KSAqIE1hdGgubG9nMXAoTWF0aC5hYnMoeCAvIGMpKTsK
KyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3JtU3ltZXhwKGMpIHsKKyAgcmV0dXJuIGZ1bmN0
aW9uKHgpIHsKKyAgICByZXR1cm4gTWF0aC5zaWduKHgpICogTWF0aC5leHBtMShNYXRoLmFicyh4
KSkgKiBjOworICB9OworfQorCitmdW5jdGlvbiBzeW1sb2dpc2godHJhbnNmb3JtKSB7CisgIHZh
ciBjID0gMSwgc2NhbGUgPSB0cmFuc2Zvcm0odHJhbnNmb3JtU3ltbG9nKGMpLCB0cmFuc2Zvcm1T
eW1leHAoYykpOworCisgIHNjYWxlLmNvbnN0YW50ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVy
biBhcmd1bWVudHMubGVuZ3RoID8gdHJhbnNmb3JtKHRyYW5zZm9ybVN5bWxvZyhjID0gK18pLCB0
cmFuc2Zvcm1TeW1leHAoYykpIDogYzsKKyAgfTsKKworICByZXR1cm4gbGluZWFyaXNoKHNjYWxl
KTsKK30KKworZnVuY3Rpb24gc3ltbG9nKCkgeworICB2YXIgc2NhbGUgPSBzeW1sb2dpc2godHJh
bnNmb3JtZXIkMSgpKTsKKworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJu
IGNvcHkoc2NhbGUsIHN5bWxvZygpKS5jb25zdGFudChzY2FsZS5jb25zdGFudCgpKTsKKyAgfTsK
KworICByZXR1cm4gaW5pdFJhbmdlLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworfQorCitmdW5j
dGlvbiB0cmFuc2Zvcm1Qb3coZXhwb25lbnQpIHsKKyAgcmV0dXJuIGZ1bmN0aW9uKHgpIHsKKyAg
ICByZXR1cm4geCA8IDAgPyAtTWF0aC5wb3coLXgsIGV4cG9uZW50KSA6IE1hdGgucG93KHgsIGV4
cG9uZW50KTsKKyAgfTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3JtU3FydCh4KSB7CisgIHJldHVy
biB4IDwgMCA/IC1NYXRoLnNxcnQoLXgpIDogTWF0aC5zcXJ0KHgpOworfQorCitmdW5jdGlvbiB0
cmFuc2Zvcm1TcXVhcmUoeCkgeworICByZXR1cm4geCA8IDAgPyAteCAqIHggOiB4ICogeDsKK30K
KworZnVuY3Rpb24gcG93aXNoKHRyYW5zZm9ybSkgeworICB2YXIgc2NhbGUgPSB0cmFuc2Zvcm0o
aWRlbnRpdHkkNiwgaWRlbnRpdHkkNiksCisgICAgICBleHBvbmVudCA9IDE7CisKKyAgZnVuY3Rp
b24gcmVzY2FsZSgpIHsKKyAgICByZXR1cm4gZXhwb25lbnQgPT09IDEgPyB0cmFuc2Zvcm0oaWRl
bnRpdHkkNiwgaWRlbnRpdHkkNikKKyAgICAgICAgOiBleHBvbmVudCA9PT0gMC41ID8gdHJhbnNm
b3JtKHRyYW5zZm9ybVNxcnQsIHRyYW5zZm9ybVNxdWFyZSkKKyAgICAgICAgOiB0cmFuc2Zvcm0o
dHJhbnNmb3JtUG93KGV4cG9uZW50KSwgdHJhbnNmb3JtUG93KDEgLyBleHBvbmVudCkpOworICB9
CisKKyAgc2NhbGUuZXhwb25lbnQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAoZXhwb25lbnQgPSArXywgcmVzY2FsZSgpKSA6IGV4cG9uZW50OworICB9Owor
CisgIHJldHVybiBsaW5lYXJpc2goc2NhbGUpOworfQorCitmdW5jdGlvbiBwb3ckMSgpIHsKKyAg
dmFyIHNjYWxlID0gcG93aXNoKHRyYW5zZm9ybWVyJDEoKSk7CisKKyAgc2NhbGUuY29weSA9IGZ1
bmN0aW9uKCkgeworICAgIHJldHVybiBjb3B5KHNjYWxlLCBwb3ckMSgpKS5leHBvbmVudChzY2Fs
ZS5leHBvbmVudCgpKTsKKyAgfTsKKworICBpbml0UmFuZ2UuYXBwbHkoc2NhbGUsIGFyZ3VtZW50
cyk7CisKKyAgcmV0dXJuIHNjYWxlOworfQorCitmdW5jdGlvbiBzcXJ0JDEoKSB7CisgIHJldHVy
biBwb3ckMS5hcHBseShudWxsLCBhcmd1bWVudHMpLmV4cG9uZW50KDAuNSk7Cit9CisKK2Z1bmN0
aW9uIHF1YW50aWxlKCkgeworICB2YXIgZG9tYWluID0gW10sCisgICAgICByYW5nZSA9IFtdLAor
ICAgICAgdGhyZXNob2xkcyA9IFtdLAorICAgICAgdW5rbm93bjsKKworICBmdW5jdGlvbiByZXNj
YWxlKCkgeworICAgIHZhciBpID0gMCwgbiA9IE1hdGgubWF4KDEsIHJhbmdlLmxlbmd0aCk7Cisg
ICAgdGhyZXNob2xkcyA9IG5ldyBBcnJheShuIC0gMSk7CisgICAgd2hpbGUgKCsraSA8IG4pIHRo
cmVzaG9sZHNbaSAtIDFdID0gdGhyZXNob2xkKGRvbWFpbiwgaSAvIG4pOworICAgIHJldHVybiBz
Y2FsZTsKKyAgfQorCisgIGZ1bmN0aW9uIHNjYWxlKHgpIHsKKyAgICByZXR1cm4gaXNOYU4oeCA9
ICt4KSA/IHVua25vd24gOiByYW5nZVtiaXNlY3RSaWdodCh0aHJlc2hvbGRzLCB4KV07CisgIH0K
KworICBzY2FsZS5pbnZlcnRFeHRlbnQgPSBmdW5jdGlvbih5KSB7CisgICAgdmFyIGkgPSByYW5n
ZS5pbmRleE9mKHkpOworICAgIHJldHVybiBpIDwgMCA/IFtOYU4sIE5hTl0gOiBbCisgICAgICBp
ID4gMCA/IHRocmVzaG9sZHNbaSAtIDFdIDogZG9tYWluWzBdLAorICAgICAgaSA8IHRocmVzaG9s
ZHMubGVuZ3RoID8gdGhyZXNob2xkc1tpXSA6IGRvbWFpbltkb21haW4ubGVuZ3RoIC0gMV0KKyAg
ICBdOworICB9OworCisgIHNjYWxlLmRvbWFpbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICBpZiAoIWFy
Z3VtZW50cy5sZW5ndGgpIHJldHVybiBkb21haW4uc2xpY2UoKTsKKyAgICBkb21haW4gPSBbXTsK
KyAgICBmb3IgKHZhciBpID0gMCwgbiA9IF8ubGVuZ3RoLCBkOyBpIDwgbjsgKytpKSBpZiAoZCA9
IF9baV0sIGQgIT0gbnVsbCAmJiAhaXNOYU4oZCA9ICtkKSkgZG9tYWluLnB1c2goZCk7CisgICAg
ZG9tYWluLnNvcnQoYXNjZW5kaW5nKTsKKyAgICByZXR1cm4gcmVzY2FsZSgpOworICB9OworCisg
IHNjYWxlLnJhbmdlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3Ro
ID8gKHJhbmdlID0gc2xpY2UkNS5jYWxsKF8pLCByZXNjYWxlKCkpIDogcmFuZ2Uuc2xpY2UoKTsK
KyAgfTsKKworICBzY2FsZS51bmtub3duID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gKHVua25vd24gPSBfLCBzY2FsZSkgOiB1bmtub3duOworICB9OworCisg
IHNjYWxlLnF1YW50aWxlcyA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0aHJlc2hvbGRzLnNs
aWNlKCk7CisgIH07CisKKyAgc2NhbGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBx
dWFudGlsZSgpCisgICAgICAgIC5kb21haW4oZG9tYWluKQorICAgICAgICAucmFuZ2UocmFuZ2Up
CisgICAgICAgIC51bmtub3duKHVua25vd24pOworICB9OworCisgIHJldHVybiBpbml0UmFuZ2Uu
YXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIHF1YW50aXplJDEoKSB7Cisg
IHZhciB4MCA9IDAsCisgICAgICB4MSA9IDEsCisgICAgICBuID0gMSwKKyAgICAgIGRvbWFpbiA9
IFswLjVdLAorICAgICAgcmFuZ2UgPSBbMCwgMV0sCisgICAgICB1bmtub3duOworCisgIGZ1bmN0
aW9uIHNjYWxlKHgpIHsKKyAgICByZXR1cm4geCA8PSB4ID8gcmFuZ2VbYmlzZWN0UmlnaHQoZG9t
YWluLCB4LCAwLCBuKV0gOiB1bmtub3duOworICB9CisKKyAgZnVuY3Rpb24gcmVzY2FsZSgpIHsK
KyAgICB2YXIgaSA9IC0xOworICAgIGRvbWFpbiA9IG5ldyBBcnJheShuKTsKKyAgICB3aGlsZSAo
KytpIDwgbikgZG9tYWluW2ldID0gKChpICsgMSkgKiB4MSAtIChpIC0gbikgKiB4MCkgLyAobiAr
IDEpOworICAgIHJldHVybiBzY2FsZTsKKyAgfQorCisgIHNjYWxlLmRvbWFpbiA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4MCA9ICtfWzBdLCB4MSA9ICtf
WzFdLCByZXNjYWxlKCkpIDogW3gwLCB4MV07CisgIH07CisKKyAgc2NhbGUucmFuZ2UgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAobiA9IChyYW5nZSA9IHNs
aWNlJDUuY2FsbChfKSkubGVuZ3RoIC0gMSwgcmVzY2FsZSgpKSA6IHJhbmdlLnNsaWNlKCk7Cisg
IH07CisKKyAgc2NhbGUuaW52ZXJ0RXh0ZW50ID0gZnVuY3Rpb24oeSkgeworICAgIHZhciBpID0g
cmFuZ2UuaW5kZXhPZih5KTsKKyAgICByZXR1cm4gaSA8IDAgPyBbTmFOLCBOYU5dCisgICAgICAg
IDogaSA8IDEgPyBbeDAsIGRvbWFpblswXV0KKyAgICAgICAgOiBpID49IG4gPyBbZG9tYWluW24g
LSAxXSwgeDFdCisgICAgICAgIDogW2RvbWFpbltpIC0gMV0sIGRvbWFpbltpXV07CisgIH07CisK
KyAgc2NhbGUudW5rbm93biA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/ICh1bmtub3duID0gXywgc2NhbGUpIDogc2NhbGU7CisgIH07CisKKyAgc2NhbGUudGhy
ZXNob2xkcyA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBkb21haW4uc2xpY2UoKTsKKyAgfTsK
KworICBzY2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHF1YW50aXplJDEoKQor
ICAgICAgICAuZG9tYWluKFt4MCwgeDFdKQorICAgICAgICAucmFuZ2UocmFuZ2UpCisgICAgICAg
IC51bmtub3duKHVua25vd24pOworICB9OworCisgIHJldHVybiBpbml0UmFuZ2UuYXBwbHkobGlu
ZWFyaXNoKHNjYWxlKSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gdGhyZXNob2xkJDEoKSB7
CisgIHZhciBkb21haW4gPSBbMC41XSwKKyAgICAgIHJhbmdlID0gWzAsIDFdLAorICAgICAgdW5r
bm93biwKKyAgICAgIG4gPSAxOworCisgIGZ1bmN0aW9uIHNjYWxlKHgpIHsKKyAgICByZXR1cm4g
eCA8PSB4ID8gcmFuZ2VbYmlzZWN0UmlnaHQoZG9tYWluLCB4LCAwLCBuKV0gOiB1bmtub3duOwor
ICB9CisKKyAgc2NhbGUuZG9tYWluID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKGRvbWFpbiA9IHNsaWNlJDUuY2FsbChfKSwgbiA9IE1hdGgubWluKGRvbWFp
bi5sZW5ndGgsIHJhbmdlLmxlbmd0aCAtIDEpLCBzY2FsZSkgOiBkb21haW4uc2xpY2UoKTsKKyAg
fTsKKworICBzY2FsZS5yYW5nZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRz
Lmxlbmd0aCA/IChyYW5nZSA9IHNsaWNlJDUuY2FsbChfKSwgbiA9IE1hdGgubWluKGRvbWFpbi5s
ZW5ndGgsIHJhbmdlLmxlbmd0aCAtIDEpLCBzY2FsZSkgOiByYW5nZS5zbGljZSgpOworICB9Owor
CisgIHNjYWxlLmludmVydEV4dGVudCA9IGZ1bmN0aW9uKHkpIHsKKyAgICB2YXIgaSA9IHJhbmdl
LmluZGV4T2YoeSk7CisgICAgcmV0dXJuIFtkb21haW5baSAtIDFdLCBkb21haW5baV1dOworICB9
OworCisgIHNjYWxlLnVua25vd24gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAodW5rbm93biA9IF8sIHNjYWxlKSA6IHVua25vd247CisgIH07CisKKyAgc2Nh
bGUuY29weSA9IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiB0aHJlc2hvbGQkMSgpCisgICAgICAg
IC5kb21haW4oZG9tYWluKQorICAgICAgICAucmFuZ2UocmFuZ2UpCisgICAgICAgIC51bmtub3du
KHVua25vd24pOworICB9OworCisgIHJldHVybiBpbml0UmFuZ2UuYXBwbHkoc2NhbGUsIGFyZ3Vt
ZW50cyk7Cit9CisKK3ZhciB0MCQxID0gbmV3IERhdGUsCisgICAgdDEkMSA9IG5ldyBEYXRlOwor
CitmdW5jdGlvbiBuZXdJbnRlcnZhbChmbG9vcmksIG9mZnNldGksIGNvdW50LCBmaWVsZCkgewor
CisgIGZ1bmN0aW9uIGludGVydmFsKGRhdGUpIHsKKyAgICByZXR1cm4gZmxvb3JpKGRhdGUgPSBh
cmd1bWVudHMubGVuZ3RoID09PSAwID8gbmV3IERhdGUgOiBuZXcgRGF0ZSgrZGF0ZSkpLCBkYXRl
OworICB9CisKKyAgaW50ZXJ2YWwuZmxvb3IgPSBmdW5jdGlvbihkYXRlKSB7CisgICAgcmV0dXJu
IGZsb29yaShkYXRlID0gbmV3IERhdGUoK2RhdGUpKSwgZGF0ZTsKKyAgfTsKKworICBpbnRlcnZh
bC5jZWlsID0gZnVuY3Rpb24oZGF0ZSkgeworICAgIHJldHVybiBmbG9vcmkoZGF0ZSA9IG5ldyBE
YXRlKGRhdGUgLSAxKSksIG9mZnNldGkoZGF0ZSwgMSksIGZsb29yaShkYXRlKSwgZGF0ZTsKKyAg
fTsKKworICBpbnRlcnZhbC5yb3VuZCA9IGZ1bmN0aW9uKGRhdGUpIHsKKyAgICB2YXIgZDAgPSBp
bnRlcnZhbChkYXRlKSwKKyAgICAgICAgZDEgPSBpbnRlcnZhbC5jZWlsKGRhdGUpOworICAgIHJl
dHVybiBkYXRlIC0gZDAgPCBkMSAtIGRhdGUgPyBkMCA6IGQxOworICB9OworCisgIGludGVydmFs
Lm9mZnNldCA9IGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgICByZXR1cm4gb2Zmc2V0aShkYXRl
ID0gbmV3IERhdGUoK2RhdGUpLCBzdGVwID09IG51bGwgPyAxIDogTWF0aC5mbG9vcihzdGVwKSks
IGRhdGU7CisgIH07CisKKyAgaW50ZXJ2YWwucmFuZ2UgPSBmdW5jdGlvbihzdGFydCwgc3RvcCwg
c3RlcCkgeworICAgIHZhciByYW5nZSA9IFtdLCBwcmV2aW91czsKKyAgICBzdGFydCA9IGludGVy
dmFsLmNlaWwoc3RhcnQpOworICAgIHN0ZXAgPSBzdGVwID09IG51bGwgPyAxIDogTWF0aC5mbG9v
cihzdGVwKTsKKyAgICBpZiAoIShzdGFydCA8IHN0b3ApIHx8ICEoc3RlcCA+IDApKSByZXR1cm4g
cmFuZ2U7IC8vIGFsc28gaGFuZGxlcyBJbnZhbGlkIERhdGUKKyAgICBkbyByYW5nZS5wdXNoKHBy
ZXZpb3VzID0gbmV3IERhdGUoK3N0YXJ0KSksIG9mZnNldGkoc3RhcnQsIHN0ZXApLCBmbG9vcmko
c3RhcnQpOworICAgIHdoaWxlIChwcmV2aW91cyA8IHN0YXJ0ICYmIHN0YXJ0IDwgc3RvcCk7Cisg
ICAgcmV0dXJuIHJhbmdlOworICB9OworCisgIGludGVydmFsLmZpbHRlciA9IGZ1bmN0aW9uKHRl
c3QpIHsKKyAgICByZXR1cm4gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICAgICAgaWYg
KGRhdGUgPj0gZGF0ZSkgd2hpbGUgKGZsb29yaShkYXRlKSwgIXRlc3QoZGF0ZSkpIGRhdGUuc2V0
VGltZShkYXRlIC0gMSk7CisgICAgfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICAgICAgaWYg
KGRhdGUgPj0gZGF0ZSkgeworICAgICAgICBpZiAoc3RlcCA8IDApIHdoaWxlICgrK3N0ZXAgPD0g
MCkgeworICAgICAgICAgIHdoaWxlIChvZmZzZXRpKGRhdGUsIC0xKSwgIXRlc3QoZGF0ZSkpIHt9
IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tZW1wdHkKKyAgICAgICAgfSBlbHNlIHdoaWxlICgt
LXN0ZXAgPj0gMCkgeworICAgICAgICAgIHdoaWxlIChvZmZzZXRpKGRhdGUsICsxKSwgIXRlc3Qo
ZGF0ZSkpIHt9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tZW1wdHkKKyAgICAgICAgfQorICAg
ICAgfQorICAgIH0pOworICB9OworCisgIGlmIChjb3VudCkgeworICAgIGludGVydmFsLmNvdW50
ID0gZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICAgICAgdDAkMS5zZXRUaW1lKCtzdGFydCksIHQx
JDEuc2V0VGltZSgrZW5kKTsKKyAgICAgIGZsb29yaSh0MCQxKSwgZmxvb3JpKHQxJDEpOworICAg
ICAgcmV0dXJuIE1hdGguZmxvb3IoY291bnQodDAkMSwgdDEkMSkpOworICAgIH07CisKKyAgICBp
bnRlcnZhbC5ldmVyeSA9IGZ1bmN0aW9uKHN0ZXApIHsKKyAgICAgIHN0ZXAgPSBNYXRoLmZsb29y
KHN0ZXApOworICAgICAgcmV0dXJuICFpc0Zpbml0ZShzdGVwKSB8fCAhKHN0ZXAgPiAwKSA/IG51
bGwKKyAgICAgICAgICA6ICEoc3RlcCA+IDEpID8gaW50ZXJ2YWwKKyAgICAgICAgICA6IGludGVy
dmFsLmZpbHRlcihmaWVsZAorICAgICAgICAgICAgICA/IGZ1bmN0aW9uKGQpIHsgcmV0dXJuIGZp
ZWxkKGQpICUgc3RlcCA9PT0gMDsgfQorICAgICAgICAgICAgICA6IGZ1bmN0aW9uKGQpIHsgcmV0
dXJuIGludGVydmFsLmNvdW50KDAsIGQpICUgc3RlcCA9PT0gMDsgfSk7CisgICAgfTsKKyAgfQor
CisgIHJldHVybiBpbnRlcnZhbDsKK30KKwordmFyIG1pbGxpc2Vjb25kID0gbmV3SW50ZXJ2YWwo
ZnVuY3Rpb24oKSB7CisgIC8vIG5vb3AKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0
ZS5zZXRUaW1lKCtkYXRlICsgc3RlcCk7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJl
dHVybiBlbmQgLSBzdGFydDsKK30pOworCisvLyBBbiBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb24g
Zm9yIHRoaXMgc2ltcGxlIGNhc2UuCittaWxsaXNlY29uZC5ldmVyeSA9IGZ1bmN0aW9uKGspIHsK
KyAgayA9IE1hdGguZmxvb3Ioayk7CisgIGlmICghaXNGaW5pdGUoaykgfHwgIShrID4gMCkpIHJl
dHVybiBudWxsOworICBpZiAoIShrID4gMSkpIHJldHVybiBtaWxsaXNlY29uZDsKKyAgcmV0dXJu
IG5ld0ludGVydmFsKGZ1bmN0aW9uKGRhdGUpIHsKKyAgICBkYXRlLnNldFRpbWUoTWF0aC5mbG9v
cihkYXRlIC8gaykgKiBrKTsKKyAgfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkgeworICAgIGRhdGUu
c2V0VGltZSgrZGF0ZSArIHN0ZXAgKiBrKTsKKyAgfSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgewor
ICAgIHJldHVybiAoZW5kIC0gc3RhcnQpIC8gazsKKyAgfSk7Cit9OwordmFyIG1pbGxpc2Vjb25k
cyA9IG1pbGxpc2Vjb25kLnJhbmdlOworCit2YXIgZHVyYXRpb25TZWNvbmQgPSAxZTM7Cit2YXIg
ZHVyYXRpb25NaW51dGUgPSA2ZTQ7Cit2YXIgZHVyYXRpb25Ib3VyID0gMzZlNTsKK3ZhciBkdXJh
dGlvbkRheSA9IDg2NGU1OwordmFyIGR1cmF0aW9uV2VlayA9IDYwNDhlNTsKKwordmFyIHNlY29u
ZCA9IG5ld0ludGVydmFsKGZ1bmN0aW9uKGRhdGUpIHsKKyAgZGF0ZS5zZXRUaW1lKGRhdGUgLSBk
YXRlLmdldE1pbGxpc2Vjb25kcygpKTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0
ZS5zZXRUaW1lKCtkYXRlICsgc3RlcCAqIGR1cmF0aW9uU2Vjb25kKTsKK30sIGZ1bmN0aW9uKHN0
YXJ0LCBlbmQpIHsKKyAgcmV0dXJuIChlbmQgLSBzdGFydCkgLyBkdXJhdGlvblNlY29uZDsKK30s
IGZ1bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0VVRDU2Vjb25kcygpOworfSk7Cit2
YXIgc2Vjb25kcyA9IHNlY29uZC5yYW5nZTsKKwordmFyIG1pbnV0ZSA9IG5ld0ludGVydmFsKGZ1
bmN0aW9uKGRhdGUpIHsKKyAgZGF0ZS5zZXRUaW1lKGRhdGUgLSBkYXRlLmdldE1pbGxpc2Vjb25k
cygpIC0gZGF0ZS5nZXRTZWNvbmRzKCkgKiBkdXJhdGlvblNlY29uZCk7Cit9LCBmdW5jdGlvbihk
YXRlLCBzdGVwKSB7CisgIGRhdGUuc2V0VGltZSgrZGF0ZSArIHN0ZXAgKiBkdXJhdGlvbk1pbnV0
ZSk7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVybiAoZW5kIC0gc3RhcnQpIC8g
ZHVyYXRpb25NaW51dGU7Cit9LCBmdW5jdGlvbihkYXRlKSB7CisgIHJldHVybiBkYXRlLmdldE1p
bnV0ZXMoKTsKK30pOwordmFyIG1pbnV0ZXMgPSBtaW51dGUucmFuZ2U7CisKK3ZhciBob3VyID0g
bmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRlLnNldFRpbWUoZGF0ZSAtIGRhdGUu
Z2V0TWlsbGlzZWNvbmRzKCkgLSBkYXRlLmdldFNlY29uZHMoKSAqIGR1cmF0aW9uU2Vjb25kIC0g
ZGF0ZS5nZXRNaW51dGVzKCkgKiBkdXJhdGlvbk1pbnV0ZSk7Cit9LCBmdW5jdGlvbihkYXRlLCBz
dGVwKSB7CisgIGRhdGUuc2V0VGltZSgrZGF0ZSArIHN0ZXAgKiBkdXJhdGlvbkhvdXIpOworfSwg
ZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICByZXR1cm4gKGVuZCAtIHN0YXJ0KSAvIGR1cmF0aW9u
SG91cjsKK30sIGZ1bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0SG91cnMoKTsKK30p
OwordmFyIGhvdXJzID0gaG91ci5yYW5nZTsKKwordmFyIGRheSA9IG5ld0ludGVydmFsKGZ1bmN0
aW9uKGRhdGUpIHsKKyAgZGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTsKK30sIGZ1bmN0aW9uKGRh
dGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgc3RlcCk7Cit9LCBm
dW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVybiAoZW5kIC0gc3RhcnQgLSAoZW5kLmdldFRp
bWV6b25lT2Zmc2V0KCkgLSBzdGFydC5nZXRUaW1lem9uZU9mZnNldCgpKSAqIGR1cmF0aW9uTWlu
dXRlKSAvIGR1cmF0aW9uRGF5OworfSwgZnVuY3Rpb24oZGF0ZSkgeworICByZXR1cm4gZGF0ZS5n
ZXREYXRlKCkgLSAxOworfSk7Cit2YXIgZGF5cyA9IGRheS5yYW5nZTsKKworZnVuY3Rpb24gd2Vl
a2RheShpKSB7CisgIHJldHVybiBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgICAgZGF0
ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpIC0gKGRhdGUuZ2V0RGF5KCkgKyA3IC0gaSkgJSA3KTsK
KyAgICBkYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApOworICB9LCBmdW5jdGlvbihkYXRlLCBzdGVw
KSB7CisgICAgZGF0ZS5zZXREYXRlKGRhdGUuZ2V0RGF0ZSgpICsgc3RlcCAqIDcpOworICB9LCBm
dW5jdGlvbihzdGFydCwgZW5kKSB7CisgICAgcmV0dXJuIChlbmQgLSBzdGFydCAtIChlbmQuZ2V0
VGltZXpvbmVPZmZzZXQoKSAtIHN0YXJ0LmdldFRpbWV6b25lT2Zmc2V0KCkpICogZHVyYXRpb25N
aW51dGUpIC8gZHVyYXRpb25XZWVrOworICB9KTsKK30KKwordmFyIHN1bmRheSA9IHdlZWtkYXko
MCk7Cit2YXIgbW9uZGF5ID0gd2Vla2RheSgxKTsKK3ZhciB0dWVzZGF5ID0gd2Vla2RheSgyKTsK
K3ZhciB3ZWRuZXNkYXkgPSB3ZWVrZGF5KDMpOwordmFyIHRodXJzZGF5ID0gd2Vla2RheSg0KTsK
K3ZhciBmcmlkYXkgPSB3ZWVrZGF5KDUpOwordmFyIHNhdHVyZGF5ID0gd2Vla2RheSg2KTsKKwor
dmFyIHN1bmRheXMgPSBzdW5kYXkucmFuZ2U7Cit2YXIgbW9uZGF5cyA9IG1vbmRheS5yYW5nZTsK
K3ZhciB0dWVzZGF5cyA9IHR1ZXNkYXkucmFuZ2U7Cit2YXIgd2VkbmVzZGF5cyA9IHdlZG5lc2Rh
eS5yYW5nZTsKK3ZhciB0aHVyc2RheXMgPSB0aHVyc2RheS5yYW5nZTsKK3ZhciBmcmlkYXlzID0g
ZnJpZGF5LnJhbmdlOwordmFyIHNhdHVyZGF5cyA9IHNhdHVyZGF5LnJhbmdlOworCit2YXIgbW9u
dGggPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7CisgIGRhdGUuc2V0RGF0ZSgxKTsKKyAg
ZGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAg
ZGF0ZS5zZXRNb250aChkYXRlLmdldE1vbnRoKCkgKyBzdGVwKTsKK30sIGZ1bmN0aW9uKHN0YXJ0
LCBlbmQpIHsKKyAgcmV0dXJuIGVuZC5nZXRNb250aCgpIC0gc3RhcnQuZ2V0TW9udGgoKSArIChl
bmQuZ2V0RnVsbFllYXIoKSAtIHN0YXJ0LmdldEZ1bGxZZWFyKCkpICogMTI7Cit9LCBmdW5jdGlv
bihkYXRlKSB7CisgIHJldHVybiBkYXRlLmdldE1vbnRoKCk7Cit9KTsKK3ZhciBtb250aHMgPSBt
b250aC5yYW5nZTsKKwordmFyIHllYXIgPSBuZXdJbnRlcnZhbChmdW5jdGlvbihkYXRlKSB7Cisg
IGRhdGUuc2V0TW9udGgoMCwgMSk7CisgIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7Cit9LCBm
dW5jdGlvbihkYXRlLCBzdGVwKSB7CisgIGRhdGUuc2V0RnVsbFllYXIoZGF0ZS5nZXRGdWxsWWVh
cigpICsgc3RlcCk7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVybiBlbmQuZ2V0
RnVsbFllYXIoKSAtIHN0YXJ0LmdldEZ1bGxZZWFyKCk7Cit9LCBmdW5jdGlvbihkYXRlKSB7Cisg
IHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCk7Cit9KTsKKworLy8gQW4gb3B0aW1pemVkIGltcGxl
bWVudGF0aW9uIGZvciB0aGlzIHNpbXBsZSBjYXNlLgoreWVhci5ldmVyeSA9IGZ1bmN0aW9uKGsp
IHsKKyAgcmV0dXJuICFpc0Zpbml0ZShrID0gTWF0aC5mbG9vcihrKSkgfHwgIShrID4gMCkgPyBu
dWxsIDogbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICAgIGRhdGUuc2V0RnVsbFllYXIo
TWF0aC5mbG9vcihkYXRlLmdldEZ1bGxZZWFyKCkgLyBrKSAqIGspOworICAgIGRhdGUuc2V0TW9u
dGgoMCwgMSk7CisgICAgZGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTsKKyAgfSwgZnVuY3Rpb24o
ZGF0ZSwgc3RlcCkgeworICAgIGRhdGUuc2V0RnVsbFllYXIoZGF0ZS5nZXRGdWxsWWVhcigpICsg
c3RlcCAqIGspOworICB9KTsKK307Cit2YXIgeWVhcnMgPSB5ZWFyLnJhbmdlOworCit2YXIgdXRj
TWludXRlID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRlLnNldFVUQ1NlY29u
ZHMoMCwgMCk7Cit9LCBmdW5jdGlvbihkYXRlLCBzdGVwKSB7CisgIGRhdGUuc2V0VGltZSgrZGF0
ZSArIHN0ZXAgKiBkdXJhdGlvbk1pbnV0ZSk7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7Cisg
IHJldHVybiAoZW5kIC0gc3RhcnQpIC8gZHVyYXRpb25NaW51dGU7Cit9LCBmdW5jdGlvbihkYXRl
KSB7CisgIHJldHVybiBkYXRlLmdldFVUQ01pbnV0ZXMoKTsKK30pOwordmFyIHV0Y01pbnV0ZXMg
PSB1dGNNaW51dGUucmFuZ2U7CisKK3ZhciB1dGNIb3VyID0gbmV3SW50ZXJ2YWwoZnVuY3Rpb24o
ZGF0ZSkgeworICBkYXRlLnNldFVUQ01pbnV0ZXMoMCwgMCwgMCk7Cit9LCBmdW5jdGlvbihkYXRl
LCBzdGVwKSB7CisgIGRhdGUuc2V0VGltZSgrZGF0ZSArIHN0ZXAgKiBkdXJhdGlvbkhvdXIpOwor
fSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICByZXR1cm4gKGVuZCAtIHN0YXJ0KSAvIGR1cmF0
aW9uSG91cjsKK30sIGZ1bmN0aW9uKGRhdGUpIHsKKyAgcmV0dXJuIGRhdGUuZ2V0VVRDSG91cnMo
KTsKK30pOwordmFyIHV0Y0hvdXJzID0gdXRjSG91ci5yYW5nZTsKKwordmFyIHV0Y0RheSA9IG5l
d0ludGVydmFsKGZ1bmN0aW9uKGRhdGUpIHsKKyAgZGF0ZS5zZXRVVENIb3VycygwLCAwLCAwLCAw
KTsKK30sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgZGF0ZS5zZXRVVENEYXRlKGRhdGUuZ2V0
VVRDRGF0ZSgpICsgc3RlcCk7Cit9LCBmdW5jdGlvbihzdGFydCwgZW5kKSB7CisgIHJldHVybiAo
ZW5kIC0gc3RhcnQpIC8gZHVyYXRpb25EYXk7Cit9LCBmdW5jdGlvbihkYXRlKSB7CisgIHJldHVy
biBkYXRlLmdldFVUQ0RhdGUoKSAtIDE7Cit9KTsKK3ZhciB1dGNEYXlzID0gdXRjRGF5LnJhbmdl
OworCitmdW5jdGlvbiB1dGNXZWVrZGF5KGkpIHsKKyAgcmV0dXJuIG5ld0ludGVydmFsKGZ1bmN0
aW9uKGRhdGUpIHsKKyAgICBkYXRlLnNldFVUQ0RhdGUoZGF0ZS5nZXRVVENEYXRlKCkgLSAoZGF0
ZS5nZXRVVENEYXkoKSArIDcgLSBpKSAlIDcpOworICAgIGRhdGUuc2V0VVRDSG91cnMoMCwgMCwg
MCwgMCk7CisgIH0sIGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgICBkYXRlLnNldFVUQ0RhdGUo
ZGF0ZS5nZXRVVENEYXRlKCkgKyBzdGVwICogNyk7CisgIH0sIGZ1bmN0aW9uKHN0YXJ0LCBlbmQp
IHsKKyAgICByZXR1cm4gKGVuZCAtIHN0YXJ0KSAvIGR1cmF0aW9uV2VlazsKKyAgfSk7Cit9CisK
K3ZhciB1dGNTdW5kYXkgPSB1dGNXZWVrZGF5KDApOwordmFyIHV0Y01vbmRheSA9IHV0Y1dlZWtk
YXkoMSk7Cit2YXIgdXRjVHVlc2RheSA9IHV0Y1dlZWtkYXkoMik7Cit2YXIgdXRjV2VkbmVzZGF5
ID0gdXRjV2Vla2RheSgzKTsKK3ZhciB1dGNUaHVyc2RheSA9IHV0Y1dlZWtkYXkoNCk7Cit2YXIg
dXRjRnJpZGF5ID0gdXRjV2Vla2RheSg1KTsKK3ZhciB1dGNTYXR1cmRheSA9IHV0Y1dlZWtkYXko
Nik7CisKK3ZhciB1dGNTdW5kYXlzID0gdXRjU3VuZGF5LnJhbmdlOwordmFyIHV0Y01vbmRheXMg
PSB1dGNNb25kYXkucmFuZ2U7Cit2YXIgdXRjVHVlc2RheXMgPSB1dGNUdWVzZGF5LnJhbmdlOwor
dmFyIHV0Y1dlZG5lc2RheXMgPSB1dGNXZWRuZXNkYXkucmFuZ2U7Cit2YXIgdXRjVGh1cnNkYXlz
ID0gdXRjVGh1cnNkYXkucmFuZ2U7Cit2YXIgdXRjRnJpZGF5cyA9IHV0Y0ZyaWRheS5yYW5nZTsK
K3ZhciB1dGNTYXR1cmRheXMgPSB1dGNTYXR1cmRheS5yYW5nZTsKKwordmFyIHV0Y01vbnRoID0g
bmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRlLnNldFVUQ0RhdGUoMSk7CisgIGRh
dGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7Cit9LCBmdW5jdGlvbihkYXRlLCBzdGVwKSB7Cisg
IGRhdGUuc2V0VVRDTW9udGgoZGF0ZS5nZXRVVENNb250aCgpICsgc3RlcCk7Cit9LCBmdW5jdGlv
bihzdGFydCwgZW5kKSB7CisgIHJldHVybiBlbmQuZ2V0VVRDTW9udGgoKSAtIHN0YXJ0LmdldFVU
Q01vbnRoKCkgKyAoZW5kLmdldFVUQ0Z1bGxZZWFyKCkgLSBzdGFydC5nZXRVVENGdWxsWWVhcigp
KSAqIDEyOworfSwgZnVuY3Rpb24oZGF0ZSkgeworICByZXR1cm4gZGF0ZS5nZXRVVENNb250aCgp
OworfSk7Cit2YXIgdXRjTW9udGhzID0gdXRjTW9udGgucmFuZ2U7CisKK3ZhciB1dGNZZWFyID0g
bmV3SW50ZXJ2YWwoZnVuY3Rpb24oZGF0ZSkgeworICBkYXRlLnNldFVUQ01vbnRoKDAsIDEpOwor
ICBkYXRlLnNldFVUQ0hvdXJzKDAsIDAsIDAsIDApOworfSwgZnVuY3Rpb24oZGF0ZSwgc3RlcCkg
eworICBkYXRlLnNldFVUQ0Z1bGxZZWFyKGRhdGUuZ2V0VVRDRnVsbFllYXIoKSArIHN0ZXApOwor
fSwgZnVuY3Rpb24oc3RhcnQsIGVuZCkgeworICByZXR1cm4gZW5kLmdldFVUQ0Z1bGxZZWFyKCkg
LSBzdGFydC5nZXRVVENGdWxsWWVhcigpOworfSwgZnVuY3Rpb24oZGF0ZSkgeworICByZXR1cm4g
ZGF0ZS5nZXRVVENGdWxsWWVhcigpOworfSk7CisKKy8vIEFuIG9wdGltaXplZCBpbXBsZW1lbnRh
dGlvbiBmb3IgdGhpcyBzaW1wbGUgY2FzZS4KK3V0Y1llYXIuZXZlcnkgPSBmdW5jdGlvbihrKSB7
CisgIHJldHVybiAhaXNGaW5pdGUoayA9IE1hdGguZmxvb3IoaykpIHx8ICEoayA+IDApID8gbnVs
bCA6IG5ld0ludGVydmFsKGZ1bmN0aW9uKGRhdGUpIHsKKyAgICBkYXRlLnNldFVUQ0Z1bGxZZWFy
KE1hdGguZmxvb3IoZGF0ZS5nZXRVVENGdWxsWWVhcigpIC8gaykgKiBrKTsKKyAgICBkYXRlLnNl
dFVUQ01vbnRoKDAsIDEpOworICAgIGRhdGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7CisgIH0s
IGZ1bmN0aW9uKGRhdGUsIHN0ZXApIHsKKyAgICBkYXRlLnNldFVUQ0Z1bGxZZWFyKGRhdGUuZ2V0
VVRDRnVsbFllYXIoKSArIHN0ZXAgKiBrKTsKKyAgfSk7Cit9OwordmFyIHV0Y1llYXJzID0gdXRj
WWVhci5yYW5nZTsKKworZnVuY3Rpb24gbG9jYWxEYXRlKGQpIHsKKyAgaWYgKDAgPD0gZC55ICYm
IGQueSA8IDEwMCkgeworICAgIHZhciBkYXRlID0gbmV3IERhdGUoLTEsIGQubSwgZC5kLCBkLkgs
IGQuTSwgZC5TLCBkLkwpOworICAgIGRhdGUuc2V0RnVsbFllYXIoZC55KTsKKyAgICByZXR1cm4g
ZGF0ZTsKKyAgfQorICByZXR1cm4gbmV3IERhdGUoZC55LCBkLm0sIGQuZCwgZC5ILCBkLk0sIGQu
UywgZC5MKTsKK30KKworZnVuY3Rpb24gdXRjRGF0ZShkKSB7CisgIGlmICgwIDw9IGQueSAmJiBk
LnkgPCAxMDApIHsKKyAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKERhdGUuVVRDKC0xLCBkLm0sIGQu
ZCwgZC5ILCBkLk0sIGQuUywgZC5MKSk7CisgICAgZGF0ZS5zZXRVVENGdWxsWWVhcihkLnkpOwor
ICAgIHJldHVybiBkYXRlOworICB9CisgIHJldHVybiBuZXcgRGF0ZShEYXRlLlVUQyhkLnksIGQu
bSwgZC5kLCBkLkgsIGQuTSwgZC5TLCBkLkwpKTsKK30KKworZnVuY3Rpb24gbmV3RGF0ZSh5LCBt
LCBkKSB7CisgIHJldHVybiB7eTogeSwgbTogbSwgZDogZCwgSDogMCwgTTogMCwgUzogMCwgTDog
MH07Cit9CisKK2Z1bmN0aW9uIGZvcm1hdExvY2FsZSQxKGxvY2FsZSkgeworICB2YXIgbG9jYWxl
X2RhdGVUaW1lID0gbG9jYWxlLmRhdGVUaW1lLAorICAgICAgbG9jYWxlX2RhdGUgPSBsb2NhbGUu
ZGF0ZSwKKyAgICAgIGxvY2FsZV90aW1lID0gbG9jYWxlLnRpbWUsCisgICAgICBsb2NhbGVfcGVy
aW9kcyA9IGxvY2FsZS5wZXJpb2RzLAorICAgICAgbG9jYWxlX3dlZWtkYXlzID0gbG9jYWxlLmRh
eXMsCisgICAgICBsb2NhbGVfc2hvcnRXZWVrZGF5cyA9IGxvY2FsZS5zaG9ydERheXMsCisgICAg
ICBsb2NhbGVfbW9udGhzID0gbG9jYWxlLm1vbnRocywKKyAgICAgIGxvY2FsZV9zaG9ydE1vbnRo
cyA9IGxvY2FsZS5zaG9ydE1vbnRoczsKKworICB2YXIgcGVyaW9kUmUgPSBmb3JtYXRSZShsb2Nh
bGVfcGVyaW9kcyksCisgICAgICBwZXJpb2RMb29rdXAgPSBmb3JtYXRMb29rdXAobG9jYWxlX3Bl
cmlvZHMpLAorICAgICAgd2Vla2RheVJlID0gZm9ybWF0UmUobG9jYWxlX3dlZWtkYXlzKSwKKyAg
ICAgIHdlZWtkYXlMb29rdXAgPSBmb3JtYXRMb29rdXAobG9jYWxlX3dlZWtkYXlzKSwKKyAgICAg
IHNob3J0V2Vla2RheVJlID0gZm9ybWF0UmUobG9jYWxlX3Nob3J0V2Vla2RheXMpLAorICAgICAg
c2hvcnRXZWVrZGF5TG9va3VwID0gZm9ybWF0TG9va3VwKGxvY2FsZV9zaG9ydFdlZWtkYXlzKSwK
KyAgICAgIG1vbnRoUmUgPSBmb3JtYXRSZShsb2NhbGVfbW9udGhzKSwKKyAgICAgIG1vbnRoTG9v
a3VwID0gZm9ybWF0TG9va3VwKGxvY2FsZV9tb250aHMpLAorICAgICAgc2hvcnRNb250aFJlID0g
Zm9ybWF0UmUobG9jYWxlX3Nob3J0TW9udGhzKSwKKyAgICAgIHNob3J0TW9udGhMb29rdXAgPSBm
b3JtYXRMb29rdXAobG9jYWxlX3Nob3J0TW9udGhzKTsKKworICB2YXIgZm9ybWF0cyA9IHsKKyAg
ICAiYSI6IGZvcm1hdFNob3J0V2Vla2RheSwKKyAgICAiQSI6IGZvcm1hdFdlZWtkYXksCisgICAg
ImIiOiBmb3JtYXRTaG9ydE1vbnRoLAorICAgICJCIjogZm9ybWF0TW9udGgsCisgICAgImMiOiBu
dWxsLAorICAgICJkIjogZm9ybWF0RGF5T2ZNb250aCwKKyAgICAiZSI6IGZvcm1hdERheU9mTW9u
dGgsCisgICAgImYiOiBmb3JtYXRNaWNyb3NlY29uZHMsCisgICAgIkgiOiBmb3JtYXRIb3VyMjQs
CisgICAgIkkiOiBmb3JtYXRIb3VyMTIsCisgICAgImoiOiBmb3JtYXREYXlPZlllYXIsCisgICAg
IkwiOiBmb3JtYXRNaWxsaXNlY29uZHMsCisgICAgIm0iOiBmb3JtYXRNb250aE51bWJlciwKKyAg
ICAiTSI6IGZvcm1hdE1pbnV0ZXMsCisgICAgInAiOiBmb3JtYXRQZXJpb2QsCisgICAgInEiOiBm
b3JtYXRRdWFydGVyLAorICAgICJRIjogZm9ybWF0VW5peFRpbWVzdGFtcCwKKyAgICAicyI6IGZv
cm1hdFVuaXhUaW1lc3RhbXBTZWNvbmRzLAorICAgICJTIjogZm9ybWF0U2Vjb25kcywKKyAgICAi
dSI6IGZvcm1hdFdlZWtkYXlOdW1iZXJNb25kYXksCisgICAgIlUiOiBmb3JtYXRXZWVrTnVtYmVy
U3VuZGF5LAorICAgICJWIjogZm9ybWF0V2Vla051bWJlcklTTywKKyAgICAidyI6IGZvcm1hdFdl
ZWtkYXlOdW1iZXJTdW5kYXksCisgICAgIlciOiBmb3JtYXRXZWVrTnVtYmVyTW9uZGF5LAorICAg
ICJ4IjogbnVsbCwKKyAgICAiWCI6IG51bGwsCisgICAgInkiOiBmb3JtYXRZZWFyJDEsCisgICAg
IlkiOiBmb3JtYXRGdWxsWWVhciwKKyAgICAiWiI6IGZvcm1hdFpvbmUsCisgICAgIiUiOiBmb3Jt
YXRMaXRlcmFsUGVyY2VudAorICB9OworCisgIHZhciB1dGNGb3JtYXRzID0geworICAgICJhIjog
Zm9ybWF0VVRDU2hvcnRXZWVrZGF5LAorICAgICJBIjogZm9ybWF0VVRDV2Vla2RheSwKKyAgICAi
YiI6IGZvcm1hdFVUQ1Nob3J0TW9udGgsCisgICAgIkIiOiBmb3JtYXRVVENNb250aCwKKyAgICAi
YyI6IG51bGwsCisgICAgImQiOiBmb3JtYXRVVENEYXlPZk1vbnRoLAorICAgICJlIjogZm9ybWF0
VVRDRGF5T2ZNb250aCwKKyAgICAiZiI6IGZvcm1hdFVUQ01pY3Jvc2Vjb25kcywKKyAgICAiSCI6
IGZvcm1hdFVUQ0hvdXIyNCwKKyAgICAiSSI6IGZvcm1hdFVUQ0hvdXIxMiwKKyAgICAiaiI6IGZv
cm1hdFVUQ0RheU9mWWVhciwKKyAgICAiTCI6IGZvcm1hdFVUQ01pbGxpc2Vjb25kcywKKyAgICAi
bSI6IGZvcm1hdFVUQ01vbnRoTnVtYmVyLAorICAgICJNIjogZm9ybWF0VVRDTWludXRlcywKKyAg
ICAicCI6IGZvcm1hdFVUQ1BlcmlvZCwKKyAgICAicSI6IGZvcm1hdFVUQ1F1YXJ0ZXIsCisgICAg
IlEiOiBmb3JtYXRVbml4VGltZXN0YW1wLAorICAgICJzIjogZm9ybWF0VW5peFRpbWVzdGFtcFNl
Y29uZHMsCisgICAgIlMiOiBmb3JtYXRVVENTZWNvbmRzLAorICAgICJ1IjogZm9ybWF0VVRDV2Vl
a2RheU51bWJlck1vbmRheSwKKyAgICAiVSI6IGZvcm1hdFVUQ1dlZWtOdW1iZXJTdW5kYXksCisg
ICAgIlYiOiBmb3JtYXRVVENXZWVrTnVtYmVySVNPLAorICAgICJ3IjogZm9ybWF0VVRDV2Vla2Rh
eU51bWJlclN1bmRheSwKKyAgICAiVyI6IGZvcm1hdFVUQ1dlZWtOdW1iZXJNb25kYXksCisgICAg
IngiOiBudWxsLAorICAgICJYIjogbnVsbCwKKyAgICAieSI6IGZvcm1hdFVUQ1llYXIsCisgICAg
IlkiOiBmb3JtYXRVVENGdWxsWWVhciwKKyAgICAiWiI6IGZvcm1hdFVUQ1pvbmUsCisgICAgIiUi
OiBmb3JtYXRMaXRlcmFsUGVyY2VudAorICB9OworCisgIHZhciBwYXJzZXMgPSB7CisgICAgImEi
OiBwYXJzZVNob3J0V2Vla2RheSwKKyAgICAiQSI6IHBhcnNlV2Vla2RheSwKKyAgICAiYiI6IHBh
cnNlU2hvcnRNb250aCwKKyAgICAiQiI6IHBhcnNlTW9udGgsCisgICAgImMiOiBwYXJzZUxvY2Fs
ZURhdGVUaW1lLAorICAgICJkIjogcGFyc2VEYXlPZk1vbnRoLAorICAgICJlIjogcGFyc2VEYXlP
Zk1vbnRoLAorICAgICJmIjogcGFyc2VNaWNyb3NlY29uZHMsCisgICAgIkgiOiBwYXJzZUhvdXIy
NCwKKyAgICAiSSI6IHBhcnNlSG91cjI0LAorICAgICJqIjogcGFyc2VEYXlPZlllYXIsCisgICAg
IkwiOiBwYXJzZU1pbGxpc2Vjb25kcywKKyAgICAibSI6IHBhcnNlTW9udGhOdW1iZXIsCisgICAg
Ik0iOiBwYXJzZU1pbnV0ZXMsCisgICAgInAiOiBwYXJzZVBlcmlvZCwKKyAgICAicSI6IHBhcnNl
UXVhcnRlciwKKyAgICAiUSI6IHBhcnNlVW5peFRpbWVzdGFtcCwKKyAgICAicyI6IHBhcnNlVW5p
eFRpbWVzdGFtcFNlY29uZHMsCisgICAgIlMiOiBwYXJzZVNlY29uZHMsCisgICAgInUiOiBwYXJz
ZVdlZWtkYXlOdW1iZXJNb25kYXksCisgICAgIlUiOiBwYXJzZVdlZWtOdW1iZXJTdW5kYXksCisg
ICAgIlYiOiBwYXJzZVdlZWtOdW1iZXJJU08sCisgICAgInciOiBwYXJzZVdlZWtkYXlOdW1iZXJT
dW5kYXksCisgICAgIlciOiBwYXJzZVdlZWtOdW1iZXJNb25kYXksCisgICAgIngiOiBwYXJzZUxv
Y2FsZURhdGUsCisgICAgIlgiOiBwYXJzZUxvY2FsZVRpbWUsCisgICAgInkiOiBwYXJzZVllYXIs
CisgICAgIlkiOiBwYXJzZUZ1bGxZZWFyLAorICAgICJaIjogcGFyc2Vab25lLAorICAgICIlIjog
cGFyc2VMaXRlcmFsUGVyY2VudAorICB9OworCisgIC8vIFRoZXNlIHJlY3Vyc2l2ZSBkaXJlY3Rp
dmUgZGVmaW5pdGlvbnMgbXVzdCBiZSBkZWZlcnJlZC4KKyAgZm9ybWF0cy54ID0gbmV3Rm9ybWF0
KGxvY2FsZV9kYXRlLCBmb3JtYXRzKTsKKyAgZm9ybWF0cy5YID0gbmV3Rm9ybWF0KGxvY2FsZV90
aW1lLCBmb3JtYXRzKTsKKyAgZm9ybWF0cy5jID0gbmV3Rm9ybWF0KGxvY2FsZV9kYXRlVGltZSwg
Zm9ybWF0cyk7CisgIHV0Y0Zvcm1hdHMueCA9IG5ld0Zvcm1hdChsb2NhbGVfZGF0ZSwgdXRjRm9y
bWF0cyk7CisgIHV0Y0Zvcm1hdHMuWCA9IG5ld0Zvcm1hdChsb2NhbGVfdGltZSwgdXRjRm9ybWF0
cyk7CisgIHV0Y0Zvcm1hdHMuYyA9IG5ld0Zvcm1hdChsb2NhbGVfZGF0ZVRpbWUsIHV0Y0Zvcm1h
dHMpOworCisgIGZ1bmN0aW9uIG5ld0Zvcm1hdChzcGVjaWZpZXIsIGZvcm1hdHMpIHsKKyAgICBy
ZXR1cm4gZnVuY3Rpb24oZGF0ZSkgeworICAgICAgdmFyIHN0cmluZyA9IFtdLAorICAgICAgICAg
IGkgPSAtMSwKKyAgICAgICAgICBqID0gMCwKKyAgICAgICAgICBuID0gc3BlY2lmaWVyLmxlbmd0
aCwKKyAgICAgICAgICBjLAorICAgICAgICAgIHBhZCwKKyAgICAgICAgICBmb3JtYXQ7CisKKyAg
ICAgIGlmICghKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSkgZGF0ZSA9IG5ldyBEYXRlKCtkYXRlKTsK
KworICAgICAgd2hpbGUgKCsraSA8IG4pIHsKKyAgICAgICAgaWYgKHNwZWNpZmllci5jaGFyQ29k
ZUF0KGkpID09PSAzNykgeworICAgICAgICAgIHN0cmluZy5wdXNoKHNwZWNpZmllci5zbGljZShq
LCBpKSk7CisgICAgICAgICAgaWYgKChwYWQgPSBwYWRzW2MgPSBzcGVjaWZpZXIuY2hhckF0KCsr
aSldKSAhPSBudWxsKSBjID0gc3BlY2lmaWVyLmNoYXJBdCgrK2kpOworICAgICAgICAgIGVsc2Ug
cGFkID0gYyA9PT0gImUiID8gIiAiIDogIjAiOworICAgICAgICAgIGlmIChmb3JtYXQgPSBmb3Jt
YXRzW2NdKSBjID0gZm9ybWF0KGRhdGUsIHBhZCk7CisgICAgICAgICAgc3RyaW5nLnB1c2goYyk7
CisgICAgICAgICAgaiA9IGkgKyAxOworICAgICAgICB9CisgICAgICB9CisKKyAgICAgIHN0cmlu
Zy5wdXNoKHNwZWNpZmllci5zbGljZShqLCBpKSk7CisgICAgICByZXR1cm4gc3RyaW5nLmpvaW4o
IiIpOworICAgIH07CisgIH0KKworICBmdW5jdGlvbiBuZXdQYXJzZShzcGVjaWZpZXIsIFopIHsK
KyAgICByZXR1cm4gZnVuY3Rpb24oc3RyaW5nKSB7CisgICAgICB2YXIgZCA9IG5ld0RhdGUoMTkw
MCwgdW5kZWZpbmVkLCAxKSwKKyAgICAgICAgICBpID0gcGFyc2VTcGVjaWZpZXIoZCwgc3BlY2lm
aWVyLCBzdHJpbmcgKz0gIiIsIDApLAorICAgICAgICAgIHdlZWssIGRheSQxOworICAgICAgaWYg
KGkgIT0gc3RyaW5nLmxlbmd0aCkgcmV0dXJuIG51bGw7CisKKyAgICAgIC8vIElmIGEgVU5JWCB0
aW1lc3RhbXAgaXMgc3BlY2lmaWVkLCByZXR1cm4gaXQuCisgICAgICBpZiAoIlEiIGluIGQpIHJl
dHVybiBuZXcgRGF0ZShkLlEpOworICAgICAgaWYgKCJzIiBpbiBkKSByZXR1cm4gbmV3IERhdGUo
ZC5zICogMTAwMCArICgiTCIgaW4gZCA/IGQuTCA6IDApKTsKKworICAgICAgLy8gSWYgdGhpcyBp
cyB1dGNQYXJzZSwgbmV2ZXIgdXNlIHRoZSBsb2NhbCB0aW1lem9uZS4KKyAgICAgIGlmIChaICYm
ICEoIloiIGluIGQpKSBkLlogPSAwOworCisgICAgICAvLyBUaGUgYW0tcG0gZmxhZyBpcyAwIGZv
ciBBTSwgYW5kIDEgZm9yIFBNLgorICAgICAgaWYgKCJwIiBpbiBkKSBkLkggPSBkLkggJSAxMiAr
IGQucCAqIDEyOworCisgICAgICAvLyBJZiB0aGUgbW9udGggd2FzIG5vdCBzcGVjaWZpZWQsIGlu
aGVyaXQgZnJvbSB0aGUgcXVhcnRlci4KKyAgICAgIGlmIChkLm0gPT09IHVuZGVmaW5lZCkgZC5t
ID0gInEiIGluIGQgPyBkLnEgOiAwOworCisgICAgICAvLyBDb252ZXJ0IGRheS1vZi13ZWVrIGFu
ZCB3ZWVrLW9mLXllYXIgdG8gZGF5LW9mLXllYXIuCisgICAgICBpZiAoIlYiIGluIGQpIHsKKyAg
ICAgICAgaWYgKGQuViA8IDEgfHwgZC5WID4gNTMpIHJldHVybiBudWxsOworICAgICAgICBpZiAo
ISgidyIgaW4gZCkpIGQudyA9IDE7CisgICAgICAgIGlmICgiWiIgaW4gZCkgeworICAgICAgICAg
IHdlZWsgPSB1dGNEYXRlKG5ld0RhdGUoZC55LCAwLCAxKSksIGRheSQxID0gd2Vlay5nZXRVVENE
YXkoKTsKKyAgICAgICAgICB3ZWVrID0gZGF5JDEgPiA0IHx8IGRheSQxID09PSAwID8gdXRjTW9u
ZGF5LmNlaWwod2VlaykgOiB1dGNNb25kYXkod2Vlayk7CisgICAgICAgICAgd2VlayA9IHV0Y0Rh
eS5vZmZzZXQod2VlaywgKGQuViAtIDEpICogNyk7CisgICAgICAgICAgZC55ID0gd2Vlay5nZXRV
VENGdWxsWWVhcigpOworICAgICAgICAgIGQubSA9IHdlZWsuZ2V0VVRDTW9udGgoKTsKKyAgICAg
ICAgICBkLmQgPSB3ZWVrLmdldFVUQ0RhdGUoKSArIChkLncgKyA2KSAlIDc7CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgd2VlayA9IGxvY2FsRGF0ZShuZXdEYXRlKGQueSwgMCwgMSkpLCBk
YXkkMSA9IHdlZWsuZ2V0RGF5KCk7CisgICAgICAgICAgd2VlayA9IGRheSQxID4gNCB8fCBkYXkk
MSA9PT0gMCA/IG1vbmRheS5jZWlsKHdlZWspIDogbW9uZGF5KHdlZWspOworICAgICAgICAgIHdl
ZWsgPSBkYXkub2Zmc2V0KHdlZWssIChkLlYgLSAxKSAqIDcpOworICAgICAgICAgIGQueSA9IHdl
ZWsuZ2V0RnVsbFllYXIoKTsKKyAgICAgICAgICBkLm0gPSB3ZWVrLmdldE1vbnRoKCk7CisgICAg
ICAgICAgZC5kID0gd2Vlay5nZXREYXRlKCkgKyAoZC53ICsgNikgJSA3OworICAgICAgICB9Cisg
ICAgICB9IGVsc2UgaWYgKCJXIiBpbiBkIHx8ICJVIiBpbiBkKSB7CisgICAgICAgIGlmICghKCJ3
IiBpbiBkKSkgZC53ID0gInUiIGluIGQgPyBkLnUgJSA3IDogIlciIGluIGQgPyAxIDogMDsKKyAg
ICAgICAgZGF5JDEgPSAiWiIgaW4gZCA/IHV0Y0RhdGUobmV3RGF0ZShkLnksIDAsIDEpKS5nZXRV
VENEYXkoKSA6IGxvY2FsRGF0ZShuZXdEYXRlKGQueSwgMCwgMSkpLmdldERheSgpOworICAgICAg
ICBkLm0gPSAwOworICAgICAgICBkLmQgPSAiVyIgaW4gZCA/IChkLncgKyA2KSAlIDcgKyBkLlcg
KiA3IC0gKGRheSQxICsgNSkgJSA3IDogZC53ICsgZC5VICogNyAtIChkYXkkMSArIDYpICUgNzsK
KyAgICAgIH0KKworICAgICAgLy8gSWYgYSB0aW1lIHpvbmUgaXMgc3BlY2lmaWVkLCBhbGwgZmll
bGRzIGFyZSBpbnRlcnByZXRlZCBhcyBVVEMgYW5kIHRoZW4KKyAgICAgIC8vIG9mZnNldCBhY2Nv
cmRpbmcgdG8gdGhlIHNwZWNpZmllZCB0aW1lIHpvbmUuCisgICAgICBpZiAoIloiIGluIGQpIHsK
KyAgICAgICAgZC5IICs9IGQuWiAvIDEwMCB8IDA7CisgICAgICAgIGQuTSArPSBkLlogJSAxMDA7
CisgICAgICAgIHJldHVybiB1dGNEYXRlKGQpOworICAgICAgfQorCisgICAgICAvLyBPdGhlcndp
c2UsIGFsbCBmaWVsZHMgYXJlIGluIGxvY2FsIHRpbWUuCisgICAgICByZXR1cm4gbG9jYWxEYXRl
KGQpOworICAgIH07CisgIH0KKworICBmdW5jdGlvbiBwYXJzZVNwZWNpZmllcihkLCBzcGVjaWZp
ZXIsIHN0cmluZywgaikgeworICAgIHZhciBpID0gMCwKKyAgICAgICAgbiA9IHNwZWNpZmllci5s
ZW5ndGgsCisgICAgICAgIG0gPSBzdHJpbmcubGVuZ3RoLAorICAgICAgICBjLAorICAgICAgICBw
YXJzZTsKKworICAgIHdoaWxlIChpIDwgbikgeworICAgICAgaWYgKGogPj0gbSkgcmV0dXJuIC0x
OworICAgICAgYyA9IHNwZWNpZmllci5jaGFyQ29kZUF0KGkrKyk7CisgICAgICBpZiAoYyA9PT0g
MzcpIHsKKyAgICAgICAgYyA9IHNwZWNpZmllci5jaGFyQXQoaSsrKTsKKyAgICAgICAgcGFyc2Ug
PSBwYXJzZXNbYyBpbiBwYWRzID8gc3BlY2lmaWVyLmNoYXJBdChpKyspIDogY107CisgICAgICAg
IGlmICghcGFyc2UgfHwgKChqID0gcGFyc2UoZCwgc3RyaW5nLCBqKSkgPCAwKSkgcmV0dXJuIC0x
OworICAgICAgfSBlbHNlIGlmIChjICE9IHN0cmluZy5jaGFyQ29kZUF0KGorKykpIHsKKyAgICAg
ICAgcmV0dXJuIC0xOworICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBqOworICB9CisKKyAg
ZnVuY3Rpb24gcGFyc2VQZXJpb2QoZCwgc3RyaW5nLCBpKSB7CisgICAgdmFyIG4gPSBwZXJpb2RS
ZS5leGVjKHN0cmluZy5zbGljZShpKSk7CisgICAgcmV0dXJuIG4gPyAoZC5wID0gcGVyaW9kTG9v
a3VwW25bMF0udG9Mb3dlckNhc2UoKV0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKKyAgfQorCisg
IGZ1bmN0aW9uIHBhcnNlU2hvcnRXZWVrZGF5KGQsIHN0cmluZywgaSkgeworICAgIHZhciBuID0g
c2hvcnRXZWVrZGF5UmUuZXhlYyhzdHJpbmcuc2xpY2UoaSkpOworICAgIHJldHVybiBuID8gKGQu
dyA9IHNob3J0V2Vla2RheUxvb2t1cFtuWzBdLnRvTG93ZXJDYXNlKCldLCBpICsgblswXS5sZW5n
dGgpIDogLTE7CisgIH0KKworICBmdW5jdGlvbiBwYXJzZVdlZWtkYXkoZCwgc3RyaW5nLCBpKSB7
CisgICAgdmFyIG4gPSB3ZWVrZGF5UmUuZXhlYyhzdHJpbmcuc2xpY2UoaSkpOworICAgIHJldHVy
biBuID8gKGQudyA9IHdlZWtkYXlMb29rdXBbblswXS50b0xvd2VyQ2FzZSgpXSwgaSArIG5bMF0u
bGVuZ3RoKSA6IC0xOworICB9CisKKyAgZnVuY3Rpb24gcGFyc2VTaG9ydE1vbnRoKGQsIHN0cmlu
ZywgaSkgeworICAgIHZhciBuID0gc2hvcnRNb250aFJlLmV4ZWMoc3RyaW5nLnNsaWNlKGkpKTsK
KyAgICByZXR1cm4gbiA/IChkLm0gPSBzaG9ydE1vbnRoTG9va3VwW25bMF0udG9Mb3dlckNhc2Uo
KV0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKKyAgfQorCisgIGZ1bmN0aW9uIHBhcnNlTW9udGgo
ZCwgc3RyaW5nLCBpKSB7CisgICAgdmFyIG4gPSBtb250aFJlLmV4ZWMoc3RyaW5nLnNsaWNlKGkp
KTsKKyAgICByZXR1cm4gbiA/IChkLm0gPSBtb250aExvb2t1cFtuWzBdLnRvTG93ZXJDYXNlKCld
LCBpICsgblswXS5sZW5ndGgpIDogLTE7CisgIH0KKworICBmdW5jdGlvbiBwYXJzZUxvY2FsZURh
dGVUaW1lKGQsIHN0cmluZywgaSkgeworICAgIHJldHVybiBwYXJzZVNwZWNpZmllcihkLCBsb2Nh
bGVfZGF0ZVRpbWUsIHN0cmluZywgaSk7CisgIH0KKworICBmdW5jdGlvbiBwYXJzZUxvY2FsZURh
dGUoZCwgc3RyaW5nLCBpKSB7CisgICAgcmV0dXJuIHBhcnNlU3BlY2lmaWVyKGQsIGxvY2FsZV9k
YXRlLCBzdHJpbmcsIGkpOworICB9CisKKyAgZnVuY3Rpb24gcGFyc2VMb2NhbGVUaW1lKGQsIHN0
cmluZywgaSkgeworICAgIHJldHVybiBwYXJzZVNwZWNpZmllcihkLCBsb2NhbGVfdGltZSwgc3Ry
aW5nLCBpKTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFNob3J0V2Vla2RheShkKSB7CisgICAg
cmV0dXJuIGxvY2FsZV9zaG9ydFdlZWtkYXlzW2QuZ2V0RGF5KCldOworICB9CisKKyAgZnVuY3Rp
b24gZm9ybWF0V2Vla2RheShkKSB7CisgICAgcmV0dXJuIGxvY2FsZV93ZWVrZGF5c1tkLmdldERh
eSgpXTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFNob3J0TW9udGgoZCkgeworICAgIHJldHVy
biBsb2NhbGVfc2hvcnRNb250aHNbZC5nZXRNb250aCgpXTsKKyAgfQorCisgIGZ1bmN0aW9uIGZv
cm1hdE1vbnRoKGQpIHsKKyAgICByZXR1cm4gbG9jYWxlX21vbnRoc1tkLmdldE1vbnRoKCldOwor
ICB9CisKKyAgZnVuY3Rpb24gZm9ybWF0UGVyaW9kKGQpIHsKKyAgICByZXR1cm4gbG9jYWxlX3Bl
cmlvZHNbKyhkLmdldEhvdXJzKCkgPj0gMTIpXTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFF1
YXJ0ZXIoZCkgeworICAgIHJldHVybiAxICsgfn4oZC5nZXRNb250aCgpIC8gMyk7CisgIH0KKwor
ICBmdW5jdGlvbiBmb3JtYXRVVENTaG9ydFdlZWtkYXkoZCkgeworICAgIHJldHVybiBsb2NhbGVf
c2hvcnRXZWVrZGF5c1tkLmdldFVUQ0RheSgpXTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFVU
Q1dlZWtkYXkoZCkgeworICAgIHJldHVybiBsb2NhbGVfd2Vla2RheXNbZC5nZXRVVENEYXkoKV07
CisgIH0KKworICBmdW5jdGlvbiBmb3JtYXRVVENTaG9ydE1vbnRoKGQpIHsKKyAgICByZXR1cm4g
bG9jYWxlX3Nob3J0TW9udGhzW2QuZ2V0VVRDTW9udGgoKV07CisgIH0KKworICBmdW5jdGlvbiBm
b3JtYXRVVENNb250aChkKSB7CisgICAgcmV0dXJuIGxvY2FsZV9tb250aHNbZC5nZXRVVENNb250
aCgpXTsKKyAgfQorCisgIGZ1bmN0aW9uIGZvcm1hdFVUQ1BlcmlvZChkKSB7CisgICAgcmV0dXJu
IGxvY2FsZV9wZXJpb2RzWysoZC5nZXRVVENIb3VycygpID49IDEyKV07CisgIH0KKworICBmdW5j
dGlvbiBmb3JtYXRVVENRdWFydGVyKGQpIHsKKyAgICByZXR1cm4gMSArIH5+KGQuZ2V0VVRDTW9u
dGgoKSAvIDMpOworICB9CisKKyAgcmV0dXJuIHsKKyAgICBmb3JtYXQ6IGZ1bmN0aW9uKHNwZWNp
ZmllcikgeworICAgICAgdmFyIGYgPSBuZXdGb3JtYXQoc3BlY2lmaWVyICs9ICIiLCBmb3JtYXRz
KTsKKyAgICAgIGYudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHNwZWNpZmllcjsgfTsK
KyAgICAgIHJldHVybiBmOworICAgIH0sCisgICAgcGFyc2U6IGZ1bmN0aW9uKHNwZWNpZmllcikg
eworICAgICAgdmFyIHAgPSBuZXdQYXJzZShzcGVjaWZpZXIgKz0gIiIsIGZhbHNlKTsKKyAgICAg
IHAudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHNwZWNpZmllcjsgfTsKKyAgICAgIHJl
dHVybiBwOworICAgIH0sCisgICAgdXRjRm9ybWF0OiBmdW5jdGlvbihzcGVjaWZpZXIpIHsKKyAg
ICAgIHZhciBmID0gbmV3Rm9ybWF0KHNwZWNpZmllciArPSAiIiwgdXRjRm9ybWF0cyk7CisgICAg
ICBmLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7IHJldHVybiBzcGVjaWZpZXI7IH07CisgICAgICBy
ZXR1cm4gZjsKKyAgICB9LAorICAgIHV0Y1BhcnNlOiBmdW5jdGlvbihzcGVjaWZpZXIpIHsKKyAg
ICAgIHZhciBwID0gbmV3UGFyc2Uoc3BlY2lmaWVyICs9ICIiLCB0cnVlKTsKKyAgICAgIHAudG9T
dHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHNwZWNpZmllcjsgfTsKKyAgICAgIHJldHVybiBw
OworICAgIH0KKyAgfTsKK30KKwordmFyIHBhZHMgPSB7Ii0iOiAiIiwgIl8iOiAiICIsICIwIjog
IjAifSwKKyAgICBudW1iZXJSZSA9IC9eXHMqXGQrLywgLy8gbm90ZTogaWdub3JlcyBuZXh0IGRp
cmVjdGl2ZQorICAgIHBlcmNlbnRSZSA9IC9eJS8sCisgICAgcmVxdW90ZVJlID0gL1tcXF4kKis/
fFtcXSgpLnt9XS9nOworCitmdW5jdGlvbiBwYWQkMSh2YWx1ZSwgZmlsbCwgd2lkdGgpIHsKKyAg
dmFyIHNpZ24gPSB2YWx1ZSA8IDAgPyAiLSIgOiAiIiwKKyAgICAgIHN0cmluZyA9IChzaWduID8g
LXZhbHVlIDogdmFsdWUpICsgIiIsCisgICAgICBsZW5ndGggPSBzdHJpbmcubGVuZ3RoOworICBy
ZXR1cm4gc2lnbiArIChsZW5ndGggPCB3aWR0aCA/IG5ldyBBcnJheSh3aWR0aCAtIGxlbmd0aCAr
IDEpLmpvaW4oZmlsbCkgKyBzdHJpbmcgOiBzdHJpbmcpOworfQorCitmdW5jdGlvbiByZXF1b3Rl
KHMpIHsKKyAgcmV0dXJuIHMucmVwbGFjZShyZXF1b3RlUmUsICJcXCQmIik7Cit9CisKK2Z1bmN0
aW9uIGZvcm1hdFJlKG5hbWVzKSB7CisgIHJldHVybiBuZXcgUmVnRXhwKCJeKD86IiArIG5hbWVz
Lm1hcChyZXF1b3RlKS5qb2luKCJ8IikgKyAiKSIsICJpIik7Cit9CisKK2Z1bmN0aW9uIGZvcm1h
dExvb2t1cChuYW1lcykgeworICB2YXIgbWFwID0ge30sIGkgPSAtMSwgbiA9IG5hbWVzLmxlbmd0
aDsKKyAgd2hpbGUgKCsraSA8IG4pIG1hcFtuYW1lc1tpXS50b0xvd2VyQ2FzZSgpXSA9IGk7Cisg
IHJldHVybiBtYXA7Cit9CisKK2Z1bmN0aW9uIHBhcnNlV2Vla2RheU51bWJlclN1bmRheShkLCBz
dHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShpLCBpICsg
MSkpOworICByZXR1cm4gbiA/IChkLncgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOwor
fQorCitmdW5jdGlvbiBwYXJzZVdlZWtkYXlOdW1iZXJNb25kYXkoZCwgc3RyaW5nLCBpKSB7Cisg
IHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDEpKTsKKyAgcmV0dXJu
IG4gPyAoZC51ID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVuY3Rpb24g
cGFyc2VXZWVrTnVtYmVyU3VuZGF5KGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJl
LmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQuVSA9ICtuWzBd
LCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlV2Vla051bWJlcklT
TyhkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShp
LCBpICsgMikpOworICByZXR1cm4gbiA/IChkLlYgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6
IC0xOworfQorCitmdW5jdGlvbiBwYXJzZVdlZWtOdW1iZXJNb25kYXkoZCwgc3RyaW5nLCBpKSB7
CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDIpKTsKKyAgcmV0
dXJuIG4gPyAoZC5XID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVuY3Rp
b24gcGFyc2VGdWxsWWVhcihkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVj
KHN0cmluZy5zbGljZShpLCBpICsgNCkpOworICByZXR1cm4gbiA/IChkLnkgPSArblswXSwgaSAr
IG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZVllYXIoZCwgc3RyaW5nLCBp
KSB7CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDIpKTsKKyAg
cmV0dXJuIG4gPyAoZC55ID0gK25bMF0gKyAoK25bMF0gPiA2OCA/IDE5MDAgOiAyMDAwKSwgaSAr
IG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZVpvbmUoZCwgc3RyaW5nLCBp
KSB7CisgIHZhciBuID0gL14oWil8KFsrLV1cZFxkKSg/Ojo/KFxkXGQpKT8vLmV4ZWMoc3RyaW5n
LnNsaWNlKGksIGkgKyA2KSk7CisgIHJldHVybiBuID8gKGQuWiA9IG5bMV0gPyAwIDogLShuWzJd
ICsgKG5bM10gfHwgIjAwIikpLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9u
IHBhcnNlUXVhcnRlcihkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0
cmluZy5zbGljZShpLCBpICsgMSkpOworICByZXR1cm4gbiA/IChkLnEgPSBuWzBdICogMyAtIDMs
IGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVuY3Rpb24gcGFyc2VNb250aE51bWJlcihk
LCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShpLCBp
ICsgMikpOworICByZXR1cm4gbiA/IChkLm0gPSBuWzBdIC0gMSwgaSArIG5bMF0ubGVuZ3RoKSA6
IC0xOworfQorCitmdW5jdGlvbiBwYXJzZURheU9mTW9udGgoZCwgc3RyaW5nLCBpKSB7CisgIHZh
ciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDIpKTsKKyAgcmV0dXJuIG4g
PyAoZC5kID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVuY3Rpb24gcGFy
c2VEYXlPZlllYXIoZCwgc3RyaW5nLCBpKSB7CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJp
bmcuc2xpY2UoaSwgaSArIDMpKTsKKyAgcmV0dXJuIG4gPyAoZC5tID0gMCwgZC5kID0gK25bMF0s
IGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30KKworZnVuY3Rpb24gcGFyc2VIb3VyMjQoZCwgc3Ry
aW5nLCBpKSB7CisgIHZhciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSwgaSArIDIp
KTsKKyAgcmV0dXJuIG4gPyAoZC5IID0gK25bMF0sIGkgKyBuWzBdLmxlbmd0aCkgOiAtMTsKK30K
KworZnVuY3Rpb24gcGFyc2VNaW51dGVzKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJl
clJlLmV4ZWMoc3RyaW5nLnNsaWNlKGksIGkgKyAyKSk7CisgIHJldHVybiBuID8gKGQuTSA9ICtu
WzBdLCBpICsgblswXS5sZW5ndGgpIDogLTE7Cit9CisKK2Z1bmN0aW9uIHBhcnNlU2Vjb25kcyhk
LCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShpLCBp
ICsgMikpOworICByZXR1cm4gbiA/IChkLlMgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0x
OworfQorCitmdW5jdGlvbiBwYXJzZU1pbGxpc2Vjb25kcyhkLCBzdHJpbmcsIGkpIHsKKyAgdmFy
IG4gPSBudW1iZXJSZS5leGVjKHN0cmluZy5zbGljZShpLCBpICsgMykpOworICByZXR1cm4gbiA/
IChkLkwgPSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJz
ZU1pY3Jvc2Vjb25kcyhkLCBzdHJpbmcsIGkpIHsKKyAgdmFyIG4gPSBudW1iZXJSZS5leGVjKHN0
cmluZy5zbGljZShpLCBpICsgNikpOworICByZXR1cm4gbiA/IChkLkwgPSBNYXRoLmZsb29yKG5b
MF0gLyAxMDAwKSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZUxp
dGVyYWxQZXJjZW50KGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IHBlcmNlbnRSZS5leGVjKHN0
cmluZy5zbGljZShpLCBpICsgMSkpOworICByZXR1cm4gbiA/IGkgKyBuWzBdLmxlbmd0aCA6IC0x
OworfQorCitmdW5jdGlvbiBwYXJzZVVuaXhUaW1lc3RhbXAoZCwgc3RyaW5nLCBpKSB7CisgIHZh
ciBuID0gbnVtYmVyUmUuZXhlYyhzdHJpbmcuc2xpY2UoaSkpOworICByZXR1cm4gbiA/IChkLlEg
PSArblswXSwgaSArIG5bMF0ubGVuZ3RoKSA6IC0xOworfQorCitmdW5jdGlvbiBwYXJzZVVuaXhU
aW1lc3RhbXBTZWNvbmRzKGQsIHN0cmluZywgaSkgeworICB2YXIgbiA9IG51bWJlclJlLmV4ZWMo
c3RyaW5nLnNsaWNlKGkpKTsKKyAgcmV0dXJuIG4gPyAoZC5zID0gK25bMF0sIGkgKyBuWzBdLmxl
bmd0aCkgOiAtMTsKK30KKworZnVuY3Rpb24gZm9ybWF0RGF5T2ZNb250aChkLCBwKSB7CisgIHJl
dHVybiBwYWQkMShkLmdldERhdGUoKSwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdEhvdXIy
NChkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldEhvdXJzKCksIHAsIDIpOworfQorCitmdW5j
dGlvbiBmb3JtYXRIb3VyMTIoZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRIb3VycygpICUg
MTIgfHwgMTIsIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXREYXlPZlllYXIoZCwgcCkgewor
ICByZXR1cm4gcGFkJDEoMSArIGRheS5jb3VudCh5ZWFyKGQpLCBkKSwgcCwgMyk7Cit9CisKK2Z1
bmN0aW9uIGZvcm1hdE1pbGxpc2Vjb25kcyhkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldE1p
bGxpc2Vjb25kcygpLCBwLCAzKTsKK30KKworZnVuY3Rpb24gZm9ybWF0TWljcm9zZWNvbmRzKGQs
IHApIHsKKyAgcmV0dXJuIGZvcm1hdE1pbGxpc2Vjb25kcyhkLCBwKSArICIwMDAiOworfQorCitm
dW5jdGlvbiBmb3JtYXRNb250aE51bWJlcihkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldE1v
bnRoKCkgKyAxLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0TWludXRlcyhkLCBwKSB7Cisg
IHJldHVybiBwYWQkMShkLmdldE1pbnV0ZXMoKSwgcCwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1h
dFNlY29uZHMoZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRTZWNvbmRzKCksIHAsIDIpOwor
fQorCitmdW5jdGlvbiBmb3JtYXRXZWVrZGF5TnVtYmVyTW9uZGF5KGQpIHsKKyAgdmFyIGRheSA9
IGQuZ2V0RGF5KCk7CisgIHJldHVybiBkYXkgPT09IDAgPyA3IDogZGF5OworfQorCitmdW5jdGlv
biBmb3JtYXRXZWVrTnVtYmVyU3VuZGF5KGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKHN1bmRheS5j
b3VudCh5ZWFyKGQpIC0gMSwgZCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRXZWVrTnVt
YmVySVNPKGQsIHApIHsKKyAgdmFyIGRheSA9IGQuZ2V0RGF5KCk7CisgIGQgPSAoZGF5ID49IDQg
fHwgZGF5ID09PSAwKSA/IHRodXJzZGF5KGQpIDogdGh1cnNkYXkuY2VpbChkKTsKKyAgcmV0dXJu
IHBhZCQxKHRodXJzZGF5LmNvdW50KHllYXIoZCksIGQpICsgKHllYXIoZCkuZ2V0RGF5KCkgPT09
IDQpLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0V2Vla2RheU51bWJlclN1bmRheShkKSB7
CisgIHJldHVybiBkLmdldERheSgpOworfQorCitmdW5jdGlvbiBmb3JtYXRXZWVrTnVtYmVyTW9u
ZGF5KGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKG1vbmRheS5jb3VudCh5ZWFyKGQpIC0gMSwgZCks
IHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRZZWFyJDEoZCwgcCkgeworICByZXR1cm4gcGFk
JDEoZC5nZXRGdWxsWWVhcigpICUgMTAwLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0RnVs
bFllYXIoZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRGdWxsWWVhcigpICUgMTAwMDAsIHAs
IDQpOworfQorCitmdW5jdGlvbiBmb3JtYXRab25lKGQpIHsKKyAgdmFyIHogPSBkLmdldFRpbWV6
b25lT2Zmc2V0KCk7CisgIHJldHVybiAoeiA+IDAgPyAiLSIgOiAoeiAqPSAtMSwgIisiKSkKKyAg
ICAgICsgcGFkJDEoeiAvIDYwIHwgMCwgIjAiLCAyKQorICAgICAgKyBwYWQkMSh6ICUgNjAsICIw
IiwgMik7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ0RheU9mTW9udGgoZCwgcCkgeworICByZXR1
cm4gcGFkJDEoZC5nZXRVVENEYXRlKCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENI
b3VyMjQoZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRVVENIb3VycygpLCBwLCAyKTsKK30K
KworZnVuY3Rpb24gZm9ybWF0VVRDSG91cjEyKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0
VVRDSG91cnMoKSAlIDEyIHx8IDEyLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDRGF5
T2ZZZWFyKGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKDEgKyB1dGNEYXkuY291bnQodXRjWWVhcihk
KSwgZCksIHAsIDMpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENNaWxsaXNlY29uZHMoZCwgcCkg
eworICByZXR1cm4gcGFkJDEoZC5nZXRVVENNaWxsaXNlY29uZHMoKSwgcCwgMyk7Cit9CisKK2Z1
bmN0aW9uIGZvcm1hdFVUQ01pY3Jvc2Vjb25kcyhkLCBwKSB7CisgIHJldHVybiBmb3JtYXRVVENN
aWxsaXNlY29uZHMoZCwgcCkgKyAiMDAwIjsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDTW9udGhO
dW1iZXIoZCwgcCkgeworICByZXR1cm4gcGFkJDEoZC5nZXRVVENNb250aCgpICsgMSwgcCwgMik7
Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ01pbnV0ZXMoZCwgcCkgeworICByZXR1cm4gcGFkJDEo
ZC5nZXRVVENNaW51dGVzKCksIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENTZWNvbmRz
KGQsIHApIHsKKyAgcmV0dXJuIHBhZCQxKGQuZ2V0VVRDU2Vjb25kcygpLCBwLCAyKTsKK30KKwor
ZnVuY3Rpb24gZm9ybWF0VVRDV2Vla2RheU51bWJlck1vbmRheShkKSB7CisgIHZhciBkb3cgPSBk
LmdldFVUQ0RheSgpOworICByZXR1cm4gZG93ID09PSAwID8gNyA6IGRvdzsKK30KKworZnVuY3Rp
b24gZm9ybWF0VVRDV2Vla051bWJlclN1bmRheShkLCBwKSB7CisgIHJldHVybiBwYWQkMSh1dGNT
dW5kYXkuY291bnQodXRjWWVhcihkKSAtIDEsIGQpLCBwLCAyKTsKK30KKworZnVuY3Rpb24gZm9y
bWF0VVRDV2Vla051bWJlcklTTyhkLCBwKSB7CisgIHZhciBkYXkgPSBkLmdldFVUQ0RheSgpOwor
ICBkID0gKGRheSA+PSA0IHx8IGRheSA9PT0gMCkgPyB1dGNUaHVyc2RheShkKSA6IHV0Y1RodXJz
ZGF5LmNlaWwoZCk7CisgIHJldHVybiBwYWQkMSh1dGNUaHVyc2RheS5jb3VudCh1dGNZZWFyKGQp
LCBkKSArICh1dGNZZWFyKGQpLmdldFVUQ0RheSgpID09PSA0KSwgcCwgMik7Cit9CisKK2Z1bmN0
aW9uIGZvcm1hdFVUQ1dlZWtkYXlOdW1iZXJTdW5kYXkoZCkgeworICByZXR1cm4gZC5nZXRVVENE
YXkoKTsKK30KKworZnVuY3Rpb24gZm9ybWF0VVRDV2Vla051bWJlck1vbmRheShkLCBwKSB7Cisg
IHJldHVybiBwYWQkMSh1dGNNb25kYXkuY291bnQodXRjWWVhcihkKSAtIDEsIGQpLCBwLCAyKTsK
K30KKworZnVuY3Rpb24gZm9ybWF0VVRDWWVhcihkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdl
dFVUQ0Z1bGxZZWFyKCkgJSAxMDAsIHAsIDIpOworfQorCitmdW5jdGlvbiBmb3JtYXRVVENGdWxs
WWVhcihkLCBwKSB7CisgIHJldHVybiBwYWQkMShkLmdldFVUQ0Z1bGxZZWFyKCkgJSAxMDAwMCwg
cCwgNCk7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFVUQ1pvbmUoKSB7CisgIHJldHVybiAiKzAwMDAi
OworfQorCitmdW5jdGlvbiBmb3JtYXRMaXRlcmFsUGVyY2VudCgpIHsKKyAgcmV0dXJuICIlIjsK
K30KKworZnVuY3Rpb24gZm9ybWF0VW5peFRpbWVzdGFtcChkKSB7CisgIHJldHVybiArZDsKK30K
KworZnVuY3Rpb24gZm9ybWF0VW5peFRpbWVzdGFtcFNlY29uZHMoZCkgeworICByZXR1cm4gTWF0
aC5mbG9vcigrZCAvIDEwMDApOworfQorCit2YXIgbG9jYWxlJDE7CisKK2RlZmF1bHRMb2NhbGUk
MSh7CisgIGRhdGVUaW1lOiAiJXgsICVYIiwKKyAgZGF0ZTogIiUtbS8lLWQvJVkiLAorICB0aW1l
OiAiJS1JOiVNOiVTICVwIiwKKyAgcGVyaW9kczogWyJBTSIsICJQTSJdLAorICBkYXlzOiBbIlN1
bmRheSIsICJNb25kYXkiLCAiVHVlc2RheSIsICJXZWRuZXNkYXkiLCAiVGh1cnNkYXkiLCAiRnJp
ZGF5IiwgIlNhdHVyZGF5Il0sCisgIHNob3J0RGF5czogWyJTdW4iLCAiTW9uIiwgIlR1ZSIsICJX
ZWQiLCAiVGh1IiwgIkZyaSIsICJTYXQiXSwKKyAgbW9udGhzOiBbIkphbnVhcnkiLCAiRmVicnVh
cnkiLCAiTWFyY2giLCAiQXByaWwiLCAiTWF5IiwgIkp1bmUiLCAiSnVseSIsICJBdWd1c3QiLCAi
U2VwdGVtYmVyIiwgIk9jdG9iZXIiLCAiTm92ZW1iZXIiLCAiRGVjZW1iZXIiXSwKKyAgc2hvcnRN
b250aHM6IFsiSmFuIiwgIkZlYiIsICJNYXIiLCAiQXByIiwgIk1heSIsICJKdW4iLCAiSnVsIiwg
IkF1ZyIsICJTZXAiLCAiT2N0IiwgIk5vdiIsICJEZWMiXQorfSk7CisKK2Z1bmN0aW9uIGRlZmF1
bHRMb2NhbGUkMShkZWZpbml0aW9uKSB7CisgIGxvY2FsZSQxID0gZm9ybWF0TG9jYWxlJDEoZGVm
aW5pdGlvbik7CisgIGV4cG9ydHMudGltZUZvcm1hdCA9IGxvY2FsZSQxLmZvcm1hdDsKKyAgZXhw
b3J0cy50aW1lUGFyc2UgPSBsb2NhbGUkMS5wYXJzZTsKKyAgZXhwb3J0cy51dGNGb3JtYXQgPSBs
b2NhbGUkMS51dGNGb3JtYXQ7CisgIGV4cG9ydHMudXRjUGFyc2UgPSBsb2NhbGUkMS51dGNQYXJz
ZTsKKyAgcmV0dXJuIGxvY2FsZSQxOworfQorCit2YXIgaXNvU3BlY2lmaWVyID0gIiVZLSVtLSVk
VCVIOiVNOiVTLiVMWiI7CisKK2Z1bmN0aW9uIGZvcm1hdElzb05hdGl2ZShkYXRlKSB7CisgIHJl
dHVybiBkYXRlLnRvSVNPU3RyaW5nKCk7Cit9CisKK3ZhciBmb3JtYXRJc28gPSBEYXRlLnByb3Rv
dHlwZS50b0lTT1N0cmluZworICAgID8gZm9ybWF0SXNvTmF0aXZlCisgICAgOiBleHBvcnRzLnV0
Y0Zvcm1hdChpc29TcGVjaWZpZXIpOworCitmdW5jdGlvbiBwYXJzZUlzb05hdGl2ZShzdHJpbmcp
IHsKKyAgdmFyIGRhdGUgPSBuZXcgRGF0ZShzdHJpbmcpOworICByZXR1cm4gaXNOYU4oZGF0ZSkg
PyBudWxsIDogZGF0ZTsKK30KKwordmFyIHBhcnNlSXNvID0gK25ldyBEYXRlKCIyMDAwLTAxLTAx
VDAwOjAwOjAwLjAwMFoiKQorICAgID8gcGFyc2VJc29OYXRpdmUKKyAgICA6IGV4cG9ydHMudXRj
UGFyc2UoaXNvU3BlY2lmaWVyKTsKKwordmFyIGR1cmF0aW9uU2Vjb25kJDEgPSAxMDAwLAorICAg
IGR1cmF0aW9uTWludXRlJDEgPSBkdXJhdGlvblNlY29uZCQxICogNjAsCisgICAgZHVyYXRpb25I
b3VyJDEgPSBkdXJhdGlvbk1pbnV0ZSQxICogNjAsCisgICAgZHVyYXRpb25EYXkkMSA9IGR1cmF0
aW9uSG91ciQxICogMjQsCisgICAgZHVyYXRpb25XZWVrJDEgPSBkdXJhdGlvbkRheSQxICogNywK
KyAgICBkdXJhdGlvbk1vbnRoID0gZHVyYXRpb25EYXkkMSAqIDMwLAorICAgIGR1cmF0aW9uWWVh
ciA9IGR1cmF0aW9uRGF5JDEgKiAzNjU7CisKK2Z1bmN0aW9uIGRhdGUkMSh0KSB7CisgIHJldHVy
biBuZXcgRGF0ZSh0KTsKK30KKworZnVuY3Rpb24gbnVtYmVyJDModCkgeworICByZXR1cm4gdCBp
bnN0YW5jZW9mIERhdGUgPyArdCA6ICtuZXcgRGF0ZSgrdCk7Cit9CisKK2Z1bmN0aW9uIGNhbGVu
ZGFyKHllYXIsIG1vbnRoLCB3ZWVrLCBkYXksIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWxsaXNl
Y29uZCwgZm9ybWF0KSB7CisgIHZhciBzY2FsZSA9IGNvbnRpbnVvdXMoaWRlbnRpdHkkNiwgaWRl
bnRpdHkkNiksCisgICAgICBpbnZlcnQgPSBzY2FsZS5pbnZlcnQsCisgICAgICBkb21haW4gPSBz
Y2FsZS5kb21haW47CisKKyAgdmFyIGZvcm1hdE1pbGxpc2Vjb25kID0gZm9ybWF0KCIuJUwiKSwK
KyAgICAgIGZvcm1hdFNlY29uZCA9IGZvcm1hdCgiOiVTIiksCisgICAgICBmb3JtYXRNaW51dGUg
PSBmb3JtYXQoIiVJOiVNIiksCisgICAgICBmb3JtYXRIb3VyID0gZm9ybWF0KCIlSSAlcCIpLAor
ICAgICAgZm9ybWF0RGF5ID0gZm9ybWF0KCIlYSAlZCIpLAorICAgICAgZm9ybWF0V2VlayA9IGZv
cm1hdCgiJWIgJWQiKSwKKyAgICAgIGZvcm1hdE1vbnRoID0gZm9ybWF0KCIlQiIpLAorICAgICAg
Zm9ybWF0WWVhciA9IGZvcm1hdCgiJVkiKTsKKworICB2YXIgdGlja0ludGVydmFscyA9IFsKKyAg
ICBbc2Vjb25kLCAgMSwgICAgICBkdXJhdGlvblNlY29uZCQxXSwKKyAgICBbc2Vjb25kLCAgNSwg
IDUgKiBkdXJhdGlvblNlY29uZCQxXSwKKyAgICBbc2Vjb25kLCAxNSwgMTUgKiBkdXJhdGlvblNl
Y29uZCQxXSwKKyAgICBbc2Vjb25kLCAzMCwgMzAgKiBkdXJhdGlvblNlY29uZCQxXSwKKyAgICBb
bWludXRlLCAgMSwgICAgICBkdXJhdGlvbk1pbnV0ZSQxXSwKKyAgICBbbWludXRlLCAgNSwgIDUg
KiBkdXJhdGlvbk1pbnV0ZSQxXSwKKyAgICBbbWludXRlLCAxNSwgMTUgKiBkdXJhdGlvbk1pbnV0
ZSQxXSwKKyAgICBbbWludXRlLCAzMCwgMzAgKiBkdXJhdGlvbk1pbnV0ZSQxXSwKKyAgICBbICBo
b3VyLCAgMSwgICAgICBkdXJhdGlvbkhvdXIkMSAgXSwKKyAgICBbICBob3VyLCAgMywgIDMgKiBk
dXJhdGlvbkhvdXIkMSAgXSwKKyAgICBbICBob3VyLCAgNiwgIDYgKiBkdXJhdGlvbkhvdXIkMSAg
XSwKKyAgICBbICBob3VyLCAxMiwgMTIgKiBkdXJhdGlvbkhvdXIkMSAgXSwKKyAgICBbICAgZGF5
LCAgMSwgICAgICBkdXJhdGlvbkRheSQxICAgXSwKKyAgICBbICAgZGF5LCAgMiwgIDIgKiBkdXJh
dGlvbkRheSQxICAgXSwKKyAgICBbICB3ZWVrLCAgMSwgICAgICBkdXJhdGlvbldlZWskMSAgXSwK
KyAgICBbIG1vbnRoLCAgMSwgICAgICBkdXJhdGlvbk1vbnRoIF0sCisgICAgWyBtb250aCwgIDMs
ICAzICogZHVyYXRpb25Nb250aCBdLAorICAgIFsgIHllYXIsICAxLCAgICAgIGR1cmF0aW9uWWVh
ciAgXQorICBdOworCisgIGZ1bmN0aW9uIHRpY2tGb3JtYXQoZGF0ZSkgeworICAgIHJldHVybiAo
c2Vjb25kKGRhdGUpIDwgZGF0ZSA/IGZvcm1hdE1pbGxpc2Vjb25kCisgICAgICAgIDogbWludXRl
KGRhdGUpIDwgZGF0ZSA/IGZvcm1hdFNlY29uZAorICAgICAgICA6IGhvdXIoZGF0ZSkgPCBkYXRl
ID8gZm9ybWF0TWludXRlCisgICAgICAgIDogZGF5KGRhdGUpIDwgZGF0ZSA/IGZvcm1hdEhvdXIK
KyAgICAgICAgOiBtb250aChkYXRlKSA8IGRhdGUgPyAod2VlayhkYXRlKSA8IGRhdGUgPyBmb3Jt
YXREYXkgOiBmb3JtYXRXZWVrKQorICAgICAgICA6IHllYXIoZGF0ZSkgPCBkYXRlID8gZm9ybWF0
TW9udGgKKyAgICAgICAgOiBmb3JtYXRZZWFyKShkYXRlKTsKKyAgfQorCisgIGZ1bmN0aW9uIHRp
Y2tJbnRlcnZhbChpbnRlcnZhbCwgc3RhcnQsIHN0b3AsIHN0ZXApIHsKKyAgICBpZiAoaW50ZXJ2
YWwgPT0gbnVsbCkgaW50ZXJ2YWwgPSAxMDsKKworICAgIC8vIElmIGEgZGVzaXJlZCB0aWNrIGNv
dW50IGlzIHNwZWNpZmllZCwgcGljayBhIHJlYXNvbmFibGUgdGljayBpbnRlcnZhbAorICAgIC8v
IGJhc2VkIG9uIHRoZSBleHRlbnQgb2YgdGhlIGRvbWFpbiBhbmQgYSByb3VnaCBlc3RpbWF0ZSBv
ZiB0aWNrIHNpemUuCisgICAgLy8gT3RoZXJ3aXNlLCBhc3N1bWUgaW50ZXJ2YWwgaXMgYWxyZWFk
eSBhIHRpbWUgaW50ZXJ2YWwgYW5kIHVzZSBpdC4KKyAgICBpZiAodHlwZW9mIGludGVydmFsID09
PSAibnVtYmVyIikgeworICAgICAgdmFyIHRhcmdldCA9IE1hdGguYWJzKHN0b3AgLSBzdGFydCkg
LyBpbnRlcnZhbCwKKyAgICAgICAgICBpID0gYmlzZWN0b3IoZnVuY3Rpb24oaSkgeyByZXR1cm4g
aVsyXTsgfSkucmlnaHQodGlja0ludGVydmFscywgdGFyZ2V0KTsKKyAgICAgIGlmIChpID09PSB0
aWNrSW50ZXJ2YWxzLmxlbmd0aCkgeworICAgICAgICBzdGVwID0gdGlja1N0ZXAoc3RhcnQgLyBk
dXJhdGlvblllYXIsIHN0b3AgLyBkdXJhdGlvblllYXIsIGludGVydmFsKTsKKyAgICAgICAgaW50
ZXJ2YWwgPSB5ZWFyOworICAgICAgfSBlbHNlIGlmIChpKSB7CisgICAgICAgIGkgPSB0aWNrSW50
ZXJ2YWxzW3RhcmdldCAvIHRpY2tJbnRlcnZhbHNbaSAtIDFdWzJdIDwgdGlja0ludGVydmFsc1tp
XVsyXSAvIHRhcmdldCA/IGkgLSAxIDogaV07CisgICAgICAgIHN0ZXAgPSBpWzFdOworICAgICAg
ICBpbnRlcnZhbCA9IGlbMF07CisgICAgICB9IGVsc2UgeworICAgICAgICBzdGVwID0gTWF0aC5t
YXgodGlja1N0ZXAoc3RhcnQsIHN0b3AsIGludGVydmFsKSwgMSk7CisgICAgICAgIGludGVydmFs
ID0gbWlsbGlzZWNvbmQ7CisgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHN0ZXAgPT0gbnVs
bCA/IGludGVydmFsIDogaW50ZXJ2YWwuZXZlcnkoc3RlcCk7CisgIH0KKworICBzY2FsZS5pbnZl
cnQgPSBmdW5jdGlvbih5KSB7CisgICAgcmV0dXJuIG5ldyBEYXRlKGludmVydCh5KSk7CisgIH07
CisKKyAgc2NhbGUuZG9tYWluID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMu
bGVuZ3RoID8gZG9tYWluKG1hcCQzLmNhbGwoXywgbnVtYmVyJDMpKSA6IGRvbWFpbigpLm1hcChk
YXRlJDEpOworICB9OworCisgIHNjYWxlLnRpY2tzID0gZnVuY3Rpb24oaW50ZXJ2YWwsIHN0ZXAp
IHsKKyAgICB2YXIgZCA9IGRvbWFpbigpLAorICAgICAgICB0MCA9IGRbMF0sCisgICAgICAgIHQx
ID0gZFtkLmxlbmd0aCAtIDFdLAorICAgICAgICByID0gdDEgPCB0MCwKKyAgICAgICAgdDsKKyAg
ICBpZiAocikgdCA9IHQwLCB0MCA9IHQxLCB0MSA9IHQ7CisgICAgdCA9IHRpY2tJbnRlcnZhbChp
bnRlcnZhbCwgdDAsIHQxLCBzdGVwKTsKKyAgICB0ID0gdCA/IHQucmFuZ2UodDAsIHQxICsgMSkg
OiBbXTsgLy8gaW5jbHVzaXZlIHN0b3AKKyAgICByZXR1cm4gciA/IHQucmV2ZXJzZSgpIDogdDsK
KyAgfTsKKworICBzY2FsZS50aWNrRm9ybWF0ID0gZnVuY3Rpb24oY291bnQsIHNwZWNpZmllcikg
eworICAgIHJldHVybiBzcGVjaWZpZXIgPT0gbnVsbCA/IHRpY2tGb3JtYXQgOiBmb3JtYXQoc3Bl
Y2lmaWVyKTsKKyAgfTsKKworICBzY2FsZS5uaWNlID0gZnVuY3Rpb24oaW50ZXJ2YWwsIHN0ZXAp
IHsKKyAgICB2YXIgZCA9IGRvbWFpbigpOworICAgIHJldHVybiAoaW50ZXJ2YWwgPSB0aWNrSW50
ZXJ2YWwoaW50ZXJ2YWwsIGRbMF0sIGRbZC5sZW5ndGggLSAxXSwgc3RlcCkpCisgICAgICAgID8g
ZG9tYWluKG5pY2UoZCwgaW50ZXJ2YWwpKQorICAgICAgICA6IHNjYWxlOworICB9OworCisgIHNj
YWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weShzY2FsZSwgY2FsZW5kYXIo
eWVhciwgbW9udGgsIHdlZWssIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25k
LCBmb3JtYXQpKTsKKyAgfTsKKworICByZXR1cm4gc2NhbGU7Cit9CisKK2Z1bmN0aW9uIHRpbWUo
KSB7CisgIHJldHVybiBpbml0UmFuZ2UuYXBwbHkoY2FsZW5kYXIoeWVhciwgbW9udGgsIHN1bmRh
eSwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmQsIGV4cG9ydHMudGltZUZv
cm1hdCkuZG9tYWluKFtuZXcgRGF0ZSgyMDAwLCAwLCAxKSwgbmV3IERhdGUoMjAwMCwgMCwgMild
KSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gdXRjVGltZSgpIHsKKyAgcmV0dXJuIGluaXRS
YW5nZS5hcHBseShjYWxlbmRhcih1dGNZZWFyLCB1dGNNb250aCwgdXRjU3VuZGF5LCB1dGNEYXks
IHV0Y0hvdXIsIHV0Y01pbnV0ZSwgc2Vjb25kLCBtaWxsaXNlY29uZCwgZXhwb3J0cy51dGNGb3Jt
YXQpLmRvbWFpbihbRGF0ZS5VVEMoMjAwMCwgMCwgMSksIERhdGUuVVRDKDIwMDAsIDAsIDIpXSks
IGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zZm9ybWVyJDIoKSB7CisgIHZhciB4MCA9
IDAsCisgICAgICB4MSA9IDEsCisgICAgICB0MCwKKyAgICAgIHQxLAorICAgICAgazEwLAorICAg
ICAgdHJhbnNmb3JtLAorICAgICAgaW50ZXJwb2xhdG9yID0gaWRlbnRpdHkkNiwKKyAgICAgIGNs
YW1wID0gZmFsc2UsCisgICAgICB1bmtub3duOworCisgIGZ1bmN0aW9uIHNjYWxlKHgpIHsKKyAg
ICByZXR1cm4gaXNOYU4oeCA9ICt4KSA/IHVua25vd24gOiBpbnRlcnBvbGF0b3IoazEwID09PSAw
ID8gMC41IDogKHggPSAodHJhbnNmb3JtKHgpIC0gdDApICogazEwLCBjbGFtcCA/IE1hdGgubWF4
KDAsIE1hdGgubWluKDEsIHgpKSA6IHgpKTsKKyAgfQorCisgIHNjYWxlLmRvbWFpbiA9IGZ1bmN0
aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0MCA9IHRyYW5zZm9ybSh4
MCA9ICtfWzBdKSwgdDEgPSB0cmFuc2Zvcm0oeDEgPSArX1sxXSksIGsxMCA9IHQwID09PSB0MSA/
IDAgOiAxIC8gKHQxIC0gdDApLCBzY2FsZSkgOiBbeDAsIHgxXTsKKyAgfTsKKworICBzY2FsZS5j
bGFtcCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChjbGFt
cCA9ICEhXywgc2NhbGUpIDogY2xhbXA7CisgIH07CisKKyAgc2NhbGUuaW50ZXJwb2xhdG9yID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGludGVycG9sYXRv
ciA9IF8sIHNjYWxlKSA6IGludGVycG9sYXRvcjsKKyAgfTsKKworICBzY2FsZS51bmtub3duID0g
ZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHVua25vd24gPSBf
LCBzY2FsZSkgOiB1bmtub3duOworICB9OworCisgIHJldHVybiBmdW5jdGlvbih0KSB7CisgICAg
dHJhbnNmb3JtID0gdCwgdDAgPSB0KHgwKSwgdDEgPSB0KHgxKSwgazEwID0gdDAgPT09IHQxID8g
MCA6IDEgLyAodDEgLSB0MCk7CisgICAgcmV0dXJuIHNjYWxlOworICB9OworfQorCitmdW5jdGlv
biBjb3B5JDEoc291cmNlLCB0YXJnZXQpIHsKKyAgcmV0dXJuIHRhcmdldAorICAgICAgLmRvbWFp
bihzb3VyY2UuZG9tYWluKCkpCisgICAgICAuaW50ZXJwb2xhdG9yKHNvdXJjZS5pbnRlcnBvbGF0
b3IoKSkKKyAgICAgIC5jbGFtcChzb3VyY2UuY2xhbXAoKSkKKyAgICAgIC51bmtub3duKHNvdXJj
ZS51bmtub3duKCkpOworfQorCitmdW5jdGlvbiBzZXF1ZW50aWFsKCkgeworICB2YXIgc2NhbGUg
PSBsaW5lYXJpc2godHJhbnNmb3JtZXIkMigpKGlkZW50aXR5JDYpKTsKKworICBzY2FsZS5jb3B5
ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkkMShzY2FsZSwgc2VxdWVudGlhbCgpKTsK
KyAgfTsKKworICByZXR1cm4gaW5pdEludGVycG9sYXRvci5hcHBseShzY2FsZSwgYXJndW1lbnRz
KTsKK30KKworZnVuY3Rpb24gc2VxdWVudGlhbExvZygpIHsKKyAgdmFyIHNjYWxlID0gbG9nZ2lz
aCh0cmFuc2Zvcm1lciQyKCkpLmRvbWFpbihbMSwgMTBdKTsKKworICBzY2FsZS5jb3B5ID0gZnVu
Y3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkkMShzY2FsZSwgc2VxdWVudGlhbExvZygpKS5iYXNl
KHNjYWxlLmJhc2UoKSk7CisgIH07CisKKyAgcmV0dXJuIGluaXRJbnRlcnBvbGF0b3IuYXBwbHko
c2NhbGUsIGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIHNlcXVlbnRpYWxTeW1sb2coKSB7Cisg
IHZhciBzY2FsZSA9IHN5bWxvZ2lzaCh0cmFuc2Zvcm1lciQyKCkpOworCisgIHNjYWxlLmNvcHkg
PSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weSQxKHNjYWxlLCBzZXF1ZW50aWFsU3ltbG9n
KCkpLmNvbnN0YW50KHNjYWxlLmNvbnN0YW50KCkpOworICB9OworCisgIHJldHVybiBpbml0SW50
ZXJwb2xhdG9yLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworfQorCitmdW5jdGlvbiBzZXF1ZW50
aWFsUG93KCkgeworICB2YXIgc2NhbGUgPSBwb3dpc2godHJhbnNmb3JtZXIkMigpKTsKKworICBz
Y2FsZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkkMShzY2FsZSwgc2VxdWVu
dGlhbFBvdygpKS5leHBvbmVudChzY2FsZS5leHBvbmVudCgpKTsKKyAgfTsKKworICByZXR1cm4g
aW5pdEludGVycG9sYXRvci5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24g
c2VxdWVudGlhbFNxcnQoKSB7CisgIHJldHVybiBzZXF1ZW50aWFsUG93LmFwcGx5KG51bGwsIGFy
Z3VtZW50cykuZXhwb25lbnQoMC41KTsKK30KKworZnVuY3Rpb24gc2VxdWVudGlhbFF1YW50aWxl
KCkgeworICB2YXIgZG9tYWluID0gW10sCisgICAgICBpbnRlcnBvbGF0b3IgPSBpZGVudGl0eSQ2
OworCisgIGZ1bmN0aW9uIHNjYWxlKHgpIHsKKyAgICBpZiAoIWlzTmFOKHggPSAreCkpIHJldHVy
biBpbnRlcnBvbGF0b3IoKGJpc2VjdFJpZ2h0KGRvbWFpbiwgeCkgLSAxKSAvIChkb21haW4ubGVu
Z3RoIC0gMSkpOworICB9CisKKyAgc2NhbGUuZG9tYWluID0gZnVuY3Rpb24oXykgeworICAgIGlm
ICghYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIGRvbWFpbi5zbGljZSgpOworICAgIGRvbWFpbiA9
IFtdOworICAgIGZvciAodmFyIGkgPSAwLCBuID0gXy5sZW5ndGgsIGQ7IGkgPCBuOyArK2kpIGlm
IChkID0gX1tpXSwgZCAhPSBudWxsICYmICFpc05hTihkID0gK2QpKSBkb21haW4ucHVzaChkKTsK
KyAgICBkb21haW4uc29ydChhc2NlbmRpbmcpOworICAgIHJldHVybiBzY2FsZTsKKyAgfTsKKwor
ICBzY2FsZS5pbnRlcnBvbGF0b3IgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAoaW50ZXJwb2xhdG9yID0gXywgc2NhbGUpIDogaW50ZXJwb2xhdG9yOworICB9
OworCisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gc2VxdWVudGlhbFF1
YW50aWxlKGludGVycG9sYXRvcikuZG9tYWluKGRvbWFpbik7CisgIH07CisKKyAgcmV0dXJuIGlu
aXRJbnRlcnBvbGF0b3IuYXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0aW9uIHRy
YW5zZm9ybWVyJDMoKSB7CisgIHZhciB4MCA9IDAsCisgICAgICB4MSA9IDAuNSwKKyAgICAgIHgy
ID0gMSwKKyAgICAgIHQwLAorICAgICAgdDEsCisgICAgICB0MiwKKyAgICAgIGsxMCwKKyAgICAg
IGsyMSwKKyAgICAgIGludGVycG9sYXRvciA9IGlkZW50aXR5JDYsCisgICAgICB0cmFuc2Zvcm0s
CisgICAgICBjbGFtcCA9IGZhbHNlLAorICAgICAgdW5rbm93bjsKKworICBmdW5jdGlvbiBzY2Fs
ZSh4KSB7CisgICAgcmV0dXJuIGlzTmFOKHggPSAreCkgPyB1bmtub3duIDogKHggPSAwLjUgKyAo
KHggPSArdHJhbnNmb3JtKHgpKSAtIHQxKSAqICh4IDwgdDEgPyBrMTAgOiBrMjEpLCBpbnRlcnBv
bGF0b3IoY2xhbXAgPyBNYXRoLm1heCgwLCBNYXRoLm1pbigxLCB4KSkgOiB4KSk7CisgIH0KKwor
ICBzY2FsZS5kb21haW4gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5n
dGggPyAodDAgPSB0cmFuc2Zvcm0oeDAgPSArX1swXSksIHQxID0gdHJhbnNmb3JtKHgxID0gK19b
MV0pLCB0MiA9IHRyYW5zZm9ybSh4MiA9ICtfWzJdKSwgazEwID0gdDAgPT09IHQxID8gMCA6IDAu
NSAvICh0MSAtIHQwKSwgazIxID0gdDEgPT09IHQyID8gMCA6IDAuNSAvICh0MiAtIHQxKSwgc2Nh
bGUpIDogW3gwLCB4MSwgeDJdOworICB9OworCisgIHNjYWxlLmNsYW1wID0gZnVuY3Rpb24oXykg
eworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGNsYW1wID0gISFfLCBzY2FsZSkgOiBj
bGFtcDsKKyAgfTsKKworICBzY2FsZS5pbnRlcnBvbGF0b3IgPSBmdW5jdGlvbihfKSB7CisgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoaW50ZXJwb2xhdG9yID0gXywgc2NhbGUpIDogaW50
ZXJwb2xhdG9yOworICB9OworCisgIHNjYWxlLnVua25vd24gPSBmdW5jdGlvbihfKSB7CisgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodW5rbm93biA9IF8sIHNjYWxlKSA6IHVua25vd247
CisgIH07CisKKyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICB0cmFuc2Zvcm0gPSB0LCB0MCA9
IHQoeDApLCB0MSA9IHQoeDEpLCB0MiA9IHQoeDIpLCBrMTAgPSB0MCA9PT0gdDEgPyAwIDogMC41
IC8gKHQxIC0gdDApLCBrMjEgPSB0MSA9PT0gdDIgPyAwIDogMC41IC8gKHQyIC0gdDEpOworICAg
IHJldHVybiBzY2FsZTsKKyAgfTsKK30KKworZnVuY3Rpb24gZGl2ZXJnaW5nKCkgeworICB2YXIg
c2NhbGUgPSBsaW5lYXJpc2godHJhbnNmb3JtZXIkMygpKGlkZW50aXR5JDYpKTsKKworICBzY2Fs
ZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkkMShzY2FsZSwgZGl2ZXJnaW5n
KCkpOworICB9OworCisgIHJldHVybiBpbml0SW50ZXJwb2xhdG9yLmFwcGx5KHNjYWxlLCBhcmd1
bWVudHMpOworfQorCitmdW5jdGlvbiBkaXZlcmdpbmdMb2coKSB7CisgIHZhciBzY2FsZSA9IGxv
Z2dpc2godHJhbnNmb3JtZXIkMygpKS5kb21haW4oWzAuMSwgMSwgMTBdKTsKKworICBzY2FsZS5j
b3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkkMShzY2FsZSwgZGl2ZXJnaW5nTG9n
KCkpLmJhc2Uoc2NhbGUuYmFzZSgpKTsKKyAgfTsKKworICByZXR1cm4gaW5pdEludGVycG9sYXRv
ci5hcHBseShzY2FsZSwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gZGl2ZXJnaW5nU3ltbG9n
KCkgeworICB2YXIgc2NhbGUgPSBzeW1sb2dpc2godHJhbnNmb3JtZXIkMygpKTsKKworICBzY2Fs
ZS5jb3B5ID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNvcHkkMShzY2FsZSwgZGl2ZXJnaW5n
U3ltbG9nKCkpLmNvbnN0YW50KHNjYWxlLmNvbnN0YW50KCkpOworICB9OworCisgIHJldHVybiBp
bml0SW50ZXJwb2xhdG9yLmFwcGx5KHNjYWxlLCBhcmd1bWVudHMpOworfQorCitmdW5jdGlvbiBk
aXZlcmdpbmdQb3coKSB7CisgIHZhciBzY2FsZSA9IHBvd2lzaCh0cmFuc2Zvcm1lciQzKCkpOwor
CisgIHNjYWxlLmNvcHkgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY29weSQxKHNjYWxlLCBk
aXZlcmdpbmdQb3coKSkuZXhwb25lbnQoc2NhbGUuZXhwb25lbnQoKSk7CisgIH07CisKKyAgcmV0
dXJuIGluaXRJbnRlcnBvbGF0b3IuYXBwbHkoc2NhbGUsIGFyZ3VtZW50cyk7Cit9CisKK2Z1bmN0
aW9uIGRpdmVyZ2luZ1NxcnQoKSB7CisgIHJldHVybiBkaXZlcmdpbmdQb3cuYXBwbHkobnVsbCwg
YXJndW1lbnRzKS5leHBvbmVudCgwLjUpOworfQorCitmdW5jdGlvbiBjb2xvcnMoc3BlY2lmaWVy
KSB7CisgIHZhciBuID0gc3BlY2lmaWVyLmxlbmd0aCAvIDYgfCAwLCBjb2xvcnMgPSBuZXcgQXJy
YXkobiksIGkgPSAwOworICB3aGlsZSAoaSA8IG4pIGNvbG9yc1tpXSA9ICIjIiArIHNwZWNpZmll
ci5zbGljZShpICogNiwgKytpICogNik7CisgIHJldHVybiBjb2xvcnM7Cit9CisKK3ZhciBjYXRl
Z29yeTEwID0gY29sb3JzKCIxZjc3YjRmZjdmMGUyY2EwMmNkNjI3Mjg5NDY3YmQ4YzU2NGJlMzc3
YzI3ZjdmN2ZiY2JkMjIxN2JlY2YiKTsKKwordmFyIEFjY2VudCA9IGNvbG9ycygiN2ZjOTdmYmVh
ZWQ0ZmRjMDg2ZmZmZjk5Mzg2Y2IwZjAwMjdmYmY1YjE3NjY2NjY2Iik7CisKK3ZhciBEYXJrMiA9
IGNvbG9ycygiMWI5ZTc3ZDk1ZjAyNzU3MGIzZTcyOThhNjZhNjFlZTZhYjAyYTY3NjFkNjY2NjY2
Iik7CisKK3ZhciBQYWlyZWQgPSBjb2xvcnMoImE2Y2VlMzFmNzhiNGIyZGY4YTMzYTAyY2ZiOWE5
OWUzMWExY2ZkYmY2ZmZmN2YwMGNhYjJkNjZhM2Q5YWZmZmY5OWIxNTkyOCIpOworCit2YXIgUGFz
dGVsMSA9IGNvbG9ycygiZmJiNGFlYjNjZGUzY2NlYmM1ZGVjYmU0ZmVkOWE2ZmZmZmNjZTVkOGJk
ZmRkYWVjZjJmMmYyIik7CisKK3ZhciBQYXN0ZWwyID0gY29sb3JzKCJiM2UyY2RmZGNkYWNjYmQ1
ZThmNGNhZTRlNmY1YzlmZmYyYWVmMWUyY2NjY2NjY2MiKTsKKwordmFyIFNldDEgPSBjb2xvcnMo
ImU0MWExYzM3N2ViODRkYWY0YTk4NGVhM2ZmN2YwMGZmZmYzM2E2NTYyOGY3ODFiZjk5OTk5OSIp
OworCit2YXIgU2V0MiA9IGNvbG9ycygiNjZjMmE1ZmM4ZDYyOGRhMGNiZTc4YWMzYTZkODU0ZmZk
OTJmZTVjNDk0YjNiM2IzIik7CisKK3ZhciBTZXQzID0gY29sb3JzKCI4ZGQzYzdmZmZmYjNiZWJh
ZGFmYjgwNzI4MGIxZDNmZGI0NjJiM2RlNjlmY2NkZTVkOWQ5ZDliYzgwYmRjY2ViYzVmZmVkNmYi
KTsKKwordmFyIFRhYmxlYXUxMCA9IGNvbG9ycygiNGU3OWE3ZjI4ZTJjZTE1NzU5NzZiN2IyNTlh
MTRmZWRjOTQ5YWY3YWExZmY5ZGE3OWM3NTVmYmFiMGFiIik7CisKK2Z1bmN0aW9uIHJhbXAoc2No
ZW1lKSB7CisgIHJldHVybiByZ2JCYXNpcyhzY2hlbWVbc2NoZW1lLmxlbmd0aCAtIDFdKTsKK30K
KwordmFyIHNjaGVtZSA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJkOGIzNjVmNWY1ZjU1YWI0
YWMiLAorICAiYTY2MTFhZGZjMjdkODBjZGMxMDE4NTcxIiwKKyAgImE2NjExYWRmYzI3ZGY1ZjVm
NTgwY2RjMTAxODU3MSIsCisgICI4YzUxMGFkOGIzNjVmNmU4YzNjN2VhZTU1YWI0YWMwMTY2NWUi
LAorICAiOGM1MTBhZDhiMzY1ZjZlOGMzZjVmNWY1YzdlYWU1NWFiNGFjMDE2NjVlIiwKKyAgIjhj
NTEwYWJmODEyZGRmYzI3ZGY2ZThjM2M3ZWFlNTgwY2RjMTM1OTc4ZjAxNjY1ZSIsCisgICI4YzUx
MGFiZjgxMmRkZmMyN2RmNmU4YzNmNWY1ZjVjN2VhZTU4MGNkYzEzNTk3OGYwMTY2NWUiLAorICAi
NTQzMDA1OGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzYzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlMDAz
YzMwIiwKKyAgIjU0MzAwNThjNTEwYWJmODEyZGRmYzI3ZGY2ZThjM2Y1ZjVmNWM3ZWFlNTgwY2Rj
MTM1OTc4ZjAxNjY1ZTAwM2MzMCIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBCckJHID0gcmFtcChz
Y2hlbWUpOworCit2YXIgc2NoZW1lJDEgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiYWY4ZGMz
ZjdmN2Y3N2ZiZjdiIiwKKyAgIjdiMzI5NGMyYTVjZmE2ZGJhMDAwODgzNyIsCisgICI3YjMyOTRj
MmE1Y2ZmN2Y3ZjdhNmRiYTAwMDg4MzciLAorICAiNzYyYTgzYWY4ZGMzZTdkNGU4ZDlmMGQzN2Zi
ZjdiMWI3ODM3IiwKKyAgIjc2MmE4M2FmOGRjM2U3ZDRlOGY3ZjdmN2Q5ZjBkMzdmYmY3YjFiNzgz
NyIsCisgICI3NjJhODM5OTcwYWJjMmE1Y2ZlN2Q0ZThkOWYwZDNhNmRiYTA1YWFlNjExYjc4Mzci
LAorICAiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZjdmN2Y3ZDlmMGQzYTZkYmEwNWFhZTYxMWI3
ODM3IiwKKyAgIjQwMDA0Yjc2MmE4Mzk5NzBhYmMyYTVjZmU3ZDRlOGQ5ZjBkM2E2ZGJhMDVhYWU2
MTFiNzgzNzAwNDQxYiIsCisgICI0MDAwNGI3NjJhODM5OTcwYWJjMmE1Y2ZlN2Q0ZThmN2Y3Zjdk
OWYwZDNhNmRiYTA1YWFlNjExYjc4MzcwMDQ0MWIiCispLm1hcChjb2xvcnMpOworCit2YXIgUFJH
biA9IHJhbXAoc2NoZW1lJDEpOworCit2YXIgc2NoZW1lJDIgPSBuZXcgQXJyYXkoMykuY29uY2F0
KAorICAiZTlhM2M5ZjdmN2Y3YTFkNzZhIiwKKyAgImQwMWM4YmYxYjZkYWI4ZTE4NjRkYWMyNiIs
CisgICJkMDFjOGJmMWI2ZGFmN2Y3ZjdiOGUxODY0ZGFjMjYiLAorICAiYzUxYjdkZTlhM2M5ZmRl
MGVmZTZmNWQwYTFkNzZhNGQ5MjIxIiwKKyAgImM1MWI3ZGU5YTNjOWZkZTBlZmY3ZjdmN2U2ZjVk
MGExZDc2YTRkOTIyMSIsCisgICJjNTFiN2RkZTc3YWVmMWI2ZGFmZGUwZWZlNmY1ZDBiOGUxODY3
ZmJjNDE0ZDkyMjEiLAorICAiYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZjdmN2Y3ZTZmNWQwYjhl
MTg2N2ZiYzQxNGQ5MjIxIiwKKyAgIjhlMDE1MmM1MWI3ZGRlNzdhZWYxYjZkYWZkZTBlZmU2ZjVk
MGI4ZTE4NjdmYmM0MTRkOTIyMTI3NjQxOSIsCisgICI4ZTAxNTJjNTFiN2RkZTc3YWVmMWI2ZGFm
ZGUwZWZmN2Y3ZjdlNmY1ZDBiOGUxODY3ZmJjNDE0ZDkyMjEyNzY0MTkiCispLm1hcChjb2xvcnMp
OworCit2YXIgUGlZRyA9IHJhbXAoc2NoZW1lJDIpOworCit2YXIgc2NoZW1lJDMgPSBuZXcgQXJy
YXkoMykuY29uY2F0KAorICAiOTk4ZWMzZjdmN2Y3ZjFhMzQwIiwKKyAgIjVlM2M5OWIyYWJkMmZk
Yjg2M2U2NjEwMSIsCisgICI1ZTNjOTliMmFiZDJmN2Y3ZjdmZGI4NjNlNjYxMDEiLAorICAiNTQy
Nzg4OTk4ZWMzZDhkYWViZmVlMGI2ZjFhMzQwYjM1ODA2IiwKKyAgIjU0Mjc4ODk5OGVjM2Q4ZGFl
YmY3ZjdmN2ZlZTBiNmYxYTM0MGIzNTgwNiIsCisgICI1NDI3ODg4MDczYWNiMmFiZDJkOGRhZWJm
ZWUwYjZmZGI4NjNlMDgyMTRiMzU4MDYiLAorICAiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZjdm
N2Y3ZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2IiwKKyAgIjJkMDA0YjU0Mjc4ODgwNzNhY2IyYWJk
MmQ4ZGFlYmZlZTBiNmZkYjg2M2UwODIxNGIzNTgwNjdmM2IwOCIsCisgICIyZDAwNGI1NDI3ODg4
MDczYWNiMmFiZDJkOGRhZWJmN2Y3ZjdmZWUwYjZmZGI4NjNlMDgyMTRiMzU4MDY3ZjNiMDgiCisp
Lm1hcChjb2xvcnMpOworCit2YXIgUHVPciA9IHJhbXAoc2NoZW1lJDMpOworCit2YXIgc2NoZW1l
JDQgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZWY4YTYyZjdmN2Y3NjdhOWNmIiwKKyAgImNh
MDAyMGY0YTU4MjkyYzVkZTA1NzFiMCIsCisgICJjYTAwMjBmNGE1ODJmN2Y3Zjc5MmM1ZGUwNTcx
YjAiLAorICAiYjIxODJiZWY4YTYyZmRkYmM3ZDFlNWYwNjdhOWNmMjE2NmFjIiwKKyAgImIyMTgy
YmVmOGE2MmZkZGJjN2Y3ZjdmN2QxZTVmMDY3YTljZjIxNjZhYyIsCisgICJiMjE4MmJkNjYwNGRm
NGE1ODJmZGRiYzdkMWU1ZjA5MmM1ZGU0MzkzYzMyMTY2YWMiLAorICAiYjIxODJiZDY2MDRkZjRh
NTgyZmRkYmM3ZjdmN2Y3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjIiwKKyAgIjY3MDAxZmIyMTgy
YmQ2NjA0ZGY0YTU4MmZkZGJjN2QxZTVmMDkyYzVkZTQzOTNjMzIxNjZhYzA1MzA2MSIsCisgICI2
NzAwMWZiMjE4MmJkNjYwNGRmNGE1ODJmZGRiYzdmN2Y3ZjdkMWU1ZjA5MmM1ZGU0MzkzYzMyMTY2
YWMwNTMwNjEiCispLm1hcChjb2xvcnMpOworCit2YXIgUmRCdSA9IHJhbXAoc2NoZW1lJDQpOwor
Cit2YXIgc2NoZW1lJDUgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZWY4YTYyZmZmZmZmOTk5
OTk5IiwKKyAgImNhMDAyMGY0YTU4MmJhYmFiYTQwNDA0MCIsCisgICJjYTAwMjBmNGE1ODJmZmZm
ZmZiYWJhYmE0MDQwNDAiLAorICAiYjIxODJiZWY4YTYyZmRkYmM3ZTBlMGUwOTk5OTk5NGQ0ZDRk
IiwKKyAgImIyMTgyYmVmOGE2MmZkZGJjN2ZmZmZmZmUwZTBlMDk5OTk5OTRkNGQ0ZCIsCisgICJi
MjE4MmJkNjYwNGRmNGE1ODJmZGRiYzdlMGUwZTBiYWJhYmE4Nzg3ODc0ZDRkNGQiLAorICAiYjIx
ODJiZDY2MDRkZjRhNTgyZmRkYmM3ZmZmZmZmZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkIiwKKyAg
IjY3MDAxZmIyMTgyYmQ2NjA0ZGY0YTU4MmZkZGJjN2UwZTBlMGJhYmFiYTg3ODc4NzRkNGQ0ZDFh
MWExYSIsCisgICI2NzAwMWZiMjE4MmJkNjYwNGRmNGE1ODJmZGRiYzdmZmZmZmZlMGUwZTBiYWJh
YmE4Nzg3ODc0ZDRkNGQxYTFhMWEiCispLm1hcChjb2xvcnMpOworCit2YXIgUmRHeSA9IHJhbXAo
c2NoZW1lJDUpOworCit2YXIgc2NoZW1lJDYgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZmM4
ZDU5ZmZmZmJmOTFiZmRiIiwKKyAgImQ3MTkxY2ZkYWU2MWFiZDllOTJjN2JiNiIsCisgICJkNzE5
MWNmZGFlNjFmZmZmYmZhYmQ5ZTkyYzdiYjYiLAorICAiZDczMDI3ZmM4ZDU5ZmVlMDkwZTBmM2Y4
OTFiZmRiNDU3NWI0IiwKKyAgImQ3MzAyN2ZjOGQ1OWZlZTA5MGZmZmZiZmUwZjNmODkxYmZkYjQ1
NzViNCIsCisgICJkNzMwMjdmNDZkNDNmZGFlNjFmZWUwOTBlMGYzZjhhYmQ5ZTk3NGFkZDE0NTc1
YjQiLAorICAiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZmZmZmJmZTBmM2Y4YWJkOWU5NzRhZGQx
NDU3NWI0IiwKKyAgImE1MDAyNmQ3MzAyN2Y0NmQ0M2ZkYWU2MWZlZTA5MGUwZjNmOGFiZDllOTc0
YWRkMTQ1NzViNDMxMzY5NSIsCisgICJhNTAwMjZkNzMwMjdmNDZkNDNmZGFlNjFmZWUwOTBmZmZm
YmZlMGYzZjhhYmQ5ZTk3NGFkZDE0NTc1YjQzMTM2OTUiCispLm1hcChjb2xvcnMpOworCit2YXIg
UmRZbEJ1ID0gcmFtcChzY2hlbWUkNik7CisKK3ZhciBzY2hlbWUkNyA9IG5ldyBBcnJheSgzKS5j
b25jYXQoCisgICJmYzhkNTlmZmZmYmY5MWNmNjAiLAorICAiZDcxOTFjZmRhZTYxYTZkOTZhMWE5
NjQxIiwKKyAgImQ3MTkxY2ZkYWU2MWZmZmZiZmE2ZDk2YTFhOTY0MSIsCisgICJkNzMwMjdmYzhk
NTlmZWUwOGJkOWVmOGI5MWNmNjAxYTk4NTAiLAorICAiZDczMDI3ZmM4ZDU5ZmVlMDhiZmZmZmJm
ZDllZjhiOTFjZjYwMWE5ODUwIiwKKyAgImQ3MzAyN2Y0NmQ0M2ZkYWU2MWZlZTA4YmQ5ZWY4YmE2
ZDk2YTY2YmQ2MzFhOTg1MCIsCisgICJkNzMwMjdmNDZkNDNmZGFlNjFmZWUwOGJmZmZmYmZkOWVm
OGJhNmQ5NmE2NmJkNjMxYTk4NTAiLAorICAiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhi
ZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwMDA2ODM3IiwKKyAgImE1MDAyNmQ3MzAyN2Y0NmQ0M2Zk
YWU2MWZlZTA4YmZmZmZiZmQ5ZWY4YmE2ZDk2YTY2YmQ2MzFhOTg1MDAwNjgzNyIKKykubWFwKGNv
bG9ycyk7CisKK3ZhciBSZFlsR24gPSByYW1wKHNjaGVtZSQ3KTsKKwordmFyIHNjaGVtZSQ4ID0g
bmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImZjOGQ1OWZmZmZiZjk5ZDU5NCIsCisgICJkNzE5MWNm
ZGFlNjFhYmRkYTQyYjgzYmEiLAorICAiZDcxOTFjZmRhZTYxZmZmZmJmYWJkZGE0MmI4M2JhIiwK
KyAgImQ1M2U0ZmZjOGQ1OWZlZTA4YmU2ZjU5ODk5ZDU5NDMyODhiZCIsCisgICJkNTNlNGZmYzhk
NTlmZWUwOGJmZmZmYmZlNmY1OTg5OWQ1OTQzMjg4YmQiLAorICAiZDUzZTRmZjQ2ZDQzZmRhZTYx
ZmVlMDhiZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkIiwKKyAgImQ1M2U0ZmY0NmQ0M2ZkYWU2MWZl
ZTA4YmZmZmZiZmU2ZjU5OGFiZGRhNDY2YzJhNTMyODhiZCIsCisgICI5ZTAxNDJkNTNlNGZmNDZk
NDNmZGFlNjFmZWUwOGJlNmY1OThhYmRkYTQ2NmMyYTUzMjg4YmQ1ZTRmYTIiLAorICAiOWUwMTQy
ZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkNWU0
ZmEyIgorKS5tYXAoY29sb3JzKTsKKwordmFyIFNwZWN0cmFsID0gcmFtcChzY2hlbWUkOCk7CisK
K3ZhciBzY2hlbWUkOSA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJlNWY1Zjk5OWQ4YzkyY2Ey
NWYiLAorICAiZWRmOGZiYjJlMmUyNjZjMmE0MjM4YjQ1IiwKKyAgImVkZjhmYmIyZTJlMjY2YzJh
NDJjYTI1ZjAwNmQyYyIsCisgICJlZGY4ZmJjY2VjZTY5OWQ4Yzk2NmMyYTQyY2EyNWYwMDZkMmMi
LAorICAiZWRmOGZiY2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2MjM4YjQ1MDA1ODI0IiwKKyAgImY3
ZmNmZGU1ZjVmOWNjZWNlNjk5ZDhjOTY2YzJhNDQxYWU3NjIzOGI0NTAwNTgyNCIsCisgICJmN2Zj
ZmRlNWY1ZjljY2VjZTY5OWQ4Yzk2NmMyYTQ0MWFlNzYyMzhiNDUwMDZkMmMwMDQ0MWIiCispLm1h
cChjb2xvcnMpOworCit2YXIgQnVHbiA9IHJhbXAoc2NoZW1lJDkpOworCit2YXIgc2NoZW1lJGEg
PSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZTBlY2Y0OWViY2RhODg1NmE3IiwKKyAgImVkZjhm
YmIzY2RlMzhjOTZjNjg4NDE5ZCIsCisgICJlZGY4ZmJiM2NkZTM4Yzk2YzY4ODU2YTc4MTBmN2Mi
LAorICAiZWRmOGZiYmZkM2U2OWViY2RhOGM5NmM2ODg1NmE3ODEwZjdjIiwKKyAgImVkZjhmYmJm
ZDNlNjllYmNkYThjOTZjNjhjNmJiMTg4NDE5ZDZlMDE2YiIsCisgICJmN2ZjZmRlMGVjZjRiZmQz
ZTY5ZWJjZGE4Yzk2YzY4YzZiYjE4ODQxOWQ2ZTAxNmIiLAorICAiZjdmY2ZkZTBlY2Y0YmZkM2U2
OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkODEwZjdjNGQwMDRiIgorKS5tYXAoY29sb3JzKTsKKwor
dmFyIEJ1UHUgPSByYW1wKHNjaGVtZSRhKTsKKwordmFyIHNjaGVtZSRiID0gbmV3IEFycmF5KDMp
LmNvbmNhdCgKKyAgImUwZjNkYmE4ZGRiNTQzYTJjYSIsCisgICJmMGY5ZThiYWU0YmM3YmNjYzQy
YjhjYmUiLAorICAiZjBmOWU4YmFlNGJjN2JjY2M0NDNhMmNhMDg2OGFjIiwKKyAgImYwZjllOGNj
ZWJjNWE4ZGRiNTdiY2NjNDQzYTJjYTA4NjhhYyIsCisgICJmMGY5ZThjY2ViYzVhOGRkYjU3YmNj
YzQ0ZWIzZDMyYjhjYmUwODU4OWUiLAorICAiZjdmY2YwZTBmM2RiY2NlYmM1YThkZGI1N2JjY2M0
NGViM2QzMmI4Y2JlMDg1ODllIiwKKyAgImY3ZmNmMGUwZjNkYmNjZWJjNWE4ZGRiNTdiY2NjNDRl
YjNkMzJiOGNiZTA4NjhhYzA4NDA4MSIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBHbkJ1ID0gcmFt
cChzY2hlbWUkYik7CisKK3ZhciBzY2hlbWUkYyA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisgICJm
ZWU4YzhmZGJiODRlMzRhMzMiLAorICAiZmVmMGQ5ZmRjYzhhZmM4ZDU5ZDczMDFmIiwKKyAgImZl
ZjBkOWZkY2M4YWZjOGQ1OWUzNGEzM2IzMDAwMCIsCisgICJmZWYwZDlmZGQ0OWVmZGJiODRmYzhk
NTllMzRhMzNiMzAwMDAiLAorICAiZmVmMGQ5ZmRkNDllZmRiYjg0ZmM4ZDU5ZWY2NTQ4ZDczMDFm
OTkwMDAwIiwKKyAgImZmZjdlY2ZlZThjOGZkZDQ5ZWZkYmI4NGZjOGQ1OWVmNjU0OGQ3MzAxZjk5
MDAwMCIsCisgICJmZmY3ZWNmZWU4YzhmZGQ0OWVmZGJiODRmYzhkNTllZjY1NDhkNzMwMWZiMzAw
MDA3ZjAwMDAiCispLm1hcChjb2xvcnMpOworCit2YXIgT3JSZCA9IHJhbXAoc2NoZW1lJGMpOwor
Cit2YXIgc2NoZW1lJGQgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZWNlMmYwYTZiZGRiMWM5
MDk5IiwKKyAgImY2ZWZmN2JkYzllMTY3YTljZjAyODE4YSIsCisgICJmNmVmZjdiZGM5ZTE2N2E5
Y2YxYzkwOTkwMTZjNTkiLAorICAiZjZlZmY3ZDBkMWU2YTZiZGRiNjdhOWNmMWM5MDk5MDE2YzU5
IiwKKyAgImY2ZWZmN2QwZDFlNmE2YmRkYjY3YTljZjM2OTBjMDAyODE4YTAxNjQ1MCIsCisgICJm
ZmY3ZmJlY2UyZjBkMGQxZTZhNmJkZGI2N2E5Y2YzNjkwYzAwMjgxOGEwMTY0NTAiLAorICAiZmZm
N2ZiZWNlMmYwZDBkMWU2YTZiZGRiNjdhOWNmMzY5MGMwMDI4MThhMDE2YzU5MDE0NjM2IgorKS5t
YXAoY29sb3JzKTsKKwordmFyIFB1QnVHbiA9IHJhbXAoc2NoZW1lJGQpOworCit2YXIgc2NoZW1l
JGUgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZWNlN2YyYTZiZGRiMmI4Y2JlIiwKKyAgImYx
ZWVmNmJkYzllMTc0YTljZjA1NzBiMCIsCisgICJmMWVlZjZiZGM5ZTE3NGE5Y2YyYjhjYmUwNDVh
OGQiLAorICAiZjFlZWY2ZDBkMWU2YTZiZGRiNzRhOWNmMmI4Y2JlMDQ1YThkIiwKKyAgImYxZWVm
NmQwZDFlNmE2YmRkYjc0YTljZjM2OTBjMDA1NzBiMDAzNGU3YiIsCisgICJmZmY3ZmJlY2U3ZjJk
MGQxZTZhNmJkZGI3NGE5Y2YzNjkwYzAwNTcwYjAwMzRlN2IiLAorICAiZmZmN2ZiZWNlN2YyZDBk
MWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDQ1YThkMDIzODU4IgorKS5tYXAoY29sb3JzKTsK
KwordmFyIFB1QnUgPSByYW1wKHNjaGVtZSRlKTsKKwordmFyIHNjaGVtZSRmID0gbmV3IEFycmF5
KDMpLmNvbmNhdCgKKyAgImU3ZTFlZmM5OTRjN2RkMWM3NyIsCisgICJmMWVlZjZkN2I1ZDhkZjY1
YjBjZTEyNTYiLAorICAiZjFlZWY2ZDdiNWQ4ZGY2NWIwZGQxYzc3OTgwMDQzIiwKKyAgImYxZWVm
NmQ0YjlkYWM5OTRjN2RmNjViMGRkMWM3Nzk4MDA0MyIsCisgICJmMWVlZjZkNGI5ZGFjOTk0Yzdk
ZjY1YjBlNzI5OGFjZTEyNTY5MTAwM2YiLAorICAiZjdmNGY5ZTdlMWVmZDRiOWRhYzk5NGM3ZGY2
NWIwZTcyOThhY2UxMjU2OTEwMDNmIiwKKyAgImY3ZjRmOWU3ZTFlZmQ0YjlkYWM5OTRjN2RmNjVi
MGU3Mjk4YWNlMTI1Njk4MDA0MzY3MDAxZiIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBQdVJkID0g
cmFtcChzY2hlbWUkZik7CisKK3ZhciBzY2hlbWUkZyA9IG5ldyBBcnJheSgzKS5jb25jYXQoCisg
ICJmZGUwZGRmYTlmYjVjNTFiOGEiLAorICAiZmVlYmUyZmJiNGI5Zjc2OGExYWUwMTdlIiwKKyAg
ImZlZWJlMmZiYjRiOWY3NjhhMWM1MWI4YTdhMDE3NyIsCisgICJmZWViZTJmY2M1YzBmYTlmYjVm
NzY4YTFjNTFiOGE3YTAxNzciLAorICAiZmVlYmUyZmNjNWMwZmE5ZmI1Zjc2OGExZGQzNDk3YWUw
MTdlN2EwMTc3IiwKKyAgImZmZjdmM2ZkZTBkZGZjYzVjMGZhOWZiNWY3NjhhMWRkMzQ5N2FlMDE3
ZTdhMDE3NyIsCisgICJmZmY3ZjNmZGUwZGRmY2M1YzBmYTlmYjVmNzY4YTFkZDM0OTdhZTAxN2U3
YTAxNzc0OTAwNmEiCispLm1hcChjb2xvcnMpOworCit2YXIgUmRQdSA9IHJhbXAoc2NoZW1lJGcp
OworCit2YXIgc2NoZW1lJGggPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZWRmOGIxN2ZjZGJi
MmM3ZmI4IiwKKyAgImZmZmZjY2ExZGFiNDQxYjZjNDIyNWVhOCIsCisgICJmZmZmY2NhMWRhYjQ0
MWI2YzQyYzdmYjgyNTM0OTQiLAorICAiZmZmZmNjYzdlOWI0N2ZjZGJiNDFiNmM0MmM3ZmI4MjUz
NDk0IiwKKyAgImZmZmZjY2M3ZTliNDdmY2RiYjQxYjZjNDFkOTFjMDIyNWVhODBjMmM4NCIsCisg
ICJmZmZmZDllZGY4YjFjN2U5YjQ3ZmNkYmI0MWI2YzQxZDkxYzAyMjVlYTgwYzJjODQiLAorICAi
ZmZmZmQ5ZWRmOGIxYzdlOWI0N2ZjZGJiNDFiNmM0MWQ5MWMwMjI1ZWE4MjUzNDk0MDgxZDU4Igor
KS5tYXAoY29sb3JzKTsKKwordmFyIFlsR25CdSA9IHJhbXAoc2NoZW1lJGgpOworCit2YXIgc2No
ZW1lJGkgPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZjdmY2I5YWRkZDhlMzFhMzU0IiwKKyAg
ImZmZmZjY2MyZTY5OTc4YzY3OTIzODQ0MyIsCisgICJmZmZmY2NjMmU2OTk3OGM2NzkzMWEzNTQw
MDY4MzciLAorICAiZmZmZmNjZDlmMGEzYWRkZDhlNzhjNjc5MzFhMzU0MDA2ODM3IiwKKyAgImZm
ZmZjY2Q5ZjBhM2FkZGQ4ZTc4YzY3OTQxYWI1ZDIzODQ0MzAwNWEzMiIsCisgICJmZmZmZTVmN2Zj
YjlkOWYwYTNhZGRkOGU3OGM2Nzk0MWFiNWQyMzg0NDMwMDVhMzIiLAorICAiZmZmZmU1ZjdmY2I5
ZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQzMDA2ODM3MDA0NTI5IgorKS5tYXAoY29sb3Jz
KTsKKwordmFyIFlsR24gPSByYW1wKHNjaGVtZSRpKTsKKwordmFyIHNjaGVtZSRqID0gbmV3IEFy
cmF5KDMpLmNvbmNhdCgKKyAgImZmZjdiY2ZlYzQ0ZmQ5NWYwZSIsCisgICJmZmZmZDRmZWQ5OGVm
ZTk5MjljYzRjMDIiLAorICAiZmZmZmQ0ZmVkOThlZmU5OTI5ZDk1ZjBlOTkzNDA0IiwKKyAgImZm
ZmZkNGZlZTM5MWZlYzQ0ZmZlOTkyOWQ5NWYwZTk5MzQwNCIsCisgICJmZmZmZDRmZWUzOTFmZWM0
NGZmZTk5MjllYzcwMTRjYzRjMDI4YzJkMDQiLAorICAiZmZmZmU1ZmZmN2JjZmVlMzkxZmVjNDRm
ZmU5OTI5ZWM3MDE0Y2M0YzAyOGMyZDA0IiwKKyAgImZmZmZlNWZmZjdiY2ZlZTM5MWZlYzQ0ZmZl
OTkyOWVjNzAxNGNjNGMwMjk5MzQwNDY2MjUwNiIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBZbE9y
QnIgPSByYW1wKHNjaGVtZSRqKTsKKwordmFyIHNjaGVtZSRrID0gbmV3IEFycmF5KDMpLmNvbmNh
dCgKKyAgImZmZWRhMGZlYjI0Y2YwM2IyMCIsCisgICJmZmZmYjJmZWNjNWNmZDhkM2NlMzFhMWMi
LAorICAiZmZmZmIyZmVjYzVjZmQ4ZDNjZjAzYjIwYmQwMDI2IiwKKyAgImZmZmZiMmZlZDk3NmZl
YjI0Y2ZkOGQzY2YwM2IyMGJkMDAyNiIsCisgICJmZmZmYjJmZWQ5NzZmZWIyNGNmZDhkM2NmYzRl
MmFlMzFhMWNiMTAwMjYiLAorICAiZmZmZmNjZmZlZGEwZmVkOTc2ZmViMjRjZmQ4ZDNjZmM0ZTJh
ZTMxYTFjYjEwMDI2IiwKKyAgImZmZmZjY2ZmZWRhMGZlZDk3NmZlYjI0Y2ZkOGQzY2ZjNGUyYWUz
MWExY2JkMDAyNjgwMDAyNiIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBZbE9yUmQgPSByYW1wKHNj
aGVtZSRrKTsKKwordmFyIHNjaGVtZSRsID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImRlZWJm
NzllY2FlMTMxODJiZCIsCisgICJlZmYzZmZiZGQ3ZTc2YmFlZDYyMTcxYjUiLAorICAiZWZmM2Zm
YmRkN2U3NmJhZWQ2MzE4MmJkMDg1MTljIiwKKyAgImVmZjNmZmM2ZGJlZjllY2FlMTZiYWVkNjMx
ODJiZDA4NTE5YyIsCisgICJlZmYzZmZjNmRiZWY5ZWNhZTE2YmFlZDY0MjkyYzYyMTcxYjUwODQ1
OTQiLAorICAiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg0NTk0
IiwKKyAgImY3ZmJmZmRlZWJmN2M2ZGJlZjllY2FlMTZiYWVkNjQyOTJjNjIxNzFiNTA4NTE5YzA4
MzA2YiIKKykubWFwKGNvbG9ycyk7CisKK3ZhciBCbHVlcyA9IHJhbXAoc2NoZW1lJGwpOworCit2
YXIgc2NoZW1lJG0gPSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZTVmNWUwYTFkOTliMzFhMzU0
IiwKKyAgImVkZjhlOWJhZTRiMzc0YzQ3NjIzOGI0NSIsCisgICJlZGY4ZTliYWU0YjM3NGM0NzYz
MWEzNTQwMDZkMmMiLAorICAiZWRmOGU5YzdlOWMwYTFkOTliNzRjNDc2MzFhMzU0MDA2ZDJjIiwK
KyAgImVkZjhlOWM3ZTljMGExZDk5Yjc0YzQ3NjQxYWI1ZDIzOGI0NTAwNWEzMiIsCisgICJmN2Zj
ZjVlNWY1ZTBjN2U5YzBhMWQ5OWI3NGM0NzY0MWFiNWQyMzhiNDUwMDVhMzIiLAorICAiZjdmY2Y1
ZTVmNWUwYzdlOWMwYTFkOTliNzRjNDc2NDFhYjVkMjM4YjQ1MDA2ZDJjMDA0NDFiIgorKS5tYXAo
Y29sb3JzKTsKKwordmFyIEdyZWVucyA9IHJhbXAoc2NoZW1lJG0pOworCit2YXIgc2NoZW1lJG4g
PSBuZXcgQXJyYXkoMykuY29uY2F0KAorICAiZjBmMGYwYmRiZGJkNjM2MzYzIiwKKyAgImY3Zjdm
N2NjY2NjYzk2OTY5NjUyNTI1MiIsCisgICJmN2Y3ZjdjY2NjY2M5Njk2OTY2MzYzNjMyNTI1MjUi
LAorICAiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NjM2MzYzMjUyNTI1IiwKKyAgImY3ZjdmN2Q5
ZDlkOWJkYmRiZDk2OTY5NjczNzM3MzUyNTI1MjI1MjUyNSIsCisgICJmZmZmZmZmMGYwZjBkOWQ5
ZDliZGJkYmQ5Njk2OTY3MzczNzM1MjUyNTIyNTI1MjUiLAorICAiZmZmZmZmZjBmMGYwZDlkOWQ5
YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1MDAwMDAwIgorKS5tYXAoY29sb3JzKTsKKwor
dmFyIEdyZXlzID0gcmFtcChzY2hlbWUkbik7CisKK3ZhciBzY2hlbWUkbyA9IG5ldyBBcnJheSgz
KS5jb25jYXQoCisgICJlZmVkZjViY2JkZGM3NTZiYjEiLAorICAiZjJmMGY3Y2JjOWUyOWU5YWM4
NmE1MWEzIiwKKyAgImYyZjBmN2NiYzllMjllOWFjODc1NmJiMTU0Mjc4ZiIsCisgICJmMmYwZjdk
YWRhZWJiY2JkZGM5ZTlhYzg3NTZiYjE1NDI3OGYiLAorICAiZjJmMGY3ZGFkYWViYmNiZGRjOWU5
YWM4ODA3ZGJhNmE1MWEzNGExNDg2IiwKKyAgImZjZmJmZGVmZWRmNWRhZGFlYmJjYmRkYzllOWFj
ODgwN2RiYTZhNTFhMzRhMTQ4NiIsCisgICJmY2ZiZmRlZmVkZjVkYWRhZWJiY2JkZGM5ZTlhYzg4
MDdkYmE2YTUxYTM1NDI3OGYzZjAwN2QiCispLm1hcChjb2xvcnMpOworCit2YXIgUHVycGxlcyA9
IHJhbXAoc2NoZW1lJG8pOworCit2YXIgc2NoZW1lJHAgPSBuZXcgQXJyYXkoMykuY29uY2F0KAor
ICAiZmVlMGQyZmM5MjcyZGUyZDI2IiwKKyAgImZlZTVkOWZjYWU5MWZiNmE0YWNiMTgxZCIsCisg
ICJmZWU1ZDlmY2FlOTFmYjZhNGFkZTJkMjZhNTBmMTUiLAorICAiZmVlNWQ5ZmNiYmExZmM5Mjcy
ZmI2YTRhZGUyZDI2YTUwZjE1IiwKKyAgImZlZTVkOWZjYmJhMWZjOTI3MmZiNmE0YWVmM2IyY2Ni
MTgxZDk5MDAwZCIsCisgICJmZmY1ZjBmZWUwZDJmY2JiYTFmYzkyNzJmYjZhNGFlZjNiMmNjYjE4
MWQ5OTAwMGQiLAorICAiZmZmNWYwZmVlMGQyZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFk
YTUwZjE1NjcwMDBkIgorKS5tYXAoY29sb3JzKTsKKwordmFyIFJlZHMgPSByYW1wKHNjaGVtZSRw
KTsKKwordmFyIHNjaGVtZSRxID0gbmV3IEFycmF5KDMpLmNvbmNhdCgKKyAgImZlZTZjZWZkYWU2
YmU2NTUwZCIsCisgICJmZWVkZGVmZGJlODVmZDhkM2NkOTQ3MDEiLAorICAiZmVlZGRlZmRiZTg1
ZmQ4ZDNjZTY1NTBkYTYzNjAzIiwKKyAgImZlZWRkZWZkZDBhMmZkYWU2YmZkOGQzY2U2NTUwZGE2
MzYwMyIsCisgICJmZWVkZGVmZGQwYTJmZGFlNmJmZDhkM2NmMTY5MTNkOTQ4MDE4YzJkMDQiLAor
ICAiZmZmNWViZmVlNmNlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2OTEzZDk0ODAxOGMyZDA0IiwKKyAg
ImZmZjVlYmZlZTZjZWZkZDBhMmZkYWU2YmZkOGQzY2YxNjkxM2Q5NDgwMWE2MzYwMzdmMjcwNCIK
KykubWFwKGNvbG9ycyk7CisKK3ZhciBPcmFuZ2VzID0gcmFtcChzY2hlbWUkcSk7CisKK2Z1bmN0
aW9uIGNpdmlkaXModCkgeworICB0ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgdCkpOworICBy
ZXR1cm4gInJnYigiCisgICAgICArIE1hdGgubWF4KDAsIE1hdGgubWluKDI1NSwgTWF0aC5yb3Vu
ZCgtNC41NCAtIHQgKiAoMzUuMzQgLSB0ICogKDIzODEuNzMgLSB0ICogKDY0MDIuNyAtIHQgKiAo
NzAyNC43MiAtIHQgKiAyNzEwLjU3KSkpKSkpKSArICIsICIKKyAgICAgICsgTWF0aC5tYXgoMCwg
TWF0aC5taW4oMjU1LCBNYXRoLnJvdW5kKDMyLjQ5ICsgdCAqICgxNzAuNzMgKyB0ICogKDUyLjgy
IC0gdCAqICgxMzEuNDYgLSB0ICogKDE3Ni41OCAtIHQgKiA2Ny4zNykpKSkpKSkgKyAiLCAiCisg
ICAgICArIE1hdGgubWF4KDAsIE1hdGgubWluKDI1NSwgTWF0aC5yb3VuZCg4MS4yNCArIHQgKiAo
NDQyLjM2IC0gdCAqICgyNDgyLjQzIC0gdCAqICg2MTY3LjI0IC0gdCAqICg2NjE0Ljk0IC0gdCAq
IDI0NzUuNjcpKSkpKSkpCisgICAgICArICIpIjsKK30KKwordmFyIGN1YmVoZWxpeCQzID0gY3Vi
ZWhlbGl4TG9uZyhjdWJlaGVsaXgoMzAwLCAwLjUsIDAuMCksIGN1YmVoZWxpeCgtMjQwLCAwLjUs
IDEuMCkpOworCit2YXIgd2FybSA9IGN1YmVoZWxpeExvbmcoY3ViZWhlbGl4KC0xMDAsIDAuNzUs
IDAuMzUpLCBjdWJlaGVsaXgoODAsIDEuNTAsIDAuOCkpOworCit2YXIgY29vbCA9IGN1YmVoZWxp
eExvbmcoY3ViZWhlbGl4KDI2MCwgMC43NSwgMC4zNSksIGN1YmVoZWxpeCg4MCwgMS41MCwgMC44
KSk7CisKK3ZhciBjID0gY3ViZWhlbGl4KCk7CisKK2Z1bmN0aW9uIHJhaW5ib3codCkgeworICBp
ZiAodCA8IDAgfHwgdCA+IDEpIHQgLT0gTWF0aC5mbG9vcih0KTsKKyAgdmFyIHRzID0gTWF0aC5h
YnModCAtIDAuNSk7CisgIGMuaCA9IDM2MCAqIHQgLSAxMDA7CisgIGMucyA9IDEuNSAtIDEuNSAq
IHRzOworICBjLmwgPSAwLjggLSAwLjkgKiB0czsKKyAgcmV0dXJuIGMgKyAiIjsKK30KKwordmFy
IGMkMSA9IHJnYigpLAorICAgIHBpXzFfMyA9IE1hdGguUEkgLyAzLAorICAgIHBpXzJfMyA9IE1h
dGguUEkgKiAyIC8gMzsKKworZnVuY3Rpb24gc2luZWJvdyh0KSB7CisgIHZhciB4OworICB0ID0g
KDAuNSAtIHQpICogTWF0aC5QSTsKKyAgYyQxLnIgPSAyNTUgKiAoeCA9IE1hdGguc2luKHQpKSAq
IHg7CisgIGMkMS5nID0gMjU1ICogKHggPSBNYXRoLnNpbih0ICsgcGlfMV8zKSkgKiB4OworICBj
JDEuYiA9IDI1NSAqICh4ID0gTWF0aC5zaW4odCArIHBpXzJfMykpICogeDsKKyAgcmV0dXJuIGMk
MSArICIiOworfQorCitmdW5jdGlvbiB0dXJibyh0KSB7CisgIHQgPSBNYXRoLm1heCgwLCBNYXRo
Lm1pbigxLCB0KSk7CisgIHJldHVybiAicmdiKCIKKyAgICAgICsgTWF0aC5tYXgoMCwgTWF0aC5t
aW4oMjU1LCBNYXRoLnJvdW5kKDM0LjYxICsgdCAqICgxMTcyLjMzIC0gdCAqICgxMDc5My41NiAt
IHQgKiAoMzMzMDAuMTIgLSB0ICogKDM4Mzk0LjQ5IC0gdCAqIDE0ODI1LjA1KSkpKSkpKSArICIs
ICIKKyAgICAgICsgTWF0aC5tYXgoMCwgTWF0aC5taW4oMjU1LCBNYXRoLnJvdW5kKDIzLjMxICsg
dCAqICg1NTcuMzMgKyB0ICogKDEyMjUuMzMgLSB0ICogKDM1NzQuOTYgLSB0ICogKDEwNzMuNzcg
KyB0ICogNzA3LjU2KSkpKSkpKSArICIsICIKKyAgICAgICsgTWF0aC5tYXgoMCwgTWF0aC5taW4o
MjU1LCBNYXRoLnJvdW5kKDI3LjIgKyB0ICogKDMyMTEuMSAtIHQgKiAoMTUzMjcuOTcgLSB0ICog
KDI3ODE0IC0gdCAqICgyMjU2OS4xOCAtIHQgKiA2ODM4LjY2KSkpKSkpKQorICAgICAgKyAiKSI7
Cit9CisKK2Z1bmN0aW9uIHJhbXAkMShyYW5nZSkgeworICB2YXIgbiA9IHJhbmdlLmxlbmd0aDsK
KyAgcmV0dXJuIGZ1bmN0aW9uKHQpIHsKKyAgICByZXR1cm4gcmFuZ2VbTWF0aC5tYXgoMCwgTWF0
aC5taW4obiAtIDEsIE1hdGguZmxvb3IodCAqIG4pKSldOworICB9OworfQorCit2YXIgdmlyaWRp
cyA9IHJhbXAkMShjb2xvcnMoIjQ0MDE1NDQ0MDI1NjQ1MDQ1NzQ1MDU1OTQ2MDc1YTQ2MDg1YzQ2
MGE1ZDQ2MGI1ZTQ3MGQ2MDQ3MGU2MTQ3MTA2MzQ3MTE2NDQ3MTM2NTQ4MTQ2NzQ4MTY2ODQ4MTc2
OTQ4MTg2YTQ4MWE2YzQ4MWI2ZDQ4MWM2ZTQ4MWQ2ZjQ4MWY3MDQ4MjA3MTQ4MjE3MzQ4MjM3NDQ4
MjQ3NTQ4MjU3NjQ4MjY3NzQ4Mjg3ODQ4Mjk3OTQ3MmE3YTQ3MmM3YTQ3MmQ3YjQ3MmU3YzQ3MmY3
ZDQ2MzA3ZTQ2MzI3ZTQ2MzM3ZjQ2MzQ4MDQ1MzU4MTQ1Mzc4MTQ1Mzg4MjQ0Mzk4MzQ0M2E4MzQ0
M2I4NDQzM2Q4NDQzM2U4NTQyM2Y4NTQyNDA4NjQyNDE4NjQxNDI4NzQxNDQ4NzQwNDU4ODQwNDY4
ODNmNDc4ODNmNDg4OTNlNDk4OTNlNGE4OTNlNGM4YTNkNGQ4YTNkNGU4YTNjNGY4YTNjNTA4YjNi
NTE4YjNiNTI4YjNhNTM4YjNhNTQ4YzM5NTU4YzM5NTY4YzM4NTg4YzM4NTk4YzM3NWE4YzM3NWI4
ZDM2NWM4ZDM2NWQ4ZDM1NWU4ZDM1NWY4ZDM0NjA4ZDM0NjE4ZDMzNjI4ZDMzNjM4ZDMyNjQ4ZTMy
NjU4ZTMxNjY4ZTMxNjc4ZTMxNjg4ZTMwNjk4ZTMwNmE4ZTJmNmI4ZTJmNmM4ZTJlNmQ4ZTJlNmU4
ZTJlNmY4ZTJkNzA4ZTJkNzE4ZTJjNzE4ZTJjNzI4ZTJjNzM4ZTJiNzQ4ZTJiNzU4ZTJhNzY4ZTJh
Nzc4ZTJhNzg4ZTI5Nzk4ZTI5N2E4ZTI5N2I4ZTI4N2M4ZTI4N2Q4ZTI3N2U4ZTI3N2Y4ZTI3ODA4
ZTI2ODE4ZTI2ODI4ZTI2ODI4ZTI1ODM4ZTI1ODQ4ZTI1ODU4ZTI0ODY4ZTI0ODc4ZTIzODg4ZTIz
ODk4ZTIzOGE4ZDIyOGI4ZDIyOGM4ZDIyOGQ4ZDIxOGU4ZDIxOGY4ZDIxOTA4ZDIxOTE4YzIwOTI4
YzIwOTI4YzIwOTM4YzFmOTQ4YzFmOTU4YjFmOTY4YjFmOTc4YjFmOTg4YjFmOTk4YTFmOWE4YTFl
OWI4YTFlOWM4OTFlOWQ4OTFmOWU4OTFmOWY4ODFmYTA4ODFmYTE4ODFmYTE4NzFmYTI4NzIwYTM4
NjIwYTQ4NjIxYTU4NTIxYTY4NTIyYTc4NTIyYTg4NDIzYTk4MzI0YWE4MzI1YWI4MjI1YWM4MjI2
YWQ4MTI3YWQ4MTI4YWU4MDI5YWY3ZjJhYjA3ZjJjYjE3ZTJkYjI3ZDJlYjM3YzJmYjQ3YzMxYjU3
YjMyYjY3YTM0YjY3OTM1Yjc3OTM3Yjg3ODM4Yjk3NzNhYmE3NjNiYmI3NTNkYmM3NDNmYmM3MzQw
YmQ3MjQyYmU3MTQ0YmY3MDQ2YzA2ZjQ4YzE2ZTRhYzE2ZDRjYzI2YzRlYzM2YjUwYzQ2YTUyYzU2
OTU0YzU2ODU2YzY2NzU4Yzc2NTVhYzg2NDVjYzg2MzVlYzk2MjYwY2E2MDYzY2I1ZjY1Y2I1ZTY3
Y2M1YzY5Y2Q1YjZjY2Q1YTZlY2U1ODcwY2Y1NzczZDA1Njc1ZDA1NDc3ZDE1MzdhZDE1MTdjZDI1
MDdmZDM0ZTgxZDM0ZDg0ZDQ0Yjg2ZDU0OTg5ZDU0ODhiZDY0NjhlZDY0NTkwZDc0MzkzZDc0MTk1
ZDg0MDk4ZDgzZTliZDkzYzlkZDkzYmEwZGEzOWEyZGEzN2E1ZGIzNmE4ZGIzNGFhZGMzMmFkZGMz
MGIwZGQyZmIyZGQyZGI1ZGUyYmI4ZGUyOWJhZGUyOGJkZGYyNmMwZGYyNWMyZGYyM2M1ZTAyMWM4
ZTAyMGNhZTExZmNkZTExZGQwZTExY2QyZTIxYmQ1ZTIxYWQ4ZTIxOWRhZTMxOWRkZTMxOGRmZTMx
OGUyZTQxOGU1ZTQxOWU3ZTQxOWVhZTUxYWVjZTUxYmVmZTUxY2YxZTUxZGY0ZTYxZWY2ZTYyMGY4
ZTYyMWZiZTcyM2ZkZTcyNSIpKTsKKwordmFyIG1hZ21hID0gcmFtcCQxKGNvbG9ycygiMDAwMDA0
MDEwMDA1MDEwMTA2MDEwMTA4MDIwMTA5MDIwMjBiMDIwMjBkMDMwMzBmMDMwMzEyMDQwNDE0MDUw
NDE2MDYwNTE4MDYwNTFhMDcwNjFjMDgwNzFlMDkwNzIwMGEwODIyMGIwOTI0MGMwOTI2MGQwYTI5
MGUwYjJiMTAwYjJkMTEwYzJmMTIwZDMxMTMwZDM0MTQwZTM2MTUwZTM4MTYwZjNiMTgwZjNkMTkx
MDNmMWExMDQyMWMxMDQ0MWQxMTQ3MWUxMTQ5MjAxMTRiMjExMTRlMjIxMTUwMjQxMjUzMjUxMjU1
MjcxMjU4MjkxMTVhMmExMTVjMmMxMTVmMmQxMTYxMmYxMTYzMzExMTY1MzMxMDY3MzQxMDY5MzYx
MDZiMzgxMDZjMzkwZjZlM2IwZjcwM2QwZjcxM2YwZjcyNDAwZjc0NDIwZjc1NDQwZjc2NDUxMDc3
NDcxMDc4NDkxMDc4NGExMDc5NGMxMTdhNGUxMTdiNGYxMjdiNTExMjdjNTIxMzdjNTQxMzdkNTYx
NDdkNTcxNTdlNTkxNTdlNWExNjdlNWMxNjdmNWQxNzdmNWYxODdmNjAxODgwNjIxOTgwNjQxYTgw
NjUxYTgwNjcxYjgwNjgxYzgxNmExYzgxNmIxZDgxNmQxZDgxNmUxZTgxNzAxZjgxNzIxZjgxNzMy
MDgxNzUyMTgxNzYyMTgxNzgyMjgxNzkyMjgyN2IyMzgyN2MyMzgyN2UyNDgyODAyNTgyODEyNTgx
ODMyNjgxODQyNjgxODYyNzgxODgyNzgxODkyODgxOGIyOTgxOGMyOTgxOGUyYTgxOTAyYTgxOTEy
YjgxOTMyYjgwOTQyYzgwOTYyYzgwOTgyZDgwOTkyZDgwOWIyZTdmOWMyZTdmOWUyZjdmYTAyZjdm
YTEzMDdlYTMzMDdlYTUzMTdlYTYzMTdkYTgzMjdkYWEzMzdkYWIzMzdjYWQzNDdjYWUzNDdiYjAz
NTdiYjIzNTdiYjMzNjdhYjUzNjdhYjczNzc5YjgzNzc5YmEzODc4YmMzOTc4YmQzOTc3YmYzYTc3
YzAzYTc2YzIzYjc1YzQzYzc1YzUzYzc0YzczZDczYzgzZTczY2EzZTcyY2MzZjcxY2Q0MDcxY2Y0
MDcwZDA0MTZmZDI0MjZmZDM0MzZlZDU0NDZkZDY0NTZjZDg0NTZjZDk0NjZiZGI0NzZhZGM0ODY5
ZGU0OTY4ZGY0YTY4ZTA0YzY3ZTI0ZDY2ZTM0ZTY1ZTQ0ZjY0ZTU1MDY0ZTc1MjYzZTg1MzYyZTk1
NDYyZWE1NjYxZWI1NzYwZWM1ODYwZWQ1YTVmZWU1YjVlZWY1ZDVlZjA1ZjVlZjE2MDVkZjI2MjVk
ZjI2NDVjZjM2NTVjZjQ2NzVjZjQ2OTVjZjU2YjVjZjY2YzVjZjY2ZTVjZjc3MDVjZjc3MjVjZjg3
NDVjZjg3NjVjZjk3ODVkZjk3OTVkZjk3YjVkZmE3ZDVlZmE3ZjVlZmE4MTVmZmI4MzVmZmI4NTYw
ZmI4NzYxZmM4OTYxZmM4YTYyZmM4YzYzZmM4ZTY0ZmM5MDY1ZmQ5MjY2ZmQ5NDY3ZmQ5NjY4ZmQ5
ODY5ZmQ5YTZhZmQ5YjZiZmU5ZDZjZmU5ZjZkZmVhMTZlZmVhMzZmZmVhNTcxZmVhNzcyZmVhOTcz
ZmVhYTc0ZmVhYzc2ZmVhZTc3ZmViMDc4ZmViMjdhZmViNDdiZmViNjdjZmViNzdlZmViOTdmZmVi
YjgxZmViZDgyZmViZjg0ZmVjMTg1ZmVjMjg3ZmVjNDg4ZmVjNjhhZmVjODhjZmVjYThkZmVjYzhm
ZmVjZDkwZmVjZjkyZmVkMTk0ZmVkMzk1ZmVkNTk3ZmVkNzk5ZmVkODlhZmRkYTljZmRkYzllZmRk
ZWEwZmRlMGExZmRlMmEzZmRlM2E1ZmRlNWE3ZmRlN2E5ZmRlOWFhZmRlYmFjZmNlY2FlZmNlZWIw
ZmNmMGIyZmNmMmI0ZmNmNGI2ZmNmNmI4ZmNmN2I5ZmNmOWJiZmNmYmJkZmNmZGJmIikpOworCit2
YXIgaW5mZXJubyA9IHJhbXAkMShjb2xvcnMoIjAwMDAwNDAxMDAwNTAxMDEwNjAxMDEwODAyMDEw
YTAyMDIwYzAyMDIwZTAzMDIxMDA0MDMxMjA0MDMxNDA1MDQxNzA2MDQxOTA3MDUxYjA4MDUxZDA5
MDYxZjBhMDcyMjBiMDcyNDBjMDgyNjBkMDgyOTBlMDkyYjEwMDkyZDExMGEzMDEyMGEzMjE0MGIz
NDE1MGIzNzE2MGIzOTE4MGMzYzE5MGMzZTFiMGM0MTFjMGM0MzFlMGM0NTFmMGM0ODIxMGM0YTIz
MGM0YzI0MGM0ZjI2MGM1MTI4MGI1MzI5MGI1NTJiMGI1NzJkMGI1OTJmMGE1YjMxMGE1YzMyMGE1
ZTM0MGE1ZjM2MDk2MTM4MDk2MjM5MDk2MzNiMDk2NDNkMDk2NTNlMDk2NjQwMGE2NzQyMGE2ODQ0
MGE2ODQ1MGE2OTQ3MGI2YTQ5MGI2YTRhMGM2YjRjMGM2YjRkMGQ2YzRmMGQ2YzUxMGU2YzUyMGU2
ZDU0MGY2ZDU1MGY2ZDU3MTA2ZTU5MTA2ZTVhMTE2ZTVjMTI2ZTVkMTI2ZTVmMTM2ZTYxMTM2ZTYy
MTQ2ZTY0MTU2ZTY1MTU2ZTY3MTY2ZTY5MTY2ZTZhMTc2ZTZjMTg2ZTZkMTg2ZTZmMTk2ZTcxMTk2
ZTcyMWE2ZTc0MWE2ZTc1MWI2ZTc3MWM2ZDc4MWM2ZDdhMWQ2ZDdjMWQ2ZDdkMWU2ZDdmMWU2Yzgw
MWY2YzgyMjA2Yzg0MjA2Yjg1MjE2Yjg3MjE2Yjg4MjI2YThhMjI2YThjMjM2OThkMjM2OThmMjQ2
OTkwMjU2ODkyMjU2ODkzMjY2Nzk1MjY2Nzk3Mjc2Njk4Mjc2NjlhMjg2NTliMjk2NDlkMjk2NDlm
MmE2M2EwMmE2M2EyMmI2MmEzMmM2MWE1MmM2MGE2MmQ2MGE4MmU1ZmE5MmU1ZWFiMmY1ZWFkMzA1
ZGFlMzA1Y2IwMzE1YmIxMzI1YWIzMzI1YWI0MzM1OWI2MzQ1OGI3MzU1N2I5MzU1NmJhMzY1NWJj
Mzc1NGJkMzg1M2JmMzk1MmMwM2E1MWMxM2E1MGMzM2I0ZmM0M2M0ZWM2M2Q0ZGM3M2U0Y2M4M2Y0
YmNhNDA0YWNiNDE0OWNjNDI0OGNlNDM0N2NmNDQ0NmQwNDU0NWQyNDY0NGQzNDc0M2Q0NDg0MmQ1
NGE0MWQ3NGIzZmQ4NGMzZWQ5NGQzZGRhNGUzY2RiNTAzYmRkNTEzYWRlNTIzOGRmNTMzN2UwNTUz
NmUxNTYzNWUyNTczNGUzNTkzM2U0NWEzMWU1NWMzMGU2NWQyZmU3NWUyZWU4NjAyZGU5NjEyYmVh
NjMyYWViNjQyOWViNjYyOGVjNjcyNmVkNjkyNWVlNmEyNGVmNmMyM2VmNmUyMWYwNmYyMGYxNzEx
ZmYxNzMxZGYyNzQxY2YzNzYxYmYzNzgxOWY0NzkxOGY1N2IxN2Y1N2QxNWY2N2UxNGY2ODAxM2Y3
ODIxMmY3ODQxMGY4ODUwZmY4ODcwZWY4ODkwY2Y5OGIwYmY5OGMwYWY5OGUwOWZhOTAwOGZhOTIw
N2ZhOTQwN2ZiOTYwNmZiOTcwNmZiOTkwNmZiOWIwNmZiOWQwN2ZjOWYwN2ZjYTEwOGZjYTMwOWZj
YTUwYWZjYTYwY2ZjYTgwZGZjYWEwZmZjYWMxMWZjYWUxMmZjYjAxNGZjYjIxNmZjYjQxOGZiYjYx
YWZiYjgxZGZiYmExZmZiYmMyMWZiYmUyM2ZhYzAyNmZhYzIyOGZhYzQyYWZhYzYyZGY5YzcyZmY5
YzkzMmY5Y2IzNWY4Y2QzN2Y4Y2YzYWY3ZDEzZGY3ZDM0MGY2ZDU0M2Y2ZDc0NmY1ZDk0OWY1ZGI0
Y2Y0ZGQ0ZmY0ZGY1M2Y0ZTE1NmYzZTM1YWYzZTU1ZGYyZTY2MWYyZTg2NWYyZWE2OWYxZWM2ZGYx
ZWQ3MWYxZWY3NWYxZjE3OWYyZjI3ZGYyZjQ4MmYzZjU4NmYzZjY4YWY0Zjg4ZWY1Zjk5MmY2ZmE5
NmY4ZmI5YWY5ZmM5ZGZhZmRhMWZjZmZhNCIpKTsKKwordmFyIHBsYXNtYSA9IHJhbXAkMShjb2xv
cnMoIjBkMDg4NzEwMDc4ODEzMDc4OTE2MDc4YTE5MDY4YzFiMDY4ZDFkMDY4ZTIwMDY4ZjIyMDY5
MDI0MDY5MTI2MDU5MTI4MDU5MjJhMDU5MzJjMDU5NDJlMDU5NTJmMDU5NjMxMDU5NzMzMDU5NzM1
MDQ5ODM3MDQ5OTM4MDQ5YTNhMDQ5YTNjMDQ5YjNlMDQ5YzNmMDQ5YzQxMDQ5ZDQzMDM5ZTQ0MDM5
ZTQ2MDM5ZjQ4MDM5ZjQ5MDNhMDRiMDNhMTRjMDJhMTRlMDJhMjUwMDJhMjUxMDJhMzUzMDJhMzU1
MDJhNDU2MDFhNDU4MDFhNDU5MDFhNTViMDFhNTVjMDFhNjVlMDFhNjYwMDFhNjYxMDBhNzYzMDBh
NzY0MDBhNzY2MDBhNzY3MDBhODY5MDBhODZhMDBhODZjMDBhODZlMDBhODZmMDBhODcxMDBhODcy
MDFhODc0MDFhODc1MDFhODc3MDFhODc4MDFhODdhMDJhODdiMDJhODdkMDNhODdlMDNhODgwMDRh
ODgxMDRhNzgzMDVhNzg0MDVhNzg2MDZhNjg3MDdhNjg4MDhhNjhhMDlhNThiMGFhNThkMGJhNThl
MGNhNDhmMGRhNDkxMGVhMzkyMGZhMzk0MTBhMjk1MTFhMTk2MTNhMTk4MTRhMDk5MTU5ZjlhMTY5
ZjljMTc5ZTlkMTg5ZDllMTk5ZGEwMWE5Y2ExMWI5YmEyMWQ5YWEzMWU5YWE1MWY5OWE2MjA5OGE3
MjE5N2E4MjI5NmFhMjM5NWFiMjQ5NGFjMjY5NGFkMjc5M2FlMjg5MmIwMjk5MWIxMmE5MGIyMmI4
ZmIzMmM4ZWI0MmU4ZGI1MmY4Y2I2MzA4YmI3MzE4YWI4MzI4OWJhMzM4OGJiMzQ4OGJjMzU4N2Jk
Mzc4NmJlMzg4NWJmMzk4NGMwM2E4M2MxM2I4MmMyM2M4MWMzM2Q4MGM0M2U3ZmM1NDA3ZWM2NDE3
ZGM3NDI3Y2M4NDM3YmM5NDQ3YWNhNDU3YWNiNDY3OWNjNDc3OGNjNDk3N2NkNGE3NmNlNGI3NWNm
NGM3NGQwNGQ3M2QxNGU3MmQyNGY3MWQzNTE3MWQ0NTI3MGQ1NTM2ZmQ1NTQ2ZWQ2NTU2ZGQ3NTY2
Y2Q4NTc2YmQ5NTg2YWRhNWE2YWRhNWI2OWRiNWM2OGRjNWQ2N2RkNWU2NmRlNWY2NWRlNjE2NGRm
NjI2M2UwNjM2M2UxNjQ2MmUyNjU2MWUyNjY2MGUzNjg1ZmU0Njk1ZWU1NmE1ZGU1NmI1ZGU2NmM1
Y2U3NmU1YmU3NmY1YWU4NzA1OWU5NzE1OGU5NzI1N2VhNzQ1N2ViNzU1NmViNzY1NWVjNzc1NGVk
Nzk1M2VkN2E1MmVlN2I1MWVmN2M1MWVmN2U1MGYwN2Y0ZmYwODA0ZWYxODE0ZGYxODM0Y2YyODQ0
YmYzODU0YmYzODc0YWY0ODg0OWY0ODk0OGY1OGI0N2Y1OGM0NmY2OGQ0NWY2OGY0NGY3OTA0NGY3
OTE0M2Y3OTM0MmY4OTQ0MWY4OTU0MGY5OTczZmY5OTgzZWY5OWEzZWZhOWIzZGZhOWMzY2ZhOWUz
YmZiOWYzYWZiYTEzOWZiYTIzOGZjYTMzOGZjYTUzN2ZjYTYzNmZjYTgzNWZjYTkzNGZkYWIzM2Zk
YWMzM2ZkYWUzMmZkYWYzMWZkYjEzMGZkYjIyZmZkYjQyZmZkYjUyZWZlYjcyZGZlYjgyY2ZlYmEy
Y2ZlYmIyYmZlYmQyYWZlYmUyYWZlYzAyOWZkYzIyOWZkYzMyOGZkYzUyN2ZkYzYyN2ZkYzgyN2Zk
Y2EyNmZkY2IyNmZjY2QyNWZjY2UyNWZjZDAyNWZjZDIyNWZiZDMyNGZiZDUyNGZiZDcyNGZhZDgy
NGZhZGEyNGY5ZGMyNGY5ZGQyNWY4ZGYyNWY4ZTEyNWY3ZTIyNWY3ZTQyNWY2ZTYyNmY2ZTgyNmY1
ZTkyNmY1ZWIyN2Y0ZWQyN2YzZWUyN2YzZjAyN2YyZjIyN2YxZjQyNmYxZjUyNWYwZjcyNGYwZjky
MSIpKTsKKworZnVuY3Rpb24gY29uc3RhbnQkYih4KSB7CisgIHJldHVybiBmdW5jdGlvbiBjb25z
dGFudCgpIHsKKyAgICByZXR1cm4geDsKKyAgfTsKK30KKwordmFyIGFicyQxID0gTWF0aC5hYnM7
Cit2YXIgYXRhbjIkMSA9IE1hdGguYXRhbjI7Cit2YXIgY29zJDIgPSBNYXRoLmNvczsKK3ZhciBt
YXgkMiA9IE1hdGgubWF4OwordmFyIG1pbiQxID0gTWF0aC5taW47Cit2YXIgc2luJDIgPSBNYXRo
LnNpbjsKK3ZhciBzcXJ0JDIgPSBNYXRoLnNxcnQ7CisKK3ZhciBlcHNpbG9uJDMgPSAxZS0xMjsK
K3ZhciBwaSQ0ID0gTWF0aC5QSTsKK3ZhciBoYWxmUGkkMyA9IHBpJDQgLyAyOwordmFyIHRhdSQ0
ID0gMiAqIHBpJDQ7CisKK2Z1bmN0aW9uIGFjb3MkMSh4KSB7CisgIHJldHVybiB4ID4gMSA/IDAg
OiB4IDwgLTEgPyBwaSQ0IDogTWF0aC5hY29zKHgpOworfQorCitmdW5jdGlvbiBhc2luJDEoeCkg
eworICByZXR1cm4geCA+PSAxID8gaGFsZlBpJDMgOiB4IDw9IC0xID8gLWhhbGZQaSQzIDogTWF0
aC5hc2luKHgpOworfQorCitmdW5jdGlvbiBhcmNJbm5lclJhZGl1cyhkKSB7CisgIHJldHVybiBk
LmlubmVyUmFkaXVzOworfQorCitmdW5jdGlvbiBhcmNPdXRlclJhZGl1cyhkKSB7CisgIHJldHVy
biBkLm91dGVyUmFkaXVzOworfQorCitmdW5jdGlvbiBhcmNTdGFydEFuZ2xlKGQpIHsKKyAgcmV0
dXJuIGQuc3RhcnRBbmdsZTsKK30KKworZnVuY3Rpb24gYXJjRW5kQW5nbGUoZCkgeworICByZXR1
cm4gZC5lbmRBbmdsZTsKK30KKworZnVuY3Rpb24gYXJjUGFkQW5nbGUoZCkgeworICByZXR1cm4g
ZCAmJiBkLnBhZEFuZ2xlOyAvLyBOb3RlOiBvcHRpb25hbCEKK30KKworZnVuY3Rpb24gaW50ZXJz
ZWN0KHgwLCB5MCwgeDEsIHkxLCB4MiwgeTIsIHgzLCB5MykgeworICB2YXIgeDEwID0geDEgLSB4
MCwgeTEwID0geTEgLSB5MCwKKyAgICAgIHgzMiA9IHgzIC0geDIsIHkzMiA9IHkzIC0geTIsCisg
ICAgICB0ID0geTMyICogeDEwIC0geDMyICogeTEwOworICBpZiAodCAqIHQgPCBlcHNpbG9uJDMp
IHJldHVybjsKKyAgdCA9ICh4MzIgKiAoeTAgLSB5MikgLSB5MzIgKiAoeDAgLSB4MikpIC8gdDsK
KyAgcmV0dXJuIFt4MCArIHQgKiB4MTAsIHkwICsgdCAqIHkxMF07Cit9CisKKy8vIENvbXB1dGUg
cGVycGVuZGljdWxhciBvZmZzZXQgbGluZSBvZiBsZW5ndGggcmMuCisvLyBodHRwOi8vbWF0aHdv
cmxkLndvbGZyYW0uY29tL0NpcmNsZS1MaW5lSW50ZXJzZWN0aW9uLmh0bWwKK2Z1bmN0aW9uIGNv
cm5lclRhbmdlbnRzKHgwLCB5MCwgeDEsIHkxLCByMSwgcmMsIGN3KSB7CisgIHZhciB4MDEgPSB4
MCAtIHgxLAorICAgICAgeTAxID0geTAgLSB5MSwKKyAgICAgIGxvID0gKGN3ID8gcmMgOiAtcmMp
IC8gc3FydCQyKHgwMSAqIHgwMSArIHkwMSAqIHkwMSksCisgICAgICBveCA9IGxvICogeTAxLAor
ICAgICAgb3kgPSAtbG8gKiB4MDEsCisgICAgICB4MTEgPSB4MCArIG94LAorICAgICAgeTExID0g
eTAgKyBveSwKKyAgICAgIHgxMCA9IHgxICsgb3gsCisgICAgICB5MTAgPSB5MSArIG95LAorICAg
ICAgeDAwID0gKHgxMSArIHgxMCkgLyAyLAorICAgICAgeTAwID0gKHkxMSArIHkxMCkgLyAyLAor
ICAgICAgZHggPSB4MTAgLSB4MTEsCisgICAgICBkeSA9IHkxMCAtIHkxMSwKKyAgICAgIGQyID0g
ZHggKiBkeCArIGR5ICogZHksCisgICAgICByID0gcjEgLSByYywKKyAgICAgIEQgPSB4MTEgKiB5
MTAgLSB4MTAgKiB5MTEsCisgICAgICBkID0gKGR5IDwgMCA/IC0xIDogMSkgKiBzcXJ0JDIobWF4
JDIoMCwgciAqIHIgKiBkMiAtIEQgKiBEKSksCisgICAgICBjeDAgPSAoRCAqIGR5IC0gZHggKiBk
KSAvIGQyLAorICAgICAgY3kwID0gKC1EICogZHggLSBkeSAqIGQpIC8gZDIsCisgICAgICBjeDEg
PSAoRCAqIGR5ICsgZHggKiBkKSAvIGQyLAorICAgICAgY3kxID0gKC1EICogZHggKyBkeSAqIGQp
IC8gZDIsCisgICAgICBkeDAgPSBjeDAgLSB4MDAsCisgICAgICBkeTAgPSBjeTAgLSB5MDAsCisg
ICAgICBkeDEgPSBjeDEgLSB4MDAsCisgICAgICBkeTEgPSBjeTEgLSB5MDA7CisKKyAgLy8gUGlj
ayB0aGUgY2xvc2VyIG9mIHRoZSB0d28gaW50ZXJzZWN0aW9uIHBvaW50cy4KKyAgLy8gVE9ETyBJ
cyB0aGVyZSBhIGZhc3RlciB3YXkgdG8gZGV0ZXJtaW5lIHdoaWNoIGludGVyc2VjdGlvbiB0byB1
c2U/CisgIGlmIChkeDAgKiBkeDAgKyBkeTAgKiBkeTAgPiBkeDEgKiBkeDEgKyBkeTEgKiBkeTEp
IGN4MCA9IGN4MSwgY3kwID0gY3kxOworCisgIHJldHVybiB7CisgICAgY3g6IGN4MCwKKyAgICBj
eTogY3kwLAorICAgIHgwMTogLW94LAorICAgIHkwMTogLW95LAorICAgIHgxMTogY3gwICogKHIx
IC8gciAtIDEpLAorICAgIHkxMTogY3kwICogKHIxIC8gciAtIDEpCisgIH07Cit9CisKK2Z1bmN0
aW9uIGFyYygpIHsKKyAgdmFyIGlubmVyUmFkaXVzID0gYXJjSW5uZXJSYWRpdXMsCisgICAgICBv
dXRlclJhZGl1cyA9IGFyY091dGVyUmFkaXVzLAorICAgICAgY29ybmVyUmFkaXVzID0gY29uc3Rh
bnQkYigwKSwKKyAgICAgIHBhZFJhZGl1cyA9IG51bGwsCisgICAgICBzdGFydEFuZ2xlID0gYXJj
U3RhcnRBbmdsZSwKKyAgICAgIGVuZEFuZ2xlID0gYXJjRW5kQW5nbGUsCisgICAgICBwYWRBbmds
ZSA9IGFyY1BhZEFuZ2xlLAorICAgICAgY29udGV4dCA9IG51bGw7CisKKyAgZnVuY3Rpb24gYXJj
KCkgeworICAgIHZhciBidWZmZXIsCisgICAgICAgIHIsCisgICAgICAgIHIwID0gK2lubmVyUmFk
aXVzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksCisgICAgICAgIHIxID0gK291dGVyUmFkaXVzLmFw
cGx5KHRoaXMsIGFyZ3VtZW50cyksCisgICAgICAgIGEwID0gc3RhcnRBbmdsZS5hcHBseSh0aGlz
LCBhcmd1bWVudHMpIC0gaGFsZlBpJDMsCisgICAgICAgIGExID0gZW5kQW5nbGUuYXBwbHkodGhp
cywgYXJndW1lbnRzKSAtIGhhbGZQaSQzLAorICAgICAgICBkYSA9IGFicyQxKGExIC0gYTApLAor
ICAgICAgICBjdyA9IGExID4gYTA7CisKKyAgICBpZiAoIWNvbnRleHQpIGNvbnRleHQgPSBidWZm
ZXIgPSBwYXRoKCk7CisKKyAgICAvLyBFbnN1cmUgdGhhdCB0aGUgb3V0ZXIgcmFkaXVzIGlzIGFs
d2F5cyBsYXJnZXIgdGhhbiB0aGUgaW5uZXIgcmFkaXVzLgorICAgIGlmIChyMSA8IHIwKSByID0g
cjEsIHIxID0gcjAsIHIwID0gcjsKKworICAgIC8vIElzIGl0IGEgcG9pbnQ/CisgICAgaWYgKCEo
cjEgPiBlcHNpbG9uJDMpKSBjb250ZXh0Lm1vdmVUbygwLCAwKTsKKworICAgIC8vIE9yIGlzIGl0
IGEgY2lyY2xlIG9yIGFubnVsdXM/CisgICAgZWxzZSBpZiAoZGEgPiB0YXUkNCAtIGVwc2lsb24k
MykgeworICAgICAgY29udGV4dC5tb3ZlVG8ocjEgKiBjb3MkMihhMCksIHIxICogc2luJDIoYTAp
KTsKKyAgICAgIGNvbnRleHQuYXJjKDAsIDAsIHIxLCBhMCwgYTEsICFjdyk7CisgICAgICBpZiAo
cjAgPiBlcHNpbG9uJDMpIHsKKyAgICAgICAgY29udGV4dC5tb3ZlVG8ocjAgKiBjb3MkMihhMSks
IHIwICogc2luJDIoYTEpKTsKKyAgICAgICAgY29udGV4dC5hcmMoMCwgMCwgcjAsIGExLCBhMCwg
Y3cpOworICAgICAgfQorICAgIH0KKworICAgIC8vIE9yIGlzIGl0IGEgY2lyY3VsYXIgb3IgYW5u
dWxhciBzZWN0b3I/CisgICAgZWxzZSB7CisgICAgICB2YXIgYTAxID0gYTAsCisgICAgICAgICAg
YTExID0gYTEsCisgICAgICAgICAgYTAwID0gYTAsCisgICAgICAgICAgYTEwID0gYTEsCisgICAg
ICAgICAgZGEwID0gZGEsCisgICAgICAgICAgZGExID0gZGEsCisgICAgICAgICAgYXAgPSBwYWRB
bmdsZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpIC8gMiwKKyAgICAgICAgICBycCA9IChhcCA+IGVw
c2lsb24kMykgJiYgKHBhZFJhZGl1cyA/ICtwYWRSYWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRz
KSA6IHNxcnQkMihyMCAqIHIwICsgcjEgKiByMSkpLAorICAgICAgICAgIHJjID0gbWluJDEoYWJz
JDEocjEgLSByMCkgLyAyLCArY29ybmVyUmFkaXVzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpLAor
ICAgICAgICAgIHJjMCA9IHJjLAorICAgICAgICAgIHJjMSA9IHJjLAorICAgICAgICAgIHQwLAor
ICAgICAgICAgIHQxOworCisgICAgICAvLyBBcHBseSBwYWRkaW5nPyBOb3RlIHRoYXQgc2luY2Ug
cjEg4omlIHIwLCBkYTEg4omlIGRhMC4KKyAgICAgIGlmIChycCA+IGVwc2lsb24kMykgeworICAg
ICAgICB2YXIgcDAgPSBhc2luJDEocnAgLyByMCAqIHNpbiQyKGFwKSksCisgICAgICAgICAgICBw
MSA9IGFzaW4kMShycCAvIHIxICogc2luJDIoYXApKTsKKyAgICAgICAgaWYgKChkYTAgLT0gcDAg
KiAyKSA+IGVwc2lsb24kMykgcDAgKj0gKGN3ID8gMSA6IC0xKSwgYTAwICs9IHAwLCBhMTAgLT0g
cDA7CisgICAgICAgIGVsc2UgZGEwID0gMCwgYTAwID0gYTEwID0gKGEwICsgYTEpIC8gMjsKKyAg
ICAgICAgaWYgKChkYTEgLT0gcDEgKiAyKSA+IGVwc2lsb24kMykgcDEgKj0gKGN3ID8gMSA6IC0x
KSwgYTAxICs9IHAxLCBhMTEgLT0gcDE7CisgICAgICAgIGVsc2UgZGExID0gMCwgYTAxID0gYTEx
ID0gKGEwICsgYTEpIC8gMjsKKyAgICAgIH0KKworICAgICAgdmFyIHgwMSA9IHIxICogY29zJDIo
YTAxKSwKKyAgICAgICAgICB5MDEgPSByMSAqIHNpbiQyKGEwMSksCisgICAgICAgICAgeDEwID0g
cjAgKiBjb3MkMihhMTApLAorICAgICAgICAgIHkxMCA9IHIwICogc2luJDIoYTEwKTsKKworICAg
ICAgLy8gQXBwbHkgcm91bmRlZCBjb3JuZXJzPworICAgICAgaWYgKHJjID4gZXBzaWxvbiQzKSB7
CisgICAgICAgIHZhciB4MTEgPSByMSAqIGNvcyQyKGExMSksCisgICAgICAgICAgICB5MTEgPSBy
MSAqIHNpbiQyKGExMSksCisgICAgICAgICAgICB4MDAgPSByMCAqIGNvcyQyKGEwMCksCisgICAg
ICAgICAgICB5MDAgPSByMCAqIHNpbiQyKGEwMCksCisgICAgICAgICAgICBvYzsKKworICAgICAg
ICAvLyBSZXN0cmljdCB0aGUgY29ybmVyIHJhZGl1cyBhY2NvcmRpbmcgdG8gdGhlIHNlY3RvciBh
bmdsZS4KKyAgICAgICAgaWYgKGRhIDwgcGkkNCAmJiAob2MgPSBpbnRlcnNlY3QoeDAxLCB5MDEs
IHgwMCwgeTAwLCB4MTEsIHkxMSwgeDEwLCB5MTApKSkgeworICAgICAgICAgIHZhciBheCA9IHgw
MSAtIG9jWzBdLAorICAgICAgICAgICAgICBheSA9IHkwMSAtIG9jWzFdLAorICAgICAgICAgICAg
ICBieCA9IHgxMSAtIG9jWzBdLAorICAgICAgICAgICAgICBieSA9IHkxMSAtIG9jWzFdLAorICAg
ICAgICAgICAgICBrYyA9IDEgLyBzaW4kMihhY29zJDEoKGF4ICogYnggKyBheSAqIGJ5KSAvIChz
cXJ0JDIoYXggKiBheCArIGF5ICogYXkpICogc3FydCQyKGJ4ICogYnggKyBieSAqIGJ5KSkpIC8g
MiksCisgICAgICAgICAgICAgIGxjID0gc3FydCQyKG9jWzBdICogb2NbMF0gKyBvY1sxXSAqIG9j
WzFdKTsKKyAgICAgICAgICByYzAgPSBtaW4kMShyYywgKHIwIC0gbGMpIC8gKGtjIC0gMSkpOwor
ICAgICAgICAgIHJjMSA9IG1pbiQxKHJjLCAocjEgLSBsYykgLyAoa2MgKyAxKSk7CisgICAgICAg
IH0KKyAgICAgIH0KKworICAgICAgLy8gSXMgdGhlIHNlY3RvciBjb2xsYXBzZWQgdG8gYSBsaW5l
PworICAgICAgaWYgKCEoZGExID4gZXBzaWxvbiQzKSkgY29udGV4dC5tb3ZlVG8oeDAxLCB5MDEp
OworCisgICAgICAvLyBEb2VzIHRoZSBzZWN0b3LigJlzIG91dGVyIHJpbmcgaGF2ZSByb3VuZGVk
IGNvcm5lcnM/CisgICAgICBlbHNlIGlmIChyYzEgPiBlcHNpbG9uJDMpIHsKKyAgICAgICAgdDAg
PSBjb3JuZXJUYW5nZW50cyh4MDAsIHkwMCwgeDAxLCB5MDEsIHIxLCByYzEsIGN3KTsKKyAgICAg
ICAgdDEgPSBjb3JuZXJUYW5nZW50cyh4MTEsIHkxMSwgeDEwLCB5MTAsIHIxLCByYzEsIGN3KTsK
KworICAgICAgICBjb250ZXh0Lm1vdmVUbyh0MC5jeCArIHQwLngwMSwgdDAuY3kgKyB0MC55MDEp
OworCisgICAgICAgIC8vIEhhdmUgdGhlIGNvcm5lcnMgbWVyZ2VkPworICAgICAgICBpZiAocmMx
IDwgcmMpIGNvbnRleHQuYXJjKHQwLmN4LCB0MC5jeSwgcmMxLCBhdGFuMiQxKHQwLnkwMSwgdDAu
eDAxKSwgYXRhbjIkMSh0MS55MDEsIHQxLngwMSksICFjdyk7CisKKyAgICAgICAgLy8gT3RoZXJ3
aXNlLCBkcmF3IHRoZSB0d28gY29ybmVycyBhbmQgdGhlIHJpbmcuCisgICAgICAgIGVsc2Ugewor
ICAgICAgICAgIGNvbnRleHQuYXJjKHQwLmN4LCB0MC5jeSwgcmMxLCBhdGFuMiQxKHQwLnkwMSwg
dDAueDAxKSwgYXRhbjIkMSh0MC55MTEsIHQwLngxMSksICFjdyk7CisgICAgICAgICAgY29udGV4
dC5hcmMoMCwgMCwgcjEsIGF0YW4yJDEodDAuY3kgKyB0MC55MTEsIHQwLmN4ICsgdDAueDExKSwg
YXRhbjIkMSh0MS5jeSArIHQxLnkxMSwgdDEuY3ggKyB0MS54MTEpLCAhY3cpOworICAgICAgICAg
IGNvbnRleHQuYXJjKHQxLmN4LCB0MS5jeSwgcmMxLCBhdGFuMiQxKHQxLnkxMSwgdDEueDExKSwg
YXRhbjIkMSh0MS55MDEsIHQxLngwMSksICFjdyk7CisgICAgICAgIH0KKyAgICAgIH0KKworICAg
ICAgLy8gT3IgaXMgdGhlIG91dGVyIHJpbmcganVzdCBhIGNpcmN1bGFyIGFyYz8KKyAgICAgIGVs
c2UgY29udGV4dC5tb3ZlVG8oeDAxLCB5MDEpLCBjb250ZXh0LmFyYygwLCAwLCByMSwgYTAxLCBh
MTEsICFjdyk7CisKKyAgICAgIC8vIElzIHRoZXJlIG5vIGlubmVyIHJpbmcsIGFuZCBpdOKAmXMg
YSBjaXJjdWxhciBzZWN0b3I/CisgICAgICAvLyBPciBwZXJoYXBzIGl04oCZcyBhbiBhbm51bGFy
IHNlY3RvciBjb2xsYXBzZWQgZHVlIHRvIHBhZGRpbmc/CisgICAgICBpZiAoIShyMCA+IGVwc2ls
b24kMykgfHwgIShkYTAgPiBlcHNpbG9uJDMpKSBjb250ZXh0LmxpbmVUbyh4MTAsIHkxMCk7CisK
KyAgICAgIC8vIERvZXMgdGhlIHNlY3RvcuKAmXMgaW5uZXIgcmluZyAob3IgcG9pbnQpIGhhdmUg
cm91bmRlZCBjb3JuZXJzPworICAgICAgZWxzZSBpZiAocmMwID4gZXBzaWxvbiQzKSB7CisgICAg
ICAgIHQwID0gY29ybmVyVGFuZ2VudHMoeDEwLCB5MTAsIHgxMSwgeTExLCByMCwgLXJjMCwgY3cp
OworICAgICAgICB0MSA9IGNvcm5lclRhbmdlbnRzKHgwMSwgeTAxLCB4MDAsIHkwMCwgcjAsIC1y
YzAsIGN3KTsKKworICAgICAgICBjb250ZXh0LmxpbmVUbyh0MC5jeCArIHQwLngwMSwgdDAuY3kg
KyB0MC55MDEpOworCisgICAgICAgIC8vIEhhdmUgdGhlIGNvcm5lcnMgbWVyZ2VkPworICAgICAg
ICBpZiAocmMwIDwgcmMpIGNvbnRleHQuYXJjKHQwLmN4LCB0MC5jeSwgcmMwLCBhdGFuMiQxKHQw
LnkwMSwgdDAueDAxKSwgYXRhbjIkMSh0MS55MDEsIHQxLngwMSksICFjdyk7CisKKyAgICAgICAg
Ly8gT3RoZXJ3aXNlLCBkcmF3IHRoZSB0d28gY29ybmVycyBhbmQgdGhlIHJpbmcuCisgICAgICAg
IGVsc2UgeworICAgICAgICAgIGNvbnRleHQuYXJjKHQwLmN4LCB0MC5jeSwgcmMwLCBhdGFuMiQx
KHQwLnkwMSwgdDAueDAxKSwgYXRhbjIkMSh0MC55MTEsIHQwLngxMSksICFjdyk7CisgICAgICAg
ICAgY29udGV4dC5hcmMoMCwgMCwgcjAsIGF0YW4yJDEodDAuY3kgKyB0MC55MTEsIHQwLmN4ICsg
dDAueDExKSwgYXRhbjIkMSh0MS5jeSArIHQxLnkxMSwgdDEuY3ggKyB0MS54MTEpLCBjdyk7Cisg
ICAgICAgICAgY29udGV4dC5hcmModDEuY3gsIHQxLmN5LCByYzAsIGF0YW4yJDEodDEueTExLCB0
MS54MTEpLCBhdGFuMiQxKHQxLnkwMSwgdDEueDAxKSwgIWN3KTsKKyAgICAgICAgfQorICAgICAg
fQorCisgICAgICAvLyBPciBpcyB0aGUgaW5uZXIgcmluZyBqdXN0IGEgY2lyY3VsYXIgYXJjPwor
ICAgICAgZWxzZSBjb250ZXh0LmFyYygwLCAwLCByMCwgYTEwLCBhMDAsIGN3KTsKKyAgICB9CisK
KyAgICBjb250ZXh0LmNsb3NlUGF0aCgpOworCisgICAgaWYgKGJ1ZmZlcikgcmV0dXJuIGNvbnRl
eHQgPSBudWxsLCBidWZmZXIgKyAiIiB8fCBudWxsOworICB9CisKKyAgYXJjLmNlbnRyb2lkID0g
ZnVuY3Rpb24oKSB7CisgICAgdmFyIHIgPSAoK2lubmVyUmFkaXVzLmFwcGx5KHRoaXMsIGFyZ3Vt
ZW50cykgKyArb3V0ZXJSYWRpdXMuYXBwbHkodGhpcywgYXJndW1lbnRzKSkgLyAyLAorICAgICAg
ICBhID0gKCtzdGFydEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgKyArZW5kQW5nbGUuYXBw
bHkodGhpcywgYXJndW1lbnRzKSkgLyAyIC0gcGkkNCAvIDI7CisgICAgcmV0dXJuIFtjb3MkMihh
KSAqIHIsIHNpbiQyKGEpICogcl07CisgIH07CisKKyAgYXJjLmlubmVyUmFkaXVzID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGlubmVyUmFkaXVzID0gdHlw
ZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIGFyYykgOiBpbm5lclJh
ZGl1czsKKyAgfTsKKworICBhcmMub3V0ZXJSYWRpdXMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0
dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAob3V0ZXJSYWRpdXMgPSB0eXBlb2YgXyA9PT0gImZ1bmN0
aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgYXJjKSA6IG91dGVyUmFkaXVzOworICB9OworCisg
IGFyYy5jb3JuZXJSYWRpdXMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoY29ybmVyUmFkaXVzID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29u
c3RhbnQkYigrXyksIGFyYykgOiBjb3JuZXJSYWRpdXM7CisgIH07CisKKyAgYXJjLnBhZFJhZGl1
cyA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRSYWRp
dXMgPSBfID09IG51bGwgPyBudWxsIDogdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29u
c3RhbnQkYigrXyksIGFyYykgOiBwYWRSYWRpdXM7CisgIH07CisKKyAgYXJjLnN0YXJ0QW5nbGUg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc3RhcnRBbmds
ZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBhcmMpIDog
c3RhcnRBbmdsZTsKKyAgfTsKKworICBhcmMuZW5kQW5nbGUgPSBmdW5jdGlvbihfKSB7CisgICAg
cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZW5kQW5nbGUgPSB0eXBlb2YgXyA9PT0gImZ1bmN0
aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgYXJjKSA6IGVuZEFuZ2xlOworICB9OworCisgIGFy
Yy5wYWRBbmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
IChwYWRBbmdsZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18p
LCBhcmMpIDogcGFkQW5nbGU7CisgIH07CisKKyAgYXJjLmNvbnRleHQgPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoKGNvbnRleHQgPSBfID09IG51bGwgPyBu
dWxsIDogXyksIGFyYykgOiBjb250ZXh0OworICB9OworCisgIHJldHVybiBhcmM7Cit9CisKK2Z1
bmN0aW9uIExpbmVhcihjb250ZXh0KSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworfQor
CitMaW5lYXIucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRo
aXMuX2xpbmUgPSAwOworICB9LAorICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9s
aW5lID0gTmFOOworICB9LAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3Bv
aW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgaWYgKHRoaXMuX2xp
bmUgfHwgKHRoaXMuX2xpbmUgIT09IDAgJiYgdGhpcy5fcG9pbnQgPT09IDEpKSB0aGlzLl9jb250
ZXh0LmNsb3NlUGF0aCgpOworICAgIHRoaXMuX2xpbmUgPSAxIC0gdGhpcy5fbGluZTsKKyAgfSwK
KyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0gK3gsIHkgPSAreTsKKyAgICBzd2l0
Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3BvaW50ID0gMTsgdGhpcy5f
bGluZSA/IHRoaXMuX2NvbnRleHQubGluZVRvKHgsIHkpIDogdGhpcy5fY29udGV4dC5tb3ZlVG8o
eCwgeSk7IGJyZWFrOworICAgICAgY2FzZSAxOiB0aGlzLl9wb2ludCA9IDI7IC8vIHByb2NlZWQK
KyAgICAgIGRlZmF1bHQ6IHRoaXMuX2NvbnRleHQubGluZVRvKHgsIHkpOyBicmVhazsKKyAgICB9
CisgIH0KK307CisKK2Z1bmN0aW9uIGN1cnZlTGluZWFyKGNvbnRleHQpIHsKKyAgcmV0dXJuIG5l
dyBMaW5lYXIoY29udGV4dCk7Cit9CisKK2Z1bmN0aW9uIHgkMyhwKSB7CisgIHJldHVybiBwWzBd
OworfQorCitmdW5jdGlvbiB5JDMocCkgeworICByZXR1cm4gcFsxXTsKK30KKworZnVuY3Rpb24g
bGluZSgpIHsKKyAgdmFyIHggPSB4JDMsCisgICAgICB5ID0geSQzLAorICAgICAgZGVmaW5lZCA9
IGNvbnN0YW50JGIodHJ1ZSksCisgICAgICBjb250ZXh0ID0gbnVsbCwKKyAgICAgIGN1cnZlID0g
Y3VydmVMaW5lYXIsCisgICAgICBvdXRwdXQgPSBudWxsOworCisgIGZ1bmN0aW9uIGxpbmUoZGF0
YSkgeworICAgIHZhciBpLAorICAgICAgICBuID0gZGF0YS5sZW5ndGgsCisgICAgICAgIGQsCisg
ICAgICAgIGRlZmluZWQwID0gZmFsc2UsCisgICAgICAgIGJ1ZmZlcjsKKworICAgIGlmIChjb250
ZXh0ID09IG51bGwpIG91dHB1dCA9IGN1cnZlKGJ1ZmZlciA9IHBhdGgoKSk7CisKKyAgICBmb3Ig
KGkgPSAwOyBpIDw9IG47ICsraSkgeworICAgICAgaWYgKCEoaSA8IG4gJiYgZGVmaW5lZChkID0g
ZGF0YVtpXSwgaSwgZGF0YSkpID09PSBkZWZpbmVkMCkgeworICAgICAgICBpZiAoZGVmaW5lZDAg
PSAhZGVmaW5lZDApIG91dHB1dC5saW5lU3RhcnQoKTsKKyAgICAgICAgZWxzZSBvdXRwdXQubGlu
ZUVuZCgpOworICAgICAgfQorICAgICAgaWYgKGRlZmluZWQwKSBvdXRwdXQucG9pbnQoK3goZCwg
aSwgZGF0YSksICt5KGQsIGksIGRhdGEpKTsKKyAgICB9CisKKyAgICBpZiAoYnVmZmVyKSByZXR1
cm4gb3V0cHV0ID0gbnVsbCwgYnVmZmVyICsgIiIgfHwgbnVsbDsKKyAgfQorCisgIGxpbmUueCA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4ID0gdHlwZW9m
IF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIGxpbmUpIDogeDsKKyAgfTsK
KworICBsaW5lLnkgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PyAoeSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBsaW5l
KSA6IHk7CisgIH07CisKKyAgbGluZS5kZWZpbmVkID0gZnVuY3Rpb24oXykgeworICAgIHJldHVy
biBhcmd1bWVudHMubGVuZ3RoID8gKGRlZmluZWQgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/
IF8gOiBjb25zdGFudCRiKCEhXyksIGxpbmUpIDogZGVmaW5lZDsKKyAgfTsKKworICBsaW5lLmN1
cnZlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGN1cnZl
ID0gXywgY29udGV4dCAhPSBudWxsICYmIChvdXRwdXQgPSBjdXJ2ZShjb250ZXh0KSksIGxpbmUp
IDogY3VydmU7CisgIH07CisKKyAgbGluZS5jb250ZXh0ID0gZnVuY3Rpb24oXykgeworICAgIHJl
dHVybiBhcmd1bWVudHMubGVuZ3RoID8gKF8gPT0gbnVsbCA/IGNvbnRleHQgPSBvdXRwdXQgPSBu
dWxsIDogb3V0cHV0ID0gY3VydmUoY29udGV4dCA9IF8pLCBsaW5lKSA6IGNvbnRleHQ7CisgIH07
CisKKyAgcmV0dXJuIGxpbmU7Cit9CisKK2Z1bmN0aW9uIGFyZWEkMygpIHsKKyAgdmFyIHgwID0g
eCQzLAorICAgICAgeDEgPSBudWxsLAorICAgICAgeTAgPSBjb25zdGFudCRiKDApLAorICAgICAg
eTEgPSB5JDMsCisgICAgICBkZWZpbmVkID0gY29uc3RhbnQkYih0cnVlKSwKKyAgICAgIGNvbnRl
eHQgPSBudWxsLAorICAgICAgY3VydmUgPSBjdXJ2ZUxpbmVhciwKKyAgICAgIG91dHB1dCA9IG51
bGw7CisKKyAgZnVuY3Rpb24gYXJlYShkYXRhKSB7CisgICAgdmFyIGksCisgICAgICAgIGosCisg
ICAgICAgIGssCisgICAgICAgIG4gPSBkYXRhLmxlbmd0aCwKKyAgICAgICAgZCwKKyAgICAgICAg
ZGVmaW5lZDAgPSBmYWxzZSwKKyAgICAgICAgYnVmZmVyLAorICAgICAgICB4MHogPSBuZXcgQXJy
YXkobiksCisgICAgICAgIHkweiA9IG5ldyBBcnJheShuKTsKKworICAgIGlmIChjb250ZXh0ID09
IG51bGwpIG91dHB1dCA9IGN1cnZlKGJ1ZmZlciA9IHBhdGgoKSk7CisKKyAgICBmb3IgKGkgPSAw
OyBpIDw9IG47ICsraSkgeworICAgICAgaWYgKCEoaSA8IG4gJiYgZGVmaW5lZChkID0gZGF0YVtp
XSwgaSwgZGF0YSkpID09PSBkZWZpbmVkMCkgeworICAgICAgICBpZiAoZGVmaW5lZDAgPSAhZGVm
aW5lZDApIHsKKyAgICAgICAgICBqID0gaTsKKyAgICAgICAgICBvdXRwdXQuYXJlYVN0YXJ0KCk7
CisgICAgICAgICAgb3V0cHV0LmxpbmVTdGFydCgpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgIG91dHB1dC5saW5lRW5kKCk7CisgICAgICAgICAgb3V0cHV0LmxpbmVTdGFydCgpOworICAg
ICAgICAgIGZvciAoayA9IGkgLSAxOyBrID49IGo7IC0taykgeworICAgICAgICAgICAgb3V0cHV0
LnBvaW50KHgweltrXSwgeTB6W2tdKTsKKyAgICAgICAgICB9CisgICAgICAgICAgb3V0cHV0Lmxp
bmVFbmQoKTsKKyAgICAgICAgICBvdXRwdXQuYXJlYUVuZCgpOworICAgICAgICB9CisgICAgICB9
CisgICAgICBpZiAoZGVmaW5lZDApIHsKKyAgICAgICAgeDB6W2ldID0gK3gwKGQsIGksIGRhdGEp
LCB5MHpbaV0gPSAreTAoZCwgaSwgZGF0YSk7CisgICAgICAgIG91dHB1dC5wb2ludCh4MSA/ICt4
MShkLCBpLCBkYXRhKSA6IHgweltpXSwgeTEgPyAreTEoZCwgaSwgZGF0YSkgOiB5MHpbaV0pOwor
ICAgICAgfQorICAgIH0KKworICAgIGlmIChidWZmZXIpIHJldHVybiBvdXRwdXQgPSBudWxsLCBi
dWZmZXIgKyAiIiB8fCBudWxsOworICB9CisKKyAgZnVuY3Rpb24gYXJlYWxpbmUoKSB7CisgICAg
cmV0dXJuIGxpbmUoKS5kZWZpbmVkKGRlZmluZWQpLmN1cnZlKGN1cnZlKS5jb250ZXh0KGNvbnRl
eHQpOworICB9CisKKyAgYXJlYS54ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKHgwID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQk
YigrXyksIHgxID0gbnVsbCwgYXJlYSkgOiB4MDsKKyAgfTsKKworICBhcmVhLngwID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHgwID0gdHlwZW9mIF8gPT09
ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYigrXyksIGFyZWEpIDogeDA7CisgIH07CisKKyAg
YXJlYS54MSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4
MSA9IF8gPT0gbnVsbCA/IG51bGwgOiB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25z
dGFudCRiKCtfKSwgYXJlYSkgOiB4MTsKKyAgfTsKKworICBhcmVhLnkgPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeTAgPSB0eXBlb2YgXyA9PT0gImZ1bmN0
aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgeTEgPSBudWxsLCBhcmVhKSA6IHkwOworICB9Owor
CisgIGFyZWEueTAgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PyAoeTAgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgYXJl
YSkgOiB5MDsKKyAgfTsKKworICBhcmVhLnkxID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBh
cmd1bWVudHMubGVuZ3RoID8gKHkxID0gXyA9PSBudWxsID8gbnVsbCA6IHR5cGVvZiBfID09PSAi
ZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBhcmVhKSA6IHkxOworICB9OworCisgIGFy
ZWEubGluZVgwID0KKyAgYXJlYS5saW5lWTAgPSBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gYXJl
YWxpbmUoKS54KHgwKS55KHkwKTsKKyAgfTsKKworICBhcmVhLmxpbmVZMSA9IGZ1bmN0aW9uKCkg
eworICAgIHJldHVybiBhcmVhbGluZSgpLngoeDApLnkoeTEpOworICB9OworCisgIGFyZWEubGlu
ZVgxID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGFyZWFsaW5lKCkueCh4MSkueSh5MCk7Cisg
IH07CisKKyAgYXJlYS5kZWZpbmVkID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVu
dHMubGVuZ3RoID8gKGRlZmluZWQgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25z
dGFudCRiKCEhXyksIGFyZWEpIDogZGVmaW5lZDsKKyAgfTsKKworICBhcmVhLmN1cnZlID0gZnVu
Y3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGN1cnZlID0gXywgY29u
dGV4dCAhPSBudWxsICYmIChvdXRwdXQgPSBjdXJ2ZShjb250ZXh0KSksIGFyZWEpIDogY3VydmU7
CisgIH07CisKKyAgYXJlYS5jb250ZXh0ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1
bWVudHMubGVuZ3RoID8gKF8gPT0gbnVsbCA/IGNvbnRleHQgPSBvdXRwdXQgPSBudWxsIDogb3V0
cHV0ID0gY3VydmUoY29udGV4dCA9IF8pLCBhcmVhKSA6IGNvbnRleHQ7CisgIH07CisKKyAgcmV0
dXJuIGFyZWE7Cit9CisKK2Z1bmN0aW9uIGRlc2NlbmRpbmckMShhLCBiKSB7CisgIHJldHVybiBi
IDwgYSA/IC0xIDogYiA+IGEgPyAxIDogYiA+PSBhID8gMCA6IE5hTjsKK30KKworZnVuY3Rpb24g
aWRlbnRpdHkkOChkKSB7CisgIHJldHVybiBkOworfQorCitmdW5jdGlvbiBwaWUoKSB7CisgIHZh
ciB2YWx1ZSA9IGlkZW50aXR5JDgsCisgICAgICBzb3J0VmFsdWVzID0gZGVzY2VuZGluZyQxLAor
ICAgICAgc29ydCA9IG51bGwsCisgICAgICBzdGFydEFuZ2xlID0gY29uc3RhbnQkYigwKSwKKyAg
ICAgIGVuZEFuZ2xlID0gY29uc3RhbnQkYih0YXUkNCksCisgICAgICBwYWRBbmdsZSA9IGNvbnN0
YW50JGIoMCk7CisKKyAgZnVuY3Rpb24gcGllKGRhdGEpIHsKKyAgICB2YXIgaSwKKyAgICAgICAg
biA9IGRhdGEubGVuZ3RoLAorICAgICAgICBqLAorICAgICAgICBrLAorICAgICAgICBzdW0gPSAw
LAorICAgICAgICBpbmRleCA9IG5ldyBBcnJheShuKSwKKyAgICAgICAgYXJjcyA9IG5ldyBBcnJh
eShuKSwKKyAgICAgICAgYTAgPSArc3RhcnRBbmdsZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpLAor
ICAgICAgICBkYSA9IE1hdGgubWluKHRhdSQ0LCBNYXRoLm1heCgtdGF1JDQsIGVuZEFuZ2xlLmFw
cGx5KHRoaXMsIGFyZ3VtZW50cykgLSBhMCkpLAorICAgICAgICBhMSwKKyAgICAgICAgcCA9IE1h
dGgubWluKE1hdGguYWJzKGRhKSAvIG4sIHBhZEFuZ2xlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykp
LAorICAgICAgICBwYSA9IHAgKiAoZGEgPCAwID8gLTEgOiAxKSwKKyAgICAgICAgdjsKKworICAg
IGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmICgodiA9IGFyY3NbaW5kZXhbaV0g
PSBpXSA9ICt2YWx1ZShkYXRhW2ldLCBpLCBkYXRhKSkgPiAwKSB7CisgICAgICAgIHN1bSArPSB2
OworICAgICAgfQorICAgIH0KKworICAgIC8vIE9wdGlvbmFsbHkgc29ydCB0aGUgYXJjcyBieSBw
cmV2aW91c2x5LWNvbXB1dGVkIHZhbHVlcyBvciBieSBkYXRhLgorICAgIGlmIChzb3J0VmFsdWVz
ICE9IG51bGwpIGluZGV4LnNvcnQoZnVuY3Rpb24oaSwgaikgeyByZXR1cm4gc29ydFZhbHVlcyhh
cmNzW2ldLCBhcmNzW2pdKTsgfSk7CisgICAgZWxzZSBpZiAoc29ydCAhPSBudWxsKSBpbmRleC5z
b3J0KGZ1bmN0aW9uKGksIGopIHsgcmV0dXJuIHNvcnQoZGF0YVtpXSwgZGF0YVtqXSk7IH0pOwor
CisgICAgLy8gQ29tcHV0ZSB0aGUgYXJjcyEgVGhleSBhcmUgc3RvcmVkIGluIHRoZSBvcmlnaW5h
bCBkYXRhJ3Mgb3JkZXIuCisgICAgZm9yIChpID0gMCwgayA9IHN1bSA/IChkYSAtIG4gKiBwYSkg
LyBzdW0gOiAwOyBpIDwgbjsgKytpLCBhMCA9IGExKSB7CisgICAgICBqID0gaW5kZXhbaV0sIHYg
PSBhcmNzW2pdLCBhMSA9IGEwICsgKHYgPiAwID8gdiAqIGsgOiAwKSArIHBhLCBhcmNzW2pdID0g
eworICAgICAgICBkYXRhOiBkYXRhW2pdLAorICAgICAgICBpbmRleDogaSwKKyAgICAgICAgdmFs
dWU6IHYsCisgICAgICAgIHN0YXJ0QW5nbGU6IGEwLAorICAgICAgICBlbmRBbmdsZTogYTEsCisg
ICAgICAgIHBhZEFuZ2xlOiBwCisgICAgICB9OworICAgIH0KKworICAgIHJldHVybiBhcmNzOwor
ICB9CisKKyAgcGllLnZhbHVlID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMu
bGVuZ3RoID8gKHZhbHVlID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQk
YigrXyksIHBpZSkgOiB2YWx1ZTsKKyAgfTsKKworICBwaWUuc29ydFZhbHVlcyA9IGZ1bmN0aW9u
KF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzb3J0VmFsdWVzID0gXywgc29y
dCA9IG51bGwsIHBpZSkgOiBzb3J0VmFsdWVzOworICB9OworCisgIHBpZS5zb3J0ID0gZnVuY3Rp
b24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNvcnQgPSBfLCBzb3J0VmFs
dWVzID0gbnVsbCwgcGllKSA6IHNvcnQ7CisgIH07CisKKyAgcGllLnN0YXJ0QW5nbGUgPSBmdW5j
dGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc3RhcnRBbmdsZSA9IHR5
cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBwaWUpIDogc3RhcnRB
bmdsZTsKKyAgfTsKKworICBwaWUuZW5kQW5nbGUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJu
IGFyZ3VtZW50cy5sZW5ndGggPyAoZW5kQW5nbGUgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/
IF8gOiBjb25zdGFudCRiKCtfKSwgcGllKSA6IGVuZEFuZ2xlOworICB9OworCisgIHBpZS5wYWRB
bmdsZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChwYWRB
bmdsZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBwaWUp
IDogcGFkQW5nbGU7CisgIH07CisKKyAgcmV0dXJuIHBpZTsKK30KKwordmFyIGN1cnZlUmFkaWFs
TGluZWFyID0gY3VydmVSYWRpYWwoY3VydmVMaW5lYXIpOworCitmdW5jdGlvbiBSYWRpYWwoY3Vy
dmUpIHsKKyAgdGhpcy5fY3VydmUgPSBjdXJ2ZTsKK30KKworUmFkaWFsLnByb3RvdHlwZSA9IHsK
KyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9jdXJ2ZS5hcmVhU3RhcnQoKTsK
KyAgfSwKKyAgYXJlYUVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fY3VydmUuYXJlYUVuZCgp
OworICB9LAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2N1cnZlLmxpbmVT
dGFydCgpOworICB9LAorICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9jdXJ2ZS5s
aW5lRW5kKCk7CisgIH0sCisgIHBvaW50OiBmdW5jdGlvbihhLCByKSB7CisgICAgdGhpcy5fY3Vy
dmUucG9pbnQociAqIE1hdGguc2luKGEpLCByICogLU1hdGguY29zKGEpKTsKKyAgfQorfTsKKwor
ZnVuY3Rpb24gY3VydmVSYWRpYWwoY3VydmUpIHsKKworICBmdW5jdGlvbiByYWRpYWwoY29udGV4
dCkgeworICAgIHJldHVybiBuZXcgUmFkaWFsKGN1cnZlKGNvbnRleHQpKTsKKyAgfQorCisgIHJh
ZGlhbC5fY3VydmUgPSBjdXJ2ZTsKKworICByZXR1cm4gcmFkaWFsOworfQorCitmdW5jdGlvbiBs
aW5lUmFkaWFsKGwpIHsKKyAgdmFyIGMgPSBsLmN1cnZlOworCisgIGwuYW5nbGUgPSBsLngsIGRl
bGV0ZSBsLng7CisgIGwucmFkaXVzID0gbC55LCBkZWxldGUgbC55OworCisgIGwuY3VydmUgPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyBjKGN1cnZlUmFkaWFs
KF8pKSA6IGMoKS5fY3VydmU7CisgIH07CisKKyAgcmV0dXJuIGw7Cit9CisKK2Z1bmN0aW9uIGxp
bmVSYWRpYWwkMSgpIHsKKyAgcmV0dXJuIGxpbmVSYWRpYWwobGluZSgpLmN1cnZlKGN1cnZlUmFk
aWFsTGluZWFyKSk7Cit9CisKK2Z1bmN0aW9uIGFyZWFSYWRpYWwoKSB7CisgIHZhciBhID0gYXJl
YSQzKCkuY3VydmUoY3VydmVSYWRpYWxMaW5lYXIpLAorICAgICAgYyA9IGEuY3VydmUsCisgICAg
ICB4MCA9IGEubGluZVgwLAorICAgICAgeDEgPSBhLmxpbmVYMSwKKyAgICAgIHkwID0gYS5saW5l
WTAsCisgICAgICB5MSA9IGEubGluZVkxOworCisgIGEuYW5nbGUgPSBhLngsIGRlbGV0ZSBhLng7
CisgIGEuc3RhcnRBbmdsZSA9IGEueDAsIGRlbGV0ZSBhLngwOworICBhLmVuZEFuZ2xlID0gYS54
MSwgZGVsZXRlIGEueDE7CisgIGEucmFkaXVzID0gYS55LCBkZWxldGUgYS55OworICBhLmlubmVy
UmFkaXVzID0gYS55MCwgZGVsZXRlIGEueTA7CisgIGEub3V0ZXJSYWRpdXMgPSBhLnkxLCBkZWxl
dGUgYS55MTsKKyAgYS5saW5lU3RhcnRBbmdsZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gbGluZVJh
ZGlhbCh4MCgpKTsgfSwgZGVsZXRlIGEubGluZVgwOworICBhLmxpbmVFbmRBbmdsZSA9IGZ1bmN0
aW9uKCkgeyByZXR1cm4gbGluZVJhZGlhbCh4MSgpKTsgfSwgZGVsZXRlIGEubGluZVgxOworICBh
LmxpbmVJbm5lclJhZGl1cyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gbGluZVJhZGlhbCh5MCgpKTsg
fSwgZGVsZXRlIGEubGluZVkwOworICBhLmxpbmVPdXRlclJhZGl1cyA9IGZ1bmN0aW9uKCkgeyBy
ZXR1cm4gbGluZVJhZGlhbCh5MSgpKTsgfSwgZGVsZXRlIGEubGluZVkxOworCisgIGEuY3VydmUg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyBjKGN1cnZlUmFk
aWFsKF8pKSA6IGMoKS5fY3VydmU7CisgIH07CisKKyAgcmV0dXJuIGE7Cit9CisKK2Z1bmN0aW9u
IHBvaW50UmFkaWFsKHgsIHkpIHsKKyAgcmV0dXJuIFsoeSA9ICt5KSAqIE1hdGguY29zKHggLT0g
TWF0aC5QSSAvIDIpLCB5ICogTWF0aC5zaW4oeCldOworfQorCit2YXIgc2xpY2UkNiA9IEFycmF5
LnByb3RvdHlwZS5zbGljZTsKKworZnVuY3Rpb24gbGlua1NvdXJjZShkKSB7CisgIHJldHVybiBk
LnNvdXJjZTsKK30KKworZnVuY3Rpb24gbGlua1RhcmdldChkKSB7CisgIHJldHVybiBkLnRhcmdl
dDsKK30KKworZnVuY3Rpb24gbGluayQyKGN1cnZlKSB7CisgIHZhciBzb3VyY2UgPSBsaW5rU291
cmNlLAorICAgICAgdGFyZ2V0ID0gbGlua1RhcmdldCwKKyAgICAgIHggPSB4JDMsCisgICAgICB5
ID0geSQzLAorICAgICAgY29udGV4dCA9IG51bGw7CisKKyAgZnVuY3Rpb24gbGluaygpIHsKKyAg
ICB2YXIgYnVmZmVyLCBhcmd2ID0gc2xpY2UkNi5jYWxsKGFyZ3VtZW50cyksIHMgPSBzb3VyY2Uu
YXBwbHkodGhpcywgYXJndiksIHQgPSB0YXJnZXQuYXBwbHkodGhpcywgYXJndik7CisgICAgaWYg
KCFjb250ZXh0KSBjb250ZXh0ID0gYnVmZmVyID0gcGF0aCgpOworICAgIGN1cnZlKGNvbnRleHQs
ICt4LmFwcGx5KHRoaXMsIChhcmd2WzBdID0gcywgYXJndikpLCAreS5hcHBseSh0aGlzLCBhcmd2
KSwgK3guYXBwbHkodGhpcywgKGFyZ3ZbMF0gPSB0LCBhcmd2KSksICt5LmFwcGx5KHRoaXMsIGFy
Z3YpKTsKKyAgICBpZiAoYnVmZmVyKSByZXR1cm4gY29udGV4dCA9IG51bGwsIGJ1ZmZlciArICIi
IHx8IG51bGw7CisgIH0KKworICBsaW5rLnNvdXJjZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aCA/IChzb3VyY2UgPSBfLCBsaW5rKSA6IHNvdXJjZTsKKyAgfTsK
KworICBsaW5rLnRhcmdldCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxl
bmd0aCA/ICh0YXJnZXQgPSBfLCBsaW5rKSA6IHRhcmdldDsKKyAgfTsKKworICBsaW5rLnggPSBm
dW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeCA9IHR5cGVvZiBf
ID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBsaW5rKSA6IHg7CisgIH07CisK
KyAgbGluay55ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8g
KHkgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRiKCtfKSwgbGluaykg
OiB5OworICB9OworCisgIGxpbmsuY29udGV4dCA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/ICgoY29udGV4dCA9IF8gPT0gbnVsbCA/IG51bGwgOiBfKSwgbGlu
aykgOiBjb250ZXh0OworICB9OworCisgIHJldHVybiBsaW5rOworfQorCitmdW5jdGlvbiBjdXJ2
ZUhvcml6b250YWwoY29udGV4dCwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgY29udGV4dC5tb3ZlVG8o
eDAsIHkwKTsKKyAgY29udGV4dC5iZXppZXJDdXJ2ZVRvKHgwID0gKHgwICsgeDEpIC8gMiwgeTAs
IHgwLCB5MSwgeDEsIHkxKTsKK30KKworZnVuY3Rpb24gY3VydmVWZXJ0aWNhbChjb250ZXh0LCB4
MCwgeTAsIHgxLCB5MSkgeworICBjb250ZXh0Lm1vdmVUbyh4MCwgeTApOworICBjb250ZXh0LmJl
emllckN1cnZlVG8oeDAsIHkwID0gKHkwICsgeTEpIC8gMiwgeDEsIHkwLCB4MSwgeTEpOworfQor
CitmdW5jdGlvbiBjdXJ2ZVJhZGlhbCQxKGNvbnRleHQsIHgwLCB5MCwgeDEsIHkxKSB7CisgIHZh
ciBwMCA9IHBvaW50UmFkaWFsKHgwLCB5MCksCisgICAgICBwMSA9IHBvaW50UmFkaWFsKHgwLCB5
MCA9ICh5MCArIHkxKSAvIDIpLAorICAgICAgcDIgPSBwb2ludFJhZGlhbCh4MSwgeTApLAorICAg
ICAgcDMgPSBwb2ludFJhZGlhbCh4MSwgeTEpOworICBjb250ZXh0Lm1vdmVUbyhwMFswXSwgcDBb
MV0pOworICBjb250ZXh0LmJlemllckN1cnZlVG8ocDFbMF0sIHAxWzFdLCBwMlswXSwgcDJbMV0s
IHAzWzBdLCBwM1sxXSk7Cit9CisKK2Z1bmN0aW9uIGxpbmtIb3Jpem9udGFsKCkgeworICByZXR1
cm4gbGluayQyKGN1cnZlSG9yaXpvbnRhbCk7Cit9CisKK2Z1bmN0aW9uIGxpbmtWZXJ0aWNhbCgp
IHsKKyAgcmV0dXJuIGxpbmskMihjdXJ2ZVZlcnRpY2FsKTsKK30KKworZnVuY3Rpb24gbGlua1Jh
ZGlhbCgpIHsKKyAgdmFyIGwgPSBsaW5rJDIoY3VydmVSYWRpYWwkMSk7CisgIGwuYW5nbGUgPSBs
LngsIGRlbGV0ZSBsLng7CisgIGwucmFkaXVzID0gbC55LCBkZWxldGUgbC55OworICByZXR1cm4g
bDsKK30KKwordmFyIGNpcmNsZSQyID0geworICBkcmF3OiBmdW5jdGlvbihjb250ZXh0LCBzaXpl
KSB7CisgICAgdmFyIHIgPSBNYXRoLnNxcnQoc2l6ZSAvIHBpJDQpOworICAgIGNvbnRleHQubW92
ZVRvKHIsIDApOworICAgIGNvbnRleHQuYXJjKDAsIDAsIHIsIDAsIHRhdSQ0KTsKKyAgfQorfTsK
KwordmFyIGNyb3NzJDIgPSB7CisgIGRyYXc6IGZ1bmN0aW9uKGNvbnRleHQsIHNpemUpIHsKKyAg
ICB2YXIgciA9IE1hdGguc3FydChzaXplIC8gNSkgLyAyOworICAgIGNvbnRleHQubW92ZVRvKC0z
ICogciwgLXIpOworICAgIGNvbnRleHQubGluZVRvKC1yLCAtcik7CisgICAgY29udGV4dC5saW5l
VG8oLXIsIC0zICogcik7CisgICAgY29udGV4dC5saW5lVG8ociwgLTMgKiByKTsKKyAgICBjb250
ZXh0LmxpbmVUbyhyLCAtcik7CisgICAgY29udGV4dC5saW5lVG8oMyAqIHIsIC1yKTsKKyAgICBj
b250ZXh0LmxpbmVUbygzICogciwgcik7CisgICAgY29udGV4dC5saW5lVG8ociwgcik7CisgICAg
Y29udGV4dC5saW5lVG8ociwgMyAqIHIpOworICAgIGNvbnRleHQubGluZVRvKC1yLCAzICogcik7
CisgICAgY29udGV4dC5saW5lVG8oLXIsIHIpOworICAgIGNvbnRleHQubGluZVRvKC0zICogciwg
cik7CisgICAgY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgfQorfTsKKwordmFyIHRhbjMwID0gTWF0
aC5zcXJ0KDEgLyAzKSwKKyAgICB0YW4zMF8yID0gdGFuMzAgKiAyOworCit2YXIgZGlhbW9uZCA9
IHsKKyAgZHJhdzogZnVuY3Rpb24oY29udGV4dCwgc2l6ZSkgeworICAgIHZhciB5ID0gTWF0aC5z
cXJ0KHNpemUgLyB0YW4zMF8yKSwKKyAgICAgICAgeCA9IHkgKiB0YW4zMDsKKyAgICBjb250ZXh0
Lm1vdmVUbygwLCAteSk7CisgICAgY29udGV4dC5saW5lVG8oeCwgMCk7CisgICAgY29udGV4dC5s
aW5lVG8oMCwgeSk7CisgICAgY29udGV4dC5saW5lVG8oLXgsIDApOworICAgIGNvbnRleHQuY2xv
c2VQYXRoKCk7CisgIH0KK307CisKK3ZhciBrYSA9IDAuODkwODEzMDkxNTI5Mjg1MjI4MTAsCisg
ICAga3IgPSBNYXRoLnNpbihwaSQ0IC8gMTApIC8gTWF0aC5zaW4oNyAqIHBpJDQgLyAxMCksCisg
ICAga3ggPSBNYXRoLnNpbih0YXUkNCAvIDEwKSAqIGtyLAorICAgIGt5ID0gLU1hdGguY29zKHRh
dSQ0IC8gMTApICoga3I7CisKK3ZhciBzdGFyID0geworICBkcmF3OiBmdW5jdGlvbihjb250ZXh0
LCBzaXplKSB7CisgICAgdmFyIHIgPSBNYXRoLnNxcnQoc2l6ZSAqIGthKSwKKyAgICAgICAgeCA9
IGt4ICogciwKKyAgICAgICAgeSA9IGt5ICogcjsKKyAgICBjb250ZXh0Lm1vdmVUbygwLCAtcik7
CisgICAgY29udGV4dC5saW5lVG8oeCwgeSk7CisgICAgZm9yICh2YXIgaSA9IDE7IGkgPCA1OyAr
K2kpIHsKKyAgICAgIHZhciBhID0gdGF1JDQgKiBpIC8gNSwKKyAgICAgICAgICBjID0gTWF0aC5j
b3MoYSksCisgICAgICAgICAgcyA9IE1hdGguc2luKGEpOworICAgICAgY29udGV4dC5saW5lVG8o
cyAqIHIsIC1jICogcik7CisgICAgICBjb250ZXh0LmxpbmVUbyhjICogeCAtIHMgKiB5LCBzICog
eCArIGMgKiB5KTsKKyAgICB9CisgICAgY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgfQorfTsKKwor
dmFyIHNxdWFyZSA9IHsKKyAgZHJhdzogZnVuY3Rpb24oY29udGV4dCwgc2l6ZSkgeworICAgIHZh
ciB3ID0gTWF0aC5zcXJ0KHNpemUpLAorICAgICAgICB4ID0gLXcgLyAyOworICAgIGNvbnRleHQu
cmVjdCh4LCB4LCB3LCB3KTsKKyAgfQorfTsKKwordmFyIHNxcnQzID0gTWF0aC5zcXJ0KDMpOwor
Cit2YXIgdHJpYW5nbGUgPSB7CisgIGRyYXc6IGZ1bmN0aW9uKGNvbnRleHQsIHNpemUpIHsKKyAg
ICB2YXIgeSA9IC1NYXRoLnNxcnQoc2l6ZSAvIChzcXJ0MyAqIDMpKTsKKyAgICBjb250ZXh0Lm1v
dmVUbygwLCB5ICogMik7CisgICAgY29udGV4dC5saW5lVG8oLXNxcnQzICogeSwgLXkpOworICAg
IGNvbnRleHQubGluZVRvKHNxcnQzICogeSwgLXkpOworICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7
CisgIH0KK307CisKK3ZhciBjJDIgPSAtMC41LAorICAgIHMgPSBNYXRoLnNxcnQoMykgLyAyLAor
ICAgIGsgPSAxIC8gTWF0aC5zcXJ0KDEyKSwKKyAgICBhID0gKGsgLyAyICsgMSkgKiAzOworCit2
YXIgd3llID0geworICBkcmF3OiBmdW5jdGlvbihjb250ZXh0LCBzaXplKSB7CisgICAgdmFyIHIg
PSBNYXRoLnNxcnQoc2l6ZSAvIGEpLAorICAgICAgICB4MCA9IHIgLyAyLAorICAgICAgICB5MCA9
IHIgKiBrLAorICAgICAgICB4MSA9IHgwLAorICAgICAgICB5MSA9IHIgKiBrICsgciwKKyAgICAg
ICAgeDIgPSAteDEsCisgICAgICAgIHkyID0geTE7CisgICAgY29udGV4dC5tb3ZlVG8oeDAsIHkw
KTsKKyAgICBjb250ZXh0LmxpbmVUbyh4MSwgeTEpOworICAgIGNvbnRleHQubGluZVRvKHgyLCB5
Mik7CisgICAgY29udGV4dC5saW5lVG8oYyQyICogeDAgLSBzICogeTAsIHMgKiB4MCArIGMkMiAq
IHkwKTsKKyAgICBjb250ZXh0LmxpbmVUbyhjJDIgKiB4MSAtIHMgKiB5MSwgcyAqIHgxICsgYyQy
ICogeTEpOworICAgIGNvbnRleHQubGluZVRvKGMkMiAqIHgyIC0gcyAqIHkyLCBzICogeDIgKyBj
JDIgKiB5Mik7CisgICAgY29udGV4dC5saW5lVG8oYyQyICogeDAgKyBzICogeTAsIGMkMiAqIHkw
IC0gcyAqIHgwKTsKKyAgICBjb250ZXh0LmxpbmVUbyhjJDIgKiB4MSArIHMgKiB5MSwgYyQyICog
eTEgLSBzICogeDEpOworICAgIGNvbnRleHQubGluZVRvKGMkMiAqIHgyICsgcyAqIHkyLCBjJDIg
KiB5MiAtIHMgKiB4Mik7CisgICAgY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgfQorfTsKKwordmFy
IHN5bWJvbHMgPSBbCisgIGNpcmNsZSQyLAorICBjcm9zcyQyLAorICBkaWFtb25kLAorICBzcXVh
cmUsCisgIHN0YXIsCisgIHRyaWFuZ2xlLAorICB3eWUKK107CisKK2Z1bmN0aW9uIHN5bWJvbCgp
IHsKKyAgdmFyIHR5cGUgPSBjb25zdGFudCRiKGNpcmNsZSQyKSwKKyAgICAgIHNpemUgPSBjb25z
dGFudCRiKDY0KSwKKyAgICAgIGNvbnRleHQgPSBudWxsOworCisgIGZ1bmN0aW9uIHN5bWJvbCgp
IHsKKyAgICB2YXIgYnVmZmVyOworICAgIGlmICghY29udGV4dCkgY29udGV4dCA9IGJ1ZmZlciA9
IHBhdGgoKTsKKyAgICB0eXBlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykuZHJhdyhjb250ZXh0LCAr
c2l6ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTsKKyAgICBpZiAoYnVmZmVyKSByZXR1cm4gY29u
dGV4dCA9IG51bGwsIGJ1ZmZlciArICIiIHx8IG51bGw7CisgIH0KKworICBzeW1ib2wudHlwZSA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0eXBlID0gdHlw
ZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYihfKSwgc3ltYm9sKSA6IHR5cGU7
CisgIH07CisKKyAgc3ltYm9sLnNpemUgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3Vt
ZW50cy5sZW5ndGggPyAoc2l6ZSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0
YW50JGIoK18pLCBzeW1ib2wpIDogc2l6ZTsKKyAgfTsKKworICBzeW1ib2wuY29udGV4dCA9IGZ1
bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChjb250ZXh0ID0gXyA9
PSBudWxsID8gbnVsbCA6IF8sIHN5bWJvbCkgOiBjb250ZXh0OworICB9OworCisgIHJldHVybiBz
eW1ib2w7Cit9CisKK2Z1bmN0aW9uIG5vb3AkMygpIHt9CisKK2Z1bmN0aW9uIHBvaW50JDIodGhh
dCwgeCwgeSkgeworICB0aGF0Ll9jb250ZXh0LmJlemllckN1cnZlVG8oCisgICAgKDIgKiB0aGF0
Ll94MCArIHRoYXQuX3gxKSAvIDMsCisgICAgKDIgKiB0aGF0Ll95MCArIHRoYXQuX3kxKSAvIDMs
CisgICAgKHRoYXQuX3gwICsgMiAqIHRoYXQuX3gxKSAvIDMsCisgICAgKHRoYXQuX3kwICsgMiAq
IHRoYXQuX3kxKSAvIDMsCisgICAgKHRoYXQuX3gwICsgNCAqIHRoYXQuX3gxICsgeCkgLyA2LAor
ICAgICh0aGF0Ll95MCArIDQgKiB0aGF0Ll95MSArIHkpIC8gNgorICApOworfQorCitmdW5jdGlv
biBCYXNpcyhjb250ZXh0KSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworfQorCitCYXNp
cy5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGlu
ZSA9IDA7CisgIH0sCisgIGFyZWFFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSBO
YU47CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5feDAgPSB0aGlz
Ll94MSA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IE5hTjsKKyAgICB0aGlzLl9wb2ludCA9
IDA7CisgIH0sCisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHN3aXRjaCAodGhpcy5fcG9p
bnQpIHsKKyAgICAgIGNhc2UgMzogcG9pbnQkMih0aGlzLCB0aGlzLl94MSwgdGhpcy5feTEpOyAv
LyBwcm9jZWVkCisgICAgICBjYXNlIDI6IHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gxLCB0
aGlzLl95MSk7IGJyZWFrOworICAgIH0KKyAgICBpZiAodGhpcy5fbGluZSB8fCAodGhpcy5fbGlu
ZSAhPT0gMCAmJiB0aGlzLl9wb2ludCA9PT0gMSkpIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7
CisgICAgdGhpcy5fbGluZSA9IDEgLSB0aGlzLl9saW5lOworICB9LAorICBwb2ludDogZnVuY3Rp
b24oeCwgeSkgeworICAgIHggPSAreCwgeSA9ICt5OworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQp
IHsKKyAgICAgIGNhc2UgMDogdGhpcy5fcG9pbnQgPSAxOyB0aGlzLl9saW5lID8gdGhpcy5fY29u
dGV4dC5saW5lVG8oeCwgeSkgOiB0aGlzLl9jb250ZXh0Lm1vdmVUbyh4LCB5KTsgYnJlYWs7Cisg
ICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgYnJlYWs7CisgICAgICBjYXNlIDI6IHRoaXMu
X3BvaW50ID0gMzsgdGhpcy5fY29udGV4dC5saW5lVG8oKDUgKiB0aGlzLl94MCArIHRoaXMuX3gx
KSAvIDYsICg1ICogdGhpcy5feTAgKyB0aGlzLl95MSkgLyA2KTsgLy8gcHJvY2VlZAorICAgICAg
ZGVmYXVsdDogcG9pbnQkMih0aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorICAgIHRoaXMuX3gw
ID0gdGhpcy5feDEsIHRoaXMuX3gxID0geDsKKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxLCB0aGlz
Ll95MSA9IHk7CisgIH0KK307CisKK2Z1bmN0aW9uIGJhc2lzJDIoY29udGV4dCkgeworICByZXR1
cm4gbmV3IEJhc2lzKGNvbnRleHQpOworfQorCitmdW5jdGlvbiBCYXNpc0Nsb3NlZChjb250ZXh0
KSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworfQorCitCYXNpc0Nsb3NlZC5wcm90b3R5
cGUgPSB7CisgIGFyZWFTdGFydDogbm9vcCQzLAorICBhcmVhRW5kOiBub29wJDMsCisgIGxpbmVT
dGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSA9IHRoaXMuX3gyID0g
dGhpcy5feDMgPSB0aGlzLl94NCA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IHRoaXMuX3ky
ID0gdGhpcy5feTMgPSB0aGlzLl95NCA9IE5hTjsKKyAgICB0aGlzLl9wb2ludCA9IDA7CisgIH0s
CisgIGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAg
ICAgIGNhc2UgMTogeworICAgICAgICB0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94MiwgdGhp
cy5feTIpOworICAgICAgICB0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpOworICAgICAgICBicmVh
azsKKyAgICAgIH0KKyAgICAgIGNhc2UgMjogeworICAgICAgICB0aGlzLl9jb250ZXh0Lm1vdmVU
bygodGhpcy5feDIgKyAyICogdGhpcy5feDMpIC8gMywgKHRoaXMuX3kyICsgMiAqIHRoaXMuX3kz
KSAvIDMpOworICAgICAgICB0aGlzLl9jb250ZXh0LmxpbmVUbygodGhpcy5feDMgKyAyICogdGhp
cy5feDIpIC8gMywgKHRoaXMuX3kzICsgMiAqIHRoaXMuX3kyKSAvIDMpOworICAgICAgICB0aGlz
Ll9jb250ZXh0LmNsb3NlUGF0aCgpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICAgIGNh
c2UgMzogeworICAgICAgICB0aGlzLnBvaW50KHRoaXMuX3gyLCB0aGlzLl95Mik7CisgICAgICAg
IHRoaXMucG9pbnQodGhpcy5feDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhpcy5wb2ludCh0aGlz
Ll94NCwgdGhpcy5feTQpOworICAgICAgICBicmVhazsKKyAgICAgIH0KKyAgICB9CisgIH0sCisg
IHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgc3dpdGNo
ICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IHRoaXMuX3gy
ID0geCwgdGhpcy5feTIgPSB5OyBicmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAy
OyB0aGlzLl94MyA9IHgsIHRoaXMuX3kzID0geTsgYnJlYWs7CisgICAgICBjYXNlIDI6IHRoaXMu
X3BvaW50ID0gMzsgdGhpcy5feDQgPSB4LCB0aGlzLl95NCA9IHk7IHRoaXMuX2NvbnRleHQubW92
ZVRvKCh0aGlzLl94MCArIDQgKiB0aGlzLl94MSArIHgpIC8gNiwgKHRoaXMuX3kwICsgNCAqIHRo
aXMuX3kxICsgeSkgLyA2KTsgYnJlYWs7CisgICAgICBkZWZhdWx0OiBwb2ludCQyKHRoaXMsIHgs
IHkpOyBicmVhazsKKyAgICB9CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSwgdGhpcy5feDEgPSB4
OworICAgIHRoaXMuX3kwID0gdGhpcy5feTEsIHRoaXMuX3kxID0geTsKKyAgfQorfTsKKworZnVu
Y3Rpb24gYmFzaXNDbG9zZWQkMShjb250ZXh0KSB7CisgIHJldHVybiBuZXcgQmFzaXNDbG9zZWQo
Y29udGV4dCk7Cit9CisKK2Z1bmN0aW9uIEJhc2lzT3Blbihjb250ZXh0KSB7CisgIHRoaXMuX2Nv
bnRleHQgPSBjb250ZXh0OworfQorCitCYXNpc09wZW4ucHJvdG90eXBlID0geworICBhcmVhU3Rh
cnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSAwOworICB9LAorICBhcmVhRW5kOiBm
dW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gTmFOOworICB9LAorICBsaW5lU3RhcnQ6IGZ1
bmN0aW9uKCkgeworICAgIHRoaXMuX3gwID0gdGhpcy5feDEgPQorICAgIHRoaXMuX3kwID0gdGhp
cy5feTEgPSBOYU47CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9LAorICBsaW5lRW5kOiBmdW5j
dGlvbigpIHsKKyAgICBpZiAodGhpcy5fbGluZSB8fCAodGhpcy5fbGluZSAhPT0gMCAmJiB0aGlz
Ll9wb2ludCA9PT0gMykpIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgdGhpcy5fbGlu
ZSA9IDEgLSB0aGlzLl9saW5lOworICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAg
IHggPSAreCwgeSA9ICt5OworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2Ug
MDogdGhpcy5fcG9pbnQgPSAxOyBicmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAy
OyBicmVhazsKKyAgICAgIGNhc2UgMjogdGhpcy5fcG9pbnQgPSAzOyB2YXIgeDAgPSAodGhpcy5f
eDAgKyA0ICogdGhpcy5feDEgKyB4KSAvIDYsIHkwID0gKHRoaXMuX3kwICsgNCAqIHRoaXMuX3kx
ICsgeSkgLyA2OyB0aGlzLl9saW5lID8gdGhpcy5fY29udGV4dC5saW5lVG8oeDAsIHkwKSA6IHRo
aXMuX2NvbnRleHQubW92ZVRvKHgwLCB5MCk7IGJyZWFrOworICAgICAgY2FzZSAzOiB0aGlzLl9w
b2ludCA9IDQ7IC8vIHByb2NlZWQKKyAgICAgIGRlZmF1bHQ6IHBvaW50JDIodGhpcywgeCwgeSk7
IGJyZWFrOworICAgIH0KKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxLCB0aGlzLl94MSA9IHg7Cisg
ICAgdGhpcy5feTAgPSB0aGlzLl95MSwgdGhpcy5feTEgPSB5OworICB9Cit9OworCitmdW5jdGlv
biBiYXNpc09wZW4oY29udGV4dCkgeworICByZXR1cm4gbmV3IEJhc2lzT3Blbihjb250ZXh0KTsK
K30KKworZnVuY3Rpb24gQnVuZGxlKGNvbnRleHQsIGJldGEpIHsKKyAgdGhpcy5fYmFzaXMgPSBu
ZXcgQmFzaXMoY29udGV4dCk7CisgIHRoaXMuX2JldGEgPSBiZXRhOworfQorCitCdW5kbGUucHJv
dG90eXBlID0geworICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3ggPSBbXTsK
KyAgICB0aGlzLl95ID0gW107CisgICAgdGhpcy5fYmFzaXMubGluZVN0YXJ0KCk7CisgIH0sCisg
IGxpbmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIHZhciB4ID0gdGhpcy5feCwKKyAgICAgICAgeSA9
IHRoaXMuX3ksCisgICAgICAgIGogPSB4Lmxlbmd0aCAtIDE7CisKKyAgICBpZiAoaiA+IDApIHsK
KyAgICAgIHZhciB4MCA9IHhbMF0sCisgICAgICAgICAgeTAgPSB5WzBdLAorICAgICAgICAgIGR4
ID0geFtqXSAtIHgwLAorICAgICAgICAgIGR5ID0geVtqXSAtIHkwLAorICAgICAgICAgIGkgPSAt
MSwKKyAgICAgICAgICB0OworCisgICAgICB3aGlsZSAoKytpIDw9IGopIHsKKyAgICAgICAgdCA9
IGkgLyBqOworICAgICAgICB0aGlzLl9iYXNpcy5wb2ludCgKKyAgICAgICAgICB0aGlzLl9iZXRh
ICogeFtpXSArICgxIC0gdGhpcy5fYmV0YSkgKiAoeDAgKyB0ICogZHgpLAorICAgICAgICAgIHRo
aXMuX2JldGEgKiB5W2ldICsgKDEgLSB0aGlzLl9iZXRhKSAqICh5MCArIHQgKiBkeSkKKyAgICAg
ICAgKTsKKyAgICAgIH0KKyAgICB9CisKKyAgICB0aGlzLl94ID0gdGhpcy5feSA9IG51bGw7Cisg
ICAgdGhpcy5fYmFzaXMubGluZUVuZCgpOworICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkg
eworICAgIHRoaXMuX3gucHVzaCgreCk7CisgICAgdGhpcy5feS5wdXNoKCt5KTsKKyAgfQorfTsK
KwordmFyIGJ1bmRsZSA9IChmdW5jdGlvbiBjdXN0b20oYmV0YSkgeworCisgIGZ1bmN0aW9uIGJ1
bmRsZShjb250ZXh0KSB7CisgICAgcmV0dXJuIGJldGEgPT09IDEgPyBuZXcgQmFzaXMoY29udGV4
dCkgOiBuZXcgQnVuZGxlKGNvbnRleHQsIGJldGEpOworICB9CisKKyAgYnVuZGxlLmJldGEgPSBm
dW5jdGlvbihiZXRhKSB7CisgICAgcmV0dXJuIGN1c3RvbSgrYmV0YSk7CisgIH07CisKKyAgcmV0
dXJuIGJ1bmRsZTsKK30pKDAuODUpOworCitmdW5jdGlvbiBwb2ludCQzKHRoYXQsIHgsIHkpIHsK
KyAgdGhhdC5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKAorICAgIHRoYXQuX3gxICsgdGhhdC5fayAq
ICh0aGF0Ll94MiAtIHRoYXQuX3gwKSwKKyAgICB0aGF0Ll95MSArIHRoYXQuX2sgKiAodGhhdC5f
eTIgLSB0aGF0Ll95MCksCisgICAgdGhhdC5feDIgKyB0aGF0Ll9rICogKHRoYXQuX3gxIC0geCks
CisgICAgdGhhdC5feTIgKyB0aGF0Ll9rICogKHRoYXQuX3kxIC0geSksCisgICAgdGhhdC5feDIs
CisgICAgdGhhdC5feTIKKyAgKTsKK30KKworZnVuY3Rpb24gQ2FyZGluYWwoY29udGV4dCwgdGVu
c2lvbikgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKKyAgdGhpcy5fayA9ICgxIC0gdGVu
c2lvbikgLyA2OworfQorCitDYXJkaW5hbC5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogZnVu
Y3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IDA7CisgIH0sCisgIGFyZWFFbmQ6IGZ1bmN0aW9u
KCkgeworICAgIHRoaXMuX2xpbmUgPSBOYU47CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24o
KSB7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSA9IHRoaXMuX3gyID0KKyAgICB0aGlzLl95MCA9
IHRoaXMuX3kxID0gdGhpcy5feTIgPSBOYU47CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9LAor
ICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAg
ICBjYXNlIDI6IHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLCB0aGlzLl95Mik7IGJyZWFr
OworICAgICAgY2FzZSAzOiBwb2ludCQzKHRoaXMsIHRoaXMuX3gxLCB0aGlzLl95MSk7IGJyZWFr
OworICAgIH0KKyAgICBpZiAodGhpcy5fbGluZSB8fCAodGhpcy5fbGluZSAhPT0gMCAmJiB0aGlz
Ll9wb2ludCA9PT0gMSkpIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgdGhpcy5fbGlu
ZSA9IDEgLSB0aGlzLl9saW5lOworICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAg
IHggPSAreCwgeSA9ICt5OworICAgIHN3aXRjaCAodGhpcy5fcG9pbnQpIHsKKyAgICAgIGNhc2Ug
MDogdGhpcy5fcG9pbnQgPSAxOyB0aGlzLl9saW5lID8gdGhpcy5fY29udGV4dC5saW5lVG8oeCwg
eSkgOiB0aGlzLl9jb250ZXh0Lm1vdmVUbyh4LCB5KTsgYnJlYWs7CisgICAgICBjYXNlIDE6IHRo
aXMuX3BvaW50ID0gMjsgdGhpcy5feDEgPSB4LCB0aGlzLl95MSA9IHk7IGJyZWFrOworICAgICAg
Y2FzZSAyOiB0aGlzLl9wb2ludCA9IDM7IC8vIHByb2NlZWQKKyAgICAgIGRlZmF1bHQ6IHBvaW50
JDModGhpcywgeCwgeSk7IGJyZWFrOworICAgIH0KKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxLCB0
aGlzLl94MSA9IHRoaXMuX3gyLCB0aGlzLl94MiA9IHg7CisgICAgdGhpcy5feTAgPSB0aGlzLl95
MSwgdGhpcy5feTEgPSB0aGlzLl95MiwgdGhpcy5feTIgPSB5OworICB9Cit9OworCit2YXIgY2Fy
ZGluYWwgPSAoZnVuY3Rpb24gY3VzdG9tKHRlbnNpb24pIHsKKworICBmdW5jdGlvbiBjYXJkaW5h
bChjb250ZXh0KSB7CisgICAgcmV0dXJuIG5ldyBDYXJkaW5hbChjb250ZXh0LCB0ZW5zaW9uKTsK
KyAgfQorCisgIGNhcmRpbmFsLnRlbnNpb24gPSBmdW5jdGlvbih0ZW5zaW9uKSB7CisgICAgcmV0
dXJuIGN1c3RvbSgrdGVuc2lvbik7CisgIH07CisKKyAgcmV0dXJuIGNhcmRpbmFsOworfSkoMCk7
CisKK2Z1bmN0aW9uIENhcmRpbmFsQ2xvc2VkKGNvbnRleHQsIHRlbnNpb24pIHsKKyAgdGhpcy5f
Y29udGV4dCA9IGNvbnRleHQ7CisgIHRoaXMuX2sgPSAoMSAtIHRlbnNpb24pIC8gNjsKK30KKwor
Q2FyZGluYWxDbG9zZWQucHJvdG90eXBlID0geworICBhcmVhU3RhcnQ6IG5vb3AkMywKKyAgYXJl
YUVuZDogbm9vcCQzLAorICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3gwID0g
dGhpcy5feDEgPSB0aGlzLl94MiA9IHRoaXMuX3gzID0gdGhpcy5feDQgPSB0aGlzLl94NSA9Cisg
ICAgdGhpcy5feTAgPSB0aGlzLl95MSA9IHRoaXMuX3kyID0gdGhpcy5feTMgPSB0aGlzLl95NCA9
IHRoaXMuX3k1ID0gTmFOOworICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDog
ZnVuY3Rpb24oKSB7CisgICAgc3dpdGNoICh0aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAxOiB7
CisgICAgICAgIHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gzLCB0aGlzLl95Myk7CisgICAg
ICAgIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgICAgIGJyZWFrOworICAgICAgfQor
ICAgICAgY2FzZSAyOiB7CisgICAgICAgIHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gzLCB0
aGlzLl95Myk7CisgICAgICAgIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgICAgIGJy
ZWFrOworICAgICAgfQorICAgICAgY2FzZSAzOiB7CisgICAgICAgIHRoaXMucG9pbnQodGhpcy5f
eDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhpcy5wb2ludCh0aGlzLl94NCwgdGhpcy5feTQpOwor
ICAgICAgICB0aGlzLnBvaW50KHRoaXMuX3g1LCB0aGlzLl95NSk7CisgICAgICAgIGJyZWFrOwor
ICAgICAgfQorICAgIH0KKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkpIHsKKyAgICB4ID0g
K3gsIHkgPSAreTsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRo
aXMuX3BvaW50ID0gMTsgdGhpcy5feDMgPSB4LCB0aGlzLl95MyA9IHk7IGJyZWFrOworICAgICAg
Y2FzZSAxOiB0aGlzLl9wb2ludCA9IDI7IHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3g0ID0g
eCwgdGhpcy5feTQgPSB5KTsgYnJlYWs7CisgICAgICBjYXNlIDI6IHRoaXMuX3BvaW50ID0gMzsg
dGhpcy5feDUgPSB4LCB0aGlzLl95NSA9IHk7IGJyZWFrOworICAgICAgZGVmYXVsdDogcG9pbnQk
Myh0aGlzLCB4LCB5KTsgYnJlYWs7CisgICAgfQorICAgIHRoaXMuX3gwID0gdGhpcy5feDEsIHRo
aXMuX3gxID0gdGhpcy5feDIsIHRoaXMuX3gyID0geDsKKyAgICB0aGlzLl95MCA9IHRoaXMuX3kx
LCB0aGlzLl95MSA9IHRoaXMuX3kyLCB0aGlzLl95MiA9IHk7CisgIH0KK307CisKK3ZhciBjYXJk
aW5hbENsb3NlZCA9IChmdW5jdGlvbiBjdXN0b20odGVuc2lvbikgeworCisgIGZ1bmN0aW9uIGNh
cmRpbmFsKGNvbnRleHQpIHsKKyAgICByZXR1cm4gbmV3IENhcmRpbmFsQ2xvc2VkKGNvbnRleHQs
IHRlbnNpb24pOworICB9CisKKyAgY2FyZGluYWwudGVuc2lvbiA9IGZ1bmN0aW9uKHRlbnNpb24p
IHsKKyAgICByZXR1cm4gY3VzdG9tKCt0ZW5zaW9uKTsKKyAgfTsKKworICByZXR1cm4gY2FyZGlu
YWw7Cit9KSgwKTsKKworZnVuY3Rpb24gQ2FyZGluYWxPcGVuKGNvbnRleHQsIHRlbnNpb24pIHsK
KyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7CisgIHRoaXMuX2sgPSAoMSAtIHRlbnNpb24pIC8g
NjsKK30KKworQ2FyZGluYWxPcGVuLnByb3RvdHlwZSA9IHsKKyAgYXJlYVN0YXJ0OiBmdW5jdGlv
bigpIHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAgfSwKKyAgYXJlYUVuZDogZnVuY3Rpb24oKSB7
CisgICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwKKyAgbGluZVN0YXJ0OiBmdW5jdGlvbigpIHsK
KyAgICB0aGlzLl94MCA9IHRoaXMuX3gxID0gdGhpcy5feDIgPQorICAgIHRoaXMuX3kwID0gdGhp
cy5feTEgPSB0aGlzLl95MiA9IE5hTjsKKyAgICB0aGlzLl9wb2ludCA9IDA7CisgIH0sCisgIGxp
bmVFbmQ6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9saW5lIHx8ICh0aGlzLl9saW5lICE9
PSAwICYmIHRoaXMuX3BvaW50ID09PSAzKSkgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAg
ICB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0sCisgIHBvaW50OiBmdW5jdGlvbih4
LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgc3dpdGNoICh0aGlzLl9wb2ludCkgewor
ICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IGJyZWFrOworICAgICAgY2FzZSAxOiB0aGlz
Ll9wb2ludCA9IDI7IGJyZWFrOworICAgICAgY2FzZSAyOiB0aGlzLl9wb2ludCA9IDM7IHRoaXMu
X2xpbmUgPyB0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94MiwgdGhpcy5feTIpIDogdGhpcy5f
Y29udGV4dC5tb3ZlVG8odGhpcy5feDIsIHRoaXMuX3kyKTsgYnJlYWs7CisgICAgICBjYXNlIDM6
IHRoaXMuX3BvaW50ID0gNDsgLy8gcHJvY2VlZAorICAgICAgZGVmYXVsdDogcG9pbnQkMyh0aGlz
LCB4LCB5KTsgYnJlYWs7CisgICAgfQorICAgIHRoaXMuX3gwID0gdGhpcy5feDEsIHRoaXMuX3gx
ID0gdGhpcy5feDIsIHRoaXMuX3gyID0geDsKKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxLCB0aGlz
Ll95MSA9IHRoaXMuX3kyLCB0aGlzLl95MiA9IHk7CisgIH0KK307CisKK3ZhciBjYXJkaW5hbE9w
ZW4gPSAoZnVuY3Rpb24gY3VzdG9tKHRlbnNpb24pIHsKKworICBmdW5jdGlvbiBjYXJkaW5hbChj
b250ZXh0KSB7CisgICAgcmV0dXJuIG5ldyBDYXJkaW5hbE9wZW4oY29udGV4dCwgdGVuc2lvbik7
CisgIH0KKworICBjYXJkaW5hbC50ZW5zaW9uID0gZnVuY3Rpb24odGVuc2lvbikgeworICAgIHJl
dHVybiBjdXN0b20oK3RlbnNpb24pOworICB9OworCisgIHJldHVybiBjYXJkaW5hbDsKK30pKDAp
OworCitmdW5jdGlvbiBwb2ludCQ0KHRoYXQsIHgsIHkpIHsKKyAgdmFyIHgxID0gdGhhdC5feDEs
CisgICAgICB5MSA9IHRoYXQuX3kxLAorICAgICAgeDIgPSB0aGF0Ll94MiwKKyAgICAgIHkyID0g
dGhhdC5feTI7CisKKyAgaWYgKHRoYXQuX2wwMV9hID4gZXBzaWxvbiQzKSB7CisgICAgdmFyIGEg
PSAyICogdGhhdC5fbDAxXzJhICsgMyAqIHRoYXQuX2wwMV9hICogdGhhdC5fbDEyX2EgKyB0aGF0
Ll9sMTJfMmEsCisgICAgICAgIG4gPSAzICogdGhhdC5fbDAxX2EgKiAodGhhdC5fbDAxX2EgKyB0
aGF0Ll9sMTJfYSk7CisgICAgeDEgPSAoeDEgKiBhIC0gdGhhdC5feDAgKiB0aGF0Ll9sMTJfMmEg
KyB0aGF0Ll94MiAqIHRoYXQuX2wwMV8yYSkgLyBuOworICAgIHkxID0gKHkxICogYSAtIHRoYXQu
X3kwICogdGhhdC5fbDEyXzJhICsgdGhhdC5feTIgKiB0aGF0Ll9sMDFfMmEpIC8gbjsKKyAgfQor
CisgIGlmICh0aGF0Ll9sMjNfYSA+IGVwc2lsb24kMykgeworICAgIHZhciBiID0gMiAqIHRoYXQu
X2wyM18yYSArIDMgKiB0aGF0Ll9sMjNfYSAqIHRoYXQuX2wxMl9hICsgdGhhdC5fbDEyXzJhLAor
ICAgICAgICBtID0gMyAqIHRoYXQuX2wyM19hICogKHRoYXQuX2wyM19hICsgdGhhdC5fbDEyX2Ep
OworICAgIHgyID0gKHgyICogYiArIHRoYXQuX3gxICogdGhhdC5fbDIzXzJhIC0geCAqIHRoYXQu
X2wxMl8yYSkgLyBtOworICAgIHkyID0gKHkyICogYiArIHRoYXQuX3kxICogdGhhdC5fbDIzXzJh
IC0geSAqIHRoYXQuX2wxMl8yYSkgLyBtOworICB9CisKKyAgdGhhdC5fY29udGV4dC5iZXppZXJD
dXJ2ZVRvKHgxLCB5MSwgeDIsIHkyLCB0aGF0Ll94MiwgdGhhdC5feTIpOworfQorCitmdW5jdGlv
biBDYXRtdWxsUm9tKGNvbnRleHQsIGFscGhhKSB7CisgIHRoaXMuX2NvbnRleHQgPSBjb250ZXh0
OworICB0aGlzLl9hbHBoYSA9IGFscGhhOworfQorCitDYXRtdWxsUm9tLnByb3RvdHlwZSA9IHsK
KyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAgfSwKKyAg
YXJlYUVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwKKyAgbGlu
ZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxID0gdGhpcy5feDIg
PQorICAgIHRoaXMuX3kwID0gdGhpcy5feTEgPSB0aGlzLl95MiA9IE5hTjsKKyAgICB0aGlzLl9s
MDFfYSA9IHRoaXMuX2wxMl9hID0gdGhpcy5fbDIzX2EgPQorICAgIHRoaXMuX2wwMV8yYSA9IHRo
aXMuX2wxMl8yYSA9IHRoaXMuX2wyM18yYSA9CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9LAor
ICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAg
ICBjYXNlIDI6IHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLCB0aGlzLl95Mik7IGJyZWFr
OworICAgICAgY2FzZSAzOiB0aGlzLnBvaW50KHRoaXMuX3gyLCB0aGlzLl95Mik7IGJyZWFrOwor
ICAgIH0KKyAgICBpZiAodGhpcy5fbGluZSB8fCAodGhpcy5fbGluZSAhPT0gMCAmJiB0aGlzLl9w
b2ludCA9PT0gMSkpIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgdGhpcy5fbGluZSA9
IDEgLSB0aGlzLl9saW5lOworICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAgIHgg
PSAreCwgeSA9ICt5OworCisgICAgaWYgKHRoaXMuX3BvaW50KSB7CisgICAgICB2YXIgeDIzID0g
dGhpcy5feDIgLSB4LAorICAgICAgICAgIHkyMyA9IHRoaXMuX3kyIC0geTsKKyAgICAgIHRoaXMu
X2wyM19hID0gTWF0aC5zcXJ0KHRoaXMuX2wyM18yYSA9IE1hdGgucG93KHgyMyAqIHgyMyArIHky
MyAqIHkyMywgdGhpcy5fYWxwaGEpKTsKKyAgICB9CisKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50
KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3BvaW50ID0gMTsgdGhpcy5fbGluZSA/IHRoaXMuX2Nv
bnRleHQubGluZVRvKHgsIHkpIDogdGhpcy5fY29udGV4dC5tb3ZlVG8oeCwgeSk7IGJyZWFrOwor
ICAgICAgY2FzZSAxOiB0aGlzLl9wb2ludCA9IDI7IGJyZWFrOworICAgICAgY2FzZSAyOiB0aGlz
Ll9wb2ludCA9IDM7IC8vIHByb2NlZWQKKyAgICAgIGRlZmF1bHQ6IHBvaW50JDQodGhpcywgeCwg
eSk7IGJyZWFrOworICAgIH0KKworICAgIHRoaXMuX2wwMV9hID0gdGhpcy5fbDEyX2EsIHRoaXMu
X2wxMl9hID0gdGhpcy5fbDIzX2E7CisgICAgdGhpcy5fbDAxXzJhID0gdGhpcy5fbDEyXzJhLCB0
aGlzLl9sMTJfMmEgPSB0aGlzLl9sMjNfMmE7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSwgdGhp
cy5feDEgPSB0aGlzLl94MiwgdGhpcy5feDIgPSB4OworICAgIHRoaXMuX3kwID0gdGhpcy5feTEs
IHRoaXMuX3kxID0gdGhpcy5feTIsIHRoaXMuX3kyID0geTsKKyAgfQorfTsKKwordmFyIGNhdG11
bGxSb20gPSAoZnVuY3Rpb24gY3VzdG9tKGFscGhhKSB7CisKKyAgZnVuY3Rpb24gY2F0bXVsbFJv
bShjb250ZXh0KSB7CisgICAgcmV0dXJuIGFscGhhID8gbmV3IENhdG11bGxSb20oY29udGV4dCwg
YWxwaGEpIDogbmV3IENhcmRpbmFsKGNvbnRleHQsIDApOworICB9CisKKyAgY2F0bXVsbFJvbS5h
bHBoYSA9IGZ1bmN0aW9uKGFscGhhKSB7CisgICAgcmV0dXJuIGN1c3RvbSgrYWxwaGEpOworICB9
OworCisgIHJldHVybiBjYXRtdWxsUm9tOworfSkoMC41KTsKKworZnVuY3Rpb24gQ2F0bXVsbFJv
bUNsb3NlZChjb250ZXh0LCBhbHBoYSkgeworICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDsKKyAg
dGhpcy5fYWxwaGEgPSBhbHBoYTsKK30KKworQ2F0bXVsbFJvbUNsb3NlZC5wcm90b3R5cGUgPSB7
CisgIGFyZWFTdGFydDogbm9vcCQzLAorICBhcmVhRW5kOiBub29wJDMsCisgIGxpbmVTdGFydDog
ZnVuY3Rpb24oKSB7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSA9IHRoaXMuX3gyID0gdGhpcy5f
eDMgPSB0aGlzLl94NCA9IHRoaXMuX3g1ID0KKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxID0gdGhp
cy5feTIgPSB0aGlzLl95MyA9IHRoaXMuX3k0ID0gdGhpcy5feTUgPSBOYU47CisgICAgdGhpcy5f
bDAxX2EgPSB0aGlzLl9sMTJfYSA9IHRoaXMuX2wyM19hID0KKyAgICB0aGlzLl9sMDFfMmEgPSB0
aGlzLl9sMTJfMmEgPSB0aGlzLl9sMjNfMmEgPQorICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwK
KyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgc3dpdGNoICh0aGlzLl9wb2ludCkgeworICAg
ICAgY2FzZSAxOiB7CisgICAgICAgIHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gzLCB0aGlz
Ll95Myk7CisgICAgICAgIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7CisgICAgICAgIGJyZWFr
OworICAgICAgfQorICAgICAgY2FzZSAyOiB7CisgICAgICAgIHRoaXMuX2NvbnRleHQubGluZVRv
KHRoaXMuX3gzLCB0aGlzLl95Myk7CisgICAgICAgIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7
CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAgY2FzZSAzOiB7CisgICAgICAgIHRoaXMu
cG9pbnQodGhpcy5feDMsIHRoaXMuX3kzKTsKKyAgICAgICAgdGhpcy5wb2ludCh0aGlzLl94NCwg
dGhpcy5feTQpOworICAgICAgICB0aGlzLnBvaW50KHRoaXMuX3g1LCB0aGlzLl95NSk7CisgICAg
ICAgIGJyZWFrOworICAgICAgfQorICAgIH0KKyAgfSwKKyAgcG9pbnQ6IGZ1bmN0aW9uKHgsIHkp
IHsKKyAgICB4ID0gK3gsIHkgPSAreTsKKworICAgIGlmICh0aGlzLl9wb2ludCkgeworICAgICAg
dmFyIHgyMyA9IHRoaXMuX3gyIC0geCwKKyAgICAgICAgICB5MjMgPSB0aGlzLl95MiAtIHk7Cisg
ICAgICB0aGlzLl9sMjNfYSA9IE1hdGguc3FydCh0aGlzLl9sMjNfMmEgPSBNYXRoLnBvdyh4MjMg
KiB4MjMgKyB5MjMgKiB5MjMsIHRoaXMuX2FscGhhKSk7CisgICAgfQorCisgICAgc3dpdGNoICh0
aGlzLl9wb2ludCkgeworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IHRoaXMuX3gzID0g
eCwgdGhpcy5feTMgPSB5OyBicmVhazsKKyAgICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAyOyB0
aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94NCA9IHgsIHRoaXMuX3k0ID0geSk7IGJyZWFrOwor
ICAgICAgY2FzZSAyOiB0aGlzLl9wb2ludCA9IDM7IHRoaXMuX3g1ID0geCwgdGhpcy5feTUgPSB5
OyBicmVhazsKKyAgICAgIGRlZmF1bHQ6IHBvaW50JDQodGhpcywgeCwgeSk7IGJyZWFrOworICAg
IH0KKworICAgIHRoaXMuX2wwMV9hID0gdGhpcy5fbDEyX2EsIHRoaXMuX2wxMl9hID0gdGhpcy5f
bDIzX2E7CisgICAgdGhpcy5fbDAxXzJhID0gdGhpcy5fbDEyXzJhLCB0aGlzLl9sMTJfMmEgPSB0
aGlzLl9sMjNfMmE7CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSwgdGhpcy5feDEgPSB0aGlzLl94
MiwgdGhpcy5feDIgPSB4OworICAgIHRoaXMuX3kwID0gdGhpcy5feTEsIHRoaXMuX3kxID0gdGhp
cy5feTIsIHRoaXMuX3kyID0geTsKKyAgfQorfTsKKwordmFyIGNhdG11bGxSb21DbG9zZWQgPSAo
ZnVuY3Rpb24gY3VzdG9tKGFscGhhKSB7CisKKyAgZnVuY3Rpb24gY2F0bXVsbFJvbShjb250ZXh0
KSB7CisgICAgcmV0dXJuIGFscGhhID8gbmV3IENhdG11bGxSb21DbG9zZWQoY29udGV4dCwgYWxw
aGEpIDogbmV3IENhcmRpbmFsQ2xvc2VkKGNvbnRleHQsIDApOworICB9CisKKyAgY2F0bXVsbFJv
bS5hbHBoYSA9IGZ1bmN0aW9uKGFscGhhKSB7CisgICAgcmV0dXJuIGN1c3RvbSgrYWxwaGEpOwor
ICB9OworCisgIHJldHVybiBjYXRtdWxsUm9tOworfSkoMC41KTsKKworZnVuY3Rpb24gQ2F0bXVs
bFJvbU9wZW4oY29udGV4dCwgYWxwaGEpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNvbnRleHQ7Cisg
IHRoaXMuX2FscGhhID0gYWxwaGE7Cit9CisKK0NhdG11bGxSb21PcGVuLnByb3RvdHlwZSA9IHsK
KyAgYXJlYVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gMDsKKyAgfSwKKyAg
YXJlYUVuZDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IE5hTjsKKyAgfSwKKyAgbGlu
ZVN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl94MCA9IHRoaXMuX3gxID0gdGhpcy5feDIg
PQorICAgIHRoaXMuX3kwID0gdGhpcy5feTEgPSB0aGlzLl95MiA9IE5hTjsKKyAgICB0aGlzLl9s
MDFfYSA9IHRoaXMuX2wxMl9hID0gdGhpcy5fbDIzX2EgPQorICAgIHRoaXMuX2wwMV8yYSA9IHRo
aXMuX2wxMl8yYSA9IHRoaXMuX2wyM18yYSA9CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9LAor
ICBsaW5lRW5kOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fbGluZSB8fCAodGhpcy5fbGlu
ZSAhPT0gMCAmJiB0aGlzLl9wb2ludCA9PT0gMykpIHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7
CisgICAgdGhpcy5fbGluZSA9IDEgLSB0aGlzLl9saW5lOworICB9LAorICBwb2ludDogZnVuY3Rp
b24oeCwgeSkgeworICAgIHggPSAreCwgeSA9ICt5OworCisgICAgaWYgKHRoaXMuX3BvaW50KSB7
CisgICAgICB2YXIgeDIzID0gdGhpcy5feDIgLSB4LAorICAgICAgICAgIHkyMyA9IHRoaXMuX3ky
IC0geTsKKyAgICAgIHRoaXMuX2wyM19hID0gTWF0aC5zcXJ0KHRoaXMuX2wyM18yYSA9IE1hdGgu
cG93KHgyMyAqIHgyMyArIHkyMyAqIHkyMywgdGhpcy5fYWxwaGEpKTsKKyAgICB9CisKKyAgICBz
d2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMuX3BvaW50ID0gMTsgYnJl
YWs7CisgICAgICBjYXNlIDE6IHRoaXMuX3BvaW50ID0gMjsgYnJlYWs7CisgICAgICBjYXNlIDI6
IHRoaXMuX3BvaW50ID0gMzsgdGhpcy5fbGluZSA/IHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMu
X3gyLCB0aGlzLl95MikgOiB0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94MiwgdGhpcy5feTIp
OyBicmVhazsKKyAgICAgIGNhc2UgMzogdGhpcy5fcG9pbnQgPSA0OyAvLyBwcm9jZWVkCisgICAg
ICBkZWZhdWx0OiBwb2ludCQ0KHRoaXMsIHgsIHkpOyBicmVhazsKKyAgICB9CisKKyAgICB0aGlz
Ll9sMDFfYSA9IHRoaXMuX2wxMl9hLCB0aGlzLl9sMTJfYSA9IHRoaXMuX2wyM19hOworICAgIHRo
aXMuX2wwMV8yYSA9IHRoaXMuX2wxMl8yYSwgdGhpcy5fbDEyXzJhID0gdGhpcy5fbDIzXzJhOwor
ICAgIHRoaXMuX3gwID0gdGhpcy5feDEsIHRoaXMuX3gxID0gdGhpcy5feDIsIHRoaXMuX3gyID0g
eDsKKyAgICB0aGlzLl95MCA9IHRoaXMuX3kxLCB0aGlzLl95MSA9IHRoaXMuX3kyLCB0aGlzLl95
MiA9IHk7CisgIH0KK307CisKK3ZhciBjYXRtdWxsUm9tT3BlbiA9IChmdW5jdGlvbiBjdXN0b20o
YWxwaGEpIHsKKworICBmdW5jdGlvbiBjYXRtdWxsUm9tKGNvbnRleHQpIHsKKyAgICByZXR1cm4g
YWxwaGEgPyBuZXcgQ2F0bXVsbFJvbU9wZW4oY29udGV4dCwgYWxwaGEpIDogbmV3IENhcmRpbmFs
T3Blbihjb250ZXh0LCAwKTsKKyAgfQorCisgIGNhdG11bGxSb20uYWxwaGEgPSBmdW5jdGlvbihh
bHBoYSkgeworICAgIHJldHVybiBjdXN0b20oK2FscGhhKTsKKyAgfTsKKworICByZXR1cm4gY2F0
bXVsbFJvbTsKK30pKDAuNSk7CisKK2Z1bmN0aW9uIExpbmVhckNsb3NlZChjb250ZXh0KSB7Cisg
IHRoaXMuX2NvbnRleHQgPSBjb250ZXh0OworfQorCitMaW5lYXJDbG9zZWQucHJvdG90eXBlID0g
eworICBhcmVhU3RhcnQ6IG5vb3AkMywKKyAgYXJlYUVuZDogbm9vcCQzLAorICBsaW5lU3RhcnQ6
IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVu
Y3Rpb24oKSB7CisgICAgaWYgKHRoaXMuX3BvaW50KSB0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgp
OworICB9LAorICBwb2ludDogZnVuY3Rpb24oeCwgeSkgeworICAgIHggPSAreCwgeSA9ICt5Owor
ICAgIGlmICh0aGlzLl9wb2ludCkgdGhpcy5fY29udGV4dC5saW5lVG8oeCwgeSk7CisgICAgZWxz
ZSB0aGlzLl9wb2ludCA9IDEsIHRoaXMuX2NvbnRleHQubW92ZVRvKHgsIHkpOworICB9Cit9Owor
CitmdW5jdGlvbiBsaW5lYXJDbG9zZWQoY29udGV4dCkgeworICByZXR1cm4gbmV3IExpbmVhckNs
b3NlZChjb250ZXh0KTsKK30KKworZnVuY3Rpb24gc2lnbiQxKHgpIHsKKyAgcmV0dXJuIHggPCAw
ID8gLTEgOiAxOworfQorCisvLyBDYWxjdWxhdGUgdGhlIHNsb3BlcyBvZiB0aGUgdGFuZ2VudHMg
KEhlcm1pdGUtdHlwZSBpbnRlcnBvbGF0aW9uKSBiYXNlZCBvbgorLy8gdGhlIGZvbGxvd2luZyBw
YXBlcjogU3RlZmZlbiwgTS4gMTk5MC4gQSBTaW1wbGUgTWV0aG9kIGZvciBNb25vdG9uaWMKKy8v
IEludGVycG9sYXRpb24gaW4gT25lIERpbWVuc2lvbi4gQXN0cm9ub215IGFuZCBBc3Ryb3BoeXNp
Y3MsIFZvbC4gMjM5LCBOTy4KKy8vIE5PVihJSSksIFAuIDQ0MywgMTk5MC4KK2Z1bmN0aW9uIHNs
b3BlMyh0aGF0LCB4MiwgeTIpIHsKKyAgdmFyIGgwID0gdGhhdC5feDEgLSB0aGF0Ll94MCwKKyAg
ICAgIGgxID0geDIgLSB0aGF0Ll94MSwKKyAgICAgIHMwID0gKHRoYXQuX3kxIC0gdGhhdC5feTAp
IC8gKGgwIHx8IGgxIDwgMCAmJiAtMCksCisgICAgICBzMSA9ICh5MiAtIHRoYXQuX3kxKSAvICho
MSB8fCBoMCA8IDAgJiYgLTApLAorICAgICAgcCA9IChzMCAqIGgxICsgczEgKiBoMCkgLyAoaDAg
KyBoMSk7CisgIHJldHVybiAoc2lnbiQxKHMwKSArIHNpZ24kMShzMSkpICogTWF0aC5taW4oTWF0
aC5hYnMoczApLCBNYXRoLmFicyhzMSksIDAuNSAqIE1hdGguYWJzKHApKSB8fCAwOworfQorCisv
LyBDYWxjdWxhdGUgYSBvbmUtc2lkZWQgc2xvcGUuCitmdW5jdGlvbiBzbG9wZTIodGhhdCwgdCkg
eworICB2YXIgaCA9IHRoYXQuX3gxIC0gdGhhdC5feDA7CisgIHJldHVybiBoID8gKDMgKiAodGhh
dC5feTEgLSB0aGF0Ll95MCkgLyBoIC0gdCkgLyAyIDogdDsKK30KKworLy8gQWNjb3JkaW5nIHRv
IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0N1YmljX0hlcm1pdGVfc3BsaW5lI1JlcHJl
c2VudGF0aW9ucworLy8gInlvdSBjYW4gZXhwcmVzcyBjdWJpYyBIZXJtaXRlIGludGVycG9sYXRp
b24gaW4gdGVybXMgb2YgY3ViaWMgQsOpemllciBjdXJ2ZXMKKy8vIHdpdGggcmVzcGVjdCB0byB0
aGUgZm91ciB2YWx1ZXMgcDAsIHAwICsgbTAgLyAzLCBwMSAtIG0xIC8gMywgcDEiLgorZnVuY3Rp
b24gcG9pbnQkNSh0aGF0LCB0MCwgdDEpIHsKKyAgdmFyIHgwID0gdGhhdC5feDAsCisgICAgICB5
MCA9IHRoYXQuX3kwLAorICAgICAgeDEgPSB0aGF0Ll94MSwKKyAgICAgIHkxID0gdGhhdC5feTEs
CisgICAgICBkeCA9ICh4MSAtIHgwKSAvIDM7CisgIHRoYXQuX2NvbnRleHQuYmV6aWVyQ3VydmVU
byh4MCArIGR4LCB5MCArIGR4ICogdDAsIHgxIC0gZHgsIHkxIC0gZHggKiB0MSwgeDEsIHkxKTsK
K30KKworZnVuY3Rpb24gTW9ub3RvbmVYKGNvbnRleHQpIHsKKyAgdGhpcy5fY29udGV4dCA9IGNv
bnRleHQ7Cit9CisKK01vbm90b25lWC5wcm90b3R5cGUgPSB7CisgIGFyZWFTdGFydDogZnVuY3Rp
b24oKSB7CisgICAgdGhpcy5fbGluZSA9IDA7CisgIH0sCisgIGFyZWFFbmQ6IGZ1bmN0aW9uKCkg
eworICAgIHRoaXMuX2xpbmUgPSBOYU47CisgIH0sCisgIGxpbmVTdGFydDogZnVuY3Rpb24oKSB7
CisgICAgdGhpcy5feDAgPSB0aGlzLl94MSA9CisgICAgdGhpcy5feTAgPSB0aGlzLl95MSA9Cisg
ICAgdGhpcy5fdDAgPSBOYU47CisgICAgdGhpcy5fcG9pbnQgPSAwOworICB9LAorICBsaW5lRW5k
OiBmdW5jdGlvbigpIHsKKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDI6
IHRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gxLCB0aGlzLl95MSk7IGJyZWFrOworICAgICAg
Y2FzZSAzOiBwb2ludCQ1KHRoaXMsIHRoaXMuX3QwLCBzbG9wZTIodGhpcywgdGhpcy5fdDApKTsg
YnJlYWs7CisgICAgfQorICAgIGlmICh0aGlzLl9saW5lIHx8ICh0aGlzLl9saW5lICE9PSAwICYm
IHRoaXMuX3BvaW50ID09PSAxKSkgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTsKKyAgICB0aGlz
Ll9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0sCisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7
CisgICAgdmFyIHQxID0gTmFOOworCisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgaWYgKHggPT09
IHRoaXMuX3gxICYmIHkgPT09IHRoaXMuX3kxKSByZXR1cm47IC8vIElnbm9yZSBjb2luY2lkZW50
IHBvaW50cy4KKyAgICBzd2l0Y2ggKHRoaXMuX3BvaW50KSB7CisgICAgICBjYXNlIDA6IHRoaXMu
X3BvaW50ID0gMTsgdGhpcy5fbGluZSA/IHRoaXMuX2NvbnRleHQubGluZVRvKHgsIHkpIDogdGhp
cy5fY29udGV4dC5tb3ZlVG8oeCwgeSk7IGJyZWFrOworICAgICAgY2FzZSAxOiB0aGlzLl9wb2lu
dCA9IDI7IGJyZWFrOworICAgICAgY2FzZSAyOiB0aGlzLl9wb2ludCA9IDM7IHBvaW50JDUodGhp
cywgc2xvcGUyKHRoaXMsIHQxID0gc2xvcGUzKHRoaXMsIHgsIHkpKSwgdDEpOyBicmVhazsKKyAg
ICAgIGRlZmF1bHQ6IHBvaW50JDUodGhpcywgdGhpcy5fdDAsIHQxID0gc2xvcGUzKHRoaXMsIHgs
IHkpKTsgYnJlYWs7CisgICAgfQorCisgICAgdGhpcy5feDAgPSB0aGlzLl94MSwgdGhpcy5feDEg
PSB4OworICAgIHRoaXMuX3kwID0gdGhpcy5feTEsIHRoaXMuX3kxID0geTsKKyAgICB0aGlzLl90
MCA9IHQxOworICB9Cit9OworCitmdW5jdGlvbiBNb25vdG9uZVkoY29udGV4dCkgeworICB0aGlz
Ll9jb250ZXh0ID0gbmV3IFJlZmxlY3RDb250ZXh0KGNvbnRleHQpOworfQorCisoTW9ub3RvbmVZ
LnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoTW9ub3RvbmVYLnByb3RvdHlwZSkpLnBvaW50ID0g
ZnVuY3Rpb24oeCwgeSkgeworICBNb25vdG9uZVgucHJvdG90eXBlLnBvaW50LmNhbGwodGhpcywg
eSwgeCk7Cit9OworCitmdW5jdGlvbiBSZWZsZWN0Q29udGV4dChjb250ZXh0KSB7CisgIHRoaXMu
X2NvbnRleHQgPSBjb250ZXh0OworfQorCitSZWZsZWN0Q29udGV4dC5wcm90b3R5cGUgPSB7Cisg
IG1vdmVUbzogZnVuY3Rpb24oeCwgeSkgeyB0aGlzLl9jb250ZXh0Lm1vdmVUbyh5LCB4KTsgfSwK
KyAgY2xvc2VQYXRoOiBmdW5jdGlvbigpIHsgdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTsgfSwK
KyAgbGluZVRvOiBmdW5jdGlvbih4LCB5KSB7IHRoaXMuX2NvbnRleHQubGluZVRvKHksIHgpOyB9
LAorICBiZXppZXJDdXJ2ZVRvOiBmdW5jdGlvbih4MSwgeTEsIHgyLCB5MiwgeCwgeSkgeyB0aGlz
Ll9jb250ZXh0LmJlemllckN1cnZlVG8oeTEsIHgxLCB5MiwgeDIsIHksIHgpOyB9Cit9OworCitm
dW5jdGlvbiBtb25vdG9uZVgoY29udGV4dCkgeworICByZXR1cm4gbmV3IE1vbm90b25lWChjb250
ZXh0KTsKK30KKworZnVuY3Rpb24gbW9ub3RvbmVZKGNvbnRleHQpIHsKKyAgcmV0dXJuIG5ldyBN
b25vdG9uZVkoY29udGV4dCk7Cit9CisKK2Z1bmN0aW9uIE5hdHVyYWwoY29udGV4dCkgeworICB0
aGlzLl9jb250ZXh0ID0gY29udGV4dDsKK30KKworTmF0dXJhbC5wcm90b3R5cGUgPSB7CisgIGFy
ZWFTdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fbGluZSA9IDA7CisgIH0sCisgIGFyZWFF
bmQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSBOYU47CisgIH0sCisgIGxpbmVTdGFy
dDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5feCA9IFtdOworICAgIHRoaXMuX3kgPSBbXTsKKyAg
fSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAgdmFyIHggPSB0aGlzLl94LAorICAgICAg
ICB5ID0gdGhpcy5feSwKKyAgICAgICAgbiA9IHgubGVuZ3RoOworCisgICAgaWYgKG4pIHsKKyAg
ICAgIHRoaXMuX2xpbmUgPyB0aGlzLl9jb250ZXh0LmxpbmVUbyh4WzBdLCB5WzBdKSA6IHRoaXMu
X2NvbnRleHQubW92ZVRvKHhbMF0sIHlbMF0pOworICAgICAgaWYgKG4gPT09IDIpIHsKKyAgICAg
ICAgdGhpcy5fY29udGV4dC5saW5lVG8oeFsxXSwgeVsxXSk7CisgICAgICB9IGVsc2UgeworICAg
ICAgICB2YXIgcHggPSBjb250cm9sUG9pbnRzKHgpLAorICAgICAgICAgICAgcHkgPSBjb250cm9s
UG9pbnRzKHkpOworICAgICAgICBmb3IgKHZhciBpMCA9IDAsIGkxID0gMTsgaTEgPCBuOyArK2kw
LCArK2kxKSB7CisgICAgICAgICAgdGhpcy5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKHB4WzBdW2kw
XSwgcHlbMF1baTBdLCBweFsxXVtpMF0sIHB5WzFdW2kwXSwgeFtpMV0sIHlbaTFdKTsKKyAgICAg
ICAgfQorICAgICAgfQorICAgIH0KKworICAgIGlmICh0aGlzLl9saW5lIHx8ICh0aGlzLl9saW5l
ICE9PSAwICYmIG4gPT09IDEpKSB0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpOworICAgIHRoaXMu
X2xpbmUgPSAxIC0gdGhpcy5fbGluZTsKKyAgICB0aGlzLl94ID0gdGhpcy5feSA9IG51bGw7Cisg
IH0sCisgIHBvaW50OiBmdW5jdGlvbih4LCB5KSB7CisgICAgdGhpcy5feC5wdXNoKCt4KTsKKyAg
ICB0aGlzLl95LnB1c2goK3kpOworICB9Cit9OworCisvLyBTZWUgaHR0cHM6Ly93d3cucGFydGlj
bGVpbmNlbGwuY29tLzIwMTIvYmV6aWVyLXNwbGluZXMvIGZvciBkZXJpdmF0aW9uLgorZnVuY3Rp
b24gY29udHJvbFBvaW50cyh4KSB7CisgIHZhciBpLAorICAgICAgbiA9IHgubGVuZ3RoIC0gMSwK
KyAgICAgIG0sCisgICAgICBhID0gbmV3IEFycmF5KG4pLAorICAgICAgYiA9IG5ldyBBcnJheShu
KSwKKyAgICAgIHIgPSBuZXcgQXJyYXkobik7CisgIGFbMF0gPSAwLCBiWzBdID0gMiwgclswXSA9
IHhbMF0gKyAyICogeFsxXTsKKyAgZm9yIChpID0gMTsgaSA8IG4gLSAxOyArK2kpIGFbaV0gPSAx
LCBiW2ldID0gNCwgcltpXSA9IDQgKiB4W2ldICsgMiAqIHhbaSArIDFdOworICBhW24gLSAxXSA9
IDIsIGJbbiAtIDFdID0gNywgcltuIC0gMV0gPSA4ICogeFtuIC0gMV0gKyB4W25dOworICBmb3Ig
KGkgPSAxOyBpIDwgbjsgKytpKSBtID0gYVtpXSAvIGJbaSAtIDFdLCBiW2ldIC09IG0sIHJbaV0g
LT0gbSAqIHJbaSAtIDFdOworICBhW24gLSAxXSA9IHJbbiAtIDFdIC8gYltuIC0gMV07CisgIGZv
ciAoaSA9IG4gLSAyOyBpID49IDA7IC0taSkgYVtpXSA9IChyW2ldIC0gYVtpICsgMV0pIC8gYltp
XTsKKyAgYltuIC0gMV0gPSAoeFtuXSArIGFbbiAtIDFdKSAvIDI7CisgIGZvciAoaSA9IDA7IGkg
PCBuIC0gMTsgKytpKSBiW2ldID0gMiAqIHhbaSArIDFdIC0gYVtpICsgMV07CisgIHJldHVybiBb
YSwgYl07Cit9CisKK2Z1bmN0aW9uIG5hdHVyYWwoY29udGV4dCkgeworICByZXR1cm4gbmV3IE5h
dHVyYWwoY29udGV4dCk7Cit9CisKK2Z1bmN0aW9uIFN0ZXAoY29udGV4dCwgdCkgeworICB0aGlz
Ll9jb250ZXh0ID0gY29udGV4dDsKKyAgdGhpcy5fdCA9IHQ7Cit9CisKK1N0ZXAucHJvdG90eXBl
ID0geworICBhcmVhU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2xpbmUgPSAwOworICB9
LAorICBhcmVhRW5kOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9saW5lID0gTmFOOworICB9LAor
ICBsaW5lU3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3ggPSB0aGlzLl95ID0gTmFOOwor
ICAgIHRoaXMuX3BvaW50ID0gMDsKKyAgfSwKKyAgbGluZUVuZDogZnVuY3Rpb24oKSB7CisgICAg
aWYgKDAgPCB0aGlzLl90ICYmIHRoaXMuX3QgPCAxICYmIHRoaXMuX3BvaW50ID09PSAyKSB0aGlz
Ll9jb250ZXh0LmxpbmVUbyh0aGlzLl94LCB0aGlzLl95KTsKKyAgICBpZiAodGhpcy5fbGluZSB8
fCAodGhpcy5fbGluZSAhPT0gMCAmJiB0aGlzLl9wb2ludCA9PT0gMSkpIHRoaXMuX2NvbnRleHQu
Y2xvc2VQYXRoKCk7CisgICAgaWYgKHRoaXMuX2xpbmUgPj0gMCkgdGhpcy5fdCA9IDEgLSB0aGlz
Ll90LCB0aGlzLl9saW5lID0gMSAtIHRoaXMuX2xpbmU7CisgIH0sCisgIHBvaW50OiBmdW5jdGlv
bih4LCB5KSB7CisgICAgeCA9ICt4LCB5ID0gK3k7CisgICAgc3dpdGNoICh0aGlzLl9wb2ludCkg
eworICAgICAgY2FzZSAwOiB0aGlzLl9wb2ludCA9IDE7IHRoaXMuX2xpbmUgPyB0aGlzLl9jb250
ZXh0LmxpbmVUbyh4LCB5KSA6IHRoaXMuX2NvbnRleHQubW92ZVRvKHgsIHkpOyBicmVhazsKKyAg
ICAgIGNhc2UgMTogdGhpcy5fcG9pbnQgPSAyOyAvLyBwcm9jZWVkCisgICAgICBkZWZhdWx0OiB7
CisgICAgICAgIGlmICh0aGlzLl90IDw9IDApIHsKKyAgICAgICAgICB0aGlzLl9jb250ZXh0Lmxp
bmVUbyh0aGlzLl94LCB5KTsKKyAgICAgICAgICB0aGlzLl9jb250ZXh0LmxpbmVUbyh4LCB5KTsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICB2YXIgeDEgPSB0aGlzLl94ICogKDEgLSB0aGlz
Ll90KSArIHggKiB0aGlzLl90OworICAgICAgICAgIHRoaXMuX2NvbnRleHQubGluZVRvKHgxLCB0
aGlzLl95KTsKKyAgICAgICAgICB0aGlzLl9jb250ZXh0LmxpbmVUbyh4MSwgeSk7CisgICAgICAg
IH0KKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgfQorICAgIHRoaXMuX3ggPSB4LCB0aGlz
Ll95ID0geTsKKyAgfQorfTsKKworZnVuY3Rpb24gc3RlcChjb250ZXh0KSB7CisgIHJldHVybiBu
ZXcgU3RlcChjb250ZXh0LCAwLjUpOworfQorCitmdW5jdGlvbiBzdGVwQmVmb3JlKGNvbnRleHQp
IHsKKyAgcmV0dXJuIG5ldyBTdGVwKGNvbnRleHQsIDApOworfQorCitmdW5jdGlvbiBzdGVwQWZ0
ZXIoY29udGV4dCkgeworICByZXR1cm4gbmV3IFN0ZXAoY29udGV4dCwgMSk7Cit9CisKK2Z1bmN0
aW9uIG5vbmUkMShzZXJpZXMsIG9yZGVyKSB7CisgIGlmICghKChuID0gc2VyaWVzLmxlbmd0aCkg
PiAxKSkgcmV0dXJuOworICBmb3IgKHZhciBpID0gMSwgaiwgczAsIHMxID0gc2VyaWVzW29yZGVy
WzBdXSwgbiwgbSA9IHMxLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAgIHMwID0gczEsIHMxID0g
c2VyaWVzW29yZGVyW2ldXTsKKyAgICBmb3IgKGogPSAwOyBqIDwgbTsgKytqKSB7CisgICAgICBz
MVtqXVsxXSArPSBzMVtqXVswXSA9IGlzTmFOKHMwW2pdWzFdKSA/IHMwW2pdWzBdIDogczBbal1b
MV07CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIG5vbmUkMihzZXJpZXMpIHsKKyAgdmFyIG4g
PSBzZXJpZXMubGVuZ3RoLCBvID0gbmV3IEFycmF5KG4pOworICB3aGlsZSAoLS1uID49IDApIG9b
bl0gPSBuOworICByZXR1cm4gbzsKK30KKworZnVuY3Rpb24gc3RhY2tWYWx1ZShkLCBrZXkpIHsK
KyAgcmV0dXJuIGRba2V5XTsKK30KKworZnVuY3Rpb24gc3RhY2soKSB7CisgIHZhciBrZXlzID0g
Y29uc3RhbnQkYihbXSksCisgICAgICBvcmRlciA9IG5vbmUkMiwKKyAgICAgIG9mZnNldCA9IG5v
bmUkMSwKKyAgICAgIHZhbHVlID0gc3RhY2tWYWx1ZTsKKworICBmdW5jdGlvbiBzdGFjayhkYXRh
KSB7CisgICAgdmFyIGt6ID0ga2V5cy5hcHBseSh0aGlzLCBhcmd1bWVudHMpLAorICAgICAgICBp
LAorICAgICAgICBtID0gZGF0YS5sZW5ndGgsCisgICAgICAgIG4gPSBrei5sZW5ndGgsCisgICAg
ICAgIHN6ID0gbmV3IEFycmF5KG4pLAorICAgICAgICBvejsKKworICAgIGZvciAoaSA9IDA7IGkg
PCBuOyArK2kpIHsKKyAgICAgIGZvciAodmFyIGtpID0ga3pbaV0sIHNpID0gc3pbaV0gPSBuZXcg
QXJyYXkobSksIGogPSAwLCBzaWo7IGogPCBtOyArK2opIHsKKyAgICAgICAgc2lbal0gPSBzaWog
PSBbMCwgK3ZhbHVlKGRhdGFbal0sIGtpLCBqLCBkYXRhKV07CisgICAgICAgIHNpai5kYXRhID0g
ZGF0YVtqXTsKKyAgICAgIH0KKyAgICAgIHNpLmtleSA9IGtpOworICAgIH0KKworICAgIGZvciAo
aSA9IDAsIG96ID0gb3JkZXIoc3opOyBpIDwgbjsgKytpKSB7CisgICAgICBzeltveltpXV0uaW5k
ZXggPSBpOworICAgIH0KKworICAgIG9mZnNldChzeiwgb3opOworICAgIHJldHVybiBzejsKKyAg
fQorCisgIHN0YWNrLmtleXMgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoa2V5cyA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIo
c2xpY2UkNi5jYWxsKF8pKSwgc3RhY2spIDoga2V5czsKKyAgfTsKKworICBzdGFjay52YWx1ZSA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh2YWx1ZSA9IHR5
cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoK18pLCBzdGFjaykgOiB2YWx1
ZTsKKyAgfTsKKworICBzdGFjay5vcmRlciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJn
dW1lbnRzLmxlbmd0aCA/IChvcmRlciA9IF8gPT0gbnVsbCA/IG5vbmUkMiA6IHR5cGVvZiBfID09
PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGIoc2xpY2UkNi5jYWxsKF8pKSwgc3RhY2spIDog
b3JkZXI7CisgIH07CisKKyAgc3RhY2sub2Zmc2V0ID0gZnVuY3Rpb24oXykgeworICAgIHJldHVy
biBhcmd1bWVudHMubGVuZ3RoID8gKG9mZnNldCA9IF8gPT0gbnVsbCA/IG5vbmUkMSA6IF8sIHN0
YWNrKSA6IG9mZnNldDsKKyAgfTsKKworICByZXR1cm4gc3RhY2s7Cit9CisKK2Z1bmN0aW9uIGV4
cGFuZChzZXJpZXMsIG9yZGVyKSB7CisgIGlmICghKChuID0gc2VyaWVzLmxlbmd0aCkgPiAwKSkg
cmV0dXJuOworICBmb3IgKHZhciBpLCBuLCBqID0gMCwgbSA9IHNlcmllc1swXS5sZW5ndGgsIHk7
IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHkgPSBpID0gMDsgaSA8IG47ICsraSkgeSArPSBzZXJp
ZXNbaV1bal1bMV0gfHwgMDsKKyAgICBpZiAoeSkgZm9yIChpID0gMDsgaSA8IG47ICsraSkgc2Vy
aWVzW2ldW2pdWzFdIC89IHk7CisgIH0KKyAgbm9uZSQxKHNlcmllcywgb3JkZXIpOworfQorCitm
dW5jdGlvbiBkaXZlcmdpbmckMShzZXJpZXMsIG9yZGVyKSB7CisgIGlmICghKChuID0gc2VyaWVz
Lmxlbmd0aCkgPiAwKSkgcmV0dXJuOworICBmb3IgKHZhciBpLCBqID0gMCwgZCwgZHksIHlwLCB5
biwgbiwgbSA9IHNlcmllc1tvcmRlclswXV0ubGVuZ3RoOyBqIDwgbTsgKytqKSB7CisgICAgZm9y
ICh5cCA9IHluID0gMCwgaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIGlmICgoZHkgPSAoZCA9
IHNlcmllc1tvcmRlcltpXV1bal0pWzFdIC0gZFswXSkgPiAwKSB7CisgICAgICAgIGRbMF0gPSB5
cCwgZFsxXSA9IHlwICs9IGR5OworICAgICAgfSBlbHNlIGlmIChkeSA8IDApIHsKKyAgICAgICAg
ZFsxXSA9IHluLCBkWzBdID0geW4gKz0gZHk7CisgICAgICB9IGVsc2UgeworICAgICAgICBkWzBd
ID0gMCwgZFsxXSA9IGR5OworICAgICAgfQorICAgIH0KKyAgfQorfQorCitmdW5jdGlvbiBzaWxo
b3VldHRlKHNlcmllcywgb3JkZXIpIHsKKyAgaWYgKCEoKG4gPSBzZXJpZXMubGVuZ3RoKSA+IDAp
KSByZXR1cm47CisgIGZvciAodmFyIGogPSAwLCBzMCA9IHNlcmllc1tvcmRlclswXV0sIG4sIG0g
PSBzMC5sZW5ndGg7IGogPCBtOyArK2opIHsKKyAgICBmb3IgKHZhciBpID0gMCwgeSA9IDA7IGkg
PCBuOyArK2kpIHkgKz0gc2VyaWVzW2ldW2pdWzFdIHx8IDA7CisgICAgczBbal1bMV0gKz0gczBb
al1bMF0gPSAteSAvIDI7CisgIH0KKyAgbm9uZSQxKHNlcmllcywgb3JkZXIpOworfQorCitmdW5j
dGlvbiB3aWdnbGUoc2VyaWVzLCBvcmRlcikgeworICBpZiAoISgobiA9IHNlcmllcy5sZW5ndGgp
ID4gMCkgfHwgISgobSA9IChzMCA9IHNlcmllc1tvcmRlclswXV0pLmxlbmd0aCkgPiAwKSkgcmV0
dXJuOworICBmb3IgKHZhciB5ID0gMCwgaiA9IDEsIHMwLCBtLCBuOyBqIDwgbTsgKytqKSB7Cisg
ICAgZm9yICh2YXIgaSA9IDAsIHMxID0gMCwgczIgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICB2
YXIgc2kgPSBzZXJpZXNbb3JkZXJbaV1dLAorICAgICAgICAgIHNpajAgPSBzaVtqXVsxXSB8fCAw
LAorICAgICAgICAgIHNpajEgPSBzaVtqIC0gMV1bMV0gfHwgMCwKKyAgICAgICAgICBzMyA9IChz
aWowIC0gc2lqMSkgLyAyOworICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCBpOyArK2spIHsKKyAg
ICAgICAgdmFyIHNrID0gc2VyaWVzW29yZGVyW2tdXSwKKyAgICAgICAgICAgIHNrajAgPSBza1tq
XVsxXSB8fCAwLAorICAgICAgICAgICAgc2tqMSA9IHNrW2ogLSAxXVsxXSB8fCAwOworICAgICAg
ICBzMyArPSBza2owIC0gc2tqMTsKKyAgICAgIH0KKyAgICAgIHMxICs9IHNpajAsIHMyICs9IHMz
ICogc2lqMDsKKyAgICB9CisgICAgczBbaiAtIDFdWzFdICs9IHMwW2ogLSAxXVswXSA9IHk7Cisg
ICAgaWYgKHMxKSB5IC09IHMyIC8gczE7CisgIH0KKyAgczBbaiAtIDFdWzFdICs9IHMwW2ogLSAx
XVswXSA9IHk7CisgIG5vbmUkMShzZXJpZXMsIG9yZGVyKTsKK30KKworZnVuY3Rpb24gYXBwZWFy
YW5jZShzZXJpZXMpIHsKKyAgdmFyIHBlYWtzID0gc2VyaWVzLm1hcChwZWFrKTsKKyAgcmV0dXJu
IG5vbmUkMihzZXJpZXMpLnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4gcGVha3NbYV0gLSBw
ZWFrc1tiXTsgfSk7Cit9CisKK2Z1bmN0aW9uIHBlYWsoc2VyaWVzKSB7CisgIHZhciBpID0gLTEs
IGogPSAwLCBuID0gc2VyaWVzLmxlbmd0aCwgdmksIHZqID0gLUluZmluaXR5OworICB3aGlsZSAo
KytpIDwgbikgaWYgKCh2aSA9ICtzZXJpZXNbaV1bMV0pID4gdmopIHZqID0gdmksIGogPSBpOwor
ICByZXR1cm4gajsKK30KKworZnVuY3Rpb24gYXNjZW5kaW5nJDMoc2VyaWVzKSB7CisgIHZhciBz
dW1zID0gc2VyaWVzLm1hcChzdW0kMik7CisgIHJldHVybiBub25lJDIoc2VyaWVzKS5zb3J0KGZ1
bmN0aW9uKGEsIGIpIHsgcmV0dXJuIHN1bXNbYV0gLSBzdW1zW2JdOyB9KTsKK30KKworZnVuY3Rp
b24gc3VtJDIoc2VyaWVzKSB7CisgIHZhciBzID0gMCwgaSA9IC0xLCBuID0gc2VyaWVzLmxlbmd0
aCwgdjsKKyAgd2hpbGUgKCsraSA8IG4pIGlmICh2ID0gK3Nlcmllc1tpXVsxXSkgcyArPSB2Owor
ICByZXR1cm4gczsKK30KKworZnVuY3Rpb24gZGVzY2VuZGluZyQyKHNlcmllcykgeworICByZXR1
cm4gYXNjZW5kaW5nJDMoc2VyaWVzKS5yZXZlcnNlKCk7Cit9CisKK2Z1bmN0aW9uIGluc2lkZU91
dChzZXJpZXMpIHsKKyAgdmFyIG4gPSBzZXJpZXMubGVuZ3RoLAorICAgICAgaSwKKyAgICAgIGos
CisgICAgICBzdW1zID0gc2VyaWVzLm1hcChzdW0kMiksCisgICAgICBvcmRlciA9IGFwcGVhcmFu
Y2Uoc2VyaWVzKSwKKyAgICAgIHRvcCA9IDAsCisgICAgICBib3R0b20gPSAwLAorICAgICAgdG9w
cyA9IFtdLAorICAgICAgYm90dG9tcyA9IFtdOworCisgIGZvciAoaSA9IDA7IGkgPCBuOyArK2kp
IHsKKyAgICBqID0gb3JkZXJbaV07CisgICAgaWYgKHRvcCA8IGJvdHRvbSkgeworICAgICAgdG9w
ICs9IHN1bXNbal07CisgICAgICB0b3BzLnB1c2goaik7CisgICAgfSBlbHNlIHsKKyAgICAgIGJv
dHRvbSArPSBzdW1zW2pdOworICAgICAgYm90dG9tcy5wdXNoKGopOworICAgIH0KKyAgfQorCisg
IHJldHVybiBib3R0b21zLnJldmVyc2UoKS5jb25jYXQodG9wcyk7Cit9CisKK2Z1bmN0aW9uIHJl
dmVyc2Uoc2VyaWVzKSB7CisgIHJldHVybiBub25lJDIoc2VyaWVzKS5yZXZlcnNlKCk7Cit9CisK
K2Z1bmN0aW9uIGNvbnN0YW50JGMoeCkgeworICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgcmV0
dXJuIHg7CisgIH07Cit9CisKK2Z1bmN0aW9uIHgkNChkKSB7CisgIHJldHVybiBkWzBdOworfQor
CitmdW5jdGlvbiB5JDQoZCkgeworICByZXR1cm4gZFsxXTsKK30KKworZnVuY3Rpb24gUmVkQmxh
Y2tUcmVlKCkgeworICB0aGlzLl8gPSBudWxsOyAvLyByb290IG5vZGUKK30KKworZnVuY3Rpb24g
UmVkQmxhY2tOb2RlKG5vZGUpIHsKKyAgbm9kZS5VID0gLy8gcGFyZW50IG5vZGUKKyAgbm9kZS5D
ID0gLy8gY29sb3IgLSB0cnVlIGZvciByZWQsIGZhbHNlIGZvciBibGFjaworICBub2RlLkwgPSAv
LyBsZWZ0IG5vZGUKKyAgbm9kZS5SID0gLy8gcmlnaHQgbm9kZQorICBub2RlLlAgPSAvLyBwcmV2
aW91cyBub2RlCisgIG5vZGUuTiA9IG51bGw7IC8vIG5leHQgbm9kZQorfQorCitSZWRCbGFja1Ry
ZWUucHJvdG90eXBlID0geworICBjb25zdHJ1Y3RvcjogUmVkQmxhY2tUcmVlLAorCisgIGluc2Vy
dDogZnVuY3Rpb24oYWZ0ZXIsIG5vZGUpIHsKKyAgICB2YXIgcGFyZW50LCBncmFuZHBhLCB1bmNs
ZTsKKworICAgIGlmIChhZnRlcikgeworICAgICAgbm9kZS5QID0gYWZ0ZXI7CisgICAgICBub2Rl
Lk4gPSBhZnRlci5OOworICAgICAgaWYgKGFmdGVyLk4pIGFmdGVyLk4uUCA9IG5vZGU7CisgICAg
ICBhZnRlci5OID0gbm9kZTsKKyAgICAgIGlmIChhZnRlci5SKSB7CisgICAgICAgIGFmdGVyID0g
YWZ0ZXIuUjsKKyAgICAgICAgd2hpbGUgKGFmdGVyLkwpIGFmdGVyID0gYWZ0ZXIuTDsKKyAgICAg
ICAgYWZ0ZXIuTCA9IG5vZGU7CisgICAgICB9IGVsc2UgeworICAgICAgICBhZnRlci5SID0gbm9k
ZTsKKyAgICAgIH0KKyAgICAgIHBhcmVudCA9IGFmdGVyOworICAgIH0gZWxzZSBpZiAodGhpcy5f
KSB7CisgICAgICBhZnRlciA9IFJlZEJsYWNrRmlyc3QodGhpcy5fKTsKKyAgICAgIG5vZGUuUCA9
IG51bGw7CisgICAgICBub2RlLk4gPSBhZnRlcjsKKyAgICAgIGFmdGVyLlAgPSBhZnRlci5MID0g
bm9kZTsKKyAgICAgIHBhcmVudCA9IGFmdGVyOworICAgIH0gZWxzZSB7CisgICAgICBub2RlLlAg
PSBub2RlLk4gPSBudWxsOworICAgICAgdGhpcy5fID0gbm9kZTsKKyAgICAgIHBhcmVudCA9IG51
bGw7CisgICAgfQorICAgIG5vZGUuTCA9IG5vZGUuUiA9IG51bGw7CisgICAgbm9kZS5VID0gcGFy
ZW50OworICAgIG5vZGUuQyA9IHRydWU7CisKKyAgICBhZnRlciA9IG5vZGU7CisgICAgd2hpbGUg
KHBhcmVudCAmJiBwYXJlbnQuQykgeworICAgICAgZ3JhbmRwYSA9IHBhcmVudC5VOworICAgICAg
aWYgKHBhcmVudCA9PT0gZ3JhbmRwYS5MKSB7CisgICAgICAgIHVuY2xlID0gZ3JhbmRwYS5SOwor
ICAgICAgICBpZiAodW5jbGUgJiYgdW5jbGUuQykgeworICAgICAgICAgIHBhcmVudC5DID0gdW5j
bGUuQyA9IGZhbHNlOworICAgICAgICAgIGdyYW5kcGEuQyA9IHRydWU7CisgICAgICAgICAgYWZ0
ZXIgPSBncmFuZHBhOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIGlmIChhZnRlciA9PT0g
cGFyZW50LlIpIHsKKyAgICAgICAgICAgIFJlZEJsYWNrUm90YXRlTGVmdCh0aGlzLCBwYXJlbnQp
OworICAgICAgICAgICAgYWZ0ZXIgPSBwYXJlbnQ7CisgICAgICAgICAgICBwYXJlbnQgPSBhZnRl
ci5VOworICAgICAgICAgIH0KKyAgICAgICAgICBwYXJlbnQuQyA9IGZhbHNlOworICAgICAgICAg
IGdyYW5kcGEuQyA9IHRydWU7CisgICAgICAgICAgUmVkQmxhY2tSb3RhdGVSaWdodCh0aGlzLCBn
cmFuZHBhKTsKKyAgICAgICAgfQorICAgICAgfSBlbHNlIHsKKyAgICAgICAgdW5jbGUgPSBncmFu
ZHBhLkw7CisgICAgICAgIGlmICh1bmNsZSAmJiB1bmNsZS5DKSB7CisgICAgICAgICAgcGFyZW50
LkMgPSB1bmNsZS5DID0gZmFsc2U7CisgICAgICAgICAgZ3JhbmRwYS5DID0gdHJ1ZTsKKyAgICAg
ICAgICBhZnRlciA9IGdyYW5kcGE7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgaWYgKGFm
dGVyID09PSBwYXJlbnQuTCkgeworICAgICAgICAgICAgUmVkQmxhY2tSb3RhdGVSaWdodCh0aGlz
LCBwYXJlbnQpOworICAgICAgICAgICAgYWZ0ZXIgPSBwYXJlbnQ7CisgICAgICAgICAgICBwYXJl
bnQgPSBhZnRlci5VOworICAgICAgICAgIH0KKyAgICAgICAgICBwYXJlbnQuQyA9IGZhbHNlOwor
ICAgICAgICAgIGdyYW5kcGEuQyA9IHRydWU7CisgICAgICAgICAgUmVkQmxhY2tSb3RhdGVMZWZ0
KHRoaXMsIGdyYW5kcGEpOworICAgICAgICB9CisgICAgICB9CisgICAgICBwYXJlbnQgPSBhZnRl
ci5VOworICAgIH0KKyAgICB0aGlzLl8uQyA9IGZhbHNlOworICB9LAorCisgIHJlbW92ZTogZnVu
Y3Rpb24obm9kZSkgeworICAgIGlmIChub2RlLk4pIG5vZGUuTi5QID0gbm9kZS5QOworICAgIGlm
IChub2RlLlApIG5vZGUuUC5OID0gbm9kZS5OOworICAgIG5vZGUuTiA9IG5vZGUuUCA9IG51bGw7
CisKKyAgICB2YXIgcGFyZW50ID0gbm9kZS5VLAorICAgICAgICBzaWJsaW5nLAorICAgICAgICBs
ZWZ0ID0gbm9kZS5MLAorICAgICAgICByaWdodCA9IG5vZGUuUiwKKyAgICAgICAgbmV4dCwKKyAg
ICAgICAgcmVkOworCisgICAgaWYgKCFsZWZ0KSBuZXh0ID0gcmlnaHQ7CisgICAgZWxzZSBpZiAo
IXJpZ2h0KSBuZXh0ID0gbGVmdDsKKyAgICBlbHNlIG5leHQgPSBSZWRCbGFja0ZpcnN0KHJpZ2h0
KTsKKworICAgIGlmIChwYXJlbnQpIHsKKyAgICAgIGlmIChwYXJlbnQuTCA9PT0gbm9kZSkgcGFy
ZW50LkwgPSBuZXh0OworICAgICAgZWxzZSBwYXJlbnQuUiA9IG5leHQ7CisgICAgfSBlbHNlIHsK
KyAgICAgIHRoaXMuXyA9IG5leHQ7CisgICAgfQorCisgICAgaWYgKGxlZnQgJiYgcmlnaHQpIHsK
KyAgICAgIHJlZCA9IG5leHQuQzsKKyAgICAgIG5leHQuQyA9IG5vZGUuQzsKKyAgICAgIG5leHQu
TCA9IGxlZnQ7CisgICAgICBsZWZ0LlUgPSBuZXh0OworICAgICAgaWYgKG5leHQgIT09IHJpZ2h0
KSB7CisgICAgICAgIHBhcmVudCA9IG5leHQuVTsKKyAgICAgICAgbmV4dC5VID0gbm9kZS5VOwor
ICAgICAgICBub2RlID0gbmV4dC5SOworICAgICAgICBwYXJlbnQuTCA9IG5vZGU7CisgICAgICAg
IG5leHQuUiA9IHJpZ2h0OworICAgICAgICByaWdodC5VID0gbmV4dDsKKyAgICAgIH0gZWxzZSB7
CisgICAgICAgIG5leHQuVSA9IHBhcmVudDsKKyAgICAgICAgcGFyZW50ID0gbmV4dDsKKyAgICAg
ICAgbm9kZSA9IG5leHQuUjsKKyAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgcmVkID0gbm9k
ZS5DOworICAgICAgbm9kZSA9IG5leHQ7CisgICAgfQorCisgICAgaWYgKG5vZGUpIG5vZGUuVSA9
IHBhcmVudDsKKyAgICBpZiAocmVkKSByZXR1cm47CisgICAgaWYgKG5vZGUgJiYgbm9kZS5DKSB7
IG5vZGUuQyA9IGZhbHNlOyByZXR1cm47IH0KKworICAgIGRvIHsKKyAgICAgIGlmIChub2RlID09
PSB0aGlzLl8pIGJyZWFrOworICAgICAgaWYgKG5vZGUgPT09IHBhcmVudC5MKSB7CisgICAgICAg
IHNpYmxpbmcgPSBwYXJlbnQuUjsKKyAgICAgICAgaWYgKHNpYmxpbmcuQykgeworICAgICAgICAg
IHNpYmxpbmcuQyA9IGZhbHNlOworICAgICAgICAgIHBhcmVudC5DID0gdHJ1ZTsKKyAgICAgICAg
ICBSZWRCbGFja1JvdGF0ZUxlZnQodGhpcywgcGFyZW50KTsKKyAgICAgICAgICBzaWJsaW5nID0g
cGFyZW50LlI7CisgICAgICAgIH0KKyAgICAgICAgaWYgKChzaWJsaW5nLkwgJiYgc2libGluZy5M
LkMpCisgICAgICAgICAgICB8fCAoc2libGluZy5SICYmIHNpYmxpbmcuUi5DKSkgeworICAgICAg
ICAgIGlmICghc2libGluZy5SIHx8ICFzaWJsaW5nLlIuQykgeworICAgICAgICAgICAgc2libGlu
Zy5MLkMgPSBmYWxzZTsKKyAgICAgICAgICAgIHNpYmxpbmcuQyA9IHRydWU7CisgICAgICAgICAg
ICBSZWRCbGFja1JvdGF0ZVJpZ2h0KHRoaXMsIHNpYmxpbmcpOworICAgICAgICAgICAgc2libGlu
ZyA9IHBhcmVudC5SOworICAgICAgICAgIH0KKyAgICAgICAgICBzaWJsaW5nLkMgPSBwYXJlbnQu
QzsKKyAgICAgICAgICBwYXJlbnQuQyA9IHNpYmxpbmcuUi5DID0gZmFsc2U7CisgICAgICAgICAg
UmVkQmxhY2tSb3RhdGVMZWZ0KHRoaXMsIHBhcmVudCk7CisgICAgICAgICAgbm9kZSA9IHRoaXMu
XzsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgfSBlbHNlIHsKKyAgICAgICAg
c2libGluZyA9IHBhcmVudC5MOworICAgICAgICBpZiAoc2libGluZy5DKSB7CisgICAgICAgICAg
c2libGluZy5DID0gZmFsc2U7CisgICAgICAgICAgcGFyZW50LkMgPSB0cnVlOworICAgICAgICAg
IFJlZEJsYWNrUm90YXRlUmlnaHQodGhpcywgcGFyZW50KTsKKyAgICAgICAgICBzaWJsaW5nID0g
cGFyZW50Lkw7CisgICAgICAgIH0KKyAgICAgICAgaWYgKChzaWJsaW5nLkwgJiYgc2libGluZy5M
LkMpCisgICAgICAgICAgfHwgKHNpYmxpbmcuUiAmJiBzaWJsaW5nLlIuQykpIHsKKyAgICAgICAg
ICBpZiAoIXNpYmxpbmcuTCB8fCAhc2libGluZy5MLkMpIHsKKyAgICAgICAgICAgIHNpYmxpbmcu
Ui5DID0gZmFsc2U7CisgICAgICAgICAgICBzaWJsaW5nLkMgPSB0cnVlOworICAgICAgICAgICAg
UmVkQmxhY2tSb3RhdGVMZWZ0KHRoaXMsIHNpYmxpbmcpOworICAgICAgICAgICAgc2libGluZyA9
IHBhcmVudC5MOworICAgICAgICAgIH0KKyAgICAgICAgICBzaWJsaW5nLkMgPSBwYXJlbnQuQzsK
KyAgICAgICAgICBwYXJlbnQuQyA9IHNpYmxpbmcuTC5DID0gZmFsc2U7CisgICAgICAgICAgUmVk
QmxhY2tSb3RhdGVSaWdodCh0aGlzLCBwYXJlbnQpOworICAgICAgICAgIG5vZGUgPSB0aGlzLl87
CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIHNpYmxpbmcuQyA9
IHRydWU7CisgICAgICBub2RlID0gcGFyZW50OworICAgICAgcGFyZW50ID0gcGFyZW50LlU7Cisg
ICAgfSB3aGlsZSAoIW5vZGUuQyk7CisKKyAgICBpZiAobm9kZSkgbm9kZS5DID0gZmFsc2U7Cisg
IH0KK307CisKK2Z1bmN0aW9uIFJlZEJsYWNrUm90YXRlTGVmdCh0cmVlLCBub2RlKSB7CisgIHZh
ciBwID0gbm9kZSwKKyAgICAgIHEgPSBub2RlLlIsCisgICAgICBwYXJlbnQgPSBwLlU7CisKKyAg
aWYgKHBhcmVudCkgeworICAgIGlmIChwYXJlbnQuTCA9PT0gcCkgcGFyZW50LkwgPSBxOworICAg
IGVsc2UgcGFyZW50LlIgPSBxOworICB9IGVsc2UgeworICAgIHRyZWUuXyA9IHE7CisgIH0KKwor
ICBxLlUgPSBwYXJlbnQ7CisgIHAuVSA9IHE7CisgIHAuUiA9IHEuTDsKKyAgaWYgKHAuUikgcC5S
LlUgPSBwOworICBxLkwgPSBwOworfQorCitmdW5jdGlvbiBSZWRCbGFja1JvdGF0ZVJpZ2h0KHRy
ZWUsIG5vZGUpIHsKKyAgdmFyIHAgPSBub2RlLAorICAgICAgcSA9IG5vZGUuTCwKKyAgICAgIHBh
cmVudCA9IHAuVTsKKworICBpZiAocGFyZW50KSB7CisgICAgaWYgKHBhcmVudC5MID09PSBwKSBw
YXJlbnQuTCA9IHE7CisgICAgZWxzZSBwYXJlbnQuUiA9IHE7CisgIH0gZWxzZSB7CisgICAgdHJl
ZS5fID0gcTsKKyAgfQorCisgIHEuVSA9IHBhcmVudDsKKyAgcC5VID0gcTsKKyAgcC5MID0gcS5S
OworICBpZiAocC5MKSBwLkwuVSA9IHA7CisgIHEuUiA9IHA7Cit9CisKK2Z1bmN0aW9uIFJlZEJs
YWNrRmlyc3Qobm9kZSkgeworICB3aGlsZSAobm9kZS5MKSBub2RlID0gbm9kZS5MOworICByZXR1
cm4gbm9kZTsKK30KKworZnVuY3Rpb24gY3JlYXRlRWRnZShsZWZ0LCByaWdodCwgdjAsIHYxKSB7
CisgIHZhciBlZGdlID0gW251bGwsIG51bGxdLAorICAgICAgaW5kZXggPSBlZGdlcy5wdXNoKGVk
Z2UpIC0gMTsKKyAgZWRnZS5sZWZ0ID0gbGVmdDsKKyAgZWRnZS5yaWdodCA9IHJpZ2h0OworICBp
ZiAodjApIHNldEVkZ2VFbmQoZWRnZSwgbGVmdCwgcmlnaHQsIHYwKTsKKyAgaWYgKHYxKSBzZXRF
ZGdlRW5kKGVkZ2UsIHJpZ2h0LCBsZWZ0LCB2MSk7CisgIGNlbGxzW2xlZnQuaW5kZXhdLmhhbGZl
ZGdlcy5wdXNoKGluZGV4KTsKKyAgY2VsbHNbcmlnaHQuaW5kZXhdLmhhbGZlZGdlcy5wdXNoKGlu
ZGV4KTsKKyAgcmV0dXJuIGVkZ2U7Cit9CisKK2Z1bmN0aW9uIGNyZWF0ZUJvcmRlckVkZ2UobGVm
dCwgdjAsIHYxKSB7CisgIHZhciBlZGdlID0gW3YwLCB2MV07CisgIGVkZ2UubGVmdCA9IGxlZnQ7
CisgIHJldHVybiBlZGdlOworfQorCitmdW5jdGlvbiBzZXRFZGdlRW5kKGVkZ2UsIGxlZnQsIHJp
Z2h0LCB2ZXJ0ZXgpIHsKKyAgaWYgKCFlZGdlWzBdICYmICFlZGdlWzFdKSB7CisgICAgZWRnZVsw
XSA9IHZlcnRleDsKKyAgICBlZGdlLmxlZnQgPSBsZWZ0OworICAgIGVkZ2UucmlnaHQgPSByaWdo
dDsKKyAgfSBlbHNlIGlmIChlZGdlLmxlZnQgPT09IHJpZ2h0KSB7CisgICAgZWRnZVsxXSA9IHZl
cnRleDsKKyAgfSBlbHNlIHsKKyAgICBlZGdlWzBdID0gdmVydGV4OworICB9Cit9CisKKy8vIExp
YW5n4oCTQmFyc2t5IGxpbmUgY2xpcHBpbmcuCitmdW5jdGlvbiBjbGlwRWRnZShlZGdlLCB4MCwg
eTAsIHgxLCB5MSkgeworICB2YXIgYSA9IGVkZ2VbMF0sCisgICAgICBiID0gZWRnZVsxXSwKKyAg
ICAgIGF4ID0gYVswXSwKKyAgICAgIGF5ID0gYVsxXSwKKyAgICAgIGJ4ID0gYlswXSwKKyAgICAg
IGJ5ID0gYlsxXSwKKyAgICAgIHQwID0gMCwKKyAgICAgIHQxID0gMSwKKyAgICAgIGR4ID0gYngg
LSBheCwKKyAgICAgIGR5ID0gYnkgLSBheSwKKyAgICAgIHI7CisKKyAgciA9IHgwIC0gYXg7Cisg
IGlmICghZHggJiYgciA+IDApIHJldHVybjsKKyAgciAvPSBkeDsKKyAgaWYgKGR4IDwgMCkgewor
ICAgIGlmIChyIDwgdDApIHJldHVybjsKKyAgICBpZiAociA8IHQxKSB0MSA9IHI7CisgIH0gZWxz
ZSBpZiAoZHggPiAwKSB7CisgICAgaWYgKHIgPiB0MSkgcmV0dXJuOworICAgIGlmIChyID4gdDAp
IHQwID0gcjsKKyAgfQorCisgIHIgPSB4MSAtIGF4OworICBpZiAoIWR4ICYmIHIgPCAwKSByZXR1
cm47CisgIHIgLz0gZHg7CisgIGlmIChkeCA8IDApIHsKKyAgICBpZiAociA+IHQxKSByZXR1cm47
CisgICAgaWYgKHIgPiB0MCkgdDAgPSByOworICB9IGVsc2UgaWYgKGR4ID4gMCkgeworICAgIGlm
IChyIDwgdDApIHJldHVybjsKKyAgICBpZiAociA8IHQxKSB0MSA9IHI7CisgIH0KKworICByID0g
eTAgLSBheTsKKyAgaWYgKCFkeSAmJiByID4gMCkgcmV0dXJuOworICByIC89IGR5OworICBpZiAo
ZHkgPCAwKSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJuOworICAgIGlmIChyIDwgdDEpIHQxID0g
cjsKKyAgfSBlbHNlIGlmIChkeSA+IDApIHsKKyAgICBpZiAociA+IHQxKSByZXR1cm47CisgICAg
aWYgKHIgPiB0MCkgdDAgPSByOworICB9CisKKyAgciA9IHkxIC0gYXk7CisgIGlmICghZHkgJiYg
ciA8IDApIHJldHVybjsKKyAgciAvPSBkeTsKKyAgaWYgKGR5IDwgMCkgeworICAgIGlmIChyID4g
dDEpIHJldHVybjsKKyAgICBpZiAociA+IHQwKSB0MCA9IHI7CisgIH0gZWxzZSBpZiAoZHkgPiAw
KSB7CisgICAgaWYgKHIgPCB0MCkgcmV0dXJuOworICAgIGlmIChyIDwgdDEpIHQxID0gcjsKKyAg
fQorCisgIGlmICghKHQwID4gMCkgJiYgISh0MSA8IDEpKSByZXR1cm4gdHJ1ZTsgLy8gVE9ETyBC
ZXR0ZXIgY2hlY2s/CisKKyAgaWYgKHQwID4gMCkgZWRnZVswXSA9IFtheCArIHQwICogZHgsIGF5
ICsgdDAgKiBkeV07CisgIGlmICh0MSA8IDEpIGVkZ2VbMV0gPSBbYXggKyB0MSAqIGR4LCBheSAr
IHQxICogZHldOworICByZXR1cm4gdHJ1ZTsKK30KKworZnVuY3Rpb24gY29ubmVjdEVkZ2UoZWRn
ZSwgeDAsIHkwLCB4MSwgeTEpIHsKKyAgdmFyIHYxID0gZWRnZVsxXTsKKyAgaWYgKHYxKSByZXR1
cm4gdHJ1ZTsKKworICB2YXIgdjAgPSBlZGdlWzBdLAorICAgICAgbGVmdCA9IGVkZ2UubGVmdCwK
KyAgICAgIHJpZ2h0ID0gZWRnZS5yaWdodCwKKyAgICAgIGx4ID0gbGVmdFswXSwKKyAgICAgIGx5
ID0gbGVmdFsxXSwKKyAgICAgIHJ4ID0gcmlnaHRbMF0sCisgICAgICByeSA9IHJpZ2h0WzFdLAor
ICAgICAgZnggPSAobHggKyByeCkgLyAyLAorICAgICAgZnkgPSAobHkgKyByeSkgLyAyLAorICAg
ICAgZm0sCisgICAgICBmYjsKKworICBpZiAocnkgPT09IGx5KSB7CisgICAgaWYgKGZ4IDwgeDAg
fHwgZnggPj0geDEpIHJldHVybjsKKyAgICBpZiAobHggPiByeCkgeworICAgICAgaWYgKCF2MCkg
djAgPSBbZngsIHkwXTsKKyAgICAgIGVsc2UgaWYgKHYwWzFdID49IHkxKSByZXR1cm47CisgICAg
ICB2MSA9IFtmeCwgeTFdOworICAgIH0gZWxzZSB7CisgICAgICBpZiAoIXYwKSB2MCA9IFtmeCwg
eTFdOworICAgICAgZWxzZSBpZiAodjBbMV0gPCB5MCkgcmV0dXJuOworICAgICAgdjEgPSBbZngs
IHkwXTsKKyAgICB9CisgIH0gZWxzZSB7CisgICAgZm0gPSAobHggLSByeCkgLyAocnkgLSBseSk7
CisgICAgZmIgPSBmeSAtIGZtICogZng7CisgICAgaWYgKGZtIDwgLTEgfHwgZm0gPiAxKSB7Cisg
ICAgICBpZiAobHggPiByeCkgeworICAgICAgICBpZiAoIXYwKSB2MCA9IFsoeTAgLSBmYikgLyBm
bSwgeTBdOworICAgICAgICBlbHNlIGlmICh2MFsxXSA+PSB5MSkgcmV0dXJuOworICAgICAgICB2
MSA9IFsoeTEgLSBmYikgLyBmbSwgeTFdOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKCF2
MCkgdjAgPSBbKHkxIC0gZmIpIC8gZm0sIHkxXTsKKyAgICAgICAgZWxzZSBpZiAodjBbMV0gPCB5
MCkgcmV0dXJuOworICAgICAgICB2MSA9IFsoeTAgLSBmYikgLyBmbSwgeTBdOworICAgICAgfQor
ICAgIH0gZWxzZSB7CisgICAgICBpZiAobHkgPCByeSkgeworICAgICAgICBpZiAoIXYwKSB2MCA9
IFt4MCwgZm0gKiB4MCArIGZiXTsKKyAgICAgICAgZWxzZSBpZiAodjBbMF0gPj0geDEpIHJldHVy
bjsKKyAgICAgICAgdjEgPSBbeDEsIGZtICogeDEgKyBmYl07CisgICAgICB9IGVsc2UgeworICAg
ICAgICBpZiAoIXYwKSB2MCA9IFt4MSwgZm0gKiB4MSArIGZiXTsKKyAgICAgICAgZWxzZSBpZiAo
djBbMF0gPCB4MCkgcmV0dXJuOworICAgICAgICB2MSA9IFt4MCwgZm0gKiB4MCArIGZiXTsKKyAg
ICAgIH0KKyAgICB9CisgIH0KKworICBlZGdlWzBdID0gdjA7CisgIGVkZ2VbMV0gPSB2MTsKKyAg
cmV0dXJuIHRydWU7Cit9CisKK2Z1bmN0aW9uIGNsaXBFZGdlcyh4MCwgeTAsIHgxLCB5MSkgewor
ICB2YXIgaSA9IGVkZ2VzLmxlbmd0aCwKKyAgICAgIGVkZ2U7CisKKyAgd2hpbGUgKGktLSkgewor
ICAgIGlmICghY29ubmVjdEVkZ2UoZWRnZSA9IGVkZ2VzW2ldLCB4MCwgeTAsIHgxLCB5MSkKKyAg
ICAgICAgfHwgIWNsaXBFZGdlKGVkZ2UsIHgwLCB5MCwgeDEsIHkxKQorICAgICAgICB8fCAhKE1h
dGguYWJzKGVkZ2VbMF1bMF0gLSBlZGdlWzFdWzBdKSA+IGVwc2lsb24kNAorICAgICAgICAgICAg
fHwgTWF0aC5hYnMoZWRnZVswXVsxXSAtIGVkZ2VbMV1bMV0pID4gZXBzaWxvbiQ0KSkgeworICAg
ICAgZGVsZXRlIGVkZ2VzW2ldOworICAgIH0KKyAgfQorfQorCitmdW5jdGlvbiBjcmVhdGVDZWxs
KHNpdGUpIHsKKyAgcmV0dXJuIGNlbGxzW3NpdGUuaW5kZXhdID0geworICAgIHNpdGU6IHNpdGUs
CisgICAgaGFsZmVkZ2VzOiBbXQorICB9OworfQorCitmdW5jdGlvbiBjZWxsSGFsZmVkZ2VBbmds
ZShjZWxsLCBlZGdlKSB7CisgIHZhciBzaXRlID0gY2VsbC5zaXRlLAorICAgICAgdmEgPSBlZGdl
LmxlZnQsCisgICAgICB2YiA9IGVkZ2UucmlnaHQ7CisgIGlmIChzaXRlID09PSB2YikgdmIgPSB2
YSwgdmEgPSBzaXRlOworICBpZiAodmIpIHJldHVybiBNYXRoLmF0YW4yKHZiWzFdIC0gdmFbMV0s
IHZiWzBdIC0gdmFbMF0pOworICBpZiAoc2l0ZSA9PT0gdmEpIHZhID0gZWRnZVsxXSwgdmIgPSBl
ZGdlWzBdOworICBlbHNlIHZhID0gZWRnZVswXSwgdmIgPSBlZGdlWzFdOworICByZXR1cm4gTWF0
aC5hdGFuMih2YVswXSAtIHZiWzBdLCB2YlsxXSAtIHZhWzFdKTsKK30KKworZnVuY3Rpb24gY2Vs
bEhhbGZlZGdlU3RhcnQoY2VsbCwgZWRnZSkgeworICByZXR1cm4gZWRnZVsrKGVkZ2UubGVmdCAh
PT0gY2VsbC5zaXRlKV07Cit9CisKK2Z1bmN0aW9uIGNlbGxIYWxmZWRnZUVuZChjZWxsLCBlZGdl
KSB7CisgIHJldHVybiBlZGdlWysoZWRnZS5sZWZ0ID09PSBjZWxsLnNpdGUpXTsKK30KKworZnVu
Y3Rpb24gc29ydENlbGxIYWxmZWRnZXMoKSB7CisgIGZvciAodmFyIGkgPSAwLCBuID0gY2VsbHMu
bGVuZ3RoLCBjZWxsLCBoYWxmZWRnZXMsIGosIG07IGkgPCBuOyArK2kpIHsKKyAgICBpZiAoKGNl
bGwgPSBjZWxsc1tpXSkgJiYgKG0gPSAoaGFsZmVkZ2VzID0gY2VsbC5oYWxmZWRnZXMpLmxlbmd0
aCkpIHsKKyAgICAgIHZhciBpbmRleCA9IG5ldyBBcnJheShtKSwKKyAgICAgICAgICBhcnJheSA9
IG5ldyBBcnJheShtKTsKKyAgICAgIGZvciAoaiA9IDA7IGogPCBtOyArK2opIGluZGV4W2pdID0g
aiwgYXJyYXlbal0gPSBjZWxsSGFsZmVkZ2VBbmdsZShjZWxsLCBlZGdlc1toYWxmZWRnZXNbal1d
KTsKKyAgICAgIGluZGV4LnNvcnQoZnVuY3Rpb24oaSwgaikgeyByZXR1cm4gYXJyYXlbal0gLSBh
cnJheVtpXTsgfSk7CisgICAgICBmb3IgKGogPSAwOyBqIDwgbTsgKytqKSBhcnJheVtqXSA9IGhh
bGZlZGdlc1tpbmRleFtqXV07CisgICAgICBmb3IgKGogPSAwOyBqIDwgbTsgKytqKSBoYWxmZWRn
ZXNbal0gPSBhcnJheVtqXTsKKyAgICB9CisgIH0KK30KKworZnVuY3Rpb24gY2xpcENlbGxzKHgw
LCB5MCwgeDEsIHkxKSB7CisgIHZhciBuQ2VsbHMgPSBjZWxscy5sZW5ndGgsCisgICAgICBpQ2Vs
bCwKKyAgICAgIGNlbGwsCisgICAgICBzaXRlLAorICAgICAgaUhhbGZlZGdlLAorICAgICAgaGFs
ZmVkZ2VzLAorICAgICAgbkhhbGZlZGdlcywKKyAgICAgIHN0YXJ0LAorICAgICAgc3RhcnRYLAor
ICAgICAgc3RhcnRZLAorICAgICAgZW5kLAorICAgICAgZW5kWCwKKyAgICAgIGVuZFksCisgICAg
ICBjb3ZlciA9IHRydWU7CisKKyAgZm9yIChpQ2VsbCA9IDA7IGlDZWxsIDwgbkNlbGxzOyArK2lD
ZWxsKSB7CisgICAgaWYgKGNlbGwgPSBjZWxsc1tpQ2VsbF0pIHsKKyAgICAgIHNpdGUgPSBjZWxs
LnNpdGU7CisgICAgICBoYWxmZWRnZXMgPSBjZWxsLmhhbGZlZGdlczsKKyAgICAgIGlIYWxmZWRn
ZSA9IGhhbGZlZGdlcy5sZW5ndGg7CisKKyAgICAgIC8vIFJlbW92ZSBhbnkgZGFuZ2xpbmcgY2xp
cHBlZCBlZGdlcy4KKyAgICAgIHdoaWxlIChpSGFsZmVkZ2UtLSkgeworICAgICAgICBpZiAoIWVk
Z2VzW2hhbGZlZGdlc1tpSGFsZmVkZ2VdXSkgeworICAgICAgICAgIGhhbGZlZGdlcy5zcGxpY2Uo
aUhhbGZlZGdlLCAxKTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICAvLyBJbnNlcnQgYW55
IGJvcmRlciBlZGdlcyBhcyBuZWNlc3NhcnkuCisgICAgICBpSGFsZmVkZ2UgPSAwLCBuSGFsZmVk
Z2VzID0gaGFsZmVkZ2VzLmxlbmd0aDsKKyAgICAgIHdoaWxlIChpSGFsZmVkZ2UgPCBuSGFsZmVk
Z2VzKSB7CisgICAgICAgIGVuZCA9IGNlbGxIYWxmZWRnZUVuZChjZWxsLCBlZGdlc1toYWxmZWRn
ZXNbaUhhbGZlZGdlXV0pLCBlbmRYID0gZW5kWzBdLCBlbmRZID0gZW5kWzFdOworICAgICAgICBz
dGFydCA9IGNlbGxIYWxmZWRnZVN0YXJ0KGNlbGwsIGVkZ2VzW2hhbGZlZGdlc1srK2lIYWxmZWRn
ZSAlIG5IYWxmZWRnZXNdXSksIHN0YXJ0WCA9IHN0YXJ0WzBdLCBzdGFydFkgPSBzdGFydFsxXTsK
KyAgICAgICAgaWYgKE1hdGguYWJzKGVuZFggLSBzdGFydFgpID4gZXBzaWxvbiQ0IHx8IE1hdGgu
YWJzKGVuZFkgLSBzdGFydFkpID4gZXBzaWxvbiQ0KSB7CisgICAgICAgICAgaGFsZmVkZ2VzLnNw
bGljZShpSGFsZmVkZ2UsIDAsIGVkZ2VzLnB1c2goY3JlYXRlQm9yZGVyRWRnZShzaXRlLCBlbmQs
CisgICAgICAgICAgICAgIE1hdGguYWJzKGVuZFggLSB4MCkgPCBlcHNpbG9uJDQgJiYgeTEgLSBl
bmRZID4gZXBzaWxvbiQ0ID8gW3gwLCBNYXRoLmFicyhzdGFydFggLSB4MCkgPCBlcHNpbG9uJDQg
PyBzdGFydFkgOiB5MV0KKyAgICAgICAgICAgICAgOiBNYXRoLmFicyhlbmRZIC0geTEpIDwgZXBz
aWxvbiQ0ICYmIHgxIC0gZW5kWCA+IGVwc2lsb24kNCA/IFtNYXRoLmFicyhzdGFydFkgLSB5MSkg
PCBlcHNpbG9uJDQgPyBzdGFydFggOiB4MSwgeTFdCisgICAgICAgICAgICAgIDogTWF0aC5hYnMo
ZW5kWCAtIHgxKSA8IGVwc2lsb24kNCAmJiBlbmRZIC0geTAgPiBlcHNpbG9uJDQgPyBbeDEsIE1h
dGguYWJzKHN0YXJ0WCAtIHgxKSA8IGVwc2lsb24kNCA/IHN0YXJ0WSA6IHkwXQorICAgICAgICAg
ICAgICA6IE1hdGguYWJzKGVuZFkgLSB5MCkgPCBlcHNpbG9uJDQgJiYgZW5kWCAtIHgwID4gZXBz
aWxvbiQ0ID8gW01hdGguYWJzKHN0YXJ0WSAtIHkwKSA8IGVwc2lsb24kNCA/IHN0YXJ0WCA6IHgw
LCB5MF0KKyAgICAgICAgICAgICAgOiBudWxsKSkgLSAxKTsKKyAgICAgICAgICArK25IYWxmZWRn
ZXM7CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgaWYgKG5IYWxmZWRnZXMpIGNvdmVyID0g
ZmFsc2U7CisgICAgfQorICB9CisKKyAgLy8gSWYgdGhlcmUgd2VyZW7igJl0IGFueSBlZGdlcywg
aGF2ZSB0aGUgY2xvc2VzdCBzaXRlIGNvdmVyIHRoZSBleHRlbnQuCisgIC8vIEl0IGRvZXNu4oCZ
dCBtYXR0ZXIgd2hpY2ggY29ybmVyIG9mIHRoZSBleHRlbnQgd2UgbWVhc3VyZSEKKyAgaWYgKGNv
dmVyKSB7CisgICAgdmFyIGR4LCBkeSwgZDIsIGRjID0gSW5maW5pdHk7CisKKyAgICBmb3IgKGlD
ZWxsID0gMCwgY292ZXIgPSBudWxsOyBpQ2VsbCA8IG5DZWxsczsgKytpQ2VsbCkgeworICAgICAg
aWYgKGNlbGwgPSBjZWxsc1tpQ2VsbF0pIHsKKyAgICAgICAgc2l0ZSA9IGNlbGwuc2l0ZTsKKyAg
ICAgICAgZHggPSBzaXRlWzBdIC0geDA7CisgICAgICAgIGR5ID0gc2l0ZVsxXSAtIHkwOworICAg
ICAgICBkMiA9IGR4ICogZHggKyBkeSAqIGR5OworICAgICAgICBpZiAoZDIgPCBkYykgZGMgPSBk
MiwgY292ZXIgPSBjZWxsOworICAgICAgfQorICAgIH0KKworICAgIGlmIChjb3ZlcikgeworICAg
ICAgdmFyIHYwMCA9IFt4MCwgeTBdLCB2MDEgPSBbeDAsIHkxXSwgdjExID0gW3gxLCB5MV0sIHYx
MCA9IFt4MSwgeTBdOworICAgICAgY292ZXIuaGFsZmVkZ2VzLnB1c2goCisgICAgICAgIGVkZ2Vz
LnB1c2goY3JlYXRlQm9yZGVyRWRnZShzaXRlID0gY292ZXIuc2l0ZSwgdjAwLCB2MDEpKSAtIDEs
CisgICAgICAgIGVkZ2VzLnB1c2goY3JlYXRlQm9yZGVyRWRnZShzaXRlLCB2MDEsIHYxMSkpIC0g
MSwKKyAgICAgICAgZWRnZXMucHVzaChjcmVhdGVCb3JkZXJFZGdlKHNpdGUsIHYxMSwgdjEwKSkg
LSAxLAorICAgICAgICBlZGdlcy5wdXNoKGNyZWF0ZUJvcmRlckVkZ2Uoc2l0ZSwgdjEwLCB2MDAp
KSAtIDEKKyAgICAgICk7CisgICAgfQorICB9CisKKyAgLy8gTGFzdGx5IGRlbGV0ZSBhbnkgY2Vs
bHMgd2l0aCBubyBlZGdlczsgdGhlc2Ugd2VyZSBlbnRpcmVseSBjbGlwcGVkLgorICBmb3IgKGlD
ZWxsID0gMDsgaUNlbGwgPCBuQ2VsbHM7ICsraUNlbGwpIHsKKyAgICBpZiAoY2VsbCA9IGNlbGxz
W2lDZWxsXSkgeworICAgICAgaWYgKCFjZWxsLmhhbGZlZGdlcy5sZW5ndGgpIHsKKyAgICAgICAg
ZGVsZXRlIGNlbGxzW2lDZWxsXTsKKyAgICAgIH0KKyAgICB9CisgIH0KK30KKwordmFyIGNpcmNs
ZVBvb2wgPSBbXTsKKwordmFyIGZpcnN0Q2lyY2xlOworCitmdW5jdGlvbiBDaXJjbGUoKSB7Cisg
IFJlZEJsYWNrTm9kZSh0aGlzKTsKKyAgdGhpcy54ID0KKyAgdGhpcy55ID0KKyAgdGhpcy5hcmMg
PQorICB0aGlzLnNpdGUgPQorICB0aGlzLmN5ID0gbnVsbDsKK30KKworZnVuY3Rpb24gYXR0YWNo
Q2lyY2xlKGFyYykgeworICB2YXIgbEFyYyA9IGFyYy5QLAorICAgICAgckFyYyA9IGFyYy5OOwor
CisgIGlmICghbEFyYyB8fCAhckFyYykgcmV0dXJuOworCisgIHZhciBsU2l0ZSA9IGxBcmMuc2l0
ZSwKKyAgICAgIGNTaXRlID0gYXJjLnNpdGUsCisgICAgICByU2l0ZSA9IHJBcmMuc2l0ZTsKKwor
ICBpZiAobFNpdGUgPT09IHJTaXRlKSByZXR1cm47CisKKyAgdmFyIGJ4ID0gY1NpdGVbMF0sCisg
ICAgICBieSA9IGNTaXRlWzFdLAorICAgICAgYXggPSBsU2l0ZVswXSAtIGJ4LAorICAgICAgYXkg
PSBsU2l0ZVsxXSAtIGJ5LAorICAgICAgY3ggPSByU2l0ZVswXSAtIGJ4LAorICAgICAgY3kgPSBy
U2l0ZVsxXSAtIGJ5OworCisgIHZhciBkID0gMiAqIChheCAqIGN5IC0gYXkgKiBjeCk7CisgIGlm
IChkID49IC1lcHNpbG9uMiQyKSByZXR1cm47CisKKyAgdmFyIGhhID0gYXggKiBheCArIGF5ICog
YXksCisgICAgICBoYyA9IGN4ICogY3ggKyBjeSAqIGN5LAorICAgICAgeCA9IChjeSAqIGhhIC0g
YXkgKiBoYykgLyBkLAorICAgICAgeSA9IChheCAqIGhjIC0gY3ggKiBoYSkgLyBkOworCisgIHZh
ciBjaXJjbGUgPSBjaXJjbGVQb29sLnBvcCgpIHx8IG5ldyBDaXJjbGU7CisgIGNpcmNsZS5hcmMg
PSBhcmM7CisgIGNpcmNsZS5zaXRlID0gY1NpdGU7CisgIGNpcmNsZS54ID0geCArIGJ4OworICBj
aXJjbGUueSA9IChjaXJjbGUuY3kgPSB5ICsgYnkpICsgTWF0aC5zcXJ0KHggKiB4ICsgeSAqIHkp
OyAvLyB5IGJvdHRvbQorCisgIGFyYy5jaXJjbGUgPSBjaXJjbGU7CisKKyAgdmFyIGJlZm9yZSA9
IG51bGwsCisgICAgICBub2RlID0gY2lyY2xlcy5fOworCisgIHdoaWxlIChub2RlKSB7CisgICAg
aWYgKGNpcmNsZS55IDwgbm9kZS55IHx8IChjaXJjbGUueSA9PT0gbm9kZS55ICYmIGNpcmNsZS54
IDw9IG5vZGUueCkpIHsKKyAgICAgIGlmIChub2RlLkwpIG5vZGUgPSBub2RlLkw7CisgICAgICBl
bHNlIHsgYmVmb3JlID0gbm9kZS5QOyBicmVhazsgfQorICAgIH0gZWxzZSB7CisgICAgICBpZiAo
bm9kZS5SKSBub2RlID0gbm9kZS5SOworICAgICAgZWxzZSB7IGJlZm9yZSA9IG5vZGU7IGJyZWFr
OyB9CisgICAgfQorICB9CisKKyAgY2lyY2xlcy5pbnNlcnQoYmVmb3JlLCBjaXJjbGUpOworICBp
ZiAoIWJlZm9yZSkgZmlyc3RDaXJjbGUgPSBjaXJjbGU7Cit9CisKK2Z1bmN0aW9uIGRldGFjaENp
cmNsZShhcmMpIHsKKyAgdmFyIGNpcmNsZSA9IGFyYy5jaXJjbGU7CisgIGlmIChjaXJjbGUpIHsK
KyAgICBpZiAoIWNpcmNsZS5QKSBmaXJzdENpcmNsZSA9IGNpcmNsZS5OOworICAgIGNpcmNsZXMu
cmVtb3ZlKGNpcmNsZSk7CisgICAgY2lyY2xlUG9vbC5wdXNoKGNpcmNsZSk7CisgICAgUmVkQmxh
Y2tOb2RlKGNpcmNsZSk7CisgICAgYXJjLmNpcmNsZSA9IG51bGw7CisgIH0KK30KKwordmFyIGJl
YWNoUG9vbCA9IFtdOworCitmdW5jdGlvbiBCZWFjaCgpIHsKKyAgUmVkQmxhY2tOb2RlKHRoaXMp
OworICB0aGlzLmVkZ2UgPQorICB0aGlzLnNpdGUgPQorICB0aGlzLmNpcmNsZSA9IG51bGw7Cit9
CisKK2Z1bmN0aW9uIGNyZWF0ZUJlYWNoKHNpdGUpIHsKKyAgdmFyIGJlYWNoID0gYmVhY2hQb29s
LnBvcCgpIHx8IG5ldyBCZWFjaDsKKyAgYmVhY2guc2l0ZSA9IHNpdGU7CisgIHJldHVybiBiZWFj
aDsKK30KKworZnVuY3Rpb24gZGV0YWNoQmVhY2goYmVhY2gpIHsKKyAgZGV0YWNoQ2lyY2xlKGJl
YWNoKTsKKyAgYmVhY2hlcy5yZW1vdmUoYmVhY2gpOworICBiZWFjaFBvb2wucHVzaChiZWFjaCk7
CisgIFJlZEJsYWNrTm9kZShiZWFjaCk7Cit9CisKK2Z1bmN0aW9uIHJlbW92ZUJlYWNoKGJlYWNo
KSB7CisgIHZhciBjaXJjbGUgPSBiZWFjaC5jaXJjbGUsCisgICAgICB4ID0gY2lyY2xlLngsCisg
ICAgICB5ID0gY2lyY2xlLmN5LAorICAgICAgdmVydGV4ID0gW3gsIHldLAorICAgICAgcHJldmlv
dXMgPSBiZWFjaC5QLAorICAgICAgbmV4dCA9IGJlYWNoLk4sCisgICAgICBkaXNhcHBlYXJpbmcg
PSBbYmVhY2hdOworCisgIGRldGFjaEJlYWNoKGJlYWNoKTsKKworICB2YXIgbEFyYyA9IHByZXZp
b3VzOworICB3aGlsZSAobEFyYy5jaXJjbGUKKyAgICAgICYmIE1hdGguYWJzKHggLSBsQXJjLmNp
cmNsZS54KSA8IGVwc2lsb24kNAorICAgICAgJiYgTWF0aC5hYnMoeSAtIGxBcmMuY2lyY2xlLmN5
KSA8IGVwc2lsb24kNCkgeworICAgIHByZXZpb3VzID0gbEFyYy5QOworICAgIGRpc2FwcGVhcmlu
Zy51bnNoaWZ0KGxBcmMpOworICAgIGRldGFjaEJlYWNoKGxBcmMpOworICAgIGxBcmMgPSBwcmV2
aW91czsKKyAgfQorCisgIGRpc2FwcGVhcmluZy51bnNoaWZ0KGxBcmMpOworICBkZXRhY2hDaXJj
bGUobEFyYyk7CisKKyAgdmFyIHJBcmMgPSBuZXh0OworICB3aGlsZSAockFyYy5jaXJjbGUKKyAg
ICAgICYmIE1hdGguYWJzKHggLSByQXJjLmNpcmNsZS54KSA8IGVwc2lsb24kNAorICAgICAgJiYg
TWF0aC5hYnMoeSAtIHJBcmMuY2lyY2xlLmN5KSA8IGVwc2lsb24kNCkgeworICAgIG5leHQgPSBy
QXJjLk47CisgICAgZGlzYXBwZWFyaW5nLnB1c2gockFyYyk7CisgICAgZGV0YWNoQmVhY2gockFy
Yyk7CisgICAgckFyYyA9IG5leHQ7CisgIH0KKworICBkaXNhcHBlYXJpbmcucHVzaChyQXJjKTsK
KyAgZGV0YWNoQ2lyY2xlKHJBcmMpOworCisgIHZhciBuQXJjcyA9IGRpc2FwcGVhcmluZy5sZW5n
dGgsCisgICAgICBpQXJjOworICBmb3IgKGlBcmMgPSAxOyBpQXJjIDwgbkFyY3M7ICsraUFyYykg
eworICAgIHJBcmMgPSBkaXNhcHBlYXJpbmdbaUFyY107CisgICAgbEFyYyA9IGRpc2FwcGVhcmlu
Z1tpQXJjIC0gMV07CisgICAgc2V0RWRnZUVuZChyQXJjLmVkZ2UsIGxBcmMuc2l0ZSwgckFyYy5z
aXRlLCB2ZXJ0ZXgpOworICB9CisKKyAgbEFyYyA9IGRpc2FwcGVhcmluZ1swXTsKKyAgckFyYyA9
IGRpc2FwcGVhcmluZ1tuQXJjcyAtIDFdOworICByQXJjLmVkZ2UgPSBjcmVhdGVFZGdlKGxBcmMu
c2l0ZSwgckFyYy5zaXRlLCBudWxsLCB2ZXJ0ZXgpOworCisgIGF0dGFjaENpcmNsZShsQXJjKTsK
KyAgYXR0YWNoQ2lyY2xlKHJBcmMpOworfQorCitmdW5jdGlvbiBhZGRCZWFjaChzaXRlKSB7Cisg
IHZhciB4ID0gc2l0ZVswXSwKKyAgICAgIGRpcmVjdHJpeCA9IHNpdGVbMV0sCisgICAgICBsQXJj
LAorICAgICAgckFyYywKKyAgICAgIGR4bCwKKyAgICAgIGR4ciwKKyAgICAgIG5vZGUgPSBiZWFj
aGVzLl87CisKKyAgd2hpbGUgKG5vZGUpIHsKKyAgICBkeGwgPSBsZWZ0QnJlYWtQb2ludChub2Rl
LCBkaXJlY3RyaXgpIC0geDsKKyAgICBpZiAoZHhsID4gZXBzaWxvbiQ0KSBub2RlID0gbm9kZS5M
OyBlbHNlIHsKKyAgICAgIGR4ciA9IHggLSByaWdodEJyZWFrUG9pbnQobm9kZSwgZGlyZWN0cml4
KTsKKyAgICAgIGlmIChkeHIgPiBlcHNpbG9uJDQpIHsKKyAgICAgICAgaWYgKCFub2RlLlIpIHsK
KyAgICAgICAgICBsQXJjID0gbm9kZTsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
ICAgICBub2RlID0gbm9kZS5SOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKGR4bCA+IC1l
cHNpbG9uJDQpIHsKKyAgICAgICAgICBsQXJjID0gbm9kZS5QOworICAgICAgICAgIHJBcmMgPSBu
b2RlOworICAgICAgICB9IGVsc2UgaWYgKGR4ciA+IC1lcHNpbG9uJDQpIHsKKyAgICAgICAgICBs
QXJjID0gbm9kZTsKKyAgICAgICAgICByQXJjID0gbm9kZS5OOworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgIGxBcmMgPSByQXJjID0gbm9kZTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsK
KyAgICAgIH0KKyAgICB9CisgIH0KKworICBjcmVhdGVDZWxsKHNpdGUpOworICB2YXIgbmV3QXJj
ID0gY3JlYXRlQmVhY2goc2l0ZSk7CisgIGJlYWNoZXMuaW5zZXJ0KGxBcmMsIG5ld0FyYyk7CisK
KyAgaWYgKCFsQXJjICYmICFyQXJjKSByZXR1cm47CisKKyAgaWYgKGxBcmMgPT09IHJBcmMpIHsK
KyAgICBkZXRhY2hDaXJjbGUobEFyYyk7CisgICAgckFyYyA9IGNyZWF0ZUJlYWNoKGxBcmMuc2l0
ZSk7CisgICAgYmVhY2hlcy5pbnNlcnQobmV3QXJjLCByQXJjKTsKKyAgICBuZXdBcmMuZWRnZSA9
IHJBcmMuZWRnZSA9IGNyZWF0ZUVkZ2UobEFyYy5zaXRlLCBuZXdBcmMuc2l0ZSk7CisgICAgYXR0
YWNoQ2lyY2xlKGxBcmMpOworICAgIGF0dGFjaENpcmNsZShyQXJjKTsKKyAgICByZXR1cm47Cisg
IH0KKworICBpZiAoIXJBcmMpIHsgLy8gJiYgbEFyYworICAgIG5ld0FyYy5lZGdlID0gY3JlYXRl
RWRnZShsQXJjLnNpdGUsIG5ld0FyYy5zaXRlKTsKKyAgICByZXR1cm47CisgIH0KKworICAvLyBl
bHNlIGxBcmMgIT09IHJBcmMKKyAgZGV0YWNoQ2lyY2xlKGxBcmMpOworICBkZXRhY2hDaXJjbGUo
ckFyYyk7CisKKyAgdmFyIGxTaXRlID0gbEFyYy5zaXRlLAorICAgICAgYXggPSBsU2l0ZVswXSwK
KyAgICAgIGF5ID0gbFNpdGVbMV0sCisgICAgICBieCA9IHNpdGVbMF0gLSBheCwKKyAgICAgIGJ5
ID0gc2l0ZVsxXSAtIGF5LAorICAgICAgclNpdGUgPSByQXJjLnNpdGUsCisgICAgICBjeCA9IHJT
aXRlWzBdIC0gYXgsCisgICAgICBjeSA9IHJTaXRlWzFdIC0gYXksCisgICAgICBkID0gMiAqIChi
eCAqIGN5IC0gYnkgKiBjeCksCisgICAgICBoYiA9IGJ4ICogYnggKyBieSAqIGJ5LAorICAgICAg
aGMgPSBjeCAqIGN4ICsgY3kgKiBjeSwKKyAgICAgIHZlcnRleCA9IFsoY3kgKiBoYiAtIGJ5ICog
aGMpIC8gZCArIGF4LCAoYnggKiBoYyAtIGN4ICogaGIpIC8gZCArIGF5XTsKKworICBzZXRFZGdl
RW5kKHJBcmMuZWRnZSwgbFNpdGUsIHJTaXRlLCB2ZXJ0ZXgpOworICBuZXdBcmMuZWRnZSA9IGNy
ZWF0ZUVkZ2UobFNpdGUsIHNpdGUsIG51bGwsIHZlcnRleCk7CisgIHJBcmMuZWRnZSA9IGNyZWF0
ZUVkZ2Uoc2l0ZSwgclNpdGUsIG51bGwsIHZlcnRleCk7CisgIGF0dGFjaENpcmNsZShsQXJjKTsK
KyAgYXR0YWNoQ2lyY2xlKHJBcmMpOworfQorCitmdW5jdGlvbiBsZWZ0QnJlYWtQb2ludChhcmMs
IGRpcmVjdHJpeCkgeworICB2YXIgc2l0ZSA9IGFyYy5zaXRlLAorICAgICAgcmZvY3ggPSBzaXRl
WzBdLAorICAgICAgcmZvY3kgPSBzaXRlWzFdLAorICAgICAgcGJ5MiA9IHJmb2N5IC0gZGlyZWN0
cml4OworCisgIGlmICghcGJ5MikgcmV0dXJuIHJmb2N4OworCisgIHZhciBsQXJjID0gYXJjLlA7
CisgIGlmICghbEFyYykgcmV0dXJuIC1JbmZpbml0eTsKKworICBzaXRlID0gbEFyYy5zaXRlOwor
ICB2YXIgbGZvY3ggPSBzaXRlWzBdLAorICAgICAgbGZvY3kgPSBzaXRlWzFdLAorICAgICAgcGxi
eTIgPSBsZm9jeSAtIGRpcmVjdHJpeDsKKworICBpZiAoIXBsYnkyKSByZXR1cm4gbGZvY3g7CisK
KyAgdmFyIGhsID0gbGZvY3ggLSByZm9jeCwKKyAgICAgIGFieTIgPSAxIC8gcGJ5MiAtIDEgLyBw
bGJ5MiwKKyAgICAgIGIgPSBobCAvIHBsYnkyOworCisgIGlmIChhYnkyKSByZXR1cm4gKC1iICsg
TWF0aC5zcXJ0KGIgKiBiIC0gMiAqIGFieTIgKiAoaGwgKiBobCAvICgtMiAqIHBsYnkyKSAtIGxm
b2N5ICsgcGxieTIgLyAyICsgcmZvY3kgLSBwYnkyIC8gMikpKSAvIGFieTIgKyByZm9jeDsKKwor
ICByZXR1cm4gKHJmb2N4ICsgbGZvY3gpIC8gMjsKK30KKworZnVuY3Rpb24gcmlnaHRCcmVha1Bv
aW50KGFyYywgZGlyZWN0cml4KSB7CisgIHZhciByQXJjID0gYXJjLk47CisgIGlmIChyQXJjKSBy
ZXR1cm4gbGVmdEJyZWFrUG9pbnQockFyYywgZGlyZWN0cml4KTsKKyAgdmFyIHNpdGUgPSBhcmMu
c2l0ZTsKKyAgcmV0dXJuIHNpdGVbMV0gPT09IGRpcmVjdHJpeCA/IHNpdGVbMF0gOiBJbmZpbml0
eTsKK30KKwordmFyIGVwc2lsb24kNCA9IDFlLTY7Cit2YXIgZXBzaWxvbjIkMiA9IDFlLTEyOwor
dmFyIGJlYWNoZXM7Cit2YXIgY2VsbHM7Cit2YXIgY2lyY2xlczsKK3ZhciBlZGdlczsKKworZnVu
Y3Rpb24gdHJpYW5nbGVBcmVhKGEsIGIsIGMpIHsKKyAgcmV0dXJuIChhWzBdIC0gY1swXSkgKiAo
YlsxXSAtIGFbMV0pIC0gKGFbMF0gLSBiWzBdKSAqIChjWzFdIC0gYVsxXSk7Cit9CisKK2Z1bmN0
aW9uIGxleGljb2dyYXBoaWMoYSwgYikgeworICByZXR1cm4gYlsxXSAtIGFbMV0KKyAgICAgIHx8
IGJbMF0gLSBhWzBdOworfQorCitmdW5jdGlvbiBEaWFncmFtKHNpdGVzLCBleHRlbnQpIHsKKyAg
dmFyIHNpdGUgPSBzaXRlcy5zb3J0KGxleGljb2dyYXBoaWMpLnBvcCgpLAorICAgICAgeCwKKyAg
ICAgIHksCisgICAgICBjaXJjbGU7CisKKyAgZWRnZXMgPSBbXTsKKyAgY2VsbHMgPSBuZXcgQXJy
YXkoc2l0ZXMubGVuZ3RoKTsKKyAgYmVhY2hlcyA9IG5ldyBSZWRCbGFja1RyZWU7CisgIGNpcmNs
ZXMgPSBuZXcgUmVkQmxhY2tUcmVlOworCisgIHdoaWxlICh0cnVlKSB7CisgICAgY2lyY2xlID0g
Zmlyc3RDaXJjbGU7CisgICAgaWYgKHNpdGUgJiYgKCFjaXJjbGUgfHwgc2l0ZVsxXSA8IGNpcmNs
ZS55IHx8IChzaXRlWzFdID09PSBjaXJjbGUueSAmJiBzaXRlWzBdIDwgY2lyY2xlLngpKSkgewor
ICAgICAgaWYgKHNpdGVbMF0gIT09IHggfHwgc2l0ZVsxXSAhPT0geSkgeworICAgICAgICBhZGRC
ZWFjaChzaXRlKTsKKyAgICAgICAgeCA9IHNpdGVbMF0sIHkgPSBzaXRlWzFdOworICAgICAgfQor
ICAgICAgc2l0ZSA9IHNpdGVzLnBvcCgpOworICAgIH0gZWxzZSBpZiAoY2lyY2xlKSB7CisgICAg
ICByZW1vdmVCZWFjaChjaXJjbGUuYXJjKTsKKyAgICB9IGVsc2UgeworICAgICAgYnJlYWs7Cisg
ICAgfQorICB9CisKKyAgc29ydENlbGxIYWxmZWRnZXMoKTsKKworICBpZiAoZXh0ZW50KSB7Cisg
ICAgdmFyIHgwID0gK2V4dGVudFswXVswXSwKKyAgICAgICAgeTAgPSArZXh0ZW50WzBdWzFdLAor
ICAgICAgICB4MSA9ICtleHRlbnRbMV1bMF0sCisgICAgICAgIHkxID0gK2V4dGVudFsxXVsxXTsK
KyAgICBjbGlwRWRnZXMoeDAsIHkwLCB4MSwgeTEpOworICAgIGNsaXBDZWxscyh4MCwgeTAsIHgx
LCB5MSk7CisgIH0KKworICB0aGlzLmVkZ2VzID0gZWRnZXM7CisgIHRoaXMuY2VsbHMgPSBjZWxs
czsKKworICBiZWFjaGVzID0KKyAgY2lyY2xlcyA9CisgIGVkZ2VzID0KKyAgY2VsbHMgPSBudWxs
OworfQorCitEaWFncmFtLnByb3RvdHlwZSA9IHsKKyAgY29uc3RydWN0b3I6IERpYWdyYW0sCisK
KyAgcG9seWdvbnM6IGZ1bmN0aW9uKCkgeworICAgIHZhciBlZGdlcyA9IHRoaXMuZWRnZXM7CisK
KyAgICByZXR1cm4gdGhpcy5jZWxscy5tYXAoZnVuY3Rpb24oY2VsbCkgeworICAgICAgdmFyIHBv
bHlnb24gPSBjZWxsLmhhbGZlZGdlcy5tYXAoZnVuY3Rpb24oaSkgeyByZXR1cm4gY2VsbEhhbGZl
ZGdlU3RhcnQoY2VsbCwgZWRnZXNbaV0pOyB9KTsKKyAgICAgIHBvbHlnb24uZGF0YSA9IGNlbGwu
c2l0ZS5kYXRhOworICAgICAgcmV0dXJuIHBvbHlnb247CisgICAgfSk7CisgIH0sCisKKyAgdHJp
YW5nbGVzOiBmdW5jdGlvbigpIHsKKyAgICB2YXIgdHJpYW5nbGVzID0gW10sCisgICAgICAgIGVk
Z2VzID0gdGhpcy5lZGdlczsKKworICAgIHRoaXMuY2VsbHMuZm9yRWFjaChmdW5jdGlvbihjZWxs
LCBpKSB7CisgICAgICBpZiAoIShtID0gKGhhbGZlZGdlcyA9IGNlbGwuaGFsZmVkZ2VzKS5sZW5n
dGgpKSByZXR1cm47CisgICAgICB2YXIgc2l0ZSA9IGNlbGwuc2l0ZSwKKyAgICAgICAgICBoYWxm
ZWRnZXMsCisgICAgICAgICAgaiA9IC0xLAorICAgICAgICAgIG0sCisgICAgICAgICAgczAsCisg
ICAgICAgICAgZTEgPSBlZGdlc1toYWxmZWRnZXNbbSAtIDFdXSwKKyAgICAgICAgICBzMSA9IGUx
LmxlZnQgPT09IHNpdGUgPyBlMS5yaWdodCA6IGUxLmxlZnQ7CisKKyAgICAgIHdoaWxlICgrK2og
PCBtKSB7CisgICAgICAgIHMwID0gczE7CisgICAgICAgIGUxID0gZWRnZXNbaGFsZmVkZ2VzW2pd
XTsKKyAgICAgICAgczEgPSBlMS5sZWZ0ID09PSBzaXRlID8gZTEucmlnaHQgOiBlMS5sZWZ0Owor
ICAgICAgICBpZiAoczAgJiYgczEgJiYgaSA8IHMwLmluZGV4ICYmIGkgPCBzMS5pbmRleCAmJiB0
cmlhbmdsZUFyZWEoc2l0ZSwgczAsIHMxKSA8IDApIHsKKyAgICAgICAgICB0cmlhbmdsZXMucHVz
aChbc2l0ZS5kYXRhLCBzMC5kYXRhLCBzMS5kYXRhXSk7CisgICAgICAgIH0KKyAgICAgIH0KKyAg
ICB9KTsKKworICAgIHJldHVybiB0cmlhbmdsZXM7CisgIH0sCisKKyAgbGlua3M6IGZ1bmN0aW9u
KCkgeworICAgIHJldHVybiB0aGlzLmVkZ2VzLmZpbHRlcihmdW5jdGlvbihlZGdlKSB7CisgICAg
ICByZXR1cm4gZWRnZS5yaWdodDsKKyAgICB9KS5tYXAoZnVuY3Rpb24oZWRnZSkgeworICAgICAg
cmV0dXJuIHsKKyAgICAgICAgc291cmNlOiBlZGdlLmxlZnQuZGF0YSwKKyAgICAgICAgdGFyZ2V0
OiBlZGdlLnJpZ2h0LmRhdGEKKyAgICAgIH07CisgICAgfSk7CisgIH0sCisKKyAgZmluZDogZnVu
Y3Rpb24oeCwgeSwgcmFkaXVzKSB7CisgICAgdmFyIHRoYXQgPSB0aGlzLCBpMCwgaTEgPSB0aGF0
Ll9mb3VuZCB8fCAwLCBuID0gdGhhdC5jZWxscy5sZW5ndGgsIGNlbGw7CisKKyAgICAvLyBVc2Ug
dGhlIHByZXZpb3VzbHktZm91bmQgY2VsbCwgb3Igc3RhcnQgd2l0aCBhbiBhcmJpdHJhcnkgb25l
LgorICAgIHdoaWxlICghKGNlbGwgPSB0aGF0LmNlbGxzW2kxXSkpIGlmICgrK2kxID49IG4pIHJl
dHVybiBudWxsOworICAgIHZhciBkeCA9IHggLSBjZWxsLnNpdGVbMF0sIGR5ID0geSAtIGNlbGwu
c2l0ZVsxXSwgZDIgPSBkeCAqIGR4ICsgZHkgKiBkeTsKKworICAgIC8vIFRyYXZlcnNlIHRoZSBo
YWxmLWVkZ2VzIHRvIGZpbmQgYSBjbG9zZXIgY2VsbCwgaWYgYW55LgorICAgIGRvIHsKKyAgICAg
IGNlbGwgPSB0aGF0LmNlbGxzW2kwID0gaTFdLCBpMSA9IG51bGw7CisgICAgICBjZWxsLmhhbGZl
ZGdlcy5mb3JFYWNoKGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgdmFyIGVkZ2UgPSB0aGF0LmVkZ2Vz
W2VdLCB2ID0gZWRnZS5sZWZ0OworICAgICAgICBpZiAoKHYgPT09IGNlbGwuc2l0ZSB8fCAhdikg
JiYgISh2ID0gZWRnZS5yaWdodCkpIHJldHVybjsKKyAgICAgICAgdmFyIHZ4ID0geCAtIHZbMF0s
IHZ5ID0geSAtIHZbMV0sIHYyID0gdnggKiB2eCArIHZ5ICogdnk7CisgICAgICAgIGlmICh2MiA8
IGQyKSBkMiA9IHYyLCBpMSA9IHYuaW5kZXg7CisgICAgICB9KTsKKyAgICB9IHdoaWxlIChpMSAh
PT0gbnVsbCk7CisKKyAgICB0aGF0Ll9mb3VuZCA9IGkwOworCisgICAgcmV0dXJuIHJhZGl1cyA9
PSBudWxsIHx8IGQyIDw9IHJhZGl1cyAqIHJhZGl1cyA/IGNlbGwuc2l0ZSA6IG51bGw7CisgIH0K
K307CisKK2Z1bmN0aW9uIHZvcm9ub2koKSB7CisgIHZhciB4ID0geCQ0LAorICAgICAgeSA9IHkk
NCwKKyAgICAgIGV4dGVudCA9IG51bGw7CisKKyAgZnVuY3Rpb24gdm9yb25vaShkYXRhKSB7Cisg
ICAgcmV0dXJuIG5ldyBEaWFncmFtKGRhdGEubWFwKGZ1bmN0aW9uKGQsIGkpIHsKKyAgICAgIHZh
ciBzID0gW01hdGgucm91bmQoeChkLCBpLCBkYXRhKSAvIGVwc2lsb24kNCkgKiBlcHNpbG9uJDQs
IE1hdGgucm91bmQoeShkLCBpLCBkYXRhKSAvIGVwc2lsb24kNCkgKiBlcHNpbG9uJDRdOworICAg
ICAgcy5pbmRleCA9IGk7CisgICAgICBzLmRhdGEgPSBkOworICAgICAgcmV0dXJuIHM7CisgICAg
fSksIGV4dGVudCk7CisgIH0KKworICB2b3Jvbm9pLnBvbHlnb25zID0gZnVuY3Rpb24oZGF0YSkg
eworICAgIHJldHVybiB2b3Jvbm9pKGRhdGEpLnBvbHlnb25zKCk7CisgIH07CisKKyAgdm9yb25v
aS5saW5rcyA9IGZ1bmN0aW9uKGRhdGEpIHsKKyAgICByZXR1cm4gdm9yb25vaShkYXRhKS5saW5r
cygpOworICB9OworCisgIHZvcm9ub2kudHJpYW5nbGVzID0gZnVuY3Rpb24oZGF0YSkgeworICAg
IHJldHVybiB2b3Jvbm9pKGRhdGEpLnRyaWFuZ2xlcygpOworICB9OworCisgIHZvcm9ub2kueCA9
IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4ID0gdHlwZW9m
IF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3RhbnQkYygrXyksIHZvcm9ub2kpIDogeDsKKyAg
fTsKKworICB2b3Jvbm9pLnkgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5s
ZW5ndGggPyAoeSA9IHR5cGVvZiBfID09PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGMoK18p
LCB2b3Jvbm9pKSA6IHk7CisgIH07CisKKyAgdm9yb25vaS5leHRlbnQgPSBmdW5jdGlvbihfKSB7
CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZXh0ZW50ID0gXyA9PSBudWxsID8gbnVs
bCA6IFtbK19bMF1bMF0sICtfWzBdWzFdXSwgWytfWzFdWzBdLCArX1sxXVsxXV1dLCB2b3Jvbm9p
KSA6IGV4dGVudCAmJiBbW2V4dGVudFswXVswXSwgZXh0ZW50WzBdWzFdXSwgW2V4dGVudFsxXVsw
XSwgZXh0ZW50WzFdWzFdXV07CisgIH07CisKKyAgdm9yb25vaS5zaXplID0gZnVuY3Rpb24oXykg
eworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGV4dGVudCA9IF8gPT0gbnVsbCA/IG51
bGwgOiBbWzAsIDBdLCBbK19bMF0sICtfWzFdXV0sIHZvcm9ub2kpIDogZXh0ZW50ICYmIFtleHRl
bnRbMV1bMF0gLSBleHRlbnRbMF1bMF0sIGV4dGVudFsxXVsxXSAtIGV4dGVudFswXVsxXV07Cisg
IH07CisKKyAgcmV0dXJuIHZvcm9ub2k7Cit9CisKK2Z1bmN0aW9uIGNvbnN0YW50JGQoeCkgewor
ICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIHg7CisgIH07Cit9CisKK2Z1bmN0aW9u
IFpvb21FdmVudCh0YXJnZXQsIHR5cGUsIHRyYW5zZm9ybSkgeworICB0aGlzLnRhcmdldCA9IHRh
cmdldDsKKyAgdGhpcy50eXBlID0gdHlwZTsKKyAgdGhpcy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm07
Cit9CisKK2Z1bmN0aW9uIFRyYW5zZm9ybShrLCB4LCB5KSB7CisgIHRoaXMuayA9IGs7CisgIHRo
aXMueCA9IHg7CisgIHRoaXMueSA9IHk7Cit9CisKK1RyYW5zZm9ybS5wcm90b3R5cGUgPSB7Cisg
IGNvbnN0cnVjdG9yOiBUcmFuc2Zvcm0sCisgIHNjYWxlOiBmdW5jdGlvbihrKSB7CisgICAgcmV0
dXJuIGsgPT09IDEgPyB0aGlzIDogbmV3IFRyYW5zZm9ybSh0aGlzLmsgKiBrLCB0aGlzLngsIHRo
aXMueSk7CisgIH0sCisgIHRyYW5zbGF0ZTogZnVuY3Rpb24oeCwgeSkgeworICAgIHJldHVybiB4
ID09PSAwICYgeSA9PT0gMCA/IHRoaXMgOiBuZXcgVHJhbnNmb3JtKHRoaXMuaywgdGhpcy54ICsg
dGhpcy5rICogeCwgdGhpcy55ICsgdGhpcy5rICogeSk7CisgIH0sCisgIGFwcGx5OiBmdW5jdGlv
bihwb2ludCkgeworICAgIHJldHVybiBbcG9pbnRbMF0gKiB0aGlzLmsgKyB0aGlzLngsIHBvaW50
WzFdICogdGhpcy5rICsgdGhpcy55XTsKKyAgfSwKKyAgYXBwbHlYOiBmdW5jdGlvbih4KSB7Cisg
ICAgcmV0dXJuIHggKiB0aGlzLmsgKyB0aGlzLng7CisgIH0sCisgIGFwcGx5WTogZnVuY3Rpb24o
eSkgeworICAgIHJldHVybiB5ICogdGhpcy5rICsgdGhpcy55OworICB9LAorICBpbnZlcnQ6IGZ1
bmN0aW9uKGxvY2F0aW9uKSB7CisgICAgcmV0dXJuIFsobG9jYXRpb25bMF0gLSB0aGlzLngpIC8g
dGhpcy5rLCAobG9jYXRpb25bMV0gLSB0aGlzLnkpIC8gdGhpcy5rXTsKKyAgfSwKKyAgaW52ZXJ0
WDogZnVuY3Rpb24oeCkgeworICAgIHJldHVybiAoeCAtIHRoaXMueCkgLyB0aGlzLms7CisgIH0s
CisgIGludmVydFk6IGZ1bmN0aW9uKHkpIHsKKyAgICByZXR1cm4gKHkgLSB0aGlzLnkpIC8gdGhp
cy5rOworICB9LAorICByZXNjYWxlWDogZnVuY3Rpb24oeCkgeworICAgIHJldHVybiB4LmNvcHko
KS5kb21haW4oeC5yYW5nZSgpLm1hcCh0aGlzLmludmVydFgsIHRoaXMpLm1hcCh4LmludmVydCwg
eCkpOworICB9LAorICByZXNjYWxlWTogZnVuY3Rpb24oeSkgeworICAgIHJldHVybiB5LmNvcHko
KS5kb21haW4oeS5yYW5nZSgpLm1hcCh0aGlzLmludmVydFksIHRoaXMpLm1hcCh5LmludmVydCwg
eSkpOworICB9LAorICB0b1N0cmluZzogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuICJ0cmFuc2xh
dGUoIiArIHRoaXMueCArICIsIiArIHRoaXMueSArICIpIHNjYWxlKCIgKyB0aGlzLmsgKyAiKSI7
CisgIH0KK307CisKK3ZhciBpZGVudGl0eSQ5ID0gbmV3IFRyYW5zZm9ybSgxLCAwLCAwKTsKKwor
dHJhbnNmb3JtJDEucHJvdG90eXBlID0gVHJhbnNmb3JtLnByb3RvdHlwZTsKKworZnVuY3Rpb24g
dHJhbnNmb3JtJDEobm9kZSkgeworICB3aGlsZSAoIW5vZGUuX196b29tKSBpZiAoIShub2RlID0g
bm9kZS5wYXJlbnROb2RlKSkgcmV0dXJuIGlkZW50aXR5JDk7CisgIHJldHVybiBub2RlLl9fem9v
bTsKK30KKworZnVuY3Rpb24gbm9wcm9wYWdhdGlvbiQyKCkgeworICBleHBvcnRzLmV2ZW50LnN0
b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOworfQorCitmdW5jdGlvbiBub2V2ZW50JDIoKSB7Cisg
IGV4cG9ydHMuZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgZXhwb3J0cy5ldmVudC5zdG9wSW1t
ZWRpYXRlUHJvcGFnYXRpb24oKTsKK30KKworLy8gSWdub3JlIHJpZ2h0LWNsaWNrLCBzaW5jZSB0
aGF0IHNob3VsZCBvcGVuIHRoZSBjb250ZXh0IG1lbnUuCitmdW5jdGlvbiBkZWZhdWx0RmlsdGVy
JDIoKSB7CisgIHJldHVybiAhZXhwb3J0cy5ldmVudC5jdHJsS2V5ICYmICFleHBvcnRzLmV2ZW50
LmJ1dHRvbjsKK30KKworZnVuY3Rpb24gZGVmYXVsdEV4dGVudCQxKCkgeworICB2YXIgZSA9IHRo
aXM7CisgIGlmIChlIGluc3RhbmNlb2YgU1ZHRWxlbWVudCkgeworICAgIGUgPSBlLm93bmVyU1ZH
RWxlbWVudCB8fCBlOworICAgIGlmIChlLmhhc0F0dHJpYnV0ZSgidmlld0JveCIpKSB7CisgICAg
ICBlID0gZS52aWV3Qm94LmJhc2VWYWw7CisgICAgICByZXR1cm4gW1tlLngsIGUueV0sIFtlLngg
KyBlLndpZHRoLCBlLnkgKyBlLmhlaWdodF1dOworICAgIH0KKyAgICByZXR1cm4gW1swLCAwXSwg
W2Uud2lkdGguYmFzZVZhbC52YWx1ZSwgZS5oZWlnaHQuYmFzZVZhbC52YWx1ZV1dOworICB9Cisg
IHJldHVybiBbWzAsIDBdLCBbZS5jbGllbnRXaWR0aCwgZS5jbGllbnRIZWlnaHRdXTsKK30KKwor
ZnVuY3Rpb24gZGVmYXVsdFRyYW5zZm9ybSgpIHsKKyAgcmV0dXJuIHRoaXMuX196b29tIHx8IGlk
ZW50aXR5JDk7Cit9CisKK2Z1bmN0aW9uIGRlZmF1bHRXaGVlbERlbHRhKCkgeworICByZXR1cm4g
LWV4cG9ydHMuZXZlbnQuZGVsdGFZICogKGV4cG9ydHMuZXZlbnQuZGVsdGFNb2RlID09PSAxID8g
MC4wNSA6IGV4cG9ydHMuZXZlbnQuZGVsdGFNb2RlID8gMSA6IDAuMDAyKTsKK30KKworZnVuY3Rp
b24gZGVmYXVsdFRvdWNoYWJsZSQyKCkgeworICByZXR1cm4gbmF2aWdhdG9yLm1heFRvdWNoUG9p
bnRzIHx8ICgib250b3VjaHN0YXJ0IiBpbiB0aGlzKTsKK30KKworZnVuY3Rpb24gZGVmYXVsdENv
bnN0cmFpbih0cmFuc2Zvcm0sIGV4dGVudCwgdHJhbnNsYXRlRXh0ZW50KSB7CisgIHZhciBkeDAg
PSB0cmFuc2Zvcm0uaW52ZXJ0WChleHRlbnRbMF1bMF0pIC0gdHJhbnNsYXRlRXh0ZW50WzBdWzBd
LAorICAgICAgZHgxID0gdHJhbnNmb3JtLmludmVydFgoZXh0ZW50WzFdWzBdKSAtIHRyYW5zbGF0
ZUV4dGVudFsxXVswXSwKKyAgICAgIGR5MCA9IHRyYW5zZm9ybS5pbnZlcnRZKGV4dGVudFswXVsx
XSkgLSB0cmFuc2xhdGVFeHRlbnRbMF1bMV0sCisgICAgICBkeTEgPSB0cmFuc2Zvcm0uaW52ZXJ0
WShleHRlbnRbMV1bMV0pIC0gdHJhbnNsYXRlRXh0ZW50WzFdWzFdOworICByZXR1cm4gdHJhbnNm
b3JtLnRyYW5zbGF0ZSgKKyAgICBkeDEgPiBkeDAgPyAoZHgwICsgZHgxKSAvIDIgOiBNYXRoLm1p
bigwLCBkeDApIHx8IE1hdGgubWF4KDAsIGR4MSksCisgICAgZHkxID4gZHkwID8gKGR5MCArIGR5
MSkgLyAyIDogTWF0aC5taW4oMCwgZHkwKSB8fCBNYXRoLm1heCgwLCBkeTEpCisgICk7Cit9CisK
K2Z1bmN0aW9uIHpvb20oKSB7CisgIHZhciBmaWx0ZXIgPSBkZWZhdWx0RmlsdGVyJDIsCisgICAg
ICBleHRlbnQgPSBkZWZhdWx0RXh0ZW50JDEsCisgICAgICBjb25zdHJhaW4gPSBkZWZhdWx0Q29u
c3RyYWluLAorICAgICAgd2hlZWxEZWx0YSA9IGRlZmF1bHRXaGVlbERlbHRhLAorICAgICAgdG91
Y2hhYmxlID0gZGVmYXVsdFRvdWNoYWJsZSQyLAorICAgICAgc2NhbGVFeHRlbnQgPSBbMCwgSW5m
aW5pdHldLAorICAgICAgdHJhbnNsYXRlRXh0ZW50ID0gW1stSW5maW5pdHksIC1JbmZpbml0eV0s
IFtJbmZpbml0eSwgSW5maW5pdHldXSwKKyAgICAgIGR1cmF0aW9uID0gMjUwLAorICAgICAgaW50
ZXJwb2xhdGUgPSBpbnRlcnBvbGF0ZVpvb20sCisgICAgICBsaXN0ZW5lcnMgPSBkaXNwYXRjaCgi
c3RhcnQiLCAiem9vbSIsICJlbmQiKSwKKyAgICAgIHRvdWNoc3RhcnRpbmcsCisgICAgICB0b3Vj
aGVuZGluZywKKyAgICAgIHRvdWNoRGVsYXkgPSA1MDAsCisgICAgICB3aGVlbERlbGF5ID0gMTUw
LAorICAgICAgY2xpY2tEaXN0YW5jZTIgPSAwOworCisgIGZ1bmN0aW9uIHpvb20oc2VsZWN0aW9u
KSB7CisgICAgc2VsZWN0aW9uCisgICAgICAgIC5wcm9wZXJ0eSgiX196b29tIiwgZGVmYXVsdFRy
YW5zZm9ybSkKKyAgICAgICAgLm9uKCJ3aGVlbC56b29tIiwgd2hlZWxlZCkKKyAgICAgICAgLm9u
KCJtb3VzZWRvd24uem9vbSIsIG1vdXNlZG93bmVkKQorICAgICAgICAub24oImRibGNsaWNrLnpv
b20iLCBkYmxjbGlja2VkKQorICAgICAgLmZpbHRlcih0b3VjaGFibGUpCisgICAgICAgIC5vbigi
dG91Y2hzdGFydC56b29tIiwgdG91Y2hzdGFydGVkKQorICAgICAgICAub24oInRvdWNobW92ZS56
b29tIiwgdG91Y2htb3ZlZCkKKyAgICAgICAgLm9uKCJ0b3VjaGVuZC56b29tIHRvdWNoY2FuY2Vs
Lnpvb20iLCB0b3VjaGVuZGVkKQorICAgICAgICAuc3R5bGUoInRvdWNoLWFjdGlvbiIsICJub25l
IikKKyAgICAgICAgLnN0eWxlKCItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IiLCAicmdiYSgw
LDAsMCwwKSIpOworICB9CisKKyAgem9vbS50cmFuc2Zvcm0gPSBmdW5jdGlvbihjb2xsZWN0aW9u
LCB0cmFuc2Zvcm0sIHBvaW50KSB7CisgICAgdmFyIHNlbGVjdGlvbiA9IGNvbGxlY3Rpb24uc2Vs
ZWN0aW9uID8gY29sbGVjdGlvbi5zZWxlY3Rpb24oKSA6IGNvbGxlY3Rpb247CisgICAgc2VsZWN0
aW9uLnByb3BlcnR5KCJfX3pvb20iLCBkZWZhdWx0VHJhbnNmb3JtKTsKKyAgICBpZiAoY29sbGVj
dGlvbiAhPT0gc2VsZWN0aW9uKSB7CisgICAgICBzY2hlZHVsZShjb2xsZWN0aW9uLCB0cmFuc2Zv
cm0sIHBvaW50KTsKKyAgICB9IGVsc2UgeworICAgICAgc2VsZWN0aW9uLmludGVycnVwdCgpLmVh
Y2goZnVuY3Rpb24oKSB7CisgICAgICAgIGdlc3R1cmUodGhpcywgYXJndW1lbnRzKQorICAgICAg
ICAgICAgLnN0YXJ0KCkKKyAgICAgICAgICAgIC56b29tKG51bGwsIHR5cGVvZiB0cmFuc2Zvcm0g
PT09ICJmdW5jdGlvbiIgPyB0cmFuc2Zvcm0uYXBwbHkodGhpcywgYXJndW1lbnRzKSA6IHRyYW5z
Zm9ybSkKKyAgICAgICAgICAgIC5lbmQoKTsKKyAgICAgIH0pOworICAgIH0KKyAgfTsKKworICB6
b29tLnNjYWxlQnkgPSBmdW5jdGlvbihzZWxlY3Rpb24sIGssIHApIHsKKyAgICB6b29tLnNjYWxl
VG8oc2VsZWN0aW9uLCBmdW5jdGlvbigpIHsKKyAgICAgIHZhciBrMCA9IHRoaXMuX196b29tLmss
CisgICAgICAgICAgazEgPSB0eXBlb2YgayA9PT0gImZ1bmN0aW9uIiA/IGsuYXBwbHkodGhpcywg
YXJndW1lbnRzKSA6IGs7CisgICAgICByZXR1cm4gazAgKiBrMTsKKyAgICB9LCBwKTsKKyAgfTsK
KworICB6b29tLnNjYWxlVG8gPSBmdW5jdGlvbihzZWxlY3Rpb24sIGssIHApIHsKKyAgICB6b29t
LnRyYW5zZm9ybShzZWxlY3Rpb24sIGZ1bmN0aW9uKCkgeworICAgICAgdmFyIGUgPSBleHRlbnQu
YXBwbHkodGhpcywgYXJndW1lbnRzKSwKKyAgICAgICAgICB0MCA9IHRoaXMuX196b29tLAorICAg
ICAgICAgIHAwID0gcCA9PSBudWxsID8gY2VudHJvaWQoZSkgOiB0eXBlb2YgcCA9PT0gImZ1bmN0
aW9uIiA/IHAuYXBwbHkodGhpcywgYXJndW1lbnRzKSA6IHAsCisgICAgICAgICAgcDEgPSB0MC5p
bnZlcnQocDApLAorICAgICAgICAgIGsxID0gdHlwZW9mIGsgPT09ICJmdW5jdGlvbiIgPyBrLmFw
cGx5KHRoaXMsIGFyZ3VtZW50cykgOiBrOworICAgICAgcmV0dXJuIGNvbnN0cmFpbih0cmFuc2xh
dGUoc2NhbGUodDAsIGsxKSwgcDAsIHAxKSwgZSwgdHJhbnNsYXRlRXh0ZW50KTsKKyAgICB9LCBw
KTsKKyAgfTsKKworICB6b29tLnRyYW5zbGF0ZUJ5ID0gZnVuY3Rpb24oc2VsZWN0aW9uLCB4LCB5
KSB7CisgICAgem9vbS50cmFuc2Zvcm0oc2VsZWN0aW9uLCBmdW5jdGlvbigpIHsKKyAgICAgIHJl
dHVybiBjb25zdHJhaW4odGhpcy5fX3pvb20udHJhbnNsYXRlKAorICAgICAgICB0eXBlb2YgeCA9
PT0gImZ1bmN0aW9uIiA/IHguYXBwbHkodGhpcywgYXJndW1lbnRzKSA6IHgsCisgICAgICAgIHR5
cGVvZiB5ID09PSAiZnVuY3Rpb24iID8geS5hcHBseSh0aGlzLCBhcmd1bWVudHMpIDogeQorICAg
ICAgKSwgZXh0ZW50LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksIHRyYW5zbGF0ZUV4dGVudCk7Cisg
ICAgfSk7CisgIH07CisKKyAgem9vbS50cmFuc2xhdGVUbyA9IGZ1bmN0aW9uKHNlbGVjdGlvbiwg
eCwgeSwgcCkgeworICAgIHpvb20udHJhbnNmb3JtKHNlbGVjdGlvbiwgZnVuY3Rpb24oKSB7Cisg
ICAgICB2YXIgZSA9IGV4dGVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpLAorICAgICAgICAgIHQg
PSB0aGlzLl9fem9vbSwKKyAgICAgICAgICBwMCA9IHAgPT0gbnVsbCA/IGNlbnRyb2lkKGUpIDog
dHlwZW9mIHAgPT09ICJmdW5jdGlvbiIgPyBwLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgOiBwOwor
ICAgICAgcmV0dXJuIGNvbnN0cmFpbihpZGVudGl0eSQ5LnRyYW5zbGF0ZShwMFswXSwgcDBbMV0p
LnNjYWxlKHQuaykudHJhbnNsYXRlKAorICAgICAgICB0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiA/
IC14LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgOiAteCwKKyAgICAgICAgdHlwZW9mIHkgPT09ICJm
dW5jdGlvbiIgPyAteS5hcHBseSh0aGlzLCBhcmd1bWVudHMpIDogLXkKKyAgICAgICksIGUsIHRy
YW5zbGF0ZUV4dGVudCk7CisgICAgfSwgcCk7CisgIH07CisKKyAgZnVuY3Rpb24gc2NhbGUodHJh
bnNmb3JtLCBrKSB7CisgICAgayA9IE1hdGgubWF4KHNjYWxlRXh0ZW50WzBdLCBNYXRoLm1pbihz
Y2FsZUV4dGVudFsxXSwgaykpOworICAgIHJldHVybiBrID09PSB0cmFuc2Zvcm0uayA/IHRyYW5z
Zm9ybSA6IG5ldyBUcmFuc2Zvcm0oaywgdHJhbnNmb3JtLngsIHRyYW5zZm9ybS55KTsKKyAgfQor
CisgIGZ1bmN0aW9uIHRyYW5zbGF0ZSh0cmFuc2Zvcm0sIHAwLCBwMSkgeworICAgIHZhciB4ID0g
cDBbMF0gLSBwMVswXSAqIHRyYW5zZm9ybS5rLCB5ID0gcDBbMV0gLSBwMVsxXSAqIHRyYW5zZm9y
bS5rOworICAgIHJldHVybiB4ID09PSB0cmFuc2Zvcm0ueCAmJiB5ID09PSB0cmFuc2Zvcm0ueSA/
IHRyYW5zZm9ybSA6IG5ldyBUcmFuc2Zvcm0odHJhbnNmb3JtLmssIHgsIHkpOworICB9CisKKyAg
ZnVuY3Rpb24gY2VudHJvaWQoZXh0ZW50KSB7CisgICAgcmV0dXJuIFsoK2V4dGVudFswXVswXSAr
ICtleHRlbnRbMV1bMF0pIC8gMiwgKCtleHRlbnRbMF1bMV0gKyArZXh0ZW50WzFdWzFdKSAvIDJd
OworICB9CisKKyAgZnVuY3Rpb24gc2NoZWR1bGUodHJhbnNpdGlvbiwgdHJhbnNmb3JtLCBwb2lu
dCkgeworICAgIHRyYW5zaXRpb24KKyAgICAgICAgLm9uKCJzdGFydC56b29tIiwgZnVuY3Rpb24o
KSB7IGdlc3R1cmUodGhpcywgYXJndW1lbnRzKS5zdGFydCgpOyB9KQorICAgICAgICAub24oImlu
dGVycnVwdC56b29tIGVuZC56b29tIiwgZnVuY3Rpb24oKSB7IGdlc3R1cmUodGhpcywgYXJndW1l
bnRzKS5lbmQoKTsgfSkKKyAgICAgICAgLnR3ZWVuKCJ6b29tIiwgZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgdmFyIHRoYXQgPSB0aGlzLAorICAgICAgICAgICAgICBhcmdzID0gYXJndW1lbnRzLAor
ICAgICAgICAgICAgICBnID0gZ2VzdHVyZSh0aGF0LCBhcmdzKSwKKyAgICAgICAgICAgICAgZSA9
IGV4dGVudC5hcHBseSh0aGF0LCBhcmdzKSwKKyAgICAgICAgICAgICAgcCA9IHBvaW50ID09IG51
bGwgPyBjZW50cm9pZChlKSA6IHR5cGVvZiBwb2ludCA9PT0gImZ1bmN0aW9uIiA/IHBvaW50LmFw
cGx5KHRoYXQsIGFyZ3MpIDogcG9pbnQsCisgICAgICAgICAgICAgIHcgPSBNYXRoLm1heChlWzFd
WzBdIC0gZVswXVswXSwgZVsxXVsxXSAtIGVbMF1bMV0pLAorICAgICAgICAgICAgICBhID0gdGhh
dC5fX3pvb20sCisgICAgICAgICAgICAgIGIgPSB0eXBlb2YgdHJhbnNmb3JtID09PSAiZnVuY3Rp
b24iID8gdHJhbnNmb3JtLmFwcGx5KHRoYXQsIGFyZ3MpIDogdHJhbnNmb3JtLAorICAgICAgICAg
ICAgICBpID0gaW50ZXJwb2xhdGUoYS5pbnZlcnQocCkuY29uY2F0KHcgLyBhLmspLCBiLmludmVy
dChwKS5jb25jYXQodyAvIGIuaykpOworICAgICAgICAgIHJldHVybiBmdW5jdGlvbih0KSB7Cisg
ICAgICAgICAgICBpZiAodCA9PT0gMSkgdCA9IGI7IC8vIEF2b2lkIHJvdW5kaW5nIGVycm9yIG9u
IGVuZC4KKyAgICAgICAgICAgIGVsc2UgeyB2YXIgbCA9IGkodCksIGsgPSB3IC8gbFsyXTsgdCA9
IG5ldyBUcmFuc2Zvcm0oaywgcFswXSAtIGxbMF0gKiBrLCBwWzFdIC0gbFsxXSAqIGspOyB9Cisg
ICAgICAgICAgICBnLnpvb20obnVsbCwgdCk7CisgICAgICAgICAgfTsKKyAgICAgICAgfSk7Cisg
IH0KKworICBmdW5jdGlvbiBnZXN0dXJlKHRoYXQsIGFyZ3MsIGNsZWFuKSB7CisgICAgcmV0dXJu
ICghY2xlYW4gJiYgdGhhdC5fX3pvb21pbmcpIHx8IG5ldyBHZXN0dXJlKHRoYXQsIGFyZ3MpOwor
ICB9CisKKyAgZnVuY3Rpb24gR2VzdHVyZSh0aGF0LCBhcmdzKSB7CisgICAgdGhpcy50aGF0ID0g
dGhhdDsKKyAgICB0aGlzLmFyZ3MgPSBhcmdzOworICAgIHRoaXMuYWN0aXZlID0gMDsKKyAgICB0
aGlzLmV4dGVudCA9IGV4dGVudC5hcHBseSh0aGF0LCBhcmdzKTsKKyAgICB0aGlzLnRhcHMgPSAw
OworICB9CisKKyAgR2VzdHVyZS5wcm90b3R5cGUgPSB7CisgICAgc3RhcnQ6IGZ1bmN0aW9uKCkg
eworICAgICAgaWYgKCsrdGhpcy5hY3RpdmUgPT09IDEpIHsKKyAgICAgICAgdGhpcy50aGF0Ll9f
em9vbWluZyA9IHRoaXM7CisgICAgICAgIHRoaXMuZW1pdCgic3RhcnQiKTsKKyAgICAgIH0KKyAg
ICAgIHJldHVybiB0aGlzOworICAgIH0sCisgICAgem9vbTogZnVuY3Rpb24oa2V5LCB0cmFuc2Zv
cm0pIHsKKyAgICAgIGlmICh0aGlzLm1vdXNlICYmIGtleSAhPT0gIm1vdXNlIikgdGhpcy5tb3Vz
ZVsxXSA9IHRyYW5zZm9ybS5pbnZlcnQodGhpcy5tb3VzZVswXSk7CisgICAgICBpZiAodGhpcy50
b3VjaDAgJiYga2V5ICE9PSAidG91Y2giKSB0aGlzLnRvdWNoMFsxXSA9IHRyYW5zZm9ybS5pbnZl
cnQodGhpcy50b3VjaDBbMF0pOworICAgICAgaWYgKHRoaXMudG91Y2gxICYmIGtleSAhPT0gInRv
dWNoIikgdGhpcy50b3VjaDFbMV0gPSB0cmFuc2Zvcm0uaW52ZXJ0KHRoaXMudG91Y2gxWzBdKTsK
KyAgICAgIHRoaXMudGhhdC5fX3pvb20gPSB0cmFuc2Zvcm07CisgICAgICB0aGlzLmVtaXQoInpv
b20iKTsKKyAgICAgIHJldHVybiB0aGlzOworICAgIH0sCisgICAgZW5kOiBmdW5jdGlvbigpIHsK
KyAgICAgIGlmICgtLXRoaXMuYWN0aXZlID09PSAwKSB7CisgICAgICAgIGRlbGV0ZSB0aGlzLnRo
YXQuX196b29taW5nOworICAgICAgICB0aGlzLmVtaXQoImVuZCIpOworICAgICAgfQorICAgICAg
cmV0dXJuIHRoaXM7CisgICAgfSwKKyAgICBlbWl0OiBmdW5jdGlvbih0eXBlKSB7CisgICAgICBj
dXN0b21FdmVudChuZXcgWm9vbUV2ZW50KHpvb20sIHR5cGUsIHRoaXMudGhhdC5fX3pvb20pLCBs
aXN0ZW5lcnMuYXBwbHksIGxpc3RlbmVycywgW3R5cGUsIHRoaXMudGhhdCwgdGhpcy5hcmdzXSk7
CisgICAgfQorICB9OworCisgIGZ1bmN0aW9uIHdoZWVsZWQoKSB7CisgICAgaWYgKCFmaWx0ZXIu
YXBwbHkodGhpcywgYXJndW1lbnRzKSkgcmV0dXJuOworICAgIHZhciBnID0gZ2VzdHVyZSh0aGlz
LCBhcmd1bWVudHMpLAorICAgICAgICB0ID0gdGhpcy5fX3pvb20sCisgICAgICAgIGsgPSBNYXRo
Lm1heChzY2FsZUV4dGVudFswXSwgTWF0aC5taW4oc2NhbGVFeHRlbnRbMV0sIHQuayAqIE1hdGgu
cG93KDIsIHdoZWVsRGVsdGEuYXBwbHkodGhpcywgYXJndW1lbnRzKSkpKSwKKyAgICAgICAgcCA9
IG1vdXNlKHRoaXMpOworCisgICAgLy8gSWYgdGhlIG1vdXNlIGlzIGluIHRoZSBzYW1lIGxvY2F0
aW9uIGFzIGJlZm9yZSwgcmV1c2UgaXQuCisgICAgLy8gSWYgdGhlcmUgd2VyZSByZWNlbnQgd2hl
ZWwgZXZlbnRzLCByZXNldCB0aGUgd2hlZWwgaWRsZSB0aW1lb3V0LgorICAgIGlmIChnLndoZWVs
KSB7CisgICAgICBpZiAoZy5tb3VzZVswXVswXSAhPT0gcFswXSB8fCBnLm1vdXNlWzBdWzFdICE9
PSBwWzFdKSB7CisgICAgICAgIGcubW91c2VbMV0gPSB0LmludmVydChnLm1vdXNlWzBdID0gcCk7
CisgICAgICB9CisgICAgICBjbGVhclRpbWVvdXQoZy53aGVlbCk7CisgICAgfQorCisgICAgLy8g
SWYgdGhpcyB3aGVlbCBldmVudCB3b27igJl0IHRyaWdnZXIgYSB0cmFuc2Zvcm0gY2hhbmdlLCBp
Z25vcmUgaXQuCisgICAgZWxzZSBpZiAodC5rID09PSBrKSByZXR1cm47CisKKyAgICAvLyBPdGhl
cndpc2UsIGNhcHR1cmUgdGhlIG1vdXNlIHBvaW50IGFuZCBsb2NhdGlvbiBhdCB0aGUgc3RhcnQu
CisgICAgZWxzZSB7CisgICAgICBnLm1vdXNlID0gW3AsIHQuaW52ZXJ0KHApXTsKKyAgICAgIGlu
dGVycnVwdCh0aGlzKTsKKyAgICAgIGcuc3RhcnQoKTsKKyAgICB9CisKKyAgICBub2V2ZW50JDIo
KTsKKyAgICBnLndoZWVsID0gc2V0VGltZW91dCh3aGVlbGlkbGVkLCB3aGVlbERlbGF5KTsKKyAg
ICBnLnpvb20oIm1vdXNlIiwgY29uc3RyYWluKHRyYW5zbGF0ZShzY2FsZSh0LCBrKSwgZy5tb3Vz
ZVswXSwgZy5tb3VzZVsxXSksIGcuZXh0ZW50LCB0cmFuc2xhdGVFeHRlbnQpKTsKKworICAgIGZ1
bmN0aW9uIHdoZWVsaWRsZWQoKSB7CisgICAgICBnLndoZWVsID0gbnVsbDsKKyAgICAgIGcuZW5k
KCk7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gbW91c2Vkb3duZWQoKSB7CisgICAgaWYgKHRv
dWNoZW5kaW5nIHx8ICFmaWx0ZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSkgcmV0dXJuOworICAg
IHZhciBnID0gZ2VzdHVyZSh0aGlzLCBhcmd1bWVudHMsIHRydWUpLAorICAgICAgICB2ID0gc2Vs
ZWN0KGV4cG9ydHMuZXZlbnQudmlldykub24oIm1vdXNlbW92ZS56b29tIiwgbW91c2Vtb3ZlZCwg
dHJ1ZSkub24oIm1vdXNldXAuem9vbSIsIG1vdXNldXBwZWQsIHRydWUpLAorICAgICAgICBwID0g
bW91c2UodGhpcyksCisgICAgICAgIHgwID0gZXhwb3J0cy5ldmVudC5jbGllbnRYLAorICAgICAg
ICB5MCA9IGV4cG9ydHMuZXZlbnQuY2xpZW50WTsKKworICAgIGRyYWdEaXNhYmxlKGV4cG9ydHMu
ZXZlbnQudmlldyk7CisgICAgbm9wcm9wYWdhdGlvbiQyKCk7CisgICAgZy5tb3VzZSA9IFtwLCB0
aGlzLl9fem9vbS5pbnZlcnQocCldOworICAgIGludGVycnVwdCh0aGlzKTsKKyAgICBnLnN0YXJ0
KCk7CisKKyAgICBmdW5jdGlvbiBtb3VzZW1vdmVkKCkgeworICAgICAgbm9ldmVudCQyKCk7Cisg
ICAgICBpZiAoIWcubW92ZWQpIHsKKyAgICAgICAgdmFyIGR4ID0gZXhwb3J0cy5ldmVudC5jbGll
bnRYIC0geDAsIGR5ID0gZXhwb3J0cy5ldmVudC5jbGllbnRZIC0geTA7CisgICAgICAgIGcubW92
ZWQgPSBkeCAqIGR4ICsgZHkgKiBkeSA+IGNsaWNrRGlzdGFuY2UyOworICAgICAgfQorICAgICAg
Zy56b29tKCJtb3VzZSIsIGNvbnN0cmFpbih0cmFuc2xhdGUoZy50aGF0Ll9fem9vbSwgZy5tb3Vz
ZVswXSA9IG1vdXNlKGcudGhhdCksIGcubW91c2VbMV0pLCBnLmV4dGVudCwgdHJhbnNsYXRlRXh0
ZW50KSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbW91c2V1cHBlZCgpIHsKKyAgICAgIHYub24o
Im1vdXNlbW92ZS56b29tIG1vdXNldXAuem9vbSIsIG51bGwpOworICAgICAgeWVzZHJhZyhleHBv
cnRzLmV2ZW50LnZpZXcsIGcubW92ZWQpOworICAgICAgbm9ldmVudCQyKCk7CisgICAgICBnLmVu
ZCgpOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGRibGNsaWNrZWQoKSB7CisgICAgaWYgKCFm
aWx0ZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSkgcmV0dXJuOworICAgIHZhciB0MCA9IHRoaXMu
X196b29tLAorICAgICAgICBwMCA9IG1vdXNlKHRoaXMpLAorICAgICAgICBwMSA9IHQwLmludmVy
dChwMCksCisgICAgICAgIGsxID0gdDAuayAqIChleHBvcnRzLmV2ZW50LnNoaWZ0S2V5ID8gMC41
IDogMiksCisgICAgICAgIHQxID0gY29uc3RyYWluKHRyYW5zbGF0ZShzY2FsZSh0MCwgazEpLCBw
MCwgcDEpLCBleHRlbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKSwgdHJhbnNsYXRlRXh0ZW50KTsK
KworICAgIG5vZXZlbnQkMigpOworICAgIGlmIChkdXJhdGlvbiA+IDApIHNlbGVjdCh0aGlzKS50
cmFuc2l0aW9uKCkuZHVyYXRpb24oZHVyYXRpb24pLmNhbGwoc2NoZWR1bGUsIHQxLCBwMCk7Cisg
ICAgZWxzZSBzZWxlY3QodGhpcykuY2FsbCh6b29tLnRyYW5zZm9ybSwgdDEpOworICB9CisKKyAg
ZnVuY3Rpb24gdG91Y2hzdGFydGVkKCkgeworICAgIGlmICghZmlsdGVyLmFwcGx5KHRoaXMsIGFy
Z3VtZW50cykpIHJldHVybjsKKyAgICB2YXIgdG91Y2hlcyA9IGV4cG9ydHMuZXZlbnQudG91Y2hl
cywKKyAgICAgICAgbiA9IHRvdWNoZXMubGVuZ3RoLAorICAgICAgICBnID0gZ2VzdHVyZSh0aGlz
LCBhcmd1bWVudHMsIGV4cG9ydHMuZXZlbnQuY2hhbmdlZFRvdWNoZXMubGVuZ3RoID09PSBuKSwK
KyAgICAgICAgc3RhcnRlZCwgaSwgdCwgcDsKKworICAgIG5vcHJvcGFnYXRpb24kMigpOworICAg
IGZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKyAgICAgIHQgPSB0b3VjaGVzW2ldLCBwID0gdG91
Y2godGhpcywgdG91Y2hlcywgdC5pZGVudGlmaWVyKTsKKyAgICAgIHAgPSBbcCwgdGhpcy5fX3pv
b20uaW52ZXJ0KHApLCB0LmlkZW50aWZpZXJdOworICAgICAgaWYgKCFnLnRvdWNoMCkgZy50b3Vj
aDAgPSBwLCBzdGFydGVkID0gdHJ1ZSwgZy50YXBzID0gMSArICEhdG91Y2hzdGFydGluZzsKKyAg
ICAgIGVsc2UgaWYgKCFnLnRvdWNoMSAmJiBnLnRvdWNoMFsyXSAhPT0gcFsyXSkgZy50b3VjaDEg
PSBwLCBnLnRhcHMgPSAwOworICAgIH0KKworICAgIGlmICh0b3VjaHN0YXJ0aW5nKSB0b3VjaHN0
YXJ0aW5nID0gY2xlYXJUaW1lb3V0KHRvdWNoc3RhcnRpbmcpOworCisgICAgaWYgKHN0YXJ0ZWQp
IHsKKyAgICAgIGlmIChnLnRhcHMgPCAyKSB0b3VjaHN0YXJ0aW5nID0gc2V0VGltZW91dChmdW5j
dGlvbigpIHsgdG91Y2hzdGFydGluZyA9IG51bGw7IH0sIHRvdWNoRGVsYXkpOworICAgICAgaW50
ZXJydXB0KHRoaXMpOworICAgICAgZy5zdGFydCgpOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9u
IHRvdWNobW92ZWQoKSB7CisgICAgaWYgKCF0aGlzLl9fem9vbWluZykgcmV0dXJuOworICAgIHZh
ciBnID0gZ2VzdHVyZSh0aGlzLCBhcmd1bWVudHMpLAorICAgICAgICB0b3VjaGVzID0gZXhwb3J0
cy5ldmVudC5jaGFuZ2VkVG91Y2hlcywKKyAgICAgICAgbiA9IHRvdWNoZXMubGVuZ3RoLCBpLCB0
LCBwLCBsOworCisgICAgbm9ldmVudCQyKCk7CisgICAgaWYgKHRvdWNoc3RhcnRpbmcpIHRvdWNo
c3RhcnRpbmcgPSBjbGVhclRpbWVvdXQodG91Y2hzdGFydGluZyk7CisgICAgZy50YXBzID0gMDsK
KyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisgICAgICB0ID0gdG91Y2hlc1tpXSwgcCA9
IHRvdWNoKHRoaXMsIHRvdWNoZXMsIHQuaWRlbnRpZmllcik7CisgICAgICBpZiAoZy50b3VjaDAg
JiYgZy50b3VjaDBbMl0gPT09IHQuaWRlbnRpZmllcikgZy50b3VjaDBbMF0gPSBwOworICAgICAg
ZWxzZSBpZiAoZy50b3VjaDEgJiYgZy50b3VjaDFbMl0gPT09IHQuaWRlbnRpZmllcikgZy50b3Vj
aDFbMF0gPSBwOworICAgIH0KKyAgICB0ID0gZy50aGF0Ll9fem9vbTsKKyAgICBpZiAoZy50b3Vj
aDEpIHsKKyAgICAgIHZhciBwMCA9IGcudG91Y2gwWzBdLCBsMCA9IGcudG91Y2gwWzFdLAorICAg
ICAgICAgIHAxID0gZy50b3VjaDFbMF0sIGwxID0gZy50b3VjaDFbMV0sCisgICAgICAgICAgZHAg
PSAoZHAgPSBwMVswXSAtIHAwWzBdKSAqIGRwICsgKGRwID0gcDFbMV0gLSBwMFsxXSkgKiBkcCwK
KyAgICAgICAgICBkbCA9IChkbCA9IGwxWzBdIC0gbDBbMF0pICogZGwgKyAoZGwgPSBsMVsxXSAt
IGwwWzFdKSAqIGRsOworICAgICAgdCA9IHNjYWxlKHQsIE1hdGguc3FydChkcCAvIGRsKSk7Cisg
ICAgICBwID0gWyhwMFswXSArIHAxWzBdKSAvIDIsIChwMFsxXSArIHAxWzFdKSAvIDJdOworICAg
ICAgbCA9IFsobDBbMF0gKyBsMVswXSkgLyAyLCAobDBbMV0gKyBsMVsxXSkgLyAyXTsKKyAgICB9
CisgICAgZWxzZSBpZiAoZy50b3VjaDApIHAgPSBnLnRvdWNoMFswXSwgbCA9IGcudG91Y2gwWzFd
OworICAgIGVsc2UgcmV0dXJuOworICAgIGcuem9vbSgidG91Y2giLCBjb25zdHJhaW4odHJhbnNs
YXRlKHQsIHAsIGwpLCBnLmV4dGVudCwgdHJhbnNsYXRlRXh0ZW50KSk7CisgIH0KKworICBmdW5j
dGlvbiB0b3VjaGVuZGVkKCkgeworICAgIGlmICghdGhpcy5fX3pvb21pbmcpIHJldHVybjsKKyAg
ICB2YXIgZyA9IGdlc3R1cmUodGhpcywgYXJndW1lbnRzKSwKKyAgICAgICAgdG91Y2hlcyA9IGV4
cG9ydHMuZXZlbnQuY2hhbmdlZFRvdWNoZXMsCisgICAgICAgIG4gPSB0b3VjaGVzLmxlbmd0aCwg
aSwgdDsKKworICAgIG5vcHJvcGFnYXRpb24kMigpOworICAgIGlmICh0b3VjaGVuZGluZykgY2xl
YXJUaW1lb3V0KHRvdWNoZW5kaW5nKTsKKyAgICB0b3VjaGVuZGluZyA9IHNldFRpbWVvdXQoZnVu
Y3Rpb24oKSB7IHRvdWNoZW5kaW5nID0gbnVsbDsgfSwgdG91Y2hEZWxheSk7CisgICAgZm9yIChp
ID0gMDsgaSA8IG47ICsraSkgeworICAgICAgdCA9IHRvdWNoZXNbaV07CisgICAgICBpZiAoZy50
b3VjaDAgJiYgZy50b3VjaDBbMl0gPT09IHQuaWRlbnRpZmllcikgZGVsZXRlIGcudG91Y2gwOwor
ICAgICAgZWxzZSBpZiAoZy50b3VjaDEgJiYgZy50b3VjaDFbMl0gPT09IHQuaWRlbnRpZmllcikg
ZGVsZXRlIGcudG91Y2gxOworICAgIH0KKyAgICBpZiAoZy50b3VjaDEgJiYgIWcudG91Y2gwKSBn
LnRvdWNoMCA9IGcudG91Y2gxLCBkZWxldGUgZy50b3VjaDE7CisgICAgaWYgKGcudG91Y2gwKSBn
LnRvdWNoMFsxXSA9IHRoaXMuX196b29tLmludmVydChnLnRvdWNoMFswXSk7CisgICAgZWxzZSB7
CisgICAgICBnLmVuZCgpOworICAgICAgLy8gSWYgdGhpcyB3YXMgYSBkYmx0YXAsIHJlcm91dGUg
dG8gdGhlIChvcHRpb25hbCkgZGJsY2xpY2suem9vbSBoYW5kbGVyLgorICAgICAgaWYgKGcudGFw
cyA9PT0gMikgeworICAgICAgICB2YXIgcCA9IHNlbGVjdCh0aGlzKS5vbigiZGJsY2xpY2suem9v
bSIpOworICAgICAgICBpZiAocCkgcC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOworICAgICAgfQor
ICAgIH0KKyAgfQorCisgIHpvb20ud2hlZWxEZWx0YSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1
cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh3aGVlbERlbHRhID0gdHlwZW9mIF8gPT09ICJmdW5jdGlv
biIgPyBfIDogY29uc3RhbnQkZCgrXyksIHpvb20pIDogd2hlZWxEZWx0YTsKKyAgfTsKKworICB6
b29tLmZpbHRlciA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/
IChmaWx0ZXIgPSB0eXBlb2YgXyA9PT0gImZ1bmN0aW9uIiA/IF8gOiBjb25zdGFudCRkKCEhXyks
IHpvb20pIDogZmlsdGVyOworICB9OworCisgIHpvb20udG91Y2hhYmxlID0gZnVuY3Rpb24oXykg
eworICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHRvdWNoYWJsZSA9IHR5cGVvZiBfID09
PSAiZnVuY3Rpb24iID8gXyA6IGNvbnN0YW50JGQoISFfKSwgem9vbSkgOiB0b3VjaGFibGU7Cisg
IH07CisKKyAgem9vbS5leHRlbnQgPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50
cy5sZW5ndGggPyAoZXh0ZW50ID0gdHlwZW9mIF8gPT09ICJmdW5jdGlvbiIgPyBfIDogY29uc3Rh
bnQkZChbWytfWzBdWzBdLCArX1swXVsxXV0sIFsrX1sxXVswXSwgK19bMV1bMV1dXSksIHpvb20p
IDogZXh0ZW50OworICB9OworCisgIHpvb20uc2NhbGVFeHRlbnQgPSBmdW5jdGlvbihfKSB7Cisg
ICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc2NhbGVFeHRlbnRbMF0gPSArX1swXSwgc2Nh
bGVFeHRlbnRbMV0gPSArX1sxXSwgem9vbSkgOiBbc2NhbGVFeHRlbnRbMF0sIHNjYWxlRXh0ZW50
WzFdXTsKKyAgfTsKKworICB6b29tLnRyYW5zbGF0ZUV4dGVudCA9IGZ1bmN0aW9uKF8pIHsKKyAg
ICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh0cmFuc2xhdGVFeHRlbnRbMF1bMF0gPSArX1sw
XVswXSwgdHJhbnNsYXRlRXh0ZW50WzFdWzBdID0gK19bMV1bMF0sIHRyYW5zbGF0ZUV4dGVudFsw
XVsxXSA9ICtfWzBdWzFdLCB0cmFuc2xhdGVFeHRlbnRbMV1bMV0gPSArX1sxXVsxXSwgem9vbSkg
OiBbW3RyYW5zbGF0ZUV4dGVudFswXVswXSwgdHJhbnNsYXRlRXh0ZW50WzBdWzFdXSwgW3RyYW5z
bGF0ZUV4dGVudFsxXVswXSwgdHJhbnNsYXRlRXh0ZW50WzFdWzFdXV07CisgIH07CisKKyAgem9v
bS5jb25zdHJhaW4gPSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGgg
PyAoY29uc3RyYWluID0gXywgem9vbSkgOiBjb25zdHJhaW47CisgIH07CisKKyAgem9vbS5kdXJh
dGlvbiA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChkdXJh
dGlvbiA9ICtfLCB6b29tKSA6IGR1cmF0aW9uOworICB9OworCisgIHpvb20uaW50ZXJwb2xhdGUg
PSBmdW5jdGlvbihfKSB7CisgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoaW50ZXJwb2xh
dGUgPSBfLCB6b29tKSA6IGludGVycG9sYXRlOworICB9OworCisgIHpvb20ub24gPSBmdW5jdGlv
bigpIHsKKyAgICB2YXIgdmFsdWUgPSBsaXN0ZW5lcnMub24uYXBwbHkobGlzdGVuZXJzLCBhcmd1
bWVudHMpOworICAgIHJldHVybiB2YWx1ZSA9PT0gbGlzdGVuZXJzID8gem9vbSA6IHZhbHVlOwor
ICB9OworCisgIHpvb20uY2xpY2tEaXN0YW5jZSA9IGZ1bmN0aW9uKF8pIHsKKyAgICByZXR1cm4g
YXJndW1lbnRzLmxlbmd0aCA/IChjbGlja0Rpc3RhbmNlMiA9IChfID0gK18pICogXywgem9vbSkg
OiBNYXRoLnNxcnQoY2xpY2tEaXN0YW5jZTIpOworICB9OworCisgIHJldHVybiB6b29tOworfQor
CitleHBvcnRzLkZvcm1hdFNwZWNpZmllciA9IEZvcm1hdFNwZWNpZmllcjsKK2V4cG9ydHMuYWN0
aXZlID0gYWN0aXZlOworZXhwb3J0cy5hcmMgPSBhcmM7CitleHBvcnRzLmFyZWEgPSBhcmVhJDM7
CitleHBvcnRzLmFyZWFSYWRpYWwgPSBhcmVhUmFkaWFsOworZXhwb3J0cy5hc2NlbmRpbmcgPSBh
c2NlbmRpbmc7CitleHBvcnRzLmF1dG9UeXBlID0gYXV0b1R5cGU7CitleHBvcnRzLmF4aXNCb3R0
b20gPSBheGlzQm90dG9tOworZXhwb3J0cy5heGlzTGVmdCA9IGF4aXNMZWZ0OworZXhwb3J0cy5h
eGlzUmlnaHQgPSBheGlzUmlnaHQ7CitleHBvcnRzLmF4aXNUb3AgPSBheGlzVG9wOworZXhwb3J0
cy5iaXNlY3QgPSBiaXNlY3RSaWdodDsKK2V4cG9ydHMuYmlzZWN0TGVmdCA9IGJpc2VjdExlZnQ7
CitleHBvcnRzLmJpc2VjdFJpZ2h0ID0gYmlzZWN0UmlnaHQ7CitleHBvcnRzLmJpc2VjdG9yID0g
YmlzZWN0b3I7CitleHBvcnRzLmJsb2IgPSBibG9iOworZXhwb3J0cy5icnVzaCA9IGJydXNoOwor
ZXhwb3J0cy5icnVzaFNlbGVjdGlvbiA9IGJydXNoU2VsZWN0aW9uOworZXhwb3J0cy5icnVzaFgg
PSBicnVzaFg7CitleHBvcnRzLmJydXNoWSA9IGJydXNoWTsKK2V4cG9ydHMuYnVmZmVyID0gYnVm
ZmVyOworZXhwb3J0cy5jaG9yZCA9IGNob3JkOworZXhwb3J0cy5jbGllbnRQb2ludCA9IHBvaW50
OworZXhwb3J0cy5jbHVzdGVyID0gY2x1c3RlcjsKK2V4cG9ydHMuY29sb3IgPSBjb2xvcjsKK2V4
cG9ydHMuY29udG91ckRlbnNpdHkgPSBkZW5zaXR5OworZXhwb3J0cy5jb250b3VycyA9IGNvbnRv
dXJzOworZXhwb3J0cy5jcmVhdGUgPSBjcmVhdGU7CitleHBvcnRzLmNyZWF0b3IgPSBjcmVhdG9y
OworZXhwb3J0cy5jcm9zcyA9IGNyb3NzOworZXhwb3J0cy5jc3YgPSBjc3YkMTsKK2V4cG9ydHMu
Y3N2Rm9ybWF0ID0gY3N2Rm9ybWF0OworZXhwb3J0cy5jc3ZGb3JtYXRCb2R5ID0gY3N2Rm9ybWF0
Qm9keTsKK2V4cG9ydHMuY3N2Rm9ybWF0Um93ID0gY3N2Rm9ybWF0Um93OworZXhwb3J0cy5jc3ZG
b3JtYXRSb3dzID0gY3N2Rm9ybWF0Um93czsKK2V4cG9ydHMuY3N2Rm9ybWF0VmFsdWUgPSBjc3ZG
b3JtYXRWYWx1ZTsKK2V4cG9ydHMuY3N2UGFyc2UgPSBjc3ZQYXJzZTsKK2V4cG9ydHMuY3N2UGFy
c2VSb3dzID0gY3N2UGFyc2VSb3dzOworZXhwb3J0cy5jdWJlaGVsaXggPSBjdWJlaGVsaXg7Citl
eHBvcnRzLmN1cnZlQmFzaXMgPSBiYXNpcyQyOworZXhwb3J0cy5jdXJ2ZUJhc2lzQ2xvc2VkID0g
YmFzaXNDbG9zZWQkMTsKK2V4cG9ydHMuY3VydmVCYXNpc09wZW4gPSBiYXNpc09wZW47CitleHBv
cnRzLmN1cnZlQnVuZGxlID0gYnVuZGxlOworZXhwb3J0cy5jdXJ2ZUNhcmRpbmFsID0gY2FyZGlu
YWw7CitleHBvcnRzLmN1cnZlQ2FyZGluYWxDbG9zZWQgPSBjYXJkaW5hbENsb3NlZDsKK2V4cG9y
dHMuY3VydmVDYXJkaW5hbE9wZW4gPSBjYXJkaW5hbE9wZW47CitleHBvcnRzLmN1cnZlQ2F0bXVs
bFJvbSA9IGNhdG11bGxSb207CitleHBvcnRzLmN1cnZlQ2F0bXVsbFJvbUNsb3NlZCA9IGNhdG11
bGxSb21DbG9zZWQ7CitleHBvcnRzLmN1cnZlQ2F0bXVsbFJvbU9wZW4gPSBjYXRtdWxsUm9tT3Bl
bjsKK2V4cG9ydHMuY3VydmVMaW5lYXIgPSBjdXJ2ZUxpbmVhcjsKK2V4cG9ydHMuY3VydmVMaW5l
YXJDbG9zZWQgPSBsaW5lYXJDbG9zZWQ7CitleHBvcnRzLmN1cnZlTW9ub3RvbmVYID0gbW9ub3Rv
bmVYOworZXhwb3J0cy5jdXJ2ZU1vbm90b25lWSA9IG1vbm90b25lWTsKK2V4cG9ydHMuY3VydmVO
YXR1cmFsID0gbmF0dXJhbDsKK2V4cG9ydHMuY3VydmVTdGVwID0gc3RlcDsKK2V4cG9ydHMuY3Vy
dmVTdGVwQWZ0ZXIgPSBzdGVwQWZ0ZXI7CitleHBvcnRzLmN1cnZlU3RlcEJlZm9yZSA9IHN0ZXBC
ZWZvcmU7CitleHBvcnRzLmN1c3RvbUV2ZW50ID0gY3VzdG9tRXZlbnQ7CitleHBvcnRzLmRlc2Nl
bmRpbmcgPSBkZXNjZW5kaW5nOworZXhwb3J0cy5kZXZpYXRpb24gPSBkZXZpYXRpb247CitleHBv
cnRzLmRpc3BhdGNoID0gZGlzcGF0Y2g7CitleHBvcnRzLmRyYWcgPSBkcmFnOworZXhwb3J0cy5k
cmFnRGlzYWJsZSA9IGRyYWdEaXNhYmxlOworZXhwb3J0cy5kcmFnRW5hYmxlID0geWVzZHJhZzsK
K2V4cG9ydHMuZHN2ID0gZHN2OworZXhwb3J0cy5kc3ZGb3JtYXQgPSBkc3ZGb3JtYXQ7CitleHBv
cnRzLmVhc2VCYWNrID0gYmFja0luT3V0OworZXhwb3J0cy5lYXNlQmFja0luID0gYmFja0luOwor
ZXhwb3J0cy5lYXNlQmFja0luT3V0ID0gYmFja0luT3V0OworZXhwb3J0cy5lYXNlQmFja091dCA9
IGJhY2tPdXQ7CitleHBvcnRzLmVhc2VCb3VuY2UgPSBib3VuY2VPdXQ7CitleHBvcnRzLmVhc2VC
b3VuY2VJbiA9IGJvdW5jZUluOworZXhwb3J0cy5lYXNlQm91bmNlSW5PdXQgPSBib3VuY2VJbk91
dDsKK2V4cG9ydHMuZWFzZUJvdW5jZU91dCA9IGJvdW5jZU91dDsKK2V4cG9ydHMuZWFzZUNpcmNs
ZSA9IGNpcmNsZUluT3V0OworZXhwb3J0cy5lYXNlQ2lyY2xlSW4gPSBjaXJjbGVJbjsKK2V4cG9y
dHMuZWFzZUNpcmNsZUluT3V0ID0gY2lyY2xlSW5PdXQ7CitleHBvcnRzLmVhc2VDaXJjbGVPdXQg
PSBjaXJjbGVPdXQ7CitleHBvcnRzLmVhc2VDdWJpYyA9IGN1YmljSW5PdXQ7CitleHBvcnRzLmVh
c2VDdWJpY0luID0gY3ViaWNJbjsKK2V4cG9ydHMuZWFzZUN1YmljSW5PdXQgPSBjdWJpY0luT3V0
OworZXhwb3J0cy5lYXNlQ3ViaWNPdXQgPSBjdWJpY091dDsKK2V4cG9ydHMuZWFzZUVsYXN0aWMg
PSBlbGFzdGljT3V0OworZXhwb3J0cy5lYXNlRWxhc3RpY0luID0gZWxhc3RpY0luOworZXhwb3J0
cy5lYXNlRWxhc3RpY0luT3V0ID0gZWxhc3RpY0luT3V0OworZXhwb3J0cy5lYXNlRWxhc3RpY091
dCA9IGVsYXN0aWNPdXQ7CitleHBvcnRzLmVhc2VFeHAgPSBleHBJbk91dDsKK2V4cG9ydHMuZWFz
ZUV4cEluID0gZXhwSW47CitleHBvcnRzLmVhc2VFeHBJbk91dCA9IGV4cEluT3V0OworZXhwb3J0
cy5lYXNlRXhwT3V0ID0gZXhwT3V0OworZXhwb3J0cy5lYXNlTGluZWFyID0gbGluZWFyJDE7Citl
eHBvcnRzLmVhc2VQb2x5ID0gcG9seUluT3V0OworZXhwb3J0cy5lYXNlUG9seUluID0gcG9seUlu
OworZXhwb3J0cy5lYXNlUG9seUluT3V0ID0gcG9seUluT3V0OworZXhwb3J0cy5lYXNlUG9seU91
dCA9IHBvbHlPdXQ7CitleHBvcnRzLmVhc2VRdWFkID0gcXVhZEluT3V0OworZXhwb3J0cy5lYXNl
UXVhZEluID0gcXVhZEluOworZXhwb3J0cy5lYXNlUXVhZEluT3V0ID0gcXVhZEluT3V0OworZXhw
b3J0cy5lYXNlUXVhZE91dCA9IHF1YWRPdXQ7CitleHBvcnRzLmVhc2VTaW4gPSBzaW5Jbk91dDsK
K2V4cG9ydHMuZWFzZVNpbkluID0gc2luSW47CitleHBvcnRzLmVhc2VTaW5Jbk91dCA9IHNpbklu
T3V0OworZXhwb3J0cy5lYXNlU2luT3V0ID0gc2luT3V0OworZXhwb3J0cy5lbnRyaWVzID0gZW50
cmllczsKK2V4cG9ydHMuZXh0ZW50ID0gZXh0ZW50OworZXhwb3J0cy5mb3JjZUNlbnRlciA9IGNl
bnRlciQxOworZXhwb3J0cy5mb3JjZUNvbGxpZGUgPSBjb2xsaWRlOworZXhwb3J0cy5mb3JjZUxp
bmsgPSBsaW5rOworZXhwb3J0cy5mb3JjZU1hbnlCb2R5ID0gbWFueUJvZHk7CitleHBvcnRzLmZv
cmNlUmFkaWFsID0gcmFkaWFsOworZXhwb3J0cy5mb3JjZVNpbXVsYXRpb24gPSBzaW11bGF0aW9u
OworZXhwb3J0cy5mb3JjZVggPSB4JDI7CitleHBvcnRzLmZvcmNlWSA9IHkkMjsKK2V4cG9ydHMu
Zm9ybWF0RGVmYXVsdExvY2FsZSA9IGRlZmF1bHRMb2NhbGU7CitleHBvcnRzLmZvcm1hdExvY2Fs
ZSA9IGZvcm1hdExvY2FsZTsKK2V4cG9ydHMuZm9ybWF0U3BlY2lmaWVyID0gZm9ybWF0U3BlY2lm
aWVyOworZXhwb3J0cy5nZW9BbGJlcnMgPSBhbGJlcnM7CitleHBvcnRzLmdlb0FsYmVyc1VzYSA9
IGFsYmVyc1VzYTsKK2V4cG9ydHMuZ2VvQXJlYSA9IGFyZWEkMTsKK2V4cG9ydHMuZ2VvQXppbXV0
aGFsRXF1YWxBcmVhID0gYXppbXV0aGFsRXF1YWxBcmVhOworZXhwb3J0cy5nZW9BemltdXRoYWxF
cXVhbEFyZWFSYXcgPSBhemltdXRoYWxFcXVhbEFyZWFSYXc7CitleHBvcnRzLmdlb0F6aW11dGhh
bEVxdWlkaXN0YW50ID0gYXppbXV0aGFsRXF1aWRpc3RhbnQ7CitleHBvcnRzLmdlb0F6aW11dGhh
bEVxdWlkaXN0YW50UmF3ID0gYXppbXV0aGFsRXF1aWRpc3RhbnRSYXc7CitleHBvcnRzLmdlb0Jv
dW5kcyA9IGJvdW5kczsKK2V4cG9ydHMuZ2VvQ2VudHJvaWQgPSBjZW50cm9pZDsKK2V4cG9ydHMu
Z2VvQ2lyY2xlID0gY2lyY2xlOworZXhwb3J0cy5nZW9DbGlwQW50aW1lcmlkaWFuID0gY2xpcEFu
dGltZXJpZGlhbjsKK2V4cG9ydHMuZ2VvQ2xpcENpcmNsZSA9IGNsaXBDaXJjbGU7CitleHBvcnRz
Lmdlb0NsaXBFeHRlbnQgPSBleHRlbnQkMTsKK2V4cG9ydHMuZ2VvQ2xpcFJlY3RhbmdsZSA9IGNs
aXBSZWN0YW5nbGU7CitleHBvcnRzLmdlb0NvbmljQ29uZm9ybWFsID0gY29uaWNDb25mb3JtYWw7
CitleHBvcnRzLmdlb0NvbmljQ29uZm9ybWFsUmF3ID0gY29uaWNDb25mb3JtYWxSYXc7CitleHBv
cnRzLmdlb0NvbmljRXF1YWxBcmVhID0gY29uaWNFcXVhbEFyZWE7CitleHBvcnRzLmdlb0Nvbmlj
RXF1YWxBcmVhUmF3ID0gY29uaWNFcXVhbEFyZWFSYXc7CitleHBvcnRzLmdlb0NvbmljRXF1aWRp
c3RhbnQgPSBjb25pY0VxdWlkaXN0YW50OworZXhwb3J0cy5nZW9Db25pY0VxdWlkaXN0YW50UmF3
ID0gY29uaWNFcXVpZGlzdGFudFJhdzsKK2V4cG9ydHMuZ2VvQ29udGFpbnMgPSBjb250YWlucyQx
OworZXhwb3J0cy5nZW9EaXN0YW5jZSA9IGRpc3RhbmNlOworZXhwb3J0cy5nZW9FcXVhbEVhcnRo
ID0gZXF1YWxFYXJ0aDsKK2V4cG9ydHMuZ2VvRXF1YWxFYXJ0aFJhdyA9IGVxdWFsRWFydGhSYXc7
CitleHBvcnRzLmdlb0VxdWlyZWN0YW5ndWxhciA9IGVxdWlyZWN0YW5ndWxhcjsKK2V4cG9ydHMu
Z2VvRXF1aXJlY3Rhbmd1bGFyUmF3ID0gZXF1aXJlY3Rhbmd1bGFyUmF3OworZXhwb3J0cy5nZW9H
bm9tb25pYyA9IGdub21vbmljOworZXhwb3J0cy5nZW9Hbm9tb25pY1JhdyA9IGdub21vbmljUmF3
OworZXhwb3J0cy5nZW9HcmF0aWN1bGUgPSBncmF0aWN1bGU7CitleHBvcnRzLmdlb0dyYXRpY3Vs
ZTEwID0gZ3JhdGljdWxlMTA7CitleHBvcnRzLmdlb0lkZW50aXR5ID0gaWRlbnRpdHkkNTsKK2V4
cG9ydHMuZ2VvSW50ZXJwb2xhdGUgPSBpbnRlcnBvbGF0ZSQxOworZXhwb3J0cy5nZW9MZW5ndGgg
PSBsZW5ndGgkMTsKK2V4cG9ydHMuZ2VvTWVyY2F0b3IgPSBtZXJjYXRvcjsKK2V4cG9ydHMuZ2Vv
TWVyY2F0b3JSYXcgPSBtZXJjYXRvclJhdzsKK2V4cG9ydHMuZ2VvTmF0dXJhbEVhcnRoMSA9IG5h
dHVyYWxFYXJ0aDE7CitleHBvcnRzLmdlb05hdHVyYWxFYXJ0aDFSYXcgPSBuYXR1cmFsRWFydGgx
UmF3OworZXhwb3J0cy5nZW9PcnRob2dyYXBoaWMgPSBvcnRob2dyYXBoaWM7CitleHBvcnRzLmdl
b09ydGhvZ3JhcGhpY1JhdyA9IG9ydGhvZ3JhcGhpY1JhdzsKK2V4cG9ydHMuZ2VvUGF0aCA9IGlu
ZGV4JDE7CitleHBvcnRzLmdlb1Byb2plY3Rpb24gPSBwcm9qZWN0aW9uOworZXhwb3J0cy5nZW9Q
cm9qZWN0aW9uTXV0YXRvciA9IHByb2plY3Rpb25NdXRhdG9yOworZXhwb3J0cy5nZW9Sb3RhdGlv
biA9IHJvdGF0aW9uOworZXhwb3J0cy5nZW9TdGVyZW9ncmFwaGljID0gc3RlcmVvZ3JhcGhpYzsK
K2V4cG9ydHMuZ2VvU3RlcmVvZ3JhcGhpY1JhdyA9IHN0ZXJlb2dyYXBoaWNSYXc7CitleHBvcnRz
Lmdlb1N0cmVhbSA9IGdlb1N0cmVhbTsKK2V4cG9ydHMuZ2VvVHJhbnNmb3JtID0gdHJhbnNmb3Jt
OworZXhwb3J0cy5nZW9UcmFuc3ZlcnNlTWVyY2F0b3IgPSB0cmFuc3ZlcnNlTWVyY2F0b3I7Citl
eHBvcnRzLmdlb1RyYW5zdmVyc2VNZXJjYXRvclJhdyA9IHRyYW5zdmVyc2VNZXJjYXRvclJhdzsK
K2V4cG9ydHMuZ3JheSA9IGdyYXk7CitleHBvcnRzLmhjbCA9IGhjbDsKK2V4cG9ydHMuaGllcmFy
Y2h5ID0gaGllcmFyY2h5OworZXhwb3J0cy5oaXN0b2dyYW0gPSBoaXN0b2dyYW07CitleHBvcnRz
LmhzbCA9IGhzbDsKK2V4cG9ydHMuaHRtbCA9IGh0bWw7CitleHBvcnRzLmltYWdlID0gaW1hZ2U7
CitleHBvcnRzLmludGVycG9sYXRlID0gaW50ZXJwb2xhdGVWYWx1ZTsKK2V4cG9ydHMuaW50ZXJw
b2xhdGVBcnJheSA9IGFycmF5JDE7CitleHBvcnRzLmludGVycG9sYXRlQmFzaXMgPSBiYXNpcyQx
OworZXhwb3J0cy5pbnRlcnBvbGF0ZUJhc2lzQ2xvc2VkID0gYmFzaXNDbG9zZWQ7CitleHBvcnRz
LmludGVycG9sYXRlQmx1ZXMgPSBCbHVlczsKK2V4cG9ydHMuaW50ZXJwb2xhdGVCckJHID0gQnJC
RzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVCdUduID0gQnVHbjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVC
dVB1ID0gQnVQdTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVDaXZpZGlzID0gY2l2aWRpczsKK2V4cG9y
dHMuaW50ZXJwb2xhdGVDb29sID0gY29vbDsKK2V4cG9ydHMuaW50ZXJwb2xhdGVDdWJlaGVsaXgg
PSBjdWJlaGVsaXgkMjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVDdWJlaGVsaXhEZWZhdWx0ID0gY3Vi
ZWhlbGl4JDM7CitleHBvcnRzLmludGVycG9sYXRlQ3ViZWhlbGl4TG9uZyA9IGN1YmVoZWxpeExv
bmc7CitleHBvcnRzLmludGVycG9sYXRlRGF0ZSA9IGRhdGU7CitleHBvcnRzLmludGVycG9sYXRl
RGlzY3JldGUgPSBkaXNjcmV0ZTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVHbkJ1ID0gR25CdTsKK2V4
cG9ydHMuaW50ZXJwb2xhdGVHcmVlbnMgPSBHcmVlbnM7CitleHBvcnRzLmludGVycG9sYXRlR3Jl
eXMgPSBHcmV5czsKK2V4cG9ydHMuaW50ZXJwb2xhdGVIY2wgPSBoY2wkMjsKK2V4cG9ydHMuaW50
ZXJwb2xhdGVIY2xMb25nID0gaGNsTG9uZzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVIc2wgPSBoc2wk
MjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVIc2xMb25nID0gaHNsTG9uZzsKK2V4cG9ydHMuaW50ZXJw
b2xhdGVIdWUgPSBodWUkMTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVJbmZlcm5vID0gaW5mZXJubzsK
K2V4cG9ydHMuaW50ZXJwb2xhdGVMYWIgPSBsYWIkMTsKK2V4cG9ydHMuaW50ZXJwb2xhdGVNYWdt
YSA9IG1hZ21hOworZXhwb3J0cy5pbnRlcnBvbGF0ZU51bWJlciA9IGludGVycG9sYXRlTnVtYmVy
OworZXhwb3J0cy5pbnRlcnBvbGF0ZU9iamVjdCA9IG9iamVjdDsKK2V4cG9ydHMuaW50ZXJwb2xh
dGVPclJkID0gT3JSZDsKK2V4cG9ydHMuaW50ZXJwb2xhdGVPcmFuZ2VzID0gT3JhbmdlczsKK2V4
cG9ydHMuaW50ZXJwb2xhdGVQUkduID0gUFJHbjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVQaVlHID0g
UGlZRzsKK2V4cG9ydHMuaW50ZXJwb2xhdGVQbGFzbWEgPSBwbGFzbWE7CitleHBvcnRzLmludGVy
cG9sYXRlUHVCdSA9IFB1QnU7CitleHBvcnRzLmludGVycG9sYXRlUHVCdUduID0gUHVCdUduOwor
ZXhwb3J0cy5pbnRlcnBvbGF0ZVB1T3IgPSBQdU9yOworZXhwb3J0cy5pbnRlcnBvbGF0ZVB1UmQg
PSBQdVJkOworZXhwb3J0cy5pbnRlcnBvbGF0ZVB1cnBsZXMgPSBQdXJwbGVzOworZXhwb3J0cy5p
bnRlcnBvbGF0ZVJhaW5ib3cgPSByYWluYm93OworZXhwb3J0cy5pbnRlcnBvbGF0ZVJkQnUgPSBS
ZEJ1OworZXhwb3J0cy5pbnRlcnBvbGF0ZVJkR3kgPSBSZEd5OworZXhwb3J0cy5pbnRlcnBvbGF0
ZVJkUHUgPSBSZFB1OworZXhwb3J0cy5pbnRlcnBvbGF0ZVJkWWxCdSA9IFJkWWxCdTsKK2V4cG9y
dHMuaW50ZXJwb2xhdGVSZFlsR24gPSBSZFlsR247CitleHBvcnRzLmludGVycG9sYXRlUmVkcyA9
IFJlZHM7CitleHBvcnRzLmludGVycG9sYXRlUmdiID0gaW50ZXJwb2xhdGVSZ2I7CitleHBvcnRz
LmludGVycG9sYXRlUmdiQmFzaXMgPSByZ2JCYXNpczsKK2V4cG9ydHMuaW50ZXJwb2xhdGVSZ2JC
YXNpc0Nsb3NlZCA9IHJnYkJhc2lzQ2xvc2VkOworZXhwb3J0cy5pbnRlcnBvbGF0ZVJvdW5kID0g
aW50ZXJwb2xhdGVSb3VuZDsKK2V4cG9ydHMuaW50ZXJwb2xhdGVTaW5lYm93ID0gc2luZWJvdzsK
K2V4cG9ydHMuaW50ZXJwb2xhdGVTcGVjdHJhbCA9IFNwZWN0cmFsOworZXhwb3J0cy5pbnRlcnBv
bGF0ZVN0cmluZyA9IGludGVycG9sYXRlU3RyaW5nOworZXhwb3J0cy5pbnRlcnBvbGF0ZVRyYW5z
Zm9ybUNzcyA9IGludGVycG9sYXRlVHJhbnNmb3JtQ3NzOworZXhwb3J0cy5pbnRlcnBvbGF0ZVRy
YW5zZm9ybVN2ZyA9IGludGVycG9sYXRlVHJhbnNmb3JtU3ZnOworZXhwb3J0cy5pbnRlcnBvbGF0
ZVR1cmJvID0gdHVyYm87CitleHBvcnRzLmludGVycG9sYXRlVmlyaWRpcyA9IHZpcmlkaXM7Citl
eHBvcnRzLmludGVycG9sYXRlV2FybSA9IHdhcm07CitleHBvcnRzLmludGVycG9sYXRlWWxHbiA9
IFlsR247CitleHBvcnRzLmludGVycG9sYXRlWWxHbkJ1ID0gWWxHbkJ1OworZXhwb3J0cy5pbnRl
cnBvbGF0ZVlsT3JCciA9IFlsT3JCcjsKK2V4cG9ydHMuaW50ZXJwb2xhdGVZbE9yUmQgPSBZbE9y
UmQ7CitleHBvcnRzLmludGVycG9sYXRlWm9vbSA9IGludGVycG9sYXRlWm9vbTsKK2V4cG9ydHMu
aW50ZXJydXB0ID0gaW50ZXJydXB0OworZXhwb3J0cy5pbnRlcnZhbCA9IGludGVydmFsJDE7Citl
eHBvcnRzLmlzb0Zvcm1hdCA9IGZvcm1hdElzbzsKK2V4cG9ydHMuaXNvUGFyc2UgPSBwYXJzZUlz
bzsKK2V4cG9ydHMuanNvbiA9IGpzb247CitleHBvcnRzLmtleXMgPSBrZXlzOworZXhwb3J0cy5s
YWIgPSBsYWI7CitleHBvcnRzLmxjaCA9IGxjaDsKK2V4cG9ydHMubGluZSA9IGxpbmU7CitleHBv
cnRzLmxpbmVSYWRpYWwgPSBsaW5lUmFkaWFsJDE7CitleHBvcnRzLmxpbmtIb3Jpem9udGFsID0g
bGlua0hvcml6b250YWw7CitleHBvcnRzLmxpbmtSYWRpYWwgPSBsaW5rUmFkaWFsOworZXhwb3J0
cy5saW5rVmVydGljYWwgPSBsaW5rVmVydGljYWw7CitleHBvcnRzLmxvY2FsID0gbG9jYWw7Citl
eHBvcnRzLm1hcCA9IG1hcCQxOworZXhwb3J0cy5tYXRjaGVyID0gbWF0Y2hlcjsKK2V4cG9ydHMu
bWF4ID0gbWF4OworZXhwb3J0cy5tZWFuID0gbWVhbjsKK2V4cG9ydHMubWVkaWFuID0gbWVkaWFu
OworZXhwb3J0cy5tZXJnZSA9IG1lcmdlOworZXhwb3J0cy5taW4gPSBtaW47CitleHBvcnRzLm1v
dXNlID0gbW91c2U7CitleHBvcnRzLm5hbWVzcGFjZSA9IG5hbWVzcGFjZTsKK2V4cG9ydHMubmFt
ZXNwYWNlcyA9IG5hbWVzcGFjZXM7CitleHBvcnRzLm5lc3QgPSBuZXN0OworZXhwb3J0cy5ub3cg
PSBub3c7CitleHBvcnRzLnBhY2sgPSBpbmRleCQyOworZXhwb3J0cy5wYWNrRW5jbG9zZSA9IGVu
Y2xvc2U7CitleHBvcnRzLnBhY2tTaWJsaW5ncyA9IHNpYmxpbmdzOworZXhwb3J0cy5wYWlycyA9
IHBhaXJzOworZXhwb3J0cy5wYXJ0aXRpb24gPSBwYXJ0aXRpb247CitleHBvcnRzLnBhdGggPSBw
YXRoOworZXhwb3J0cy5wZXJtdXRlID0gcGVybXV0ZTsKK2V4cG9ydHMucGllID0gcGllOworZXhw
b3J0cy5waWVjZXdpc2UgPSBwaWVjZXdpc2U7CitleHBvcnRzLnBvaW50UmFkaWFsID0gcG9pbnRS
YWRpYWw7CitleHBvcnRzLnBvbHlnb25BcmVhID0gYXJlYSQyOworZXhwb3J0cy5wb2x5Z29uQ2Vu
dHJvaWQgPSBjZW50cm9pZCQxOworZXhwb3J0cy5wb2x5Z29uQ29udGFpbnMgPSBjb250YWlucyQy
OworZXhwb3J0cy5wb2x5Z29uSHVsbCA9IGh1bGw7CitleHBvcnRzLnBvbHlnb25MZW5ndGggPSBs
ZW5ndGgkMjsKK2V4cG9ydHMucHJlY2lzaW9uRml4ZWQgPSBwcmVjaXNpb25GaXhlZDsKK2V4cG9y
dHMucHJlY2lzaW9uUHJlZml4ID0gcHJlY2lzaW9uUHJlZml4OworZXhwb3J0cy5wcmVjaXNpb25S
b3VuZCA9IHByZWNpc2lvblJvdW5kOworZXhwb3J0cy5xdWFkdHJlZSA9IHF1YWR0cmVlOworZXhw
b3J0cy5xdWFudGlsZSA9IHRocmVzaG9sZDsKK2V4cG9ydHMucXVhbnRpemUgPSBxdWFudGl6ZTsK
K2V4cG9ydHMucmFkaWFsQXJlYSA9IGFyZWFSYWRpYWw7CitleHBvcnRzLnJhZGlhbExpbmUgPSBs
aW5lUmFkaWFsJDE7CitleHBvcnRzLnJhbmRvbUJhdGVzID0gYmF0ZXM7CitleHBvcnRzLnJhbmRv
bUV4cG9uZW50aWFsID0gZXhwb25lbnRpYWwkMTsKK2V4cG9ydHMucmFuZG9tSXJ3aW5IYWxsID0g
aXJ3aW5IYWxsOworZXhwb3J0cy5yYW5kb21Mb2dOb3JtYWwgPSBsb2dOb3JtYWw7CitleHBvcnRz
LnJhbmRvbU5vcm1hbCA9IG5vcm1hbDsKK2V4cG9ydHMucmFuZG9tVW5pZm9ybSA9IHVuaWZvcm07
CitleHBvcnRzLnJhbmdlID0gc2VxdWVuY2U7CitleHBvcnRzLnJnYiA9IHJnYjsKK2V4cG9ydHMu
cmliYm9uID0gcmliYm9uOworZXhwb3J0cy5zY2FsZUJhbmQgPSBiYW5kOworZXhwb3J0cy5zY2Fs
ZURpdmVyZ2luZyA9IGRpdmVyZ2luZzsKK2V4cG9ydHMuc2NhbGVEaXZlcmdpbmdMb2cgPSBkaXZl
cmdpbmdMb2c7CitleHBvcnRzLnNjYWxlRGl2ZXJnaW5nUG93ID0gZGl2ZXJnaW5nUG93OworZXhw
b3J0cy5zY2FsZURpdmVyZ2luZ1NxcnQgPSBkaXZlcmdpbmdTcXJ0OworZXhwb3J0cy5zY2FsZURp
dmVyZ2luZ1N5bWxvZyA9IGRpdmVyZ2luZ1N5bWxvZzsKK2V4cG9ydHMuc2NhbGVJZGVudGl0eSA9
IGlkZW50aXR5JDc7CitleHBvcnRzLnNjYWxlSW1wbGljaXQgPSBpbXBsaWNpdDsKK2V4cG9ydHMu
c2NhbGVMaW5lYXIgPSBsaW5lYXIkMjsKK2V4cG9ydHMuc2NhbGVMb2cgPSBsb2ckMTsKK2V4cG9y
dHMuc2NhbGVPcmRpbmFsID0gb3JkaW5hbDsKK2V4cG9ydHMuc2NhbGVQb2ludCA9IHBvaW50JDE7
CitleHBvcnRzLnNjYWxlUG93ID0gcG93JDE7CitleHBvcnRzLnNjYWxlUXVhbnRpbGUgPSBxdWFu
dGlsZTsKK2V4cG9ydHMuc2NhbGVRdWFudGl6ZSA9IHF1YW50aXplJDE7CitleHBvcnRzLnNjYWxl
U2VxdWVudGlhbCA9IHNlcXVlbnRpYWw7CitleHBvcnRzLnNjYWxlU2VxdWVudGlhbExvZyA9IHNl
cXVlbnRpYWxMb2c7CitleHBvcnRzLnNjYWxlU2VxdWVudGlhbFBvdyA9IHNlcXVlbnRpYWxQb3c7
CitleHBvcnRzLnNjYWxlU2VxdWVudGlhbFF1YW50aWxlID0gc2VxdWVudGlhbFF1YW50aWxlOwor
ZXhwb3J0cy5zY2FsZVNlcXVlbnRpYWxTcXJ0ID0gc2VxdWVudGlhbFNxcnQ7CitleHBvcnRzLnNj
YWxlU2VxdWVudGlhbFN5bWxvZyA9IHNlcXVlbnRpYWxTeW1sb2c7CitleHBvcnRzLnNjYWxlU3Fy
dCA9IHNxcnQkMTsKK2V4cG9ydHMuc2NhbGVTeW1sb2cgPSBzeW1sb2c7CitleHBvcnRzLnNjYWxl
VGhyZXNob2xkID0gdGhyZXNob2xkJDE7CitleHBvcnRzLnNjYWxlVGltZSA9IHRpbWU7CitleHBv
cnRzLnNjYWxlVXRjID0gdXRjVGltZTsKK2V4cG9ydHMuc2NhbiA9IHNjYW47CitleHBvcnRzLnNj
aGVtZUFjY2VudCA9IEFjY2VudDsKK2V4cG9ydHMuc2NoZW1lQmx1ZXMgPSBzY2hlbWUkbDsKK2V4
cG9ydHMuc2NoZW1lQnJCRyA9IHNjaGVtZTsKK2V4cG9ydHMuc2NoZW1lQnVHbiA9IHNjaGVtZSQ5
OworZXhwb3J0cy5zY2hlbWVCdVB1ID0gc2NoZW1lJGE7CitleHBvcnRzLnNjaGVtZUNhdGVnb3J5
MTAgPSBjYXRlZ29yeTEwOworZXhwb3J0cy5zY2hlbWVEYXJrMiA9IERhcmsyOworZXhwb3J0cy5z
Y2hlbWVHbkJ1ID0gc2NoZW1lJGI7CitleHBvcnRzLnNjaGVtZUdyZWVucyA9IHNjaGVtZSRtOwor
ZXhwb3J0cy5zY2hlbWVHcmV5cyA9IHNjaGVtZSRuOworZXhwb3J0cy5zY2hlbWVPclJkID0gc2No
ZW1lJGM7CitleHBvcnRzLnNjaGVtZU9yYW5nZXMgPSBzY2hlbWUkcTsKK2V4cG9ydHMuc2NoZW1l
UFJHbiA9IHNjaGVtZSQxOworZXhwb3J0cy5zY2hlbWVQYWlyZWQgPSBQYWlyZWQ7CitleHBvcnRz
LnNjaGVtZVBhc3RlbDEgPSBQYXN0ZWwxOworZXhwb3J0cy5zY2hlbWVQYXN0ZWwyID0gUGFzdGVs
MjsKK2V4cG9ydHMuc2NoZW1lUGlZRyA9IHNjaGVtZSQyOworZXhwb3J0cy5zY2hlbWVQdUJ1ID0g
c2NoZW1lJGU7CitleHBvcnRzLnNjaGVtZVB1QnVHbiA9IHNjaGVtZSRkOworZXhwb3J0cy5zY2hl
bWVQdU9yID0gc2NoZW1lJDM7CitleHBvcnRzLnNjaGVtZVB1UmQgPSBzY2hlbWUkZjsKK2V4cG9y
dHMuc2NoZW1lUHVycGxlcyA9IHNjaGVtZSRvOworZXhwb3J0cy5zY2hlbWVSZEJ1ID0gc2NoZW1l
JDQ7CitleHBvcnRzLnNjaGVtZVJkR3kgPSBzY2hlbWUkNTsKK2V4cG9ydHMuc2NoZW1lUmRQdSA9
IHNjaGVtZSRnOworZXhwb3J0cy5zY2hlbWVSZFlsQnUgPSBzY2hlbWUkNjsKK2V4cG9ydHMuc2No
ZW1lUmRZbEduID0gc2NoZW1lJDc7CitleHBvcnRzLnNjaGVtZVJlZHMgPSBzY2hlbWUkcDsKK2V4
cG9ydHMuc2NoZW1lU2V0MSA9IFNldDE7CitleHBvcnRzLnNjaGVtZVNldDIgPSBTZXQyOworZXhw
b3J0cy5zY2hlbWVTZXQzID0gU2V0MzsKK2V4cG9ydHMuc2NoZW1lU3BlY3RyYWwgPSBzY2hlbWUk
ODsKK2V4cG9ydHMuc2NoZW1lVGFibGVhdTEwID0gVGFibGVhdTEwOworZXhwb3J0cy5zY2hlbWVZ
bEduID0gc2NoZW1lJGk7CitleHBvcnRzLnNjaGVtZVlsR25CdSA9IHNjaGVtZSRoOworZXhwb3J0
cy5zY2hlbWVZbE9yQnIgPSBzY2hlbWUkajsKK2V4cG9ydHMuc2NoZW1lWWxPclJkID0gc2NoZW1l
JGs7CitleHBvcnRzLnNlbGVjdCA9IHNlbGVjdDsKK2V4cG9ydHMuc2VsZWN0QWxsID0gc2VsZWN0
QWxsOworZXhwb3J0cy5zZWxlY3Rpb24gPSBzZWxlY3Rpb247CitleHBvcnRzLnNlbGVjdG9yID0g
c2VsZWN0b3I7CitleHBvcnRzLnNlbGVjdG9yQWxsID0gc2VsZWN0b3JBbGw7CitleHBvcnRzLnNl
dCA9IHNldCQyOworZXhwb3J0cy5zaHVmZmxlID0gc2h1ZmZsZTsKK2V4cG9ydHMuc3RhY2sgPSBz
dGFjazsKK2V4cG9ydHMuc3RhY2tPZmZzZXREaXZlcmdpbmcgPSBkaXZlcmdpbmckMTsKK2V4cG9y
dHMuc3RhY2tPZmZzZXRFeHBhbmQgPSBleHBhbmQ7CitleHBvcnRzLnN0YWNrT2Zmc2V0Tm9uZSA9
IG5vbmUkMTsKK2V4cG9ydHMuc3RhY2tPZmZzZXRTaWxob3VldHRlID0gc2lsaG91ZXR0ZTsKK2V4
cG9ydHMuc3RhY2tPZmZzZXRXaWdnbGUgPSB3aWdnbGU7CitleHBvcnRzLnN0YWNrT3JkZXJBcHBl
YXJhbmNlID0gYXBwZWFyYW5jZTsKK2V4cG9ydHMuc3RhY2tPcmRlckFzY2VuZGluZyA9IGFzY2Vu
ZGluZyQzOworZXhwb3J0cy5zdGFja09yZGVyRGVzY2VuZGluZyA9IGRlc2NlbmRpbmckMjsKK2V4
cG9ydHMuc3RhY2tPcmRlckluc2lkZU91dCA9IGluc2lkZU91dDsKK2V4cG9ydHMuc3RhY2tPcmRl
ck5vbmUgPSBub25lJDI7CitleHBvcnRzLnN0YWNrT3JkZXJSZXZlcnNlID0gcmV2ZXJzZTsKK2V4
cG9ydHMuc3RyYXRpZnkgPSBzdHJhdGlmeTsKK2V4cG9ydHMuc3R5bGUgPSBzdHlsZVZhbHVlOwor
ZXhwb3J0cy5zdW0gPSBzdW07CitleHBvcnRzLnN2ZyA9IHN2ZzsKK2V4cG9ydHMuc3ltYm9sID0g
c3ltYm9sOworZXhwb3J0cy5zeW1ib2xDaXJjbGUgPSBjaXJjbGUkMjsKK2V4cG9ydHMuc3ltYm9s
Q3Jvc3MgPSBjcm9zcyQyOworZXhwb3J0cy5zeW1ib2xEaWFtb25kID0gZGlhbW9uZDsKK2V4cG9y
dHMuc3ltYm9sU3F1YXJlID0gc3F1YXJlOworZXhwb3J0cy5zeW1ib2xTdGFyID0gc3RhcjsKK2V4
cG9ydHMuc3ltYm9sVHJpYW5nbGUgPSB0cmlhbmdsZTsKK2V4cG9ydHMuc3ltYm9sV3llID0gd3ll
OworZXhwb3J0cy5zeW1ib2xzID0gc3ltYm9sczsKK2V4cG9ydHMudGV4dCA9IHRleHQ7CitleHBv
cnRzLnRocmVzaG9sZEZyZWVkbWFuRGlhY29uaXMgPSBmcmVlZG1hbkRpYWNvbmlzOworZXhwb3J0
cy50aHJlc2hvbGRTY290dCA9IHNjb3R0OworZXhwb3J0cy50aHJlc2hvbGRTdHVyZ2VzID0gdGhy
ZXNob2xkU3R1cmdlczsKK2V4cG9ydHMudGlja0Zvcm1hdCA9IHRpY2tGb3JtYXQ7CitleHBvcnRz
LnRpY2tJbmNyZW1lbnQgPSB0aWNrSW5jcmVtZW50OworZXhwb3J0cy50aWNrU3RlcCA9IHRpY2tT
dGVwOworZXhwb3J0cy50aWNrcyA9IHRpY2tzOworZXhwb3J0cy50aW1lRGF5ID0gZGF5OworZXhw
b3J0cy50aW1lRGF5cyA9IGRheXM7CitleHBvcnRzLnRpbWVGb3JtYXREZWZhdWx0TG9jYWxlID0g
ZGVmYXVsdExvY2FsZSQxOworZXhwb3J0cy50aW1lRm9ybWF0TG9jYWxlID0gZm9ybWF0TG9jYWxl
JDE7CitleHBvcnRzLnRpbWVGcmlkYXkgPSBmcmlkYXk7CitleHBvcnRzLnRpbWVGcmlkYXlzID0g
ZnJpZGF5czsKK2V4cG9ydHMudGltZUhvdXIgPSBob3VyOworZXhwb3J0cy50aW1lSG91cnMgPSBo
b3VyczsKK2V4cG9ydHMudGltZUludGVydmFsID0gbmV3SW50ZXJ2YWw7CitleHBvcnRzLnRpbWVN
aWxsaXNlY29uZCA9IG1pbGxpc2Vjb25kOworZXhwb3J0cy50aW1lTWlsbGlzZWNvbmRzID0gbWls
bGlzZWNvbmRzOworZXhwb3J0cy50aW1lTWludXRlID0gbWludXRlOworZXhwb3J0cy50aW1lTWlu
dXRlcyA9IG1pbnV0ZXM7CitleHBvcnRzLnRpbWVNb25kYXkgPSBtb25kYXk7CitleHBvcnRzLnRp
bWVNb25kYXlzID0gbW9uZGF5czsKK2V4cG9ydHMudGltZU1vbnRoID0gbW9udGg7CitleHBvcnRz
LnRpbWVNb250aHMgPSBtb250aHM7CitleHBvcnRzLnRpbWVTYXR1cmRheSA9IHNhdHVyZGF5Owor
ZXhwb3J0cy50aW1lU2F0dXJkYXlzID0gc2F0dXJkYXlzOworZXhwb3J0cy50aW1lU2Vjb25kID0g
c2Vjb25kOworZXhwb3J0cy50aW1lU2Vjb25kcyA9IHNlY29uZHM7CitleHBvcnRzLnRpbWVTdW5k
YXkgPSBzdW5kYXk7CitleHBvcnRzLnRpbWVTdW5kYXlzID0gc3VuZGF5czsKK2V4cG9ydHMudGlt
ZVRodXJzZGF5ID0gdGh1cnNkYXk7CitleHBvcnRzLnRpbWVUaHVyc2RheXMgPSB0aHVyc2RheXM7
CitleHBvcnRzLnRpbWVUdWVzZGF5ID0gdHVlc2RheTsKK2V4cG9ydHMudGltZVR1ZXNkYXlzID0g
dHVlc2RheXM7CitleHBvcnRzLnRpbWVXZWRuZXNkYXkgPSB3ZWRuZXNkYXk7CitleHBvcnRzLnRp
bWVXZWRuZXNkYXlzID0gd2VkbmVzZGF5czsKK2V4cG9ydHMudGltZVdlZWsgPSBzdW5kYXk7Citl
eHBvcnRzLnRpbWVXZWVrcyA9IHN1bmRheXM7CitleHBvcnRzLnRpbWVZZWFyID0geWVhcjsKK2V4
cG9ydHMudGltZVllYXJzID0geWVhcnM7CitleHBvcnRzLnRpbWVvdXQgPSB0aW1lb3V0JDE7Citl
eHBvcnRzLnRpbWVyID0gdGltZXI7CitleHBvcnRzLnRpbWVyRmx1c2ggPSB0aW1lckZsdXNoOwor
ZXhwb3J0cy50b3VjaCA9IHRvdWNoOworZXhwb3J0cy50b3VjaGVzID0gdG91Y2hlczsKK2V4cG9y
dHMudHJhbnNpdGlvbiA9IHRyYW5zaXRpb247CitleHBvcnRzLnRyYW5zcG9zZSA9IHRyYW5zcG9z
ZTsKK2V4cG9ydHMudHJlZSA9IHRyZWU7CitleHBvcnRzLnRyZWVtYXAgPSBpbmRleCQzOworZXhw
b3J0cy50cmVlbWFwQmluYXJ5ID0gYmluYXJ5OworZXhwb3J0cy50cmVlbWFwRGljZSA9IHRyZWVt
YXBEaWNlOworZXhwb3J0cy50cmVlbWFwUmVzcXVhcmlmeSA9IHJlc3F1YXJpZnk7CitleHBvcnRz
LnRyZWVtYXBTbGljZSA9IHRyZWVtYXBTbGljZTsKK2V4cG9ydHMudHJlZW1hcFNsaWNlRGljZSA9
IHNsaWNlRGljZTsKK2V4cG9ydHMudHJlZW1hcFNxdWFyaWZ5ID0gc3F1YXJpZnk7CitleHBvcnRz
LnRzdiA9IHRzdiQxOworZXhwb3J0cy50c3ZGb3JtYXQgPSB0c3ZGb3JtYXQ7CitleHBvcnRzLnRz
dkZvcm1hdEJvZHkgPSB0c3ZGb3JtYXRCb2R5OworZXhwb3J0cy50c3ZGb3JtYXRSb3cgPSB0c3ZG
b3JtYXRSb3c7CitleHBvcnRzLnRzdkZvcm1hdFJvd3MgPSB0c3ZGb3JtYXRSb3dzOworZXhwb3J0
cy50c3ZGb3JtYXRWYWx1ZSA9IHRzdkZvcm1hdFZhbHVlOworZXhwb3J0cy50c3ZQYXJzZSA9IHRz
dlBhcnNlOworZXhwb3J0cy50c3ZQYXJzZVJvd3MgPSB0c3ZQYXJzZVJvd3M7CitleHBvcnRzLnV0
Y0RheSA9IHV0Y0RheTsKK2V4cG9ydHMudXRjRGF5cyA9IHV0Y0RheXM7CitleHBvcnRzLnV0Y0Zy
aWRheSA9IHV0Y0ZyaWRheTsKK2V4cG9ydHMudXRjRnJpZGF5cyA9IHV0Y0ZyaWRheXM7CitleHBv
cnRzLnV0Y0hvdXIgPSB1dGNIb3VyOworZXhwb3J0cy51dGNIb3VycyA9IHV0Y0hvdXJzOworZXhw
b3J0cy51dGNNaWxsaXNlY29uZCA9IG1pbGxpc2Vjb25kOworZXhwb3J0cy51dGNNaWxsaXNlY29u
ZHMgPSBtaWxsaXNlY29uZHM7CitleHBvcnRzLnV0Y01pbnV0ZSA9IHV0Y01pbnV0ZTsKK2V4cG9y
dHMudXRjTWludXRlcyA9IHV0Y01pbnV0ZXM7CitleHBvcnRzLnV0Y01vbmRheSA9IHV0Y01vbmRh
eTsKK2V4cG9ydHMudXRjTW9uZGF5cyA9IHV0Y01vbmRheXM7CitleHBvcnRzLnV0Y01vbnRoID0g
dXRjTW9udGg7CitleHBvcnRzLnV0Y01vbnRocyA9IHV0Y01vbnRoczsKK2V4cG9ydHMudXRjU2F0
dXJkYXkgPSB1dGNTYXR1cmRheTsKK2V4cG9ydHMudXRjU2F0dXJkYXlzID0gdXRjU2F0dXJkYXlz
OworZXhwb3J0cy51dGNTZWNvbmQgPSBzZWNvbmQ7CitleHBvcnRzLnV0Y1NlY29uZHMgPSBzZWNv
bmRzOworZXhwb3J0cy51dGNTdW5kYXkgPSB1dGNTdW5kYXk7CitleHBvcnRzLnV0Y1N1bmRheXMg
PSB1dGNTdW5kYXlzOworZXhwb3J0cy51dGNUaHVyc2RheSA9IHV0Y1RodXJzZGF5OworZXhwb3J0
cy51dGNUaHVyc2RheXMgPSB1dGNUaHVyc2RheXM7CitleHBvcnRzLnV0Y1R1ZXNkYXkgPSB1dGNU
dWVzZGF5OworZXhwb3J0cy51dGNUdWVzZGF5cyA9IHV0Y1R1ZXNkYXlzOworZXhwb3J0cy51dGNX
ZWRuZXNkYXkgPSB1dGNXZWRuZXNkYXk7CitleHBvcnRzLnV0Y1dlZG5lc2RheXMgPSB1dGNXZWRu
ZXNkYXlzOworZXhwb3J0cy51dGNXZWVrID0gdXRjU3VuZGF5OworZXhwb3J0cy51dGNXZWVrcyA9
IHV0Y1N1bmRheXM7CitleHBvcnRzLnV0Y1llYXIgPSB1dGNZZWFyOworZXhwb3J0cy51dGNZZWFy
cyA9IHV0Y1llYXJzOworZXhwb3J0cy52YWx1ZXMgPSB2YWx1ZXM7CitleHBvcnRzLnZhcmlhbmNl
ID0gdmFyaWFuY2U7CitleHBvcnRzLnZlcnNpb24gPSB2ZXJzaW9uOworZXhwb3J0cy52b3Jvbm9p
ID0gdm9yb25vaTsKK2V4cG9ydHMud2luZG93ID0gZGVmYXVsdFZpZXc7CitleHBvcnRzLnhtbCA9
IHhtbDsKK2V4cG9ydHMuemlwID0gemlwOworZXhwb3J0cy56b29tID0gem9vbTsKK2V4cG9ydHMu
em9vbUlkZW50aXR5ID0gaWRlbnRpdHkkOTsKK2V4cG9ydHMuem9vbVRyYW5zZm9ybSA9IHRyYW5z
Zm9ybSQxOworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7
IHZhbHVlOiB0cnVlIH0pOworCit9KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9JbWFnZXMvR1N0cmVhbWVyLnN2ZyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdlcy9HU3RyZWFtZXIuc3ZnCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyODg5
YzlhMDA1NWY2MzI5NzY2NTJiMmY0MjA3MmI4MjI5ZWVlZTIKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvR1N0cmVhbWVyLnN2ZwpA
QCAtMCwwICsxLDczIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3Rh
bmRhbG9uZT0ibm8iPz4KKzwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxMi4wLjAs
IFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDUxNDQ4KSAgLS0+
CisKKzxzdmcKKyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIK
KyAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCisgICB4bWxuczpy
ZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCisgICB4bWxu
czpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorICAgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIgorICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3Vy
Y2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgorICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6
Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCisgICB2ZXJzaW9uPSIxLjAi
CisgICBpZD0iTGF5ZXJfMSIKKyAgIHdpZHRoPSIxNTcuMjc5ODIiCisgICBoZWlnaHQ9Ijc0Ljg2
OTY3NSIKKyAgIHZpZXdCb3g9IjAgMCA4My4xNTY1MDkgMzMuNzc1MzIxIgorICAgb3ZlcmZsb3c9
InZpc2libGUiCisgICBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyODAuMjIgNjkuMzg3Igor
ICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKKyAgIHNvZGlwb2RpOnZlcnNpb249IjAuMzIiCisgICBp
bmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjQgKDVkYTY4OWMzMTMsIDIwMTktMDEtMTQpIgorICAgc29k
aXBvZGk6ZG9jbmFtZT0iR1N0cmVhbWVyLnN2ZyIKKyAgIGlua3NjYXBlOm91dHB1dF9leHRlbnNp
b249Im9yZy5pbmtzY2FwZS5vdXRwdXQuc3ZnLmlua3NjYXBlIgorICAgc3R5bGU9Im92ZXJmbG93
OnZpc2libGUiPjxtZXRhZGF0YQorICAgaWQ9Im1ldGFkYXRhMzAiPjxyZGY6UkRGPjxjYzpXb3Jr
CisgICAgICAgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0
PjxkYzp0eXBlCisgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21p
dHlwZS9TdGlsbEltYWdlIiAvPjxkYzp0aXRsZT48L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpS
REY+PC9tZXRhZGF0YT48ZGVmcworICAgaWQ9ImRlZnMyOCI+PGlua3NjYXBlOnBlcnNwZWN0aXZl
CisgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiCisgICAgIGlua3NjYXBlOnZw
X3g9IjAgOiAzNC42OTM1IDogMSIKKyAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDk5OS45OTk5OSA6
IDAiCisgICAgIGlua3NjYXBlOnZwX3o9IjI4MC4yMiA6IDM0LjY5MzUgOiAxIgorICAgICBpbmtz
Y2FwZTpwZXJzcDNkLW9yaWdpbj0iMTQwLjExIDogMjMuMTI5IDogMSIKKyAgICAgaWQ9InBlcnNw
ZWN0aXZlMzIiIC8+PC9kZWZzPjxzb2RpcG9kaTpuYW1lZHZpZXcKKyAgIGlua3NjYXBlOndpbmRv
dy1oZWlnaHQ9Ijk2OCIKKyAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTI4MCIKKyAgIGlua3Nj
YXBlOnBhZ2VzaGFkb3c9IjIiCisgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIgorICAgZ3Vp
ZGV0b2xlcmFuY2U9IjEwLjAiCisgICBncmlkdG9sZXJhbmNlPSIxMC4wIgorICAgb2JqZWN0dG9s
ZXJhbmNlPSIxMC4wIgorICAgYm9yZGVyb3BhY2l0eT0iMS4wIgorICAgYm9yZGVyY29sb3I9IiM2
NjY2NjYiCisgICBwYWdlY29sb3I9IiNmZmZmZmYiCisgICBpZD0iYmFzZSIKKyAgIHNob3dncmlk
PSJmYWxzZSIKKyAgIGlua3NjYXBlOnpvb209IjEuMDUwMzM4IgorICAgaW5rc2NhcGU6Y3g9IjEy
NC42NjE3MyIKKyAgIGlua3NjYXBlOmN5PSI4LjgzNjY3ODYiCisgICBpbmtzY2FwZTp3aW5kb3ct
eD0iNTIyIgorICAgaW5rc2NhcGU6d2luZG93LXk9IjYwIgorICAgaW5rc2NhcGU6Y3VycmVudC1s
YXllcj0iTGF5ZXJfMSIKKyAgIGZpdC1tYXJnaW4tdG9wPSIwIgorICAgZml0LW1hcmdpbi1sZWZ0
PSIwIgorICAgZml0LW1hcmdpbi1yaWdodD0iMCIKKyAgIGZpdC1tYXJnaW4tYm90dG9tPSIwIgor
ICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIgLz4KKzxnCisgICBpZD0iZzM3MzkiCisg
ICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNy45MzA3NTYsLTcuOTMxMDI5MykiPjxwYXRoCisgICAg
IGlkPSJwYXRoMjEiCisgICAgIGQ9Im0gNTIuNDAzNzg1LDYuODY4MTQzNyBjIC01LjEwMjg0Myww
IC0xMi41Njg4OTksLTQuMTU3NTU3NiAtMTkuODQ1MzMzLC00LjE1NzU1NzYgLTcuMjc2NDMzLDAg
LTExLjYyMjY3MSw0LjE1NzU1NzYgLTEyLjM3OTI3Niw0LjcyNDU0MDIgLTAuNzU1NjYzLDAuNTY2
OTgyNSAtMS4yMjkyNDksMi43Mzk2Mjk3IDEuMDM5NjI1LDIuMDc4MzA3MSAyLjI2ODg3NCwtMC42
NjEzMjI0IDQuMTU3NTU4LC0wLjY2MTMyMjQgNy43NDkwNzYsLTAuNjYxMzIyNCAzLjU5MTUxOSww
IDEyLjE5MDU5Nyw0LjkxNDE2MyAyMC44ODQ5NTgsNC45MTQxNjMgOC42OTQzNjIsMCAxNS45Njk4
NTIsLTYuNzA4NTA3MiAxNy41NzY0NiwtOS4wNzE3MjA3IDEuNjA2NjA3LC0yLjM2MzIxMzQgMC4w
OTQzNCwtMy4xMTg4NzU3IC0xLjEzMzk2NiwtMi41NTA5NDk4IC0xLjIyOTI0OCwwLjU2Njk4MjYg
LTkuMTY2MDYsNC43MjQ1NDAyIC0xMy44OTE1NDQsNC43MjQ1NDAyIHoiCisgICAgIHN0eWxlPSJm
aWxsOiNmZjMxMzE7c3Ryb2tlLXdpZHRoOjAuOTQzMzk4NTkiCisgICAgIGlua3NjYXBlOmNvbm5l
Y3Rvci1jdXJ2YXR1cmU9IjAiIC8+PHBhdGgKKyAgICAgaWQ9InBhdGgyMyIKKyAgICAgZD0ibSA3
NC41NzE3NjUsMTkuODEzNDU5IGMgLTUuMzYxMzM0LDAgLTEzLjIwNDc1LC00LjE1NjYxNCAtMjAu
ODQ5MTA5LC00LjE1NjYxNCAtNy42NDQzNTksMCAtMTIuMjExMzUxLDQuMTU2NjE0IC0xMy4wMDU2
OTMsNC43MjQ1NCAtMC43OTQzNDEsMC41Njc5MjYgLTEuMjkxNTEyLDIuNzM5NjMgMS4wOTE1MTIs
Mi4wNzgzMDcgMi4zODMwMjUsLTAuNjYxMzIyIDQuMzY3OTM2LC0wLjY2MTMyMiA4LjE0MDU4Nywt
MC42NjEzMjIgMy43NzI2NTEsMCAxMi44MDc1NzksNC45MTQxNjMgMjEuOTQwNjIxLDQuOTE0MTYz
IDkuMTMzMDQyLDAgMTYuNzc4MzQ0LC02LjcwODUwNyAxOC40NjYwODQsLTkuMDcwNzc3IDEuNjg3
NzQsLTIuMzYzMjE0IDAuMDk5MDYsLTMuMTE5ODE5IC0xLjE5MTUxMiwtMi41NTE4OTMgLTEuMjkw
NTY5LDAuNTY3OTI1IC05LjYyODMyNiw0LjcyMzU5NiAtMTQuNTkyNDksNC43MjM1OTYgeiIKKyAg
ICAgc3R5bGU9ImZpbGw6IzMxOTgzMTtzdHJva2Utd2lkdGg6MC45NDMzOTg1OSIKKyAgICAgaW5r
c2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz48cGF0aAorICAgICBpZD0icGF0aDI1Igor
ICAgICBkPSJtIDQzLjcxOTgwMSwzNC4wOTg0MDEgYyAtNS41NTk0NDgsMCAtMTMuNjkzNDMxLC00
LjQ5MTUyMSAtMjEuNjIwODA5LC00LjQ5MTUyMSAtNy45MjczNzksMCAtMTIuNjY0MTgyOSw0LjQ5
MTUyMSAtMTMuNDg3NzY5OSw1LjEwMzc4NyAtMC44MjM1ODcsMC42MTIyNjUgLTEuMzM4NjgyNiwy
Ljk1OTQ0MSAxLjEzMjA3ODMsMi4yNDQzNDUgMi40NzE3MDQ2LC0wLjcxNDE1MyA0LjUzMDE5OTYs
LTAuNzE0MTUzIDguNDQyNDczNiwtMC43MTQxNTMgMy45MTIyNzQsMCAxMy4yODIxMDksNS4zMDc1
NjEgMjIuNzU0Nzc1LDUuMzA3NTYxIDkuNDcxNzIyLDAgMTcuMzk5MSwtNy4yNDYyNDUgMTkuMTUw
MDQ4LC05Ljc5ODEzOCAxLjc1MDk0OCwtMi41NTE4OTMgMC4xMDI4MywtMy4zNjc5MzMgLTEuMjM1
ODUyLC0yLjc1NTY2OCAtMS4zMzg2ODMsMC42MTIyNjYgLTkuOTg2ODE4LDUuMTAzNzg3IC0xNS4x
MzQ5NDQsNS4xMDM3ODcgeiIKKyAgICAgc3R5bGU9ImZpbGw6IzMyMzJjYztzdHJva2Utd2lkdGg6
MC45NDMzOTg1OSIKKyAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz48L2c+
Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01haW4uaHRtbCBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRt
bAppbmRleCBjODI2ZDUxZjkxNzdlZGU0ZDliOTU2Yjk3YzUxZDQ5ODA2MGVlNzBjLi4xYjY4MjUz
MGFjYWU2ZDFiZjA4Yjg2MmFiMWI0NWFmNjY2ODJmYmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCkBAIC0xMDksNiArMTA5LDcgQEAKICAgICA8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0ZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3
LmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9Gb3JtYXR0ZWRW
YWx1ZS5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvR2F1Z2VD
aGFydC5jc3MiPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvR1N0cmVh
bWVyVGFiQ29udGVudFZpZXcuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
IlZpZXdzL0dlbmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwuY3NzIj4KICAgICA8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0dvVG9MaW5lRGlhbG9nLmNzcyI+CiAgICAgPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9HcmFkaWVudEVkaXRvci5jc3MiPgpAQCAt
MjgzLDYgKzI4NCw4IEBACiAgICAgPHNjcmlwdCBzcmM9IkV4dGVybmFsL3RocmVlLmpzL3RocmVl
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iRXh0ZXJuYWwvdGhyZWUuanMvT3JiaXRD
b250cm9scy5qcyI+PC9zY3JpcHQ+CiAKKyAgICA8c2NyaXB0IHNyYz0iRXh0ZXJuYWwvZDMuanMv
ZDMuanMiPjwvc2NyaXB0PgorCiAgICAgPHNjcmlwdCBzcmM9IkJhc2UvV2ViSW5zcGVjdG9yLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQmFzZS9QbGF0Zm9ybS5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9IkJhc2UvRGVib3VuY2VyLmpzIj48L3NjcmlwdD4KQEAgLTMzNiw2
ICszMzksNyBAQAogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9ET01TdG9yYWdlT2JzZXJ2ZXIu
anMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9EYXRhYmFzZU9ic2VydmVy
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvRGVidWdnZXJPYnNlcnZl
ci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0dTdHJlYW1lck9ic2Vy
dmVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvSGVhcE9ic2VydmVy
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvSW5zcGVjdG9yT2JzZXJ2
ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9MYXllclRyZWVPYnNl
cnZlci5qcyI+PC9zY3JpcHQ+CkBAIC00OTIsNiArNDk2LDggQEAKICAgICA8c2NyaXB0IHNyYz0i
TW9kZWxzL0F1ZGl0VGVzdENhc2VSZXN1bHQuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3Jj
PSJNb2RlbHMvQXVkaXRUZXN0R3JvdXBSZXN1bHQuanMiPjwvc2NyaXB0PgogCisgICAgPHNjcmlw
dCBzcmM9Ik1vZGVscy9HU3RyZWFtZXJQaXBlbGluZS5qcyI+PC9zY3JpcHQ+CisKICAgICA8c2Ny
aXB0IHNyYz0iUHJveGllcy9Gb3JtYXR0ZXJXb3JrZXJQcm94eS5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCBzcmM9IlByb3hpZXMvSGVhcFNuYXBzaG90RGlmZlByb3h5LmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iUHJveGllcy9IZWFwU25hcHNob3RFZGdlUHJveHkuanMiPjwvc2Ny
aXB0PgpAQCAtNTY5LDYgKzU3NSw3IEBACiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0NhbnZhc1Rh
YkNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvQ29uc29s
ZVRhYkNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvRWxl
bWVudHNUYWJDb250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IlZpZXdz
L0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0i
Vmlld3MvTGF5ZXJzVGFiQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3Jj
PSJWaWV3cy9SZXNvdXJjZVRyZWVFbGVtZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iVmlld3MvU2NyaXB0VHJlZUVsZW1lbnQuanMiPjwvc2NyaXB0PgpAQCAtNTg0LDYgKzU5MSw5
IEBACiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0RldGFpbHNTZWN0aW9uU2ltcGxlUm93LmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvRGV0YWlsc1NlY3Rpb25UZXh0Um93Lmpz
Ij48L3NjcmlwdD4KIAorICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9HU3RyZWFtZXJTaWRlYmFyUGFu
ZWwuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9HU3RyZWFtZXJWaWV3Lmpz
Ij48L3NjcmlwdD4KKwogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9TZXR0aW5nRWRpdG9yLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvU2V0dGluZ3NHcm91cC5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1NldHRpbmdzVmlldy5qcyI+PC9zY3JpcHQ+CkBA
IC04ODAsNiArODkwLDcgQEAKICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRGVidWdnZXJN
YW5hZ2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRHJhZ1Rv
QWRqdXN0Q29udHJvbGxlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xs
ZXJzL0Zvcm1hdHRlclNvdXJjZU1hcC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IkNv
bnRyb2xsZXJzL0dTdHJlYW1lck1hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3Jj
PSJDb250cm9sbGVycy9IQVJCdWlsZGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0i
Q29udHJvbGxlcnMvSGVhcE1hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJD
b250cm9sbGVycy9JbmRleGVkREJNYW5hZ2VyLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9HU3RyZWFtZXJQaXBlbGlu
ZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9HU3RyZWFt
ZXJQaXBlbGluZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZTNkOWNjNjBhNmJkYjIyNWFiZDBjNWE0MTRiYWVj
ZmNlZjQ2YzVhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzCkBAIC0wLDAgKzEsNDggQEAKKy8q
CisgKiAgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
aWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEg
IFVTQQorICovCisKK1dJLkdTdHJlYW1lclBpcGVsaW5lID0gY2xhc3MgR1N0cmVhbWVyUGlwZWxp
bmUKK3sKKyAgICBjb25zdHJ1Y3RvcihuYW1lLCBwYXJlbnRCaW5OYW1lLCBiaW5OYW1lLCBkb3RE
YXRhLCBzdmdEb2N1bWVudCkKKyAgICB7CisgICAgICAgIHRoaXMuX25hbWUgPSBuYW1lOworICAg
ICAgICB0aGlzLl9wYXJlbnRCaW5OYW1lID0gcGFyZW50QmluTmFtZTsKKyAgICAgICAgdGhpcy5f
YmluTmFtZSA9IGJpbk5hbWU7CisgICAgICAgIHRoaXMuX2RvdERhdGEgPSBkb3REYXRhOworICAg
ICAgICB0aGlzLl9zdmdEb2N1bWVudCA9IHN2Z0RvY3VtZW50OworICAgIH0KKworICAgIC8vIFB1
YmxpYworCisgICAgZ2V0IG5hbWUoKSB7IHJldHVybiB0aGlzLl9uYW1lOyB9CisgICAgZ2V0IHBh
cmVudEJpbk5hbWUoKSB7IHJldHVybiB0aGlzLl9wYXJlbnRCaW5OYW1lOyB9CisgICAgZ2V0IGJp
bk5hbWUoKSB7IHJldHVybiB0aGlzLl9iaW5OYW1lOyB9CisgICAgZ2V0IHN2Z0VsZW1lbnQoKSB7
IHJldHVybiB0aGlzLl9zdmdEb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3ZnIilbMF07
IH0KKworICAgIGdldCBzYXZlRGF0YSgpCisgICAgeworICAgICAgICBsZXQgbmFtZSA9IHRoaXMu
X25hbWU7CisgICAgICAgIGxldCBmaWxlbmFtZSA9IFdJLnVubG9jYWxpemVkU3RyaW5nKGBHU3Ry
ZWFtZXItcGlwZWxpbmUtZHVtcC0ke25hbWV9LmRvdGApOworICAgICAgICByZXR1cm4geworICAg
ICAgICAgICAgdXJsOiBXSS5GaWxlVXRpbGl0aWVzLmluc3BlY3RvclVSTEZvckZpbGVuYW1lKGZp
bGVuYW1lKSwKKyAgICAgICAgICAgIGNvbnRlbnQ6IHRoaXMuX2RvdERhdGEsCisgICAgICAgIH07
CisgICAgfQorfTsKKworV0kuR1N0cmVhbWVyUGlwZWxpbmUuVHlwZUlkZW50aWZpZXIgPSAiZ3N0
cmVhbWVyLXBpcGVsaW5lIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1Byb3RvY29sL0dTdHJlYW1lck9ic2VydmVyLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvR1N0cmVhbWVyT2JzZXJ2ZXIuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTU4ZGJiMTk5Zjc4MjViZTliYTRkODI0ODQzNzJiZjQ4MTA2ZjczNgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0dT
dHJlYW1lck9ic2VydmVyLmpzCkBAIC0wLDAgKzEsMjggQEAKKy8qCisgKiAgQ29weXJpZ2h0IChD
KSAyMDE5IElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
CisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0
aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKK1dJLkdT
dHJlYW1lck9ic2VydmVyID0gY2xhc3MgR1N0cmVhbWVyT2JzZXJ2ZXIgZXh0ZW5kcyBJbnNwZWN0
b3JCYWNrZW5kLkRpc3BhdGNoZXIKK3sKKyAgICAvLyBFdmVudHMgZGVmaW5lZCBieSB0aGUgIkdT
dHJlYW1lciIgZG9tYWluLgorCisgICAgYWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpCisgICAgewor
ICAgICAgICBXSS5nc3RyZWFtZXJNYW5hZ2VyLmFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKTsKKyAg
ICB9CisKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Qcm90b2NvbC9UYXJnZXQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Qcm90b2NvbC9UYXJnZXQuanMKaW5kZXggY2EzODVmZTI4YjFiZWZiYTg0YzQ2OWM4NzU4OTIx
ZDdmZmIwYTM0MS4uMGE4OTFiMDViMDE5MjdiOGQzOTNkYzkwNGQ2ZGZkNTAzYjEzMTZlYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvVGFy
Z2V0LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29s
L1RhcmdldC5qcwpAQCAtMTM2LDYgKzEzNiw3IEBAIFdJLlRhcmdldCA9IGNsYXNzIFRhcmdldCBl
eHRlbmRzIFdJLk9iamVjdAogICAgIGdldCBET01TdG9yYWdlQWdlbnQoKSB7IHJldHVybiB0aGlz
Ll9hZ2VudHMuRE9NU3RvcmFnZTsgfQogICAgIGdldCBEYXRhYmFzZUFnZW50KCkgeyByZXR1cm4g
dGhpcy5fYWdlbnRzLkRhdGFiYXNlOyB9CiAgICAgZ2V0IERlYnVnZ2VyQWdlbnQoKSB7IHJldHVy
biB0aGlzLl9hZ2VudHMuRGVidWdnZXI7IH0KKyAgICBnZXQgR1N0cmVhbWVyQWdlbnQoKSB7IHJl
dHVybiB0aGlzLl9hZ2VudHMuR1N0cmVhbWVyOyB9CiAgICAgZ2V0IEhlYXBBZ2VudCgpIHsgcmV0
dXJuIHRoaXMuX2FnZW50cy5IZWFwOyB9CiAgICAgZ2V0IEluZGV4ZWREQkFnZW50KCkgeyByZXR1
cm4gdGhpcy5fYWdlbnRzLkluZGV4ZWREQjsgfQogICAgIGdldCBJbnNwZWN0b3JBZ2VudCgpIHsg
cmV0dXJuIHRoaXMuX2FnZW50cy5JbnNwZWN0b3I7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclNpZGViYXJQYW5lbC5jc3Mg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJTaWRl
YmFyUGFuZWwuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlODU0YmRlM2M1MzNlZGEwYmY4NmVlYjg3NWI5NTM2
NjAwNDgzMmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJTaWRlYmFyUGFuZWwuY3NzCkBAIC0wLDAgKzEsMTA4IEBA
CisvKgorICogIENvcHlyaWdodCAoQykgMjAxOSBJZ2FsaWEgUy5MCisgKgorICogIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0x
MzAxICBVU0EKKyAqLworCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciA+
IC5jb250ZW50IHsKKyAgICB0b3A6IHZhcigtLW5hdmlnYXRpb24tYmFyLWhlaWdodCk7Cit9CisK
Ky5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyID4gLm5hdmlnYXRpb24tYmFy
IHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiAwOworICAgIGxlZnQ6IDA7Cisg
ICAgcmlnaHQ6IDA7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVy
ID4gLm5hdmlnYXRpb24tYmFyIC5nc3RyZWFtZXItYnJlYWtwb2ludHMgeworICAgIGZpbGw6IG5v
bmU7CisgICAgc3Ryb2tlOiB2YXIoLS1nbHlwaC1jb2xvcik7Cit9Cisuc2lkZWJhciA+IC5wYW5l
bC5uYXZpZ2F0aW9uLmdzdHJlYW1lciA+IC5uYXZpZ2F0aW9uLWJhciAuZ3N0cmVhbWVyLWJyZWFr
cG9pbnRzLmFjdGl2YXRlZCB7CisgICAgZmlsbDogdmFyKC0tZ2x5cGgtY29sb3ItYWN0aXZlKTsK
KyAgICBzdHJva2U6IHZhcigtLWdseXBoLWNvbG9yLWFjdGl2ZSk7Cit9CisKKy5zaWRlYmFyID4g
LnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyID4gLm5hdmlnYXRpb24tYmFyIC5nc3RyZWFtZXIt
cGF1c2UtcmVzdW1lIHsKKyAgICBmaWxsOiBub25lOworICAgIHN0cm9rZTogdmFyKC0tZ2x5cGgt
Y29sb3IpOworfQorLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgPiAubmF2
aWdhdGlvbi1iYXIgLmdzdHJlYW1lci1wYXVzZS1yZXN1bWUuYWN0aXZhdGVkIHsKKyAgICBzdHJv
a2U6IHZhcigtLWdseXBoLWNvbG9yLWFjdGl2ZSk7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5h
dmlnYXRpb24uZ3N0cmVhbWVyIC53YXJuaW5nLWJhbm5lciB7CisgICAgdGV4dC1hbGlnbjogY2Vu
dGVyOworICAgIGZvbnQtc2l6ZTogMTFweDsKKworICAgIHBhZGRpbmc6IDExcHggNnB4OworICAg
IG1hcmdpbi1ib3R0b206IDZweDsKKworICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIo
LS1ib3JkZXItY29sb3IpOworICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCg1MCwgMTAwJSwgOTQl
KTsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLnRyZWUtb3V0
bGluZS5zaW5nbGUtdGhyZWFkID4gLml0ZW0udGhyZWFkIHsKKyAgICBkaXNwbGF5OiBub25lOwor
fQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAudHJlZS1vdXRsaW5l
LnNpbmdsZS10aHJlYWQgeworICAgIC0tdHJlZS1vdXRsaW5lLXNpbmdsZS10aHJlYWQtbWFyZ2lu
LXN0YXJ0OiAtMTBweDsKK30KKworYm9keVtkaXI9bHRyXSAuc2lkZWJhciA+IC5wYW5lbC5uYXZp
Z2F0aW9uLmdzdHJlYW1lciAudHJlZS1vdXRsaW5lLnNpbmdsZS10aHJlYWQgeworICAgIG1hcmdp
bi1sZWZ0OiB2YXIoLS10cmVlLW91dGxpbmUtc2luZ2xlLXRocmVhZC1tYXJnaW4tc3RhcnQpOwor
fQorCitib2R5W2Rpcj1ydGxdIC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVy
IC50cmVlLW91dGxpbmUuc2luZ2xlLXRocmVhZCB7CisgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS10
cmVlLW91dGxpbmUtc2luZ2xlLXRocmVhZC1tYXJnaW4tc3RhcnQpOworfQorCisuc2lkZWJhciA+
IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAud2FybmluZy1iYW5uZXIgPiBhIHsKKyAgICB0
ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKKyAgICBjdXJzb3I6IHBvaW50ZXI7Cit9CisKKy5z
aWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC5kZXRhaWxzLXNlY3Rpb24gewor
ICAgIGZvbnQtc2l6ZTogMTFweDsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5n
c3RyZWFtZXIgLmRldGFpbHMtc2VjdGlvbi5wYXVzZWQtcmVhc29uLmNvbGxhcHNlZCA+IC5oZWFk
ZXIgPiAub3B0aW9ucyB7CisgICAgZGlzcGxheTogYmxvY2s7Cit9CisKKy5zaWRlYmFyID4gLnBh
bmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC5kZXRhaWxzLXNlY3Rpb24gPiAuY29udGVudCB7Cisg
ICAgZGlzcGxheTogYmxvY2s7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0
cmVhbWVyIC5kZXRhaWxzLXNlY3Rpb24uY29sbGFwc2VkID4gLmNvbnRlbnQgeworICAgIGRpc3Bs
YXk6IG5vbmU7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC5k
ZXRhaWxzLXNlY3Rpb24gPiAuY29udGVudCA+IC5ncm91cCB7CisgICAgZGlzcGxheTogYmxvY2s7
Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC5kZXRhaWxzLXNl
Y3Rpb24uc2NyaXB0czpub3QoLmNvbGxhcHNlZCkgeworICAgIGJvcmRlci1ib3R0b206IG5vbmU7
Cit9CisKK0BtZWRpYSAocHJlZmVycy1kYXJrLWludGVyZmFjZSkgeworICAgIC5zaWRlYmFyID4g
LnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC53YXJuaW5nLWJhbm5lciB7CisgICAgICAgIGJh
Y2tncm91bmQtY29sb3I6IHZhcigtLXllbGxvdy1oaWdobGlnaHQtYmFja2dyb3VuZC1jb2xvcik7
CisgICAgICAgIGNvbG9yOiB2YXIoLS15ZWxsb3ctaGlnaGxpZ2h0LXRleHQtY29sb3IpOworICAg
IH0KK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0dTdHJlYW1lclNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclNpZGViYXJQYW5lbC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZDBj
ZjJmNjBlNDZjMjYxYTMyZmFkM2FhMmNkZjY2NzhmNDQzZWE1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJh
clBhbmVsLmpzCkBAIC0wLDAgKzEsMTA1IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAxOSBJ
Z2FsaWEgUy5MCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoK
KyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExp
Y2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUg
U29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCitXSS5HU3RyZWFtZXJT
aWRlYmFyUGFuZWwgPSBjbGFzcyBHU3RyZWFtZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZp
Z2F0aW9uU2lkZWJhclBhbmVsCit7CisgICAgY29uc3RydWN0b3IoKQorICAgIHsKKyAgICAgICAg
c3VwZXIoImdzdHJlYW1lciIsIFdJLlVJU3RyaW5nKCJHU3RyZWFtZXIiKSwgZmFsc2UpOworCisg
ICAgICAgIHRoaXMuY29udGVudFRyZWVPdXRsaW5lLmFkZEV2ZW50TGlzdGVuZXIoV0kuVHJlZU91
dGxpbmUuRXZlbnQuU2VsZWN0aW9uRGlkQ2hhbmdlLCB0aGlzLl90cmVlU2VsZWN0aW9uRGlkQ2hh
bmdlLCB0aGlzKTsKKworICAgICAgICBXSS5nc3RyZWFtZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVu
ZXIoV0kuR1N0cmVhbWVyTWFuYWdlci5FdmVudC5BY3RpdmVQaXBlbGluZXNDaGFuZ2VkLCB0aGlz
Ll9yZWZyZXNoUGlwZWxpbmVzTGlzdCwgdGhpcyk7CisgICAgfQorCisgICAgLy8gUHJvdGVjdGVk
CisKKyAgICBpbml0aWFsTGF5b3V0KCkKKyAgICB7CisgICAgICAgIHN1cGVyLmluaXRpYWxMYXlv
dXQoKTsKKworICAgICAgICBsZXQgcGlwZWxpbmVzUm93ID0gbmV3IFdJLkRldGFpbHNTZWN0aW9u
Um93OworICAgICAgICBwaXBlbGluZXNSb3cuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmNvbnRl
bnRUcmVlT3V0bGluZS5lbGVtZW50KTsKKworICAgICAgICBsZXQgcGlwZWxpbmVzR3JvdXAgPSBu
ZXcgV0kuRGV0YWlsc1NlY3Rpb25Hcm91cChbcGlwZWxpbmVzUm93XSk7CisgICAgICAgIHRoaXMu
X3BpcGVsaW5lc1NlY3Rpb24gPSBuZXcgV0kuRGV0YWlsc1NlY3Rpb24oInBpcGVsaW5lcyIsIFdJ
LlVJU3RyaW5nKCJQaXBlbGluZXMiKSwgW3BpcGVsaW5lc0dyb3VwXSk7CisgICAgICAgIHRoaXMu
Y29udGVudFZpZXcuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9waXBlbGluZXNTZWN0aW9uLmVs
ZW1lbnQpOworCisgICAgICAgIHRoaXMuX3JlZnJlc2hQaXBlbGluZXNMaXN0KCk7CisgICAgfQor
CisgICAgaGFzQ3VzdG9tRmlsdGVycygpCisgICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisKKyAgICBtYXRjaFRyZWVFbGVtZW50QWdhaW5zdEN1c3RvbUZpbHRlcnModHJlZUVsZW1l
bnQsIGZsYWdzKQorICAgIHsKKyAgICAgICAgbGV0IHRleHRGaWx0ZXJSZWdleCA9IHNpbXBsZUds
b2JTdHJpbmdUb1JlZ0V4cCh0aGlzLmZpbHRlckJhci5maWx0ZXJzLnRleHQsICJpIik7CisgICAg
ICAgIGlmICghdGV4dEZpbHRlclJlZ2V4KQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAg
ICAgICAgcmV0dXJuIHRleHRGaWx0ZXJSZWdleC50ZXN0KHRyZWVFbGVtZW50Lm5hbWUpOworICAg
IH0KKworICAgIC8vIFByaXZhdGUKKworICAgIF9yZWZyZXNoUGlwZWxpbmVzTGlzdCgpCisgICAg
eworICAgICAgICBpZiAoIVdJLnRhcmdldHNBdmFpbGFibGUoKSkgeworICAgICAgICAgICAgV0ku
d2hlblRhcmdldHNBdmFpbGFibGUoKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICB0aGlz
Ll9yZWZyZXNoUGlwZWxpbmVzTGlzdCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBsZXQgYWdlbnQgPSBXSS5nc3RyZWFtZXJNYW5h
Z2VyLmFnZW50OworICAgICAgICBpZiAoIWFnZW50KQorICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgIGFnZW50LmdldEFjdGl2ZVBpcGVsaW5lc05hbWVzKCkudGhlbigocGF5bG9hZCkgPT4g
eworICAgICAgICAgICAgdGhpcy5jb250ZW50VHJlZU91dGxpbmUucmVtb3ZlQ2hpbGRyZW4odHJ1
ZSk7CisgICAgICAgICAgICBmb3IgKGxldCBuYW1lIG9mIHBheWxvYWQucGlwZWxpbmVzKSB7Cisg
ICAgICAgICAgICAgICAgbGV0IGVsdCA9IG5ldyBXSS5UcmVlRWxlbWVudChuYW1lLCBudWxsKTsK
KyAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRUcmVlT3V0bGluZS5hcHBlbmRDaGlsZChlbHQp
OworICAgICAgICAgICAgfQorICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHsKKyAgICAgICAg
ICAgIGNvbnNvbGUuZXJyb3IoIkNvdWxkIG5vdCBmZXRjaCBwaXBlbGluZXM6ICIsIGVycm9yKTsK
KyAgICAgICAgfSk7CisgICAgfQorCisgICAgX3RyZWVTZWxlY3Rpb25EaWRDaGFuZ2UoZXZlbnQp
CisgICAgeworICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWQpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgbGV0IHRyZWVFbGVtZW50ID0gdGhpcy5jb250ZW50VHJlZU91dGxpbmUuc2Vs
ZWN0ZWRUcmVlRWxlbWVudDsKKyAgICAgICAgaWYgKCF0cmVlRWxlbWVudCkKKyAgICAgICAgICAg
IHJldHVybjsKKworICAgICAgICBsZXQgcGlwZWxpbmVOYW1lID0gdHJlZUVsZW1lbnQudGl0bGU7
CisgICAgICAgIGxldCB0YXJnZXQgPSBXSS5hc3N1bWluZ01haW5UYXJnZXQoKTsKKyAgICAgICAg
dGFyZ2V0LkdTdHJlYW1lckFnZW50LmR1bXBBY3RpdmVQaXBlbGluZShwaXBlbGluZU5hbWUsICIi
KS50aGVuKChwYXlsb2FkKSA9PiB7CisgICAgICAgICAgICBsZXQgZG9jdW1lbnRGcmFnbWVudCA9
IFdJLmdzdHJlYW1lck1hbmFnZXIucmVuZGVyU1ZHRWxlbWVudChwYXlsb2FkLnBpcGVsaW5lR3Jh
cGhSZXByZXNlbnRhdGlvbik7CisgICAgICAgICAgICBsZXQgcmVwcmVzZW50ZWRPYmplY3QgPSBu
ZXcgV0kuR1N0cmVhbWVyUGlwZWxpbmUocGlwZWxpbmVOYW1lLCAiIiwgIiIsIHBheWxvYWQucGlw
ZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uLCBkb2N1bWVudEZyYWdtZW50KTsKKyAgICAgICAgICAg
IFdJLnNob3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNlbnRlZE9iamVjdCk7CisgICAgICAgIH0p
LmNhdGNoKChlcnJvcikgPT4geworICAgICAgICAgICAgY29uc29sZS5lcnJvcigiQ291bGQgbm90
IGR1bXAgcGlwZWxpbmU6ICIsIGVycm9yKTsKKyAgICAgICAgfSk7CisgICAgfQorfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1l
clRhYkNvbnRlbnRWaWV3LmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTYzNjkzYTE1
OWUwNjBlMGIwZWUyYjEyYTEyMGRhMGZlMWExZmFkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZp
ZXcuY3NzCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxp
YSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5z
ZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0
d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKy5jb250ZW50LXZpZXcuZ3N0
cmVhbWVyIHsKKyAgICBwYWRkaW5nLWJvdHRvbTogNnZoOworICAgIG92ZXJmbG93LXk6IGF1dG87
Cit9CisKKy5jb250ZW50LXZpZXcuZ3N0cmVhbWVyIC5uYXZpZ2F0aW9uLWJhciB7CisgICAgcG9z
aXRpb246IC13ZWJraXQtc3RpY2t5OworICAgIHRvcDogMDsKKyAgICB6LWluZGV4OiAxOworICAg
IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOworfQorCisuY29udGVudC12aWV3LmdzdHJlYW1lciAu
bmF2aWdhdGlvbi1iYXIuaW52aXNpYmxlIHsKKyAgICB2aXNpYmlsaXR5OiBoaWRkZW47Cit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3Ry
ZWFtZXJUYWJDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2OGY1YTdl
ODAzMzYyZWEwNmYxODgyNDM4MTYxNTJhYjgwODMxYmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJUYWJDb250ZW50
Vmlldy5qcwpAQCAtMCwwICsxLDczIEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAxOSBJZ2Fs
aWEgUy5MCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
ICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vu
c2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29m
dHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCitXSS5HU3RyZWFtZXJUYWJD
b250ZW50VmlldyA9IGNsYXNzIEdTdHJlYW1lclRhYkNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29u
dGVudEJyb3dzZXJUYWJDb250ZW50VmlldworeworICAgIGNvbnN0cnVjdG9yKGlkZW50aWZpZXIp
CisgICAgeworICAgICAgICBsZXQgdGFiQmFySXRlbSA9IFdJLkdlbmVyYWxUYWJCYXJJdGVtLmZy
b21UYWJJbmZvKFdJLkdTdHJlYW1lclRhYkNvbnRlbnRWaWV3LnRhYkluZm8oKSk7CisgICAgICAg
IGxldCBkZXRhaWxzU2lkZWJhclBhbmVsQ29uc3RydWN0b3JzID0gW107CisKKyAgICAgICAgc3Vw
ZXIoaWRlbnRpZmllciB8fCAiZ3N0cmVhbWVyIiwgImdzdHJlYW1lciIsIHRhYkJhckl0ZW0sIFdJ
LkdTdHJlYW1lclNpZGViYXJQYW5lbCwKKyAgICAgICAgICAgICAgZGV0YWlsc1NpZGViYXJQYW5l
bENvbnN0cnVjdG9ycyk7CisKKyAgICAgICAgdGhpcy5fZ3N0cmVhbWVyVmlldyA9IG51bGw7Cisg
ICAgfQorCisgICAgc3RhdGljIHRhYkluZm8oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHsKKyAg
ICAgICAgICAgIGltYWdlOiAiSW1hZ2VzL0dTdHJlYW1lci5zdmciLAorICAgICAgICAgICAgdGl0
bGU6IFdJLlVJU3RyaW5nKCJHU3RyZWFtZXIiKSwKKyAgICAgICAgfTsKKyAgICB9CisKKyAgICBz
dGF0aWMgaXNUYWJBbGxvd2VkKCkKKyAgICB7CisgICAgICAgIHJldHVybiBXSS5QbGF0Zm9ybS5w
b3J0ID09PSAiZ3RrIiB8fCBXSS5QbGF0Zm9ybS5wb3J0ID09PSAid3BlIjsKKyAgICB9CisKKyAg
ICAvLyBQdWJsaWMKKworICAgIGdldCB0eXBlKCkgeyByZXR1cm4gV0kuR1N0cmVhbWVyVGFiQ29u
dGVudFZpZXcuVHlwZTsgfQorCisgICAgZ2V0IHN1cHBvcnRzU3BsaXRDb250ZW50QnJvd3Nlcigp
CisgICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBjYW5TaG93UmVwcmVz
ZW50ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3QpCisgICAgeworICAgICAgICByZXR1cm4gcmVw
cmVzZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBXSS5HU3RyZWFtZXJQaXBlbGluZTsKKyAgICB9CisK
KyAgICBzaG93UmVwcmVzZW50ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3QsIGNvb2tpZSkKKyAg
ICB7CisgICAgICAgIHRoaXMuX2dzdHJlYW1lclZpZXcuZGlzcGxheVBpcGVsaW5lKHJlcHJlc2Vu
dGVkT2JqZWN0KTsKKyAgICB9CisKKyAgICAvLyBQcm90ZWN0ZWQKKworICAgIGluaXRpYWxMYXlv
dXQoKQorICAgIHsKKyAgICAgICAgdGhpcy5fZ3N0cmVhbWVyVmlldyA9IG5ldyBXSS5HU3RyZWFt
ZXJWaWV3KCJnZW5lcmFsIiwgV0kuVUlTdHJpbmcoIkdlbmVyYWwiKSk7CisgICAgICAgIHRoaXMu
YWRkU3Vidmlldyh0aGlzLl9nc3RyZWFtZXJWaWV3KTsKKyAgICB9Cit9OworCitXSS5HU3RyZWFt
ZXJUYWJDb250ZW50Vmlldy5UeXBlID0gImdzdHJlYW1lciI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJWaWV3LmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVmlldy5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lMjg3NDExMDBmOWExNzEwMTc4MDM2OWMwNzAxYTY2ZDAyZmMwZTQzCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
R1N0cmVhbWVyVmlldy5qcwpAQCAtMCwwICsxLDE2MCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMp
IDIwMTkgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRo
ZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworV0kuR1N0
cmVhbWVyVmlldyA9IGNsYXNzIEdTdHJlYW1lclZpZXcgZXh0ZW5kcyBXSS5Db250ZW50Vmlldwor
eworICAgIGNvbnN0cnVjdG9yKGlkZW50aWZpZXIsIGRpc3BsYXlOYW1lKQorICAgIHsKKyAgICAg
ICAgc3VwZXIoKTsKKworICAgICAgICB0aGlzLl9pZGVudGlmaWVyID0gaWRlbnRpZmllcjsKKyAg
ICAgICAgdGhpcy5fZGlzcGxheU5hbWUgPSBkaXNwbGF5TmFtZTsKKyAgICAgICAgdGhpcy5fc3Zn
RWxlbWVudCA9IG51bGw7CisgICAgICAgIHRoaXMuX3Njb3BlQmFyID0gbnVsbDsKKyAgICAgICAg
dGhpcy5fY3VycmVudEJpbk5hbWUgPSAiIjsKKyAgICAgICAgdGhpcy5fcGlwZWxpbmUgPSBudWxs
OworICAgICAgICB0aGlzLl9sYWJlbCA9IG51bGw7CisKKyAgICAgICAgdGhpcy5lbGVtZW50LmNs
YXNzTGlzdC5hZGQoImdzdHJlYW1lci12aWV3IiwgaWRlbnRpZmllcik7CisKKyAgICAgICAgdGhp
cy5fZXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW0gPSBuZXcgV0kuQnV0dG9uTmF2aWdhdGlvbkl0
ZW0oInBpcGVsaW5lLWV4cG9ydCIsIFdJLlVJU3RyaW5nKCJFeHBvcnQiKSwgIkltYWdlcy9FeHBv
cnQuc3ZnIiwgMTUsIDE1KTsKKyAgICAgICAgdGhpcy5fZXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0
ZW0udG9vbHRpcCA9IFdJLlVJU3RyaW5nKCJFeHBvcnQgcGlwZWxpbmUgZG90IHJlcHJlc2VudGF0
aW9uICglcykiKS5mb3JtYXQoV0kuc2F2ZUtleWJvYXJkU2hvcnRjdXQuZGlzcGxheU5hbWUpOwor
ICAgICAgICB0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS5idXR0b25TdHlsZSA9IFdJ
LkJ1dHRvbk5hdmlnYXRpb25JdGVtLlN0eWxlLkltYWdlQW5kVGV4dDsKKyAgICAgICAgdGhpcy5f
ZXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW0udmlzaWJpbGl0eVByaW9yaXR5ID0gV0kuTmF2aWdh
dGlvbkl0ZW0uVmlzaWJpbGl0eVByaW9yaXR5LkxvdzsKKyAgICAgICAgdGhpcy5fZXhwb3J0QnV0
dG9uTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXSS5CdXR0b25OYXZpZ2F0aW9uSXRl
bS5FdmVudC5DbGlja2VkLCB0aGlzLl9oYW5kbGVFeHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbUNs
aWNrZWQuYmluZCh0aGlzKSk7CisgICAgICAgIHRoaXMuX3VwZGF0ZUV4cG9ydEJ1dHRvbk5hdmln
YXRpb25JdGVtU3RhdGUoKTsKKworICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyID0gbmV3IFdJ
Lk5hdmlnYXRpb25CYXI7CisgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlv
bkl0ZW0odGhpcy5fZXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW0pOworICAgICAgICB0aGlzLmFk
ZFN1YnZpZXcodGhpcy5fbmF2aWdhdGlvbkJhcik7CisKKyAgICAgICAgdGhpcy5fY29udGFpbmVy
RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICB0aGlzLl9j
b250YWluZXJFbGVtZW50LmlkID0gInBpcGVsaW5lLWNvbnRhaW5lciI7CisgICAgICAgIHRoaXMu
ZWxlbWVudC5hcHBlbmQodGhpcy5fY29udGFpbmVyRWxlbWVudCk7CisgICAgfQorCisgICAgLy8g
UHVibGljCisKKyAgICBnZXQgaWRlbnRpZmllcigpIHsgcmV0dXJuIHRoaXMuX2lkZW50aWZpZXI7
IH0KKyAgICBnZXQgZGlzcGxheU5hbWUoKSB7IHJldHVybiB0aGlzLl9kaXNwbGF5TmFtZTsgfQor
CisgICAgZ2V0IHN1cHBvcnRzU2F2ZSgpCisgICAgeworICAgICAgICByZXR1cm4gISF0aGlzLl9w
aXBlbGluZTsKKyAgICB9CisKKyAgICBnZXQgc2F2ZURhdGEoKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIHtjdXN0b21TYXZlSGFuZGxlcjogKCkgPT4geyB0aGlzLl9leHBvcnRSZXN1bHQoKTsgfX07
CisgICAgfQorCisgICAgZGlzcGxheVBpcGVsaW5lKGdzdHJlYW1lclBpcGVsaW5lKQorICAgIHsK
KyAgICAgICAgaWYgKHRoaXMuX3N2Z0VsZW1lbnQpCisgICAgICAgICAgICB0aGlzLl9jb250YWlu
ZXJFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuX3N2Z0VsZW1lbnQpOworCisgICAgICAgIGlmICh0
aGlzLl9zY29wZUJhcikgeworICAgICAgICAgICAgdGhpcy5fc2NvcGVCYXIucmVtb3ZlRXZlbnRM
aXN0ZW5lcihXSS5TY29wZUJhci5FdmVudC5TZWxlY3Rpb25DaGFuZ2VkLCB0aGlzLl9zY29wZUJh
clNlbGVjdGlvbkRpZENoYW5nZSk7CisgICAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLnJl
bW92ZU5hdmlnYXRpb25JdGVtKHRoaXMuX3Njb3BlQmFyKTsKKyAgICAgICAgfQorCisgICAgICAg
IGlmICh0aGlzLl9sYWJlbCkgeworICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkJhci5yZW1v
dmVOYXZpZ2F0aW9uSXRlbSh0aGlzLl9sYWJlbCk7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG5h
bWUgPSBnc3RyZWFtZXJQaXBlbGluZS5iaW5OYW1lIHx8IGdzdHJlYW1lclBpcGVsaW5lLm5hbWU7
CisgICAgICAgIHRoaXMuX2xhYmVsID0gbmV3IFdJLlRleHROYXZpZ2F0aW9uSXRlbSgiZ3N0LXBp
cGVsaW5lLWJpbi1uYW1lIiwgIkRpc3BsYXlpbmcgIiArIG5hbWUgKyAiLiBBdmFpbGFibGUgc3Vi
LWJpbnM6ICIpOworICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLmFkZE5hdmlnYXRpb25JdGVt
KHRoaXMuX2xhYmVsKTsKKworICAgICAgICB0aGlzLl9waXBlbGluZSA9IGdzdHJlYW1lclBpcGVs
aW5lOworICAgICAgICB0aGlzLl91cGRhdGVFeHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbVN0YXRl
KCk7CisKKyAgICAgICAgbGV0IHRhcmdldCA9IFdJLmFzc3VtaW5nTWFpblRhcmdldCgpOworICAg
ICAgICB0YXJnZXQuR1N0cmVhbWVyQWdlbnQuZ2V0QWN0aXZlUGlwZWxpbmVCaW5OYW1lcyhnc3Ry
ZWFtZXJQaXBlbGluZS5uYW1lLCBnc3RyZWFtZXJQaXBlbGluZS5iaW5OYW1lKS50aGVuKChwYXls
b2FkKSA9PiB7CisgICAgICAgICAgICB2YXIgc2NvcGVCYXJJdGVtcyA9IFtdOworICAgICAgICAg
ICAgdmFyIGRlZmF1bHRJdGVtID0gbmV3IFdJLlNjb3BlQmFySXRlbSgiPHBsYWNlaG9sZGVyPiIs
ICJTZWxlY3QuLi4iKTsKKyAgICAgICAgICAgIGRlZmF1bHRJdGVtLl9fcGFyZW50ID0gIiI7Cisg
ICAgICAgICAgICBkZWZhdWx0SXRlbS5zZWxlY3RlZCA9IHRydWU7CisgICAgICAgICAgICBzY29w
ZUJhckl0ZW1zLnB1c2goZGVmYXVsdEl0ZW0pOworCisgICAgICAgICAgICB2YXIgc2NvcGVCYXJJ
dGVtID0gbmV3IFdJLlNjb3BlQmFySXRlbShnc3RyZWFtZXJQaXBlbGluZS5wYXJlbnRCaW5OYW1l
LCAiUGFyZW50OiAiICsgZ3N0cmVhbWVyUGlwZWxpbmUucGFyZW50QmluTmFtZSk7CisgICAgICAg
ICAgICBzY29wZUJhckl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIHNjb3BlQmFy
SXRlbS5fX3BhcmVudCA9ICIiOworICAgICAgICAgICAgc2NvcGVCYXJJdGVtcy5wdXNoKHNjb3Bl
QmFySXRlbSk7CisKKyAgICAgICAgICAgIGZvciAodmFyIGJpbk5hbWUgb2YgcGF5bG9hZC5iaW5O
YW1lcykgeworICAgICAgICAgICAgICAgIHZhciBzY29wZUJhckl0ZW0gPSBuZXcgV0kuU2NvcGVC
YXJJdGVtKGJpbk5hbWUsIGJpbk5hbWUpOworICAgICAgICAgICAgICAgIHNjb3BlQmFySXRlbS5z
ZWxlY3RlZCA9IGZhbHNlOworICAgICAgICAgICAgICAgIHNjb3BlQmFySXRlbS5fX3BhcmVudCA9
IGdzdHJlYW1lclBpcGVsaW5lLmJpbk5hbWU7CisgICAgICAgICAgICAgICAgc2NvcGVCYXJJdGVt
cy5wdXNoKHNjb3BlQmFySXRlbSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRoaXMu
X3Njb3BlQmFyID0gbmV3IFdJLlNjb3BlQmFyKCJnc3QtcGlwZWxpbmUtc2NvcGUtYmFyIiwgc2Nv
cGVCYXJJdGVtcywgbnVsbCwgdHJ1ZSk7CisgICAgICAgICAgICB0aGlzLl9zY29wZUJhci5hZGRF
dmVudExpc3RlbmVyKFdJLlNjb3BlQmFyLkV2ZW50LlNlbGVjdGlvbkNoYW5nZWQsIHRoaXMuX3Nj
b3BlQmFyU2VsZWN0aW9uRGlkQ2hhbmdlLCB0aGlzKTsKKworICAgICAgICAgICAgdGhpcy5fbmF2
aWdhdGlvbkJhci5hZGROYXZpZ2F0aW9uSXRlbSh0aGlzLl9zY29wZUJhcik7CisgICAgICAgIH0p
LmNhdGNoKChlcnJvcikgPT4geworICAgICAgICAgICAgY29uc29sZS5lcnJvcigiQ291bGQgbm90
IGR1bXAgbGlzdCBwaXBlbGluZSBiaW5zOiAiLCBlcnJvcik7CisgICAgICAgIH0pOworCisgICAg
ICAgIHRoaXMuX3N2Z0VsZW1lbnQgPSB0aGlzLl9waXBlbGluZS5zdmdFbGVtZW50OworICAgICAg
ICB0aGlzLl9jb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3N2Z0VsZW1lbnQpOwor
CisgICAgICAgIHZhciBzdmcgPSBkMy5zZWxlY3QoIiNwaXBlbGluZS1jb250YWluZXIiKSwKKyAg
ICAgICAgICAgIGcgPSBzdmcuc2VsZWN0KCJnIik7CisKKyAgICAgICAgc3ZnLmNhbGwoZDMuem9v
bSgpLm9uKCJ6b29tIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBnLmF0dHIoInRyYW5zZm9y
bSIsIGQzLmV2ZW50LnRyYW5zZm9ybSkKKyAgICAgICAgfSkpOworICAgIH0KKworICAgIC8vIFBy
aXZhdGUKKworICAgIF9zY29wZUJhclNlbGVjdGlvbkRpZENoYW5nZShldmVudCkKKyAgICB7Cisg
ICAgICAgIGZvciAodmFyIGl0IG9mIGV2ZW50LnRhcmdldC5pdGVtcykgeworICAgICAgICAgICAg
aWYgKChpdC5pZCAhPT0gIjxwbGFjZWhvbGRlcj4iKSAmJiBpdC5zZWxlY3RlZCkgeworICAgICAg
ICAgICAgICAgIHZhciBiaW5OYW1lID0gaXQuaWQ7CisgICAgICAgICAgICAgICAgdmFyIHBhcmVu
dEJpbk5hbWUgPSBpdC5fX3BhcmVudDsKKyAgICAgICAgICAgICAgICB2YXIgcGlwZWxpbmVOYW1l
ID0gdGhpcy5fcGlwZWxpbmUubmFtZTsKKyAgICAgICAgICAgICAgICBsZXQgYWdlbnQgPSBXSS5n
c3RyZWFtZXJNYW5hZ2VyLmFnZW50OworICAgICAgICAgICAgICAgIGFnZW50LmR1bXBBY3RpdmVQ
aXBlbGluZShwaXBlbGluZU5hbWUsIGJpbk5hbWUpLnRoZW4oKHBheWxvYWQpID0+IHsKKyAgICAg
ICAgICAgICAgICAgICAgbGV0IGRvY3VtZW50RnJhZ21lbnQgPSBXSS5nc3RyZWFtZXJNYW5hZ2Vy
LnJlbmRlclNWR0VsZW1lbnQocGF5bG9hZC5waXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24pOwor
ICAgICAgICAgICAgICAgICAgICBsZXQgcmVwcmVzZW50ZWRPYmplY3QgPSBuZXcgV0kuR1N0cmVh
bWVyUGlwZWxpbmUocGlwZWxpbmVOYW1lLCBwYXJlbnRCaW5OYW1lLCBiaW5OYW1lLCBwYXlsb2Fk
LnBpcGVsaW5lR3JhcGhSZXByZXNlbnRhdGlvbiwgZG9jdW1lbnRGcmFnbWVudCk7CisgICAgICAg
ICAgICAgICAgICAgIFdJLnNob3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNlbnRlZE9iamVjdCk7
CisgICAgICAgICAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7CisgICAgICAgICAgICAgICAg
ICAgIGNvbnNvbGUuZXJyb3IoIkNvdWxkIG5vdCBkdW1wIHBpcGVsaW5lOiAiLCBlcnJvcik7Cisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICBfZXhwb3J0UmVzdWx0KCkKKyAgICB7CisgICAgICAgIFdJLmdzdHJlYW1lck1hbmFnZXIuZXhw
b3J0KHRoaXMuX3BpcGVsaW5lKTsKKyAgICB9CisKKyAgICBfdXBkYXRlRXhwb3J0QnV0dG9uTmF2
aWdhdGlvbkl0ZW1TdGF0ZSgpCisgICAgeworICAgICAgICB0aGlzLl9leHBvcnRCdXR0b25OYXZp
Z2F0aW9uSXRlbS5lbmFibGVkID0gISF0aGlzLl9waXBlbGluZTsKKyAgICB9CisKKyAgICBfaGFu
ZGxlRXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW1DbGlja2VkKGV2ZW50KQorICAgIHsKKyAgICAg
ICAgdGhpcy5fZXhwb3J0UmVzdWx0KCk7CisgICAgfQorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvSW5zcGVjdG9yR1Jlc291cmNlcy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQvSW5zcGVjdG9y
R1Jlc291cmNlcy5jbWFrZQppbmRleCA2NzRiNWVmMGJlNGJlYjJhMmU4MWIxYmNlOTg0NzgyMmJk
NGI0ODI3Li5hMTBlOTEwMmE2NWUwMzAxZTgzNTcxYzI1ZjQxYzYyYzhjODc4ZWUwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0luc3BlY3RvckdSZXNvdXJjZXMuY21ha2UKKysrIGIvU291cmNl
L1dlYktpdC9JbnNwZWN0b3JHUmVzb3VyY2VzLmNtYWtlCkBAIC05LDYgKzksNyBAQCBtYWNybyhX
RUJLSVRfQlVJTERfSU5TUEVDVE9SX0dSRVNPVVJDRVMgX2Rlcml2ZWRfc291cmNlc19kaXIpCiAg
ICAgICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvRXh0ZXJuYWwvQ29kZU1pcnJvci8qLmNzcwogICAgICAgICAke0NNQUtFX1NPVVJDRV9E
SVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0NvZGVNaXJy
b3IvKi5qcwogICAgICAgICAke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0VzcHJpbWEvKi5qcworICAgICAgICAke0NNQUtFX1NP
VVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0Qz
LmpzLyouanMKICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC90aHJlZS5qcy8qLmpzCiAgICAgICAgICR7Q01BS0Vf
U09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzLyou
anMKICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Qcm90b2NvbC8qLmpzCkBAIC02MCwxMyArNjEsMTkgQEAgbWFjcm8oV0VCS0lU
X0JVSUxEX0lOU1BFQ1RPUl9HUkVTT1VSQ0VTIF9kZXJpdmVkX3NvdXJjZXNfZGlyKQogICAgICAg
ICBlbmRpZiAoKQogICAgIGVuZGlmICgpCiAKKyAgICBpZiAoVVNFX0dTVFJFQU1FUikKKyAgICAg
ICAgc2V0KENPTUJJTkVfR1NUUkVBTUVSX1JFU09VUkNFUyBZRVMpCisgICAgZWxzZSAoKQorICAg
ICAgICBzZXQoQ09NQklORV9HU1RSRUFNRVJfUkVTT1VSQ0VTIE5PKQorICAgIGVuZGlmICgpCisK
ICAgICBhZGRfY3VzdG9tX2NvbW1hbmQoCiAgICAgICAgIE9VVFBVVCAke0NNQUtFX0JJTkFSWV9E
SVJ9L2luc3BlY3Rvci1yZXNvdXJjZXMuc3RhbXAKICAgICAgICAgREVQRU5EUyAke0luc3BlY3Rv
ckZpbGVzRGVwZW5kZW5jaWVzfQogICAgICAgICAgICAgICAgICR7SW5zcGVjdG9yUmVzb3VyY2VT
Y3JpcHRzfQogICAgICAgICAgICAgICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQklOU1BFQ1RPUlVJ
X0RJUn0vVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMK
ICAgICAgICAgQ09NTUFORCBjcCAke0RFUklWRURfU09VUkNFU19XRUJJTlNQRUNUT1JVSV9ESVJ9
L1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzICR7Rk9S
V0FSRElOR19IRUFERVJTX0RJUn0vSmF2YVNjcmlwdENvcmUvU2NyaXB0cwotICAgICAgICBDT01N
QU5EICR7Q01BS0VfQ09NTUFORH0gLUUgZW52ICJERVJJVkVEX1NPVVJDRVNfRElSPSR7REVSSVZF
RF9TT1VSQ0VTX1dFQklOU1BFQ1RPUlVJX0RJUn0iICJTUkNST09UPSR7Q01BS0VfU09VUkNFX0RJ
Un0vU291cmNlL1dlYkluc3BlY3RvclVJIiAiSkFWQVNDUklQVENPUkVfUFJJVkFURV9IRUFERVJT
X0RJUj0ke0ZPUldBUkRJTkdfSEVBREVSU19ESVJ9L0phdmFTY3JpcHRDb3JlL1NjcmlwdHMiICJU
QVJHRVRfQlVJTERfRElSPSR7X2Rlcml2ZWRfc291cmNlc19kaXJ9L0luc3BlY3RvclJlc291cmNl
cyIgIlVOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSD1XZWJJbnNwZWN0b3JVSSIgIkNP
TUJJTkVfSU5TUEVDVE9SX1JFU09VUkNFUz0ke0NPTUJJTkVfSU5TUEVDVE9SX1JFU09VUkNFU30i
ICJDT01CSU5FX1RFU1RfUkVTT1VSQ0VTPSR7Q09NQklORV9URVNUX1JFU09VUkNFU30iIFBZVEhP
Tj0ke1BZVEhPTl9FWEVDVVRBQkxFfSAke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9TY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBsCisgICAgICAg
IENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBlbnYgIkRFUklWRURfU09VUkNFU19ESVI9JHtE
RVJJVkVEX1NPVVJDRVNfV0VCSU5TUEVDVE9SVUlfRElSfSIgIlNSQ1JPT1Q9JHtDTUFLRV9TT1VS
Q0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkiICJKQVZBU0NSSVBUQ09SRV9QUklWQVRFX0hF
QURFUlNfRElSPSR7Rk9SV0FSRElOR19IRUFERVJTX0RJUn0vSmF2YVNjcmlwdENvcmUvU2NyaXB0
cyIgIlRBUkdFVF9CVUlMRF9ESVI9JHtfZGVyaXZlZF9zb3VyY2VzX2Rpcn0vSW5zcGVjdG9yUmVz
b3VyY2VzIiAiVU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIPVdlYkluc3BlY3RvclVJ
IiAiQ09NQklORV9HU1RSRUFNRVJfUkVTT1VSQ0VTPSR7Q09NQklORV9HU1RSRUFNRVJfUkVTT1VS
Q0VTfSIgIkNPTUJJTkVfSU5TUEVDVE9SX1JFU09VUkNFUz0ke0NPTUJJTkVfSU5TUEVDVE9SX1JF
U09VUkNFU30iICJDT01CSU5FX1RFU1RfUkVTT1VSQ0VTPSR7Q09NQklORV9URVNUX1JFU09VUkNF
U30iIFBZVEhPTj0ke1BZVEhPTl9FWEVDVVRBQkxFfSAke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9TY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBs
CiAgICAgICAgIENPTU1BTkQgbWtkaXIgLXAgJHtfZGVyaXZlZF9zb3VyY2VzX2Rpcn0vSW5zcGVj
dG9yUmVzb3VyY2VzL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2oKICAgICAg
ICAgQ09NTUFORCBjcCAke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9M
b2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgJHtfZGVyaXZlZF9zb3Vy
Y2VzX2Rpcn0vSW5zcGVjdG9yUmVzb3VyY2VzL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMv
ZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwogICAgICAgICBDT01NQU5EIHRvdWNoICR7Q01B
S0VfQklOQVJZX0RJUn0vaW5zcGVjdG9yLXJlc291cmNlcy5zdGFtcApkaWZmIC0tZ2l0IGEvU291
cmNlL2NtYWtlL0ZpbmRHcmFwaFZpei5jbWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5kR3JhcGhWaXou
Y21ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDFmMDRlYzNkYzNjMDRkNDE2Y2EzOTNhY2NlZWQxZDhkNzI3MTY2
ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9jbWFrZS9GaW5kR3JhcGhWaXouY21ha2UKQEAg
LTAsMCArMSw0OCBAQAorIyAtIFRyeSB0byBmaW5kIEdyYXBoVml6CisjIE9uY2UgZG9uZSwgdGhp
cyB3aWxsIGRlZmluZQorIworIyAgR1JBUEhWSVpfRk9VTkQgLSBzeXN0ZW0gaGFzIEdyYXBoVml6
LgorIyAgR1JBUEhWSVpfSU5DTFVERV9ESVJTIC0gdGhlIEdyYXBoVml6LiBpbmNsdWRlIGRpcmVj
dG9yaWVzCisjICBHUkFQSFZJWl9MSUJSQVJJRVMgLSBsaW5rIHRoZXNlIHRvIHVzZSBHcmFwaFZp
ei4KKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE5IElnYWxpYSBTLkwuCisjCisjIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
IyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTCisjIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyMgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xE
RVIgT1IgSVRTCisjIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorIyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOworIyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwKKyMgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IKKyMgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RgorIyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworZmluZF9w
YWNrYWdlKFBrZ0NvbmZpZykKK3BrZ19jaGVja19tb2R1bGVzKEdSQVBIVklaIGxpYmd2YyBsaWJj
Z3JhcGgpCisKK3NldChWRVJTSU9OX09LIFRSVUUpCitpZiAoR1JBUEhWSVpfVkVSU0lPTikKKyAg
ICBpZiAoR1JBUEhWSVpfRklORF9WRVJTSU9OX0VYQUNUKQorICAgICAgICBpZiAoTk9UKCIke0dS
QVBIVklaX0ZJTkRfVkVSU0lPTn0iIFZFUlNJT05fRVFVQUwgIiR7R1JBUEhWSVpfVkVSU0lPTn0i
KSkKKyAgICAgICAgICAgIHNldChWRVJTSU9OX09LIEZBTFNFKQorICAgICAgICBlbmRpZiAoKQor
ICAgIGVsc2UgKCkKKyAgICAgICAgaWYgKCIke0dSQVBIVklaX1ZFUlNJT059IiBWRVJTSU9OX0xF
U1MgIiR7R1JBUEhWSVpfRklORF9WRVJTSU9OfSIpCisgICAgICAgICAgICBzZXQoVkVSU0lPTl9P
SyBGQUxTRSkKKyAgICAgICAgZW5kaWYgKCkKKyAgICBlbmRpZiAoKQorZW5kaWYgKCkKKworaW5j
bHVkZShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKK0ZJTkRfUEFDS0FHRV9IQU5ETEVf
U1RBTkRBUkRfQVJHUyhHUkFQSFZJWiBERUZBVUxUX01TRyBHUkFQSFZJWl9JTkNMVURFX0RJUlMg
R1JBUEhWSVpfTElCUkFSSUVTIFZFUlNJT05fT0spCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Uv
R1N0cmVhbWVyQ2hlY2tzLmNtYWtlIGIvU291cmNlL2NtYWtlL0dTdHJlYW1lckNoZWNrcy5jbWFr
ZQppbmRleCAxOGIxMmY4MmE4ZDI4YzM0MjNmM2U2ZjMxNDczODg5OGMxZjY0NzZjLi4wMmJjMDJh
YmM3ZGRiYzE4MDNiZmY4NzlmYTIwMDI1ZDc2MjUxZjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21h
a2UvR1N0cmVhbWVyQ2hlY2tzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9HU3RyZWFtZXJDaGVj
a3MuY21ha2UKQEAgLTEwLDYgKzEwLDE0IEBAIGlmIChFTkFCTEVfVklERU8gT1IgRU5BQkxFX1dF
Ql9BVURJTykKICAgICAgICAgU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX1dFQkFVRElPX0dT
VFJFQU1FUiBUUlVFKQogICAgIGVuZGlmICgpCiAKKyAgICBmaW5kX3BhY2thZ2UoR3JhcGhWaXog
Mi40MykKKyAgICBpZiAoR1JBUEhWSVpfRk9VTkQpCisgICAgICAgIFNFVF9BTkRfRVhQT1NFX1RP
X0JVSUxEKFVTRV9HUkFQSFZJWiBUUlVFKQorICAgIGVsc2UgKCkKKyAgICAgICAgbWVzc2FnZShX
QVJOSU5HICJHcmFwaHZpeiBsaWJyYXJ5IG5vdCBmb3VuZC4gR1N0cmVhbWVyIHBpcGVsaW5lcyB3
b24ndCBiZSBkaXNwbGF5ZWQgaW4gdGhlIFdlYkluc3BlY3RvciIpCisgICAgICAgIFNFVF9BTkRf
RVhQT1NFX1RPX0JVSUxEKFVTRV9HUkFQSFZJWiBGQUxTRSkKKyAgICBlbmRpZiAoKQorCiAgICAg
ZmluZF9wYWNrYWdlKEdTdHJlYW1lciAxLjEwLjAgUkVRVUlSRUQgQ09NUE9ORU5UUyAke0dTVFJF
QU1FUl9DT01QT05FTlRTfSkKIAogICAgIGlmIChFTkFCTEVfV0VCX0FVRElPKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>393471</attachid>
            <date>2020-03-13 03:15:23 -0700</date>
            <delta_ts>2020-03-13 03:15:23 -0700</delta_ts>
            <desc>screenshot</desc>
            <filename>Screenshot from 2020-03-13 10-14-44.png</filename>
            <type>image/png</type>
            <size>723892</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">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
EhERERERUadzozV8tVotampqUFNTg9raWtTU1ODKlSu4fCUPhYWFqKmtgVAghEQshlQqg283XwQE
BEImk5kMnCuXy2+qsxRr+FogFoshFou7RFa9s+IxbMrd3R13xN+JK1euQiy+sYSiTqdDVVWVcYTp
9nrsvP7xe5FIBEdHR5MEtTVJ1Mbt1P/c6rE23nb9NutviEilUqjVMqhUKmM5hIaJa4FAgLvvHoOT
aak4sH8fxo4bj8GDh7R5cro+JkdHR4SFhiGoRxBaOpRDBg810w4glUohk8luuRIuREREREREdGsQ
iURQKBSQyWTGzmhubm7o2bOnsUNkfa5CKBQaO0M6ODjAwcEBMpkMUqm0y3SS6rIJX6L24uTkhF69
eto6DKs0THy256P4baErxdpQwwSzSCSCRCKBVCptUtKj4f4JBAL4+/tjzNhxxtftQSgUwsnJyRiP
peR5c+oTxx3RY5qIiIiIiIjIliQSCSQSCZydnW0dSrtiwpeIyAoNk7mdJTFan4TuSgl0IiIiIiIi
ImpfnSNrQUREREREREREREQ3jQlfIiK6JUilMtTV1dk6DCIiIiIiIroBdXW1kMlktg6jS2DCl4iI
bgk+Pt1w8mQq6upqbR0KERERERERtUJdXS1OnkyFj083W4fSJbCGLxER3RK8vb1RWFiIgwcPQKlk
T18iIiIiIqKuQiaTwcenG7y8vG0dSpfAhC8REd0yvL294e3NfyAQERERERGR/WJJByIiIiIiIiIi
IiI7wYQvERERERERERERkZ1gwpeIiIiIiIiIiIjITnRYDd9u3Xw7alNEREREREREREREtyT28CUi
IiIiIiIiIiKyE0z4EhEREREREREREbWxsrIy7Ny1G2Xl5R26XSZ8iYiIiIiIiIiIiNpY5vkLqK6p
QWZmZodulwlfIiIiIiIiIiIiojZWXFx87f8lHbpdJnyJiIiIiIiIiIiI2lidUmny/47ChC8RERER
ERERERFRG9NqtSb/7yhM+BIRERERERERERHZCSZ8iYiIiIiIiIiIiOwEE75EREREREREREREdoIJ
XyIiIiIiIiIiIiI7wYQvERERERERERERkZ0Q2zqA9qTWAgfTNdh4TAOVRo8JsRKMjhZDKrF1ZERE
RERERERERERtzy4TvvllemxNUmN7igblNXrj9PTtSnz6qwpjYsSYGieBn5vAhlESERERERERERER
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
+ipkArw5Q4oIP7s6BERERERERERERHQLs7tsZ/8gET6ZL0OIj/ld6+EpxEcPytAvSNSBkRERERER
ERERERG1L7tL+AJAgLsQ/54rw5SBEoga7KFICCQMkmDlQ47o4WmXu05ERERERERERES3MLGtA2gv
jg4CPDnGAVMGirFyjwoAsHCUA3p4MdFLRERERERERERE9sluE771grwMg7kRERERERERERER2Tt2
dyUiIiIiIiIiIiKyE0z4EhEREREREREREdkJJnyJiIiIiIiIiIiI7AQTvkRERERERERERER2gglf
IiIiIiIiIiIiIjvBhC8RERERERERERGRnWDCl4iIiIiIiIiIiMhOMOFLREREREREREREZCeY8CUi
IiIiIiIiIiKyE0z4EhEREREREREREdkJcUdt6PLlyx21KSIiIiIiIiIiIiKbkcvlKCsrM75u+Ht7
67CEr7+/f0dtioiIiIiIiIiIiMim3Nzcmv29vbGkAxEREREREREREZGdYMKXiIiIiIiIiIiIyE4w
4UtERERERERERERkJ5jwJSIiIiIiIiIiIrITTPgSERERERERERER2QkmfImIiIiIiIiIiIjsBBO+
RERERERERERERHZCbOsAiIiIiIiIiIiIbnXbUyqxMDEfl0vVtg6FGgnwkGDlPH+MiXG2dShWYcKX
iIiIiIiIiIjIxh5fl4+vHw/EsFC5rUOhRg6k12Duqks4/364rUOxChO+REQdrLKyEllZWVCredeW
iIiI7J9UKrV1CDYjkUjg7+8PhUJh61CIqAvIK1Ez2dtJ3RYux6WSrvMdnglfIqIOlp2djZCQEAgE
AggEAluHQ0RERNQu9Ho99Ho9cnJyEBYWZutwbKKurg6XL19GRESErUMhIqJbCBO+REQdTKVSQSQS
QSQSMeFLREREdkuv10On09k6DJuSyWR8qouIiDocE75ERDYgEokgFoshFAptHQoRERFRu9DpdNBo
NLYOg4iI6JbDhC8RkQ0IBAIIhUL28CUiIiK7xX/rEBER2Qa7lhERERERERERERHZCfbwJSIiIiIi
IiIisiOXStT46UQltqVUIqdIjUslhnrigR4SBHlJMKG/ApNiFQjwkNg4UmoPTPiSXcnLy8Nrr70G
d3d347R58+ahd+/e2LJlCw4cOAC9Xo+4uDhMnz6dj5gRERERERERkd24XKrG0s2FSNxXBo1W32T+
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
Ha5t+PDDj+n7lu9/77d/dgP9sT22x/bYfkz7xgC+M7NVC6DNAGUFFlg4RAug9wTsZZYwSCmSU1ww
fPUzs1NkUUfJVdkF3QTESRXAIRWwgrxg92blGc3Aq4If9fcS3DT55DpRp6e8Vhm5WeAPTcU0zClg
VWqC+TqrM7y499MUS70XBaKLg2ikor1q9i6fRSr9dQL4pvnec30WkiJeGTTldeedOE92+WyW50M5
ZFW2oz6vol8ZgmgaRmV88maF7Pqgvo72CPr+xO2dLF99n4X7a7QoWSn+o3N9RmSL5qmp4yOEAooY
cf77vgdjGEZh1IkzNpJiosktqxhpoMinmDkwg+AnKUMubAvTtLSbDeuLS9ZXl6wuLgqrt6kBitZZ
eufonaGJE04lHAqrlzSKYG4Be/NSC7Xck9Evz4YUBYQVnV1NZRP2b5gCw2FgvxPA97A/1GrIWtBI
DONci/dYMqYUPwsF7J2mUpjLWpw5ncsC4xmEFfjwaSm49y6Es1yr3peZfwqaUe5lPiYXo1vXVMlS
WGQu1J8l07f0n5nfs+U5utKVpKL9XdbMVAChWoBuCU7rGDTUrAZ9Pq7ol2vwTOf9SVAN7Y9c9WPF
ZcmLK38zi2DOPJj3kApJ5VLkszCKT1PWZ3ahslzfyLx4wFxS8OfhflJOgveGruuFDdQ0NG0re4D3
hGGQYlo5neieLpmpOpJzNkWTeR4WwgguHWOYr3e5P6k0kz5vDVQYg7cO7xwg2s0xqpa/nNcszlMe
E1UeQp/Rsk/qfS/Goj5Pm7EW2qahKdqMwi4Vhq91co/WIQxgDMYkrE0YIlQ9epXn4EE2UQH+rZNL
ypByJExy1HA81sB2mCaSFr8xBcAtMh76XBU01/4XFrip49QtZAoUiDfM9oUAta7uadpSRNYqMzNa
tXMfjremaQozWdLaFVRSBhoLAHgpo1CDweW5qH2h65ky16QWwGwfTSGw3x+APGsgL9aabMr8NqfK
20t5FaPrwGJc5CRMabvI6mo6T9+v6PpewIBYgP+3YI81yPCW9iYQvFgE9cdIgSxroe87tps1m7Uw
LiOyL7mScaXP2lrDcZrY7Xfc39+VQF7ZIzWQ/tYr+t1umZwXvfXG4viu4047fn6u6g8g9rUrBZCL
vdm2jfw0Dm8NzmVWned80/P06ownl2ds1x2WzPF4IDrwJpc0dWFTn5+fs16tePb0Kev1mhAiu52w
bGMUVmG/WtG2HSklrl9fE2Nks1njG88wDNze3hBiZLffcTzu6bqWs7Nznjy5omlbhmHk9vaWEAJn
2zO22y1d1/Hlly+4vr5mGAaMNfRdX+RfWtq2xTnHNE7c7+75/PPP2e12xJho25ZxGBnHgWGQ4qNd
14nm8HrNs2dPOT+/oGlbpmni+vVrpphZrbacX/SABEu1Fol1RcbBlmxCM0sjqK2uQZ5f5PZVdvls
D8WT1+uaR2K9PuMYAhmLbxu2Zxe4tpHip8exApAJKcRmsinBN7C+YXcYaGOmaYwEqEPEpIh1HmNi
KTKbJRBWbDsJtMq17YcjHz97ysX2jNvbW2Kc+M53vsM0DgyHIzkmrC/fbSRbZhxHxlLMeHt2yfH6
Bmstz58/57DbA7Ddbsk5s+paGmdo2ob97S3OQpwCjfcMh8Npf7zFxpc+LBJE8unF61JrI4xSAM+l
iTZJATiyZL7IlC7Zb8UWzdYKqcFYDlPAr7d89OwDvv/yC7QWRkqJbB1TFD3rmCJxSsQUMFk0sk1v
CJOQQUIIZKiZHTFGMFb2fNQ1L/ImGFbrFb5tyUEyBvvVmouLp/zKr/wKUwj8w9/6Bzx58uSnHo+P
7bE9tsf2O23fIMBXU/lm9pPsxzOoq4CqFgww1Sma0zrRAmpFD4/y74cMCE3xNEVAX9JJxTFR57Vg
w7NTnmeJibk9kIMoabgYiY5rXqoATgIeK1OIvEhJPCn4ptcGhlNg+7SgkjB0FCiYAd/Z6UfB3npO
BajlnlXGQTdyZfHWAkHMG/2sg7xwpMp/NaIOtVI0hcmyLLQi3z/fa8oZV1Kec4qln2P9O0bVjSqA
Fj9nx2b2sr/6Y4+g7zvbzMpRZ7mMAQpDY8GINHkB8KmBWeYf2TBNE8fjkfvdjpgy4zRxLOzeymZ1
jpCjgJrGSKEGcmXcZgzRgHUe23a0mzWri0u2T5+yvrzAr3qysaQC4XXOsmo8K29pSZg4YadRJBzG
A8SRTARTZGNmzFPGa57vBww5qQMsadkpFUfBSkGO43Bktyus3nEkhliB75jkmFB+Upr1ZsmRGHOR
t5iYYijz5u3AbS7g5ZszyrwTQFAy2UNsv6bM6/H6HbmWiKyviUMpx9jysJeHq06s1YCSNRCZU/x1
LbcGYiYk7QdmwM+5RVGZxZ1k6Q9XshqMQTQyrStZHgpO630t73E+VwUXUdEJR3V8ChBqTrpDAbRT
9m89cckqyfk0jf7tmRYUQFBB7HktTTlXiQSjbHlD1Y131kkxoLaTNPK2k4AamTEEjuNATAnXeLq+
I8QgbOeSxiunkwGechYSdh0QhW+j8iJG9+RTAFjHjuF0//DOlUKFBu+ErRZLgSrdy1JOi70ps3hU
i/0FGdz12c1AvASRZB/1ztI2wuq0pgSaTS59K4w2YQq64lRmnLU4b7Cu3Ecq+1SSPd0gadACvCcJ
siqGupiz1lhCEKAhTFMBIYssUtEIbrzDKchSBasLIzVnkpW9VbX3tQicBEhTHXoGlYmRQnNpkbYq
RWwszqTKO69yKCDrZ5bAXJXSaZqa7jsPYQVTE7ZoqdoyF9u2LTYGpfBPYeTFU/kGrYSuQHhKUwWZ
hCX8YzbjeeNAA3XGzkA4daguoPPSn23bsVqvWK9WeO+Zis1o7CwRpt+rpIF5HVwYPG9tM9BLDXgY
vHds1h3n2zXrviWWjxprsL4pYLY8P2sMYZo47Pfs93tiDHoH5K/45t9JewvG/a/UMnnR5/mt773L
dlKYHLUFih5YneuiOVDWdFtlMBrvaL1lvWrZrlsutiuuLrZs1h3OwTgdiSFDY8EZUgw0znF2fs7V
xQXbzYa+66QvsmhyG2NovGdVxkiYJo6HA3d3Iv/Qr4Ud+sWXX3B3L7IbGFivV5yfnXF1dUXfrzge
jtzd3XN/f0/TNKw3UpxtHCdub2c93tVKjlutVnUOhRDY7/d8+eULXr++Bqha4Hd3dxwOB3LObLcb
zs/PefLkCWdnAih77xmGkS+//JJPPvkUaz3PnjsuLsu8Wayry0wDfT2GWAM9YZoI0/gzHCVfV5vB
yKWPoyMr52K3sRiZ+ne2jDEU4HwjBdesFZb3GMA4cs1IKHZHksKZzkB2BpPK+NR1PEuWxySMA3rv
iWEEZ8WmCwkaCRTiLJ0xON+SDERyLTD36u6OxlssCZtVKiczpok0BcbxSBot/WpLRiRLnl+dS2FA
A+vtRm7VGFqgdY6X16/wxjKEQOcbDsc7mkaAaFUfUzvXGN3v0htz1xhDMg7jIE2RsWTOtDmzypLl
AMK+tc4QTQIk2IKRYnjRZYI1dP2KcYo8v3rG+sPfw+XT91idbdkf7ln3K25e3JAi3E9HIPHtb73P
7auX/J6PvsXLly9YX5xxvl7x2//4n/Av/sk/YdU4PnlSGwIAACAASURBVP7Wh9zsr/ny1QsCgVXT
0SeD2Y+cuw7jPN/61d/H5v1nfP/FS9rNlo8++jbGNbx48YLvfe97XF1dcbe7/ZrG7GN7bI/tsb3Z
vjGAb9S0/aXzaKz4wczO3LtkHITRJOnRqbJFUwVp1QOfncI5gi2gZwEIlKFUEBFltUYpd8+SPSvn
KqCCGkgFPDbWiRM/Qzsz+FpZQHkGfdURfst92oV8xRKIqeDsCRtnAdSicI7RS6zs3ofM6ApiG6pD
vYzmVpaVtQIkWP24mQsRmMK3ystzKCAxaxnnPDMJnILJOZFiqvqty9TqlNMsj6HX8th+odvbjECg
gBfSLMq8mz9rzennjZnBWpX7OB6l4u5uvy9GciDEUHT8GqmcbCiAr4AW2daFRIxpDLbr6bdbNldX
bJ9c0Z1tsW1LyIkQJrx1rNqWTdeycoYmBsx0hOEAYYA4YsKEyQHV6p3BvYdQqgCD+opWrhd9clOB
72EYuL+75+72bnbqi+alVNyOhBBLQUsBOVX3WJnQ0yROmZ67Ojzlx9gZhK5A2INn9TYHPGvRxeqF
o4Tl08+9fUQ8WFMegp7Fd0eYnNYIW1d0kIsTmksBtywMX0nYFWahXpqJkgLtjMFYV8DwJSAzA2tz
EHHh3L7luo21RXd3gQIbC0lYoIvycrJmKYkXASI0iJhUa/hBP7elaIwCvQ/3tpP1Pmvfzdeas2ig
pprdIYxLVSZSiZCcM847tm3LdntG36/BWPb7gwQYDgeGcZRU176jaRvavmUKQRjlqnWnGtSlaNiJ
xM/ieisgo2PJWinyYnR+C5hgkD3JW0vjPM47KExSKeKpAKBoV0ctHkNegHGlP7HzXlUdfQ3Qlsli
ZHx5Z2m9x1tTqrFHWX+8jAXnHG3b0PgGWxhY1jkpQmM9KWWGVObkFMgx4qyhabwUSpRRL7aBQdJ/
S19NVqQrlB3rVGLE2cKklQJR3vmFlqyer4xZJ0WApJClKxroeSHtIHPEadElq+vtImhdX3eQooCO
ZZ9XW8QWyaamkYJQTdOSoqSb6/ibx6c8D2sESLPWVIAsxshhL5kY4zTW4nSpsIR1XmgfxVLMDopm
YwlMLAZ+/W5XUIRsqUE+56QPnfNvBBtSlOBZKmNFtZK7vsN7R5jMvN6hJtq77I7ypB+8b6r9pxaQ
VpUSaL1rGrarjs2qo7WGsbD7bMkakMK2EpiwhqKNORCmqcZxvq6moO/D76hr0U94nmW/zb+TBNeK
nbj8jlM79rTPdT2pmL4tc6BkZzhr8d7iLDgLfed5enXO+bZn1Tn61uFtxhmwhQHsnVylMYb1es3T
p094cvmEGALHwxHnHP2q5+rJFd2uLeMxczwe2e/3HI8HwNB3Hfe3E69vXvPDH/yAKQRW6zVPnz3l
6dMrzs/Psdby+tVrbm/vGMcRYxxn240UlBpHdrsdwzDQNA1nZ2dcXV1yfnGBs64GuodhYL8XXd+2
a+t7X3zxOYfDkb7vefbsGR999CHPnj/nbHsmrOBp4tWrV3z22ed8//s/4HAYuHzyrAZdszGo5ryr
dnoJxGQIITKFiXEcBewttssvenvoIy5ZqkIgiW8ZnzrmxNZ0vqFpDDHDcdhzGCZylkKPYo8U2yZG
kcOIEWMzxjg22xW+6WicJ8fImLIEUVMgBEP0njEMGCP63DFlnGnwXYt1DWfnDdZavnz5Am8dISc+
/dEntEXiI00BYzIxTbjc1oyupmmYYuYwHllvNhyCkAA2mw1jIQRcnJ3jLVAyKcfjgc4BJsuagznp
L4zRsOMbuu4idTTvw9ZaKQhrEykkwhRpjBzXOCm6HMgYJ3aeK36ktQ3ZZSZgMoZgHWMpEPfxh+9z
+fwDXN+S0gXGOD768NuS6ZYTYxzpW8MnP/iX/OjzzxhD4OWw5w/8yu/nl3/1V/i1P/KHOV6/5rf+
7/+L/Tix2m5JKXJ3/Zrt+VNyb7l4/j7nT5+yef8po3ecPb3i5esbksl8+oN/yTgG1uuem1cv8V37
dQ7dx/bYHttjO2nfGMA3J03vYHZWzFLKYPHDzN6RtNVYJRdylqJf+YETCrOTeQKmWmWC6Dk1pWY+
X2UVpdkQVSNf2Re2nq9IQyjzmOJwFiaU6AgrS6mwSObQ8sm9VgCAGexV1FgBbtE6nvX3xLHg9H4R
UOZNMIFqtKl2b30epd+Whr1+hy3ieQIaLe6/nPQETE5pZq2g/QZWGXF5Tj0FcepVd1k0DOUeyaYC
Fz+5u/GzaZpS++M8rK+D5ftNYw4vGXiajqzOpXIxTtNvT52KVAoaZSCkJCnoZZ5b7yXFs6T0Z2uk
GJsXtgTWYXyLa1qapqXfbNlcXLC9usKve0zTEMmkKIBh5y3rxrEyGT+NMB5hPGDCiEmT/OQg+rJl
eCwB7AogLgIsCgIbI46pxRBDZBhHjodBJBwOB6YQqZBszsQYmEIBl6IyChVYVu1QccrCFAojmoUe
rKmYp6wns1NfWT2LZ/TT8Ohlbsxp1UtQYLmC5JTr2ieKNNonD6fWHLCav0PfWlwnKv+gUjtmLj5l
jACei+GzZCHbReBM8du33bL209vuWoqEOMExscQcCHEGlXStnudvAX4WgGfOVDBN2IRyXn0uyh6q
a2oB2LVfFRyTzIhyzEKPVZtKJjknDN/t9gznGyl4OE3sdnt2ux3jNNH3LZv1mqZtSDlzHAZ2+wPH
oejj5ZIFk4R5GULAxCjrNDO+q2NN90FrEi67ytib+8hUXFjZ1846mqat+3gswYwQApMVbeqkOrJF
+7mCvMWQWIJWmbmom4Ia3gkT0FkLEQGjyaXQk2gd910v2q5eTC1nRQbJGlsCKyMMkRwnOdYbjGlK
gHgONCRrSbY8PCM2QUypshJB9UglLb1qy5Y9W1m7GQrDvWDphdmrQVzRDC7jxYp2vsgqybhbjheZ
B4tirkb2aA0waRBbZRl8uT7tsxkQkmAUOdcCcrqua7En573g7SkRVG6mZHakVDS0YyBaW2ScYpWL
0PUvlkDXcq2i9rApWsoGnJWsAmtpvLCSU86VXY0RHfNUsod0OGrwfw42C29fh6l8blnfYDm339bm
4JbohBsBfUvg6snlGb/0rQ/56KMPMdZxfzgwlvRwzZSycjsYZO8L00Qs+r1vBFVhYUvO1/s7bTp/
ln//TtvpejRrUdcpuSAuoMB8LhldbpYkMm4er9ZC46VQVus9XdfQNp7GGVpv6FvHZtWyah3eZCyR
db9iu13Rdp7d3S0xjBgkBVyCEon94VBA9cy66ObmpHUmIofDgVcvX3B/f1+LKx4Oe1JOHI5HyHB+
fs7F5SVPnl7hvbx/fxfYH/aklGmblvV6w3q9IefM4XDgcDgWVu85682G8/OtAIHjyPF4LBr+gZQy
XSeBiWEYOBz23Nzc0PU9z58/5/f+3t/LBx+8j/Oe4/HIyy9e8urVK168eMH19Q37/YH15oyL8wvW
600JFFVaiPgExcZI2UhwJ8YaWM9ZihA27dfvfs4Q47veB7U0lqO1ej41a2euabIkE8hrDyUdypqA
FV3caSRMI7ms0Y0rRV1TkKJhZhH0DJkIwvC1jtV2jXWG1kvGGM6SC1vWmkwK8mwb50klK804K3Uq
2h7feclYS1LHIk4j03Dk6bc+Znd/j3O6PsYKuhpj6LcbfAg0q5bN5SXN/R5iYt2vefn6FSEENqs1
q7blcByJh3sMiWREwgiQdZNIVHusBCf132pnnT6BYnOX+IHJbQlUBqzNNE4KzRnjiMmSnZECx2Qa
Y2iMJTpHIjM4y2gSZ1eXfH44kO7uaDYb7l7uGdJIDJknl88hZq6ePufs7IzWZ771y9+GEFlZi9+e
0W3PSb6FvuP2i894eXdXgj0N+/2RdbNiHCeMNfzSr/4BYtvw+rijb3qG/Z7N2ZbXr1+zXq95/eIT
dsDv/32/jx988v2fdjg/tsf22B7b77h9YwBfdTDUZlcw1irouwB81XhMCgpWZlOaN15NT8qgzNAK
8BotRjB7+XLOWB1tdZA1bXXGjdVYkPNVB8cuANoKJhTjNWXQYkWLa9aTziCQ/E8dN1vv+RSkFeNY
gePEXAAF/dbFceW12qdLSYhZT6+CmuUMc1D3oVMxX49R0HfxxQpYA4WRmXCZ2ifahzMkNjtFuQDr
Kc7OfYppZtrkt3FOfj7td0FM4mtqX9c9nLInvvoKFIIpfxsNAsxjd2lI6jjJlFTpGIWBVhhtWpQq
GyOWtjMkBcaceMzGO6xvaboV7WpNu16z2p6zOjtjdbYlOUsqjnXbODrvWXnHyoKbjjAcBfCdjlgi
NgUgYnkwNg3MlFeZK7b8XvaAswJAh3FknKZSrGW3kKaY2SYxCbstpETM5XeawUDpklSYhrGkiufC
3FG4QYG3uW/1/Jn8BlDw7qf8wLhfBkLKn4sZfYIY6LqaUhIgxWi/LD5kSnDH5JqVvzz9ktlWAd/6
PadZCWYxhur9v2N8vntWaH/NTg/KiMKCceCc9H/MhJAKWEENqC0zL1LVfp3PL89Y1vKmBNmyKeB1
mqUIFMRTAFXnQwbRLUZS5pMpsg9FUigXoAIjxX/6vsd50dc7HAZ2uz33ux3DOGKMOHqb7YbNZo11
jrvdTop8umNZv2XfjDFhpwkzjoQQsQtnUPtMK2BrYLOoQlSgXyMWpiC+xpgK9jpfCmiV/pkmYZhN
o1SeDwqAxDJfyjCwdVdZBjEW6crMDN/GiWxCks6EnHDW07aOtm1Z9U2RMRCQ1zlf9BZljArAm8k5
CNjaOHLjiNERJgXhwXtX9ugoYK1V+QZXCy5550RXuWkWY1jGiFlQ6XXlFB1qZYbP/SdFVEU/fyos
XAGZSyZNisQSYDdO+sstx/XCzqogspE1y1VbRIKzoq1eGMNG9YfdYr5oVpKuU7EGCWpdhHKfmkkV
i5STyp9IUSYtLlcNsTfmr63fJ9kSFlsLeCqAm8tndM6lpGnWGlh+M7upLgM/xgI4tZWWa9oMUFKk
vBrf8P7zJ3z3lz/mo48+Zn840ryG3XFgjJloIBowFpw15JhIcap6z86erktvvR7evq7Jem9OP/gV
58gPbie/8zsfvq7Pan79JButgrqcBKpyAeWNoc45552Mde9Kfwpo3nqZw13j6ZuGrvW0DvrG0Hpw
RAnm5IQ3PWebnqurC7y3DPt7UgRnhBEZQmS/P2AwtE1D23YCrBamuDVSYHB3f8ft7Q3DcARgmjL7
/Q7rHE3bcnV1xfbsjM3ZhsZ79oc9wzAQY8Baw2azYbs9Y73aYK0v80HkTLqup+/lx3vH8XiszF5A
+sL5BQP+TvSFQ+TZ2Rnvf/A+H3zwAZvNmpvbW7788kt+9OmPePXqFfu9gM3b7RnP3/uAp8+esVr1
MtfK07bWCNAbomiOa4ZjlLmZS7DJeVeY6L/YbWmTvtU2yO9m+IpkQYOKUuWSAWGMZA/0fUsMukZm
Uo7EUmTPOINpWg6HAz5nXCrBGJPwWiDcCHlhGAa6s6ZelzGScWAb0UrfHw8459gNewiRbE2VNbvY
rItdFYBWiA/WslqtsOMI3mFMZrPZVLNUA8zOS3ZFCiPjccCXdcY1HkKgbT3HMVYykPalBtNCCG/t
X/U9C1WJRMJmcCbNvqwVQkY0lljq5LhMsd8dmUiyMIWA9Y40BPaHHS9fviQ72D655OXLl7y+uWY4
DERjyQQIA33XgDNk4/Btx+dfvmTVeF6++JKXP/yERGaMklVjs8UigPl6s+FA5ouXX4DzfHl7W9nS
x2T46KOP+OLTz9nv93hvyfEXn+H+2B7bY/vmtG8M4Dsby6fs1pp6+8CYVpAXSqGvCvYuJQ3MAixW
7V9zAnyKsTnrKorNn2cgNWlqmZ7RzMZovUZf5AoWbJni7FYGroKzi0js8n7VyZIfNztK5bvqnRej
OC1+19Qqe9pPFWQyi/414lxbY0/YvWmxeSl4/BAgriCvmSvaqyNfMRcjiE+OiTAKaNsuwGQB5pl1
TeXFBSNb+mgaikOfSvGULH35r0BYeWy8CeD/rNrS2Puqv0+u5cF1KbihvuB8vACbOlbKxyoYIUXY
8lygjaJ3hoLAFrzD9z2rsy2bswv6szOa1QbfdRjvMVYYF95btqueddvQpIQdj6TDnnw84MKEI2JN
whY97rl0mTjCVucIulqUtWcRWNJ1I+fMOAV293uuX19zOBwXc2+WM1FQW4qqmBlIXECfMUFMWRy0
EmBJ5fuFMTr/jZnlFX46eRRTAeLlw1vArgVQ0QCTggWnDr+yC982EpV9rO8rq/Xkm8rpTM5VvsFZ
AQlmRnNhxpfX9WjyMlX4FDCZA3Vvua7FdRgpkUfGgRXNuWmaGKbEOEWRdCh9FWIQdmKMFbhPadZL
xRjGEMjjSMqZtu9pzQyqJ92bzHIvkwvRPcBaR9f1Mp7G2QmTKuuZFCVcYq2laYW5Ok2B+/sDNze3
hfW1BzKrvmPV9Ww3G87OznDeEWLkOIwyn7LsTzlDiAnrPFiHLUUFl/uZ7H+l6GaUgovGuXkPzYAr
gG8tduqwTirHd11L08xyClMpSDSOA83xwHA8Mo5HQpEo0MCFMfp8CzRlcpHkUJuhFEezlNTVMpbK
PqOyDF3X0LZeQKS2KSnjLRTGbQgW7wzOgbUy3prGVRBnYCQGkdhwVvbMmHx9jgJGNqLP6URj1zup
9B4X8lGzTTSP7VM76dSG8N7TtE2dYakwaefMolQCAAaV05DJVnJwSo0EnaeVXannUw3eEArrUCSX
VEfYOVvHZkZslEAkaCHW5XVkLQaFjJeQFmDvsi0Kxp6sWQ/mb7XpynpQ7DNdi60RTd5cimUK01cK
xE1TYY4rU53T+15+o4HFOjJ/9zIwr+u4nIei2zxiSHRdz0cfPOM7v/QxH3/8Mdc3d3ibeX1zz34Y
GVImABRlsGkKxGkihqlIYb1jofpJWj4FbWdW/NubUZv4x532HXvJsp8U0M05Me+JcxE/sW8VVHNY
L4BL23VScMk7simFCE3GO+i9F8DXO7rG0nlovRRjm4Y9Llls5+jaDWfbNdvNiilMQC6MdY91jv3h
iMmG9WrNxcUVXdvgnCuBCRjHkfv7O169fsUwHHEKBh2PGGPYrNc8e/4cX+ZzzIn73T03NzeM40jT
Njx/9oynT5+yXm8wxjIcB0nDd5Z10VT3zpPJRb5hz/E4kHNitVrRdR0ggN/19TV3d/ccDgfWqxXv
PX+PZ0+f4r3nxYsX/OhHn/HZZ5/x8uVLUkr0fc92e87FxSXPnr9P369JWPaHA77psb6RPQOI08QU
YomB5RrUMWUdU3m2r7t9/oP/72v/jsf22B7bY3tsj+0XvX1jAN+lJpAU/FgCtAoNzk6CVorVtE4t
+jZbpaZKD6hxIqDvzHwVw73oP5bj5NxiEFdmkjHCWknqaBWnyM0AsjLVUk6YLM6nykDkqj8Yq/Ol
FnZlyxawylpX0tbk/mfARA3lvLjnmd0LkJOwSIyVtHZl1iyN+bdBGsoiFDaZRqwt1s66VzPYOztO
M1NzZt0oUK6Ra0kvF/VSvZVa6IdcnK9ImEbiNJEKY0uqqx6JU6iAwDdJ2uDftLZ8durQvellzvO8
QhsFGE0FkPn/2XvT7UiS41r38ymGzARQVT2QErWW3v+97hHZ3TVgyiEifLg/zNwjElVNtnREUuqT
1gsNFBIZGYOP27btXUEya93GXMcIk9HUL9mgpKLlaM7gusBw2HH3/h33H77DD6PoVVowHsYu4L3B
W8NgISyTGLNNF9x0EaO2ErFklXC4LitGwcKiMo1NKxsFvnSAqQZCS4y8vrzy5fNnXl5euFwuLZGU
i5RKF1C5GSnZLqmIbMDWoEx5FEXsO/Q78htjKUYMxbKR1w2mJWfUQlLvfLVWq69vN+9m/WoZrd/e
F0v7XpoO81VCQDeV5LKKOOs9RYGSZn5XBJyr46I1UoLosmkg87eGCQHJ5TlkLVWVSy3tDrTP/Ksh
gFLOYkwiQ5llWmYucxLAt1QZDmHwnM8XXo+vdJ2nFGFiJ2VpU3JjPC4xso8Lg6JFlU1T6n3aPIta
fYIxOC+M2HleOF3OChisyUJjipQ/d+JkXwGD0/HE68uR4+uJtCT6PjD2A+MwsBtH+k6kCVJcRJcQ
BLA1UgJsjWjvdcaQfVDjsSplJGD3PEGOCzFDoc7pYgDXNLyLzCneB3w34MIg333AeZFTcNYyDDvG
GJmnidPplaN70X64Vs7UhIoYIiZhAJeCQRjOsswoWFNwthC8wVooCOjkg6UfOsaxp+s7BVkFIE0l
Sd+3AooED8PgibETABVdJ2Apqk+Pqy73IheQNnNsZfSN4yBriZagNarRTQPRawLDmsrWp/3blAqg
IYC5ArbWWknkVsBO+5zVNZZBtG+90zk9SRJJmMOGYt26/qHO0wtYy6zgaGXeOnVYrwx0YdEKM3Ce
F7wrmlQW8Ds5C9ulUBEgec6znrO6D2ifVxSXWvJfUzhthDGa4HBWqjtSkWtUtm8pYK2A6aUYMFId
EqP2UQyX84VZS/kpm/VbSw5txhNWaZa/tS7ZzHzknPEWxqHj++/e88c/fM8ff/xAHwymLIx94Pl0
5jjNnJeFJRdijhynE9PlpEZZhVJkvNsm0/63RR15ZTxVlnWRNuKVhdj3Pf0wCODbCSApS9qMoxCc
oe8cvXf0zjIES2cLwWV6D94qKNwH7u52eG+ZpzPH04n9fk/fdxjg5emZ/X7Pjz/8wL/965/48F50
fM+nI6/Pzzw9PfLlyxeen58F7HVG5VakIuLd+/e8//CB/d0dr8cjr8dXXo+vHE9HjDE8PDzw3Xcf
eP/+PX0vRpnH1yPH44lhGNmNO4ZhlD6bM8syM00TpZSW+Nrv94DheDzy+PjITz/9xMvrC10XeP/h
O96/f08p8PHjRz5+/Mjnz5+5XC7sdjv2+wP39w/c3d0x7vZgHC+vr5xOEzZ03N8HfNcDDrsllYCu
t+r8v3mA+X9v27vFLW5xi1vc4n9T/G4A32q6UVmlv8bslY2LlBtVZm9jzDY2zGpyJgZqKzArC5bK
7NowRipzbcP+qmXAsrB3inNUwHfLyNWzK4VSj9lkHBRAzhujtroZr5q69prVjKklw5UVwWYDsspW
5LQpD26YzPa81jKcqyg0RkUu64YwV9bF9pY3HKSa0inwuylbR9lV9WRqmap3XoBe3bCt57FCLKVk
UlyYp4llFtA3qQPwrOXtwk4zWzLPLf6Hx1/bBAvGd5162DbRa5a6aWZX2+d/PSpU8FK/ihgkLTmD
NYR+4GAD9x/e8/DhPbu7O3VEF83JvvP0vSNY8CUT8oKZJ8w8y/dlxuYocOrWad1cn896RSto+i0m
7TzNnI5HPn38xPPLM/M8q06mp7I686arlKwMX02mVG4xCpwXYzcsXjGsw6CM3hUIrizfCnNmNsmi
dnorBIpek6k/XT2XzVP4jf2yMv5a5cPb10r9xAoZls2n66eVNphgEFAnWKuyO99qc5vfFVVo1zFZ
9DzRsZ83Sa1fuQak7aYs4zcKVJynhcu0KMO3tORZjJFpunA6HpUxZlkUhBSsUwzDYk5ijpbS1Wt1
w930fVlHz1xW4NAH0eOt858wYy05L8rUzOJeHwLWmpaQW+ZFwEnr6Lue3bhjv9uxG0e6LnA+L8R5
EgkAIwZerW1q4tT6IOTQvOq7p1IoLBhbhKVYrAKNcq7eB5wyLyvg65wX7cLQaQm1VY3aIDq6zsk9
XWZ8MECEImCiVTe/qlMMhWWZOF/OLEtEilkMzltSzBgjX84reJ4TxsAwDDzc37M/7EQDN0UMhRRn
UlyYKHgfCF1P8I5x6ARsLcKwz6kQY2Wxa0LCWoz1FKd9Wdt7CIG+C/Rdf8WWy6VglQWumQ2d2tck
NrVdGJ1Xc27riNo/AG0DqUkhWGVZe/UtCAqml9JWO61Saa17KqBJWZD3pepOf8VsraZw65iXVeeZ
wproMaqhbewVaFkUYJL7adZ7slkblZRaL1zR4PpnRquXhB1qlEFdj7OuBxFTXSw5FaZpIS1Szj9N
c6sSq6DXt+LXEudlvfXrgGE0SaUMVuctY9/x/uHAu/sdd4eeOHfEeYd3hX5w9KcLz8cTx4u0uzRd
WOYLaVlWsLu0BvLNePvKr49p5a8d5puv/ZbKkHWsYl1jlzr2rwnTmiCT9maUSS+SCuO4E3mDvsMF
r4kR2lzcqV5v7w29syLn4GEIgd3gGTpL5y1D7yk5scwXnBvouwBGEjo5ZYZx5OHung8fvuP+/oHg
A/Nl4nw68/T8zMvLK9N0ETki59RbQOaf3W7g4eGBYSfM4U+fP/Hy8kJMUSUe3vHhwwceHu4JodMk
4JnT6UwpRWUanEoxxXaPpPTet/6Vs0hHfPr0iZ9//pnj6cg4DLx//4E//elPDMPAPE/Msxy/As2H
/YHD3R19P2CMJGuOpxeOxzNzTBzuHqh2iAX1L2kJjSrbYJopZGvnf7MF3OIWt7jFLW5xi/+O+N0A
visbdwOGtld1KdLA3a0e7rqZgcq4UAZR+zJNZxfqwlxKLdsxmyFbYaWKuQ3YuxqevS0zbgBKOy81
sKnskHXntAIKTe/XKqPXtA1bXUjJhk9XVnndMHxlyrNhmnyLcSKbQjbXLv+40jrentuGQbSVc7DK
WqQdCxpPY8PA8d7R9z3DKFqRVfrhagegxyxJQBFx/51b2WIFfbNqDTa20i3+h8aaoPhtf/vmN0YA
u2smcGkvtj5Xvm7fDaJsQKcAeylnjLMM+x2jD9y//8DucIfvAjlFPKK52feO3oEvCZsidplhmjDz
hI0LJkVsY/UaaOze68zItq8UWBn5m/46zTOn44mnx0c+f/rEvMxakt+v17LZTFV2sGj0ZjVSqRCQ
gIDGmMbgLRXw1XOSf6sEQR1b6pBUrjfeb27qeoXm+jo38CsbK6xvPtkVR66bejlLYXLZr/7Q1I/b
jq9le44r2GsMWGeFXVhLtOu5bp7F1TkVFDwXVIJeVwAAIABJREFUk7di9RoaQ3IDam+/b3NVRYDz
mAyxZGKKHM8zl2kR8yrWcTYXYUVOk8gRLDEqcA+iI6KaoyD6zAr4VnZzocjf6Py4HfYbY1MBklIM
XegIwRNTUJBAWK6QmxlaKXC+TJwvE0tMwny0jmHo2e1GDvsd+/0O5wzTdGKJCyUnrBHJgTlV6SRN
3FhhDbNhf5tS5NkECMbjvUpKhE5B3R7vggAKmqGwzrZEoTGiL1gZ7l7Zft4ZUuqBhRQvUGZSb+m6
0BKIPniMgely4fnFiAniIg/Pe8dMVLAw45wR3WUy1hp2ux0P93fsDzthaM9T006dpjM5RbrQ4axh
GHfQe0ruZB5bEvMc27zVNHCtVdO3Va4m50wIgeADwXtJ8tb1R27iKy1h+3YuXjsKmkiur9XlQhE1
k1qBpMmTNZEu66Kg2qQpZZW1WNm5lBX8yRliXKQ9GqcmbagRWTWpFdA21+le22pSxm41ntteQ501
2li/WcfVCgljVvmskrMk67ai4xt9qLrOCzZgnWcY+tbmBXx1WCfJBWMcOcMyLyyliDHWXBm+6zpx
9UKQ57cdDr+ai34VCDVQxI6tC4GH+z0fPjxwt+8ZOss4ONJdTwiG3a5nf7nQPVr8y5GSIyZH8jKT
1BywAvt/DXj9G8TjzUn/xr+7esNveFN7pnUufFOR1v5MxpKabHCamOr6jn4Qhm/oRc7BOtvAXmcK
nReQt7PQO+gcjJ3jbgzcHQaGzuGs/H1OC8syiVRL35NzZp4F4B93O+7uHxiGkZQLr69Hnh4fefzy
yPPzC9PlQsmlGRemuGCtoes77h7uGHdi7Pb0/MyXz1+Y5ol+HHj37h0//vgH7u/vCSqlM02zJhYy
XTcQgtdzqTq9ro2FIQRKyUzTzPPzC4+Pj3zWqqBhGPjDH37kX//1T/zxj3/k+fmZ19dXpmliHEf2
hwPjMHA4HBiGkbhEXl5f5f2vR2IqhG7QfQhtvmqSS7XPsSY4Ulolpn6r7v8tbnGLW9ziFrf4v4vf
D+BbS/a3GxkFI5qMQzVna4y/6zJFjMUaJwCtq2DvyqAV4EgZZg2sXA3f1oVnBXZpIK91To9dtX+v
Qei8kW0QALmye8UgY/vearRirGtmbyu6sDLwKlPY6PesTthVuqKWdNZ7ZhqwvTV5W1dlb39O1eW8
bvQaE2YFjluZKSvou2UWr0t/uSMZKa3s+p5xHPEhbADfCiyvl1slKmJcxPE7JYq6Z6cY1XylguSm
Xfst/meFABPwWx5OS6p8dYzrf9fyxu1ntILmNyxgo+KdW+AXA9Z7hn5kf//AsN9jXCCVJCWZ3hGC
o/cGnyM2CqOXaYJ5hmWBHKHpXW5P9G8A3KW6J6/6hCllXp6f+fzpE1++fGGeJvq+U7Cu6pLXvl+7
jADXMSoDNCe5A8ZqQsqK7IVJZGPIRkDeer5FQeHKAAYaiFN+7fzL2qu/fkZaKfEW2m1jy5owunq5
gRNm/fsr0KZBXA03VM4gNO6X/r6O+c7iQgDnIUFaVv1H+VuLLUUBXdpnlwr66msVxG1jPqYZRW7H
qaZJClgsqYhJ3mWaOZ4uzPNCTiJfcy3cc3UjmhxHlQUSA0KjwFqut1GN2/Q41mzzhlTme9Jy9a4T
VuxuvxNQc7lQSiQlKb0PXgy3QBjmL88vHF+PLLMwd7vOMw4d+13Pfj9yd9iBgdPptc0RzltCF4jT
TElZWLzGUkoFrcXwp4K4xjpC5wkdOCumSwJI9wTfqV7k2llFx9aJbEHJxLiIhILq2obO03lLKYa0
dMS5wzBQsheDOWWqdp2wmy+XM13veHl94Xw6EeOC847Coozeotq7IvXgvWO/33HY79mNA0ucCc4Q
o2Uic0aqUbI1GBLWFmxWuQyVKEg21Sl87S+2AozrXFoB3/rcKuiZy8aktN6ZNyzaNt/XxFKdq7Ut
bfufmF5ZKAK4O1v7l7ATfU3IUijZVNEXUln7XUvWRAWXjZO1iPYxbAUgpV+ZatTX+k4mRkTLepP8
agzeAqaslUg18Vyvx5ZCNrVfrPdhe6UGmtGt9R5vLaHvGYehsSeTSkqE0GGtR6Q3IMZMijPzNEuS
YbN2ErB97clVgqY927oebMzHFbCGCvgblUeWY+33I//6r3/gX/74PftDT3CFsXeYIv2vWMucCodP
Ow5fXhi6Jz5//Aw5UVLkKzmhb8SWlGCM/SeDczKf5Df3qL2qKLo1VoFOkZ7xPmiCKKjJlMqoGalX
cSbTO0vvDZ0rdLbQe9iPgbvDyLu7kS5YIJHzIu3JIGaD80xMifPlAsZyONzR9T1LjHz69InL6czT
ly+cjkdinLHk1l8scq5d6Njt9jw8PBC6wMurSC3kktkf9jy8e8/33//A/d29jkczl8uFUrTvh44Q
OowxzPPM6XTCOUn+WhtaVc+yzDw9PfLnP/+Fx8dHlmWh73v+7d/+xL//+7/z448/0vcDp+MJkLng
X/7lXxh3IhGRoshenc8Xnp6f+MtPfybGzP5wx+GwYxx6YToX0Z9P+jyck71KUSk7tL2nlLClfGNy
u8UtbnGLW9ziFn+P+N0AvsbKhr+WI5dSZQIqGMv6sy4gRe9Xbb+pDNwKpDpWFu128YsuLrXkeUMn
M8VswCQph64GJtYK4FsNTqopTEbA42qwtJqPVYBzy+jV41TAV5yiNtjVNbAtxOVcEYoG0Mg1VjBa
F/dbjS2lpL0F4GopHXrcLeNma84GyjJQg4a2uSwrIGEMrGXmuX1eKgUXPON+x93DPf0wkI1pwATy
GPW6MiYl1HEKkmxocopSuqn3uG6Gb2Dv7yNq8uXrHUPdTP9t9tK3QoYBYcyLnqMTHdDgN5Ix4pLs
vKfrPM6CSQtMZ9J0gXnCzjM2JUxOqs25ltjTElMrwNk+f0P/asw1UFbPhfP5wpcvX3h5fmGeF9H7
VOAupohTplxBgD4xR8pS7r8szMtCokj1gvN6LmJ0hfUN9K3nVMe3JgVQStMrL5t+tSJUbyDKzSP6
tubym3v/9ndvEwD6uW/lHL51tBXsRQl8YpBnEVahtQLY+y5gQ49NhYVF2Zo0lqPaiFE10Sv9sGkG
bwFi/dvrp/o25K8ywgy9TDMvL6+8vBw5n8WAp4K5TlmuXdczDKOa7gws6m799l5ds8G3Gr4bsL6C
r86RizDUSipM06wMWIsxhXmeyHlRJ21E25QiDPPXmdeXI9M0Y42jC56+E9mEvu+4u9uz0/JkkcDQ
szBSbo3e25SLJOEwojebihpeCejrbKDrFbjxAeedlC9bfwVM1jkP6zBOyrZNZbWS9ZpEXiFbcLbQ
95b9vse5hCGzP+xw1gEIOOQs89wTOks/BF6ePdN01nknEJNR/d6CdRC8xZrA3X5kHDo67zA4xj5A
GZh6T1omJgPeiQyCsH4XpsvMMmdKlvHLWSnFbsNXEVmHKi9VQxi+/gocNMVSXMElS7ZWn/42YV2z
IZt5GdNY2s46NY6U8E6kMbxNypJF9IhzlImYNXdm6smyGtihTOWaJDGlgMmQhanvTR0XV11p6d/r
eCESLpK0qlU6bV3BCpYK6LzKq0iSwH6l+f21XJCykhEJjeAcYejZ7e847A90PvByPElCJhe6PggA
r8uJlArLIhraheu1UF3G1XXWX5uSvgn6tntbKKXKhnQ8PNxxf3/Amsw8n0jpAiWKxEbwdAXcjx+4
v7vjsNvzf/6//0OwYHLG6/lt2bJXd6MmPtvd+SeHWUfW+mzXBJpErT5w3uG9mP9hIZMxRnTavbd4
q4CvyVisaPgGYfkGkxk6w2Hf8+5+z7v7HaVEus6x02qznDPzUsFVYdBW0PV0PHI5XcQ4ULXX52mi
kAmdSOHknNr4stvvePfuHff39+QiBqx3hwOhE/3v3W6HNWKKVsf24APOdXR9R9d1zLPMH8dXGY/v
7g5AIcalsYDP5zNPT08cj0fGceTHH3/khx9+4IcffuDdu3dY63h+fmZeZrouMAwD+/1eEn/zzMvz
M+fLhcfHJ758+UJcZu7uHvju++/58N2PdP1IxrHkREzSc521azK0PkZ9llUy5xa3uMUtbnGLW/xj
4vcD+Jota5bGuK0gL1RmoG7SNeMsJJFqmmbbZrtu8K907SqAsPleqwGpYLPqCVZgx5rVAKWxkDUa
GNtA2vW7XFNlCjuVmPAKpLpm0iZ/x+b9hZJX458GsFY4Qks0bbvOlZnWeHtt46HGPno+2wX2W5ds
25jGcv12c2xYGXpp466ccybmeC2p4SzDfs/+/o7hsMcFv9EKbXw5lbtYQV4as3dl+TYQxvyN5eVv
2dH803c9/6/H9QNYu9E3QF9WAKxs2u9fP7xREoppjEmhfdF+NqbgrGwcQ7A4kzEpkueJMp0x02Vl
9ipzn1I0CSUHs6aKGFwDoGXzg2FNhsRl4XQ88vzywuvrK6fTiXmZ5XhWSqkLCw6vRm803csUMymL
ode0LCwpkTE4bwTYVsc5Yx3FFoqNZKPaoXqKG8ypgbz1t2sZ9fZGlre/ePvkvvqxvPn1N6V0WUHn
Nm42EOUN0Lx9V1mhI2F1oUZtlhA8/dBhux6WjI8FkxYBuBsYImzkWp1gSpVGeAM6b8bRdiZfAdbr
vckZ5hg5nS+8vBx5PZ5YlkUBzwoaocZcUu0wjiPDMHA6nxr4LZ+wynisoPyGfbw5nS2YZI1o8S6T
MMeshZRHTClcppOYh5bcTLxSTJxPF15eTpzPZ1Iq+M7T94F+CAxjx7jrORxGnDOczhPn04mU4pU8
SVLjvZQF+qYY1c02YoZX5POc6fFBnOVD6ERXtRmmSkVM+0oJR1aVC99Ku61xBGckMUNS8BSG3kPp
8C5RyIxjj3euJYGds3S9w3tlqpnM8Qg5RZwVQznvHV1wOAfWdJSc2Y89fXB4ZyAbuuDBFEzpGPqO
HKMykAtxVu35KZJTgeIwRWwUnXE4I+BnrRiqid765b3He/dVb6usYKuyVquM1NeAbxuXnBNdZOeu
1i4CpAkL2ypYFmMhprLpi5bW77XdNci2gse6FpMMSsEUBXytJpSKJJiuGJym/m9dl4DcnxWsVmC0
rllsfe+q25tzbu29vBl3KZp7K7qWMwbvHUM/cNjv2Y87nPMscQV0ve9kzMxV1qvKTZT2XKqJcMm5
yalc98S/khIy11NWW/XkjLOG3djz/v09u30PJJYlUkrE2kxwEIIhYRiGPeNQiHMmWCOyQmSEsL2u
ha8+5O2H/hNjO15JrBUUWe1CDTJWSkJIErO1Kg+ESFEQOSVvxYTNWhnVHfK7roK+1nDYdXz/4R1/
/OEDd4eRaToSgmO/22GM4fV45HK5kGLkcDhw2N/hvOdymTmfzljjccZqVZ7o6qOAL8VJz1A983E3
MIy9JKgw7Pd7nPNcpln8MLTtXi4XSs547xnv7hnHga7rwcD5dJKvy1mr6YyaTYqmdNVaTymx2428
e/+eH3/4kR9//JEQZPt3Op04nU4UCiEIkCy+GBdOpxNPT0+cVDMYCu/eveP9+w+8e/+O3TiSEYbx
EosYu9rV8LkmhLdJp9LGiRvoe4tb3OIWt7jFPyJ+N4CvGCGpkRAbsLdS0lgZY5WxdQX2KuBb4BoI
lXfqZ6g8QmWxtH3JWgIt+wnbQGOr4KrdAqtFzlfKgldG7woimLaQFa08AXsrw3cruSAAtzKDK7M3
pyvjkLbJq+e0ceFetU3Vsqog9y8LWFS1BGtUpl67B3bj2m1W07h1gSdXU1DdTQXEq3FcVCZuzuJe
Po49d+/v2b+7Jww92Sr7S5Gwes8LRczeUqLESEkLJS7kGMlxIacomzijn77dRL6hr3zN+LnFPyPe
bnTfvna9C/31Z/atss9fe9e6363JE6NA5zqWKBSBs9B7SwhONs3LRJ4vFNXrNcsMMaqMg2w0i+r2
ijFaZfr+2rWYN2Bv5HQ68fj4yOPjI6/HYxuXrBOQJaYoBojW4JEyzpgS8xLJMRFTYkmReYnEXMA5
KAL2Wk0kiaSBABPFGAEpNBlWzJZ5tt6wpqNYCt/uPr/2IBtha70X9Wf9d2XOffXGilFUFl+7cwr4
fONzDVq8oDCUNQIyeS9me8MQsCEQSTi3UI05C0LgXRNia8Ju5T+W7RlsQN/t2MyaMGMd43MpzPPC
6XTm9XjkfLmQUm568RV0DF5A6WEYGAYBP0UjtTQQtTTwVwCt67LwXw9jxDxrUcZa1wWWZcIYmKcL
zlmcngsYpmnhckm8vhyZ5xlnPd4bus7R955x7NjvB8bdwLJMPD8/8fT0KMaZpbrHi7FcyqInXaUw
Ck7amhEoBhMwtsP5EecHnO/k2VgoJHKJzCmR4iRyPmnBL5aceug7uhBkXrJWr0NYfc4Iw9F6jzUB
74St6r0Rlq5WpVhnCASCtxiTyXGGHIlppu8cOSess4xDTy6JEET2oO8dwRucQ0zojIKiiDFcNThL
MZFSIc7ST0vRsnlljlsMtljNGWiytoHRamrqvRigbRis22HFWiOs56v52K6JkkbNFWDKedVopoJV
KueAPCfR2y2kJKxtAWg3lUTkTR8U9rYrFgs69tU+mjX5IoxarAC+SY3x6jU3pfMKPlthLbcevhmr
6ppExutNX8R8tf4ysFm7Sf8Uma8VbO9Dx24YGfpe2NgxSXs1FqeayVcJuyKsdO89uQK+b5NC7W/l
BOp6tGwG1reVEHWqqBIsvrPs9zs+fPeOYQgUEjFOlBJxVtqdNzImd53HAsFCmWdICQdkY2Qu2I7h
mKu28z8iNoxnkQKRGdJai8kyPxlrtAJAmf1mbTM6igMZazLeSptzRhJNtiS8sXTeMARL7y0Pd3v+
+Icf+Lc//YGx97w8B1KKWJUDM4gO73634/sP33E43BFj4vj8EzlDFwxdH/DGkodBzSATfR+gSLWB
83aVQ1GwtOt79vs9d/cPvB6PnM4C1uYiyTFrDCEE7u/v2O33lFJ4eXkRuZnziZwT/dBjDCLftMzi
axEj1lrV4e354Ycf+P7777m7u5PPOYpmby4Zr2NLzpmn5yemy4Xz6cz5cibFiHeW8eGe/eGO/f5A
6AZKyVymieNpJmMJw4g1vt15q5WDdc/V1g1/Za13i1vc4ha3uMUt/nvjdwP4NtkGLWKtpmyVPbt1
izXNzKNqqNkN8+N6Q7/KAJQNcJjbaqVuKLZGR+24b/Rw6/Ga/q0aHJScm9ydwTR5igb0OqdlrK6x
c+WaN2BvzpvjVYavnpHRjLs1rEZ0G8CXKnmxAtApRwWOqzxEZdes0hK19TRQRFnHzZyN9XVhd60l
xzGmxj6uOqPeW8bDnvsP79nd34G3xJwb2FvNZUoWnT9bGcwpUZZIiYm8iEFOiqqzSOFvU3xv8T8j
vlVu+1+L2s9quzXGqG7q18Z9V6BvBQ/yyo531hK8Ywie3lschTzPxMuRdDnDMuOzyIuYkjR5opt9
3ZRiql7m2/Ncz6AlZ3KRstHjiY8fP/L4+MjpeCSXIiAPpvX9an6SspTIlyKMr3leWJaFGBMxC1hR
jMOoJm/WMUqA6AoESbKm6HhWsco1Z7aCFOar8e63P7cNbvyfjI0xlf67HrExulnHxspgM/qzUYDJ
OUMIjq7zdMFBcLhYNtewgZLrWI5FmIwrW29LkMNUaZ119ther6k/bH47q9v6+XJhiVHO1QqjMnRB
tCi9VHU4LVO2yixMKtdhncxtFttK8lfWM60NcjVnrMZzzisTK2eSVkdYt1ZsOCeJxpwTL69HUiyc
T5OyGVFJgyJlz7uB/X7EOsPL5xc+ff7E09OzsFSV5bgsCznpfJULmSTMXaDKixjjsVYAX4wnF09M
yuzNmUIi5ZnLdGKezyzzhRwXnLHEvqfkHTAQnMObsAH9wFlDFxzeiQQDLCwxA0kAOyf31xTR5O27
HlMy0/lEXM4sc8G5XvOnlmHowRRSDqIXb4VBHLzF4lVKZeZ8vrDMs4CzGYqWP5dUKhwi9yPJV8k1
E1JaoqOuXZzzhE7KwmXuXBuiAJqbMc+sVT1bDWCjwGmd1dfktoA03juCd8pUlbHGOUvOccPsNYgJ
row7pZrF6RpA2p9eg6hltHZHSZpcRpNXMobZBKmOOXU9ZoyAmVZAvJw2ngl2A/Zu+ldbzZn1PtTe
2frn5u9FzsG09zkrbcFr+6/rOasyP9IOa7+3VLkS4x3JO+1um/GH68+isIJ51rbxa00wVcBSz7iI
t0MIPff3e77/7h1d58glEuMEOeF8L2u4LG3ZGSgpMh2PXE5HSlqEUV2MJmHKm3vAmpD7J4XMOeXq
56KazrVdWWexnVNGr2vGvqUC96hsjxPNae+MyDCZImx8ihAEUsT5jt47hi7QucLd3Z7vv//Ajz/+
gCUxz2e+fH7ldDzivKPvB77//jv2ux2H/R0pJc7HE3FZsKbKn3hpQ97TI+PkOEoFwLJMmm2Qarc0
z7iccCHQOUkmiAav08RYYpkXQhd4uL/n7v4eY+Dx8ZG//OXPPD8/AzD0vcrArNJnwYvp4DCO7MZR
NNp3uwYWPz09Mc9zG8eq/Mn5fOR0OoscRc4479iNB/p+YNzt2B8O5AzTFDmdX3l+PnKeFlw/EIYB
a6X/WsBqslDmUJWFq6ZuN6LFLW5xi1vc4hb/kPjdAL65pLZopjF830oBrBsf5dAKyKGbiiK4Ysvk
N16WMjBM+33dhJW22K/H1x3GZuGu2xEFggroZrcasyVZpFFd3ld2sUg4eNEltNXJWpgY2xLZBvgq
I7dp60HdAeoGvur/ipaw0bJh2bjVBXa++hLWTjVfQcEhWhlaZV1U6YurW7EBX3I7x0xKpbGSWlmm
Nfi+Z3d/T3/YY7tApLCUvGqIVli+lsXnquGbUBFI0e5V1rCpADq6efprFNJb/K5iC3r9WlxpGKqJ
WSmrQZcp4DAE6+i9pzMGGxMpzizTiTRNlDhjm06ljjWt31c6WQUJzRVzrZ3HhuEP4vp+Oh15Us28
8/lMLkU1Rk1j70sSxzUWTdKNcUyZOUamebkyaSt2My7pGVkFuE2VsNjGr7Bm669WELNcX//2j64O
V755qBa/ef9n2n817VbB6QqOVaCAIuW81kIwVkp3g5qBeYtzZp0GWN9nnMwVSjvl155fZex+Ayte
X6/gM7RxLOW86irrBrhiydbZxuJ01q7tVI8rZp41oSm/c2p0GULAWUfagG9GE14p6hyZCzkBxuJd
wHQG788AxLSImZU1wiJ1kmBIKYvpX5Qkig8OH4wwY4PlcNjx7t0d+/2OeZ55fHri+emZZRGtaaNy
CUWNv2wbi4uea9L5127unQzlGKk2wRSKSRRmUj5znl+ZLkeW6UyOM8EGLJHgwFswPuCLyi4bJwC1
Ar/yc1GJlUTJEbB430GWPtUFTxc6TEnsho7pHDA5EoKwCa0yxb135OJIKYpUgRGwxRotdZ4X5mlm
WZLmgqQPiyFjffBuXTtYMFXLmNKAWpn7NHHrRNap6NiRS26M1qIJmTovV73/tb+sSdq1qkgSxgbV
vm1jRWW/rvJTxrDq/BaUkUzzAdiCx3JJtml6SuWClJzX11297jq/50KuTdugax9DLrI2EuBcxk2r
AOa67rMrOKjM4GLlHlprr8wUt3JTFYDd9tukSQmn7MoQOjJRTNyy3LOrtY8zOFwzDmz9XUHfNkax
jlEppXUNWepz+0YUMacd+46H+wPvHu4F8I+LEgb0KeZMWqKYDmPIMYq27PmELdB5p0kHrbba3oN1
pfRPibembEXvf5MNU1PGEAK+6/BBdL2rfENRsJsiVRwhePq+owsy1gvwq8kJk3EO+t4z9IGhCwQH
h/2Bw35P33VMl6OSB4The393x8P9A+M4ShtYIs9PLzw/PVNiIoy9JklopmzZiQWntVYSrykxLwvW
aT9XUsi8LJTzmS4UnAuM4140g0vmdDphjKHrOpZl5vX1lc+fP3N8fW1Mf6cGlsYU/Vuvc1ygHwb6
rifnzHS5ME0XAC6XM7VqIATZX+SUiCkyzxdyTnRdx91BWMUhiJlljJHj8cTLy4nnlyMvrydwnoPT
a29JGNVsr+NSkbV7ZgX1b3GLW9ziFre4xd8/fj+Ab06NfbYuGhVgMKYtbrfyDXV3/pZ/QWUGNv2A
3MCPdRkPsrnRjSy1ZHID9NQj1oUsFaStTNf1y+h5CrNXztM6175oILVpYHPeHqsByBsjFaW41A1f
1bS70vNrwPaWTbGW0VXwuwKmlfn1Vo94BbfrWZqra89VtzHpIj6vQEkpBRs8/TCwv7+jGwdh9xYt
q99uLlEgtwjgW6IAvKbJOyjoWzehm01M5fiUjeX013y8W/xeogIP281FE2Sp7bJuxDf9qmQFHgrY
Aq4UPGCSsOfj5cxyPkKOqou4BfQqgFyBj5oEAlgTK3WIqH0jJtEhLaVwOp14fnri8ctj0+9rlQiK
GtT2LH2w6soK6BtzYUlZNHtLaQzjasJWmW/ObpNT39AYr9dT1u/X3eUaHvjbW7jNmNze/5+M7Xs3
CZwtc9VW8KYaShphLHZOtFu7oMY+QcDHLA+ijXfruW2A+vrvsj7LCtDV0zJX49QW3KltrSYi5bWq
Z1tKaQm0KqFQTS+vQbl6C8qa/KKy2QKd7RmGAe89ZVkEiLLrvJRzrXiRkzMYBQpKY/FOlwnr5T3e
B5z1DTjfMt6NMqT7wbPb9bz/8MDDwz2hC3z5/JmnpyculwmDwTsPzmN9wPoAxhITLMss159j7ZVS
QWISmUTOUUBqEsaqRIqNlDKR0pllPjHPryzzmRwXsB3RGeLiSd6TSiEC0RS88WRTNLkpwEZNkqa0
kFLCOwcM8gysxSmz1FtDcJbgLItZZSKqxIGzBm88i4JyVcvV6JhSzegsDpwl1wKhUqjVNxgxAbPO
4oolF2ELG0NjMl5r7q9fV21D29raRLdJnjoD0vr9Nplacibb1WDP2NovajWOgpKIvA3IPCwVTiqM
Cgosr+sQMUiUvpQT5JS068iAUu0ITDWSVkXAAAAgAElEQVSOLYWkXbsAXmVO5K8LOVlNRq+J+qKl
EzmXBnpVeY7qGtDWJhtA+npgWRPTKSWpkogRzyobEDOi30tSsQBawtpqhUSVj5D7sz6XzUOSK6nr
opwEmG7JxzdnVlSqIid2Y8+7+3vuDnusQSqgUta5BNUAzzjjIMMyienWdL5ggc4FLsquru2gje1s
V7b/uKjjW0q1oqwCvqsISHBi3Nj1nWh6d51Uu4g4t8qCiBmgqYCvlzHKO4MzqJyDgupWDNzGPjB0
Xhi+wTL2Pc7JmBdjBJB16X7Hdx8+cDgcANPm6C+fHzmdziJvY50Y4oGaQddxU0DeZZmZlpklRjoX
GjsZY7jMM0vMlNFwfz9wuLtjGEQywRrL5XLmMk3M88TLywvn00m0pocB6xylFNWAzypJI8m6AsS4
CJAbpWrPGksIASi6JzA6lSZiWkgp4ryj6wL73Z53D+8YRzELPZ/PHI9nnp9feHp+5eX1yPmyMOwP
7ErWe0vTw7bOtCRe7ad12r6Bvre4xS1ucYtb/GPidwb4lgaGrKjKCkFqkRHVnK0CMEBjG11v/CuY
sDI/thphtmrW1pLIjcHbFnRepRdW8DOXWha5grNbiQnrVnBWJCd0Y1Fq+XJuLK+tYRvogqsey9ZS
xK28xArG1vOr51MaeFXLtms5nZyPU4mJb5ZjlXprrxd1KYmWaErisi0smxUsQTe1/W5kd3fA9R3F
GpKCvfWPjKGxrCmqp5xUAzGKlm9WHd+Ss8pKrM+xftYN5P1/I4wx6gp/XeJeSz+LMsEb2Ju1XDgJ
Y0ralyQV8iygEHkhXs7kecYhbD6r7bJBpIqoNs1MORsdl4ro+uoeuyZsYoyiubcsvL4Ia+jl5UV1
9WSYTmo+VK8NU3VmaYmsQm6gb0YAHaOyDVVOolSgsrIFayLI2m/26+uElVzJ2i3N1/3pV7vX1qX+
6z8y2zHhrxxmu09s56vPrxQFMJSVaA0Y5+i9ZddZhs6pVqvBOKvlp7VKIl0BSValHNb5Y/O1AXVk
XP6Ve1a/siS7KohhKlau7DWvsgbWuaalaDCqbb7VLV3nnrUSRDbnXd+z2+0IIUipuFPTUQUfG+v5
zT23Ol7HZeFyoZmdOdWNFwZu1bYt4MTEqx88u/3Aw7s7vv/hOw53B5Z55qeffuL5+ZkYEyGILINx
Ad/1dMNImCMpwzQvojWtoGLBkSkqi2AxeIydcKZAsZSSwC7kMpHihbRcyPFCSRMlqdRA8uTUUWKH
CDXAQsaWiC2G4BwpQDILS5yJcWGeJ6ZpxgB96MAHyKI9uwBxicqI1PVBzuI/VgRkCgralJyJKTYD
rzrXWuPwrmPoLTGKFEdMWRO5UKylFCPJCiPsZKwagiFMxcpmtCJAyjb9XMHNbXu7Tr+s86xlTQBg
hIlYkERJQtppNbkyBpGHUlO8kk1bE4jxXG4rKhRcRT8/5TUh0YwTzZovaV96PJHckQSv4HcCGVfd
bWeNAKyGKxZhbcMFGdcqzlbHtJaBuR5avhpnqvxXrsz7WYwMx3miz/uN74GwNWXsziQjz03WWkal
OLRfl+unUMeFukAtxZBNxqS8guWb9Vk7z0211WG/5939HftRzBWv/B8EXyQb8EhycLpMPD89MU+T
AH3es71zGNPYwdc3hH9IrMSFSgjQ5IImGbcyDl3fsdvtJKkVgkiBKNhbb5ml4EATNSKv4siQIyXL
M+qCp/OG3jt2fcfYBca+o+8EsI3zIsZsKTMMI7vdyG4cuDscyDnz8vzMLz//xJcvj5yOJ8iGw+EO
Z01r784gkg1JxpdcRCs9pQUM+BDo+oCxhkmN1azNdP2IDx3jbs84jsRlBuB0OnM8HVsVn/eO/eGB
oRcgVs43Ns3eACQM5/OZZYmaAJV+OwyDzBeh0/umoPQ0MV2E2Xt/d6DvZD45HA5YY3g9vvL58yee
nl84Hk+8vp44nSdyMXTjiGmVgKs8kjFrFVHOomOe8zp33uIWt7jFLW5xi79//I4AX9XNbAtqu2Gc
2gak1vK5VpZrZFMhYEFl8ua2cdlSHtTaQjfb6kZrq+nbCsK0jaGCqLmCvXUhq6+b+vl2lZVoIO0G
lCkqBbHBlJShVBkReoq2ahPLgVfA2L1h760bBGADGtOut75PeLKlHe8tC7BGyQXqgrdtWlZWW86Z
ktbyvFJZR9bKLsVarJNSPawhFeXQGFfh6RWI3oDROSVyivIVI3FZiItoUZb1Kd/inxpru/uHfqSy
TGpDXz99k+TIAgY0dnwWkDctkWIdJUbSPHN5fYXg8Qa8Agr1PaX2ff1go/+uQLK1bXstY4UQDVty
KcbIMs9czhcu5zOn00mYZc41gPpbUaggriEX0eXN7ff6c2W/KXjUWH5b0NeszP2tzqd8yCYBlssm
qVUTVb+yeWtjwJuv2o2/AonNV79aH+R6uDaWFDG2KsYoE7KCMIVsFIgyWq7qew69Z+wdnSu6Mc16
bxIZQ8rCbMrK2G7JvGLah2/nkMrmM2YdlJtmeysxZgOUr8lECjg1DTWIbIiUgQuwEbyXUvUsyTKv
JlBiSkRrX5UVaK2l63vG/Y7QdSsQsmk7WzDfFBnVc0oYNevZjQMpR8ZRjOGE3WZR0hzy+AvOiSSG
MYVxDDzcH/jhx+/Y7wbOpxM///wz//Eff+ZymTHWE0KH8x2hHwndgAsB7yIxJubLTFoyMRViWas+
ckbI1KWAycCCcVZkm9JCKTM5XzAseFuwDmXQruadaVlwGWIu2JywRUrcnXU4nynMxDgzzQuXy8zr
y2s7n77rsRhh7HlHTJHj8cg0zcyzsOhclHss0gTSB5ZlluTNHEmxqDFTzzBYnBuYfVRZDDFsG7Ck
VFiWxGVaAGHWBefpCvhuAURaw2mbEAC/VhXJfxXszcr2rB1my3JdJZdWKSZpF8rO1aTHun7JiM5u
ApWJKhVjVmAa7Xuugr3ImJp07s25rlvqOTgZQ/QwdX1iVZu3abBqMreuPLxKspgCUZNsTuU52qlW
8LrUyqH1motzuJRIplZPbcfjNZ2TcybpGmK6XHCh4zJNDIvooaeUdDwXtnVWsCwpUF0KDbhcx2xd
81SQ9wpcVea3LZuRbjskGr0Hpekj390duL+/JwSvyXN9LtpHjbUiBWYDFMsyR87HkwC+GIILWKrI
qoyhuX2y+cZZ/P2iAr31nrXvKes4bJq8jXOOvu/VvHKQ/uCqiSOSRDXSFjtnpSKHBKrVm+ZIKg4f
BnZDz9h7emfZd4HdEBg7j7eG+XLh9eWFvvOMu553Dx3OyTj/8vrK45cvfPzlFz7+8pGcM8F39F2n
yQ7UrDWyTIXj8ZXTWWQhfOcEtB4Gul40uAtiePb8/Ix1nn0/0g89/TDg+o65ZB4/f+Y//uMvHI+v
YGAce8ZxEFkZaykUpunM8/MTz88vck4hYK1jmmbOpzPWWsZxbGzg6q8hUg4eKJzVHBZjuDsc+P67
D01KJaWFl9OZT58+8unTR46nE5fzxDQLA1pY1wEDTOczBYPzPdbalrCsCZYmMcR2zXSLW9ziFre4
xS3+nvG7AXy3LNwr8FSNYHSLgcC7ZvM+ZeWxYcvW0ldFZmrZtLH26phXpmwV62XLuEhtQbtqSuoZ
1lOohioNrFUQdHN+pekTI4BUBRLqZt4AaoqwZcyYWmJoa6lxZfSi11wR3811gwIayA6rbqCogLJr
oNFVmO09leOL1ES5ZrZRGWc03dCKqxeLlOgpM0fYhBW0o7FmjD7FukktquErP2cFgTfl2bd15T8x
/vE3v7aXyhCCSqpS4LcmXfQVIXVq29L2lJdIto7iI3lZSM6KmrUBW6LqRKdNI7W1sV5tZAqFXKrc
iURWQKMyyqZp4nQ6iVHKPLEsaqjTwGphg22jAsEV9DUNXERZ8YYqxrK5MxWapAGpSD+0pUq+mCuQ
/O29W4/E1aP9tafc8mUV5G7Ab7l6l/nGe2jgZtUg1dfr2GdooC/tmtdEljEG5x1jFzjsOsZgMSVS
8kJMyzre69hfx+k6BjcJjW8B11Tm0npO9TNpbU7ka8zVmE1L9jWw11o65xsr0etckDYSEzVZUMvF
jfn6M2tZ7zb5UMdBa40aUNkG+7dz8JZxHHDesNvtcD6oaU9kWSJxSZQiALN3WibtDXd3Iw/v7ni4
P5BzUiOhn/j8+RHrPMPgcS6I8VsFBGMiLQu2FMauwxjLNC1Mc2QuahyHjOE2LRgiEDDZCgObhLUR
R8S4QsBSjCdbkU6wZPIyE5mwvghYmSxkS0kGiqUQsDYR08TlcuF4vPD8/Cql06eZvuswCg57b5X1
OWvfXIgptTJoub8oMCLsuvNlwfsLzntSFF1ZEAAyBE/oVJ/fdyxL4nQ6k/IrOYPzQUF7z6A6t7bq
dLdBRL5XiY6WnG4vyes1QbuVcRLN29o8jAKEFlNkbMgUlbmIWAukuh7KzYjNSOMXqRTrcE41eksh
5SQYsbbzKi+RU8KWOuaYdTVm1r9r1RWa4AZUXkNkH6TfqIawrVIOMq6sw7lpgK9VkzXxnXOU7LTy
RzWknRWtW5XnQAHnnBJxicRFWJnni5SwX+ZZktIhwOUi50wVIxETrqws1esknSaFVGu4SQ1xHdZa
Ut5Uk9W+resj7xz3d3fc393hnVfWddFj1fWusvNdIKXC6XTh+fmFZZ7ZVhIAmKZNXqexslnH/ffP
22uVjc59SeQstv4O9XfbU7DW4r0nBGGlhq4TbXHVX6/zhLWW4Aydd6KrH6XSJeUIFByWXd9zGHea
/IN9UP1eL0mPmhZ11tGFDmch58j5dOKXX37ml59+4vHLFy6XiXEY9DoSy7IIO16r2XKZmaeLJI5L
wftAP3ZithisMn+FSbwskd6JRvQwjBgDx5cXLtPE518+8vr6Ss6Jfujouk7NEzMxLpzPJ758eeTl
5aUZsE3KTj5fJiiI5rD39F1P1wXGYVQAuCPnxPF44pdffuF0OjGOI3eHgyalZhmPc+F0PPL0+KiJ
rwtLTGAgdIFu6JmmC09PX8jAd/0ASvYg6UrEaMXCdl3xK4nsW9ziFre4xS1u8d8bvxvAV0KhSFNL
XlX7trJEK3CoC8l1w6/g4RXoWzfT1WV2s6DWjcQV2Gu2JbwKIJRqpLYyvCqoWzdfbFi9bfG9niKr
XAPKEv4G8IKATbbuoirgu9YJrqBNYwtvSz+3paDKEmEFEerWZKsXSgWNS92H6jZOgbbGOMorI69u
eluW31TAV6Hnyji0qrOsmmDrdcri0SpklUsR3d6UpPQ+bUzwKltbwbD/jrgtT/83xfWWeruNvS63
p4EmmiuRpEpMZFelQhLETDGRYsQgkpwa+CBSlIVWVdD625pQMpv/lyyboaqrd1ZWr5RlVr3M0i6h
bpMrYCv/FLmT2j1bL932rXYHpG9uoMPr/mYsxpYVTKx/tXb9r+7stlrg7R3/VcmU0oaNr467nts3
jmrq522uV4FYY42w267eIz9ZawnGMfQd49AzeEOOhbhELAgzLxeK0TFWD7xNFlaAbf3dCpcKCL15
r96XCue0Co+clfm1fVjCYHTWCKNTWbyNuVvv76Zt1vu+ls6vOqliyDMxm1nbuIKQedVf9d41oLJq
z9bvYdezP+zp+4GUM9O0kPPCPEeWOeKDl1LoztP1nnEIPLy75+H+QNd5Tq9HPn38xMePnzidzux2
B6zOlRTUoC6Si2nl0t457sOOk7lo31tYimpP50jKM4YFENZyzgmsmC35oIx0F8BbcnRiihYLaZmZ
k4WQyMmTnSFHQ1wgRkuMjhAMMU6cLxfOxwvH45mSMpfTRPABq0ZjztnWnorO58YKaChzl5iQVq3l
ru+Yp8jRXHDOqTkbpAylGELX0fcDXT/QdQOXaQbjuEwLKau0Ud/T9cMVILImrtYS+GVZROd+U+Vj
raW4TVvcMF3XY60/uJpsLlqNk2SNkFMkoka1RcaGmjg2xWCQtuStayZvwmTNkhTbdPOqty9sbdPS
7rXHiy6vzuFbwNMoS7+C67V/1nHXVB3czUBi1n7incMHR7KAArkpRjXtM5ii0lnVAK+OHvWeIjqu
x9OJx6dHpjmyO/QC+KJ64XUtonJAMa663Nvh6AroulrhyU+2ge/r+Asri9kYGLqed/cP3B8OeOvI
aRZGd9lK0Mi45FxgniLPz898/PSJaZ5xtqcLQUHkNXnQxtT6q78D2NuuXOfcXN4AvIXNOlGr6Kxp
7F7ntJ3pd++9yJsoP0CY8Q7vDMEayjIRk5AlKAlnoA+Ou/3I/WFPHyyOJMxep1VmpdCFwNCLPnDJ
cFkmLucTL8+PfPz4kUfVJrcb8DzFhEWkxJImCYuaKHZdh/WW/WFPNwSMMyxp5ny5cDqfmKYJUENl
6ygFjsczyyzg6vPTMymlBtR2XcdFjdcqs1fA3kWfeyEnabc5JTqVZbg7HNiNO7x39F1P8MKBPp8v
fP78mb/85c9Y6wg+qBndE5dJElylFJE4mS6Ukum6DkwUk1hET/vl9Yg7TTjf8f2P8rSzVk/ZUtcu
bQbUPcltRX2LW9ziFre4xT8ifjeAb3M6RhazxnqsEefZaqhWAYncWHNZFoT152ZqU19fN/pyrMrq
da2ssqKJK9CbVMZAF7QbfV3TBOxWXbLKwjWbcsTK7isK/FTAuGoANwCigce6iTOm6ffKSVWAS/+B
MgLLes7rZra0+yjfTStN3r5ej1vB4Ap0m83moS7cK+BbwZmrcsrG4q0GeajgmpRmW7Nqf+mlyXUW
mqpmzll0e5cooO9Wb1D1O7dxW17+d8Zv2xR+Kz3x2474X39aW+bjt0CT7dGbbMumXaGJBFKGmOV7
zpSIsNBNUS1MZZ2q+dB2A709B2tMk4ypQEVKiely4Xg8cjwemed5rQSokICxWjBMQ1PbFVzdrBXO
rj1GyjZ1U6V9J5sNKFsTL2IpjkH1Xr++m1/f4A1duYFKm3vbxqM3p7gFS2lJo2qi2awh27jw7fay
BVf1mk09b3mWot1M25T3IRCcEy1YFFyRDyG3Ty0tGVDv33ZsNlSdY4fDtvtbP1a0R+sgtd66XMGu
DSgnnyWf54ylc47eh2a+U6zhKzmaSmfcPpZNe4jLwmW6kHPGhyCmdM6qSaa0O+tWeZyCSA7kkjA2
sN+PfPfdezCW4/EMxrDExGWaWebI3nm60DGMHePoefduz3cf3nG33xHnmU+fPvHLLx95eX6FYnDW
45zHYFliZJpnpkU0Js+nC94H9vsDu8PYJHlMTlhToCSWmiyMC4lZzM4oOAfOeXoXhLFcnACU3jOz
MKVZpBVKllJu50nOEh0Yk3Ae5snR956UFi7zmctlZpkzcYnMc8bbRWQKqhyCYWOiB5hMZVmDSBjI
9GWxvSdnwzwlSonMy8K8ZAqWYRgZdnuG3YHdbocPHcZdmOeFruuJMbUy62HodfxSYFGTSFX2YInC
QK3631tT1r8V25Jqp9r+lIzJlUlLY9saA94Ks9sJVVYYpAYxrtO+Yo3oTRcjjPViq1HTts3WPlKu
+6tSdKUCSqRRbOv/ayKqsXyLgMjFbDpCA1Hlb50F78W4yxlDTgkfhS3srJHfIdfmnANbtXhFtRt9
njlnjsdXnp6fsa7DOSfsWk2+N6O5XOWl1Dz3zf2uz7J2ZVCzxSbToRrZVXKjnouRCg5rLXeHgQ/v
33F3OGAMUomiDHORhNFKtmIIPvD8/MovHz/y5z//mWmaub+/E93yJtvzbXkuPeu/2Y7+qyHJTpVv
KKvMmalrRATUdc7hgzB73RvfCGst3lmsN3hv6btAFzzegkmRJRUKSdnCmc47doPn4W7Hw2GHdwby
QucdOc7SPpxjv98xDiMGI6zWpy88vzxyPD5zOR0J3tPdHdSUzG4ID5BibPNEPW/feYZhoB97Ukkc
L0eenp95enpkmi4YYxiGPd4HYkp8/vJI1rXBNE2kGBmGgf3hwG43Uoq0xy+PX3h9feF4fBVJn64j
hE7AZ2vo+wHvPF3X8+7dO96/f68gtmRHpmliepn48uUzP//8M7/8/JHvvvsOgGWeeXl+4Xg6kvIq
KWSM4XA4sN/vhTn+8srLy5HX1yOvp4lhJ4Z2615Mx5qqQV87hanror89Vt3iFre4xS1ucYv/+/jd
Ab5NbkE36WAVnKl7ZmFuVHC2mmHUTXBlh9Bc62UhbayyldRVu21kyvreXCrouDJ8K560lgnrBklZ
JQ3saOe3YdvWn5sxR73WgsFVgp7qCNfz5g3mUDYMky04/a17qBsmu5oC1bjewsj7nVp118+ggiip
spuvQa+6GQN0Y2qIJa3GQsaQspT1muzWTys0gKRBQyU3di/tXlVGtWwktmXg/6xo9/CffSJ/l/hP
XNTf+tPyq//4L4ZpfSJrH8pvNuJfnV6R8nuMaEpX7UpbCiZnAUYVZJNS6Qo6KvhQ8b9SrjY8VX4A
Vo3Hy/nE8Xjk9fVVdUBpWpz1GLlWH/CmDX3jXq6a5Fu0dQUkq/yDYqSNZdPO8av3siIT3xgsTPv7
CuRe/47NeCeDr46SpcG1by5kCwbL+2uKirLqfX6NJFd5hwqclPa7CtQ5BZ/W5NtaAdBkehV4udYp
r2PWKt1jq6yNSZgK7tf5BGUeKlBVGcPtCW5AW4OwK4O1WB/oQwBj5By1zSYdN6Ws3amRmWkVCw3v
yoVUpKw4laSbek8uyvRSs78qQVErWGKJ5GwJ3nJ/f2AcB86XScDZaeZ8npjniMHgfWAYBg77kfv7
nu+/f+DdwwFjCk+Pj3z++InXlxcp3beOEDq60BNCR8wXMRJcBPg9n884O0MRUG2ZBewN3mKdwRmY
rIClJYuplTEC3DkM3jiCBYcyNVFGtM8ka0kkUpyJJZOTI1oBAEtJWFuYJ0scezCiH0xx9N0O75Ke
k1vlTfRGi5GqabqZtrYZw5pcCI6uGxmGPV3XCSA4TRQzk1LBOo8PHU7ZdTFGfT6lgbVVcgMFT7cF
/k6TpDkZlrg0CSNy0WWJPmNrW7t7WzZdSmlAS0twKOgq6yRXXyClJOxaBSOd9g/nLN4qsJv/f/be
bEuS28gW3QbApxgzs4qi2MM93evc//+kfpDUIllDTjH5BOA+mBkAj8yS2Gqyzz1cAa5kRWZEuMMx
GIBt27apY5dlp3S8wjnYwnnF85HZ3mJKOSlbAf5YE2WvlaUN1AmnDGMjXyQo6xcwRiVvqNhzqBwE
s5ftlTOLDCc2c5IcN+mwG01Oyz+IEdM0YxxGtCuWEjDWJuBMPzuECD+HLCUVs5XL8z4tEAvTt5Cf
SDrKOq5YHsNZg4f7e3x4uMd6tQJFcXiHnIyLZSkorR193+P19RVPT88IAXB1BQpSf7VdUcgGhZLv
m0XyV/SU61jwskfjvuD1gcelJq80qKqKQVNXMfgePeZ5QvAOiCwV0zQOTV2hbSrUzsJSQBgD4hAw
R5Z+qSrCuquxX69wt91gt1mDEDEOEdFPDNTGAONYJkOB1L4/43h6xThc4P0EZx1cxdr90zgCMaKt
GzR1A2tccgJVdYX1eoW6qVNyuQhOvPby8oLPn79gGC6w1mK9Vk3mBjECl8uZx7bo7loFb53jBHyv
L/j6+IjT8QAfPO7vH7BZr+EqBy/a4M45jlIAoW07bLdbdF2H85kZxePITrGXlxe8Hl5wOV/QNA3W
6zUqV6G/DHh8fMQ4jbDOwa4dQgjouhWapkEIAV++fMHjI7PeyTqsuhXu7u+x223ZOSZEGx71JOt5
cmUjO2h+2/Ljjz/+5ve4lVu5lVu5ld9v+eGHH/5PV+FXKb8bwFcTDmXAN7MdGOyNBeCQw/6jALZA
PkTACKOLmH2mADK/FkAGqsuYE70FOWynJEcAAxHCKDMlKF0AGJmjcg32hiKZHNL1GITImaETG1cO
odAaBgV7M8tY665MOLlo+pfIFPUsGBXFrp9fcXgmSF4ig9XK2uCA4Qz6LnSFJckSPwcfUuZ5xtAP
mOcZNtQgW9w1FhBRDAh+gp9H+HlC8DNiZN1BDYnnBDTvAUT/YPkHLkMl8n4r/8Wih4J/tLzhSH7z
cwAkSRDPQgKHJiOG/C9Ed1dhSVKbw1cJCjwWBxkCRHObmWAhRozDiMvljPPphMvlnHT3FOxdOHy+
1Sx/tyibTNtw2RbJ2lG2Ae8xdSPwJtN8fnv5/fRGAXQIziu1yABqecEsjyDvvfd85S0Kx5XeLoQA
G2O2g+VTkjJ6Y/qu2tQsM5PD961DktdJJhy6HkhYccGMY7w1vK/PLmAwxcxK1sdRYMxZCxNZ1gEA
5kCcgAgMfQSYpJNqjFGRHmlfYQDGCC9Mz7QuoUiKVDj4sowRwc8TjGnRdjXW6w4g1gC+9D3O5wuG
fkLwEU1do+tadKsO2+0a9/cb3N1t0dQW5/MRT0+PeH19xTiOab1zjpltq/UGxjrk4HfCWHEo+jSO
uJzPrPEOmU+GAGeAaEDRIPgoCboAUIAly0m8SskeYsamcxbOESYb4WfWUQ1hRgiEQAz4giJCsAyQ
WYMIA6IKdW0TDrdY/6joM0OwjkOY9XdjBYAkgqscbNXAOk5UFyNQBcAHAtnAQC8RvA8YxhEhRPR9
j1GSvakj2fuZ29KY1G/GShi7fEajfZKWtYwFYwwohAQUE3Q8I413ddLwGFdpEHZAwPLAVecYtwdL
j1grYK81qKyDMwZ+njGFgNn71GbOiTNbQOcQJUFmpJQkk5m0QEqiW9SxrG+2TxkYZfBP51NAAO/L
ouxpxKLk+WEyWKxKxQTAWn4mYwk+8nPreFK2LfuW2XZY6QMiEv3k7IiK4qjWxG5qAOKVvSpLtvGU
nUnqHBPGKzsYIyrn8OHhAXf7Pbqu5e+HKAC3soGNtDPP8XEccLmccbmcYatWwPaAefYyDtKO6p1/
f92S9oYi46D5HbQaZdJQfd00NQO+luUb2KHPez0yEZUD2tqiayu0jUNlCCZGTD5iJA+DGZUJaCqH
7arFfrPCZtVi1baIfkacLULwqE8SYYIAACAASURBVKyFMi6OxwOGoUdEhJ8nTPPA95OW8SKVELxH
U7dYdR3apkWMJAx9g1XX4e7uDrZymOYZ59MJ/Tjg+fCMp+dnnE9nuMphvd5gv7vDer0FyyZMiAFw
lUXlnDgreR3qhx6X8xmHwyumaeIknV2L+/t7di5Fll2w1qHrOtTC9q1cBeccpmnC4XDA5XLBOI2Y
xhHPz084X86IIaJrW1hrMQ4jhmHAy8sLnGOGcO0qzJ4dh/2lx+F4xNevjzifLjCuQltbrFcdtpsV
urbhKA1xL0cIcz6NAXVm411H8q9dfi8H9Vu5lVu5lVu5lf9O+R0BvjYBvkjagWUYXaHPiwzKxqCs
LDksKHBs+IAPZQrLQWLBvI2RwccEHGtINhKgmiQhlJ1VAivFgTKzeLO8RGQ0Ix0M8ne1rsgyCSXw
K88LKuUpVKsYqY5G+LLpekQFcF4CwlgAzkRIunl66Mh6elGYPpxWO4cnanhsOr2nNgc49HgaRgyX
C7wkhDDGwEc90EA0RSOiD/DzhHHoMU2DgL4e8zRhnmdOHPMrj68beJvLr9G2C2BRkZaoB/u3DLUs
UxK/ff94/WvhnPlWPZRJBQE3FPAlQJnkhdjAsv4FKERJo1VDvWWepXkMTNOI4/GI19cX9JcL5nkW
0IjZ7CGw/mNYiFL+nbLAUUvnUQZ23w7cwv5c2Y9r4Pa9G5bQwHVIcPqWAqLCICyw5zeXTzV8g/FT
YTOLexROOqBkQivQk2tDi6tlR1qQdQCiRWoSi1alZ5D6E1CwyYJgQZGdf4t1pHyg8hlisWYUPWKJ
GZLOOATr4YxN64YXUWKDDAo7Y2CT87AEpRQIUX1Zk3DzxBLX5F6IiJETnwEWIXrUjcNq3aFpa/T9
gEt/wfl8wfFwxjx5WOPQNi1Wq07YvRvc3+2wXrUYxzNOxwNenjk8OUZmqnrP0gRt12K326FuWri6
Qd00uPQ9AGC4sI7vMAwplF5lEwxFVIY4gaelpOcZY4A1BAeebyGwHBOsleRcDMg6RxJ4o+0uAHgI
IIoIwcB7Njasm+pgja6BkrBUGjGPAAF8LQkzkdnh1lrZQ8g8JgcfgMkziBpAHB0kewrvmXkZwdqf
wzCg7wdm7MYIHyPiOGKaZ5DJ+QOsY5YdO4ZCSgyW2aEmhb1H1awV8FQZ/CTzkopxpKAkAaKVK2x4
eJCNAvaaDPjKeKwcA75R6hG85z6wOa+BlqCMTg94mfxG7afo9RNYcoblnQgxEsv+KkAUtM25jynJ
XJHoBZO8H6FitNlOZTuSjBBF0YjlvZnqIKeuL4F+EIfy1zWcqwABsAEs56CXOajXEbCYgc3ij1AH
TI5EUFIAJUkHtR+sF93UNT5+eMBut2UNVQWSi7nD/cx5DICAcWLd1Wme4KoO0zyhH6LoxuoerbTF
vwT0Ld/7ZTuBmAgRoqMcWIqC+ygD+lbGsBEHV9NIkjNhWhuKPKNMhHNAXRs0tUHXWrTOsGSPDwg0
w2CGMwFUETarGrtNh926Q1dXaJyFpwjvHDvXgoX3E6ZxxOPjo8xzg6ri5JRWxqOfZ4xDj+g9qqpC
13Hys8pVSTqnqhy6VYvNdoPJexyOR3z6/BnH0xGH0wHnngHW7XaHh/sHbLdbWOvYLkawo6xpUVUu
yaRcLhccT0dcLhcAwHazxWrdYbffYbNeYxwnDMMAay1WqzXWqzWqqsLl3CN4j3EccT6f8fT0xDIR
EoU4jhOC5/HlnMM0ThgukkD2csbd/g5t06CqKvTDgEv/ir4f8Pz0jNPxDGMsurZFt1phs2Kw11lC
8Kx9FakCCElDXtdJH4p90a3cyq3cyq3cyq385uV3A/ha1dQ1CmIWSTiCgrEi44DrsLsMlhpjOXOz
hBYqHJHBzJiuFUIB8iYQQuAL4vBIZeEyWIAMhACpjktmXyjYOwX7WA6j6YBX/GTEGvlQEwXoKq6t
Ic364YAiUVPBMCl/EuBmKDOGi+uq7qgRNtKSyVwwBmNu5ygHslKnM6gu4TznA4w18JNPfcznJT5c
+nHC2F8wjyPmecI8TxinEeM4psQst/Ibl/9GGytYUTJMIcCrghoxRsSkEU1p/oQ0pjN7ny/6FoAM
4tQJReb3svrsiGGzwUAa+yMIWUc6Q6ZyhQIY5XO7Hv5Nqm92DCEd2k7HI15fX3E5n+CDgFeuTuAH
wLZKGXG/pIFj8W+GN98Dea8eXF+qkyi8BW6vman8qAKUyYcU7EqNp/Ncrw0S/EVsM1G2H4s6lYgu
MujyC8fY32LSLa6rwKfYWG17dZwlll1hq7LtzevBwomGIP1litssx8EbyJ04E7yzFrNILihAWSbK
spI8LEVwyLV5fHK9QgC8Z2eBMsMUeFO7r+NfkyVFy9qX63WH9XrFIcPjAafTGafjmWUXqEHXtths
1ujaButVi912jd12A8KE4+srHr9+RX85cxhxBcx+gvf8PI0kDKrbDk3XYXVZ4Xg6gSLhZI8peRtC
dpom6Z/I+qpG2oiIMAfPICsxAz8mDdAocgcRxrK0AsBAHc8/Hhc6xK11MLbi9RkqywHkkWuE8Cf9
kcYEEBPHWh1SaqsIsweGacbkg44QlmyQ9REE0MD3m6YJ4zCKrEMQqZclCKJgqDEGzjvMs01avqp/
Sobg4Fhj1/L49KHUwZVryfWSRj9IQHQex9eRPdYYVM6CEOFEaoNQAMCWgckQmZEcQuAxh2wr1fls
ojqI857GyHu6Nwq6X4jMPuUgIQGIRNojGkpsYwI4WV4xtXle8fNdS1JdGwJ9liQVoWOgAIqjsFCN
MejaDl3boapcdkSm/VZ2MOi6oU6qKLbcxOxEVDekAr8l4JrcaWIDYghwBli1DR4e7rFadbDGgJOR
iR0R+QMyBPjM5u8vF1zOF8x+hnUW0zTjdBrQDwNgawHWY9Yi/mZ7fasVtdbfeL+0yVEdmhxdx4Fe
JrUTq4CwPjKzrg2apkJTs24yRyMY1JVFXRm0tUNTOzS1ReMIlY0w8IhhBnwPihMqCzRNzTZr06Fr
KlgEIHpYA3RNDUsV/DzhfJ7R98yGJkPouhbbzQYwjuVyxgHTxHvNpq6x2Wyx3qxBIIzTBEMiQSH1
jYh4fn7Cjz/+FT/+9BMzrfseZA32d3t8uP+Au7s7VHXNEgvjKMnZmNVMBNY+F53/EDx22y0eHu7R
di2ahu8zDD0uPSd+W63WbG+bmtvbexwOBwZwzxcMA0fP8fxgJv40cT6By+WCaZzgPUsDWWPQNA1c
xezgx69f8fL6mmx207ToupVokbMGfFtXCH7C+XRC1UTYyiBA13uZC4gLcsut3Mqt3Mqt3Mqt/Pbl
dwP4LvQi1ZuMAugMOZmaZjcH8oZdE7MZU+j16gE+sYRCcQ32kielyYKJqExhYzTRSz5oyQXTBigB
u7LxXoC9CmBRAaIqeFzcBwCiMEj0QJUO9tELgFQeJuMC5H4L9iI9d8lsjVSAZ+WGTVls131yxUjT
O6czgIAcxhgY59DUDZq2ReWU3aAw1hUYJKw1lm/wvEmdWYstbSb/60PoVv5OeUME+jsl9fk3NvYL
sBcKYBXvydBTWcNv36c8NOe6lqHPfLElAMIh5PJdkgBEYVY6AZqcNSlLPCnKWV6E9AW/pwBTcojM
HtM04nw643hklo4vwp8TIIB8nRgKhn8B4n4bwMjvR0RJZoQClNaKFghqMcdL5xd/LTOF3wCVf6MG
KOurIHBuGQYYCIhRQXv+Splwih1LpE+0eP5rZ5na7uJRr2qq38mOqvSuIZiQJXaMUZA0ZNtIBkE6
PttbkuSbha1Ml1UN+KXjgd4ZoOwYK8LwkQFfDX1V+29I9FWv7Sxl0C7J2IDXgOCZTeecS9cOEm7O
88Kjri0DDK4CImHoJ5wOZ5yPZwQfUDcMuqy6GnVtse4abFcdVm2Nw8sRh+dnnA9HdE2Lrq3wHE44
HM5QBuowDsLoJZZYkOR1BhCw2wHwuf5it7n9FOxlAJsMgBkgipIkzAizMs89BSqdJOoiMohBGGYx
wks7OwHFyzVZbYXE/yC5OgiwkdhXYQgUI/hyEfARwSC1+zQD4zwj7wdi0qK11mAOAf0wsn7yPEkI
dyzmQky/AxDWMj8rs3tLZi4PPLVhVnMCgAFWRFVa0n1J3h+V63E2uHleWGUFR0l+ZgyceRv1kzXz
Wc4KsACFpB2tjG01JsHnPRPJRGGnBjATAMpRHRpdEXzADJbwIElqyGZYQVu2KTLFZZrldafcp5RS
Wzqv1EzxWBJ7JB4AvZY1Bl27QtswmzOvKRHq+YqIyRG5LPHNy1zPwiHPwQbasOm9EAJsZbHedLi/
36Nt6gQkZ4Y3JzhL9yZ2KPzlP/+CP/35Tzi8HvGH7/8VRJxAcfYe1vFYyMEki13Wss7vrDuxGDsx
4uq7ed+d+kEkZzJT2xTzkC/lnOP11vJ7TcUavdZaxIqZ5U3TYNW1aJuKQd/KwhnAxBkIE8LUI84j
ahthWoeurrFqK1SObbv3E2KQtb0yiH5GP/XoLyf0/QnD0MNZi8kClzMwJOezR105rLoOVV0BFHE8
HYEIVNZhs9nCGpaIeH55wuvxFZ8/f8HzywuC91itVmjbFmQNVps1mroBAPR9j9PxiGmcuF99wND3
HCkRmJ1LRNjtdvjw8ICP330HIkI/XHA4HDhSaJrTOGCZmAHjMOLl+RnH4xHTNCPGAOccvPfwEgXX
X3qMwvZ21mGObLuYae2wWnVw1uH18IrHx0dcLhcQESeC2+2w3W7Rdh3IECprMA49+mEEXItVNGhN
DeMqhHLJiml4f2vE3cqt3Mqt3Mqt3MqvXH4/gC9lQETh2ZxQhAHfMvyWN/pvwV4GU/NhUDfmkA29
gsea8C2i5NUVbFnSxC8qNUHFJh9FXQTcKVhnUQ4cesDK2sRmyURL4Zr5QMP/Rkmikp/5TVshhyMm
HeDrjX0UIDkWv3/LM1+APWVIZz5YMdCrh9mg3yFOCNSsVtjsOAOwdaynqFrACXOWQ16QjNhRMmIH
P2OeJng/F4e7MiD7Vn618l9o0JLF+94YLP9Nsg4FIKkHAs7pUoK1pEOn+MvyM+Vh+vqeehedRxCm
GsCSDpYItXWsUynMOWuE5aaJ2ohnfpo3kqQwg2+c9GieJvR9j77vMY2ShKoAEGMEz3uzrHOuewl6
LlqwfJL0E1PjleBuAX5+o/9KtlZynC3AzHyp8hJllyU+1wIMFeiMkDPapy/leuU2kQYunFPSMqkC
hBzloIfJ7IxYRigAyKC62n6IhrgFO8wMgwFGNNrVHmaUf1nPBCjp/0UXZOlOKF6/045q49OnS+A9
rQ8S9qzjNi7XB0hfLaI4vMcwjpg9a3W2bYvgOMFckPB7vg6lNc7PAX0/4ng44Xg8YxhGAWQM6sai
aS261mG77rDuGlgAh5cXHF5eEeYZu90ePhgcjuLMgME4jjgcjohg8MD7yJq9lwumaRI5BqS+5OfI
c0PX48QmJQIsjzCVGIjC/E3O3qigr0gxiTcnBNbHNjbCwOREfmRkndG1U9mRGXTVUBHdBvB8FaeO
RPckBw8iMCM5l3XUEti5xDq3ZgHQa1dqn/J+JS4wNjJ8vxBkx2Kyk8Cm/UDh3ADAckpR7GS5Q9E9
hc6l63nDCbMYaKdCeTkmtEadrTy9c9JbICBI28zTlKePjucgeuhU7JUMg+kWQATBBI48IgFSeR/D
7WhkssSMmMr1i+eQdaScgSmiICwjFgjiSBHnS7iewWovjEHTtmjbFs5VDOKLbSawYzrt3USX1lBm
65YWOmod5Z88l3VwKegtz+9nOFths17j/m6PRgBfNXycRM+KlIqOf8I4jvj088/49PMnXPoeVVUj
koGPHAlgkx0LGUR/z1C9U977RLnXirLPU9kGdQB5P6c6s8Z3I5rI/BljKDGunRX74yzqugKgcgc1
uq5G1zg0lUFlAIozgp8APyDOAyoTUDUOjghNVaGuLAxFBD9hHM5wNoKqCkQRw9DjfD7i0p8wzxNi
mDHDYxgiYpiTE5L1wZmMgAiczmcGe50DdSvEGDDNrM3d9z3GecLr6wExRmy3W2y2G8yeyQmuqhBF
D3eaZ1zOl3SfaRoxThF1VSdb2LYN9vs9Hj5+xH6/R9/3OJ6OOJ/PCbAlazBNM2ZxrE3jmBi9pV2d
phnn8wlD3+NwOCDGkNjCzjnpG4umadG2XdLtjSGirmu0bYvtZouHhwesViuQYVs/TyPmocfogaoJ
qJsVEKMkTVQHL3GCSYP3zxC3ciu3ciu3ciu38puU3xXgC+TDE/9IAi89PKtrWban/B0BZY2GNJah
u3zFxL6R6wRJ5BRV35PKowODCebqeiQnH97f6+EgFPUrWMLCqkiH3wI0Tiyf4pr6k9jMCiJrYoy4
bCM+UGdG7yL8MWZSxzXzr2QKX4PDCsCVDGEs6s/ABEkyGAWCIgF122K333HG4c1GGE2eGcDpBql3
uQ8868DFwAeLeZpY+xfCernxB36D8vdb9D1WbwICi89otvuScSVfLJHcdNslyzvK+HwfTH73pt8o
VmQGSJlnYHZvU1VoqiqxkDRhkTEMgiCNdRINSD3YCvPcB0zThKHvU7gkgMSyWdqVuACL00Mv/s2P
VbL8SixXmW7SoLntCG/bNH1sCW4u53Xm2OY2XrL2MxtYbRsUNUYkYfSq3dKfBaPXCIWbUh0V+8+O
rJh0aJfONLMEWpIN0muLcylGBB8RsMwMb2CSzAS985PAcyy1kVNfxKhyoUiG871SADtlny9/VF8+
jwMfAkdVIOb7p3XDF9q8ECCOmZWX8wXWMdusaRpmrYtOaQKqBCCdxhmn8wWIPZ6fX3E+XxBDQFPX
aBqLuiI0tcFm1WC3ZQ3Mqb/g66dPuByPcM7hbn+Hw2kQRwyH6w8jZ4G/XAZYYUXO84xJddbVfses
JUpkGSyDyWNEmLwgBYaR5qEDEG0EjM5BL0m6mFWqiRBBvGZZy+u0FccuxHGkbRKvgUMZ4xqizX8v
xkIEtEkV5IoCUgaRqUjSBT4nNtOZpRII5Z5Fmc6KbFI5qBKYuZx/pX/n2hTqmlzOZcFS+d/CuaF1
c9ZitWqxWq0wDj28OlMFjJ6jT3NRpWdS8kBh8SZAWx3nCvYigsq9h2hmM5tYkmD6IPIbstbHCHh5
TmOSln+5Vuj/YzEPS6dP0vmWeVi2BTsUBfSV/QsZEscyO4CatkXbdRziPow8bmUeLfMvaJsuE/Om
uoSY+lyNQ+nAyc8SZXxxIrDNaoW7/Q5twxJAPso4MIV2cwwibWYwDAOeX57xeniFnz1rQIN1wkNU
R8TVTd9dIr75Rl5q3vy9XMt4z8iyH57trnVo2hqr9YoBVETMkngXgR0CxrB0R107rLqWdXUNayl3
TYWuqVA7A4oe8ziC/AgKEywFNG0NazhqxgoAjhgwzyMulwCiAD87IAYcjwf0lzPGcQCJJEwIHuPo
EYKVxGU1rBVpCe+T1nld19htNgABl4ETXZ7PZwZyJYHfbrfDw4cH7HY7nC8XnM5nxBizjreAwMzQ
BqaJ5RnqqkJVVbCOozC22y26tkMEs4J72VOEyFIYAHA+n1OySkKENRZN3SS72w8DDodXPD8/43Q8
YhwGtG2DtmnRdR2apkFd18yiXq3gfUgRSff396iqCqvVCjth9wKEvr9gHAaMM0v5BLKwVQeKgCUk
m0tBNdTLqIxbuZVbuZVbuZVb+Z8ovxvAdyEvIIetIIeMFB4tH8kJ1CSUl5agbwYkUQCn+uMF7GVg
gZQBo8Bpoa27YLeiYHcIEKvXVI1BSkcBSgyYFPJLGShZPLMAyEHZRomBvGQJ6vXS80sblPIQZR0T
MJEOJPn1e/haPrwVOoElgFJ+jkiSqwXAWqy3G9w9PGB/f4eqaQBj0qEEyM+LKDpw84x54mzJELbv
PE6YJ05CQdyYt/KrluKInMZVXIybcmwCKECzt4fDqJ1E+bOa3OsaNH6XIVx895s1NpTD4AsQIAMs
wnxR5mmQgxIR6sqhrmpUlUsHapPCnZcgdSgO/CEw0DuOY8p4PY9jupe2BjPjGHDyIlMdgs+H8QL8
XLRf6dh65/nLuZz8QfLZWDRZeY8EmrwHCks/Xb+XYYAsuRIFONEfgJjJLyCcsRamcnBVBVdVsK6C
IYiu45UDDIrpqEMs10NBOGb4auB6Zu8pCK/ZwtUuetVHLz6nYDWDSfyakmNQ+yVKUh7/Rtc4JlAq
IIITuf0ST0PqPxJAOqjNFYZk8Ji9B4w62iJ8DDACqHnvhc0lyacEGFUNRhBgVc/XmGybZW1i0NNh
mjwOL0cM44SX5wP8HFA3NZq6xnpdY7Vy6FqL/bbDpmsQ/YjHT5/w5dMngIDNagNnHabxCD97Xj8j
ME8zeuoxz6wPGyMSOJ+Y9cTJtxbM+7RmypqHDGi+sS+iv62mQJ2tumQwGAdGj6LODY7mKWWWKALB
FBJKVwM9sagDg7kKdi4cuQBM5PHIgKEHBRLHVHZcaL0ScEsCShGxnjEtxxfAbeWsLf603FdQMRvT
Hkf0xNOu4r0hKc9GxfciIuqmwYePH/HDH/+Iv/z5T3h9fUGYAT9xxJAxhBh4TCFGBtSMAXRuhYjK
sd4wZOxC9ktWQduFc8UIm5jHujVBtMFVHoPtAKLhuUlCvI6a1LW0ahlwBGSv46mwzyW7utwjITOn
rQNAvD/xHq4GttstttsNAhm8Hk9p/PF4L/aXqV9l72ZtsX97pw9yjdPYILXTkZ06DMCvsFlvUAnz
M0LXrqW2uEas9P0Fx8MBl8tZxqQAb/J+HpNpSF0B0VcDpajrN5+hdD7JyyBOAE0yaMhyYrO2Qdcx
YzYiYJ4J0wREzzIdlTNYrVrsd1tsNxvEOMNPEwwBtQPa2sIaYB4nTMMZFXm0FaFrmP2L4BFmjviy
kmyRKGCeBhxeB3negHHo2a5TRF1XcI7EIcsyKZU4fRFZwmG49ElmYb/fY7VeIwL49Pkznp+eEWNE
23XYbLYAAfv9Dnd3e3bAnZnlTESYxhEQW9x1HUj2xEQG+/0ed3d7NE2bGLrWWozjiGEc8PLyir4f
UVU11nUNIyzb/jKkullr0t7ncrng+fkFX758weHwykn7IgTYFd3fusHd3T1WqxWMMTgdj3h8fMI4
juhWHf71X/8fNE0jDizCPE+4XHocj0ecTjwfqrrBZr3FerfFatVwckVx4OTkhfR35sKt3Mqt3Mqt
3Mqt/NrldwT48oFNw3cXzF6BH1CyLVCyMPIBpDwAZMDXIzGEF+yRfGjTzXTJ7FgCPEisFD4c5EPC
G1YdaVWVEVceLpGvGRTszczeUAAkSSsPWDCCkm5v0vUrAHMFb2Jm8yo4xg2cAafl9bAAuZd9k8Hi
oKCtgFvOGqw3G+zu9lhvNzDOFEBWBr1ica3MIBJmXAHIJ/rOrfyK5ao/3zsavoMoRGVg0dsxnl4l
sNGkQ+dbaBFyvwwYlbflA7D8vQCNl5/l+VI6HxJoDZNDeiPPmapyqGuHylWZ2VsCU1AwklK9gkg4
DP2AYeDD1zzPCSBKrNSojOAoh0ufHSwyd9WxIphJ0fZvGmj5ZmGf0p/lmSNR+RG5VnGxkjGnRqjE
U8oeSWCTwl2k3qICzJQ+tRa2quDqGnXNLCJNTsNh4OxkC8kJJrUkU9gtZGAvsdoMVKl08fgFjl06
DxhwIAQBBgPhehRfPSWlvkACgeU1xcV1l+BRljLJmHpG2xVkjsiAyEx8rzkETGHGNHvMYQbBCGie
q5XWN02YCZNAQUOS/KiqrsB/Eqa6TSxAgDD0I8Zhxul0xuFwhLEWXcth003rsF432O/XuNtvYG3E
y8sz/vKXP2OeZtzd36Pr1nh+OmDsxzQXARKpnQBPXtosjy/uFyNJs7ijMrCbwcw0hmPZT3lO69qr
bWNgUjIo7QcYgo06liiBdPJtxMhMNEM2tW8CmnU065pF6jBAeobUtzIWSOaAhi4DkeddMYmp+E7J
Juc1lMHU9DsVTt/F8KTltbSpdNqmZTChkPLZ/HUGFWN+ZmEj1zVLCNzd3+M///MvogfNTgaeEATP
EDcIEiVhTVqTiVRWQ4FyTeyq/WyybIrUUsF8EyM8IPaWK6pMWq5zBrH1583SI/uNkgG9YNKHsPhO
2rMQmJEs8hheoj6cq3B//4Bus8Xx0mMYBoTEpkWhn61JcLP9vF6rtPFLpSzV/l2C4Hxdg4CmrrDd
rrHdblBXzIhlqQlKetZqe/k+AefzGYfjAeM4oqorVHWF2eckwtlIFuM9D6PUxmkzuniAb5e8P/O8
xwua3Jj7mNdVZpE2TQ1nrThRWIIMxqKyBttNh/u7He7v91h3HabhgpGYwFEZwESPOAdEP8LEgLqy
6JoK67aCswQ/R5DlMVVVLM2EGDGOA8ZxAGIQ9ikQEaRuFnXVgiQyIEhixBB4XZ/nGdF7uMphs9ng
br9HXdc4Xy54eXnB6+EVXdehW63w4cMDZj/DOYdzf4a1lvWYLUcXsJMx7wl43tUs3fHAkW7WWgbu
j0fMM+v51qL9W9c1gApt28LPHn3f43w64zJc0h4GIeJ4POL5+RmPj084Hg8IIaByFdpVi65tsdtu
sd/vBWS+AwC8vLzgL//5n4gR+PjhA/7Xv/8bPn78iMv5gqenR048e7mwdMU4IoSIrmux2e6w3d+h
W+/hmhZEBD+NmD0nkgy6HyOTx9at3Mqt3Mqt3Mqt/ObldwP4stZbBkoyMywhQAk41QOmbpgzW1DD
kkM63+cDQqZCUOQQVFMc5hO7d5HtujhURT4EpgRtCUTIuIqCvayrq2AH8gGpAL8SY0UOMQEqNRHT
ITUCKRxWs3CDFFzLBwt+5nwC0fYLQQHqItmJtkHxOh/k0jEBRKLbFfLzxsj8Ny8MNRgD6xy69Qrd
aoW6aeCpAJB4Ny7PEou65RDoDHyInjIjW//X7iXfk8v4P1sybLB88e6vb97jcbI4SS7ADh3zpAd7
AKpFfd0OizmYbp7/pkM4b1dI0AAAIABJREFUASgo2jMCRAyO5bGUAV69liYC4qQujhNAWVockhX0
WcxDlXAYBgx9zzqqBdhLYGYwA742HYyV+RRjvl7ZTldB3b+wvDN+roDdfB95huKbJTN7eaUCdbwC
gtWGaFJGZZ8ZIhjHrN66bdDULeqmQVVXcM6y/rZ8JyoDN4TERjbErGq108q0VufSL22B5HsgAwvL
YF+yeVdtc/X0Ceq9arOy//mrV3rpRXPRFR07AgiImGPA5Geo4qsPHPo/eU6sY03RF0QJHEhANIp2
so4TC63WcFWFob+k9iTDWeStcQKIEryPOJ97zPOM4/GEYRiEdWfRthW6tsZm22F/t8F602Ice3z9
8gWfPn9G2/AB39oKj4+fQZYTv3G7LsftYn3TfwkiqaE24PpnCaTGEOGTbaR03bSGASATESNxYrUU
hRPz9ReAL8SxIGPDIDkTyrGVACvpb2XwZuC6rCcQA6U1N6SnRZp/2SYux6iOa4JBIHFOJGZ2di6/
KUvTKpIWxFFEhdFmG5z3G3zBHAGkIfQASzpUzqFyFvM0YZom0e0NYh8iYjR8XYIkDtS0k/zs1rCN
88rsi0spB+0TgLCYMlf9bwQgyhJZSPfRtYXt95IZTfq/vGUSG5Pn7MJhLfMqyP4wz3dJUnV3B1s3
OIkzL4YIcjLeZV9HYFYoJx4b3zDSUcxXdcIBxTyWhzPyXvAedWWx32/x/fffYbvdiIbszA4FHTNU
EhUiZu9xPB7R9z2MNSwH0K1w6j2PF7NsxzSfsLQ1ZRPqGL6OtIGuHeLQ0WgI7zlCQYkCqjXc1DXa
pkHdsMPPGAL5CO8NamthnEHbVNjvtni42+Fut0VdWZzDwLIeAXAmAGFCDB4UZjTOYNU0WLc12sYi
hpkdjrK/V8A3iGzENPWIIaByNgHoGtWz221R1TVCCDifTjidTpIfgqMpmqZhmYaHe2w3W0wyP6Z5
AhGhrmusVh1W65XolY94fX1F07Q8t5yTMR8zo1z6u21b7LY7bNfrRYK1/tLzujA3cMahErkHAlBV
FQ7jAZfzRQD+AdM4Mhu4Zwbu4XDA+XwGETFTfLPBdrvBdrPFdrvFerVG2zTwM4+bn37+GZ8+fcIf
//gDvv/+e/z7v/07rHO4nC84Hk94enzCOE2SSNJg1a1wd3eH3d0em+0etmrgyWKWKJQ5GPh83EFy
7v//ap97K7dyK7dyK7fy+y2/G8B3nuf0mg9eBTikXuUrTd3rQ2UJTCbgOOQDPUEPqenSiwOKyhko
41Vqkw6sCZwsAEo9NSrQot/PjJ6YD/nIIFbJWFG9wGuggq9pEviyOFBfHR61jroZTWBqzECwHqKY
EVnq8F0dbNL1CkArsBZfgLClYuSQuaZG0zZwlSuAFQHqFKzXu0eSQ0VILJIk31GCWBJq+n9reXOo
+gfKkln0j1yvPJDnAfDege9v3f96U18ywPN4NAWAK4BjCea+eSatUwGOR2a663BJIEtRd+IHQGKv
B5vuEPNNWLpBQ3FNZqMFyJgMeW7oXFFmb98zA2z2Zeg3pbqSMaxjHcGsudkvxq7q3BFxODBh2Qp/
+4jE6E9mti3nwTXIFJODKz/7tz0lZdu/f1hLjiOwjbAGIGNh6xp106JpO7RtB1fVcM7CGMIkIfJB
wpdjDKAYCxDTwlnHbWEMQJnRm7s+LhpJAf6oldK/JRY52/olP1hslrwXQgTZHJmh4eCRlqBvZrQW
ybsWdotb4w1gR+wQm73HME8w4uTgv82YwsyMqPRxA0pJRcu5HRDAaKWrLLr1Cnf7PYy1+CpOhxAC
rDFwroIxFiES4sxOiv4yYppG9OMAXmsAZ4G6tlivW2y3a2w2azhn8enLZ3x5/IpxmvDHH/4Jddvh
dBlwOJ2x3d3BGAdEkWoo5rYxFuVAu3b0IH2uZPZmdqQ6NCmWYCDS50vQM8lGRIPSVi3BZH4vkqxz
MSI5gA3gnCaRy+sh93dAjKrDq+ze67VvabNKeYo0Vq8cO7mOBjARNv1egr1vry0jC6C3shiR3v98
NgL6bCy5YcjASXI8gwjvJ0zjgL6/YBrHYuxGIDL7lsBgL6KBUVvnuG2ICH7OkgwhRhiKad9wLUeT
nSa8DyFI8i5nEUJmQhojusGLOcaRQ/xYIflwFgxxnZfqmBKAVhPr5uR8oj0uez9jLJq2xXq7wRzZ
Po/jCCAmh3+OxiBU1mHV1QgzJ+v81tpbjsNF58SYusjPM7r9Fv/8zz/g//3f/xu77RbOAvM0ARGS
vJDXTmVfx8h74dfXV4QYsd3usNrcYbPbop8P3HZiCyV71puxIy+WQ6V8X0Fe7bei75LcjJ9FoiAn
lqubWtaAFk3NawBiQJC2NJVD4ww26xb3+y0e7rbYrFvEecZIAZ4iookwCKDoQdHDENDVNdZdi66t
pH3kvkRi92xKHkYUQJJkkygnb7bWoK4rbLcbNE2DaZoxStKzeZphrUW7avHwcI/7hwfstgz2ns5n
zPOMrmXG7GrNtnIcB5zPJ4zjCFs5OFfBiiyLn9m2a7SFk715UzdYr9cwxuByvmDoe/RDlpCgyA4F
6yzL9ZDBMA44n854fXnB6XgEEHF4fcXXr1/x5fMX0RE3qOsaHz58wN3dHYO86zXu7+7QdR0MGQx9
j//4j//Al69fcbmwzvDD/T2++8N36LoOnz9/wk8//YjPnz6h73sG75sG69UK2+0WHz58wHq7gatq
DLPHPHrMc4T3hBhZL51AkmtQkzHfAN9buZVbuZVbuZX/ifI7BHzlsIjlAY808VnhUQeQDvgMOmjI
H7+DSOmQcB2KpAdN1iJUcFUOW0BiBMUEUsZCu1eAo2JzzQcUTcy2vE/S3rwCpBXoDUGS/UAPEsjP
LywHkILQ10BvPmQtAOSwZPVqIjo9HBqbgYflYZaLbvy9nxPjI8bIWn+AMM4c1qsVmraFqxyMNZhj
WNTtGuHi+grYm1jchSafgHLKsrqVX69cM2yvmaHK+CjZQWli6OcWgA6P0wQAJ5RuWRQw1UN1jFoH
/t617i3Xlf/VZEJ5rgGKC1+HWQNyiHa2eA5x1qRLiPPCewTPYavzPAurhtk+msGekiMkO5N0XoSg
TgqIrqQmmJQDsiRi+SVQfT5zRzAQlQEzDdMuL6Yg8gKgLQAxToYWUptl0JEW2ef5kgSNNFCWaowQ
XdkKztVwTYem69CuVqjrNmkih8BtOM+ccDFCQqINa5o6x2wmVzEr1SY2mz5HBoLIZOavUdAbJPXh
zjPWJKAqqj0WVnKWAVKQVZMOGXFEFUCvvI7l65h/i4DYbHWu5YReEeL0ikHYvDOGeYSNRu4VheEr
OpKRnWM+ZLvMoI2AbQLAOOdQd00KBx7GkROkTROCaP0CYFmTKAmq1CYTJ0LjBEUOVWWwXrV4eLhL
+pNfnx7x86dPOJ3PWG03cE2DyUf044QgB/nI6M47gzYm0E3LAtRdgLHF2E3z2QiAI89dAsVXUgfR
ZnAvOQKoGN9id2IsHVnKVM3OWr21MUAI6tBlLVAQ5TGWUD++r9H1upgrCx3/ZI/iYh6l5y0dFMXc
QxpzQPITF6xX/X4E2zxPgPdlMtg8TlMysSj7kCgyNhICP08jjq+v+FrXGC4XBD+z5jOpXnlOcKdj
3Eh4vMpaJeCWOEnWtd1I9RVJnDLZG6COLwNnHaLNjnAGvpgtvHCDk2gFg7Fba1h/VW3NAtTMlUhJ
AYO0Detw5CuDDGuOuwrzOAtrcS6eQZ0MvPa1bYOHh3sEYdmGEOBstrnFrWEMs+wVqFVmr6yuiJEZ
vpvtGvu7LeraMbM1qmyGSXtFZqEz8KuSQvd39/j3fyds7z5it9vh8fmU1mjOVcHtluxI2TepHgry
5nqDaLHn0rU025OYAFdXWZFxYPmBtmvRNKyNT1EkjbyHRURTOazbBvv1CvvNCuu2QW0J4zQDfoKJ
E4AICwMLD2sJlYC961WL2hkgegTVM4fu72VVNIZ1aHkBSLwAAlA5h6aumH1cN0AkVK5CU3NSs81m
w3INbQtrDE6nk4CxE5q6RveHP8h+N+BwOODl+RnTPKOqK2zbVpKyRczThHEYuSErlouKkW3vPE94
fHxMewEv+4wYApquw3q9xm63BRFhHEccDwc8PT3h65cvuPQXtE2LGAMORJxHYBoTI/njx4/4w/d/
wH63x3azwWbDwPbQD3h+esJPP/+MH3/8EefLGXXd4Pvvv8fDhw+IIeIvf/kL/vrXv+Lz58+Y5hlr
+f5ut+Of7Q5N2yACGMaRHd/DhMkTyDawhhOtBtl0lOvirdzKrdzKrdzKrfz25XcD+JbZ7RdZoMky
2Fvo6yJtqJXBWoCGC0YvCTiUwxWZZUYJuDSCIKTjPu9+82EyRgaQC1BVDynKKtITpspNLE6cCjLF
DBopgKwsFMGm9cMgZLZUBq4UxoCev+W3zEwL4RrsZX1TMpmpVTJ732NvJiavJOrgZEfSttIekHrV
dY1utULTtHCuYtAmEDzFxXUzgC597QMn5PA5KZ/3nNyCu+C2lfytSgSWzoor0Pdbha7/1Q3/N0B5
PWNS8U3GKLITgs8P+XetX/5ARjhJGSWk4zRm1FNumBwkwiQjIGlyMuArYK8AlSmccxrhpzk7NfT5
UhNxwi0vrKdpnuFn/rw6bNI8UQgyZOb8e2zat2U5ZxYs/isgLX+j6Dt6/xC2/D0u/hgLPW9l8YkY
hyTBdLBNi6ZboenWaNsVrKtAxMBEmGdM44RpnOCnCQgMmFnn4EzOVF45hwB1OCn4egUSKsCq7ZUe
nV9zwj0rGdsBH8uEghqBERN4rsBFstfqDLxGzVGAvXHpBFk0ngAlIErtzonkPHyYARjAcHIzH1nj
HMRAdCnzYIhkrStARIB1Jdcb7PZ72MrheDrhcrmkxFkakszAt4OVuUSB7XpVRZZxWDVYrVrs9lvs
9zs0TY1xHPDzzz/j+eUFcwS6boV+nGEsYfYRIAsfeY5AEpnm8RKK9eZ6LOkaQ1DphesxuhyMGYzV
tc0UYzv1ZgJ833FoFP1BkWAiAYEW82XBNi3nsyFY5d8KoGuoSPxXfJcIgADrKm2i76s/uaxX0gdX
oDftCd6ClSWgbO3b9VjBQ0sMGikwxyaPdWkTnEwkgIxR6BTjMODp8RFjP2CSBE8xKijOP+pcUXai
zjuVngo+wBvWpn6/H7WvxQRHZpxrhIMhgjPMDIw6rohlULQdcrvwXw0AL3sWay2ccwlcuh4XS8a3
Oh8zoJnuC6Q9Hzv3prTX1D7iBmJQu21bPDw84Hw6cVJJeZ78oLnfsxGhBPay/ZC8EwSs1yvc3+2w
224YxJS9Km9BFbiX/gGJA40Tg/3TP/2Auw9/QLe5QyRO9hZiSI4NlOOweHYq6ke6nyq6kUi1qqX1
Y0zRGYDqL1tUlWVwt65R1xVr99Y1Kuf4WYMHggfFAGcMuqrCum2w6Vqs2xqNJZjgEacB8CMsIpwl
1M6irR0qa1FZi1Vbo6kdrAHC7GGtgfdmuY81BGcrWOowOQs/T6wzPM8wxiZdeS3OcaI8fu3QdR0Q
I/q+x+F4ZODSEKqqQtus4CqWPHg9HFhzd5pQNw1Hr1kr/eIxDiNmP6Oq6oK1znU9nU7oLz1ASPUx
xqBtWqxXK6xWK1RVxXU4HPD16yOen55w6XsYsmjbFn1/BiJHBa7Xa3Rdhw8fPuD777/HD//0Ayf+
c3zs6y8XPD894/Pnz/j69Su898z8vX/Av/3bv+Hu7g7TPOHp8ye8vL6CjMXd/R3u9vfY7rbYbpgp
3LUtZu9xPp9xOp5wuvQYfQRMjbqSdQ3FeCOgdILdyq3cyq3cyq3cym9bfjeA75vQOaPAL4fBGkki
ogeqjMdymOYi8RdTO2TzaxYbFAWP88lTWQSSYTsigZC6EU9Mo4B073Q4Uv24dJpaHl4T0LAAfJeH
Ud2kp826XNOkg2YJ9hYH4ZjbTTfHJeDLh2oGbzire9YBLkvJ8FWmhxcGZHktPfhEYvZe3TRouxZ1
XWcmjqGU0ERBPwUVla2nofDpICtaZzEEPqCk5it/uZVfu5Rs9reATvrU3wZwoIfVN1/LgKXMl6je
CvluYsPp73jHDgigFBUALg+ucl89vMoRV5IkCWBbhPCHEBA8g7WznzEOoySBGZOmIhElNg+QGfPe
e0wCcM7zxACvaBwmJh5iAvN8CDDCGPyHi4BaPJcygCQNdfVZ+jtzpfh8QgcybBd0bkaSpGoVqKpR
dx2abo2mY3YvCXASvGdW9MCag36eQYgw1qIyhNqyQ4iT5jme14Z1fBN2XzwPoXy+RYfyu2RgLeuU
xhBBnsRxFhBIozvi0q7KE6a+UWCXcjtkoFfAvJhiLVLbMCtRKlOce0V5HQxT5cSiQZJvAgzwKNg7
ThMoYhHRoXPHVRVWqxW6rsPpwol+Lucz2qaRNg8LoMpaBaMiyASALNquwWbdYX+3xcePD9hu10CM
eHl+wY8//oTgA+qqBhmHw/GEtltzkivSJIQojLYODgGwYulbMcXIiWktyn/DG5uhaxGQpRxMIQOB
Yly/AXzL9Sd1q8ytK6dKDBEeAtJFnY8xAWygLGmiY7CUdgnFvVO909rHj2cCcmi9juVrAO5aguka
+BU7w+syvSP14di2hCDOJWWH81wh1bk3BpV1sJKoCjFinGcMlwuOrwfEGNhJInbQGpZ+sM6J3IpE
QwiQQyIToDY7AcGUHWAktjjNXel2/awRNm8wEXGe4YPaUmSbL81piDB77mcDie6xnMDQWQvvc7Ld
nNiV65mis2R/F8CRTJEIwRDr0cqcLh18zJLV/SHEbkc4Q2ibBvv9Hl8/fwYJkJc/lzpPgGiO7qAq
O+aDsjoRYJ3B3d0eHx7usd1u0loSYkFuAOUxrveLrDX7r//yr/CwINfiy9NRbIsm8lW7WdapXEsp
A70L/Y3Se6PSSOJ4l3nCGsYOVeXQtry/c2m88JxFFMdD9DCIqI1FVzmsaoeudmidgYEH/Iww9aDg
UVsSDWD+qSyPxdoZOCMtQTJGjUU0mryYnX21M8wWR8QowLkxDEo3TQ1rHeZ5hnMMTu/3DqvVKvXT
89MTvnz5gmEY0DQN7u7vsV43aJsGMUZM84zL5cKONsOs3cpViCGgv1wwz0yAMMawRnZdJafEOI54
fXnFy8sLuq7Dfr9H13Wc3K5u0LUdjDHo+55ZvQnsvcgzNAjB43CY4ENA07boug6r1Qr39/e4v3/A
freHc07u9Yzj4Yinp2ccXl8xjiP2d3d4uL/H93/8I/7lX/4F1lo8Pz/h6+MjrHV4eHjA7m6P+/sP
WK1WqKsalkiej0Hol5cX9OMEshWqhjWaYZjJr/aFHWX47+1tbuVWbuVWbuVWbuUXl98V4Ls4HIFD
8zj0LYO9JJvedJBfsFs9hKaUtsOJdCtab6oBDDks6GGVN+sCIBesmhJU1UO/Hl65riw3kU4wcucQ
ch2zlu7yeoAcsEjhBT0YF2H1Gl6JJfh8DW4wWJEBgcQ8sgbGGslIncHj90C8BPiWdb6qUzQGIQJW
NrxVXcM6uww9p+X1GUPXJG0ewc8I3oNiRBSmYPCzhJDG1M8xX+5W/qdKAUwksOudsXLNJlWmUsJt
iK+gGG0Zlqzg7xLgWAKYSxC4eCNfRsYVAzWE5F1IHLIchszj2nsPP82YJgF6hxHTOGKeJ5FhcCnM
VtntKmvCWoCc6XuevbDZ2DGS61wAQ1jq+f5XSraB3/7eNUSv4FUJ+r7H+IVSdN7eVb5jQNbB1DVs
K1IOXYuqbpjJFCP8zPqI/fmCse/hxxEQnVkFe5uqQtM0qCpuU00IpuMEQArxvn6ONzUzascI1gR4
GESS5JEhIKKQPIgZxC0h7eRsIrGlpIkB8w1D8bm/5QBhWyxsOAID0ZZtpAeBvF9gpj54jBIKTCEm
XV79Mc4xuFDXmKYZT4+PeHp8hPcerTDTpn6E9wHTxAxzRJscicYYuIqz1G+2a3z8+AE//NMPMAR8
/foVP/38CZ+/fMXHDx/h6gbnfsD5MsA1K1hbMyCXHIEJikbSyKQM0usc11ZToJQBOIbBk0g+8hzn
Mc3sWk1kZjThWzEOYoyyhstPAiLprb24coJETfR2nWBPnZ8CApf1SnuIsNxPKPglH5bEZtkRQQKw
lky3cv4t1uBi/Sx/rLGw1mSd6wRg0qJ9h4GTOPG48aKRy3PVWou6qmGsTQ6nFOmEmQEpytIozjkB
Uw0qa1nrXIBBrRfvXUKep2AQLj1XVE5udorrZxwxwx8EzCqZ4z2z77U5E7NboqyCRyDW5DYEONVt
tYY10uWZdPeia4OV6+icN2QQrUE0BpEsIHkX5mmW+TcUgK9dtHGIHhEGrrJYr1eomxrGkADMOiOu
ivzRIDszeE3gZJ915fDddx/w8eMHrFcrABqJJox9Z6HJ8ridSeaHwW63Q7faIMBh9ITjZYIRJ4/3
Hq4KIOI9nZHdcnZimHRFxNKJVji35C9BNNh5YkdYx1IaTVOj61q0YsONjHdOiqp9FRNLva0sakuo
DMERYBCAeUTwEyjMaJ1h6YSuRVNXwkrnbbihCIrivBLHmbU22YW2qVFXDgQGZadpRPAe1lh0oilc
VQ4heIzjyInN1ms4V+HSX/Dy8oIvXz7jT3/6E56fn+FchT/+8Y9YdV0Cew/HI56fn9H3PZy1WIsE
hL43zzMILEHRNMy8reoaMbI9V7C373tsNhu0bYtVt0os42macL6cMY4jnp6ecD6f4b1HXdUM9kaW
knh9PWAcBqy6Dg8PD+i6TuQo2vTdp6cnPH79inEc4WcPZy0+fvyI7//wB3z//ff4+N132Gw2eH5+
xul8Rj8M+Od/+og/fP89Hr77iM2HjyDr4M8XXJ6f8fz8hJeXZxwOB1wuPXwk1K1B1WRbFBj3Fb3m
koxyK7dyK7dyK7dyK791+d0AvnoYJOSkbBp2CCCjPrJjjTFAaUnpwCbSCwl0EQA2JXorkrKl94V1
EuLVoS9p4pZ1XB7kyIq2cKmhpoBuVP29gOgLOYQrwEXrmkLwTHm4ZWYXinq8B/SW/5IhqDqeHipV
xkHB6uuSrhkywykdpoF0YOXQLn4OPhjUot9bJSA+ZqSlvEEC3BQ0C4GT55R6qspLQTrA/S3I61b+
uyU5Ia4LCcNcP7dg7V0DdMVYLq+Ldw7If6Mo0y7VrbiOnldLp0dBUhJ2mtxTMsqXTpMYeYzNcugf
hh7jOLA+akrOBiAG8K8h6fIq2OvnQt4kCtgoTPjSMQICbPH73wd7S9Yuki1QXdtf3Igy7VKIqYBb
8crevL07/98QEK2BMQ6mqmGbBq5ps1wLEbOcpxlDf8HlfMbQXwTs9bAAKuvQVBZN7VBXVWKFkSHA
ZzsVOaY92RXVsWS8UWtEyxqmsaeDQQCMEODhs7MLEq6cgENt2JjHCCICESR9EAMfC7v/TjtRwXAU
WqExzDiurEVdVyDjMEXC5AOM2HwF0BREVBkQ772A1Ty+Qwg4n894ORzw+PgV/eWCqqqw3WyAGDH2
AydSkjFpZbwaA1hnUdcWXcfh6H/47jusuw7Pzy94fnrB0+MzxnFK0S3jxE6LCJJERJTWxBhDaubs
6DPZyQhkR4xMSm6uACZDkpBuC4AwAVG5L02K4MnrqTIdI0JhC64Z27lH0+gobMfSmVo4Mejqu7Fg
heMtu5cUUDR5LSbdT0Ccq5TH6nu28WoEIUcfsPPZiiPW2vyjIFcJEiuzcprntJ/QLGfOVajbhoFd
Q2ynZh4jwXvRZFaN7pAYvk4SSgbvk3auhqkrMAkosKxMX5NB7QTKE4ii6CM7voa1GOcpAb3JDiWQ
2yZ9dO9Lp1iAAaFSMFqZ5Gn/kwF+ljUwKRIqgEP0IxHbPunoEALmecY4jhhl76F1AWWncggBsAw0
V3WhHWzkQoVmNA+DPG5SfxHS/pQQYa3B/d0e+/0Ode0Q/ZS9JfpMBBkXOfLKWNaqjTRj9ixbYq1L
60s59qmYDAtAvPygjnv9XLq/OHaMJmYzotdbo20brNo2tYWRNiLRznWGoDt2C6B2hMYZ1A6oTISN
HvAM5teGYBq+ZtswQSBEz7aauG0ZJA+Y54nBfWJNausYbGad+Alj38MQoWkb1FWFum6S/Zy9T4zk
qq6ASDgej/jrX3/En//8Zzw9PaKqamy3W2y3WzjncL6ccTqd8fz8jGEYYIhQty2cc5y8VVjhMQJN
27LMQ12jqioE79H3Pc6XC14PrwgxYH+3x/39PeqmxjRNeHl5wTCwJvM8zwm0b+UezlUAIs7nM4Zh
QIwRbduKNMM9KtlbHw4H/PTTT3h5eUlg8arrsN2zFu+Hjx/x8HCfnuvr16/46ccf8eXrVyAC9w/3
ePj4Aev9HWzbAP2I4+EVnz59wtevX3A8HjGOAyIAVzXZJnoPsixVFHXOx8j6+eZv2btbuZVbuZVb
uZVb+bXK7wbwNWTTZl5DAkvAhl9kdlUGZDPrVag3SCBvofubQixVAljZDiEu5CA0xC1dM+1p+NpU
HFRNeQDiimaGkobJhSCMmfwxfp0PvymZyRI3LoDYAuCFJtlA+l0B0pJRpEBSknEo7lmWdN2F9i8W
Bz1jcpI3PSxrYqqqqmCdE8ZTuD5jFM8toK/onzJjJyL6gCCMSQ1wvPrirfwKZclQyuHqKMYhip8E
wsRQfDEzWBM4j2uY45chlOpr+WWl/HRx6FCHShQdUf2EOB0URPYiP9D3nDl7GHo+YMoYVG1ZSCh+
8MJ+8h5h9jJmg7B6MygURDdWnTJ8cLYcPFAANvkZrp8JeU4hm5s34CI/1N+cDwsArLxusmH07ucE
spEkiQZUVbB1DVc3qJoGVVUJszegHyb0lwuGyxlDf4YfBkQ/s3SFMWgqi66p0EqILV+fBHu9HoEQ
0KuwS7F8N4OK18zO8kdDpKOC9gpaxoCobFOJOdf/Aoh/iMEUTWIVQgYB3y8JCZX6E5wz6BqHrm1B
VY3RA5MPGGePGJHGSI7FAAAgAElEQVQclmVyOu2boEBciBiGAeHlBafzGccTJ4tarVZYr9fw01Qw
LMHgrEjnuMqhri2arsJut8WHh3vs93vEGPH68orHr084HI7wnhNlAYaZ60FZucukWNw6JGBMlkKK
eeXheacvxRvDkfa+eF4gMXqLNU6B0/fWeQIhkK71OZmj/k+HMk99drzoavVWykN6jPJ6rYO+jLgJ
V06v7IDFor8yoBsTkK9gcxp47xV1gKpNSlFLqv+ZnR5JdkpA3krZuMagcjZpu0aVkwkB1lpJpliD
DGGeZwzDgHEg1t8tntn7yCx8uTZRFGkaXfs1oVtMey5jDKy0bQLpJVsW29kIZwxM7dA0LZq6ZVbv
aU7MXBAncSSNorAcBh/EWaPtTQRY0pB+TdCYGecpqsoYTs5ZRkKV8zPqPznJ5jzNiVmvYy3Ff0Td
B8UC3BYwErqe5GS0uv4lJjxyosi8srLDer/bYb1eS9RILOaTfl73aZRqhcga6ZfzBVMgBFRprY6p
sYp7C2ic7Wdp5QVYFkdKuX6S/muY2dzUFaqKI7eapkLdcFKyxI+IwugloLIEI94qR0BTEdraJqav
iR4UOI2lcRaVNWgqh8ry+Ik+JsfqHHlsBu9ZCx5RtN9Z45cImGfWX44xoGoatC0Dr8aYxNoGIHJM
7Dy7XHr89NNP+PHHv+LLly8gImy3W9zf36PrOozjiNP5hJeXVxyPR9YqbltUIpvQX3pmE0dmxjdo
k2Nmnib0w4Dj8Yh+GDBPM5q2SVIO4zji5cKM33EY4YOHcw77/T4lXHPWIQI4n0/iWJ5E+7fCer1G
VVVSxzMOr694FekG1fe9v7vHdx8/Ctj7AHbKznh6emRd3y9fMU0TtrstdtsdurYDIWI4nXB5fMLn
n37CTz/+hOfnJ0wT2xZXVwzkR5FBmSdQiEDkyL5MZjFM+72VW7mVW7mVW7mV37z8fgBf49JBkKhM
kpI32nr4ewv28mbZJAYIsgausSBSFq5eIGZAVUNrPSfaiaFkF8mhQDzZJaNkoesnG/4gQHQoAGQF
bP8/9r49VrakKv+rqv3q3a9zzj1nLndgYGSAAAMJD4PIAMFEEFHQgQRBByOjgBo0kSEGISiSIEEh
UYL6QxE0OAaMiRJQUBJFQRFwGBEGRGBgGJjXPa8+/dyPqvr9sdaqvbvPOfc1d+bnb3Lrpu8+3bt7
76ra9fzWt76leLG+6tYJ2Vi2NpptlnET2d2FjUzD2MUS2CuuVm3WcPjXAk0ECGsze0USQthN0Ara
AVAKWnT+lApRypsAdS2wkNAWCEwlz0uhOUcRjKmelfOwtqaAbbYp36V08ZO097BbxXJ7UFpkTugl
Lu8CDreB+AB2yIXDCXpP7YS1d48Dz9qI4wUXqukfhlmiCG2a+oRzFnVZYT6bYTqdMNhrORK8YrkT
HcBtGgtaYKKzARCxITCYbLp1MD457wAHxHFjuFouqPx9uIG34MwW4LDMbhdDy1J9rb4HVgCo9itg
5AzUySYe8LoBmVQUIYopUA+BvQbOe5RVwUFdxqiKAq6uoOoa2tUw8EgiCtqTJTE6aYKsk6GqKNBN
5RpmdJNNkprRfhnQbQ0akAbVhn9DgDwGSp1zcJpASmKr1hDpGKV9+L2M0xK2jTl4YOdkeKU4QJa0
+uXaX/X2AMAgdwSoFP1+jijNsag9posSuijhfIs5FxFzLtI6MDk9CHCs6gp25oDZDJPpFHVdI0nJ
1TdLU8w4QKA2GlEcIUpiREYD1iNJOFBbN8XGxgbW1teQpgmmkyl2dnawt7eH+XwBMCwlILOM8wF0
VMTUJABIrTadpRQekUxBAsh6H4DzYLBggDowhYHlNt4Gm1vzbpgDBRpjcFEy0Gb0rjrcL8lDrQCD
wlIW8KJtTNVKwTHRUgyxy0ab5vphfj0C7A1Vx9/zDvDaAV4HI8QykOzJtb0FfhutEEUGWRIjjgiQ
886RtqlzqKsK1looBXS7HSRpBiigKBZwdYVakSZuMNQ6hQqkUxtHBlmaQGugqmqUJY1f1tUtQ4pv
xgRF7P42Q9kpGwxtURSh1+uj2+0hjhMcjMc0DjNT08iazpCBmIzDoSUtj1T8faNkzmlATc1rEcPj
ffAMEAMEWkOiaoBckeWxjtjMq0/LC2PR0RpQXOUbuTBLsl2QoVUQ39aAKi/lAfYbMFqj1+uik6WQ
wMJSjtBeg0ECbBhzKAvSgz29s4/aa8RZD2VVBeKABCRtA8vtVtjIJylgCcCn/Hlvw3sybABxZChA
WURjVRRpRJHmUYPKqaX9aI3IAMqRN0VsNDpJhG4WIc9iZLGGgYMBBxTkYJvEgCZ2upd1oBjnPBtX
bR2+6yIDz+OeBAGMUk1SDCzjYFmbWSmF2ETQ2mA2m6MoSCf37rvvxt7eHpyz2FjfwObmJgaDAZRS
OBiPcXAwwmw6g3UOXQ4y6rzHZDzGfD6Hcw5RHAcdY60NLAc4k8CaSlGA0l63h27eRV3X2N/fx+7u
LmbTGZTW6GQZ1tbWsDZcw/rGOpIkQV1bLOZzjK1FWRJo3e/30el0kCQE9m5vb2NnZwej0Qh1XaPX
62E4GGBzcwsPefCDcerUKayvryNNU2xvU/C2nZ0d7O7uBqOhMIXrqiRt7+kE99x9D07fcxp7e3so
FgvEcYwkTYl448mYXVU1LBbkGaJM6KWr4/Z9mV71oQV3EzaM8P3NSmBoIRsr2b8AABxiYxCCr6yk
+yP/9zY56DMYoM+SgpHq6PKfS9KBrHSBdcVG30MfH5rzj76HOkvez1Y3h67pWSIxfExrEheu1dS3
A0vvALB8ftW79v/8WH7G+19Kl9KldCldrPSAAXyNicNiWrVcbz0vEOk9GNDhN75hRFCUdN5YtIKe
CegZ3EWZmhRcOJ2Dt41m7RLY29Ldo2sycLyi/wt2zRWgVwDk4AIb5iQBpFv5VOB88zfCBOUDCNsO
xEZreL+k96eVDiBw4xLaYvWuzIltNq/3DastgOsigcFzdQDEuCjCopjP59jb30e+NkCeGKjIALY1
QftmE6KkPMyshGct0EWBqiSXuUseYvdVathoFFAK4b2Sdm4MvbQEHmyAMsX9hQg9LYOMgC0C2knf
UWdboLYWeRpou8ueQ1HCNQhstfCONF0lD8Qar1GX5Ao6XywwnU4xnc5g64rAFSN63oo328zetS0j
i13uJwRyNZtzowFvqP8o18JaIaxRLuoS+Nva7B9XN6qpZwViikogxOX+2ixCEZ4LKTr6YFDSYayU
+zd2lRZgxUC/0QZxFCOKEije3C6qAvNFgel0hqoq4FwFuBqwFTQ8YqORRQZ5GiONY0RawVY1fG0B
x3l3LfAVUlfHbxoF4FPBQMHgTV2jqsnN1rLLuI4MolgjijyABWprYXSNqMXspaCcDl7RYt8rkr1Q
3gDQtBFwCEGT2uCbb41jbTDJKIUkihCZBINuDp104Asb9DylX0RRFECDOIpgBPTi6wtoUVsbGFxJ
nKCTdQAoLIoSRVEgjmNEUcwsMwIN0yxDlwO1bW1toZt3UVU1Tp+mzfx0NoN1FkZH3C7RCgDnoVl/
2ERNEKzwfFrP4rjuGYxIrdT0g1Y7Vg1AJ59TOxdA9TBDV9r7kmTK0md++W/OiYDLq+3Lex90n0mu
xTHotAoeNFIOwfC8VD4FdcxGVr4cxktNZfQ87sIBWjdMSw8Pw8GsSNuUdLK11kiiGEkcw2oC3pwF
MS5hUCmgYoWAJI6QRBq1dajLkliSzsEYhSQygNIseeKJMRwZJLHo7ns4r2Et6blSEELFQCAFWZS6
FBYl1QFLP4DG0sFwgPW1dWgdYbFgkAaUN2Glak2B2MTgrLyCMxo1HJyT+qZ1gGLAWoBYaYBGURwB
rVkOQ5N2sUIjW+FBfdm7JgBtxbI8wjiW/LWBUlvXWMzmOBiNMJ/PUNua2w0oH7ye07IS8mwk5BeB
+fTSGsjSBIN+D1mWMLDZMl4JMOXJM4QCjjnMZwvcc889uPWb38LO3gg6ytAdnsC0sJgvFsTMhxjd
fdNPW33Oi16ypxyJgcRLYGJXk+lLkR6vMQrGKMSRYi1yhji8ba7vPT0bLr/2AGARRwp5GqHfy9Dv
ZuikMZJIw2i6lpTROgtlKTPeOpRlQbIjLfBZdIgBoCwWcHUNm6boD3rIOxm07sA5uyS1kiQpjDGh
bVrLYOveLnZ2dlAWJeKYGLOD/gDGGJRlGSR0nCMJhSRNkWVZAHNn8zlsXRPTPo5JszeOUVUVtre3
MRqNUFUVojjGcDDAYDhElmUoiwIH4zFm8xm8Bzp5B50Oga5bm5u47LLL6HtlifF4jL29PYzHY9R1
xXIUJIUkoPHe3h4WiwXSNMVgMMD6+jouu+wyXH755Th52WUY9AfQWmNvd5fYuqN9FMUCnU6GXq+H
Xo8A5O3t06jrGtPJFHt7ezg4OECxKOCdR5omyDodpBlp9XtoVFWNeTGBwxxxkvG8E0EbE9rT/ZGi
iLa40i5WAd+G4e/D+eZzB62ox95X4O7Zrnu+gOTh72usprOBpE0yDPoqvo47dKT98OHP5ajV4c8V
1+mZfneUjv/5pDah6UzXOJ/6pzU85asN+C5/p1ljyBrV8Tpu1bvsUrqULqVL6f5MDxjANzJRCPQU
wBy/zEZgbImDsmhejBJYEVySV9wwlQCzYXMorNuGfSu6jQ0DUkBeHcAtYkAKoNpiUTDLQ6QbvLAC
Wxp3DbyCAEDrpfw1aXkyWWH5chAomUuVbsDeAG7rFUavb667eo+lyPaOuW9K8kY5VqANHf8wlME5
h7IsMZvPURQFEpvDGM11R9BOmyWnADgvAdqY3WEt6aNafsaXAN/7OMnCT6C3FrM3sHtZRxK06ebd
LuAaoDe0j2AbaTG61eoCK3D0WqARA8qyU+XPfGthtZwai3rDXkIwugjDXWw/oudnZzMsFnPMZjNU
FQFpOomXNpYE9LLsgBNJBxdcgS0z/x2vm8WQIvl23iMCYK3mMmkGAnhowBHN2qtDoLgKoGKz0GwY
+mdfXIaxRcZAiKPxUb/lZ8/38GGsEEOUgea+XBQlZrM5prMZimJBMhieRBE0fHDvTeMIWczMU+/h
6wrteEChMvjuorUMHoOhVzYyMm4G4x+CfEYzZniWhYgRQcMYqW3fGAsVX0N5+AAAk34vOTkTQO6g
EXAlpaCVWRq/JONh/IYiJlyWItUR8iyFjxLM6xJtdnZgbBoCfWWMDOBkpBtZIU+AXIelHIzRmEwm
mE4mqOqaGdfSN4Esy9DrdbG2PsSJzXWsra1BKYXxwQFO33OaAwCVpG3P9etknvLC7tOBQbfaQgDe
+Eidtjb6h+2ILbZwy1Aqhk0514wZy1W7PJ2uzE2+6f+0DFgBeluAcJj7W9JL8lsx8DYG1LZR1nP/
bvIa5DdW87CSlthKkpdWMVf3pPIcZD7VWqOTpcg7HUSRCS7qIlvgbU1zZVWirmgMsjVJFERxFDR5
KQAXgY1JQsESkyQBFAVQi4xmzWkaq+qqomBwVQWR8mgbkRQ/aA3wmILwXJrxhljAaZIg4SBWgKP7
xKbF5uU1ldGt500MUO81vOFn6TyxS42G0QCcDeXXoIBuMIb7Pb08AO84eKZv1nuNnENFGrCWJR3C
WNtanygN5yzm8zl2d3cxnkxRsbyA9BX5RXjOoX0SyOshaxjS7+31uugPekjTGN47CjDHrPVliRPS
6C2rBXZ3d/H1r9+KW758CxaFRXewgXUXYX+ywGh0gKqsIEz5ZvpVTdBcNv4F5rqnoJHyXEhr2xKg
HmkKFhkbxJGB0WTEpKBsDvA19SHvAe8Q6QixBGbTgIJGlhj08hSDboYeA75xMCQs9zNq8iTNUJQL
WEvtTnMbMnGMOIpISqAi/VxiF3dJaoJlTRwTLLTW6HQ6ACiYW8GG3dHBCKPRCPP5nORBoogCADob
dHKNMciyDGmSAooMKd41fcI7xwa2iD1HQDq7iwIHB2M4RwE1u10K4CbyEnVdQyuFbt7F+lqMTt7F
oN/HYDhEr99HGsdYLBYYjUYBeC3LIgDLhjV+a+7fWZYhz3N0+F4E+q5hbW0NWmuMJxMUiwUORiOW
ArIMUGfYPLFJkkDW4c677sLeHgVmm04nMCZC3snR7/XQ6/UQRTGs91gUJcbTMabzBeraQ8cper0h
0qyDOPYwvpk/cMRYeLFTG/AlgxB7M3qZi5fBT1lWCSip0QSyvi/SxQR8j5xb7hXgCwTQ1+sjj96p
M58/Asj1cGzwPBvg62DOAtgel9r71zP9NsT4OSa1jZRAU3e+Va809TfALx0NvCKpSQcPp5p58XwA
3xe/+MX4yEc+cuz5T33qU8iyDN/7vd+LX//1X8frXve6c7rumVK/318KJi3pzW9+M1772tfe6+uf
T1osFnj84x+P6667Dr/xG79x0a+/WtaNjQ0897nPxVvf+lZsbW1d9PudbzqX8l9//fX4wAc+gIOD
gzDeXYx0XDu48cYbce211160+1xK9196wAC+2hjefNHClNaqDuKeK4tXAByUjAFFJVqAZkmrt6FR
NICs903EZwFnm/VCGwQRoLeRMgj0BshmRRY9Llw/SDmEjWh7s6cCMNYk3vbzpnPZiugOTTCrE41p
sYwagHr1Dj5scJau4wQUQbPpFZoI71LbLlR8E178e1jnoWyNqqqIPWMttKIAEw3s0gBZ3nt41u+1
dQVf13CuhrM1b9ZWIWJgpQIvpfNIS9WmgMakrRvcVyl4bute6dCfAjsOnhZ93h9hSPBL7Tz0NzmE
9ZrnLnh4kRo+YvRYsS5p414VbtW8bwFOywXm8sCj5mAqdVVScLFiAcMBebSKKFfOhbK1WVDWMgvQ
MlhgSdIBwp7VoktKwKEJfcc1AGPYhjTGnjOm1fqDbHD4c+eXvn7cFQWgCefD4rYBxg9D6XRz7wVc
ZiMAFJy1KBYF5tMpMd6qklzNFS37jQZrMxrSZ4wYFBIGaYtV3NxLnr8Ysxgw8SsL99DMmjHKwbEE
DLlba6WRxgkQNSA+yUQ0Eh0BrGRXa8KZCK52HvCOtAito7hyYqdT5FO+UtcN2Gq0QprE0DpDbhw6
SYxKEUCnw9zU/Cpo+LYBRAZ6vG40401qMBgM0Ol04JzD/t4eJpMJnHW8GPSwrkbk46D1OBwOsbG+
jk7WwXw+xc4Os9sWRQBsA/td5j2pL5k3ZO5o9d1gtVBNG5cStQFBKqrCkh4tA3KiId+WQDrM2D1u
rmtp6UtbCG2iAXslcFbjjWPYGNqMV8vGzdbfaOVH5n/xEJJ2iub+0mvCk23dI7QS70P/VS02ojHE
SNVGAmJSHUYMzGZZhsgYAp58CQlqpRSxb6uKpAYUwAt5jygi1mwcG1inYIxGmpC3FIF5MZef1jxi
rHMsXVCVJaxzgTHrHOn6hrIoeU6Gnh2zogE2NhvSFyZQzMPWFZyzLBMQNYCsXJDr3HnWTweB7KJR
DQ0kSYwkpqUtgdwcGNKQzIXWGpGJEEfEOBSGrXXNKOcVtQvrLGorQTdtA7QHoyUBk1or+NpjsSiw
PxphNiNpFXC792F84j4i4xIkqC5LNnBpI2MwHPbR7+eI4wjeU52Icbut16wUzU3eeWxv7+CrX/0f
fPGLtyDJuth6kIczGbb3xtjfP+Dgizp0U2rvLW8EruPQcr2Ht8Lc9lCKQF+lFSKjkaUR4iRCEkcs
N0PXizSglQsyDAoecQSksUZiDGJDY1yeROh2EvTyDL1uik6aItIKVVUyg9QFo4b3HlVZoSjmKMsF
nLfQRgXPh5SPFFBVAaoJpkoMa930fU+eZklCWvHWOVRVhfFkgsl4gvl8ThrXDNoSoN+QJlLWp6c5
v0ZZklGAAiN6RCzvYIwBvCet3sUC0+kMs9kMg34fSTJAzvrZ1lnUBe1TyBDXQ39tDYP1dXTzHEkc
A85hMplg+/RpbO9sY39/H1VVIY5jZBnJKFVVFeRa4jhGnufo9/tYW1sjqYc0pXavFKbTKeazOabT
KWazGbc70mAeDgdYW1tDFMXY39/H9ult7O7uYlEs4L3HxnoPW5ub2NzcRKfT4XZ/gMl4jJ3dPUxm
Czgo5N0+kiQjqQs21jgrEnP3PeDb3tO0AV8TTDbLc0njQ8Ia5Edc874Cf49K53Ovo9i+h4zO53lN
Sobn9MNHsh2JZ8/ho4OHV4bvKbWpm+ue4ai8AbR4A1xYGZTSK+8P19GZUhsQFkIJQIDv8jqkGVvk
vQQCVbw2P9IAfZb0kpe8BE960pMAAB/+8Idx880344YbbkC32wUAXH755djd3T3rdc43PfzhD8d1
11239NnTn/70i36f1fS85z0PN998M+68804ANEZfccUV2NzcvM/ueeWVV+KnfuqnAAD//d//jb/4
i7/At771LXz84x+/X/v6Uen+KP+Z0lHt4LGPfez/k7xcSvc+PWAA36ZjChOwYVC03aoVu5Qo3oQ2
G1YDHSIZ02LRewsPBhWchXc2uHP6oNcoQJaAu6z7yxsgJW6uSrZ+bQDZN4v9tmYvI2ASiIPKJ2Uj
8Ig2Cjz5sL+2MJdcS7/3TJPKcedW3U9kt+W4zG2gl3/Rqv8Wu1lqR7WYTmA9I3kpDsjEG0MCAZov
KADKO9p01BSUw9UVrKWjczW8J8bJqqZDk7v//en//SJSDAxH1aEKoG9gA+kmAEwAe4N2pwrP0vNv
vBgmpB8uAbINxC/g7hIw02pry+1s+XPFzKTz2Uh4+nHIs/ceZVmEACdVWcA7iyxLA/AG78hi376O
V3AOsNajrpkhzC9ysW4Yf1pr0rj0IEOTI7fcJrZkG/Q993JQN2qAM4lkv+wgx7UnfWvpQ3lmy2CW
CTeQe8l4w5ie8sEAAGYoO+tQWkdB2hZzVMUCtq6hIgPPoEASaWRJjCyJkMSa+nlrbAxMYwF1JZtU
SnjPQJQnNd0j6yV8h5hqwu5Vihm2aQdWx9DOwjOACsTwWhOwqRUAS+A+PMk5gADf2nsoC/gacLUP
sTad9y3G9dFJK4U4TpBEHh1TIzYG3isGsHR4NgoikcLl4brw8KEtea8QxST9kOc51oZDaK2xv7+P
/f19lGVJwCCzOKuqIiae1iGieyfP4RVwcHCA7dPbOBgdwEQxkjiBrRehvqk/toBKbqukdX8E6N5Y
7FY2RM18HVi8SkDe9lGHeVX6p/R7AW0FPBOpicYL53gmTfN7F/KkVKOZ3BhuGfgPc/XRBtTwvFRj
2DrK2yDkGc2Y1ZZ9oHG0OUfu8oZlOpgxqE2Y2yNjiP3NMh1QCLr20BreG55bCRivqjIYl+m6ClFs
kCQRvI+RpTEcy3OYKGLdUaqHKKKNe1VVmE6nofxakWt8ZEgTtSxpbg69VeYMNBIJEsg1jmOkSUoM
yroKATEloKFhjyvvWXKBAwaCX94Rc5cfHrXplAJyFUWJYj5DVZBERBwltOBQmjRHk4SAfOvDc6b5
oAXMe/G4WgZ7RfcWYLY1P8PaVpjNpuT27/1ZGWRCUhDDg9w3jiOsr6+j1+0iMhrO1jRvsAExsHu5
HrWO4D2wu7uLr33ta/jKV76KzZOnoOMcKspxemeE8cGEGL5L8S4OGx1obAHPxUR08J6YPiai8kRG
I00ikmBggD2KNYhArTlYGwFsUCT9ksYanYx02lOjAVehkxh0OwnyPEGv20GeZVAAxgcEoDrnCFyN
YgqaWiwYTK+gFBAnxOrNOx0KPAgQs7XToTymxBpfFAVUWcB5x7IkpKcbRQZlWaFYFBhPJhjtjzCZ
TFCVJbf5iIFb0lAXALXX60EpxazgCovFIjDrkzhGmqYAaM28KArs7uxgMpnCOotOp4NOp4Net8cM
Y2B8MEZV10jiGA86dQoPetCDsHHyJLITJwBrUY7HONjbwx133oE777wTOzs7mM1mSJIEW1tbyLIO
jNGYz2ZYzOew1qI/6OPEiRPY2twiHd4kQVkUmE4nGB+MMZ1MKShcWaKua+Q5yU5kaYJ+r480TTGf
z3H3XXdhZ3sbVVUhSwmM3trawqkHPQgbGxtwzmMyuRP7+3u4+557sD8aoagsojhFnGQr46ULfemw
+fjiJy3BCXl8N2G/RuelF+vGLAchqsg3zpTu63X72UDBMzF8Cdg+/PujyBNHJ2EoHf+dM2XPyVYa
wGo2zqna1PJcedavH/EdBbUEGB9FmTrjNbEMzjpZ47CeugC/mr0zLGTOd7weIhKJCaY8elkvOTnM
oGynF77wheHvb3/727j55pvx6le/GidPngyf3xeA70Mf+tCLwha+tymOY/zjP/7jfXqPK6+8Em94
wxvC+83NTbz73e/Gpz71KTzjGc845+tYa4M3x8VK90f5z5T+t7SDS+nipDOvRv+/Sn7ltZqE/+kh
mBBt0ETGgVm/LeYG7/FATI8GxBG3VieznZJgbAaGWSMSvTzkjoEMxwFAZBNhZTPhiUMBRZtnekXQ
rHslDCqPxtXQht+7RqvXthdUYLYRAQPRygbuyAlyZeFPALINLo3W1U2wDKlX2bjyZjnkV4tEQ4v5
zBOiMQZpmiHv5BTsIYoIROTbi6ZqW7vXliVcVVO0Z4AZFSW8d0v6js0T/98L9h632frflFaWjwjM
Sm738pzbFR0YgK2gLgqtDTL3g9rWsLaCresWu72RHxEDiAuamWzEkAjzvjFmBHDnDADPUSkYGJoi
wsOjKEvsj/YxnU1RWwq440GSAMRO4foAB7JynsFEZvYyy61mcMIJeComkJZHgYDNgsp4sFs0Z2gZ
TrqwtDTIHwVYhXEMob8etSL3/HsxLoUxxxMQqrUhd3Fbo5gvMJ1MUC7mBFaAGL0GDpHiQD1Zgk6W
IIkj3qhXsHXJDD9i7QlLUsZakRAI7dAvB6EUkFqKA3jUdU3gPW/IZSyM4wSGGX9S7wDChm91a0Cu
iCRh4bxHbR3K2qIoaxSVhcSNXHpeK23MA6Eda0UBsOIoCm7Py9sCuowWmQwGQsVNWNywA/gXRxTB
PSHNz7Is2ahwEIoAACAASURBVHNCIYqJiSe50FBBPqgqS0zHY5y++x7ceccd2N3ZgdaaAwDlEGat
E0Y1hDnUAjelxO32vFzqVhP0XJ8IYKQwDWkOIRAzjqNG+/GIOcu1+lndnlNtq12ieaaBNasOe7Os
XjvIMpxDt5PrtQOeSj875heHwXHJQ+s6BJzR8+50Otjc3MRDHvIQXHHFFTj1oAfhsq0tbGxsoN/v
IctSaEOyArWtUNc1qrpGxSxcZ2vAo6VfytI1dRVARNFllpdh0DVNE/R6Xayvr2NtfY3aGDMciVlM
wQGjiGVMPOu1ahUYn7r1fGWd0A5GmCZpy/0aQYvXB3amg7c1GXnrij19au4zCNeKGWwT5uZsSgCY
9w5pkiDvdNDtdNDJMiRJQiC5PHOlgs0yaAEDULz+aOazpn3wKomeN9jAxAx4vdL3Zf5sQAyEYKGe
pYCUJpCx3+/hYQ+7AnmeAQzUV3WJqq6IUcwa3HJ95zyKYoGd3V3cdfdpjGcOcUzB+GrrsLOzi/F4
gqq2vI7E0rNu90/qvc3nSnkYpRAZktBIkghpGiFLInTSBL28g363g26WIs9SdLME3TRBL0vQiQyy
2CDPYvR7HQx6HQx7HfR7GQa9DMNejkG/i263gyzjNqQQAgomSYy800HMQQepHgj8jpMYaZoEOQRX
k+SCgg8SJ1prLBZzTCZjzGYzMjoqYXorLBYLHByMsLe3i92dXYxGIywW88DkleCDaZqy/u0WNjdP
oNfrIjIkEbFYLFAUBbTW6HZzDIdDpGmKuq6wu7uD7373O9je2UZVV8jzHJubJ3Bi8wT6gx6BtPMZ
xmPKn4dHr9tFdzBAkmXwiwXG99yDO267Dd/4xtfxzVtvxbe//W2cvucezOdzAtuTGM5ZjPZH2NnZ
QVVVGA4HuOrhV+Gqhz8cl19+Cv1+H945jCdjbO/s4PTpbRwcjDCdknFCKTCQu4mNEydgbY27774b
t9/+bezsbMNojRMnTuBhD3sYrrrqKpw6dQpxHGN3dxe33norvvvd72I0OgC8p7mV9xqkIx6R9Aqv
70I/uh/Wvavr7KU5ILz3S+dNeN8cqb/joh9X73O+921///D5llRf63Wmc8svzocsU484ag1oc/Qx
0o1mt1FYetHnZ3spROroejqqPpbPKxiN8Pvj6iuKDAeYPPoodbRaZ+E9luf+qPU9Dc91dbhuzX2w
77vzzjvxghe8ACdPnsQzn/lM/M///E84d3BwgFe96lU4deoUrrrqKrzmNa/BfD6/oPt89atfxQ/8
wA9gc3MTz372s/HLv/zLyPMc29vbePazn4319XVMJhMAwE033YQ8z/G6170OX/3qV5HnOX7u534O
T33qU7GxsYEf/MEfxDe/+U0AwKlTp/CJT3wCo9EIeZ7j3/7t3zCZTJDnOV75yleG+3/+85/HD/3Q
D2FjYwNXXXUVfvM3fzOstb785S8jz3O8/vWvD9+55ppr8JWvfOWcy/esZz0rlPNcynP99dfjSU96
En78x3/8rPmT39xwww344R/+YWxtbeEpT3kKvvjFL+KXfumXcPLkSVx11VV4z3veAwBHlv+WW27B
Nddcg83NTTz/+c8PbGhJ//qv/4pnPvOZ2NzcxNVXX40//MM/POeyn2v6r//6L+R5jre//e3hsxe8
4AU4deoUgLM/h7OdP1O9X0oXnh5AgC+7mgVopa1lKe7UrWAs7HYpG9Rmw6eENMSgkw3HNnsIaMBi
zVpwOiKWsDBywm7RNyxeZ23Qz7NBj7bFMtIGykTQUQwdCeDLwQ7YVErSEhautckVsNc627hMoQFJ
RK9OXqsbXmGaiHtjO9hb+yWuhwH0k016mOjMUl0GVpYAhrzZiOIYeTdHfzhAmmWs88sQTXhuaOqP
NQh9XQUdUMsbP3GpbC/o+AHdV43tXqX/pdlaSgLGtF+8tV0CTcTlGkt13zDvEFh4rSt7v9SfIJG2
XdP2QnAkBngds+uboEmtjbNc+TzA3pC0wILEr/MgvcrpfI6iLFEzwGstG4oEsFUGHgrWelSVY7CX
wSbb0u+1rD0oyBatPgmsYwYAIHq5zesw6Hsuz+wI5oZqg6AtF/QW0Lt0/VbbbH/eBjXkXHgxQ1vA
rqosMZtNMZtOUJUF4EmTM5JFuFHI4ghZmiCJSfvROwtnyZ1bwaPtTi/GMngac5eANRnLw/dbjBAe
a+q6RlGWqGwFbcj9PUkTRBEFkLHtMdk62Nq2tNtWDIhcP84Dde1QlDUWZY2yFN31Bi5ZqswV8Eck
DQRkatgsBLAs/ZTbqAJJThieY2RsFY1NCpjHLMuihGU9yCgypGEZx8TKyxLkeYokNtBKoSoL7O/t
4c47vovt06cxn89JnzLNEEXRcjtYYrUKQ7Ux7snnUlnyDM9m2FJYHlOI2WsCMNiwbrl+nec5kIyw
dd2wt9sGScX1JwZIrU1rrmq1m5axo8lnY/hYbusr+W6XT7FhufW7w+CvPOdWTSlh5a9uyg0iZhee
OLGJU6dOYWtrC8PhEP1+H91ujjgmKSRnG+3OsiwJSJqMMR4fYDZrgkglSYo0TZGmCeIoDv1LyqK1
ZjdxMsjmnQ6yjNyyFRSNxQycSR16T/euqhJVVaK2dcPUD3MCghSA1hqGmd2R1jwMU71oIOgPGwZV
EeaCZj6ggF3UV9oGbTIUENOmLMugqRpFEdI0RpKwbnEkbUvx0KxCf9SKZFckX75twFTEcNWKx2kr
AUnRyCUoMlgZ0xiiZY3VXgAI+C6GdQWPNImxvr6Gq666EnmnQ4QDW1OgspqAZ6NNs6byJCswHk+w
t7uH/dEI3jl0uz3knS7q2mF8MMFiUTTBgD0ZsMRwpuBJW729xvUC/FM5IqMRRwppGqOTJuhkMfIs
Qb+bYdDLMejmGOQZ+nkHw24HwzzDoJPSK08x6KYYMug76HWwPuzjxIk1bKwPkHcykHGuQsXsXTEm
pGnCfZZkRnLWo+3mXWRZBqUVaedWBZytw3jhvMViPid5JltDMcBjDOmvl2WB0WgfO7s72NnZwWi0
j/l8RvIMltYbHh5xHGMw6GNjYx39fg9xHMHaGvPFHEVZwMMhy1L0+13keQ7NIO7u3i62t0l6wXuP
waCHyy7bxNbWFno9csmezaY4ODhAbWsO0jdAp5NBeY/5ZIydO+/Ad2+7Dbd985u47Vvfwl133YXZ
dEoaz908BIoT7eG6rtHpZNjY2MDm5ong+j2dTrC7u4Pt7W3s7e1iOh2j5rpK0wR53sFwOEC324VS
wP5oH3fffSd2trdRliX6/R42NtaxNhwgy7IQFO6uu+7CHXfcwUHoiBUtLODhYIDBYMBSGzHVvSa9
8DiKkFxEvcnjUqTU0svwGsToFgDJ4KS8wjleq5z5hXt5vO9eUs4LvobWTb2YCzsmGki0Qqzk7/N7
nalsZ6tfCSZpIn3oGEVyBHtHHXPkcc9E9Iq1QmLoSNdq1bUhEDk2CrFRvIZptzXFc54OgPjFTO97
3/vwyEc+Ei972ctw00034dd+7dfCuZe85CX4m7/5G7z61a/Gi1/8YvzxH/8x3vSmNx17raIocNtt
t4WXgIree1x33XW46aabcP311+Oxj30s3vve94bfvehFL0JRFPinf/onAMA//MM/AEAAQwHgb//2
b/Hyl78cb3zjG/Ef//EfAcx83/veh8c97nHI8xwf/OAH8ehHP/pQvkajEX70R38Ud955J97xjnfg
Oc95Dt72trfhT//0T5e+9653vQtXX301fvZnfxb/+Z//ide//vXnXI933303AGL6nkt5PvCBD+DK
K6/E8573vHPO33vf+1484QlPwEtf+lJ86UtfCgD9DTfcgCRJ8JrXvOYQkAuQMfknf/Inccstt+CV
r3wlTp06hX/+539eqp8XvehF8N7j93//9/GEJzwBN9xwwxl1oM+UFosFvvGNb4TXHXfccV6/P9tz
OO78udT7pXT+6QEj6SAuZ56ZUi1uD7RqNMtkU6eVsFBbQC9doWHj8uLXseYjXZ+uKUFdaFMasXwD
uYkJy0Xy08hK1AG4Ig1Q2Sw2LqRaR1DGcHAn3gyAADIFB29ZakI23b5hJwPkvtwGYChitV4qo2w8
woYBCHlcBll8AHhlM7bs/tq2krcALcGaGvyFrg+Wb9AKcZog7/UwGK4Rw1frBlBs5QuK3P+9dbBV
BW9rKG8BZ2GrEo4Dd4D1W5t99QWAf5cSgBbYC3oWEpSLXD11YKFpAV8YLGnDl4x0BAOMbCqlfy6x
SvkQwBHnSfvLt9z7w7caUDkAzNLQlpEpPvjmJu0bAkE6gYDBBuTx3qOuLbwmnVdrDLRVcBEARRqa
3lm4Cgw00dgjBpc28Ou8I93eECjSMNAreogijQGQDq5fwsuXa+cslgLfANeQakGjiU1YwzJwe/y1
Vr7Rwj0bWBONwYzPUAT1CouiwKJcwEOYfjQuRBpII4M0iZDGEQxYrsVWoIBRBsK+8UDD6ubxNwTX
ZG8BpYTdsZxdAd2896idhXYWkQIidj9WmnR3y9qiqBwWRckSHhXHxNPQkXhVoAHtWpVJ7us1bFEB
nvQ6vWru255VlOImEDxHVoDkNth7KCluDyRJpDnYZjBwQbHGdATvPeZzCjTomW0l9a8UkHdSZuTl
6OYdZEkMW1UYj8Y4ffpuTCZjaKWDq7Ho3zfyCZLtNqi7nBcq72F2rACjzbvWXy2g9ShGDKCgtYPg
8DJfBW+bJaAK3NYFPCWvmaW8OAG7DsseteUe4BGCtbUll9ps8HaZluvBHxqWlvIgfScYLTTA46Ru
552Zvnmeo9ftESNPN0x3a0mmQwGs4WlRcqAxz8YMeI84ipBlXcRxIg8ReSdHxPq5UgxjDJI0Rd7t
IuO5GYoCrZJLPQVapToHj5c1qqpGWTGT3otWZkvrELTpVS0PKMN9t65raKfhLelmG22CpGPN7GTp
g40XCT2HtrFA2IXiWmk5sCtJWBDw7x2Nk5rBZ2sMakvyXd5z/+W80QJKWLzUZggM5rHBkea79z4Y
vuXZatMYwGXEbeYySiLfghbonmUJTmys4WEPvQJZlgQw2LE+bKyJ8d70Aw/na4wORtjb38NsNkUS
KfS6PSRJB/PJAvN5AVs76DiitazyPFZJn2SmMXi9JQYpraCUgVK+MdYlEbIsQaeToNfNMOjm6GQJ
KJ6kD0xg4x28iwE4GKPRzVPknZRkICKDLI7Q63aQpjEc6+Z70ZaODRuqYkRxBO8skiRBv9+FSMAA
ogXrULuaWMgM+AsbuCjmxDSNY2QZsdKhgLIsMJ9NMZ3NsL+/j9H+ASaTCRkHuA9orZEmCXr9HtbW
19Dv9wEQGDKdTjCdzlDXVdDPzrIMRVkEcHVnexvT6RRKKaytDXHZZZdhc3MT/f6Ar7PAbDrDfD5H
r0c6uydOrCOKIixmUyx2F9je2cZdd92F06dPEzBcW9L47XfR6/cRxxGKghjGi8UCaZqgP+ijL+fK
AvP5HAejA+zu7uBgPEZZFFBKIU87yNIsaA0naYLaVhgdjHD69GnMJhNYS8HnyNuD5oTplKQg5vM5
JuMJxuMxPI+TSilkWQdp1kEn7yHvDWBMHAxYYgxZNn/ed8loDa9cozjFxhx4QEKYaLbBtOdq7UmS
IFIKThl+r6E94LVeeu+UupfH1es1R+XOfN6geW+xcl4fXcfNmti35q4LS2fiWCxJKXiEWMNeEdOs
/f64I3C4nKv17vXR9drYXXlvqFaPfJ9QGysrbc9LdVnd0pDD6zgFw+Wn1X/jIcbDK7QGKgt4HWxn
rHCl4J3iuBAXL7361a/Gb/3WbwEAPve5z+Hzn/88AGKcfuITn8Bb3vIWvOIVrwAAfOtb38KNN96I
t73tbUde69Of/jQe85jHhPePecxjcNNNN+HTn/40brnlFvzqr/5qAIwXiwXe//73AwCuvfZavPa1
r8XHPvYxPP/5z8fHP/5xnDp1Ct/3fd8XGMeveMUr8KpXvQoA8N3vfhd/8Ad/gFtvvRXPfe5z8c53
vhO33347nv/85wNAYHhK8t7j3e9+Nx7zmMfgEY94BH76p38aN954Iz75yU/i5S9/efjeL/zCL4Sy
fe5zn8PNN998bL0JqAkA3/jGN/COd7wDw+EQ11xzDZxzZy3Py172Mrz73e8GAOzv759T/l71qlfh
rW99KwDgM5/5DG699Vb85V/+JYZDmid+8Rd/Ebfccgue+tSnLuX1U5/6FL72ta/hDW94Q5Ch2NnZ
wUc/+lEAwG233YaDgwP8yI/8CH7iJ34Cz33uc/HEJz4Rw+Fw6Tr7+/sYjUbh/RVXXBHWFO307//+
73j84x8f3j/jGc/A3//93x9bl6vpbM/huPNnakeX0oWnBwzgK4ws397Eedn4m2bgl02lbjF9GTCi
3/Ei2hKr13rb2uQ1+oO0uCdwloKpRLww5lnKqwYwFt1fbxk8dmFxJPkgV+WIAF92jQ4uu55Vbz1L
OoRAdACcBJlpNhqyoJLrEtDUArpas3SbsQUn9dcGyxoQFvBo9BSZNR0Y03J/+Q9LqwHnHGrnYb2D
TiKknQy9fh+9fh9RnIB0icMumu9Imw7HgLerOUCbtSzxUIQATDAq5PdSuvC0hOUATZsP4IsOkiXi
Ct/6Mq+YWn1FgdzVBWDhvqCY6SRsKoT7amjNAAu3CDFEtJem4hpITEfetGo0AZVCO15FnQSQw9Ir
QJhKQZkIJo55M++gKoo2nihFZTcGlSNX8rKyITiPgJMi42AZkKDFrcaSLxxBoQEgFCDbOarDEDS9
gdDu1VNtIAeBgFfGgNYjlLOr4MShxGwFiNapc6jKEmVRoiyIjaZZ4iUyGjoidkSWREgjA6VcCMAI
Z4kBoUW73DcsTn615Xd4OIcwfoNRSsYubmtW9FcVSU7ESULuwVCoqxplVWE2KzCdFpjNFiiKCsoA
2hsop2AShPHaOwevWRHZUxu0tSU3aU8yFG0DV1NPMr+INEXzJOi0b44KaGvXybVEUsgYRcYEYbBq
ClqUJAk6eQdlVeFgdICiKBj80qytqWDrEoN+F5sb61gfDtDvdmGMxmQ8wmh/D6dP34PIUNA3rQ0m
kwmmsznJOHiwe3Mjr7FUxCNaisylx20qw1wlxiMeLxrjI7mfCwOTAifZUI8StK+ZX5fR1barJQHe
jQ6wzMO2bVz0vnVtF0pkrUjQ8Px9BEBMyUFJwJmQXxfqpr1+aOoNR3TtVbCbjEmTyRiAJ73RgwPQ
+EeAal1RO7UsGeWdIyMpSz9ppWBY47nTyWEig0gbZFkGrRVLQQhrl+QRslQAMsWgcon5nMDeWqI3
t54FvOgxGzjbZgDrlqGYwFzDoGwcE3hZzOeAUqjKEkADuIW1l/aB+S2AO/UBF4whALFRRQaEM9is
wayDhmpJejHoGxkkPoZ2BHYqD9Qghi8MsRLhfZDzIn1jWuvVHLwODPgqrZvYhGgMV02bVMEEpyAG
89BZIHIE6+tDnNhYRxRpeG/hLQUVMyyjJO1a+iWUw8HBAUYHYyyKEklKQcOcc1jMFywhoylQrwM8
IyKKpXNk6NFawbKWuBhz6Hkwa057dJIIeZag1+tgOOwR4JumiCMNEynSQ7U1fFUhSTjIIGtFZ2nE
7OAUeZYgSxPAe8yKAsViAXjSwM3SFGL4UyBm73A44L5sUBYF5os5ynIO72kt3slSdLIMdV1hPp+h
qgiMHQyYCZ/EsHWNoigxX5BRbDIeY8qg63y+oGBnDOAOBgNsntjEiRMnMBgMoLTCZDLB+OAA4/EE
gEeapsRmHQ7hnMdsNsPe3i5On74H0+kUSZLixOYJPOjkSayvb6DbzaG1xmw2w3Q6R1kWMFGEwbCP
9Q0ClZ232B9NsLOzgzvuIM3e8XgMpYD1tXWsb6yjk9N1iMFOwTXzvIP+oI8es3TH4zGKosDo4AB7
u7vENAaQJgm6XZJo6fV6MMagWCww2t/HeDzG7u4ORvv7AEB62GlK3ykKTGczzOcLmvc9gm78fL5g
CSGPfoeu3e0NoFSEeVHAOgejozAP31ug8VxTpMl4I9sSpdiOpJr3Ya8k2w8hjygNo44GIgWw9LYB
iy/kGKRj/DHHY+7fPq7+bhUwBbCCZqqV4+r51vFeJuZhHZ9/nPmo9fHl1CvXkXrVGljCUhWtov15
Hlcrw4OW7q5dN7JWb+0lnAYD8PwerTU1eK7SikMAX7w0GAzC38PhMIClX/jCFwBgCSSUNB6PgyGr
nR73uMfhjW9846Frf/3rXweAJW3bPM/D3ydPnsQ111yDj33sY9jb28PnPvc5vOIVr1jq722d2yc+
8YkACIB++MMfftYyrq2tYWNjA695zWvw5S9/GaMReTWsAsPr6+tLeZ9Op8decxXU3Nrawnvf+15s
bW0BwFnLc/nll593/sR4Jr+R4MkAwnE8Hh/K69e+9rWQJ0ltMPfqq6/G05/+dLz5zW/GRz/6UTzn
Oc/Bddddh4c97GFL1/m93/u9JbD/29/+9pGB4a6++uolVu75Bo8723M47vy5tKNL6fzTAwbwtc6G
zVMDVC5vmo76WykEsMD7VrAycRsP7JQWkKo1tGp0dg0zewNo5BsGiujtik7vks4oz1IBQGXpBaUN
fc4wTZtlKcBBAA84kj1NdA3TSvN15TrHzd5ByoE3poe4fz7AEgxqc37FHRaNO3+z4RYGVIMeiYuc
UwqdOEav20Ov30fa6cDxHsl7BGCvybEPwVmI3cuMY3YrhWMZj5VN+CpAeCk16TjpA3pkDei+Wn8C
4PoAxbaZt/ygHbuKeg8vcgkBVSU2TgDr0CzU6IsMbnCzIY1Oy22TfqTZ0AC2mlNgLY65fKb1U1j0
yyqaF2MecF7Bew3nuS1rIIoz1BXpJdaOBkoK1gXUDATXrNcbtE2dGGNYxsErUK9ioJcFzojx65la
YsgQJDCsaonSKGJPy8L9jO25bbhZAZSO7AktI9bhUwJAogWmtKqS/w//GMRyDErWVQlva2gv4c3I
NTCJIqSRRmw0FCzqqgKshfKOdN3YvVn6swcbzMTAJWMbM++01jC+YSaCAwRxKQgQchZJpFnDlure
QaQQPIqqxnRe0KZ/VqKuPTQieFURAGMUa5xysCkoaEMabFrqkZ89jY0GWjvOhhcsn8bWFvDUnqeo
OVIwTmkmDQbpmzlDnllrDmi71ddVjbKoUFU1Pz82qICYjJ20g+Ggj/W1ITbWBuh1uygWc+wWc+zv
7qLfpWA8ebeHnd09FAWxRb1nSRPnyRjjBYh3PA81HjUiMaGdhvamNQ8st0GZo0SX2AgI4NuAr4JS
q3I9bUbtcrtX4J04BFhkTwQG7ciASo3agoK8aSdSHDzmeA9vbegxHuBn34DKoo8f+tcZFqFKK2iv
m9+FvnX4NxQcDq0BkccoR3IJ29sUTM8z+BhFBoki7yIBo6XeojgmUJLbmIC7eZ4HAEfWG54NF3VV
B8O5yKCIYYEMG1XwZoh40+Y9gaSGdc7FEGgqTRrZHAi3PdYoRQEL41jkrxSxcL3ngG3ElHXOwcKH
fCKMERpKW8A6wDooQ8/UOcvBxGL2umLWqnOs+Vs1gSCxPPZprWFAayrLATWNNtBRhDgiBqqtSE4q
iWNiDnoXtISp7NSmnSct9xCYt/U8l7yhQjuQNaMFYJGmMQXQSqLW2AY0gfY0M5Wbsc57j8mUDDTW
KqQZBaQrixLz2QLOeh6bGumsZp3ImplKQGipEwUJnhcZDWMADRcCrPW6Oda6HQ62liBm3Uuw3Jiq
ST6GAr2RnqUxBpEGFGuHe0truLIoKDaDNjCKAWgG40l2BAjam0oA+AoKKXkwMBAsa23Svc6WJRjm
c5RliWKxwGw+x2w6xXyxQFVX5HXnPbQxWF9bx+WXU+A00nk2qKsa08kE4/GEtIBtjTzPMWDZgjzP
cXAwZgC2QpwkOJFl6PcH2NraDLq+3hML31oyHHQ6HeR5jhMnTmBtOEScRDg4GOOee+7B3Xffg9Ms
sRNHETp5jv5gAK0oOFvF8Q9MLGXto9vrIYpjFGWB2WyGRbHAeDzGZDqF846lFoYY9Ckom4LCYj7H
aDQKOsKLxRyz+QxGG2RpijzvwHuP6XSCqqoRJwRyG22CLn5dW4hBO4oiLOYLLBYVSR4VJbq9PobD
IXtAcgu8HzbvkaYAuwYKSjfBCOXWBmgkk1rGyWbePh4jhWdA8qjz53o85vrg66t7eQRaACou4OgB
r9yx58WgddR5egDgusWxgPUZGb4cHTnU97nUq2/dH+wxAwJYz+uoPLRvHwHlmou3YWEPABpQEr/T
s2GhZf+TbZCFgnIe7n4Cr6RNv+lNb8LTn/70pXNt4LGdRB92NQkL9EzByV74whfiV37lV/C7v/u7
sNbi2muvPfa7JRt4j9uTrqbbb78dP/ZjP4YnP/nJ+PM//3NsbW3hyU9+8jn99rgkoKZSCpdffjmu
vvrqIIVzvuW50Pyda/ml3uM4Pvb83/3d3+FDH/oQPvKRj+Bd73oX3vGOd+DDH/7wEkj80pe+FE95
ylPC+1UGsKStra0zlve+TOdT75fSuaUHDOBLrEElKwnQpk9DBXar4o10O3J2C+AVvIrRpjarF+DF
MQxvyM3SS6Jxtjc2DVDRcjdt647KhjeAGIZkJkR+obURANBs9OndEpvJMytFADFxeWs2uGGGCvdu
l02AqvZMTcB2A3JTXmlzJgDvUe65gWntmtzCs2uld1AmQppl6PZ7yLs5ojhC6SwBHhBwKqAdvKG3
8I7YvRLciDbhFSCgY2u8bF3hUrqAJAs9qGaxIAza5W/JApn7DKjdg5lXzqoA3qnWbzT3UWnmtGjk
b0jfEwBVAn14NP3bAMbr0E+PMFMcLpFvvxPWlWYjD79ElEIBxsQMclkGXokZVlsHzYCv9QIYg4Ff
CRYFCNTpAXilG4YvM2KpQHQ/AiC57GA18uUsn9szC2PL8rnj2JfNSvW4pI79glxT8zjrAcA52Ip0
ycNCHuDIAgAAIABJREFUmxe+idHopDFv9pnZG1i9mly9AQZFaRMmEZCD8Y0fjwDDWmtoL+O1gydf
O6pHccNWikCbxMDEOiyy69pitigwmc4xnkwxnRUoSkugPweKAuxyMEzr4EAbW6VVs4JveZRoRWBV
bf2humrPK0q1xygZmD0C1S48pNazknF39VkoApOLssR8RhHaRX+UNAsVksig38uxNuhjOOyh18sR
GYWDxQyTyRhVVeDyyx6CU5c/GEob3HX3NssnaMBrlGWFqqwBENuzrogRKjrbAkoTyA5Y7WC0g9MW
SpmlPDcyCxQcxUggUegAEIurOgHMrZpc2ZAjzEOaxysEo6RhoLBxrW+q1RvAOAvnhB1OJ7yAubxz
FHa19G2IoRXAUaBtO3ONQZnY70Eap724V605z/vQj9syGiKZMB5PWEtVZAtoDGwD5fAeSmvSEAx6
mQZxnCCJY9bhRWOIrsmQUdUVqoqC/METKFUsFqgqAhZFH7koS9aRbRjU3vsGQNYmBBOLOYAtrbNk
/aMCkNfoULswflrLfCgBPrywYpnxawy0ttC1paPh6Oj8e2PIDT+K4hCgFqD1obU1jItpDObn4Fqy
VXI/qUut2VAURcHoo5Ui3Vilgt63GIJkHRjY4EEHXJalhw0WvhXI1jkPoxzyvIPBsB90iNtjcHvN
6DiIJBRg6xrT6RRVWSKKDLIsBbzHfL7AZDxBWZRQUQptuE3BwVly+5YhxysFDQ2j6T6ib0yBJQ3p
XiqHbidFr5Og30nQTWN0sxidLEEaG2a7aShvoH2CNIkYFJP7esCRYapYUOBKzQ/bcFsVA4aBh+JA
fOLF4dlKa7Tiz1l6g3WOF4sKWhOQ0evmyLs5Fos55osFptNJCN5ZlSXqEICZ+nUUR+j3+jh1+Slc
ccVDcWLzBIrFAtPpFJPJFLPZFEVBbNo0JQbwcG0NnU4H3nmUZYm6rhFFEdb480G/j8FwiCxNqU0z
SB9H1BfjOMFw2MdwOEAURyiKAgcHI+zv72MyGcM5izzvkCxFksJ7j6IsglZ3HMfoJAl6DKh2Oh14
UF6mkykD3AUAoNvtYmNjA2vDIZI4QVEUmC2mmM1mGI8nFKS2KoPRSDOIbozBfL5goNuj2yN5B+lb
SZKgqmtY71FVxGYr6xHKyqEsa1pXKQoCqlVL4uV8FjgXmCKjmJHbjMci7wA0S1oVxmFek3owwEdH
eU8SAs17khpYPn8+R+WICXro/L28rhyBCwNaA9B71u/5M59XKrzHeR5pPUjyRuda3vbzaNZVNKcq
Pmoe87RSgGs+P+sRvITnNtNuHzSyqTBvCRNYa5F8aJaLmtdy90PzBwA89rGPBQB85zvfwdOe9jQA
wC4z/iVQ6rmmRzziEQAoMNiznvUsADjE2rz22mtxww034J3vfCe2trbCPSW1v//Zz34WAPA93/M9
AKi9tOfN1fTZz34Ws9kMP//zP4+nPvWpmEwm5wyWHpfOBmqerTz3df7aSer/S1/6UgBwi6II5//l
X/4Ff/3Xf43Xvva1eNGLXoTvfOc7eNSjHoW/+qu/WgJ8H/WoR+FRj3rUBeej1+sBoGCAko5iJN+b
dD71fimdW3rAAL5eLG/MJNJGWLgNGNussxmU9LKxFKCBUZbARpLZBwQcyIJBGENKtCMJpvFeMdOv
CUAli1QhengvLsvCcGpF/9RLKEDrtwKktUCEJbBVcf4aprCwopbgz7DhZfA4MBIlnwi/UZoW/xLo
zgQJB67H9qalDUoHRrNvZU/RphkU7CTLO8i7XaRZxptrqfPG7VNQDuU9YEnn07MUgHcWtq7g6poZ
TC2w63wazaV0KK0Q8RiTbPqAtLUGdmI7t/Itg4aHMJZ867m0LyObBaXALnRKeuWSsYUYbgxkQAUr
ulOAuE+L9ICAxYfK5JdyAWktBEdrOBCYu8QtF41v/pmHhnUelSU9OGsZWARpwdYMVrh2XiAMXdrw
eAa2HdejVySJ4T2Wyt605pVyyDM5x2e5/LvWOHBBVzmc6Fm2ruPEFd5DFLk1KIBFEhlkSQy4GnVd
oS4KQHnEaUIMMqVRVwSUKE3vGfoKRi7I4pvrzxgNh/YYJncmd29aoBuYOIZJIqhIofY1lAVmRYXR
ZIbdgzFGkzlm8xq11YCJlgFyj6X2SJ85eKegxLjhKIikVoaBVpHsaGq5YfLJqWXwtnni7KYu7z1C
DYSxPWiyN4lc7imQUGQMYhMHwDeKFLI0xtqgh+Gwh36viySJMJ/NsLu7g/H4AEmSYnNzC8PhGuZF
BetA3ismBlRJOpFlDSiNqiL38rq2HKDQNZrVVhihNeoj56Km3Yg2bcQyKYBm4Lhdc+3W1tSlML2P
Wktr1einEmChIa7pQAOMWq3ZaCtMTGnGPoC9ouXvjjAAH2r/7dyqtsGVd368kVl+7jye8gZQeRlX
lsdBKx5CngDCOI4bGYxQpubekeHAaym5uWfM6q2rGkWxQFkQ8CXlDGsV5+GVh61JUxVAAJec9xQk
1TXjXLu8Ivfk+XtaSzm5BbO8v2IfWGvJgNBe5ywHiLUILPZIi6QvA70WxloYZmaWVQ1X18RkThJE
SYKEZSM0ryestXCe2FpSZyRlQS/nFRnxiDgMFUeIGPByNQHhURRBG5JKqCyBjM650O9JXqMiWQ3O
u2+1WaXaMkjL86h3FjDAoN/D5sYGAebcfKCaOtY8LznnELG0RFVXmE4nsK5Ap2OQdynY22w2xcFo
hGI+h0kVoCOO+wCQX4ltTcqKjQUc1I6DHsUG9IoU4ihCnkbIsxid1CCNFBKjkMUk1eO8hVYGkYoQ
i1GMDVkUD8OhqsvQ/ozWSOIYSZwgSmJELMVhWTolSQjE18bA1j4EOgaAiFncFDCQpDWKYoFOp0Ov
vAPnLCbTCQ4ODjCbTUl+idcDURShruvgndHtdvHgBz8YVzzkITixeYKBzjn290c4ODhAURakpd3J
sbY2xMbGBvI8h/PErp7P53DOUUC5bpfzkSFOkjBOaA4WqDPSJ+50OoGFXBQLTCZT7O/vY7FYwBiN
wWCAJEmovVUVZgyWaK2I2Zt3MBwMsL6+xlI8GkVRoCorzBdzeEeGi26eo9fr4cTGCdIaLgqMRqMA
CltmRcuexLN0iTbE4iXmL8lPRNyvREpHjD7FYoHRwYTY0/MCZUXeV51OF2vVOu2NTDNWnc1MfzFS
xFrP7b2FZjRSmOymlQ8yoNBaUyQttfJQXoWjb50XtvDq+vZcj9Svl69/MY/wCk57aHf0UVkcwWRt
GK0BeL7AY1hO4wKOIAkZ2WMo5dnD7/jyaqgg9dBcpcXYBRnKjGLGrmp9ftajg/Y6AOkKnvfJjAAo
D+UaJjCRFvg5B2AYXB6P42HNi5ue8pSn4FnPehb+5E/+BHVd45GPfCT+7M/+DKdOnQrar6vp9ttv
x9vf/valz77/+78fT3va03D11Vfjd37nd4JHwI033rj0vcsuuwzXXHMNPvnJT+IFL3jBITbwH/3R
HyFJEpRlife///14xjOeEeQcTp06hfF4jDe+8Y34mZ/5GZw8eXLpt4985COhlMJv//Zv4zvf+Q4+
+MEP8lq0vrfVdGw6W3nuz/xdc801ePSjH423vOUtiOMYd911Fz70oQ+F88PhEO95z3vwla98Bddf
f33QcW5LVlyMdMUVV2Brawvve9/70Ol08IUvfAGf+cxnjmUKX0g6n3q/lM4tPWAAX9rQSZAdcftr
GLNtsJf2c232rTA9aIJsb04hwVQUgV86bGxkIQGAWWme/gzXk80U7cskpJUPs1oTkdy08ijgrlyP
o4633EEJLGhpl0I2rqZV7hXXVwjbqL2RFGDaBoaWuGQCisAS3hSL63bQnFMqbNDaG+PGtbRh2CnW
etVGI05jpHkHcZpAGU0bWa6TwBRUvBVSGlCW9Xstg74Orq5RV8Q0aurEM9CC8P5SuvfJ+9YizIP7
AyDgZNiPStMOdESEAIJiHW+C/HH0dQE+FOussdFGaUVdqwXueXDbtY12qcia6CWwhn4obrsrpTmi
fNRXrW+CbAUZhdDuyVBjnYdyCMCt9wQ4We9RW09uvEDY+AfILzB8TRiTHHxzn6Mxo4ucVOuolj+7
AAu0gF1eDDJ8HaM8am8BWwPewUQxYqMRRwbaUyCduixhbYWYAZU4MkDQ6/UwPJ7JE2kAQHXo/sIQ
9AyGCejvADJSRRrKRPAqgoWHdwplWeBgMsfeeIaDWYFF5WChoXQMbWKQjjqxsQW4E0aquDlrMGDi
LRQsb0Ya3T2EftCAkwGo5e8004xv+pcYSwTlOYdEALcwJGtiyXFEaq094kghz2Ksrw0wHPQpEJS1
OBhRkKeqqjAYDqFNhKp2qCqHKM5QVRZKWwZ+RbZIwFNNgUcEl/bkCm9b7Ayta1SVRmSAJc8VrVuG
OpF1iBhoaDfHZq5tz2VSn8QARjCgyrlGLkIvBc6SfILnpbaxNbB8wZvVVZC/de922zsK8OU7Hdmt
AvAjdaEOn2v/sG3EkqYic7e1Fqoi9nDNQJj3jgFVDa0sXOwQMUgDT+BtWZAWb1WW4dqkfUvavQIo
Ergr7N469HfS6+U+7xwH2awbANyTRnLt0QR11QxuMsBBYC5LqwTgt2H5uqX1DrUfY2QN1Txj46Xt
E0gtY43RmgweMse013hK6pE9j6oKlQC+YM8M3zwjyZdWGmkcIU4TzOekN+ssGZbIIE5B3Gx4FkeP
qzI8CCAsn5EMicLGxgZOnrwMSZJAo4J3zbrTtJjRVCf0t3Ok4TudzuC8R2QMinKB6bTGZHoA76lk
Chae3Y69U/BWUVAhTe+VVkgT0sNN4+j/svfusbZdZdn4My7zsm77dnZPaRUSqSigILcgWC4xii1C
K6BEYgBTpNzRcBMssQQTITUSCIEaCqGJgGmoRi5SAigSi3IxgEJoP+Arwo+2p+257b3XXpd5GWP8
/njfd4y51tn7nNPTU5B+HSfrzL3WmmvOMcd9PO/zPi8B2fCwhgxHxiiUhSHQt7AwysGgRWaAQT9n
sgOt1Wg8bymavdLMIm9Y0qCBVkCWJR1n7xwaBtACz+MEdNbwVaDfiV5+EMk0MkxU8xlC8MjzHINB
H945Bk5nqOo52rbh8qVgcCEEVFWFuqqi1u/mgU2cf/7PYDAYYsbB3I4ePYbJZALvHbIsw6A/wOra
KtbX1tHr9dE6h9l0hp2dHdR1jSyzGA6HJIWRZaSvnmULgL8xBkVBQd7yPEcIHsePb2F3dxfT6QTe
B5S9EkWZI3jKJwWgq9A6YhDnBUk4HNjcwObmJgbDIZRSmEwnmM6maFuSnMiznMsrIMsyBJDO8Pb2
NgXtCUBZlsjyDHVVMQOa+pp3HtV8jjsmE9KA1hZFnsM7h+l0Go9bx7dxx5134tjxLUxnM0AZREd6
XuvQMkjiP/A6/cewRFfBA0rkgXjIDR5K0XqExvNkxKOBwcPAwAcPo/T+gKYAiffgaLQihu9e1z8L
R8iaRO99hGbAdL8j+PwzPLrouYkzOhqZLwV4DVTuAtguP6/pvF+YWwMWtH815w9Y/Px0jwBIro0Z
2uB2pDTtgYgJHNAGRBaNYkOy4QlgH1vxvZI+9KEP4Y1vfCM+9rGPoa5rPOlJT8I73vGOfc+/5ZZb
cOWVVy589sY3vhEXXnghPvzhD+OlL30p3v/+9+Mxj3kMfvM3fxOf+9znFgC5Zz3rWbjxxhvxrGc9
64RrX3zxxbjxxhvxrW99C0984hNxzTXXxO/+5E/+BF/5yldwzTXX4OKLLz4B8H3kIx+Jd73rXbjq
qqvwV3/1V3jBC16A48eP44c//OGZFs1ppZM9z9nI3+mygJVS+PCHP4zLL78cb3jDG/CYxzwGz3zm
M/GJT3wCAPArv/Ir+Lu/+zv8xV/8BV7ykpfg3HPPxZvf/OaFgHFnI2VZhmuuuSYycH/jN34DT3va
0yJj+2yl0y33+9PppfsQ4GvjhlI2kbLB1joF9IqAQIdJIps72gfyhlbYu3JNJfehY+qgjq8pGzEw
YzgBkapzjXhNLILHtJmi8+V3iXnDwKq4tnPelAC/WkXAF4rYkgKSdRlElLrsZmYhe2H3yjVVdNFM
5bgEpnaB4w7Y6zgqeHwW3pgFTdpeZa+PwXCEvCyhjUkbMNmwxyKg/CkGgpwjBk9wBPY2VR2jjy/h
JiewVH860r2R6ZNNIov3C0t/MOEaEYza6+ohRH0wuuIenA0Gr7pti4AxbvMLdU9W/GTISP3EcX9a
NFhIv01283hOpx+dLIlQSgSPlVyH+0x0/xWtX3CgNQNoh6BMBIMdjyHQXbCXwWGwDjfLOiif2F/L
zyEyKstJSiSOQfs+U/pFvO8+51GWO8vszph38nJLY0hXskAC9AXvgOBhNcs4BIemdmjrGiE4ZJY2
jxmzihwcY4EE0pFkAm2rTrh3BEs6IFm37hls94oW4y4oNAz2tI3DZDLH1niG8aTCvHJoPdWn0RmM
zaGMBQlWag6QRAxUEz07AAQP5UlqRgVi+GVWo3UctKiTYn0yMLkA9HBRh2gIDIu9SKUxfN+66Bjw
lE7zjNEKRW7QLwsMh32srY5QFrRh393ZwdGjR1BXNWyWo+z1UNUN5lWDAI1efwjM5qjqBloTwJDn
BbLMcjCowCAtBxplwCsaATrtw3vPXUF1nlsRO9h4GO+gA7n+a8OtvOPxIdeSOVF+r6UusNgOBAxc
nPcW24/0Na1priN2eCpPYeN6APDkBxBjAuhF0He5ruM9OhJOgb8TIxlX7YnA8T44v1IUdC2zFnlG
QfqsJUBOfihMWRVId7gFYqClpq6hgBhQsW2JdUJGXgIaiRksEgwhyjuQUcbCZpZ0otkt3vnorEqA
M9ezyBlQkENhpbMclO60dxl3PQfo9KKh20X9k8FFxfUcy77wXBIcifFYreN4EgJ5ASH4xTVbXG6o
hc8pD1pyFctAno9YvAZZWaI/HMJ7j+mEyll1DBMkT+Gj7IfUc/w7pPE5rVvIO0FrwBhiY46GI9pA
u5bXZprZ6hZCHhBGtfceVVXhyJEjOHZ8jFlFXmjOtajbCt63KMsMeS+DzS0Fo8oMjKV6t4bGLGs1
ekWOtZUVrK4MMeiXKDILOAejA4G+mUaeGxS5QZ4ZGA30igxlRtq8rXdwbY22aRCCZ7kFkYGpubxC
NCxkNqPnDAGta2GCX5DhqKoqBh70bQdEZ91w71w0XAjYm2UZ5tUc8/kMTVPDZgYFByAksJn0qpu2
BZTCcDjEysoKzjnnHBRFzgHVdnH8+BZmsxlIwqFAvz/AcDhEr9eD0grTKQV7m86mqOYVS4pYBsYN
irJAWRQM6lJ7tSxRYS2xxKfTGSaTMXZ3J6gqChqntUbrHOq6wnw2R9u2cU2esSzLysoKDh48iAOb
B6J77WQ6RVVRAME8z5HlGTKbkRQLu/02dcNGH3qfZRmXjfSbgLquUFVVIm6EgF7Zw6A/RFGW8MGz
5MQutre2ceTIEezuTlC3LRkHrSWZKx5TJdCgzO9K7zHA3UvJxG1L2icY9sBRRkUja1fmQfH3BtQn
taxD9ziGQPrAUGd2VAqwJ7n+2TieVFLiZN+DjGYeOPOjEB8Wl2mndSQd9dRWNIspyJF0mRefVyks
KM9R/bJrSfcI8L50n++7R1qKdD5PWQ06gSiON0Oq40FiwaC30hx/RsHDIWgFtcfa9mTp6quvxtVX
X33C5w9/+MMxnU4XPhMAUNKBAwfwgQ984LTucyrX/F6vh3/+53+OchAXXXQRVldXFwJwfec738H6
+jqe+tSnnvD7hz3sYbjuuuv2vPYjHvEIfOtb31r4bPnZLr/8clx++eXx/dve9rb49+mURTedrgzB
Xs/zi7/4iyfc61T52+s3n/nMZxbeP/vZz144Z/n8hz/84fj3f//3ffN6ySWX7Km/fHfTqcrmoosu
wkUXXbTnd6eqh9Otp5O1o/vT3U/3IcC3w2oVtzdmd0QJg+AjYzZuShhUZbgpbegkOBQhVQidYECy
WVFAZLKS5mgCfWWBh841l2UbyAqpOhhv2iQI0CsbZmJO8LPKNTkitoASixIOKgaAWXIcjODSIsjE
12VNNMN6fAT4JqCCd0vxauDy9fISTbRYL0nU32YZev0+BsMB8oLc3KL9l8s5gh4ijsoBZVzTwLsW
vmnR1KTB5pwjK7TkXe4Z/reDvsuZu7cyG1cqJ73f4tY0xA8DWEaBUM4FzKl75fR5WDgs360LbsRX
PF3A3sQiXwCIwH1K7hRBmySDgG4+Fiym3S12OnaxlehCLdcRcJapxoEBpMg6ZcYuIIAuYr/v3o7t
/ulOijYUSvsEDnVyqTrnnSx1gbW9UszGcqV13sRzFqjGp9kWuX0gdEsRZIAJntkzAVZL1HbatAff
khtvbjkgjo5jEQXDVAsBvKC67UzGIZ/Y4512IuXveTTwIENB4wN061D5FvPZFLvjKXYmM0xmNeo2
ICgLzexeYzPAGAQSfEfyEFmcUxTPJQoeRgN5ZlDkGZpW6jUslHkEfbvVwcNe/Dg2nsXfyp+xJ+xV
RdwWBJDWKiCzGv1egZXVITbW17C6tgJrLXbHY9x1+DCOHj0KKIVe2YPWFCzI5j2U5RBl2UPbEoCh
jUWmKNCWtYbACueja68xEnyL9De9dwtzEcNnsc8GRdJHzjmoto3AlYIiBpjMu1CdOVDmVR/7u1bU
DxeBVxmnqA4WjaiLBgGqAwpGtQz4dos4QGQWwMZPQMBkvQT4dsH8sDAY7JfUwl8h/bd4FgM+eZaj
KAoURU7grEIMSia5BY/ZzrWoKgJP550AZp4Diin+rUjjKF4zOPik46l1BIXyIo96oOIKL821aZtU
Bj4wsJfWQSo14PSsSMDvgqfVAku8K33V2X1zvdL8RM9irUGeZYAC2qZBXVcx6Fxsjft0n+5kkNj1
NKAocEC4zKLMc4yGxABVUAR6KyTAN3qKLdfuiX+TIVSMNdS2hoMB1tfWsDIaQfP6iDxiDILNItOe
xiNAaY2mrnHs+BZ2p1MoY7GyuobV1VXYLIedNyh6GUplYXIK5BeUYaawgrEauaGyLXKLQb/ExvoK
DqyvYjQckExDU0OBAN88tzAaUMox81dj0C/RK3JYRcH3mrpC29SAAkxRAGyAEI8sozUsS5IY9iYT
Vjd0ACzVk3MkYyCSJkraKAgMjrXF0hZlWaDXKwGQBvV8Pof3DkWRR9AVmMG1sygZURYlhqMRDmwc
wObmJrQ2mE7GGI/HqOoK1hIbdzDooyx7KIoCWmvUdY35bIYpg6xdw5PWmsDn/oBYtjkZyKgPW+Q5
BaGb7E4wHo9x/PgxzOcJ7NVaYTqbYjweY7yzA2MMBoMhRqMRB3nrYWNjgwK9ra0CUJjP5wQONw20
0rC5RVlQWYTgI5grgR0JiE3yDGJEbdsWVVVhPq9ozW4tP/8Q/X4fUBo7O2McOXIEW8e3KNjbzg6C
0shyGpu0sXABMEEBxsYgkRLcUy0PBvdisor6iNSNUmpBtzdChwFQHVHhvQyF3dSZbs5qOsmS7owT
+7zufWSjmcI+TN0ACZ2w51EMaHu94v72zDPOae9CWfTc3ecSKv1+zzo97eXuiXlQUEQW42tIpAI5
13P+dFA8ZZEHk1N0TPuLn6703Oc+F6PRCJdccgm+/e1v48Ybb8SrXvUqAATQve9978MHP/hBvPzl
L7/bGsH/29J97Xl+WtL95X7vpPtMKSb2h+jOdrYUQZiyzBR1Kdp2Ag6SXq0AqUYbgNnBAZ4CAXnS
lWWokxmyIUou0B4vgTyKddGSe6lmd3SRg4j/8Z/8tw/wocOUieAW6LqsTyzAdGLhLs5gUU9S7sMR
qAm0kIldxTI0vIk1untd1VmJqFi2CyxEQVsEvFHpuYXhnFmLfp/01YyxtK1iMFx2YyHmFVCB3CNd
Ta58wTm0bY2mruJGQACYuIP8X5z2XkR2y/Asrh5Vqq/FgllcqS4UWdf4AHQAfvk6LeeiMSPukhNs
uQABqu5vF/9egDp4Jx5BX62hfYCYYhYyKsCRGC3udrGlcSHuzZnBLqCc0grKk2wDfU2MT2jW4mVg
kV5AYvECSxw+8JAQET5jFLzvgkJ856j9uvRA8ohnqXlQfrpLc6R8xmfpFnnnXA5wt3C9sOg1oIDE
GFQg8NeDgrRpjSwzHFjJRtAJgcEdDvoUzWrdHZCi1uUCy2ec0N+T/IPUh4dCGwJC41DNJtjZOo75
vMJsWmFWt2i9graGpCdsDm0tgqbgbj4OaYugHIGXHvAOVisocYEucszr9oRqkj5CQKwYOnwCe5U8
pxKsDgn+7yBUnc3qXknJuA1ique5xWDQw+YBchFfGY0wn8+xtbWF2269HTvb2zjn4EH0BwPMZjWO
b22jKIcoyxEHvSIAXBh43bmGpIhYg9cS2CvSAc6pyJw1HYmgxQYo7E4KGBag4D2QZUDQIc7D5Bae
AF0yJiY0LenKL5aMgIeAX/g+gbCiC8g11Pm9954Y3jy3eHiEYCJYoSN4r5J7Mk6Uf1jMD074XtjY
J008QMlcpzUHYstyWJOYkE1dc0PiZ5G1g3OoRW8K4EB2ZFgBG1voBhQItVUqBuMzxhBTMMvQ6/co
WBlUjKwd5ZxCiN49ch8BjEUfcxEEB7qyHiG2hWTkpt+wtJRKkioJsPexTMTwk1mDPM8A71FVNQF+
EkBSWMJ0ZV7zSDtY6GIk17JgCKe8KQRkmUVZlnEDQp/LulM8sRJLv2OGTvWODoAgzxtIUuPgwXPw
M+efhwMHNiDBTLXSUIaOlqVPqC8S220+r3Ho0J3IsgIX/NzPQmmL9fVNzOYNlLKkUexlftJQxpBb
uQKsAYoiQ55Z9Hs5RoM+VlcGWFkZYNjvITNAo0mjXABfaxRIA8KhV+YY9XsUlCwEzFwL39bwriVQ
maU8pN4Ue3rlEmU8IMpAuNYBhr3XNIPHIgHhHQcqNICntqo1MdKtsShyS0YQa1gvMZW/SMZQ+0+0
CLwXAAAgAElEQVSyNJnNUZYlNjZIFmF1dRXT6QxQBHSurKwQIDwkPd6maRGCjyzZ3d3dThC3HICK
8TCM0SjLEv3+gD0iZByicbGua9R1jdmMWMJ1lFeh1rGzvYPjx49jPN5Br9cjeQ+t0e/3sbGxjrW1
NZRlAQWF+bzCdEIsfoQAzWVijaW+6kOU/jCW0PQsy9A2xB4Xdv7uLgHdk8kEIXhkWY7+YICV0QjW
ZAghYHe8gzvuuBOHDh3C7u4uvPMw1qIse7BZDsXgsdYWOsuRl30URQmlSWfa+gxG2864ee8mGiM7
ZR/Xo+kcFYDu1kl3+mr0YgvY82iUOun3pzrCp/fkY3Bm1zn5kVZDex0lwDLPrktHQFYc+wZXO0l+
geggd2ZJyXzvOd4FoGQ9vtfpnaUSBUZLXjoiwWHYiBapHCEsvO8eUwpRt3cxe/Sgsjz0ItTbeX4o
lszhdSSVjQYM4BDw0wj4vutd78KVV16Jt771rTh48CBe//rX44orrgAA/M///A/+9m//Fk972tPw
53/+5z/hnN7zdF97np+WdH+53zvpPgP4xo2fAFkRIPUc1McRgCoas4EmOwEdY4RplUBU0ZRV4vYB
H2cU0b4l4EGiBwNp87gIeEZANoKrMoPIpge06WIASoBez1plMcJ1vG5iIQsgtgy0qeWFS0gyFnI9
zWJOwhruagqnjCHmubtxWwRjVHzJhsQYA21NBJgoYAW5JIruplLE6AqKJuROholx0DSk+VnXpAvX
tHAc3ImYLqEzu3aefWknfTbcyE5l9b9H6WxTkrurrphU57vOqfGPBNannwgbd+EK/Hen7YI2scus
tm50ZGljiy2TF41xg81gEch6rp2GZw22LjNv4VFl494BT+M3S7/Z+wqgha8yqYj42aUtaWuhjAG4
rUaxVpZ/ie0/0Pn7Qj/8WxUSi3nha6VSoDwGWAWL6rIV5Nz9Iablm6awhnGMBCJzOSHK8l1n7Iiv
1G5C/FkC4mK0c61hTEbudiEA3kMbhTzPKFCX1bBGRy00GXckgrkwQb1LWujxQUNAcDSeBxGj7JZK
BPZEYzmgbQPmdYXJeIKd8YTceWuH4BW0spDgZMZmUMYSgB8CRVkOyVU+lkWgtqYVUOQZMpOhVxbI
8hK706pT4ly/sXnwvMCVGdk1XUwoIBkDT1WjSyAabehpTDRGo9crsLq6gvW1NQwHAyAA450xjh87
jt3dXQhz0LuA6WyGeVVT8EKlyY1YK9JDNQbz2QyudaQ56FzMBYHMBPoaa4i5x0ZOayyszSDB1cTA
0p1HiNnXUl1bkgUSFqNIMQkALgHB4rMuabpKWcRAaywVQN+LXmMq57hbRfRlIMBPG6BbBzz2dNsh
aRzKfC6Tb6c+uG/TZbj3sOF0WQoiTbVL3jfSx2hyJABMNwz4ZtAqY9Yr/96L9IDM55rnR2lnin9L
8lfeezSoo8eTcw5uPosu5EVZIs+zuK4S9qpnzWAJROLZC0eMsFCUl7zIYaxBxjqmXuYHpVhTOCC0
zUKdhQiYsgJKB+Tdw8LTWUcQiGWMhmN3+KZJIBoPKREcNkbHuSB6dywMxaxfyeCw5yBW1pK8hdE6
6g2LkZzGLBmb9s+vGBdU+hDCwlxbW8Xa6ir6ZQkFz+xmE12buwxfKJIZybMC55//M/i1X3sStne2
yXCSFxjvzrC1tYPj2ztoWoe6bdG0Dq3zqCSQTAgMmioUeYZBr8RwWCLPNYwhgHtlsAprNINlAW1T
wbcUDGw0GCCzFvV8hsnuLmazKYCAsshRDvrQUOSN1bYEVhvSIQZII5rY4B5t0zJYym7TLkTpEAl6
UytFHgbMTM3zHCXLJmSZhTGKCAJtA2stBoM+By0zsX03DbXZsiiRFzlWVlawsrJCMg1ch0VREFg7
GKDIcxhjmG28TXrBVYWqIk1drRXyPEe/30fFgejq2qEoSmbH5jDGwrWOiR4kqzLeHWO8O2ajhI/j
HZTCZHcX4/EuptMptDYYjUYMSh/A6upq0uudTDCfVwyM17EfgA0wrWspYKXOYcQAw4HqqnmF4APm
bQU3aTmI2xYF0mNGca/Xw2DQR7/XR9M0uOvOw7j99ttx112HCeTOC5LmEIYw96MsL1H0+siKAtAW
UBp1U2N3sougAoqi5DZwL66nOdmltZO4/XeNrcvLZNPJlngh7gUILhzVSY5qf0mFxe/VPtIKp3H/
fY4qAF5pDsJ24tEYeY8Tj6dxffjTAUzPNAVk1iEooFVkvNe83TNcZxIITerRBGYgK9JudkpTrXeA
6EUt35MD9jSEe5jOE3X3vYHbh0gjRQDYkwayQ/JipD0FzSyyDvppTE984hPxuc99bs/vLr74Yhw5
cmTP7/aTQPjfnE72PPeney/dX+73TrrPAL6SQgRHQ1xIh+DhQsugr+8sxlXc4BltYUSLMDKEJaVN
XRCgmNnCLjJwaSuvleENVgoIE9lDISzNhmlzFwIx1ySQXDfoG9AFzlLU87RxVDFf6HwWyyMGZwuR
gRB49iFNuOS6vPjszFSJm2zZcIdYzt3Jj7AsDWgKoGaY0eyByCikTRLpqGmeJJVWZO3sgDrgTaBr
GtJ+a1uWd2iZ7es7y0WZUvdJZ2Fe/amcnCPoqxY/O820KL0g6Fy8EP0fEkRI6Iagv7y4ZhabRnLP
Ffd7XvWA2lM3z2BdSQNvPJTXUL4jgaA6C6iYh8Btv5O7sNgqAhZ/l74QKPSEEmBMl937xXuAEI3I
+GXfWoC5vuBN11LJd/qXxmJ4586JjEgtvCW4JV4jPcHJ63IBqF24YtL2DUhM5RDLV/HCNGFislil
79P9BbxMmqkAMaggcsVRWzPPM9LN48cm13kBPjUcSDMQiuRrmjagbV0Khsel4JmNGBgVUloD3jEg
3X1WMqDNqxrzyRST3Smm8xqh9dGlThubGEcL4DE/y0L7Ty8FciHPshK5JbBE8aY9YXACInLZaBUj
zktAlBP6V+w/qboWzSP7JwViHFmrUZQ5RisjrK2vYTgawliL6XSGY0ePY2d7B03VwFrDQbkcmsbB
OaoPrYmSIvnrOGDENkysW3mfjI/E3DLM/LUM8hBDWGQZuvILEdzngHMyNRsT4D3lw0cj0uK8p3ic
EGMQ0Jk/naO5WebPmEfVMf5JX0BCXfm6yQsmMNOyU85KANVUUYQbhwgoS9kExWObUmkzqRafQyp8
EfAFwLILcg6BXkkr2TkHaxNzWSlE+QMBCBUImOtyrKVMvPcss5LkFFrXRtdyiW3QNA1msymDWSSl
lLraopE9rgcUouZokZNLvfPEOlZaI89ygtkVGBDk+SMs9gvwObKW8wEL9U9rJZIQsQwkNk2N+XyG
uqnjPQCwvENHBgY8LyliXUIb+GgwkmdDrGvDBuvMmgj8Wms4aKhiwN2lNaE0sRNSJ9gp2NsrkLHm
wMY6VlZG5PbvKiitYTSNNWmdRrUZOCpTXpR4wAPOx2A4wmxeoXU0Fs6rCrPZDJPZDHXToGla1E2D
eV1jzqBl2zQk6xE8gZeWpGmUCsgM63/3e7Baw7ckiWO0RtnvocgzGE2AblNXCN6jyDNoY5DlFLCM
NGgJ7MyzPHlzBZDWqyOJEefYgNACTUN14JyLYGbdNDyH5OgP+hj0SV4ht8IWZSZgIG3xXqHQWoOm
biIQHzyB26YskVmLstdDv9+HNYZlURyyPENRFhHEBYC6rjGdknzDdDpl7WuwJBGNc3GdHRLrnEBm
D614DGs9B3mbYjKZkq5uIE1Mw4zxqppjXpFub5ZlGAyH2NjYwOrqGnr9PowxVN5NAwWFXq+Ma3ma
BykPrm1RLRgCbcyv9NPpbIad7Z0oJ6EQUJYlBsMBBoMBrDEEWFuLpmkxnc6wMx6jaVsMB0OSaeA6
0trA5jnJXvQGyMsS0AbzukVVzVE3NVrXAIq8IrMsO+157Z4kHVcxLFGDNJ6qzgJR8aJE88Kxu94X
+7uEpOoeQ0gA8V7fA4GO8vu7eQxIXj1ndFSn0BKGPPMex9O4vjIqlsPy9/c0KQSoIGHfNJQyacxG
ApeDYrl8/jsowMR9qkfgMSfOzd0j9vm8s+ZJo3WaZ+UppU15WYNIvCBFQfnAwH2M7y5bngVKxf3p
/nRm6V//9V8xHo9x6aWX/qSzckbp2muvxaMe9Sg8+tGP/kln5f+JdJ8BfNNmIyTGBi/wCfB1ccGP
uImSzZHmTb+BwqImIO2/PMiFUDZHSQu4G01aKQNocU2m61Jkc54wAuUuzk6ST/i4UXV+0V05wgsx
gFDa8EE2nAJEx8VNZyPrEUFeHxeliBt7cbkVVlZ65jRhdnaK8RClLDrsN8jmHyaWgWLtQCgJCNFg
Pq+Q9XuwAQQi82Z4YWoNgRi9roVvGwRHgK/niOGk4XYSkPf+dGK6m8W1AEjERfIyZiwyJmmzHwVN
uO61ZiCCAYlOs03gAxIwGRffBtDeQzkXo7yHxY5xYp5xYui4U2LcS88Ye130W+u8WCM1eHmvGPBV
J9xnz9uyYSVo1WEJKyRgcb/ovWnR2QV901/Lj7R8kfRsFJxIZA9YokLO1yoB6lzGke3QKdmwdGUZ
mwIYtOHHMkYhtxZFliHLSV9TpGrgZaOlAKURIFI7NFbXtUddO7Qtx7VWXL+eAjsFhGRA6DwflaOO
95rPa0wmM0xnFdrWkawNNLS2sCaD1hYKGtGtXHXBwY5nhrwPpDdsswz9LEeRUfAj51OVdnaSCfDl
3xud5hgBLYOX9obOeL5QoXs1iqVzArRRKIoMg2EfK6srWF1bRVmWaJsWx49v4dix45jsTphNqdA2
LRDEkKfSHMMgoYBwlkEueQUOriT4euxCSACa5SBjWieQwXvm0iqWRRHPlYXnk7HEx0BeXfke8XDx
PrXr6AEQCEAi4DLpPIfAbFetYVSKJi0DWjSSxufoArJJa4+qUkcwMHT6oeRdKbkC50vxnCrz81KZ
dZ56qQySNAJCgFMKrWpR8RnOOWSZjWCgtRYKxKQnwJdAVAqc5TlYVRMZqJ7fxz6jwKzpNHY75zGf
z1BV8+gWT9r5OgZjEj1nWQvJ+F2wpqcEmAPLDGs2AAUE+FYkUALbylS6v1Jx3gBElkvKWHG9eg6W
ZWCMhg8ebVURQF3X6VyAx6WkES/tRisFazSUtQiKuVxO5IRCbNPWkJyGYZY0acb24JsGSYtXjOrS
vpIxQi21cxn6SEdZI7cGBw5sYDgcwBoN5xVgiN1rjEhj6ZQr7htKWwyGK+gPVyOITzEVaN3buhZN
28C5Fk3ToqorzKsaVV2hqRqOj0Dr2eAdfNuiaSoAAb2ixKAsSSZjPkc1n6LslRgO+ugVBcY722i9
R2YtBqyf63j8lmBtSimUZYkiL6LBTsDXtm3hWwLJq7pOUg3sGQCAwFrnkZUZhoMhDhzYQL/XI4A/
eLRNjbYhwNcYGpeDD1B1FZnDABkgUv1lDDqCQWGSe+j1+yjLAlmeQxuNmpm8k+kkSi8opVkXuAAQ
0HJQtKZp4n0AoK4bVFUFBYWWNYxJxkEkHAg0LsoC1maoGaBvagJ7+/0BDmxsYLQ6RFEWCD5gOp0S
uKY1ioLan7WGDDct5cXzulwC3llr0ev3URQFnPeo6waz+QzjnTGOHTuG+XwGazNsHjiAjY11jFZG
sBn1Z/Gc9N6jaRu0rePgyyW886jmdI/BoMBoOMJwZQVZXiAojXnVYD6fEbMXQFNXyDMLawzNoacz
p93DpJWsmYTI0jWiCQAsZysel2UvhRM02k9Ip3yEe/iM9/DnJ5MZAvZaJ969tNfPw/Li8EyvDQXl
NGv1m2hAMwCy4GCCA0As3kZnaLVCqxiK9QYmqBjg7UwSyTgIsShRxWnPngzJgEhIqGgoDIF+2frO
nknWAcySOVXdLKfPfe5z+J3f+R1cdtlleO9733vav5vP53jEIx6B5z//+XjLW95yt+7540wvetGL
cN1112FnZ+cEzdbxeIy3ve1t+NjHPoY777wTD3nIQ/Ca17wGz3ve83DTTTfhcY97HK688kq86U1v
+rHldzQadbzdUvrIRz6Cpz/96Qtlvru7i4MHD+L5z38+rrnmmrNy/69+9av4vd/7PVx77bWnzM+z
n/3sk15rOX+nyu9oNMKTn/xk3HDDDQuf/+qv/ipuv/12/OhHPzohTxsbG/i1X/s1XHnllfjlX/5l
ALSWvOSSS/Bv//ZvePCDH3z3C+H+dLfSfQbw9Y52EwEEGAgzlVz1WK+I+W5aLIWa2FYSnEwpzRpB
EeFMzBLvCPAFy0Mw2CsmOwIIDGscqgj2poUGEgAdgVLWEOaNrfMS+CzETSgBExzQRu6h08IkgbP8
9MwOEjCNmLiL7BvRKzZaIj/L86fzvERX72jleQG/fXKV785ZOgJfFNFamJGy0ZJo0rPZHL32xIGJ
T41FT8yMFsE7IBALxbkmajAv/ZqvQWVzouv+PV1c3vuL03s17YF6xjayx+ldPFU21xHd6Xwe+1jo
mLCFu8SbdSOGAJWYqkCnfQIJdFTs3g9xexLAjVmx++aSkhd23F6g2UlSN7AHFC0URcdRwLo0giCx
1hdeBKzsl1JuukytdP1YPqr7bN3nU1JwCZiSseXkT5c0ezmvQco0IpSKdGvjT+Q8Ffsk1VNY4CYE
Ptdo0TMNrJvJjLHMomAdUKMNPDyNsdE4AKggoIgElglofUBV1agbjzYAyogcAkP6ISyMabEdKwKx
yd1ZI3iH2azCdFahrhsAGlqRm69lAECxXqvn8QbWksHKGDa0KXT10QUkyqxFWRqUFgA8qloY7ie2
U+oriP1DWIMEJgHBkGa1oO0nSOZ0ynu/PqtBQOtwOMDa2hpWV1cwGPQBpTCZTHHXXXdhZ2cHdd0g
BKCpW7jGQesAhK5+vUaWWQJ9GAQq8ozBRRvBPc0677H8eW6QwJ+WQV85xweZ+xDbYnpE6j8yJ8fr
qhCLU5gzNOYIYCymIm47QdjCHdd6ELBsdDJERQ3JQCB3SLUbS5PeBXjl045NzgncDbnNdwF+eR+7
MYOUe81JqtOl46cy3shc7gOCURFM9IGYuGQsAAG81sJog8wYlmGQudoBIRAo1tFETWsDmqupbjOq
W6S2V9dVdIcnTd8iGbS5boP2CCGPoKRo7Q6HQwripDSceOc4B68VGmaRt01DoJyjfCppB0oC+HW8
QrgNJS+lzrqHy75tG1RVjelkgrom0FLmnmTYpt/IdaTMrTWAtqyn6WjcCZ4NPPx7QxWaZxkG/QHm
gxlmk10oVy9KUkVQKc1DUuZdQ6pS9ExKKZRFgc2NDfR7JeVbkQdWYtiLF4JGCAqta1DVJNPgfSBv
BWugbY6MNYvJxZj6iOdgfG3bkkGkJXkzcAwK17bcTriNeArKpgE0VYVqNkOvLDDs99EvS3JZbhpi
AQ8H2Fhfw/b2No4cPYKdnR0EeFiToRyU6JU9hOAj614IEdPJBDPM0LRtZJoWRYHhqIcsyyKQmiuN
1bU1nHNwE2trawCIxdq0LoLZ1mhkWY6iyKMmrpS3tRZZRu1bG2qfrm0xndXQirRxB8MB+swchgJm
8zkmkwmmsyldn9nE1lqOQ2EwnU1RzypMp7No6DJ8/bomsNhoA+d9lINoWTZBrtHv91FXFXbHY4x3
xtBKYWN9A8PRCMPBAEoh6vS2bYuyLDEcDgksLoq4XheDWsP1V83nABA1pycA5lWFHQZ6d3d30bYt
jLHo9/s4sHkA6+trKIpiwXgTgkfd1MTUrSu0rcd0Mo3s3n5/gIPnHsTa2jqyvEDjAibTKSaTMba3
jmG8O+E9DNC2DRRC1Pi/t5Owv5O3gI7LNajEZpW+yH/F92l1Jb9fzHPXAHUmSX6fJoqze0zkgP2O
J7v/qdMJRsuw+Jkse84kEdGJvakCIuZqwCQSzqaChzcOQRk4nidojajI+wI4o/oh5u6ylEOHDIYT
n7+bDACveengQzx6BHp/N7Ho66+/HgDw8Y9/HO9617uQiQ76KZIxBg984AOxubl59254N9Jv//Zv
4xvf+AYOHTp0r1z/sssuw6c//Wn8/u//Pn7u534On/rUp/CiF70Izrl7jR16Os/04Ac/GM9//vMX
Pnv4wx9+r5e5cw4vf/nL8Yd/+IcL7N798vOTTJKn22+/HR//+Mfx67/+6/jkJz+JJzzhCXjxi1+M
G264Aa961atOAI/vT2c/3XcAX98mhk/cDLA2H88MtF7WEZTtMlwXXWpDh1nEeoAdhjC54AkYlVhR
CmnTLCAZBaHiK4eAwNqTzicQma7d2QiH5EooG4dF8Dg6Ucr6n9keKYiKMIa7G2oBjwngtSy5wNel
cAFs3fbR4zwC0xyIhNwWaRMujMwYiIh205RfYxi4AwVl4oVjVc0xme5iUK+iv7DLBWJ08sAvTyzf
4BOz2rEGsyxmqGy7m+3lxC6nZ0Uj96cQ9N3nuRPjjN6cAEV0GOVKFueySY0nUx0hUCDAIJ/JNWSz
rhO4JQvK9E8+k/beAddUSHIKEeqTX6fAXLqTt70edJEBuu9pHVAnLXoVrTljLheuQrvw+IplFLCg
pEHAj4rurIqF2+R5F6+8BCpxuSgtjME9QMBAAR7hDWx3PJL8aOrMgYFepVmPWNNLaRMBYKUNRdnW
DYHaPA6aoCKgoSKYQWxqHe9JoJQ2xPK3VrOupkVyQ04LZ3nO6JHhA1rn0bT8alq0LiAoAma1IRYt
VY/ofXaDX/JgGMFZYrE6x06B2pB2MgKMNqxvSOUqQFLrKYo8LIN5YsSKIBjlWytiL0sxUjm1CIGN
UwwqxX8hMVXpsVMQLqUUjNLQOiz0sy6onWSIkMBNjmwvQWa01uj1SJdyfX0Nq6uryGyG2WSKY8eO
49jRY5hNZ2g5uFYEX4NcVVjIakGaQnV6abfuEVT6fbwOs6cVec1YQ3qnNJwTeCrArRKHW5XqTAKm
JrdbqUcft6Ey5hNYp+BcFyAlhq/MgSEywdMcobxnPc0Q85WkH5iBHxhY4zLwEawXkIDLHB2Pgrh5
75aT3JfOpSZKR614DJby74IRSPeLbcEHBlc9AodD8yGgbhpYrRGMB7xH2zaxQkSn0DGgKgH42raF
88xe5QB7WUagmGZ92qqp0dQkvxS8R8s6uzFomIzrSvPvaMyy1qDX62NzcxNaKexOpqjqOq1ZQGsC
7xxc2wDBUb1qlbysOuLWgcvCy+86+szaKNjMEvhsFJq2RVXXaJ0DaVQzK9caZB3tcAHDAxsMRG4I
WnQgPeACexY1ACw0kvESsjbTKY/SnrqpYwqIqWt7o4nCwZgMw2Ef6xtrKIqcJKsUbdYlSGTw3G80
uTd73+LQHYdx111H0LQOg9EKyrKHLM9gMxp/jdUwVsFkOhIFqCOx5rahLBDTUda+PnpRKQSOMk8B
ANumRSZl2LbIbIY8M+ixDEKARt06aA4uNxgMUOQFoBRms1msu7ZpMR6Psbs7w3RWI0AhL3qkPV72
0B+SZICxNpITyFuhBx8CqvmMdWsdjFIoioLAbmNQNQ3m8znqpgE4SJw1pM/ftDVcLcYH6ktl2YPJ
qDzIs6RG0zaYTrndKoXhkIKXhRDgPAGd08kEkynp6CogAsJKaViTIc8LZDbnuY8BVBCr13I/a1uH
3d0Jjhw5guPHjmE6m6LX72M4GCAvClR1DcdkFjG4FHlB7GSlIvGkbVs0dYN5Nac+61tAEWPfeYft
nR3s7k6wu0v5dawbvLa2jqIsMBwMGOglKYosJzCprmrs7Gzj1ltvjQZDMrQ59MseVldXcc7mQQyG
QzjnMD52DHXrsLs7xdb2No4dP4a6bkiOAkAvLzDoUeDmH8dq2rKuAQ0lamF8XV427rWEFHmFRSw0
YEEurfO5Wnh/6mPwp3feT+R4GumE8a7zgZcyP71L7ZE8YGi+tcQ94vgZgFcGHhoqGuyATAVkiohE
Ji7F2ZvnDOuni8nKWkcCuC0+u7yh9YqsmozmGU/zKkrU3IxiqarTS3Vd45Of/CQuuOAC3HLLLfj8
5z+Piy666LR+m2UZPv/5z5/2vf63pcOHD+OGG27A7/7u7+KDH/wgAOA1r3kNHvrQh+Ld7353ZLie
rSTG7dNJD3rQg/ZlFd+bZf6JT3wC3/nOd/DJT37ytPPzk0rdPL3hDW/AE57wBLzyla/E1772NQBU
lxdddBG+9KUv4YlPfOJPMqv3+XS25HZ+4sn7Jr6CbxBk873kiqlVklrQ2qSgZ0Ac0QODsd6RfIBz
LXzLr8guVZCgN1ZbWG07ATVUAncl+FpkpQhDuIV3bdTMkyBEtLEHXz8Fe4v6oRFYZXhNNrkg8Fh0
z9qWAl040cBk92liCEteMygYIAh7lze6IQGpkl/nGjhmUkgAPGEs08YHScaiE51dxzwTw7duG8yr
Ck3bMLt5KfHGussYCz7QhgNhMQJ2BxSQfwuri8ikORtLyx/H8vTHmLid7bUhlbQIusiL+0hk63FQ
QbkSg6bJZV3AqwSsBNm80024nkwEGzWzw+X3Wi0CAHS9PYDPhb8Wvz+pgb9z+gIAppZPildbBCOW
mpiKZccjCwPWS42T5SE6wOxSGwsRZOqAcfssoE9gvCYYiscPxbQIA2UslCZtVW1sDEintAEUsVo9
FFwIcMHDI8Cr5b4FEcDkz0MsC6UpMI+wQRUztn1kYKJj06H3XsDeukVV1TxGsDuuIn1LYedJKxSt
8wSI0pgcmdccLc37EIFEYWhZa6CjmzTrmTIDMXlCgMdybruxPMEsVsVavOR9gM58Q/XmTwDtutdJ
jQ5shBTQs9vOEeeNgK4rOwEP3iVpiyzPMBj0sba6irW1NQyHA4QAjMe7OHr0KI4f38KMg68RS1j6
aFoGLLAP0QWBuoY3yrPUZwhpDI5NQ5EburhQG0O6soY12zUDZ8ICzritxHONoTnKGJLAYIPCgiZ+
bPcCAroIgkfdemb7xqBkzrHGr4/1QYCJQ+scaUZ7Ctjng6IXNIIy8MogQPNm0yCANp0+KKjNITYA
ACAASURBVDifXt6Dfy/9MbUnzexnsyTPlIxj1E6NMbCZpWBUVrxwqF2HTl0hhMjmm0Wd0Qmm0wlm
0xlmszlm8zlaDo4m5W25XG2n3JVO4LVSipYYgdoWMbUVgifXdAF+Rbqj1yvRL0uUZYF+v4+DB8/B
OZvExhz0e+iVBZ3TK9Hr9ZgxTvIgRZHRK8+QZxZZxm1GWKoQo4lfMLpLvStNAWGhFckXNA2atoUE
QhNJBGIg81qCvbSAEPuzUgSQG00vaxSsVjAKsErBaF4wh0BsUmtICkKB1ywpyG7MMzyv1ULsG1K+
FOiN8pLnBuvrq1hbHSHPDEJwbGzkeSikMVMWXHXrcejQXbjp5u/hv791M7590//FTTffQq//k17/
57s/wHe/90P83+/fih/88A7ceugI7jy8hWNbE+xMKkxmDWZVi7oJcMEAJofJe8jLAfJyiLI/wnBl
A6vr52B98yBGaxsYjFbRH61iffMgNs45F6O1A8jKAQYr6zhwzgNw3s88KL42zz0faxvnYH3jINYP
nIvV9XMwGK2h7A3R669gtLqOA5vn4uB55+PgA87H+uY56A9GKHp9DEYrWD+wiY3NTfT7A0CxNvGc
dGFDAGyeo+j1UBQllDaomwZ108CFENfkLgRUTY3pfEbyDNUcrW9hrIXNiPXbuhaTyQTb422Md8eo
6gpKBRRFjuFoyAHTBrDWkjTDfIamaaCVQlkWKMqCdYEHGI5GGAxGKMs+bJbDGJKQyPMCRVGiyHME
HzAej3Hbrbfh0KFD2BmP2UNjiLLXg1YKbdNETe2iKDAYDFD2egz6koSLcw7VbI7J7gSz6ZRZtEBm
Dbx32N0d484778Rtt96GO++8Czs7Y7StR16UWFlZxYGNA9jYOIBebwBjLEIA2tZhMpniyNEjuPXW
W3Hbbbdhe3sb3jtk1iDPMvQHfaysrKLslajmcxy+6zB+9KMf4bZbb8Wdd9yB48eOoZrOoEJAbi3K
vECRZSisRW4N8uze5xspFW22EPutvMzSeyHnyHsrjmVxf6PIRn6S4+L5i7/f63iq693T46nuf9Jj
93XSc5l4JIFR2XBtFMGt6oyPijy7jI71kamOU5pWCGxxJ9k4B60cLMhob5SNBrr96oc+P8lRzlep
XI2iV/oueW2kv8nIbGUuUYtHgwBzN9CXz372s9je3sbb3/52jEajyPYFgJtuugn9fh9XXHEFLrro
ImxsbODCCy/EzTffDIDc9fv9Pl7ykpcAAL7zne+g3+/jda97HZ7+9KfjnHPOweMf/3h861vfwqtf
/Wqce+65uOCCC/CBD3wg3uPrX/96vPYFF1yAt771rXGdfN555+ELX/gCtre30e/38R//8R8AgJ2d
Hbz0pS/FeeedhwsuuACvfe1rMZvN4jW//e1v48ILL8Tm5iYuueSSfZm0VUUiVnfddVe853A4xMc+
9jG84x3viOcdOnQIl156Kc4991w85SlPwXe/+9343bFjx/BHf/RHOO+883Deeefh8ssvx/b29kJ5
vOhFL8JjHvMYPOtZz9r3mU43LZf5cjqTOuim66+/Ho9+9KNx/vnnn1Z+vvnNb6Lf7+Ov//qv42eX
XnopzjvvvLv1XPc0PfCBD8QLX/hC3Hzzzfiv//ovAMCTn/xkbG5u4rrrrvux5uX/xXSfYvjKRgBB
3CnJnBa1ZLUEljFpwd3Z3AKyuebgG851NpO80VDJvU8pCiyljYHiYG0C2ArrTqlk7QNCkoNwjrXO
3OImizMjYIPmzUzXtVE2EDEgnWgJdza4lGeAWL2GQbUlMFZpJBd4z4Apm1K5LCgICYHeCalgoArd
fCbpiQhaaNo0aq0hiruCZ8dAUPI5aIMcwV5+HhUClO+6AvOvFDr54YwsYYC0Ib6PAbVnMVF9JMMB
IEBlSie6sC0CWEmPWs7v4IKd4k86hnJnMBDK7tVKQ5mMmKdQEegDGzuoL3eY+wvgZrxdAj67GRIg
Ku6c9ykPaX+qe1V2q467baEAyMN2wFzuvGLwiZv7hZtwO+d+Iwzm2EwDmC3N/Ttqhy2UMpYaf3Rb
9sw0bRnUk34PHqOUMQTwWgttMxibwdicND8DGJzVpCXOfS6xhXVsMwLWi8adZwMXgXgpmr2MPZ46
eATD0hjJdegDmtajqhvMqhpV6+ChAW0JdDHiiRDiOEs6wORtEXy3/XYaoUp1pTXp72aWJQMYYI2g
n3MUvI7LVGrQI+VTwHwyQgio6xDAzF65Zad9pj6UgKAuiBVCiCxdbkELFU7DXgpmBXTc+72DNVTW
vbLAaDTE2toqVldWUOQldra2sLW1jaNHj2FnZ8zRqdP8JXOjlFG6M/fXQACZGD6NMzHIV+CAS4mZ
3wF9VQJ9ldLJy0MJr1c2UZqBd4OujEsEdqVPcr8jsDcxKRfc+kUSSYxKnb9dvIa4+VIGgk/BlQLY
1ZytGWSkoKCjJAktpaPivYMCvNcQuaeuOraMd93y1EqkjlLzJIchklOJ4C+D5To1g86mUuqNAWDv
0bQugrPCvI1/I0Tw3UoAPa1hLZg5byKr17VtbBueg8YJKExguGMDCmmeWkvAdFEUpAPrHMpeDw94
wAPQ7/fIhb1tYDOLssgJKDai51/TOJFbCsQaZKwVYwKVWzqGCO5qp1iiooV4QGltYj+W6ymt2PjE
Y1jw8F7YnQwusG65VuThpKCQWQNjFbLCosgMgrHINDHKfNMgMwZlniG3FIDRdTwOkiE8JA8EXraJ
bA8By5rz6VAUOQ6ecwDDYR/WaAarWS6Ep6wFWaGgMJ83OHTHYXz3e9/H1niK1dWjKMqSQE6roAwH
msszZLlFXpBebK9XoleW8ViwrmpmSQ4kz7MYmM4ai8JqeBAAHwIHcdQBKvPIcipjFwI8HMrhGorB
ChmnAFhjyZjXthiMyLOtZQZu2R+hrioO1ugR4FgmoEHT1NxfONClUgietIjrukbLYG5W5Ch7feRZ
Rm2qquAc3V0bC5tlaFvSLa7rCq51gArIrEWW5+j1+bcImM1mGLsxAGbTFgWVWVFQkMEQ0NYtZhWB
xk3bQBuNrMxQFiW0NsiyAv3eACsra+iVfQroxuOOZ63mEDzmVY1jR4/itttvx+233Q4fPAaDAVZX
1rCysgKAWH0AkGccqG4wQFGQPENR5MiyAkpr1HWD3ckEu+Md+ECB1/IshzYK490xjh09huPHtzGb
VbA2R68/QK/Xx3A4wHA4xHBAQdqUosCQVVVhPB7j6LGjuOvwnbjjjjuwvXUczjn0ej2srKxgZWUF
w8EIRV5gNpvhyJGjOHz4CI5vbdGahceozFr0e32sDoYYlCV5IniHwIH87u1k2NMmSTokli9/tbC2
6i53U2xaYYaSUflkx2UGKdnrT/27e+24lJ/lIzGM9/l9Ny0vZuXIDGp6r+OHYpiKRqtw94/QCk4Z
BOXhFCjmAzyMUjCQgMPMuFXpeTUseXIFsM1///o5raPGolIb12vaWsh6gP4WQpgLIe6HiKjAi3uE
qKZ2uun666/HysoKfuu3fgsXXXQR/umf/onG0LKM57znPe/Bi1/8YjzykY/E1VdfjSuuuAL/+I//
uO81P/jBD+JlL3sZHvKQh+ADH/gAnvKUp+Dxj388Xve61+Haa6/Fa1/7WjzjGc9Av9/HM5/5TGxu
buId73gHvvrVr+Kqq67Cgx70IFx22WW49tprceWVV+L73/8+rr32Wjz0oQ8FADzvec/D1772Nfzx
H/8xdnd38Z73vAdZluGqq66C9x5/8Ad/gB/+8Id4xStegSNHjuDDH/7wnvn82Z/9WTzjGc/Apz71
KVx44YV42ctehuc85zl43OMeB4AAb4ACgF1++eX4hV/4BfzN3/wN/uzP/gz/8A//gBACnvvc5+Jr
X/saXv3qV6Oua1x99dXY3t7GRz/60Xif6667DhdffDGe9rSn4ZWvfOWez7Sc5vM5brnllvi+1+ud
Ngh7d+pgGZj98pe/jOc85zlnPT93Jy3fC0DUsT9ZetjDHgaA6u1Rj3oUAODxj388vvjFL579TN6f
FtJ9BvA1WlxFO6CMIgBDGXFVNjEIQQKMPIQxFB3Gfcvuhi3rAacUEKCYxSiMMSNmwyAe7iGBTz6B
UgEuauMKYyuBJopBCALBuiBOktlMzyeMYNfREybQdxFoEIBbdHq7rFsKngFE/VUlkxLpCgs4Lawo
mlc1T1bEytTiGi2gr9IdTE0R6KsAz5q9NsvQHwxQlCW0NRH4jRu8wNNnIC3QwBpzKoQYgfj+dM9S
BOwYeFwGfff51eL3DPbuCRTzQsgzup+wN2KQdZm7slFXLC8QYl8SsDIZE5yjgDCUG0Ax80XLquqM
moagjz72fwIjuzqRFFTLBw/tNZSRR1QgEwf14SCbgk45LJSLjDmymFQq6scKAEp/Sh4SeKYUi65I
HUgZgUEzbQBj4bxjt+YGPgQG0zQclzUsuT+bCPbSSwPwyoFWt4D4zmklLCkLkcbwCBTVPYCoEEuF
T/q4CeylR+ZylFeg4JSIDF2PumkxbxrMqxp120LZHEZbKYDFtsVjnuYxNG3aGAxLHHI29NFYZFge
gsBEfh4fmPHnCfANsVVQntkDwsdNDDF7tXI0JsETKBoSY1CMIQqI4zu1tg5Hm+vcew8dunNSqvO4
OTU6vcSwxucao5EXOfr9HkajFayMVkgz0wXs7kywdWwL28d3MJ3MkWfE5tSeQMAgRsTO9QBEV3dI
sNLgoh6sbMiC7wTok9JnoDAxW2VQ72x2ININEtRTRTA7ak13EVExWsg5AamMw+L4FT0InI/tSoI2
kaHSkQQEt0gfkjSGR2DgSiMgMLuX7m9sRhq32sZ7QdYbbMBFYAMEPIJy8HDMAKf+QmVKZadAiEOQ
vXV32FDCgCbAhEDZFAtADM0EyLHOLeiZIGAjUoAyz4Ca9x4OIPC7azALgQD9htY80l/kKGxrYyQw
G+fBGtYTJeBIjNhFUWBtbTUajPuDHoxV8L6g3zGgWdc15vMKdV131jBiBEn9BdzHu14CbUOar7uT
KYJSyDIKotU0DsbWMJlBXuQYhD5JmGiSTPG+pbHcRzM7rU+Chw8E9mttkWsNbTJkRYbMasAa5AaA
a1BNx8xa1ChzC6sAD0/rRt8icGAoTUMoSWDJMwRaQ2kVYJRH42oE16CXW5xzYAP9ogDZI3w0xETz
pZKxk+bB8WSKO+86ih/ddid2xjMc25rDZjn1FxreyMCfZ8iLnF4lAZiZtQTuWovMEvs5zzL0ej30
+z0MesTWLvMMGYPBwtIv8gxFRnrRxJwm/ePc5tDxPDo3+AAdPHIeN2RsGbHEiHi7Odegaeaoqjmq
+Qx1U0PUOKldO7RNhaqqYOsZgclsVMyshQLF8VDGIy970CZjAwGwM5liOp3B+xZ5RmUhYHeWZ1AB
aJ1D3TZwrSNmfVGg1yfA1geP8WTM7Pkp5jNiB+dljjzLWc7EwDvSy11dXcP62gaszeFDoOCBQaGa
kzzCzs4Ojm8dx5Ejh7F1fAvOOayvr+PAxgFsbm5iOBoSKF7NqFzzHL1eH4N+PwZAJKkP0mbfHe9i
NpmgrmqUZYGcNejrusZ4PMZ4d4ymbTAajTAcrmA4WsFwOMJgMMRgMES/30dZlKiqCse3tnDk6BYO
HboNh+44hOPHj2I2myLPMwyGPYyGQ2xsrGPzwCaMNhjv7BJD+Y47sLW1jbpukBU9jEYjrKyMsDIa
UXC5sofMGDTzCjMzgW9aMj7dyykFYCNjjumsyTrTMiceq+NawwMsdSdzIUnWCdq3xxEqnpf68P7n
U89O5y8flTYn/f2pjqe+vuQv7HHsFs3egPLJAVR194DVpaPseT2vq70CrA9Rl1c8uKg+WBYoANp7
+EB7S7mGgiKyVlA0PoMCDGul6XP5fukIPp/O46IIsoahMU0w8yT1oDh3InklBv3knaeBFCPkFGk6
neKGG27AM57xDOR5jksvvRR///d/j89+9rML+q0vf/nLcdVVVwEA/vM//xPf+MY3Tnrdl770pXj7
298OAPjKV76C73//+/joRz+K1dVVHDx4EK94xSvw7W9/G4973OPwvve9Dw972MPw8z//83jhC1+I
j3zkI7jxxhtx2WWX4eKLL8a73/1u/OhHP8Ill1wCgBjBX/jCF/CXf/mXuPzyywEAP/jBD/CRj3wE
V111Fb74xS/ie9/7Ht785jfjzW9+MwDg6NGj+PSnP71nXj/0oQ/hLW95C97//vfjZS97GV7/+tfj
T//0T/G6170unvOqV70Kb3vb2+Lzf/3rX4/P9qUvfWnhXtZavPOd78TNN98cCQAveMEL8L73vS9e
b/mZ9kpf/vKX8YhHPCK+f/KTn4zPfOYzJy33M6mDLuC7u7uLO+64Y08g957m5+6k5XtJOnDgwEl/
J7rGW1tb8bMHPvCB+Jd/+Zezm8H70wnpPgP4ZplYF3kjRmhv8s9gZk3X7TRN9gmEChzspW1rDm5C
Wlea9W598PHc+OtAC4UQFi4JAoBl40mAbxDgLII4yaW7y46NLuHRDM3grFpyYRUAmTdiNIdoZqBR
JHoB1YTZu2DGBjPNfGeyB7MtOiznxBZEBOAimCzu91rFBYBIL3TdmAW4sHnGbnQUvd1BwN6QqtB7
ltEgaQ0ByeVZ0wZ5AW2gtYJ8tMd8enpT7N5podh+GtI+DysGDwALG395v9y2+VepnAURw9LiubN6
jlIO3fsCUapBs16juFxqBnt9AFpPTCDHOo1KWIAtW/U9swpNp5/wAjfmvdPmumSFRZYvdZhoJFla
gC2DIgIudVmFCkt441L57pXYmT42qLBUvDHjUtQhfRZB807ZKgV2xwYFsmE3UJGw8Ty2ELs3g8kL
5EWJvCiR5TmMMQjMcmxb8QxgXVnDASilnIEoixOZiiH1ddHfVBzwzC8xwD0IPHU+oG1dB5gLqB0x
FRvn0PLCXoUFPmysJwHzEIgpt9D2Yk7pnRj50GkjEaCHgK4MQPPiTximZJBabMXdwHo0bDGrL6T2
kKSEOnOF/B2jMKXrpmBU0m6TUUQMCuI+nxcFiqJA27YoigJlWWLQ72NlNMLaKutcth474wmOHD6C
48e3GPDwzM5MGzpq1h22TAgLzyPSCEHYy1ICHYOMlDk9VgIT06sz7yGk+YP146Ucqdz5Lt06RhpP
5O8I+spAn4akPZMYX70iFqt4tCSZEZaZUZ6CWwFRzkFZA20L6KKEYaZfdwyA91AseQHvAN8CoYVC
C8XGgOAdFBw/W9rXLs9ZqpNfmWuzLEOWZ9FQq3gjrZRCZgyKIseg14PVGt47Dn5FQd2sMfDMinQs
62C0hmZGpBgWQmDmM4Mw4m2UghWGWOZxjQK6fpZlKPIcIo+SZTnrlAPaKOS5BUCfiXyHh4dryfW+
qZvU9jvzjbQRLQZ7rWMQyaZpMa8q7I4nCALImwzzqsbazhjrG+uYTieoqppks7wYYgDnaOxxgbyh
WkdSUwEKXkl/BrQOAByCq8mLy7dw1Qzz2RSt9+Q+X00RfI3gagTfAL6FClTX1Hoclx09lwqA8pq8
lgLgmhoKHv1+gc3NdRSF5T4gY4GPdS0NJSjSMt/a2sGhO+/Cbbcdwu60xmBYQdsMYnhURsNkGbKi
RNErkRU5sjyLOs2iW6zZlT3LLMqiRFmWKFliI8sscmvZa4PG/SLP0Cty9MoCZVEgy0j/Oc8yFEUe
g3QSo1xkXcQjTGTF2FChAcujT+FblG2Npq3h2wadERbwDq6taV3OkgUi+RGYNdzUDUxeIyv7aJoa
TVOjrmtoWyDv0dDe7/WQs8ax0QZBcewLGsHYUFDA5gWc96hmU5JLmc1Q1RVCCNDWYFAMSQ7CkLeg
az0a16B1BKZpk8F7oKprTCe7OHL0KA4fvguH7zqMo0ePYDzeQd3UsIZ0dDc3z8H6+hryPGfZnRZK
aZJMKEkGpSxLZCwnUVUVqroineHZDM45ei7WsoYCrwEUyqJEnhXo9QYYraxidXUda2sbGAxX0Cv7
MCZD27Q4duwwfvCD/w8/+MEPcPjIXZhXE/jQkvTDaIC1tVWsr61hfW0VeV5gMp5ge3sHR48exXhn
B01TI8tzbKyv4cDmJtZWVykAYTSaO8ynEzLSeg/k+UlG7LOTMkP1KmOW7BKXwd44rnUmEaXVPhq7
vChjCZgEbIqHJhvNlebfp+9PPPI+dd/jqX5/+tcPkPeneTwhqX2OJ/nqHhyDAozmXbM2FIqiIcOb
VsCsqqC0QdvWGOY5lHNQLaCMxRRA0aOpGEpBe8DrE4/KAV6RTvmeR6XgNeh8hbh37z66FuCbExE2
VMQDZC4EQpQkizE8cGLw8uX06U9/GpPJBI997GNxyy234CEPeQiMMbj++usXAN/19fX498rKCiaT
yUmv2+v14t9ra2vkYbC6CgDxOB6Psba2ho2NDbz2ta/FTTfdhO3tbbRti93d3X2v/d///d8AsACy
ShqPx/je974HALjwwgvj53LPvVJZlrjqqqvwpje9CR/96Efx3ve+F1deeSXato1lIJ4Rci3J3ze/
+U0AwJOe9KT4/VOf+lS8853vxDe+8Q089rGPBYAzYsL+0i/9Eq644or4/u4GaTvdOuimnZ0dAIv1
fbbyc3fS8r0A4IorrjhpuwCAI0eOAFis77W1NVQVzWf9fv/sZ/b+BOA+BPgWZUYsUIA2WFAIIPdk
rxYnJtno8G4d4mYH3pw616Bt66iFpZWwERVFmFdpeBd3QyVAmWRBNqzdYGqi76jAm/hOQKzudjoG
b2FAAt3NUCAgrBOpWpiUpGHZYd4qy3ITFJRNRx+Szu5YBWbZMZD6/7P3prG6ZWd9528Ne+93OOMd
arjl8lR2AgbcjREQGUqigxJoCbVFq2mpFZKOFFnwoaOIRJGVRBlECApkMCIiUlBQFOwvdBCCWCTg
pJXujklkIxGsEAhuIC7XfO89wz3vuPdeQ3941lp7v+eeW3VrMompVXpr3/MOe1jjs/7P//k/Km/4
fWIAp41KBo1UYmepEVtY796vGBcZ7BXQGyVskyptCmxVFZDqMugoIFwCer0r+pEhazCO4mt2mjYb
bVy9+X8jYO9/k+UBFVFy4zECMxkAiKtLgShGf6fLFEM3/53+GHczsXwGsCfrdCZ2r0pgb2Z+SiZx
T0YZhtBzNfhzxn0yIaYxW+w7F75ULRkkYvDAjwEqleaI/F+uo/JeBqEg7eDvr60cfpsvOAZyQhxC
+EvdZcR3DCRloGVc24rEUhgAuzyPheIIiqCkfoOSIHONQluLqWqqpqGZTGRjayX5k3NekqT1jhgi
RmkB4wnYDAyQwF5jMGbYbI+BOUlMpUZzVw6/l2cRFiW4EOmd6I3n0dyHgIsRF4sSbgEhQwZ/MwA8
mjOK5MRot5BBcSBpxmoyuzbf2dhyl7k6M3iybnpKdAe78xMZDMvnyavN8N7AkC0dpcz1+TvD3SSd
4JRoMwMjqqwPkBMXVdYmJu8+xhgO9vcTy3LG/v4B+3v7WG3Ybrac3D3h9su3OT+7x7ZtiXEAqDMO
n8cS+f2iNx9TiHosTF5U2rykastOvqG/Dn28rE+MnHPpN1n7Nct0pLyPRAY2dBhff1T3u84oBLxG
3fedy69yD/m8o3ElfoMo9aNUYfq6KACgRpIwxXpCrJphvc3tHwTUVcETvSP6XhJ9RUeMDrwr80Re
E1XuQDtzZgKuo/TewpJWA/BrEsAUvLTJsKYKsy9H47he+o21hqBIyU6Trm2ScRiuOxwLQ7rIWCli
DDiXnUxDXSpVldGglJLETCVBVpJJMBpbW6KKiZEp4LVEENU0zuF6v5NoV5xGSR/YWExKymaytnty
JHWdY71piaiUGNLQdR2r1Tol3JLkVD4M+s3eR/pepCBcSr7V9T3r7Za2k8iC3jmRyCia5oqq0tQG
YujpN1u2XUe33eK7NTp0qNChfI8KPSoK6KuLXFeK5kqDzag0V8QIoadpLEcHe9y8cY26tqINmeaw
LPNR5qnU73vnOT075/T0jPOLBV0XCGiMqdKcFVHGCODbO1rXY9saW0kixSEZau5jksiyripsBmtt
XqN1AVeNFrmLpqmZTSbMZtMCDFfWCjjZNAl8NEnXeULT1GgosiJZMqKyOjGMFVpVEoFiGuwkFIl4
eQ26yzEGsv9OEfGup9229F0n64n39H3HNgG10TSE6LFWM500AojGKDk6XF/WMKWEqVxVFUprNm1P
28o5tltxmDWTCdPZjNlMko6FIOum955t22NNT5f6V9f1LBcLTk9PeeHFF7j98sucnJwkwKRnMqmZ
7R9w7do1Dg4OMMayXm9YLpcYo9nf35Nojdl0SKboPZvthtVqxXa7pW03BO9Fw72ySboEceC6Hg1S
99oym0niucOjQ46Oj5hO91DK0m57Tk7u8V+++Bxf+MLv8aVnnmG9WdJMLXt7Uw4O97hx/Ro3b1zn
6PCApm5YLJZJKuiExUI2+Pt7exwcHvLY449zdHTMdDJFqUjbtvRdj+t7XGJu53Z9q4uKUaSXYmKC
ktcMPfxNgCiSYUpno1mO2sjY0xGCkmPUOgGCOr1PipBC/kbsu0DEKLX7+Ws8qhjJwl5v+KhEqOi1
HFWIw3NdcTSoV/z8jURkKkQr1/eePoqEUA14J206sYo2dBzWEbM94bGjAzYXa1b9ii1zvJ9g0v4c
hTCDLx2VEdsYwxVHfekod+XzxkaJ7ZDn6hKBl7uQhpyAPSokiiv1DWERP1zJer0f+9jH+NjHPlbe
z0Dwm1Ue1FbPPvssH/nIR/iGb/gGPvnJT3Lz5s0Ckj6oZDvtb/yNv7EDtIKAnDkpWlVVr3pfWe/1
j/7RP8qjjz7K933f9/En/sSf4Gu+5mv45Cc/uQN6X1WapgFGUl5Qor68f3XA/ZXKzZs3+e7v/u43
dI5xeZjxUidH2Xq9fsvv55XKVdf623/7b78q4Psf/+N/BAZpBxB5CK31jkTJ2+XNvsSNHwAAIABJ
REFUL18xgO90UiW7VQzsnHTFB4ULOemOpPncwWjyBj3GBCj25RWDL2CmgL4MIecZ0CgbuCALww5u
OSSPyYDvGKQqEghKvK/yWWbLpnMwyDcU/d8S9igPkCUgJARzSMpmUmKmtNMsk0lZlNI9JpXKEcA7
ZDmX59TFOMv3JwnaMpisyoaxbFjzpjGKvp0yJmmRzZnN5tTJgL0PvEngSc4KnbWZIeK8JKPziRU4
GGdXld3lNN7/1msr6sFX+q+5qMtVlEEHBuAsg4yRXUBlp4wAYka/GZhgY/Anfy2MzpcZvcLYsjYz
e/UISIhJgzptohL4ZYscifQ3rSNKpb6XAZ1yHwk0UdkQG99PgXgGsCa/0rUl+Za+9JvcRyXUuLDh
ruwRqtTLzjt6CEmOIRL1SJP1ijqPI+DncjuMr5MBPIIqTEWlNFWVktWgUEE2K8L2EnZvMxWtRwXC
tGtb0T90HcSQkjolozgGDML4tcZQ20rCdfGS2C3NT1opYtRpTpRwyDDqWzHK5kGSwUHnA51zYhtr
g4vgUUSdNOASwzZr6OqYkjxGChCY+LAMjOkBQKWAz2annmM22Et/GKq26J4WR9xue+TLDPNdLOCy
RIGoBASE0ffV6B4LXDw0Y9JSD0mrXM6fz6VSZIq8Z61lf2+f/lrH3nzG4eEh1lpm0wn7e3s0TUMM
kdVixZ2Xb3P75dvcuyehtjYl5Akhha6O+nBUJFa9H7EtR2tXSFIOeWFSQx3JXD9K4pkTV6XXwAJW
YGTtEDBJZEK8H5K/aQUxbZLGePnluWk8rwAS3Rkuf0apt6jlXnReLZPjgBgHvT+VZwOFjwoXwUUw
UVMpS68r0DUuJQor0QJFyzkI4Os00SlM1ESfgQaZy0IMyQ2tIOT8Auk84zkWCuvcO48zThIgKlVA
3xhkDXTOs9lu6bWIDZbIJMC5gE+M/0h2bgtwb5PTbZB6kmcS54+wIzNQmpnBMWl7AyVCJ6ZxOZuJ
VBMKfHBI/JLG6gptNTlhorEWVCT45NDQescGUEqVXAM5eZ2xVhJMJoBbawsonI8QdZEFcr1okLZ9
lxLLmTRMB61m5zx9Spbrg6dNGqiL5ZL1ZsNmu2XbtnTO0zux72w1wdia3gd8D67tMaGnwjMxELQn
KEdUnqg8Hk9U0ieCGhwMCmEdWiPjxOrI4d6MmzeOuXnjmMrqJOE1zO/ZmR6Sw8b5wLZtOTk7Y7Xe
gIK6qQQQTXWXWYjeR0IbcL7DdlVKfik67sbYJHeWHSOBtvdo1SYprktrDENwgi0SEBMqmxi+tkps
70r025Uk1znY32c+n5XfNHXNpJFXU1vq2lJXNvVHAZWt1VijqIymrgyVlfmmSnOv1oM+dfCOOoG9
MdmGzju6thMguO+QsOyk1xwFDO3blq5vk1SNMP61lvnMuZ5t6+k6jwsKpWusgelsj/3DA/b39nCu
Y73esG0dbd+z3bYYU7NpO5brNcuLJXfu3OHFF1/kxRdf4PzsjLZt0Vqzt7fP/v4ex8dH7O0dAJrF
Ysm9i3uslkvRyT08ZG9/n2bSEIIXjeGLeywWC9q2TXNumm+1RONoo9P9O9E6TtFxxiCyP/Mp8/mU
pqkIMbBaLrj98im/9zvP8Nu//QW+9KVnOTs7R1uYzETW4ujoiMcef4yb16/TNDXr5Zo7t+/y/PMv
cOf2XZxz7O/vc/PmDR6/9TjH166jjaHvOjbrNdvNJml5+zTfgK10AlPf2pI1fMnSOkqlf0Om8+pI
2m/lNVmcTiSGJwpUUAkTVmK75WAgLzanSoByPmrUK37+0Mds7wb1ho9Khdd2fdJcnMb8lceYLa6r
X1fZtq+l6KCYVTUmRrzv0dGJ7E4U50ZwPY1f8o79nnvP/hbGwbueeD8v6Tl3tltMNaEgrldIUlxm
aO8cR2WMw4mdK/0lZIKJGuxDj/QbTyzPH8t3VCEtPExZLBZ8+tOf5umnn+b7v//7y/u/+qu/yo/9
2I/xL/7Fv+BrvuZrXkfNPnz53Oc+x3q95vu///v5I3/kj7BcLu8DJrOUVy4f+MAHAHjuuef48Ic/
DEjitPPzc6y1vO997wPgN37jNwrLNydnu1w+//nP82f+zJ/hb/7Nv1kkHGazGbPZbAfEfVDJ9/KZ
z3yGp59+GqAkYfvar/3aB/7u8jP911KOj4+pqoqzs7OH/s3e3h4wsIPhfubwl6N88Ytf5Kd/+qf5
Q3/oD/GhD32ovH92dsaNGzceqj3fLq+/fMUAvrNJQ0YDFJLx3ftI7yPRBaJPACYDGzFzvYT5IptW
1/eE4FBEtE5hY8XIzOBsvsrlEjO2Ss7YnJkyIYayoSr6pTmBS/YdqkE7r2RHj17AuZi1zhw5Mz1R
oZK2pkg3WLQymAT4aiNaXxnMCimL/LC5Uuk+hzDe3Y2XKaBAXrd1ApVzqKewz3ZqoIC93gsgFBVM
plP2Dw84PDpkOpvKpg/RvstgXQEMAEIsSWBiCMLa6LqS4OONlP8WgdvXWl6rmZXBD0JIYbOJCTcy
2HYSV+XfRcqmXeWBxZjVCVm30RgtDLCUGTsz78TZEgrLtG1buj6FH5shlLewAiGFiZqrE39kmw4K
EFhY/VeP2uHfBQgcOSJiHOpkx5mxqymdNxPDkw/vZ7AvX0+laIG8wGUG2NXtNq7x4aZz/YUYRf4k
fc8mJi/aSAiCRnQJJ1Pq6YSqmWCteNa9cylkdU233RD6Hh2jJErDJMBXWGlVAnutlZQZ3gvDKTNA
Y8IPffA4rzE694PE9EdePkZcCInRmx5HQTRGwN6csEsLNBZJUQJR9HRzyfNgSfC1W+upPQZWedAK
FUW/M9c6ijQXC4OWzCIswGau7jg+9eDkGn2uyzwWR98DVTYIeRM0btacHAx8zGNs5PzTud/lvqQ5
ODigsgbvHHt785K4ra5rfO9YrNecnJxw+/YdLhZL2lbGUjBDEjMS07P4bnI/j4z6OTsOoeGZy4MR
iam9xRmZV0et85jPMkL5sQWcs4mxKacO4OX58zjRWl1q+/z8ZGx0p50FFBuB9zESrRkcA+mlELBX
kZKcxih4be6EakgwGjKLS1v6qIguskUS+2W/b57vcnvFqMRhFBXaR7QXcEC0BSMms6xBmPohM8OH
uaOsnxH60rvkoUMIhRWT62+73bJaLERaQlHm2pxszyXwUyH2TEjgbvCZNRyTo0YX5g1QwGYfRB+x
tlVar8UOmE6n7O3tc3R0zPHxNSZTCcXrXU/bd1JHiZErrFKVsq4nXco8BK1mlMkx96AshkAMch86
RJQP+ADWRrSpROohtZFOjh1ht8q4sYkVrROoDMNYFHNQIqbaThihbd/T9z2969m2PW3vcC45r1C0
nWOxXHF2fs5ytWK9XrPZrFgvFzKHtqIzu9ls2LZbuq6VSKXkoM/1qJXIMrhK8+gj13n8sUeYz6Y7
UVjiABnmttxvvA+s1xtuv3ybtt0yaWqMrSGqJPlSM5lNqCeS1Evm22SLpYgzpSR6RoXB9pRnTNEV
iaENqqz7MIA9vYK23bLebpNDVuxCY0XaobIWpaCyZyLz0DQJEBYmcF2lBHGVgL11bZMshGgLN7VN
r4pJUzGZ1FSVgP8CBgtLuEo6vihNNMn5ohQmRqbTSBMi0YsGOTEImBV8ytPRJ4ZvlmORunF9T9d3
NNOW3iVmarI7J5OGqpkmx4+nd9C7SFQGUzVEZVitt2w2L3Ny54STuyKps1yu8SEymUw5vnYscgcj
5u5iuWSxuGCxWNA0jejs7u+jtADBq5W8ttsNXZaW0EokJRDnzaSpMUbTO8e23bBcLlgultLv5mku
Noa+67l795TFcsPdO2e8+OIdnv3SS5ycnAKKw6MjJtOK6zcOuPnIMY8+ep3j4+sorTk7O+e5Lz3H
f/m9L3J+do4Cbt16nHe84wmeeMctbty4Qe8cZ2fn3FstOT09odvK/RprqWtT9lRfFoavkjB6Eqgr
c/Zgq+oM8DHex2RHqEr3qChJOy8do45C2jHpd/mY95d5On1dR52IAQrehKPhivt8xeObU65Uh3iI
oiKE3lNpg7agKk/teujX1FExMw0rd8Jh4zj9wm/w//zyL3B0eINv+R//F+KhYTY5Tk6wdLIE/I+P
RTIxGxY7x1EZSXukg7B2UyfOEQIxgk39wjJEqg1m1CAt9DDlU5/6FNvtlu/93u/dYVM+/fTT/IN/
8A/4Z//sn73lgO/73/9+lFL86I/+KM899xw/8zM/Q9/3OOfKdx5//HEWiwV/9a/+Vf70n/7TfNM3
fRPf9m3fxk/91E/hnOP9738///Sf/lMef/xx/uW//Jd8y7d8C1/1VV/F3/pbf4uqqnjppZf4hV/4
hSuv/5GPfISv/uqv5gd/8Af5whe+wHve8x4+85nP8Mwzz/CX/tJfetX7/8Zv/EaefvppfuRHfoT1
eo33np/4iZ/g6aef5uu//uv57d/+7St/d/mZnnrqqddXgW9yMcbwgQ98oCSre5jy5JNPcvPmTf7J
P/knTKdTPv/5z/PZz372FWU03qzy7LPP8nf/7t/l2Wef5ed+7ufw3vMP/+E/3PnOb/7mb/L1X//1
b/m9/EEvXzmA70gPKhLxztM70VILXphlwhSTjY/snxLgm8HJFOIVgmTyzWFsmbX1II+lKm/nDdsl
jd0CDGXwNDMTdTG0y8Y1yyRIVhx8AkFDAnxzchMxJ0wCogXklU2PLbq9RudNdeJzpugFSUQX0r3e
v8lXidUr5x49smLE8hrYuSU+GFnIvE/1mTfUdcV8b08M3eNjSdhmdNnAlHpMwINKAHQobLME+Lat
JH8LGW7/MliMfwCKShZIbs8YQpKckvd2dZ+vQq7IyC/Dh7H8W+msP1qlkN6kG4sAvd6LfEMOgxwb
ExnME8NdlzGi8ri8fB/DUzE23O7X1c2AQwa64uj99N2MQTCMj+xUKmcpBuROhe5YdGOMLEtCRMxO
ePzr6s0xAyIJ9EUcQNoIgyui0hxmqJoJ9XSKbSbYSsJ+vXPCctpsJTy57yD4wkDUSEid1oZKK+oU
hqugzG/ZSSSsfHEgxeTkGveYEKMkjAoSLt/7kBi9gBaNTlQQMEh7ebbsXIsZBBtJOuR6jBSW5K6s
w1D3g+yMSsS3QEiJN1XaEA3zcZrfVG7l3Bfub0+R+KEA9SYDxaUrxfL9S7+m9DME2JSw86QOEBVZ
f1klLfbsddRKSci0kbVkOm1wXS+bf2vpWkkMdPfuXe6cnLBar+m9F3ZmAuNVHGQj0oo1sPmSA3Bo
ubQxSrc9SFKo0iYhOeRKMtIoGymTmH9Z232QWMja3XJP0SXmaxpbkiBFDXOOT1r4qf5kT5Y2WKPx
vXPMdZ4dNJdYxwRXAF9JLAUOccLEqJLMEeIAsDVeGXofccGlRVHnfX0a28KExweUj/JyAeODJJcM
AR0jtVJYJCmcTnrKMYpvZoSKCzCnRUoha+mL/EBXQKKqqjBai37ptiWGICzKuiLGAfCNkRSWr7HW
JE1uuU62fXLdZTA5s3rznGeMoWma5OiSOWE2m7E332M220sJ05xolm43bNoNSmumsyl7ezNpC61E
pz3bXUqcO3njLc0ahzqV7LAEJePERyUhxi7gCZjosValuYMCwhhr0vwQRUIgJyosMgaDcyhrdPsQ
ktZvdtALS7L3IUUUydjsesdqveVisWC1XrPdbmjbLd12I1ESnTCjl8sly+WC1XpF17W43gnb0svT
e+/o2pZlrXnyHY9z6/FHmU0nSdJktE6V9W14X3SaN5yentC2LZU1koxRa2azKUfHhzzy6A32DkRn
tvciW5FfEj0jTrhhhMvz+TDYbj5kx0OOJouD7RyS9rXr6ZJkmOTJMNiqTgxfSc6X+2pONpYlIjLD
XGQUBh3geqwfXFfCBp7WBRS26XmbrCNc10VnPic7zA5hqy3G1BKtoiI2HY242UTkMzgoUXTJHnF9
kZXySVosxCDRSSmSo4qWxisilqruaCY+2eEiqbNtO3yAqhYAd5akIB577FEeufkIKMV6teTi4oLt
thXHHIrJdMpkOgWlOb8nSd7adiugc5C20UrGZFUZtKIk0Isx0Hct281GtLyDQxKuavrecXZ6zkm8
x3rdcn5vydnZBffOFqzWG+q6Yjo9ppnUzPdmXL9xyLVrh+zvz/A+cHpywu2XX+LF559nvV6xtzfn
+rXrPPnkO7h163EOjw7RWnP35ITl4oLzs1OWFxdopYRdPG2Yz2bM5xOm05qmfuuTtlmdnWm7a0RZ
z8ZD7QoDTL8KuURdGq+XI+SE9ZnWnCuOZXjHK447Z35zyzia4mG+96DySr/Pkg6vd5cmciSRvr3A
d46DxnNoWnR/Cu05Zt3zjqNjKhw/9Yv/J8//7u9w9KFv4vq1fVaxR9MSzUCourpEBJbVVxzFfyTP
IOsp6MTczbZltpvS2UJe26B8aWR2lO89ZMP+7M/+LFprvvM7v3Pn/Rs3bvDN3/zN/Kt/9a/4gR/4
gYc72auUB7X1Bz/4QX7sx36MH/mRH+FHf/RH+ZN/8k9ydnbGM888U77z5/7cn+Ozn/0sP/mTP8l3
fud38tRTT/GJT3yCj33sY/z8z/88Xdfxrd/6rfy9v/f3AOk3n/zkJ/noRz/KX/yLf5EPfehDfNd3
fRf//J//8/uuP51O+fSnP80P/dAP8alPfYqTkxPe+c538oM/+IP8wA/8wAMB23H55Cc/yZ//83+e
f/SP/hHWWr7ne76Hv/N3/s4r/uaqZ3qry8NKoPzxP/7H+emf/uniaHi1UlUVP/mTP8lf+At/gR//
8R/n27/92/ljf+yP8bnPfe6N3vKrlt/93d/lr/21v8b169f58Ic/zF/5K3+FD37wg+XzxWLBr//6
r79qe7xd3nj5igF8m3p4lBgjLm3wYwSXQ0aLHmAcTb5JyiFpt3knEgLCtM0JfxgAgJhBpMwPVgXM
gYH954Pb0UPM+9fhlVh/olQmG2Jygh6NUgl0S+GgMXhCzpYeU0h7SXyVAd8KrUTLLr9IWlVZFzgz
fUPwpR6ywLw82hAqn8FuPTwgefOfDZ0QQwE9MjDmfSybhqgUtbXs7e9xeHTE/uEBpqlBa8II5iqY
cj5XAhFiyAxfJ6F5WU/ybbD3zStKldoUcER2twWQj7E4ItK3imMggy8RRE5ltPiUPmSE+WOriqqq
sVYAC5EC8CX8sO2c6N85YQzm6+WxkuVPdhDUnfF3+bmGQ+Rq4zQyVvPM7w11kcO0ho3xqO9l4Oty
XebrXLF4Z/Azg8Q7Wr+vscQ8j5HvUxW2db4XYyps3TCZzbDNBFNVoDR97+nbjnazpdtscV0HzmFi
LKF6WiEyDlbA3iqFY4bsHEuREcMTJAZZkibI4W75mQOkhGwBFxIAnBi4WCP66CnZWyyhVAM7EyIh
iH9JpfmcGAdpkEs+idxIGQiIqW0G6QRVNnxDH8vM4EsbN3bPKQlglPT5Mr9nIGl3E7DrAIjlMwFc
FEEZqRMfcR5CyICvKdI5ImeSrmsN1iiMgqau6NOcrIGz1ZKzszNOTk+5d3HBtuvLvYYo0S4KAQa1
GeosP3N2+OTbLiDtfRs3mSd88EkGYpAbUooELoq0iCrjND2XNgWEGByOFJkFpZJjMaoC2MYkPJ6B
6svyDrIWZufQriMoJqmKsVa9EP6SMzEGdECuF0RiQtZxJdp9xhKVoQ/QRk+0ClQoCX2kxQMqBHGY
eI/2AeUC2qW/o6OCND5Jm0DhMKvESsyOZVJ3iSHi8XiHOLD7vuiea61pmoaqshAlrD2v00G8ruJK
0Jq6qamMHTRZU92J/mifwq1dek8ykoeRU8AkKYashRdCRGlhlBtrCSGyWq3Zdh2btmW93XKxXBCI
HB0fo2yDhM9qtAlFoiQWJ9HQpjK7jsZhtrNGm2UBzz0mQCVIsvTdkPpIWnOK7FMeN8bsAKiKzJoV
rU5bCfN4HNUy9mfHKBIZbdexbY9p246u7/AuRV6lo/eB1WrJYrFguVwkrVWJWnG9JNDbbresVysW
iwueeu+7eeLWY0yaWoD4bN+M+rBcX4CHnDDn/PwM1wvg29SG2aThxvUjnnjiMd79nic5Oj6kqit6
79P62tF2LW3bpTVWwGwBdSUqru8TONwJMNx7j3P9oOmc+q3Pc3gAHwSMD4DrnQDHLmKMTv1KYawb
SZjlWTTNMVpjrBYHkbXiGE5JfW1lEggszGBbSR+uK8N00jCbTplOGiprytiw1tBUNXVVi+xE09BU
htoaaqupraI2mtoYiWJRFmUSAx5JFmqzQ7E4GVMiy/Q+MWLrlqqZM51t8c4lvXOJmtFmhXORupnQ
dw7nRLt2Ppvy+GOPcePmTVarVepDveQr0Jq6mTCd72Hrmm3bcvd0yeLiHtZaJtMmRcZJtGBd19SV
KYn3gheH0Ha7TSzgQF3VWFujteHe+QWb7V1Wqy3L1Zb1OoHMUXQu5/M5s/mc+d6M/f05B4f7TJqa
EBwvvfgCzz77DC+/9BKb1YLjo0NuPf64gL2P32I2n+Fcz+npKXduv8zdO3dYXNzD9R2z2ZS92ZT9
gz1msznTyZS6qbD2rQ/fzYDcsCZQeAnD+l8W6vtsRHUp6eyDzn9lKTqt+TmvOuaxftUxrUlvYslz
6AB+v9r3X/kLr/R7DfiHAKMeVAw9qr3gqPY0xuEvXmBz9l+YhQvq2NGtNzz7jObuy3dZn7xEY5O+
fTIinHNUTd5jc+VxCNl/0DHnhxiQeBMjIXWibGrneirVFYdJLm0hih2b/36Y8nM/93MP/Oxf/+t/
Xf59Wc91DJzu7e3tfP6H//Afvu/7v/zLv7zz93d/93fvfOejH/0oH/3oR8vfP/zDP7zz/a/7uq8r
2qy5XL9+nX/8j//xA+//Ax/4AL/yK7/ywM8vn+vjH/84H//4x688zys9P4je7Cc+8Ykrz31VfcDV
zzQurySJcLnO34w2GJc/9af+FB//+Mf5xV/8Rb7ru77rVe8H4Du+4zv4ju/4jtd1v5fLg6712c9+
9qG+Ny6f+MQnmM1mfM/3fM+rfvft8sbKVwzga0wJ0h0M5rRJEC3aBGD1geAzO0wmYJeSB/m+T3pX
OoUJZm04OXcIPrFJRkZEuYMh0UlhpaakHSqBpnlTOoQgk0JFBravGm105FFG4eMhG50ZTEsGrqkE
7NUVClvOlbNz5QVGcIfMnHXJgM+MXVN+l8+bNSl13iBmyQWVmVw5A3lmMKds71m7Nwhjr6pqprM5
0/mcqq6JWov3d9yAI5qJbMhDkXQQBpmEdWag+mEXzHKNt/HhnSJ7yXHvTUZgMoCGcZQ2miPQjd1f
ldOMYfjMxM0MHlvVAvZWlbDOEUDDpc3odrsVwDdlTS8ecdTYQt9xPOTjADynsRNJSRFSeG8aT5e9
pyGDlXEMKl4q+bMSEjw8X0JsH1C/96OPMQPpWqdrXwYSry5isj7g23GQz8g6liglzhataaxlMp0y
m+9hqoqIJPwRFtCadrOmb7fgE7NXJRAq1aXWmtpa2VBrBSGPySytcv9YHORhUjiwGhKfOSdtLOIy
KjEoLbqqhBVsLZi+JIsssG9IwFiZ13N29cEBpTKM9ACLOgNYQ53F+75Q5AF2Pr1/I3jpiYfzX3HV
gd06/oUAXT4qfDS44OkctJ0AMeLQyzrXpoAlGWAvwkLRk5Ky41zP+dlZSgy0YLvtiMj8HpHIC0VA
ETGGEetR7zzf+LklwZpO825uX1lTnXMpYZEr8kUxBtHhNBLGb63dXbOUADvG2AQsDu3nVU4mJ+PK
JJBahTAAzxkETPebGX3a6AKEZgBY7lXAfZ/XEu8JOHxMI2rwaqEDaBUSgJqY6qaCGISxrLXc02j9
KpIvQdiCKniUcwnoDSjnUN5hohfdXCWh/CqNs6CisFZjlPVW6SLxEKMviet658o6nJ+9qkUP1RpD
Y23SZZW2ckGSLU6nEw4PD5k2TWEAik5yxCdHWwwSEeVcj9cGLGXsy/WEIZKZxTEmaRYfWCwWLBZL
2r4Xh4o2tM7x0p27rDZrDu4t2biYnE/CQpTka2OAHgZ9d1NYoDqB41lWqrDlCGgdsTpQVQI61iFi
rWj2aqWwlS11pVIfH7v0RIIlvxeJaogeuOyoE8xYnDkCfjdMJlUCS0UqIK8NWX+370UXXcC3nr7v
6J1oKW/WknRruVyyWC5473vfy6OPPII1VwBgMXXPEfi72Wy5fecO5/fO8d4zbSr25lOO9ue864lH
ed/73sW73/0EB0f7VJUt7GXnHL3rBYBM66xLusYhrcV979i2Ldu2S2zlnq7PYLVLc39M2u3ggsJF
Q+8VbRc4u1jRdo7QtxBEbkDpPFgo0W5FWiZ1MNES1mjdo1RbQssEqE9OY6PS2wpjFE1dC5jb1Ngk
b1AlHWEBQyvqqmI+mTKd1EzqimljmVSGSaWZWM2k0jQpcZw4wUwiOmhhBhthxss9DGuDUpHge/pO
ImNEEkKcoSEljnNP9GzXa9bLJcF7jIbpZMLR0SF13dB1fQLORV6nbhq01szmc7Q2rFZrnn/+Bfq+
49q1axxNpmilcIkdPZs2VLXF9z1duxWt3E6S14XgmTQNVT0BNJtNz4sv3eb2nROWyw3eg9KWppmw
t7fP8bVjjq8dc3C4z97eXBIwGs1mveHll+7wn//z/8fzzz9Lt11z7fiAJ598kve8+108+uijTJqG
8/N7vPDCCzz73LOsV0u22y0kCYyD/X0ODw6Y781paqnTGEQ6460uBZBVMTk+S5dL/xjGVZ6TKd9R
V8oRPAyjrvw+wmDFvI7yBgDTK08HV9ixr/z9N1LeCMBQRcfxPOJOv4i/eA61eIZ59wKP7NfEYHj2
5IwXXu74d//+8xztH9B2C1oPvaqgPkD1NUppzCtY2eZVdaSTHRF23zMMQC5A0LvLhlGDCoRSuc6z
nMP9e5G3y9vltZSnnnqKj370o/z1v/7X+bZv+7ai0fvfWrl9+zZ//+//ff5wuvFgAAAgAElEQVTy
X/7LXLt27ff7dr7iy1cM4DvedAsIkDSurKGOEUwEJWBhHz2u9ziXMzfLpkohiYmMMsKuyoyt5DFU
KocEkggYA1uraPaO5BxKeCIJqyqIQAqRHc3545DkzCgII+ZUyXoeh42zbJIq0epNcg6yFA0sioHR
LOfxweF9SnARBVjQuiqh34MWcN5AD/Ur2y5PDqcOIWX+DiExu9L9F9qTwljLdH/OdG9GNanB6BKq
nat2XBTZaO6JzpWs58H3BO9EzqFs/Hd/fflcl8Het5fYUUnAV5Y6uHzM1ksIKTtFjOgQCiiWQReV
2vk+xp2SEHNrcximLfqQOWt613Vpc9my3UqSHB8hqkHu4z7APgF9IejCRiv7xvse8o23eIGVEys0
Jk3cUofpea9ACdM9JWdPYa3p4T53QKw3cpNpM5OSjWUNXGMrqlqStFlbEVEpmY2AvV0Ce6N3KXO8
SgwnSXZijaa2wtTUisEZkzRVVbr28KRDpQUfhrpDWHIuRrre0TlJLqSqCmUUyhoBfpVIO6gSVpfn
EwpAPhjQw+syGHi5FPbqqK7QA7h7X3Uy7nf39+sCMKc2F8dCTsx0dZ+7fBlhoig6F+h7T9t7VlvH
tvWEkPQWbZX02GUtUlpRWUtTaXzf4vuW4KSduq7j3r173Lt3zr17FyxXohlpbNY1lScTAEWjk+5l
abcdX4oApDKGRW/XpaRf+T8fQwoR71J4eCSrNGtdFT3OytqkOy9AqtZgk7SA1jo5dySxqFIpgZtP
AGrWVTYWpcJ99VfWwawPnpyzGfTNIKEkqZP+F8O4Xw2SITIWBRDXKqJjj+8FaI1GoVxHrBq8rojW
oozFFiY9Jc+jipR+QVrDcb2EjFcWjNgnIeuJ5r6WHLuZ4aUTSJb7qhk5gH3wiXkoTtHKWEJlBdBL
Uh/Re5FvMCoB8hZ8oOs6WUfzuE3jWJf6FFBToYpcjUIXDdyc5I3kcA4h4Jxj23bC8IyR5WbDS3fu
cnJ+D/PyKc/dPsOUdaAqjPUM8GqtsSmZVzNpqKt6RwJgSCqGOH2iaBVX1tA0FU2VXnVF0wjQJ0lB
ZR3RKNEDznNWelZJ5BtLe+xO3jvemTS+879J0VZiV3knkQ5aKchOfQXWaiZNRdNYYmwksgCRpBD5
oo7NZsPR8THz+Sy1byBEnTK+j+4oOT9DjKxWK15++Tar5QqiZzqZcf3aEe+89RjvfvJxbj1yncO9
hlmtsEYAVm8gGI2vLL7RSa4hAa+QWPCxyHH1rk/6zUnHeZRPIfcK0bi2BFWx7eF8seF3v/gcL985
ZbXZYjWFAhdxwqqPQ1xX7vsx6pSQTpHZ2mQ99fxv5RJpQsYVCqzZJmdkRWVN0RJWSdLBWpl/mroW
rV8zMHwz2DutdGH/2px8rq6pm4ambmjqmrrOIHJOLCeSFPJfgzIVxiJOce8J1mGTnT+ftezvHaBU
xGqJeJhMGvq+S8lLI1VdY2tb7C9jDH3vuLhYcvvlOynRm+Hw8JD5fIoxU4yWPUPbbunbrUiLbLdi
1wewpqJuGup6Sts57l1suLhYslysWa87UIbprGE+3+P6jevcuHGdvYM9JtMJxirW6wXL5ZqTu6e8
8MLzPPvs8ywXCyaTioODQ6bTKd577t69I6Dwy7fFCXF+jrVKGMOzOQf7++zvCas3y8U434N/E+ye
hyiKKFqrZD7/iOmb2bRplGVH27jolFDzQfeaGaIP+rxcK8p8+tqOqU8prso39lDHnZpIkgTy3GJj
XWavXj4Kc/VBkgchOcIe9HuKcxAlkk1S5cUaybWckr8FNB4THTZ4mrhg0p3wwrO/id6ccDxpie2W
Vdhw7fgm73vXe/iN//TvRH5IR+b7M44OZvh2Sbe9x/zwVtpPkK4HISfjy/akSsmUy508oFwCdHPJ
QHDOAxAROQcVZLGRWoppr5vqU6V14EHXeru8XR6i/PAP/zAf+chH+Imf+Ak+9rGP/X7fzusqP/RD
P8TTTz/Nn/2zf/b3+1b+QJSvGMA3jkJvcoizUsL8rVSF8rIIxeCJTuEQmQAJQYtls5MTp+UN0AAz
7FxtYF7kTWXasMVRtnKlsj7k6HcjkLhstHcAi3QeBk3hHD7tU0hd2ewmBqVJjFwBk0y530hKpkQY
Ab49zvdpExiTtplFa5XOY0silDE4FQkFpI5p6ZTEFy7p/ZGeVUKyVdqI27piOp/TzKaYuko6fiTt
vFHJAHoMBNfLy/eQGBPeOWIKUyUDNZcW4MHM2D3v2yWVS3VewN3x3/mP0ftF1zf3UZ0N4QT8yo9L
vzTaYBJQlDfu1kr/DAlM6ruONoG9JawxRCIaVWal3cYr4guX2LiROIYbR+Dw62j+ggBRxuZwqYEJ
nJ05BcRVOUR4XJ/331L+oNxvciC9kW46SBDIS2uNtjX1ZEozFRmHHG6bkxN1W5FxiM6hEuvPpI2R
gZQhXWFNYsVkJn9K4KQVyXEzSkiWHjjEAEFUvnObuxBwMQrQ4TzRSKi5MomVrI1ooJISs+X5dWRI
l/qKwxwPWa5m5IzbqRxGAOD4PhPbQsUsuJauM0hFoLPjbKjfMQM4g73yT7W7IbiqQeMAWJOSQPWS
O4nlpmexatm0vTjgjEWbpHld1WVNapoajadPzjZVW4iB7WbD+dlZSvCzYtu2BMBqWxidMfoUJm2p
m6qEuyflhNJh81qmUyi/tRbVdeRok4iwO/u+o++rstbm2jBaU1cZfLN0xDIWckIxmxh9Pkh4MirL
VgT6FH2i01yitcGMWfilvzFE4hSpiNRGyUkViaBGc1fpBxnsHea8jC1VRlEZsDjavme9CMR2Q7A1
wdZoW6MLqJiT/MkY0SGggheANziCawldK58lvU2d98ilZ6dZI8ugKAVhsEHGrxgCXilJwBpJeuse
l9bPGLJehIDvXW/ZbjfJLolsNxu8E5kPawxWG3rnku0S8X5IxOLS+9bawsjLLN8Manvv6bPmaQhs
e8e9xZLziwW3757R+kh15xxTSV82KVmf1iYllRVgtqormqZhMpkIMzGF49vKpkijxARW0p5GQZXC
+idNzWzSMJ00zGcS4t/UNSY5FUxhDTOMX53qa+e/3SScY8Qkjv8fs/Zxdnr7Im2ltJAGsr2V5wi5
DzmXrgxMRC+3nc8FCIuR3vVYKmGPlYSGqvRVkACc9WbLyckJXbulspbjowOefOIx3vuuJ7n16HWO
D+c0FVh6ASKiaNZGI46JiBY5mcxoVhSnfYgRoiWEegh3Tt8lZs1RqUClLdrWRF2zdXB2b4WJPSb2
nJx5sqZviBQWcdYHj1oVMCjEmGTXEpCOkn6sA2hTnDReK5SKxa71OHrdU5muaFOrcm+D3Jk1Wb9d
IlisitRG0WSGb2WoTEoEV1kBeycTmkb6UVPXxZFQlaRxOs0T4hStjKbSGmtELsLUFZqItaCmqvTX
qq6wdYVqLbap0XaUJDSKXvdqtcI5z+npGaen5yxXS5TWzOdzJpMnqCpLjI71ZsN2s6JrN/S96ERr
pamqhkmTonpMRe9WAtq7QIwDUWQ2nXF4dCjs4eMjtFU417Fcbbl37x6nJ+fcvXPC3Tt3WK6W2Kri
+OiYGzdvMp3Nabue8/Nz7t65y+3bd1gsFvjgOdifM5vNuJaS00kyOQMxy0EJS/zLUQwi0WIVA9M8
rYcCWJoRKJs6O5cA3IJh3g/86vtY+VfDeK8f8H19QO99gG8kETeQyW/nqF7l+KDf6SJrdBXmm/d5
SkNQCmKgSlFGEZHzWneeaT0hOo9brzB+waOHE45sy3O/9Wv82n/699y9/TyKChd6us0pxwdT3nOr
4uL0Szz34jmT+YyzxQnL1QWxO+U/fObTfOtHvo/nlue0ZgJVhSey6Tyz/Rl9rzDRQ/QoKrk3WXIx
g8+1VNsoECHJL1/aM8XBrCgRZ5rEApZIqKqu6XuPi56qqggB+tFa+3Z5u7zW0jQNv/RLv/T7fRtv
qPz4j//47/ct/IEqXzGAb048kpHAzPwySdMyr8vCinF0XV6VCq8gbapTQpYMZuVNYpnRM6STNpNx
CFOL0Y+YTsPmfvhpDhuMibGULY38FLL5yzq7zg0Zo30JoVaoxIIYWDmDHMOQkCSD0oktHD0h9Hif
X45I/m3S6swMCTXoCssCLpvHYiQRILoh07EXaYjMQsuh9cYYqqZmOp9RTyZoawlaSQI9NRgkKtUr
GVh0Pb7vCK4vALBkU04e6TGlcwQI3YcBjwyeL495+V9fGeE4V9ZBNmDvCzFKHXcA8QbXh47D2BiD
EnlzbY3FVnaHpSVZyUMKA++LrmGbEt0452XUFAmR4aZ3gb9hDI3vP39Wbj//ZHyuS9+7Cmgdg8eX
2bdjsDezcXI4+VUMj2wIXgaoC+indueX1xPmpRLIOehOpiRtkwnT+RzbNKAVXd/Rtp0kh9lsJOwz
63yqiFEC+BoklN6mJE9ip0tkBDHJASTQIMZIQA+bt1ShGRhUKNAimdN5T59Chl1iiucQcLJMTkqY
NeicvVJ9qFKvOdRW2u/ytyiAnEr1FdUIoM0stzSv5yRkuX2VIDYD6JYdeLlfqXyV4XDfsYDCo7+1
xnsFkueLxXLLYrmh7Tx1MxXdxQTOTptamGVaUzcV68WGdruB4DFGs91suLi4x9nZGcvlivVmS987
QEKUgQT4KbRJgEZTD0kDGfro7vOTJFksSqmRjqcAE32SdIgxJqmiPO8rqloSLtV1JStQklDQ2iQt
2bwwynUqI1qanZLQ8dyS4iiSoMwQQ4nGGZJ7Dc6Tnf1tSEBqiPeNqzjqJ2UmUKCUxiK7ukltcT7Q
hY52u6TdrHDKEo1F2VoAzMREFXBeD8T/6MF30G/x7ZbYbYlKYdREtJe1GiUeTa+Y5yVVQLHx/GqM
KWufCQGfWLimsBlHzOYiLqwI3rPerCWBk+vZbrYE7zApkVZthXWX27xPSb3yRjXPa70xqO02OR+G
CIzeieZr73pa51i3HavNhuV6w8Vqw2LTEdQ6sSATOzjNUTqD/EbupaolFL+pG2FuJkawNkleSoFE
bskcVFvDdNown07Ym03Zm0/Zm8+Yz6ZM6locG+mcVV1jE7ic+2pJyCsercTazQzU1Ccuj+3UcbLM
VEhRVyElFsTFpMOb7KWcoGnk9EAl2yrNJb1zhK1EQTSTnKiRNBeS5lSV+oZns9lyfnYGIXKwv8et
xx7hqXe/i3c+8SjHhzMmjcLgid4RfEzMxSF5ZTbrYszQi7AIQzatYloMcuKiRIIo9rTSAtbbCttM
UKamD4rj/Rn9dg1uy6yGPknTOCfzviQLTpFyWossSIj0LtL1nt5lXeBAIOkvaxGh2fGeyh0LyO4c
MWiC1ymyJaEteb5OzHSfksMKu10YuI01I7BXy5pnTdEQtml85GRywiK2GCuOUGGWGxprmFSWSVOx
P5tyuDfjYG+GUVESwuGpK42xU5SxqLqmtpbpfI/JZFoSqHon2smbzYbNZstFitQ4Ozundw5jDfsH
B8znU4JvWS/vsVpd0PdbYpDEnLPpnKaZMJ/vMZ3N6V0QTWUfqaqa+XxG0wSMrTg+PuD46JD9/Tl1
ZVlt1lxc3OP07JST0xPOTs+5uFiwXW9o6pobN67xjluP88StJ5g0NcvlgpOTU1566WXu3bsgBM90
NmE2m3N0eMTx8TUO9vdQJMfQKCGvK/Jsb21ROo3HtE6XvMJ5lBet3F1bMr+p7lvnB0D3albv7lqj
RqEfKq0tD39M9mgsp3jNx1jk0HiLjg++uFTZ5TqS5KU+3daNGxNOTjpqNNevHcC2J7an/PIv/iy/
9m9/icXt51itN5xuDSerjhdO77K6CLzzGN775ONcu37EzZvHrLstX/vffR0vP/8c977wHMuV4n/4
n78XN2u4u10TqaitZbuFqgLfdlRGE9WQoK2Uy91g5+8cnTvsm7JtmaXEklUDQFVplKrou466qXFr
h1NONPG1BTreLm+Xt8vb5ctRvmIAX+d8YZ2UTb5sMTE6MYsS4zD6QNf1uK4XbU5IG/lBXzdniI4j
wKhsHGMOAxw2lcJ8CgXlEQaJGoFmwzlEriGH/sVkdMTRptvjvGyietenpBlJuzZ7qSn7CAbjJQMf
A/tNMpG7xOztcK5L7F5PNmCUAp10F+8DjTPQEwNKeSKeGHqi7/HpXNEHFMOmVxL8SGi5qSrqxO5V
1iTAN+4AvhJekwJrQsD3Hb5rC/swJH1lWUbHYdMRtLq8Pt9X3kqwN4425w/67JXKWxXWNnJSpy6y
U2uvfA8jAGycBfSqfyudNoOJDZhB3qqqJFN3Aip8YnZksDcDvnkDIOMmhX+GQdezXCsz90atHdIY
1DExa1VKWJTufZexPAJeE9BX+rhQixKD1RQsL4foCsaVx2bAh+RESl4ko/V9fTAWSKQgagWkGpch
OdHQRnlvkcHcB5UxCEkEH1NYYgJzbGVRKWx+s9mwXm9ot6Lxh8/M3iTloKDSAvRahMGricQkzaBU
SuaGzG8C9iZAyqSkj6X7pPEfoyQp6h3bztG6Hhc1UedNeX7lSIpXLxnkSxb2ILURZd4R4Cbf59AW
MbU/cSRbkpxr3kdcYuqhTdIGHrVNXldGoeU6HZVSDK0/PMODR34GboTJ7PrAer3h9GLJtu3RpmIy
mQpoX1VMmobZZMIkgb7BOc7OTui3G2ZNTQxRWFZ3T7h374LVasl2s8W5QNU0pFaU9vI+jdMKW1Ui
l4OMtxBHwHcU2QCjByeOsEuzJIKUnLwPYgHSZAwKO7dKTGJxcAq4FmMGY4ea0krkX+qqkbbTLXmt
E3ammCm980MywCsqWPR+U9uTQa2xrv4A/mangqzPJt0HRB2I3jNtrCSRairMasOq87Q+Rcf0W8JW
0WtDMBZtbEq4lgDEECD04Dqi66gUTCc108pQ25wEVRy3MnZzvV9ih2XHR5ofxk61qqowaggRb+pa
QHnv6bstIXhh7Vsj7/kO14uWrCRzk+s67yQiI53Te8ln4Po+sa81fS/OVtf1GG1KkrcQI23f03tP
INI5x6Z3AvhuWtadZ9sHvJJ1XTlAhWRreXL4vgC6XcmZIOCb6P0qnbVdRwzfKI4qoxWTpmJvJoDv
fDZhbzplMqmZNLWwhicj1rBN0SZGIk6yU6KqJJxfWz1ioNsyR+T+Im3AIPWlBLyOWvTKo5cIMueT
raZi0ZIWhqmcLkdBOxfoOtF2llBfh6kCtlIYDEWtO8gcprXBu57VYsnZySmzyYQnb93ife99L+98
8gmO96fMJjrJODiy9EWWcclRYBnTzdr8WQtdZqeR86zYL7HYED6IQ0dpEvAZMVaYcb5WPHZtDv5R
rh/OaLteAN2+p+/6pMOeteY1UWmci2y7ns22Y71tabtekskFiMoQUCI1kZxReZ2PkZLAM0YPsSd6
eYIsOSLsYWGqd31P23dF31YrkceZ1DVNkp4xSRIpR1MU2bSRMysFRaAVkjAtBgzCOJ9Nag73Zlw7
PODG0QGzSY3REaU8jz16A2Nu0MymSa5CMdvb4/j4mDt37rBcLFkul2y3G/rOFbkr0dFWnJ2e4Zyj
bmqOjg6xOtJ3a7xrCaFHK2iamkdu7nF0eEjTzIhRsd1s2Kw3eB+Yz2dMZ7Nku1TMZjMmE0vXbVmv
V8IoPjvl7Pyc1XrFZrPCuZ7prOYdT7yD97z7Xbzj1i2Ojw9ZLi64d36Pzbql732SvJhxeLjP9evX
OTo6YjqdAYrVas1yuWS9XrHZbMnSdF+OIgmrs8NjWJ9zMrTc19Xos+G36lJSN8hrfLHZLkkN3Y8W
vsEHfYMVpd7qin4Fsy0qVdLSeaVQpJwBychVSrHewKSpqTWst2sOasWv/Nv/l8/8yv/F5vYLbE/P
wE75zd97jq/6xm/h27/3/+CRxx7l1//dv+G3fvUzHExmmFlDrfexdo9v/NB/zy/8/Kd45tf/Db/z
+AE3v/qbOXzk3SyoUKoidA6rrNiuWqKsNCTZD1lfssBDHEkj5v5S7NSdzZWcYExGykQPn41yHZnN
wYeKzjkhh72lO9O3y9vl7fJ22S1fMYCvT5vZvJlKpBlZ8IXShdUaXWnm8xkxCFC0UdsU6pRZuYOB
wIDTDlvIxMTJ4X85M3lhcWg1sClGrDvIa0EOScthmRqdrp0TEQXvcEkqQc4/sEVU9vtmACoGfEhg
bNSMVyJhHDucF9C4SDmEzMrKCSry82bW1LAQiXEm4S8xOELsC1NYEr+5tCkdNPBKtaWNRpVC19Bj
TlMC03M7xVyHAd/3+L4neoeKEd/3En7uR7rICRV7kL3xykvp6wVZ74f1xm27C5zGK75/f3ktCRRe
axnAzrj79xVlZKuMTjAAJGPwdfxeYfXugL2JmZXCqjPQ22UZhxHY61NSPnGSJCDwEnAW49ihIb2r
gFgxomIQQywOv3mYcl9tl/E5XA8UOQlZCOkecjb49PwqD6AMQhKLoT2+T50rOAGcGby8st0f8iHy
PSqlRNpQJcdWXaONxcdYMndvNxu6VjQ8dYwiKhDFyLWJKVgn/UkVQ9HsRQmgZ3WuDwFVd1DefNvJ
4ZVlAYqMRNvTOQe2Jqqk01ukGDTDzMYAzl5VLypLZ+S5JDd6KIy4wVkwcnLEMLRBnjt9JARwHryT
TPW6JKBkp7+pUf8r7cb486ubcICMxkfp5y5E1tuO03sXbLc9KEPVNGUsTZqG+XTKdDZhPpuiNZyd
n3H37l0MEav3WSxX3D094+zeBetty7ZNERcqAx86rSeJkZi06rWSzU5ezwp4HscvBscOeS24NB8k
8LYAvlGAYNHPFzkI5/oSuu+cyCQIgGUTe1ynOpVzGK0JWlOlcGwgyRml9Tc7T9TQJiVZ205fHNjA
Ow2R+hF6tP4g/9NojI4Yo7BWnkFbw6z3tE4S6vUpJFmSEjqhd6bz5zU7eocKPZVWzKYT9ucTJrWV
MZQWMJ3rNYXTZ1CNOEpGN35GlfVD5VmNMTR1xWw2ZdJMIELXtcTgZa5KYHpuL520k8mA76jkeZwY
8eP6TM6s4D0e2KzXoJToCEPSXY8oa+hch/MSQo1OOtEGfFDEOEQOEdPYSY5lHbVoegYBx7SPaOXT
c+syD6jkcApB6jzPW01tmdaVgOpNTTMCcXOkSQZ7qwT2Wmtpmlo0gCc1dVMJcJ7C+KuqKqBEnpdU
qqfKZk36rAwaE/JImVuyDagLaJ9+rySKgaiIaJSp03yqCUGlOUzLZ2RHmvQ1YfNvWVxcsN1seOyx
R3nve97NO99xi/29KU1j0Epkd0L0KEKRbRkzlTOoW9SsR/c3LoNjbBgzqiTSozgAjRJg2dIzrSI3
DmfsTSp6H+iTHJd3wp7W2mCsxdoapQ0+RNrOsVpvWW02bLed/CZEwOBjpPdBWMJOokPyGuFDdtj5
JCsmaLqxkrjYx0DbO9rWsyagXA+hLaHUPhj60IOz9FoXR9F4vOmRVJCY+GKr56gYgksa3Y5pbbl+
fEj7yA1wHUZFNusFm/WCr/qq99M0NXv7c2wnrPbZdMr16zc4PHyZexcXydllsbWshy4EGjfF1jWL
1Yr1nTvY36m5dnzItKmwOlJZmEwkad/h4SHzvT20MWzWGy4WaxaLFev1FmsNjzxyE6VFYkmSbXpW
yws651mtNpydnbNYLFlvN/gEih8dHnLz5g3e99RT3Lp1i/35nOAc52f3ODk55eJiQQiR/f09Do8O
uHbtmL35HpPpNOlNbzi5e8rp6SkXFxd0negR13VNXde81WV3fRibFCqtQerS9y/9fvz/+wbIw9n4
b6S84T3BVVnn3sTySnhy2Ykm01yP5tPcFrYCpyRnhKoq5nPDF7/0HOcXC249+jj66AYv3zlntr/i
f/3f/nfe83XfQDCKxelLPPvF3+Lg+AbLtmO9UUwOb/G5X/st/sN/+Dzf8uEP8oVf+795+eQu3/o/
fS96vs9ZF5lPZf1TTVPuMg6z7X0Avsw1w+R4eZ+0GwEowLDYU9LvvJd1cjJpWC49TWPw0SRHasdb
3X/eLm+Xt8vbJZevHMA3iCh81NlQi0kLiQIAo2QDNG0aVCR57nViRGXtXZIFnENrhmtkwDbLG2T2
UN4Il8VM68IUyL/LmzkxoLUsLBFCGLYTGSQJwRfZBdFRS2Ekl1Bo2QgEQnD4nIBnLF0RHD6Dva4b
QFqhQpD1q4qxHyNKJyhFpSskwDcGRwgdPnQC+Ia+JKYbwLG8eRg2F5nBo4xJQFcsDJPynTjcMyGI
bnHfgw+oIAC4d70AzxmQH//wNZU3C+y9dPP3b5d4uPt7vc/x8OUNnT0OoNnYuMmAQNb5zJmxK2tF
p9EYYsyZv3u6tmPbDjIOBeyNoVh/hU3JwDLKAGq6A3JW9zHwk8fXazWOBZjd5YxTHA/DZkGR5hel
CSrI0I12B2xV2XkRUz9OlqFCpTD5gVFY+kpMz5TOMYCTDwA773+AVG9aDFatymbapFDtvndsN1s2
my1t28m4Suy/oturJFTXajnqkUMJQgKgUpuTwpnT3RYmOJRkjIpBB7bte9quo3MOF3KyjFwHevQa
zQ350UqjDL/IIbuqsK5HVTn88v6WTuzUIKnURcohCHs7M7h3+9ruPKZH/1aj/qpi7iMPwVFWKeu3
ElZp13uW6w2L5ZoAaQw1WFsxm0yYTeU135sxm9QE13NyesKd23eYTyfUVU3fO05O77FYbuh6T9cn
qR4t+pkxCkPO9SElXhIQv8DYZS5N9ZTbPQ5h/rusWPm3Sbq5mV2ewct8jiJ3kpI2KZ0ZvpG+7wjB
Yi2D/qkW7eIYB8avJHZTJZGULyH0yamSx16+l5FTSo4D5F8YjPn7GFl7YwaSh8+tFuekVRpbQVVX
zJxIkjifkr0mxqFzPvV16e+9CsmBLP1h2lQczKcczKc0tR310UFmJGqF8km/Ogza4GWOVUnL2GSd
YmEc2qxNmxKbld9qkWqCYS03KdomWE1Itk7W2hb2dhBdVaK0bV2VtrynJAAAACAASURBVAsZxCbS
dluEAR7RxkhEhRraoWoME+Ra2lZCgkWJFmthmA7jX2kJxc/jQ6WoKk8e/yON5fR38Al3ixEVJXpg
bTrq1Za6MimxlrAxs0TQwNTUkpjX6CQhISzfyaRhOp0wmU6SXmuNMglkT/acUirpvFYFFDbGYNLz
m5LoVpeEecKkTiBhajNN1p1WRGXwQRzb2o7mxChAY9HajaCUZrNpWS6FefnIzZu844lb3LxxncqI
NA8pX8N41Y9pTIQoa1e2h8UmTU6cMPaIqNEvhyVrFzAbHEUqejRgdMAqz6zWTOoJKCPjNnhJZhZj
cg5XxSEZo8I5z2bTstlu2bZdkhQBSPrvPtD3IhnSO49PzhGJthGZF7HfhcRQ1TVKa3onbPPNdst6
U7FaGdYbXZjH4nQRreQY5D6znEp2Qro0JsMIXI4xiEM3eKLria6D4Jg1lr3GUplHqI3h/Owuzz/3
Je7efYmmsTz62E1u3ryGAmwtdXBw7RrH129wcnpG2/VU3tF3PeIQDFR9j7EVzgeWqxXqxZfp2paD
vRmzac3B3pS6atjfO+Do4AhrLG3bsbhYcXJyzmq1IUb1/7P35rG2ZXd952ettfc+4x3fezW8cpXt
FNjBRQHBdhmQZRvbJUuk0oaWLFJppEY0UQQCWaSkQAIiidQB5AYMMQTJlv9ot0kw6gSiBILobhvL
aQPNUAy2carscpXtGt5w373nnmlPa63+47fW2vvce9+rwS5Du9+S7jvnnbPPHtb8+/6+v++PwWDI
eDxGZ5qqrqmqNYsQDbKualbLkvliSRWY2HluGI3HnDu3z513voQ77rjIdDrBNi3XDg64fPkyB9eu
sS5L8tywvbPN+fPC7PUe6rqhrlesFkuuXr3K0eERi8UCZx2DYQEIy/jFLiYys/WJvqu7HUjq470S
+7z23KA8+876SwVs3Zf282e5/2cvNwJ0gedgTjmc6mxjHTZ1GkApylLmhGpt2RrkeN/yPf/D/8Rb
fu7n+Pb7volzu/u8/NydPLMyvPeX3s3/+I/+ER/+6O9ydPmL3HF+m7pqKYoJ2+fu4KN/8Aj/x3/6
Td74rfdytJxzSznj6uf+nOPHv5ndr7+NuVNkhTiR0JrWgkScgAkSSz4BvlpkZXosX5Bp8mST9ngc
Mk/3vjPG0LYwyOETn/g09957D9pAlik8hutpPt8sN8vNcrN8uctXDeDrrMMrYe2io/RBb3b2Xhii
Qat2MpmQ5wWZyTkCqrIKUgf0ZnQf/X70Q5kjwxcEGA6uvQQGxI1x9B7Lflq+70I3O2jDOpvYVLKJ
lYQ8CeDUHQgmLKgAiHlhGIt51OK9CmxhFZjBrcg49P6clxBcuc+oK+fxRP06m64jGdcF0LauoWlr
rK2wrjkBcnchbxGA6sMfMakVSnegevpehXqW6vDWikFqbQfMRKCiv5hebyPSw5pPH6JOvD6f8lx+
80LOGwGqFxf0faHlpCxFH8jps3uLkNzEhOzoIEBB27YC9gYZh7qpE9jrieMzvvaAX7lYcpT0AZl0
X+GzpC8cx+cJVtINny06hXq/SSzyYJRbCKHkwmQSJhZACOFWEbAkjKHg/KAztjtwUnXPRQSgZDN8
KjjwWYyFbjzI2DLadGCv0iKlsC5Zr9aU61ISHzqXpA+0CiCv0kEjNsx2wfESx6XuJTvSEdQNgEtk
L3f13LWPtZa6EWavdRals/TsYfsfGG3hfWBGJHSBfv874RSI83APjOxHTyb9zB7g57xH43E2JLMM
jDpxEPafs4NANyQdVH+OU6lOZOp/lrbqWjVoFwvwsFytqZuWQWAXCpiUp+RTw0HG1mRMZjSz2TFP
P/lFrl65QruzQ54VWOc4Ol6wqhoJX3YeAosOpYQh1woQ7AJg6QKjVOnIUA8Ohw0nSogeCey59BAB
sM9CotDI4veR4dh7zlgj1so6ggcbEnxF3V/nHU0rjFkhygZgLROGpqyZfcD3NKDcsVEVfTmRzVo/
wQR2KqyzAdima2Otu/e51uTAINdYZwRgci45mWzQcrXWCRhsc2EzhnE2GgyYTKQtlQo6r9FRQzdn
udRnZQSZmGhKxfrIUr/03ssQVaJNWtd1YlDaVqJ3MmMQNqygo9qEpFZ4GlXR1MHhFmSolA/3hpeo
nKBPLAB9Q9tIm7WBsSndLLCCjUbnhmE2JBuNyGpH/vS1tObrzOB1BsqkeV6czYHl2we3da+NYpfr
rwl4tM2CM8JKJIIXmY/aQusdOuQcwNsO9Pfp5wJueyeyBEbA2TzLKQa5yDzkInliggyCMdH5EOQm
MrPBBM7zjEwZ8iyjyAv5bihJvmKdKyXXks9MYhpro2ltLfNvVuB8yJ+Q5I1krMpg0pRlRbmuwMHu
zjbn9neZTsfU5RyRcAisXiJj1SfdbbyWPV9vTop7zpSgjZ6zlW5a75w54TfW4rTGGwF1FZBpwFtw
bdIbV0qcHNa1Mg8Yjcki4zqXvaLztJOCuh5KX7M29Y3Icm6D/nvdtrSBbZ7uxQcnC+LwHI9GKK0p
q5qj2YyyLFlXZYhyKSnrmjZEdLSto6obqqgva63ISXgJ7LbWBw1iSxPyX8j+1ImkWV2BaxkYhc49
e1sjXnrHrZzf2+PqpS9y+dLTPPX0Fzl/YZ+//XWvoKxqrPcMnKMYjxhMtzh3/gKHR0d4pSjLkuP5
XKJhtGglexSthap2rNcVdSO6vFobxuMpOzv77OzsMByOKEtxCMxmc46PF6zXFcZIXdd1hW9gtVpy
cO2Ao6NDyrIK0R/gXEueiUNjPB6zvTPlwi3nuXDhPMNhwXq14ujwkEtPX+LylcssFgs8nvF0ws7u
NltbW+R5ztHsmPl8zvx4wfx4wWqxpKoqnAVjcvJsRJEPyb4CgK/MJV3UZs8cTM7FNNGEt/2lPPb7
ZKds7MlOar+G/cuX6xVJ/PWlgL5fIl58o+0zELfNfRtm81XFZN8q7lQ7J5LGsz3N8BaUMjTVkuFk
xL/9D/87t5w/xx/8P3+INp6X3PkyRuNd6nXJh/7t/8a5/Sm3n9tjb2ubgRnxxONP8djjn+DJLzzO
g9/1Nn7soe/njz/+O1x56nF2phlf+OQfMrl4D4PRLbStJctH1I3cv9Ya5T25AqLUYHg2jeyf+jVp
VPCNnVFH3TZYdZCAg1yBsvDIX32a1/yde/BOpA+tuwn23iw3y83ylStfNYCvbdtg8IUkQiqEsamY
LR5AJXzWGM1wMAghdp6lWVKWkuzG0wEy0QgjQr9hUyAygi7o/sn3oKIkJTFSKC4GWgVAJ2agT+Gx
IStxz9h2PeBVQOPIxA3sJJ11yTd8SDbiItgljIXIEm5tAGltm5KeyXkl2RQh67EAx41cx0CnK2xF
xsE3wvC1MflGTCB3miWWtI0DwBVZwP0/MVxDHcVGDIaEd2Iwe+tC8jYBv+X+08FnbmZOrM+9os76
8G9A6W+QbnR/X1lAOBqDAMr7AFKppPeYdHrDXxaYvQnsdY66aSirSpi9EewNmd8jy+i6z94D3U6H
2MfPSeBP/7iN0/S27M/1weMVojxMx9QXQ0u5TjNYqWCWqmfpXZv4E2lI6N79eZ9qI92/igb42U8Q
Wbg+JOiKSbqauqFsGtbrkrKqOrAXn/R5NfJsmdEYpSCx/mxg6nv5XMVIAo8kHEKcONoFWQRJwqa0
Cc4w0Yl0PiTg8fI7k2X4DYZf/48E/pz+vqsLHfQuXZhAEuAbwF/vfLLDokYl6TvRqmzbBjxoJbqN
mcowRmE8+MAE7CMdfeDtzMZM4N2NgV/fexOBQ+dBZznaCCMyHwwZjscUg4JBIRqTudGUqxWHB1e5
euUy8+PjkPFeGJJV42isALuOsPhEhlpImFQ3QQ89yDqAMDlNcNqYLGPTmI1riIxXFTq41GOQbDDi
EHHW0jZN0MYUkAzCMyaA0AnrH8kunOU5mcmwzoX7q7EOjM6I7F1nLRG0NzGJlBPpDoWs4cJmDW0U
5lIXnKobpnk41iORBxm5aNUqkTzyrgNgBZwLILgSlphz0CqPhZ5RqFAqT33N2ggGB9kMdLpHFYBe
lRzDqXtJv85MAM1lPjPa9DSjIyDfM6i1CmC5OF+1imC3Z1AIeKmBNiQ8TdEYIfmZCfIatu3aNoKf
JianMgLWZZnBFQL+1nVNUze0rRWHX54LmzfPMMOC4dY22aoKyWbbEMGRkTZGMblsSqwV/6/CkiD6
1jr147TzkvoKmqZaeyCTvZ0XJ5V3wiZzKXW8JnqB4lITdjuyf3EO5Ty0Fq0cpmxCP+kc2NHBrsP6
p1VIRptlFEG6KDNZSp6XmywkicuC9IPMJ1mmybOcwaAg14YiF3Zxnmc0TcVkMuLOl1xkZ0f2dyEJ
RHBGxPHgWCwWLOYLrLUMCknCNZ2MWbqSInPkxiFLsIC4TZBRAp/kh+I4d2FOdD3gIWl2J9A9Eg02
50AXxq33HmsM3jnKsqStZa+pMDhryPI89PWg5qnk3rwX2ZG4thrlKTLIlMF5GT0mOClkjy7zSWMt
VdxDhIEkhApZk7IAVmqtKcuS6chQllWSWmlbkbcRB41oKJdVLVEoTRtkIzytDVISTZw/G6qypq4r
2qbFNi11VdKUa7xtyA3k2qNcy/HRAYdXL/H445/l4OAyTVOzXC6pyhLnPVmWiRyF0uTjEecvXODg
2jXmiyWL5Yo8LxiPpe81TSvOEa0ZDAbs75/nzpfcxYXzu0zHA/Z3pgyHOVXVMD+eU1bi3C2rmroS
W0YZRetajmZHLJYLZsczjo5mVFWJh+DQCE7G8Zjt7R329nbZ3t5ia2uL8WTMbHbM0eEh1w4OODw4
4Hg2w3nLdGvC7bffyu7uDtoYjudzrh0eMTuasZgvKddSX85GEFOnMe78CcD0RShi+4X5OArKxvlb
CaAaJuYzwc1N58ez2Q8R8fvyvMYoSPOCn/4rYPGo/lVOv2okOWMKPVUa7eO219GuarxrKXBsDxzX
nn6MT/3F7/Pf/3ffjvIln/ncY3zikce59MUrFKNdsnnBqJhAbpgfHPCpv/grjHIYu+b733E/3/ZN
d/G5P/0/uW0C+e6ACzsTnrz2JNc+/ynOf90uM5dT1w2YXJwmBN3ekLiza2PZe2Zhz4PvgHeN7yJU
TwD0XbXI/tq1jlGhmR2tuPT455kaIadhCVrvX0rr3iw3y81yszz38lUG+Gq8DrIEyQBU4imPrFhB
WwXgDElPptNpShiyXq9TyKZgBdH12yFBSvALSRblwfc8vX2Gr1LdRkIFVXjvAlSajGcfrhUB0ghi
dDpwfdBBQlfNJgsmAMfWdxnWhd3b09r1VqoiGTFRCzACWZKRWzkVwF4JN7FOEr5Z22DDeSITKBqK
EVhPS154E9kjkpHXpedK3t6IddI9d8x+jROjvakjWBWlHL580O2XA0Lt48snz/dczi/7pT5MdPLJ
bnSFr0AJRng0+ozJyHPRX8vzIgG9KgK9PoZYNhKiWZaUlYC9knywn6pAbbwAySgX4I/euOCMhg/e
G78JpvXrcoOh5J+t34T+uaHZFYxcL59HRuuGhmiXBvq6LeTo5AICBEkaNAlQpjvqWY0LOZN3Lmhm
yv24wMhz1lI2LWUp4IuLIC6E8NuQnCjMA+AEYHNWQnR1nGsEbhGWGHjlAvjU6bn2PDbhOXpttlEp
oU030PH+BrsH/nu10Vgqzl101RavJR+lT86opuhQE5Cjba0kqssg0wJKeGXIUaJfakwn4dC7uwQI
pmuE+T1Wgzp5z/1+tHlLzllQClMUZM6jsgydD8gHQ4rhMGSLN+SZxjYV89kRRwcHLI7nLJcrWuux
XjMYjrDBeK5r0Zg1xuCVSIm01tIE7VmjegPIkxwExhhhhMa1KtyjjfIF1m48j4sMWyPrR2tbmrbZ
OM5HsDdoa7pG5nCTmRBKXwjDT0tSQVe1wekYxpj11K4N4JMR0EeDDxIsESTsNG5J7bIpDrKZfC9+
GucW5xzayR4hspdVr56CUFIvsVZM2kUAUU1ivdtecrioUxs6KV2OgDifxH7R6/PRoOyv9T2NSR3u
K8o9RKZl45yMYU8A+7qIB60VXm+CmBHc11rT6hY8gbmakRdZ0rv0ODJjGA6lrbIsY7VasVquWK9L
rPcihzAeM5iMGW1NyEYTKneU+kPEe9MgCJINPvan3jgi1X0cMBq1MaDCOI+Ja+PAC4ifEziejtnf
cwp7mV+89zJXxrUjHOeQpJfKEmQc43ddboJ4W8lRonVygGoIUhHRIWpC8jeD0aK/mwcmsdGQZxmD
PCPLNG1bc+st5zl/4QIq6G772N4qMF2Vom5qDq8dcnh4jaapMEYxGhRMJkNwI4xuyLTHaOkHTdtK
ktSqTIz6fm6JuJa53rjVYS5IjHCtU1866XjQWurTtpamriXpWFWBEumKFIGhNRiFNqGNdUyI7ENi
JwElFeACg0IFKQ2jTNLRdd6TBX1wF+5BaQEQfZDJyLKcyUQSk2VGU1cluek0r+mt39YJwzcyh5um
DSx9+a5pLW0TopTqhqqqZR8TAN+mrmjrCtfWaO9QvmV3e0K1XnH1ymWWizlKQVHk4nhxDmMyBsNx
cMKEcPEYIRRQyOl0C1AMBiua2jIaTxmNJgwGI772a1/BK77mbzGdDGmrFUp7VquS9XrJcnFMWa3D
nCuz12g4TpEjZVmyWCw4Pp6zWq3Ai1zNaDhkPJkwnU7Z2dlhd2ePre0t8rxAoViv1hxcvcrBwVWO
jg5F97cpGY+H7OxOmG6Nsc6yPF5xfDxnsYhAr8M7hRBWAmEgy8nzAUUxZDAY8qKXkFtEBbQ3RYGE
LV2a6sN8Em2ZtD2LyPBGcQgLX7S1N2OzHFGuD/rz+/N/TbNj3PS8oHO8sN/F1+759At8lffxf7EY
BwpHYTzDQU67ntMsZrz3F9/F3gh2xprFvGI6GvKN97wKf+8OX3zyCvP5gi987nHueeUrePTzT/J1
X38Pu5MBr7jrHLfuaL742KfZfsWdPP75x5gOBgx3LXsDw/zJR7j7619NS8FitWa8k+NsWN89J+6u
386xjygMYc4M65DvYQKeSCojeJ8E2B4YxTSHpw6uMLv0JLoGVa9Fviv70h0eR0dH/OiP/ijvfve7
GY/HX/L5/v9afuZnfoZv/dZv5Y1vfONf963cLDfLi1a+egBfa4WJ6B3Kd5vUZLKFhTeCvgL4SuKY
4XBAZJp4D2VV4ZtGgFiiIdk3TjodWe/jAkkCgTb1HsPPlEI7cBq082E5F03JmLU2aqJ1OJDqmBaq
B8Ao0cLr7ilmvQ2MXBeA2pCgzSXtWzEAjYkb/6CHipMkHy4CKk6MJ++CBnBNa6Nm7wkDKBirqv+J
CuFw3tOEDMnW9gCi1DZyz9H4iiGpLuik4SXDsrUh47RU47OAds+tfLmhU/9C7+tZgb2uf7245ezr
RKBE2GHCXioGEn6eZbkwoowYLhHwaFoxjiQ5WymssDYkk0qb0G5jHbemsQ8nR4CKAKhPd3iK4Rtf
Y/1v9LH+trfbQF+3xn3383itaITJqQO47DrwRvcYaj0s7dQ1ElB84noJFupuNnzVAxVvUPryMh6P
bVsa52icp7YSiupsG8CsAPYqkXLIQ0Z6rRTeuiCjEiRfeqHIcUPsrMcFcC1q9KbaVV17xLtPrRYA
rthOkEZ91yKdl6wDJGI7hLpOgEP4SV/WI80mntMNEOo1Jm2z1sqGXEGeaYaDHGVyWhS1B6fNxk/j
u8S2PsthpTpQpPuyPzNu9gjnRQM1ywuMA20yTDHAFAN0FsLJAxuzWq2YHx0yP5pRlRXluqRpvYTJ
6xxlDA5EuqG1DLQAUBGMaa04A01MMR/uJ8myBPA/AZ3hEHHctJuAL8jcHOWAlE8yDQIcRd1ql0LJ
TQj7juxVrQ1ZkoDJJdFcG5i7GtqqDWy6VsLjB0NJ8oQPGbWjA6rvBNzseb1ltwdUha7gxTEV+3cE
UrvQ//6aFjqUj9fWqV1V0GSNfTGymZJTy8cQeJfQhVPJ4H2499SnwoxwxloZ56SYTMp5G5JbheSL
wfFknSTLMgGc0z2dWZdY/goVWd3ei8xAngXpiO65i0HGZDxlMpkwGAxYLpccD+Zk8wVlVTOejNna
3WVnb4/xzpTawaWDWXI6dRPDxmiXFvII6OcRbW8Vek+3fUr9UXUVIG+itGKcUzWIZJTdmDvTOZJt
3o8M2pxjRY5nc47uS3BF2ZjWy15O1pQWrVxQ3u3kQEwA2CNTXJhkAcz3ViILgoyOdy0oJRrnwQni
iZInWvBAD+t1FUC3a7RNTdvUONeilSfPNcprtHZIugTpv9a2VJUwXBOI2wN8Bfh0vbGpQ0I60eGP
smQnAV+lNJnJUSisd6xWa2bHc5xzDIbDzgkc55zonNExEaEO7N3wuVd47dKcnnTp4wqpIhtPxpwo
yIT5VhuiHnR0TAhLXq4Rk+wNihytTeozHsFmnI1awEFaxksyT2vFCWpDwrimaYUh3Erkg20biT5r
G4lKsy1Keeq6QinPzs4WWW6om5rxeJySWBbDAW0t1eLqhvV6TVlVtG2L1prxeBLqPmO5WDEeT5lO
t8mM4aV3vYyLt98BvuHKeslyuWC9WrBazVmtFsKu1oq8KBgOBgzGI4bDIQpF24o+sG0tWSZOt8l4
zNb2lJ2dbXZ2hNU7nkzIs5y6ttKus2MuX7rM4eE1Vss5dbOmyDO2tsbs7EzRBhbzBbPZgvl8mRJa
GpNBroWN74W8UhQFo9GE8XjCcPjiA755ihII60LYKMa1zluHaGxr8BIpJbai/N9EDfoz9+k+ODHO
Au6+dDBvQ8rBk/ZRz+dVbwDWL/RVX/fVP8v5syyj9ZIYN1OwqiwDYzDKMjaKxfERk/0tLs8u8Zu/
9r8y1RXjgebKk59jnA/I1yJPtCiv8cq79vDs88zlKU888Qgve/lFLlzYoynnHM2PWM1W7GSO1k9R
Zo/lasUzTz1NMdlhVF9j1BwxLCZsjye0SsZ3noW1tLfmqD48HdctH1m90T4RTEEhkTZGm+QcN0ox
HGi0BbtckmcT/v0H34+pl7z/l36R137La7l48SK33X4rz4Xh+9BDD/G93/u93HvvvQBcvnyZd73r
XTzwwAN80zd907P+/q+rPPTQQywWC0DG/rlz53j961/P2972tuuMpxevNE3Dj//4j/MjP/Ij3H77
7V/Ra98sN8vflPLVA/gmhq9GG08btSDp2DAR9I0MBU9g+GhDUeTAOGxWJCzQtW3KYJzocapnUKqT
C1y/nEQdgmZiAH2962kAR0aK96fCODumTz/0URMzXKf1KPze+aAB7CzetwKAR9F8fRLwjXXkwYu0
hA0bYEmKZENIaNRdjJujyLA68cjhdHEPYJ0k7GrqOoR2smljxY1XTOPqfAIYBEyS68Www3i3f23l
DGP9ut9/WTHaWHEJ1vpynry7SmxQrVExYRMqgAFiIAwGQwaDQUgulaVILec9ddsIG6apk25v0zRh
I9RpBG64C1RneEbI5sw27gFtEH7zfOvh2Q6PgB6dVmH/epGZl6QDeiCk6oFpHfO1xyhM99vNSyhh
b50cSKdvM84RJ++XdA9eCdu3bWoBe1tLSyAbOFC+A7cyo8gD80xDkFDpktEk7XECCBduzyuC/qXv
kmf5znhyXsA4TgBW8RE6+QVIQH6qNpWeBSX9yai+cdZ/7LjZ7uoW1ef4noSTI1tc6kM0ZeW6eaYZ
DQtMXtB6hWpaAX3pjzp1oo06OJvQrgoVjPQu8uKsTW333ErYfCbDqZbBcEQ2GKGyTBK4FTm50di2
oVwtWc0XlKs1bdPSNJbWN+SNZIAWnfOo59oIWJMFhq8T8ELm5MRX7QGlhHXBbIw7AdZFXz7Ox8LY
k2iQmHQML85T28bIj/CUTirbaM1kNKJuGtooDYEkM8kHA1BtcBoZQJIordo1i8WC5XLF1taWgD/a
pCrfXHWjw5DE3AOStEwsWsWkqLJOeueSzq7o+CFrP51jNPV7F/XjQ0K3UD9Kq5Cc0gV96G6W9q67
l9QXIpjbq+OTJa1x4R67NT9Cl/05MICU3ofEZ/Jd2zS4tgnyA5pBUUj9eh+iLFr5TnWyHEabIEkg
IF905G1Np2xvbzOeTAQ0GwwYjcZMp1Nmx3MmW1vsnz/PuVtvYTAecengGnVd0jYVeCvzm7d4TNjz
dCBgJNIqvEh1KI1SNgCeMt/EHrsxm/TBRxcjIsJxTqUIpLgZSdNLV3Nnv1cn33ftBwHmOGMa9mHu
Sw4rDVaFz+NDegfW4lqJltKEJGveYTRcvON2imIQkpkJ2KSNRnkBRJ1zlOsVh4fXmM/neOc4ns04
uHqVrXEBvgZfkRlPZqTvr9drlstl0swnAIqRQR5lbqIMCZAAXx0Y/7FEVrlUvwCrFGFv7RxlVbNc
riiKAmMyisEwRBBEeZ9OLiLOkyYm0gu9Ou0DXJfTIf64ixBTaS7w4V60MQH8NQlg7zstFASWtTCv
fdQ0RiB7b1Lqrq7fkLa6RDmjlF8jRJ9Z28s1ERyq1ras1iu2t7eomiolqfUKtra2CDcjGuvO09Q1
q+VSNPatMIC10qmfaZ1R5AMmo6kAxiZnNjtmvZ5z5fIl1qs5db0WPWErkiTDfMBkMmVnd5/xaAIO
Vosly+WSuq7JsozJdMr29lYAerfY3d0JoLTBOs9yuWA+F8bu7EjkHJaLBXVdopRjd3ebc+f3mU4n
NLVIVpTrEjwiR5MblHJo7cnCZ3meMxgMGI/HjEYjimJwejB9mUsXqr/5SthDaBPWdt+9ioNF/m/O
BKZOAp8d4zdclbONA3/q9UYMWh1sTxfmwbNelb8+v7a7heszcJXaWLVelNdhDhUSQTEZGTJA1TUZ
ltt3x3z4t/8Dv/Pb/5HF1UusDp7ilq0hX/+1L2V2eMywmHD1aE428Nj6GO9yMt8yP7zG37n36ykG
UHnNwfE1RplGj4f8+X97ktw1ZE2FWx5x10sHPPPYJ3j4Y7/NXE28VQAAIABJREFU33n7D1BXmieP
Zkx2dkRf14PVWhi7SZohkMZc3F9GAF6lfDwxMEh7A9YzyI0kjdcaW1mKTHHHbVN+40P/ntXRZbaH
iice/UsOnn6Mnd0tptMpP/nj//iM/nX9MpvN+IVf+AXe9KY38aY3vYmjo6Pn9fuvdPnBH/xB7r33
XpxzfOELX+C9730vRVHw5je/+Tn9vi/Z96WUPM/5/u//fi5cuPAln+tmuVn+v1q+agDftqlRIbzO
IxtCq1RY8RsgRzaLPdvdC6jhnICoWZ4xmYwDgwkoS1prk0GRrGTfGYaxnGQedu/95vdhgdGqy/gp
2Zrj7yKA1MkvnASA+3IVYgzJxjZq5yYQWSHe9Qgcm5gURfUM4gBiKdEC1mkTIswtYTJI0iWdQKpo
gJ4GqoShIdpEHmH5Wu9DGLdo6qnwvD3oK/w+GOM+GuVdduSkx/mCJv/T9/q8fh3b/Ussz3fhOvN4
H/dxzx3sfC7X7Se/6ifK0sG4GwwGDAcjBkMxSrO803iM7Jg6JD6p65q6rpPHO+ntnXndeE26ccbm
4ae1efsHqY3jIgj0ghosApjx7KrbuPdvocc7Sv0xgTQ+ApG9+6Kn+ZU+PP0M0b59rne+wSZVCmH3
S4JD10YjRO5UB3A30yrIOATt05DcCETbVwVWaf8eVATEcGE+iCy6eN1eML2PT9w9nqTuiDENnsgO
tc6hvQ8ayLJ7PsmW7lXYGf2AwFCzXT2cUT8xtNgH8CC2njAxMrYmAwbDEY0DO1vQtiGjvQpaotdp
k/iscWlIeri6A0u6iI9OfkA+16ignZsPhxTjMcV4RDEckGeaIi8wytGWDU1ZpmRckVUjU7wk3JPx
J9Ecwg4VoMk6UnhyByAErecE3sS6dQFAESdE3wkTgVTvLNaq4PxTNE2Fz2QLYUxMtiXnaNuGqiqp
qoK8KFBaYxTpfCqEv1e+FYanEd1Y74UhW5Yl8/lcGGFDifrokgPK2BPgxeBiCG0wyCJrmV4bAAIq
OgGmo26ptIkJ4GrsxR1o1J8LN9sdcNKfI5vZp/vTqJTtu7cHSB90p+y7KTbW+tA4qtf/Yn8jzUuB
CanpZARCslphugpQ1bYNICxUFwB86z027D2KPBf5kFyinaL0g7DXPGW1xnlHURRoJceNJxOyIme6
tc3W7jZFIcnLqnLN/OgIozwaGzS0g1au9viQEMsHRm7cCziVpjFUAENl3vRhzuivwz4AcXEPJX3C
x31GTAApFSzvrrNcdgDQicZRoYHpzh8dJbElEwcgvu85qFSYFGKf8sGh7pwH12mlO2fJjGE0HLKz
s93pUiPs4NYiDpkw3lbLBXVZovEcXjvgyS9+gVw7JqMM7yuyDLIQKrxaSl6Ktu3pcHsPAfyPjvS+
hm8c9yokYoslRgPE+hCmq0RvtU3LbDbj2uEROzviHPDOS4Jgb5L2sXIuAMeKTGkyoxLjWHJidHO0
J4AtzofEgiQwTqMSUxM0ysQovk4bVLbCQexBExyETs5nXXJcSm8L83QihvScYnEOMUE6wmuSpqd3
YT2RzhijXkbjEZPpJMk42BD1dG5/X+Yl61J/1EpRFAKCDodD6rphsVyiUDS1aG8PCkkEWJZrPv1X
nw565g3e1eBblHJkmWY8nDAajdjZ2WFnZ4/xZMp6VTKbHXFw9YDZbI7JMnZ2t9nb3+Pc/h7TrQnD
oTjv27ZhNluwWCxZLNfUleQAWC6XrMsV4NjamnLu3C63334r0+kED6yWR3gvrOKAYyP6OwrvY9LD
PADWmTgytME+9y3sCy467jdOvQLKkyVHmWIzahJA9kwbGOaJkmTqCPPcdffa/ZP0AF85y3X+SGtB
ctCeeI3Pctb3vbu87l8fAH8hrze+f0nWiBWHjHeOLNfYZknh1gwyxcO//1E++Sf/lc9+4mE+/+hn
qedw39ffztXtHW659XaeuHKAH2iW1ZrZ5QN2pudYz2qW1xbctrPPankNrTy1Uqy8Zr1qePSLn+Hi
KOdl56ZsjXOm0wlDNH/xBx/hlld+G9O7X82F3SmqAFeHrqqRyKGOl9J76dbo2CZ4gczbpmU6zTg6
LBmNRrRNS1tbBvkQ6jVkOR/+3f9Isy7ZveU819bHHF65QrUacvk6PeV6Zblc8gu/8Avce++9PPDA
AxvfffzjH+fDH/4wZVny5je/OX1/5coVPvjBD/K5z32OCxcu8OCDD/I1X/M1AFy6dIlf/dVf5fHH
H2dvb4/v+I7v4HWvex1HR0f82I/9GG9+85v5y7/8S+q65q1vfSv3338/AA8//DC/8Ru/wdHREXfc
cQcPPvggd91115n33E+s+/KXv5xv/uZv5jOf+Qyf/vSn2d3d5R/8g38AwO/93u/x0Y9+lHe+8538
6I/+KG94wxv4wz/8Qx566CGMMXzgAx/gmWeeYX9/n3e84x3cc889HBwc8M/+2T/ju77ru/jIRz5C
VVW89a1v5eLFi/z6r/86q9WKb/iGb+D7vu/7APi5n/s5/vk//+dcvHiRxx9/nA9+8INcvXqVV73q
VZRlme75RnX2fJ79ZrlZ/qaVrxrAt2lqtDZ4ZzDkdCu1TNZ9Xbw+4itGVLexL4qc0WiUQMeyriVU
Hd9bUdWZeNvZoK/aWHxjeBoExq3TYGLYYC98SNHT0FTRdun2HFFvKlo+yKbWK2EyRyF6YeiFjbLp
ko+ke/UEsFk2xCGfT2AwBFmIyNzScQMUfu8741uFJEEOAUvyXBhDpiiweDHutDBXUoWEZ9IBKPKu
yyjtAxsrhtl1DNDnWzZq7YX9/kZ7uGiSnzzmxIfRgD/7NGJAnHmKE/8TL/RzuO3nWbpQze5aSsuC
LezeQdKCy0K4plLCbIpaoW3QDGyCESiAbxxjPcbcifv3ZzxSv/q67W/PmO7vKyMaEgE+D5ts/u6a
m9v5E/dxxmfxuFP74t75dAKXVPdF74k2t8DdVeL4Vb1kOuqsCko30pt3wg0p8QwJgIpLyQ6jsSvg
k7D2jFJkKgK+oHAoL9ItGoTVlyogaogH51AwoNNzdDlzNp74hn9pDKt+FfYau9NF3qy8Duz1/ePD
vBUlB86ssjhugjGugt5pnhkGRcZ4WDAZFQwGOVXryAyoNsrHqCAf0DnYUhtHp1Q0nFBJD1f1jEiI
60IPQFBK5m+tyfKCQZYL0DsoyAcFw5DMyZUr1ssl5WqNtxYTma6qEyhRENpcQNE4z0guKhekdOju
JWjVC4ssPgeBsd6tPdbZDqjUKjje5PyShM3LmqsgMyqEgXdSQ23bsi7X6Mwwcg5lUnqcuGzgw3Ge
wPjNM0nug0gBVWUpzgUnSUWdc8JUVWG9sF3UTny2xB6MDMUAcsX+J/01thlB05EgVRLXMh9N/VBF
mwnTYrXJqQNoFj5UaUB0c8GGYzi0D0Dv1kNPVQl46pvVclzguapuHlUqROuYILeTC+iqcDgriU7j
c3ovwGmnPR4kBrTCZJLLoCgkyVjnlJB+UFWVyII4R5EXqS9L8j2DdS2L+TF5XXHt6lWuXbuKtw3Y
BqwIcXgtbFynxLjGG3QWQMQU5RQeVkG42x7IH/YyobZ8uEFP6FCxrVMtd+MvzrunIwV6b9Kc2y3E
faeN0ia2ULdW9lousvFS+/ZvB4/yAZQM87JyVgKYbMN4PGZnd4ftrWlwnET9XsIcLI6b5XLJIrAs
vfccHhzwzNNPMxnmcH4X50qMdphMLlxVAvb2vY19h25y6pxYb1xgvsdjEhu4x7ayrUuRO3VVM58v
OJ4do5RmOBiJ3FNkiutuz+mzHFyOQXXzZG8/ju+NQx0dhR5vFV7JoqPD/CfjO0ixxRXFB6eOEzky
sGE8x+/AhUSUUZqCOEp811+SrUDn/InLTqwu7RXK6E5KOox35wuGo2HYO0t/atqWScgV4oO8TWRY
Z8akqCmtltRVLeO1FWC4yAuMNklLF28ZDAzT6YDJZMBkMmQ6HbO9PWUynTKdThkORjivWK9KFosV
VVUzGo3Y3dvm3Ll99s/tMpmMMUbjnKWqSpaLBbPjBcfHC9ZlhbOetmmSRMX29pTz5/e5ePF2dna2
sdZydHQk4HAtTkCTZRQmw+gcrXOUyhB5BHH0Na2lWq0TIeDFLhKQISzWyGbtXqODoCO/9Pe/YSJK
b09v3zc2oKkvnV36m8fuVW1c/+Sr/E7WAIniOvXKdT4Pr2eft/969n0919cb378GZ6nrmjwbQND8
903NJDe41YzPfOLP+eSf/hF/8aefZXcI9/7tc9x64TyDwYB1XWHxVLalRTGa7ODNkKsHz7C3f16c
TuWaulqQZwXzqmJRNSzmS1aXV9y+ezfnbr2NyXCEdRUv2R/xid//v3jgVd/E0aykdkMyU8ge3veY
0bG56NZ40BjlwWtsIlYpBsOM49maUZGjncWgyPIc19bsTMb8wcc/TFPO2dnewjcrBpmjQEGzpm3r
G/SXzVJVFb/0S7/ExYsX+ft//++f+v7SpUv85E/+JJ///Of5+Z//eb7lW76Fvb09/vW//te87nWv
44d/+If5sz/7M37lV36Ff/Wv/hXGGH7xF3+R1772tfzQD/0QX/jCF/jlX/5ldnZ2uO222/Dec/vt
t/OOd7yDp59+mne961289KUv5c477+R973sf73znO/nar/1a/vN//s+8//3v51/+y395w/v33vP0
00/z53/+57zhDW9gf3+fX/u1X+PBBx9EKcXDDz/Mq1/96nT8dDrlp3/6p9Fa80//6T/lwQcf5L77
7uMjH/kI73vf+/j5n//5dGzTNPyLf/EveOyxx3jPe97DPffcw0/8xE9QliXvete7+JM/+ZONczdN
w7/5N/+G17/+9dx///088sgjvO997wNEGvR6dea9f0HPfrPcLH9TylcP4FsHwDfLZBk2gVUXVuk2
bOCciiFtEBd25z3Ku6AvphkMCuKM75Uky2idxeFDvpDASklAa38noE5sDPrGnk6bQqXEgNDaxe0C
0ejr/6zPpt0wZzzJOMJHL28EexEDK2TFlX1xx27eAKYTBCP/phBR17G+CEZoB5qH33sVNugRzBXj
2QKjoB+WjUd4HawWbTaAhWSWRcPNhcRRwXgW/bQ2JYyK+69T+67rls7oO6s9nnu5/m9SffquLvvf
xd9fB+vdOLva+B9w4nw3vqcbHft8SnevWonBJnpvA/JCMpKrALhEZm8TdO2aJurciW5oNKqiARXb
OeltirWewKuUvOTEE55KApbC0OJ3AZjr10Y4twpjtfvtZr3pG7SNT+MqjsHuPpKhrFSSW4n9M4aA
bVzP954joc8qgDbCCo36uMr1IdR+u6j+T0NVqBQi7V2Yx7xF+87OV0pCtqN2b6ZBR7DXOZR3QVMy
JKDy0Rj2KUN9N0vIX5elmM4uUgIc+gCUdn8kp1LEU07Ocxvtc6JBYl1L2Lzf/JkXxlZ8zhMn64FF
wkRX1pJnGeNRwXQ8ZDoZMBpkZJnCOo9Rm0BOmqV6QLQPY915YSj7dEiYCxP435+1Y3t3853WmrzI
0SYLzpSMIs+YjEcY2wjLdTaTTPAOTJZLKHACIzvmrbMCjBLAae9F09cGvXitY3B8ZFCrJMuRAPXe
IHORhRjmfhfbz/UAlabGZQKeF0VOW3fJ7tpWEgZ6ZBOdFUXS9dRGJ2de3TR4TwrxjvoTPswtfWDE
OxdY4KH+HXTa/BIaHqUJTC8kPbV9bKfe+Onmibi2p44VlqEOED85w0Z2l4te0n6/i+19skcm8F/1
6rzH/I49LgDV/Z7YR52k/4TnDgnXiqDbqTU41+KdBd8DzK1NkiMm6MsarSV6oygoiiwAIOFZvcg7
RRaoDtqyijBWTEZdV9RtQ1nXKGO49MwzHM+OMNpLAjHl8L5GexWY3REYz8mCjqsjRkD0GGfJORRB
dBX/16viMO/1Rlvcr6j+sbF1zmgP4ryejurqP/UXFSRPVA/wjfuYeGwCfOV8CYxOzyOfa5MhgC94
61CNZ39vj1sunGc8HmF0d12POO2VUrS25ejoiNVySRukxmazGQdXDzi3u83u9gTnGhpatAgMJ+c5
kO5/Y27t7efSWrYxz0UwuJv/Jc9FkPRpPUpJwsaqrlit12htGA1HIZmrSdIoEfSVsP5hqhaT2TRn
yD5BHFIxSkIrFfqHTfOuOESCYyTMa1FmQfJAEJzPJda2Yd8rIezRceWDx1KpjvThbK/vKAXKd+Dy
icHfreOKyFSPY0t7H7SXA1COl0iOPEcpJbq/oW7bthUJNUj1YK1E6bStJM3EK2xrWS5WXLlyBbCM
JwWobba2RkynUwFx93cZjkYopWiqlvl8yezomKqqGQ6H7O3tcOttF9g/t8t4PMTahnK9ZrFYMj+e
M18sWS1L1mVF27og92FRyrE1HXPLLRe4ePF2brnlFqx1XLt2wNHRMbOjY5zzgcWbMxqNGRRDtM7x
XlNWDeW6Yr1es1qtmc8XLBYL1j1W3YtVss3uvvEqg9alt9KwZ9tH0N+2dZsfrU/NKBvlhVgbZxXt
g4TA83z96yweKIoMV3pGA2jDdDQYbrNVOP7o9/8rn/2r/8Yf/d9/yv4YvvW+v83+dMwoz5jujTmc
zbBNja0s82WJLkYUkwlPXLnMZFywshWLxUqSCDrFsmk4bmsKrZjNj1mVFVcODvhbL9kjU1DYksc+
/Qdceexhzt1xD5fLGq1zXBizujfGU66JCO6mPBmdk0J5KFcV+7tjbAPlqsS3jkExYP/CgE/+2X/j
13/t34pEDp66Kcm1xmqZm3NzIwfBZvnQhz5EWZacP3/+jH0ufOd3fifD4ZBXvOIVbG1tcenSJa5c
ucJ6vebv/t2/i1KK17zmNfzWb/0Wjz76KCAg8tvf/na01tx999288Y1v5KMf/Sjf/d3fDcCrX/1q
lFJcvHiRV7/61Tz88MO87GUvwxjD5cuXefnLX853fMd38PrXv/669/0rv/IraW7c2dnhta99LW99
61tp25YPfOADPProo9x55508+uijPPjgg+l3999/P+PxmLZt+Sf/5J9w++23o5Tivvvu40Mf+tCG
lMVb3vIWRqMR99xzD9PplDe84Q1Mg+Pr7rvv5plnntm4p89+9rO0bcsDDzyA1ppv/MZv5CUveQkA
jzzyyHXr7JWvfOXzevab5Wb5m1a+agBfW9c4Y1KYms2ciDiETa5uFW14n6GCRhnQ2+rjHC5IDmRZ
xmA4EM0u73CN6wDecE2xOdSJT4LpET6PBuPmplmO0en34FMWEpXO1AFEujMmEsulZ6D37ksrj08r
VwxRi0ZL97yny+lFRBJrxJA3EvMomTVJx7QDEaJBNJqM2Tp/jsH2Fr7I8UZLBma6Z1FEjT6P9kpC
ZK1N4Ji1LWVIOPL8S79dQklhgM9zJ3QqHj82+0njrzNGT7GJTi3SXTv095/dsSfBxX4W2bPOpbh+
2z73sslGk7aVcN88GSyxbTqwV4Deuq6DZm8bMkVHQ75v/PbGhQIwaO1x3TDZfLw+C0mRkrxssJM8
JJbXdeogGlSO0JejIafoJXV3AoiF9o4MvP41k/1uJTwUH8DUlPQqbhL7144WfNCc7H1tQii7yQzW
GLxtE0hwKpzcn/18KWzaC8DiNERdUfleoRxoI4mlVPiNCgmcjBZN3yzMiVFGJdVBaIfUPwRRChcP
bEvVNUOCv3rMZ+9JDrP0OL1zbrBgN5+aNIWG+bBnb4n0QpBfOHnefpHmdeAcw/GQne0pe7tbbE9G
FFk07hN2HtAbTYxM2MhuTwjfjQB2GO8udGClOudYaqMY1hzv0xGS2OTowJwfFjmjPGOY51TLY45n
M5aLpeh9akOWFZK8LCQXjfOCaDC3eGu7jPaEuBWt0UR9Xh/6RWCCqw7MOxlBkcB5JaCgUzoBLFlm
8I1H6HLCUCuyjEr3ryNgBpXCWkdW1KIBPhyidE7bSjKpuq4TiBhDreM9dVEooZ8GtmDXFwKzOrAH
8yBLkAdgOUaJdD2gW65lqvCbQ4s450V9f9FFJoA2PrV1Z6idiiAI5xEgwJw4zqd+Hvt9f7Lr6wan
fqNOfwYyRlUApOL6q40RkE2JxIZRBVkmDL6mrmjrmrZthNUb/rRWjIfDABTrtNYaFdiLugNRrbP4
Jl4/MEHDoKnKinVVsVotGRUFL33JRSbTBUfLNavK4shoncY6j6WVfqkkmWTjrIR5q+CQ0Kqnm4wk
4Q3jxnsXpsFQd7rbRZycGuNsqVJd915PHBnH8MmqFp+66l6V2gCF0lS0uSkMe6bQdkE3Ov7J9O6D
9qvjtlsucPG2WxnkfcBdpGqMEXmy9WrNM89coq4binyAQtG0FYvliuVqFRwaKoH0EkEQmbXiEIiO
IGk/Fzd1MneF/0eNXReTmLVt6C8hoZ+WcRqTHOd5gW0laVHUyY7ArVKGpmnw3qb6tW1I/mkdRdGS
ZX15mZDQMS/QRSbOLS9cb/HxdvHW4uSQ+wVoW49tZV8i0lI1dVXibIVWmfwFP7E3gO8SF2/sI1RH
uujnqUhLiu+iBWJzx3gLHQDpCIiLfrHoq8eEgM4K4zGur3Vds1jMmR0dMZ8fU1cl3jmaWuQUImg7
m82pyjrtyYySZHQ7u3tcuHAL+/s7jIZD2rYVAHc+Z7lYY1vLaDRgMhlz/tw+e/u7FIOc9XrF8fGM
xXzOcrlkuVjTtiJvJ2uMkC20VoxHA86fP8ctt9zK7u4O1jquXr3KpUuXuHrlCsfHx2ilmU63GAwG
TCYT8nxA23oW8xVHR8fM50uWy5KqqgMpwGPUi29+nowYSuNWe6J99Gy/P7v4Z/leyrPgwc9akiln
gqrs833lxQV+b1R9ClIfUgraWhjXo4HBeMfv/s5v8fgjj3Bhb8B9r/tmdrbGGOvZ3d7i2vERn33s
CYpiyjNXZwzGO7S0PPnUF6htzYWdfZ548gncfIZqHcfHKxrvmddrJsOcYZ7jgPHWhEtXrrA1zBhn
jtu3NP/pV9/Ld//jn2J7dI5lICgYL2QJkLncpWhbeRLZc8hDGcCFuh0NBqwWNUZptidDXO3Zniqe
eOKQn/tffpZhu2Z/a4d1uUz6+FUjDjlv3ak6u1656667ePDBB/mZn/kZPvKRj/Dt3/7tm3Xd64da
a5xzHB4eslgs+KEf+qH0XfxcKcW5c+c2ch1cuHCBT37yk2def3t7m8uXL1MUBe985zv53d/9XX7z
N3+TO++8k7e//e3s7++f+bsf+IEfSMnm+qUoCr7hG76BP/7jP2Y2m3Hbbbdx2223ndIkzrKMK1eu
8O/+3b9jNpv19ltndzyRturmlVgX/TKbzdjf3z+V5wHg4ODgunX2fJ/9ZrlZ/qaVrx7At21Q1uKM
aNRpG3QmExAJcWvmPWReslerNOg7VgtIuG2e5wyHQ2EyeottTwI50OeD+f6qEK2PTUtg8/equ/aJ
tCTdb8KC0zcvrjfZyaEnjJYAXkScoQdvd4ecPJ0SgAJMBwSoaPDIz+O16DEbIkvZZBmj6Zjt/V1G
OzvUgM4kk3y/PSLwRDTyrcU2bQAwnGRHrhucs5wFol6/bBrS3UPJ6waw8VxO10OZVDp9D/zWXZ1H
Qy8+av/6p2/fb9xlBBg7SL8zRJTXPVaJO9mCz/VJnlfp2Og6gSrOuQTwRrBXmChtAnqtE43INBQ2
7lT1PotvNhfkNILS730ChXRgw9rewu+jsZ8YSf26OGHaJ4OuB77EMeP7QNfmafobBxXBNicDQZhM
JmVXj8Zd6q+q6wueAFI6HfDQziiPDoQOpYjPJ8/oU+eLbdONo8TutQ4dk1FFEMqHkGPnU10L6O0x
Kuj6GgGA+rUV+1/U3Uw/pD8WO1gl4eb9PxVZvlKpYmb1KqQ/VhN4dXIjFiIOTvTxk+ybjXkszFE6
1GdiiDrLeDRke2vK9nTCaJALqBDAl3hPwiUOgG+cPHuDXJwZJ+6pD4rHEto09XtFB1DqnFyDCfqn
40HOuMjxbc386JDF8bGAKwGYkPXKoE0mCa1Ce0W5jqgLH8FgF9Y4p6TtRUcU0cgMFRaPcz7IgIRb
t9Z1w1eptJHWWkBVvGgW6wAIGxN1oUOSUeRVKyXAUSVnKwaSqKdtWwgAWhaSMFkryd/apsUHRqlO
9UevVxHA3ujMFKao0ZosMIiV0iFRZAfQCLAdkpjGs/UcRz4ydYPcRQcExXbeBA/OLhE8PPUxaSEN
ddoHnDe+S13nxPVU/Kzbe0T2s3OOtmmoVOi9CpFVyouk2x9BN5GhkD5pTCaJXkNEhnNOtICzYDgp
ghREeKYQRmyMkmNy6ZPOw3yxYDwc8tK7XkI2HHHteMHB0Zyj+ZLWQd14qsZRtx7rNNYrautYVxVV
I0hyZoQlaG1gOroWIuAb6tbH+UMp+U4bBLyRYyI432+vBMjHNa33b2yAuL9RnNxjhegJHZXI415o
s718vFAPJZQ+JvNx3Ot4a4PkRUuRGc7t73Jub5ciz0iJaqODM8to2pblasW1w2sorZlub6G8olwp
mrZlsVpT1TWDQtq0t3wE/cQAqnpp++iMTfcd3us4zo3BIs73WFsiuZKjjca2cn86JOJq21b0WfOc
7e1t9nb32N7ZwVlHVWmsk4S/cu3wF51MISpMKZIsSpJIAXEMGI02KszHHSidBxkZqWMbzt1gbUtV
11RVSV1X4KVPZ5lJc1K3t+kxeoHoTIttnIZrv43j2u67Yzw+JSGMi49EUIBXPoELURolOo/rumZd
lixXK9arVZI6WK1KZrM51w4OuXbtkKOjGWVVBb3fAXt7U2679Rx7u3sUeUFdN1SlONDW6zVVWeGs
AOpFYchzDcpJMrZFK9cqS5xzGJ0zHmua2tK2Dms9Rhl0UYjE3XjIdDpFAcezY1brVbinQ6q6RClP
lmsGw4LReIjSirKqWC7WXLt2xOHhMatlSV2LvIgxGcPhSCI6XuQil+ivy0HSJkUMpMY+c27X153v
T+7xr2OTPWeb5fpXuZ7++LOVuGV7MWv5dNxLV5wCaxso1lqgAAAgAElEQVSMyXEWnG3QmZZ8MKbl
M49+CmfXvOkNr8dicVYxyKd84akZVw8PefqZBcO8Zmtri9a3lKuSpmq54/w2e9tDDo+vYVzDwBSY
PAcLY2VRdcvWdMxoPKAsS55ZLjjUjpe97GXcMRxw7ZmrbA0yKqVZh3rKXdzrODxa+LyqA8t9jKoK
e/K4Qx0WmvUaRpnh2sGM/a0dDq6W/PRP/c9MhiMGFFTNmqq0+Fwcsc5rhsWAylXPuZ7f9KY3cf78
ef7hP/yHvOc97+Guu+7i7rvvvuFv9vf32d/f56d+6qdOffepT32Kw8ND+jI9V65cYXt7+8xzHRwc
sL29zWKxYDKZ8IM/+INYa/m93/s93vOe9/CzP/uzZwKoNyr33XcfH/jAB5jP57zmNa8585hLly7x
/ve/n4ceeoiXvvSlrFYrfuRHfuR5Xedk2d3d5fj4+MzvblRnX85nv1lulr+O8lUE+LZiXFuL0i3K
ZpubOkEfABJjLKOXhTVsBuLyJaHWmqIoaK0kLbORDQVhY92BHbGcvf5vmhndAc++GTjjzM9+fPrn
hJEaU7qi0i5Cnbq3mNBgE9jZMH/iZlcHwyeGtHv5TueZMHy3txnv7rK2Dh2yz/sea6KvE+esFc0z
a9OftTZkFe8W2OdWY9ffpD1vsBc6YnB4H/X1uk2fGJ/9K59iEil1YvPoo2V56u43aCXBSOzaM4Br
z8JM+FJLwpbD/2IIdtTprapaEraExGzWOQn/jZqWsR8loCA8Xaq3rn4kbZc8m+/1N9V/Vu+DLElw
0tgYLikHeyXGY1elceyHR0jDXBIqpdHRd5B0VNLwNupkn7zjwIL1HQidmSy1rwvGrTCIfffY4Rre
kxiiPtxkwi8iwKW6i8apK95vpyfa+wIvWbqcZIPXXgxQhWgNagigr4zZyPITTd+O8YePoLRPRmmC
NV2sopPjq6tkj+9px0Vgpv/fzc/S3KN0l5TxRKN1bNbunk4Xn/5VvTrUoa2N0hRZRlEYdrenbE/G
jAYZRoHzNgEP0gt1D/BVBOGPbh7tsfX6NxOTfXah0+E5w/MKuC8sWYOEWRujyIpM9IQLQ45jfTxj
fnRIuV5hQFiRHpyXNUebDJQPCY8gNyKrYIyWhHPOhq7g0CYLbFMvrPTYxem6u099MdaxS3VNrE/d
gT5TP8YOHePxGK006+VS1l8I8iQhMVMm2pQ2hAbje8BH2+C8JzMZBEanbVqsD/XoIdPhXPFm+2M1
3FdM0JYY2Aq6ozo5CNf78873+pOEecckTh7QgTGuwgTW7SOkT24a8Sp81qur1H1976g4m6nuZ5sT
QwJk+8/XP2fXr5XIYgaQPj5X27ZExrfR4Jzo+YLHhgRSEJLdKUfU9papo0vSpZT0pSwzMh/53r4n
1LnWhqzIU0I+r6Ttd3a2uWU0Zrq7y3y15mi+YDZfULWOqrKUdUtVWRoLVeOYL1c8c+UKB9eOGQ5H
nD+/i8ky0atdLimrCmPylM8gjvHoXMZLEiyfcgjoXr9WvbEYh2u/d/T6U9wS9QdHWqOl8T06tbNP
AHRvIlPhvuK+hrjEeyIbXnmHdy2ubVC2YTwq2N6asjWdYKJWto/wocyn1lrK9ZrZ7IjWNmGMaZwd
0LSW5WpFVbfkWR4S7anNvtfrY53j47SmceyWMXlZHFPxT2sd1rkOUE964KE9RsMRo/GYwWBIXVUS
FWRjssC2m/9MhsnyACJLZEDUu0V1a7uogQlDWfSAu8SY8f4kx0QY59ZKHoG6pmnkD+9F21tpTGZ6
EkBxjHXt2PWNYA34ft2E+aW/Iey1dGc9yO/6URNx3U7SKGE+i3Izkuy2Efm4VnSz1+s1i8WC2WzO
el2RmZzd3W12d6fs7W2xtzdBK81yuWKxsCFJXJD38S4w/Q15bihyg1KO1XJBWa5Zr9fkWcZoKG0F
irKsqco66PF68jxjMCjIixwcHB/PKcs1i+WC1WpJWa5xzpLnhtFoyHA0wGjFer1iPl9zeHjMwcER
y8WKpnEojOgRG8OgkGSeL3ZRYW+kghOve+32GEp7mUeUQxxIHomk9JwxREJ7ymsXQQJRBVbmCJEQ
0Zz+3qVvYVOvt38caK9fMNgL8uxnBCe+gBO5jfrpvyrO/hyvMcoxLCQywABqmKNz8HXFYFRQDAcM
83OozLA6XjKvG6rFVRaLJYeHh2xNtylMxng44bEnnqD1joODGbv7W9x2/jzz5THeW+p1yWR7m6Zs
GI4HKFsxHop8zLlz51hcWdI0LavVmt29MasrTzP//KNsv/ybWVtoQuLTOAOEqS0EDeq0j45N2d+B
Wgt4z2pdccdtO8yPao4PD3F1TV0uUdrj24atrW2aqgoJbw0mG5I/d4JvKq985Sv5e3/v7/He976X
n/iJn7jhsTHR2H/5L/+F+++/n+PjY37nd36HBx54gFe84hUMBgN++7d/m7e97W089dRTfOxjH+N7
vud70u8/9rGP8Za3vIXPfe5zPPzww/zwD/8wV65c4d3vfncCYLe2tqTWXoBj41WvehXOOR5++GG+
8zu/88xjFotFWqvm8zkf+9jHANI8+kLK3XffjVKKj3/843zbt30bn//853n66aeBG9fZwcHBl+3Z
b5ab5a+jfPUAvtYGG1vhLaiQbMxDl3QolC5puRgDSp8w6IFoDhitGRQDrHW01lI1dccA2AAt6DI1
py9PZ31NZ38OC7lSbII7z7Ocmoj6IeG9ncDZoegnDYLIxOhAtdPhqR5lFCY3DEZDxtMJk+kU1VoB
KVId9yyraHTbVoxS24b38udkRSWCYhsNefqJ0/2chaefBHuf62bolJc/PHc0gDsEuzOWNoDCCAin
8yRTkOvuKOPvQsKAGOL64sK8vT7QA+NtAOObhg7sDfINohMqAE0XGu57+tnyrF2Iu4Je37kRQ8BD
cgoAAaiUsZoMKn+jM6SzyO+VADNaKZxSyWjtrPruJ4ld3WvJzoxHQKOw2c+MQWd9hm9kTMpvTaqP
CKbKXOF6RmHCbWGzT6hNHdwEPkQsIoK9zuGtvCrnEmiFUmgchgD6xj9lMJCYofE19elwox3sANaL
bmpiz51VxwEm75fkComVcPJ9Qrv95rHhOTfDuPr9oXcN3Rnhov8YADTkuYZ5xmA6YXsy4Pz+LtNR
Lvqirg0PZHrj2uDJ8FEKoT9+e31DNGV7IIUTFp8Oc2THJu/mgKhVKzIaiiJT5IVhMiwotKJZrZhd
vcRqfoxtGkyW01pLYz11a2kdaGPQOjJshWFe5Bm50ZS1JE20ymGdR2dh/SOTRF7pebq+HOvSe4JT
x26MrQT6AMPBgPFohMkyBkXBerXmcrlOoG+eS51FZ+lkMgmARh2AHtmkN22Ldp7JeEiRFRLGrGqU
RbRdlUoMYhWBNzpZFnmMmKTNhPnApcSfIulAAlSELWo7TdoAckvoukv9S6pFhQgXuYYPgBIn6kI+
iAzDk7PQ6VkpgbURzNLRyeBT/zq5Zqs+y7kHAGutxQEQkus5T3BIW2FSKSVzdl0jAajSLzPTgbxK
KUmuZWLiKjqd/l6iLVyYg2J0gNZkedCdLnJArj0YDpjmBVs7O0x3ttm3jlubhnVdUzUtdWOp6paq
brFOUzWWy5cPWC+ucbVasH9+h2981d2A4smnnuKppytcuWDy/7L35jG7bXd932cNe3iGdzzzte+1
HU/MxgFCaRQMLhUqyEUWjYoqJSqVbAGimPSPVgVVSoMSQCqRpapRTSuRlIYASoprSlsXBZU0DQEK
tDGGBOzr8U7nnHd6xj2ttfrHb6299/Oe99x77vW9hpizpPc8z9nPHtZe8/r+vr/vr8jJ8xytlGjD
R6NZiHXuvMcHAXvbNK4iEitjuakQQPdGHBlML8vm7M6xEbjDC1UwDOf1oFEvR9D3ooGdunOfKD1D
1MDuGrTvKIs5s0lJUWRx/PU9SA9ELdeOtm1Yrpas1kuqbU1mMhRQty2bTUXbOQI5Wtu4ZkgGnAgv
qdCXVwIe1RVtrmf7RlA2G71z+s0YE+8h2ew6kSlIUgXee1wn0goo0ErLe6l4zyyPQWBL8qIQqQhF
zzJPG/zEAE6BY6W4TS/j0BuXe9bwQMqQvi3SES0dqq4Jgf7a1IcSsJ3WpkrpOIbs1mEyeqXGkYxL
D3gExc/E0B5WfCEGwvTRgCFt0jkXwWyDJ/QeU0lKLo0tWZaxtzfnqadez9HRHkVpITScnZ3TNFu8
78RIkxms1dgox6JNRlFaprOSPLPUVUVd1XRtx2wy52D/KAIXmmpbsV5vRFs3GuNCCDR1w3azYbVZ
sd2uqdsKH2Q8NRbyvGRvbyaBT+uKs/MV9+6dcXp6wWKxEpkIk4KRZths0Hd+rZP2EkAao/q1izJD
e5Z6DDsxIyGSC2LNvej9r8CcxkN4aTRN2wkIbAAUddOitGJSZLQtmAxciq0YoMg1XRuXREnNbtS2
Ln+GF/n9pbCoR9mHyktd/SnOWA/5EYUhw3VC5NBOxrciK1k2G1RRMLEF989OcW1DvdpwfnoBTcdx
WWKCrNM/+fRn8CiMzggdfO3XvJOLxTmuE036WbFHUzVgYLNaczDPuX7zGK/Ek2i7rdmfzjB6Qr1q
ed3BNX757/53/Ad//b9iuoVmss/GiaeVtYqqrsiyAq8E0LeZEMbaOhA66a/KjsoakSg4v9iyulhw
dDjn9PlnKYyinGZM85zNakVwLUVRgDEsl2tms8kjFv5u+vZv/3Y+9alP8dM//dN87/d+70PPy/Oc
H/qhH+Lnf/7n+ehHP0qe53zzN38ze3t7KKX4wAc+wM/93M/xq7/6q0ynU97znvfwtV/7tb2swvn5
OT/yIz8CwHd913fxtre9DYDv/u7v5kMf+hCr1YobN27w/ve//xWBntZa3vnOd/KZz3yGW7duXXnO
m9/8Zt797nfzwQ9+EGMM3/qt38qtW7e4uLjg6OjoZT8zPfcHfuAH+Nmf/Vk+8pGPcOfOHW7cuAG8
eJnt7++/au/+OD1OfxLpSwbwVUTWQWK2hQCdom0EIAr9Ak4Wd04N7m+y4JLfxoBm0k01UWuxcznO
ezrXDRuF0ebvcre/tGTc+dwFPtVDJ95XPphcfcOrIsmOmVy71w4zmo6gUwJkxFA+uASrFEFZa2wm
Qb5slmNsRq4NXptLwHj8jtSVdx1d2wjYG4O1dZGdoRiX18NS2sQ9Wsm8HMu3jwvDVD4+hN4t+7L7
9i5AMq7rh+T6JetXRdfx3fy/lqkHIYMwr0VvM2mvCROl7SUcEhswXTe4P0v2VQ90ytsMYMoDwGEY
nk+8g7hQpf+NAEKG9qd273LpXeKNHyjnS+0pjHtjPOQDyjCAff11qr8G6ANRiealHoGPIYI70aiR
wOnxLQaU91K2EhPY9yXal+e4e44zTgQc03OVjIsD4CseDQYZ+I2KDCpGGKAaAVMkl3HRUfRewLME
y/bZSEAUsiGnB30Hht0AjsT60yO5BEbGE2khD/SLBwC1dN943RDGD9F+9A6FaIxaIwykfJJx7WDK
tMiwOqBw4DsBheK1HtlkSHDP4a6Xx/iHmhlSe1ejakl51TpKMqQAeoHMaCaZpjTgm4pqdcFmcY5r
G/DC7q3qhsZ5qloCJI2bjEhy6AjkafGOCKKXLsE0o0On8tG12wzGlzDKshKmXNO2tF07lHnsX1pp
GQe1ikGCruE6x732Bbxz1E0tMgLW4lyHNZqyyJnNpngvrt0ByKyh80ECFymRZciLDKM0nbEYpSny
DGs0JrZfo0WfVxsBRlxv5BEASWszAnElkB5+YPa66C3iXNczeeML9mzfofoS0Cl1b8zuXBhGc8EY
FE7npABuMhYOrtv0ANao3UQjS2J5JaA1jVUD0DsE6ZO6EtBSgipFBrsWjyT5Ti+vIYGqPGYkUaUQ
FrhWgTzPmRR5BPGEISm6vQn4U0N/d4HOtSJJozUTo8hyCSLYOSfB+wpLWWYURUYWAkWZMQsTOudp
O0/nPM6D0haPZm+a8a/+4P+l3Zwysbd52xufkKBPukO1G+ZZ4Pq16xweHpJnOav1KjKZBddsmo66
aamajqrpWNW1sMSVRmsbnxfnKKVkTFCD/JQnejP4xM5LQN64l8uGX4VAgoH6wTIaqfo65pK5KyDB
MYMX9MZ7CGLU1sqzP58xn08p8iFQcFqDCqAJ4DHWMJtNWS6XvPD8Xay2TCcTbNRY3VQVd+7cYD7N
6botm/U53ndxTJaxLOgQ4yiktqajRJLu21GS1DFGY6zFdraf40WPV4L19Ya4ANuqYrlasVquqKqK
7WaD0Zq2bXv2LrEdj8kFYZyPyNZ1kYE/Zhfr2LbHZdN24nWX1vVizLCEPIi8hJUAs9ZYcSGPkkxj
vXKtNFq3w7zT97UH1xIpn33f97trgmSYvpI1raK2sVggyPO8B7mVkoj0e3tzLi6mbDdb2s5BDHA3
nU6ZzxuUUhweHHD9xg2yTFPXKxYX91mvFjjfoLUizy1ZJpI7ZZkxn085ONjj+rVrHOzt40OImsGi
q+466Qt5FsH3rBBJFWPZbLZsNxWbzYbNZkPdVHRdS+cbOteC8tjI7N3b22MymdJ1gfPzC1544YQX
7p5wcbGiaz1FMWFSZkxnM+azOeWkFAOOee0lHSSIrSGFLJW1mBj+HT6tNhDQVz71zupml4b54uv1
3etUgLppmU0zNk1DAHzryG2GzRSbTYXSGSYzVFVgMlVkGbSNkDva1lFk2XDrh3yqS/8P40XsS5XP
i543rNpfFHHeOXf3s/EtucnIMlh3ngyNNWBVTpZPeeaZzzDVcO/uCfVmy/HhMdp7DvMJy+WS5XJJ
27bM5/uEoHjzm97E4mxB1WyZzaes1htqV6G1JbNi6Pe+o6oqWl/gA9x54klmRclyseb85BxT7lOd
PMc//pm/w7v//fex8A3eZGy7Bm0LjM3EakjoA8zSCTdbaUNwHudE3i5oRVla6k3Ns898jq/5srfx
2U98mrbesL+3h6trgpFAyU0nY2gaQ+q6faQ6+qmf+qkHjn3f931f//1DH/rQzm8/+ZM/2X+/ffs2
P/zDP3zlfW/cuMEHPvCBhz73Pe95Tx/AbZze9a538a53vesV5ftyyvN8R87h8PDwgfd573vfy3vf
+97+/9/xHd/Rf3+xdwd43/ved+W5b3jDGx7KkH6xMnvUd3+cHqc/jelLB/BVaZoO/eY/+IBrO5pQ
9SyYECDLHtysmwDGQu++G48HQBtNRkYZWZZ12wjYNYqC/BK5u/R5+bfXAsJTD0zml13U+jMfPPHy
Cf1Cu0czlMyJPkY7DiGAFv3espxQTiZYm4ESzS6ZPgdQS8HgqpsYvm1LcLIpSgBwuupqjeNHS69W
6fab/X5zsMu6GhjPYdjgvGiuhl9fCuBScTMZrvjtNUlxMxdCELZOXcuC1XsJ2NYlNo7vAdmeFTsu
l4c+4Kr2GX8Z4akDm1eu0aN+LucOAMmjpKHuuLphhOEd+vyP6ro3cIzAm4G1KaBbSABNbPXeO4I2
4s4brxmzVcOl55Ng8wSiJzqbGveCoZDSxrt3XQgDpqwRUNAoAYK0FgkHm4KIpQx4YoSQYaxKeueJ
Deki4NuXZKpnJb00gfMDu3uXnTwc362RVC89MP+w6hyKTM4WxCAGmxrcdI0xPftL4SWQ17RkYgJ7
8wm5BY0TFnSU3pBhLb4zOuZb5D+ShSptDFM+kqFjbKjYdeNFwEOjhGRnNdoK4KuD6KxaBblWmOBo
qg2bxQXNdiOMbUSjs25atm3HtmlpWjGIKZSMlUHcVBNoAjJGGWNR2srY6/3Aik1F6cfuqrH0fRAN
3SjP0BteYqQ9YQVqptMZx0fHMYgGlGWJGTFhjdEUec5kUjItC6qmwTlhBabAeDp2wOBdBHV1DOSV
GpEAvUaJlESeZeTlhACxDASg6wMq9kDS0LfGgadcF6WCRsEvezZhrKwELgkwntjlAjb1dT1qtkpF
nWJj4tgwlo6IYFTsUtJeB5AY6F3he6CXBDjrvq7Gc8pgWBOX2fR+iS0owQIj+GUNRkuBeCf6ynmW
U5YlhIBzLXgX31cAPu+JnjUi7yBBuiy5tf2847yDCB5nmSXPc0DRdR2T6YQsz6S8vHhcSR2K5EhR
DOxbrS1KGzbLCZl2+Kam0HD7eM7h0RHnd2cs7mVkPufJm/vcvHGdoihYrUqc82SZgGbL5Yam7dhW
DYv1hrPFkqrrUDqjmMxonWe7rdhstjRtx2CM0rJ+8UEMCCEgEBD9GJ8MlyGoKG0x6Isr1TeCS38M
btipqp2D4AgiZBk9lzp0bji+dsTh4QFlWQxjfaxyFQfUrhOmtrWGbRW1fINmf2+PSVGw3khgLKU0
s9mcEHKcq2nqzWg8kPpVKhksdK/LbYyVmBdhAFq1MVGf29I0LV3X0radjBEmBW1TaB2o65pqW9FG
HWYfgjCxfRAihYLgVZxDEiM7yUsM8ipxdu51Ml3y7oqBfnuCQZQvSX3ZGouw1UX2QSHM2bzIKYpC
jGRxjuyNP97RuQ66Xbd8Y8wO6Ht5fdeDviPwd1zVY2NlGDqxGGfyHIL0KxMB3yzLmc6mHBwcsFwu
2Ww2NG2L0YaiKNnfV3Stp2lEkuXs7BytPU2zZrNZ4LqaEIRB6lxD5yzWzphMpty8eYsb16+zNxfp
h+1yRbWtaZsG10WZHcBaQ1mWdK14d6yWGy4uFlTVlqZuaKNUhEtSERqKsmRvf87h0QF78z3a1nF6
umCxWHFxsWC5EBkKrS1ZnjOfzzk6OmQ2m1MUEfD+IuheKh1QWrwbgk7rqDh2B9WvL5UeycaNxvk0
r/T3exlrTRSYLGNVO7IiZ1OJ1nUb2buzacmmkrouJwrXindW8J68yAl+kL97eWm0SnxlNxheAHYL
5GXmQltD1XVs1wEbg/R1247JPCcj47Of+hxTm6EM2Nk+S6+4+8J9VvdOuXXtEKsCs2nBbCreC1pr
9mZTjAm8cPcu5WTa90urZEzMjKOut1h7japznJ3e5y1PPYXzcHB8xAv3ztH5nD/+2O/ytq/9F7zu
q74eZS111WFUgbKGbtugMold4uI6K7UdosHAWo0tFKGDF557nqde/ySzAv7Bz/19MmPJM0O1WlNk
QyCxtq3j90BVPbqG75dacs7x7LPP8tu//dv86I/+6J90dh6nx+nPRPrSAXzThokheFDaUHbtAPa+
6D0UEhxCjYChuGC2GIibG6UUNYrQtj0D7xFy+AW938tLKuEt7Ez+EZR7sewq9SC0Omw65S6DSXk4
M4EvxljKSQR8M9koKq0jO+YyzBmD1QVhkvqu63XuBPCVYB8q5fkVFOGrDY32m6LRwh7ShmBYwKpY
Trumg3SP3WMPY4WMgd0Aoo36GoO9l5+pIC70m2EjHKLOZ79RGtrMAMCO2+BDkkp8cQadrCt602U9
0WEV/DA913Tdw7DgmL9L1w/PebCPKK3ApXZOZBQmkDGBJhLwJoxePLn+K+8vbW57TP2Bd1U7oO/o
D3YkLtL5EY3pm0bqrxoVN+0xKFsMbmWNfELodSuDD/gEwoVkWIgyDiS3eJEJCCG6PCqNVnFHr9Ru
WUawdwCDE4uXHgTugY0dYwn9/cY3vFq+YwDcnRuMb1prYen6AK5jkmVk2YSp8UyKDBOaGNjO7c4W
Kkp9JJalGvIzgG+7z07ttRf8SH0DBOQ1EfBVShjgJrLBneDrBrDB45uOarViu1ziu07c1z00bUvV
xL+27QMjaoigoiNpseoIRGhj0FmGNzlaG7rQSl/1vq/XvizHhocwGHOGtiXzX+r3mbXs7e1RlhPO
zs7pOsd0MiPLbNTLFABhUhZMy5Iiz6ibSlpEZPQarcBKu/FO9EydF13ftmno2obgugj2ChiZZxmz
yYQ2tsEelBk1GzVuv727twAV3g0GqlGj2jHcKT3o0yqV+oTkO7Hce+NLHMOVFukJkZCIgNWo/wyS
TCo26WHe0ErvAEfS5HTf7nbHJjmSQDKNuKt7JwDsTv9QiRUpoK/rVFzb6F5/3ntht7oY3FZFYLaF
XgvYZhKIKwXk0lr34UJ11HM2WrRzrdVMpxMxaGhF1zZi7NCxzSsB0olau9pIHosMCuOxwWFCR6Y7
9ieWw2nG4TTDuJzjec7xXs5sMuFwKvUzmUzJsoyz8wUhKJrWsVituXt6ynK9wWvDfP8IH2CxXHN6
ds5yuYru8tFY7em1sX2ALkRZAOeHPiwTbw8SBxKLd6gvHQ0ivQRGSAB8rDvXIexe8ShwXRu1T3Nu
3rzB4dFhD/j2a4IwIMdNXbNaLQWgjMl7R9s2WK3YbitOT8/YVjVoTZGJVELX1TL3RIOQzIe67zta
G6zNMNYOQUmVvKe8n0ZraRshSBC31ktQULk2AjhtG5lrMgcqiM8dZtpkgFFe7TJtR3rhab7zKcAm
4FySgYkSLCPAdswOJrZvo8SLIYRAXuS0hYyZSfqh68RLQryVOrq2i/rCSd/ac5nlOwZ9h+ep/rnD
dJDY3nHuV2m9IuNA3kkdm1GwaG0Mk8mEg4NDVqs16/Wa7WYb2bcC+noPF+cXrNdr1uslWnugBVqy
TGOiGlEgYI1hPp9z/fp17tx5gvlsRvCO1XLJyf0TVqs13gcmZUlZFGitxe19s2G5WHJ+es7pySnL
5VqY/AigbrTCGQhoTFZwcLDH8fUjjo4PybOCk5ML0UndVjQR+M9sRlHOONg/4PDoiIOjQ6aTqcg5
vOTi8NVJMq6KcVMHWeMYHe3bRtqmJhkbJI1haA/wCqUnlIJt06CtIXjIS0u7ESOva1qsthgdODu5
YH82Zz4xKDzL5Za68eRFOayTwqN/9tIjL/O6Kz/lTV7R+6M8Dse0yKiCozDRP6LV1I3jN37jN7l+
eJN5mbHZ1txbnPG55z7N29/+dv7+L/5PHE8L/tr7/0NUV7O42JDnJVXb0e7PyaI8yGazIZ+U+LrB
Bc/x4R6zQtPVC2azGR2GqvW8cPc+pTUoHygnBXfG4RcAACAASURBVG3T4jYXfPBv/Rd8w7/97/I9
3//XqG2grjs8MJ/lrDa1yMkoTTAhamM7MptjMlBG5uXP37vL65+4zfFBwSc/+Sy//c9/g73JhBDX
UWNWbxrfgGjQ+rOZfv3Xf51f/uVf5r3vfe8rlmZ4nB6nx+nlpS8dwHcEVO5slxJg0bUIX3TYI14F
tFmS9T4xGFRkJikya4fgIXETnILPJAZMysEXZFhN7/MywL0EMO6mB69PC9CHJWE8jU9Im9XRAi1E
theygej1ypRE7i7KkmIywWZ5VA+8nFd6i6kiECLY610HcZEZvO8lHRKw99ovD19ZenCDoONmcKx7
PIZ+X9xEkNpmLwHACPB6DfHe8aIEpfqa6xk5yf05AbVxcyvaY3HR3O/y4oa1/6+U0Q4wTAIEYQCd
YhscdaC+b/Wg7/CD5CH0Rprd93mxd93tC0m6QOnddnYZpBllst+4An2QI2MMXdrsJ8BHR/AoDNHH
AwODdljVj8G4kDpKD16ljaYUqxrAq5CYfxHkJgXTETDKaE0WZQSMMVidAIDIsEpAdHQ5TfqXAoaA
C9EVO0UYR0UtzBDlIGQ8DEqJwUaN6jWBuekc6MeKwTAQ/8Jl5vy4sb94w0+MaEjtOAKY3pFNCiZG
MTEOqwPaeyBKPiBRmXtwXckmz8dPHTeML9aYdlvqwPIksXtNjxsJCKwVqgOrFCYEQtdRbZasLy6o
1hus0jit8K2jqhuqpqGO7Ks+IGBQvWRBeuc+eGCeY4qSoDO66CLtvEP5QSMztZvegEMcc6NUi/wc
+nPqquJgb6+XcwB6LciiKDAKnErB2ixFWVCWBVlmI9Dl4kbSk9mMLDPSXr2jrSvaUFNXDevVmmq7
idG9xThhIxOxLEt8VfcsuxASO2/X7TbpnUvwzxikrfdGGNqRggGUVAmUVL2rsVciDxGCj8Y2uc5L
xlEx0N/QxmOQHZf65DCmKcUQWC62Kx1lOGJjjUDzVe0s9GNi6hcJ4EneBt45HGKgcRrAQh7Qysh5
ztMQpYgIvbEA75hOJsKYNVqklJzIeuhaZDRsBHbzshAtVa37AFud63rjV55b0TJX0HR1LxmggxaQ
Xpte9iYETdAGg2M+yZgWiq5ecnL3OY72ZuRGcTifYfHo4PD1FlNm3DjcYzKZYIylcw4dZmR5ibUZ
rfM8f2+fuycn1K1jfniMNhmbbcXJ/oQXnr8ngeCqltYFkT6BCPYGkZzoAp13JOuedAGF94MmdDJ8
6gj6ebUrP0DP3I7zuO9QyTjjOrq2huCYlCV37tzh8PCALLe4rpXrQtIfFxB2s15zenKfxcUFBwf7
PPXU62kbMcwE76mamvunJ9y9d4+DgxkH+5PYutM6JBoj0rhLmuNF8kVAWoVSvjd/Oed75msy7KZ5
2Hcd1g73SfEzJpMyyj2kY+ORcfBYGScdpXMS8Jj0f9MYNKxJYv+N8yiEEbP+0twQQm8oSpIO6T1c
DOrWRY3hqq6p6zoCvz7Wl38grzKnarwetPHHbP3wEEZJClLnvSfPi6Fc+nVtoMhz9vb3ONoesVlv
WC3Xsc2BtTmgqauak5MT7t+/S5Zp8lyR54rZrMCYjLwQj4obN67xxJ073L59i8ODQ6rtltPTU+6+
8AIXZ+dYYznYP+DGjRvM9+YQ4OzsjOXFiovzJcvIAtbaMptMyXLRTva+w4cWYxXTecnRtUMODvYo
J6XIfXUdVS1BfK3N2N8/xNic+Xyfw8Nj9vcPmE1n5Hke25f7ogBeWhONS8j6w0cCjyxVeqME0K9l
EqF1tCy7MvXVeOlYSgEoyxwUVI0jzw2zApZnG44PSjQO7xr2c8WElgkB3AabBZoQuFicMzs6wKf1
NOGBz502GB78/Qv+fIn0YgzioDTeN3gydGZAge9AhUCRG/7qf/Q+fvHv/V2efe55VlXN3rVr/PgH
/xu+7/3vxwB3n/6XeNdyPM3pqi1tVzMpS1aLC2wpAR9d7NO+ExB9pQKT4zlGazbrin/2+x/jTU9c
5w37B0w1nJ+csl1vWGxq1PSAO4cz/vGHf563f9VX8M53/zusOk2rNYtVjbUG5VyvWd4SJHZBIVN8
XQVWqxWToqQsMgoFv/Ub/0ykkjKD9o4iMzjX0jS+NxbJ+OJQr5A5/Vqnq2QVXu307ne/m3e/+92v
6TMep8fpcdpNXzKA7+7QmZgWEeCNG1rvOtqmx1EIQH6FvAPGgpEAH4O1XhZo2ijyPIugBdS1ou1a
Ou8fvM8XnL7wSfflP1HtrlrS0X6jcPl43FBEhou2hqzMsJkRZkgC1Nh9kwT6eucIrpWoBc6hvAff
EVyHc+KCOc7O1SXyhcHBO+zRS/+/zOIdP25gfqQ33AV7H/asP53T/JD6DUkCLqHf5IL0pwRySP9i
AE5TVfQAbBiOhwdrKfR/D2vrwxnpnrts0EdIPcr8iCfH90ube3HdjoyeUSCVMeCrR1HDhWGR0Ed6
cAYfrqx/AWEUBDWQSRLY4CMdzQjwlDjR47tEnnw0LAgbSoJ6mR4wy4ztwV8TdYbHTCt5DSljkXAQ
uZbOuQj4uuimO7jzQgLnrypudWV5X667R6vKUYlFEPKhLSUCcKk+xO0frBZ+XnAthA6FgxQcSQQ6
o1Z2+oREf35oFsOlv9EPPsjGXkWhZKUUygqz0RhNkVlscNB1VPWW5dk5m8Ua1zi0MbTe03RdDHjV
CrM1GlV6bdcIJqhYrqmNJqa56/XmxI1cp/4bNx6u63omndZ62IhHsEULSilu6M5hjBV91aLkueee
Y7G4wLlOWmNsB8YMbGNrNHlmyTOL9x0oRW4tJhOpgAB0jUj3uM7TVC1tU4vcAL5nlpnIojVGxzlj
CMwkuJyJbVARPHgVej1fUvA+RWRNDrXUa4fqK5i2I1A5+OS9kdyak1avuLRfJb+johxImh9VDwrq
XkZhAIBVP59cnjd6V3eVor8PDS/Lsp5RmQyEKvZlAcw8vhOpDWMUVpkIsNEHrvS+I88lINSkKKTM
l5ptVZPkfOqqIgRP5zvyIo/u6HoIfBfzWE5KiqIQpmW1FaDZi7G966Rday8u8w5xbc+N4ub1Y27f
Oqau1vzhH/whh/tHWFuQ5xMWixfwjgjOVdzw19HWMstyCpvhnGi25nnBzIoOcXCO08WCdrNC2xzl
PdMi42h/jvKyxtC1SHI5FF6lYJYKg8YojdXQeY93cSxkkLTxzon6DUQvhtQXFSTZBzW4YwfXChPb
dyjf4bqG3MB0UnJ8fERmRTahqbdYq8msSBQkQ2tmLQeHh7zlzW/hzu07LJcrzs7OOTs9o6krcmvZ
25/TtA1nF+d0XUVTr6XetabzRKNhoOs8nZcxzcfgZH0Q4zjv+xAGlvOov+2y0+PsHvuZMYbZfIrN
JECb9060teOc1Qc+jIO0ip+7jLfB4OSd2zX3hSFugom65AnsGq7xsa1LUDBjTM+iN0ajbZRmKyd4
7wWkrGo267VofrZtzEsYMZAlzyGy/FVIg4kSi+hoLgjBg5e5vl8b9uz/KPOSjEDRAKUQTd/5bE59
IHk5Pz/H+0Dbir68MToGx5JrmqaRJYEtmM6mHB3ts78/Z39vzvHxIfv7e9Fl+jkuzs+5OL9gs16j
tWL/4IAbN25y7fiYqtrywvN3ef75uywXSzKbU+QTjo6Pmc3mlGWO1kRNd4/NNMVEdNltbulcx/17
5yyWK84vlrRtR5blzOcGYzKKYspstsd0NifPClBQNzVt1wnDuh0Y669VEocJJZ9egN/BmyKtt1SK
p7azlkWJB44f7z+uXNM85NlIc99WNZnN2V6s0SbnddenFJEKs2+nKOB3fuu3WJ7f42Ce8ea3vZUb
15/CKmhxBGVHd9z93Nkb9WuyB8978etf6rxXmFRg35Q0BKxSomzTOZrthmkx4z/9z/8z/tJf/Dc5
Pz+nDoqv+8Zv5PbtG2xcoNSKf/RLH8ZqT3A1JjgmsxmLdYXKcizicTKZTNhsKqzJMblisVixP8u4
cU0CEYYs52LT0HlP1VbM51O2VUXoHKuLM1S5z1O3j/lHP/PT1HXNU1/x9Zj968xnR1SdwyoF3hGC
IrMam8m4Xq9bzpcLQHP96BDlPXUd+KN/+Qe4usJMZxilCFlG0ziqqiIFn0ykAP1FkDR5nB6nx+lx
SulLBvCVNJrIGDMPgcSUcx1tE39Hfs+uuIsCCdhEdBdDJn5FjEA+vkoBrYC+lxlEjwruXcVUuMqC
/MhJjb88yk0SmKnS6n8nH6lMUQ8CpMTNZlAKbS15WaKtgQj4PlT0Igi46ztx6/WuRYXofus6YSAl
9tZDX+MLA3t3snPlxl098H0cvOOB3FwGe0dfQ3i0mkjtsgfOdm722sLFqR0O76CHR45ZZqlckkFk
lMN4o2Ex+cA6MgKUw1NjW7/6/Xb6lIpsafXoJZHK8zIDOL1Tv8pPbMd0iKGdp+emB/sR4Dtm9o/f
qs/fA2XGpSYbXa5VBBDCAKYO8hnCGE2uxWrclhQkN2IBOEPP5u3/tOlBswRyBZwEX/SpjOSZCdjo
fAR6/SgCeghoFQPDcekd4rv24Lwa3nVU9cN4Mi4TFcvpUtFcxQxLALUeaUGGMZgeN/lamx4AV4BW
nuA7Ap0Ec8GPNkwhPY0eBN79adTSX7zlJbZwLxFgItM/so2s1UxMjq62NNuKan3O8uyC7XqLcx6l
LF3nJRhV3YhmbSxQY3SvyWqS5m0sNWGrjgDhfgMYwVEv75fYpV2bNGxFikdHrdougprGGDSKSJAb
GOxdx8nJCev1WgCSxFZTQ+AwIQmJV0ye53jvQCmKIpfAJyQvEZEKCS5qGpsIiCowRt7RWksW3ceT
BmjSDh/c4MfvO0izCGatohv17tjWA6474CsQ2ZsYoWZ7rcUQ2d97lwE4Ngyl5+nIYh0DvgI+7YK+
lzffl42O4+9j2QdhkmYC0HnXl3n6Iu73Dqciy01nAnAYTR71Q73vaOo0y4j+/mRaCoivJBCbNgLs
tm2LC562a6PMQyZMaDXoHmfWSP3HMnBe5vKmERd60Ys1fZ9VZUmZZ7zxDU9ydvplPPPsc3z66U9x
dHDM0dENjMmYTmZ4H1itNj07sigLrM16HV8TWcWEgFGaSVEyySrOVyvazRbnA50PGBWwGjKt8NGT
Q/mASz1IKbTVWG1xJkrYaI9zAafAIffp4oomNT2pW48OegiaGQdo5z2uqcF3WKOYz0pmuSa3iqOj
A46ODsmLghCgS2wyJTrwiYU7mc25ffsJymJKILDdbDk5PeXs9JSmrlEKJmXB0dEBWS5QkrY5RudS
N7Gv+TiIGZuCGEvwLqI2b+9ZAsKk7ee3OEEoFXWnSUharyOttGJSTrDGSp/xHpRIhwC9TENQCtc5
mqbBxP7VdSIH4dM841wfXHE80poUZM6kKB0Dw7hpGtpG5BmMMWR5Rmazvn0kjWytxQsCFFnUQu9G
UjkhECUTxjIpoR/2Q/L2GK2Dx+ujXmIJpK/3XTKuK0Z9Op2roxRGnudMp1P2D/bwXrSnm6bDezGK
dU60erU2TMqcw8N9nnjiCY6O9plMC/IowVLXDevViuViyeJiQbXdEnxgb29OUZQYY9hsNty9e5dn
nnmWs5MzCJr59X2Ojo6EjTubkmUWpcSLEQLGakwmkkR127JcLjk7F6kUYfd6sjwnyw1FPqEsZ5ST
KcZkeO/FW6Wu2Wy2ArA3jxa06gtJKkryJGkHTRjGWRUwO+deWiGOtkTDOVc94+HPLxTYPKdtGu4c
zJgBlo5f+98/zG/83/+UP/rjp3n9E08S6pZ5mXN+8XlMpvmKd34Tf+X9P8ipe3HJwMtr2pfjFXrV
9a9m8iiq5OnhrYwfhWE63eP++QJ7uM83fPNfQgG1RwLTBkRzPyh+/Mf+Bt/4lhusL8452D/mLW/9
cj7x6c9y9/SMpq4lEKgb5mJrLZ0SLeS96Ywbt27zuWee5f75kuV6za15Qagrbt+6Qa1yqtMVaM39
559D5wU//3c+yPe87z/mLV/3F/njTz/LW7/qK9EaXNPhlchKOWC7aWnamkmRM53MaKuKW4cTfua/
/x/43KeelnkQcF2DyaRvr1YSbHQ+n1IUUa+dP7uSDo/T4/Q4ffHTlwzgu8scUzvHZVMbU2StNIw3
izDeyCvoNWeTzhMqsmLihhkE9A2j60Lbxs3oKF8M+7CXmoqvBhBf+YQ8uEU/6j0i2PQgIkVCcFS/
CI8gQwTvEhPJZBnldIoyttft7PHjHQwlCFDgnGg4ti0havgG1+Jcy1hv8TIQdNXRV4yNXwm2C8CX
Nji9Pl/67VK9XMU6HQCE9DF+Rr/0vzJPO0fDkL8rXRhf5dS/J4PKrdThINkwMAMUIUU4ZqhrpRIr
JR2N10XW/AAzxDPCcL/LZTK0r3TvwfhA+i1uSF8sDWy59KyRjqkantO3zXFZXKrzMcPXj4HHB5bn
iZ03ApR6QG4o7x6E9QnwGW8UE+irBMxUw2Z3AFJlTFLEwFgm6fUarDaIzusouFfc8KBFxiIFLkqB
dVofaJ2ncS6697rejTtVcuhR3QjAq9hi1MDsH951fK4Aej1U2R8Po++qj5Qc+uoYpHNcdNM3zkdp
A4ePBgOlFCFph8aNu4ps3hBEhw1GGpM7rnUjsHq80UttYKdqx3NHyl8Cjr1IasR6cMELiKmFKTLV
hrraUG3WnJ+cslmtcK1DvCW8aPbWwu7tvIfInFWI3IPWug/6NeRBPWQD1zduARgi8D9m7RtjyGzG
2H3aGotRAa/oDQfeOdbrNYvFgrquY/uMTFoEvEjXKySwSZ5ZnBPWYlHkwl7rOgkQ5jq8E110W2Tg
PVnSfI39IrMWa21kJA4B0ULqO2qkrckuQNrrrevdMXScQm/QGbXZOL4YY6KLfTJK+QhiDcBx6p9K
Reah0hgTANO3/UEiSu8c26mlh45foR+7RDvVkGW2l5vqOtGF7ceDVK/e4Qhk1uzMGVmWYa0R/WQn
Qfo2223PoMyLnKAQLec0TilE39l1dJ0jLwLFZCIgk7W9PIVzArp5L/Xbti1N1dC0LSHL6ZSibmp8
cBD2KcuCp17/BF0rLNg/+uOn+fjHP84b3/AWjo+ucf3aLS4WZ1T1huVyTfCO+XwOKIqioCynaA+N
a6mbhsViRdd2aDS+7VicX9B2jqA0nfOErkMTsNELIxANdrG/G7E04IMWNqx2OOVxDjqQQI9e2LGp
RBWeONJEsNcLQSAEnO/o6i1awWQ658nXv44yM1gN168dM5vPUdrQeU/rAhaNDiLB0AVhs06me9zK
Sq5dv4lSiqZtWK1WVJtNH+dA+ktAIQHi8J0E7SPgO0dTN7GvS667to2TjML50LNjBfCM8zqqj30R
V3v0k3pc23nnaLsOUOR5EY1G4LzrZ0KlVA/geudpmw5ChffCVrU2BkpTKcbESA4l9i+tFF5rMfJ5
MXgIH0MLOO1ClAnoovFF9/JrSim88rL2UJflUXZXbUNfFcMmClLIy36dEcvtslFmDOymzKsQRDtA
J4PPEJAxAVUiY9ESvMMaw9HhkcgbcUHbXNA2NXVT0XUNxhrm8ynHxwc88cQN3vjGN1FOMpxrqaoN
y+WStm2pqy3VZktd1wTnY5+3hOBZLpdst1uee/Y5FhdLFIpr165x584djo+vMZvNsDZpUycDlwDx
Tduw3CxZrddcLBZcLJZUVU20H1AUBdYWZFlJlomcQdPU1I2AvdttxWKxZLPe0DTNQ8a7Vy/p4KUu
Q8Dj0UGBDn3AtoeNuePlvJJLxBPg0qdhiHebjgdN7wHgAxjvmJYFEzyq2fKf/ND3U6iWP/jYv8DY
gl/7nd9F1Z53vuPLeerJa6ybNb/yD/8Bb/mKr+Arvunb6F7GHvAL2S++2knjMR7mNqMBMg3n645y
ZpnuzWkQY49zjmlR0nae4Dz7Rcb7/spf5c6N69TrBU8c7fPWt76dDsXh/h7PPvcc0+lEDJrOMd8/
oNm20SshcHJywuE85w1vfD1f/pVfzT//J79KVTtO/ZKZVZyd3MdkExwKFQxt48h8xf5kykf/4f+I
yUrU8RuYZ9A6WR9YY7EG1pVjs16S5SXXjqa0HRSTCZ/77HP8k//z11icnLA3KcmsxncevOrlatbr
NUWRSeBU5f9Ma/g+To/T4/TFT18ygO+wbBsBT/G/D06CokPW9gvgAPge5O1GIK5VUXtOjRYIcVEs
G7xs/DTZyLpBq1OyEPrt+GsL1b1a6Wp4dfgtflNpY0AEfzTGZkymM4y1w6opgTeXABRC1B6MDN/g
ZTPmu1YCuMX6eJQ1zOVyDS9z3ZM0TXffLTLiLjF6d93ZVV8OD+SpZ5MNm4BdsHb3ebvM2uH81xrg
fZTUA3MPpMtlFk/uDQJDVHA5Gjd2fXmkf4a7JRgztZH0e+jbQ9TT83r3uvCgvMCjJgnSk3R1L8mI
KGFEKt2h/LDR8z5tMqMeZkjGlcRgjqxHbSJgtwu6Jrdx2awLMDgObpbeWSi4EbhUCVAUF9ce+IIB
3IqArzbCctXGYCKzkN7deAByglaio010XQ6BrnO0naOLbrYJzFaRfdkDuRG5HcbbhAirF68LFcGD
yyeNAOJeVzeBvSNQ2jsHSuPCoM84GJcS21XH+pJo7woPQSKNo2Mdj3fnqfUlGQDNrjxsGBmq+vyK
7u8A/wy/9wCv0egAmdFYLfqBmVFUXUO1XrNcrmjrpncX7pqK9WZL1bRyq/H4E4YxIZXP2FV4yGrK
gxrJE4S+7xgtEUdCDOSmlbgWF0VBluV0bYtSCSQPPXhSNw0XFxex/GWcTUHEBrDR9W1/gI5kzsyM
oQ1dLxXQtC1aacp8QpHnuLaLQLywf02UJDFaxyBlftDLDGDiZkxHl/okt2BU8uABTOohuynJPvTy
EKN6HtmTMLEMCUHyEYNCDePhJRNPHO+ElDzMD3oUG+BhG/Orx3oB4dO4Yawhy3IB7SOQ1nUiraEj
ABZHhJ1jXdtRq5rc2h7c1VpTVRWEQNc25Hk2gGVW2qPWGhWDrLngScG5rDHkWU6W5yijaJuGphEm
ojZKwN6moW1b8IE2gj4XF+e0XYO72XB4dIRzLfP5hOvXj7l374SL83M+rz+Hd3Dr5u3o6i8g8nlb
89zzz7PebJlOZxweHpFnEoTn/GLByck5iT1eb2uWiyVV1ci4GsYAZpybCKjgBaBJ2rta2o4OIgPT
hQgchXiKERkIYcVKm9d9iYeoRR7HEtdRV2vm0ym3b13nG7/h67h+dIAKPk2q3D89ix4XgQ5D3tHr
6hoDKIvODHkmw2U+mTKb78u47L0AitGYhXcEL0HiVJQA8J2jrlLgRFmFVtutxJ+IwcySbq5zLhpO
RNYB1Q3sXMDHPp0kB7rknh/1sp3zGBODs7kOHzVTUxcJyuN9Gw0HnRiSrBGZEGnq/Vwee88IeBv6
TVkWlGVJpm2UWVPR4OCiQctGjV/RCk9a394HnJY5o+u8ME27rh9DlVajoF26794vtQYTUDv079kb
pfseTJRTMjKeByD4Xj4nBWwDuHnzOlrDttrQnTR0rsH7Dq0V0+mMWzdv8rrX3eHO625ycHhMXa9Z
LFecnt4XnegonxG8F7ZhnpFHje71es1Zc8ZqsaJtO46Pjzk+PObmzVscHx0znU6w1tA5MSI573Cd
o21r1psNq/WSi9WCqq5popHGWtuv/2VPZHDes1guWa83tG0EtrQEUtVakeUCPr/WyRqFivO/jWNe
UD7uyUJvNKvqmvmkZFM35HmOUdA6GXMNcbly6TPFdtXsfo7Xb922oas35GWOLTM++pH/mcM84xN/
8HGOpzkHB8ccZSWhajl//gXqi+d5w1vfxJuefD2r8zPxpvpTqvX60klRZDnOCzDeeZjOrPBajaLG
R+kVzdY7ytzSVRXGWp7/9NPcPtpn+9yzvOUbvob1ZoXHUDcV165do5zvkVU1TbdgsxGJCA1szk9B
ORbrDc8/d5eLxRmb1ZrzzRY7y/FNRds47F6BNhn3zpegcpR3HE6nnC/P+acf/Qj/1vd8PxaJLft7
v/3/8a+e/iT/3l/+y3jfsbc3YzIpqBrPerHkddcP+JX/5SNkShHaho5AFceLqqqY7+9FqSvNdrsl
z3OUfnCv9zg9To/T4/Rapi9BwHf30NVTZQJsJNKxUtESH4bfR5gVxhKj0UdQSwFxUW+MJg+2v2vS
RVOJNRgGV66rAku99lN5AmAe5bwBxL2qPFUPXQ9H+sBT2mCzgqKcUJZT0CaCVxEc7bMRAavIQPLO
4doW37XQOYLr6NpWFsJ9UKqX98YvF+zt32Y0ASe2mNoplwc/45Uveb8r89mzRUb/H73sjpv6i9/p
Jc941PRoDOKHtI8ESJE2Z8ltOpVF0sRWfbT3l8p92vz1AZfUwIbtWXuPuHAaXLDlzr1brmR++C08
WHcDO8/3OQ5R27ZtW7qRkUcpLeCiEsDVGEvQkaEZg0KZCGIN4O8lliH0wdkUqtc8TFITyZCwe42K
APOg1SuBoARoSs3NhwQFDSBICl/mQnRb9j6CvYOUgyIyONMmPG1uSBupWHYjo5uKm6IxkDsu2wTg
q1Ed7NR+CLsdOoKUPgIdqY8kx8ce9E2306o/Gjlr/aZNyi9t1gb32x6kDOmawQAx5GTXECOsNmFt
iFRBvNZ78E5cvb3HeI/yjrbu2G7WbDeb6NqqcEEiOq+3FdumpXFdZFVHPekoK+CdBG/znYtsStX/
lhhjOgxgb2pnaXud+mVqG8RrijxnMplQFgX1dkPwHhfkWdqIy3VVbft3HOtv9vUVR/zMWnJrRFAj
lgcRmPTeQdS0rKsqMokNKigBotp2AKeV6oPJ6egeaa0VN3IfYsCnxOQl6hxfalPqwf4cIvMuuDQu
jF2uB6OF7OAHQ1MCbsNwcn+/HsBQg1xDumb8+ahgb/qvUqp3+S6KgqLMKfK8L4dAiHrMolHpIygr
HioCUoMwdJsmUNUWVMBqkevxzlPXNd519rs4jwAAIABJREFUKB3ZTNEVntiGtJeglAEB7VxkBocQ
2dnWijSTdzSNuPH20g3ImLhYLDk5PeH09IQsMxRFhjGauq6oqy2HB3u89a1v5t7dMxYXW575/Ofp
Wsdms0Jp0SVvXcfZ6TlN0zKf1zjnybOS7bbi3r0T7t07IcnbVE3FarWKAeMsycCUjHrBCxM3jcdJ
jzggHgTC2KXX9wwEggr4CBT3zM+4flTBE1ys22R86Bp8WzOfHvHU6+7w5W9/GzevH4H3LFYrTk7P
OHn6UzRtR54XTGdzKXst5V2WBXmekWUia2KsAO3WJJa/Qqs0lxBZvqCUFyNfCATvmHSR0YuAt+W0
joCsj2uwji5qLQO9VIPo47Z9n09AYjI6OS+BjGyWEQVSB4OdSoanyI4fGSdViO00qKjDHefUeIUf
9bn0Nza8hxhsFIha38J6lzxenmtCfJeBUZeMJMkgIUBkDCyr0ywS+6xX0TB0eaUyWsvGvF5tWtqd
N3rwOxqnnHM0dY13niLP2D84YHFxQV3VnJ+fs16v8N4zm07Z2z/giTu3Ob52hNaWe3fvs1ies1qd
U9UbCa6YRXkVqyiyjOlkwmQyQaNYrzdsNxvqumY6mXHt+Bq3btzi+rXrTGdTMmvxQWRYqmpLtd2y
rbZstxs22w1VXdF0LURDm4nsdBnhxUNpW9VsNhXrdcVqvRHDnLUi95AJw7Esy37Oei2Tck68CNOY
HNdBPsjYVZQl60aA68Z5kQ8a7RuvWuXrSxWsHvYZZL2RG81+mbM9PeF//fCH+cPf+3/4N/7CO5iW
lmpTs75/hlUWm+e8/snbZLbk2c98ni97+1f1TkQqpHHmX59PoDeEEaTcPLs7UoXI8HR4mqbGKoeh
Y3l6l/k843VveQtV1XB+tqJqPOfrNXk5Y7VeEIzFZoaAoa7FkHlwcMB6cUJd12JAiWuJs0XF0cEh
28qRT0q22y3aGqqu5uRixUFpaZqOO9eOOD8/4f/6P36FX/zwRzBFybZzvHD/Pk9/6lMomzHf2+Md
73gn3/IX/wKz4wM+8YlP8dFf+RUO5zMIDmM0WSZzitt42rYVoyfS5+u6RimFzR5r+L7S9BM/8RN8
0zd9E+9617teleu89/zCL/wCH//4x/m2b/s2vuVbvuVVzO3j9Dj96UhfQoDvg+nhYG+ccoK4gqVA
bv2mLgEUWuHGQIWOypVKwN4QRpsxJcBn13bDwnKMQPST4XhJmDi/VzF/H7Z0fPlvvDvFPuz3h/3v
8tH0OSyIQQCE6XzO3sEh+WSC0iaFRLoEEafLxX3Hdx1d0+C7juAcIf4/uagm1+9HfZuXA/aOmbrD
veWBukeqRuCvGjbuVy0Jr9zHXy6AdDgyVwc5gnR8dFkID43+vPuAP/nUAyWj+ho2aqncBjkH7RkB
GvFddxAUhlUjoQcPgB3NzXEtPLzqAymQRQ+fp3qMzx3IevGM0c16puIIrFGIbnXSIxSpgNCPByEI
AKWNRRtLUMK4Tcy4tKnXClyvHzraPF76IxXHDrMwjRyqf6Wxe7swik0c04RBFqUVCZoI9ApI5tPm
8yF/if2khsod/aWMSnn2ONnoTZQKok88rq+dlxNw4lK1RYL3WBsx9GDNjobyGIDru6fqs6cVIxae
3Gd8ejJK7LwOu7fcyfuQRRJM0YMj3oEXxmS93UbWU6DzOV2m6QrLpm0lWFBdS51oQ+s71lXNcrMV
d8UR1j0YgwTA8Yh0Qo/ip9dO7N8w6k2KXt+3b71aYTNLZo24S3uH0Zoss9jMAsIcxguLUGs5p6oq
ae894Ot2nqsQIDGzNgKKEQqIu762rUGJ1EWeZWwg6jvW1FXTuyRrrcgyCczSti3b7QYb2WFFngPE
QGC6l6hILp3Bh8jgjuPRS4GsycqTymYMFo0Nbj1oMMwZyZhCnP93jRehd49/qRHq6iRgf6ozay1F
kVMWpdSTFYCrrmuMsXjVRftGMlYGjE4u+hGgcx1t28jm24pDsg8QOgmY570fwOWy6A1rSmtsFgFg
pdFO5EfyPI9AjkVrA0E0Wlvf9sZDpUQr9vz8grsv3GOxuODwaI96W7FZr6jqirquKIqcO7dvktmC
zeoznJ6csN1WzGZT5vMpWmuaxrHZbKIbvARVK8spTdOxXm9YLlf4GEyrdaLNmmRwlBokYRLgb5TG
RJ3pzkeA03XCUg8BHQZTUlA+wrziC5FYgqndhBj4Mnjptz54QteAb5lNCm5eP+bJ19/hcH8P7zza
Wu6envOpT3+WF+6foo14R6VxKO/BupJyUlIWApgVuaUsciZlSV7k5FlOnmVkmSG3NoINmowYoNMG
tMkjqcFD8Ni8jGxgAXJ9ZPcmUNe56H3lxaCZpDy8j5IdnY+BATX7B4dkeUlR5OR5KeOHgiHIqDTl
oAa9+0QUEGmMYRyPJd3PammeT2swmc92NfQHmSKDCUPANeLYcll+Kf2/G7GaxUgyeB4N05sCrdBe
pwk4vQ7jhVsvC0IcTi5390D//PF6LoG+IQiruywL5rM5ZTnBGE3TNBJwUyvKsmQ+mzOZziAoLi6W
nJ3eZ7U6p3MNeaYl0JqxFGVBkVlm0wmz6ZQizyLQW7HZrOk6R5ZlTKdT5vO5MHuNFl3vpqLablmv
lqxWS9brNdtqK3kJHmMl+JTSRozHXUdQoj3ddbA9W3B+fsFqtaFpO7TW5HkRmdwl08mUIi+iFvNr
mw6nU8Zc6wC4WO4uBHJAFzmuyNk2tbCQycXQY2S1+gDB9hGX3HIPTYZ40/z4f/lj/P7v/D7PfPYZ
vunr/zz78wMsC978xieZ5DNOT865e3JG6TSve+PbePItX846aDFKRbD0i/+pvqDrd9ZYiPFM98cG
g5pShqAdxsHq4pSL0xf4yie/kiduzDm/f5fVtmK9aXA+MJ/PWZ/ex2SawmYsVmt0sGib0aKweclq
vaVtO25fv8bp/SM6lbH2GV3tMdsNd1+4z7IJOHtM4zTP3D3H2Jwb2y17N25Tnd+jXjuYH0Ix4ebN
m2zWa/78130Dt1/3BE8++SQBKDT8zb/+N7h5dI3PPv1Jbt28jlVwcX7O3t4eaEXbuh7wdW4AfKF4
pHb0wz/8w2y3W0AkU27fvs13fud38o53vOPRGuLj9JLpN3/zN/nYxz7GD/7gD3J0dPQnnZ3H6XF6
TdKXNOD78DSasUOIgdzSxn/QKEuumV7pHQAw/Z5Ag8QMyDKJPK1bkXW4Ko2DLan+npdXECmq8cM3
qg+8Ub+IHCGGCWWO97x6pTIG2dQYkeXBVev4HqNNrAJtLfuHhxxfv04+mYCJjEJF72Lagy9xk+29
wzUtXd3iWwfe07WNCPJHV7cdfBz6TeSrmcas3UG6I0bdTvneAXvHYKW68l4p7QAvo2M9cPWQdxkD
N5c5vkMZjI9/EYHfoQHTA2cJfL3UfsbgSc9yC6KpB+O9zwOltGvzCIMLu4Ceg17oDvh4Jbo+5Cdt
xhIw85DSlzZr0muq6K632/+DJ7KEBvd3YwxYK9crFRm+RgLpaAF6bWRrKa17fdChPch9tFKYGICL
IP0g/QnjMMFA9J1ER3BdJ1BGaZGjiS66RIAX8cbHeQTQdT6yeD0+6lMmO4OHXp+v/+t9GYfx6cFy
HPr71annLl86ultvg27i6BiyYVdJd3IHeBkyKwxR3Qcu0mp44rARCaidBzz4Mle9Q7j8FwJt14ir
uhM9xnqzRakFbdWKbuispMaxVYGqqlivVz0g5T3UjQC+m6aJAZYSSKtHQ6+PIKqKVREBfh8ZcaPy
CtADs/08FV9mLOGQ9FwFQBZQKMTgmSoeM0qJXmdTk3SGQ2QHSnkIm8kohJEYgWSC77WkXfC0TY3N
cvI8x9qMtpX+U21rtuuK9WpN5zqyyDa21tK2LVXbYeqGyXRP8pznsnFiCJImgJUTtl4aa2LdBBWu
HJvHY3BqL0pHGRZEv3NshNFJFzq1stGcMMwj6dCQjzEw1Bv1xobGh8zzavTb2BsgXe+DgPHWaLwy
sS1LMCyR1SCCxpF1rhTe+RiISViggUBwThiebYvSiibGI7A2jh8adJPAX3HBB9V7KpgoJ2O0RgUV
g4mJ0QkUVVVxdnLG6ckZznVkVoLe1nUt833bYoyw/27euM4Lz97n7gv3uH//Pm9+85/D2j0ya1h3
Dq1VZCQLuCoSqVbYz3keA12Jrm1uxdimlAathQEeAvjQGyIyYyjyDOOknIJnMDBGVixiYkEjwd+S
T8FgkEneSFEPN45RwbVoPGVu2d+bcXx0gFGKTkFeFuTlhPPFmk8+/VkWmy3lZNYHShNwV8pkOil7
oL8scmazCYcHB8zmMyalsPInk4JJWVAWhYCvmbBec2ujazgiKaMV1mRoY1HaYUMgGE8WW3Vyc0/G
NucFFHVdR+daghdGeVs3VNsNWVHQdW0fLLIvhxjtUYIle1TU307jp4tgrxr1h/FaJ/UtY9To2LD+
6ZxDtZIfCcyWmOxuAFeRMTB5X6TfJKCgj9/lPKN1tP0M795PBv3yf4AOr166yZp7bGSS8YeeMT0g
whrRFfZYK2z36WxGOZ2xf3DAwcEh08mUVb4hzxvatqOqa1arNZv1movFOScn9+i6mrIwZEd7WJtT
lhPmezMO9vfZm03IrKFrGi6ahvV6xWazwepMdJC1xFoIwdM0HXW9Fc+TastysWC9XovshWsJBGym
pW0VBaDonKx5lM1ROqNpHXXdsFys2Gy24h1gLDYTQD3Pc+Z7c+bzPYr80QCvLyT9b7/0SxweHnJ4
eEielTgkuNf+4QHz/UNckVPVFTYvCM5T5hMaJ8Yqo80OU9Uj8j5+9P8X+4SAxjOfTPh7/+1/zeef
/gR3n30OX3d8/nPP8Ofe9CQWz8GtOb/3u79Ph+H49uv55HPP87f/1t8GZQghrj1DXHb9a/aZukTS
NBbDT38Yi45rB/F8w9cYo5hOS6zVXKzW3Du7wHtN0zlsXtA0DUVR0AaRsWnbVjSaC+nHy/WGa4cl
q03Fuepo6o5N43nm7jmFcuS+owOszXjh3n3unq7R3rGqA2ef+BTXFhve9NVH/OSP/U1+9+lneeOX
fzXP3b3Lzdu3ONib8f+z9+bBtiVXeecvhz2d4U6v3lClEgIVEkhCBcJIAsIuEyA10bZoEE00Lst/
2IQd7cZisHE3BBZG0R1A2x1BgC3AxlMYg6QGIpqQQ4AswlhNWN1ICHAjEFLZUg2qqjff6Qx7ysz+
Y2Xus899Q1VpwA7Hy6ob597z9pA7d+bKzG9961vEd2yBD/+/H+H4xg1ybbjv3D71ckWWGWY70+jI
SdGJanA2iQOLF6Rh/Z3f+Z28+tWvpmkaPvzhD/OzP/uzvP3tb+f8+fMvdEjcK7cply9f5qGHHuKB
Bx54wefeTorxXrlX/kss/9UAvp8N3CXMFwljQpb8svQd4UhKB4ILGGNl8zAG/AKR2ScZpNNmwTmh
emzYbvGcsxXf+kLd7qjP+Lnk+mfA4HSHsZEaU2NV4Faq7J1gj8T+yciKHFsUmMzSs5G/lPBSEjIi
nz4Q+ijn0HUEJwzfvmklgUsfNVH1KNT682hUE4tEK70BBEdap/K7HDvo0j1HuTVE9+4A7+2OTbID
dwe5/wTB3jHyFzavc8x0GtiEozZK+rIJYtPaxBDJs8D1mTJsvhjQYT1+N+jnPVJ8uGWwxb1XiL+H
eL+wdVia0MfyCUliYgih14CSLOKSjTw6bOKGR2uNyTIJf7XySWIjeT/YkEEKI4InRkXQlwRKMRyT
HkANTolNtbc237CBNSP4xVi2wcUNcASQfDpeDB8ozxn+dSzbDGupX1rNR4mHoa5n2j0B3OOrqQTS
xk395rHHJw6gihoxxu5UpE0iGB5rMUq0fuZpbmPlznaZocsmBCDJYoSoeewITmxXcI7Q9QTVC0Bk
FX1tqRea+vSYdrXCBZH+aJqWdd3QtJ0k0EMqKqHiYUv2YzCmSg2M8RBCZIwnRpzUL4Vsp2gJCBEU
9eRZRhETLXnnaJqaul6TWRO1JZNjRdEHPwCC1lhh/0UGoI73UXi0SZIHPibwEvAXFaCP0S9K2KrG
ZDgXqOsG5wLL0yXeO4o8o8hL9vb2mM0mNK1jvVyzOjll7yCwuydASGZNdAwK6OC9o+8l/Do4h9YB
1K29NhXR3hZZCEDkVlKYfGSf+d5vAFel0IyiPbTA7tsgVXSuxM6y6Z93d1TeCfwdQtiHNUorIO8I
TPLeR41xAdhJDhAvjNRkh0TvWDSAlUo2TG+OlxsSAvSup+1aAplcOyiR0TAabeT4tpW50ntH70SS
AMTpreLz+iAs3MObR1y9eo3TkyUHB3vMZjvkWY5zEvJqjaGsSqaTHcxeweM7n6brWi5ffpYXv/hF
EfgsODnWBA9N01Kvmxgu6yjKCaCpJhOMaemdI/OyvPVBwMVB+zsI23ewB0M/l3dslGj0Jk9bGvJp
LCbWerKJKdJkE4kgThm8g9CTGcXuzpT7DvaYTkqaukFrAb9CgOW65vB0wcmypuzitXzAWtG31maJ
NcKa10qRWUtZ5kwmE8pSQO48tk9ZFpR5QZZbijxjNq2Yz2bkmaGIYPGkyikzkVzJrCY3BmM1RlvR
hU5a8LEPWrV5Nkm2F509vaPvmignIizZvutG0RdyrOt72qjnvCUNkcBVUpvJu9g4YMYjZBtAdd4R
Oomq2NLFV2oD7I40YgeGb5ReGttFkUVhsJ1x6AJqpO2dAN5NtMkwZoK8r2SbdXLQsT0H+9hmPmrD
apWigQKTqkIbzXQ6RWcZZTVlf2+f8+cviKyS8xwdnXB0eMzR4THOObq+QalAVWaUZUVRVMxmM+47
d4777jtgb3eHEBzL0xNu3rzJtevXaduOsiyZz+bs7Mwpq0LAp65hvVqyXC5YLk9p6pr1ejWwerPM
kBe5rPGtiZE/YneKqqKazAnKcHR0iuv9oN8dgLwoUKqiKAp2dnY4f9959vb2JHnV57n8L3/juzb9
yWaYTJKH9t7T+8CiXvOj//uP8Zf/yl+htBU9SL4FNJ3vB8ffsGaI8+itElC3/oDCZIbV6pjf+LV/
zX6e82de/1qOjg/51Cc/ycMPfynH15/hDy5foSr32LtwkavLmrf+zz/IxS96KcfLGjuZRGf1fyaG
L5/d58a1QWyR9KW0kon7gb5z+NBhvKeazfjCL/wCDo+PuFGv6JoWqzPWdY9xcPPwKS4+eInQ9riu
pypyTk9q1k3Nwd4uTz/9JDt+wpVr1/GrimKyiy2nnKxq+sUNKgvTvKDK59jDQxbLG2gUz1474uLu
lL7v+cP/8Lu0q1O6tibLMp544gle/rKX0jhYr2uKLKfpen7x3e+myHO0C/RNzWw2o2mEjWusomnS
Awu7N4QeG52lifX7fEqyb1VV8cgjj/Ce97yHp556ivPnz3Pt2jV+/ud/nk996lOcP3+eRx99lC/+
4i8G4Omnn+ad73wnTz75JAcHB3zrt37rwAy+cuUKv/ALv8Djjz/O/v4+f+7P/Tle//rXc+PGDX7w
B3+QN7/5zfzmb/4mTdPwhje8gQceeIBf/MVfZLVa8fDDD/Md3/EdHB4ePu9jtdZ3rOvR0RHf//3f
z1ve8hbe9773sV6v+fqv/3re9KY3AfD444/z8z//81y/fp1XvvKVkncglrs9/93OS+Vd73oXH/zg
B/He80d/9Ef83b/7d9nd3b1j+6S6PvLII/z2b/823/d938dLXvISAH76p3+avb09/uJf/IsA/Lt/
9+/4wAc+wA//8A/f8XrXrl3jbW97G+94xzvIMnGE/+2//bf5q3/1r/KlX/qlz7uP3Cv3ynOV/3oA
388SCxxvqOJab0hILEs7j40ef41BaTMcMGZb5VkeASphoUiYKXFhu10GzOaWb/5kyu09UxL+/rxr
EsEZk1myvJAELgNTYrNhJW6NFVFXLm6IBOgVsFeSQ0gYph9YbOMN9PMBoZ9/2QLyEuA70onbqnsE
rkSzkNHi/9ZrwvamfQhjHH+O2GW3w5RSf0n3+S+m3AKUCSq3Ybpt2ms4YgDNVRyo49DJu4Agozsk
4DcNzrM8zXGtbg8w3un6qfXHTpHUeRMQMgJbtRqN2/T+NyAnjBw8SlgLNrMoYzFZRpZJ+LNSGhfD
SXsnnwMTU4nUw6DrOwKCN0BlasDN86hUxwGL3JZgCD7y0oJEECTAt+sFuPNDi4zAWh3fWdDju26V
xJsNmy+AuCka+sXmzM2G+XYXS5WXvq8irLKRdEiYbxxD/s5OFM6M3Q17n02Nb/EBnO1bozI4DNT2
fxGQHzt0NIjGrPeYqCMYDPRrQ6MDq8VCpGy6nq53rOqaddvSeRe1z/0AKmhloraq2QJ9dQLwjCQw
NAms1CIdErSOrG0J3VYKYbu5Hud6jBGmCQjAV9c1TV1T5jmEEJnRGmIYt+s7XN+hgujBJg1QlEIF
Lxqmihgx09J3LcEXZJklECJjVJIz9c4RgiLLc7S2Iq3UCMAVnKcqK/b2dqmqKaZuaLqOUK+p10uK
Mhegq8hRKkQZgpRVnphgKoGZaWyOu6B858PGYTC2+4m1muaHMcOXrbki2bJR/9t4YiKgerZLjv/9
dl1WDZfZnoNkTu06AX9Gw2S4XjpfklXpAXhMSQjF6WTjOx+56JQAwspGmYgwOt6YDZisAtqYIRkk
wdO3DSvvcK5nMplG+R7IsmxI6LVarrl27TpXr15jtarZ39snszlGZ7jQY22ONZayqCKIKUlxQFhQ
1momk4rJtGJyOomMLkXQAvw6d4JdNxgjjHEXHRpp/CSZj/S+0+jWEfwu8oyqKOh6I+84aoMrgX8E
4AyR3RcB4aRjHiIInD4TECw+IWEE55lmZzZhb1eA13rdk0D4pu1YrRvWdU/vNa0n2mfo+zi3dg6t
PEb7yMrsseuObNFgrRmcPlkmzpWUCC23hmpSMptWIgMRn3NS5lS5HX0nYHFVFBRlIecP0kMGa7Oh
v6fIEWMUmYW8qEjJ72DDog0xkWkIIQK+rdiEgYUfwdekB56kFoKLv/vR+JGemhKvbWYFNYxrFTW8
QwjDGnIssTQ4Z9K6aqS3Lsw7hqijYQPAyBGjUkTQnSauYQSPBmaUeWEDmKc1TNIf1lrHTX5AG9HC
JuoTK2XI84IQlLB71w3L5YqmEYkNpWA2k5wZ851d9vd3uXjpPOfOiaNMKcXpyQk3bxxyeHSC6x3T
qTDCd+c7zGc7aA2r1YLVakHbNLRNTdvWtG1DCI4sM5RZQZZnZHkWnUWK3nkyZbC2oJzMQWWcLtac
nCzwwQ+avUpr5js7nDt3jvvOn+f8+fPM5zOKIscac7eG/JyUB89fFOZ/UYBSdFFH2uYZtsg5Wix5
2Re+VJKKhchO9YGgAzYyfAdpoPR6N2/6rp8aT6Yy3vPe91Di6JaHnNs9z9e+/hv4qZ/9Kf7jx/+Y
137FKzm/v8f16yua1vOiL/xivuYb3kDr3ECR1cP1bv1UDIFot/0Mz3H+8/oMd/5UaqNxftvPdI3R
/LvZq2/WlF5BZgv6RkDQrCjp6jWdV2T5BNcHnNesFyuuXDvkvosXsDZqx8c1mHcyP37RQw/xiY8/
xqX7JuxUU4rccv3GIX3XoPqGg4vnqYqSo2XLzeMF1XSODprVes0iD1y4/wLPPPEEf/Affp/XfeOb
+f/+4yf5uq/7OjoPp6cL5tMZRQbv+43/m49/7I/ZmUxoViu0iWsIHVi3DXVdk+sJwavBzjiXZGgs
zvW80NK2LR/60IdYr9e85CUvwTnHP/gH/4DXv/71fNd3fRe///u/z8/8zM/wIz/yIyil+Mmf/Ene
+MY38jf/5t/kscce4x/9o3/ED//wDzOfz/nJn/xJXvva1/LWt76Vp556ip/6qZ9id3d3YA13Xcfb
3/52PvnJT/IP/+E/5FWvehVve9vbqOuav//3/z4f+chHeOlLX/q8j/3Kr/zKO9Y1laeeeoof+qEf
4sknn+THf/zH+eqv/mp2d3f56Z/+af70n/7TvPGNb+QTn/gE/+Sf/BOAuz6/MeaO543Lo48+SlEU
HB0d8R3f8R3D89ypfS5dugTAbDbjx37sx5hMJsO1Xve61/Hud7+bRx99FKUUv/d7v8ef+lN/6q7X
O3fu3AvuB/fKvfKZlP9qAN/PuoQI+uIgJnLTKoE7G+AnqIBRMXN3nGiSw1I0mywiMShntk1L37sN
VvCfo5wFDW/ZKI7Byc3C5m5lDIYGpbA2IysKbJ7F78IAGhFSmDmSpMPHTbkXJlaIi3zv+qgX52LI
ZQIJz9Zf3XHRvQ0tPb8yBntvD/huA7ixpW4D9o6qNwLTw/gf4++yudkARGF41lFw+gbh/BMtUo0z
SOLwb+O2TzDfSBU1josNPfNW8HzcTnfraAPstnXL8fU0IbjxkdzaXnceeLfIoJA2dHGsj4B5kekc
gYfj24yeDaI2bkgJwbQwerNcsmXnGdZYkVDwwoTpu47eRa1UpURXUoVBnmHMTj37TKmHiS1K99yA
RuNTEkDtlfQ95zydc3ROErMFQgR2IrtXa1TQqGAguK27b72lEaa2eesMfWE7kuAssL5dEpw6vI0z
Y38YS6N3c7uSeuXAiN16d2qrLbfvmR4pPY3atJ8PDBozgv4j+rwK8GyGq4BCFrABTBDbFrqAqzWt
8rR1g+s7+q6naXrWdUPbdzhCBJJAdEJBqYC1hjzLIPWHCLoYY8ishSAakMT3r5XCa6JGpyMkzdEg
IEvf9Ri0MGS1itquDW3b0LtOHBVKQegl5NkLU69rW5xOWqcRWNMKSeXnIygpsjxt1xKCaMJq5wRA
tArnA13b4bQnL0oymxF8oO8cRVbgnaPIRNKhKAuCVrR9TxtDyterBXmRMZ3OBFSKmr3SaAkoCoMm
9IDfDDZtM6vLhBeBtRQ1YMzQZ3XUvk5WeXBanu0zsDXgNrDimdGikuPwLGC7fUwCr5OdGzTL47gF
Bm30dGyqg8jIaCSBl8c5SdglCSPLgH4sAAAgAElEQVSjFunYOaFiEkwLNia+EsY2G2B7dK9kj4bE
XtGGKUXMQK6HhHJd03J6csrx0THHR8fUdct6XeN7cTxpZSiLSpiCeTno0YrjAooiYzafMptPmU4n
7O3tslgshrY5OTllvV4TVjVaC3NqLMcgzqHoxIrvWGuFimsSSSJVUFUltuvljUXATdYsDq2cjH8T
CEETgpEoieDTqnCYM5IjBg0qaEBjjGU+nzCfTyG+Dx/EodA7R9/7qNetcUEPdfVBDX3No/Be4llc
UHQhUPcdSvVDNIcd91udwERDUYhWd2GF5Ss/Jv5YJmXOpCqZTidMphMBi7NMJF/ynCIvyLNMpIgy
gzWaPLMU1pLHvyULvcGYHB1lYHRk7frgKKNkiE/SQW4D+ArT3g+2adAJjo5Q58ekic384ZPDzwdQ
cr7re5qmiYnYvCRzi+CiNiay+Tc6v2O93xBtfJpSbmHdq8Ewbw3eW1aGwwXkI7GEx/k9EgCc1p4h
ZITgaZuWtms5OTpmuVzhnJfoj1XNarWmaTq6KFliM4PWGdPZDgfn7uP8hXOcP38fZZXj+p6TxQk3
b1zn5PiQZt2Q2ZxpNWE2nTKbzciznL7vWK0W9F0nYCdRXz23ZLmOet4Z2tpBSsYDucmwWUleTDC2
5OhkybVrN3jm2ct0XU9eFOR5QVlVA9B7cHDAdDZDAW3TUEdd0s9nuXn5ssyRWYYyGoIW/7WxBKNZ
9y3TshAdWdeDsRTa0AaxbdZmA/CZyvPdxsnY9Rxdv4ZvFhzMp7TrI45vPstbHv3vyawiN3BSt3z6
yaf5g//0af6vD/wWoFmsj9FFxjiq7DMpn/WW87O8QFonm+hLcaPrBURP2XtE3xkIpqDvei4/c4UH
DnYlubCD0LfkVUXdiQzC4eEhu/s7lEXBqj4RR4nR3Di8yZe96kv4xCceA204WXcclBNwjq6pCc2S
mzcN5QNfwLptuHL9EJ1P0Sh2q5J13bBYrdnd26dpGg4PDynLktwq6t5zbm8mzwP84rvezWwypa1r
iYJqO076E3pasjyn7Tp07unqjqbuIDqnN1IOz79x3/GOdwy/Hxwc8L3f+72cO3eOj33sY6zXa/78
n//zKKX4qq/6Kt773vfy2GOPyRyuFG94wxtQSvGKV7yCv/AX/gJd1/HHf/zHNE3DN3/zN6O15qGH
HuLP/tk/ywc+8AG+7du+DYBv+IZvoKoqXvWqVzGbzXjkkUeYzWbMZjMeeughLl++PAC+z+fYT3zi
E3es64tf/GIAvuVbvoWyLHn5y1/OfD7nypUrXL9+nb7vedOb3oTWmi//8i/nwQcfBLjrNZPT+Xbn
PVe5W/t8+7d/OwBvfOMbt8BegIcffpif+7mfG57pscce49FHH73r9b71W7/1efeDe+Ve+WzKPcB3
q4TIrOgjQ0NYIBKiDuixd1LFpAMCAOjI/lDBy+KySGFxiuDrjTfvTru8z7LedwIGkybouAzMiNuW
O/3DNnCWwK8EblmbkecFWZbL5jAkOFANi2UFwsyRigmr1/WRUROBiFbkHHwQ3cjtELtRHUeg6uiV
DLUMLwBhT4vujYTD3QHfjb7dbVopJJBz9PfowE2G682i/7atPWwIzlz7Tjf+nJZUf3Xb/noL4Dec
oyMQdutxqW3DGRAkAZS3AOrjDdUZAE7uEyHQ52iKETH0lme8zdHxf9k8CijiZQMeQ58TkDlAOmrT
v1Gi75bAXI0wZW2eYfMcm+VkeYE2RqQUup6ubSRsshNGktUR7FURXIqJ3TbZjs9ECqgoajF6nOHc
ocUimzG2fMpGLwxfRx9ZB0Kmj+9eaZQOqCCKpWJG/OiKijuFVWx9O7zHMEhXJJLU2bFxt7czhtJC
GIMsz2Gxku1JP1qjvBraZwwEb+qaOvA26DvoBStQyqCUlx2NSpt4BV6hg8IqCZXOtcIGkcxQfcC1
ik656NzqaZqW1VoYrM4HgoqAVYR9dByLeSaJeHzSq1RRzsFKoh9rLOt1I+ywQYO3w/kuOkXiPBBC
lD7oUCjqeo2Ocgg+sn9D8OSZRYUe3xPZZuD6nnq9HpwFKAGVCIn9J7foulayubctzvVYWwzMZK1V
ZLR7sFEnUQlAWBUluc0JEWyUsGFJLrS7O0cbzc3DI9brJc5HoLGX8OiymgiwPTx7QEUKkrD6RuB9
6nvx/WvuYos3A4hNLEZijY4lRdRmWAz99O7G6WzSosSW1hHghQ34K2CViuZ/pDuaWIFxfAVk/ZHn
VrRPg6NrFd71qFHSKR8BNB9tjrXC3C2LXIDamFm89y7qjItdFAax1C/EvqaUwvqMphFJgEwLY3ft
auq6YbFY0LUtbduxXq05OjxmtVpTVgV5boQJGPszSKhrXa9RynHu3JwLF86xt7dDUeR03T5ZZuM7
FMZTXZ9Q160AyNoMCShT7gCtNdpK8kxjY90RoDu3VqRNigKl9JbOq4kMZ+cc0I3eU8DrCBimvhMZ
mwlUF0kVjfGKEBzz+ZTZbELft3Rdgwsa54QpnRcFNstYdY3o3JIcAiIjpVVMdhoi6CsqOxubRlqL
JTsGOmhwgbprWawaFMmZiOiJayEuWK3IrZFkgFVJVZVoo0Qiooh6wLl8Cqs+oyiEKTwtCyaTkiLP
NnrBeUZmregiRzuljMFY0HlJWlYMnTBsxpJIRbhhHPd9F3WDN3q73vWjsR8jY7T0a+cUATfI6zjn
MMYNzDuUQg36xJvonHEUl8dDlP8Y5ig4Yz24Zd4SRykkNvjwg/QN5x16pYfkS2PbEKJNFl33Jddv
3ODqlWtcvXaNxWIl+uZrGUshCLkCFUEya5nv7HLhwiUu3n8fZZmxWi04vHmdmzeu0axX4B2ZtVRF
QV4UGG3wztOGhqZZs1qtaOqa2VTA4KqakBLU6SjP5bw4J5wPaG3I8pIsr1AqY7GqeeqpZ/jk40/w
zDOXKaLcyN7eHhfOX+D+++9n/9wBZVnR9z03rl/n+PiYevX5B3z3ZhNckt9SMld4oHUNTSvOyv3d
ubxb7+i9Q2cWoxSFzQZZOrj7biKtasefIO/2f/j2t/Bvf+mdNB66EPjNf/9bvOrhV3Dh3B7NWvG7
H/kIBxe+iAcffJBPfOITXPySl5HnJT6uR8bXu0tA3AuIcr11b7QRJnrui9x2Z7W12N+u0zgPiw5x
JTLsjxiijLreYwmEruX61WtcnE8J3lOvVvS9ZzaZslhoytJy5coVtDFMd3YJTjTWVXA413Hz5k1e
8YqXcfPGDXQ+5fCkpmnXrE+PeODiPq3KIJ/wzI2nccj8X1UVnWux1vLEU89w4dJF/p8P/TbdwQN8
7Rv+W9FvNpq2gzKDd/7CL3Pl8jNM8hxch9GKqqqo24bMFHRdj7UlwSvWcY1vi5zgJYmbUsKef77l
rW99K69+9av56Ec/yj/7Z/9sAC5v3LjBYrHgrW9963Cs957Dw0MA9vf3t/ZWX/M1XwMIUHru3Llh
nQFw/vx5/vAP//C29zcx0XQqWutBI/35Hnu3uibAd1zXdN5iseDg4GCrrqnc7ZpFUdzxvOcqR0dH
L6h9UsnznIcffpjf+Z3f4fj4mEuXLnHp0iUee+yxz+h698q98rks9wBfIDEzhr9CDEvtoF6nBGop
HCt6iUNPCDqGxW62gpLwQoHyZLkwl2QyrOm9ZMS+7YQrO6oNSHGmbGCT8ZcjOQBBOUcMiHRGVFN6
XiDhZoHBwEAaXy/c5nC5p80z8iKXDM1aC4AbwT/ZXI3qSWK4JlBt83A+aa+FbbmJu9V+WDyMK6Yi
AHP22Fjj9KwbsFcNjKlbWiXtou5QkzvpL3q/rXu6DRBsjj8r+TBsgtLtVHx9W8/z+QV977R4lD3S
KOx9eKmyoRrXKngflQA2QLr0K3GgpHxrWulNUqWzjzUAyHcHx+PBd3yeBO6NCTqy+N++5iDTEB0Z
d2zlCG6nUPX0tzGWkOUE6zHGUpYScpkXJcYKyyR4JWzJrqWJCYsEONk8s1ISRaD1huUlmOSmnRNg
6pWE3g/OjxD7XUoXHzdvIfgR2BvZZU42ORLqHBlQUccaHcPivd8aWyMIN/1CCnUN0XCoyApMWqOb
C2xCrLft1ejcxFKTzrH9/Ld7yyFZp439SvknR6blFss4/l2xYc5CAnESSCqgZ987rI110gatQ9Ss
NQTf0bUSCl5kGXuzgizLsCqgg8PogMGD6+lbAb77vmdd16zWNX1AHIZKkTRC09NoPFWZU1UlddOS
GJ/GWozNmM938M5TN50kVWpqOqXolJHQXO8kKkVHoDtEINkHurYdwESto6EJkqwLr8ELW9loTd+1
NOs1TdsSApSlAAgqaFCJXRhZa9GudZ04T/uYKKntevo+oI0lzwsmVcVqVeN6j9KaTBsBXLwAPt1S
ErjZLGM2n9H2HYvlkratuXmjo25ajLHs7u5iJbQGrdVGJ9SPHATxTSe7Omh1R7BaB4V4dZ3woQcD
nDpYiEBckgvY6LoT+9xGl/pWy5HYusmZlj5DSMCpTn6j+BybMHoBH22cLzx936OU6MBOphMURDCx
JbMCvmkNwSnIPcGlaAjRLPZKwkvbaHeCCmTaDlq/fdRn7r0b5sW+l4RuNuqQJ6Aqjd22sWRZJmxP
FW1JABUU0+mMvd0d+rZncXrC1StX8L5jOpsymZaEEGiajnrV0vWO5eKU6bTi/IX7ePGLX8TBwS6g
BimS9Vo0RrPMMptNKIsytqmm7XraVpJceRfHkQ/0rsM7scvGGHrfy3rDOfroZE76/HmeD33QB3Gy
pL4Sgjj1lBEd+nVd4xHbn2UWpcVBo1XA+Rabafb395lMJkOofOoPe/tzHnjgAp++coWT9bP0/Vp4
/UFHZ5+BGHnklUYTgV30ll0kAv7jsSfm08QAHOmXLoisj+s9kshNUXce3XbYtcPYmkDAxIReRotm
cJYJMJ5lhrLIKItcEsWVIlGUWUOeGZHeKAsmRUGZ5/J9LiBxFrWGs8wOkhFGGwGw7dC8w1oxMXBd
fEc+Sof0fS/REX0vCfKi04HgJQKgXlOva/pOmO3CPo6gLuM5fgP8jhm3XgV0nJvERty6Ljyr4xtg
M6eFgPcbWxCCOFZX6xWr1QqRBZN+lECTvnesViuuXb/O008/zc2bRxwdHnPz5iGr1Zq27ei6nr7z
2CyjLCrmO3Ne9OD9PPDAi5jOd1guay5fvsxicUy9WtC3a4xWWC3s69RnnPfU6zVd19L3koytqiqq
6YRqWlKWOUqJzE8fJae8IMwyvm1OUIZ14zldHPHs5Wt86lNP8MyzV1iullSTc+zu7nDxwgUuXbjI
7nyOAdarBYvTBYc3b3B6ckpbN7fYyM91KaeavJpQ1y3L1Yr98/ucLpdM8oq6d/QoTK4J9CgDlSlo
6TEyW5Pid+60Dux70GbTZ7fXHAqlDDsH9/N//Mwv8Bvv/dc89vE/4ste8lIuHeyiuxWubfmSL30l
ttrlWtPyZ/6br6Opa7JsijMjEDmA63omuR2kEnxa3iloe/AEciv9tI36FFpLcl4T085415Mbiwse
qzRN38laQsFIwzBKf4njKzOGuu/IbQ4oGt9SapHcGbR6PRgDXSdfZgbWvejVWgWN6yhtRt82FHnB
qm+wtsApaLyj1AaleqZGsTw6ocw1Wjlc32BoKcsC163JTCC4nnULXdPTRj3d4BpWqxP29/e5evUK
WZZxfLLA9ZqLFy9yenRCFywrNeFwsYbrJzx7eEzQir5vybI5QVsWqyWTKqdrA089+Wn+uy94ETUN
vgO8Yl7k+Bbe/973sjOZELoatMcHR9/KO+kd+GBQGNq+F/udZbR9hzGaPjhwfdSJf2Hly77sy7h4
8SK/8Ru/wTd90zdxcHDAwcEBP/qjP3rLsR/96Ec5Ojra+u6JJ57g4OCAc+fOcXh4ONg8EC3cnZ2d
F16p51nuVtez9RyXvb09Tk5OXvA1P/7xj9/xvOcqn037vO51r+Pnfu7nOD095au+6que83omStvc
CUC/V+6Vz1W5B/gOZeyfjWFYXUcLo02dQsUlQFTbHOAPyQK9AfwUEmJHng0bOmLm6wGIHNhHkQ5w
GzhjHPK/jVRswBLZaMaQ7OH+cXmruBW9U3f6YwOEyl43DJvSW5c8o7+VaPbZTFg0okGpNs+VGjAu
ThJYNf5JKJuE4qbN8e1nxOFxwq3AzhjCuaW2IwAvMfq2GbxqAGDPavFu2kEjofPjjcImsc9wn6FC
cYsRNwObJCCj5jsL+o7uP8LJ/sTKdne51TkBxHc5kmkgfaYNld9mPiXQPIK3gqHI30oLKHDLkjkx
L4dvRkA44+8jThWpBGrrX+J5ZysPG83PsN3OaaOpz2wIx2enx/BetL+lPSR5oY0bzCzLKcoJVVWR
5SVojfOBtm1o60bkXtoO75xooI66roqgqeioCmabQtRTv0/OlG0kNLa9Tw3LaBPqI/AW6IKncz1d
ZHYGJVIS2hgB7+ghaAJuwzhjm/We2mozps7anvH7C5sKjxlWt3uZI8BLhcRujnIMtxntanTv4YUy
apvRwWncj/8pnT9OdBciy0tkEFRktTqCkbBxgWENTtAfXOep6xbvYrirzVGYCK56jBV2HcHT9wIA
NG1L3bQ0newalRlFGCDgrFGQWU1VFlRlSde7mMBNo7TFZhk78120UqxWNd55OldDCLRK03UNeovd
Jw4WoyU7vIshxtYYygjI2MQmTeCLEvBdmJc1dV2jlJZkbFkmjDwNykh4t1IM4yBpajovCZbqusYH
RWGS1qgdxlaWZcM7F7kTAcR90xCAsqqYTMqo0bpitV5zdHg09PO9/X1xuITEykxOpOQ8Uxuwh5GN
DQrvBXDX3uP9RnbhVidT7MexXVRKRjlywqS+PrbpZ2VtxtIOqQ5jIorM5WJTkqZqAlMhxNDwEIG4
HK2JEh86AmkQ8PigyHWOyjcMSq01wRk6rejalqZrI+s6grWRBadGLOPbTQEQIhtWGOtp/LjeobWh
7xzWGCaTCUoZTh+4H4UkvTk6OkSpQNPUrNfyTq21ZFlO1wkb+dKlC1y6/xKXLt3HfGeG6yXc33lx
likFRWHRuoqKM9K2ddMOgKVoH4t+edtJroAUp9B3PT60NHVDXbdxTOmNrE3wAgRHqR1lLSi5novr
Gh8CnffCeswyCR1XgSK3gKNrNbv7c/YPDphMqlhvNSSH292Zc+7cPvP5hOC76JSLiU2DJShHCAaC
kdwISgtwF9cg46ikECNDxO6GuCZV0ZGxcXOrwXExeq1OtIKVHifoFOeQ0dKvpH+pwaGQW0tmhUku
xyiqIqcsc6o8p8gE3C2LnKoqmEwmVJUwhUUyoqDIBEy21sTEdCYCyzZqlhuUzrCZrHFt8GSxz6Xk
cALqRukL72R+baMj1Y/XmX5LL3hg8sa5MUU4iM6mGzTv4yCI84LfrNH8CPQdjXXvxHa1XStM+V4Y
yTazzGYzOV/byMhn0Ls1NiMEaJqOpmlpmjbms4iscu9RWlGWJTs7O+wf7LGzu0tQisOjY05ODjk+
uiEgmYbMKEwua/Isy6iqirLIUQSaes26rtEKirJgNpsymVTkRYY2WmyHk+f3Ssn8pDMClqYPrOs1
xydLrl8/5Nlnr3L5yjVOFwsgUFYVOztz5vMpWWZZrRY0Rw2r9Yr1ak3btATnZf74PBdtwKjAbFZy
ujxB4agmJVoZXFASWdV7FFqSrRqP7wM6OSDidUJ8B2HYm0iXyGOQZ1QvkfW98tFxAKt1S5UXPPjy
V/CXX/YliIhBC77j3T/x41z91CcpZntcOz6mdS3PPP44D3zJq+ji9VzaaSpFllt8J056ozOyTNE5
aL0kQtVGDwnTEvDbA5kWMn0MOiDQkyuLC4HKin50oIuforFvUKAsKr6iXHnaviW3OaXO6YMjU6J5
3rWOMhN0WgVPYTTrvqOy2RAXUdiMrm3wfU+vFKHrMbaQ62iNDx3ad6AMH/uDPyA4j/eA7ymKnL51
g961yS17VYnNCxSWq1cv8+IXv5hVvaYsS46Pj8Xx1zjsbsHVGze5cfOYyXwCWcXp8ZLlU8/y6csn
WAXTacbJ4pRZWdB5x7pu+fSnn+SLXv0qzh3sUWJY9jWTYoIB/sW/+Oc89cTj7O3OhQwR51UXPN7p
4dMTIBjaphcnm/O0rpX51d1ubfH8ypve9Cb+6T/9p3z913/9kJzs137t13jjG9/IyckJv/7rv86b
3vQmXv7ylwOSOOyRRx7hU5/6FO94xzv4gR/4AV7+8pdTFAW/+qu/yjd+4zfyzDPP8Fu/9Vv8pb/0
lz6jOj2fcre63q089NBDKKX44Ac/yNd+7dfy5JNP8uyzzz7nNe923nOVz6Z9XvnKV+K95/d+7/f4
lm/5lue83t7eHlVV8ZGPfITXvOY1fOhDHxpkq+6Ve+VzWe4BvlslbP3qQ6DvN6F8akuzcbMcMARh
fKFjfErc2GkJu8qDTKrKaAlPCwIihCChXr6PQGBimMXFpR/Cc0PcY44AM+JCU0WAjRRiu0F/BkAj
cCvoe7aohCJtgO8N/nLmt9FGFRV1JPMcazOU1sKOShtmhtwD2y0d2TTC0Niw/kL0cg28vjvMiemR
tuGfrQfatNPAtNiAj7fKNmzAqbP1HEtgKDUCL0d6kem6Y1A5VWMM4t5ukj/L7B1vHm7Lev18ljNt
sIHONv+Q2kDCe2U8+FH/SnIB3gfJ6B62x9U4nHLTT9XokMhEjKDnRisx9fUwDMEEr8j7HUlRjOp/
FjxP1UnM4oGdGkIcApuN4OZHDeMwXTkQBiBQRRZWlhdYLdqQeV5QFCV5UaK0LLD7rqNerYRhU9d4
1xP1ElBq8+7TbnzQER/6xtBs0U6EYfMxBndD8AKA65GtiYzezjs6H+giS8oFCdOUhEwZaC0am8oN
Gx2p0gbYSg0ZfMDHem71fDUeZ+nwsDU+zoL3WydzBvBVCnWmcyZ+2wB4EEPez6DIfuglDCB0Co1M
5lSDgKAkYD3EDbnAHyFmJZc9vizmey/hv7ietq6p657gwRqL0lakELxHK7BDUiFhVjZdR910NF1s
//SMWqPxojMchJVb5MKmy/KMJJsSoqfEmJz5zi5FlnFyuoQg79WHQAs47wSs0WYAboX1FdmkQTaU
eZYxm02Zz6aUZUnfNSRZkwT6CrtONNYzu+mXktBNgTUYI0BXngmjzxgzJNHqup66boTdG6Qji8NE
xrdohGYy+kOg8IGm62iahoCnmpRkmaUqC1xkzC0WC/reURYF8/mMPM9QysYM2DHaRqsYShoGI7Bl
kiLg45QTuQ9H7E9h6PvpxLFjQUWdVDVmRkUbkea3MXN/A85trrOZO7brlMZJikBJYZLCsDMD81FB
lBFQZCqL71qj8Hjfo9AxkZfoLHvvIgPU03WWhfe0bU3XCeOfuKnWWmHybHA8SD/IQTEwJp0jsmB7
+giEOOdZr5JDIMdozXw2ZTad4voOrRVXr16l7zoWi1N617FY2Sj9YUUDWGnm8xn333+RFz34ILu7
c+mTvfS/5SomDcsMwedY6wlO7NzmXQWstRiT4X2ga3uxZSHq+Ebr4XqH8wKwqaTzajZ6yaI5G9Cx
bytjBn3zQJS0wlAUxfBuwJNnBtc3hNBz3333cXCwT1kWtK1s+FGagGY2rZhNK/LM4F2LMnl0NkXb
Tkq+J/I6AvbGHwJK+5EcVeyUKmnDCtM0ejtIDjvpXpJ5NjnQfOyDKqjYn6PlCwHlA8qNkv+pbuMg
k1FMcvGLwyH9GKzVFJmlLHOmk4qyivIQhWgDV6MEjEWeCVhcVlRVGeUkcmEYW0mkKMnXDNpYlIUs
1jvLLCZmhkq6wF5QFfk7SkW4XtjCCSxOUhEharb2UVd9AH6T4zp2q61EbyolnIvrb6S/NG3Lcrnk
5PSUxWJJXYu8zc58zv7ePi74KIkifcsaS1FZJr0kPsyjxIkwzSXhmPRlg7U5Oztzdnd3mEwmdG3L
1atXWddLbh5ep2vWVGXGfDYhnxQSNWEzqrJiZ2eHPLN0TcNqsaTvOmn3QiQYirLAZAZivwla1nbK
KHFuekXddJyerjg6XnD9+iHXrt7g8OiI1XKNUopqIveZTCdorVmtliwWp5wuTlitVjjnmJYTuV9R
8vkuvgusu5qqqmgWNd20o49zoPKKvnbQKXAa01tAk2mNdlB3nqzUQC95FQzgY8RnEEkba5OsXdor
yLpEK2HNmkmJCz21C+RWs16tmE5KUJDtH/D4h38X5T0v/eKX8fjRkpsnxzyArBnqpiMvsmF/lxKA
W6vRJtARUFZsgo5ro947vFLkStN4GQdFlmMVuAA4WRcqY7Eq2vZBuGIzP3ola5LQy3VLm5GR4Yet
gGG5XDMtSqa5kWN9jws1hoLCeFnHoFnVHfNS1sPBFOIQy3LWXUsZ5/t102CN7J0/+Z8+RVnMaDtP
ZkvW6yV94zFZBjqnrOa4XljMAU9ezLl67Zgsm/H009dRynLlyhHaFCxWS9brNU3TYvOc05M1J6dr
QohRHM4xqeaslgtqaubzGevlMVmmefbTT/Hkxx7j4a++yEFWyPhuG37hX/5z7r//ftbrhrqLUo0u
OZR6Av0wf/s+Z7VYggr43tG1HWVZoANo/8KlBkBYvvfffz//5t/8G9785jfz3d/93bz73e/mfe97
H3me88gjjzCfz1FK8d3f/d28613v4ld+5VfY2dnhr//1v87FixcB+J7v+R7e+c538v73v5/JZMI3
fdM38RVf8RXcuHHjM6rXc5U8z+9Y1+Pj4zueZ63lO7/zO/lX/+pf8Z73vIf7779/SCx3t2sqpe54
3nMVa+0d2+dubOR07mte8xqeeOKJoa3vdj2At7zlLfzSL/0Sv/zLv8yXf/mXs7u7+7zqea/cKy+k
3AN8b1PGIGLa0KRwaRWAgsgAIS4cA8Z6vDHoEDNkDzIBWtgKmaXwor3nfIgbXWE8iRdfQjpD0gr2
QcIuU1IalQCw+O/Ip3hsN6AG6usAACAASURBVHqUPoEZwROljYYkRYIRnUU1E7g42nQmoFFtwDQ5
aAywSDIbpTU2z2UzXuTCYgwhboTk+j6CBvJXArElYZtka08LbgkhIzCwhUROY/xmnn85C/SOL5PA
yk2StrThDlvnA3h8fK8b8FKAdb0FCg6XH7XxLWEaqaHP1itsEoicZRff8lybx/iMyvPV+tpwgtJd
N4DquP2EjSTfC6bnRhp4o+uFjX5sUPpMRRQJoPHeoe1YT1k2elt9cVQrT+zzA7ICieWUHAhSr8Tt
2tRnDGnLIu0srLgBhBiO2fSrMWiptSazomOY5xl5JtqMAG3bUDeSsGi9WtI1Na7r0AMzf6iEtEMC
GtOzpTqk9hg5hhI4rFR60E2SG5XeSwQsu76njczeto/6vQF0plDGoq2Ve3hpq2Srkn1JDTxwwMJI
lTlwe+/OpoU3DT/qGEM4bXp1o7MGZq/auAUGO5yqlFiWEexNzNxNvdI72+49KuL3YlIFFNWoeO0w
gOceR4jJlNCKoA1BI+B529PX66gzB1rZGMouds7oJKUQbb/zdM7TtML88iHW35iYLGxTP60kfH4y
nYp0gjF4JexiF6CPm/LJbM6sLJnPDzERSHB9h4vto1ExfDuGTMc+noDcxAq12R77+/sURc7N67UA
IxGwHAAdrQcgpsgyjBK2o3cdeBsZhtH5YTOqakIgsFiuCHUDIY1nmT/quqbtJLGpUooyAhsJ4C9W
S7qupes7mjqFaXuyzJBZQ99LQqN1vcb1knTLGo1N7E5i6CugIqPPR/3TEAZX0dAPhRl8hx4c+4Po
sG1stLSPjuopt8r2jBm/ySGbgOTBOTOck+aiW10haS2R5wVaq6iR7DBawLCgklQAAraaAnACyKkg
ifUUkfka6Ps8anvLWkQbG9cVKiZpQlhvcWwmdjGMnEpewFalIDhP29dDkq3pbCYOgCAOhb39XXrf
Y6yS96ji+mWUQAtgNpuyt7fL3v4eu7t70aSIzEhRWIyGPDNQlWgljOG2j7rNEfC0VseoowLnPMZ0
8V0JcKu1EQ3ttqNpG5EpibZCcgj4Aez1IVCYUhIZGhO1gIWB5nwAZSjKEhvlHAgea8CHFmXgwoXz
7O/vkWUZdV2LBAxaHKJa9JVd1xL6DmOsOCZ8dD4qQ5p6VFyDKBXQSsAOFaJshmDQRBnx6CgWY7IJ
HR45tQfnZRh6qFwkbNZEqIQfD6C/2Fg/stN+AKSljk76XDzAxHB3E7kQ1mqyyOTNrBVt8iKjKoX5
Kwn0KqaTCdOqYhJ/xOYkOYgE+FsBiYuc0ksfM0Zkbmy2YWGmfupjnogQHVAiExGG+vvgcZ0AvpJI
1W0ld/Ne5sskMeFSUjnXi9Zw29K0HaeLBdeuXePqlavcuHnIYnFK23Y88KIHuPTA/TRNgy1LXJCk
rUYbTFlicpHIAUUfnWBlVTHf2WG+c0rTdhR5wXQ6BRU4Ojrk9OlTXOjxweFDR5FbSrJh3WRtzmQ6
ZW93h9l8St801HXD6WKBdz1FkUGQrPR5mWNzAYCDFrve9Z5107Fc1dw8OuH6jSOuXb3J6emSo6Nj
To7l2cqiYG++w/7+Hvv7exitWa4WtHWN9xLBVOaWpnYYA3lumU4//4Bv38v+Lc9LJuWEoihYHp9g
jKxRs+DJlfThQolNYgixXmDagLGAFjBYkM24CfMB+oAJG1s+kEG8Ag2dr8mMweOoVz1lWcqYURCM
pXaOG5cv8z/+jf+Jv/G/vV3u41YYnTEvANYEnKxJjEbChKRILTWi4C5Fhw4dFMbk2LhGCb0jswUo
T6CLyesa0aOwFsmK1slC2sfEsFH/HpWB68HFOVVJotfc5lSTSp4l9ECPUp7KOrr1MXk1RXTPDXmh
5JjBjgDBU5lAvTyknE6ZlyZO1B03r4gkg3MOazSnp0uqckrdiq585zzXbxxz4CEvHfPZDlevXxMJ
pMyyWC5pemEGL5dL2V8DN28uqOsnqZuW3BaSYNIErly5xoP3X6RZn3Lt+g2Cg5WGi4ubVDiufeox
7n/oZRDgB/7W3yI3msuXLzPf2aPt3NbcTWDICYBS0Z4rcpPTqJ6udWQWvO4Jz1Nb9id+4idu+e77
v//7h98vXbrE937v99723AceeIDv+77vu+2/nT9/nu/5nu+55ftz587xj//xP9767u/9vb+39fdf
+2t/bfj9hRx7p7ru7e3d9ToveclLeNvb3nbb57jb89/tvHG5XeK0O7XP7ep6tuR5Psg5PNf1AF77
2tfy2te+9jnrea/cK59NuQf43qGM18XBe8lCPYAxAmyZLDFAPD5YdMhkgWsSUyKuoY2AM7ktogac
gChd35MVGbbI6GKiOBcCnesjKBYwmSRlkeRxDIhHSFKboyQhsrn1tHVL38bNekqgFhJ4sgk1HbOM
xtiR/DLecCZ0Jf0qvwTk/nmRU00m2DxHaTWAfdIA4zDleFkfYsiOLL4lhDexKySz+4ifTALB4nJh
u063fWujmo+eNQHeiY05/hmDq2H7AhDb9Rb8Vd1eduK2oTqKoU3Gob5bP1taqZtwsq263e6xt1wU
n+OiUp/f3Gv8yCmkWZIAxUzoCXxLwF5IdY/PODBi9Jlrn713wjLPtPGIaSr3UEPH3QbDN2ylAUgd
garD84xBX7Zbcvwux2y8tK6XPbM8p1YaYzPKshpYOQRouo7Vas1ytWa9WtG3LcH1EBwShOdF0oG4
YRgLGY7aLWXdZUiAJaCZZjRu04I6bdBHAI0wmHq6vqP1AjxKaLIYEx0ZbiiFcm5oYx8i22PUskQg
RPK8bcbWuP1TqPu4/RKUPWay36mcHVvqzL9prTY6p1pFmk1abDPqd+lWAyeYxGyLvgFp8qAGMDR5
K2RMCjgjrFoJM0aB94q28zR1R1OLpruwtEHhRUIhgoA+Mnt7JwmFOueEcaM1BoWxop/qw8axoGKy
rqqcoI2RpG4oMBbvAp2TMHXnPDrqRWdZhmlbglYSnKmTc2rcdzfgulYiPZSXJeVUEu0QAofXr8XQ
782PUiqCKoY8z8mMLB88wvROCa/yPKN3PV0v7JeyLHGCYZHlBb0XG9E2jYQNu6SRH2KiDgG1rLGU
VUXTtrRNE5M0yTWtFtBIIQw+H3U9vXMD2JfGuw8CzCkd2YrJkRkBvXH/vBPoO8xAajN/C/jmSGzL
ZNtDcmqlhKk+XsEw2J9tJ+GmZw/61cOcFAZwShiuJmrQ5uR5sdHQDRvHjDGGspJkWkoHurbG9S3O
SUJUjCT6qyYVWS4AWt00aKOZTKbMZjPyIsd5x/L0lHq1omubASBPYya1R5ZnWG2wxoouaNcLo7tt
0YXY4LZr0CownVSEcwfiyI59UmuDzcyQhHBSTdjb32M2m5Fllr7vB6d5Hn/aXGAO5yzOZSjkHXsX
yLFRXiHHGMmWPthoYzHaopSJURg5RV/QtM1g65wXIC5FRAhwaeQ5sxzrA5mD3nm63oNq5V6ZALIi
O9FJ4jdjOXffOSaT6WCDQhDmfd+LTc+spqpyJlWBi88BgTC0UcDrIJrhyqKNGuZGYj9O6wufxrdK
UQBj+7n5e1jfDsYuvtQ0VlSyk+OZkjPXGzkpkmUNybLG9aHzRC60AKtstINN1Hg3VosDJ+oE53k2
RDWUEYDMbDZoBZsIGJdlzqQqmU4nTCcTqrKiLHPKvBi0goX5q4d5Qid2tAVlFSYMK3ppZydEhLH0
gw/CBE4Ar/d+SDjsnMNFu9Q2NcVqhbFZZPpriqpitVrRtR37B/sUhTDVfZSa6PuelV9hekddr6MD
TDSo66bBO0+WZewfHACKxemCxXIhZJGmkXFlNcYqtAmoYAZHYVWW7MxnMWojp+86jo+PuXHzBsfH
R1ij0AbyIqeMslOz2S6T+RxlDHXXc3y6YHl8g8vXjrh27QY3D485Pl5Qr9as12uc6ynLnPP3HXDp
4gUuXrzIZFLR1DXHR4fcuHGN6WTC/t4uu9WMxWIR9b2JjOzPbwlZTlCaZdPRBc+yXrNcnbA3n0Hw
aN9wdO0/8eJLFev1mqywZGUBGsq+pV82rJs66ii3WJszncyZ7+7DZMaGwBEZ9iGuQ7wHeuz6FFVV
6LajrVtcN+Hm8THvf//7uf7003zlax7mo7/b8iP/6w/xL3/x/+Sxj3+M08UCR+DixYsoJ46qndmM
6XTKarnm2s0b1G2DyTKq6YzJVKJyrLVopVjXDV0tkanFbJesLDld1oTg2NnfYXF0k/Wy5tq1G2SZ
YTIt2d2dM9vZgSw+U9fg+gbfebKiYFWv6QkU5ZQsq0BlNE2H1Yp6dYrWvcy7813UsganePbJJ/n3
H/y3vOEN38Dx0RFFlrO7u4vWWljs+3uUeQ+ra5xevcb1q1eZTebcvPwkk0wSarbNkqIsqaYl3clC
2Lqd5Ne5eXRIni/hQPIJdF3HfD6n66TNuq4ltyLvZLXsra0y7M738J3MsfjAZGY5unFTks06eN2r
L/AlX/pSHnjxF3Dz2ce472DO77z/V2l6z7//wAfYve8SGsty3eKUrAVDCOL4DIbexXWAV8Lubnu0
tvReZMB8lPry4fMvaXKv/MkW5xzPPPMMH/7wh/k7f+fv/Oeuzr1yr2yVe4Dv8yjJw991PdCQFu1Z
kFA/H0S/xwYJVTeIBpJKIcKRKWFs1MjUsrDOfEZRFUz9lN572q5j1dS45YLOO5RRFDFU1eY52ohO
2wCEGQnlNFaSufiYHOL48JjV6Yoej0ajvZKszkOY4BkgZQB+E5C1AXVuCbpW8cDkzVSaLM8pqglZ
noOSzJohVnID2sQw/QikyCbdRa+uLLT7vqd3PSEEDGlreRtQKIzqOKqYYhNWfjZcPG1OtdabsM0Y
KnsL2DsGAeKPTuzQs/eNAHI651Y28aYtN+3HlnZcAr/GbOAEnm2DvWfb4vMI9I7K1h0S0KlGSe6U
RiV9szEwn/DeATSKWnSp/wzXvNvC/9ZnVGwgu7P1fKFbiFuvLpXeADIbsIutY5NTwg8ZxpUihiUX
5HkBCrpWdE+XqyXL5YpmXYMXoFf4h0m/NwJIEaDTKgHrI9CWBLjEcHytBl3f8cY8Aaqb0RsTtTkn
YG/f0QdJPORCBASVgKYqsluGMGHi+0ubmaGJwnM0eGI+pkolwD0MdT471m5fwgC+jt+ZGsDeJFcg
mrTp+VV6/jM2bHA+JVsXYAiRDmfAjdj0SQcyNgwYEfjzyuCcEGX6fsOmFlZtTJQSUlSHo3OBznla
J4BvAMlgH7VsfQCcgJAm2qrM5mhj8UHhPAQ02uSSJMQHFquao+MFhc1R2jCZTqm9wylFlVmxM75H
eUfqwYkNmPqZNYaqLLnv3H1MZ1PWq9WmrUD6NqLzS5QVyIxo/XnnB+A42TPZbPWs15I8KcsEsJlO
Z5RB2L7ruqFt15SlvEujrTgwgrDNAgHyjcxD+k4rmUtD0ENSKUXYAmlA9IAT2KsEYUt/gErMbdE3
lXlvM1elZ0iyDkmHXBpjk516o+8+YnaNQN+zEQBbmqDJvgyDZBM9MVw7aguHJBCp2vQGN3qGxkSg
vSMEGbfJBpVVjrWK2kBTh0GSI3hHXuQUZUGeW3rnom4nTKYTZjtzikI20E29xgVP3bbC1EOAGq2F
8ZWcLtbYYQ5zzjFE8iD9THnRG55OK4zVwzFayXPkRT6AckVRMJ1MJCt62+C9F6A3sjknk1KA/xBw
TmRD+sLRdT1dK2Ca0pEJrYQ137UC4JqYKExFLV5jDdZZSbCL2Mi27QY5FxvtbJIcMFmGD7Gf9h7d
9Silpf42Mqc7T9sL2F9VJQcHB1RVuZnrCfS9p21F27ooM+bzKbPphNNVjYoMWrEd0eb7kPIFD11R
K5GPkORQ8TgVtvsQDP1q8zk22hujF7Y8udu2MIHFt1n+DGurePXBdop9V1GHVEVbmv7RbxxPKtoi
oyN7V8Z2ZkXHVzSppW9I8kKFNZoiaQNXlSQdqyqqsmRSlVRlSZlkIYp8FHWTYSO7eHxdrVSMhNBo
mw0JU8dj1ft+cAISbY2AvpHh24ljandvzf7BAZcuLVitVzR1Q9e22CyTkOLoIEqJN51z+LahazsI
KmodT1gt16w7kUqYTibDvHt6csJysWDd1MKaVnEOUYYiz5hOKnZmU3Z3d9mZTynzjL7rWK9WHN68
ycnJsdRnIk7pvCiYzOZMp7uUk11sXtG5wKruuHG05tmrRzx75SZHR6cso+3+/9l701jdsvSu77fW
2tM7nOmeO9Wtqq7qoXowDbbTbUisxEhtExk7INsIHIeQBIVEKJYMNoRIARIgRPIXCwcSRAYLRPIt
+QImBGMcaBJjbOO009g9Ud01dN26594zn3fY0xry4Vlr733uvdXttruMIt1VdXTOfYf97nfvNT3/
5//8/33foY1iZ3fBjf197j13V0qmb94khMDx8SPatuHi4gKl4PBgn8V8HhnWgbyQBM673dpOpGI6
29E7y3qzQgeP0R7fN7SbC7742U/Rr49pmjUoLzrbOjCblRRZjvdW2PzO4VyI+qtyL6pqHvu9GdY/
SaxLeb/GozLDcucArzM2neNv/e2/w51791hWYpC3s7Pg1S98hj/zw3+MH/lTf5yjt77E3v4Ox69/
jozAclbx6FGgqxtskCotF0BnGSutyIqKPpoZVqYgZpTIZ3NqF3BB8+N/6S+j8fyJP/lDGAUhSHXe
tu24UJYjJXs8HcqhUgUlyYbT8xNu3r7FalOzrXuyYsGnfukz/MqnP83tm4f8/j/wPSga6npDllW0
tefWnffwE//Df8/BjYyPf+Qem82WS+c4imtn3/fkeU5ZlthWKlWUypnfuUehLPu7M+q6pSxL9vf3
Wa1WqMxQzmYUFVSzBV++f4pzHcfHx8yiRMjxo1N2dna4aC/wPrDZNDgHZWGYzzO5X0Gz6jZkWjKw
QTm0CjQOPvzSkt/z3d9JUDUXVyt+8ef+ER/4wAfx/Zb/8s/+RamyCLCzu8uqbvB9FwlOUcPXBoIN
ItOIp7MWF0TCywWPB5pO+pf7TYjdnrXf3PbJT36Sn/zJn+R7v/d7OTg4+Jd9Os/as3atPQN8v0qb
AhbeOfoAhNFZ2/gcHTzaS6lofo2tIwY/KIkznbPRCMegM02uC+ZFLmVcGtbbLWeX59S2BgtZkbHc
X3Lr9m2quQRK1wDfZKaRy2bDOou1HpRo9TUqUOhClPttACdBxOMyBAOL0o+Ba2JpJJDmaVcmgGiE
FWUsaYz6n1ELcCg7j3H28M6AaB45j/IBvLAkhFXjRzlhngZnjmDik8GHfNYA+0zBsAnYayKTUekk
GZAA7zAc5xpgHMS4IuldpteGePGUVsMGcNR8TOfz5DcI8f1J2zJt5NO9UTGgD+odrn16aAAIpshb
uPaed5KF+I00SWAIc0t0cGMZ8ghtjAA4Uz3c8buriengwASdMES/0lYoackmyns67nAtHgP73/lA
CaSP56XGz52C1OnREXaV/ySB4QneErwwa4zRMZkgTvdN27LdbtluNjR1lHGIoBvKQ5iUXCcgPQXW
SqQYFKNOb8QUiX48A6svaSoO5xqvb4hAgMfTOwF7e2vxSkftVCUgQvwA+VyNMnowB2PohxPwNWFg
E5D069ImKHFKhIzjcDKWY3ButBld2COYECbzByoCtvHv9B2TPrCUVz49gZA+c/jKKbmho+SAyWKp
pzighyBGWgKiKkRWx9E7K0Z5ztPFHxuN8rKof55KJW2IAKPWmKwgL0sxPHMBG4QhorMSg8UGxeVq
y4OHjyIb17G3v4fXimAUxWJB1/esVyua7WgCoZTIOOgIVBpjqKqKwxsHmCyjrWsB9owhOOl0Wosh
oYmyAgoVwdXxGCYatgF0bcd6vRYZAK0pq5novKNYbWqapqXrerQyzOcLTCbSJ4OxWwTHtNICxqjI
zsuyKIfUyXlF+YiheiBE2QIjYLcKyBoDoEL8O+qL62joFVnVKYHlw2jgF4LHq7Q2jDreIkEUH1ej
Pqo25rG5J81JUT826SVOMWRGwHmcuq+bhybWsI8SK1ppjMkoisiy9haIoFkmWrJZLs8L61xkPpom
4GxPb8UgrKxK5ou5aFJbS14U5EUuQJR3iNYsEqx6F6Uj4pwwSboEAn3X0fUCDKckNETANC8FQLVW
gNy+JwTR2Z3NZsJOi9e/rEqyzND3PdvtJvbPEs2MvKrY292NjEsXP9/gnaduWuq6HaQdsiwH5LPS
NZB8jSKtG8orYRgXGWglYG/wtK0wUU1hREd1VkaPAhN9FjRKe5G0yjJM1D0OsTy67wKZMezt7XLj
4ICiKKMGuMxp1ompl0VRVSW7O0vmixnrbS1Gj0rhAkPVj/SNkXkeQsDo0bQtGUuqWC7OY0kMPczv
T6tKGhMPT9/pjX10OoekJ/W1Y0a2bCCur2F8TKWKGzEFSwkogiyFeFAuseYdmj4uSyoNXxnbsdLN
aB3ZwbkwgCfM4PmsEgB4nsDgBAQLC1gA/CK+15BpAZmLzFDmAu6XUV5GmMiQ6SLOQ9HUiqgBHEFf
qTBJ+sARBLY9fdfRdz1d30kyOC9QKIosJ5tr2raj6y3GGBbLHZ577h4hKBSahw8f0tQNxhh2d5aU
RY7tO9ablRgwGoNRilxrZkXBwd4utw5vcPPmDfZ2dqgKg+1b1qsrLi/OWV9d0ncteZmxu7fDjZuH
3Lx5h5u37jBf7qN0wWptOb9c8eDRMfcfPuTo4SOuViv6vsc66ZNaK+Y7Cw4P9nnh+Xs8d+eOmA+V
FW3XcW5M1EyOlRfBobUiy8R8sKxKirJ4Sm/7+rbVpmZeFZRFJrqYwVMVOlZY9ezvzik1GN+SBUeW
wSyTOXNR5bTNlsIY8mo0YhWZP6lmyfPU76fSYRrICCFHq4osL+id4stHj3j75IzdnR32ljvs7+1y
eXrCCy+9zLapOb04J4TAKx94H6+//hq7ixLV1ixzianKKmM+n+O8Z9M0QjYCgtL4kKNUQZYVoufr
FV5pbh/c5PjknM3qEk3gzq2bzGcl221DURQCtuLAO6z36CAxnFHiv2G7nnt3P8Srr73K7dt3+Pzn
X+NnfvpnONx7jnazolvkvHjvkIuLt5kXGbPFgjxbsl71fPnNz/Fdv+v7yMIZO6WM+HrbSnXQMqfv
W+aVplcdXSumcA/vf4n/55f+CWW1w2L3BtZ6ynLGum5YzDNmVQBlKMsZ1kJvLVdXK7LeU9dX9FHL
XeuMzBQsqkrGdVGg0PS9Y1vX1N2WSpco79C5wtPz0fff5tu+7bczX1RUZSVyiybjb/z1n2C1cVRV
RegNWmccHT1gsbdH3zdibOitgLzWS5ztxefB0VHMlJA8QkDngbaXhLr1/VP77LP2/9/2iU98gk98
4hP/sk/jWXvWntqeAb5fQxNAz9H33aDxlgcfL6IafqZkTmMEDPBeANdYIIwxGbkxFDMxYcirgmJb
4oynsQ2m1BRlycGNA24/f5uyKgVE8r2UQ6bANjom+8gQbpuWnT0RLG/rFhMMofMEG1BeCeOwFqfc
a1qzYURuEhCgQgyk0+tCMieI3nRBHIbn8zmz+RxlIkuNuLGfmNTECzi9mMLu9eIUb/sO28cySMJj
QckYXTw1mL72kIrsvvGeMQSeY9l6MmZ54r1EsMhPINQJI3HQhH2H80imX3I5wwAmDd85RBOpBCj6
MBqDxOfT6wdgc9pSDJWOGRk9Kn0u735LANjQ5YcWkxtJo9PaKI/35Fl5H4ZgER4DWxkulRx1Asgn
tu0I0cWfCTCbQD2lrn92GE56+k0iwPgVmKYJpH78ricGqUqDIgKhybilbTs2my2bzVacqb0EPQaF
UR4doqmXTiWueizXTc/Fx1WUhRGtbxVxbT857whSRV2wxMhK7NI2uoW7qDke1GPa0un+kUABPZhF
GWPwzkbZjjDel8m9+Zra0/p1fHxMN8Vr7BNwra8lZGQsjwmcJxnYPOXfaug70+/pUXH+tFjvCLHU
Ln3OILMhSDEqgcy+JJQzQtWC67FtwCgnWppxrbDOYa0EU50Lkd0rUhrKCMMri2xUmdeJhkCRdawz
AgrrAi4EAgaTFyidobRi23Tcf/AAZzt2lwtu3jykWswxZcH+4SEXqyveeP11tqsrMKLvqyCyHEU7
PTOG3Z0d5vMFTSsGQ0ZrVND4CLiqzKAwsV+oqH8pgK8xmqLIySLI55yj7VpYJ6BdM19a8kLA66Zu
6LpeKlq2NUVZYTIxudvUNXXdDAmwzEhJfyqtJkjitOs62raBECLLl5HhGyJr3SeAVrTmhbU0AmHS
ZaKxG+PjyUAPEOBFjTPT43OZ935IHI69jJSxiUakIa6LATUBk4e+da1/yuseTxz6mPhJc5h3sm6G
LBN2LQL4ay1gvo960UqJOY1MxIKq9X0HCtq2RRsBWJXRdF2PyTL6XkrVe2vRmaGaVxD10ItcmJFK
gXdOQHhU9CMQ6RJt9KDB2LYNvdVR/3cC6IdAnkUphijFIUx3TdsEmghA97anqqo49ITZWeQ5s5mw
fPveorWRRDciD9F3PX3v6LoG0FjbSUAeHHlumFUzjMlk3xH1hpUR4QEF9F1DiOBwnucCNmtN37e4
tgGTkecVCjEnExM2EO10h1FQFsIwvnXrJrt7u+R5PjDD028xNExzuPTjzBhCDh6NDxprBEAKKpkB
T6Q+IvNeRW+FlHgY9juTRJbUo+iIr4YR+FVDjx367rjeDR0wjoXpohyGY11/b0hDZRg3isjgjQkC
FZNmo3Z1OhbgYlJdR63xYdo1QzI0JcKtD6geGmtR2qHqDq22Ii8S98VZXkTpjlyYvnlOWYkecFHk
FFEqItOaXBuqsmA5n7GzWLCczeJ7Mso8pygzqiKXv5OJHBqMRuts0DoWwNuLVrDrsa7Hxb1Qlpk4
HgUGV1EPulQCNC/nUrpflTMynYk++bYh+EBVlezvH3B5ecn5+Rm2b9EqZ3d3xq2bN7h9+ybP3b3N
wf4us5mM+Xq74eryu/PkgQAAIABJREFUnMuLM9qmQStYLOcsFnNu377N7Tt3OTi8xXy+x7a1nJ2c
cnR8xoOHx5ycX7Bab2j7FoIkVrSW67qzv8OdW4e88Nwd7t65zWK+wGhN13Zs1yvqzRrX9xRFNIQr
JX4RkkqqsONdb6Vp2KzP6I3Ie9i+ZVbkODz7e0u87ZhH7eim2eC9zJd933JxcSlJHN/go0HlsP+M
49BaGxmxgFZi7pZnZNqgVUHXNWR5BVmOdVLtdXCwx+3bt+jaVhK6Gp5/8QVefOE5fuqnforv+q7v
5PBgj+1mRaEzHp2ecn5yiuuFYX7/7bfx3vP+D3+QuulobY/OC3SeYVshznSt5XJTY1XO+eWGvYNb
4Cx/6yf/LuurS6z15EbY5dp4skxA0SJfkhU5udFoA7lWVIs59++/RT4r+aZ/5Xfw3f/W9/B/f/IX
sF5x5+49Tk5OqKoMU83p+pZt3fPz//QzvPTSe/htv/WDWLvCzEpMXnBwsCvGlUqxmO2iAW9neKcg
m/Hw+IL7D97m/R/8LZiixCG+Lju7+3gCm/WWEBTz5YJXPvJhjo4eUs7nXF6s8GiqWcW2rkUOyGgZ
b5FF33UdTd2JJw/gcewuZ1RVTpl5PvYtH+fOc3cpqgqle2aLBarY4cGjN/jnn/kCi+UNXnr5RZzJ
2NkUfP5LX0Qbg48xmA6gEA8Mow1ewaPjY8glljZZxmJe0lupMMiLdz/h8aw9a8/as5baM8D3a2yi
8WdHgE4lcoQimZrJCyc/hsgmivqlTsBfE4xs0jPIyoyZmrHrd+jpmTcz8rJgf3+f5d6CrMjxwUEv
JSPOSkmkx+OCG89DBeaLiiLPheniwHUO5cCQ0bc9q4sr1quV6AZPSpBCcg+OpdwDLTdMNuTDJlx2
OVmei6lQVaG0xsUAeCgTT+DbcD0iE8u7Qc/VWUvf9dGQR7Qr4Ul26xS8Ha7xrxFwSuc0BNtPeZ/g
aPF8dfra8btPmFYDUHjtRFJANMZE6XQfh2FDAn3hGvg7Hml8z+OfdO04k+ck2HoKAP6utDB07fHT
GUDn1BdHImhyrJ8AeUhwNMWN1XT4PAVgZfqImgSmavLAJLkwgenj+Y0gzhMt9ukxqJ38TI47ZRyN
9zqG1UFc39tWypCbtmWz2dC2jRhKhchKUkhSI2rGjsGwYnIJ4+dJiWsCKYV1J1dO2H5eHH+jprcA
eQmQV2IM4xxtJyWN1jspKw9pfI6g07RnC4tbo1SSS5AMj5SvRcZxCuC/Tlp8CUC+VlqfEiN6CoBJ
okAA6Qj8Pjamp71n2ouG7xWCuN7HMd9Zy6buaNoO6wqCEbZmKjtGRW3jVCWQZ8LeCY5ceXIVWNtu
wiD1YvDjA85DH/V7rZefoBhKerPMCKDXC4jvvYfMECLQ1zsP1kUOkcgfqJgkUN5xtd6QR7OonZ0d
qsWcarHg8M4d9MMjjh4ckcpNk0aw1gpnLWSGsiw5ODhAK0XTNLRNQ5Zl9K4fqhqMMZElmBIvsl4o
RKM+i9qaAQGusQFrDNY6mqbFuoA2W9CGtu1w3uGcp207mrohVTV00ZglBEl2uEy0axN7V0cQK3iP
62UdTqBWiCzUwWgueuyIzO079AZ1vc8NYNn0VRPAS4w7x+eSREkC0UI0VkzPpTqGEOHElECdrkNP
ztoq/T+Ax1I9IDq5xiTTOybXhMg2NRRl1NL3cu2K3IyM37IgLyKb1uhBzqGsSgFWB33qCBaXBYFF
1CMPLGYVRSGmUN5Fxq8PtK1o/BpjwMu+IGmbJvkNlJxT33WiiZsZyrIYwHrQA1O8aRrarhUDz9mM
4BxNXbON0jj1dkvbNPS9xZgsgq+GkAkrzfZikJnlxZBo00oM/fLcSP8moJwkc0yW0VsXzYpCnE9N
LD3XdH3HerPFuiAJCmNQygwSRTbqVwdv0VpM43Z3lty+dZPdnR0yI8xArRQBYUjmucF2SSIgkBvD
rCzIsoBY7BmsV3gvMKJP/WeyxxyTwnHPlNbiSQdK62AYZIjSiqVQU939Scefbo/G/hmGPeFYAZP0
t9N4GJPX4xoWGfpGx2qMBJqlPUsav3FXoATEdpNnvZ8kaYaFSo/rsUP20smcsg/o1qONQ5s2MnVl
rciSjE6UjtBKYeJPVeQsZzOWixmLCPhWRUFVRnO4MmdWFgPom8DgspR/51GHOjNRHkIXGC2grgrE
ijypZvBRl985H9dtSZaFIFrnRTkjBCWVOF7YxH3X0XUtBM9yMefG4QEvv/QC9+7d4cbBLvN5JXql
tmezXnF1ec5mvcJ2HfNZGXWNc8qqopotMHlFZ2FzdsWjkwsePjrj4fEZ55dXbJsW6x1Ki7ROWWTk
yxlVccjtw31uH97gxv4us7JEhUCz3XJ1dcXZ2Tmrywts38VrVcR76CPzX0eJvHef4fif/fAPMJvN
6LpOgHagMJIEsNbjrOfk7Jgvvf5F1vWWvpdEV9cJMNh2W0ymCF7FdUnmuBAkeVVVFeeXFxSmZLGz
pG8tymiKTDRuF7M5R48e8m//Oz/Ag9MTWt9x9OiIclZgVMZ2vcFEgk29bfjQB1/hn/38P2Nvb4dP
/uN/RNd17C53uHN4E43i+MHbXF5estls+NV/8RrrbcPd55/Hoti0Yl7ZWS/67kHReUORz9j2Ck3G
r37hDYyg06iAJHeNwgeRC1KUzBZzNqsrdnYXBK9o+46iyLjcrvniW2vK2S4nR5esO80X3nzAT/2j
f0pVtdy+c4gLAWcz/t4n/zHf/ju/laumwXZrLFsODm/R9z1ZLqaZHdDXkmA+2L/Jatsxv3GTw+df
5LNvvMk3ftPH2dYXVHlByGUvuzjcx9mARbFc7jCvN1zWG1ymuFivybpGQGxXEJzH+uS5o+mconE9
dd9hgKrM2L2xh3WtTHiZ4WrToAzcONzBBk27vWT/RslP/PX/huOzc6yDv/V3/h7f8Q3fzF//n7/E
eluzt3eA0Tmf+9wXMCaj2TQEryhmc7Tb0vUBg8EquLF3g/l8RpnlzyQdnrVn7Vn7TW3PAN+vsSVg
ThzMxzLsyAsClMg3hAmQRQSTfITKlOhAOWfobUfbNZgyAxOo5iX7ao/ezslycWjPqwxlFGKALBt3
5y3OO5RTWGdiJlqAmKoq0ZUWjTevcL1De02ZFfjeM5tV5GXOZr2J2eA2lin5CNKpiaTCFIgcgb3E
asqLgtlyQV4UAlBE5lpEZUYQZwKKhsEQQ37E4VjckQe8LjElvg5tyMhHcOorsRKVmvwRg4vA9SDn
SQBxCtg+ds6PIbYjjDgyep88CYbjDqjxtSM87e8UCV2HD6b6s19L+7Ve+Wnweb2NzO4wAOZq8ux4
zgKyT4H4J4957ZqpAWIFoqnYtUD4SbB3el7ykicglmu/r8uePHaMdIrxYQEfTQR8LU3t6W1P07TU
dT0kMoyCTEUNTBQGjTYZOrkqjhdLPkZFzUJtRk1fF/Wfox5oYjQGQeIGFlUI4JXCeU/nLG3UsJOy
YgHDEligVLR3D+OXS3Id1xzbCZPrFoP4OJ4G8P3xNjDJVAQoJr0ghCfvw+OAbwSeQrj+2eP5iSbn
UxM/18ZdvI8DrhHBSyVMuqa3XG1q6ranx0AG2mQo5QcwLX0XKZs3FJkGHSh1IMNTry/wvY1s3TD8
WMFrsfHfPo5pNQAgOgKVITJZIZU+ex+wvQNlBxDQGB01gqUf2b5lvd1Qlhm3b92mzCrmOzsslkvM
STaMKRfn3TTEemspq5LZbMbu7i5127JZb8TAK+qSp/kjaV0SwshKjM9lmYn9ZLjYk/VC0feOpt3g
CeR5IQZuLs79TgBh0YLPpVxYxRJ15+hDiCZH8pk6AjVSPu+Hc0h9RGRy3LDmxGVI2NFJC5dJ0oYR
kEKNScZBjuca2PvYwB+6cQL54/Eiy14qNxgzX+Pkcr2/j5dtHPuMxm0JHM6ybPIj15y4SjqfdMDl
+SRb0dseowWE99HEtcwruX4ErOtRXtZxYVrHkuVoXBfi/qaIch47izll1NslBAF8nWe73YIP1PkW
20tf7YJUKSQgWqHwUXfZRKZuWeRDEj3LDEWeo42mrrdSSeVdlKKo6dqGuq6pG6lQ6vseax15XpLl
hbCqnKXvW9q2pm3bYSJInynSDo7gFM72MbkWTXRcj7M9BIfJJBmT55JAa5ua7WaN8yGC3y6au4lc
S9u1IpPhHWWRMZ+VLGYzDm/cYD6bo7WJOpWiNS4go4Auru/xzpJpTVUWZE4YviFonNf4IDIjntiP
r/W71G8Zd0zjNPnYeEzph7gvmySZB9h16PKTyqyxpzPucBKw64d+O85fT+5rlFLoEKVUzMTINyVY
riHMYwIVBPyVrzndizKCvXo8RkpgaiL71ocoE2GvXZdr+8xATGwFCpNRFZkAlUUugG5i9RYZZW4i
2CsA6KwsWcwqlov5AAZXZUlV5pS59J/MRIM6ArnRklhQYZxfA5BLsmhb11xeXLFabVmtNlyt1sLw
DWJq7J0kTPb399jdfZ73vOd53vvye7h1uI82ge1mxXZzxXp1xfrqknq7wTtHVeTs7CwlIRPnsbZ3
XK1rrjaWi6uat4+OOTm7ZLXa0vY2YuqSaJpVJbvLOQd7Sw4Pdrh5sMeiKtBAW4tk1dXVFefn51xF
o8fCGOZ7+ywWi6g1Pq7l1jpCSOPz3Wvb9X3WV548L3m4WpGZkqbpUMrQNpbVasPl1ZrT8yvW2w3B
G/KywOQlxhjaPuqmx3slLGepNupjkmc2W7CzM+PqdCW6s1VFmVds6zX920d8//f/flZtS9v3nDx6
yKuf/wzBtty7cw8NdHXL7nxJfbnik3//H7C3u2R3d8n7X36Fv/v3f5r5cofPf/4Nbh3s43uL8p7j
4xWt7Zkt5hyfruhCwCqFUxrnFa2XqpZtY9Gm5eR8S1UV7PWagMMo0VE3qsQHRwh5jFENrrb0wXC5
sRRZybYJnF5JhdDx2YZtc0GmSloX8KrgU5/+FYxpyIvAS+99H8EbHhwf89L7P8C289w8uAtZxsnp
udyT7ZbXX3uNs5Njbt845N69e/zCL30asoI3H5xxcPeQz99/i1/41C/yDa98hCZVmszmgKZzW7xz
FCgoMnZvHOC14fh8JT4VAXbzjE29pu0cTdsTkGqTxkm/3i01B3cO2D3cw9mOYHuutjXeBJzewZrA
g9NT1usLvuW3f4y2veLi9D4f/5Zv4ZUf/sN87rOv8gPf9wn+1W/91/nkJ/8x/+8v/3P+yB/6E9y6
dYejoyNOTk44PjlntbU8Oj7jzdff4Pzyisvzh7gazlcbmu5Jc9hn7Vl71p61d6s9A3y/xnaNRRY8
XdcN+8gcLc7o4yuugZYqS5tzMWMRFooi6EAfLFmZg9HMFjMqJcFXURYEnZyf7cCocN6KDl40Q0mM
txRYaWWEWaA13oJRhqqYkZFRVhVFWXB2eioB1FaAi37T44igbzScS7vjAfIJUdZBg9E55bxivlhE
PamARwAwH0GgKSVjAAAT4OsiE67v6fsO5yLgG0b2q47Bx6+lDVc6MZ6mLKoURFxDnMbmJ0yxxFhU
RJ+fyEyagk7X+8Hkc1XkrQ4g5wguPY4VPJXBHH97xPwv/fv65z15Dteiu6eAEl9LeydIefrYNAGQ
XhTCyNjVKoWV0/OdAKtP3IcUrI0lq8PnRbbQAJ7E96eS6BCi0dXj6Prk/dfONwWunpjYeIf+Fb/o
AFiH8XEVkjwLA9MUJSV+tnNR0qHF9pbgQ3Qqj4AdAtZl0fhIEcT4MQYQqe9qPeqXCuhmIkszkJig
ErTr8byIBlox+eIjw7ePWrLWO6RYdrjqEf2dfDelMToGN0oCZ5Uo71wHwVOQPT5+vSUzHh3Z/wmg
eGoSYgoOD6dznVEZXybJpAhCTkGzdL9V1CUeJEVCYluGsT9E2RnrYdt2XK23NB1YU5IpYf3hRxZr
OjWtEEdqrcmMwmsPrsWYjGB7fBD5BRcQsNfL3y7OnYOkrNID+OGci2aG8bpFKYUQJLnorEUbRa4z
0ehVcm1zneF9h3eWJrqm57noJ27Way4vL+m7Hq003tprY9U6GzVUK8qy5OHxMev1mj5K63gfNYmj
XrSJfSpMgGMdAYEpcDMy+Qyg6JM+e0wqohQ2mtNlRmFtT9uZgTFelWUEAcUUyTs3jEXR8c0p8oLr
SQeiPJDoZsp6I895AJeCq3AN3J12rTTuhvkmXqdBdmby/LQl2ZERoRr1gMalQQ3zeEDWG5PWk3T8
iWnnoDcf5zgTtWKzLBO90rwQCQ2thWFqLUoFTCZJApmPPLa3NMHTdzVd1+CcpSoLkYEKjqbpRbvX
WnQm5mXjvSOazOXoPGNeCbCVGL46zknBe2HP+UCeZcK+bVvyIo8JChNBaIBquH4mMvO1SeX3OUVR
RNkaCM7RdS3r9WrQdd7GYwv4JcmrquzJixKtjWimb2rappW+oCWpZowiz7WMk6ZGoWiaFu+JGr45
TZyzvbOi65pnZEYqs5pmS9vUmCynLDIUwjAX9rqjaRthLHqPtzlFBIx3d0XOQfIH06SBHxjYXdti
uw5NIDMpWSBAL4AKGo1GZu5xEkz905MAqfTYtd45grDXHrvWha95LIz61ZP9zOQF0yqYyZIYXxe7
/lPmd5k7nBhIPrYGjBITMsFqnb7pKOswJtXTa2OliZfPS5YRAvimFGUEjKfnPvk7hCTBID81HZu6
w+gtZjgdFTV+09+QaSUM9SJnVpbMo0zErCpYzCoWizmL+WzQj82NojCaqshYzEqK3Ig8RFkwK0us
c9R1zfnZJaenZ5ycnPPlL9/n7bePuLy8IESt/+12w8H+Lh966QN86MOv8PJLL7C3s8D7jrOTRzw6
uuTR0dusLi9wtqcqSwGjq4qyLCQB3Pe0XU9rz9EXNb1TnJ2vOTm7oGl7UEb8OOLcX+QZ+ztLXrh3
lxfu3eHOrQNyo2i2Gy7OTjl59Iiz01POzs+5urwEBdVszv7+Pju7e1GjniGRJLfgNwfsUqEnOMvV
ZsV2u+XifE1ZVlxcXKFMibOeTd3QtFvabot3iqZX0VI3Iy+XBLJhX+qRKoCyLJnPRee1cdCvGvI8
Rxdzauup+xodNIu9fd7/ygf42Z/7OU5Oj5mXGb/jm38rH/nghwS8VYY3Xn2duZKYq24cZeF49Uu/
QrbY4d/9g3+Yv/CjP8or730fx6dX7Mzm4ME7w53bd8iKnOPzC2rroCggk+qOzoEKBkwRfQYKymoH
nZVCMMqyOIcobC9kCRdkXbfbjqLIadqWqtAUxRyUYdPUXF2t8Ih8Q2YK2rZHoynLks16xXy25FOf
+jTL5YL79+9Tqn1WF2ve+PKb3H/wNnmec3Z2ws3DG9y5fYe+7fncZ7/Am2++RWMd5DPyAt77vnts
assX33iDthX5qCzL0FmGMSlJeB+APCvpvMOUhrqN/SrLCCbjcrthXlQ4HGvv8HFMN9Zz8tYR5uhE
ZmPv+YU3jsjzDAJSTYvE6P/gl09p/vLfxlrLo+NH3Lx5U/SgCfj/6X8fEjc/++n/cdSVN6Irr5RE
JbcO9/nzf/zf487BgtPzC85Ozlmt10/rss/as/asPWvvSnsG+H4N7fFgL21YnXV0tBHIdeTBoShQ
BOxkS2yQMkClGKQUQtuKLIO3FPOKfFai8wyTi5GIzrRstoMjBDeURNbbLU3bymJVlqIJlGWiLzkY
eTi6TpyrNVJ6SVBs2g1d6JntzCnmJfmsIFxA46SMyQnsS2ZMdDYuREuxlxJc31sJAJe77N04YLZc
gE6BwQhuPolHRuAX4lY8IMZGdgjsFSMwdp0W9bQb8pVhzRSoJ2OZx1klqY2A0HCrngSkEkAwBB0+
moi8M7g6ZQCn416DGJSaaNfGEscnI7ZfV/v1sHrjKY5/f8VDXGfMXQ+kANQkOh1B25GN9+T5Xmf4
Tli644WZgPpjcPdUiYavU0vs4cnHRh1BAUsToClJAgGpur6nbzuRXYkB5ZDIiJInRqmo2agJ3g4A
mwR2SsaxVkMfHoLoBG7GGFw0QUELijSAWEHJudvgsd4JGyWCA0SgekiATMHs4YuOJbTDTwq+mQLu
8bsndmM6xwgEGyMAVZY5epvKBscy9gSmD/d/AHGnr4RR7zF97kRkm+unP1QUxPEWGCUIvPdDgO99
wAXP6arh5LJm3fZ0IQdtIkiUEZSPuqGGoswE/NSQZ4Z5WRA6qBtPUzcCzpJUHHUEfj02KHov4K/z
SH9VqdSQKKlj8THhVcSyW2PERRrnUNpR5gWzeUVnLV3XYp0l1wafKUkORc1GFzyttbQXlzx88JA6
mv7YnsmkLEBmUQhbc7PdcHlxQd008XwkAUfSCQW8d9FlXebplGAUtmkCXmPZdCYaw9ZalJdx4UOg
7y0k4BgGV/Ou6whB1pwsE4BM9PL7QXOv69oBjHLOCXOeWCZtxDhMAF+RgDAmI0jmCac1XodhUpvK
mEQIiQSEDUmGhHOp8fWKJM8kr0mXU2S84+iKeY207hB1bqeJOsVj604IA4s5HdTE16c5IJWA+zDO
J34CnjnvaJuWOjMsFjOyXOQZrBVmf4gJIQGHx7ESgL631NuaPGqeKqNQTgnomRlyo1nO51TRaMn2
vUA2mRjI5XnOcmcZkwAS8Ib4fUIca9ZauWcx42H7nhbRNTVZhldKGN2R1eucvL6pt5RVFYFjTdv4
ocIqz4vYHyQBLv3IYYwCMtHv7bthLnFOqi20kqoJ5y1t17Ldxs/1XvY+kc1u+46+lwokoxR5lgmr
cVtTNw1N1+Hjd0k+BPXWC1gYAvt7exitJhVNKWkmZ5RnegAJ51UFaLZNT9tZrA04LxIQok9ihv6U
dkZBSW2ZJPiYbJnUmOSa7DuGpewdks3EOXYQIknvfXx9GJJm46HURArs2s5tAIE1cZkcr0Pqx25M
mQQVYhJRDeawMK4pIT6ekj3DopTOZ5ji0kk/Ta8+NT3uVyM4LmZ5YQCHFArxQo6yGFEL2yiZe3Kj
KfJM/q1V/HfOrCplLs8URkGVacoMCgPzKuf24QEvPH+XF56/h7Oe87Nz7t8/4vJyzfnZFY+Oz7i4
XHFxeUXbbgFPVeZ86MMf4pu/6bfx0ksvsFyUbDdXnByd8Mabr/Ho4QO2mxWKwGI2Yz4XvWrvPNtt
g/fQ9Y5t29FdduisRZkC5xVltaCoEA3XPEMhCbn5rOLu7UPu3rnFjf09DHBxesbJo0ccPzzi7OyU
y4tzNpsNzlt2d3e5cWOf/f0bZHnBpm7YbLZs6xprRXNbDc607277vt/3vSilqKqKphbZmb53bLcN
bdMDim3bcLXacHm54vzqkrPzS5FN2LZcrCxHj844PT2lt1ZM/vKCvjNstznew2y2wPeBddtidBEr
diDTnv/kj/4RHj58yO07t1B0nB8/pF6vuDzeZX93D+9hOc/YmRVcrK5YXZzw9utfZHd3Bz1zLHaW
fM/3/T5+9h/+QxZFxe5iSZ4JMWhTb7m9+xw+XKKzHGUygtZkeUmwIohSVCVt07NtG8qupLM9bddB
EImKxWwmcykiNWSKjKAU+4f7dHXD+ckpF02LLg1BQTXfRaG5PHsIONZXp8wqjdEeQs/rX3yVf/7p
X+I7vv07uXVrh7bZcllf8ty9O+wf7JIXBbfv3GI5X0ic6gTI7dqeo5NTXnvzPm8dH3P7zl2u1h2X
F5Z662iahvV6zeV6hbUWgLquRR7KOfrO8corr3B5JSBqVc146cX30NZbUJZf+eIbZMqTpK1ASAHW
9sN02baeru9iol1eu7e7pGkbLi7OybKce889h1LQd63IYjkr+x4NfSd7dx803nYjWSjA0cOWH/tv
/yZ/86/8IHduHjL/xpekKuZZe9aetWftN6k9A3y/Ds17BxZQLcIsiiwJRFPMxc0kKo8Ow0acPJUn
Mc4SOOCCp1rMyAozwB1KJXBEHIGt7Wibhnq7lQ1qbynLAsqKXGeQaUIyDOoF8JWCsoCzgW1T04ee
2bwSQ4t5SdCBuq+xWxHJNzqgi5xqWbGcLynLCtvJRqlpe8pyzt6NWxzcvEk5nxH0GDynazAGyUoc
SpEyV7wleAdhLOuVAM5H9tVvHPCECYg4AXsfb2GMVh4DZpkEJulbjHztKZtVjQcbXhnUeKwnf8s7
tVaImusYbCWTn3SqXwXyZgBHp0DF16N91b34CMxeR96m4KhCPeVeXofIR/BvKMkcHo34xyRYHVnT
10GYJ1sqR0cAyHia4+m9M1CfHh+kIgagP0wA38iynADVARnH3gl7eIJoktAjFSSYTW7fRN1R7xzB
uQiYJCkHPbILp/1NqYFFr1EDC5ioBRm0gEYuBKz32ODwKhB0Oqen9KsnLqJ6ys/0niWTuPjdow4d
wz2U16fKAwnykjwEIwD22P0cvksaH0ENOr4MrzFolfQox8BxSCrEIw5zawLKnOidGwNBaZzzbJqe
i3XNquloPXhlRMdU6xEsVqlvRnZvZAvmuaHvgoBSbTOCmAF8ULgAvYfeBawDFyQYIF6rBPb6ICZc
AgAZlJIy4jyTUnPXd+RGsygz7t66IQHI5QWbTUtpDB4jAKwSUBSj6ZqW89Was/Nzuq4bZAamdzCL
8gjWOVZXKzbbDX3XRjOsXsBEErtedNeddTExl4BWM4wBHcHexBBViAYxiZXOaFiVRpNIB4z3z2ej
Baq1dmAbp+eThq+NQLA8FoFVH4Ql34szvBkYsgaXSTk54focmYK9cSYZ9UxD6ulqnKNSHySu2SGW
m2sfJRwIk+OmBIYZ145JciMdawC6Yj/Xk7+ngLCLLGWlorlXCBFcHceVSDPZiQmrnHkC552LcjCR
BVyVlbCRvCdML0z8M+k2p4TpcJ9EGBkX9zHeuwikCthfFPmw1on2aE8Xzy0F7Gk+JQL17QS067s+
3isBdzVIQptAawwuGqVVRRHXbkWIiZiUQHIu0LbiE6CVIstykRTQIWr55sIAD5KMGkz/5AuL6VYQ
uQmtNJkRc68c1qe+AAAgAElEQVTgJcHTNA2d7YVl7VwEnVv6pmV3Z0meF+zv7qGVjlIjfrIGifxO
WRbcvHnIyy+9B6U0V5uaL791xIOjY5ptDboAZfAoMJLQVyOVFaZ9SW5Y7Aux6oIn2wAWT5O0sY/5
ZJI59L0QiQJPOdDk3VOcOc7u48qeHlPX3zP2zunekaGPDev2tXfEz4vVOTKvRA8LVEwEjvJdY/Jx
TB4O14+0ksUzUQmEjonRlOyBiWGpZ/RKDejeYbTDtE6A4PikUWqi5QsZnlx5MmXJsOwuSvr3v8yN
G/u0XcvJySkP7j/k6OiEtnWcnV1ycnrO5WrL1XpD02zJc8Xu7pI7z93lznN3WCzm9H3N6ekxRw/u
c/zoiLapyYwmK2ZURSHgIEp0432gt47NpuX8cs267smrBYudPRbLPWaLXYqqoKxKisKIirRWFJlI
uegQWF9e0nUNxw+POH70kLPTE5p6y3a7wdpuMJGuyoIsM7Rty8X5OZdXK5pWtLuzvLhWFfJutldf
e5XZbEZZluR5zqwoca5nPjdo7aiqin0153m1QOu7AtaqmIj04Mg5v1izWq1E37e3nF2sOT25YL1q
MLri6OEpb98/prNQlnP6LgCaw4Md3v7yW3z2c59m/3CX2zcPuDi2fPZXP8XHfsuH8KEhyyp0Bsen
Dzk7fkRZZuSHe3zzx78Zm5f86mc+ze/+3b+Ln/u//k827YoHxy33bt3hhffcw3pH029RWZC5PcrM
6KAIztJYh/aOTdPgaMkrxXxnRjE36KBx657O1Tg6kkQL3tPanm2raes1meqYzzM8gbpr6bdnOBdY
X5yzM5/zwr3nmM8My52Cl9/7PC+++Bz//h/6HmazOfXmiuAcL734UR49ekRnNfv7N1gulyinsZ1j
Z/+Qpu4xSvOxb/wQ3/yNmm3X8VM/8zP89M98klv7d3nUndLYHu0dJq4fWmtKoJiVzOdz2fralnZ9
yY0bNzg7ecTDt77EjYMF73/fi+SFIS/MMG0SZL3WUQc8xRZaR61pY5jPqyjdknPr1i3appUqkqYm
y6SP60hQ8F7OSQBfmSPSuhycrI2Pjs+x7QWg6ZueZrN61/v/s/asPWvPWmrPAN/fYEub5gT6JrDX
aSLgK5tNqwCHEDWUbDqDQwKVuLH2QXT2TCamQMYYMBEAC4gIfd/Tty1d29DWNX3Uv3V9BR4Kkw0B
urhVWzEEUoau76SUqxeR+myWs1gsKOYFTjlWzYoudIReTCSqZcnO/pK93X3m8yXOerZ1S9NYynLB
weFtdg8OyauS6CE+AF+xojoWj4fIQHRge1zfRWduCdidEz3iFASpuJlOwbb882vbHKooSTEFfK8B
Q1OAd9J8CLFEMFxjoqTgdRr0DmX+AyCfwOMpYPk0GQiF4C8GPeo2RF1W+S8dWj71HUDNEYF4h9Du
19l+jZd6uDfxTYOen+Ipm/mnn1+6RyG+Md3zx18/lF5OPnsEWp9sCWsdwByVznECyj+Bxl//vOnP
EKDG8S0JDhWlKybAZQK/tEZHilDwAvZqpETSROBQBY/zos0n5kYy7ow2AsYlbdoELk2vGTK2jNaY
FFqHFJwn4NHjvBfdxzgOCBKTXg/SJ4DuV7n30/t7DbiKwKtOBm+KoT8M1yNqjk4ZWVP2mEbh1ZSJ
rwkqIefjfRdN48RsZCjfHdjhKWkUO4EAviJvIYZoGaDovediK2BvbQNOFwRdoGK5o40glorMXIKU
8+aR1aWDx0a90KZtB5M27zzWB3rr6a2YtTmfeGaRBatl0nDWD2MgywSAyow4SxstwYK1HTrk7MxL
XnzuFtvNBmUbXLOmyhQhGm0pbQhBmK/bpuP09IzNehNBxKQxT8quSNluCLRNzeXVVSyVtwPjmCQZ
osJgrinGVMLKyUySMpkA9loPOpEhDUIVrg2xUVZDgNvU+7wPIt8QdZuTcU7qltZ5unif+wngm7qT
9H+PdWK6k+cFOsoeZJmYI0mVTDKRnIxZnfrXKHiSTjmVlw/jLzJ8lfexi40Jj2G+UAzXYhgT6dJP
jkk8b+dT7xgeFFZoYhOTQAg/GKp574UJTpQb0RqCG9Yi70NkIwqLVmWKvh/SJBitKcuCwhdYJ9fF
pO86mSe991jf02mNTskwGRDYCBJ0XUezrUWeYMK8lsSUH6p3QtRYngbXwuTu6Loe69zAGFdAZkyU
DdHCrlWKosiHvUY1K/FO5sccRShydNPSqp7MjBIKmcnI80IqlILIYBV5RZYZIDKlrcWqqLMdzTFB
5vuyyGNiQ+P6nr5rsVFjWKEHI1ofx06WZSwWc3Yi6/maJBCRFKCh0Bl379yims24ffcOZ2dXdJ3l
/tsPWK9XFOWCoEyU0ZIKsQRo6giaDd4EQ8VFMqNMgP0k2Z1+qet9PN3zEOfJEJM0aV0LSY96MorT
PML4a9Ie35MESUZO+vfkmQl4HdfXOE+mRNIwrw8jRH6nZN74sfKa6TVJWu8jAeAxk7rAtTkqpSGG
bWDCgiOMHZQSkBnZLzovFTYhiM/GoDdOH9dpj8GhbIP2HYV2dHtzXn7JYfKcTb3ltddf44037rO6
bNEq5+TskuPTcy5Xa9abRtYAUzBbzKlmFajAan3F5fkxb735BkcP7lNv1yIzkRcUWU5msmF+0hEc
b9qe88stR4/OWG1a5jsdOptx47Dixs1D9vZ3mS0qIaZ4h7c9tm/pmobN1eWg13t+dsLlxTn1Zo1S
AWs7IIgUStQB325FH/fk5JTNtgZl2NnZoywrsjwb5sR3synv0FguTlfMFxVXvZWYJzcQPJdX6zhP
i0a6MQplUrygUa7h1o2cF+7eI89zQlD0TqHIyLIK7xRFueTk+ILPf+E1jh6ccHm5Yr3a0NuOT/6D
v8Nit+QT3/5x7ty6wUc/cJtv/diHee7ubbbbht4GTOFoNg3LpaZUhtwodm9WXNQ1hYaf/qn/jXp7
TLNZc+vl97LY9VSl4o0vv82X3nidzgdUVggLXWeU5QzrA511kOWs1lsevf2Ik6Mv8carmqLIOTw4
ZDabsZjPKArNzu6cvb099nZvUs4qdneXaO+gs7z4/Av0fY8uMnb3b3Dn7j1u37rFYrkk9B1ts8XZ
lrI01N0GbTyrzRV3bz1PU29Yr9cs95Z473nw9n2UMpw+OqXvPF/8wht89rP/gkePLijLGS+852V2
9nY5Pj3hwVtv8+oXPsN8tuTg4IC7tw7I89tUVUVRSGVHZy1N07CzsyfJzBBYzHdYr9doLHV9zrf9
zn+NL/34/ypjO/hBBuz3f/8f5I/8xz/I3t4en/7lT/EX/tyf5q233oxzTpRd0mIw+N2/9/v4wR/6
Efb3D/jUL/0if+pP/jEePrgfq1Pkmv4b3/YJ/qM/+kN88IMf4Tt+58dYb1YkA9mUrPa2x+QF2/UV
bde86/3/WXvWnrVnLbVngO/X2B4Hsqb/dtZFcFcPwZ73VnaODoLXBB9LHV3i/Mj7XXBY68BDVVY4
0+OUJtMGnWthXbU99WZLvdnS1jVtU9N1Pb63os/oA4UxEjQTXdhDoCgKsrxAaS1iDSqXIHhmULkA
KOWyZOfGDqYyEoQrWC4XHOwdsLd7wHy+Axja1tJ2jjybsdy7QVEtCDqTMjiEWZL4fQYpXScEgnO4
vqNvatrtBtvWeNcTghvMWSaYbNxlI0EARADpqyOR05Lya07oQy3hVwdHU8nPtbLdwPA+PwF7k+s9
8Ry/EmthWroOxFKgsdzXWof4zxIpJYknk35/dVA3Zat/U9sAiF4PxtKFG0GQhMCqxzDW6wDvk5IP
yZRmeAFqCqJce/LxUwtjH/rKX2LyA+94wMmRBtwyJKkGE93XMxJ7He9F1zoI2JsZFVk/whbq+z6a
B/kIZqqBOWmiMdKgm6omQLQXsxetpJxfBVB+EqATg9HIVgoqnXC81mpkXKUwOvVNo3VMwPDYd43y
EcNxIphNAuSF1YAadUqnzMFUjhtP5vrxQwTC4r0FolSEGjQYVQKa9Xjv4bpkS+pvapKnUUqhjYrg
mzB4u96y2tacXm7YdNCR41SO1zlZIbI6Xnh1cm9QGKPEtCfTZARs11Bv1mzXK5p6S9u1AyhqnaPr
Hb2NIHAEO6QUOUH0EZxQirwQAFVYYYbgJNj2tkPhyVRgWeY8d+uA7bygWZ9TXxoKoyGTLKIyBrKc
3gfaaMDmbDTKidc96XyCaKv2tmez3eBQAxBqraxFOg3ZeA186tOKgclr4ryqhp8n2zg81dBXUt9Q
ShFMRtACoDrvSd7tyRV9AP+DgLbAqHUd4vGcH8aGd7KmOG/JVUGWifmVMWJUM5X3SIkmHcHJBBAq
NZrQpflIEWDCdFWRZRuihmiIpexpzhmYzmp8T+rIU0O2EAIqAtsJLEomgcPxYADhQmQgmSwT13vv
0UYNIIUkUR3OQgii7SuAZ06eZYNWfvr8LC8ocjmvPBMwNSiGYDc4R9v32Lajr0pyIyApMdFl+57t
dstmvabvhClrtKYsyqjdmxjBAZOZARhPUhzGaPo+0PcddV2jjWYxn4uub1YN18TZngACFkXd9Fk1
j0mKBL5D1/UyLxYFy50ynofoDl9draKZm8JkkAdN5XOCKul7Q9d1dL2ltw6FSLsUmcaojNZ0oj3t
x0oMlTSZ4pyTGUMoCg729zk4OBAz2yBZNln2xnUmVcAs5jMWyx2ef/4Fjo5PefVLrxG8Y726YuYB
neNcEE1fpYcKBJETksSgNhEAjoxyPSQa1Mj6nfTdtEdScU4a4H0DKgjLUYfUl4Ggh/3PNNn99MT5
NDU59t+0VxoSk+mV03l6YOXqsTokztvAtRlGmOoeUpIiJtvkM7zIxMa1ShNB8lRlEoFgYACApk2l
k5vuSa99w3EMhBAIaf7xss9PvH1NwCBVFKH35ATm84rFcp/dvQPyouTBwyM+87nP8sbrb+NsTlks
OT495/jRMZdXF1jbopWj8jnOB+q65uryEo3l0dFbHJ88pG22zGcVRZ7FtTpeN1MQMITesV6tODo+
58GDRzw6OaezjtbBbLGL8479/T3uPneHxaKirrdsVldcrq44Pz3h9OSE9dUVXdMQgsQbtu+HCxXi
HGSMwVnL1dUVPsBqtaFtGvKsYLm7x927z7Gzu0tRFl9xr/z1alnw9JsNy7KiXm2oqoqrs3OKoqBp
GnSWSR+L85JHZLCclb5lVMAk81qj0dHs1rlA5yyL+Q4mz8hMxYdeWfLbPnpIlolubmEy8Frkl1SP
Cpbli/fIsxdpa5GEUeUMpQxGZSjrKbQhMxofLK231L3nxsEhf/QP/x5UZsB5NhdnzBY7IkETPDrL
2bSWrrM4r7C9x9tAZ0XbfGdnh93lHuW8BOPBdjI2jIG+ldjKtyL9FX30tvUGYyQhV8zm1HWNKQpO
zq54ePIv+PwXfomL8ytc52ibhvXVipOTE0wOAYfJJSlbZBVKKdq2oSgyTBaTwjqnrlu8U3zwo9/A
h3Ume5Z6zWJPkS/3+OBH7rK3s+QjH/4w73vfyxRFIftl11+rdrHWM5/PqWsxm53PliLzYFsWVU7X
btEqJlS1zA0f/eg38Wf+i7/I3/iJv8Yv/sLP8SP/6Z/mz/9XP8p/+B98v1RZJmM+63nlQx/hv/7R
H+Ov/dW/ws//3D/hP/+zf44f+0v/HT/wB74H11lCG/g3v/P38mM//lf5P/7u3+Z/+Zs/wXqzHWRq
EjFBacPu/iF5IdWyy6+kNPOsPWvP2rP2dW7PAN+vY1MqaRJanNXYXmMGfENhnMY/piWrEggWGRHK
Blzd06sWjSJTmpDluN7Sdx1d0w4sGgVUZUmRS2lJ13VcXV5KuZScEUVRysY2E03KvMhRgzGIp7EN
CkU5K7n93B0gRO08S1WVzKsFVTWnyCtCMDhlscri0LTei6u1ClJumALZEMgQsQIVAsFaXNvQbda0
q0u67RrbNnjbCxAcAS8dyzSHKOBxiPM6LvjYtU8Br3rs+k4280EYtBK3Xw9+EitSgpmR3SJn8XTA
cCh9HE4vIYCPnZseH9SR3acm7C8BND1K2Qmr1E8YLb/2jXEICXS+HnS9M4D5tTcJVKcPTD5jwEzH
0vynsX+un1/qrY+99mnI9QSTTUDQyLpmBJODsOafvHIRFHyH6zEyTmP5ZuoHIclsjJItKWQNiXUX
xKRB7m9kCRAwSlihRSblkQN7xlmCoDICvBhDpg3ZVMc2fhcfxvMScCECvoSYZLl+/SXQFyAwKOLf
kWaqRtBN6ccYUo9fjTAGtcO1TAB66qfDwzL+hysbA3vBDK4H1U9NX6gnx4/Skb1LAgFG9lo6TnIS
11oPBkZDHyGaRhkwRqERMGe1qTm72rBpHb0u8aYgqJK8nDNf7FDOFvI9QyA3ikWRsTOvmFf/H3vv
Gqvttt51/cbhPjyneXgPa3dDW/ggpVvjl/pJqYoiCcQPGg0CVVLEIAhVC20aY2NNKCcpbFMtsolN
QyHERE0MilFECMbEBAG1YVOhtPuw1l57rfUe5+E53Idx8MM1xrjv55nzfffa3V07sZlj5V1zzvu5
n/swztf/+l//q8Fqhes7hsOO7a1kQhetz7GAT6P3E+M3Jih0NhflJCSVtUlaQfTSrTHElGAveCfJ
2pQ4CCSVTGC1aFi3LW1lUDomY9SgTUUwBpeSvI2jK/Wu4jzxYza6BDjt+x5TNQW88S7JLKR+VEZ3
cihorRPzUpdxoGZzVQwk/e5Ijvwo4E9ulRT6HEs/isWRloe9TzqtwhieuoiEnmYgeNLPzeM1A54x
6Q/r5MRQqW+IDu6cwSjPHEskSH7vmUcEea6YHDjkfjZbHTIofRRNUoDRaYzMayLPj9poTJoHcn1m
SZc8LIRZmJLRzcBSmY80ShVIbqrTEPF+IAZHDFYSvCZZguADTjmJKMoMyAQ2K42AWCEkR48ieM/Q
dTgt/WQcBoa+ZxwHnBtxwyggfUrepmWiAQQ4iMj7SfSSLs5UYwyr1UoAl6TbbK1hvVlTVxXDINrf
AmpaUOC9hOO2Tc1oBKjthwGllOipao3WlvVmw6JdYq2l7+V5VdKIVSkJpjGKujLMZUVjiKKjbi3a
WLQRR4caHC5MrHytdPFNa6Wx2qJrxeXlJZcXF1hrcU7qJPc/ORdhhQOogNYChjeVRSvwfmQcBrQ5
EJVLEQZJD1pPkgV5/StzoBGHVgY0jxJb6gn0LH0899W3gG95aKs0J6ByVJqUU0Y8eUyX3ROTE6OM
d/lVIi/mawtlnEUlTigdI0qFPBCnE9NNy5gyJ+sP03Yhh6v7cq9j1vN8bZtdPR1Sx7+XW0+yFSG3
b17XxOMp82UMKO9h8CgTicqAtry+3vL3f+4X+Mp7X+Dnfv7LPH/2Gj9WGHvDdrvn9nbH/tATwojR
ga4f2B/2vHjxgs2qprZwe3uNRpKIqSJtIePEVi0BzX4/8PLVNV/98BkffvSC169v6PoRXdUYWxVt
bAj0/YFx7Li5fi2J2F684PWrl2xvt3g3oojiX9QaYw3BC7CHgqau2axXNE1DCEHyh4wjWhuatmG9
XvP48WOePH3CYrE82hd/UmWRNMeN0ehFi/eRy/ML+r7n7OwMhSEWWaqpD0dtsEozHPYYI5Ez45je
v7I0VtFEQ99d0+8DaJMkYgQodCGigmLZbIgxcrO9JsQB73oUgbHrWZ1f4JVGWyvsdxdZtY3oyhpQ
RuNc4L0v/n2aVljbfhhxfqCpF4zBExXUTcvNbo9WlrpuGUePVuKMxFV8dP0+HzpZ520VaesG733a
FxnA0Q8HcRIGzWq1Yr/fsjk/Y98NoA2Dc/zcP/wCf+vv/F809UqSekbNst3QdT3rxYaqUqACTdPi
GbC6JQTRT27bht3ulvVizeGwAwJP37mkqRc8ffpU9J6tpl02rDcLvB95dLnBdT1GKw67D7m5Gqmq
Cgh4H4WNnd5ze/OaqqrYbzvcUONGD8Hju4qqMkgOnDhzdEX+zE98lv/ycz+O955f8x2/lt/z+74f
EgP46TtP+Qv/1X/Pv/f7fzfj4Pjxz/4YP/6f/hhudPya7/i1fP8P/BDOeYk8qSp+8Id+mL/4F/4c
P/If/iBt24idnR1qaR7b7w/8D3/5f+ajD5+zXK64uLjgt3zH937iY+ChPJSH8lDgAfD9JS8xZQof
AbSiUsJ0FU/kHIRkBk6SNohqAnyDRkctSXkqhwpQKUtb1QzWUlcVwjoz1HVDjJI4ZHu7xSVmlLWW
8/MLWdhTCExd15hkGE+GgqW1lvP6IrGgJCTWGktmhfXOoYwA1kEb+tEzdgesj1hbY22U99TCUtQx
orwneocfeobtln57Q3d7y3jYE8cB5Z0krEoaR3khvh+M+5ibwwzSzsDfI2Nmwh7kqnPGyxHocAzm
5nO473gGpzPrZf68M8OqGPFaAB5j9JQNPURCAGNCYdrNQZKP8/bHjzWBqPkav1Sg7xxEz0zFqYpj
eufTZ5sDvJkpxB1j6w60nkHcDJ3MgJOs3RlmRlgBu7Ol98aKu68u5qyjfAEBh3TUR89aAK44gUgq
RAHmFEXqQStJDlEbTWMNtVWo6EVXN/V7owS4kZDCBKQVU5LjvpjArgLARgTAiBN0nsHezBJEawHY
Uj0VAxgRQpyPuWOQa7plqZcJ1yvXmfrC1OsKcH4Cvk4Z1u/W/tQzpvvqBE7mn2Ik5nEIpDFVNAGj
yOtoJSwrhUQwGKPQ2hOdYr/vuLrZcr3tGKIh6Bp0i7ELFptzNufntIulzElEmgT4ni9qFrVFBUfX
HdhdX7G/vaHvDuIk86OwY31gdL5EPQBJe3M2TpJ+XAZ9q0oMRqM1bkgMVJ+yUxt5xxiFuds2NVVt
qazBJ9kFjfS5XIvBhwQWp56Ugcg0OCftuYBzWeYg6alnB0ABceM0HFBp/rIJJCSFgcc8PQqQNxuC
IQMjauoOMU7AfAgJEJkfB4l4iSluJDFXp74xATfZIQHS1ZVOCeYSyJjno0iW9/DMoFEUJNkjec8J
ZFXlXhk8LUDxbJCIdl9Krjo9YRoDYTq3OBYVKghAnDJ/ghJQItd7dmSU51CggtSD6GRWJbFfCCG1
Zx5fFGAvpuQ8bgx4Z1ksmnTNBC5HiF4SlmVQTYxqhR8d+/1exlNqnNG71H09u92O3fY2gajisMp9
VoWAt1lDec5nTxrl6bnF2QVNuxDwIUZub26xRkLT1+sVXd+JfAdgq4oQPC5JukidSfIcEGdE2zZI
rWkWbUPbNiil6foelOiS6gSOhuDx3qbxmBwe3grDPa3Tyhgi2ankS9K543VQo1UEI/IZm82G9WZT
wPWYHIXM9PmlQvLcLaOlripxFHqRvsiSJj4oFAZUIMs2ML8OCNhrRLO6OEPfAPiqJJmR14cCmua9
Sma9qilx6OnCPl8Lj5i+0yRXftzZMaUDOuQ91zRupuU7s2fF2XW0h1EqrV15HE3Pn8f0tKLFCcyL
2Q0c09wyu+asqDKXnrzS/B1my1h2/uS5KHiZv/EegkP5Ee1GlIn0g2O763j3vQ/46vvv8+6Xv8Cz
Z8/ZbQeCt0QOjKMTiZMsC0xkGB3b7Y4XL16wXlasF5b+cACgthbI7SgRMIMLHPqel6+uef+D53zw
4XOub7Z0nSQabOqK5XLJerOibRvGsefli+cc9ntevnrB9evX3NzcsN9uCUlqpU7OGq0jWlmIFRGP
0RXrzYqz83NQmi4l0wKRSmiahtVyycXFBY8ePWK5XNyt0E+gjN6hlMJnZyCKXQJxAUJ0hQleZmql
UN7hSclwvUhtVU0FKkdsQYwaPyjadlXmYpk7KfZXHhPt4jGy35pY7iAyRczvK2fn7o01FZyffp7s
DSjzQ13XHGdJFjfMMAy0lUHrCqUWsj7Ours4UwOwLt8DuDhfEdGsV2coWzF6R6UrLtYbXr58iXPi
sB4HX+6r1Ko4D/I+9tHjC6nn4Oj7nhACy+WCJ0+e8OjRI5qmyW8v76VyfViiO1BXGh0j1XIBpD6j
gjxn/knej8MyAfy5+DBK8kWtmQ/hz3/+Z/j8538GpRQXjx7z6/7pX8//83//7fQMmuurK/7K//SX
ef8r7/Lul9/l7/ztv4k2hifvPOWf+w3/An/nb/1N6kryQHz7r/pV/Mpv/Ta+9Vu/lc//g3fZ7Xf8
of/4P+B//9/+GkpNkkzaGC7OHzEOgcPhwIsXr3goD+WhPJRvVvllA/h+I+FB92m5fiMlhMDoHFMK
oYmlI//kE5M2ylrrpBurYIz44MApTNQ4bfG1o2oMdrES7UgFRmn6lNm8qmTR7EPgdn/N7c0N3klC
gqZuaNtFwuGE/RJLCF9EG0NV1TRty6JtgZiS9shGYrc9sNsfcA7axZqoa7zSHNwATgDftlHUKGot
Yc86GlRi7o5dh+sO9Nsb+ttbxv2WOHQo51DBI3Gnnikx1wwdOv7la+KVk+5gBhPiUQhuwf9OuorK
SMXbri03OL7XDIPLTG3Ra52ZGzqz6TLQewr4CtPJ+xSma4yEKyt19L45tPJNvTwzS+YGzBFLrTzu
N9bXxQY8ZU+nPo4/0rubnr08wvExdXqUYnBO7zUDV4qkR2J76px0QYy6e+eAmP73i5wfMts6EiV8
N73/pJOAALApnFSM7AxtCuBrlTB7Gyvarz7powrYK/qSGewtgGZAQsRDBttS64WUoT6HssbZpjfm
pGc5o7ufQN/ERBNDOhBiYo1mptYxhnUEZtxXpwWYe2O9qvJMCdeYNcPHbYsE4qVEfqeyDTGxRAW8
SQkyUjsERQm/zH0kIlIFr69veX29ZT9EaJZE06LtArvYcH75iLPzC9q2RamIIdIazbLSrCuN8iPu
cGC/veb25orDbosbeklo5n0BfJ2X5EGksT9VSSRGMYQz89QmAM8mCY8YAsHlRJYRoy22qkFptrs9
OgFQaNETDUHStpElM4IAjcE7TCXOwFBYiVkCw6CUsJFFUzWc6OKq44RJMfcJnYw6W9hMGSBWKmm1
J5wzKogs5M4AACAASURBVEUoIO/E4pPER1lHNxzdU7p6kgQJvoR+5+rL4eA+6TLPe5NSmc1ti9bw
BOqoxMQXyY0yjkmSCiq/4zRv5ik4y5KEECQ0O9Hkj5l/cDyVJXA3CpCcExnOx5pWUYzRDMCbWch5
AtAKiBVjkm2QvtI2LU3TYoxE9ugC7AnTN1+PqPDO41zPOEpyGZM0ooVRbkXrOzHTGxBZhxjY7/e8
fPGSGANtXUsithBkrYuR/tBxe3NL1x1oqor1ai3rTYj4OAGj8gppLYoi7xSUKkBo8IbKGJrVShKc
JbAVRPahritA2lyRnECpL4QQyhoriemsOLW1xXuRssh7mr7vROrDe2qtsaYmVlWSxxHJhewAMVkW
IY/dMDnV8lysIqVNc70roK4lN8KilXBmnx10eU49mnCZQPEYaZo6MQpD0nkX70mBctJ3o/cTvhNz
slAnc46SflIcBXq2Vuu8dk6A7p3oqASIZ3B4LuFTgJP5HmDGqs1zjIyNLLl0H+CbRKq0yB3NlbGK
hEmcR7bk8ZT/jOXvoo6enr2M+DRfTWtaecKyL5JxG08H7/xJyzvMny13gAIix5Cm3clx5kdH8CO4
EYLDRgdGsd0p8J7XL14y9AeeP/uIvh8JPq9tLr07KC39VwE+RLa3W16+fMHZqiKeLVHRJbkoQ2VF
ti1EGAbHzc0tL1/f8OFHL/jw2Quurrf4EEGLE7RdNJxfbLi4PKddNOy2t9zc3vD82TNevnzJ0Pei
va0UtbVUtqKuKyqriMGjjaJpLKu4xBiRgNucnXPoOmLX44OAwjoBoW3bsFkvWS1bmrZOCRI/2eKc
Q1eWWqd8KEGS2cYYGZyjMkbyGyDziEl90iDxNBFPVAaNImqFwcqeNDlurl5eoStLpQ31ouVic4ap
K6LzDHooAObpnjn/axPgOTkVpygVIrjo7rzTfN2x9u0m/HK5TvI+kow7eHFYFm3vmCOwsn2U8i6k
cZbnFaUUT59c8C2fenqUcG/yDaujnzEJYHs/SnBZmkdDkH3GMHYMwy3QnzzxcZ+I7u32ylwL/7Ru
ICXFzUlFuWvmfe4n/yK/7rt/PTc31/yr/9JvkJwXafz+qR/7UWKAi4szQPG5n/zz/FPf/c9yc3PN
v/Yv/ybW6xUAn/nO7wSgqir+4L//b/M7vvd385/8yf+c3/TP/5NcXb8ibTaorOW7vuu7ktyj/YYw
i4fyUB7KQ/l6yy8bwPcbKUcA0y8R+BtDwDkJdcqaeIWckMGPDAkr2dip9GEIEubttGKsDENjqas1
tqlROnI41JJdW2mcc8WY0krjhpHu0BF8oKpqrLG0TUPTiJ6eMhZbVehKDCrvA9pYlDKiT+dzQhXL
MDj2h4Gbbcc4ejAtVdtgKstiaYhotK4wVgwjozRWSXi573r6w55uu2XY3eIOO9xhTxh6FJLROIRA
dE6MGqZN9ynYOTXU2+v8lM0r4MGxbu5k6M82J/E4Kda97Zk2YKf943TRjimeORtFWqkCQmRQzySA
imR2ZGxawj/d7Hnj5CX4uN0yGXgzcs3Hhte+1oXvhDbmG5LtQZU2ihMwGrOBeqfeBJyKUbaYBWBS
iNHiplcuyb+YJV2bAc+nFTSFh+cw0Nkzfh0lzvqlSGzMEl/dPbkAPAQBe40WGQGjRLvXKCB6YvCo
BPaalEzIWotiCn2OMbGSjsDeGfNcUDxIzEJhsk5s12gMOqYQ36y56fTMCZUeO/+lZgemVkqHMmt+
ZgQkEJxZm5RnnBnYR7qRCbwgex/us7Nn4EAB+3LUgM7ALQL+pLD+zCaRsSSh6iXZZdpsh5R9erfd
8fL1DYcxYOoVZrHBU1M1K1bnl1xcPmKxWFBXlspqag2tUTQ6UgVHd+jZ77Zsb2857Haiz+dcYeX7
9C/EBKwkFm9hE7pRkmMVzdXUZqmOvPcMQ8/oRnwQR5gyhsVqRdUu2HUDUe242Xfs+xE3OGn3EDEh
gg0ETwE7JVB3quQMMhujJdlVCLhREp90h0NKbBYSaJwBnKQ1mzSqRQ9VWGSihRvLWI9BQMw8fqSJ
E5CREOTcpTMwAhQ9XyWobQHvpW4TWw4Ku31MQHfW+LTWUleyLipjOBwOEyCsNIoTBnFh+uXOqktn
VHkORZWxl5NDFedPHiEz2YVTARmRBchwc9a+noZCiFleKCepUkcA21wuBSYwu24a6rqWKB+tijEL
E3vUe48bBXmfGIci0VBZC3k/kJjwuVGMErkO5yJj33P1+hVDP1DXso+wWhK9tU1NZS21raAKLBcL
NmtJzDP0PTEI2KpzH0kAvA9eJEOGQfpnlocYW0kitFriUxJL7z2HwwGQhIHOeUbGpOOY2jMETCXJ
DttUL23borWVsF41zQsxeglZHwZ83VKn9zDJcRZjZNQeoyVBnNIGUGlMS2JZAQNSXeY2izJHxSjJ
ETebDY8fP2Kz2chcNJe9yd1stiHMe0CQKC3vRiCKI8iKOFZSrCQyyY5MYyyvB0qSXOZ9jTpeL0ms
3qhmckvMbq7nGrqqJIabEr9NyW9VcmSV82YSE8Uxlx0nOjkhyzogr5/lS2IkzQ3TfuzuPlzml8C0
BsbZuXmtCPM9msprdx4XCmIG2xLona9+z7J+Mppn+4H8Evm4zA3iWBE5NOdEjie4keBHdPTUCmFg
h5FuFwluZOw7uoPMZTEoIg5yEkaVdZ41RE1wnsOh4/nzl6xai9GPeXS2wuqKupIkgSFGrq9vefHq
FV95/0M+fPacV6+v2e47jK2om7qw2y8fnfPo8QWLZcN2e8WrV694/vwFr1+9ou8HjNa0TcNqtWTR
tlQpQZWtNdZUtE3Foqlp6orscA8hsN0euL3d0fUDYNAhUA1DcrY4ib5IDPZPurTLtWjvkqStVMRq
hVGiydsfujTNJ1kf0v4RiMqndSKRd6LMBSEBvoHIt/3qb8PWFSpm+S6NCx4XHQpNnRi/pRfN+i0x
ElKCy7nzZNKSf3OZ2y5vKjkiSBkteu91lZxx4lD2MTkwFSU5Ya4n+VukE+Z5GMoeLCi898XRNuVR
MNOYTAB2SV6qZTeigNa2qEpNgK16A/hv314PeR2Y10l5fxUKgzhrgJ9u3//4H/kRfsWnfwW/9/t+
gJ/4Mz/N9/yWfzHpwafdwcyW+mN/+Ef4lk9/mt/3fT/Aj/8XP8lv/Vd+s8wtaY3/oz/6w7z/lfd4
+eI5/+1f+qv82s98hv/zb/4fZX6KQN9tUUp0h51zXHzmra/3UB7KQ3kov2TlAfD9BIuAvk6Am4yW
CGICcRaGrRDNJp20d1O2XzcO9AeFMojOntN0w4HddpsyTUtYp3ceNwqjwDuXjIwUCqsNxlTUVU3d
tOiqQhuDC57b7Y7dfocxlkW7TBu2iDWGqm7Y7w/cbnu6XhhpLoCJsmmtmwqtLSb9q7QVhpoXravh
0NFtt3S3Nwz7HbHfE8ceHTzGKDGCvBN2nPcT0zBVUcIMPzbOCdzZtZfvZjBSHW8KjpgkISRj4h6Q
+OT8UxR1vvmagOXE7LU5Wc4UgiubHDVjsGRNwbnhdBdA+Lglg3NfX+V93JLf9fTYCaCb/ouzBxFW
z1wCYAKG5cBkVMqxtNFMYyfOKYeFvaNmzJ3Z3dXpM349JTfwPUB1+jh9Ojt/+q5OIKO2sgE2ycER
80YySvZfazIrzRxtLDMYEIMkc8zh6USIiY05gaZxMgw5ZmtJ8h6Ltk7uL40gQFQByrPRnKen9FYZ
VNCqYOYz+PvI6J7XfAl3L0b1yUZ83oQkQyf9zPcs2HMCvXV6F5UB9xkTJgO+KgMCYWqz/I4+BLph
ZBgOXN/uOQyeYGpMvYRmSW2WNOsLNheXLJdLybysFZVRLGtLo0H7gbGXTOW3V6/Z3dwm/dKR0XnG
UXQ2fQRP1gNMep1as1i0uHGgC45x9KL3p1ISPJ20lhPAOQyD6PAmJo4yhrpdomzFi6sbuLrm9ctX
XO86tIrURmORe6sYGVzAJ433mKzYPESEDQmoySDrhx5/C10/EKM0ueivT/1AaY1hpt9b2kKh4gy4
SRJAuann0glHIyx3OKb5VwzGBCSJPkHSRBawUCvFiMgVic4whWksa6E41SJMoGBMuuklokLGVvC+
PFPWwI4JsMhzh0rLVPAZoJgxhhXlWed68PHo/RJontee1Beywe99nhfTuJwDWZnpVUDBKZmjtdlh
KP2/qkQnVrKUC4AsCVsRrfDETPZuZBigtilxrIpEQrn3pJEtc4i1FmssnT+w3/Z0+z11VYlOZ1XR
NqLLOdQVTYoSCil6wXtPZUVLdxgcu9uthB8rYbQ6N0rCoSDrZN9Lwp3KCnCVplAiUULbUz9QWtPU
tTA5k9MgJxDUiwT+m0r2PdqkkGmRjaisRSHOgjwmbJKWEL1nkXuwxhAqiFEL2Os8bpyeIRRniCpr
mFYRHWTtPj8/5/z8nLZt8d6R3R6lX+RhlTtF2etERJ9SQHH5KKZ5pMyK03jO142xMIFVSkqrCMQk
11MmaVHwydgwdwBfmOSR8p5pxjjP8+kc2L0D9JbxkL+XjqXIppKs8GitIunR5Mk/r/fzGUMxDanZ
vg2KI7TUSJwBa0xgcMwOnBxB4I9nJpVpjeTxOl/f082z7jJ5nhAnSkhAvR9HAXxHl3J5jATn0IlB
qo0meo0miNzZOOJ8IC/p8l4hOX9kHtZGY5XBaHmv/X7P7tARgmKxOuN8s6ayhtE5nn34EV/96oe8
/9UP+eCjZ9xut/T9iE579qataZqG5XLBO596zGrV0Hc7Pnz9imfPnrO93TKOjqZqaJuWzWbN2dkZ
i0WDtZqqMqyWNYtFw6KtaaqKGAI3V9dcX19zfX3Lzc01XdcJw76qsDbig8e5gf1hx/a2YeyrO4lh
P5GSHDGeKaGfigplJdmttgIEngKXBdg82ktMa1X+mbVwc7SLUgq8zJ1VVeHcUL53KkmU75tLjpSZ
2yVzQPO+kiUd5t87en1rjuyS0/cz1dshgLo2d8BeeeakVZwIKvPIlBxxJt+b1kapN39Up1mf/U2A
b/waXeS+dz6y8cyU7Hhe/tF/7B/n13zHd/KX/rv/hne/9EUuHz3hj//Jn2C9OeP161coFM47tDaz
c/9rvvylX+Dy0WP+xJ/605xfXPDq5Uu+8t67AHzqWz7N+195tySndG4sa2ueht3QERSEQQgID+Wh
PJSH8s0qD4DvJ1jEcPPEMea9Yt6NlqRLZX9dgbYkEmECA11k6MQo01ahOkU3Htjv9thKmD7GWKKP
xCiLR2b+eC+GvneZsWtomha0YfSO2+2ODz74kO1uR1U1rFeboolqq5q6dmx3B7p+JERNVdWgjISC
k4xBW2GUxShDpQzRB8ZhZOg6hsOB7nZLv90S+gPK9+jgUASMtgTv8aNIPgTnyAD1fAN+CiZ9vBqH
vFVXJAMnbeDnm6u8AQgha+b6AjTn7+q5IRQnlvaxAcaUfCKmGyoBGUxhnlXUdS31ZWy6b9rMJU3I
EGMxfEoYfowp3Owt5W0fZifDL3F5Oxd6fn/u3n8O8M3+jjBtGMt9po1yhKMQ8zm4qQq6m4CLe247
f/qPUyn3s4xOXyuNa5UMwRR6qzRYdNJtDRBEy9pFCRLMYfw5DJtiiJYqEeAsAd6lf8Q4C1OPE6of
E5Cnkq6xEqA9G5g6GJFPmRnNR8AqFBD36AULKJFD0TPzeGoTUrsVMHi2mZ/aWU2fKYqjK4+z0o5w
NK7kDsnIMNmgmCXpSlfQSsDBEGMBfFUCLGJU+ACdH/H7jpvtAa8syraoqiXYmuX6nNX5I9abs8S0
Fl1cE6HWCovHjwOH7Q03r19xe3VNdzhAiDgXGEdPPzhJ0hYlFFciGhNYoxWLtmVQMA4dMXq0qqdQ
6zR/+CQFNDphE2aoJwDRaHoXuLq+5rDfs91uGfqeRVMV8EeFgIqevneM4yCJoYIw01US+ZVblRbH
uZFhdHgOxICEBidwNPeRwjIzHBmLBfJSOk20BSkS0FfN2/Fk2M37yeyfSWH5wthWwnhMUScRpF4S
QJc1E401NGl+1VqXcGqf2MEoCliqk2zGxFpSKJ2AsqiI0adQZPksaxuL7MUMIlaTJMd83rrPuDx+
V52wt6ypPLFyhSmIMDOLtunkNJD1S9rN+5HRKWwU8FeASIfSCmtN6mMRooTzeucZhlGkR6wpyWXH
YUjgo8YaS1NnSQHZMywWC4au4+BGxmFEhYhrJBzb1gIeCYCXgTdxDqiZ1IJSir7v8d4JMF9XKAUm
AVtVJRIc3eGAs4blasFqtcYYxeFwoO97eZ7k3GkXC6pKkuJkzWml5fmlvaVetVHgE7sqBkxJACn9
36T6DM7hxjEdk/qDBPYOOQHiiHe+ONPLyEjzo0rvYo3h0eUl52fn1HWN8+NRG+eBMEUZaZmrSydI
+tMpmWde13I/Ol4dy8xa5k/Sfqd8FtO5s1/LmnHP5mG+B8q/57U2fz5PFnfECJ6DwGoG+mqNTokB
Tdapz5/rSZc9nytTi57NH+lB8vgqdZXWJZ3nmBkMntaDDPhmsDf30elfScEoCiQxg+wT2F7WW0TO
RK6WIwZEOsf3A34ccOMwI15IO4YgTFFvNGPQRJ+BeAF6Q4aWUz3mBH9S+RprFLU1NFVktTAslkuW
ixXr9Rln5484OztjdCMvPvyIL777Vd597yu8ePGSm9tbfJhkURaLmtV6yfnZJmnpXhBD5Pr6FR98
9X2ur28IPtLULZv1irPzMy4uLri4OGe5bLHW0DSWzWbBYtFitGIcRm6urnl9fcuHHz7n6tUV4yhS
c8ZKNGFViRSE0orDYcfVFSKl8Ib91S9lCcRkq9gC4M6dA+1yIXssL7bAMHpCGNM8EiZW6gzwnYO+
1lp2B5kfQOyvGCNDkttbLtezsT5b63LkR9ISLvvWMualN9fVsSbtaam+Rh3muXzO0p0/yzC8DXQM
aBSjGwqwa43Muy7NiVmnOIPfUj95XtEojEhF+aFoORtjcM6VxHn5Xve+3wlD+ustfT9FEM3Lk6fv
8If+6Gd5/OQp/+/Pfp7f9j3fy1fff4/XL19Kv1i0/MEf+o/46Z/6HE/feYcf/WOf5enTd/jZn/27
/PZ//XfKua9eorXiCz//D/h7n/8Z/sAP/jA/+bn/jN/6Pb+T588/4mc//3eP7BFFnEgfSDLgh/JQ
HspD+WaVB8D3pLyR1fmLLAL6BuI4CBgURedQ53slA1yrWbKYZEBHH3AEAh5uI7o2OBwqKrwPDMOI
tRHnPShF0zQ8efIU7yO77Y7gA/vdgb4T5lZlK3rnuL6+4YMPP+QLX/4SEcVqtSYEnTS6GkY/stsP
7LsRbSx101K3LdqKjmQBu0KULPEKovcM+47Dbsdhu8X1Pe5wwHcHlBsxeCwRo8DEiBsd46GjP3R4
5xIL4xus6zkIxTEwOd905ZLDdMtmBZLG3cR8EVZhkkvNi/VJHzllqmZGYgYk6rqmquuS6Eg2RRPz
SrLGHwMg0hHuoKX5TY//vK/M3jeHE33N73xd5S1tlbp1jPefN2cLFaP59DNBRSZ7NzN2Zhv2iVmg
p+PxG+9HH7eo9H6FhaeQ8ZCkFXQ0KB3ww5gMwFEAhaaRLPY6hTsnQ1RkebNsRDwC0Ji/ezxp/9Rd
io6n1iVsV2kJXdQ+sS6S9MCR1iET3pyBdzIzd9av5f7HjAmVU9tHCjg9MbhnTx+zxvFkzBy30vSe
BbmY/a1LCO79HXgCm+ftL9cIKPox0Hcjt91A3a5QzZJgGqKuWZ1dcHZxSd0KC1cFJyQVJWB59AP9
bsv26oqbqyt2t1u88xhjcT4wOE8/JsA3xKyGkOYSYTQ2TQ3RYa1osKsy36tiiDrvipTDnD0+epcS
Tu14eXXNy1cSZl8ZYc5ZEyUJWIxEp+gOPePQS/KnBDZppVM28gT2JkpZ3/dst3t656hsTVM3mKYB
ZeXchLuI5qeZHAAxJiauJWhxYGll0jm6jNfch+aMXtJx6Z+mhHwW6RsjzFAVwSdgLyb91sKYQRUj
3lpxftoUfu7JWqwjzo9kxpwx4gwRAOZYW3FirZNkaWIBe3O/zhIx0zx/b1dM181z72wcZAeNkn6s
E0t1Pr6KVEF2rsRYnk8FxehG6GVPYatBInfqSmQKvEPpiPcm9bGIisLsPQozDzkh2Ejfd3L/KGC/
c47DocNag3eOpqpZLpcoZM22RhcpqXEcU3JATz+K1EJetmKMjIPDtCbJLDQcDtLnjDE0bZuYudL2
wzDQ9x37vcdYzePHj1ksFmht2O12EGNi7xrapqFtW6pamLyH7iAASwJ2g5fESjEqnBsJQfpn1oq2
tmKxWFBVlnEQOZOh71PSRENlxVGnfGQcRY5CGJsxTb1pXk3rk7SPAJ11XfHkyRPOzjZYa+iHAXUk
wHs3CqhIiygBEL33eD+BTKr0ydl1ZuucIs0luvS02Xqfn3lyYL9xSxuneT3vR3KETf5Kmd/VbK2Y
lSN2b04iZmQNMtqgrYxx0bBM4LBRyTmazsnOjbwPYlqrgMJSLg6UIrWUxmap0/zMperJ4dVh5lCZ
j+8cETGNP6mYiCQiFP11j+SdSHvHcWQcetzQJya4JO/M+7wkaEpA4zFMzIFE+kjJL1Wc5iJxJilq
o2hqTVMrNivLpz91ybd/66f59m/7FXz609/C+eUTQgi8ePWaf/Dz7/L3/+GXePHyZUqQlWRBakPb
ViyXDU8en/Opd57y5MkTIPL82XNev3rBfndLXRmqRcNyseLx40seP37M48ePuHx0yXq9pG5EH3u1
atFKsb3dcnX1EV/+yld598tf4dWLV/R9L5IodUVtLe1iwdnFOWfnZyxXC/q+ww196R+fdMmSQBmw
PN07ypylRGtYa+q6njHXpf1ObYe5zu4wDGXtCkESmYUQynUKg3VWjkgNb3B85nPyenAstTD9rG11
7/H8Uxx3x4xlyTUg9dK27RufDQJGaZrYHK1HMUbquiVGj7W1OEl9kiJEz97B0LYtwzAUADyTYMqe
xzneBPbO6+dN5W2SDnCPCZXK3/jrf5XP/tgf5nv+jd/F+cUFf+/v/gy///d8b5n3NpszfsNv/M38
r3/lf+Rv/PX/hc/+iT/M9/yOk3NT1B0Kvv/7/i3+0B/5LH/8T/1pvvgLP8+/+3t/J/v9ruxVcum6
rqzpp/rDD+WhPJSH8kmWB8D3kyzJyM0OTzeORcLyqKhjlo+xVjbBJDaSC3R7j/E11aJmuVwzuDEl
kPEsFssUxhkIznHoemKQLOcR2fTsdntciNzudlxvt7x6fcV2e+Dy0WPOzh9x8egx1lQYawkhMgyO
VbXAVjVV3cgzKdFbNcneEAJRYBw6fD/S7/Z0ux39YY/vekLfo8aRSkNjFFYZSWKlDSOiy9cfDoTR
lQQO8yX7vgX83jJZ1Hfq9k37hfnmpegzAsRkhOm8OZyHQ4mB4X0gM1+ONpDJADFGFwZ0XQvga4yd
JS6IJZHC6MaiX2msnbJj3/uSx3WTzLf5W1F2IPMjan7o7YzhDMTNM1C/qRSAj6kOYqESpeaYaxUq
YWNGlLCvTgDN/B2tJh4WcS57oY7aDSYnyVEtvBXzPQHNv9Y7vuHMOfM4DwZRdUsbc6UwUaGjvLOp
ZEwbLckbrDGgIAQFSROyVF1xMpipegJED1FFVEhM4qm1BDywwqDKiQCFrQST9IXije0/O5jrW86d
6RbHDG9PYEAOxT+u/5CqZGL+ir6tx8akVZ6kACZmaHoIpUhoczLm5dzMxM9PlcPP53p3+So6aVFm
ICaicVHjsOh6SbQtpl5Src5ozp+wWG0wmUkSMrs3omNg7LYM21tuXr7g9bNnDPs9BEkW6BKztx89
o8tgr1S6SgksN5s1jx9dslotuLp6weFwSPOBOTLCpI6y8ykkfWZhKzo3cnV9RdP1DG6kH0eGcSBE
keYJQUK0VfSMTjSAnXcYa8hMW6VEFki6TLp+0lvd7bZ0/Shg7xpiZSBqfBSQNRYQR1pZIhMUWs/m
K8UE2BiT2j1OiQJTojbS8QwiZ9Cr6PylcZGNImFcz5xzzidJEoqkUXaqKa3LedponBd5jHEcRNok
AUy5s+bkdVGluT0B9HlIH81bWpOTyRVmr56NvzInHI+nzOSSsSK6jpMzbr7GnYb8zo1dAaMEvEzr
xjBIyHA10HVGmIRJFzMq4QyKXIjAZTFKIjTbmOSQErB5GMZp/QuR7W5L0wiIrIChlwicqqpEM1hJ
W1xfX3Od+zpSb96NAuBqcQx0fYdzI1prmqZJLKuIsYazzYa6adBJg/hgtDAlvaM7HOgOB6rKUlWW
xWJR5BTGcaTve8bVkrPzc5bLhhgi+92e3W4v+tSVaEw7F9Lcpwnes91tGRLYJOHWjsNhT9ftE4Nb
GOKVNhgLxkWGQcC6WGQcZvqqKs5mYKmLuml49EikYUyS3TgFWnPfPp2HYyRpwI5FH7Osg0zgRSyb
yKmzFaBdJtfj7yVHw7RXOb3v1O/k1FicK/PVOabZdHoRZo4pKcI9SI65tBXJzF2fche4BO5ODOB5
kjhT5pDCDtYaZXISOmEFx0jq3GmtyECT1gnhFZA4IgmOy/4webCiSXlX50BWGmcyFvJPL2MxybAR
QnIhRogB5R3Rjfi+ww+9JNH0OSmrnDcf59KNcjRLkrjKa3Wcfic5OI3V1I1l0WoePTrnM5/5Tn71
r/qVPLo4xxrDq6sbPvjgI7783lf40pff5WrbEXVFu6rQRKyFtrGcbRY8ffqIJ48v2axXqDhydX3N
7fVroh95fHnBarVhuVyyXq0F7H3yiPPzM5arZWLoSnSCd4Grmy0ffvCMd999jy9/6T2ur2/xQYn0
EJG6rVmu15xfXnB+fka7aEVf+OaGmPY6H3t//w0Uqyc9eB98mgdFas1qxeHQJXDSHUkWiOMyAiF1
sWPnbB4zdSUgOFAcSt6DNQIeEycb4ZRpmwHQ/Pv883yOSZITClI/n3b4Eei7/dHfpz+nZ5oiVOaa
hJh3hQAAIABJREFUurfXV2+tP405kqzI19HaYowixr3UUaqv7BTO/3a3W8ljkZjGwzjQn4DQpdwj
6/C1+khl9VvPqWrR8C2Jc2flz//Un+XP/9SfLaB4JJaInZcvnvMb/5l/Qj5Tmp/+qc/x537qc+mb
Uz1Kkm746MMP+D2/67fnh57VtTm653K5LvbeA+D7UB7KQ/lmlgfA92uUuVf4F/FlYNo8BwLOi+bS
Uch40eBMxwkYZRO5QVhCrvcCrmlFbSwqKpFSqGpW65VIO4Qg4HA3EDxstztGF7i+3dL7AFrTjyM+
AsqwWp9xdnHJ2cUl68051lZiHIVI1QZi1ImBlY3wyfjVKKLzEu7TD4x7kXFwXYfvO+IwJGZvoNJG
EiUkY8GNA8Ohoz/s6buuJG/4xrd/aooEPNkEHBvTU+j30fH0fFP0j0brnPhr2nwcSThMdyZnXxVD
taKqaypbHWe19aL3mb3eo3eT51tntkp+znSTk3e5u8GJJz/LiSeH1N1z7ivq9My7LTPVXQYA1dHZ
k6rsdL4ib5x1AgMTkx0xdkL5PIG4BSyaGdbJ7sp3nAMmxOnc01eNc8/L11nuG/+ZxZbBOuUdUckY
V9qirLDsdACVmCNGIzrXajbWZ8BsiFEsQi1AhdIKjS0hrDEDLEYym5es8QmsMjYbyjlhGaUNcliu
VpTrHcOkpy+Yow3Sz9IpjoGKOewQ1azLxVjeKx2Y6jH3mwxw56dVs59q2siHuVMmSqi5tcL2y6zN
7GyZfs9MfU1UloAlqBpdr1B1i2lXNMsNi9WGqqpFdzkErFbYCJaI8p5x6DncXnO4vWE47JNGqSRm
G3oBfMfR48Mk+yJzpKKuhVXVthV9t2cce4xRLBaLck4GN2PIzD4JA47BYbQkG9FK5kxITr0g0hFG
JuQEmAABvB/xhdVqCthU6oWp35KcNSIzQrofaKKE/rsRjMLqusgJFD1pwIac2Cp1Ga0S28kWDeOc
ZMmHOGlwy4CfHBB5Tkh9NYTcPxITxkjyLBnCk7GkimxORZVCS30CPY1RwsxM7FabnSiziUHrmVSI
nhwIsTzk1P9jzM6sbKweO+aOHEDpFnkciOPBE4MSUEdnuYwMMN8/n6skK6HSIAqJwRqDJwQD6Xdt
dOo/Se8YcRYUQElJ1IG1GltXSbYhJ0sbS1077+n3O/Z7STZkrdxDIwaz1BXExBAbRwFzbdIVLqC8
DmhjSrZzm4D8phFgpEr6lnVVgRKQsKlr4nJB1lg+HA6St8BaqgTmq1GYk95LOPDhcMDaquhe7/d7
qqqiQSXHdcBWCfAhMiaWWTa0D4c9+/2usPSsMShtQRkiBvAYPaS+p9J8lv+LxQGSZ0Gb9IefPHnM
YtnO+kcCXO9bn+etHiN914v8RfAJrIYTj+3dVbyMpbxOzmGfeX/izvGjpU1Rcilo4slyKVcNs2NK
zfYo8+vlQRCnHzEAQRN8Zv+q8v55/Mm4NgX8nfIaTAzgPE4z8DsBx/lcI0DwfD2ZfTc7PzUKoyZQ
OO8zchLKrDdKkCgcgiYqCM4TXCCEUYBeN+LHQZJveYcKHp1kZ7LOb0lcqvI+ZGqCudM2r88asAbq
SrFoDYuFYdlaVquWy8sN52cblILnL17w1Q8+5KNnL3n24hUvr24IaJrFirax1FbTNpr1quHyfMnj
R+c0dYV3Pde3W65vbhiHgdWyZbM55/LyMZuzDWebMx49uuTs7Ix20QCKcRzpDgf2+47t7Z4XL17x
7NkLnj97zu3tAR+YRWsoVqsV5+fnXFxe0rYNIXq2uz3b2y3B+TIvftKl67rCwM3rTQhBZAacw9ps
Ak9RYsIa9WQJD5XWYRmOkiRXSNsRoy1d6FKCyEhdiWRB8BHvQpF6KP183ueVouu6o89Pf/czjd77
zstgM9y/T62sPRpn+bx87teSTNBURQ9fKYlU0nqK8JB6PXZeT3s1sevGcVpL83nDMBzLTLwpadvX
KKd96PRvq6R9s9195/uoAsDODhag93jOvttftVKT3Fp2cJGS0MKdOd+NQfYCv1hM4aE8lIfyUH6R
5QHw/RjldBH5uJP1KfCoIgQfcNFNiZPyJnC29ctIiUEM4STGiBsddD1KG6KK2MqybBc0dSuadgAh
MnQDfTfS9SN9PxKut9zuOjxg65rFesV6c06zOuP88pLN5pxmscJWVQJhFI2IPhK8aEvGlMymGDwh
MvYD46Fj2B8Y9h1xHIjjCH5EB4dRUGlNpZUkqQheEhd1PTc312xvRYcyyyRMBsTHL/PTC9tPTRuq
bAjlTPL5OzExBo/bK4f2hiPQV022ibRUdgLM7DkBO2xhm4mMQ4VNmr15IzmMI30vYO8wSjZylIK5
FuQc4IOZju8p1Db7K0bZiM7BuU+qzDaMBWBNJZnC+Y8Ews5A2tQ2mXmJmvRddQxJe1Yf10Gp/BlI
f2Kp5mvkHdd9oVzzEM3p4Mnfb3zn6d3LgcRaFLBkhOjRQaN1RFWSCEqUARS1rSTLtRa2mU9JuVQ6
J/PbY4zyh0khuIoS6qm0RqOnPGqJlUc2mLMmcKr3XAdq/p/SaJXD2SkGeWmv2a+ZfVVAJ5Uy0jM5
wdRJX51XlegM61Nco1TjjPxNZrwV8C+BvuQM6AlszICNtRU260EmQz6DmlLvae6MBrB4LEE3qBp0
01ItNtTLNVW9EAAhiOapNVBFjQkexoF+v6XbbhkPB/BegP4QcUOg6wf60QmYmSpUK9BGUVnDctHQ
1BbvR66uXhGCo2kqFosG55xIAsSATyH2PjEcvRfwwFiNVZbaGKxSkhk85CRsUz0ZqzEmQTIxMcsy
mJvBEVIUSR5DiW1pjWHR1iWpZFNZjILoJUwZa4i1TWzFzD5yQhDGzwDUJB2R2EMlaV0MhOgJcQKb
YTZnFGA+94uUUG12TDGTJ0lAXh7rRUs+hdQGxNjKjCKfAEITbOpfue6kX+sEKOuZg+G+MFsBs9Is
rHUC0mfA2VHnpoC/R9cqDOIM7szG1t0Rcg8gEgvLPcaAVtLGMeoiSyTO0wS1B08MAlxkB0QGP+pa
DH2jDaMf8c6g1MDhIE7p4L0Y97nSIAHHAkIKqOGP6iyz6BxT6C7YsiZLO6l0PCZQU+Q6KmsxS2ES
9n3PMPRsb6FumwKyG2tp2zwnQd8NaL1jHMe0xkS8l3Vdx8z016U9MmNca00InnEYErgaaJuGqm5Q
yhCCRhlL8GkOQaIR8hqcwcrMog5pMquqis3ZhkePH0t2eDWfE+OdOXO+luTPd/sdfdcTfTiOdCkT
5el8PQed1awnTuPyvr6V2+xOSXMEKjtHjs/TJ33yzhXy95ntj/KZMUo0yz1XUAl8zTIPUsWTrMO0
Lsh8lhPECZArpASlZw5PPYHDXtsUYTWtFRSAeJLUiPkZNEkXXqGM5NuIURy6ox8Ygsf1Ha7v8W7A
O9HGViEIqSG1S3ZgSzSAIeb3ITthkfU06fIbJYxFiQJStI1htbAsF5b1qma9qrA6Mg57rnd7vvil
d/n5X/gS+26URJ0+0rQLlouG9bJltaw4W7ds1g2bVU1Taw77PddXr3n16hXOedpmwfnFBU+evsOj
x0+4uLwUoPb8jLptiBH2+wPbqy3Pn73i+fOXvHj2mtevb9jvREpFKUNlIUSRCVgsWs7ONzx+8pjL
y0t8cFxfX/P69Wuur29QMUVXzMgNn1SpTC19J8ramHMnKJWlGSYNZ2m2HAEix7XKjjVS/gQEnIwi
+dD3A0rH6W83gAooDJMGsJTTpGxwzDydg8G5WI6j2vIz57/d7FrH6xVEre4kfTsd8xkwnu/nj36q
Yw3kxIunqgxVZfhaLNWshTwvcp37oYc7c9I9+8v7/n6T8yAfffpozYvXu7ufK4WZs3Dn0yd5pL7t
yvGk3eQCp/USY+TJ5ZqqFud1BsUfykN5KA/lm1UeAN9vehFA0Qc1eX/n+FPaEEYUISoMFmUtWhnZ
Lw+eLu6xdUVlKlSAsetRUcIJJRxTvMzeBw7dQNQVjTXYqmJ9dsb6/JzFeo2tG+q2wVQ1xlZoW0GB
oBQoMaK190QfZHMSIsF5xn6g227ptjuG/QHf9+jg0SFgYqBSUFcJ7I0BN4z03YH9fsft7S03Nzfs
97uUCVU286drfTbS3lyTlHV3bgSVDLTJqz957U82NJEJbE4LtCqG2QT8CtNSDI/TjYbWEsKaWU51
XdM0otlrrYQRi4aYJM05HLoE9g6i35sYXzoBBCXRjdZEXLHp7gsBFUN6rjOX7K0jvPdNRt/HK/M6
nl8mgzchJThSasaUue86ZdM6Az9SP1exbK8TW8DPNk93N3qFVUve5E6fzZ9QjPWY/0JplVhyRxf8
ePUQs9PgxGBPBkPwpISGmipoFE3S5aaEUGtiCglNz1NA2QzGpmjUVOEhMSO9F8aQjiljdwKcBBgL
BeAvoMLcCIjl6gXUmhwC2cEw25zOALhsPGitxVglJ0TKfe+kjmatlUG1/DpHhkgxdykGfYTC6M7X
V1qDFyBLdMsT4KtU0oE0RfNx/swT8Cu6iQGDjxanaqI1mHZFvdjQLFZUTSOPED2GSKs1VYToHP1h
z/7mhsPNLcOhI7qQZGyEGTkMg2RYJ4GGWqONGO1NU7FZLTEKDrstu+11SqhlybqOIUaRg8zOoCQ/
4MYRHT3GVjRW01YVjbUENH3wSa+X0meM0Vgj/S+DLZJAMCXvUyS1ROkbMSch857KGhZtK3qPxtDU
AviOw8A4DGiqMkcya0Ot5R6Z1Z71MJm1H4BGGHI5VDmkeTgz2HN/nI+pOVAqTy1ODWMttUmyOF6k
L6bEh/NeKKGUMveHJEERj0JZYwq5FuBUAMg8rwQfj0Cm3KNliZjA4iOAOE5h+iEDXgloRKV2CRB1
QAUFWuNTXz411Of1d1qK0R+mOVj5lMytAAFhuj8Cemeg2RhNP1QlgU5T1wLSOscw9IyjOBy01lRV
lXYC8n7eZ2BKJQeBTXqoISWGk2SBIfh0/RalNCG1Q2Vtqc95dneQda+uauqmxlaWQ9exP+wZxqE4
dqytWC1XODcxjA/7Tr5b1yzTZxl8Vion/RM5jMViURwDuV8pJaC3tTVNsyBEhfcRrStGLauMSmuW
joqQmei5vZVEW4SgqOqK9XrD5myDrYRxrrRKWdvfvM7E3E4+stvtJUldiEVGJJ9zF3uYrhliKOB0
GTN373Tne3fWVwTkyazoN19LikrrSPorLSvH95nGcpqboABtmTUfy3MrHCVdWr5sWmYz0J5YutqI
Pr3WaF0JCzhpTMt8nIFgnfIn2PJ3lnNR6W/JTTHtQfPyJnOnHHSJUe+HgWF/oO/2+HGA6GR9T3uW
4myDModoa2f3M7LzEe8UYRRNYGsUTW1pKmhqxaLRLFpF20QuzhseXa6AnmfP3ufli9e8/5WvcnX1
mqgsytS0bUvbNmzWSy7PVzx5tOHyfEldKdx44ObqJS9fvmB7e4sfHZvNhvPLCy4fXXJ+seH8Ys2j
x2c8enzJar0hRpE8OAwDX/3oOV/8wru8/94HvHx2LcndGtHmrqxhf9iKgxDPYnHGk8eXfMun3mGz
WfP66oqu77i+uWF/OLBarmjaBfYbTMj1ccowuGIHhODwB49SEWPFPsg22BR9NAfq9BH7s+wzZnP1
9DOWn3JMtGnzXPOmuV1/DcBXzz7LES3z+2eG8hwUnjN4o32z/TT/npqG8FF9jOMpM3YCKZW6Cyif
FtnHCSA+B8rz3wrz1u/b2pIlI+Te+o0/pQ2Oj1emBhX4A//mb+THf/qv8eLVMehbiDvz+XXCbd82
a7/92Ml8/eTRmn/ne76bKWpHoe5jpTyUh/JQHsonVH7ZAL7fSHjQNy28Qk2+/WzkHz/3DAghMyUF
RFIp9JQI0QWC8oz07COYbqBuR5rWMdZiBPW9IwSFNpZ2ueL88pLl5ozlZsNivaJqW7StRBtN60kP
LWYWoGxMY4hE5QmIdqDrkxzDfp/A3j2+71FJt0zCgxVWKbQSZvAwjux3W7bbLbvtlv1uT993hYl1
D574sUoJoSWv0YnRxmSoZ/AgG8rZCJ5/MbNKYjE8EuCLGCbKk+pnBoTlEMSZZm/Wk7RWkr8oxNgb
R0ffD3RdR9919MOA8w6fsoub2UYvM1NUAgliFJAgMoUFqvLGJ10ngyWS/askFSqM5F8M8HvaPd/y
cTlWgLsJEJlvQpUq/4OojgDqO8N4BprcuVcCoY7g7SPQacI+c5vPh3oxauNxXzq+/6yvZPCGCfBU
8goUwChdS6XEbZaICQprJISUzNBTqvzTSlQB1QxYy/PD6BILPASMAquroiGqgZABs8TEzbIQQSXQ
A1WcElnbNuhimgvgPgexT+r3CIhSE5CbDxwBuXFqdan71G4xz2xTW8VctTFBAGXcqmJsk/tRnPpQ
dn7kcHydEn1l4GwO9qqCIEuyHK8sWEuz3NAs11R1izUaFQOWQK0iVYwoN+C6A31KQNnvO8Z+wI2i
l1sSLabIh6hED9UoQ2UMbQJ727aiPxy4vb2hrWsg4tzA7WEvIJatgEAMhnEUgNWlDO9aRSqlWNYN
y8WCum5xQdH3IbHCMkuXBOZTxn70oXTVwnZmZgRGSUQVvQAVTV0RQxTgK0WTCDAryLI4LVIyQmOp
G51kNSqIOgHx0lA+OFQQyZa5E0KcZ75o3k3ASBpSGYieAb/zfqiVFodaylo+jqOEVcdpWOb18bRP
xlRXWRNa66SdneoiA8LzflnApSQhIWNMF02+CVidTxUTaDz5XRKglSfFDCjN7pfnqWPw7L6SATOZ
Z4Q9BeDf8K1p/JO+45xn6EesHlCIsyAD71pr2kVLDJU4J4wmJmevJOaR7xIFOK6rSa5Ia42yhhgt
IQiY0jQ1TdMUHWaVQLECtqVkm8MoCed0kgQJQRLSuiRRoY1BhZxsyBdGt1Ka0HUSqRNVSv4mETQu
JVUU56qstdJnLWNKYKeUoqobYtrzhJCtdKnNIrESBEiQ59eEkBP2SR8PIlzCcrHg6dPHrNer8v0s
EXLKnDvS747TOOn7LjGWAxKd8DFK2VdOveT+vgMcgQz3nzk5BN922tv3EkdPUzZ48fiEGMs4KOAw
0pYFbk7bsTImmQ+WAAmEj8qJvExxTOm0t9JobQv4KyDx9Hne5yplRPoh7YNlzMfp5t7hho6x3zP2
HX4cRL4hMR5VQeRjAf20Vihj0bZCG4sxVdIol7WbECA5MZUK1BbaKlLXkdXCsllXbNYNl+drPv3p
p3zq6ROWTcVHH37EfneN1oHzzYLBKZSpaNoFZ5s1lxcbLs7XnG8WGBXoD7dcX73g1avndIc9BsX6
bMP5xTmbszWrZcty2bBatyxWkgzRh8ChG3n58or33vuAn//Cu3z5i1/h5YvXDAdHUzdUQSQHxjDi
3UBdGTbrNe88fczjlOhNa0Xfd+LEINK0DeeXF2w2ZyXK4JMs222SDsAnWRtJRho6RwjuHkmDmSZs
lKSmudwFedUdQPd0H1Wl++XP7nPuve365alm+sJz4PnQj3e+P/89awTnch9hpWzv7nmmZrF8AzB5
l618t+jZ5/cDs94ff//0GQRQVul7+s73ncuSe8dknOyU3R06IPCZf+RTfO5Hf1t6Jl++b0zFmwDk
GJPzUPHGpHiE/LlO+UzynlXmr6atCMGliNGQKP1wNC8+lIfyUB7KN6H8sgF8//9YMjMml+PNwBRq
ZpSAgplpGqMijhEXHN5FTO2JLhI9+CHgHWhTYauGIShs1bBYn/HoyTu0qxW2bdDW4uWmkACXbBAr
ZKNckiW5QBgcY9fR7VNitv2e8SDMXpxD+GcIKIUSA815BifaX7c3N2y3t+x3B2EBJYqSTizMIxC2
VMib624CEqbzjr3V8sF9nu85cCSGvBg5Wdu0sNXiPEM7xeDLoaJZs9cYU3R7jZ3CnHzwUgfDQN/1
Avj2vWhiBZ+AjGygZABxSjhV3imF+CffcDLw4gxYndXLETMugykfrz9+PaVcMgMtCajLkF9mH6aH
moEhx0Z1fr7ZVu3kPnG6BrLTyqygfG9FtmNz+6vZtWb1Uc65+y5lkxbv34hNTD35hoLSdmL0Hz0t
SommrlVgo8aoxARTk4EgYIAqoZ9A0jZOGYyTBIh3DmKgNpoYRZOtMONUZu/mJHACzgSVwN8UnmrM
BLIUbcjy/CXtXn74qfoy+jqv0qMDGbjIUgKIpjD5useVPcO8pr9nzoAMtM1udqf9YGLWGyOslwLE
xyznkEEL0dxTpsLUYCpDsxSHl7XCZtVEKhWoCGjnGQ97uu0Nh9tb+v1BxuzgGEfZuPvEEteJmR9i
lJBetITi1hWLtiZ6xzB0eDewXK8FsBp7+u5ArJsULo+ECo8j4yB6s8EHlI5UWrNqGs6XS4xt6IbA
To3oQAJ8Y0mElmszpDlLRVUcPro4sGLp4zkhkdaiBV/mwxiThI8Xx50R1rJKEkJVVWOtSSChaBVC
pGMEknxDcGS5iVjA3FjkT8ocppKDK4E4BRgrzpc4ORhMWhu1IvjAmHRbldIlTP9O/yrOmjwvTPre
SmXnWMRHNwFyR/1ubqBLW+dj2bEzHy7z/lm0QWdOkAnZLSdPU5RisiTfUpRSlIZFgOyyBCo1vd/J
XJTXy5z4rNPCvNZGleRiGaBkljgPZN1LKd9l7XIOpcDXE6BrjJGkkUaXhGNN07BYLErG+v+PvTd3
kmzJzvx+vtwlllwqa3lLdwOYGTQwGIJDaC3RIEGBQiqEQBECDGYwGGWI0CDwD4FE0EYhzQBSgTxD
mrEJEgRmDL28fktVZWVmbHfxZYTj7vdGZFa96u7qZw1anu54WRFx4y6++3e+850YfAKLTdGC9Ml5
0ve93E+aV4WVnBwMVSXjoXN4H1gupc7rWuG9/DaDsiGQMsIL+63rerq+w/tAm7SznXMM/SDRErZC
a3FcCDs4iPyIgiHpfIYYk1SOIWSwriRuTX1MKRbLJVdXVyzaFgEzXKlyStueNa8CKaa6CV7GGjdO
axB19IMHGsTxm3e2nvdllJ1e7t4a4n3A3pMZ/WR5V/TnOZ4j5FLTKqFM//m7yZMCXiogKVWXdYhg
w8IEDkk6IOuMZumsDArrBPaKdJqV5I6zyDCSYycmwNcNB9zQ4ceR6H1Zh+UxJt+tNkK2UNYKu9dW
AvhqidTTJVGzsOa18jQVLBpYtIonFxVPr1Y8vbrg+fMrri4vaBrL/u6W25tXHHYbDIHVomapLE2z
4OziksuLc87WSxZtjcKz22y4ffOa29s39IeeylQs2ob12Yr1ejWBvauWtq2JMXK33dL1ntvbHV9+
dc0PfvAZ//SDz3n56obDrscoKw6n6FOURWS5kHM8e3rJRy+es1y2ODew3Q1sthth6leW5VKuWzfV
bJ7/xVmkwlYiYaONaNw7N6CNoW4Wqc7mrNUMkEo7WdcLOU+eM0/2EUof94V7gGWYcoDI93JXuWFn
hvG7wN532Snb+KEX8FbAskp6+xINxLR+y4Dm7nCPoTtJNASsrY/K79g0Rlfp3qbfpJI5Ab6n9ez8
2RKqypEzt+wdLNln8LbyMtq/BaBNU5oP98olIPkxorZUlSEowWkf+qtCTO81nnjyecCPvchu+EBQ
YEJI33tcfFu5PdqjPdqjfXh7BHw5niw+ONt3vl6PEySUrxmEdjN9lgDYKZlEDsuVsPC8QRaGT0S5
gIoerzxO+bSJr2ibFe1ypA8KTIWpGhZnZ9TtQnQQAe9dIksIqKxTkh8tq2j86HDDKFq9nSRZO2yF
9TYcDsRxRAWHCUG0+bTCKjAE3DAw9AcOhwP73Y7NZsvhsGccRmKMSbZgDgryYE6th+bxCYTNm+fp
80mOIYfWTsurObgUYxTmdLqAhK2na0YJX82JesRzG9BBERNKk9lC1loBQqwtYG/eWHvvCuOo6zqG
pN0riXViyXqcMfcCVt576BlIOt+E/yKQ3Pcw2YfO2nFeXOq0YCxJZvLWLzP8Qqmf/NsYT54jA0Gn
ZTADbmLRXjsOb5vqXx1ttPPvT4HFsgH/OnuoOhAgNeGs+JONufRXTaU1xrsjOQf5LaVfZ1arTuBv
RDYKkrHd4dyIUhGTElBIySpQGpPZRCprg0U8Hp8dGCnDdA5l17MN74Rr6TLe5HvPn2f2XwGG80I5
NVw178CpDkq/UpIdO0NepZ6QZ88RBRIWPmfrz85bxswEBWRnDRNz2doUJVDaVmaPZua+wtQNWjW0
i6bolWstUQi1jtQEqjAS+gPd5o7d7S2HzYah73GjZ0gs/RDTfWuNrSwoYU2G6FFI0rfKSuKa3XaL
G3pqa6isgeCTowCCH4nBkoOXgxtLgrHgBZistWHdNFyu1ihlUXGgUrIZI+SkfWpqwzMsRCF91OgZ
IEHa3OYxMIhupM4AfUSSsiXGq0QtWEk0iOj2rdZLVqtpEzwOAgwLIBchemIJi9XT/RXwJM7a/KTj
eDo2z8eI4uRMoF/fD2y3W/q+p7ISypyZWvm5Huy7WVdiBsKeAr6z0sudIelNJoA4bVTjbC7n6Jfq
6OcwafXnf88BsdKX8wz1jvFIkcfbWWLP+d8ElOvZ5xlcjiHiVUQ5hdMiFeSdg5TQ7QiIyP9OSQyN
keRp4tTJmd9zuLI4rmxdS4QLlbDHY6RuGtrFgrZpsdbg3SiJ1Iwp2pFKjZIsTSnc6Bmjw1iJjqmq
itVqRdsu6Lq+sF+zk9XaiqaJdH0v0lNpfJOIGsl1MAwj+/2ecRxYDiNVXQuDuO/RxrJeNzR1Q0Sx
3/eSVCcqlLaJKSxrM2FmGkSkRDb0AhJIXzXGsFwuuLg4x1ai2x2SQyVLbbzLYoi4caTrehkDQrqP
Urv3F0LTeMl8afD2a3zN+3f+7kE8ZWrD8xM+fLeqOGVnnzx4rFLT2i2fUM37bJoD7j9PKq1UIHn9
HEiM3qIJnOZeFEZbyPkEtJkAX63SdDIBvn7scUNHcINoOEWRByCBtzGGAjZrk2QcqgptkmRDkny2
AAAgAElEQVSaER3UGGKicwSUDqBHKj2yaOBspThfN3z0fMXHHz/l44+ecfXkEu8dN9ev+OxHP+Lm
5pZx9FjTsGxqVuszLi6f8PTpM1arJUZrxqHn9uaWV19+we3tG8ahZ7VsWa+XLJcC7raLmratWCxq
1uslxmq22y3Xtztevrrl+nrLy1c3fPnla7786g2H/YjCpuTOkRiFfX+2WnC+XnBxecbV1QUXlxd4
73j9+o6b2zs22y3OjbRty9NnT9FKM7qRYRj5Rdvlk0+EaDH2aA/G1mhrCXFg9CEB/pYp8WEGHgX4
rdv2aF46BX2npG+zdjhru66f5pb5b/Nx7WKRrqfe+fdB0soD34fcN9L3ziVAeQZozv/2h82DnwsA
HBJD+CEGrJy0sjXvciRJ/zq2eTn7IvFkynfTmjIcMbAfAsPfxZSGFM2TANo5IJv/WqXvAbnz49x2
nK0+3/33IYbvoq3xsiySpI/JCR69xr+92B7t0R7t0T64PQK+34S9a2BPE8OkMUshJuUFq7xXSAoU
MDaHMGtQBhUguEgYhRnWDyPdMBKiol2uWV9csjy/wNiGqIzo1MWID7L4NYkNoZSE4sYQic6LfEPX
M3QHhv2hsHuH/Q4/9JgYkXzWARMV2kMkMPqR/V4kHLYJ6B0GCbMUL21aHIcJzH6bhQyCluKagXan
mODc865UYT8dA33ppzPAK4fhzkMZVfJyH4HJagolt9ZS1VnCwYqEQwY+/Fg0BjPgK/qcEqIaYk4I
8fBiJeuB5qaTn+HtpTS70VlZiFP8GFT/cDZnFlA874owbTxVgpnyQjm/YtL/fB/nSlm8qnc8PwnU
gCwJplAJ+ZiAw4dP/xDIou61j/tHkHSWFYGcSGvSJ8zh9kYrVBDmJEoY4pnprJhYojrmckuhy17C
jkX6Q0C1/Bh5QTmxw1PoKprgJemViwpvFCFOoYDC8p02CBlcnz1oAbHmoFzOEidR+rOEaqgZ2/CE
9ZiukTfu+R4y0CvZ1O1Jy83PIw6ViEvPOukPozJEGmdAtin4tUKiDPK/JdFdpDI1prIslkvqpqGy
GqslnVutIjZ4GHq67R3bmzds7+4Yuh7vwfnA4AKH3hERLdmqtlS5j0YPPjmFFKgYJKnPOKCRTaFO
D2qUwiankNEIEKwUOyTaw5UQXy0J1eqas4Voi/aDF7ApxrTnSo4nYyRpmzbzAQOdLqoTO+aIsRZ9
aU0q3VPwARdEzsEYQ9uKJrw2ioinbixnZ0vOz89SO42Mo8NWFuckBFjyD01hzSq1/xzKDwgYorXI
kihV2nOIsYCF0mZyH4uika094zCy3W65ubllGAZWqzXW2qKFDlOWcD2XG0gOshB9usYk8ZCZx+k2
sm+DMuYkcDcW6Yp3W5bkifN+pI/bsLTNYybWh3I2y8ZT6jbGSPAZnI2gpT2EENF6TDv8kHwYGezI
Kw/QTU1jDJW1WGNwowCZ4ziUcs1AfFXZwub13qckcVInWaZAp7IIic1b1RVrs8ZWtkTA+JC/q6nr
lhgVw5DAUDfS9z3WVlSVjDkKha1qYesqy2534HDocV60fnf7PX3X0w+O9WqF1pphGAlhoG0W6JWh
qhtubrd0h4GIyAD0g5wDlUKjtUm79gziJyDHB2xlOVuvuby8FKfJLCFPdkI8VL8xiC6683Kfh8Mh
yZWEJMkVyTq+D1pal7xzbnyHvU+Le9cxb7vuMax7+tkM5p31s3n5aDVFZxVHR/m1KuvmmMZbmX/i
1IHn146khGzyWSQWwNfnfBUJ8EWpIuswzYsBgheHhR+JwaGSDrt0Z+kveV0n8msWEuhrqwpTGL4y
5qngRJpt8KBGFjU8uWj4+MUFL56d8/zZFVdPLlivFuw2t7x8+ZKvvvyC25sbrKlYtgtWqzPO1udc
PXnK5eUlq9Wavu/Z7e64vbnh+vVrtnc3RO9YLRouzteslg1NW9PUFe1ywepsxfrsjNVqyb5z/Piz
L/n//vEHfPb5Kw4Hz6Fz7LYdh0NizRtJEFrXhvPzJc+uLvjo+RWrZUtdW7SGm5s3bLZb7jZ3bHc7
ogJbVTRtQ4yedrWkrhu0+cUnbftf/te/4Ysvf8Jut+Pjj5/zm//6u3zrWx/RtDUhOEafyTaTJres
ZaW1HLohfT8HG9O8Rs65MFleq+a2bKpm2n/kRF1pPYyC0U9z3UN/9Wx9xcyZmD/9uqRpZ/bdshlu
7Wb3fX+v1PX78u/jfVrKXZET2b2F5evL881/O2kGi6QCqBl545ixfH9fk29PiDWnGsPH9+ruOXOP
x5mvS5ym3kNVZ36+02sdDocZ0WW6r8ekbY/2aI/2Tdsj4Hti78P2fd9wmwd/O/svzBbBIeDJYG8O
b01rzRSGgkqbxLRZzguUECJ+9EQ1YtEcugPj6KnbBVeXVzx58YKzyyfoqiZqk7yMiWVL3ogm3cU5
2Ls70B/kNRz29Ps9ruuShENMbN6EsSWQKrgRN3Tsdlu22w273a6Ea05AWtZOze5k/c4yPZ1Q3+bl
Lt8HSSQ0hbI+UA9qCg1KP0zhx7mGEvCkpvvLTKeqqqgz2DvTMczMXjeODONYGL3jOKZw8KytOQMU
c1x3uvecAV6AjgmMfrvNIbM5EC4bxYT1yLd5Mflz4goTIJIvlhbBCslmXsCLCUTJ4F9+6QL8z+o0
t4mvsdMQ0KlPzdpGXhS/L5DyYDmftKsEks6fNyLgmw9eQraSw8Q5R/ApkUzaiOrkiPAJiJes3SHp
zmqiivi0GXDOMboxAYDSx+as13xPWX9aKY0KiU0WJCw/KJPuWxUnyKQP/VC5Tn/TE876SR6AYpE+
KcVT7itphuY+Hqf6lH3SLIQZipanVqb8RcekqahEGfNkwz8t+GMZDyedupxpW/6T+xExphDOmuVy
QV1ZAXuVx8aIDo44dAz7Lfu7O/abO7rdXpi7KAbnGXxgyDqwpf4jWoNNUjuVESZo8E42yN6LnIbS
qWxiOs7gg6eubAqjlecLeSOYyssaTWUNtbX4xMYVfC6m8yUA2VisgZietZRZqiOTQvJ9BkdmYEWu
7bmDQxlNlcLubWUyDk9VGZqmommmRG7eVSil2G33jM7jvUrh9fIbrTVRS/mbvAnWJkVDmPLcsUx4
GZQG9ASIRRMLsNh1Hbv9jr7rE7NyOWuGKSrjFPDNAFLIshczMHYOLpUN5+TwULP2Hbwvc/NDnUik
H6Z5Onsi9Ow+sqOlSMKQR68Pa/OxddolkxIRIeMCotWsQrqnpPOt09oi35TRGtM0LMYFbhyFaasN
lRVdUpckNqrKUtU1jVI0rcg9xBngC5FhFFkOY3SSCRHGbl3XhBgZDwfGvpfkbKNIH+33e7quIxLZ
7Q+EANaK1EM/COu3qRuU0tR1A0Df9Yzep7l3iv4QQCZnSo+Cg2tT8g34EDG6YnRO5FuUQhmLSolz
dfDg0/gYwcfIsmlYr89Yr9eJYT5jfWYnC9OYOp9bFJJc7u7ujs1mQz/0MhYQUVGSQs4m3NnvylD3
C2tD77b79/T268cy/t+70/xPddyvIpzM3+l3s8sq4r0+NMWqxPz/gkfltUFxaaSFdS7jmMDhInFG
bjFBInSiI0ZPJABz5va0Pkj0CTJ4PL2ELFAbDd7jQ8DYyKKt+fjZmk8/OufjFxdJe1dx2O3Y3W3Y
bO64ublhv9tRVQ2X5xecn52xXq05W59xcS56uGO35eb6ms1mw2G/J4wHGqtZ1A1NW7FoLHVtaWrL
YtGwXC05W5+zXp/RNCteXb/kx599yd///X/iq1e3aF0TgqLrZA3bNg2rVc3l2Yrz9ULkJp4+4erJ
BQphzW82d3zx5Rfs9nt8CNjKsFguxHnYNjR1xdl6xcXlBYvl6l2N64PY//A//k+/8Gs82qM92qM9
2qP9stsj4PsO+xCsm/eFhiMU9mNZtgqWhCWKrlJ6aa3RNidZk8MDnjBKVnrnPFVV056f8/zTTzl7
coVtF4wh5hQToFTOQzYlOAqR6AO+Hxn2Hd12R7fb0x9Er9cNA9GPkohKawwJxPIBPw6Mfc/QdQz9
nv1B2CrD2Cctu2kzWZ75Zy3a+UY2l/Ns0x5iQEddNg+5ROcA8RS2Pj/vxByEnHjDSOKjpBVa2Yqm
rqnqOsk42MJOCV4YaMPQ0w8DQy8LZed88fJmAKGwHculBQgVYG8KpZ9tfWbP+lDbPN4I5a3t/P0H
tVx8BTQh7+lSVnNKuUwhbffB+gz/ZcA3Hp3+Lb0nTs9zT55gjn/nMxQHw/E5HvjnQ494dOKYkeRZ
84mJFRlS3wyJWRaChyhamcpLWrYc/p51BycQgITmxSLnMLhREvspQE1yDPO9v5rVQ2FTZ4AhCpM0
hCAgVzpOaU30odx/CTNXBTItm+0J+JozpE5KaF6nkQkgnjtqMvg62whPsigVlakwxqb+N3N2xFja
+3E9yPWzPnEGCqdA3tw2NZGAsYamrlk0DdYorIpYItpHGHqG/Zbu7pbD5o7hsGccepyPeHQBfF0U
IMwAIQaRjYg5mZmhqgwQGQYZ8+qqEoY3QBAnR2b4ahWT1m8j/T6NiymtSQEErdHI42UWXGKPz4Bw
YzTWgNcZZE/ZsGPWmpaSy8IdAvpOCdOy4yLGCBqssjRNQ5V0D1ETCC0a2iEBwBWVJSXSStIaCkZH
mqfkFbVGB03MiWeMkSSCRpe+rGZ1lgEzgoRVGqNSIL2Uu/NJF73vk0TOJImU24n3XsbmPD6hZn1j
ArllPJ6iSO4DvjNAmGmcPh1O8rtclprkuIuTDnFhPKvM8NU/xyT4PnYyb5DHS7lRpUiSKzEB4JL0
VCuDtbqAviEEfAhUthLWbVUzmIG6bmiaBq31kYNKKZVY9MJoDCFp4wY/aQh3HUopqtQHqkqOtdYS
Y6Trenw4cDh0RJCEhsFTVZZhkGR9WvV4J8BZ0y5SMjWRehBtyQ5iwGiLrg1t01LXtTgZQiya5iEl
hAtRdHSdCwQt+sBCpM8RCVq6gj6eayGyXC45Oz9jsViUcXCCILMzk/vAbRpXh3Hk9u6Ou82Gfhhm
a5nsvHlYn/d0hvzmQd9k77joMXCrjj5Xad0S07wRZ6DvNOccnSi5dGYLjtTHyqone7RnY0taNBZn
mPTlPE9N60PB/6exYYqikfEzkKOTQgJ9STevpjkure2EVaxkANYKpWUsszYleDKRylqeX6751V95
wScfnXOxrgiuZ3O7YXu3ozt0HLqOGAN13fDk8pKnV084Pztj2ba0dU1dacZ+z5vra16/ekXfCcGi
Mop6UWErS9NWKYliRdsK2Lten7Fcn1HXS5xTXF/f8ZMff8VnP/qC7b6nXazQ2uAGR2UNF2cLnj97
wounT7i8kORwZ+sltbXsdjvutltev3rNV1+9Bq1YrZacnZ+zXC6EVbwQSYmrp0+4urpifXb287a6
R3u0R3u0R3u0R3sPewR8f0lsHlIqDIJxBrpQGAIZ8BUOgYRxRyYZBs9IXTUsLy64/OgjLp+/oFos
cWiGYZCQ2zlANkPKvHPEweEOPd12x+FuS7fd0h8OuKFHEyQM2SgqrVHBE13AjyND13HY7egOe8nK
O3RFP0obnZKdTcL8D4Kv71lG6XYLI4uYNq7qBFBU5dC3Xm/+PmYmdf5OS7I8nZJD2cLurYXZmwCM
EGXDKPINfclKPI5jyfI9Mco4CU+nMM8IkZg2k5kVAv74uY9LhIc29e86+n0dEG+3fJYJ6D0Kw4qz
Y+7V7RzsnQDUiYmWFWzlSX6qzesMhH3oKzhODhPfqzTU/Q16OUHa5KXNYtagLeCB8wQvbFt8SGHA
ktxBk59ZQgJFBnCC9jPD142OoMS5opj3/Qmcys9X2s8MTI8xEr1sUl3wRB8hgZZ+Qopn4Kh64HGP
+0r+bA7Igjrud7nrpc14BoqzjqL0J0l0WFcCGtVNg9GqMPNDmOQg7hX9zDWgtBZ9zZM7njP4BTg1
1JWlscKGtUpkaHCe7rDjcHfL7u6Wbr/HjaM4vnxk8J7eBUYvifCUks36mHWZo0eriLWGprGMozh5
iJG2adBKi7NHiX6z0RqvNUYr2qZm0dY4L4C00sd9RpVXBisE7D0C71P9ZZa4gNAZQI2CNaTySriD
nDsKO7mE5RPwQcC6HH5rrUYYoFKV3vsUTq+pk2aryM9IgsKqsgkg9IXhqrXGJ4A4j//G2Il1y6S8
omZ1J48cyviijZ49b5RySKHzE6NYo4tkwTxccu4QmrkrlITM6qBA63SeCbi9Nz7Eqc3fixBhNoYF
dRTqm52cR2Bv7huzeelD2cldyX3OwGujjchp6OQkCrGUNSrXpTgrsvOqPItS1LUw5ZfLJcvlKrWN
LGMkUkZ1UxNIzgcixoh8hvOOru+422xwzqE11FXFxeUlq9UKYyQqYUySSG6UpGnOCdPXVhUg48Po
Rw77AxHwQSWQFxSapmlpFyNmHAuYvF6vqata+oK2EBWVrXHe4/cHvA+lBH0I4hyQCkyyNkmkPs/P
kJ4Pzs7OODs7p6qaNG7F2Ton9V/uj695/TCMI5vNlt1uz5CeuQDHahoJfjnsfr94H3vnSmW+Vrt3
uQzKTkBu8VCqLKNEmctOwfiJIBzLKiCt+EjBEqVvZ0dYGhwgS53lulOxjCEZys/9WWQ/knxMjtDK
10vfW6PRGiIBazXnixWffvKc73zrEy7OKvrDDT/+0WfcXt+w33YMvaNuKp5cPeHF8+e8ePGci/Mz
Fm2N1YroHfv9hrvbW15+9ZLddovRmrqpqaz086ZtWCxa6qambkVXe7Vesz67oGpWeK94c3PHj3/0
JZ//5CV3t1vQVpIzWmhqzdXVJd/65GM++eQFL549Yb1cUFWGGDx3d7e8evWaV69ec3NzQz+MPLl6
wrPnzzi/PCfGQNPWnF+c8+LFc55cPWF9tqZpm/drOI/2aI/2aI/2aI/2c9kj4PtLZ7JALZq+ZGKD
0HHzYlLeawwKlbTHMstUJ2aN0QZSePmIlsVtYR7IiY0SkCqMI8Nuz7jrGLd7+u2eIUk4hGFApczc
RmkswnIjA1PDQH84cDjsOex29EOXEpNlHVNTQN+8CRKG3PTM77uZ+WkY1xOUTWF2vM3yBkslcEAn
IMmaiYVYkrSlrPA5dNh5z5gYZ/k1pGzmPswZXjNduPkzIRvuEANamRL6p7J2amL66DlwMXvGb5LR
k4t/AvjI9Jx0QwnoKSHj0/HpX2TgN7f1rG94DCLmozMYcVJ2881w2hDHqFI5CZD83hjKyTXf6/jE
LtJaoeMEXh09Z9IsViGUBFsqCCv+KLM4JKeBtCXnvUg75OuQNox6cpzonPAvOXsCXrS8k1bnXDbk
GIx9oM6mwn4L4TCXbwYSVdK3jhMbUwYpMqM4s+QFRFMYU1G3Bh9FK1HwcpM2o0vRilUwBkkYlhOH
aS0JJQUsk823UZoxhUpn3cR83yqB8Joke6M1QSuRRjCGymoqLYklGT1Df2C/2bC7u6PbbSX7eoSo
ND56xqxrGykOtwDCZIwejQcV8V6x348y5sUoERMxJpA+6dMh9VdZg620JM1paobBUWoz9/8cyVFY
olKveVQt80JhACYiWWobJqopKWQ6xmbd3JnzI4OrPgHJ1lTUVZVAsgSiGouxIelDipSFUko0U7W0
26wpn0GR3F6tsQxxvO9wy+0yZH1vX8BBYUorfNKvnmQZOJYLSf1Nml4CvlOdl36YgOPSktXkNNF5
Tk3g69SOYqoL+Y0wVPM8Mj/PTGs9Cjs0lHk7sTPjNLaVnjTr81kDcS6p8U5T3AOaT74mP0hMzifR
zp0SHBpjCgBbKYP3Udjs3gGKuo6lnIL3yWkpTqvKGhaLBauV9NmqqpJExoph6AGSpNRIVdmUEDDJ
SJDamZe+65zDe0mwViUHQl1kGWoqK5JJ3gdxVgNN09K0DQpNjIMkrtXiVNnvDylZqqeuahbtkhD2
xKiSrnAk2MwC1mmdFXD7ruj9lnpm0mDWyXmR+1xI/VpFYeMbo1mtlyyXC4yZ1012hpV/TQ7S/G2S
DXAusD90dMOAT7kOUq/OreY9Gsfsyr8AR8J7XTff5wNzy33L45DMRaeA8NE6YL6YU/M3pEgpKeRY
0F/5Pp8/s9iPwNo8F+YrqumOMpifnW2oKWJMohxiGnNUcnhZlDEzGRdpP8IDjmVNaYyhqQwuVNRa
s1rWtPWCzd2e29cHbm++4vbNNX500m6tpapb1usznj57xieffIQ1Gjf2kriy6xj7nm6/IwRPXVtq
a6mbCq2gaSqWq5blakXTNtTNkqZdUrcrQrRcX++4frPh8y9e88N/+gmHXceiWaC1TprtK549e8qn
n3zM06dXXJytadsaReSw27HdbgvQezgc0Nry9Pkz1mdrlDHs93usNSxXC9p2gbU1u+2ezWaL955P
/4v3aFSP9miP9miP9miP9nPZI+D7NfYhZB2+7vz3TUAuHwA3LfoFCEwb+QyARTAWUJLZmiibZz+O
DIcD3f6A9oFoRU8051iNMQvuR4IbcIcD/WbHuDvg9h3h0BOGHrzDxFAW0irGkjhI2EwCannnGIeB
ITHcYtrc6HlimpS4JsSA8seMy58K9E0L6Ic2vkcsQzXTCuYYLH6IWZw/k4W5xVa2gB9VVaXs4FL2
IW1cx/TcfT8kVu/A6JyE+IeJMQRTORzd9gyMy4yiAkqkEPi3tb+yaZz9+5uxeLKpYsL8oIDmhRWT
fwOF2Tr9e87IPt19PVy/D0tDZMB1Am2mYpv/+y0lFeME/rz9qdPWcWLpaSNAog0eNwO5M/AZQ0gJ
u/LGMTEwE96qYgaLAs6NjClxV8j3wxwMUkWXVunEesptOwTwyXGBOiq/7Agq29+00Z0XdwEQH3ru
WZ3NeY0F4D5hoIUYUSEUDV6UxlhFow0uKKIy2KpisVyyWC5pFy11VRHcSOck5FvGC4PVWjRyVUyS
KpIEJw5jAneE4elDQLqbLn3faI0ykvyssZbaamqtsDqgvGccOvrdlsN2w2G/Y+x7ktoBPkZcCLjM
ptW572YtWBlnIx50ys7uw+QM8qITK8xbJYIEUploa1gsG1bLBYu2JoYC/wuwFDL4kAK5800lp1BU
KRIh13+ctJN1AvMIKbyYNHsoUMmBpfVURlJf4rgjkpjXObzeUNeGqtK40DGMA2oPdV3TtiFlWfc4
51HKoHXSg01ASGb4wgR6qtSHcmcNs8alU/+z1iSATtP1fZlHyM+R2t8cCC7vc72X7+RLnRi8mWmX
GfOkuiUo0syYh4JZX54By6UHCNCTs7SXpGgxPWUZS447Wb5mkVpJrNI5c/9dpkrPu//NqYMthFAA
X2VUefa5NIzWotEcomccAzGOjIM4GrxWeOcgJ1tL7dlaS11XWFsJkIWiaVqMkSiioR/oQpeSmYqu
uLB5U5K+GAo4T3KWBR9Sv5dyMMaCEZ1eY6RChIGrGEdHDDAMInlTJy3f/f5A3w/ipNAWa2u06gGJ
sslSEMZYVEqe6V3AeUne5P1Ux8XVVhwZGbiNpb4goqKmrivWqxVtYizOfj1V/Gx9M69lYy1jP9IN
A7vdns12xzBKfwJTnFzvTNz2DsuSOPk2fsbT/HT2wDWm/Ainbfd09RJnHe/hcxdfpZp9kH6Q66yw
o/NaIx+ae1kBxJn+HoHJ+VenRIHp4gpKhImpBPCVZG8UkFeOzHUgchBakeY1GS92mx3jfoPr9+w2
d4Qk/5TvSaSPqpJscD92HPZb9tstwTtUjEk2TSJNqtrSNBVVZVksFqzXK1ZnZ9RNizY1qIp+CGx2
t3z58obPv3jF559/xevXb/Au8OTyIsk+NFxdXfLxRy94cnVF29QYrRi6A33Xsdvt2Gy23N7d0Q+j
9LnG0rQtznv2hz2VNTx7/ozlcg0ovvrypSRz3m05HA781//tA3X8aI/2aI/2aI/2aB/UHgHf97CH
QKCfHQSezvV17IsYs7bcKHtIo+SVtTCjsMZQKVTXIO+9Z+w69nd3oDXVcoVtF+i6AS06mfhA8E4S
sHQHhu2WfrvFHXroHcp7cA4TRV8yokWiIQBBkk0JUMGkP5m0/iag6uHnfJ+N7btLMG97Cwp1VGbl
dbJjmIfjGm2OfpuZY6LVO0k31E0tEg4JyFFMYfvOC9jbdT390DOmBG1+HmZMlj2YykKd3lMICYSP
ZdNRJB20SqH6lLDnDECclmLZU/2CLWM0E0MmQaET9goxMaPS88eTqhJcZP776c+8jI63XzFhKlK+
0cSTo+agTS7wObMngy1f84BvK8MC5sjbrDlptaIOjuimjMAFjM4M73wPOpakW4LhZbDXMzrHMDr8
LLnftCGedqYTW1xaeMhyDiGB4eQQZDkixFASBuZyvlcEJ+BvghrLs+SN77TRhuys0CrpF84A88mB
kbQydYWuasYAKEvdLjg/P2e1WtG2LUYrDkNP13cM/YC1BqKlUpIUjRjE8ZL6YpZR8Sn5TdbbVCSG
r56Y0FVlaayhNopKR0z0uKFn2O/Y3d1x2G0ZOtEDVWhcAntH7yU0P4GHqfhRgZT4J+nhBk9Axklt
hEk5jA4QTVSrVEnnLYEZhtWyZbVsaVph+BZ0ItVrBvDSyFqKPMxGtTl+klm8Jkd2pGtFsoSkhOpb
Y0SmJo11MQooGLwXh5Y2kuwMAfaWyyXtouZwUGx3A270KYpdM46ekIAyYbsaQMDBCRCZmJIZkM2s
YpD7iinpXW571lgBUWxkdKMwccnNf0KvdJIl0DNgNespKyUyHsZMCTeDD+Xz3KcCkHV8M/CkFEWS
InMxJ4WIicmfk5/lfhrC5BTQKRlnee6TWS+m/hrTiePcufMue8vYNRXBpFGa7zdjT1L+ujh7sxQH
CryXMvbe03U9bhxTuQaM1lTWopVo9RqtSOojqKSh3bYt3ov+rsyBHpzg6CF4hr5HJ1kkiZqRxH2F
CW5tals9LjGAI+BSnekUFeBGR3eQYzJYHmNiyO5F87dpWgGjM/COSHyMXvT0jZEEkegB1REAACAA
SURBVBHKuOu8RxlDcmcfJR7MdZqt1G2qEFsZzs7WCfANpcznnrLiBM3jY3IcGmMZXcd+37HZ7Li5
uRPGv7GEIIDvOwHQ97DiAFXx4bH/Q5q6D5GW+5iB3u9xGmHulnVOPKqDchCztbiatPrvPePsvrKT
8t4aQx3f3RQZMJs7ldRlnvNknDJoa1OkHcWJJc0mER9UROEhKHHoIX1/OIy87ncsG4MKjuAj1tQo
JUnhtFIsl0vqusF7z6tXr9jvNnSHHX4cJAmbtZDmYa1VSq7ZsFwtWK3WrFZrFqsVtmro+sBuN3B7
d+DLV2/4yRcv+eKLV7x+/YZxdLSLlieXF1xdXbI+X3JxccblxTmVrfDOsd937Pd7ttsNh8OBru9x
o59FDhh8cPjRYSvLanXJ06unLJZL9vs9P/zhD7l+fc3t3S373f692sKjPdqjPdqjPdqj/Xz2CPj+
jPbzhcrNAJwHznca0k70BK9xifmWvigLT5Qk+9KkDXQIhGGg324hwmL0KB8wIWIqYZR55wjDSL/f
0+22dNsNw36PGj06RGwU7UedNr8eIAaij0STwIYUum2tlQQ8aXNbVRXHeqyyAg8+kNKg/ByAOdOi
G/3g15Me7MPfF2acmvR0VQq3k6zhCeytm/S3LoCP6KsOjC7p9XZ9CWF1zuGdMKruawZ/3UZ+kjmQ
ZCG6hPCHtDlAT88j2evj8Wkzyl7w0wzIvaUcfgbLmnWZaav1dN/5ZmRzm1jpKn92WgKJJZnB45BY
5Oqk3N7ibMkbu8y+OtLGTOefrir/ziD18bl+9raoEsPPVBVNkmGQpEUT+z6DpyWPTKIaZVbv6IUh
KQ4E+cyHBOulEPl8vqI3mK6toirh0TGSfhtLMsA4NYXTO5/+Fh9DYi7m+kiITpxVXDx5FfCZBABl
CQKSX4hAVJkBVWPqBcpHbN2yOjvn4sllCvM0BOfoOtlMjuNIXdWAwhAwSsKwcwi5aPyGIsPifSBx
S0W/VRC7BP4pKquojaJWYIMjjB3DfsNhk3V7pf9mf8vgPYP3OEGOS/nrAsLKGCbR+EluJUbqpqVt
WwiRg98noFFkd2IUUFcATc2irWlbYWFZk0s3t/tc75m1GRNqO5X7BPxPbUtFkdzRKfzcpL+KBITq
JEdjMtBmGEcnc0EM1GnTLkN7wBrDcrFkfbbEWnB+TCyyBqMrfIg474hBobRF64BSHhnDMigmoI21
EiWRGa6lYabueaq5niV1hmEobVLPpG5ilPHveGiNQAL5jZHoDFsV1rJ3SR7CCIs6AipJvxiTx3c1
A4szE9QWJ14giq5s8ISQZDe0KWNtZnUrcrRISlBX5DkyFhiJ3ovzJ82lnGhR/zRW5psEjMl9WUkQ
5X3RanbekUFtawxYk9qNoa5rhmGg63u8G4nBi17voi3J1ESjekAfFG3TJAbhmuVyhXMD2oh+qHce
73PiykDb1KlOZbz2ztE0DW27oG4adrsd+92Bw2FXpC5CmWPECQuKYRCt23Ec0VqAZtB4H9htd/TD
iPeRqkogLiIno5RnGEeC84zOl0YTkXHTBV+cEUVqgymaQilF9LG0wTxuaqNp24rLy3NWy4WsxyaP
KCAM6JAzmR5VmoCa/ejYbg/c3G64vr5lGBzGTID1/7/sLc/zEPu3OGnnfyl4+tFPYZq77s3xx+8L
8z6vGaYjy59p1ZLPIbJSOXJB9G4QDXNrUNoUJ6BEt4lGujWKyiisjiIj5EfGMKKjgzASfM/Bd6w/
esrZ2Zrga/puBwhr/vx8zSeffMzl5QVawZdf/oS7mzfE4ETH11oZi5z0a2MsVV3TLpaszy5Yrc5o
F0uMbRjGwOvXd3z+5Ss+/+I1r97ccrvZst3t6ccBYwzr9ZIXHz3n29/+lMWiQanIOIzSt/qe/tCx
32/Y7fZ479FakqEqJZI2h8MBHxyr1YoXz57yL/7lv+TFi4/Ybrd8/tlP+PGPfsxut2Mcxplm9qM9
2qM92qM92qP9Iu0R8P0ltKwHSgkjlcVUdHlBCQKm6Wnxmn5HlgFwDk9HF4JsLL0TLVFb44OwcPp9
J0nW9nvG/Z449EmyIYchJ6A2JciJwRO1IsYJJAVAhwScytvgfdrYT/f2oWQx7klsqIk9M7cIJenT
CbaQNueBpERcNvhVXVPVtWQzblvqShbUxsiG3qVEMl3f0XXy6jvJFO+SjIMP4ehWclKrzCA7ZZdM
9zsBBhmgKWC04pi5OwNHTkpHPp4xLfM9nLKd39vmpJyE9OVSPZZViAVwzpulDP5pFL4wbtNGOyTQ
OHIU1p3PC/cfUQ4LktjudG+YX5k5e7IjPNUG/tlturZCFZavsQY1pifPZRBJbJ5jEDoz9IP39MPI
4EZcSO2i6POKLMJ0vgzGntRkAv+ypqAwjHJCK4hGlfOqwvCaPUMGDDPaeQrLFxb3w1akWqLAoFoJ
u1iagoBOpqqp2pa6XaLHQLtcc3H5hOVqjakkOcz+cODu7o6+78oYV1UWEwOaKBvnlCjRJ4eKsHkV
o/dENMrYBOhZdGIQVkbA3sZArQPaj3S7Dfu7G3Z3tzL2jQPOC1jugqMfPaPLrqmpmLVWVMagYsC7
yOgH6YraUDcVFxeXaK3o9wdCCBOTNgE7ua6sSZrC1mCsmkAiMrg/hf7q1JCknPPNMJVxvjdmALCW
kc1oAa/k8ARiZomdrHWb2k2WyzBJh1IljXilNXXdYO0lIKH/dbVA64qYGGge0VE1NmIriFFC6EMQ
2QdjjLC51+syPqXGVdimIYiG6qET/XdxphissaJnH2Nik066uXNnUikaJc86yfCYwvTObPcc5RHj
bNxNJzqS9LE2MUsjJjlTvPd4XGLMSzKyqkpzsdboNBZmhv7cGTV/bsrYmejiGt7Z0XJ/TP8pGuiz
JpHLxJh8XWGyYkQXWpiu4lzKz5kZxsZaFtayaBcMQ0ffd4xDT1PX2JRIbRhHTHZiaFtYzt45nHcY
azmra0JYskv6nlIOSec4NViVGrY2hqZtOTs7x2hDjErkbMYRYytsqiPJZyBlLG2xK3JJ3ofkJHL0
3UCIkUPXse86nPNYI4kEfYg4FwQsTPcdY8QkB0ilNSiTGP0JqDUapUzSHM8SGJrGWKKC0TlQ0DQN
q9WSxaLBGJW0gMXlFYkTqD/rozIPiATA/tBxfXPDy5fXbDc7Rhek7lJk1Tejw/CBLJLWOrOPynx5
2lpP7WiRc9S/p/O8vY9M38zWnafHHK1n7n1b/pyykYvzLYG9Wa9XmTyOztdZ4hiwRmM0ovMexEkV
lcgFET0qjBAd2ge8y1EWmieXlywWDReXZzx79pSrq0uMMex2G7Q2ApRG0KZCtKwD2liqxtA2DcvV
iuVqTduuiBg22559t+HmZsvnX7ziy5fXvLnZcOgH+uToPD9fc3FxztXTK55cXaJUZLPb0Hcd3f4g
OSlGiQgcBklIrIDKghsHKTQVqaxm2az59NNP+bVf+xf86q/9GkS4fn3Nmzc37LY7lNKs12c0zWPS
tkd7tEd7tEd7tG/CHgHffyYWQhDAN+1MMwt0zmxUWrK/l81k8PjRCRM3BkwEbMXoBGjqDz1D3+G6
njj2aO+xSmGVSqy0UJK2eC+alUqb6XpGWA4hqKNF9FxD9xdtp2DvPKQ8JnmJOH05HTpjYWUGWNM0
NK0khWmahspWJXxzGAfcKAlmukPHoTvQJykHSc4WyiYynz8VSNllHBVHAqoLFJtBtxl4fwz2TqBt
VO9OQPcQmPxz2b2fP3TGExA+AU/zNlACm6M8dwiy+ckb4olzdcLImQGmRwyeVLdH2G55xQK6vs/D
fd1hxxvAXJ9JJ9SoiXV0hMVnMCltQGNOvRVxwTO4kcPQM4aAVxLaTk62Vdje8+efLn9vr6pyeUhS
Lx8CPqZEM1rAizD6GSj+AGKezzP7aA6iT19MgLywewWk1ConGkzgSAJLqrqmbVuaxQJdwXJ9xvrs
jGaxwMdAdziw2WzY7be4cSxXttZgkASAEjJqC9NONuWifFtYzVqYViqFllbWUltojKY2YKInDo7d
7Ru2N284bO8YuoNsZJ1nDIFh9Aw+4CMCeKYyVSis1tRVBVHG0zE9f1UZVqsVz54/p9vv6feHaYxM
JZkBWRJz32qF0XJOY3SRQciFLnqpJIA2Y8WpHc2AXUodqCO9dHTSGfUeEghqUuLMzGRUs98K89cW
rdecCMt70SdeLlegZHOvjeiLisaMSnUfhU1dKWIYGYaRcRwBh9aK1WrFk8vLIxAUkhwJkXF07Pc7
+kFAO52+1+k+cuPMme6V1sUhctSMU9usqioB2LqUX9HMjdJXSHNECLGwxUn1NgF0CbBUikgCi2fa
wHkuNsagoxam+ey+JlD+vpMvdyWl3s8Zlce+DBTHk3uezxkayvibEx5moNM5j9bStpzLzgwtDpLK
JqBK0WtFXVXCfo7iyM3scAGLhf23Z48PnvXZmrP1CmNq+r7He4dzjspaQgQ/jCnk3DIkoEkbQ7tY
YFNUjTGWcXTUVUXdNGht2O52OOdByf0slyuMsQlYFW3eYRgZvSufj84xjo7lclnYwdn5Kk4G0T3V
xkpyOJsZ6yHJPihxIGlDjFqSr6ooGti2QlsNhz3Oe5rG0rY1dW1Ts/JH9SOJJY/nfxlXZLwfBsft
3ZYvX77i0EkiOlSSc0j3+zUtQ44jvufxP6u9c9ZP81R86LDZZ18H+h7bBPnG3GVPvp3OV0pA5TKY
rcVmPzzhC+SYs9l6Ia9f81igpr8Z7DVJ+karIj2RryfONU1lNJVWGBVRQRIiBnIix0BE2O+KyNj3
uEYiKp4/u+Lp0ydcPrng7GxNXVsOhwNDPzKOnmEUAkddjyyaFmtrKqNp6pp20dI0LUrXDGNk2O+5
23Zcv9nw8tUbvnp5zc3dlr4fUwJnqOuK84sznr94xsXlOU1TsT/s2Ww3wuzt+jJuxhgITsgfRsua
JQaJkKibiuVqydXTp/zKr/4q3/nOr/Ds6im3t3d45xj6HuecjJda436OiIb3tb/8n/9d0aTP6/M8
Tk7JZd9u5iRKsDghUhvKY72ef3e09h+JCkKsCNoQlRYmuI4QNXEM4DVnyzMOmzvOz5ZsNi9ZLiJ9
d8uyDbhxlxIRj5yvz9JzGNrFGu8M+2HABY+qamKwOF/hXIs1LXEciDYQ2wofPXEcWNUtOqTomcYQ
laxnNAEVNRGNpyFqhYpeZKveYl83b4UH5uj570xqA287j/fx3m8eev+27/Q8gStvWfu+5RwP3f/p
Mdn5/LbzKTOtFXJ7y21xGAb++//uv3nr7x/t0R7t0T6kPQK+/wysTFIxh4uRAN/Zxj0tRGVRGlEq
ELUmICixjhEdIkpbupRkLPiIH0dwHpMYaRWJ9xolmYkbUhKykJg5mLJx0UoT9YRVzhlTD29vP6DN
1/pvKbMQwpQ1mdmmOKGLotdrsNZKeOliIcBU2xQZhxiOmb2Hw579fkc3Z/amEPyi3wqzXUXerMw2
5hlqUUkrcMaUjSEWutok3xGE6YMAWyp+Pej7oeyYc5P+Tgh6YSvJ57Ms5JmpOmfhqUmrM8SID1MC
tgxsKxUTkzFvX6f/5T5QTpiLhwkOP1prT3d88iT5OeL8zezHJw8dI1lA+R6Ynj4oieTyNfOtpv1v
VMK2jCEwhkA3Duy6jm4c8QowRjZgqMIGPWLvHz3y1NZCzPIPEwCVSyPEQEBPG1U1FdiDTgDFg2VQ
tK9TMc4h8iP2Yv59WtSKFoOlroUxv1gssEFLsrZ2gW0advsd+/0+sXt7YgiIwmpiSWmNUaYkPyv3
k8tUQYiKqLQAvsagtGjR1tayqBWNVVjlUc4x9ns2b16xvbul7w6J3esZvad3nn50+AgxMexSIYOW
+6msiOcEL3CvZDNvOD8/59mz57x++RXX8SQJV8xFo1E6CtirBCTVGtFHTRuHaeyIKQGZABkZ0M2n
1LmMUx3oVE7MnCx65uwS8PiYIZujDYyVMOAsyxPTtUbvOfQdXdezWi5pmyWjNuIAdFEcfVGXe7XW
EINO3/Uyx4TAcrmkqirati0Otjw2hBixxjIMAzFG9O0tOkjSopDA5tI802+NtWit8A+11ZQ8ra4r
bGWK7nqMMo4779J4E5MOdMB5n8peaixEAYY9jpw4a86ozaz+LF9UVSkKJMo9TgzPh8bMky6XgOX3
swlAjMnBmLVmjdGlXp336KQAFI20n8wc997j3JiiLyIxmvL7WtVyHqOp6poYA1Vlpfyy/rGV+VLk
IXzS/O2Id3eEGGjqmqatCSHQDwPei2YuSpKtZRmOYRjY7w/sDx0hKtardRnHQ2LeLpZL6roW2RF/
AKCqK9Z6ja0qDvuOYejJeuFAkp5wZf7PToLM2o5RZDmUEodjZg2v1muJtuhHtBoZlUfbCpRJY7uX
uSuNAba2DL3Ch0DTVDR1AsYJCczLcjOuOEUmAJJyz8FH3OjZbve8fHnN6DxZLV2Ay9TnY2alvx2s
OFZvfmjmvv+b97VJtunY0q19zZXu/eK9rqkeup46fa48K05zfFlPnF736HnLTHp/HVCOmCIhMvgu
702SsEnRLCqfZ3LSVZWhMhprJFJO5cSbIY8igRzFYZQW51iE87NzvvWtb/Pxx89ZLFr6oeNwOPDm
+g2vXgsD/HDoUzJFxWq5ZtEuWbS1SNjUNSEqdruB0R242+y4vtny+s0d12/uuNvs6FNyxLptqCrL
ctlyfnHG+eU5TdswjgPXb665ub2jO3QEH5LEmEEjAG8uXK0UTVWxXMk5rp4+5Vvf/jYfffwJFxeX
KBRDP6SEidKG+7SO/iYs6wrn+WYO+M4dj281Hx88Jn+WAcs54Dt9PznKldIYJdIu0qVF77lar4ku
ElzPal2j9cD52jIMt7x4tgS/ZX11xpvXr6grw9C9Zug6vvsb/yX/2//+t6zXz/iNf/Nf0bmAx+I8
xCGyXCwJXqHaFltbdmEED0+vPmJzuwXg/OqSQ9+nvUQQx0SUp3HKEtBozM8F+L4LEAWK0+5t1jTV
O6/3LtAXjgHbsj97xzlO35/W/emxbwO087FRUdpdboOSkNaXhK+P9miP9mjfhH04cc9H+wYsM3Qc
4zgwDAPjMDKMIy6/hjF54GVTqEMgjAP9fs/mzRs2b17Tbe7w+z2hO6CdowZaY1jYitpojAKCxw0D
Q9/La+gJ3idQd2I7aDUlR8pr6sh7LKQ+gKkZAFJKKLNqyob4WE836whmoLeu66Ql2LJIr7ZpJBQU
hQ+erhdt0d12y2azZbff0/Udzo2iUZi2WjmBkJrfS5hWx0eMLCDrHGegd/6dVhOzDzKEN0GbGWQ+
Kg91DATlcx2DhR/SYnkdL5Ly/c+AJfLzkzSkvTCjXdbDTJIhxXMQ7y2i51eEXJ8Z4JweMAOv9zz7
R3d8/1Xun6yN/Y7HhqkvOo8PPrW1idk1hYor0JqoFUPw3O22vL694Xa3xREJGbic34uiMDjjSU1L
8cSiKxrTD+YbmOk8+fOfcaiP07WjmgDud9kUbWCpqoa6aWmaBU27YLVei+6mFq3x/W7P3d0t2+1G
HDTIS2up27qqUn80R8BOZrJFNFFrlLaQQqRREn1QVYZFXbOoDDoGhm7H9vYN29sbDrsNYy+bWec9
g3P040jvHGMIKRhbpUR4HrzHkMDa7ENSYCrLYrHk/Pw86Q5LuyiJ0+LkaBKHR5p0U7I3FSOVNRir
CxslpH6gFEliQaXymCReVNKOVUqSXuUEZnnMKK1AZeAi1ckMGAwxpKR2olcu16eMmX3fc3e34c31
G3a7fQIXDc5FusNA1424MSLh5xZrqpJN3jmXNvYHkWo4dGy3W9Fq3e/Z7/d0XYdL2pN6xnTOIdLD
OE5JzVK7slakFnL5FlkEZDwNwRMKIzyHxQvw5sZBxuwYiVHqVsBr0dGW+U0+G8eBPjlGh6GXOdY5
YghYY2nbluVyyXK1FCdh3dA2TdKZztq/E4P4lFlU5qJSbz8F6BtCAm4d3kuCNBl30vOn74ZhkGiU
g9TD4dAxDEPS6ZXP+07Al+1uy93dHXd3d+x3e9wgyfLyWGiMaPwulvK8CugOh1KfGZR6/fo1Nze3
6dyyPgkhYG3FxcUFz5495+mz51xciH53jLDZbHn58hXX12/YJz3tfhgY+gHvPEZbFOJ8VSoxkZO2
vryfnEpN27BcLVmtViwWC6pamMLL1ZrVek1VNyUpa9suaJuWZbtgvVqzXMhvmkYcviIhoyZHbPLi
SRK6jnHsUSqyXi1p2hqlVGK1R0h1IbrqPrXf7AQ1SGSCaLi/ub3j9atrttsdIpdlSpv/ZbejeYkc
c/G213wt8vXHHl/lPUHiMgfOQT1dgFutM1tfzhjyuiA5fyYNfVAm6c8bcejo+SsDwUajrbTJuq5o
mppFW7NoKhaNpbEpuoSADh4VHSZ6rEZYuZVluWg5W694enXFt7/9LX7ju9/lxYuPAMXLL1/yj//w
j/zDP/wjP/zBj7h+fUt3GPEOfND4oNGmwVYr0C19H3l1veE//tOP+Q//5//Nv/8/vs//9f3/l//4
n37Ily9fs90f8CFiK8ti0fDkyTkvPn7Gx5++YLVeMow9X371FT/+yU+4vn7D4dATopI2qWR+FV1y
S13VnK3WfPLxx/zr7/4m//a3/y2//W9+m+98+zucrde40fHy5St+8IMf8tlnP+HNm5s03k9JVX/R
psVXi0EdvR767KGXDMuxzKtZZikpHqGNQpsUPaOT3E36N0ajbAW2whiF0ZFaQ6Og0VBrReh7hsMW
a0aqqse5lxDf8MmLlu3ND/niB/+elz/6D6zUKz5adwyv/57bz77P5ov/h3/16Rna7XmyWnH95Ws+
+6fPUNFyvl7R1oG2GYm6J2oHwWGU5rDvcd5jFg27vgNboUyNNaLLb4zIIFltqLShStJGb3tl6aS3
vebJc6f1y/R66Bzz8xe5bDXpYp++f9t3p5+d/n3XOU+PedvLWn30MkaVl7X66HwPvd7X/vZv/5bf
+73f4/nz5/zmb/4mf/qnf8r19fXRMX/zN3/D7/7u73J1dcV3v/td/viP/5iXL18eHfPrv/7r/M7v
/M47r/XXf/3XLJdL/uRP/uT9bxDouo7vfve7/Pmf//lP9btv2v7wD/+Q5XJZxqK5bTYb/uzP/ozf
+q3f4urqiu9973v85V/+JQB/93d/x3K55C/+4i++0fs9OzuTtebJ66/+6q/ulfl2u2W5XPJHf/RH
H+zav//7v3/v8+9973t85zvfefAev/3tb/MHf/AHfP/73/8g9/BoH84eXUz/nCwx80KIEuLIcATs
RBQ2MQotousYFagQCXFKEJP3nToqjJKkQhogBIIXFpRsunr6xIADmZyLrADTJlxrg7GVhE4qTeLQ
JGLLh9u2vIvhMt8wz8E2HWNiiiQWXFl8SFIf2SgmCYek+QjgvYSF9n3Pfrdnt9uz3+05dAeGxFwS
JnO+tiogkGjS5jDO+5v5Ig+QgDsVIeoTYDotrHkQqEug6Mm2KEtUnH6jPlwVlPubFsBTqGoOfZ+e
e367cf7mhKEm7VLrxACeLwwfuP79MGY9A7QVJTOSysc+xBXia8lGR9eO+drTeX3SHSWBkfOTFYdD
jMJ0VRofI4dxYLPfs+sPOCJV1aZdRNIB1Er0/phtc4/ucR4OL9cgqiKnoJkSp2U2uUKnBeoDpZnx
9ZNHPb7+/Q33vU9ykacCkk22wVY1Vd1Qty31YomxFUpbvHf0w8Dm7pbtZsPQdxJSSBSGVJJkEHAv
8cKVgMQ+h1Gm/uGDEiYzOrGkT2AI7xj2O3Z3b7i9fkV/2OGGHucDoxPQZfSBwQdGH5LGKJjkeFBR
GDAqBgguORMCSgvjsF20tIsFSh8n1suOh8zpz44hEqhBDCKFYGVcmtqVJJxUyTmltSYaUxKWKaVL
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
y3ui8I6MZms+MHj14SpNuZ/Vlx12jdf+910JlFRjYMX0pwJtw9zV/Gz8fLfXmZsgsBAuGVsUVQnZ
6rFAoSL3iqKo8dnNaXES00oT0jQhTWLSWHkQWBJHijRRdFoJY50WY50WE+Ntpqcm2Lhxms2bNzE1
OYnWJTt23M2N3/seN9/8I3bu3Em/t1zJyKRxQhKndNrjTE9vZuPGbWituH/XAnfcfi+333Ev99w7
y9xin6yAOGnT8az6sbGUqakxDjpoE4cd9liOOupxHHXMERxy6MFMTk4wzDL2zMwxOzdPrz/w4511
8nDW0G632bRxE495zGM47NBDOfjgg9m6ZSudzhjZsOD++3dzx+13cutPf8bPfnYHd97pZBx2797D
wsIivX6fLC+q5MbaO1gf7hI0fCspIP+5uW1fr1Xb3SqA3Wqfg+vGRd2EhG0KhHMOR2haImNjx7K4
63b+7X//A7/9/z6XXz3hSL733W/wk5/8mH/+5L/wnr++iGc+67n8fxdfwu5dc8zOu3n029/5T57/
grO49NP/RJQo7rpzgUs/9b95wYteyhN/5VSe9evPo98ruG/nfTx202amk4SxJHIJuoP+dCSQkXNS
qEg07l2SeFmkB/Nq1tO+6m+tsr/6H3F+rvJ3k9m9Uuav+fda21d7vvu6rpUSFvt77a/s3LmT73//
+7zwhS+swF6Al770pZx99tksLy+zc+dObr75Zp773OdWYC/Ab/7mb3LWWWextLS03/OEcu2117K4
uMh73/teJiYmKrYv1JIGF1xwAc95znPYuHEjp59+Orfccguwt5zArbfeSqfT4c1vfjO/8Ru/wZYt
Wzj11FP54Q9/yBvf+Ea2bdvGkUceycc//vHqHN/73veqYx955JH81V/9VTUPbt++na9+9assLi7S
6XT45je/CbjIhte97nVs376dI488kvPOO4/BYFAd8+abb+b0009n8+bNPP/5z1+TSZtlGQC7d++u
zjk+Ps7nPvc5PvjBD1b73XfffbzgBS9g27ZtPO1pT+OnP/1p9d3c3Byvfe1r2b59O9u3b+ecc85h
cXFxpD5e85rXcPLJJ/OiF71ozXtab9mfhMMDeQYPRTnkkEN41atexS233ML3v//9h/TYj5YHXh5l
+O6nrBVWfqBldAH/wIuw4WiiMhK1LslzKqCg2tcblDKgAtJfg/A8HwHGavIiZzgYsNxdZtAfkBdO
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
1QVAPp+nWCwyPDzMzTffjOu6R7JnZ8+eTT6ff8PvXddlfHycM888823H6pZbbuGkk05i+fLlR7b5
vv8fq76+iUcffZTGxsY3fDry2/Nes2YNN954I3v37j0SOH/mmWeoVCrccMMNCCG49dZb+fM//3MM
w+DSSy99z+O8e/duvve97/HpT3+azs5OAB544AE++clPsnLlStavX08mk+HWW2/lnHPO4aWXXiKZ
TL7r8Qfo7+9n1apVCCG44oorCIfD3HXXXZx33nn86Ec/4vzzzz/S9p3u+3uRSqWYmJhg8eLFR7a9
m2t7u7GB2uqrV199NZdddhmWZXHPPffw+c9/nlgsxoUXXvh7uQd33HEHn/vc51izZg3r1q1j//79
/Mu//AubNm3iueeeO/L2eWxsjE996lNceumlbzle72X83838CgQCgUAgEAgc/foHxigWKgh7grhl
EVNluluTuMUJkokYXrWKkYwylSqz9dUDDAyOYIVMyrZNyZPR9AT949NUS0U8VKJ1CXxZwXEcysUs
5cwQ5370TJYeu4xkax3PvLwdxTAo5KqUyrDxsWfomdPDxNgIe/fuJRKyyGoKhWqZcCRC0S0TikfJ
lytUXA9JtvF98HyBqmtUHQ/h+yBLeMIHCcyQRa1gg48qy1iWSTqdRlVlQkYIVbUol6uUK2XwJSR8
dD2EbXsosoJdddEVFQkJyzTJ5XLU19c+7xdCICm1cg+KqiIjocg+GDLD4yPUN9eTCMcIVz2S9S7P
Pv88cxYsY+aChXR2R3nm+f00trWAoTFVyCNrEYQawUVCIFMtV2hvaeHpjY+xYFYXd977CIvmzGSs
v5+QXGav4zB33gKaWlqp2gU6O2YSDsXRDYtHNv6GJcuWMTk+jq946LpOImRRyNr0HR6jzUyQjNRT
zE2hKh5REwzFx5I8HM9HVRUUzaKqKRRtFc/zkFQdVXhodpmwodUWbJPAs10czycUjoGQUXwX33OJ
GypCUyhSxNcELa0NvLRjCrUthBI2KDtp/HQZswqpyREOj+5k156tDAwMYJdL+L6Doij4vke+mPu9
zPGzzz77LZOzAoFA4LeOuoCv67r8+Mc/5qKLLsIwDI477jh6enq488473xDw/W3h8scee4w5c+YA
8NnPfpbjjjvude2++tWv4rouTz75JE1NTQCsXbuW5cuX853vfIdvfvObR9qWSiU2btx45BiXXHIJ
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
yEvLCoDSsPdvAxT2ioiIiIiIiIiI1KZffvmFgQMHNnQZ17W4uDhmzJjB/fffT4cOHa5qX4PBMK5a
U50Evo1iSofhAUZijxXTo7UV025pFCWJiIiIiIiIiIiIVNGhQwdefvnlRjl3b7lGka56ORmYcYfp
8h1FREREREREREREGlBjDnuh7ubwFREREREREREREZF6psBXRERERERERETkJqD5e28OdRn41smk
wyIiIiIiIiIiIiLXuTrLTjXCV0REREREREREROQGocBXRERERERERERE5AZR14GvpnUQERERERER
EREROa9OM1ON8BURERERERERERG5QRjq6Tx31NN5RERERERERERERBqrOp8Rob4CX1DoKyIiIiIi
IiIiIjevepn+tj4DX1DoKyIiIiIiIiIiIjefelvrrL4DX1DoKyIiIiIiIiIiIjePegt7oWECX1Do
KyIiIiIiIiIiIje+eg17oeEC33IKfkVERERERERERORGU+9Bb7mGDnwrU/grIiIiIiIiIiIi16sG
C3kra0yB78UoCBYREREREREREZHGolEEuyIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi
IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIlKL/j//X8geRWqM8gAAAABJRU5ErkJggg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393472</attachid>
            <date>2020-03-13 03:18:52 -0700</date>
            <delta_ts>2020-03-20 09:30:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204619-20200313101850.patch</filename>
            <type>text/plain</type>
            <size>148307</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4Mzg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
YzRkZjgwNjhmMmM2MGYyYWZhZjU2ZWM4ODI0NTYxZGVmOTEzNjY5Li45MDc3MGJiNmMyNzkwOGJj
MDhjNjUwNDE2ZTRjYjRkNDc2OTlhMmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBm
b3IgR1N0cmVhbWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb246
IEFkZCBHU3RyZWFtZXIgQVBJIGZvciBwaXBlbGluZSBpbnNwZWN0aW9uIGluIHRoZSBwYWdlIHBy
b3RvY29sLgorCiAyMDIwLTAzLTEzICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgY2hhbmdlIEFTU0VSVCB0byBBU1NFUlRfV0lUSF9TRUNV
UklUWV9JTVBMSUNBVElPTiBzaW5jZSBpdCBpcyBub3cgZW5hYmxlZCB1bmRlciBFTkFCTEUoU0VD
VVJJVFlfQVNTRVJUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyNjZlYjE1ZTczNDk1ZWY1NTI1YWQyYjgx
OGYwODYyMjQ3YzFjOGFkLi42NGJhODc0YTY2YzM4OGUwOWIyMjRhZmMxZDAxNmU5YTA5Yjg4NmUx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUgQEAKKzIwMTktMTEtMjYgIFBoaWxpcHBlIE5vcm1h
bmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gV2ViIEluc3Bl
Y3RvcjogQWRkIG5ldyB0YWIgZm9yIEdTdHJlYW1lciBwaXBlbGluZXMgaW5zcGVjdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NjE5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgS2VlcCB0cmFjayBv
ZiB0aGUgR1N0cmVhbWVyIHBpcGVsaW5lcywgdGhpcyB3aWxsIGFsbG93IHRoZQorICAgICAgICBX
ZWJJbnNwZWN0b3IgdG8gbGlzdCBhbmQgZGlzcGxheSB0aGVtIGluIGEgZGVkaWNhdGVkIHRhYi4K
KworICAgICAgICBUaGlzIHBhdGNoIGRvZXNuJ3QgY292ZXIgdGhlIHBpcGVsaW5lcyBjcmVhdGVk
IGJ5IHRoZSBHU3RyZWFtZXIKKyAgICAgICAgTGliV2ViUlRDIGJhY2tlbmQuIFN1cHBvcnQgZm9y
IHRoYXQgd291bGQgYmUgYWRkZWQgbGF0ZXIsIGlmIHRoZQorICAgICAgICBjdXJyZW50IGFwcHJv
YWNoIGlzIGRlZW1lZCBhY2NlcHRhYmxlLgorCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0NvbnRleHQuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlv
RGVzdGluYXRpb25Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlZmF1bHRBdWRpb0Rlc3Rp
bmF0aW9uTm9kZTo6dW5pbml0aWFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZmF1bHRBdWRp
b0Rlc3RpbmF0aW9uTm9kZTo6Y3JlYXRlRGVzdGluYXRpb24pOgorICAgICAgICAqIGh0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpn
c3RyZWFtZXJQaXBlbGluZXNDYWNoZVVwZGF0ZWQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojpwb3J0KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Z3N0cmVhbWVyUGlwZWxpbmVDYWNoZVVw
ZGF0ZWRJbXBsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1l
clBpcGVsaW5lQ2FjaGVVcGRhdGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvclBhZ2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6
OmdldEdTdHJlYW1lclBpcGVsaW5lc05hbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
clBhZ2VBZ2VudDo6Z2V0R1N0cmVhbWVyUGlwZWxpbmVCaW5OYW1lcyk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OmR1bXBHU3RyZWFtZXJQaXBlbGluZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OmdzdHJlYW1lclBpcGVsaW5lQ2FjaGVVcGRh
dGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVh
bWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXI6OkF1
ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9EZXN0aW5h
dGlvbkdTdHJlYW1lcjo6fkF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllckNsaWVudDo6Z3N0cmVhbWVyUGlwZWxpbmVzQ2FjaGVVcGRhdGVkKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnJlZ2lzdGVyR1N0cmVhbWVyUGlwZWxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6
dW5yZWdpc3RlckdTdHJlYW1lclBpcGVsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OmdzdFBpcGVs
aW5lc05hbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OmR1bXBHU3RyZWFtZXJQaXBlbGluZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpnZXRCaW5DaGlsZHJlbik6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXRQaXBlbGluZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBs
YXlCaW4pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5k
UGlwZWxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwZW5kUGlwZWxpbmU6OkFwcGVuZFBp
cGVsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGVuZFBpcGVsaW5lOjp+QXBwZW5kUGlwZWxp
bmUpOgorCiAyMDIwLTAzLTEzICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZW1vdmUgdW51c2VkIGFmZmVjdGVkQnkgc3R5bGUgZmxhZ3MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
Q2hhbmdlTG9nCmluZGV4IGMzZjUxN2QzNTRiOWZkYzhmZjhiYjkzNGUzNGI0M2JkZjkwZDI4YWMu
LjUzNzUyZTkxOWI5MmMxN2U4NGQ2ODA2NDc3MjYxMjc2MWY3YTYzODQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDE5LTExLTI2ICBQaGlsaXBwZSBOb3JtYW5k
ICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIFdlYiBJbnNwZWN0
b3I6IEFkZCBuZXcgdGFiIGZvciBHU3RyZWFtZXIgcGlwZWxpbmVzIGluc3BlY3Rpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDYxOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvciB0aGUgV1BFIGFu
ZCBHVEsgcG9ydHMgYSBuZXcgSW5zcGVjdG9yIHRhYiBpcyBub3cgYXZhaWxhYmxlLiBPbgorICAg
ICAgICB0aGUgbGVmdCBoYW5kLXNpZGUgdGhlIGN1cnJlbnRseSBhbGl2ZSBwaXBlbGluZXMgYXJl
IGxpc3RlZC4gV2hlbgorICAgICAgICBhIHBpcGVsaW5lIGlzIHNlbGVjdGVkLCBpdHMgZ3JhcGgg
cmVwcmVzZW50YXRpb24gaXMgZXhwb3J0ZWQgdG8KKyAgICAgICAgU1ZHIGFuZCBkaXNwbGF5ZWQg
b24gdGhlIHJpZ2h0IGhhbmQtc2lkZSBvZiB0aGUgdGFiIHZpZXcuIFN1YiBiaW5zCisgICAgICAg
IG9mIHRoZSBwaXBlbGluZXMgY2FuIGJlIHNlbGVjdGVkIGFuZCB0aGUgZ3JhcGggd2lsbCBiZSB1
cGRhdGVkCisgICAgICAgIGFjY29yZGluZ2x5LiBUaGUgZnVsbCBncmFwaCBjYW4gYmUgZXhwb3J0
ZWQgdG8gR3JhcGhWaXogZm9ybWF0IGFuZAorICAgICAgICBzYXZlZCB0byBhIGZpbGUuCisKKyAg
ICAgICAgVGhlIHZpei5qcyBhbmQgc3ZnLXBhbi16b29tIEpTIGxpYnJhcmllcyBhcmUgbm93IGJ1
bmRsZWQgYXMKKyAgICAgICAgdGhpcmQtcGFydHkgbW9kdWxlcy4gTGF0ZXIgb24gdGhlIGQzLCBk
YWdyZS1kMyBhbmQgZ3JhcGhsaWItZG90CisgICAgICAgIGxpYnJhcmllcyBjb3VsZCBiZSB1c2Vk
LiBGb3IgdGhlIHRpbWUgYmVpbmcgdGhlIGdyYXBobGliLWRvdAorICAgICAgICBwYXJzZXIgZG9l
c24ndCBoYW5kbGUgdGhlIEdyYXBodml6IG1vZGVscyBleHBvcnRlZCBieSBHU3RyZWFtZXIuCisK
KyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6Cisg
ICAgICAgICogU2NyaXB0cy9jb3B5LXVzZXItaW50ZXJmYWNlLXJlc291cmNlcy5wbDoKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L0Jhc2UvUGxhdGZvcm0uanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9H
U3RyZWFtZXJNYW5hZ2VyLmpzOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0V4dGVy
bmFsL3N2Zy1wYW4tem9vbS5qcy9MSUNFTlNFOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL0V4dGVybmFsL3N2Zy1wYW4tem9vbS5qcy9zdmctcGFuLXpvb20ubWluLmpzOiBBZGRlZC4K
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0V4dGVybmFsL3Zpei5qcy9MSUNFTlNFOiBBZGRlZC4K
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0V4dGVybmFsL3Zpei5qcy9mdWxsLnJlbmRlci5qczog
QWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9FeHRlcm5hbC92aXouanMvbGl0ZS5yZW5k
ZXIuanM6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvdml6LmpzL3Zp
ei5qczogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9JbWFnZXMvR1N0cmVhbWVyLnN2
ZzogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9NYWluLmh0bWw6CisgICAgICAgICog
VXNlckludGVyZmFjZS9Nb2RlbHMvR1N0cmVhbWVyUGlwZWxpbmUuanM6IEFkZGVkLgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvUHJvdG9jb2wvUGFnZU9ic2VydmVyLmpzOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBhbmVsLmNzczogQWRkZWQuCisgICAg
ICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyID4gLmNvbnRlbnQpOgor
ICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciA+IC5uYXZpZ2F0
aW9uLWJhcik6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2Vy
ID4gLm5hdmlnYXRpb24tYmFyIC5kZWJ1Z2dlci1icmVha3BvaW50cyk6CisgICAgICAgICguc2lk
ZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyID4gLm5hdmlnYXRpb24tYmFyIC5kZWJ1
Z2dlci1icmVha3BvaW50cy5hY3RpdmF0ZWQpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwu
bmF2aWdhdGlvbi5kZWJ1Z2dlciA+IC5uYXZpZ2F0aW9uLWJhciAuZGVidWdnZXItcGF1c2UtcmVz
dW1lKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgPiAu
bmF2aWdhdGlvbi1iYXIgLmRlYnVnZ2VyLXBhdXNlLXJlc3VtZS5hY3RpdmF0ZWQpOgorICAgICAg
ICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAud2FybmluZy1iYW5uZXIp
OgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAudHJlZS1v
dXRsaW5lLnNpbmdsZS10aHJlYWQgPiAuaXRlbS50aHJlYWQpOgorICAgICAgICAoLnNpZGViYXIg
PiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAudHJlZS1vdXRsaW5lLnNpbmdsZS10aHJlYWQp
OgorICAgICAgICAoYm9keVtkaXI9bHRyXSAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRl
YnVnZ2VyIC50cmVlLW91dGxpbmUuc2luZ2xlLXRocmVhZCk6CisgICAgICAgIChib2R5W2Rpcj1y
dGxdIC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLnRyZWUtb3V0bGluZS5z
aW5nbGUtdGhyZWFkKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVi
dWdnZXIgLndhcm5pbmctYmFubmVyID4gYSk6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5u
YXZpZ2F0aW9uLmRlYnVnZ2VyIC5kZXRhaWxzLXNlY3Rpb24pOgorICAgICAgICAoLnNpZGViYXIg
PiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0YWlscy1zZWN0aW9uLnBhdXNlZC1yZWFz
b24uY29sbGFwc2VkID4gLmhlYWRlciA+IC5vcHRpb25zKToKKyAgICAgICAgKC5zaWRlYmFyID4g
LnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLmRldGFpbHMtc2VjdGlvbiA+IC5jb250ZW50KToK
KyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLmRldGFpbHMt
c2VjdGlvbi5jb2xsYXBzZWQgPiAuY29udGVudCk6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5l
bC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC5kZXRhaWxzLXNlY3Rpb24gPiAuY29udGVudCA+IC5ncm91
cCk6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC5kZXRh
aWxzLXNlY3Rpb24uc2NyaXB0czpub3QoLmNvbGxhcHNlZCkpOgorICAgICAgICAoQG1lZGlhIChw
cmVmZXJzLWRhcmstaW50ZXJmYWNlKSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9H
U3RyZWFtZXJTaWRlYmFyUGFuZWwuanM6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuY3NzOiBBZGRlZC4KKyAgICAgICAgKC5jb250
ZW50LXZpZXcuZ3N0cmVhbWVyKToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyIC5u
YXZpZ2F0aW9uLWJhcik6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciAubmF2aWdh
dGlvbi1iYXIuaW52aXNpYmxlKToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyIC5u
YXZpZ2F0aW9uLWJhciAuaXRlbS5yYWRpby5idXR0b24udGV4dC1vbmx5KToKKyAgICAgICAgKC5j
b250ZW50LXZpZXcuZ3N0cmVhbWVyIC5uYXZpZ2F0aW9uLWJhciAuaXRlbS5yYWRpby5idXR0b24u
dGV4dC1vbmx5LnNlbGVjdGVkKToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4g
LmdzdHJlYW1lci12aWV3ID4gLnNlcGFyYXRvcik6CisgICAgICAgICguY29udGVudC12aWV3Lmdz
dHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIpOgorICAgICAgICAoLmNvbnRl
bnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyLmhpZGRlbik6
CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5j
b250YWluZXItY2VudGVyZWQpOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAu
Z3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyIGJ1dHRvbik6CisgICAgICAgICguY29udGVudC12
aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAudGl0bGUpOgor
ICAgICAgICAoYm9keVtkaXI9bHRyXSAuY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFt
ZXItdmlldyA+IC5jb250YWluZXIgPiAudGl0bGUpOgorICAgICAgICAoYm9keVtkaXI9cnRsXSAu
Y29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAu
dGl0bGUpOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZp
ZXcgPiAuY29udGFpbmVyID4gLmVkaXRvci1ncm91cCk6CisgICAgICAgICguY29udGVudC12aWV3
LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3Vw
ID4gLmVkaXRvciBpbnB1dCk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5n
c3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRvciBpbnB1
dFt0eXBlPSJjaGVja2JveCJdKToKKyAgICAgICAgKGJvZHlbZGlyPWx0cl0gLmNvbnRlbnQtdmll
dy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFpbmVyID4gLmVkaXRvci1ncm91
cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0iY2hlY2tib3giXSk6CisgICAgICAgIChib2R5W2Rpcj1y
dGxdIC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5l
ciA+IC5lZGl0b3ItZ3JvdXAgPiAuZWRpdG9yIGlucHV0W3R5cGU9ImNoZWNrYm94Il0pOgorICAg
ICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFp
bmVyID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3Igc2VsZWN0KToKKyAgICAgICAgKC5jb250ZW50
LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3It
Z3JvdXAgPiAuZWRpdG9yIGlucHV0W3R5cGU9Im51bWJlciJdKToKKyAgICAgICAgKGJvZHlbZGly
PWx0cl0gLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuY29udGFp
bmVyID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0ibnVtYmVyIl0pOgorICAg
ICAgICAoYm9keVtkaXI9cnRsXSAuY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXIt
dmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRvciBpbnB1dFt0eXBlPSJu
dW1iZXIiXSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJUYWJDb250
ZW50Vmlldy5qczogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFt
ZXJWaWV3LmpzOiBBZGRlZC4KKwogMjAyMC0wMy0xMCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0Bh
cHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjUzNzU5KTogV2ViIEluc3BlY3Rvcjog
QXVkaXRzOiByZXN1bHRzIGZvbGRlciBkb2Vzbid0IGdldCBzZWxlY3RlZCBieSBwcmVzc2luZyBB
cnJvdyBEb3duIGtleQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiMWY2MTg3ODY1MTMxNDE2MTc1NGVmMDc0NzMzY2M0
YzQ0ZmE5YzhiLi5mZGVlZTI1ZDk2ZTdlYmIzMGM1YWMyMzRhNjg5Nzc3M2RkNDM1MDdhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE5LTExLTI2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5v
cm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIFdlYiBJbnNwZWN0b3I6IEFk
ZCBuZXcgdGFiIGZvciBHU3RyZWFtZXIgcGlwZWxpbmVzIGluc3BlY3Rpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDYxOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW5zcGVjdG9yR1Jlc291cmNl
cy5jbWFrZTogQnVuZGxlIHN2Zy1wYW4tem9vbSBhbmQgdml6IEphdmFTY3JpcHQgbW9kdWxlcy4K
KwogMjAyMC0wMy0xMiAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgQWRkIGEgdmVyeSB2ZXJib3NlIGxvZ2dpbmcgbW9kZSBmb3IgaW5jcmVtZW50YWwgUERGIGxv
YWRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAzZmYyMjVlMDcxZDll
YjRjYzQ0ZWRlOGVhNmU4NWY0MWI1YmUyN2U4Li5kNTU2ZjE3NTY5OTc4NTc0NDhlNmZjY2UxMGQ1
NTRkZDBmY2VjYzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMTkz
LDYgKzExOTMsMTIgQEAgaWYgKEVOQUJMRV9TRVJWSUNFX1dPUktFUikKICAgICApCiBlbmRpZiAo
KQogCitpZiAoVVNFX0dTVFJFQU1FUikKKyAgICBsaXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9J
TlNQRUNUT1JfRE9NQUlOUworICAgICAgICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9y
L3Byb3RvY29sL0dTdHJlYW1lci5qc29uCisgICAgKQorZW5kaWYgKCkKKwogYWRkX2N1c3RvbV9j
b21tYW5kKAogICAgIE9VVFBVVCAke0phdmFTY3JpcHRDb3JlX0RFUklWRURfU09VUkNFU19ESVJ9
L0NvbWJpbmVkRG9tYWlucy5qc29uCiAgICAgTUFJTl9ERVBFTkRFTkNZICR7SmF2YVNjcmlwdENv
cmVfU0NSSVBUU19ESVJ9L2dlbmVyYXRlLWNvbWJpbmVkLWluc3BlY3Rvci1qc29uLnB5CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0dTdHJlYW1l
ci5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9HU3RyZWFt
ZXIuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kZGYxMjRkOTgwNmZiY2VmOTk5Y2E2MmI0MjZiMDMyNzVmNWQ5
MTc1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9w
cm90b2NvbC9HU3RyZWFtZXIuanNvbgpAQCAtMCwwICsxLDQzIEBACit7CisgICAgImRvbWFpbiI6
ICJHU3RyZWFtZXIiLAorICAgICJmZWF0dXJlR3VhcmQiOiAiVVNFKEdTVFJFQU1FUikiLAorICAg
ICJkZWJ1Z2dhYmxlVHlwZXMiOiBbInBhZ2UiLCAid2ViLXBhZ2UiXSwKKyAgICAidGFyZ2V0VHlw
ZXMiOiBbInBhZ2UiXSwKKyAgICAiY29tbWFuZHMiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAg
ICJuYW1lIjogImdldEFjdGl2ZVBpcGVsaW5lc05hbWVzIiwKKyAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJSZXR1cm5zIHRoZSBsaXN0IG9mIGN1cnJlbnRseSBydW5uaW5nIEdTdHJlYW1lciBw
aXBlbGluZXMuIiwKKyAgICAgICAgICAgICJyZXR1cm5zIjogWworICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAicGlwZWxpbmVzIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7ICIkcmVmIjog
InN0cmluZyJ9LCAiZGVzY3JpcHRpb24iOiAiQXJyYXkgb2YgcGlwZWxpbmUgbmFtZXMuIiB9Cisg
ICAgICAgICAgICBdCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJuYW1lIjog
ImdldEFjdGl2ZVBpcGVsaW5lQmluTmFtZXMiLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjog
IlJldHVybnMgdGhlIGxpc3Qgb2YgYmlucyBpbiB0aGUgZ2l2ZW4gR1N0cmVhbWVyIHBpcGVsaW5l
LiIsCisgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1l
IjogInBpcGVsaW5lIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIk5hbWUgb2Yg
dGhlIEdTdHJlYW1lciBwaXBlbGluZSB0byBkdW1wLiIgfSwKKyAgICAgICAgICAgICAgICB7ICJu
YW1lIjogImNoaWxkIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIk5hbWUgb2Yg
dGhlIGNoaWxkIGJpbiB0byBkdW1wLiIgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJy
ZXR1cm5zIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiYmluTmFtZXMiLCAidHlwZSI6
ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAic3RyaW5nIn0sICJkZXNjcmlwdGlvbiI6ICJB
cnJheSBvZiBiaW4gbmFtZXMuIiB9CisgICAgICAgICAgICBdCisgICAgICAgIH0sCisgICAgICAg
IHsKKyAgICAgICAgICAgICJuYW1lIjogImR1bXBBY3RpdmVQaXBlbGluZSIsCisgICAgICAgICAg
ICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB0aGUgU1ZHIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBn
aXZlbiBHU3RyZWFtZXIgcGlwZWxpbmUuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwor
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGlwZWxpbmUiLCAidHlwZSI6ICJzdHJpbmciLCAi
ZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgR1N0cmVhbWVyIHBpcGVsaW5lIHRvIGR1bXAuIiB9
LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY2hpbGQiLCAidHlwZSI6ICJzdHJpbmciLCAi
ZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgY2hpbGQgYmluIHRvIGR1bXAuIiB9CisgICAgICAg
ICAgICBdLAorICAgICAgICAgICAgInJldHVybnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJwaXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24iLCAidHlwZSI6ICJzdHJpbmciLCAiZGVz
Y3JpcHRpb24iOiAiU1ZHIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwaXBlbGluZSIgfQorICAgICAg
ICAgICAgXQorICAgICAgICB9CisgICAgXSwKKyAgICAiZXZlbnRzIjogWworICAgICAgICB7Cisg
ICAgICAgICAgICAibmFtZSI6ICJhY3RpdmVQaXBlbGluZXNDaGFuZ2VkIiwKKyAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIHRoZSBpbnRlcm5hbCByZWdpc3RyeSBvZiBhY3Rp
dmUgR1N0cmVhbWVyIHBpcGVsaW5lcyB3YXMgdXBkYXRlZCwgZWcgd2hlbiBhIG5ldyBwaXBlbGlu
ZSB3YXMgcmVnaXN0ZXJlZCBvciB3aGVuIGEgcGlwZWxpbmUgd2FzIHJlbW92ZWQgZnJvbSB0aGUg
cmVnaXN0cnkuIgorICAgICAgICB9CisgICAgXQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmluZGV4IDRhMmUxN2IwMDcxY2ZjN2Y3N2Vm
NzI2ZmYyY2U1ZWQ3ZmJlM2RiMDcuLmYzMjU4Mzc0MjhlNDAxYTA5ZWY5NDhjNDA5N2UxZTA1ZWM5
MDE2YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29u
dGV4dC5jcHAKQEAgLTg1LDEwICs4NSw2IEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KICNlbmRpZgog
Ci0jaWYgVVNFKEdTVFJFQU1FUikKLSNpbmNsdWRlICJHU3RyZWFtZXJDb21tb24uaCIKLSNlbmRp
ZgotCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcApp
bmRleCAxNzU5YWU0YTVhNjM1YmMwNThlMzBjMzY1YzEzNDRmYmIzOTc5ZTE1Li5jMGYzZmI5MTJm
NTY1OGIyNzkzYTExOWYwOGUyNDZkNjVhNjE1YzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5v
ZGUuY3BwCkBAIC0zMCw2ICszMCw4IEBACiAKICNpbmNsdWRlICJBdWRpb0NvbnRleHQuaCIKICNp
bmNsdWRlICJBdWRpb0Rlc3RpbmF0aW9uLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNs
dWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAj
aW5jbHVkZSAiTWVkaWFTdHJhdGVneS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5o
IgpAQCAtNzksNiArODEsMTEgQEAgdm9pZCBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGU6OnVu
aW5pdGlhbGl6ZSgpCiAgICAgbV9kZXN0aW5hdGlvbiA9IG51bGxwdHI7CiAgICAgbV9udW1iZXJP
ZklucHV0Q2hhbm5lbHMgPSAwOwogCisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBpZiAoYXV0byog
ZG9jdW1lbnQgPSBjb250ZXh0KCkuZG9jdW1lbnQoKSkKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCpkb2N1bWVudCk7Cisj
ZW5kaWYKKwogICAgIEF1ZGlvTm9kZTo6dW5pbml0aWFsaXplKCk7CiB9CiAKQEAgLTg4LDYgKzk1
LDExIEBAIHZvaWQgRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjpjcmVhdGVEZXN0aW5hdGlv
bigpCiAgICAgTE9HKFdlYkF1ZGlvLCAiPj4+PiBoYXJkd2FyZVNhbXBsZVJhdGUgPSAlZlxuIiwg
aGFyZHdhcmVTYW1wbGVSYXRlKTsKIAogICAgIG1fZGVzdGluYXRpb24gPSBwbGF0Zm9ybVN0cmF0
ZWdpZXMoKS0+bWVkaWFTdHJhdGVneSgpLmNyZWF0ZUF1ZGlvRGVzdGluYXRpb24oKnRoaXMsIG1f
aW5wdXREZXZpY2VJZCwgbV9udW1iZXJPZklucHV0Q2hhbm5lbHMsIGNoYW5uZWxDb3VudCgpLCBo
YXJkd2FyZVNhbXBsZVJhdGUpOworCisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBpZiAoYXV0byog
ZG9jdW1lbnQgPSBjb250ZXh0KCkuZG9jdW1lbnQoKSkKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCpkb2N1bWVudCk7Cisj
ZW5kaWYKIH0KIAogdm9pZCBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGU6OmVuYWJsZUlucHV0
KGNvbnN0IFN0cmluZyYgaW5wdXREZXZpY2VJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggYjA3NmMyMzQw
MDE3OTc4NjYwNGZhYWY2MGM2ZmZmN2VmZDNkNDhkNS4uNGMwMmNhZTAyNDJhMmNhNGM4MWJkNzU5
Y2E1OGRjNTU4NzYwYTczNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTEzOTIsNiArMTM5Miw3IEBAIGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAKIGluc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcAogaW5zcGVjdG9yL2FnZW50cy9JbnNw
ZWN0b3JEYXRhYmFzZUFnZW50LmNwcAogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JJbmRleGVk
REJBZ2VudC5jcHAKK2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuY3Bw
CiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcAogaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yTmV0d29ya0FnZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKaW5kZXggZjRlZDQzZDJmOTMxZjQzZjA4OTcyMTcyM2NlNDFiNzZjOTkyY2VkYy4uZGJkMzM4
ZTFiNTJhYjg2YzAxNDIyZjcwZDFkMmYwYTY3NjdhNGYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03MjE5LDYgKzcyMTksMTEgQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpyZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zKGNvbnN0IFN0cmluZyYgZGV0
YWlscywgY29uc3QKIAogICAgIGRvY3VtZW50KCkucGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5y
ZXF1ZXN0SW5zdGFsbE1pc3NpbmdNZWRpYVBsdWdpbnMoZGV0YWlscywgZGVzY3JpcHRpb24sIGNh
bGxiYWNrKTsKIH0KKwordm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpnc3RyZWFtZXJBY3RpdmVQaXBl
bGluZXNDaGFuZ2VkKCkKK3sKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1l
ckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoZG9jdW1lbnQoKSk7Cit9CiAjZW5kaWYKIAogdm9pZCBI
VE1MTWVkaWFFbGVtZW50OjpyZW1vdmVCZWhhdmlvclJlc3RyaWN0aW9uc0FmdGVyRmlyc3RVc2Vy
R2VzdHVyZShNZWRpYUVsZW1lbnRTZXNzaW9uOjpCZWhhdmlvclJlc3RyaWN0aW9ucyBtYXNrKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCBhZDBhMmJhZTRjMmI3N2Y0
MmEwZGZlZjQyNGE5OTUwY2I0MWJkODhiLi4wMTQ2MDk5ZGUzMzI2YTU0Y2FlNmY1N2MwZDk2Mjhi
Zjc2NGVjMWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtNzYy
LDYgKzc2Miw3IEBAIHByaXZhdGU6CiAKICNpZiBVU0UoR1NUUkVBTUVSKQogICAgIHZvaWQgcmVx
dWVzdEluc3RhbGxNaXNzaW5nUGx1Z2lucyhjb25zdCBTdHJpbmcmIGRldGFpbHMsIGNvbnN0IFN0
cmluZyYgZGVzY3JpcHRpb24sIE1lZGlhUGxheWVyUmVxdWVzdEluc3RhbGxNaXNzaW5nUGx1Z2lu
c0NhbGxiYWNrJikgZmluYWw7CisgICAgdm9pZCBnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFu
Z2VkKCkgZmluYWw7CiAjZW5kaWYKIAogICAgIHZvaWQgcGVuZGluZ0FjdGlvblRpbWVyRmlyZWQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNw
cAppbmRleCA3ZDUwZGRjN2EzOGEzNzIzZTRlZTdkNjZjYTk3YzhhY2IzN2M3MjZhLi5iYjMyNWE2
MmMzNzM3M2EzMmRiMjUwNjRkNDQ5YzJjYjNhNzA4YzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC04OCw2ICs4OCwxMCBAQAog
I2luY2x1ZGUgIlBhZ2VEZWJ1Z2dhYmxlLmgiCiAjZW5kaWYKIAorI2lmIFVTRShHU1RSRUFNRVIp
CisjaW5jbHVkZSAiSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaCIKKyNlbmRpZgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CkBAIC0xODgsNiArMTkyLDEwIEBA
IHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y3JlYXRlTGF6eUFnZW50cygpCiAgICAgbV9hZ2Vu
dHMuYXBwZW5kKG1ha2VVbmlxdWU8SW5zcGVjdG9yVGltZWxpbmVBZ2VudD4ocGFnZUNvbnRleHQp
KTsKICAgICBtX2FnZW50cy5hcHBlbmQobWFrZVVuaXF1ZTxJbnNwZWN0b3JBbmltYXRpb25BZ2Vu
dD4ocGFnZUNvbnRleHQpKTsKIAorI2lmIFVTRShHU1RSRUFNRVIpCisgICAgbV9hZ2VudHMuYXBw
ZW5kKG1ha2VVbmlxdWU8SW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ+KHBhZ2VDb250ZXh0KSk7Cisj
ZW5kaWYKKwogICAgIGlmIChhdXRvJiBjb21tYW5kTGluZUFQSUhvc3QgPSBtX2luamVjdGVkU2Ny
aXB0TWFuYWdlci0+Y29tbWFuZExpbmVBUElIb3N0KCkpCiAgICAgICAgIGNvbW1hbmRMaW5lQVBJ
SG9zdC0+aW5pdChtX2luc3RydW1lbnRpbmdBZ2VudHMuY29weVJlZigpKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKaW5kZXgg
ODQ3MDVlMjI4MWMyNjNmNmJkMjAzNDY3ZjFkNDk1NjAyZWNhODUwNy4uMTQ4MjYxNDA4ZDUwNzM4
YTZiNzk1Y2Q0MGI5OGE4ZjE0MzBlNjFiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKQEAgLTM4OSw2ICszODksOCBAQCBTdHJp
bmcgSW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojpwb3J0KCkgY29uc3QKIHsKICNpZiBQTEFURk9STShH
VEspCiAgICAgcmV0dXJuICJndGsiX3M7CisjZWxpZiBQTEFURk9STShXUEUpCisgICAgcmV0dXJu
ICJ3cGUiX3M7CiAjZWxzZQogICAgIHJldHVybiAidW5rbm93biJfczsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cAppbmRleCAzZGM3YjQ5NGQ2NjU2YTkxYzdkZDljNjhlMWM5ZWFmNzg5NjY2ZDAxLi5kY2ExM2Fm
YTBkNzE0YmRlY2Q1NjdiMTNhOGRmMmZkNTUxOGMxMjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtODUsNiAr
ODUsMTAgQEAKICNpbmNsdWRlICJXZWJHUFVTd2FwQ2hhaW4uaCIKICNlbmRpZgogCisjaWYgVVNF
KEdTVFJFQU1FUikKKyNpbmNsdWRlICJJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5oIgorI2VuZGlm
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKQEAg
LTEzMDgsNCArMTMxMiwxMiBAQCBJbnN0cnVtZW50aW5nQWdlbnRzKiBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246Omluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KFNjcgogICAgIHJldHVybiBu
dWxscHRyOwogfQogCisjaWYgVVNFKEdTVFJFQU1FUikKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkSW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzKQoreworICAgIGlmIChhdXRvKiBnc3RyZWFtZXJB
Z2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMucGVyc2lzdGVudEluc3BlY3RvckdTdHJlYW1lckFn
ZW50KCkpCisgICAgICAgIGdzdHJlYW1lckFnZW50LT5hY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7
Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IGIyNDZlYWE1
NTlhNzUyNjVjODkwZGZhNDdkMDFkMzExYzE4NmE0MDMuLjU2ZWJiMzM4ZjdjZWE0Nzc0OGQ5NzEx
YTFmZWM0MmY1MzkwNDZhNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTMxNyw2ICszMTcsMTAgQEAgcHVibGljOgog
ICAgIHN0YXRpYyB2b2lkIGxheWVyVHJlZURpZENoYW5nZShQYWdlKik7CiAgICAgc3RhdGljIHZv
aWQgcmVuZGVyTGF5ZXJEZXN0cm95ZWQoUGFnZSosIGNvbnN0IFJlbmRlckxheWVyJik7CiAKKyNp
ZiBVU0UoR1NUUkVBTUVSKQorICAgIHN0YXRpYyB2b2lkIGdzdHJlYW1lckFjdGl2ZVBpcGVsaW5l
c0NoYW5nZWQoRG9jdW1lbnQmKTsKKyNlbmRpZgorCiAgICAgc3RhdGljIHZvaWQgZnJvbnRlbmRD
cmVhdGVkKCk7CiAgICAgc3RhdGljIHZvaWQgZnJvbnRlbmREZWxldGVkKCk7CiAgICAgc3RhdGlj
IGJvb2wgaGFzRnJvbnRlbmRzKCkgeyByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uUHVi
bGljOjpoYXNGcm9udGVuZHMoKTsgfQpAQCAtNTE3LDYgKzUyMSwxMCBAQCBwcml2YXRlOgogICAg
IHN0YXRpYyB2b2lkIGxheWVyVHJlZURpZENoYW5nZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYp
OwogICAgIHN0YXRpYyB2b2lkIHJlbmRlckxheWVyRGVzdHJveWVkSW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzJiwgY29uc3QgUmVuZGVyTGF5ZXImKTsKIAorI2lmIFVTRShHU1RSRUFNRVIpCisgICAg
c3RhdGljIHZvaWQgZ3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZEltcGwoSW5zdHJ1bWVu
dGluZ0FnZW50cyYpOworI2VuZGlmCisKICAgICBzdGF0aWMgSW5zdHJ1bWVudGluZ0FnZW50cyYg
aW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UoUGFnZSYpOwogICAgIHN0YXRpYyBJbnN0cnVtZW50
aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzRm9yV29ya2VyR2xvYmFsU2NvcGUoV29ya2Vy
R2xvYmFsU2NvcGUmKTsKIApAQCAtMTY0Miw2ICsxNjUwLDE1IEBAIGlubGluZSB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEZpcmVBbmltYXRpb25GcmFtZShEb2N1bWVudCYgZG9j
dW1lbnQsCiAgICAgICAgIHdpbGxGaXJlQW5pbWF0aW9uRnJhbWVJbXBsKCppbnN0cnVtZW50aW5n
QWdlbnRzLCBjYWxsYmFja0lkLCBkb2N1bWVudCk7CiB9CiAKKyNpZiBVU0UoR1NUUkVBTUVSKQor
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFtZXJBY3RpdmVQaXBl
bGluZXNDaGFuZ2VkKERvY3VtZW50JiBkb2N1bWVudCkKK3sKKyAgICBGQVNUX1JFVFVSTl9JRl9O
T19GUk9OVEVORFModm9pZCgpKTsKKyAgICBpZiAoYXV0byogaW5zdHJ1bWVudGluZ0FnZW50cyA9
IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpCisgICAgICAgIGdzdHJl
YW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzKTsKK30K
KyNlbmRpZgorCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpcmVB
bmltYXRpb25GcmFtZShEb2N1bWVudCYgZG9jdW1lbnQpCiB7CiAgICAgRkFTVF9SRVRVUk5fSUZf
Tk9fRlJPTlRFTkRTKHZvaWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
dHJ1bWVudGluZ0FnZW50cy5jcHAKaW5kZXggZDdhMmY3MTk1OGQ5NDNjY2NhYzQzNGVhYzkzZTMz
ZGFlMjdjYzQwNC4uNDc5NThkZjQ1ZmYxYWU0ZDU4ODExNjM1MGZiZjkyYzFjZDdjNjI5MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcApA
QCAtNzIsNiArNzIsOSBAQCB2b2lkIEluc3RydW1lbnRpbmdBZ2VudHM6OnJlc2V0KCkKICAgICBt
X3BlcnNpc3RlbnRJbnNwZWN0b3JBbmltYXRpb25BZ2VudCA9IG51bGxwdHI7CiAgICAgbV9lbmFi
bGVkSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQgPSBudWxscHRyOwogICAgIG1fdHJhY2tpbmdJbnNw
ZWN0b3JBbmltYXRpb25BZ2VudCA9IG51bGxwdHI7CisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBt
X3BlcnNpc3RlbnRJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCA9IG51bGxwdHI7CisjZW5kaWYKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggZjU5YzNkYmRjYWY3OGNmOWM2ZDhkYmI0MzJkY2Nm
MjJmMTVkNTA3ZC4uODMyZGI4ZWEyOWZmY2NmNTEwZGM2NWM2MDI1ZGM4N2Y1NzM2NGQ4ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCkBAIC0z
Niw2ICszNiwxMCBAQAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CiAKKyNpZiBVU0UoR1NUUkVBTUVSKQorI2luY2x1ZGUgIkluc3BlY3Rv
ckdTdHJlYW1lckFnZW50LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIEluc3BlY3RvciB7CiBjbGFz
cyBJbnNwZWN0b3JBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ7CkBAIC0xNjIs
NiArMTY2LDExIEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JBbmltYXRpb25BZ2VudCogdHJhY2tp
bmdJbnNwZWN0b3JBbmltYXRpb25BZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhY2tpbmdJbnNw
ZWN0b3JBbmltYXRpb25BZ2VudDsgfQogICAgIHZvaWQgc2V0VHJhY2tpbmdJbnNwZWN0b3JBbmlt
YXRpb25BZ2VudChJbnNwZWN0b3JBbmltYXRpb25BZ2VudCogYWdlbnQpIHsgbV90cmFja2luZ0lu
c3BlY3RvckFuaW1hdGlvbkFnZW50ID0gYWdlbnQ7IH0KIAorI2lmIFVTRShHU1RSRUFNRVIpCisg
ICAgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQqIHBlcnNpc3RlbnRJbnNwZWN0b3JHU3RyZWFtZXJB
Z2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fcGVyc2lzdGVudEluc3BlY3RvckdTdHJlYW1lckFnZW50
OyB9CisgICAgdm9pZCBzZXRQZXJzaXN0ZW50SW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQoSW5zcGVj
dG9yR1N0cmVhbWVyQWdlbnQqIGFnZW50KSB7IG1fcGVyc2lzdGVudEluc3BlY3RvckdTdHJlYW1l
ckFnZW50ID0gYWdlbnQ7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIEluc3RydW1lbnRpbmdB
Z2VudHMoSW5zcGVjdG9yOjpJbnNwZWN0b3JFbnZpcm9ubWVudCYpOwogCkBAIC0xOTUsNiArMjA0
LDkgQEAgcHJpdmF0ZToKICAgICBJbnNwZWN0b3JBbmltYXRpb25BZ2VudCogbV9wZXJzaXN0ZW50
SW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQgeyBudWxscHRyIH07CiAgICAgSW5zcGVjdG9yQW5pbWF0
aW9uQWdlbnQqIG1fZW5hYmxlZEluc3BlY3RvckFuaW1hdGlvbkFnZW50IHsgbnVsbHB0ciB9Owog
ICAgIEluc3BlY3RvckFuaW1hdGlvbkFnZW50KiBtX3RyYWNraW5nSW5zcGVjdG9yQW5pbWF0aW9u
QWdlbnQgeyBudWxscHRyIH07CisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBJbnNwZWN0b3JHU3Ry
ZWFtZXJBZ2VudCogbV9wZXJzaXN0ZW50SW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQgeyBudWxscHRy
IH07CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JHU3RyZWFtZXJBZ2Vu
dC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2NjNWRjZWM5ZmFkNzkzNzk2NDAyNWQ3NGNhNjZlM2M2NDVhN2Mz
OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yR1N0cmVhbWVyQWdlbnQuY3BwCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiAgQ29weXJp
Z2h0IChDKSAyMDIwIElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0
ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5o
IgorCisjaWYgVVNFKEdTVFJFQU1FUikKKworI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgor
I2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K3VzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CisKK0luc3BlY3RvckdTdHJlYW1lckFnZW50OjpJ
bnNwZWN0b3JHU3RyZWFtZXJBZ2VudChQYWdlQWdlbnRDb250ZXh0JiBjb250ZXh0KQorICAgIDog
SW5zcGVjdG9yQWdlbnRCYXNlKCJHU3RyZWFtZXIiX3MsIGNvbnRleHQpCisgICAgLCBtX2JhY2tl
bmREaXNwYXRjaGVyKEluc3BlY3Rvcjo6R1N0cmVhbWVyQmFja2VuZERpc3BhdGNoZXI6OmNyZWF0
ZShjb250ZXh0LmJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKSkKKyAgICAsIG1fZnJvbnRlbmREaXNw
YXRjaGVyKG1ha2VVbmlxdWU8SW5zcGVjdG9yOjpHU3RyZWFtZXJGcm9udGVuZERpc3BhdGNoZXI+
KGNvbnRleHQuZnJvbnRlbmRSb3V0ZXIpKQoreworfQorCitJbnNwZWN0b3JHU3RyZWFtZXJBZ2Vu
dDo6fkluc3BlY3RvckdTdHJlYW1lckFnZW50KCkgPSBkZWZhdWx0OworCit2b2lkIEluc3BlY3Rv
ckdTdHJlYW1lckFnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpG
cm9udGVuZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKQoreworICAgIEFT
U0VSVChtX2luc3RydW1lbnRpbmdBZ2VudHMucGVyc2lzdGVudEluc3BlY3RvckdTdHJlYW1lckFn
ZW50KCkgIT0gdGhpcyk7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLnNldFBlcnNpc3RlbnRJ
bnNwZWN0b3JHU3RyZWFtZXJBZ2VudCh0aGlzKTsKK30KKwordm9pZCBJbnNwZWN0b3JHU3RyZWFt
ZXJBZ2VudDo6d2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpEaXNjb25u
ZWN0UmVhc29uKQoreworICAgIEFTU0VSVChtX2luc3RydW1lbnRpbmdBZ2VudHMucGVyc2lzdGVu
dEluc3BlY3RvckdTdHJlYW1lckFnZW50KCkgPT0gdGhpcyk7CisgICAgbV9pbnN0cnVtZW50aW5n
QWdlbnRzLnNldFBlcnNpc3RlbnRJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudChudWxscHRyKTsKK30K
Kwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudDo6Z2V0QWN0aXZlUGlwZWxpbmVzTmFtZXMo
RXJyb3JTdHJpbmcmLCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxTdHJpbmc+PiYgcGlwZWxpbmVzKQor
eworICAgIHBpcGVsaW5lcyA9IEpTT046OkFycmF5T2Y8U3RyaW5nPjo6Y3JlYXRlKCk7CisgICAg
Zm9yIChhdXRvIGl0ZW0gOiBhY3RpdmVQaXBlbGluZXNOYW1lcygpKQorICAgICAgICBwaXBlbGlu
ZXMtPmFkZEl0ZW0oU3RyaW5nOjpmcm9tVVRGOChpdGVtKSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9y
R1N0cmVhbWVyQWdlbnQ6OmdldEFjdGl2ZVBpcGVsaW5lQmluTmFtZXMoRXJyb3JTdHJpbmcmLCBj
b25zdCBTdHJpbmcmIHBpcGVsaW5lLCBjb25zdCBTdHJpbmcmIGNoaWxkLCBSZWZQdHI8SlNPTjo6
QXJyYXlPZjxTdHJpbmc+PiYgbmFtZXMpCit7CisgICAgbmFtZXMgPSBKU09OOjpBcnJheU9mPFN0
cmluZz46OmNyZWF0ZSgpOworICAgIGZvciAoYXV0byBpdGVtIDogZ2V0QmluQ2hpbGRyZW4ocGlw
ZWxpbmUsIGNoaWxkKSkKKyAgICAgICAgbmFtZXMtPmFkZEl0ZW0oU3RyaW5nOjpmcm9tVVRGOChp
dGVtKSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6OmR1bXBBY3RpdmVQaXBl
bGluZShFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgcGlwZWxpbmUsIGNv
bnN0IFN0cmluZyYgY2hpbGQsIFN0cmluZyogcGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uKQor
eworICAgIGF1dG8gc3ZnRGF0YSA9IFdlYkNvcmU6OmR1bXBBY3RpdmVQaXBlbGluZShwaXBlbGlu
ZSwgY2hpbGQpOworICAgIGlmIChzdmdEYXRhLmlzTnVsbCgpKQorICAgICAgICBlcnJvclN0cmlu
ZyA9ICJJbnZhbGlkIHBpcGVsaW5lIG9yIGJpbiJfczsKKyAgICBlbHNlCisgICAgICAgICpwaXBl
bGluZUdyYXBoUmVwcmVzZW50YXRpb24gPSBTdHJpbmc6OmZyb21VVEY4KHN2Z0RhdGEpOworfQor
Cit2b2lkIEluc3BlY3RvckdTdHJlYW1lckFnZW50OjphY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCkK
K3sKKyAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+YWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JHU3Ry
ZWFtZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JH
U3RyZWFtZXJBZ2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlYjQwZGNmNzdiZTMxYTc5NDM2ZjYzM2NmMWVm
YzdlYjBlMDlkNTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckdTdHJlYW1lckFnZW50LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAq
ICBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICog
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
KgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBu
b3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNB
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoR1NUUkVBTUVSKQorCisjaW5jbHVkZSAi
SW5zcGVjdG9yV2ViQWdlbnRCYXNlLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXJzLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5zcGVj
dG9yRnJvbnRlbmREaXNwYXRjaGVycy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3R5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOwor
CitjbGFzcyBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3JB
Z2VudEJhc2UsIHB1YmxpYyBJbnNwZWN0b3I6OkdTdHJlYW1lckJhY2tlbmREaXNwYXRjaGVySGFu
ZGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQp
OworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIEluc3BlY3RvckdT
dHJlYW1lckFnZW50KFBhZ2VBZ2VudENvbnRleHQmKTsKKyAgICB+SW5zcGVjdG9yR1N0cmVhbWVy
QWdlbnQoKSBvdmVycmlkZTsKKworICAgIC8vIEluc3BlY3RvckFnZW50QmFzZQorICAgIHZvaWQg
ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJ
bnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CisgICAgdm9pZCB3aWxsRGVz
dHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pIG92ZXJy
aWRlOworCisgICAgLy8gR1N0cmVhbWVyQmFja2VuZERpc3BhdGNoZXJIYW5kbGVyCisgICAgdm9p
ZCBnZXRBY3RpdmVQaXBlbGluZXNOYW1lcyhFcnJvclN0cmluZyYsIFJlZlB0cjxKU09OOjpBcnJh
eU9mPFN0cmluZz4+JiBwaXBlbGluZXMpIG92ZXJyaWRlOworICAgIHZvaWQgZ2V0QWN0aXZlUGlw
ZWxpbmVCaW5OYW1lcyhFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgcGlwZWxpbmUsIGNvbnN0
IFN0cmluZyYgY2hpbGQsIFJlZlB0cjxKU09OOjpBcnJheU9mPFN0cmluZz4+JiBuYW1lcykgb3Zl
cnJpZGU7CisgICAgdm9pZCBkdW1wQWN0aXZlUGlwZWxpbmUoRXJyb3JTdHJpbmcmLCBjb25zdCBT
dHJpbmcmIHBpcGVsaW5lLCBjb25zdCBTdHJpbmcmIGNoaWxkLCBTdHJpbmcqIHBpcGVsaW5lR3Jh
cGhSZXByZXNlbnRhdGlvbikgb3ZlcnJpZGU7CisgICAgdm9pZCBhY3RpdmVQaXBlbGluZXNDaGFu
Z2VkKCk7CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPEluc3BlY3Rvcjo6R1N0cmVhbWVyQmFja2Vu
ZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPElu
c3BlY3Rvcjo6R1N0cmVhbWVyRnJvbnRlbmREaXNwYXRjaGVyPiBtX2Zyb250ZW5kRGlzcGF0Y2hl
cjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFVTRShHU1RSRUFN
RVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
clBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
clBhZ2VBZ2VudC5jcHAKaW5kZXggNDRhN2RhMzdmNTg4ZDM4ZTMwNzBlOTY3Y2RjMjNhOWZkOWRh
ZDIwMy4uMDBmYTljNWQwOTZiOGYwYWE5YzcwMGY2MzY4NTA3MzhhODY4NzBhMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50
LmNwcApAQCAtODEsNiArODEsOSBAQAogI2luY2x1ZGUgIkxlZ2FjeVdlYkFyY2hpdmUuaCIKICNl
bmRpZgogCisjaWYgVVNFKEdTVFJFQU1FUikKKyNpbmNsdWRlICJHU3RyZWFtZXJDb21tb24uaCIK
KyNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5oCmluZGV4IDExMDE3M2RiYmZl
ODE5MjI2YjZjNGNhYTBmNjVhNWRlZThjMzlmMmIuLjNkOTcyODNlN2ZhM2MzOWNmYzMwOWFkNzgx
YTEzYTI5NjVmYTgzYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yUGFnZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuaApAQCAtMTMzLDYgKzEzMyw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGRpZExheW91dCgpOwogICAgIHZvaWQgZGlkU2Nyb2xsKCk7CiAgICAgdm9pZCBkaWRS
ZWNhbGN1bGF0ZVN0eWxlKCk7CisgICAgdm9pZCBnc3RyZWFtZXJQaXBlbGluZUNhY2hlVXBkYXRl
ZCgpOwogCiAgICAgRnJhbWUqIGZyYW1lRm9ySWQoY29uc3QgU3RyaW5nJiBmcmFtZUlkKTsKICAg
ICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgZnJhbWVJZChGcmFtZSopOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vR1N0cmVhbWVyLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vR1N0cmVhbWVyLmNtYWtlCmluZGV4IDg5NTFjYjFlNmIzOGVlN2Y3NzJhZGNhY2ZhZTQx
MWRhNjI0ZjgxNTIuLmFjMjU3N2I0MjgxZTdhNGFiZGYyM2JkZWFiOTVmYWRhZDUxMWQ4MDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dTdHJlYW1lci5jbWFrZQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HU3RyZWFtZXIuY21ha2UKQEAgLTc1LDYgKzc1LDcgQEAg
aWYgKEVOQUJMRV9WSURFTyBPUiBFTkFCTEVfV0VCX0FVRElPKQogICAgICAgICAke0dTVFJFQU1F
Ul9CQVNFX0lOQ0xVREVfRElSU30KICAgICAgICAgJHtHU1RSRUFNRVJfQVBQX0lOQ0xVREVfRElS
U30KICAgICAgICAgJHtHU1RSRUFNRVJfUEJVVElMU19JTkNMVURFX0RJUlN9CisgICAgICAgICR7
R1JBUEhWSVpfSU5DTFVERV9ESVJTfQogICAgICkKIAogICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVf
TElCUkFSSUVTCkBAIC04Myw2ICs4NCw3IEBAIGlmIChFTkFCTEVfVklERU8gT1IgRU5BQkxFX1dF
Ql9BVURJTykKICAgICAgICAgJHtHU1RSRUFNRVJfTElCUkFSSUVTfQogICAgICAgICAke0dTVFJF
QU1FUl9QQlVUSUxTX0xJQlJBUklFU30KICAgICAgICAgJHtHU1RSRUFNRVJfQVVESU9fTElCUkFS
SUVTfQorICAgICAgICAke0dSQVBIVklaX0xJQlJBUklFU30KICAgICApCiAKICAgICAjIEF2b2lk
aW5nIGEgR0xpYiBkZXByZWNhdGlvbiB3YXJuaW5nIGR1ZSB0byBHU3RyZWFtZXIgQVBJIHVzaW5n
IGRlcHJlY2F0ZWQgY2xhc3Nlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVy
LmNwcAppbmRleCAxYTU0OTVmZDc2NGQ5YzNjYzZlZGI1ODFmYTQ4MGVhZWFkMTQ1OWJmLi45ZDRh
ZjJjNmMxYjA1MTY5NDg3ZDgyMTQ3MTNiNGI3NDIyMzk3ZDc2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvQXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1l
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlv
RGVzdGluYXRpb25HU3RyZWFtZXIuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiQXVk
aW9DaGFubmVsLmgiCiAjaW5jbHVkZSAiQXVkaW9Tb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUg
IkdSZWZQdHJHU3RyZWFtZXIuaCIKKyNpbmNsdWRlICJHU3RyZWFtZXJDb21tb24uaCIKICNpbmNs
dWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViQXVkaW9Tb3VyY2VHU3RyZWFtZXIu
aCIKICNpbmNsdWRlIDxnc3QvYXVkaW8vZ3N0YXVkaW9iYXNlc2luay5oPgpAQCAtODMsNyArODQs
OCBAQCBBdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyOjpBdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVy
KEF1ZGlvSU9DYWxsYmFjayYgY2FsbGJhY2ssCiAgICAgLCBtX3NhbXBsZVJhdGUoc2FtcGxlUmF0
ZSkKICAgICAsIG1faXNQbGF5aW5nKGZhbHNlKQogewotICAgIG1fcGlwZWxpbmUgPSBnc3RfcGlw
ZWxpbmVfbmV3KCJwbGF5Iik7CisgICAgbV9waXBlbGluZSA9IGdzdF9waXBlbGluZV9uZXcoIndl
YmF1ZGlvLXBsYXliYWNrIik7CisgICAgcmVnaXN0ZXJBY3RpdmVQaXBlbGluZShtX3BpcGVsaW5l
KTsKICAgICBHUmVmUHRyPEdzdEJ1cz4gYnVzID0gYWRvcHRHUmVmKGdzdF9waXBlbGluZV9nZXRf
YnVzKEdTVF9QSVBFTElORShtX3BpcGVsaW5lKSkpOwogICAgIEFTU0VSVChidXMpOwogICAgIGdz
dF9idXNfYWRkX3NpZ25hbF93YXRjaF9mdWxsKGJ1cy5nZXQoKSwgUnVuTG9vcFNvdXJjZVByaW9y
aXR5OjpSdW5Mb29wRGlzcGF0Y2hlcik7CkBAIC0xMzAsOCArMTMyLDggQEAgQXVkaW9EZXN0aW5h
dGlvbkdTdHJlYW1lcjo6fkF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIoKQogICAgIEdSZWZQdHI8
R3N0QnVzPiBidXMgPSBhZG9wdEdSZWYoZ3N0X3BpcGVsaW5lX2dldF9idXMoR1NUX1BJUEVMSU5F
KG1fcGlwZWxpbmUpKSk7CiAgICAgQVNTRVJUKGJ1cyk7CiAgICAgZ19zaWduYWxfaGFuZGxlcnNf
ZGlzY29ubmVjdF9ieV9mdW5jKGJ1cy5nZXQoKSwgcmVpbnRlcnByZXRfY2FzdDxncG9pbnRlcj4o
bWVzc2FnZUNhbGxiYWNrKSwgdGhpcyk7CisgICAgdW5yZWdpc3RlclBpcGVsaW5lKG1fcGlwZWxp
bmUpOwogICAgIGdzdF9idXNfcmVtb3ZlX3NpZ25hbF93YXRjaChidXMuZ2V0KCkpOwotCiAgICAg
Z3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGlwZWxpbmUsIEdTVF9TVEFURV9OVUxMKTsKICAgICBn
c3Rfb2JqZWN0X3VucmVmKG1fcGlwZWxpbmUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggZDI4ZTU5NGYzY2Q1NWU5ZjAxNTdiNDRh
Yjc3ZGJhNzI1MDJlOTBjNC4uM2MxNDY1NTAxZGUzMTZlNTY2NmVkNGI0Y2U1Y2JmZmRhNGM1OTlm
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5o
CkBAIC0yNjMsNiArMjYzLDcgQEAgcHVibGljOgogCiAjaWYgVVNFKEdTVFJFQU1FUikKICAgICB2
aXJ0dWFsIHZvaWQgcmVxdWVzdEluc3RhbGxNaXNzaW5nUGx1Z2lucyhjb25zdCBTdHJpbmcmLCBj
b25zdCBTdHJpbmcmLCBNZWRpYVBsYXllclJlcXVlc3RJbnN0YWxsTWlzc2luZ1BsdWdpbnNDYWxs
YmFjayYpIHsgfTsKKyAgICB2aXJ0dWFsIHZvaWQgZ3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hh
bmdlZCgpIHsgfTsKICNlbmRpZgogCiAgICAgdmlydHVhbCBib29sIG1lZGlhUGxheWVyU2hvdWxk
RGlzYWJsZVNsZWVwKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTYyNyw2ICs2MjgsNyBA
QCBwdWJsaWM6CiAKICNpZiBVU0UoR1NUUkVBTUVSKQogICAgIHZvaWQgcmVxdWVzdEluc3RhbGxN
aXNzaW5nUGx1Z2lucyhjb25zdCBTdHJpbmcmIGRldGFpbHMsIGNvbnN0IFN0cmluZyYgZGVzY3Jp
cHRpb24sIE1lZGlhUGxheWVyUmVxdWVzdEluc3RhbGxNaXNzaW5nUGx1Z2luc0NhbGxiYWNrJiBj
YWxsYmFjaykgeyBjbGllbnQoKS5yZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zKGRldGFpbHMs
IGRlc2NyaXB0aW9uLCBjYWxsYmFjayk7IH0KKyAgICB2b2lkIGdzdHJlYW1lckFjdGl2ZVBpcGVs
aW5lc0NoYW5nZWQoKSB7IGNsaWVudCgpLmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQo
KTsgfQogI2VuZGlmCiAKICAgICBjb25zdCBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIHBs
YXllclByaXZhdGUoKSBjb25zdCB7IHJldHVybiBtX3ByaXZhdGUuZ2V0KCk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJD
b21tb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dT
dHJlYW1lckNvbW1vbi5jcHAKaW5kZXggMDg5YmY3NGY3NGVjNjRhNmY4MDQ0NWMzNTNkZGEzNTEy
YWIzNTRkNC4uYjk4ODlhMTY3NGFkMjI4ZjAzNDljMTZmMjE4ODE5NjU2OTUzNTVhYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1l
ckNvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL0dTdHJlYW1lckNvbW1vbi5jcHAKQEAgLTMwLDkgKzMwLDE2IEBACiAjaW5jbHVkZSA8Z3N0
L2F1ZGlvL2F1ZGlvLWluZm8uaD4KICNpbmNsdWRlIDxnc3QvZ3N0Lmg+CiAjaW5jbHVkZSA8bXV0
ZXg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95
ZWQuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HTGliVXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8d3Rm
L2dsaWIvR1VuaXF1ZVB0ci5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL1J1bkxvb3BTb3VyY2VQcmlv
cml0eS5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworI2lmIFVTRShHUkFQ
SFZJWikKKyNpbmNsdWRlIDxncmFwaHZpei9ndmMuaD4KKyNlbmRpZgogCiAjaWYgRU5BQkxFKFZJ
REVPX1RSQUNLKSAmJiBVU0UoR1NUUkVBTUVSX01QRUdUUykKICNkZWZpbmUgR1NUX1VTRV9VTlNU
QUJMRV9BUEkKQEAgLTM5MSw2ICszOTgsMTE3IEBAIGJvb2wgaXNHU3RyZWFtZXJQbHVnaW5BdmFp
bGFibGUoY29uc3QgY2hhciogbmFtZSkKICAgICByZXR1cm4gcGx1Z2luOwogfQogCitzdGF0aWMg
SGFzaE1hcDxDU3RyaW5nLCBHc3RCaW4qPiYgYWN0aXZlUGlwZWxpbmVzTWFwKCkKK3sKKyAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxDU3RyaW5nLCBHc3RCaW4qPj4gYWN0aXZlUGlw
ZWxpbmVzOworICAgIHJldHVybiBhY3RpdmVQaXBlbGluZXMuZ2V0KCk7Cit9CisKK3ZvaWQgcmVn
aXN0ZXJBY3RpdmVQaXBlbGluZShHc3RFbGVtZW50KiBwaXBlbGluZSkKK3sKKyAgICBBU1NFUlQo
R1NUX0lTX0VMRU1FTlQocGlwZWxpbmUpKTsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwor
CisgICAgR1VuaXF1ZVB0cjxnY2hhcj4gbmFtZShnc3Rfb2JqZWN0X2dldF9uYW1lKEdTVF9PQkpF
Q1RfQ0FTVChwaXBlbGluZSkpKTsKKyAgICBhdXRvIGFkZFJlc3VsdCA9IGFjdGl2ZVBpcGVsaW5l
c01hcCgpLmFkZChuYW1lLmdldCgpLCBudWxscHRyKTsKKyAgICBpZiAoIWFkZFJlc3VsdC5pc05l
d0VudHJ5KQorICAgICAgICByZXR1cm47CisgICAgYWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSA9
IEdTVF9CSU5fQ0FTVChwaXBlbGluZSk7Cit9CisKK3ZvaWQgdW5yZWdpc3RlclBpcGVsaW5lKEdz
dEVsZW1lbnQqIHBpcGVsaW5lKQoreworICAgIEFTU0VSVChHU1RfSVNfRUxFTUVOVChwaXBlbGlu
ZSkpOworCisgICAgR1VuaXF1ZVB0cjxnY2hhcj4gbmFtZShnc3Rfb2JqZWN0X2dldF9uYW1lKEdT
VF9PQkpFQ1RfQ0FTVChwaXBlbGluZSkpKTsKKyAgICBhY3RpdmVQaXBlbGluZXNNYXAoKS5yZW1v
dmUobmFtZS5nZXQoKSk7Cit9CisKK1ZlY3RvcjxDU3RyaW5nPiBhY3RpdmVQaXBlbGluZXNOYW1l
cygpCit7CisgICAgVmVjdG9yPENTdHJpbmc+IG5hbWVzOworICAgIGF1dG8mIG1hcCA9IGFjdGl2
ZVBpcGVsaW5lc01hcCgpOworICAgIG5hbWVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobWFwLnNp
emUoKSk7CisgICAgZm9yIChhdXRvJiBuYW1lIDogbWFwLmtleXMoKSkKKyAgICAgICAgbmFtZXMu
dW5jaGVja2VkQXBwZW5kKG5hbWUpOworCisgICAgc3RkOjpzb3J0KG5hbWVzLmJlZ2luKCksIG5h
bWVzLmVuZCgpKTsKKyAgICByZXR1cm4gbmFtZXM7Cit9CisKK0NTdHJpbmcgZXhwb3J0QmluVG9T
VkcoR3N0QmluKiBiaW4pCit7CisjaWYgVVNFKEdSQVBIVklaKQorICAgIEdVbmlxdWVQdHI8Z2No
YXI+IGRvdERhdGEoZ3N0X2RlYnVnX2Jpbl90b19kb3RfZGF0YShiaW4sIEdTVF9ERUJVR19HUkFQ
SF9TSE9XX0FMTCkpOworICAgIEFncmFwaF90KiBncmFwaCA9IGFnbWVtcmVhZChkb3REYXRhLmdl
dCgpKTsKKworICAgIEdWQ190KiBjb250ZXh0ID0gZ3ZDb250ZXh0KCk7CisgICAgZ3ZMYXlvdXQo
Y29udGV4dCwgZ3JhcGgsICJkb3QiX3MpOworCisgICAgdW5zaWduZWQgbGVuZ3RoOworICAgIGNo
YXIqIHN2Z0RhdGE7CisgICAgaWYgKGd2UmVuZGVyRGF0YShjb250ZXh0LCBncmFwaCwgInN2ZyJf
cywgJnN2Z0RhdGEsICZsZW5ndGgpKSB7CisgICAgICAgIGd2RnJlZUxheW91dChjb250ZXh0LCBn
cmFwaCk7CisgICAgICAgIGFnY2xvc2UoZ3JhcGgpOworICAgICAgICBndkZyZWVDb250ZXh0KGNv
bnRleHQpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAgIENTdHJpbmcgc3ZnIHsg
c3ZnRGF0YSwgbGVuZ3RoIH07CisgICAgZ3ZGcmVlUmVuZGVyRGF0YShzdmdEYXRhKTsKKyAgICBn
dkZyZWVMYXlvdXQoY29udGV4dCwgZ3JhcGgpOworICAgIGFnY2xvc2UoZ3JhcGgpOworICAgIGd2
RnJlZUNvbnRleHQoY29udGV4dCk7CisgICAgcmV0dXJuIHN2ZzsKKyNlbHNlCisgICAgVU5VU0VE
X1BBUkFNKGJpbik7CisgICAgcmV0dXJuICI8c3ZnIGhlaWdodD1cIjMwXCIgd2lkdGg9XCIyMDBc
Ij48dGV4dCB4PVwiMFwiIHk9XCIxNVwiIGZpbGw9XCJyZWRcIj5QaXBlbGluZSBjYW5ub3QgYmUg
ZGlwbGF5ZWQuIFBsZWFzZSBpbnN0YWxsIEdyYXBodml6IGFsb25nIHdpdGggaXRzIGRldmVsb3Bt
ZW50IGhlYWRlcnMgYW5kIHJlY29tcGlsZSBXZWJLaXQuIMKvXFxfKOODhClfL8KvPC90ZXh0Pjwv
c3ZnPiI7CisjZW5kaWYKK30KKworQ1N0cmluZyBkdW1wQWN0aXZlUGlwZWxpbmUoY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHN1YkJpbk5hbWUpCit7CisgICAgR3N0QmluKiBwaXBl
bGluZSA9IGFjdGl2ZVBpcGVsaW5lc01hcCgpLmdldChuYW1lLnV0ZjgoKSk7CisgICAgaWYgKCFw
aXBlbGluZSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGlmIChzdWJCaW5OYW1lLmlzRW1w
dHkoKSkKKyAgICAgICAgcmV0dXJuIGV4cG9ydEJpblRvU1ZHKHBpcGVsaW5lKTsKKworICAgIEdS
ZWZQdHI8R3N0RWxlbWVudD4gY2hpbGQgPSBhZG9wdEdSZWYoZ3N0X2Jpbl9nZXRfYnlfbmFtZShw
aXBlbGluZSwgc3ViQmluTmFtZS51dGY4KCkuZGF0YSgpKSk7CisgICAgaWYgKEdTVF9JU19CSU4o
Y2hpbGQuZ2V0KCkpKQorICAgICAgICByZXR1cm4gZXhwb3J0QmluVG9TVkcoR1NUX0JJTl9DQVNU
KGNoaWxkLmdldCgpKSk7CisKKyAgICByZXR1cm4geyB9OworfQorCitWZWN0b3I8Q1N0cmluZz4g
Z2V0QmluQ2hpbGRyZW4oY29uc3QgU3RyaW5nJiBwaXBlbGluZU5hbWUsIGNvbnN0IFN0cmluZyYg
YmluTmFtZSkKK3sKKyAgICBWZWN0b3I8Q1N0cmluZz4gY2hpbGRyZW47CisgICAgR3N0QmluKiBw
aXBlbGluZSA9IGFjdGl2ZVBpcGVsaW5lc01hcCgpLmdldChwaXBlbGluZU5hbWUudXRmOCgpKTsK
KyAgICBpZiAoIXBpcGVsaW5lKQorICAgICAgICByZXR1cm4gY2hpbGRyZW47CisKKyAgICBHUmVm
UHRyPEdzdEVsZW1lbnQ+IHBhcmVudDsKKworICAgIGlmIChiaW5OYW1lLmlzRW1wdHkoKSkKKyAg
ICAgICAgcGFyZW50ID0gR1NUX0VMRU1FTlRfQ0FTVChnc3Rfb2JqZWN0X3JlZihwaXBlbGluZSkp
OworICAgIGVsc2UKKyAgICAgICAgcGFyZW50ID0gYWRvcHRHUmVmKGdzdF9iaW5fZ2V0X2J5X25h
bWUocGlwZWxpbmUsIGJpbk5hbWUudXRmOCgpLmRhdGEoKSkpOworCisgICAgaWYgKCFwYXJlbnQg
fHwgIUdTVF9JU19CSU4ocGFyZW50LmdldCgpKSkKKyAgICAgICAgcmV0dXJuIGNoaWxkcmVuOwor
CisgICAgZm9yIChHTGlzdCogaXRlbSA9IEdTVF9CSU5fQ0hJTERSRU4oR1NUX0JJTl9DQVNUKHBh
cmVudC5nZXQoKSkpOyBpdGVtOyBpdGVtID0gaXRlbS0+bmV4dCkgeworICAgICAgICBpZiAoR1NU
X0lTX0JJTihpdGVtLT5kYXRhKSkgeworICAgICAgICAgICAgR1VuaXF1ZVB0cjxnY2hhcj4gbmFt
ZShnc3RfZWxlbWVudF9nZXRfbmFtZShHU1RfRUxFTUVOVF9DQVNUKGl0ZW0tPmRhdGEpKSk7Cisg
ICAgICAgICAgICBjaGlsZHJlbi5hcHBlbmQoQ1N0cmluZyhuYW1lLmdldCgpKSk7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICByZXR1cm4gY2hpbGRyZW47Cit9CisKIH0KIAogI2VuZGlmIC8vIFVT
RShHU1RSRUFNRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmgKaW5kZXggOTY5YzdjMzM0Yjk1MDNh
MjFhNzJlMzc5ZjEzN2MyN2E2YjkxODEyNS4uMzBjZmYxOTZlZTk4MWE3YTYwM2RjNGZlZGUxM2Ex
ZmZjNjNmZWQyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uaApAQCAtMjIzLDYgKzIyMywxMiBA
QCBlbnVtIGNsYXNzIEdzdFZpZGVvRGVjb2RlclBsYXRmb3JtIHsgSW14VlBVLCBWaWRlbzRMaW51
eCB9OwogCiBib29sIGlzR1N0cmVhbWVyUGx1Z2luQXZhaWxhYmxlKGNvbnN0IGNoYXIqIG5hbWUp
OwogCit2b2lkIHJlZ2lzdGVyQWN0aXZlUGlwZWxpbmUoR3N0RWxlbWVudCopOwordm9pZCB1bnJl
Z2lzdGVyUGlwZWxpbmUoR3N0RWxlbWVudCopOworVmVjdG9yPENTdHJpbmc+IGFjdGl2ZVBpcGVs
aW5lc05hbWVzKCk7CitDU3RyaW5nIGR1bXBBY3RpdmVQaXBlbGluZShjb25zdCBTdHJpbmcmIG5h
bWUsIGNvbnN0IFN0cmluZyYgc3ViQmluTmFtZSk7CitWZWN0b3I8Q1N0cmluZz4gZ2V0QmluQ2hp
bGRyZW4oY29uc3QgU3RyaW5nJiBwaXBlbGluZU5hbWUsIGNvbnN0IFN0cmluZyYgYmluTmFtZSk7
CisKIH0KIAogI2lmbmRlZiBHU1RfQlVGRkVSX0RUU19PUl9QVFMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggZDEzMjRmNjlmZDUwN2NkMGM5
NTZkYTlmMzY0NGY0NTJlNzQ1ZTY4Ni4uZmFmMDAyMjVhMjJlNjNhODlhOGZkNDc1NzdmNmE2NTNj
NzE2ZGNkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAKQEAgLTUyOCw5ICs1MjgsMTQgQEAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp+
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKCkKIAogICAgIC8vIFRoZSBjaGFuZ2UgdG8gR1NU
X1NUQVRFX05VTEwgc3RhdGUgaXMgYWx3YXlzIHN5bmNocm9ub3VzLiBTbyBhZnRlciB0aGlzIGdl
dHMgZXhlY3V0ZWQgd2UgZG9uJ3QgbmVlZCB0byB3b3JyeQogICAgIC8vIGFib3V0IGhhbmRsZXJz
IHJ1bm5pbmcgaW4gdGhlIEdTdHJlYW1lciB0aHJlYWQuCi0gICAgaWYgKG1fcGlwZWxpbmUpCisg
ICAgaWYgKG1fcGlwZWxpbmUpIHsKKyAgICAgICAgdW5yZWdpc3RlclBpcGVsaW5lKG1fcGlwZWxp
bmUuZ2V0KCkpOwogICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9waXBlbGluZS5nZXQo
KSwgR1NUX1NUQVRFX05VTEwpOwogCisgICAgICAgIGlmIChtX3BsYXllcikKKyAgICAgICAgICAg
IG1fcGxheWVyLT5nc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7CisgICAgfQorCiAg
ICAgbV9wbGF5ZXIgPSBudWxscHRyOwogfQogCkBAIC0xNzg3LDYgKzE3OTIsOSBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dmlkZW9DaGFuZ2VkQ2FsbGJhY2soTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFBp
cGVsaW5lKEdzdEVsZW1lbnQqIHBpcGVsaW5lKQogewogICAgIG1fcGlwZWxpbmUgPSBwaXBlbGlu
ZTsKKyAgICByZWdpc3RlckFjdGl2ZVBpcGVsaW5lKG1fcGlwZWxpbmUuZ2V0KCkpOworICAgIGlm
IChtX3BsYXllcikKKyAgICAgICAgbV9wbGF5ZXItPmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0No
YW5nZWQoKTsKIAogICAgIEdSZWZQdHI8R3N0QnVzPiBidXMgPSBhZG9wdEdSZWYoZ3N0X3BpcGVs
aW5lX2dldF9idXMoR1NUX1BJUEVMSU5FKG1fcGlwZWxpbmUuZ2V0KCkpKSk7CiAgICAgZ3N0X2J1
c19zZXRfc3luY19oYW5kbGVyKGJ1cy5nZXQoKSwgW10oR3N0QnVzKiwgR3N0TWVzc2FnZSogbWVz
c2FnZSwgZ3BvaW50ZXIgdXNlckRhdGEpIHsKQEAgLTI5NTQsNiArMjk2Miw5IEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVHU1RQbGF5QmluKGNvbnN0IFVSTCYgdXJs
LCBjb25zdCBTdHJpbmcmCiAgICAgICAgIH0KIAogICAgICAgICBHU1RfSU5GT19PQkpFQ1QocGlw
ZWxpbmUoKSwgIlRlYXJpbmcgZG93biBhcyB3ZSBuZWVkIHRvIHVzZSAlcyBub3cuIiwgcGxheWJp
bk5hbWUpOworICAgICAgICB1bnJlZ2lzdGVyUGlwZWxpbmUobV9waXBlbGluZS5nZXQoKSk7Cisg
ICAgICAgIGlmIChtX3BsYXllcikKKyAgICAgICAgICAgIG1fcGxheWVyLT5nc3RyZWFtZXJBY3Rp
dmVQaXBlbGluZXNDaGFuZ2VkKCk7CiAgICAgICAgIGNoYW5nZVBpcGVsaW5lU3RhdGUoR1NUX1NU
QVRFX05VTEwpOwogICAgICAgICBtX3BpcGVsaW5lID0gbnVsbHB0cjsKICAgICB9CkBAIC0zMDc3
LDYgKzMwODgsOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6cmVhZHlUaW1l
ckZpcmVkKCkKIHsKICAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJJbiBSRUFEWSBm
b3IgdG9vIGxvbmcuIFJlbGVhc2luZyBwaXBlbGluZSByZXNvdXJjZXMuIik7CiAgICAgY2hhbmdl
UGlwZWxpbmVTdGF0ZShHU1RfU1RBVEVfTlVMTCk7CisgICAgdW5yZWdpc3RlclBpcGVsaW5lKG1f
cGlwZWxpbmUuZ2V0KCkpOworICAgIGlmIChtX3BsYXllcikKKyAgICAgICAgbV9wbGF5ZXItPmdz
dHJlYW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXI6OmFjY2VsZXJhdGVkUmVuZGVyaW5nU3RhdGVDaGFuZ2VkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCBhYmViODU3YTdm
ZGU1NGEyNzllZmM1ZDU4OGU4ZDMyYzY5ZWRmMmE4Li4yNDgzNzQ5OTlkMjgxNDcxNWVkZjdiODE5
ZjNkOTc0M2Y5YmM2ZWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5oCkBAIC0xMzMsNiArMTMzLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBNZWRpYVBs
YXllcjo6U3VwcG9ydHNUeXBlIGV4dGVuZGVkU3VwcG9ydHNUeXBlKGNvbnN0IE1lZGlhRW5naW5l
U3VwcG9ydFBhcmFtZXRlcnMmLCBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlKTsKICAgICBzdGF0
aWMgYm9vbCBzdXBwb3J0c0tleVN5c3RlbShjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSk7CiAKKyAgICBNZWRpYVBsYXllciogbWVkaWFQbGF5ZXIoKSBjb25z
dCB7IHJldHVybiBtX3BsYXllcjsgfQorCiAgICAgYm9vbCBoYXNWaWRlbygpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1faGFzVmlkZW87IH0KICAgICBib29sIGhhc0F1ZGlvKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9oYXNBdWRpbzsgfQogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcgJnVybCkg
b3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCmluZGV4IDVhMmJkZWRh
MWI4N2ExZGVhOGM2YmJmNWY2OTg0MWQ3ZTlmNjZjMGIuLmIzZTkwMjhiMmYyMjkzMGZlZjEwMjUy
NGI5NmU5ZjA3ZjM3NDkxN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCkBA
IC0xMTUsOSArMTE1LDExIEBAIEFwcGVuZFBpcGVsaW5lOjpBcHBlbmRQaXBlbGluZShSZWY8TWVk
aWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+IG1lZGlhU291cmNlQ2xpCiAgICAgLy8gRklYTUU6
IGdpdmUgYSBuYW1lIHRvIHRoZSBwaXBlbGluZSwgbWF5YmUgcmVsYXRlZCB3aXRoIHRoZSB0cmFj
ayBpdCdzIG1hbmFnaW5nLgogICAgIC8vIFRoZSB0cmFjayBuYW1lIGlzIHN0aWxsIHVua25vd24g
YXQgdGhpcyB0aW1lLCB0aG91Z2guCiAgICAgc3RhdGljIHNpemVfdCBhcHBlbmRQaXBlbGluZUNv
dW50ID0gMDsKLSAgICBTdHJpbmcgcGlwZWxpbmVOYW1lID0gbWFrZVN0cmluZygiYXBwZW5kLXBp
cGVsaW5lLSIsCisgICAgU3RyaW5nIHBpcGVsaW5lTmFtZSA9IG1ha2VTdHJpbmcoIm1zZS1hcHBl
bmQtcGlwZWxpbmUtIiwKICAgICAgICAgbV9zb3VyY2VCdWZmZXJQcml2YXRlLT50eXBlKCkuY29u
dGFpbmVyVHlwZSgpLnJlcGxhY2UoIi8iLCAiLSIpLCAnLScsIGFwcGVuZFBpcGVsaW5lQ291bnQr
Kyk7CiAgICAgbV9waXBlbGluZSA9IGdzdF9waXBlbGluZV9uZXcocGlwZWxpbmVOYW1lLnV0Zjgo
KS5kYXRhKCkpOworICAgIHJlZ2lzdGVyQWN0aXZlUGlwZWxpbmUobV9waXBlbGluZS5nZXQoKSk7
CisgICAgbV9wbGF5ZXJQcml2YXRlLT5tZWRpYVBsYXllcigpLT5nc3RyZWFtZXJBY3RpdmVQaXBl
bGluZXNDaGFuZ2VkKCk7CiAKICAgICBtX2J1cyA9IGFkb3B0R1JlZihnc3RfcGlwZWxpbmVfZ2V0
X2J1cyhHU1RfUElQRUxJTkUobV9waXBlbGluZS5nZXQoKSkpKTsKICAgICBnc3RfYnVzX2FkZF9z
aWduYWxfd2F0Y2hfZnVsbChtX2J1cy5nZXQoKSwgUnVuTG9vcFNvdXJjZVByaW9yaXR5OjpSdW5M
b29wRGlzcGF0Y2hlcik7CkBAIC0yNDIsNiArMjQ0LDkgQEAgQXBwZW5kUGlwZWxpbmU6On5BcHBl
bmRQaXBlbGluZSgpCiAgICAgLy8gd2hlbiBjaGFuZ2luZyB0aGUgcGlwZWxpbmUgc3RhdGUuCiAK
ICAgICBpZiAobV9waXBlbGluZSkgeworICAgICAgICB1bnJlZ2lzdGVyUGlwZWxpbmUobV9waXBl
bGluZS5nZXQoKSk7CisgICAgICAgIGlmIChtX3BsYXllclByaXZhdGUpCisgICAgICAgICAgICBt
X3BsYXllclByaXZhdGUtPm1lZGlhUGxheWVyKCktPmdzdHJlYW1lckFjdGl2ZVBpcGVsaW5lc0No
YW5nZWQoKTsKICAgICAgICAgQVNTRVJUKG1fYnVzKTsKICAgICAgICAgZ19zaWduYWxfaGFuZGxl
cnNfZGlzY29ubmVjdF9ieV9kYXRhKG1fYnVzLmdldCgpLCB0aGlzKTsKICAgICAgICAgZ3N0X2J1
c19kaXNhYmxlX3N5bmNfbWVzc2FnZV9lbWlzc2lvbihtX2J1cy5nZXQoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRT
dHJpbmdzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ov
bG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCBiZWY4NGE0NjdlZjJmMDg2OTI2ZDllNDc2Mzc5NTk4
YTkxNTcxN2MwLi42NzM5OTdkZjA1MTkxYmUyY2NlZTg2ZTIzMDgxZmNmM2NhMWVjZDdkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2Nh
bGl6ZWRTdHJpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25z
L2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKQEAgLTE3NSw2ICsxNzUsNyBAQCBsb2NhbGl6
ZWRTdHJpbmdzWyJBdXRvIEluY3JlbWVudCJdID0gIkF1dG8gSW5jcmVtZW50IjsKIGxvY2FsaXpl
ZFN0cmluZ3NbIkF1dG8gXHUyMDE0ICVzIl0gPSAiQXV0byBcdTIwMTQgJXMiOwogbG9jYWxpemVk
U3RyaW5nc1siQXV0by1leHBhbmQiXSA9ICJBdXRvLWV4cGFuZCI7CiBsb2NhbGl6ZWRTdHJpbmdz
WyJBdXRvbWF0aWNhbGx5IGNvbnRpbnVlIGFmdGVyIGV2YWx1YXRpbmciXSA9ICJBdXRvbWF0aWNh
bGx5IGNvbnRpbnVlIGFmdGVyIGV2YWx1YXRpbmciOworbG9jYWxpemVkU3RyaW5nc1siQXV0b21h
dGljYWxseSByZWZyZXNoIHRoZSBwaXBlbGluZSJdID0gIkF1dG9tYXRpY2FsbHkgcmVmcmVzaCB0
aGUgcGlwZWxpbmUiOwogbG9jYWxpemVkU3RyaW5nc1siQXZhaWxhYmxlIFN0eWxlIFNoZWV0cyJd
ID0gIkF2YWlsYWJsZSBTdHlsZSBTaGVldHMiOwogbG9jYWxpemVkU3RyaW5nc1siQXZlcmFnZSBD
UFU6ICVzIl0gPSAiQXZlcmFnZSBDUFU6ICVzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkF2ZXJhZ2Ug
VGltZSJdID0gIkF2ZXJhZ2UgVGltZSI7CkBAIC00MTUsNiArNDE2LDggQEAgbG9jYWxpemVkU3Ry
aW5nc1siRGlzYWJsZWQiXSA9ICJEaXNhYmxlZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJEaXNrIENh
Y2hlIl0gPSAiRGlzayBDYWNoZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJEaXNtaXNzIl0gPSAiRGlz
bWlzcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJEaXNwbGF5ZWQgQ29sdW1ucyJdID0gIkRpc3BsYXll
ZCBDb2x1bW5zIjsKK2xvY2FsaXplZFN0cmluZ3NbIkRpc3BsYXlpbmcgJXMuIl0gPSAiRGlzcGxh
eWluZyAlcy4iOworbG9jYWxpemVkU3RyaW5nc1siRGlzcGxheWluZyAlcy4gQXZhaWxhYmxlIGNo
aWxkcmVuIGJpbnM6ICJdID0gIkRpc3BsYXlpbmcgJXMuIEF2YWlsYWJsZSBjaGlsZHJlbiBiaW5z
OiAiOwogbG9jYWxpemVkU3RyaW5nc1siRG8gbm90IGNsZWFyIG5ldHdvcmsgaXRlbXMgb24gbmV3
IHBhZ2UgbG9hZHMiXSA9ICJEbyBub3QgY2xlYXIgbmV0d29yayBpdGVtcyBvbiBuZXcgcGFnZSBs
b2FkcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJEbyBub3QgY2xlYXIgdGhlIGNvbnNvbGUgb24gbmV3
IHBhZ2UgbG9hZHMiXSA9ICJEbyBub3QgY2xlYXIgdGhlIGNvbnNvbGUgb24gbmV3IHBhZ2UgbG9h
ZHMiOwogbG9jYWxpemVkU3RyaW5nc1siRG8gbm90IGZhZGUgdW5leGVjdXRlZCBjb2RlIl0gPSAi
RG8gbm90IGZhZGUgdW5leGVjdXRlZCBjb2RlIjsKQEAgLTUzOSw2ICs1NDIsNyBAQCBsb2NhbGl6
ZWRTdHJpbmdzWyJFeHBvcnQgKCVzKSJdID0gIkV4cG9ydCAoJXMpIjsKIGxvY2FsaXplZFN0cmlu
Z3NbIkV4cG9ydCBIQVIiXSA9ICJFeHBvcnQgSEFSIjsKIGxvY2FsaXplZFN0cmluZ3NbIkV4cG9y
dCBSZXN1bHQiXSA9ICJFeHBvcnQgUmVzdWx0IjsKIGxvY2FsaXplZFN0cmluZ3NbIkV4cG9ydCBU
ZXN0Il0gPSAiRXhwb3J0IFRlc3QiOworbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IHBpcGVsaW5l
IHJlcHJlc2VudGF0aW9uIHRvIEdyYXBodml6IGRvdCBmaWxlICglcykiXSA9ICJFeHBvcnQgcGlw
ZWxpbmUgcmVwcmVzZW50YXRpb24gdG8gR3JhcGh2aXogZG90IGZpbGUgKCVzKSI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyJFeHBvcnQgcmVjb3JkaW5nICglcykiXSA9ICJFeHBvcnQgcmVjb3JkaW5nICgl
cykiOwogbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IHJlY29yZGluZyAoJXMpXG5TaGlmdC1jbGlj
ayB0byBleHBvcnQgYSBIVE1MIHJlZHVjdGlvbiJdID0gIkV4cG9ydCByZWNvcmRpbmcgKCVzKVxu
U2hpZnQtY2xpY2sgdG8gZXhwb3J0IGEgSFRNTCByZWR1Y3Rpb24iOwogbG9jYWxpemVkU3RyaW5n
c1siRXhwb3J0IHJlc3VsdCAoJXMpIl0gPSAiRXhwb3J0IHJlc3VsdCAoJXMpIjsKQEAgLTU5OCw2
ICs2MDIsNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJGdWxsLVNjcmVlbiBmcm9tIFx1MjAxQyVzXHUy
MDFEIl0gPSAiRnVsbC1TY3JlZW4gZnJvbSBcdTIwMUMlcwogbG9jYWxpemVkU3RyaW5nc1siRnVu
Y3Rpb24iXSA9ICJGdW5jdGlvbiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJGdW5jdGlvbiBOYW1lIFZh
cmlhYmxlIl0gPSAiRnVuY3Rpb24gTmFtZSBWYXJpYWJsZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJH
SUYiXSA9ICJHSUYiOworbG9jYWxpemVkU3RyaW5nc1siR1N0cmVhbWVyIl0gPSAiR1N0cmVhbWVy
IjsKIGxvY2FsaXplZFN0cmluZ3NbIkdhcmJhZ2UgQ29sbGVjdGlvbiJdID0gIkdhcmJhZ2UgQ29s
bGVjdGlvbiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJHZW5lcmFsIl0gPSAiR2VuZXJhbCI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJHZXR0ZXIiXSA9ICJHZXR0ZXIiOwpAQCAtODg1LDYgKzg5MCw3IEBAIGxv
Y2FsaXplZFN0cmluZ3NbIlBlcmlvZHMgb2YgaGlnaCBDUFUgdXRpbGl6YXRpb24gd2lsbCByYXBp
ZGx5IGRyYWluIGJhdHRlcnkuIFN0CiBsb2NhbGl6ZWRTdHJpbmdzWyJQaW5nIl0gPSAiUGluZyI7
CiBsb2NhbGl6ZWRTdHJpbmdzWyJQaW5nIEZyYW1lIl0gPSAiUGluZyBGcmFtZSI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyJQaW5ncyJdID0gIlBpbmdzIjsKK2xvY2FsaXplZFN0cmluZ3NbIlBpcGVsaW5l
cyJdID0gIlBpcGVsaW5lcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJQbGF5IFNvdW5kIl0gPSAiUGxh
eSBTb3VuZCI7CiAvKiBUb29sdGlwIGZvciBhIHRpbWUgcmFuZ2UgYmFyIHRoYXQgcmVwcmVzZW50
cyB3aGVuIHRoZSBwbGF5YmFjayBvZiBhIGF1ZGlvL3ZpZGVvIGVsZW1lbnQgaXMgcnVubmluZyAq
LwogbG9jYWxpemVkU3RyaW5nc1siUGxheWluZyJdID0gIlBsYXlpbmciOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11c2VyLWludGVyZmFjZS1yZXNvdXJj
ZXMucGwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvU2NyaXB0cy9jb3B5LXVzZXItaW50ZXJmYWNl
LXJlc291cmNlcy5wbAppbmRleCBmZGJhZDM4M2IyZWZiNmMyYmI5NTRmNzVlNWUzMTczZjNjNDYx
NmU4Li5lYzFhMjRiZGUyYWRhMmM1MzBlOGZmNDVlODkxMzA5NjFkZmIzMWFhIDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvU2NyaXB0cy9jb3B5LXVzZXItaW50ZXJmYWNlLXJlc291
cmNlcy5wbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvU2NyaXB0cy9jb3B5LXVzZXItaW50
ZXJmYWNlLXJlc291cmNlcy5wbApAQCAtMTY3LDEyICsxNjcsMTUgQEAgbXkgJHdvcmtlcnNEaXIg
PSBGaWxlOjpTcGVjLT5jYXRkaXIoJHRhcmdldFJlc291cmNlUGF0aCwgJ1dvcmtlcnMnKTsKIG15
ICRjb2RlTWlycm9yUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGRpcigkdWlSb290LCAnRXh0ZXJuYWwn
LCAnQ29kZU1pcnJvcicpOwogbXkgJGVzcHJpbWFQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCR1
aVJvb3QsICdFeHRlcm5hbCcsICdFc3ByaW1hJyk7CiBteSAkdGhyZWVqc1BhdGggPSBGaWxlOjpT
cGVjLT5jYXRkaXIoJHVpUm9vdCwgJ0V4dGVybmFsJywgJ3RocmVlLmpzJyk7CitteSAkcGFuWm9v
bVBhdGggPSBGaWxlOjpTcGVjLT5jYXRkaXIoJHVpUm9vdCwgJ0V4dGVybmFsJywgJ1Bhblpvb20u
anMnKTsKIAogJHdlYkluc3BlY3RvclVJQWRkaXRpb25zRGlyID0gJndlYkluc3BlY3RvclVJQWRk
aXRpb25zRGlyKCk7CiAKIG15ICRjb2RlTWlycm9yTGljZW5zZSA9IHJlYWRMaWNlbnNlRmlsZShG
aWxlOjpTcGVjLT5jYXRmaWxlKCRjb2RlTWlycm9yUGF0aCwgJ0xJQ0VOU0UnKSk7CiBteSAkZXNw
cmltYUxpY2Vuc2UgPSByZWFkTGljZW5zZUZpbGUoRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkZXNwcmlt
YVBhdGgsICdMSUNFTlNFJykpOwogbXkgJHRocmVlanNMaWNlbnNlID0gcmVhZExpY2Vuc2VGaWxl
KEZpbGU6OlNwZWMtPmNhdGZpbGUoJHRocmVlanNQYXRoLCAnTElDRU5TRScpKTsKK215ICRwYW5a
b29tTGljZW5zZSA9IHJlYWRMaWNlbnNlRmlsZShGaWxlOjpTcGVjLT5jYXRmaWxlKCRwYW5ab29t
UGF0aCwgJ0xJQ0VOU0UnKSk7CisKIG1ha2VfcGF0aCgkcHJvdG9jb2xEaXIsICR0YXJnZXRSZXNv
dXJjZVBhdGgpOwogCiAkcHl0aG9uID0gJEVOVnsiUFlUSE9OIn0gaWYgZGVmaW5lZCgkRU5WeyJQ
WVRIT04ifSk7CkBAIC0xODMsNiArMTg2LDggQEAgY29weShGaWxlOjpTcGVjLT5jYXRmaWxlKCRF
TlZ7J0pBVkFTQ1JJUFRDT1JFX1BSSVZBVEVfSEVBREVSU19ESVInfSwgJ0luc3BlY3RvckIKIG15
ICRmb3JjZVRvb2xJbnN0YWxsID0gZGVmaW5lZCAkRU5WeydGT1JDRV9UT09MX0lOU1RBTEwnfSAm
JiAoJEVOVnsnRk9SQ0VfVE9PTF9JTlNUQUxMJ30gZXEgJ1lFUycpOwogbXkgJHNob3VsZENvbWJp
bmVNYWluID0gZGVmaW5lZCAkRU5WeydDT01CSU5FX0lOU1BFQ1RPUl9SRVNPVVJDRVMnfSAmJiAo
JEVOVnsnQ09NQklORV9JTlNQRUNUT1JfUkVTT1VSQ0VTJ30gZXEgJ1lFUycpOwogbXkgJHNob3Vs
ZENvbWJpbmVUZXN0ID0gZGVmaW5lZCAkRU5WeydDT01CSU5FX1RFU1RfUkVTT1VSQ0VTJ30gJiYg
KCRFTlZ7J0NPTUJJTkVfVEVTVF9SRVNPVVJDRVMnfSBlcSAnWUVTJyk7CitteSAkc2hvdWxkQ29t
YmluZUdTdHJlYW1lclJlc291cmNlcyA9IGRlZmluZWQgJEVOVnsnQ09NQklORV9HU1RSRUFNRVJf
UkVTT1VSQ0VTJ30gJiYgKCRFTlZ7J0NPTUJJTkVfR1NUUkVBTUVSX1JFU09VUkNFUyd9IGVxICdZ
RVMnKTsKKwogbXkgJGNvbWJpbmVSZXNvdXJjZXNDbWQgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCRz
Y3JpcHRzUm9vdCwgJ2NvbWJpbmUtcmVzb3VyY2VzLnBsJyk7CiAKIGlmICgkZm9yY2VUb29sSW5z
dGFsbCkgewpAQCAtMzQ2LDYgKzM1MSwxNyBAQCBpZiAoJHNob3VsZENvbWJpbmVNYWluKSB7CiAg
ICAgICAgJy0tb3V0cHV0LWRpcicsICRkZXJpdmVkU291cmNlc0RpciwKICAgICAgICAnLS1vdXRw
dXQtc2NyaXB0LW5hbWUnLCAnVGhyZWUuanMnKTsKIAorICAgIGlmICgkc2hvdWxkQ29tYmluZUdT
dHJlYW1lclJlc291cmNlcykgeworICAgICAgICAjIENvbWJpbmUgdGhlIFBhblpvb20uanMgSmF2
YVNjcmlwdCBmaWxlcyBpbiBQcm9kdWN0aW9uIGJ1aWxkcyBpbnRvIGEgc2luZ2xlIGZpbGUgKFBh
blpvb20uanMpLgorICAgICAgICBzeXN0ZW0oJHBlcmwsICRjb21iaW5lUmVzb3VyY2VzQ21kLAor
ICAgICAgICAgICAgICAgJy0taW5wdXQtZGlyJywgJ0V4dGVybmFsL1Bhblpvb20uanMnLAorICAg
ICAgICAgICAgICAgJy0taW5wdXQtaHRtbCcsICRkZXJpdmVkU291cmNlc01haW5IVE1MLAorICAg
ICAgICAgICAgICAgJy0taW5wdXQtaHRtbC1kaXInLCAkdWlSb290LAorICAgICAgICAgICAgICAg
Jy0tZGVyaXZlZC1zb3VyY2VzLWRpcicsICRkZXJpdmVkU291cmNlc0RpciwKKyAgICAgICAgICAg
ICAgICctLW91dHB1dC1kaXInLCAkZGVyaXZlZFNvdXJjZXNEaXIsCisgICAgICAgICAgICAgICAn
LS1vdXRwdXQtc2NyaXB0LW5hbWUnLCAnUGFuWm9vbS5qcycpOworICAgIH0KKwogICAgICMgUmVt
b3ZlIGNvbnNvbGUuYXNzZXJ0IGNhbGxzIGZyb20gdGhlIE1haW4uanMgZmlsZS4KICAgICBteSAk
ZGVyaXZlZFNvdXJjZXNNYWluSlMgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCRkZXJpdmVkU291cmNl
c0RpciwgJ01haW4uanMnKTsKICAgICBzeXN0ZW0oJHBlcmwsIEZpbGU6OlNwZWMtPmNhdGZpbGUo
JHNjcmlwdHNSb290LCAncmVtb3ZlLWNvbnNvbGUtYXNzZXJ0cy5wbCcpLApAQCAtNDA2LDYgKzQy
MiwxOCBAQCBpZiAoJHNob3VsZENvbWJpbmVNYWluKSB7CiAgICAgbXkgJGRlcml2ZWRTb3VyY2Vz
VGhyZWVqc0pTID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkZGVyaXZlZFNvdXJjZXNEaXIsICdUaHJl
ZS5qcycpOwogICAgIHN5c3RlbShxcSgiJHB5dGhvbiIgIiRqc01pblNjcmlwdCIgPCAiJGRlcml2
ZWRTb3VyY2VzVGhyZWVqc0pTIiA+PiAiJHRhcmdldFRocmVlanNKUyIpKSBhbmQgZGllICJGYWls
ZWQgdG8gbWluaWZ5ICRkZXJpdmVkU291cmNlc1RocmVlanNKUzogJCEiOwogCisgICAgbXkgJHRh
cmdldFBhblpvb21KUyA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJHRhcmdldFJlc291cmNlUGF0aCwg
J1Bhblpvb20uanMnKTsKKyAgICBpZiAoJHNob3VsZENvbWJpbmVHU3RyZWFtZXJSZXNvdXJjZXMp
IHsKKyAgICAgICAgIyBFeHBvcnQgdGhlIGxpY2Vuc2UgaW50byBQYW5ab29tLmpzLgorICAgICAg
ICBzZWVkRmlsZSgkdGFyZ2V0UGFuWm9vbUpTLCAkcGFuWm9vbUxpY2Vuc2UpOworCisgICAgICAg
ICMgTWluaWZ5IHRoZSBQYW5ab29tLmpzIGZpbGUsIGFwcGVuZGluZyB0byB0aGUgbGljZW5zZSB0
aGF0IHdhcyBleHBvcnRlZCBhYm92ZS4KKyAgICAgICAgbXkgJGRlcml2ZWRTb3VyY2VzUGFuWm9v
bUpTID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkZGVyaXZlZFNvdXJjZXNEaXIsICdQYW5ab29tLmpz
Jyk7CisgICAgICAgIHN5c3RlbShxcSgiJHB5dGhvbiIgIiRqc01pblNjcmlwdCIgPCAiJGRlcml2
ZWRTb3VyY2VzUGFuWm9vbUpTIiA+PiAiJHRhcmdldFBhblpvb21KUyIpKSBhbmQgZGllICJGYWls
ZWQgdG8gbWluaWZ5ICRkZXJpdmVkU291cmNlc1Bhblpvb21KUzogJCEiOworICAgIH0gZWxzZSB7
CisgICAgICAgIHNlZWRGaWxlKCR0YXJnZXRQYW5ab29tSlMsICIiKTsKKyAgICB9CisKICAgICAj
IENvcHkgb3ZlciB0aGUgSW1hZ2VzIGRpcmVjdG9yeS4KICAgICBkaXR0byhGaWxlOjpTcGVjLT5j
YXRkaXIoJHVpUm9vdCwgJ0ltYWdlcycpLCBGaWxlOjpTcGVjLT5jYXRkaXIoJHRhcmdldFJlc291
cmNlUGF0aCwgJ0ltYWdlcycpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQmFzZS9NYWluLmpzCmluZGV4IDRiM2M3ZjY0YmUyODU1ODRkMmNmYjE5NTRjNDg2
MmZmOTAwZmNmNjQuLmJmNDRjMjc0Y2VhMzRjODc0ODYxZmNlN2ZiNTcxYmFlOWUzOThiZGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMK
QEAgLTczLDYgKzczLDggQEAgV0kubG9hZGVkID0gZnVuY3Rpb24oKQogICAgICAgICBJbnNwZWN0
b3JCYWNrZW5kLnJlZ2lzdGVyRGF0YWJhc2VEaXNwYXRjaGVyKFdJLkRhdGFiYXNlT2JzZXJ2ZXIp
OwogICAgIGlmIChJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyKQog
ICAgICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRGVidWdnZXJEaXNwYXRjaGVyKFdJLkRl
YnVnZ2VyT2JzZXJ2ZXIpOworICAgIGlmIChJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyR1N0cmVh
bWVyRGlzcGF0Y2hlcikKKyAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckdTdHJlYW1l
ckRpc3BhdGNoZXIoV0kuR1N0cmVhbWVyT2JzZXJ2ZXIpOwogICAgIGlmIChJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVySGVhcERpc3BhdGNoZXIpCiAgICAgICAgIEluc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJIZWFwRGlzcGF0Y2hlcihXSS5IZWFwT2JzZXJ2ZXIpOwogICAgIGlmIChJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVySW5zcGVjdG9yRGlzcGF0Y2hlcikKQEAgLTEyNyw2ICsxMjksNyBAQCBX
SS5sb2FkZWQgPSBmdW5jdGlvbigpCiAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlciA9IG5l
dyBXSS5ET01EZWJ1Z2dlck1hbmFnZXIsCiAgICAgICAgIFdJLmNhbnZhc01hbmFnZXIgPSBuZXcg
V0kuQ2FudmFzTWFuYWdlciwKICAgICAgICAgV0kuYW5pbWF0aW9uTWFuYWdlciA9IG5ldyBXSS5B
bmltYXRpb25NYW5hZ2VyLAorICAgICAgICBXSS5nc3RyZWFtZXJNYW5hZ2VyID0gbmV3IFdJLkdT
dHJlYW1lck1hbmFnZXIsCiAgICAgXTsKIAogICAgIC8vIFJlZ2lzdGVyIGZvciBldmVudHMuCkBA
IC00OTUsNiArNDk4LDExIEBAIFdJLmNvbnRlbnRMb2FkZWQgPSBmdW5jdGlvbigpCiAgICAgXTsK
IAogICAgIFdJLl9rbm93blRhYkNsYXNzZXNCeVR5cGUgPSBuZXcgTWFwOworCisgICAgaWYgKFdJ
LlBsYXRmb3JtLnBvcnQgPT09ICJndGsiIHx8IFdJLlBsYXRmb3JtLnBvcnQgPT09ICJ3cGUiKSB7
CisgICAgICAgIHByb2R1Y3Rpb25UYWJDbGFzc2VzLnB1c2goV0kuR1N0cmVhbWVyVGFiQ29udGVu
dFZpZXcpOworICAgIH0KKwogICAgIC8vIFNldCB0YWIgY2xhc3NlcyBkaXJlY3RseS4gVGhlIHB1
YmxpYyBBUEkgdHJpZ2dlcnMgb3RoZXIgdXBkYXRlcyBhbmQKICAgICAvLyBub3RpZmljYXRpb25z
IHRoYXQgd29uJ3Qgd29yayBvciBoYXZlIG5vIGxpc3RlbmVycyBhdCBXSSBwb2ludC4KICAgICBm
b3IgKGxldCB0YWJDbGFzcyBvZiBwcm9kdWN0aW9uVGFiQ2xhc3NlcykKQEAgLTEzNjMsNiArMTM3
MSw5IEBAIFdJLnRhYkNvbnRlbnRWaWV3Q2xhc3NGb3JSZXByZXNlbnRlZE9iamVjdCA9IGZ1bmN0
aW9uKHJlcHJlc2VudGVkT2JqZWN0KQogICAgIGlmIChyZXByZXNlbnRlZE9iamVjdCBpbnN0YW5j
ZW9mIFdJLkNhbnZhcyB8fCByZXByZXNlbnRlZE9iamVjdCBpbnN0YW5jZW9mIFdJLlNoYWRlclBy
b2dyYW0gfHwgcmVwcmVzZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBXSS5SZWNvcmRpbmcgfHwgcmVw
cmVzZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBXSS5BbmltYXRpb24pCiAgICAgICAgIHJldHVybiBX
SS5HcmFwaGljc1RhYkNvbnRlbnRWaWV3OwogCisgICAgaWYgKHJlcHJlc2VudGVkT2JqZWN0IGlu
c3RhbmNlb2YgV0kuR1N0cmVhbWVyUGlwZWxpbmUpCisgICAgICAgIHJldHVybiBXSS5HU3RyZWFt
ZXJUYWJDb250ZW50VmlldzsKKwogICAgIHJldHVybiBudWxsOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9QbGF0Zm9ybS5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvUGxhdGZvcm0uanMKaW5kZXgg
ZTBmMDE0OTg5OTFjNDJmMDhmMTllYjI1NjU4ZGY2YmVmNWU0NzE2MS4uZDZkYmNlNmFjNjA5NWM3
NGY3NzBjMzcwY2I3OGM5MjIzMjRhNjQxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvQmFzZS9QbGF0Zm9ybS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1BsYXRmb3JtLmpzCkBAIC0yNSw2ICsyNSw3IEBACiAK
IFdJLlBsYXRmb3JtID0gewogICAgIG5hbWU6IEluc3BlY3RvckZyb250ZW5kSG9zdC5wbGF0Zm9y
bSwKKyAgICBwb3J0OiBJbnNwZWN0b3JGcm9udGVuZEhvc3QucG9ydCwKICAgICBpc05pZ2h0bHlC
dWlsZDogZmFsc2UsCiAgICAgdmVyc2lvbjogewogICAgICAgICBiYXNlOiAwLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR1N0cmVh
bWVyTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRy
b2xsZXJzL0dTdHJlYW1lck1hbmFnZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzIxOTMyYWJiNGZmYzY1OGVl
NzVhNzQ1NjRiYTkyMDk0MjgzOGJjOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0dTdHJlYW1lck1hbmFnZXIuanMKQEAg
LTAsMCArMSw0OCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTAorICoK
KyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
KiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u
LCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworV0kuR1N0cmVhbWVyTWFuYWdlciA9IGNsYXNz
IEdTdHJlYW1lck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKK3sKKyAgICBjb25zdHJ1Y3Rvcigp
CisgICAgeworICAgICAgICBzdXBlcigpOworCisgICAgICAgIHRoaXMuX2VuYWJsZWQgPSBXSS5Q
bGF0Zm9ybS5wb3J0ID09PSAiZ3RrIiB8fCBXSS5QbGF0Zm9ybS5wb3J0ID09PSAid3BlIjsKKyAg
ICB9CisKKyAgICAvLyBBZ2VudAorCisgICAgZ2V0IGRvbWFpbnMoKSB7IHJldHVybiBbIkdTdHJl
YW1lciJdOyB9CisKKyAgICBhY3RpdmF0ZUV4dHJhRG9tYWluKGRvbWFpbikKKyAgICB7CisgICAg
ICAgIGNvbnNvbGUuYXNzZXJ0KGRvbWFpbiA9PT0gIkdTdHJlYW1lciIpOworICAgIH0KKworICAg
IC8vIEdTdHJlYW1lck9ic2VydmVyCisKKyAgICBhY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCkKKyAg
ICB7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLkdTdHJlYW1lck1h
bmFnZXIuRXZlbnQuQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCk7CisgICAgfQorCit9OworCitXSS5H
U3RyZWFtZXJNYW5hZ2VyLkV2ZW50ID0geworICAgIEFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQ6ICJn
c3RyZWFtZXItbWFuYWdlci1hY3RpdmUtcGlwZWxpbmVzLXdlcmUtY2hhbmdlZCIsCit9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvUGFu
Wm9vbS5qcy9MSUNFTlNFIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0
ZXJuYWwvUGFuWm9vbS5qcy9MSUNFTlNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1ZWFlMTIxMGQ3ODhmOWM5Njlj
MTZmN2E3YTQyNjUyMzU1MDEwYjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9QYW5ab29tLmpzL0xJQ0VOU0UKQEAgLTAsMCAr
MSwyMSBAQAorVGhlIE1JVCBMaWNlbnNlIChNSVQpCisKK0NvcHlyaWdodCAoYykgMjAxNiAtIDIw
MTkgQW5kcmVpIEthc2hjaGEKKworUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBv
ZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQorb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRv
IGRlYWwKK2luIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKK3RvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg
cHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKK2NvcGllcyBvZiB0
aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBp
cworZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
czoKKworVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp
Y2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCitjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlv
bnMgb2YgdGhlIFNvZnR3YXJlLgorCitUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorSU1QTElFRCwgSU5DTFVE
SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFks
CitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUKK0FVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB
QkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKK0xJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
CitPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9S
IE9USEVSIERFQUxJTkdTIElOIFRIRQorU09GVFdBUkUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9QYW5ab29tLmpzL3Bhbnpvb20uanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9QYW5ab29tLmpz
L3Bhbnpvb20uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTkwYjIwM2UyNjc3OWRjMTc4NDg0NWUxZDExNGQ5OWNl
NzNlMjZmYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0V4dGVybmFsL1Bhblpvb20uanMvcGFuem9vbS5qcwpAQCAtMCwwICsxLDE3NTEgQEAK
KyhmdW5jdGlvbihmKXtpZih0eXBlb2YgZXhwb3J0cz09PSJvYmplY3QiJiZ0eXBlb2YgbW9kdWxl
IT09InVuZGVmaW5lZCIpe21vZHVsZS5leHBvcnRzPWYoKX1lbHNlIGlmKHR5cGVvZiBkZWZpbmU9
PT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kKXtkZWZpbmUoW10sZil9ZWxzZXt2YXIgZztpZih0eXBl
b2Ygd2luZG93IT09InVuZGVmaW5lZCIpe2c9d2luZG93fWVsc2UgaWYodHlwZW9mIGdsb2JhbCE9
PSJ1bmRlZmluZWQiKXtnPWdsb2JhbH1lbHNlIGlmKHR5cGVvZiBzZWxmIT09InVuZGVmaW5lZCIp
e2c9c2VsZn1lbHNle2c9dGhpc31nLnBhbnpvb20gPSBmKCl9fSkoZnVuY3Rpb24oKXt2YXIgZGVm
aW5lLG1vZHVsZSxleHBvcnRzO3JldHVybiAoZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsbix0KXtm
dW5jdGlvbiBvKGksZil7aWYoIW5baV0pe2lmKCFlW2ldKXt2YXIgYz0iZnVuY3Rpb24iPT10eXBl
b2YgcmVxdWlyZSYmcmVxdWlyZTtpZighZiYmYylyZXR1cm4gYyhpLCEwKTtpZih1KXJldHVybiB1
KGksITApO3ZhciBhPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK2krIiciKTt0aHJv
dyBhLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGF9dmFyIHA9bltpXT17ZXhwb3J0czp7fX07ZVtp
XVswXS5jYWxsKHAuZXhwb3J0cyxmdW5jdGlvbihyKXt2YXIgbj1lW2ldWzFdW3JdO3JldHVybiBv
KG58fHIpfSxwLHAuZXhwb3J0cyxyLGUsbix0KX1yZXR1cm4gbltpXS5leHBvcnRzfWZvcih2YXIg
dT0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZSxpPTA7aTx0Lmxlbmd0aDtpKysp
byh0W2ldKTtyZXR1cm4gb31yZXR1cm4gcn0pKCkoezE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxl
LGV4cG9ydHMpeworJ3VzZSBzdHJpY3QnOworCisvKiBnbG9iYWxzIFNWR0VsZW1lbnQgKi8KKy8q
KgorICogQWxsb3dzIHRvIGRyYWcgYW5kIHpvb20gc3ZnIGVsZW1lbnRzCisgKi8KK3ZhciB3aGVl
bCA9IHJlcXVpcmUoJ3doZWVsJyk7Cit2YXIgYW5pbWF0ZSA9IHJlcXVpcmUoJ2FtYXRvcicpOwor
dmFyIGV2ZW50aWZ5ID0gcmVxdWlyZSgnbmdyYXBoLmV2ZW50cycpOwordmFyIGtpbmV0aWMgPSBy
ZXF1aXJlKCcuL2xpYi9raW5ldGljLmpzJyk7Cit2YXIgY3JlYXRlVGV4dFNlbGVjdGlvbkludGVy
Y2VwdG9yID0gcmVxdWlyZSgnLi9saWIvY3JlYXRlVGV4dFNlbGVjdGlvbkludGVyY2VwdG9yLmpz
Jyk7Cit2YXIgZG9tVGV4dFNlbGVjdGlvbkludGVyY2VwdG9yID0gY3JlYXRlVGV4dFNlbGVjdGlv
bkludGVyY2VwdG9yKCk7Cit2YXIgZmFrZVRleHRTZWxlY3RvckludGVyY2VwdG9yID0gY3JlYXRl
VGV4dFNlbGVjdGlvbkludGVyY2VwdG9yKHRydWUpOwordmFyIFRyYW5zZm9ybSA9IHJlcXVpcmUo
Jy4vbGliL3RyYW5zZm9ybS5qcycpOwordmFyIG1ha2VTdmdDb250cm9sbGVyID0gcmVxdWlyZSgn
Li9saWIvc3ZnQ29udHJvbGxlci5qcycpOwordmFyIG1ha2VEb21Db250cm9sbGVyID0gcmVxdWly
ZSgnLi9saWIvZG9tQ29udHJvbGxlci5qcycpOworCit2YXIgZGVmYXVsdFpvb21TcGVlZCA9IDE7
Cit2YXIgZGVmYXVsdERvdWJsZVRhcFpvb21TcGVlZCA9IDEuNzU7Cit2YXIgZG91YmxlVGFwU3Bl
ZWRJbk1TID0gMzAwOworCittb2R1bGUuZXhwb3J0cyA9IGNyZWF0ZVBhblpvb207CisKKy8qKgor
ICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiBwYW56b29tLCBzbyB0aGF0IGFuIG9iamVjdCBj
YW4gYmUgcGFubmVkIGFuZCB6b29tZWQKKyAqCisgKiBAcGFyYW0ge0RPTUVsZW1lbnR9IGRvbUVs
ZW1lbnQgd2hlcmUgcGFuem9vbSBzaG91bGQgYmUgYXR0YWNoZWQuCisgKiBAcGFyYW0ge09iamVj
dH0gb3B0aW9ucyB0aGF0IGNvbmZpZ3VyZSBiZWhhdmlvci4KKyAqLworZnVuY3Rpb24gY3JlYXRl
UGFuWm9vbShkb21FbGVtZW50LCBvcHRpb25zKSB7CisgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9
OworCisgIHZhciBwYW5Db250cm9sbGVyID0gb3B0aW9ucy5jb250cm9sbGVyOworCisgIGlmICgh
cGFuQ29udHJvbGxlcikgeworICAgIGlmIChkb21FbGVtZW50IGluc3RhbmNlb2YgU1ZHRWxlbWVu
dCkgeworICAgICAgcGFuQ29udHJvbGxlciA9IG1ha2VTdmdDb250cm9sbGVyKGRvbUVsZW1lbnQs
IG9wdGlvbnMpOworICAgIH0KKworICAgIGlmIChkb21FbGVtZW50IGluc3RhbmNlb2YgSFRNTEVs
ZW1lbnQpIHsKKyAgICAgIHBhbkNvbnRyb2xsZXIgPSBtYWtlRG9tQ29udHJvbGxlcihkb21FbGVt
ZW50LCBvcHRpb25zKTsKKyAgICB9CisgIH0KKworICBpZiAoIXBhbkNvbnRyb2xsZXIpIHsKKyAg
ICB0aHJvdyBuZXcgRXJyb3IoCisgICAgICAnQ2Fubm90IGNyZWF0ZSBwYW56b29tIGZvciB0aGUg
Y3VycmVudCB0eXBlIG9mIGRvbSBlbGVtZW50JworICAgICk7CisgIH0KKyAgdmFyIG93bmVyID0g
cGFuQ29udHJvbGxlci5nZXRPd25lcigpOworICAvLyBqdXN0IHRvIGF2b2lkIEdDIHByZXNzdXJl
LCBldmVyeSB0aW1lIHdlIGRvIGludGVybWVkaWF0ZSB0cmFuc2Zvcm0KKyAgLy8gd2UgcmV0dXJu
IHRoaXMgb2JqZWN0LiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuIE5ldmVyIGdpdmUgaXQgYmFjayB0
byB0aGUgY29uc3VtZXIgb2YgdGhpcyBsaWJyYXJ5CisgIHZhciBzdG9yZWRDVE1SZXN1bHQgPSB7
IHg6IDAsIHk6IDAgfTsKKworICB2YXIgaXNEaXJ0eSA9IGZhbHNlOworICB2YXIgdHJhbnNmb3Jt
ID0gbmV3IFRyYW5zZm9ybSgpOworCisgIGlmIChwYW5Db250cm9sbGVyLmluaXRUcmFuc2Zvcm0p
IHsKKyAgICBwYW5Db250cm9sbGVyLmluaXRUcmFuc2Zvcm0odHJhbnNmb3JtKTsKKyAgfQorCisg
IHZhciBmaWx0ZXJLZXkgPSB0eXBlb2Ygb3B0aW9ucy5maWx0ZXJLZXkgPT09ICdmdW5jdGlvbicg
PyBvcHRpb25zLmZpbHRlcktleSA6IG5vb3A7CisgIC8vIFRPRE86IGxpa2VseSBuZWVkIHRvIHVu
aXRlIHBpbmNoU3BlZWQgd2l0aCB6b29tU3BlZWQKKyAgdmFyIHBpbmNoU3BlZWQgPSB0eXBlb2Yg
b3B0aW9ucy5waW5jaFNwZWVkID09PSAnbnVtYmVyJyA/IG9wdGlvbnMucGluY2hTcGVlZCA6IDE7
CisgIHZhciBib3VuZHMgPSBvcHRpb25zLmJvdW5kczsKKyAgdmFyIG1heFpvb20gPSB0eXBlb2Yg
b3B0aW9ucy5tYXhab29tID09PSAnbnVtYmVyJyA/IG9wdGlvbnMubWF4Wm9vbSA6IE51bWJlci5Q
T1NJVElWRV9JTkZJTklUWTsKKyAgdmFyIG1pblpvb20gPSB0eXBlb2Ygb3B0aW9ucy5taW5ab29t
ID09PSAnbnVtYmVyJyA/IG9wdGlvbnMubWluWm9vbSA6IDA7CisKKyAgdmFyIGJvdW5kc1BhZGRp
bmcgPSB0eXBlb2Ygb3B0aW9ucy5ib3VuZHNQYWRkaW5nID09PSAnbnVtYmVyJyA/IG9wdGlvbnMu
Ym91bmRzUGFkZGluZyA6IDAuMDU7CisgIHZhciB6b29tRG91YmxlQ2xpY2tTcGVlZCA9IHR5cGVv
ZiBvcHRpb25zLnpvb21Eb3VibGVDbGlja1NwZWVkID09PSAnbnVtYmVyJyA/IG9wdGlvbnMuem9v
bURvdWJsZUNsaWNrU3BlZWQgOiBkZWZhdWx0RG91YmxlVGFwWm9vbVNwZWVkOworICB2YXIgYmVm
b3JlV2hlZWwgPSBvcHRpb25zLmJlZm9yZVdoZWVsIHx8IG5vb3A7CisgIHZhciBiZWZvcmVNb3Vz
ZURvd24gPSBvcHRpb25zLmJlZm9yZU1vdXNlRG93biB8fCBub29wOworICB2YXIgc3BlZWQgPSB0
eXBlb2Ygb3B0aW9ucy56b29tU3BlZWQgPT09ICdudW1iZXInID8gb3B0aW9ucy56b29tU3BlZWQg
OiBkZWZhdWx0Wm9vbVNwZWVkOworICB2YXIgdHJhbnNmb3JtT3JpZ2luID0gcGFyc2VUcmFuc2Zv
cm1PcmlnaW4ob3B0aW9ucy50cmFuc2Zvcm1PcmlnaW4pOworICB2YXIgdGV4dFNlbGVjdGlvbiA9
IG9wdGlvbnMuZW5hYmxlVGV4dFNlbGVjdGlvbiA/IGZha2VUZXh0U2VsZWN0b3JJbnRlcmNlcHRv
ciA6IGRvbVRleHRTZWxlY3Rpb25JbnRlcmNlcHRvcjsKKworICB2YWxpZGF0ZUJvdW5kcyhib3Vu
ZHMpOworCisgIGlmIChvcHRpb25zLmF1dG9jZW50ZXIpIHsKKyAgICBhdXRvY2VudGVyKCk7Cisg
IH0KKworICB2YXIgZnJhbWVBbmltYXRpb247CisgIHZhciBsYXN0VG91Y2hFbmRUaW1lID0gMDsK
KyAgdmFyIGxhc3RTaW5nbGVGaW5nZXJPZmZzZXQ7CisgIHZhciB0b3VjaEluUHJvZ3Jlc3MgPSBm
YWxzZTsKKworICAvLyBXZSBvbmx5IG5lZWQgdG8gZmlyZSBwYW5zdGFydCB3aGVuIGFjdHVhbCBt
b3ZlIGhhcHBlbnMKKyAgdmFyIHBhbnN0YXJ0RmlyZWQgPSBmYWxzZTsKKworICAvLyBjYWNoZSBt
b3VzZSBjb29yZGluYXRlcyBoZXJlCisgIHZhciBtb3VzZVg7CisgIHZhciBtb3VzZVk7CisKKyAg
dmFyIHBpbmNoWm9vbUxlbmd0aDsKKworICB2YXIgc21vb3RoU2Nyb2xsOworICBpZiAoJ3Ntb290
aFNjcm9sbCcgaW4gb3B0aW9ucyAmJiAhb3B0aW9ucy5zbW9vdGhTY3JvbGwpIHsKKyAgICAvLyBJ
ZiB1c2VyIGV4cGxpY2l0bHkgYXNrZWQgdXMgbm90IHRvIHVzZSBzbW9vdGggc2Nyb2xsaW5nLCB3
ZSBvYmV5CisgICAgc21vb3RoU2Nyb2xsID0gcmlnaWRTY3JvbGwoKTsKKyAgfSBlbHNlIHsKKyAg
ICAvLyBvdGhlcndpc2Ugd2UgdXNlIGZvcndhcmQgc21vb3RoU2Nyb2xsIHNldHRpbmdzIHRvIGtp
bmV0aWMgQVBJCisgICAgLy8gd2hpY2ggbWFrZXMgc2Nyb2xsIHNtb290aGluZy4KKyAgICBzbW9v
dGhTY3JvbGwgPSBraW5ldGljKGdldFBvaW50LCBzY3JvbGwsIG9wdGlvbnMuc21vb3RoU2Nyb2xs
KTsKKyAgfQorCisgIHZhciBtb3ZlQnlBbmltYXRpb247CisgIHZhciB6b29tVG9BbmltYXRpb247
CisKKyAgdmFyIG11bHRpVG91Y2g7CisgIHZhciBwYXVzZWQgPSBmYWxzZTsKKworICBsaXN0ZW5G
b3JFdmVudHMoKTsKKworICB2YXIgYXBpID0geworICAgIGRpc3Bvc2U6IGRpc3Bvc2UsCisgICAg
bW92ZUJ5OiBpbnRlcm5hbE1vdmVCeSwKKyAgICBtb3ZlVG86IG1vdmVUbywKKyAgICBjZW50ZXJP
bjogY2VudGVyT24sCisgICAgem9vbVRvOiBwdWJsaWNab29tVG8sCisgICAgem9vbUFiczogem9v
bUFicywKKyAgICBzbW9vdGhab29tOiBzbW9vdGhab29tLAorICAgIHNtb290aFpvb21BYnM6IHNt
b290aFpvb21BYnMsCisgICAgc2hvd1JlY3RhbmdsZTogc2hvd1JlY3RhbmdsZSwKKworICAgIHBh
dXNlOiBwYXVzZSwKKyAgICByZXN1bWU6IHJlc3VtZSwKKyAgICBpc1BhdXNlZDogaXNQYXVzZWQs
CisKKyAgICBnZXRUcmFuc2Zvcm06IGdldFRyYW5zZm9ybU1vZGVsLAorCisgICAgZ2V0TWluWm9v
bTogZ2V0TWluWm9vbSwKKyAgICBzZXRNaW5ab29tOiBzZXRNaW5ab29tLAorCisgICAgZ2V0TWF4
Wm9vbTogZ2V0TWF4Wm9vbSwKKyAgICBzZXRNYXhab29tOiBzZXRNYXhab29tLAorCisgICAgZ2V0
VHJhbnNmb3JtT3JpZ2luOiBnZXRUcmFuc2Zvcm1PcmlnaW4sCisgICAgc2V0VHJhbnNmb3JtT3Jp
Z2luOiBzZXRUcmFuc2Zvcm1PcmlnaW4sCisKKyAgICBnZXRab29tU3BlZWQ6IGdldFpvb21TcGVl
ZCwKKyAgICBzZXRab29tU3BlZWQ6IHNldFpvb21TcGVlZAorICB9OworCisgIGV2ZW50aWZ5KGFw
aSk7CisKKyAgcmV0dXJuIGFwaTsKKworICBmdW5jdGlvbiBwYXVzZSgpIHsKKyAgICByZWxlYXNl
RXZlbnRzKCk7CisgICAgcGF1c2VkID0gdHJ1ZTsKKyAgfQorCisgIGZ1bmN0aW9uIHJlc3VtZSgp
IHsKKyAgICBpZiAocGF1c2VkKSB7CisgICAgICBsaXN0ZW5Gb3JFdmVudHMoKTsKKyAgICAgIHBh
dXNlZCA9IGZhbHNlOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGlzUGF1c2VkKCkgeworICAg
IHJldHVybiBwYXVzZWQ7CisgIH0KKworICBmdW5jdGlvbiBzaG93UmVjdGFuZ2xlKHJlY3QpIHsK
KyAgICAvLyBUT0RPOiB0aGlzIGR1cGxpY2F0ZXMgYXV0b2NlbnRlci4gSSB0aGluayBhdXRvY2Vu
dGVyIHNob3VsZCBnby4KKyAgICB2YXIgY2xpZW50UmVjdCA9IG93bmVyLmdldEJvdW5kaW5nQ2xp
ZW50UmVjdCgpOworICAgIHZhciBzaXplID0gdHJhbnNmb3JtVG9TY3JlZW4oY2xpZW50UmVjdC53
aWR0aCwgY2xpZW50UmVjdC5oZWlnaHQpOworCisgICAgdmFyIHJlY3RXaWR0aCA9IHJlY3Qucmln
aHQgLSByZWN0LmxlZnQ7CisgICAgdmFyIHJlY3RIZWlnaHQgPSByZWN0LmJvdHRvbSAtIHJlY3Qu
dG9wOworICAgIGlmICghTnVtYmVyLmlzRmluaXRlKHJlY3RXaWR0aCkgfHwgIU51bWJlci5pc0Zp
bml0ZShyZWN0SGVpZ2h0KSkgeworICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJlY3Rh
bmdsZScpOworICAgIH0KKworICAgIHZhciBkdyA9IHNpemUueCAvIHJlY3RXaWR0aDsKKyAgICB2
YXIgZGggPSBzaXplLnkgLyByZWN0SGVpZ2h0OworICAgIHZhciBzY2FsZSA9IE1hdGgubWluKGR3
LCBkaCk7CisgICAgdHJhbnNmb3JtLnggPSAtKHJlY3QubGVmdCArIHJlY3RXaWR0aCAvIDIpICog
c2NhbGUgKyBzaXplLnggLyAyOworICAgIHRyYW5zZm9ybS55ID0gLShyZWN0LnRvcCArIHJlY3RI
ZWlnaHQgLyAyKSAqIHNjYWxlICsgc2l6ZS55IC8gMjsKKyAgICB0cmFuc2Zvcm0uc2NhbGUgPSBz
Y2FsZTsKKyAgfQorCisgIGZ1bmN0aW9uIHRyYW5zZm9ybVRvU2NyZWVuKHgsIHkpIHsKKyAgICBp
ZiAocGFuQ29udHJvbGxlci5nZXRTY3JlZW5DVE0pIHsKKyAgICAgIHZhciBwYXJlbnRDVE0gPSBw
YW5Db250cm9sbGVyLmdldFNjcmVlbkNUTSgpOworICAgICAgdmFyIHBhcmVudFNjYWxlWCA9IHBh
cmVudENUTS5hOworICAgICAgdmFyIHBhcmVudFNjYWxlWSA9IHBhcmVudENUTS5kOworICAgICAg
dmFyIHBhcmVudE9mZnNldFggPSBwYXJlbnRDVE0uZTsKKyAgICAgIHZhciBwYXJlbnRPZmZzZXRZ
ID0gcGFyZW50Q1RNLmY7CisgICAgICBzdG9yZWRDVE1SZXN1bHQueCA9IHggKiBwYXJlbnRTY2Fs
ZVggLSBwYXJlbnRPZmZzZXRYOworICAgICAgc3RvcmVkQ1RNUmVzdWx0LnkgPSB5ICogcGFyZW50
U2NhbGVZIC0gcGFyZW50T2Zmc2V0WTsKKyAgICB9IGVsc2UgeworICAgICAgc3RvcmVkQ1RNUmVz
dWx0LnggPSB4OworICAgICAgc3RvcmVkQ1RNUmVzdWx0LnkgPSB5OworICAgIH0KKworICAgIHJl
dHVybiBzdG9yZWRDVE1SZXN1bHQ7CisgIH0KKworICBmdW5jdGlvbiBhdXRvY2VudGVyKCkgewor
ICAgIHZhciB3OyAvLyB3aWR0aCBvZiB0aGUgcGFyZW50CisgICAgdmFyIGg7IC8vIGhlaWdodCBv
ZiB0aGUgcGFyZW50CisgICAgdmFyIGxlZnQgPSAwOworICAgIHZhciB0b3AgPSAwOworICAgIHZh
ciBzY2VuZUJvdW5kaW5nQm94ID0gZ2V0Qm91bmRpbmdCb3goKTsKKyAgICBpZiAoc2NlbmVCb3Vu
ZGluZ0JveCkgeworICAgICAgLy8gSWYgd2UgaGF2ZSBib3VuZGluZyBib3ggLSB1c2UgaXQuCisg
ICAgICBsZWZ0ID0gc2NlbmVCb3VuZGluZ0JveC5sZWZ0OworICAgICAgdG9wID0gc2NlbmVCb3Vu
ZGluZ0JveC50b3A7CisgICAgICB3ID0gc2NlbmVCb3VuZGluZ0JveC5yaWdodCAtIHNjZW5lQm91
bmRpbmdCb3gubGVmdDsKKyAgICAgIGggPSBzY2VuZUJvdW5kaW5nQm94LmJvdHRvbSAtIHNjZW5l
Qm91bmRpbmdCb3gudG9wOworICAgIH0gZWxzZSB7CisgICAgICAvLyBvdGhlcndpc2UganVzdCB1
c2Ugd2hhdGV2ZXIgc3BhY2Ugd2UgaGF2ZQorICAgICAgdmFyIG93bmVyUmVjdCA9IG93bmVyLmdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgdyA9IG93bmVyUmVjdC53aWR0aDsKKyAgICAg
IGggPSBvd25lclJlY3QuaGVpZ2h0OworICAgIH0KKyAgICB2YXIgYmJveCA9IHBhbkNvbnRyb2xs
ZXIuZ2V0QkJveCgpOworICAgIGlmIChiYm94LndpZHRoID09PSAwIHx8IGJib3guaGVpZ2h0ID09
PSAwKSB7CisgICAgICAvLyB3ZSBwcm9iYWJseSBkbyBub3QgaGF2ZSBhbnkgZWxlbWVudHMgaW4g
dGhlIFNWRworICAgICAgLy8ganVzdCBiYWlsIG91dDsKKyAgICAgIHJldHVybjsKKyAgICB9Cisg
ICAgdmFyIGRoID0gaCAvIGJib3guaGVpZ2h0OworICAgIHZhciBkdyA9IHcgLyBiYm94LndpZHRo
OworICAgIHZhciBzY2FsZSA9IE1hdGgubWluKGR3LCBkaCk7CisgICAgdHJhbnNmb3JtLnggPSAt
KGJib3gubGVmdCArIGJib3gud2lkdGggLyAyKSAqIHNjYWxlICsgdyAvIDIgKyBsZWZ0OworICAg
IHRyYW5zZm9ybS55ID0gLShiYm94LnRvcCArIGJib3guaGVpZ2h0IC8gMikgKiBzY2FsZSArIGgg
LyAyICsgdG9wOworICAgIHRyYW5zZm9ybS5zY2FsZSA9IHNjYWxlOworICB9CisKKyAgZnVuY3Rp
b24gZ2V0VHJhbnNmb3JtTW9kZWwoKSB7CisgICAgLy8gVE9ETzogc2hvdWxkIHRoaXMgYmUgcmVh
ZCBvbmx5PworICAgIHJldHVybiB0cmFuc2Zvcm07CisgIH0KKworICBmdW5jdGlvbiBnZXRNaW5a
b29tKCkgeworICAgIHJldHVybiBtaW5ab29tOworICB9CisKKyAgZnVuY3Rpb24gc2V0TWluWm9v
bShuZXdNaW5ab29tKSB7CisgICAgbWluWm9vbSA9IG5ld01pblpvb207CisgIH0KKworICBmdW5j
dGlvbiBnZXRNYXhab29tKCkgeworICAgIHJldHVybiBtYXhab29tOworICB9CisKKyAgZnVuY3Rp
b24gc2V0TWF4Wm9vbShuZXdNYXhab29tKSB7CisgICAgbWF4Wm9vbSA9IG5ld01heFpvb207Cisg
IH0KKworICBmdW5jdGlvbiBnZXRUcmFuc2Zvcm1PcmlnaW4oKSB7CisgICAgcmV0dXJuIHRyYW5z
Zm9ybU9yaWdpbjsKKyAgfQorCisgIGZ1bmN0aW9uIHNldFRyYW5zZm9ybU9yaWdpbihuZXdUcmFu
c2Zvcm1PcmlnaW4pIHsKKyAgICB0cmFuc2Zvcm1PcmlnaW4gPSBwYXJzZVRyYW5zZm9ybU9yaWdp
bihuZXdUcmFuc2Zvcm1PcmlnaW4pOworICB9CisKKyAgZnVuY3Rpb24gZ2V0Wm9vbVNwZWVkKCkg
eworICAgIHJldHVybiBzcGVlZDsKKyAgfQorCisgIGZ1bmN0aW9uIHNldFpvb21TcGVlZChuZXdT
cGVlZCkgeworICAgIGlmICghTnVtYmVyLmlzRmluaXRlKG5ld1NwZWVkKSkgeworICAgICAgdGhy
b3cgbmV3IEVycm9yKCdab29tIHNwZWVkIHNob3VsZCBiZSBhIG51bWJlcicpOworICAgIH0KKyAg
ICBzcGVlZCA9IG5ld1NwZWVkOworICB9CisKKyAgZnVuY3Rpb24gZ2V0UG9pbnQoKSB7CisgICAg
cmV0dXJuIHsKKyAgICAgIHg6IHRyYW5zZm9ybS54LAorICAgICAgeTogdHJhbnNmb3JtLnkKKyAg
ICB9OworICB9CisKKyAgZnVuY3Rpb24gbW92ZVRvKHgsIHkpIHsKKyAgICB0cmFuc2Zvcm0ueCA9
IHg7CisgICAgdHJhbnNmb3JtLnkgPSB5OworCisgICAga2VlcFRyYW5zZm9ybUluc2lkZUJvdW5k
cygpOworCisgICAgdHJpZ2dlckV2ZW50KCdwYW4nKTsKKyAgICBtYWtlRGlydHkoKTsKKyAgfQor
CisgIGZ1bmN0aW9uIG1vdmVCeShkeCwgZHkpIHsKKyAgICBtb3ZlVG8odHJhbnNmb3JtLnggKyBk
eCwgdHJhbnNmb3JtLnkgKyBkeSk7CisgIH0KKworICBmdW5jdGlvbiBrZWVwVHJhbnNmb3JtSW5z
aWRlQm91bmRzKCkgeworICAgIHZhciBib3VuZGluZ0JveCA9IGdldEJvdW5kaW5nQm94KCk7Cisg
ICAgaWYgKCFib3VuZGluZ0JveCkgcmV0dXJuOworCisgICAgdmFyIGFkanVzdGVkID0gZmFsc2U7
CisgICAgdmFyIGNsaWVudFJlY3QgPSBnZXRDbGllbnRSZWN0KCk7CisKKyAgICB2YXIgZGlmZiA9
IGJvdW5kaW5nQm94LmxlZnQgLSBjbGllbnRSZWN0LnJpZ2h0OworICAgIGlmIChkaWZmID4gMCkg
eworICAgICAgdHJhbnNmb3JtLnggKz0gZGlmZjsKKyAgICAgIGFkanVzdGVkID0gdHJ1ZTsKKyAg
ICB9CisgICAgLy8gY2hlY2sgdGhlIG90aGVyIHNpZGU6CisgICAgZGlmZiA9IGJvdW5kaW5nQm94
LnJpZ2h0IC0gY2xpZW50UmVjdC5sZWZ0OworICAgIGlmIChkaWZmIDwgMCkgeworICAgICAgdHJh
bnNmb3JtLnggKz0gZGlmZjsKKyAgICAgIGFkanVzdGVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICAv
LyB5IGF4aXM6CisgICAgZGlmZiA9IGJvdW5kaW5nQm94LnRvcCAtIGNsaWVudFJlY3QuYm90dG9t
OworICAgIGlmIChkaWZmID4gMCkgeworICAgICAgLy8gd2UgYWRqdXN0IHRyYW5zZm9ybSwgc28g
dGhhdCBpdCBtYXRjaGVzIGV4YWN0bHkgb3VyIGJvdW5kaW5nIGJveDoKKyAgICAgIC8vIHRyYW5z
Zm9ybS55ID0gYm91bmRpbmdCb3gudG9wIC0gKGJvdW5kaW5nQm94LmhlaWdodCArIGJvdW5kaW5n
Qm94LnkpICogdHJhbnNmb3JtLnNjYWxlID0+CisgICAgICAvLyB0cmFuc2Zvcm0ueSA9IGJvdW5k
aW5nQm94LnRvcCAtIChjbGllbnRSZWN0LmJvdHRvbSAtIHRyYW5zZm9ybS55KSA9PgorICAgICAg
Ly8gdHJhbnNmb3JtLnkgPSBkaWZmICsgdHJhbnNmb3JtLnkgPT4KKyAgICAgIHRyYW5zZm9ybS55
ICs9IGRpZmY7CisgICAgICBhZGp1c3RlZCA9IHRydWU7CisgICAgfQorCisgICAgZGlmZiA9IGJv
dW5kaW5nQm94LmJvdHRvbSAtIGNsaWVudFJlY3QudG9wOworICAgIGlmIChkaWZmIDwgMCkgewor
ICAgICAgdHJhbnNmb3JtLnkgKz0gZGlmZjsKKyAgICAgIGFkanVzdGVkID0gdHJ1ZTsKKyAgICB9
CisgICAgcmV0dXJuIGFkanVzdGVkOworICB9CisKKyAgLyoqCisgICAqIFJldHVybnMgYm91bmRp
bmcgYm94IHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gcmVzdHJpY3Qgc2NlbmUgbW92ZW1lbnQuCisg
ICAqLworICBmdW5jdGlvbiBnZXRCb3VuZGluZ0JveCgpIHsKKyAgICBpZiAoIWJvdW5kcykgcmV0
dXJuOyAvLyBjbGllbnQgZG9lcyBub3Qgd2FudCB0byByZXN0cmljdCBtb3ZlbWVudAorCisgICAg
aWYgKHR5cGVvZiBib3VuZHMgPT09ICdib29sZWFuJykgeworICAgICAgLy8gZm9yIGJvb2xlYW4g
dHlwZSB3ZSB1c2UgcGFyZW50IGNvbnRhaW5lciBib3VuZHMKKyAgICAgIHZhciBvd25lclJlY3Qg
PSBvd25lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgIHZhciBzY2VuZVdpZHRoID0g
b3duZXJSZWN0LndpZHRoOworICAgICAgdmFyIHNjZW5lSGVpZ2h0ID0gb3duZXJSZWN0LmhlaWdo
dDsKKworICAgICAgcmV0dXJuIHsKKyAgICAgICAgbGVmdDogc2NlbmVXaWR0aCAqIGJvdW5kc1Bh
ZGRpbmcsCisgICAgICAgIHRvcDogc2NlbmVIZWlnaHQgKiBib3VuZHNQYWRkaW5nLAorICAgICAg
ICByaWdodDogc2NlbmVXaWR0aCAqICgxIC0gYm91bmRzUGFkZGluZyksCisgICAgICAgIGJvdHRv
bTogc2NlbmVIZWlnaHQgKiAoMSAtIGJvdW5kc1BhZGRpbmcpCisgICAgICB9OworICAgIH0KKwor
ICAgIHJldHVybiBib3VuZHM7CisgIH0KKworICBmdW5jdGlvbiBnZXRDbGllbnRSZWN0KCkgewor
ICAgIHZhciBiYm94ID0gcGFuQ29udHJvbGxlci5nZXRCQm94KCk7CisgICAgdmFyIGxlZnRUb3Ag
PSBjbGllbnQoYmJveC5sZWZ0LCBiYm94LnRvcCk7CisKKyAgICByZXR1cm4geworICAgICAgbGVm
dDogbGVmdFRvcC54LAorICAgICAgdG9wOiBsZWZ0VG9wLnksCisgICAgICByaWdodDogYmJveC53
aWR0aCAqIHRyYW5zZm9ybS5zY2FsZSArIGxlZnRUb3AueCwKKyAgICAgIGJvdHRvbTogYmJveC5o
ZWlnaHQgKiB0cmFuc2Zvcm0uc2NhbGUgKyBsZWZ0VG9wLnkKKyAgICB9OworICB9CisKKyAgZnVu
Y3Rpb24gY2xpZW50KHgsIHkpIHsKKyAgICByZXR1cm4geworICAgICAgeDogeCAqIHRyYW5zZm9y
bS5zY2FsZSArIHRyYW5zZm9ybS54LAorICAgICAgeTogeSAqIHRyYW5zZm9ybS5zY2FsZSArIHRy
YW5zZm9ybS55CisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIG1ha2VEaXJ0eSgpIHsKKyAgICBp
c0RpcnR5ID0gdHJ1ZTsKKyAgICBmcmFtZUFuaW1hdGlvbiA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoZnJhbWUpOworICB9CisKKyAgZnVuY3Rpb24gem9vbUJ5UmF0aW8oY2xpZW50WCwg
Y2xpZW50WSwgcmF0aW8pIHsKKyAgICBpZiAoaXNOYU4oY2xpZW50WCkgfHwgaXNOYU4oY2xpZW50
WSkgfHwgaXNOYU4ocmF0aW8pKSB7CisgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3pvb20gcmVxdWly
ZXMgdmFsaWQgbnVtYmVycycpOworICAgIH0KKworICAgIHZhciBuZXdTY2FsZSA9IHRyYW5zZm9y
bS5zY2FsZSAqIHJhdGlvOworCisgICAgaWYgKG5ld1NjYWxlIDwgbWluWm9vbSkgeworICAgICAg
aWYgKHRyYW5zZm9ybS5zY2FsZSA9PT0gbWluWm9vbSkgcmV0dXJuOworCisgICAgICByYXRpbyA9
IG1pblpvb20gLyB0cmFuc2Zvcm0uc2NhbGU7CisgICAgfQorICAgIGlmIChuZXdTY2FsZSA+IG1h
eFpvb20pIHsKKyAgICAgIGlmICh0cmFuc2Zvcm0uc2NhbGUgPT09IG1heFpvb20pIHJldHVybjsK
KworICAgICAgcmF0aW8gPSBtYXhab29tIC8gdHJhbnNmb3JtLnNjYWxlOworICAgIH0KKworICAg
IHZhciBzaXplID0gdHJhbnNmb3JtVG9TY3JlZW4oY2xpZW50WCwgY2xpZW50WSk7CisKKyAgICB0
cmFuc2Zvcm0ueCA9IHNpemUueCAtIHJhdGlvICogKHNpemUueCAtIHRyYW5zZm9ybS54KTsKKyAg
ICB0cmFuc2Zvcm0ueSA9IHNpemUueSAtIHJhdGlvICogKHNpemUueSAtIHRyYW5zZm9ybS55KTsK
KworICAgIC8vIFRPRE86IGh0dHBzOi8vZ2l0aHViLmNvbS9hbnZha2EvcGFuem9vbS9pc3N1ZXMv
MTEyCisgICAgaWYgKGJvdW5kcyAmJiBib3VuZHNQYWRkaW5nID09PSAxICYmIG1pblpvb20gPT09
IDEpIHsKKyAgICAgIHRyYW5zZm9ybS5zY2FsZSAqPSByYXRpbzsKKyAgICAgIGtlZXBUcmFuc2Zv
cm1JbnNpZGVCb3VuZHMoKTsKKyAgICB9IGVsc2UgeworICAgICAgdmFyIHRyYW5zZm9ybUFkanVz
dGVkID0ga2VlcFRyYW5zZm9ybUluc2lkZUJvdW5kcygpOworICAgICAgaWYgKCF0cmFuc2Zvcm1B
ZGp1c3RlZCkgdHJhbnNmb3JtLnNjYWxlICo9IHJhdGlvOworICAgIH0KKworICAgIHRyaWdnZXJF
dmVudCgnem9vbScpOworCisgICAgbWFrZURpcnR5KCk7CisgIH0KKworICBmdW5jdGlvbiB6b29t
QWJzKGNsaWVudFgsIGNsaWVudFksIHpvb21MZXZlbCkgeworICAgIHZhciByYXRpbyA9IHpvb21M
ZXZlbCAvIHRyYW5zZm9ybS5zY2FsZTsKKyAgICB6b29tQnlSYXRpbyhjbGllbnRYLCBjbGllbnRZ
LCByYXRpbyk7CisgIH0KKworICBmdW5jdGlvbiBjZW50ZXJPbih1aSkgeworICAgIHZhciBwYXJl
bnQgPSB1aS5vd25lclNWR0VsZW1lbnQ7CisgICAgaWYgKCFwYXJlbnQpCisgICAgICB0aHJvdyBu
ZXcgRXJyb3IoJ3VpIGVsZW1lbnQgaXMgcmVxdWlyZWQgdG8gYmUgd2l0aGluIHRoZSBzY2VuZScp
OworCisgICAgLy8gVE9ETzogc2hvdWxkIGkgdXNlIGNvbnRyb2xsZXIncyBzY3JlZW4gQ1RNPwor
ICAgIHZhciBjbGllbnRSZWN0ID0gdWkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgdmFy
IGN4ID0gY2xpZW50UmVjdC5sZWZ0ICsgY2xpZW50UmVjdC53aWR0aCAvIDI7CisgICAgdmFyIGN5
ID0gY2xpZW50UmVjdC50b3AgKyBjbGllbnRSZWN0LmhlaWdodCAvIDI7CisKKyAgICB2YXIgY29u
dGFpbmVyID0gcGFyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgIHZhciBkeCA9IGNv
bnRhaW5lci53aWR0aCAvIDIgLSBjeDsKKyAgICB2YXIgZHkgPSBjb250YWluZXIuaGVpZ2h0IC8g
MiAtIGN5OworCisgICAgaW50ZXJuYWxNb3ZlQnkoZHgsIGR5LCB0cnVlKTsKKyAgfQorCisgIGZ1
bmN0aW9uIGludGVybmFsTW92ZUJ5KGR4LCBkeSwgc21vb3RoKSB7CisgICAgaWYgKCFzbW9vdGgp
IHsKKyAgICAgIHJldHVybiBtb3ZlQnkoZHgsIGR5KTsKKyAgICB9CisKKyAgICBpZiAobW92ZUJ5
QW5pbWF0aW9uKSBtb3ZlQnlBbmltYXRpb24uY2FuY2VsKCk7CisKKyAgICB2YXIgZnJvbSA9IHsg
eDogMCwgeTogMCB9OworICAgIHZhciB0byA9IHsgeDogZHgsIHk6IGR5IH07CisgICAgdmFyIGxh
c3RYID0gMDsKKyAgICB2YXIgbGFzdFkgPSAwOworCisgICAgbW92ZUJ5QW5pbWF0aW9uID0gYW5p
bWF0ZShmcm9tLCB0bywgeworICAgICAgc3RlcDogZnVuY3Rpb24gKHYpIHsKKyAgICAgICAgbW92
ZUJ5KHYueCAtIGxhc3RYLCB2LnkgLSBsYXN0WSk7CisKKyAgICAgICAgbGFzdFggPSB2Lng7Cisg
ICAgICAgIGxhc3RZID0gdi55OworICAgICAgfQorICAgIH0pOworICB9CisKKyAgZnVuY3Rpb24g
c2Nyb2xsKHgsIHkpIHsKKyAgICBjYW5jZWxab29tQW5pbWF0aW9uKCk7CisgICAgbW92ZVRvKHgs
IHkpOworICB9CisKKyAgZnVuY3Rpb24gZGlzcG9zZSgpIHsKKyAgICByZWxlYXNlRXZlbnRzKCk7
CisgIH0KKworICBmdW5jdGlvbiBsaXN0ZW5Gb3JFdmVudHMoKSB7CisgICAgb3duZXIuYWRkRXZl
bnRMaXN0ZW5lcignbW91c2Vkb3duJywgb25Nb3VzZURvd24sIHsgcGFzc2l2ZTogZmFsc2UgfSk7
CisgICAgb3duZXIuYWRkRXZlbnRMaXN0ZW5lcignZGJsY2xpY2snLCBvbkRvdWJsZUNsaWNrLCB7
IHBhc3NpdmU6IGZhbHNlIH0pOworICAgIG93bmVyLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3Rh
cnQnLCBvblRvdWNoLCB7IHBhc3NpdmU6IGZhbHNlIH0pOworICAgIG93bmVyLmFkZEV2ZW50TGlz
dGVuZXIoJ2tleWRvd24nLCBvbktleURvd24sIHsgcGFzc2l2ZTogZmFsc2UgfSk7CisKKyAgICAv
LyBOZWVkIHRvIGxpc3RlbiBvbiB0aGUgb3duZXIgY29udGFpbmVyLCBzbyB0aGF0IHdlIGFyZSBu
b3QgbGltaXRlZAorICAgIC8vIGJ5IHRoZSBzaXplIG9mIHRoZSBzY3JvbGxhYmxlIGRvbUVsZW1l
bnQKKyAgICB3aGVlbC5hZGRXaGVlbExpc3RlbmVyKG93bmVyLCBvbk1vdXNlV2hlZWwsIHsgcGFz
c2l2ZTogZmFsc2UgfSk7CisKKyAgICBtYWtlRGlydHkoKTsKKyAgfQorCisgIGZ1bmN0aW9uIHJl
bGVhc2VFdmVudHMoKSB7CisgICAgd2hlZWwucmVtb3ZlV2hlZWxMaXN0ZW5lcihvd25lciwgb25N
b3VzZVdoZWVsKTsKKyAgICBvd25lci5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBv
bk1vdXNlRG93bik7CisgICAgb3duZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9u
S2V5RG93bik7CisgICAgb3duZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignZGJsY2xpY2snLCBvbkRv
dWJsZUNsaWNrKTsKKyAgICBvd25lci5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0Jywg
b25Ub3VjaCk7CisKKyAgICBpZiAoZnJhbWVBbmltYXRpb24pIHsKKyAgICAgIHdpbmRvdy5jYW5j
ZWxBbmltYXRpb25GcmFtZShmcmFtZUFuaW1hdGlvbik7CisgICAgICBmcmFtZUFuaW1hdGlvbiA9
IDA7CisgICAgfQorCisgICAgc21vb3RoU2Nyb2xsLmNhbmNlbCgpOworCisgICAgcmVsZWFzZURv
Y3VtZW50TW91c2UoKTsKKyAgICByZWxlYXNlVG91Y2hlcygpOworICAgIHRleHRTZWxlY3Rpb24u
cmVsZWFzZSgpOworCisgICAgdHJpZ2dlclBhbkVuZCgpOworICB9CisKKyAgZnVuY3Rpb24gZnJh
bWUoKSB7CisgICAgaWYgKGlzRGlydHkpIGFwcGx5VHJhbnNmb3JtKCk7CisgIH0KKworICBmdW5j
dGlvbiBhcHBseVRyYW5zZm9ybSgpIHsKKyAgICBpc0RpcnR5ID0gZmFsc2U7CisKKyAgICAvLyBU
T0RPOiBTaG91bGQgSSBhbGxvdyB0byBjYW5jZWwgdGhpcz8KKyAgICBwYW5Db250cm9sbGVyLmFw
cGx5VHJhbnNmb3JtKHRyYW5zZm9ybSk7CisKKyAgICB0cmlnZ2VyRXZlbnQoJ3RyYW5zZm9ybScp
OworICAgIGZyYW1lQW5pbWF0aW9uID0gMDsKKyAgfQorCisgIGZ1bmN0aW9uIG9uS2V5RG93bihl
KSB7CisgICAgdmFyIHggPSAwLAorICAgICAgeSA9IDAsCisgICAgICB6ID0gMDsKKyAgICBpZiAo
ZS5rZXlDb2RlID09PSAzOCkgeworICAgICAgeSA9IDE7IC8vIHVwCisgICAgfSBlbHNlIGlmIChl
LmtleUNvZGUgPT09IDQwKSB7CisgICAgICB5ID0gLTE7IC8vIGRvd24KKyAgICB9IGVsc2UgaWYg
KGUua2V5Q29kZSA9PT0gMzcpIHsKKyAgICAgIHggPSAxOyAvLyBsZWZ0CisgICAgfSBlbHNlIGlm
IChlLmtleUNvZGUgPT09IDM5KSB7CisgICAgICB4ID0gLTE7IC8vIHJpZ2h0CisgICAgfSBlbHNl
IGlmIChlLmtleUNvZGUgPT09IDE4OSB8fCBlLmtleUNvZGUgPT09IDEwOSkgeworICAgICAgLy8g
REFTSCBvciBTVUJUUkFDVAorICAgICAgeiA9IDE7IC8vIGAtYCAtICB6b29tIG91dAorICAgIH0g
ZWxzZSBpZiAoZS5rZXlDb2RlID09PSAxODcgfHwgZS5rZXlDb2RlID09PSAxMDcpIHsKKyAgICAg
IC8vIEVRVUFMIFNJR04gb3IgQURECisgICAgICB6ID0gLTE7IC8vIGA9YCAtIHpvb20gaW4gKGVx
dWFsIHNpZ24gb24gVVMgbGF5b3V0IGlzIHVuZGVyIGArYCkKKyAgICB9CisKKyAgICBpZiAoZmls
dGVyS2V5KGUsIHgsIHksIHopKSB7CisgICAgICAvLyBUaGV5IGRvbid0IHdhbnQgdXMgdG8gaGFu
ZGxlIHRoZSBrZXk6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbnZha2EvcGFuem9vbS9pc3N1ZXMvNDUK
KyAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoeCB8fCB5KSB7CisgICAgICBlLnByZXZl
bnREZWZhdWx0KCk7CisgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOworCisgICAgICB2YXIgY2xp
ZW50UmVjdCA9IG93bmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgLy8gbW92ZW1l
bnQgc3BlZWQgc2hvdWxkIGJlIHRoZSBzYW1lIGluIGJvdGggWCBhbmQgWSBkaXJlY3Rpb246Cisg
ICAgICB2YXIgb2Zmc2V0ID0gTWF0aC5taW4oY2xpZW50UmVjdC53aWR0aCwgY2xpZW50UmVjdC5o
ZWlnaHQpOworICAgICAgdmFyIG1vdmVTcGVlZFJhdGlvID0gMC4wNTsKKyAgICAgIHZhciBkeCA9
IG9mZnNldCAqIG1vdmVTcGVlZFJhdGlvICogeDsKKyAgICAgIHZhciBkeSA9IG9mZnNldCAqIG1v
dmVTcGVlZFJhdGlvICogeTsKKworICAgICAgLy8gVE9ETzogY3VycmVudGx5IHdlIGRvIG5vdCBh
bmltYXRlIHRoaXMuIEl0IGNvdWxkIGJlIGJldHRlciB0byBoYXZlIGFuaW1hdGlvbgorICAgICAg
aW50ZXJuYWxNb3ZlQnkoZHgsIGR5KTsKKyAgICB9CisKKyAgICBpZiAoeikgeworICAgICAgdmFy
IHNjYWxlTXVsdGlwbGllciA9IGdldFNjYWxlTXVsdGlwbGllcih6ICogMTAwKTsKKyAgICAgIHZh
ciBvZmZzZXQgPSB0cmFuc2Zvcm1PcmlnaW4gPyBnZXRUcmFuc2Zvcm1PcmlnaW5PZmZzZXQoKSA6
IG1pZFBvaW50KCk7CisgICAgICBwdWJsaWNab29tVG8ob2Zmc2V0LngsIG9mZnNldC55LCBzY2Fs
ZU11bHRpcGxpZXIpOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIG1pZFBvaW50KCkgeworICAg
IHZhciBvd25lclJlY3QgPSBvd25lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICByZXR1
cm4geworICAgICAgeDogb3duZXJSZWN0LndpZHRoIC8gMiwKKyAgICAgIHk6IG93bmVyUmVjdC5o
ZWlnaHQgLyAyCisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIG9uVG91Y2goZSkgeworICAgIC8v
IGxldCB0aGUgb3ZlcnJpZGUgdGhlIHRvdWNoIGJlaGF2aW9yCisgICAgYmVmb3JlVG91Y2goZSk7
CisKKyAgICBpZiAoZS50b3VjaGVzLmxlbmd0aCA9PT0gMSkgeworICAgICAgcmV0dXJuIGhhbmRs
ZVNpbmdsZUZpbmdlclRvdWNoKGUsIGUudG91Y2hlc1swXSk7CisgICAgfSBlbHNlIGlmIChlLnRv
dWNoZXMubGVuZ3RoID09PSAyKSB7CisgICAgICAvLyBoYW5kbGVUb3VjaE1vdmUoKSB3aWxsIGNh
cmUgYWJvdXQgcGluY2ggem9vbS4KKyAgICAgIHBpbmNoWm9vbUxlbmd0aCA9IGdldFBpbmNoWm9v
bUxlbmd0aChlLnRvdWNoZXNbMF0sIGUudG91Y2hlc1sxXSk7CisgICAgICBtdWx0aVRvdWNoID0g
dHJ1ZTsKKyAgICAgIHN0YXJ0VG91Y2hMaXN0ZW5lcklmTmVlZGVkKCk7CisgICAgfQorICB9CisK
KyAgZnVuY3Rpb24gYmVmb3JlVG91Y2goZSkgeworICAgIC8vIFRPRE86IE5lZWQgdG8gdW5pZnkg
dGhpcyBmaWx0ZXJpbmcgbmFtZXMuIEUuZy4gdXNlIGBiZWZvcmVUb3VjaGAKKyAgICBpZiAob3B0
aW9ucy5vblRvdWNoICYmICFvcHRpb25zLm9uVG91Y2goZSkpIHsKKyAgICAgIC8vIGlmIHRoZXkg
cmV0dXJuIGBmYWxzZWAgZnJvbSBvblRvdWNoLCB3ZSBkb24ndCB3YW50IHRvIHN0b3AKKyAgICAg
IC8vIGV2ZW50cyBwcm9wYWdhdGlvbi4gRml4ZXMgaHR0cHM6Ly9naXRodWIuY29tL2FudmFrYS9w
YW56b29tL2lzc3Vlcy8xMgorICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGUuc3RvcFByb3Bh
Z2F0aW9uKCk7CisgICAgZS5wcmV2ZW50RGVmYXVsdCgpOworICB9CisKKyAgZnVuY3Rpb24gYmVm
b3JlRG91YmxlQ2xpY2soZSkgeworICAgIC8vIFRPRE86IE5lZWQgdG8gdW5pZnkgdGhpcyBmaWx0
ZXJpbmcgbmFtZXMuIEUuZy4gdXNlIGBiZWZvcmVEb3VibGVDbGlja2BgCisgICAgaWYgKG9wdGlv
bnMub25Eb3VibGVDbGljayAmJiAhb3B0aW9ucy5vbkRvdWJsZUNsaWNrKGUpKSB7CisgICAgICAv
LyBpZiB0aGV5IHJldHVybiBgZmFsc2VgIGZyb20gb25Ub3VjaCwgd2UgZG9uJ3Qgd2FudCB0byBz
dG9wCisgICAgICAvLyBldmVudHMgcHJvcGFnYXRpb24uIEZpeGVzIGh0dHBzOi8vZ2l0aHViLmNv
bS9hbnZha2EvcGFuem9vbS9pc3N1ZXMvNDYKKyAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBl
LnByZXZlbnREZWZhdWx0KCk7CisgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKKyAgfQorCisgIGZ1
bmN0aW9uIGhhbmRsZVNpbmdsZUZpbmdlclRvdWNoKGUpIHsKKyAgICB2YXIgdG91Y2ggPSBlLnRv
dWNoZXNbMF07CisgICAgdmFyIG9mZnNldCA9IGdldE9mZnNldFhZKHRvdWNoKTsKKyAgICBsYXN0
U2luZ2xlRmluZ2VyT2Zmc2V0ID0gb2Zmc2V0OworICAgIHZhciBwb2ludCA9IHRyYW5zZm9ybVRv
U2NyZWVuKG9mZnNldC54LCBvZmZzZXQueSk7CisgICAgbW91c2VYID0gcG9pbnQueDsKKyAgICBt
b3VzZVkgPSBwb2ludC55OworCisgICAgc21vb3RoU2Nyb2xsLmNhbmNlbCgpOworICAgIHN0YXJ0
VG91Y2hMaXN0ZW5lcklmTmVlZGVkKCk7CisgIH0KKworICBmdW5jdGlvbiBzdGFydFRvdWNoTGlz
dGVuZXJJZk5lZWRlZCgpIHsKKyAgICBpZiAodG91Y2hJblByb2dyZXNzKSB7CisgICAgICAvLyBu
byBuZWVkIHRvIGRvIGFueXRoaW5nLCBhcyB3ZSBhbHJlYWR5IGxpc3RlbiB0byBldmVudHM7Cisg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgdG91Y2hJblByb2dyZXNzID0gdHJ1ZTsKKyAgICBk
b2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBoYW5kbGVUb3VjaE1vdmUpOwor
ICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgaGFuZGxlVG91Y2hFbmQp
OworICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoY2FuY2VsJywgaGFuZGxlVG91
Y2hFbmQpOworICB9CisKKyAgZnVuY3Rpb24gaGFuZGxlVG91Y2hNb3ZlKGUpIHsKKyAgICBpZiAo
ZS50b3VjaGVzLmxlbmd0aCA9PT0gMSkgeworICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKKyAg
ICAgIHZhciB0b3VjaCA9IGUudG91Y2hlc1swXTsKKworICAgICAgdmFyIG9mZnNldCA9IGdldE9m
ZnNldFhZKHRvdWNoKTsKKyAgICAgIHZhciBwb2ludCA9IHRyYW5zZm9ybVRvU2NyZWVuKG9mZnNl
dC54LCBvZmZzZXQueSk7CisKKyAgICAgIHZhciBkeCA9IHBvaW50LnggLSBtb3VzZVg7CisgICAg
ICB2YXIgZHkgPSBwb2ludC55IC0gbW91c2VZOworCisgICAgICBpZiAoZHggIT09IDAgJiYgZHkg
IT09IDApIHsKKyAgICAgICAgdHJpZ2dlclBhblN0YXJ0KCk7CisgICAgICB9CisgICAgICBtb3Vz
ZVggPSBwb2ludC54OworICAgICAgbW91c2VZID0gcG9pbnQueTsKKyAgICAgIGludGVybmFsTW92
ZUJ5KGR4LCBkeSk7CisgICAgfSBlbHNlIGlmIChlLnRvdWNoZXMubGVuZ3RoID09PSAyKSB7Cisg
ICAgICAvLyBpdCdzIGEgem9vbSwgbGV0J3MgZmluZCBkaXJlY3Rpb24KKyAgICAgIG11bHRpVG91
Y2ggPSB0cnVlOworICAgICAgdmFyIHQxID0gZS50b3VjaGVzWzBdOworICAgICAgdmFyIHQyID0g
ZS50b3VjaGVzWzFdOworICAgICAgdmFyIGN1cnJlbnRQaW5jaExlbmd0aCA9IGdldFBpbmNoWm9v
bUxlbmd0aCh0MSwgdDIpOworCisgICAgICAvLyBzaW5jZSB0aGUgem9vbSBzcGVlZCBpcyBhbHdh
eXMgYmFzZWQgb24gZGlzdGFuY2UgZnJvbSAxLCB3ZSBuZWVkIHRvIGFwcGx5CisgICAgICAvLyBw
aW5jaCBzcGVlZCBvbmx5IG9uIHRoYXQgZGlzdGFuY2UgZnJvbSAxOgorICAgICAgdmFyIHNjYWxl
TXVsdGlwbGllciA9CisgICAgICAgIDEgKyAoY3VycmVudFBpbmNoTGVuZ3RoIC8gcGluY2hab29t
TGVuZ3RoIC0gMSkgKiBwaW5jaFNwZWVkOworCisgICAgICB2YXIgZmlyc3RUb3VjaFBvaW50ID0g
Z2V0T2Zmc2V0WFkodDEpOworICAgICAgdmFyIHNlY29uZFRvdWNoUG9pbnQgPSBnZXRPZmZzZXRY
WSh0Mik7CisgICAgICBtb3VzZVggPSAoZmlyc3RUb3VjaFBvaW50LnggKyBzZWNvbmRUb3VjaFBv
aW50LngpIC8gMjsKKyAgICAgIG1vdXNlWSA9IChmaXJzdFRvdWNoUG9pbnQueSArIHNlY29uZFRv
dWNoUG9pbnQueSkgLyAyOworICAgICAgaWYgKHRyYW5zZm9ybU9yaWdpbikgeworICAgICAgICB2
YXIgb2Zmc2V0ID0gZ2V0VHJhbnNmb3JtT3JpZ2luT2Zmc2V0KCk7CisgICAgICAgIG1vdXNlWCA9
IG9mZnNldC54OworICAgICAgICBtb3VzZVkgPSBvZmZzZXQueTsKKyAgICAgIH0KKworICAgICAg
cHVibGljWm9vbVRvKG1vdXNlWCwgbW91c2VZLCBzY2FsZU11bHRpcGxpZXIpOworCisgICAgICBw
aW5jaFpvb21MZW5ndGggPSBjdXJyZW50UGluY2hMZW5ndGg7CisgICAgICBlLnN0b3BQcm9wYWdh
dGlvbigpOworICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOworICAgIH0KKyAgfQorCisgIGZ1bmN0
aW9uIGhhbmRsZVRvdWNoRW5kKGUpIHsKKyAgICBpZiAoZS50b3VjaGVzLmxlbmd0aCA+IDApIHsK
KyAgICAgIHZhciBvZmZzZXQgPSBnZXRPZmZzZXRYWShlLnRvdWNoZXNbMF0pOworICAgICAgdmFy
IHBvaW50ID0gdHJhbnNmb3JtVG9TY3JlZW4ob2Zmc2V0LngsIG9mZnNldC55KTsKKyAgICAgIG1v
dXNlWCA9IHBvaW50Lng7CisgICAgICBtb3VzZVkgPSBwb2ludC55OworICAgIH0gZWxzZSB7Cisg
ICAgICB2YXIgbm93ID0gbmV3IERhdGUoKTsKKyAgICAgIGlmIChub3cgLSBsYXN0VG91Y2hFbmRU
aW1lIDwgZG91YmxlVGFwU3BlZWRJbk1TKSB7CisgICAgICAgIGlmICh0cmFuc2Zvcm1PcmlnaW4p
IHsKKyAgICAgICAgICB2YXIgb2Zmc2V0ID0gZ2V0VHJhbnNmb3JtT3JpZ2luT2Zmc2V0KCk7Cisg
ICAgICAgICAgc21vb3RoWm9vbShvZmZzZXQueCwgb2Zmc2V0LnksIHpvb21Eb3VibGVDbGlja1Nw
ZWVkKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBzbW9vdGhab29tKGxhc3RTaW5nbGVG
aW5nZXJPZmZzZXQueCwgbGFzdFNpbmdsZUZpbmdlck9mZnNldC55LCB6b29tRG91YmxlQ2xpY2tT
cGVlZCk7CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgbGFzdFRvdWNoRW5kVGltZSA9IG5v
dzsKKworICAgICAgdG91Y2hJblByb2dyZXNzID0gZmFsc2U7CisgICAgICB0cmlnZ2VyUGFuRW5k
KCk7CisgICAgICByZWxlYXNlVG91Y2hlcygpOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGdl
dFBpbmNoWm9vbUxlbmd0aChmaW5nZXIxLCBmaW5nZXIyKSB7CisgICAgdmFyIGR4ID0gZmluZ2Vy
MS5jbGllbnRYIC0gZmluZ2VyMi5jbGllbnRYOworICAgIHZhciBkeSA9IGZpbmdlcjEuY2xpZW50
WSAtIGZpbmdlcjIuY2xpZW50WTsKKyAgICByZXR1cm4gTWF0aC5zcXJ0KGR4ICogZHggKyBkeSAq
IGR5KTsKKyAgfQorCisgIGZ1bmN0aW9uIG9uRG91YmxlQ2xpY2soZSkgeworICAgIGJlZm9yZURv
dWJsZUNsaWNrKGUpOworICAgIHZhciBvZmZzZXQgPSBnZXRPZmZzZXRYWShlKTsKKyAgICBpZiAo
dHJhbnNmb3JtT3JpZ2luKSB7CisgICAgICAvLyBUT0RPOiBsb29rcyBsaWtlIHRoaXMgaXMgZHVw
bGljYXRlZCBpbiB0aGUgZmlsZS4KKyAgICAgIC8vIE5lZWQgdG8gcmVmYWN0b3IKKyAgICAgIG9m
ZnNldCA9IGdldFRyYW5zZm9ybU9yaWdpbk9mZnNldCgpOworICAgIH0KKyAgICBzbW9vdGhab29t
KG9mZnNldC54LCBvZmZzZXQueSwgem9vbURvdWJsZUNsaWNrU3BlZWQpOworICB9CisKKyAgZnVu
Y3Rpb24gb25Nb3VzZURvd24oZSkgeworICAgIC8vIGlmIGNsaWVudCBkb2VzIG5vdCB3YW50IHRv
IGhhbmRsZSB0aGlzIGV2ZW50IC0ganVzdCBpZ25vcmUgdGhlIGNhbGwKKyAgICBpZiAoYmVmb3Jl
TW91c2VEb3duKGUpKSByZXR1cm47CisKKyAgICBpZiAodG91Y2hJblByb2dyZXNzKSB7CisgICAg
ICAvLyBtb2Rlcm4gYnJvd3NlcnMgd2lsbCBmaXJlIG1vdXNlZG93biBmb3IgdG91Y2ggZXZlbnRz
IHRvbworICAgICAgLy8gd2UgZG8gbm90IHdhbnQgdGhpczogdG91Y2ggaXMgaGFuZGxlZCBzZXBh
cmF0ZWx5LgorICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKKyAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisgICAgLy8gZm9yIElFLCBsZWZ0IGNsaWNrID09IDEKKyAgICAvLyBmb3IgRmlyZWZv
eCwgbGVmdCBjbGljayA9PSAwCisgICAgdmFyIGlzTGVmdEJ1dHRvbiA9CisgICAgICAoZS5idXR0
b24gPT09IDEgJiYgd2luZG93LmV2ZW50ICE9PSBudWxsKSB8fCBlLmJ1dHRvbiA9PT0gMDsKKyAg
ICBpZiAoIWlzTGVmdEJ1dHRvbikgcmV0dXJuOworCisgICAgc21vb3RoU2Nyb2xsLmNhbmNlbCgp
OworCisgICAgdmFyIG9mZnNldCA9IGdldE9mZnNldFhZKGUpOworICAgIHZhciBwb2ludCA9IHRy
YW5zZm9ybVRvU2NyZWVuKG9mZnNldC54LCBvZmZzZXQueSk7CisgICAgbW91c2VYID0gcG9pbnQu
eDsKKyAgICBtb3VzZVkgPSBwb2ludC55OworCisgICAgLy8gV2UgbmVlZCB0byBsaXN0ZW4gb24g
ZG9jdW1lbnQgaXRzZWxmLCBzaW5jZSBtb3VzZSBjYW4gZ28gb3V0c2lkZSBvZiB0aGUKKyAgICAv
LyB3aW5kb3csIGFuZCB3ZSB3aWxsIGxvb3NlIGl0CisgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0
ZW5lcignbW91c2Vtb3ZlJywgb25Nb3VzZU1vdmUpOworICAgIGRvY3VtZW50LmFkZEV2ZW50TGlz
dGVuZXIoJ21vdXNldXAnLCBvbk1vdXNlVXApOworICAgIHRleHRTZWxlY3Rpb24uY2FwdHVyZShl
LnRhcmdldCB8fCBlLnNyY0VsZW1lbnQpOworCisgICAgcmV0dXJuIGZhbHNlOworICB9CisKKyAg
ZnVuY3Rpb24gb25Nb3VzZU1vdmUoZSkgeworICAgIC8vIG5vIG5lZWQgdG8gd29ycnkgYWJvdXQg
bW91c2UgZXZlbnRzIHdoZW4gdG91Y2ggaXMgaGFwcGVuaW5nCisgICAgaWYgKHRvdWNoSW5Qcm9n
cmVzcykgcmV0dXJuOworCisgICAgdHJpZ2dlclBhblN0YXJ0KCk7CisKKyAgICB2YXIgb2Zmc2V0
ID0gZ2V0T2Zmc2V0WFkoZSk7CisgICAgdmFyIHBvaW50ID0gdHJhbnNmb3JtVG9TY3JlZW4ob2Zm
c2V0LngsIG9mZnNldC55KTsKKyAgICB2YXIgZHggPSBwb2ludC54IC0gbW91c2VYOworICAgIHZh
ciBkeSA9IHBvaW50LnkgLSBtb3VzZVk7CisKKyAgICBtb3VzZVggPSBwb2ludC54OworICAgIG1v
dXNlWSA9IHBvaW50Lnk7CisKKyAgICBpbnRlcm5hbE1vdmVCeShkeCwgZHkpOworICB9CisKKyAg
ZnVuY3Rpb24gb25Nb3VzZVVwKCkgeworICAgIHRleHRTZWxlY3Rpb24ucmVsZWFzZSgpOworICAg
IHRyaWdnZXJQYW5FbmQoKTsKKyAgICByZWxlYXNlRG9jdW1lbnRNb3VzZSgpOworICB9CisKKyAg
ZnVuY3Rpb24gcmVsZWFzZURvY3VtZW50TW91c2UoKSB7CisgICAgZG9jdW1lbnQucmVtb3ZlRXZl
bnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgb25Nb3VzZU1vdmUpOworICAgIGRvY3VtZW50LnJlbW92
ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBvbk1vdXNlVXApOworICAgIHBhbnN0YXJ0RmlyZWQg
PSBmYWxzZTsKKyAgfQorCisgIGZ1bmN0aW9uIHJlbGVhc2VUb3VjaGVzKCkgeworICAgIGRvY3Vt
ZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIGhhbmRsZVRvdWNoTW92ZSk7Cisg
ICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCBoYW5kbGVUb3VjaEVu
ZCk7CisgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hjYW5jZWwnLCBoYW5k
bGVUb3VjaEVuZCk7CisgICAgcGFuc3RhcnRGaXJlZCA9IGZhbHNlOworICAgIG11bHRpVG91Y2gg
PSBmYWxzZTsKKyAgfQorCisgIGZ1bmN0aW9uIG9uTW91c2VXaGVlbChlKSB7CisgICAgLy8gaWYg
Y2xpZW50IGRvZXMgbm90IHdhbnQgdG8gaGFuZGxlIHRoaXMgZXZlbnQgLSBqdXN0IGlnbm9yZSB0
aGUgY2FsbAorICAgIGlmIChiZWZvcmVXaGVlbChlKSkgcmV0dXJuOworCisgICAgc21vb3RoU2Ny
b2xsLmNhbmNlbCgpOworCisgICAgdmFyIGRlbHRhID0gZS5kZWx0YVk7CisgICAgaWYgKGUuZGVs
dGFNb2RlID4gMCkgZGVsdGEgKj0gMTAwOworCisgICAgdmFyIHNjYWxlTXVsdGlwbGllciA9IGdl
dFNjYWxlTXVsdGlwbGllcihkZWx0YSk7CisKKyAgICBpZiAoc2NhbGVNdWx0aXBsaWVyICE9PSAx
KSB7CisgICAgICB2YXIgb2Zmc2V0ID0gdHJhbnNmb3JtT3JpZ2luCisgICAgICAgID8gZ2V0VHJh
bnNmb3JtT3JpZ2luT2Zmc2V0KCkKKyAgICAgICAgOiBnZXRPZmZzZXRYWShlKTsKKyAgICAgIHB1
YmxpY1pvb21UbyhvZmZzZXQueCwgb2Zmc2V0LnksIHNjYWxlTXVsdGlwbGllcik7CisgICAgICBl
LnByZXZlbnREZWZhdWx0KCk7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gZ2V0T2Zmc2V0WFko
ZSkgeworICAgIHZhciBvZmZzZXRYLCBvZmZzZXRZOworICAgIC8vIEkgdHJpZWQgdXNpbmcgZS5v
ZmZzZXRYLCBidXQgdGhhdCBnaXZlcyB3cm9uZyByZXN1bHRzIGZvciBzdmcsIHdoZW4gdXNlciBj
bGlja3Mgb24gYSBwYXRoLgorICAgIHZhciBvd25lclJlY3QgPSBvd25lci5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKTsKKyAgICBvZmZzZXRYID0gZS5jbGllbnRYIC0gb3duZXJSZWN0LmxlZnQ7Cisg
ICAgb2Zmc2V0WSA9IGUuY2xpZW50WSAtIG93bmVyUmVjdC50b3A7CisKKyAgICByZXR1cm4geyB4
OiBvZmZzZXRYLCB5OiBvZmZzZXRZIH07CisgIH0KKworICBmdW5jdGlvbiBzbW9vdGhab29tKGNs
aWVudFgsIGNsaWVudFksIHNjYWxlTXVsdGlwbGllcikgeworICAgIHZhciBmcm9tVmFsdWUgPSB0
cmFuc2Zvcm0uc2NhbGU7CisgICAgdmFyIGZyb20gPSB7IHNjYWxlOiBmcm9tVmFsdWUgfTsKKyAg
ICB2YXIgdG8gPSB7IHNjYWxlOiBzY2FsZU11bHRpcGxpZXIgKiBmcm9tVmFsdWUgfTsKKworICAg
IHNtb290aFNjcm9sbC5jYW5jZWwoKTsKKyAgICBjYW5jZWxab29tQW5pbWF0aW9uKCk7CisKKyAg
ICB6b29tVG9BbmltYXRpb24gPSBhbmltYXRlKGZyb20sIHRvLCB7CisgICAgICBzdGVwOiBmdW5j
dGlvbiAodikgeworICAgICAgICB6b29tQWJzKGNsaWVudFgsIGNsaWVudFksIHYuc2NhbGUpOwor
ICAgICAgfSwKKyAgICAgIGRvbmU6IHRyaWdnZXJab29tRW5kCisgICAgfSk7CisgIH0KKworICBm
dW5jdGlvbiBzbW9vdGhab29tQWJzKGNsaWVudFgsIGNsaWVudFksIHRvU2NhbGVWYWx1ZSkgewor
ICAgIHZhciBmcm9tVmFsdWUgPSB0cmFuc2Zvcm0uc2NhbGU7CisgICAgdmFyIGZyb20gPSB7IHNj
YWxlOiBmcm9tVmFsdWUgfTsKKyAgICB2YXIgdG8gPSB7IHNjYWxlOiB0b1NjYWxlVmFsdWUgfTsK
KworICAgIHNtb290aFNjcm9sbC5jYW5jZWwoKTsKKyAgICBjYW5jZWxab29tQW5pbWF0aW9uKCk7
CisKKyAgICB6b29tVG9BbmltYXRpb24gPSBhbmltYXRlKGZyb20sIHRvLCB7CisgICAgICBzdGVw
OiBmdW5jdGlvbiAodikgeworICAgICAgICB6b29tQWJzKGNsaWVudFgsIGNsaWVudFksIHYuc2Nh
bGUpOworICAgICAgfQorICAgIH0pOworICB9CisKKyAgZnVuY3Rpb24gZ2V0VHJhbnNmb3JtT3Jp
Z2luT2Zmc2V0KCkgeworICAgIHZhciBvd25lclJlY3QgPSBvd25lci5nZXRCb3VuZGluZ0NsaWVu
dFJlY3QoKTsKKyAgICByZXR1cm4geworICAgICAgeDogb3duZXJSZWN0LndpZHRoICogdHJhbnNm
b3JtT3JpZ2luLngsCisgICAgICB5OiBvd25lclJlY3QuaGVpZ2h0ICogdHJhbnNmb3JtT3JpZ2lu
LnkKKyAgICB9OworICB9CisKKyAgZnVuY3Rpb24gcHVibGljWm9vbVRvKGNsaWVudFgsIGNsaWVu
dFksIHNjYWxlTXVsdGlwbGllcikgeworICAgIHNtb290aFNjcm9sbC5jYW5jZWwoKTsKKyAgICBj
YW5jZWxab29tQW5pbWF0aW9uKCk7CisgICAgcmV0dXJuIHpvb21CeVJhdGlvKGNsaWVudFgsIGNs
aWVudFksIHNjYWxlTXVsdGlwbGllcik7CisgIH0KKworICBmdW5jdGlvbiBjYW5jZWxab29tQW5p
bWF0aW9uKCkgeworICAgIGlmICh6b29tVG9BbmltYXRpb24pIHsKKyAgICAgIHpvb21Ub0FuaW1h
dGlvbi5jYW5jZWwoKTsKKyAgICAgIHpvb21Ub0FuaW1hdGlvbiA9IG51bGw7CisgICAgfQorICB9
CisKKyAgZnVuY3Rpb24gZ2V0U2NhbGVNdWx0aXBsaWVyKGRlbHRhKSB7CisgICAgdmFyIHNpZ24g
PSBNYXRoLnNpZ24oZGVsdGEpOworICAgIHZhciBkZWx0YUFkanVzdGVkU3BlZWQgPSBNYXRoLm1p
bigwLjI1LCBNYXRoLmFicyhzcGVlZCAqIGRlbHRhIC8gMTI4KSk7CisgICAgcmV0dXJuIDEgLSBz
aWduICogZGVsdGFBZGp1c3RlZFNwZWVkOworICB9CisKKyAgZnVuY3Rpb24gdHJpZ2dlclBhblN0
YXJ0KCkgeworICAgIGlmICghcGFuc3RhcnRGaXJlZCkgeworICAgICAgdHJpZ2dlckV2ZW50KCdw
YW5zdGFydCcpOworICAgICAgcGFuc3RhcnRGaXJlZCA9IHRydWU7CisgICAgICBzbW9vdGhTY3Jv
bGwuc3RhcnQoKTsKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiB0cmlnZ2VyUGFuRW5kKCkgewor
ICAgIGlmIChwYW5zdGFydEZpcmVkKSB7CisgICAgICAvLyB3ZSBzaG91bGQgbmV2ZXIgcnVuIHNt
b290aCBzY3JvbGxpbmcgaWYgaXQgd2FzIG11bHRpVG91Y2ggKHBpbmNoIHpvb20gYW5pbWF0aW9u
KToKKyAgICAgIGlmICghbXVsdGlUb3VjaCkgc21vb3RoU2Nyb2xsLnN0b3AoKTsKKyAgICAgIHRy
aWdnZXJFdmVudCgncGFuZW5kJyk7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gdHJpZ2dlclpv
b21FbmQoKSB7CisgICAgdHJpZ2dlckV2ZW50KCd6b29tZW5kJyk7CisgIH0KKworICBmdW5jdGlv
biB0cmlnZ2VyRXZlbnQobmFtZSkgeworICAgIGFwaS5maXJlKG5hbWUsIGFwaSk7CisgIH0KK30K
KworZnVuY3Rpb24gcGFyc2VUcmFuc2Zvcm1PcmlnaW4ob3B0aW9ucykgeworICBpZiAoIW9wdGlv
bnMpIHJldHVybjsKKyAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnb2JqZWN0JykgeworICAgIGlm
ICghaXNOdW1iZXIob3B0aW9ucy54KSB8fCAhaXNOdW1iZXIob3B0aW9ucy55KSkKKyAgICAgIGZh
aWxUcmFuc2Zvcm1PcmlnaW4ob3B0aW9ucyk7CisgICAgcmV0dXJuIG9wdGlvbnM7CisgIH0KKwor
ICBmYWlsVHJhbnNmb3JtT3JpZ2luKCk7Cit9CisKK2Z1bmN0aW9uIGZhaWxUcmFuc2Zvcm1Pcmln
aW4ob3B0aW9ucykgeworICBjb25zb2xlLmVycm9yKG9wdGlvbnMpOworICB0aHJvdyBuZXcgRXJy
b3IoCisgICAgWworICAgICAgJ0Nhbm5vdCBwYXJzZSB0cmFuc2Zvcm0gb3JpZ2luLicsCisgICAg
ICAnU29tZSBnb29kIGV4YW1wbGVzOicsCisgICAgICAnICAiY2VudGVyIGNlbnRlciIgY2FuIGJl
IGFjaGlldmVkIHdpdGgge3g6IDAuNSwgeTogMC41fScsCisgICAgICAnICAidG9wIGNlbnRlciIg
Y2FuIGJlIGFjaGlldmVkIHdpdGgge3g6IDAuNSwgeTogMH0nLAorICAgICAgJyAgImJvdHRvbSBy
aWdodCIgY2FuIGJlIGFjaGlldmVkIHdpdGgge3g6IDEsIHk6IDF9JworICAgIF0uam9pbignXG4n
KQorICApOworfQorCitmdW5jdGlvbiBub29wKCkgeyB9CisKK2Z1bmN0aW9uIHZhbGlkYXRlQm91
bmRzKGJvdW5kcykgeworICB2YXIgYm91bmRzVHlwZSA9IHR5cGVvZiBib3VuZHM7CisgIGlmIChi
b3VuZHNUeXBlID09PSAndW5kZWZpbmVkJyB8fCBib3VuZHNUeXBlID09PSAnYm9vbGVhbicpIHJl
dHVybjsgLy8gdGhpcyBpcyBva2F5CisgIC8vIG90aGVyd2lzZSBuZWVkIHRvIGJlIG1vcmUgdGhv
cm91Z2g6CisgIHZhciB2YWxpZEJvdW5kcyA9CisgICAgaXNOdW1iZXIoYm91bmRzLmxlZnQpICYm
CisgICAgaXNOdW1iZXIoYm91bmRzLnRvcCkgJiYKKyAgICBpc051bWJlcihib3VuZHMuYm90dG9t
KSAmJgorICAgIGlzTnVtYmVyKGJvdW5kcy5yaWdodCk7CisKKyAgaWYgKCF2YWxpZEJvdW5kcykK
KyAgICB0aHJvdyBuZXcgRXJyb3IoCisgICAgICAnQm91bmRzIG9iamVjdCBpcyBub3QgdmFsaWQu
IEl0IGNhbiBiZTogJyArCisgICAgICAndW5kZWZpbmVkLCBib29sZWFuICh0cnVlfGZhbHNlKSBv
ciBhbiBvYmplY3Qge2xlZnQsIHRvcCwgcmlnaHQsIGJvdHRvbX0nCisgICAgKTsKK30KKworZnVu
Y3Rpb24gaXNOdW1iZXIoeCkgeworICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKHgpOworfQorCisv
LyBJRSAxMSBkb2VzIG5vdCBzdXBwb3J0IGlzTmFOOgorZnVuY3Rpb24gaXNOYU4odmFsdWUpIHsK
KyAgaWYgKE51bWJlci5pc05hTikgeworICAgIHJldHVybiBOdW1iZXIuaXNOYU4odmFsdWUpOwor
ICB9CisKKyAgcmV0dXJuIHZhbHVlICE9PSB2YWx1ZTsKK30KKworZnVuY3Rpb24gcmlnaWRTY3Jv
bGwoKSB7CisgIHJldHVybiB7CisgICAgc3RhcnQ6IG5vb3AsCisgICAgc3RvcDogbm9vcCwKKyAg
ICBjYW5jZWw6IG5vb3AKKyAgfTsKK30KKworZnVuY3Rpb24gYXV0b1J1bigpIHsKKyAgaWYgKHR5
cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybjsKKworICB2YXIgc2NyaXB0cyA9
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKTsKKyAgaWYgKCFzY3JpcHRz
KSByZXR1cm47CisgIHZhciBwYW56b29tU2NyaXB0OworCisgIGZvciAodmFyIGkgPSAwOyBpIDwg
c2NyaXB0cy5sZW5ndGg7ICsraSkgeworICAgIHZhciB4ID0gc2NyaXB0c1tpXTsKKyAgICBpZiAo
eC5zcmMgJiYgeC5zcmMubWF0Y2goL1xicGFuem9vbShcLm1pbik/XC5qcy8pKSB7CisgICAgICBw
YW56b29tU2NyaXB0ID0geDsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgfQorCisgIGlmICghcGFu
em9vbVNjcmlwdCkgcmV0dXJuOworCisgIHZhciBxdWVyeSA9IHBhbnpvb21TY3JpcHQuZ2V0QXR0
cmlidXRlKCdxdWVyeScpOworICBpZiAoIXF1ZXJ5KSByZXR1cm47CisKKyAgdmFyIGdsb2JhbE5h
bWUgPSBwYW56b29tU2NyaXB0LmdldEF0dHJpYnV0ZSgnbmFtZScpIHx8ICdweic7CisgIHZhciBz
dGFydGVkID0gRGF0ZS5ub3coKTsKKworICB0cnlBdHRhY2goKTsKKworICBmdW5jdGlvbiB0cnlB
dHRhY2goKSB7CisgICAgdmFyIGVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihxdWVyeSk7Cisg
ICAgaWYgKCFlbCkgeworICAgICAgdmFyIG5vdyA9IERhdGUubm93KCk7CisgICAgICB2YXIgZWxh
cHNlZCA9IG5vdyAtIHN0YXJ0ZWQ7CisgICAgICBpZiAoZWxhcHNlZCA8IDIwMDApIHsKKyAgICAg
ICAgLy8gTGV0J3Mgd2FpdCBhIGJpdAorICAgICAgICBzZXRUaW1lb3V0KHRyeUF0dGFjaCwgMTAw
KTsKKyAgICAgICAgcmV0dXJuOworICAgICAgfQorICAgICAgLy8gSWYgd2UgZG9uJ3QgYXR0YWNo
IHdpdGhpbiAyIHNlY29uZHMgdG8gdGhlIHRhcmdldCBlbGVtZW50LCBjb25zaWRlciBpdCBhIGZh
aWx1cmUKKyAgICAgIGNvbnNvbGUuZXJyb3IoJ0Nhbm5vdCBmaW5kIHRoZSBwYW56b29tIGVsZW1l
bnQnLCBnbG9iYWxOYW1lKTsKKyAgICAgIHJldHVybjsKKyAgICB9CisgICAgdmFyIG9wdGlvbnMg
PSBjb2xsZWN0T3B0aW9ucyhwYW56b29tU2NyaXB0KTsKKyAgICBjb25zb2xlLmxvZyhvcHRpb25z
KTsKKyAgICB3aW5kb3dbZ2xvYmFsTmFtZV0gPSBjcmVhdGVQYW5ab29tKGVsLCBvcHRpb25zKTsK
KyAgfQorCisgIGZ1bmN0aW9uIGNvbGxlY3RPcHRpb25zKHNjcmlwdCkgeworICAgIHZhciBhdHRy
cyA9IHNjcmlwdC5hdHRyaWJ1dGVzOworICAgIHZhciBvcHRpb25zID0ge307CisgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBhdHRycy5sZW5ndGg7ICsraSkgeworICAgICAgdmFyIGF0dHIgPSBhdHRy
c1tpXTsKKyAgICAgIHZhciBuYW1lVmFsdWUgPSBnZXRQYW56b29tQXR0cmlidXRlTmFtZVZhbHVl
KGF0dHIpOworICAgICAgaWYgKG5hbWVWYWx1ZSkgeworICAgICAgICBvcHRpb25zW25hbWVWYWx1
ZS5uYW1lXSA9IG5hbWVWYWx1ZS52YWx1ZTsKKyAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4g
b3B0aW9uczsKKyAgfQorCisgIGZ1bmN0aW9uIGdldFBhbnpvb21BdHRyaWJ1dGVOYW1lVmFsdWUo
YXR0cikgeworICAgIGlmICghYXR0ci5uYW1lKSByZXR1cm47CisgICAgdmFyIGlzUGFuWm9vbUF0
dHJpYnV0ZSA9CisgICAgICBhdHRyLm5hbWVbMF0gPT09ICdwJyAmJiBhdHRyLm5hbWVbMV0gPT09
ICd6JyAmJiBhdHRyLm5hbWVbMl0gPT09ICctJzsKKworICAgIGlmICghaXNQYW5ab29tQXR0cmli
dXRlKSByZXR1cm47CisKKyAgICB2YXIgbmFtZSA9IGF0dHIubmFtZS5zdWJzdHIoMyk7CisgICAg
dmFyIHZhbHVlID0gSlNPTi5wYXJzZShhdHRyLnZhbHVlKTsKKyAgICByZXR1cm4geyBuYW1lOiBu
YW1lLCB2YWx1ZTogdmFsdWUgfTsKKyAgfQorfQorCithdXRvUnVuKCk7CisKK30seyIuL2xpYi9j
cmVhdGVUZXh0U2VsZWN0aW9uSW50ZXJjZXB0b3IuanMiOjIsIi4vbGliL2RvbUNvbnRyb2xsZXIu
anMiOjMsIi4vbGliL2tpbmV0aWMuanMiOjQsIi4vbGliL3N2Z0NvbnRyb2xsZXIuanMiOjUsIi4v
bGliL3RyYW5zZm9ybS5qcyI6NiwiYW1hdG9yIjo3LCJuZ3JhcGguZXZlbnRzIjo5LCJ3aGVlbCI6
MTB9XSwyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKKy8qKgorICogRGlzYWxs
b3dzIHNlbGVjdGluZyB0ZXh0LgorICovCittb2R1bGUuZXhwb3J0cyA9IGNyZWF0ZVRleHRTZWxl
Y3Rpb25JbnRlcmNlcHRvcjsKKworZnVuY3Rpb24gY3JlYXRlVGV4dFNlbGVjdGlvbkludGVyY2Vw
dG9yKHVzZUZha2UpIHsKKyAgaWYgKHVzZUZha2UpIHsKKyAgICByZXR1cm4geworICAgICAgY2Fw
dHVyZTogbm9vcCwKKyAgICAgIHJlbGVhc2U6IG5vb3AKKyAgICB9OworICB9CisKKyAgdmFyIGRy
YWdPYmplY3Q7CisgIHZhciBwcmV2U2VsZWN0U3RhcnQ7CisgIHZhciBwcmV2RHJhZ1N0YXJ0Owor
ICB2YXIgd2FzQ2FwdHVyZWQgPSBmYWxzZTsKKworICByZXR1cm4geworICAgIGNhcHR1cmU6IGNh
cHR1cmUsCisgICAgcmVsZWFzZTogcmVsZWFzZQorICB9OworCisgIGZ1bmN0aW9uIGNhcHR1cmUo
ZG9tT2JqZWN0KSB7CisgICAgd2FzQ2FwdHVyZWQgPSB0cnVlOworICAgIHByZXZTZWxlY3RTdGFy
dCA9IHdpbmRvdy5kb2N1bWVudC5vbnNlbGVjdHN0YXJ0OworICAgIHByZXZEcmFnU3RhcnQgPSB3
aW5kb3cuZG9jdW1lbnQub25kcmFnc3RhcnQ7CisKKyAgICB3aW5kb3cuZG9jdW1lbnQub25zZWxl
Y3RzdGFydCA9IGRpc2FibGVkOworCisgICAgZHJhZ09iamVjdCA9IGRvbU9iamVjdDsKKyAgICBk
cmFnT2JqZWN0Lm9uZHJhZ3N0YXJ0ID0gZGlzYWJsZWQ7CisgIH0KKworICBmdW5jdGlvbiByZWxl
YXNlKCkgeworICAgIGlmICghd2FzQ2FwdHVyZWQpIHJldHVybjsKKyAgICAKKyAgICB3YXNDYXB0
dXJlZCA9IGZhbHNlOworICAgIHdpbmRvdy5kb2N1bWVudC5vbnNlbGVjdHN0YXJ0ID0gcHJldlNl
bGVjdFN0YXJ0OworICAgIGlmIChkcmFnT2JqZWN0KSBkcmFnT2JqZWN0Lm9uZHJhZ3N0YXJ0ID0g
cHJldkRyYWdTdGFydDsKKyAgfQorfQorCitmdW5jdGlvbiBkaXNhYmxlZChlKSB7CisgIGUuc3Rv
cFByb3BhZ2F0aW9uKCk7CisgIHJldHVybiBmYWxzZTsKK30KKworZnVuY3Rpb24gbm9vcCgpIHt9
CisKK30se31dLDM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpeworbW9kdWxlLmV4
cG9ydHMgPSBtYWtlRG9tQ29udHJvbGxlcgorCitmdW5jdGlvbiBtYWtlRG9tQ29udHJvbGxlcihk
b21FbGVtZW50LCBvcHRpb25zKSB7CisgIHZhciBlbGVtZW50VmFsaWQgPSAoZG9tRWxlbWVudCBp
bnN0YW5jZW9mIEhUTUxFbGVtZW50KQorICBpZiAoIWVsZW1lbnRWYWxpZCkgeworICAgIHRocm93
IG5ldyBFcnJvcignc3ZnIGVsZW1lbnQgaXMgcmVxdWlyZWQgZm9yIHN2Zy5wYW56b29tIHRvIHdv
cmsnKQorICB9CisKKyAgdmFyIG93bmVyID0gZG9tRWxlbWVudC5wYXJlbnRFbGVtZW50CisgIGlm
ICghb3duZXIpIHsKKyAgICB0aHJvdyBuZXcgRXJyb3IoCisgICAgICAnRG8gbm90IGFwcGx5IHBh
bnpvb20gdG8gdGhlIGRldGFjaGVkIERPTSBlbGVtZW50LiAnCisgICAgKQorICB9CisKKyAgZG9t
RWxlbWVudC5zY3JvbGxUb3AgPSAwOworICAKKyAgaWYgKCFvcHRpb25zLmRpc2FibGVLZXlib2Fy
ZEludGVyYWN0aW9uKSB7CisgICAgb3duZXIuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsIDApOwor
ICB9CisKKyAgdmFyIGFwaSA9IHsKKyAgICBnZXRCQm94OiBnZXRCQm94LAorICAgIGdldE93bmVy
OiBnZXRPd25lciwKKyAgICBhcHBseVRyYW5zZm9ybTogYXBwbHlUcmFuc2Zvcm0sCisgIH0KKyAg
CisgIHJldHVybiBhcGkKKworICBmdW5jdGlvbiBnZXRPd25lcigpIHsKKyAgICByZXR1cm4gb3du
ZXIKKyAgfQorCisgIGZ1bmN0aW9uIGdldEJCb3goKSB7CisgICAgLy8gVE9ETzogV2Ugc2hvdWxk
IHByb2JhYmx5IGNhY2hlIHRoaXM/CisgICAgcmV0dXJuICB7CisgICAgICBsZWZ0OiAwLAorICAg
ICAgdG9wOiAwLAorICAgICAgd2lkdGg6IGRvbUVsZW1lbnQuY2xpZW50V2lkdGgsCisgICAgICBo
ZWlnaHQ6IGRvbUVsZW1lbnQuY2xpZW50SGVpZ2h0CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24g
YXBwbHlUcmFuc2Zvcm0odHJhbnNmb3JtKSB7CisgICAgLy8gVE9ETzogU2hvdWxkIHdlIGNhY2hl
IHRoaXM/CisgICAgZG9tRWxlbWVudC5zdHlsZS50cmFuc2Zvcm1PcmlnaW4gPSAnMCAwIDAnOwor
ICAgIGRvbUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gJ21hdHJpeCgnICsKKyAgICAgIHRyYW5z
Zm9ybS5zY2FsZSArICcsIDAsIDAsICcgKworICAgICAgdHJhbnNmb3JtLnNjYWxlICsgJywgJyAr
CisgICAgICB0cmFuc2Zvcm0ueCArICcsICcgKyB0cmFuc2Zvcm0ueSArICcpJworICB9Cit9CisK
K30se31dLDQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpeworKGZ1bmN0aW9uIChn
bG9iYWwpeworLyoqCisgKiBBbGxvd3Mgc21vb3RoIGtpbmV0aWMgc2Nyb2xsaW5nIG9mIHRoZSBz
dXJmYWNlCisgKi8KK21vZHVsZS5leHBvcnRzID0ga2luZXRpYzsKKworZnVuY3Rpb24ga2luZXRp
YyhnZXRQb2ludCwgc2Nyb2xsLCBzZXR0aW5ncykgeworICBpZiAodHlwZW9mIHNldHRpbmdzICE9
PSAnb2JqZWN0JykgeworICAgIC8vIHNldHRpbmcgY291bGQgY29tZSBhcyBib29sZWFuLCB3ZSBz
aG91bGQgaWdub3JlIGl0LCBhbmQgdXNlIGFuIG9iamVjdC4KKyAgICBzZXR0aW5ncyA9IHt9Owor
ICB9CisKKyAgdmFyIG1pblZlbG9jaXR5ID0gdHlwZW9mIHNldHRpbmdzLm1pblZlbG9jaXR5ID09
PSAnbnVtYmVyJyA/IHNldHRpbmdzLm1pblZlbG9jaXR5IDogNTsKKyAgdmFyIGFtcGxpdHVkZSA9
IHR5cGVvZiBzZXR0aW5ncy5hbXBsaXR1ZGUgPT09ICdudW1iZXInID8gc2V0dGluZ3MuYW1wbGl0
dWRlIDogMC4yNTsKKyAgdmFyIGNhbmNlbEFuaW1hdGlvbkZyYW1lID0gdHlwZW9mIHNldHRpbmdz
LmNhbmNlbEFuaW1hdGlvbkZyYW1lID09PSAnZnVuY3Rpb24nID8gc2V0dGluZ3MuY2FuY2VsQW5p
bWF0aW9uRnJhbWUgOiBnZXRDYW5jZWxBbmltYXRpb25GcmFtZSgpOworICB2YXIgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lID0gdHlwZW9mIHNldHRpbmdzLnJlcXVlc3RBbmltYXRpb25GcmFtZSA9PT0g
J2Z1bmN0aW9uJyA/IHNldHRpbmdzLnJlcXVlc3RBbmltYXRpb25GcmFtZSA6IGdldFJlcXVlc3RB
bmltYXRpb25GcmFtZSgpOworCisgIHZhciBsYXN0UG9pbnQ7CisgIHZhciB0aW1lc3RhbXA7Cisg
IHZhciB0aW1lQ29uc3RhbnQgPSAzNDI7CisKKyAgdmFyIHRpY2tlcjsKKyAgdmFyIHZ4LCB0YXJn
ZXRYLCBheDsKKyAgdmFyIHZ5LCB0YXJnZXRZLCBheTsKKworICB2YXIgcmFmOworCisgIHJldHVy
biB7CisgICAgc3RhcnQ6IHN0YXJ0LAorICAgIHN0b3A6IHN0b3AsCisgICAgY2FuY2VsOiBkaXNw
b3NlCisgIH07CisKKyAgZnVuY3Rpb24gZGlzcG9zZSgpIHsKKyAgICBjYW5jZWxBbmltYXRpb25G
cmFtZSh0aWNrZXIpOworICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJhZik7CisgIH0KKworICBm
dW5jdGlvbiBzdGFydCgpIHsKKyAgICBsYXN0UG9pbnQgPSBnZXRQb2ludCgpOworCisgICAgYXgg
PSBheSA9IHZ4ID0gdnkgPSAwOworICAgIHRpbWVzdGFtcCA9IG5ldyBEYXRlKCk7CisKKyAgICBj
YW5jZWxBbmltYXRpb25GcmFtZSh0aWNrZXIpOworICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJh
Zik7CisKKyAgICAvLyB3ZSBzdGFydCBwb2xsaW5nIHRoZSBwb2ludCBwb3NpdGlvbiB0byBhY2N1
bXVsYXRlIHZlbG9jaXR5CisgICAgLy8gT25jZSB3ZSBzdG9wKCksIHdlIHdpbGwgdXNlIGFjY3Vt
dWxhdGVkIHZlbG9jaXR5IHRvIGtlZXAgc2Nyb2xsaW5nCisgICAgLy8gYW4gb2JqZWN0LgorICAg
IHRpY2tlciA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSh0cmFjayk7CisgIH0KKworICBmdW5jdGlv
biB0cmFjaygpIHsKKyAgICB2YXIgbm93ID0gRGF0ZS5ub3coKTsKKyAgICB2YXIgZWxhcHNlZCA9
IG5vdyAtIHRpbWVzdGFtcDsKKyAgICB0aW1lc3RhbXAgPSBub3c7CisKKyAgICB2YXIgY3VycmVu
dFBvaW50ID0gZ2V0UG9pbnQoKTsKKworICAgIHZhciBkeCA9IGN1cnJlbnRQb2ludC54IC0gbGFz
dFBvaW50Lng7CisgICAgdmFyIGR5ID0gY3VycmVudFBvaW50LnkgLSBsYXN0UG9pbnQueTsKKwor
ICAgIGxhc3RQb2ludCA9IGN1cnJlbnRQb2ludDsKKworICAgIHZhciBkdCA9IDEwMDAgLyAoMSAr
IGVsYXBzZWQpOworCisgICAgLy8gbW92aW5nIGF2ZXJhZ2UKKyAgICB2eCA9IDAuOCAqIGR4ICog
ZHQgKyAwLjIgKiB2eDsKKyAgICB2eSA9IDAuOCAqIGR5ICogZHQgKyAwLjIgKiB2eTsKKworICAg
IHRpY2tlciA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSh0cmFjayk7CisgIH0KKworICBmdW5jdGlv
biBzdG9wKCkgeworICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRpY2tlcik7CisgICAgY2FuY2Vs
QW5pbWF0aW9uRnJhbWUocmFmKTsKKworICAgIHZhciBjdXJyZW50UG9pbnQgPSBnZXRQb2ludCgp
OworCisgICAgdGFyZ2V0WCA9IGN1cnJlbnRQb2ludC54OworICAgIHRhcmdldFkgPSBjdXJyZW50
UG9pbnQueTsKKyAgICB0aW1lc3RhbXAgPSBEYXRlLm5vdygpOworCisgICAgaWYgKHZ4IDwgLW1p
blZlbG9jaXR5IHx8IHZ4ID4gbWluVmVsb2NpdHkpIHsKKyAgICAgIGF4ID0gYW1wbGl0dWRlICog
dng7CisgICAgICB0YXJnZXRYICs9IGF4OworICAgIH0KKworICAgIGlmICh2eSA8IC1taW5WZWxv
Y2l0eSB8fCB2eSA+IG1pblZlbG9jaXR5KSB7CisgICAgICBheSA9IGFtcGxpdHVkZSAqIHZ5Owor
ICAgICAgdGFyZ2V0WSArPSBheTsKKyAgICB9CisKKyAgICByYWYgPSByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUoYXV0b1Njcm9sbCk7CisgIH0KKworICBmdW5jdGlvbiBhdXRvU2Nyb2xsKCkgeworICAg
IHZhciBlbGFwc2VkID0gRGF0ZS5ub3coKSAtIHRpbWVzdGFtcDsKKworICAgIHZhciBtb3Zpbmcg
PSBmYWxzZTsKKyAgICB2YXIgZHggPSAwOworICAgIHZhciBkeSA9IDA7CisKKyAgICBpZiAoYXgp
IHsKKyAgICAgIGR4ID0gLWF4ICogTWF0aC5leHAoLWVsYXBzZWQgLyB0aW1lQ29uc3RhbnQpOwor
CisgICAgICBpZiAoZHggPiAwLjUgfHwgZHggPCAtMC41KSBtb3ZpbmcgPSB0cnVlOworICAgICAg
ZWxzZSBkeCA9IGF4ID0gMDsKKyAgICB9CisKKyAgICBpZiAoYXkpIHsKKyAgICAgIGR5ID0gLWF5
ICogTWF0aC5leHAoLWVsYXBzZWQgLyB0aW1lQ29uc3RhbnQpOworCisgICAgICBpZiAoZHkgPiAw
LjUgfHwgZHkgPCAtMC41KSBtb3ZpbmcgPSB0cnVlOworICAgICAgZWxzZSBkeSA9IGF5ID0gMDsK
KyAgICB9CisKKyAgICBpZiAobW92aW5nKSB7CisgICAgICBzY3JvbGwodGFyZ2V0WCArIGR4LCB0
YXJnZXRZICsgZHkpOworICAgICAgcmFmID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGF1dG9TY3Jv
bGwpOworICAgIH0KKyAgfQorfQorCitmdW5jdGlvbiBnZXRDYW5jZWxBbmltYXRpb25GcmFtZSgp
IHsKKyAgaWYgKHR5cGVvZiBnbG9iYWwuY2FuY2VsQW5pbWF0aW9uRnJhbWUgPT09ICdmdW5jdGlv
bicpIHJldHVybiBnbG9iYWwuY2FuY2VsQW5pbWF0aW9uRnJhbWU7CisKKyAgcmV0dXJuIGNsZWFy
VGltZW91dDsKK30KKworZnVuY3Rpb24gZ2V0UmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkgeworICBp
ZiAodHlwZW9mIGdsb2JhbC5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPT09ICdmdW5jdGlvbicpIHJl
dHVybiBnbG9iYWwucmVxdWVzdEFuaW1hdGlvbkZyYW1lOworCisgIHJldHVybiBmdW5jdGlvbiAo
aGFuZGxlcikgeworICAgIHJldHVybiBzZXRUaW1lb3V0KGhhbmRsZXIsIDE2KTsKKyAgfQorfQor
fSkuY2FsbCh0aGlzLHR5cGVvZiBnbG9iYWwgIT09ICJ1bmRlZmluZWQiID8gZ2xvYmFsIDogdHlw
ZW9mIHNlbGYgIT09ICJ1bmRlZmluZWQiID8gc2VsZiA6IHR5cGVvZiB3aW5kb3cgIT09ICJ1bmRl
ZmluZWQiID8gd2luZG93IDoge30pCit9LHt9XSw1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxl
eHBvcnRzKXsKK21vZHVsZS5leHBvcnRzID0gbWFrZVN2Z0NvbnRyb2xsZXIKKworZnVuY3Rpb24g
bWFrZVN2Z0NvbnRyb2xsZXIoc3ZnRWxlbWVudCwgb3B0aW9ucykgeworICB2YXIgZWxlbWVudFZh
bGlkID0gKHN2Z0VsZW1lbnQgaW5zdGFuY2VvZiBTVkdFbGVtZW50KQorICBpZiAoIWVsZW1lbnRW
YWxpZCkgeworICAgIHRocm93IG5ldyBFcnJvcignc3ZnIGVsZW1lbnQgaXMgcmVxdWlyZWQgZm9y
IHN2Zy5wYW56b29tIHRvIHdvcmsnKQorICB9CisKKyAgdmFyIG93bmVyID0gc3ZnRWxlbWVudC5v
d25lclNWR0VsZW1lbnQKKyAgaWYgKCFvd25lcikgeworICAgIHRocm93IG5ldyBFcnJvcigKKyAg
ICAgICdEbyBub3QgYXBwbHkgcGFuem9vbSB0byB0aGUgcm9vdCA8c3ZnPiBlbGVtZW50LiAnICsK
KyAgICAgICdVc2UgaXRzIGNoaWxkIGluc3RlYWQgKGUuZy4gPGc+PC9nPikuICcgKworICAgICAg
J0FzIG9mIE1hcmNoIDIwMTYgb25seSBGaXJlRm94IHN1cHBvcnRlZCB0cmFuc2Zvcm0gb24gdGhl
IHJvb3QgZWxlbWVudCcpCisgIH0KKworICBpZiAoIW9wdGlvbnMuZGlzYWJsZUtleWJvYXJkSW50
ZXJhY3Rpb24pIHsKKyAgICBvd25lci5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgMCk7CisgIH0K
KworICB2YXIgYXBpID0geworICAgIGdldEJCb3g6IGdldEJCb3gsCisgICAgZ2V0U2NyZWVuQ1RN
OiBnZXRTY3JlZW5DVE0sCisgICAgZ2V0T3duZXI6IGdldE93bmVyLAorICAgIGFwcGx5VHJhbnNm
b3JtOiBhcHBseVRyYW5zZm9ybSwKKyAgICBpbml0VHJhbnNmb3JtOiBpbml0VHJhbnNmb3JtCisg
IH0KKyAgCisgIHJldHVybiBhcGkKKworICBmdW5jdGlvbiBnZXRPd25lcigpIHsKKyAgICByZXR1
cm4gb3duZXIKKyAgfQorCisgIGZ1bmN0aW9uIGdldEJCb3goKSB7CisgICAgdmFyIGJib3ggPSAg
c3ZnRWxlbWVudC5nZXRCQm94KCkKKyAgICByZXR1cm4geworICAgICAgbGVmdDogYmJveC54LAor
ICAgICAgdG9wOiBiYm94LnksCisgICAgICB3aWR0aDogYmJveC53aWR0aCwKKyAgICAgIGhlaWdo
dDogYmJveC5oZWlnaHQsCisgICAgfQorICB9CisKKyAgZnVuY3Rpb24gZ2V0U2NyZWVuQ1RNKCkg
eworICAgIHZhciBjdG0gPSBvd25lci5nZXRDVE0oKTsKKyAgICBpZiAoIWN0bSkgeworICAgICAg
Ly8gVGhpcyBpcyBsaWtlbHkgZmlyZWZveDogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODczMTA2CisgICAgICAvLyBUaGUgY29kZSBiZWxvdyBpcyBub3QgZW50
aXJlbHkgY29ycmVjdCwgYnV0IHN0aWxsIGJldHRlciB0aGFuIG5vdGhpbmcKKyAgICAgIHJldHVy
biBvd25lci5nZXRTY3JlZW5DVE0oKTsKKyAgICB9CisgICAgcmV0dXJuIGN0bTsKKyAgfQorCisg
IGZ1bmN0aW9uIGluaXRUcmFuc2Zvcm0odHJhbnNmb3JtKSB7CisgICAgdmFyIHNjcmVlbkNUTSA9
IHN2Z0VsZW1lbnQuZ2V0Q1RNKCkKKyAgICB0cmFuc2Zvcm0ueCA9IHNjcmVlbkNUTS5lOworICAg
IHRyYW5zZm9ybS55ID0gc2NyZWVuQ1RNLmY7CisgICAgdHJhbnNmb3JtLnNjYWxlID0gc2NyZWVu
Q1RNLmE7CisgICAgb3duZXIucmVtb3ZlQXR0cmlidXRlTlMobnVsbCwgJ3ZpZXdCb3gnKTsKKyAg
fQorCisgIGZ1bmN0aW9uIGFwcGx5VHJhbnNmb3JtKHRyYW5zZm9ybSkgeworICAgIHN2Z0VsZW1l
bnQuc2V0QXR0cmlidXRlKCd0cmFuc2Zvcm0nLCAnbWF0cml4KCcgKworICAgICAgdHJhbnNmb3Jt
LnNjYWxlICsgJyAwIDAgJyArCisgICAgICB0cmFuc2Zvcm0uc2NhbGUgKyAnICcgKworICAgICAg
dHJhbnNmb3JtLnggKyAnICcgKyB0cmFuc2Zvcm0ueSArICcpJykKKyAgfQorfQorfSx7fV0sNjpb
ZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cittb2R1bGUuZXhwb3J0cyA9IFRyYW5z
Zm9ybTsKKworZnVuY3Rpb24gVHJhbnNmb3JtKCkgeworICB0aGlzLnggPSAwOworICB0aGlzLnkg
PSAwOworICB0aGlzLnNjYWxlID0gMTsKK30KKworfSx7fV0sNzpbZnVuY3Rpb24ocmVxdWlyZSxt
b2R1bGUsZXhwb3J0cyl7Cit2YXIgQmV6aWVyRWFzaW5nID0gcmVxdWlyZSgnYmV6aWVyLWVhc2lu
ZycpCisKKy8vIFByZWRlZmluZWQgc2V0IG9mIGFuaW1hdGlvbnMuIFNpbWlsYXIgdG8gQ1NTIGVh
c2luZyBmdW5jdGlvbnMKK3ZhciBhbmltYXRpb25zID0geworICBlYXNlOiAgQmV6aWVyRWFzaW5n
KDAuMjUsIDAuMSwgMC4yNSwgMSksCisgIGVhc2VJbjogQmV6aWVyRWFzaW5nKDAuNDIsIDAsIDEs
IDEpLAorICBlYXNlT3V0OiBCZXppZXJFYXNpbmcoMCwgMCwgMC41OCwgMSksCisgIGVhc2VJbk91
dDogQmV6aWVyRWFzaW5nKDAuNDIsIDAsIDAuNTgsIDEpLAorICBsaW5lYXI6IEJlemllckVhc2lu
ZygwLCAwLCAxLCAxKQorfQorCisKK21vZHVsZS5leHBvcnRzID0gYW5pbWF0ZTsKK21vZHVsZS5l
eHBvcnRzLm1ha2VBZ2dyZWdhdGVSYWYgPSBtYWtlQWdncmVnYXRlUmFmOworbW9kdWxlLmV4cG9y
dHMuc2hhcmVkU2NoZWR1bGVyID0gbWFrZUFnZ3JlZ2F0ZVJhZigpOworCisKK2Z1bmN0aW9uIGFu
aW1hdGUoc291cmNlLCB0YXJnZXQsIG9wdGlvbnMpIHsKKyAgdmFyIHN0YXJ0ID0gT2JqZWN0LmNy
ZWF0ZShudWxsKQorICB2YXIgZGlmZiA9IE9iamVjdC5jcmVhdGUobnVsbCkKKyAgb3B0aW9ucyA9
IG9wdGlvbnMgfHwge30KKyAgLy8gV2UgbGV0IGNsaWVudHMgc3BlY2lmeSB0aGVpciBvd24gZWFz
aW5nIGZ1bmN0aW9uCisgIHZhciBlYXNpbmcgPSAodHlwZW9mIG9wdGlvbnMuZWFzaW5nID09PSAn
ZnVuY3Rpb24nKSA/IG9wdGlvbnMuZWFzaW5nIDogYW5pbWF0aW9uc1tvcHRpb25zLmVhc2luZ10K
KworICAvLyBpZiBub3RoaW5nIGlzIHNwZWNpZmllZCwgZGVmYXVsdCB0byBlYXNlIChzaW1pbGFy
IHRvIENTUyBhbmltYXRpb25zKQorICBpZiAoIWVhc2luZykgeworICAgIGlmIChvcHRpb25zLmVh
c2luZykgeworICAgICAgY29uc29sZS53YXJuKCdVbmtub3duIGVhc2luZyBmdW5jdGlvbiBpbiBh
bWF0b3I6ICcgKyBvcHRpb25zLmVhc2luZyk7CisgICAgfQorICAgIGVhc2luZyA9IGFuaW1hdGlv
bnMuZWFzZQorICB9CisKKyAgdmFyIHN0ZXAgPSB0eXBlb2Ygb3B0aW9ucy5zdGVwID09PSAnZnVu
Y3Rpb24nID8gb3B0aW9ucy5zdGVwIDogbm9vcAorICB2YXIgZG9uZSA9IHR5cGVvZiBvcHRpb25z
LmRvbmUgPT09ICdmdW5jdGlvbicgPyBvcHRpb25zLmRvbmUgOiBub29wCisKKyAgdmFyIHNjaGVk
dWxlciA9IGdldFNjaGVkdWxlcihvcHRpb25zLnNjaGVkdWxlcikKKworICB2YXIga2V5cyA9IE9i
amVjdC5rZXlzKHRhcmdldCkKKyAga2V5cy5mb3JFYWNoKGZ1bmN0aW9uKGtleSkgeworICAgIHN0
YXJ0W2tleV0gPSBzb3VyY2Vba2V5XQorICAgIGRpZmZba2V5XSA9IHRhcmdldFtrZXldIC0gc291
cmNlW2tleV0KKyAgfSkKKworICB2YXIgZHVyYXRpb25Jbk1zID0gdHlwZW9mIG9wdGlvbnMuZHVy
YXRpb24gPT09ICdudW1iZXInID8gb3B0aW9ucy5kdXJhdGlvbiA6IDQwMAorICB2YXIgZHVyYXRp
b25JbkZyYW1lcyA9IE1hdGgubWF4KDEsIGR1cmF0aW9uSW5NcyAqIDAuMDYpIC8vIDAuMDYgYmVj
YXVzZSA2MCBmcmFtZXMgcGVycyAxLDAwMCBtcworICB2YXIgcHJldmlvdXNBbmltYXRpb25JZAor
ICB2YXIgZnJhbWUgPSAwCisKKyAgcHJldmlvdXNBbmltYXRpb25JZCA9IHNjaGVkdWxlci5uZXh0
KGxvb3ApCisKKyAgcmV0dXJuIHsKKyAgICBjYW5jZWw6IGNhbmNlbAorICB9CisKKyAgZnVuY3Rp
b24gY2FuY2VsKCkgeworICAgIHNjaGVkdWxlci5jYW5jZWwocHJldmlvdXNBbmltYXRpb25JZCkK
KyAgICBwcmV2aW91c0FuaW1hdGlvbklkID0gMAorICB9CisKKyAgZnVuY3Rpb24gbG9vcCgpIHsK
KyAgICB2YXIgdCA9IGVhc2luZyhmcmFtZS9kdXJhdGlvbkluRnJhbWVzKQorICAgIGZyYW1lICs9
IDEKKyAgICBzZXRWYWx1ZXModCkKKyAgICBpZiAoZnJhbWUgPD0gZHVyYXRpb25JbkZyYW1lcykg
eworICAgICAgcHJldmlvdXNBbmltYXRpb25JZCA9IHNjaGVkdWxlci5uZXh0KGxvb3ApCisgICAg
ICBzdGVwKHNvdXJjZSkKKyAgICB9IGVsc2UgeworICAgICAgcHJldmlvdXNBbmltYXRpb25JZCA9
IDAKKyAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGRvbmUoc291cmNlKSB9LCAwKQorICAg
IH0KKyAgfQorCisgIGZ1bmN0aW9uIHNldFZhbHVlcyh0KSB7CisgICAga2V5cy5mb3JFYWNoKGZ1
bmN0aW9uKGtleSkgeworICAgICAgc291cmNlW2tleV0gPSBkaWZmW2tleV0gKiB0ICsgc3RhcnRb
a2V5XQorICAgIH0pCisgIH0KK30KKworZnVuY3Rpb24gbm9vcCgpIHsgfQorCitmdW5jdGlvbiBn
ZXRTY2hlZHVsZXIoc2NoZWR1bGVyKSB7CisgIGlmICghc2NoZWR1bGVyKSB7CisgICAgdmFyIGNh
blJhZiA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5yZXF1ZXN0QW5p
bWF0aW9uRnJhbWUKKyAgICByZXR1cm4gY2FuUmFmID8gcmFmU2NoZWR1bGVyKCkgOiB0aW1lb3V0
U2NoZWR1bGVyKCkKKyAgfQorICBpZiAodHlwZW9mIHNjaGVkdWxlci5uZXh0ICE9PSAnZnVuY3Rp
b24nKSB0aHJvdyBuZXcgRXJyb3IoJ1NjaGVkdWxlciBpcyBzdXBwb3NlZCB0byBoYXZlIG5leHQo
Y2IpIGZ1bmN0aW9uJykKKyAgaWYgKHR5cGVvZiBzY2hlZHVsZXIuY2FuY2VsICE9PSAnZnVuY3Rp
b24nKSB0aHJvdyBuZXcgRXJyb3IoJ1NjaGVkdWxlciBpcyBzdXBwb3NlZCB0byBoYXZlIGNhbmNl
bChoYW5kbGUpIGZ1bmN0aW9uJykKKworICByZXR1cm4gc2NoZWR1bGVyCit9CisKK2Z1bmN0aW9u
IHJhZlNjaGVkdWxlcigpIHsKKyAgcmV0dXJuIHsKKyAgICBuZXh0OiB3aW5kb3cucmVxdWVzdEFu
aW1hdGlvbkZyYW1lLmJpbmQod2luZG93KSwKKyAgICBjYW5jZWw6IHdpbmRvdy5jYW5jZWxBbmlt
YXRpb25GcmFtZS5iaW5kKHdpbmRvdykKKyAgfQorfQorCitmdW5jdGlvbiB0aW1lb3V0U2NoZWR1
bGVyKCkgeworICByZXR1cm4geworICAgIG5leHQ6IGZ1bmN0aW9uKGNiKSB7CisgICAgICByZXR1
cm4gc2V0VGltZW91dChjYiwgMTAwMC82MCkKKyAgICB9LAorICAgIGNhbmNlbDogZnVuY3Rpb24g
KGlkKSB7CisgICAgICByZXR1cm4gY2xlYXJUaW1lb3V0KGlkKQorICAgIH0KKyAgfQorfQorCitm
dW5jdGlvbiBtYWtlQWdncmVnYXRlUmFmKCkgeworICB2YXIgZnJvbnRCdWZmZXIgPSBuZXcgU2V0
KCk7CisgIHZhciBiYWNrQnVmZmVyID0gbmV3IFNldCgpOworICB2YXIgZnJhbWVUb2tlbiA9IDA7
CisKKyAgcmV0dXJuIHsKKyAgICBuZXh0OiBuZXh0LAorICAgIGNhbmNlbDogbmV4dCwKKyAgICBj
bGVhckFsbDogY2xlYXJBbGwKKyAgfQorCisgIGZ1bmN0aW9uIGNsZWFyQWxsKCkgeworICAgIGZy
b250QnVmZmVyLmNsZWFyKCk7CisgICAgYmFja0J1ZmZlci5jbGVhcigpOworICAgIGNhbmNlbEFu
aW1hdGlvbkZyYW1lKGZyYW1lVG9rZW4pOworICAgIGZyYW1lVG9rZW4gPSAwOworICB9CisKKyAg
ZnVuY3Rpb24gbmV4dChjYWxsYmFjaykgeworICAgIGJhY2tCdWZmZXIuYWRkKGNhbGxiYWNrKTsK
KyAgICByZW5kZXJOZXh0RnJhbWUoKTsKKyAgfQorCisgIGZ1bmN0aW9uIHJlbmRlck5leHRGcmFt
ZSgpIHsKKyAgICBpZiAoIWZyYW1lVG9rZW4pIGZyYW1lVG9rZW4gPSByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUocmVuZGVyRnJhbWUpOworICB9CisKKyAgZnVuY3Rpb24gcmVuZGVyRnJhbWUoKSB7Cisg
ICAgZnJhbWVUb2tlbiA9IDA7CisKKyAgICB2YXIgdCA9IGJhY2tCdWZmZXI7CisgICAgYmFja0J1
ZmZlciA9IGZyb250QnVmZmVyOworICAgIGZyb250QnVmZmVyID0gdDsNCisKKyAgICBmcm9udEJ1
ZmZlci5mb3JFYWNoKGZ1bmN0aW9uKGNhbGxiYWNrKSB7CisgICAgICBjYWxsYmFjaygpOworICAg
IH0pOworICAgIGZyb250QnVmZmVyLmNsZWFyKCk7CisgIH0KKworICBmdW5jdGlvbiBjYW5jZWwo
Y2FsbGJhY2spIHsKKyAgICBiYWNrQnVmZmVyLmRlbGV0ZShjYWxsYmFjayk7CisgIH0KK30KKwor
fSx7ImJlemllci1lYXNpbmciOjh9XSw4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRz
KXsKKy8qKgorICogaHR0cHM6Ly9naXRodWIuY29tL2dyZS9iZXppZXItZWFzaW5nCisgKiBCZXpp
ZXJFYXNpbmcgLSB1c2UgYmV6aWVyIGN1cnZlIGZvciB0cmFuc2l0aW9uIGVhc2luZyBmdW5jdGlv
bgorICogYnkgR2HDq3RhbiBSZW5hdWRlYXUgMjAxNCAtIDIwMTUg4oCTIE1JVCBMaWNlbnNlCisg
Ki8KKworLy8gVGhlc2UgdmFsdWVzIGFyZSBlc3RhYmxpc2hlZCBieSBlbXBpcmljaXNtIHdpdGgg
dGVzdHMgKHRyYWRlb2ZmOiBwZXJmb3JtYW5jZSBWUyBwcmVjaXNpb24pCit2YXIgTkVXVE9OX0lU
RVJBVElPTlMgPSA0OwordmFyIE5FV1RPTl9NSU5fU0xPUEUgPSAwLjAwMTsKK3ZhciBTVUJESVZJ
U0lPTl9QUkVDSVNJT04gPSAwLjAwMDAwMDE7Cit2YXIgU1VCRElWSVNJT05fTUFYX0lURVJBVElP
TlMgPSAxMDsKKwordmFyIGtTcGxpbmVUYWJsZVNpemUgPSAxMTsKK3ZhciBrU2FtcGxlU3RlcFNp
emUgPSAxLjAgLyAoa1NwbGluZVRhYmxlU2l6ZSAtIDEuMCk7CisKK3ZhciBmbG9hdDMyQXJyYXlT
dXBwb3J0ZWQgPSB0eXBlb2YgRmxvYXQzMkFycmF5ID09PSAnZnVuY3Rpb24nOworCitmdW5jdGlv
biBBIChhQTEsIGFBMikgeyByZXR1cm4gMS4wIC0gMy4wICogYUEyICsgMy4wICogYUExOyB9Citm
dW5jdGlvbiBCIChhQTEsIGFBMikgeyByZXR1cm4gMy4wICogYUEyIC0gNi4wICogYUExOyB9Citm
dW5jdGlvbiBDIChhQTEpICAgICAgeyByZXR1cm4gMy4wICogYUExOyB9CisKKy8vIFJldHVybnMg
eCh0KSBnaXZlbiB0LCB4MSwgYW5kIHgyLCBvciB5KHQpIGdpdmVuIHQsIHkxLCBhbmQgeTIuCitm
dW5jdGlvbiBjYWxjQmV6aWVyIChhVCwgYUExLCBhQTIpIHsgcmV0dXJuICgoQShhQTEsIGFBMikg
KiBhVCArIEIoYUExLCBhQTIpKSAqIGFUICsgQyhhQTEpKSAqIGFUOyB9CisKKy8vIFJldHVybnMg
ZHgvZHQgZ2l2ZW4gdCwgeDEsIGFuZCB4Miwgb3IgZHkvZHQgZ2l2ZW4gdCwgeTEsIGFuZCB5Mi4K
K2Z1bmN0aW9uIGdldFNsb3BlIChhVCwgYUExLCBhQTIpIHsgcmV0dXJuIDMuMCAqIEEoYUExLCBh
QTIpICogYVQgKiBhVCArIDIuMCAqIEIoYUExLCBhQTIpICogYVQgKyBDKGFBMSk7IH0KKworZnVu
Y3Rpb24gYmluYXJ5U3ViZGl2aWRlIChhWCwgYUEsIGFCLCBtWDEsIG1YMikgeworICB2YXIgY3Vy
cmVudFgsIGN1cnJlbnRULCBpID0gMDsKKyAgZG8geworICAgIGN1cnJlbnRUID0gYUEgKyAoYUIg
LSBhQSkgLyAyLjA7CisgICAgY3VycmVudFggPSBjYWxjQmV6aWVyKGN1cnJlbnRULCBtWDEsIG1Y
MikgLSBhWDsKKyAgICBpZiAoY3VycmVudFggPiAwLjApIHsKKyAgICAgIGFCID0gY3VycmVudFQ7
CisgICAgfSBlbHNlIHsKKyAgICAgIGFBID0gY3VycmVudFQ7CisgICAgfQorICB9IHdoaWxlIChN
YXRoLmFicyhjdXJyZW50WCkgPiBTVUJESVZJU0lPTl9QUkVDSVNJT04gJiYgKytpIDwgU1VCRElW
SVNJT05fTUFYX0lURVJBVElPTlMpOworICByZXR1cm4gY3VycmVudFQ7Cit9CisKK2Z1bmN0aW9u
IG5ld3RvblJhcGhzb25JdGVyYXRlIChhWCwgYUd1ZXNzVCwgbVgxLCBtWDIpIHsKKyBmb3IgKHZh
ciBpID0gMDsgaSA8IE5FV1RPTl9JVEVSQVRJT05TOyArK2kpIHsKKyAgIHZhciBjdXJyZW50U2xv
cGUgPSBnZXRTbG9wZShhR3Vlc3NULCBtWDEsIG1YMik7CisgICBpZiAoY3VycmVudFNsb3BlID09
PSAwLjApIHsKKyAgICAgcmV0dXJuIGFHdWVzc1Q7CisgICB9CisgICB2YXIgY3VycmVudFggPSBj
YWxjQmV6aWVyKGFHdWVzc1QsIG1YMSwgbVgyKSAtIGFYOworICAgYUd1ZXNzVCAtPSBjdXJyZW50
WCAvIGN1cnJlbnRTbG9wZTsKKyB9CisgcmV0dXJuIGFHdWVzc1Q7Cit9CisKK2Z1bmN0aW9uIExp
bmVhckVhc2luZyAoeCkgeworICByZXR1cm4geDsKK30KKworbW9kdWxlLmV4cG9ydHMgPSBmdW5j
dGlvbiBiZXppZXIgKG1YMSwgbVkxLCBtWDIsIG1ZMikgeworICBpZiAoISgwIDw9IG1YMSAmJiBt
WDEgPD0gMSAmJiAwIDw9IG1YMiAmJiBtWDIgPD0gMSkpIHsKKyAgICB0aHJvdyBuZXcgRXJyb3Io
J2JlemllciB4IHZhbHVlcyBtdXN0IGJlIGluIFswLCAxXSByYW5nZScpOworICB9CisKKyAgaWYg
KG1YMSA9PT0gbVkxICYmIG1YMiA9PT0gbVkyKSB7CisgICAgcmV0dXJuIExpbmVhckVhc2luZzsK
KyAgfQorCisgIC8vIFByZWNvbXB1dGUgc2FtcGxlcyB0YWJsZQorICB2YXIgc2FtcGxlVmFsdWVz
ID0gZmxvYXQzMkFycmF5U3VwcG9ydGVkID8gbmV3IEZsb2F0MzJBcnJheShrU3BsaW5lVGFibGVT
aXplKSA6IG5ldyBBcnJheShrU3BsaW5lVGFibGVTaXplKTsKKyAgZm9yICh2YXIgaSA9IDA7IGkg
PCBrU3BsaW5lVGFibGVTaXplOyArK2kpIHsKKyAgICBzYW1wbGVWYWx1ZXNbaV0gPSBjYWxjQmV6
aWVyKGkgKiBrU2FtcGxlU3RlcFNpemUsIG1YMSwgbVgyKTsKKyAgfQorCisgIGZ1bmN0aW9uIGdl
dFRGb3JYIChhWCkgeworICAgIHZhciBpbnRlcnZhbFN0YXJ0ID0gMC4wOworICAgIHZhciBjdXJy
ZW50U2FtcGxlID0gMTsKKyAgICB2YXIgbGFzdFNhbXBsZSA9IGtTcGxpbmVUYWJsZVNpemUgLSAx
OworCisgICAgZm9yICg7IGN1cnJlbnRTYW1wbGUgIT09IGxhc3RTYW1wbGUgJiYgc2FtcGxlVmFs
dWVzW2N1cnJlbnRTYW1wbGVdIDw9IGFYOyArK2N1cnJlbnRTYW1wbGUpIHsKKyAgICAgIGludGVy
dmFsU3RhcnQgKz0ga1NhbXBsZVN0ZXBTaXplOworICAgIH0KKyAgICAtLWN1cnJlbnRTYW1wbGU7
CisKKyAgICAvLyBJbnRlcnBvbGF0ZSB0byBwcm92aWRlIGFuIGluaXRpYWwgZ3Vlc3MgZm9yIHQK
KyAgICB2YXIgZGlzdCA9IChhWCAtIHNhbXBsZVZhbHVlc1tjdXJyZW50U2FtcGxlXSkgLyAoc2Ft
cGxlVmFsdWVzW2N1cnJlbnRTYW1wbGUgKyAxXSAtIHNhbXBsZVZhbHVlc1tjdXJyZW50U2FtcGxl
XSk7CisgICAgdmFyIGd1ZXNzRm9yVCA9IGludGVydmFsU3RhcnQgKyBkaXN0ICoga1NhbXBsZVN0
ZXBTaXplOworCisgICAgdmFyIGluaXRpYWxTbG9wZSA9IGdldFNsb3BlKGd1ZXNzRm9yVCwgbVgx
LCBtWDIpOworICAgIGlmIChpbml0aWFsU2xvcGUgPj0gTkVXVE9OX01JTl9TTE9QRSkgeworICAg
ICAgcmV0dXJuIG5ld3RvblJhcGhzb25JdGVyYXRlKGFYLCBndWVzc0ZvclQsIG1YMSwgbVgyKTsK
KyAgICB9IGVsc2UgaWYgKGluaXRpYWxTbG9wZSA9PT0gMC4wKSB7CisgICAgICByZXR1cm4gZ3Vl
c3NGb3JUOworICAgIH0gZWxzZSB7CisgICAgICByZXR1cm4gYmluYXJ5U3ViZGl2aWRlKGFYLCBp
bnRlcnZhbFN0YXJ0LCBpbnRlcnZhbFN0YXJ0ICsga1NhbXBsZVN0ZXBTaXplLCBtWDEsIG1YMik7
CisgICAgfQorICB9CisKKyAgcmV0dXJuIGZ1bmN0aW9uIEJlemllckVhc2luZyAoeCkgeworICAg
IC8vIEJlY2F1c2UgSmF2YVNjcmlwdCBudW1iZXIgYXJlIGltcHJlY2lzZSwgd2Ugc2hvdWxkIGd1
YXJhbnRlZSB0aGUgZXh0cmVtZXMgYXJlIHJpZ2h0LgorICAgIGlmICh4ID09PSAwKSB7CisgICAg
ICByZXR1cm4gMDsKKyAgICB9CisgICAgaWYgKHggPT09IDEpIHsKKyAgICAgIHJldHVybiAxOwor
ICAgIH0KKyAgICByZXR1cm4gY2FsY0JlemllcihnZXRURm9yWCh4KSwgbVkxLCBtWTIpOworICB9
OworfTsKKworfSx7fV0sOTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cittb2R1
bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKHN1YmplY3QpIHsKKyAgdmFsaWRhdGVTdWJqZWN0KHN1Ympl
Y3QpOworCisgIHZhciBldmVudHNTdG9yYWdlID0gY3JlYXRlRXZlbnRzU3RvcmFnZShzdWJqZWN0
KTsKKyAgc3ViamVjdC5vbiA9IGV2ZW50c1N0b3JhZ2Uub247CisgIHN1YmplY3Qub2ZmID0gZXZl
bnRzU3RvcmFnZS5vZmY7CisgIHN1YmplY3QuZmlyZSA9IGV2ZW50c1N0b3JhZ2UuZmlyZTsKKyAg
cmV0dXJuIHN1YmplY3Q7Cit9OworCitmdW5jdGlvbiBjcmVhdGVFdmVudHNTdG9yYWdlKHN1Ympl
Y3QpIHsKKyAgLy8gU3RvcmUgYWxsIGV2ZW50IGxpc3RlbmVycyB0byB0aGlzIGhhc2guIEtleSBp
cyBldmVudCBuYW1lLCB2YWx1ZSBpcyBhcnJheQorICAvLyBvZiBjYWxsYmFjayByZWNvcmRzLgor
ICAvLworICAvLyBBIGNhbGxiYWNrIHJlY29yZCBjb25zaXN0cyBvZiBjYWxsYmFjayBmdW5jdGlv
biBhbmQgaXRzIG9wdGlvbmFsIGNvbnRleHQ6CisgIC8vIHsgJ2V2ZW50TmFtZScgPT4gW3tjYWxs
YmFjazogZnVuY3Rpb24sIGN0eDogb2JqZWN0fV0gfQorICB2YXIgcmVnaXN0ZXJlZEV2ZW50cyA9
IE9iamVjdC5jcmVhdGUobnVsbCk7CisKKyAgcmV0dXJuIHsKKyAgICBvbjogZnVuY3Rpb24gKGV2
ZW50TmFtZSwgY2FsbGJhY2ssIGN0eCkgeworICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0g
J2Z1bmN0aW9uJykgeworICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NhbGxiYWNrIGlzIGV4cGVj
dGVkIHRvIGJlIGEgZnVuY3Rpb24nKTsKKyAgICAgIH0KKyAgICAgIHZhciBoYW5kbGVycyA9IHJl
Z2lzdGVyZWRFdmVudHNbZXZlbnROYW1lXTsKKyAgICAgIGlmICghaGFuZGxlcnMpIHsKKyAgICAg
ICAgaGFuZGxlcnMgPSByZWdpc3RlcmVkRXZlbnRzW2V2ZW50TmFtZV0gPSBbXTsKKyAgICAgIH0K
KyAgICAgIGhhbmRsZXJzLnB1c2goe2NhbGxiYWNrOiBjYWxsYmFjaywgY3R4OiBjdHh9KTsKKwor
ICAgICAgcmV0dXJuIHN1YmplY3Q7CisgICAgfSwKKworICAgIG9mZjogZnVuY3Rpb24gKGV2ZW50
TmFtZSwgY2FsbGJhY2spIHsKKyAgICAgIHZhciB3YW50VG9SZW1vdmVBbGwgPSAodHlwZW9mIGV2
ZW50TmFtZSA9PT0gJ3VuZGVmaW5lZCcpOworICAgICAgaWYgKHdhbnRUb1JlbW92ZUFsbCkgewor
ICAgICAgICAvLyBLaWxsaW5nIG9sZCBldmVudHMgc3RvcmFnZSBzaG91bGQgYmUgZW5vdWdoIGlu
IHRoaXMgY2FzZToKKyAgICAgICAgcmVnaXN0ZXJlZEV2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVs
bCk7CisgICAgICAgIHJldHVybiBzdWJqZWN0OworICAgICAgfQorCisgICAgICBpZiAocmVnaXN0
ZXJlZEV2ZW50c1tldmVudE5hbWVdKSB7CisgICAgICAgIHZhciBkZWxldGVBbGxDYWxsYmFja3NG
b3JFdmVudCA9ICh0eXBlb2YgY2FsbGJhY2sgIT09ICdmdW5jdGlvbicpOworICAgICAgICBpZiAo
ZGVsZXRlQWxsQ2FsbGJhY2tzRm9yRXZlbnQpIHsKKyAgICAgICAgICBkZWxldGUgcmVnaXN0ZXJl
ZEV2ZW50c1tldmVudE5hbWVdOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIHZhciBjYWxs
YmFja3MgPSByZWdpc3RlcmVkRXZlbnRzW2V2ZW50TmFtZV07CisgICAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBjYWxsYmFja3MubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGlmIChjYWxs
YmFja3NbaV0uY2FsbGJhY2sgPT09IGNhbGxiYWNrKSB7CisgICAgICAgICAgICAgIGNhbGxiYWNr
cy5zcGxpY2UoaSwgMSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgICB9CisKKyAgICAgIHJldHVybiBzdWJqZWN0OworICAgIH0sCisKKyAgICBmaXJlOiBmdW5j
dGlvbiAoZXZlbnROYW1lKSB7CisgICAgICB2YXIgY2FsbGJhY2tzID0gcmVnaXN0ZXJlZEV2ZW50
c1tldmVudE5hbWVdOworICAgICAgaWYgKCFjYWxsYmFja3MpIHsKKyAgICAgICAgcmV0dXJuIHN1
YmplY3Q7CisgICAgICB9CisKKyAgICAgIHZhciBmaXJlQXJndW1lbnRzOworICAgICAgaWYgKGFy
Z3VtZW50cy5sZW5ndGggPiAxKSB7CisgICAgICAgIGZpcmVBcmd1bWVudHMgPSBBcnJheS5wcm90
b3R5cGUuc3BsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTsKKyAgICAgIH0KKyAgICAgIGZvcih2YXIg
aSA9IDA7IGkgPCBjYWxsYmFja3MubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFyIGNhbGxiYWNr
SW5mbyA9IGNhbGxiYWNrc1tpXTsKKyAgICAgICAgY2FsbGJhY2tJbmZvLmNhbGxiYWNrLmFwcGx5
KGNhbGxiYWNrSW5mby5jdHgsIGZpcmVBcmd1bWVudHMpOworICAgICAgfQorCisgICAgICByZXR1
cm4gc3ViamVjdDsKKyAgICB9CisgIH07Cit9CisKK2Z1bmN0aW9uIHZhbGlkYXRlU3ViamVjdChz
dWJqZWN0KSB7CisgIGlmICghc3ViamVjdCkgeworICAgIHRocm93IG5ldyBFcnJvcignRXZlbnRp
ZnkgY2Fubm90IHVzZSBmYWxzeSBvYmplY3QgYXMgZXZlbnRzIHN1YmplY3QnKTsKKyAgfQorICB2
YXIgcmVzZXJ2ZWRXb3JkcyA9IFsnb24nLCAnZmlyZScsICdvZmYnXTsKKyAgZm9yICh2YXIgaSA9
IDA7IGkgPCByZXNlcnZlZFdvcmRzLmxlbmd0aDsgKytpKSB7CisgICAgaWYgKHN1YmplY3QuaGFz
T3duUHJvcGVydHkocmVzZXJ2ZWRXb3Jkc1tpXSkpIHsKKyAgICAgIHRocm93IG5ldyBFcnJvcigi
U3ViamVjdCBjYW5ub3QgYmUgZXZlbnRpZmllZCwgc2luY2UgaXQgYWxyZWFkeSBoYXMgcHJvcGVy
dHkgJyIgKyByZXNlcnZlZFdvcmRzW2ldICsgIiciKTsKKyAgICB9CisgIH0KK30KKworfSx7fV0s
MTA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpeworLyoqCisgKiBUaGlzIG1vZHVs
ZSB1c2VkIHRvIHVuaWZ5IG1vdXNlIHdoZWVsIGJlaGF2aW9yIGJldHdlZW4gZGlmZmVyZW50IGJy
b3dzZXJzIGluIDIwMTQKKyAqIE5vdyBpdCdzIGp1c3QgYSB3cmFwcGVyIGFyb3VuZCBhZGRFdmVu
dExpc3RlbmVyKCd3aGVlbCcpOworICoKKyAqIFVzYWdlOgorICogIHZhciBhZGRXaGVlbExpc3Rl
bmVyID0gcmVxdWlyZSgnd2hlZWwnKS5hZGRXaGVlbExpc3RlbmVyOworICogIHZhciByZW1vdmVX
aGVlbExpc3RlbmVyID0gcmVxdWlyZSgnd2hlZWwnKS5yZW1vdmVXaGVlbExpc3RlbmVyOworICog
IGFkZFdoZWVsTGlzdGVuZXIoZG9tRWxlbWVudCwgZnVuY3Rpb24gKGUpIHsKKyAqICAgIC8vIG1v
dXNlIHdoZWVsIGV2ZW50CisgKiAgfSk7CisgKiAgcmVtb3ZlV2hlZWxMaXN0ZW5lcihkb21FbGVt
ZW50LCBmdW5jdGlvbik7CisgKi8KKworbW9kdWxlLmV4cG9ydHMgPSBhZGRXaGVlbExpc3RlbmVy
OworCisvLyBCdXQgYWxzbyBleHBvc2UgImFkdmFuY2VkIiBhcGkgd2l0aCB1bnN1YnNjcmliZToK
K21vZHVsZS5leHBvcnRzLmFkZFdoZWVsTGlzdGVuZXIgPSBhZGRXaGVlbExpc3RlbmVyOworbW9k
dWxlLmV4cG9ydHMucmVtb3ZlV2hlZWxMaXN0ZW5lciA9IHJlbW92ZVdoZWVsTGlzdGVuZXI7CisK
KworZnVuY3Rpb24gYWRkV2hlZWxMaXN0ZW5lcihlbGVtZW50LCBsaXN0ZW5lciwgdXNlQ2FwdHVy
ZSkgeworICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3doZWVsJywgbGlzdGVuZXIsIHVzZUNh
cHR1cmUpOworfQorCitmdW5jdGlvbiByZW1vdmVXaGVlbExpc3RlbmVyKCBlbGVtZW50LCBsaXN0
ZW5lciwgdXNlQ2FwdHVyZSApIHsKKyAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd3aGVl
bCcsIGxpc3RlbmVyLCB1c2VDYXB0dXJlKTsKK30KK30se31dfSx7fSxbMV0pKDEpCit9KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdlcy9HU3Ry
ZWFtZXIuc3ZnIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2VzL0dT
dHJlYW1lci5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDI4ODljOWEwMDU1ZjYzMjk3NjY1MmIyZjQyMDcyYjgy
MjllZWVlMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0ltYWdlcy9HU3RyZWFtZXIuc3ZnCkBAIC0wLDAgKzEsNzMgQEAKKzw/eG1sIHZlcnNp
b249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgorPCEtLSBHZW5lcmF0
b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZl
cnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KKworPHN2ZworICAgeG1sbnM6ZGM9Imh0dHA6
Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgorICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2
ZWNvbW1vbnMub3JnL25zIyIKKyAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8w
Mi8yMi1yZGYtc3ludGF4LW5zIyIKKyAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAw
MC9zdmciCisgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCisgICB4bWxuczpz
b2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5k
dGQiCisgICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNl
cy9pbmtzY2FwZSIKKyAgIHZlcnNpb249IjEuMCIKKyAgIGlkPSJMYXllcl8xIgorICAgd2lkdGg9
IjE1Ny4yNzk4MiIKKyAgIGhlaWdodD0iNzQuODY5Njc1IgorICAgdmlld0JveD0iMCAwIDgzLjE1
NjUwOSAzMy43NzUzMjEiCisgICBvdmVyZmxvdz0idmlzaWJsZSIKKyAgIGVuYWJsZS1iYWNrZ3Jv
dW5kPSJuZXcgMCAwIDI4MC4yMiA2OS4zODciCisgICB4bWw6c3BhY2U9InByZXNlcnZlIgorICAg
c29kaXBvZGk6dmVyc2lvbj0iMC4zMiIKKyAgIGlua3NjYXBlOnZlcnNpb249IjAuOTIuNCAoNWRh
Njg5YzMxMywgMjAxOS0wMS0xNCkiCisgICBzb2RpcG9kaTpkb2NuYW1lPSJHU3RyZWFtZXIuc3Zn
IgorICAgaW5rc2NhcGU6b3V0cHV0X2V4dGVuc2lvbj0ib3JnLmlua3NjYXBlLm91dHB1dC5zdmcu
aW5rc2NhcGUiCisgICBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZSI+PG1ldGFkYXRhCisgICBpZD0i
bWV0YWRhdGEzMCI+PHJkZjpSREY+PGNjOldvcmsKKyAgICAgICByZGY6YWJvdXQ9IiI+PGRjOmZv
cm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUKKyAgICAgICAgIHJkZjpyZXNv
dXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PGRjOnRpdGxl
PjwvZGM6dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzCisgICBpZD0i
ZGVmczI4Ij48aW5rc2NhcGU6cGVyc3BlY3RpdmUKKyAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2Nh
cGU6cGVyc3AzZCIKKyAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDM0LjY5MzUgOiAxIgorICAgICBp
bmtzY2FwZTp2cF95PSIwIDogOTk5Ljk5OTk5IDogMCIKKyAgICAgaW5rc2NhcGU6dnBfej0iMjgw
LjIyIDogMzQuNjkzNSA6IDEiCisgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIxNDAuMTEg
OiAyMy4xMjkgOiAxIgorICAgICBpZD0icGVyc3BlY3RpdmUzMiIgLz48L2RlZnM+PHNvZGlwb2Rp
Om5hbWVkdmlldworICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iOTY4IgorICAgaW5rc2NhcGU6
d2luZG93LXdpZHRoPSIxMjgwIgorICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKKyAgIGlua3Nj
YXBlOnBhZ2VvcGFjaXR5PSIwLjAiCisgICBndWlkZXRvbGVyYW5jZT0iMTAuMCIKKyAgIGdyaWR0
b2xlcmFuY2U9IjEwLjAiCisgICBvYmplY3R0b2xlcmFuY2U9IjEwLjAiCisgICBib3JkZXJvcGFj
aXR5PSIxLjAiCisgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKKyAgIHBhZ2Vjb2xvcj0iI2ZmZmZm
ZiIKKyAgIGlkPSJiYXNlIgorICAgc2hvd2dyaWQ9ImZhbHNlIgorICAgaW5rc2NhcGU6em9vbT0i
MS4wNTAzMzgiCisgICBpbmtzY2FwZTpjeD0iMTI0LjY2MTczIgorICAgaW5rc2NhcGU6Y3k9Ijgu
ODM2Njc4NiIKKyAgIGlua3NjYXBlOndpbmRvdy14PSI1MjIiCisgICBpbmtzY2FwZTp3aW5kb3ct
eT0iNjAiCisgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJMYXllcl8xIgorICAgZml0LW1hcmdp
bi10b3A9IjAiCisgICBmaXQtbWFyZ2luLWxlZnQ9IjAiCisgICBmaXQtbWFyZ2luLXJpZ2h0PSIw
IgorICAgZml0LW1hcmdpbi1ib3R0b209IjAiCisgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVk
PSIwIiAvPgorPGcKKyAgIGlkPSJnMzczOSIKKyAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03Ljkz
MDc1NiwtNy45MzEwMjkzKSI+PHBhdGgKKyAgICAgaWQ9InBhdGgyMSIKKyAgICAgZD0ibSA1Mi40
MDM3ODUsNi44NjgxNDM3IGMgLTUuMTAyODQzLDAgLTEyLjU2ODg5OSwtNC4xNTc1NTc2IC0xOS44
NDUzMzMsLTQuMTU3NTU3NiAtNy4yNzY0MzMsMCAtMTEuNjIyNjcxLDQuMTU3NTU3NiAtMTIuMzc5
Mjc2LDQuNzI0NTQwMiAtMC43NTU2NjMsMC41NjY5ODI1IC0xLjIyOTI0OSwyLjczOTYyOTcgMS4w
Mzk2MjUsMi4wNzgzMDcxIDIuMjY4ODc0LC0wLjY2MTMyMjQgNC4xNTc1NTgsLTAuNjYxMzIyNCA3
Ljc0OTA3NiwtMC42NjEzMjI0IDMuNTkxNTE5LDAgMTIuMTkwNTk3LDQuOTE0MTYzIDIwLjg4NDk1
OCw0LjkxNDE2MyA4LjY5NDM2MiwwIDE1Ljk2OTg1MiwtNi43MDg1MDcyIDE3LjU3NjQ2LC05LjA3
MTcyMDcgMS42MDY2MDcsLTIuMzYzMjEzNCAwLjA5NDM0LC0zLjExODg3NTcgLTEuMTMzOTY2LC0y
LjU1MDk0OTggLTEuMjI5MjQ4LDAuNTY2OTgyNiAtOS4xNjYwNiw0LjcyNDU0MDIgLTEzLjg5MTU0
NCw0LjcyNDU0MDIgeiIKKyAgICAgc3R5bGU9ImZpbGw6I2ZmMzEzMTtzdHJva2Utd2lkdGg6MC45
NDMzOTg1OSIKKyAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz48cGF0aAor
ICAgICBpZD0icGF0aDIzIgorICAgICBkPSJtIDc0LjU3MTc2NSwxOS44MTM0NTkgYyAtNS4zNjEz
MzQsMCAtMTMuMjA0NzUsLTQuMTU2NjE0IC0yMC44NDkxMDksLTQuMTU2NjE0IC03LjY0NDM1OSww
IC0xMi4yMTEzNTEsNC4xNTY2MTQgLTEzLjAwNTY5Myw0LjcyNDU0IC0wLjc5NDM0MSwwLjU2Nzky
NiAtMS4yOTE1MTIsMi43Mzk2MyAxLjA5MTUxMiwyLjA3ODMwNyAyLjM4MzAyNSwtMC42NjEzMjIg
NC4zNjc5MzYsLTAuNjYxMzIyIDguMTQwNTg3LC0wLjY2MTMyMiAzLjc3MjY1MSwwIDEyLjgwNzU3
OSw0LjkxNDE2MyAyMS45NDA2MjEsNC45MTQxNjMgOS4xMzMwNDIsMCAxNi43NzgzNDQsLTYuNzA4
NTA3IDE4LjQ2NjA4NCwtOS4wNzA3NzcgMS42ODc3NCwtMi4zNjMyMTQgMC4wOTkwNiwtMy4xMTk4
MTkgLTEuMTkxNTEyLC0yLjU1MTg5MyAtMS4yOTA1NjksMC41Njc5MjUgLTkuNjI4MzI2LDQuNzIz
NTk2IC0xNC41OTI0OSw0LjcyMzU5NiB6IgorICAgICBzdHlsZT0iZmlsbDojMzE5ODMxO3N0cm9r
ZS13aWR0aDowLjk0MzM5ODU5IgorICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIw
IiAvPjxwYXRoCisgICAgIGlkPSJwYXRoMjUiCisgICAgIGQ9Im0gNDMuNzE5ODAxLDM0LjA5ODQw
MSBjIC01LjU1OTQ0OCwwIC0xMy42OTM0MzEsLTQuNDkxNTIxIC0yMS42MjA4MDksLTQuNDkxNTIx
IC03LjkyNzM3OSwwIC0xMi42NjQxODI5LDQuNDkxNTIxIC0xMy40ODc3Njk5LDUuMTAzNzg3IC0w
LjgyMzU4NywwLjYxMjI2NSAtMS4zMzg2ODI2LDIuOTU5NDQxIDEuMTMyMDc4MywyLjI0NDM0NSAy
LjQ3MTcwNDYsLTAuNzE0MTUzIDQuNTMwMTk5NiwtMC43MTQxNTMgOC40NDI0NzM2LC0wLjcxNDE1
MyAzLjkxMjI3NCwwIDEzLjI4MjEwOSw1LjMwNzU2MSAyMi43NTQ3NzUsNS4zMDc1NjEgOS40NzE3
MjIsMCAxNy4zOTkxLC03LjI0NjI0NSAxOS4xNTAwNDgsLTkuNzk4MTM4IDEuNzUwOTQ4LC0yLjU1
MTg5MyAwLjEwMjgzLC0zLjM2NzkzMyAtMS4yMzU4NTIsLTIuNzU1NjY4IC0xLjMzODY4MywwLjYx
MjI2NiAtOS45ODY4MTgsNS4xMDM3ODcgLTE1LjEzNDk0NCw1LjEwMzc4NyB6IgorICAgICBzdHls
ZT0iZmlsbDojMzIzMmNjO3N0cm9rZS13aWR0aDowLjk0MzM5ODU5IgorICAgICBpbmtzY2FwZTpj
b25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPjwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCmluZGV4IGM0OTYwOTQ1OWY1MjUxYzA1ZjVl
NWQ0NWU5M2I4MzQzZGY0MzY2NjAuLjFiYTYwM2RkZDJiY2VjMzVkZTM1OWVkZjg1NDI0MDYzNTIz
YjhkZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01h
aW4uaHRtbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0
bWwKQEAgLTEwNiw2ICsxMDYsNyBAQAogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Vmlld3MvRm9udFJlc291cmNlQ29udGVudFZpZXcuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9IlZpZXdzL0Zvcm1hdHRlZFZhbHVlLmNzcyI+CiAgICAgPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSJWaWV3cy9HYXVnZUNoYXJ0LmNzcyI+CisgICAgPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSJWaWV3cy9HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5jc3MiPgogICAg
IDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvR2VuZXJhbFN0eWxlRGV0YWlsc1Np
ZGViYXJQYW5lbC5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3Mv
R29Ub0xpbmVEaWFsb2cuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZp
ZXdzL0dyYWRpZW50RWRpdG9yLmNzcyI+CkBAIC0yODEsNiArMjgyLDggQEAKICAgICA8c2NyaXB0
IHNyYz0iRXh0ZXJuYWwvdGhyZWUuanMvdGhyZWUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSJFeHRlcm5hbC90aHJlZS5qcy9PcmJpdENvbnRyb2xzLmpzIj48L3NjcmlwdD4KIAorICAg
IDxzY3JpcHQgc3JjPSJFeHRlcm5hbC9QYW5ab29tLmpzL3Bhbnpvb20uanMiPjwvc2NyaXB0Pgor
CiAgICAgPHNjcmlwdCBzcmM9IkJhc2UvV2ViSW5zcGVjdG9yLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iQmFzZS9QbGF0Zm9ybS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9
IkJhc2UvRGVib3VuY2VyLmpzIj48L3NjcmlwdD4KQEAgLTMzNSw2ICszMzgsNyBAQAogICAgIDxz
Y3JpcHQgc3JjPSJQcm90b2NvbC9ET01TdG9yYWdlT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgc3JjPSJQcm90b2NvbC9EYXRhYmFzZU9ic2VydmVyLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvRGVidWdnZXJPYnNlcnZlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0dTdHJlYW1lck9ic2VydmVyLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvSGVhcE9ic2VydmVyLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvSW5zcGVjdG9yT2JzZXJ2ZXIuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9MYXllclRyZWVPYnNlcnZlci5qcyI+PC9zY3JpcHQ+
CkBAIC00OTEsNiArNDk1LDggQEAKICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0F1ZGl0VGVzdENh
c2VSZXN1bHQuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQXVkaXRUZXN0
R3JvdXBSZXN1bHQuanMiPjwvc2NyaXB0PgogCisgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9HU3Ry
ZWFtZXJQaXBlbGluZS5qcyI+PC9zY3JpcHQ+CisKICAgICA8c2NyaXB0IHNyYz0iUHJveGllcy9G
b3JtYXR0ZXJXb3JrZXJQcm94eS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3hp
ZXMvSGVhcFNuYXBzaG90RGlmZlByb3h5LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0i
UHJveGllcy9IZWFwU25hcHNob3RFZGdlUHJveHkuanMiPjwvc2NyaXB0PgpAQCAtNTY1LDYgKzU3
MSw3IEBACiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0NvbnNvbGVUYWJDb250ZW50Vmlldy5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0VsZW1lbnRzVGFiQ29udGVudFZpZXcu
anMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9HcmFwaGljc1RhYkNvbnRlbnRW
aWV3LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iVmlld3MvR1N0cmVhbWVyVGFiQ29u
dGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9MYXllcnNUYWJD
b250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1Jlc291cmNl
VHJlZUVsZW1lbnQuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9TY3JpcHRU
cmVlRWxlbWVudC5qcyI+PC9zY3JpcHQ+CkBAIC01ODAsNiArNTg3LDkgQEAKICAgICA8c2NyaXB0
IHNyYz0iVmlld3MvRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3cuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJWaWV3cy9EZXRhaWxzU2VjdGlvblRleHRSb3cuanMiPjwvc2NyaXB0PgogCisg
ICAgPHNjcmlwdCBzcmM9IlZpZXdzL0dTdHJlYW1lclNpZGViYXJQYW5lbC5qcyI+PC9zY3JpcHQ+
CisgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0dTdHJlYW1lclZpZXcuanMiPjwvc2NyaXB0PgorCiAg
ICAgPHNjcmlwdCBzcmM9IlZpZXdzL1NldHRpbmdFZGl0b3IuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJWaWV3cy9TZXR0aW5nc0dyb3VwLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHNyYz0iVmlld3MvU2V0dGluZ3NWaWV3LmpzIj48L3NjcmlwdD4KQEAgLTg3Myw2ICs4ODMsNyBA
QAogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9EcmFnVG9BZGp1c3RDb250cm9sbGVy
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRm9ybWF0dGVyU291
cmNlTWFwLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvR1N0cmVh
bWVyTWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0hB
UkJ1aWxkZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9IZWFw
TWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0luZGV4
ZWREQk1hbmFnZXIuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjI0OTMxYjhlZGRmMTUyYzhkZDViODdkYjAwMTMzY2U3NmQ0ODA1ZjgKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMv
R1N0cmVhbWVyUGlwZWxpbmUuanMKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqICBDb3B5cmlnaHQg
KEMpIDIwMjAgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRv
IHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworV0ku
R1N0cmVhbWVyUGlwZWxpbmUgPSBjbGFzcyBHU3RyZWFtZXJQaXBlbGluZQoreworICAgIGNvbnN0
cnVjdG9yKG5hbWUsIHBhcmVudEJpbk5hbWUsIGJpbk5hbWUsIGRvdERhdGEsIHN2Z0RvY3VtZW50
KQorICAgIHsKKyAgICAgICAgdGhpcy5fbmFtZSA9IG5hbWU7CisgICAgICAgIHRoaXMuX3BhcmVu
dEJpbk5hbWUgPSBwYXJlbnRCaW5OYW1lOworICAgICAgICB0aGlzLl9iaW5OYW1lID0gYmluTmFt
ZTsKKyAgICAgICAgdGhpcy5fZG90RGF0YSA9IGRvdERhdGE7CisgICAgICAgIHRoaXMuX3N2Z0Rv
Y3VtZW50ID0gc3ZnRG9jdW1lbnQ7CisgICAgfQorCisgICAgLy8gUHVibGljCisKKyAgICBnZXQg
bmFtZSgpIHsgcmV0dXJuIHRoaXMuX25hbWU7IH0KKyAgICBnZXQgcGFyZW50QmluTmFtZSgpIHsg
cmV0dXJuIHRoaXMuX3BhcmVudEJpbk5hbWU7IH0KKyAgICBnZXQgYmluTmFtZSgpIHsgcmV0dXJu
IHRoaXMuX2Jpbk5hbWU7IH0KKyAgICBnZXQgc3ZnRWxlbWVudCgpCisgICAgeworICAgICAgICBy
ZXR1cm4gdGhpcy5fc3ZnRG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN2ZyIpWzBdOwor
ICAgIH0KKworICAgIGdldCBzYXZlRGF0YSgpCisgICAgeworICAgICAgICBsZXQgc3VnZ2VzdGVk
TmFtZSA9IFdJLnVubG9jYWxpemVkU3RyaW5nKGBHU3RyZWFtZXItcGlwZWxpbmUtZHVtcC0ke3Ro
aXMuX25hbWV9LmRvdGApOworICAgICAgICByZXR1cm4geworICAgICAgICAgICAgdXJsOiBXSS5G
aWxlVXRpbGl0aWVzLmluc3BlY3RvclVSTEZvckZpbGVuYW1lKHN1Z2dlc3RlZE5hbWUpLAorICAg
ICAgICAgICAgY29udGVudDogdGhpcy5fZG90RGF0YSwKKyAgICAgICAgfTsKKyAgICB9Cit9Owor
CitXSS5HU3RyZWFtZXJQaXBlbGluZS5UeXBlSWRlbnRpZmllciA9ICJnc3RyZWFtZXItcGlwZWxp
bmUiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJv
dG9jb2wvR1N0cmVhbWVyT2JzZXJ2ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Qcm90b2NvbC9HU3RyZWFtZXJPYnNlcnZlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYjA3ZDVi
ODQ1NjY2ZWRjZjZmZTg0NDYyODc1NDJiOTg2MDE3NTRjCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvR1N0cmVhbWVyT2JzZXJ2
ZXIuanMKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlh
IFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAg
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNl
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3
YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworV0kuR1N0cmVhbWVyT2JzZXJ2
ZXIgPSBjbGFzcyBHU3RyZWFtZXJPYnNlcnZlciBleHRlbmRzIEluc3BlY3RvckJhY2tlbmQuRGlz
cGF0Y2hlcgoreworICAgIC8vIEV2ZW50cyBkZWZpbmVkIGJ5IHRoZSAiR1N0cmVhbWVyIiBkb21h
aW4uCisKKyAgICBhY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCkKKyAgICB7CisgICAgICAgIFdJLmdz
dHJlYW1lck1hbmFnZXIuYWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOworICAgIH0KK307CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9UYXJn
ZXQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9UYXJn
ZXQuanMKaW5kZXggOWRjYTJhYTI0NzVkZTc2YTFlMWYwOGFmZjJhMjdjNTliMGYyNTkwMS4uODZj
YTZhNjY5NTZhNTU4OWU4Njk0MTc3Y2ZmMmVjYzI0MDhjMzNjNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvVGFyZ2V0LmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1RhcmdldC5qcwpAQCAt
MTQyLDYgKzE0Miw3IEBAIFdJLlRhcmdldCA9IGNsYXNzIFRhcmdldCBleHRlbmRzIFdJLk9iamVj
dAogICAgIGdldCBET01TdG9yYWdlQWdlbnQoKSB7IHJldHVybiB0aGlzLl9hZ2VudHMuRE9NU3Rv
cmFnZTsgfQogICAgIGdldCBEYXRhYmFzZUFnZW50KCkgeyByZXR1cm4gdGhpcy5fYWdlbnRzLkRh
dGFiYXNlOyB9CiAgICAgZ2V0IERlYnVnZ2VyQWdlbnQoKSB7IHJldHVybiB0aGlzLl9hZ2VudHMu
RGVidWdnZXI7IH0KKyAgICBnZXQgR1N0cmVhbWVyQWdlbnQoKSB7IHJldHVybiB0aGlzLl9hZ2Vu
dHMuR1N0cmVhbWVyOyB9CiAgICAgZ2V0IEhlYXBBZ2VudCgpIHsgcmV0dXJuIHRoaXMuX2FnZW50
cy5IZWFwOyB9CiAgICAgZ2V0IEluZGV4ZWREQkFnZW50KCkgeyByZXR1cm4gdGhpcy5fYWdlbnRz
LkluZGV4ZWREQjsgfQogICAgIGdldCBJbnNwZWN0b3JBZ2VudCgpIHsgcmV0dXJuIHRoaXMuX2Fn
ZW50cy5JbnNwZWN0b3I7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclNpZGViYXJQYW5lbC5jc3MgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJTaWRlYmFyUGFuZWwuY3NzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY4ZGUxYmMxNWFhZDI3NTkwMGNiMjFlYjQ1NGQ2MWYxYzc2Y2ViMDYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9H
U3RyZWFtZXJTaWRlYmFyUGFuZWwuY3NzCkBAIC0wLDAgKzEsMTA4IEBACisvKgorICogIENvcHly
aWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAg
TGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAg
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3Jp
dGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLwor
Cisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciA+IC5jb250ZW50IHsKKyAg
ICB0b3A6IHZhcigtLW5hdmlnYXRpb24tYmFyLWhlaWdodCk7Cit9CisKKy5zaWRlYmFyID4gLnBh
bmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyID4gLm5hdmlnYXRpb24tYmFyIHsKKyAgICBwb3NpdGlv
bjogYWJzb2x1dGU7CisgICAgdG9wOiAwOworICAgIGxlZnQ6IDA7CisgICAgcmlnaHQ6IDA7Cit9
CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyID4gLm5hdmlnYXRpb24t
YmFyIC5nc3RyZWFtZXItYnJlYWtwb2ludHMgeworICAgIGZpbGw6IG5vbmU7CisgICAgc3Ryb2tl
OiB2YXIoLS1nbHlwaC1jb2xvcik7Cit9Cisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdz
dHJlYW1lciA+IC5uYXZpZ2F0aW9uLWJhciAuZ3N0cmVhbWVyLWJyZWFrcG9pbnRzLmFjdGl2YXRl
ZCB7CisgICAgZmlsbDogdmFyKC0tZ2x5cGgtY29sb3ItYWN0aXZlKTsKKyAgICBzdHJva2U6IHZh
cigtLWdseXBoLWNvbG9yLWFjdGl2ZSk7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRp
b24uZ3N0cmVhbWVyID4gLm5hdmlnYXRpb24tYmFyIC5nc3RyZWFtZXItcGF1c2UtcmVzdW1lIHsK
KyAgICBmaWxsOiBub25lOworICAgIHN0cm9rZTogdmFyKC0tZ2x5cGgtY29sb3IpOworfQorLnNp
ZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgPiAubmF2aWdhdGlvbi1iYXIgLmdz
dHJlYW1lci1wYXVzZS1yZXN1bWUuYWN0aXZhdGVkIHsKKyAgICBzdHJva2U6IHZhcigtLWdseXBo
LWNvbG9yLWFjdGl2ZSk7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVh
bWVyIC53YXJuaW5nLWJhbm5lciB7CisgICAgdGV4dC1hbGlnbjogY2VudGVyOworICAgIGZvbnQt
c2l6ZTogMTFweDsKKworICAgIHBhZGRpbmc6IDExcHggNnB4OworICAgIG1hcmdpbi1ib3R0b206
IDZweDsKKworICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3Ip
OworICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCg1MCwgMTAwJSwgOTQlKTsKK30KKworLnNpZGVi
YXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhy
ZWFkID4gLml0ZW0udGhyZWFkIHsKKyAgICBkaXNwbGF5OiBub25lOworfQorCisuc2lkZWJhciA+
IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAudHJlZS1vdXRsaW5lLnNpbmdsZS10aHJlYWQg
eworICAgIC0tdHJlZS1vdXRsaW5lLXNpbmdsZS10aHJlYWQtbWFyZ2luLXN0YXJ0OiAtMTBweDsK
K30KKworYm9keVtkaXI9bHRyXSAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1l
ciAudHJlZS1vdXRsaW5lLnNpbmdsZS10aHJlYWQgeworICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS10
cmVlLW91dGxpbmUtc2luZ2xlLXRocmVhZC1tYXJnaW4tc3RhcnQpOworfQorCitib2R5W2Rpcj1y
dGxdIC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC50cmVlLW91dGxpbmUu
c2luZ2xlLXRocmVhZCB7CisgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS10cmVlLW91dGxpbmUtc2lu
Z2xlLXRocmVhZC1tYXJnaW4tc3RhcnQpOworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0
aW9uLmdzdHJlYW1lciAud2FybmluZy1iYW5uZXIgPiBhIHsKKyAgICB0ZXh0LWRlY29yYXRpb246
IHVuZGVybGluZTsKKyAgICBjdXJzb3I6IHBvaW50ZXI7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVs
Lm5hdmlnYXRpb24uZ3N0cmVhbWVyIC5kZXRhaWxzLXNlY3Rpb24geworICAgIGZvbnQtc2l6ZTog
MTFweDsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLmRldGFp
bHMtc2VjdGlvbi5wYXVzZWQtcmVhc29uLmNvbGxhcHNlZCA+IC5oZWFkZXIgPiAub3B0aW9ucyB7
CisgICAgZGlzcGxheTogYmxvY2s7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24u
Z3N0cmVhbWVyIC5kZXRhaWxzLXNlY3Rpb24gPiAuY29udGVudCB7CisgICAgZGlzcGxheTogYmxv
Y2s7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC5kZXRhaWxz
LXNlY3Rpb24uY29sbGFwc2VkID4gLmNvbnRlbnQgeworICAgIGRpc3BsYXk6IG5vbmU7Cit9CisK
Ky5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC5kZXRhaWxzLXNlY3Rpb24g
PiAuY29udGVudCA+IC5ncm91cCB7CisgICAgZGlzcGxheTogYmxvY2s7Cit9CisKKy5zaWRlYmFy
ID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC5kZXRhaWxzLXNlY3Rpb24uc2NyaXB0czpu
b3QoLmNvbGxhcHNlZCkgeworICAgIGJvcmRlci1ib3R0b206IG5vbmU7Cit9CisKK0BtZWRpYSAo
cHJlZmVycy1kYXJrLWludGVyZmFjZSkgeworICAgIC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRp
b24uZ3N0cmVhbWVyIC53YXJuaW5nLWJhbm5lciB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6
IHZhcigtLXllbGxvdy1oaWdobGlnaHQtYmFja2dyb3VuZC1jb2xvcik7CisgICAgICAgIGNvbG9y
OiB2YXIoLS15ZWxsb3ctaGlnaGxpZ2h0LXRleHQtY29sb3IpOworICAgIH0KK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclNp
ZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0dTdHJlYW1lclNpZGViYXJQYW5lbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNmM3Y2UwZWU2NzI4ZmMwZDY5
YzA1ZDE2MmUzMTQzM2U5NjI2YzlkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBhbmVsLmpzCkBAIC0w
LDAgKzEsMTEyIEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MCisgKgor
ICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq
ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24s
IE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCitXSS5HU3RyZWFtZXJTaWRlYmFyUGFuZWwgPSBj
bGFzcyBHU3RyZWFtZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhclBh
bmVsCit7CisgICAgY29uc3RydWN0b3IoKQorICAgIHsKKyAgICAgICAgc3VwZXIoImdzdHJlYW1l
ciIsIFdJLlVJU3RyaW5nKCJHU3RyZWFtZXIiKSk7CisKKyAgICAgICAgdGhpcy5jb250ZW50VHJl
ZU91dGxpbmUuYWRkRXZlbnRMaXN0ZW5lcihXSS5UcmVlT3V0bGluZS5FdmVudC5TZWxlY3Rpb25E
aWRDaGFuZ2UsIHRoaXMuX3RyZWVTZWxlY3Rpb25EaWRDaGFuZ2UsIHRoaXMpOworCisgICAgICAg
IFdJLmdzdHJlYW1lck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5HU3RyZWFtZXJNYW5hZ2Vy
LkV2ZW50LkFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQsIHRoaXMuX3JlZnJlc2hQaXBlbGluZXNMaXN0
LCB0aGlzKTsKKyAgICB9CisKKyAgICAvLyBQcm90ZWN0ZWQKKworICAgIGluaXRpYWxMYXlvdXQo
KQorICAgIHsKKyAgICAgICAgc3VwZXIuaW5pdGlhbExheW91dCgpOworCisgICAgICAgIGxldCBw
aXBlbGluZXNSb3cgPSBuZXcgV0kuRGV0YWlsc1NlY3Rpb25Sb3c7CisgICAgICAgIHBpcGVsaW5l
c1Jvdy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuY29udGVudFRyZWVPdXRsaW5lLmVsZW1lbnQp
OworCisgICAgICAgIGxldCBwaXBlbGluZXNHcm91cCA9IG5ldyBXSS5EZXRhaWxzU2VjdGlvbkdy
b3VwKFtwaXBlbGluZXNSb3ddKTsKKyAgICAgICAgdGhpcy5fcGlwZWxpbmVzU2VjdGlvbiA9IG5l
dyBXSS5EZXRhaWxzU2VjdGlvbigicGlwZWxpbmVzIiwgV0kuVUlTdHJpbmcoIlBpcGVsaW5lcyIp
LCBbcGlwZWxpbmVzR3JvdXBdKTsKKyAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmFw
cGVuZENoaWxkKHRoaXMuX3BpcGVsaW5lc1NlY3Rpb24uZWxlbWVudCk7CisKKyAgICAgICAgdGhp
cy5fcmVmcmVzaFBpcGVsaW5lc0xpc3QoKTsKKyAgICB9CisKKyAgICBoYXNDdXN0b21GaWx0ZXJz
KCkKKyAgICB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIG1hdGNoVHJlZUVs
ZW1lbnRBZ2FpbnN0Q3VzdG9tRmlsdGVycyh0cmVlRWxlbWVudCwgZmxhZ3MpCisgICAgeworICAg
ICAgICBsZXQgdGV4dEZpbHRlclJlZ2V4ID0gc2ltcGxlR2xvYlN0cmluZ1RvUmVnRXhwKHRoaXMu
ZmlsdGVyQmFyLmZpbHRlcnMudGV4dCwgImkiKTsKKyAgICAgICAgaWYgKCF0ZXh0RmlsdGVyUmVn
ZXgpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICByZXR1cm4gdGV4dEZpbHRl
clJlZ2V4LnRlc3QodHJlZUVsZW1lbnQubmFtZSk7CisgICAgfQorCisgICAgLy8gUHJpdmF0ZQor
CisgICAgX3JlZnJlc2hQaXBlbGluZXNMaXN0KCkKKyAgICB7CisgICAgICAgIGlmICghV0kudGFy
Z2V0c0F2YWlsYWJsZSgpKSB7CisgICAgICAgICAgICBXSS53aGVuVGFyZ2V0c0F2YWlsYWJsZSgp
LnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hQaXBlbGluZXNMaXN0
KCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisg
ICAgICAgIGxldCBhZ2VudDsKKyAgICAgICAgbGV0IHRhcmdldCA9IFdJLmFzc3VtaW5nTWFpblRh
cmdldCgpOworICAgICAgICBpZiAodGFyZ2V0Lmhhc0RvbWFpbigiR1N0cmVhbWVyIikpCisgICAg
ICAgICAgICBhZ2VudCA9IHRhcmdldC5HU3RyZWFtZXJBZ2VudDsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGFnZW50LmdldEFjdGl2ZVBpcGVsaW5lc05hbWVz
KCkudGhlbigocGF5bG9hZCkgPT4geworICAgICAgICAgICAgY29uc3Qgc3VwcHJlc3NPbkRlc2Vs
ZWN0ID0gdHJ1ZTsKKyAgICAgICAgICAgIHRoaXMuY29udGVudFRyZWVPdXRsaW5lLnJlbW92ZUNo
aWxkcmVuKHN1cHByZXNzT25EZXNlbGVjdCk7CisgICAgICAgICAgICBmb3IgKGxldCBuYW1lIG9m
IHBheWxvYWQucGlwZWxpbmVzKSB7CisgICAgICAgICAgICAgICAgbGV0IGVsZW1lbnQgPSBuZXcg
V0kuVHJlZUVsZW1lbnQobmFtZSk7CisgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50VHJlZU91
dGxpbmUuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0pLmNh
dGNoKChlcnJvcikgPT4geworICAgICAgICAgICAgY29uc29sZS5lcnJvcigiQ291bGQgbm90IGZl
dGNoIHBpcGVsaW5lczogIiwgZXJyb3IpOworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBfdHJl
ZVNlbGVjdGlvbkRpZENoYW5nZShldmVudCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5zZWxl
Y3RlZCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBsZXQgdHJlZUVsZW1lbnQgPSB0
aGlzLmNvbnRlbnRUcmVlT3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50OworICAgICAgICBpZiAo
IXRyZWVFbGVtZW50KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGxldCBwaXBlbGlu
ZU5hbWUgPSB0cmVlRWxlbWVudC50aXRsZTsKKyAgICAgICAgbGV0IHRhcmdldCA9IFdJLmFzc3Vt
aW5nTWFpblRhcmdldCgpOworICAgICAgICBsZXQgY2hpbGQgPSAiIjsKKyAgICAgICAgdGFyZ2V0
LkdTdHJlYW1lckFnZW50LmR1bXBBY3RpdmVQaXBlbGluZShwaXBlbGluZU5hbWUsIGNoaWxkKS50
aGVuKChwYXlsb2FkKSA9PiB7CisgICAgICAgICAgICBsZXQgZG9jdW1lbnRGcmFnbWVudCA9IFdJ
LkdTdHJlYW1lclZpZXcucmVuZGVyU1ZHRWxlbWVudChwYXlsb2FkLnBpcGVsaW5lR3JhcGhSZXBy
ZXNlbnRhdGlvbik7CisgICAgICAgICAgICBsZXQgcGFyZW50QmluTmFtZSA9ICIiOworICAgICAg
ICAgICAgbGV0IGJpbk5hbWUgPSAiIjsKKyAgICAgICAgICAgIGxldCByZXByZXNlbnRlZE9iamVj
dCA9IG5ldyBXSS5HU3RyZWFtZXJQaXBlbGluZShwaXBlbGluZU5hbWUsIHBhcmVudEJpbk5hbWUs
IGJpbk5hbWUsIHBheWxvYWQucGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uLCBkb2N1bWVudEZy
YWdtZW50KTsKKyAgICAgICAgICAgIFdJLnNob3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNlbnRl
ZE9iamVjdCk7CisgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4geworICAgICAgICAgICAgY29u
c29sZS5lcnJvcigiQ291bGQgbm90IGR1bXAgcGlwZWxpbmU6ICIsIGVycm9yKTsKKyAgICAgICAg
fSk7CisgICAgfQorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmNzcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmNzcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wMjE1MDk0MThmZDExMmFjZTNhNzZiODgzNDk3M2MwZjIxMmQ5Y2M1Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
R1N0cmVhbWVyVGFiQ29udGVudFZpZXcuY3NzCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiAgQ29w
eXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
ICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3
cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICov
CisKKy5jb250ZW50LXZpZXcuZ3N0cmVhbWVyIHsKKyAgICBwYWRkaW5nLWJvdHRvbTogNnZoOwor
ICAgIG92ZXJmbG93LXk6IGF1dG87Cit9CisKKy5jb250ZW50LXZpZXcuZ3N0cmVhbWVyIC5uYXZp
Z2F0aW9uLWJhciB7CisgICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5OworICAgIHRvcDogMDsK
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVGFiQ29udGVudFZpZXcuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDMx
MDFiYmI3OTE4ZmUxZDM1YjI4ZTcxN2VmNjRiYmRkMzE1NjgyMgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNv
bnRlbnRWaWV3LmpzCkBAIC0wLDAgKzEsNzIgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDIw
IElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisg
KgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAg
TGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJl
ZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKK1dJLkdTdHJlYW1l
clRhYkNvbnRlbnRWaWV3ID0gY2xhc3MgR1N0cmVhbWVyVGFiQ29udGVudFZpZXcgZXh0ZW5kcyBX
SS5Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3Cit7CisgICAgY29uc3RydWN0b3IoaWRlbnRp
ZmllcikKKyAgICB7CisgICAgICAgIHN1cGVyKEdTdHJlYW1lclRhYkNvbnRlbnRWaWV3LnRhYklu
Zm8oKSwgeworICAgICAgICAgICAgbmF2aWdhdGlvblNpZGViYXJQYW5lbENvbnN0cnVjdG9yOiBX
SS5HU3RyZWFtZXJTaWRlYmFyUGFuZWwsCisgICAgICAgIH0pOworICAgICAgICB0aGlzLl9nc3Ry
ZWFtZXJWaWV3ID0gbnVsbDsKKyAgICB9CisKKyAgICBzdGF0aWMgdGFiSW5mbygpCisgICAgewor
ICAgICAgICByZXR1cm4geworICAgICAgICAgICAgaWRlbnRpZmllcjogR1N0cmVhbWVyVGFiQ29u
dGVudFZpZXcuVHlwZSwKKyAgICAgICAgICAgIGltYWdlOiAiSW1hZ2VzL0dTdHJlYW1lci5zdmci
LAorICAgICAgICAgICAgdGl0bGU6IFdJLlVJU3RyaW5nKCJHU3RyZWFtZXIiKSwKKyAgICAgICAg
fTsKKyAgICB9CisKKyAgICBzdGF0aWMgaXNUYWJBbGxvd2VkKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiBJbnNwZWN0b3JCYWNrZW5kLmhhc0RvbWFpbigiR1N0cmVhbWVyIikgJiYgKFdJLlBsYXRm
b3JtLnBvcnQgPT09ICJndGsiIHx8IFdJLlBsYXRmb3JtLnBvcnQgPT09ICJ3cGUiKTsKKyAgICB9
CisKKyAgICAvLyBQdWJsaWMKKworICAgIGdldCB0eXBlKCkgeyByZXR1cm4gV0kuR1N0cmVhbWVy
VGFiQ29udGVudFZpZXcuVHlwZTsgfQorCisgICAgZ2V0IHN1cHBvcnRzU3BsaXRDb250ZW50QnJv
d3NlcigpCisgICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBjYW5TaG93
UmVwcmVzZW50ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3QpCisgICAgeworICAgICAgICByZXR1
cm4gcmVwcmVzZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBXSS5HU3RyZWFtZXJQaXBlbGluZTsKKyAg
ICB9CisKKyAgICBzaG93UmVwcmVzZW50ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3QsIGNvb2tp
ZSkKKyAgICB7CisgICAgICAgIHRoaXMuX2dzdHJlYW1lclZpZXcuZGlzcGxheVBpcGVsaW5lKHJl
cHJlc2VudGVkT2JqZWN0KTsKKyAgICB9CisKKyAgICAvLyBQcm90ZWN0ZWQKKworICAgIGluaXRp
YWxMYXlvdXQoKQorICAgIHsKKyAgICAgICAgc3VwZXIuaW5pdGlhbExheW91dCgpOworICAgICAg
ICB0aGlzLl9nc3RyZWFtZXJWaWV3ID0gbmV3IFdJLkdTdHJlYW1lclZpZXcoImdlbmVyYWwiLCBX
SS5VSVN0cmluZygiR2VuZXJhbCIpKTsKKyAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHRoaXMuX2dz
dHJlYW1lclZpZXcpOworICAgIH0KK307CisKK1dJLkdTdHJlYW1lclRhYkNvbnRlbnRWaWV3LlR5
cGUgPSAiZ3N0cmVhbWVyIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJWaWV3LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljYTU0YzFi
ZGQ0M2ZiNzM2OGIzNTk5ZDRhNjdmNjAxNDIxMDllY2YKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJWaWV3LmpzCkBA
IC0wLDAgKzEsMjQ4IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MCisg
KgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAq
ICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0
b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCitXSS5HU3RyZWFtZXJWaWV3ID0gY2xhc3Mg
R1N0cmVhbWVyVmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3Cit7CisgICAgY29uc3RydWN0b3Io
aWRlbnRpZmllciwgZGlzcGxheU5hbWUpCisgICAgeworICAgICAgICBzdXBlcigpOworCisgICAg
ICAgIHRoaXMuX2lkZW50aWZpZXIgPSBpZGVudGlmaWVyOworICAgICAgICB0aGlzLl9kaXNwbGF5
TmFtZSA9IGRpc3BsYXlOYW1lOworICAgICAgICB0aGlzLl9zdmdFbGVtZW50ID0gbnVsbDsKKyAg
ICAgICAgdGhpcy5fc2NvcGVCYXIgPSBudWxsOworICAgICAgICB0aGlzLl9jdXJyZW50QmluTmFt
ZSA9ICIiOworICAgICAgICB0aGlzLl9jdXJyZW50UGFyZW50QmluTmFtZSA9ICIiOworICAgICAg
ICB0aGlzLl9waXBlbGluZSA9IG51bGw7CisgICAgICAgIHRoaXMuX2xhYmVsID0gbnVsbDsKKyAg
ICAgICAgdGhpcy5fYXV0b1VwZGF0ZUludGVydmFsSWRlbnRpZmllciA9IHVuZGVmaW5lZDsKKyAg
ICAgICAgdGhpcy5fcGFuWm9vbSA9IG51bGw7CisgICAgICAgIHRoaXMuX2N1cnJlbnRQYW5ab29t
UGFyYW1ldGVycyA9IHVuZGVmaW5lZDsKKworICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0
LmFkZCgiZ3N0cmVhbWVyLXZpZXciLCBpZGVudGlmaWVyKTsKKworICAgICAgICB0aGlzLl9leHBv
cnRCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBXSS5CdXR0b25OYXZpZ2F0aW9uSXRlbSgicGlw
ZWxpbmUtZXhwb3J0IiwgV0kuVUlTdHJpbmcoIkV4cG9ydCIpLCAiSW1hZ2VzL0V4cG9ydC5zdmci
LCAxNSwgMTUpOworICAgICAgICB0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS50b29s
dGlwID0gV0kuVUlTdHJpbmcoIkV4cG9ydCBwaXBlbGluZSByZXByZXNlbnRhdGlvbiB0byBHcmFw
aHZpeiBkb3QgZmlsZSAoJXMpIiwgIlRoZSBHcmFwaHZpeiBkb3QgZmlsZSBmb3JtYXQgY2FuIHRo
ZW4gYmUgY29udmVydGVkIHRvIFBORyBhbmQgb3RoZXIgcGljdHVyZSBmb3JtYXRzIHdpdGggdGhp
cmQtcGFydHkgdG9vbHMuIikuZm9ybWF0KFdJLnNhdmVLZXlib2FyZFNob3J0Y3V0LmRpc3BsYXlO
YW1lKTsKKyAgICAgICAgdGhpcy5fZXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW0uYnV0dG9uU3R5
bGUgPSBXSS5CdXR0b25OYXZpZ2F0aW9uSXRlbS5TdHlsZS5JbWFnZUFuZFRleHQ7CisgICAgICAg
IHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtLnZpc2liaWxpdHlQcmlvcml0eSA9IFdJ
Lk5hdmlnYXRpb25JdGVtLlZpc2liaWxpdHlQcmlvcml0eS5Mb3c7CisgICAgICAgIHRoaXMuX2V4
cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtLmFkZEV2ZW50TGlzdGVuZXIoV0kuQnV0dG9uTmF2aWdh
dGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5faGFuZGxlRXhwb3J0QnV0dG9uTmF2aWdhdGlv
bkl0ZW1DbGlja2VkLCB0aGlzKTsKKyAgICAgICAgdGhpcy5fdXBkYXRlRXhwb3J0QnV0dG9uTmF2
aWdhdGlvbkl0ZW1TdGF0ZSgpOworCisgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIgPSBuZXcg
V0kuTmF2aWdhdGlvbkJhcjsKKyAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkJhci5hZGROYXZpZ2F0
aW9uSXRlbSh0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbSk7CisgICAgICAgIHRoaXMu
X25hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0obmV3IFdJLkRpdmlkZXJOYXZpZ2F0aW9u
SXRlbSk7CisKKyAgICAgICAgdGhpcy5fYXV0b21hdGljUmVmcmVzaE5hdmlnYXRpb25JdGVtID0g
bmV3IFdJLlRleHRUb2dnbGVCdXR0b25OYXZpZ2F0aW9uSXRlbSgiYXV0b21hdGljLXBpcGVsaW5l
LXJlZGlzcGxheSIsIFdJLlVJU3RyaW5nKCJBdXRvbWF0aWNhbGx5IHJlZnJlc2ggdGhlIHBpcGVs
aW5lIikpOworICAgICAgICB0aGlzLl9hdXRvbWF0aWNSZWZyZXNoTmF2aWdhdGlvbkl0ZW0uYWRk
RXZlbnRMaXN0ZW5lcihXSS5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVudC5DbGlja2VkLCB0aGlz
Ll9oYW5kbGVBdXRvbWF0aWNSZWZyZXNoQnV0dG9uTmF2aWdhdGlvbkl0ZW1DbGlja2VkLCB0aGlz
KTsKKyAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkJhci5hZGROYXZpZ2F0aW9uSXRlbSh0aGlzLl9h
dXRvbWF0aWNSZWZyZXNoTmF2aWdhdGlvbkl0ZW0pOworICAgICAgICB0aGlzLl9uYXZpZ2F0aW9u
QmFyLmFkZE5hdmlnYXRpb25JdGVtKG5ldyBXSS5EaXZpZGVyTmF2aWdhdGlvbkl0ZW0pOworCisg
ICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9uYXZpZ2F0aW9uQmFyKTsKKworICAgICAgICB0
aGlzLl9jb250YWluZXJFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cisg
ICAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuaWQgPSAicGlwZWxpbmUtY29udGFpbmVyIjsK
KyAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCh0aGlzLl9jb250YWluZXJFbGVtZW50KTsKKyAg
ICB9CisKKyAgICAvLyBQdWJsaWMKKworICAgIGdldCBpZGVudGlmaWVyKCkgeyByZXR1cm4gdGhp
cy5faWRlbnRpZmllcjsgfQorICAgIGdldCBkaXNwbGF5TmFtZSgpIHsgcmV0dXJuIHRoaXMuX2Rp
c3BsYXlOYW1lOyB9CisKKyAgICBnZXQgc3VwcG9ydHNTYXZlKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiAhIXRoaXMuX3BpcGVsaW5lOworICAgIH0KKworICAgIGdldCBzYXZlRGF0YSgpCisgICAg
eworICAgICAgICByZXR1cm4ge2N1c3RvbVNhdmVIYW5kbGVyOiAoKSA9PiB7IHRoaXMuX2V4cG9y
dFJlc3VsdCgpOyB9fTsKKyAgICB9CisKKyAgICBkaXNwbGF5UGlwZWxpbmUoZ3N0cmVhbWVyUGlw
ZWxpbmUpCisgICAgeworICAgICAgICBpZiAodGhpcy5fc2NvcGVCYXIpIHsKKyAgICAgICAgICAg
IHRoaXMuX3Njb3BlQmFyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuU2NvcGVCYXIuRXZlbnQuU2Vs
ZWN0aW9uQ2hhbmdlZCwgdGhpcy5fc2NvcGVCYXJTZWxlY3Rpb25EaWRDaGFuZ2UsIHRoaXMpOwor
ICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkJhci5yZW1vdmVOYXZpZ2F0aW9uSXRlbSh0aGlz
Ll9zY29wZUJhcik7CisgICAgICAgICAgICB0aGlzLl9zY29wZUJhciA9IG51bGw7CisgICAgICAg
IH0KKworICAgICAgICBpZiAodGhpcy5fcGFuWm9vbSkKKyAgICAgICAgICAgIHRoaXMuX3Bhblpv
b20uZGlzcG9zZSgpOworCisgICAgICAgIGlmICh0aGlzLl9sYWJlbCkKKyAgICAgICAgICAgIHRo
aXMuX25hdmlnYXRpb25CYXIucmVtb3ZlTmF2aWdhdGlvbkl0ZW0odGhpcy5fbGFiZWwpOworCisg
ICAgICAgIHRoaXMuX3BpcGVsaW5lID0gZ3N0cmVhbWVyUGlwZWxpbmU7CisgICAgICAgIGxldCBu
YW1lID0gZ3N0cmVhbWVyUGlwZWxpbmUuYmluTmFtZSB8fCBnc3RyZWFtZXJQaXBlbGluZS5uYW1l
OworCisgICAgICAgIHRoaXMuX3VwZGF0ZUV4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtU3RhdGUo
KTsKKyAgICAgICAgdGhpcy5fdXBkYXRlQXV0b21hdGljUmVmcmVzaEJ1dHRvbk5hdmlnYXRpb25J
dGVtU3RhdGUoKTsKKworICAgICAgICBpZiAodGhpcy5fYXV0b1VwZGF0ZUludGVydmFsSWRlbnRp
ZmllcikgeworICAgICAgICAgICAgdGhpcy5fbGFiZWwgPSBuZXcgV0kuVGV4dE5hdmlnYXRpb25J
dGVtKCJnc3QtcGlwZWxpbmUtYmluLW5hbWUiLCBXSS5VSVN0cmluZygiRGlzcGxheWluZyAlcy4i
LCAiIikuZm9ybWF0KG5hbWUpKTsKKyAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRk
TmF2aWdhdGlvbkl0ZW0odGhpcy5fbGFiZWwpOworICAgICAgICAgICAgdGhpcy5fcmVmcmVzaFNW
R0VsZW1lbnQoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHRo
aXMuX2xhYmVsID0gbmV3IFdJLlRleHROYXZpZ2F0aW9uSXRlbSgiZ3N0LXBpcGVsaW5lLWJpbi1u
YW1lIiwgV0kuVUlTdHJpbmcoIkRpc3BsYXlpbmcgJXMuIEF2YWlsYWJsZSBjaGlsZHJlbiBiaW5z
OiAiLCAiIikuZm9ybWF0KG5hbWUpKTsKKyAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkJhci5hZGRO
YXZpZ2F0aW9uSXRlbSh0aGlzLl9sYWJlbCk7CisKKyAgICAgICAgbGV0IHRhcmdldCA9IFdJLmFz
c3VtaW5nTWFpblRhcmdldCgpOworICAgICAgICB0YXJnZXQuR1N0cmVhbWVyQWdlbnQuZ2V0QWN0
aXZlUGlwZWxpbmVCaW5OYW1lcyhnc3RyZWFtZXJQaXBlbGluZS5uYW1lLCBnc3RyZWFtZXJQaXBl
bGluZS5iaW5OYW1lKS50aGVuKChwYXlsb2FkKSA9PiB7CisgICAgICAgICAgICBsZXQgc2NvcGVC
YXJJdGVtcyA9IFtdOworICAgICAgICAgICAgbGV0IGRlZmF1bHRJdGVtID0gbmV3IFdJLlNjb3Bl
QmFySXRlbSgiZ3N0LXBpcGVsaW5lLXNjb3BlLWJhci1wbGFjZWhvbGRlciIsICJTZWxlY3QuLi4i
KTsKKyAgICAgICAgICAgIGRlZmF1bHRJdGVtLnNlbGVjdGVkID0gdHJ1ZTsKKyAgICAgICAgICAg
IHNjb3BlQmFySXRlbXMucHVzaChkZWZhdWx0SXRlbSk7CisKKyAgICAgICAgICAgIGxldCBzY29w
ZUJhckl0ZW0gPSBuZXcgV0kuU2NvcGVCYXJJdGVtKGdzdHJlYW1lclBpcGVsaW5lLnBhcmVudEJp
bk5hbWUsICJQYXJlbnQ6ICIgKyBnc3RyZWFtZXJQaXBlbGluZS5wYXJlbnRCaW5OYW1lKTsKKyAg
ICAgICAgICAgIHNjb3BlQmFySXRlbS5zZWxlY3RlZCA9IGZhbHNlOworICAgICAgICAgICAgc2Nv
cGVCYXJJdGVtcy5wdXNoKHNjb3BlQmFySXRlbSk7CisKKyAgICAgICAgICAgIGZvciAobGV0IGJp
bk5hbWUgb2YgcGF5bG9hZC5iaW5OYW1lcykgeworICAgICAgICAgICAgICAgIGxldCBpbm5lclNj
b3BlQmFySXRlbSA9IG5ldyBXSS5TY29wZUJhckl0ZW0oYmluTmFtZSwgYmluTmFtZSk7CisgICAg
ICAgICAgICAgICAgaW5uZXJTY29wZUJhckl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTsKKyAgICAgICAg
ICAgICAgICBpbm5lclNjb3BlQmFySXRlbS5fX3BhcmVudCA9IGdzdHJlYW1lclBpcGVsaW5lLmJp
bk5hbWU7CisgICAgICAgICAgICAgICAgc2NvcGVCYXJJdGVtcy5wdXNoKGlubmVyU2NvcGVCYXJJ
dGVtKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdGhpcy5fc2NvcGVCYXIgPSBuZXcg
V0kuU2NvcGVCYXIoImdzdC1waXBlbGluZS1zY29wZS1iYXIiLCBzY29wZUJhckl0ZW1zLCBudWxs
LCB0cnVlKTsKKyAgICAgICAgICAgIHRoaXMuX3Njb3BlQmFyLmFkZEV2ZW50TGlzdGVuZXIoV0ku
U2NvcGVCYXIuRXZlbnQuU2VsZWN0aW9uQ2hhbmdlZCwgdGhpcy5fc2NvcGVCYXJTZWxlY3Rpb25E
aWRDaGFuZ2UsIHRoaXMpOworICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkJhci5hZGROYXZp
Z2F0aW9uSXRlbSh0aGlzLl9zY29wZUJhcik7CisKKyAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hT
VkdFbGVtZW50KCk7CisgICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4geworICAgICAgICAgICAg
Y29uc29sZS5lcnJvcigiQ291bGQgbm90IGR1bXAgbGlzdCBwaXBlbGluZSBiaW5zOiAiLCBlcnJv
cik7CisgICAgICAgIH0pOworICAgIH0KKworICAgIHN0YXRpYyByZW5kZXJTVkdFbGVtZW50KGdy
YXBoUmVwcmVzZW50YXRpb24pCisgICAgeworICAgICAgICBsZXQgcGFyc2VyID0gbmV3IERPTVBh
cnNlcigpOworICAgICAgICByZXR1cm4gcGFyc2VyLnBhcnNlRnJvbVN0cmluZyhncmFwaFJlcHJl
c2VudGF0aW9uLCAiaW1hZ2Uvc3ZnK3htbCIpOworICAgIH0KKworICAgIC8vIFByaXZhdGUKKwor
ICAgIF9yZWZyZXNoU1ZHRWxlbWVudCgpCisgICAgeworICAgICAgICBsZXQgcHJldmlvdXNFbGVt
ZW50ID0gdGhpcy5fc3ZnRWxlbWVudDsKKyAgICAgICAgdGhpcy5fc3ZnRWxlbWVudCA9IHRoaXMu
X3BpcGVsaW5lLnN2Z0VsZW1lbnQ7CisgICAgICAgIGlmIChwcmV2aW91c0VsZW1lbnQpCisgICAg
ICAgICAgICB0aGlzLl9jb250YWluZXJFbGVtZW50LnJlcGxhY2VDaGlsZCh0aGlzLl9zdmdFbGVt
ZW50LCBwcmV2aW91c0VsZW1lbnQpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aGlzLl9j
b250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3N2Z0VsZW1lbnQpOworCisgICAgICAg
IGxldCBncmFwaEVsZW1lbnQgPSB0aGlzLl9zdmdFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJnIilbMF07CisgICAgICAgIHRoaXMuX3Bhblpvb20gPSBwYW56b29tKGdyYXBoRWxlbWVudCwg
eworICAgICAgICAgICAgYmVmb3JlV2hlZWw6IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgICAg
ICAgICAgLy8gQWxsb3cgd2hlZWwtem9vbSBvbmx5IGlmIGFsdEtleSBpcyBkb3duLiBPdGhlcndp
c2UgLSBpZ25vcmUKKyAgICAgICAgICAgICAgICBsZXQgc2hvdWxkSWdub3JlID0gIWV2ZW50LmFs
dEtleTsKKyAgICAgICAgICAgICAgICByZXR1cm4gc2hvdWxkSWdub3JlOworICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgIGF1dG9jZW50ZXI6IGZhbHNlLAorICAgICAgICAgICAgc21vb3RoU2Ny
b2xsOiBmYWxzZQorICAgICAgICB9KTsKKworICAgICAgICB0aGlzLl9wYW5ab29tLm9uKCJ0cmFu
c2Zvcm0iLCB0aGlzLl91cGRhdGVQYW5ab29tUGFyYW1ldGVycy5iaW5kKHRoaXMpKTsKKworICAg
ICAgICBpZiAodGhpcy5fcGFuWm9vbVBhcmFtZXRlcnMgJiYgKHRoaXMuX2F1dG9VcGRhdGVJbnRl
cnZhbElkZW50aWZpZXIgIT09IHVuZGVmaW5lZCkpCisgICAgICAgICAgICB0aGlzLl9wYW5ab29t
Lm1vdmVUbyh0aGlzLl9wYW5ab29tUGFyYW1ldGVycy54LCB0aGlzLl9wYW5ab29tUGFyYW1ldGVy
cy55KTsKKyAgICB9CisKKyAgICBfdXBkYXRlUGFuWm9vbVBhcmFtZXRlcnMoZXZlbnQpCisgICAg
eworICAgICAgICB0aGlzLl9wYW5ab29tUGFyYW1ldGVycyA9IHRoaXMuX3Bhblpvb20uZ2V0VHJh
bnNmb3JtKCk7CisgICAgfQorCisgICAgYXN5bmMgX2Rpc3BsYXlCaW4oYmluTmFtZSwgcGFyZW50
QmluTmFtZSkKKyAgICB7CisgICAgICAgIGxldCBhZ2VudDsKKyAgICAgICAgbGV0IHRhcmdldCA9
IFdJLmFzc3VtaW5nTWFpblRhcmdldCgpOworICAgICAgICBpZiAodGFyZ2V0Lmhhc0RvbWFpbigi
R1N0cmVhbWVyIikpCisgICAgICAgICAgICBhZ2VudCA9IHRhcmdldC5HU3RyZWFtZXJBZ2VudDsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX2N1cnJl
bnRCaW5OYW1lID0gYmluTmFtZTsKKyAgICAgICAgdGhpcy5fY3VycmVudFBhcmVudEJpbk5hbWUg
PSBwYXJlbnRCaW5OYW1lOworICAgICAgICBsZXQgcGlwZWxpbmVOYW1lID0gdGhpcy5fcGlwZWxp
bmUubmFtZTsKKyAgICAgICAgYWdlbnQuZHVtcEFjdGl2ZVBpcGVsaW5lKHBpcGVsaW5lTmFtZSwg
YmluTmFtZSkudGhlbigocGF5bG9hZCkgPT4geworICAgICAgICAgICAgbGV0IGRvY3VtZW50RnJh
Z21lbnQgPSBHU3RyZWFtZXJWaWV3LnJlbmRlclNWR0VsZW1lbnQocGF5bG9hZC5waXBlbGluZUdy
YXBoUmVwcmVzZW50YXRpb24pOworICAgICAgICAgICAgbGV0IHJlcHJlc2VudGVkT2JqZWN0ID0g
bmV3IFdJLkdTdHJlYW1lclBpcGVsaW5lKHBpcGVsaW5lTmFtZSwgcGFyZW50QmluTmFtZSwgYmlu
TmFtZSwgcGF5bG9hZC5waXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24sIGRvY3VtZW50RnJhZ21l
bnQpOworICAgICAgICAgICAgV0kuc2hvd1JlcHJlc2VudGVkT2JqZWN0KHJlcHJlc2VudGVkT2Jq
ZWN0KTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAgX3Njb3BlQmFyU2VsZWN0aW9uRGlkQ2hh
bmdlKGV2ZW50KQorICAgIHsKKyAgICAgICAgZm9yIChsZXQgaXRlbSBvZiBldmVudC50YXJnZXQu
aXRlbXMpIHsKKyAgICAgICAgICAgIGlmIChpdGVtLmlkICE9PSAiZ3N0LXBpcGVsaW5lLXNjb3Bl
LWJhci1wbGFjZWhvbGRlciIgJiYgaXRlbS5zZWxlY3RlZCkgeworICAgICAgICAgICAgICAgIGxl
dCBiaW5OYW1lID0gaXRlbS5pZDsKKyAgICAgICAgICAgICAgICBsZXQgcGFyZW50QmluTmFtZSA9
IGl0ZW0uX19wYXJlbnQgfHwgIiI7CisgICAgICAgICAgICAgICAgdGhpcy5fZGlzcGxheUJpbihi
aW5OYW1lLCBwYXJlbnRCaW5OYW1lKS5jYXRjaCgoZXJyb3IpID0+IHsKKyAgICAgICAgICAgICAg
ICAgICAgY29uc29sZS5lcnJvcigiQ291bGQgbm90IGR1bXAgcGlwZWxpbmU6ICIsIGVycm9yKTsK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBfZXhwb3J0UmVzdWx0KCkKKyAgICB7CisgICAg
ICAgIFdJLkZpbGVVdGlsaXRpZXMuc2F2ZSh0aGlzLl9waXBlbGluZS5zYXZlRGF0YSk7CisgICAg
fQorCisgICAgX3VwZGF0ZUV4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtU3RhdGUoKQorICAgIHsK
KyAgICAgICAgdGhpcy5fZXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9ICEhdGhp
cy5fcGlwZWxpbmU7CisgICAgfQorCisgICAgX2hhbmRsZUV4cG9ydEJ1dHRvbk5hdmlnYXRpb25J
dGVtQ2xpY2tlZChldmVudCkKKyAgICB7CisgICAgICAgIHRoaXMuX2V4cG9ydFJlc3VsdCgpOwor
ICAgIH0KKworICAgIF91cGRhdGVBdXRvbWF0aWNSZWZyZXNoQnV0dG9uTmF2aWdhdGlvbkl0ZW1T
dGF0ZSgpCisgICAgeworICAgICAgICB0aGlzLl9hdXRvbWF0aWNSZWZyZXNoTmF2aWdhdGlvbkl0
ZW0uYWN0aXZhdGVkID0gdGhpcy5fYXV0b1VwZGF0ZUludGVydmFsSWRlbnRpZmllciAhPT0gdW5k
ZWZpbmVkOworICAgIH0KKworICAgIF91cGRhdGVHcmFwaCgpCisgICAgeworICAgICAgICB0aGlz
Ll9kaXNwbGF5QmluKHRoaXMuX2N1cnJlbnRCaW5OYW1lLCB0aGlzLl9jdXJyZW50UGFyZW50Qmlu
TmFtZSkuY2F0Y2goKGVycm9yKSA9PiB7CisgICAgICAgICAgICB3aW5kb3cuY2xlYXJJbnRlcnZh
bCh0aGlzLl9hdXRvVXBkYXRlSW50ZXJ2YWxJZGVudGlmaWVyKTsKKyAgICAgICAgICAgIHRoaXMu
X2F1dG9VcGRhdGVJbnRlcnZhbElkZW50aWZpZXIgPSB1bmRlZmluZWQ7CisgICAgICAgICAgICB0
aGlzLl91cGRhdGVBdXRvbWF0aWNSZWZyZXNoQnV0dG9uTmF2aWdhdGlvbkl0ZW1TdGF0ZSgpOwor
ICAgICAgICB9KTsKKyAgICB9CisKKyAgICBfaGFuZGxlQXV0b21hdGljUmVmcmVzaEJ1dHRvbk5h
dmlnYXRpb25JdGVtQ2xpY2tlZChldmVudCkKKyAgICB7CisgICAgICAgIGNvbnN0IGF1dG9VcGRh
dGVJbnRlcnZhbCA9IDEwMDA7CisgICAgICAgIGlmICh0aGlzLl9hdXRvVXBkYXRlSW50ZXJ2YWxJ
ZGVudGlmaWVyID09PSB1bmRlZmluZWQpCisgICAgICAgICAgICB0aGlzLl9hdXRvVXBkYXRlSW50
ZXJ2YWxJZGVudGlmaWVyID0gc2V0SW50ZXJ2YWwodGhpcy5fdXBkYXRlR3JhcGguYmluZCh0aGlz
KSwgYXV0b1VwZGF0ZUludGVydmFsKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICB3aW5k
b3cuY2xlYXJJbnRlcnZhbCh0aGlzLl9hdXRvVXBkYXRlSW50ZXJ2YWxJZGVudGlmaWVyKTsKKyAg
ICAgICAgICAgIHRoaXMuX2F1dG9VcGRhdGVJbnRlcnZhbElkZW50aWZpZXIgPSB1bmRlZmluZWQ7
CisgICAgICAgIH0KKworICAgICAgICB0aGlzLl91cGRhdGVBdXRvbWF0aWNSZWZyZXNoQnV0dG9u
TmF2aWdhdGlvbkl0ZW1TdGF0ZSgpOworICAgIH0KK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0luc3BlY3RvckdSZXNvdXJjZXMuY21ha2UgYi9Tb3VyY2UvV2ViS2l0L0luc3BlY3RvckdS
ZXNvdXJjZXMuY21ha2UKaW5kZXggNjc0YjVlZjBiZTRiZWIyYTJlODFiMWJjZTk4NDc4MjJiZDRi
NDgyNy4uMzgyYWQyYTM4NDhkNTM2YWVmNmMwN2FhMmU1ZWIzZjdhNTA3NTNjYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9JbnNwZWN0b3JHUmVzb3VyY2VzLmNtYWtlCisrKyBiL1NvdXJjZS9X
ZWJLaXQvSW5zcGVjdG9yR1Jlc291cmNlcy5jbWFrZQpAQCAtOSw2ICs5LDcgQEAgbWFjcm8oV0VC
S0lUX0JVSUxEX0lOU1BFQ1RPUl9HUkVTT1VSQ0VTIF9kZXJpdmVkX3NvdXJjZXNfZGlyKQogICAg
ICAgICAke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0V4dGVybmFsL0NvZGVNaXJyb3IvKi5jc3MKICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElS
fS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9Db2RlTWlycm9y
LyouanMKICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9FeHRlcm5hbC9Fc3ByaW1hLyouanMKKyAgICAgICAgJHtDTUFLRV9TT1VS
Q0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9QYW5a
b29tLmpzLyouanMKICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC90aHJlZS5qcy8qLmpzCiAgICAgICAgICR7Q01B
S0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
LyouanMKICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Qcm90b2NvbC8qLmpzCkBAIC02MCwxMyArNjEsMTkgQEAgbWFjcm8oV0VC
S0lUX0JVSUxEX0lOU1BFQ1RPUl9HUkVTT1VSQ0VTIF9kZXJpdmVkX3NvdXJjZXNfZGlyKQogICAg
ICAgICBlbmRpZiAoKQogICAgIGVuZGlmICgpCiAKKyAgICBpZiAoVVNFX0dTVFJFQU1FUikKKyAg
ICAgICAgc2V0KENPTUJJTkVfR1NUUkVBTUVSX1JFU09VUkNFUyBZRVMpCisgICAgZWxzZSAoKQor
ICAgICAgICBzZXQoQ09NQklORV9HU1RSRUFNRVJfUkVTT1VSQ0VTIE5PKQorICAgIGVuZGlmICgp
CisKICAgICBhZGRfY3VzdG9tX2NvbW1hbmQoCiAgICAgICAgIE9VVFBVVCAke0NNQUtFX0JJTkFS
WV9ESVJ9L2luc3BlY3Rvci1yZXNvdXJjZXMuc3RhbXAKICAgICAgICAgREVQRU5EUyAke0luc3Bl
Y3RvckZpbGVzRGVwZW5kZW5jaWVzfQogICAgICAgICAgICAgICAgICR7SW5zcGVjdG9yUmVzb3Vy
Y2VTY3JpcHRzfQogICAgICAgICAgICAgICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQklOU1BFQ1RP
UlVJX0RJUn0vVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMu
anMKICAgICAgICAgQ09NTUFORCBjcCAke0RFUklWRURfU09VUkNFU19XRUJJTlNQRUNUT1JVSV9E
SVJ9L1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzICR7
Rk9SV0FSRElOR19IRUFERVJTX0RJUn0vSmF2YVNjcmlwdENvcmUvU2NyaXB0cwotICAgICAgICBD
T01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgZW52ICJERVJJVkVEX1NPVVJDRVNfRElSPSR7REVS
SVZFRF9TT1VSQ0VTX1dFQklOU1BFQ1RPUlVJX0RJUn0iICJTUkNST09UPSR7Q01BS0VfU09VUkNF
X0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJIiAiSkFWQVNDUklQVENPUkVfUFJJVkFURV9IRUFE
RVJTX0RJUj0ke0ZPUldBUkRJTkdfSEVBREVSU19ESVJ9L0phdmFTY3JpcHRDb3JlL1NjcmlwdHMi
ICJUQVJHRVRfQlVJTERfRElSPSR7X2Rlcml2ZWRfc291cmNlc19kaXJ9L0luc3BlY3RvclJlc291
cmNlcyIgIlVOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSD1XZWJJbnNwZWN0b3JVSSIg
IkNPTUJJTkVfSU5TUEVDVE9SX1JFU09VUkNFUz0ke0NPTUJJTkVfSU5TUEVDVE9SX1JFU09VUkNF
U30iICJDT01CSU5FX1RFU1RfUkVTT1VSQ0VTPSR7Q09NQklORV9URVNUX1JFU09VUkNFU30iIFBZ
VEhPTj0ke1BZVEhPTl9FWEVDVVRBQkxFfSAke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9TY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBsCisgICAg
ICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBlbnYgIkRFUklWRURfU09VUkNFU19ESVI9
JHtERVJJVkVEX1NPVVJDRVNfV0VCSU5TUEVDVE9SVUlfRElSfSIgIlNSQ1JPT1Q9JHtDTUFLRV9T
T1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkiICJKQVZBU0NSSVBUQ09SRV9QUklWQVRF
X0hFQURFUlNfRElSPSR7Rk9SV0FSRElOR19IRUFERVJTX0RJUn0vSmF2YVNjcmlwdENvcmUvU2Ny
aXB0cyIgIlRBUkdFVF9CVUlMRF9ESVI9JHtfZGVyaXZlZF9zb3VyY2VzX2Rpcn0vSW5zcGVjdG9y
UmVzb3VyY2VzIiAiVU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIPVdlYkluc3BlY3Rv
clVJIiAiQ09NQklORV9HU1RSRUFNRVJfUkVTT1VSQ0VTPSR7Q09NQklORV9HU1RSRUFNRVJfUkVT
T1VSQ0VTfSIgIkNPTUJJTkVfSU5TUEVDVE9SX1JFU09VUkNFUz0ke0NPTUJJTkVfSU5TUEVDVE9S
X1JFU09VUkNFU30iICJDT01CSU5FX1RFU1RfUkVTT1VSQ0VTPSR7Q09NQklORV9URVNUX1JFU09V
UkNFU30iIFBZVEhPTj0ke1BZVEhPTl9FWEVDVVRBQkxFfSAke0NNQUtFX1NPVVJDRV9ESVJ9L1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9TY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2UtcmVzb3VyY2Vz
LnBsCiAgICAgICAgIENPTU1BTkQgbWtkaXIgLXAgJHtfZGVyaXZlZF9zb3VyY2VzX2Rpcn0vSW5z
cGVjdG9yUmVzb3VyY2VzL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2oKICAg
ICAgICAgQ09NTUFORCBjcCAke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgJHtfZGVyaXZlZF9z
b3VyY2VzX2Rpcn0vSW5zcGVjdG9yUmVzb3VyY2VzL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlv
bnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwogICAgICAgICBDT01NQU5EIHRvdWNoICR7
Q01BS0VfQklOQVJZX0RJUn0vaW5zcGVjdG9yLXJlc291cmNlcy5zdGFtcApkaWZmIC0tZ2l0IGEv
U291cmNlL2NtYWtlL0ZpbmRHcmFwaFZpei5jbWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5kR3JhcGhW
aXouY21ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2YxZjIyOWU0Yzg0YmViOGU5YzFhNzRiN2EzNGFhNWJmYjcw
NGY1YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9jbWFrZS9GaW5kR3JhcGhWaXouY21ha2UK
QEAgLTAsMCArMSw0OCBAQAorIyAtIFRyeSB0byBmaW5kIEdyYXBoVml6CisjIE9uY2UgZG9uZSwg
dGhpcyB3aWxsIGRlZmluZQorIworIyAgR1JBUEhWSVpfRk9VTkQgLSBzeXN0ZW0gaGFzIEdyYXBo
Vml6LgorIyAgR1JBUEhWSVpfSU5DTFVERV9ESVJTIC0gdGhlIEdyYXBoVml6LiBpbmNsdWRlIGRp
cmVjdG9yaWVzCisjICBHUkFQSFZJWl9MSUJSQVJJRVMgLSBsaW5rIHRoZXNlIHRvIHVzZSBHcmFw
aFZpei4KKyMKKyMgQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisjCisjIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTCisjIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyMg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBI
T0xERVIgT1IgSVRTCisjIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorIyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOworIyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwKKyMgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IKKyMgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRgorIyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworZmlu
ZF9wYWNrYWdlKFBrZ0NvbmZpZykKK3BrZ19jaGVja19tb2R1bGVzKEdSQVBIVklaIGxpYmd2YyBs
aWJjZ3JhcGgpCisKK3NldChWRVJTSU9OX09LIFRSVUUpCitpZiAoR1JBUEhWSVpfVkVSU0lPTikK
KyAgICBpZiAoR1JBUEhWSVpfRklORF9WRVJTSU9OX0VYQUNUKQorICAgICAgICBpZiAoTk9UKCIk
e0dSQVBIVklaX0ZJTkRfVkVSU0lPTn0iIFZFUlNJT05fRVFVQUwgIiR7R1JBUEhWSVpfVkVSU0lP
Tn0iKSkKKyAgICAgICAgICAgIHNldChWRVJTSU9OX09LIEZBTFNFKQorICAgICAgICBlbmRpZiAo
KQorICAgIGVsc2UgKCkKKyAgICAgICAgaWYgKCIke0dSQVBIVklaX1ZFUlNJT059IiBWRVJTSU9O
X0xFU1MgIiR7R1JBUEhWSVpfRklORF9WRVJTSU9OfSIpCisgICAgICAgICAgICBzZXQoVkVSU0lP
Tl9PSyBGQUxTRSkKKyAgICAgICAgZW5kaWYgKCkKKyAgICBlbmRpZiAoKQorZW5kaWYgKCkKKwor
aW5jbHVkZShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKK0ZJTkRfUEFDS0FHRV9IQU5E
TEVfU1RBTkRBUkRfQVJHUyhHUkFQSFZJWiBERUZBVUxUX01TRyBHUkFQSFZJWl9JTkNMVURFX0RJ
UlMgR1JBUEhWSVpfTElCUkFSSUVTIFZFUlNJT05fT0spCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21h
a2UvR1N0cmVhbWVyQ2hlY2tzLmNtYWtlIGIvU291cmNlL2NtYWtlL0dTdHJlYW1lckNoZWNrcy5j
bWFrZQppbmRleCAxOGIxMmY4MmE4ZDI4YzM0MjNmM2U2ZjMxNDczODg5OGMxZjY0NzZjLi4wMmJj
MDJhYmM3ZGRiYzE4MDNiZmY4NzlmYTIwMDI1ZDc2MjUxZjQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Y21ha2UvR1N0cmVhbWVyQ2hlY2tzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9HU3RyZWFtZXJD
aGVja3MuY21ha2UKQEAgLTEwLDYgKzEwLDE0IEBAIGlmIChFTkFCTEVfVklERU8gT1IgRU5BQkxF
X1dFQl9BVURJTykKICAgICAgICAgU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX1dFQkFVRElP
X0dTVFJFQU1FUiBUUlVFKQogICAgIGVuZGlmICgpCiAKKyAgICBmaW5kX3BhY2thZ2UoR3JhcGhW
aXogMi40MykKKyAgICBpZiAoR1JBUEhWSVpfRk9VTkQpCisgICAgICAgIFNFVF9BTkRfRVhQT1NF
X1RPX0JVSUxEKFVTRV9HUkFQSFZJWiBUUlVFKQorICAgIGVsc2UgKCkKKyAgICAgICAgbWVzc2Fn
ZShXQVJOSU5HICJHcmFwaHZpeiBsaWJyYXJ5IG5vdCBmb3VuZC4gR1N0cmVhbWVyIHBpcGVsaW5l
cyB3b24ndCBiZSBkaXNwbGF5ZWQgaW4gdGhlIFdlYkluc3BlY3RvciIpCisgICAgICAgIFNFVF9B
TkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9HUkFQSFZJWiBGQUxTRSkKKyAgICBlbmRpZiAoKQorCiAg
ICAgZmluZF9wYWNrYWdlKEdTdHJlYW1lciAxLjEwLjAgUkVRVUlSRUQgQ09NUE9ORU5UUyAke0dT
VFJFQU1FUl9DT01QT05FTlRTfSkKIAogICAgIGlmIChFTkFCTEVfV0VCX0FVRElPKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394093</attachid>
            <date>2020-03-20 09:30:07 -0700</date>
            <delta_ts>2020-09-09 11:51:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204619-20200320163005.patch</filename>
            <type>text/plain</type>
            <size>146667</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NDhlOGM2ZWUyZWQzYmZmOTAzYjJkMDhmNjFmMTRjYmEyMjVhNGMyLi5iYTkwNWUwNzdlMGVlNmE4
ZTY3ZWIxMGIwNTNkODgzYTczNWY1YzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxOS0xMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBXZWIgSW5zcGVjdG9yOiBBZGQgbmV3IHRhYiBm
b3IgR1N0cmVhbWVyIHBpcGVsaW5lcyBpbnNwZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb246
IEFkZCBHU3RyZWFtZXIgQVBJIGZvciBwaXBlbGluZSBpbnNwZWN0aW9uIGluIHRoZSBwYWdlIHBy
b3RvY29sLgorCiAyMDIwLTAzLTE5ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgogCiAgICAgICAgIFVwc3RyZWFtIGEgdmFyaWV0eSBvZiBDb2NvYS1wbGF0Zm9ybSBIQVZF
IGFuZCBFTkFCTEUgbWFjcm9zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTUxMGFmYjcxM2NjNWUwYWJmOWRlZjU5
MDZmZDViOTQ4OTQ1MGRjMS4uMzY2ZWJiMzU5MjE4YjIzMmUxZjY5OWM0ZjNkNGRmNTk2OGZkNzY0
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE5LTExLTI2ICBQaGlsaXBwZSBOb3Jt
YW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIFdlYiBJbnNw
ZWN0b3I6IEFkZCBuZXcgdGFiIGZvciBHU3RyZWFtZXIgcGlwZWxpbmVzIGluc3BlY3Rpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDYxOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtlZXAgdHJhY2sg
b2YgdGhlIEdTdHJlYW1lciBwaXBlbGluZXMsIHRoaXMgd2lsbCBhbGxvdyB0aGUKKyAgICAgICAg
V2ViSW5zcGVjdG9yIHRvIGxpc3QgYW5kIGRpc3BsYXkgdGhlbSBpbiBhIGRlZGljYXRlZCB0YWIu
CisKKyAgICAgICAgVGhpcyBwYXRjaCBkb2Vzbid0IGNvdmVyIHRoZSBwaXBlbGluZXMgY3JlYXRl
ZCBieSB0aGUgR1N0cmVhbWVyCisgICAgICAgIExpYldlYlJUQyBiYWNrZW5kLiBTdXBwb3J0IGZv
ciB0aGF0IHdvdWxkIGJlIGFkZGVkIGxhdGVyLCBpZiB0aGUKKyAgICAgICAgY3VycmVudCBhcHBy
b2FjaCBpcyBkZWVtZWQgYWNjZXB0YWJsZS4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
QXVkaW9Db250ZXh0LmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRp
b0Rlc3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWZhdWx0QXVkaW9EZXN0
aW5hdGlvbk5vZGU6OnVuaW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZWZhdWx0QXVk
aW9EZXN0aW5hdGlvbk5vZGU6OmNyZWF0ZURlc3RpbmF0aW9uKToKKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
Z3N0cmVhbWVyUGlwZWxpbmVzQ2FjaGVVcGRhdGVkKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRp
YUVsZW1lbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6cG9ydCk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1lclBpcGVsaW5lQ2FjaGVV
cGRhdGVkSW1wbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFt
ZXJQaXBlbGluZUNhY2hlVXBkYXRlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNw
ZWN0b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50
OjpnZXRHU3RyZWFtZXJQaXBlbGluZXNOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JQYWdlQWdlbnQ6OmdldEdTdHJlYW1lclBpcGVsaW5lQmluTmFtZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpkdW1wR1N0cmVhbWVyUGlwZWxpbmUpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50Ojpnc3RyZWFtZXJQaXBlbGluZUNhY2hlVXBk
YXRlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvQXVkaW9EZXN0aW5hdGlvbkdTdHJl
YW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyOjpB
dWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRGVzdGlu
YXRpb25HU3RyZWFtZXI6On5BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJDbGllbnQ6OmdzdHJlYW1lclBpcGVsaW5lc0NhY2hlVXBkYXRlZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpyZWdpc3RlckdTdHJlYW1lclBpcGVsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6
OnVucmVnaXN0ZXJHU3RyZWFtZXJQaXBlbGluZSk6CisgICAgICAgIChXZWJDb3JlOjpnc3RQaXBl
bGluZXNOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpkdW1wR1N0cmVhbWVyUGlwZWxpbmUpOgor
ICAgICAgICAoV2ViQ29yZTo6Z2V0QmluQ2hpbGRyZW4pOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0UGlwZWxpbmUpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVHU1RQ
bGF5QmluKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVu
ZFBpcGVsaW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGVuZFBpcGVsaW5lOjpBcHBlbmRQ
aXBlbGluZSk6CisgICAgICAgIChXZWJDb3JlOjpBcHBlbmRQaXBlbGluZTo6fkFwcGVuZFBpcGVs
aW5lKToKKwogMjAyMC0wMy0yMCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gV2hpdGUtbGlzdCB2cDA5IGluIHRoZSBjb2RlYyBy
ZWdpc3RyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggNTM3NTUzY2Q3Mzg5ZGQ0MmU2MzBj
MTkwOTQ2YTk5YTljMGZjN2UzYi4uYTUxYjZhYmUzMjYwMWM2NmQ0MDg1MTZjZjRmZjkxZmQ5ZDA3
YTVmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODUgQEAKKzIwMTktMTEt
MjYgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtH
VEtdW1dQRV0gV2ViIEluc3BlY3RvcjogQWRkIG5ldyB0YWIgZm9yIEdTdHJlYW1lciBwaXBlbGlu
ZXMgaW5zcGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA0NjE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRm9yIHRoZSBXUEUgYW5kIEdUSyBwb3J0cyBhIG5ldyBJbnNwZWN0b3IgdGFiIGlzIG5v
dyBhdmFpbGFibGUuIE9uCisgICAgICAgIHRoZSBsZWZ0IGhhbmQtc2lkZSB0aGUgY3VycmVudGx5
IGFsaXZlIHBpcGVsaW5lcyBhcmUgbGlzdGVkLiBXaGVuCisgICAgICAgIGEgcGlwZWxpbmUgaXMg
c2VsZWN0ZWQsIGl0cyBncmFwaCByZXByZXNlbnRhdGlvbiBpcyBleHBvcnRlZCB0bworICAgICAg
ICBTVkcgYW5kIGRpc3BsYXllZCBvbiB0aGUgcmlnaHQgaGFuZC1zaWRlIG9mIHRoZSB0YWIgdmll
dy4gU3ViIGJpbnMKKyAgICAgICAgb2YgdGhlIHBpcGVsaW5lcyBjYW4gYmUgc2VsZWN0ZWQgYW5k
IHRoZSBncmFwaCB3aWxsIGJlIHVwZGF0ZWQKKyAgICAgICAgYWNjb3JkaW5nbHkuIFRoZSBmdWxs
IGdyYXBoIGNhbiBiZSBleHBvcnRlZCB0byBHcmFwaFZpeiBmb3JtYXQgYW5kCisgICAgICAgIHNh
dmVkIHRvIGEgZmlsZS4KKworICAgICAgICBUaGUgdml6LmpzIGFuZCBzdmctcGFuLXpvb20gSlMg
bGlicmFyaWVzIGFyZSBub3cgYnVuZGxlZCBhcworICAgICAgICB0aGlyZC1wYXJ0eSBtb2R1bGVz
LiBMYXRlciBvbiB0aGUgZDMsIGRhZ3JlLWQzIGFuZCBncmFwaGxpYi1kb3QKKyAgICAgICAgbGli
cmFyaWVzIGNvdWxkIGJlIHVzZWQuIEZvciB0aGUgdGltZSBiZWluZyB0aGUgZ3JhcGhsaWItZG90
CisgICAgICAgIHBhcnNlciBkb2Vzbid0IGhhbmRsZSB0aGUgR3JhcGh2aXogbW9kZWxzIGV4cG9y
dGVkIGJ5IEdTdHJlYW1lci4KKworICAgICAgICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9j
YWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAgKiBTY3JpcHRzL2NvcHktdXNlci1pbnRlcmZhY2Ut
cmVzb3VyY2VzLnBsOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzOgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9QbGF0Zm9ybS5qczoKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL0NvbnRyb2xsZXJzL0dTdHJlYW1lck1hbmFnZXIuanM6IEFkZGVkLgorICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvc3ZnLXBhbi16b29tLmpzL0xJQ0VOU0U6IEFkZGVkLgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvc3ZnLXBhbi16b29tLmpzL3N2Zy1wYW4t
em9vbS5taW4uanM6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvdml6
LmpzL0xJQ0VOU0U6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvdml6
LmpzL2Z1bGwucmVuZGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0V4dGVy
bmFsL3Zpei5qcy9saXRlLnJlbmRlci5qczogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFj
ZS9FeHRlcm5hbC92aXouanMvdml6LmpzOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L0ltYWdlcy9HU3RyZWFtZXIuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01h
aW4uaHRtbDoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9HU3RyZWFtZXJQaXBlbGlu
ZS5qczogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2NvbC9QYWdlT2JzZXJ2
ZXIuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJTaWRlYmFyUGFu
ZWwuY3NzOiBBZGRlZC4KKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVi
dWdnZXIgPiAuY29udGVudCk6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9u
LmRlYnVnZ2VyID4gLm5hdmlnYXRpb24tYmFyKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVs
Lm5hdmlnYXRpb24uZGVidWdnZXIgPiAubmF2aWdhdGlvbi1iYXIgLmRlYnVnZ2VyLWJyZWFrcG9p
bnRzKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgPiAu
bmF2aWdhdGlvbi1iYXIgLmRlYnVnZ2VyLWJyZWFrcG9pbnRzLmFjdGl2YXRlZCk6CisgICAgICAg
ICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyID4gLm5hdmlnYXRpb24tYmFy
IC5kZWJ1Z2dlci1wYXVzZS1yZXN1bWUpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2
aWdhdGlvbi5kZWJ1Z2dlciA+IC5uYXZpZ2F0aW9uLWJhciAuZGVidWdnZXItcGF1c2UtcmVzdW1l
LmFjdGl2YXRlZCk6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVn
Z2VyIC53YXJuaW5nLWJhbm5lcik6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0
aW9uLmRlYnVnZ2VyIC50cmVlLW91dGxpbmUuc2luZ2xlLXRocmVhZCA+IC5pdGVtLnRocmVhZCk6
CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC50cmVlLW91
dGxpbmUuc2luZ2xlLXRocmVhZCk6CisgICAgICAgIChib2R5W2Rpcj1sdHJdIC5zaWRlYmFyID4g
LnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkKToK
KyAgICAgICAgKGJvZHlbZGlyPXJ0bF0gLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1
Z2dlciAudHJlZS1vdXRsaW5lLnNpbmdsZS10aHJlYWQpOgorICAgICAgICAoLnNpZGViYXIgPiAu
cGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAud2FybmluZy1iYW5uZXIgPiBhKToKKyAgICAgICAg
KC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLmRldGFpbHMtc2VjdGlvbik6
CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmRlYnVnZ2VyIC5kZXRhaWxz
LXNlY3Rpb24ucGF1c2VkLXJlYXNvbi5jb2xsYXBzZWQgPiAuaGVhZGVyID4gLm9wdGlvbnMpOgor
ICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5kZWJ1Z2dlciAuZGV0YWlscy1z
ZWN0aW9uID4gLmNvbnRlbnQpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlv
bi5kZWJ1Z2dlciAuZGV0YWlscy1zZWN0aW9uLmNvbGxhcHNlZCA+IC5jb250ZW50KToKKyAgICAg
ICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZGVidWdnZXIgLmRldGFpbHMtc2VjdGlv
biA+IC5jb250ZW50ID4gLmdyb3VwKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmln
YXRpb24uZGVidWdnZXIgLmRldGFpbHMtc2VjdGlvbi5zY3JpcHRzOm5vdCguY29sbGFwc2VkKSk6
CisgICAgICAgIChAbWVkaWEgKHByZWZlcnMtZGFyay1pbnRlcmZhY2UpKToKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclNpZGViYXJQYW5lbC5qczogQWRkZWQuCisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5jc3M6IEFk
ZGVkLgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIpOgorICAgICAgICAoLmNvbnRl
bnQtdmlldy5nc3RyZWFtZXIgLm5hdmlnYXRpb24tYmFyKToKKyAgICAgICAgKC5jb250ZW50LXZp
ZXcuZ3N0cmVhbWVyIC5uYXZpZ2F0aW9uLWJhci5pbnZpc2libGUpOgorICAgICAgICAoLmNvbnRl
bnQtdmlldy5nc3RyZWFtZXIgLm5hdmlnYXRpb24tYmFyIC5pdGVtLnJhZGlvLmJ1dHRvbi50ZXh0
LW9ubHkpOgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgLm5hdmlnYXRpb24tYmFy
IC5pdGVtLnJhZGlvLmJ1dHRvbi50ZXh0LW9ubHkuc2VsZWN0ZWQpOgorICAgICAgICAoLmNvbnRl
bnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAuc2VwYXJhdG9yKToKKyAgICAg
ICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5l
cik6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+
IC5jb250YWluZXIuaGlkZGVuKToKKyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4g
LmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lci1jZW50ZXJlZCk6CisgICAgICAgICguY29udGVu
dC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgYnV0dG9uKToK
KyAgICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNv
bnRhaW5lciA+IC50aXRsZSk6CisgICAgICAgIChib2R5W2Rpcj1sdHJdIC5jb250ZW50LXZpZXcu
Z3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC50aXRsZSk6CisgICAg
ICAgIChib2R5W2Rpcj1ydGxdIC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12
aWV3ID4gLmNvbnRhaW5lciA+IC50aXRsZSk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJl
YW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3VwKToKKyAg
ICAgICAgKC5jb250ZW50LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRh
aW5lciA+IC5lZGl0b3ItZ3JvdXAgPiAuZWRpdG9yIGlucHV0KToKKyAgICAgICAgKC5jb250ZW50
LXZpZXcuZ3N0cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3It
Z3JvdXAgPiAuZWRpdG9yIGlucHV0W3R5cGU9ImNoZWNrYm94Il0pOgorICAgICAgICAoYm9keVtk
aXI9bHRyXSAuY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3RyZWFtZXItdmlldyA+IC5jb250
YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRvciBpbnB1dFt0eXBlPSJjaGVja2JveCJdKToK
KyAgICAgICAgKGJvZHlbZGlyPXJ0bF0gLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVh
bWVyLXZpZXcgPiAuY29udGFpbmVyID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlw
ZT0iY2hlY2tib3giXSk6CisgICAgICAgICguY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3Ry
ZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRvciBzZWxlY3Qp
OgorICAgICAgICAoLmNvbnRlbnQtdmlldy5nc3RyZWFtZXIgPiAuZ3N0cmVhbWVyLXZpZXcgPiAu
Y29udGFpbmVyID4gLmVkaXRvci1ncm91cCA+IC5lZGl0b3IgaW5wdXRbdHlwZT0ibnVtYmVyIl0p
OgorICAgICAgICAoYm9keVtkaXI9bHRyXSAuY29udGVudC12aWV3LmdzdHJlYW1lciA+IC5nc3Ry
ZWFtZXItdmlldyA+IC5jb250YWluZXIgPiAuZWRpdG9yLWdyb3VwID4gLmVkaXRvciBpbnB1dFt0
eXBlPSJudW1iZXIiXSk6CisgICAgICAgIChib2R5W2Rpcj1ydGxdIC5jb250ZW50LXZpZXcuZ3N0
cmVhbWVyID4gLmdzdHJlYW1lci12aWV3ID4gLmNvbnRhaW5lciA+IC5lZGl0b3ItZ3JvdXAgPiAu
ZWRpdG9yIGlucHV0W3R5cGU9Im51bWJlciJdKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmpzOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclZpZXcuanM6IEFkZGVkLgorCiAyMDIwLTAzLTE5ICBOaWtp
dGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEFYSTogZGlzYWJsZWQgYnV0dG9ucyBzaG91bGRuJ3QgYmUgZm9jdXNhYmxlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDZmMGVkZWRmNzI2NjRkM2EzMDQzNTE4OWIyNjRiNjQzYWZmZDBiMGIuLjBmMjA3ZTdmNTA2
NGQ0N2Y2NmM0ZTQwMzg1MWI0OWNkMjMzMTVkMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTktMTEtMjYgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHVEtdW1dQRV0gV2ViIEluc3BlY3RvcjogQWRkIG5ldyB0YWIgZm9yIEdTdHJlYW1l
ciBwaXBlbGluZXMgaW5zcGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA0NjE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBJbnNwZWN0b3JHUmVzb3VyY2VzLmNtYWtlOiBCdW5kbGUgc3ZnLXBh
bi16b29tIGFuZCB2aXogSmF2YVNjcmlwdCBtb2R1bGVzLgorCiAyMDIwLTAzLTE5ICBEYXZpZCBL
aWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgU2hhcmVkTWVtb3J5OjphbGxv
Y2F0ZSgpIHNob3VsZCBpbml0aWFsaXplIGBhZGRyZXNzYApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IDNmZjIyNWUwNzFkOWViNGNjNDRlZGU4ZWE2ZTg1ZjQxYjViZTI3ZTgu
LmQ1NTZmMTc1Njk5Nzg1NzQ0OGU2ZmNjZTEwZDU1NGRkMGZjZWNjNjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTExOTMsNiArMTE5MywxMiBAQCBpZiAoRU5BQkxFX1NF
UlZJQ0VfV09SS0VSKQogICAgICkKIGVuZGlmICgpCiAKK2lmIChVU0VfR1NUUkVBTUVSKQorICAg
IGxpc3QoQVBQRU5EIEphdmFTY3JpcHRDb3JlX0lOU1BFQ1RPUl9ET01BSU5TCisgICAgICAgICR7
SkFWQVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3IvcHJvdG9jb2wvR1N0cmVhbWVyLmpzb24KKyAg
ICApCitlbmRpZiAoKQorCiBhZGRfY3VzdG9tX2NvbW1hbmQoCiAgICAgT1VUUFVUICR7SmF2YVNj
cmlwdENvcmVfREVSSVZFRF9TT1VSQ0VTX0RJUn0vQ29tYmluZWREb21haW5zLmpzb24KICAgICBN
QUlOX0RFUEVOREVOQ1kgJHtKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUn0vZ2VuZXJhdGUtY29t
YmluZWQtaW5zcGVjdG9yLWpzb24ucHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvcHJvdG9jb2wvR1N0cmVhbWVyLmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3Byb3RvY29sL0dTdHJlYW1lci5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2OTY1ODNm
YThjMjU2MGI3OTBmYTk1MzRjMmY1N2FmN2U2YjkwZjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0dTdHJlYW1lci5qc29uCkBAIC0w
LDAgKzEsNDQgQEAKK3sKKyAgICAiZG9tYWluIjogIkdTdHJlYW1lciIsCisgICAgImZlYXR1cmVH
dWFyZCI6ICJVU0UoR1NUUkVBTUVSKSIsCisgICAgImRlYnVnZ2FibGVUeXBlcyI6IFsicGFnZSIs
ICJ3ZWItcGFnZSJdLAorICAgICJ0YXJnZXRUeXBlcyI6IFsicGFnZSJdLAorICAgICJjb21tYW5k
cyI6IFsKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZ2V0QWN0aXZlUGlwZWxpbmVz
TmFtZXMiLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJldHVybnMgdGhlIGxpc3Qgb2Yg
Y3VycmVudGx5IHJ1bm5pbmcgR1N0cmVhbWVyIHBpcGVsaW5lcy4iLAorICAgICAgICAgICAgInJl
dHVybnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwaXBlbGluZXMiLCAidHlwZSI6
ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAic3RyaW5nIn0sICJkZXNjcmlwdGlvbiI6ICJB
cnJheSBvZiBwaXBlbGluZSBuYW1lcy4iIH0KKyAgICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAg
ICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZ2V0QWN0aXZlUGlwZWxpbmVCaW5OYW1lcyIs
CisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB0aGUgbGlzdCBvZiBiaW5zIGlu
IHRoZSBnaXZlbiBHU3RyZWFtZXIgcGlwZWxpbmUuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJz
IjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGlwZWxpbmUiLCAidHlwZSI6ICJzdHJp
bmciLCAiZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgR1N0cmVhbWVyIHBpcGVsaW5lIHRvIGR1
bXAuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY2hpbGQiLCAidHlwZSI6ICJzdHJp
bmciLCAiZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgY2hpbGQgYmluIHRvIGR1bXAuIiB9Cisg
ICAgICAgICAgICBdLAorICAgICAgICAgICAgInJldHVybnMiOiBbCisgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJiaW5OYW1lcyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6
ICJzdHJpbmcifSwgImRlc2NyaXB0aW9uIjogIkFycmF5IG9mIGJpbiBuYW1lcy4iIH0KKyAgICAg
ICAgICAgIF0KKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZHVt
cEFjdGl2ZVBpcGVsaW5lIiwKKyAgICAgICAgICAgICJhc3luYyI6IHRydWUsCisgICAgICAgICAg
ICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB0aGUgU1ZHIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBn
aXZlbiBHU3RyZWFtZXIgcGlwZWxpbmUuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwor
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGlwZWxpbmUiLCAidHlwZSI6ICJzdHJpbmciLCAi
ZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgR1N0cmVhbWVyIHBpcGVsaW5lIHRvIGR1bXAuIiB9
LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY2hpbGQiLCAidHlwZSI6ICJzdHJpbmciLCAi
ZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgY2hpbGQgYmluIHRvIGR1bXAuIiB9CisgICAgICAg
ICAgICBdLAorICAgICAgICAgICAgInJldHVybnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJwaXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24iLCAidHlwZSI6ICJzdHJpbmciLCAiZGVz
Y3JpcHRpb24iOiAiU1ZHIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwaXBlbGluZSIgfQorICAgICAg
ICAgICAgXQorICAgICAgICB9CisgICAgXSwKKyAgICAiZXZlbnRzIjogWworICAgICAgICB7Cisg
ICAgICAgICAgICAibmFtZSI6ICJhY3RpdmVQaXBlbGluZXNDaGFuZ2VkIiwKKyAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIHRoZSBpbnRlcm5hbCByZWdpc3RyeSBvZiBhY3Rp
dmUgR1N0cmVhbWVyIHBpcGVsaW5lcyB3YXMgdXBkYXRlZCwgZWcgd2hlbiBhIG5ldyBwaXBlbGlu
ZSB3YXMgcmVnaXN0ZXJlZCBvciB3aGVuIGEgcGlwZWxpbmUgd2FzIHJlbW92ZWQgZnJvbSB0aGUg
cmVnaXN0cnkuIgorICAgICAgICB9CisgICAgXQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmluZGV4IDRhMmUxN2IwMDcxY2ZjN2Y3N2Vm
NzI2ZmYyY2U1ZWQ3ZmJlM2RiMDcuLmYzMjU4Mzc0MjhlNDAxYTA5ZWY5NDhjNDA5N2UxZTA1ZWM5
MDE2YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29u
dGV4dC5jcHAKQEAgLTg1LDEwICs4NSw2IEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KICNlbmRpZgog
Ci0jaWYgVVNFKEdTVFJFQU1FUikKLSNpbmNsdWRlICJHU3RyZWFtZXJDb21tb24uaCIKLSNlbmRp
ZgotCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcApp
bmRleCAxNzU5YWU0YTVhNjM1YmMwNThlMzBjMzY1YzEzNDRmYmIzOTc5ZTE1Li5jMGYzZmI5MTJm
NTY1OGIyNzkzYTExOWYwOGUyNDZkNjVhNjE1YzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5v
ZGUuY3BwCkBAIC0zMCw2ICszMCw4IEBACiAKICNpbmNsdWRlICJBdWRpb0NvbnRleHQuaCIKICNp
bmNsdWRlICJBdWRpb0Rlc3RpbmF0aW9uLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNs
dWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAj
aW5jbHVkZSAiTWVkaWFTdHJhdGVneS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5o
IgpAQCAtNzksNiArODEsMTEgQEAgdm9pZCBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGU6OnVu
aW5pdGlhbGl6ZSgpCiAgICAgbV9kZXN0aW5hdGlvbiA9IG51bGxwdHI7CiAgICAgbV9udW1iZXJP
ZklucHV0Q2hhbm5lbHMgPSAwOwogCisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBpZiAoYXV0byog
ZG9jdW1lbnQgPSBjb250ZXh0KCkuZG9jdW1lbnQoKSkKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCpkb2N1bWVudCk7Cisj
ZW5kaWYKKwogICAgIEF1ZGlvTm9kZTo6dW5pbml0aWFsaXplKCk7CiB9CiAKQEAgLTg4LDYgKzk1
LDExIEBAIHZvaWQgRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlOjpjcmVhdGVEZXN0aW5hdGlv
bigpCiAgICAgTE9HKFdlYkF1ZGlvLCAiPj4+PiBoYXJkd2FyZVNhbXBsZVJhdGUgPSAlZlxuIiwg
aGFyZHdhcmVTYW1wbGVSYXRlKTsKIAogICAgIG1fZGVzdGluYXRpb24gPSBwbGF0Zm9ybVN0cmF0
ZWdpZXMoKS0+bWVkaWFTdHJhdGVneSgpLmNyZWF0ZUF1ZGlvRGVzdGluYXRpb24oKnRoaXMsIG1f
aW5wdXREZXZpY2VJZCwgbV9udW1iZXJPZklucHV0Q2hhbm5lbHMsIGNoYW5uZWxDb3VudCgpLCBo
YXJkd2FyZVNhbXBsZVJhdGUpOworCisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBpZiAoYXV0byog
ZG9jdW1lbnQgPSBjb250ZXh0KCkuZG9jdW1lbnQoKSkKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCpkb2N1bWVudCk7Cisj
ZW5kaWYKIH0KIAogdm9pZCBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGU6OmVuYWJsZUlucHV0
KGNvbnN0IFN0cmluZyYgaW5wdXREZXZpY2VJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggY2ZjZWZiOTM2
M2FkY2VkZTM3Y2JhZDM4NTIwN2IxYWEzNGMxOGJlOS4uNDVkYWQ1YzA2ZTAxY2JhNmZlZTQ1Yzdl
ZmM5ODVlMThmZjk0ZDZlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE0MTYsNiArMTQxNiw3IEBAIGlu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAKIGluc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcAogaW5zcGVjdG9yL2FnZW50cy9JbnNw
ZWN0b3JEYXRhYmFzZUFnZW50LmNwcAogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JJbmRleGVk
REJBZ2VudC5jcHAKK2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuY3Bw
CiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcAogaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yTmV0d29ya0FnZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKaW5kZXggYmRmNDU5YWU2MzZkMmYxM2I5MDQyZWIzODQ4MWY3ODkwZThjMzdkNC4uY2ZmN2Nl
NzZlZDg0YjBhN2MzMzkyMmI1NWY4MjllNDJiNDAxZDQ4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03MjM4LDYgKzcyMzgsMTEgQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpyZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zKGNvbnN0IFN0cmluZyYgZGV0
YWlscywgY29uc3QKIAogICAgIGRvY3VtZW50KCkucGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5y
ZXF1ZXN0SW5zdGFsbE1pc3NpbmdNZWRpYVBsdWdpbnMoZGV0YWlscywgZGVzY3JpcHRpb24sIGNh
bGxiYWNrKTsKIH0KKwordm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpnc3RyZWFtZXJBY3RpdmVQaXBl
bGluZXNDaGFuZ2VkKCkKK3sKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmdzdHJlYW1l
ckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoZG9jdW1lbnQoKSk7Cit9CiAjZW5kaWYKIAogdm9pZCBI
VE1MTWVkaWFFbGVtZW50OjpyZW1vdmVCZWhhdmlvclJlc3RyaWN0aW9uc0FmdGVyRmlyc3RVc2Vy
R2VzdHVyZShNZWRpYUVsZW1lbnRTZXNzaW9uOjpCZWhhdmlvclJlc3RyaWN0aW9ucyBtYXNrKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCBkNGE0OGQwY2RkNDI3N2U0
NDhiYjMxNjBkMDM5MTA1MTI5MGY3ZjRhLi40YTFhNTNkNjRhNWY3NTFiYzgzZGEzNTQyYTAyOTNm
Njk3ZDdjOWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtNzU4
LDYgKzc1OCw3IEBAIHByaXZhdGU6CiAKICNpZiBVU0UoR1NUUkVBTUVSKQogICAgIHZvaWQgcmVx
dWVzdEluc3RhbGxNaXNzaW5nUGx1Z2lucyhjb25zdCBTdHJpbmcmIGRldGFpbHMsIGNvbnN0IFN0
cmluZyYgZGVzY3JpcHRpb24sIE1lZGlhUGxheWVyUmVxdWVzdEluc3RhbGxNaXNzaW5nUGx1Z2lu
c0NhbGxiYWNrJikgZmluYWw7CisgICAgdm9pZCBnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFu
Z2VkKCkgZmluYWw7CiAjZW5kaWYKIAogICAgIHZvaWQgcGVuZGluZ0FjdGlvblRpbWVyRmlyZWQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNw
cAppbmRleCA3ZDUwZGRjN2EzOGEzNzIzZTRlZTdkNjZjYTk3YzhhY2IzN2M3MjZhLi5iYjMyNWE2
MmMzNzM3M2EzMmRiMjUwNjRkNDQ5YzJjYjNhNzA4YzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC04OCw2ICs4OCwxMCBAQAog
I2luY2x1ZGUgIlBhZ2VEZWJ1Z2dhYmxlLmgiCiAjZW5kaWYKIAorI2lmIFVTRShHU1RSRUFNRVIp
CisjaW5jbHVkZSAiSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuaCIKKyNlbmRpZgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CkBAIC0xODgsNiArMTkyLDEwIEBA
IHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y3JlYXRlTGF6eUFnZW50cygpCiAgICAgbV9hZ2Vu
dHMuYXBwZW5kKG1ha2VVbmlxdWU8SW5zcGVjdG9yVGltZWxpbmVBZ2VudD4ocGFnZUNvbnRleHQp
KTsKICAgICBtX2FnZW50cy5hcHBlbmQobWFrZVVuaXF1ZTxJbnNwZWN0b3JBbmltYXRpb25BZ2Vu
dD4ocGFnZUNvbnRleHQpKTsKIAorI2lmIFVTRShHU1RSRUFNRVIpCisgICAgbV9hZ2VudHMuYXBw
ZW5kKG1ha2VVbmlxdWU8SW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ+KHBhZ2VDb250ZXh0KSk7Cisj
ZW5kaWYKKwogICAgIGlmIChhdXRvJiBjb21tYW5kTGluZUFQSUhvc3QgPSBtX2luamVjdGVkU2Ny
aXB0TWFuYWdlci0+Y29tbWFuZExpbmVBUElIb3N0KCkpCiAgICAgICAgIGNvbW1hbmRMaW5lQVBJ
SG9zdC0+aW5pdChtX2luc3RydW1lbnRpbmdBZ2VudHMuY29weVJlZigpKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKaW5kZXgg
ODQ3MDVlMjI4MWMyNjNmNmJkMjAzNDY3ZjFkNDk1NjAyZWNhODUwNy4uMTQ4MjYxNDA4ZDUwNzM4
YTZiNzk1Y2Q0MGI5OGE4ZjE0MzBlNjFiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKQEAgLTM4OSw2ICszODksOCBAQCBTdHJp
bmcgSW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojpwb3J0KCkgY29uc3QKIHsKICNpZiBQTEFURk9STShH
VEspCiAgICAgcmV0dXJuICJndGsiX3M7CisjZWxpZiBQTEFURk9STShXUEUpCisgICAgcmV0dXJu
ICJ3cGUiX3M7CiAjZWxzZQogICAgIHJldHVybiAidW5rbm93biJfczsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cAppbmRleCAzZGM3YjQ5NGQ2NjU2YTkxYzdkZDljNjhlMWM5ZWFmNzg5NjY2ZDAxLi5kY2ExM2Fm
YTBkNzE0YmRlY2Q1NjdiMTNhOGRmMmZkNTUxOGMxMjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtODUsNiAr
ODUsMTAgQEAKICNpbmNsdWRlICJXZWJHUFVTd2FwQ2hhaW4uaCIKICNlbmRpZgogCisjaWYgVVNF
KEdTVFJFQU1FUikKKyNpbmNsdWRlICJJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5oIgorI2VuZGlm
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKQEAg
LTEzMDgsNCArMTMxMiwxMiBAQCBJbnN0cnVtZW50aW5nQWdlbnRzKiBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246Omluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KFNjcgogICAgIHJldHVybiBu
dWxscHRyOwogfQogCisjaWYgVVNFKEdTVFJFQU1FUikKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpnc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkSW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzKQoreworICAgIGlmIChhdXRvKiBnc3RyZWFtZXJB
Z2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMucGVyc2lzdGVudEluc3BlY3RvckdTdHJlYW1lckFn
ZW50KCkpCisgICAgICAgIGdzdHJlYW1lckFnZW50LT5hY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7
Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IGIyNDZlYWE1
NTlhNzUyNjVjODkwZGZhNDdkMDFkMzExYzE4NmE0MDMuLjU2ZWJiMzM4ZjdjZWE0Nzc0OGQ5NzEx
YTFmZWM0MmY1MzkwNDZhNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTMxNyw2ICszMTcsMTAgQEAgcHVibGljOgog
ICAgIHN0YXRpYyB2b2lkIGxheWVyVHJlZURpZENoYW5nZShQYWdlKik7CiAgICAgc3RhdGljIHZv
aWQgcmVuZGVyTGF5ZXJEZXN0cm95ZWQoUGFnZSosIGNvbnN0IFJlbmRlckxheWVyJik7CiAKKyNp
ZiBVU0UoR1NUUkVBTUVSKQorICAgIHN0YXRpYyB2b2lkIGdzdHJlYW1lckFjdGl2ZVBpcGVsaW5l
c0NoYW5nZWQoRG9jdW1lbnQmKTsKKyNlbmRpZgorCiAgICAgc3RhdGljIHZvaWQgZnJvbnRlbmRD
cmVhdGVkKCk7CiAgICAgc3RhdGljIHZvaWQgZnJvbnRlbmREZWxldGVkKCk7CiAgICAgc3RhdGlj
IGJvb2wgaGFzRnJvbnRlbmRzKCkgeyByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uUHVi
bGljOjpoYXNGcm9udGVuZHMoKTsgfQpAQCAtNTE3LDYgKzUyMSwxMCBAQCBwcml2YXRlOgogICAg
IHN0YXRpYyB2b2lkIGxheWVyVHJlZURpZENoYW5nZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYp
OwogICAgIHN0YXRpYyB2b2lkIHJlbmRlckxheWVyRGVzdHJveWVkSW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzJiwgY29uc3QgUmVuZGVyTGF5ZXImKTsKIAorI2lmIFVTRShHU1RSRUFNRVIpCisgICAg
c3RhdGljIHZvaWQgZ3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZEltcGwoSW5zdHJ1bWVu
dGluZ0FnZW50cyYpOworI2VuZGlmCisKICAgICBzdGF0aWMgSW5zdHJ1bWVudGluZ0FnZW50cyYg
aW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UoUGFnZSYpOwogICAgIHN0YXRpYyBJbnN0cnVtZW50
aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzRm9yV29ya2VyR2xvYmFsU2NvcGUoV29ya2Vy
R2xvYmFsU2NvcGUmKTsKIApAQCAtMTY0Miw2ICsxNjUwLDE1IEBAIGlubGluZSB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEZpcmVBbmltYXRpb25GcmFtZShEb2N1bWVudCYgZG9j
dW1lbnQsCiAgICAgICAgIHdpbGxGaXJlQW5pbWF0aW9uRnJhbWVJbXBsKCppbnN0cnVtZW50aW5n
QWdlbnRzLCBjYWxsYmFja0lkLCBkb2N1bWVudCk7CiB9CiAKKyNpZiBVU0UoR1NUUkVBTUVSKQor
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpnc3RyZWFtZXJBY3RpdmVQaXBl
bGluZXNDaGFuZ2VkKERvY3VtZW50JiBkb2N1bWVudCkKK3sKKyAgICBGQVNUX1JFVFVSTl9JRl9O
T19GUk9OVEVORFModm9pZCgpKTsKKyAgICBpZiAoYXV0byogaW5zdHJ1bWVudGluZ0FnZW50cyA9
IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpCisgICAgICAgIGdzdHJl
YW1lckFjdGl2ZVBpcGVsaW5lc0NoYW5nZWRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzKTsKK30K
KyNlbmRpZgorCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpcmVB
bmltYXRpb25GcmFtZShEb2N1bWVudCYgZG9jdW1lbnQpCiB7CiAgICAgRkFTVF9SRVRVUk5fSUZf
Tk9fRlJPTlRFTkRTKHZvaWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
dHJ1bWVudGluZ0FnZW50cy5jcHAKaW5kZXggZDdhMmY3MTk1OGQ5NDNjY2NhYzQzNGVhYzkzZTMz
ZGFlMjdjYzQwNC4uNDc5NThkZjQ1ZmYxYWU0ZDU4ODExNjM1MGZiZjkyYzFjZDdjNjI5MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcApA
QCAtNzIsNiArNzIsOSBAQCB2b2lkIEluc3RydW1lbnRpbmdBZ2VudHM6OnJlc2V0KCkKICAgICBt
X3BlcnNpc3RlbnRJbnNwZWN0b3JBbmltYXRpb25BZ2VudCA9IG51bGxwdHI7CiAgICAgbV9lbmFi
bGVkSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQgPSBudWxscHRyOwogICAgIG1fdHJhY2tpbmdJbnNw
ZWN0b3JBbmltYXRpb25BZ2VudCA9IG51bGxwdHI7CisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBt
X3BlcnNpc3RlbnRJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCA9IG51bGxwdHI7CisjZW5kaWYKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggZjU5YzNkYmRjYWY3OGNmOWM2ZDhkYmI0MzJkY2Nm
MjJmMTVkNTA3ZC4uODMyZGI4ZWEyOWZmY2NmNTEwZGM2NWM2MDI1ZGM4N2Y1NzM2NGQ4ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCkBAIC0z
Niw2ICszNiwxMCBAQAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CiAKKyNpZiBVU0UoR1NUUkVBTUVSKQorI2luY2x1ZGUgIkluc3BlY3Rv
ckdTdHJlYW1lckFnZW50LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIEluc3BlY3RvciB7CiBjbGFz
cyBJbnNwZWN0b3JBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ7CkBAIC0xNjIs
NiArMTY2LDExIEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JBbmltYXRpb25BZ2VudCogdHJhY2tp
bmdJbnNwZWN0b3JBbmltYXRpb25BZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhY2tpbmdJbnNw
ZWN0b3JBbmltYXRpb25BZ2VudDsgfQogICAgIHZvaWQgc2V0VHJhY2tpbmdJbnNwZWN0b3JBbmlt
YXRpb25BZ2VudChJbnNwZWN0b3JBbmltYXRpb25BZ2VudCogYWdlbnQpIHsgbV90cmFja2luZ0lu
c3BlY3RvckFuaW1hdGlvbkFnZW50ID0gYWdlbnQ7IH0KIAorI2lmIFVTRShHU1RSRUFNRVIpCisg
ICAgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQqIHBlcnNpc3RlbnRJbnNwZWN0b3JHU3RyZWFtZXJB
Z2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fcGVyc2lzdGVudEluc3BlY3RvckdTdHJlYW1lckFnZW50
OyB9CisgICAgdm9pZCBzZXRQZXJzaXN0ZW50SW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQoSW5zcGVj
dG9yR1N0cmVhbWVyQWdlbnQqIGFnZW50KSB7IG1fcGVyc2lzdGVudEluc3BlY3RvckdTdHJlYW1l
ckFnZW50ID0gYWdlbnQ7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIEluc3RydW1lbnRpbmdB
Z2VudHMoSW5zcGVjdG9yOjpJbnNwZWN0b3JFbnZpcm9ubWVudCYpOwogCkBAIC0xOTUsNiArMjA0
LDkgQEAgcHJpdmF0ZToKICAgICBJbnNwZWN0b3JBbmltYXRpb25BZ2VudCogbV9wZXJzaXN0ZW50
SW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQgeyBudWxscHRyIH07CiAgICAgSW5zcGVjdG9yQW5pbWF0
aW9uQWdlbnQqIG1fZW5hYmxlZEluc3BlY3RvckFuaW1hdGlvbkFnZW50IHsgbnVsbHB0ciB9Owog
ICAgIEluc3BlY3RvckFuaW1hdGlvbkFnZW50KiBtX3RyYWNraW5nSW5zcGVjdG9yQW5pbWF0aW9u
QWdlbnQgeyBudWxscHRyIH07CisjaWYgVVNFKEdTVFJFQU1FUikKKyAgICBJbnNwZWN0b3JHU3Ry
ZWFtZXJBZ2VudCogbV9wZXJzaXN0ZW50SW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQgeyBudWxscHRy
IH07CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JHU3RyZWFtZXJBZ2Vu
dC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uY2M0OGU5NmY3MWQzY2ViYmMyNGQ2MDY2MDYzZGJhOTNiMGJhZDk4
NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yR1N0cmVhbWVyQWdlbnQuY3BwCkBAIC0wLDAgKzEsOTAgQEAKKy8qCisgKiAgQ29weXJp
Z2h0IChDKSAyMDIwIElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0
ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5o
IgorCisjaWYgVVNFKEdTVFJFQU1FUikKKworI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgor
I2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgorI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CisK
K3VzaW5nIER1bXBBY3RpdmVQaXBlbGluZUNhbGxiYWNrID0gSW5zcGVjdG9yOjpHU3RyZWFtZXJC
YWNrZW5kRGlzcGF0Y2hlckhhbmRsZXI6OkR1bXBBY3RpdmVQaXBlbGluZUNhbGxiYWNrOworCitJ
bnNwZWN0b3JHU3RyZWFtZXJBZ2VudDo6SW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQoUGFnZUFnZW50
Q29udGV4dCYgY29udGV4dCkKKyAgICA6IEluc3BlY3RvckFnZW50QmFzZSgiR1N0cmVhbWVyIl9z
LCBjb250ZXh0KQorICAgICwgbV9iYWNrZW5kRGlzcGF0Y2hlcihJbnNwZWN0b3I6OkdTdHJlYW1l
ckJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUoY29udGV4dC5iYWNrZW5kRGlzcGF0Y2hlciwgdGhp
cykpCisgICAgLCBtX2Zyb250ZW5kRGlzcGF0Y2hlcihtYWtlVW5pcXVlPEluc3BlY3Rvcjo6R1N0
cmVhbWVyRnJvbnRlbmREaXNwYXRjaGVyPihjb250ZXh0LmZyb250ZW5kUm91dGVyKSkKK3sKK30K
KworSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6On5JbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCgpID0g
ZGVmYXVsdDsKKwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRl
bmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tl
bmREaXNwYXRjaGVyKikKK3sKKyAgICBBU1NFUlQobV9pbnN0cnVtZW50aW5nQWdlbnRzLnBlcnNp
c3RlbnRJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCgpICE9IHRoaXMpOworICAgIG1faW5zdHJ1bWVu
dGluZ0FnZW50cy5zZXRQZXJzaXN0ZW50SW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQodGhpcyk7Cit9
CisKK3ZvaWQgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6OndpbGxEZXN0cm95RnJvbnRlbmRBbmRC
YWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikKK3sKKyAgICBBU1NFUlQobV9pbnN0
cnVtZW50aW5nQWdlbnRzLnBlcnNpc3RlbnRJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudCgpID09IHRo
aXMpOworICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy5zZXRQZXJzaXN0ZW50SW5zcGVjdG9yR1N0
cmVhbWVyQWdlbnQobnVsbHB0cik7Cit9CisKK3ZvaWQgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQ6
OmdldEFjdGl2ZVBpcGVsaW5lc05hbWVzKEVycm9yU3RyaW5nJiwgUmVmUHRyPEpTT046OkFycmF5
T2Y8U3RyaW5nPj4mIHBpcGVsaW5lcykKK3sKKyAgICBwaXBlbGluZXMgPSBKU09OOjpBcnJheU9m
PFN0cmluZz46OmNyZWF0ZSgpOworICAgIGZvciAoYXV0byBpdGVtIDogYWN0aXZlUGlwZWxpbmVz
TmFtZXMoKSkKKyAgICAgICAgcGlwZWxpbmVzLT5hZGRJdGVtKFN0cmluZzo6ZnJvbVVURjgoaXRl
bSkpOworfQorCit2b2lkIEluc3BlY3RvckdTdHJlYW1lckFnZW50OjpnZXRBY3RpdmVQaXBlbGlu
ZUJpbk5hbWVzKEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBwaXBlbGluZSwgY29uc3QgU3Ry
aW5nJiBjaGlsZCwgUmVmUHRyPEpTT046OkFycmF5T2Y8U3RyaW5nPj4mIG5hbWVzKQoreworICAg
IG5hbWVzID0gSlNPTjo6QXJyYXlPZjxTdHJpbmc+OjpjcmVhdGUoKTsKKyAgICBmb3IgKGF1dG8g
aXRlbSA6IGdldEJpbkNoaWxkcmVuKHBpcGVsaW5lLCBjaGlsZCkpCisgICAgICAgIG5hbWVzLT5h
ZGRJdGVtKFN0cmluZzo6ZnJvbVVURjgoaXRlbSkpOworfQorCit2b2lkIEluc3BlY3RvckdTdHJl
YW1lckFnZW50OjpkdW1wQWN0aXZlUGlwZWxpbmUoY29uc3QgU3RyaW5nJiBwaXBlbGluZSwgY29u
c3QgU3RyaW5nJiBjaGlsZCwgUmVmPER1bXBBY3RpdmVQaXBlbGluZUNhbGxiYWNrPiYmIGR1bXBD
YWxsYmFjaykKK3sKKyAgICBpZiAobV9pbnN0cnVtZW50aW5nQWdlbnRzLnBlcnNpc3RlbnRJbnNw
ZWN0b3JHU3RyZWFtZXJBZ2VudCgpICE9IHRoaXMpIHsKKyAgICAgICAgZHVtcENhbGxiYWNrLT5z
ZW5kRmFpbHVyZSgiR1N0cmVhbWVyIGRvbWFpbiBtdXN0IGJlIGVuYWJsZWQiX3MpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgV2ViQ29yZTo6ZHVtcEFjdGl2ZVBpcGVsaW5lKHBpcGVs
aW5lLCBjaGlsZCwgW2R1bXBDYWxsYmFjayA9IGR1bXBDYWxsYmFjay5jb3B5UmVmKCldKFJlZjxX
ZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYgc3ZnRGF0YSkgeworICAgICAgICBkdW1wQ2FsbGJhY2st
PnNlbmRTdWNjZXNzKHN2Z0RhdGEtPmRhdGEoKSk7CisgICAgfSwgW2R1bXBDYWxsYmFjayA9IGR1
bXBDYWxsYmFjay5jb3B5UmVmKCldKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKSB7CisgICAg
ICAgIGR1bXBDYWxsYmFjay0+c2VuZEZhaWx1cmUoZXJyb3JNZXNzYWdlKTsKKyAgICB9KTsKK30K
Kwordm9pZCBJbnNwZWN0b3JHU3RyZWFtZXJBZ2VudDo6YWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgp
Cit7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPmFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQoKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gVVNFKEdTVFJFQU1FUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yR1N0
cmVhbWVyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
R1N0cmVhbWVyQWdlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYTA2NzQ3ZjcwODg3MTg0ZDJlZDAyMjNmZGRj
OTcwZDkyYWNlNWM0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JHU3RyZWFtZXJBZ2VudC5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisg
KiAgQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAq
ICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYg
bm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVT
QQorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNFKEdTVFJFQU1FUikKKworI2luY2x1ZGUg
Ikluc3BlY3RvcldlYkFnZW50QmFzZS5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3Bl
Y3RvckJhY2tlbmREaXNwYXRjaGVycy5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3Bl
Y3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsK
KworY2xhc3MgSW5zcGVjdG9yR1N0cmVhbWVyQWdlbnQgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9y
QWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yOjpHU3RyZWFtZXJCYWNrZW5kRGlzcGF0Y2hlckhh
bmRsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckdTdHJlYW1lckFnZW50
KTsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBJbnNwZWN0b3JH
U3RyZWFtZXJBZ2VudChQYWdlQWdlbnRDb250ZXh0Jik7CisgICAgfkluc3BlY3RvckdTdHJlYW1l
ckFnZW50KCkgb3ZlcnJpZGU7CisKKyAgICAvLyBJbnNwZWN0b3JBZ2VudEJhc2UKKyAgICB2b2lk
IGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyKiwg
SW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbERl
c3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpEaXNjb25uZWN0UmVhc29uKSBvdmVy
cmlkZTsKKworICAgIC8vIEdTdHJlYW1lckJhY2tlbmREaXNwYXRjaGVySGFuZGxlcgorICAgIHZv
aWQgZ2V0QWN0aXZlUGlwZWxpbmVzTmFtZXMoRXJyb3JTdHJpbmcmLCBSZWZQdHI8SlNPTjo6QXJy
YXlPZjxTdHJpbmc+PiYgcGlwZWxpbmVzKSBvdmVycmlkZTsKKyAgICB2b2lkIGdldEFjdGl2ZVBp
cGVsaW5lQmluTmFtZXMoRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIHBpcGVsaW5lLCBjb25z
dCBTdHJpbmcmIGNoaWxkLCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxTdHJpbmc+PiYgbmFtZXMpIG92
ZXJyaWRlOworICAgIHZvaWQgZHVtcEFjdGl2ZVBpcGVsaW5lKGNvbnN0IFN0cmluZyYgcGlwZWxp
bmUsIGNvbnN0IFN0cmluZyYgY2hpbGQsIFJlZjxEdW1wQWN0aXZlUGlwZWxpbmVDYWxsYmFjaz4m
Jikgb3ZlcnJpZGU7CisgICAgdm9pZCBhY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7CisKK3ByaXZh
dGU6CisgICAgUmVmUHRyPEluc3BlY3Rvcjo6R1N0cmVhbWVyQmFja2VuZERpc3BhdGNoZXI+IG1f
YmFja2VuZERpc3BhdGNoZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3Rvcjo6R1N0cmVh
bWVyRnJvbnRlbmREaXNwYXRjaGVyPiBtX2Zyb250ZW5kRGlzcGF0Y2hlcjsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFVTRShHU1RSRUFNRVIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAK
aW5kZXggNDRhN2RhMzdmNTg4ZDM4ZTMwNzBlOTY3Y2RjMjNhOWZkOWRhZDIwMy4uMDBmYTljNWQw
OTZiOGYwYWE5YzcwMGY2MzY4NTA3MzhhODY4NzBhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtODEsNiAr
ODEsOSBAQAogI2luY2x1ZGUgIkxlZ2FjeVdlYkFyY2hpdmUuaCIKICNlbmRpZgogCisjaWYgVVNF
KEdTVFJFQU1FUikKKyNpbmNsdWRlICJHU3RyZWFtZXJDb21tb24uaCIKKyNlbmRpZgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvclBhZ2VBZ2VudC5oCmluZGV4IDExMDE3M2RiYmZlODE5MjI2YjZjNGNhYTBm
NjVhNWRlZThjMzlmMmIuLjNkOTcyODNlN2ZhM2MzOWNmYzMwOWFkNzgxYTEzYTI5NjVmYTgzYTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFn
ZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQ
YWdlQWdlbnQuaApAQCAtMTMzLDYgKzEzMyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZExheW91
dCgpOwogICAgIHZvaWQgZGlkU2Nyb2xsKCk7CiAgICAgdm9pZCBkaWRSZWNhbGN1bGF0ZVN0eWxl
KCk7CisgICAgdm9pZCBnc3RyZWFtZXJQaXBlbGluZUNhY2hlVXBkYXRlZCgpOwogCiAgICAgRnJh
bWUqIGZyYW1lRm9ySWQoY29uc3QgU3RyaW5nJiBmcmFtZUlkKTsKICAgICBXRUJDT1JFX0VYUE9S
VCBTdHJpbmcgZnJhbWVJZChGcmFtZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25HU3Ry
ZWFtZXIuY3BwCmluZGV4IDFhNTQ5NWZkNzY0ZDljM2NjNmVkYjU4MWZhNDgwZWFlYWQxNDU5YmYu
LjlkNGFmMmM2YzFiMDUxNjk0ODdkODIxNDcxM2I0Yjc0MjIzOTdkNzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0
cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIv
QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lci5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRl
ICJBdWRpb0NoYW5uZWwuaCIKICNpbmNsdWRlICJBdWRpb1NvdXJjZVByb3ZpZGVyLmgiCiAjaW5j
bHVkZSAiR1JlZlB0ckdTdHJlYW1lci5oIgorI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgog
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJBdWRpb1NvdXJjZUdTdHJl
YW1lci5oIgogI2luY2x1ZGUgPGdzdC9hdWRpby9nc3RhdWRpb2Jhc2VzaW5rLmg+CkBAIC04Myw3
ICs4NCw4IEBAIEF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXI6OkF1ZGlvRGVzdGluYXRpb25HU3Ry
ZWFtZXIoQXVkaW9JT0NhbGxiYWNrJiBjYWxsYmFjaywKICAgICAsIG1fc2FtcGxlUmF0ZShzYW1w
bGVSYXRlKQogICAgICwgbV9pc1BsYXlpbmcoZmFsc2UpCiB7Ci0gICAgbV9waXBlbGluZSA9IGdz
dF9waXBlbGluZV9uZXcoInBsYXkiKTsKKyAgICBtX3BpcGVsaW5lID0gZ3N0X3BpcGVsaW5lX25l
dygid2ViYXVkaW8tcGxheWJhY2siKTsKKyAgICByZWdpc3RlckFjdGl2ZVBpcGVsaW5lKG1fcGlw
ZWxpbmUpOwogICAgIEdSZWZQdHI8R3N0QnVzPiBidXMgPSBhZG9wdEdSZWYoZ3N0X3BpcGVsaW5l
X2dldF9idXMoR1NUX1BJUEVMSU5FKG1fcGlwZWxpbmUpKSk7CiAgICAgQVNTRVJUKGJ1cyk7CiAg
ICAgZ3N0X2J1c19hZGRfc2lnbmFsX3dhdGNoX2Z1bGwoYnVzLmdldCgpLCBSdW5Mb29wU291cmNl
UHJpb3JpdHk6OlJ1bkxvb3BEaXNwYXRjaGVyKTsKQEAgLTEzMCw4ICsxMzIsOCBAQCBBdWRpb0Rl
c3RpbmF0aW9uR1N0cmVhbWVyOjp+QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcigpCiAgICAgR1Jl
ZlB0cjxHc3RCdXM+IGJ1cyA9IGFkb3B0R1JlZihnc3RfcGlwZWxpbmVfZ2V0X2J1cyhHU1RfUElQ
RUxJTkUobV9waXBlbGluZSkpKTsKICAgICBBU1NFUlQoYnVzKTsKICAgICBnX3NpZ25hbF9oYW5k
bGVyc19kaXNjb25uZWN0X2J5X2Z1bmMoYnVzLmdldCgpLCByZWludGVycHJldF9jYXN0PGdwb2lu
dGVyPihtZXNzYWdlQ2FsbGJhY2spLCB0aGlzKTsKKyAgICB1bnJlZ2lzdGVyUGlwZWxpbmUobV9w
aXBlbGluZSk7CiAgICAgZ3N0X2J1c19yZW1vdmVfc2lnbmFsX3dhdGNoKGJ1cy5nZXQoKSk7Ci0K
ICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9waXBlbGluZSwgR1NUX1NUQVRFX05VTEwpOwog
ICAgIGdzdF9vYmplY3RfdW5yZWYobV9waXBlbGluZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBkMjhlNTk0ZjNjZDU1ZTlmMDE1
N2I0NGFiNzdkYmE3MjUwMmU5MGM0Li4zYzE0NjU1MDFkZTMxNmU1NjY2ZWQ0YjRjZTVjYmZmZGE0
YzU5OWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmgKQEAgLTI2Myw2ICsyNjMsNyBAQCBwdWJsaWM6CiAKICNpZiBVU0UoR1NUUkVBTUVSKQog
ICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zKGNvbnN0IFN0cmlu
ZyYsIGNvbnN0IFN0cmluZyYsIE1lZGlhUGxheWVyUmVxdWVzdEluc3RhbGxNaXNzaW5nUGx1Z2lu
c0NhbGxiYWNrJikgeyB9OworICAgIHZpcnR1YWwgdm9pZCBnc3RyZWFtZXJBY3RpdmVQaXBlbGlu
ZXNDaGFuZ2VkKCkgeyB9OwogI2VuZGlmCiAKICAgICB2aXJ0dWFsIGJvb2wgbWVkaWFQbGF5ZXJT
aG91bGREaXNhYmxlU2xlZXAoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtNjI3LDYgKzYy
OCw3IEBAIHB1YmxpYzoKIAogI2lmIFVTRShHU1RSRUFNRVIpCiAgICAgdm9pZCByZXF1ZXN0SW5z
dGFsbE1pc3NpbmdQbHVnaW5zKGNvbnN0IFN0cmluZyYgZGV0YWlscywgY29uc3QgU3RyaW5nJiBk
ZXNjcmlwdGlvbiwgTWVkaWFQbGF5ZXJSZXF1ZXN0SW5zdGFsbE1pc3NpbmdQbHVnaW5zQ2FsbGJh
Y2smIGNhbGxiYWNrKSB7IGNsaWVudCgpLnJlcXVlc3RJbnN0YWxsTWlzc2luZ1BsdWdpbnMoZGV0
YWlscywgZGVzY3JpcHRpb24sIGNhbGxiYWNrKTsgfQorICAgIHZvaWQgZ3N0cmVhbWVyQWN0aXZl
UGlwZWxpbmVzQ2hhbmdlZCgpIHsgY2xpZW50KCkuZ3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hh
bmdlZCgpOyB9CiAjZW5kaWYKIAogICAgIGNvbnN0IE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZSogcGxheWVyUHJpdmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpdmF0ZS5nZXQoKTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJl
YW1lckNvbW1vbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvR1N0cmVhbWVyQ29tbW9uLmNwcAppbmRleCAwODliZjc0Zjc0ZWM2NGE2ZjgwNDQ1YzM1M2Rk
YTM1MTJhYjM1NGQ0Li5kOGUwODliNWZkMTk5ZDk1M2Q5OWRhZGM2NDhlYjM4ZWEwZjcwZWFjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0
cmVhbWVyQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmNwcApAQCAtMzAsOSArMzAsMTIgQEAKICNpbmNsdWRl
IDxnc3QvYXVkaW8vYXVkaW8taW5mby5oPgogI2luY2x1ZGUgPGdzdC9nc3QuaD4KICNpbmNsdWRl
IDxtdXRleD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9OZXZlckRl
c3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dMaWJVdGlsaXRpZXMuaD4KICNpbmNsdWRl
IDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvUnVuTG9vcFNvdXJj
ZVByaW9yaXR5Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAjaWYgRU5B
QkxFKFZJREVPX1RSQUNLKSAmJiBVU0UoR1NUUkVBTUVSX01QRUdUUykKICNkZWZpbmUgR1NUX1VT
RV9VTlNUQUJMRV9BUEkKQEAgLTM5MSw2ICszOTQsMTUwIEBAIGJvb2wgaXNHU3RyZWFtZXJQbHVn
aW5BdmFpbGFibGUoY29uc3QgY2hhciogbmFtZSkKICAgICByZXR1cm4gcGx1Z2luOwogfQogCitz
dGF0aWMgSGFzaE1hcDxDU3RyaW5nLCBHc3RCaW4qPiYgYWN0aXZlUGlwZWxpbmVzTWFwKCkKK3sK
KyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxDU3RyaW5nLCBHc3RCaW4qPj4gYWN0
aXZlUGlwZWxpbmVzOworICAgIHJldHVybiBhY3RpdmVQaXBlbGluZXMuZ2V0KCk7Cit9CisKK3Zv
aWQgcmVnaXN0ZXJBY3RpdmVQaXBlbGluZShHc3RFbGVtZW50KiBwaXBlbGluZSkKK3sKKyAgICBB
U1NFUlQoR1NUX0lTX0VMRU1FTlQocGlwZWxpbmUpKTsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOworCisgICAgR1VuaXF1ZVB0cjxnY2hhcj4gbmFtZShnc3Rfb2JqZWN0X2dldF9uYW1lKEdT
VF9PQkpFQ1RfQ0FTVChwaXBlbGluZSkpKTsKKyAgICBhdXRvIGFkZFJlc3VsdCA9IGFjdGl2ZVBp
cGVsaW5lc01hcCgpLmFkZChuYW1lLmdldCgpLCBudWxscHRyKTsKKyAgICBpZiAoIWFkZFJlc3Vs
dC5pc05ld0VudHJ5KQorICAgICAgICByZXR1cm47CisgICAgYWRkUmVzdWx0Lml0ZXJhdG9yLT52
YWx1ZSA9IEdTVF9CSU5fQ0FTVChwaXBlbGluZSk7Cit9CisKK3ZvaWQgdW5yZWdpc3RlclBpcGVs
aW5lKEdzdEVsZW1lbnQqIHBpcGVsaW5lKQoreworICAgIEFTU0VSVChHU1RfSVNfRUxFTUVOVChw
aXBlbGluZSkpOworCisgICAgR1VuaXF1ZVB0cjxnY2hhcj4gbmFtZShnc3Rfb2JqZWN0X2dldF9u
YW1lKEdTVF9PQkpFQ1RfQ0FTVChwaXBlbGluZSkpKTsKKyAgICBhY3RpdmVQaXBlbGluZXNNYXAo
KS5yZW1vdmUobmFtZS5nZXQoKSk7Cit9CisKK1ZlY3RvcjxDU3RyaW5nPiBhY3RpdmVQaXBlbGlu
ZXNOYW1lcygpCit7CisgICAgVmVjdG9yPENTdHJpbmc+IG5hbWVzOworICAgIGF1dG8mIG1hcCA9
IGFjdGl2ZVBpcGVsaW5lc01hcCgpOworICAgIG5hbWVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHko
bWFwLnNpemUoKSk7CisgICAgZm9yIChhdXRvJiBuYW1lIDogbWFwLmtleXMoKSkKKyAgICAgICAg
bmFtZXMudW5jaGVja2VkQXBwZW5kKG5hbWUpOworCisgICAgc3RkOjpzb3J0KG5hbWVzLmJlZ2lu
KCksIG5hbWVzLmVuZCgpKTsKKyAgICByZXR1cm4gbmFtZXM7Cit9CisKK3N0cnVjdCBEb3RDYWxs
YmFja3NEYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBE
b3RDYWxsYmFja3NEYXRhKFdURjo6RnVuY3Rpb248dm9pZChSZWY8U2hhcmVkQnVmZmVyPiYmKT4m
JiBjYWxsYmFjaywgV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IFN0cmluZyYpPiYmIGVycm9yQ2Fs
bGJhY2spCisgICAgICAgIDogY2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpCisgICAgICAgICwg
ZXJyb3JDYWxsYmFjayhXVEZNb3ZlKGVycm9yQ2FsbGJhY2spKSB7IH0KKworICAgIFdURjo6RnVu
Y3Rpb248dm9pZChSZWY8U2hhcmVkQnVmZmVyPiYmKT4gY2FsbGJhY2s7CisgICAgV1RGOjpGdW5j
dGlvbjx2b2lkKGNvbnN0IFN0cmluZyYpPiBlcnJvckNhbGxiYWNrOworfTsKKworc3RhdGljIHZv
aWQgb25Eb3RDb21tdW5pY2F0ZUNvbXBsZXRlKEdPYmplY3QqIHByb2Nlc3MsIEdBc3luY1Jlc3Vs
dCogcmVzdWx0LCBncG9pbnRlciBkYXRhKQoreworICAgIHN0ZDo6dW5pcXVlX3B0cjxEb3RDYWxs
YmFja3NEYXRhPiBjYWxsYmFja3NEYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8RG90Q2FsbGJhY2tzRGF0
YSo+KGRhdGEpKTsKKyAgICBHUmVmUHRyPEdCeXRlcz4gb3V0cHV0Qnl0ZXM7CisgICAgR1VuaXF1
ZU91dFB0cjxHRXJyb3I+IGVycm9yOworICAgIGdfc3VicHJvY2Vzc19jb21tdW5pY2F0ZV9maW5p
c2goR19TVUJQUk9DRVNTKHByb2Nlc3MpLCByZXN1bHQsICZvdXRwdXRCeXRlcy5vdXRQdHIoKSwg
bnVsbHB0ciwgJmVycm9yLm91dFB0cigpKTsKKworICAgIGlmIChlcnJvcikgeworICAgICAgICBj
YWxsYmFja3NEYXRhLT5lcnJvckNhbGxiYWNrKG1ha2VTdHJpbmcoIkZhaWxlZCB0byBjb21tdW5p
Y2F0ZSB3aXRoIHRoZSBkb3QgcHJvY2VzczogIiwgZXJyb3ItPm1lc3NhZ2UpKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIGlmICghZ19zdWJwcm9jZXNzX2dldF9zdWNjZXNzZnVsKEdf
U1VCUFJPQ0VTUyhwcm9jZXNzKSkpIHsKKyAgICAgICAgY2FsbGJhY2tzRGF0YS0+ZXJyb3JDYWxs
YmFjayhtYWtlU3RyaW5nKCJUaGUgZG90IHByb2Nlc3MgcmV0dXJuZWQgYW4gZXJyb3IgZXhpdCBj
b2RlOiAiLCBnX3N1YnByb2Nlc3NfZ2V0X2V4aXRfc3RhdHVzKEdfU1VCUFJPQ0VTUyhwcm9jZXNz
KSkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNhbGxiYWNrc0RhdGEtPmNhbGxi
YWNrKFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKG91dHB1dEJ5dGVzLmxlYWtSZWYoKSkpOworfQorCit2
b2lkIGV4cG9ydEJpblRvU1ZHKEdzdEJpbiogYmluLCBXVEY6OkZ1bmN0aW9uPHZvaWQoUmVmPFNo
YXJlZEJ1ZmZlcj4mJik+JiYgY2FsbGJhY2ssIFdURjo6RnVuY3Rpb248dm9pZChjb25zdCBTdHJp
bmcmKT4mJiBlcnJvckNhbGxiYWNrKQoreworICAgIC8vIEFsbCB0aGlzIGNvZGUgbWltaWNrcyB0
aGUgZm9sbG93aW5nIGNvbW1hbmQ6IGNhdCBkb3REYXRhIHwgZG90IC1Uc3ZnID4gcmVzdWx0LnN2
Zy4KKyAgICBWZWN0b3I8Q1N0cmluZz4gYXJncyA9IHsgImRvdCIsICItVHN2ZyIgfTsKKyAgICBp
bnQgbmFyZ3MgPSBhcmdzLnNpemUoKSArIDE7CisgICAgaW50IGkgPSAwOworICAgIGNoYXIqKiBh
cmd2ID0gZ19uZXdhKGNoYXIqLCBuYXJncyk7CisgICAgZm9yIChjb25zdCBhdXRvJiBhcmcgOiBh
cmdzKQorICAgICAgICBhcmd2W2krK10gPSBjb25zdF9jYXN0PGNoYXIqPihhcmcuZGF0YSgpKTsK
KyAgICBhcmd2W2ldID0gbnVsbHB0cjsKKworICAgIEdSZWZQdHI8R1N1YnByb2Nlc3NMYXVuY2hl
cj4gbGF1bmNoZXIgPSBhZG9wdEdSZWYoZ19zdWJwcm9jZXNzX2xhdW5jaGVyX25ldyhzdGF0aWNf
Y2FzdDxHU3VicHJvY2Vzc0ZsYWdzPihHX1NVQlBST0NFU1NfRkxBR1NfU1RESU5fUElQRSB8IEdf
U1VCUFJPQ0VTU19GTEFHU19TVERPVVRfUElQRSkpKTsKKworICAgIEdVbmlxdWVPdXRQdHI8R0Vy
cm9yPiBlcnJvcjsKKyAgICBHUmVmUHRyPEdTdWJwcm9jZXNzPiBwcm9jZXNzID0gYWRvcHRHUmVm
KGdfc3VicHJvY2Vzc19sYXVuY2hlcl9zcGF3bnYobGF1bmNoZXIuZ2V0KCksIGFyZ3YsICZlcnJv
ci5vdXRQdHIoKSkpOworICAgIGlmICghcHJvY2Vzcy5nZXQoKSkgeworICAgICAgICBlcnJvckNh
bGxiYWNrKG1ha2VTdHJpbmcoIkZhaWxlZCB0byBzdGFydCBHcmFwaHZpeiBkb3QgcHJvY2Vzczog
IiwgZXJyb3ItPm1lc3NhZ2UpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEdVbmlx
dWVQdHI8Z2NoYXI+IGRvdERhdGEoZ3N0X2RlYnVnX2Jpbl90b19kb3RfZGF0YShiaW4sIEdTVF9E
RUJVR19HUkFQSF9TSE9XX0FMTCkpOworICAgIEdSZWZQdHI8R0J5dGVzPiBpbnB1dEJ5dGVzID0g
YWRvcHRHUmVmKGdfYnl0ZXNfbmV3KGRvdERhdGEuZ2V0KCksIHN0cmxlbihkb3REYXRhLmdldCgp
KSkpOworICAgIGF1dG8gY2FsbGJhY2tzRGF0YSA9IG1ha2VVbmlxdWU8RG90Q2FsbGJhY2tzRGF0
YT4oV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUoZXJyb3JDYWxsYmFjaykpOworICAgIGdfc3Vi
cHJvY2Vzc19jb21tdW5pY2F0ZV9hc3luYyhwcm9jZXNzLmdldCgpLCBpbnB1dEJ5dGVzLmdldCgp
LCBudWxscHRyLCBvbkRvdENvbW11bmljYXRlQ29tcGxldGUsIGNhbGxiYWNrc0RhdGEucmVsZWFz
ZSgpKTsKK30KKwordm9pZCBkdW1wQWN0aXZlUGlwZWxpbmUoY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIHN1YkJpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZChSZWY8U2hhcmVkQnVm
ZmVyPiYmKT4mJiBjYWxsYmFjaywgV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IFN0cmluZyYpPiYm
IGVycm9yQ2FsbGJhY2spCit7CisgICAgR3N0QmluKiBwaXBlbGluZSA9IGFjdGl2ZVBpcGVsaW5l
c01hcCgpLmdldChuYW1lLnV0ZjgoKSk7CisgICAgaWYgKCFwaXBlbGluZSkgeworICAgICAgICBl
cnJvckNhbGxiYWNrKG1ha2VTdHJpbmcoIk5vIGFjdGl2ZSBwaXBlbGluZSBuYW1lZCAiLCBuYW1l
KSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoc3ViQmluTmFtZS5pc0VtcHR5
KCkpIHsKKyAgICAgICAgZXhwb3J0QmluVG9TVkcocGlwZWxpbmUsIFdURk1vdmUoY2FsbGJhY2sp
LCBXVEZNb3ZlKGVycm9yQ2FsbGJhY2spKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IEdSZWZQdHI8R3N0RWxlbWVudD4gY2hpbGQgPSBhZG9wdEdSZWYoZ3N0X2Jpbl9nZXRfYnlfbmFt
ZShwaXBlbGluZSwgc3ViQmluTmFtZS51dGY4KCkuZGF0YSgpKSk7CisgICAgaWYgKEdTVF9JU19C
SU4oY2hpbGQuZ2V0KCkpKSB7CisgICAgICAgIGV4cG9ydEJpblRvU1ZHKEdTVF9CSU5fQ0FTVChj
aGlsZC5nZXQoKSksIFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKGVycm9yQ2FsbGJhY2spKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGVycm9yQ2FsbGJhY2sobWFrZVN0cmluZygi
Tm8gYmluIG5hbWVkICIsIHN1YkJpbk5hbWUsICIgaW4gcGlwZWxpbmUgIiwgbmFtZSkpOworfQor
CitWZWN0b3I8Q1N0cmluZz4gZ2V0QmluQ2hpbGRyZW4oY29uc3QgU3RyaW5nJiBwaXBlbGluZU5h
bWUsIGNvbnN0IFN0cmluZyYgYmluTmFtZSkKK3sKKyAgICBWZWN0b3I8Q1N0cmluZz4gY2hpbGRy
ZW47CisgICAgR3N0QmluKiBwaXBlbGluZSA9IGFjdGl2ZVBpcGVsaW5lc01hcCgpLmdldChwaXBl
bGluZU5hbWUudXRmOCgpKTsKKyAgICBpZiAoIXBpcGVsaW5lKQorICAgICAgICByZXR1cm4gY2hp
bGRyZW47CisKKyAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IHBhcmVudDsKKworICAgIGlmIChiaW5O
YW1lLmlzRW1wdHkoKSkKKyAgICAgICAgcGFyZW50ID0gR1NUX0VMRU1FTlRfQ0FTVChnc3Rfb2Jq
ZWN0X3JlZihwaXBlbGluZSkpOworICAgIGVsc2UKKyAgICAgICAgcGFyZW50ID0gYWRvcHRHUmVm
KGdzdF9iaW5fZ2V0X2J5X25hbWUocGlwZWxpbmUsIGJpbk5hbWUudXRmOCgpLmRhdGEoKSkpOwor
CisgICAgaWYgKCFwYXJlbnQgfHwgIUdTVF9JU19CSU4ocGFyZW50LmdldCgpKSkKKyAgICAgICAg
cmV0dXJuIGNoaWxkcmVuOworCisgICAgZm9yIChHTGlzdCogaXRlbSA9IEdTVF9CSU5fQ0hJTERS
RU4oR1NUX0JJTl9DQVNUKHBhcmVudC5nZXQoKSkpOyBpdGVtOyBpdGVtID0gaXRlbS0+bmV4dCkg
eworICAgICAgICBpZiAoR1NUX0lTX0JJTihpdGVtLT5kYXRhKSkgeworICAgICAgICAgICAgR1Vu
aXF1ZVB0cjxnY2hhcj4gbmFtZShnc3RfZWxlbWVudF9nZXRfbmFtZShHU1RfRUxFTUVOVF9DQVNU
KGl0ZW0tPmRhdGEpKSk7CisgICAgICAgICAgICBjaGlsZHJlbi5hcHBlbmQoQ1N0cmluZyhuYW1l
LmdldCgpKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gY2hpbGRyZW47Cit9CisK
IH0KIAogI2VuZGlmIC8vIFVTRShHU1RSRUFNRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmgKaW5k
ZXggOTY5YzdjMzM0Yjk1MDNhMjFhNzJlMzc5ZjEzN2MyN2E2YjkxODEyNS4uZmZjNmFhMGI2OWRi
NjdhMmVjMTE4YzY5NTEyNzlmMDk5MTFlNDE2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uaApA
QCAtMjIzLDYgKzIyMywxMiBAQCBlbnVtIGNsYXNzIEdzdFZpZGVvRGVjb2RlclBsYXRmb3JtIHsg
SW14VlBVLCBWaWRlbzRMaW51eCB9OwogCiBib29sIGlzR1N0cmVhbWVyUGx1Z2luQXZhaWxhYmxl
KGNvbnN0IGNoYXIqIG5hbWUpOwogCit2b2lkIHJlZ2lzdGVyQWN0aXZlUGlwZWxpbmUoR3N0RWxl
bWVudCopOwordm9pZCB1bnJlZ2lzdGVyUGlwZWxpbmUoR3N0RWxlbWVudCopOworVmVjdG9yPENT
dHJpbmc+IGFjdGl2ZVBpcGVsaW5lc05hbWVzKCk7Cit2b2lkIGR1bXBBY3RpdmVQaXBlbGluZShj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgc3ViQmluTmFtZSwgV1RGOjpGdW5jdGlv
bjx2b2lkKFJlZjxTaGFyZWRCdWZmZXI+JiYpPiYmIGNhbGxiYWNrLCBXVEY6OkZ1bmN0aW9uPHZv
aWQoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpPiYmIGVycm9yQ2FsbGJhY2spOworVmVjdG9y
PENTdHJpbmc+IGdldEJpbkNoaWxkcmVuKGNvbnN0IFN0cmluZyYgcGlwZWxpbmVOYW1lLCBjb25z
dCBTdHJpbmcmIGJpbk5hbWUpOworCiB9CiAKICNpZm5kZWYgR1NUX0JVRkZFUl9EVFNfT1JfUFRT
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4
IDBiYjEyNWE5YjkzZDYxMjg4NjkxMjZkYTU4ZmNlNDM1NThkMjNlZTAuLjc5OTc4OTVmMDc4Mzlm
NzU0NzEyNWY3NzQ2ZGQ0NGI5OWNhMGEyOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC01MzEsOSArNTMxLDE0IEBAIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6fk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcigpCiAKICAgICAv
LyBUaGUgY2hhbmdlIHRvIEdTVF9TVEFURV9OVUxMIHN0YXRlIGlzIGFsd2F5cyBzeW5jaHJvbm91
cy4gU28gYWZ0ZXIgdGhpcyBnZXRzIGV4ZWN1dGVkIHdlIGRvbid0IG5lZWQgdG8gd29ycnkKICAg
ICAvLyBhYm91dCBoYW5kbGVycyBydW5uaW5nIGluIHRoZSBHU3RyZWFtZXIgdGhyZWFkLgotICAg
IGlmIChtX3BpcGVsaW5lKQorICAgIGlmIChtX3BpcGVsaW5lKSB7CisgICAgICAgIHVucmVnaXN0
ZXJQaXBlbGluZShtX3BpcGVsaW5lLmdldCgpKTsKICAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0
YXRlKG1fcGlwZWxpbmUuZ2V0KCksIEdTVF9TVEFURV9OVUxMKTsKIAorICAgICAgICBpZiAobV9w
bGF5ZXIpCisgICAgICAgICAgICBtX3BsYXllci0+Z3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hh
bmdlZCgpOworICAgIH0KKwogICAgIG1fcGxheWVyID0gbnVsbHB0cjsKIH0KIApAQCAtMTc5Miw2
ICsxNzk3LDkgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnZpZGVvQ2hhbmdl
ZENhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW0KIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjpzZXRQaXBlbGluZShHc3RFbGVtZW50KiBwaXBlbGluZSkKIHsKICAgICBt
X3BpcGVsaW5lID0gcGlwZWxpbmU7CisgICAgcmVnaXN0ZXJBY3RpdmVQaXBlbGluZShtX3BpcGVs
aW5lLmdldCgpKTsKKyAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgIG1fcGxheWVyLT5nc3RyZWFt
ZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7CiAKICAgICBHUmVmUHRyPEdzdEJ1cz4gYnVzID0g
YWRvcHRHUmVmKGdzdF9waXBlbGluZV9nZXRfYnVzKEdTVF9QSVBFTElORShtX3BpcGVsaW5lLmdl
dCgpKSkpOwogICAgIGdzdF9idXNfc2V0X3N5bmNfaGFuZGxlcihidXMuZ2V0KCksIFtdKEdzdEJ1
cyosIEdzdE1lc3NhZ2UqIG1lc3NhZ2UsIGdwb2ludGVyIHVzZXJEYXRhKSB7CkBAIC0yOTU5LDYg
KzI5NjcsOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlR1NUUGxh
eUJpbihjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJgogICAgICAgICB9CiAKICAgICAgICAg
R1NUX0lORk9fT0JKRUNUKHBpcGVsaW5lKCksICJUZWFyaW5nIGRvd24gYXMgd2UgbmVlZCB0byB1
c2UgJXMgbm93LiIsIHBsYXliaW5OYW1lKTsKKyAgICAgICAgdW5yZWdpc3RlclBpcGVsaW5lKG1f
cGlwZWxpbmUuZ2V0KCkpOworICAgICAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgICAgICBtX3Bs
YXllci0+Z3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOwogICAgICAgICBjaGFuZ2VQ
aXBlbGluZVN0YXRlKEdTVF9TVEFURV9OVUxMKTsKICAgICAgICAgbV9waXBlbGluZSA9IG51bGxw
dHI7CiAgICAgfQpAQCAtMzA4Miw2ICszMDkzLDkgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OnJlYWR5VGltZXJGaXJlZCgpCiB7CiAgICAgR1NUX0RFQlVHX09CSkVDVChwaXBl
bGluZSgpLCAiSW4gUkVBRFkgZm9yIHRvbyBsb25nLiBSZWxlYXNpbmcgcGlwZWxpbmUgcmVzb3Vy
Y2VzLiIpOwogICAgIGNoYW5nZVBpcGVsaW5lU3RhdGUoR1NUX1NUQVRFX05VTEwpOworICAgIHVu
cmVnaXN0ZXJQaXBlbGluZShtX3BpcGVsaW5lLmdldCgpKTsKKyAgICBpZiAobV9wbGF5ZXIpCisg
ICAgICAgIG1fcGxheWVyLT5nc3RyZWFtZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7CiB9CiAK
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjphY2NlbGVyYXRlZFJlbmRlcmluZ1N0
YXRlQ2hhbmdlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmgKaW5kZXggZmU4NWVhOTY0YWIxNzE4MDI0MjEyZGNiMzU0ZWU3Yzg0YTQ3Yjc3NC4uNWY3Njc1
NWU2MzllMTgwM2JlOTBkY2Q2NWQyN2JjMWVmNjVhMjc0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaApAQCAtMTM5LDYgKzEzOSw4IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBleHRlbmRlZFN1cHBvcnRzVHlw
ZShjb25zdCBNZWRpYUVuZ2luZVN1cHBvcnRQYXJhbWV0ZXJzJiwgTWVkaWFQbGF5ZXI6OlN1cHBv
cnRzVHlwZSk7CiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNLZXlTeXN0ZW0oY29uc3QgU3RyaW5n
JiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogCisgICAgTWVkaWFQbGF5ZXIq
IG1lZGlhUGxheWVyKCkgY29uc3QgeyByZXR1cm4gbV9wbGF5ZXI7IH0KKwogICAgIGJvb2wgaGFz
VmlkZW8oKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2hhc1ZpZGVvOyB9CiAgICAgYm9vbCBoYXNB
dWRpbygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faGFzQXVkaW87IH0KICAgICB2b2lkIGxvYWQo
Y29uc3QgU3RyaW5nICZ1cmwpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5l
LmNwcAppbmRleCA1YTJiZGVkYTFiODdhMWRlYThjNmJiZjVmNjk4NDFkN2U5ZjY2YzBiLi5iM2U5
MDI4YjJmMjI5MzBmZWYxMDI1MjRiOTZlOWYwN2YzNzQ5MTdkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0Fw
cGVuZFBpcGVsaW5lLmNwcApAQCAtMTE1LDkgKzExNSwxMSBAQCBBcHBlbmRQaXBlbGluZTo6QXBw
ZW5kUGlwZWxpbmUoUmVmPE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFPiBtZWRpYVNvdXJj
ZUNsaQogICAgIC8vIEZJWE1FOiBnaXZlIGEgbmFtZSB0byB0aGUgcGlwZWxpbmUsIG1heWJlIHJl
bGF0ZWQgd2l0aCB0aGUgdHJhY2sgaXQncyBtYW5hZ2luZy4KICAgICAvLyBUaGUgdHJhY2sgbmFt
ZSBpcyBzdGlsbCB1bmtub3duIGF0IHRoaXMgdGltZSwgdGhvdWdoLgogICAgIHN0YXRpYyBzaXpl
X3QgYXBwZW5kUGlwZWxpbmVDb3VudCA9IDA7Ci0gICAgU3RyaW5nIHBpcGVsaW5lTmFtZSA9IG1h
a2VTdHJpbmcoImFwcGVuZC1waXBlbGluZS0iLAorICAgIFN0cmluZyBwaXBlbGluZU5hbWUgPSBt
YWtlU3RyaW5nKCJtc2UtYXBwZW5kLXBpcGVsaW5lLSIsCiAgICAgICAgIG1fc291cmNlQnVmZmVy
UHJpdmF0ZS0+dHlwZSgpLmNvbnRhaW5lclR5cGUoKS5yZXBsYWNlKCIvIiwgIi0iKSwgJy0nLCBh
cHBlbmRQaXBlbGluZUNvdW50KyspOwogICAgIG1fcGlwZWxpbmUgPSBnc3RfcGlwZWxpbmVfbmV3
KHBpcGVsaW5lTmFtZS51dGY4KCkuZGF0YSgpKTsKKyAgICByZWdpc3RlckFjdGl2ZVBpcGVsaW5l
KG1fcGlwZWxpbmUuZ2V0KCkpOworICAgIG1fcGxheWVyUHJpdmF0ZS0+bWVkaWFQbGF5ZXIoKS0+
Z3N0cmVhbWVyQWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpOwogCiAgICAgbV9idXMgPSBhZG9wdEdS
ZWYoZ3N0X3BpcGVsaW5lX2dldF9idXMoR1NUX1BJUEVMSU5FKG1fcGlwZWxpbmUuZ2V0KCkpKSk7
CiAgICAgZ3N0X2J1c19hZGRfc2lnbmFsX3dhdGNoX2Z1bGwobV9idXMuZ2V0KCksIFJ1bkxvb3BT
b3VyY2VQcmlvcml0eTo6UnVuTG9vcERpc3BhdGNoZXIpOwpAQCAtMjQyLDYgKzI0NCw5IEBAIEFw
cGVuZFBpcGVsaW5lOjp+QXBwZW5kUGlwZWxpbmUoKQogICAgIC8vIHdoZW4gY2hhbmdpbmcgdGhl
IHBpcGVsaW5lIHN0YXRlLgogCiAgICAgaWYgKG1fcGlwZWxpbmUpIHsKKyAgICAgICAgdW5yZWdp
c3RlclBpcGVsaW5lKG1fcGlwZWxpbmUuZ2V0KCkpOworICAgICAgICBpZiAobV9wbGF5ZXJQcml2
YXRlKQorICAgICAgICAgICAgbV9wbGF5ZXJQcml2YXRlLT5tZWRpYVBsYXllcigpLT5nc3RyZWFt
ZXJBY3RpdmVQaXBlbGluZXNDaGFuZ2VkKCk7CiAgICAgICAgIEFTU0VSVChtX2J1cyk7CiAgICAg
ICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZGF0YShtX2J1cy5nZXQoKSwgdGhp
cyk7CiAgICAgICAgIGdzdF9idXNfZGlzYWJsZV9zeW5jX21lc3NhZ2VfZW1pc3Npb24obV9idXMu
Z2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMv
ZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2Nh
bGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggYmVmODRhNDY3ZWYy
ZjA4NjkyNmQ5ZTQ3NjM3OTU5OGE5MTU3MTdjMC4uNjczOTk3ZGYwNTE5MWJlMmNjZWU4NmUyMzA4
MWZjZjNjYTFlY2Q3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXph
dGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCkBAIC0xNzUs
NiArMTc1LDcgQEAgbG9jYWxpemVkU3RyaW5nc1siQXV0byBJbmNyZW1lbnQiXSA9ICJBdXRvIElu
Y3JlbWVudCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJBdXRvIFx1MjAxNCAlcyJdID0gIkF1dG8gXHUy
MDE0ICVzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkF1dG8tZXhwYW5kIl0gPSAiQXV0by1leHBhbmQi
OwogbG9jYWxpemVkU3RyaW5nc1siQXV0b21hdGljYWxseSBjb250aW51ZSBhZnRlciBldmFsdWF0
aW5nIl0gPSAiQXV0b21hdGljYWxseSBjb250aW51ZSBhZnRlciBldmFsdWF0aW5nIjsKK2xvY2Fs
aXplZFN0cmluZ3NbIkF1dG9tYXRpY2FsbHkgcmVmcmVzaCB0aGUgcGlwZWxpbmUiXSA9ICJBdXRv
bWF0aWNhbGx5IHJlZnJlc2ggdGhlIHBpcGVsaW5lIjsKIGxvY2FsaXplZFN0cmluZ3NbIkF2YWls
YWJsZSBTdHlsZSBTaGVldHMiXSA9ICJBdmFpbGFibGUgU3R5bGUgU2hlZXRzIjsKIGxvY2FsaXpl
ZFN0cmluZ3NbIkF2ZXJhZ2UgQ1BVOiAlcyJdID0gIkF2ZXJhZ2UgQ1BVOiAlcyI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyJBdmVyYWdlIFRpbWUiXSA9ICJBdmVyYWdlIFRpbWUiOwpAQCAtNDE1LDYgKzQx
Niw4IEBAIGxvY2FsaXplZFN0cmluZ3NbIkRpc2FibGVkIl0gPSAiRGlzYWJsZWQiOwogbG9jYWxp
emVkU3RyaW5nc1siRGlzayBDYWNoZSJdID0gIkRpc2sgQ2FjaGUiOwogbG9jYWxpemVkU3RyaW5n
c1siRGlzbWlzcyJdID0gIkRpc21pc3MiOwogbG9jYWxpemVkU3RyaW5nc1siRGlzcGxheWVkIENv
bHVtbnMiXSA9ICJEaXNwbGF5ZWQgQ29sdW1ucyI7Citsb2NhbGl6ZWRTdHJpbmdzWyJEaXNwbGF5
aW5nICVzLiJdID0gIkRpc3BsYXlpbmcgJXMuIjsKK2xvY2FsaXplZFN0cmluZ3NbIkRpc3BsYXlp
bmcgJXMuIEF2YWlsYWJsZSBjaGlsZHJlbiBiaW5zOiAiXSA9ICJEaXNwbGF5aW5nICVzLiBBdmFp
bGFibGUgY2hpbGRyZW4gYmluczogIjsKIGxvY2FsaXplZFN0cmluZ3NbIkRvIG5vdCBjbGVhciBu
ZXR3b3JrIGl0ZW1zIG9uIG5ldyBwYWdlIGxvYWRzIl0gPSAiRG8gbm90IGNsZWFyIG5ldHdvcmsg
aXRlbXMgb24gbmV3IHBhZ2UgbG9hZHMiOwogbG9jYWxpemVkU3RyaW5nc1siRG8gbm90IGNsZWFy
IHRoZSBjb25zb2xlIG9uIG5ldyBwYWdlIGxvYWRzIl0gPSAiRG8gbm90IGNsZWFyIHRoZSBjb25z
b2xlIG9uIG5ldyBwYWdlIGxvYWRzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkRvIG5vdCBmYWRlIHVu
ZXhlY3V0ZWQgY29kZSJdID0gIkRvIG5vdCBmYWRlIHVuZXhlY3V0ZWQgY29kZSI7CkBAIC01Mzks
NiArNTQyLDcgQEAgbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0ICglcykiXSA9ICJFeHBvcnQgKCVz
KSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJFeHBvcnQgSEFSIl0gPSAiRXhwb3J0IEhBUiI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJFeHBvcnQgUmVzdWx0Il0gPSAiRXhwb3J0IFJlc3VsdCI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyJFeHBvcnQgVGVzdCJdID0gIkV4cG9ydCBUZXN0IjsKK2xvY2FsaXplZFN0cmlu
Z3NbIkV4cG9ydCBwaXBlbGluZSByZXByZXNlbnRhdGlvbiB0byBHcmFwaHZpeiBkb3QgZmlsZSAo
JXMpIl0gPSAiRXhwb3J0IHBpcGVsaW5lIHJlcHJlc2VudGF0aW9uIHRvIEdyYXBodml6IGRvdCBm
aWxlICglcykiOwogbG9jYWxpemVkU3RyaW5nc1siRXhwb3J0IHJlY29yZGluZyAoJXMpIl0gPSAi
RXhwb3J0IHJlY29yZGluZyAoJXMpIjsKIGxvY2FsaXplZFN0cmluZ3NbIkV4cG9ydCByZWNvcmRp
bmcgKCVzKVxuU2hpZnQtY2xpY2sgdG8gZXhwb3J0IGEgSFRNTCByZWR1Y3Rpb24iXSA9ICJFeHBv
cnQgcmVjb3JkaW5nICglcylcblNoaWZ0LWNsaWNrIHRvIGV4cG9ydCBhIEhUTUwgcmVkdWN0aW9u
IjsKIGxvY2FsaXplZFN0cmluZ3NbIkV4cG9ydCByZXN1bHQgKCVzKSJdID0gIkV4cG9ydCByZXN1
bHQgKCVzKSI7CkBAIC01OTgsNiArNjAyLDcgQEAgbG9jYWxpemVkU3RyaW5nc1siRnVsbC1TY3Jl
ZW4gZnJvbSBcdTIwMUMlc1x1MjAxRCJdID0gIkZ1bGwtU2NyZWVuIGZyb20gXHUyMDFDJXMKIGxv
Y2FsaXplZFN0cmluZ3NbIkZ1bmN0aW9uIl0gPSAiRnVuY3Rpb24iOwogbG9jYWxpemVkU3RyaW5n
c1siRnVuY3Rpb24gTmFtZSBWYXJpYWJsZSJdID0gIkZ1bmN0aW9uIE5hbWUgVmFyaWFibGUiOwog
bG9jYWxpemVkU3RyaW5nc1siR0lGIl0gPSAiR0lGIjsKK2xvY2FsaXplZFN0cmluZ3NbIkdTdHJl
YW1lciJdID0gIkdTdHJlYW1lciI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJHYXJiYWdlIENvbGxlY3Rp
b24iXSA9ICJHYXJiYWdlIENvbGxlY3Rpb24iOwogbG9jYWxpemVkU3RyaW5nc1siR2VuZXJhbCJd
ID0gIkdlbmVyYWwiOwogbG9jYWxpemVkU3RyaW5nc1siR2V0dGVyIl0gPSAiR2V0dGVyIjsKQEAg
LTg4NSw2ICs4OTAsNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJQZXJpb2RzIG9mIGhpZ2ggQ1BVIHV0
aWxpemF0aW9uIHdpbGwgcmFwaWRseSBkcmFpbiBiYXR0ZXJ5LiBTdAogbG9jYWxpemVkU3RyaW5n
c1siUGluZyJdID0gIlBpbmciOwogbG9jYWxpemVkU3RyaW5nc1siUGluZyBGcmFtZSJdID0gIlBp
bmcgRnJhbWUiOwogbG9jYWxpemVkU3RyaW5nc1siUGluZ3MiXSA9ICJQaW5ncyI7Citsb2NhbGl6
ZWRTdHJpbmdzWyJQaXBlbGluZXMiXSA9ICJQaXBlbGluZXMiOwogbG9jYWxpemVkU3RyaW5nc1si
UGxheSBTb3VuZCJdID0gIlBsYXkgU291bmQiOwogLyogVG9vbHRpcCBmb3IgYSB0aW1lIHJhbmdl
IGJhciB0aGF0IHJlcHJlc2VudHMgd2hlbiB0aGUgcGxheWJhY2sgb2YgYSBhdWRpby92aWRlbyBl
bGVtZW50IGlzIHJ1bm5pbmcgKi8KIGxvY2FsaXplZFN0cmluZ3NbIlBsYXlpbmciXSA9ICJQbGF5
aW5nIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9TY3JpcHRzL2NvcHktdXNl
ci1pbnRlcmZhY2UtcmVzb3VyY2VzLnBsIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMv
Y29weS11c2VyLWludGVyZmFjZS1yZXNvdXJjZXMucGwKaW5kZXggZmRiYWQzODNiMmVmYjZjMmJi
OTU0Zjc1ZTVlMzE3M2YzYzQ2MTZlOC4uZWMxYTI0YmRlMmFkYTJjNTMwZThmZjQ1ZTg5MTMwOTYx
ZGZiMzFhYSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvY29weS11
c2VyLWludGVyZmFjZS1yZXNvdXJjZXMucGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Nj
cmlwdHMvY29weS11c2VyLWludGVyZmFjZS1yZXNvdXJjZXMucGwKQEAgLTE2NywxMiArMTY3LDE1
IEBAIG15ICR3b3JrZXJzRGlyID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCR0YXJnZXRSZXNvdXJjZVBh
dGgsICdXb3JrZXJzJyk7CiBteSAkY29kZU1pcnJvclBhdGggPSBGaWxlOjpTcGVjLT5jYXRkaXIo
JHVpUm9vdCwgJ0V4dGVybmFsJywgJ0NvZGVNaXJyb3InKTsKIG15ICRlc3ByaW1hUGF0aCA9IEZp
bGU6OlNwZWMtPmNhdGRpcigkdWlSb290LCAnRXh0ZXJuYWwnLCAnRXNwcmltYScpOwogbXkgJHRo
cmVlanNQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCR1aVJvb3QsICdFeHRlcm5hbCcsICd0aHJl
ZS5qcycpOworbXkgJHBhblpvb21QYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCR1aVJvb3QsICdF
eHRlcm5hbCcsICdQYW5ab29tLmpzJyk7CiAKICR3ZWJJbnNwZWN0b3JVSUFkZGl0aW9uc0RpciA9
ICZ3ZWJJbnNwZWN0b3JVSUFkZGl0aW9uc0RpcigpOwogCiBteSAkY29kZU1pcnJvckxpY2Vuc2Ug
PSByZWFkTGljZW5zZUZpbGUoRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkY29kZU1pcnJvclBhdGgsICdM
SUNFTlNFJykpOwogbXkgJGVzcHJpbWFMaWNlbnNlID0gcmVhZExpY2Vuc2VGaWxlKEZpbGU6OlNw
ZWMtPmNhdGZpbGUoJGVzcHJpbWFQYXRoLCAnTElDRU5TRScpKTsKIG15ICR0aHJlZWpzTGljZW5z
ZSA9IHJlYWRMaWNlbnNlRmlsZShGaWxlOjpTcGVjLT5jYXRmaWxlKCR0aHJlZWpzUGF0aCwgJ0xJ
Q0VOU0UnKSk7CitteSAkcGFuWm9vbUxpY2Vuc2UgPSByZWFkTGljZW5zZUZpbGUoRmlsZTo6U3Bl
Yy0+Y2F0ZmlsZSgkcGFuWm9vbVBhdGgsICdMSUNFTlNFJykpOworCiBtYWtlX3BhdGgoJHByb3Rv
Y29sRGlyLCAkdGFyZ2V0UmVzb3VyY2VQYXRoKTsKIAogJHB5dGhvbiA9ICRFTlZ7IlBZVEhPTiJ9
IGlmIGRlZmluZWQoJEVOVnsiUFlUSE9OIn0pOwpAQCAtMTgzLDYgKzE4Niw4IEBAIGNvcHkoRmls
ZTo6U3BlYy0+Y2F0ZmlsZSgkRU5WeydKQVZBU0NSSVBUQ09SRV9QUklWQVRFX0hFQURFUlNfRElS
J30sICdJbnNwZWN0b3JCCiBteSAkZm9yY2VUb29sSW5zdGFsbCA9IGRlZmluZWQgJEVOVnsnRk9S
Q0VfVE9PTF9JTlNUQUxMJ30gJiYgKCRFTlZ7J0ZPUkNFX1RPT0xfSU5TVEFMTCd9IGVxICdZRVMn
KTsKIG15ICRzaG91bGRDb21iaW5lTWFpbiA9IGRlZmluZWQgJEVOVnsnQ09NQklORV9JTlNQRUNU
T1JfUkVTT1VSQ0VTJ30gJiYgKCRFTlZ7J0NPTUJJTkVfSU5TUEVDVE9SX1JFU09VUkNFUyd9IGVx
ICdZRVMnKTsKIG15ICRzaG91bGRDb21iaW5lVGVzdCA9IGRlZmluZWQgJEVOVnsnQ09NQklORV9U
RVNUX1JFU09VUkNFUyd9ICYmICgkRU5WeydDT01CSU5FX1RFU1RfUkVTT1VSQ0VTJ30gZXEgJ1lF
UycpOworbXkgJHNob3VsZENvbWJpbmVHU3RyZWFtZXJSZXNvdXJjZXMgPSBkZWZpbmVkICRFTlZ7
J0NPTUJJTkVfR1NUUkVBTUVSX1JFU09VUkNFUyd9ICYmICgkRU5WeydDT01CSU5FX0dTVFJFQU1F
Ul9SRVNPVVJDRVMnfSBlcSAnWUVTJyk7CisKIG15ICRjb21iaW5lUmVzb3VyY2VzQ21kID0gRmls
ZTo6U3BlYy0+Y2F0ZmlsZSgkc2NyaXB0c1Jvb3QsICdjb21iaW5lLXJlc291cmNlcy5wbCcpOwog
CiBpZiAoJGZvcmNlVG9vbEluc3RhbGwpIHsKQEAgLTM0Niw2ICszNTEsMTcgQEAgaWYgKCRzaG91
bGRDb21iaW5lTWFpbikgewogICAgICAgICctLW91dHB1dC1kaXInLCAkZGVyaXZlZFNvdXJjZXNE
aXIsCiAgICAgICAgJy0tb3V0cHV0LXNjcmlwdC1uYW1lJywgJ1RocmVlLmpzJyk7CiAKKyAgICBp
ZiAoJHNob3VsZENvbWJpbmVHU3RyZWFtZXJSZXNvdXJjZXMpIHsKKyAgICAgICAgIyBDb21iaW5l
IHRoZSBQYW5ab29tLmpzIEphdmFTY3JpcHQgZmlsZXMgaW4gUHJvZHVjdGlvbiBidWlsZHMgaW50
byBhIHNpbmdsZSBmaWxlIChQYW5ab29tLmpzKS4KKyAgICAgICAgc3lzdGVtKCRwZXJsLCAkY29t
YmluZVJlc291cmNlc0NtZCwKKyAgICAgICAgICAgICAgICctLWlucHV0LWRpcicsICdFeHRlcm5h
bC9QYW5ab29tLmpzJywKKyAgICAgICAgICAgICAgICctLWlucHV0LWh0bWwnLCAkZGVyaXZlZFNv
dXJjZXNNYWluSFRNTCwKKyAgICAgICAgICAgICAgICctLWlucHV0LWh0bWwtZGlyJywgJHVpUm9v
dCwKKyAgICAgICAgICAgICAgICctLWRlcml2ZWQtc291cmNlcy1kaXInLCAkZGVyaXZlZFNvdXJj
ZXNEaXIsCisgICAgICAgICAgICAgICAnLS1vdXRwdXQtZGlyJywgJGRlcml2ZWRTb3VyY2VzRGly
LAorICAgICAgICAgICAgICAgJy0tb3V0cHV0LXNjcmlwdC1uYW1lJywgJ1Bhblpvb20uanMnKTsK
KyAgICB9CisKICAgICAjIFJlbW92ZSBjb25zb2xlLmFzc2VydCBjYWxscyBmcm9tIHRoZSBNYWlu
LmpzIGZpbGUuCiAgICAgbXkgJGRlcml2ZWRTb3VyY2VzTWFpbkpTID0gRmlsZTo6U3BlYy0+Y2F0
ZmlsZSgkZGVyaXZlZFNvdXJjZXNEaXIsICdNYWluLmpzJyk7CiAgICAgc3lzdGVtKCRwZXJsLCBG
aWxlOjpTcGVjLT5jYXRmaWxlKCRzY3JpcHRzUm9vdCwgJ3JlbW92ZS1jb25zb2xlLWFzc2VydHMu
cGwnKSwKQEAgLTQwNiw2ICs0MjIsMTggQEAgaWYgKCRzaG91bGRDb21iaW5lTWFpbikgewogICAg
IG15ICRkZXJpdmVkU291cmNlc1RocmVlanNKUyA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJGRlcml2
ZWRTb3VyY2VzRGlyLCAnVGhyZWUuanMnKTsKICAgICBzeXN0ZW0ocXEoIiRweXRob24iICIkanNN
aW5TY3JpcHQiIDwgIiRkZXJpdmVkU291cmNlc1RocmVlanNKUyIgPj4gIiR0YXJnZXRUaHJlZWpz
SlMiKSkgYW5kIGRpZSAiRmFpbGVkIHRvIG1pbmlmeSAkZGVyaXZlZFNvdXJjZXNUaHJlZWpzSlM6
ICQhIjsKIAorICAgIG15ICR0YXJnZXRQYW5ab29tSlMgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCR0
YXJnZXRSZXNvdXJjZVBhdGgsICdQYW5ab29tLmpzJyk7CisgICAgaWYgKCRzaG91bGRDb21iaW5l
R1N0cmVhbWVyUmVzb3VyY2VzKSB7CisgICAgICAgICMgRXhwb3J0IHRoZSBsaWNlbnNlIGludG8g
UGFuWm9vbS5qcy4KKyAgICAgICAgc2VlZEZpbGUoJHRhcmdldFBhblpvb21KUywgJHBhblpvb21M
aWNlbnNlKTsKKworICAgICAgICAjIE1pbmlmeSB0aGUgUGFuWm9vbS5qcyBmaWxlLCBhcHBlbmRp
bmcgdG8gdGhlIGxpY2Vuc2UgdGhhdCB3YXMgZXhwb3J0ZWQgYWJvdmUuCisgICAgICAgIG15ICRk
ZXJpdmVkU291cmNlc1Bhblpvb21KUyA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJGRlcml2ZWRTb3Vy
Y2VzRGlyLCAnUGFuWm9vbS5qcycpOworICAgICAgICBzeXN0ZW0ocXEoIiRweXRob24iICIkanNN
aW5TY3JpcHQiIDwgIiRkZXJpdmVkU291cmNlc1Bhblpvb21KUyIgPj4gIiR0YXJnZXRQYW5ab29t
SlMiKSkgYW5kIGRpZSAiRmFpbGVkIHRvIG1pbmlmeSAkZGVyaXZlZFNvdXJjZXNQYW5ab29tSlM6
ICQhIjsKKyAgICB9IGVsc2UgeworICAgICAgICBzZWVkRmlsZSgkdGFyZ2V0UGFuWm9vbUpTLCAi
Iik7CisgICAgfQorCiAgICAgIyBDb3B5IG92ZXIgdGhlIEltYWdlcyBkaXJlY3RvcnkuCiAgICAg
ZGl0dG8oRmlsZTo6U3BlYy0+Y2F0ZGlyKCR1aVJvb3QsICdJbWFnZXMnKSwgRmlsZTo6U3BlYy0+
Y2F0ZGlyKCR0YXJnZXRSZXNvdXJjZVBhdGgsICdJbWFnZXMnKSk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwppbmRleCA0YjNjN2Y2NGJl
Mjg1NTg0ZDJjZmIxOTU0YzQ4NjJmZjkwMGZjZjY0Li5iZjQ0YzI3NGNlYTM0Yzg3NDg2MWZjZTdm
YjU3MWJhZTllMzk4YmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9CYXNlL01haW4uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQmFzZS9NYWluLmpzCkBAIC03Myw2ICs3Myw4IEBAIFdJLmxvYWRlZCA9IGZ1bmN0aW9u
KCkKICAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRhdGFiYXNlRGlzcGF0Y2hlcihX
SS5EYXRhYmFzZU9ic2VydmVyKTsKICAgICBpZiAoSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRl
YnVnZ2VyRGlzcGF0Y2hlcikKICAgICAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRlYnVn
Z2VyRGlzcGF0Y2hlcihXSS5EZWJ1Z2dlck9ic2VydmVyKTsKKyAgICBpZiAoSW5zcGVjdG9yQmFj
a2VuZC5yZWdpc3RlckdTdHJlYW1lckRpc3BhdGNoZXIpCisgICAgICAgIEluc3BlY3RvckJhY2tl
bmQucmVnaXN0ZXJHU3RyZWFtZXJEaXNwYXRjaGVyKFdJLkdTdHJlYW1lck9ic2VydmVyKTsKICAg
ICBpZiAoSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckhlYXBEaXNwYXRjaGVyKQogICAgICAgICBJ
bnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVySGVhcERpc3BhdGNoZXIoV0kuSGVhcE9ic2VydmVyKTsK
ICAgICBpZiAoSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rlckluc3BlY3RvckRpc3BhdGNoZXIpCkBA
IC0xMjcsNiArMTI5LDcgQEAgV0kubG9hZGVkID0gZnVuY3Rpb24oKQogICAgICAgICBXSS5kb21E
ZWJ1Z2dlck1hbmFnZXIgPSBuZXcgV0kuRE9NRGVidWdnZXJNYW5hZ2VyLAogICAgICAgICBXSS5j
YW52YXNNYW5hZ2VyID0gbmV3IFdJLkNhbnZhc01hbmFnZXIsCiAgICAgICAgIFdJLmFuaW1hdGlv
bk1hbmFnZXIgPSBuZXcgV0kuQW5pbWF0aW9uTWFuYWdlciwKKyAgICAgICAgV0kuZ3N0cmVhbWVy
TWFuYWdlciA9IG5ldyBXSS5HU3RyZWFtZXJNYW5hZ2VyLAogICAgIF07CiAKICAgICAvLyBSZWdp
c3RlciBmb3IgZXZlbnRzLgpAQCAtNDk1LDYgKzQ5OCwxMSBAQCBXSS5jb250ZW50TG9hZGVkID0g
ZnVuY3Rpb24oKQogICAgIF07CiAKICAgICBXSS5fa25vd25UYWJDbGFzc2VzQnlUeXBlID0gbmV3
IE1hcDsKKworICAgIGlmIChXSS5QbGF0Zm9ybS5wb3J0ID09PSAiZ3RrIiB8fCBXSS5QbGF0Zm9y
bS5wb3J0ID09PSAid3BlIikgeworICAgICAgICBwcm9kdWN0aW9uVGFiQ2xhc3Nlcy5wdXNoKFdJ
LkdTdHJlYW1lclRhYkNvbnRlbnRWaWV3KTsKKyAgICB9CisKICAgICAvLyBTZXQgdGFiIGNsYXNz
ZXMgZGlyZWN0bHkuIFRoZSBwdWJsaWMgQVBJIHRyaWdnZXJzIG90aGVyIHVwZGF0ZXMgYW5kCiAg
ICAgLy8gbm90aWZpY2F0aW9ucyB0aGF0IHdvbid0IHdvcmsgb3IgaGF2ZSBubyBsaXN0ZW5lcnMg
YXQgV0kgcG9pbnQuCiAgICAgZm9yIChsZXQgdGFiQ2xhc3Mgb2YgcHJvZHVjdGlvblRhYkNsYXNz
ZXMpCkBAIC0xMzYzLDYgKzEzNzEsOSBAQCBXSS50YWJDb250ZW50Vmlld0NsYXNzRm9yUmVwcmVz
ZW50ZWRPYmplY3QgPSBmdW5jdGlvbihyZXByZXNlbnRlZE9iamVjdCkKICAgICBpZiAocmVwcmVz
ZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBXSS5DYW52YXMgfHwgcmVwcmVzZW50ZWRPYmplY3QgaW5z
dGFuY2VvZiBXSS5TaGFkZXJQcm9ncmFtIHx8IHJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2Yg
V0kuUmVjb3JkaW5nIHx8IHJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2YgV0kuQW5pbWF0aW9u
KQogICAgICAgICByZXR1cm4gV0kuR3JhcGhpY3NUYWJDb250ZW50VmlldzsKIAorICAgIGlmIChy
ZXByZXNlbnRlZE9iamVjdCBpbnN0YW5jZW9mIFdJLkdTdHJlYW1lclBpcGVsaW5lKQorICAgICAg
ICByZXR1cm4gV0kuR1N0cmVhbWVyVGFiQ29udGVudFZpZXc7CisKICAgICByZXR1cm4gbnVsbDsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jh
c2UvUGxhdGZvcm0uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNl
L1BsYXRmb3JtLmpzCmluZGV4IGUwZjAxNDk4OTkxYzQyZjA4ZjE5ZWIyNTY1OGRmNmJlZjVlNDcx
NjEuLmQ2ZGJjZTZhYzYwOTVjNzRmNzcwYzM3MGNiNzhjOTIyMzI0YTY0MWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvUGxhdGZvcm0uanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9QbGF0Zm9ybS5qcwpA
QCAtMjUsNiArMjUsNyBAQAogCiBXSS5QbGF0Zm9ybSA9IHsKICAgICBuYW1lOiBJbnNwZWN0b3JG
cm9udGVuZEhvc3QucGxhdGZvcm0sCisgICAgcG9ydDogSW5zcGVjdG9yRnJvbnRlbmRIb3N0LnBv
cnQsCiAgICAgaXNOaWdodGx5QnVpbGQ6IGZhbHNlLAogICAgIHZlcnNpb246IHsKICAgICAgICAg
YmFzZTogMCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0NvbnRyb2xsZXJzL0dTdHJlYW1lck1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Db250cm9sbGVycy9HU3RyZWFtZXJNYW5hZ2VyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMyMTkzMmFiYjRmZmM2NThlZTc1YTc0NTY0YmE5MjA5NDI4MzhiYzkKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9HU3Ry
ZWFtZXJNYW5hZ2VyLmpzCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAy
MDIwIElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisg
KiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUg
RnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKK1dJLkdTdHJl
YW1lck1hbmFnZXIgPSBjbGFzcyBHU3RyZWFtZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0Cit7
CisgICAgY29uc3RydWN0b3IoKQorICAgIHsKKyAgICAgICAgc3VwZXIoKTsKKworICAgICAgICB0
aGlzLl9lbmFibGVkID0gV0kuUGxhdGZvcm0ucG9ydCA9PT0gImd0ayIgfHwgV0kuUGxhdGZvcm0u
cG9ydCA9PT0gIndwZSI7CisgICAgfQorCisgICAgLy8gQWdlbnQKKworICAgIGdldCBkb21haW5z
KCkgeyByZXR1cm4gWyJHU3RyZWFtZXIiXTsgfQorCisgICAgYWN0aXZhdGVFeHRyYURvbWFpbihk
b21haW4pCisgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydChkb21haW4gPT09ICJHU3RyZWFt
ZXIiKTsKKyAgICB9CisKKyAgICAvLyBHU3RyZWFtZXJPYnNlcnZlcgorCisgICAgYWN0aXZlUGlw
ZWxpbmVzQ2hhbmdlZCgpCisgICAgeworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3Rl
bmVycyhXSS5HU3RyZWFtZXJNYW5hZ2VyLkV2ZW50LkFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQpOwor
ICAgIH0KKworfTsKKworV0kuR1N0cmVhbWVyTWFuYWdlci5FdmVudCA9IHsKKyAgICBBY3RpdmVQ
aXBlbGluZXNDaGFuZ2VkOiAiZ3N0cmVhbWVyLW1hbmFnZXItYWN0aXZlLXBpcGVsaW5lcy13ZXJl
LWNoYW5nZWQiLAorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0V4dGVybmFsL1Bhblpvb20uanMvTElDRU5TRSBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL1Bhblpvb20uanMvTElDRU5TRQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
NWVhZTEyMTBkNzg4ZjljOTY5YzE2ZjdhN2E0MjY1MjM1NTAxMGI1Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvUGFuWm9vbS5q
cy9MSUNFTlNFCkBAIC0wLDAgKzEsMjEgQEAKK1RoZSBNSVQgTGljZW5zZSAoTUlUKQorCitDb3B5
cmlnaHQgKGMpIDIwMTYgLSAyMDE5IEFuZHJlaSBLYXNoY2hhCisKK1Blcm1pc3Npb24gaXMgaGVy
ZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNv
cHkKK29mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo
dGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsCitpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmlj
dGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzCit0byB1c2UsIGNv
cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9v
ciBzZWxsCitjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8g
d2hvbSB0aGUgU29mdHdhcmUgaXMKK2Z1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnM6CisKK1RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0
aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKworVEhFIFNPRlRXQVJFIElT
IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Mg
T1IKK0lNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZLAorRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E
IE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCitBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCitM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVS
V0lTRSwgQVJJU0lORyBGUk9NLAorT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09G
VFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKK1NPRlRXQVJFLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvUGFu
Wm9vbS5qcy9wYW56b29tLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
RXh0ZXJuYWwvUGFuWm9vbS5qcy9wYW56b29tLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE5MGIyMDNlMjY3Nzlk
YzE3ODQ4NDVlMWQxMTRkOTljZTczZTI2ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9QYW5ab29tLmpzL3Bhbnpvb20uanMK
QEAgLTAsMCArMSwxNzUxIEBACisoZnVuY3Rpb24oZil7aWYodHlwZW9mIGV4cG9ydHM9PT0ib2Jq
ZWN0IiYmdHlwZW9mIG1vZHVsZSE9PSJ1bmRlZmluZWQiKXttb2R1bGUuZXhwb3J0cz1mKCl9ZWxz
ZSBpZih0eXBlb2YgZGVmaW5lPT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZCl7ZGVmaW5lKFtdLGYp
fWVsc2V7dmFyIGc7aWYodHlwZW9mIHdpbmRvdyE9PSJ1bmRlZmluZWQiKXtnPXdpbmRvd31lbHNl
IGlmKHR5cGVvZiBnbG9iYWwhPT0idW5kZWZpbmVkIil7Zz1nbG9iYWx9ZWxzZSBpZih0eXBlb2Yg
c2VsZiE9PSJ1bmRlZmluZWQiKXtnPXNlbGZ9ZWxzZXtnPXRoaXN9Zy5wYW56b29tID0gZigpfX0p
KGZ1bmN0aW9uKCl7dmFyIGRlZmluZSxtb2R1bGUsZXhwb3J0cztyZXR1cm4gKGZ1bmN0aW9uKCl7
ZnVuY3Rpb24gcihlLG4sdCl7ZnVuY3Rpb24gbyhpLGYpe2lmKCFuW2ldKXtpZighZVtpXSl7dmFy
IGM9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmU7aWYoIWYmJmMpcmV0dXJuIGMo
aSwhMCk7aWYodSlyZXR1cm4gdShpLCEwKTt2YXIgYT1uZXcgRXJyb3IoIkNhbm5vdCBmaW5kIG1v
ZHVsZSAnIitpKyInIik7dGhyb3cgYS5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixhfXZhciBwPW5b
aV09e2V4cG9ydHM6e319O2VbaV1bMF0uY2FsbChwLmV4cG9ydHMsZnVuY3Rpb24ocil7dmFyIG49
ZVtpXVsxXVtyXTtyZXR1cm4gbyhufHxyKX0scCxwLmV4cG9ydHMscixlLG4sdCl9cmV0dXJuIG5b
aV0uZXhwb3J0c31mb3IodmFyIHU9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUs
aT0wO2k8dC5sZW5ndGg7aSsrKW8odFtpXSk7cmV0dXJuIG99cmV0dXJuIHJ9KSgpKHsxOltmdW5j
dGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKKyd1c2Ugc3RyaWN0JzsKKworLyogZ2xvYmFs
cyBTVkdFbGVtZW50ICovCisvKioKKyAqIEFsbG93cyB0byBkcmFnIGFuZCB6b29tIHN2ZyBlbGVt
ZW50cworICovCit2YXIgd2hlZWwgPSByZXF1aXJlKCd3aGVlbCcpOwordmFyIGFuaW1hdGUgPSBy
ZXF1aXJlKCdhbWF0b3InKTsKK3ZhciBldmVudGlmeSA9IHJlcXVpcmUoJ25ncmFwaC5ldmVudHMn
KTsKK3ZhciBraW5ldGljID0gcmVxdWlyZSgnLi9saWIva2luZXRpYy5qcycpOwordmFyIGNyZWF0
ZVRleHRTZWxlY3Rpb25JbnRlcmNlcHRvciA9IHJlcXVpcmUoJy4vbGliL2NyZWF0ZVRleHRTZWxl
Y3Rpb25JbnRlcmNlcHRvci5qcycpOwordmFyIGRvbVRleHRTZWxlY3Rpb25JbnRlcmNlcHRvciA9
IGNyZWF0ZVRleHRTZWxlY3Rpb25JbnRlcmNlcHRvcigpOwordmFyIGZha2VUZXh0U2VsZWN0b3JJ
bnRlcmNlcHRvciA9IGNyZWF0ZVRleHRTZWxlY3Rpb25JbnRlcmNlcHRvcih0cnVlKTsKK3ZhciBU
cmFuc2Zvcm0gPSByZXF1aXJlKCcuL2xpYi90cmFuc2Zvcm0uanMnKTsKK3ZhciBtYWtlU3ZnQ29u
dHJvbGxlciA9IHJlcXVpcmUoJy4vbGliL3N2Z0NvbnRyb2xsZXIuanMnKTsKK3ZhciBtYWtlRG9t
Q29udHJvbGxlciA9IHJlcXVpcmUoJy4vbGliL2RvbUNvbnRyb2xsZXIuanMnKTsKKwordmFyIGRl
ZmF1bHRab29tU3BlZWQgPSAxOwordmFyIGRlZmF1bHREb3VibGVUYXBab29tU3BlZWQgPSAxLjc1
OwordmFyIGRvdWJsZVRhcFNwZWVkSW5NUyA9IDMwMDsKKworbW9kdWxlLmV4cG9ydHMgPSBjcmVh
dGVQYW5ab29tOworCisvKioKKyAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgcGFuem9vbSwg
c28gdGhhdCBhbiBvYmplY3QgY2FuIGJlIHBhbm5lZCBhbmQgem9vbWVkCisgKgorICogQHBhcmFt
IHtET01FbGVtZW50fSBkb21FbGVtZW50IHdoZXJlIHBhbnpvb20gc2hvdWxkIGJlIGF0dGFjaGVk
LgorICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgdGhhdCBjb25maWd1cmUgYmVoYXZpb3IuCisg
Ki8KK2Z1bmN0aW9uIGNyZWF0ZVBhblpvb20oZG9tRWxlbWVudCwgb3B0aW9ucykgeworICBvcHRp
b25zID0gb3B0aW9ucyB8fCB7fTsKKworICB2YXIgcGFuQ29udHJvbGxlciA9IG9wdGlvbnMuY29u
dHJvbGxlcjsKKworICBpZiAoIXBhbkNvbnRyb2xsZXIpIHsKKyAgICBpZiAoZG9tRWxlbWVudCBp
bnN0YW5jZW9mIFNWR0VsZW1lbnQpIHsKKyAgICAgIHBhbkNvbnRyb2xsZXIgPSBtYWtlU3ZnQ29u
dHJvbGxlcihkb21FbGVtZW50LCBvcHRpb25zKTsKKyAgICB9CisKKyAgICBpZiAoZG9tRWxlbWVu
dCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7CisgICAgICBwYW5Db250cm9sbGVyID0gbWFrZURv
bUNvbnRyb2xsZXIoZG9tRWxlbWVudCwgb3B0aW9ucyk7CisgICAgfQorICB9CisKKyAgaWYgKCFw
YW5Db250cm9sbGVyKSB7CisgICAgdGhyb3cgbmV3IEVycm9yKAorICAgICAgJ0Nhbm5vdCBjcmVh
dGUgcGFuem9vbSBmb3IgdGhlIGN1cnJlbnQgdHlwZSBvZiBkb20gZWxlbWVudCcKKyAgICApOwor
ICB9CisgIHZhciBvd25lciA9IHBhbkNvbnRyb2xsZXIuZ2V0T3duZXIoKTsKKyAgLy8ganVzdCB0
byBhdm9pZCBHQyBwcmVzc3VyZSwgZXZlcnkgdGltZSB3ZSBkbyBpbnRlcm1lZGlhdGUgdHJhbnNm
b3JtCisgIC8vIHdlIHJldHVybiB0aGlzIG9iamVjdC4gRm9yIGludGVybmFsIHVzZSBvbmx5LiBO
ZXZlciBnaXZlIGl0IGJhY2sgdG8gdGhlIGNvbnN1bWVyIG9mIHRoaXMgbGlicmFyeQorICB2YXIg
c3RvcmVkQ1RNUmVzdWx0ID0geyB4OiAwLCB5OiAwIH07CisKKyAgdmFyIGlzRGlydHkgPSBmYWxz
ZTsKKyAgdmFyIHRyYW5zZm9ybSA9IG5ldyBUcmFuc2Zvcm0oKTsKKworICBpZiAocGFuQ29udHJv
bGxlci5pbml0VHJhbnNmb3JtKSB7CisgICAgcGFuQ29udHJvbGxlci5pbml0VHJhbnNmb3JtKHRy
YW5zZm9ybSk7CisgIH0KKworICB2YXIgZmlsdGVyS2V5ID0gdHlwZW9mIG9wdGlvbnMuZmlsdGVy
S2V5ID09PSAnZnVuY3Rpb24nID8gb3B0aW9ucy5maWx0ZXJLZXkgOiBub29wOworICAvLyBUT0RP
OiBsaWtlbHkgbmVlZCB0byB1bml0ZSBwaW5jaFNwZWVkIHdpdGggem9vbVNwZWVkCisgIHZhciBw
aW5jaFNwZWVkID0gdHlwZW9mIG9wdGlvbnMucGluY2hTcGVlZCA9PT0gJ251bWJlcicgPyBvcHRp
b25zLnBpbmNoU3BlZWQgOiAxOworICB2YXIgYm91bmRzID0gb3B0aW9ucy5ib3VuZHM7CisgIHZh
ciBtYXhab29tID0gdHlwZW9mIG9wdGlvbnMubWF4Wm9vbSA9PT0gJ251bWJlcicgPyBvcHRpb25z
Lm1heFpvb20gOiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CisgIHZhciBtaW5ab29tID0gdHlw
ZW9mIG9wdGlvbnMubWluWm9vbSA9PT0gJ251bWJlcicgPyBvcHRpb25zLm1pblpvb20gOiAwOwor
CisgIHZhciBib3VuZHNQYWRkaW5nID0gdHlwZW9mIG9wdGlvbnMuYm91bmRzUGFkZGluZyA9PT0g
J251bWJlcicgPyBvcHRpb25zLmJvdW5kc1BhZGRpbmcgOiAwLjA1OworICB2YXIgem9vbURvdWJs
ZUNsaWNrU3BlZWQgPSB0eXBlb2Ygb3B0aW9ucy56b29tRG91YmxlQ2xpY2tTcGVlZCA9PT0gJ251
bWJlcicgPyBvcHRpb25zLnpvb21Eb3VibGVDbGlja1NwZWVkIDogZGVmYXVsdERvdWJsZVRhcFpv
b21TcGVlZDsKKyAgdmFyIGJlZm9yZVdoZWVsID0gb3B0aW9ucy5iZWZvcmVXaGVlbCB8fCBub29w
OworICB2YXIgYmVmb3JlTW91c2VEb3duID0gb3B0aW9ucy5iZWZvcmVNb3VzZURvd24gfHwgbm9v
cDsKKyAgdmFyIHNwZWVkID0gdHlwZW9mIG9wdGlvbnMuem9vbVNwZWVkID09PSAnbnVtYmVyJyA/
IG9wdGlvbnMuem9vbVNwZWVkIDogZGVmYXVsdFpvb21TcGVlZDsKKyAgdmFyIHRyYW5zZm9ybU9y
aWdpbiA9IHBhcnNlVHJhbnNmb3JtT3JpZ2luKG9wdGlvbnMudHJhbnNmb3JtT3JpZ2luKTsKKyAg
dmFyIHRleHRTZWxlY3Rpb24gPSBvcHRpb25zLmVuYWJsZVRleHRTZWxlY3Rpb24gPyBmYWtlVGV4
dFNlbGVjdG9ySW50ZXJjZXB0b3IgOiBkb21UZXh0U2VsZWN0aW9uSW50ZXJjZXB0b3I7CisKKyAg
dmFsaWRhdGVCb3VuZHMoYm91bmRzKTsKKworICBpZiAob3B0aW9ucy5hdXRvY2VudGVyKSB7Cisg
ICAgYXV0b2NlbnRlcigpOworICB9CisKKyAgdmFyIGZyYW1lQW5pbWF0aW9uOworICB2YXIgbGFz
dFRvdWNoRW5kVGltZSA9IDA7CisgIHZhciBsYXN0U2luZ2xlRmluZ2VyT2Zmc2V0OworICB2YXIg
dG91Y2hJblByb2dyZXNzID0gZmFsc2U7CisKKyAgLy8gV2Ugb25seSBuZWVkIHRvIGZpcmUgcGFu
c3RhcnQgd2hlbiBhY3R1YWwgbW92ZSBoYXBwZW5zCisgIHZhciBwYW5zdGFydEZpcmVkID0gZmFs
c2U7CisKKyAgLy8gY2FjaGUgbW91c2UgY29vcmRpbmF0ZXMgaGVyZQorICB2YXIgbW91c2VYOwor
ICB2YXIgbW91c2VZOworCisgIHZhciBwaW5jaFpvb21MZW5ndGg7CisKKyAgdmFyIHNtb290aFNj
cm9sbDsKKyAgaWYgKCdzbW9vdGhTY3JvbGwnIGluIG9wdGlvbnMgJiYgIW9wdGlvbnMuc21vb3Ro
U2Nyb2xsKSB7CisgICAgLy8gSWYgdXNlciBleHBsaWNpdGx5IGFza2VkIHVzIG5vdCB0byB1c2Ug
c21vb3RoIHNjcm9sbGluZywgd2Ugb2JleQorICAgIHNtb290aFNjcm9sbCA9IHJpZ2lkU2Nyb2xs
KCk7CisgIH0gZWxzZSB7CisgICAgLy8gb3RoZXJ3aXNlIHdlIHVzZSBmb3J3YXJkIHNtb290aFNj
cm9sbCBzZXR0aW5ncyB0byBraW5ldGljIEFQSQorICAgIC8vIHdoaWNoIG1ha2VzIHNjcm9sbCBz
bW9vdGhpbmcuCisgICAgc21vb3RoU2Nyb2xsID0ga2luZXRpYyhnZXRQb2ludCwgc2Nyb2xsLCBv
cHRpb25zLnNtb290aFNjcm9sbCk7CisgIH0KKworICB2YXIgbW92ZUJ5QW5pbWF0aW9uOworICB2
YXIgem9vbVRvQW5pbWF0aW9uOworCisgIHZhciBtdWx0aVRvdWNoOworICB2YXIgcGF1c2VkID0g
ZmFsc2U7CisKKyAgbGlzdGVuRm9yRXZlbnRzKCk7CisKKyAgdmFyIGFwaSA9IHsKKyAgICBkaXNw
b3NlOiBkaXNwb3NlLAorICAgIG1vdmVCeTogaW50ZXJuYWxNb3ZlQnksCisgICAgbW92ZVRvOiBt
b3ZlVG8sCisgICAgY2VudGVyT246IGNlbnRlck9uLAorICAgIHpvb21UbzogcHVibGljWm9vbVRv
LAorICAgIHpvb21BYnM6IHpvb21BYnMsCisgICAgc21vb3RoWm9vbTogc21vb3RoWm9vbSwKKyAg
ICBzbW9vdGhab29tQWJzOiBzbW9vdGhab29tQWJzLAorICAgIHNob3dSZWN0YW5nbGU6IHNob3dS
ZWN0YW5nbGUsCisKKyAgICBwYXVzZTogcGF1c2UsCisgICAgcmVzdW1lOiByZXN1bWUsCisgICAg
aXNQYXVzZWQ6IGlzUGF1c2VkLAorCisgICAgZ2V0VHJhbnNmb3JtOiBnZXRUcmFuc2Zvcm1Nb2Rl
bCwKKworICAgIGdldE1pblpvb206IGdldE1pblpvb20sCisgICAgc2V0TWluWm9vbTogc2V0TWlu
Wm9vbSwKKworICAgIGdldE1heFpvb206IGdldE1heFpvb20sCisgICAgc2V0TWF4Wm9vbTogc2V0
TWF4Wm9vbSwKKworICAgIGdldFRyYW5zZm9ybU9yaWdpbjogZ2V0VHJhbnNmb3JtT3JpZ2luLAor
ICAgIHNldFRyYW5zZm9ybU9yaWdpbjogc2V0VHJhbnNmb3JtT3JpZ2luLAorCisgICAgZ2V0Wm9v
bVNwZWVkOiBnZXRab29tU3BlZWQsCisgICAgc2V0Wm9vbVNwZWVkOiBzZXRab29tU3BlZWQKKyAg
fTsKKworICBldmVudGlmeShhcGkpOworCisgIHJldHVybiBhcGk7CisKKyAgZnVuY3Rpb24gcGF1
c2UoKSB7CisgICAgcmVsZWFzZUV2ZW50cygpOworICAgIHBhdXNlZCA9IHRydWU7CisgIH0KKwor
ICBmdW5jdGlvbiByZXN1bWUoKSB7CisgICAgaWYgKHBhdXNlZCkgeworICAgICAgbGlzdGVuRm9y
RXZlbnRzKCk7CisgICAgICBwYXVzZWQgPSBmYWxzZTsKKyAgICB9CisgIH0KKworICBmdW5jdGlv
biBpc1BhdXNlZCgpIHsKKyAgICByZXR1cm4gcGF1c2VkOworICB9CisKKyAgZnVuY3Rpb24gc2hv
d1JlY3RhbmdsZShyZWN0KSB7CisgICAgLy8gVE9ETzogdGhpcyBkdXBsaWNhdGVzIGF1dG9jZW50
ZXIuIEkgdGhpbmsgYXV0b2NlbnRlciBzaG91bGQgZ28uCisgICAgdmFyIGNsaWVudFJlY3QgPSBv
d25lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICB2YXIgc2l6ZSA9IHRyYW5zZm9ybVRv
U2NyZWVuKGNsaWVudFJlY3Qud2lkdGgsIGNsaWVudFJlY3QuaGVpZ2h0KTsKKworICAgIHZhciBy
ZWN0V2lkdGggPSByZWN0LnJpZ2h0IC0gcmVjdC5sZWZ0OworICAgIHZhciByZWN0SGVpZ2h0ID0g
cmVjdC5ib3R0b20gLSByZWN0LnRvcDsKKyAgICBpZiAoIU51bWJlci5pc0Zpbml0ZShyZWN0V2lk
dGgpIHx8ICFOdW1iZXIuaXNGaW5pdGUocmVjdEhlaWdodCkpIHsKKyAgICAgIHRocm93IG5ldyBF
cnJvcignSW52YWxpZCByZWN0YW5nbGUnKTsKKyAgICB9CisKKyAgICB2YXIgZHcgPSBzaXplLngg
LyByZWN0V2lkdGg7CisgICAgdmFyIGRoID0gc2l6ZS55IC8gcmVjdEhlaWdodDsKKyAgICB2YXIg
c2NhbGUgPSBNYXRoLm1pbihkdywgZGgpOworICAgIHRyYW5zZm9ybS54ID0gLShyZWN0LmxlZnQg
KyByZWN0V2lkdGggLyAyKSAqIHNjYWxlICsgc2l6ZS54IC8gMjsKKyAgICB0cmFuc2Zvcm0ueSA9
IC0ocmVjdC50b3AgKyByZWN0SGVpZ2h0IC8gMikgKiBzY2FsZSArIHNpemUueSAvIDI7CisgICAg
dHJhbnNmb3JtLnNjYWxlID0gc2NhbGU7CisgIH0KKworICBmdW5jdGlvbiB0cmFuc2Zvcm1Ub1Nj
cmVlbih4LCB5KSB7CisgICAgaWYgKHBhbkNvbnRyb2xsZXIuZ2V0U2NyZWVuQ1RNKSB7CisgICAg
ICB2YXIgcGFyZW50Q1RNID0gcGFuQ29udHJvbGxlci5nZXRTY3JlZW5DVE0oKTsKKyAgICAgIHZh
ciBwYXJlbnRTY2FsZVggPSBwYXJlbnRDVE0uYTsKKyAgICAgIHZhciBwYXJlbnRTY2FsZVkgPSBw
YXJlbnRDVE0uZDsKKyAgICAgIHZhciBwYXJlbnRPZmZzZXRYID0gcGFyZW50Q1RNLmU7CisgICAg
ICB2YXIgcGFyZW50T2Zmc2V0WSA9IHBhcmVudENUTS5mOworICAgICAgc3RvcmVkQ1RNUmVzdWx0
LnggPSB4ICogcGFyZW50U2NhbGVYIC0gcGFyZW50T2Zmc2V0WDsKKyAgICAgIHN0b3JlZENUTVJl
c3VsdC55ID0geSAqIHBhcmVudFNjYWxlWSAtIHBhcmVudE9mZnNldFk7CisgICAgfSBlbHNlIHsK
KyAgICAgIHN0b3JlZENUTVJlc3VsdC54ID0geDsKKyAgICAgIHN0b3JlZENUTVJlc3VsdC55ID0g
eTsKKyAgICB9CisKKyAgICByZXR1cm4gc3RvcmVkQ1RNUmVzdWx0OworICB9CisKKyAgZnVuY3Rp
b24gYXV0b2NlbnRlcigpIHsKKyAgICB2YXIgdzsgLy8gd2lkdGggb2YgdGhlIHBhcmVudAorICAg
IHZhciBoOyAvLyBoZWlnaHQgb2YgdGhlIHBhcmVudAorICAgIHZhciBsZWZ0ID0gMDsKKyAgICB2
YXIgdG9wID0gMDsKKyAgICB2YXIgc2NlbmVCb3VuZGluZ0JveCA9IGdldEJvdW5kaW5nQm94KCk7
CisgICAgaWYgKHNjZW5lQm91bmRpbmdCb3gpIHsKKyAgICAgIC8vIElmIHdlIGhhdmUgYm91bmRp
bmcgYm94IC0gdXNlIGl0LgorICAgICAgbGVmdCA9IHNjZW5lQm91bmRpbmdCb3gubGVmdDsKKyAg
ICAgIHRvcCA9IHNjZW5lQm91bmRpbmdCb3gudG9wOworICAgICAgdyA9IHNjZW5lQm91bmRpbmdC
b3gucmlnaHQgLSBzY2VuZUJvdW5kaW5nQm94LmxlZnQ7CisgICAgICBoID0gc2NlbmVCb3VuZGlu
Z0JveC5ib3R0b20gLSBzY2VuZUJvdW5kaW5nQm94LnRvcDsKKyAgICB9IGVsc2UgeworICAgICAg
Ly8gb3RoZXJ3aXNlIGp1c3QgdXNlIHdoYXRldmVyIHNwYWNlIHdlIGhhdmUKKyAgICAgIHZhciBv
d25lclJlY3QgPSBvd25lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgIHcgPSBvd25l
clJlY3Qud2lkdGg7CisgICAgICBoID0gb3duZXJSZWN0LmhlaWdodDsKKyAgICB9CisgICAgdmFy
IGJib3ggPSBwYW5Db250cm9sbGVyLmdldEJCb3goKTsKKyAgICBpZiAoYmJveC53aWR0aCA9PT0g
MCB8fCBiYm94LmhlaWdodCA9PT0gMCkgeworICAgICAgLy8gd2UgcHJvYmFibHkgZG8gbm90IGhh
dmUgYW55IGVsZW1lbnRzIGluIHRoZSBTVkcKKyAgICAgIC8vIGp1c3QgYmFpbCBvdXQ7CisgICAg
ICByZXR1cm47CisgICAgfQorICAgIHZhciBkaCA9IGggLyBiYm94LmhlaWdodDsKKyAgICB2YXIg
ZHcgPSB3IC8gYmJveC53aWR0aDsKKyAgICB2YXIgc2NhbGUgPSBNYXRoLm1pbihkdywgZGgpOwor
ICAgIHRyYW5zZm9ybS54ID0gLShiYm94LmxlZnQgKyBiYm94LndpZHRoIC8gMikgKiBzY2FsZSAr
IHcgLyAyICsgbGVmdDsKKyAgICB0cmFuc2Zvcm0ueSA9IC0oYmJveC50b3AgKyBiYm94LmhlaWdo
dCAvIDIpICogc2NhbGUgKyBoIC8gMiArIHRvcDsKKyAgICB0cmFuc2Zvcm0uc2NhbGUgPSBzY2Fs
ZTsKKyAgfQorCisgIGZ1bmN0aW9uIGdldFRyYW5zZm9ybU1vZGVsKCkgeworICAgIC8vIFRPRE86
IHNob3VsZCB0aGlzIGJlIHJlYWQgb25seT8KKyAgICByZXR1cm4gdHJhbnNmb3JtOworICB9CisK
KyAgZnVuY3Rpb24gZ2V0TWluWm9vbSgpIHsKKyAgICByZXR1cm4gbWluWm9vbTsKKyAgfQorCisg
IGZ1bmN0aW9uIHNldE1pblpvb20obmV3TWluWm9vbSkgeworICAgIG1pblpvb20gPSBuZXdNaW5a
b29tOworICB9CisKKyAgZnVuY3Rpb24gZ2V0TWF4Wm9vbSgpIHsKKyAgICByZXR1cm4gbWF4Wm9v
bTsKKyAgfQorCisgIGZ1bmN0aW9uIHNldE1heFpvb20obmV3TWF4Wm9vbSkgeworICAgIG1heFpv
b20gPSBuZXdNYXhab29tOworICB9CisKKyAgZnVuY3Rpb24gZ2V0VHJhbnNmb3JtT3JpZ2luKCkg
eworICAgIHJldHVybiB0cmFuc2Zvcm1PcmlnaW47CisgIH0KKworICBmdW5jdGlvbiBzZXRUcmFu
c2Zvcm1PcmlnaW4obmV3VHJhbnNmb3JtT3JpZ2luKSB7CisgICAgdHJhbnNmb3JtT3JpZ2luID0g
cGFyc2VUcmFuc2Zvcm1PcmlnaW4obmV3VHJhbnNmb3JtT3JpZ2luKTsKKyAgfQorCisgIGZ1bmN0
aW9uIGdldFpvb21TcGVlZCgpIHsKKyAgICByZXR1cm4gc3BlZWQ7CisgIH0KKworICBmdW5jdGlv
biBzZXRab29tU3BlZWQobmV3U3BlZWQpIHsKKyAgICBpZiAoIU51bWJlci5pc0Zpbml0ZShuZXdT
cGVlZCkpIHsKKyAgICAgIHRocm93IG5ldyBFcnJvcignWm9vbSBzcGVlZCBzaG91bGQgYmUgYSBu
dW1iZXInKTsKKyAgICB9CisgICAgc3BlZWQgPSBuZXdTcGVlZDsKKyAgfQorCisgIGZ1bmN0aW9u
IGdldFBvaW50KCkgeworICAgIHJldHVybiB7CisgICAgICB4OiB0cmFuc2Zvcm0ueCwKKyAgICAg
IHk6IHRyYW5zZm9ybS55CisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIG1vdmVUbyh4LCB5KSB7
CisgICAgdHJhbnNmb3JtLnggPSB4OworICAgIHRyYW5zZm9ybS55ID0geTsKKworICAgIGtlZXBU
cmFuc2Zvcm1JbnNpZGVCb3VuZHMoKTsKKworICAgIHRyaWdnZXJFdmVudCgncGFuJyk7CisgICAg
bWFrZURpcnR5KCk7CisgIH0KKworICBmdW5jdGlvbiBtb3ZlQnkoZHgsIGR5KSB7CisgICAgbW92
ZVRvKHRyYW5zZm9ybS54ICsgZHgsIHRyYW5zZm9ybS55ICsgZHkpOworICB9CisKKyAgZnVuY3Rp
b24ga2VlcFRyYW5zZm9ybUluc2lkZUJvdW5kcygpIHsKKyAgICB2YXIgYm91bmRpbmdCb3ggPSBn
ZXRCb3VuZGluZ0JveCgpOworICAgIGlmICghYm91bmRpbmdCb3gpIHJldHVybjsKKworICAgIHZh
ciBhZGp1c3RlZCA9IGZhbHNlOworICAgIHZhciBjbGllbnRSZWN0ID0gZ2V0Q2xpZW50UmVjdCgp
OworCisgICAgdmFyIGRpZmYgPSBib3VuZGluZ0JveC5sZWZ0IC0gY2xpZW50UmVjdC5yaWdodDsK
KyAgICBpZiAoZGlmZiA+IDApIHsKKyAgICAgIHRyYW5zZm9ybS54ICs9IGRpZmY7CisgICAgICBh
ZGp1c3RlZCA9IHRydWU7CisgICAgfQorICAgIC8vIGNoZWNrIHRoZSBvdGhlciBzaWRlOgorICAg
IGRpZmYgPSBib3VuZGluZ0JveC5yaWdodCAtIGNsaWVudFJlY3QubGVmdDsKKyAgICBpZiAoZGlm
ZiA8IDApIHsKKyAgICAgIHRyYW5zZm9ybS54ICs9IGRpZmY7CisgICAgICBhZGp1c3RlZCA9IHRy
dWU7CisgICAgfQorCisgICAgLy8geSBheGlzOgorICAgIGRpZmYgPSBib3VuZGluZ0JveC50b3Ag
LSBjbGllbnRSZWN0LmJvdHRvbTsKKyAgICBpZiAoZGlmZiA+IDApIHsKKyAgICAgIC8vIHdlIGFk
anVzdCB0cmFuc2Zvcm0sIHNvIHRoYXQgaXQgbWF0Y2hlcyBleGFjdGx5IG91ciBib3VuZGluZyBi
b3g6CisgICAgICAvLyB0cmFuc2Zvcm0ueSA9IGJvdW5kaW5nQm94LnRvcCAtIChib3VuZGluZ0Jv
eC5oZWlnaHQgKyBib3VuZGluZ0JveC55KSAqIHRyYW5zZm9ybS5zY2FsZSA9PgorICAgICAgLy8g
dHJhbnNmb3JtLnkgPSBib3VuZGluZ0JveC50b3AgLSAoY2xpZW50UmVjdC5ib3R0b20gLSB0cmFu
c2Zvcm0ueSkgPT4KKyAgICAgIC8vIHRyYW5zZm9ybS55ID0gZGlmZiArIHRyYW5zZm9ybS55ID0+
CisgICAgICB0cmFuc2Zvcm0ueSArPSBkaWZmOworICAgICAgYWRqdXN0ZWQgPSB0cnVlOworICAg
IH0KKworICAgIGRpZmYgPSBib3VuZGluZ0JveC5ib3R0b20gLSBjbGllbnRSZWN0LnRvcDsKKyAg
ICBpZiAoZGlmZiA8IDApIHsKKyAgICAgIHRyYW5zZm9ybS55ICs9IGRpZmY7CisgICAgICBhZGp1
c3RlZCA9IHRydWU7CisgICAgfQorICAgIHJldHVybiBhZGp1c3RlZDsKKyAgfQorCisgIC8qKgor
ICAgKiBSZXR1cm5zIGJvdW5kaW5nIGJveCB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIHJlc3RyaWN0
IHNjZW5lIG1vdmVtZW50LgorICAgKi8KKyAgZnVuY3Rpb24gZ2V0Qm91bmRpbmdCb3goKSB7Cisg
ICAgaWYgKCFib3VuZHMpIHJldHVybjsgLy8gY2xpZW50IGRvZXMgbm90IHdhbnQgdG8gcmVzdHJp
Y3QgbW92ZW1lbnQKKworICAgIGlmICh0eXBlb2YgYm91bmRzID09PSAnYm9vbGVhbicpIHsKKyAg
ICAgIC8vIGZvciBib29sZWFuIHR5cGUgd2UgdXNlIHBhcmVudCBjb250YWluZXIgYm91bmRzCisg
ICAgICB2YXIgb3duZXJSZWN0ID0gb3duZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAg
ICB2YXIgc2NlbmVXaWR0aCA9IG93bmVyUmVjdC53aWR0aDsKKyAgICAgIHZhciBzY2VuZUhlaWdo
dCA9IG93bmVyUmVjdC5oZWlnaHQ7CisKKyAgICAgIHJldHVybiB7CisgICAgICAgIGxlZnQ6IHNj
ZW5lV2lkdGggKiBib3VuZHNQYWRkaW5nLAorICAgICAgICB0b3A6IHNjZW5lSGVpZ2h0ICogYm91
bmRzUGFkZGluZywKKyAgICAgICAgcmlnaHQ6IHNjZW5lV2lkdGggKiAoMSAtIGJvdW5kc1BhZGRp
bmcpLAorICAgICAgICBib3R0b206IHNjZW5lSGVpZ2h0ICogKDEgLSBib3VuZHNQYWRkaW5nKQor
ICAgICAgfTsKKyAgICB9CisKKyAgICByZXR1cm4gYm91bmRzOworICB9CisKKyAgZnVuY3Rpb24g
Z2V0Q2xpZW50UmVjdCgpIHsKKyAgICB2YXIgYmJveCA9IHBhbkNvbnRyb2xsZXIuZ2V0QkJveCgp
OworICAgIHZhciBsZWZ0VG9wID0gY2xpZW50KGJib3gubGVmdCwgYmJveC50b3ApOworCisgICAg
cmV0dXJuIHsKKyAgICAgIGxlZnQ6IGxlZnRUb3AueCwKKyAgICAgIHRvcDogbGVmdFRvcC55LAor
ICAgICAgcmlnaHQ6IGJib3gud2lkdGggKiB0cmFuc2Zvcm0uc2NhbGUgKyBsZWZ0VG9wLngsCisg
ICAgICBib3R0b206IGJib3guaGVpZ2h0ICogdHJhbnNmb3JtLnNjYWxlICsgbGVmdFRvcC55Cisg
ICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIGNsaWVudCh4LCB5KSB7CisgICAgcmV0dXJuIHsKKyAg
ICAgIHg6IHggKiB0cmFuc2Zvcm0uc2NhbGUgKyB0cmFuc2Zvcm0ueCwKKyAgICAgIHk6IHkgKiB0
cmFuc2Zvcm0uc2NhbGUgKyB0cmFuc2Zvcm0ueQorICAgIH07CisgIH0KKworICBmdW5jdGlvbiBt
YWtlRGlydHkoKSB7CisgICAgaXNEaXJ0eSA9IHRydWU7CisgICAgZnJhbWVBbmltYXRpb24gPSB3
aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZyYW1lKTsKKyAgfQorCisgIGZ1bmN0aW9uIHpv
b21CeVJhdGlvKGNsaWVudFgsIGNsaWVudFksIHJhdGlvKSB7CisgICAgaWYgKGlzTmFOKGNsaWVu
dFgpIHx8IGlzTmFOKGNsaWVudFkpIHx8IGlzTmFOKHJhdGlvKSkgeworICAgICAgdGhyb3cgbmV3
IEVycm9yKCd6b29tIHJlcXVpcmVzIHZhbGlkIG51bWJlcnMnKTsKKyAgICB9CisKKyAgICB2YXIg
bmV3U2NhbGUgPSB0cmFuc2Zvcm0uc2NhbGUgKiByYXRpbzsKKworICAgIGlmIChuZXdTY2FsZSA8
IG1pblpvb20pIHsKKyAgICAgIGlmICh0cmFuc2Zvcm0uc2NhbGUgPT09IG1pblpvb20pIHJldHVy
bjsKKworICAgICAgcmF0aW8gPSBtaW5ab29tIC8gdHJhbnNmb3JtLnNjYWxlOworICAgIH0KKyAg
ICBpZiAobmV3U2NhbGUgPiBtYXhab29tKSB7CisgICAgICBpZiAodHJhbnNmb3JtLnNjYWxlID09
PSBtYXhab29tKSByZXR1cm47CisKKyAgICAgIHJhdGlvID0gbWF4Wm9vbSAvIHRyYW5zZm9ybS5z
Y2FsZTsKKyAgICB9CisKKyAgICB2YXIgc2l6ZSA9IHRyYW5zZm9ybVRvU2NyZWVuKGNsaWVudFgs
IGNsaWVudFkpOworCisgICAgdHJhbnNmb3JtLnggPSBzaXplLnggLSByYXRpbyAqIChzaXplLngg
LSB0cmFuc2Zvcm0ueCk7CisgICAgdHJhbnNmb3JtLnkgPSBzaXplLnkgLSByYXRpbyAqIChzaXpl
LnkgLSB0cmFuc2Zvcm0ueSk7CisKKyAgICAvLyBUT0RPOiBodHRwczovL2dpdGh1Yi5jb20vYW52
YWthL3Bhbnpvb20vaXNzdWVzLzExMgorICAgIGlmIChib3VuZHMgJiYgYm91bmRzUGFkZGluZyA9
PT0gMSAmJiBtaW5ab29tID09PSAxKSB7CisgICAgICB0cmFuc2Zvcm0uc2NhbGUgKj0gcmF0aW87
CisgICAgICBrZWVwVHJhbnNmb3JtSW5zaWRlQm91bmRzKCk7CisgICAgfSBlbHNlIHsKKyAgICAg
IHZhciB0cmFuc2Zvcm1BZGp1c3RlZCA9IGtlZXBUcmFuc2Zvcm1JbnNpZGVCb3VuZHMoKTsKKyAg
ICAgIGlmICghdHJhbnNmb3JtQWRqdXN0ZWQpIHRyYW5zZm9ybS5zY2FsZSAqPSByYXRpbzsKKyAg
ICB9CisKKyAgICB0cmlnZ2VyRXZlbnQoJ3pvb20nKTsKKworICAgIG1ha2VEaXJ0eSgpOworICB9
CisKKyAgZnVuY3Rpb24gem9vbUFicyhjbGllbnRYLCBjbGllbnRZLCB6b29tTGV2ZWwpIHsKKyAg
ICB2YXIgcmF0aW8gPSB6b29tTGV2ZWwgLyB0cmFuc2Zvcm0uc2NhbGU7CisgICAgem9vbUJ5UmF0
aW8oY2xpZW50WCwgY2xpZW50WSwgcmF0aW8pOworICB9CisKKyAgZnVuY3Rpb24gY2VudGVyT24o
dWkpIHsKKyAgICB2YXIgcGFyZW50ID0gdWkub3duZXJTVkdFbGVtZW50OworICAgIGlmICghcGFy
ZW50KQorICAgICAgdGhyb3cgbmV3IEVycm9yKCd1aSBlbGVtZW50IGlzIHJlcXVpcmVkIHRvIGJl
IHdpdGhpbiB0aGUgc2NlbmUnKTsKKworICAgIC8vIFRPRE86IHNob3VsZCBpIHVzZSBjb250cm9s
bGVyJ3Mgc2NyZWVuIENUTT8KKyAgICB2YXIgY2xpZW50UmVjdCA9IHVpLmdldEJvdW5kaW5nQ2xp
ZW50UmVjdCgpOworICAgIHZhciBjeCA9IGNsaWVudFJlY3QubGVmdCArIGNsaWVudFJlY3Qud2lk
dGggLyAyOworICAgIHZhciBjeSA9IGNsaWVudFJlY3QudG9wICsgY2xpZW50UmVjdC5oZWlnaHQg
LyAyOworCisgICAgdmFyIGNvbnRhaW5lciA9IHBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KTsKKyAgICB2YXIgZHggPSBjb250YWluZXIud2lkdGggLyAyIC0gY3g7CisgICAgdmFyIGR5ID0g
Y29udGFpbmVyLmhlaWdodCAvIDIgLSBjeTsKKworICAgIGludGVybmFsTW92ZUJ5KGR4LCBkeSwg
dHJ1ZSk7CisgIH0KKworICBmdW5jdGlvbiBpbnRlcm5hbE1vdmVCeShkeCwgZHksIHNtb290aCkg
eworICAgIGlmICghc21vb3RoKSB7CisgICAgICByZXR1cm4gbW92ZUJ5KGR4LCBkeSk7CisgICAg
fQorCisgICAgaWYgKG1vdmVCeUFuaW1hdGlvbikgbW92ZUJ5QW5pbWF0aW9uLmNhbmNlbCgpOwor
CisgICAgdmFyIGZyb20gPSB7IHg6IDAsIHk6IDAgfTsKKyAgICB2YXIgdG8gPSB7IHg6IGR4LCB5
OiBkeSB9OworICAgIHZhciBsYXN0WCA9IDA7CisgICAgdmFyIGxhc3RZID0gMDsKKworICAgIG1v
dmVCeUFuaW1hdGlvbiA9IGFuaW1hdGUoZnJvbSwgdG8sIHsKKyAgICAgIHN0ZXA6IGZ1bmN0aW9u
ICh2KSB7CisgICAgICAgIG1vdmVCeSh2LnggLSBsYXN0WCwgdi55IC0gbGFzdFkpOworCisgICAg
ICAgIGxhc3RYID0gdi54OworICAgICAgICBsYXN0WSA9IHYueTsKKyAgICAgIH0KKyAgICB9KTsK
KyAgfQorCisgIGZ1bmN0aW9uIHNjcm9sbCh4LCB5KSB7CisgICAgY2FuY2VsWm9vbUFuaW1hdGlv
bigpOworICAgIG1vdmVUbyh4LCB5KTsKKyAgfQorCisgIGZ1bmN0aW9uIGRpc3Bvc2UoKSB7Cisg
ICAgcmVsZWFzZUV2ZW50cygpOworICB9CisKKyAgZnVuY3Rpb24gbGlzdGVuRm9yRXZlbnRzKCkg
eworICAgIG93bmVyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIG9uTW91c2VEb3duLCB7
IHBhc3NpdmU6IGZhbHNlIH0pOworICAgIG93bmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2RibGNsaWNr
Jywgb25Eb3VibGVDbGljaywgeyBwYXNzaXZlOiBmYWxzZSB9KTsKKyAgICBvd25lci5hZGRFdmVu
dExpc3RlbmVyKCd0b3VjaHN0YXJ0Jywgb25Ub3VjaCwgeyBwYXNzaXZlOiBmYWxzZSB9KTsKKyAg
ICBvd25lci5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25LZXlEb3duLCB7IHBhc3NpdmU6
IGZhbHNlIH0pOworCisgICAgLy8gTmVlZCB0byBsaXN0ZW4gb24gdGhlIG93bmVyIGNvbnRhaW5l
ciwgc28gdGhhdCB3ZSBhcmUgbm90IGxpbWl0ZWQKKyAgICAvLyBieSB0aGUgc2l6ZSBvZiB0aGUg
c2Nyb2xsYWJsZSBkb21FbGVtZW50CisgICAgd2hlZWwuYWRkV2hlZWxMaXN0ZW5lcihvd25lciwg
b25Nb3VzZVdoZWVsLCB7IHBhc3NpdmU6IGZhbHNlIH0pOworCisgICAgbWFrZURpcnR5KCk7Cisg
IH0KKworICBmdW5jdGlvbiByZWxlYXNlRXZlbnRzKCkgeworICAgIHdoZWVsLnJlbW92ZVdoZWVs
TGlzdGVuZXIob3duZXIsIG9uTW91c2VXaGVlbCk7CisgICAgb3duZXIucmVtb3ZlRXZlbnRMaXN0
ZW5lcignbW91c2Vkb3duJywgb25Nb3VzZURvd24pOworICAgIG93bmVyLnJlbW92ZUV2ZW50TGlz
dGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pOworICAgIG93bmVyLnJlbW92ZUV2ZW50TGlzdGVu
ZXIoJ2RibGNsaWNrJywgb25Eb3VibGVDbGljayk7CisgICAgb3duZXIucmVtb3ZlRXZlbnRMaXN0
ZW5lcigndG91Y2hzdGFydCcsIG9uVG91Y2gpOworCisgICAgaWYgKGZyYW1lQW5pbWF0aW9uKSB7
CisgICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUoZnJhbWVBbmltYXRpb24pOworICAg
ICAgZnJhbWVBbmltYXRpb24gPSAwOworICAgIH0KKworICAgIHNtb290aFNjcm9sbC5jYW5jZWwo
KTsKKworICAgIHJlbGVhc2VEb2N1bWVudE1vdXNlKCk7CisgICAgcmVsZWFzZVRvdWNoZXMoKTsK
KyAgICB0ZXh0U2VsZWN0aW9uLnJlbGVhc2UoKTsKKworICAgIHRyaWdnZXJQYW5FbmQoKTsKKyAg
fQorCisgIGZ1bmN0aW9uIGZyYW1lKCkgeworICAgIGlmIChpc0RpcnR5KSBhcHBseVRyYW5zZm9y
bSgpOworICB9CisKKyAgZnVuY3Rpb24gYXBwbHlUcmFuc2Zvcm0oKSB7CisgICAgaXNEaXJ0eSA9
IGZhbHNlOworCisgICAgLy8gVE9ETzogU2hvdWxkIEkgYWxsb3cgdG8gY2FuY2VsIHRoaXM/Cisg
ICAgcGFuQ29udHJvbGxlci5hcHBseVRyYW5zZm9ybSh0cmFuc2Zvcm0pOworCisgICAgdHJpZ2dl
ckV2ZW50KCd0cmFuc2Zvcm0nKTsKKyAgICBmcmFtZUFuaW1hdGlvbiA9IDA7CisgIH0KKworICBm
dW5jdGlvbiBvbktleURvd24oZSkgeworICAgIHZhciB4ID0gMCwKKyAgICAgIHkgPSAwLAorICAg
ICAgeiA9IDA7CisgICAgaWYgKGUua2V5Q29kZSA9PT0gMzgpIHsKKyAgICAgIHkgPSAxOyAvLyB1
cAorICAgIH0gZWxzZSBpZiAoZS5rZXlDb2RlID09PSA0MCkgeworICAgICAgeSA9IC0xOyAvLyBk
b3duCisgICAgfSBlbHNlIGlmIChlLmtleUNvZGUgPT09IDM3KSB7CisgICAgICB4ID0gMTsgLy8g
bGVmdAorICAgIH0gZWxzZSBpZiAoZS5rZXlDb2RlID09PSAzOSkgeworICAgICAgeCA9IC0xOyAv
LyByaWdodAorICAgIH0gZWxzZSBpZiAoZS5rZXlDb2RlID09PSAxODkgfHwgZS5rZXlDb2RlID09
PSAxMDkpIHsKKyAgICAgIC8vIERBU0ggb3IgU1VCVFJBQ1QKKyAgICAgIHogPSAxOyAvLyBgLWAg
LSAgem9vbSBvdXQKKyAgICB9IGVsc2UgaWYgKGUua2V5Q29kZSA9PT0gMTg3IHx8IGUua2V5Q29k
ZSA9PT0gMTA3KSB7CisgICAgICAvLyBFUVVBTCBTSUdOIG9yIEFERAorICAgICAgeiA9IC0xOyAv
LyBgPWAgLSB6b29tIGluIChlcXVhbCBzaWduIG9uIFVTIGxheW91dCBpcyB1bmRlciBgK2ApCisg
ICAgfQorCisgICAgaWYgKGZpbHRlcktleShlLCB4LCB5LCB6KSkgeworICAgICAgLy8gVGhleSBk
b24ndCB3YW50IHVzIHRvIGhhbmRsZSB0aGUga2V5OiBodHRwczovL2dpdGh1Yi5jb20vYW52YWth
L3Bhbnpvb20vaXNzdWVzLzQ1CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKHggfHwg
eSkgeworICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOworICAgICAgZS5zdG9wUHJvcGFnYXRpb24o
KTsKKworICAgICAgdmFyIGNsaWVudFJlY3QgPSBvd25lci5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KTsKKyAgICAgIC8vIG1vdmVtZW50IHNwZWVkIHNob3VsZCBiZSB0aGUgc2FtZSBpbiBib3RoIFgg
YW5kIFkgZGlyZWN0aW9uOgorICAgICAgdmFyIG9mZnNldCA9IE1hdGgubWluKGNsaWVudFJlY3Qu
d2lkdGgsIGNsaWVudFJlY3QuaGVpZ2h0KTsKKyAgICAgIHZhciBtb3ZlU3BlZWRSYXRpbyA9IDAu
MDU7CisgICAgICB2YXIgZHggPSBvZmZzZXQgKiBtb3ZlU3BlZWRSYXRpbyAqIHg7CisgICAgICB2
YXIgZHkgPSBvZmZzZXQgKiBtb3ZlU3BlZWRSYXRpbyAqIHk7CisKKyAgICAgIC8vIFRPRE86IGN1
cnJlbnRseSB3ZSBkbyBub3QgYW5pbWF0ZSB0aGlzLiBJdCBjb3VsZCBiZSBiZXR0ZXIgdG8gaGF2
ZSBhbmltYXRpb24KKyAgICAgIGludGVybmFsTW92ZUJ5KGR4LCBkeSk7CisgICAgfQorCisgICAg
aWYgKHopIHsKKyAgICAgIHZhciBzY2FsZU11bHRpcGxpZXIgPSBnZXRTY2FsZU11bHRpcGxpZXIo
eiAqIDEwMCk7CisgICAgICB2YXIgb2Zmc2V0ID0gdHJhbnNmb3JtT3JpZ2luID8gZ2V0VHJhbnNm
b3JtT3JpZ2luT2Zmc2V0KCkgOiBtaWRQb2ludCgpOworICAgICAgcHVibGljWm9vbVRvKG9mZnNl
dC54LCBvZmZzZXQueSwgc2NhbGVNdWx0aXBsaWVyKTsKKyAgICB9CisgIH0KKworICBmdW5jdGlv
biBtaWRQb2ludCgpIHsKKyAgICB2YXIgb3duZXJSZWN0ID0gb3duZXIuZ2V0Qm91bmRpbmdDbGll
bnRSZWN0KCk7CisgICAgcmV0dXJuIHsKKyAgICAgIHg6IG93bmVyUmVjdC53aWR0aCAvIDIsCisg
ICAgICB5OiBvd25lclJlY3QuaGVpZ2h0IC8gMgorICAgIH07CisgIH0KKworICBmdW5jdGlvbiBv
blRvdWNoKGUpIHsKKyAgICAvLyBsZXQgdGhlIG92ZXJyaWRlIHRoZSB0b3VjaCBiZWhhdmlvcgor
ICAgIGJlZm9yZVRvdWNoKGUpOworCisgICAgaWYgKGUudG91Y2hlcy5sZW5ndGggPT09IDEpIHsK
KyAgICAgIHJldHVybiBoYW5kbGVTaW5nbGVGaW5nZXJUb3VjaChlLCBlLnRvdWNoZXNbMF0pOwor
ICAgIH0gZWxzZSBpZiAoZS50b3VjaGVzLmxlbmd0aCA9PT0gMikgeworICAgICAgLy8gaGFuZGxl
VG91Y2hNb3ZlKCkgd2lsbCBjYXJlIGFib3V0IHBpbmNoIHpvb20uCisgICAgICBwaW5jaFpvb21M
ZW5ndGggPSBnZXRQaW5jaFpvb21MZW5ndGgoZS50b3VjaGVzWzBdLCBlLnRvdWNoZXNbMV0pOwor
ICAgICAgbXVsdGlUb3VjaCA9IHRydWU7CisgICAgICBzdGFydFRvdWNoTGlzdGVuZXJJZk5lZWRl
ZCgpOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGJlZm9yZVRvdWNoKGUpIHsKKyAgICAvLyBU
T0RPOiBOZWVkIHRvIHVuaWZ5IHRoaXMgZmlsdGVyaW5nIG5hbWVzLiBFLmcuIHVzZSBgYmVmb3Jl
VG91Y2hgCisgICAgaWYgKG9wdGlvbnMub25Ub3VjaCAmJiAhb3B0aW9ucy5vblRvdWNoKGUpKSB7
CisgICAgICAvLyBpZiB0aGV5IHJldHVybiBgZmFsc2VgIGZyb20gb25Ub3VjaCwgd2UgZG9uJ3Qg
d2FudCB0byBzdG9wCisgICAgICAvLyBldmVudHMgcHJvcGFnYXRpb24uIEZpeGVzIGh0dHBzOi8v
Z2l0aHViLmNvbS9hbnZha2EvcGFuem9vbS9pc3N1ZXMvMTIKKyAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBlLnN0b3BQcm9wYWdhdGlvbigpOworICAgIGUucHJldmVudERlZmF1bHQoKTsKKyAg
fQorCisgIGZ1bmN0aW9uIGJlZm9yZURvdWJsZUNsaWNrKGUpIHsKKyAgICAvLyBUT0RPOiBOZWVk
IHRvIHVuaWZ5IHRoaXMgZmlsdGVyaW5nIG5hbWVzLiBFLmcuIHVzZSBgYmVmb3JlRG91YmxlQ2xp
Y2tgYAorICAgIGlmIChvcHRpb25zLm9uRG91YmxlQ2xpY2sgJiYgIW9wdGlvbnMub25Eb3VibGVD
bGljayhlKSkgeworICAgICAgLy8gaWYgdGhleSByZXR1cm4gYGZhbHNlYCBmcm9tIG9uVG91Y2gs
IHdlIGRvbid0IHdhbnQgdG8gc3RvcAorICAgICAgLy8gZXZlbnRzIHByb3BhZ2F0aW9uLiBGaXhl
cyBodHRwczovL2dpdGh1Yi5jb20vYW52YWthL3Bhbnpvb20vaXNzdWVzLzQ2CisgICAgICByZXR1
cm47CisgICAgfQorCisgICAgZS5wcmV2ZW50RGVmYXVsdCgpOworICAgIGUuc3RvcFByb3BhZ2F0
aW9uKCk7CisgIH0KKworICBmdW5jdGlvbiBoYW5kbGVTaW5nbGVGaW5nZXJUb3VjaChlKSB7Cisg
ICAgdmFyIHRvdWNoID0gZS50b3VjaGVzWzBdOworICAgIHZhciBvZmZzZXQgPSBnZXRPZmZzZXRY
WSh0b3VjaCk7CisgICAgbGFzdFNpbmdsZUZpbmdlck9mZnNldCA9IG9mZnNldDsKKyAgICB2YXIg
cG9pbnQgPSB0cmFuc2Zvcm1Ub1NjcmVlbihvZmZzZXQueCwgb2Zmc2V0LnkpOworICAgIG1vdXNl
WCA9IHBvaW50Lng7CisgICAgbW91c2VZID0gcG9pbnQueTsKKworICAgIHNtb290aFNjcm9sbC5j
YW5jZWwoKTsKKyAgICBzdGFydFRvdWNoTGlzdGVuZXJJZk5lZWRlZCgpOworICB9CisKKyAgZnVu
Y3Rpb24gc3RhcnRUb3VjaExpc3RlbmVySWZOZWVkZWQoKSB7CisgICAgaWYgKHRvdWNoSW5Qcm9n
cmVzcykgeworICAgICAgLy8gbm8gbmVlZCB0byBkbyBhbnl0aGluZywgYXMgd2UgYWxyZWFkeSBs
aXN0ZW4gdG8gZXZlbnRzOworICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHRvdWNoSW5Qcm9n
cmVzcyA9IHRydWU7CisgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywg
aGFuZGxlVG91Y2hNb3ZlKTsKKyAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVu
ZCcsIGhhbmRsZVRvdWNoRW5kKTsKKyAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3Vj
aGNhbmNlbCcsIGhhbmRsZVRvdWNoRW5kKTsKKyAgfQorCisgIGZ1bmN0aW9uIGhhbmRsZVRvdWNo
TW92ZShlKSB7CisgICAgaWYgKGUudG91Y2hlcy5sZW5ndGggPT09IDEpIHsKKyAgICAgIGUuc3Rv
cFByb3BhZ2F0aW9uKCk7CisgICAgICB2YXIgdG91Y2ggPSBlLnRvdWNoZXNbMF07CisKKyAgICAg
IHZhciBvZmZzZXQgPSBnZXRPZmZzZXRYWSh0b3VjaCk7CisgICAgICB2YXIgcG9pbnQgPSB0cmFu
c2Zvcm1Ub1NjcmVlbihvZmZzZXQueCwgb2Zmc2V0LnkpOworCisgICAgICB2YXIgZHggPSBwb2lu
dC54IC0gbW91c2VYOworICAgICAgdmFyIGR5ID0gcG9pbnQueSAtIG1vdXNlWTsKKworICAgICAg
aWYgKGR4ICE9PSAwICYmIGR5ICE9PSAwKSB7CisgICAgICAgIHRyaWdnZXJQYW5TdGFydCgpOwor
ICAgICAgfQorICAgICAgbW91c2VYID0gcG9pbnQueDsKKyAgICAgIG1vdXNlWSA9IHBvaW50Lnk7
CisgICAgICBpbnRlcm5hbE1vdmVCeShkeCwgZHkpOworICAgIH0gZWxzZSBpZiAoZS50b3VjaGVz
Lmxlbmd0aCA9PT0gMikgeworICAgICAgLy8gaXQncyBhIHpvb20sIGxldCdzIGZpbmQgZGlyZWN0
aW9uCisgICAgICBtdWx0aVRvdWNoID0gdHJ1ZTsKKyAgICAgIHZhciB0MSA9IGUudG91Y2hlc1sw
XTsKKyAgICAgIHZhciB0MiA9IGUudG91Y2hlc1sxXTsKKyAgICAgIHZhciBjdXJyZW50UGluY2hM
ZW5ndGggPSBnZXRQaW5jaFpvb21MZW5ndGgodDEsIHQyKTsKKworICAgICAgLy8gc2luY2UgdGhl
IHpvb20gc3BlZWQgaXMgYWx3YXlzIGJhc2VkIG9uIGRpc3RhbmNlIGZyb20gMSwgd2UgbmVlZCB0
byBhcHBseQorICAgICAgLy8gcGluY2ggc3BlZWQgb25seSBvbiB0aGF0IGRpc3RhbmNlIGZyb20g
MToKKyAgICAgIHZhciBzY2FsZU11bHRpcGxpZXIgPQorICAgICAgICAxICsgKGN1cnJlbnRQaW5j
aExlbmd0aCAvIHBpbmNoWm9vbUxlbmd0aCAtIDEpICogcGluY2hTcGVlZDsKKworICAgICAgdmFy
IGZpcnN0VG91Y2hQb2ludCA9IGdldE9mZnNldFhZKHQxKTsKKyAgICAgIHZhciBzZWNvbmRUb3Vj
aFBvaW50ID0gZ2V0T2Zmc2V0WFkodDIpOworICAgICAgbW91c2VYID0gKGZpcnN0VG91Y2hQb2lu
dC54ICsgc2Vjb25kVG91Y2hQb2ludC54KSAvIDI7CisgICAgICBtb3VzZVkgPSAoZmlyc3RUb3Vj
aFBvaW50LnkgKyBzZWNvbmRUb3VjaFBvaW50LnkpIC8gMjsKKyAgICAgIGlmICh0cmFuc2Zvcm1P
cmlnaW4pIHsKKyAgICAgICAgdmFyIG9mZnNldCA9IGdldFRyYW5zZm9ybU9yaWdpbk9mZnNldCgp
OworICAgICAgICBtb3VzZVggPSBvZmZzZXQueDsKKyAgICAgICAgbW91c2VZID0gb2Zmc2V0Lnk7
CisgICAgICB9CisKKyAgICAgIHB1YmxpY1pvb21Ubyhtb3VzZVgsIG1vdXNlWSwgc2NhbGVNdWx0
aXBsaWVyKTsKKworICAgICAgcGluY2hab29tTGVuZ3RoID0gY3VycmVudFBpbmNoTGVuZ3RoOwor
ICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKKyAgICAgIGUucHJldmVudERlZmF1bHQoKTsKKyAg
ICB9CisgIH0KKworICBmdW5jdGlvbiBoYW5kbGVUb3VjaEVuZChlKSB7CisgICAgaWYgKGUudG91
Y2hlcy5sZW5ndGggPiAwKSB7CisgICAgICB2YXIgb2Zmc2V0ID0gZ2V0T2Zmc2V0WFkoZS50b3Vj
aGVzWzBdKTsKKyAgICAgIHZhciBwb2ludCA9IHRyYW5zZm9ybVRvU2NyZWVuKG9mZnNldC54LCBv
ZmZzZXQueSk7CisgICAgICBtb3VzZVggPSBwb2ludC54OworICAgICAgbW91c2VZID0gcG9pbnQu
eTsKKyAgICB9IGVsc2UgeworICAgICAgdmFyIG5vdyA9IG5ldyBEYXRlKCk7CisgICAgICBpZiAo
bm93IC0gbGFzdFRvdWNoRW5kVGltZSA8IGRvdWJsZVRhcFNwZWVkSW5NUykgeworICAgICAgICBp
ZiAodHJhbnNmb3JtT3JpZ2luKSB7CisgICAgICAgICAgdmFyIG9mZnNldCA9IGdldFRyYW5zZm9y
bU9yaWdpbk9mZnNldCgpOworICAgICAgICAgIHNtb290aFpvb20ob2Zmc2V0LngsIG9mZnNldC55
LCB6b29tRG91YmxlQ2xpY2tTcGVlZCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgc21v
b3RoWm9vbShsYXN0U2luZ2xlRmluZ2VyT2Zmc2V0LngsIGxhc3RTaW5nbGVGaW5nZXJPZmZzZXQu
eSwgem9vbURvdWJsZUNsaWNrU3BlZWQpOworICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGxh
c3RUb3VjaEVuZFRpbWUgPSBub3c7CisKKyAgICAgIHRvdWNoSW5Qcm9ncmVzcyA9IGZhbHNlOwor
ICAgICAgdHJpZ2dlclBhbkVuZCgpOworICAgICAgcmVsZWFzZVRvdWNoZXMoKTsKKyAgICB9Cisg
IH0KKworICBmdW5jdGlvbiBnZXRQaW5jaFpvb21MZW5ndGgoZmluZ2VyMSwgZmluZ2VyMikgewor
ICAgIHZhciBkeCA9IGZpbmdlcjEuY2xpZW50WCAtIGZpbmdlcjIuY2xpZW50WDsKKyAgICB2YXIg
ZHkgPSBmaW5nZXIxLmNsaWVudFkgLSBmaW5nZXIyLmNsaWVudFk7CisgICAgcmV0dXJuIE1hdGgu
c3FydChkeCAqIGR4ICsgZHkgKiBkeSk7CisgIH0KKworICBmdW5jdGlvbiBvbkRvdWJsZUNsaWNr
KGUpIHsKKyAgICBiZWZvcmVEb3VibGVDbGljayhlKTsKKyAgICB2YXIgb2Zmc2V0ID0gZ2V0T2Zm
c2V0WFkoZSk7CisgICAgaWYgKHRyYW5zZm9ybU9yaWdpbikgeworICAgICAgLy8gVE9ETzogbG9v
a3MgbGlrZSB0aGlzIGlzIGR1cGxpY2F0ZWQgaW4gdGhlIGZpbGUuCisgICAgICAvLyBOZWVkIHRv
IHJlZmFjdG9yCisgICAgICBvZmZzZXQgPSBnZXRUcmFuc2Zvcm1PcmlnaW5PZmZzZXQoKTsKKyAg
ICB9CisgICAgc21vb3RoWm9vbShvZmZzZXQueCwgb2Zmc2V0LnksIHpvb21Eb3VibGVDbGlja1Nw
ZWVkKTsKKyAgfQorCisgIGZ1bmN0aW9uIG9uTW91c2VEb3duKGUpIHsKKyAgICAvLyBpZiBjbGll
bnQgZG9lcyBub3Qgd2FudCB0byBoYW5kbGUgdGhpcyBldmVudCAtIGp1c3QgaWdub3JlIHRoZSBj
YWxsCisgICAgaWYgKGJlZm9yZU1vdXNlRG93bihlKSkgcmV0dXJuOworCisgICAgaWYgKHRvdWNo
SW5Qcm9ncmVzcykgeworICAgICAgLy8gbW9kZXJuIGJyb3dzZXJzIHdpbGwgZmlyZSBtb3VzZWRv
d24gZm9yIHRvdWNoIGV2ZW50cyB0b28KKyAgICAgIC8vIHdlIGRvIG5vdCB3YW50IHRoaXM6IHRv
dWNoIGlzIGhhbmRsZWQgc2VwYXJhdGVseS4KKyAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7Cisg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIC8vIGZvciBJRSwgbGVmdCBjbGljayA9PSAx
CisgICAgLy8gZm9yIEZpcmVmb3gsIGxlZnQgY2xpY2sgPT0gMAorICAgIHZhciBpc0xlZnRCdXR0
b24gPQorICAgICAgKGUuYnV0dG9uID09PSAxICYmIHdpbmRvdy5ldmVudCAhPT0gbnVsbCkgfHwg
ZS5idXR0b24gPT09IDA7CisgICAgaWYgKCFpc0xlZnRCdXR0b24pIHJldHVybjsKKworICAgIHNt
b290aFNjcm9sbC5jYW5jZWwoKTsKKworICAgIHZhciBvZmZzZXQgPSBnZXRPZmZzZXRYWShlKTsK
KyAgICB2YXIgcG9pbnQgPSB0cmFuc2Zvcm1Ub1NjcmVlbihvZmZzZXQueCwgb2Zmc2V0LnkpOwor
ICAgIG1vdXNlWCA9IHBvaW50Lng7CisgICAgbW91c2VZID0gcG9pbnQueTsKKworICAgIC8vIFdl
IG5lZWQgdG8gbGlzdGVuIG9uIGRvY3VtZW50IGl0c2VsZiwgc2luY2UgbW91c2UgY2FuIGdvIG91
dHNpZGUgb2YgdGhlCisgICAgLy8gd2luZG93LCBhbmQgd2Ugd2lsbCBsb29zZSBpdAorICAgIGRv
Y3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG9uTW91c2VNb3ZlKTsKKyAgICBk
b2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgb25Nb3VzZVVwKTsKKyAgICB0ZXh0
U2VsZWN0aW9uLmNhcHR1cmUoZS50YXJnZXQgfHwgZS5zcmNFbGVtZW50KTsKKworICAgIHJldHVy
biBmYWxzZTsKKyAgfQorCisgIGZ1bmN0aW9uIG9uTW91c2VNb3ZlKGUpIHsKKyAgICAvLyBubyBu
ZWVkIHRvIHdvcnJ5IGFib3V0IG1vdXNlIGV2ZW50cyB3aGVuIHRvdWNoIGlzIGhhcHBlbmluZwor
ICAgIGlmICh0b3VjaEluUHJvZ3Jlc3MpIHJldHVybjsKKworICAgIHRyaWdnZXJQYW5TdGFydCgp
OworCisgICAgdmFyIG9mZnNldCA9IGdldE9mZnNldFhZKGUpOworICAgIHZhciBwb2ludCA9IHRy
YW5zZm9ybVRvU2NyZWVuKG9mZnNldC54LCBvZmZzZXQueSk7CisgICAgdmFyIGR4ID0gcG9pbnQu
eCAtIG1vdXNlWDsKKyAgICB2YXIgZHkgPSBwb2ludC55IC0gbW91c2VZOworCisgICAgbW91c2VY
ID0gcG9pbnQueDsKKyAgICBtb3VzZVkgPSBwb2ludC55OworCisgICAgaW50ZXJuYWxNb3ZlQnko
ZHgsIGR5KTsKKyAgfQorCisgIGZ1bmN0aW9uIG9uTW91c2VVcCgpIHsKKyAgICB0ZXh0U2VsZWN0
aW9uLnJlbGVhc2UoKTsKKyAgICB0cmlnZ2VyUGFuRW5kKCk7CisgICAgcmVsZWFzZURvY3VtZW50
TW91c2UoKTsKKyAgfQorCisgIGZ1bmN0aW9uIHJlbGVhc2VEb2N1bWVudE1vdXNlKCkgeworICAg
IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG9uTW91c2VNb3ZlKTsK
KyAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgb25Nb3VzZVVwKTsK
KyAgICBwYW5zdGFydEZpcmVkID0gZmFsc2U7CisgIH0KKworICBmdW5jdGlvbiByZWxlYXNlVG91
Y2hlcygpIHsKKyAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBo
YW5kbGVUb3VjaE1vdmUpOworICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNo
ZW5kJywgaGFuZGxlVG91Y2hFbmQpOworICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIo
J3RvdWNoY2FuY2VsJywgaGFuZGxlVG91Y2hFbmQpOworICAgIHBhbnN0YXJ0RmlyZWQgPSBmYWxz
ZTsKKyAgICBtdWx0aVRvdWNoID0gZmFsc2U7CisgIH0KKworICBmdW5jdGlvbiBvbk1vdXNlV2hl
ZWwoZSkgeworICAgIC8vIGlmIGNsaWVudCBkb2VzIG5vdCB3YW50IHRvIGhhbmRsZSB0aGlzIGV2
ZW50IC0ganVzdCBpZ25vcmUgdGhlIGNhbGwKKyAgICBpZiAoYmVmb3JlV2hlZWwoZSkpIHJldHVy
bjsKKworICAgIHNtb290aFNjcm9sbC5jYW5jZWwoKTsKKworICAgIHZhciBkZWx0YSA9IGUuZGVs
dGFZOworICAgIGlmIChlLmRlbHRhTW9kZSA+IDApIGRlbHRhICo9IDEwMDsKKworICAgIHZhciBz
Y2FsZU11bHRpcGxpZXIgPSBnZXRTY2FsZU11bHRpcGxpZXIoZGVsdGEpOworCisgICAgaWYgKHNj
YWxlTXVsdGlwbGllciAhPT0gMSkgeworICAgICAgdmFyIG9mZnNldCA9IHRyYW5zZm9ybU9yaWdp
bgorICAgICAgICA/IGdldFRyYW5zZm9ybU9yaWdpbk9mZnNldCgpCisgICAgICAgIDogZ2V0T2Zm
c2V0WFkoZSk7CisgICAgICBwdWJsaWNab29tVG8ob2Zmc2V0LngsIG9mZnNldC55LCBzY2FsZU11
bHRpcGxpZXIpOworICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOworICAgIH0KKyAgfQorCisgIGZ1
bmN0aW9uIGdldE9mZnNldFhZKGUpIHsKKyAgICB2YXIgb2Zmc2V0WCwgb2Zmc2V0WTsKKyAgICAv
LyBJIHRyaWVkIHVzaW5nIGUub2Zmc2V0WCwgYnV0IHRoYXQgZ2l2ZXMgd3JvbmcgcmVzdWx0cyBm
b3Igc3ZnLCB3aGVuIHVzZXIgY2xpY2tzIG9uIGEgcGF0aC4KKyAgICB2YXIgb3duZXJSZWN0ID0g
b3duZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgb2Zmc2V0WCA9IGUuY2xpZW50WCAt
IG93bmVyUmVjdC5sZWZ0OworICAgIG9mZnNldFkgPSBlLmNsaWVudFkgLSBvd25lclJlY3QudG9w
OworCisgICAgcmV0dXJuIHsgeDogb2Zmc2V0WCwgeTogb2Zmc2V0WSB9OworICB9CisKKyAgZnVu
Y3Rpb24gc21vb3RoWm9vbShjbGllbnRYLCBjbGllbnRZLCBzY2FsZU11bHRpcGxpZXIpIHsKKyAg
ICB2YXIgZnJvbVZhbHVlID0gdHJhbnNmb3JtLnNjYWxlOworICAgIHZhciBmcm9tID0geyBzY2Fs
ZTogZnJvbVZhbHVlIH07CisgICAgdmFyIHRvID0geyBzY2FsZTogc2NhbGVNdWx0aXBsaWVyICog
ZnJvbVZhbHVlIH07CisKKyAgICBzbW9vdGhTY3JvbGwuY2FuY2VsKCk7CisgICAgY2FuY2VsWm9v
bUFuaW1hdGlvbigpOworCisgICAgem9vbVRvQW5pbWF0aW9uID0gYW5pbWF0ZShmcm9tLCB0bywg
eworICAgICAgc3RlcDogZnVuY3Rpb24gKHYpIHsKKyAgICAgICAgem9vbUFicyhjbGllbnRYLCBj
bGllbnRZLCB2LnNjYWxlKTsKKyAgICAgIH0sCisgICAgICBkb25lOiB0cmlnZ2VyWm9vbUVuZAor
ICAgIH0pOworICB9CisKKyAgZnVuY3Rpb24gc21vb3RoWm9vbUFicyhjbGllbnRYLCBjbGllbnRZ
LCB0b1NjYWxlVmFsdWUpIHsKKyAgICB2YXIgZnJvbVZhbHVlID0gdHJhbnNmb3JtLnNjYWxlOwor
ICAgIHZhciBmcm9tID0geyBzY2FsZTogZnJvbVZhbHVlIH07CisgICAgdmFyIHRvID0geyBzY2Fs
ZTogdG9TY2FsZVZhbHVlIH07CisKKyAgICBzbW9vdGhTY3JvbGwuY2FuY2VsKCk7CisgICAgY2Fu
Y2VsWm9vbUFuaW1hdGlvbigpOworCisgICAgem9vbVRvQW5pbWF0aW9uID0gYW5pbWF0ZShmcm9t
LCB0bywgeworICAgICAgc3RlcDogZnVuY3Rpb24gKHYpIHsKKyAgICAgICAgem9vbUFicyhjbGll
bnRYLCBjbGllbnRZLCB2LnNjYWxlKTsKKyAgICAgIH0KKyAgICB9KTsKKyAgfQorCisgIGZ1bmN0
aW9uIGdldFRyYW5zZm9ybU9yaWdpbk9mZnNldCgpIHsKKyAgICB2YXIgb3duZXJSZWN0ID0gb3du
ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgcmV0dXJuIHsKKyAgICAgIHg6IG93bmVy
UmVjdC53aWR0aCAqIHRyYW5zZm9ybU9yaWdpbi54LAorICAgICAgeTogb3duZXJSZWN0LmhlaWdo
dCAqIHRyYW5zZm9ybU9yaWdpbi55CisgICAgfTsKKyAgfQorCisgIGZ1bmN0aW9uIHB1YmxpY1pv
b21UbyhjbGllbnRYLCBjbGllbnRZLCBzY2FsZU11bHRpcGxpZXIpIHsKKyAgICBzbW9vdGhTY3Jv
bGwuY2FuY2VsKCk7CisgICAgY2FuY2VsWm9vbUFuaW1hdGlvbigpOworICAgIHJldHVybiB6b29t
QnlSYXRpbyhjbGllbnRYLCBjbGllbnRZLCBzY2FsZU11bHRpcGxpZXIpOworICB9CisKKyAgZnVu
Y3Rpb24gY2FuY2VsWm9vbUFuaW1hdGlvbigpIHsKKyAgICBpZiAoem9vbVRvQW5pbWF0aW9uKSB7
CisgICAgICB6b29tVG9BbmltYXRpb24uY2FuY2VsKCk7CisgICAgICB6b29tVG9BbmltYXRpb24g
PSBudWxsOworICAgIH0KKyAgfQorCisgIGZ1bmN0aW9uIGdldFNjYWxlTXVsdGlwbGllcihkZWx0
YSkgeworICAgIHZhciBzaWduID0gTWF0aC5zaWduKGRlbHRhKTsKKyAgICB2YXIgZGVsdGFBZGp1
c3RlZFNwZWVkID0gTWF0aC5taW4oMC4yNSwgTWF0aC5hYnMoc3BlZWQgKiBkZWx0YSAvIDEyOCkp
OworICAgIHJldHVybiAxIC0gc2lnbiAqIGRlbHRhQWRqdXN0ZWRTcGVlZDsKKyAgfQorCisgIGZ1
bmN0aW9uIHRyaWdnZXJQYW5TdGFydCgpIHsKKyAgICBpZiAoIXBhbnN0YXJ0RmlyZWQpIHsKKyAg
ICAgIHRyaWdnZXJFdmVudCgncGFuc3RhcnQnKTsKKyAgICAgIHBhbnN0YXJ0RmlyZWQgPSB0cnVl
OworICAgICAgc21vb3RoU2Nyb2xsLnN0YXJ0KCk7CisgICAgfQorICB9CisKKyAgZnVuY3Rpb24g
dHJpZ2dlclBhbkVuZCgpIHsKKyAgICBpZiAocGFuc3RhcnRGaXJlZCkgeworICAgICAgLy8gd2Ug
c2hvdWxkIG5ldmVyIHJ1biBzbW9vdGggc2Nyb2xsaW5nIGlmIGl0IHdhcyBtdWx0aVRvdWNoIChw
aW5jaCB6b29tIGFuaW1hdGlvbik6CisgICAgICBpZiAoIW11bHRpVG91Y2gpIHNtb290aFNjcm9s
bC5zdG9wKCk7CisgICAgICB0cmlnZ2VyRXZlbnQoJ3BhbmVuZCcpOworICAgIH0KKyAgfQorCisg
IGZ1bmN0aW9uIHRyaWdnZXJab29tRW5kKCkgeworICAgIHRyaWdnZXJFdmVudCgnem9vbWVuZCcp
OworICB9CisKKyAgZnVuY3Rpb24gdHJpZ2dlckV2ZW50KG5hbWUpIHsKKyAgICBhcGkuZmlyZShu
YW1lLCBhcGkpOworICB9Cit9CisKK2Z1bmN0aW9uIHBhcnNlVHJhbnNmb3JtT3JpZ2luKG9wdGlv
bnMpIHsKKyAgaWYgKCFvcHRpb25zKSByZXR1cm47CisgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0g
J29iamVjdCcpIHsKKyAgICBpZiAoIWlzTnVtYmVyKG9wdGlvbnMueCkgfHwgIWlzTnVtYmVyKG9w
dGlvbnMueSkpCisgICAgICBmYWlsVHJhbnNmb3JtT3JpZ2luKG9wdGlvbnMpOworICAgIHJldHVy
biBvcHRpb25zOworICB9CisKKyAgZmFpbFRyYW5zZm9ybU9yaWdpbigpOworfQorCitmdW5jdGlv
biBmYWlsVHJhbnNmb3JtT3JpZ2luKG9wdGlvbnMpIHsKKyAgY29uc29sZS5lcnJvcihvcHRpb25z
KTsKKyAgdGhyb3cgbmV3IEVycm9yKAorICAgIFsKKyAgICAgICdDYW5ub3QgcGFyc2UgdHJhbnNm
b3JtIG9yaWdpbi4nLAorICAgICAgJ1NvbWUgZ29vZCBleGFtcGxlczonLAorICAgICAgJyAgImNl
bnRlciBjZW50ZXIiIGNhbiBiZSBhY2hpZXZlZCB3aXRoIHt4OiAwLjUsIHk6IDAuNX0nLAorICAg
ICAgJyAgInRvcCBjZW50ZXIiIGNhbiBiZSBhY2hpZXZlZCB3aXRoIHt4OiAwLjUsIHk6IDB9JywK
KyAgICAgICcgICJib3R0b20gcmlnaHQiIGNhbiBiZSBhY2hpZXZlZCB3aXRoIHt4OiAxLCB5OiAx
fScKKyAgICBdLmpvaW4oJ1xuJykKKyAgKTsKK30KKworZnVuY3Rpb24gbm9vcCgpIHsgfQorCitm
dW5jdGlvbiB2YWxpZGF0ZUJvdW5kcyhib3VuZHMpIHsKKyAgdmFyIGJvdW5kc1R5cGUgPSB0eXBl
b2YgYm91bmRzOworICBpZiAoYm91bmRzVHlwZSA9PT0gJ3VuZGVmaW5lZCcgfHwgYm91bmRzVHlw
ZSA9PT0gJ2Jvb2xlYW4nKSByZXR1cm47IC8vIHRoaXMgaXMgb2theQorICAvLyBvdGhlcndpc2Ug
bmVlZCB0byBiZSBtb3JlIHRob3JvdWdoOgorICB2YXIgdmFsaWRCb3VuZHMgPQorICAgIGlzTnVt
YmVyKGJvdW5kcy5sZWZ0KSAmJgorICAgIGlzTnVtYmVyKGJvdW5kcy50b3ApICYmCisgICAgaXNO
dW1iZXIoYm91bmRzLmJvdHRvbSkgJiYKKyAgICBpc051bWJlcihib3VuZHMucmlnaHQpOworCisg
IGlmICghdmFsaWRCb3VuZHMpCisgICAgdGhyb3cgbmV3IEVycm9yKAorICAgICAgJ0JvdW5kcyBv
YmplY3QgaXMgbm90IHZhbGlkLiBJdCBjYW4gYmU6ICcgKworICAgICAgJ3VuZGVmaW5lZCwgYm9v
bGVhbiAodHJ1ZXxmYWxzZSkgb3IgYW4gb2JqZWN0IHtsZWZ0LCB0b3AsIHJpZ2h0LCBib3R0b219
JworICAgICk7Cit9CisKK2Z1bmN0aW9uIGlzTnVtYmVyKHgpIHsKKyAgcmV0dXJuIE51bWJlci5p
c0Zpbml0ZSh4KTsKK30KKworLy8gSUUgMTEgZG9lcyBub3Qgc3VwcG9ydCBpc05hTjoKK2Z1bmN0
aW9uIGlzTmFOKHZhbHVlKSB7CisgIGlmIChOdW1iZXIuaXNOYU4pIHsKKyAgICByZXR1cm4gTnVt
YmVyLmlzTmFOKHZhbHVlKTsKKyAgfQorCisgIHJldHVybiB2YWx1ZSAhPT0gdmFsdWU7Cit9CisK
K2Z1bmN0aW9uIHJpZ2lkU2Nyb2xsKCkgeworICByZXR1cm4geworICAgIHN0YXJ0OiBub29wLAor
ICAgIHN0b3A6IG5vb3AsCisgICAgY2FuY2VsOiBub29wCisgIH07Cit9CisKK2Z1bmN0aW9uIGF1
dG9SdW4oKSB7CisgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSByZXR1cm47
CisKKyAgdmFyIHNjcmlwdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0
Jyk7CisgIGlmICghc2NyaXB0cykgcmV0dXJuOworICB2YXIgcGFuem9vbVNjcmlwdDsKKworICBm
b3IgKHZhciBpID0gMDsgaSA8IHNjcmlwdHMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgeCA9IHNj
cmlwdHNbaV07CisgICAgaWYgKHguc3JjICYmIHguc3JjLm1hdGNoKC9cYnBhbnpvb20oXC5taW4p
P1wuanMvKSkgeworICAgICAgcGFuem9vbVNjcmlwdCA9IHg7CisgICAgICBicmVhazsKKyAgICB9
CisgIH0KKworICBpZiAoIXBhbnpvb21TY3JpcHQpIHJldHVybjsKKworICB2YXIgcXVlcnkgPSBw
YW56b29tU2NyaXB0LmdldEF0dHJpYnV0ZSgncXVlcnknKTsKKyAgaWYgKCFxdWVyeSkgcmV0dXJu
OworCisgIHZhciBnbG9iYWxOYW1lID0gcGFuem9vbVNjcmlwdC5nZXRBdHRyaWJ1dGUoJ25hbWUn
KSB8fCAncHonOworICB2YXIgc3RhcnRlZCA9IERhdGUubm93KCk7CisKKyAgdHJ5QXR0YWNoKCk7
CisKKyAgZnVuY3Rpb24gdHJ5QXR0YWNoKCkgeworICAgIHZhciBlbCA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IocXVlcnkpOworICAgIGlmICghZWwpIHsKKyAgICAgIHZhciBub3cgPSBEYXRlLm5v
dygpOworICAgICAgdmFyIGVsYXBzZWQgPSBub3cgLSBzdGFydGVkOworICAgICAgaWYgKGVsYXBz
ZWQgPCAyMDAwKSB7CisgICAgICAgIC8vIExldCdzIHdhaXQgYSBiaXQKKyAgICAgICAgc2V0VGlt
ZW91dCh0cnlBdHRhY2gsIDEwMCk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIC8v
IElmIHdlIGRvbid0IGF0dGFjaCB3aXRoaW4gMiBzZWNvbmRzIHRvIHRoZSB0YXJnZXQgZWxlbWVu
dCwgY29uc2lkZXIgaXQgYSBmYWlsdXJlCisgICAgICBjb25zb2xlLmVycm9yKCdDYW5ub3QgZmlu
ZCB0aGUgcGFuem9vbSBlbGVtZW50JywgZ2xvYmFsTmFtZSk7CisgICAgICByZXR1cm47CisgICAg
fQorICAgIHZhciBvcHRpb25zID0gY29sbGVjdE9wdGlvbnMocGFuem9vbVNjcmlwdCk7CisgICAg
Y29uc29sZS5sb2cob3B0aW9ucyk7CisgICAgd2luZG93W2dsb2JhbE5hbWVdID0gY3JlYXRlUGFu
Wm9vbShlbCwgb3B0aW9ucyk7CisgIH0KKworICBmdW5jdGlvbiBjb2xsZWN0T3B0aW9ucyhzY3Jp
cHQpIHsKKyAgICB2YXIgYXR0cnMgPSBzY3JpcHQuYXR0cmlidXRlczsKKyAgICB2YXIgb3B0aW9u
cyA9IHt9OworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXR0cnMubGVuZ3RoOyArK2kpIHsKKyAg
ICAgIHZhciBhdHRyID0gYXR0cnNbaV07CisgICAgICB2YXIgbmFtZVZhbHVlID0gZ2V0UGFuem9v
bUF0dHJpYnV0ZU5hbWVWYWx1ZShhdHRyKTsKKyAgICAgIGlmIChuYW1lVmFsdWUpIHsKKyAgICAg
ICAgb3B0aW9uc1tuYW1lVmFsdWUubmFtZV0gPSBuYW1lVmFsdWUudmFsdWU7CisgICAgICB9Cisg
ICAgfQorCisgICAgcmV0dXJuIG9wdGlvbnM7CisgIH0KKworICBmdW5jdGlvbiBnZXRQYW56b29t
QXR0cmlidXRlTmFtZVZhbHVlKGF0dHIpIHsKKyAgICBpZiAoIWF0dHIubmFtZSkgcmV0dXJuOwor
ICAgIHZhciBpc1Bhblpvb21BdHRyaWJ1dGUgPQorICAgICAgYXR0ci5uYW1lWzBdID09PSAncCcg
JiYgYXR0ci5uYW1lWzFdID09PSAneicgJiYgYXR0ci5uYW1lWzJdID09PSAnLSc7CisKKyAgICBp
ZiAoIWlzUGFuWm9vbUF0dHJpYnV0ZSkgcmV0dXJuOworCisgICAgdmFyIG5hbWUgPSBhdHRyLm5h
bWUuc3Vic3RyKDMpOworICAgIHZhciB2YWx1ZSA9IEpTT04ucGFyc2UoYXR0ci52YWx1ZSk7Cisg
ICAgcmV0dXJuIHsgbmFtZTogbmFtZSwgdmFsdWU6IHZhbHVlIH07CisgIH0KK30KKworYXV0b1J1
bigpOworCit9LHsiLi9saWIvY3JlYXRlVGV4dFNlbGVjdGlvbkludGVyY2VwdG9yLmpzIjoyLCIu
L2xpYi9kb21Db250cm9sbGVyLmpzIjozLCIuL2xpYi9raW5ldGljLmpzIjo0LCIuL2xpYi9zdmdD
b250cm9sbGVyLmpzIjo1LCIuL2xpYi90cmFuc2Zvcm0uanMiOjYsImFtYXRvciI6NywibmdyYXBo
LmV2ZW50cyI6OSwid2hlZWwiOjEwfV0sMjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0
cyl7CisvKioKKyAqIERpc2FsbG93cyBzZWxlY3RpbmcgdGV4dC4KKyAqLworbW9kdWxlLmV4cG9y
dHMgPSBjcmVhdGVUZXh0U2VsZWN0aW9uSW50ZXJjZXB0b3I7CisKK2Z1bmN0aW9uIGNyZWF0ZVRl
eHRTZWxlY3Rpb25JbnRlcmNlcHRvcih1c2VGYWtlKSB7CisgIGlmICh1c2VGYWtlKSB7CisgICAg
cmV0dXJuIHsKKyAgICAgIGNhcHR1cmU6IG5vb3AsCisgICAgICByZWxlYXNlOiBub29wCisgICAg
fTsKKyAgfQorCisgIHZhciBkcmFnT2JqZWN0OworICB2YXIgcHJldlNlbGVjdFN0YXJ0OworICB2
YXIgcHJldkRyYWdTdGFydDsKKyAgdmFyIHdhc0NhcHR1cmVkID0gZmFsc2U7CisKKyAgcmV0dXJu
IHsKKyAgICBjYXB0dXJlOiBjYXB0dXJlLAorICAgIHJlbGVhc2U6IHJlbGVhc2UKKyAgfTsKKwor
ICBmdW5jdGlvbiBjYXB0dXJlKGRvbU9iamVjdCkgeworICAgIHdhc0NhcHR1cmVkID0gdHJ1ZTsK
KyAgICBwcmV2U2VsZWN0U3RhcnQgPSB3aW5kb3cuZG9jdW1lbnQub25zZWxlY3RzdGFydDsKKyAg
ICBwcmV2RHJhZ1N0YXJ0ID0gd2luZG93LmRvY3VtZW50Lm9uZHJhZ3N0YXJ0OworCisgICAgd2lu
ZG93LmRvY3VtZW50Lm9uc2VsZWN0c3RhcnQgPSBkaXNhYmxlZDsKKworICAgIGRyYWdPYmplY3Qg
PSBkb21PYmplY3Q7CisgICAgZHJhZ09iamVjdC5vbmRyYWdzdGFydCA9IGRpc2FibGVkOworICB9
CisKKyAgZnVuY3Rpb24gcmVsZWFzZSgpIHsKKyAgICBpZiAoIXdhc0NhcHR1cmVkKSByZXR1cm47
CisgICAgCisgICAgd2FzQ2FwdHVyZWQgPSBmYWxzZTsKKyAgICB3aW5kb3cuZG9jdW1lbnQub25z
ZWxlY3RzdGFydCA9IHByZXZTZWxlY3RTdGFydDsKKyAgICBpZiAoZHJhZ09iamVjdCkgZHJhZ09i
amVjdC5vbmRyYWdzdGFydCA9IHByZXZEcmFnU3RhcnQ7CisgIH0KK30KKworZnVuY3Rpb24gZGlz
YWJsZWQoZSkgeworICBlLnN0b3BQcm9wYWdhdGlvbigpOworICByZXR1cm4gZmFsc2U7Cit9CisK
K2Z1bmN0aW9uIG5vb3AoKSB7fQorCit9LHt9XSwzOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxl
eHBvcnRzKXsKK21vZHVsZS5leHBvcnRzID0gbWFrZURvbUNvbnRyb2xsZXIKKworZnVuY3Rpb24g
bWFrZURvbUNvbnRyb2xsZXIoZG9tRWxlbWVudCwgb3B0aW9ucykgeworICB2YXIgZWxlbWVudFZh
bGlkID0gKGRvbUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkKKyAgaWYgKCFlbGVtZW50
VmFsaWQpIHsKKyAgICB0aHJvdyBuZXcgRXJyb3IoJ3N2ZyBlbGVtZW50IGlzIHJlcXVpcmVkIGZv
ciBzdmcucGFuem9vbSB0byB3b3JrJykKKyAgfQorCisgIHZhciBvd25lciA9IGRvbUVsZW1lbnQu
cGFyZW50RWxlbWVudAorICBpZiAoIW93bmVyKSB7CisgICAgdGhyb3cgbmV3IEVycm9yKAorICAg
ICAgJ0RvIG5vdCBhcHBseSBwYW56b29tIHRvIHRoZSBkZXRhY2hlZCBET00gZWxlbWVudC4gJwor
ICAgICkKKyAgfQorCisgIGRvbUVsZW1lbnQuc2Nyb2xsVG9wID0gMDsKKyAgCisgIGlmICghb3B0
aW9ucy5kaXNhYmxlS2V5Ym9hcmRJbnRlcmFjdGlvbikgeworICAgIG93bmVyLnNldEF0dHJpYnV0
ZSgndGFiaW5kZXgnLCAwKTsKKyAgfQorCisgIHZhciBhcGkgPSB7CisgICAgZ2V0QkJveDogZ2V0
QkJveCwKKyAgICBnZXRPd25lcjogZ2V0T3duZXIsCisgICAgYXBwbHlUcmFuc2Zvcm06IGFwcGx5
VHJhbnNmb3JtLAorICB9CisgIAorICByZXR1cm4gYXBpCisKKyAgZnVuY3Rpb24gZ2V0T3duZXIo
KSB7CisgICAgcmV0dXJuIG93bmVyCisgIH0KKworICBmdW5jdGlvbiBnZXRCQm94KCkgeworICAg
IC8vIFRPRE86IFdlIHNob3VsZCBwcm9iYWJseSBjYWNoZSB0aGlzPworICAgIHJldHVybiAgewor
ICAgICAgbGVmdDogMCwKKyAgICAgIHRvcDogMCwKKyAgICAgIHdpZHRoOiBkb21FbGVtZW50LmNs
aWVudFdpZHRoLAorICAgICAgaGVpZ2h0OiBkb21FbGVtZW50LmNsaWVudEhlaWdodAorICAgIH0K
KyAgfQorCisgIGZ1bmN0aW9uIGFwcGx5VHJhbnNmb3JtKHRyYW5zZm9ybSkgeworICAgIC8vIFRP
RE86IFNob3VsZCB3ZSBjYWNoZSB0aGlzPworICAgIGRvbUVsZW1lbnQuc3R5bGUudHJhbnNmb3Jt
T3JpZ2luID0gJzAgMCAwJzsKKyAgICBkb21FbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9ICdtYXRy
aXgoJyArCisgICAgICB0cmFuc2Zvcm0uc2NhbGUgKyAnLCAwLCAwLCAnICsKKyAgICAgIHRyYW5z
Zm9ybS5zY2FsZSArICcsICcgKworICAgICAgdHJhbnNmb3JtLnggKyAnLCAnICsgdHJhbnNmb3Jt
LnkgKyAnKScKKyAgfQorfQorCit9LHt9XSw0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBv
cnRzKXsKKyhmdW5jdGlvbiAoZ2xvYmFsKXsKKy8qKgorICogQWxsb3dzIHNtb290aCBraW5ldGlj
IHNjcm9sbGluZyBvZiB0aGUgc3VyZmFjZQorICovCittb2R1bGUuZXhwb3J0cyA9IGtpbmV0aWM7
CisKK2Z1bmN0aW9uIGtpbmV0aWMoZ2V0UG9pbnQsIHNjcm9sbCwgc2V0dGluZ3MpIHsKKyAgaWYg
KHR5cGVvZiBzZXR0aW5ncyAhPT0gJ29iamVjdCcpIHsKKyAgICAvLyBzZXR0aW5nIGNvdWxkIGNv
bWUgYXMgYm9vbGVhbiwgd2Ugc2hvdWxkIGlnbm9yZSBpdCwgYW5kIHVzZSBhbiBvYmplY3QuCisg
ICAgc2V0dGluZ3MgPSB7fTsKKyAgfQorCisgIHZhciBtaW5WZWxvY2l0eSA9IHR5cGVvZiBzZXR0
aW5ncy5taW5WZWxvY2l0eSA9PT0gJ251bWJlcicgPyBzZXR0aW5ncy5taW5WZWxvY2l0eSA6IDU7
CisgIHZhciBhbXBsaXR1ZGUgPSB0eXBlb2Ygc2V0dGluZ3MuYW1wbGl0dWRlID09PSAnbnVtYmVy
JyA/IHNldHRpbmdzLmFtcGxpdHVkZSA6IDAuMjU7CisgIHZhciBjYW5jZWxBbmltYXRpb25GcmFt
ZSA9IHR5cGVvZiBzZXR0aW5ncy5jYW5jZWxBbmltYXRpb25GcmFtZSA9PT0gJ2Z1bmN0aW9uJyA/
IHNldHRpbmdzLmNhbmNlbEFuaW1hdGlvbkZyYW1lIDogZ2V0Q2FuY2VsQW5pbWF0aW9uRnJhbWUo
KTsKKyAgdmFyIHJlcXVlc3RBbmltYXRpb25GcmFtZSA9IHR5cGVvZiBzZXR0aW5ncy5yZXF1ZXN0
QW5pbWF0aW9uRnJhbWUgPT09ICdmdW5jdGlvbicgPyBzZXR0aW5ncy5yZXF1ZXN0QW5pbWF0aW9u
RnJhbWUgOiBnZXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKTsKKworICB2YXIgbGFzdFBvaW50Owor
ICB2YXIgdGltZXN0YW1wOworICB2YXIgdGltZUNvbnN0YW50ID0gMzQyOworCisgIHZhciB0aWNr
ZXI7CisgIHZhciB2eCwgdGFyZ2V0WCwgYXg7CisgIHZhciB2eSwgdGFyZ2V0WSwgYXk7CisKKyAg
dmFyIHJhZjsKKworICByZXR1cm4geworICAgIHN0YXJ0OiBzdGFydCwKKyAgICBzdG9wOiBzdG9w
LAorICAgIGNhbmNlbDogZGlzcG9zZQorICB9OworCisgIGZ1bmN0aW9uIGRpc3Bvc2UoKSB7Cisg
ICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGlja2VyKTsKKyAgICBjYW5jZWxBbmltYXRpb25GcmFt
ZShyYWYpOworICB9CisKKyAgZnVuY3Rpb24gc3RhcnQoKSB7CisgICAgbGFzdFBvaW50ID0gZ2V0
UG9pbnQoKTsKKworICAgIGF4ID0gYXkgPSB2eCA9IHZ5ID0gMDsKKyAgICB0aW1lc3RhbXAgPSBu
ZXcgRGF0ZSgpOworCisgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGlja2VyKTsKKyAgICBjYW5j
ZWxBbmltYXRpb25GcmFtZShyYWYpOworCisgICAgLy8gd2Ugc3RhcnQgcG9sbGluZyB0aGUgcG9p
bnQgcG9zaXRpb24gdG8gYWNjdW11bGF0ZSB2ZWxvY2l0eQorICAgIC8vIE9uY2Ugd2Ugc3RvcCgp
LCB3ZSB3aWxsIHVzZSBhY2N1bXVsYXRlZCB2ZWxvY2l0eSB0byBrZWVwIHNjcm9sbGluZworICAg
IC8vIGFuIG9iamVjdC4KKyAgICB0aWNrZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodHJhY2sp
OworICB9CisKKyAgZnVuY3Rpb24gdHJhY2soKSB7CisgICAgdmFyIG5vdyA9IERhdGUubm93KCk7
CisgICAgdmFyIGVsYXBzZWQgPSBub3cgLSB0aW1lc3RhbXA7CisgICAgdGltZXN0YW1wID0gbm93
OworCisgICAgdmFyIGN1cnJlbnRQb2ludCA9IGdldFBvaW50KCk7CisKKyAgICB2YXIgZHggPSBj
dXJyZW50UG9pbnQueCAtIGxhc3RQb2ludC54OworICAgIHZhciBkeSA9IGN1cnJlbnRQb2ludC55
IC0gbGFzdFBvaW50Lnk7CisKKyAgICBsYXN0UG9pbnQgPSBjdXJyZW50UG9pbnQ7CisKKyAgICB2
YXIgZHQgPSAxMDAwIC8gKDEgKyBlbGFwc2VkKTsKKworICAgIC8vIG1vdmluZyBhdmVyYWdlCisg
ICAgdnggPSAwLjggKiBkeCAqIGR0ICsgMC4yICogdng7CisgICAgdnkgPSAwLjggKiBkeSAqIGR0
ICsgMC4yICogdnk7CisKKyAgICB0aWNrZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodHJhY2sp
OworICB9CisKKyAgZnVuY3Rpb24gc3RvcCgpIHsKKyAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0
aWNrZXIpOworICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJhZik7CisKKyAgICB2YXIgY3VycmVu
dFBvaW50ID0gZ2V0UG9pbnQoKTsKKworICAgIHRhcmdldFggPSBjdXJyZW50UG9pbnQueDsKKyAg
ICB0YXJnZXRZID0gY3VycmVudFBvaW50Lnk7CisgICAgdGltZXN0YW1wID0gRGF0ZS5ub3coKTsK
KworICAgIGlmICh2eCA8IC1taW5WZWxvY2l0eSB8fCB2eCA+IG1pblZlbG9jaXR5KSB7CisgICAg
ICBheCA9IGFtcGxpdHVkZSAqIHZ4OworICAgICAgdGFyZ2V0WCArPSBheDsKKyAgICB9CisKKyAg
ICBpZiAodnkgPCAtbWluVmVsb2NpdHkgfHwgdnkgPiBtaW5WZWxvY2l0eSkgeworICAgICAgYXkg
PSBhbXBsaXR1ZGUgKiB2eTsKKyAgICAgIHRhcmdldFkgKz0gYXk7CisgICAgfQorCisgICAgcmFm
ID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGF1dG9TY3JvbGwpOworICB9CisKKyAgZnVuY3Rpb24g
YXV0b1Njcm9sbCgpIHsKKyAgICB2YXIgZWxhcHNlZCA9IERhdGUubm93KCkgLSB0aW1lc3RhbXA7
CisKKyAgICB2YXIgbW92aW5nID0gZmFsc2U7CisgICAgdmFyIGR4ID0gMDsKKyAgICB2YXIgZHkg
PSAwOworCisgICAgaWYgKGF4KSB7CisgICAgICBkeCA9IC1heCAqIE1hdGguZXhwKC1lbGFwc2Vk
IC8gdGltZUNvbnN0YW50KTsKKworICAgICAgaWYgKGR4ID4gMC41IHx8IGR4IDwgLTAuNSkgbW92
aW5nID0gdHJ1ZTsKKyAgICAgIGVsc2UgZHggPSBheCA9IDA7CisgICAgfQorCisgICAgaWYgKGF5
KSB7CisgICAgICBkeSA9IC1heSAqIE1hdGguZXhwKC1lbGFwc2VkIC8gdGltZUNvbnN0YW50KTsK
KworICAgICAgaWYgKGR5ID4gMC41IHx8IGR5IDwgLTAuNSkgbW92aW5nID0gdHJ1ZTsKKyAgICAg
IGVsc2UgZHkgPSBheSA9IDA7CisgICAgfQorCisgICAgaWYgKG1vdmluZykgeworICAgICAgc2Ny
b2xsKHRhcmdldFggKyBkeCwgdGFyZ2V0WSArIGR5KTsKKyAgICAgIHJhZiA9IHJlcXVlc3RBbmlt
YXRpb25GcmFtZShhdXRvU2Nyb2xsKTsKKyAgICB9CisgIH0KK30KKworZnVuY3Rpb24gZ2V0Q2Fu
Y2VsQW5pbWF0aW9uRnJhbWUoKSB7CisgIGlmICh0eXBlb2YgZ2xvYmFsLmNhbmNlbEFuaW1hdGlv
bkZyYW1lID09PSAnZnVuY3Rpb24nKSByZXR1cm4gZ2xvYmFsLmNhbmNlbEFuaW1hdGlvbkZyYW1l
OworCisgIHJldHVybiBjbGVhclRpbWVvdXQ7Cit9CisKK2Z1bmN0aW9uIGdldFJlcXVlc3RBbmlt
YXRpb25GcmFtZSgpIHsKKyAgaWYgKHR5cGVvZiBnbG9iYWwucmVxdWVzdEFuaW1hdGlvbkZyYW1l
ID09PSAnZnVuY3Rpb24nKSByZXR1cm4gZ2xvYmFsLnJlcXVlc3RBbmltYXRpb25GcmFtZTsKKwor
ICByZXR1cm4gZnVuY3Rpb24gKGhhbmRsZXIpIHsKKyAgICByZXR1cm4gc2V0VGltZW91dChoYW5k
bGVyLCAxNik7CisgIH0KK30KK30pLmNhbGwodGhpcyx0eXBlb2YgZ2xvYmFsICE9PSAidW5kZWZp
bmVkIiA/IGdsb2JhbCA6IHR5cGVvZiBzZWxmICE9PSAidW5kZWZpbmVkIiA/IHNlbGYgOiB0eXBl
b2Ygd2luZG93ICE9PSAidW5kZWZpbmVkIiA/IHdpbmRvdyA6IHt9KQorfSx7fV0sNTpbZnVuY3Rp
b24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cittb2R1bGUuZXhwb3J0cyA9IG1ha2VTdmdDb250
cm9sbGVyCisKK2Z1bmN0aW9uIG1ha2VTdmdDb250cm9sbGVyKHN2Z0VsZW1lbnQsIG9wdGlvbnMp
IHsKKyAgdmFyIGVsZW1lbnRWYWxpZCA9IChzdmdFbGVtZW50IGluc3RhbmNlb2YgU1ZHRWxlbWVu
dCkKKyAgaWYgKCFlbGVtZW50VmFsaWQpIHsKKyAgICB0aHJvdyBuZXcgRXJyb3IoJ3N2ZyBlbGVt
ZW50IGlzIHJlcXVpcmVkIGZvciBzdmcucGFuem9vbSB0byB3b3JrJykKKyAgfQorCisgIHZhciBv
d25lciA9IHN2Z0VsZW1lbnQub3duZXJTVkdFbGVtZW50CisgIGlmICghb3duZXIpIHsKKyAgICB0
aHJvdyBuZXcgRXJyb3IoCisgICAgICAnRG8gbm90IGFwcGx5IHBhbnpvb20gdG8gdGhlIHJvb3Qg
PHN2Zz4gZWxlbWVudC4gJyArCisgICAgICAnVXNlIGl0cyBjaGlsZCBpbnN0ZWFkIChlLmcuIDxn
PjwvZz4pLiAnICsKKyAgICAgICdBcyBvZiBNYXJjaCAyMDE2IG9ubHkgRmlyZUZveCBzdXBwb3J0
ZWQgdHJhbnNmb3JtIG9uIHRoZSByb290IGVsZW1lbnQnKQorICB9CisKKyAgaWYgKCFvcHRpb25z
LmRpc2FibGVLZXlib2FyZEludGVyYWN0aW9uKSB7CisgICAgb3duZXIuc2V0QXR0cmlidXRlKCd0
YWJpbmRleCcsIDApOworICB9CisKKyAgdmFyIGFwaSA9IHsKKyAgICBnZXRCQm94OiBnZXRCQm94
LAorICAgIGdldFNjcmVlbkNUTTogZ2V0U2NyZWVuQ1RNLAorICAgIGdldE93bmVyOiBnZXRPd25l
ciwKKyAgICBhcHBseVRyYW5zZm9ybTogYXBwbHlUcmFuc2Zvcm0sCisgICAgaW5pdFRyYW5zZm9y
bTogaW5pdFRyYW5zZm9ybQorICB9CisgIAorICByZXR1cm4gYXBpCisKKyAgZnVuY3Rpb24gZ2V0
T3duZXIoKSB7CisgICAgcmV0dXJuIG93bmVyCisgIH0KKworICBmdW5jdGlvbiBnZXRCQm94KCkg
eworICAgIHZhciBiYm94ID0gIHN2Z0VsZW1lbnQuZ2V0QkJveCgpCisgICAgcmV0dXJuIHsKKyAg
ICAgIGxlZnQ6IGJib3gueCwKKyAgICAgIHRvcDogYmJveC55LAorICAgICAgd2lkdGg6IGJib3gu
d2lkdGgsCisgICAgICBoZWlnaHQ6IGJib3guaGVpZ2h0LAorICAgIH0KKyAgfQorCisgIGZ1bmN0
aW9uIGdldFNjcmVlbkNUTSgpIHsKKyAgICB2YXIgY3RtID0gb3duZXIuZ2V0Q1RNKCk7CisgICAg
aWYgKCFjdG0pIHsKKyAgICAgIC8vIFRoaXMgaXMgbGlrZWx5IGZpcmVmb3g6IGh0dHBzOi8vYnVn
emlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTg3MzEwNgorICAgICAgLy8gVGhlIGNv
ZGUgYmVsb3cgaXMgbm90IGVudGlyZWx5IGNvcnJlY3QsIGJ1dCBzdGlsbCBiZXR0ZXIgdGhhbiBu
b3RoaW5nCisgICAgICByZXR1cm4gb3duZXIuZ2V0U2NyZWVuQ1RNKCk7CisgICAgfQorICAgIHJl
dHVybiBjdG07CisgIH0KKworICBmdW5jdGlvbiBpbml0VHJhbnNmb3JtKHRyYW5zZm9ybSkgewor
ICAgIHZhciBzY3JlZW5DVE0gPSBzdmdFbGVtZW50LmdldENUTSgpCisgICAgdHJhbnNmb3JtLngg
PSBzY3JlZW5DVE0uZTsKKyAgICB0cmFuc2Zvcm0ueSA9IHNjcmVlbkNUTS5mOworICAgIHRyYW5z
Zm9ybS5zY2FsZSA9IHNjcmVlbkNUTS5hOworICAgIG93bmVyLnJlbW92ZUF0dHJpYnV0ZU5TKG51
bGwsICd2aWV3Qm94Jyk7CisgIH0KKworICBmdW5jdGlvbiBhcHBseVRyYW5zZm9ybSh0cmFuc2Zv
cm0pIHsKKyAgICBzdmdFbGVtZW50LnNldEF0dHJpYnV0ZSgndHJhbnNmb3JtJywgJ21hdHJpeCgn
ICsKKyAgICAgIHRyYW5zZm9ybS5zY2FsZSArICcgMCAwICcgKworICAgICAgdHJhbnNmb3JtLnNj
YWxlICsgJyAnICsKKyAgICAgIHRyYW5zZm9ybS54ICsgJyAnICsgdHJhbnNmb3JtLnkgKyAnKScp
CisgIH0KK30KK30se31dLDY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpeworbW9k
dWxlLmV4cG9ydHMgPSBUcmFuc2Zvcm07CisKK2Z1bmN0aW9uIFRyYW5zZm9ybSgpIHsKKyAgdGhp
cy54ID0gMDsKKyAgdGhpcy55ID0gMDsKKyAgdGhpcy5zY2FsZSA9IDE7Cit9CisKK30se31dLDc6
W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewordmFyIEJlemllckVhc2luZyA9IHJl
cXVpcmUoJ2Jlemllci1lYXNpbmcnKQorCisvLyBQcmVkZWZpbmVkIHNldCBvZiBhbmltYXRpb25z
LiBTaW1pbGFyIHRvIENTUyBlYXNpbmcgZnVuY3Rpb25zCit2YXIgYW5pbWF0aW9ucyA9IHsKKyAg
ZWFzZTogIEJlemllckVhc2luZygwLjI1LCAwLjEsIDAuMjUsIDEpLAorICBlYXNlSW46IEJlemll
ckVhc2luZygwLjQyLCAwLCAxLCAxKSwKKyAgZWFzZU91dDogQmV6aWVyRWFzaW5nKDAsIDAsIDAu
NTgsIDEpLAorICBlYXNlSW5PdXQ6IEJlemllckVhc2luZygwLjQyLCAwLCAwLjU4LCAxKSwKKyAg
bGluZWFyOiBCZXppZXJFYXNpbmcoMCwgMCwgMSwgMSkKK30KKworCittb2R1bGUuZXhwb3J0cyA9
IGFuaW1hdGU7Cittb2R1bGUuZXhwb3J0cy5tYWtlQWdncmVnYXRlUmFmID0gbWFrZUFnZ3JlZ2F0
ZVJhZjsKK21vZHVsZS5leHBvcnRzLnNoYXJlZFNjaGVkdWxlciA9IG1ha2VBZ2dyZWdhdGVSYWYo
KTsKKworCitmdW5jdGlvbiBhbmltYXRlKHNvdXJjZSwgdGFyZ2V0LCBvcHRpb25zKSB7CisgIHZh
ciBzdGFydCA9IE9iamVjdC5jcmVhdGUobnVsbCkKKyAgdmFyIGRpZmYgPSBPYmplY3QuY3JlYXRl
KG51bGwpCisgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9CisgIC8vIFdlIGxldCBjbGllbnRzIHNw
ZWNpZnkgdGhlaXIgb3duIGVhc2luZyBmdW5jdGlvbgorICB2YXIgZWFzaW5nID0gKHR5cGVvZiBv
cHRpb25zLmVhc2luZyA9PT0gJ2Z1bmN0aW9uJykgPyBvcHRpb25zLmVhc2luZyA6IGFuaW1hdGlv
bnNbb3B0aW9ucy5lYXNpbmddCisKKyAgLy8gaWYgbm90aGluZyBpcyBzcGVjaWZpZWQsIGRlZmF1
bHQgdG8gZWFzZSAoc2ltaWxhciB0byBDU1MgYW5pbWF0aW9ucykKKyAgaWYgKCFlYXNpbmcpIHsK
KyAgICBpZiAob3B0aW9ucy5lYXNpbmcpIHsKKyAgICAgIGNvbnNvbGUud2FybignVW5rbm93biBl
YXNpbmcgZnVuY3Rpb24gaW4gYW1hdG9yOiAnICsgb3B0aW9ucy5lYXNpbmcpOworICAgIH0KKyAg
ICBlYXNpbmcgPSBhbmltYXRpb25zLmVhc2UKKyAgfQorCisgIHZhciBzdGVwID0gdHlwZW9mIG9w
dGlvbnMuc3RlcCA9PT0gJ2Z1bmN0aW9uJyA/IG9wdGlvbnMuc3RlcCA6IG5vb3AKKyAgdmFyIGRv
bmUgPSB0eXBlb2Ygb3B0aW9ucy5kb25lID09PSAnZnVuY3Rpb24nID8gb3B0aW9ucy5kb25lIDog
bm9vcAorCisgIHZhciBzY2hlZHVsZXIgPSBnZXRTY2hlZHVsZXIob3B0aW9ucy5zY2hlZHVsZXIp
CisKKyAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyh0YXJnZXQpCisgIGtleXMuZm9yRWFjaChmdW5j
dGlvbihrZXkpIHsKKyAgICBzdGFydFtrZXldID0gc291cmNlW2tleV0KKyAgICBkaWZmW2tleV0g
PSB0YXJnZXRba2V5XSAtIHNvdXJjZVtrZXldCisgIH0pCisKKyAgdmFyIGR1cmF0aW9uSW5NcyA9
IHR5cGVvZiBvcHRpb25zLmR1cmF0aW9uID09PSAnbnVtYmVyJyA/IG9wdGlvbnMuZHVyYXRpb24g
OiA0MDAKKyAgdmFyIGR1cmF0aW9uSW5GcmFtZXMgPSBNYXRoLm1heCgxLCBkdXJhdGlvbkluTXMg
KiAwLjA2KSAvLyAwLjA2IGJlY2F1c2UgNjAgZnJhbWVzIHBlcnMgMSwwMDAgbXMKKyAgdmFyIHBy
ZXZpb3VzQW5pbWF0aW9uSWQKKyAgdmFyIGZyYW1lID0gMAorCisgIHByZXZpb3VzQW5pbWF0aW9u
SWQgPSBzY2hlZHVsZXIubmV4dChsb29wKQorCisgIHJldHVybiB7CisgICAgY2FuY2VsOiBjYW5j
ZWwKKyAgfQorCisgIGZ1bmN0aW9uIGNhbmNlbCgpIHsKKyAgICBzY2hlZHVsZXIuY2FuY2VsKHBy
ZXZpb3VzQW5pbWF0aW9uSWQpCisgICAgcHJldmlvdXNBbmltYXRpb25JZCA9IDAKKyAgfQorCisg
IGZ1bmN0aW9uIGxvb3AoKSB7CisgICAgdmFyIHQgPSBlYXNpbmcoZnJhbWUvZHVyYXRpb25JbkZy
YW1lcykKKyAgICBmcmFtZSArPSAxCisgICAgc2V0VmFsdWVzKHQpCisgICAgaWYgKGZyYW1lIDw9
IGR1cmF0aW9uSW5GcmFtZXMpIHsKKyAgICAgIHByZXZpb3VzQW5pbWF0aW9uSWQgPSBzY2hlZHVs
ZXIubmV4dChsb29wKQorICAgICAgc3RlcChzb3VyY2UpCisgICAgfSBlbHNlIHsKKyAgICAgIHBy
ZXZpb3VzQW5pbWF0aW9uSWQgPSAwCisgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBkb25l
KHNvdXJjZSkgfSwgMCkKKyAgICB9CisgIH0KKworICBmdW5jdGlvbiBzZXRWYWx1ZXModCkgewor
ICAgIGtleXMuZm9yRWFjaChmdW5jdGlvbihrZXkpIHsKKyAgICAgIHNvdXJjZVtrZXldID0gZGlm
ZltrZXldICogdCArIHN0YXJ0W2tleV0KKyAgICB9KQorICB9Cit9CisKK2Z1bmN0aW9uIG5vb3Ao
KSB7IH0KKworZnVuY3Rpb24gZ2V0U2NoZWR1bGVyKHNjaGVkdWxlcikgeworICBpZiAoIXNjaGVk
dWxlcikgeworICAgIHZhciBjYW5SYWYgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAm
JiB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lCisgICAgcmV0dXJuIGNhblJhZiA/IHJhZlNj
aGVkdWxlcigpIDogdGltZW91dFNjaGVkdWxlcigpCisgIH0KKyAgaWYgKHR5cGVvZiBzY2hlZHVs
ZXIubmV4dCAhPT0gJ2Z1bmN0aW9uJykgdGhyb3cgbmV3IEVycm9yKCdTY2hlZHVsZXIgaXMgc3Vw
cG9zZWQgdG8gaGF2ZSBuZXh0KGNiKSBmdW5jdGlvbicpCisgIGlmICh0eXBlb2Ygc2NoZWR1bGVy
LmNhbmNlbCAhPT0gJ2Z1bmN0aW9uJykgdGhyb3cgbmV3IEVycm9yKCdTY2hlZHVsZXIgaXMgc3Vw
cG9zZWQgdG8gaGF2ZSBjYW5jZWwoaGFuZGxlKSBmdW5jdGlvbicpCisKKyAgcmV0dXJuIHNjaGVk
dWxlcgorfQorCitmdW5jdGlvbiByYWZTY2hlZHVsZXIoKSB7CisgIHJldHVybiB7CisgICAgbmV4
dDogd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKHdpbmRvdyksCisgICAgY2FuY2Vs
OiB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpCisgIH0KK30KKworZnVu
Y3Rpb24gdGltZW91dFNjaGVkdWxlcigpIHsKKyAgcmV0dXJuIHsKKyAgICBuZXh0OiBmdW5jdGlv
bihjYikgeworICAgICAgcmV0dXJuIHNldFRpbWVvdXQoY2IsIDEwMDAvNjApCisgICAgfSwKKyAg
ICBjYW5jZWw6IGZ1bmN0aW9uIChpZCkgeworICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChpZCkK
KyAgICB9CisgIH0KK30KKworZnVuY3Rpb24gbWFrZUFnZ3JlZ2F0ZVJhZigpIHsKKyAgdmFyIGZy
b250QnVmZmVyID0gbmV3IFNldCgpOworICB2YXIgYmFja0J1ZmZlciA9IG5ldyBTZXQoKTsKKyAg
dmFyIGZyYW1lVG9rZW4gPSAwOworCisgIHJldHVybiB7CisgICAgbmV4dDogbmV4dCwKKyAgICBj
YW5jZWw6IG5leHQsCisgICAgY2xlYXJBbGw6IGNsZWFyQWxsCisgIH0KKworICBmdW5jdGlvbiBj
bGVhckFsbCgpIHsKKyAgICBmcm9udEJ1ZmZlci5jbGVhcigpOworICAgIGJhY2tCdWZmZXIuY2xl
YXIoKTsKKyAgICBjYW5jZWxBbmltYXRpb25GcmFtZShmcmFtZVRva2VuKTsKKyAgICBmcmFtZVRv
a2VuID0gMDsKKyAgfQorCisgIGZ1bmN0aW9uIG5leHQoY2FsbGJhY2spIHsKKyAgICBiYWNrQnVm
ZmVyLmFkZChjYWxsYmFjayk7CisgICAgcmVuZGVyTmV4dEZyYW1lKCk7CisgIH0KKworICBmdW5j
dGlvbiByZW5kZXJOZXh0RnJhbWUoKSB7CisgICAgaWYgKCFmcmFtZVRva2VuKSBmcmFtZVRva2Vu
ID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlbmRlckZyYW1lKTsKKyAgfQorCisgIGZ1bmN0aW9u
IHJlbmRlckZyYW1lKCkgeworICAgIGZyYW1lVG9rZW4gPSAwOworCisgICAgdmFyIHQgPSBiYWNr
QnVmZmVyOworICAgIGJhY2tCdWZmZXIgPSBmcm9udEJ1ZmZlcjsKKyAgICBmcm9udEJ1ZmZlciA9
IHQ7DQorCisgICAgZnJvbnRCdWZmZXIuZm9yRWFjaChmdW5jdGlvbihjYWxsYmFjaykgeworICAg
ICAgY2FsbGJhY2soKTsKKyAgICB9KTsKKyAgICBmcm9udEJ1ZmZlci5jbGVhcigpOworICB9CisK
KyAgZnVuY3Rpb24gY2FuY2VsKGNhbGxiYWNrKSB7CisgICAgYmFja0J1ZmZlci5kZWxldGUoY2Fs
bGJhY2spOworICB9Cit9CisKK30seyJiZXppZXItZWFzaW5nIjo4fV0sODpbZnVuY3Rpb24ocmVx
dWlyZSxtb2R1bGUsZXhwb3J0cyl7CisvKioKKyAqIGh0dHBzOi8vZ2l0aHViLmNvbS9ncmUvYmV6
aWVyLWVhc2luZworICogQmV6aWVyRWFzaW5nIC0gdXNlIGJlemllciBjdXJ2ZSBmb3IgdHJhbnNp
dGlvbiBlYXNpbmcgZnVuY3Rpb24KKyAqIGJ5IEdhw6t0YW4gUmVuYXVkZWF1IDIwMTQgLSAyMDE1
IOKAkyBNSVQgTGljZW5zZQorICovCisKKy8vIFRoZXNlIHZhbHVlcyBhcmUgZXN0YWJsaXNoZWQg
YnkgZW1waXJpY2lzbSB3aXRoIHRlc3RzICh0cmFkZW9mZjogcGVyZm9ybWFuY2UgVlMgcHJlY2lz
aW9uKQordmFyIE5FV1RPTl9JVEVSQVRJT05TID0gNDsKK3ZhciBORVdUT05fTUlOX1NMT1BFID0g
MC4wMDE7Cit2YXIgU1VCRElWSVNJT05fUFJFQ0lTSU9OID0gMC4wMDAwMDAxOwordmFyIFNVQkRJ
VklTSU9OX01BWF9JVEVSQVRJT05TID0gMTA7CisKK3ZhciBrU3BsaW5lVGFibGVTaXplID0gMTE7
Cit2YXIga1NhbXBsZVN0ZXBTaXplID0gMS4wIC8gKGtTcGxpbmVUYWJsZVNpemUgLSAxLjApOwor
Cit2YXIgZmxvYXQzMkFycmF5U3VwcG9ydGVkID0gdHlwZW9mIEZsb2F0MzJBcnJheSA9PT0gJ2Z1
bmN0aW9uJzsKKworZnVuY3Rpb24gQSAoYUExLCBhQTIpIHsgcmV0dXJuIDEuMCAtIDMuMCAqIGFB
MiArIDMuMCAqIGFBMTsgfQorZnVuY3Rpb24gQiAoYUExLCBhQTIpIHsgcmV0dXJuIDMuMCAqIGFB
MiAtIDYuMCAqIGFBMTsgfQorZnVuY3Rpb24gQyAoYUExKSAgICAgIHsgcmV0dXJuIDMuMCAqIGFB
MTsgfQorCisvLyBSZXR1cm5zIHgodCkgZ2l2ZW4gdCwgeDEsIGFuZCB4Miwgb3IgeSh0KSBnaXZl
biB0LCB5MSwgYW5kIHkyLgorZnVuY3Rpb24gY2FsY0JlemllciAoYVQsIGFBMSwgYUEyKSB7IHJl
dHVybiAoKEEoYUExLCBhQTIpICogYVQgKyBCKGFBMSwgYUEyKSkgKiBhVCArIEMoYUExKSkgKiBh
VDsgfQorCisvLyBSZXR1cm5zIGR4L2R0IGdpdmVuIHQsIHgxLCBhbmQgeDIsIG9yIGR5L2R0IGdp
dmVuIHQsIHkxLCBhbmQgeTIuCitmdW5jdGlvbiBnZXRTbG9wZSAoYVQsIGFBMSwgYUEyKSB7IHJl
dHVybiAzLjAgKiBBKGFBMSwgYUEyKSAqIGFUICogYVQgKyAyLjAgKiBCKGFBMSwgYUEyKSAqIGFU
ICsgQyhhQTEpOyB9CisKK2Z1bmN0aW9uIGJpbmFyeVN1YmRpdmlkZSAoYVgsIGFBLCBhQiwgbVgx
LCBtWDIpIHsKKyAgdmFyIGN1cnJlbnRYLCBjdXJyZW50VCwgaSA9IDA7CisgIGRvIHsKKyAgICBj
dXJyZW50VCA9IGFBICsgKGFCIC0gYUEpIC8gMi4wOworICAgIGN1cnJlbnRYID0gY2FsY0Jlemll
cihjdXJyZW50VCwgbVgxLCBtWDIpIC0gYVg7CisgICAgaWYgKGN1cnJlbnRYID4gMC4wKSB7Cisg
ICAgICBhQiA9IGN1cnJlbnRUOworICAgIH0gZWxzZSB7CisgICAgICBhQSA9IGN1cnJlbnRUOwor
ICAgIH0KKyAgfSB3aGlsZSAoTWF0aC5hYnMoY3VycmVudFgpID4gU1VCRElWSVNJT05fUFJFQ0lT
SU9OICYmICsraSA8IFNVQkRJVklTSU9OX01BWF9JVEVSQVRJT05TKTsKKyAgcmV0dXJuIGN1cnJl
bnRUOworfQorCitmdW5jdGlvbiBuZXd0b25SYXBoc29uSXRlcmF0ZSAoYVgsIGFHdWVzc1QsIG1Y
MSwgbVgyKSB7CisgZm9yICh2YXIgaSA9IDA7IGkgPCBORVdUT05fSVRFUkFUSU9OUzsgKytpKSB7
CisgICB2YXIgY3VycmVudFNsb3BlID0gZ2V0U2xvcGUoYUd1ZXNzVCwgbVgxLCBtWDIpOworICAg
aWYgKGN1cnJlbnRTbG9wZSA9PT0gMC4wKSB7CisgICAgIHJldHVybiBhR3Vlc3NUOworICAgfQor
ICAgdmFyIGN1cnJlbnRYID0gY2FsY0JlemllcihhR3Vlc3NULCBtWDEsIG1YMikgLSBhWDsKKyAg
IGFHdWVzc1QgLT0gY3VycmVudFggLyBjdXJyZW50U2xvcGU7CisgfQorIHJldHVybiBhR3Vlc3NU
OworfQorCitmdW5jdGlvbiBMaW5lYXJFYXNpbmcgKHgpIHsKKyAgcmV0dXJuIHg7Cit9CisKK21v
ZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gYmV6aWVyIChtWDEsIG1ZMSwgbVgyLCBtWTIpIHsKKyAg
aWYgKCEoMCA8PSBtWDEgJiYgbVgxIDw9IDEgJiYgMCA8PSBtWDIgJiYgbVgyIDw9IDEpKSB7Cisg
ICAgdGhyb3cgbmV3IEVycm9yKCdiZXppZXIgeCB2YWx1ZXMgbXVzdCBiZSBpbiBbMCwgMV0gcmFu
Z2UnKTsKKyAgfQorCisgIGlmIChtWDEgPT09IG1ZMSAmJiBtWDIgPT09IG1ZMikgeworICAgIHJl
dHVybiBMaW5lYXJFYXNpbmc7CisgIH0KKworICAvLyBQcmVjb21wdXRlIHNhbXBsZXMgdGFibGUK
KyAgdmFyIHNhbXBsZVZhbHVlcyA9IGZsb2F0MzJBcnJheVN1cHBvcnRlZCA/IG5ldyBGbG9hdDMy
QXJyYXkoa1NwbGluZVRhYmxlU2l6ZSkgOiBuZXcgQXJyYXkoa1NwbGluZVRhYmxlU2l6ZSk7Cisg
IGZvciAodmFyIGkgPSAwOyBpIDwga1NwbGluZVRhYmxlU2l6ZTsgKytpKSB7CisgICAgc2FtcGxl
VmFsdWVzW2ldID0gY2FsY0JlemllcihpICoga1NhbXBsZVN0ZXBTaXplLCBtWDEsIG1YMik7Cisg
IH0KKworICBmdW5jdGlvbiBnZXRURm9yWCAoYVgpIHsKKyAgICB2YXIgaW50ZXJ2YWxTdGFydCA9
IDAuMDsKKyAgICB2YXIgY3VycmVudFNhbXBsZSA9IDE7CisgICAgdmFyIGxhc3RTYW1wbGUgPSBr
U3BsaW5lVGFibGVTaXplIC0gMTsKKworICAgIGZvciAoOyBjdXJyZW50U2FtcGxlICE9PSBsYXN0
U2FtcGxlICYmIHNhbXBsZVZhbHVlc1tjdXJyZW50U2FtcGxlXSA8PSBhWDsgKytjdXJyZW50U2Ft
cGxlKSB7CisgICAgICBpbnRlcnZhbFN0YXJ0ICs9IGtTYW1wbGVTdGVwU2l6ZTsKKyAgICB9Cisg
ICAgLS1jdXJyZW50U2FtcGxlOworCisgICAgLy8gSW50ZXJwb2xhdGUgdG8gcHJvdmlkZSBhbiBp
bml0aWFsIGd1ZXNzIGZvciB0CisgICAgdmFyIGRpc3QgPSAoYVggLSBzYW1wbGVWYWx1ZXNbY3Vy
cmVudFNhbXBsZV0pIC8gKHNhbXBsZVZhbHVlc1tjdXJyZW50U2FtcGxlICsgMV0gLSBzYW1wbGVW
YWx1ZXNbY3VycmVudFNhbXBsZV0pOworICAgIHZhciBndWVzc0ZvclQgPSBpbnRlcnZhbFN0YXJ0
ICsgZGlzdCAqIGtTYW1wbGVTdGVwU2l6ZTsKKworICAgIHZhciBpbml0aWFsU2xvcGUgPSBnZXRT
bG9wZShndWVzc0ZvclQsIG1YMSwgbVgyKTsKKyAgICBpZiAoaW5pdGlhbFNsb3BlID49IE5FV1RP
Tl9NSU5fU0xPUEUpIHsKKyAgICAgIHJldHVybiBuZXd0b25SYXBoc29uSXRlcmF0ZShhWCwgZ3Vl
c3NGb3JULCBtWDEsIG1YMik7CisgICAgfSBlbHNlIGlmIChpbml0aWFsU2xvcGUgPT09IDAuMCkg
eworICAgICAgcmV0dXJuIGd1ZXNzRm9yVDsKKyAgICB9IGVsc2UgeworICAgICAgcmV0dXJuIGJp
bmFyeVN1YmRpdmlkZShhWCwgaW50ZXJ2YWxTdGFydCwgaW50ZXJ2YWxTdGFydCArIGtTYW1wbGVT
dGVwU2l6ZSwgbVgxLCBtWDIpOworICAgIH0KKyAgfQorCisgIHJldHVybiBmdW5jdGlvbiBCZXpp
ZXJFYXNpbmcgKHgpIHsKKyAgICAvLyBCZWNhdXNlIEphdmFTY3JpcHQgbnVtYmVyIGFyZSBpbXBy
ZWNpc2UsIHdlIHNob3VsZCBndWFyYW50ZWUgdGhlIGV4dHJlbWVzIGFyZSByaWdodC4KKyAgICBp
ZiAoeCA9PT0gMCkgeworICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIGlmICh4ID09PSAxKSB7
CisgICAgICByZXR1cm4gMTsKKyAgICB9CisgICAgcmV0dXJuIGNhbGNCZXppZXIoZ2V0VEZvclgo
eCksIG1ZMSwgbVkyKTsKKyAgfTsKK307CisKK30se31dLDk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9k
dWxlLGV4cG9ydHMpeworbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihzdWJqZWN0KSB7CisgIHZh
bGlkYXRlU3ViamVjdChzdWJqZWN0KTsKKworICB2YXIgZXZlbnRzU3RvcmFnZSA9IGNyZWF0ZUV2
ZW50c1N0b3JhZ2Uoc3ViamVjdCk7CisgIHN1YmplY3Qub24gPSBldmVudHNTdG9yYWdlLm9uOwor
ICBzdWJqZWN0Lm9mZiA9IGV2ZW50c1N0b3JhZ2Uub2ZmOworICBzdWJqZWN0LmZpcmUgPSBldmVu
dHNTdG9yYWdlLmZpcmU7CisgIHJldHVybiBzdWJqZWN0OworfTsKKworZnVuY3Rpb24gY3JlYXRl
RXZlbnRzU3RvcmFnZShzdWJqZWN0KSB7CisgIC8vIFN0b3JlIGFsbCBldmVudCBsaXN0ZW5lcnMg
dG8gdGhpcyBoYXNoLiBLZXkgaXMgZXZlbnQgbmFtZSwgdmFsdWUgaXMgYXJyYXkKKyAgLy8gb2Yg
Y2FsbGJhY2sgcmVjb3Jkcy4KKyAgLy8KKyAgLy8gQSBjYWxsYmFjayByZWNvcmQgY29uc2lzdHMg
b2YgY2FsbGJhY2sgZnVuY3Rpb24gYW5kIGl0cyBvcHRpb25hbCBjb250ZXh0OgorICAvLyB7ICdl
dmVudE5hbWUnID0+IFt7Y2FsbGJhY2s6IGZ1bmN0aW9uLCBjdHg6IG9iamVjdH1dIH0KKyAgdmFy
IHJlZ2lzdGVyZWRFdmVudHMgPSBPYmplY3QuY3JlYXRlKG51bGwpOworCisgIHJldHVybiB7Cisg
ICAgb246IGZ1bmN0aW9uIChldmVudE5hbWUsIGNhbGxiYWNrLCBjdHgpIHsKKyAgICAgIGlmICh0
eXBlb2YgY2FsbGJhY2sgIT09ICdmdW5jdGlvbicpIHsKKyAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCdjYWxsYmFjayBpcyBleHBlY3RlZCB0byBiZSBhIGZ1bmN0aW9uJyk7CisgICAgICB9CisgICAg
ICB2YXIgaGFuZGxlcnMgPSByZWdpc3RlcmVkRXZlbnRzW2V2ZW50TmFtZV07CisgICAgICBpZiAo
IWhhbmRsZXJzKSB7CisgICAgICAgIGhhbmRsZXJzID0gcmVnaXN0ZXJlZEV2ZW50c1tldmVudE5h
bWVdID0gW107CisgICAgICB9CisgICAgICBoYW5kbGVycy5wdXNoKHtjYWxsYmFjazogY2FsbGJh
Y2ssIGN0eDogY3R4fSk7CisKKyAgICAgIHJldHVybiBzdWJqZWN0OworICAgIH0sCisKKyAgICBv
ZmY6IGZ1bmN0aW9uIChldmVudE5hbWUsIGNhbGxiYWNrKSB7CisgICAgICB2YXIgd2FudFRvUmVt
b3ZlQWxsID0gKHR5cGVvZiBldmVudE5hbWUgPT09ICd1bmRlZmluZWQnKTsKKyAgICAgIGlmICh3
YW50VG9SZW1vdmVBbGwpIHsKKyAgICAgICAgLy8gS2lsbGluZyBvbGQgZXZlbnRzIHN0b3JhZ2Ug
c2hvdWxkIGJlIGVub3VnaCBpbiB0aGlzIGNhc2U6CisgICAgICAgIHJlZ2lzdGVyZWRFdmVudHMg
PSBPYmplY3QuY3JlYXRlKG51bGwpOworICAgICAgICByZXR1cm4gc3ViamVjdDsKKyAgICAgIH0K
KworICAgICAgaWYgKHJlZ2lzdGVyZWRFdmVudHNbZXZlbnROYW1lXSkgeworICAgICAgICB2YXIg
ZGVsZXRlQWxsQ2FsbGJhY2tzRm9yRXZlbnQgPSAodHlwZW9mIGNhbGxiYWNrICE9PSAnZnVuY3Rp
b24nKTsKKyAgICAgICAgaWYgKGRlbGV0ZUFsbENhbGxiYWNrc0ZvckV2ZW50KSB7CisgICAgICAg
ICAgZGVsZXRlIHJlZ2lzdGVyZWRFdmVudHNbZXZlbnROYW1lXTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICB2YXIgY2FsbGJhY2tzID0gcmVnaXN0ZXJlZEV2ZW50c1tldmVudE5hbWVdOwor
ICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2FsbGJhY2tzLmxlbmd0aDsgKytpKSB7Cisg
ICAgICAgICAgICBpZiAoY2FsbGJhY2tzW2ldLmNhbGxiYWNrID09PSBjYWxsYmFjaykgeworICAg
ICAgICAgICAgICBjYWxsYmFja3Muc3BsaWNlKGksIDEpOworICAgICAgICAgICAgfQorICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgICAgfQorCisgICAgICByZXR1cm4gc3ViamVjdDsKKyAgICB9
LAorCisgICAgZmlyZTogZnVuY3Rpb24gKGV2ZW50TmFtZSkgeworICAgICAgdmFyIGNhbGxiYWNr
cyA9IHJlZ2lzdGVyZWRFdmVudHNbZXZlbnROYW1lXTsKKyAgICAgIGlmICghY2FsbGJhY2tzKSB7
CisgICAgICAgIHJldHVybiBzdWJqZWN0OworICAgICAgfQorCisgICAgICB2YXIgZmlyZUFyZ3Vt
ZW50czsKKyAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkgeworICAgICAgICBmaXJlQXJn
dW1lbnRzID0gQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGFyZ3VtZW50cywgMSk7CisgICAg
ICB9CisgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgY2FsbGJhY2tzLmxlbmd0aDsgKytpKSB7Cisg
ICAgICAgIHZhciBjYWxsYmFja0luZm8gPSBjYWxsYmFja3NbaV07CisgICAgICAgIGNhbGxiYWNr
SW5mby5jYWxsYmFjay5hcHBseShjYWxsYmFja0luZm8uY3R4LCBmaXJlQXJndW1lbnRzKTsKKyAg
ICAgIH0KKworICAgICAgcmV0dXJuIHN1YmplY3Q7CisgICAgfQorICB9OworfQorCitmdW5jdGlv
biB2YWxpZGF0ZVN1YmplY3Qoc3ViamVjdCkgeworICBpZiAoIXN1YmplY3QpIHsKKyAgICB0aHJv
dyBuZXcgRXJyb3IoJ0V2ZW50aWZ5IGNhbm5vdCB1c2UgZmFsc3kgb2JqZWN0IGFzIGV2ZW50cyBz
dWJqZWN0Jyk7CisgIH0KKyAgdmFyIHJlc2VydmVkV29yZHMgPSBbJ29uJywgJ2ZpcmUnLCAnb2Zm
J107CisgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzZXJ2ZWRXb3Jkcy5sZW5ndGg7ICsraSkgewor
ICAgIGlmIChzdWJqZWN0Lmhhc093blByb3BlcnR5KHJlc2VydmVkV29yZHNbaV0pKSB7CisgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIlN1YmplY3QgY2Fubm90IGJlIGV2ZW50aWZpZWQsIHNpbmNlIGl0
IGFscmVhZHkgaGFzIHByb3BlcnR5ICciICsgcmVzZXJ2ZWRXb3Jkc1tpXSArICInIik7CisgICAg
fQorICB9Cit9CisKK30se31dLDEwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsK
Ky8qKgorICogVGhpcyBtb2R1bGUgdXNlZCB0byB1bmlmeSBtb3VzZSB3aGVlbCBiZWhhdmlvciBi
ZXR3ZWVuIGRpZmZlcmVudCBicm93c2VycyBpbiAyMDE0CisgKiBOb3cgaXQncyBqdXN0IGEgd3Jh
cHBlciBhcm91bmQgYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnKTsKKyAqCisgKiBVc2FnZToKKyAq
ICB2YXIgYWRkV2hlZWxMaXN0ZW5lciA9IHJlcXVpcmUoJ3doZWVsJykuYWRkV2hlZWxMaXN0ZW5l
cjsKKyAqICB2YXIgcmVtb3ZlV2hlZWxMaXN0ZW5lciA9IHJlcXVpcmUoJ3doZWVsJykucmVtb3Zl
V2hlZWxMaXN0ZW5lcjsKKyAqICBhZGRXaGVlbExpc3RlbmVyKGRvbUVsZW1lbnQsIGZ1bmN0aW9u
IChlKSB7CisgKiAgICAvLyBtb3VzZSB3aGVlbCBldmVudAorICogIH0pOworICogIHJlbW92ZVdo
ZWVsTGlzdGVuZXIoZG9tRWxlbWVudCwgZnVuY3Rpb24pOworICovCisKK21vZHVsZS5leHBvcnRz
ID0gYWRkV2hlZWxMaXN0ZW5lcjsKKworLy8gQnV0IGFsc28gZXhwb3NlICJhZHZhbmNlZCIgYXBp
IHdpdGggdW5zdWJzY3JpYmU6Cittb2R1bGUuZXhwb3J0cy5hZGRXaGVlbExpc3RlbmVyID0gYWRk
V2hlZWxMaXN0ZW5lcjsKK21vZHVsZS5leHBvcnRzLnJlbW92ZVdoZWVsTGlzdGVuZXIgPSByZW1v
dmVXaGVlbExpc3RlbmVyOworCisKK2Z1bmN0aW9uIGFkZFdoZWVsTGlzdGVuZXIoZWxlbWVudCwg
bGlzdGVuZXIsIHVzZUNhcHR1cmUpIHsKKyAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCd3aGVl
bCcsIGxpc3RlbmVyLCB1c2VDYXB0dXJlKTsKK30KKworZnVuY3Rpb24gcmVtb3ZlV2hlZWxMaXN0
ZW5lciggZWxlbWVudCwgbGlzdGVuZXIsIHVzZUNhcHR1cmUgKSB7CisgIGVsZW1lbnQucmVtb3Zl
RXZlbnRMaXN0ZW5lcignd2hlZWwnLCBsaXN0ZW5lciwgdXNlQ2FwdHVyZSk7Cit9Cit9LHt9XX0s
e30sWzFdKSgxKQorfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9JbWFnZXMvR1N0cmVhbWVyLnN2ZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0ltYWdlcy9HU3RyZWFtZXIuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyODg5YzlhMDA1NWY2
MzI5NzY2NTJiMmY0MjA3MmI4MjI5ZWVlZTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvR1N0cmVhbWVyLnN2ZwpAQCAtMCwwICsx
LDczIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0i
bm8iPz4KKzwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxMi4wLjAsIFNWRyBFeHBv
cnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDUxNDQ4KSAgLS0+CisKKzxzdmcK
KyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKKyAgIHhtbG5z
OmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCisgICB4bWxuczpyZGY9Imh0dHA6
Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCisgICB4bWxuczpzdmc9Imh0
dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIgorICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5u
ZXQvRFREL3NvZGlwb2RpLTAuZHRkIgorICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5r
c2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCisgICB2ZXJzaW9uPSIxLjAiCisgICBpZD0i
TGF5ZXJfMSIKKyAgIHdpZHRoPSIxNTcuMjc5ODIiCisgICBoZWlnaHQ9Ijc0Ljg2OTY3NSIKKyAg
IHZpZXdCb3g9IjAgMCA4My4xNTY1MDkgMzMuNzc1MzIxIgorICAgb3ZlcmZsb3c9InZpc2libGUi
CisgICBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyODAuMjIgNjkuMzg3IgorICAgeG1sOnNw
YWNlPSJwcmVzZXJ2ZSIKKyAgIHNvZGlwb2RpOnZlcnNpb249IjAuMzIiCisgICBpbmtzY2FwZTp2
ZXJzaW9uPSIwLjkyLjQgKDVkYTY4OWMzMTMsIDIwMTktMDEtMTQpIgorICAgc29kaXBvZGk6ZG9j
bmFtZT0iR1N0cmVhbWVyLnN2ZyIKKyAgIGlua3NjYXBlOm91dHB1dF9leHRlbnNpb249Im9yZy5p
bmtzY2FwZS5vdXRwdXQuc3ZnLmlua3NjYXBlIgorICAgc3R5bGU9Im92ZXJmbG93OnZpc2libGUi
PjxtZXRhZGF0YQorICAgaWQ9Im1ldGFkYXRhMzAiPjxyZGY6UkRGPjxjYzpXb3JrCisgICAgICAg
cmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PjxkYzp0eXBl
CisgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGls
bEltYWdlIiAvPjxkYzp0aXRsZT48L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRh
ZGF0YT48ZGVmcworICAgaWQ9ImRlZnMyOCI+PGlua3NjYXBlOnBlcnNwZWN0aXZlCisgICAgIHNv
ZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiCisgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAz
NC42OTM1IDogMSIKKyAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDk5OS45OTk5OSA6IDAiCisgICAg
IGlua3NjYXBlOnZwX3o9IjI4MC4yMiA6IDM0LjY5MzUgOiAxIgorICAgICBpbmtzY2FwZTpwZXJz
cDNkLW9yaWdpbj0iMTQwLjExIDogMjMuMTI5IDogMSIKKyAgICAgaWQ9InBlcnNwZWN0aXZlMzIi
IC8+PC9kZWZzPjxzb2RpcG9kaTpuYW1lZHZpZXcKKyAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9
Ijk2OCIKKyAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTI4MCIKKyAgIGlua3NjYXBlOnBhZ2Vz
aGFkb3c9IjIiCisgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIgorICAgZ3VpZGV0b2xlcmFu
Y2U9IjEwLjAiCisgICBncmlkdG9sZXJhbmNlPSIxMC4wIgorICAgb2JqZWN0dG9sZXJhbmNlPSIx
MC4wIgorICAgYm9yZGVyb3BhY2l0eT0iMS4wIgorICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCisg
ICBwYWdlY29sb3I9IiNmZmZmZmYiCisgICBpZD0iYmFzZSIKKyAgIHNob3dncmlkPSJmYWxzZSIK
KyAgIGlua3NjYXBlOnpvb209IjEuMDUwMzM4IgorICAgaW5rc2NhcGU6Y3g9IjEyNC42NjE3MyIK
KyAgIGlua3NjYXBlOmN5PSI4LjgzNjY3ODYiCisgICBpbmtzY2FwZTp3aW5kb3cteD0iNTIyIgor
ICAgaW5rc2NhcGU6d2luZG93LXk9IjYwIgorICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0iTGF5
ZXJfMSIKKyAgIGZpdC1tYXJnaW4tdG9wPSIwIgorICAgZml0LW1hcmdpbi1sZWZ0PSIwIgorICAg
Zml0LW1hcmdpbi1yaWdodD0iMCIKKyAgIGZpdC1tYXJnaW4tYm90dG9tPSIwIgorICAgaW5rc2Nh
cGU6d2luZG93LW1heGltaXplZD0iMCIgLz4KKzxnCisgICBpZD0iZzM3MzkiCisgICB0cmFuc2Zv
cm09InRyYW5zbGF0ZSgtNy45MzA3NTYsLTcuOTMxMDI5MykiPjxwYXRoCisgICAgIGlkPSJwYXRo
MjEiCisgICAgIGQ9Im0gNTIuNDAzNzg1LDYuODY4MTQzNyBjIC01LjEwMjg0MywwIC0xMi41Njg4
OTksLTQuMTU3NTU3NiAtMTkuODQ1MzMzLC00LjE1NzU1NzYgLTcuMjc2NDMzLDAgLTExLjYyMjY3
MSw0LjE1NzU1NzYgLTEyLjM3OTI3Niw0LjcyNDU0MDIgLTAuNzU1NjYzLDAuNTY2OTgyNSAtMS4y
MjkyNDksMi43Mzk2Mjk3IDEuMDM5NjI1LDIuMDc4MzA3MSAyLjI2ODg3NCwtMC42NjEzMjI0IDQu
MTU3NTU4LC0wLjY2MTMyMjQgNy43NDkwNzYsLTAuNjYxMzIyNCAzLjU5MTUxOSwwIDEyLjE5MDU5
Nyw0LjkxNDE2MyAyMC44ODQ5NTgsNC45MTQxNjMgOC42OTQzNjIsMCAxNS45Njk4NTIsLTYuNzA4
NTA3MiAxNy41NzY0NiwtOS4wNzE3MjA3IDEuNjA2NjA3LC0yLjM2MzIxMzQgMC4wOTQzNCwtMy4x
MTg4NzU3IC0xLjEzMzk2NiwtMi41NTA5NDk4IC0xLjIyOTI0OCwwLjU2Njk4MjYgLTkuMTY2MDYs
NC43MjQ1NDAyIC0xMy44OTE1NDQsNC43MjQ1NDAyIHoiCisgICAgIHN0eWxlPSJmaWxsOiNmZjMx
MzE7c3Ryb2tlLXdpZHRoOjAuOTQzMzk4NTkiCisgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2
YXR1cmU9IjAiIC8+PHBhdGgKKyAgICAgaWQ9InBhdGgyMyIKKyAgICAgZD0ibSA3NC41NzE3NjUs
MTkuODEzNDU5IGMgLTUuMzYxMzM0LDAgLTEzLjIwNDc1LC00LjE1NjYxNCAtMjAuODQ5MTA5LC00
LjE1NjYxNCAtNy42NDQzNTksMCAtMTIuMjExMzUxLDQuMTU2NjE0IC0xMy4wMDU2OTMsNC43MjQ1
NCAtMC43OTQzNDEsMC41Njc5MjYgLTEuMjkxNTEyLDIuNzM5NjMgMS4wOTE1MTIsMi4wNzgzMDcg
Mi4zODMwMjUsLTAuNjYxMzIyIDQuMzY3OTM2LC0wLjY2MTMyMiA4LjE0MDU4NywtMC42NjEzMjIg
My43NzI2NTEsMCAxMi44MDc1NzksNC45MTQxNjMgMjEuOTQwNjIxLDQuOTE0MTYzIDkuMTMzMDQy
LDAgMTYuNzc4MzQ0LC02LjcwODUwNyAxOC40NjYwODQsLTkuMDcwNzc3IDEuNjg3NzQsLTIuMzYz
MjE0IDAuMDk5MDYsLTMuMTE5ODE5IC0xLjE5MTUxMiwtMi41NTE4OTMgLTEuMjkwNTY5LDAuNTY3
OTI1IC05LjYyODMyNiw0LjcyMzU5NiAtMTQuNTkyNDksNC43MjM1OTYgeiIKKyAgICAgc3R5bGU9
ImZpbGw6IzMxOTgzMTtzdHJva2Utd2lkdGg6MC45NDMzOTg1OSIKKyAgICAgaW5rc2NhcGU6Y29u
bmVjdG9yLWN1cnZhdHVyZT0iMCIgLz48cGF0aAorICAgICBpZD0icGF0aDI1IgorICAgICBkPSJt
IDQzLjcxOTgwMSwzNC4wOTg0MDEgYyAtNS41NTk0NDgsMCAtMTMuNjkzNDMxLC00LjQ5MTUyMSAt
MjEuNjIwODA5LC00LjQ5MTUyMSAtNy45MjczNzksMCAtMTIuNjY0MTgyOSw0LjQ5MTUyMSAtMTMu
NDg3NzY5OSw1LjEwMzc4NyAtMC44MjM1ODcsMC42MTIyNjUgLTEuMzM4NjgyNiwyLjk1OTQ0MSAx
LjEzMjA3ODMsMi4yNDQzNDUgMi40NzE3MDQ2LC0wLjcxNDE1MyA0LjUzMDE5OTYsLTAuNzE0MTUz
IDguNDQyNDczNiwtMC43MTQxNTMgMy45MTIyNzQsMCAxMy4yODIxMDksNS4zMDc1NjEgMjIuNzU0
Nzc1LDUuMzA3NTYxIDkuNDcxNzIyLDAgMTcuMzk5MSwtNy4yNDYyNDUgMTkuMTUwMDQ4LC05Ljc5
ODEzOCAxLjc1MDk0OCwtMi41NTE4OTMgMC4xMDI4MywtMy4zNjc5MzMgLTEuMjM1ODUyLC0yLjc1
NTY2OCAtMS4zMzg2ODMsMC42MTIyNjYgLTkuOTg2ODE4LDUuMTAzNzg3IC0xNS4xMzQ5NDQsNS4x
MDM3ODcgeiIKKyAgICAgc3R5bGU9ImZpbGw6IzMyMzJjYztzdHJva2Utd2lkdGg6MC45NDMzOTg1
OSIKKyAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz48L2c+Cis8L3N2Zz4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRt
bCBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbAppbmRleCBj
NDk2MDk0NTlmNTI1MWMwNWY1ZTVkNDVlOTNiODM0M2RmNDM2NjYwLi4xYmE2MDNkZGQyYmNlYzM1
ZGUzNTllZGY4NTQyNDA2MzUyM2I4ZGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTWFpbi5odG1sCkBAIC0xMDYsNiArMTA2LDcgQEAKICAgICA8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0ZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3LmNzcyI+CiAg
ICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9Gb3JtYXR0ZWRWYWx1ZS5jc3Mi
PgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvR2F1Z2VDaGFydC5jc3Mi
PgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvR1N0cmVhbWVyVGFiQ29u
dGVudFZpZXcuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0dl
bmVyYWxTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9IlZpZXdzL0dvVG9MaW5lRGlhbG9nLmNzcyI+CiAgICAgPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSJWaWV3cy9HcmFkaWVudEVkaXRvci5jc3MiPgpAQCAtMjgxLDYgKzI4
Miw4IEBACiAgICAgPHNjcmlwdCBzcmM9IkV4dGVybmFsL3RocmVlLmpzL3RocmVlLmpzIj48L3Nj
cmlwdD4KICAgICA8c2NyaXB0IHNyYz0iRXh0ZXJuYWwvdGhyZWUuanMvT3JiaXRDb250cm9scy5q
cyI+PC9zY3JpcHQ+CiAKKyAgICA8c2NyaXB0IHNyYz0iRXh0ZXJuYWwvUGFuWm9vbS5qcy9wYW56
b29tLmpzIj48L3NjcmlwdD4KKwogICAgIDxzY3JpcHQgc3JjPSJCYXNlL1dlYkluc3BlY3Rvci5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkJhc2UvUGxhdGZvcm0uanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgc3JjPSJCYXNlL0RlYm91bmNlci5qcyI+PC9zY3JpcHQ+CkBAIC0zMzUs
NiArMzM4LDcgQEAKICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvRE9NU3RvcmFnZU9ic2VydmVy
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvRGF0YWJhc2VPYnNlcnZl
ci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0RlYnVnZ2VyT2JzZXJ2
ZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9HU3RyZWFtZXJPYnNl
cnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0hlYXBPYnNlcnZl
ci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL0luc3BlY3Rvck9ic2Vy
dmVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvTGF5ZXJUcmVlT2Jz
ZXJ2ZXIuanMiPjwvc2NyaXB0PgpAQCAtNDkxLDYgKzQ5NSw4IEBACiAgICAgPHNjcmlwdCBzcmM9
Ik1vZGVscy9BdWRpdFRlc3RDYXNlUmVzdWx0LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iTW9kZWxzL0F1ZGl0VGVzdEdyb3VwUmVzdWx0LmpzIj48L3NjcmlwdD4KIAorICAgIDxzY3Jp
cHQgc3JjPSJNb2RlbHMvR1N0cmVhbWVyUGlwZWxpbmUuanMiPjwvc2NyaXB0PgorCiAgICAgPHNj
cmlwdCBzcmM9IlByb3hpZXMvRm9ybWF0dGVyV29ya2VyUHJveHkuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgc3JjPSJQcm94aWVzL0hlYXBTbmFwc2hvdERpZmZQcm94eS5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9IlByb3hpZXMvSGVhcFNuYXBzaG90RWRnZVByb3h5LmpzIj48L3Nj
cmlwdD4KQEAgLTU2NSw2ICs1NzEsNyBAQAogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9Db25zb2xl
VGFiQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9FbGVt
ZW50c1RhYkNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3Mv
R3JhcGhpY3NUYWJDb250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IlZp
ZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iVmlld3MvTGF5ZXJzVGFiQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSJWaWV3cy9SZXNvdXJjZVRyZWVFbGVtZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHNyYz0iVmlld3MvU2NyaXB0VHJlZUVsZW1lbnQuanMiPjwvc2NyaXB0PgpAQCAtNTgwLDYgKzU4
Nyw5IEBACiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0RldGFpbHNTZWN0aW9uU2ltcGxlUm93Lmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvRGV0YWlsc1NlY3Rpb25UZXh0Um93
LmpzIj48L3NjcmlwdD4KIAorICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9HU3RyZWFtZXJTaWRlYmFy
UGFuZWwuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9HU3RyZWFtZXJWaWV3
LmpzIj48L3NjcmlwdD4KKwogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9TZXR0aW5nRWRpdG9yLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvU2V0dGluZ3NHcm91cC5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1NldHRpbmdzVmlldy5qcyI+PC9zY3JpcHQ+
CkBAIC04NzMsNiArODgzLDcgQEAKICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRGVidWdn
ZXJNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJvbGxlcnMvRHJh
Z1RvQWRqdXN0Q29udHJvbGxlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRy
b2xsZXJzL0Zvcm1hdHRlclNvdXJjZU1hcC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
IkNvbnRyb2xsZXJzL0dTdHJlYW1lck1hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSJDb250cm9sbGVycy9IQVJCdWlsZGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iQ29udHJvbGxlcnMvSGVhcE1hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3Jj
PSJDb250cm9sbGVycy9JbmRleGVkREJNYW5hZ2VyLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9HU3RyZWFtZXJQaXBl
bGluZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9HU3Ry
ZWFtZXJQaXBlbGluZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNDkzMWI4ZWRkZjE1MmM4ZGQ1Yjg3ZGIwMDEz
M2NlNzZkNDgwNWY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL0dTdHJlYW1lclBpcGVsaW5lLmpzCkBAIC0wLDAgKzEsNTAgQEAK
Ky8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEz
MDEgIFVTQQorICovCisKK1dJLkdTdHJlYW1lclBpcGVsaW5lID0gY2xhc3MgR1N0cmVhbWVyUGlw
ZWxpbmUKK3sKKyAgICBjb25zdHJ1Y3RvcihuYW1lLCBwYXJlbnRCaW5OYW1lLCBiaW5OYW1lLCBk
b3REYXRhLCBzdmdEb2N1bWVudCkKKyAgICB7CisgICAgICAgIHRoaXMuX25hbWUgPSBuYW1lOwor
ICAgICAgICB0aGlzLl9wYXJlbnRCaW5OYW1lID0gcGFyZW50QmluTmFtZTsKKyAgICAgICAgdGhp
cy5fYmluTmFtZSA9IGJpbk5hbWU7CisgICAgICAgIHRoaXMuX2RvdERhdGEgPSBkb3REYXRhOwor
ICAgICAgICB0aGlzLl9zdmdEb2N1bWVudCA9IHN2Z0RvY3VtZW50OworICAgIH0KKworICAgIC8v
IFB1YmxpYworCisgICAgZ2V0IG5hbWUoKSB7IHJldHVybiB0aGlzLl9uYW1lOyB9CisgICAgZ2V0
IHBhcmVudEJpbk5hbWUoKSB7IHJldHVybiB0aGlzLl9wYXJlbnRCaW5OYW1lOyB9CisgICAgZ2V0
IGJpbk5hbWUoKSB7IHJldHVybiB0aGlzLl9iaW5OYW1lOyB9CisgICAgZ2V0IHN2Z0VsZW1lbnQo
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3N2Z0RvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCJzdmciKVswXTsKKyAgICB9CisKKyAgICBnZXQgc2F2ZURhdGEoKQorICAgIHsKKyAg
ICAgICAgbGV0IHN1Z2dlc3RlZE5hbWUgPSBXSS51bmxvY2FsaXplZFN0cmluZyhgR1N0cmVhbWVy
LXBpcGVsaW5lLWR1bXAtJHt0aGlzLl9uYW1lfS5kb3RgKTsKKyAgICAgICAgcmV0dXJuIHsKKyAg
ICAgICAgICAgIHVybDogV0kuRmlsZVV0aWxpdGllcy5pbnNwZWN0b3JVUkxGb3JGaWxlbmFtZShz
dWdnZXN0ZWROYW1lKSwKKyAgICAgICAgICAgIGNvbnRlbnQ6IHRoaXMuX2RvdERhdGEsCisgICAg
ICAgIH07CisgICAgfQorfTsKKworV0kuR1N0cmVhbWVyUGlwZWxpbmUuVHlwZUlkZW50aWZpZXIg
PSAiZ3N0cmVhbWVyLXBpcGVsaW5lIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0dTdHJlYW1lck9ic2VydmVyLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvR1N0cmVhbWVyT2JzZXJ2ZXIuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMWIwN2Q1Yjg0NTY2NmVkY2Y2ZmU4NDQ2Mjg3NTQyYjk4NjAxNzU0YwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3Rv
Y29sL0dTdHJlYW1lck9ic2VydmVyLmpzCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiAgQ29weXJp
Z2h0IChDKSAyMDIwIElnYWxpYSBTLkwKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0
ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisK
K1dJLkdTdHJlYW1lck9ic2VydmVyID0gY2xhc3MgR1N0cmVhbWVyT2JzZXJ2ZXIgZXh0ZW5kcyBJ
bnNwZWN0b3JCYWNrZW5kLkRpc3BhdGNoZXIKK3sKKyAgICAvLyBFdmVudHMgZGVmaW5lZCBieSB0
aGUgIkdTdHJlYW1lciIgZG9tYWluLgorCisgICAgYWN0aXZlUGlwZWxpbmVzQ2hhbmdlZCgpCisg
ICAgeworICAgICAgICBXSS5nc3RyZWFtZXJNYW5hZ2VyLmFjdGl2ZVBpcGVsaW5lc0NoYW5nZWQo
KTsKKyAgICB9Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvUHJvdG9jb2wvVGFyZ2V0LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvUHJvdG9jb2wvVGFyZ2V0LmpzCmluZGV4IDlkY2EyYWEyNDc1ZGU3NmExZTFmMDhhZmYy
YTI3YzU5YjBmMjU5MDEuLjg2Y2E2YTY2OTU2YTU1ODllODY5NDE3N2NmZjJlY2MyNDA4YzMzYzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29s
L1RhcmdldC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90
b2NvbC9UYXJnZXQuanMKQEAgLTE0Miw2ICsxNDIsNyBAQCBXSS5UYXJnZXQgPSBjbGFzcyBUYXJn
ZXQgZXh0ZW5kcyBXSS5PYmplY3QKICAgICBnZXQgRE9NU3RvcmFnZUFnZW50KCkgeyByZXR1cm4g
dGhpcy5fYWdlbnRzLkRPTVN0b3JhZ2U7IH0KICAgICBnZXQgRGF0YWJhc2VBZ2VudCgpIHsgcmV0
dXJuIHRoaXMuX2FnZW50cy5EYXRhYmFzZTsgfQogICAgIGdldCBEZWJ1Z2dlckFnZW50KCkgeyBy
ZXR1cm4gdGhpcy5fYWdlbnRzLkRlYnVnZ2VyOyB9CisgICAgZ2V0IEdTdHJlYW1lckFnZW50KCkg
eyByZXR1cm4gdGhpcy5fYWdlbnRzLkdTdHJlYW1lcjsgfQogICAgIGdldCBIZWFwQWdlbnQoKSB7
IHJldHVybiB0aGlzLl9hZ2VudHMuSGVhcDsgfQogICAgIGdldCBJbmRleGVkREJBZ2VudCgpIHsg
cmV0dXJuIHRoaXMuX2FnZW50cy5JbmRleGVkREI7IH0KICAgICBnZXQgSW5zcGVjdG9yQWdlbnQo
KSB7IHJldHVybiB0aGlzLl9hZ2VudHMuSW5zcGVjdG9yOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJTaWRlYmFyUGFuZWwu
Y3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVy
U2lkZWJhclBhbmVsLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOGRlMWJjMTVhYWQyNzU5MDBjYjIxZWI0NTRk
NjFmMWM3NmNlYjA2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyU2lkZWJhclBhbmVsLmNzcwpAQCAtMCwwICsxLDEw
OCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTAorICoKKyAqICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIx
MTAtMTMwMSAgVVNBCisgKi8KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFt
ZXIgPiAuY29udGVudCB7CisgICAgdG9wOiB2YXIoLS1uYXZpZ2F0aW9uLWJhci1oZWlnaHQpOwor
fQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciA+IC5uYXZpZ2F0aW9u
LWJhciB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMDsKKyAgICBsZWZ0OiAw
OworICAgIHJpZ2h0OiAwOworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJl
YW1lciA+IC5uYXZpZ2F0aW9uLWJhciAuZ3N0cmVhbWVyLWJyZWFrcG9pbnRzIHsKKyAgICBmaWxs
OiBub25lOworICAgIHN0cm9rZTogdmFyKC0tZ2x5cGgtY29sb3IpOworfQorLnNpZGViYXIgPiAu
cGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgPiAubmF2aWdhdGlvbi1iYXIgLmdzdHJlYW1lci1i
cmVha3BvaW50cy5hY3RpdmF0ZWQgeworICAgIGZpbGw6IHZhcigtLWdseXBoLWNvbG9yLWFjdGl2
ZSk7CisgICAgc3Ryb2tlOiB2YXIoLS1nbHlwaC1jb2xvci1hY3RpdmUpOworfQorCisuc2lkZWJh
ciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciA+IC5uYXZpZ2F0aW9uLWJhciAuZ3N0cmVh
bWVyLXBhdXNlLXJlc3VtZSB7CisgICAgZmlsbDogbm9uZTsKKyAgICBzdHJva2U6IHZhcigtLWds
eXBoLWNvbG9yKTsKK30KKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyID4g
Lm5hdmlnYXRpb24tYmFyIC5nc3RyZWFtZXItcGF1c2UtcmVzdW1lLmFjdGl2YXRlZCB7CisgICAg
c3Ryb2tlOiB2YXIoLS1nbHlwaC1jb2xvci1hY3RpdmUpOworfQorCisuc2lkZWJhciA+IC5wYW5l
bC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAud2FybmluZy1iYW5uZXIgeworICAgIHRleHQtYWxpZ246
IGNlbnRlcjsKKyAgICBmb250LXNpemU6IDExcHg7CisKKyAgICBwYWRkaW5nOiAxMXB4IDZweDsK
KyAgICBtYXJnaW4tYm90dG9tOiA2cHg7CisKKyAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQg
dmFyKC0tYm9yZGVyLWNvbG9yKTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woNTAsIDEwMCUs
IDk0JSk7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uZ3N0cmVhbWVyIC50cmVl
LW91dGxpbmUuc2luZ2xlLXRocmVhZCA+IC5pdGVtLnRocmVhZCB7CisgICAgZGlzcGxheTogbm9u
ZTsKK30KKworLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLnRyZWUtb3V0
bGluZS5zaW5nbGUtdGhyZWFkIHsKKyAgICAtLXRyZWUtb3V0bGluZS1zaW5nbGUtdGhyZWFkLW1h
cmdpbi1zdGFydDogLTEwcHg7Cit9CisKK2JvZHlbZGlyPWx0cl0gLnNpZGViYXIgPiAucGFuZWwu
bmF2aWdhdGlvbi5nc3RyZWFtZXIgLnRyZWUtb3V0bGluZS5zaW5nbGUtdGhyZWFkIHsKKyAgICBt
YXJnaW4tbGVmdDogdmFyKC0tdHJlZS1vdXRsaW5lLXNpbmdsZS10aHJlYWQtbWFyZ2luLXN0YXJ0
KTsKK30KKworYm9keVtkaXI9cnRsXSAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJl
YW1lciAudHJlZS1vdXRsaW5lLnNpbmdsZS10aHJlYWQgeworICAgIG1hcmdpbi1yaWdodDogdmFy
KC0tdHJlZS1vdXRsaW5lLXNpbmdsZS10aHJlYWQtbWFyZ2luLXN0YXJ0KTsKK30KKworLnNpZGVi
YXIgPiAucGFuZWwubmF2aWdhdGlvbi5nc3RyZWFtZXIgLndhcm5pbmctYmFubmVyID4gYSB7Cisg
ICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CisgICAgY3Vyc29yOiBwb2ludGVyOworfQor
Cisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAuZGV0YWlscy1zZWN0aW9u
IHsKKyAgICBmb250LXNpemU6IDExcHg7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRp
b24uZ3N0cmVhbWVyIC5kZXRhaWxzLXNlY3Rpb24ucGF1c2VkLXJlYXNvbi5jb2xsYXBzZWQgPiAu
aGVhZGVyID4gLm9wdGlvbnMgeworICAgIGRpc3BsYXk6IGJsb2NrOworfQorCisuc2lkZWJhciA+
IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAuZGV0YWlscy1zZWN0aW9uID4gLmNvbnRlbnQg
eworICAgIGRpc3BsYXk6IGJsb2NrOworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9u
LmdzdHJlYW1lciAuZGV0YWlscy1zZWN0aW9uLmNvbGxhcHNlZCA+IC5jb250ZW50IHsKKyAgICBk
aXNwbGF5OiBub25lOworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1l
ciAuZGV0YWlscy1zZWN0aW9uID4gLmNvbnRlbnQgPiAuZ3JvdXAgeworICAgIGRpc3BsYXk6IGJs
b2NrOworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAuZGV0YWls
cy1zZWN0aW9uLnNjcmlwdHM6bm90KC5jb2xsYXBzZWQpIHsKKyAgICBib3JkZXItYm90dG9tOiBu
b25lOworfQorCitAbWVkaWEgKHByZWZlcnMtZGFyay1pbnRlcmZhY2UpIHsKKyAgICAuc2lkZWJh
ciA+IC5wYW5lbC5uYXZpZ2F0aW9uLmdzdHJlYW1lciAud2FybmluZy1iYW5uZXIgeworICAgICAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS15ZWxsb3ctaGlnaGxpZ2h0LWJhY2tncm91bmQtY29s
b3IpOworICAgICAgICBjb2xvcjogdmFyKC0teWVsbG93LWhpZ2hsaWdodC10ZXh0LWNvbG9yKTsK
KyAgICB9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9HU3RyZWFtZXJTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJTaWRlYmFyUGFuZWwuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZDZjN2NlMGVlNjcyOGZjMGQ2OWMwNWQxNjJlMzE0MzNlOTYyNmM5ZAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclNp
ZGViYXJQYW5lbC5qcwpAQCAtMCwwICsxLDExMiBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIw
MjAgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAq
ICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBG
cmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworV0kuR1N0cmVh
bWVyU2lkZWJhclBhbmVsID0gY2xhc3MgR1N0cmVhbWVyU2lkZWJhclBhbmVsIGV4dGVuZHMgV0ku
TmF2aWdhdGlvblNpZGViYXJQYW5lbAoreworICAgIGNvbnN0cnVjdG9yKCkKKyAgICB7CisgICAg
ICAgIHN1cGVyKCJnc3RyZWFtZXIiLCBXSS5VSVN0cmluZygiR1N0cmVhbWVyIikpOworCisgICAg
ICAgIHRoaXMuY29udGVudFRyZWVPdXRsaW5lLmFkZEV2ZW50TGlzdGVuZXIoV0kuVHJlZU91dGxp
bmUuRXZlbnQuU2VsZWN0aW9uRGlkQ2hhbmdlLCB0aGlzLl90cmVlU2VsZWN0aW9uRGlkQ2hhbmdl
LCB0aGlzKTsKKworICAgICAgICBXSS5nc3RyZWFtZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIo
V0kuR1N0cmVhbWVyTWFuYWdlci5FdmVudC5BY3RpdmVQaXBlbGluZXNDaGFuZ2VkLCB0aGlzLl9y
ZWZyZXNoUGlwZWxpbmVzTGlzdCwgdGhpcyk7CisgICAgfQorCisgICAgLy8gUHJvdGVjdGVkCisK
KyAgICBpbml0aWFsTGF5b3V0KCkKKyAgICB7CisgICAgICAgIHN1cGVyLmluaXRpYWxMYXlvdXQo
KTsKKworICAgICAgICBsZXQgcGlwZWxpbmVzUm93ID0gbmV3IFdJLkRldGFpbHNTZWN0aW9uUm93
OworICAgICAgICBwaXBlbGluZXNSb3cuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmNvbnRlbnRU
cmVlT3V0bGluZS5lbGVtZW50KTsKKworICAgICAgICBsZXQgcGlwZWxpbmVzR3JvdXAgPSBuZXcg
V0kuRGV0YWlsc1NlY3Rpb25Hcm91cChbcGlwZWxpbmVzUm93XSk7CisgICAgICAgIHRoaXMuX3Bp
cGVsaW5lc1NlY3Rpb24gPSBuZXcgV0kuRGV0YWlsc1NlY3Rpb24oInBpcGVsaW5lcyIsIFdJLlVJ
U3RyaW5nKCJQaXBlbGluZXMiKSwgW3BpcGVsaW5lc0dyb3VwXSk7CisgICAgICAgIHRoaXMuY29u
dGVudFZpZXcuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9waXBlbGluZXNTZWN0aW9uLmVsZW1l
bnQpOworCisgICAgICAgIHRoaXMuX3JlZnJlc2hQaXBlbGluZXNMaXN0KCk7CisgICAgfQorCisg
ICAgaGFzQ3VzdG9tRmlsdGVycygpCisgICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9
CisKKyAgICBtYXRjaFRyZWVFbGVtZW50QWdhaW5zdEN1c3RvbUZpbHRlcnModHJlZUVsZW1lbnQs
IGZsYWdzKQorICAgIHsKKyAgICAgICAgbGV0IHRleHRGaWx0ZXJSZWdleCA9IHNpbXBsZUdsb2JT
dHJpbmdUb1JlZ0V4cCh0aGlzLmZpbHRlckJhci5maWx0ZXJzLnRleHQsICJpIik7CisgICAgICAg
IGlmICghdGV4dEZpbHRlclJlZ2V4KQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAg
ICAgcmV0dXJuIHRleHRGaWx0ZXJSZWdleC50ZXN0KHRyZWVFbGVtZW50Lm5hbWUpOworICAgIH0K
KworICAgIC8vIFByaXZhdGUKKworICAgIF9yZWZyZXNoUGlwZWxpbmVzTGlzdCgpCisgICAgewor
ICAgICAgICBpZiAoIVdJLnRhcmdldHNBdmFpbGFibGUoKSkgeworICAgICAgICAgICAgV0kud2hl
blRhcmdldHNBdmFpbGFibGUoKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICB0aGlzLl9y
ZWZyZXNoUGlwZWxpbmVzTGlzdCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKworICAgICAgICBsZXQgYWdlbnQ7CisgICAgICAgIGxldCB0YXJnZXQg
PSBXSS5hc3N1bWluZ01haW5UYXJnZXQoKTsKKyAgICAgICAgaWYgKHRhcmdldC5oYXNEb21haW4o
IkdTdHJlYW1lciIpKQorICAgICAgICAgICAgYWdlbnQgPSB0YXJnZXQuR1N0cmVhbWVyQWdlbnQ7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBhZ2VudC5nZXRB
Y3RpdmVQaXBlbGluZXNOYW1lcygpLnRoZW4oKHBheWxvYWQpID0+IHsKKyAgICAgICAgICAgIGNv
bnN0IHN1cHByZXNzT25EZXNlbGVjdCA9IHRydWU7CisgICAgICAgICAgICB0aGlzLmNvbnRlbnRU
cmVlT3V0bGluZS5yZW1vdmVDaGlsZHJlbihzdXBwcmVzc09uRGVzZWxlY3QpOworICAgICAgICAg
ICAgZm9yIChsZXQgbmFtZSBvZiBwYXlsb2FkLnBpcGVsaW5lcykgeworICAgICAgICAgICAgICAg
IGxldCBlbGVtZW50ID0gbmV3IFdJLlRyZWVFbGVtZW50KG5hbWUpOworICAgICAgICAgICAgICAg
IHRoaXMuY29udGVudFRyZWVPdXRsaW5lLmFwcGVuZENoaWxkKGVsZW1lbnQpOworICAgICAgICAg
ICAgfQorICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHsKKyAgICAgICAgICAgIGNvbnNvbGUu
ZXJyb3IoIkNvdWxkIG5vdCBmZXRjaCBwaXBlbGluZXM6ICIsIGVycm9yKTsKKyAgICAgICAgfSk7
CisgICAgfQorCisgICAgX3RyZWVTZWxlY3Rpb25EaWRDaGFuZ2UoZXZlbnQpCisgICAgeworICAg
ICAgICBpZiAoIXRoaXMuc2VsZWN0ZWQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
bGV0IHRyZWVFbGVtZW50ID0gdGhpcy5jb250ZW50VHJlZU91dGxpbmUuc2VsZWN0ZWRUcmVlRWxl
bWVudDsKKyAgICAgICAgaWYgKCF0cmVlRWxlbWVudCkKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICBsZXQgcGlwZWxpbmVOYW1lID0gdHJlZUVsZW1lbnQudGl0bGU7CisgICAgICAgIGxl
dCB0YXJnZXQgPSBXSS5hc3N1bWluZ01haW5UYXJnZXQoKTsKKyAgICAgICAgbGV0IGNoaWxkID0g
IiI7CisgICAgICAgIHRhcmdldC5HU3RyZWFtZXJBZ2VudC5kdW1wQWN0aXZlUGlwZWxpbmUocGlw
ZWxpbmVOYW1lLCBjaGlsZCkudGhlbigocGF5bG9hZCkgPT4geworICAgICAgICAgICAgbGV0IGRv
Y3VtZW50RnJhZ21lbnQgPSBXSS5HU3RyZWFtZXJWaWV3LnJlbmRlclNWR0VsZW1lbnQocGF5bG9h
ZC5waXBlbGluZUdyYXBoUmVwcmVzZW50YXRpb24pOworICAgICAgICAgICAgbGV0IHBhcmVudEJp
bk5hbWUgPSAiIjsKKyAgICAgICAgICAgIGxldCBiaW5OYW1lID0gIiI7CisgICAgICAgICAgICBs
ZXQgcmVwcmVzZW50ZWRPYmplY3QgPSBuZXcgV0kuR1N0cmVhbWVyUGlwZWxpbmUocGlwZWxpbmVO
YW1lLCBwYXJlbnRCaW5OYW1lLCBiaW5OYW1lLCBwYXlsb2FkLnBpcGVsaW5lR3JhcGhSZXByZXNl
bnRhdGlvbiwgZG9jdW1lbnRGcmFnbWVudCk7CisgICAgICAgICAgICBXSS5zaG93UmVwcmVzZW50
ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3QpOworICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+
IHsKKyAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIkNvdWxkIG5vdCBkdW1wIHBpcGVsaW5lOiAi
LCBlcnJvcik7CisgICAgICAgIH0pOworICAgIH0KK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5j
c3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJU
YWJDb250ZW50Vmlldy5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDIxNTA5NDE4ZmQxMTJhY2UzYTc2Yjg4MzQ5
NzNjMGYyMTJkOWNjNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3LmNzcwpAQCAtMCwwICsx
LDI3IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MCisgKgorICogIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAw
MjExMC0xMzAxICBVU0EKKyAqLworCisuY29udGVudC12aWV3LmdzdHJlYW1lciB7CisgICAgcGFk
ZGluZy1ib3R0b206IDZ2aDsKKyAgICBvdmVyZmxvdy15OiBhdXRvOworfQorCisuY29udGVudC12
aWV3LmdzdHJlYW1lciAubmF2aWdhdGlvbi1iYXIgeworICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0
aWNreTsKKyAgICB0b3A6IDA7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dTdHJlYW1lclRhYkNvbnRlbnRWaWV3
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQzMTAxYmJiNzkxOGZlMWQzNWIyOGU3MTdlZjY0YmJkZDMxNTY4MjIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9HU3RyZWFtZXJUYWJDb250ZW50Vmlldy5qcwpAQCAtMCwwICsxLDcyIEBACisvKgorICog
IENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq
CisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBH
ZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5v
dCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EK
KyAqLworCitXSS5HU3RyZWFtZXJUYWJDb250ZW50VmlldyA9IGNsYXNzIEdTdHJlYW1lclRhYkNv
bnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudEJyb3dzZXJUYWJDb250ZW50VmlldworeworICAg
IGNvbnN0cnVjdG9yKGlkZW50aWZpZXIpCisgICAgeworICAgICAgICBzdXBlcihHU3RyZWFtZXJU
YWJDb250ZW50Vmlldy50YWJJbmZvKCksIHsKKyAgICAgICAgICAgIG5hdmlnYXRpb25TaWRlYmFy
UGFuZWxDb25zdHJ1Y3RvcjogV0kuR1N0cmVhbWVyU2lkZWJhclBhbmVsLAorICAgICAgICB9KTsK
KyAgICAgICAgdGhpcy5fZ3N0cmVhbWVyVmlldyA9IG51bGw7CisgICAgfQorCisgICAgc3RhdGlj
IHRhYkluZm8oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgIGlkZW50aWZp
ZXI6IEdTdHJlYW1lclRhYkNvbnRlbnRWaWV3LlR5cGUsCisgICAgICAgICAgICBpbWFnZTogIklt
YWdlcy9HU3RyZWFtZXIuc3ZnIiwKKyAgICAgICAgICAgIHRpdGxlOiBXSS5VSVN0cmluZygiR1N0
cmVhbWVyIiksCisgICAgICAgIH07CisgICAgfQorCisgICAgc3RhdGljIGlzVGFiQWxsb3dlZCgp
CisgICAgeworICAgICAgICByZXR1cm4gSW5zcGVjdG9yQmFja2VuZC5oYXNEb21haW4oIkdTdHJl
YW1lciIpICYmIChXSS5QbGF0Zm9ybS5wb3J0ID09PSAiZ3RrIiB8fCBXSS5QbGF0Zm9ybS5wb3J0
ID09PSAid3BlIik7CisgICAgfQorCisgICAgLy8gUHVibGljCisKKyAgICBnZXQgdHlwZSgpIHsg
cmV0dXJuIFdJLkdTdHJlYW1lclRhYkNvbnRlbnRWaWV3LlR5cGU7IH0KKworICAgIGdldCBzdXBw
b3J0c1NwbGl0Q29udGVudEJyb3dzZXIoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorCisgICAgY2FuU2hvd1JlcHJlc2VudGVkT2JqZWN0KHJlcHJlc2VudGVkT2JqZWN0KQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2YgV0kuR1N0
cmVhbWVyUGlwZWxpbmU7CisgICAgfQorCisgICAgc2hvd1JlcHJlc2VudGVkT2JqZWN0KHJlcHJl
c2VudGVkT2JqZWN0LCBjb29raWUpCisgICAgeworICAgICAgICB0aGlzLl9nc3RyZWFtZXJWaWV3
LmRpc3BsYXlQaXBlbGluZShyZXByZXNlbnRlZE9iamVjdCk7CisgICAgfQorCisgICAgLy8gUHJv
dGVjdGVkCisKKyAgICBpbml0aWFsTGF5b3V0KCkKKyAgICB7CisgICAgICAgIHN1cGVyLmluaXRp
YWxMYXlvdXQoKTsKKyAgICAgICAgdGhpcy5fZ3N0cmVhbWVyVmlldyA9IG5ldyBXSS5HU3RyZWFt
ZXJWaWV3KCJnZW5lcmFsIiwgV0kuVUlTdHJpbmcoIkdlbmVyYWwiKSk7CisgICAgICAgIHRoaXMu
YWRkU3Vidmlldyh0aGlzLl9nc3RyZWFtZXJWaWV3KTsKKyAgICB9Cit9OworCitXSS5HU3RyZWFt
ZXJUYWJDb250ZW50Vmlldy5UeXBlID0gImdzdHJlYW1lciI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HU3RyZWFtZXJWaWV3LmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR1N0cmVhbWVyVmlldy5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45Y2E1NGMxYmRkNDNmYjczNjhiMzU5OWQ0YTY3ZjYwMTQyMTA5ZWNmCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
R1N0cmVhbWVyVmlldy5qcwpAQCAtMCwwICsxLDI0OCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMp
IDIwMjAgSWdhbGlhIFMuTAorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRo
ZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworV0kuR1N0
cmVhbWVyVmlldyA9IGNsYXNzIEdTdHJlYW1lclZpZXcgZXh0ZW5kcyBXSS5Db250ZW50Vmlldwor
eworICAgIGNvbnN0cnVjdG9yKGlkZW50aWZpZXIsIGRpc3BsYXlOYW1lKQorICAgIHsKKyAgICAg
ICAgc3VwZXIoKTsKKworICAgICAgICB0aGlzLl9pZGVudGlmaWVyID0gaWRlbnRpZmllcjsKKyAg
ICAgICAgdGhpcy5fZGlzcGxheU5hbWUgPSBkaXNwbGF5TmFtZTsKKyAgICAgICAgdGhpcy5fc3Zn
RWxlbWVudCA9IG51bGw7CisgICAgICAgIHRoaXMuX3Njb3BlQmFyID0gbnVsbDsKKyAgICAgICAg
dGhpcy5fY3VycmVudEJpbk5hbWUgPSAiIjsKKyAgICAgICAgdGhpcy5fY3VycmVudFBhcmVudEJp
bk5hbWUgPSAiIjsKKyAgICAgICAgdGhpcy5fcGlwZWxpbmUgPSBudWxsOworICAgICAgICB0aGlz
Ll9sYWJlbCA9IG51bGw7CisgICAgICAgIHRoaXMuX2F1dG9VcGRhdGVJbnRlcnZhbElkZW50aWZp
ZXIgPSB1bmRlZmluZWQ7CisgICAgICAgIHRoaXMuX3Bhblpvb20gPSBudWxsOworICAgICAgICB0
aGlzLl9jdXJyZW50UGFuWm9vbVBhcmFtZXRlcnMgPSB1bmRlZmluZWQ7CisKKyAgICAgICAgdGhp
cy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoImdzdHJlYW1lci12aWV3IiwgaWRlbnRpZmllcik7CisK
KyAgICAgICAgdGhpcy5fZXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW0gPSBuZXcgV0kuQnV0dG9u
TmF2aWdhdGlvbkl0ZW0oInBpcGVsaW5lLWV4cG9ydCIsIFdJLlVJU3RyaW5nKCJFeHBvcnQiKSwg
IkltYWdlcy9FeHBvcnQuc3ZnIiwgMTUsIDE1KTsKKyAgICAgICAgdGhpcy5fZXhwb3J0QnV0dG9u
TmF2aWdhdGlvbkl0ZW0udG9vbHRpcCA9IFdJLlVJU3RyaW5nKCJFeHBvcnQgcGlwZWxpbmUgcmVw
cmVzZW50YXRpb24gdG8gR3JhcGh2aXogZG90IGZpbGUgKCVzKSIsICJUaGUgR3JhcGh2aXogZG90
IGZpbGUgZm9ybWF0IGNhbiB0aGVuIGJlIGNvbnZlcnRlZCB0byBQTkcgYW5kIG90aGVyIHBpY3R1
cmUgZm9ybWF0cyB3aXRoIHRoaXJkLXBhcnR5IHRvb2xzLiIpLmZvcm1hdChXSS5zYXZlS2V5Ym9h
cmRTaG9ydGN1dC5kaXNwbGF5TmFtZSk7CisgICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmln
YXRpb25JdGVtLmJ1dHRvblN0eWxlID0gV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uU3R5bGUuSW1h
Z2VBbmRUZXh0OworICAgICAgICB0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS52aXNp
YmlsaXR5UHJpb3JpdHkgPSBXSS5OYXZpZ2F0aW9uSXRlbS5WaXNpYmlsaXR5UHJpb3JpdHkuTG93
OworICAgICAgICB0aGlzLl9leHBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3Rl
bmVyKFdJLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX2hhbmRsZUV4
cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtQ2xpY2tlZCwgdGhpcyk7CisgICAgICAgIHRoaXMuX3Vw
ZGF0ZUV4cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtU3RhdGUoKTsKKworICAgICAgICB0aGlzLl9u
YXZpZ2F0aW9uQmFyID0gbmV3IFdJLk5hdmlnYXRpb25CYXI7CisgICAgICAgIHRoaXMuX25hdmln
YXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhpcy5fZXhwb3J0QnV0dG9uTmF2aWdhdGlvbkl0
ZW0pOworICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLmFkZE5hdmlnYXRpb25JdGVtKG5ldyBX
SS5EaXZpZGVyTmF2aWdhdGlvbkl0ZW0pOworCisgICAgICAgIHRoaXMuX2F1dG9tYXRpY1JlZnJl
c2hOYXZpZ2F0aW9uSXRlbSA9IG5ldyBXSS5UZXh0VG9nZ2xlQnV0dG9uTmF2aWdhdGlvbkl0ZW0o
ImF1dG9tYXRpYy1waXBlbGluZS1yZWRpc3BsYXkiLCBXSS5VSVN0cmluZygiQXV0b21hdGljYWxs
eSByZWZyZXNoIHRoZSBwaXBlbGluZSIpKTsKKyAgICAgICAgdGhpcy5fYXV0b21hdGljUmVmcmVz
aE5hdmlnYXRpb25JdGVtLmFkZEV2ZW50TGlzdGVuZXIoV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0u
RXZlbnQuQ2xpY2tlZCwgdGhpcy5faGFuZGxlQXV0b21hdGljUmVmcmVzaEJ1dHRvbk5hdmlnYXRp
b25JdGVtQ2xpY2tlZCwgdGhpcyk7CisgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2
aWdhdGlvbkl0ZW0odGhpcy5fYXV0b21hdGljUmVmcmVzaE5hdmlnYXRpb25JdGVtKTsKKyAgICAg
ICAgdGhpcy5fbmF2aWdhdGlvbkJhci5hZGROYXZpZ2F0aW9uSXRlbShuZXcgV0kuRGl2aWRlck5h
dmlnYXRpb25JdGVtKTsKKworICAgICAgICB0aGlzLmFkZFN1YnZpZXcodGhpcy5fbmF2aWdhdGlv
bkJhcik7CisKKyAgICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImRpdiIpOworICAgICAgICB0aGlzLl9jb250YWluZXJFbGVtZW50LmlkID0gInBp
cGVsaW5lLWNvbnRhaW5lciI7CisgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQodGhpcy5fY29u
dGFpbmVyRWxlbWVudCk7CisgICAgfQorCisgICAgLy8gUHVibGljCisKKyAgICBnZXQgaWRlbnRp
ZmllcigpIHsgcmV0dXJuIHRoaXMuX2lkZW50aWZpZXI7IH0KKyAgICBnZXQgZGlzcGxheU5hbWUo
KSB7IHJldHVybiB0aGlzLl9kaXNwbGF5TmFtZTsgfQorCisgICAgZ2V0IHN1cHBvcnRzU2F2ZSgp
CisgICAgeworICAgICAgICByZXR1cm4gISF0aGlzLl9waXBlbGluZTsKKyAgICB9CisKKyAgICBn
ZXQgc2F2ZURhdGEoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHtjdXN0b21TYXZlSGFuZGxlcjog
KCkgPT4geyB0aGlzLl9leHBvcnRSZXN1bHQoKTsgfX07CisgICAgfQorCisgICAgZGlzcGxheVBp
cGVsaW5lKGdzdHJlYW1lclBpcGVsaW5lKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX3Njb3Bl
QmFyKSB7CisgICAgICAgICAgICB0aGlzLl9zY29wZUJhci5yZW1vdmVFdmVudExpc3RlbmVyKFdJ
LlNjb3BlQmFyLkV2ZW50LlNlbGVjdGlvbkNoYW5nZWQsIHRoaXMuX3Njb3BlQmFyU2VsZWN0aW9u
RGlkQ2hhbmdlLCB0aGlzKTsKKyAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIucmVtb3Zl
TmF2aWdhdGlvbkl0ZW0odGhpcy5fc2NvcGVCYXIpOworICAgICAgICAgICAgdGhpcy5fc2NvcGVC
YXIgPSBudWxsOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHRoaXMuX3Bhblpvb20pCisgICAg
ICAgICAgICB0aGlzLl9wYW5ab29tLmRpc3Bvc2UoKTsKKworICAgICAgICBpZiAodGhpcy5fbGFi
ZWwpCisgICAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLnJlbW92ZU5hdmlnYXRpb25JdGVt
KHRoaXMuX2xhYmVsKTsKKworICAgICAgICB0aGlzLl9waXBlbGluZSA9IGdzdHJlYW1lclBpcGVs
aW5lOworICAgICAgICBsZXQgbmFtZSA9IGdzdHJlYW1lclBpcGVsaW5lLmJpbk5hbWUgfHwgZ3N0
cmVhbWVyUGlwZWxpbmUubmFtZTsKKworICAgICAgICB0aGlzLl91cGRhdGVFeHBvcnRCdXR0b25O
YXZpZ2F0aW9uSXRlbVN0YXRlKCk7CisgICAgICAgIHRoaXMuX3VwZGF0ZUF1dG9tYXRpY1JlZnJl
c2hCdXR0b25OYXZpZ2F0aW9uSXRlbVN0YXRlKCk7CisKKyAgICAgICAgaWYgKHRoaXMuX2F1dG9V
cGRhdGVJbnRlcnZhbElkZW50aWZpZXIpIHsKKyAgICAgICAgICAgIHRoaXMuX2xhYmVsID0gbmV3
IFdJLlRleHROYXZpZ2F0aW9uSXRlbSgiZ3N0LXBpcGVsaW5lLWJpbi1uYW1lIiwgV0kuVUlTdHJp
bmcoIkRpc3BsYXlpbmcgJXMuIiwgIiIpLmZvcm1hdChuYW1lKSk7CisgICAgICAgICAgICB0aGlz
Ll9uYXZpZ2F0aW9uQmFyLmFkZE5hdmlnYXRpb25JdGVtKHRoaXMuX2xhYmVsKTsKKyAgICAgICAg
ICAgIHRoaXMuX3JlZnJlc2hTVkdFbGVtZW50KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KKworICAgICAgICB0aGlzLl9sYWJlbCA9IG5ldyBXSS5UZXh0TmF2aWdhdGlvbkl0ZW0o
ImdzdC1waXBlbGluZS1iaW4tbmFtZSIsIFdJLlVJU3RyaW5nKCJEaXNwbGF5aW5nICVzLiBBdmFp
bGFibGUgY2hpbGRyZW4gYmluczogIiwgIiIpLmZvcm1hdChuYW1lKSk7CisgICAgICAgIHRoaXMu
X25hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhpcy5fbGFiZWwpOworCisgICAgICAg
IGxldCB0YXJnZXQgPSBXSS5hc3N1bWluZ01haW5UYXJnZXQoKTsKKyAgICAgICAgdGFyZ2V0LkdT
dHJlYW1lckFnZW50LmdldEFjdGl2ZVBpcGVsaW5lQmluTmFtZXMoZ3N0cmVhbWVyUGlwZWxpbmUu
bmFtZSwgZ3N0cmVhbWVyUGlwZWxpbmUuYmluTmFtZSkudGhlbigocGF5bG9hZCkgPT4geworICAg
ICAgICAgICAgbGV0IHNjb3BlQmFySXRlbXMgPSBbXTsKKyAgICAgICAgICAgIGxldCBkZWZhdWx0
SXRlbSA9IG5ldyBXSS5TY29wZUJhckl0ZW0oImdzdC1waXBlbGluZS1zY29wZS1iYXItcGxhY2Vo
b2xkZXIiLCAiU2VsZWN0Li4uIik7CisgICAgICAgICAgICBkZWZhdWx0SXRlbS5zZWxlY3RlZCA9
IHRydWU7CisgICAgICAgICAgICBzY29wZUJhckl0ZW1zLnB1c2goZGVmYXVsdEl0ZW0pOworCisg
ICAgICAgICAgICBsZXQgc2NvcGVCYXJJdGVtID0gbmV3IFdJLlNjb3BlQmFySXRlbShnc3RyZWFt
ZXJQaXBlbGluZS5wYXJlbnRCaW5OYW1lLCAiUGFyZW50OiAiICsgZ3N0cmVhbWVyUGlwZWxpbmUu
cGFyZW50QmluTmFtZSk7CisgICAgICAgICAgICBzY29wZUJhckl0ZW0uc2VsZWN0ZWQgPSBmYWxz
ZTsKKyAgICAgICAgICAgIHNjb3BlQmFySXRlbXMucHVzaChzY29wZUJhckl0ZW0pOworCisgICAg
ICAgICAgICBmb3IgKGxldCBiaW5OYW1lIG9mIHBheWxvYWQuYmluTmFtZXMpIHsKKyAgICAgICAg
ICAgICAgICBsZXQgaW5uZXJTY29wZUJhckl0ZW0gPSBuZXcgV0kuU2NvcGVCYXJJdGVtKGJpbk5h
bWUsIGJpbk5hbWUpOworICAgICAgICAgICAgICAgIGlubmVyU2NvcGVCYXJJdGVtLnNlbGVjdGVk
ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgaW5uZXJTY29wZUJhckl0ZW0uX19wYXJlbnQgPSBn
c3RyZWFtZXJQaXBlbGluZS5iaW5OYW1lOworICAgICAgICAgICAgICAgIHNjb3BlQmFySXRlbXMu
cHVzaChpbm5lclNjb3BlQmFySXRlbSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRo
aXMuX3Njb3BlQmFyID0gbmV3IFdJLlNjb3BlQmFyKCJnc3QtcGlwZWxpbmUtc2NvcGUtYmFyIiwg
c2NvcGVCYXJJdGVtcywgbnVsbCwgdHJ1ZSk7CisgICAgICAgICAgICB0aGlzLl9zY29wZUJhci5h
ZGRFdmVudExpc3RlbmVyKFdJLlNjb3BlQmFyLkV2ZW50LlNlbGVjdGlvbkNoYW5nZWQsIHRoaXMu
X3Njb3BlQmFyU2VsZWN0aW9uRGlkQ2hhbmdlLCB0aGlzKTsKKyAgICAgICAgICAgIHRoaXMuX25h
dmlnYXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhpcy5fc2NvcGVCYXIpOworCisgICAgICAg
ICAgICB0aGlzLl9yZWZyZXNoU1ZHRWxlbWVudCgpOworICAgICAgICB9KS5jYXRjaCgoZXJyb3Ip
ID0+IHsKKyAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIkNvdWxkIG5vdCBkdW1wIGxpc3QgcGlw
ZWxpbmUgYmluczogIiwgZXJyb3IpOworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBzdGF0aWMg
cmVuZGVyU1ZHRWxlbWVudChncmFwaFJlcHJlc2VudGF0aW9uKQorICAgIHsKKyAgICAgICAgbGV0
IHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTsKKyAgICAgICAgcmV0dXJuIHBhcnNlci5wYXJzZUZy
b21TdHJpbmcoZ3JhcGhSZXByZXNlbnRhdGlvbiwgImltYWdlL3N2Zyt4bWwiKTsKKyAgICB9CisK
KyAgICAvLyBQcml2YXRlCisKKyAgICBfcmVmcmVzaFNWR0VsZW1lbnQoKQorICAgIHsKKyAgICAg
ICAgbGV0IHByZXZpb3VzRWxlbWVudCA9IHRoaXMuX3N2Z0VsZW1lbnQ7CisgICAgICAgIHRoaXMu
X3N2Z0VsZW1lbnQgPSB0aGlzLl9waXBlbGluZS5zdmdFbGVtZW50OworICAgICAgICBpZiAocHJl
dmlvdXNFbGVtZW50KQorICAgICAgICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5yZXBsYWNl
Q2hpbGQodGhpcy5fc3ZnRWxlbWVudCwgcHJldmlvdXNFbGVtZW50KTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9zdmdF
bGVtZW50KTsKKworICAgICAgICBsZXQgZ3JhcGhFbGVtZW50ID0gdGhpcy5fc3ZnRWxlbWVudC5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgiZyIpWzBdOworICAgICAgICB0aGlzLl9wYW5ab29tID0gcGFu
em9vbShncmFwaEVsZW1lbnQsIHsKKyAgICAgICAgICAgIGJlZm9yZVdoZWVsOiBmdW5jdGlvbihl
dmVudCkgeworICAgICAgICAgICAgICAgIC8vIEFsbG93IHdoZWVsLXpvb20gb25seSBpZiBhbHRL
ZXkgaXMgZG93bi4gT3RoZXJ3aXNlIC0gaWdub3JlCisgICAgICAgICAgICAgICAgbGV0IHNob3Vs
ZElnbm9yZSA9ICFldmVudC5hbHRLZXk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHNob3VsZEln
bm9yZTsKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBhdXRvY2VudGVyOiBmYWxzZSwKKyAg
ICAgICAgICAgIHNtb290aFNjcm9sbDogZmFsc2UKKyAgICAgICAgfSk7CisKKyAgICAgICAgdGhp
cy5fcGFuWm9vbS5vbigidHJhbnNmb3JtIiwgdGhpcy5fdXBkYXRlUGFuWm9vbVBhcmFtZXRlcnMu
YmluZCh0aGlzKSk7CisKKyAgICAgICAgaWYgKHRoaXMuX3Bhblpvb21QYXJhbWV0ZXJzICYmICh0
aGlzLl9hdXRvVXBkYXRlSW50ZXJ2YWxJZGVudGlmaWVyICE9PSB1bmRlZmluZWQpKQorICAgICAg
ICAgICAgdGhpcy5fcGFuWm9vbS5tb3ZlVG8odGhpcy5fcGFuWm9vbVBhcmFtZXRlcnMueCwgdGhp
cy5fcGFuWm9vbVBhcmFtZXRlcnMueSk7CisgICAgfQorCisgICAgX3VwZGF0ZVBhblpvb21QYXJh
bWV0ZXJzKGV2ZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5fcGFuWm9vbVBhcmFtZXRlcnMgPSB0
aGlzLl9wYW5ab29tLmdldFRyYW5zZm9ybSgpOworICAgIH0KKworICAgIGFzeW5jIF9kaXNwbGF5
QmluKGJpbk5hbWUsIHBhcmVudEJpbk5hbWUpCisgICAgeworICAgICAgICBsZXQgYWdlbnQ7Cisg
ICAgICAgIGxldCB0YXJnZXQgPSBXSS5hc3N1bWluZ01haW5UYXJnZXQoKTsKKyAgICAgICAgaWYg
KHRhcmdldC5oYXNEb21haW4oIkdTdHJlYW1lciIpKQorICAgICAgICAgICAgYWdlbnQgPSB0YXJn
ZXQuR1N0cmVhbWVyQWdlbnQ7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICB0aGlzLl9jdXJyZW50QmluTmFtZSA9IGJpbk5hbWU7CisgICAgICAgIHRoaXMuX2N1
cnJlbnRQYXJlbnRCaW5OYW1lID0gcGFyZW50QmluTmFtZTsKKyAgICAgICAgbGV0IHBpcGVsaW5l
TmFtZSA9IHRoaXMuX3BpcGVsaW5lLm5hbWU7CisgICAgICAgIGFnZW50LmR1bXBBY3RpdmVQaXBl
bGluZShwaXBlbGluZU5hbWUsIGJpbk5hbWUpLnRoZW4oKHBheWxvYWQpID0+IHsKKyAgICAgICAg
ICAgIGxldCBkb2N1bWVudEZyYWdtZW50ID0gR1N0cmVhbWVyVmlldy5yZW5kZXJTVkdFbGVtZW50
KHBheWxvYWQucGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0aW9uKTsKKyAgICAgICAgICAgIGxldCBy
ZXByZXNlbnRlZE9iamVjdCA9IG5ldyBXSS5HU3RyZWFtZXJQaXBlbGluZShwaXBlbGluZU5hbWUs
IHBhcmVudEJpbk5hbWUsIGJpbk5hbWUsIHBheWxvYWQucGlwZWxpbmVHcmFwaFJlcHJlc2VudGF0
aW9uLCBkb2N1bWVudEZyYWdtZW50KTsKKyAgICAgICAgICAgIFdJLnNob3dSZXByZXNlbnRlZE9i
amVjdChyZXByZXNlbnRlZE9iamVjdCk7CisgICAgICAgIH0pOworICAgIH0KKworICAgIF9zY29w
ZUJhclNlbGVjdGlvbkRpZENoYW5nZShldmVudCkKKyAgICB7CisgICAgICAgIGZvciAobGV0IGl0
ZW0gb2YgZXZlbnQudGFyZ2V0Lml0ZW1zKSB7CisgICAgICAgICAgICBpZiAoaXRlbS5pZCAhPT0g
ImdzdC1waXBlbGluZS1zY29wZS1iYXItcGxhY2Vob2xkZXIiICYmIGl0ZW0uc2VsZWN0ZWQpIHsK
KyAgICAgICAgICAgICAgICBsZXQgYmluTmFtZSA9IGl0ZW0uaWQ7CisgICAgICAgICAgICAgICAg
bGV0IHBhcmVudEJpbk5hbWUgPSBpdGVtLl9fcGFyZW50IHx8ICIiOworICAgICAgICAgICAgICAg
IHRoaXMuX2Rpc3BsYXlCaW4oYmluTmFtZSwgcGFyZW50QmluTmFtZSkuY2F0Y2goKGVycm9yKSA9
PiB7CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIkNvdWxkIG5vdCBkdW1wIHBp
cGVsaW5lOiAiLCBlcnJvcik7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgX2V4cG9ydFJl
c3VsdCgpCisgICAgeworICAgICAgICBXSS5GaWxlVXRpbGl0aWVzLnNhdmUodGhpcy5fcGlwZWxp
bmUuc2F2ZURhdGEpOworICAgIH0KKworICAgIF91cGRhdGVFeHBvcnRCdXR0b25OYXZpZ2F0aW9u
SXRlbVN0YXRlKCkKKyAgICB7CisgICAgICAgIHRoaXMuX2V4cG9ydEJ1dHRvbk5hdmlnYXRpb25J
dGVtLmVuYWJsZWQgPSAhIXRoaXMuX3BpcGVsaW5lOworICAgIH0KKworICAgIF9oYW5kbGVFeHBv
cnRCdXR0b25OYXZpZ2F0aW9uSXRlbUNsaWNrZWQoZXZlbnQpCisgICAgeworICAgICAgICB0aGlz
Ll9leHBvcnRSZXN1bHQoKTsKKyAgICB9CisKKyAgICBfdXBkYXRlQXV0b21hdGljUmVmcmVzaEJ1
dHRvbk5hdmlnYXRpb25JdGVtU3RhdGUoKQorICAgIHsKKyAgICAgICAgdGhpcy5fYXV0b21hdGlj
UmVmcmVzaE5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IHRoaXMuX2F1dG9VcGRhdGVJbnRlcnZh
bElkZW50aWZpZXIgIT09IHVuZGVmaW5lZDsKKyAgICB9CisKKyAgICBfdXBkYXRlR3JhcGgoKQor
ICAgIHsKKyAgICAgICAgdGhpcy5fZGlzcGxheUJpbih0aGlzLl9jdXJyZW50QmluTmFtZSwgdGhp
cy5fY3VycmVudFBhcmVudEJpbk5hbWUpLmNhdGNoKChlcnJvcikgPT4geworICAgICAgICAgICAg
d2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5fYXV0b1VwZGF0ZUludGVydmFsSWRlbnRpZmllcik7
CisgICAgICAgICAgICB0aGlzLl9hdXRvVXBkYXRlSW50ZXJ2YWxJZGVudGlmaWVyID0gdW5kZWZp
bmVkOworICAgICAgICAgICAgdGhpcy5fdXBkYXRlQXV0b21hdGljUmVmcmVzaEJ1dHRvbk5hdmln
YXRpb25JdGVtU3RhdGUoKTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAgX2hhbmRsZUF1dG9t
YXRpY1JlZnJlc2hCdXR0b25OYXZpZ2F0aW9uSXRlbUNsaWNrZWQoZXZlbnQpCisgICAgeworICAg
ICAgICBjb25zdCBhdXRvVXBkYXRlSW50ZXJ2YWwgPSAxMDAwOworICAgICAgICBpZiAodGhpcy5f
YXV0b1VwZGF0ZUludGVydmFsSWRlbnRpZmllciA9PT0gdW5kZWZpbmVkKQorICAgICAgICAgICAg
dGhpcy5fYXV0b1VwZGF0ZUludGVydmFsSWRlbnRpZmllciA9IHNldEludGVydmFsKHRoaXMuX3Vw
ZGF0ZUdyYXBoLmJpbmQodGhpcyksIGF1dG9VcGRhdGVJbnRlcnZhbCk7CisgICAgICAgIGVsc2Ug
eworICAgICAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5fYXV0b1VwZGF0ZUludGVy
dmFsSWRlbnRpZmllcik7CisgICAgICAgICAgICB0aGlzLl9hdXRvVXBkYXRlSW50ZXJ2YWxJZGVu
dGlmaWVyID0gdW5kZWZpbmVkOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5fdXBkYXRlQXV0
b21hdGljUmVmcmVzaEJ1dHRvbk5hdmlnYXRpb25JdGVtU3RhdGUoKTsKKyAgICB9Cit9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9JbnNwZWN0b3JHUmVzb3VyY2VzLmNtYWtlIGIvU291cmNl
L1dlYktpdC9JbnNwZWN0b3JHUmVzb3VyY2VzLmNtYWtlCmluZGV4IDY3NGI1ZWYwYmU0YmViMmEy
ZTgxYjFiY2U5ODQ3ODIyYmQ0YjQ4MjcuLjM4MmFkMmEzODQ4ZDUzNmFlZjZjMDdhYTJlNWViM2Y3
YTUwNzUzY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvSW5zcGVjdG9yR1Jlc291cmNlcy5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L0luc3BlY3RvckdSZXNvdXJjZXMuY21ha2UKQEAgLTks
NiArOSw3IEBAIG1hY3JvKFdFQktJVF9CVUlMRF9JTlNQRUNUT1JfR1JFU09VUkNFUyBfZGVyaXZl
ZF9zb3VyY2VzX2RpcikKICAgICAgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9Db2RlTWlycm9yLyouY3NzCiAgICAgICAg
ICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
RXh0ZXJuYWwvQ29kZU1pcnJvci8qLmpzCiAgICAgICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvRXNwcmltYS8qLmpzCisg
ICAgICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvRXh0ZXJuYWwvUGFuWm9vbS5qcy8qLmpzCiAgICAgICAgICR7Q01BS0VfU09VUkNFX0RJ
Un0vU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvdGhyZWUuanMv
Ki5qcwogICAgICAgICAke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy8qLmpzCiAgICAgICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvKi5qcwpAQCAtNjAsMTMg
KzYxLDE5IEBAIG1hY3JvKFdFQktJVF9CVUlMRF9JTlNQRUNUT1JfR1JFU09VUkNFUyBfZGVyaXZl
ZF9zb3VyY2VzX2RpcikKICAgICAgICAgZW5kaWYgKCkKICAgICBlbmRpZiAoKQogCisgICAgaWYg
KFVTRV9HU1RSRUFNRVIpCisgICAgICAgIHNldChDT01CSU5FX0dTVFJFQU1FUl9SRVNPVVJDRVMg
WUVTKQorICAgIGVsc2UgKCkKKyAgICAgICAgc2V0KENPTUJJTkVfR1NUUkVBTUVSX1JFU09VUkNF
UyBOTykKKyAgICBlbmRpZiAoKQorCiAgICAgYWRkX2N1c3RvbV9jb21tYW5kKAogICAgICAgICBP
VVRQVVQgJHtDTUFLRV9CSU5BUllfRElSfS9pbnNwZWN0b3ItcmVzb3VyY2VzLnN0YW1wCiAgICAg
ICAgIERFUEVORFMgJHtJbnNwZWN0b3JGaWxlc0RlcGVuZGVuY2llc30KICAgICAgICAgICAgICAg
ICAke0luc3BlY3RvclJlc291cmNlU2NyaXB0c30KICAgICAgICAgICAgICAgICAke0RFUklWRURf
U09VUkNFU19XRUJJTlNQRUNUT1JVSV9ESVJ9L1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVj
dG9yQmFja2VuZENvbW1hbmRzLmpzCiAgICAgICAgIENPTU1BTkQgY3AgJHtERVJJVkVEX1NPVVJD
RVNfV0VCSU5TUEVDVE9SVUlfRElSfS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0luc3BlY3RvckJh
Y2tlbmRDb21tYW5kcy5qcyAke0ZPUldBUkRJTkdfSEVBREVSU19ESVJ9L0phdmFTY3JpcHRDb3Jl
L1NjcmlwdHMKLSAgICAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIGVudiAiREVSSVZF
RF9TT1VSQ0VTX0RJUj0ke0RFUklWRURfU09VUkNFU19XRUJJTlNQRUNUT1JVSV9ESVJ9IiAiU1JD
Uk9PVD0ke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSSIgIkpBVkFTQ1JJ
UFRDT1JFX1BSSVZBVEVfSEVBREVSU19ESVI9JHtGT1JXQVJESU5HX0hFQURFUlNfRElSfS9KYXZh
U2NyaXB0Q29yZS9TY3JpcHRzIiAiVEFSR0VUX0JVSUxEX0RJUj0ke19kZXJpdmVkX3NvdXJjZXNf
ZGlyfS9JbnNwZWN0b3JSZXNvdXJjZXMiICJVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BB
VEg9V2ViSW5zcGVjdG9yVUkiICJDT01CSU5FX0lOU1BFQ1RPUl9SRVNPVVJDRVM9JHtDT01CSU5F
X0lOU1BFQ1RPUl9SRVNPVVJDRVN9IiAiQ09NQklORV9URVNUX1JFU09VUkNFUz0ke0NPTUJJTkVf
VEVTVF9SRVNPVVJDRVN9IiBQWVRIT049JHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtDTUFLRV9TT1VS
Q0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvU2NyaXB0cy9jb3B5LXVzZXItaW50ZXJmYWNl
LXJlc291cmNlcy5wbAorICAgICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgZW52ICJE
RVJJVkVEX1NPVVJDRVNfRElSPSR7REVSSVZFRF9TT1VSQ0VTX1dFQklOU1BFQ1RPUlVJX0RJUn0i
ICJTUkNST09UPSR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkluc3BlY3RvclVJIiAiSkFW
QVNDUklQVENPUkVfUFJJVkFURV9IRUFERVJTX0RJUj0ke0ZPUldBUkRJTkdfSEVBREVSU19ESVJ9
L0phdmFTY3JpcHRDb3JlL1NjcmlwdHMiICJUQVJHRVRfQlVJTERfRElSPSR7X2Rlcml2ZWRfc291
cmNlc19kaXJ9L0luc3BlY3RvclJlc291cmNlcyIgIlVOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xE
RVJfUEFUSD1XZWJJbnNwZWN0b3JVSSIgIkNPTUJJTkVfR1NUUkVBTUVSX1JFU09VUkNFUz0ke0NP
TUJJTkVfR1NUUkVBTUVSX1JFU09VUkNFU30iICJDT01CSU5FX0lOU1BFQ1RPUl9SRVNPVVJDRVM9
JHtDT01CSU5FX0lOU1BFQ1RPUl9SRVNPVVJDRVN9IiAiQ09NQklORV9URVNUX1JFU09VUkNFUz0k
e0NPTUJJTkVfVEVTVF9SRVNPVVJDRVN9IiBQWVRIT049JHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtD
TUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvU2NyaXB0cy9jb3B5LXVzZXIt
aW50ZXJmYWNlLXJlc291cmNlcy5wbAogICAgICAgICBDT01NQU5EIG1rZGlyIC1wICR7X2Rlcml2
ZWRfc291cmNlc19kaXJ9L0luc3BlY3RvclJlc291cmNlcy9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6
YXRpb25zL2VuLmxwcm9qCiAgICAgICAgIENPTU1BTkQgY3AgJHtDTUFLRV9TT1VSQ0VfRElSfS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJp
bmdzLmpzICR7X2Rlcml2ZWRfc291cmNlc19kaXJ9L0luc3BlY3RvclJlc291cmNlcy9XZWJJbnNw
ZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKICAgICAg
ICAgQ09NTUFORCB0b3VjaCAke0NNQUtFX0JJTkFSWV9ESVJ9L2luc3BlY3Rvci1yZXNvdXJjZXMu
c3RhbXAK
</data>

          </attachment>
      

    </bug>

</bugzilla>